From xen-devel-bounces@lists.xenproject.org Thu Dec 01 00:39:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 00:39:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450164.707386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0XbA-0001ol-3g; Thu, 01 Dec 2022 00:38:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450164.707386; Thu, 01 Dec 2022 00:38:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0XbA-0001oe-0f; Thu, 01 Dec 2022 00:38:44 +0000
Received: by outflank-mailman (input) for mailman id 450164;
 Thu, 01 Dec 2022 00:38:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DAsL=37=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p0Xb8-0001oY-DK
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 00:38:42 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7fa2e7ea-7110-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 01:38:39 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 7C27BB81D6A;
 Thu,  1 Dec 2022 00:38:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0DCE6C433C1;
 Thu,  1 Dec 2022 00:38:35 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7fa2e7ea-7110-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669855117;
	bh=tbykheXvHD9FudovaL6UBj4GcbUM+SAWX3wrd0sWneY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LSeg9pJCTsvekQoJrPCGihYQ//xXDJIztkqbgFQd/h6VPHe9DEfg4LTL2AOpeY1uG
	 KJMK8tNuRrc9jv1IsjIJA/zoihb2j+GzRYQCdHqrbUq4zHv6WCWc6ld2HN2V+uECwT
	 ojgBLnw9hfs4bDOiIVhdzrt7Ca2KFQDxKlRUWCc7kUx2NJK3RbJvxHfIUCoX7Vui7K
	 qkNRl4BOEZ7HFE/stdjCMadexKQRa8mCIgc8HFuOPjQdYEFCRYgLMu8Qca4j+hVzh4
	 UIk/OwaJrpj96ishPm1AOyzxgycunx1Dtn6HQOzfYxIX27o9QCbD7nE5JhQXrYrhhD
	 j96bzlv2qHzEg==
Date: Wed, 30 Nov 2022 16:38:34 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <bertrand.marquis@arm.com>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v5 1/3] automation: Create Yocto docker images
In-Reply-To: <18861c0c9c547959900532e38df11b2d67f0a1cc.1669810269.git.bertrand.marquis@arm.com>
Message-ID: <alpine.DEB.2.22.394.2211301637210.4039@ubuntu-linux-20-04-desktop>
References: <cover.1669810269.git.bertrand.marquis@arm.com> <18861c0c9c547959900532e38df11b2d67f0a1cc.1669810269.git.bertrand.marquis@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 30 Nov 2022, Bertrand Marquis wrote:
> Add containers suitable to run yocto kirkstone build based on ubuntu
> 22.04. It contains all packages required by Yocto and a checkout of the
> layers required to build Xen with Yocto.
> 
> Add a generic docker image template to be used to automatically generate
> docker files for different configurations:
> - specific yocto version
> - different targets (qemu arm, arm64 and x86)
> - different host platforms (x86 or arm64)
> 
> During a call to 'make all', only the images for the host platform we
> run it on in the CI is generated.
> If needed, images for an other host platform can be generated manually
> by calling the right make target (see make help).
> 
> Add a build script to build and run xen on qemu using Yocto.
> The script supports arm32, arm64 and x86_64 and checks that dom0 is
> properly booting. At this stage this does not run any guest on top of
> dom0. The script is to be executed in one of the docker images to build
> and run a system using a Xen source tree.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
> Changes in v5:
> - typo fixes
> - add INTERMEDIATE to remove intermediate dockerfile
> - use container architecture
> - use full words in foreach loops
> - fix shellcheck findings in build-yocto.sh
> - rebase on sstabellini next branch
> Changes in v4:
> - Rework the system to have one dockerfile template from which make will
> generate the required dockerfiles for the wanted configuration
> - add support for different host architectures
> - Merge the generation system into one single dockerfile
> - Merge patches 1 and 2 in a single patch
> - Introduce CONTAINERS_EXTRA to have extra containers not built by
> default (for those not used by CI but useful to users)
> Changes in v3:
> - limit number of jobs in yocto by default to 8 and add --num-jobs
> option to the script to set a custom number of jobs
> - do not copy anymore the build-yocto.sh script inside the main image so
> that the current one in the repository is used when running
> Changes in v2:
> - add a --dump-log command line option to build-yocto.sh script to dump
> the logs if an error occurs.
> Changes in v1:
> - add --image command line argument to build-yocto.sh to allow building
> something different than xen-image-minimal.
> - modify dockerfile to have one layer per line and make it easier to add
> other. I kept the for loop to keep the number of docker steps lower
> - update commit message to warn that no guest are tested.
> - fix build-yocto script to properly return with an error if expect
> script ends up in timeout or EOF.
> ---
>  automation/build/Makefile                  |  14 +-
>  automation/build/yocto/build-yocto.sh      | 351 +++++++++++++++++++++
>  automation/build/yocto/yocto.dockerfile.in | 114 +++++++
>  automation/build/yocto/yocto.inc           |  42 +++
>  4 files changed, 519 insertions(+), 2 deletions(-)
>  create mode 100755 automation/build/yocto/build-yocto.sh
>  create mode 100644 automation/build/yocto/yocto.dockerfile.in
>  create mode 100644 automation/build/yocto/yocto.inc
> 
> diff --git a/automation/build/Makefile b/automation/build/Makefile
> index a4b2b85178cf..72a5335baec1 100644
> --- a/automation/build/Makefile
> +++ b/automation/build/Makefile
> @@ -1,13 +1,18 @@
>  
>  # the base of where these containers will appear
>  REGISTRY := registry.gitlab.com/xen-project/xen
> -CONTAINERS = $(subst .dockerfile,,$(wildcard */*.dockerfile))
> +CONTAINERS = $(filter-out yocto/%,$(subst .dockerfile,,$(wildcard */*.dockerfile)))
> +CONTAINERS_EXTRA =
>  DOCKER_CMD ?= docker
>  
> +include yocto/yocto.inc
> +
>  help:
>  	@echo "Builds containers for building Xen based on different distros"
>  	@echo "To build one run 'make DISTRO/VERSION'. Available containers:"
>  	@$(foreach file,$(sort $(CONTAINERS)),echo ${file};)
> +	@echo "Extra containers (not built using make all):"
> +	@$(foreach file,$(sort $(CONTAINERS_EXTRA)),echo ${file};)
>  	@echo "To push container builds, set the env var PUSH"
>  
>  %: %.dockerfile ## Builds containers
> @@ -16,5 +21,10 @@ help:
>  		$(DOCKER_CMD) push $(REGISTRY)/$(@D):$(@F); \
>  	fi
>  
> -.PHONY: all
> +.PHONY: all clean
>  all: $(CONTAINERS)
> +
> +# Remove generated dockerfiles for yocto
> +clean:
> +	rm -f yocto/*.dockerfiles
> +
> diff --git a/automation/build/yocto/build-yocto.sh b/automation/build/yocto/build-yocto.sh
> new file mode 100755
> index 000000000000..f42fdf72d964
> --- /dev/null
> +++ b/automation/build/yocto/build-yocto.sh
> @@ -0,0 +1,351 @@
> +#!/bin/bash
> +#
> +# Yocto meta virtualization build and run script
> +#
> +# This script is building Yocto xen-image-minimal for qemu targets and run
> +# them using runqemu inside yocto to check that dom0 is booting properly.
> +# The build is using a local xen source tree so that specific patches can be
> +# tested.
> +# In order to optimize the build time, a build cache is used so that only xen
> +# packages and its dependencies are rebuilt (qemu and final image mainly).
> +#
> +# get command error even when piped.
> +set -o pipefail
> +
> +# Directories
> +YOCTODIR="$HOME/yocto-layers"
> +CACHEDIR="$HOME/yocto-cache"
> +LOGDIR="$HOME/logs"
> +XENDIR="$HOME/xen"
> +BUILDDIR="$HOME/build"
> +
> +# what yocto bsp we support
> +TARGET_SUPPORTED="qemuarm qemuarm64 qemux86-64"
> +VERBOSE="n"
> +TARGETLIST=""
> +BUILDJOBS="8"
> +
> +# actions to do
> +do_clean="n"
> +do_build="y"
> +do_run="y"
> +do_localsrc="n"
> +do_dump="n"
> +build_result=0
> +
> +# layers to include in the project
> +build_layerlist="poky/meta poky/meta-poky poky/meta-yocto-bsp \
> +                 meta-openembedded/meta-oe meta-openembedded/meta-python \
> +                 meta-openembedded/meta-filesystems \
> +                 meta-openembedded/meta-networking meta-virtualization"
> +
> +# yocto image to build
> +build_image="xen-image-minimal"
> +
> +function print_progress() {
> +    echo -n "$(date +%T) $*"
> +}
> +
> +function run_task() {
> +    local task_name="$1"
> +    local task_target="$2"
> +
> +    task_log="${task_name//project_}-${task_target}"
> +
> +    mkdir -p "${LOGDIR}"
> +    print_progress
> +    echo -n "${task_name//project_} ${task_target}: "
> +    if [ "${VERBOSE}" = "n" ]; then
> +        "$@" > "${LOGDIR}/${task_log}.log" 2>&1
> +    else
> +        "$@" 2>&1 | tee "${LOGDIR}/${task_log}.log"
> +    fi
> +
> +    if [ ${?} -ne 0 ]; then
> +        echo "Error"
> +        build_result=$((build_result+1))
> +        if [ "${do_dump}" = "y" ]; then
> +            echo
> +            echo "############ LOGS-START ############"
> +            cat "${LOGDIR}/${task_log}.log"
> +            echo "############  LOGS-END  ############"
> +            echo
> +        fi
> +        return 1
> +    else
> +        echo "OK"
> +        return 0
> +    fi
> +}
> +
> +function project_create() {
> +    target="${1:?}"
> +    destdir="${BUILDDIR}/${target}"
> +
> +    (
> +        # init yocto project
> +        source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}"
> +
> +        # add needed layers
> +        for layer in ${build_layerlist}; do
> +            bitbake-layers add-layer "${YOCTODIR}/${layer}" || exit 1
> +        done
> +    ) || return 1
> +
> +    # customize project configuration
> +    cat <<EOF >> "${destdir}/conf/local.conf"
> +# Yocto BSP
> +MACHINE = "${target}"
> +
> +# Use local cache to reuse previous builds results
> +SSTATE_DIR = "${CACHEDIR}/sstate-cache"
> +DL_DIR = "${CACHEDIR}/downloads"
> +
> +# Enable xen and virtualization
> +DISTRO_FEATURES = " virtualization xen ipv4"
> +
> +# Speed up run by not generating ssh host keys
> +IMAGE_INSTALL:append:pn-xen-image-minimal = " ssh-pregen-hostkeys"
> +
> +# Save some disk space
> +INHERIT += "rm_work"
> +
> +# Reduce number of jobs
> +BB_NUMBER_THREADS="${BUILDJOBS}"
> +
> +EOF
> +
> +    if [ "${do_localsrc}" = "y" ]; then
> +        XENVERS=$(grep -e "^XEN_REL" \
> +            "${YOCTODIR}"/meta-virtualization/recipes-extended/xen/xen_*.bb \
> +            2> /dev/null | tr -d ' ' | tr -d '?' | tr -d '"' \
> +            | sed -e "s/.*=//" | sort -V | tail -n 1)
> +
> +        XENBASE=$(dirname "$(realpath -m "${XENDIR}")")
> +        XENSUB=$(basename "$(realpath -m "${XENDIR}")")
> +
> +        cat <<EOF >> "${destdir}/conf/local.conf"
> +# Use local sources for xen and xen-tools
> +FILESEXTRAPATHS:prepend:pn-xen := "${XENBASE}:"
> +FILESEXTRAPATHS:prepend:pn-xen-tools := "${XENBASE}:"
> +
> +SRC_URI:pn-xen = "file://${XENSUB}/;subdir=local-xen/"
> +SRC_URI:pn-xen-tools = "file://${XENSUB}/;subdir=local-xen/"
> +
> +PREFERRED_VERSION:pn-xen = "${XENVERS}%"
> +PREFERRED_VERSION:pn-xen-tools = "${XENVERS}%"
> +
> +S:pn-xen = "\${WORKDIR}/local-xen/${XENSUB}"
> +S:pn-xen-tools = "\${WORKDIR}/local-xen/${XENSUB}"
> +
> +SRCREV:pn-xen = "\${AUTOREV}"
> +SRCREV:pn-xen-tools = "\${AUTOREV}"
> +
> +SRCPV:pn-xen = "1"
> +SRCPV:pn-xen-tools = "1"
> +
> +# Disable all QA errors as the recipe is not up to date with changes in Xen
> +# when we use local sources
> +ERROR_QA:pn-xen = "arch"
> +ERROR_QA:pn-xen-tools = "arch"
> +
> +EOF
> +    fi
> +}
> +
> +function project_build() {
> +    target="${1:?}"
> +    destdir="${BUILDDIR}/${target}"
> +
> +    (
> +        source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}"
> +
> +        bitbake "${build_image}" || exit 1
> +    ) || return 1
> +}
> +
> +function project_clean() {
> +    target="${1:?}"
> +    destdir="${BUILDDIR}/${target}"
> +
> +    rm -rf "${destdir}"
> +}
> +
> +function project_run() {
> +    target="${1:?}"
> +    destdir="${BUILDDIR}/${target}"
> +    (
> +        source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}" > /dev/null 2>&1
> +
> +        /usr/bin/expect <<EOF
> +set timeout 100
> +spawn bash -c "runqemu serialstdio nographic slirp"
> +
> +expect_after {
> +    -re "(.*)\r" {
> +        exp_continue
> +    }
> +    timeout {send_user "ERROR-Timeout!\n"; exit 1}
> +    eof {send_user "ERROR-EOF!\n"; exit 1}
> +}
> +
> +# wait initial login
> +expect -re ".* login: "
> +send "root\r"
> +expect -re "root@.*# "
> +
> +EOF
> +    exit $?
> +    ) || return 1
> +}
> +
> +function help() {
> +    cat <<EOF
> +Usage: ${0} [TARGET1] [TARGET2]
> +
> +This script is build the yocto xen-image-minimal for different qemu targets
> +and is running it after.
> +Without any target specified, all supported targets are done.
> +
> +Options:
> +  -h, --help       Print this help
> +  -v, --verbose    Verbose build
> +  --list-target    List supported targets
> +  --clean          Clean existing project before starting
> +  --no-build       Do not build (to run an already built project)
> +  --no-run         Do not run
> +  --num-jobs=NUM   Define the number of parallel jobs in Yocto.
> +                   Default: ${BUILDJOBS}
> +  --dump-log       On error, dump the logs on the console
> +  --image=IMG      Yocto image or package to build
> +                   Default: xen-image-minimal
> +  --xen-dir=DIR    path to xen hypervisor source tree
> +                   if not provide, normal yocto version of xen is built
> +                   Default: ${XENDIR}
> +  --out-dir=DIR    directory where to create the projectss
> +                   Default: ${BUILDDIR}
> +  --log-dir=DIR    directory to store logs
> +                   Default: ${LOGDIR}
> +  --cache-dir=DIR  directory where to take and store build cache
> +                   Default: ${CACHEDIR}
> +  --layer-dir=DIR  directory containing the checkout of yocto layers
> +                   Default: ${YOCTODIR}
> +EOF
> +}
> +
> +for OPTION in "$@"
> +do
> +    case ${OPTION} in
> +        -h|--help)
> +            help
> +            exit 0
> +            ;;
> +        -v|--verbose)
> +            VERBOSE="y"
> +            ;;
> +        --list-targets)
> +            echo "${TARGET_SUPPORTED}"
> +            exit 0
> +            ;;
> +        --clean)
> +            do_clean="y"
> +            ;;
> +        --no-build)
> +            do_build="n"
> +            ;;
> +        --no-run)
> +            do_run="n"
> +            ;;
> +        --dump-log)
> +            do_dump="y"
> +            ;;
> +        --num-jobs=*)
> +            BUILDJOBS="${OPTION#*=}"
> +            ;;
> +        --image=*)
> +            build_image="${OPTION#*=}"
> +            ;;
> +        --xen-dir=*)
> +            XENDIR="${OPTION#*=}"
> +            if [ ! -e "${XENDIR}/xen/Makefile" ]; then
> +                echo "No Xen source tree in ${XENDIR}"
> +                exit 1
> +            fi
> +            do_localsrc="y"
> +            ;;
> +        --out-dir=*)
> +            BUILDDIR="${OPTION#*=}"
> +            ;;
> +        --log-dir=*)
> +            LOGDIR="${OPTION#*=}"
> +            ;;
> +        --cache-dir=*)
> +            CACHEDIR="${OPTION#*=}"
> +            ;;
> +        --layer-dir=*)
> +            YOCTODIR="${OPTION#*=}"
> +            ;;
> +        --*)
> +            echo "Invalid option ${OPTION}"
> +            help
> +            exit 1
> +            ;;
> +        *)
> +            if echo "${TARGET_SUPPORTED}" | grep -q -w "${OPTION}"; then
> +                TARGETLIST="${TARGETLIST} ${OPTION}"
> +            else
> +                echo "Unsupported target ${OPTION}"
> +                exit 1
> +            fi
> +            ;;
> +    esac
> +done
> +
> +# if no target is specified build all targets
> +if [ -z "${TARGETLIST}" ]; then
> +    TARGETLIST="${TARGET_SUPPORTED}"
> +fi
> +
> +mkdir -p "${CACHEDIR}"
> +mkdir -p "${LOGDIR}"
> +mkdir -p "${BUILDDIR}"
> +
> +# Make sure we have an absolute path
> +YOCTODIR=$(realpath -m "${YOCTODIR}")
> +CACHEDIR=$(realpath -m "${CACHEDIR}")
> +BUILDDIR=$(realpath -m "${BUILDDIR}")
> +LOGDIR=$(realpath -m "${LOGDIR}")
> +if [ "${do_localsrc}" = "y" ]; then
> +    XENDIR=$(realpath -m "${XENDIR}")
> +fi
> +
> +# Check that we have all the layers we need
> +for f in ${build_layerlist}; do
> +    if [ ! -f "${YOCTODIR}/${f}/conf/layer.conf" ]; then
> +        echo "Layer ${f} missing in ${YOCTODIR}"
> +        exit 1
> +    fi
> +done
> +
> +for f in ${TARGETLIST}; do
> +    if [ "${do_clean}" = "y" ]; then
> +        run_task project_clean "${f}"
> +    fi
> +    if [ ! -f "${BUILDDIR}/${f}/conf/local.conf" ]; then
> +        run_task project_create "${f}"
> +    fi
> +    if [ -f "${BUILDDIR}/${f}/conf/local.conf" ]; then
> +        if [ "${do_build}" = "y" ]; then
> +            run_task project_build "${f}"
> +        fi
> +        if [ "${do_run}" = "y" ]; then
> +            run_task project_run "${f}"
> +        fi
> +
> +    fi
> +done
> +
> +print_progress "Build Complete (${build_result} errors)"
> +echo
> +exit ${build_result}
> +
> diff --git a/automation/build/yocto/yocto.dockerfile.in b/automation/build/yocto/yocto.dockerfile.in
> new file mode 100644
> index 000000000000..b0892d420377
> --- /dev/null
> +++ b/automation/build/yocto/yocto.dockerfile.in
> @@ -0,0 +1,114 @@
> +# Docker file to create an environment to build yocto with virtualization
> +#
> +# Arguments that can be passed during image creation using --build-arg:
> +# "host_uid=$(id -u)": to use current user uid for build user in the image
> +# "host_gid=$(id -g)": to use current user gid for build user in the image
> +# "ubuntu_version=VERS": to select the ubuntu version number
> +
> +# Use standard ubuntu minimal.
> +ARG ubuntu_version=22.04
> +From ##DOCKERPLAT##ubuntu:$ubuntu_version AS base
> +LABEL maintainer.name="The Xen Project " \
> +      maintainer.email="xen-devel@lists.xenproject.org"
> +
> +ENV DEBIAN_FRONTEND=noninteractive
> +
> +# Install minimal ubuntu requirements for yocto and other tools we need.
> +# See https://docs.yoctoproject.org/4.0.1/brief-yoctoprojectqs/index.html#build-host-packages
> +RUN apt-get update && \
> +    apt-get --quiet --yes install \
> +        gawk \
> +        wget \
> +        git \
> +        diffstat \
> +        unzip \
> +        texinfo \
> +        gcc \
> +        build-essential \
> +        chrpath \
> +        socat \
> +        cpio \
> +        python3 \
> +        python3-pip \
> +        python3-pexpect \
> +        xz-utils \
> +        debianutils \
> +        iputils-ping \
> +        python3-git \
> +        python3-jinja2 \
> +        libegl1-mesa \
> +        libsdl1.2-dev \
> +        python3-subunit \
> +        mesa-common-dev \
> +        zstd \
> +        liblz4-tool \
> +        file \
> +        vim \
> +        bison \
> +        expect \
> +        locales \
> +        liblz4-tool \
> +        zstd \
> +        openssl \
> +        libssl3 \
> +        ca-certificates \
> +        && \
> +        apt-get autoremove -y && \
> +        apt-get clean && \
> +        rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
> +
> +# Use bash as shell.
> +RUN rm /bin/sh && ln -s bash /bin/sh
> +
> +# Fix local for yocto.
> +RUN locale-gen en_US.UTF-8 && update-locale LC_ALL=en_US.UTF-8 \
> +    LANG=en_US.UTF-8
> +ENV LANG en_US.UTF-8
> +ENV LC_ALL en_US.UTF-8
> +
> +# Create a user for the build (we don't want to build as root).
> +ENV USER_NAME docker-build
> +ARG host_uid=1000
> +ARG host_gid=1000
> +RUN groupadd -g $host_gid $USER_NAME && \
> +    useradd -g $host_gid -m -s /bin/bash -u $host_uid $USER_NAME
> +
> +# Switch to our user instead of root and start in its home.
> +USER $USER_NAME
> +WORKDIR /home/$USER_NAME
> +
> +# Create needed directories
> +RUN mkdir -p /home/$USER_NAME/yocto-layers \
> +             /home/$USER_NAME/yocto-cache \
> +             /home/$USER_NAME/logs \
> +             /home/$USER_NAME/bin \
> +             /home/$USER_NAME/xen && \
> +    chown $USER_NAME.$USER_NAME /home/$USER_NAME/*
> +
> +# clone yocto repositories we need.
> +RUN for rep in \
> +                https://github.com/openembedded/meta-openembedded \
> +                https://git.yoctoproject.org/poky \
> +                https://git.yoctoproject.org/meta-virtualization \
> +            ; do \
> +        git -C /home/$USER_NAME/yocto-layers \
> +            clone -b ##YOCTOVERSION## --single-branch $rep; \
> +    done
> +
> +# The builder stage is building an initial cache state that we include in the
> +# final image.
> +From base AS builder
> +
> +# This step can take one to several hours depending on your download bandwith
> +# and the speed of your computer.
> +COPY ./build-yocto.sh /
> +RUN /build-yocto.sh --dump-log ##YOCTOTARGET##
> +
> +From base
> +
> +# Only copy the cache status.
> +COPY --from=builder /home/$USER_NAME/yocto-cache /home/$USER_NAME/yocto-cache/.
> +
> +LABEL maintainer.name="The Xen Project " \
> +      maintainer.email="xen-devel@lists.xenproject.org"
> +
> diff --git a/automation/build/yocto/yocto.inc b/automation/build/yocto/yocto.inc
> new file mode 100644
> index 000000000000..cc72debe366c
> --- /dev/null
> +++ b/automation/build/yocto/yocto.inc
> @@ -0,0 +1,42 @@
> +# This makefile generates the docker files for Yocto builds.
> +# The containers for the current architecture are the one built using make all.
> +# To build containers for a different architecture, you need to call make for
> +# the image you want explicitely.
> +# The containers are named this way:
> +# YOCTOVERSION-TARGET for x86_64 hosts
> +# YOCTOVERSION-TARGET-arm64v8 for arm64 hosts

Please add:

# For example you can build an arm64 container with the following command:
# make yocto/kirkstone-qemuarm64-arm64v8


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 01:08:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 01:08:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450171.707397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0Y3i-0004EH-H4; Thu, 01 Dec 2022 01:08:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450171.707397; Thu, 01 Dec 2022 01:08:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0Y3i-0004EA-E2; Thu, 01 Dec 2022 01:08:14 +0000
Received: by outflank-mailman (input) for mailman id 450171;
 Thu, 01 Dec 2022 01:08:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DAsL=37=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p0Y3h-0004E4-GW
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 01:08:13 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a00824bd-7114-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 02:08:12 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 69C87B81DA2;
 Thu,  1 Dec 2022 01:08:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5DBA6C433C1;
 Thu,  1 Dec 2022 01:08:08 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a00824bd-7114-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669856890;
	bh=bFlbLQgBVNKI3BdQdH5xSPIz5WZl3iB+qIlQMkn9m+U=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YRd9P2mpOz6bqrBG5RBaKtt+CMe5Xifx+G363fJd16ZA/KN4N2N0SgfcVpG3DvVyp
	 UsdnsDOFsTUkjVrZTkhFEi1qUVli0mbmSqpQraYCQ25tMd0cOU8Zs6/3MqJNIIveBF
	 zWVL3hLtafI1xQPsFdGj0Y8utIoFdXtVfSURTpzWs6TWv3LWwhNx7oGxpes2nZBef/
	 3AjhYEtK2cvbcj9Y0ZTtjlip96yRDFAmqZPiJCrRcdWX6NnQ3u8OgrNggQYn4cz2H+
	 Y6k0p4CfxNG+JYfOxlvNagquWOtwxsaPump74xCPQMAeZ6upUbZR4ESPIjVLRqsePn
	 kzTSBC+lac8RA==
Date: Wed, 30 Nov 2022 17:08:06 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
    Greg Kroah-Hartman <gregkh@linuxfoundation.org>, 
    Jiri Slaby <jirislaby@kernel.org>, Juergen Gross <jgross@suse.com>, 
    Jan Beulich <jbeulich@suse.com>, 
    Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Chris Wright <chrisw@sous-sol.org>, Ingo Molnar <mingo@elte.hu>, 
    Jeremy Fitzhardinge <jeremy@xensource.com>, 
    Olof Johansson <olof@lixom.net>, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v2] hvc/xen: prevent concurrent accesses to the shared
 ring
In-Reply-To: <20221130150919.13935-1-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2211301657200.4039@ubuntu-linux-20-04-desktop>
References: <20221130150919.13935-1-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-408063575-1669856560=:4039"
Content-ID: <alpine.DEB.2.22.394.2211301705510.4039@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-408063575-1669856560=:4039
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2211301705511.4039@ubuntu-linux-20-04-desktop>

On Wed, 30 Nov 2022, Roger Pau Monne wrote:
> The hvc machinery registers both a console and a tty device based on
> the hv ops provided by the specific implementation.  Those two
> interfaces however have different locks, and there's no single locks
> that's shared between the tty and the console implementations, hence
> the driver needs to protect itself against concurrent accesses.
> Otherwise concurrent calls using the split interfaces are likely to
> corrupt the ring indexes, leaving the console unusable.
> 
> Introduce a lock to xencons_info to serialize accesses to the shared
> ring.  This is only required when using the shared memory console,
> concurrent accesses to the hypercall based console implementation are
> not an issue.
> 
> Note the conditional logic in domU_read_console() is slightly modified
> so the notify_daemon() call can be done outside of the locked region:
> it's an hypercall and there's no need for it to be done with the lock
> held.

For domU_read_console: I don't mean to block this patch but we need to
be sure about the semantics of hv_ops.get_chars. Either it is expected
to be already locked, then we definitely shouldn't add another lock to
domU_read_console. Or it is not expected to be already locked, then we
should add the lock.

My impression is that it is expected to be already locked, but I think
we need Greg or Jiri to confirm one way or the other.

Aside from that the rest looks fine.



> Fixes: b536b4b96230 ('xen: use the hvc console infrastructure for Xen console')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> Changes since v1:
>  - Properly initialize the introduced lock in all paths.
> ---
>  drivers/tty/hvc/hvc_xen.c | 19 +++++++++++++++++--
>  1 file changed, 17 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> index 7c23112dc923..e63c1761a361 100644
> --- a/drivers/tty/hvc/hvc_xen.c
> +++ b/drivers/tty/hvc/hvc_xen.c
> @@ -43,6 +43,7 @@ struct xencons_info {
>  	int irq;
>  	int vtermno;
>  	grant_ref_t gntref;
> +	spinlock_t ring_lock;
>  };
>  
>  static LIST_HEAD(xenconsoles);
> @@ -84,12 +85,15 @@ static int __write_console(struct xencons_info *xencons,
>  	XENCONS_RING_IDX cons, prod;
>  	struct xencons_interface *intf = xencons->intf;
>  	int sent = 0;
> +	unsigned long flags;
>  
> +	spin_lock_irqsave(&xencons->ring_lock, flags);
>  	cons = intf->out_cons;
>  	prod = intf->out_prod;
>  	mb();			/* update queue values before going on */
>  
>  	if ((prod - cons) > sizeof(intf->out)) {
> +		spin_unlock_irqrestore(&xencons->ring_lock, flags);
>  		pr_err_once("xencons: Illegal ring page indices");
>  		return -EINVAL;
>  	}
> @@ -99,6 +103,7 @@ static int __write_console(struct xencons_info *xencons,
>  
>  	wmb();			/* write ring before updating pointer */
>  	intf->out_prod = prod;
> +	spin_unlock_irqrestore(&xencons->ring_lock, flags);
>  
>  	if (sent)
>  		notify_daemon(xencons);
> @@ -141,16 +146,19 @@ static int domU_read_console(uint32_t vtermno, char *buf, int len)
>  	int recv = 0;
>  	struct xencons_info *xencons = vtermno_to_xencons(vtermno);
>  	unsigned int eoiflag = 0;
> +	unsigned long flags;
>  
>  	if (xencons == NULL)
>  		return -EINVAL;
>  	intf = xencons->intf;
>  
> +	spin_lock_irqsave(&xencons->ring_lock, flags);
>  	cons = intf->in_cons;
>  	prod = intf->in_prod;
>  	mb();			/* get pointers before reading ring */
>  
>  	if ((prod - cons) > sizeof(intf->in)) {
> +		spin_unlock_irqrestore(&xencons->ring_lock, flags);
>  		pr_err_once("xencons: Illegal ring page indices");
>  		return -EINVAL;
>  	}
> @@ -174,10 +182,13 @@ static int domU_read_console(uint32_t vtermno, char *buf, int len)
>  		xencons->out_cons = intf->out_cons;
>  		xencons->out_cons_same = 0;
>  	}
> +	if (!recv && xencons->out_cons_same++ > 1) {
> +		eoiflag = XEN_EOI_FLAG_SPURIOUS;
> +	}
> +	spin_unlock_irqrestore(&xencons->ring_lock, flags);
> +
>  	if (recv) {
>  		notify_daemon(xencons);
> -	} else if (xencons->out_cons_same++ > 1) {
> -		eoiflag = XEN_EOI_FLAG_SPURIOUS;
>  	}
>  
>  	xen_irq_lateeoi(xencons->irq, eoiflag);
> @@ -234,6 +245,7 @@ static int xen_hvm_console_init(void)
>  		info = kzalloc(sizeof(struct xencons_info), GFP_KERNEL);
>  		if (!info)
>  			return -ENOMEM;
> +		spin_lock_init(&info->ring_lock);
>  	} else if (info->intf != NULL) {
>  		/* already configured */
>  		return 0;
> @@ -270,6 +282,7 @@ static int xen_hvm_console_init(void)
>  
>  static int xencons_info_pv_init(struct xencons_info *info, int vtermno)
>  {
> +	spin_lock_init(&info->ring_lock);
>  	info->evtchn = xen_start_info->console.domU.evtchn;
>  	/* GFN == MFN for PV guest */
>  	info->intf = gfn_to_virt(xen_start_info->console.domU.mfn);
> @@ -318,6 +331,7 @@ static int xen_initial_domain_console_init(void)
>  		info = kzalloc(sizeof(struct xencons_info), GFP_KERNEL);
>  		if (!info)
>  			return -ENOMEM;
> +		spin_lock_init(&info->ring_lock);
>  	}
>  
>  	info->irq = bind_virq_to_irq(VIRQ_CONSOLE, 0, false);
> @@ -472,6 +486,7 @@ static int xencons_probe(struct xenbus_device *dev,
>  	info = kzalloc(sizeof(struct xencons_info), GFP_KERNEL);
>  	if (!info)
>  		return -ENOMEM;
> +	spin_lock_init(&info->ring_lock);
>  	dev_set_drvdata(&dev->dev, info);
>  	info->xbdev = dev;
>  	info->vtermno = xenbus_devid_to_vtermno(devid);
> -- 
> 2.37.3
> 
--8323329-408063575-1669856560=:4039--


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 01:11:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 01:11:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450175.707408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0Y7J-0005sD-1Y; Thu, 01 Dec 2022 01:11:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450175.707408; Thu, 01 Dec 2022 01:11:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0Y7I-0005s6-V8; Thu, 01 Dec 2022 01:11:56 +0000
Received: by outflank-mailman (input) for mailman id 450175;
 Thu, 01 Dec 2022 01:11:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DAsL=37=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p0Y7H-0005rw-OL
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 01:11:55 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 24bf6c07-7115-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 02:11:54 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 17969B81AD6;
 Thu,  1 Dec 2022 01:11:54 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5679AC433B5;
 Thu,  1 Dec 2022 01:11:52 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24bf6c07-7115-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669857113;
	bh=Cn7d5c1HM/HfMC8q2kd3oQKNeEpuHBhp1yz/hZ7/kV8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=dIH078pHAHy01H3xD9BwApkD8WjAL3r9/Y7Na8gLSRGigs9r832+Tzl+ywiilKHqn
	 /JGanG+BIAtQlheHMT3XiMYJ4rN8DIwtKS1ftndKOEiHw78xrrEup/dNaALuBmRTko
	 yIFSqj6JbC4oM/OqckU7bqWcj0P7cVB/CkkIwe+M70Bx6C5eddoWETcFEOFN5K3m9j
	 WvXl9BTgmuCxRc5cL1YtQKsNc9rlX8BYtOks8ppJqPjvgWhoYxMKo9/vyDv8rtkYYh
	 a2dlKWoFm2fWusmbjnYo8do1Bm2VDjEt5L1eT6t/a+RvkyEjpYNy52hVkE/NBkpNU3
	 9Bt9PPCk35Vgg==
Date: Wed, 30 Nov 2022 17:11:50 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
    Greg Kroah-Hartman <gregkh@linuxfoundation.org>, 
    Jiri Slaby <jirislaby@kernel.org>, Juergen Gross <jgross@suse.com>, 
    Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
    Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, 
    linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v2] hvc/xen: lock console list traversal
In-Reply-To: <20221130163611.14686-1-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2211301710270.4039@ubuntu-linux-20-04-desktop>
References: <20221130163611.14686-1-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1211100887-1669857113=:4039"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1211100887-1669857113=:4039
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 30 Nov 2022, Roger Pau Monne wrote:
> The currently lockless access to the xen console list in
> vtermno_to_xencons() is incorrect, as additions and removals from the
> list can happen anytime, and as such the traversal of the list to get
> the private console data for a given termno needs to happen with the
> lock held.  Note users that modify the list already do so with the
> lock taken.
> 
> Adjust current lock takers to use the _irq{save,restore} helpers,
> since the context in which vtermno_to_xencons() is called can have
> interrupts disabled.  Use the _irq{save,restore} set of helpers to
> switch the current callers to disable interrupts in the locked region.
> I haven't checked if existing users could instead use the _irq
> variant, as I think it's safer to use _irq{save,restore} upfront.
> 
> While there switch from using list_for_each_entry_safe to
> list_for_each_entry: the current entry cursor won't be removed as
> part of the code in the loop body, so using the _safe variant is
> pointless.
> 
> Fixes: 02e19f9c7cac ('hvc_xen: implement multiconsole support')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes since v1:
>  - Switch current lock users to disable interrupts in the locked
>    region.
> ---
>  drivers/tty/hvc/hvc_xen.c | 46 ++++++++++++++++++++++++---------------
>  1 file changed, 29 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> index e63c1761a361..d9d023275328 100644
> --- a/drivers/tty/hvc/hvc_xen.c
> +++ b/drivers/tty/hvc/hvc_xen.c
> @@ -53,17 +53,22 @@ static DEFINE_SPINLOCK(xencons_lock);
>  
>  static struct xencons_info *vtermno_to_xencons(int vtermno)
>  {
> -	struct xencons_info *entry, *n, *ret = NULL;
> +	struct xencons_info *entry, *ret = NULL;
> +	unsigned long flags;
>  
> -	if (list_empty(&xenconsoles))
> -			return NULL;
> +	spin_lock_irqsave(&xencons_lock, flags);
> +	if (list_empty(&xenconsoles)) {
> +		spin_unlock_irqrestore(&xencons_lock, flags);
> +		return NULL;
> +	}
>  
> -	list_for_each_entry_safe(entry, n, &xenconsoles, list) {
> +	list_for_each_entry(entry, &xenconsoles, list) {
>  		if (entry->vtermno == vtermno) {
>  			ret  = entry;
>  			break;
>  		}
>  	}
> +	spin_unlock_irqrestore(&xencons_lock, flags);
>  
>  	return ret;
>  }
> @@ -234,7 +239,7 @@ static int xen_hvm_console_init(void)
>  {
>  	int r;
>  	uint64_t v = 0;
> -	unsigned long gfn;
> +	unsigned long gfn, flags;
>  	struct xencons_info *info;
>  
>  	if (!xen_hvm_domain())
> @@ -270,9 +275,9 @@ static int xen_hvm_console_init(void)
>  		goto err;
>  	info->vtermno = HVC_COOKIE;
>  
> -	spin_lock(&xencons_lock);
> +	spin_lock_irqsave(&xencons_lock, flags);
>  	list_add_tail(&info->list, &xenconsoles);
> -	spin_unlock(&xencons_lock);
> +	spin_unlock_irqrestore(&xencons_lock, flags);
>  
>  	return 0;
>  err:
> @@ -296,6 +301,7 @@ static int xencons_info_pv_init(struct xencons_info *info, int vtermno)
>  static int xen_pv_console_init(void)
>  {
>  	struct xencons_info *info;
> +	unsigned long flags;
>  
>  	if (!xen_pv_domain())
>  		return -ENODEV;
> @@ -312,9 +318,9 @@ static int xen_pv_console_init(void)
>  		/* already configured */
>  		return 0;
>  	}
> -	spin_lock(&xencons_lock);
> +	spin_lock_irqsave(&xencons_lock, flags);
>  	xencons_info_pv_init(info, HVC_COOKIE);
> -	spin_unlock(&xencons_lock);
> +	spin_unlock_irqrestore(&xencons_lock, flags);
>  
>  	return 0;
>  }
> @@ -322,6 +328,7 @@ static int xen_pv_console_init(void)
>  static int xen_initial_domain_console_init(void)
>  {
>  	struct xencons_info *info;
> +	unsigned long flags;
>  
>  	if (!xen_initial_domain())
>  		return -ENODEV;
> @@ -337,9 +344,9 @@ static int xen_initial_domain_console_init(void)
>  	info->irq = bind_virq_to_irq(VIRQ_CONSOLE, 0, false);
>  	info->vtermno = HVC_COOKIE;
>  
> -	spin_lock(&xencons_lock);
> +	spin_lock_irqsave(&xencons_lock, flags);
>  	list_add_tail(&info->list, &xenconsoles);
> -	spin_unlock(&xencons_lock);
> +	spin_unlock_irqrestore(&xencons_lock, flags);
>  
>  	return 0;
>  }
> @@ -394,10 +401,12 @@ static void xencons_free(struct xencons_info *info)
>  
>  static int xen_console_remove(struct xencons_info *info)
>  {
> +	unsigned long flags;
> +
>  	xencons_disconnect_backend(info);
> -	spin_lock(&xencons_lock);
> +	spin_lock_irqsave(&xencons_lock, flags);
>  	list_del(&info->list);
> -	spin_unlock(&xencons_lock);
> +	spin_unlock_irqrestore(&xencons_lock, flags);
>  	if (info->xbdev != NULL)
>  		xencons_free(info);
>  	else {
> @@ -478,6 +487,7 @@ static int xencons_probe(struct xenbus_device *dev,
>  {
>  	int ret, devid;
>  	struct xencons_info *info;
> +	unsigned long flags;
>  
>  	devid = dev->nodename[strlen(dev->nodename) - 1] - '0';
>  	if (devid == 0)
> @@ -497,9 +507,9 @@ static int xencons_probe(struct xenbus_device *dev,
>  	ret = xencons_connect_backend(dev, info);
>  	if (ret < 0)
>  		goto error;
> -	spin_lock(&xencons_lock);
> +	spin_lock_irqsave(&xencons_lock, flags);
>  	list_add_tail(&info->list, &xenconsoles);
> -	spin_unlock(&xencons_lock);
> +	spin_unlock_irqrestore(&xencons_lock, flags);
>  
>  	return 0;
>  
> @@ -599,10 +609,12 @@ static int __init xen_hvc_init(void)
>  
>  	info->hvc = hvc_alloc(HVC_COOKIE, info->irq, ops, 256);
>  	if (IS_ERR(info->hvc)) {
> +		unsigned long flags;
> +
>  		r = PTR_ERR(info->hvc);
> -		spin_lock(&xencons_lock);
> +		spin_lock_irqsave(&xencons_lock, flags);
>  		list_del(&info->list);
> -		spin_unlock(&xencons_lock);
> +		spin_unlock_irqrestore(&xencons_lock, flags);
>  		if (info->irq)
>  			unbind_from_irqhandler(info->irq, NULL);
>  		kfree(info);
> -- 
> 2.37.3
> 
--8323329-1211100887-1669857113=:4039--


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 03:00:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 03:00:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450184.707419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0ZoD-0001ms-PR; Thu, 01 Dec 2022 03:00:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450184.707419; Thu, 01 Dec 2022 03:00:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0ZoD-0001mh-Jd; Thu, 01 Dec 2022 03:00:21 +0000
Received: by outflank-mailman (input) for mailman id 450184;
 Thu, 01 Dec 2022 03:00:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0ZoC-0001mX-D9; Thu, 01 Dec 2022 03:00:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0ZoC-00037g-BG; Thu, 01 Dec 2022 03:00:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0ZoB-00019L-Od; Thu, 01 Dec 2022 03:00:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0ZoB-0000uc-OA; Thu, 01 Dec 2022 03:00:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OrL0Hu5A3DK9ShynmHRqCchAkj11cpFcN+jux/1r0v4=; b=dF2N6yyR/4F/xI+QmPFLybzYQc
	snG5owH3OFoLIoZKAiJn7TS1quM5C3PRnVV+TZhGGgLxQ33p96zN9M15NU6tpvTrf1CtZxCKXlHvo
	1l+Sfq8zmelQQvLnE8E+pnH8zizve2bvQx5new5fRYgJV6/c1cgP+WX+3WHtiSKPgo6Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-174998-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 174998: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:windows-install:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=ef4d3ea40565a781c25847e9cb96c1bd9f462bc6
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 01 Dec 2022 03:00:19 +0000

flight 174998 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/174998/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 12 windows-install  fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 linux                ef4d3ea40565a781c25847e9cb96c1bd9f462bc6
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   54 days
Failing since        173470  2022-10-08 06:21:34 Z   53 days  104 attempts
Testing same since   174998  2022-11-30 19:12:42 Z    0 days    1 attempts

------------------------------------------------------------
1925 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 184191 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 04:01:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 04:01:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450195.707430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0akq-0001IY-E0; Thu, 01 Dec 2022 04:00:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450195.707430; Thu, 01 Dec 2022 04:00:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0akq-0001IR-B9; Thu, 01 Dec 2022 04:00:56 +0000
Received: by outflank-mailman (input) for mailman id 450195;
 Thu, 01 Dec 2022 04:00:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DAsL=37=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p0akn-0001IL-OE
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 04:00:54 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be4da98b-712c-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 05:00:51 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id AD6E6B81D17;
 Thu,  1 Dec 2022 04:00:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8EE68C433C1;
 Thu,  1 Dec 2022 04:00:47 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be4da98b-712c-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669867248;
	bh=9QmnirwtyAvknpTWqZhY0NgYMCTGb9Yu2p8k4ek6jUI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LAx1jPDlre1hfb9eJQnnY/5jiOy5KTKsZ6lRfo4jsMXyBXuhMtyx01/9GNkUMHsyb
	 /RM2RpHuNKI+COI9x6PGK4aBpwikjjIUHig/S4zObZFXCIA5l56tANh6NKtMcJBMQB
	 B2mcI6uyuatDPMRE2jNynofNBRiTG5FjqBASUlmdZReLFkq2p7fVt1PCP+UGr2BgCH
	 IAKKVEgED7ADUUPBNJ5A7yY+npehgapXjJ/fcZiI853xubNuSCoHF2HOvkpPqsvQc0
	 GttVtJycb0i6nMGX2JsxEGXylERv5wX1E48bQXwQndO0xE/KIMzxaoM5HYCxRj9Asp
	 zCe3Ju30XQMfg==
Date: Wed, 30 Nov 2022 20:00:45 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <bertrand.marquis@arm.com>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v5 0/3] Yocto Gitlab CI
In-Reply-To: <cover.1669810269.git.bertrand.marquis@arm.com>
Message-ID: <alpine.DEB.2.22.394.2211302000361.4039@ubuntu-linux-20-04-desktop>
References: <cover.1669810269.git.bertrand.marquis@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1556247290-1669867248=:4039"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1556247290-1669867248=:4039
Content-Type: text/plain; charset=US-ASCII

The build of the qemux86-64 container still fails, logs attached.
I tested the full gitlab-ci pipeline for qemuarm and qemuarm64 and they
both succeeded.

On Wed, 30 Nov 2022, Bertrand Marquis wrote:
> This patch series is a first attempt to check if we could use Yocto in
> gitlab ci to build and run xen on qemu for arm, arm64 and x86.
> 
> The first patch is introducing a container template from which container
> files can be generated for all combinations we want to support (qemu
> arm, arm64 and x86 targets and hosts x86_64 and arm64).
> It is also introducing a generic build script (build-yocto.sh) that is
> used to create, build and run a Yocto project.
> 
> The second patch is adding a way to easily clean locally created
> containers.
> 
> The third patch is introducing some gitlab CI templates and jobs so that
> we can test a Xen source tree in gitlab-CI using Yocto.
> 
> This has been tested on a x86 host machine and on an arm host machine
> (with mk_dsdt.c fix).
> 
> Changes in v5:
> - automatic cleanup of generated docker files using INTERMEDIATE
> - typo fixes
> - rebase on Stefano's next branch
> - remove clean rule cleaning all containers
> 
> Changes in v4:
> - rework the container generation to support multiple hosts
> - rework the container generation to use a single template for all
>   docker files (make process is generating the docker files).
> 
> Changes in v3:
> - limit number of jobs in yocto
> - do not copy build script inside container
> - add patch from Michal to create gitlab jobs
> 
> Changes in v2:
> - remove gitignore patch which was merged
> - add a --dump-log support in build-yocto.sh script and use it during
>   container creation to see the error logs.
> 
> 
> Bertrand Marquis (2):
>   automation: Create Yocto docker images
>   automation: Add a clean rule for containers
> 
> Michal Orzel (1):
>   automation: Add CI test jobs for Yocto
> 
>  automation/build/Makefile                  |  24 +-
>  automation/build/yocto/build-yocto.sh      | 351 +++++++++++++++++++++
>  automation/build/yocto/yocto.dockerfile.in | 114 +++++++
>  automation/build/yocto/yocto.inc           |  42 +++
>  automation/gitlab-ci/test.yaml             |  43 +++
>  5 files changed, 572 insertions(+), 2 deletions(-)
>  create mode 100755 automation/build/yocto/build-yocto.sh
>  create mode 100644 automation/build/yocto/yocto.dockerfile.in
>  create mode 100644 automation/build/yocto/yocto.inc
> 
> -- 
> 2.25.1
> 
--8323329-1556247290-1669867248=:4039
Content-Type: text/plain; charset=utf-8; name=log
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.DEB.2.22.394.2211302000360.4039@ubuntu-linux-20-04-desktop>
Content-Description: 
Content-Disposition: attachment; filename=log

fCBQYXJzaW5nIGxpYnhsX3R5cGVzLmlkbA0KfCBJbiBmaWxlIGluY2x1ZGVk
IGZyb20gbWtfZHNkdC5jOjIxOg0KfCAvaG9tZS9kb2NrZXItYnVpbGQvYnVp
bGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hl
bi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQv
dG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4
Ni94ZW4uaDozNDogZXJyb3I6ICJfX19ERUZJTkVfWEVOX0dVRVNUX0hBTkRM
RSIgcmVkZWZpbmVkIFstV2Vycm9yXQ0KfCAgICAzNCB8ICNkZWZpbmUgX19f
REVGSU5FX1hFTl9HVUVTVF9IQU5ETEUobmFtZSwgdHlwZSkgXA0KfCAgICAg
ICB8DQp8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9kb2NrZXItYnVp
bGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxp
bnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1y
MC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9h
cmNoLXg4Ni8uLi94ZW4uaDozNSwNCnwgICAgICAgICAgICAgICAgICBmcm9t
IC9ob21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3Jr
L2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVU
T0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29scy9saWJhY3BpLy4uLy4uL3Rv
b2xzL2luY2x1ZGUveGVuL2FyY2gteDg2L3hlbi5oOjI3LA0KfCAgICAgICAg
ICAgICAgICAgIGZyb20gbWtfZHNkdC5jOjIxOg0KfCAvaG9tZS9kb2NrZXIt
YnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5
LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDky
Mi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hl
bi9hcmNoLXg4Ni8uLi9hcmNoLWFybS5oOjE3Njogbm90ZTogdGhpcyBpcyB0
aGUgbG9jYXRpb24gb2YgdGhlIHByZXZpb3VzIGRlZmluaXRpb24NCnwgICAx
NzYgfCAjZGVmaW5lIF9fX0RFRklORV9YRU5fR1VFU1RfSEFORExFKG5hbWUs
IHR5cGUpICAgICAgICAgICAgICAgICAgXA0KfCAgICAgICB8DQp8IEluIGZp
bGUgaW5jbHVkZWQgZnJvbSBta19kc2R0LmM6MjE6DQp8IC9ob21lL2RvY2tl
ci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBv
a3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0
OTIyLXIwL2dpdC90b29scy9saWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUv
eGVuL2FyY2gteDg2L3hlbi5oOjUzOiBlcnJvcjogIl9fWEVOX0dVRVNUX0hB
TkRMRSIgcmVkZWZpbmVkIFstV2Vycm9yXQ0KfCAgICA1MyB8ICNkZWZpbmUg
X19YRU5fR1VFU1RfSEFORExFKG5hbWUpICAgICAgICBfX2d1ZXN0X2hhbmRs
ZV8gIyMgbmFtZQ0KfCAgICAgICB8DQp8IEluIGZpbGUgaW5jbHVkZWQgZnJv
bSAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29y
ay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFV
VE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90
b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni8uLi94ZW4uaDozNSwNCnwgICAg
ICAgICAgICAgICAgICBmcm9tIC9ob21lL2RvY2tlci1idWlsZC9idWlsZC9x
ZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRv
b2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29s
cy9saWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUveGVuL2FyY2gteDg2L3hl
bi5oOjI3LA0KfCAgICAgICAgICAgICAgICAgIGZyb20gbWtfZHNkdC5jOjIx
Og0KfCAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAv
d29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJs
ZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8u
Li90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni8uLi9hcmNoLWFybS5oOjE5
Mzogbm90ZTogdGhpcyBpcyB0aGUgbG9jYXRpb24gb2YgdGhlIHByZXZpb3Vz
IGRlZmluaXRpb24NCnwgICAxOTMgfCAjZGVmaW5lIF9fWEVOX0dVRVNUX0hB
TkRMRShuYW1lKSAgICAgICAgX19ndWVzdF9oYW5kbGVfNjRfICMjIG5hbWUN
CnwgICAgICAgfA0KfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gbWtfZHNkdC5j
OjIxOg0KfCAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90
bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10b29scy80LjE2K3N0
YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGliYWNwaS8u
Li8uLi90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni94ZW4uaDo1NTogZXJy
b3I6ICJYRU5fR1VFU1RfSEFORExFX1BBUkFNIiByZWRlZmluZWQgWy1XZXJy
b3JdDQp8ICAgIDU1IHwgI2RlZmluZSBYRU5fR1VFU1RfSEFORExFX1BBUkFN
KG5hbWUpICAgIFhFTl9HVUVTVF9IQU5ETEUobmFtZSkNCnwgICAgICAgfA0K
fCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvZG9ja2VyLWJ1aWxkL2J1
aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94
ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0
L3Rvb2xzL2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14
ODYvLi4veGVuLmg6MzUsDQp8ICAgICAgICAgICAgICAgICAgZnJvbSAvaG9t
ZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3Jl
Mi02NC1wb2t5LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMr
ZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9p
bmNsdWRlL3hlbi9hcmNoLXg4Ni94ZW4uaDoyNywNCnwgICAgICAgICAgICAg
ICAgICBmcm9tIG1rX2RzZHQuYzoyMToNCnwgL2hvbWUvZG9ja2VyLWJ1aWxk
L2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51
eC94ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAv
Z2l0L3Rvb2xzL2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJj
aC14ODYvLi4vYXJjaC1hcm0uaDoxOTU6IG5vdGU6IHRoaXMgaXMgdGhlIGxv
Y2F0aW9uIG9mIHRoZSBwcmV2aW91cyBkZWZpbml0aW9uDQp8ICAgMTk1IHwg
I2RlZmluZSBYRU5fR1VFU1RfSEFORExFX1BBUkFNKG5hbWUpICAgIF9fZ3Vl
c3RfaGFuZGxlXyAjIyBuYW1lDQp8ICAgICAgIHwNCnwgSW4gZmlsZSBpbmNs
dWRlZCBmcm9tIG1rX2RzZHQuYzoyMToNCnwgL2hvbWUvZG9ja2VyLWJ1aWxk
L2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51
eC94ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAv
Z2l0L3Rvb2xzL2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJj
aC14ODYveGVuLmg6NTY6IGVycm9yOiAic2V0X3hlbl9ndWVzdF9oYW5kbGVf
cmF3IiByZWRlZmluZWQgWy1XZXJyb3JdDQp8ICAgIDU2IHwgI2RlZmluZSBz
ZXRfeGVuX2d1ZXN0X2hhbmRsZV9yYXcoaG5kLCB2YWwpICBkbyB7IChobmQp
LnAgPSB2YWw7IH0gd2hpbGUgKDApDQp8ICAgICAgIHwNCnwgSW4gZmlsZSBp
bmNsdWRlZCBmcm9tIC9ob21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11eDg2
LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xzLzQu
MTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29scy9saWJh
Y3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUveGVuL2FyY2gteDg2Ly4uL3hlbi5o
OjM1LA0KfCAgICAgICAgICAgICAgICAgIGZyb20gL2hvbWUvZG9ja2VyLWJ1
aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1s
aW51eC94ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjIt
cjAvZ2l0L3Rvb2xzL2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94ZW4v
YXJjaC14ODYveGVuLmg6MjcsDQp8ICAgICAgICAgICAgICAgICAgZnJvbSBt
a19kc2R0LmM6MjE6DQp8IC9ob21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11
eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xz
LzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29scy9s
aWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUveGVuL2FyY2gteDg2Ly4uL2Fy
Y2gtYXJtLmg6MTk2OiBub3RlOiB0aGlzIGlzIHRoZSBsb2NhdGlvbiBvZiB0
aGUgcHJldmlvdXMgZGVmaW5pdGlvbg0KfCAgIDE5NiB8ICNkZWZpbmUgc2V0
X3hlbl9ndWVzdF9oYW5kbGVfcmF3KGhuZCwgdmFsKSAgICAgICAgICAgICAg
ICAgIFwNCnwgICAgICAgfA0KfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gbWtf
ZHNkdC5jOjIxOg0KfCAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4
Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10b29scy80
LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGli
YWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni94ZW4uaDo3
NzogZXJyb3I6ICJQUklfeGVuX3BmbiIgcmVkZWZpbmVkIFstV2Vycm9yXQ0K
fCAgICA3NyB8ICNkZWZpbmUgUFJJX3hlbl9wZm4gImx4Ig0KfCAgICAgICB8
DQp8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9kb2NrZXItYnVpbGQv
YnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4
L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9n
aXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9hcmNo
LXg4Ni8uLi94ZW4uaDozNSwNCnwgICAgICAgICAgICAgICAgICBmcm9tIC9o
b21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3JrL2Nv
cmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVUT0lO
QytmMjY1NDQ0OTIyLXIwL2dpdC90b29scy9saWJhY3BpLy4uLy4uL3Rvb2xz
L2luY2x1ZGUveGVuL2FyY2gteDg2L3hlbi5oOjI3LA0KfCAgICAgICAgICAg
ICAgICAgIGZyb20gbWtfZHNkdC5jOjIxOg0KfCAvaG9tZS9kb2NrZXItYnVp
bGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxp
bnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1y
MC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9h
cmNoLXg4Ni8uLi9hcmNoLWFybS5oOjIwNTogbm90ZTogdGhpcyBpcyB0aGUg
bG9jYXRpb24gb2YgdGhlIHByZXZpb3VzIGRlZmluaXRpb24NCnwgICAyMDUg
fCAjZGVmaW5lIFBSSV94ZW5fcGZuIFBSSXg2NA0KfCAgICAgICB8DQp8IElu
IGZpbGUgaW5jbHVkZWQgZnJvbSBta19kc2R0LmM6MjE6DQp8IC9ob21lL2Rv
Y2tlci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0
LXBva3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1
NDQ0OTIyLXIwL2dpdC90b29scy9saWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1
ZGUveGVuL2FyY2gteDg2L3hlbi5oOjc4OiBlcnJvcjogIlBSSXVfeGVuX3Bm
biIgcmVkZWZpbmVkIFstV2Vycm9yXQ0KfCAgICA3OCB8ICNkZWZpbmUgUFJJ
dV94ZW5fcGZuICJsdSINCnwgICAgICAgfA0KfCBJbiBmaWxlIGluY2x1ZGVk
IGZyb20gL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1w
L3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9vbHMvNC4xNitzdGFi
bGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xzL2xpYmFjcGkvLi4v
Li4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14ODYvLi4veGVuLmg6MzUsDQp8
ICAgICAgICAgICAgICAgICAgZnJvbSAvaG9tZS9kb2NrZXItYnVpbGQvYnVp
bGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hl
bi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQv
dG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4
Ni94ZW4uaDoyNywNCnwgICAgICAgICAgICAgICAgICBmcm9tIG1rX2RzZHQu
YzoyMToNCnwgL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQv
dG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9vbHMvNC4xNitz
dGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xzL2xpYmFjcGkv
Li4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14ODYvLi4vYXJjaC1hcm0u
aDoyMDY6IG5vdGU6IHRoaXMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBwcmV2
aW91cyBkZWZpbml0aW9uDQp8ICAgMjA2IHwgI2RlZmluZSBQUkl1X3hlbl9w
Zm4gUFJJdTY0DQp8ICAgICAgIHwNCnwgSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IG1rX2RzZHQuYzoyMToNCnwgL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3Fl
bXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9v
bHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xz
L2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14ODYveGVu
Lmg6MTE3OiBlcnJvcjogIlhFTl9MRUdBQ1lfTUFYX1ZDUFVTIiByZWRlZmlu
ZWQgWy1XZXJyb3JdDQp8ICAgMTE3IHwgI2RlZmluZSBYRU5fTEVHQUNZX01B
WF9WQ1BVUyAzMg0KfCAgICAgICB8DQp8IEluIGZpbGUgaW5jbHVkZWQgZnJv
bSAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29y
ay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFV
VE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90
b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni8uLi94ZW4uaDozNSwNCnwgICAg
ICAgICAgICAgICAgICBmcm9tIC9ob21lL2RvY2tlci1idWlsZC9idWlsZC9x
ZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRv
b2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29s
cy9saWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUveGVuL2FyY2gteDg2L3hl
bi5oOjI3LA0KfCAgICAgICAgICAgICAgICAgIGZyb20gbWtfZHNkdC5jOjIx
Og0KfCAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAv
d29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJs
ZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8u
Li90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni8uLi9hcmNoLWFybS5oOjIx
Mjogbm90ZTogdGhpcyBpcyB0aGUgbG9jYXRpb24gb2YgdGhlIHByZXZpb3Vz
IGRlZmluaXRpb24NCnwgICAyMTIgfCAjZGVmaW5lIFhFTl9MRUdBQ1lfTUFY
X1ZDUFVTIDENCnwgICAgICAgfA0KfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20g
bWtfZHNkdC5jOjIxOg0KfCAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVt
dXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10b29s
cy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMv
bGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni94ZW4u
aDoxMjI6IGVycm9yOiAiUFJJX3hlbl91bG9uZyIgcmVkZWZpbmVkIFstV2Vy
cm9yXQ0KfCAgIDEyMiB8ICNkZWZpbmUgUFJJX3hlbl91bG9uZyAibHgiDQp8
ICAgICAgIHwNCnwgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL2RvY2tl
ci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBv
a3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0
OTIyLXIwL2dpdC90b29scy9saWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUv
eGVuL2FyY2gteDg2Ly4uL3hlbi5oOjM1LA0KfCAgICAgICAgICAgICAgICAg
IGZyb20gL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1w
L3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9vbHMvNC4xNitzdGFi
bGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xzL2xpYmFjcGkvLi4v
Li4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14ODYveGVuLmg6MjcsDQp8ICAg
ICAgICAgICAgICAgICAgZnJvbSBta19kc2R0LmM6MjE6DQp8IC9ob21lL2Rv
Y2tlci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0
LXBva3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1
NDQ0OTIyLXIwL2dpdC90b29scy9saWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1
ZGUveGVuL2FyY2gteDg2Ly4uL2FyY2gtYXJtLmg6MjE1OiBub3RlOiB0aGlz
IGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbg0K
fCAgIDIxNSB8ICNkZWZpbmUgUFJJX3hlbl91bG9uZyBQUkl4NjQNCnwgICAg
ICAgfA0KfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gbWtfZHNkdC5jOjIxOg0K
fCAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29y
ay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFV
VE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90
b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni94ZW4uaDoxNzk6ODogZXJyb3I6
IHJlZGVmaW5pdGlvbiBvZiDigJhzdHJ1Y3QgdmNwdV9ndWVzdF9jb250ZXh0
4oCZDQp8ICAgMTc5IHwgc3RydWN0IHZjcHVfZ3Vlc3RfY29udGV4dCB7DQp8
ICAgICAgIHwgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fg0KfCBJbiBmaWxl
IGluY2x1ZGVkIGZyb20gL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4
ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9vbHMv
NC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xzL2xp
YmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14ODYvLi4veGVu
Lmg6MzUsDQp8ICAgICAgICAgICAgICAgICAgZnJvbSAvaG9tZS9kb2NrZXIt
YnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5
LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDky
Mi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hl
bi9hcmNoLXg4Ni94ZW4uaDoyNywNCnwgICAgICAgICAgICAgICAgICBmcm9t
IG1rX2RzZHQuYzoyMToNCnwgL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3Fl
bXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9v
bHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xz
L2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14ODYvLi4v
YXJjaC1hcm0uaDoyOTM6ODogbm90ZTogb3JpZ2luYWxseSBkZWZpbmVkIGhl
cmUNCnwgICAyOTMgfCBzdHJ1Y3QgdmNwdV9ndWVzdF9jb250ZXh0IHsNCnwg
ICAgICAgfCAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+DQp8IEluIGZpbGUg
aW5jbHVkZWQgZnJvbSBta19kc2R0LmM6MjE6DQp8IC9ob21lL2RvY2tlci1i
dWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBva3kt
bGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIy
LXIwL2dpdC90b29scy9saWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUveGVu
L2FyY2gteDg2L3hlbi5oOjE5MjogZXJyb3I6ICJfVkdDRl9vbmxpbmUiIHJl
ZGVmaW5lZCBbLVdlcnJvcl0NCnwgICAxOTIgfCAjZGVmaW5lIF9WR0NGX29u
bGluZSAgICAgICAgICAgICAgICAgICA1DQp8ICAgICAgIHwNCnwgSW4gZmls
ZSBpbmNsdWRlZCBmcm9tIC9ob21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11
eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xz
LzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29scy9s
aWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUveGVuL2FyY2gteDg2Ly4uL3hl
bi5oOjM1LA0KfCAgICAgICAgICAgICAgICAgIGZyb20gL2hvbWUvZG9ja2Vy
LWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9r
eS1saW51eC94ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5
MjItcjAvZ2l0L3Rvb2xzL2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94
ZW4vYXJjaC14ODYveGVuLmg6MjcsDQp8ICAgICAgICAgICAgICAgICAgZnJv
bSBta19kc2R0LmM6MjE6DQp8IC9ob21lL2RvY2tlci1idWlsZC9idWlsZC9x
ZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRv
b2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29s
cy9saWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUveGVuL2FyY2gteDg2Ly4u
L2FyY2gtYXJtLmg6Mjk0OiBub3RlOiB0aGlzIGlzIHRoZSBsb2NhdGlvbiBv
ZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbg0KfCAgIDI5NCB8ICNkZWZpbmUg
X1ZHQ0Zfb25saW5lICAgICAgICAgICAgICAgICAgIDANCnwgICAgICAgfA0K
fCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gbWtfZHNkdC5jOjIxOg0KfCAvaG9t
ZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3Jl
Mi02NC1wb2t5LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMr
ZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9p
bmNsdWRlL3hlbi9hcmNoLXg4Ni94ZW4uaDoxOTU6MjY6IGVycm9yOiBmaWVs
ZCDigJh1c2VyX3JlZ3PigJkgaGFzIGluY29tcGxldGUgdHlwZQ0KfCAgIDE5
NSB8ICAgICBzdHJ1Y3QgY3B1X3VzZXJfcmVncyB1c2VyX3JlZ3M7ICAgICAg
ICAgLyogVXNlci1sZXZlbCBDUFUgcmVnaXN0ZXJzICAgICAqLw0KfCAgICAg
ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn4NCnwgL2hv
bWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29y
ZTItNjQtcG9reS1saW51eC94ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5D
K2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xzL2xpYmFjcGkvLi4vLi4vdG9vbHMv
aW5jbHVkZS94ZW4vYXJjaC14ODYveGVuLmg6MjMxOjM1OiBlcnJvcjogY29u
ZmxpY3RpbmcgdHlwZXMgZm9yIOKAmHZjcHVfZ3Vlc3RfY29udGV4dF904oCZ
OyBoYXZlIOKAmHN0cnVjdCB2Y3B1X2d1ZXN0X2NvbnRleHTigJkNCnwgICAy
MzEgfCB0eXBlZGVmIHN0cnVjdCB2Y3B1X2d1ZXN0X2NvbnRleHQgdmNwdV9n
dWVzdF9jb250ZXh0X3Q7DQp8ICAgICAgIHwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+DQp8IEluIGZp
bGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVt
dXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10b29s
cy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMv
bGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni8uLi94
ZW4uaDozNSwNCnwgICAgICAgICAgICAgICAgICBmcm9tIC9ob21lL2RvY2tl
ci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBv
a3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0
OTIyLXIwL2dpdC90b29scy9saWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUv
eGVuL2FyY2gteDg2L3hlbi5oOjI3LA0KfCAgICAgICAgICAgICAgICAgIGZy
b20gbWtfZHNkdC5jOjIxOg0KfCAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQv
cWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10
b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9v
bHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni8u
Li9hcmNoLWFybS5oOjMwMzozNTogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRp
b24gb2Yg4oCYdmNwdV9ndWVzdF9jb250ZXh0X3TigJkgd2l0aCB0eXBlIOKA
mHZjcHVfZ3Vlc3RfY29udGV4dF904oCZIHtha2Eg4oCYc3RydWN0IHZjcHVf
Z3Vlc3RfY29udGV4dOKAmX0NCnwgICAzMDMgfCB0eXBlZGVmIHN0cnVjdCB2
Y3B1X2d1ZXN0X2NvbnRleHQgdmNwdV9ndWVzdF9jb250ZXh0X3Q7DQp8ICAg
ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+
fn5+fn5+fn5+fn5+fn5+DQp8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSBta19k
c2R0LmM6MjE6DQp8IC9ob21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11eDg2
LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xzLzQu
MTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29scy9saWJh
Y3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUveGVuL2FyY2gteDg2L3hlbi5oOjM1
OjMzOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yIOKAmF9fZ3Vlc3Rf
aGFuZGxlX3ZjcHVfZ3Vlc3RfY29udGV4dF904oCZOyBoYXZlIOKAmHN0cnVj
dCA8YW5vbnltb3VzPuKAmQ0KfCAgICAzNSB8ICAgICB0eXBlZGVmIHN0cnVj
dCB7IHR5cGUgKnA7IH0gX19ndWVzdF9oYW5kbGVfICMjIG5hbWUNCnwgICAg
ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+
fn5+fn5+fg0KfCAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4Ni02
NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10b29scy80LjE2
K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGliYWNw
aS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni94ZW4uaDo1MDo1
OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYX19fREVGSU5FX1hF
Tl9HVUVTVF9IQU5ETEXigJkNCnwgICAgNTAgfCAgICAgX19fREVGSU5FX1hF
Tl9HVUVTVF9IQU5ETEUobmFtZSwgdHlwZSk7ICAgXA0KfCAgICAgICB8ICAg
ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KfCAvaG9tZS9kb2NrZXIt
YnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5
LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDky
Mi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hl
bi9hcmNoLXg4Ni94ZW4uaDo1Mjo0MTogbm90ZTogaW4gZXhwYW5zaW9uIG9m
IG1hY3JvIOKAmF9fREVGSU5FX1hFTl9HVUVTVF9IQU5ETEXigJkNCnwgICAg
NTIgfCAjZGVmaW5lIERFRklORV9YRU5fR1VFU1RfSEFORExFKG5hbWUpICAg
X19ERUZJTkVfWEVOX0dVRVNUX0hBTkRMRShuYW1lLCBuYW1lKQ0KfCAgICAg
ICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQp8IC9ob21lL2RvY2tlci1idWls
ZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGlu
dXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIw
L2dpdC90b29scy9saWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUveGVuL2Fy
Y2gteDg2L3hlbi5oOjIzMjoxOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFj
cm8g4oCYREVGSU5FX1hFTl9HVUVTVF9IQU5ETEXigJkNCnwgICAyMzIgfCBE
RUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh2Y3B1X2d1ZXN0X2NvbnRleHRfdCk7
DQp8ICAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCnwgSW4gZmls
ZSBpbmNsdWRlZCBmcm9tIC9ob21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11
eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xz
LzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29scy9s
aWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUveGVuL2FyY2gteDg2Ly4uL3hl
bi5oOjM1LA0KfCAgICAgICAgICAgICAgICAgIGZyb20gL2hvbWUvZG9ja2Vy
LWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9r
eS1saW51eC94ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5
MjItcjAvZ2l0L3Rvb2xzL2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94
ZW4vYXJjaC14ODYveGVuLmg6MjcsDQp8ICAgICAgICAgICAgICAgICAgZnJv
bSBta19kc2R0LmM6MjE6DQp8IC9ob21lL2RvY2tlci1idWlsZC9idWlsZC9x
ZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRv
b2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29s
cy9saWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUveGVuL2FyY2gteDg2Ly4u
L2FyY2gtYXJtLmg6MTc4Ojk6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9u
IG9mIOKAmF9fZ3Vlc3RfaGFuZGxlX3ZjcHVfZ3Vlc3RfY29udGV4dF904oCZ
IHdpdGggdHlwZSDigJhfX2d1ZXN0X2hhbmRsZV92Y3B1X2d1ZXN0X2NvbnRl
eHRfdOKAmQ0KfCAgIDE3OCB8ICAgICAgICAgX19ndWVzdF9oYW5kbGVfICMj
IG5hbWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQp8ICAg
ICAgIHwgICAgICAgICBefn5+fn5+fn5+fn5+fn4NCnwgL2hvbWUvZG9ja2Vy
LWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9r
eS1saW51eC94ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5
MjItcjAvZ2l0L3Rvb2xzL2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94
ZW4vYXJjaC14ODYvLi4vYXJjaC1hcm0uaDoxOTA6NTogbm90ZTogaW4gZXhw
YW5zaW9uIG9mIG1hY3JvIOKAmF9fX0RFRklORV9YRU5fR1VFU1RfSEFORExF
4oCZDQp8ICAgMTkwIHwgICAgIF9fX0RFRklORV9YRU5fR1VFU1RfSEFORExF
KG5hbWUsIHR5cGUpOyAgIFwNCnwgICAgICAgfCAgICAgXn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn4NCnwgL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3Fl
bXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9v
bHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xz
L2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14ODYvLi4v
YXJjaC1hcm0uaDoxOTI6NDE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNy
byDigJhfX0RFRklORV9YRU5fR1VFU1RfSEFORExF4oCZDQp8ICAgMTkyIHwg
I2RlZmluZSBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRShuYW1lKSAgIF9fREVG
SU5FX1hFTl9HVUVTVF9IQU5ETEUobmFtZSwgbmFtZSkNCnwgICAgICAgfCAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fg0KfCAvaG9tZS9kb2NrZXItYnVpbGQvYnVp
bGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hl
bi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQv
dG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4
Ni8uLi9hcmNoLWFybS5oOjMwNDoxOiBub3RlOiBpbiBleHBhbnNpb24gb2Yg
bWFjcm8g4oCYREVGSU5FX1hFTl9HVUVTVF9IQU5ETEXigJkNCnwgICAzMDQg
fCBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh2Y3B1X2d1ZXN0X2NvbnRleHRf
dCk7DQp8ICAgICAgIHwgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCnwgSW4g
ZmlsZSBpbmNsdWRlZCBmcm9tIG1rX2RzZHQuYzoyMToNCnwgL2hvbWUvZG9j
a2VyLWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQt
cG9reS1saW51eC94ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0
NDQ5MjItcjAvZ2l0L3Rvb2xzL2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVk
ZS94ZW4vYXJjaC14ODYveGVuLmg6MzU6MzM6IGVycm9yOiBjb25mbGljdGlu
ZyB0eXBlcyBmb3Ig4oCYX19ndWVzdF9oYW5kbGVfY29uc3RfdmNwdV9ndWVz
dF9jb250ZXh0X3TigJk7IGhhdmUg4oCYc3RydWN0IDxhbm9ueW1vdXM+4oCZ
DQp8ICAgIDM1IHwgICAgIHR5cGVkZWYgc3RydWN0IHsgdHlwZSAqcDsgfSBf
X2d1ZXN0X2hhbmRsZV8gIyMgbmFtZQ0KfCAgICAgICB8ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+DQp8IC9ob21l
L2RvY2tlci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3JrL2NvcmUy
LTY0LXBva3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVUT0lOQytm
MjY1NDQ0OTIyLXIwL2dpdC90b29scy9saWJhY3BpLy4uLy4uL3Rvb2xzL2lu
Y2x1ZGUveGVuL2FyY2gteDg2L3hlbi5oOjUxOjU6IG5vdGU6IGluIGV4cGFu
c2lvbiBvZiBtYWNybyDigJhfX19ERUZJTkVfWEVOX0dVRVNUX0hBTkRMReKA
mQ0KfCAgICA1MSB8ICAgICBfX19ERUZJTkVfWEVOX0dVRVNUX0hBTkRMRShj
b25zdF8jI25hbWUsIGNvbnN0IHR5cGUpDQp8ICAgICAgIHwgICAgIF5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQp8IC9ob21lL2RvY2tlci1idWlsZC9i
dWlsZC9xZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgv
eGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIwL2dp
dC90b29scy9saWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1ZGUveGVuL2FyY2gt
eDg2L3hlbi5oOjUyOjQxOiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g
4oCYX19ERUZJTkVfWEVOX0dVRVNUX0hBTkRMReKAmQ0KfCAgICA1MiB8ICNk
ZWZpbmUgREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUobmFtZSkgICBfX0RFRklO
RV9YRU5fR1VFU1RfSEFORExFKG5hbWUsIG5hbWUpDQp8ICAgICAgIHwgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn4NCnwgL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxk
L3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4t
dG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rv
b2xzL2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14ODYv
eGVuLmg6MjMyOjE6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhE
RUZJTkVfWEVOX0dVRVNUX0hBTkRMReKAmQ0KfCAgIDIzMiB8IERFRklORV9Y
RU5fR1VFU1RfSEFORExFKHZjcHVfZ3Vlc3RfY29udGV4dF90KTsNCnwgICAg
ICAgfCBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KfCBJbiBmaWxlIGluY2x1
ZGVkIGZyb20gL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQv
dG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9vbHMvNC4xNitz
dGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xzL2xpYmFjcGkv
Li4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14ODYvLi4veGVuLmg6MzUs
DQp8ICAgICAgICAgICAgICAgICAgZnJvbSAvaG9tZS9kb2NrZXItYnVpbGQv
YnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4
L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9n
aXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9hcmNo
LXg4Ni94ZW4uaDoyNywNCnwgICAgICAgICAgICAgICAgICBmcm9tIG1rX2Rz
ZHQuYzoyMToNCnwgL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4ODYt
NjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9vbHMvNC4x
NitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xzL2xpYmFj
cGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14ODYvLi4vYXJjaC1h
cm0uaDoxNzg6OTogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2Yg4oCY
X19ndWVzdF9oYW5kbGVfY29uc3RfdmNwdV9ndWVzdF9jb250ZXh0X3TigJkg
d2l0aCB0eXBlIOKAmF9fZ3Vlc3RfaGFuZGxlX2NvbnN0X3ZjcHVfZ3Vlc3Rf
Y29udGV4dF904oCZDQp8ICAgMTc4IHwgICAgICAgICBfX2d1ZXN0X2hhbmRs
ZV8gIyMgbmFtZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwN
CnwgICAgICAgfCAgICAgICAgIF5+fn5+fn5+fn5+fn5+fg0KfCAvaG9tZS9k
b2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02
NC1wb2t5LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2
NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNs
dWRlL3hlbi9hcmNoLXg4Ni8uLi9hcmNoLWFybS5oOjE5MTo1OiBub3RlOiBp
biBleHBhbnNpb24gb2YgbWFjcm8g4oCYX19fREVGSU5FX1hFTl9HVUVTVF9I
QU5ETEXigJkNCnwgICAxOTEgfCAgICAgX19fREVGSU5FX1hFTl9HVUVTVF9I
QU5ETEUoY29uc3RfIyNuYW1lLCBjb25zdCB0eXBlKQ0KfCAgICAgICB8ICAg
ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KfCAvaG9tZS9kb2NrZXIt
YnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5
LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDky
Mi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hl
bi9hcmNoLXg4Ni8uLi9hcmNoLWFybS5oOjE5Mjo0MTogbm90ZTogaW4gZXhw
YW5zaW9uIG9mIG1hY3JvIOKAmF9fREVGSU5FX1hFTl9HVUVTVF9IQU5ETEXi
gJkNCnwgICAxOTIgfCAjZGVmaW5lIERFRklORV9YRU5fR1VFU1RfSEFORExF
KG5hbWUpICAgX19ERUZJTkVfWEVOX0dVRVNUX0hBTkRMRShuYW1lLCBuYW1l
KQ0KfCAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+DQp8IC9ob21lL2Rv
Y2tlci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0
LXBva3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1
NDQ0OTIyLXIwL2dpdC90b29scy9saWJhY3BpLy4uLy4uL3Rvb2xzL2luY2x1
ZGUveGVuL2FyY2gteDg2Ly4uL2FyY2gtYXJtLmg6MzA0OjE6IG5vdGU6IGlu
IGV4cGFuc2lvbiBvZiBtYWNybyDigJhERUZJTkVfWEVOX0dVRVNUX0hBTkRM
ReKAmQ0KfCAgIDMwNCB8IERFRklORV9YRU5fR1VFU1RfSEFORExFKHZjcHVf
Z3Vlc3RfY29udGV4dF90KTsNCnwgICAgICAgfCBefn5+fn5+fn5+fn5+fn5+
fn5+fn5+fg0KfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gbWtfZHNkdC5jOjIx
Og0KfCAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAv
d29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJs
ZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8u
Li90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni94ZW4uaDoyMzQ6ODogZXJy
b3I6IHJlZGVmaW5pdGlvbiBvZiDigJhzdHJ1Y3QgYXJjaF9zaGFyZWRfaW5m
b+KAmQ0KfCAgIDIzNCB8IHN0cnVjdCBhcmNoX3NoYXJlZF9pbmZvIHsNCnwg
ICAgICAgfCAgICAgICAgXn5+fn5+fn5+fn5+fn5+fg0KfCBJbiBmaWxlIGlu
Y2x1ZGVkIGZyb20gL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4ODYt
NjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9vbHMvNC4x
NitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xzL2xpYmFj
cGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14ODYvLi4veGVuLmg6
MzUsDQp8ICAgICAgICAgICAgICAgICAgZnJvbSAvaG9tZS9kb2NrZXItYnVp
bGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxp
bnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1y
MC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9h
cmNoLXg4Ni94ZW4uaDoyNywNCnwgICAgICAgICAgICAgICAgICBmcm9tIG1r
X2RzZHQuYzoyMToNCnwgL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4
ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9vbHMv
NC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xzL2xp
YmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14ODYvLi4vYXJj
aC1hcm0uaDozNDU6ODogbm90ZTogb3JpZ2luYWxseSBkZWZpbmVkIGhlcmUN
CnwgICAzNDUgfCBzdHJ1Y3QgYXJjaF9zaGFyZWRfaW5mbyB7DQp8ICAgICAg
IHwgICAgICAgIF5+fn5+fn5+fn5+fn5+fn4NCnwgSW4gZmlsZSBpbmNsdWRl
ZCBmcm9tIG1rX2RzZHQuYzoyMToNCnwgL2hvbWUvZG9ja2VyLWJ1aWxkL2J1
aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94
ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0
L3Rvb2xzL2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVkZS94ZW4vYXJjaC14
ODYveGVuLmg6Mjc1OjMzOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9y
IOKAmGFyY2hfc2hhcmVkX2luZm9fdOKAmTsgaGF2ZSDigJhzdHJ1Y3QgYXJj
aF9zaGFyZWRfaW5mb+KAmQ0KfCAgIDI3NSB8IHR5cGVkZWYgc3RydWN0IGFy
Y2hfc2hhcmVkX2luZm8gYXJjaF9zaGFyZWRfaW5mb190Ow0KfCAgICAgICB8
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+
fn5+fn5+DQp8IEluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9kb2NrZXIt
YnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5
LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDky
Mi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hl
bi9hcmNoLXg4Ni8uLi94ZW4uaDozNSwNCnwgICAgICAgICAgICAgICAgICBm
cm9tIC9ob21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93
b3JrL2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxl
QVVUT0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29scy9saWJhY3BpLy4uLy4u
L3Rvb2xzL2luY2x1ZGUveGVuL2FyY2gteDg2L3hlbi5oOjI3LA0KfCAgICAg
ICAgICAgICAgICAgIGZyb20gbWtfZHNkdC5jOjIxOg0KfCAvaG9tZS9kb2Nr
ZXItYnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1w
b2t5LWxpbnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0
NDkyMi1yMC9naXQvdG9vbHMvbGliYWNwaS8uLi8uLi90b29scy9pbmNsdWRl
L3hlbi9hcmNoLXg4Ni8uLi9hcmNoLWFybS5oOjM0NzozMzogbm90ZTogcHJl
dmlvdXMgZGVjbGFyYXRpb24gb2Yg4oCYYXJjaF9zaGFyZWRfaW5mb1904oCZ
IHdpdGggdHlwZSDigJhhcmNoX3NoYXJlZF9pbmZvX3TigJkge2FrYSDigJhz
dHJ1Y3QgYXJjaF9zaGFyZWRfaW5mb+KAmX0NCnwgICAzNDcgfCB0eXBlZGVm
IHN0cnVjdCBhcmNoX3NoYXJlZF9pbmZvIGFyY2hfc2hhcmVkX2luZm9fdDsN
CnwgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+
fn5+fn5+fn5+fn5+fn5+fg0KfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gbWtf
ZHNkdC5jOjIxOg0KfCAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4
Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10b29scy80
LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGli
YWNwaS8uLi8uLi90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni94ZW4uaDoy
ODI6ODogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiDigJhzdHJ1Y3QgeGVuX2Fy
Y2hfZG9tYWluY29uZmln4oCZDQp8ICAgMjgyIHwgc3RydWN0IHhlbl9hcmNo
X2RvbWFpbmNvbmZpZyB7DQp8ICAgICAgIHwgICAgICAgIF5+fn5+fn5+fn5+
fn5+fn5+fn5+fg0KfCBJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvZG9j
a2VyLWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQt
cG9reS1saW51eC94ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0
NDQ5MjItcjAvZ2l0L3Rvb2xzL2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5jbHVk
ZS94ZW4vYXJjaC14ODYvLi4veGVuLmg6MzUsDQp8ICAgICAgICAgICAgICAg
ICAgZnJvbSAvaG9tZS9kb2NrZXItYnVpbGQvYnVpbGQvcWVtdXg4Ni02NC90
bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L3hlbi10b29scy80LjE2K3N0
YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMC9naXQvdG9vbHMvbGliYWNwaS8u
Li8uLi90b29scy9pbmNsdWRlL3hlbi9hcmNoLXg4Ni94ZW4uaDoyNywNCnwg
ICAgICAgICAgICAgICAgICBmcm9tIG1rX2RzZHQuYzoyMToNCnwgL2hvbWUv
ZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTIt
NjQtcG9reS1saW51eC94ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2Yy
NjU0NDQ5MjItcjAvZ2l0L3Rvb2xzL2xpYmFjcGkvLi4vLi4vdG9vbHMvaW5j
bHVkZS94ZW4vYXJjaC14ODYvLi4vYXJjaC1hcm0uaDozMTc6ODogbm90ZTog
b3JpZ2luYWxseSBkZWZpbmVkIGhlcmUNCnwgICAzMTcgfCBzdHJ1Y3QgeGVu
X2FyY2hfZG9tYWluY29uZmlnIHsNCnwgICAgICAgfCAgICAgICAgXn5+fn5+
fn5+fn5+fn5+fn5+fn5+DQp8IGNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRy
ZWF0ZWQgYXMgZXJyb3JzDQp8IG1ha2VbN106ICoqKiBbTWFrZWZpbGU6NTA6
IC9ob21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3Jr
L2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVU
T0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29scy9saWJzL2xpZ2h0L21rX2Rz
ZHRdIEVycm9yIDENCnwgbWFrZVs3XTogTGVhdmluZyBkaXJlY3RvcnkgJy9o
b21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3JrL2Nv
cmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVUT0lO
QytmMjY1NDQ0OTIyLXIwL2dpdC90b29scy9saWJhY3BpJw0KfCBtYWtlWzZd
OiAqKiogW01ha2VmaWxlOjQxOiBhY3BpXSBFcnJvciAyDQp8IG1ha2VbNl06
ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uDQp8IG12IC1m
IF9saWJ4bC5hcGktZm9yLWNoZWNrLm5ldyBfbGlieGwuYXBpLWZvci1jaGVj
aw0KfCBtdiB0ZXN0aWRsLmMubmV3IHRlc3RpZGwuYw0KfCBtYWtlWzZdOiBM
ZWF2aW5nIGRpcmVjdG9yeSAnL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3Fl
bXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9v
bHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xz
L2xpYnMvbGlnaHQnDQp8IG1ha2VbNV06ICoqKiBbL2hvbWUvZG9ja2VyLWJ1
aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1s
aW51eC94ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjIt
cjAvZ2l0L3Rvb2xzL2xpYnMvLi4vLi4vdG9vbHMvUnVsZXMubWs6MTY2OiBz
dWJkaXItaW5zdGFsbC1saWdodF0gRXJyb3IgMg0KfCBtYWtlWzVdOiBMZWF2
aW5nIGRpcmVjdG9yeSAnL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4
ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9vbHMv
NC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xzL2xp
YnMnDQp8IG1ha2VbNF06ICoqKiBbL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxk
L3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4t
dG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rv
b2xzL2xpYnMvLi4vLi4vdG9vbHMvUnVsZXMubWs6MTYxOiBzdWJkaXJzLWlu
c3RhbGxdIEVycm9yIDINCnwgbWFrZVs0XTogTGVhdmluZyBkaXJlY3Rvcnkg
Jy9ob21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3Jr
L2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVU
T0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29scy9saWJzJw0KfCBtYWtlWzNd
OiAqKiogWy9ob21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3Rt
cC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3Rh
YmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29scy8uLi90b29scy9S
dWxlcy5tazoxNjY6IHN1YmRpci1pbnN0YWxsLWxpYnNdIEVycm9yIDINCnwg
bWFrZVszXTogTGVhdmluZyBkaXJlY3RvcnkgJy9ob21lL2RvY2tlci1idWls
ZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGlu
dXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIw
L2dpdC90b29scycNCnwgbWFrZVsyXTogKioqIFsvaG9tZS9kb2NrZXItYnVp
bGQvYnVpbGQvcWVtdXg4Ni02NC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxp
bnV4L3hlbi10b29scy80LjE2K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1y
MC9naXQvdG9vbHMvLi4vdG9vbHMvUnVsZXMubWs6MTYxOiBzdWJkaXJzLWlu
c3RhbGxdIEVycm9yIDINCnwgbWFrZVsyXTogTGVhdmluZyBkaXJlY3Rvcnkg
Jy9ob21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11eDg2LTY0L3RtcC93b3Jr
L2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xzLzQuMTYrc3RhYmxlQVVU
T0lOQytmMjY1NDQ0OTIyLXIwL2dpdC90b29scycNCnwgbWFrZVsxXTogKioq
IFtNYWtlZmlsZTo2NjogaW5zdGFsbF0gRXJyb3IgMg0KfCBtYWtlWzFdOiBM
ZWF2aW5nIGRpcmVjdG9yeSAnL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3Fl
bXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9v
bHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvZ2l0L3Rvb2xz
Jw0KfCBtYWtlOiAqKiogW01ha2VmaWxlOjE0MDogaW5zdGFsbC10b29sc10g
RXJyb3IgMg0KfCBFUlJPUjogb2VfcnVubWFrZSBmYWlsZWQNCnwgV0FSTklO
RzogL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dv
cmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9vbHMvNC4xNitzdGFibGVB
VVRPSU5DK2YyNjU0NDQ5MjItcjAvdGVtcC9ydW4uZG9fY29tcGlsZS4yNDYx
MDExOjIwMSBleGl0IDEgZnJvbSAnZXhpdCAxJw0KfCBXQVJOSU5HOiBCYWNr
dHJhY2UgKEJCIGdlbmVyYXRlZCBzY3JpcHQpOg0KfCAgICAgICAjMTogYmJm
YXRhbF9sb2csIC9ob21lL2RvY2tlci1idWlsZC9idWlsZC9xZW11eDg2LTY0
L3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgveGVuLXRvb2xzLzQuMTYr
c3RhYmxlQVVUT0lOQytmMjY1NDQ0OTIyLXIwL3RlbXAvcnVuLmRvX2NvbXBp
bGUuMjQ2MTAxMSwgbGluZSAyMDENCnwgICAgICAgIzI6IGRpZSwgL2hvbWUv
ZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTIt
NjQtcG9reS1saW51eC94ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2Yy
NjU0NDQ5MjItcjAvdGVtcC9ydW4uZG9fY29tcGlsZS4yNDYxMDExLCBsaW5l
IDE4NQ0KfCAgICAgICAjMzogb2VfcnVubWFrZSwgL2hvbWUvZG9ja2VyLWJ1
aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1s
aW51eC94ZW4tdG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjIt
cjAvdGVtcC9ydW4uZG9fY29tcGlsZS4yNDYxMDExLCBsaW5lIDE4MA0KfCAg
ICAgICAjNDogZG9fY29tcGlsZSwgL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxk
L3FlbXV4ODYtNjQvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4t
dG9vbHMvNC4xNitzdGFibGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvdGVtcC9y
dW4uZG9fY29tcGlsZS4yNDYxMDExLCBsaW5lIDE3NA0KfCAgICAgICAjNTog
bWFpbiwgL2hvbWUvZG9ja2VyLWJ1aWxkL2J1aWxkL3FlbXV4ODYtNjQvdG1w
L3dvcmsvY29yZTItNjQtcG9reS1saW51eC94ZW4tdG9vbHMvNC4xNitzdGFi
bGVBVVRPSU5DK2YyNjU0NDQ5MjItcjAvdGVtcC9ydW4uZG9fY29tcGlsZS4y
NDYxMDExLCBsaW5lIDIxNA0KTk9URTogcmVjaXBlIHhlbi10b29scy00LjE2
K3N0YWJsZUFVVE9JTkMrZjI2NTQ0NDkyMi1yMDogdGFzayBkb19jb21waWxl
OiBGYWlsZWQNCg==

--8323329-1556247290-1669867248=:4039--


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 05:27:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 05:27:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450203.707440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0c60-0003NT-P6; Thu, 01 Dec 2022 05:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450203.707440; Thu, 01 Dec 2022 05:26:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0c60-0003NM-MG; Thu, 01 Dec 2022 05:26:52 +0000
Received: by outflank-mailman (input) for mailman id 450203;
 Thu, 01 Dec 2022 05:26:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=5Q2E=37=kernel.org=kuba@srs-se1.protection.inumbo.net>)
 id 1p0c5z-0003NG-0q
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 05:26:51 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c0fc8094-7138-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 06:26:49 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 37ABCB81D17;
 Thu,  1 Dec 2022 05:26:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9C59AC433C1;
 Thu,  1 Dec 2022 05:26:46 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0fc8094-7138-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669872407;
	bh=R5GmtDmrK1Mk61T1laNRH+dxK56rGc02m+iTMZhNWT8=;
	h=Date:From:To:Cc:Subject:In-Reply-To:References:From;
	b=CeDxg4gAIM+n/76WUOOtH8vagK3XI5Y6TJx0LIMjdsBEtVehsncsm1BonfbRul8vF
	 RwPy11Gi02etxDz2TwkrW6oeHExPGklGaI/hJT9+e0TOspY+asAj2LPcHYiN515K67
	 SUy0IX2H4d3uxQiGKhUjICU6aCoC9JgzPR2uw1RiGA3gXcig5wLXAd1Fb2IcbNEads
	 tcC4bWUYVzgL6Zi+uQUityKnPI5VyhAvGCyty6MD59Ne364a46u4uGGFZvmGdFgIWk
	 j5rdtfeFATw+8ttbWtzzX+n9ZdUKThJcOD4bOR4rSullwo5BUAe0btMJ0kicOAu1Sn
	 D1oXYtgQu5d1A==
Date: Wed, 30 Nov 2022 21:26:45 -0800
From: Jakub Kicinski <kuba@kernel.org>
To: Lin Liu <lin.liu@citrix.com>
Cc: Juergen Gross <jgross@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Oleksandr Tyshchenko
 <oleksandr_tyshchenko@epam.com>, "David S. Miller" <davem@davemloft.net>,
 Eric Dumazet <edumazet@google.com>, Paolo Abeni <pabeni@redhat.com>,
 "moderated list:XEN HYPERVISOR INTERFACE" <xen-devel@lists.xenproject.org>,
 "open list:NETWORKING DRIVERS" <netdev@vger.kernel.org>, open list
 <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] drivers/net/netfront: Fix NULL sring after live
 migration
Message-ID: <20221130212645.06a36158@kernel.org>
In-Reply-To: <20221129061702.60629-1-lin.liu@citrix.com>
References: <20221129061702.60629-1-lin.liu@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Tue, 29 Nov 2022 06:17:02 +0000 Lin Liu wrote:
> A NAPI is setup for each network sring to poll data to kernel
> The sring with source host is destroyed before live migration and
> new sring with target host is setup after live migration.
> The NAPI for the old sring is not deleted until setup new sring
> with target host after migration. With busy_poll/busy_read enabled,
> the NAPI can be polled before got deleted when resume VM.
> 
> [50116.602938] BUG: unable to handle kernel NULL pointer dereference at
> 0000000000000008
> [50116.603047] IP: xennet_poll+0xae/0xd20
> [50116.603090] PGD 0 P4D 0
> [50116.603118] Oops: 0000 [#1] SMP PTI
> [50116.604624] Call Trace:
> [50116.604674]  ? finish_task_switch+0x71/0x230
> [50116.604745]  ? timerqueue_del+0x1d/0x40
> [50116.604807]  ? hrtimer_try_to_cancel+0xb5/0x110
> [50116.604882]  ? xennet_alloc_rx_buffers+0x2a0/0x2a0
> [50116.604958]  napi_busy_loop+0xdb/0x270
> [50116.605017]  sock_poll+0x87/0x90
> [50116.605066]  do_sys_poll+0x26f/0x580
> [50116.605125]  ? tracing_map_insert+0x1d4/0x2f0
> [50116.605196]  ? event_hist_trigger+0x14a/0x260

You can trim all the ' ? ' entries from the stack trace, 
and the time stamps, FWIW. Makes it easier to read.

> [50116.613598]  ? finish_task_switch+0x71/0x230
> [50116.614131]  ? __schedule+0x256/0x890
> [50116.614640]  ? recalc_sigpending+0x1b/0x50
> [50116.615144]  ? xen_sched_clock+0x15/0x20
> [50116.615643]  ? __rb_reserve_next+0x12d/0x140
> [50116.616138]  ? ring_buffer_lock_reserve+0x123/0x3d0
> [50116.616634]  ? event_triggers_call+0x87/0xb0
> [50116.617138]  ? trace_event_buffer_commit+0x1c4/0x210
> [50116.617625]  ? xen_clocksource_get_cycles+0x15/0x20
> [50116.618112]  ? ktime_get_ts64+0x51/0xf0
> [50116.618578]  SyS_ppoll+0x160/0x1a0
> [50116.619029]  ? SyS_ppoll+0x160/0x1a0
> [50116.619475]  do_syscall_64+0x73/0x130
> [50116.619901]  entry_SYSCALL_64_after_hwframe+0x41/0xa6
> ...
> [50116.806230] RIP: xennet_poll+0xae/0xd20 RSP: ffffb4f041933900
> [50116.806772] CR2: 0000000000000008
> [50116.807337] ---[ end trace f8601785b354351c ]---
> 
> xen frontend should remove the NAPIs for the old srings before live
> migration as the bond srings are destroyed
> 
> There is a tiny window between the srings are set to NULL and
> the NAPIs are disabled, It is safe as the NAPI threads are still
> frozen at that time
> 

Since this is a fix please add a Fixes tag, and add [PATCH net]
to the subject.

> diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
> index 9af2b027c19c..dc404e05970c 100644
> --- a/drivers/net/xen-netfront.c
> +++ b/drivers/net/xen-netfront.c
> @@ -1862,6 +1862,12 @@ static int netfront_resume(struct xenbus_device *dev)
>  	netif_tx_unlock_bh(info->netdev);
>  
>  	xennet_disconnect_backend(info);
> +
> +	rtnl_lock();
> +	if (info->queues)
> +		xennet_destroy_queues(info);
> +	rtnl_unlock();

Now all callers of xennet_disconnect_backend() destroy queues soon
after, can we just move the destroy queues into disconnect ?

>  	return 0;
>  }
>  



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 06:53:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 06:53:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450208.707452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0dRI-0005uB-TB; Thu, 01 Dec 2022 06:52:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450208.707452; Thu, 01 Dec 2022 06:52:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0dRI-0005u4-QX; Thu, 01 Dec 2022 06:52:56 +0000
Received: by outflank-mailman (input) for mailman id 450208;
 Thu, 01 Dec 2022 06:52:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0dRH-0005tu-M6; Thu, 01 Dec 2022 06:52:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0dRH-0000DZ-KE; Thu, 01 Dec 2022 06:52:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0dRH-0007Ro-8z; Thu, 01 Dec 2022 06:52:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0dRH-00052h-8R; Thu, 01 Dec 2022 06:52:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=59yYAPaZ88YHjCmx90ij3SjpPuVJpWTVHO7eDYYVKq4=; b=ozE+Fzt6nWDjUrepRfuWSUUZTH
	gg9wS+KzFL71dMQ1H4KtczecXuIXrtDoEl1ShJKuXqXB2v4VN9TV76XaWIFge97CjohqL/FoYCQR+
	2VRFHtoR09+uFKlocKdBcO+W+V/1rrg5qZDgy2cI+KeTdQ4wGCzmvy6i1e32yjVc/a8w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175001-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175001: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=beb0f8d483dfbec2fd3a2db425e0c1871b0d29eb
X-Osstest-Versions-That:
    ovmf=dd3ba82d31a6d3cc4564dc83c9229e13773b55da
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 01 Dec 2022 06:52:55 +0000

flight 175001 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175001/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 beb0f8d483dfbec2fd3a2db425e0c1871b0d29eb
baseline version:
 ovmf                 dd3ba82d31a6d3cc4564dc83c9229e13773b55da

Last test of basis   174992  2022-11-29 23:10:27 Z    1 days
Testing same since   175001  2022-12-01 03:10:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dongyan Qian <qiandongyan@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   dd3ba82d31..beb0f8d483  beb0f8d483dfbec2fd3a2db425e0c1871b0d29eb -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 07:36:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 07:36:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450217.707463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0e73-0002tc-5A; Thu, 01 Dec 2022 07:36:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450217.707463; Thu, 01 Dec 2022 07:36:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0e73-0002tV-2K; Thu, 01 Dec 2022 07:36:05 +0000
Received: by outflank-mailman (input) for mailman id 450217;
 Thu, 01 Dec 2022 07:36:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0e71-0002tJ-E5; Thu, 01 Dec 2022 07:36:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0e71-00015t-7b; Thu, 01 Dec 2022 07:36:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0e70-0001lG-Qz; Thu, 01 Dec 2022 07:36:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0e70-0002aa-QW; Thu, 01 Dec 2022 07:36:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Vble4HutJgssNsdaBL1IJzBARh2b+JLVztbWav228YM=; b=NNZXu4VhSGz7vnxckazwQJUoD3
	Ps1L7RrsOfxI5XNk/e158q/cV930/TZNKbYVOBWwwzLvYMlfsreDcJFtNxv498NdB3DfljHuh8EWD
	f9RT+kqBCSuzza+URKfWfiMLsbsgtTztfSK/VrdIrC24NlQBCWrbBJXwJPN1mouWWmBM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-174999-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 174999: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-raw:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=345135942bf9632eba1409ba432cfcae3b7649c7
X-Osstest-Versions-That:
    xen=345135942bf9632eba1409ba432cfcae3b7649c7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 01 Dec 2022 07:36:02 +0000

flight 174999 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/174999/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw  8 xen-boot         fail in 174994 pass in 174999
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail pass in 174994

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail in 174994 never pass
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 174984
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 174994
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 174994
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 174994
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 174994
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 174994
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 174994
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 174994
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 174994
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 174994
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 174994
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 174994
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  345135942bf9632eba1409ba432cfcae3b7649c7
baseline version:
 xen                  345135942bf9632eba1409ba432cfcae3b7649c7

Last test of basis   174999  2022-12-01 01:51:54 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 08:05:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 08:05:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450230.707474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0eZ4-0007a4-VU; Thu, 01 Dec 2022 08:05:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450230.707474; Thu, 01 Dec 2022 08:05:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0eZ4-0007Zx-R8; Thu, 01 Dec 2022 08:05:02 +0000
Received: by outflank-mailman (input) for mailman id 450230;
 Thu, 01 Dec 2022 08:05:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ux6T=37=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1p0eZ3-0007Zr-Oc
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 08:05:01 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id d013b699-714e-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 09:04:43 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 09524D6E;
 Thu,  1 Dec 2022 00:05:05 -0800 (PST)
Received: from a015971.shanghai.arm.com (unknown [10.169.188.104])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 0A5463F67D;
 Thu,  1 Dec 2022 00:04:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d013b699-714e-11ed-8fd2-01056ac49cbb
From: Jiamei Xie <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 0/2] xen/arm: refine vpl011
Date: Thu,  1 Dec 2022 16:03:58 +0800
Message-Id: <20221201080400.1842558-1-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch is the version 4 for "xen/arm: vpl011: Make access to DMACR
write-ignore" [1]. 

[1] https://patchwork.kernel.org/project/xen-devel/patch/20221122054644.1092173-1-jiamei.xie@arm.com/

Thanks,
Jiamei Xie

v3 -> v4
- remove the size check for unknown registers in the SBSA UART
- remove lock in read_as_zero
- Don't consolidate check registers access
- Don't remove label read_as_zero
v2 -> v3
- emulate non-SBSA registers as WI/RAZ in default case
- update commit message
v1 -> v2
- print a message using XENLOG_G_DEBUG when it's write-ignore

Jiamei Xie (2):
  xen/arm: vpl011: emulate non-SBSA registers as WI/RAZ
  xen/arm: vpl011: drop extra return in vpl011_mmio_read

 xen/arch/arm/vpl011.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 08:05:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 08:05:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450231.707485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0eZD-0007rJ-4y; Thu, 01 Dec 2022 08:05:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450231.707485; Thu, 01 Dec 2022 08:05:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0eZD-0007rC-2B; Thu, 01 Dec 2022 08:05:11 +0000
Received: by outflank-mailman (input) for mailman id 450231;
 Thu, 01 Dec 2022 08:05:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ux6T=37=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1p0eZB-0007Zr-Ng
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 08:05:09 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id d5dc77b0-714e-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 09:04:53 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C355FD6E;
 Thu,  1 Dec 2022 00:05:14 -0800 (PST)
Received: from a015971.shanghai.arm.com (unknown [10.169.188.104])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CF5AD3F67D;
 Thu,  1 Dec 2022 00:05:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5dc77b0-714e-11ed-8fd2-01056ac49cbb
From: Jiamei Xie <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 1/2] xen/arm: vpl011: emulate non-SBSA registers as WI/RAZ
Date: Thu,  1 Dec 2022 16:03:59 +0800
Message-Id: <20221201080400.1842558-2-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221201080400.1842558-1-jiamei.xie@arm.com>
References: <20221201080400.1842558-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When the guest kernel enables DMA engine with "CONFIG_DMA_ENGINE=y",
Linux SBSA PL011 driver will access PL011 DMACR register in some
functions. As chapter "B Generic UART" in "ARM Server Base System
Architecture"[1] documentation describes, SBSA UART doesn't support
DMA. In current code, when the kernel tries to access DMACR register,
Xen will inject a data abort:
Unhandled fault at 0xffffffc00944d048
Mem abort info:
  ESR = 0x96000000
  EC = 0x25: DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
  FSC = 0x00: ttbr address size fault
Data abort info:
  ISV = 0, ISS = 0x00000000
  CM = 0, WnR = 0
swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000020e2e000
[ffffffc00944d048] pgd=100000003ffff803, p4d=100000003ffff803, pud=100000003ffff803, pmd=100000003fffa803, pte=006800009c090f13
Internal error: ttbr address size fault: 96000000 [#1] PREEMPT SMP
...
Call trace:
 pl011_stop_rx+0x70/0x80
 tty_port_shutdown+0x7c/0xb4
 tty_port_close+0x60/0xcc
 uart_close+0x34/0x8c
 tty_release+0x144/0x4c0
 __fput+0x78/0x220
 ____fput+0x1c/0x30
 task_work_run+0x88/0xc0
 do_notify_resume+0x8d0/0x123c
 el0_svc+0xa8/0xc0
 el0t_64_sync_handler+0xa4/0x130
 el0t_64_sync+0x1a0/0x1a4
Code: b9000083 b901f001 794038a0 8b000042 (b9000041)
---[ end trace 83dd93df15c3216f ]---
note: bootlogd[132] exited with preempt_count 1
/etc/rcS.d/S07bootlogd: line 47: 132 Segmentation fault start-stop-daemon

As discussed in [2], this commit makes the access to non-SBSA registers
RAZ/WI as an improvement.

[1] https://developer.arm.com/documentation/den0094/c/?lang=en
[2] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2211161552420.4020@ubuntu-linux-20-04-desktop/

Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
---
v3 -> v4
- remove the size check for unknown registers in the SBSA UART
- remove lock in read_as_zero
v2 -> v3
- emulate non-SBSA registers as WI/RAZ in default case
- update commit message
v1 -> v2
- print a message using XENLOG_G_DEBUG when it's write-ignore
---
 xen/arch/arm/vpl011.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 43522d48fd..f4a5621fab 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -414,11 +414,15 @@ static int vpl011_mmio_read(struct vcpu *v,
     default:
         gprintk(XENLOG_ERR, "vpl011: unhandled read r%d offset %#08x\n",
                 dabt.reg, vpl011_reg);
-        return 0;
+        goto read_as_zero;
     }
 
     return 1;
 
+read_as_zero:
+    *r = 0;
+    return 1;
+
 bad_width:
     gprintk(XENLOG_ERR, "vpl011: bad read width %d r%d offset %#08x\n",
             dabt.size, dabt.reg, vpl011_reg);
@@ -486,7 +490,7 @@ static int vpl011_mmio_write(struct vcpu *v,
     default:
         gprintk(XENLOG_ERR, "vpl011: unhandled write r%d offset %#08x\n",
                 dabt.reg, vpl011_reg);
-        return 0;
+        goto write_ignore;
     }
 
 write_ignore:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 08:05:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 08:05:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450233.707496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0eZJ-0008CI-Cd; Thu, 01 Dec 2022 08:05:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450233.707496; Thu, 01 Dec 2022 08:05:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0eZJ-0008C6-9m; Thu, 01 Dec 2022 08:05:17 +0000
Received: by outflank-mailman (input) for mailman id 450233;
 Thu, 01 Dec 2022 08:05:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ux6T=37=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1p0eZH-00089d-S6
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 08:05:15 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id e22707bf-714e-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 09:05:14 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A16A5D6E;
 Thu,  1 Dec 2022 00:05:19 -0800 (PST)
Received: from a015971.shanghai.arm.com (unknown [10.169.188.104])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A59263F67D;
 Thu,  1 Dec 2022 00:05:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e22707bf-714e-11ed-91b6-6bf2151ebd3b
From: Jiamei Xie <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 2/2] xen/arm: vpl011: drop extra return in vpl011_mmio_read
Date: Thu,  1 Dec 2022 16:04:00 +0800
Message-Id: <20221201080400.1842558-3-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221201080400.1842558-1-jiamei.xie@arm.com>
References: <20221201080400.1842558-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In vpl011_mmio_read switch block, all cases have a return. So the
outside one can be removed.

Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
---
v3 -> v4
- Don't consolidate check registers access
- Don't remove label read_as_zero
---
 xen/arch/arm/vpl011.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index f4a5621fab..35de50760c 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -417,8 +417,6 @@ static int vpl011_mmio_read(struct vcpu *v,
         goto read_as_zero;
     }
 
-    return 1;
-
 read_as_zero:
     *r = 0;
     return 1;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 08:34:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 08:34:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450253.707506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0f14-0004M4-JT; Thu, 01 Dec 2022 08:33:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450253.707506; Thu, 01 Dec 2022 08:33:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0f14-0004Lx-Gb; Thu, 01 Dec 2022 08:33:58 +0000
Received: by outflank-mailman (input) for mailman id 450253;
 Thu, 01 Dec 2022 08:33:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lVjU=37=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p0f12-0004Lr-OP
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 08:33:56 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2060a.outbound.protection.outlook.com
 [2a01:111:f400:fe16::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e4363865-7152-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 09:33:55 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB9097.eurprd04.prod.outlook.com (2603:10a6:10:2f0::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.20; Thu, 1 Dec
 2022 08:33:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 08:33:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4363865-7152-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fdTeV6eLRqBzumJYMzjhJGGmNySKy++UW4zJKV4px1SVnSUd9N5UMKBRJOgZ/fZzXJ0bEliM6mW4bLyxl7/nEID9lbxKKDRAAARLEi0SrmcnW8gWM3FhJfj/bnwoOTD8/9yGekBRitztAiuniINaAzcK6MlJnF6Qg6ybmEOqaNNNvwSHH16rJXxnDDEuLbenDvmezpf9gHsOs9bcwFcyGUqlo/wYxmHKmUGin3oZOwAV2O+Ua72HTGvYidiRPW2QPYX68DRyITbFbtLd9AqetonnuOLX5iuvNvPTyUNd8MiUkoBOTZGQqPBYY1/tBZNFJQO4slJ2LssXvqlDB3p3nw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qeQ8/Wy2RogStjqmjqkyo67HpC4bAaSGIO5p4rpEzd8=;
 b=WTCV6IGCT7cC+7AgqQA9fklQMpCCjJaQE9IpvOZJxIPWCIyHCvvi+mDdlSLWT/ed0NrZY63a3go2RIbY+XuK6CEa3Z35FqbIMgsvxaSegoUu0yf+PasIMi5UWvq//KnMhMs7/ZD42dimWVveQ6Nx1b4yDoI5+SID4roNkcMgkxV+kA6YyIzB/f4hmG6VYJCcF37TtNJ4r0wY5Id0zSeK92UUFGA5F87ST+jijeX396yMJhquRfH2TC3BNqBBum8SSZ5+xxTYvWcoqdgR/+6Aql7NTyA7t5dr3dt6w6BeCwzOHmgstOicYtgf03sWIK9tKiHv4rudfWFWyS8HgrgOZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qeQ8/Wy2RogStjqmjqkyo67HpC4bAaSGIO5p4rpEzd8=;
 b=xM2iu/lW39TCuE1V87m2vde7POK6vmC3UL9jD0VjeudERxxLwUBGD052hjneHzBZ1xdqh7zkILKqoZr9KXvbzreAq0H9Mdb99K0xUJHi3RIwFNy1LB2QgUWadw7grEgkfCuMY6D/J2QOfjyYSZ1C9fFXGY+CPzRwIkmUz0xRzI20jECBja6L4Fjj8VIE14wYvxzbxAEsIgGdIlfzoljiiLISj0PvSxKFJYQQJSySxK87Swo4aeDtbt54+7Ko6mQ6r+PIA4u/VcUMpqha0bOzoby2XHFfo5jq3VG42nxubAjML6O6ulcTQgzC0kMKromkkCcgPv6JhzeH8fizEp9txw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <471b6470-b0b7-a97d-2114-a1871e237a89@suse.com>
Date: Thu, 1 Dec 2022 09:33:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH 2/4] xen/scripts: add cppcheck tool to the xen-analysis.py
 script
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>
References: <20221128141006.8719-1-luca.fancellu@arm.com>
 <20221128141006.8719-3-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2211291607280.4039@ubuntu-linux-20-04-desktop>
 <CD8C2F1A-B321-4E3D-907C-E6DBB1A5E2CD@arm.com>
 <alpine.DEB.2.22.394.2211301145132.4039@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2211301145132.4039@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0164.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB9097:EE_
X-MS-Office365-Filtering-Correlation-Id: c53bc9b6-fdf6-4d57-1eb5-08dad376c742
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QG5uqIrZFH0ZEJ0ur2byhQkmvUlmVefJ9FUxwg6AJKXlRo53NsHV1VQjRaV9TZ8FewuDvR1M7sz4LhmIIbzuVjYIBGYxOnpsBUdA7sp/E9H7rJEkLrRHYkPxpStNdwWcfq7TERWup/IpsnxsICD5nWa4OA0uzVD4loBg//zIdqVf7c67CoFQJhLgdKZAPPfHjbpnpHDnlgLapNErdJZ/tr+5irRP0tm4cdoUJrBxwDKuxidKKXUhTQBShW0EA1vD8Jb2gxK//4o6EF953RbxwPVmoflgGatX8FjZshmwoE7GywlwyRnu15t3Iqr4ryYn6fNZZpdnzawgqQDKn14pYGVoFkd1v9mSTxbCzdavLSOj1lApLga0p4dd6MzmNT7Zd9NSwkziPNjZU7V2tmEPfbnaYNvgVZH5VsdZLtUl+vLJ/HL2AbaA3d2dElYL/lLhwvFoPEtvQ6SrrwWqUVCmIYHE0gISAD73JLIplo4Fvw9AF/BCcWP3HFathKEXUq9CSB3xar1AubMRlOpbzb8vkTp8zICLoGeB1UDOBAiuF+Z7xBs9UI6yDJRC+Fj+Ulkakyj70ZzvRgw1HZXGMCs+guEoB88R7vNhFVr/dQlKIKB2yjqwjGXZMbB7ChmbcBbqz5sNj8DK3jXeQvp8oxSb90PxpAKD/Xj612itiVUaLiAa9mEesVrvlsyQ8H1no/zyVIg2RvuO/rmKHfkmWydoAQ8wFN0EI2aUKKvog0UlIC4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(396003)(136003)(39860400002)(366004)(376002)(451199015)(4326008)(8676002)(66556008)(66476007)(110136005)(316002)(6486002)(66946007)(2616005)(54906003)(86362001)(31696002)(38100700002)(5660300002)(8936002)(41300700001)(2906002)(186003)(36756003)(6506007)(53546011)(26005)(6666004)(6512007)(31686004)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TEJoNFhPaURabkRzNUUzbjRJeEtXRS9PQkRYa3QySFpnZUlCMmZ4aGhRblFi?=
 =?utf-8?B?cDdiRERZalA3cUxYcjFOeTIxdC9INWczOHZNVkFUb2FUdThyUU5acDc5WE5y?=
 =?utf-8?B?YU14RTUvaWpLS2lFSCtTcytIcDRCaUN1L2hUMzRTOEdnYjlVUldUV0kzZEY1?=
 =?utf-8?B?NWRpUCtKN1BnSmp3M25UQmpWQ3ZCV2xyNWRCcEFZWlBmbThDZ1lpSEQ0Q3pm?=
 =?utf-8?B?K3Z1RFdjWG9yMnI1eGlDZDk1ajFXUlNPWS9FNUUyQ2h6ZVI1UXovZWR0eWtU?=
 =?utf-8?B?RFdvWHZqRWRYditYclFET3R2R0hEQTdQeDZLY0JoazI3UGtQV2VXTVJWYWhm?=
 =?utf-8?B?aUFyZ20vOWcxWG12cnVPZFpQcjNZOXRNTXIrdDk0VFF3SEVtdWxSQ3dMQTM2?=
 =?utf-8?B?VGs0N3RGKzM4ZzZiQ0hlZm1DSTYxVTlUQjcva3YzTjNUWSt3WnNrSTUvb1dB?=
 =?utf-8?B?YkJRWVNQakZCZWE2YzBUUm56UjdBUmxJTnBibGNsSGFDTFFFWHRVREYybmV6?=
 =?utf-8?B?ZkMxaFMwc2VneC9ITFZtbVloTGpqaTN1K09UdU9Pby9SQ083SHFtLzg5Mml2?=
 =?utf-8?B?TUcyeElDMUlad3lwVld2YjN0LzBaeXhkNjNYQTB1UlR3bVpudlZ3dk5CTDdW?=
 =?utf-8?B?VEd1dFE1U1NQS1ZHSWxIMkxpZUxKc2FrMUZZVnl6UlJqOWxFUFdONDEwSTNu?=
 =?utf-8?B?cU5meGJoUEUyakExU1ZObHBhUVBKcjdqU1VkdFdqRXRULyt4bVN3Z2kyR2V5?=
 =?utf-8?B?WTErQ2V6UnBJaHRvR0pjRm5rNmlsR0xFSGpubWYxM1FLL0I1bzNXTWpEOWxS?=
 =?utf-8?B?ZTNoMS93eGhjUzVweXFOOFBkNFVSUlFsY01sRHVMOGlFRmkzUXpTNzA2cHh6?=
 =?utf-8?B?RVdZdHFsa0t2bGZwRk5Fa2xEUzdHWlZhejJkTXhIN0hGMmtNbTFIT0syeVJr?=
 =?utf-8?B?Sys2VFN2bkEwd1drK0l3b3NiSWJOMUNSYWgvbFlSNHJVU2NnQS94bDBlZWNR?=
 =?utf-8?B?Qm9PNmUzc216WGNqbGZrOTc5eDkvVDFNNlNEZEpXUjBLUWQxeVlwUmh5WjNh?=
 =?utf-8?B?ckRndFNxTXNCcWZDTjVKSGRGeVF6UCt4R1BRMDIwcEsveCtKY2JsV2NaWTRn?=
 =?utf-8?B?QTY5MTUwcVdyMkhEOGdhcTBNdENha3RPZ1BrWDZqd1hlZWNEelZuNTlHSy9y?=
 =?utf-8?B?ZnpZK0h4YmI1ZGdReDlLOFBaZjZIYi9wVDF6TGU1N1hQenVKbzNPdzFOWDZ3?=
 =?utf-8?B?WmtadnlvM1IwNHZydXlXRDVJOWJvQnU5cUx3d2d6YTh0UW9CWCt1Z2YyZDVa?=
 =?utf-8?B?Zjg4TXZndmhZcmdGL3pGbmVnRHd2QWFwNFRnMFFDc2hKczBXKzRid0REODZR?=
 =?utf-8?B?alRaSkdJZ1VXNU01WDFrUFVvMkxzaXdiVXBwaW81MmtFckI1azE2OGswcDJW?=
 =?utf-8?B?YWs2SFRKV3krR043NDhjMDBjVUt1U3FNY2szY0Zab0VodUlENFFBTnZNYnox?=
 =?utf-8?B?c1h5dWxmaVFZVDQ0Wm83UWJoZWpIQlE2NEsrQmE4djBoblF6ZmtpaWtmbWgv?=
 =?utf-8?B?dlJRV01LRFV0UXpkMDRJbS9KdC90aC9CREhMSXRjcVFYZVpPVmxwZWJKTW12?=
 =?utf-8?B?NFZSSlZNcTlnT0xFM2ZhMTNGV0VPSXVWOWVUS21RSjRBcGtUbG5zTVhxV3Jy?=
 =?utf-8?B?V1MrMnJBZFhwT3Z4ZHlEYTJOOGFobnZGOWI4eDRDUE55VlRzbjgwcFIrbUVw?=
 =?utf-8?B?L1hiYVF3NE9pTFF1ZGxUVEcvTllySkJGc2VkSmJzYXNuck9sVmNPOCtJTkUr?=
 =?utf-8?B?NlEzeTRNR0NYNm8vcnlTQi9reFVvTCtVajBLdXFZZ3Voc3FsTDRZNXVmM0VV?=
 =?utf-8?B?Vmx1bGlUSnFLWGE3TVRWUk1MYmJxa0lXTm1PV2pjM2ZGOW1JaVRsbFowNGIv?=
 =?utf-8?B?T1dMVFloVjlHS3ZQdW5JN3daUGFpMlRZTThXQUxRSkV5SkdQSGdzY3V0NzBH?=
 =?utf-8?B?ZUttRzR5SWRoL0tacnZRbnlwbWowcjA3VDlFYmR5emhlVHR0YzgyUElSTEpn?=
 =?utf-8?B?NDM0aTAxWTRyN1VaNHB6WkNIcjFFYXl0Z1hUZ0Y3Ym14QXpjMmNTVnZubUM5?=
 =?utf-8?Q?iap2w7BNhqNbHenQQr1Mr8RrA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c53bc9b6-fdf6-4d57-1eb5-08dad376c742
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 08:33:53.0978
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UAymnP4Lljwoy6gBd0CKe10r9f6rJylw2b+acsKJ6lP4Lp9kRD0FHLst5VD2bJ/LsHhJpSDbtWrBj9AOcoJxBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9097

On 30.11.2022 21:26, Stefano Stabellini wrote:
> On Wed, 30 Nov 2022, Luca Fancellu wrote:
>>> I think the revert of the cppcheck integration in xen/Makefile and
>>> xen/tools/merge_cppcheck_reports.py could be a separate patch. There is
>>> no need to make sure cppcheck support in the xen Makefile is
>>> "bisectable". That patch could have my acked-by already.
>>
>> Ok I will split these changes in a following patch
>>
>>>
>>> Also the document changes introduced in this patch have my reviewed-by:
>>> - docs/misra/cppcheck.txt
>>> - docs/misra/documenting-violations.rst
>>> - docs/misra/false-positive-cppcheck.json
>>> - docs/misra/xen-static-analysis.rst
>>
>> Thank you, should I put those files in a separate patch with your rev-by before
>> this patch or this is just a comment for you to remember which file you already
>> reviewed?
> 
> If Jan and the other reviewers are OK, I think you could split them out
> in a separate patch and add my reviewed-by. If Jan prefers to keep it
> all together in one patch, then I wrote it down so that I remember what
> I have already acked :-)

Docs changes being split off and going in first is okay as long as what
is being documented is present behavior. If other changes are needed to
make (parts of) new documentation actually correct, then it should imo
go together. If new documentation describes future behavior (e.g.
design docs), then of course it's fine as well to go in early, as then
there simply is no code anywhere which this would (temporarily) not
describe correctly.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 08:41:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 08:41:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450260.707518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0f8j-00065P-Ct; Thu, 01 Dec 2022 08:41:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450260.707518; Thu, 01 Dec 2022 08:41:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0f8j-00065I-9W; Thu, 01 Dec 2022 08:41:53 +0000
Received: by outflank-mailman (input) for mailman id 450260;
 Thu, 01 Dec 2022 08:41:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GiR5=37=citrix.com=prvs=3274737ff=lin.liu@srs-se1.protection.inumbo.net>)
 id 1p0f8h-00065C-52
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 08:41:51 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1d9f6c7-7153-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 09:41:29 +0100 (CET)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 03:41:37 -0500
Received: from SJ0PR03MB5405.namprd03.prod.outlook.com (2603:10b6:a03:286::9)
 by PH0PR03MB5765.namprd03.prod.outlook.com (2603:10b6:510:40::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 08:41:35 +0000
Received: from SJ0PR03MB5405.namprd03.prod.outlook.com
 ([fe80::c828:7473:2c2d:e91d]) by SJ0PR03MB5405.namprd03.prod.outlook.com
 ([fe80::c828:7473:2c2d:e91d%7]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 08:41:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1d9f6c7-7153-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669884104;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=xk/vUElMeNm2A3435TxaIILpZAurRW8CGqf2p+MlwW4=;
  b=SC8JAMJ0hpHLh45auTETSEjtsT5glZO0ryAlrheIj+BPS4vG/GwQ56Df
   +xtqc1uXpCNU27gkw2gqRxCzZatAUpO/1g2b5qLcMBGmpiai3Rf7rLvtA
   LHaTWm0TTAXaBRF/WMcbzmRpMv/dpF2uz7XqQd60i92dH0jnmW3FefyMn
   o=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 85042207
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:RBc8n6DMPgSGzxVW/2Hjw5YqxClBgxIJ4kV8jS/XYbTApD5z0mMCz
 mobUGHTO//fNzP1L492YY3n/RwHv5PQxt5jQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlA5wRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw8McvHkpgx
 +ckMHMAaRCbmLKU5+KaVbw57igjBJGD0II3nFhFlGicJ9B2BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI9exuvTi7IA9ZidABNPLRe9rMQcRItk2Zu
 njH7yLyBRRy2Nm3mWfdrij23rCncSXTRr45BOKx8cFTpnKY+0VPCDosSUWCiKzs4qK5c5cFQ
 6AOwQItsKI73E+mVN/wW1u/unHslhwTQd1LCMUh9RqAjKHT5m6xHXMYRzRMbNgnss4eRjEw0
 FKN2dTzClRHt7mYSmmU8LuOmi+jIigeLWIEZigsQBMM5p/op4Rbph7GUNtmOKK8kNDwHTb+3
 3aMoTRWr7gfkMsCxain1V/AhD2oq97CSQtdzh3eVG+j7ytjaYKlbpDu4l/ehd5QIYDcQlSfs
 Xwsn8mF8PtIHZyLjDaKQugGAPeu/fntGDvRnVJiAbE/+Dm3vX2uZ4Zd5Hd5PkgBGsIFfyL5J
 UzeowVc4LdNM3awK6x6eYS8D4It16eIKDj+fvXdb94LaJ4hcgaCpXhqfRTJgTCrl1Uwm6YiP
 5vdadyrEXsRFaVgynyxWvsZ1rgogCs5wAs/WKzG8vhu6pLGDFb9dFvPGAHmgjwRhE9cnDjoz
 g==
IronPort-HdrOrdr: A9a23:t2uKUKB0ge6nwAvlHeg3sseALOsnbusQ8zAXPh9KOHlom52j5q
 KTdaogpHzJYW4qKQIdcLC7WZVpQRvnhOVICPoqTMWftW7dyS6VxeBZnMnfKljbcFybygcz79
 YeT0ETMqyIMbE+t7eL3ODaKadl/DDkytHXuQ629R4EJ28LGsYQiTuRSDzrY3GeLzM2f6bRYa
 Dsmvav0ADQBEj/AP7LfkUtbqzugOLqufvdDCIuNloG5hWHni/t0ITbPXGjsSs2Ynduz6sr4n
 SAqwz1j5/Oj9iLjjvnk0PD5ZVfn9XsjvNFGcy3k8AQbhn8lwqyY4xlerua+BQ4uvum5loGmM
 TF505IBbU011rhOkWO5Tf90Qjp1zgjr1fk1F+jmHPm5eDpWT4gDMJFpIRBNj/U8VApst1Q2L
 9Cm0iZq51UJxXdmzmV3amOazha0m6P5VYym+8aiHJSFaEEbqVKkIAZ9ERJVL8dASPT8ukcYb
 FTJfCZwMwTXUKRbnjfsGUq6serRG4PEhCPRVVHktCJ0gJRgGtywyIjtZcidzY7hcgAoqt/lr
 j525dT5e5zpwgtHPxA7dI6MJaK46r2MEPx2SypUATa/eo8SgfwQtbMkcEIDaeRCcU1JdIJ6e
 P8eUIdumgod030D8qSmJVN7xDWWW24GS/g08dE+vFCy/zBrRXQQGa+oX0V4oSdSs8kc4Pmcu
 f2PJJdGPn4K2TyXYpZ1Qz3XJdfbXQfWMMTvMwnW1iV5t7NN5b3rPHWfZ/oVfDQOCdhXnm6Dm
 oIXTD1KskF5ke3WmXgiByUX3/2YETw8Z95DaCfpoEoucswH5wJthJQhUWy58mNJzEHuqsqfF
 FmKLeilq+gv2G58WvB8m0sMBtACURe5qnmThpx1E83GlKxdaxGt8SUeGhU0nfCLhhjT9nOGA
 oavFhz8bLfFe3d+cnjMaPrDou3tQpamJvRdeZrpkSq37atRq8F
X-IronPort-AV: E=Sophos;i="5.96,207,1665460800"; 
   d="scan'208,217";a="85042207"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QWzXsxVMquf8wZyAvgcaLI/gvDXGPD2LkaDRvDzdIdkv42Hqhbxq1IsdUaA/iX8YfmEGddcPPp1h3S83klCz0UE4xaolwfGTOgkK5avhWZYle3nhb4U+x5NosQaOusrjYGPXOT85ucUm25RFYMOTNg6EwBAEZ/DvZhdKnDM8keYJQnkJhSNbAHF0/eCtbJlqsOVAbDx53Rwic8mtODCMKhKKRBYiE4Ocy8/4RnIQGwa+ngRKbI16IpeNbEtfyta/IzGzuWfExEalE2fdil5KVkan57+yBdqvRpUYkHWHpk9d/8wF+p4qghbGKxxT1WH7rZ7bXizChYN1+0i1V2kHgA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IqH9dux42rt1NMmnxoHxWz1BJpDwzaRegLFfvWRjWOs=;
 b=cSFlEwOjNOlJsRQsFksdtxcD4LEymhXEgizJovgex4TlZ8ziuVAR6eggZaKMSCebLBraEq/LZADH7Ay+SjN1SwJitGrjkflFU/8sQVhgpMnoaDGcVubQ2HY0oKlKt8EFxubTuAK4QHzJw5UUPphmw2tysQ9StkdYdgBrbi3k7fAN1HK3egW89XCJK0lKLL52JCm8gtmdZGS4hnR4yxV/Ovc0JgdLgzmdS0YhE1dJ5FNYfOzA65A+hQUyqMAv7lb36e3rKQ81AkMjEcV7OGOgNt1RlMfxD6YOvqUxYeN4GyK+mpDXie8q36PobUAZbs9EV81tQZy70hE4iNkKzYPsvQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IqH9dux42rt1NMmnxoHxWz1BJpDwzaRegLFfvWRjWOs=;
 b=wIikShE1ZJTSfxmz1NDKB7EFaykdxR71t8IJhYWFUyob3pNEKI2z6asBvmXW+lSHTAVJkaRGj8X6ZnQSQBk8vogFd4ZGmtP1IG/IzDjnPoSm3IKyMWCjYmDQCnO/eg0s2lv7OkbYWm9fpw0/fZxzb12KWScAGRsfZzfV2OtCaHU=
From: =?gb2312?B?TGluIExpdSCjqMH1wdajqQ==?= <lin.liu@citrix.com>
To: Jakub Kicinski <kuba@kernel.org>
CC: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, "David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>, Paolo Abeni <pabeni@redhat.com>,
	"moderated list:XEN HYPERVISOR INTERFACE" <xen-devel@lists.xenproject.org>,
	"open list:NETWORKING DRIVERS" <netdev@vger.kernel.org>, open list
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] drivers/net/netfront: Fix NULL sring after live migration
Thread-Topic: [PATCH] drivers/net/netfront: Fix NULL sring after live
 migration
Thread-Index: AQHZA7o3+GR9FRj8kECyz/57PLyGOK5Yg4yAgAA1/qA=
Date: Thu, 1 Dec 2022 08:41:35 +0000
Message-ID:
 <SJ0PR03MB5405CC470B49DCDDD99A91D09D149@SJ0PR03MB5405.namprd03.prod.outlook.com>
References: <20221129061702.60629-1-lin.liu@citrix.com>
 <20221130212645.06a36158@kernel.org>
In-Reply-To: <20221130212645.06a36158@kernel.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR03MB5405:EE_|PH0PR03MB5765:EE_
x-ms-office365-filtering-correlation-id: ce5986b3-3088-4d27-577f-08dad377dac9
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 PnFea6p1XE5gtQamRDlfLlYb4Lfa5zkYYlhn75+sYGOCsxqlUEruwPmr9t96VNTp7NJq+B634RA4DGBJ4na8POqVIKYVTOYuyRIH8c1UqaMn7sZMV1WX3UtE232lWcJtyHXobEGWuf6uN43kb5nlyOLPaANuESvxjTASLkgmkvzlo8RSaLjQIfAY+Qvq3m1aAv2MlOgsSk7sX8BuYwamCmkA2GHC0ywQkV2NidBJU+/53A2HzHM/zOuHykBJOvxY7SJNVWRyuDtUClsd10i+ae349bGI2laksQdFLJM3ym7T8GyRqoHnl58rTF3hxKNkZSpcI5AomLYq676CBodMj+DUtxMhN4bLFsvvDaP9xjZnC3ivrwsOvvWNR3Rxpf1cdAKAC3nX3l9pR1ETbOvOkEUc8da3oBLGkRQhxJ/9aTID344tHmsxezNf119rONTxSCXUSs153iHexu/tRckq0mR+ceDHWxqrJtkq63xgfqILz4+8D/N0AXxpEmxW9EZf2hD34gLpHPOD3D+EYyQqMdm8X3zcznUVdrTy4md4QFAJgP4IJQw5LvFWkrqVRDYg/iCHXUBReb0V60yLPbCeMfuKX3ybu65/VTRNxJbow4ACcP52n0OTRTPvqthFLPf6vAffeVJ0ACeL3WrSkoNizAnB7niNAm3T068Ez8NXEtLSINfOe0QGNl2RiCYxF9kF
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5405.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(366004)(136003)(396003)(39860400002)(346002)(451199015)(55016003)(85182001)(86362001)(54906003)(33656002)(38070700005)(6916009)(316002)(5660300002)(71200400001)(478600001)(4326008)(8676002)(91956017)(7416002)(66946007)(41300700001)(76116006)(66476007)(66446008)(8936002)(64756008)(66556008)(52536014)(83380400001)(38100700002)(82960400001)(9686003)(122000001)(2906002)(186003)(7696005)(26005)(6506007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?SGViUmlRUzBzVlpLMk9HL0swRkxDeGtNbVJ5U1d6dUp6SllTVGxpUmdXWnJx?=
 =?gb2312?B?NFF6dkhBR05NZWVqdkZZV24wTTFGcDNRdDkzZWsvaUg3UlkxNExobHhrQzBz?=
 =?gb2312?B?Y3QwZVMyMHlaY0VMK2VyN1dXeVJLaHR4RHAxTlRucS9KTVhOL0RBSjA5YzNa?=
 =?gb2312?B?K1NoT01ld3EyZzBJUWRJZi9DM1J1STU1eW9Gb0dsbkVpeEdsRmZBRnJHb2U0?=
 =?gb2312?B?MzNhRkJHZXNiZXM3ckk3bEtiM2Jhd0xZUEVxdDc0YTNEK3pLcmJzQkZubmRQ?=
 =?gb2312?B?cFdRUEQ2NWY0TWo3N01BYWowS2JkZ0tQaXNRa1R6U05YSzNtWHVKTFZQRTk4?=
 =?gb2312?B?d01ieW0yZWh4cWQ5dXBac1JqYUl2a3B2dFVLQklqZ1NhVzVXUWFSK1ZXUnI5?=
 =?gb2312?B?ZE91TnF2NGFPK1pKSDFoc2YvLzNxM0FOdmJNZnVlS1JyMWdWWjg1NjRnYTl1?=
 =?gb2312?B?eGtYOWlCMTBBVzE5czVFZFovOGV2MkZqVDgxdTVSL3RvSzQ2TllCOGc0Y21s?=
 =?gb2312?B?cVpkTmxQQm9hdnJGWFJCL01DWUdNNmxFV2kzT1E4bTFkeFJWM24rUmU4WjBS?=
 =?gb2312?B?aFRFRHE3VWxLK1JiMTFiY1JCUjl2NHNhTHViMUQycnFRSk1mTXExWmJKWGVa?=
 =?gb2312?B?YldJVFlaSjdlWndENTB0UHZYZWRZUFJsa1ZYYTJVWGRiN2lwRGZGbk03VFJh?=
 =?gb2312?B?RGZVdVM1ZGxWT1lpckQvTGJXazNQeW9ON0U4U1o0eVl1Sm9QbTZjcjBGTTRQ?=
 =?gb2312?B?b0dQejhMLzYrLy9pclp0NEltY0JtRDI3Njk2UTVnNXVTdjRHTVZiaVBMQjVE?=
 =?gb2312?B?RXBseUdIVGVMZW5reEhBTGhrNGpsUVlybXQ1V1U1cEpEdzh0Z0QvQ01mT240?=
 =?gb2312?B?d0xzVG5pYmkrNEpkS05rdEpQWCttYjBVNnJPTlFvZWxMS3ZFRldicW81YVFK?=
 =?gb2312?B?TjBWL091WU5kNkwvTDczRjVVWXBPdTZNRmVXKzRWN1llQkxNTnlFcDFoZTB6?=
 =?gb2312?B?R1ZTSldNZFZ2LzJYQjFDMWpySzlVM1BhejdMOFVKcDZsdWNBYUJVTi9iV0pF?=
 =?gb2312?B?MHRHa1RKbkxGVjJ1V3pSRklJbDhvU3hjQjlvS2lGSElUejU0QzJRL2RiZmcz?=
 =?gb2312?B?SHVmV3lXcXIxSldTVzB1RWlhV0NTRjNSNW9UYXBsUWpWNkFqbHBnNVJocnlv?=
 =?gb2312?B?OHk1ZHZ3ZzhrNTN6UFJ1ZE9ZUXl3V0NLUUw0UFVTQ3ZnVXdoZDVWUjBvb1Vj?=
 =?gb2312?B?b09TL3VucjQ0MTVPWE5USTRYbm1tWnc1cUVOS3I0a2gzcEVVMEsyM2RvRXVt?=
 =?gb2312?B?elovUk1GMEIxemk3MS80aVNkaWFEWWk4RkdqN0J2NGpuRnlSdjJmZFArLzdz?=
 =?gb2312?B?V2QzTldOaEdkSkRSVDg3elFhTTNFMXZMak45OWx4UEFHSnR2ZFozbXFXbzMz?=
 =?gb2312?B?WDczRzdHUHRnMUVhcy9QMTZxS3VVRFg0aDVYSTRxcnQ0b2daZjFEQjBlbVRX?=
 =?gb2312?B?TkhGN0k0akhPQ3hlbTI0L3JDNStDKzVTT2g1bzBnWm9vNk9sNnV0eFZwT3A1?=
 =?gb2312?B?SzMybmRQay9MMnpIdFFjMzZYamFtUXBtTStmd0RkSURxSWNnZm02VVQzYUIz?=
 =?gb2312?B?MFl4L0dUZk14a2dsWHNkWnVCWmQ5NEFLdmREWmY5UW9yQm5XR2RaRkp3MEJG?=
 =?gb2312?B?L3dVem4vZ3Y4R3BwajcwaERDVFN0RDZxVDM0U2JvNEdBZXp2bGZ5Y01RdTNU?=
 =?gb2312?B?cm55WmY4RUVrNTJ5N3pQZ1BmRDRBS01kVytYVW02TjNxb3k0NkQwMndFMi9o?=
 =?gb2312?B?aTAyaWNyTmZBaWZCeVFTNFVrQ0FndWdFNEdCUExNTmlPNlprbDBSeHUyWUpu?=
 =?gb2312?B?R2NjZnZoQW45ZVZ3VnlkT1VidGFaQ01qd3B6enpOekgvK3RDWkVMczNOcmtj?=
 =?gb2312?B?NUJiWEVoRE40aU1McGJkR1I1cEFPWnUxdUczUm1CMlBtb3VyeXJIWVVSUlFE?=
 =?gb2312?B?RVU1TVBGck95NjdHMnZVM04rdXQvOHZROVI4aFJUWUlaUDhZdXRLbkVraW1M?=
 =?gb2312?B?N1lURXNaczhIdG9oMHBVaGs0czdFTk9GNkU1dU85Z2twWFl2ZXRiVkJLQndN?=
 =?gb2312?B?cWRsK0tPRTV3SGY5RGpFOXEwWTlQL1FLam1VSk16eEtxdFhIbGQ4SExBMVBI?=
 =?gb2312?B?U0E9PQ==?=
Content-Type: multipart/alternative;
	boundary="_000_SJ0PR03MB5405CC470B49DCDDD99A91D09D149SJ0PR03MB5405namp_"
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?gb2312?B?RUlkZUdQV1NmMStuMGYvOHAwOUpWNXJ3L3Nvc0hUSDVBQVY3QkM3M0dhQlFp?=
 =?gb2312?B?SjlSY1BBTEx1eW9jVTJMRTd1VlhQeVNVNWR3bFE5cTRBUTAzcS9CekVxM0lz?=
 =?gb2312?B?cGdnVWtMd2d3OUY4UXUvVFRWRXdqRFlLbnRGdzRqZjM0Rjl6M2xtUmhCdmo5?=
 =?gb2312?B?SGcwYStwelVndmprQkUyaE91UkZOdkNwL1Y1Z1VLYlpWTGdRQ2RiSTA2RUlz?=
 =?gb2312?B?cWcwQlB5TXVQUkJPK1U2WTJhMUlMOUorZnd4YXMxNGZGdkswcHdsTTlSZzF1?=
 =?gb2312?B?ZXphcmZQZmU5c2piQm80VytoN1h1U0RxU29scmtOVjRvd3crYmd2RzM0S3lL?=
 =?gb2312?B?b2JJYTkzbE0zRmNqQmxEcGd3dzFHbER6M2lidlFQR3VXakt3SzNTTWNGNXdH?=
 =?gb2312?B?OHhkdHZwZGlCK21vR0srMzJKS0M4eVNyR3VNbU52VERNZEdQY3ZhQ0JPc0xm?=
 =?gb2312?B?b0Z4bVZZUzl5QXpvanhGdVk0VFN0ME80bVFJRWJNdUpaMVRJTFBXSklyWE1T?=
 =?gb2312?B?bWEzdWk4NHpsRTFkYm80bGY4WUxBeHpjejl2emY0Ym9EWjEvc2FUZDJtbGxy?=
 =?gb2312?B?VzhQMVZxL1lUSEVoK3BUZFFIdkpnYWcvVUpXZzZibnNHMXV3M1NWS0dJMGFB?=
 =?gb2312?B?SUpZc0ZHN1BkZU5JWlcrbXJGQ0dYNEU4SjhPaDQyeEE0cVNtUzZEbU5VWS9s?=
 =?gb2312?B?bllsT21qcS9qemFLSHRjYzI0L0pkNndIZ2t1Sk5XL3V6UG53aWtpZVlGZUVs?=
 =?gb2312?B?bXRtTERjSEUvRTAxOC9JWXdlWHhpYXVrbHVMRW53dGdQdEZQeWJFUkNXOU4v?=
 =?gb2312?B?MThaSWZHeHBvOXJMdUhSelN2SVo3NTJ0ZmZYa2JWc3RheTJoY0dRb3I0dXFR?=
 =?gb2312?B?ei9WSFNEQW5UMmVjeEhkczQyWmx5d3hjWXIyNVJ4RG4vYThSN1JyaHNiSjdG?=
 =?gb2312?B?YlFIbUFuTHphMDNNOEljOFBsd3JRQTVKSHA3RGpVd2RZTVJsQmRIc3BINmxY?=
 =?gb2312?B?WGdwdEExYXFEUUVmdjc2aWhvNHdaOWUyU09oU1pzcEx5L0dsQTFMTDhuZ0pH?=
 =?gb2312?B?NUZaeUpXL1VLVmdSKzIzL2VqZFBaMGdZSzk5QVo2VzhXUWJodjNIVG14anlj?=
 =?gb2312?B?RHFlblVWL3V3QVpxaXFYT1ZpUHZNckYwVTRsUnp6c3RyZzRxaW5vUjBtQVgr?=
 =?gb2312?B?UkxOTk5kVmxiOW14U0t5VlRZYmJITyszU0dRN01CSnNTTy9OYnc2T29tQkxL?=
 =?gb2312?B?LzErVTl5enhjS2VDWit1UmwxdEVoWlFIRHRTM000dVdHZGl1VmRUNmFRcmww?=
 =?gb2312?B?VHBCZmVWeWRQcitaYndqNTFpVnNIWWFKTkxFdVRySlBTVGFjMWJBS0VGV3Mr?=
 =?gb2312?B?Z3RLLzUwQW9JaytwYitoZnJJdE5QTm80NGdPdytYVFFrVkRweUw3Um9NQzky?=
 =?gb2312?Q?fDfFa+sS?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5405.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce5986b3-3088-4d27-577f-08dad377dac9
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 08:41:35.1075
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: wmoYSGQoy14wz9AJDVlGlZ6B6cRM2ZkaAeR4/Ar7MIuF87FtC/twQCrLScntzJiPqxVaAUr+WnuPR+ibI8jkYg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5765

--_000_SJ0PR03MB5405CC470B49DCDDD99A91D09D149SJ0PR03MB5405namp_
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64

PltDQVVUSU9OIC0gRVhURVJOQUwgRU1BSUxdIERPIE5PVCByZXBseSwgY2xpY2sgbGlua3MsIG9y
IG9wZW4gYXR0YWNobWVudHMgdW5sZXNzIHlvdSBoYXZlIHZlcmlmaWVkIHRoZSBzZW5kZXIgYW5k
IGtub3cgdGhlIGNvbnRlbnQgaXMgc2FmZS4NCj4NCj5PbiBUdWUsIDI5IE5vdiAyMDIyIDA2OjE3
OjAyICswMDAwIExpbiBMaXUgd3JvdGU6DQo+PiBBIE5BUEkgaXMgc2V0dXAgZm9yIGVhY2ggbmV0
d29yayBzcmluZyB0byBwb2xsIGRhdGEgdG8ga2VybmVsDQo+PiBUaGUgc3Jpbmcgd2l0aCBzb3Vy
Y2UgaG9zdCBpcyBkZXN0cm95ZWQgYmVmb3JlIGxpdmUgbWlncmF0aW9uIGFuZA0KPj4gbmV3IHNy
aW5nIHdpdGggdGFyZ2V0IGhvc3QgaXMgc2V0dXAgYWZ0ZXIgbGl2ZSBtaWdyYXRpb24uDQo+PiBU
aGUgTkFQSSBmb3IgdGhlIG9sZCBzcmluZyBpcyBub3QgZGVsZXRlZCB1bnRpbCBzZXR1cCBuZXcg
c3JpbmcNCj4+IHdpdGggdGFyZ2V0IGhvc3QgYWZ0ZXIgbWlncmF0aW9uLiBXaXRoIGJ1c3lfcG9s
bC9idXN5X3JlYWQgZW5hYmxlZCwNCj4+IHRoZSBOQVBJIGNhbiBiZSBwb2xsZWQgYmVmb3JlIGdv
dCBkZWxldGVkIHdoZW4gcmVzdW1lIFZNLg0KPj4NCj4+IFs1MDExNi42MDI5MzhdIEJVRzogdW5h
YmxlIHRvIGhhbmRsZSBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGF0DQo+PiAwMDAw
MDAwMDAwMDAwMDA4DQo+PiBbNTAxMTYuNjAzMDQ3XSBJUDogeGVubmV0X3BvbGwrMHhhZS8weGQy
MA0KPj4gWzUwMTE2LjYwMzA5MF0gUEdEIDAgUDREIDANCj4+IFs1MDExNi42MDMxMThdIE9vcHM6
IDAwMDAgWyMxXSBTTVAgUFRJDQo+PiBbNTAxMTYuNjA0NjI0XSBDYWxsIFRyYWNlOg0KPj4gWzUw
MTE2LjYwNDY3NF0gID8gZmluaXNoX3Rhc2tfc3dpdGNoKzB4NzEvMHgyMzANCj4+IFs1MDExNi42
MDQ3NDVdICA/IHRpbWVycXVldWVfZGVsKzB4MWQvMHg0MA0KPj4gWzUwMTE2LjYwNDgwN10gID8g
aHJ0aW1lcl90cnlfdG9fY2FuY2VsKzB4YjUvMHgxMTANCj4+IFs1MDExNi42MDQ4ODJdICA/IHhl
bm5ldF9hbGxvY19yeF9idWZmZXJzKzB4MmEwLzB4MmEwDQo+PiBbNTAxMTYuNjA0OTU4XSAgbmFw
aV9idXN5X2xvb3ArMHhkYi8weDI3MA0KPj4gWzUwMTE2LjYwNTAxN10gIHNvY2tfcG9sbCsweDg3
LzB4OTANCj4+IFs1MDExNi42MDUwNjZdICBkb19zeXNfcG9sbCsweDI2Zi8weDU4MA0KPj4gWzUw
MTE2LjYwNTEyNV0gID8gdHJhY2luZ19tYXBfaW5zZXJ0KzB4MWQ0LzB4MmYwDQo+PiBbNTAxMTYu
NjA1MTk2XSAgPyBldmVudF9oaXN0X3RyaWdnZXIrMHgxNGEvMHgyNjANCj4NCj5Zb3UgY2FuIHRy
aW0gYWxsIHRoZSAnID8gJyBlbnRyaWVzIGZyb20gdGhlIHN0YWNrIHRyYWNlLA0KPmFuZCB0aGUg
dGltZSBzdGFtcHMsIEZXSVcuIE1ha2VzIGl0IGVhc2llciB0byByZWFkLg0KDQpTdXJlLCB3aWxs
IGRvIGluIG5leHQgdmVyc2lvbg0KDQo+PiBbNTAxMTYuNjEzNTk4XSAgPyBmaW5pc2hfdGFza19z
d2l0Y2grMHg3MS8weDIzMA0KPj4gWzUwMTE2LjYxNDEzMV0gID8gX19zY2hlZHVsZSsweDI1Ni8w
eDg5MA0KPj4gWzUwMTE2LjYxNDY0MF0gID8gcmVjYWxjX3NpZ3BlbmRpbmcrMHgxYi8weDUwDQo+
PiBbNTAxMTYuNjE1MTQ0XSAgPyB4ZW5fc2NoZWRfY2xvY2srMHgxNS8weDIwDQo+PiBbNTAxMTYu
NjE1NjQzXSAgPyBfX3JiX3Jlc2VydmVfbmV4dCsweDEyZC8weDE0MA0KPj4gWzUwMTE2LjYxNjEz
OF0gID8gcmluZ19idWZmZXJfbG9ja19yZXNlcnZlKzB4MTIzLzB4M2QwDQo+PiBbNTAxMTYuNjE2
NjM0XSAgPyBldmVudF90cmlnZ2Vyc19jYWxsKzB4ODcvMHhiMA0KPj4gWzUwMTE2LjYxNzEzOF0g
ID8gdHJhY2VfZXZlbnRfYnVmZmVyX2NvbW1pdCsweDFjNC8weDIxMA0KPj4gWzUwMTE2LjYxNzYy
NV0gID8geGVuX2Nsb2Nrc291cmNlX2dldF9jeWNsZXMrMHgxNS8weDIwDQo+PiBbNTAxMTYuNjE4
MTEyXSAgPyBrdGltZV9nZXRfdHM2NCsweDUxLzB4ZjANCj4+IFs1MDExNi42MTg1NzhdICBTeVNf
cHBvbGwrMHgxNjAvMHgxYTANCj4+IFs1MDExNi42MTkwMjldICA/IFN5U19wcG9sbCsweDE2MC8w
eDFhMA0KPj4gWzUwMTE2LjYxOTQ3NV0gIGRvX3N5c2NhbGxfNjQrMHg3My8weDEzMA0KPj4gWzUw
MTE2LjYxOTkwMV0gIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDQxLzB4YTYNCj4+
IC4uLg0KPj4gWzUwMTE2LjgwNjIzMF0gUklQOiB4ZW5uZXRfcG9sbCsweGFlLzB4ZDIwIFJTUDog
ZmZmZmI0ZjA0MTkzMzkwMA0KPj4gWzUwMTE2LjgwNjc3Ml0gQ1IyOiAwMDAwMDAwMDAwMDAwMDA4
DQo+PiBbNTAxMTYuODA3MzM3XSAtLS1bIGVuZCB0cmFjZSBmODYwMTc4NWIzNTQzNTFjIF0tLS0N
Cj4+DQo+PiB4ZW4gZnJvbnRlbmQgc2hvdWxkIHJlbW92ZSB0aGUgTkFQSXMgZm9yIHRoZSBvbGQg
c3JpbmdzIGJlZm9yZSBsaXZlDQo+PiBtaWdyYXRpb24gYXMgdGhlIGJvbmQgc3JpbmdzIGFyZSBk
ZXN0cm95ZWQNCj4+DQo+PiBUaGVyZSBpcyBhIHRpbnkgd2luZG93IGJldHdlZW4gdGhlIHNyaW5n
cyBhcmUgc2V0IHRvIE5VTEwgYW5kDQo+PiB0aGUgTkFQSXMgYXJlIGRpc2FibGVkLCBJdCBpcyBz
YWZlIGFzIHRoZSBOQVBJIHRocmVhZHMgYXJlIHN0aWxsDQo+PiBmcm96ZW4gYXQgdGhhdCB0aW1l
DQo+Pg0KPg0KPlNpbmNlIHRoaXMgaXMgYSBmaXggcGxlYXNlIGFkZCBhIEZpeGVzIHRhZywgYW5k
IGFkZCBbUEFUQ0ggbmV0XQ0KPnRvIHRoZSBzdWJqZWN0Lg0KPg0KDQpXaWxsIGRvIGluIG5leHQg
dmVyc2lvbg0KDQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmMgYi9k
cml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYw0KPj4gaW5kZXggOWFmMmIwMjdjMTljLi5kYzQwNGUw
NTk3MGMgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL25ldC94ZW4tbmV0ZnJvbnQuYw0KPj4gKysr
IGIvZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmMNCj4+IEBAIC0xODYyLDYgKzE4NjIsMTIgQEAg
c3RhdGljIGludCBuZXRmcm9udF9yZXN1bWUoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldikNCj4+
ICAgICAgICBuZXRpZl90eF91bmxvY2tfYmgoaW5mby0+bmV0ZGV2KTsNCj4+DQo+PiAgICAgICAg
eGVubmV0X2Rpc2Nvbm5lY3RfYmFja2VuZChpbmZvKTsNCj4+ICsNCj4+ICsgICAgIHJ0bmxfbG9j
aygpOw0KPj4gKyAgICAgaWYgKGluZm8tPnF1ZXVlcykNCj4+ICsgICAgICAgICAgICAgeGVubmV0
X2Rlc3Ryb3lfcXVldWVzKGluZm8pOw0KPj4gKyAgICAgcnRubF91bmxvY2soKTsNCg0KPk5vdyBh
bGwgY2FsbGVycyBvZiB4ZW5uZXRfZGlzY29ubmVjdF9iYWNrZW5kKCkgZGVzdHJveSBxdWV1ZXMg
c29vbg0KPmFmdGVyLCBjYW4gd2UganVzdCBtb3ZlIHRoZSBkZXN0cm95IHF1ZXVlcyBpbnRvIGRp
c2Nvbm5lY3QgPw0KDQpBZnRlciB0aGUgc3JpbmcgaXMgZGVzdHJveWVkLCB0aGUgcXVldWUgYW5k
IHRoZSBib25kIE5BUEkgc2hvdWxkIGFsc28gYmUgZGVzdHJveWVkLA0Kc28gWWVzLCBkZXN0cm95
IHF1ZXVlcyBjYW4gYmUgcGFydCBvZiB4ZW5uZXRfZGlzY29ubmVjdF9iYWNrZW5kLA0KSG93ZXZl
ciwgc29tZSBjYWxsZXIgb2YgeGVubmV0X2Rpc2Nvbm5lY3RfYmFja2VuZCBob2xkIHJ0bmxfbG9j
ayB3aGlsZSBzb21lIG90aGVycw0Kbm90LCBJIHRoaW5rIGl0IGlzIHNpbXBsZXIgdG8ga2VlcCBz
ZXBlcmF0ZS4NCj4NCj4+ICAgICAgICByZXR1cm4gMDsNCj4+ICB9DQo+Pg0K

--_000_SJ0PR03MB5405CC470B49DCDDD99A91D09D149SJ0PR03MB5405namp_
Content-Type: text/html; charset="gb2312"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dgb2312">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	font-size:10.0pt;
	font-family:"Calibri",sans-serif;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style>
</head>
<body lang=3D"en-CN" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:=
break-word">
<div class=3D"WordSection1">
<div>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;[CAUTION - EXTE=
RNAL EMAIL] DO NOT reply, click links, or open attachments unless you have =
verified the sender and know the content is safe.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;<o:p>&nbsp;</o:=
p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;On Tue, 29 Nov =
2022 06:17:02 +0000 Lin Liu wrote:<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; A NAPI is =
setup for each network sring to poll data to kernel<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; The sring =
with source host is destroyed before live migration and<o:p></o:p></span></=
p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; new sring =
with target host is setup after live migration.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; The NAPI f=
or the old sring is not deleted until setup new sring<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; with targe=
t host after migration. With busy_poll/busy_read enabled,<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; the NAPI c=
an be polled before got deleted when resume VM.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; <o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.602=
938] BUG: unable to handle kernel NULL pointer dereference at<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; 0000000000=
000008<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.603=
047] IP: xennet_poll+0xae/0xd20<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.603=
090] PGD 0 P4D 0<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.603=
118] Oops: 0000 [#1] SMP PTI<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.604=
624] Call Trace:<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.604=
674]&nbsp; ? finish_task_switch+0x71/0x230<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.604=
745]&nbsp; ? timerqueue_del+0x1d/0x40<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.604=
807]&nbsp; ? hrtimer_try_to_cancel+0xb5/0x110<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.604=
882]&nbsp; ? xennet_alloc_rx_buffers+0x2a0/0x2a0<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.604=
958]&nbsp; napi_busy_loop+0xdb/0x270<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.605=
017]&nbsp; sock_poll+0x87/0x90<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.605=
066]&nbsp; do_sys_poll+0x26f/0x580<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.605=
125]&nbsp; ? tracing_map_insert+0x1d4/0x2f0<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.605=
196]&nbsp; ? event_hist_trigger+0x14a/0x260<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;<o:p>&nbsp;</o:=
p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;You can trim al=
l the ' ? ' entries from the stack trace,
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;and the time st=
amps, FWIW. Makes it easier to read.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">Sure, will do in ne=
xt version<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.613=
598]&nbsp; ? finish_task_switch+0x71/0x230<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.614=
131]&nbsp; ? __schedule+0x256/0x890<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.614=
640]&nbsp; ? recalc_sigpending+0x1b/0x50<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.615=
144]&nbsp; ? xen_sched_clock+0x15/0x20<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.615=
643]&nbsp; ? __rb_reserve_next+0x12d/0x140<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.616=
138]&nbsp; ? ring_buffer_lock_reserve+0x123/0x3d0<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.616=
634]&nbsp; ? event_triggers_call+0x87/0xb0<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.617=
138]&nbsp; ? trace_event_buffer_commit+0x1c4/0x210<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.617=
625]&nbsp; ? xen_clocksource_get_cycles+0x15/0x20<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.618=
112]&nbsp; ? ktime_get_ts64+0x51/0xf0<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.618=
578]&nbsp; SyS_ppoll+0x160/0x1a0<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.619=
029]&nbsp; ? SyS_ppoll+0x160/0x1a0<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.619=
475]&nbsp; do_syscall_64+0x73/0x130<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.619=
901]&nbsp; entry_SYSCALL_64_after_hwframe+0x41/0xa6<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; ...<o:p></=
o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.806=
230] RIP: xennet_poll+0xae/0xd20 RSP: ffffb4f041933900<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.806=
772] CR2: 0000000000000008<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; [50116.807=
337] ---[ end trace f8601785b354351c ]---<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; <o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; xen fronte=
nd should remove the NAPIs for the old srings before live<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; migration =
as the bond srings are destroyed<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; <o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; There is a=
 tiny window between the srings are set to NULL and<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; the NAPIs =
are disabled, It is safe as the NAPI threads are still<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; frozen at =
that time<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; <o:p></o:p=
></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;<o:p>&nbsp;</o:=
p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;Since this is a=
 fix please add a Fixes tag, and add [PATCH net]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;to the subject.=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;<o:p>&nbsp;</o:=
p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">Will do in next ver=
sion<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; diff --git=
 a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c<o:p></o:p></span=
></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; index 9af2=
b027c19c..dc404e05970c 100644<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; --- a/driv=
ers/net/xen-netfront.c<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; +++ b/driv=
ers/net/xen-netfront.c<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; @@ -1862,6=
 +1862,12 @@ static int netfront_resume(struct xenbus_device *dev)<o:p></o:=
p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; netif_tx_unlock_bh(info-&gt;netdev);<o:p></=
o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt;&nbsp; <o:p=
></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xennet_disconnect_backend(info);<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; +<o:p></o:=
p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; +&nbsp;&nb=
sp;&nbsp;&nbsp; rtnl_lock();<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; +&nbsp;&nb=
sp;&nbsp;&nbsp; if (info-&gt;queues)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; +&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xennet_dest=
roy_queues(info);<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt; +&nbsp;&nb=
sp;&nbsp;&nbsp; rtnl_unlock();<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;Now all callers=
 of xennet_disconnect_backend() destroy queues soon<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;after, can we j=
ust move the destroy queues into disconnect ?<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">After the sring is =
destroyed, the queue and the bond NAPI should also be destroyed,
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">so Yes, destroy que=
ues can be part of xennet_disconnect_backend,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">However, some calle=
r of xennet_disconnect_backend hold rtnl_lock while some others<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">not, I think it is =
simpler to keep seperate.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;<o:p>&nbsp;</o:=
p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt;&nbsp; }<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt">&gt;&gt;<o:p>&nbsp;=
</o:p></span></p>
</div>
</div>
</body>
</html>

--_000_SJ0PR03MB5405CC470B49DCDDD99A91D09D149SJ0PR03MB5405namp_--


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 08:42:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 08:42:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450264.707529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0f98-0006Vq-No; Thu, 01 Dec 2022 08:42:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450264.707529; Thu, 01 Dec 2022 08:42:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0f98-0006Vj-Kl; Thu, 01 Dec 2022 08:42:18 +0000
Received: by outflank-mailman (input) for mailman id 450264;
 Thu, 01 Dec 2022 08:42:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=66xT=37=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p0f97-0006OK-68
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 08:42:17 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2060e.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0e1406a9-7154-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 09:42:16 +0100 (CET)
Received: from DS7PR03CA0312.namprd03.prod.outlook.com (2603:10b6:8:2b::21) by
 MN0PR12MB6271.namprd12.prod.outlook.com (2603:10b6:208:3c1::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 08:42:12 +0000
Received: from DM6NAM11FT113.eop-nam11.prod.protection.outlook.com
 (2603:10b6:8:2b:cafe::67) by DS7PR03CA0312.outlook.office365.com
 (2603:10b6:8:2b::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Thu, 1 Dec 2022 08:42:12 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT113.mail.protection.outlook.com (10.13.173.5) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5857.22 via Frontend Transport; Thu, 1 Dec 2022 08:42:12 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 02:42:11 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 02:42:11 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 02:42:10 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e1406a9-7154-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GLpixjMYYcekPVi/pB91IHUpAho1LAXCHqJlh0Wa5EonVjMpyENeDS625CKUFywcxJYJwLIsjP2RIXiCYwTKa4QRJpEV37sJBtYkgmUAah6GV9ENoO9IMrZhYRLKSbEsyfp63E1stZ0YfcrcBDjZv0J1TGhgiZwLqsSVHQpw+/q5P4OmIp+cGY3f9NG87orPhdN6XeVB0QhQq1MJyhFFa8sNnvL7BZ/+cr4vfCpFjqyCkoHTJ7SHV+v59NPVmce7VVcWxAWhac4w0v4DwQBR/G7xczgMKJAlUwO13yQ3xU14llzp1SX/FoNiq9xk/dgfkn+8ELnucAaAN4LNmNNqNA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yT8flKgaG3QhFPoIxIxLtRnyqdlpVvtAFPjoOsbnYAk=;
 b=N1Dza4v7bgSyP9XCSkEqwxJnQfHrppCgQ5LAavGjqCxIDYaU2cRQb2VrkZSUitQGTfYvlS0juM0Wp5jErcp2Z+KGpL+7JQxgJzReKEyeNpDJ6QecJnchg8OyPnTZVOAOivLo28ylODM1fU/hMw+ejEFdwwho4+BZJ7Izw3D6PXF48EUIikLkKK/1FRb+x8ZKQygkBLa/yQOYsuGkwkLkcYMTdlFYxkcvZKxrmiaUTCQlg69znSiOrnyDVzXrhINVLYeZo87VoH+GN3f+3b8Ha6MTBEz0OPxzyMsRFWoonOwvHtuSAtwRI2Lz+k1SivP8YrwI1+LwwesKIrLvzQtanQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yT8flKgaG3QhFPoIxIxLtRnyqdlpVvtAFPjoOsbnYAk=;
 b=M858RgTuHtoST+ZfRqlpzN87dKlOdDMa4JPAg6idKkmINGvcdNCRbXQm6pZlixm0Nl1B+zvt7I6ZMJbQh/N7UHHdrgBCmqZLhRYJdAWANecufMm9BwZ8sRcfK0EB/uaMZqB31lRCtUVaHrP1aw7CWFtd619c35RItijxT27Zz5U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <f51dbcc1-e7b3-c5c9-f603-73c9013d8b2f@amd.com>
Date: Thu, 1 Dec 2022 09:42:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH v4 1/2] xen/arm: vpl011: emulate non-SBSA registers as
 WI/RAZ
To: Jiamei Xie <jiamei.xie@arm.com>, <xen-devel@lists.xenproject.org>
CC: <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, "Julien
 Grall" <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221201080400.1842558-1-jiamei.xie@arm.com>
 <20221201080400.1842558-2-jiamei.xie@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20221201080400.1842558-2-jiamei.xie@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT113:EE_|MN0PR12MB6271:EE_
X-MS-Office365-Filtering-Correlation-Id: 192bb2d1-dd09-486e-5d68-08dad377f0e8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sQ6nsF59pFvPsCYVHn7VKiUVMY4Ecl26lFl/0LJb4bhcG8Bisbybh6dj1NDVHQ/2FyAUlmlXvftGCldZQ+W4Zob+/OwdvXYvIatEy4cO4JU2JlV/AT/O69rX002WOZHm7+GOPR2AKPecktfdDVx+/yx5KOchuNHeHZKxjtZnNlDPentatQyqF0MoyV8QkCdVvo0Zv6h2wyG+OXs2iXfJ8Bn0U+NHMZueXPEkk5GahcHzyA0dBlESRkHinuZ6WfpVZtsorX+HeLifJYGEtOWEHha/fcX0DQ5HeNigv3RQmGK75dgiRNOU00oyvsx+97AiSgwSBM0Ii8uGgxN+P+zQJLOdJ6TB3iDENvuXbAVU5fGaaHzas/E9i4AtK1COlaWaIMSW11yQjk7hJT38djbivE7QSJmqCtMMgQ5pU2vSvWHTjWKuRGN8HZ3KZuA/GzADkQ/How1oDywaM2XXx3lic8IDGZOw2FR+PIJrgyP7Z0inxjw6moDY4LC3d8t9b1lfFWtSyMrV5ztNhCLphn9mHLvnkDWRHS3ChEc94SwhB0XybSicq4nFJdVvvepeTXCABeWU/gZ4sxLO52DyXKVPOzb2N3PQCEY/Jajes6EURva92ukcCi/2q3q01BKqXnEA53+7fmPY3HHbv9hHMIv4ow9fNRXd2A1hmG/0xNNF0EMH/Jy5QBZcjVKbGwV21RUZG0FQLBv4ySzPnzvxYeUyMsdW/6kCYlS/b+90HMXaH3xrGpD5XlLS8Qqc7ypGSWD9YOcndZMNJd6YZ4HL2CMHqm8ijGzdp3XC6tsjatU2siQp/SQnS40QQrqun4rERop+jlOC0iOtu+BT8UuxiE58cg==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(376002)(346002)(39860400002)(451199015)(40470700004)(36840700001)(46966006)(83380400001)(82310400005)(36860700001)(81166007)(86362001)(31696002)(2906002)(44832011)(356005)(41300700001)(82740400003)(40460700003)(53546011)(5660300002)(4326008)(26005)(8936002)(40480700001)(336012)(186003)(966005)(316002)(426003)(16576012)(54906003)(110136005)(478600001)(70206006)(8676002)(47076005)(2616005)(36756003)(31686004)(70586007)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 08:42:12.1894
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 192bb2d1-dd09-486e-5d68-08dad377f0e8
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT113.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6271

Hi Jiamei,

On 01/12/2022 09:03, Jiamei Xie wrote:
> 
> 
> When the guest kernel enables DMA engine with "CONFIG_DMA_ENGINE=y",
> Linux SBSA PL011 driver will access PL011 DMACR register in some
> functions. As chapter "B Generic UART" in "ARM Server Base System
> Architecture"[1] documentation describes, SBSA UART doesn't support
> DMA. In current code, when the kernel tries to access DMACR register,
> Xen will inject a data abort:
> Unhandled fault at 0xffffffc00944d048
> Mem abort info:
>   ESR = 0x96000000
>   EC = 0x25: DABT (current EL), IL = 32 bits
>   SET = 0, FnV = 0
>   EA = 0, S1PTW = 0
>   FSC = 0x00: ttbr address size fault
> Data abort info:
>   ISV = 0, ISS = 0x00000000
>   CM = 0, WnR = 0
> swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000020e2e000
> [ffffffc00944d048] pgd=100000003ffff803, p4d=100000003ffff803, pud=100000003ffff803, pmd=100000003fffa803, pte=006800009c090f13
> Internal error: ttbr address size fault: 96000000 [#1] PREEMPT SMP
> ...
> Call trace:
>  pl011_stop_rx+0x70/0x80
>  tty_port_shutdown+0x7c/0xb4
>  tty_port_close+0x60/0xcc
>  uart_close+0x34/0x8c
>  tty_release+0x144/0x4c0
>  __fput+0x78/0x220
>  ____fput+0x1c/0x30
>  task_work_run+0x88/0xc0
>  do_notify_resume+0x8d0/0x123c
>  el0_svc+0xa8/0xc0
>  el0t_64_sync_handler+0xa4/0x130
>  el0t_64_sync+0x1a0/0x1a4
> Code: b9000083 b901f001 794038a0 8b000042 (b9000041)
> ---[ end trace 83dd93df15c3216f ]---
> note: bootlogd[132] exited with preempt_count 1
> /etc/rcS.d/S07bootlogd: line 47: 132 Segmentation fault start-stop-daemon
> 
> As discussed in [2], this commit makes the access to non-SBSA registers
> RAZ/WI as an improvement.
> 
> [1] https://developer.arm.com/documentation/den0094/c/?lang=en
> [2] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2211161552420.4020@ubuntu-linux-20-04-desktop/
> 
> Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
The patch looks good, so:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

However, because your series is about vpl011 refinement, I spotted two things
(this does not necessarily needs to be done by you).

> ---
> v3 -> v4
> - remove the size check for unknown registers in the SBSA UART
> - remove lock in read_as_zero
> v2 -> v3
> - emulate non-SBSA registers as WI/RAZ in default case
> - update commit message
> v1 -> v2
> - print a message using XENLOG_G_DEBUG when it's write-ignore
> ---
>  xen/arch/arm/vpl011.c | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
> index 43522d48fd..f4a5621fab 100644
> --- a/xen/arch/arm/vpl011.c
> +++ b/xen/arch/arm/vpl011.c
> @@ -414,11 +414,15 @@ static int vpl011_mmio_read(struct vcpu *v,
>      default:
>          gprintk(XENLOG_ERR, "vpl011: unhandled read r%d offset %#08x\n",
This is an emulated UART MMIO handler, so instead XENLOG_ERR, we should use XENLOG_G_ERR
to indicate gust error and not Xen error.

>                  dabt.reg, vpl011_reg);
> -        return 0;
> +        goto read_as_zero;
>      }
> 
>      return 1;
This return statement is unreachable.

> 
> +read_as_zero:
> +    *r = 0;
> +    return 1;
> +
>  bad_width:
>      gprintk(XENLOG_ERR, "vpl011: bad read width %d r%d offset %#08x\n",
>              dabt.size, dabt.reg, vpl011_reg);
> @@ -486,7 +490,7 @@ static int vpl011_mmio_write(struct vcpu *v,
>      default:
>          gprintk(XENLOG_ERR, "vpl011: unhandled write r%d offset %#08x\n",
>                  dabt.reg, vpl011_reg);
> -        return 0;
> +        goto write_ignore;
>      }
> 
>  write_ignore:
> --
> 2.25.1
> 
> 
~Michal



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 08:43:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 08:43:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450272.707539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fAW-0007F3-1i; Thu, 01 Dec 2022 08:43:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450272.707539; Thu, 01 Dec 2022 08:43:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fAV-0007Ew-VK; Thu, 01 Dec 2022 08:43:43 +0000
Received: by outflank-mailman (input) for mailman id 450272;
 Thu, 01 Dec 2022 08:43:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=66xT=37=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p0fAV-0007Eq-6U
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 08:43:43 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20631.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41991dec-7154-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 09:43:42 +0100 (CET)
Received: from DM6PR10CA0026.namprd10.prod.outlook.com (2603:10b6:5:60::39) by
 BL3PR12MB6524.namprd12.prod.outlook.com (2603:10b6:208:38c::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5857.23; Thu, 1 Dec 2022 08:43:38 +0000
Received: from DM6NAM11FT065.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:60:cafe::62) by DM6PR10CA0026.outlook.office365.com
 (2603:10b6:5:60::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Thu, 1 Dec 2022 08:43:38 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT065.mail.protection.outlook.com (10.13.172.109) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5857.17 via Frontend Transport; Thu, 1 Dec 2022 08:43:38 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 02:43:38 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 00:43:38 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 02:43:36 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41991dec-7154-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=amulr2g8Z/wgciMLa9w4DPc/DAV14hgr/CGLLWCFUi9HWZyzwiQwq22ZTZUXqClAF7DGhBTt6PT/dwsOXJRSNaQ1qemOsq8i3IyQO3obbXbN0/3X7EykYfGzE0Wa2rqY+SpXokwr7XdmQ+bTrD3B4iI6j9r6wDJ9EsQobvNN7KFJEWMdZpWNemXGBBh7mV6tGEuWlFjl7FzR2Ooh61Ozx1d5veKlyrEwh4ZndKP6FpyFt5eT/uwc8IGkHhQ6MmQR1NKah3wZr7p3uJ6MSTqZT0Yp/nuz8ueKQf4F2exfXPShh5+cxht8x3Vbbab8rt6ZDqCFNpS9uEmjpoMi9NNH1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8bZvU/VoBgXGx28xmx6/Jwc2M4hF2mEtAXpXpo3dcnk=;
 b=F74gL6nVPJVygfMXxgMA4bVDrdGnewd3BIHCANSvQC/EwugPPIpi38JhSDU9ldyL9FXt6RbKh4+ckkIzMX97aVR0P9eToxjwU4MEdZ/Cp1ae1TrvrEqayeUcPgVt2QGq5yo4H6oIZhIxSUTZl9nM/l3fX2HIDw8xTbh1P0kOxO1HCS40gQUxT6KVametEXZ0ge/6iTrWPf3gii/jG1UEvKkbl45XMBpR/Sy5dDPiMYteBofIKCAxT18fz/0EbIN9MEfpdpAWK4RTHTBnGisRWZjZ1mihR721N9I3C4UcEenWGA3Gj3Rj9cub8Qu5tiqGnj4DtIA4fiac/p+8rC9GLg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8bZvU/VoBgXGx28xmx6/Jwc2M4hF2mEtAXpXpo3dcnk=;
 b=DbnKZLzSEynoRi5LayduADqGNU81ukx+Ygo7JHubPCTECbJu1YTQYoVRamQiXszU6OZ6gOXPqypck9mf9Ga7j8ABdDcPXBRpKUHTrwIdOzkXmD8ObXLwKrb4ZyXK4aHrkjfvwDxQg2YDSOjZ3GezBMr8lwCkmo/f/08gaN0Oj6U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <ab845fc1-1db8-e578-b621-6d79a8fbe2ea@amd.com>
Date: Thu, 1 Dec 2022 09:43:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH v4 1/2] xen/arm: vpl011: emulate non-SBSA registers as
 WI/RAZ
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
To: Jiamei Xie <jiamei.xie@arm.com>, <xen-devel@lists.xenproject.org>
CC: <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, "Julien
 Grall" <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221201080400.1842558-1-jiamei.xie@arm.com>
 <20221201080400.1842558-2-jiamei.xie@arm.com>
 <f51dbcc1-e7b3-c5c9-f603-73c9013d8b2f@amd.com>
In-Reply-To: <f51dbcc1-e7b3-c5c9-f603-73c9013d8b2f@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT065:EE_|BL3PR12MB6524:EE_
X-MS-Office365-Filtering-Correlation-Id: f7da1e13-f3ae-4cf1-8aea-08dad378247f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tjGq7plV1UvV84qUzfb0RNZdDqiOnvxuykKVV65x5Ly79m3BOERGfCoeExOCoCyyIhswlZXZ8lBc8PHo6uw0bmZgTSOKA/T2Jvroi8phb4vTf7/U8/cm9iFiAC2Z8Fys1v7m69tFLGhTs0W/whWxH7IIgxAFmCHByCm5+2M/fFUssbQ7d0PJHKQhqlTXZ/HltvZD165s1/wT8mveulFHkr3BJnubS4i9CIJpOvnOzNVXVIi9lYEzIUkTrabxIYitbqsjVCSE3eRudU6FECqVhhlM/wJWIfFikVGHObBfTlpIkIE+gZujFY8AOPOxwAj838Sbun38oCkkwSSwWaeXJpHcqo4yrj9CucI3Kh4+4Ggkgs+XiKYcYcle+2CrGzqkGU8ObdBNjOoHvFkCVYslwOPp/5CZPTAu7Jp27hmVSLshPT2MtwU2aUiPoaix1DdFYKT8NLbVkI8NnSZxyPcHwFCrWo2EUsdYiIeWA5Eeo6xO1ttiELA5cSD2N167prxTSAteB0tHLefxlmU9uA+GqNUKjFOSzMK/++sIAFDd9rDCp/PNTlACH7HLWPETgkg+iBT2D9QeqcTCkYHm8t5o48IUCqVTpk3pW+Q6Bvt3YT5caVTos3Wu2cs1ZHonYR/o6A433SaFJUNgW65Usj4fcABk1lRGA3T6s4gKjkRnZbQPCoOSs49cGOs6HSdHaNcBTN1am8PulCsyVXn1vRBhKcnZ/3DAPw6fVIkvTNLP1S/0ZYOabf41OjSBopwBo74kDOiHd42BshffvIhowtwxDaI87SO3OqXmAY9SM5h0eW3xPY2dPpvkAAB+uRaSzJskBeltChcdSLHFE8+b3cDq2w==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(346002)(396003)(376002)(451199015)(36840700001)(40470700004)(46966006)(40460700003)(356005)(2906002)(2616005)(36756003)(40480700001)(86362001)(81166007)(31696002)(966005)(478600001)(26005)(316002)(44832011)(36860700001)(70586007)(5660300002)(45080400002)(41300700001)(70206006)(4326008)(8936002)(16576012)(54906003)(8676002)(110136005)(186003)(82740400003)(336012)(82310400005)(53546011)(83380400001)(426003)(47076005)(31686004)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 08:43:38.7596
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f7da1e13-f3ae-4cf1-8aea-08dad378247f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT065.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6524



On 01/12/2022 09:42, Michal Orzel wrote:
> 
> 
> Hi Jiamei,
> 
> On 01/12/2022 09:03, Jiamei Xie wrote:
>>
>>
>> When the guest kernel enables DMA engine with "CONFIG_DMA_ENGINE=y",
>> Linux SBSA PL011 driver will access PL011 DMACR register in some
>> functions. As chapter "B Generic UART" in "ARM Server Base System
>> Architecture"[1] documentation describes, SBSA UART doesn't support
>> DMA. In current code, when the kernel tries to access DMACR register,
>> Xen will inject a data abort:
>> Unhandled fault at 0xffffffc00944d048
>> Mem abort info:
>>   ESR = 0x96000000
>>   EC = 0x25: DABT (current EL), IL = 32 bits
>>   SET = 0, FnV = 0
>>   EA = 0, S1PTW = 0
>>   FSC = 0x00: ttbr address size fault
>> Data abort info:
>>   ISV = 0, ISS = 0x00000000
>>   CM = 0, WnR = 0
>> swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000020e2e000
>> [ffffffc00944d048] pgd=100000003ffff803, p4d=100000003ffff803, pud=100000003ffff803, pmd=100000003fffa803, pte=006800009c090f13
>> Internal error: ttbr address size fault: 96000000 [#1] PREEMPT SMP
>> ...
>> Call trace:
>>  pl011_stop_rx+0x70/0x80
>>  tty_port_shutdown+0x7c/0xb4
>>  tty_port_close+0x60/0xcc
>>  uart_close+0x34/0x8c
>>  tty_release+0x144/0x4c0
>>  __fput+0x78/0x220
>>  ____fput+0x1c/0x30
>>  task_work_run+0x88/0xc0
>>  do_notify_resume+0x8d0/0x123c
>>  el0_svc+0xa8/0xc0
>>  el0t_64_sync_handler+0xa4/0x130
>>  el0t_64_sync+0x1a0/0x1a4
>> Code: b9000083 b901f001 794038a0 8b000042 (b9000041)
>> ---[ end trace 83dd93df15c3216f ]---
>> note: bootlogd[132] exited with preempt_count 1
>> /etc/rcS.d/S07bootlogd: line 47: 132 Segmentation fault start-stop-daemon
>>
>> As discussed in [2], this commit makes the access to non-SBSA registers
>> RAZ/WI as an improvement.
>>
>> [1] https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdeveloper.arm.com%2Fdocumentation%2Fden0094%2Fc%2F%3Flang%3Den&amp;data=05%7C01%7Cmichal.orzel%40amd.com%7C9345e5fe73c04ece2bbc08dad377f56e%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638054809425877261%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=%2FTuXUhLO21PljT1o4tTEtyU0hXgDLEUjp3t0X1AnXXk%3D&amp;reserved=0
>> [2] https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Fxen-devel%2Falpine.DEB.2.22.394.2211161552420.4020%40ubuntu-linux-20-04-desktop%2F&amp;data=05%7C01%7Cmichal.orzel%40amd.com%7C9345e5fe73c04ece2bbc08dad377f56e%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638054809425877261%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=c4qOLzf4w32%2BVkt49umv%2Bu3LVP3TVsQ8iBFLoLpRclg%3D&amp;reserved=0
>>
>> Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
> The patch looks good, so:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> However, because your series is about vpl011 refinement, I spotted two things
> (this does not necessarily needs to be done by you).
> 
>> ---
>> v3 -> v4
>> - remove the size check for unknown registers in the SBSA UART
>> - remove lock in read_as_zero
>> v2 -> v3
>> - emulate non-SBSA registers as WI/RAZ in default case
>> - update commit message
>> v1 -> v2
>> - print a message using XENLOG_G_DEBUG when it's write-ignore
>> ---
>>  xen/arch/arm/vpl011.c | 8 ++++++--
>>  1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
>> index 43522d48fd..f4a5621fab 100644
>> --- a/xen/arch/arm/vpl011.c
>> +++ b/xen/arch/arm/vpl011.c
>> @@ -414,11 +414,15 @@ static int vpl011_mmio_read(struct vcpu *v,
>>      default:
>>          gprintk(XENLOG_ERR, "vpl011: unhandled read r%d offset %#08x\n",
> This is an emulated UART MMIO handler, so instead XENLOG_ERR, we should use XENLOG_G_ERR
> to indicate gust error and not Xen error.
> 
>>                  dabt.reg, vpl011_reg);
>> -        return 0;
>> +        goto read_as_zero;
>>      }
>>
>>      return 1;
> This return statement is unreachable.
Forget about this one. I can see you fixed that in the second patch.

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 08:49:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 08:49:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450280.707551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fFv-0007w6-Lf; Thu, 01 Dec 2022 08:49:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450280.707551; Thu, 01 Dec 2022 08:49:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fFv-0007vz-Ii; Thu, 01 Dec 2022 08:49:19 +0000
Received: by outflank-mailman (input) for mailman id 450280;
 Thu, 01 Dec 2022 08:49:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ecKG=37=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1p0fFt-0007vr-NP
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 08:49:17 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20619.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 094f39a2-7155-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 09:49:16 +0100 (CET)
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PA4PR08MB5934.eurprd08.prod.outlook.com (2603:10a6:102:e8::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 08:49:13 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::58db:2a7f:e8f5:92ad]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::58db:2a7f:e8f5:92ad%7]) with mapi id 15.20.5880.008; Thu, 1 Dec 2022
 08:49:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 094f39a2-7155-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EuCkH/Fa4WptGEkO6cX36FBgAN5GjO4YW4f81gyaA1285nHKtKE9q/57Kw8NbeeGrf6fBskJ0VQd/tQN+iskMdKe/WKJnVwsliXN5mzTunB+qvmVSCrjKwI2cjh8ge6ouyAqtLJJTNK7JHfeiTrwEEHMkPFaCcaivNz67IIyZDml2HA3C8lzro0v9x7wTp7LuG3xgC2NlZCcS9/i7ZY7lG6Q4Nj36dMPXCqAKGIiIsHdfux4NT9dTTEdAY0cIeEXMBNShR6WTe3NNXvMdvsZmveKriA3b6qF6qGDIY07CKxNN3vLZswFHcMU8e3NunfF/Sa/z80kJVuXWz2+ZJ+v2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ye6K58sCinrNDeDGdaKXVKQTUx3zDr1TRmR32BAv6E4=;
 b=i+FzkvY9M8WL4SmNUv6WFflHne9b148pQzEkhiksSBIYuUJK5GsaP9RmY3llszxkxHKCS5AuaJDD6I3FdJFtxT2M9vUGSY9ydKQfjLGYdaCVJEz2NVRcYD8S27w9xSSEgGV/o0qtUZVgXAGCoNlnXgtqifXOcni5NEF1Wj/JbTn3gfYYDsoKXNKjrwMnd9ilDcsDEziieAJdQqAOg+wvTe28ZL5D13H2UYlI408YtsfM79QXsHupYPwYGEAsfIFE7lumtfn3qqGndGhIiwhNysrkUD2Fpr3ikkC5z0artynRVUTuWEMd8Jee4BCBhySIKCLnXkp0Gdn49+qJ+g3ggg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ye6K58sCinrNDeDGdaKXVKQTUx3zDr1TRmR32BAv6E4=;
 b=0GkY7AiN4qH17q+1X3Hp9a0djLtu2a6AXFYRQoXDg56dt0ypnJzM58qXhChWEUAM5Qng3phRKYMs2E1u81v/4+RLCnXu87Vz704vx2AD6nSFRmYywjWMVZ9WhneqQrGjfcjYeBLxTYtXRQDpn6ZGkWWFIuC2qvSsTzQsZ8jnjKk=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"michal.orzel@amd.com" <michal.orzel@amd.com>, Doug Goldstein
	<cardoe@cardoe.com>
Subject: Re: [PATCH v5 1/3] automation: Create Yocto docker images
Thread-Topic: [PATCH v5 1/3] automation: Create Yocto docker images
Thread-Index: AQHZBLWFmb3GO0y8oEy6bIpMhPppa65YMREAgACJFQA=
Date: Thu, 1 Dec 2022 08:49:12 +0000
Message-ID: <CAA41F61-8850-4DD9-88B5-61E9498F5FB8@arm.com>
References: <cover.1669810269.git.bertrand.marquis@arm.com>
 <18861c0c9c547959900532e38df11b2d67f0a1cc.1669810269.git.bertrand.marquis@arm.com>
 <alpine.DEB.2.22.394.2211301637210.4039@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2211301637210.4039@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM6PR08MB3784:EE_|PA4PR08MB5934:EE_
x-ms-office365-filtering-correlation-id: fbaf1c85-4475-4cbd-ce98-08dad378ebac
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 1oZtse32ZoIfMdB81ZnHfbSFcJf1ej6CjAoItLj8+wV4I7VwecmPLRwnCm+/8NEyd3bUA5IJpxR9goFtWZucSKRv9irgynvt98O8dvtTQV5o6gSHjqTJkXoRySiEC+8RZtBUQO/9H/Og+SMuMWpPgkmbB3m48E6HY5i5nnxRIhJHlhfU9DsTmKqS7g56tO0Lennqh8arr/g1MQAcwsVh1Q7yoO+hPKo9GMEgixDqHKpthRcLXZOZ5lcD1NxEcVnNH2X8/uClbXYzhWCjdXJuSZGKaoQZP6ss+bCqAml3rsg2Rcz73m9/XA+Ckj1UHoukjaKKszeCdDxblTjlap0V1Aek33VynNI5aLWsiY0mrECL0bCz+rdV3PJNAe/2AQPerSonpm7MNVC6WtoruZiWsBECdf/p8gyhybiVOzxjuJ461a8jIS73wdJe9P3NDjV/ddo63Q016K76MUBKG3D4vWc99uB5N0Cy8eYVPK45yog/6qIyeI7dmQ2CQkvWa5UNd+N8Wb23fZd9w39pInRvlIPQ05yvmT1aO+ZHi+kzlF39Cq01AXRjVMAgXJR6Lh+pu2Q97rvXjDEWKosoIAF4hn6WnlYqB10zAFPggA8NYd0716HXTUpJgggL+FzaxT/z3nVoQkH2XklQ5PtxAfkySDnL5r912QL/oHd8bH6KaY7wrbzRauZACrfvNJTwMCJPp1zKxnL90komlqYndnl7hXiuwTozVJcbYboXGtnkDTS3YnNMU6gwNpQYQ5my3ZqkmGG007RMSFFXbrgjmOo76h2BnCMLX37ddnULsMTmiSc=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(366004)(39860400002)(396003)(376002)(451199015)(54906003)(6916009)(71200400001)(316002)(122000001)(53546011)(38100700002)(6506007)(36756003)(26005)(64756008)(41300700001)(2616005)(186003)(5660300002)(30864003)(86362001)(4326008)(66556008)(66446008)(66476007)(8676002)(6512007)(8936002)(66946007)(33656002)(91956017)(2906002)(83380400001)(76116006)(6486002)(478600001)(38070700005)(84970400001)(966005)(45980500001)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?MFCI2A1vbNhb0ppkrF0XGSOlbOdAhuwhP/sLtLMjbeTFO/4ip425dLlN1Pta?=
 =?us-ascii?Q?5H62IQzHgwn67x990ofx6rcPepBJWww+IRlDWwYVkwos8EbtgUrbVtuKc5mg?=
 =?us-ascii?Q?Nyw1lv3fdCD1+DbpiORVUOJsq5OpOJe9Z2jf2z0c8V6TJNqdc9KlGqg11nnR?=
 =?us-ascii?Q?Kpf6ClKrTqHKxLD7ksA/YhaxW1u4Q6Qvi2D1gjnGgxYVv5Kk5QsbVTkH9UeX?=
 =?us-ascii?Q?6R5AUN0e2dCx6Ao2ZK6XYsDs1mkOSAe/hUBoDJtwDY7vK4r2U7Q6SoM/mh0n?=
 =?us-ascii?Q?xP+RebaR7TihDad2Cz1Rs1EHnOw1ly2WuSqmoVCJ7W3d+lW5SXSY3nhhGjDt?=
 =?us-ascii?Q?KGmg13tT+o8aMT3ifcgxjsdtch+WeDAFq6f9awMMcxkrnjSwQLXz+IbcFrpo?=
 =?us-ascii?Q?2JdNTpjUbmAgoXzvEO+GHG80/b/dyzQF+Or+hhaI8AEcaR/KUN4duc134F2z?=
 =?us-ascii?Q?upR7UTPrzxUnaWp9D9z9wZi41Y+/P+enwPfTn+Y1asbMDyjzBV4H9+0W15tH?=
 =?us-ascii?Q?2B//2UQfAV3ayOYSloxyD264mgIpNkhwZ1xw1xeMQ8oog/D/aJGYb3rXmF/T?=
 =?us-ascii?Q?llxW1uVeNErRSlE8UPPUKjspC/Jpd0EqyemvZbfS8n1d0OpcYa9LmIdcReUQ?=
 =?us-ascii?Q?+e5vKYa3toHxdQ2bRNksKl91/L/l1B84DMinvPRpyo96d1P9hsLcb7cGzd7+?=
 =?us-ascii?Q?CGXe0aqmNtwyiNhXf6BM/1P91JwQ4p7rd8ZmAyU2LxmU3GIki0bKAwUqrXIY?=
 =?us-ascii?Q?qB7wNMSNeGRXstvGIxM984PvD5cwxnSMEKKpylZjiwU2leEXLlcRnKn20v3V?=
 =?us-ascii?Q?ViFmRGT/GX8MXsZqz44MA1fuzk8sYAOGt86Gsloi+rQ1g4ldbPQuJkneqRV3?=
 =?us-ascii?Q?WzCPL/+S5T3tzrRypH9DMha0Etri4g1NX4t+qDf9p1DcAh3lhQ63x2F/Vik+?=
 =?us-ascii?Q?kwbkTolv/5KF+CaDmMxjXSU1M7UUvtdDDOFdrCODXVFDCKsdNLI64l69xVAH?=
 =?us-ascii?Q?TnKqocKBqAUBrfU3iUp29CxcmYISqrVrp9XU+XOeN0sxurJCXEVA9ZA0GT3j?=
 =?us-ascii?Q?w6FQXEvzQmXlBq0ULXMoUS1xVJsL9DADLLuT7vYJu3zhGTDIGF1k3w/XuvSz?=
 =?us-ascii?Q?Z89vkUB3vSrpaggCHLaWcGGyIRO5MVQjXspTfyk9CP+bw3YwaEvWXYgNI+6Y?=
 =?us-ascii?Q?e5hFmiPnp0qFqnUrpICcJmnTx3qXLoZb/gH2YRCZ6jwpNVOJPEoB+kyUCkxJ?=
 =?us-ascii?Q?GTYPcaM5xy9F87RF4bRdqEi+B+Jm3DukOh8uKk7oKq+GqURZEMlgs64HB84C?=
 =?us-ascii?Q?i2IOxDIlklxBxZVv7dAM3bZY5WkacgjYPM4Mc8QAXkqDybHDwbFOc3XEPBeT?=
 =?us-ascii?Q?8ZYY8k6mOw8JmDYkXqHcuLpUdP7QrvpX8OJ7lXQkcRud7yOlGnkrcXvXC0ne?=
 =?us-ascii?Q?uudhHJYYggeH4Qn1H+4BuhaTI7IixE4gVojAd6MrFXoF1DGDL2nbQJHJzkYq?=
 =?us-ascii?Q?IRa3eOHBvMDe0GfTyJ9lTG+dvqf5yOGjQVHRUy7QfrlD8Wod2l4rU6plO6Ps?=
 =?us-ascii?Q?cTPNQwk2PnMpEO9Br2FbNTEFm8eTQWU/XiI+PY+LctHjdqBqJV3SEPqFztY8?=
 =?us-ascii?Q?hg=3D=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <8A3D836A7EE1CC4D821B19BECF385A00@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM6PR08MB3784.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fbaf1c85-4475-4cbd-ce98-08dad378ebac
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 08:49:12.9697
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ur7g+U7NsXfk5BnssGULrkPWdcPLj2q9BnyKoJtYT60pM1uz48W/8uX4uU8Bj3Q6DVWigu9FYVqUJyNhUftEtj1+P59E6PbmCxTtkDh7AGI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5934

Hi Stefano,

> On 1 Dec 2022, at 00:38, Stefano Stabellini <sstabellini@kernel.org> wrot=
e:
>=20
> On Wed, 30 Nov 2022, Bertrand Marquis wrote:
>> Add containers suitable to run yocto kirkstone build based on ubuntu
>> 22.04. It contains all packages required by Yocto and a checkout of the
>> layers required to build Xen with Yocto.
>>=20
>> Add a generic docker image template to be used to automatically generate
>> docker files for different configurations:
>> - specific yocto version
>> - different targets (qemu arm, arm64 and x86)
>> - different host platforms (x86 or arm64)
>>=20
>> During a call to 'make all', only the images for the host platform we
>> run it on in the CI is generated.
>> If needed, images for an other host platform can be generated manually
>> by calling the right make target (see make help).
>>=20
>> Add a build script to build and run xen on qemu using Yocto.
>> The script supports arm32, arm64 and x86_64 and checks that dom0 is
>> properly booting. At this stage this does not run any guest on top of
>> dom0. The script is to be executed in one of the docker images to build
>> and run a system using a Xen source tree.
>>=20
>> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>> Changes in v5:
>> - typo fixes
>> - add INTERMEDIATE to remove intermediate dockerfile
>> - use container architecture
>> - use full words in foreach loops
>> - fix shellcheck findings in build-yocto.sh
>> - rebase on sstabellini next branch
>> Changes in v4:
>> - Rework the system to have one dockerfile template from which make will
>> generate the required dockerfiles for the wanted configuration
>> - add support for different host architectures
>> - Merge the generation system into one single dockerfile
>> - Merge patches 1 and 2 in a single patch
>> - Introduce CONTAINERS_EXTRA to have extra containers not built by
>> default (for those not used by CI but useful to users)
>> Changes in v3:
>> - limit number of jobs in yocto by default to 8 and add --num-jobs
>> option to the script to set a custom number of jobs
>> - do not copy anymore the build-yocto.sh script inside the main image so
>> that the current one in the repository is used when running
>> Changes in v2:
>> - add a --dump-log command line option to build-yocto.sh script to dump
>> the logs if an error occurs.
>> Changes in v1:
>> - add --image command line argument to build-yocto.sh to allow building
>> something different than xen-image-minimal.
>> - modify dockerfile to have one layer per line and make it easier to add
>> other. I kept the for loop to keep the number of docker steps lower
>> - update commit message to warn that no guest are tested.
>> - fix build-yocto script to properly return with an error if expect
>> script ends up in timeout or EOF.
>> ---
>> automation/build/Makefile                  |  14 +-
>> automation/build/yocto/build-yocto.sh      | 351 +++++++++++++++++++++
>> automation/build/yocto/yocto.dockerfile.in | 114 +++++++
>> automation/build/yocto/yocto.inc           |  42 +++
>> 4 files changed, 519 insertions(+), 2 deletions(-)
>> create mode 100755 automation/build/yocto/build-yocto.sh
>> create mode 100644 automation/build/yocto/yocto.dockerfile.in
>> create mode 100644 automation/build/yocto/yocto.inc
>>=20
>> diff --git a/automation/build/Makefile b/automation/build/Makefile
>> index a4b2b85178cf..72a5335baec1 100644
>> --- a/automation/build/Makefile
>> +++ b/automation/build/Makefile
>> @@ -1,13 +1,18 @@
>>=20
>> # the base of where these containers will appear
>> REGISTRY :=3D registry.gitlab.com/xen-project/xen
>> -CONTAINERS =3D $(subst .dockerfile,,$(wildcard */*.dockerfile))
>> +CONTAINERS =3D $(filter-out yocto/%,$(subst .dockerfile,,$(wildcard */*=
.dockerfile)))
>> +CONTAINERS_EXTRA =3D
>> DOCKER_CMD ?=3D docker
>>=20
>> +include yocto/yocto.inc
>> +
>> help:
>> 	@echo "Builds containers for building Xen based on different distros"
>> 	@echo "To build one run 'make DISTRO/VERSION'. Available containers:"
>> 	@$(foreach file,$(sort $(CONTAINERS)),echo ${file};)
>> +	@echo "Extra containers (not built using make all):"
>> +	@$(foreach file,$(sort $(CONTAINERS_EXTRA)),echo ${file};)
>> 	@echo "To push container builds, set the env var PUSH"
>>=20
>> %: %.dockerfile ## Builds containers
>> @@ -16,5 +21,10 @@ help:
>> 		$(DOCKER_CMD) push $(REGISTRY)/$(@D):$(@F); \
>> 	fi
>>=20
>> -.PHONY: all
>> +.PHONY: all clean
>> all: $(CONTAINERS)
>> +
>> +# Remove generated dockerfiles for yocto
>> +clean:
>> +	rm -f yocto/*.dockerfiles
>> +
>> diff --git a/automation/build/yocto/build-yocto.sh b/automation/build/yo=
cto/build-yocto.sh
>> new file mode 100755
>> index 000000000000..f42fdf72d964
>> --- /dev/null
>> +++ b/automation/build/yocto/build-yocto.sh
>> @@ -0,0 +1,351 @@
>> +#!/bin/bash
>> +#
>> +# Yocto meta virtualization build and run script
>> +#
>> +# This script is building Yocto xen-image-minimal for qemu targets and =
run
>> +# them using runqemu inside yocto to check that dom0 is booting properl=
y.
>> +# The build is using a local xen source tree so that specific patches c=
an be
>> +# tested.
>> +# In order to optimize the build time, a build cache is used so that on=
ly xen
>> +# packages and its dependencies are rebuilt (qemu and final image mainl=
y).
>> +#
>> +# get command error even when piped.
>> +set -o pipefail
>> +
>> +# Directories
>> +YOCTODIR=3D"$HOME/yocto-layers"
>> +CACHEDIR=3D"$HOME/yocto-cache"
>> +LOGDIR=3D"$HOME/logs"
>> +XENDIR=3D"$HOME/xen"
>> +BUILDDIR=3D"$HOME/build"
>> +
>> +# what yocto bsp we support
>> +TARGET_SUPPORTED=3D"qemuarm qemuarm64 qemux86-64"
>> +VERBOSE=3D"n"
>> +TARGETLIST=3D""
>> +BUILDJOBS=3D"8"
>> +
>> +# actions to do
>> +do_clean=3D"n"
>> +do_build=3D"y"
>> +do_run=3D"y"
>> +do_localsrc=3D"n"
>> +do_dump=3D"n"
>> +build_result=3D0
>> +
>> +# layers to include in the project
>> +build_layerlist=3D"poky/meta poky/meta-poky poky/meta-yocto-bsp \
>> +                 meta-openembedded/meta-oe meta-openembedded/meta-pytho=
n \
>> +                 meta-openembedded/meta-filesystems \
>> +                 meta-openembedded/meta-networking meta-virtualization"
>> +
>> +# yocto image to build
>> +build_image=3D"xen-image-minimal"
>> +
>> +function print_progress() {
>> +    echo -n "$(date +%T) $*"
>> +}
>> +
>> +function run_task() {
>> +    local task_name=3D"$1"
>> +    local task_target=3D"$2"
>> +
>> +    task_log=3D"${task_name//project_}-${task_target}"
>> +
>> +    mkdir -p "${LOGDIR}"
>> +    print_progress
>> +    echo -n "${task_name//project_} ${task_target}: "
>> +    if [ "${VERBOSE}" =3D "n" ]; then
>> +        "$@" > "${LOGDIR}/${task_log}.log" 2>&1
>> +    else
>> +        "$@" 2>&1 | tee "${LOGDIR}/${task_log}.log"
>> +    fi
>> +
>> +    if [ ${?} -ne 0 ]; then
>> +        echo "Error"
>> +        build_result=3D$((build_result+1))
>> +        if [ "${do_dump}" =3D "y" ]; then
>> +            echo
>> +            echo "############ LOGS-START ############"
>> +            cat "${LOGDIR}/${task_log}.log"
>> +            echo "############  LOGS-END  ############"
>> +            echo
>> +        fi
>> +        return 1
>> +    else
>> +        echo "OK"
>> +        return 0
>> +    fi
>> +}
>> +
>> +function project_create() {
>> +    target=3D"${1:?}"
>> +    destdir=3D"${BUILDDIR}/${target}"
>> +
>> +    (
>> +        # init yocto project
>> +        source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}"
>> +
>> +        # add needed layers
>> +        for layer in ${build_layerlist}; do
>> +            bitbake-layers add-layer "${YOCTODIR}/${layer}" || exit 1
>> +        done
>> +    ) || return 1
>> +
>> +    # customize project configuration
>> +    cat <<EOF >> "${destdir}/conf/local.conf"
>> +# Yocto BSP
>> +MACHINE =3D "${target}"
>> +
>> +# Use local cache to reuse previous builds results
>> +SSTATE_DIR =3D "${CACHEDIR}/sstate-cache"
>> +DL_DIR =3D "${CACHEDIR}/downloads"
>> +
>> +# Enable xen and virtualization
>> +DISTRO_FEATURES =3D " virtualization xen ipv4"
>> +
>> +# Speed up run by not generating ssh host keys
>> +IMAGE_INSTALL:append:pn-xen-image-minimal =3D " ssh-pregen-hostkeys"
>> +
>> +# Save some disk space
>> +INHERIT +=3D "rm_work"
>> +
>> +# Reduce number of jobs
>> +BB_NUMBER_THREADS=3D"${BUILDJOBS}"
>> +
>> +EOF
>> +
>> +    if [ "${do_localsrc}" =3D "y" ]; then
>> +        XENVERS=3D$(grep -e "^XEN_REL" \
>> +            "${YOCTODIR}"/meta-virtualization/recipes-extended/xen/xen_=
*.bb \
>> +            2> /dev/null | tr -d ' ' | tr -d '?' | tr -d '"' \
>> +            | sed -e "s/.*=3D//" | sort -V | tail -n 1)
>> +
>> +        XENBASE=3D$(dirname "$(realpath -m "${XENDIR}")")
>> +        XENSUB=3D$(basename "$(realpath -m "${XENDIR}")")
>> +
>> +        cat <<EOF >> "${destdir}/conf/local.conf"
>> +# Use local sources for xen and xen-tools
>> +FILESEXTRAPATHS:prepend:pn-xen :=3D "${XENBASE}:"
>> +FILESEXTRAPATHS:prepend:pn-xen-tools :=3D "${XENBASE}:"
>> +
>> +SRC_URI:pn-xen =3D "file://${XENSUB}/;subdir=3Dlocal-xen/"
>> +SRC_URI:pn-xen-tools =3D "file://${XENSUB}/;subdir=3Dlocal-xen/"
>> +
>> +PREFERRED_VERSION:pn-xen =3D "${XENVERS}%"
>> +PREFERRED_VERSION:pn-xen-tools =3D "${XENVERS}%"
>> +
>> +S:pn-xen =3D "\${WORKDIR}/local-xen/${XENSUB}"
>> +S:pn-xen-tools =3D "\${WORKDIR}/local-xen/${XENSUB}"
>> +
>> +SRCREV:pn-xen =3D "\${AUTOREV}"
>> +SRCREV:pn-xen-tools =3D "\${AUTOREV}"
>> +
>> +SRCPV:pn-xen =3D "1"
>> +SRCPV:pn-xen-tools =3D "1"
>> +
>> +# Disable all QA errors as the recipe is not up to date with changes in=
 Xen
>> +# when we use local sources
>> +ERROR_QA:pn-xen =3D "arch"
>> +ERROR_QA:pn-xen-tools =3D "arch"
>> +
>> +EOF
>> +    fi
>> +}
>> +
>> +function project_build() {
>> +    target=3D"${1:?}"
>> +    destdir=3D"${BUILDDIR}/${target}"
>> +
>> +    (
>> +        source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}"
>> +
>> +        bitbake "${build_image}" || exit 1
>> +    ) || return 1
>> +}
>> +
>> +function project_clean() {
>> +    target=3D"${1:?}"
>> +    destdir=3D"${BUILDDIR}/${target}"
>> +
>> +    rm -rf "${destdir}"
>> +}
>> +
>> +function project_run() {
>> +    target=3D"${1:?}"
>> +    destdir=3D"${BUILDDIR}/${target}"
>> +    (
>> +        source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}" > /dev=
/null 2>&1
>> +
>> +        /usr/bin/expect <<EOF
>> +set timeout 100
>> +spawn bash -c "runqemu serialstdio nographic slirp"
>> +
>> +expect_after {
>> +    -re "(.*)\r" {
>> +        exp_continue
>> +    }
>> +    timeout {send_user "ERROR-Timeout!\n"; exit 1}
>> +    eof {send_user "ERROR-EOF!\n"; exit 1}
>> +}
>> +
>> +# wait initial login
>> +expect -re ".* login: "
>> +send "root\r"
>> +expect -re "root@.*# "
>> +
>> +EOF
>> +    exit $?
>> +    ) || return 1
>> +}
>> +
>> +function help() {
>> +    cat <<EOF
>> +Usage: ${0} [TARGET1] [TARGET2]
>> +
>> +This script is build the yocto xen-image-minimal for different qemu tar=
gets
>> +and is running it after.
>> +Without any target specified, all supported targets are done.
>> +
>> +Options:
>> +  -h, --help       Print this help
>> +  -v, --verbose    Verbose build
>> +  --list-target    List supported targets
>> +  --clean          Clean existing project before starting
>> +  --no-build       Do not build (to run an already built project)
>> +  --no-run         Do not run
>> +  --num-jobs=3DNUM   Define the number of parallel jobs in Yocto.
>> +                   Default: ${BUILDJOBS}
>> +  --dump-log       On error, dump the logs on the console
>> +  --image=3DIMG      Yocto image or package to build
>> +                   Default: xen-image-minimal
>> +  --xen-dir=3DDIR    path to xen hypervisor source tree
>> +                   if not provide, normal yocto version of xen is built
>> +                   Default: ${XENDIR}
>> +  --out-dir=3DDIR    directory where to create the projectss
>> +                   Default: ${BUILDDIR}
>> +  --log-dir=3DDIR    directory to store logs
>> +                   Default: ${LOGDIR}
>> +  --cache-dir=3DDIR  directory where to take and store build cache
>> +                   Default: ${CACHEDIR}
>> +  --layer-dir=3DDIR  directory containing the checkout of yocto layers
>> +                   Default: ${YOCTODIR}
>> +EOF
>> +}
>> +
>> +for OPTION in "$@"
>> +do
>> +    case ${OPTION} in
>> +        -h|--help)
>> +            help
>> +            exit 0
>> +            ;;
>> +        -v|--verbose)
>> +            VERBOSE=3D"y"
>> +            ;;
>> +        --list-targets)
>> +            echo "${TARGET_SUPPORTED}"
>> +            exit 0
>> +            ;;
>> +        --clean)
>> +            do_clean=3D"y"
>> +            ;;
>> +        --no-build)
>> +            do_build=3D"n"
>> +            ;;
>> +        --no-run)
>> +            do_run=3D"n"
>> +            ;;
>> +        --dump-log)
>> +            do_dump=3D"y"
>> +            ;;
>> +        --num-jobs=3D*)
>> +            BUILDJOBS=3D"${OPTION#*=3D}"
>> +            ;;
>> +        --image=3D*)
>> +            build_image=3D"${OPTION#*=3D}"
>> +            ;;
>> +        --xen-dir=3D*)
>> +            XENDIR=3D"${OPTION#*=3D}"
>> +            if [ ! -e "${XENDIR}/xen/Makefile" ]; then
>> +                echo "No Xen source tree in ${XENDIR}"
>> +                exit 1
>> +            fi
>> +            do_localsrc=3D"y"
>> +            ;;
>> +        --out-dir=3D*)
>> +            BUILDDIR=3D"${OPTION#*=3D}"
>> +            ;;
>> +        --log-dir=3D*)
>> +            LOGDIR=3D"${OPTION#*=3D}"
>> +            ;;
>> +        --cache-dir=3D*)
>> +            CACHEDIR=3D"${OPTION#*=3D}"
>> +            ;;
>> +        --layer-dir=3D*)
>> +            YOCTODIR=3D"${OPTION#*=3D}"
>> +            ;;
>> +        --*)
>> +            echo "Invalid option ${OPTION}"
>> +            help
>> +            exit 1
>> +            ;;
>> +        *)
>> +            if echo "${TARGET_SUPPORTED}" | grep -q -w "${OPTION}"; the=
n
>> +                TARGETLIST=3D"${TARGETLIST} ${OPTION}"
>> +            else
>> +                echo "Unsupported target ${OPTION}"
>> +                exit 1
>> +            fi
>> +            ;;
>> +    esac
>> +done
>> +
>> +# if no target is specified build all targets
>> +if [ -z "${TARGETLIST}" ]; then
>> +    TARGETLIST=3D"${TARGET_SUPPORTED}"
>> +fi
>> +
>> +mkdir -p "${CACHEDIR}"
>> +mkdir -p "${LOGDIR}"
>> +mkdir -p "${BUILDDIR}"
>> +
>> +# Make sure we have an absolute path
>> +YOCTODIR=3D$(realpath -m "${YOCTODIR}")
>> +CACHEDIR=3D$(realpath -m "${CACHEDIR}")
>> +BUILDDIR=3D$(realpath -m "${BUILDDIR}")
>> +LOGDIR=3D$(realpath -m "${LOGDIR}")
>> +if [ "${do_localsrc}" =3D "y" ]; then
>> +    XENDIR=3D$(realpath -m "${XENDIR}")
>> +fi
>> +
>> +# Check that we have all the layers we need
>> +for f in ${build_layerlist}; do
>> +    if [ ! -f "${YOCTODIR}/${f}/conf/layer.conf" ]; then
>> +        echo "Layer ${f} missing in ${YOCTODIR}"
>> +        exit 1
>> +    fi
>> +done
>> +
>> +for f in ${TARGETLIST}; do
>> +    if [ "${do_clean}" =3D "y" ]; then
>> +        run_task project_clean "${f}"
>> +    fi
>> +    if [ ! -f "${BUILDDIR}/${f}/conf/local.conf" ]; then
>> +        run_task project_create "${f}"
>> +    fi
>> +    if [ -f "${BUILDDIR}/${f}/conf/local.conf" ]; then
>> +        if [ "${do_build}" =3D "y" ]; then
>> +            run_task project_build "${f}"
>> +        fi
>> +        if [ "${do_run}" =3D "y" ]; then
>> +            run_task project_run "${f}"
>> +        fi
>> +
>> +    fi
>> +done
>> +
>> +print_progress "Build Complete (${build_result} errors)"
>> +echo
>> +exit ${build_result}
>> +
>> diff --git a/automation/build/yocto/yocto.dockerfile.in b/automation/bui=
ld/yocto/yocto.dockerfile.in
>> new file mode 100644
>> index 000000000000..b0892d420377
>> --- /dev/null
>> +++ b/automation/build/yocto/yocto.dockerfile.in
>> @@ -0,0 +1,114 @@
>> +# Docker file to create an environment to build yocto with virtualizati=
on
>> +#
>> +# Arguments that can be passed during image creation using --build-arg:
>> +# "host_uid=3D$(id -u)": to use current user uid for build user in the =
image
>> +# "host_gid=3D$(id -g)": to use current user gid for build user in the =
image
>> +# "ubuntu_version=3DVERS": to select the ubuntu version number
>> +
>> +# Use standard ubuntu minimal.
>> +ARG ubuntu_version=3D22.04
>> +From ##DOCKERPLAT##ubuntu:$ubuntu_version AS base
>> +LABEL maintainer.name=3D"The Xen Project " \
>> +      maintainer.email=3D"xen-devel@lists.xenproject.org"
>> +
>> +ENV DEBIAN_FRONTEND=3Dnoninteractive
>> +
>> +# Install minimal ubuntu requirements for yocto and other tools we need=
.
>> +# See https://docs.yoctoproject.org/4.0.1/brief-yoctoprojectqs/index.ht=
ml#build-host-packages
>> +RUN apt-get update && \
>> +    apt-get --quiet --yes install \
>> +        gawk \
>> +        wget \
>> +        git \
>> +        diffstat \
>> +        unzip \
>> +        texinfo \
>> +        gcc \
>> +        build-essential \
>> +        chrpath \
>> +        socat \
>> +        cpio \
>> +        python3 \
>> +        python3-pip \
>> +        python3-pexpect \
>> +        xz-utils \
>> +        debianutils \
>> +        iputils-ping \
>> +        python3-git \
>> +        python3-jinja2 \
>> +        libegl1-mesa \
>> +        libsdl1.2-dev \
>> +        python3-subunit \
>> +        mesa-common-dev \
>> +        zstd \
>> +        liblz4-tool \
>> +        file \
>> +        vim \
>> +        bison \
>> +        expect \
>> +        locales \
>> +        liblz4-tool \
>> +        zstd \
>> +        openssl \
>> +        libssl3 \
>> +        ca-certificates \
>> +        && \
>> +        apt-get autoremove -y && \
>> +        apt-get clean && \
>> +        rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
>> +
>> +# Use bash as shell.
>> +RUN rm /bin/sh && ln -s bash /bin/sh
>> +
>> +# Fix local for yocto.
>> +RUN locale-gen en_US.UTF-8 && update-locale LC_ALL=3Den_US.UTF-8 \
>> +    LANG=3Den_US.UTF-8
>> +ENV LANG en_US.UTF-8
>> +ENV LC_ALL en_US.UTF-8
>> +
>> +# Create a user for the build (we don't want to build as root).
>> +ENV USER_NAME docker-build
>> +ARG host_uid=3D1000
>> +ARG host_gid=3D1000
>> +RUN groupadd -g $host_gid $USER_NAME && \
>> +    useradd -g $host_gid -m -s /bin/bash -u $host_uid $USER_NAME
>> +
>> +# Switch to our user instead of root and start in its home.
>> +USER $USER_NAME
>> +WORKDIR /home/$USER_NAME
>> +
>> +# Create needed directories
>> +RUN mkdir -p /home/$USER_NAME/yocto-layers \
>> +             /home/$USER_NAME/yocto-cache \
>> +             /home/$USER_NAME/logs \
>> +             /home/$USER_NAME/bin \
>> +             /home/$USER_NAME/xen && \
>> +    chown $USER_NAME.$USER_NAME /home/$USER_NAME/*
>> +
>> +# clone yocto repositories we need.
>> +RUN for rep in \
>> +                https://github.com/openembedded/meta-openembedded \
>> +                https://git.yoctoproject.org/poky \
>> +                https://git.yoctoproject.org/meta-virtualization \
>> +            ; do \
>> +        git -C /home/$USER_NAME/yocto-layers \
>> +            clone -b ##YOCTOVERSION## --single-branch $rep; \
>> +    done
>> +
>> +# The builder stage is building an initial cache state that we include =
in the
>> +# final image.
>> +From base AS builder
>> +
>> +# This step can take one to several hours depending on your download ba=
ndwith
>> +# and the speed of your computer.
>> +COPY ./build-yocto.sh /
>> +RUN /build-yocto.sh --dump-log ##YOCTOTARGET##
>> +
>> +From base
>> +
>> +# Only copy the cache status.
>> +COPY --from=3Dbuilder /home/$USER_NAME/yocto-cache /home/$USER_NAME/yoc=
to-cache/.
>> +
>> +LABEL maintainer.name=3D"The Xen Project " \
>> +      maintainer.email=3D"xen-devel@lists.xenproject.org"
>> +
>> diff --git a/automation/build/yocto/yocto.inc b/automation/build/yocto/y=
octo.inc
>> new file mode 100644
>> index 000000000000..cc72debe366c
>> --- /dev/null
>> +++ b/automation/build/yocto/yocto.inc
>> @@ -0,0 +1,42 @@
>> +# This makefile generates the docker files for Yocto builds.
>> +# The containers for the current architecture are the one built using m=
ake all.
>> +# To build containers for a different architecture, you need to call ma=
ke for
>> +# the image you want explicitely.
>> +# The containers are named this way:
>> +# YOCTOVERSION-TARGET for x86_64 hosts
>> +# YOCTOVERSION-TARGET-arm64v8 for arm64 hosts
>=20
> Please add:
>=20
> # For example you can build an arm64 container with the following command=
:
> # make yocto/kirkstone-qemuarm64-arm64v8

ok

Cheers
Bertrand





From xen-devel-bounces@lists.xenproject.org Thu Dec 01 08:52:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 08:52:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450287.707562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fIz-0001DD-6q; Thu, 01 Dec 2022 08:52:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450287.707562; Thu, 01 Dec 2022 08:52:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fIz-0001D6-3g; Thu, 01 Dec 2022 08:52:29 +0000
Received: by outflank-mailman (input) for mailman id 450287;
 Thu, 01 Dec 2022 08:52:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0fIx-0001Cy-UM
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 08:52:27 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0fIx-0003Mb-Fq; Thu, 01 Dec 2022 08:52:27 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.7.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0fIx-0003q5-9V; Thu, 01 Dec 2022 08:52:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=H9mDHYQhtrQ/hAr2Pi6J/tSlDgkl1Gfl4nqAAdxSlBs=; b=Vb/dX/JAedayZ2ZdWILjHZU+A1
	HMdk8i9QEvrvIbtJozXvQE756CwHlWSnCajNFMaEafYvfi7o7PMEjXzs5bewObc3zFDY36XNRF1RU
	D1BIBvxgZBgvnQk0URBGAglyQMTUnaf/+7155S+d7px3O/QaDYsp5QlRLOo/jxRsaNzY=;
Message-ID: <8680c25a-bfac-d0b7-e2e6-a9264f8a7221@xen.org>
Date: Thu, 1 Dec 2022 08:52:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH v4 1/2] xen/arm: vpl011: emulate non-SBSA registers as
 WI/RAZ
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>, Jiamei Xie <jiamei.xie@arm.com>,
 xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221201080400.1842558-1-jiamei.xie@arm.com>
 <20221201080400.1842558-2-jiamei.xie@arm.com>
 <f51dbcc1-e7b3-c5c9-f603-73c9013d8b2f@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f51dbcc1-e7b3-c5c9-f603-73c9013d8b2f@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 01/12/2022 09:42, Michal Orzel wrote:
> On 01/12/2022 09:03, Jiamei Xie wrote:
>>
>>
>> When the guest kernel enables DMA engine with "CONFIG_DMA_ENGINE=y",
>> Linux SBSA PL011 driver will access PL011 DMACR register in some
>> functions. As chapter "B Generic UART" in "ARM Server Base System
>> Architecture"[1] documentation describes, SBSA UART doesn't support
>> DMA. In current code, when the kernel tries to access DMACR register,
>> Xen will inject a data abort:
>> Unhandled fault at 0xffffffc00944d048
>> Mem abort info:
>>    ESR = 0x96000000
>>    EC = 0x25: DABT (current EL), IL = 32 bits
>>    SET = 0, FnV = 0
>>    EA = 0, S1PTW = 0
>>    FSC = 0x00: ttbr address size fault
>> Data abort info:
>>    ISV = 0, ISS = 0x00000000
>>    CM = 0, WnR = 0
>> swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000020e2e000
>> [ffffffc00944d048] pgd=100000003ffff803, p4d=100000003ffff803, pud=100000003ffff803, pmd=100000003fffa803, pte=006800009c090f13
>> Internal error: ttbr address size fault: 96000000 [#1] PREEMPT SMP
>> ...
>> Call trace:
>>   pl011_stop_rx+0x70/0x80
>>   tty_port_shutdown+0x7c/0xb4
>>   tty_port_close+0x60/0xcc
>>   uart_close+0x34/0x8c
>>   tty_release+0x144/0x4c0
>>   __fput+0x78/0x220
>>   ____fput+0x1c/0x30
>>   task_work_run+0x88/0xc0
>>   do_notify_resume+0x8d0/0x123c
>>   el0_svc+0xa8/0xc0
>>   el0t_64_sync_handler+0xa4/0x130
>>   el0t_64_sync+0x1a0/0x1a4
>> Code: b9000083 b901f001 794038a0 8b000042 (b9000041)
>> ---[ end trace 83dd93df15c3216f ]---
>> note: bootlogd[132] exited with preempt_count 1
>> /etc/rcS.d/S07bootlogd: line 47: 132 Segmentation fault start-stop-daemon
>>
>> As discussed in [2], this commit makes the access to non-SBSA registers
>> RAZ/WI as an improvement.
>>
>> [1] https://developer.arm.com/documentation/den0094/c/?lang=en
>> [2] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2211161552420.4020@ubuntu-linux-20-04-desktop/
>>
>> Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
> The patch looks good, so:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> However, because your series is about vpl011 refinement, I spotted two things
> (this does not necessarily needs to be done by you).
> 
>> ---
>> v3 -> v4
>> - remove the size check for unknown registers in the SBSA UART
>> - remove lock in read_as_zero
>> v2 -> v3
>> - emulate non-SBSA registers as WI/RAZ in default case
>> - update commit message
>> v1 -> v2
>> - print a message using XENLOG_G_DEBUG when it's write-ignore
>> ---
>>   xen/arch/arm/vpl011.c | 8 ++++++--
>>   1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
>> index 43522d48fd..f4a5621fab 100644
>> --- a/xen/arch/arm/vpl011.c
>> +++ b/xen/arch/arm/vpl011.c
>> @@ -414,11 +414,15 @@ static int vpl011_mmio_read(struct vcpu *v,
>>       default:
>>           gprintk(XENLOG_ERR, "vpl011: unhandled read r%d offset %#08x\n",
> This is an emulated UART MMIO handler, so instead XENLOG_ERR, we should use XENLOG_G_ERR
> to indicate gust error and not Xen error.

That's already the case because the code is using gprintk() which will 
append XENLOG_GUEST to the log level and also print the current vCPU.

Otherwise this would have been considered a security issue because 
XENLOG_ERR is not ratelimited the same way as XENLOG_G_ERR by default.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 08:52:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 08:52:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450289.707573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fJR-0001hl-Eq; Thu, 01 Dec 2022 08:52:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450289.707573; Thu, 01 Dec 2022 08:52:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fJR-0001he-C1; Thu, 01 Dec 2022 08:52:57 +0000
Received: by outflank-mailman (input) for mailman id 450289;
 Thu, 01 Dec 2022 08:52:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ecKG=37=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1p0fJQ-0001hK-7I
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 08:52:56 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2051.outbound.protection.outlook.com [40.107.7.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c0ff30d-7155-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 09:52:55 +0100 (CET)
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by GV2PR08MB8439.eurprd08.prod.outlook.com (2603:10a6:150:ba::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 08:52:26 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::58db:2a7f:e8f5:92ad]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::58db:2a7f:e8f5:92ad%7]) with mapi id 15.20.5880.008; Thu, 1 Dec 2022
 08:52:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c0ff30d-7155-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XydNvFx5pbA66zMVqNoFOut5WtAxgqOYNhTivA1jWdvdeTDLkHUX18YXm8TqL00qicuBwa/dp3Bc8EUmKrf+gd0ZpZSkHooJAxypnV5anDgYncpujErnfGjr2ssxExgmX91fBESJjdXjgNGju9thkSyl/GYxE+COC0P0EctShBn9DIqxR4pMFIBRmMi5O9hmZxMfxYHUKMjAgm7vaaDj1OfPU+kI1DJYrHDkSY/Vw7GpnY5V8MCoRBWvooeSCZnfxwAvUOjlPklOMHU83tRJs5cNm5IF48jN3+5YVqlSYifoZPXTcVeUtm6vxARveP9CL2+KOkG1oZPjfSRe/DnP5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ry8aIQFsYD5zw2guxY3LkcXgZB9WbcfDbCo9iDWmyKQ=;
 b=EuZTKSaPLok/RyedGaka2Fvq7cgERfs2Rla07SNb4kOmjwW0x7hE/l3x8RaheHNhOTeP+Bkd6frrnXiM27+F2zBoaVnsmPfTwRj/JAmzB13/SZtwOzrSqMgkIiWLdfAoPA0xge6dOMg3L0NsHiy1fZ6Cd2VrmJUKdQysiozXkJt+bR9RkomlnDP2zUuAXDpw/xH1/KtGozj0aaVNj+s4KKNKnJWQdtRbF4pM1By77DIXTp6CpZfvbEuRBx0bWKbPBM6ZyDpw/tlsQ5KorX5UASS12L6wGe26s3y2d7FqV5YLEnUFnNMam0lRz8E6fzC8QvezdGbxuYASZuki+/YJEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ry8aIQFsYD5zw2guxY3LkcXgZB9WbcfDbCo9iDWmyKQ=;
 b=64jzheRaFSWVcD1HXCZytkNilNinto3YzOgTmNOmPOhXMtbRw8Roy/WE2kuOEdrH+T5N6f+4+RPLixuAC+dwgSyc+zA9xD7WcYsmGDG3eQQJjOUgf5Ty8LPj05CgUbSGO3MQopzMu8xcR3doAlbQNQbUoyPdu03DxkfHHeF2m+0=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"michal.orzel@amd.com" <michal.orzel@amd.com>, Doug Goldstein
	<cardoe@cardoe.com>
Subject: Re: [PATCH v5 0/3] Yocto Gitlab CI
Thread-Topic: [PATCH v5 0/3] Yocto Gitlab CI
Thread-Index: AQHZBLWAGwGw6fltyE6VAxC7RJU5cK5YaY6AgABRfQA=
Date: Thu, 1 Dec 2022 08:52:25 +0000
Message-ID: <D730BED6-4964-46A3-8BFB-4519B87CCBAC@arm.com>
References: <cover.1669810269.git.bertrand.marquis@arm.com>
 <alpine.DEB.2.22.394.2211302000361.4039@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2211302000361.4039@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM6PR08MB3784:EE_|GV2PR08MB8439:EE_
x-ms-office365-filtering-correlation-id: 1d46f8e2-5503-4f77-3235-08dad3795e72
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 OVkf5xAgmM8MhDtezsfstoOlgIQB6STnDw337fxJOXWTKEkwvY34LIEuIRudKKbhJoL9OUVJbIue3iXg4ww6gH+B2hnjHK13WyCNyYiHbQt03GqP8/xiY04zYvRXngNy2APKmXFz7TDVmeNK7M2m+VoC0YJ1eoDWkvj1FoPKh3+OGQhQNYPCSO0P39GKIIERTSJioKK6AAoRr1+E5VAqkLv3i6y6UtatUAf50gIlbnTml8bA15PYQimuS+79cgFfSi1pZJvhb+N/7hYpzRTTwr1XS23ajRO2WJLGhkKUQ7ToFBI4jUpBD5EAWMDTOI4liTfUvwFVYpUwi+GwCiai5hsR1awRCeu2WS2LyjENnLeK4W+mzDMLDfe5U8uu1KluF4/VyBw+N5KjQZ1vJbFmimqKA3Kpi03hHWN3eQSKdTzDoLsWGMDsD5sxs+T2bMtL/lPIvALg0qZ/dfGak0euet6vsejHFlVdDf9OnKPvTHXJfalGkChyedrpcOttJE9FaL3bIYz5KvVdSdX4UCVNEv+oqM1BjjD4Yoa1d1sPZ2VKApk0V4MK+IPSGpnPOZS2JBUihGkxt5X6bj0cfObBtqltY6wEdY9M6ArBdkrIYckcolLnKYqPRC3EyK/IN9CCkrwaS3vLTgWUv9ENVRbQXtYmdx6mkLeaHw59io5C6A7QVXGWlRiZ9dcsfSNa72z+bKzhWeYBs9sCwc2cXl9TDQVfH+bsr/Ax5suZGstHpFM=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3784.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(366004)(39860400002)(396003)(376002)(451199015)(54906003)(6916009)(71200400001)(316002)(122000001)(53546011)(38100700002)(6506007)(36756003)(26005)(64756008)(41300700001)(2616005)(186003)(5660300002)(86362001)(4326008)(66556008)(66446008)(66476007)(8676002)(6512007)(8936002)(66946007)(33656002)(91956017)(2906002)(83380400001)(76116006)(6486002)(478600001)(38070700005)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?ld7X2/XuSEXqI+NcPYfZ8lH7gzClVytd2Kfv4CfrAtN6sbPaAJdpwluifoOz?=
 =?us-ascii?Q?+3Ur78E/FsqJktineBmEYaS/LYp7AKgPC3bvOejUv554WWySacwh/UEl+VMU?=
 =?us-ascii?Q?uEk4cZFE9aeKir0yf4LPVjDIoxUjTqlArL66E7fLVkKNIYZOCw+nZedk6cy1?=
 =?us-ascii?Q?3+4NvVvO7Fi+V4H4IhV8On1wvIpFcPjLbLLxGj4VIBN0d9w6/Vz6FWbuEf5i?=
 =?us-ascii?Q?jTttLRKdaB+FH3jzmbWMi1nWcRwTUe6iUviWybz4140iJlsSPEVWaT88JANN?=
 =?us-ascii?Q?X1UHrQprPJaSnMTBCo9a51vSQcZ+mStnEB6seeKKqdd7lxfmQP/ZWhTKE7EH?=
 =?us-ascii?Q?sZYLU1cvNInq+UK4vkSA3BUdHs7XW6uukve3WuwJjGxhfHd2ffdMpAb/tewo?=
 =?us-ascii?Q?hgIChGaYDwi4SCFkyCEBpYY7+Y3SKsaFC+YPtD3YbvkjV+sH4hwYey4DWygQ?=
 =?us-ascii?Q?Aeo8rVDJFsxd4/U86Q8+6LhhokF8qRYwFFFXzH10b+UWwQAz95WBVNmw10tm?=
 =?us-ascii?Q?A+QRa0o8tdwlD0CvCzeo6/DWQj5zuF04CSzrJPMusfkynxwbcxab8/x1jlLQ?=
 =?us-ascii?Q?o5jEf7TZZPOIo+THVabg9EdNK442f3PEX4tKjEo7FFKmODyQ0KfmZF8s8TOx?=
 =?us-ascii?Q?NhH9K30h1fqBNJxD9qL3PJCUBDbl6rNa4E0WV2p+f28MhyJ1RWqwPUfeYZhi?=
 =?us-ascii?Q?RghOtv6H1Pz0gt6SvH056vEa4vNCAUHrN/ukNoEopSeq32arqnr7q+tX/qsr?=
 =?us-ascii?Q?746Vsd0qAZgRMZaCG0peGGYZkbIUEwAkLwz3AYILONjD6u8MJ7QNZmyNo6vw?=
 =?us-ascii?Q?pmjp0uqTRyoCqAq7hzw8IwO1QuCWzZzuTb1no0DawqlFUNoGo1rO18LGBT3Z?=
 =?us-ascii?Q?9r1NEBo3OAXpJ51lryA0yTMSBJiiXYtpqgH+Pslt8e4kruuvXU3hJOpqZT0f?=
 =?us-ascii?Q?vxQg2Rxkngn9KVvwdADqF7pHzL6Tvb44vvHpzALVJyGNA63La8n6AXKYkqAA?=
 =?us-ascii?Q?3sOfWqvAuupGH3m0iXvmuwRURHsV8REuqdN1na6GNDI5kGpeoP3A39RjPXZi?=
 =?us-ascii?Q?A9Nq5WQAKhP2Gjese28ff1hRllvuRjDjzZiN7CsCKy+dMiczzW7r1IJR/zyo?=
 =?us-ascii?Q?HrwC9Z0iML4k7QFadVZji/0n3eA6wtxy+ALg+kgBj40jHDUetlkbG2xsKSny?=
 =?us-ascii?Q?P1zQy7qekF9+pBoOCBwwB392A02fo8YG2rpdYkOEfAyRu/Y4L8i9uX0e3Ycu?=
 =?us-ascii?Q?0hXAjSyvmONEnoBYc58V8SqaNRgyBUFhxsP2qP1kz+SFdq+gCyXI8hcnSQnf?=
 =?us-ascii?Q?zk0ZyYchBq9NxJ0ttu7XSV49XY8u3SiuRAZ7RDTTk1N0QMp4GEG/xEHwm4S7?=
 =?us-ascii?Q?Bhq+6Zl0TjTlKPh42yA5dZhVVT8ZccktOphwbTTD8DpIsWBWKfBBo2A4h39J?=
 =?us-ascii?Q?rKfE+MJ/cyUECiKvGPFbVvUyflzzgLhPlv7L32VMTUI6i/ALYpawVj2Ycsz4?=
 =?us-ascii?Q?lMdQCu/2wDznKS9Yo2FaSyP1b7yYPhGagkGAqmZUXpZJbn51C7KiH7NrJDqS?=
 =?us-ascii?Q?aqJfkcn/FAiUDA7FHPS8+moOLOw1Br/BHRmWRwH8u7UcDcn9DGzg/t617h9C?=
 =?us-ascii?Q?3g=3D=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <D9BDCC998C37C447A80A3E5A6060F850@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM6PR08MB3784.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d46f8e2-5503-4f77-3235-08dad3795e72
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 08:52:25.5079
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: golGbcBnfpzW+UFl31uJz7D49RlCSPe/x0OtP6gZ5OyzoEj4GxBYUSW5W98lWR0jgOaT8ChvYzfuQlxzF+6ifx3VuQcvXO89CbJvId/GeEU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8439

Hi Stefano,

> On 1 Dec 2022, at 04:00, Stefano Stabellini <sstabellini@kernel.org> wrot=
e:
>=20
> The build of the qemux86-64 container still fails, logs attached.
> I tested the full gitlab-ci pipeline for qemuarm and qemuarm64 and they
> both succeeded.

This is actually because we build 4.16, this was fixed on master.
I will enforce to use the latest version of Xen available.
I will modify and test that today.

Cheers
Bertrand

>=20
> On Wed, 30 Nov 2022, Bertrand Marquis wrote:
>> This patch series is a first attempt to check if we could use Yocto in
>> gitlab ci to build and run xen on qemu for arm, arm64 and x86.
>>=20
>> The first patch is introducing a container template from which container
>> files can be generated for all combinations we want to support (qemu
>> arm, arm64 and x86 targets and hosts x86_64 and arm64).
>> It is also introducing a generic build script (build-yocto.sh) that is
>> used to create, build and run a Yocto project.
>>=20
>> The second patch is adding a way to easily clean locally created
>> containers.
>>=20
>> The third patch is introducing some gitlab CI templates and jobs so that
>> we can test a Xen source tree in gitlab-CI using Yocto.
>>=20
>> This has been tested on a x86 host machine and on an arm host machine
>> (with mk_dsdt.c fix).
>>=20
>> Changes in v5:
>> - automatic cleanup of generated docker files using INTERMEDIATE
>> - typo fixes
>> - rebase on Stefano's next branch
>> - remove clean rule cleaning all containers
>>=20
>> Changes in v4:
>> - rework the container generation to support multiple hosts
>> - rework the container generation to use a single template for all
>>  docker files (make process is generating the docker files).
>>=20
>> Changes in v3:
>> - limit number of jobs in yocto
>> - do not copy build script inside container
>> - add patch from Michal to create gitlab jobs
>>=20
>> Changes in v2:
>> - remove gitignore patch which was merged
>> - add a --dump-log support in build-yocto.sh script and use it during
>>  container creation to see the error logs.
>>=20
>>=20
>> Bertrand Marquis (2):
>>  automation: Create Yocto docker images
>>  automation: Add a clean rule for containers
>>=20
>> Michal Orzel (1):
>>  automation: Add CI test jobs for Yocto
>>=20
>> automation/build/Makefile                  |  24 +-
>> automation/build/yocto/build-yocto.sh      | 351 +++++++++++++++++++++
>> automation/build/yocto/yocto.dockerfile.in | 114 +++++++
>> automation/build/yocto/yocto.inc           |  42 +++
>> automation/gitlab-ci/test.yaml             |  43 +++
>> 5 files changed, 572 insertions(+), 2 deletions(-)
>> create mode 100755 automation/build/yocto/build-yocto.sh
>> create mode 100644 automation/build/yocto/yocto.dockerfile.in
>> create mode 100644 automation/build/yocto/yocto.inc
>>=20
>> --=20
>> 2.25.1
> <log.txt>



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 08:56:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 08:56:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450298.707584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fMI-0002Ov-VG; Thu, 01 Dec 2022 08:55:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450298.707584; Thu, 01 Dec 2022 08:55:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fMI-0002Oo-Ql; Thu, 01 Dec 2022 08:55:54 +0000
Received: by outflank-mailman (input) for mailman id 450298;
 Thu, 01 Dec 2022 08:55:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0fMI-0002Oi-84
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 08:55:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0fMI-0003Qx-0Z; Thu, 01 Dec 2022 08:55:54 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.7.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0fMH-000418-Pc; Thu, 01 Dec 2022 08:55:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Opmvz08GnFM+DlBzR/nXtGgworI14pXZx+EOXpiVfrk=; b=qIvPdVraUWOInMxNNYpryZ4sEU
	urOMP/16wJEUWYttmlyYay7557xUoKvgmd4Y2jBrJWYjJ7y3aBENrjuoZxsyIuuAQHVRNYqjOvUQY
	Xn95Bq3sIfGusM+xWm9acfGEetnEjd4BUtMFHumIVaeF2Nx+I/+KAkVZua8lM7vhkHEc=;
Message-ID: <c8a37c26-93d5-9f46-b4ce-802b583355da@xen.org>
Date: Thu, 1 Dec 2022 08:55:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH v4 2/2] xen/arm: vpl011: drop extra return in
 vpl011_mmio_read
Content-Language: en-US
To: Jiamei Xie <jiamei.xie@arm.com>, xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221201080400.1842558-1-jiamei.xie@arm.com>
 <20221201080400.1842558-3-jiamei.xie@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221201080400.1842558-3-jiamei.xie@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 01/12/2022 09:04, Jiamei Xie wrote:
> In vpl011_mmio_read switch block, all cases have a return. So the
> outside one can be removed.

That's correct today. However, if tomorrow we add a new case and forgot 
to add the return, then ...
>
> Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
> ---
> v3 -> v4
> - Don't consolidate check registers access
> - Don't remove label read_as_zero
> ---
>   xen/arch/arm/vpl011.c | 2 --
>   1 file changed, 2 deletions(-)
> 
> diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
> index f4a5621fab..35de50760c 100644
> --- a/xen/arch/arm/vpl011.c
> +++ b/xen/arch/arm/vpl011.c
> @@ -417,8 +417,6 @@ static int vpl011_mmio_read(struct vcpu *v,
>           goto read_as_zero;
>       }
>   
> -    return 1;
> - >   read_as_zero:

... we would end up to clobber the register. This is far from idea. So 
was this change made because the compiler complained?

If not, then I would prefer if we keep "return 1" and maybe add 
ASSERT_UNREACHABLE() to catch case where the return is not added.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 09:10:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 09:10:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450376.707595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0faX-0005hG-DW; Thu, 01 Dec 2022 09:10:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450376.707595; Thu, 01 Dec 2022 09:10:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0faX-0005h9-9z; Thu, 01 Dec 2022 09:10:37 +0000
Received: by outflank-mailman (input) for mailman id 450376;
 Thu, 01 Dec 2022 09:10:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=66xT=37=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p0faV-0005er-Al
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 09:10:35 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20606.outbound.protection.outlook.com
 [2a01:111:f400:fe59::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 01cd4ea8-7158-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 10:10:33 +0100 (CET)
Received: from BN9PR03CA0187.namprd03.prod.outlook.com (2603:10b6:408:f9::12)
 by DS7PR12MB5984.namprd12.prod.outlook.com (2603:10b6:8:7f::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 09:10:30 +0000
Received: from BN8NAM11FT108.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:f9:cafe::ff) by BN9PR03CA0187.outlook.office365.com
 (2603:10b6:408:f9::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Thu, 1 Dec 2022 09:10:29 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT108.mail.protection.outlook.com (10.13.176.155) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5857.17 via Frontend Transport; Thu, 1 Dec 2022 09:10:29 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 03:10:17 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 01:10:17 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 03:10:16 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01cd4ea8-7158-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ndNlp4UL34LkXN8PF10bbSI4SYb57Yib8iC7loD6NTtfz+T5YCnT+16jyJprmgW8zrV3Gcgr2imUagHpZ8yKx1ETcgYUY0dX99lRVYtca+qni4iXV1ZKu3gp7OnzXlmPRZvG/LPmjPzkHZfrdnVybTPOIVdwSjQyXOGmTt+2xw16WTrqrF92qJLYoRdUERrSCeKXG/aFdoYJLLxLqA22NZP69xJtTce+KIZovVK6ZNf/9H2GepY8nja6HP7L1Ab1jKVioKxIlDtoUnQJL8eh0FbqBJ5LXURpM6R7ErqqzqmpLRfUrZKNY8877E3djOrBrxJXEOgINbBx5fx7EJHlfg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qsVM1/Md94QjCFGiTDWsD9Dynj8x8KgCk6F9T9tMLx8=;
 b=QUNPVulO2uz2Azz2iJ2dJJRe4cOhC3wb+lfouXSPgvzJuIvJSTATeavv2lLuvBlKf9BSmKz72GE+XScKVnoEKnFlz7mvUewqcihWjX3bQHYUXYtc8HNeltWgsDo+Z4is292ZkX6KE5XCmrleIouTeJWy2Gz2Y+wWljiOCbRu9c6JjmC8H3VuJceeiUhEo8UuRzL2nE5VlJhXcOJnAblMWoPDDbse6qHdUFNt3KYxSucQHOnjJv/ug5tGBKrhgoq1tP2MQTqvhQ/JXRchkEzTKhygnIQ6DWnjTnaFgIHvcCCih4JL8cNDrZJ0ZCYHPheUj1ZSOGR5pqV5AfslckTfOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qsVM1/Md94QjCFGiTDWsD9Dynj8x8KgCk6F9T9tMLx8=;
 b=ycSghpwMuqNXWUUa8KSgOBmio5DBbYnasmIdWWRb8/PI9vo/9GMkqnXteyt9WlkuM+ANIZc/Jx2geUTIdJsdVivN8iTDZQndliHwA4evBGb9oi6AiLl5xC8+f1tMZCMx4rGr3/WF/ikG1fOd8XjJrT24MRhBmGrfrLVOiUh4CwM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <caf1c78f-6631-ea9a-57f2-881d5870a769@amd.com>
Date: Thu, 1 Dec 2022 10:10:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH v4 1/2] xen/arm: vpl011: emulate non-SBSA registers as
 WI/RAZ
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Jiamei Xie <jiamei.xie@arm.com>,
	<xen-devel@lists.xenproject.org>
CC: <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
References: <20221201080400.1842558-1-jiamei.xie@arm.com>
 <20221201080400.1842558-2-jiamei.xie@arm.com>
 <f51dbcc1-e7b3-c5c9-f603-73c9013d8b2f@amd.com>
 <8680c25a-bfac-d0b7-e2e6-a9264f8a7221@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <8680c25a-bfac-d0b7-e2e6-a9264f8a7221@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT108:EE_|DS7PR12MB5984:EE_
X-MS-Office365-Filtering-Correlation-Id: 47bf6008-f7e8-48ca-08f7-08dad37be494
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5O1lRe2dz91kll9OHyW0bByxeSoO+BpWIJFzz0hpykLKF/vRYuyG9LbHHd7y6wENh3S02+mo0i/11RRjfCrIDM+gXvRkM7BUp1r17EUztIj73KmKk69Xo9kL5KAL0Xj1P6IvnvKuYsfb2Um4wH28LsW9HvSVUuAUEXCgzEayAblEd4pl9uHIUZzjbbaZMRsso6FL9dAbnzCudwdGLfgeO231zgDmWGtU62fNy1aKPg9BK5gxOsG+iFCjmk6+ezUZfhl+VUbdENK8PBVx35iQrJbN/Jm9wjmL69i6UHLSUTgeAj38094Bo93cqYHE+r1cfhXLHOwaJEh4j2EZHRqfKNSnotdsV2HuhBKAXUrzD7NBhCpOw1qxo/Jo400pLln3lOVFnKBbov50krDB+ASb89YHqGhhnrSLXUorHgpJdhnYbMTYX17xQEb+hQBAITGRf3JNIc0C1Y1dNvnNbV7dXC4QW3v7wxFr3VdQyBIyRX78rUAo4j3Kb1S+EwaCWrwYxnRqVTTLPTClNwqoht0SLKCSUHjqjYuyJ+pL4Ul9oFp/4Ms50guH1VokxpoFTDT9aoSJ0vvX92P9/545jwLIUZAw1fXSxshZjI++MRpFTBBY1iVy1epqlX+qp3Z/8DHNVasomtdZWuRq7IET4h5TZSA+jG0kpVznuMSaFx3aMQ1keLTvVa8NP0ion0uSj893btVn3ktxN2aMooTNOVmC5BJygIYhzD7sXEEZE4xgsbaeKUVe5ceCgcH6/g5iOeCzIGhpj4bEyO4FUh9xYc6nGuaLN/mFtvMJR1VI0p+mJbClioH9Y4uiY1lxzSA2IY+mrZv6/1enJJugUfWaWAnU/w==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(376002)(136003)(346002)(39860400002)(451199015)(46966006)(40470700004)(36840700001)(426003)(47076005)(31696002)(70206006)(316002)(86362001)(83380400001)(36860700001)(44832011)(966005)(81166007)(82740400003)(2906002)(356005)(41300700001)(40460700003)(82310400005)(5660300002)(8936002)(40480700001)(336012)(4326008)(53546011)(26005)(186003)(478600001)(2616005)(70586007)(54906003)(16576012)(45080400002)(110136005)(8676002)(36756003)(31686004)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 09:10:29.5066
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 47bf6008-f7e8-48ca-08f7-08dad37be494
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT108.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5984

Hi Julien,

On 01/12/2022 09:52, Julien Grall wrote:
> 
> 
> Hi,
> 
> On 01/12/2022 09:42, Michal Orzel wrote:
>> On 01/12/2022 09:03, Jiamei Xie wrote:
>>>
>>>
>>> When the guest kernel enables DMA engine with "CONFIG_DMA_ENGINE=y",
>>> Linux SBSA PL011 driver will access PL011 DMACR register in some
>>> functions. As chapter "B Generic UART" in "ARM Server Base System
>>> Architecture"[1] documentation describes, SBSA UART doesn't support
>>> DMA. In current code, when the kernel tries to access DMACR register,
>>> Xen will inject a data abort:
>>> Unhandled fault at 0xffffffc00944d048
>>> Mem abort info:
>>>    ESR = 0x96000000
>>>    EC = 0x25: DABT (current EL), IL = 32 bits
>>>    SET = 0, FnV = 0
>>>    EA = 0, S1PTW = 0
>>>    FSC = 0x00: ttbr address size fault
>>> Data abort info:
>>>    ISV = 0, ISS = 0x00000000
>>>    CM = 0, WnR = 0
>>> swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000020e2e000
>>> [ffffffc00944d048] pgd=100000003ffff803, p4d=100000003ffff803, pud=100000003ffff803, pmd=100000003fffa803, pte=006800009c090f13
>>> Internal error: ttbr address size fault: 96000000 [#1] PREEMPT SMP
>>> ...
>>> Call trace:
>>>   pl011_stop_rx+0x70/0x80
>>>   tty_port_shutdown+0x7c/0xb4
>>>   tty_port_close+0x60/0xcc
>>>   uart_close+0x34/0x8c
>>>   tty_release+0x144/0x4c0
>>>   __fput+0x78/0x220
>>>   ____fput+0x1c/0x30
>>>   task_work_run+0x88/0xc0
>>>   do_notify_resume+0x8d0/0x123c
>>>   el0_svc+0xa8/0xc0
>>>   el0t_64_sync_handler+0xa4/0x130
>>>   el0t_64_sync+0x1a0/0x1a4
>>> Code: b9000083 b901f001 794038a0 8b000042 (b9000041)
>>> ---[ end trace 83dd93df15c3216f ]---
>>> note: bootlogd[132] exited with preempt_count 1
>>> /etc/rcS.d/S07bootlogd: line 47: 132 Segmentation fault start-stop-daemon
>>>
>>> As discussed in [2], this commit makes the access to non-SBSA registers
>>> RAZ/WI as an improvement.
>>>
>>> [1] https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdeveloper.arm.com%2Fdocumentation%2Fden0094%2Fc%2F%3Flang%3Den&amp;data=05%7C01%7Cmichal.orzel%40amd.com%7C84567fc1ef8b4a0b314e08dad3796005%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638054815513527676%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=5Sa0xLx%2Bje0bxXssHrNz7tnV8QmbTD0FvjeenlsLGaw%3D&amp;reserved=0
>>> [2] https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore.kernel.org%2Fxen-devel%2Falpine.DEB.2.22.394.2211161552420.4020%40ubuntu-linux-20-04-desktop%2F&amp;data=05%7C01%7Cmichal.orzel%40amd.com%7C84567fc1ef8b4a0b314e08dad3796005%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638054815513527676%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=AjAaBk1N2amRLW4CKrAlqqbAvxi1SUWZwZDpOf6%2FgfU%3D&amp;reserved=0
>>>
>>> Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
>> The patch looks good, so:
>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>>
>> However, because your series is about vpl011 refinement, I spotted two things
>> (this does not necessarily needs to be done by you).
>>
>>> ---
>>> v3 -> v4
>>> - remove the size check for unknown registers in the SBSA UART
>>> - remove lock in read_as_zero
>>> v2 -> v3
>>> - emulate non-SBSA registers as WI/RAZ in default case
>>> - update commit message
>>> v1 -> v2
>>> - print a message using XENLOG_G_DEBUG when it's write-ignore
>>> ---
>>>   xen/arch/arm/vpl011.c | 8 ++++++--
>>>   1 file changed, 6 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
>>> index 43522d48fd..f4a5621fab 100644
>>> --- a/xen/arch/arm/vpl011.c
>>> +++ b/xen/arch/arm/vpl011.c
>>> @@ -414,11 +414,15 @@ static int vpl011_mmio_read(struct vcpu *v,
>>>       default:
>>>           gprintk(XENLOG_ERR, "vpl011: unhandled read r%d offset %#08x\n",
>> This is an emulated UART MMIO handler, so instead XENLOG_ERR, we should use XENLOG_G_ERR
>> to indicate gust error and not Xen error.
> 
> That's already the case because the code is using gprintk() which will
> append XENLOG_GUEST to the log level and also print the current vCPU.
Ups. I did not notice g prefix in front of printk by accident.
So we're all good in this case.

> 
> Otherwise this would have been considered a security issue because
> XENLOG_ERR is not ratelimited the same way as XENLOG_G_ERR by default.
> 
> Cheers,
> 
> --
> Julien Grall

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 09:11:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 09:11:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450383.707605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fbm-0006Hs-ST; Thu, 01 Dec 2022 09:11:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450383.707605; Thu, 01 Dec 2022 09:11:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fbm-0006Hl-PF; Thu, 01 Dec 2022 09:11:54 +0000
Received: by outflank-mailman (input) for mailman id 450383;
 Thu, 01 Dec 2022 09:11:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0fbm-0006Hf-Bo
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 09:11:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0fbl-0003sf-TH; Thu, 01 Dec 2022 09:11:53 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.7.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0fbl-0004oo-Jr; Thu, 01 Dec 2022 09:11:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ivlTvpV/S8dvpdijUzhmsm2e5RpbCQoCnDWB6LxX7yw=; b=1pGadNwKgiylxw4Fpd04nRiiID
	mePxX8tNVb9HdAmNKnnJrwWH8rcY1t0+D6yjPylvY7CGVddVqm/QXgnZOg7lia52M1j7xMlztEaXW
	ud1CacjymeY1vTO4ZBkqc4ThvamWnlpU4/a+19cdKqblteexD6t4NGO4IlZAXj1U20YY=;
Message-ID: <7e6b8e69-70d2-8178-205d-8c20b993162d@xen.org>
Date: Thu, 1 Dec 2022 09:11:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH v1 5/5] CODING_STYLE: add .clang-format
To: =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edvin.torok@citrix.com>,
 xen-devel@lists.xenproject.org
Cc: Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
Content-Language: en-US
From: Julien Grall <julien@xen.org>
In-Reply-To: <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Edwin,

The title should have "OCaml" to clarify that .clang-format is not added 
at the root level.

On 30/11/2022 17:32, Edwin Török wrote:
> Add a .clang-format configuration that tries to match CODING_STYLE where
> possible.
> 
> I was not able to express the special casing of braces after 'do'
> though, this can only be controlled generally for all control
> statements.
> It is imperfect, but should be better than the existing bindings, which
> do not follow Xen coding style.

Right, from previous discussion, I was under the impression that it 
requires some work to write a clang-format file for Xen.

I am hopeful that some day we will have a proper one. In fact, we have 
been discussing about this as part of MISRA (+ Stefano).

> 
> Add this to tools/ocaml first because:
> * there are relatively few C files here, and it is a good place to start with
> * it'd be useful to make these follow Xen's CODING_STYLE
> (which they currently do not because they use tabs for example)
> * they change relatively infrequently, so shouldn't cause issues with
>    backporting security fixes (could either backport the reindentation
>    patch too, or use git cherry-pick with `-Xignore-space-change`)
> 
> Once this is used it'll need inserting some '#include <stdint.h>', otherwise xs_wire.h
> fails to compile due to the missing uint32_t define.

At first I was a bit concerned with this paragraph because a coding 
style should not impact compilation. But I guess that's because the 
format will convert u32 to uint32_t. Is that correct?

If so, I would expand the paragraph to explicit say that, per the coding 
styel, u32 will be converted to uint32_t.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 09:18:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 09:18:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450389.707620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fi6-000736-Ls; Thu, 01 Dec 2022 09:18:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450389.707620; Thu, 01 Dec 2022 09:18:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0fi6-00072z-IR; Thu, 01 Dec 2022 09:18:26 +0000
Received: by outflank-mailman (input) for mailman id 450389;
 Thu, 01 Dec 2022 09:18:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=a25g=37=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p0fi5-00072s-Cr
 for xen-devel@lists.xen.org; Thu, 01 Dec 2022 09:18:25 +0000
Received: from mail-pg1-x536.google.com (mail-pg1-x536.google.com
 [2607:f8b0:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a0d7b21-7159-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 10:18:24 +0100 (CET)
Received: by mail-pg1-x536.google.com with SMTP id 136so1163649pga.1
 for <xen-devel@lists.xen.org>; Thu, 01 Dec 2022 01:18:23 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 n16-20020a170903111000b0016cf3f124e1sm3094631plh.234.2022.12.01.01.18.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 01 Dec 2022 01:18:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a0d7b21-7159-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=StnIbZYaIPz/Pik8pZgnLw5C7gcdo2ir+ZsqwcMfASU=;
        b=P0+XOfs3RONiah35WkNA/qvQeJCEaV8d9GCEOSelgG3H6oVIe2XlS3sH240iTyHbLB
         9Zil943jYd2UvUZHCnaFrqk7TmkH+NaU4EysBnX1vKgwrSZhXGpH4RiK2V8+pes3taY9
         Gh4pKyvAzVyvrZtWiHocBMemLJg4SmqqHbXDuT5+vmh/T8TPGCHk0n6CQdslJ23lhACb
         3GBlzLNWaucwFYHSG6j/1a4obh5hyRTa9Zz9d+YJqPzpfoyDkCtkxfrQ0Q9CSXYLxvjy
         r8ecXLt/J93NAjpT8tMCbX3BV4LZAim5JVNw83yl0jiCb1qYxMZkUuVj3u7HFSzBw+9k
         KZuw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=StnIbZYaIPz/Pik8pZgnLw5C7gcdo2ir+ZsqwcMfASU=;
        b=1lAPIYmROfcgukCxPFUhhzPeRBeBzEsV/auwl1uGBMyE//7Qfi11Gpqys+ZPmgnM7T
         eGJWpkv2o41c8F0w6Qfz2nqQtgLSdK63ANOnI3yN6kdeOwRsxk/8ZjFB+UFFkeDXRQ8a
         iMTRol7s1N9N2TmZ5jG7hvxI9O206cKBP6oDWBm8qZAMdbu0QGtSFvQuEAUyemWlnwVO
         wG3DpDHQ+qZfENdhIZypz8jt3cO70MkjHMSUNdsvNlF44eqRXLmi38AwIXoR8bAcq6jz
         +FEu8sQTNogt6eLAWwVUt0Inx+TrilTRCqzesbfAnxLBNbOMUF3mAbTrh8pBl4Vtl9rw
         yhhg==
X-Gm-Message-State: ANoB5pn4WGCFUr9A89/JbPacpoHBO+ZbTPVpCvZFK2kjE+tZXst8BaZD
	pqH2El+O/fqHxT6yhRunODZTognPzFu/1w==
X-Google-Smtp-Source: AA0mqf6RzOzFAXmzxy9Vwk2HCj22L4oZj9Y1eyfQt5hP1atNpmQq4GFaxfe2b46G//sykxu83/3cGg==
X-Received: by 2002:a65:6d10:0:b0:476:fdde:e539 with SMTP id bf16-20020a656d10000000b00476fddee539mr43398276pgb.216.1669886301552;
        Thu, 01 Dec 2022 01:18:21 -0800 (PST)
Date: Thu, 1 Dec 2022 14:48:19 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org, Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH V6 0/3] Virtio toolstack support for I2C and GPIO on Arm
Message-ID: <20221201091819.n7xyprz3ido55pyg@vireshk-i7>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <cover.1667906228.git.viresh.kumar@linaro.org>

On 08-11-22, 16:53, Viresh Kumar wrote:
> Hello,
> 
> This patchset adds toolstack support for I2C and GPIO virtio devices. This is
> inspired from the work done by Oleksandr for the Disk device.
> 
> This is developed as part of Linaro's Project Stratos, where we are working
> towards Hypervisor agnostic Rust based backend [1].
> 
> This is based of origin/staging (e61a78981364 xen/arm: add iounmap after initrd
> has been loaded in domain_build) and the earlier posted cleanup patches [2].
> 
> V5->V6:
> - The cleanup patches are sent separately [2].
> - We don't add I2C or GPIO specific device changes anymore, rather we create
>   generic "virtio" devices. The "type" of a virtio devices helps us identify the
>   right device, and create an entry in the DT node. The same can be used for all
>   Virtio devices now.
> - Update man page xl.cfg.

Ping.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 09:22:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 09:22:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450396.707631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0flY-0000IN-4q; Thu, 01 Dec 2022 09:22:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450396.707631; Thu, 01 Dec 2022 09:22:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0flY-0000IG-1d; Thu, 01 Dec 2022 09:22:00 +0000
Received: by outflank-mailman (input) for mailman id 450396;
 Thu, 01 Dec 2022 09:21:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pMaK=37=citrix.com=prvs=3274cb7b8=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p0flW-0000I8-Lg
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 09:21:58 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 985d509c-7159-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 10:21:56 +0100 (CET)
Received: from mail-bn8nam12lp2172.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 04:21:51 -0500
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com (2603:10b6:a03:2d6::7)
 by SJ0PR03MB5888.namprd03.prod.outlook.com (2603:10b6:a03:2d6::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 09:21:46 +0000
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b]) by SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 09:21:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 985d509c-7159-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669886516;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Wx9YRRqR8NDFoWKn6VBaGrKqmGimLUWd5KB2t2RPG4g=;
  b=RVIpfmwog1dcOogxHVdTl30FY1s2U/QUsVHmjvIIn3hmi1tIGKIkNBdn
   iUGEu6uGAVk2M5c5ktBqVB0pO78boqKxiM2YLJgc8PU04B3VYKJRcLVCv
   nZSSFZH3sUcBRKHg8YFzThNOZHArHVFAEGQHh7Nz2oB+IKFPQyJ3lTMyB
   I=;
X-IronPort-RemoteIP: 104.47.55.172
X-IronPort-MID: 86433351
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:21i0LaOo07IH4drvrR1qlsFynXyQoLVcMsEvi/4bfWQNrUp31zEBz
 2QaCmqAPvbeZWWjftolbo6woBlX75eDy4JnQQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5gVmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0usnGnFkx
 aZbEywmUAyDo/m22u2cVfY506zPLOGzVG8ekldJ6GiDSNwAEdXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PdxujeJpOBy+OGF3N79d9CURMMTgkGCo
 WHu9GXlGBAKcteYzFJp91r82LOUxnimAer+EpXk/NhpkEGD2FAsKzQHcwq3o+uV01GXDoc3x
 0s8v3BGQbIJ3E62StjwWTWorXjCuQQTM/JAHut/5AyTx6785weCGnNCXjNHcMYhtsI9WXotz
 FDht9/gGzFHqrCeTnOZsLCOoluaJiw9PWIEIygeQmMt+ML/qYs+ihbOSNdLE6OviNDxXzbqz
 Fi3QDMWgrwSiYsB0fW99FWe2Ta0/MGWFEgy+xndWX+j4kVhfom5aoe06F/dq/FdMIKeSVrHt
 38B8ySD0N0z4Vi2vHTlaI0w8HuBvJ5p7BW0bYZTIqQc
IronPort-HdrOrdr: A9a23:fIBLIKzMSNnO2nDM+GHKKrPwFr1zdoMgy1knxilNoHtuHvBw9v
 rAoB1/73TJYVkqNk3I9ergBEDjewK+yXcF2+ks1N6ZNWGN1VdAR7sSj7cKrQeQfBHWx6pw0r
 phbrg7KPCYNykdsS8i2njcLz/3+qjizJyV
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="86433351"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YGrFrR8nqIVXsqezozOZX8P3Q/mdf6W6wOU/2h0Ltq7RwwRxx5I2N6/lOKk4jJ/xR3s+QF4M6RSFojECTI9BC74YubTuacUs6ygTy4N7T40qpZQvUf58NjPVc4As6Tv0n86scR/SCVpzvx3IDDCSnqIBJKsc4G6J0MTzjtbPHdTvvBe4FiFmVr+v4TLtMlJEwMfDH0dlrQTezEFHqHSKME17K6MPSU9ZCPGandF1fhjDt90zNkpeeuLkR2bpDCiC7rs4L6P+R+VNvmQ6xDBojsk8nJ2GFoeUGZN3YP5HnnHq1GjmGLWX+JyjXQ1zcskywVxMxY2ir5pcDw7zYly06w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Wx9YRRqR8NDFoWKn6VBaGrKqmGimLUWd5KB2t2RPG4g=;
 b=EcLPGWpCEU+M55eLkpWH3vPjch1aDuAUUA5c5BJzaWLwiTMd22DwOzXA470/l128M4cY86AWJjukTaiB0+Vzl7w3AeC3xX9tskfdf6Lt91dGSHxfXtuMD/P9qY0rFufUvC4Bi9QMWWH1zqc6YMwerFNmUHdFzGcopUyuGiNCmKLNcKJRpHRP99kCoTb6Z8W/JXfK3fTIZecfGBhwbiI7YCjQ9AjO3YPxVy+NDtttG3S3//8arLSjVC1+9KfoORPhvfnndlijQVb+FxUaykigMo1TRv/0DLvMSkwnn4cANE9DlhyF1NRFAa52vY0RB073MxT+LjZs94/VVuuxolK0wg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Wx9YRRqR8NDFoWKn6VBaGrKqmGimLUWd5KB2t2RPG4g=;
 b=d1GOJj+InQoecSwVKLZNxlwuf2mgBP0YdOCL6CS2qh9sagHJJkq73Q7dfa4bwKCYHOPBpWc0w6lQ5n8NkswNfEoJ+ZgxXJRULkKyMEV2PLgZPTFddppuYLofX2ud8ku8X0q+fUMIoscG5VMXzIhjyDPSUvNZoWUG+Xsar5zSw7s=
From: Edwin Torok <edvin.torok@citrix.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>
Subject: Re: [PATCH v1 5/5] CODING_STYLE: add .clang-format
Thread-Topic: [PATCH v1 5/5] CODING_STYLE: add .clang-format
Thread-Index: AQHZBOHhQzYCKXctsk6F2XwSospvV65YwCGAgAACuQA=
Date: Thu, 1 Dec 2022 09:21:45 +0000
Message-ID: <7DF6F06F-A65A-4F1F-8FDA-BF0E8977F99B@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
 <7e6b8e69-70d2-8178-205d-8c20b993162d@xen.org>
In-Reply-To: <7e6b8e69-70d2-8178-205d-8c20b993162d@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR03MB5888:EE_
x-ms-office365-filtering-correlation-id: a813f9ae-e79f-41de-6fd7-08dad37d77c8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 ESgu/xQazLiwF6pzZXRS8SDta5njvCGwyAoWE4mAgbRLDE2oN66O34CcXTM1bZ7C1/eODRLeDjt91JCXN+oTJcShNI0j57Kgo28hbUTwslQUiej2TBqt0UHnpg3H2ZQEWUDDpI5HiaUewbYJaM2l64bLQem4JxA+v/5y1OOghE1o/TA1aT+ZqHbCpx5qdeEtGXlAvMjwOPu4klmY+1EQD3hEnqmxvUcmz2QBKyL/HdVG2KCfEl8bRHhliG4Z4YsnK7b4trqxOoJc4E1wws2Q++tzvjdqix7Y8852BQH92ImthyG7Rze3gh1kqgjydJEJ55zCQzAzHkfKfpdzd0At+agEzE+GdG6ujgOjd0csBk+DctmYfrRCAb9B1ZpBkZRpwgCow44dWW0y3VijIl+LDC3MDo/Px4Cc0Fy2LjQzAYlcr8BTQSDvF0ePa0aT8Dsy0Y6boHViI0CCr0UoDlMTUcx+Iv0tcVAtcbKIYHLuLfYZMC380juaniaXhL7lLtBaCC0yODgN1jzqj2UWoUEwB071UOFA6JPBTCWss9JMYPstXcawvIw4rpR0UC5wKV5enOrHGYXeQKi3y/PWFGBI7cgDSKS4LOfeiPFGGdXURFn1kfEXzCXVj5h1tyzprqFRlCikipCImctPnKHIAAWFnPjo4aG/JUbr8qoVF1+tg6KXbjNkuYu3z0BE/CjhRRnnuYzzTxo9C3SEMr3p+02CzR5ngxBaWJZ5FAUUglRKzeYQVmPdx5kgN2yUWIYEpVqPXZvtmHvT7ePdprAZPBodlg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5888.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(136003)(396003)(39860400002)(376002)(346002)(451199015)(8676002)(66556008)(41300700001)(4326008)(66446008)(36756003)(66476007)(66946007)(64756008)(91956017)(86362001)(38100700002)(33656002)(76116006)(82960400001)(2906002)(2616005)(6512007)(6486002)(478600001)(83380400001)(66574015)(6916009)(71200400001)(8936002)(26005)(53546011)(316002)(6506007)(38070700005)(54906003)(5660300002)(186003)(122000001)(142923001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eER6cXN6TWJmT3d6dVRqRk9KZU5yOFh6YzB5aTRTN1poR3F2YVFPK3JQRVhn?=
 =?utf-8?B?Y0RUeXc1VWNFallKV3hHTUR3Z2c3SVp2TzUxYWlhZVVKaEZvY1F1eFBZQjhp?=
 =?utf-8?B?R3pjV2VZczM5OTV1MG9YTTM5dWR0VHIzT2FRYnBZeEMyYTVRVnQrUWNHR2tU?=
 =?utf-8?B?Vnl4NXFCb2hSRlpjb255cUJYQ0hmRDZiZ3pLQm42bzFpZFRRc0podmY5eWEy?=
 =?utf-8?B?V0d0cTg5c1BIZVBMYkFCVGlDZ21UT1FFdlliSUdtdTJJQlZDWVBQakJ0S3ly?=
 =?utf-8?B?RkR6Y285SzJyMmFMODVvTVFrNjc1aG9QeFBHcUFGMDJjWFdwaWZ4cXlzY1BK?=
 =?utf-8?B?dnZrUTM5TG9PM3VPVUI1ZmhKZEtzMWV1aUkrUWZBM2RSRFlsN0VqMTFMckNX?=
 =?utf-8?B?R05jdFBDSm1uZys3S01xQVpobUJlQitaNnZHc0tIWFBjUktwdXlGRHpBWWZC?=
 =?utf-8?B?dXdwTmthemoyUW9hR0h6dFNtRTE1T0hrSnhJWVVxRGVMVVN1bWIycnMxSW5E?=
 =?utf-8?B?b3NmTW8zL2J0T0RMcXFQZmNEem9HUU9wQ05Gd0J3cFBQRk1XZmpkaEZYZURx?=
 =?utf-8?B?d1ptbmJYTlE0N2JsMEpYY0hoNU5vSmlhT3c0MkNiRE5CNEVxWFJOT1ZNcWhT?=
 =?utf-8?B?YjROOU5aYnVCTytxL2oycmk0TGcwY01rRzJ2Y3oyQStjazQrZjZOeWpNVWFq?=
 =?utf-8?B?UEhHRmFPY1drdTJXYXFMbHJ2Y2ZEM3hJQituVXVpZThqRk90NzdXcmdPK0xW?=
 =?utf-8?B?RkVLQXlGRkN4UDIxaXR6Zk5mN0plSUlScFN1VDZHWjdiZFRIRkZhczE3M0JR?=
 =?utf-8?B?QS9aZDYvVDhqaGFyQ3VEYUVwbURUbmtiOU8vVk45VUxyYzZJcGp5cEhvOFQz?=
 =?utf-8?B?dUY4Ui9pUHk2UWhneGdiZW1IQXJrQkFYTW9nUGR3aHJlU1c5ZGVtNHhkaWZq?=
 =?utf-8?B?cmZqc0NNRG1YRjlCeWRHV29oYmpGSmZ5aVJiYTF4RVU1bkhIV28vUHVLVDh1?=
 =?utf-8?B?TGpWZlBmaTJ0Y0dFc2ZScW1ZTjdsSTFxZ0RuWElUU3E2ajhEQjMyVTk5SkhB?=
 =?utf-8?B?bW1IeThOaU9XZ3dmMUU1d1ZJY0QyTWhPWnhoYThqcDZ5SGVEOGE3ZHhLWUtL?=
 =?utf-8?B?NFZ2Rms3QU9aUitFdi9zUVV6anFaWTNENWNhalJmbDhkMjc1RGRhYnl5Z1cz?=
 =?utf-8?B?VVpLYmd2SkRLNjRSZkk1TStkYVd1b3hxQ014T003NnhqVlpUa21oK3A4MXNw?=
 =?utf-8?B?NitWNmxHRkltNjRMOVZVRkZRbnZwTjRJcjIzNTlnV29TbnFMY0p4VDduRDI3?=
 =?utf-8?B?MFFpNE43RE5yb3ExaUdoWmh3SDVQVUR0aS8zL1Q3aCt1QnBQVGorMXpkempV?=
 =?utf-8?B?L0RXcVh5a29ZNEVSTm9EWVlDNkh1amNabUlBeElSYlVHSm1Bd3RoeDBjbWtv?=
 =?utf-8?B?Ny9WSXdmL0Zwc3I2aUxxdUMzZ3hBbUplUG42N0ZwcmhkWTBDMEZXN1FWMXNO?=
 =?utf-8?B?VE05ZytPZG1pSFkyMnF3R0lndTVUTFVOVmkzLzRYZW82WkF6amo5NTlWK29H?=
 =?utf-8?B?ZmdZcTJ1UmdmUVdyUDR3aHZ1RWJ1elY5KzNETXJmQXpuVkVvY0pZaFdrdElq?=
 =?utf-8?B?RXRUMHhRZ1A4ZHVVWnJLK1F5YllmZ281NDlna3lCb2dEZVQzY3NKandZbUlR?=
 =?utf-8?B?SVlRTWxIZ3l2OXhTWFVxWDI2M2Q2Y0kwbDZpZ2YvTitNV09GS3Y3K1A2OGtG?=
 =?utf-8?B?bkpNK0JLZktQSE9SdEpUOEhia3JSZ1FTSmljdFhuVzk4QUdza0ZPMy9WeEFn?=
 =?utf-8?B?NE54bGVoaDlZYlBnQVA4bllaZlc2WURONGdLeVJRaStTNWxHK3VsQUVQS1cw?=
 =?utf-8?B?bS9JT3kraUNGamhBYkhGMmpQckFpWTdWSmY1ZWhNMEhySVduaGorM0RJL2VV?=
 =?utf-8?B?cDFRNVZ5a1lUN0dYT3p5dTBkWEFKYWZHcWpLSElObkF1akRRSmFxWnB0T1J1?=
 =?utf-8?B?SmNWbll1WDYwMEd1TTRmNUhUOWw3T1VoZW5OSTdUMWQrRTIwTWxmVm9jNStH?=
 =?utf-8?B?QVdsNTg2Q2p4K0w2eFBFSS9KS25kbG16NGxpTlZVcHFvK21SN2J6emVzb1A3?=
 =?utf-8?B?RERJTUR0STc3TW40M2xXeUNTZStRdUhOM0NreU1kWmpVMzFGSFJBWExBb0xt?=
 =?utf-8?B?b1E9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <24EB16CD18195F4AB8C85776FC39C54D@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	v1bkTwgt2+qgtwB9XWyKLcXn2AkB+6/lShI5up9rNh1ETscnyZ2eCHp8rUUiIeqPQyMwgOuhupvzhMXRkIwdscQprzUogiPnw7T5KG/c2HH3XlQ0Yp/9hm2DZZ6GDDQK7RE7T4MzTZFDw8AvPOeaSeuc/THQya4PPQcjheDwHqLEXvuYe8gDcTvnDB4W2JDCzZYaW7kewNaeYw5dkey1dd9fPpZXQ3TWfu0XUBdDgmMOpCokYawisd8myHyUOzRLkffXBe/atS24ojiQfOs8Hlq6CE2RPMdEO0FX3kQguWEn9KGWVpTsxEzV6vMxS2LN9uejx6fparTFIripWZBI1UruAzpec1P4sha5DkbP2imDoGbzjoVa5nXjyRAQ+hwq8P8yG4oVqCUsLS5ZCi+Xf31biNUWIqxmKNeNXLpnWurUBgBQIUSKpYmXdJyKlahefVbJjV+IKKXdgWhYJTaH5QcO5JXhEuDzQZ8i3lxEyc5wdwb9SsUkBi4diebf7Vhx8G1jrFogbycTbJPXL9tyfUEvjRSCn5B8dEAORpVXOeKuxWcG5X9v245TVWW9Dt3/ypa2isYUDgLF1VNX18+RH8kDVp3kTKpaA6pkM54Tt4l4Gv348BzUJEpwN0YUibHyYzVIc2M+twnAkWKQC47P1mMoR6UF1GGm+rZeuPG7LmfbxhXryh6jffJI2bhnAq3B9Ts33GjM9f8YHnz3TjpBjip/88Cj/ZQda3o3wCnUqCDMpyamCJdwDxWWLLbXGUIRTACeE76ueJNrGdOv0xw7uhJgPajB/OzIsDedHutv+Tt5d5DIqTl6fTWzX9khcWZ+N42B3gNf9UZew1P20v9ogrzHConY5QkPJYwIIV5fqk707M60yNDd1O4xLR0URWFu
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5888.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a813f9ae-e79f-41de-6fd7-08dad37d77c8
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 09:21:46.0187
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: tYme9QD/sMZ34YqcYOFO/S8ubCr3ZP2KiZ9rLwRYKoUPHkLAy2OY2H5DKknoO8Al8im5HEp6xFxL0UbnxsttaQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5888

DQoNCj4gT24gMSBEZWMgMjAyMiwgYXQgMDk6MTEsIEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5v
cmc+IHdyb3RlOg0KPiANCj4gSGkgRWR3aW4sDQo+IA0KPiBUaGUgdGl0bGUgc2hvdWxkIGhhdmUg
Ik9DYW1sIiB0byBjbGFyaWZ5IHRoYXQgLmNsYW5nLWZvcm1hdCBpcyBub3QgYWRkZWQgYXQgdGhl
IHJvb3QgbGV2ZWwuDQo+IA0KDQpTdXJlLCBJJ2xsIHVwZGF0ZSB0aGF0IHdoZW4gSSByZXNlbmQu
DQoNCj4gT24gMzAvMTEvMjAyMiAxNzozMiwgRWR3aW4gVMO2csO2ayB3cm90ZToNCj4+IEFkZCBh
IC5jbGFuZy1mb3JtYXQgY29uZmlndXJhdGlvbiB0aGF0IHRyaWVzIHRvIG1hdGNoIENPRElOR19T
VFlMRSB3aGVyZQ0KPj4gcG9zc2libGUuDQo+PiBJIHdhcyBub3QgYWJsZSB0byBleHByZXNzIHRo
ZSBzcGVjaWFsIGNhc2luZyBvZiBicmFjZXMgYWZ0ZXIgJ2RvJw0KPj4gdGhvdWdoLCB0aGlzIGNh
biBvbmx5IGJlIGNvbnRyb2xsZWQgZ2VuZXJhbGx5IGZvciBhbGwgY29udHJvbA0KPj4gc3RhdGVt
ZW50cy4NCj4+IEl0IGlzIGltcGVyZmVjdCwgYnV0IHNob3VsZCBiZSBiZXR0ZXIgdGhhbiB0aGUg
ZXhpc3RpbmcgYmluZGluZ3MsIHdoaWNoDQo+PiBkbyBub3QgZm9sbG93IFhlbiBjb2Rpbmcgc3R5
bGUuDQo+IA0KPiBSaWdodCwgZnJvbSBwcmV2aW91cyBkaXNjdXNzaW9uLCBJIHdhcyB1bmRlciB0
aGUgaW1wcmVzc2lvbiB0aGF0IGl0IHJlcXVpcmVzIHNvbWUgd29yayB0byB3cml0ZSBhIGNsYW5n
LWZvcm1hdCBmaWxlIGZvciBYZW4uDQo+IA0KPiBJIGFtIGhvcGVmdWwgdGhhdCBzb21lIGRheSB3
ZSB3aWxsIGhhdmUgYSBwcm9wZXIgb25lLiBJbiBmYWN0LCB3ZSBoYXZlIGJlZW4gZGlzY3Vzc2lu
ZyBhYm91dCB0aGlzIGFzIHBhcnQgb2YgTUlTUkEgKCsgU3RlZmFubykuDQo+IA0KPj4gQWRkIHRo
aXMgdG8gdG9vbHMvb2NhbWwgZmlyc3QgYmVjYXVzZToNCj4+ICogdGhlcmUgYXJlIHJlbGF0aXZl
bHkgZmV3IEMgZmlsZXMgaGVyZSwgYW5kIGl0IGlzIGEgZ29vZCBwbGFjZSB0byBzdGFydCB3aXRo
DQo+PiAqIGl0J2QgYmUgdXNlZnVsIHRvIG1ha2UgdGhlc2UgZm9sbG93IFhlbidzIENPRElOR19T
VFlMRQ0KPj4gKHdoaWNoIHRoZXkgY3VycmVudGx5IGRvIG5vdCBiZWNhdXNlIHRoZXkgdXNlIHRh
YnMgZm9yIGV4YW1wbGUpDQo+PiAqIHRoZXkgY2hhbmdlIHJlbGF0aXZlbHkgaW5mcmVxdWVudGx5
LCBzbyBzaG91bGRuJ3QgY2F1c2UgaXNzdWVzIHdpdGgNCj4+ICAgYmFja3BvcnRpbmcgc2VjdXJp
dHkgZml4ZXMgKGNvdWxkIGVpdGhlciBiYWNrcG9ydCB0aGUgcmVpbmRlbnRhdGlvbg0KPj4gICBw
YXRjaCB0b28sIG9yIHVzZSBnaXQgY2hlcnJ5LXBpY2sgd2l0aCBgLVhpZ25vcmUtc3BhY2UtY2hh
bmdlYCkNCj4+IE9uY2UgdGhpcyBpcyB1c2VkIGl0J2xsIG5lZWQgaW5zZXJ0aW5nIHNvbWUgJyNp
bmNsdWRlIDxzdGRpbnQuaD4nLCBvdGhlcndpc2UgeHNfd2lyZS5oDQo+PiBmYWlscyB0byBjb21w
aWxlIGR1ZSB0byB0aGUgbWlzc2luZyB1aW50MzJfdCBkZWZpbmUuDQo+IA0KPiBBdCBmaXJzdCBJ
IHdhcyBhIGJpdCBjb25jZXJuZWQgd2l0aCB0aGlzIHBhcmFncmFwaCBiZWNhdXNlIGEgY29kaW5n
IHN0eWxlIHNob3VsZCBub3QgaW1wYWN0IGNvbXBpbGF0aW9uLiBCdXQgSSBndWVzcyB0aGF0J3Mg
YmVjYXVzZSB0aGUgZm9ybWF0IHdpbGwgY29udmVydCB1MzIgdG8gdWludDMyX3QuIElzIHRoYXQg
Y29ycmVjdD8NCj4gDQo+IElmIHNvLCBJIHdvdWxkIGV4cGFuZCB0aGUgcGFyYWdyYXBoIHRvIGV4
cGxpY2l0IHNheSB0aGF0LCBwZXIgdGhlIGNvZGluZyBzdHllbCwgdTMyIHdpbGwgYmUgY29udmVy
dGVkIHRvIHVpbnQzMl90Lg0KDQoNCmNsYW5nLWZvcm1hdCByZWFycmFuZ2VzIHRoZSBvcmRlciBv
ZiAnI2luY2x1ZGUnIGluIEMgZmlsZXMsIGl0IHNob3VsZG4ndCBjb252ZXJ0IHR5cGVzLg0KQnV0
IHJlYXJyYW5naW5nIChzb3J0aW5nKSBpbmNsdWRlcyBjYW4gc29tZXRpbWVzIHJldmVhbCBidWdz
IHdoZXJlIHRoZSBjb2RlIG9ubHkgaGFwcGVuZWQgdG8gY29tcGlsZSBiZWNhdXNlIHRoZSBpbmNs
dWRlcyB3ZXJlIGRvbmUgaW4gYSBjZXJ0YWluIG9yZGVyDQooZS5nLiB3ZSBpbmNsdWRlZCBzb21l
dGhpbmcgdGhhdCBpbmNsdWRlZCBzdGRpbnQuaCwgdGhlcmVmb3JlIHRoZSBuZXh0IGluY2x1ZGUg
bGluZSB3b3JrZWQsIGJ1dCBpZiB5b3Ugc3dhcCB0aGUgaW5jbHVkZSBvcmRlciB0aGF0IG5vIGxv
bmdlciB3b3JrcyksIGkuZS46DQoNCiNpbmNsdWRlICJjLmgiDQojaW5jbHVkZSAiYi5oIg0KDQp2
cw0KDQovKiBwb3N0IGZvcm1hdHRpbmcgKi8NCiNpbmNsdWRlICJiLmgiDQojaW5jbHVkZSAiYy5o
Ig0KDQpXaGVyZSBjLmggaW5jbHVkZXMgYS5oLCBhbmQgYi5oIGRlcGVuZHMgb24gZGVjbGFyYXRp
b25zIGZyb20gYS5oLCB0aGVuIHByaW9yIHRvIHJlZm9ybWF0IHRoZSBjb2RlIGNvbXBpbGVzLCBh
bmQgYWZ0ZXJ3YXJkcyBpdCBkb2Vzbid0Lg0KDQpXaGljaCBjYW4gYmUgZml4ZWQgYnkgYWRkaW5n
IHRoaXMgdG8gdGhlIEMgZmlsZSAoYW5kIHRoZW4gcmVnYXJkbGVzcyBvZiBpbmNsdWRlIG9yZGVy
IG9mIHRoZSBvdGhlciAyIGl0IGNvbXBpbGVzKToNCiNpbmNsdWRlIDxhLmg+DQoNCk9yIGJ5IGZp
eGluZyBiLmggdG8gaW5jbHVkZSBhLmggaXRzZWxmIGl0IGl0IGRlcGVuZHMgb24gaXQuDQoNCg0K
UGVyaGFwcyB0aGlzJ2QgYmV0dGVyIGJlIGZpeGVkIGluIHhzX3dpcmUuaCBpdHNlbGYgdG8gaW5j
bHVkZSBhbGwgaXRzIGRlcGVuZGVuY2llcywgYnV0IHRoYXQgaXMgYSBwdWJsaWNseSBpbnN0YWxs
ZWQgaGVhZGVyLCBhbmQgdGhlcmUgbWlnaHQgYmUgYSByZWFzb24gd2h5IGl0IGRvZXNuJ3QgaW5j
bHVkZSBzdGRpbnQuaC4NCihuZWl0aGVyIHUzMiwgbm9yIHVpbnQzMl90IGlzIHN0YW5kYXJkIEMs
IGJvdGggcmVxdWlyZSBhIGhlYWRlciB0byBiZSBpbmNsdWRlZCBmb3IgdGhlbSB0byBiZSBhdmFp
bGFibGUpDQoNCkJlc3QgcmVnYXJkcywNCi0tRWR3aW4NCj4gDQo+IENoZWVycywNCj4gDQo+IC0t
IA0KPiBKdWxpZW4gR3JhbGwNCg0K


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 09:25:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 09:25:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450402.707642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0foY-0000sU-J6; Thu, 01 Dec 2022 09:25:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450402.707642; Thu, 01 Dec 2022 09:25:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0foY-0000sN-G8; Thu, 01 Dec 2022 09:25:06 +0000
Received: by outflank-mailman (input) for mailman id 450402;
 Thu, 01 Dec 2022 09:25:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+/wf=37=citrix.com=prvs=32775c42f=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p0foW-0000sD-Sj
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 09:25:05 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0829ee95-715a-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 10:25:03 +0100 (CET)
Received: from mail-bn8nam04lp2046.outbound.protection.outlook.com (HELO
 NAM04-BN8-obe.outbound.protection.outlook.com) ([104.47.74.46])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 04:25:00 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 DS7PR03MB5511.namprd03.prod.outlook.com (2603:10b6:5:2c5::14) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5857.23; Thu, 1 Dec 2022 09:24:58 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 09:24:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0829ee95-715a-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669886703;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=hzSj2mugFf9tKjJfjaQr/zOIO56CUyMyFozxqt89RWY=;
  b=KB0CakjZH5o+8Vs00DBpGheLiFe8POEEBxur0n4cg/oRvUzWrJ1Iy9Kd
   F4LHrHX04xzcs5RaF1aeMC48axZ+lKBER5rfUvdYUlCWi0sS/yGsgEDuA
   0E2lGnXb/oqfXS7vqzdeiJxQb4E3smCUTHye3iXHZEi9y0LSNJowqF0Wc
   0=;
X-IronPort-RemoteIP: 104.47.74.46
X-IronPort-MID: 86014276
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:X2ZJjKMVv4HmMo/vrR2GlsFynXyQoLVcMsEvi/4bfWQNrUoigmNRm
 2FND2zUbP/bY2agLdwiad638BkA78LUx94wGQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5gVmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0rt4HjxCz
 8EiETMqSRmDg7O6na6eTeY506zPLOGzVG8ekldJ6GmFSNwAEdXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+vZxvza7IA9ZidABNPLeesaLXtlUl0Deo
 mPA82X2KhobKMae2XyO9XfEaurnzX2jAd5IS+PQGvhCsn7PnncXFScqU0qAiKKUj0OYBv5mA
 hlBksYphe1onKCxdfHtUhv9rHOasxo0X9tLD/Z8+AyL0rDT4QuSGi4DVDEpQNAvqsIeXzEh0
 V6N2dTzClRHr7m9WX+bsLCOoluP1TM9KGYDYWoOS1sD6ty7/IUr1EqTEJBkDbK/icDzFXfo2
 TeWoSMihrIVy8kWy6G8+lOBiDWpznTUcjMICszsdjrNxmtEiESNPORENXCzAS58Ebuk
IronPort-HdrOrdr: A9a23:gAsBtK/EloAhuG8p4NNuk+Hwdr1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYW4qKQodcdDpAtjifZtFnaQFrLX5To3SJjUO31HYYL2KjLGSiQEIfheTygcz79
 YGT0ETMrzN5B1B/L7HCWqDYpkdKbu8gcaVbI7lph8DIz2CKZsQljuRYTzrcHGeMTM2YabRY6
 Dsg/avyQDBRV0nKuCAQlUVVenKoNPG0LrgfB49HhYirCWekD+y77b+Mh6AmjMTSSlGz7sO+X
 XM11WR3NTjj9iLjjvnk0PD5ZVfn9XsjvNFGcy3k8AQbhn8lwqyY4xlerua+BQ4uvum5loGmM
 TF5z0gI8NwwXXMeXzdm2qi5yDQlBIVr1Pyw16RhnXu5ebjQighNsZHjYVFNjPE9ksJprhHoe
 F29lPck6ASIQLLnSz76dSNfQptjFCIrX0rlvNWp2BDULEZdKRaoeUkjQFo+dY7bWfHAbIcYa
 5T5fLnlbBrmJShHinkV1xUsZiRt7IIb0+7qwY5y5eoOnNt7Q1EJgMjtbAidzE7hdIAotB/lp
 r5G7Utm7dUQsAMa6VhQO8HXMusE2TIBQnBKWSIPD3cZeg60+Kkke+J3FwZ3pDcRHUz9upFpL
 3RFFdD8WIicUPnDsODmJVN7xDWWW24GTDg0NtX6ZR1sqD1AOODC1zJdHk+18+75/kPCMzSXP
 i+fJpQHv/4NGPrXYJExRf3VZVeIWQXFMcVptE4UVSTpd+jEPyjisXLNPLIYLb9GzctXW3yRn
 MFQTjoPc1FqlumX3fp6SKhL08FunaPiK6YPJKqjNT7krJ9R7GkmjJl+WiR94WMNSBItLAwcQ
 93PK7n+5nL11WLwQ==
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="86014276"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SkYJ41RrqCp1yOuT5KsQDDU956tQnJxiXMdXlD9pQ827Ks+hwbV6WiwniSOH243/ZCUwx/Maz+pDD+1g964f+FzCcPOUoJ/QYI/evGOQjtJe+OOSkPI6+C8eyFIkes+HB026CG4MVmcx7rO7E5rFqBPewoTIGI6dIl59VRuaztQVwDt2fmGnx4Xe6X+38vc2WUXQ8fQNLJVoaQShhj4/sYgJUtT+BkRcY9BpNEyYB3eRb/0RQyoPNCn2q2+u82T02pl8kG1mn8rZgJiTx5eMFjq6MssojZq89PCseA0fLTDks1rd3KYvo5Q0RkJr3vaX7V5LsTxd7epdJbNq//8Ohw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hzSj2mugFf9tKjJfjaQr/zOIO56CUyMyFozxqt89RWY=;
 b=LeZZGmEjDQkQZx6MZ9ugA5isGWr13gzI7nk8qBMp0Yc9TbCQQ94B9Gydnu1iVQkoRiYsF7Rr8NnPYle+cl/sThjmAMHk60TdV78Vwru6hSrSFi8OUQkS1Gt7ZAsa5Z724l1P8MWWcaRYFUqNd7hQJ8dv5J2YamFHe5XrgC7sfdUuxzA4kvuqPVmVmRlKaDqVlfzF/qY9OSOuFJAY2V/FZXWS4Y7FMZu9BrdZ/8ZCVHke8HzhfQfBZXGb3zEucSpc9LFuovxPFbOR1hU40uZg3ReQ79idPUZ9abhMrhEUw2EK5LS0QEVAHhzNg3A6tez/d32tdOu9P4l8g5er55Acpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hzSj2mugFf9tKjJfjaQr/zOIO56CUyMyFozxqt89RWY=;
 b=XGfU0gB47AsbzCJnI8aSqD9jPhcT24jekBbPiGycu/9jYXh+Oi3Yi6n4zovK5cKndQyp/IAn9zThkZpeKQMESy59HrnafUdqDb+c8AN6NDeRjaF87l/lZcZwV9rLnDYhKQJrQZxTSUmPzuijGgvhv3d0Ie5HGeEXUx1KuOUzb+A=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>
Subject: Re: [PATCH v1 5/5] CODING_STYLE: add .clang-format
Thread-Topic: [PATCH v1 5/5] CODING_STYLE: add .clang-format
Thread-Index: AQHZBOHhPffcYAPaiU+ApitDg9tKRq5Yw8sA
Date: Thu, 1 Dec 2022 09:24:58 +0000
Message-ID: <DE5B27AE-456F-4F46-BD9A-0DB4E7A82A60@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
In-Reply-To:
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|DS7PR03MB5511:EE_
x-ms-office365-filtering-correlation-id: 4c8390f6-8924-44b7-3fc9-08dad37deab5
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 cjgFyZvfrXBsgxGlOAMzhi0T6lQJydGQ2x84Eb5hpXgRXIlTLasaGaiFjoI3O/zgVLBT/zavJOsaKnxSV8ijLt6rTh7WOodnHT0dmbt/uDC1tRUsxP1gOT4paV2AeV6612ryD4m3QUuG7o2Gg8Waa4oOYWoiNsXR+00IKC8U5f/TdBaXu3FSWWi3KzI0OoR+AE5YQg5QIfCTHef7tbgbYz50LeH87OuRuVEasooPUlE3E1IBSDkZpUXKkclJ0gBgQtSuZDDXfXe4e/TFK++Nq5onnnayQb81jXOQ2HQTUAtF8XijafUR33jBHstBRHwHgE5HcahRjO/08XC2NSeek3gRFJgkbR4S2eqSdwPeuTG5rRxaPmy9dsb0IVQX2H2Xfu8yfFgGJ+KASqbiHKlRs/7cvgz1lhGSuldyLWFqNzucAhTTC744sbwmJQb5/HkDKLV+rCLSGSNwjqHwq2pLQKOlUqgaur0rQ5VhTRlOHzg7vLlq8bqBqAl3ry/C0XezIuGrOU5z6G2s/sXM+Myxnt0Q/ZP2AbcfFYM7aVgFH1hYF93vx1mlHuk7gZhXqmXL2q5+SCPcQk+wwouO0TpNKN0iZ7OTaF2QOU2Xh6yFOK1HvCchj62ri2Qhyp9cqHFpTF+Rpb+GRYTT26Lommasht3aIvD2Blttj0H3eGwQfxspapM1IaoeoEmrDBj514LlH/4oKzDfMKNp4HLJKT3isAt8Eh2NlagFrGsVZHm4MOoVjPApYycUYh3SCOKx58D1dRfqAwdWhSveDy2m/hqHRg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(366004)(136003)(376002)(346002)(39860400002)(451199015)(6506007)(478600001)(86362001)(107886003)(53546011)(6486002)(71200400001)(26005)(6862004)(33656002)(8936002)(6636002)(37006003)(41300700001)(6512007)(5660300002)(316002)(66574015)(4744005)(82960400001)(44832011)(2616005)(38100700002)(2906002)(54906003)(8676002)(66476007)(36756003)(38070700005)(66556008)(64756008)(91956017)(186003)(76116006)(66446008)(4326008)(66946007)(122000001)(142923001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?TVVhM3VVWmtpblA0dWNGUW5sbHVXdlpxOGY3ckZSMTVFNjQ2aUc1Y3QwbTdI?=
 =?utf-8?B?U1g3V2lLeHBLQnVPU1c1RWl3aTJ4bk1UZFd4ZjBwK2ZoanJWdUYxNWR0YlFq?=
 =?utf-8?B?bkZOMlM5d2JmZTNKS1NuMWZQb3ZMZ2tOazlGbTN2Mm9KZ1Q3UmZWTng1eGxi?=
 =?utf-8?B?RWJwcXkrbUtvOUJiK09nUGtxOTJqYS9LNFJuSFZuaXNqYzl1Yk5XNHhLYitE?=
 =?utf-8?B?cEltUWtlM25FUDd4QW01T2t2RCs2UkNkSytJV0l1QVdwREVNeklqWDFZUEVP?=
 =?utf-8?B?cWRBbUpGdm1XSGpUa3ZEUUhBTHhCUnIvaXJoTmZoT1Jmc0IyTXFnbkt3RDNZ?=
 =?utf-8?B?UlJZUmVmMUZHKzk0UEcvRWlhYzdJb2UrZ0Z5SExiSE1BOUVMTUFTL1JESnk0?=
 =?utf-8?B?TlZKY1FnS0Y5U0drTWxRdWp0a3hJUU5jVmd1cXdYVG5FTGRpY0IyQkJnL3ls?=
 =?utf-8?B?UmMwQmd5NE9GWXg3eUZVWFc2VlJyUmQxblZ0MFlCODFRSW5XRjltYUFkR0No?=
 =?utf-8?B?OXBST3d0YXZDNXNpOVZpZFB0U3krMWtJNURDQ1FkL1ZCZW9SK1FvZnlSNkJ3?=
 =?utf-8?B?ZzAwQzBTRlphYk0rd3hpdSt6dlNaT3B0NDdEeGI2RlFqRVNjZ1dKOENlSXlI?=
 =?utf-8?B?bjJHVjVkdmlYQXM4aW80SzI1TGgzMSswSVVXbUluRTA2ZC9wTU9VNFdFOVdx?=
 =?utf-8?B?b2FhbmFjVDFyNkJpRy8xR0xWMnJkdGluQm1KV21zaEh4WHBlRE0zeG5qcmZY?=
 =?utf-8?B?RUtQam5Hb2swL1JUUkVQdHdDYnVSa3lrZXZzdDlUdXdmOHg3Nm1rd01ZaHdk?=
 =?utf-8?B?R0hqeE1lMjlnV29OemMzeEhvbDlzYWZkL2MwUGpIdjN2bElBazRpSldxd3hx?=
 =?utf-8?B?dmkxTzBmOExCRkRod25aSEhHS3RoUnZtL2U4MTVPSEZxN3Fsa0tyZjVaTW1M?=
 =?utf-8?B?aWZlRUNrank4NlZVK2xIK2FnRnRvaUZ3R0diR1RkYUtSTERPTWc5Y0ttcWN4?=
 =?utf-8?B?OU13V2xRL1VJSnNlaGNGemFqQjZmbVowY0ZJamlqVHlzTGc4NEVPRU5XSjdT?=
 =?utf-8?B?RTc0cHltVFdLQmxLV2ZNMjdIZjZBSWFvZmtrK2w0eU9ldjlXaUduMzd4VXVI?=
 =?utf-8?B?ZW1HaElMU25jQzdlK1V6ZVk5VXdndjU3ck5OVmxoYkNaa3lSVjB2UCtQSm9k?=
 =?utf-8?B?RDBRbHZxTGtPN2owTURJdWlkYnJmR3RiVFozVkQ3U3pHcFoyRXdqQ2E0NVRF?=
 =?utf-8?B?L0JOeEZMZVFVTkliZnVxTDEzOFdHNCtrVmp3T2c2QmpzdnU0S2p5VW1FTnZE?=
 =?utf-8?B?eWMyczBNeUd2YVliNU1LZTlKVFhTSVF0V1BTNmZJNUViYjlKTzJMbkZXMk1w?=
 =?utf-8?B?WXdJc2FoaHdLS1FSMXpoWVFkWVhFNk1kdHZjdFExcE9leS9VV1Z0SU03Z2g3?=
 =?utf-8?B?VjlPWnE3eVVWNUJZb3lGVUs3WWo1TFp0NGhQYSt2NkVCelBTZ3pHMWI1U1Ry?=
 =?utf-8?B?dWU4LzhZTlJzN05EUmw4eW5NYkNSTy9tR1krQWlIbUVCbkRTV2JKZnFZN3Ba?=
 =?utf-8?B?Qk1pemFjZytvNlpmTjNqb3U0cjdiZEFRQm9GQTdhdDRVZFZnRlNYRndRS3ZU?=
 =?utf-8?B?RVF5YTU2MGo0MmRYVVFjdDhocjluWk5pRWk4a2liVnpPSm5tazhyaWVBaTRJ?=
 =?utf-8?B?M0RPdnJzYi8vNzlaTVk3STNweTRJQ3RndWZFTDRia0tGM2xaeEtTMFJSVkdk?=
 =?utf-8?B?YTNMSXhpVldvNkQ4cXVsUW5iT2dmM0hMeFczWDh3MG9NMWI5UGs0Tm41RnVP?=
 =?utf-8?B?T0JYVmpGL2d1MFZaSmZINGswT0pSMlFqQnJHQi9DajFmdTMrRVltRUl4U3Ro?=
 =?utf-8?B?UjFtdXphNHAyM3pQTDBLL1pSUmI4aThkSFV5dFhBeUx0TnhWUnVhQjBOQXR1?=
 =?utf-8?B?TkkvTG9zQVZCTXlXcnZWQmdOY3A1M1hzMUFiRmNNOVlKMWtORzZlVXVocGwx?=
 =?utf-8?B?SXYvL29XZEt3YXVERGVDZVFMd2V4dHRSaXdqcEZmTGw5d29zcWpKL29GWmlx?=
 =?utf-8?B?bmJ2SkUrYjNnVWdCM241WUVwdGtJdUVQd2JDSi9HY1NsZC9lVkxUVUdUaXFz?=
 =?utf-8?B?ektzUEMyWGcreC9lbGVVOXRFNk15QmIzK2k0aWYwdHBzdit0T2Nta0ZIbVY1?=
 =?utf-8?Q?OGse42EAOx4BV8SMgaXeKuk=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <32BC79DFAE043D429C9C9A5231BD55E7@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	4n9HiqMMH2PgfotC1+7spjL6HmdKgLKL7eb9vUwCmRjtOm45DuRK/fy49TBvkadCX5vrBIWJvHG87HhSKSpI1MqHKHm4cwQzWaWdJhR9TrQ13pny2WPpt1buaCeBmHA8TNHyXgtqF4w7X04k8dqSITUYgyMh4TxNfog2KkowG5K+L2SPvfiMtiUTnhw8M6SkSYXSHyfLjOd8OumWm+BI7C+/0L8vSb8ePdZF3HTVCZoreZmKsOCBOBIj+dmi7gJWBNvQQcnMAPmfXuqRSI2kEDHpfyRwxEAd8wAYcVMky6em/8cRRmWPRwTRR8K5AYlOL4fEHPL7ozvMVPsr2INyhW/TXZB/CxdaIoWRgUBSAV9/gU/LmJjg+aS+0TQQVZ2Wxi4E7s0LF4d4tbXtAcP2QJ8zUR+Bfz5ejCAWDITAjT88dqdLrE0vXpTSPqnVknTdTUN6Qp0O/ttBjfkVyq4ST7bOMZHAN4YUONZ5bdKrBh+B07PCu7ruu+XB7i4FXTtOrBz/fs6EIs7ypNBNmKF4xz4Oc6kz6Sdy3hzxpVh6+ODXzoka5Na958uggNu4L99HfcS0Ria+9X24UeYOI6eHgddCmUNygT0Fb7NMqExYvxDUzXTN3qokuXWx85p6RZOwHh/zIpUZ4j8/Ndg8haB9Lf0WAnIN4d8gU+2Kme2UmWPXkFH/zy2EDXsrNERKIT0/eZMRzoec2TK32O7yJg3QWPyML/lh/teqk+EsNZm/p07HN76GfCp6YrATiVVmxj4J9Sa9P4VlZtyr/FWw/jwZlH7IrRZJxBCz93gCGj6K/+nh31WF1AEm3wIdjjmqRuDFvp6Kyq4QbOdkYe+A0OLwzg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c8390f6-8924-44b7-3fc9-08dad37deab5
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 09:24:58.7841
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: girHOIeZOvgMxedbUL05+rQ/eymhQ4i/XlXVyvd9RGhvdaJOjHV+UyWrBo86Z6nGhuyoQ+vj642qRAggXp5ORW2Iu+TmMoRVUJAlKLCg6Hc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5511

DQoNCj4gT24gMzAgTm92IDIwMjIsIGF0IDE3OjMyLCBFZHdpbiBUw7Zyw7ZrIDxlZHZpbi50b3Jv
a0BjaXRyaXguY29tPiB3cm90ZToNCj4gDQo+IEFkZCBhIC5jbGFuZy1mb3JtYXQgY29uZmlndXJh
dGlvbiB0aGF0IHRyaWVzIHRvIG1hdGNoIENPRElOR19TVFlMRSB3aGVyZQ0KPiBwb3NzaWJsZQ0K
DQo+IFsuLl0NCj4gRG9lcyBub3QgeWV0IHJlZm9ybWF0IGFueSBjb2RlLg0KPiANCj4gTm8gZnVu
Y3Rpb25hbCBjaGFuZ2UuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBFZHdpbiBUw7Zyw7ZrIDxlZHZp
bi50b3Jva0BjaXRyaXguY29tPg0KPiAtLS0NCj4gdG9vbHMvb2NhbWwvLmNsYW5nLWZvcm1hdCB8
IDkgKysrKysrKysrDQo+IDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykNCj4gY3JlYXRl
IG1vZGUgMTAwNjQ0IHRvb2xzL29jYW1sLy5jbGFuZy1mb3JtYXQNCg0KQWNrZWQtYnk6IENocmlz
dGlhbiBMaW5kaWcgPGNocmlzdGlhbi5saW5kaWdAY2l0cml4LmNvbT4NCg0KSSBzdXBwb3J0IHRo
aXMga2luZCBvZiBhdXRvbWF0aW9uLiAgSSBhbHNvIGFncmVlIHdpdGggdGhlIHByZXZpb3VzIGNv
bW1lbnQgdGhhdCB0aGUgdGl0bGUgc2hvdWxkIGluZGljYXRlIHRoYXQgdGhpcyBpcyBvbmx5IGdv
aW5nIGludG8gYSBzdWJ0cmVlLg0KDQrigJQgQw==


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 09:31:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 09:31:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450411.707653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0ful-0002g0-CF; Thu, 01 Dec 2022 09:31:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450411.707653; Thu, 01 Dec 2022 09:31:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0ful-0002ft-99; Thu, 01 Dec 2022 09:31:31 +0000
Received: by outflank-mailman (input) for mailman id 450411;
 Thu, 01 Dec 2022 09:31:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0fuk-0002fn-4a
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 09:31:30 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0fuj-0004ET-MU; Thu, 01 Dec 2022 09:31:29 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[192.168.7.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0fuj-0005c6-Ff; Thu, 01 Dec 2022 09:31:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=mom8idnSv3TLsdNj6UdbDt2M/DoXfrR3rpLupqJeVV0=; b=t+Qbum3+Ci13EPZ4rvWG32ncwL
	DfxhovQOOr+HOO/l/IvPqmJzL28rxErPoEoFEumvs6YmmJUCekAwNB0zCzCaFOnMz64xKB5R1HkMT
	EcNxN9TuH+CCZPhEnEDtUpm7aCw9r5b0qWVbCQvCYzFw1LJGn9XCzK0D4aESUHm3kHyo=;
Message-ID: <c3af2730-d503-e139-644a-480a506c94d1@xen.org>
Date: Thu, 1 Dec 2022 09:31:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH v1 5/5] CODING_STYLE: add .clang-format
Content-Language: en-US
To: Edwin Torok <edvin.torok@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Jan Beulich
 <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross <jgross@suse.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
 <7e6b8e69-70d2-8178-205d-8c20b993162d@xen.org>
 <7DF6F06F-A65A-4F1F-8FDA-BF0E8977F99B@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <7DF6F06F-A65A-4F1F-8FDA-BF0E8977F99B@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

(+ A few people)

On 01/12/2022 09:21, Edwin Torok wrote:
> 
> 
>> On 1 Dec 2022, at 09:11, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Edwin,
>>
>> The title should have "OCaml" to clarify that .clang-format is not added at the root level.
>>
> 
> Sure, I'll update that when I resend.
> 
>> On 30/11/2022 17:32, Edwin Török wrote:
>>> Add a .clang-format configuration that tries to match CODING_STYLE where
>>> possible.
>>> I was not able to express the special casing of braces after 'do'
>>> though, this can only be controlled generally for all control
>>> statements.
>>> It is imperfect, but should be better than the existing bindings, which
>>> do not follow Xen coding style.
>>
>> Right, from previous discussion, I was under the impression that it requires some work to write a clang-format file for Xen.
>>
>> I am hopeful that some day we will have a proper one. In fact, we have been discussing about this as part of MISRA (+ Stefano).
>>
>>> Add this to tools/ocaml first because:
>>> * there are relatively few C files here, and it is a good place to start with
>>> * it'd be useful to make these follow Xen's CODING_STYLE
>>> (which they currently do not because they use tabs for example)
>>> * they change relatively infrequently, so shouldn't cause issues with
>>>    backporting security fixes (could either backport the reindentation
>>>    patch too, or use git cherry-pick with `-Xignore-space-change`)
>>> Once this is used it'll need inserting some '#include <stdint.h>', otherwise xs_wire.h
>>> fails to compile due to the missing uint32_t define.
>>
>> At first I was a bit concerned with this paragraph because a coding style should not impact compilation. But I guess that's because the format will convert u32 to uint32_t. Is that correct?
>>
>> If so, I would expand the paragraph to explicit say that, per the coding styel, u32 will be converted to uint32_t.
> 
> 
> clang-format rearranges the order of '#include' in C files, it shouldn't convert types.
> But rearranging (sorting) includes can sometimes reveal bugs where the code only happened to compile because the includes were done in a certain order
> (e.g. we included something that included stdint.h, therefore the next include line worked, but if you swap the include order that no longer works), i.e.:
> 
> #include "c.h"
> #include "b.h"
> 
> vs
> 
> /* post formatting */
> #include "b.h"
> #include "c.h"
> 
> Where c.h includes a.h, and b.h depends on declarations from a.h, then prior to reformat the code compiles, and afterwards it doesn't.
Thanks for the detailed information, I think some of it needs to be 
summarized in the commmit message.

> 
> Which can be fixed by adding this to the C file (and then regardless of include order of the other 2 it compiles):
> #include <a.h>
This would not work if the file were called "d.h" rather than "a.h" 
because the clang format would re-order it. So...

> 
> Or by fixing b.h to include a.h itself it it depends on it.

... this is the proper way to fix it.

> 
> Perhaps this'd better be fixed in xs_wire.h itself to include all its dependencies, but that is a publicly installed header, and there might be a reason why it doesn't include stdint.h.

I am not aware of any restrictions and at least one public headers 
already include <stdint.h>. I am CCed a few more people to get an opinion.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 09:41:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 09:41:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450417.707664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0g4j-0004RW-AI; Thu, 01 Dec 2022 09:41:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450417.707664; Thu, 01 Dec 2022 09:41:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0g4j-0004RP-6n; Thu, 01 Dec 2022 09:41:49 +0000
Received: by outflank-mailman (input) for mailman id 450417;
 Thu, 01 Dec 2022 09:41:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0g4h-0004RF-Oy; Thu, 01 Dec 2022 09:41:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0g4h-0004YJ-ML; Thu, 01 Dec 2022 09:41:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0g4h-0005NU-6a; Thu, 01 Dec 2022 09:41:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0g4h-0003gw-68; Thu, 01 Dec 2022 09:41:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LFfdX/OhBZdske5gJUspRU5xMbiz5utd72xllQYJmSo=; b=nYPmVLDSJHovGtCtajn7H1DzjO
	fRnD3eLRkxG8M4qsR4TrnTM/d3ReTt2k2aIWQarLZipXTcGfa1QOjCp2Zt7Ie4knpJ5Rjkuk8XK/N
	NS4+j3bvSNdLos4NvVqLSuVSnkSSm0S+Au+9aZGByUkpCKoldD1W5fMU0oo9hj1mAUiY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175000-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175000: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=ef4d3ea40565a781c25847e9cb96c1bd9f462bc6
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 01 Dec 2022 09:41:47 +0000

flight 175000 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175000/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 linux                ef4d3ea40565a781c25847e9cb96c1bd9f462bc6
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   54 days
Failing since        173470  2022-10-08 06:21:34 Z   54 days  105 attempts
Testing same since   174998  2022-11-30 19:12:42 Z    0 days    2 attempts

------------------------------------------------------------
1925 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 184191 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 09:46:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 09:46:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450422.707674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0g9Z-00054J-TW; Thu, 01 Dec 2022 09:46:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450422.707674; Thu, 01 Dec 2022 09:46:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0g9Z-00054C-Qp; Thu, 01 Dec 2022 09:46:49 +0000
Received: by outflank-mailman (input) for mailman id 450422;
 Thu, 01 Dec 2022 09:46:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0g9Y-000542-FA; Thu, 01 Dec 2022 09:46:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0g9Y-0004da-Ak; Thu, 01 Dec 2022 09:46:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0g9X-0005UI-Ug; Thu, 01 Dec 2022 09:46:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0g9X-0004YN-UE; Thu, 01 Dec 2022 09:46:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kMhkhvx4nuzc+RM5c4kGFW7SVL7A6E01JTQcT0psfqM=; b=xrOafcMy6ZI8XGcDNwpIPx0EvP
	Sq2MvOQwTIXLVtwaCg7ubUFYvSOPkm5fSW07Uo6i0imgrknzsky1RhVjidI3e+gAWLhMLlPPcEqAr
	VBd26Iw17t0U5SqIleznXVPLYgBjFsv12mMW5eK7sNXzqWfDxPZSD8CwMnTh5ngWoeFc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175002-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175002: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=93b9e6503e13cb6243d3af55ae4b304397f40d74
X-Osstest-Versions-That:
    libvirt=4ff500364d3be497dc68c0c97adb347b3bc05c03
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 01 Dec 2022 09:46:47 +0000

flight 175002 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175002/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 174995
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 174995
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 174995
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 libvirt              93b9e6503e13cb6243d3af55ae4b304397f40d74
baseline version:
 libvirt              4ff500364d3be497dc68c0c97adb347b3bc05c03

Last test of basis   174995  2022-11-30 04:20:29 Z    1 days
Testing same since   175002  2022-12-01 04:20:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Martin Kletzander <mkletzan@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   4ff500364d..93b9e6503e  93b9e6503e13cb6243d3af55ae4b304397f40d74 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 10:07:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 10:07:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450437.707685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0gTF-0000DY-KQ; Thu, 01 Dec 2022 10:07:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450437.707685; Thu, 01 Dec 2022 10:07:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0gTF-0000DR-HV; Thu, 01 Dec 2022 10:07:09 +0000
Received: by outflank-mailman (input) for mailman id 450437;
 Thu, 01 Dec 2022 10:07:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ywn3=37=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p0gTE-0000DL-FZ
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 10:07:08 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20611.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2a1836d-715e-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 11:02:23 +0100 (CET)
Received: from DS7PR05CA0018.namprd05.prod.outlook.com (2603:10b6:5:3b9::23)
 by SN7PR12MB8130.namprd12.prod.outlook.com (2603:10b6:806:32e::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 10:03:23 +0000
Received: from DM6NAM11FT026.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3b9:cafe::fb) by DS7PR05CA0018.outlook.office365.com
 (2603:10b6:5:3b9::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5901.8 via Frontend
 Transport; Thu, 1 Dec 2022 10:03:23 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT026.mail.protection.outlook.com (10.13.172.161) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5857.18 via Frontend Transport; Thu, 1 Dec 2022 10:03:22 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 04:03:19 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 1 Dec 2022 04:03:17 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e2a1836d-715e-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ghp8pRU3PRaaVw1ubs/nsj4Lm20s9+knq7CyQDVpvuG5lasAisyD5mg3kohjaB6Kd5B/042KTouhaTJR2W2K4avxXV6WmhrqdHTViqp8ymHgpCxiRcIvXP76kxUDSGnF7PW4ouToyf41EwFCBdTDVysxTDYGRehLwKFHjKjoP4VkryI3ulYfk3UzMja0zlIA1SsgsvMvfVOR4ZfRqyzEBpOVmRIid5p9K23DSZ5JD5NnaBPyS2HZp2Xg+x/5CH/C4Pj8hVfd0FCXH50eHdpmNP/1Hsqb0Z4rfIRjGOMbLs8GuF7owH3lAZCvMYzRLyYbL2YlGzFqiRFTY3KIfQPoPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0LuPZLlNaOwbp7Ht+jXJOV/B2fhftFNV1Gl0W7OOUhc=;
 b=ZnxjucvLj6F1Jxrtm7vV3qfMqhzY9vUGSigv3eJpzLXjoppGp7ks9Wq12dqJ64TPzF3nn/+2asFx9Jp0Xmjguj7mQBiVI7xhwbwHqrVF6ug/1CsgDPZl2WVIw1fnnj8BpUfk5K1tVpGOjbMlmqIyzHAkJncF0H5kR747XagWUpYU7QeYGa7nYugJQfatTX5CMxsi6ylJHVgDc4rj6Rr/z/85cxyksjwhb6LHK0wGOiaETJo+44AfOGkOYwFHslORJF10sWBCmBLz3T9zGhIjvqbalq7tPQUTOFyPvDVSwjFWc63hiwQvrtdWVj0fpiuSFdpqgGpsBqBJ/ttio4gwfQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0LuPZLlNaOwbp7Ht+jXJOV/B2fhftFNV1Gl0W7OOUhc=;
 b=1a955W7ByT1H52htJsdR23ykM/1nXVYiVKD1EIm6a/MOxC/5oECx4SyMh7KwyxFnTKmo0XRR3Ju1bFVG/AYLz5a+qJMoUSCXcmomaNbNydMFFqOJbSp79tFal79DG1eqfVFOkJbTLU1l4h/LW1uM+v/ItSxxoF9DVO3NlmXB2pY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<bobbyeshleman@gmail.com>, <alistair.francis@wdc.com>,
	<connojdavis@gmail.com>, <wl@xen.org>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v1] Xen: Enable compilation when PADDR_BITS == BITS_PER_LONG
Date: Thu, 1 Dec 2022 10:03:09 +0000
Message-ID: <20221201100309.2385-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT026:EE_|SN7PR12MB8130:EE_
X-MS-Office365-Filtering-Correlation-Id: b41815ac-4a69-4a2a-8b7d-08dad3834817
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sLE0xPty9CyeII0Jb9InV+MwYhfvuuV0horP8Fm6eTumTfOFmdu79M4xaPsB4MyK8k1gYMoL4zoqEhcxI329ClpkHbHE3T3QSDYifvmVF6Q725VkITTZP3bwYCYnrwdWHkBJPuXy5H/QwLUzbzzU5i9jwM+Dn4KfSY+4jh8jxdhr6ylZZ8AQ2tDZKWNYSpSn9YtZGBdC+rIO7YPBHFz2qDacI96SCwQT5hYr2ocYwXhOIKVw4RGq+Arlhq58aQKakYBFd5/U2QpYQvRgZuAVlvf6Y2cFfGUvn6IZ99JCXdSIFitdoWsd+zVXJ5Pr19rEc5PB1QRz0dO+GelaHRfr32CK7sOMzFNni4VyXJWLxd6oJJwPhzzlgT2w+GFiyMicC0HbYz1oy0R4eQ8SdAuOwN9Cjie+SYrp9zZTjP3XKGsSrAB07AUUkAReIQw1qO6KSVbXCv3O/YcTK+UJ5rQhVGROPzXm3z8ZRBI44vc89eFB6DmpbEMXE7XWSpMPj1yH2l4zUsgdFgP5Yl6LrU1nJ9yFp6jsYAtcPbIqblpuXqVWqJMrR3ZPK05ctLWXZ1s5mIMwy/vT0mlDXY+FlSjBSCxnQdjmi/VG13EBVFLvNmr/5VDsl8KY+YdKFe/SmUBODaXUSMcJtS/feXTR3hfzoJicT8h9G6/kr6zxawEUoZ0EZBpAkjLgHE1ngmT7sZnxrBd36IPbk2VUt588HX0QklgB6OtHmBHnhvIf69KuJok=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(39860400002)(346002)(396003)(451199015)(46966006)(40470700004)(36840700001)(316002)(478600001)(26005)(103116003)(186003)(36756003)(1076003)(2616005)(54906003)(6916009)(356005)(81166007)(36860700001)(40480700001)(40460700003)(47076005)(86362001)(82740400003)(426003)(336012)(82310400005)(83380400001)(6666004)(4326008)(70586007)(8676002)(70206006)(8936002)(5660300002)(7416002)(41300700001)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 10:03:22.9244
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b41815ac-4a69-4a2a-8b7d-08dad3834817
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT026.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8130

It is possible for a pointer to represent physical memory of the same size.
In other words, a 32 bit pointer can represent 32 bit addressable physical
memory.
Thus, issue a compilation failure only when the count of physical address bits
is greater than BITS_PER_LONG (ie count of bits in void*).

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---

Currently this change will not have any impact on the existing architectures.
The following table illustrates PADDR_BITS vs BITS_PER_LONG of different archs

------------------------------------------------
| Arch      |   PADDR_BITS    |   BITS_PER_LONG |
------------------------------------------------
| Arm_64    |   48            |   64            |
| Arm_32    |   40            |   32            |
| RISCV_64  |   Don't know    |   64            |
| x86       |   52            |   64            |
-------------------------------------------------

However, this will change when we introduce a platform (For eg Cortex-R52) which
supports 32 bit physical address and BITS_PER_LONG.
Thus, I have introduced this change as I don't see it causing a regression on
any of the supported platforms.

 xen/common/page_alloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 62afb07bc6..cd390a0956 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2245,7 +2245,7 @@ void __init xenheap_max_mfn(unsigned long mfn)
 {
     ASSERT(!first_node_initialised);
     ASSERT(!xenheap_bits);
-    BUILD_BUG_ON(PADDR_BITS >= BITS_PER_LONG);
+    BUILD_BUG_ON(PADDR_BITS > BITS_PER_LONG);
     xenheap_bits = min(flsl(mfn + 1) - 1 + PAGE_SHIFT, PADDR_BITS);
     printk(XENLOG_INFO "Xen heap: %u bits\n", xenheap_bits);
 }
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 10:09:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 10:09:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450442.707696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0gVe-0000mP-0m; Thu, 01 Dec 2022 10:09:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450442.707696; Thu, 01 Dec 2022 10:09:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0gVd-0000mI-UL; Thu, 01 Dec 2022 10:09:37 +0000
Received: by outflank-mailman (input) for mailman id 450442;
 Thu, 01 Dec 2022 10:09:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zfJQ=37=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p0gVc-0000lb-MH
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 10:09:36 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76085a72-715f-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 11:04:31 +0100 (CET)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id BD74421B14;
 Thu,  1 Dec 2022 10:08:23 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 6AF4E1320E;
 Thu,  1 Dec 2022 10:08:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id YZ6UGBd9iGOVIgAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 01 Dec 2022 10:08:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76085a72-715f-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1669889303; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=Y/Zy+CCybaDxKp3aYPioeisvRI5M/wfIgvCuWi1qCd0=;
	b=bZuJ6/QCgvZmP9sepNM1tUVJP3IcM2Y0cFgvKLLzKUK+6OwO4v5xGw3dBPYZMWeODD0aTN
	18fE8ig4txCGwfbfKtRA255+T1Nfj9u8z4cm41LunL5uN8On5kMD2p8QEMCm50s9fXHMP2
	VfW2BKkzi469ATn/13gIeN16/3GrI34=
Message-ID: <99df302d-8bc5-55a7-a97e-dcc8eee41d2c@suse.com>
Date: Thu, 1 Dec 2022 11:08:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH v1 5/5] CODING_STYLE: add .clang-format
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Edwin Torok <edvin.torok@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Jan Beulich
 <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
 <7e6b8e69-70d2-8178-205d-8c20b993162d@xen.org>
 <7DF6F06F-A65A-4F1F-8FDA-BF0E8977F99B@citrix.com>
 <c3af2730-d503-e139-644a-480a506c94d1@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <c3af2730-d503-e139-644a-480a506c94d1@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------VcZ4mFgyNRyaOYbtg3Dj0Bzp"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------VcZ4mFgyNRyaOYbtg3Dj0Bzp
Content-Type: multipart/mixed; boundary="------------uEZlWcCemTvvAzs5yw01WbMq";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, Edwin Torok <edvin.torok@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Jan Beulich
 <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
Message-ID: <99df302d-8bc5-55a7-a97e-dcc8eee41d2c@suse.com>
Subject: Re: [PATCH v1 5/5] CODING_STYLE: add .clang-format
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
 <7e6b8e69-70d2-8178-205d-8c20b993162d@xen.org>
 <7DF6F06F-A65A-4F1F-8FDA-BF0E8977F99B@citrix.com>
 <c3af2730-d503-e139-644a-480a506c94d1@xen.org>
In-Reply-To: <c3af2730-d503-e139-644a-480a506c94d1@xen.org>

--------------uEZlWcCemTvvAzs5yw01WbMq
Content-Type: multipart/mixed; boundary="------------6joclWgJRjVdt5DtrZ2tPeSR"

--------------6joclWgJRjVdt5DtrZ2tPeSR
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDEuMTIuMjIgMTA6MzEsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gKCsgQSBmZXcgcGVv
cGxlKQ0KPiANCj4gT24gMDEvMTIvMjAyMiAwOToyMSwgRWR3aW4gVG9yb2sgd3JvdGU6DQo+
Pg0KPj4NCj4+PiBPbiAxIERlYyAyMDIyLCBhdCAwOToxMSwgSnVsaWVuIEdyYWxsIDxqdWxp
ZW5AeGVuLm9yZz4gd3JvdGU6DQo+Pj4NCj4+PiBIaSBFZHdpbiwNCj4+Pg0KPj4+IFRoZSB0
aXRsZSBzaG91bGQgaGF2ZSAiT0NhbWwiIHRvIGNsYXJpZnkgdGhhdCAuY2xhbmctZm9ybWF0
IGlzIG5vdCBhZGRlZCBhdCANCj4+PiB0aGUgcm9vdCBsZXZlbC4NCj4+Pg0KPj4NCj4+IFN1
cmUsIEknbGwgdXBkYXRlIHRoYXQgd2hlbiBJIHJlc2VuZC4NCj4+DQo+Pj4gT24gMzAvMTEv
MjAyMiAxNzozMiwgRWR3aW4gVMO2csO2ayB3cm90ZToNCj4+Pj4gQWRkIGEgLmNsYW5nLWZv
cm1hdCBjb25maWd1cmF0aW9uIHRoYXQgdHJpZXMgdG8gbWF0Y2ggQ09ESU5HX1NUWUxFIHdo
ZXJlDQo+Pj4+IHBvc3NpYmxlLg0KPj4+PiBJIHdhcyBub3QgYWJsZSB0byBleHByZXNzIHRo
ZSBzcGVjaWFsIGNhc2luZyBvZiBicmFjZXMgYWZ0ZXIgJ2RvJw0KPj4+PiB0aG91Z2gsIHRo
aXMgY2FuIG9ubHkgYmUgY29udHJvbGxlZCBnZW5lcmFsbHkgZm9yIGFsbCBjb250cm9sDQo+
Pj4+IHN0YXRlbWVudHMuDQo+Pj4+IEl0IGlzIGltcGVyZmVjdCwgYnV0IHNob3VsZCBiZSBi
ZXR0ZXIgdGhhbiB0aGUgZXhpc3RpbmcgYmluZGluZ3MsIHdoaWNoDQo+Pj4+IGRvIG5vdCBm
b2xsb3cgWGVuIGNvZGluZyBzdHlsZS4NCj4+Pg0KPj4+IFJpZ2h0LCBmcm9tIHByZXZpb3Vz
IGRpc2N1c3Npb24sIEkgd2FzIHVuZGVyIHRoZSBpbXByZXNzaW9uIHRoYXQgaXQgcmVxdWly
ZXMgDQo+Pj4gc29tZSB3b3JrIHRvIHdyaXRlIGEgY2xhbmctZm9ybWF0IGZpbGUgZm9yIFhl
bi4NCj4+Pg0KPj4+IEkgYW0gaG9wZWZ1bCB0aGF0IHNvbWUgZGF5IHdlIHdpbGwgaGF2ZSBh
IHByb3BlciBvbmUuIEluIGZhY3QsIHdlIGhhdmUgYmVlbiANCj4+PiBkaXNjdXNzaW5nIGFi
b3V0IHRoaXMgYXMgcGFydCBvZiBNSVNSQSAoKyBTdGVmYW5vKS4NCj4+Pg0KPj4+PiBBZGQg
dGhpcyB0byB0b29scy9vY2FtbCBmaXJzdCBiZWNhdXNlOg0KPj4+PiAqIHRoZXJlIGFyZSBy
ZWxhdGl2ZWx5IGZldyBDIGZpbGVzIGhlcmUsIGFuZCBpdCBpcyBhIGdvb2QgcGxhY2UgdG8g
c3RhcnQgd2l0aA0KPj4+PiAqIGl0J2QgYmUgdXNlZnVsIHRvIG1ha2UgdGhlc2UgZm9sbG93
IFhlbidzIENPRElOR19TVFlMRQ0KPj4+PiAod2hpY2ggdGhleSBjdXJyZW50bHkgZG8gbm90
IGJlY2F1c2UgdGhleSB1c2UgdGFicyBmb3IgZXhhbXBsZSkNCj4+Pj4gKiB0aGV5IGNoYW5n
ZSByZWxhdGl2ZWx5IGluZnJlcXVlbnRseSwgc28gc2hvdWxkbid0IGNhdXNlIGlzc3VlcyB3
aXRoDQo+Pj4+IMKgwqAgYmFja3BvcnRpbmcgc2VjdXJpdHkgZml4ZXMgKGNvdWxkIGVpdGhl
ciBiYWNrcG9ydCB0aGUgcmVpbmRlbnRhdGlvbg0KPj4+PiDCoMKgIHBhdGNoIHRvbywgb3Ig
dXNlIGdpdCBjaGVycnktcGljayB3aXRoIGAtWGlnbm9yZS1zcGFjZS1jaGFuZ2VgKQ0KPj4+
PiBPbmNlIHRoaXMgaXMgdXNlZCBpdCdsbCBuZWVkIGluc2VydGluZyBzb21lICcjaW5jbHVk
ZSA8c3RkaW50Lmg+Jywgb3RoZXJ3aXNlIA0KPj4+PiB4c193aXJlLmgNCj4+Pj4gZmFpbHMg
dG8gY29tcGlsZSBkdWUgdG8gdGhlIG1pc3NpbmcgdWludDMyX3QgZGVmaW5lLg0KPj4+DQo+
Pj4gQXQgZmlyc3QgSSB3YXMgYSBiaXQgY29uY2VybmVkIHdpdGggdGhpcyBwYXJhZ3JhcGgg
YmVjYXVzZSBhIGNvZGluZyBzdHlsZSANCj4+PiBzaG91bGQgbm90IGltcGFjdCBjb21waWxh
dGlvbi4gQnV0IEkgZ3Vlc3MgdGhhdCdzIGJlY2F1c2UgdGhlIGZvcm1hdCB3aWxsIA0KPj4+
IGNvbnZlcnQgdTMyIHRvIHVpbnQzMl90LiBJcyB0aGF0IGNvcnJlY3Q/DQo+Pj4NCj4+PiBJ
ZiBzbywgSSB3b3VsZCBleHBhbmQgdGhlIHBhcmFncmFwaCB0byBleHBsaWNpdCBzYXkgdGhh
dCwgcGVyIHRoZSBjb2RpbmcgDQo+Pj4gc3R5ZWwsIHUzMiB3aWxsIGJlIGNvbnZlcnRlZCB0
byB1aW50MzJfdC4NCj4+DQo+Pg0KPj4gY2xhbmctZm9ybWF0IHJlYXJyYW5nZXMgdGhlIG9y
ZGVyIG9mICcjaW5jbHVkZScgaW4gQyBmaWxlcywgaXQgc2hvdWxkbid0IA0KPj4gY29udmVy
dCB0eXBlcy4NCj4+IEJ1dCByZWFycmFuZ2luZyAoc29ydGluZykgaW5jbHVkZXMgY2FuIHNv
bWV0aW1lcyByZXZlYWwgYnVncyB3aGVyZSB0aGUgY29kZSANCj4+IG9ubHkgaGFwcGVuZWQg
dG8gY29tcGlsZSBiZWNhdXNlIHRoZSBpbmNsdWRlcyB3ZXJlIGRvbmUgaW4gYSBjZXJ0YWlu
IG9yZGVyDQo+PiAoZS5nLiB3ZSBpbmNsdWRlZCBzb21ldGhpbmcgdGhhdCBpbmNsdWRlZCBz
dGRpbnQuaCwgdGhlcmVmb3JlIHRoZSBuZXh0IGluY2x1ZGUgDQo+PiBsaW5lIHdvcmtlZCwg
YnV0IGlmIHlvdSBzd2FwIHRoZSBpbmNsdWRlIG9yZGVyIHRoYXQgbm8gbG9uZ2VyIHdvcmtz
KSwgaS5lLjoNCj4+DQo+PiAjaW5jbHVkZSAiYy5oIg0KPj4gI2luY2x1ZGUgImIuaCINCj4+
DQo+PiB2cw0KPj4NCj4+IC8qIHBvc3QgZm9ybWF0dGluZyAqLw0KPj4gI2luY2x1ZGUgImIu
aCINCj4+ICNpbmNsdWRlICJjLmgiDQo+Pg0KPj4gV2hlcmUgYy5oIGluY2x1ZGVzIGEuaCwg
YW5kIGIuaCBkZXBlbmRzIG9uIGRlY2xhcmF0aW9ucyBmcm9tIGEuaCwgdGhlbiBwcmlvciAN
Cj4+IHRvIHJlZm9ybWF0IHRoZSBjb2RlIGNvbXBpbGVzLCBhbmQgYWZ0ZXJ3YXJkcyBpdCBk
b2Vzbid0Lg0KPiBUaGFua3MgZm9yIHRoZSBkZXRhaWxlZCBpbmZvcm1hdGlvbiwgSSB0aGlu
ayBzb21lIG9mIGl0IG5lZWRzIHRvIGJlIHN1bW1hcml6ZWQgDQo+IGluIHRoZSBjb21tbWl0
IG1lc3NhZ2UuDQo+IA0KPj4NCj4+IFdoaWNoIGNhbiBiZSBmaXhlZCBieSBhZGRpbmcgdGhp
cyB0byB0aGUgQyBmaWxlIChhbmQgdGhlbiByZWdhcmRsZXNzIG9mIA0KPj4gaW5jbHVkZSBv
cmRlciBvZiB0aGUgb3RoZXIgMiBpdCBjb21waWxlcyk6DQo+PiAjaW5jbHVkZSA8YS5oPg0K
PiBUaGlzIHdvdWxkIG5vdCB3b3JrIGlmIHRoZSBmaWxlIHdlcmUgY2FsbGVkICJkLmgiIHJh
dGhlciB0aGFuICJhLmgiIGJlY2F1c2UgdGhlIA0KPiBjbGFuZyBmb3JtYXQgd291bGQgcmUt
b3JkZXIgaXQuIFNvLi4uDQo+IA0KPj4NCj4+IE9yIGJ5IGZpeGluZyBiLmggdG8gaW5jbHVk
ZSBhLmggaXRzZWxmIGl0IGl0IGRlcGVuZHMgb24gaXQuDQo+IA0KPiAuLi4gdGhpcyBpcyB0
aGUgcHJvcGVyIHdheSB0byBmaXggaXQuDQo+IA0KPj4NCj4+IFBlcmhhcHMgdGhpcydkIGJl
dHRlciBiZSBmaXhlZCBpbiB4c193aXJlLmggaXRzZWxmIHRvIGluY2x1ZGUgYWxsIGl0cyAN
Cj4+IGRlcGVuZGVuY2llcywgYnV0IHRoYXQgaXMgYSBwdWJsaWNseSBpbnN0YWxsZWQgaGVh
ZGVyLCBhbmQgdGhlcmUgbWlnaHQgYmUgYSANCj4+IHJlYXNvbiB3aHkgaXQgZG9lc24ndCBp
bmNsdWRlIHN0ZGludC5oLg0KPiANCj4gSSBhbSBub3QgYXdhcmUgb2YgYW55IHJlc3RyaWN0
aW9ucyBhbmQgYXQgbGVhc3Qgb25lIHB1YmxpYyBoZWFkZXJzIGFscmVhZHkgDQo+IGluY2x1
ZGUgPHN0ZGludC5oPi4gSSBhbSBDQ2VkIGEgZmV3IG1vcmUgcGVvcGxlIHRvIGdldCBhbiBv
cGluaW9uLg0KDQpJIGRvbid0IHRoaW5rIHhzX3dpcmUuaCBzaG91bGQgaW5jbHVkZSBzdGRp
bnQuaC4gVGhpcyB3aWxsIHJlc3VsdCBpbiBhIGNvbmZsaWN0DQplLmcuIGluIHRoZSBMaW51
eCBrZXJuZWwuDQoNCldlIG1pZ2h0IHdhbnQgdG8gYWRkIGEgY29tbWVudCB0byB4c193aXJl
LmggbGlrZSB0aGUgb25lIGluIHJpbmcuaCBpbiBvcmRlciB0bw0KZG9jdW1lbnQgdGhlIHJl
cXVpcmVtZW50IG9mIHRoZSB0eXBlIGRlZmluaXRpb24gb2YgdWludDMyX3QuDQoNCg0KSnVl
cmdlbg0KDQo=
--------------6joclWgJRjVdt5DtrZ2tPeSR
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------6joclWgJRjVdt5DtrZ2tPeSR--

--------------uEZlWcCemTvvAzs5yw01WbMq--

--------------VcZ4mFgyNRyaOYbtg3Dj0Bzp
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOIfRcFAwAAAAAACgkQsN6d1ii/Ey9V
5wf/ZnxIJN6898f+iZ4NH49cJUQT2IhUTH3Oqn2F9ooBSX4kQGZeC92YZKrkkiJV9MC/nP2DwkId
hRXU5OZVbTH5jHOjfa/ocOGNYBPJz/7dHB37//gUMq18AYrTEWoZL/1dsn08ax2h9dlvTCGm1Y9/
q4dZ404z6waNMIvx0ymmllxj8gNUhEK5TTRvpWGtumaVEMnIeBm/jA5QY3xd1Srn4lrND/HwoHA6
Bqbpwgz5zP7C17L8yO5+XivkzqEfJ7U6WIrTWZC5LHN6yXLcPViBHgJ7chTxLhY606ee1mieT8rf
XuQYptlD1wqZJ6DZSGZLLMzwH//e6myZeu7zEkgJ2Q==
=L1JK
-----END PGP SIGNATURE-----

--------------VcZ4mFgyNRyaOYbtg3Dj0Bzp--


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 10:13:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 10:13:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450448.707708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0gYw-0002UG-Hv; Thu, 01 Dec 2022 10:13:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450448.707708; Thu, 01 Dec 2022 10:13:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0gYw-0002U9-D6; Thu, 01 Dec 2022 10:13:02 +0000
Received: by outflank-mailman (input) for mailman id 450448;
 Thu, 01 Dec 2022 10:13:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0gYv-0002Tv-4O
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 10:13:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0gYu-0005J8-M0; Thu, 01 Dec 2022 10:13:00 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[192.168.7.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0gYu-0007Vw-Du; Thu, 01 Dec 2022 10:13:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=qxGAY0+sPkl5oR96861pPne+iPwbrPm/kO7cPIBXz4A=; b=kI1Xh23O2mFXbjctBO2XEr5whG
	2A778aJEbmUQKyALD3+SyB0kV7TFZrwOOL5RiNsusmhLqZ+gdrteJbllx1X81oEKoUe/Mm3jQn4RA
	KSTlmVbRsHoC9Cp4FsbLdT7Cvm0UyHpQJ8kng7YiuuyAWRI0udGOR0asxkEGaX69vjLA=;
Message-ID: <3e6e6948-7852-751e-a025-9fe36e9cfb82@xen.org>
Date: Thu, 1 Dec 2022 10:12:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH v1 5/5] CODING_STYLE: add .clang-format
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, Edwin Torok <edvin.torok@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Jan Beulich
 <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
 <7e6b8e69-70d2-8178-205d-8c20b993162d@xen.org>
 <7DF6F06F-A65A-4F1F-8FDA-BF0E8977F99B@citrix.com>
 <c3af2730-d503-e139-644a-480a506c94d1@xen.org>
 <99df302d-8bc5-55a7-a97e-dcc8eee41d2c@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <99df302d-8bc5-55a7-a97e-dcc8eee41d2c@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 01/12/2022 10:08, Juergen Gross wrote:
> On 01.12.22 10:31, Julien Grall wrote:
>> (+ A few people)
>>
>> On 01/12/2022 09:21, Edwin Torok wrote:
>>>
>>>
>>>> On 1 Dec 2022, at 09:11, Julien Grall <julien@xen.org> wrote:
>>>>
>>>> Hi Edwin,
>>>>
>>>> The title should have "OCaml" to clarify that .clang-format is not 
>>>> added at the root level.
>>>>
>>>
>>> Sure, I'll update that when I resend.
>>>
>>>> On 30/11/2022 17:32, Edwin Török wrote:
>>>>> Add a .clang-format configuration that tries to match CODING_STYLE 
>>>>> where
>>>>> possible.
>>>>> I was not able to express the special casing of braces after 'do'
>>>>> though, this can only be controlled generally for all control
>>>>> statements.
>>>>> It is imperfect, but should be better than the existing bindings, 
>>>>> which
>>>>> do not follow Xen coding style.
>>>>
>>>> Right, from previous discussion, I was under the impression that it 
>>>> requires some work to write a clang-format file for Xen.
>>>>
>>>> I am hopeful that some day we will have a proper one. In fact, we 
>>>> have been discussing about this as part of MISRA (+ Stefano).
>>>>
>>>>> Add this to tools/ocaml first because:
>>>>> * there are relatively few C files here, and it is a good place to 
>>>>> start with
>>>>> * it'd be useful to make these follow Xen's CODING_STYLE
>>>>> (which they currently do not because they use tabs for example)
>>>>> * they change relatively infrequently, so shouldn't cause issues with
>>>>>    backporting security fixes (could either backport the reindentation
>>>>>    patch too, or use git cherry-pick with `-Xignore-space-change`)
>>>>> Once this is used it'll need inserting some '#include <stdint.h>', 
>>>>> otherwise xs_wire.h
>>>>> fails to compile due to the missing uint32_t define.
>>>>
>>>> At first I was a bit concerned with this paragraph because a coding 
>>>> style should not impact compilation. But I guess that's because the 
>>>> format will convert u32 to uint32_t. Is that correct?
>>>>
>>>> If so, I would expand the paragraph to explicit say that, per the 
>>>> coding styel, u32 will be converted to uint32_t.
>>>
>>>
>>> clang-format rearranges the order of '#include' in C files, it 
>>> shouldn't convert types.
>>> But rearranging (sorting) includes can sometimes reveal bugs where 
>>> the code only happened to compile because the includes were done in a 
>>> certain order
>>> (e.g. we included something that included stdint.h, therefore the 
>>> next include line worked, but if you swap the include order that no 
>>> longer works), i.e.:
>>>
>>> #include "c.h"
>>> #include "b.h"
>>>
>>> vs
>>>
>>> /* post formatting */
>>> #include "b.h"
>>> #include "c.h"
>>>
>>> Where c.h includes a.h, and b.h depends on declarations from a.h, 
>>> then prior to reformat the code compiles, and afterwards it doesn't.
>> Thanks for the detailed information, I think some of it needs to be 
>> summarized in the commmit message.
>>
>>>
>>> Which can be fixed by adding this to the C file (and then regardless 
>>> of include order of the other 2 it compiles):
>>> #include <a.h>
>> This would not work if the file were called "d.h" rather than "a.h" 
>> because the clang format would re-order it. So...
>>
>>>
>>> Or by fixing b.h to include a.h itself it it depends on it.
>>
>> ... this is the proper way to fix it.
>>
>>>
>>> Perhaps this'd better be fixed in xs_wire.h itself to include all its 
>>> dependencies, but that is a publicly installed header, and there 
>>> might be a reason why it doesn't include stdint.h.
>>
>> I am not aware of any restrictions and at least one public headers 
>> already include <stdint.h>. I am CCed a few more people to get an 
>> opinion.
> 
> I don't think xs_wire.h should include stdint.h. This will result in a 
> conflict
> e.g. in the Linux kernel.

AFAIU, Linux has its own copy of the headers. Is that correct?

> 
> We might want to add a comment to xs_wire.h like the one in ring.h in 
> order to
> document the requirement of the type definition of uint32_t.

The problem with this approach is you made more difficult for any 
userspace application to use the headers. So I would argue that the 
Linux copy can remove "stdint.h" if needed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 10:26:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 10:26:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450457.707718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0glp-0004LQ-Qd; Thu, 01 Dec 2022 10:26:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450457.707718; Thu, 01 Dec 2022 10:26:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0glp-0004LJ-NS; Thu, 01 Dec 2022 10:26:21 +0000
Received: by outflank-mailman (input) for mailman id 450457;
 Thu, 01 Dec 2022 10:26:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0glo-0004LD-Va
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 10:26:20 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0gln-0005XZ-TZ; Thu, 01 Dec 2022 10:26:19 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[192.168.7.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0gln-0007tG-M7; Thu, 01 Dec 2022 10:26:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=5q89znQ4sdTwU5ei2jsxGLwJ1B0kCxpTVue4GqUcJ0E=; b=4WIKrTGI4w0pYKhMoJbwiOs5ya
	q+L0FsZsVvxpglTi3/LFPdAD+NfdrRb5CAroyxL/E2tdR6yDezP2I6K2DRcrT9wintDfXOOxfTIuN
	kAt43iLOmL5QoPV1hOROUty5gxEZjjFOLe4+gi0kHqPnCiTcr37p5raR22A75zqzJfnQ=;
Message-ID: <c89992bb-065b-e7e4-3f5f-1c70754e4635@xen.org>
Date: Thu, 1 Dec 2022 10:26:16 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [XEN v1] Xen: Enable compilation when PADDR_BITS == BITS_PER_LONG
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, andrew.cooper3@citrix.com,
 george.dunlap@citrix.com, jbeulich@suse.com, bobbyeshleman@gmail.com,
 alistair.francis@wdc.com, connojdavis@gmail.com, wl@xen.org
References: <20221201100309.2385-1-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221201100309.2385-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 01/12/2022 10:03, Ayan Kumar Halder wrote:
> It is possible for a pointer to represent physical memory of the same size.
> In other words, a 32 bit pointer can represent 32 bit addressable physical
> memory.
> Thus, issue a compilation failure only when the count of physical address bits
> is greater than BITS_PER_LONG (ie count of bits in void*).

I am having difficult to understand how this description is related to 
the BUILD_BUG_ON(). AFAIU, it is used to check that xenheap_bits can be 
used in shift.

If the unsigned long is 32-bit, then a shift of 32 could be undefined. 
Looking at the current use, the shift are used with "xenheap_bits - 
PAGE_SHIFT". So as long as PAGE_SHIFT is not 0, you would be fine.

> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> 
> Currently this change will not have any impact on the existing architectures.
> The following table illustrates PADDR_BITS vs BITS_PER_LONG of different archs
> 
> ------------------------------------------------
> | Arch      |   PADDR_BITS    |   BITS_PER_LONG |
> ------------------------------------------------
> | Arm_64    |   48            |   64            |
> | Arm_32    |   40            |   32            |
> | RISCV_64  |   Don't know    |   64            |
> | x86       |   52            |   64            |
> -------------------------------------------------

The Arm_32 line is a bit confusing because one would wonder why we 
haven't seen this issue yet. So I think you want to clarify that the 
code path is not used by Arm32.

> 
> However, this will change when we introduce a platform (For eg Cortex-R52) which
> supports 32 bit physical address and BITS_PER_LONG.
> Thus, I have introduced this change as I don't see it causing a regression on
> any of the supported platforms.
> 
>   xen/common/page_alloc.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
> index 62afb07bc6..cd390a0956 100644
> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -2245,7 +2245,7 @@ void __init xenheap_max_mfn(unsigned long mfn)
>   {
>       ASSERT(!first_node_initialised);
>       ASSERT(!xenheap_bits);
> -    BUILD_BUG_ON(PADDR_BITS >= BITS_PER_LONG);
> +    BUILD_BUG_ON(PADDR_BITS > BITS_PER_LONG);

Based on the above, I think this wants to be "(PADDR_BITS - PAGE_SHIFT) 
 >= BITS_PER_LONG)".

>       xenheap_bits = min(flsl(mfn + 1) - 1 + PAGE_SHIFT, PADDR_BITS);
>       printk(XENLOG_INFO "Xen heap: %u bits\n", xenheap_bits);
>   }

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 10:45:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 10:45:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450466.707741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0h48-0007bc-PM; Thu, 01 Dec 2022 10:45:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450466.707741; Thu, 01 Dec 2022 10:45:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0h48-0007bV-M2; Thu, 01 Dec 2022 10:45:16 +0000
Received: by outflank-mailman (input) for mailman id 450466;
 Thu, 01 Dec 2022 10:45:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0h47-0007b3-HM
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 10:45:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0h46-000612-2E; Thu, 01 Dec 2022 10:45:14 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[192.168.7.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0h45-0000Tw-QM; Thu, 01 Dec 2022 10:45:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=M0Ryx/2lYELRDLetZny0NmZTFeLqK31CQvIAn6stHqU=; b=gXdSvmPuf6IoheBazH1sYqqBI7
	2OydsIRYTnzuY1iYtPXKkP9UW288A8Eg587IjNl9GjOLPubvsVG5Q4/73iui+WvLydFxOj1MJ5bkB
	JwkfEKV4F24oldEtUksFgeQHQA4R+jYzbQJ3tfxrzbad3wtzhi+OuSipSRNXxVy7QLCQ=;
Message-ID: <ca22f153-2592-cefd-6488-808be9b203ab@xen.org>
Date: Thu, 1 Dec 2022 10:45:11 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH] docs/misc/arm: Update references to Linux kernel docs
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221118114554.20696-1-michal.orzel@amd.com>
 <31E1FFCF-F675-47D9-BCDB-5884F7360567@arm.com>
 <e04066c4-626c-8c7b-a9f9-8211869994eb@xen.org>
 <AS8PR08MB799172B5DE78D833879BF925920C9@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AS8PR08MB799172B5DE78D833879BF925920C9@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 23/11/2022 02:24, Henry Wang wrote:
>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Subject: Re: [PATCH] docs/misc/arm: Update references to Linux kernel docs
>>
>> (+ Henry)
> 
> Thanks.
> 
>>
>> Hi,
>>
>> On 18/11/2022 13:10, Bertrand Marquis wrote:
>>> Hi Michal,
>>>
>>>> On 18 Nov 2022, at 11:45, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>
>>>> Some time ago, Linux switched the format of docs to ReST and the format
>>>> of device-tree bindings to json-schema.
>>>>
>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
>>
>> This could potentially be a candidate for 4.17 as this is correcting the
>> links in the docs. So risk free.
> 
> Agreed.
> 
>>
>> If we have no new bug fixed queued for 4.17, then I could add the patch
>> after branching.
> 
> Sounds good to me, if you want to do that:
> 
> Release-acked-by: Henry Wang <Henry.Wang@arm.com>

It is now committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 10:45:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 10:45:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450465.707730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0h3u-0007Hl-EC; Thu, 01 Dec 2022 10:45:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450465.707730; Thu, 01 Dec 2022 10:45:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0h3u-0007He-Az; Thu, 01 Dec 2022 10:45:02 +0000
Received: by outflank-mailman (input) for mailman id 450465;
 Thu, 01 Dec 2022 10:45:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zfJQ=37=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p0h3t-0007HY-Lo
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 10:45:01 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 53e0ea10-7164-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 11:38:43 +0100 (CET)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 9AF9021B27;
 Thu,  1 Dec 2022 10:44:59 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 471C913503;
 Thu,  1 Dec 2022 10:44:59 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id oSUDEKuFiGNiNwAAGKfGzw
 (envelope-from <jgross@suse.com>); Thu, 01 Dec 2022 10:44:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53e0ea10-7164-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1669891499; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=qS2iWo3Dm0EH0lW3qnO4e9iCFHISqZEp7xZkXbK4Ifo=;
	b=NxaTt0/uhsTJ+bqe1XRnAvMqc7Sqt9vLAdtz2XVCd/Wsi266oNTs9NXcaUqfNebGvhRnh9
	ddDPaNQ1fiHoH/D/V2A9VF8N7cxzLH3WaM6jbpJlSLi82kKsuVj4DmPFFd7d62/apPfVDx
	DcHINiSGoUthBejRH8Yj4bSwwOHD4XQ=
Message-ID: <82bdfded-6271-d262-136d-57b4b1a92a9b@suse.com>
Date: Thu, 1 Dec 2022 11:44:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH v1 5/5] CODING_STYLE: add .clang-format
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Edwin Torok <edvin.torok@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Jan Beulich
 <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
 <7e6b8e69-70d2-8178-205d-8c20b993162d@xen.org>
 <7DF6F06F-A65A-4F1F-8FDA-BF0E8977F99B@citrix.com>
 <c3af2730-d503-e139-644a-480a506c94d1@xen.org>
 <99df302d-8bc5-55a7-a97e-dcc8eee41d2c@suse.com>
 <3e6e6948-7852-751e-a025-9fe36e9cfb82@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <3e6e6948-7852-751e-a025-9fe36e9cfb82@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------A0Spg86BgRfTdvBXfirFGLXA"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------A0Spg86BgRfTdvBXfirFGLXA
Content-Type: multipart/mixed; boundary="------------5yJvw7LrS2Z6Jce1vaaglkJq";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, Edwin Torok <edvin.torok@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Jan Beulich
 <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
Message-ID: <82bdfded-6271-d262-136d-57b4b1a92a9b@suse.com>
Subject: Re: [PATCH v1 5/5] CODING_STYLE: add .clang-format
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
 <7e6b8e69-70d2-8178-205d-8c20b993162d@xen.org>
 <7DF6F06F-A65A-4F1F-8FDA-BF0E8977F99B@citrix.com>
 <c3af2730-d503-e139-644a-480a506c94d1@xen.org>
 <99df302d-8bc5-55a7-a97e-dcc8eee41d2c@suse.com>
 <3e6e6948-7852-751e-a025-9fe36e9cfb82@xen.org>
In-Reply-To: <3e6e6948-7852-751e-a025-9fe36e9cfb82@xen.org>

--------------5yJvw7LrS2Z6Jce1vaaglkJq
Content-Type: multipart/mixed; boundary="------------veVD2lusvReEq73e9YRDdLXn"

--------------veVD2lusvReEq73e9YRDdLXn
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDEuMTIuMjIgMTE6MTIsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gDQo+IA0KPiBPbiAw
MS8xMi8yMDIyIDEwOjA4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMDEuMTIuMjIg
MTA6MzEsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4+PiAoKyBBIGZldyBwZW9wbGUpDQo+Pj4N
Cj4+PiBPbiAwMS8xMi8yMDIyIDA5OjIxLCBFZHdpbiBUb3JvayB3cm90ZToNCj4+Pj4NCj4+
Pj4NCj4+Pj4+IE9uIDEgRGVjIDIwMjIsIGF0IDA5OjExLCBKdWxpZW4gR3JhbGwgPGp1bGll
bkB4ZW4ub3JnPiB3cm90ZToNCj4+Pj4+DQo+Pj4+PiBIaSBFZHdpbiwNCj4+Pj4+DQo+Pj4+
PiBUaGUgdGl0bGUgc2hvdWxkIGhhdmUgIk9DYW1sIiB0byBjbGFyaWZ5IHRoYXQgLmNsYW5n
LWZvcm1hdCBpcyBub3QgYWRkZWQgYXQgDQo+Pj4+PiB0aGUgcm9vdCBsZXZlbC4NCj4+Pj4+
DQo+Pj4+DQo+Pj4+IFN1cmUsIEknbGwgdXBkYXRlIHRoYXQgd2hlbiBJIHJlc2VuZC4NCj4+
Pj4NCj4+Pj4+IE9uIDMwLzExLzIwMjIgMTc6MzIsIEVkd2luIFTDtnLDtmsgd3JvdGU6DQo+
Pj4+Pj4gQWRkIGEgLmNsYW5nLWZvcm1hdCBjb25maWd1cmF0aW9uIHRoYXQgdHJpZXMgdG8g
bWF0Y2ggQ09ESU5HX1NUWUxFIHdoZXJlDQo+Pj4+Pj4gcG9zc2libGUuDQo+Pj4+Pj4gSSB3
YXMgbm90IGFibGUgdG8gZXhwcmVzcyB0aGUgc3BlY2lhbCBjYXNpbmcgb2YgYnJhY2VzIGFm
dGVyICdkbycNCj4+Pj4+PiB0aG91Z2gsIHRoaXMgY2FuIG9ubHkgYmUgY29udHJvbGxlZCBn
ZW5lcmFsbHkgZm9yIGFsbCBjb250cm9sDQo+Pj4+Pj4gc3RhdGVtZW50cy4NCj4+Pj4+PiBJ
dCBpcyBpbXBlcmZlY3QsIGJ1dCBzaG91bGQgYmUgYmV0dGVyIHRoYW4gdGhlIGV4aXN0aW5n
IGJpbmRpbmdzLCB3aGljaA0KPj4+Pj4+IGRvIG5vdCBmb2xsb3cgWGVuIGNvZGluZyBzdHls
ZS4NCj4+Pj4+DQo+Pj4+PiBSaWdodCwgZnJvbSBwcmV2aW91cyBkaXNjdXNzaW9uLCBJIHdh
cyB1bmRlciB0aGUgaW1wcmVzc2lvbiB0aGF0IGl0IA0KPj4+Pj4gcmVxdWlyZXMgc29tZSB3
b3JrIHRvIHdyaXRlIGEgY2xhbmctZm9ybWF0IGZpbGUgZm9yIFhlbi4NCj4+Pj4+DQo+Pj4+
PiBJIGFtIGhvcGVmdWwgdGhhdCBzb21lIGRheSB3ZSB3aWxsIGhhdmUgYSBwcm9wZXIgb25l
LiBJbiBmYWN0LCB3ZSBoYXZlIGJlZW4gDQo+Pj4+PiBkaXNjdXNzaW5nIGFib3V0IHRoaXMg
YXMgcGFydCBvZiBNSVNSQSAoKyBTdGVmYW5vKS4NCj4+Pj4+DQo+Pj4+Pj4gQWRkIHRoaXMg
dG8gdG9vbHMvb2NhbWwgZmlyc3QgYmVjYXVzZToNCj4+Pj4+PiAqIHRoZXJlIGFyZSByZWxh
dGl2ZWx5IGZldyBDIGZpbGVzIGhlcmUsIGFuZCBpdCBpcyBhIGdvb2QgcGxhY2UgdG8gc3Rh
cnQgd2l0aA0KPj4+Pj4+ICogaXQnZCBiZSB1c2VmdWwgdG8gbWFrZSB0aGVzZSBmb2xsb3cg
WGVuJ3MgQ09ESU5HX1NUWUxFDQo+Pj4+Pj4gKHdoaWNoIHRoZXkgY3VycmVudGx5IGRvIG5v
dCBiZWNhdXNlIHRoZXkgdXNlIHRhYnMgZm9yIGV4YW1wbGUpDQo+Pj4+Pj4gKiB0aGV5IGNo
YW5nZSByZWxhdGl2ZWx5IGluZnJlcXVlbnRseSwgc28gc2hvdWxkbid0IGNhdXNlIGlzc3Vl
cyB3aXRoDQo+Pj4+Pj4gwqDCoCBiYWNrcG9ydGluZyBzZWN1cml0eSBmaXhlcyAoY291bGQg
ZWl0aGVyIGJhY2twb3J0IHRoZSByZWluZGVudGF0aW9uDQo+Pj4+Pj4gwqDCoCBwYXRjaCB0
b28sIG9yIHVzZSBnaXQgY2hlcnJ5LXBpY2sgd2l0aCBgLVhpZ25vcmUtc3BhY2UtY2hhbmdl
YCkNCj4+Pj4+PiBPbmNlIHRoaXMgaXMgdXNlZCBpdCdsbCBuZWVkIGluc2VydGluZyBzb21l
ICcjaW5jbHVkZSA8c3RkaW50Lmg+JywgDQo+Pj4+Pj4gb3RoZXJ3aXNlIHhzX3dpcmUuaA0K
Pj4+Pj4+IGZhaWxzIHRvIGNvbXBpbGUgZHVlIHRvIHRoZSBtaXNzaW5nIHVpbnQzMl90IGRl
ZmluZS4NCj4+Pj4+DQo+Pj4+PiBBdCBmaXJzdCBJIHdhcyBhIGJpdCBjb25jZXJuZWQgd2l0
aCB0aGlzIHBhcmFncmFwaCBiZWNhdXNlIGEgY29kaW5nIHN0eWxlIA0KPj4+Pj4gc2hvdWxk
IG5vdCBpbXBhY3QgY29tcGlsYXRpb24uIEJ1dCBJIGd1ZXNzIHRoYXQncyBiZWNhdXNlIHRo
ZSBmb3JtYXQgd2lsbCANCj4+Pj4+IGNvbnZlcnQgdTMyIHRvIHVpbnQzMl90LiBJcyB0aGF0
IGNvcnJlY3Q/DQo+Pj4+Pg0KPj4+Pj4gSWYgc28sIEkgd291bGQgZXhwYW5kIHRoZSBwYXJh
Z3JhcGggdG8gZXhwbGljaXQgc2F5IHRoYXQsIHBlciB0aGUgY29kaW5nIA0KPj4+Pj4gc3R5
ZWwsIHUzMiB3aWxsIGJlIGNvbnZlcnRlZCB0byB1aW50MzJfdC4NCj4+Pj4NCj4+Pj4NCj4+
Pj4gY2xhbmctZm9ybWF0IHJlYXJyYW5nZXMgdGhlIG9yZGVyIG9mICcjaW5jbHVkZScgaW4g
QyBmaWxlcywgaXQgc2hvdWxkbid0IA0KPj4+PiBjb252ZXJ0IHR5cGVzLg0KPj4+PiBCdXQg
cmVhcnJhbmdpbmcgKHNvcnRpbmcpIGluY2x1ZGVzIGNhbiBzb21ldGltZXMgcmV2ZWFsIGJ1
Z3Mgd2hlcmUgdGhlIGNvZGUgDQo+Pj4+IG9ubHkgaGFwcGVuZWQgdG8gY29tcGlsZSBiZWNh
dXNlIHRoZSBpbmNsdWRlcyB3ZXJlIGRvbmUgaW4gYSBjZXJ0YWluIG9yZGVyDQo+Pj4+IChl
LmcuIHdlIGluY2x1ZGVkIHNvbWV0aGluZyB0aGF0IGluY2x1ZGVkIHN0ZGludC5oLCB0aGVy
ZWZvcmUgdGhlIG5leHQgDQo+Pj4+IGluY2x1ZGUgbGluZSB3b3JrZWQsIGJ1dCBpZiB5b3Ug
c3dhcCB0aGUgaW5jbHVkZSBvcmRlciB0aGF0IG5vIGxvbmdlciANCj4+Pj4gd29ya3MpLCBp
LmUuOg0KPj4+Pg0KPj4+PiAjaW5jbHVkZSAiYy5oIg0KPj4+PiAjaW5jbHVkZSAiYi5oIg0K
Pj4+Pg0KPj4+PiB2cw0KPj4+Pg0KPj4+PiAvKiBwb3N0IGZvcm1hdHRpbmcgKi8NCj4+Pj4g
I2luY2x1ZGUgImIuaCINCj4+Pj4gI2luY2x1ZGUgImMuaCINCj4+Pj4NCj4+Pj4gV2hlcmUg
Yy5oIGluY2x1ZGVzIGEuaCwgYW5kIGIuaCBkZXBlbmRzIG9uIGRlY2xhcmF0aW9ucyBmcm9t
IGEuaCwgdGhlbiBwcmlvciANCj4+Pj4gdG8gcmVmb3JtYXQgdGhlIGNvZGUgY29tcGlsZXMs
IGFuZCBhZnRlcndhcmRzIGl0IGRvZXNuJ3QuDQo+Pj4gVGhhbmtzIGZvciB0aGUgZGV0YWls
ZWQgaW5mb3JtYXRpb24sIEkgdGhpbmsgc29tZSBvZiBpdCBuZWVkcyB0byBiZSANCj4+PiBz
dW1tYXJpemVkIGluIHRoZSBjb21tbWl0IG1lc3NhZ2UuDQo+Pj4NCj4+Pj4NCj4+Pj4gV2hp
Y2ggY2FuIGJlIGZpeGVkIGJ5IGFkZGluZyB0aGlzIHRvIHRoZSBDIGZpbGUgKGFuZCB0aGVu
IHJlZ2FyZGxlc3Mgb2YgDQo+Pj4+IGluY2x1ZGUgb3JkZXIgb2YgdGhlIG90aGVyIDIgaXQg
Y29tcGlsZXMpOg0KPj4+PiAjaW5jbHVkZSA8YS5oPg0KPj4+IFRoaXMgd291bGQgbm90IHdv
cmsgaWYgdGhlIGZpbGUgd2VyZSBjYWxsZWQgImQuaCIgcmF0aGVyIHRoYW4gImEuaCIgYmVj
YXVzZSANCj4+PiB0aGUgY2xhbmcgZm9ybWF0IHdvdWxkIHJlLW9yZGVyIGl0LiBTby4uLg0K
Pj4+DQo+Pj4+DQo+Pj4+IE9yIGJ5IGZpeGluZyBiLmggdG8gaW5jbHVkZSBhLmggaXRzZWxm
IGl0IGl0IGRlcGVuZHMgb24gaXQuDQo+Pj4NCj4+PiAuLi4gdGhpcyBpcyB0aGUgcHJvcGVy
IHdheSB0byBmaXggaXQuDQo+Pj4NCj4+Pj4NCj4+Pj4gUGVyaGFwcyB0aGlzJ2QgYmV0dGVy
IGJlIGZpeGVkIGluIHhzX3dpcmUuaCBpdHNlbGYgdG8gaW5jbHVkZSBhbGwgaXRzIA0KPj4+
PiBkZXBlbmRlbmNpZXMsIGJ1dCB0aGF0IGlzIGEgcHVibGljbHkgaW5zdGFsbGVkIGhlYWRl
ciwgYW5kIHRoZXJlIG1pZ2h0IGJlIGEgDQo+Pj4+IHJlYXNvbiB3aHkgaXQgZG9lc24ndCBp
bmNsdWRlIHN0ZGludC5oLg0KPj4+DQo+Pj4gSSBhbSBub3QgYXdhcmUgb2YgYW55IHJlc3Ry
aWN0aW9ucyBhbmQgYXQgbGVhc3Qgb25lIHB1YmxpYyBoZWFkZXJzIGFscmVhZHkgDQo+Pj4g
aW5jbHVkZSA8c3RkaW50Lmg+LiBJIGFtIENDZWQgYSBmZXcgbW9yZSBwZW9wbGUgdG8gZ2V0
IGFuIG9waW5pb24uDQo+Pg0KPj4gSSBkb24ndCB0aGluayB4c193aXJlLmggc2hvdWxkIGlu
Y2x1ZGUgc3RkaW50LmguIFRoaXMgd2lsbCByZXN1bHQgaW4gYSBjb25mbGljdA0KPj4gZS5n
LiBpbiB0aGUgTGludXgga2VybmVsLg0KPiANCj4gQUZBSVUsIExpbnV4IGhhcyBpdHMgb3du
IGNvcHkgb2YgdGhlIGhlYWRlcnMuIElzIHRoYXQgY29ycmVjdD8NCg0KWWVzLg0KDQo+IA0K
Pj4NCj4+IFdlIG1pZ2h0IHdhbnQgdG8gYWRkIGEgY29tbWVudCB0byB4c193aXJlLmggbGlr
ZSB0aGUgb25lIGluIHJpbmcuaCBpbiBvcmRlciB0bw0KPj4gZG9jdW1lbnQgdGhlIHJlcXVp
cmVtZW50IG9mIHRoZSB0eXBlIGRlZmluaXRpb24gb2YgdWludDMyX3QuDQo+IA0KPiBUaGUg
cHJvYmxlbSB3aXRoIHRoaXMgYXBwcm9hY2ggaXMgeW91IG1hZGUgbW9yZSBkaWZmaWN1bHQg
Zm9yIGFueSB1c2Vyc3BhY2UgDQo+IGFwcGxpY2F0aW9uIHRvIHVzZSB0aGUgaGVhZGVycy4g
U28gSSB3b3VsZCBhcmd1ZSB0aGF0IHRoZSBMaW51eCBjb3B5IGNhbiByZW1vdmUgDQo+ICJz
dGRpbnQuaCIgaWYgbmVlZGVkLg0KDQpUb2RheSB0aGVyZSBpcyBleGFjdGx5IG9uZSBwdWJs
aWMgaGVhZGVyIGluY2x1ZGluZyBzdGRpbnQuaCwgYW5kIEknZCBhcmd1ZQ0KdGhhdCB0aGlz
IHdhcyBhIG1pc3Rha2UuDQoNCnhzX3dpcmUuaCBpcyBlc3BlY2lhbGx5IHJhdGhlciB1bmlu
dGVyZXN0aW5nIGZvciBhbnkgdXNlciBzcGFjZSBhcHBsaWNhdGlvbg0KYnV0IGEgWGVuc3Rv
cmUgaW1wbGVtZW50YXRpb24uIEFsbCBjb25zdW1lcnMgb2YgeHNfd2lyZS5oIGFyZSBwcm9i
YWJseQ0KZWl0aGVyIGluIHRoZSBYZW4gdHJlZSwgb3Igb3BlcmF0aW5nIHN5c3RlbSBrZXJu
ZWxzLiBVc2VyIHNwYWNlIGFwcGxpY2F0aW9ucw0Kc2hvdWxkIHVzZSBsaWJ4ZW5zdG9yZSBm
b3IgYWNjZXNzaW5nIHRoZSBYZW5zdG9yZSwgc28gSSBkb24ndCBzZWUgYW4NCmFkdmFudGFn
ZSBpbiBicmVha2luZyB0aGUgdXN1YWwgcGhpbG9zb3BoeSBvZiB0aGUgWGVuIHB1YmxpYyBo
ZWFkZXJzIE5PVA0KaW5jbHVkaW5nIGV4dGVybmFsIGhlYWRlcnMgbGlrZSBzdGRpbnQuaC4N
Cg0KDQpKdWVyZ2VuDQo=
--------------veVD2lusvReEq73e9YRDdLXn
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------veVD2lusvReEq73e9YRDdLXn--

--------------5yJvw7LrS2Z6Jce1vaaglkJq--

--------------A0Spg86BgRfTdvBXfirFGLXA
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOIhaoFAwAAAAAACgkQsN6d1ii/Ey+1
4gf/VrYVOT8RxDN8WnRqXZBfiwqE+jUc6aTgcK/7BAn11W5kCsXe021aekhF3BquQZzk2NqOkIkk
vV6Ev57li+ypv8xjg1HrFuKMIeW0d0wnu9Kr49fQihHW8kAC0aIgQc8kACm1h3Bry8AE8gsOEbMN
DvuOJgM0oGIbBPZUXvv3uZpTdcV1xlSVc7uwaVEyz+e2dzoltPv+Td3L/sh5NToyg9KwYwp+FGLN
OUkkCZo/T0ooPjyyhIO5T6oaYtRTaSPEDM7T6HkO1dBdxGvQwTcB/GMCmR2KFcrEovRzSRl5Cuev
pPUDjueHXvZ8+NqBTwTTb+U4l8X1Ps1D2j6tpKAiNA==
=SdOG
-----END PGP SIGNATURE-----

--------------A0Spg86BgRfTdvBXfirFGLXA--


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 10:47:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 10:47:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450475.707752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0h6k-0008RY-6L; Thu, 01 Dec 2022 10:47:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450475.707752; Thu, 01 Dec 2022 10:47:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0h6k-0008RR-2i; Thu, 01 Dec 2022 10:47:58 +0000
Received: by outflank-mailman (input) for mailman id 450475;
 Thu, 01 Dec 2022 10:47:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0h6i-0008RJ-La
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 10:47:56 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0h6i-000635-Jk
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 10:47:56 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.7.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0h6i-0000YV-CZ; Thu, 01 Dec 2022 10:47:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=DEAF1xPv9xHDPshhCwfLeBeP27EoEPRKAeRyuOJ+J/A=; b=OPeS4fDMQr5Nf3UJy4GRUBEa6b
	ey5oCikijTTgUgPAsK3xaix2BA2AHbmMqPOJJckb8c8s9nJtHmBMQfTUbwFpBxNINElZbbRWpN/YB
	G8FgnhaztPHDu54tjseBwOvJ1JXQtxKZB0jhWaM/yuM1Nbw27hxA85scoDAouLn+toH4=;
Message-ID: <6a5af398-270b-f57c-091c-78ebea8630ec@xen.org>
Date: Thu, 1 Dec 2022 10:47:53 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH v1 5/5] CODING_STYLE: add .clang-format
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, Edwin Torok <edvin.torok@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Jan Beulich
 <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
 <7e6b8e69-70d2-8178-205d-8c20b993162d@xen.org>
 <7DF6F06F-A65A-4F1F-8FDA-BF0E8977F99B@citrix.com>
 <c3af2730-d503-e139-644a-480a506c94d1@xen.org>
 <99df302d-8bc5-55a7-a97e-dcc8eee41d2c@suse.com>
 <3e6e6948-7852-751e-a025-9fe36e9cfb82@xen.org>
 <82bdfded-6271-d262-136d-57b4b1a92a9b@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <82bdfded-6271-d262-136d-57b4b1a92a9b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 01/12/2022 10:44, Juergen Gross wrote:
> On 01.12.22 11:12, Julien Grall wrote:
>>> We might want to add a comment to xs_wire.h like the one in ring.h in 
>>> order to
>>> document the requirement of the type definition of uint32_t.
>>
>> The problem with this approach is you made more difficult for any 
>> userspace application to use the headers. So I would argue that the 
>> Linux copy can remove "stdint.h" if needed.
> 
> Today there is exactly one public header including stdint.h, and I'd argue
> that this was a mistake.
> 
> xs_wire.h is especially rather uninteresting for any user space application
> but a Xenstore implementation. All consumers of xs_wire.h are probably
> either in the Xen tree, or operating system kernels. User space 
> applications
> should use libxenstore for accessing the Xenstore, so I don't see an
> advantage in breaking the usual philosophy of the Xen public headers NOT
> including external headers like stdint.h.

I think Edwin example is a pretty good justification for including 
stdint.h.

If you have a coding style requiring to order header alphabetically, 
then the developer may not even be able to include stdint.h without any 
hackery (e.g. introducing a header that will always be before the Xen 
public headers).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 10:49:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 10:49:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450479.707762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0h7k-0000a7-H9; Thu, 01 Dec 2022 10:49:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450479.707762; Thu, 01 Dec 2022 10:49:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0h7k-0000a0-EH; Thu, 01 Dec 2022 10:49:00 +0000
Received: by outflank-mailman (input) for mailman id 450479;
 Thu, 01 Dec 2022 10:48:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jPp1=37=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p0h7i-0000ZW-Dc
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 10:48:58 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dfb455f9-7164-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 11:42:38 +0100 (CET)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM8PR08MB5555.eurprd08.prod.outlook.com (2603:10a6:20b:1d3::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 10:48:53 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%9]) with mapi id 15.20.5880.008; Thu, 1 Dec 2022
 10:48:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfb455f9-7164-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jM6SHU9xGLfbm2E7j9Z/uqiM5SET+FjdVPMYa3163rZP5g3rImTMk0jppgYZ6tnetLWWwhFN7ya/JGcQ8Tk3+IqtmCC3rUb9PnYjZFkpFRyBJGjjzIuyxi8MTtjx/HYhxJVZJ1EAHM8r5o00dxNjYOaG9dHIQD7R5OFdG9NssCb45C54a0HR4rmmvWye+AhqigkqlkBiHwH1h7kE9u9DlRsu8LQPU5/MsCzqOhrJv5VcxgGH3+S1SARVH86JQ0vhVC1XTyNC6dufcLJqs8Qqyz+y6V0QXe5JnUsIoQSB0Ri3bUYscJYpcWNZq0EWkx8gsvretuWhGUunuhb2kLmUxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nJgbn/OfsoSxZLP08cdFBMVko5YHIMUG/63e/pLLhEs=;
 b=CmXBLpGIRQjeUBqT1tIPLSGRiSKdAHQTv99TDC3J1WTFMWbH0TNW0b72rQOzIiHlgLoNbccYToteDOeW9NpIY9pE+sn/+RtUw5VMCSanEHFZgxl/ae2ESHMB4+iXBE7xuiG6JTPQ1VAs5M5/ta1+Q8PuM4NIhgUSrEhCfu+WXkhtE4AZ/8ClHrFBJPDTcuGeLKnRBasKYXsz3z/ty2jUNqYDt8CgGkHYIZyIQ67Fzh5ZYizqVh0+PP/5alzD3+I35xC9Xy74cyBYd0Gqkob8ennOBJ009Svae0zZE7XUc5HCM1ecCBHtlCk5fT4ZPrbphEDlTaSbvAKk8zCce7ajYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nJgbn/OfsoSxZLP08cdFBMVko5YHIMUG/63e/pLLhEs=;
 b=RlJczsZCH4QPu0icC5C2I/lDgW1k5AYYpS1idK1AybcsNphL1L9OeUpaRfKagghG8PM0zjExbuQ9WjXibdBDdx5lVnx2lJAAvzqonjxIOGN15B/hzrTgXE3h9tgQJB16ggQObS8C+x0Iu8qF7Ax/34kqNa0McuX25rE0+upAgSY=
From: Henry Wang <Henry.Wang@arm.com>
To: Jan Beulich <jbeulich@suse.com>, Anthony PERARD
	<anthony.perard@citrix.com>
CC: Wei Liu <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>
Subject: RE: [XEN PATCH maybe for-4.17] tools/include: Fix clean and rework
 COPYING for installed Xen public header
Thread-Topic: [XEN PATCH maybe for-4.17] tools/include: Fix clean and rework
 COPYING for installed Xen public header
Thread-Index: AQHZACPfEf1QBbGukEOhjAs3RngERq5PYGEAgAmEPHA=
Date: Thu, 1 Dec 2022 10:48:52 +0000
Message-ID:
 <AS8PR08MB79916C4575526E489AEA11B592149@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20221124164254.33476-1-anthony.perard@citrix.com>
 <c84ff394-cb16-937a-c2dc-d535d3887f4b@suse.com>
In-Reply-To: <c84ff394-cb16-937a-c2dc-d535d3887f4b@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: D00247993EFB664ABA2500F888E346FC.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|AM8PR08MB5555:EE_
x-ms-office365-filtering-correlation-id: bcbbefeb-868a-4137-1045-08dad389a346
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 RGKq+d9e9gszWiQ5eVoE34Cl5G6qM8pIDotDgbTgMxtHruRhlwGlmGA2pkgu4cVwxGSHOI+1FxKIcmm5ZAVcSTAosXS2kRrUpylELUuao/U4CfFiMDvuMSSstnn6uCfSl8a9BsvMbnK3U/qKmh8G/TAIVmPnONN7n2gGpRZjd9BZAsAoFitcczC6wIF/N+03DswnxGihzDnKJAkKBdOMuF+t57TbiYHGG6y73ko65JGPOqqaHhub4lX+pCxCFSd2j8hj1CBXc/s/c7zAi86fZy5HGaC9tXlCyRIUL45Kq54xxcXbKLWuPorswutTl7Jew9X0eJeIQ0N/Ra/ljrkxIpVM3aTzz47Er0QbPWC2AeR85CkTZWHN8S+9nSyo4hoFroplNHjeAaip9oUirNF8aYUp+0zP3ZsaQgWUUmDwVjW9II1RDMItZYw2oqUzRqnW4sFvVK7rsg7PEd9TUH2Ud3BYfYiUgf4spx2yJlT2ZYrqRTiDE776DRvB4wTMq8JfuVshcilvwySOasHXc+AIJ+WsR7/enYaHMK8jKoCzk6F/rk6zVN5hsCQB7RY0RULLRVnSHXmTZAPflDdyHM3FLUSgVbcDXqbDZicm+EK8rR1/A9EIKzNRobxLmKoytlXVSLF31whH6ActQIWDy96/Z+ulXFqxR09dXMQruJncPg7hW7IbkEnDPs/8ROSlIMX2XTlkThfSypo3rcDdxoqwh8T/GsFmifP/Py+lFyfU/PvZrRS7koIbc1IfI0wdHehS
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(39860400002)(396003)(376002)(136003)(366004)(451199015)(186003)(9686003)(7696005)(122000001)(5660300002)(86362001)(4744005)(64756008)(66476007)(66946007)(26005)(66446008)(66556008)(38070700005)(33656002)(8676002)(6506007)(55016003)(38100700002)(52536014)(8936002)(53546011)(478600001)(83380400001)(71200400001)(4326008)(54906003)(41300700001)(76116006)(2906002)(316002)(110136005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Y3QwY1BnQzFUR0ovd0FnSllseWR2S2NIaU02ckl4YmpVWmRMOHN6VVJqY1N6?=
 =?utf-8?B?bUxTd29mZnRIRFdWVnloVVV1OFZOYWNDYXErVGpORDhzQUoxWDdCZ25VM2JZ?=
 =?utf-8?B?a0tVTDRUdWkrUlNIQWo0cG83K2lXWlFpZnJCMHR3S3JXZjJxNjBOSFZmWWYw?=
 =?utf-8?B?T0R6Uks0dExFOTJRRE9zQTYybFdLOWZMeHJQemYvZERHOTd2VnJKNTdGdk0y?=
 =?utf-8?B?YzBaaGwvd3ROcHF1Y21EbXhsTTljTHVOR0Zsc2xlb1J1YnprNGM4UDZ2c0tS?=
 =?utf-8?B?ZVNaazlsM2p1WUhZMEZMQzlHM3JmWGhwWEszc1J1YTdzSVA3U1hqSkJVdjZD?=
 =?utf-8?B?V1lGSlBiZkIyRG1JSit4ZUNpQi91WGZyNExDdGdETkhsV1Bjb2pnbGloRDJl?=
 =?utf-8?B?aU5JU3pJcUN3TlRmM1JZM1YwWFZtNkMvSTdIalNRcGRlTTN3b2w0eXFQM0tH?=
 =?utf-8?B?ai9ac0NIemFFQVI3SncrYWtReGFDT2lCSS9VZXJlc1dxY0RtSFFqZngyZi8x?=
 =?utf-8?B?TjllSnNjKzBOZmhiWmhIV1NoQTBFd2g2YklHeThEL1VqTlhrcXZOTSs0UWRS?=
 =?utf-8?B?YmE0dXEvTnBOb1ZmUVk2SGdYZ283VVJWdUNvU2pVLzVFajQ5YitBQlJac2l3?=
 =?utf-8?B?MWhCVFU1OVpCVlZiRGhlSGFaUUFSVEQ0VWRSeHRpKzgzZlVzRDdTQWthSGNO?=
 =?utf-8?B?M012WlpyUjIvU21EL0t3OUN6ckdTVUJ5QXlkSkJjWFBTU2RhbjdTZnUwQ3d4?=
 =?utf-8?B?UUVMN28zNG4zSEV3SE1GR2Rmb1Njc2x3eVcvRUxnMWtzSnhPR2t1RzVtcEJC?=
 =?utf-8?B?UEJUYmhVc2kyU3RaQzZVT1QxNGc5djV2T25iWWFhenBFbUY3ZHFVVU1jK2tB?=
 =?utf-8?B?R2c5dDRjeGI4ZG1ZSEZxTzYrMlJiU0xuaEQ3SmRrNXN3dmpzdG4vNWpHazQ2?=
 =?utf-8?B?Z1NDenNiNG5DbERZQVEyOTFlVm13cG40WmNwZWZFeGdjcFptTEhHeFNLOGZP?=
 =?utf-8?B?bjB2dDdNcW1lU3lNUktla0h3MmsycndpQThsTzN3MGhmMnV2djJoK3Zhcnk3?=
 =?utf-8?B?RHluS0RGeUhZV3pwVmNnWWlDMDFDczk2SmRUaXJYaUlTc1pmTHNkb2xRWERX?=
 =?utf-8?B?Sk5Xb21GdUhJU1ZBV1ljM29pdUlmWFhqN0ZidkRvMVcrdDRENUhKK29XSXRI?=
 =?utf-8?B?WUVHMGxrc1FFYXQ1MEdGMVBxbzhHTE5DVm9lTEVOMmNGTUhiNHFIUGdvMTIr?=
 =?utf-8?B?M3hxcUpuMmlocnBFMkpTMnZTZWUwVzJKVFZkVldPTy9wejM2NmdqYThGMWtQ?=
 =?utf-8?B?bm5GTUNhYTJ1WmwvMjBwZmZXVEw4ay8zb0RLVHZmVFBFZzZLV0pWL1pvUmRJ?=
 =?utf-8?B?bGQvVVEvSEliOUt4MEhQUXI4TDI3RTdMa1ZtSzhzYXhxSWFsRWwrNTdrVGZ2?=
 =?utf-8?B?TUlWbHlMUERLVm14c1U0V3F4SHBvT0JWWlhESFVkVmZHZTE2RCt2dnE1ajhD?=
 =?utf-8?B?VStycDlqMmpNc2FLdURtZkhxVHBLQzBwZVdQT0hheXFxV1VONlh1TFB1WUhX?=
 =?utf-8?B?QUliOVBldDdmLzhMV2R1RDQyc0ZIb2lDb0w1OHF5RWc1NGNrNCsyV1JDRDhR?=
 =?utf-8?B?L0U3VUdZcE1OaXB2RDNyYnRsdTNXOWM1ZVhYMHZFbVQxT3J5c3Q1SGFSVjcr?=
 =?utf-8?B?bHdrVHZTNnIrd29XeFkvQUdIUzJhVGRCcm5GcGhjaHpCNm1YZFFLLzJYRUk4?=
 =?utf-8?B?WjRBNGxuN2ZXUjQ5d2JmYlJ5RTc0VHB4cHJtM3FsL0FFNS85T3JEK1hmaXBj?=
 =?utf-8?B?NlRldWtiblVEK3ZJeHY3YmR6eGg2Z3djdDRXWklLY0xYSmlrT210eGxVL1Nm?=
 =?utf-8?B?dExjaXREZ1BRTVNZa0VqbUxUTDdieG1mK3JLYlZRVUFpbWZuRVVoWWNzUUFG?=
 =?utf-8?B?bUFKNGxDMzhZQjZmU2tYYlhiQU83VFI0TDhONTRHQVBwbXJiZjRldTJ2TWlL?=
 =?utf-8?B?alByV09yeUpaWmY3K1lPVkRoRm4zb0RwUkNsMmx5QmlJZjlPMlMzaTZHYytN?=
 =?utf-8?B?VFVrbTh5TXpCdWJBaDhnRXpxYldlb2lzdVlzcG05YlpnMHl2cTVFcklON0Jv?=
 =?utf-8?Q?Y3FEVl6DIBEstIJeZfPbIFa8M?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bcbbefeb-868a-4137-1045-08dad389a346
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 10:48:52.9448
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 1Q2JfjpL3f4keSEVg6vE1X54EZzV5cpCf0V63549uOkPl+cIYqWC/ynFqdGAREoR+fUdg5vkIy4azOgSqLKHpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5555

SGkgDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gU3ViamVjdDogUmU6IFtYRU4g
UEFUQ0ggbWF5YmUgZm9yLTQuMTddIHRvb2xzL2luY2x1ZGU6IEZpeCBjbGVhbiBhbmQgcmV3b3Jr
DQo+IENPUFlJTkcgZm9yIGluc3RhbGxlZCBYZW4gcHVibGljIGhlYWRlcg0KPiANCj4gT24gMjQu
MTEuMjAyMiAxNzo0MiwgQW50aG9ueSBQRVJBUkQgd3JvdGU6DQo+ID4gVXNlIGFjdHVhbCBpbmNs
dWRlIGRpcmVjdG9yeSB1c2VkIHRvIGluc3RhbGwgdGhlIHB1YmxpYyBoZWFkZXIgaW4NCj4gPiBD
T1BZSU5HIGZpbGUuDQo+ID4NCj4gPiBBbHNvLCBtb3ZlIHRoZSBpbnB1dCBmaWxlIG91dCBvZiAi
dG9vbHMvaW5jbHVkZS94ZW4vIiBiZWNhdXNlIHRoYXQNCj4gPiBkaXJlY3RvcnkgaXMgcmVtb3Zl
ZCBvbiBgbWFrZSBjbGVhbmAuDQo+ID4NCj4gPiBXZSBjYW4ndCB1c2VkIC4vY29uZmlndXJlIGJl
Y2F1c2UgJGluY2x1ZGVkaXIgY29udGFpbiBhbm90aGVyDQo+ID4gdmFyaWFibGUsIHNvIHRoZSBj
aGFuZ2UgaXMgZG9uZSBpbiBNYWtlZmlsZS4NCj4gPg0KPiA+IEZpeGVzOiA0ZWE3NWU5YTkwNTgg
KCJSZXdvcmsgQ09QWUlORyBpbnN0YWxsZWQgaW4gL3Vzci9pbmNsdWRlL3hlbi8sIGR1ZQ0KPiB0
byBzZXZlcmFsIGxpY2VuY2VzIikNCj4gPiBTaWduZWQtb2ZmLWJ5OiBBbnRob255IFBFUkFSRCA8
YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4NCj4gDQo+IFJldmlld2VkLWJ5OiBKYW4gQmV1bGlj
aCA8amJldWxpY2hAc3VzZS5jb20+DQoNClJlbGVhc2UtYWNrZWQtYnk6IEhlbnJ5IFdhbmcgPEhl
bnJ5LldhbmdAYXJtLmNvbT4NCg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg==


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 10:51:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 10:51:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450489.707774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0h9y-0002LD-2a; Thu, 01 Dec 2022 10:51:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450489.707774; Thu, 01 Dec 2022 10:51:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0h9x-0002L6-VU; Thu, 01 Dec 2022 10:51:17 +0000
Received: by outflank-mailman (input) for mailman id 450489;
 Thu, 01 Dec 2022 10:51:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jPp1=37=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p0h9x-0002Kx-3y
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 10:51:17 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2074.outbound.protection.outlook.com [40.107.13.74])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 33d44a89-7165-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 11:44:59 +0100 (CET)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAVPR08MB8942.eurprd08.prod.outlook.com (2603:10a6:102:320::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 10:50:46 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%9]) with mapi id 15.20.5880.008; Thu, 1 Dec 2022
 10:50:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 33d44a89-7165-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lW/nnohK1x5fbnzUHhXpSDghJ7KvLd7qgGDM0eZlcH7WBoEe/fLpUegAN6gMTas9AFiXtgUdrwuM+ygRyw/o5vcwregDm0v2w1CAu90mqQnTlJYCKIITkTgEJHc6XW8Ca9Y3MjFJhF8JVV8IIva4E+dkP81nCkPTp46i7Tyc/77+OohiLGxzL+R0ZB4azaMYLQHmSIk5YKpsIL/z3ov1wayM2r9CU/a4+2+4Ln74IS/0nVovFBXSsgtFKkRJAqcYI5PLYzZaDUTay/4IpFPNviidubhhtv0E1FLDBDzvn+0OqU5nZ9yRr/YI9NsCxQBxw+NVad8aWVZO7EfLRSf2aw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=au/SVUP37GbPN4KtC4vztrnIPax4n84nmcvzPryxBDQ=;
 b=iY7R9ZusQIleGGbpxrZYv/NTx3p3RZnJgR870VFUA2M9Twh1/hIbKTFfGfBQFbccJ23Z14zf41cyIdb53amu1E86PYvQ2llkEa76UvKWh5KZT+3yNHqHgreHjOP0UgOJ5uI0H/4xjd6yIo+crVdFD3wrkjQyo7hKpV+SKxHWoZLjOK3R3vXUf3xmMViRJoU6AFQE902+y/p4hReezEzx95qmYrgxZ62UDeXXcAQnvrx2vXW+uP/hhA6cIcHpny7loEsNRpstdC3/a9z8jW9Yf6W5JM1/PeGeSYuwnxj4v9IUGEqkD9/NMZ+IfIPRlFl2WVSU4dCPDaJfOeemWBttEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=au/SVUP37GbPN4KtC4vztrnIPax4n84nmcvzPryxBDQ=;
 b=BcuUCvG4UMqAl3wHsXg6K1ZSLE+QpHjgcNkqE0snN2ctmmL6IaLphIOJjnhCBwrVCw+N53t/ZY/K1A2VaaJG6EVNmnoUtjMeEnbwqmW1GbqJsGfMRBeTXnVydTaaJUFhYy9NVT5NfWWMI7e+TclrFcJJeZ4ideHLE1PSWY+uPLE=
From: Henry Wang <Henry.Wang@arm.com>
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>
CC: Julien Grall <jgrall@amazon.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2] process/release-technician-checklist: Explain how the
 banner in README is generated
Thread-Topic: [PATCH v2] process/release-technician-checklist: Explain how the
 banner in README is generated
Thread-Index: AQHZADhFhRdqD5Su4EO+T+vPnuMlg65PXSeAgAmHn8A=
Date: Thu, 1 Dec 2022 10:50:45 +0000
Message-ID:
 <AS8PR08MB7991D653E57C71D2B4D4B0C992149@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20221124190850.35344-1-julien@xen.org>
 <6819d05e-d1ab-fc3e-7795-bac650df3bc4@suse.com>
In-Reply-To: <6819d05e-d1ab-fc3e-7795-bac650df3bc4@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: AC14B4A755B02C48944213DD3C2C820E.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|PAVPR08MB8942:EE_
x-ms-office365-filtering-correlation-id: 1ff6c485-4ef2-4ec7-7a75-08dad389e6a7
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 KZTP2nv8rzsWPN3vzqQfH5DFdAoBu5AC3pPF3DM4K674hBmnylq3N4rIbzFidqOxHnOmiBPWovEBpf9TR24F57QQMPulWAn3/HVQYTKTOy9cDVmxHvHkrs3YXLHLesQMo7MdU2QJQMjiw+M6qWQUiUopsmkpaG3I0x1zpyEmiNA/kBnAj3Wd4u/ZdbYAFt/avcMmLXQxSDhUKcvLSCQx0rxTdB6KxlgPxsSMvG05SbSHxsut0nkCh2kSOgcFnDhKWftkp22+cwCsQEQuL60e7rPdZHF+h58+P1LWymX/uHl6pc28S51xaXdJ2/fz8igMT7TySfOpxObnJPNrzGA4OOalP0LU9L3gDPDDR0Z+SskoldoA85/tbwLMmnVUSuUM9RVgRDKOz6We68INYOfgTdz1Xy1/JUzsCFdxCIAgnBc8xi3tKiwaJK+XNUjYOHMYBUjWNmzlgG2CxphFejXEpKBWqDA51TYo6qOsajbdpV3jNlUbyg7hO/letA1SOtgE58tPMzemXzJQVlwPkSJ4dHB+LVEMPowTHd6peUNAItw9BtCd25nduKqPzbWuYTpPGVOq8v9bKhTZdyPvm7r1E0UskWSLfo7fx2+fmX7gz/M6g5eigLKhGPPlMD17xtXDgCvToC2cSLCYlQX46aXuQXEROxaZnfyO6DIbOmTQ8AgGoSytVahQ1CzeJDXr7fgC8E6seg2tQkOX6RQaEVK06Q==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(396003)(136003)(346002)(366004)(451199015)(9686003)(6506007)(8676002)(26005)(7696005)(53546011)(54906003)(76116006)(66946007)(110136005)(71200400001)(4326008)(66556008)(66476007)(66446008)(64756008)(41300700001)(478600001)(5660300002)(186003)(52536014)(8936002)(83380400001)(2906002)(316002)(86362001)(38070700005)(55016003)(33656002)(122000001)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZzBqQ2Y2Ym5ZV1BXQU02TnMxaTl1YVhIS1NneFgrUHlGM0VneTlPY2o1SkVa?=
 =?utf-8?B?QkxQMXUyVW5QejgrK09yNlVNRVBQT1hLRlZ6eUI4UldtWTFYMndmQ0tncVVx?=
 =?utf-8?B?RU51WDVmR2VjSjJmU3h3ZmI0QWVZYjNxMERISldvOVFoZExpSjF4Z01UNVcy?=
 =?utf-8?B?Z2FwelFiKzVqMHd6UXpzT2NPWHEzTDlZalVpbmpYSHhSYnVjRVd5bm9oRG1I?=
 =?utf-8?B?LytFdVdYQkhTQ0ViakQ4MmNhd1hvTldsc1BsZU1ONjBnb1Yzc3VYVHgwOFRB?=
 =?utf-8?B?NUZwS1RvNllFb21NdDl1K29zQXJjaTNTQkYyR2grNVBSVDg1aGtJemJqeW9J?=
 =?utf-8?B?eVJOc09JZUZaUFYxN3JXaVR1ZWczTEs2RGdidFBmaE1wZE5OTHpXc3h1VEl6?=
 =?utf-8?B?VDhGQ2pReCtlSFJ0aWtqQmduYzk2dnR0VGdzaDN6czROZzRzcFRrUWU1S0to?=
 =?utf-8?B?NWpYTVpaRUtnVFo3ckJCaC95cjE3RmJ3UTJRRmNLeTRjSkZvVGoxcmYvVVNM?=
 =?utf-8?B?ajdEZ0YreUIvZ054U2pWbzNpZUNiT2lKdnE4dlRqRXg3UEl1d2VOKzJvRnpX?=
 =?utf-8?B?dUZHT1J3dWlVS09LWVljUkFORlUzaE1yY1BybER2RlROSDV1Z1p5azVHcHE0?=
 =?utf-8?B?ZFJsTkVFUGNXTlN6VkQxRG55dmNKbjE1UDJwS3BtczlUeVpXRXhxVGRvMXBE?=
 =?utf-8?B?eDY2TjdqTFg2TTNnUHhtODcxUVIvdzRWVGlFN2ZvN0ZWTGNiZ0w0YXN0YTFh?=
 =?utf-8?B?Q0diMUg5QTR3U3k2VEF3WlpUK01kSUlYcXBoSmtORDhHY3pIQlBXcmxVM2dJ?=
 =?utf-8?B?TjdCd0swNW9tYkdzc2todTQwMzhsM1FnWEs4RUNKaTJNSFVUV204OWFoSFNX?=
 =?utf-8?B?eHpqcmRqNDJlYXU1dnc1eXg3TG8xMXY2ZkFRSmxDSUpSYUIzeWxBNjJYOEUz?=
 =?utf-8?B?TWgvOGRwbG1uRGQ5aEZaOFNSUHZDVWVGNXdkM2pjZ2JuQ3RXcjBHek9mRjRn?=
 =?utf-8?B?R2M3TlVhT3AvUzZROGN3RnpKVSsyZnVydUg2QlA3TmJWeG5pY3NOVTB2Z1Rl?=
 =?utf-8?B?d0pRSWM2a0EzVk1QelBsb3Z6MHRSc3MreWxlVTNrQXR2bWFnQVlNTFVSeUY1?=
 =?utf-8?B?M2VqRWE2ekJyMTRKdlg0TS9Kamp6eituLzBnVk96NVFjcHpDeUhHMm9CVjdw?=
 =?utf-8?B?SjFMSDl2MXF1RFpWYTFjcXdDUzFUcm4zdjlGTjR0L212R082dEpCdXhIZ3Jm?=
 =?utf-8?B?aUtIcmhqOFhsN2RIak1sVnJ0Zi8yMktxZW8xMm9GWjFHTENCa3JxK28xcURF?=
 =?utf-8?B?aTk3dnp3SUcyajEzUE9IaG1KSEw0RHlDV2psbFBYNVNsMHBGWEl2dWRVVUwx?=
 =?utf-8?B?bC9WWnFFcTBMNnFYU2Mxa2xNVjJaZkxDU09kK20rcXdFQUxQeWdWVEFtSXFY?=
 =?utf-8?B?bnoxd1FpSHFNNXE3TEg1aUNBc0N3NG1iWkRjMlpMRmFIbmNzSHRqUzBkNjdx?=
 =?utf-8?B?b1BwZDk3eEtrNSt6S0ljeXpaR0R1VGJxdjZORTc5QkVJUnFvSEpaYmpEWDdT?=
 =?utf-8?B?a29oKzRiZEo4S05RSWJmSFlqa3NQOFFRZHljeDNoS2FwYkJ0T3pKVUIwZ1VZ?=
 =?utf-8?B?aXNFTkVEam5uTDFzeUlNSExmVUR0dHJXSFY5NmNIbDJITVFENjBIYkV0MUhS?=
 =?utf-8?B?RVI0TDhaclN5UkxUWFZOY2JzSFRZYnN5ZzJHUDJNZU0zTWxsSm0vTUQzcVN4?=
 =?utf-8?B?cWpyTmpoaTlCZmVybzlVMEMwYnVlTHJ0YVhHRlBkS0tUZmpwNFNiTWVpOFJW?=
 =?utf-8?B?c0xsSm83QlA4a2k2QW1RcS9LOUFZNXRFdHpER1FxeG1CVCtZZUp5enBJbzUw?=
 =?utf-8?B?NDJjOEtKeDdwZ0tVa2xyM2lhclo3bUVhR25rUU0xbUFVMnpUcEpzUW1RdkhM?=
 =?utf-8?B?eVczdWU1eS9LeHNLSmZ1L2h1LzN4ZkJWaHFKN3lVbzA0eXZZMmZmOUFLWHUy?=
 =?utf-8?B?UkIrK0ZzT3B2TmVteGdrcVBnUUlVQTR2bzVvclA0MkNmN2VvUHJaaDMrVU1w?=
 =?utf-8?B?b2dmZkx1MnBTMElLZ1B0ZHlCNXJUNlltZ0Z6VFR3VlFNaExzRks4TDQ1NTlB?=
 =?utf-8?Q?sxfnZsOcli6TgoG0L6tHbXc/m?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ff6c485-4ef2-4ec7-7a75-08dad389e6a7
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 10:50:45.9593
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: mevrFAFtZX8oN5VyBMsOzgC8eQrufHo2s03iwztqIGA28tWwoV1Ojn+F0oCm8UW0F9Ww6yYLgNNnHHM8G7Gi0A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB8942

SGksIA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IFN1YmplY3Q6IFJlOiBbUEFU
Q0ggdjJdIHByb2Nlc3MvcmVsZWFzZS10ZWNobmljaWFuLWNoZWNrbGlzdDogRXhwbGFpbiBob3cg
dGhlDQo+IGJhbm5lciBpbiBSRUFETUUgaXMgZ2VuZXJhdGVkDQo+IA0KPiBPbiAyNC4xMS4yMDIy
IDIwOjA4LCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+ID4gRnJvbTogSnVsaWVuIEdyYWxsIDxqZ3Jh
bGxAYW1hem9uLmNvbT4NCj4gPg0KPiA+IEV4cGxhaW4gaG93IHRoZSBiYW5uZXIgaW4gUkVBRE1F
IGlzIGdlbmVyYXRlZCBhbmQgdGFrZSB0aGUgb3Bwb3J0dW5pdHkNCj4gPiB0byBtZW50aW9uIHdo
YXQgaXQgc2hvdWxkIGxvb2sgbGlrZSBmb3IgUkMuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBK
dWxpZW4gR3JhbGwgPGpncmFsbEBhbWF6b24uY29tPg0KPiANCj4gQWNrZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KUmVsZWFzZS1hY2tlZC1ieTogSGVucnkgV2FuZyA8
SGVucnkuV2FuZ0Bhcm0uY29tPg0KDQpXaXRoIHByb2JhYmx5IEphbidzIGNvbW1lbnQgaW4gLi4u
DQoNCj4gYWxiZWl0IHdpdGggYSBjb3VwbGUgb2Ygbml0czoNCj4gDQo+ID4gLS0tIGEvZG9jcy9w
cm9jZXNzL3JlbGVhc2UtdGVjaG5pY2lhbi1jaGVja2xpc3QudHh0DQo+ID4gKysrIGIvZG9jcy9w
cm9jZXNzL3JlbGVhc2UtdGVjaG5pY2lhbi1jaGVja2xpc3QudHh0DQo+ID4gQEAgLTQ4LDcgKzQ4
LDEyIEBAIHQ9UkVMRUFTRS0kcg0KPiA+DQo+ID4gICogY29uc2lkZXIgYnVtcGluZyBzb25hbWVz
IG9mIHNobGlicw0KPiA+DQo+ID4gLSogY2hhbmdlIHhlbi11bnN0YWJsZSBSRUFETUUgKHNob3Vs
ZCBzYXkgIlhlbiA0LjUiIGluIHJlbGVhc2VzIGFuZCBvbg0KPiBzdGFibGUgYnJhbmNoZXMsICJY
ZW4gNC41LXVuc3RhYmxlIiBvbiB1bnN0YWJsZSkNCj4gPiArKiBjaGFuZ2UgeGVuLXVuc3RhYmxl
IFJFQURNRS4gU2hvdWxkIHNheToNCj4gPiArICAgIC0gIlhlbiA0LjUiIGluIHJlbGVhc2VzIGFu
ZCBvbiBzdGFibGUgYnJhbmNoZXMNCj4gPiArICAgIC0gIlhlbiA0LjUtdW5zdGFibGUiIG9uIHVu
c3RhYmxlDQo+ID4gKyAgICAtICJYZW4gNC41LXJjIiBmb3IgcmVsZWFzZSBjYW5kaWRhdGUNCj4g
PiArDQo+ID4gKyogICBUaGUgYmFubmVyIGlzIGdlbmVyYXRlZCB1c2luZyBmaWdsZXQNCj4gPiAg
KiBjaGFuZ2UgeGVuLXVuc3RhYmxlIENvbmZpZy5taw0KPiANCj4gUGVyaGFwcyBpbnNlcnQgYW5v
dGhlciBibGFuayBsaW5lIGJldHdlZW4gdGhlc2UgdHdvIGJ1bGxldCBwb2ludHM/DQo+IE9yLCBp
ZiB0aGV5J3JlIGRlZW1lZCB0byBiZWxvbmcgdG9nZXRoZXIsIHJlbW92ZSB0aGUgb25lIHlvdSBp
bnNlcnQ/DQo+IA0KPiBUaGUgbmV3IGJ1bGxldCBwb2ludCB5b3UgYWRkIGFsc28gd291bGQgbGlr
ZWx5IHdhbnQgdG8gbWF0Y2ggdGhlDQo+IG90aGVycyBpbiBzdHlsZSwgYm90aCBmb3IgdGhlIG51
bWJlciBvZiBzcGFjZXMgYWZ0ZXIgKiBhbmQgZm9yIG5vdA0KPiB1c2luZyBhIGNhcGl0YWwgZmly
c3QgbGV0dGVyIChtYXliZSAiZ2VuZXJhdGUgYmFubmVyIHVzaW5nIGZpZ2xldCIpLg0KDQouLmhl
cmUgYWRkcmVzc2VkIChjYW4gYmUgZml4IG9uIGNvbW1pdCkuDQoNCktpbmQgcmVnYXJkcywNCkhl
bnJ5DQoNCg0KPiANCj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:11:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:11:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450506.707785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hTb-00056z-36; Thu, 01 Dec 2022 11:11:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450506.707785; Thu, 01 Dec 2022 11:11:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hTa-00056s-Vv; Thu, 01 Dec 2022 11:11:34 +0000
Received: by outflank-mailman (input) for mailman id 450506;
 Thu, 01 Dec 2022 11:11:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+/wf=37=citrix.com=prvs=32775c42f=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p0hTa-00056m-36
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:11:34 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8055db3-7168-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 12:11:31 +0100 (CET)
Received: from mail-dm6nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 06:11:29 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 CH0PR03MB6194.namprd03.prod.outlook.com (2603:10b6:610:d1::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.8; Thu, 1 Dec 2022 11:11:27 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 11:11:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8055db3-7168-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669893091;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=kEs4RlQGVRZ2Ekox37FfiQGXsUgvTwDIi1KQxWXgwdw=;
  b=Ku3slpxUTTpxtAc7eOS92b0cBRBsXRsZY/JdwEeIaeoadlMQi8JBOzTA
   SNqLqbn3qNE55wDAt/SvF/8mQzbrTQc+Gcsw821TLRjvUZeSBsilVer+T
   3/8hLW/q4pxWD9ax/f+eck/n/ZTUOkxhQ/3VEMC1NVSnQ5dQ5LkaVMfxb
   E=;
X-IronPort-RemoteIP: 104.47.58.105
X-IronPort-MID: 86451118
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:bU8WKa7Nq7DL8xNSh4aHYgxRtCbGchMFZxGqfqrLsTDasY5as4F+v
 jEXXjuDPPyOZDChfYpyOty0oUtX6peAzIA1TwY/+H8yHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoT5QeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m7
 vokKDBXNim/n+vvh66VbNtIhZ1gBZy+VG8fkikIITDxK98DGMiGb4CUoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OnEooiOWF3Nn9I7RmQe1enlyZv
 X7H9mK/BhAcON2Q4TGE7mitlqnEmiaTtIc6ROPkq6cz2Q37Kmo7UycUDkeQit6CuGX5ePl+E
 RQY3hoklP1nnKCsZpynN/Gim1aUsxhZV9dOHukS7ACW1rGS8wufHnIDTDNKdJohrsBebTAjy
 FKhhd7iAj1r9rqPRhqgGqy8qDqzPW0ZKDEEbCpdFQ8duYC7/cc0kw7FSctlHOitlNrpFDrsw
 jeM6i8jm7EUis1N3KK+lbzavw+RSlHyZlZdzm3qsqiNt2uVuKbNi1SU1GXm
IronPort-HdrOrdr: A9a23:EpomOquGJkt0/MMauKqNTNr57skDS9V00zEX/kB9WHVpW+eTna
 mV7ZMmPHjP5Ar5OUtOpTnkAsK9qBznm6KdjbNxAV7BZniEhILYFuFfBOLZqlWLdhEWndQtt5
 uIHZIObOHYPBxXitv7/Rn9M/tI+qjgzElwv5a680tQ
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="86451118"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=erdh9yygND+JgG0ujrxUraiTYFzCqQOzlUMJE9YSagoUaSuu71Dt48co6sYMCS7z1S78cSZW+vA3dby7P/M2pszpXR0EwrkW+6w6iUc0djcGEE2kDa90dSqRMVJN1dWPvZEOZT3FL09QO+J/xh7wPhQxlztGAM9wFRLKLCuN8A/FXFY9BYbhDoq3ZIC05pFQ3AXhp9qsYUYp+Mg/uUY9M/2TYFi36Og8tHfBkawL+a9HN8ZaLx27yBE/bsPN6zvAk53uHKdjc5L+h4WuT3ldxZ3i7t7hZK9J2ic7pz2WSp/ZPdrXChndemCCNFPjou/buZ0NOOHI7KuptXPGSZSHhg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kEs4RlQGVRZ2Ekox37FfiQGXsUgvTwDIi1KQxWXgwdw=;
 b=XCtNLhdJ9zzaKNLX7j+qh662nnZEP5z0NMfAdWS8TvIx3OJDPAHYTZDnMT5kyoXPfIsJDJ535Tzxob9ym3s+n6lPEHRU7NiMlkm8z48kcTecCflOfCF0SI7Y2KX81RvRCJk+QZEJ+Tf47DNDiVm5G7cs4dC855STEJ9iglILZFSfqaT9oqsoej538mFOqSTfpABWvKyryO/5g+tlfv4rzCQ6GtHPmQNVfSp4fHWk8/Uo0LdqvhGR0duAPROmmAJMx5BQM2DwGZ9dWnHx7sQ4+xh6iwQ/TCfXlR6IipfkuNqceilP4NyDrIT+VTMzvzoPy+hVaKJ/NtXxvkkbPVHvvg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kEs4RlQGVRZ2Ekox37FfiQGXsUgvTwDIi1KQxWXgwdw=;
 b=u8nacejqw5ULC8OwHUFMHxOAp5/btPYy0VKfEznC6uYvTy72QgphAhwJhdhTcV9Kq2YagdHFwRVPHWviKiXxJdvqIWPAQ4Q5bkxbW7ZW+UHH28OUX32kPX8OWvt8C96kXsBO2NRIUs6qbWIdCCBGaWnqe6HHfkkZCof0UAcF9nE=
From: Christian Lindig <christian.lindig@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Edwin Torok <edvin.torok@citrix.com>, Rob Hoes <Rob.Hoes@citrix.com>
Subject: Re: [PATCH v2 1/6] tools/oxenstored: Style fixes to Domain
Thread-Topic: [PATCH v2 1/6] tools/oxenstored: Style fixes to Domain
Thread-Index: AQHZBNx/vtWsLc9Jpka1I/Yg40Tgkq5Y4ZaA
Date: Thu, 1 Dec 2022 11:11:27 +0000
Message-ID: <7CCC4E5A-F80F-4BC6-A34D-666D579ECAFC@citrix.com>
References: <20221130165455.31125-1-andrew.cooper3@citrix.com>
 <20221130165455.31125-2-andrew.cooper3@citrix.com>
In-Reply-To: <20221130165455.31125-2-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|CH0PR03MB6194:EE_
x-ms-office365-filtering-correlation-id: 381f413d-d36d-4cf8-9420-08dad38ccac0
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 utBqdYdo0QHvGYH6h+DU+B3o1/vMVpfVHhZG92BOCmCIw49pez16tJC2nl0JVOxL8r32N3nJHVAcncl5lmnpgndsk9FH47kBx1iOgV56iDkdQW5ihKiUcM6vzKUzgCitmKj7cwTU6QMrjlZil0I1FD9q4hiGBGkh3Gsl6IqmJw7+p84B5usbkOTxVkbHRhCi2iSzr3rGnwNfLeTMB2BuZ8N08R9J1iyYc8s6HPI0mK+PufeyLtoSCjZuhhH/MvSArQ+SRYbpKo3mkizPv6ea5xMBfH8FCYm/pA8zt3dYrw2b5HXHSiASjgG1uaHgNIR/77VpWuQuZXEogjkeEREAQK84Zwz/HRKWujLgEd0Kz2+ZuI8ie3j/+Vi/lGjBWA3WyXkcc8uCmWjURg/MgPqxrmV2pvH+1iBjOcOY9ovSmY3Fk5H2dw3lPYYCosnlX5DR77zo/4b76wDwfKcsMIAnmf+KDz0GRcF/4wAprsRg+sYM5rqcUZaqijgHNuYk80raWqTzbg+YvAQ9wPgzoUZJBGmWZr3Md1sS+iv8s/KpflgJcvFQY+edIEBXoyfmEVVxmukuGfwDpS1GyGcfQl4ki4e4XdgfXI2O0txOCebAD2a4vgxM8ETmCGAqVS1dJGL3r4FLmCBkDs/SYKLH7k0Q3g6cHFeAqlGRAAKadxwtACfzypXvSGpiqTpDl02HTF3Kurb8SjRkMvfELfn44Qijf/Z/fBRuZwqyCtPC9sCRFkU=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(376002)(346002)(136003)(366004)(451199015)(38070700005)(33656002)(558084003)(82960400001)(38100700002)(36756003)(86362001)(478600001)(316002)(54906003)(6636002)(37006003)(71200400001)(6486002)(91956017)(44832011)(2906002)(6862004)(4326008)(66556008)(64756008)(66476007)(66946007)(8676002)(66446008)(76116006)(41300700001)(8936002)(5660300002)(122000001)(53546011)(6512007)(107886003)(26005)(6506007)(2616005)(186003)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?/SH6wzIh/8KBPPkDGpfp6DvHr0QjHfhEl3bYy194gFUjDlFxy+WPRsPb9DTe?=
 =?us-ascii?Q?qoBs+ioZPEIxvQ1eDlBaqtf4mtwHy87P/n1T+PTlphdBe1i8Oknt9chgfM35?=
 =?us-ascii?Q?sGdqrRNBLrXH8YTA2XlCDFHflafCBAF7HAT83/DSAdr3vw0wSnKP4MYLzoxz?=
 =?us-ascii?Q?bs5Eg0YGPlZpDw61Auuxz++QG7rm180GJXwPEW21kYAIotIOPnxjpoQG8Jjq?=
 =?us-ascii?Q?53EUSds4hkXuCCVXtW1gZqAaxsSNhC4eaIVHO5V3nMVVaKLUQHNQrxAhj8F1?=
 =?us-ascii?Q?fRI+qGg1XgnxZg41MnEna0au/pZ37bpwJIG9niG7Z/n80/vS6FRBE94pDVLj?=
 =?us-ascii?Q?SvlJcD62effo2vjUcCF+wAVlmcXMg1AW1aSMgebQvRlpxSfj9xtdwm2CKZ5d?=
 =?us-ascii?Q?pkMy7ZrjqTpnbyy153yn0Z16hO9m0LKPzlcEu695LmVVS8EgpFbsf9AwwzFx?=
 =?us-ascii?Q?EGSTI7numTubrlJv1uUrSFwezWlVrcpQgg7tAH67JUkr6prlFTs+FF0v4xte?=
 =?us-ascii?Q?8JdCiO485mEHlDnu57XN18rTCmBYTPVsaHxSO7ZAlvJATQXxCbhOjtMsAVRN?=
 =?us-ascii?Q?TmXy3jBHacQBfItQm/wpL5AQxSgeaXpnyGQ47ICLBFGABAu+oOrvgtDOYQdt?=
 =?us-ascii?Q?X/9r9FlmqL4oUuwcsSuRty3U2nRj93Rc8WdkgKm78OZ+xKtBRB3+eHswH+A1?=
 =?us-ascii?Q?AxUZxcU8+sDlHUhY1192+CsZfL5ukkAVcTq5En7NCp7cV9BA64AAq4E13hS/?=
 =?us-ascii?Q?IM2EpvCsIRtUOomwDUuqvuqS63+pHhqrD2aNtz6zUJm58UaoGs4rDQpXzQgt?=
 =?us-ascii?Q?MS+agc+KODDLj59/IK39zcswCpzY/jT7lpSvwuR3VqDoWU0bVpSPRHNNi21B?=
 =?us-ascii?Q?BTxC665GtV+U35nTsxevwlIFoW2KheUe7+S+nDaXdGcGKTH5IZ//JPZJuBnF?=
 =?us-ascii?Q?SmkShl3e0toilQkHiSmnKAGxI0WePqFkBu01dlujHzaHYKgdI9ksYXuhm+L3?=
 =?us-ascii?Q?5+0yBXruRLN4IFB42fa8TQ12AwSYA1ummkX4cPWIapFH0ks1lFsQnOL1Gv99?=
 =?us-ascii?Q?rd2EzJbjHI+jClkG2wNsXtDNLXl9sKc1DFjBAxxnOp6TYZJuDtwDFEGvlJg6?=
 =?us-ascii?Q?QvdyKbOgUboxJGS2gJ7YMedtDbIpbbb0FhLJEVLpzW3d0vDmI4HRXHT/68/M?=
 =?us-ascii?Q?zt5fjR6JY06erg+WfmjulkBUUdCvbdlFMzZZdXu3TOGCXYMU/XllWxApG7Rg?=
 =?us-ascii?Q?E8P0krEqjrJqAAUnSsCKzcAx7BHonmq480c7Is6L10T5KnVx2D3DLakP5N/v?=
 =?us-ascii?Q?Vb5oPwLf25BpzYLPW03+kQbR/+5wVCjf2SHUIZc5Sw3jRFXODhOVBdKcp6Om?=
 =?us-ascii?Q?5ED8lEXpRJ4BEnAZLO7UELRJgcg/IbvQSMfu3/Mb75s04Q1JfQuLcfPUj+Q6?=
 =?us-ascii?Q?b8kYu70btT+9QQD94P9ju3Y98DVhE0pMavqXuTVQxEWDEDYLry67QN+o4fNj?=
 =?us-ascii?Q?Pzl4/cypWyvYX55ZgJLo6ydVqsoxkZpVAVK4WaP1WYz9Ty+Rz2/hFMUxvrX9?=
 =?us-ascii?Q?nim3fnXQtD878+pi/1OMJlKDvoonEeCPjk2FqH31DcXGnkx4VkMqcrrsDdx2?=
 =?us-ascii?Q?yspKM4XM42B7K2qJDUF7E2s=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <4CAFBCDAF1C25743A8D1FFDCFA94FEA7@namprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	97FaZhcN+SNkFxcvNZAOv/VqKJnLleogBjfoCpTmGBxzIsGBrBvXddhibDNSdOCGLLYfKslVyqosxv1J2PT72rnY7smVmni0FAcQMusZLSkC3YmTNlRQyU3D8ibPrf2bFEim2WcMi9LsX2C/p5pXppq6DRgwPbhpnQME0vSgW0QaneUJZz31QbJGqbZk2rwbDwARkKzk6OPUAIBfcEG6wq0lT8pufkupzYRGr5yyZA696w0oVU7t6EtAYZYv807D4gnNMnLUSbdTjEIq7cbnDFLRELmIbGDixE4At0k9pNavXadVuzQHlBsa9uOIiHPApxix6puAx8cL0FEAPKtjqykNWdhALOQrNwqupc6SEQBJVxclweUyBfAJslJcKTP5EmzEBlzZsH4ltTORdjiRDaCHvgCfMn4ixWKgUgXLgNsvtd5kJtJe0eppPn0eSW3WtomJ2PxiK8rdsKm0tzLzw4je3AlTeq4SkT/PGOnZN7CmKAD8oKzEjLbQHvmVm7f6y3UPD0YhUstIJSjX4hqzKKjsmegX33+kQsEiwMTB09HDtWH5Bi7c3gvRIdRpC2RyiuN4P0H6cIudiIWflw8EU0N7mJzY8Bg8WDN2K0/lCK/qfz+J3InD1xK9WHKKuIdoxiwWz2M72hBpByMuJktKE+OuLL/Pc+zmw72VZabKOf7LQMRr2WzUnCSrB7l8vQbfJBxNLyksZbkcruyCOJEkbapJt/LU2F/0nWNnjQyvtqCwrIEql0k6Mo7FYk2vYzasBMBF0Guqpx5XUHU1OZ1oiCj4ADK944/ZJo9aoTDCN6/PNkLpuIG+Tdl+Cl4xO0AS
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 381f413d-d36d-4cf8-9420-08dad38ccac0
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 11:11:27.6222
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: vIdNmkjzNDYchJVnwekgK6T2IEmzqURQfN0sk3psHIRtxJmI0ojFUQjCLB2LeveZTaK/OH1AKolTivmToR8ZJlxYTmLL0dJpWTZkVF9OgGs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6194



> On 30 Nov 2022, at 16:54, Andrew Cooper <Andrew.Cooper3@citrix.com> wrote=
:
>=20
> This file has some style problems so severe that they interfere with the
> readability of the subsequent bugfix patches.
>=20
> Fix these issues ahead of time, to make the subsequent changes more reada=
ble.


Acked-by: Christian Lindig <christian.lindig@citrix.com>



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:17:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:17:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450503.707816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hZ8-0006Hz-N9; Thu, 01 Dec 2022 11:17:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450503.707816; Thu, 01 Dec 2022 11:17:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hZ8-0006G8-DK; Thu, 01 Dec 2022 11:17:18 +0000
Received: by outflank-mailman (input) for mailman id 450503;
 Thu, 01 Dec 2022 11:08:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ED7C=37=chromium.org=ribalda@srs-se1.protection.inumbo.net>)
 id 1p0hR0-0004EZ-13
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:08:54 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a67b819-7168-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 12:08:53 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id n20so3439231ejh.0
 for <xen-devel@lists.xenproject.org>; Thu, 01 Dec 2022 03:08:53 -0800 (PST)
Received: from alco.roam.corp.google.com ([2620:0:1059:10:f554:724a:f89a:73db])
 by smtp.gmail.com with ESMTPSA id
 v17-20020a170906293100b0078e0973d1f5sm1663824ejd.0.2022.12.01.03.08.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 01 Dec 2022 03:08:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a67b819-7168-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=chromium.org; s=google;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:from:to:cc:subject:date:message-id
         :reply-to;
        bh=SFyJfR2WUZBDHeWemxJgoKouNxxtAGHlmHCCEO9QQfg=;
        b=ihhHeh07lyLQ9+bLJAT02xtbEUUwBhwmY6NbvI/an2JMfUbxhGOKl7udb7lLh5mId9
         jw5dKTuvmRP+w2K8ZYng51eJLaluDUotqflfy43/10yqWgw/yG+fgTeB0ukeRPMWa9sh
         dgPYzjd9Y05h6Utm7j5Kxf9v/xCIYLObtVbqg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SFyJfR2WUZBDHeWemxJgoKouNxxtAGHlmHCCEO9QQfg=;
        b=flGJvpQqvdr0T2OxZ+cW+JXWnfCJwN0vyPAVb9k7lPtYp6WI4IKZ2THWqogK6lAMLE
         +t91A0gkpsbCbrR5G2Ar5Eh1iGtknoH/vkYvBCuF+clU5+WqII4gTdIEco77gSIlxsig
         n6ETrchpM2S1eIb0j8lLHSEvgbSF+/4ZF3zd818RSKjcsVbPqzYH5bCiL7PVLWf9QN/f
         ShO8WGX1Gd3BKBGnWxlaI3BhBeHVag8x+CSEdkRLr0sea6IhilV32c+sQOCMJdIoaGyG
         o7cDRH2hy0Cg4wDpAi1Z+tXTncIFswM9GKBj7McVJhSIekj7lQuJz7hdECvzeZNuoZTK
         iKTg==
X-Gm-Message-State: ANoB5pkotkGdPFN7+F+OzhbCUcpF3Y4BYCq5rGCvuzNMesjx0Sx1GjBD
	PwOpl+St+jQ3JwlJo7ZGgpcFMw==
X-Google-Smtp-Source: AA0mqf5n8q8ZMG+bv3DehJEYX5ANkxpTsyIzmCnCUsZmiYp8gdzbFTHhMnsW4dhR0VzoX//sUAQsMg==
X-Received: by 2002:a17:906:7f09:b0:7c0:b3a8:a5f9 with SMTP id d9-20020a1709067f0900b007c0b3a8a5f9mr1338546ejr.154.1669892932820;
        Thu, 01 Dec 2022 03:08:52 -0800 (PST)
From: Ricardo Ribalda <ribalda@chromium.org>
Date: Thu, 01 Dec 2022 12:08:23 +0100
Subject:
 [PATCH v8 3/3] ASoC: SOF: Fix deadlock when shutdown a frozen userspace
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20221127-snd-freeze-v8-3-3bc02d09f2ce@chromium.org>
References: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org>
In-Reply-To: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org>
To: Juergen Gross <jgross@suse.com>, Mark Brown <broonie@kernel.org>,
 Chromeos Kdump <chromeos-kdump@google.com>,
 Daniel Baluta <daniel.baluta@nxp.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Len Brown <len.brown@intel.com>, Ard Biesheuvel <ardb@kernel.org>,
 Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Nicholas Piggin <npiggin@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>,
 Eric Biederman <ebiederm@xmission.com>,
 Dave Hansen <dave.hansen@linux.intel.com>, Jaroslav Kysela <perex@perex.cz>,
 Joel Fernandes <joel@joelfernandes.org>, Liam Girdwood <lgirdwood@gmail.com>,
 Peter Ujfalusi <peter.ujfalusi@linux.intel.com>, Pavel Machek <pavel@ucw.cz>,
 Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
 Kai Vehmanen <kai.vehmanen@linux.intel.com>,
 Steven Rostedt <rostedt@goodmis.org>, "K. Y. Srinivasan" <kys@microsoft.com>,
 Ingo Molnar <mingo@redhat.com>, Bjorn Helgaas <bhelgaas@google.com>,
 Dexuan Cui <decui@microsoft.com>, Takashi Iwai <tiwai@suse.com>,
 "H. Peter Anvin" <hpa@zytor.com>, Bard Liao <yung-chuan.liao@linux.intel.com>,
 Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>,
 x86@kernel.org
Cc: kexec@lists.infradead.org, alsa-devel@alsa-project.org,
 Ricardo Ribalda <ribalda@chromium.org>, stable@vger.kernel.org,
 sound-open-firmware@alsa-project.org, linuxppc-dev@lists.ozlabs.org,
 linux-hyperv@vger.kernel.org, linux-pci@vger.kernel.org,
 linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-efi@vger.kernel.org, xen-devel@lists.xenproject.org
X-Mailer: b4 0.11.0-dev-696ae
X-Developer-Signature: v=1; a=openpgp-sha256; l=2398; i=ribalda@chromium.org;
 h=from:subject:message-id; bh=GWM+B74HgZm8hg965LkIrG7utJXhrwWC6OA28kyyUjA=;
 b=owEBbQKS/ZANAwAKAdE30T7POsSIAcsmYgBjiIs5X8qunJcdzh4yNadWVeViZgDn3gq/06nr8kdj
 kdUAnBmJAjMEAAEKAB0WIQREDzjr+/4oCDLSsx7RN9E+zzrEiAUCY4iLOQAKCRDRN9E+zzrEiBePD/
 4n9U/k8s8PcSMHwaDWquOwoHUGMa1OTSXQAeS+zkfPMUpMhgcoTNo49nWa43GN+Y810XaYiML51562
 eLirizXRSalXPpYVLlUge+rUD8YTV54zGi5OoX528K7lwHG8z+THm4BSy0/gmpmwdgB3GttlQH5Xh0
 P4IRFzzQUndzF5+V+rD7ZDsOIqsqHLEl2xVrPlelt3OtQTf7xzm+FTwEgxz8fg42kpdkTUjKNidLBa
 PVVihXzxaPSrNmIcrlXDWrTscOrbX2UGlosoMD4NyfKwacu0juZk+QLlYCoIBu78E/d04Top6bsU/I
 uqQOeIB3UrGvmdWb9fO9H/WX4GIFLG+w7VCfaLbEd22SI+WITCvp/dDA/ZO8fzX1wgQBHvFZRLIuM4
 0mqtOEszlCVB4pMNrAVJcSULhKWOxrKI7MkUyf/otZRJ67hrWlDDaOmlBsOkJTF1T5obHSRoblMSSE
 UwMVB1vp64JD4LAxJGmFWSPjZ3BMJJK0mblOTi/qOiMm2QR7iraSkhMsUcpx9HI4IeSwbTJszKQ1Hb
 BgqjW0c2l0BpHzIlEvkoUHxIGQdKJLMfmy8GbTMKne5zBzPRx9+b+cGgNvRa/zWp72+v9Fm0r2l8rk
 2c1+78340GIwSb9Ffj750Evz1ISy6b5FAAiC5q+SWoZEFW2mWMAN+3crcCZw==
X-Developer-Key: i=ribalda@chromium.org; a=openpgp;
 fpr=9EC3BB66E2FC129A6F90B39556A0D81F9F782DA9

If we are shutting down due to kexec and the userspace is frozen, the
system will stall forever waiting for userspace to complete.

Do not wait for the clients to complete in that case.

This fixes:

[   84.943749] Freezing user space processes ... (elapsed 0.111 seconds) done.
[  246.784446] INFO: task kexec-lite:5123 blocked for more than 122 seconds.
[  246.819035] Call Trace:
[  246.821782]  <TASK>
[  246.824186]  __schedule+0x5f9/0x1263
[  246.828231]  schedule+0x87/0xc5
[  246.831779]  snd_card_disconnect_sync+0xb5/0x127
...
[  246.889249]  snd_sof_device_shutdown+0xb4/0x150
[  246.899317]  pci_device_shutdown+0x37/0x61
[  246.903990]  device_shutdown+0x14c/0x1d6
[  246.908391]  kernel_kexec+0x45/0xb9

And:

[  246.893222] INFO: task kexec-lite:4891 blocked for more than 122 seconds.
[  246.927709] Call Trace:
[  246.930461]  <TASK>
[  246.932819]  __schedule+0x5f9/0x1263
[  246.936855]  ? fsnotify_grab_connector+0x5c/0x70
[  246.942045]  schedule+0x87/0xc5
[  246.945567]  schedule_timeout+0x49/0xf3
[  246.949877]  wait_for_completion+0x86/0xe8
[  246.954463]  snd_card_free+0x68/0x89
...
[  247.001080]  platform_device_unregister+0x12/0x35

Cc: stable@vger.kernel.org
Fixes: 83bfc7e793b5 ("ASoC: SOF: core: unregister clients and machine drivers in .shutdown")
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 sound/soc/sof/core.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/sound/soc/sof/core.c b/sound/soc/sof/core.c
index 3e6141d03770..9587b6a85103 100644
--- a/sound/soc/sof/core.c
+++ b/sound/soc/sof/core.c
@@ -9,6 +9,8 @@
 //
 
 #include <linux/firmware.h>
+#include <linux/kexec.h>
+#include <linux/freezer.h>
 #include <linux/module.h>
 #include <sound/soc.h>
 #include <sound/sof.h>
@@ -484,9 +486,10 @@ int snd_sof_device_shutdown(struct device *dev)
 	 * make sure clients and machine driver(s) are unregistered to force
 	 * all userspace devices to be closed prior to the DSP shutdown sequence
 	 */
-	sof_unregister_clients(sdev);
-
-	snd_sof_machine_unregister(sdev, pdata);
+	if (!(kexec_in_progress() && pm_freezing())) {
+		sof_unregister_clients(sdev);
+		snd_sof_machine_unregister(sdev, pdata);
+	}
 
 	if (sdev->fw_state == SOF_FW_BOOT_COMPLETE)
 		return snd_sof_shutdown(sdev);

-- 
2.39.0.rc0.267.gcb52ba06e7-goog-b4-0.11.0-dev-696ae


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:17:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:17:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450499.707802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hZ8-00067B-21; Thu, 01 Dec 2022 11:17:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450499.707802; Thu, 01 Dec 2022 11:17:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hZ7-00065K-Sj; Thu, 01 Dec 2022 11:17:17 +0000
Received: by outflank-mailman (input) for mailman id 450499;
 Thu, 01 Dec 2022 11:08:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ED7C=37=chromium.org=ribalda@srs-se1.protection.inumbo.net>)
 id 1p0hQv-0004Ef-PT
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:08:49 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a71e7fd7-7167-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 12:02:32 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id gu23so3309156ejb.10
 for <xen-devel@lists.xenproject.org>; Thu, 01 Dec 2022 03:08:48 -0800 (PST)
Received: from alco.roam.corp.google.com ([2620:0:1059:10:f554:724a:f89a:73db])
 by smtp.gmail.com with ESMTPSA id
 v17-20020a170906293100b0078e0973d1f5sm1663824ejd.0.2022.12.01.03.08.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 01 Dec 2022 03:08:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a71e7fd7-7167-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=chromium.org; s=google;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Nkd0qjvVaAiiEvmHWMbDGHcYV2hQv0G5FFDx/lAEuwk=;
        b=aEqdasMvzqt4cGfl45hppFfevyDtbdbXO3ajVl/j31uklO7/Acttz+JxUMY4/Pd13r
         qA9jpZl+Rnhhik8PLiWzpnbpHs4CiEsN9ONSDoAsKhineOBAg0pLPqrw5R9mTY36uBT9
         DqRNCsQ1YVYeROKDbES+8UklF3NSMzWu//+j4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Nkd0qjvVaAiiEvmHWMbDGHcYV2hQv0G5FFDx/lAEuwk=;
        b=79UsV37iX+gr+AhJHk1U7XyYluuid1BnasTlS4tvoe0ISUTkWu+mj6thSXgmwQBm+/
         tCV2uWJUWXLkkpcz+cLAn4rsgL/iOXIlwm+XJouQ+W/nJw2gxV4aNXWUX5eltOJw4FUN
         NZnD4OVBe/FaW/LrCgUk/hAqveVf/CzYbkhPI6yd4VtZGNzvTFwmqpA4HKCrT+KflwdK
         pSK3YXWEMcUCKFH1OmjggvqpbwRYEQJHyEWxMyFctihUtgyPt2NLf8iwkKbzkqZ6ii89
         B4cypDIN5K4A5V/kFJ2OefXZkiQUSXYlUuBv6xvbDebHg05+M+9fAAfcVIOJJXZs187M
         nM4g==
X-Gm-Message-State: ANoB5pkG3PjOdpnzWngmQZBEzzcchf2x7+EkCkPXbmANazMZpWNl9SwD
	izL8W8JlXpGXgG8rT0QDsu1BWg==
X-Google-Smtp-Source: AA0mqf7plaI93uNo8E+lVQtK6J3MolwWpNt7yp2inKCHh9SE/C4zxiykYQTaWDwrBxRvAvs+Ixd68w==
X-Received: by 2002:a17:907:3fa9:b0:7bf:5446:389d with SMTP id hr41-20020a1709073fa900b007bf5446389dmr17697065ejc.449.1669892927999;
        Thu, 01 Dec 2022 03:08:47 -0800 (PST)
From: Ricardo Ribalda <ribalda@chromium.org>
Date: Thu, 01 Dec 2022 12:08:21 +0100
Subject: [PATCH v8 1/3] kexec: Refactor kexec_in_progress into a function
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20221127-snd-freeze-v8-1-3bc02d09f2ce@chromium.org>
References: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org>
In-Reply-To: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org>
To: Juergen Gross <jgross@suse.com>, Mark Brown <broonie@kernel.org>,
 Chromeos Kdump <chromeos-kdump@google.com>,
 Daniel Baluta <daniel.baluta@nxp.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Len Brown <len.brown@intel.com>, Ard Biesheuvel <ardb@kernel.org>,
 Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Nicholas Piggin <npiggin@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>,
 Eric Biederman <ebiederm@xmission.com>,
 Dave Hansen <dave.hansen@linux.intel.com>, Jaroslav Kysela <perex@perex.cz>,
 Joel Fernandes <joel@joelfernandes.org>, Liam Girdwood <lgirdwood@gmail.com>,
 Peter Ujfalusi <peter.ujfalusi@linux.intel.com>, Pavel Machek <pavel@ucw.cz>,
 Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
 Kai Vehmanen <kai.vehmanen@linux.intel.com>,
 Steven Rostedt <rostedt@goodmis.org>, "K. Y. Srinivasan" <kys@microsoft.com>,
 Ingo Molnar <mingo@redhat.com>, Bjorn Helgaas <bhelgaas@google.com>,
 Dexuan Cui <decui@microsoft.com>, Takashi Iwai <tiwai@suse.com>,
 "H. Peter Anvin" <hpa@zytor.com>, Bard Liao <yung-chuan.liao@linux.intel.com>,
 Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>,
 x86@kernel.org
Cc: kexec@lists.infradead.org, alsa-devel@alsa-project.org,
 Ricardo Ribalda <ribalda@chromium.org>, stable@vger.kernel.org,
 sound-open-firmware@alsa-project.org, linuxppc-dev@lists.ozlabs.org,
 linux-hyperv@vger.kernel.org, linux-pci@vger.kernel.org,
 linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-efi@vger.kernel.org, xen-devel@lists.xenproject.org
X-Mailer: b4 0.11.0-dev-696ae
X-Developer-Signature: v=1; a=openpgp-sha256; l=5606; i=ribalda@chromium.org;
 h=from:subject:message-id; bh=rOwSP5vskEUbZoU8S9iGZ6yjsxnhI5XXCgf6CDbEiKk=;
 b=owEBbQKS/ZANAwAKAdE30T7POsSIAcsmYgBjiIs3ixiN1I8p0kAS9AN3OftX9qa+MJe/lyiFxhnr
 3KQHBPGJAjMEAAEKAB0WIQREDzjr+/4oCDLSsx7RN9E+zzrEiAUCY4iLNwAKCRDRN9E+zzrEiAgBD/
 wMD0lpvGLSjykTW74XwGtwIS0vCS7kYGnMNXMZAS/+qAy1e9lAb+uWUmzMdmZCun7EdSzbcELHOnWF
 lmHJHTn37w6DN+LbjryPPWJ5HMyXKgLVRWnoxBNooMFbtfY0oCJ0XkmHwzHTtAnRmNumEv1/5BtFuc
 tCndENqSLCxLn1Q0WCvVnbEIKgUm1WrdGfPxSVaPWM7o9olbv6KLz/O4a5QRpsf83kNY0GGNQqnJ6T
 3K4jfeuO3u0HjrrHSAOxBpiQ7YzCqDPYmgXvzxsPOilkxnkhdUXm4zrz5l8uRRm5IPH+D+a2tJ2xSf
 V3id9yxm9UsfilPgFJFoM8+MwGPpIHhEt8kbCvIbq9R5JISg6YLh2i3jlX4iZc/bD3B34x25tq04tr
 NizRIER+5veXenpuoUm99sahcxk2+/HszRhEch2IEM4L4lUNjitjkfWZTJsR6NO1kGHnMQRA1Lv9JL
 WaoL/u/viwVrDq2nrVdpvFEoZQfyX3lh2X2XRYGk0SmUUBvipE9HAuETMI3Qyf/wErQ2zHHA5cQJ4m
 kT1GIXFzV1IFdk4jOpJTgbWlzWHqLegh4mYK50pubtKtmM57lytPw7JO8Un5mdcuGIsap10P8uxXLy
 JQmi7sc86pt58fddHNIdBd5kFCFomxDX91gu/JSYVpE3HMcvzl5av3SEmC+Q==
X-Developer-Key: i=ribalda@chromium.org; a=openpgp;
 fpr=9EC3BB66E2FC129A6F90B39556A0D81F9F782DA9

Drivers running .shutdown() might want to behave differently during
kexec.

Convert kexec_in_progress into a function and export it, so it can be
used by drivers that are either built-in or modules.

Cc: stable@vger.kernel.org
Fixes: 83bfc7e793b5 ("ASoC: SOF: core: unregister clients and machine drivers in .shutdown")
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
 arch/powerpc/platforms/pseries/vio.c |  2 +-
 arch/x86/kernel/cpu/mshyperv.c       |  6 +++---
 arch/x86/xen/enlighten_hvm.c         |  2 +-
 drivers/firmware/efi/efi.c           |  2 +-
 drivers/pci/pci-driver.c             |  2 +-
 include/linux/kexec.h                |  5 ++---
 kernel/kexec_core.c                  | 12 ++++++++++--
 7 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/arch/powerpc/platforms/pseries/vio.c b/arch/powerpc/platforms/pseries/vio.c
index 00ecac2c205b..923f9a36b992 100644
--- a/arch/powerpc/platforms/pseries/vio.c
+++ b/arch/powerpc/platforms/pseries/vio.c
@@ -1289,7 +1289,7 @@ static void vio_bus_shutdown(struct device *dev)
 		viodrv = to_vio_driver(dev->driver);
 		if (viodrv->shutdown)
 			viodrv->shutdown(viodev);
-		else if (kexec_in_progress)
+		else if (kexec_in_progress())
 			vio_bus_remove(dev);
 	}
 }
diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c
index 831613959a92..f91f35206489 100644
--- a/arch/x86/kernel/cpu/mshyperv.c
+++ b/arch/x86/kernel/cpu/mshyperv.c
@@ -122,21 +122,21 @@ void hv_remove_crash_handler(void)
 #ifdef CONFIG_KEXEC_CORE
 static void hv_machine_shutdown(void)
 {
-	if (kexec_in_progress && hv_kexec_handler)
+	if (kexec_in_progress() && hv_kexec_handler)
 		hv_kexec_handler();
 
 	/*
 	 * Call hv_cpu_die() on all the CPUs, otherwise later the hypervisor
 	 * corrupts the old VP Assist Pages and can crash the kexec kernel.
 	 */
-	if (kexec_in_progress && hyperv_init_cpuhp > 0)
+	if (kexec_in_progress() && hyperv_init_cpuhp > 0)
 		cpuhp_remove_state(hyperv_init_cpuhp);
 
 	/* The function calls stop_other_cpus(). */
 	native_machine_shutdown();
 
 	/* Disable the hypercall page when there is only 1 active CPU. */
-	if (kexec_in_progress)
+	if (kexec_in_progress())
 		hyperv_cleanup();
 }
 
diff --git a/arch/x86/xen/enlighten_hvm.c b/arch/x86/xen/enlighten_hvm.c
index c1cd28e915a3..769163833ffc 100644
--- a/arch/x86/xen/enlighten_hvm.c
+++ b/arch/x86/xen/enlighten_hvm.c
@@ -145,7 +145,7 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_xen_hvm_callback)
 static void xen_hvm_shutdown(void)
 {
 	native_machine_shutdown();
-	if (kexec_in_progress)
+	if (kexec_in_progress())
 		xen_reboot(SHUTDOWN_soft_reset);
 }
 
diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
index a46df5d1d094..608bc2146802 100644
--- a/drivers/firmware/efi/efi.c
+++ b/drivers/firmware/efi/efi.c
@@ -1040,7 +1040,7 @@ static int update_efi_random_seed(struct notifier_block *nb,
 	struct linux_efi_random_seed *seed;
 	u32 size = 0;
 
-	if (!kexec_in_progress)
+	if (!kexec_in_progress())
 		return NOTIFY_DONE;
 
 	seed = memremap(efi_rng_seed, sizeof(*seed), MEMREMAP_WB);
diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c
index 107d77f3c846..23eeb7538b03 100644
--- a/drivers/pci/pci-driver.c
+++ b/drivers/pci/pci-driver.c
@@ -519,7 +519,7 @@ static void pci_device_shutdown(struct device *dev)
 	 * If it is not a kexec reboot, firmware will hit the PCI
 	 * devices with big hammer and stop their DMA any way.
 	 */
-	if (kexec_in_progress && (pci_dev->current_state <= PCI_D3hot))
+	if (kexec_in_progress() && pci_dev->current_state <= PCI_D3hot)
 		pci_clear_master(pci_dev);
 }
 
diff --git a/include/linux/kexec.h b/include/linux/kexec.h
index 41a686996aaa..2ec0aec1a0de 100644
--- a/include/linux/kexec.h
+++ b/include/linux/kexec.h
@@ -423,8 +423,7 @@ extern int kexec_load_disabled;
 #define KEXEC_FILE_FLAGS	(KEXEC_FILE_UNLOAD | KEXEC_FILE_ON_CRASH | \
 				 KEXEC_FILE_NO_INITRAMFS)
 
-/* flag to track if kexec reboot is in progress */
-extern bool kexec_in_progress;
+bool kexec_in_progress(void);
 
 int crash_shrink_memory(unsigned long new_size);
 ssize_t crash_get_memory_size(void);
@@ -507,7 +506,7 @@ static inline void __crash_kexec(struct pt_regs *regs) { }
 static inline void crash_kexec(struct pt_regs *regs) { }
 static inline int kexec_should_crash(struct task_struct *p) { return 0; }
 static inline int kexec_crash_loaded(void) { return 0; }
-#define kexec_in_progress false
+static inline bool kexec_in_progress(void) { return false; }
 #endif /* CONFIG_KEXEC_CORE */
 
 #ifdef CONFIG_KEXEC_SIG
diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
index ca2743f9c634..4495d0fc28ae 100644
--- a/kernel/kexec_core.c
+++ b/kernel/kexec_core.c
@@ -52,8 +52,16 @@ atomic_t __kexec_lock = ATOMIC_INIT(0);
 note_buf_t __percpu *crash_notes;
 
 /* Flag to indicate we are going to kexec a new kernel */
-bool kexec_in_progress = false;
+static bool kexec_in_progress_internal;
 
+/**
+ * kexec_in_progress - Check if the system is going to kexec
+ */
+bool kexec_in_progress(void)
+{
+	return kexec_in_progress_internal;
+}
+EXPORT_SYMBOL(kexec_in_progress);
 
 /* Location of the reserved area for the crash kernel */
 struct resource crashk_res = {
@@ -1175,7 +1183,7 @@ int kernel_kexec(void)
 	} else
 #endif
 	{
-		kexec_in_progress = true;
+		kexec_in_progress_internal = true;
 		kernel_restart_prepare("kexec reboot");
 		migrate_to_reboot_cpu();
 

-- 
2.39.0.rc0.267.gcb52ba06e7-goog-b4-0.11.0-dev-696ae


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:17:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:17:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450497.707796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hZ7-00062g-NL; Thu, 01 Dec 2022 11:17:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450497.707796; Thu, 01 Dec 2022 11:17:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hZ7-00062Z-K5; Thu, 01 Dec 2022 11:17:17 +0000
Received: by outflank-mailman (input) for mailman id 450497;
 Thu, 01 Dec 2022 11:08:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ED7C=37=chromium.org=ribalda@srs-se1.protection.inumbo.net>)
 id 1p0hQt-0004EZ-Mj
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:08:47 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 862ce7e7-7168-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 12:08:46 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id s12so1862600edd.5
 for <xen-devel@lists.xenproject.org>; Thu, 01 Dec 2022 03:08:46 -0800 (PST)
Received: from alco.roam.corp.google.com ([2620:0:1059:10:f554:724a:f89a:73db])
 by smtp.gmail.com with ESMTPSA id
 v17-20020a170906293100b0078e0973d1f5sm1663824ejd.0.2022.12.01.03.08.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 01 Dec 2022 03:08:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 862ce7e7-7168-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=chromium.org; s=google;
        h=cc:to:message-id:date:from:content-transfer-encoding:mime-version
         :subject:from:to:cc:subject:date:message-id:reply-to;
        bh=lGm4cyBDbhcC+E+E+8rSuqE3igb1lprN1pN6/M3QLys=;
        b=ZRHyoajEwFC4By5LI1rVbOp/xLGzBq//9Xi/KMCz0lo8z9Pc1kxGrZQGSfdmpQmaMd
         1GnniREAshZoCU4tyHuy1piJbRVEDqwJVixje9ZJzJ77PtUXKFFljT/b8/IV0BWReOGd
         SqBdcc0wshVkJyGCE+uvwuRmeLcgRNVAq9pdQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:message-id:date:from:content-transfer-encoding:mime-version
         :subject:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=lGm4cyBDbhcC+E+E+8rSuqE3igb1lprN1pN6/M3QLys=;
        b=VSr059CcQP5NrigepbWCFS2gM1X+4c6zceIkbfoAT+we4SCacKTmFeu8Vf+bpNicNt
         kDd8oLi/vkwILE4w7UoSfSFFlT+uPoeXYV8JWcERWVcaQDrA2YhGDf1EkmKW7+ZX52BJ
         miuPLhF9JeSQaPmuzjkvQKeab4WtKMoq1WfCFhVxScnWk9jbXUrrSbTNQZV63BeitaAx
         37ubVF/nJAf3Q3z2yw971Xu9D9sEf9P2cbOQce4GiGEGYBC0siSLG2xIj+hrxymudvIP
         UrIes3P76Rnbf4+Og4/yQEBNkY8/lPi0tuUsw6te8Z0C9e9un0vnozoKo+0MwRtaGC2W
         0rDA==
X-Gm-Message-State: ANoB5plqGK1TXOdgieHmkjDXM+awkkv1o3EK96WZZnnanpMWXJCVAcMB
	ZkLK82jWbuMmXt2p4bzFTXFNeg==
X-Google-Smtp-Source: AA0mqf5zzNn9de5BfFPh0J6RLCpw0dw9HFYWDLvw7kVxPfSHwhQH5HyYQ8cKCqwRv03JB5G51Q4CsA==
X-Received: by 2002:a05:6402:4516:b0:467:b88c:f3af with SMTP id ez22-20020a056402451600b00467b88cf3afmr43151776edb.24.1669892925587;
        Thu, 01 Dec 2022 03:08:45 -0800 (PST)
Subject:
 [PATCH v8 0/3] ASoC: SOF: Fix deadlock when shutdown a frozen userspace
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
X-B4-Tracking: v=1; b=H4sIACSLiGMC/3XPzWrDMAwA4FcpPs8jln/b095j7CA7SmNoHbDXwF
 by7tN2HDY6CAk+/TxFo5qpicvpKSrtueWtcBFeTiKtWK4k88y1gAlAKfCylVkuleibpCJSRgMEDU
 4wiNhIxoolrUzK43bj5prb51a//hbsitN7d9au5CStN06hdo4SvKW1bvf8uL9u9So+eNIOYw2s54
 AGLOHZOd3Reqw1awSa0WuVUJmONmNtfi9n50z0C2DsaDvWlrWhmSNOIeLU0W6sHWtN58lavTiDtq
 P9WHvW3Es2wMIP/P/7OI4f/KJYEyACAAA=
From: Ricardo Ribalda <ribalda@chromium.org>
Date: Thu, 01 Dec 2022 12:08:20 +0100
Message-Id: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org>
To: Juergen Gross <jgross@suse.com>, Mark Brown <broonie@kernel.org>,
 Chromeos Kdump <chromeos-kdump@google.com>,
 Daniel Baluta <daniel.baluta@nxp.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Len Brown <len.brown@intel.com>, Ard Biesheuvel <ardb@kernel.org>,
 Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Nicholas Piggin <npiggin@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>,
 Eric Biederman <ebiederm@xmission.com>,
 Dave Hansen <dave.hansen@linux.intel.com>, Jaroslav Kysela <perex@perex.cz>,
 Joel Fernandes <joel@joelfernandes.org>, Liam Girdwood <lgirdwood@gmail.com>,
 Peter Ujfalusi <peter.ujfalusi@linux.intel.com>, Pavel Machek <pavel@ucw.cz>,
 Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
 Kai Vehmanen <kai.vehmanen@linux.intel.com>,
 Steven Rostedt <rostedt@goodmis.org>, "K. Y. Srinivasan" <kys@microsoft.com>,
 Ingo Molnar <mingo@redhat.com>, Bjorn Helgaas <bhelgaas@google.com>,
 Dexuan Cui <decui@microsoft.com>, Takashi Iwai <tiwai@suse.com>,
 "H. Peter Anvin" <hpa@zytor.com>, Bard Liao <yung-chuan.liao@linux.intel.com>,
 Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>,
 x86@kernel.org
Cc: kexec@lists.infradead.org, alsa-devel@alsa-project.org,
 Ricardo Ribalda <ribalda@chromium.org>, stable@vger.kernel.org,
 sound-open-firmware@alsa-project.org, linuxppc-dev@lists.ozlabs.org,
 linux-hyperv@vger.kernel.org, linux-pci@vger.kernel.org,
 linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-efi@vger.kernel.org, xen-devel@lists.xenproject.org
X-Mailer: b4 0.11.0-dev-696ae
X-Developer-Signature: v=1; a=openpgp-sha256; l=4368; i=ribalda@chromium.org;
 h=from:subject:message-id; bh=Rud9IUdbPKIRkkkE6G4uaTZbcmuiccX+lZS5manvrHM=;
 b=owEBbQKS/ZANAwAKAdE30T7POsSIAcsmYgBjiIsuiQZl7CGQiKdplkqC0gHCzURIkJXoavQjeFfS
 sEPmEE6JAjMEAAEKAB0WIQREDzjr+/4oCDLSsx7RN9E+zzrEiAUCY4iLLgAKCRDRN9E+zzrEiIaWD/
 9SLVqH6ELG3Nj4DmzbcOc+YbsFvyvs/zS4DGTKOm4a1dsJ6EojOhIs9fpuGLT8o3p3+9VsWHC0In/y
 k6Iuhsi7YI2K91jtIDrxVIf4dUlmsglcYsc4qe5s+tqH0tWT7y7OlpaNM4+W605lNX2FMTKjGgKfHe
 jHVMfBfB0ebLbt7OhLXieR55yYucbmtChn3v49MHNc8u6oY5Zy9bC4bNkMJDJtd+ce/qqb8Bp4QeMA
 rOQjtJMeieO5qtXaDb8EfsUc4gu1PYL42HfoTN2sr18FL9SKNzVejr4Jq0RhUCNg/rf+Oqoqn7EEmV
 sjud45VDHbBcOD8OQJa/GQAuRwLJQYje6ycI76nIB/gnEiR08+uB3nK3tlAkKMMWbb4wS5vuWnCX2U
 3YF/ZK8xWASICm+G0JmfVBdajYCKUxaboXr7DPbP7oCUFU3bLEQqtBpNgeyfU46D4Q0gnTD8/frbVt
 UgY++3lpoKK+Pxg3zbTIKOvN4fumazPJdSB+a586EbWiw7LhOtWns3EsiPZqFybXoW0BptbVq0Aqan
 TLmIsVZkJSOl85YER762XGxsWyl9LeYioTLO/h4ozDLEbfseFlKxfz67nGgS7NBgsHBJDuc7Pu2/XP
 dfaTOEkimDz87TdwqvVEa5v67H9Ve4p2lif6Z3g7ymf71PA6yB0dtq2z/ZqQ==
X-Developer-Key: i=ribalda@chromium.org; a=openpgp;
 fpr=9EC3BB66E2FC129A6F90B39556A0D81F9F782DA9

Since: 83bfc7e793b5 ("ASoC: SOF: core: unregister clients and machine drivers in .shutdown")
we wait for all the workloads to be completed during shutdown. This was done to 
avoid a stall once the device is started again.

Unfortunately this has the side effect of stalling kexec(), if the userspace
is frozen. Let's handle that case.

To: Joel Fernandes <joel@joelfernandes.org>
To: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Liam Girdwood <lgirdwood@gmail.com>
To: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
To: Bard Liao <yung-chuan.liao@linux.intel.com>
To: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
To: Kai Vehmanen <kai.vehmanen@linux.intel.com>
To: Daniel Baluta <daniel.baluta@nxp.com>
To: Mark Brown <broonie@kernel.org>
To: Jaroslav Kysela <perex@perex.cz>
To: Takashi Iwai <tiwai@suse.com>
To: Eric Biederman <ebiederm@xmission.com>
To: Chromeos Kdump <chromeos-kdump@google.com>
To: Steven Rostedt <rostedt@goodmis.org>
To: Michael Ellerman <mpe@ellerman.id.au>
To: Nicholas Piggin <npiggin@gmail.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>
To: "K. Y. Srinivasan" <kys@microsoft.com>
To: Haiyang Zhang <haiyangz@microsoft.com>
To: Wei Liu <wei.liu@kernel.org>
To: Dexuan Cui <decui@microsoft.com>
To: Thomas Gleixner <tglx@linutronix.de>
To: Ingo Molnar <mingo@redhat.com>
To: Borislav Petkov <bp@alien8.de>
To: Dave Hansen <dave.hansen@linux.intel.com>
To: x86@kernel.org
To: "H. Peter Anvin" <hpa@zytor.com>
To: Juergen Gross <jgross@suse.com>
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>
To: Ard Biesheuvel <ardb@kernel.org>
To: Bjorn Helgaas <bhelgaas@google.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>
To: Pavel Machek <pavel@ucw.cz>
To: Len Brown <len.brown@intel.com>
Cc: stable@vger.kernel.org
Cc: sound-open-firmware@alsa-project.org
Cc: alsa-devel@alsa-project.org
Cc: linux-kernel@vger.kernel.org
Cc: kexec@lists.infradead.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-hyperv@vger.kernel.org
Cc: xen-devel@lists.xenproject.org
Cc: linux-efi@vger.kernel.org
Cc: linux-pci@vger.kernel.org
Cc: linux-pm@vger.kernel.org
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
---
Changes in v8:
- Wrap pm_freezing and kexec_inprogress in functions.
- Do not run snd_sof_machine_unregister(sdev, pdata) during kexec (Thanks Kai).
- Link to v7: https://lore.kernel.org/r/20221127-snd-freeze-v7-0-127c582f1ca4@chromium.org

Changes in v7:
- Fix commit message (Thanks Pierre-Louis).
- Link to v6: https://lore.kernel.org/r/20221127-snd-freeze-v6-0-3e90553f64a5@chromium.org

Changes in v6:
- Check if we are in kexec with the userspace frozen.
- Link to v5: https://lore.kernel.org/r/20221127-snd-freeze-v5-0-4ededeb08ba0@chromium.org

Changes in v5:
- Edit subject prefix.
- Link to v4: https://lore.kernel.org/r/20221127-snd-freeze-v4-0-51ca64b7f2ab@chromium.org

Changes in v4:
- Do not call snd_sof_machine_unregister from shutdown.
- Link to v3: https://lore.kernel.org/r/20221127-snd-freeze-v3-0-a2eda731ca14@chromium.org

Changes in v3:
- Wrap pm_freezing in a function.
- Link to v2: https://lore.kernel.org/r/20221127-snd-freeze-v2-0-d8a425ea9663@chromium.org

Changes in v2:
- Only use pm_freezing if CONFIG_FREEZER .
- Link to v1: https://lore.kernel.org/r/20221127-snd-freeze-v1-0-57461a366ec2@chromium.org

---
Ricardo Ribalda (3):
      kexec: Refactor kexec_in_progress into a function
      freezer: refactor pm_freezing into a function.
      ASoC: SOF: Fix deadlock when shutdown a frozen userspace

 arch/powerpc/platforms/pseries/vio.c |  2 +-
 arch/x86/kernel/cpu/mshyperv.c       |  6 +++---
 arch/x86/xen/enlighten_hvm.c         |  2 +-
 drivers/firmware/efi/efi.c           |  2 +-
 drivers/pci/pci-driver.c             |  2 +-
 include/linux/freezer.h              |  3 ++-
 include/linux/kexec.h                |  5 ++---
 kernel/freezer.c                     |  3 +--
 kernel/kexec_core.c                  | 12 ++++++++++--
 kernel/power/process.c               | 24 ++++++++++++++++++++----
 sound/soc/sof/core.c                 |  9 ++++++---
 11 files changed, 48 insertions(+), 22 deletions(-)
---
base-commit: 4312098baf37ee17a8350725e6e0d0e8590252d4
change-id: 20221127-snd-freeze-1ee143228326

Best regards,
-- 
Ricardo Ribalda <ribalda@chromium.org>


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:17:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:17:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450501.707806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hZ8-0006Dk-AU; Thu, 01 Dec 2022 11:17:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450501.707806; Thu, 01 Dec 2022 11:17:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hZ8-0006D6-6a; Thu, 01 Dec 2022 11:17:18 +0000
Received: by outflank-mailman (input) for mailman id 450501;
 Thu, 01 Dec 2022 11:08:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ED7C=37=chromium.org=ribalda@srs-se1.protection.inumbo.net>)
 id 1p0hQx-0004Ef-In
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:08:51 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a88318b3-7167-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 12:02:34 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id ml11so3336711ejb.6
 for <xen-devel@lists.xenproject.org>; Thu, 01 Dec 2022 03:08:50 -0800 (PST)
Received: from alco.roam.corp.google.com ([2620:0:1059:10:f554:724a:f89a:73db])
 by smtp.gmail.com with ESMTPSA id
 v17-20020a170906293100b0078e0973d1f5sm1663824ejd.0.2022.12.01.03.08.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 01 Dec 2022 03:08:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a88318b3-7167-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=chromium.org; s=google;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:from:to:cc:subject:date:message-id
         :reply-to;
        bh=hPnx0twxhgnGZjrXWsF/2vKaeMeI6ZYYmbIIcD69SUE=;
        b=K5kXuHcEfBkPvXptT5Y+mfQkEfSuimVpWQKHjhZ9y+kPOfG6EGLbLQqZ7Vmi4Ht6xT
         AXJ/oi2Z0ArL4gZ9JbiQ5Dx7wPbrhxkR+aVJKyp6AwkIvHoR6IysS+toCXipubShsonE
         oHPeSUt0tvViAKC1UQK6OZfmPOR3FZyq1ixgo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:in-reply-to:references:message-id:content-transfer-encoding
         :mime-version:subject:date:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=hPnx0twxhgnGZjrXWsF/2vKaeMeI6ZYYmbIIcD69SUE=;
        b=fQt69Aj7vQdXCpyRIzSZrRyaERyyg5V17dix1YXJVb+/yDvHCWTTLBgZmGj00HidIp
         sFSKxbdWyziiPTl/78BFC+pwWJDWSOIsNCORFSplE4+VQHvkrtJouvRbddTumj4A0Aa4
         MQ9P9nwP1NQimr8WIfm6N2hA3ALa5JxfsGPoyXqY0m7rmCqfLVtNFoCDKblzKK95nWa3
         S3+cZgAein6gPfynkCWxNbq//Hu02ihScdUKQAQrktYzfzpxVM5B2movYicecLl78d72
         lFIXl7WxUjAWYLA4i6Ty6OgLePMACboHdjIIJMa8X83Tw9bMOX3WVl8MMcHHrVZG+Gzd
         SjUg==
X-Gm-Message-State: ANoB5pnCb5YyI6EQrG3dw24QvIX13DtkoFsNePq9wae+OgXT7vnPtNOQ
	nAPdszHAP2o/5636uw2/INttSA==
X-Google-Smtp-Source: AA0mqf6QA9epHr8ruPFiQGAKYscNsrTjXBsKaW09DtpGXeORJbLVCQptI5poBuY2TVEd05qONnm0EQ==
X-Received: by 2002:a17:906:7d13:b0:7bc:addd:2c54 with SMTP id u19-20020a1709067d1300b007bcaddd2c54mr14248196ejo.24.1669892930375;
        Thu, 01 Dec 2022 03:08:50 -0800 (PST)
From: Ricardo Ribalda <ribalda@chromium.org>
Date: Thu, 01 Dec 2022 12:08:22 +0100
Subject: [PATCH v8 2/3] freezer: refactor pm_freezing into a function.
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Message-Id: <20221127-snd-freeze-v8-2-3bc02d09f2ce@chromium.org>
References: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org>
In-Reply-To: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org>
To: Juergen Gross <jgross@suse.com>, Mark Brown <broonie@kernel.org>,
 Chromeos Kdump <chromeos-kdump@google.com>,
 Daniel Baluta <daniel.baluta@nxp.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Len Brown <len.brown@intel.com>, Ard Biesheuvel <ardb@kernel.org>,
 Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Nicholas Piggin <npiggin@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>,
 Eric Biederman <ebiederm@xmission.com>,
 Dave Hansen <dave.hansen@linux.intel.com>, Jaroslav Kysela <perex@perex.cz>,
 Joel Fernandes <joel@joelfernandes.org>, Liam Girdwood <lgirdwood@gmail.com>,
 Peter Ujfalusi <peter.ujfalusi@linux.intel.com>, Pavel Machek <pavel@ucw.cz>,
 Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
 Kai Vehmanen <kai.vehmanen@linux.intel.com>,
 Steven Rostedt <rostedt@goodmis.org>, "K. Y. Srinivasan" <kys@microsoft.com>,
 Ingo Molnar <mingo@redhat.com>, Bjorn Helgaas <bhelgaas@google.com>,
 Dexuan Cui <decui@microsoft.com>, Takashi Iwai <tiwai@suse.com>,
 "H. Peter Anvin" <hpa@zytor.com>, Bard Liao <yung-chuan.liao@linux.intel.com>,
 Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>,
 x86@kernel.org
Cc: kexec@lists.infradead.org, alsa-devel@alsa-project.org,
 Ricardo Ribalda <ribalda@chromium.org>, stable@vger.kernel.org,
 sound-open-firmware@alsa-project.org, linuxppc-dev@lists.ozlabs.org,
 linux-hyperv@vger.kernel.org, linux-pci@vger.kernel.org,
 linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org,
 linux-efi@vger.kernel.org, xen-devel@lists.xenproject.org
X-Mailer: b4 0.11.0-dev-696ae
X-Developer-Signature: v=1; a=openpgp-sha256; l=3690; i=ribalda@chromium.org;
 h=from:subject:message-id; bh=Uyd503AUpFQ+wB60JzDX21uxeFYPmKS/1xEV6a/+nC0=;
 b=owEBbQKS/ZANAwAKAdE30T7POsSIAcsmYgBjiIs47YRD/lKW5LPJ0JDcZ66XVU0S36xAkU2Fyjx2
 2sg9wC6JAjMEAAEKAB0WIQREDzjr+/4oCDLSsx7RN9E+zzrEiAUCY4iLOAAKCRDRN9E+zzrEiGFvD/
 97DssDxiQasPTlsNtz7Jry8QHtrWcpbeSa2Bm4gtZx1yhISwwBKhlnlj6KgFHG54yWyqPjrrVR0XTb
 DRsh8oxIzLjCsOJSaFHQVRhF6FQ+Sjacqhya5R4CgkbgCfYqD9BuqRs3k+WVdFOubhN2LtNG3lkx4T
 ue+l5QsOBRqMlPIvwRtgq2tpT+YUFNt5mgxSdvVT17WVelRA7EPFXF8dyd8oIs1E2iKfJpEnF/7Q4c
 7SZhnlSjo1D/vgoGmvCA0YHqwNf+Gd0soCFD8VDqMs3MsHI+0iHfFmvW9qis9BQ6eEQXsouG9nOnqA
 GHMdhq3WU7pGrL5DkzQU30oUH+Tdpk7c8hfRF3dIlk9oU1KXSXe9pg/38OguyIttqFUH/iSKDS0L92
 5vIDNhT9WlDT2uxzTt/kS9e7RVM3tR0vHpUMY48SrLT4ybX2MU+uX8pRhqF9B6yT+wCUozZXdnnFHC
 juHBoEPqlJn6F7z5v1GGk+dMOrd3JDk/aqI3cue3Q30WnL9D73CfUZ6MD9yALvFt8oSzUw8eMxA54/
 ac6QXsBUvXHMT4klIUFhVCOtry1lTKgmIF+hciCKQi7qleoR5g5iI9YQ1pERS75u9s0tp/U5COC9rF
 H128taN2NiXJoQ2/mDCQbYyiZZ7qAhM+BNxsaDYWxtgKxmCMfSlcBFUTo+xA==
X-Developer-Key: i=ribalda@chromium.org; a=openpgp;
 fpr=9EC3BB66E2FC129A6F90B39556A0D81F9F782DA9

Add a way to let the drivers know if the processes are frozen.

This is needed by drivers that are waiting for processes to end on their
shutdown path.

Convert pm_freezing into a function and export it, so it can be used by
drivers that are either built-in or modules.

Cc: stable@vger.kernel.org
Fixes: 83bfc7e793b5 ("ASoC: SOF: core: unregister clients and machine drivers in .shutdown")
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>

sdad
---
 include/linux/freezer.h |  3 ++-
 kernel/freezer.c        |  3 +--
 kernel/power/process.c  | 24 ++++++++++++++++++++----
 3 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/include/linux/freezer.h b/include/linux/freezer.h
index b303472255be..3413c869d68b 100644
--- a/include/linux/freezer.h
+++ b/include/linux/freezer.h
@@ -13,7 +13,7 @@
 #ifdef CONFIG_FREEZER
 DECLARE_STATIC_KEY_FALSE(freezer_active);
 
-extern bool pm_freezing;		/* PM freezing in effect */
+bool pm_freezing(void);
 extern bool pm_nosig_freezing;		/* PM nosig freezing in effect */
 
 /*
@@ -80,6 +80,7 @@ static inline int freeze_processes(void) { return -ENOSYS; }
 static inline int freeze_kernel_threads(void) { return -ENOSYS; }
 static inline void thaw_processes(void) {}
 static inline void thaw_kernel_threads(void) {}
+static inline bool pm_freezing(void) { return false; }
 
 static inline bool try_to_freeze(void) { return false; }
 
diff --git a/kernel/freezer.c b/kernel/freezer.c
index 4fad0e6fca64..2d3530ebdb7e 100644
--- a/kernel/freezer.c
+++ b/kernel/freezer.c
@@ -20,7 +20,6 @@ EXPORT_SYMBOL(freezer_active);
  * indicate whether PM freezing is in effect, protected by
  * system_transition_mutex
  */
-bool pm_freezing;
 bool pm_nosig_freezing;
 
 /* protects freezing and frozen transitions */
@@ -46,7 +45,7 @@ bool freezing_slow_path(struct task_struct *p)
 	if (pm_nosig_freezing || cgroup_freezing(p))
 		return true;
 
-	if (pm_freezing && !(p->flags & PF_KTHREAD))
+	if (pm_freezing() && !(p->flags & PF_KTHREAD))
 		return true;
 
 	return false;
diff --git a/kernel/power/process.c b/kernel/power/process.c
index ddd9988327fe..8a4d0e2c8c20 100644
--- a/kernel/power/process.c
+++ b/kernel/power/process.c
@@ -108,6 +108,22 @@ static int try_to_freeze_tasks(bool user_only)
 	return todo ? -EBUSY : 0;
 }
 
+/*
+ * Indicate whether PM freezing is in effect, protected by
+ * system_transition_mutex.
+ */
+static bool pm_freezing_internal;
+
+/**
+ * pm_freezing - indicate whether PM freezing is in effect.
+ *
+ */
+bool pm_freezing(void)
+{
+	return pm_freezing_internal;
+}
+EXPORT_SYMBOL(pm_freezing);
+
 /**
  * freeze_processes - Signal user space processes to enter the refrigerator.
  * The current thread will not be frozen.  The same process that calls
@@ -126,12 +142,12 @@ int freeze_processes(void)
 	/* Make sure this task doesn't get frozen */
 	current->flags |= PF_SUSPEND_TASK;
 
-	if (!pm_freezing)
+	if (!pm_freezing())
 		static_branch_inc(&freezer_active);
 
 	pm_wakeup_clear(0);
 	pr_info("Freezing user space processes ... ");
-	pm_freezing = true;
+	pm_freezing_internal = true;
 	error = try_to_freeze_tasks(true);
 	if (!error) {
 		__usermodehelper_set_disable_depth(UMH_DISABLED);
@@ -187,9 +203,9 @@ void thaw_processes(void)
 	struct task_struct *curr = current;
 
 	trace_suspend_resume(TPS("thaw_processes"), 0, true);
-	if (pm_freezing)
+	if (pm_freezing())
 		static_branch_dec(&freezer_active);
-	pm_freezing = false;
+	pm_freezing_internal = false;
 	pm_nosig_freezing = false;
 
 	oom_killer_enable();

-- 
2.39.0.rc0.267.gcb52ba06e7-goog-b4-0.11.0-dev-696ae


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:20:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450527.707840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hc7-0000v1-FT; Thu, 01 Dec 2022 11:20:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450527.707840; Thu, 01 Dec 2022 11:20:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hc7-0000uE-CO; Thu, 01 Dec 2022 11:20:23 +0000
Received: by outflank-mailman (input) for mailman id 450527;
 Thu, 01 Dec 2022 11:20:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yxuz=37=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1p0ha1-0007Jm-F1
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:18:13 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d767aa69-7169-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 12:18:12 +0100 (CET)
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PA4PR08MB6287.eurprd08.prod.outlook.com (2603:10a6:102:ef::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 11:18:09 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda%3]) with mapi id 15.20.5880.008; Thu, 1 Dec 2022
 11:18:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d767aa69-7169-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nOGR5c5A3Jd49KM4BIrrrfWhCMW6vWOYVF+UwANqFf92XqRQtTGY5S5nK0KLFPSGpXISpNGSsVrr2qSh5GYGT6BPSuTvK5KWCwEOE54ml53FlSJ/8f98oHboKVxPCExtmd1rPzuYW4+tdNa4dr8+z0s31ziLf9GEP4CXPrmxfs34Yc/S8O2SbGPqb1WtrAZ4BBfYgODU9iNGxoj6TzqiArLfkDMcGbvcH+awFJO6i++LguyUr+fCl2IejcS/hDY1og96oT1NNC7BfAvxjsgi/NLKdRbePeKkwj8bb0W2tg48nFpYDOzhVjFhzwo3HxQr45CYzwKBXKQIhs3ukfxAhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A4AD/L8jR3RsJl4Pm02+iy8R79Zif1fOuANwHiiO+f8=;
 b=X8EBHQ/MFs6AvOAtSOMbfd/OvgOE0fayJ3WjGurCnksmvXPXh9PRzdgzgir/grYniOL4LzXSUe0PL6/e2JQ1WZK2RNrP96o5MycrQGtV7BrpM/0LXt1K1wm+zkmsfgdWu1BWSTJGtWqkskOexwaGoEQFNcVoe+8YTmXZz/gXQ6Mshs/Oz5HS9aBYQ8rixJpgLaPAxZzwggURTo1IRNO3fZFjN3NPaqKVVshfbG5fg0ToOAqFWHIvdQgclCIAwIHm5iQBi9bwARvoHg2Quqv1eoRQ23+/3jZdZtNllhimEFOrSvFTdib7dqlpsvwWsNDW0ApTcW+lbcHlxJs7ZriPdQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A4AD/L8jR3RsJl4Pm02+iy8R79Zif1fOuANwHiiO+f8=;
 b=Q9Hh+w8pttvdj1menmsVyGAoL+OpJHfBQ3Pi0O0digFmXPydeTMv+zRlEDvUtQaCoHajOEBA807Th13ROgRGDLZM8cTqoHv+HV0LsN6dxX4nrmU/5lj6JR96ZlpC87oEoixyiG/69+wm2dvdg2TGwLtZrgkMAxgu+rYbY/uRuUI=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Xen-devel
	<xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Julien
 Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/4] xen/scripts: add cppcheck tool to the xen-analysis.py
 script
Thread-Topic: [PATCH 2/4] xen/scripts: add cppcheck tool to the
 xen-analysis.py script
Thread-Index: AQHZAzNLrQ+cdSzeJ02hq/RTLwHjha5WqVKAgAC2sICAAI2ugIAAyymAgAAt7YA=
Date: Thu, 1 Dec 2022 11:18:08 +0000
Message-ID: <3FE8EBB1-B565-4257-B966-BD1E97E32451@arm.com>
References: <20221128141006.8719-1-luca.fancellu@arm.com>
 <20221128141006.8719-3-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2211291607280.4039@ubuntu-linux-20-04-desktop>
 <CD8C2F1A-B321-4E3D-907C-E6DBB1A5E2CD@arm.com>
 <alpine.DEB.2.22.394.2211301145132.4039@ubuntu-linux-20-04-desktop>
 <471b6470-b0b7-a97d-2114-a1871e237a89@suse.com>
In-Reply-To: <471b6470-b0b7-a97d-2114-a1871e237a89@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM6PR08MB3749:EE_|PA4PR08MB6287:EE_
x-ms-office365-filtering-correlation-id: ea485b57-593e-44c8-a262-08dad38db970
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 09BxsB/ui7/I0ZqRjcOMXOHUWTI4QCSS2iSf8Vj426CCnwVOnv2npPLD1x/zI8rrY2KTZH8X1lX0LlVHfEHQ5+SD52Pc21OlhTAOnoOXbAeS+nidJzZbbQXCPcsopgfcgrSquf+WMptnoQLfjNyzZ+fzfB+URDbQLV8Mb7Rji2KYrNiJF0JF6Mr3tkpCaCR0zwDO7YCV0xOTYPHHOzMTmNiSZgxl77leKQ+3SaBrZ58bROqMSdHzOGSG/8F6Gu2AVhkqSUoXiKTj0AzMaMo6oIwGfSNOjDuIUtn4S/1NohE7RYjYh9Wy3YiS7nprlKWL1jp94iTBV91Nm/wGT9OTbh4eWFvlu/Fmy9M05hcyrAKdtN76l35C5LPkXHrujXypsDSxTSQxtsHXV3uXfSPzCT29739jKK5Ki+gjAgjx2O8CT4T22Ql1iEkBvPUIF0kownf96zscGjca0YlKOVGqAAzeOZ1BJDeI1p6GZrrP7rNAG3qBQMJ2/EdcvLlCrbt/IuWtPgYXXLgIG5yEfTytxgdwfLdsRReRFOMG2jQaVbTEizrQSkHAhHebH6RNO3RlmTSEFRU6K4Mp4tmkDhocktCL2IIgNYUtrZo4CXimW4kgqRW0eHAftHYDUH1+cfmgJeMeiu6Gon2YbEE4lY35lnzpUcx+ylrrJd44MGvgyMrCBsm/NBc2SXrfcZoHIB9gxox1yKjcEfdJQh5exgydiTTC/VM1ro4q7dh6RY4hJu4=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(376002)(136003)(346002)(396003)(451199015)(53546011)(5660300002)(6506007)(86362001)(316002)(36756003)(186003)(8936002)(91956017)(76116006)(4326008)(41300700001)(2616005)(66446008)(66946007)(66556008)(8676002)(66476007)(6916009)(54906003)(2906002)(478600001)(6512007)(26005)(33656002)(38100700002)(38070700005)(64756008)(122000001)(71200400001)(6486002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?OfI7jIVYW37mJ1uehcRi7dFXYl792SeeAI4efZWWhmS0b2PI8TgWTL19K/TE?=
 =?us-ascii?Q?yb1oRfMgcR7cthJ5Gzk7TfWzK1xeo5W7JNgwj5rr+X4jX9+v8kw24FfxInI4?=
 =?us-ascii?Q?FDtIiEsjtANSlvrjtBDftoorf/oYo5KZAQu8F4CtPf1JBhCM3bHOW3rOKYfJ?=
 =?us-ascii?Q?EUqYO0Zl0luG1ZwutxZSZUGSbzSzGucEnQVSb9gGfka3JqAPIO/qD0GPin+k?=
 =?us-ascii?Q?OvKQaHS+TICRdpXG+E6FIPi6LygCfn/2I3MpiwapC+o9LOPFOc48V60lQVWR?=
 =?us-ascii?Q?UIH5iV6o33Zs6H7cAEQkbgprUTL+niu3aCjL0ofRLAomZ25qPdGz33scn2in?=
 =?us-ascii?Q?doWhZZKwTIR8qxJUnkljepx/KYKiJQ+dmJPRQfRPNrxzknKzmYUC85csJfNw?=
 =?us-ascii?Q?OMkGcFy2ySgAEe0Wb3dN9Dsh9ilsuMFofP/+eEcJSo9mG67NQ/qLbPmkPtG2?=
 =?us-ascii?Q?4TkRLNBFU9xMG1D7bIzDsZyLb5yS0fMjfcGJ46lU3cYgbxETjn/yJJU8F9dU?=
 =?us-ascii?Q?+SzW8PlT2vXOhI4ewclgVfvGLYmROOry0F5DXNec1YKToNC8a7fXQRfto665?=
 =?us-ascii?Q?o297SOow/KbYpYux0pTZwNnPs3L0lZPn0irx6LXmH+ZPmKuqYcg/G6yae4EZ?=
 =?us-ascii?Q?SyvAp8UP5bbF6O5f0xAaprT8kZNk1nJUYgMbHDMoDMrO8Zn89FOaBO6m6PJC?=
 =?us-ascii?Q?gyuMdfUm5IyGRmKV/paQPCP3UFae3iVZlDctkHV6DYXHHu/AidGRvS6iiJbh?=
 =?us-ascii?Q?VH/FW4g+fcRgt/ozGs1PRjqZx+K7nBEIDDPdCxEHSVJv/8COQMWohHuSm32y?=
 =?us-ascii?Q?1E0PBcaRwKWSxIZD2ErUyxtxcCNNMT63kYBHQJa3M2JlxFnLabH4PpJevbM4?=
 =?us-ascii?Q?11RG8Ljro53xDWZFzqPe3ZW2v9UaUZTQGd3EANihxyTvKJMeaclMOqz0hWXT?=
 =?us-ascii?Q?PAm6yKC7DSc9OP8NX3FwJTeTstKAdWjI2XLNz/kkTP/FqLe8aGByGSsFMRxT?=
 =?us-ascii?Q?XJWBOp/dRuKiSgwMy0J3+R0tyX3qF4m/AnwCpPmKa1n8LL+hTnUYsByWwW0P?=
 =?us-ascii?Q?KRpRuD6DfjHYv+uB1zXZcZFJkCqxFn9IuNl6W5YR4StYvwB+TfWlD0PC8DaQ?=
 =?us-ascii?Q?9Ut1nMCrNOtE2V/3QbmCWzjK65E4MHCUGhhZz7Ck6S15T0s3mjSQZ5Ixi3d9?=
 =?us-ascii?Q?U4I2E7vBq7cOsaZS92DdOMPgCyWiQxRJXEP/tdPzZHSmrqevSYMNpPjydg9I?=
 =?us-ascii?Q?I+PFBd1NQHYalujh7hLfiUhooT+wWK/9SdXo9KkQGZjxqOj/jI28GyMwHMfb?=
 =?us-ascii?Q?bZRqjeeNah5savDhIq7dSDn3EfaaKJvxCOtKDkyxnQLkSGK5OkXCf3a0vy+N?=
 =?us-ascii?Q?lRp4msq4wXLV7FaM4fPrS9X8YJCfnpARa5pvulfjHeRXDBlUYmLveV3LqJK0?=
 =?us-ascii?Q?dXIrtp2aVmR+nQ++vyOI+T2hvarsUxwkXcC3lLK9R9WlraMlh3aF9IfLP0x+?=
 =?us-ascii?Q?s6GLvfXexT3IVW3fmSe1UtCDuEchkLn5OmsKrTNuhUgv52yv4F7wSIv4iRka?=
 =?us-ascii?Q?EN3h1r91epzd3ce7d5JwNGDVr2fxkJtmwn5QzDzgfZxBxDwN8itaCceXHqTZ?=
 =?us-ascii?Q?Jw=3D=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <5AF8BDC5AB0B834FB7821208A4876C2F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM6PR08MB3749.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ea485b57-593e-44c8-a262-08dad38db970
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 11:18:08.0737
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 2SHD4JYKVvCOMuMGoMxm2G1B+I+fehJtCVY8Jl8E3C7pMtzu3xVhbbVWPQRwC/M9HZLnSu2DHfiD1brNIyoZvQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6287



> On 1 Dec 2022, at 08:33, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 30.11.2022 21:26, Stefano Stabellini wrote:
>> On Wed, 30 Nov 2022, Luca Fancellu wrote:
>>>> I think the revert of the cppcheck integration in xen/Makefile and
>>>> xen/tools/merge_cppcheck_reports.py could be a separate patch. There i=
s
>>>> no need to make sure cppcheck support in the xen Makefile is
>>>> "bisectable". That patch could have my acked-by already.
>>>=20
>>> Ok I will split these changes in a following patch
>>>=20
>>>>=20
>>>> Also the document changes introduced in this patch have my reviewed-by=
:
>>>> - docs/misra/cppcheck.txt
>>>> - docs/misra/documenting-violations.rst
>>>> - docs/misra/false-positive-cppcheck.json
>>>> - docs/misra/xen-static-analysis.rst
>>>=20
>>> Thank you, should I put those files in a separate patch with your rev-b=
y before
>>> this patch or this is just a comment for you to remember which file you=
 already
>>> reviewed?
>>=20
>> If Jan and the other reviewers are OK, I think you could split them out
>> in a separate patch and add my reviewed-by. If Jan prefers to keep it
>> all together in one patch, then I wrote it down so that I remember what
>> I have already acked :-)
>=20
> Docs changes being split off and going in first is okay as long as what
> is being documented is present behavior. If other changes are needed to
> make (parts of) new documentation actually correct, then it should imo
> go together. If new documentation describes future behavior (e.g.
> design docs), then of course it's fine as well to go in early, as then
> there simply is no code anywhere which this would (temporarily) not
> describe correctly.

Yeah I thought so, I would prefer to keep these files here otherwise I woul=
d need to
change them somehow and I would lose the r-by anyway.

Regarding the revert of cppcheck from makefile and xen/tools/merge_cppcheck=
_reports.py,
are you ok if I send a patch with only those changes? Would it be ok for yo=
u if the new patch
is after this one?

Just asking to prevent back and forth.

Thank you

>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:21:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:21:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450533.707851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hci-0001Vd-PD; Thu, 01 Dec 2022 11:21:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450533.707851; Thu, 01 Dec 2022 11:21:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hci-0001VW-Lj; Thu, 01 Dec 2022 11:21:00 +0000
Received: by outflank-mailman (input) for mailman id 450533;
 Thu, 01 Dec 2022 11:20:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lVjU=37=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p0hch-0001EY-2c
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:20:59 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a51eb28-716a-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 12:20:58 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6942.eurprd04.prod.outlook.com (2603:10a6:803:136::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.20; Thu, 1 Dec
 2022 11:20:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 11:20:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a51eb28-716a-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f0XXqcYPfyjK3WKD82dnvrHsJ8MMenr9YAupc6W/k4B8yllycUsAVNDvlhMfXEUapz8ulkJJcQV47Hb9buBrB9DImEFt5gDpM61/hFTZOsI2uzKO4SD5KeM4vr4si7i4YNbJw6nuSidQB++1cs5h7+8eSmJr0f6ErNHcWRYKMk740ftCZcwF6HLh3TaEmBWzGJDMdUSX1b66r44dRZ2MkwrQfTa4ZU12Jfag75Ab8pG+z3Nx7NU4BZMGn9+gTGKW/Go4af+b3KYNZRyiKbXzQ0cuLwv6OckzC5xtx5GUkhRoR985JvPFi4vZQO+F1KIuHvtzzEvaRM3n4F95O7rBqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZMJjuJi8bJYQBmtK1tEJB0+DrvlHB8ny1vOTO1rWOzE=;
 b=LnY2MeGxyH4AgaZKLjs8qGz5Uz3brH/x/1UnP+m9rkF1UZvUD672Bt7E0J/VW1556cJkCJDSCSWg+YlFa7l1farGwpdcE2fvZ3Hb9rsV6yYbb22EA0IdhxIUzo9fz9xBPwq8ysKd8Maczpmxm3Gw8RRHTvHv5RSo+iP/z+KzNEld0BtMCzs8SF2xMXdj40A+IYOhzGjWA0BgkcEMfyjjTzXPXxdsJNBREoRSiRAi32WzFJk/KK38lAIpzNt+bCs0o1Cf70Nseow5Civc2YUMpvxBa/SWnsqeIIBJdlgMV4NL8V000EemvFP0ShfkSi8mPcvu63CCAxadbX9XENeztg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZMJjuJi8bJYQBmtK1tEJB0+DrvlHB8ny1vOTO1rWOzE=;
 b=OcVaZnuQBWExT3dR66IgL7/sn50LbhRLqgp1MrG/mP+qBqzzkP/6t7P5igMz+xVOzDrh4m25A0ILCIlPSOLvS7mcbDEAUpvInSVZ8DPtbVffBR1k7t3XyYWPLMZ3nUElqC4y88RWlLEmjS6KIYPaeRt4AS0IplYPpVL0b+mnHW6hILKKrY7CN1LFCe6tg/dOzM2gHscIp2Usp1HNT9TL5ybTTXno6czJfa77H3gPdfg3xwTpEu9l1m6a/E98O0biaFKV7b0VZWswCxbfKHnaBryS4LzQyfHYZxuJdwCRxYPBUiMobGGeINTcBCjtcFqZGMYZo6vKk7iSmyfctXAjAQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e5aacddc-1149-6a8d-4840-836edb3ad0c0@suse.com>
Date: Thu, 1 Dec 2022 12:20:50 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH 2/4] xen/scripts: add cppcheck tool to the xen-analysis.py
 script
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>
References: <20221128141006.8719-1-luca.fancellu@arm.com>
 <20221128141006.8719-3-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2211291607280.4039@ubuntu-linux-20-04-desktop>
 <CD8C2F1A-B321-4E3D-907C-E6DBB1A5E2CD@arm.com>
 <alpine.DEB.2.22.394.2211301145132.4039@ubuntu-linux-20-04-desktop>
 <471b6470-b0b7-a97d-2114-a1871e237a89@suse.com>
 <3FE8EBB1-B565-4257-B966-BD1E97E32451@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3FE8EBB1-B565-4257-B966-BD1E97E32451@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0102.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB6942:EE_
X-MS-Office365-Filtering-Correlation-Id: 58391638-b900-46a4-bdf9-08dad38e1b2e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oJ1aW6ymSTVrnsXWP3A0SO849K7KQJHtC0ZIE3lT7+P1ZIBaV1ZhrnK9VRB76T9ls36Y5GFnDk+3Q8cptGRoR6rBXCbN18YO1CCnfYZ6FvE7mN/Zyy50S5tK7F41+WRBRQd5j7zOZ+CF3pdStKvaX4Jok3bO6ZVbAwkS1LDXveare3DqBqP1uvJIYbDs3oOJTTJ6iz4X4jE/eN142B/lEky+3ql/3EREMJ6JLDT3xZDTbf2EeOan41uql3JCUJ0emdU7G+2PkU/PRCOU2P+Gb+EuBTXl08R38MIWbPObEnddj60j4PcwOaNTtRYzrLeZwG6Z2P+sNax3ekqkM20/Ze/UUuPlnSC8Wb4D+JlswnLyyaVTqHT2UbHXR5+5UaNVqOKrXDksOSUz0bQK028AuAF1QGoLQVZUZ0kl0jMxSZNskjSrzsxS8x6oLj8TziuTiOT5MWDxcIlDMK3ItVCJYryPnopSDYk7LRYTfLUIYxN8J5et+U1OzunXMxttWTfA+hlOMKouJ7Ol3J554JMljGzmpUNkcj8Fg1Zh6Ydpr2Mv7R0Z5Mgh4FjIoUL9NlcphZTP8hWyD22HAvy/H/dRtHvDbsLr1DnbyoecIX1RYjN5qNxtMnqDUhJZ9dGIyx+yXSVrZKGkhHGWg5AZV+3/p1YIvNEmrbNbPxNU2aejBZeJ90EWoKHioG36LK/OnH36BP7RECYZYalOg+fvWZzWmBTIXMGYASRi6/h0cFzCqQ0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(396003)(366004)(346002)(136003)(376002)(451199015)(26005)(5660300002)(6512007)(36756003)(53546011)(54906003)(86362001)(6916009)(6506007)(316002)(38100700002)(4326008)(2906002)(66476007)(31696002)(8676002)(8936002)(66946007)(66556008)(2616005)(41300700001)(186003)(6486002)(31686004)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVZ3bUh0ckJRWkFDZFhXZFE1RHBuQzhyc1B5cGxmVkQyT1czM0ZEeEFJbm1D?=
 =?utf-8?B?ajlBdDJxSzI5SFNvajZNQTh6M1laTHJyU201NGkxODkydUJEQ2lRVFFvdy85?=
 =?utf-8?B?czEwMVhKOVZFL1ZIdnZMekNGVXorZGlMckxrM0Ztb0wxRjFYaUd1MGxEOEpk?=
 =?utf-8?B?VmJuUU95MjBmd05mdEtuSnp1VG5vM2IxWUJxS2w1UFZ5eHRhUTZDVXRrT3lM?=
 =?utf-8?B?K1hnY3BFckRNdnllMlpONmsyRFoxazI2TUo4QS9KUG9HR3JjcGMxMzRZODJF?=
 =?utf-8?B?eTRRVEpKcnhjWFhIUEp6SWphbXlzWkxqa3FzWmY1UFVtYkRlTm4vU1Zvb0t5?=
 =?utf-8?B?Z3FvalFzbG04c01PNDB2TTMweVd0K0dYSlJodFNBWXdpc0REV2N6Y29MK29B?=
 =?utf-8?B?bGhrRmVYVkQ4ekpMS294NmlKKzRodWpyQy9hcjE3ZmJLTU9XVHRzT1M2bXM4?=
 =?utf-8?B?UmE5RHNYUTU0MVZXZ2pSa1JjUkV5NmQ0SlBCYzlnaTI1TmtBWFZzSmtPZDQv?=
 =?utf-8?B?M1djR0ljTXAxcGlmdUFLQ0hWd2VVYjlrOEo1L252MDZHS1dMM3B3OUhkcWJU?=
 =?utf-8?B?cHEyRE95dlhQVXNPREhYeHNWM2MxV2FtWDNZUkNFRW84R3BZVkVIbzVMcWdw?=
 =?utf-8?B?eHR3VjJWdWFZblNOVWRjVXZSdytHQWY3aEtxVDNvZEFId0JrbFFzTlAzWWty?=
 =?utf-8?B?cmtnRTVRZk9haEkrbDNuQlhBMnRSc2VBRjBjaFFvVkIybXVlNitSYU9EUzdX?=
 =?utf-8?B?YzBYYmY1WjlkZGxDakpsckF5T1FzYVlIZUl5am5lcU92Vm1yQytJOVh0eUxG?=
 =?utf-8?B?Tk9xd2ZVd1hyaSs2THY2YUkvK1IwZFNZcmN4SG02c0RNSG14b0tJRmxxSEFW?=
 =?utf-8?B?WFp0KzU5SHRDMHpxZXZnUzNLQWNBZXhscmpldzZ4Wml0ZFEzUTZUSkdKMnZk?=
 =?utf-8?B?c2dQSklUK2gzUlBFUU9NdzhHRVRIYjhOSUJCRi9UMWt0a1piVG42Z1I3TUp4?=
 =?utf-8?B?d2c2QUsrVzNrSnJLVmVKMVJpZjhkczVZS3ZKUWQrMGVQSjRadG1rR0RWWHJ1?=
 =?utf-8?B?L2ptSkU2Wk5Bd2NkVGRXMDJ6cnpOSGhtQW50V0Y4UjZQcEFud0ljQmhaU1Nv?=
 =?utf-8?B?dCtCUWM2cXJjNVVqUk9Td2UySC9ReGE4cXFpK1E2cThGNVBZU2IxaHhLY29i?=
 =?utf-8?B?b3ZjQU1YNUtWa3o4dXhLZ1VqODdXSUpleElQQW04Z0NhU2pqeTQ5Q1VlNkdo?=
 =?utf-8?B?Q1FQVjh1WkhvRExsM3U3QlJGM1A1Vk9GTndGZTVsbFFoaXR0b2RUSER0UjNY?=
 =?utf-8?B?MnNzcFhYQUV5UVdBSm9VM2txandJQWxzOFpya3U3dm5OSEhSWC9OOVNqVUlu?=
 =?utf-8?B?ZTNKeHFHdUsxWWFNUms3bCtTRmZMTWVlRFhLbFpEU2FRdlQ2QlJLYUl3YUk3?=
 =?utf-8?B?VUh0MWlKRnZEeHBGdDJNKzVTbWlJay8yL1J0MHdpcGlZOGluY2dyV3hzS3No?=
 =?utf-8?B?SnhnempoaTZ3UW1BYjIwQ0ZyU3Uvcm9VWFBVbStHejNWMEZyWlFoVURGQ2kr?=
 =?utf-8?B?ckhleWdmK05pRCtHOFEyTithWitKWHl0OStuMEVFRlhNWlRGZ05pSGgxcGl4?=
 =?utf-8?B?WXliUDh6Vm9MRDhnNHNXSnB5V1VJOGp5UjR5dTBWV01oSjVKeFpvSXcwYklx?=
 =?utf-8?B?ejdjRTdzSmo5eVk4OHNKbWwraGtzN0dCVTVCYlBJNWpYSXJNUVVzYTRkNHFo?=
 =?utf-8?B?bmF1V1J1emhEbUNjRFBjZnpDcWFLcFhRMHVyalNyRFQvQTM1UHZKT05BQW4w?=
 =?utf-8?B?QWhqQWRRbUtnbm5YVEcyQ2JJRHI2RjBaNXRweGRVZDZ2VTRmL3VuTlR1cDBq?=
 =?utf-8?B?MDFwaGUwcnEyUXBMbTBYSkVaMlJRVVpZOXFwOVVvNHgxUDI0NlZQSWpXMkNQ?=
 =?utf-8?B?Y1F0MDlJaUN4UjgwV1VxejdGNUcydkF4M0k0ZEVPUTBicnZicmhUMmo0VzZr?=
 =?utf-8?B?RUdxeEh2c1ZmUEp3UHZ2dGpac2N3UUwyNUNvcFR2MkJCeWZpcVk5OWxqTnhl?=
 =?utf-8?B?emJ3WnNZbCtpSUVldXcxdFlwWjcreUlQdEU1bWdPemlMQk54MWRoQWRGL1Jj?=
 =?utf-8?Q?XVKCtMuYuFlll2Jj2bjjcwScJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 58391638-b900-46a4-bdf9-08dad38e1b2e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 11:20:52.2773
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EMjJfXm3MsFF34fZRSQ0KgEiPicuMqlBNJcdbnRL8cJTCel4qNQW2zRz2YkCoWbCC5M/m4HGnUocs0OhJBoN1w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6942

On 01.12.2022 12:18, Luca Fancellu wrote:
>> On 1 Dec 2022, at 08:33, Jan Beulich <jbeulich@suse.com> wrote:
>> On 30.11.2022 21:26, Stefano Stabellini wrote:
>>> On Wed, 30 Nov 2022, Luca Fancellu wrote:
>>>>> I think the revert of the cppcheck integration in xen/Makefile and
>>>>> xen/tools/merge_cppcheck_reports.py could be a separate patch. There is
>>>>> no need to make sure cppcheck support in the xen Makefile is
>>>>> "bisectable". That patch could have my acked-by already.
>>>>
>>>> Ok I will split these changes in a following patch
>>>>
>>>>>
>>>>> Also the document changes introduced in this patch have my reviewed-by:
>>>>> - docs/misra/cppcheck.txt
>>>>> - docs/misra/documenting-violations.rst
>>>>> - docs/misra/false-positive-cppcheck.json
>>>>> - docs/misra/xen-static-analysis.rst
>>>>
>>>> Thank you, should I put those files in a separate patch with your rev-by before
>>>> this patch or this is just a comment for you to remember which file you already
>>>> reviewed?
>>>
>>> If Jan and the other reviewers are OK, I think you could split them out
>>> in a separate patch and add my reviewed-by. If Jan prefers to keep it
>>> all together in one patch, then I wrote it down so that I remember what
>>> I have already acked :-)
>>
>> Docs changes being split off and going in first is okay as long as what
>> is being documented is present behavior. If other changes are needed to
>> make (parts of) new documentation actually correct, then it should imo
>> go together. If new documentation describes future behavior (e.g.
>> design docs), then of course it's fine as well to go in early, as then
>> there simply is no code anywhere which this would (temporarily) not
>> describe correctly.
> 
> Yeah I thought so, I would prefer to keep these files here otherwise I would need to
> change them somehow and I would lose the r-by anyway.
> 
> Regarding the revert of cppcheck from makefile and xen/tools/merge_cppcheck_reports.py,
> are you ok if I send a patch with only those changes? Would it be ok for you if the new patch
> is after this one?

I don't mind you doing so, but I guess the question is mainly to people
actually / possibly making use of those make goals.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:21:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:21:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450535.707862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hcp-0001oN-1a; Thu, 01 Dec 2022 11:21:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450535.707862; Thu, 01 Dec 2022 11:21:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hco-0001oC-UL; Thu, 01 Dec 2022 11:21:06 +0000
Received: by outflank-mailman (input) for mailman id 450535;
 Thu, 01 Dec 2022 11:21:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+/wf=37=citrix.com=prvs=32775c42f=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p0hcn-0001EY-MC
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:21:05 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d1797e5-716a-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 12:21:04 +0100 (CET)
Received: from mail-dm6nam04lp2042.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.42])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 06:21:01 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 BY5PR03MB5063.namprd03.prod.outlook.com (2603:10b6:a03:1e4::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.8; Thu, 1 Dec 2022 11:20:59 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 11:20:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d1797e5-716a-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669893663;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=txA+m2MepZuyf0K3WmYbOOAhEQ4K7r69qQhi/nI/Mo8=;
  b=aaG//rEDXz3GlwNXCEO6+pAUU14QYxryaxyDibLUuT3eMJyBfAy7vMgd
   r+7wCwdPM7jNXcV40RxE1Ksf/CS1somZ1uGiUBySq0RwmA59LosxLrRkA
   W1wHxNeiW9rHBhpICDhErLRJFldi79JZimzoomRKKVJvZ2rXEwsMCnO5+
   c=;
X-IronPort-RemoteIP: 104.47.73.42
X-IronPort-MID: 86032890
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:SK8x+Kq+v+a4Np79mhlqu5FIDOteBmIHZBIvgKrLsJaIsI4StFCzt
 garIBmAa/6DYzf1e9F/PYy/9koCuJfRyoM3SARtpHswHyIU+ZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzyBNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAAgtKU6cnOix+e+AZbB8i+QsceS3BbpK7xmMzRmBZRonabbqZv2WoPN9gnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3j+OrbIC9lt+iHK25mm6Tp
 njH5Hj4CxdcMN2ZxTuK2nmtmvXOjWXwX4d6+LiQpqAy2wfDlzR75Bs+cF6Vs9mDjXeEd/kYA
 RcV2gZp8JMr+xn+JjX6d1jiyJKehTYMVtwVH+Ak5QWlzqvP/x3fFmUCViRGatEtqIkxXzNC/
 lOAgd7BHzFkt7yRD3WH+d+pQSiaPCEUKSoOYHECRA5dv937+tlv1FTIU8ppF7OzgpvtAzbsz
 juWrS84wbIOkcoM0Kb99lfC696xmqX0oscOzl2/dgqYAslRPeZJu6TABYDn0Mt9
IronPort-HdrOrdr: A9a23:OotdFKvzJAlAhZhJkKff11JW7skDstV00zEX/kB9WHVpm6yj+v
 xG/c5rsCMc7Qx6ZJhOo7+90cW7L080lqQFg7X5X43DYOCOggLBQL2KhbGI/9SKIVycygcy78
 Zdm6gVMqyLMbB55/yKnTVRxbwbsaW6GKPDv5ag8590JzsaD52Jd21Ce36m+ksdfnggObMJUK
 Cyy+BgvDSadXEefq2AdwI4t7iqnaysqHr+CyR2fiIa1A==
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="86032890"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=S5goLJqthuwoqkG0WeRFwgMdHmWFju8X4CHHSScn/LcKnAEy+LQn8GcRmKknv9zG6IK2HZspuAdanqiXeeN3v9dDrnR62/0TmUeoEDQ1lnnL+B5RY16v5LZjZIQv2CrbLt6akUVoZXzzXbbUeQzKPRW4CgudHk8p6TrDu+57+lhSvRn7Osv1IOHlbZQIKYgtxfzQB+9DZ6OBtG4T12kULonU7d+63zML9sRV4iWEHVPxFiYkxnlX0D0JgjNduEfSln1/pb2oLH7n+Kcyst7Gsj9mUBtmWEdi7HrokEjnsOD9U08Z66iFzEVPt8M9e6+Iw6zr6CPvYQCiZCQo4S8bug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=txA+m2MepZuyf0K3WmYbOOAhEQ4K7r69qQhi/nI/Mo8=;
 b=hBPzONfhUljsAvYqdoBZYuPUFBylE602F4gn9jp3NDN7ISYJNN1BqljP3pvXtSunjS/PlSkgQoFMqTiscJg1sJWoOh9COO7ZLAlY7wOuXEpOhyYadwwfUcX8BktLAYMvejqLbj035+DRhlzgxH8sfJayhSGcpTllSTHLZATtwPuJkFnh2FCBLQLl+nWw0/a6fSVxPJUkViDFXj5mhy7WPeUG5RwdU1uLsicPXLqosASDDyDUP/MwpCYNuDUX0CDWx7zp7dRZcMx0bPeplY3sM5aMA3Bb+Ij4xtfp8nuixIhXKarFkHW/IINa314KTUbL/SO3AQFRLIf/xsUz8DrOIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=txA+m2MepZuyf0K3WmYbOOAhEQ4K7r69qQhi/nI/Mo8=;
 b=cOcghOy9Ft8mZS56ycn30oPGVW+yJbl3AQ6T9YkVc5rNPv3T6R6sdzC2PeMu+SvXz4eAl7ATzQE7smJRj/I5E7hpfGfFZb2HPnX8SW/D9i9TIM5w8dr8Q9ZKfNfWFJcUDjjK3g025SDxZWXp7/qcR05mQEv8AsQ4thlwmGdz2k8=
From: Christian Lindig <christian.lindig@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Edwin Torok <edvin.torok@citrix.com>, Rob Hoes <Rob.Hoes@citrix.com>
Subject: Re: [PATCH v2 4/6] tools/oxenstored: Implement Domain.rebind_evtchn
Thread-Topic: [PATCH v2 4/6] tools/oxenstored: Implement Domain.rebind_evtchn
Thread-Index: AQHZBNyCM7ZphV/4jEuRLBRtweaKfa5Y5D8A
Date: Thu, 1 Dec 2022 11:20:58 +0000
Message-ID: <27ED9DA5-D63E-4F49-824A-74AD7149DA5C@citrix.com>
References: <20221130165455.31125-1-andrew.cooper3@citrix.com>
 <20221130165455.31125-5-andrew.cooper3@citrix.com>
In-Reply-To: <20221130165455.31125-5-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|BY5PR03MB5063:EE_
x-ms-office365-filtering-correlation-id: 2805ec9e-9cd4-4f4d-e976-08dad38e1f3f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 vc7TLHlMvxLfwItxAE3w9VFAB1Bm5oM3feRtT3q/y7ZI0cJRcxhc8Jin1VS5N11SNkvSZdVY+rZwX2TsJ7NJOhhEQZgiE24nFHcd9eeia7/HrGtaO0hX50w5k1m1VJEujiVRcad4FX8rPw9SN9zTpR6nUn5izF3ayn4l4V7K3Skfn8zVltxqMiX44zNs5Vv0VOZb6hg/0Wj/RGAhxL7mueSWIOLjK95cUrwszanVPYDWTLeiwJ8zr6wXxqPcFRb4BCrXwrhemFJRmQ8L24iRoaoI7boOl9EGL8Ka+OYBXRjYESb9lf0+DBt/e08iPONeP39UgMFP0DT+Xiava2x7JMn+96paf4ej9UPx7QADjKuf3DguX6XNMbvtdLA+bGRpOOgVBZUYWDSlciB4Jk3zvSqH08ko/XGGVpBa9KHlp7+SpMlrEeGxao+guZojX7NUHPqGYFsasnRNPiZdgOYc9V20yVMvdWNhLv1+0TdQVEWwMXrnefmqJEWYMMK8tzkW13YsMGDEIqAvZYYBVMV8pKXNjvQZ4xgOJpM3uxdcmJ8Tvvkg13J6+TxlVA0Ewxr23rHctgZ7FTMazrLMHVi8giZlPasTeu8n7BG4vfk2RY0VK5J9/JYD0ZCakHpHAyc+cJ6eYWJPL0KPDw3DtyaISJAZun9334cUcEJHN7MQ2fDgt/0ZI8WzsR2xBBbmluDPD2aohy3ob3fcGZJjFOuDqmZfhCI9VRfiRUTs0sFuVVk=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(39860400002)(396003)(366004)(136003)(451199015)(122000001)(38100700002)(83380400001)(86362001)(82960400001)(38070700005)(44832011)(2906002)(5660300002)(64756008)(76116006)(8676002)(4326008)(66946007)(66476007)(66446008)(41300700001)(66556008)(8936002)(6862004)(53546011)(6506007)(6512007)(26005)(71200400001)(107886003)(186003)(2616005)(37006003)(6636002)(54906003)(316002)(91956017)(478600001)(33656002)(6486002)(36756003)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dlZhU0JYRm13TEU3MTFveDFZbXpDSUh6d3J6Rjlla3pVbU4xRHU1TFpWeXU2?=
 =?utf-8?B?Zm55dFRmb3hlcU9kU1V5WlUyb1JQbndUc0dFVVBLUStEa0xFS3VMMzNqZ1No?=
 =?utf-8?B?MmFFcTllTHNnQTdqYTRMcStaa3JnUzJ0YkwrUU1ybzkzY3NtVXFCRlZ2dnhT?=
 =?utf-8?B?S3FGTGVDUDQ5NDYrUEw5MUFOOTAwMHV5MnF6VEFSc0ZSMUp3RHBQVyt1K3Fh?=
 =?utf-8?B?N0dJQ1NYaGVhZmNEL1hHbEM4OHQwMUpZa2hYSUpuTWVmRlc2YkdKbWZlY0Y2?=
 =?utf-8?B?K2hQTjRLRTkvNHB6UTdMbWZCemdZajJXb3dXb3dGZWN2eXlJYUxGRWJVZmFC?=
 =?utf-8?B?aExYR2hOK2lCaTV0RFN5N2JzbXgxd0FrZ2hVMWNsdFJaazgzZFcrQ2tRRDBM?=
 =?utf-8?B?QmNJTWJaR2Z3OCtKNmNhL2M1eWVLalZZTmZncXYwL2F3b1ExWnF5WEVQVkhj?=
 =?utf-8?B?eGtRdnFlb1lJQmFGYTdBa1JRSXVFWUxUV1JYMkluWStuOUtiSzN3OXdES2h3?=
 =?utf-8?B?YTNMelM4SmVFeEJGdTRIT0tYNkNpaDVqbDlnOHJJSmM0SVRzODRQVm5lTlBl?=
 =?utf-8?B?WFpuSDJ4Q0tFWDV4VzNBeEVKUjRJUzBjVjRvN0Z0cEp0Q1lSSm5Kc1k3SVRC?=
 =?utf-8?B?cjBaeC9xQ3c1Q1RmY2ExSFhlODh4VGlUWTk2UWFCYW5yc3ZBbHdqeGhNdXZk?=
 =?utf-8?B?TVk0RVNjUzY4OUlFbW1SNFFFWGZJNG56VUZQWURjOFR0QmdySURHWk8vaHpo?=
 =?utf-8?B?ejRRY2VyU29SU2xTb1daVnl6NHp1UkR6eitGb1o2VnZaUE82bDdSbFlOMlU2?=
 =?utf-8?B?cEN1TDlNR2p4WmNrcndZYjVWVTVVK2wxVjM0K3lOZFFWNmFnckdIVEg2ajBh?=
 =?utf-8?B?UlpSemNwbzV6UFlCUzBYTlk0a1NuQ2tjNG53SWFqU3UyS2xValNxMlpPTzRN?=
 =?utf-8?B?M0FocXZ6U3dCTHdxY1hXWkxzaUZDNFQxQjJyWHRHcUdTVjFnL2tiM0JacC84?=
 =?utf-8?B?cDArVjI5alQwM0JSRnZjM1pPd3FBR2kzMVczQzZTOHd5WVZOcHU5a0hHTi9B?=
 =?utf-8?B?ZFRiOFZ0b0RUOTdUZ0F3Wm9WYnkxSm5iZ0MrQWtjUFVha0VCZXJhNlJrdjAy?=
 =?utf-8?B?T3puMkZjMkdiKzc1TlhqVm1TSlBaNThFME85MFdzSis2djJnOVUrQkxmV3U2?=
 =?utf-8?B?YldhUUR5UGMxMnlYbXJUaUFsZXk4bG9JUFVDSTNNeGRaR2pYNTZGMTR1cllx?=
 =?utf-8?B?b1pRZ3hxdVoydGVieXV0VTZzS2h4ZkZFVkdIVi80K0pQOHdVclBTbVlhYkth?=
 =?utf-8?B?UXo4L3Z3UTUyVGhUb3lmTW8yTmttelJndVZHblpYREYwWERpRFI1R29ER0d1?=
 =?utf-8?B?RisvRG9lNmsyV2lNZThmazlYWEErb3BjSmJJQ1M1L1QxLzZJZXpkNi9mK1RY?=
 =?utf-8?B?ajNReXA3VGZpR1FDUjdiS2FhMkRhNUQxRS9Nc2FySWl5SHpHTDB0SjN5VFFw?=
 =?utf-8?B?WlNMbUNOOVB5cmc1WDd4WmdSYVgyemxHd0xrU1J5QkpXN1c4dnFHRVp3WkVM?=
 =?utf-8?B?ak44TjBIbmE3blBheFA0elhWNldQRlFrRDJBai9mSVduVmN0SU8wWGxSYkl0?=
 =?utf-8?B?bHNYRzNUVDZJcTc5SWtQVU9VVkhyS0o5RktEcFdHbVJsSVIreUZoSHZtK0NP?=
 =?utf-8?B?M09MV2cwL2h0eWkyRkU0Tzd0QmdGQW81N21jempjV2k4cWpkV3BDQkd4bkxG?=
 =?utf-8?B?MndMbGRYaTYzeEZJV0crQmVvbXNOQlVpQSttVXdyaU5zT2x1ZlNsWFUrMm8r?=
 =?utf-8?B?a3pVUGQ0OG1RYmplK2JESDUwOVMyYlZwN2daSGFudkcvKzFtQUo3amh4U0Za?=
 =?utf-8?B?WFNIN0gvQTk5d2xVODhMVVhWVFFHOEIxT01VakpjN0ppeWJETVVBVGlOQm9v?=
 =?utf-8?B?RUFSOXJrNUVkQUZNOEcvWTBBVFlFSDU5V05XbmNaSVFDZXplMnRvRXpLZlNr?=
 =?utf-8?B?ak9NQ1Y1VWdreGN4Z1ZwRTZieVpIVS9LVklIdExkY1k2WlJYYkloSCtodncv?=
 =?utf-8?B?aFMyK0pzemovdlZOQVlHbUF4U0QvU3FBQllWUnJyekNmaVhJdE5QaEVBYmFS?=
 =?utf-8?B?S2hoU3dacjZBRTVMMU1QTjhXMXhaOU4zcEtxK3QyZ2NuS1lQekJpMU95MnJn?=
 =?utf-8?Q?sA/qp4mC3ALxar0xk8K81Vg=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <CED22C8348211D4E98E7A61856EF0CE2@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	GYHEhPFFG/+zxQBxnbjmVsTgGNcuW5t7tvNk8p8OE3qq/BCve0U0tyCNjEn7TiPcZH/BTQ0IPPh9nDyJNyYgzWzmx5d375bTOh0RTwQG6MP+vnuwRBijX/In8Hehh/BsDW5cBa1pAFJHeojmpThpaTHFipp/RePrnYfwOL3xTNfReJrT09mDiDiKYLPpoA2A5ei/WdmTepe8/oT0K7qtQDiJsCU0x5xxHVZZztMbKIRddVvv8ynQikLU1ieOCR7EXge3d0fRXJDibz0pdidjjxAqyZwlKlSPcEeD1Ta7PfwNnwh64G7j7EdNnlfu4H9YUKuFswb7L/d9+aB0F3/a12+2PJ32RQvBtT/NIy6+5HarxNzi0a+TR/hLGF+VpUvOIl2+Kr/J2/dtZKMF1wpZr/LKxC7QSJkhgUt9dJmOfRE5GrzPPvm5K3p5NeC5+Rn57YvIWzDWxknRkJDgqGFhEnFDea6K38HIzvv1JDIeB99npvhhRAdtcVLU0fk0rkE5PWVvAezOpmaS2xXoCfbRTFC6HklZ0uUR1fv13GdxGheSTV3zCyEe0ftP2cgKCxuUsWrNl5v3ePSvk5KdiiFt+CM/rC039r9lC4pVLqdKbquwTSDT4U9oP8KkrIJDYWi2NXKnUx9dGZqEn1Q5XCQxTjJj2hmqdsa8kC1IK7mKX26nRtlBsOVfATRRfFDHl2+PczA0IYzy/9cynvU3o2IhCFneHuRZ2l6n/WVlG3V/VV43oHGrbbeYLVlOjlmRv6lfX3js3JVfFTsMGr2WI8r9Hm6+mITWWcofN6k0apGW0a434pSrlyqpKme2iaJ+1wzx
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2805ec9e-9cd4-4f4d-e976-08dad38e1f3f
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 11:20:58.9289
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: TrMv5moI8EFme73olMWh4Nw3TKUh14PZk1R+9iHrglRZQACrT8UOVlwfJlHCVgNgzHuWxfMS4nTw/mx6Cq3nYDK3gVEHUUIgqwp4A0paffM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5063

DQoNCj4gT24gMzAgTm92IDIwMjIsIGF0IDE2OjU0LCBBbmRyZXcgQ29vcGVyIDxBbmRyZXcuQ29v
cGVyM0BjaXRyaXguY29tPiB3cm90ZToNCj4gDQo+IEdlbmVyYWxseSBzcGVha2luZywgdGhlIGV2
ZW50IGNoYW5uZWwgbG9jYWwvcmVtb3RlIHBvcnQgaXMgZml4ZWQgZm9yIHRoZQ0KPiBsaWZldGlt
ZSBvZiB0aGUgYXNzb2NpYXRlZCBkb21haW4gb2JqZWN0LiAgVGhlIGV4Y2VwdGlvbiB0byB0aGlz
IGlzIGENCj4gc2Vjb25kYXJ5IFhTX0lOVFJPRFVDRSAoZGVmaW5lZCB0byByZS1iaW5kIHRvIGEg
bmV3IGV2ZW50IGNoYW5uZWwpIHdoaWNoIHBva2VzDQo+IGFyb3VuZCBhdCB0aGUgZG9tYWluIG9i
amVjdCdzIGludGVybmFsIHN0YXRlLg0KPiANCj4gV2UgbmVlZCB0byByZWZhY3RvciB0aGUgZXZ0
Y2huIGhhbmRsaW5nIHRvIHN1cHBvcnQgbGl2ZSB1cGRhdGUsIHNvIHN0YXJ0IGJ5DQo+IG1vdmlu
ZyB0aGUgcmVsZXZhbnQgbWFuaXB1bGF0aW9uIGludG8gRG9tYWluLg0KPiANCj4gTm8gcHJhY3Rp
Y2FsIGNoYW5nZS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5j
b29wZXIzQGNpdHJpeC5jb20+DQo+IC0tLQ0KPiBDQzogQ2hyaXN0aWFuIExpbmRpZyA8Y2hyaXN0
aWFuLmxpbmRpZ0BjaXRyaXguY29tPg0KPiBDQzogRGF2aWQgU2NvdHQgPGRhdmVAcmVjb2lsLm9y
Zz4NCj4gQ0M6IEVkd2luIFRvcm9rIDxlZHZpbi50b3Jva0BjaXRyaXguY29tPg0KPiBDQzogUm9i
IEhvZXMgPFJvYi5Ib2VzQGNpdHJpeC5jb20+DQoNCkFja2VkLWJ5OiBDaHJpc3RpYW4gTGluZGln
IDxjaHJpc3RpYW4ubGluZGlnQGNpdHJpeC5jb20+DQoNClRoZSBjb2RlIG1ha2VzIGNoYW5nZXMg
YXJvdW5kIGlmLWV4cHJlc3Npb25zIGFuZCBpdCBpcyBlYXN5IHRvIGdldCBtaXNsZWFkIGJ5IGlu
ZGVudGF0aW9uIHdoaWNoIHBhcnRzIGFyZSBjb3ZlcmVkIGJ5IGFuIGlmIGFuZCB3aGljaCBhcmUg
bm90IGluIHRoZSBwcmVzZW5jZSBvZiBzZXF1ZW50aWFsIGNvZGUuIEkgd291bGQgYmUgbW9yZSBj
b25maWRlbnQgYWJvdXQgdGhpcyB3aXRoIGF1dG9tYXRpYyBmb3JtYXR0aW5nIChidXQgYWxzbyBi
ZWxpZXZlIHRoaXMgaXMgY29ycmVjdCkuDQoNCuKAlCBDDQoNCg0KDQoNCj4gTm90ZTogVGhpcyBj
aGFuZ2UgZGVsaWJlcmF0ZWx5IGRvZXNuJ3QgcmV1c2UgRG9tYWluLmJpbmRfaW50ZXJkb21haW4s
IHdoaWNoIGlzDQo+IHJlbW92ZWQgYnkgdGhlIGVuZCBvZiB0aGUgcmVmYWN0b3JpbmcuDQo+IA0K
PiB2MjoNCj4gKiBOZXcuDQo+IC0tLQ0KPiB0b29scy9vY2FtbC94ZW5zdG9yZWQvZG9tYWluLm1s
ICB8IDEyICsrKysrKysrKysrKw0KPiB0b29scy9vY2FtbC94ZW5zdG9yZWQvcHJvY2Vzcy5tbCB8
ICA2ICsrLS0tLQ0KPiAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDQgZGVsZXRp
b25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMvb2NhbWwveGVuc3RvcmVkL2RvbWFpbi5t
bCBiL3Rvb2xzL29jYW1sL3hlbnN0b3JlZC9kb21haW4ubWwNCj4gaW5kZXggYWIwOGRjZjM3ZjYy
Li5kNTlhOTQwMWUyMTEgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL29jYW1sL3hlbnN0b3JlZC9kb21h
aW4ubWwNCj4gKysrIGIvdG9vbHMvb2NhbWwveGVuc3RvcmVkL2RvbWFpbi5tbA0KPiBAQCAtNjMs
NiArNjMsMTggQEAgbGV0IHN0cmluZ19vZl9wb3J0ID0gZnVuY3Rpb24NCj4gbGV0IGR1bXAgZCBj
aGFuID0NCj4gCWZwcmludGYgY2hhbiAiZG9tLCVkLCVuZCwlZFxuIiBkLmlkIGQubWZuIGQucmVt
b3RlX3BvcnQNCj4gDQo+ICtsZXQgcmViaW5kX2V2dGNobiBkIHJlbW90ZV9wb3J0ID0NCj4gKwli
ZWdpbiBtYXRjaCBkLnBvcnQgd2l0aA0KPiArCXwgTm9uZSAtPiAoKQ0KPiArCXwgU29tZSBwIC0+
IEV2ZW50LnVuYmluZCBkLmV2ZW50Y2huIHANCj4gKwllbmQ7DQo+ICsJbGV0IGxvY2FsID0gRXZl
bnQuYmluZF9pbnRlcmRvbWFpbiBkLmV2ZW50Y2huIGQuaWQgcmVtb3RlX3BvcnQgaW4NCj4gKwlk
ZWJ1ZyAiZG9tYWluICVkIHJlYmluZCAobCAlcywgciAlZCkgPT4gKGwgJWQsIHIgJWQpIg0KPiAr
CSAgICAgIGQuaWQgKHN0cmluZ19vZl9wb3J0IGQucG9ydCkgZC5yZW1vdGVfcG9ydA0KPiArCSAg
ICAgIChYZW5ldmVudGNobi50b19pbnQgbG9jYWwpIHJlbW90ZV9wb3J0Ow0KPiArCWQucmVtb3Rl
X3BvcnQgPC0gcmVtb3RlX3BvcnQ7DQo+ICsJZC5wb3J0IDwtIFNvbWUgKGxvY2FsKQ0KPiArDQo+
IGxldCBub3RpZnkgZG9tID0NCj4gCW1hdGNoIGRvbS5wb3J0IHdpdGgNCj4gCXwgTm9uZSAtPiB3
YXJuICJkb21haW4gJWQ6IGF0dGVtcHQgdG8gbm90aWZ5IG9uIHVua25vd24gcG9ydCIgZG9tLmlk
DQo+IGRpZmYgLS1naXQgYS90b29scy9vY2FtbC94ZW5zdG9yZWQvcHJvY2Vzcy5tbCBiL3Rvb2xz
L29jYW1sL3hlbnN0b3JlZC9wcm9jZXNzLm1sDQo+IGluZGV4IGIyOTczYWNhMmE4Mi4uMmVhOTQw
ZDdlMmQ1IDEwMDY0NA0KPiAtLS0gYS90b29scy9vY2FtbC94ZW5zdG9yZWQvcHJvY2Vzcy5tbA0K
PiArKysgYi90b29scy9vY2FtbC94ZW5zdG9yZWQvcHJvY2Vzcy5tbA0KPiBAQCAtNTY3LDExICs1
NjcsOSBAQCBsZXQgZG9faW50cm9kdWNlIGNvbiB0IGRvbWFpbnMgY29ucyBkYXRhID0NCj4gCWxl
dCBkb20gPQ0KPiAJCWlmIERvbWFpbnMuZXhpc3QgZG9tYWlucyBkb21pZCB0aGVuDQo+IAkJCWxl
dCBlZG9tID0gRG9tYWlucy5maW5kIGRvbWFpbnMgZG9taWQgaW4NCj4gLQkJCWlmIChEb21haW4u
Z2V0X21mbiBlZG9tKSA9IG1mbiAmJiAoQ29ubmVjdGlvbnMuZmluZF9kb21haW4gY29ucyBkb21p
ZCkgIT0gY29uIHRoZW4gYmVnaW4NCj4gKwkJCWlmIChEb21haW4uZ2V0X21mbiBlZG9tKSA9IG1m
biAmJiAoQ29ubmVjdGlvbnMuZmluZF9kb21haW4gY29ucyBkb21pZCkgIT0gY29uIHRoZW4NCj4g
CQkJCSgqIFVzZSBYU19JTlRST0RVQ0UgZm9yIHJlY3JlYXRpbmcgdGhlIHhlbmJ1cyBldmVudC1j
aGFubmVsLiAqKQ0KPiAtCQkJCWVkb20ucmVtb3RlX3BvcnQgPC0gcmVtb3RlX3BvcnQ7DQo+IC0J
CQkJRG9tYWluLmJpbmRfaW50ZXJkb21haW4gZWRvbTsNCj4gLQkJCWVuZDsNCj4gKwkJCQlEb21h
aW4ucmViaW5kX2V2dGNobiBlZG9tIHJlbW90ZV9wb3J0Ow0KPiAJCQllZG9tDQo+IAkJZWxzZSB0
cnkNCj4gCQkJbGV0IG5kb20gPSBEb21haW5zLmNyZWF0ZSBkb21haW5zIGRvbWlkIG1mbiByZW1v
dGVfcG9ydCBpbg0KPiAtLSANCj4gMi4xMS4wDQo+IA0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:26:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:26:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450556.707873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hi2-0002we-Pe; Thu, 01 Dec 2022 11:26:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450556.707873; Thu, 01 Dec 2022 11:26:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hi2-0002wX-MB; Thu, 01 Dec 2022 11:26:30 +0000
Received: by outflank-mailman (input) for mailman id 450556;
 Thu, 01 Dec 2022 11:26:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+/wf=37=citrix.com=prvs=32775c42f=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p0hi1-0002wR-Eh
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:26:29 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d818e7a-716a-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 12:20:11 +0100 (CET)
Received: from mail-mw2nam12lp2043.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.43])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 06:26:18 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 SN4PR03MB6703.namprd03.prod.outlook.com (2603:10b6:806:21f::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.22; Thu, 1 Dec
 2022 11:26:17 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 11:26:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d818e7a-716a-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669893987;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=YmjI6pAkG+BdzKjrihEgJqAvcwNj3hrdHNXnMlDRRp4=;
  b=Vv0FR55rkwGuuRMWigEPV/dXMPcIWuWcOZshaX/kEq4onOh/cgr9O5+7
   /SNClo0cnp0OL87dA8XIry0ofgnlpuFzpiWS6dKmVJqyAbwPrZmfK6HXb
   GlaikZeBGc1dzDDIMpRdIIv+9xrwFRyLEHXQ8+iLu5AlS5D+WMvVWrS/0
   M=;
X-IronPort-RemoteIP: 104.47.66.43
X-IronPort-MID: 88568380
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:MPb2AqJ26lXE1F+UFE+RzpQlxSXFcZb7ZxGr2PjKsXjdYENShDwFm
 GQZXWrUM6uDN2b3eY90Oom18hkCvJaDm9JrQANlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5ARnPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5xQj9z9
 NBDAQoGLU65t8SEzpuiSftj05FLwMnDZOvzu1lG5BSAV7MDfsqGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/RppTSIpOBy+OGF3N79cdyQRN5Jn0+e4
 GbH+Wj4DTkRNcCFyCrD+XWp7gPKtXOrBdxCT+3gnhJsqFO55WsNMU0Pb0q2u8C/oRS1dPBcK
 mVBr0LCqoB3riRHVOLVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQqvdE7bSYn3
 ViIm5XuHzMHjVGOYXeU97PRqCzoPyEQdDUGfXVcEVBD5MT/qoYuiB6JVsxkDKO+ktzyH3f33
 iyOqy89wb4UiKbnypmGwLwOuBr0zrChc+L/zl6/sr6Nhu+hWLOYWg==
IronPort-HdrOrdr: A9a23:k/+RWq3xTnLqHecpws4OpQqjBVxxeYIsimQD101hICG9Kvbo8P
 xHnJwgtCMc+wxhPk3I+OrwaZVoLkmskKKdjbN/AV7AZni3hILLFvAH0WKK+VSJcEeSmtK1vp
 0BT0EKMqyTMbEMt7eY3ODXKbgdKZK8gdmVbK/lvg9Qpf0BUdAr0++HYDzrWXGfumN9dNIE/d
 Onl7d6T0HJQwVbUu2rQnMFU+LAvNHAlIvnbRkaDR8q4guDgFqTmcTHOgnd0REEXzxVx7A+tW
 DDjgzi/62m9+q20xnGygbonuNrcfbau65+7fa3+7woAySpjhztaJVqWrWEsjxwqOaz6EwymN
 2Jpxs7Jcx8537YY2nw+HLWqkDd+Sdr72WnxU6TgHPlr8C8TDUmC9BZjYYcdhfC8UIvsNx1za
 oO1WOEsJhcCw/GgU3Glq71fgAvklDxrWspkOYVgXAaWYwCaKVJpYha509RGIdoJlOJ1Kk3VO
 11SM3M7vdfdl2XK3rDuHN03dCqVnMvWh+bX0kLoKWuonRrtWE8y1FdyN0Un38G+p54QYJD/f
 7YPqNhk6wLRtMKbLh6GPwKTaKMeyPwqVulChPTHbyQfJt3eE4khfXMkfcIDKDDQu1H8HNE8K
 6xEW+xlQUJCgfT4ebn5uw2zvkMehTPYR39jsVFo5RpsLz1Q7TmdTeDQEsjns+po/AVBNyeQP
 CuJZJQDffsIWzyXZ9T2QfzQYNfJBAlIb0oUqVSYSPLnivmEPyaigWASoetGFPEK0dbZov8ak
 FzGwTbNYFa6Fy3Vjv2mx7UH3P3fEvn+4lseZKqodT6kuU2R8txWit5syXh2inKRAcy6ZDfMi
 ZFUenaeu3QnxjowY57gl8ZYiZ1HwJJ5L37XzdQqRUXNl6cS8dfh/yPPX1X1GGKYgByVNnXFg
 k3nSUqxYuna4GLgT04A9ikMmWVy3sfzUj6NKshpg==
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="88568380"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=itVPV0MocV/g2jX17cVYIC2Ow7NFkzKLlzD0wNznFt7OPOma6t8Nd3og6lT/YSIVdx2Lr0r9AkDr46OXcXvLEAqYSy87vSWC+r5M4X5pyZV5szt/GJPNMIiS6Dg2aDialicmJjdFihNzVpPc/fEiufkMAJ/00sjaJM6IPvyyzSp5YlWAdohYWsbGAtninWgh16ZAZPDbc3s5zetrIrYQGou5gu5WqvAq0OoabncYuAGLZv2+Xzl35zPA97p4NJ1PUWtUw2mdJWlx4TUKyiAK7g67FFZYzrkmZaewWdVF1gkn0cZWkOAO2v5NiKMQ9i5OaEuw1QJdYXyc3qIbyHDs4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1Aqy0MZ9IAOZpNXFwlHlIPsi2nmbKD9KDE9zcUf9O7k=;
 b=dquSSfdfwPqQR4SRH46AZl8Yy0EBC1uNWqd9hTKG/uODR/MAKwqcK6uNYk1XK+15TaOts126Dk2tZOx/2svp7sC4B6JLwpp1FaS+8CCSDxWRPMhwvHMiPnPM09xV1GAvfiTABV3jEzEWCR8tH4guRrbBh9QRetCaliyzU02CITZbokyyzISdsrO9A4yJJdyJf82ZGgFepsB+qpEcKsXRDEmobg5ZA8hK78VMQ4Oe5Lf+WtRJof1wrO/MVOnjwfiXp9HTcSejOxkn4JVqGYhDzc6ylRIzkgG7pwFReaGIDkNnbPfyw6pdD0phn2c1akBx/d+/flvVAQ70BMyyoAxR4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1Aqy0MZ9IAOZpNXFwlHlIPsi2nmbKD9KDE9zcUf9O7k=;
 b=NyRUSHTdaqjHfZYMi2eNa3c1J4EsQnXwoYWDZiDbuXqtEjlNtUs/JU/w8YeXhveC8PPI1bI+MlAtiH874lw/CRSMI052t01NQsvpdJ4WCUfau0wSdyzBAx+ZJKUJRJWbhhCq6lo5yfqjAdwA2C9Nrv1RIIn9L8YgzFC1ZhSQNG4=
From: Christian Lindig <christian.lindig@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Edwin Torok <edvin.torok@citrix.com>, Rob Hoes <Rob.Hoes@citrix.com>
Subject: Re: [PATCH v2 3/6] tools/oxenstored: Rename some 'port' variables to
 'remote_port'
Thread-Topic: [PATCH v2 3/6] tools/oxenstored: Rename some 'port' variables to
 'remote_port'
Thread-Index: AQHZBNyG3m7L7jSbr0+plHBtk/aEza5Y5boA
Date: Thu, 1 Dec 2022 11:26:16 +0000
Message-ID: <775FA3EA-6F85-4706-8159-EB8CFFD983E2@citrix.com>
References: <20221130165455.31125-1-andrew.cooper3@citrix.com>
 <20221130165455.31125-4-andrew.cooper3@citrix.com>
In-Reply-To: <20221130165455.31125-4-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|SN4PR03MB6703:EE_
x-ms-office365-filtering-correlation-id: 65a11df0-ffe8-4a97-56fc-08dad38edcc5
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 HMEaC2Aj7+Q1MJLWWGM0Lvib2IMxRlbXYGqGMkt9stLueneG3U9HI8SinNEA1c0R79hg9FXWqV4Agn7RYB2OU51f2LR9MpCAB95tO+iGw06QsbTWPoD8wcL7rHSLt0dKUTeg7mNSGuM3WPdNCpRUHh43g6hX4ImlVL0eNBo8W/EVjnIZ7EQGEyQz11UUbJmHRH/bRVES1Ggz/Zw0Ws7i6NTaiPR1xqiX+oYEK+eoxz5ZFqby1X9+/PABqUPaShvCeJhm76evbAS+OSzqvvS/HPOBH8vGpPXRyZXlS+HQxCH3GaL5LFDHHSQ9nBFFu3jy2N1O/cF8klJK6PyCgnDY/UrWjyB59upANnjKjKljFYVDA5PL8zvnSR0bC5obuENhDFMMz7i+CWwvO4rrlFizC90tJ2Yqu+NE+c6QzqOZBgG1+5hPNHkzghusfExh2mCumQd/yh8fxUAZh2TuWn5Gk+d9GsMBLrAkX0MbpJkghQpTRIa+5jwkPtR82xi6YMLVfJygsKc1HZ3kM3nzlWgxFy7YtJ5D64Iefrk3UEE9wdqOXSSdd7UeopT7foOUTnWzPb41h/BLFs6HKDgCdz9FLlVILaJYV9ULhDj/daCxY2//nRK0ZbqCYrpX1MIr3ZOwMCNVlTruj8e2gAaMZFi0vjU1j3KDllAI5goAqaSIjHHeh69/GDuZ3PzDlPbYRwYoYEAk4FUvJKWXeD3bdp9+IjtEsEszanDr3hEfbXRyeuA=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(136003)(366004)(396003)(39860400002)(451199015)(33656002)(2906002)(83380400001)(38070700005)(6486002)(478600001)(91956017)(44832011)(64756008)(6506007)(66446008)(82960400001)(66556008)(66946007)(86362001)(122000001)(4326008)(107886003)(8676002)(76116006)(36756003)(316002)(5660300002)(6512007)(26005)(186003)(66476007)(71200400001)(6636002)(54906003)(2616005)(6862004)(37006003)(38100700002)(8936002)(53546011)(41300700001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?N927CAaHTW+84+VKyVt6FbARqx6UjOOcSiYCedDLE3VX0LCI4g85t3ZmFAL2?=
 =?us-ascii?Q?JsG8MEktcRVpbtKZIcVYJsVV3of/F0s5OD/cUJKRkKHWmgU8zMRhnrOy4ZFi?=
 =?us-ascii?Q?aatdtIIy5tBqm3MX1hscPHenlhjnEmSPC6T0gfCYg1h3jmDJu7P1va8FCw/f?=
 =?us-ascii?Q?aka9hUejvve3uiTgkBdovcZuyQompDxdKsEqghahzrHhcavW3/9yrJoAes/s?=
 =?us-ascii?Q?abeDuTx/3pLjJ6q7wF+JjJhVM3T+PJ82+IdiY+LY+mZZqT1nkbWYdN9Crzem?=
 =?us-ascii?Q?VWqpYncTufWMWilhCESYAaXTzg6JeEmSNfbQkWBOtWmuaunfqwYxZUQfbdPS?=
 =?us-ascii?Q?0+pAGJsKUurPGl0IXCm4RlnB4Fk91rO9riBoq9DHnPYDw+2PSCkt50tqtrlv?=
 =?us-ascii?Q?efLTu0zWux2xswrhyHUin9fFxpG1dcjykgrNxCtxzkBzHgQhRXKwXzrFlm6o?=
 =?us-ascii?Q?QweESEuO2PNo3DTj5h7aKPToJtMhgpkrdvDaI1M86YAIA39OxVo/H8cF94Ps?=
 =?us-ascii?Q?icomvZQXU/xOqc/L9msPwIAQTYJZgQppnQsrD6kVWl42kS2gg+RmHiPH8ACg?=
 =?us-ascii?Q?E8r95qApXcgrYMnZwQUG5Y0jt5TAQ44boI9//aaB09ugoRrqDawMNXOKcJ1i?=
 =?us-ascii?Q?Njvy3vh9xIAEXIyOBYrVzvmS6RXrMx3pZuFVbbxWcjtGkdaocpE6jAi3cR7+?=
 =?us-ascii?Q?hWhfivzOndRhHILRhzKvHJ7bxmZUSwPOJG5iXA7QLmTE/oybp1mGABIf8qg9?=
 =?us-ascii?Q?BvjRFkHahWsVm2lp9OBoswGiZaWSriRlksIIXsw86sDH9DbQQ3i/NdjWGGfd?=
 =?us-ascii?Q?fKkdm7Xc1S5Oq2aH98rEJ03tE5MXVPom47vBshvFRo2TiaRmWXjAiuuPnNMI?=
 =?us-ascii?Q?9Um2fO66kIKph9jDrbO3/ecTqLdO1sXW+evHQbGYutxantteAKU+daEYJwUE?=
 =?us-ascii?Q?8XZi9uFxXbEFrFtCCGETQNM+sn45q5QCdVx2Rj7NMX9zYlyJczMvLe3aO5cL?=
 =?us-ascii?Q?pVEI4TZVsEOtiWcfo1CzBKcYKXJpcOSx1/laCDcaAxFnchPQRuuBykcv2DBg?=
 =?us-ascii?Q?ulw37WuvWyOO6B94vwTDd0PxCSC8bDZ00oZB2BT+o+/XzM/T3k0CUhpHr/Cw?=
 =?us-ascii?Q?KZGv3fM3vAVgpGXjc5B7+lHFwcsX84q9987hR1bZMPEiDp8zhjbaEr4p4tK5?=
 =?us-ascii?Q?ZBq43aBN17Ux4iqXOIrDOOCzdGFTxmLRLxzLtYK1ZZQNZhlDSBe9o+HPa56l?=
 =?us-ascii?Q?x/0RLoaUwz2uVoIVfrRTLU2ewXp47E2Ols6oUjnsJTOgAf5olAIFDrvKd5JJ?=
 =?us-ascii?Q?au4ZFfZ4sdErRFJBXOwKU4HVGvaWu8u+YzwdvWwsJEc2aXVTjt6vkGk6tCLc?=
 =?us-ascii?Q?ss4l6OdhX2/nOaA8OPFeO8icLkQqWPOjnswqbQ8dxXX8HM9poMEGGTNpU0Hl?=
 =?us-ascii?Q?6ICh5TUixC2snFbVqXSOqQBoMWheVpb/5QHk4gmndC17BWoffpdqbjbKMVO8?=
 =?us-ascii?Q?2HJSSXCm9ifjbJvNcXhsPY3FFSp5YJvy4+m11f2BzfpqXIgB1ltbbslB020P?=
 =?us-ascii?Q?u9H7sjOOIZdEjeVKBNwZJBs+GEwwTaoXix5AbidyfcdEFBf6CkcPSVZKsf4z?=
 =?us-ascii?Q?fxdmekkByxw5Ct3BrNBFBFA=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <F07E22C1033DDF48BA183818EF5A68A9@namprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	6mpcMh+aK6PxwECsiFTkPPxeVnw6wrPuPw/oByBZOIdi+YXqIy8SxxSCKrNpsLggnFgaXYGVMxrWOwOK7uE7YIKS49vJuuq6+DZMGd06I7hwRDa9aIK3S7DvFUkqQdxoTplPpO6n0SGyNU3EkuI31I3FuZtUrARZeFtlNZnij7xjZ7fleyTGchQUn8zkG29oNqG6s2cFb8VSWl2lGmzoKBr9VM/kmylc0SGbBPBGIQyRq/eNZMbw0ZisiP8vNLtW+zRIXKksXkUVwnOfppMt6jbRn+sO6JcdT5Z3Afw9UEm8qtOO798b49tnZDpyw5x4ZbLUHwfy1oYdxtZKZ/Y1OTsCJNnd8s8stxrUtDaNG+I4mtuRW3qkqbpymenz+Nwnzo9QzE3Hdajxy1njI45SqOXcbKxUJeY0NwqYqLXYi9juZItsTQBMB4vwu0MC/iA0Wip/GxUufrwCtoFUHmKt39Xeyf/54XnS01suFSuvh2FpiqqdiQBsw1Yf+9MQjZfMh7TNVKuaq+FcAtv3pz+9ArjkeHcZjS9u7GlNRVZgo0OaLkjHnDWqjG4lUP71P+yTWRi6deEPu7nFMr9MsPEmAFJJbLNQK9+2W4MA6x8liBP/iYJX5RhnaB6ToddBuSpBLsWOYvGuwJqCmU5Zym/xt9fzeQjPwSHnw27zseb+/Cz+te9LiZOUw9kY7AZqj3fvOwMU644htTNnBcmk+uSzafQFhZuJfN0WXRPK3aSE4bnuM5o20roTetNTq1Kcpe/7CMft+/udCgSmI4CHfwKcygG/S7nLHQpcv9pMcopMK8y7v8q5cf69NFNaXhYCgLM9
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 65a11df0-ffe8-4a97-56fc-08dad38edcc5
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 11:26:16.8927
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: SKndzGmN58/Hqbeay+gm+X+HtYn/i+MpoO/xjJLcxEHgHwMF7Yat084L2kmq2COSgugs2EWpayFCtdgtpW20b5wbTXXeaWW47tVAg+k9YC8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR03MB6703



> On 30 Nov 2022, at 16:54, Andrew Cooper <Andrew.Cooper3@citrix.com> wrote=
:
>=20
> This will make the logic clearer when we plumb local_port through these
> functions.
>=20
> While changing this, simplify the construct in Domains.create0 to separat=
e the
> remote port handling from the interface.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Christian Lindig <christian.lindig@citrix.com>
> CC: David Scott <dave@recoil.org>
> CC: Edwin Torok <edvin.torok@citrix.com>
> CC: Rob Hoes <Rob.Hoes@citrix.com>

Acked-by: Christian Lindig <christian.lindig@citrix.com>


>=20
> v2:
> * New.
> ---
> tools/ocaml/xenstored/domains.ml   | 26 ++++++++++++--------------
> tools/ocaml/xenstored/process.ml   | 12 ++++++------
> tools/ocaml/xenstored/xenstored.ml |  8 ++++----
> 3 files changed, 22 insertions(+), 24 deletions(-)
>=20
> diff --git a/tools/ocaml/xenstored/domains.ml b/tools/ocaml/xenstored/dom=
ains.ml
> index 17fe2fa25772..26018ac0dd3d 100644
> --- a/tools/ocaml/xenstored/domains.ml
> +++ b/tools/ocaml/xenstored/domains.ml
> @@ -122,9 +122,9 @@ let cleanup doms =3D
> let resume _doms _domid =3D
> 	()
>=20
> -let create doms domid mfn port =3D
> +let create doms domid mfn remote_port =3D
> 	let interface =3D Xenctrl.map_foreign_range xc domid (Xenmmap.getpagesiz=
e()) mfn in
> -	let dom =3D Domain.make domid mfn port interface doms.eventchn in
> +	let dom =3D Domain.make domid mfn remote_port interface doms.eventchn i=
n
> 	Hashtbl.add doms.table domid dom;
> 	Domain.bind_interdomain dom;
> 	dom
> @@ -133,18 +133,16 @@ let xenstored_kva =3D ref ""
> let xenstored_port =3D ref ""
>=20
> let create0 doms =3D
> -	let port, interface =3D
> -		(
> -			let port =3D Utils.read_file_single_integer !xenstored_port
> -			and fd =3D Unix.openfile !xenstored_kva
> -					       [ Unix.O_RDWR ] 0o600 in
> -			let interface =3D Xenmmap.mmap fd Xenmmap.RDWR Xenmmap.SHARED
> -						  (Xenmmap.getpagesize()) 0 in
> -			Unix.close fd;
> -			port, interface
> -		)
> -		in
> -	let dom =3D Domain.make 0 Nativeint.zero port interface doms.eventchn i=
n
> +	let remote_port =3D Utils.read_file_single_integer !xenstored_port in
> +
> +	let interface =3D
> +		let fd =3D Unix.openfile !xenstored_kva [ Unix.O_RDWR ] 0o600 in
> +		let interface =3D Xenmmap.mmap fd Xenmmap.RDWR Xenmmap.SHARED (Xenmmap=
.getpagesize()) 0 in

Can we be sure that this never throws an exception such that the close can'=
t be missed? Otherwise a Fun.protect (or equivalent) should be used.

> +		Unix.close fd;
> +		interface
> +	in
> +
> +	let dom =3D Domain.make 0 Nativeint.zero remote_port interface doms.eve=
ntchn in
> 	Hashtbl.add doms.table 0 dom;
> 	Domain.bind_interdomain dom;
> 	Domain.notify dom;
> diff --git a/tools/ocaml/xenstored/process.ml b/tools/ocaml/xenstored/pro=
cess.ml
> index 72a79e9328dd..b2973aca2a82 100644
> --- a/tools/ocaml/xenstored/process.ml
> +++ b/tools/ocaml/xenstored/process.ml
> @@ -558,10 +558,10 @@ let do_transaction_end con t domains cons data =3D
> let do_introduce con t domains cons data =3D
> 	if not (Connection.is_dom0 con)
> 	then raise Define.Permission_denied;
> -	let (domid, mfn, port) =3D
> +	let (domid, mfn, remote_port) =3D
> 		match (split None '\000' data) with
> -		| domid :: mfn :: port :: _ ->
> -			int_of_string domid, Nativeint.of_string mfn, int_of_string port
> +		| domid :: mfn :: remote_port :: _ ->
> +			int_of_string domid, Nativeint.of_string mfn, int_of_string remote_po=
rt
> 		| _                         -> raise Invalid_Cmd_Args;
> 		in
> 	let dom =3D
> @@ -569,18 +569,18 @@ let do_introduce con t domains cons data =3D
> 			let edom =3D Domains.find domains domid in
> 			if (Domain.get_mfn edom) =3D mfn && (Connections.find_domain cons domi=
d) !=3D con then begin
> 				(* Use XS_INTRODUCE for recreating the xenbus event-channel. *)
> -				edom.remote_port <- port;
> +				edom.remote_port <- remote_port;
> 				Domain.bind_interdomain edom;
> 			end;
> 			edom
> 		else try
> -			let ndom =3D Domains.create domains domid mfn port in
> +			let ndom =3D Domains.create domains domid mfn remote_port in
> 			Connections.add_domain cons ndom;
> 			Connections.fire_spec_watches (Transaction.get_root t) cons Store.Path=
.introduce_domain;
> 			ndom
> 		with _ -> raise Invalid_Cmd_Args
> 	in
> -	if (Domain.get_remote_port dom) <> port || (Domain.get_mfn dom) <> mfn =
then
> +	if (Domain.get_remote_port dom) <> remote_port || (Domain.get_mfn dom) =
<> mfn then
> 		raise Domain_not_match
>=20
> let do_release con t domains cons data =3D
> diff --git a/tools/ocaml/xenstored/xenstored.ml b/tools/ocaml/xenstored/x=
enstored.ml
> index 55071b49eccb..1f11f576b515 100644
> --- a/tools/ocaml/xenstored/xenstored.ml
> +++ b/tools/ocaml/xenstored/xenstored.ml
> @@ -167,10 +167,10 @@ let from_channel_f chan global_f socket_f domain_f =
watch_f store_f =3D
> 					global_f ~rw
> 				| "socket" :: fd :: [] ->
> 					socket_f ~fd:(int_of_string fd)
> -				| "dom" :: domid :: mfn :: port :: []->
> +				| "dom" :: domid :: mfn :: remote_port :: []->
> 					domain_f (int_of_string domid)
> 					         (Nativeint.of_string mfn)
> -					         (int_of_string port)
> +					         (int_of_string remote_port)
> 				| "watch" :: domid :: path :: token :: [] ->
> 					watch_f (int_of_string domid)
> 					        (unhexify path) (unhexify token)
> @@ -209,10 +209,10 @@ let from_channel store cons doms chan =3D
> 		else
> 			warn "Ignoring invalid socket FD %d" fd
> 	in
> -	let domain_f domid mfn port =3D
> +	let domain_f domid mfn remote_port =3D
> 		let ndom =3D
> 			if domid > 0 then
> -				Domains.create doms domid mfn port
> +				Domains.create doms domid mfn remote_port
> 			else
> 				Domains.create0 doms
> 			in
> --=20
> 2.11.0
>=20



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:27:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:27:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450560.707884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hiy-0003Sk-2w; Thu, 01 Dec 2022 11:27:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450560.707884; Thu, 01 Dec 2022 11:27:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hiy-0003Sd-0E; Thu, 01 Dec 2022 11:27:28 +0000
Received: by outflank-mailman (input) for mailman id 450560;
 Thu, 01 Dec 2022 11:27:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+/wf=37=citrix.com=prvs=32775c42f=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p0hiw-0003ST-SF
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:27:26 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 202d7172-716b-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 12:27:25 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 06:27:22 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 SN4PR03MB6703.namprd03.prod.outlook.com (2603:10b6:806:21f::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.22; Thu, 1 Dec
 2022 11:27:20 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 11:27:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 202d7172-716b-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669894044;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=MfDKT0bKhOSENH51Zb9SaEg8m+bqt9pFHyA802p3q54=;
  b=HvNn3oTNewxAmlR7ij8ErxsC3aG+2YA2KkOtvBSbmezXRO7cNH/5lBdJ
   gPPN7SjVsZZWIRxZ53Uhp0uRZr+cJWPCodxorcput2ggqknt9IlXvNj0R
   EQLs2y11LDRIMy6N5as5AC9glpX09AtMZu4o1/bVTv2d6F/Pnb3c0sf9m
   8=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 88568499
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:86prF6nmExnFKOkgz4pPXezo5gyfJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJOUD/Sa63cMDajKYt/O4y+/U0G6MSAy4BkGwQ6qiE8QyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icf3grHmeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aqaVA8w5ARkP6kR5AaGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dAmJmxdTi66vcCJzru3TvFUr54vB+C+aevzulk4pd3YJdAPZMmaBo/stZpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVw3iea8WDbWUoXiqcF9lUaCp
 3na/m3/RBUbMtCexhKO8262h/+JliT+MG4XPO3oq6A63AzCroAVIDlPDnX4qqe6s0SjX+IFB
 FUYpHBpiqdnoSRHSfG4BXVUukWsrhMaHtZdDeA+wAWM0bbPpRaUAHAeSTxMY8Bgs9U5LRQm3
 0GEt8nkDjtutPuSU331y1uPhTa7OCxQJ2lSYyYBFFIB+4O6/tB1iQ/TRNF+FqLzlsfyBTz73
 zGNqm45mqkXiskIka68+Dgrng6Rm3QAdSZtji2/Y45vxloRiFKND2Bw1WXm0A==
IronPort-HdrOrdr: A9a23:PIoaE67/rhYu6fT0iwPXwOHXdLJyesId70hD6qkRc203TiX8ra
 qTdZsgviMc5Ax9ZJhCo7C90cu7L080nKQdibX5W43PYOCMggqVxe9ZgrfK8nnNESz5zO5S0u
 NKdbR4AtGYNykZse/KpCWzEtAbwNeBtJ2lgf7ax2pgJDsaDp1d0w==
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="88568499"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mvHWUyr12IQWrCubeuNRDF1ElDigirIA5zgpkWKfI7gDqE8NK8mLQYTri9uycjlWvn6EwLA9zZOAsPdWAs5hNc2tTRF2RoYqjht3kieRqBCDfB1OhqBYM3XBdUEsiSw0oPuok2TQ/6rSw15Lw+KxVK6wO+AQxyaW7bF5UbBWIdbwV32R1RskmOMMSzp03xiMYgMl7TpVfvpiTpLIG5DyqlJ6H4kVlv1GqgS1J33JlStIOf9dEnt6HoLLAeOnFb3rH1RfyeAbSfa3Dtz5eIAZFlPcGz+kiQTZmezNRHCy/YKPui0gPg3QHIiMcf2qdIhm/54Kwize+gIOpKPgcSESMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TBITVukZMk4wFeGbSIhXSmTcukl3kvHXt/fOIvH2m3M=;
 b=MlAjBXHvdujk7BauaCPqfilaB+j0aXQ43UW5bW1e3uwZGweVqWGx5Ud4tEbp1m/1EJ8mam83057qJrz/AOLtuO4bNO+qbL+E/Qrveax7n13fYifLMqBn3B2tqC4svh/KqIyo3J0cGuwSY1QbOFFcS+IS0+anH986ZdhtZvU/eLWlIrP/h/EPWZk1qSofU4Keb2nVzEtLthhnll5knd/gV3CL11kP1NJgSAOpmf9Aqu4se3hlsutgQ1LJeaS5pe6lYnz6/oIkirbZzSt6cAV6NLbVVdS6j9zbgcOhbOgV+m9Q9S1P29TXTSZ4RA8Q6sXBt9onFR95sa0LJAC9IfdATA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TBITVukZMk4wFeGbSIhXSmTcukl3kvHXt/fOIvH2m3M=;
 b=ap3SqayZw47ZJQbsc+gMycYWocc6Qvtq8nBgaUmuYo7afGGn6cJ280f0LGzABtSiGr3g9nWbnz4xqbNw+vH1Bp8qdzt9AQDxMOZ6Xv2LCQKvbBi1o0X5DGuqlfVqBkc09KJjL56YWzbwjWMoNrQnMp2nvyAK9OZzX9u5OnFFw+I=
From: Christian Lindig <christian.lindig@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Edwin Torok <edvin.torok@citrix.com>, Rob Hoes <Rob.Hoes@citrix.com>
Subject: Re: [PATCH v2 2/6] tools/oxenstored: Bind the DOM_EXC VIRQ in in
 Event.init()
Thread-Topic: [PATCH v2 2/6] tools/oxenstored: Bind the DOM_EXC VIRQ in in
 Event.init()
Thread-Index: AQHZBNyFiz9JQ1d6rkae9FT1ll5Oeq5Y5gYA
Date: Thu, 1 Dec 2022 11:27:20 +0000
Message-ID: <A4F72C75-8330-4D95-A9DE-5FC9C7582728@citrix.com>
References: <20221130165455.31125-1-andrew.cooper3@citrix.com>
 <20221130165455.31125-3-andrew.cooper3@citrix.com>
In-Reply-To: <20221130165455.31125-3-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|SN4PR03MB6703:EE_
x-ms-office365-filtering-correlation-id: 9d51bafd-911c-4c02-592d-08dad38f02ac
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 si6IVRadOLUEpOCMtoJ69jAEWVlRcbgZ7Vt42hwRTra4pWFHbR7fXN1snW/0eH5FD5MBfjnzxP+j+dMZEuT4RYB8SS0XxJH+X3NVpAEP2QbiEQO8/NKe+IlGtxflxT6v5DbMFClGvRz4fFE8d2PZYnMYKzLLkiD1bDo3jomK/EVrp4F3VkbABnNtnAjS+17unA1u/cmnku63p3SOBfycPXGIGiF3LD1UfU8fY19+XoqNfcKCTnSPF13rcsj2qm/sW5BbzLtFeQEDh7QLvxs9bnb18Qz0vhMoZwzrH+6AxLDn1A2ZpWMlgfHY3sE9pTrNsPPadJtkBtS25yFYQCv8YaO+uIdzjs4XaBMsqy8olj+1TIQYuy/N8kSpuBKG/AhA0zHh+RzG77C7GUv2CW2K+832lKyj3KV5piTx0s4SdPfg2heAe14L9DQUBr+cZeVAW7dBbQZsw9/qoZjv8JImkLXd+h8NsZMv7s7xf0YS5X++lmeYKaU772qd4v7J7moqOSFgVfijF+M3onVaHeyLtOYDbMQK83lYjicaTFDF7WZtAoMuasGp5VUqDDjAmHpTi3W94tFYopeqFddAPFesTek1ntdTUQd0FspHjMuJosN4dI0IFFEoZNLeGQW7Co0MN9HNRDjFm5KSnzR7eFSyEtvhtMHcsZNVIR5sT49+nA7JeCb29NFbNY5ANPyh77EzMBYsSEE+eJXI/LsTGRhbVSXBH18QwFyBoUbUSEns4sU=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(136003)(366004)(396003)(39860400002)(451199015)(33656002)(2906002)(83380400001)(38070700005)(6486002)(478600001)(91956017)(44832011)(64756008)(6506007)(66446008)(82960400001)(66556008)(66946007)(4744005)(86362001)(122000001)(4326008)(107886003)(8676002)(76116006)(36756003)(316002)(5660300002)(6512007)(26005)(186003)(66476007)(71200400001)(6636002)(54906003)(2616005)(6862004)(37006003)(38100700002)(8936002)(53546011)(41300700001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?RXvKPE77KJFx2OwTQvV7RTdhq7Y6nG080E2RyjexG3u2w9obxVYnL4J42D0s?=
 =?us-ascii?Q?8Mj9S5YdR+Y9lpjRCy3Xpxu+z/IcQTkDBAj9TV8GFD846P6Y9tHa8HBlYusS?=
 =?us-ascii?Q?ar0DYYe2VpYuVwvW4x5oCm3YX1ouhqnNkzbQ//j8HIIfioXWiv5dJ3X+0pP1?=
 =?us-ascii?Q?149mR4nj363EEL6ITM8jWtgxXLKDsZig9MpvIHkEleUEMxoYZCI9WEOHha3Y?=
 =?us-ascii?Q?zSgHBD1PiQ1gCx9B6zhh8CmhnMP62Kc1crurmMYE8NU8JtaHbOGqm3GGsnG7?=
 =?us-ascii?Q?u69Qb3D4K5W/GEh9Tei9fMLHcwxYbR5M807Mha/a+Zbhccm0Po613FXciMup?=
 =?us-ascii?Q?CsCwZLjLXZqAgiKjRK+aMiZP/nXfzQBfEvXGOBPxg/CnvfM8isqCWva+REYK?=
 =?us-ascii?Q?vZt8e05B+LecWVQOMCSycyH29Ih+5H+ioXuN7N5SMBFy2mQrkwwVdf4VgLBq?=
 =?us-ascii?Q?w6JY6d18C9YnCJIOtmnLUTOlG4PlV7RXB3o6vsnADYNSvU2FT7D0+9d3i8ZO?=
 =?us-ascii?Q?SVk3Y0iFherum79Qep352GIsMKdyHMZHkDg/lBeIeyFLMT6g9Gl7TRb2TvlE?=
 =?us-ascii?Q?mw9IqRlVwOxT7Pyk7mlGxvw8MsaZfW4uUoDfVPYl+oTxxDAV3uI/yzLikfqA?=
 =?us-ascii?Q?xMIGc35IyKKI3qWL9wh1j9PZQWMDa99X/kSvPyxmsHM5o5uKo7XVbuUcl4DJ?=
 =?us-ascii?Q?8Eb7p1Q8ulGCsbOQKd78HuppRHD+gFtcw2DUAsiqG+EkXXjjFisOEvBjMBXr?=
 =?us-ascii?Q?u9uOeMkvVbhYsybAWmH2xaaWskND5mCH+cJUGsuYJxHf358ap74hIJmL3Phi?=
 =?us-ascii?Q?6PNekKQa02gaunetfYglPqM1Nk+e8/4x7eWEIkpMal/uBx+kTb9uKvZrtExw?=
 =?us-ascii?Q?5f4Q8MYy7IPj2lb8CJ3CRpW7WGWrLXa7pneTx5a7tTg4Q4Jt8Xsa0Odb+CtL?=
 =?us-ascii?Q?idSZaEYl5lTOMidji/yH/mKE74ViH1ZpK7bDSx/Bb32wnuXfOA7nJVmE89j8?=
 =?us-ascii?Q?20aeCB8zvtt5KgsGJAla62ammVXwdGsCtETWDo8O7KgfbLkbp0DzheaCaGAZ?=
 =?us-ascii?Q?imjUvo3EorVe8UKe13+cb6DphWvOVv0Y2+OYiEbvv2vxPqozRL+0E2Vo/Nzp?=
 =?us-ascii?Q?C9gDQ/ozXhmzhsDUv07Gszb8hkIeLqZRTNZC6WqxyPTPZHozVEmvQwmCiSLI?=
 =?us-ascii?Q?62JCBmIXzfsRP+VKIyf57Bme3FvetwroKkzBtljG05uivvAxj+cDpuEVvn+7?=
 =?us-ascii?Q?HLaOSR9Sr6Kt3w1ZblVXNUzDet0i0d+Txr1cExg3qOzYut+yrhJ9IzG1kgbo?=
 =?us-ascii?Q?SDgU3EpTz5AuVslq+5Bj/6v/KfS+FkkEaYl3KpNEsMu78raolOy0ABBjRf6a?=
 =?us-ascii?Q?hgJsxTsNzvYbiej/9XrkHav0CC6B+QhmF45BakB9aAThn+dU9J2OSdjQ3zNe?=
 =?us-ascii?Q?qTm9Qi0eT/knAbNkhwcMnRA4gXUnqHe1LkZHPLgcbp4JO5/ONuezeqmGSf5f?=
 =?us-ascii?Q?cPfiUZjQIv5IcgznozehuOQEJJtYq5aawUToBp3PdEPCb1L/gfxWGffT8x0y?=
 =?us-ascii?Q?NIhtGddMkwS+f7YLVAdSTkYng2uu65PwS/CH+4hN/8Qud0LmnVftiqtpDHeT?=
 =?us-ascii?Q?nCtrqA718uwrqKAhhO/86uo=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <5056720111278C45B92E60F175B82FC0@namprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	5K1lxxyw+kf5MWrJvgmXQFoL9xm2FrzOqQcY4aQNBqIYllyqL5MM4BuU0fhC4yUWwqdGdkNqSxupvW10JPR0l6D5WlOMIaFAtDVao0Esc/wGGmL2YArKorOm0/q48pF9Wqm+vFPu6jOnstjStOPljlBM04YWfGwmsxuXG5NvCAOcQMlPvwO6eCBKIPjYqc58T8scPP1pjlooZcB9MiE14G4psGKvjkVtVHIfpgHihu4TNVc/XW+rzZkZ3SMTqLCkye89TFW0RPWGjy3HCjqQKOS5kaLV2Ya54tnHN0MCAtBD5Vm+VRG1bkgZt9XREl1x+ZyIpY8ggb1WTIYv26OgsDNikC9YiIIaqcy8l6ldnFltuG6YGK3lHl7Ok45ECnHwhxlg8zD0SheZZ9foaxIX3u6Uj9v/i3Oi/qB6lw0A5Y6w+8n0NltH8I/dxw40wKoZousNONA3ecym+NAESJbtp/wIGSZRuuLvhow1v72hbGTx4VHJx9Sgz642DzAgIdf5bs+uB+Q5EKnb7qjUVLMyHLCcpx8A+wAjo19ZltBs2CdlX9SHwdTdNrW5dYX8VhvDCFpXykuCnhCYCNJ3tNkffAf11l7GuQFcMU6x0h5Usgp2C8UFW7RiXPqeZD2Uz/xQKBlHQdU5VsKFXi1WJAAGo9yNZYBg7WsMQMgEcMOjF8lkhlEiC7kB1X2NUVNfCCPrkzgqwEZ/7AoQX+Di18sgAouMC6eel4BdTT2EFJx3QsSZdQPBz0uEtQ7qaa9vddR5HNz3Mw0Iqnp8cOHplX0ZOj1wuFxVFreCswMhIqCUYDkYM5VhQBF434jacCQnysj4
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d51bafd-911c-4c02-592d-08dad38f02ac
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 11:27:20.4355
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: mN9CYReyN/voLYeh4eJ/fesEkcYKoXaIdcLeVZPxB4L9ALS7AySEdvVya5qhqmLsQRYTCBfdIKmTSB0rJlimHYOUKMi1+QFYMBypRbHiupQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR03MB6703



> On 30 Nov 2022, at 16:54, Andrew Cooper <Andrew.Cooper3@citrix.com> wrote=
:
>=20
> Xenstored always needs to bind the DOM_EXC VIRQ.
>=20
> Instead of doing it shortly after the call to Event.init(), do it in the
> init() call itself.  This removes the need for the field to be a mutable
> option.
>=20
> It will also simplify a future change to restore both parts from the live
> update record, rather than re-initialising them from scratch.
>=20
> Rename the field from virq_port (which could be any VIRQ) to it's proper =
name.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Christian Lindig <christian.lindig@citrix.com>
> CC: David Scott <dave@recoil.org>
> CC: Edwin Torok <edvin.torok@citrix.com>
> CC: Rob Hoes <Rob.Hoes@citrix.com>
>=20

Acked-by: Christian Lindig <christian.lindig@citrix.com>



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:27:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:27:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450563.707895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hjF-0003tf-EW; Thu, 01 Dec 2022 11:27:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450563.707895; Thu, 01 Dec 2022 11:27:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hjF-0003tU-BN; Thu, 01 Dec 2022 11:27:45 +0000
Received: by outflank-mailman (input) for mailman id 450563;
 Thu, 01 Dec 2022 11:27:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yxuz=37=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1p0hjD-0003ST-Pq
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:27:43 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061b.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b6c5956-716b-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 12:27:42 +0100 (CET)
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by VE1PR08MB5629.eurprd08.prod.outlook.com (2603:10a6:800:1a6::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 11:27:39 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda%3]) with mapi id 15.20.5880.008; Thu, 1 Dec 2022
 11:27:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b6c5956-716b-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z/GW93+A1/3jJvuGTLm6X8VkCZrqu+PGJ2NAnwlgt2Ywrnfr6EHvZSRHIrd9jPQmfSAG+baf0Ic1oWSGPcEI/cFQDZO3NdYQo+eT9I9dPQjttXs3aELzGhL+ig2reT/hYZhYiWiRuJx2Pt8PDeNlcT/sQ7NS0ulb8TCfUGadxMWiWOeo3jQINbwnHL3+W2e8D2NxusldI/ftLtDx7GMQxLIOaoofYUOr2WW1NTeKf+RSoTlt2vzQ5aaHRdHd4yM/l84xl9i8UQl+0Wvp5WOx8f64oIIoO9SVtMgUOtS64Lwu3e5y9qwzZ7q3wTWQ5JpeMltf2nZxrb3pH6ugXupRzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MBd6anyJW1ann0UWdRaq1cQ8X8lRRQ2abDRfs2Lf9b4=;
 b=iIFfRCS2sypvAtuXVj9Uwl7itza68vu1R036sbSFqGAQJIiMRo/LMCtPMnYIuWbgT2SEguU0m1N9RrICZ6Zp4osCiHX8GTGcyGjZQvoDSBTA1O2dJQuq2QlYiN/JA6cxKisd9GHjTQO3eSMjkbG+FvQjBt4DjtIPyFpzJMHaQcIeAthsF2aKbBZQl6dPHkWsYQDxQ21OG56OoVftyDJe370pAKD+217xfKG2LY5wV/0zbS+cziQulDKF4DYMyq1Ihrn48NbvFOlxf5FpDVpA0f8d2RP7h1sEG75KSJVaFiP82rWKPDm+R8r2jDL1iFeMLDSuk637pte6BRcmGNugcQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MBd6anyJW1ann0UWdRaq1cQ8X8lRRQ2abDRfs2Lf9b4=;
 b=R0namPYdJr+gem/0+HLwOawlltTetrnt01ysLMnENoUoPYJd2x9Ej/UUBlEtP7rrB7eLUwNe+gvCH2LREzgICMJdvvt2tc/7NivXyamxY4KMVHTyOk2mtd96UlqpYZ7wleBBXpl9Pu9mAjQzUR5wwsaSjsvGs82N9tpVbF4/v2M=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH 3/4] tools/misra: fix skipped rule numbers
Thread-Topic: [PATCH 3/4] tools/misra: fix skipped rule numbers
Thread-Index: AQHZAzNHmn5ClVb9v0W1JXlG6nXFZ65WlJMAgACXfQCAAPYzgIAAxysA
Date: Thu, 1 Dec 2022 11:27:39 +0000
Message-ID: <677D59B8-839D-4C43-8546-67B2D1C887E6@arm.com>
References: <20221128141006.8719-1-luca.fancellu@arm.com>
 <20221128141006.8719-4-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2211291545420.4039@ubuntu-linux-20-04-desktop>
 <21F6A61B-1476-49A7-8726-7F94BBA627F6@arm.com>
 <alpine.DEB.2.22.394.2211301534190.4039@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2211301534190.4039@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM6PR08MB3749:EE_|VE1PR08MB5629:EE_
x-ms-office365-filtering-correlation-id: 6faaf4ae-84ea-43ca-5b98-08dad38f0dc4
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Q7JIx4v9zt5LUtbT4SiDqv33t6pC/dCV2FUSGb7yjX1gpwcgL2x9O+7K4Xwr/aGbmmRwFb6obNcVPvcMi+kTL8au4s0Mh95Q1z/KbmJL51XAkXgogPKytZNbwTfYnSRcOxByXPWDal8mKL/3VyhDXpE9S62PoVldvTpzzIg4VgPuHMQzgeWx95K42qimT7DT/LC0Bv0cxDCCZyMk7pf37SF/T92sLXHEP/wxTNCJLwUmbLLBsdwl0ZUh5ahOFtCR5VbgM+yY0f/L4jbwPnOGzdzr1b4PKEV+dk/08rU28+BIVGYUVR2o0BmOtdl5AA/fvmfa+g2UGjvk6cRKhZNwb+aXOjd0rjxmMsIp4spnXem9H/Bkgbr6JRbBdTEWI/vqNuV2Ot2Z0/APi7skyug/LL3QE3OVgAcceqUYNzKddkuE9zkXG6/cxG0YTUCkxnXe39uPdVdFFdRg26FK+H1wLqsTNSbrbmmTLkajM/dsrsdEXhMp+ny8zl4R/dd0mKrgLedm7fRMtbvr2PRV4+QodgQ3s0zFrQzHDKtt73N5eQ6YB4mVmARXOpJnwbEjo6BXlYE3LEl8/gR4VXjB+2YP6vsE6Axwu24/rBYR5Cbu+KZr1UmZcmhNS+VgHNx6QciiIIV0IUEWPpCRJE5jeEvdm7rZtlAiQiIROxa5sCmmqMIDry6RzIQfVH51q7fDGZd/IUPP/zvjB0ViDjX0UDKUUDSiFMan8SegzPJVNZk8Imw=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(39850400004)(136003)(346002)(396003)(376002)(451199015)(478600001)(2906002)(83380400001)(6486002)(38100700002)(5660300002)(54906003)(6916009)(122000001)(38070700005)(8936002)(66476007)(36756003)(4326008)(2616005)(41300700001)(66946007)(66556008)(8676002)(71200400001)(64756008)(86362001)(66446008)(6512007)(91956017)(33656002)(186003)(316002)(76116006)(26005)(6506007)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?J3MSPrVePpwpEqmrM4H/wSORl4RKIMnKxfFpDir2x6HYEIxpdL22foLA6PVW?=
 =?us-ascii?Q?JmiY9y6iPJLq1Yp2peTltaNWPTOCM0XAV+qVO7PFmhKopnetkWHCGWBRVJLM?=
 =?us-ascii?Q?lAZcn4dafLNVdCfc0Z9Z8Imum1ixdr0ksHihLLUv0D/ULuNPc/74jNgtpQKZ?=
 =?us-ascii?Q?nj9XQBXkGs40hgHiElzQn05aU7VtWHyhbTz9KVKt+CujJyNrwDUpgRsoNybQ?=
 =?us-ascii?Q?IH72Mnd252LDSe21N9RDFtwyoIKzKkSv+XTISPadUwc+gtlj3rTC8KOO4tFy?=
 =?us-ascii?Q?XF8+8aKHFHxCL6sZFlST7z31FnZMLdGm+PBoEMUk4UOZwJQbTYD4opxlBEvo?=
 =?us-ascii?Q?zFeCU3il7nql+/FbKTSDAGNQoVts/mL7RMbphdO572DouY8v8Kzms6pY0Jyw?=
 =?us-ascii?Q?Cu4jO2kCMl+FKL466OW8L2HpVJruBiSMCpYQpCm/QWU+vhW6edC5xCwPiJpJ?=
 =?us-ascii?Q?wXoDaMTS5vo2ZyDasu3pMVUC6ypu7VlC9WakKGed2UvLoaWw4UUGCw5z6fVS?=
 =?us-ascii?Q?39Eo9JPrFRp6//gYXv9/ANKxs75SFENrckx2k7uFCm8/XPLbV7bG74r3k6cc?=
 =?us-ascii?Q?K/zsjAGq5/kztm8e/kCRFueSx08RrAIqAbtq+wJYf96Bp94cn0T/8N6tmD5Q?=
 =?us-ascii?Q?IZFDm4uwVqwnQJehASubal22B/Ic5ojg+swJwYNww3PM+0ZZWj/2nBUmdSUG?=
 =?us-ascii?Q?iN+7oOI5vpzyUIGxUHyCZNjW7ZgsvgB2Qchx4J0xTzwNwqaBEHyNWbvhCTbw?=
 =?us-ascii?Q?oT7gRIqdbuxSrsjkexcDWztEBTxJu7sNBP90lDBa+fuqEsy1tkr4ZKMIi2Rq?=
 =?us-ascii?Q?+oGPmaouh1r4bZqqqPWB9fPrNiH2kwxAcNcqCXrxLeiSE5rlHYuNYcZd+6pF?=
 =?us-ascii?Q?QApTCb1WOqcVwYd0VheP3PKI2XwSCTQYW4i/NRpBIxbqldKolvrFB3buBuEx?=
 =?us-ascii?Q?J2j1APELx5oT6cqQzUizcII4BQb9dPoNGJJhUchpA+btX1BPncrqsd8LWkNq?=
 =?us-ascii?Q?kuumefubXvhlhwac/49F3aBrdCd9dqdcsi52aTRg8UKQhlh51eOj/lyKaYe5?=
 =?us-ascii?Q?uEx/M9XatmQlDrT8PamufqfOED0qKjzOCHHcJApUd/OZVwr5CdHKRPsQdwCB?=
 =?us-ascii?Q?FK7jCjz2RCZOUpFftkNIHu6QwhdMJ6RKqF0fp9bmrpO9/NKoBAxA7CWvf5/S?=
 =?us-ascii?Q?I194d6OafP1P3UP/QVNj3trZlHbUrn4zPDfDP0QVHQoMpYTrS2Gn4z+Wd1KV?=
 =?us-ascii?Q?CEazqHCQe3sfXStKYeCfqNjw/dMgIMnlq/dyyLnTitmjnFGRQBvvA34uU/a+?=
 =?us-ascii?Q?EnDsy4ird7QDNltoj5MTGBXUn/K0yYcVKdWTk0gSJDVguPG884f7PBXigp9x?=
 =?us-ascii?Q?wc4wqVuZ5cTvmCH5HwS6RQL27XGP5rBVL+KGxW3+aXS5ZIx/2+C2vnywOHVF?=
 =?us-ascii?Q?v2m8KEusaYyL08eV1jUJnDcm9YkPYtjCNz6t/oEVgns1fuxMpDPxamgo9K5E?=
 =?us-ascii?Q?/p8VLmO71AWGbok+IHAcEdkwH8WYniqwGDTTG9GOMRxjOjyv5OmGBrxdzhrE?=
 =?us-ascii?Q?PGWMpVc3bGpWfwQmeE3hArF9J6Y1L8DsPonx1HCPif6MLDbv4X5cmEav2htq?=
 =?us-ascii?Q?Hg=3D=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <3F68A32C81B6BA4AADDBDBCA5451C6D2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM6PR08MB3749.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6faaf4ae-84ea-43ca-5b98-08dad38f0dc4
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 11:27:39.0790
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: yvCk3WlvZ/jdqMH250QB3PJbsWCjWYHRc/CFs8qq+QrMvnFlHIp/EGgx8qVWMFXgmAubu/+K4tCVhrgkxnUcqA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5629


>>=20
>> Hi Stefano,
>>=20
>> MISRA rules are in this format X.Y, misra_c2012_rules is a dictionary wh=
ere the key is=20
>> X and the value is the maximum number that Y can have.
>>=20
>> For example rule 13.Y goes from 13.1 to 13.6 (in the dictionary misra_c2=
012_rules[13] =3D=3D 6),
>> so the code can now check which among (13.1 .. 13.6) is not in the rule_=
list and add it to the
>> list of skipped rules.
>>=20
>> Here an example:
>> {
>>    "script": "misra.py",
>>    "args": [
>>      "--rule-texts=3D/path/to/cppcheck-misra.txt",
>>      "--suppress-rules=3D1.1,1.2,1.4,2.2,2.3,2.4,2.5,2.6,2.7,3.1,4.1,4.2=
,5.5,5.6,5.7,5.8,5.9,6.1,7.1,7.2,7.3,7.4,8.2,8.3,8.7,8.9,8.11,8.13,8.14,9.3=
,9.4,9.5,10.1,10.2,10.3,10.4,10.5,10.6,10.7,10.8,11.1,11.2,11.3,11.4,11.5,1=
1.6,11.7,11.8,11.9,12.1,12.2,12.3,12.4,12.5,13.1,13.2,13.3,13.4,13.5,14.2,1=
4.3,14.4,15.1,15.2,15.3,15.4,15.5,15.6,15.7,16.1,16.2,16.3,16.4,16.5,16.6,1=
7.1,17.2,17.5,17.6,17.7,17.8,18.1,18.2,18.3,18.4,18.5,18.6,18.7,18.8,19.1,1=
9.2,20.1,20.2,20.3,20.4,20.5,20.6,20.8,20.9,20.10,20.11,20.12,21.1,21.2,21.=
3,21.4,21.5,21.6,21.7,21.8,21.9,21.10,21.11,21.12,21.13,21.14,21.15,21.16,2=
1.17,21.18,21.19,21.20,21.21,22.1,22.2,22.3,22.4,22.5,22.6,22.7,22.8,22.9,2=
2.10"
>>    ]
>> }
>>=20
>> So this patch is solving two issues, the first one was that rule 22.Y wa=
s never included in the suppressed
>> list because range(1,22) produces a range in [1..21], the second issue i=
s that the code was producing
>> Invalid MISRA C 2012 rules, for example 1.21 and so on.
>=20
> I see, that makes sense. Please improve the commit message with this
> information and add
>=20
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Thank you,

If you agree, I will change the commit message to be this one:

MISRA rules are in the format Rule X.Y, currently the script
convert_misra_doc.py is using two nested loop through range(1,22) to
enumerate rules that needs to be skipped, using combination of X.Y in
that range, however there are two issues in the code:
 - rule 22 is never included because the range(1,22) produces a range=20
   in [1..21]
 - the second issue is that the code is producing invalid MISRA C 2012
   rules, for example 1.21 and so on

Fix the issue using a dictionary that list the rules in misra c2012.




From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:30:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:30:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450571.707906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hmI-0005cm-Sf; Thu, 01 Dec 2022 11:30:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450571.707906; Thu, 01 Dec 2022 11:30:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hmI-0005cf-Pp; Thu, 01 Dec 2022 11:30:54 +0000
Received: by outflank-mailman (input) for mailman id 450571;
 Thu, 01 Dec 2022 11:30:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lVjU=37=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p0hmH-0005cV-Dn
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:30:53 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0607.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9c88a754-716b-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 12:30:52 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6959.eurprd04.prod.outlook.com (2603:10a6:803:139::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.20; Thu, 1 Dec
 2022 11:30:50 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 11:30:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c88a754-716b-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Uh1tvMiCNVVKVTG9cfqTlLu+2NK7tVgJtAF1IY9Gmxj0CtD0pog3nGglTU+7cRHpFRsI+drGKBCMqLMJ9lnsJwc0L4HbHwnAL8hTi7CkTOvqKyiHDXP8KHxjfNTc/RAfLQ4/rT81G6MsUKdti8SypgAtn1pvi5kA+cGTwhuSUB2PbpyDJG0kxQ6BRaO3npkcpdsjnwRr9FGpc029zvRKL6i/0+zvb5QwPe+0zx7IpWHPNJB/YfZrnVzmjbVeff5VImbh3CcHgrRuD8w2qs2RFLipwLakQAoGDbOFNHZCXbA7ZgS6XbXhzszUWWpCqqTxwp7MrDj3Spm47mYEneNiIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wwb3uX4sUeJ5o8ahgE0HGFG8O33cOjJdcpKtqkABOTE=;
 b=VKAAs0GmnE9qwl5W9EYVniV5l9fbz1eurNGeUNG4IXadBTcx7RJ6CAjreZHkpckEqYpUzIYq08D/M9NcWs384zcnrYcB5ejNIC/Asfo5PeMhJipKIhTHCUEpxZxITd7VkHUuSo/hZe9fwXUyRIa4LMWa88PvX7vPAAXxQtaBSI+bMKQ80p+hRP7zjAWIHjdFTf+jRuIZ6vCvMYK8+gtsssuNO7O7atyMbsTTcXL9XVXRRNGq3k/4ARkayIecTWhtW0k2OeVVGmyviG5QdIwRnbD78j85EYz3wP8XYwl1VHB5hYordxTgrfrhHo/6PU9IcCw0MQARYhcHKwmLTBVqGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wwb3uX4sUeJ5o8ahgE0HGFG8O33cOjJdcpKtqkABOTE=;
 b=nClZFLP0whuZraZzFQqzFDN7uKTIBWjrPfxl2911foAje0DvU64Y8jXNeLyW7TwmgqFR2cSLgbZeEW298UiNN3E2kk+08kEzGNo+9K43Xt7C+Qcp5dS3ywG7hqo3DzJSQAfrjKn4AxPzT5eAKM91f/KfHNojcQUQt+16A3MyKL3x73fP/XED7DGwq9BYZbjwRnD8JlWsyiGwSOCvGzZ9zZjalWhGRFCLhJb5AjWbj0Hj9+VSULkEB6snq+9HsSc7yPGU/5ivZI+0djvbIPkM3jQQy+YD4Dx6gOvX8f9/OsmzFqV4uM3+nMBhsKRdJNhJpESH+Gp1WlL+xNNtY55eIg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3eb81135-0cd5-1788-3569-0db7d68541b8@suse.com>
Date: Thu, 1 Dec 2022 12:30:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH v1 5/5] CODING_STYLE: add .clang-format
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross
 <jgross@suse.com>, Edwin Torok <edvin.torok@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
 <7e6b8e69-70d2-8178-205d-8c20b993162d@xen.org>
 <7DF6F06F-A65A-4F1F-8FDA-BF0E8977F99B@citrix.com>
 <c3af2730-d503-e139-644a-480a506c94d1@xen.org>
 <99df302d-8bc5-55a7-a97e-dcc8eee41d2c@suse.com>
 <3e6e6948-7852-751e-a025-9fe36e9cfb82@xen.org>
 <82bdfded-6271-d262-136d-57b4b1a92a9b@suse.com>
 <6a5af398-270b-f57c-091c-78ebea8630ec@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6a5af398-270b-f57c-091c-78ebea8630ec@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0126.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB6959:EE_
X-MS-Office365-Filtering-Correlation-Id: 543d8b37-3a38-48fc-5a3b-08dad38f7fcf
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rg3sdxq19K5WxZVRPnU8qld/PvRZnpofVphRkKFN9C/JdVqnSob5Cbfiw2qkQVBz/4r56Sp1m2bKt2l5lyW+xtycQP8DKU+Ih7uWyvk/FKu6NH1KkS9PSxqfYm0i2CAkVJDhjbQUr+TMIPN3Fv7PtqSYZEGSivwnGQkksFNIks3Y/NInfc8327zCDgKM4Kqwgk9FnHypAn1arEN8r+PTNsiQqUmKa6S0p+D5SIn/NCatC2V/Fcwv/GCjAAga/+syp+lU+w1117QtmtHKFxDVgHUaeAGjP+OyMM8Cnwxigxl+WwGCY5M+AuwFGous91YN9o+6CW34uPKRgBStbrGZ5HEwuOoLy+SUBSFp7tjvh94RTb0mxEWI33FyLPLy7azVmRYiSd5L+NJ0PVu0MTIrhoZWvqZwQpBwXjyoVxiBsXo63yM+SB8xnQxv1knmI3S2EDuvojyW8iW/yecWU7/2a1MJlMvGt5EixQuepfrnJxMndPhjqN2/6Q3J2dp5tLMh7D3AwOyAr1oDV8ZiMYqvAqs0KAu1Ai80V+1bGYBLrkyjuJS8iHZ66gQgs6Q3PPfmwNs+3bygoLaa+janBvAL7ltjNQjAYWDna5JF0LFVoCiX8OZaz4MGeca3fXV8bbqJ/otf3w+97OYzOgNHohv0KxZRWnt2+EiSU/+papoZ3ZaIItGQ1EUVDagWLMzLJxfN85jMuQhMTx0ijFopry2iA8JnqzuPO/NNiBRCPeFRk43RNDPTG8Sb+1Xa9HnH3AJw
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(346002)(39860400002)(136003)(376002)(451199015)(316002)(66556008)(8676002)(26005)(2616005)(38100700002)(8936002)(66476007)(6512007)(186003)(5660300002)(4326008)(54906003)(36756003)(41300700001)(7416002)(2906002)(6916009)(31696002)(86362001)(478600001)(83380400001)(66946007)(6486002)(31686004)(6506007)(53546011)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VjNHLzZtZEdjK3p4aTB0eXFQY1YrYXJIa3B3S0xtMVlIZTZSWUEza1dGaU9X?=
 =?utf-8?B?SlZTVHpNTGtwNVVJaDl1bGZjMVpmbEp5UXRoUHdGNHcxclRreUJxdGJKZnYw?=
 =?utf-8?B?SGR0SFp5eXowNDZYcEVndHR2YVFXeHI1NnpZNzgrSmZLelM5VEdKWmYwakZF?=
 =?utf-8?B?WXI1ZTArdkttN3BXVm11Rm90OXk0NkdGMHIxbThNcWFxc3BWVXhUR0Fpa2FL?=
 =?utf-8?B?NFlHb21MYmVEcmttOTdBZi80ei9veng2alJSVVZrNkpFcG1zTGZJR21PMnFE?=
 =?utf-8?B?Vmk5SkN5L0tnS0dER0V4QThpM1FOOHR6TWlTWEdyNCtRNWpSYmNZQkJ3VURV?=
 =?utf-8?B?OVpGVXhVVm5NcXpSeE9CN1dUOHZNMnhFV1Y0R3FaZUlXWDZYbWhDUElHaG9o?=
 =?utf-8?B?MHBRQi9wQXR6UmNRVjFWZGZhbFNyVERrdk9YemxxSkxMY2FiSktlWEpxNU9a?=
 =?utf-8?B?TU1qVDBDL1BqNXRUSTB6UDk1S1hlMG1jSlBmUVkyMDR0Z0hEOS9ROWpTRlVQ?=
 =?utf-8?B?VXpPTWVhVWNnSDRULzRPR0VpUWphMnQ4clRVbVRaWEQ0MnR3ckxlOFp4SmpN?=
 =?utf-8?B?UGpsWWNWaUN2ZWVyeVJJWk9nNmg5U0RLRTRGV1RhQlhId3A4OW5BWUNvMnJ5?=
 =?utf-8?B?cUxHZFpSUUJxdHVYTzZHNWtUcmg0RGZPQkZkL1ZtMDhCTnBNY0pyR2VnMm1F?=
 =?utf-8?B?anNGSjdPYmpCWGlPL0Q5c1BqTS82djFsemZPQ0dBU1h2K0s0YUZRV2E4ZStC?=
 =?utf-8?B?dHgyWXd0UW92TnRDM3NhZm1ITEVGdk10RUd1VG40bUNXU2o0V0Vxc0NVamkr?=
 =?utf-8?B?WEpGVUs3b0F5eVlhK21mWUJ6TnBlN1o1UFYrN0xXd2dYYUlEbHljUk1lMmxJ?=
 =?utf-8?B?bmxRUDRXT1VHYW9CZU5lTzNFa0QzaldjbFBNTzd3MUo1aDUrelV6SHVqQitH?=
 =?utf-8?B?VWlhY1NERGNhcE1rWE9BSFh0ZnlPZ3FtWEh2Vlh0cXZ2OFJyM2ptbGcra3Z0?=
 =?utf-8?B?dzVoUVFOdUhieGJZUDNVWVYzM0JmS2QrQllHTVA1bHBBdWVRK2xhYUNIN3F2?=
 =?utf-8?B?RHB2OTJDUEY3NVoxZ0owL0ZsVk5mY3ZtTk1iRkx6Y2lVS2ZOQytLb2dqVE9Z?=
 =?utf-8?B?K0JLWEZPMU1ybE1CbXVpRXJ5cG16VHMwelk4SU5vRStsc1lvZFI2b0FDWVM5?=
 =?utf-8?B?c01kZCtUUmhOd1JyOFhFTHU4OTRxU1FuaWVmNWJDc25VM3NBMFQzRHhRN2Zu?=
 =?utf-8?B?TFNSMGRTTzRiREwwQmlrdkhMMmZhUk1VMk0wL2loRTZXTmxGbjJ2NmFlRlAr?=
 =?utf-8?B?c3dBdHNLM2d5YUhYSTFwTnUzVHYzbDlOTUQwN045OWpSWGRnK01UUzFIRlRE?=
 =?utf-8?B?cDlhTWM5TlN6RTFIMEZIRDJrZm5Dc3J5UzNEQXdmVkUySEd3QTFDbzVpNERT?=
 =?utf-8?B?L0pMSGNOQ2d6QzMyK0hRUGxRdUwzNnUvbmcrK0lRL3lpNXROQW5ZelBHY0do?=
 =?utf-8?B?eEdJSVlTalVqRDlyaloxclhpN0dRTWtyaXRyS04yZWJvSVM2UGF6TG1CVEFn?=
 =?utf-8?B?bFZJTHdudVZCamo0QUo3MDNVZjBNdjNFVEczdDB2T3BOQTdmVkxWa1FoSm1P?=
 =?utf-8?B?Nk5YbE1QWm5VS3dQMGl4c2FpdFdJeEhhcE0vczFKbEs5bW5iMzJnUlcyRnJu?=
 =?utf-8?B?cERjNml0bGNJdUFRMHJuRGxqWGliSzdGRWhMTVg2RXJsUzNaYVFhSi9qbFd0?=
 =?utf-8?B?UDJiaE9ldmlJTEhIOU9mNytLVDBMdEYxdVFydG9QdEhScnVMaXhnZDY3WExL?=
 =?utf-8?B?UlIybnFTRWxhQm5mQkpJSDU1RFo5a2lwUWFMR1FKREtyVjB0d0tuc0lpdC9m?=
 =?utf-8?B?N3RxTTZ6MDZmZkJINU94c0VINlVaWU4xUEFFRkFNQ0tZWkl3c0J6d2NsMjBH?=
 =?utf-8?B?ZUlLbGNrR1QwamJtOU50cUpyMXVMZTNDcllyUkhhSE9wVHZGZktzNmVTb011?=
 =?utf-8?B?REkrQUpvKzl5R01tTDAzNlJSUGU4SE9xdGIyKy9mZ2x0QlRUQWxsOGZOMUp2?=
 =?utf-8?B?dzNQdFRRVXIwa3loalQrRk8zWlRIKy9Ka280UDVKaS80VVNHV0ltVS91SXlu?=
 =?utf-8?Q?E+URIy/OMx6FLAB+iIMFmnDmm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 543d8b37-3a38-48fc-5a3b-08dad38f7fcf
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 11:30:50.5519
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: n9ZOjoyAufhIUbgg+9xx4iRzGs37pc3fJCtcwHbDm5ipVbexT1x7+GWSDKF9iXnrTpIoww8qQ6w5VOStf8CagQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6959

On 01.12.2022 11:47, Julien Grall wrote:
> 
> 
> On 01/12/2022 10:44, Juergen Gross wrote:
>> On 01.12.22 11:12, Julien Grall wrote:
>>>> We might want to add a comment to xs_wire.h like the one in ring.h in 
>>>> order to
>>>> document the requirement of the type definition of uint32_t.
>>>
>>> The problem with this approach is you made more difficult for any 
>>> userspace application to use the headers. So I would argue that the 
>>> Linux copy can remove "stdint.h" if needed.
>>
>> Today there is exactly one public header including stdint.h, and I'd argue
>> that this was a mistake.

I think so, too.

>> xs_wire.h is especially rather uninteresting for any user space application
>> but a Xenstore implementation. All consumers of xs_wire.h are probably
>> either in the Xen tree, or operating system kernels. User space 
>> applications
>> should use libxenstore for accessing the Xenstore, so I don't see an
>> advantage in breaking the usual philosophy of the Xen public headers NOT
>> including external headers like stdint.h.
> 
> I think Edwin example is a pretty good justification for including 
> stdint.h.

I disagree. The intention has always been for consumers to provide the
basic C99 types by whatever suitable means they have. Note that in Xen
we also have no stdint.h.

> If you have a coding style requiring to order header alphabetically, 
> then the developer may not even be able to include stdint.h without any 
> hackery (e.g. introducing a header that will always be before the Xen 
> public headers).

Just to indicate that commonly style requirements may be weaker than
"fully alphabetic" - we don't request full ordering. What we request is
that groups (xen/, asm/, public/) be ordered within any group, but we
do not (afaia) demand ordering across groups (and indeed commonly we
have asm/ after xen/).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:34:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:34:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450579.707917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hpV-0006RV-DL; Thu, 01 Dec 2022 11:34:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450579.707917; Thu, 01 Dec 2022 11:34:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hpV-0006RO-A9; Thu, 01 Dec 2022 11:34:13 +0000
Received: by outflank-mailman (input) for mailman id 450579;
 Thu, 01 Dec 2022 11:34:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mmm5=37=citrix.com=prvs=327587bd7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p0hpT-0006RI-So
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:34:12 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30b3605b-716b-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 12:27:53 +0100 (CET)
Received: from mail-dm6nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 06:34:06 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM4PR03MB6975.namprd03.prod.outlook.com (2603:10b6:8:42::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 11:34:04 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 11:34:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30b3605b-716b-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669894449;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=IsJUD48X9AXv83wMcV0YFo5ac0Ej2uXNkeHQNFJxams=;
  b=VflhZmunBvRWRBJd3hGirGiJQNuZ3FBICR+/qrXzknZoj3PLXuZCn3rD
   F238Sqysc6TeMC0heMexqHAlTrljmj2CaPc0oITXKwnikJ/eWrri6iag5
   h5rgdc0qavI356CF2BQ/avQd8W5rO4RaewfZB+RSr+von8BUt9ZyFzKPd
   g=;
X-IronPort-RemoteIP: 104.47.58.105
X-IronPort-MID: 86034841
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:I+m/HKowf8TO+GF8vsLZ9yijqPJeBmI4ZBIvgKrLsJaIsI4StFCzt
 garIBmDOKmKYDamedggaNu2oUoC7cfXmtcxHFZkrygxQXsbpZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzyBNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAA81YgiZurOH+pSYUsterNwJEpe2f4xK7xmMzRmBZRonabbqZvySoPN9gnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeiraYKIEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXoqKYx3A3PnwT/DjU9TmSKv9qAm3WkSoNbA
 l03oRQEtZILoRnDot7VGkfQTGS/lg4RXZ9cHvM37CmJy7HI+ECJC24cVDlDZdc68sgsSlQC2
 laXkvvzCDdosbnTTmiSnp+LqRuiNC5TKnUNDRLoViMA6tjn5Y020BTGS487FLbv14WoXzbt3
 zqNsS4ywa0JitIG3Lm6+laBhC+wop/OTUg+4QC/sn+Z0z6VrbWNP+SAgWU3J94ZRGpFZjFtZ
 EQ5pvU=
IronPort-HdrOrdr: A9a23:AApn96GcNewHTJ29pLqE1seALOsnbusQ8zAXPiFKKCC9F/by/f
 xG885rtiMc5Ax9ZJhYo6HnBEDiex3hHPxOjbX5VI3KNDUP0gOTXfhfBODZrAEIdRefygZQvZ
 0QEZSXBbXLfD9HZcyT2njcLz4uqOP3lJyVuQ==
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="86034841"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TUkm1ft61yWq0AhmhlVJIS58CISMS95Oz4S2OrKTTJAmGYmG0AtxgB/10dLTY0Ly5AXkFcqGWe6x+gi1YT9exRlQy5WfOkMwkbiVLdI1iwmbAW0iZeCMBktZU7hgTtQdiauk9ZZ1O5Vj+YuOYDc0Deh7bGomMiXn14pe2HlpDuXiegcmNt64roezpDGQJQAnmwt+i92sYxnWD273fzJm0kdIQCVnyUrkyvj0+gmVXTHVDVUsX3ynJa0EKS/a7efPSLdH+jzhCS3B+dnAdqkn9wXyqDVPVSuOrIivktmEgd1au+J0RfMNB3QIkb8gDyTrP52uhaSXGppqfGqA+FjQww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IsJUD48X9AXv83wMcV0YFo5ac0Ej2uXNkeHQNFJxams=;
 b=NpywdOZfCz1EvamQQ+9dWW5slyBJPNYdnqiL5Ew++d6kZ7hVYuc+f5HSlkJQjlIewmKsXSOPO6+CdfkEnSF8tlK93p1BSY5taoGgOeMUSXG+pbU0IVY8QP7bXaQMUVvUNYDE0Qk2UBQlOyjTzrlgESlpN6mxFFfgh2ISagcafONMMkiLtfvukWf4oB3Xv+5TMvBjEf0Xl7vs3Dieriq/S6ajRmJzM945lgenC2TwKAn7of5m1RDa1K+JmixAwv4D7y108sIbDJRC7+3WwTO+q35MXu5SZiqwmRqm272op5v9KQNXHSMBLBGxXIWBF3F+Bs9shU+IFrTw8xVagwmRYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IsJUD48X9AXv83wMcV0YFo5ac0Ej2uXNkeHQNFJxams=;
 b=ka7mvjwIqKRfvvNNiMy9AfYn7xvjIeqkvpTD6bEXLzaEMembvwKpDymwbPCJjIrZiirAGadbQbHSGftfku9PGDzEIYBkC/0aXhEoMZ8TVTECubmJrEWCB8M/8yRllGKCYvsr3BtXNZUmEeDK7ZoIVSSEjTP57I6UrCGZlW/ZrWw=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 2/5] tools/ocaml/libs/xc: add binding to
 xc_evtchn_status
Thread-Topic: [PATCH v1 2/5] tools/ocaml/libs/xc: add binding to
 xc_evtchn_status
Thread-Index: AQHZBOHxNXiRQvtogESX/t4C8rGLVK5Y590A
Date: Thu, 1 Dec 2022 11:34:04 +0000
Message-ID: <71ff1c99-4006-dd28-e01a-4c2946798f78@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <4daa8daa6398774e5cb0a90c30648c970faed6af.1669829264.git.edvin.torok@citrix.com>
In-Reply-To:
 <4daa8daa6398774e5cb0a90c30648c970faed6af.1669829264.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|DM4PR03MB6975:EE_
x-ms-office365-filtering-correlation-id: 6b702444-2a0e-4b3a-9403-08dad38ff38e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 zvcmbL/uskLqKwu0YxIsfXcX8z5dG61IAuoYtrmqL0Xcb+pvoynb7iLlzwqrOe5nFQBriKtngAVxNntmBvx99F7dkOPaFdqbzBFxkJ331dmcWw6w2UEK9yEfrnDt1n7ibDYrusLvztnvl4rxBwXXFFl8SdEiq0u/NE6DWzsRmz2+pCg1Jf2NnTvSFP2MSsJbq//FX2z0geGWDA8UoYzbSJ2Oh9CMYRjeXihh/98r7ewmWsrWVGKwpw3gFpdyWEfj0vxYA1WHF39IX5CGD0wS31Et/Wk2A46jrlw1UMVkibTMYvwB560SJWvDci45DQUyQC5L7AAQ2c6srLrHFgOad4PeWPOO120KbInRlHa0TNN0Y0oqnZfQLfdjjypXif3Rladn/jzTAp40fPoiTf6Mpn+KDdZFU0KjdEGqgrD5CGrFepJxg31sdsqtOO26BsUp/UMnw65iaWrQD1OSXHv6Ok5Nbqkby5UiaECd2X6fXlCac3MjMy925QiVnwLZm3CKljmnlU0sY113xkWvL8UJfDBJBIN39RDVWnvUPTOvJBwkw+fMx8dfvRcCH+dsNpnzZvEOHaqeFlRPmS8cELyuMx/hwbQ1QjOAX/elBPZb2mSDWQ/fMAwt3ZXHDjSopBTrGOVOcYwZRxHM+kPFTdBRcJ8F2hffqw4LKjfKoCQN49O3rXtY1Ozm5qHyT9dtoR+SW8DihL/+yyqhzsyWPSf54kQCpmV6yoNYoP8c50CdVNKQ9vQlSYCxT+LpKGVm4Hz7BEueGzf2vDtpmWWzYBw0CQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(396003)(366004)(39860400002)(376002)(346002)(451199015)(5660300002)(64756008)(66476007)(66446008)(8676002)(4326008)(31686004)(41300700001)(66556008)(8936002)(6486002)(71200400001)(110136005)(36756003)(54906003)(76116006)(91956017)(478600001)(316002)(2906002)(31696002)(6512007)(2616005)(6506007)(38070700005)(186003)(86362001)(66946007)(53546011)(83380400001)(26005)(66574015)(82960400001)(107886003)(38100700002)(122000001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Wm50UjM4S1AwdHRLMTd2bDJ1VXRobFVtL1d3Z1V5aDAzcDdBd2RVL2VPYVk0?=
 =?utf-8?B?dUJaalNucXMxako5TUp2bXc0VFJwTExlZDU2cEVhb1RucUJncDMzS0ZaSlZz?=
 =?utf-8?B?ZXZmaE43YjErd1B6MVBCTW9mVjlFNDhpVmlSWTN4bXZHK3VCL1YxVnE3c3BJ?=
 =?utf-8?B?OTRuSWo2S0lYN0x0bmx3b09wMGFhOUpvOW1aVHJ6TVplNHdsM09PY2dxa3g0?=
 =?utf-8?B?djE5a1NPcFBQUGF3QkE0VFR3aUhrUHdEVWpXR0drQm1vaXJIRjZraC9KWFJ6?=
 =?utf-8?B?MlJZNFhVeEQrd08wQjkzY1RCVXdsWHQ0V2tRUyszVkx6clg3azdCYnVKenM1?=
 =?utf-8?B?VlpFdTRMK0R3THBGK3BIL2U0SENUd0F0SkNNSkh4ZS84dGdCWXVHekhBdml3?=
 =?utf-8?B?dmliTS96aW1TVFpxZnFNdk1RZDRCaWhCS0RReWVyMDNQSy9UOHJhVkdpS0hM?=
 =?utf-8?B?VmdPOEVIaEFTTEpDNGtKVmZJWFJjUFFJY3NET2l3OStHNkU5YTFYMFlWaFNV?=
 =?utf-8?B?TkZVcXN1RWlCdDZydkhoemZmd3Y5SmNFZHAvVlh4TGlwWFord0I3UHFiNjBC?=
 =?utf-8?B?V2REYmJwSkVmd2gvMVlSWWxyTFZ6N3VlYjNNNEkySW00ZEZ2ZlFuYnhyUW1i?=
 =?utf-8?B?Vm1TUW4vUGlWVG5ab2EvVzdOdXRPR1kvTG5KRzBHZXRERzJFOEZld1JRbitQ?=
 =?utf-8?B?dlFhM0g2VGNscWNjNmlQV0d1Q2h0TWlXZ3dpSzFxME9iME1xSi9VbHpJK0tP?=
 =?utf-8?B?SUYxSzZDaGdnaHo2ZmFKQVJWVUREWWx4M2JnRkxZYnVmN0tXZVVjRVhTMWhP?=
 =?utf-8?B?WVBYdld6THNFeDZ6UE83RnViN1hSWXpmK0lGQXdtd0szbk1PM0t6M1NraVVH?=
 =?utf-8?B?VThEbWRNT0pvQnFIN2hPbzcwSmlkOHhEb0RBUUwrNGZmR1RRTzRxb0RITloz?=
 =?utf-8?B?YUJwMmZuYmFicHRBK3FNT25CSVZHRFpuVEJVUXo1S1hEYU9RWm13SnBRNytK?=
 =?utf-8?B?KzhPYWVXcllZdnVRWmlCc3JyOTJQeDV4MTdvZXBVQmxCR1VUYUwrVUJyRm5O?=
 =?utf-8?B?V3F2WmFiVjlDTkpKaGRiSHZnMnBpWFdQNk4yQ1VXYU5DV2tNbXF6NEU2bE0x?=
 =?utf-8?B?dDJmdTZ4amp0VWdwNkJHQlR4MmxZYzBOYzZuWVZWeWthSHFiYzRoMXRuSnZM?=
 =?utf-8?B?Q2VmTmlUOHhjTGRUa3pIT3YvalpNbGZaTzNpTGJDQzJKQ21QRGVjNVM3YTZ0?=
 =?utf-8?B?NkpjQVJmUnhBcnArT2pTV3hTWDl5VVNIUzJLUGdUZTV6NHcrVm5PcWoyNnox?=
 =?utf-8?B?Wkp0eWI1OFRIZU9lSlBxOHlmdTRvMDlSeUJudE5keVNOSytFdG5hcGxaS20z?=
 =?utf-8?B?L0JqL28zNmViMzhmNW9uTys4UGU1dE12L3l4cWNUR0pKWHEwYmZhM3hMem1p?=
 =?utf-8?B?dHB6U0xSL0FZb1FRNDhBYnZDK3ArVVozZkZxWGQzT3oxSnFUcUhUaE9QN0lx?=
 =?utf-8?B?T2h1cGVXNHJSU1JpRlpQcUdYZGd1UTc5b3M2cmlCSjB2eit0NFdZYUh1bk9Z?=
 =?utf-8?B?ek9MRkRCQmpNbTRsenB5U0U1WXRDcjJKMFQ2NTI1S1ZraEFOMWozWEJvYU8y?=
 =?utf-8?B?UE94OWdnSXRRT1lDdjFsSkF0NGxZK3Vpd2ZtcG9mekdBRlIzZWJXVnpQTi9q?=
 =?utf-8?B?ZEhCbVdMUjg3ZFJjQkd4NWEzbEp6dE1IeURWbzlQOG12ZE5CUFYrQTRybDFP?=
 =?utf-8?B?RnJjNmxyZU9hVTlSTWQ5RFdSRlo2bDVVNlZxRzhDSTR0ZHpjeVVlZUtZNzVz?=
 =?utf-8?B?bFpxS2pPSThUSFg4YjlISFZjazVpL3dtdFBMaVl1NWhGSC93SnovQ0Q0TU5R?=
 =?utf-8?B?SzBuY05lUEJXOTBNQkhCenBDMG4yWUJ0VUphcGxZOHZTemN1cXJ4TVBqLzVZ?=
 =?utf-8?B?NVBLREFyeklWdjdJcVVWQUJJbm5BSmRGdHBNSnIrLzk5V25MbVNXQXp5d3dJ?=
 =?utf-8?B?WW95VDF1aTFkSlBiREpRbnFCVVJna0s2b0l1aXVCbm9EVk9KaGNKMEhwTUlh?=
 =?utf-8?B?QWpDN0w2WkZ2cE9KQjVZdmdXaFZxdllnT0puRlUzbHZ3Tm1aMEJFeXNUY1dF?=
 =?utf-8?Q?Xwaco96AVZiD9HdZGy3bTgF4R?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <26A47FDFF601CA45855403392CF76057@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	AvQumaHIXMDMSdResh2UPRmZSdmLz48dvgRep0jpiwFxc35iJ1HOM2hAH+A1WyvlKsMwE78HETY+FUJ3nDVV7Opi6wnhoiLFsyQKXHMSydHO/1kuY6Nz7ji1ZwMcVNFCOYVjTKeMTgNh2dumSUvukLzWrnaTsYHw+hLF2iforYwABln6Qf14pOlHKwq+5+gLyTwHzUNmcB7VM918xG76tn5W+p/A/tjpnOYw3NTIXO6p2PplFTwJNdnhcujtdDAbEy0Nr6x2E4dP3CQ10BGvvCDfuTimnciTEB7f1gJSsPpMLInZv4Zn0LymE0HyZt68qLj/AxFM57vYklTatSzd+u+342Dxd+6OkxXJDgKlitwKJf2ZVKQLLVpnUqga/h17Te/htJdmTfqlYiqY/879JCZxGat3esDcluqbw/Q9pEeJUPyg/qwiIJ1cosgIaS3apZe3em9n/EZ6nJWNvMMuXnu5I97+QmdsDFmGNVtGkGWQ2/kguSJw05oofjcOoqtyMzIgvoec0rO4bi7MCpOwQpC9DCIERXESuDk0qBHQc4lMe0zjwbcqHRigERMtafOY0LDzueeEl4+Kc7hsOElHRyreqK3emo7Y1s3vYlEtENqUA1gQKxOv35OojCTdgIDHjAD4gJS9kY9rWENxK0WksqMqmLXgAM96mXHWj039naxQrsDHdrSbpDxVwgcAG1TCyGDWiiyJEOPc9IKY1nFiRZGJWuDFfjX40ORfX+WiqweYbOjdet5I+cwtP7MvKheQYaAaTLNiqv0LLDPNb2Yv196X07Ee/jqhtwSl5dvZ4H8CKd4NW/mkjRuBcOPf6PlJ8mAUVI5OK1NgTWrpVFhkfQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b702444-2a0e-4b3a-9403-08dad38ff38e
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 11:34:04.5869
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: yt6vRj/ogm6gg16EI/J75lKiXeRA14Qi+jqdYxi7Vpk1NywKR/4+QJpSPAabt8gLXaskapAmnVUmM9OLtNSkoLEKBHSQRX+KfUs/A6GizgM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6975

T24gMzAvMTEvMjAyMiAxNzozMiwgRWR3aW4gVMO2csO2ayB3cm90ZToNCj4gVGhlcmUgaXMgbm8g
QVBJIG9yIGlvY3RsIHRvIHF1ZXJ5IGV2ZW50IGNoYW5uZWwgc3RhdHVzLCBpdCBpcyBvbmx5DQo+
IHByZXNlbnQgaW4geGVuY3RybC5oDQoNClllYWgsIHRoaXMgaXMgdmVyeSB1bmZvcnR1bmF0ZSwg
YmVjYXVzZSBpdCByZWFsbHkgd2FudGVkIHRvIGJlIHBhcnQgb2YNCnRoZSB4ZW5ldnRjaG4gc3Rh
YmxlIEFQSS9BQkkuDQoNCj4gVGhlIEMgdW5pb24gaXMgbWFwcGVkIHRvIGFuIE9DYW1sIHZhcmlh
bnQgZXhwb3NpbmcganVzdCB0aGUgdmFsdWUgZnJvbSB0aGUNCj4gY29ycmVjdCB1bmlvbiB0YWcu
DQo+DQo+IFF1ZXJ5aW5nIGV2ZW50IGNoYW5uZWwgc3RhdHVzIGlzIHVzZWZ1bCB3aGVuIGFuYWx5
emluZyBXaW5kb3dzIFZNcyB0aGF0DQo+IG1heSBoYXZlIHJlc2V0IGFuZCBjaGFuZ2VkIHRoZSB4
ZW5zdG9yZSBldmVudCBjaGFubmVsIHBvcnQgbnVtYmVyIGZyb20NCj4gd2hhdCBpdCBpbml0aWFs
bHkgZ290IGJvb3RlZCB3aXRoLg0KDQpUaGlzIHBhcmFncmFwaCBpcyB3aHkgd2UgbmVlZCBpdCBu
b3csIGJ1dCBpdCdzIG5vdCByZWFsbHkgcmVsZXZhbnQgZm9yDQp0aGUgdXBzdHJlYW0gY29tbWl0
LsKgIEknZCBkcm9wIHRoaXMgc2VudGVuY2UsIGFuZCBzaW1wbHkgaG93IHRoZSBsb3dlcg0Kb25l
IG5vdGluZyB0aGUgc2ltaWxhcml0eSB0byBsc2V2dGNobi4NCg0KPiBUaGUgaW5mb3JtYXRpb24g
cHJvdmlkZWQgaGVyZSBpcyBzaW1pbGFyIHRvICdsc3RldnRjaG4nLCBidXQgcmF0aGVyIHRoYW4N
Cg0KImxzZXZ0Y2huIi4NCg0KPiBwYXJzaW5nIGl0cyBvdXRwdXQgaXQgcXVlcmllcyB0aGUgdW5k
ZXJseWluZyBBUEkgZGlyZWN0bHkuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IEVkd2luIFTDtnLDtmsg
PGVkdmluLnRvcm9rQGNpdHJpeC5jb20+DQo+IC0tLQ0KPiAgdG9vbHMvb2NhbWwvbGlicy94Yy94
ZW5jdHJsLm1sICAgICAgfCAxNCArKysrKysrDQo+ICB0b29scy9vY2FtbC9saWJzL3hjL3hlbmN0
cmwubWxpICAgICB8IDE1ICsrKysrKysNCj4gIHRvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybF9z
dHVicy5jIHwgNjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gIDMgZmlsZXMgY2hh
bmdlZCwgOTQgaW5zZXJ0aW9ucygrKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMvb2NhbWwvbGli
cy94Yy94ZW5jdHJsLm1sIGIvdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsLm1sDQo+IGluZGV4
IDJlZDc0NTRiMTYuLmMyMWUzOTFmOTggMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL29jYW1sL2xpYnMv
eGMveGVuY3RybC5tbA0KPiArKysgYi90b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmwubWwNCj4g
QEAgLTI2Nyw2ICsyNjcsMjAgQEAgZXh0ZXJuYWwgZXZ0Y2huX2FsbG9jX3VuYm91bmQ6IGhhbmRs
ZSAtPiBkb21pZCAtPiBkb21pZCAtPiBpbnQNCj4gICAgPSAic3R1Yl94Y19ldnRjaG5fYWxsb2Nf
dW5ib3VuZCINCj4gIGV4dGVybmFsIGV2dGNobl9yZXNldDogaGFuZGxlIC0+IGRvbWlkIC0+IHVu
aXQgPSAic3R1Yl94Y19ldnRjaG5fcmVzZXQiDQo+ICANCj4gK3R5cGUgZXZ0Y2huX2ludGVyZG9t
YWluID0geyBkb206IGRvbWlkOyBwb3J0OiBpbnR9DQoNClN0cmljdGx5IHNwZWFraW5nLCBwb3J0
IG5lZWRzIHRvIGJlIGludDMyLg0KDQpBQkktd2lzZSwgaXQgY2FuIGJlIGNvbmZpZ3VyZWQgYXMg
bGFyZ2UgYXMgMl4zMi0yIGR1cmluZyBkb21haW4gY3JlYXRpb24uDQoNCkhvd2V2ZXIsIEZJRk8g
Y3VycmVudGx5IHRvcHMgb3V0IGF0IDJeMTcgYW5kIGhhcyBhIHRoZW9yZXRpY2FsIG1heGltdW0N
CmF0IDJeMjgsIHNvIHBlcmhhcHMgaW50IG91Z2h0IHRvIGVub3VnaCBmb3Igbm93Lg0KDQo+ICsN
Cj4gK3R5cGUgZXZ0Y2huX3N0YXQgPQ0KPiArICB8IEVWVENITlNUQVRfdW5ib3VuZCBvZiBkb21p
ZA0KPiArICB8IEVWVENITlNUQVRfaW50ZXJkb21haW4gb2YgZXZ0Y2huX2ludGVyZG9tYWluDQo+
ICsgIHwgRVZUQ0hOU1RBVF9waXJxIG9mIGludA0KPiArICB8IEVWVENITlNUQVRfdmlycSBvZiBp
bnQNCg0KU2ltaWxhciBjb21tZW50LsKgIEEgdmNwdSBpZCBzaG91bGQgaW4gcHJpbmNpcGxlIGJl
IGludDMyDQoNCj4gKyAgfCBFVlRDSE5TVEFUX2lwaQ0KDQpOb3JtYWxseSB3aGVuIGhhdmluZyBh
biBlbnVtZXJhdGlvbiBsaWtlIHRoaXMsIHdlIHdhbnQgdG8gaG9vayB1cCB0aGUNCmJ1aWxkLXRp
bWUgQUJJIGNoZWNrLg0KDQpCdXQgaW4gdGhpcyBjYXNlLCBpdCdzIHByb2R1Y2VkIGJ5IHRoZSBi
aW5kaW5ncyAobm90IGNvbnN1bWVkIGJ5IHRoZW0pLA0KYW5kIHRoZXJlJ3MgYW4gZXhjZXB0aW9u
IHJhaXNlZCBpbiB0aGUgZGVmYXVsdCBjYXNlLCBzbyBJIGRvbid0IHRoaW5rIHdlDQpuZWVkIHRo
ZSBidWlsZC10aW1lIEFCSSBjaGVjayBmb3IgYW55IGtpbmQgb2Ygc2FmZXR5IChhbmQgdGhlcmVm
b3JlDQpzaG91bGRuJ3QgZ28gdG8gdGhlIHJlYXNvbmFibHktaW52YXNpdmUgZWZmb3J0IG9mIGFk
ZGluZyB0aGUgY2hlY2spLg0KDQo+IGRpZmYgLS1naXQgYS90b29scy9vY2FtbC9saWJzL3hjL3hl
bmN0cmxfc3R1YnMuYyBiL3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybF9zdHVicy5jDQo+IGlu
ZGV4IGQzMDU4NWYyMWMuLjY3ZjM2NDgzOTEgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL29jYW1sL2xp
YnMveGMveGVuY3RybF9zdHVicy5jDQo+ICsrKyBiL3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3Ry
bF9zdHVicy5jDQo+IEBAIC02NDEsNiArNjQxLDcxIEBAIENBTUxwcmltIHZhbHVlIHN0dWJfeGNf
ZXZ0Y2huX3Jlc2V0KHZhbHVlIHhjaCwgdmFsdWUgZG9taWQpDQo+ICAgICAgQ0FNTHJldHVybihW
YWxfdW5pdCk7DQo+ICB9DQo+ICANCj4gK0NBTUxwcmltIHZhbHVlIHN0dWJfeGNfZXZ0Y2huX3N0
YXR1cyh2YWx1ZSB4Y2gsIHZhbHVlIGRvbWlkLCB2YWx1ZSBwb3J0KQ0KPiArew0KPiArICAgIENB
TUxwYXJhbTMoeGNoLCBkb21pZCwgcG9ydCk7DQo+ICsgICAgQ0FNTGxvY2FsNChyZXN1bHQsIHJl
c3VsdF9zdGF0dXMsIHN0YXQsIGludGVyZG9tYWluKTsNCj4gKyAgICB4Y19ldnRjaG5fc3RhdHVz
X3Qgc3RhdHVzOw0KPiArICAgIGludCByYzsNCj4gKw0KPiArICAgIG1lbXNldCgmc3RhdHVzLCAw
LCBzaXplb2Yoc3RhdHVzKSk7DQo+ICsgICAgc3RhdHVzLmRvbSA9IF9EKGRvbWlkKTsNCj4gKyAg
ICBzdGF0dXMucG9ydCA9IEludF92YWwocG9ydCk7DQoNCnhjX2V2dGNobl9zdGF0dXNfdCBzdGF0
dXMgPSB7DQrCoMKgwqAgLmRvbSA9IF9EKGRvbWlkKSwNCsKgwqDCoCAucG9ydCA9IEludF92YWwo
cG9ydCksDQp9Ow0KDQppcyB0aGUgbWFyZ2luYWxseSBwcmVmZXJyZWQgd2F5IG9mIGRvaW5nIHRo
aXMuwqAgSXQgcmVtb3ZlcyBwb3RlbnRpYWwNCmlzc3VlcyB3aXRoIHR5cG8taW5nIHRoZSBtZW1z
ZXQoKS4NCg0KPiArDQo+ICsgICAgY2FtbF9lbnRlcl9ibG9ja2luZ19zZWN0aW9uKCk7DQo+ICsg
ICAgcmMgPSB4Y19ldnRjaG5fc3RhdHVzKF9IKHhjaCksICZzdGF0dXMpOw0KPiArICAgIGNhbWxf
bGVhdmVfYmxvY2tpbmdfc2VjdGlvbigpOw0KPiArDQo+ICsgICAgaWYgKCByYyA8IDAgKQ0KPiAr
ICAgICAgICBmYWlsd2l0aF94YyhfSCh4Y2gpKTsNCj4gKw0KPiArICAgIGlmICggc3RhdHVzLnN0
YXR1cyA9PSBFVlRDSE5TVEFUX2Nsb3NlZCApDQo+ICsgICAgICAgIHJlc3VsdCA9IFZhbF9ub25l
Ow0KPiArICAgIGVsc2UNCj4gKyAgICB7DQoNClRoaXMgaXMgYWN0dWFsbHkgb25lIGV4YW1wbGUg
d2hlcmUgdXNpbmcgYSBzZWNvbmQgQ0FNTHJldHVybiB3b3VsZA0Kc2ltcGx5IHRoaW5ncyBzdWJz
dGFudGlhbGx5Lg0KDQpzd2l0Y2ggKCBzdGF0dXMuc3RhdHVzICkNCnsNCmNhc2UgRVZUQ0hOU1RB
VF9jbG9zZWQ6DQrCoMKgwqAgQ0FNTHJldHVybihWYWxfbm9uZSk7DQoNCmNhc2UgRVZUQ0hOU1RB
VF91bmJvdW5kOg0KwqDCoMKgIC4uLg0KDQpXb3VsZCByZW1vdmUgdGhlIG5lZWQgZm9yIHRoZSBv
dXRlciBpZi9lbHNlLg0KDQoNCj4gKyAgICAgICAgc3dpdGNoICggc3RhdHVzLnN0YXR1cyApDQo+
ICsgICAgICAgIHsNCj4gKyAgICAgICAgY2FzZSBFVlRDSE5TVEFUX3VuYm91bmQ6DQo+ICsgICAg
ICAgICAgICBzdGF0ID0gY2FtbF9hbGxvYygxLCAwKTsgLyogMXN0IG5vbi1jb25zdGFudCBjb25z
dHJ1Y3RvciAqLw0KPiArICAgICAgICAgICAgU3RvcmVfZmllbGQoc3RhdCwgMCwgVmFsX2ludChz
dGF0dXMudS51bmJvdW5kLmRvbSkpOw0KPiArICAgICAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAg
ICAgICAgY2FzZSBFVlRDSE5TVEFUX2ludGVyZG9tYWluOg0KPiArICAgICAgICAgICAgaW50ZXJk
b21haW4gPSBjYW1sX2FsbG9jX3R1cGxlKDIpOw0KPiArICAgICAgICAgICAgU3RvcmVfZmllbGQo
aW50ZXJkb21haW4sIDAsIFZhbF9pbnQoc3RhdHVzLnUuaW50ZXJkb21haW4uZG9tKSk7DQo+ICsg
ICAgICAgICAgICBTdG9yZV9maWVsZChpbnRlcmRvbWFpbiwgMSwgVmFsX2ludChzdGF0dXMudS5p
bnRlcmRvbWFpbi5wb3J0KSk7DQo+ICsgICAgICAgICAgICBzdGF0ID0gY2FtbF9hbGxvYygxLCAx
KTsgLyogIDJuZCBub24tY29uc3RhbnQgY29uc3RydWN0b3IgKi8NCj4gKyAgICAgICAgICAgIFN0
b3JlX2ZpZWxkKHN0YXQsIDAsIGludGVyZG9tYWluKTsNCj4gKyAgICAgICAgICAgIGJyZWFrOw0K
PiArICAgICAgICBjYXNlIEVWVENITlNUQVRfcGlycToNCj4gKyAgICAgICAgICAgIHN0YXQgPSBj
YW1sX2FsbG9jKDEsIDIpOyAvKiAzcmQgbm9uLWNvbnN0YW50IGNvbnN0cnVjdG9yICovDQo+ICsg
ICAgICAgICAgICBTdG9yZV9maWVsZChzdGF0LCAwLCBWYWxfaW50KHN0YXR1cy51LnBpcnEpKTsN
Cj4gKyAgICAgICAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgICAgIGNhc2UgRVZUQ0hOU1RBVF92
aXJxOg0KPiArICAgICAgICAgICAgc3RhdCA9IGNhbWxfYWxsb2MoMSwgMyk7IC8qIDR0aCBub24t
Y29uc3RhbnQgY29uc3RydWN0b3IgKi8NCj4gKyAgICAgICAgICAgIFN0b3JlX2ZpZWxkKHN0YXQs
IDAsIFZhbF9pbnQoc3RhdHVzLnUudmlycSkpOw0KPiArICAgICAgICAgICAgYnJlYWs7DQo+ICsN
Cj4gKyAgICAgICAgY2FzZSBFVlRDSE5TVEFUX2lwaToNCj4gKyAgICAgICAgICAgIHN0YXQgPSBW
YWxfaW50KDApOyAvKiAxc3QgY29uc3RhbnQgY29uc3RydWN0b3IgKi8NCj4gKyAgICAgICAgICAg
IGJyZWFrOw0KPiArDQo+ICsgICAgICAgIGRlZmF1bHQ6DQo+ICsgICAgICAgICAgICBjYW1sX2Zh
aWx3aXRoKCJVbmtvd24gZXZ0Y2huIHN0YXR1cyIpOw0KPiArICAgICAgICB9DQoNCldlJ2Qgbm9y
bWFsbHkgaGF2ZSBhIGJsYW5rIGxpbmUgaGVyZS4NCg0KPiArICAgICAgICByZXN1bHRfc3RhdHVz
ID0gY2FtbF9hbGxvY190dXBsZSgyKTsNCj4gKyAgICAgICAgU3RvcmVfZmllbGQocmVzdWx0X3N0
YXR1cywgMCwgVmFsX2ludChzdGF0dXMudmNwdSkpOw0KPiArICAgICAgICBTdG9yZV9maWVsZChy
ZXN1bHRfc3RhdHVzLCAxLCBzdGF0KTsNCj4gKw0KPiArICAgICAgICAvKiBUYWdfc29tZSBhbmQg
Y2FtbF9hbGxvY19zb21lIGFyZSBtaXNzaW5nIGluIG9sZGVyIHZlcnNpb25zIG9mIE9DYW1sDQo+
ICsgICAgICAgICAqLw0KDQpDYW4gd2UgZG8gdGhlIHVzdWFsDQoNCiNpZm5kZWYgVGFnX3NvbWUN
CiMgZGVmaW5lIFRhZ19zb21lIC4uLg0KI2VuZGlmDQoNCmF0IHRoZSB0b3AsIGFuZCB1c2UgaXQg
dW5jb25kaXRpb25hbGx5IGhlcmU/DQoNCmNhbWxfYWxsb2Nfc29tZSgpIGlzIHBlcmhhcHMgbGVz
cyBpbnRlcmVzdGluZyBhcyBpdCBvbmx5IGFwcGVhcmVkIGluDQpPY2FtbCA0LjEyIEFGQUlDVCwg
YnV0IHdlIGNvdWxkIGFsc28gaGF2ZSBzb21lIGlmZGVmYXJ5IGZvciB0aGF0IGF0IHRoZQ0KdG9w
IG9mIHRoZSBmaWxlLg0KDQpJIGRvbid0IGtub3cgd2hldGhlciB3ZSBoYXZlIG9wZW5jb2RlZCBv
cHRpb25zIGVsc2V3aGVyZSBpbiB0aGUNCmJpbmRpbmdzLCBidXQgaXQgY2VydGFpbmx5IHdvdWxk
IGJlIHJlZHVjZSB0aGUgYW1vdW50IG9wZW5jb2RpbmcgdGhhdA0KZXhpc3RzIGZvciBzdGFuZGFy
ZCBwYXR0ZXJucy4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:36:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:36:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450587.707928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hrG-000762-TM; Thu, 01 Dec 2022 11:36:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450587.707928; Thu, 01 Dec 2022 11:36:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hrG-00075v-Pk; Thu, 01 Dec 2022 11:36:02 +0000
Received: by outflank-mailman (input) for mailman id 450587;
 Thu, 01 Dec 2022 11:36:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0hrF-00075p-Nc
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:36:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0hrE-00076S-VI; Thu, 01 Dec 2022 11:36:00 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.7.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0hrE-0002iv-Nv; Thu, 01 Dec 2022 11:36:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=omB48ubW4YlcZj+BWbcqdf35/KunkQo5SvsP5leyPWc=; b=VmP+Bdg5/qP037ojkMeXl5wHBM
	Bb0RsRCXkCO1BtlCyVV6a3v2PN/5RtwPSoqt59Rsqx1d5H3ZcvEFORyQM+3QiaAQ0jYbTU72K7RX/
	iRQIx0N0YEhMNJtiwSujQxxyJgFnoQp1LJVP6KXVkmypPEu5sfaAvV1LnbQzxoCsshdk=;
Message-ID: <b47efecd-c2cf-8fe9-7e47-7fb22231be8d@xen.org>
Date: Thu, 1 Dec 2022 11:35:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH v1 5/5] CODING_STYLE: add .clang-format
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross
 <jgross@suse.com>, Edwin Torok <edvin.torok@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
 <7e6b8e69-70d2-8178-205d-8c20b993162d@xen.org>
 <7DF6F06F-A65A-4F1F-8FDA-BF0E8977F99B@citrix.com>
 <c3af2730-d503-e139-644a-480a506c94d1@xen.org>
 <99df302d-8bc5-55a7-a97e-dcc8eee41d2c@suse.com>
 <3e6e6948-7852-751e-a025-9fe36e9cfb82@xen.org>
 <82bdfded-6271-d262-136d-57b4b1a92a9b@suse.com>
 <6a5af398-270b-f57c-091c-78ebea8630ec@xen.org>
 <3eb81135-0cd5-1788-3569-0db7d68541b8@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3eb81135-0cd5-1788-3569-0db7d68541b8@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 01/12/2022 11:30, Jan Beulich wrote:
> On 01.12.2022 11:47, Julien Grall wrote:
>>
>>
>> On 01/12/2022 10:44, Juergen Gross wrote:
>>> On 01.12.22 11:12, Julien Grall wrote:
>>>>> We might want to add a comment to xs_wire.h like the one in ring.h in
>>>>> order to
>>>>> document the requirement of the type definition of uint32_t.
>>>>
>>>> The problem with this approach is you made more difficult for any
>>>> userspace application to use the headers. So I would argue that the
>>>> Linux copy can remove "stdint.h" if needed.
>>>
>>> Today there is exactly one public header including stdint.h, and I'd argue
>>> that this was a mistake.
> 
> I think so, too.
> 
>>> xs_wire.h is especially rather uninteresting for any user space application
>>> but a Xenstore implementation. All consumers of xs_wire.h are probably
>>> either in the Xen tree, or operating system kernels. User space
>>> applications
>>> should use libxenstore for accessing the Xenstore, so I don't see an
>>> advantage in breaking the usual philosophy of the Xen public headers NOT
>>> including external headers like stdint.h.
>>
>> I think Edwin example is a pretty good justification for including
>> stdint.h.
> 
> I disagree. The intention has always been for consumers to provide the
> basic C99 types by whatever suitable means they have. Note that in Xen
> we also have no stdint.h.

I really dislike when I have to find the dependency of an header. This 
is really a waste of time...

If other disagree with that, then the strict minimum would be for this 
dependency to be recorded if it hasn't been done (I couldn't find anywhere).

> 
>> If you have a coding style requiring to order header alphabetically,
>> then the developer may not even be able to include stdint.h without any
>> hackery (e.g. introducing a header that will always be before the Xen
>> public headers).
> 
> Just to indicate that commonly style requirements may be weaker than
> "fully alphabetic" - we don't request full ordering. What we request is
> that groups (xen/, asm/, public/) be ordered within any group, but we
> do not (afaia) demand ordering across groups (and indeed commonly we
> have asm/ after xen/).
Right, but that's **our** coding style. You don't know what's going to 
be the coding style for other project.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:39:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:39:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450592.707939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0huV-0007hd-A4; Thu, 01 Dec 2022 11:39:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450592.707939; Thu, 01 Dec 2022 11:39:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0huV-0007hW-7H; Thu, 01 Dec 2022 11:39:23 +0000
Received: by outflank-mailman (input) for mailman id 450592;
 Thu, 01 Dec 2022 11:39:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jPp1=37=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p0huT-0007hO-Tt
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:39:21 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id cb2eebe4-716c-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 12:39:20 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 07C9ED6E;
 Thu,  1 Dec 2022 03:39:26 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.24])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 7E7383F73D;
 Thu,  1 Dec 2022 03:39:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb2eebe4-716c-11ed-91b6-6bf2151ebd3b
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v6 0/2] Final changelog changes for 4.17
Date: Thu,  1 Dec 2022 19:39:08 +0800
Message-Id: <20221201113910.1984744-1-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi all,

These two patches should be the final changelog changes for 4.17.

The first patch sets the release date and tag of 4.17 release and
should be "backported" to the staging/stable-4.17.

The second patch starts a new unstable section, so should be in
unstable master/staging only.

Thanks.

Henry

Henry Wang (2):
  CHANGELOG: Set 4.17 release date and tag
  CHANGELOG: Start new "unstable" section

 CHANGELOG.md | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:39:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:39:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450593.707949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0huY-0007xp-Gl; Thu, 01 Dec 2022 11:39:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450593.707949; Thu, 01 Dec 2022 11:39:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0huY-0007xi-Df; Thu, 01 Dec 2022 11:39:26 +0000
Received: by outflank-mailman (input) for mailman id 450593;
 Thu, 01 Dec 2022 11:39:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jPp1=37=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p0huX-0007xO-NV
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:39:25 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id ed3c325c-716b-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 12:33:07 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 368C5D6E;
 Thu,  1 Dec 2022 03:39:30 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.24])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id AE63E3F73D;
 Thu,  1 Dec 2022 03:39:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed3c325c-716b-11ed-8fd2-01056ac49cbb
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH for-4.17 v6 1/2] CHANGELOG: Set 4.17 release date and tag
Date: Thu,  1 Dec 2022 19:39:09 +0800
Message-Id: <20221201113910.1984744-2-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221201113910.1984744-1-Henry.Wang@arm.com>
References: <20221201113910.1984744-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
This is the patch we want to "backport" to staging/stable-4.17.
v5 -> v6:
- New patch.
---
 CHANGELOG.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5d686a4258..7f4d0f25e9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,7 +4,7 @@ Notable changes to Xen will be documented in this file.
 
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
-## [4.17.0](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=staging)
+## [4.17.0](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.17.0) - 2022-12-12
 
 ### Changed
  - On x86 "vga=current" can now be used together with GrUB2's gfxpayload setting. Note that
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:39:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:39:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450594.707961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hue-0008IN-Ps; Thu, 01 Dec 2022 11:39:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450594.707961; Thu, 01 Dec 2022 11:39:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hue-0008I9-N5; Thu, 01 Dec 2022 11:39:32 +0000
Received: by outflank-mailman (input) for mailman id 450594;
 Thu, 01 Dec 2022 11:39:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jPp1=37=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p0huc-0007xO-Tj
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:39:30 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id f0cce814-716b-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 12:33:13 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 1B33DD6E;
 Thu,  1 Dec 2022 03:39:36 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.24])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 54A933F73D;
 Thu,  1 Dec 2022 03:39:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0cce814-716b-11ed-8fd2-01056ac49cbb
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Community Manager <community.manager@xenproject.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v6 2/2] CHANGELOG: Start new "unstable" section
Date: Thu,  1 Dec 2022 19:39:10 +0800
Message-Id: <20221201113910.1984744-3-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221201113910.1984744-1-Henry.Wang@arm.com>
References: <20221201113910.1984744-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
I think this patch should be a master/staging patch only.
v5 -> v6:
- This is the leftover patch from [1]. Rebase on top of Patch #1.
[1] https://lore.kernel.org/xen-devel/20221124025041.1540079-1-Henry.Wang@arm.com/
---
 CHANGELOG.md | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7f4d0f25e9..6754139713 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,8 @@ Notable changes to Xen will be documented in this file.
 
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
+## [unstable UNRELEASED](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
+
 ## [4.17.0](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.17.0) - 2022-12-12
 
 ### Changed
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:44:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:44:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450614.707972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hzf-0002A3-Dn; Thu, 01 Dec 2022 11:44:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450614.707972; Thu, 01 Dec 2022 11:44:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0hzf-00029w-9c; Thu, 01 Dec 2022 11:44:43 +0000
Received: by outflank-mailman (input) for mailman id 450614;
 Thu, 01 Dec 2022 11:44:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lVjU=37=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p0hzd-00029X-Du
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:44:41 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060f.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 89f83653-716d-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 12:44:40 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB9464.eurprd04.prod.outlook.com (2603:10a6:102:2ac::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 11:44:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 11:44:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 89f83653-716d-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GjQPRmm8G/7F0IOToAhXh0V/Oxn9vrrkgstUKstDZq9iWPymBZ2dOkGLKqlSu+xU/WkaLo5C4VZG/UGA4TI2WS0uPpr9iHhCOau+w8PyEsV9xynlp1I5/+wUfpr/76Xm07pFrjGdjrpEt8nFWsC4HP5r4ityRryqwyNTNBuzsNJ+w0EP6zn6KWyWaZfDwXSEj+ERRrqGqmz5GPiifoL/4rqAbN2rlP//R678wtI7GmcrGXDbucKl1nLk2YQNTtK754wPGgbGpK1grtmmJCQdSqm+yJs1ctnTezQ3DWicvkHDUlskiSEABMt6bHJiNsuUrUIP0ijoC4N0J0U4mwCFEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sO00GJ18TMM3c6JJKnNd/bqPxhg09YDK+94ASBBHNd4=;
 b=OSEry7XcRvrLVkenojpCxG8EiZlWhfCIgKzGPcgsFj0oeU3fQaWpbk0SSHF5gHBSl1hZxUQvAT9aPzUv/NOvTQO28C7CvRFhJi3BSAjoQco1VLhBb7izT79AKi6hfOsPchC0R4aSJZ4t/WNr6FP3Cms5XKw5vFpblPPmjrFACRhYDwlq87MsfnK+As6vvnneQx3kgje4YHcdmm6YA45u2npKBETwYBqYi+bb0Z9encVaB79N+RPUDrydPqkXfGjEuWfA1yDj9jJ/OajU+Aw3EXVdYiP9wAu7eQ2vw4+kPIKKJf+7leOu2yz9D4CtVvDULwpAUBJk5DCKlMTzH4XWEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sO00GJ18TMM3c6JJKnNd/bqPxhg09YDK+94ASBBHNd4=;
 b=a2COuFLv+oSAjqTHFSDkjQO+k8cfHlP5JOurC+5wZjbCa7p2tNHkFH4Q2pnV8DOTOOjDITqEFsTlwxhXi2930vGd1rjOSC7zTow+KtECENffgOZDf8g1r7mHvWTSsEQHweY72+7X5tHjvaztemEbviVpdvC02wAM9/b61Ibtafj1SBW9ApYVjfV73iC+9n9sEPF+ZvVhJT97DW3J6S+774fckpz7iC1IvKhSc4stFWz3Qiha21hin5HFib4qtWWEYVoa+oalZOcA4c9grCqMVr/LfbF9n7Y2PkFfvjEkb6i8V3dsNTGxEYvcZNh2mPtn4+WLsamwh3JGgRxGGGrcDw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <37e05485-7625-a227-2fb0-f12ba0ce79b4@suse.com>
Date: Thu, 1 Dec 2022 12:44:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [XEN v1] Xen: Enable compilation when PADDR_BITS == BITS_PER_LONG
Content-Language: en-US
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefanos@xilinx.com, andrew.cooper3@citrix.com,
 george.dunlap@citrix.com, bobbyeshleman@gmail.com, alistair.francis@wdc.com,
 connojdavis@gmail.com, wl@xen.org, xen-devel@lists.xenproject.org
References: <20221201100309.2385-1-ayan.kumar.halder@amd.com>
 <c89992bb-065b-e7e4-3f5f-1c70754e4635@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c89992bb-065b-e7e4-3f5f-1c70754e4635@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0042.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB9464:EE_
X-MS-Office365-Filtering-Correlation-Id: 8eb8897e-24ad-491e-b338-08dad3916d19
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UlG/b938SLHorbayo1QcqlnsuA9Oh+k/Pc4/HaE6UmvF90+Q4dlVOoT6/2ZReNHsOVp9+o5QIxLIQKaJvNtHxPlNgOJZAM+ebBzqCPoEfrE7c0cpLsLZ2sGnOAa99odXuphTqk+Wq3djqxdMH5Qk20bzJVADvZYex8KYSYxrN+yynUy1xe4FqgMmbBqFvKQ2+P72Nz3tVVrQzAsqxJfEHsKd2A+ZM4MOfj0W6b0+XYldodi/4Aal4ua5yPrs7S4vsKg3g7Cb8Y52qqBNe6VsrUIzP+R/e5tBgE/Uo1z4rwNsPLI7jRit01gRBGISgyUYnElL8JrW8mq5xCOtj4Mso58H3tBy4aM5pbVc5ApRBRsTe0jf56qP0ac/HwS68kENmGBRPPTPC7yTniV5fwtgwXOLCHh61JBWtipLvmizAnNmbjE8Rhp+KOBBipXLKS3M0a5rz4uz9hxgI3jVvcqPINp1ISHuilR+9cCDwpYw1J5V52NrAIaKAr7aEM41w4J6o7vQp5oBD9TU4C0Lbzy9iPVC4wRFD24rcBnpoFqJj1v5SOlc5Wf5epsQbbuooGIivBOsrhHK6POglMZwglqdyW7CFLQKODuD1oUPtWljZJgi2Gn04TtAgXKEH85LuzJGf0maL0IIWl+M4xO4iG/Qc2HGPemQuWe4buvtT8uY2DZec5ND+7WzHEP7cji5n9ItFqzG71zhdDi0S0LTCKJY/HdGGtflSivJQ+jV2cVz09Q=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(39860400002)(376002)(396003)(346002)(366004)(451199015)(41300700001)(186003)(2616005)(8936002)(4744005)(36756003)(31696002)(2906002)(86362001)(110136005)(66556008)(66476007)(7416002)(5660300002)(316002)(66946007)(8676002)(4326008)(478600001)(6486002)(31686004)(6506007)(6512007)(38100700002)(53546011)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZjR2QjZmT2xYeGMrSW03TFhuZzErNDJLWDNWcGd5bGRIV1I1cEJuMGsrTGli?=
 =?utf-8?B?Yy9qclk0aGFFclJ0TVdRMC94MmZYMEQ1a2g4TEpZOVllcjhiOTZ5aTJOdXd0?=
 =?utf-8?B?aGNkOTVBZnUrOGYrNU42ZXV5YUFZd2lOQXhIYld4ZkVrNmh6ZVBCUTBBTFhi?=
 =?utf-8?B?TWQ1TSs2S01DbWpxcUlDODNuOXhtdGxBdjJXc0x5MXZPdGR4Mm4vVFU2cmJQ?=
 =?utf-8?B?NGtFR2FpRHkrRjRSS292bWRRNVh4ODFSR0xsNkdhZllwdVYzYmk0U3ppWVY0?=
 =?utf-8?B?THFHRGp5UUhZdHJkVm0wb3VvY3JkNktreHpaNU5PMmtuK2dmMGsxL1pXRmIr?=
 =?utf-8?B?M0hNNHJUTTJleUZ6Y2ZXKzIwYTVpQlhGc0JvL1QvYTFmeXIrb0FDVnVmcUI1?=
 =?utf-8?B?MWN2UVkxelRtR05xVmxUZ1lnZlQrN09SMlU2ODdETnVmRVBCSWd3dGRoQjBB?=
 =?utf-8?B?U0RMbTJmVElYVmx5RWdhczg1L0xFRDFmMXdrSXh5WHM2YVJqMVZzR0lCMEYy?=
 =?utf-8?B?b1R2TDJ3aDEwRC9PRlV4eFo4ZXI5eXBoei9UTENzcjRjMm5WY2hWemg0VGY2?=
 =?utf-8?B?N200aXZXeUQwU2dnZ0VFdVhvVHNBQkFPM0VaSFlXZFBLRHFsemw2WFlneXFz?=
 =?utf-8?B?ZEJPalhYZDJGRTg1MmpCdEZzQ3k4YWdmcEpmSVBXWG9GNXVwN0JxalVyVUJW?=
 =?utf-8?B?dzg4QWVES3BWMkxYWGE3OWkvbXhsSVkxVEE1azlML3MzcUFGQ1A1UkUrTlU5?=
 =?utf-8?B?Wm9qbTNWZWxMT3l0dmIyS0toRlQxcXRSc1hZMXFPSFozYnkxVUtFTGhlaUYx?=
 =?utf-8?B?OXlTTUNTS1ZrUjF0bHZxazhqT2xiUnZ1RlphWkJzcXViVm9BbGFwUFgyTHds?=
 =?utf-8?B?NUZrMXROams3TmdtUHZIcHBINlVSYmZGamlXclIwNHNDTS9Qd3pxTy9LSzlx?=
 =?utf-8?B?QXZNWThvR0VTa3dQQ2dhY2ZwWkZmNlVBeWlzcHVVdFpHVjBwN1FtUW9nem5w?=
 =?utf-8?B?Rm9tTFAzU1VYemVBZWlYYVF2K2ovQm5ha2o2RXd6TS90U0pSZnloSEF5NERY?=
 =?utf-8?B?c3hTcGhzK1p2R1BvZTFsWkdvSGF3SFpBMWRuT3ROYmhKMXJmdjc1WThtdVVQ?=
 =?utf-8?B?T1F1RHV1UnBOc1NjT0dyZElVeDZ4OVZzVnZSUWN5Znd5SXRVYkZ5L0RxcjZx?=
 =?utf-8?B?SkZobURXWHFOTHh5TE44aDl3ZUdsNkhjdlZlUjhYMGxFNVlkcHVCWjZXZkZR?=
 =?utf-8?B?eVdjVDJEek9ZVldwelZuNWwrZnpXL0UwYUtlenVxWkUzOFhDMjdXdkVibXNL?=
 =?utf-8?B?R3RoV2dYMEYyS2dRakNtYWNNazUxYzlROUcwcklLbVQzYkYzZ3l6TVZ5ZERU?=
 =?utf-8?B?dWd6NGdxbC93RTlINVhBTENiT05wVlJXdUc0UFF4ekFxSWZCTkNuS0RFTjFh?=
 =?utf-8?B?WWdRcjdsZzJqekpscGQwTVljZkdTQWpIemlJRlRUeVFEQnBnckYySmsyV281?=
 =?utf-8?B?MFNTYWZiTDdPQ0c2L0VBL2VzWEJNYkFSYm93eXRWWGNGYW9xa3k0bUJoUnFM?=
 =?utf-8?B?UzUyM1JRaDZETTl4aHVnbllsdHFWWUtteEw4TFVzeUZ0SURRWTArV2pSaTBJ?=
 =?utf-8?B?c2NxYnhNNHVlNkdnb0pPVWlYcDlKS0tRbFNzL2s0d1RvcVVzQVl0TXZHd2xh?=
 =?utf-8?B?ZUppejc0OEtRenByL0dDUFhpenJYZkdnRHR0VzlBSFlLMWt3c1doVHpNWnVN?=
 =?utf-8?B?RlMrRkZkOTUvMlA3YU9IRlovcWJzTFh6blBkWVNZN2R2SEpYQS8zOFNXUkdE?=
 =?utf-8?B?Q0dpK1JzcVlVdFFveENtbkxJUjFTTVVjQkNmUUtwU0o4MDgzTGNIbEZhYzZy?=
 =?utf-8?B?T2F4aGJVM015ekh0Sno4d0hXSlBSbXpZTEdvMHgycUlPd3Ftb296dGRabXFk?=
 =?utf-8?B?b2QyaTk1Rk93REFMdWx4YUhaWEVzZWdIZ3VIcENScitMSlFmbFZSYlhsUEwr?=
 =?utf-8?B?OTZDdDcrS2xWNDFzSmJJejV5aFFPeUhmZXZ0SEQ3OUdJdXRzdmxNNUM1b3dF?=
 =?utf-8?B?MlN2UEdFbEhOb1dZWlE5dmJQTWFKRUNmQzJDYkNXLzFLTDhBVEcrYVpWKzVQ?=
 =?utf-8?Q?27kKfZMRXjieBvdK7bdPw+FGb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8eb8897e-24ad-491e-b338-08dad3916d19
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 11:44:38.2653
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GgtBuWvQw/quC1FNpjilWg4BXNcO9JbI6bMmcZI+NBXDOQCXMe/s4929ENSIldetGnglbVS930RUhdBlI8pH/g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9464

On 01.12.2022 11:26, Julien Grall wrote:
> On 01/12/2022 10:03, Ayan Kumar Halder wrote:
>> --- a/xen/common/page_alloc.c
>> +++ b/xen/common/page_alloc.c
>> @@ -2245,7 +2245,7 @@ void __init xenheap_max_mfn(unsigned long mfn)
>>   {
>>       ASSERT(!first_node_initialised);
>>       ASSERT(!xenheap_bits);
>> -    BUILD_BUG_ON(PADDR_BITS >= BITS_PER_LONG);
>> +    BUILD_BUG_ON(PADDR_BITS > BITS_PER_LONG);
> 
> Based on the above, I think this wants to be "(PADDR_BITS - PAGE_SHIFT) 
>  >= BITS_PER_LONG)".

+1, fwiw.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:51:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:51:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450622.707982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0i6X-0003wQ-3p; Thu, 01 Dec 2022 11:51:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450622.707982; Thu, 01 Dec 2022 11:51:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0i6X-0003wJ-18; Thu, 01 Dec 2022 11:51:49 +0000
Received: by outflank-mailman (input) for mailman id 450622;
 Thu, 01 Dec 2022 11:51:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mmm5=37=citrix.com=prvs=327587bd7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p0i6W-0003wD-4o
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:51:48 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 875f4a5b-716e-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 12:51:46 +0100 (CET)
Received: from mail-dm6nam11lp2171.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.171])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 06:51:39 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN8PR03MB4931.namprd03.prod.outlook.com (2603:10b6:408:d8::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 11:51:37 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 11:51:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 875f4a5b-716e-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669895506;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=nca0bVxWP3Spox33UDy3b/h0Hwof3uzXV0BRdBJardg=;
  b=DRX1tJY5JAeEJz3s6ejp29hLV4Q5Vypag5bML6hkZ+nOs562UBYC6IIE
   gprVDEzjErsfEQuj/2tatBWhrsO8CJX2BcIIOF6um/pnOcu9RmH4zSuba
   SiVc2kaft/haCWXno3PBP6sw9SSuEW02UIzEmJ+BnEjs+Q53FgyvSh0C9
   0=;
X-IronPort-RemoteIP: 104.47.57.171
X-IronPort-MID: 85597418
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ZFhlLqNgdSyXG4vvrR2FlsFynXyQoLVcMsEvi/4bfWQNrUol3zMEm
 2caCmjVbP+NZjPyeNhxOtjnpBxV78ODmt9kSwto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5gVmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0ud7AThv9
 r9fEzc2Zyyzt/vmmIqHVNA506zPLOGzVG8ekldJ6GiASNoDH9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PVxujeKpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8efwH6qB95LRNVU8NYpq0+Y+UkvMicbekSSqumwjVWZYeNQf
 hl8Fi0G6PJaGFaQZsnwWVi0rWCJujYYWsFMCKsq5QeV0K3W7g2FQG8eQVZpZNU4uecsSDct1
 1vPmMnmbRRwtJWFRHTb8a2bxQ5eIgAQJG4GICMBEw0M5oC6pJlp102WCNF+DKSyk9v5Xynqx
 CyHpzQ/gLNVitMX06K8/hbMhDfESoX1czPZLz7/BgqNhj6Vrqb8D2B0wTA3Ncp9Ebs=
IronPort-HdrOrdr: A9a23:aXqSl6nNFR9IwVRU50hUgsT7KG/pDfNpimdD5ihNYBxZY6Wkfq
 GV7YEmPHrP41gssR4b+exoR5PwPU80maQV3WBzB8bQYOCZghrLEGgK1+KLqQEIcBeOldK1u5
 0QFpSXA7XLfCdHZa6R2mWF+71L+ra6GG/Dv4rj5kYodCUvT5xJqz5+DAPzKDwFeOGFb6BJaq
 Z1IqB81kqdkbF8VLXLOpB/ZZmmm/T70Kj+ZAIABVoO8RDmt0LQ1JfKVyKA2wsYUXdl3bcm/A
 H+4nHEz5Tmiei/1hjfk0ja65g+oqqH9vJzQPaUj9QTKHHLlAGlf+1aKtu/lQFwmvir9FEp1O
 Ptjn4bTrxOwkKURHixvRzunzPtyykj8FjrzVPwuwqZneXJAAgiDtZHh8ZnfgDC60wm1esMqp
 524w==
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="85597418"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yczz/JXV0EEp0XvKBAjlkrx9CvcQSfxDvrvZPxG1Laq63iP5ETEzFKlfO+536TMTjUZJcnRTJUDFpDIBZFyf4tz6BSXL2Dm8KWUUvTj0ELripBNs/3XmG/XOcerfHgxsEEaUazOheAXymvmUUDbhxH25bvEusYE2WsLgIQ5hXL2XYgmHNkr23D9mAo8kLAr5j1BuFDgE0aWLl7euNzkUlP+TjD/TUn7t+KdU1FypUuPwEsH7JfEKu2N0Ku4l7mRkzC+90ya8OM0JDp1NaK8tEf4+DSm0XUtyheBZ1MCVH1v1slkTsKAPsWKneiGm0vpt8dpiOOvX8LPMbOvF0TkX4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nca0bVxWP3Spox33UDy3b/h0Hwof3uzXV0BRdBJardg=;
 b=B32EIntMqk0VL2fnARRlYrmZFYxgKPo2lxQmhPeAC/hCJ+yBg17zC+ooSTvrzzRltGwf9vjLKV4frbDLb6vJk8A7O5ua9VCAfV1JrCnojxDqchkiB1cUhIfMuInjsT2hHT4dBEsaLA4ikp/Bvn432JtxFES+BJWkOhLo3q7TxmEHE1m1dsHjdKEIYHmncbVNjW+jwwqVpV39Vwcf67a99+w8hfAMvrcsrvz0C4kQLO9Est09oSIGaj11ZLseANQDbaGirW3I5FlAI9gNR+PtChtTc0cedrb85ifLV6Z8VPAUOoqgdknEu+Odfu7rTLGwIuTniPSJNf44LgAO9q8ytw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nca0bVxWP3Spox33UDy3b/h0Hwof3uzXV0BRdBJardg=;
 b=Vge8kv7OsNZfaAknVU7geyKZKRjZPK3GSG8MP8eGqhDUp12sQQ++J626qHmWkHdASp0CAZvtVjPxs61svJ+ePzeVyZ3+ldudKoJ+51nQIZO651WN+mbpuUhVrDJXHt/VSsmYmMCW+FarT6qgRwh05JWIbveUc1Usavax+SlDfDc=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 3/5] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Topic: [PATCH v1 3/5] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Index: AQHZBOHoUstN/BwU2U6dPEOVBKoOc65Y7MSA
Date: Thu, 1 Dec 2022 11:51:37 +0000
Message-ID: <4ba26b93-a7b0-ee6d-f71f-6e0d78314697@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <63240681327af995df64b773945406b097a31d4b.1669829264.git.edvin.torok@citrix.com>
In-Reply-To:
 <63240681327af995df64b773945406b097a31d4b.1669829264.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BN8PR03MB4931:EE_
x-ms-office365-filtering-correlation-id: 42dc0c46-85c8-43b2-7a12-08dad3926725
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Dbp+ddymqczSwOnZtQtkp7Yr9LtRFH2l3GCtarlglT1vj7mM0QtDSelgVdlKV4xaKlZ/8GOBwvWDGzaEn71T8uEgXLMXvl6s+zjrfriMyi42J41VoTLbt9fttfUN09bKFZcYTzEBLm158gQI5xTApeMh90Pkm1Mx8hqEBFISDvAKnrEnYY2Q2hWtRX5JsF4l6M2WVcquHh800jkx0w74nyg6pVz1W2w9dyi4brE8MfeU8FyLNl4BdsWzDsoNRyUdHFH6XcFbruU6KupaLf06urHl+KCD22TY5PtnqkI0K1GuSWID5rfSXa7hmM4A1xA7EixcoBmzWVlii+gPUZmwYra1x6Xw2bZcPicGuWcVCI8LxX8HnIjuUh1LC16v0BIHRqBPncRhFah1gVNxg3CUYlBE1s+VMH+iZ9rQTkH+rGuidxI78sFzBr4h6aX3qIO1pkAMgfrYtfAH3t5xPfz07ByClrIe1pgeGwEGPpg3s8JyDNBXPt0CzR148TaDhyu7zugfxMgDNnKjBajwiJCGCygvmZCPIYlq4wgTLA9nrznMbrs1v1zsUlBq2+GeS3+KN+A3Z1eXeXBKqOK14UgxcsK9ENwFW1W0lfe4RCsNYIlUJmpg3rNhTfNjVoheeJv1SUIm7GywICYaE2X977j8Ve/FgY5Fwq1z5Qy5wxFvga7doPGPI57Hm81/OfAkFXRW7vuC9yLYNZYI50pK6Ne88VWoNCHzzAKi197Na6lSSiPfnj1IJPSJpEC5jR4LAPLfPL+1iA1zKMVafScrNZ7DeQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(39860400002)(376002)(136003)(346002)(396003)(451199015)(107886003)(6486002)(31696002)(83380400001)(6506007)(86362001)(478600001)(53546011)(31686004)(71200400001)(6512007)(316002)(41300700001)(2616005)(82960400001)(110136005)(5660300002)(54906003)(8936002)(66556008)(64756008)(38070700005)(186003)(91956017)(2906002)(26005)(38100700002)(66946007)(4326008)(66476007)(8676002)(36756003)(76116006)(66446008)(122000001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Q3RQUXMyUGVBREhZOGk0eEJqbWxGWVdTeXNvS0hyN1ZyZDRYQTMyRmJNT3l0?=
 =?utf-8?B?UHVoTWJpRGFva2tOVkhPakZVRk8vSDdQTW9YT1p6K2M5TlFhT3VtL2YzcDF2?=
 =?utf-8?B?UjFSckpMb2p0aFhSVURSSmxORnJ4bCtJWG1naFZuQlg4eENjVHc4V3p1NUlV?=
 =?utf-8?B?RFRoNks5OUxOajNTWXMxQTNJdXEyeDlkYSsrSVRGRVV5S2o2Qlhma3hMZE04?=
 =?utf-8?B?d25IczNPM29kalZtM3N4bEZUNWxhTHBZM1Q2YTBEenRwd0t3MXZNT1RIL0V4?=
 =?utf-8?B?QUZ0a1E0Uy96aTlWWHd1UUQxS3BQTkxFUXBhemFKTWNxK2NrcHg4d04yaGpW?=
 =?utf-8?B?YStmZHF5YVMwenhyM3QvWWx5REZBUnB6VDZjWkszRHQ4MkZKbW1IYXFnU1Z6?=
 =?utf-8?B?QVNEZTVPZVZnVE1mOURLM1h2UHdQaUpvUG9Yb0xOWEQvVmNjUTlrN0dpclNF?=
 =?utf-8?B?YmowUnBydFVaa0YwWm94a0wzQWtkUEtZYVFjb1ppTkxtWFVjYUhTL0dpU1BD?=
 =?utf-8?B?SWFVTEFFdXA1dTVCY3JCWG5SZUFoV2JWR1hlVmk3MnEvT1JRQlMyWno0Y1dm?=
 =?utf-8?B?SUdVMWdITnZMRDY4dFQwaGNRZXRHa0RLSTRyK044NTBUOTZHOFdCSWJLUDNQ?=
 =?utf-8?B?ekcvN1JOMFpqTTRtNUpCUzdaOERKNXZWV2N4eDdWdjRONzNFbUhmckZpSjEx?=
 =?utf-8?B?Wkw2ZmRnUkljN09wQXpPcTlkbFNVVjBkL0dncTdDQVVTdXBqcEhrbDFBTUNq?=
 =?utf-8?B?UE82WGxwRzdLVThqc0lUUG5VZDJtVmNRVXNMWGZ4K0Z5UEtBUFRhL3JRdVVJ?=
 =?utf-8?B?bkJWUXBVbngrMjIzazhSeXdmVmtDK0F6NjhYTDExUjgweWVzVjBCSXVXeTRx?=
 =?utf-8?B?MFFLTjlMOHJTdkNNZjFHc0FpNXNlaTJLTlBhekxnU3JPZVp3SHNYNTdVNXJa?=
 =?utf-8?B?dE5TaUY2VTN2c29xT2J2S2d5STNMYUhORGdJSXZrNFBpckxvQzBjSXYrbVFx?=
 =?utf-8?B?U0dPMVZGWHkyVUx1RTBMYXJNMGtaYWdGckJOUlhRNG1UK1A2SkdkOXAyYUVB?=
 =?utf-8?B?QmtTa2NWWTJCZUNrWkFzcTRzbDF4TGpnR1hRWWRNS2dRRlU3UXdzUzhtaytU?=
 =?utf-8?B?eHJ2NGFHYVlnajVaTHlPTklKYjVQdjM5M2NyM2R2RE80MzN5Q3AxZWwyS2gv?=
 =?utf-8?B?ZmhTOXZ1SnVzZXE4c0wrem9nK1UyaUd0NFN5Sld0MnFlVjRuUXhjRnBzdTNt?=
 =?utf-8?B?V1h1bWZ5clNBTUlGZXp1MkZ6N243QVNaTW5hc0xjK21KMTRhazFrZVNHR05C?=
 =?utf-8?B?Q29XMTQ2NThhWnlPT3NhNFV1OHRtN0tGM1AwYWk5RzV0Q3g4MnNsSWRodFFr?=
 =?utf-8?B?UG5MVlUxOFFCeXhDYXRraU5aSnN3VWVXVVo5OWxVeXpIbGhEZzNlUE94MFNp?=
 =?utf-8?B?eldQeHJjb1NBQ25nOGM5Q2lYSkFpT1ZrdWI3UitmdGZFSXZYSU43RlpBWFVQ?=
 =?utf-8?B?Q2hRSm1wTE8wU1ZtUWpYa0thSjFlNWIzRHBtT20yTityWjc1ekZqZXdXcXhP?=
 =?utf-8?B?ZU13K0d3cHpUZjZ2RW0wbUZEaENOT3dWVWNxQ0xKQ2FCajE4b0pTVVVhZDhE?=
 =?utf-8?B?OER0Z2ErRU1kY0lMVk9qeTlqcWJhbHM1dDlUWlNrK01OSjNsdXpoQld5SlIv?=
 =?utf-8?B?dDdtdUpLUlU4d2xjaFVDdVlETktRK0ZOakpRaWMxZmEzSC9KaTVNNjR5QmYy?=
 =?utf-8?B?VjByOGVSalVjcTlpczRtaE5PdzNncFd5NlR1Y1kzSTNQMklPOS85K1IrdklZ?=
 =?utf-8?B?KzAzVVUrWkQwMlJaR0NPSklDcXBVajVKYUErSlBaNDhwb1N2ME9xVnlxaG0z?=
 =?utf-8?B?NTV2bmdtaU4rNDRhWmNScUVnRDNTR2YzZVphbEx0eXh4Q0xQVVQ1QUpoR3Zk?=
 =?utf-8?B?RXlkaFZ5NUlkb2JUdEhaWjRIQVJYNVJiWjRMV1UvanVRZ2M0cGVUMnlPNXpy?=
 =?utf-8?B?ekJISFlYdTAxdVBtSEV5aGJrWDNpcTNnUmVoNmYxSWxzVGdRaU1LRHpxeSt2?=
 =?utf-8?B?VjUwMXRlK0NlcjBrNFZoS2w4REFybWgzOGZmaGU2Qk05YVowRFZiRk1UZVc0?=
 =?utf-8?Q?kbQESK5nAssEU6BgUl57aOlqe?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <4FA9C95760F0364EAE89230F3B34E819@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	wToDpFpOKSuDWTaGbLuRwc8oGn+FqunxkWKqBLISBg9q7Cq0jrY8AhKtP+6JFa2hbwOQEDPEcZM7S8FwyWkS2u7bCT3M2eXLvIZ14uA5Ty0p6VclcnHZGJKVa4szQeFbb1Ydfq7ZloHFS/l2rN7xEVxXC8pgBVoepP61UnMmCH1M3LRYERE8aDfrzpxEu3H3zwu9MimN1pbm+XHvYogZhOArxI4uIYKpBJU3LFeKB7VCEhbWBhzksRHxZiPoOq3JQ9QnelqNbx3vZJsr0LFpJvNtposRjt4/R8CQr+EQeiNaBunuhv3NIHmucr1HYP9I725PSD/EvGfOCdq/i7dPSnATownQR/cte+dYINsMShyQU653ZXbUtIRHQYxxOmyjDNKeInggoSC7MhW2poMDNC5Hm9Ku0dIxeEuHDmP04Uts/zIzMUl9Ih5HZY2TALJD35fqH8q2k8LGBk54o5zfpsY1HwoIJd3Rol8uUdDGlgHBYvVgWWuhrtTfrM0uYd/2RcOS/xKx9EEFaGNw7FQDV0xKjGgKSVlEX1+lrDMq4l2DTsuGZX7aN9c4EOTXPdIBL1daOBWOaMhc2DdAo5ZqWzbeAQ1AF7W4rRjW/d/b4kHXy7i2M7ycgKGdN6jwRmH6+lnflNMmSSEEMaKZ9/HyqYRW9o+lQd5NlYzHMf+mO12mr8w5T3K9KjSzUeMlh+XHkxzpLWgQy6+I+KC2cZwgRIfhQIaf87brQWbUhBdlaD2ifkGX5W+3c8eHACc6y4CgzZ4pyDZviwir+6vIF1gjXWG3JCpT914qMrP7EADOQJTdIFHZV7+MEL/2dSO2kJXxoIgcx/3OTZi9AUgLJkeuQA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42dc0c46-85c8-43b2-7a12-08dad3926725
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 11:51:37.5229
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: a8HxyEWtGTbC5rmD+QHm17tL9t7A7y2uvvLzOyoV3jt9Dc2lL9oLu9HPOftOyH46Nvs/ykdVJ5F6YAG/xGrSGc/+c6uqqY7t415SbLbjz8U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB4931

T24gMzAvMTEvMjAyMiAxNzozMiwgRWR3aW4gVMO2csO2ayB3cm90ZToNCj4gZGlmZiAtLWdpdCBh
L3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybC5tbGkgYi90b29scy9vY2FtbC9saWJzL3hjL3hl
bmN0cmwubWxpDQo+IGluZGV4IDYwZTc5MDJlNjYuLmY2YzdlNWI1NTMgMTAwNjQ0DQo+IC0tLSBh
L3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybC5tbGkNCj4gKysrIGIvdG9vbHMvb2NhbWwvbGli
cy94Yy94ZW5jdHJsLm1saQ0KPiBAQCAtMjM2LDYgKzIzNiw1MSBAQCBleHRlcm5hbCBtYXBfZm9y
ZWlnbl9yYW5nZSA6DQo+ICAgIGhhbmRsZSAtPiBkb21pZCAtPiBpbnQgLT4gbmF0aXZlaW50IC0+
IFhlbm1tYXAubW1hcF9pbnRlcmZhY2UNCj4gICAgPSAic3R1Yl9tYXBfZm9yZWlnbl9yYW5nZSIN
Cj4gIA0KPiArKCogbmVlZHMgdG8gYmUgc29ydGVkIGFjY29yZGluZyB0byBpdHMgbnVtZXJpYyB2
YWx1ZSwgd2F0Y2ggb3V0IGZvciBnYXBzISAqKQ0KPiArdHlwZSBodm1fcGFyYW0gPQ0KPiArICB8
IEhWTV9QQVJBTV9DQUxMQkFDS19JUlENCj4gKyAgfCBIVk1fUEFSQU1fU1RPUkVfUEZODQo+ICsg
IHwgSFZNX1BBUkFNX1NUT1JFX0VWVENITg0KPiArICB8IEhWTV9QQVJBTV9VTkRFRklORURfMw0K
DQpDYW4gd2UgcGVyaGFwcyB1c2UNCg0KfCBfSFZNX1BBUkFNX1VOREVGXzMNCg0Kd2l0aCBhIGxl
YWRpbmcgdW5kZXJzY29yZSB0byBoaWdobGlnaHQgdGhhdCBpdHMganVzdCBhIHBsYWNlaG9sZGVy
IGZvciBhDQpob2xlID8NCg0KPiArICB8IEhWTV9QQVJBTV9QQUVfRU5BQkxFRA0KPiArICB8IEhW
TV9QQVJBTV9JT1JFUV9QRk4NCj4gKyAgfCBIVk1fUEFSQU1fQlVGSU9SRVFfUEZODQo+ICsgIHwg
SFZNX1BBUkFNX1VOREVGSU5FRF83DQo+ICsgIHwgSFZNX1BBUkFNX1VOREVGSU5FRF84DQo+ICsg
IHwgSFZNX1BBUkFNX1ZJUklESUFODQo+ICsgIHwgSFZNX1BBUkFNX1RJTUVSX01PREUwDQoNCkZy
b20gVElNRVJfTU9ERSBvbndhcmRzLCB5b3UgYXBwZWFyIHRvIGhhdmUgYSB0cmFpbGluZyBkaWdp
dCBvbiBlYWNoDQpjb25zdGFudCBuYW1lLsKgIEl0IGFwcGVhcnMgdG8gYmUgdGhlIGZpbmFsIGRp
Z2l0IG9mIHRoZSBwYXJhbXMgbnVtZXJpYw0KdmFsdWUuDQoNCj4gKyAgfCBIVk1fUEFSQU1fSFBF
VF9FTkFCTEVEMQ0KPiArICB8IEhWTV9QQVJBTV9JREVOVF9QVDINCj4gKyAgfCBIVk1fUEFSQU1f
VU5ERUZJTkVEXzEzDQo+ICsgIHwgSFZNX1BBUkFNX0FDUElfU19TVEFURTQNCj4gKyAgfCBIVk1f
UEFSQU1fVk04Nl9UU1M1DQo+ICsgIHwgSFZNX1BBUkFNX1ZQVF9BTElHTjYNCj4gKyAgfCBIVk1f
UEFSQU1fQ09OU09MRV9QRk43DQo+ICsgIHwgSFZNX1BBUkFNX0NPTlNPTEVfRVZUQ0hOOA0KPiAr
ICB8IEhWTV9QQVJBTV9BQ1BJX0lPUE9SVFNfTE9DQVRJT045DQo+ICsgIHwgSFZNX1BBUkFNX01F
TU9SWV9FVkVOVF9DUjAwDQo+ICsgIHwgSFZNX1BBUkFNX01FTU9SWV9FVkVOVF9DUjMxDQo+ICsg
IHwgSFZNX1BBUkFNX01FTU9SWV9FVkVOVF9DUjQyDQo+ICsgIHwgSFZNX1BBUkFNX01FTU9SWV9F
VkVOVF9JTlQzMw0KPiArICB8IEhWTV9QQVJBTV9ORVNURURIVk00DQo+ICsgIHwgSFZNX1BBUkFN
X01FTU9SWV9FVkVOVF9TSU5HTEVfU1RFUDUNCj4gKyAgfCBIVk1fUEFSQU1fVU5ERUZJTkVEXzI2
DQo+ICsgIHwgSFZNX1BBUkFNX1BBR0lOR19SSU5HX1BGTjcNCj4gKyAgfCBIVk1fUEFSQU1fTU9O
SVRPUl9SSU5HX1BGTjgNCj4gKyAgfCBIVk1fUEFSQU1fU0hBUklOR19SSU5HX1BGTjkNCj4gKyAg
fCBIVk1fUEFSQU1fTUVNT1JZX0VWRU5UX01TUjANCj4gKyAgfCBIVk1fUEFSQU1fVFJJUExFX0ZB
VUxUX1JFQVNPTjENCj4gKyAgfCBIVk1fUEFSQU1fSU9SRVFfU0VSVkVSX1BGTjINCj4gKyAgfCBI
Vk1fUEFSQU1fTlJfSU9SRVFfU0VSVkVSX1BBR0VTMw0KPiArICB8IEhWTV9QQVJBTV9WTV9HRU5F
UkFUSU9OX0lEX0FERFI0DQo+ICsgIHwgSFZNX1BBUkFNX0FMVFAyTTUNCj4gKyAgfCBIVk1fUEFS
QU1fWDg3X0ZJUF9XSURUSDYNCj4gKyAgfCBIVk1fUEFSQU1fVk04Nl9UU1NfU0laRUQ3DQo+ICsg
IHwgSFZNX1BBUkFNX01DQV9DQVA4DQoNClNpbWlsYXJseSB3aXRoIEVWRU5UU1RBVF8qLCB3ZSBv
dWdodCB0byBlbmdhZ2UgdGhlIGJ1aWxkIHRpbWUgQUJJIGNoZWNrLg0KDQpCdXQgdGhlcmUgaXNu
J3QgYSBzdWl0YWJsZSBlbmQgZGVsaW1pdGVyLCBhbmQgdGhlc2UgYXJlIG9ubHkgZXZlciBhbg0K
aW5wdXQgaW50byBhIGJpbmRpbmcgKG5ldmVyIGEgcmV0dXJuKSwgc28gaXQncyBub3QgdGhlIGVu
ZCBvZiB0aGUgd29ybGQNCmlmIG5ldyBjb25zdGFudHMgZ2V0IG1pc3NlZC7CoCAoTm90IHRoYXQg
bmV3IGNvbnN0YW50cyBhcmUgbGlrZWx5LsKgDQpIVk1fUEFSQU1zIGFyZSBhIGdyb3NzIGJvZGdl
IHdoaWNoIEknbSB0cnlpbmcgdG8gcGhhc2Ugb3V0LikNCg0KPiArDQo+ICtleHRlcm5hbCBodm1f
cGFyYW1fZ2V0OiBoYW5kbGUgLT4gZG9taWQgLT4gaHZtX3BhcmFtIC0+IGludDY0DQo+ICsgID0g
InN0dWJfeGNfaHZtX3BhcmFtX2dldCINCg0KSU1PIHdlIHNob3VsZCBiaW5kIHNldCBhdCB0aGUg
c2FtZSB0aW1lLsKgIEl0J3MgdHJpdmlhbCB0byBkbywgYW5kIGZhcg0KZWFzaWVyIHRvIGRvIG5v
dyB0aGFuIGF0IHNvbWUgcG9pbnQgaW4gdGhlIGZ1dHVyZSB3aGVuIHdlIGZpcnN0IG5lZWQgaXQu
DQoNCj4gKw0KPiAgZXh0ZXJuYWwgZG9tYWluX2Fzc2lnbl9kZXZpY2U6IGhhbmRsZSAtPiBkb21p
ZCAtPiAoaW50ICogaW50ICogaW50ICogaW50KSAtPiB1bml0DQo+ICAgID0gInN0dWJfeGNfZG9t
YWluX2Fzc2lnbl9kZXZpY2UiDQo+ICBleHRlcm5hbCBkb21haW5fZGVhc3NpZ25fZGV2aWNlOiBo
YW5kbGUgLT4gZG9taWQgLT4gKGludCAqIGludCAqIGludCAqIGludCkgLT4gdW5pdA0KPiBkaWZm
IC0tZ2l0IGEvdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsX3N0dWJzLmMgYi90b29scy9vY2Ft
bC9saWJzL3hjL3hlbmN0cmxfc3R1YnMuYw0KPiBpbmRleCA2N2YzNjQ4MzkxLi5iMmRmOTNkNGY4
IDEwMDY0NA0KPiAtLS0gYS90b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmxfc3R1YnMuYw0KPiAr
KysgYi90b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmxfc3R1YnMuYw0KPiBAQCAtMTE3Niw2ICsx
MTc2LDIyIEBAIENBTUxwcmltIHZhbHVlIHN0dWJfeGNfZG9tYWluX2lycV9wZXJtaXNzaW9uKHZh
bHVlIHhjaCwgdmFsdWUgZG9taWQsDQo+ICAgICAgQ0FNTHJldHVybihWYWxfdW5pdCk7DQo+ICB9
DQo+ICANCj4gK0NBTUxwcmltIHZhbHVlIHN0dWJfeGNfaHZtX3BhcmFtX2dldCh2YWx1ZSB4Y2gs
IHZhbHVlIGRvbWlkLCB2YWx1ZSBwYXJhbSkNCj4gK3sNCj4gKyAgICBDQU1McGFyYW0zKHhjaCwg
ZG9taWQsIHBhcmFtKTsNCj4gKyAgICB1aW50NjRfdCByZXN1bHQ7DQoNCnJlc3VsdCBpcyBjb21t
b25seSBhIHZhbHVlIGluIHRoZXNlIGJpbmRpbmdzLsKgICd2YWwnIHdvdWxkIGJlIHRoZSBtb3Jl
DQpjb21tb24gbmFtZSB0byB1c2UgaGVyZS4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:52:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:52:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450625.707994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0i70-0004UB-Gb; Thu, 01 Dec 2022 11:52:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450625.707994; Thu, 01 Dec 2022 11:52:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0i70-0004U4-DM; Thu, 01 Dec 2022 11:52:18 +0000
Received: by outflank-mailman (input) for mailman id 450625;
 Thu, 01 Dec 2022 11:52:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lVjU=37=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p0i6y-0004K6-Nm
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:52:16 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9379c9b-716d-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 12:45:59 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8339.eurprd04.prod.outlook.com (2603:10a6:20b:3e6::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Thu, 1 Dec
 2022 11:52:13 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 11:52:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9379c9b-716d-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D/QnbpN8nvSsCThcV8ajzBlTqA3HVXSwViJyUwfzJ/25rj1iI0LRBnldWh4fbtnnwiGojsQhhdJ0fFOaRyptwmWQQqQw0repKAwaL0EfMNQ8PUeSQdDvzb7bcXWmkbcvy5CDlZpyQxfKhj1v2QPFOMypOosMdOBHAD5nWhwPG4j9LQIyFTOklJQIohKH50eapDLosyzDCGkr1vDm8E757dGK2JW+eHoqW+NeWObSV4f08ir3jzixPYHqiCLqLyWqUmKCsbPVLphawBC/6R/tuxR4sjF7SGOthPhMznAvtBzX9aa2+BS+9VmPtSa0LAug1u6L/uJy291kMC4fiIECow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6g/ul4qbhNIp+YifkeZmyCzfUjU1gLa6XUqRzHUN97I=;
 b=ckQ/3yDT+MbkJnv4MHE1PK8g1WvdqId7CpSVfJrIFpzf6ycy77vfLdgIt6tPkGbVZIO+dyvLzzand5sziVO34G1r6XhAN55hA0MKeIAnJTkLdoMw9WyUFQ1ali0ijfa9fcxKIUjZ3ceSHotns/jbviD1fdwkEBkDXVhpyfGxuoDgX2os8cUQY7IuQ6M1oOqB21g5rgOIck7TdPW/9MFie+Fx2E8pOzkD0wcojI3RQ7Pfg+/a4siCiuXNyhZv7c4eB1PkQNCtN7/vqNKpr3u++Fdo4JV6hbL07gT52vp9P7xOG7C4Cm2QMfhZnyHv7yLgQypT/FkbVV/jNzKMsrxAXg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6g/ul4qbhNIp+YifkeZmyCzfUjU1gLa6XUqRzHUN97I=;
 b=SprqwPUXMPPK344t+jtXanhxG8zYipft0qgoMUNwW+fZL+K8xpDkyHOUSK7Pf46oy8SWWVuGZTK3N4NaOEkL7fY89wuryAr+7sisUwQv32yxk+pHVWF6SW2+k7Upx3IEr/LaCTTu8ixMmRgXpVQb1r0hfzEYS9/m0Qw/TwxwqCloPTV+9crkwW6+3ZvjeQGxmeS76JhXWOKhPgQ/f3ergU9dpk+kxDs1039uRvUlHy8V06W1oujjbTv/dRLJpo+M2N39kbNhsSgDFyjB0mDoeVicj63jlQhrL0ITpyrATmuyoJlJVj03HoB9F69ygI6I7AmC7vbfF+r1AiQF/8o0SA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f66fe5a0-a918-78d0-7314-39f420dda283@suse.com>
Date: Thu, 1 Dec 2022 12:52:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH v1 5/5] CODING_STYLE: add .clang-format
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Juergen Gross
 <jgross@suse.com>, Edwin Torok <edvin.torok@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <bf4013cdb5f3e66693551b5e45b3f975b5a48795.1669829264.git.edvin.torok@citrix.com>
 <7e6b8e69-70d2-8178-205d-8c20b993162d@xen.org>
 <7DF6F06F-A65A-4F1F-8FDA-BF0E8977F99B@citrix.com>
 <c3af2730-d503-e139-644a-480a506c94d1@xen.org>
 <99df302d-8bc5-55a7-a97e-dcc8eee41d2c@suse.com>
 <3e6e6948-7852-751e-a025-9fe36e9cfb82@xen.org>
 <82bdfded-6271-d262-136d-57b4b1a92a9b@suse.com>
 <6a5af398-270b-f57c-091c-78ebea8630ec@xen.org>
 <3eb81135-0cd5-1788-3569-0db7d68541b8@suse.com>
 <b47efecd-c2cf-8fe9-7e47-7fb22231be8d@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b47efecd-c2cf-8fe9-7e47-7fb22231be8d@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0052.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8339:EE_
X-MS-Office365-Filtering-Correlation-Id: d1fb05db-709b-4ea4-40be-08dad3927c5e
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8jI6qWy4O2oDdXDR64rDbrmUH/4o7xlIbKcjAWExyp1duVN7wgC9bARGV0F2gp8jlO46/VotSdM/v8r7JaAaXfNU0N9xZkQxViStU5EgJASGgfq7Q66mA4RQp1BxFcb06b07s9wDUd2yoOXIMWKGB1aTOiOM1Gaitp/wc6JQW5NksL8Y0FQXNVFf1MF5vr/T8qW+JTHn4E7SGQ4hOEDs6MK4PWrKlvva2EZaN/c3dwdvRiaSQsbLNIHx6VfzxG8r2ZomHcxJ8FRPC8nDIQgyvaXYfR6L6FbUyPVZSred54Axn1CNZ2Swe/st2irBYx8Foxe/MNKniveSVnQFdisnX8swgQ4zony3I4w8ROt9UyDOANLvbXYxTlvkr5GAtPB1QIRvp9iYFrOnEkTc/VPVFYW/88kkBr9vQb4CpHHUQBwinV0gxjxM2jnvWyJCi1yS9kc99JtUUeA/Tw3bvD7n1AqTb8rQ8OAXuviPui+DJQQeG6PtjYC8qkaQ+8YAV9qDFdkWciEzpbLisYA5b0o9JMhWDGuzEEw9yqytx3Y8z+sGc7LqFeMdJ4lE3e0PfHKwDNBJmJoMUv2kLETupigI6u73Sx8nE5pnF95GXg0pYTtEllWeK24+Hoi1zNQJ2YqwC8FENzi2LkOfGHVWx88JFFXVyUU/f8/1aI6kOLJkEoUUZD7GfMTY21fo/GAjwOuNxjBQHoTiYTpWt/2v/Wka7fzsWoEvbo8qOm613azZFmWGY3msfwRWc+bLbWD6squl
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(346002)(39860400002)(396003)(366004)(451199015)(2906002)(83380400001)(31686004)(41300700001)(2616005)(186003)(36756003)(31696002)(86362001)(8936002)(6916009)(38100700002)(26005)(54906003)(53546011)(6512007)(5660300002)(4326008)(7416002)(8676002)(66556008)(66946007)(66476007)(478600001)(6486002)(316002)(6506007)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UFhCNWUzaE1NUU9vQ0NIUWQ0bGtsTW9vdkRoMnVMQUZaZGswUldudXUxRVNR?=
 =?utf-8?B?NmFPVndPeG5OQktONUtXSVR6QldMclRyTDU0cEhFaU9jdFQ4dFhlemRnOUgv?=
 =?utf-8?B?TmFpTkZYNnBvMGpUMTl4dHVnZ2NUem9VTm45N3dTeTBEMTM1M2lCN3gxeHZ4?=
 =?utf-8?B?YS9xOVdKNjhETGFnWUVzeitIc3Y1dDBBd016bExhMjhiYTNhcWpjb29DTStJ?=
 =?utf-8?B?ZGRnWU5NeVV5ekh5YVdxenlLUGFTdU9FV0ZocTkrWU9JVU4ycWtsODVjbmkw?=
 =?utf-8?B?dVI5SVNzNTAyVHBoZ24rUjBqc0xLZy81MmlDV2R1ZjJSOFQwMHRScXR5VjNM?=
 =?utf-8?B?Nkp6MEh0WmhFcDhwM3ZXV3ZhQTN0QzlpcHlDMUtaTDhRaGNWcXk2eU9KZ1k1?=
 =?utf-8?B?ZXZNSC8raXVQeDlHWTFObC84UXhoVWNWak5MMWMzbjh1Z080RHlBRDc1ZXhi?=
 =?utf-8?B?UkR1d2VSZkdtaEZQbEJUeGwxVGdPbUhuSW5hN2t1MDlpbkRYSnNmbFdFUGtr?=
 =?utf-8?B?WmlFbjFDMnNUcklINWEycDlXZ0FhN1MrNXFLZW9reDFZMGFjUmlRcG9tbytl?=
 =?utf-8?B?aEw3RzVVQmwxTnVqTjhIL0V4b2xzUUlmNGlTQmc3c2dQOW50bGRaWFMvbmtV?=
 =?utf-8?B?SWFrRXZjMmNGZ2VVeUs4SS9vT1ZVdys4bE9jL2JhZXNYQVhJNmZGTEh2V1cz?=
 =?utf-8?B?M2EyaDVpeXhhWXVLMEVRRHdsdFhKZVhhSVNXdWdqYnJFTlRDZjJmQVdudWYx?=
 =?utf-8?B?WklWY2tsL2dzM2lhWWFCVk5FVmVTOTNwVThEZmtCL05rN0JNM2x2YVN3ZHRn?=
 =?utf-8?B?MXdpSWc5N3dBVWdnUy9QKzY4Q0t4Snpvb2VScTA0aDFENGlIMU5qUmh5ajJY?=
 =?utf-8?B?M3NxSEZUdGhHR3c5STZoNDk4K0FCTGRYMEkwQjl1bUZvMnR4MXR1ZTZTZnRX?=
 =?utf-8?B?RGVRc0lQbVJmSFJkekh6ZFlyY3JZTzY5Z0YrT0hSSkUva0NuVmU4RE0vNUlW?=
 =?utf-8?B?QVNYdjNNTmE1MUcxcnF6b3dFUHNyRktqZ1FQdEltYWRad1JzYzVJTktMV2NR?=
 =?utf-8?B?QkxneVdTeWRaeFNZb3MxYWZOT0YxYVRvcUVGdFFKcGE3aklONXJFY0ZTY1NT?=
 =?utf-8?B?NzNGSFMyWmpxVG1EVkx0eWhVREFLMzZJeDZGVmRidzNzNk9yd01hMTU1OFMx?=
 =?utf-8?B?eVlENVQ0VlZ1YnpROW1GWmlLbDBreFFxSXlBaWlTYzc2WlBIRU4rMGhnSWZF?=
 =?utf-8?B?NzVUSWpidHhyRGREeGZTMy9uV2g5am53eURFd0J4dDZuOU9CZ3pRUzkxMG9C?=
 =?utf-8?B?MWpPM3NXanB6QVh1TWdaeFZGOVdNK1ZOMkF3YTk2VHFwVzBOWXhEUzdQd2Qr?=
 =?utf-8?B?ZXJYMjliZ0lvUWRWNmtUQ2xiY0crYlJGWjRIaHV4TFk0dDAxdjNmM2lwc29D?=
 =?utf-8?B?ZTl3M2l2Vk50SUpZckg0R3MzMnRlRXNUWnI2dGw1S3NUNlZ0ZjB4ZFRLd3o4?=
 =?utf-8?B?RVdSUElBZXYwZ3A0NlF5Q2Q1QTJqSCtQamJzcGNkeWJ6ZXB1SXlwem9Cd283?=
 =?utf-8?B?ZGNZNWI3TzF2VTlIbTFiZXYrdjFVMXJLOEQwK1FDbko3L0VNMmV3SDc4N21a?=
 =?utf-8?B?TWxNYnZJT2lqd2xOeEc1STVQYnlQaWpOS240R2QyUE0xbXgyVTEyL3VYN28x?=
 =?utf-8?B?ekZWQUdFSDJtTkZvNFhFeDJPNFFuMGcwNmQ1eXV2eUpkUFVFTDRuWHlEcXFn?=
 =?utf-8?B?WHM0UE5Bd3pkNWFieTFoaXpIbXZVYlRlVnVFazU3cjk2SmIzakQzYlc2RHlr?=
 =?utf-8?B?SjVmVHExbHZzWVhLbEdRQ1A0VkNDVVlJcFYyN0NieVlhOWJ2SDdMaUNpcGll?=
 =?utf-8?B?NHdRb0JaTWtnZFh1bjcvRnhsNU13ODk5eStURm1uSUN2aHJ0alZZdTNKaTUv?=
 =?utf-8?B?QlloYkZwaTBhN0p2c3JjNExyRVhnTWNNdzdUOHBsZnhDaHc1b0NvMnhIemhw?=
 =?utf-8?B?R0k2bnF1RnlqN3orNURJWkRsNEpnNjMvRldReE1VcWMxa053S0FYRDMyd3d1?=
 =?utf-8?B?ZjdodjVaN1dTYmdIaDdGZzlZTXlnZnVnM1dUMy90M3Z5RGY5dlVKUkUzcGZ5?=
 =?utf-8?Q?8SVfS8LhRRBZ/aNYujTxAdeqB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d1fb05db-709b-4ea4-40be-08dad3927c5e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 11:52:13.2677
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rS2e6aswT7PVaeF0KEnRRE/qXOPhWt4yDZRItyCtzEVQmCYti1jktTbQnbzAysE5RMeRKOPyafnKKwQRfsiDyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8339

On 01.12.2022 12:35, Julien Grall wrote:
> On 01/12/2022 11:30, Jan Beulich wrote:
>> On 01.12.2022 11:47, Julien Grall wrote:
>>> On 01/12/2022 10:44, Juergen Gross wrote:
>>>> On 01.12.22 11:12, Julien Grall wrote:
>>>>>> We might want to add a comment to xs_wire.h like the one in ring.h in
>>>>>> order to
>>>>>> document the requirement of the type definition of uint32_t.
>>>>>
>>>>> The problem with this approach is you made more difficult for any
>>>>> userspace application to use the headers. So I would argue that the
>>>>> Linux copy can remove "stdint.h" if needed.
>>>>
>>>> Today there is exactly one public header including stdint.h, and I'd argue
>>>> that this was a mistake.
>>
>> I think so, too.
>>
>>>> xs_wire.h is especially rather uninteresting for any user space application
>>>> but a Xenstore implementation. All consumers of xs_wire.h are probably
>>>> either in the Xen tree, or operating system kernels. User space
>>>> applications
>>>> should use libxenstore for accessing the Xenstore, so I don't see an
>>>> advantage in breaking the usual philosophy of the Xen public headers NOT
>>>> including external headers like stdint.h.
>>>
>>> I think Edwin example is a pretty good justification for including
>>> stdint.h.
>>
>> I disagree. The intention has always been for consumers to provide the
>> basic C99 types by whatever suitable means they have. Note that in Xen
>> we also have no stdint.h.
> 
> I really dislike when I have to find the dependency of an header. This 
> is really a waste of time...

I can see your point, but for Xen's public headers it has always been
that way. Plus, as said, adding (unguarded) #include <stdint.h> would
even break the building of Xen itself.

> If other disagree with that, then the strict minimum would be for this 
> dependency to be recorded if it hasn't been done (I couldn't find anywhere).

It is kind of recorded in xen/include/Makefile, with the three
"-include stdint.h" that are used there (of which one probably really
ought to be -include cstdint). But I agree this can't really count as
documentation.

>>> If you have a coding style requiring to order header alphabetically,
>>> then the developer may not even be able to include stdint.h without any
>>> hackery (e.g. introducing a header that will always be before the Xen
>>> public headers).
>>
>> Just to indicate that commonly style requirements may be weaker than
>> "fully alphabetic" - we don't request full ordering. What we request is
>> that groups (xen/, asm/, public/) be ordered within any group, but we
>> do not (afaia) demand ordering across groups (and indeed commonly we
>> have asm/ after xen/).
> Right, but that's **our** coding style. You don't know what's going to 
> be the coding style for other project.

Sure, hence me having said "may be" in my reply.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:59:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:59:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450636.708005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0iDk-0005E6-7P; Thu, 01 Dec 2022 11:59:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450636.708005; Thu, 01 Dec 2022 11:59:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0iDk-0005Dz-4I; Thu, 01 Dec 2022 11:59:16 +0000
Received: by outflank-mailman (input) for mailman id 450636;
 Thu, 01 Dec 2022 11:59:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+/wf=37=citrix.com=prvs=32775c42f=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p0iDi-0005Dt-MW
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 11:59:14 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b0a6953a-716e-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 12:52:56 +0100 (CET)
Received: from mail-dm6nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 06:59:09 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 SJ0PR03MB7022.namprd03.prod.outlook.com (2603:10b6:a03:430::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 11:59:02 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 11:59:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0a6953a-716e-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669895952;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=2QlTRpb0BduG87YX0l2YUS9nWhXre08np46Sd69s4qw=;
  b=LaRtL1hvrqBQt+7nqQ9uE4hCUgrBm1PLWWk/F0jQKfmJEjxgzhqwIErN
   Nm8Kqa+nEmouGEh2Rvww1/+kaiUoIt2SfmpNLxr61ZgX+LfctBrSTQvGA
   GwQGFcU6ebl+FelzOxDw3W3qla4J+yz7OG2icpwHklfC6H6mxR6GwYw4g
   w=;
X-IronPort-RemoteIP: 104.47.59.174
X-IronPort-MID: 85072345
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:g2/K26jGsL6PSGuD/OmHW64JX161fhEKZh0ujC45NGQN5FlHY01je
 htvXW3UO/rYazHxctwlatvn9UkBucfXz4dqHVBrryAyFCwb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5geHzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQXeDcIbiGvg9iH77mZTcdGl/4Bdo7SadZ3VnFIlVk1DN4AaLWaGeDmwIEd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEgluGybLI5efTTLSlRtk2Yv
 GPd42XwBFceNdqTyDWt+XOwnO7f2yj8Xer+EZXoq6Y12gbPmwT/DjUNbnyFp9acgHeSZNNnK
 30k2i0csIY9oRnDot7VGkfQTGS/lg4RXZ9cHvM37CmJy7HI+ECJC24cVDlDZdc68sgsSlQC2
 laXkvvzCDdosbnTTmiSnop4thu3MCkRaGMHOykNSFJf58G5+d5vyBXSUtxkDai5yMXvHi39y
 CyLqy54gKgPickM1OOw+lWvby+Qm6UlhzUdvm3/Nl9JJCsgDGJ5T+REMWTm0Ms=
IronPort-HdrOrdr: A9a23:ggowEq8dqcTY76NwWBluk+EKdb1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYVcqKRcdcLW7VJVoLkmskaKdjbNhX4tKPzOW21dATrsSlLcKqgeIc0KRltK1vZ
 0QC5SWY+eAamSS4/yKhTVQJ+xQu+VvvZrY9tv2/jNId0VHeqtg5wB2BkKyFVB3fhBPAd4cGI
 CH7sRKijK8cTBPB/7Lc0UtbqzmnZnmhZjmaRkJC1oO7xSPtyqh7PrfHwKD1hkTfjtTyfMJ8H
 TDkSb++qK/2svLuCP05iv21dB7idHhwtxMCIiljdUUECzljkKSaIFoS9S5zU4ISLXE0jcXue
 iJhy1lE9V46nvXcG3wiwDqwRPc3DEn7GKn4UOEgFP4yPaJDg4SOo5kv8Z0YxHZ400vsJVXy6
 RQxV+UsJJREFfpgDn93d7VTBtn/3DE6kbKqdRjwkC3bLFuIYO57LZvin+9Ka1wax4SPbpXWN
 WHD6nnlYlrmB2hHjzkV1JUsaCRt0QIb2q7q3c5y7aoOhht7QFEJhgjtbwidzE7heYAd6U=
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="85072345"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YMFlyg8KelmJTiJuJpj1Ut905Amro0mriFOt4U+WmDsWMCtkCZC/2PE4M9FodIwh7hmIdy7HXH1TS8rquFXfDmZ2XyI2OiD/I/uSc4xqJrLVhj2F8xSoCzGCFdCXvTpavBEkMWZEyBMp3QOyabosvejz1pSA6AANvPb+1oD8ZYdfyX0YL/OIc0d2xYRv5MXhpJ6vtZF6tVnl5FTukJoLFRF4zBTtWWfuqdmqwmh9OQrLYfPlzDCv34ucpC3lKvuFYUNhWwwa81zg6KLeVy1sLTN2v+zpGFk7Yc9gEsjZuHaqKIIa3RBQZNGa7INHuqE4gWe0Nso8LCX7isu5el+upA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dsYQ3Tm6Q6ZPy/nZ9w8l7ig2KIVv+wjnpnXuwKZi1+0=;
 b=OTevWftx45WUbp3HCzeVmsLLAJ197dubl48F09USfGBAktibSqYQJRbGMI8TdVu80HSJX+Z7a42SGtNHUb/fErAvuXYA1UWp8EEEI8FU+5cu+VHeMWpHqXfCKx6w8+abFe+pQWOoOueBezYqtPjC88yXVQTleQMm8Gwic3a3wpJo6WIhAK17vKkxNPgtWTA/JtuPH184D5OyCpSdsCtYLg2ckqqdxCk4NKO8aWjbmvkASCMSGJBiE0Vx0ccAF22Tg3KfL99u8xsC2XhYolkqFI0Ik8hH2EmK5r4nq05EaaS0puuHiyOAKZF/kWpjzXmRCDMKyjQ1gE1fO2vr40dx7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dsYQ3Tm6Q6ZPy/nZ9w8l7ig2KIVv+wjnpnXuwKZi1+0=;
 b=JJaTLmr/p01GAJeQc1MtvnUw+iByleAYVrDm2s43xx5v3v8QznQc58Vph8FknkX8bDH3FvVGssNuwTjiRMVIOYUj3Kg0Nk0EVhYkYYrnpQhdhNo8uIjjyOUuveEW1CAeK+U/x5lHe4mNCSKkbXtidfzBR0F46HQm9CvE8QEJtoI=
From: Christian Lindig <christian.lindig@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Edwin Torok <edvin.torok@citrix.com>, Rob Hoes <Rob.Hoes@citrix.com>
Subject: Re: [PATCH v2 5/6] tools/oxenstored: Rework Domain evtchn handling to
 use port_pair
Thread-Topic: [PATCH v2 5/6] tools/oxenstored: Rework Domain evtchn handling
 to use port_pair
Thread-Index: AQHZBNyGYEY4cgr2f0u9q8Jh29xLbq5Y7uCA
Date: Thu, 1 Dec 2022 11:59:02 +0000
Message-ID: <B01EB9B0-2E59-460E-9F1B-04F2406C788B@citrix.com>
References: <20221130165455.31125-1-andrew.cooper3@citrix.com>
 <20221130165455.31125-6-andrew.cooper3@citrix.com>
In-Reply-To: <20221130165455.31125-6-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|SJ0PR03MB7022:EE_
x-ms-office365-filtering-correlation-id: 000de282-2399-449a-eb2b-08dad393704e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 l/xsbeo4dRNWoaEHSPikfCHefk0PqdlseU/bqkf9EneAkDl839NXR/lBl6SLBPC7XNdL4XU4I+5HL1WNHAn0ofPxAVxVhZ+xxIdgf6CTW8MS1HCPOTWEo1nSozW789Bi5f9p1MwZqebhC5vJF7CMpO/hTFfoKwMu/fur1Psk4ZwGziSqzfFbgZw1vCxUfab6/Bcj7wrZlxFPBQt5UN7zazyqnzJBYnT2KbDRzRK82gFhjqUaxlBVvrCVp82VfdU0kRyc4g9JTxuvMOqBNNi4bI3D6LcHMVKVL1H3DEk6ALlvyd2cnKErXG1pO87Fb+VZi5KiRYsopbXc9t4sRzRaiRmZJ4KuO9Myd/QQUmX7m55itVxZGYzCQCOdI5CBtofQtgQDmZisubi6PHZVlehG6OY4NWC7Db+HPaACSdikiQxK7Bd7LyGx6TsmKjvAApRRKdEsfaPdGI9xKt29gHN4wBDBcikJkKdXE87+MPFQONF+6bXINzr3/GH7T1/Bbyp5AFVIB0mM8P8CMnLr0eUnioyFdMYOw5eWjgK+lEOXaZ3d7+Zcb9OwuGIQbFBqXn8N058lkSwqpCVIWCtqAzmQJwOpPaxikqrm0cig2ri7bHOargRYL75EzKLh+ip77AWzkCGw0/2wG+GrznxIxBY/T6cRXZp4zhVxf6Tew8ZwDV2NgfZG509E9IkX6+3b0vwqxiuGKKumqSRSi9wZSqFUBENfwgVbL0XVi/b3RqQxYVA=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(396003)(136003)(376002)(346002)(451199015)(2616005)(186003)(316002)(33656002)(6486002)(6636002)(37006003)(54906003)(38070700005)(36756003)(86362001)(82960400001)(38100700002)(83380400001)(122000001)(6506007)(53546011)(6512007)(26005)(107886003)(44832011)(2906002)(71200400001)(91956017)(478600001)(5660300002)(64756008)(41300700001)(8936002)(4326008)(6862004)(66476007)(66946007)(8676002)(76116006)(66556008)(66446008)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?I7hCZztXUQl5zc+NeWC3ef4hthvoovtJgtR5MEc3+gMFbdyzNFj/RXZ4C4S1?=
 =?us-ascii?Q?Y4bupRa2TCbXkozbOptky+ylX26gl75US3Mkca1PjeQfC+emnBD2dhZfLwQ4?=
 =?us-ascii?Q?H/+HnWPU6H3prdwjDX6OUd2QyOCcNA81bn48tA0kLN6ifi0yLpM/CinkOMNN?=
 =?us-ascii?Q?YvW9GtvVNZDox/Aeln3H4RjcF9W12Oj8Df7L299RbdEhKziNntdE0nETUMtv?=
 =?us-ascii?Q?JmTftgE6PdAdIJhgv80JuZnGSqQ8IVAh86yhvEjA2IMGmFoW9rHaOhYVTug+?=
 =?us-ascii?Q?4FfskD3QDF1uLtaYVvqk/Le0cNriSsjpZElNqst8OdKsiStd/ycsCs4TOBXy?=
 =?us-ascii?Q?94UtK3hPQmTJXukHIr4x8nNeQpm3nHJuC4KdqATqUfanuEioxYngY0v28TWf?=
 =?us-ascii?Q?f9dCPRvQ8Y5ZKM9kMecw+IUmS3VZ1JfGJ8Li7PbvaKH4be99Ob1SSwfn9B3E?=
 =?us-ascii?Q?YS9hy43TQO7DgidLZ8I54hwixfSbkxpfScaSQhdtAae2wjEKhcBZg8fmXspB?=
 =?us-ascii?Q?B1eKuYgpwrhUx7bzBnmmAGT8hYWmd0kTh+LOGD78/2q1Hh8BB2Ru+WDXCLFs?=
 =?us-ascii?Q?9q4tlfKn0UCgiMWy4Vyofq/3pj+Bvjfjh24zCJAFxVw1VbLnQpg8wTWsANtG?=
 =?us-ascii?Q?DlCvjocYbZnLX4WzLSPcT557E91gI0+AKzEYCmdX12c9oXby3zLzIb83exVq?=
 =?us-ascii?Q?PX2plW4PRuvMT2w1E2KwTJOizYAw88nUcwbOACGqa0hA2cade2P0ygSVpKIn?=
 =?us-ascii?Q?nMJT46c99AzZux56BrEjuecUD+bonbR+HjZL1Nms9/cmyKqVF4dlV5E0jFUU?=
 =?us-ascii?Q?rbjNXRECKuGhW9NX3qU8tagLfIclwLq6dAueAihj7GPO4bvj75eKVZEsrRss?=
 =?us-ascii?Q?4azjJdU9ei2VDC+w5vGsAlvEnuKrDeM+V4+XUZIcmPsWU96hsihrcpg8E7Q0?=
 =?us-ascii?Q?j+FnCHinJggbNvtTLPdBx7+zUARV7TLzC3+6g164AiW8EmcP9t4svHDT898q?=
 =?us-ascii?Q?0c3tZ7ms6svmTpazM1BQgqrwXhoY7NTrgCt8viegpRbr0rAHeHFNMLpy5xSL?=
 =?us-ascii?Q?oI5pjWqnhX8a201gtqmkTngRs/axPm5+GV9gyBuXo1s6o0wJyhIHDU99N940?=
 =?us-ascii?Q?1DEvrusIQDLFVDSbSLcv2T3F2ssNZbuAvRsqg3LeAypssfkqzYgsmQrzOduk?=
 =?us-ascii?Q?NPYtcaqkJygaavMgiW5WpXiAIHVdXEpPa0QgIe1HIAbYJp4pr1oh+9IXACAF?=
 =?us-ascii?Q?TBaaIfm7k4mAS/x8otZ7aDbvo5ZqYwNTlL1vLPDtLbL6bs35icvsQfx2gQFc?=
 =?us-ascii?Q?SJJqMbob+tuBaE1nvH2Esld4FOTHISf+RkduRSwUKj3CzJVxvo9ul2Td8LLH?=
 =?us-ascii?Q?oUmJ7PuCt4R9iP6bSnku1yW/2lpQ+eSAYGFJhWWa33NScIaSwhT2gYujDPnt?=
 =?us-ascii?Q?Ac4kiEET7Osz7lUIxmG425Xpi3FrewwqPVHLYUZ9fgGbkgipyK1zd+xJy+Kx?=
 =?us-ascii?Q?lkFpPur7TtoNruO+riQZSwsRwTKhuA5dU/OXNccwYmD4Koot5oYXEsIooVlS?=
 =?us-ascii?Q?dlcMsuAu/jctWpR7QPj+BhIua9Dd9clFU6NlCAwykEuv0syVF1t9ehf+6RBG?=
 =?us-ascii?Q?aYv33mvSC29Tnaedg1vAhtY=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <BE9CA5DC5A738242903E34BFB6B1ED3E@namprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	oUQ2EZ9WRuo+vdohe11V9Q5ijL9Z5As9jIZ8uovTWj92DY1rZO0iZwiB8qcaZIfXoKoKAmmJCxK5hxI93oM9LxC/TzRNchpPvIKh3TRAsvJd/KLo2Li69TxcmGG1v8Ev09X/6m+H0iGk6DuAWrdbI16qveJswD4xIYlqNdx8E/5m6gYZZ40No42C0DKzp3fGVQJY120c8oqgIpKoBKKWPu4vu1WExYtGus+gSbFpT9V0AL48OV5tzseZRdjqz1t3NygNwLVA0r1RkZsk/eVrLA3piW5h8v4cH/kT8yv1/l1I8chrtSbiKtCjRJ5ex/DU/PpYZqO8fUSAyxXLANyknoVQ9lpxSRcZL4LHEuGU69+y9fUYBl39HhdmW3TusqTOHBovJEVnhU+6+A904YmeBLVF21dPb+/lDaqbiHUqh1EuQkYMF1TArFY9miyi0ZERvSIQeUzb/OQxityZRQasfvfwORCt3BfnDQ82ijmTWCxJvUoBmE/oBUTDsejMxBzBa+syJlUQCVuyLfvaeIs1cfWD+QjLo42Ufc0VaeVQ/Nw9T4hj736aTsgLTrU0+3/Zb/HYp2s9kEl1fruK9xRF5m+mtulChpi/i96CCLmsZDnv5yAIFhNg7N2BQ09LS1s4fchYGcrb5U7XRerdM5VtRgR1vItuvpZAUSYjOh4un54pbDnECeZUPZMjNtZZ9uSkNbu9wJYFHApfuRqJ5Lt1qBtz54e4jKc8lglxFkA7ZOean1GjPJ2DNeiUiP/H9vneYrpHQkiz/C3IVAN+koysfHtzY08f94uNJLpANZbGzx8vUhdjmoAN3gb1HrHE5hpf
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 000de282-2399-449a-eb2b-08dad393704e
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 11:59:02.4063
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3FI3NZGRnLA2oL5GG8t6W4F5Au5byqswdxHaUc8O9AuM76SH0hMkctQLCd288PKvcOGVdC4dYTbfKlA+0HrfwjjzzZUcYmEyMniDi++d5yk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7022



> On 30 Nov 2022, at 16:54, Andrew Cooper <Andrew.Cooper3@citrix.com> wrote=
:
>=20
> Inter-domain event channels are always a pair of local and remote ports.
> Right now the handling is asymmetric, caused by the fact that the evtchn =
is
> bound after the associated Domain object is constructed.
>=20
> First, move binding of the event channel into the Domain.make() construct=
or.
> This means the local port no longer needs to be an option.  It also remov=
es
> the final callers of Domain.bind_interdomain.
>=20
> Next, introduce a new port_pair type to encapsulate the fact that these t=
wo
> should be updated together, and replace the previous port and remote_port
> fields.  This refactoring also changes the Domain.get_port interface (rem=
oving
> an option) so take the opportunity to name it get_local_port instead.
>=20
> Also, this fixes a use-after-free risk with Domain.close.  Once the evtch=
n has
> been unbound, the same local port number can be reused for a different
> purpose, so explicitly invalidate the ports to prevent their accidental m=
isuse
> in the future.
>=20
> This also cleans up some of the debugging, to always print a port pair.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Christian Lindig <christian.lindig@citrix.com>
> CC: David Scott <dave@recoil.org>
> CC: Edwin Torok <edvin.torok@citrix.com>
> CC: Rob Hoes <Rob.Hoes@citrix.com>

Acked-by: Christian Lindig <christian.lindig@citrix.com>

>=20
> v2:
> * New
> ---
> tools/ocaml/xenstored/connections.ml |  9 +----
> tools/ocaml/xenstored/domain.ml      | 75 ++++++++++++++++++-------------=
-----
> tools/ocaml/xenstored/domains.ml     |  2 -
> 3 files changed, 39 insertions(+), 47 deletions(-)
>=20
> diff --git a/tools/ocaml/xenstored/connections.ml b/tools/ocaml/xenstored=
/connections.ml
> index 7d68c583b43a..a80ae0bed2ce 100644
> --- a/tools/ocaml/xenstored/connections.ml
> +++ b/tools/ocaml/xenstored/connections.ml
> @@ -48,9 +48,7 @@ let add_domain cons dom =3D
> 	let xbcon =3D Xenbus.Xb.open_mmap ~capacity (Domain.get_interface dom) (=
fun () -> Domain.notify dom) in
> 	let con =3D Connection.create xbcon (Some dom) in
> 	Hashtbl.add cons.domains (Domain.get_id dom) con;
> -	match Domain.get_port dom with
> -	| Some p -> Hashtbl.add cons.ports p con;
> -	| None -> ()
> +	Hashtbl.add cons.ports (Domain.get_local_port dom) con

I would prefer Hashtbl.replace. Hashtbl.add shadows an existing binding whi=
ch becomes visible again after Hashtabl.remove. When we are sure that we on=
ly have one binding per key, we should use replace instead of add.=20

>=20
> let select ?(only_if =3D (fun _ -> true)) cons =3D
> 	Hashtbl.fold (fun _ con (ins, outs) ->
> @@ -97,10 +95,7 @@ let del_domain cons id =3D
> 		let con =3D find_domain cons id in
> 		Hashtbl.remove cons.domains id;
> 		(match Connection.get_domain con with
> -		 | Some d ->
> -		   (match Domain.get_port d with
> -		    | Some p -> Hashtbl.remove cons.ports p
> -		    | None -> ())
> +		 | Some d -> Hashtbl.remove cons.ports (Domain.get_local_port d)
> 		 | None -> ());
> 		del_watches cons con;
> 		Connection.close con
> diff --git a/tools/ocaml/xenstored/domain.ml b/tools/ocaml/xenstored/doma=
in.ml
> index d59a9401e211..ecdd65f3209a 100644
> --- a/tools/ocaml/xenstored/domain.ml
> +++ b/tools/ocaml/xenstored/domain.ml
> @@ -19,14 +19,31 @@ open Printf
> let debug fmt =3D Logging.debug "domain" fmt
> let warn  fmt =3D Logging.warn  "domain" fmt
>=20
> +(* An event channel port pair.  The remote port, and the local port it i=
s
> +   bound to. *)
> +type port_pair =3D
> +{
> +	local: Xeneventchn.t;
> +	remote: int;
> +}
> +
> +(* Sentinal port_pair with both set to EVTCHN_INVALID *)
> +let invalid_ports =3D
> +{
> +	local =3D Xeneventchn.of_int 0;
> +	remote =3D 0
> +}
> +
> +let string_of_port_pair p =3D
> +	sprintf "(l %d, r %d)" (Xeneventchn.to_int p.local) p.remote
> +
> type t =3D
> {
> 	id: Xenctrl.domid;
> 	mfn: nativeint;
> 	interface: Xenmmap.mmap_interface;
> 	eventchn: Event.t;
> -	mutable remote_port: int;
> -	mutable port: Xeneventchn.t option;
> +	mutable ports: port_pair;
> 	mutable bad_client: bool;
> 	mutable io_credit: int; (* the rounds of ring process left to do, defaul=
t is 0,
> 	                           usually set to 1 when there is work detected,=
 could
> @@ -41,8 +58,8 @@ let is_dom0 d =3D d.id =3D 0
> let get_id domain =3D domain.id
> let get_interface d =3D d.interface
> let get_mfn d =3D d.mfn
> -let get_remote_port d =3D d.remote_port
> -let get_port d =3D d.port
> +let get_remote_port d =3D d.ports.remote
> +let get_local_port d =3D d.ports.local
>=20
> let is_bad_domain domain =3D domain.bad_client
> let mark_as_bad domain =3D domain.bad_client <- true
> @@ -56,54 +73,36 @@ let is_paused_for_conflict dom =3D dom.conflict_credi=
t <=3D 0.0
>=20
> let is_free_to_conflict =3D is_dom0
>=20
> -let string_of_port =3D function
> -	| None -> "None"
> -	| Some x -> string_of_int (Xeneventchn.to_int x)
> -
> let dump d chan =3D
> -	fprintf chan "dom,%d,%nd,%d\n" d.id d.mfn d.remote_port
> +	fprintf chan "dom,%d,%nd,%d\n" d.id d.mfn d.ports.remote
>=20
> let rebind_evtchn d remote_port =3D
> -	begin match d.port with
> -	| None -> ()
> -	| Some p -> Event.unbind d.eventchn p
> -	end;
> +	Event.unbind d.eventchn d.ports.local;
> 	let local =3D Event.bind_interdomain d.eventchn d.id remote_port in
> -	debug "domain %d rebind (l %s, r %d) =3D> (l %d, r %d)"
> -	      d.id (string_of_port d.port) d.remote_port
> -	      (Xeneventchn.to_int local) remote_port;
> -	d.remote_port <- remote_port;
> -	d.port <- Some (local)
> +	let ports =3D { local; remote =3D remote_port } in
> +	debug "domain %d rebind %s =3D> %s"
> +	      d.id (string_of_port_pair d.ports) (string_of_port_pair ports);
> +	d.ports <- ports
>=20
> let notify dom =3D
> -	match dom.port with
> -	| None -> warn "domain %d: attempt to notify on unknown port" dom.id
> -	| Some port -> Event.notify dom.eventchn port
> -
> -let bind_interdomain dom =3D
> -	begin match dom.port with
> -	| None -> ()
> -	| Some port -> Event.unbind dom.eventchn port
> -	end;
> -	dom.port <- Some (Event.bind_interdomain dom.eventchn dom.id dom.remote=
_port);
> -	debug "bound domain %d remote port %d to local port %s" dom.id dom.remo=
te_port (string_of_port dom.port)
> -
> +	Event.notify dom.eventchn dom.ports.local
>=20
> let close dom =3D
> -	debug "domain %d unbound port %s" dom.id (string_of_port dom.port);
> -	begin match dom.port with
> -	| None -> ()
> -	| Some port -> Event.unbind dom.eventchn port
> -	end;
> +	debug "domain %d unbind %s" dom.id (string_of_port_pair dom.ports);
> +	Event.unbind dom.eventchn dom.ports.local;
> +	dom.ports <- invalid_ports;
> 	Xenmmap.unmap dom.interface
>=20
> -let make id mfn remote_port interface eventchn =3D {
> +let make id mfn remote_port interface eventchn =3D
> +	let local =3D Event.bind_interdomain eventchn id remote_port in
> +	let ports =3D { local; remote =3D remote_port } in
> +	debug "domain %d bind %s" id (string_of_port_pair ports);
> +{
> 	id =3D id;
> 	mfn =3D mfn;
> -	remote_port =3D remote_port;
> +	ports;
> 	interface =3D interface;
> 	eventchn =3D eventchn;
> -	port =3D None;
> 	bad_client =3D false;
> 	io_credit =3D 0;
> 	conflict_credit =3D !Define.conflict_burst_limit;
> diff --git a/tools/ocaml/xenstored/domains.ml b/tools/ocaml/xenstored/dom=
ains.ml
> index 26018ac0dd3d..2ab0c5f4d8d0 100644
> --- a/tools/ocaml/xenstored/domains.ml
> +++ b/tools/ocaml/xenstored/domains.ml
> @@ -126,7 +126,6 @@ let create doms domid mfn remote_port =3D
> 	let interface =3D Xenctrl.map_foreign_range xc domid (Xenmmap.getpagesiz=
e()) mfn in
> 	let dom =3D Domain.make domid mfn remote_port interface doms.eventchn in
> 	Hashtbl.add doms.table domid dom;
> -	Domain.bind_interdomain dom;
> 	dom
>=20
> let xenstored_kva =3D ref ""
> @@ -144,7 +143,6 @@ let create0 doms =3D
>=20
> 	let dom =3D Domain.make 0 Nativeint.zero remote_port interface doms.even=
tchn in
> 	Hashtbl.add doms.table 0 dom;
> -	Domain.bind_interdomain dom;
> 	Domain.notify dom;
> 	dom
>=20
> --=20
> 2.11.0
>=20



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 11:59:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 11:59:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450640.708016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0iE7-0005ij-Me; Thu, 01 Dec 2022 11:59:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450640.708016; Thu, 01 Dec 2022 11:59:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0iE7-0005ic-Ii; Thu, 01 Dec 2022 11:59:39 +0000
Received: by outflank-mailman (input) for mailman id 450640;
 Thu, 01 Dec 2022 11:59:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0iE6-0005dl-PQ; Thu, 01 Dec 2022 11:59:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0iE6-0007fl-NG; Thu, 01 Dec 2022 11:59:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0iE6-0001sK-2L; Thu, 01 Dec 2022 11:59:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0iE6-0001lP-1t; Thu, 01 Dec 2022 11:59:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MCnWhg/Q0ImF2Y56OF7v2il8kzU6B0MQHK3Y/uZexrA=; b=4EC3HEf65zQMd4r2mO6V5PHtHI
	pQBKcZpM5q9N0j7YrB1N7sr0/cRM6ArWjMm4PI88nc8ppIrYdJZLDp0EyoU4KF7cVTwiJapa6YSN8
	X+wUcQfhFt6C+YRGpSkDDa9I0uw7jigU3KtGjd1o0lNFb0t0UZSKCRI4603PtimqmaJ4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175003-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175003: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a8a78ef194f4a6aaf4c178d1c545a372c94e88bb
X-Osstest-Versions-That:
    ovmf=beb0f8d483dfbec2fd3a2db425e0c1871b0d29eb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 01 Dec 2022 11:59:38 +0000

flight 175003 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175003/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a8a78ef194f4a6aaf4c178d1c545a372c94e88bb
baseline version:
 ovmf                 beb0f8d483dfbec2fd3a2db425e0c1871b0d29eb

Last test of basis   175001  2022-12-01 03:10:25 Z    0 days
Testing same since   175003  2022-12-01 09:44:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gang Chen <gang.c.chen@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   beb0f8d483..a8a78ef194  a8a78ef194f4a6aaf4c178d1c545a372c94e88bb -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 12:03:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 12:03:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450655.708026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0iHO-0007i8-BQ; Thu, 01 Dec 2022 12:03:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450655.708026; Thu, 01 Dec 2022 12:03:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0iHO-0007i0-8f; Thu, 01 Dec 2022 12:03:02 +0000
Received: by outflank-mailman (input) for mailman id 450655;
 Thu, 01 Dec 2022 12:03:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mmm5=37=citrix.com=prvs=327587bd7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p0iHN-0007hn-2P
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 12:03:01 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 188590ec-7170-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 13:02:59 +0100 (CET)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 07:02:56 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB5202.namprd03.prod.outlook.com (2603:10b6:a03:220::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 12:02:55 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 12:02:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 188590ec-7170-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669896179;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=b0bhH8jl6yRmRAkmpyOM0wAuHlYgJIsSpWJDPAjDcCI=;
  b=YzVegFqvoUiMHlFVxYK8eyz8B1fSpakLmuyd/110ZVTA0uECzo8geKkw
   rNxqHxo+TsKcTeHmws3JkjY/bBmVtOkcVNJ8z5ezklB8QEONC2wcc7aVK
   GNpZCe1M9cXyD152PoBbstRKCsvN10GxeHxGLVdnl2Wx5ag3otoKkX3mq
   M=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 85599252
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ltkpSqLmjHHaqEBvFE+RzZQlxSXFcZb7ZxGr2PjKsXjdYENS02QHn
 GIfDWvTOPeKa2P2L9snPNjg/E5QsMXTy9ZrT1ZlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5ARnPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4sOkVF5
 KwWGAs3NBm5g92qxaKKF9ZV05FLwMnDZOvzu1lG5BSAVLMMZ8CGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dnpTGNnGSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnzX6mCdNISefQGvhCx0XC3kMPGiItfwGgir6lmH+wfM9CJ
 BlBksYphe1onKCxdfHtUhv9rHOasxo0X9tLD/Z8+AyL0rDT4QuSGi4DVDEpQNAvqsIeXzEh0
 V6N2dTzClRSXKa9THuc8vKeq2O0MC1MdGsaP3ZaHU0C/sXpp5w1glTXVNF/HaWpj9rzXzbt3
 zSNqyt4jLIW5SIW65iGEZn8q2rEjvD0osQdvG07gkrNAttFWbOY
IronPort-HdrOrdr: A9a23:vw/HfapBYUxs0IalbANRjuUaV5v5L9V00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssRAb6La90cy7LU80mqQFhbX5UY3SPjUO21HYT72Kj7GSugEIcheWnoEytZ
 uIG5IOcOEYZmIK6voSjjPIdurI9OP3i5xAyN2uvEtFfEVPUeVN/g15AgGUHglfQxRHP4MwEN
 656tBcrzStVHwLZoDjb0N1KtTrlpnurtbLcBQGDxko5E2nii6p0qfzF1y90g0FWz1C7L8++S
 zukhD/5I+kr/anoyWspVP73tBzop/M29FDDMuDhow8LSjtsB+hYMBbV7iLrFkO0Z+SAAJBqr
 jxiiZlG/42x2Laf2mzrxeo8RLnyiwS53jrzkLdqWf/oOTiLQhKQfZptMZ8SF/0+kAgtNZz3O
 ZgxGSCradaChvGgWDU+8XIbRd3jUC5yEBS2tL7t0YvHLf2VYUh5LD3vXklZqvoJRiKn7zPxd
 MeRP01555tACynhj7izyVSKeeXLwgO9ye9MzU/U/OuokJrdVBCvjolLZ8k7wc9HdQGOu1529
 g=
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="85599252"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EghFfmZ4pcCR2TeZOC+IB+qnIr8aSfBStco3fl1VaJYD5EBtP9Maw4ttmdBNrEUpXrknrTbg5g6ii/K7/aNSK7hJRsoMALbxnHW2uncJhqdFEmAnAGqvt8mtH4u2kCkJckR875KejwvbnVKsMdE4UiNafUj8g3eYIZbsYZzhzaDG5V7IsEsXQBPvtWDt65KARuNmtHwU/h2vOayaiRwnSUE0E0PNqJ/2szdQQhyv11iOIOsECRPiLxlK3aqhmv/iKtu+F4lJ5nwh4pFaxl5gv08aieKU8TYpBMV+nii9R2tfxf/slL/+4O6THZj2gT8E8m1JSDW+BRCuO78ULmvsgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b0bhH8jl6yRmRAkmpyOM0wAuHlYgJIsSpWJDPAjDcCI=;
 b=cHeWEUyh+ymp8e+dcE/pVwNrsKN/8UsfElMJevZrp+hDVHn76xtQWQePsyjTrOfDvymGDzZAn6/PXIcNrUqaNmI/qYUXG+3+Y+YLbX8nVB1DPynPs+gTroL2JSY5jsr6zQ5Xs0uomyMoOzY61W3oM3l+GOzlwm9DOI8czVxaKmhQU5yE/GgYdIfdjb4MGzFKg7U4vIpY5y3pmGLT1byeLd5GhzgCPXczrdIKgx9ZDWtdohA40omlm8dR8TKPqo18C0/Uqc5EYSv+TyYn0JI60l6651JLxLB0MF5O2M5LI1mFyjeezzsVi7+DHN3V8cdVmqGO3ySB4POmT3KfNYUlaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b0bhH8jl6yRmRAkmpyOM0wAuHlYgJIsSpWJDPAjDcCI=;
 b=avoEkfMCR/3jjAK0BpsA3whoEK5wAyTg2Db42YkTOBEeabLiRW4JLFBfwS5jiWBxz7shMs/SkX4ChlyUN2kieiuwwgwv+Q35N8AkQ51wPMDvr+LZE2Q9mRK2wcyK3x6At3CD7YE9vo5qG1rRlvwhECuT695CGGFCrt7SqXw668Q=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Christian Lindig <christian.lindig@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Edwin Torok <edvin.torok@citrix.com>, Rob Hoes <Rob.Hoes@citrix.com>
Subject: Re: [PATCH v2 3/6] tools/oxenstored: Rename some 'port' variables to
 'remote_port'
Thread-Topic: [PATCH v2 3/6] tools/oxenstored: Rename some 'port' variables to
 'remote_port'
Thread-Index: AQHZBNyFNvaM1t+D4EiUJIDtYLxqxq5Y5boAgAAKPAA=
Date: Thu, 1 Dec 2022 12:02:54 +0000
Message-ID: <240e9bf1-3f10-7c65-8e8d-cb192359919d@citrix.com>
References: <20221130165455.31125-1-andrew.cooper3@citrix.com>
 <20221130165455.31125-4-andrew.cooper3@citrix.com>
 <775FA3EA-6F85-4706-8159-EB8CFFD983E2@citrix.com>
In-Reply-To: <775FA3EA-6F85-4706-8159-EB8CFFD983E2@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BY5PR03MB5202:EE_
x-ms-office365-filtering-correlation-id: 5fb3cd79-23ea-45f9-65cf-08dad393fad8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 mFEyRPjAgVmfGJ0RuXT6UKULUVJl5x54wtiRLkP9Xg0Divk4jWb8G1tsAfXysWiE1dAOeMOfuJQfmeMdNfoyj7XuJobuHDZOJGXik4uJ1PWuWJ54MXTf6Im+CWZfuchkdlNMD1yFGRrKy7MIndHUZYzoKjMR4mJkOPtFTLUIQbbWV2Rnfr1/2yEiCFjY+jn8TbKC53IVoEBGapOzgV372txKHeQOektOv/Y/KihpOh7JNzJC2Z71+rlsElaK9e0wn9BitsS1pHZRAIzSt+xe2fhVRtP7b0K2t+0y3GsBIr8DbmUHtLbSCRbL1nxDb9Ez0fwfF6YzfAa4vJG20yIl3VcJeDcGnqD/fekajpWxAlSWcfzalpyyxsu++PArLTJfJIwq2nGakMMX0V9IOFcAozIBJBF4aII/ghkXPBKCgTX2LvJFn/WE0Ty1ru92yKfAV+WAhgx/aMDy03xEzVFxuyHIer6fl7JGDx4nf4j0lurU41DqZ21QJ1ECH3nanVtUgsKQkag/WBGPdC/qDDr9WpzUgQsK/GDTsCmDNBzHyxnILCihz2mr2tnu7y4ksLiZ2UaScFBbxX4th9eSKe149zg29VC3HGkM4AdQYz+vHyZwT6s0igYWA/xAECG7uM/VxTFV4V67YMm4W1eEO1GexAix+2c57tjN0Qk0v/ftW63CfRVvq2NJItY8T1YxkxjY7PUgbxtKmFfwzRbokINcPX2daB6a3h4Zy6r0nBRibmhCsxL2BCiEJje1HQRVZlL6q7aFRV0MInp5oCqLN0xnRA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(396003)(376002)(346002)(39860400002)(366004)(451199015)(53546011)(36756003)(86362001)(37006003)(6636002)(31696002)(38070700005)(6486002)(54906003)(316002)(478600001)(71200400001)(2906002)(91956017)(4326008)(8676002)(66946007)(66446008)(66476007)(41300700001)(5660300002)(76116006)(8936002)(6862004)(66556008)(64756008)(83380400001)(82960400001)(38100700002)(122000001)(107886003)(6512007)(186003)(6506007)(26005)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UGF0TTBZRXAvQUw1V0x5STdpZ2M4SWM1WVk3RUlSNDVrSGhMZ0tzenplN3p0?=
 =?utf-8?B?MDFVMUVHNUVYdG5BbkMvTW54T2prZmtvSVZCSmlZclZpMDRRdXFUVEo1K0Fm?=
 =?utf-8?B?L0pSWmV6UU1mNkR0Z05GcURqd2ZBcGt3UTBoUDNJV1pXYUFmMVdqbFpLRngx?=
 =?utf-8?B?WTlBeHo1Mk40MHJKUW9INlFHcVBqREgzMEpsa3V6azBXNmJ3OUpxMHFUcXlv?=
 =?utf-8?B?K0dHODl1OWJyL3JZWmVVOGFxTnBESkVnUkMrMXIrZmxueEw5YjNpVzdrYjly?=
 =?utf-8?B?VjJ5SWZQb1psWUxsKzEzTjhHVk1TZDlWTXg4RjJkMW5tQVFNbmRCOVc5NHdD?=
 =?utf-8?B?eEJBWTQ3bW1DaUdhc1l2clB3RGUzY2VUcll6azhzSkhLTGI1eUJTRk8xeDhI?=
 =?utf-8?B?QTBIRHlxQ1J2UHFKbEM3NmxpTEtaVEtpd2hzN0VDZFRUVjV5TEgvaDc2bUpI?=
 =?utf-8?B?Y3QvN2JHRGMzVkM3d3g2ZGMxN2NxU28vUURXWG1SZXFHUCtRUHVBNlhvbWpx?=
 =?utf-8?B?Qyt6cVg5L2Z4ajZ6N1E2SWpxMXFISmcxOW5rWlk4VzJYSWZBNkZmOHhQNEIz?=
 =?utf-8?B?RkRkd054Ym4yYzZwdkg4blN6N29kM0o4YlM1WFlTZHBNVm8wcitUUGlyMGph?=
 =?utf-8?B?bTJreEp2YnBxY245ZUhFYmN5TlA0TnBLS045bm9UTlJtTmNqTTNvRm1qeFo3?=
 =?utf-8?B?Um5rMmFKNDF1ZGtQa1pzUnZ0THZ2WVNTNEdHMW5QVUJrQ3NGSnFZZGtMKzVn?=
 =?utf-8?B?TEFxcHhBNkRzWWpMbW5IVWRLUjhrRENZNXdTZGJaMUpEWmZKUmQ4RDVvUU5W?=
 =?utf-8?B?cGlwaThtOFV3Wm1oNFNUMnNTbjRlRjVpWUZXMUF3NWh4QVROTGQrMndlWVl5?=
 =?utf-8?B?WHVLK3kvUDNTVkd2MmVheXA2RjcxZ3N6MEc5YmNQRFhBUHc3cW5HeEo1bE1V?=
 =?utf-8?B?SUgwL2xpOTVEbEMyR1Y4bkM5UXJsWWIya2l6R29rd1JZS0NoNVF1V0wwWG1D?=
 =?utf-8?B?TXp3blpnRkJ0LzYySGhUUkhobWt2VkE0TndLU2htS3cxMkFMdTFEYktLR0dW?=
 =?utf-8?B?WHVXVDJuRDJGbDM4aTFnb3pOaSszVWRqaStpVlJoTEZudGg4UEMxSExUQkZL?=
 =?utf-8?B?YkpKejZ4RWlkUWZkY1NnVkNhSmtZWnZqSWEwd0k2Z1ArZ1dXbFYyTkFEcytO?=
 =?utf-8?B?QmxhTXBkQkpwOGlhQzJHSE1yZmNLRUlyZjk0TE1zVXJjR3hNSGZRaFhNeFFN?=
 =?utf-8?B?SHhhVm95WExoSFlweGszbG9EaU0yeUZOMHFvdGtDMjBXUy9hNmMwL0h1R2dR?=
 =?utf-8?B?akFGdlFTNXJUQ2JDUWhLdnYzTWxOQ1NtdUNpTDdlRndHMTFZQlRMUUI3SWF2?=
 =?utf-8?B?UFE3QjczbDVLSi92NG55VzNjQklSeE02ZWhYbWRMa3NMOGdmTHFQaVN2d0kz?=
 =?utf-8?B?ZEhiajVMd0k2c09iUDBhR0tDQ29MaSszZ0gwdXFoNXJ4NmRCU3RqMzJtK0JR?=
 =?utf-8?B?MGhoMzdDWFRyUUNETmU1bSszcTVTcVF4VkZtcStUWGx5dk9DckJLM2tyVkRy?=
 =?utf-8?B?bFI0TStuQ3pTRWt6MWFxM1hmejdBa3VlK3o4OHZjYnMrYXFMY2dtcGJjNVJD?=
 =?utf-8?B?THRQeFdrQ0tQR0YxckNFZ3p0bEE2K1ZIY0lOcnFGeEhQamhzZW9MWng0ajJF?=
 =?utf-8?B?eVBwQjR1UUdGYXpGSzROSVA3VmJLYVVHU2FSdmxOK1VWVWVnTGtPS1lpdFpy?=
 =?utf-8?B?Slh0MXFDM0ZKRytRZDBoUjZ0V2w5L3lKTGx0YTFXdWhpM2M5ZTMyczRIdzBF?=
 =?utf-8?B?UkMxbnpYYXZNaTV4RXRPd1cwdmFoK25mTUdyY2J1V2lTTXZBVUNGUzQ0bDdC?=
 =?utf-8?B?MVVaNTJ4WlpXdGpZQXBjVk1KckdBbkRXbDVnazBpZWpBaCs0d0Uxc0hTNTJ1?=
 =?utf-8?B?cXJjMlRxZ0E2eHFWQ0lCTmlONmdrZEFQZlJkU3A4U05HV25hMzVOQlo5cDl1?=
 =?utf-8?B?YllFS2xsNGZEOWVnRlN4NWtGNndhekNmamRSdVI4MnNRYjdRVjNkaXkxYUpj?=
 =?utf-8?B?dDIyRnl2YnZrbEZOVmJBTHkvVU9UUGQ5VGNXaVY0Q1RqY05lcWZUSk1yWXR3?=
 =?utf-8?Q?7pcBkxVL1RxqvaP7nY0tvOpQW?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <3E19AA9DFCFAF8478A47B030530E135B@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	kNxhEPMN2qJvy5jmpgAMo2oom59XWDr2GVHfjq3cwWhOgdOJRMcYH+a8DDYhUA4RWlxDif4UptuvpdqwcXtR6xUkM7PfUpczHj/AzNbOdXzw9NOp7uQSyNgJGXWs90NSaV+dtiFPOEY08oxBKCjwWWZB6jaCr/Nfj3L3qUD65nn4A8A62ubTH8yRoUiN4soBaEWIrFAoWOgUsynhD4kdjZ28QZzCe6s+PNd0aoLXea9164rjhhCD3bqlNCLVhT5UAX6pGNektL8TlNLfJU7X41G1jp74ppvIIx6uMxuxCT9K89eZHkB9DCGGqPhR9OtXPvWSM2//Ca+8uNOgUBr4ipKra+Y22AZ04cffjdk09J8r5eY+CGxlmTCGFYDc2OWN1CUXrj1osNPEke+YaT7+CyjnNYX8gIXIDRwOVDyepoqL7M9M8N8TqCYp0V0q+6f8Dw03GViedDv1/OqdqSvZlIM5fT+Httuw5Ua0fsGPYfE6J/oh6+ykqQ24IQ6VH7gRZ56apjvr8X4YKlcH7Jg6cHeNaxiTqXEjPCj0f0Wso4FjjJ98Csb7bSi61Eu8f7mJjeQVQxR7t4r4fq7wSDYJw1Io61o0qmLN+JcsSYbhkw/tEIZiHihsI9gEyZdK5PRjWndT38Ax59M3NOt1N0bbvfgZGDCsHwRBFIhUcDv+yHAWg5xISkFgL8qHdsLN7kURlzRzWoxJvtbiPSX8pZYxnxCcZk8ZDoj3cKv/g2CCQo9PbKB1YfMGW0/tOZwH99fUt1DjVUWXURpE5prm0B4Y8+swLj5eKn58f3yZMIoz34owG0ZlWVUkD4UTRkEuf4Bd
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5fb3cd79-23ea-45f9-65cf-08dad393fad8
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 12:02:54.8329
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: tkuoJnD3tBkp5zAXND29FYWGXEU8IrdtLfAdGKuLd0L55TRBdmtbStUzXUSwRsVsznrzRzYEsNjY8BVTW3W40IaAyoDEPHLzf7bbn7EGqAg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5202

T24gMDEvMTIvMjAyMiAxMToyNiwgQ2hyaXN0aWFuIExpbmRpZyB3cm90ZToNCj4+IE9uIDMwIE5v
diAyMDIyLCBhdCAxNjo1NCwgQW5kcmV3IENvb3BlciA8QW5kcmV3LkNvb3BlcjNAY2l0cml4LmNv
bT4gd3JvdGU6DQo+Pg0KPj4gVGhpcyB3aWxsIG1ha2UgdGhlIGxvZ2ljIGNsZWFyZXIgd2hlbiB3
ZSBwbHVtYiBsb2NhbF9wb3J0IHRocm91Z2ggdGhlc2UNCj4+IGZ1bmN0aW9ucy4NCj4+DQo+PiBX
aGlsZSBjaGFuZ2luZyB0aGlzLCBzaW1wbGlmeSB0aGUgY29uc3RydWN0IGluIERvbWFpbnMuY3Jl
YXRlMCB0byBzZXBhcmF0ZSB0aGUNCj4+IHJlbW90ZSBwb3J0IGhhbmRsaW5nIGZyb20gdGhlIGlu
dGVyZmFjZS4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPg0KPj4gLS0tDQo+PiBDQzogQ2hyaXN0aWFuIExpbmRpZyA8Y2hyaXN0
aWFuLmxpbmRpZ0BjaXRyaXguY29tPg0KPj4gQ0M6IERhdmlkIFNjb3R0IDxkYXZlQHJlY29pbC5v
cmc+DQo+PiBDQzogRWR3aW4gVG9yb2sgPGVkdmluLnRvcm9rQGNpdHJpeC5jb20+DQo+PiBDQzog
Um9iIEhvZXMgPFJvYi5Ib2VzQGNpdHJpeC5jb20+DQo+IEFja2VkLWJ5OiBDaHJpc3RpYW4gTGlu
ZGlnIDxjaHJpc3RpYW4ubGluZGlnQGNpdHJpeC5jb20+DQoNClRoYW5rcy4NCg0KPj4gZGlmZiAt
LWdpdCBhL3Rvb2xzL29jYW1sL3hlbnN0b3JlZC9kb21haW5zLm1sIGIvdG9vbHMvb2NhbWwveGVu
c3RvcmVkL2RvbWFpbnMubWwNCj4+IGluZGV4IDE3ZmUyZmEyNTc3Mi4uMjYwMThhYzBkZDNkIDEw
MDY0NA0KPj4gLS0tIGEvdG9vbHMvb2NhbWwveGVuc3RvcmVkL2RvbWFpbnMubWwNCj4+ICsrKyBi
L3Rvb2xzL29jYW1sL3hlbnN0b3JlZC9kb21haW5zLm1sDQo+PiBAQCAtMTMzLDE4ICsxMzMsMTYg
QEAgbGV0IHhlbnN0b3JlZF9rdmEgPSByZWYgIiINCj4+IGxldCB4ZW5zdG9yZWRfcG9ydCA9IHJl
ZiAiIg0KPj4NCj4+IGxldCBjcmVhdGUwIGRvbXMgPQ0KPj4gLQlsZXQgcG9ydCwgaW50ZXJmYWNl
ID0NCj4+IC0JCSgNCj4+IC0JCQlsZXQgcG9ydCA9IFV0aWxzLnJlYWRfZmlsZV9zaW5nbGVfaW50
ZWdlciAheGVuc3RvcmVkX3BvcnQNCj4+IC0JCQlhbmQgZmQgPSBVbml4Lm9wZW5maWxlICF4ZW5z
dG9yZWRfa3ZhDQo+PiAtCQkJCQkgICAgICAgWyBVbml4Lk9fUkRXUiBdIDBvNjAwIGluDQo+PiAt
CQkJbGV0IGludGVyZmFjZSA9IFhlbm1tYXAubW1hcCBmZCBYZW5tbWFwLlJEV1IgWGVubW1hcC5T
SEFSRUQNCj4+IC0JCQkJCQkgIChYZW5tbWFwLmdldHBhZ2VzaXplKCkpIDAgaW4NCj4+IC0JCQlV
bml4LmNsb3NlIGZkOw0KPj4gLQkJCXBvcnQsIGludGVyZmFjZQ0KPj4gLQkJKQ0KPj4gLQkJaW4N
Cj4+IC0JbGV0IGRvbSA9IERvbWFpbi5tYWtlIDAgTmF0aXZlaW50Lnplcm8gcG9ydCBpbnRlcmZh
Y2UgZG9tcy5ldmVudGNobiBpbg0KPj4gKwlsZXQgcmVtb3RlX3BvcnQgPSBVdGlscy5yZWFkX2Zp
bGVfc2luZ2xlX2ludGVnZXIgIXhlbnN0b3JlZF9wb3J0IGluDQo+PiArDQo+PiArCWxldCBpbnRl
cmZhY2UgPQ0KPj4gKwkJbGV0IGZkID0gVW5peC5vcGVuZmlsZSAheGVuc3RvcmVkX2t2YSBbIFVu
aXguT19SRFdSIF0gMG82MDAgaW4NCj4+ICsJCWxldCBpbnRlcmZhY2UgPSBYZW5tbWFwLm1tYXAg
ZmQgWGVubW1hcC5SRFdSIFhlbm1tYXAuU0hBUkVEIChYZW5tbWFwLmdldHBhZ2VzaXplKCkpIDAg
aW4NCj4gQ2FuIHdlIGJlIHN1cmUgdGhhdCB0aGlzIG5ldmVyIHRocm93cyBhbiBleGNlcHRpb24g
c3VjaCB0aGF0IHRoZSBjbG9zZSBjYW4ndCBiZSBtaXNzZWQ/IE90aGVyd2lzZSBhIEZ1bi5wcm90
ZWN0IChvciBlcXVpdmFsZW50KSBzaG91bGQgYmUgdXNlZC4NCg0KVGhpcyBtZXNzIGFsc28gZGVw
ZW5kcyBvbiAheGVuc3RvcmVkX3BvcnQgYW5kICF4ZW5zdG9yZWRfa3ZhIG1vcnBoaW5nDQppbnRv
IHNvbWV0aGluZyBvdGhlciB0aGFuICIiwqAgYmVmb3JlIERvbWFpbi5jcmVhdGUwIGlzIGNhbGxl
ZC4NCg0KQnV0IHRoaXMgbG9naWMgaXMgYWxzbyB0aGUgcGVudWx0aW1hdGUgdW5zdGFibGUgQUJJ
IGluIG94ZW5zdG9yZWQsIGFuZA0Kd2lsbCBiZSByZW1vdmVkIGZ1bGx5IHdoZW4gd2UgY2FuIGJp
bmQgL2Rldi94ZW4vZ250ZGV2IGZvciBPY2FtbCBhbmQNCnJlcGxhY2UgdGhlIGZvcmVpZ24gbWFw
cGluZyB3aXRoICJtYXAgZ3JhbnQgMSIgKGFsc28gcmVtb3ZpbmcgdGhpcyBhcyBhDQpzcGVjaWFs
IGNhc2UgZGlmZmVyZW5jZSBiZXR3ZWVuIGRvbTAgYW5kIGFsbCBvdGhlciBkb21haW5zLikNCg0K
DQpTbyBJJ20gdGVtcHRlZCB0byBhcmd1ZSB0aGF0IEknbSBub3QgYWN0dWFsbHkgY2hhbmdpbmcg
dGhlIGJlaGF2aW91cg0KaGVyZSwgYW5kIGl0J3Mgbm90IHdvcnRoIGZpeGluZyB1cCBsb2dpYyB0
aGlzIGZyYWdpbGUgd2hlbiB3ZSdyZQ0KaW50ZW5kaW5nIHRvIHJlcGxhY2UgaXQgYW55d2F5LsKg
IEVkdmluIGhhcyBwYXRjaGVzIElJUkMsIGJ1dCB0aGV5IG5lZWQNCnJlYmFzaW5nLg0KDQp+QW5k
cmV3DQo=


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 12:10:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 12:10:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450665.708037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0iOn-0000sF-46; Thu, 01 Dec 2022 12:10:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450665.708037; Thu, 01 Dec 2022 12:10:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0iOn-0000s7-1F; Thu, 01 Dec 2022 12:10:41 +0000
Received: by outflank-mailman (input) for mailman id 450665;
 Thu, 01 Dec 2022 12:10:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mmm5=37=citrix.com=prvs=327587bd7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p0iOm-0000qu-15
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 12:10:40 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 49b07d39-7170-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 13:04:22 +0100 (CET)
Received: from mail-mw2nam04lp2174.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 07:10:36 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB7017.namprd03.prod.outlook.com (2603:10b6:510:170::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.19; Thu, 1 Dec
 2022 12:10:34 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 12:10:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49b07d39-7170-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669896638;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Zgm3quzPhIrQObII6xGCpYBEErLcJ1x8G3ceXwDUnhE=;
  b=hoB0oR1Tk1aaUqA+f08lmmA+tlfSxhhjNbDeKbjvg1XeEodl2G/tzmnR
   +evsETUzbrMZRrPsmmp7/NXm6ULF7rjDutyyG4dTOJVgIZgjkMJ4Hr+92
   5A7SuNzlxLsb2GVQltVQlQibiyRzImUe0AzV42xTA6LbvxuZsmq0Qeuge
   c=;
X-IronPort-RemoteIP: 104.47.73.174
X-IronPort-MID: 85074263
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:+lVri6C87kzf1RVW/zXiw5YqxClBgxIJ4kV8jS/XYbTApDh3gTBVz
 DRJW2qCPKuPazT0c4ggOo+28h4E75aHn98wQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlA5wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw1rZ8Kj1E1
 qUiKTlUdE+7pfqQmp6Ec7w57igjBJGD0II3nFhFlW2cKMl8BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTK/uxuvDS7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prr+SxXynAtxJfFG+3vBtqQyd4UwJMUZVbkHhr8uJoFaBVPsKf
 iT4/QJr98De7neDXtT7GhG1vnOAlhodQMZLVf037hmXzajZ6BrfAXILJhZNYcIrnNU7Tjsr0
 hmOhdyBONB0mLicSHbY86jOqzq3YXQRNTVbOnNCShYZ6d7+po11lgjIUttoDK+yiJvyBC30x
 DeJ6iM5gt3/kPI26klyxnif6xrEm3QDZlddCtn/No590j5EWQ==
IronPort-HdrOrdr: A9a23:uYukraj8P/fk63v+ThWSgGw6z3BQXh4ji2hC6mlwRA09TyX5ra
 2TdZUgpHrJYVMqMk3I9uruBEDtex3hHP1OkOss1NWZPDUO0VHARO1fBOPZqAEIcBeOldK1u5
 0AT0B/YueAd2STj6zBkXSF+wBL+qj6zEiq792usEuEVWtRGsVdB58SMHfiLqVxLjM2YqYRJd
 6nyedsgSGvQngTZtTTPAh/YwCSz+e78q4PeHQ9dmca1DU=
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="85074263"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EmiAAFPLa9UyQ/WDHqviM8DRaZL6T+wa8+zsT0T2ntXP//p0eKumSLrt34uBaaxjoqPSotKb2ved80xu7B9w8dcX5o/fCyLTZdSg+knBnXT9tKZjMU7eMYzUTOTdm6CWv3AVWsmmvg5ye5XRBq5DWlqtQxSvyKHpqCdgeNIba3t38v1fRIXRRxq4zJ/qpAZ2MaVq8fryAhlHl+BdV9OZl60d0PBX4Yl8ScYNVieI57FYJPujp3JqrboGK91l1/+nIUnmBBZq+pcJp/3FQJ2+cEpRFAeNo+xnourVRIRLHt3JqhE3I9oRSaiCF6dokPQIis6G16heHS4Ip9xn/NWMFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Zgm3quzPhIrQObII6xGCpYBEErLcJ1x8G3ceXwDUnhE=;
 b=kxnnniSNJxMO7+jBABKjnu5265+xkj+nKAu5vCL2mnOHRDYMyXwRfcDNeKMO3V7KE4SkaTXxSUx5CKsUJAFKb1swfi1/PiAkJK2q2Do5ZEBqDHKuSOwRetBG3eez7+BPbjC5o9kqNyMCWWWkbeMBdGHspPeuQbOQBKsqzRWzSMh1wQJk9OhsI1477wyiz06CSnKys52s1vsAH0aQwPqY8mUndysiyPl5bUwZtu6k63wtq4PWvBXY/JmO+bWv6g1x1J1EGujfwn5AetAcSW6kQHXYvo4Q0d2+mGEKUUV606kkt+mwIfeERCUHK/J/y80QuuEBr7bNXhh883XDQWsGlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Zgm3quzPhIrQObII6xGCpYBEErLcJ1x8G3ceXwDUnhE=;
 b=TXeKKuI3dei2CD+YYaPeTOOS+N2fPiHzFIi2Vby4W3mh6eYPrmNiXGb9pZIg7BIHbW/bARt4TaTA6YmPGwjz1O3zqIIRv4xIcrd+HQ37xDeTclOYXW51MHCMafcHsIjjnLu6/wKh9e7TqLV4GnPSCkxRoQNLHbBQ76qqKj2Pexs=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Christian Lindig <christian.lindig@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Edwin Torok <edvin.torok@citrix.com>, Rob Hoes <Rob.Hoes@citrix.com>
Subject: Re: [PATCH v2 4/6] tools/oxenstored: Implement Domain.rebind_evtchn
Thread-Topic: [PATCH v2 4/6] tools/oxenstored: Implement Domain.rebind_evtchn
Thread-Index: AQHZBNyCDn6uLkqfu0u4eQJKM+z0V65Y5D8AgAAN2oA=
Date: Thu, 1 Dec 2022 12:10:33 +0000
Message-ID: <6c667e15-8a6c-753b-923d-fb5ea7839cc3@citrix.com>
References: <20221130165455.31125-1-andrew.cooper3@citrix.com>
 <20221130165455.31125-5-andrew.cooper3@citrix.com>
 <27ED9DA5-D63E-4F49-824A-74AD7149DA5C@citrix.com>
In-Reply-To: <27ED9DA5-D63E-4F49-824A-74AD7149DA5C@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|PH0PR03MB7017:EE_
x-ms-office365-filtering-correlation-id: 6da6276f-5367-4a66-9e3b-08dad3950c7e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 bDa//QAjIA8guMFLYjm8rActBiRVf+RnFLj9YHaJB6gAFV7abNx/uCwezuxqxJ0ZvOoY88OBP4q0Wvg2hFiGcSNEYLVQpwGS5lhykOTZRFBBfF9jyLQUzDm1rDkIAD+4dXOtP+qiVd2YZ0J6wxFfHcH48LJXZdI/J/eBLnk+pBxw3dP2tlqf3FMwBiDuz3pvbK+cBxIE0UJZ6AThhxQlxFVr1E/gNkVNq2yW8KA9kNgdVf8IYiPApLfCtkFPcr0i0FYfKbB6BzJO8GG/TbOD/CMFEetW+7Z12NnqpRF1Q9ZOPhwTxQTsNDVocJWmj8S9HgKuZjBIXLkM+tmoMk2ILz5Zm0XcFMFlyzqZdPVO0ywNrii8xg7aYGBVOacRxYbTjD7qM5NK9uAfILLzrb840QGpe51CpFU8kJMMzGG/3ccDJMkqeACp/FpkymRAFG3DcvW15MneikQsZ1k02Be8PbouL20nIy5pblfMCXHG5SODInAj1yNEpgoXJlwYXktVeDZ2tMmlrrwTIu0K0diahD0Kag+HY9ZzRffpKSh79M9w25/blamEfeX0SF0I0uq6mjT9+LsD2EAgl4UkMoNn7zZeCFc5LCWpjswT9eh6/02TdKAxkfMgAdL0OGh0kJj1DkApCcPZPd5s96+bh/861wX1fQGZYAeYk9BRWYJ2vZFK0wwFY1T9ObpKCuhPdJONRFU0bwLoTpFrfIRB2nzSD/RjiskE5AeZZHwsL2pl8RekLZQUF9ECB4r7ZGkvM8WkCB4R6bEdVLrtx6DVOzw1UA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(346002)(376002)(136003)(39860400002)(451199015)(186003)(316002)(53546011)(107886003)(5660300002)(2616005)(6506007)(26005)(54906003)(31696002)(37006003)(36756003)(6636002)(86362001)(6862004)(91956017)(66946007)(71200400001)(4326008)(6486002)(478600001)(66476007)(66446008)(66556008)(64756008)(8676002)(76116006)(38070700005)(8936002)(38100700002)(6512007)(31686004)(122000001)(2906002)(83380400001)(41300700001)(82960400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?TUxRbGpQanFNRE5LNFJYTWQzbU11QTM2K3hNOFdhUGkxRzJZelNEMDVXWllk?=
 =?utf-8?B?cmZxZlh6TVEvLytKZ09SL3pGaUR1NDk2OXN1VE1lS0t4TUViNWdzdmhjTXhT?=
 =?utf-8?B?Rjk2Uy9HNjV1WGlRNTRxOXVkUGZYRTJYLytGM3dKdTlkWTBaZm1pL20rOXVH?=
 =?utf-8?B?TUl5L05laGpIWUJlT1M3TkR5cWZmM0FYVk5EeHpkN25tSU9yU29KelVoZHp3?=
 =?utf-8?B?czRQYm9WNkZrVk4xOUlyQnM1TWx1RStHRU12VnlSbmZNaFlPaGhNT0Vnd1Er?=
 =?utf-8?B?VWF0c2VCT3RyR2E3ak53UVlBUW41NzBZYnZtbVVYNkhudWhHQTN0VUVxWUxx?=
 =?utf-8?B?T2RFN1RDUU8yOFBnOHNIb3ZKQlNpSzd6WnZBSlBwWjFlMnVDOG5FQ1grdCtL?=
 =?utf-8?B?NzVtT2t1Ym0ycWFKNS9MYjRKN0dtbzZIc1ZLYmpHZXE3NVp1V3JYTDhWd1RD?=
 =?utf-8?B?R3Q2OE1qbEdnWTVBOG5PSkxrU3hWZ3pOQkFCbG50N2FxNXdFNExnc0hFY3g2?=
 =?utf-8?B?eEo3RUhVU0lVSmlSZERBbHBLMUE2cVJ6Q3BJbFRHMkoxa2JteC9SWHR6ZFpF?=
 =?utf-8?B?UHd6RVQ1ZW8wQ1VjaElBR3B2ZGNYc1RJZGttSDRQeC8wcnlvOGdYSlkxdi9y?=
 =?utf-8?B?TUtiRG8yei9uTFRIcWZQWEpya2p4VUVHbkpsUE5VSlczTFNnZWdFdW1tcHJH?=
 =?utf-8?B?NVd2dEN5cXFMRkY3R1M0emlRcGZrYmZMTjVvR1VKUis0RDBPTm4rQlltazVI?=
 =?utf-8?B?aTZMMkNoSUIzME9hUm5xSDNWNFV5N25UaGpDeXB2MEVFZW40NjJzSi9ZU1Nk?=
 =?utf-8?B?VWpNT0Z3U1l2OGxDckE4TVo4djRWbEFpSzRleXpWTXRBNFB0a05DMHhIYk04?=
 =?utf-8?B?ZmJUaklKTWRwK2owWjRqZisrcGE5UW00UHRWblliNEdNTEMyOVZuRmtpYWsr?=
 =?utf-8?B?ZUdBV3FVd2sxaHR5dDEyVllKRlpvS3M0U3ZxRjEybHVXWW5FSGlKM0dvaHE2?=
 =?utf-8?B?WjdKelhCblRLN1RIUkNFcnp3SU5PemZoLzFmZkxCOHA3aUVMdjdPT1dEM0JK?=
 =?utf-8?B?TDhNdkpVU21hVU9JcHBxQ2pvbldQY2RVYTdPeTBwaXliQVd5ZGZBU001d3ls?=
 =?utf-8?B?T21OQXpwSVdidVp1MVdaK0VnaDdNc0tqYzNSU0hzRmpaQUxYelhqY0Zhb2ty?=
 =?utf-8?B?WHQvWTRLeXAzRm5JWEVGTWU2TWZPOEhXbnNmRW8yVld2MlR3RHpNcStTYnJB?=
 =?utf-8?B?SzFwT0pmUmlJVHgyK1Zkc01TNUxoOEtFaGhSaktHWnZTTmRGN2o5WkIyUmdy?=
 =?utf-8?B?V0I5K3JPYjA2eEJiYlJORWxrMTIyREVyNGZLdFI1VmJOZDBxbUI3V2lZSGNK?=
 =?utf-8?B?Rm1YM2paQWE3SkNuckhCcHdvUklERUhqcHhCM1dyaXdzdzNwSE1LcWZpVi9o?=
 =?utf-8?B?bFAvREFIRmpDbUpsL0pScjIrV0pCUExUZzJLM25HK1lqODNjNTVkeS9iSjlZ?=
 =?utf-8?B?YjJkNDA0NmNSbDNjN2V5RDlCV2lpR2RxSE5QdjJCQnpQRFQwUlI4dVZZR2RR?=
 =?utf-8?B?VTJLdXVWWXZnY2FSckZQdFd2dTlYdHBZZWNiTXk4emxSTUpkd01RcFpNVXZs?=
 =?utf-8?B?bnFDcFRmQ3BPVmtwVFdicXdMaFp4WEhJakhiMGd3N2FOeW55aUptZmg5VFBp?=
 =?utf-8?B?OG5TRzBLKzRWVVErVHRmRVV6RnV1MFJxaTQ0aW5wczRRclVtcU5MTTJXWEZL?=
 =?utf-8?B?dFBseWVZeFE4SFV4N1VzWjFmczIrN2tXZjVjeHhHODByNzJRQkdFL0Nnc2NN?=
 =?utf-8?B?M2xqZk1tOEtvMDEyWFN0Z0NFRkJaUnlVLzVMeElYdmpweStPbjdaUTMrYy9I?=
 =?utf-8?B?aHFQQ2ZDRllUZWdPc05yZmVKeDBnUW5XaktkSTc4SVdlMGVaYWt4cDZ3U0k3?=
 =?utf-8?B?U3BSeXNKQ0dBUE13aHR2aUNpREhFWFdQN2pUbUhKQWpkQ24ydHVYOExJMTYv?=
 =?utf-8?B?d1pCcGdUNTJkZDdUNGRNQnhMYlZ0VXQ5eVB2eEY1MXBNZ0hmL0JDVGNkRncv?=
 =?utf-8?B?TjNpdXFLREgyOEEvcmI0K3FzV0o3VVkxdVJ0Mk0xTmY5ZWYzcXpwY0QzNVZR?=
 =?utf-8?Q?NG1NVnPIsb5/8icl1MksVuuaq?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <33B450D82E09AE4992842F4ADCE30ABB@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	j2N+tsquPXnGizMqOzNC6RutonGyLD6NgKoOKgXSFvDi5WEnd9ZUFuKj+3ISG+Jqep00JsxWUFA+5XYZqp9yXkfx7Lk7zDMcx/+aqfKAEXYg0HrYxtwMLIi4+BcwCFQ/eqpsrcsV0qskEGtjJVH4VrDInGWgqbWKqgIqzp37C/AtpTWBoLgL1tmw6rKlsf5udrkY3qWMOZ1+0CugI0wZIzMYHW0xzXXYtaJVkBuOumHjzCHzPFYO/OGulsiEf1IG0i1JcF9FjyPOinYxjdBrGGSDNDbTCFGK7342KpX601S89bvh3IOH5yNV+ArjwzeXo7lTaxUsZ02ETNg+ew+tY6i+s0rs6UdtZB5uh0UU9N+mxzo3VQlwD+kWROIJ3NtPb8zmYdA372W5cRGoloS3yrXx6PBXO44ECVlrMSwWXLj7m2oV/6qdukMPdQFmFP746p1VqSlE5jugoW8B8sYuMfM7nTHwAbdHk73RrWWHU4hlb4CWgZsOi0RFlcAXS5znlx2CZhxK88s6LwfpaOWZ1yV+pSe4sRcUS6HGohncDTHmiVn42fl62ijKUVfqQcqh4Ni4P9q5f/e9MVfIELpLqtC79mkcdYYcc7X8L6+SlAqv+Rf4/4kArHm60RnPklpaYDVpYaIeIDl5YzZy/tMZ/ykiObuq6UE7rUkKTNkZxD+OE5OiKrHFcN30VcnbHr0Z8+e4rn9dvVV62QPDNA8s4WM02AVC1g8B/I+WIGjtvPCoStAki+9SzwsqT5sKgFZQpRuVniOv4JA3ajL2DyF+jid0CSMnjKL1ErVfjms0TUUfNlzJ39ko8hIkaGL9jPJs
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6da6276f-5367-4a66-9e3b-08dad3950c7e
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 12:10:33.9090
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: l8bX5KdUVdQgSQuzmwJXpeQYVp+IAME/OKhnsRdSOmxLxghAOU0uxGQt+mV5jCQTLzV5pCo3UEjLj+F/i09QzJTpkiFh93W/BFKbtuq2QSQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB7017

T24gMDEvMTIvMjAyMiAxMToyMCwgQ2hyaXN0aWFuIExpbmRpZyB3cm90ZToNCj4NCj4+IE9uIDMw
IE5vdiAyMDIyLCBhdCAxNjo1NCwgQW5kcmV3IENvb3BlciA8QW5kcmV3LkNvb3BlcjNAY2l0cml4
LmNvbT4gd3JvdGU6DQo+Pg0KPj4gR2VuZXJhbGx5IHNwZWFraW5nLCB0aGUgZXZlbnQgY2hhbm5l
bCBsb2NhbC9yZW1vdGUgcG9ydCBpcyBmaXhlZCBmb3IgdGhlDQo+PiBsaWZldGltZSBvZiB0aGUg
YXNzb2NpYXRlZCBkb21haW4gb2JqZWN0LiAgVGhlIGV4Y2VwdGlvbiB0byB0aGlzIGlzIGENCj4+
IHNlY29uZGFyeSBYU19JTlRST0RVQ0UgKGRlZmluZWQgdG8gcmUtYmluZCB0byBhIG5ldyBldmVu
dCBjaGFubmVsKSB3aGljaCBwb2tlcw0KPj4gYXJvdW5kIGF0IHRoZSBkb21haW4gb2JqZWN0J3Mg
aW50ZXJuYWwgc3RhdGUuDQo+Pg0KPj4gV2UgbmVlZCB0byByZWZhY3RvciB0aGUgZXZ0Y2huIGhh
bmRsaW5nIHRvIHN1cHBvcnQgbGl2ZSB1cGRhdGUsIHNvIHN0YXJ0IGJ5DQo+PiBtb3ZpbmcgdGhl
IHJlbGV2YW50IG1hbmlwdWxhdGlvbiBpbnRvIERvbWFpbi4NCj4+DQo+PiBObyBwcmFjdGljYWwg
Y2hhbmdlLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29w
ZXIzQGNpdHJpeC5jb20+DQo+PiAtLS0NCj4+IENDOiBDaHJpc3RpYW4gTGluZGlnIDxjaHJpc3Rp
YW4ubGluZGlnQGNpdHJpeC5jb20+DQo+PiBDQzogRGF2aWQgU2NvdHQgPGRhdmVAcmVjb2lsLm9y
Zz4NCj4+IENDOiBFZHdpbiBUb3JvayA8ZWR2aW4udG9yb2tAY2l0cml4LmNvbT4NCj4+IENDOiBS
b2IgSG9lcyA8Um9iLkhvZXNAY2l0cml4LmNvbT4NCj4gQWNrZWQtYnk6IENocmlzdGlhbiBMaW5k
aWcgPGNocmlzdGlhbi5saW5kaWdAY2l0cml4LmNvbT4NCg0KVGhhbmtzLg0KDQo+IFRoZSBjb2Rl
IG1ha2VzIGNoYW5nZXMgYXJvdW5kIGlmLWV4cHJlc3Npb25zIGFuZCBpdCBpcyBlYXN5IHRvIGdl
dCBtaXNsZWFkIGJ5IGluZGVudGF0aW9uIHdoaWNoIHBhcnRzIGFyZSBjb3ZlcmVkIGJ5IGFuIGlm
IGFuZCB3aGljaCBhcmUgbm90IGluIHRoZSBwcmVzZW5jZSBvZiBzZXF1ZW50aWFsIGNvZGUuIEkg
d291bGQgYmUgbW9yZSBjb25maWRlbnQgYWJvdXQgdGhpcyB3aXRoIGF1dG9tYXRpYyBmb3JtYXR0
aW5nIChidXQgYWxzbyBiZWxpZXZlIHRoaXMgaXMgY29ycmVjdCkuDQoNCkkgY2FuIGtlZXAgdGhl
IGJlaW5nL2VuZCBpZiB5b3UnZCBwcmVmZXIuDQoNCkxvb2tpbmcgYXQgdGhlIGVuZCByZXN1bHQs
IGl0IHdvdWxkIGFjdHVhbGx5IHNocmluayB0aGUgcGF0Y2gsIHNvIGlzDQpwcm9iYWJseSB3b3J0
aCBkb2luZyBhbnl3YXkgZm9yIGNsYXJpdHkuwqAgVGhlIG5ldCByZXN1bHQgaXM6DQoNCmRpZmYg
LS1naXQgYS90b29scy9vY2FtbC94ZW5zdG9yZWQvcHJvY2Vzcy5tbA0KYi90b29scy9vY2FtbC94
ZW5zdG9yZWQvcHJvY2Vzcy5tbA0KaW5kZXggYjI5NzNhY2EyYTgyLi4xYzgwZTcxOThkYmUgMTAw
NjQ0DQotLS0gYS90b29scy9vY2FtbC94ZW5zdG9yZWQvcHJvY2Vzcy5tbA0KKysrIGIvdG9vbHMv
b2NhbWwveGVuc3RvcmVkL3Byb2Nlc3MubWwNCkBAIC01NjksOCArNTY5LDcgQEAgbGV0IGRvX2lu
dHJvZHVjZSBjb24gdCBkb21haW5zIGNvbnMgZGF0YSA9DQrCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGxldCBlZG9tID0gRG9tYWlucy5maW5kIGRvbWFpbnMg
ZG9taWQgaW4NCsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
aWYgKERvbWFpbi5nZXRfbWZuIGVkb20pID0gbWZuICYmDQooQ29ubmVjdGlvbnMuZmluZF9kb21h
aW4gY29ucyBkb21pZCkgIT0gY29uIHRoZW4gYmVnaW4NCsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgqIFVzZSBYU19JTlRST0RV
Q0UgZm9yIHJlY3JlYXRpbmcgdGhlDQp4ZW5idXMgZXZlbnQtY2hhbm5lbC4gKikNCi3CoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZWRv
bS5yZW1vdGVfcG9ydCA8LSByZW1vdGVfcG9ydDsNCi3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgRG9tYWluLmJpbmRfaW50ZXJkb21h
aW4gZWRvbTsNCivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgRG9tYWluLnJlYmluZF9ldnRjaG4gZWRvbSByZW1vdGVfcG9ydDsNCsKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZW5kOw0KwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlZG9tDQrCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgZWxzZSB0cnkNCg0KSSdtIGhhcHB5IHRvIGFkanVzdCBvbiBj
b21taXQuDQoNCldoZW4gSSBzdGFydGVkIHRoaXMsIEkgdHJpZWQgcmVhcnJhbmdpbmcgdGhpbmdz
IHRvIGF2b2lkIHRoZSAiaWYgZXhpc3RzDQp0aGVuIGZpbmQiIHBhdHRlcm4sIGJ1dCBxdWlja2x5
IGdvdCBpbnRvIGEgbWVzcywgdGhlbiByZWFsaXNlZCB0aGF0IHRoaXMNCmlzIChhbG1vc3QpIGEg
ZGVhZCBsb2dpYyBwYXRoLi4uIEkndmUgZ290IG5vIGlkZWEgd2h5IHRoaXMgaXMgc3VwcG9ydGVk
Ow0KbG9va2luZyB0aHJvdWdoIGhpc3RvcnksIEkgY2FuJ3QgZmluZCBhIGNhc2Ugd2hlcmUgYSBy
ZWR1bmRhbnQNClhTX0lOVFJPRFVDRSB3YXMgZXZlciB1c2VkLCBidXQgaXRzIGEgY29tbW9uIGJl
aGF2aW91ciBiZXR3ZWVuIEMgYW5kIE8NCnNvIHRoZXJlIHdhcyBjbGVhcmx5IHNvbWUgcmVhc29u
Li4uDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 12:12:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 12:12:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450672.708049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0iQj-0001hb-L4; Thu, 01 Dec 2022 12:12:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450672.708049; Thu, 01 Dec 2022 12:12:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0iQj-0001hU-IH; Thu, 01 Dec 2022 12:12:41 +0000
Received: by outflank-mailman (input) for mailman id 450672;
 Thu, 01 Dec 2022 12:12:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ywn3=37=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p0iQh-0001hO-Dp
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 12:12:39 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20622.outbound.protection.outlook.com
 [2a01:111:f400:7eab::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 90fdf1ba-7170-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 13:06:21 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by CY8PR12MB8299.namprd12.prod.outlook.com (2603:10b6:930:6c::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 12:12:32 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::62cc:47ae:a750:8f57]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::62cc:47ae:a750:8f57%4]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 12:12:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90fdf1ba-7170-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N9B4nQC5ppu4fTWE5+qEts5jqijvxj30BL7ZlOm5rHR0puINEV9C0bIt00ujqiVpyz4xocyAEgBJdxg9h+5JDvaD487WVFLk3Mmgks2SQD/TMMrxO4suhwgDziC80OXQdd5glLKIRjrvA8YmiFaEZEnM2/pp4S96shK+RuB0En2WUDQYPJWgvSAuw6gvyQEOmVSkipbA1peGvNETxKwUjfFFAySRVf+lwahEbOsEykXghED+utqMm9aNjHw77R84s3rBPTXb6dre2fHY0eDKvh3/nAhro755hKQXQw1Gm2QpfSybOLUC3OBQvs+osVKrWnFeEdgVgRPwv4vBarQ33Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JlJGf8/dwhVPeW3uIbz8qek1CDO1pQa04wEt2CH/S6Y=;
 b=QA2Ov3HCdVjUn1vkuCEdOma7qqxv+nLz6XFIRZvGDcBgQHLp+2JmXbN32TbkIHWLqFpu8HA8lAORronGBxsEZwY2g5S1htJzSHU5N4bFUR5PspOPnxwtwsAfR248DU0O7mdnNm0k5HcJ/5D+4JASC6s7tVXRSQhmiO8LTPgIsdFWFmVWWtU1Ef3ovj2AWLTbxipN03i781g0EwFC3t2iMfPzkBQn/twmMSANT7OCAw36T9EdEE1XPuxWFQbsQcdXh2sHoXAAXZV4zW7ZD9WxSWu7mhvyyayK0pkS8940liwLfsJ7HeV5YQWD5lMCa7s6h0nlJhpIv42/i/CoMtdTYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JlJGf8/dwhVPeW3uIbz8qek1CDO1pQa04wEt2CH/S6Y=;
 b=ZDm99/sBBKv0L60g+J5Uc3pLxkBfv0N/VBKthiJsAh0Gko9w+j8aL2pH8S7AyKShakFvi+qerxGagvrd9wz05wDTgqpME6s2DADFG0Y3PJMrE65ygcJ+pqCT4f5vyBs891zNqsy2vSEYQkrZnZ8e1LgVKhVHR99VD6nr+C3tY5k=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <f44a10ff-06a4-c2e9-930d-a10423026d2c@amd.com>
Date: Thu, 1 Dec 2022 12:12:25 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.4.2
Subject: Re: [XEN v1] Xen: Enable compilation when PADDR_BITS == BITS_PER_LONG
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, andrew.cooper3@citrix.com,
 george.dunlap@citrix.com, jbeulich@suse.com, bobbyeshleman@gmail.com,
 alistair.francis@wdc.com, connojdavis@gmail.com, wl@xen.org
References: <20221201100309.2385-1-ayan.kumar.halder@amd.com>
 <c89992bb-065b-e7e4-3f5f-1c70754e4635@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <c89992bb-065b-e7e4-3f5f-1c70754e4635@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0661.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:316::15) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|CY8PR12MB8299:EE_
X-MS-Office365-Filtering-Correlation-Id: a01020d0-5464-4662-119b-08dad39552f7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	B5nQktWZcj0bZoEcX1mBELTOrl2K7+NshwgCQ0hXlzXpovh+Rm34TOx/JyYDXL3XDn8gQikcrbr0ZQRHjWkCA6zssmxV4ZoasrDNtY4ARDr0FHKVEhnG2+HLbrCfyuYHgDzvm9cpaCQTQrjwSNhXPJ/QBZnZc1dGzWfcjXTDr6liGurr5qrKpyvQhiq+T0EBvzXzjbOQShrcgo8RaFN5hzXry4Pa9MZvWcCGYcw+yniXXDjz55IXKeMk4BszTZjU+nSvF0/HGNGkOLD4FCu+VL+IE8iZun2j3xQcY5dsw2vRMzp7aJmjv4u3PZmD9F9k2N/gr1S5G/EFKekagWTJf55E2qtZWjJniG7ngTo1uP7BUtEFCFab6JlrNcBaqtwi/bVplHOtyhujg2okF1Y/wu3r5CYsZvNHMxsKpbCEl9dSRumdmKyOzfTi7JT9XhO62oIsbjd+lNG6Qhq3az7o8t1VNp209+9KPJFlrfENZ8Yler+8EdMmlfWx6OyOxQ71deeBgcXTRy8DvPaR1My8MxUv45I3BJZDrvhSL22B//ldQ6uw7XJSkyeG+K7PykJKaY+YXVXHZJLUsgoaq/wOe8xMxY5fxf6QxStRu+u/GeX91q76TpA9E5I23U9bc/9Tm62mG0nDvLR2d3y+ssf5Md+QCihBM+oFSgM4o0aSkhV5DN7QST2kwGDEFDAU4qLRIDpZlZyUOp7SUf6twGiGxEKVHyuv4+BDzCfxkM1dULU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(366004)(136003)(396003)(39860400002)(346002)(451199015)(36756003)(31696002)(110136005)(6486002)(316002)(5660300002)(4326008)(8676002)(66946007)(7416002)(478600001)(41300700001)(66476007)(8936002)(66556008)(6666004)(83380400001)(38100700002)(2906002)(26005)(6512007)(53546011)(186003)(6506007)(31686004)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QlU1WTBBOHdPeGpHRndseGVFMUhpM2FITXJxRjVGRDNTc0FKYUZQVTJrNXBu?=
 =?utf-8?B?bnVYMlZ2VGp3RlFWdTVGcmkwMW8zRzFiUjVzdVZlR1FaZHBnVm92dGNIRzdw?=
 =?utf-8?B?Um9tUlpNSjNZWm5mb0VKSmFLUWFRam5GQkozcU8vUkJOeHN5dlE2YktQUU0x?=
 =?utf-8?B?TWJidjd5d1FRRmI1VDZkVE5kdEgzU05UY3c4QlJxYkV6Vm0wa2M5R3ovbG05?=
 =?utf-8?B?dDJFeXhNdmp2VjRJbmpnWFlzWGFWWG1CdTFTU1dYQUJhRjFiUi9GQnkrOHIr?=
 =?utf-8?B?bWhLZjdPUEZUeTdRaS83cEtuNm9xWjNrZi9UZlR5VnRsS2NOZWdXajRjM1h5?=
 =?utf-8?B?MVdiL1h2ZnNGMjF4YlN6OUJMQyttV01Ba0M5SW9BaFZUbjM2MlRIWGVaQWlF?=
 =?utf-8?B?bi80WFF5Y0tUTDlwSnpLUExOOW5YK1RBT3Y2Q3dKS3BCbjE0L3JLaXNBTlZn?=
 =?utf-8?B?ZDArLzRybFUxb1BKTW5qalpYQ2I5L3Y5NW1idXVZbTdML2gzUEhMcE9Relht?=
 =?utf-8?B?TmtseDJ1enMxVlAzT2NhZEVGSkFVMStFRWVMcXBzUVNmUnJmaHlOdWRhZ0lu?=
 =?utf-8?B?eVlwVnNzSlUvSUs5ckZKZUpyaFZmUWpsOUg3Z2c4NXFIcnN1N25vTjQ4TnVB?=
 =?utf-8?B?elBzZVM4MWZrOTByMjV5eUFHMS82SnZWdS81cWx0d0tGaTV2MTE1c1R3aUor?=
 =?utf-8?B?b29yUWRyenQ2aEdrb3NneW0xdzJDTmRsYy9GMmdmempiUy8zWGdEWG9mKzRR?=
 =?utf-8?B?RWlGSXJxOVdOLzNxVGpGWksyZStkbzIyL3VVVTJaeWltL25BMCtuWDVQbG9i?=
 =?utf-8?B?cWN1Zkg3bExScWxoYXBjdzFjVDJlTUpGRWY1dlpvck9qSUJ2Y2pPdUlmcUZL?=
 =?utf-8?B?MG96ME9ma1ZjOWlpRWNqM1IzazRpUVdzZERBVmtwQi9wWUR2TE41aUt3RzZC?=
 =?utf-8?B?SlBwYUd0dXpPeWlla2l5K3FOeFZnU0xFd0YxWGg0cklZbGJ5MmtzY3NKUGpx?=
 =?utf-8?B?M2F0cHhRRVhIcndKU01QZFV0UENTWHNIa0FwQXh5cGo5RTIxaHIxUHl4ZU1O?=
 =?utf-8?B?ajR6VW95U3BKQWl0SnVIcTNLVnVSRFk2R1JQTUYxUzVYdFlZYW1KVFMxdzhD?=
 =?utf-8?B?ZzFWQmtQSWlGK05vR1lTYWFLUmdoMVBEMWdmSi9QbVgxNlR1czFudzhHMG9O?=
 =?utf-8?B?aWc4cEFKYStDSlg2UjJ6QXhITFZYREo3QkZlaWNySEV5QWxpcWM0RWxybVhp?=
 =?utf-8?B?VDJyQzFjcXFqUnNUOTBZcFUzZGV6OTU0NUFnMCtzTzJKMzlBNnhMYUZ0Qm91?=
 =?utf-8?B?RWhNY1MwSVRGTDN1ZU1yRmtEejhvT2hlS09GcStvdEFyeWlDZ3RKZGE4dlVH?=
 =?utf-8?B?RTB4QnhEN0dqMmZXVk5QYU5Pbm1ERkREbnQ3VythcVhCR0FBR1JCTEUxc3dr?=
 =?utf-8?B?MVJ1NWdsdUhUREF6VXQrbXh0RDVCNUdCaXJCaFRXTTlPK0dxWXVtR044TldR?=
 =?utf-8?B?NzhhdlQ0dUFjSWFJOFpqTGpINEFjTHZyM1RlRExFWWJHTXNXRDRSWjhRQjBh?=
 =?utf-8?B?T0pNZCtFTWtKdGMxQVk4dEFqM2MxSmphaUVNY2VoSFlEMEljNnRSd1l4UTVX?=
 =?utf-8?B?SUtFS3pvOWdEZ0gwaFd4UUVtNmlsdzZEeE9QL281WXI0Si9rd1pZL0dPUnEy?=
 =?utf-8?B?aDlBQ1Y0OXVOTFNqQUhFdC9wRjdYY3RsbmQ2TVZIeU8rQUlJQWQ4d3M5RXJs?=
 =?utf-8?B?bVVYbTFTemZvbFdvalRiR05IVlBScWJ6WVJHNThkcE1Ud0RXenlvcnF4UmhQ?=
 =?utf-8?B?QTFpdzBmMWxDb3VweVZNa3hPcnBzUlRWNFkySG52YTJDOXBsY3ZqY3NUUG5o?=
 =?utf-8?B?MTZ4WUlqcWdGMXdDZWNhczUrUmpjeUxzWTQxbmN2bWtJd0Z5cUVMeDBnb29F?=
 =?utf-8?B?YTExOXp2V3IxWXRGNVdHNUVHT0hIZE1ZRnhzbWJBUUtaeFBLeUZrRUJuNFZy?=
 =?utf-8?B?SThQT2E3MVZQTnR6cmZ5RHc1WlRVYzN2Yitqa1cwTjZoYkFWK2Rxbm9xOTVx?=
 =?utf-8?B?ZGl6STdxWTBiS2R1Ync5RVVJTllheDZmSHFRcGt3bU9TUDBKUVZrenJDcVlZ?=
 =?utf-8?Q?7UnBxHqRdE3wOmM3vTXfYdsE7?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a01020d0-5464-4662-119b-08dad39552f7
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 12:12:32.4201
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZrbeeUUpLbjwgGOOkZPRAxNuha5DZL6Qjiz/+5DTwvJor+ouIspUcLtPQoS0MLQGoOcnM05Frr1s75nANdeBGw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8299


On 01/12/2022 10:26, Julien Grall wrote:
> Hi Ayan,

Hi Julien,

I have a question.

>
> On 01/12/2022 10:03, Ayan Kumar Halder wrote:
>> It is possible for a pointer to represent physical memory of the same 
>> size.
>> In other words, a 32 bit pointer can represent 32 bit addressable 
>> physical
>> memory.
>> Thus, issue a compilation failure only when the count of physical 
>> address bits
>> is greater than BITS_PER_LONG (ie count of bits in void*).
>
> I am having difficult to understand how this description is related to 
> the BUILD_BUG_ON(). AFAIU, it is used to check that xenheap_bits can 
> be used in shift.
>
> If the unsigned long is 32-bit, then a shift of 32 could be undefined. 
> Looking at the current use, the shift are used with "xenheap_bits - 
> PAGE_SHIFT". So as long as PAGE_SHIFT is not 0, you would be fine.
Ack
>
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>>
>> Currently this change will not have any impact on the existing 
>> architectures.
>> The following table illustrates PADDR_BITS vs BITS_PER_LONG of 
>> different archs
>>
>> ------------------------------------------------
>> | Arch      |   PADDR_BITS    |   BITS_PER_LONG |
>> ------------------------------------------------
>> | Arm_64    |   48            |   64            |
>> | Arm_32    |   40            |   32            |
>> | RISCV_64  |   Don't know    |   64            |
>> | x86       |   52            |   64            |
>> -------------------------------------------------
>
> The Arm_32 line is a bit confusing because one would wonder why we 
> haven't seen this issue yet. So I think you want to clarify that the 
> code path is not used by Arm32.

Do you want this clarification and the above/below explanation to be a 
part of the commit message ?

I will then send out a v2 with the fix.

- Ayan

>
>>
>> However, this will change when we introduce a platform (For eg 
>> Cortex-R52) which
>> supports 32 bit physical address and BITS_PER_LONG.
>> Thus, I have introduced this change as I don't see it causing a 
>> regression on
>> any of the supported platforms.
>>
>>   xen/common/page_alloc.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
>> index 62afb07bc6..cd390a0956 100644
>> --- a/xen/common/page_alloc.c
>> +++ b/xen/common/page_alloc.c
>> @@ -2245,7 +2245,7 @@ void __init xenheap_max_mfn(unsigned long mfn)
>>   {
>>       ASSERT(!first_node_initialised);
>>       ASSERT(!xenheap_bits);
>> -    BUILD_BUG_ON(PADDR_BITS >= BITS_PER_LONG);
>> +    BUILD_BUG_ON(PADDR_BITS > BITS_PER_LONG);
>
> Based on the above, I think this wants to be "(PADDR_BITS - 
> PAGE_SHIFT) >= BITS_PER_LONG)".
Ack
>
>>       xenheap_bits = min(flsl(mfn + 1) - 1 + PAGE_SHIFT, PADDR_BITS);
>>       printk(XENLOG_INFO "Xen heap: %u bits\n", xenheap_bits);
>>   }
>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 13:02:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 13:02:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450679.708060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jCM-00006x-9C; Thu, 01 Dec 2022 13:01:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450679.708060; Thu, 01 Dec 2022 13:01:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jCM-00006l-5n; Thu, 01 Dec 2022 13:01:54 +0000
Received: by outflank-mailman (input) for mailman id 450679;
 Thu, 01 Dec 2022 12:29:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NPEi=37=suse.com=ONeukum@srs-se1.protection.inumbo.net>)
 id 1p0igX-0003bz-6J
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 12:29:01 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id daba82eb-7172-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 13:22:43 +0100 (CET)
Received: from VI1PR04MB7104.eurprd04.prod.outlook.com (2603:10a6:800:126::9)
 by AM9PR04MB8455.eurprd04.prod.outlook.com (2603:10a6:20b:414::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Thu, 1 Dec
 2022 12:28:56 +0000
Received: from VI1PR04MB7104.eurprd04.prod.outlook.com
 ([fe80::ae59:a542:9cbc:5b3]) by VI1PR04MB7104.eurprd04.prod.outlook.com
 ([fe80::ae59:a542:9cbc:5b3%7]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 12:28:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: daba82eb-7172-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lMUZOpW+08Pr4puRhRggg9VrJtaXw2+UQxlztPvMJw4esFd6ZnjQJZqtO/J118VALfhxAAiwjtMxq5evUZk6VHGixdJOE40/Qk2uC7gH5CuExCmrcbYL3vP+SUOXkiY7+mWDQ7YnAwPo977PpGqpB6qyrap/psnE2fKk+eWp5Y40rIbk7odz3MrINbmBMwWqQEERpppFrEuKfEfWqGRRwUSTMKfXylH/e8rtJn2L0ImjWv/clP2qmvrXwdWJTyLxsCeu4HSOw760JM4GktV1B5pV2toMmuPGPD5K6If4fzuENn4282JMRaWAy+xdpiEbqC1ODnYWaCkP1WTkUa2Ifg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kbPn24pTxFwoaROkJViyJRGM1iepzDiLGCKo3Kahd6I=;
 b=DLZC45v+Md9T0/1zuhu7SidMtxE9cV4UifK8Gk60QTirxWkM5bWuMIyF2reZ44X/O7iVacLAjhZ9LVM90YiwVwiOlc9GVxWfLputafoitNBJMMmWyx3AacmkatLs79El/TtmTx/iP2v0O9XNuFilGMGgdEg8nLkbEkP5vDKsA/H90G6BsgO8ytLgIq1oG5hNz1GYK/3OUe74SXFc8F3CBqqxSFUuvNw2nZaDXmZflCzDZJIqsQ5N2HlFCm5NXdlKfUG7T1j8iu9NeWOVq08JsUsOKpn4IrFaDLqIHgukuLnU+B2z//oNoHA4kHO3myy5mBGi7PpFKx76WA0S26AHlw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kbPn24pTxFwoaROkJViyJRGM1iepzDiLGCKo3Kahd6I=;
 b=i5HTMCKQRLoAOCdnQMR+32SxyS9ve6LOjsF3ZUbHCPWLPvgZokA7OuSHlhKgt5tuF/sDjpJN99oScj9QJWVwMab3GTMoIMD8YH4xIxBWKkr1WY8YtSY5Ui2WqFQBL6f44Dy7v8oQTQljVvkT9HVNfuf8SFu7XZkABG3oCutf3Caj5F3Ud/eVxP8aNI+KTh4ZYtAmxt+B3tO/qcIbyuGKKJYUOU8c311VOssEnq8OquLydHLe61Ntk94fB3ZzJa1ypWH9WNPRkOOPPVUPnPi64VluDsxt5NpqLAQdDtgqZJkr0ltT26n5MydSrCSde4l8hpLraT5Pj1wzOhDjNTNFEw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <716e5175-7a44-7ae8-b6bb-10d9807552e6@suse.com>
Date: Thu, 1 Dec 2022 13:28:50 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.2.2
Subject: Re: [PATCH v8 3/3] ASoC: SOF: Fix deadlock when shutdown a frozen
 userspace
To: Ricardo Ribalda <ribalda@chromium.org>, Juergen Gross <jgross@suse.com>,
 Mark Brown <broonie@kernel.org>, Chromeos Kdump <chromeos-kdump@google.com>,
 Daniel Baluta <daniel.baluta@nxp.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Len Brown <len.brown@intel.com>, Ard Biesheuvel <ardb@kernel.org>,
 Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Nicholas Piggin <npiggin@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>,
 Eric Biederman <ebiederm@xmission.com>,
 Dave Hansen <dave.hansen@linux.intel.com>, Jaroslav Kysela <perex@perex.cz>,
 Joel Fernandes <joel@joelfernandes.org>, Liam Girdwood
 <lgirdwood@gmail.com>, Peter Ujfalusi <peter.ujfalusi@linux.intel.com>,
 Pavel Machek <pavel@ucw.cz>,
 Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
 Kai Vehmanen <kai.vehmanen@linux.intel.com>,
 Steven Rostedt <rostedt@goodmis.org>, "K. Y. Srinivasan"
 <kys@microsoft.com>, Ingo Molnar <mingo@redhat.com>,
 Bjorn Helgaas <bhelgaas@google.com>, Dexuan Cui <decui@microsoft.com>,
 Takashi Iwai <tiwai@suse.com>, "H. Peter Anvin" <hpa@zytor.com>,
 Bard Liao <yung-chuan.liao@linux.intel.com>,
 Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>,
 x86@kernel.org
Cc: kexec@lists.infradead.org, alsa-devel@alsa-project.org,
 stable@vger.kernel.org, sound-open-firmware@alsa-project.org,
 linuxppc-dev@lists.ozlabs.org, linux-hyperv@vger.kernel.org,
 linux-pci@vger.kernel.org, linux-pm@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org,
 xen-devel@lists.xenproject.org
References: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org>
 <20221127-snd-freeze-v8-3-3bc02d09f2ce@chromium.org>
Content-Language: en-US
From: Oliver Neukum <oneukum@suse.com>
In-Reply-To: <20221127-snd-freeze-v8-3-3bc02d09f2ce@chromium.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0014.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::7) To VI1PR04MB7104.eurprd04.prod.outlook.com
 (2603:10a6:800:126::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB7104:EE_|AM9PR04MB8455:EE_
X-MS-Office365-Filtering-Correlation-Id: 29c366d0-5774-4a3b-97b7-08dad3979d37
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zVbWyMn4/DuS8MYtN3KTtDv4rUlNzeen87tWNvTVUVcr5esyw72ceS4hYCqUUB400bUO4vwZ5DyHr3ybZCgmkm47mTdTNRdiDGypM3Laj/sgHa5NlcC5WHJy6NAtBPgj9cRxjludZUjzXD8qhN3vuKt2/+lAP/ucCeXOLvV8o0SE/k6VT41+/KjKkbWqevbg7U16v4lDFfRGO7/Adb5A1iTXPZurSBfMPOV9b51tdoW9zg3sMbxxBXQffwvSyMVB/nUwhkboS4gwCUuoP1wwQp0byiryMb3TTLTIPHVacO1B/Dpj4uA54Z2sZ6BlVvuYFQYXWNbC6vGX5GSd4/dsj0EVoASvq23HLJZwKwn/QdMz9hHRZS+FyhpUao1l1IPpuA2r6HjA86Noxe85XM9a+wWpsdP6t7K6uQQ+JP47J/9b+TumDx9gs2ATXYpwAombbO6p9sGW5WDiZTEMmwndFW1PPsrdc43IeuW2/cjt+WsdcUmpT0M8n+NagenZCc9Tap0gv0w1vx6fT7j6JDVCroeM5ZjBLHwrfd6y296yRDesM/SNvT+pB7gwv2XhoeCaNPndrLKJKKS99tkz3Y0vOPP6vAUmR5zRAeKlkvA/w86QBRVY+Oo+NJm932Vbeu/A351RnLCj0bauS4g+rIj4qNSX8xUaGNshS82fPYKFEE0g2Jr16m16VXeeRiKFPLHqqvBXYhDZ/ZQ7JlUhMgOag+fJCW4QcELjQqnH7JTqwzc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB7104.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(396003)(136003)(39860400002)(346002)(366004)(451199015)(7406005)(4744005)(921005)(36756003)(66556008)(7416002)(66946007)(6666004)(110136005)(38100700002)(5660300002)(6512007)(316002)(186003)(31696002)(41300700001)(6506007)(8936002)(66476007)(2616005)(8676002)(4326008)(6486002)(478600001)(2906002)(31686004)(86362001)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OVlrZ1ptbTI2dlFISXNpbEFvdjZKM0E0K29tTytkNlJuNGN5R1pRSWR5aEIv?=
 =?utf-8?B?TnNOODBhaWVpbGlUUzZzMm0rQ2wzM0dacjlWcFdISVhQUEREL0xhQTNReCtD?=
 =?utf-8?B?MlhnNEUyckVMZElXa3lRc0xWN0JpQmU2QUlZYmRCYXZZRFJCd0hyeDdZb3BC?=
 =?utf-8?B?eFdiUzhZQm94blZ0NHBFOFlibzVITlM2RmpFWDBMUFRydkxOcy9NUXloR0E2?=
 =?utf-8?B?a2srNSt0T2pPK09uNGhFT2lmZ21HcXFua01jeTJhNjZJcnArYS9HZWVmWGNm?=
 =?utf-8?B?M29XT3ZpMmh1MUJ4clIxaEp0SWZpODJ2VjBMc1dyak9GSjV4Wk1meE1WL2N1?=
 =?utf-8?B?b3dSZ2NnVWpHUVYySEI3MUFKMkRGVUlZSUgrREdIM2FCejh2dUt0eWZLN2ZZ?=
 =?utf-8?B?Rk9keUdqNDVzZUxIRUJwQ1R1c2cwMFVhK3l2blpvRXkxbEFMUThqUEx1UUp2?=
 =?utf-8?B?QXBFNys3LzFNb0JLZlRWaU1UWlBiK2RQMUZUSVAxV1dzekt5eWtpTmY1WWx4?=
 =?utf-8?B?R2NnUndyL3ZJSDNnZ3lKUFB4ck5ENkhqNkRqRjFnR29HOGJKVWlhUHFqbDk2?=
 =?utf-8?B?M2toWmtnUnZWNkNTMnk4MHNMTHhXSkJEcC91cEdYcVh3aU1YQ1l5SFpjWXE3?=
 =?utf-8?B?cmRGd09NRk1jdExtNngzUW5lOW9zbEp3V09aMWRMbExXRmdVeERMWUJCa1JZ?=
 =?utf-8?B?WE94SXZOMkxIUW9GL25STlZ4Ymxrd3o0aWFPeWFGVU8zMUtER1RPeVZhOFBT?=
 =?utf-8?B?aE5mSllnaVFjS2ZVS0UyYmFGMkZvelh5cWJHYWc4Zko2aUdEUkVsZEZYTk1K?=
 =?utf-8?B?cit2WGRINzVXRHJMR2xrdG13QWpWTUFVbG9Lem9Ld0xZbStZblJ6MHYxNnZ4?=
 =?utf-8?B?YW9idUwwdlViZzQ0NzBHN2h5QTYyaUd3eGxNTElYUXVIV255NVVmbDk3Qllr?=
 =?utf-8?B?ZXJPeVA2Ukdib0ZhUjhGaE0zWjVTSmNnK0svVmRSNWMvUGJMdUJjZU5TWlVs?=
 =?utf-8?B?SHVRTG84VjB3djl4UmRhcWdnR1BWMmt2REcrdVBWSnZnbFUxZTJPM1lPOGxm?=
 =?utf-8?B?Q0NpN1JJQUJvNzBQakoxZ0lWZVYySXlhcjZMeEcrYjRhanZQdDcvUUxtWFN6?=
 =?utf-8?B?WFVVWTdJeUFmcGFsSW1nWXgvc2MvekdOSGlVaTRmQ0JFUHcvSDZxRk1KMElZ?=
 =?utf-8?B?VkUwcjFnRGlTSUF3R2p3REhTRnhNZkpWVTNqdGxQU2xjdnBkMFVnTnpBTmgv?=
 =?utf-8?B?a1RCUGRudjdpeCtFUGxjMU5PL0puajdlMEkyaXYzTjZ0c1ArbytBdmgxK3dS?=
 =?utf-8?B?TnpoUmUwTUhieVNtOG52Y1ZyaStjMGZheVFlbHlObnZIODJjTnNZTEQ5TURE?=
 =?utf-8?B?V09TMWcxa29FbERBaVQzRlZRelAvWDNxMlllbHQwcUNqYU41NkpnN2Y4ZTVQ?=
 =?utf-8?B?aGt6NUhkMmlCN0NhcXUvc2VZTTY4T3BjL3FBclBhV0FxVHhOeW94Y3JhMnRK?=
 =?utf-8?B?SmxTN1RFSVdIY2RQdkdrSGpLa2xNaEZ5bmRGYjIvOVBmOVEwaTJkNWVmaEM2?=
 =?utf-8?B?bVhEZVZEd0JmeDVvb2EzTlRMM0hFbFNTZVNhcDVtVU5aQlhLaGJtcXVPOXpW?=
 =?utf-8?B?YzJ6TS9HaTI2WUtvTzErd3J6dEp5d0pJa1RTeCtEN2dkMXZOc2VLTWFkNVZy?=
 =?utf-8?B?Z2NPdXZnTzJHMXNDcFBlOGdZZDhaL0VnTG9qUVpLZDFyaGZBOUpURnd0UXgy?=
 =?utf-8?B?dU9QWGcxdVVZaXYybnphazN4L1dKUHBScjFGZEliRGo5UGpuYWF2bVhBazZY?=
 =?utf-8?B?VGpjVVNXY1VPZEp3L0gvRnRjMUdTTGtCL1FiblhlbXFYbTI5cVhLMWRIUEpm?=
 =?utf-8?B?Tk0xa3FNRkt2aDFUVUZ2cWJiWVB5WkZDVWhVbm10Q2twY2prd3ZWZlo5V1Bi?=
 =?utf-8?B?WG1ZSFFXK01aR1R3Yk1EZHhLZlEzNzQ0dXJqakpMMFRNOEVaRUtqRFVYVlYv?=
 =?utf-8?B?bmNlOVVQQjllT1RvblhMbjVIOWtBRS81VU1hcTlncmZmc0QydFBHNTRLLzhS?=
 =?utf-8?B?T21RMmZOK1pWM3QveldCWW90ZWUrbU9ScDYwRFVqRVl4U0lORUEyaDRvcDB4?=
 =?utf-8?B?NGp6QkpjYTRNR0piSnRPU1dZZEpDMzROWjNMdmYwenZ3UnhjbG84bVVoSU8x?=
 =?utf-8?Q?JFcao0VCb3jYRTJVFTLNZGmc5RBKCYEQxjcQNk2JFBOc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 29c366d0-5774-4a3b-97b7-08dad3979d37
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB7104.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 12:28:56.0173
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sy2UDu5ykQolAf69IiRIuk8PvYqQdxYUYZRj7WM4ObYqmqhC0KI8te3qkmjREbzF6vXnR7/FSIW5WTl3+D0Vxw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8455

On 01.12.22 12:08, Ricardo Ribalda wrote:
> If we are shutting down due to kexec and the userspace is frozen, the
> system will stall forever waiting for userspace to complete.
> 
> Do not wait for the clients to complete in that case.

Hi,

I am afraid I have to state that this approach is bad in every case,
not just this corner case. It basically means that user space can stall
the kernel for an arbitrary amount of time. And we cannot have that.

	Regards
		Oliver



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 13:10:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 13:10:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450686.708071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jL3-0001wR-5E; Thu, 01 Dec 2022 13:10:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450686.708071; Thu, 01 Dec 2022 13:10:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jL3-0001wK-2C; Thu, 01 Dec 2022 13:10:53 +0000
Received: by outflank-mailman (input) for mailman id 450686;
 Thu, 01 Dec 2022 13:10:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+/wf=37=citrix.com=prvs=32775c42f=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p0jL2-0001wE-4P
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 13:10:52 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 92589a42-7179-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 14:10:50 +0100 (CET)
Received: from mail-dm6nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 08:10:40 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 DM6PR03MB4938.namprd03.prod.outlook.com (2603:10b6:5:1ec::11) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.8; Thu, 1 Dec 2022 13:10:38 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 13:10:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 92589a42-7179-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669900250;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Ri35gFLH64/DJqlkLkwPshonJVofaLWrbJ5axIhY+kI=;
  b=VAKewshnkB8t0QdpluEqnd4YE8xm8vG8eZ8imkQC/iDGa6Ci3q4topcK
   xaFouvbr72sP4OvjiBeiFoZfnlED9oYPIUwDEkdI0ALCkXVH8ar8ZdkT8
   M1FM3OaLjYuzo8Ai/QSd4S1olT7fFD8xoq46j/UXNUvcjp3EMfIVGyU0W
   4=;
X-IronPort-RemoteIP: 104.47.57.176
X-IronPort-MID: 85608333
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:A8r1vK6SyKn1hoD9V2B1/AxRtCbGchMFZxGqfqrLsTDasY5as4F+v
 jFMXDjXPamKMWqkKI9wb4TgphgHvZ6ByYNiGwBuqnxmHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoT5QeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5my
 L8yFG8jfja4t8Xs76KRSONSgfskI5y+VG8fkikIITDxK98DGMmGb4CUoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Ok0ooj+aF3Nn9I7RmQe1enlyZv
 X7H9mK/BhAcON2Q4TGE7mitlqnEmiaTtIc6RODmrq4x2wb7Kmo7Fj40b3ugjd6FtlOfepF8O
 3M48TI3hP1nnKCsZpynN/Gim1aUsxhZV9dOHukS7ACW1rGS8wufHnIDTDNKdJohrsBebTAjy
 FKhhd7iAj1r9rqPRhqgGqy8qDqzPW0ZKDEEbCpdFA8duYC8/sc0kw7FSctlHOitlNrpFDrsw
 jeM6i8jm7EUis1N3KK+lbzavw+RSlHyZlZdzm3qsqiNtGuVuKbNi1SU1GXm
IronPort-HdrOrdr: A9a23:KQuwva/Zh1fU0mvT3vNuk+Gddb1zdoMgy1knxilNoH1uA7mlfq
 WV95omPHDP6Ar5J0tQ5exoVJPgfZq+z+8H3WBuB8bBYOCOggLBRr2KhrGSoAEIdReOk9K03s
 9bAtdD4LWbNzRHZa2R2maF+xlL+rS62ZHtvMOb60pECThtbaQI1XYKNu5YeHcGOjWvwfACZe
 qhDg8snUvQRZ1tVLXeOlA1G9LbosHNltbPeAduPW9f1CC+yQmw7aL8EVyywhcaXlp0sMof2F
 mAqRX9+qKg99ayzhO07R61071m3OH5z8dFBoirlM8YMVzX+2CVTbUkYaSGoDc25NuOxT8R4a
 HxiiZlBd1393TSOlu4ugTgwC7p1DpG0Q6Y9XaoxUH7pND/RnYEB9FahYRfGyGpkXYdgA==
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="85608333"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ktYyHbTU18SpTLDnQrNzJNbMHcISoSoAloZsulhXmGo1LhZ8unmYUdhS7uqk1wL2EnE3YycgVPIRFL7NPIsP00Ev96tpciy3U4BFlTweWrm4EZ6aYQtOT6LTcAySGF45I44Jv0t53cRrc4QJrtMpuD+iso4Ho98WIjh79MkMZDLY09TQJacnSkicja8nZvJVvKiQNqmitEAkNbhy9BlKqozOwwKK36q3/xnRfC41We6uOH+QuuGF64750bGkxSS7yI6f4x0vBtA3zOD61Y3WSxbkjf4xMJL3/L54KqaHZUXzlfixc5Y+TQnpC5fIDNyhpgcrMJRuTS/QWNV1YUk1nw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ri35gFLH64/DJqlkLkwPshonJVofaLWrbJ5axIhY+kI=;
 b=kyinFHGTqNwMVPLrsMvp8HqJIMYOT1+3qL08Y9lu/QugpNlcupXHF8PlY53VGuT89Osx1K5KGYFidQaO8gtCa2s+49dxZVjTV9li9kh0fyKayV+cqctAGZExosU/+rQ745zDQFxvqbgbSBBxvGmTePsgUfrhWDXaM1tsjjh5rcUZkXgt0K3x7zjVingnRTc42Necva3YQqxJH7R7JxDcoA1QNpyJkUm7xpIGDPJAcL1zY2vZ5pjjESlLUcdR3SJqgeu1ECRNTekOi163xZr2nn8cg6nmKw1eWZOJRJOELt4JqFYHCLJ/ZiEiyePVoTPkC0ym1/N432gPerDRMarZlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ri35gFLH64/DJqlkLkwPshonJVofaLWrbJ5axIhY+kI=;
 b=nGD1iqdPxS1ovfw2VIZT5r3JVB2m3XpM1d7F9I+6TDPRAUGFPp5Rrp9xI1Liw1efi9t7CSoaqLB3hrYAzgqQRCD5D8Mtqwc6o9602aiOadVMmnUJ0OYrWKbNAM+O9edZ2vzL7Vq9YvZUWB2pSjBlakQLl54KF+Ph0DqoDB/GSVY=
From: Christian Lindig <christian.lindig@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Edwin Torok <edvin.torok@citrix.com>, Rob Hoes <Rob.Hoes@citrix.com>
Subject: Re: [PATCH v2 4/6] tools/oxenstored: Implement Domain.rebind_evtchn
Thread-Topic: [PATCH v2 4/6] tools/oxenstored: Implement Domain.rebind_evtchn
Thread-Index: AQHZBNyCM7ZphV/4jEuRLBRtweaKfa5Y5D8AgAAN2oCAABDJgA==
Date: Thu, 1 Dec 2022 13:10:38 +0000
Message-ID: <1ACBBE83-1A55-477A-BAF9-63B4C8A0D4D4@citrix.com>
References: <20221130165455.31125-1-andrew.cooper3@citrix.com>
 <20221130165455.31125-5-andrew.cooper3@citrix.com>
 <27ED9DA5-D63E-4F49-824A-74AD7149DA5C@citrix.com>
 <6c667e15-8a6c-753b-923d-fb5ea7839cc3@citrix.com>
In-Reply-To: <6c667e15-8a6c-753b-923d-fb5ea7839cc3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|DM6PR03MB4938:EE_
x-ms-office365-filtering-correlation-id: db89c026-046a-4332-37d5-08dad39d710e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 0NiuQb5OLZ4d+V80fr8mItr/qdMXdTJz/mdXLL5DNOhqcKfAEVJmF4jqd8Dq4jukbtnQ99XsejSd448voZ7zZLecql3MFHg0bjOZoPafi+12i0erF8uDjhdE01FWFY/tn8s7xBLQEB+jhFJssQ+NOTuK2AH3cbTmLAehCqA8TmAkfG4elPeIVJboIIsYqQtYODFGAI9HJV1n/oi73LjaKCu5e5T7PrrudPXjCCkz4pGtDgjrswHZg1lmXJCTaNghAsYUdgJEJZuvIKg8hg9sMHEA2iK/5FhXwETa2lGQGnSxyrvkNncEv9qtjOwCTk0rtpJx24a6mmCjn0N1n8IwxFVHHnb7pSzRgtkhiJGb4gkqw5sXseMuOqEt8Cr4OSwNQKd4IvKGvNnd3pusxkJKWJIyJQPGR0TaNO6TNEBSv+K3nPOpRZBgD7Ngjuo34SxQKO88h8uintxg+ALgkhMBXx/GdAOYjH/JCDIAxs1waXco6bNzouVmhsbJk47wX1by+klJYYmmRHOOscHtq6B/WUevZbLP49qxQV8plqSdjL1+tR38TM7jyMyPzxp33VpX8nuwTnkY7Q6bMff+iEWofxeb98NtzKYJAoiXYo48lKqUPJ6AuR4mYxVAl7TJDwCQ4a/GuWrMUxhIpty4SuOm/gOMCJEf5hK3tNgm8MwKzDuEFG6JPFAFugXa7LgAVT7oZ0w1yOagZyUa51imWHBFWunwoK33c5tTmHWID10o9r8=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(136003)(396003)(376002)(346002)(39860400002)(451199015)(86362001)(36756003)(33656002)(2616005)(76116006)(91956017)(186003)(41300700001)(66946007)(66556008)(8676002)(66476007)(44832011)(4744005)(66446008)(64756008)(4326008)(5660300002)(71200400001)(107886003)(6506007)(316002)(6486002)(478600001)(6636002)(37006003)(6512007)(26005)(53546011)(38070700005)(54906003)(82960400001)(38100700002)(122000001)(6862004)(8936002)(2906002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dUxESlRuQlpNdERNblhDTmU2aTFZR3VrTXI5cE1YOFJpMWtaOWMxMi9Rc1NB?=
 =?utf-8?B?WEpQdnFaa0xQNS9QbXVqNE5URE1FbisyWldFM3pPeGtvQktFMnlHKy9nVHBm?=
 =?utf-8?B?S2E5RVJKVDNQY0twR0xETHVCWG9HUTZNcHpJUlJLc09kdkdlNnFhZnFlRXNW?=
 =?utf-8?B?cUQ4ckErZXhzeUtvMmJ6SHd5a0l3VFpaY2lwMDhzWTg0RmQ2WjVnY3BTeHpE?=
 =?utf-8?B?SktKRVZqcjFHVXZ6YU5RUzFZNnIyU0ZSeWN5U3VaN2pPeTQwbjk4MVU2T3RF?=
 =?utf-8?B?c1B6aEs1WC90M2J1bUhaOWt3VVViM1pGY3ZkQ3hNdExHdkFTZVptNDRLQnVU?=
 =?utf-8?B?QTlxSkQ1T0psUnk3UkpMRHVCUnpGeHoxbmJGeDZWR1YrMnZuVG1Wd2NvditW?=
 =?utf-8?B?b2VUREV2d2o4Q2hyWVV4MHBaUXQxL3JjT3lma3NuWUFpeGxuODZ4Q2graDFx?=
 =?utf-8?B?M2ZSaDBRL1dPT05jRUgrcWY2WUp1enNuWHR1NUl4NGFhTElJb2xndVF0TUpB?=
 =?utf-8?B?SXFqSThEenlONmVJZDhZSGY5MkVwODI2MitneElPeUVyYkpDWXNxaDJnRURD?=
 =?utf-8?B?anNXWEdURFB5MnRUc1ZvUFhrd0ViZktxZTBMZElxY0VwSXQ0N0lKU3llMm5y?=
 =?utf-8?B?M3AwYWxTaXZtdVJLb3UyTEJrQkw5dUhDWmRpQkZRQlpxZ1MxNFNmd1M3QmJO?=
 =?utf-8?B?aGQ2MTRLdktJWTY2cDlNdHlqbFZ0SVg0OTFYcXB1UWgra2R3Vk9qUnozd0Jo?=
 =?utf-8?B?YXNYOHByTzJDUDlZM2dsSi9sc3VuU29yOGIwbURMNitHbms1Nzl2MWUwTjh0?=
 =?utf-8?B?b3duNTN2V3Fic3RYaWsxZklaYm13SityS3c1YnF2QmJIRFFUSTF6bjR2U3pC?=
 =?utf-8?B?VzV6ZUFXVzdyUWNNS1JEQVpsUU03TFVQYzg2MmZ3ZklJVklOVXlGeUNnUHJW?=
 =?utf-8?B?SnRkemNHbG9FNXBjQ1FTbkttNE8wS0Nvczk5Rmp3bEM2Zk9EbFBLbDVIMkU3?=
 =?utf-8?B?clBYUTZDUkpFKzdXY1dRN3Z1a3ZKSkUzbUpLcUJvS29GTjl6K1dhNldVM0Nk?=
 =?utf-8?B?c2M0L1QvZ0IvUEVrWHdEZSt5Skt3bENJV0thMGZpUWhYQW8zLy9KeURNdlF0?=
 =?utf-8?B?aC9Tb0hWYnpGc253MnY4TW5kczNuY2ZOZjVmbkhyUG1UWSsrWkxuN0lpYS9M?=
 =?utf-8?B?aWdxNFpKaHoveDF5SjJabGxUK3ZsdlNVWEoyYUFHcDg1S0U0aG1zdEQwMnpE?=
 =?utf-8?B?MWNhL1NNNkI1a1VkSURoQ09jZ1dvNDhlMi9BKzE4elo4MEdnbFNxYVZzTUdQ?=
 =?utf-8?B?WXdyYk5udzdSS05mQVdSdkRGK3hQZU9hSHo5Z2NqV0QxbTEzd1JpampsYmRz?=
 =?utf-8?B?T29YTGJwUTNiOTNvQkRwR01LbC9EWE84K1ljWWdNaGc3RTR1SXIwTGFWQU5l?=
 =?utf-8?B?N1VUYUE4VTZzaExFdFlMc0xoZlJxY1hHN2FzcVhrdHF0V0RHZVo2K0Q5NWVK?=
 =?utf-8?B?dlRIclA3d3RHNHh1S1J0cTIrUGM2ZGZGVm9hUXIrb0UxcGIyZW04MlFqUFd1?=
 =?utf-8?B?OXZyRUJNdWh5V0JnditoOE51TXEzT2wxNmk4VVNFTEtzSFVOaG5CTCtLbXVu?=
 =?utf-8?B?RCtKcU1aKy9wSWJNYmZYM0RiN0xKOExlbFpYdnZQZE96V3lyVTdCUWtUV0Qr?=
 =?utf-8?B?azVsaDhPZllKOVJva1U0UUViaDN5ZlpGU3Z0V0plNm5rNjY4TDkxWFMyNUhw?=
 =?utf-8?B?UFpsSU16UXBRYTFQS0tFdk9NWDR6b0R6NFVwYUF3ZzM3dGRqQyt3VCtpc2Zu?=
 =?utf-8?B?cEhQeURzcVRaeTczcGdZUGxkT25KMXVsZTZqTnRNWW9OQXk0YkRDcW1aNVkz?=
 =?utf-8?B?c3V2VHloa1hRYTl2blNuTW1GUDZJTDlDRXh0cC9zcnhsYTF2RkxocjNhZEtp?=
 =?utf-8?B?MVhmL1pzMm5XeHdsL3ZDUDl2RXBZbHM5RXlKSEpuczREQ0RObmVGZ1JZeEx3?=
 =?utf-8?B?d0pycXFNZjJUS1N5dlVrRzRpejlLR1N5ZHRiTnRITCtOTDJmZFhCT1RtN21H?=
 =?utf-8?B?VWtTdjYraUZybVp5dnZvOFV6L3VrcWQvUURmeVovajZJQnM5SGNXUFlheEd1?=
 =?utf-8?B?WFUzSTgzeWhvT3NkandBTlhXaUZ3U3M3bnBSZE83MmdSRnByYTJLZkU5M290?=
 =?utf-8?Q?OuZKSjzrixLjfW2FfWYvHn0=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <BC5621D8CEBFF6448A1FB8B5B2C9110B@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	6pXEw6U6IfBw/xczP5JPK2NfG+cDokH1TzJfCS+yE/Z8DcEuZ469/1PDGCLV4whhItQPQUH0Cxz8sxQuoSxLuSCBsGZZX3qXJAgYHidSqbARjsvJmfXB0xJtJw5OdD53jX7NrONahHUIPXdrLfjDNWKhrW2OtgdPzd6MuUpXA7yBMoubO78KAMMLYqwFYX9qG9RP5G8qAUndf5zaWXdWShsMyDYBPaneybZkIbsPhI8MnCeUJqgtayCVjAlTlnmdyZnvIbRaLns2at/qqlfuDTI3vm96SFm8477woNbio4rHs9pWRshO6JLwu8/tb5tSO4F+LWV79Nh86CL2xh4Ts9wrOBhd9tnQEMxkDkFGyQ1mJ+feTP74k4LrfJXLpGQJ6BMjXNPn4ef8RSLuJ6CRqcDFfBhv+V0Rb4E1dpu6fhfFfx4x3yVtfR1RFME/mzMs68pxBz1qSoGDqIkXeNtE5eU4KHG61gveSoMQpbyh9Ep+HpmpULOEOOcQ63x+uz9rlyAlZ39x77ORE5JccLst+Iej22Lr/jNQq1KiDPGmY03WOpIhQsDTwGuw1dZlJVekaeDL5p0f+nxx4R+/SKg5A+AcUQoo2ttNrT72bFlG0ZVdOiygUbR5sAfw8be2Au0ffyj38OtNQ5pFgwWyS5InGIP9nk0yDRXVHH2ohGROV9QjR5LUDqUkfeXwMdsnBxDFG4g0/AP8pYn+yGfnSsqwOawlOocRalmg2kUFU5d15uYKiO+KYbdCW19frXtpGETZHWtLexlEOxkPTSEprzVisnWEt8tvfFnqczqZ04XrQLTVEMCEhS2tr/FuVSAM2nhV
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: db89c026-046a-4332-37d5-08dad39d710e
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 13:10:38.6273
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: G2JdhqDPyY6a0Lkp2b2TGhxT5hZntZO8narX+gge/Bx9JIPmgclPPKy8dK7XenNXqSD594x6WDHJ2GNrcYhGsA/ZX8Kqnk7BhG8agF7XWrM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4938

DQoNCj4gT24gMSBEZWMgMjAyMiwgYXQgMTI6MTAsIEFuZHJldyBDb29wZXIgPEFuZHJldy5Db29w
ZXIzQGNpdHJpeC5jb20+IHdyb3RlOg0KPiANCj4gSSBjYW4ga2VlcCB0aGUgYmVpbmcvZW5kIGlm
IHlvdSdkIHByZWZlci4NCj4gDQo+IExvb2tpbmcgYXQgdGhlIGVuZCByZXN1bHQsIGl0IHdvdWxk
IGFjdHVhbGx5IHNocmluayB0aGUgcGF0Y2gsIHNvIGlzDQo+IHByb2JhYmx5IHdvcnRoIGRvaW5n
IGFueXdheSBmb3IgY2xhcml0eS4gIFRoZSBuZXQgcmVzdWx0IGlzOg0KDQpJIHRoaW5rIGtlZXBp
bmcgdGhlIGJlZ2luL2VuZCBpcyBhIGdvb2QgaWRlYSAtIGFzIGl0IGtlZXBzIHRoZSBwYXRjaCBz
bWFsbC4gSSB3YXMgbW9zdGx5IGFyZ3VpbmcgZm9yIGF1dG9tYXRlZCBmb3JtYXR0aW5nIGJlY2F1
c2UgaW4gT0NhbWwgdGhlIHVuZm9ydHVuYXRlIGRpZmZlcmVuY2UgaW4gd2hhdCBjb25zdGl0dXRl
cyB0aGUgcmVzdWx0aW5nIGV4cHJlc3Npb24gaW4gaWYgdnMuIG1hdGNoIGhhcyBsZWFkIHRvIHN1
YnRsZSBidWdzIGluIHRoZSBwYXN0Lg0KDQrigJQgQw==


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 13:12:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 13:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450693.708083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jMf-0002Y3-LW; Thu, 01 Dec 2022 13:12:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450693.708083; Thu, 01 Dec 2022 13:12:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jMf-0002Xw-Gd; Thu, 01 Dec 2022 13:12:33 +0000
Received: by outflank-mailman (input) for mailman id 450693;
 Thu, 01 Dec 2022 13:12:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ED7C=37=chromium.org=ribalda@srs-se1.protection.inumbo.net>)
 id 1p0jMe-0002Xb-3i
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 13:12:32 +0000
Received: from mail-io1-xd36.google.com (mail-io1-xd36.google.com
 [2607:f8b0:4864:20::d36])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf3bac79-7179-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 14:12:31 +0100 (CET)
Received: by mail-io1-xd36.google.com with SMTP id i80so1012842ioa.0
 for <xen-devel@lists.xenproject.org>; Thu, 01 Dec 2022 05:12:30 -0800 (PST)
Received: from mail-il1-f179.google.com (mail-il1-f179.google.com.
 [209.85.166.179]) by smtp.gmail.com with ESMTPSA id
 h10-20020a92d84a000000b003001f822301sm1478303ilq.81.2022.12.01.05.12.28
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 01 Dec 2022 05:12:28 -0800 (PST)
Received: by mail-il1-f179.google.com with SMTP id h15so703743ilh.12
 for <xen-devel@lists.xenproject.org>; Thu, 01 Dec 2022 05:12:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf3bac79-7179-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=chromium.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=l7Y2FkbIVTKFtl+HxieOmsxNGhmLoxEmtYJ88v/cdgw=;
        b=Sxbi0cvSliG9a00Ry4hRL3209ix85X2kIBcjhC5k1nEv5BOdHhFeI7Ixds0JdL6dZ6
         7K72xHH++bcFQ6L4GeTVOnVIGmY3VxFsiE1PwDgAbEFd1Qg/8JsKJA/ZZABySB5cfN5I
         rXB/aOLFPlnEkVyBmH4j/VAB0BH/L38J6evN4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=l7Y2FkbIVTKFtl+HxieOmsxNGhmLoxEmtYJ88v/cdgw=;
        b=Z07fQxd6cWNLOwYZ0bwWkVpQ1WFrloeWlchlYnpnoUY3JDKrK+OorXr83pNBwkdqIs
         UyWECCL0Dor9E0g+kWAlDn258rEweQAvCjBC9JAMtNjtRCuMF4BGgJdpyv8OnT1dW3ZO
         LkqsarNJYLHrp8nj/LlMCKWKM3zJdrySlvkKP6/kIjpH2uZhpiIpFh8fD9Fk0JAWpSvU
         HD5fXMFKagr83/t2Cx09ALW2d6ggsUQCVq85uGnvQnfrtLAKgopzvFd7d3XZUOf/lx3c
         HTLvniXr/vm4Y/M1jyKc8BAZ0p543mUYdajXmcI47dG/GU3tvKwv9TC4z96IZWw6L/xi
         X8SQ==
X-Gm-Message-State: ANoB5pkzBEVVuRpK2a1sZQX2K8zly/E1GMT6iChaWrmcpepg9pSBGyQ7
	+IgJohtTHNxVkYkK56rzr22Inop5+iYtbXli
X-Google-Smtp-Source: AA0mqf7BNIc9WXuRXakkvX2p63R5X7uDiTCt002T6WUPEynCEwf4RSPXT6us25oGfLvc2ikBtAFhjg==
X-Received: by 2002:a02:6d6e:0:b0:389:e1db:8b34 with SMTP id e46-20020a026d6e000000b00389e1db8b34mr9411901jaf.45.1669900349332;
        Thu, 01 Dec 2022 05:12:29 -0800 (PST)
X-Received: by 2002:a05:6e02:66d:b0:303:1196:96c7 with SMTP id
 l13-20020a056e02066d00b00303119696c7mr9848943ilt.133.1669899845427; Thu, 01
 Dec 2022 05:04:05 -0800 (PST)
MIME-Version: 1.0
References: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org>
 <20221127-snd-freeze-v8-3-3bc02d09f2ce@chromium.org> <716e5175-7a44-7ae8-b6bb-10d9807552e6@suse.com>
In-Reply-To: <716e5175-7a44-7ae8-b6bb-10d9807552e6@suse.com>
From: Ricardo Ribalda <ribalda@chromium.org>
Date: Thu, 1 Dec 2022 14:03:54 +0100
X-Gmail-Original-Message-ID: <CANiDSCtwSb50sjn5tM7jJ6W2UpeKzpuzng+RdJuywiC3-j2zdg@mail.gmail.com>
Message-ID: <CANiDSCtwSb50sjn5tM7jJ6W2UpeKzpuzng+RdJuywiC3-j2zdg@mail.gmail.com>
Subject: Re: [PATCH v8 3/3] ASoC: SOF: Fix deadlock when shutdown a frozen userspace
To: Oliver Neukum <oneukum@suse.com>
Cc: Juergen Gross <jgross@suse.com>, Mark Brown <broonie@kernel.org>, 
	Chromeos Kdump <chromeos-kdump@google.com>, Daniel Baluta <daniel.baluta@nxp.com>, 
	Christophe Leroy <christophe.leroy@csgroup.eu>, Len Brown <len.brown@intel.com>, 
	Ard Biesheuvel <ardb@kernel.org>, Ranjani Sridharan <ranjani.sridharan@linux.intel.com>, 
	"Rafael J. Wysocki" <rafael@kernel.org>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Nicholas Piggin <npiggin@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>, 
	Eric Biederman <ebiederm@xmission.com>, Dave Hansen <dave.hansen@linux.intel.com>, 
	Jaroslav Kysela <perex@perex.cz>, Joel Fernandes <joel@joelfernandes.org>, 
	Liam Girdwood <lgirdwood@gmail.com>, Peter Ujfalusi <peter.ujfalusi@linux.intel.com>, 
	Pavel Machek <pavel@ucw.cz>, Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>, 
	Kai Vehmanen <kai.vehmanen@linux.intel.com>, Steven Rostedt <rostedt@goodmis.org>, 
	"K. Y. Srinivasan" <kys@microsoft.com>, Ingo Molnar <mingo@redhat.com>, 
	Bjorn Helgaas <bhelgaas@google.com>, Dexuan Cui <decui@microsoft.com>, Takashi Iwai <tiwai@suse.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Bard Liao <yung-chuan.liao@linux.intel.com>, 
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	kexec@lists.infradead.org, alsa-devel@alsa-project.org, 
	stable@vger.kernel.org, sound-open-firmware@alsa-project.org, 
	linuxppc-dev@lists.ozlabs.org, linux-hyperv@vger.kernel.org, 
	linux-pci@vger.kernel.org, linux-pm@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

Hi Oliver

Thanks for your review

On Thu, 1 Dec 2022 at 13:29, Oliver Neukum <oneukum@suse.com> wrote:
>
> On 01.12.22 12:08, Ricardo Ribalda wrote:
> > If we are shutting down due to kexec and the userspace is frozen, the
> > system will stall forever waiting for userspace to complete.
> >
> > Do not wait for the clients to complete in that case.
>
> Hi,
>
> I am afraid I have to state that this approach is bad in every case,
> not just this corner case. It basically means that user space can stall
> the kernel for an arbitrary amount of time. And we cannot have that.
>
>         Regards
>                 Oliver

This patchset does not modify this behaviour. It simply fixes the
stall for kexec().

The  patch that introduced the stall:
83bfc7e793b5 ("ASoC: SOF: core: unregister clients and machine drivers
in .shutdown")

was sent as a generalised version of:
https://github.com/thesofproject/linux/pull/3388

AFAIK, we would need a similar patch for every single board.... which
I am not sure it is doable in a reasonable timeframe.

On the meantime this seems like a decent compromises. Yes, a
miss-behaving userspace can still stall during suspend, but that was
not introduced in this patch.

Regards!
>


-- 
Ricardo Ribalda


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 13:21:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 13:21:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450700.708093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jUm-0004NL-E8; Thu, 01 Dec 2022 13:20:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450700.708093; Thu, 01 Dec 2022 13:20:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jUm-0004NE-AH; Thu, 01 Dec 2022 13:20:56 +0000
Received: by outflank-mailman (input) for mailman id 450700;
 Thu, 01 Dec 2022 13:20:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mmm5=37=citrix.com=prvs=327587bd7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p0jUk-0004N8-St
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 13:20:55 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f9a03577-717a-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 14:20:52 +0100 (CET)
Received: from mail-bn7nam10lp2100.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.100])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 08:20:29 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB5996.namprd03.prod.outlook.com (2603:10b6:408:135::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 13:20:28 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 13:20:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9a03577-717a-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669900852;
  h=from:to:subject:date:message-id:references:in-reply-to:
   content-id:content-transfer-encoding:mime-version;
  bh=Ad4vnWy6uCPbZmg0JycUd/quA2Q5q84+ISpzbu1LsB0=;
  b=d/MxUz2KT1674Xmr7uswfNwzzDCe5cbVhI7pLECUFAlFwmZ1NP0TFlb1
   Ic9rUip2O3uRDZ5HF2cCnw00bRyiw5oArudOoh4BinyitC++b/7P5RiwJ
   xJD5wcNraNj1/IFdX/vKzO5KW5et7CO6lN8M9Y0E3NlbVjNzbqvJwCOqc
   c=;
X-IronPort-RemoteIP: 104.47.70.100
X-IronPort-MID: 85083880
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:gEXJ6aOtYXii8/zvrR2plsFynXyQoLVcMsEvi/4bfWQNrUoggTRWm
 mQWXjzUa/fYZzf2fN8lbIS/9BsF68ODzIU3Hgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5gVmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0spvLmRTx
 f84EzYAYDuulr+E2KyHS/Y506zPLOGzVG8ekldJ6GiBSNwAHtXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+vJxujCLpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8efwHurA9JCTNVU8NZaknivgXEVECEZWF2Vk6CnunS+YoNQf
 hl8Fi0G6PJaGFaQZsnwWVi0rWCJujYYWsFMCKsq5QeV0K3W7g2FQG8eQVZ8hMcOscY3QXkg0
 ACPltawXTh36uTNETSa66ueqi60NW4NN2geaCQYTAwDpd7+vIU0iRGJRdFmeEKosuDI9fjL6
 2jihEADa387159jO3mTlbwfvw+Rmw==
IronPort-HdrOrdr: A9a23:wRwxHq8i2/99YN99jmluk+DlI+orL9Y04lQ7vn1ZYhZeG/bo8P
 xG+8526faUslkssRQb8uxoV5PvfZqxz/9ICOsqTNSftXjd2FdARbsKheGO/9SKIVydygcy79
 YFT4FOTPH2EFhmnYLbzWCDYrAdKQC8gcWVuds=
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="85083880"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X9QbLwwYvkSEMlSbnAtp6ZvHFnKMDPo+CrRojiGsZZnPIhVUvBY4c2qcvTvRU2fJ1LAFNnay09HAiQnTm7oTaQAInq21p+plev9AiKl+qmWjgJ2En3HjrLHNEeZGb3RqFFZTIUr8kj9WaK7Z//O57lgDPW2BwmL5SxzgHR9aVy4tXUBI0P5HV0Y1xb41/rGCUASCBe60/T6n7GB5VuJIz8ypB+JbZbJQ95VMMQxTfWMHT1V358V7nBiW93jaVFiTTq2dqbqsI/V4g8Dae+sLV7yU5x24HgX/DvkIEvMlulwWXCGOu+BUuurhlBPE1yPGJWjw4CHUe7RY7hQ9kLEh6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ad4vnWy6uCPbZmg0JycUd/quA2Q5q84+ISpzbu1LsB0=;
 b=eDXJuO1VHz885MUnT+lG6XZ+yeKKQcBM3fE8GcC0z/Km3+NlXClkW8GmNtSrZPnOpqPwh0gbPL/A5qjg+JjWEvUF2Sor4Rbrl45GXz0HU+dd33joysGTUIs9RRGdNljskmA3RJFY8olNcogyzTO8G4EOCxWMA+fY2gmvwO9Q8EVM3slL1ZPJkXsAGZpYWXvDxuQAJSPvtYQls5Fp9ImQ0lKaT5rBzo+A6jf+t6UPJrLjtd3xl9316Ae/0+VE+Gi3fs97eTYNYna/pdjpcybODuaJCl8f74rQArm9Gf2h8YHNjYohkXuZXdjbgsidWvyPbjbB+jAuKcg+0ij2XW2c/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ad4vnWy6uCPbZmg0JycUd/quA2Q5q84+ISpzbu1LsB0=;
 b=eVdQdtgMHAEMQYw96bvFCbD0GsD2k4xYGMiXSHG6qPGSybVEQ8KMv51zIXxkhvJ1oHz3LO+dpjrKYOwmtjuyBf/vC890mmyJXiHaN1Js043BdfCwtqaNjFi0TE1ZFIF1oCHfTPHiA07id8/tIIv+gy63SyPmIQ3rdQ3gNigCmPI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: preparations for 4.16.3
Thread-Topic: preparations for 4.16.3
Thread-Index: AQHZAxdQbElMHcNupUajNspL4cb9tq5ZCSuA
Date: Thu, 1 Dec 2022 13:20:27 +0000
Message-ID: <7aeec9a0-628f-d1bd-994d-343ab7f8b85f@citrix.com>
References: <2c4c605e-f8c5-abbb-db85-89465b7e10a6@suse.com>
In-Reply-To: <2c4c605e-f8c5-abbb-db85-89465b7e10a6@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BN9PR03MB5996:EE_
x-ms-office365-filtering-correlation-id: 3a9ad9cb-dc9a-42db-7854-08dad39ed051
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Qbb0bd2rwSJFc9+JuGo57sybCbLYa5jDGvfeyXsZFyPd2BGUuoxHXVFN0b/ZGMvMSjJrzGK8j5yzN+dZtDLnjb9D7BwXnclgMQDW8mx9+/70iewqXAvJpn0OL+0p3AJELks0u9d5QuZiIJ7+Csbt+P29qo19V2S7qiDY6NC9HxNZP13nK8pnbDiGNSmp5L7s8kdH1/rH9hTu8tRpSdL0kxn+mnvls8f09J6TTW7RcQM6YDOTAktU9SIZZKC6XiLEjGVL6sA5Bu8yem83dgzRmL/zUOfXGb6cAmHH7oC2xUbQPATqoIsG+Kl020TRzEYEFOYBK+G1D+8L33qUJ5lSdJAvooZ+C+MvPnvaLjZ9NCxBEc0zBKJAMfjKLCMymoX3XfdNzA4EEBjWcBRGQMfUvtcX9E/CjC8uN1zIKAWw4Z4espzvOJzIqW/1QYiaVb7ZzEjCE+NdnZD7C/UQwnBm9vuTpJBlFgBOygee0zznk0Rdg6vHr9CWIj3bMVxvsPEzqxfXbp/oFvztQcolATq/ctpd4++qzVBCi8n0uJ5rRebdvjI+qT4oqtBF25FbLPBvgR7XvTt5dvzJgvywXuzvlEwlRf1Tat9DaD0ctqc9movaOM/+4psa3FMIN17j/ZoqE1I+nei/LQiI60M2LGwlzkQiRxAd7DsszCTTZYTUuVgGvwZYJiwYXTJr/H+8l4ZUEc4E3IIV/r+F96kknc5rTyJ30FTNlNWv2bhII9k5+waUKZEeJirRdQxAhaS0rUbuJfgwY3Wb+o45e07DkSuXOQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(366004)(39860400002)(376002)(396003)(136003)(451199015)(66899015)(31686004)(2616005)(6486002)(6916009)(316002)(38070700005)(31696002)(36756003)(86362001)(82960400001)(83380400001)(38100700002)(6506007)(26005)(186003)(6512007)(2906002)(122000001)(53546011)(5660300002)(4744005)(478600001)(71200400001)(64756008)(8936002)(66476007)(66446008)(66556008)(8676002)(7116003)(66946007)(76116006)(41300700001)(91956017)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ckc4eFpEenZheXhMTnBlSXRqUnVFMWdOcGNWaVd4bHRWVXp6UDZnMjVkY25Y?=
 =?utf-8?B?YzFWeDBiMHFTQ1ltTUY0NkNNbmVOOUZyQ3pwRDVvbVhvQ2RyczVLVXBGZXFU?=
 =?utf-8?B?bkRjNURBWXNuTlBNWDRlNldIQWlKT2hpbzcrSmJIcGJaeXdsaW9HNkxCZk85?=
 =?utf-8?B?d1h3UGRZQWhZTFJRZ3FnUUhOTEtWa1dmOEc2Z001SEVhYzQ2dWl4aVlwUmZr?=
 =?utf-8?B?aU50NnVpNHRSWnl3Q0xXVjJzbnFtbDRnUFV1WEoya0xRNDg3eGFnNGg2MDFl?=
 =?utf-8?B?b05pRHVpcmdwKzVsZ3l0MUpySTJrZHc5TVJDOSs1V1Y5WmFScGhUdmdMdTR1?=
 =?utf-8?B?dWxBYVNVR3JjTjJoMVFLWDRSOG1pZmp6T2FENWZLaXJwZDV3eUh5RmZQL2VH?=
 =?utf-8?B?UW51QXEwR2lFY0pUd0pwV1BpY2hhUHg5U3JQaDFORlZDanA2bDZNVEZydmdJ?=
 =?utf-8?B?VUdDRE5TUVNBcHJONCtPbm82VG9CQ1IvRmNtZmVUMGZWM2txcU1NY0dXM2ZZ?=
 =?utf-8?B?NjFVb0ZtQVJxY2xGcFphRHpKSFFpUlNtNzh3V1JURW1RYnlBdk50bkhmTVZk?=
 =?utf-8?B?MUJTWXU1KzAxOEdTdkZLN052dS9NVWtLZTAyZ2VQTFpCd25NcjhzNFNnKzhO?=
 =?utf-8?B?dUplb1grWlJCaS9LSFhvUEJieVo1NktFVzArMHJHNjZoR2JYSU1BUy9UTTN6?=
 =?utf-8?B?eFd5VFg4UVpyM2QrV1Y1OWMxZWJOVTBGdUxsWXk3ME1lUmpRMzVoa0crNnh0?=
 =?utf-8?B?cE01UkZOL0NrOG10NzVCNVoyMUwwMFJ2TmNBZmpOZExCVEVhM25LZUIzcVpY?=
 =?utf-8?B?NkZwNDAybVBHNVFUcTAwZmpxTHpPblZ0UGdLOGRQZmdteTAwREpEd0Q2TUM5?=
 =?utf-8?B?eWFYam03eTdWNVZuOGs4bDc0TFhXRUhCS253RDgwMHdQZWZmelQzZFlPcUZO?=
 =?utf-8?B?QVAzUUdhQTJNOFNhNllRazhEMGtwUlA5SThlb2JIMjlMY1R2UjdqSTVEMi84?=
 =?utf-8?B?d1V4dU5XRVF5UWMzb1RSMXNVakVROXU4Qmd2ZFU5V0huSXpJM0J6SzV3VEFh?=
 =?utf-8?B?cUpRVHQzdzJUbXRTcXplRDFjcnRreXY5ZlN3czUzQkhBdTJFNmlWY3VkbC9w?=
 =?utf-8?B?dTJOczVzRC9jSHlMQ3RWL1hCeTA0NzRjZmhROFdhRVg3TDNGVWhJTy8zZGt2?=
 =?utf-8?B?c2p2MFJFaDArTFMwR29jc3hqRHAzOWNBcTdubDRLeldBMTd4dGRRQnFhWWRX?=
 =?utf-8?B?SmZjUFA4SDNNMnh0TWZUSjVpMzJld3hpZDBETmRXd1AzTXY5bFNwQk9TTFkw?=
 =?utf-8?B?MjAveERZOS9KaWE1cUZ2VTEyemw5Mmp5cXBNYm83cG5NR0V6OVlDWlBNdS9J?=
 =?utf-8?B?R1JyMDdhVjhpdXFrSisyazFwdHdaYTJzZFZLTUEvUXF0eHNvMUtlNGhoVE9B?=
 =?utf-8?B?Q3BsYm9uRU9kcGg4c2VlUUdVaFBjaUQ0RXorSTVjU2M3SHB3bjM3b1k4aito?=
 =?utf-8?B?aitlZUVCNit4ODV6ems1UmxzSGtzM0pBaUROVVhySXNzVWZWY0lGaHdVV051?=
 =?utf-8?B?eGJZMFlkZDhMWHRsc3NQdEJyQm9XU0hqMUxCaC96WnlRZlcraVVRZmdhTlRC?=
 =?utf-8?B?eEtBOEp6QlNBZHIwelV6VHdqdUEvQWVLWVVvdG55U3R0TWc4OXJlYkVUTW9n?=
 =?utf-8?B?ZmhUUlZqRzlOMHA3aDVGU2dkWGZXSFU1VlNlTjA3TTl0alJtNkJqcit3bEYy?=
 =?utf-8?B?L1ArT3JKYXhyZFc2VlRWT0tEZWJUY3NwUDVKWlpMMUpLWWloRjI0UDNFUEN3?=
 =?utf-8?B?TnlmbjlLWWNrS3JlVGh3SmtpWWJRbnZKNVlSK1FZeTZOaU9haU5JUW1UMmJn?=
 =?utf-8?B?amd4ZStHN25hcTJORzEzeXlPQ1g2T2ZRS0k0VG9oQ2pIMjd5ekRZbG5Ub3dY?=
 =?utf-8?B?VEp1ajBIWXBWaFJsQTJENEtOK2tKWE81RCtkajlheDF0dktWdURoQ0YwQ0Fr?=
 =?utf-8?B?aWlqRFVtVmVqS3Q5aGV6Skdscmhtc3RPdE1lUzdETUh1dDN2MjRVaEhJZVlO?=
 =?utf-8?B?WllNZVNVR2htSW1zME44UDByWmJJSUVIbFZDckxYekNBcG5HZjV2ckYzN2xJ?=
 =?utf-8?Q?HNUEoNO6CADUa9i6GCWBmG++q?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F807044E236CB441824023E89854514A@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	zeK9TwNIN5npGIGl+5PmWpNsy/e3HOUnj/pILAb41TJ2yjyAC2btYGUkcPVCaYkBDExJ+jm5/WZG9nSbTP6uxbp8b1po/VdDgYChjhryGCnWFvscpczpuwU+C/J91TpZwh2I7mRZPxQittbYbqmmCa1bkW+QFxfdRy4rPw9W//1FBzek7+BWSqaPINqSvdXX6RZil7RhXCmMxJ63B6BYyqyXCobZKX3fi2LNss3FmVO9IVMcxhb+VLAzKPRU49DIeCEieI6UE73CiJWUxkH+oNtq+Nm4hG0+PxSlvev3E9chfAsOFOjqADGM0rDgNINVdr73rHTcbYhoDYsgAyEe1DVkirChG5KOYaSIF9XiQf2x1c0BEkBSOGDmpIMcTNT/HeSqKmcjwGRIrqhxFogIAWrlIN8l5+2kKB08gRXnsDKLontyZeAwAS7tYELbPHPzbndiLfzeHIDtv1TgRsMx1H1ZLksHFqcVj6ZQePRfCttl6thZ3i+/IBaEBSTEr5Pmix47DVrbLAlUbGImCw1M1rEzJKiBRzOl3WAwASIpJZyvb/gp8mNE0M5GBFoQXtM5ayILIwgkdjtl88RquzlNy1Rbak2113h61n9f2lG3CiExpK+8MInfkYb7bAI5IePZpmZ9ka/UXEHcFHeRsc1jZbl1woapHSVFL1SVNz3vd5rZ51q9G6MTZirdQBCVWvolvI4e7inayHS9xl68g5iMVafvLIuSSBxWQIeMC9R7cOYAadM9c57kKm4kgKn1J2CJ/dDtFxiLT644v3ZLGOhHnw==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a9ad9cb-dc9a-42db-7854-08dad39ed051
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 13:20:27.9483
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Eqk1MaFTVeysD7R6D8gtSS0gpVuCapicMHKRa2EZHy8DfBF/YT32AQ3Vr2fa3Gll6ei+asfcQ+kqMcO3qzl2PEkNG/R5hqBS16H++TV6V+4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB5996

T24gMjgvMTEvMjAyMiAxMDo1MCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IEFsbCwNCj4NCj4gdGhl
IHJlbGVhc2UgaXMgZHVlIGluIGEgY291cGxlIG9mIHdlZWtzIHRpbWU7IGlkZWFsbHkgd2UnZCBn
ZXQgaXQgb3V0DQo+IGJlZm9yZSB0aGUgeWVhciBlbmQgYnJlYWsuDQo+DQo+IFBsZWFzZSBwb2lu
dCBvdXQgYmFja3BvcnRzIHlvdSBmaW5kIG1pc3NpbmcgZnJvbSB0aGUgcmVzcGVjdGl2ZSBzdGFn
aW5nDQo+IGJyYW5jaCwgYnV0IHdoaWNoIHlvdSBjb25zaWRlciByZWxldmFudC4NCg0KSSBoYXZl
IGEgd2hvbGUgcGlsZSwgYWxsIHRvIGRvIHdpdGggKG8peGVuc3RvcmVkIGxpdmUgdXBkYXRlLCBi
dXQNCnRoZXkncmUgc2FkbHkgaW4gbXkgcGVuZGluZyA0LjE4IGJyYW5jaC4NCg0KSG9wZWZ1bGx5
IHRoZXJlJ3MgdGltZSBmb3IgdGhvc2UgdG8gZ2V0IGludG8gc3RhZ2luZyBiZWZvcmUgaXQncyB0
b28NCmxhdGUgdG8gaW5jbHVkZSBmb3IgNC4xNi4zIHRvby4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 13:22:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 13:22:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450705.708103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jWD-0004vg-Nb; Thu, 01 Dec 2022 13:22:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450705.708103; Thu, 01 Dec 2022 13:22:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jWD-0004vZ-Ky; Thu, 01 Dec 2022 13:22:25 +0000
Received: by outflank-mailman (input) for mailman id 450705;
 Thu, 01 Dec 2022 13:22:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NPEi=37=suse.com=ONeukum@srs-se1.protection.inumbo.net>)
 id 1p0jWB-0004vR-Ks
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 13:22:23 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0621.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f881912-717b-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 14:22:22 +0100 (CET)
Received: from VI1PR04MB7104.eurprd04.prod.outlook.com (2603:10a6:800:126::9)
 by AS8PR04MB9128.eurprd04.prod.outlook.com (2603:10a6:20b:44b::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 13:22:17 +0000
Received: from VI1PR04MB7104.eurprd04.prod.outlook.com
 ([fe80::ae59:a542:9cbc:5b3]) by VI1PR04MB7104.eurprd04.prod.outlook.com
 ([fe80::ae59:a542:9cbc:5b3%7]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 13:22:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f881912-717b-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qa1RV27SeEGu4uYhYaC+MRk3EZpKwY/n1oTy6SlumzKEJCoLuic2hwg8DxVXv0jZZI7m4xIVJTWQqFKW2eOf1EUj8Rpk1ATxBfs8y3k4In+7ECplzxBG5ow3P8VAj3aXfmAzh2HzqVFZ6hxvgsJEqCrlwne48BmH7nwp60WURgtYVmuGr4pK44hv/UznhwSklRJyBZ+N4bYufhRBXRz6iHkbtV+YrXYPNFoP4M/LpOtc6MzvYkHVBlt81HBdcz1rWBiaCNfcxw3XBZSRSOsjhWNAm4KkRR94QVV7U77NMoxLSAdx6K8SWrpDkOqG9YdsvdmcLnXz96CpMPdffQKb/g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XDMMewQIVfisYwBCM6DYMfSEv93ctBbb5XGGKowMXhA=;
 b=laYRds+ysPo0VorQ64CfYUObVqXaN/1jqmegT0wwi9ouGJT1OM8Su2A++YlAh/hQOmDer/COOSpfs9pY6HI+xG+jmSZMvr7VLAVWO9lNvcyPB5MG3g5Bvwg07/Qy9frUytSIS8k88lf+AXjcwckh7AKTLTafGoMIz4+YAA6BefhYJEruZLxlBZ/fz2U3ctGtPp+BD02efkIvVXvNC5YPcxRL0kDZrnmvrCVENYA8jQvSVBJPE1c2t7Baz2kC1e8cidW9qCscYS6To1JiThP0+6ApPI8dhCTduajlWNm0SvAtbZMssepb6VzzfvDhcsvRdlH0sv8F85yPdZxUAAkIZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XDMMewQIVfisYwBCM6DYMfSEv93ctBbb5XGGKowMXhA=;
 b=ei8SelNwhMFTYFk9yRhB3FllTWufM3E0ZzX9M+X/x+ND7lVxaKBxRRr319x0SFtlj2jAouy9goStkJvaT8CP5aC0Wq99+LCOnbMFhGVa9g4P7vfDKi45QVb5E7e8GnHmMNIylXqZzFiavLzwe1ZiR50eMyJKUITLYuGzuFJqh/kHD2qBzFZToCi6UPz+NWHojpDvr/bbZ5hBQPvpMWvD7SlLf3SI4/OJMjL/LE0SA4ag9OvQN3TWZeJMr1UonLNCG4+ubnFBIQ+hmxez0iqF7JbvP/1jQaQqJdPunRLCMRFC4zlZJ5tzvvBct2SpxQRT+/hPFiO8GnqbwpmEEZlIHg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d3730d1d-6f92-700a-06c4-0e0a35e270b0@suse.com>
Date: Thu, 1 Dec 2022 14:22:12 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.2.2
Subject: Re: [PATCH v8 3/3] ASoC: SOF: Fix deadlock when shutdown a frozen
 userspace
Content-Language: en-US
To: Ricardo Ribalda <ribalda@chromium.org>, Oliver Neukum <oneukum@suse.com>
Cc: Juergen Gross <jgross@suse.com>, Mark Brown <broonie@kernel.org>,
 Chromeos Kdump <chromeos-kdump@google.com>,
 Daniel Baluta <daniel.baluta@nxp.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Len Brown <len.brown@intel.com>, Ard Biesheuvel <ardb@kernel.org>,
 Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Nicholas Piggin <npiggin@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>,
 Eric Biederman <ebiederm@xmission.com>,
 Dave Hansen <dave.hansen@linux.intel.com>, Jaroslav Kysela <perex@perex.cz>,
 Joel Fernandes <joel@joelfernandes.org>, Liam Girdwood
 <lgirdwood@gmail.com>, Peter Ujfalusi <peter.ujfalusi@linux.intel.com>,
 Pavel Machek <pavel@ucw.cz>,
 Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
 Kai Vehmanen <kai.vehmanen@linux.intel.com>,
 Steven Rostedt <rostedt@goodmis.org>, "K. Y. Srinivasan"
 <kys@microsoft.com>, Ingo Molnar <mingo@redhat.com>,
 Bjorn Helgaas <bhelgaas@google.com>, Dexuan Cui <decui@microsoft.com>,
 Takashi Iwai <tiwai@suse.com>, "H. Peter Anvin" <hpa@zytor.com>,
 Bard Liao <yung-chuan.liao@linux.intel.com>,
 Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>,
 x86@kernel.org, kexec@lists.infradead.org, alsa-devel@alsa-project.org,
 stable@vger.kernel.org, sound-open-firmware@alsa-project.org,
 linuxppc-dev@lists.ozlabs.org, linux-hyperv@vger.kernel.org,
 linux-pci@vger.kernel.org, linux-pm@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org,
 xen-devel@lists.xenproject.org
References: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org>
 <20221127-snd-freeze-v8-3-3bc02d09f2ce@chromium.org>
 <716e5175-7a44-7ae8-b6bb-10d9807552e6@suse.com>
 <CANiDSCtwSb50sjn5tM7jJ6W2UpeKzpuzng+RdJuywiC3-j2zdg@mail.gmail.com>
From: Oliver Neukum <oneukum@suse.com>
In-Reply-To: <CANiDSCtwSb50sjn5tM7jJ6W2UpeKzpuzng+RdJuywiC3-j2zdg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0016.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::21) To VI1PR04MB7104.eurprd04.prod.outlook.com
 (2603:10a6:800:126::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB7104:EE_|AS8PR04MB9128:EE_
X-MS-Office365-Filtering-Correlation-Id: c73047c3-a408-49e9-65be-08dad39f1161
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iZnmlJHzbIHjdrxLyk6bi/9npKprqboX8CCjVLx0FgI7eloogKF0rY0DBKeCyRTbF2nUcj9kusT66inJntwPYUB+eCFPkcjl6xjm++6bhiwnv7Lt+jDodR7VzmTvixFKpk5vdjq7JWxVsqKNLREID9GoAu1qk90cXPnHJegJFqX47e2DV8rlyxvGOzkPiO8cFgQWtisJ03rj0GX9zKd9U+scuoQbOuYN0hhfWVKpHOl7gd4shzaLGJ2DJDMI0ogUpPDQ6K32R2yimnwh0XHP305FZ492EvvkAT0PRQ2ejPGHZGNAjau8vi75h3hSklyf1r1wSCwwcUZqpX/Mp6lvZtv2nKP8F45z5h2XbNdzodEoPJkiQ1wiT1UcYlcIzVU/ouISrCxeDKuHPNJheyrKMiyjLDE+VDEOTbciVNjrtvBjaVPmPMJqek+HGZOuw93a3Maz0D6eIyv/ygDQ/ek+quS21kssshzIPQcPwvSb++7K8NMXUlP86ka1aQD8vWL2yQDOQ/RSgbAfjQtwoQ0bDeGS8l1DZMC4eRAhdDjxQ8CQNBYMX2vSoHDKF2tcozAzphcWJUQtZBqGS0T67f4i0WIOvfr8PoqYJ3t5lkMu/1wPfthYN6dNdBGD+bHCfeW9+r9N3c+kL+VUnVIcyJ6c7o8pbziS7DF4zBV+K61f2NO7w8dXuphzFkHwVK8U9/yXHJq8fFsSjS2996AI4QJOn2Z0zyWAT9wITp+x6O+bvi5vSqIZuUJ7v9l6S11XJA8c
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB7104.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(376002)(136003)(366004)(346002)(39860400002)(451199015)(36756003)(31696002)(86362001)(54906003)(110136005)(6486002)(966005)(316002)(5660300002)(7406005)(66946007)(8676002)(7416002)(4326008)(478600001)(66476007)(41300700001)(8936002)(66556008)(6666004)(83380400001)(38100700002)(2906002)(6512007)(53546011)(186003)(6506007)(31686004)(2616005)(66899015)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S3Z0bjdnYWNLaXE3ZWprMlg0TE8rWkRNUTNWMFdCKzU0cURTaVpQZlRsNDg3?=
 =?utf-8?B?QjNmTC9NU0Q3RUdDWjJheXRsd1MxbUo0dk5xLzNaSWUvWjR6bFFlMS95bE9z?=
 =?utf-8?B?TDk5aVNSN24zaUJPbVlRTGt4OW9oQ3RPZlhJcU5aOWlCdUFOUVpJZ29ELzhP?=
 =?utf-8?B?cWRSYnpMQjlQaTFMWHUxWTJaeXo1SVZtRGZvc3I4dnh6Vk5tZnJoemtJNmxG?=
 =?utf-8?B?UEhmVDVuOWVndHdlMk8yZUZ5OU9pck8vRUhPQmJOcjRjR1pEZnRQYk8yMURO?=
 =?utf-8?B?Q0QrZ3lheDNORFA3N2RqcWNtc3RtelExT0huQnFxY21TN2ptM1FUeDhqblBv?=
 =?utf-8?B?K2RJWDc2SzFwM0RzdERubEs2V0pSRjZjK2szaTVhNjJnY3U0RjVVc0pTZCtX?=
 =?utf-8?B?SnBIVmtYcEpiNFBwVGFhdXJBSlVNTHB5c1ovT2VLOFpja0dXLy9RV2dYOVd6?=
 =?utf-8?B?N1ZoRkVoY2FBbkVBR1pySDZMbEZJZWdwWUt2bmRkWFlrQ0lKZlJWMmNuZENN?=
 =?utf-8?B?cm5BSmV5V0RCajhUYW50czlxdEZIalp6Z3I0R3VBeVM4VlB3Z2hkOFNPL2xv?=
 =?utf-8?B?K1hralN4aEFYUFBVZlZlbVVhNllOckF3T01yQWxTZHlEMVNONE5rcjBkZldD?=
 =?utf-8?B?c1FPam9CMDN5RHo1ekJlQTZlYXQyaDZWT1B4bUdhT2FjWjVuSGgrQko3OWJF?=
 =?utf-8?B?aW10SWRNYWJjc1lMQWtHWGZ1WlRIekFvTFQzZkoyR252Z2ZDQ2NTbmdoRURY?=
 =?utf-8?B?SGpHTDNMSXJsVTZSVzR4SjNDQ080QXlrZzQ3RkwrZUxkWXNZcU9SeW9SUlNC?=
 =?utf-8?B?cXRqNnl5ZXI0emlrTmRLRXNyZXp0ZnNMYU9CSi9HMlRZamtZRXMvWkY3cjc1?=
 =?utf-8?B?Y2VTYWZ6WmtKU3p1WWNid3RQMTNIYXdyRS9JRHpKeGEvVnllanNkNkFRQjQ1?=
 =?utf-8?B?WkI1TWFPTVhPaFhyY1pjTm40cmpLZk1lRVRHQzdhdXZrVEQzUTYvdUdqUURL?=
 =?utf-8?B?bkVDeFFhdnBsSkRmbDBqM0k3ekdWMTFpd3NmU1ZVaWRPR1hvV3FQWHM3czRu?=
 =?utf-8?B?YzhHSm9Ja1p6Y3doUnJLUzh6Qy91QTU1b0FtK2p1Z0JlSXdoM3N1aUJJQjdY?=
 =?utf-8?B?TXlOR2hacy9DMUFMejhzcys1cEEybTRQZHNvWjJiWWdqZDNMTGhEWmVXM0hE?=
 =?utf-8?B?YUY4Y0ZrQTl2Rk1TUWFzM1V6U1JSRi9CMStacCt5a1dyMlk4YnNFdU9rUmw2?=
 =?utf-8?B?VzRZQWdocjZITHhnanZrMHdYSGNSTU1nM1VIODRUbEgyalVCMzRiOUQ3a0pJ?=
 =?utf-8?B?aUF2RitpdWgwdE1FU3R0bDZCV0tCY1BUTStzQXhGL0xvZGd6ck9scHdVdlda?=
 =?utf-8?B?SXppSjNsNkhpaWVEdGE2YS9lVkJoeDBPcld2VHh4dzhUaFQ0azM1S2VUZVo2?=
 =?utf-8?B?bWhIREpNbERDdU1BRVNaV2d5dmNNVWFGZ1l1QnVYampMSTlRTXpvbVgxeTds?=
 =?utf-8?B?di82bkNDUnZ6VXQyOXFqOCtVNnVGMld1Nmx0eTdsVW1FQk5EdFZYVVoyOThq?=
 =?utf-8?B?SGpRdnA0cWRkSW92bURlYU9rRENxL01NTlc2ZUc2c0VIb2lzMzZDank3cm8r?=
 =?utf-8?B?MnlabGZsZTVKYzlUTkE3dlo2NFFhNWFrWjF1RnR0elBjU2xOTysyR09pa2xR?=
 =?utf-8?B?NG1hT2lyRDJ5bFROV3cvTVE5MmtlUVIxSDVoenBsd3JOWHk5UldSc1A5Wm5S?=
 =?utf-8?B?S0E0VTNYYnlJb29SNjQ4WVh5Z3QzVWplQ2Q3OHNxbEdIU3JpcFBMbzJDTmJC?=
 =?utf-8?B?cFFVRXpQNHM5Zk00VFVDVDhobzd3QWJWaDl1OWZ0MGFnL1N3bWZqL1gvamdy?=
 =?utf-8?B?VWd4YVgxaUFZL3RKKzhNbUhwQjZvN3ZOSDQ3SjhkMENFcWV1akdKV20xdWc1?=
 =?utf-8?B?UlgrTi9veTFrV1pqQ21JTmFZaDRreEwzTldYSEZMWllxYmNRbjlNOCtUNUJo?=
 =?utf-8?B?N0Y3SmkvR1ZSQWxXaFU1c2tyOHZEY3JrYVVnTDhKNUthaG0vdkYxOURRZ2Rk?=
 =?utf-8?B?WjdvSFYrMEROZWQzK0ZkWGFCdGNHSVhWK3MxK2JNdE5FUk1KYmpvV25FUU1J?=
 =?utf-8?B?Z1FteGhwb3F6d2hsY29MMGttdVBLN21JdG5jeFJDaXR3VFdEcklKOHlQQUxw?=
 =?utf-8?Q?ZuwZ2UI2XOxizyvAEN1IkFmskfsSudy1qUlqrYNFrl1E?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c73047c3-a408-49e9-65be-08dad39f1161
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB7104.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 13:22:17.3718
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: crK/jeiADihc2FQiiMUmK+u0XT3m/D8LYjki0Vt787ft02ee9v/9UCdBEd1CONYioEtJwJjhwSZ+mp5kd4WP6A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9128

On 01.12.22 14:03, Ricardo Ribalda wrote:

Hi,
  
> This patchset does not modify this behaviour. It simply fixes the
> stall for kexec().
> 
> The  patch that introduced the stall:
> 83bfc7e793b5 ("ASoC: SOF: core: unregister clients and machine drivers
> in .shutdown")

That patch is problematic. I would go as far as saying that
it needs to be reverted.

> was sent as a generalised version of:
> https://github.com/thesofproject/linux/pull/3388
> 
> AFAIK, we would need a similar patch for every single board.... which
> I am not sure it is doable in a reasonable timeframe.
> 
> On the meantime this seems like a decent compromises. Yes, a
> miss-behaving userspace can still stall during suspend, but that was
> not introduced in this patch.

Well, I mean if you know what wrong then I'd say at least return to
a sanely broken state.

The whole approach is wrong. You need to be able to deal with user
space talking to removed devices by returning an error and keeping
the resources association with the open file allocated until
user space calls close()

	Regards
		Oliver





From xen-devel-bounces@lists.xenproject.org Thu Dec 01 13:34:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 13:34:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450715.708118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0ji7-0006s2-2w; Thu, 01 Dec 2022 13:34:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450715.708118; Thu, 01 Dec 2022 13:34:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0ji6-0006rv-Uy; Thu, 01 Dec 2022 13:34:42 +0000
Received: by outflank-mailman (input) for mailman id 450715;
 Thu, 01 Dec 2022 13:34:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ED7C=37=chromium.org=ribalda@srs-se1.protection.inumbo.net>)
 id 1p0ji6-0006rW-5T
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 13:34:42 +0000
Received: from mail-il1-x135.google.com (mail-il1-x135.google.com
 [2607:f8b0:4864:20::135])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e7791879-717c-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 14:34:40 +0100 (CET)
Received: by mail-il1-x135.google.com with SMTP id z9so732227ilu.10
 for <xen-devel@lists.xenproject.org>; Thu, 01 Dec 2022 05:34:40 -0800 (PST)
Received: from mail-il1-f177.google.com (mail-il1-f177.google.com.
 [209.85.166.177]) by smtp.gmail.com with ESMTPSA id
 q2-20020a02a982000000b003781331d909sm1664555jam.9.2022.12.01.05.34.38
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 01 Dec 2022 05:34:38 -0800 (PST)
Received: by mail-il1-f177.google.com with SMTP id z9so732210ilu.10
 for <xen-devel@lists.xenproject.org>; Thu, 01 Dec 2022 05:34:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7791879-717c-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=chromium.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=tKguKo1XmUP31FlNvdaT70p0o/lwuxyZc7lK6ytX1QU=;
        b=exIoeOCrlPb+Uw2FGLRsALkrLYWj9cDaTvcr81Evjsi5DXIR/uPZJTWsXlu/PiLLI3
         HTBr5t4pzsWnn6M0lC4H5pNT0n3aLXEpcSRixu/mfsu8XeXoSArYBYlbqRz6mRys5h3T
         IyXf+jqyVq8u6L+O/LqO4biBjWXlb+7RKXSc0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=tKguKo1XmUP31FlNvdaT70p0o/lwuxyZc7lK6ytX1QU=;
        b=zwhfKWyKT214d7rF4v1HLbKqv+wMmP1zM4QnwWCuzGBemgD61wDWBV4YOe9R7oBmGN
         6nBhAzu4jnibtY0EMc5j5KOoT2m4OtkoSJrZWv7nJNvo3y61n7JJpjkkj0K+vTx3rc6v
         0uiMMPNl7OqR0D+jn2rW9I4LALoicULKSkd75odugRVO3GqY6Gh+pu0+7TpqiA0HPGb9
         LwIEBUglAY5EDmgWTaqczTYPCDMJFGDCAkVUQo0DyKWaBGCSmSZ99FDgAK7t/pGR3G5L
         uUR8+LjglA2tapY8xZcrXUrPU7sSoz8nkN2bT1Gs0czcyKLp5pV881G7jBeHvMAyc52Z
         DeVA==
X-Gm-Message-State: ANoB5pkimAFWaBaSaYk80yt4iCbzvq8WEJh5KbUDMa4iPIe7AcOb4pV7
	GfdNrIl9QbSlO+GQn7P8BTJ3iQeE9VbNTFn0
X-Google-Smtp-Source: AA0mqf7vsbjjaPbxzMYnimQdjSJEySRIme2YGxKQspq815fWPeMzeEFl/36YYFO4XLHUfQaaHIpizw==
X-Received: by 2002:a05:6e02:521:b0:302:6b23:79a2 with SMTP id h1-20020a056e02052100b003026b2379a2mr21714392ils.138.1669901679011;
        Thu, 01 Dec 2022 05:34:39 -0800 (PST)
X-Received: by 2002:a92:ca89:0:b0:302:385e:eeb4 with SMTP id
 t9-20020a92ca89000000b00302385eeeb4mr24829482ilo.66.1669901667796; Thu, 01
 Dec 2022 05:34:27 -0800 (PST)
MIME-Version: 1.0
References: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org>
 <20221127-snd-freeze-v8-3-3bc02d09f2ce@chromium.org> <716e5175-7a44-7ae8-b6bb-10d9807552e6@suse.com>
 <CANiDSCtwSb50sjn5tM7jJ6W2UpeKzpuzng+RdJuywiC3-j2zdg@mail.gmail.com> <d3730d1d-6f92-700a-06c4-0e0a35e270b0@suse.com>
In-Reply-To: <d3730d1d-6f92-700a-06c4-0e0a35e270b0@suse.com>
From: Ricardo Ribalda <ribalda@chromium.org>
Date: Thu, 1 Dec 2022 14:34:16 +0100
X-Gmail-Original-Message-ID: <CANiDSCtm7dCst_atiWk=ZcK_D3=VzvD0+kWXVQr4gEn--JjGkw@mail.gmail.com>
Message-ID: <CANiDSCtm7dCst_atiWk=ZcK_D3=VzvD0+kWXVQr4gEn--JjGkw@mail.gmail.com>
Subject: Re: [PATCH v8 3/3] ASoC: SOF: Fix deadlock when shutdown a frozen userspace
To: Oliver Neukum <oneukum@suse.com>
Cc: Juergen Gross <jgross@suse.com>, Mark Brown <broonie@kernel.org>, 
	Chromeos Kdump <chromeos-kdump@google.com>, Daniel Baluta <daniel.baluta@nxp.com>, 
	Christophe Leroy <christophe.leroy@csgroup.eu>, Len Brown <len.brown@intel.com>, 
	Ard Biesheuvel <ardb@kernel.org>, Ranjani Sridharan <ranjani.sridharan@linux.intel.com>, 
	"Rafael J. Wysocki" <rafael@kernel.org>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Nicholas Piggin <npiggin@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>, 
	Eric Biederman <ebiederm@xmission.com>, Dave Hansen <dave.hansen@linux.intel.com>, 
	Jaroslav Kysela <perex@perex.cz>, Joel Fernandes <joel@joelfernandes.org>, 
	Liam Girdwood <lgirdwood@gmail.com>, Peter Ujfalusi <peter.ujfalusi@linux.intel.com>, 
	Pavel Machek <pavel@ucw.cz>, Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>, 
	Kai Vehmanen <kai.vehmanen@linux.intel.com>, Steven Rostedt <rostedt@goodmis.org>, 
	"K. Y. Srinivasan" <kys@microsoft.com>, Ingo Molnar <mingo@redhat.com>, 
	Bjorn Helgaas <bhelgaas@google.com>, Dexuan Cui <decui@microsoft.com>, Takashi Iwai <tiwai@suse.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Bard Liao <yung-chuan.liao@linux.intel.com>, 
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	kexec@lists.infradead.org, alsa-devel@alsa-project.org, 
	stable@vger.kernel.org, sound-open-firmware@alsa-project.org, 
	linuxppc-dev@lists.ozlabs.org, linux-hyperv@vger.kernel.org, 
	linux-pci@vger.kernel.org, linux-pm@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

Hi Oliver

On Thu, 1 Dec 2022 at 14:22, 'Oliver Neukum' via Chromeos Kdump
<chromeos-kdump@google.com> wrote:
>
> On 01.12.22 14:03, Ricardo Ribalda wrote:
>
> Hi,
>
> > This patchset does not modify this behaviour. It simply fixes the
> > stall for kexec().
> >
> > The  patch that introduced the stall:
> > 83bfc7e793b5 ("ASoC: SOF: core: unregister clients and machine drivers
> > in .shutdown")
>
> That patch is problematic. I would go as far as saying that
> it needs to be reverted.
>

It fixes a real issue. We have not had any complaints until we tried
to kexec in the platform.
I wont recommend reverting it until we have an alternative implementation.

kexec is far less common than suspend/reboot.

> > was sent as a generalised version of:
> > https://github.com/thesofproject/linux/pull/3388
> >
> > AFAIK, we would need a similar patch for every single board.... which
> > I am not sure it is doable in a reasonable timeframe.
> >
> > On the meantime this seems like a decent compromises. Yes, a
> > miss-behaving userspace can still stall during suspend, but that was
> > not introduced in this patch.
>
> Well, I mean if you know what wrong then I'd say at least return to
> a sanely broken state.
>
> The whole approach is wrong. You need to be able to deal with user
> space talking to removed devices by returning an error and keeping
> the resources association with the open file allocated until
> user space calls close()

In general, the whole shutdown is broken for all the subsystems ;).
It is a complicated issue. Users handling fds, devices with DMAs in
the middle of an operation, dma fences....

Unfortunately I am not that familiar with the sound subsystem to make
a proper patch for this.

>
>         Regards
>                 Oliver
>
>
>
> --
> You received this message because you are subscribed to the Google Groups "Chromeos Kdump" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to chromeos-kdump+unsubscribe@google.com.
> To view this discussion on the web, visit https://groups.google.com/a/google.com/d/msgid/chromeos-kdump/d3730d1d-6f92-700a-06c4-0e0a35e270b0%40suse.com.



-- 
Ricardo Ribalda


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 13:35:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 13:35:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450720.708129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jj8-0007Q0-Cz; Thu, 01 Dec 2022 13:35:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450720.708129; Thu, 01 Dec 2022 13:35:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jj8-0007Pt-9G; Thu, 01 Dec 2022 13:35:46 +0000
Received: by outflank-mailman (input) for mailman id 450720;
 Thu, 01 Dec 2022 13:35:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pMaK=37=citrix.com=prvs=3274cb7b8=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p0jj7-0007Pf-5N
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 13:35:45 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a99fb41-717d-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 14:35:42 +0100 (CET)
Received: from mail-mw2nam12lp2041.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.41])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 08:35:19 -0500
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com (2603:10b6:a03:2d6::7)
 by MN2PR03MB5311.namprd03.prod.outlook.com (2603:10b6:208:19f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 13:35:18 +0000
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b]) by SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 13:35:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a99fb41-717d-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669901743;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=uUr8G0OJ3rME1PTNnZPjnOZ2rQWWRH2g/anZg+PYxNQ=;
  b=U1IlX9wJ3JMJ0t3Sp+gO94rCdX9ClbSUrD0GYkJI4hd6yIxSSqjI4aWo
   4EbJ0LRJDcxUMdSzF7FES4DbK9TfjL0a69hgfcsV7NQDRXnV2Spx0qqZf
   x39KdpSLrIaIS3oAvtaPSomEIlLk6VS4JP/sqycTpzeR6RakJC0H9na70
   Q=;
X-IronPort-RemoteIP: 104.47.66.41
X-IronPort-MID: 86069490
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:8fIcOagAHegd83vQGpwiduPtX161RxEKZh0ujC45NGQN5FlHY01je
 htvCmqGb6uLMGb8ft0nOdi3oUsP7JbUzt41SQZrpCg9Ey0b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5geHzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQ3ASEoVQKkntvqg6ulQ9U3qJQkd+3CadZ3VnFIlVk1DN4AaLWaGeDv2oUd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilIvluS0WDbWUoXiqcF9k0qGp
 2SA42PjBRIyP92D0zuVtHmrg4cjmAurBtpMReHprpaGhnWDm2oRTxtKVWKHiqel0k+yX/xRd
 lwtr39GQa8asRbDosPGdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QOuMYoSBQw2
 1SOntevAiZg2JWKTVqN+7HSqim9URX5NkcHbC4ACA4aud/qpdhpigqVFoo6VqmoktfyBDf8h
 SiQqzQzjKkSishN0Lin+VfAgHSnoZ2hohMJ2zg7l1mNtmtRDLNJraTxuDA3Md4owF6lc2S8
IronPort-HdrOrdr: A9a23:zjxtt6kOOFn3ZBhJgvM/fbgrwMfpDfMEiWdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7SdK9qXO1z+8X3WGIVY3SETUOy1HYVr2KirGSjwEIeheOvNK1sJ
 0NT0EQMqyWMbEXt6fHCUyDYq4dKbq8ge+VbIXlvhFQpGhRAskOgTuRSDzra3GeLzM2Z6bRYa
 Dsgvav0ADQHEj/AP7aOlA1G8z44/HbnpPvZhALQzYh9Qm1lDutrJLqDhSC2R8acjVXhZMv63
 LMnQDV7riq96jT8G6c60bjq7Bt3PfxwNpKA8KBzuATNzXXkw6tIKhxRrGYuzgxgee3rHInis
 PFrRsMN9l6r1nRYma2ix3w3BSI6kdh11bSjXujxVfzq83wQzw3T+Bbg5hCTxff4008+Plhza
 NixQuixtlqJCKFuB64y8nDVhlsmEbxi2Eli/Qvg3tWVpZbQKNNrLYY4FheHP47bWDHAcEcYa
 xT5fPnlbFrmGChHjbkV65UsYWRt0EIb1O7q445y5SoOnZt7StEJgAjtbEidz87he4Aot9/lq
 T52+1T5c9zZ95TYqRnCOgbR8yrTmTLXBLXKWqXZU/qDacdJhv22tfKCCVc3pDURHUk9upEpH
 36aiIviUciP0b1TcGe1pxC9R7ABG27QDT208lbo5x0oKf1SrbnOTCKDAlGqbrqn9wPRsnAH/
 qjMpNfBPHuaWPoBIZSxgX7H51fM2MXXsEZsssyH1iOvsXIIIv3sfGzSoeaGJP9VTI/Hm/vCH
 oKWzb+YM1G80CwQ3f9xAPcXnv8E3aPia6Y0JKqitT75LJ9RbGk6DJl+GhRzvv7WQFqo+gxYF
 Z0Jq/hn+eyuXS2lFy4nVlUBg==
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="86069490"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nzqm7rF9W2h8b/0ephyBqwqZAy5DpW+6UKp6WFMs7gqW0HF18LX4xXoGI86300spZcOW+Uj6q7YqCpf6yS5lvmUoDwmb4qKfp89MFiAAeLLAedQIRjGhe3JyfLvOTkzNClUeL7d18l0J35fA/KMbUk6DN7HnBheYhbSgTobvTeL5S7z53e/XU+vpUO53Wq2wQ0RShPznDPAzPQzH7rYSlmCAT9PfGxT5UrxtqqtfPnw3ndmUlwklkTBg3v+OZjo6kZ+DQ3F6XbRuxx6eEDymvCZwHbG25MrHtHsH5GxI4deDE6asVnf0VGVATIAv0jSQDhJN+q4eGyVj8PZLQfq09g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uUr8G0OJ3rME1PTNnZPjnOZ2rQWWRH2g/anZg+PYxNQ=;
 b=n+yD+1dJkfiAQZIrzTIi04KmZ0xaVQWT4/7QQhf/mWC5wDGO3s3Cp41GaOpwENNNi/NvMcT/ipFrHo9a2WXeE5vFgBrw2/f8obl/pN7UKBDgocYo0fHqRO28uoCloYj+l5ylp5vFHG/EnvnJei0cfjr4sml8aXef1NuT67fbxezZA9n4/SOVINQy2dREWKXnbtoEC7yeKaiA/VDw5Ob1JIXYOFdvtUYW1UQMIUJ5F4KOGkwkizAmCv9uPq8X0+06R6eyQ+oPzmoFXtsniHFQCe2fkjkTFRi8qkRh6Wlou1OoyzOA7idDtXlSKDzmOicmvjnCGxFcXsvqSxvEpKBybA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uUr8G0OJ3rME1PTNnZPjnOZ2rQWWRH2g/anZg+PYxNQ=;
 b=jwNHQEmPKjxnIxOXvRQTDz37NdPplPGU56obs0WG9sugeUocAPoWnuIe/H/lu8FtIIH26k4pNX992Dx4Eb4KA5d8ISh3EU16wJ4dKP1KOJ5r6XOIIwfQQCHND02a7fWV/G/NvJa7nl7zUB3tMc0mbseEXM8NgXfBOTjYrrtbrMA=
From: Edwin Torok <edvin.torok@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 2/5] tools/ocaml/libs/xc: add binding to
 xc_evtchn_status
Thread-Topic: [PATCH v1 2/5] tools/ocaml/libs/xc: add binding to
 xc_evtchn_status
Thread-Index: AQHZBOHW/H7dZ4yOzkGdiH1xKACrBq5Y590AgAAh0QA=
Date: Thu, 1 Dec 2022 13:35:17 +0000
Message-ID: <EEEF329C-788A-41A0-BDC5-9E42ED07416B@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <4daa8daa6398774e5cb0a90c30648c970faed6af.1669829264.git.edvin.torok@citrix.com>
 <71ff1c99-4006-dd28-e01a-4c2946798f78@citrix.com>
In-Reply-To: <71ff1c99-4006-dd28-e01a-4c2946798f78@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR03MB5888:EE_|MN2PR03MB5311:EE_
x-ms-office365-filtering-correlation-id: 911241e0-f65d-42b6-6d87-08dad3a0e2be
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 So9z3OeQ6BhKlFZQ2zfiq/FYH7LgTGRsPSxqPMmuVXx/Z0BxYWfDib7xnxRherul0UdcivcYJUxiHone+eLat6M2+R7u+7/ls+G+9kZAr7I2gK1eETw6ZyY3jtVJAQu3BVXSaYPQrq3VdDatwuL0t6uSYO4h1JckqJ5l7Y+Fdgo8mqC3z/zB7o+Fa4H4W9yeSH5cZIKmrzFjg0y9SQtLJsitZ3pr5Thf3tPuBMVHKgEG8IafEH2sSYHDjUs9zA2T0gN2qhlDw2X/328fWhGCTYqyTPRWk13vUTXCJMQxXblcaAhA2X8qCLXXcnmIsVz/iKd9dUPL80lWJjnhbmAiQ2OkC2p4a8V8VbLUqQRobfr9A7gfEn05euXZ3ayqeIqDJIDe3MlrqaxAMY822sFCXWuyWDjBBwVWFkQIrGAuu1OmtnACAo8174hjjQchaKnBQA9qd40qo5WhirsXbIFAzup2ofvOOtt19QcHtH4pV2o49M6z28J/fe9824/jc+ZcPvLhHE/cJGKTkCnRjv1nogHUU4Fer80+l4RLF4uMml3JWh0J1OVDGDGTB1Z+qiPtcKE6X2N4byrydK6Ov6yr+J1ARpu8whUO+z8gPoJVnqc3Jldvaxhum9gSeTfrOqrCq4URLaTG3r2qExj+g4BgbUHLSG6nNz0ZbNpB6GIfBbBvS9ottcXpe05spQkCVs5V7fKMCV3N1WAGw7eGCPT6EiThV8i4xQot4PJmsFMvyzI=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5888.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(366004)(136003)(346002)(376002)(451199015)(2906002)(5660300002)(41300700001)(6862004)(8936002)(6636002)(316002)(37006003)(66556008)(66946007)(66476007)(76116006)(36756003)(8676002)(54906003)(64756008)(66446008)(4326008)(91956017)(33656002)(71200400001)(107886003)(6486002)(478600001)(86362001)(6512007)(2616005)(66574015)(26005)(186003)(82960400001)(83380400001)(122000001)(6506007)(53546011)(38100700002)(38070700005)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Z1hoYi9oWEdGSlQzM2FOTUx4MmcrZXBmR0E1U1hadDRTVXVzSlBPY1hFR3VP?=
 =?utf-8?B?QlhHZERqUTFRcEh2YkRTcWRZQWJRQm41L21pbVNFQUx3enVmdVo0R2hob1Mx?=
 =?utf-8?B?dnFTcDRya1pGbitieVk3cXhnM2p1ZGk2eTJWd01odGQ5QmNzVHdkT3Z6RW42?=
 =?utf-8?B?dkhVdkEzTVEwUmt2cDhGTVBWaUNqUHQzM0dLMEwyVHBsTXJHTTdyMEZtV3Nz?=
 =?utf-8?B?Mk9OWEJwZFBlUUtEZ0hwUlIreFZtZVR6NFIrQjk4MU9WMWpDYkFLajdnQ3Vx?=
 =?utf-8?B?RjVUTVB0YXMwRFpWbjVUaDZCS1BaeGUyNGxzUFNReUdjN0VTY3luUnNpSjFR?=
 =?utf-8?B?V3RJWWNoQW9FYzgrZ1VtRlJObitoMzFVL1ZMZ0Fqd0tJcGJ2bzd4bFJ6WXAr?=
 =?utf-8?B?UnJlM2UwZFRhNUd4Wmg5Z1ZDNDVhTjcrVmp6Z1RTcnlYY1daUDFiTHE5eFBx?=
 =?utf-8?B?THR2SVBDVjNZc2M2OWJ3dVZDZXV3dlNaSzlNS1grOG9lSVZTRVdUdUZFVXg4?=
 =?utf-8?B?dDhJV3Y1RUZ0NzF4YkxtNmV0dmxCN0cwTkV2M3huUFVIU0M5SXdmZU8yakZn?=
 =?utf-8?B?U3Q4RWV4V0xNaEE2MG5OclJGdW9ubXFGZFE2Q2RWbFgwUHFFVTR6V1ZhL0ZU?=
 =?utf-8?B?LzNPTWU3VHFpMVRoYmlWd1htRUdpSjRpNjdUZDFJVGdqVnk3SkJjb3EycDh2?=
 =?utf-8?B?OFhXUzkvWDZ3MFYwMWRGSHNINzhFekdENFF4a1FrdDNvR0JxWVY3dlFtWEVt?=
 =?utf-8?B?KzlCTG93SjZXM3doekhOQWRtOFRHb3U2SDFaZUp3aWRKQ0lRN1lUSDFBTEx2?=
 =?utf-8?B?MzhsZEdkMmdLdlFhQytERzhzVHNnSzRkenFuL2g2UGhTN2MyWWZwS3J4eUdV?=
 =?utf-8?B?b0loM2l3UXppSlFtTGJzdWVuWXVwUnJiemRTcDlNZjc4NDVmN3lQaHVHY01x?=
 =?utf-8?B?SzBMUWFEOEU1Snp4M3Q0b2RQVkRHaXVzem9UOE04NFV3TVVrUnlqYlUxY3Vl?=
 =?utf-8?B?TmNzM2w3d3QyaDIzUi9ZYlBJL0xiYkhMSHhyTTI4SU9IQzBGWnBFblM2VDNV?=
 =?utf-8?B?d1dvb2xqM2dZRFJqM0dRMHo2eEJRSDRrcDA2OVFFTUF5RHdKOFhzNVMxQ3hJ?=
 =?utf-8?B?SWhDMkhWTVF6Zlg4SndnTDdDNHh5V0RQKzQvMTlveHY3VzFIeGhEbndYcHFY?=
 =?utf-8?B?RlNjMTdQMG9mVUVRVHg5YzdMZXdsL3lvc1VXbk9Ic0YveHlQdnV0RG01TzB0?=
 =?utf-8?B?SWpLN3NuZGJGZWg1bFlabCsrMDFjSTE1NW5tMEdWMUk4S3lWUXE2TS9SaDIz?=
 =?utf-8?B?NitkNE1Jam5ja1RGVTZzb1Zuck1NcUZjZ09EdUNOME5mb1VOenFkZFlUSDZU?=
 =?utf-8?B?VkkwQm1RbHBSRndVeldMcTVhWno5VFlYYi9vM0hFTjRib1BPeUdkWGREbDJx?=
 =?utf-8?B?Rk94QjJoTUd3U1RpendaWjNlNDRObmlBZ1dvbFl2VVMzNm50WHo0TW0vYlBX?=
 =?utf-8?B?WWNzWTJhMWxWcE5FK0JraklVV01nMjdKMlowUE9OVWVpYkl6MXVGYTRoUG5x?=
 =?utf-8?B?WmxJU3FiMEVoK2VmM1Q4Ri9PQk5zOUF2cE9SRnRFc0I0OEdPazVOejIrMEJk?=
 =?utf-8?B?bGVtTmgvTzhsdURBWmtZNk5VZkhHdmhCSTAvb004YlJsQk1Gd21RMy80OURH?=
 =?utf-8?B?NkowQzVHYmtQWGlwNUZxYnlvWndCTFRWTkUzcHJEc3F3VjFNU1dnd2pLQy8w?=
 =?utf-8?B?N0RDSUZsRG1ZRVltMVZYY2R1ZWJOMnVhTXR5R0hpUUJZLzQ4ODlUaXVkZS9q?=
 =?utf-8?B?Ny92T1N1WllyajVWM295N3UwUUovcmI3YmhnMHdQZ1ZNYUpsUXJrb3lVOTRL?=
 =?utf-8?B?eng2RVFEdkJCY2NvaDJsd3lRazUraGM4dENmVWNONkk3eVZYYjN3SS9HSWNV?=
 =?utf-8?B?VklWd0haaHU0YzNiWHR0TDR2MTd1Q3RRSkFHdHAyQkhaYkZYZ1JGZFV0T1k1?=
 =?utf-8?B?MGdZR3JYc0xiT0dNV0ZTNlBWZE91TXgyYVFGNzFKRTFpeXNGanVCVmwxTmpK?=
 =?utf-8?B?NGpSdnlYcnRwS2lzbVpTQitxaW8vMitLQ3NVTXNiazNOWGhnNld1cmhMTFhB?=
 =?utf-8?B?bTVmRVhseEdENHk0K2FYRTcyK2hPcjV2dEg3amxiclljdEZ4R3FuVG15ZWw4?=
 =?utf-8?B?WFE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F1B6DDE719AB5845ACBFE3BCBEA72B26@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	xMPYo1CliTh2c8K/s6lfxraxd1lHpCVEEK2KFy47LwxfgG7i6gAm64p5T5jsIk8XJE/0ZiKhKcRlfUHPFEtsDsdxypafUcLVvlBbDQyJQVNi/fvcYfqDtYovebSIk4ntExg92kzl9pquj3kmqMDrb00FKWbM5AkjhKaYjZ//8oPPpXNiEol5Zl+S8CH2o5EeOCY8n0BjTgAkzd+Dh/2Z/w8XEq5YAxD7LgwPHj7GO1R9W1vZaWyAqQB4Kzz4owAX56h71vrTRD996JMUed6OUBkUv7PnNvt2bRhm06q3nrbTYp4rNAT4uDCGYulDS1WAzAuqwNGhNDMiI134m12TJaDyhVgdFvBvSh0ztVPm1N8mSXPeVh038kSHiz7TdfyFDk4NhD8BOca10u1ZgUHLGSFYN1h16UpkJOkscMxPJoGYLBj9KDeq3I2ilPQwO76HawSviko044uHzT2ZK4iALwQ9iubsDavUCFFu5oXZJ1c6tibInIesQCIhCgVHYda2hG4vmvj9SJpwDwdw5SqROgjrvKtIIW0oeu7afrUnRw2TV9+vs6vMyIyYj1pIvqz7mXVbkeegbzSoB7dfqOjgWi90ApM8im4iTPvf1t0iZPutxtLdgR9whxa4GFy9itXgJOsWVFvCCzbIwv1fK2rTz+zWocZni48D2g2prZrnrU7Eg6J+bZ5k3t7UQ1AkRRU7c9Oz7LxGy86NDdR/QRQMHNhzea8XY1rEnKbltRU+1hZsjSVRBRc3iuLjurGdUfMYGgR8d67imPd6XXpdIU8o78+IkwJRPW7XINrn9iwFJ2ssueM+RfYTLe3qf9g6mQe4ubUjljmiurmcALaI8539RQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5888.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 911241e0-f65d-42b6-6d87-08dad3a0e2be
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 13:35:17.8549
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ENkjPWk0Rkbc1Q4zlRYuG8uik68T7rm4bl/ndtv2VlhyWtxpykFfNBQJll+GcnuMoLkA++wajEjqv6wXjLyXSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5311

DQoNCj4gT24gMSBEZWMgMjAyMiwgYXQgMTE6MzQsIEFuZHJldyBDb29wZXIgPEFuZHJldy5Db29w
ZXIzQGNpdHJpeC5jb20+IHdyb3RlOg0KPiANCj4gT24gMzAvMTEvMjAyMiAxNzozMiwgRWR3aW4g
VMO2csO2ayB3cm90ZToNCj4+IFRoZXJlIGlzIG5vIEFQSSBvciBpb2N0bCB0byBxdWVyeSBldmVu
dCBjaGFubmVsIHN0YXR1cywgaXQgaXMgb25seQ0KPj4gcHJlc2VudCBpbiB4ZW5jdHJsLmgNCj4g
DQo+IFllYWgsIHRoaXMgaXMgdmVyeSB1bmZvcnR1bmF0ZSwgYmVjYXVzZSBpdCByZWFsbHkgd2Fu
dGVkIHRvIGJlIHBhcnQgb2YNCj4gdGhlIHhlbmV2dGNobiBzdGFibGUgQVBJL0FCSS4NCj4gDQo+
PiBUaGUgQyB1bmlvbiBpcyBtYXBwZWQgdG8gYW4gT0NhbWwgdmFyaWFudCBleHBvc2luZyBqdXN0
IHRoZSB2YWx1ZSBmcm9tIHRoZQ0KPj4gY29ycmVjdCB1bmlvbiB0YWcuDQo+PiANCj4+IFF1ZXJ5
aW5nIGV2ZW50IGNoYW5uZWwgc3RhdHVzIGlzIHVzZWZ1bCB3aGVuIGFuYWx5emluZyBXaW5kb3dz
IFZNcyB0aGF0DQo+PiBtYXkgaGF2ZSByZXNldCBhbmQgY2hhbmdlZCB0aGUgeGVuc3RvcmUgZXZl
bnQgY2hhbm5lbCBwb3J0IG51bWJlciBmcm9tDQo+PiB3aGF0IGl0IGluaXRpYWxseSBnb3QgYm9v
dGVkIHdpdGguDQo+IA0KPiBUaGlzIHBhcmFncmFwaCBpcyB3aHkgd2UgbmVlZCBpdCBub3csIGJ1
dCBpdCdzIG5vdCByZWFsbHkgcmVsZXZhbnQgZm9yDQo+IHRoZSB1cHN0cmVhbSBjb21taXQuICBJ
J2QgZHJvcCB0aGlzIHNlbnRlbmNlLCBhbmQgc2ltcGx5IGhvdyB0aGUgbG93ZXINCj4gb25lIG5v
dGluZyB0aGUgc2ltaWxhcml0eSB0byBsc2V2dGNobi4NCj4gDQo+PiBUaGUgaW5mb3JtYXRpb24g
cHJvdmlkZWQgaGVyZSBpcyBzaW1pbGFyIHRvICdsc3RldnRjaG4nLCBidXQgcmF0aGVyIHRoYW4N
Cj4gDQo+ICJsc2V2dGNobiIuDQo+IA0KPj4gcGFyc2luZyBpdHMgb3V0cHV0IGl0IHF1ZXJpZXMg
dGhlIHVuZGVybHlpbmcgQVBJIGRpcmVjdGx5Lg0KPj4gDQo+PiBTaWduZWQtb2ZmLWJ5OiBFZHdp
biBUw7Zyw7ZrIDxlZHZpbi50b3Jva0BjaXRyaXguY29tPg0KPj4gLS0tDQo+PiB0b29scy9vY2Ft
bC9saWJzL3hjL3hlbmN0cmwubWwgICAgICB8IDE0ICsrKysrKysNCj4+IHRvb2xzL29jYW1sL2xp
YnMveGMveGVuY3RybC5tbGkgICAgIHwgMTUgKysrKysrKw0KPj4gdG9vbHMvb2NhbWwvbGlicy94
Yy94ZW5jdHJsX3N0dWJzLmMgfCA2NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4g
MyBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspDQo+PiANCj4+IGRpZmYgLS1naXQgYS90
b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmwubWwgYi90b29scy9vY2FtbC9saWJzL3hjL3hlbmN0
cmwubWwNCj4+IGluZGV4IDJlZDc0NTRiMTYuLmMyMWUzOTFmOTggMTAwNjQ0DQo+PiAtLS0gYS90
b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmwubWwNCj4+ICsrKyBiL3Rvb2xzL29jYW1sL2xpYnMv
eGMveGVuY3RybC5tbA0KPj4gQEAgLTI2Nyw2ICsyNjcsMjAgQEAgZXh0ZXJuYWwgZXZ0Y2huX2Fs
bG9jX3VuYm91bmQ6IGhhbmRsZSAtPiBkb21pZCAtPiBkb21pZCAtPiBpbnQNCj4+ICAgPSAic3R1
Yl94Y19ldnRjaG5fYWxsb2NfdW5ib3VuZCINCj4+IGV4dGVybmFsIGV2dGNobl9yZXNldDogaGFu
ZGxlIC0+IGRvbWlkIC0+IHVuaXQgPSAic3R1Yl94Y19ldnRjaG5fcmVzZXQiDQo+PiANCj4+ICt0
eXBlIGV2dGNobl9pbnRlcmRvbWFpbiA9IHsgZG9tOiBkb21pZDsgcG9ydDogaW50fQ0KPiANCj4g
U3RyaWN0bHkgc3BlYWtpbmcsIHBvcnQgbmVlZHMgdG8gYmUgaW50MzIuDQo+IA0KPiBBQkktd2lz
ZSwgaXQgY2FuIGJlIGNvbmZpZ3VyZWQgYXMgbGFyZ2UgYXMgMl4zMi0yIGR1cmluZyBkb21haW4g
Y3JlYXRpb24uDQo+IA0KPiBIb3dldmVyLCBGSUZPIGN1cnJlbnRseSB0b3BzIG91dCBhdCAyXjE3
IGFuZCBoYXMgYSB0aGVvcmV0aWNhbCBtYXhpbXVtDQo+IGF0IDJeMjgsIHNvIHBlcmhhcHMgaW50
IG91Z2h0IHRvIGVub3VnaCBmb3Igbm93Lg0KPiANCj4+ICsNCj4+ICt0eXBlIGV2dGNobl9zdGF0
ID0NCj4+ICsgIHwgRVZUQ0hOU1RBVF91bmJvdW5kIG9mIGRvbWlkDQo+PiArICB8IEVWVENITlNU
QVRfaW50ZXJkb21haW4gb2YgZXZ0Y2huX2ludGVyZG9tYWluDQo+PiArICB8IEVWVENITlNUQVRf
cGlycSBvZiBpbnQNCj4+ICsgIHwgRVZUQ0hOU1RBVF92aXJxIG9mIGludA0KPiANCj4gU2ltaWxh
ciBjb21tZW50LiAgQSB2Y3B1IGlkIHNob3VsZCBpbiBwcmluY2lwbGUgYmUgaW50MzINCj4gDQo+
PiArICB8IEVWVENITlNUQVRfaXBpDQo+IA0KPiBOb3JtYWxseSB3aGVuIGhhdmluZyBhbiBlbnVt
ZXJhdGlvbiBsaWtlIHRoaXMsIHdlIHdhbnQgdG8gaG9vayB1cCB0aGUNCj4gYnVpbGQtdGltZSBB
QkkgY2hlY2suDQo+IA0KPiBCdXQgaW4gdGhpcyBjYXNlLCBpdCdzIHByb2R1Y2VkIGJ5IHRoZSBi
aW5kaW5ncyAobm90IGNvbnN1bWVkIGJ5IHRoZW0pLA0KPiBhbmQgdGhlcmUncyBhbiBleGNlcHRp
b24gcmFpc2VkIGluIHRoZSBkZWZhdWx0IGNhc2UsIHNvIEkgZG9uJ3QgdGhpbmsgd2UNCj4gbmVl
ZCB0aGUgYnVpbGQtdGltZSBBQkkgY2hlY2sgZm9yIGFueSBraW5kIG9mIHNhZmV0eSAoYW5kIHRo
ZXJlZm9yZQ0KPiBzaG91bGRuJ3QgZ28gdG8gdGhlIHJlYXNvbmFibHktaW52YXNpdmUgZWZmb3J0
IG9mIGFkZGluZyB0aGUgY2hlY2spLg0KDQpZZXMsIEkgd2FzIGxvb2tpbmcgZm9yIGhvdyB0byBh
ZGQgYW4gQUJJIGNoZWNrIHRoZXJlLCBidXQgb3RoZXIgcGxhY2VzIGxpa2UgdGhlIGZlYXR1cmVz
ZXQgZW51bSBkb2Vzbid0IGhhdmUgaXQgZWl0aGVyLg0KVGhlIEFCSSBjaGVjayBvbmx5IHNlZW1z
IHRvIGV4aXN0IGZvciB0aGUgY2FzZSB3aGVyZSB0aGUgdmFsdWVzIGFyZSB1c2VkIGFzIGJpdCBm
bGFncy4NCg0KPiANCj4+IGRpZmYgLS1naXQgYS90b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmxf
c3R1YnMuYyBiL3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybF9zdHVicy5jDQo+PiBpbmRleCBk
MzA1ODVmMjFjLi42N2YzNjQ4MzkxIDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMvb2NhbWwvbGlicy94
Yy94ZW5jdHJsX3N0dWJzLmMNCj4+ICsrKyBiL3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybF9z
dHVicy5jDQo+PiBAQCAtNjQxLDYgKzY0MSw3MSBAQCBDQU1McHJpbSB2YWx1ZSBzdHViX3hjX2V2
dGNobl9yZXNldCh2YWx1ZSB4Y2gsIHZhbHVlIGRvbWlkKQ0KPj4gICAgIENBTUxyZXR1cm4oVmFs
X3VuaXQpOw0KPj4gfQ0KPj4gDQo+PiArQ0FNTHByaW0gdmFsdWUgc3R1Yl94Y19ldnRjaG5fc3Rh
dHVzKHZhbHVlIHhjaCwgdmFsdWUgZG9taWQsIHZhbHVlIHBvcnQpDQo+PiArew0KPj4gKyAgICBD
QU1McGFyYW0zKHhjaCwgZG9taWQsIHBvcnQpOw0KPj4gKyAgICBDQU1MbG9jYWw0KHJlc3VsdCwg
cmVzdWx0X3N0YXR1cywgc3RhdCwgaW50ZXJkb21haW4pOw0KPj4gKyAgICB4Y19ldnRjaG5fc3Rh
dHVzX3Qgc3RhdHVzOw0KPj4gKyAgICBpbnQgcmM7DQo+PiArDQo+PiArICAgIG1lbXNldCgmc3Rh
dHVzLCAwLCBzaXplb2Yoc3RhdHVzKSk7DQo+PiArICAgIHN0YXR1cy5kb20gPSBfRChkb21pZCk7
DQo+PiArICAgIHN0YXR1cy5wb3J0ID0gSW50X3ZhbChwb3J0KTsNCj4gDQo+IHhjX2V2dGNobl9z
dGF0dXNfdCBzdGF0dXMgPSB7DQo+ICAgICAuZG9tID0gX0QoZG9taWQpLA0KPiAgICAgLnBvcnQg
PSBJbnRfdmFsKHBvcnQpLA0KPiB9Ow0KPiANCj4gaXMgdGhlIG1hcmdpbmFsbHkgcHJlZmVycmVk
IHdheSBvZiBkb2luZyB0aGlzLiAgSXQgcmVtb3ZlcyBwb3RlbnRpYWwNCj4gaXNzdWVzIHdpdGgg
dHlwby1pbmcgdGhlIG1lbXNldCgpLg0KPiANCj4+ICsNCj4+ICsgICAgY2FtbF9lbnRlcl9ibG9j
a2luZ19zZWN0aW9uKCk7DQo+PiArICAgIHJjID0geGNfZXZ0Y2huX3N0YXR1cyhfSCh4Y2gpLCAm
c3RhdHVzKTsNCj4+ICsgICAgY2FtbF9sZWF2ZV9ibG9ja2luZ19zZWN0aW9uKCk7DQo+PiArDQo+
PiArICAgIGlmICggcmMgPCAwICkNCj4+ICsgICAgICAgIGZhaWx3aXRoX3hjKF9IKHhjaCkpOw0K
Pj4gKw0KPj4gKyAgICBpZiAoIHN0YXR1cy5zdGF0dXMgPT0gRVZUQ0hOU1RBVF9jbG9zZWQgKQ0K
Pj4gKyAgICAgICAgcmVzdWx0ID0gVmFsX25vbmU7DQo+PiArICAgIGVsc2UNCj4+ICsgICAgew0K
PiANCj4gVGhpcyBpcyBhY3R1YWxseSBvbmUgZXhhbXBsZSB3aGVyZSB1c2luZyBhIHNlY29uZCBD
QU1McmV0dXJuIHdvdWxkDQo+IHNpbXBseSB0aGluZ3Mgc3Vic3RhbnRpYWxseS4NCj4gDQo+IHN3
aXRjaCAoIHN0YXR1cy5zdGF0dXMgKQ0KPiB7DQo+IGNhc2UgRVZUQ0hOU1RBVF9jbG9zZWQ6DQo+
ICAgICBDQU1McmV0dXJuKFZhbF9ub25lKTsNCj4gDQo+IGNhc2UgRVZUQ0hOU1RBVF91bmJvdW5k
Og0KPiAgICAgLi4uDQo+IA0KPiBXb3VsZCByZW1vdmUgdGhlIG5lZWQgZm9yIHRoZSBvdXRlciBp
Zi9lbHNlLg0KDQoNCkNBTUxyZXR1cm4gaGFzIHNvbWUgbWFjcm8gbWFnaWMgdG8gZW5zdXJlIGl0
IGdldHMgcGFpcmVkIHdpdGggdGhlIHRvcGxldmVsIENBTUxwYXJhbSBjb3JyZWN0bHkgKG9uZSBv
ZiB0aGVtIG9wZW5zIGEgeyBzY29wZSBhbmQgdGhlIG90aGVyIGNsb3NlcyBpdCwgb3Igc29tZXRo
aW5nIGxpa2UgdGhhdCksDQpzbyBJJ2QgYXZvaWQgcHV0dGluZyBpdCBpbnRvIHRoZSBtaWRkbGUg
b2Ygb3RoZXIgc3ludGFjdGljIGVsZW1lbnRzLCBpdCBtaWdodCBqdXN0IGNhdXNlIHRoZSBidWls
ZCB0byBmYWlsIChlaXRoZXIgbm93IG9yIGluIHRoZSBmdXR1cmUpLg0KDQo+IA0KPiANCj4+ICsg
ICAgICAgIHN3aXRjaCAoIHN0YXR1cy5zdGF0dXMgKQ0KPj4gKyAgICAgICAgew0KPj4gKyAgICAg
ICAgY2FzZSBFVlRDSE5TVEFUX3VuYm91bmQ6DQo+PiArICAgICAgICAgICAgc3RhdCA9IGNhbWxf
YWxsb2MoMSwgMCk7IC8qIDFzdCBub24tY29uc3RhbnQgY29uc3RydWN0b3IgKi8NCj4+ICsgICAg
ICAgICAgICBTdG9yZV9maWVsZChzdGF0LCAwLCBWYWxfaW50KHN0YXR1cy51LnVuYm91bmQuZG9t
KSk7DQo+PiArICAgICAgICAgICAgYnJlYWs7DQo+PiArDQo+PiArICAgICAgICBjYXNlIEVWVENI
TlNUQVRfaW50ZXJkb21haW46DQo+PiArICAgICAgICAgICAgaW50ZXJkb21haW4gPSBjYW1sX2Fs
bG9jX3R1cGxlKDIpOw0KPj4gKyAgICAgICAgICAgIFN0b3JlX2ZpZWxkKGludGVyZG9tYWluLCAw
LCBWYWxfaW50KHN0YXR1cy51LmludGVyZG9tYWluLmRvbSkpOw0KPj4gKyAgICAgICAgICAgIFN0
b3JlX2ZpZWxkKGludGVyZG9tYWluLCAxLCBWYWxfaW50KHN0YXR1cy51LmludGVyZG9tYWluLnBv
cnQpKTsNCj4+ICsgICAgICAgICAgICBzdGF0ID0gY2FtbF9hbGxvYygxLCAxKTsgLyogIDJuZCBu
b24tY29uc3RhbnQgY29uc3RydWN0b3IgKi8NCj4+ICsgICAgICAgICAgICBTdG9yZV9maWVsZChz
dGF0LCAwLCBpbnRlcmRvbWFpbik7DQo+PiArICAgICAgICAgICAgYnJlYWs7DQo+PiArICAgICAg
ICBjYXNlIEVWVENITlNUQVRfcGlycToNCj4+ICsgICAgICAgICAgICBzdGF0ID0gY2FtbF9hbGxv
YygxLCAyKTsgLyogM3JkIG5vbi1jb25zdGFudCBjb25zdHJ1Y3RvciAqLw0KPj4gKyAgICAgICAg
ICAgIFN0b3JlX2ZpZWxkKHN0YXQsIDAsIFZhbF9pbnQoc3RhdHVzLnUucGlycSkpOw0KPj4gKyAg
ICAgICAgICAgIGJyZWFrOw0KPj4gKw0KPj4gKyAgICAgICAgY2FzZSBFVlRDSE5TVEFUX3ZpcnE6
DQo+PiArICAgICAgICAgICAgc3RhdCA9IGNhbWxfYWxsb2MoMSwgMyk7IC8qIDR0aCBub24tY29u
c3RhbnQgY29uc3RydWN0b3IgKi8NCj4+ICsgICAgICAgICAgICBTdG9yZV9maWVsZChzdGF0LCAw
LCBWYWxfaW50KHN0YXR1cy51LnZpcnEpKTsNCj4+ICsgICAgICAgICAgICBicmVhazsNCj4+ICsN
Cj4+ICsgICAgICAgIGNhc2UgRVZUQ0hOU1RBVF9pcGk6DQo+PiArICAgICAgICAgICAgc3RhdCA9
IFZhbF9pbnQoMCk7IC8qIDFzdCBjb25zdGFudCBjb25zdHJ1Y3RvciAqLw0KPj4gKyAgICAgICAg
ICAgIGJyZWFrOw0KPj4gKw0KPj4gKyAgICAgICAgZGVmYXVsdDoNCj4+ICsgICAgICAgICAgICBj
YW1sX2ZhaWx3aXRoKCJVbmtvd24gZXZ0Y2huIHN0YXR1cyIpOw0KPj4gKyAgICAgICAgfQ0KPiAN
Cj4gV2UnZCBub3JtYWxseSBoYXZlIGEgYmxhbmsgbGluZSBoZXJlLg0KPiANCj4+ICsgICAgICAg
IHJlc3VsdF9zdGF0dXMgPSBjYW1sX2FsbG9jX3R1cGxlKDIpOw0KPj4gKyAgICAgICAgU3RvcmVf
ZmllbGQocmVzdWx0X3N0YXR1cywgMCwgVmFsX2ludChzdGF0dXMudmNwdSkpOw0KPj4gKyAgICAg
ICAgU3RvcmVfZmllbGQocmVzdWx0X3N0YXR1cywgMSwgc3RhdCk7DQo+PiArDQo+PiArICAgICAg
ICAvKiBUYWdfc29tZSBhbmQgY2FtbF9hbGxvY19zb21lIGFyZSBtaXNzaW5nIGluIG9sZGVyIHZl
cnNpb25zIG9mIE9DYW1sDQo+PiArICAgICAgICAgKi8NCj4gDQo+IENhbiB3ZSBkbyB0aGUgdXN1
YWwNCj4gDQo+ICNpZm5kZWYgVGFnX3NvbWUNCj4gIyBkZWZpbmUgVGFnX3NvbWUgLi4uDQo+ICNl
bmRpZg0KPiANCj4gYXQgdGhlIHRvcCwgYW5kIHVzZSBpdCB1bmNvbmRpdGlvbmFsbHkgaGVyZT8N
Cg0KDQpZZXMgdG8gdGhlIG90aGVyIHN1Z2dlc3Rpb25zLg0KDQo+IA0KPiBjYW1sX2FsbG9jX3Nv
bWUoKSBpcyBwZXJoYXBzIGxlc3MgaW50ZXJlc3RpbmcgYXMgaXQgb25seSBhcHBlYXJlZCBpbg0K
PiBPY2FtbCA0LjEyIEFGQUlDVCwgYnV0IHdlIGNvdWxkIGFsc28gaGF2ZSBzb21lIGlmZGVmYXJ5
IGZvciB0aGF0IGF0IHRoZQ0KPiB0b3Agb2YgdGhlIGZpbGUuDQo+IA0KPiBJIGRvbid0IGtub3cg
d2hldGhlciB3ZSBoYXZlIG9wZW5jb2RlZCBvcHRpb25zIGVsc2V3aGVyZSBpbiB0aGUNCj4gYmlu
ZGluZ3MsIGJ1dCBpdCBjZXJ0YWlubHkgd291bGQgYmUgcmVkdWNlIHRoZSBhbW91bnQgb3BlbmNv
ZGluZyB0aGF0DQo+IGV4aXN0cyBmb3Igc3RhbmRhcmQgcGF0dGVybnMuDQoNCg0KcGVyaGFwcyB3
ZSBjYW4gbG9vayBpbnRvIGRvaW5nIHRoYXQgY2xlYW51cCBhcyBhIHNlcGFyYXRlIHBhdGNoLg0K
DQpCZXN0IHJlZ2FyZHMsDQotLUVkd2lu


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 13:38:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 13:38:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450727.708143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jlu-00086d-Uv; Thu, 01 Dec 2022 13:38:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450727.708143; Thu, 01 Dec 2022 13:38:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jlu-00086W-SL; Thu, 01 Dec 2022 13:38:38 +0000
Received: by outflank-mailman (input) for mailman id 450727;
 Thu, 01 Dec 2022 13:38:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+3cn=37=suse.de=tiwai@srs-se1.protection.inumbo.net>)
 id 1p0jlt-00084h-Ch
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 13:38:37 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 73fa2a3e-717d-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 14:38:35 +0100 (CET)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B988B21BD8;
 Thu,  1 Dec 2022 13:38:34 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id F010C1320E;
 Thu,  1 Dec 2022 13:38:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id xfi6OVmuiGPRFwAAGKfGzw
 (envelope-from <tiwai@suse.de>); Thu, 01 Dec 2022 13:38:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73fa2a3e-717d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa;
	t=1669901914; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=EpPEbhYU/ZSzBergbxPG18rF6z3xaGTMJpY/KD4hdN0=;
	b=NqfMGu7TOFopplQnGWvsL3EJ6f6cvD2+3UqnIH9MgHg26FPG3wmd98hqR7V6xsdZ0c8Vke
	owU1O7TeMPowfni/Y4/f0++Diu8+bvrgj83AyE4Hl4Mhktx4gC0hH22a1j6phJ4cxlwt0g
	M51CMPmyt3PVadDP6oU7dmktdW+cvjE=
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;
	s=susede2_ed25519; t=1669901914;
	h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=EpPEbhYU/ZSzBergbxPG18rF6z3xaGTMJpY/KD4hdN0=;
	b=nw7rEaNxj44kK7pb8ca9iO9xzjrguRhX54wAGxllFfQlwK4FxfX2KJCahutRLs8Vm8Lynh
	/90IUhYauTmvsgBQ==
Date: Thu, 01 Dec 2022 14:38:33 +0100
Message-ID: <87v8mvmeg6.wl-tiwai@suse.de>
From: Takashi Iwai <tiwai@suse.de>
To: Oliver Neukum <oneukum@suse.com>
Cc: Ricardo Ribalda <ribalda@chromium.org>,
	Juergen Gross <jgross@suse.com>,
	Mark Brown <broonie@kernel.org>,
	Chromeos Kdump <chromeos-kdump@google.com>,
	Daniel Baluta <daniel.baluta@nxp.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Len Brown <len.brown@intel.com>,
	Ard Biesheuvel <ardb@kernel.org>,
	Ranjani Sridharan <ranjani.sridharan@linux.intel.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Eric Biederman <ebiederm@xmission.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Jaroslav Kysela <perex@perex.cz>,
	Joel Fernandes <joel@joelfernandes.org>,
	Liam Girdwood
 <lgirdwood@gmail.com>,
	Peter Ujfalusi <peter.ujfalusi@linux.intel.com>,
	Pavel Machek <pavel@ucw.cz>,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>,
	Kai Vehmanen <kai.vehmanen@linux.intel.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	"K. Y. Srinivasan"
 <kys@microsoft.com>,
	Ingo Molnar <mingo@redhat.com>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Dexuan Cui <decui@microsoft.com>,
	Takashi Iwai <tiwai@suse.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Bard Liao <yung-chuan.liao@linux.intel.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Borislav Petkov <bp@alien8.de>,
	x86@kernel.org,
	kexec@lists.infradead.org,
	alsa-devel@alsa-project.org,
	stable@vger.kernel.org,
	sound-open-firmware@alsa-project.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-hyperv@vger.kernel.org,
	linux-pci@vger.kernel.org,
	linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-efi@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v8 3/3] ASoC: SOF: Fix deadlock when shutdown a frozen userspace
In-Reply-To: <d3730d1d-6f92-700a-06c4-0e0a35e270b0@suse.com>
References: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org>
	<20221127-snd-freeze-v8-3-3bc02d09f2ce@chromium.org>
	<716e5175-7a44-7ae8-b6bb-10d9807552e6@suse.com>
	<CANiDSCtwSb50sjn5tM7jJ6W2UpeKzpuzng+RdJuywiC3-j2zdg@mail.gmail.com>
	<d3730d1d-6f92-700a-06c4-0e0a35e270b0@suse.com>
User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0
MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue")
Content-Type: text/plain; charset=US-ASCII

On Thu, 01 Dec 2022 14:22:12 +0100,
Oliver Neukum wrote:
> 
> On 01.12.22 14:03, Ricardo Ribalda wrote:
> 
> Hi,
>  
> > This patchset does not modify this behaviour. It simply fixes the
> > stall for kexec().
> > 
> > The  patch that introduced the stall:
> > 83bfc7e793b5 ("ASoC: SOF: core: unregister clients and machine drivers
> > in .shutdown")
> 
> That patch is problematic. I would go as far as saying that
> it needs to be reverted.

... or fixed.

> > was sent as a generalised version of:
> > https://github.com/thesofproject/linux/pull/3388
> > 
> > AFAIK, we would need a similar patch for every single board.... which
> > I am not sure it is doable in a reasonable timeframe.
> > 
> > On the meantime this seems like a decent compromises. Yes, a
> > miss-behaving userspace can still stall during suspend, but that was
> > not introduced in this patch.
> 
> Well, I mean if you know what wrong then I'd say at least return to
> a sanely broken state.
> 
> The whole approach is wrong. You need to be able to deal with user
> space talking to removed devices by returning an error and keeping
> the resources association with the open file allocated until
> user space calls close()

As I already mentioned in another thread, if the user-space action has
to be cut off, we just need to call snd_card_disconnect() instead
without sync.  A quick hack would be like below (totally untested and
might be wrong, though).

In anyway, Ricardo, please stop spinning too frequently; v8 in a few 
days is way too much, and now the recipient list became unmanageable.
Let's give people some time to review and consider a better solution
at first.


thanks,

Takashi

-- 8< --
--- a/sound/soc/sof/core.c
+++ b/sound/soc/sof/core.c
@@ -475,7 +475,7 @@ EXPORT_SYMBOL(snd_sof_device_remove);
 int snd_sof_device_shutdown(struct device *dev)
 {
 	struct snd_sof_dev *sdev = dev_get_drvdata(dev);
-	struct snd_sof_pdata *pdata = sdev->pdata;
+	struct snd_soc_component *component;
 
 	if (IS_ENABLED(CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE))
 		cancel_work_sync(&sdev->probe_work);
@@ -484,9 +484,9 @@ int snd_sof_device_shutdown(struct device *dev)
 	 * make sure clients and machine driver(s) are unregistered to force
 	 * all userspace devices to be closed prior to the DSP shutdown sequence
 	 */
-	sof_unregister_clients(sdev);
-
-	snd_sof_machine_unregister(sdev, pdata);
+	component = snd_soc_lookup_component(sdev->dev, NULL);
+	if (component && component->card && component->card->snd_card)
+		snd_card_disconnect(component->card->snd_card);
 
 	if (sdev->fw_state == SOF_FW_BOOT_COMPLETE)
 		return snd_sof_shutdown(sdev);






From xen-devel-bounces@lists.xenproject.org Thu Dec 01 13:50:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 13:50:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450738.708154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jxD-0002LL-0T; Thu, 01 Dec 2022 13:50:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450738.708154; Thu, 01 Dec 2022 13:50:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0jxC-0002LE-Tv; Thu, 01 Dec 2022 13:50:18 +0000
Received: by outflank-mailman (input) for mailman id 450738;
 Thu, 01 Dec 2022 13:50:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pMaK=37=citrix.com=prvs=3274cb7b8=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p0jxB-0002L8-Tt
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 13:50:18 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 14e064bd-717f-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 14:50:16 +0100 (CET)
Received: from mail-bn7nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 08:50:12 -0500
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com (2603:10b6:a03:2d6::7)
 by SJ0PR03MB5470.namprd03.prod.outlook.com (2603:10b6:a03:287::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 13:50:08 +0000
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b]) by SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 13:50:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14e064bd-717f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669902616;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=4sZ+c0NUaSMC2b5RgynT3sK3YTgGP7L9tJam7jwJR5Q=;
  b=PJG6EANk6mcp5pEpd93iy8pm815qcKtnR1tyHIVMv4bq43cZFiktY3ZW
   FtVI3yO6UPwT3etllDBb68V2cWdW6x41HhWakg8w83pp+PVPiHwQEkgBo
   DmoFmL7p+dbZQ8ag9LFVVMmpyPantj6G4EwnrdqkLwURA57Ebl0kwV++X
   A=;
X-IronPort-RemoteIP: 104.47.70.109
X-IronPort-MID: 86475071
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:+edU66kQmFYzGYqaPf9Jwsvo5gymJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIcDGCPbv/eY2b0ct1/b4y/9EIDup7dzoNqGVFlqylkRCMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icf3grHmeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aqaVA8w5ARkP6kR5AaGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 d80OQEDNlPdvMmdwJDnQLV8u8Y4Ata+aevzulk4pd3YJdAPZMmbBo/suppf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVk1Q3ieC8WDbWUoXiqcF9k0qGp
 2SA42PjBRIyP92D0zuVtHmrg4cjmAurBt5NSeXnr5aGhnWumUgsNBstdmKgmvumu27mUMp/B
 xQ9r39GQa8asRbDosPGdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QOuMYoSBQw2
 1SOntevAiZg2JWKTVqN+7HSqim9URX5NkcHbC4ACAEDvN/qpdhrigqVF44yVqmoktfyBDf8h
 SiQqzQzjKkSishN0Lin+VfAgHSnoZ2hohMJ2zg7l1mNtmtRDLNJraT1gbQHxZ6s9Lqkc2Q=
IronPort-HdrOrdr: A9a23:cWuURKjHcjyM3FUJ4If+7bkZknBQXukji2hC6mlwRA09TyXPrb
 HWoB17726QtN5yMEtLpTnkAsS9qBznmaKdjbN/AV7AZniFhILLFuFfBNDZslvd8kTFn4Y36U
 4HScZD4bbLfDtHZKjBgTVRvLwbsaG6GAzDv5a785/NJzsaDJ1d0w==
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="86475071"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JMmN+Ok0RWQdU/v9atjDN9dzvlyvI7pxtt2RqS/R+0BzKANDVV3wBQMLMnEblGvp5fbgDzAcojKggQ37rCtbjuZNkavqQS5kh2PUVzofmFX5FGlsOw64/0xwqKAQznVQsveoRAifQJLzOu69DqveZYhT7tKHlsgdshi548Q2MHVfQiGKKgamLluefCXTj/aDMDLbqWCREbNXCYItXEEho51N5O6QKNl2r7WFwjDqT88IBhxmc4ldsOqZPMgcICF3z7ryZQgXVbdKlN1rcO03C4hDnMy7cudxq0c+L7wexXylyXu6apNXQolVsQXEl9dK1Xnp1LCRokjF35oO0DNnEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4sZ+c0NUaSMC2b5RgynT3sK3YTgGP7L9tJam7jwJR5Q=;
 b=apeM9WAJsmWz3Wxg9tYcsDyM5c/5QKjOnGDt3IzR4/mDGg0dXxmhUvnzq/vpwLOzzB/y50hHcHkWtC5qAeXpu4pUiiCQhOpyXWLuuXOEo0ZgtnLTGxCSbLE1aaqe8aGTRI+ZtZ91U+4IL6Mk3CdocTFs8ydNJcxPJNUlAFMSrQzg3wnrhxKaMPTwLfxp1l4A7wZxkGm+WyjrljZm0hBR9kn8Gg3YjBEIEPEVvU9y8exQ+8qNzaKhjbS5r+tH9Qhy4knUSgn2KfkGDyBlEe7mRZ7T3XxzI1l9wnFXkWA2222N98ul8MNWbDmNzPZrimvULgLwFFAw8WmciZQgqbJ/cw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4sZ+c0NUaSMC2b5RgynT3sK3YTgGP7L9tJam7jwJR5Q=;
 b=Dfa7NT72bpaLvf5WweetVf9EOUzb8CRPh+fZmDxzuKWR6WK4TvL8HAbVN6DkQ1aHNBsibvIfGbqkHBFrSgpgWT83ZgXAVxVX8KABMEMTbJCh4B5W43KcpzdVDyxt3PgEI4WtYkqOsT56pfGYwqTrk4ncgIc0VTF2IFmoGinqBG4=
From: Edwin Torok <edvin.torok@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 3/5] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Topic: [PATCH v1 3/5] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Index: AQHZBOHXDfX2gYxBg0iCW8c7bxa9Ka5Y7MWAgAAhD4A=
Date: Thu, 1 Dec 2022 13:50:08 +0000
Message-ID: <A1F15A81-492C-42AF-B11E-43EFE3FF8BB3@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <63240681327af995df64b773945406b097a31d4b.1669829264.git.edvin.torok@citrix.com>
 <4ba26b93-a7b0-ee6d-f71f-6e0d78314697@citrix.com>
In-Reply-To: <4ba26b93-a7b0-ee6d-f71f-6e0d78314697@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR03MB5888:EE_|SJ0PR03MB5470:EE_
x-ms-office365-filtering-correlation-id: 1a2b54de-47a9-46ea-52c6-08dad3a2f58b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 z3VrRnvmzfWSVZch3E68E0c6lWvtJtlByKXFC7KI6PhVLdiwPUC+AYM5xUcVPJjSeWt75FkBzuyvT48AGE2dsAP3SADt72XwqOLOXne5zF29bVM9QNXu8ceGwuiLN93+Ca3MxAOqqJY5OifM/hx8M5lMJDtSIwV3AZgeVxCbAg15JyhMhL/817133YB5oAJKwp1kiPun2AgqXd/yWj3Z1DUgITzpqoGYh+/WucSRHnFfcPHTE2uvDhnT2weAd6DvvQTP6MJI2CGGgHCBBh4XcnRa1CgSPjVhoV5RjeMyoYyuwNKvyY7+ENy2Hw9dLOc7k9wL9ZKZG8YZ+3BqVmDiBPYriVr5oLaPaNOOenNw59YlIzoc+eJ5F1AcozhydSUx0HDNuClyjDlZFF17rP8+2XOGVppd1Z2syRUqJf/ejYBDzaXDJMjPtj2mTGxeeObDtLWISQJbWu4+m88acqY+uVtP+kIxpQr2tNhwA6fZNznhE3daPbTU5lVWUbO93xh6YQ9f9Qd5+nOPLxjHsCLBcYSPpr5fuza112sAtv1MgzN/BhXawypAI8KOUFn1n0xoTnv6PMYtM6F2zXRKIucbz2zbc45/FT1vz3elI6tk/aukEsNiFt3p46Z/Nws9sARfnfos9JE+TqfNLigOBm0432vhQn9uRxM1bhsQI8tuKiguOLyImZ6uSicA6fczjhXjN5B7+Ez0NQOlwSo+1DTN1U7JhnKh0jOTIGSnjN37TKM=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5888.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(136003)(346002)(376002)(396003)(39860400002)(451199015)(316002)(6636002)(66946007)(36756003)(91956017)(76116006)(478600001)(2906002)(71200400001)(86362001)(82960400001)(38100700002)(83380400001)(107886003)(122000001)(33656002)(26005)(38070700005)(186003)(6512007)(6506007)(53546011)(2616005)(54906003)(6486002)(5660300002)(37006003)(8936002)(6862004)(41300700001)(66556008)(4326008)(66446008)(8676002)(64756008)(66476007)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NmxpWnhBUU1QdkJnRlNoeUJnMWlYSDRFS0NxcllRZUEzamdkTGVkbkl6cjlT?=
 =?utf-8?B?dDdqM3BjdWdHWEVhNlpKK1BIOHBIRFNyNXl5WEZVaEVHeEdwYUphT3RjcUNs?=
 =?utf-8?B?SE9weDg5R0g4VzNvcnB6OGpjdzNMVWliYlJVZWs5dW9qWFpJT0JTRWo2aXdI?=
 =?utf-8?B?clR3d0Fwa0dVcGtVdlhSeHUzUzRpQXdIYXRyaklud3lMOEhhY0VRWnFrUkhm?=
 =?utf-8?B?aU1DdUQ0Z0ljczIzYnNSd0dRbWlmVGpKM1RoNDFOMm84RlR0ZURjU25aeTcz?=
 =?utf-8?B?KzZUekNwTk00ZDVZVFBiTjlRZmVSWGpLK3I1enJQUHZsL3NZRlZlRHRIa3B0?=
 =?utf-8?B?UWRJTjd2UUJBL3VISHVObnpMWUNlUEpUOGpiUXVrVzAwaFU4VGh1T0pnZjZz?=
 =?utf-8?B?ZWk5YmwvTnNHdDJhcm4zRDNjVHR6S24xTjg2WFJ5OWdZdnhNV2FvN2pxMXdo?=
 =?utf-8?B?dDNpUXFaTGZkc3JYOWltblBjM3RtbUVmZ3VxU0pYaHJseTQ3UzdqWDFUTWdy?=
 =?utf-8?B?aXZjZWlIVzQvQXZjaElId2hZNXU3Qm8rLzJ0a2JMVHAwZEZ5Nm9iZ1B4bFFL?=
 =?utf-8?B?Y3AvbWJTUklibkJNVmJGY01KU3UyVkwzbk9xRGljUlpDbDYzSUlZUzhKVFpF?=
 =?utf-8?B?UnBOVk1VSy85L0ZocDJPZWcyemtNMG9nZDRtdkVjd3ZURHI4dXgvNUZYcjBt?=
 =?utf-8?B?RkVXaHB3eWFmeFUyZXBIQ1FhUG81dEZQV2tSbUxDby9uWTg5ZVQwNDc3bHRl?=
 =?utf-8?B?T0lVdXEvNHVDSUNsZ2dwK2lxYW5SYVA0alIwTkhyUU9qRGV5cTZuZlRENXEw?=
 =?utf-8?B?REgyVVRaQ2lsU0pVZlI1UWpDNEFySTJHVlRRUTZJN295M2E3aUJKWU8vaUVY?=
 =?utf-8?B?cjNlQTB6cURxM2ZSWEorNWpDeVVEcWlpamRORkNSaXZZV2VyemxaQ1BtTEc2?=
 =?utf-8?B?V3Z3LzdpY1RLeHNDMzhXTnR6KzJmZHZlWmV5RWcydTRYQitkb1BLWkl1ZkxT?=
 =?utf-8?B?TmZNSnpDVjFxU0JPOTRidFFBdXhrMmxzeFZ4cWxzUkJMYU5tSFREVzRlWW5Z?=
 =?utf-8?B?VkRVYjd6bGltM1Job3hVYTJneFhabXZEVkpzcUpkS1JuS09uOFJlYzFnNWRC?=
 =?utf-8?B?cGN0RnhHR3dIQ0hZb0JZaXRtcXMwZFRnTjh4SEphdmpqNnFheUxndkswYmg4?=
 =?utf-8?B?eUtBRUN4RktvVWtZT25RWWYrbVZnNzdseitQSmh0YmdpdjBmRjQ2QnMwbWpW?=
 =?utf-8?B?dlNVTUEzZFpSWC9ITDc3SWR1c1A3MHZHN0xvNU5FK1BxNWQva3ZBQ1pIWDF4?=
 =?utf-8?B?eHZkZ0ZreEd2RWpWcG1tY3lnMjVpemttR1pOVDBQMWdEdTJEMGZWVWdJd3RK?=
 =?utf-8?B?enh6R1orSEN3Y21EL2tkbGsxMlBFQkovaGgvRVdLS29CaGpYa2UvR3hHS1hq?=
 =?utf-8?B?UFpjZ29lVjN4NXN4SmZWSHBhRWZJQzNqeEd6QUdNWFlBZE00a1c5SHpyNyt1?=
 =?utf-8?B?RUJoc3pMaVVrQ0dlZG1hdDJIcmh2Q2lCQkswNGJrN0ZCcUFFTThXREVGN3Y5?=
 =?utf-8?B?UjQybkRNRVcvL1BFMVcxSFhHNERXQUFVUkpnOGtORVFIMVVoNkszYkUvQkxY?=
 =?utf-8?B?YmRMcFZWNmRZS1JYWkhkZlRnS2ZOZ2NUbURIUzZTNUNtbFpUTU5zNDMxbFph?=
 =?utf-8?B?TTQ2TmRKSlZ3YUpoVHcvaGJ3TXBKUlhBMERuN3RleThuV2dpRE1EbW5jREIz?=
 =?utf-8?B?ZHF4cjVqRlAwTUJ0WWtvL0g2R1Z1SEhKa2RoMnMva2pHUkpLcEVwNyt1c2xX?=
 =?utf-8?B?ME92SVcrb29RV0doQm81YTg3OURJUS8wSFhYeCt5ajVJZ0txTjJFNXlNVFcz?=
 =?utf-8?B?aEU0MTFZWjN0VndxWjRLazRhRkpYS0dtYUx4eWsrWkxCclROSmJtWFVVZm1m?=
 =?utf-8?B?SE0rUm1sNWJYYVRodEtZbElKSXNzRGo0NG1HL2NJTXhEYml4cG9CUEhqamxR?=
 =?utf-8?B?YkdaeDFabVdGZ2ZsYVZhVFZXK2lDZjluNWJPT09yNWxGcGs2SEsycnNKNzNm?=
 =?utf-8?B?N3FQbFlXRmJSZnhTRjVhMTA2YzVtcGl2M0svVmVtcW15KzNRb2hnNnJYa01t?=
 =?utf-8?B?OTRxL2hMRGI5aXlzRUo2TjVpWUZEYnlOeG5JMnpWWHZ2dEMrZWhHbGJCbGhS?=
 =?utf-8?B?dlE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <04B0FA1D8A987B4BB0022B934F78EF83@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	i5uCzbph6N2tC2Acjw05/y1Qq6zQ2u01gG+6tQP6lo66yglNKTPGiHCz1/uG8WK/GytMwLDJ3+PZfDslRk7nKoiXeVL6yNMOOpqSOVQIxA8lr0KsK3QmqwN4qzHhMhbcRgxnErwRpu9sxqvcfmGlub5+nc4mxn+Vq/6h8ZABsdZuHD4A+ZqDpVNb77/+V3U79QnOjrgO257QvVL5rRDetdqYhC2g+ctDjZ/uLU1N8p/gVgoBTgpSfevcZHCFDiyn7aDMaoM4Z34CJw8ny0PIeO7kbPTLT7MDoHEJ05zIwpyHuzyYaky4eRVG/ieQ/aUD6+pOe/apSiOME4YEM8eAfPyR9WHX6ojvytouqlOZ6BCegX0DGtxqw9WfAaxBqc5PGMHYk8ojbYQPNyxBMc6CPejh8DCMChHk2WNvJSNJv7zrQhHz9ziwyByBKz7JaAIjBb6cgPzNp2fXsGJnqlh0pmCvpIwBWP+egZZIZ7WxE6JSdv58+blMxgu2jji/fOlYf65zV020GS22z6Ou0+9gmG36MLvXJ7VfSDbFoAk5NHYer/22jn0+q3wWzUKi9nU9mM4emfP9DRslwIeC3QOCVcEpnz3O7soA496/M/NzaTHTltnVBC0q8gNNvo73RkecRSwN1yhYV4o8v6yhIf4euSGARfQZhL9w6ToLSmlxLeKOQ83ijUpyHGvYKkkXWfBTbN+7yg/xwXRJnOSWmh2PkTznztLB04l2J+UGMY7UsNMWNcwHWF/rWyzU8zyai+78Z965vTIi4483A/vLncaSMko+wejFyJYabAIN4tt7nPQUqn8bfbLqiEXWztQMcRL3myx8H7KDIULFLQy8GVy7AA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5888.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a2b54de-47a9-46ea-52c6-08dad3a2f58b
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 13:50:08.3589
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: AGGfZzSC9mAJZ32mKHY4m3NaEV/qnoXMN6KO3D0WGrBKWd4vxHDpEnPPNKC/wabVklUcwiy8ClsccKc7ZqRNYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5470

DQoNCj4gT24gMSBEZWMgMjAyMiwgYXQgMTE6NTEsIEFuZHJldyBDb29wZXIgPEFuZHJldy5Db29w
ZXIzQGNpdHJpeC5jb20+IHdyb3RlOg0KPiANCj4gT24gMzAvMTEvMjAyMiAxNzozMiwgRWR3aW4g
VMO2csO2ayB3cm90ZToNCj4+IGRpZmYgLS1naXQgYS90b29scy9vY2FtbC9saWJzL3hjL3hlbmN0
cmwubWxpIGIvdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsLm1saQ0KPj4gaW5kZXggNjBlNzkw
MmU2Ni4uZjZjN2U1YjU1MyAxMDA2NDQNCj4+IC0tLSBhL3Rvb2xzL29jYW1sL2xpYnMveGMveGVu
Y3RybC5tbGkNCj4+ICsrKyBiL3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybC5tbGkNCj4+IEBA
IC0yMzYsNiArMjM2LDUxIEBAIGV4dGVybmFsIG1hcF9mb3JlaWduX3JhbmdlIDoNCj4+ICAgaGFu
ZGxlIC0+IGRvbWlkIC0+IGludCAtPiBuYXRpdmVpbnQgLT4gWGVubW1hcC5tbWFwX2ludGVyZmFj
ZQ0KPj4gICA9ICJzdHViX21hcF9mb3JlaWduX3JhbmdlIg0KPj4gDQo+PiArKCogbmVlZHMgdG8g
YmUgc29ydGVkIGFjY29yZGluZyB0byBpdHMgbnVtZXJpYyB2YWx1ZSwgd2F0Y2ggb3V0IGZvciBn
YXBzISAqKQ0KPj4gK3R5cGUgaHZtX3BhcmFtID0NCj4+ICsgIHwgSFZNX1BBUkFNX0NBTExCQUNL
X0lSUQ0KPj4gKyAgfCBIVk1fUEFSQU1fU1RPUkVfUEZODQo+PiArICB8IEhWTV9QQVJBTV9TVE9S
RV9FVlRDSE4NCj4+ICsgIHwgSFZNX1BBUkFNX1VOREVGSU5FRF8zDQo+IA0KPiBDYW4gd2UgcGVy
aGFwcyB1c2UNCj4gDQo+IHwgX0hWTV9QQVJBTV9VTkRFRl8zDQo+IA0KPiB3aXRoIGEgbGVhZGlu
ZyB1bmRlcnNjb3JlIHRvIGhpZ2hsaWdodCB0aGF0IGl0cyBqdXN0IGEgcGxhY2Vob2xkZXIgZm9y
IGENCj4gaG9sZSA/DQoNCkkgdHJpZWQgdGhpcywgYnV0IEkgZ2V0IGEgY29tcGlsZSBlcnJvciBp
ZiBJIGF0dGVtcHQgdG8gc3RhcnQgYSB2YXJpYW50IG5hbWUgd2l0aCBhbmQgdW5kZXJzY29yZS4N
Cg0KPiANCj4+ICsgIHwgSFZNX1BBUkFNX1BBRV9FTkFCTEVEDQo+PiArICB8IEhWTV9QQVJBTV9J
T1JFUV9QRk4NCj4+ICsgIHwgSFZNX1BBUkFNX0JVRklPUkVRX1BGTg0KPj4gKyAgfCBIVk1fUEFS
QU1fVU5ERUZJTkVEXzcNCj4+ICsgIHwgSFZNX1BBUkFNX1VOREVGSU5FRF84DQo+PiArICB8IEhW
TV9QQVJBTV9WSVJJRElBTg0KPj4gKyAgfCBIVk1fUEFSQU1fVElNRVJfTU9ERTANCj4gDQo+IEZy
b20gVElNRVJfTU9ERSBvbndhcmRzLCB5b3UgYXBwZWFyIHRvIGhhdmUgYSB0cmFpbGluZyBkaWdp
dCBvbiBlYWNoDQo+IGNvbnN0YW50IG5hbWUuICBJdCBhcHBlYXJzIHRvIGJlIHRoZSBmaW5hbCBk
aWdpdCBvZiB0aGUgcGFyYW1zIG51bWVyaWMNCj4gdmFsdWUuDQo+IA0KDQpJIHRoaW5rIEkgc2Vl
IGhvdyB0aGF0IGhhcHBlbmVkIChJIGhhZCB0aGUgbnVtYmVycyBzaWRlIGJ5IHNpZGUgdG8gY2hl
Y2sgdGhhdCBJIGZpbGxlZCBpbiBhbGwgdGhlIHdob2xlcywgYW5kIHRoZW4gdXNlZCB0aGUgd3Jv
bmcgcmVnZXggdG8gcmVtb3ZlIHRoZW0sDQp3aGljaCB3b3JrZWQgb24gc2luZ2xlIGRpZ2l0IG51
bWJlcnMsIGJ1dCBub3QgZG91YmxlKS4NCkknbSBmaXhpbmcgdGhpcyB1cCBpbiBteSB0cmVlIG5v
dy4NCg0KPj4gKyAgfCBIVk1fUEFSQU1fSFBFVF9FTkFCTEVEMQ0KPj4gKyAgfCBIVk1fUEFSQU1f
SURFTlRfUFQyDQo+PiArICB8IEhWTV9QQVJBTV9VTkRFRklORURfMTMNCj4+ICsgIHwgSFZNX1BB
UkFNX0FDUElfU19TVEFURTQNCj4+ICsgIHwgSFZNX1BBUkFNX1ZNODZfVFNTNQ0KPj4gKyAgfCBI
Vk1fUEFSQU1fVlBUX0FMSUdONg0KPj4gKyAgfCBIVk1fUEFSQU1fQ09OU09MRV9QRk43DQo+PiAr
ICB8IEhWTV9QQVJBTV9DT05TT0xFX0VWVENITjgNCj4+ICsgIHwgSFZNX1BBUkFNX0FDUElfSU9Q
T1JUU19MT0NBVElPTjkNCj4+ICsgIHwgSFZNX1BBUkFNX01FTU9SWV9FVkVOVF9DUjAwDQo+PiAr
ICB8IEhWTV9QQVJBTV9NRU1PUllfRVZFTlRfQ1IzMQ0KPj4gKyAgfCBIVk1fUEFSQU1fTUVNT1JZ
X0VWRU5UX0NSNDINCj4+ICsgIHwgSFZNX1BBUkFNX01FTU9SWV9FVkVOVF9JTlQzMw0KPj4gKyAg
fCBIVk1fUEFSQU1fTkVTVEVESFZNNA0KPj4gKyAgfCBIVk1fUEFSQU1fTUVNT1JZX0VWRU5UX1NJ
TkdMRV9TVEVQNQ0KPj4gKyAgfCBIVk1fUEFSQU1fVU5ERUZJTkVEXzI2DQo+PiArICB8IEhWTV9Q
QVJBTV9QQUdJTkdfUklOR19QRk43DQo+PiArICB8IEhWTV9QQVJBTV9NT05JVE9SX1JJTkdfUEZO
OA0KPj4gKyAgfCBIVk1fUEFSQU1fU0hBUklOR19SSU5HX1BGTjkNCj4+ICsgIHwgSFZNX1BBUkFN
X01FTU9SWV9FVkVOVF9NU1IwDQo+PiArICB8IEhWTV9QQVJBTV9UUklQTEVfRkFVTFRfUkVBU09O
MQ0KPj4gKyAgfCBIVk1fUEFSQU1fSU9SRVFfU0VSVkVSX1BGTjINCj4+ICsgIHwgSFZNX1BBUkFN
X05SX0lPUkVRX1NFUlZFUl9QQUdFUzMNCj4+ICsgIHwgSFZNX1BBUkFNX1ZNX0dFTkVSQVRJT05f
SURfQUREUjQNCj4+ICsgIHwgSFZNX1BBUkFNX0FMVFAyTTUNCj4+ICsgIHwgSFZNX1BBUkFNX1g4
N19GSVBfV0lEVEg2DQo+PiArICB8IEhWTV9QQVJBTV9WTTg2X1RTU19TSVpFRDcNCj4+ICsgIHwg
SFZNX1BBUkFNX01DQV9DQVA4DQo+IA0KPiBTaW1pbGFybHkgd2l0aCBFVkVOVFNUQVRfKiwgd2Ug
b3VnaHQgdG8gZW5nYWdlIHRoZSBidWlsZCB0aW1lIEFCSSBjaGVjay4NCg0KDQpJdCBsb29rcyBs
aWtlIHdlJ2QgbmVlZCB0byB3cml0ZSBhIG5ldyBBQkkgY2hlY2ssIGJ1dCBJJ20gbm90IGZhbWls
aWFyIHdpdGggdGhlIEFCSSBjaGVja2VyIHNjcmlwdCBoZXJlLA0KYW5kIHJlbHlpbmcgb24gYSBz
Y3JpcHQgdG8gcGFyc2UgdGhlIE9DYW1sIHNvdXJjZSBjb2RlIGFuZCBjaGVjayB0aGUgQUJJIHNl
ZW1zIGJyaXR0bGUgKGJ1dCBubyBsZXNzIGJyaXR0bGUgdGhhbiBub3QgaGF2aW5nIGEgY2hlY2sg
YXQgYWxsKS4NCg0KU2hvdWxkIHdlIGluc3RlYWQgc3dpdGNoIHRvIHVzaW5nIGN0eXBlcyB0byBn
ZW5lcmF0ZSB0aGVzZSBjb25zdGFudHM/IEl0IGNhbiBydW4gYXQgYnVpbGQgdGltZSBhbmQgcHJv
ZHVjZSBhIC5tbCBmaWxlIGJhc2VkIG9uIGEgYnVpbGQgdGltZSB0ZXN0DQpieSBpbmNsdWRpbmcg
dGhlIGFjdHVhbCBDIGhlYWRlciBhbmQgZ2V0dGluZyB0aGUgY29ycmVjdCBjb25zdGFudCB2YWx1
ZS4gQnV0IGl0J2QgbWFrZSBjcm9zcy1jb21waWxhdGlvbiAoaWYgWGVuIHN1cHBvcnRzIHRoYXQ/
KSBtb3JlIGRpZmZpY3VsdC4NCk9yIHdlIGNvdWxkIHJ1biBpdCBvdXJzZWx2ZXMgYnkgaGFuZCwg
YW5kIGNvbW1pdCB0aGUgcmVzdWx0IHNvIHRoYXQgZW5kLXVzZXJzIGRvIG5vdCBuZWVkIHRvIGhh
dmUgb3IgcnVuIGN0eXBlcywganVzdCBkZXZlbG9wZXJzIHdobyBjaGFuZ2UgdGhlc2UgYmluZGlu
Z3MNCihzaW1pbGFyIHRvIGhvdyBpdCBpcyB1c3VhbCB0byBjb21taXQgdGhlIG91dHB1dCBmcm9t
IGF1dG9jb25mIGFuZCBhdXRvbWFrZSBpbnRvIGdpdCB0byBub3QgcmVxdWlyZSBlbmQtdXNlcnMg
dG8gcmVydW4gdGhlc2UpLg0KDQpIb3dldmVyIGEgbW92ZSB0byBjdHlwZXMgd291bGQgcmVxdWly
ZSBxdWl0ZSBhIGxvdCBvZiBidWlsZCB0aW1lIGNoYW5nZXMgdGhhdCBJJ2QgcmF0aGVyIHN0YXJ0
IG9ubHkgb25jZSB3ZSBzd2l0Y2hlZCB0byBEdW5lLCBpdCBpcyBub3Qgd29ydGh3aGlsZSBkb2lu
ZyBpbiB0aGUgY3VycmVudCBNYWtlZmlsZSBiYXNlZA0KYnVpbGQgc3lzdGVtLg0KDQo+IA0KPiBC
dXQgdGhlcmUgaXNuJ3QgYSBzdWl0YWJsZSBlbmQgZGVsaW1pdGVyLCBhbmQgdGhlc2UgYXJlIG9u
bHkgZXZlciBhbg0KPiBpbnB1dCBpbnRvIGEgYmluZGluZyAobmV2ZXIgYSByZXR1cm4pLCBzbyBp
dCdzIG5vdCB0aGUgZW5kIG9mIHRoZSB3b3JsZA0KPiBpZiBuZXcgY29uc3RhbnRzIGdldCBtaXNz
ZWQuICAoTm90IHRoYXQgbmV3IGNvbnN0YW50cyBhcmUgbGlrZWx5LiANCj4gSFZNX1BBUkFNcyBh
cmUgYSBncm9zcyBib2RnZSB3aGljaCBJJ20gdHJ5aW5nIHRvIHBoYXNlIG91dC4pDQo+IA0KPj4g
Kw0KPj4gK2V4dGVybmFsIGh2bV9wYXJhbV9nZXQ6IGhhbmRsZSAtPiBkb21pZCAtPiBodm1fcGFy
YW0gLT4gaW50NjQNCj4+ICsgID0gInN0dWJfeGNfaHZtX3BhcmFtX2dldCINCj4gDQo+IElNTyB3
ZSBzaG91bGQgYmluZCBzZXQgYXQgdGhlIHNhbWUgdGltZS4gIEl0J3MgdHJpdmlhbCB0byBkbywg
YW5kIGZhcg0KPiBlYXNpZXIgdG8gZG8gbm93IHRoYW4gYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0
dXJlIHdoZW4gd2UgZmlyc3QgbmVlZCBpdC4NCj4gDQo+PiArDQo+PiBleHRlcm5hbCBkb21haW5f
YXNzaWduX2RldmljZTogaGFuZGxlIC0+IGRvbWlkIC0+IChpbnQgKiBpbnQgKiBpbnQgKiBpbnQp
IC0+IHVuaXQNCj4+ICAgPSAic3R1Yl94Y19kb21haW5fYXNzaWduX2RldmljZSINCj4+IGV4dGVy
bmFsIGRvbWFpbl9kZWFzc2lnbl9kZXZpY2U6IGhhbmRsZSAtPiBkb21pZCAtPiAoaW50ICogaW50
ICogaW50ICogaW50KSAtPiB1bml0DQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvb2NhbWwvbGlicy94
Yy94ZW5jdHJsX3N0dWJzLmMgYi90b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmxfc3R1YnMuYw0K
Pj4gaW5kZXggNjdmMzY0ODM5MS4uYjJkZjkzZDRmOCAxMDA2NDQNCj4+IC0tLSBhL3Rvb2xzL29j
YW1sL2xpYnMveGMveGVuY3RybF9zdHVicy5jDQo+PiArKysgYi90b29scy9vY2FtbC9saWJzL3hj
L3hlbmN0cmxfc3R1YnMuYw0KPj4gQEAgLTExNzYsNiArMTE3NiwyMiBAQCBDQU1McHJpbSB2YWx1
ZSBzdHViX3hjX2RvbWFpbl9pcnFfcGVybWlzc2lvbih2YWx1ZSB4Y2gsIHZhbHVlIGRvbWlkLA0K
Pj4gICAgIENBTUxyZXR1cm4oVmFsX3VuaXQpOw0KPj4gfQ0KPj4gDQo+PiArQ0FNTHByaW0gdmFs
dWUgc3R1Yl94Y19odm1fcGFyYW1fZ2V0KHZhbHVlIHhjaCwgdmFsdWUgZG9taWQsIHZhbHVlIHBh
cmFtKQ0KPj4gK3sNCj4+ICsgICAgQ0FNTHBhcmFtMyh4Y2gsIGRvbWlkLCBwYXJhbSk7DQo+PiAr
ICAgIHVpbnQ2NF90IHJlc3VsdDsNCj4gDQo+IHJlc3VsdCBpcyBjb21tb25seSBhIHZhbHVlIGlu
IHRoZXNlIGJpbmRpbmdzLiAgJ3ZhbCcgd291bGQgYmUgdGhlIG1vcmUNCj4gY29tbW9uIG5hbWUg
dG8gdXNlIGhlcmUuDQo+IA0KPiB+QW5kcmV3DQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 13:57:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 13:57:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450744.708164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0k4V-0003Kc-Om; Thu, 01 Dec 2022 13:57:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450744.708164; Thu, 01 Dec 2022 13:57:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0k4V-0003KV-M6; Thu, 01 Dec 2022 13:57:51 +0000
Received: by outflank-mailman (input) for mailman id 450744;
 Thu, 01 Dec 2022 13:57:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+/wf=37=citrix.com=prvs=32775c42f=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p0k4U-0003KJ-2K
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 13:57:50 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 224a04e7-7180-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 14:57:48 +0100 (CET)
Received: from mail-dm6nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 08:57:45 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 DM6PR03MB5177.namprd03.prod.outlook.com (2603:10b6:5:22b::10) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5857.23; Thu, 1 Dec 2022 13:57:43 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 13:57:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 224a04e7-7180-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669903068;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=RV+JNU/gHzSJQQ+0iMhkngH7g2i4uOA0QTyuuV6BWzs=;
  b=hpkhgWSO8LXBcwxmtH640r3PtjXk1yygCf8kvJABb3djj0jLPRdjmW7m
   Qtd9Q8sYglL81vAXIlUFFlBRjU3wbHrfm6PU4IGJhqVEeMLs5q+QtFl4Q
   kxwZ8dLOeC1ZCoOBVVL6qFRD57GfGtERdEy5BjiZc98lvuRgyZi3c1Myh
   s=;
X-IronPort-RemoteIP: 104.47.57.169
X-IronPort-MID: 86056998
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:D6GliKD6d1zUnBVW/wviw5YqxClBgxIJ4kV8jS/XYbTApDpzgWZUy
 zNNXDqDOPnZYzOjKN1wPI21pxwC65PQy983QQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlA5wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwxt5sUUte/
 60kOikfaDHS2sK8kKicc7w57igjBJGD0II3nFhFlGicIdN4BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI+uxuvTm7IA9ZidABNPLeesaLXtlUl0Deo
 mPA82X2KhobKMae2XyO9XfEaurnzX2jBdxDRe3QGvhCnFae3U4DCAIqU16ZuP3n2mibUP9cA
 hlBksYphe1onKCxdfHtUhv9rHOasxo0X9tLD/Z8+AyL0rDT4QuSGi4DVDEpQNAvqsIeXzEh0
 V6N2dTzClRHr7m9WX+bsLCOoluP1TM9KGYDYWoISFUD6ty6+YUr1EuRH5BkDbK/icDzFXfo2
 TeWoSMihrIVy8kWy6G8+lOBiDWpznTUcjMICszsdjrNxmtEiESNPuRENXCzAS58Ebuk
IronPort-HdrOrdr: A9a23:jJN0MaBaAE/1whPlHem755DYdb4zR+YMi2TDsHoQdfU1SK2lfq
 WV954mPHDP+VQssQ4b6LW90cW7LE80lqQa3WByB8bAYOCOggLBEGgI1+TfKlPbdxEW/9QtsZ
 tdTw==
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="86056998"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SBAW0UWiYBPGkkjJVMo+lfBc9jA4LSLLFjDxNArSFkXFoZBS7B86Wkl8Rn6wBD1LJ9itQCc/zdqNkYNN2JDgfOVz5OF1bs75npJXwu4PYw1jL6zjS6PLUx20mBgB2L6SK5CvNER7864YqvWUo89ZPVXv1NPjiHvTdNd2r/SpgKPStJ7z7bw14KdN9jqDOSbsQfXLS6gTLpi631VZD09e7Mg/PiWi5XxBof/v2rRgw1NAMhCC2KdZ3f4wRxhJzlqRnqL6IsQmepgPAIdWogQUcYsKp91bL75c8wcKDisvyMZg8xHuNWWRvyQccWRYUf93CR3CzXITumFDOAsQ1ubNpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RV+JNU/gHzSJQQ+0iMhkngH7g2i4uOA0QTyuuV6BWzs=;
 b=h54ZLyv6HeYIRM6ASaX6JYmMVWNuBxb7ztrKRiule56X/LRlwMYjJACelXKFEZBj33UebUH5p85GXz9dazPzAosAX/lIe5y/5o51X0l44hkwc642dJlw5X1Hd3gsWNrguJM5vKBUO4b/zYynSM8bDTlw/JYMFEKOK6JB1EqTFLRTmock4IMFpKhhwHkNf2XS4iVF+mVA2MWZCQ6q8qjDF5kru5m7RzifO33Lv8MNvirAzeXXohkgW447Z964S5a+BBlYq3nlwmesHO5L2jywZIYgopllHojcRQuO+QH7EslABOnvbTfHcQjhRbAdJt0RhFCPU0cc35/EstKOqAxiOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RV+JNU/gHzSJQQ+0iMhkngH7g2i4uOA0QTyuuV6BWzs=;
 b=kRRwibrpP7kwKu33r3q3SSzh/IF9/t8u85yU62hFKo62GT5wtUCIM43VQ/BhwbFDE8Rd949P76SaUch8GB80//wcnbDdj0qjRX9qiunZu+PfwUfZctMEBsr+Fxbe/cYExJ5mjxWgaLLHgeIrF8dxW+dU44nonFaM1M0xKjDE248=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, David
 Scott <dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 3/5] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Topic: [PATCH v1 3/5] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Index: AQHZBOHXzyNRueXKzkCvv/VJ69wZtK5Y7MWAgAAhHACAAAIeAA==
Date: Thu, 1 Dec 2022 13:57:43 +0000
Message-ID: <08D59C99-A8F8-44B1-A081-FFB0CCA8A8C5@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <63240681327af995df64b773945406b097a31d4b.1669829264.git.edvin.torok@citrix.com>
 <4ba26b93-a7b0-ee6d-f71f-6e0d78314697@citrix.com>
 <A1F15A81-492C-42AF-B11E-43EFE3FF8BB3@citrix.com>
In-Reply-To: <A1F15A81-492C-42AF-B11E-43EFE3FF8BB3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|DM6PR03MB5177:EE_
x-ms-office365-filtering-correlation-id: da7a5c93-3b8f-4b1f-d4ba-08dad3a404d0
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 FFoOKtWxitzWU6QcefID/2GXzbfrxFExdXuIkzUTOvyv/WDGCZEeYeKRGnP1eVkFAkVQU829XOWpfm156r1cXXS5VUq0J2IJeaovS5MgjD83ncIhQWe9juAny/k4deKgemmBlYJm4FzHO+DD+OdMDgOEht9635qLPwmHNBU8NDyLlIE8JpCzEhqiW5P8z5XzTjMsTMCcVT+/Z0DM3D3FzLFqydHYEbtZoxmLEXZfIfAzfxrEK+pjm8Xmj9cTb846NWQQAOGY9vC7kNyBUmrUBJnz0aTbrd7QgswLsBi15lrs1AAY/+3Cc75Nu8wJccp1nK2zzV2lQUr2ECzalGRKlq2kEU/OhseZsVptUj2COsirP6ILevp5HHMCgj0ag7oEInRWORmengTjWqLArOxdQJv8pt8t1Yz+d+m5exnXRVtYgY09eyguLG81oXXj+x+WhkRc04XGXBtBaKviwIeUBnC4JLCdiTHgKdNOYbQCRKTHKEKW8BhapMr8PFhNpuqUVFmrzNpON1mmRO1BueRyw28tZl7lYPXPy0QWmOs6wLMuFJnkl3SQmTYDPzMJvRtxOyP70Ar6cCKRekEdXefsbWIr39Vj5p6R23cwM1b8s5CuuE8yGN6P4T82HPvMesCSjlrdtxaZfw/Sr42jxrblOgi2SUBcn2IPUUzCIQvI31vr96Le7Gcabl4oAUZPKuB0mHWB/s+Vktn7S7z3TXE+UZwnk9y6k728xaFyfBkMKvdHckWXTCLqM/88aLfJ+z+8SNkGsFBerimlnehgImwHMQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(136003)(396003)(346002)(376002)(451199015)(2906002)(478600001)(316002)(76116006)(36756003)(71200400001)(6486002)(6636002)(91956017)(54906003)(26005)(83380400001)(53546011)(122000001)(82960400001)(38100700002)(107886003)(38070700005)(6512007)(2616005)(6506007)(966005)(37006003)(66946007)(86362001)(186003)(33656002)(44832011)(6862004)(4744005)(5660300002)(8676002)(8936002)(41300700001)(4326008)(66446008)(66476007)(66556008)(64756008)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?K2ZTUC9WQ3NrKytkekFyL0wxMWc5NzFFMnkybDVKd3piOVFZRGZrT3l5bW5J?=
 =?utf-8?B?cjVkRTlnaFlUYmYrMjNVWXpWTTZ4WldIT2d5Q3RhdUNkdnJNT25HYVZyaTF4?=
 =?utf-8?B?MFJQQXdZQy9jaXJrclh5ZnZGZUU3R2QvTEt2MVQ0c2RqWWVlNjRTRGFIOWdC?=
 =?utf-8?B?QmlraFhUWG1od3pDSUJmMlgvTHZvMTRxbk41d2Vscy9nVzNFVGgxaFZrUjll?=
 =?utf-8?B?eHozc3VWcUxaNldBcEd2OWtSSDIvNHp1bVI0YWNtMldvUUYzTE5TUDJGWjA0?=
 =?utf-8?B?N1lsWFcwdmtnN3d6cFlmYXhkaFIySTVkczlYanJwQnk5S01McDVUQnhWY2lJ?=
 =?utf-8?B?b1lRT0JscWJEQ1lnOExleGdiTW91SHc3L1NwOWIvSE0weFZudnZNcGlWejll?=
 =?utf-8?B?a0kySjJwOHNRenQ3QmJMa1lRR2lqZEd5eGk4cERmKzY0S1FqdG4yRmVJOTZk?=
 =?utf-8?B?WWFTbnpIY3Zxc3hkR3BBb1pmemdNYXpyUHJ2eHcreC95MC9nUkxXcHBsbFl2?=
 =?utf-8?B?QmJBQzJTaUdxZ1VHZ25HbUE2akw3MlRzSHJHMHROWEx2a0xIN3JDR0hyVFR4?=
 =?utf-8?B?Yk1aWnBST0psTUFscEZaZXd5VnUxK1RWMGpncTNBU1BJWUJTczQyVzVPK0k0?=
 =?utf-8?B?ZzE2aklnd09jWnRNZTZoeTJydXk0RXJnRFp2ZkZMNVJUNlczKzh1T0Y0R3Zx?=
 =?utf-8?B?MldFdVZDejVPZTBSNnFaZmxIVm9yMWdQR1ZSZk5CREM3QzN1SkpSR0FIMUNT?=
 =?utf-8?B?cUJDdmFIcW80aDhVTnJMc1d2eWpQM0VSbHNDbkhJUDhhdlhmdTVYeEtCekMv?=
 =?utf-8?B?bjRCWlNIME5FcXhMN1hlQkNkUFNJOFg5OFYzQ0JZOVB3MDcwNytGWVdpNThh?=
 =?utf-8?B?OVNkSTZrTElOOVFnM3AwUjg5QkU1d29rbzFwTGx5MlhuczdmT3ozc3dDb0l4?=
 =?utf-8?B?WkhoSFpZRVNoY2Qrc1A3MVp0OW4wUzYzTkRuMEVZTURuS243bk5ab2owanVL?=
 =?utf-8?B?NlNua0ZPYVdkZUd4SU1iS0xLWkFNY08wUHQ5Vmo5L0VoY1YxaklnNEhtQVBH?=
 =?utf-8?B?MTlaRjBWR3krdUxFQ0VLV0x6LzBKSldIQkhTYndqQ214eWdUcDFyRDhBRUpS?=
 =?utf-8?B?VVZKdWxWak1CYktSZCsvaDF4ZUN4b3BBYTRvWWdMTUFLQWQzbUttU2h3ZUdO?=
 =?utf-8?B?bmsrSFlFcTFiMEczM0l2TzVQMTJZWWdac0FBNzNiR0JQdFIvTm9tMWxoODJS?=
 =?utf-8?B?am9ObEtrd3QwaDExMzBzbHd4Y1MrVWRFNEhSTFRMYi95VU1YRGZ6L1ExZFgv?=
 =?utf-8?B?citRQkUwSVNIeWlGNDNwbjhHY3BJSk5HSlNIRk5ZNnE1cnhnK08vZ1g4VTNB?=
 =?utf-8?B?TW93cmNkU1JoclgweDUxdng4TE53ZXF4Y2c4T1hGUEQvZ2VDbUoyTnJCdHJi?=
 =?utf-8?B?SGM4T3JCQ1l3VUp1NmpYdDVMWk1vN1VkQnpZL1IzdnhKTUpnTEs4NC9wTUF2?=
 =?utf-8?B?bUVLeGppN21EVnQ1WVN6Z05ZUjd0c1R4c0w3ODUyWkhkVHdxWjc2MlBCMTd2?=
 =?utf-8?B?VHBlMWp2T0JNNzlLZlpGSEl2Ui9KcExHdUNiSTd2cU9QWkdDUlVRTTFzQlNW?=
 =?utf-8?B?SGNtSjFJb3k3T2ZHNTBmZVF6bjlKb2Q4SkxDakFkUU03SU80b2hiWmdIZll1?=
 =?utf-8?B?RmpJL1cwUk9rSXdVMTZ1YXIyRkF5WExuRkZtdEJyWjM4eWprcG8rMG81ZFRN?=
 =?utf-8?B?WFlGbGJ0eXhBYmdOYW8yNVpZTDFKRy9xOTBBSTZ0alVhcjV0OXdKN2dFdTc2?=
 =?utf-8?B?MWlTc3QySSs1cTZseFhBOGw2S0pZUDNJWTluRkVQUHZhMk9CNEVlaWhRNjR4?=
 =?utf-8?B?ZlhuZ3BwbzJvcGFTZ0FXaFFoYWtVTTM0bFRJMndyUnJsMFVyR0xEQy9TUWZ0?=
 =?utf-8?B?SDZlaEY1TTJoRC82anRZWEtFUlJNZzFJbGMvTmhLVmJQRnAxMldwT21adDJi?=
 =?utf-8?B?QjY1RkhmRThYMDRyTjlDdHRObjEyRnJabmtGai9SdlVhc3NjUE5lN3RWSkR1?=
 =?utf-8?B?cWJjYzYyUzlObUdhM0ZXSG12ZWZWc203Ny9JQVJQdXNsYnNNTmVUeVh2T0Vq?=
 =?utf-8?B?RFNkTHFRUFpueVk2dVRWQjk1SFRsWldNSEphMFhabnU1d3BSSE16YlFyU0x5?=
 =?utf-8?Q?nH1ivk/XzmmCfmRNLFTuUzk=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7C1F88AF7B9A8E4995C350806F706D8A@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	uI1PJKIgjw3CJAOZGbw298hFlI2oFGjxkr7oka8YnvNOxpUstMUh/NHq5MSn9KHZDh6J48dxpBZwTNmwNYg9Y93bhTVDk99K7U6adQBQAA6ECb3t0AQ9CCFeetpRqJNWWTDcnsIOaJVU/rSx3t43YjsVfF+a1dU4I/HggJLKnborHIx91+ZnRdPEdzj1dqoNeQS2CR6LD7XO4Yl2mwJ8CPX9gGspH8ffEdlQdZ1T2wZtVYvOfwWuSI0l7QYHUJBNhNojDA0Ox1PCQW/Gsd+dNA5PKIrc7zuTQUzBEwQchj8zUmayEVOeOz8yF0zLnV08UsDiABlWtptQ5P0AVmsyvPb+mDE83MruZZg2y2wHdS52KAn4f8wiyOEycAIgFwhFTMW583TEXZvHoi5kp9fCoFsbFqheGlxVwaafU3F4tb4Aa7M90mRM3Oc0xYE5MrpE91zeTPc/zPDScuNgcrsfixPVpgZVANLsEF9LUhucVfqKAukP8/ZepVEl1iLB2H15vflJ0VxGGXD34MAg9AQlhw9NS2mdZQWfQajmY6/nu1KdOnzbH3NhtUPtPmDGRCPcX6wNOYJ+eSQh0IroqrCsapE0CPidfVGCPfw7e/GUiHADBNADQRbv4skJAyxEuRwRdUUIFYUnpLqZVERXlw4KeC8Ts+QWzERpLY1eiuNI2G7ZZk4zIDlHflFygEkB+RnSJ9pTMwsFk16op2o5mPRB24cfHKUxzq7U4PUkV2E0MgFKwgsCSgHBIK+jZLqa0pQsJLwXRXI0WRCK6LumsK1gt7IpJpyl7jJyeoP3WgQdy+Yguba+ItAX+Z7QlFBoVlS/d3d3n4aVgw7rsL3HUl/dTQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: da7a5c93-3b8f-4b1f-d4ba-08dad3a404d0
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 13:57:43.4769
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: di0s218I1dBAEp56grI/W6uYTAKeM1no/pLey/nPXckZLkfXGWoCl2z/9fGtiwi43cU0fTG/vl0wyfHh85ToKXEK6pfp48S7CtgYx7W4Fhw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5177

DQoNCj4gT24gMSBEZWMgMjAyMiwgYXQgMTM6NTAsIEVkd2luIFRvcm9rIDxlZHZpbi50b3Jva0Bj
aXRyaXguY29tPiB3cm90ZToNCj4gDQo+IFNob3VsZCB3ZSBpbnN0ZWFkIHN3aXRjaCB0byB1c2lu
ZyBjdHlwZXMgdG8gZ2VuZXJhdGUgdGhlc2UgY29uc3RhbnRzPw0KDQpJIHdvdWxkIG5vdCBhZHZv
Y2F0ZSB0aGlzLiBDdHlwZXMgaXMgdGhlIGtpbmQgb2YgbWV0YSBwcm9ncmFtbWluZyB0aGF0IGlz
IGdyZWF0IHdoZW4gaXQgd29ya3MgYnV0IGhlbGwgaWYgaXQgZG9lcyBub3QgYW5kIGl0IGFkZHMg
bW9yZSBkZXBlbmRlbmNpZXMuIA0KDQpJIGp1c3QgaGFkIGEgZGlzY3Vzc2lvbiB3aXRoIEFuZHJl
dyBhYm91dCBvdGhlciB0cmlja3MgaG93IHRvIGJyaW5nIEMgY29uc3RhbnRzIHRvIHRoZSBNTCBz
aWRlIGluIG9yZGVyIHRvIGRlY291cGxlIHRoZW0uIEnigJltIHVzaW5nIGl0IGluIG15IFBvbGx5
IGxpYnJhcnkgLSBpdCBtaWdodCBub3QgYmUgdGhlIHNvbHV0aW9uIGZvciBYZW4gYnV0IHdvcnRo
IGtub3dpbmcuDQoNCmh0dHBzOi8vZ2l0aHViLmNvbS9saW5kaWcvcG9sbHkvYmxvYi9tYXN0ZXIv
bGliL3BvbGx5X3N0dWJzLmMjTDIzLUwzOQ0KDQrigJQgQw==


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 14:00:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 14:00:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450751.708175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0k6a-0003wm-8H; Thu, 01 Dec 2022 14:00:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450751.708175; Thu, 01 Dec 2022 14:00:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0k6a-0003wf-5M; Thu, 01 Dec 2022 14:00:00 +0000
Received: by outflank-mailman (input) for mailman id 450751;
 Thu, 01 Dec 2022 13:59:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mmm5=37=citrix.com=prvs=327587bd7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p0k6Y-0003wZ-Bx
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 13:59:58 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f27e4d6-7180-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 14:59:56 +0100 (CET)
Received: from mail-mw2nam12lp2043.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.43])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 08:59:37 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB5195.namprd03.prod.outlook.com (2603:10b6:5:240::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 13:59:35 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 13:59:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f27e4d6-7180-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669903196;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=PMPnxgIzo7ykEuiZkyBSQB0i85IGY7wDUm+O3cK+iCA=;
  b=BnI54CBZ5cE/Z4vTUnNK2kF1JB2gBsBA8hx4j/Y3d5X3QXQ40YY7eG//
   nEm35iBn0lAjBq3tzDk+e+dXk8CKTdaLy4LRDPaVv72v8JmL5dbVU8Azs
   U/yEkJlQP29w+QGEFvKdcaxuXIjmZuOUTFu60HrpGzBeCVYsmhQt/dU7v
   M=;
X-IronPort-RemoteIP: 104.47.66.43
X-IronPort-MID: 86057461
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:31KB/a8xxNOsp2QPKJeHDrUDoH+TJUtcMsCJ2f8bNWPcYEJGY0x3z
 mccWGmPO/fZNmH0c9t1Pdi3ox8DucTUm9ZiGlds+Sg8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6gS5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkli+
 dwjByEmMSndiuCmnYC9bulotsc8eZyD0IM34hmMzBn/JNN/G9XmfP+P4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTaNilAquFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAurBtpPS+Hmr5aGhnXIxXQDORQ1W2C4+/ajyX6bRd1TC
 VcLr39GQa8asRbDosPGdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QOuMYoSBQw2
 1SOntevAiZg2JWKTVqN+7HSqim9URX5NkcHbC4ACA4aud/qpdhpigqVFoo4VqmoktfyBDf8h
 SiQqzQzjKkSishN0Lin+VfAgHSnoZ2hohMJ2zg7l1mNtmtRDLNJraT1sTA3Md4owF6lc2S8
IronPort-HdrOrdr: A9a23:WfrL2KxMUQmdrm+1qHGfKrPxBOgkLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9IYgBapTiBUJPwIk81bfZOkMQs1MSZLXPbUQyTXc1fBOrZsnfd8kjFmtK1up
 0QFJSWZOeQMbE+t7eD3ODaKadu/DDkytHPuQ629R4EIm9XguNbnn5E422gYy9LrXx9dP4E/e
 2nl696TlSbGUg/X4CePD0oTuLDr9rEmNbPZgMHPQcu7E2jnC6l87nzFjmfx1M7XylUybkv3G
 DZm0ihj5/T8s2T+1v57Sv+/p5WkNzuxp9qA9GNsNEcLnHBmxulf4NoXpyFpXQQrPu04Fgnvd
 HQq1MLPth16VnWYmapyCGdlTXI4XIL0TvP2FWYiXzsrYjSXzQhEfdMgopfb1/w91cglMsU6t
 MJ40up875sST/QliX04NbFEztwkFCvnHYkmekPy1RCTIolbqNLp4B3xjIWLH5AJlO+1GkUKp
 goMCju3ocRTbpcVQGBgoBb+q3pYp30JGbffqFNgL3P79EcpgEF86JR/r1iop5HzuN8d3AM3Z
 W7Dkwj/os+MfM+fOZzAvwMTtCwDXGISRXQMHiKKVCiD60fPWnRwqSHqYndydvaD6Dg9qFC7q
 jpQRddryo/akjuAcqB0NlC9Q3MWny0WXDoxttF75Z0t7XgTP6zWBfzA2wGgo+lubESE8fbU/
 G8NNZfBOLiN3LnHcJM0xflU5dfJHECWIkeu8o9WViJvsXXQ7ea/tDzYbLWPv7gADwkUmTwDj
 8KWyXyPtxJ6gSxVnrxkHHqKgfQk4zEjOdN+YThjpsuIdI2R/xxWyAu+CSEz9DOLyFeuaore0
 Y7KK/7k8qA1BuLwVo=
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="86057461"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UQEVRYQNvpiaITEGBJwoPlEW8EfWeRggyQsN9bhDyw9d9n573VduqJCOfmhX411//prRSQPGvsuiiYnVOXSrR+GpzAZaP3pvK6hKKOh0pWUytRMgivU72hC9oSChjTbO84wzArOtz5bC3r3iKnPGOxZlpAqhmJz83aJyk5UNKYORNkoyq6RzbWYfVT0kgZdEWd+9FQcQARwk8qZFI5uNT0Xk9tFyP9sHu5D1G84k6NlwREm0KuQO/vGiCJxoNdjrNHBBFQ5nI7QrLKa7XsjqywL/mh4g2jPEuFWsjodItv0SY0Cfc3udcKqZx7/Tprbdg2nceE+8Oy3rGGy38wjMNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PMPnxgIzo7ykEuiZkyBSQB0i85IGY7wDUm+O3cK+iCA=;
 b=PpKlTr1sc26JRPEyosFYVyWVe6jF3e7Zl0Uue9PGCyQXrkF7Box+2EJ4QdAA10A390GTERdE1Q2LiwgWk7XNwXUJl4PXotDyVZM6xpbWYjMGFAKjYxl4w0uzhJWa+uhM8YAoni9iKoWics0Xy0oPl7wWg/ywWu+CVtUZrECjHN4Eqa9JUjLWpEHz2WiTZQWGVnx6L/rN5ip+ksJy4crnc+XhZJJs/J8IN6jiD7znuO0ELTkBtQwUMz1v8rsj99wsHRmCK756IzpI14qZGffaAr5R4MlXh3Ks3iycozHnWdQzQSQ6N0t55uKr0PN8pHR1FlYuLYNDvTgSv774wqOvLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PMPnxgIzo7ykEuiZkyBSQB0i85IGY7wDUm+O3cK+iCA=;
 b=QiqXoXUReOoWAqx2GfFTo5no64QMAicYHNQbYCnEJWo+GXv7Vbsp70FVFBvIXW/rYtNay2WlXsNrsAXmSjubRphPhjQ1b4cOL9LZYXSRWaH2AmsSmK9ep5LtPqedelcbqPNcZ8ccwrTtW25xXh1qUk6Fyg14yC3Iw2eXJ/2Hak8=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 2/5] tools/ocaml/libs/xc: add binding to
 xc_evtchn_status
Thread-Topic: [PATCH v1 2/5] tools/ocaml/libs/xc: add binding to
 xc_evtchn_status
Thread-Index: AQHZBOHxNXiRQvtogESX/t4C8rGLVK5Y590AgAAh3oCAAAbKgA==
Date: Thu, 1 Dec 2022 13:59:35 +0000
Message-ID: <f32ccd3c-0a68-ef39-296f-8071aed12453@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <4daa8daa6398774e5cb0a90c30648c970faed6af.1669829264.git.edvin.torok@citrix.com>
 <71ff1c99-4006-dd28-e01a-4c2946798f78@citrix.com>
 <EEEF329C-788A-41A0-BDC5-9E42ED07416B@citrix.com>
In-Reply-To: <EEEF329C-788A-41A0-BDC5-9E42ED07416B@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|DM6PR03MB5195:EE_
x-ms-office365-filtering-correlation-id: 2ac4cd7b-aa37-4e8d-53c7-08dad3a447ab
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 ItzToTgBM8YZOFJHze+7Q7BxztLtl3kUA/kbbxUPtMkZ7gy24BRImjMNhxxuUqWDaG4GYZ5s5YTj9Bf5LeN1OweUzzsbVz/VKFOo5ttUfFhEmZ+fnMw+I8dQndrljIUTZZZf/gKHorZsl0lKJy7IKmMuGC47lmxoa2KkXdf8EmiRgKXURF77HeldvHsFycNUihUb8pC1P+VBCnLZrjfqtoon1sC14tjzTcjGIwwzsuk/PI0P2laZ5Fk6TBH9PkosaSInWtN6eJcf9UP3Db/m7xeT/eii+CWnJfvHoeVBCXilgPzRVoQwl+fwwIc2Xi/n+2SqAxAzDIZepfckQ/tcmRFicldCmtB+jbGWCD7uSVjb1TNwQLeMieXEqPhx9TLJ9gJPUFYpTAPm70oX34U0Bcluu1O1ZlyjcLjV7v74HDxz+Q4cdBpjM7lO9b81IOu9tcSoeg1bhaRRFRpG3nRRp9wf/JRBjPHGVkhEEcjpbD29L0VpiAwmlOAaQZ4ylU5feKj+jVd6WdONzYpV9CrxXwDqWFxDHfqrYYJwS0jkyM6a6fD4iQWyGR1Y89LIOibZNQAic5NorO5/YPcoqXaMiiv1T7muTZJsBTgzSGL6wR2Vjb7a3xlmwa/J+XdCxnHkzs7qqE2G78N4dp2JSpRjBp2hDF32/dMK4yQa1bB4xvykY3Hg711bgMOQ+nPy7gEkLsi2BUJjSqAYawsEk7+/PsTlT8WzJUPqTb4DpVmzO21q6mGXwWvug+9ngK3CDKpCkJbYI9TqMi2lplWF4TlfTA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(376002)(39860400002)(366004)(396003)(451199015)(5660300002)(36756003)(6862004)(66574015)(41300700001)(2616005)(6636002)(26005)(8936002)(66556008)(64756008)(4326008)(66476007)(8676002)(66446008)(122000001)(76116006)(2906002)(38070700005)(38100700002)(91956017)(82960400001)(316002)(186003)(6512007)(54906003)(66946007)(31696002)(86362001)(71200400001)(83380400001)(37006003)(6486002)(6506007)(107886003)(478600001)(31686004)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?R2JxejJFRU1qWDNhTWFLbVdIOFFPVEo5R0txWmo2RHJPam8zY21qR2huWnd3?=
 =?utf-8?B?M25XTmp0bUd1b3gwaUdnNFpkbDBWWkpjREtDYnp3RXUzUVc4TTRCVUVHMUt3?=
 =?utf-8?B?ME81aGh2UjB1MTZrY3RVdk13OFQ2R2lIZzB2WUtJV2tORTQyclhpeXBtZ0N5?=
 =?utf-8?B?ZW9zbTAyNllZa2ZlL3pjVW5zbVZ0WVNvODkxQ1lLM2F6cXRjVmovTGFXVDNW?=
 =?utf-8?B?bmZMTFVJc0V6MjVtenl4U1Z2YVhZN3VzVi9sNnVMY0swVFllQnlQVmpXVnJH?=
 =?utf-8?B?VjcwSUVJelBlenVUVkJIQk96QW4yKzFGWWRFRUNNN1hGRUJxM1RDaGcrR0d6?=
 =?utf-8?B?UTFFTjhwSTJKMVFDdVZoUm5OaEx1Z1lHUVpQRXJnMml4ME5sOHhNZ2JMSlhw?=
 =?utf-8?B?OExtQUtMS1hkWFNiNUErMWovQjNSM3IyMmJZNlBLVUVyRkRnYjRETTd3L1FW?=
 =?utf-8?B?NEhCZDVvNjBoMDdmWFFsQkdBSjdaa0NCdktuYXBkdE9iUHZESTVTNlNiS0xR?=
 =?utf-8?B?YWhuWldiYTFIbktMVFRpQUtoeVh0TUdSUmtxWjFReVpIbElodGtqZXNtbzI2?=
 =?utf-8?B?QjBBbmFBcHg1Y3BxQWlGY2pTK1V1djdUcVJOdUg4Ym9IUkQ3cGxaTjRDTS9I?=
 =?utf-8?B?djZDR3Uvak9PV2o5cnFGclc5ZUpxRHVPaDZQdmRGOXdKSG9jUThvS2NUT00y?=
 =?utf-8?B?RENieEpnckFCb09xWFh6d3ZqYkE2dmVoZzVJZVkzVGFlL2h2Ly9YbXBrbUxq?=
 =?utf-8?B?MkxENmVOZ29nOHk4NjNEdytGeGdEUEwyQWIyWFZQWTZ2bEw2OVRaeW9uRlZy?=
 =?utf-8?B?dDZSR1QrMDJDRjhCdDVpblpwU2VFZzZ5dm5oc2FCWDltbWU5cUkyTlZnWTRT?=
 =?utf-8?B?TUs3bDlFQXpTM3I2M1RzN0FVNWVPRWg5ZG8vWmd4SjBXaTlFTm1xczg4c0hC?=
 =?utf-8?B?SEZEYjJRUURzcWFzbkllQnZwb0JmYXRVNVhEMEVaM2oxbVRzUlE0dElFd0Nx?=
 =?utf-8?B?NmwrQ2JRV2NSSk1wMkxidHg3WlZvUnpyQmRVaDkrUVkwZ3MvelZoWEhObytu?=
 =?utf-8?B?TXZmYzZ2ODNXMWJxcVN1Tm9ETENxaVdSeStCU0lhczdTb3NmeG15VVpwOVpt?=
 =?utf-8?B?U1ZqVCtvNDgwTE9pejNaekNIRDAxWDZnVVBJZXRxTnNLZGpxTU5wN0VvdWR2?=
 =?utf-8?B?UGFBRHk2dDRpWlFudGdrZVJDWmd5RHdWb2dzcE1HVVFuRkJidCtrdDlhSGFL?=
 =?utf-8?B?WlMxVEtERzNXenFpc1E3SUkzQnh4QkpzNk1kSStPTDF3ZUZoSEVOdEVtd2tu?=
 =?utf-8?B?YUNhdzQzMXZ1NlEyTTZpZ3Q0R1RRUzloeVpmUlZHNGFMYVJkR0lKVk41MDNH?=
 =?utf-8?B?akJ4czR3cXoyWWo0UTR3S1YydGtYY0prenFNTHd5ZmRUWTg4dmlOMURub2tE?=
 =?utf-8?B?T081RzJGdDdqeXZaT00vejVuM2V2Zk1zTG5MTGF2OW5vY0VRNk1uYzJIeENi?=
 =?utf-8?B?V0NYZ2MxbmtJVWVKZm5HUnVQZnU2TzVvTmdmd3drRjA5clU5NTl5THgvWDNX?=
 =?utf-8?B?S1ZNZmM1ZVBnQmxSOXkwTHVrbFUraEdrd0c5WDk3YkNMeGVha1ZwLzV2VEJz?=
 =?utf-8?B?eFpUbUZjZ05nOGlPeHM0THA5WVZrODY0LzR5RTZyUlZWeXFXTW5IWmRkZFd4?=
 =?utf-8?B?UEtoY0MwZ1JCVUQ2ZzJ6SWxvTjV5djl1dFJyUHNVeXZiN3VuT0ZIUkU3cEtP?=
 =?utf-8?B?TkhMRHRmZlVEN2w4TURYMVo3STFNSitIc2ZtTXFmdXkrLzE3UjEwTGtPcnhr?=
 =?utf-8?B?NzZiSVRsMWlYTTJETTFPbnVMeXNtUThEbnZXTFo1eFdIMnI0ZmpkdmFhUEN1?=
 =?utf-8?B?Qk4xQ0lFL3M1Q1czNTVqMmJYWi9TdVI4YnFtWGtOODJUa0o2bkdRZHhpZUx2?=
 =?utf-8?B?SVpTMDQ3Yk52dDYyM0hvK1JyWGtMa05pQ1Y5Q3FUMTB6RUpBbnh6UlB5dnFN?=
 =?utf-8?B?TlBuY0hqRXBpUk9OSm52VWZwcHczWkFkWEZ4c0piTkV4Z245N3E2MHFPWWhP?=
 =?utf-8?B?L2VrRm1LeWRXVHpOM0Z3c3FCa2NqdVFhbERWYlpRRGN0UkoyajBPMmRNTi91?=
 =?utf-8?Q?kssNN46wOHFhLsEDLQ8FkAaBX?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <2E8DD1F5C125394FB0AEDE27C9D506F7@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	qb4CFWoozWI6IWF1VocEY+YGAs/MqRZ/j0qys21Q7ycsPwHX4iBvAyuWYTzIxTALtbbVzknr4rZ/lmED7LhtSJp0oiAg2UU7aUPo5QT+tyt5Inn+L2g6lwRlzQw/zgQFPWprye5aShtM8XN82CFgE10lfVUdkRjfqBHBjG/RX95P1yfAppoBOlRYLX77XvmEsCDLg/RKnzD527q5TWsA32EQlYPjv07e/s5nTVYxBOZ6BKdBwo7r82/6AGbYZe7hDodkh15ew/3oNUgkIjrG8z0ib1letD9yt7OuPUO+4DF4dmnuzpn6s509zCCm0imcDp2EkZKpBSCd8NvBxX4NyIqcQs940zAdq0VGbiJ1iV5jY6xfqwkoErKXkpIUGy02jjHgmMVfvVHMW8Kd//HjljYXOaS/n2QvYvWqRnag1TtFOlwFkVfc0MOFRqoxy1yvYCw2VRIsGc00nqJESzsUxa+7M5VCpunjnYFaYUKr2fWDQAgJfUJuSwPi8LgM32QMVaNJHFc4p9e8goWqCadXf2cEWx1CZjdM4cIVXwjXhCouQRAmLuz00p747Q8VQo9Vp6gvvzkVRTFSjpCpPopAoKOo3A0Te5AkiBCQqHdlZeGfLsrJ9m9mowBurkDx2NsQfrsQB356AEKY3VJoAkLDPPGTOID7vBxAmnDduuj5ILP/KvQpr6x4dj99K2JPgr3SgUJT5QIJv5NL1ixtNjwCWydcTXu+0F/z05GNw72Hzr75cr/4ca+QQBhEmle5vdcp+Nhe6mcjFCvtT5AgkGRzQiZOwBKoQxoVDMoRopOQ42r4KjLm0/EEDthePpGbn811mIcAmcpIzYfDy5OIBDxOnQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2ac4cd7b-aa37-4e8d-53c7-08dad3a447ab
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 13:59:35.6697
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: TDnGoEp9nj0T/NNxUQ2WOVdL9bOJQRyKmSgQRFjLFWN9lBfKutZiJ1AEBIVtR49ywsx67wHN9XJ/qh2Sttvo6y2j1naYQ0QN9CjYRITiOZs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5195

T24gMDEvMTIvMjAyMiAxMzozNSwgRWR3aW4gVG9yb2sgd3JvdGU6DQo+PiBPbiAxIERlYyAyMDIy
LCBhdCAxMTozNCwgQW5kcmV3IENvb3BlciA8QW5kcmV3LkNvb3BlcjNAY2l0cml4LmNvbT4gd3Jv
dGU6DQo+Pg0KPj4gT24gMzAvMTEvMjAyMiAxNzozMiwgRWR3aW4gVMO2csO2ayB3cm90ZToNCj4+
PiArDQo+Pj4gKyAgICBjYW1sX2VudGVyX2Jsb2NraW5nX3NlY3Rpb24oKTsNCj4+PiArICAgIHJj
ID0geGNfZXZ0Y2huX3N0YXR1cyhfSCh4Y2gpLCAmc3RhdHVzKTsNCj4+PiArICAgIGNhbWxfbGVh
dmVfYmxvY2tpbmdfc2VjdGlvbigpOw0KPj4+ICsNCj4+PiArICAgIGlmICggcmMgPCAwICkNCj4+
PiArICAgICAgICBmYWlsd2l0aF94YyhfSCh4Y2gpKTsNCj4+PiArDQo+Pj4gKyAgICBpZiAoIHN0
YXR1cy5zdGF0dXMgPT0gRVZUQ0hOU1RBVF9jbG9zZWQgKQ0KPj4+ICsgICAgICAgIHJlc3VsdCA9
IFZhbF9ub25lOw0KPj4+ICsgICAgZWxzZQ0KPj4+ICsgICAgew0KPj4gVGhpcyBpcyBhY3R1YWxs
eSBvbmUgZXhhbXBsZSB3aGVyZSB1c2luZyBhIHNlY29uZCBDQU1McmV0dXJuIHdvdWxkDQo+PiBz
aW1wbHkgdGhpbmdzIHN1YnN0YW50aWFsbHkuDQo+Pg0KPj4gc3dpdGNoICggc3RhdHVzLnN0YXR1
cyApDQo+PiB7DQo+PiBjYXNlIEVWVENITlNUQVRfY2xvc2VkOg0KPj4gICAgIENBTUxyZXR1cm4o
VmFsX25vbmUpOw0KPj4NCj4+IGNhc2UgRVZUQ0hOU1RBVF91bmJvdW5kOg0KPj4gICAgIC4uLg0K
Pj4NCj4+IFdvdWxkIHJlbW92ZSB0aGUgbmVlZCBmb3IgdGhlIG91dGVyIGlmL2Vsc2UuDQo+DQo+
IENBTUxyZXR1cm4gaGFzIHNvbWUgbWFjcm8gbWFnaWMgdG8gZW5zdXJlIGl0IGdldHMgcGFpcmVk
IHdpdGggdGhlIHRvcGxldmVsIENBTUxwYXJhbSBjb3JyZWN0bHkgKG9uZSBvZiB0aGVtIG9wZW5z
IGEgeyBzY29wZSBhbmQgdGhlIG90aGVyIGNsb3NlcyBpdCwgb3Igc29tZXRoaW5nIGxpa2UgdGhh
dCksDQo+IHNvIEknZCBhdm9pZCBwdXR0aW5nIGl0IGludG8gdGhlIG1pZGRsZSBvZiBvdGhlciBz
eW50YWN0aWMgZWxlbWVudHMsIGl0IG1pZ2h0IGp1c3QgY2F1c2UgdGhlIGJ1aWxkIHRvIGZhaWwg
KGVpdGhlciBub3cgb3IgaW4gdGhlIGZ1dHVyZSkuDQoNCkZyb20gdGhlIG1hbnVhbDoNCg0KIlRo
ZSBtYWNyb3MgQ0FNTHJldHVybiwgQ0FNTHJldHVybjAsIGFuZCBDQU1McmV0dXJuVCBhcmUgdXNl
ZCB0byByZXBsYWNlDQp0aGUgQyBrZXl3b3JkIHJldHVybi4gRXZlcnkgb2NjdXJyZW5jZSBvZiBy
ZXR1cm4geCBtdXN0IGJlIHJlcGxhY2VkIGJ5IC4uLiINCg0KSXQgaXMgY29tbW9uIGluIEMgdG8g
aGF2ZSBtdWx0aXBsZSByZXR1cm5zLCBhbmQgdGhlIG1hbnVhbCBkb2VzIHNheQ0KIkV2ZXJ5IG9j
Y3VycmVuY2UiIHdpdGhvdXQgc3RhdGluZyBhbnkgcmVxdWlyZW1lbnQgZm9yIHRoZXJlIHRvIGJl
IGENCnNpbmdsZSBvY2N1cnJlbmNlLg0KDQpDQU1McmV0dXJuIGNhbid0IHN5bnRhY3RpY2FsbHkg
d29yayBzcGxpdHRpbmcgYSBzY29wZSB3aXRoIENBTUxwYXJhbSwNCmJlY2F1c2UgdGhlbiB0aGlz
IHdvdWxkbid0IGNvbXBpbGU6DQoNCkNBTUxwcmltIHZhbHVlIHN0dWJfeGNfZXZ0Y2huX3N0YXR1
cyh2YWx1ZSBmb28pDQp7DQrCoMKgwqAgQ0FNTHBhcmFtMShmb28pOw0KwqDCoMKgIGludCBiYXIg
PSAwOw0KDQpyZXRyeToNCsKgwqDCoCBpZiAoIGJhciApDQrCoMKgwqAgwqDCoMKgIENBTUxyZXR1
cm4oZm9vKTsNCg0KwqDCoMKgIGJhcisrDQrCoMKgwqAgZ290byByZXRyeTsNCn0NCg0KQ0FNTHJl
dHVybiBkb2VzIHVzZSBhIG5vcm1hbCAiZG8geyAuLi4gfSB3aGlsZSAoMCkiIGNvbnN0cnVjdCBz
aW1wbHkgZm9yDQpiZWluZyBhIG1hY3JvLCBhbmQgZm9yY2VzIHBhcmluZyB3aXRoIENBTUxwYXJh
bVggYnkgcmVmZXJlbmNpbmcgdGhlDQpjYW1sX19mcmFtZSBsb2NhbCB2YXJpYWJsZSBieSBuYW1l
Lg0KDQoNClNvIEkgcmVhbGx5IGRvIHRoaW5rIHRoYXQgbXVsdGlwbGUgQ0FNTHJldHVybnMgYXJl
IGZpbmUgYW5kIGNhbm5vdA0KcmVhc29uYWJseSBiZSBicm9rZW4gaW4gdGhlIGZ1dHVyZS4NCg0K
QnV0IGlmIHdlIGRvIHJlYWxseSBzdGlsbCB3YW50IHRvIGtlZXAgYSBzaW5nbGUgcmV0dXJuLCB0
aGVuIGEgImdvdG8NCmRvbmUiIHdvdWxkIGJlIGFjY2VwdGFibGUgaGVyZSBhbmQgc3RpbGwgYmV0
dGVyIHRoYW4gdGhlIGlmL2Vsc2UuDQoNCj4+IGNhbWxfYWxsb2Nfc29tZSgpIGlzIHBlcmhhcHMg
bGVzcyBpbnRlcmVzdGluZyBhcyBpdCBvbmx5IGFwcGVhcmVkIGluDQo+PiBPY2FtbCA0LjEyIEFG
QUlDVCwgYnV0IHdlIGNvdWxkIGFsc28gaGF2ZSBzb21lIGlmZGVmYXJ5IGZvciB0aGF0IGF0IHRo
ZQ0KPj4gdG9wIG9mIHRoZSBmaWxlLg0KPj4NCj4+IEkgZG9uJ3Qga25vdyB3aGV0aGVyIHdlIGhh
dmUgb3BlbmNvZGVkIG9wdGlvbnMgZWxzZXdoZXJlIGluIHRoZQ0KPj4gYmluZGluZ3MsIGJ1dCBp
dCBjZXJ0YWlubHkgd291bGQgYmUgcmVkdWNlIHRoZSBhbW91bnQgb3BlbmNvZGluZyB0aGF0DQo+
PiBleGlzdHMgZm9yIHN0YW5kYXJkIHBhdHRlcm5zLg0KPg0KPiBwZXJoYXBzIHdlIGNhbiBsb29r
IGludG8gZG9pbmcgdGhhdCBjbGVhbnVwIGFzIGEgc2VwYXJhdGUgcGF0Y2guDQoNClByb2JhYmx5
IGJlc3QsIHllcy4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 14:17:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 14:17:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450758.708187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kN5-00078j-MR; Thu, 01 Dec 2022 14:17:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450758.708187; Thu, 01 Dec 2022 14:17:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kN5-00078c-IP; Thu, 01 Dec 2022 14:17:03 +0000
Received: by outflank-mailman (input) for mailman id 450758;
 Thu, 01 Dec 2022 14:17:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pMaK=37=citrix.com=prvs=3274cb7b8=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p0kN3-00078W-I7
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 14:17:01 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0206170-7182-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 15:16:58 +0100 (CET)
Received: from mail-dm6nam11lp2173.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 09:16:55 -0500
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com (2603:10b6:a03:2d6::7)
 by BLAPR03MB5443.namprd03.prod.outlook.com (2603:10b6:208:297::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 14:16:54 +0000
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b]) by SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 14:16:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0206170-7182-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669904218;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=r3gpdYtysnz1aSDNjr62zKpdVXvwyrys4yV22BUop9E=;
  b=PiLXFF4FPFrnE5xxGA6wtZ6p0cjKrn9TNEQXn1nWak2D03rYzowKIaDn
   MdJ0I/BfOI5PYqmRwmmVTv3j5uEGUxu0u4p+2EvGfkZ9HexvG+pb4ohCa
   eI6jRceLnHNBywNsQ5GwmJDLRnbFTpczniHqEDdRX+f95uYq3NAEaTkYg
   I=;
X-IronPort-RemoteIP: 104.47.57.173
X-IronPort-MID: 86061910
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:buAcCajuLSDO7QSV3aO5Mv1TX161RxEKZh0ujC45NGQN5FlHY01je
 htvXT2BMqvcYjD1etwnb9+w90kHvZLQz9I3QAA//ywzHy4b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5geHzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQ4A2gDUhqRrtuLzaykWudQhc49IuL0adZ3VnFIlVk1DN4AaLWaGuDmwIEd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEuluGya7I5efTTLSlRtkuUu
 GPAuXj+GBYZHNee1SCE4jSngeqncSbTCNxKSuTpr6YCbFu7300WUxsLD1WHp6eG11eABe90N
 2Epw397xUQ13AnxJjXnZDWorXjBshMCVt54F+wh9BrL2qfS+xyeBGUPUnhGctNOnMM/WzECz
 FKCmNLtQzt1v9W9Vna15rqS6zSoNkAowXQqYCYFSU4J5oflqYRq1xbXFI88S+iyk8H/Hiz2z
 3aSti8iir4PjMkNkaKm4VTAhDHqrZ/MJuIo2jjqsquexlsRTOaYi0aAszA3Md4owF6lc2S8
IronPort-HdrOrdr: A9a23:PLDTRK2bvtmzt8m1dCP9KgqjBLEkLtp133Aq2lEZdPU1SL36qy
 nKpp8mPHDP4gr5J0tQ/uxoVJPtfZqkz+8Q3WBzB9eftWvd1VdARbsKhbcLqVbbakjDH4hmup
 uIGJIeNDSfNzZHZauQ2njbL+od
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="86061910"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QuSPedb8Gzk0sgw8sJwrEbdAGA0qROw9jnsPNkbE2SFTN93UbtqQHqr0i5a/ujhUuiEVVKkQx0jFSmz4lNNYbkSfmBrz5WOoA7QYmjRSFcGH6VtvZvZxQyQ9bVEYG9vw8NFcBOTLfNvLxPPE7qdmbIyg1adjVlxfufHXPGvWZujtnMsbcvASeCWOd2Bse9aLu/0AX2kM0sK8tq8cBnYACWAdZFnCLY0vjVkAac1UQoVd0xD6iWcZnTOXBHNeSrmJDE0H8g9PiC3E+9+Doblz0DH6XP892p5hylBpJRzEZoS/zvVFrfVVyxXIODrhY36y5Iyp+MtU9yLmCgG5C1iJ+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r3gpdYtysnz1aSDNjr62zKpdVXvwyrys4yV22BUop9E=;
 b=FybKyNLCZu41MaOGzrawmOqVKDc7eZYGtMqROivj+4x2NKOtGQrWhJEXenrF/yQkdi1wt350tPg6Zp83yPZT3Gzd+kyUzPDS3oNdsVEH0Q2ikv8Klu+siqrlW8hu2L4s8UOpm+OxyQsNGNTAFJ+d9qLMZsbcDDY8LONSZBZVczmS8BbX9owTrwrGQ2fR4W/7F8JxbfN+0QwhAeAhCbMmfl8uD7qBc6NtnkAwIe2pb3irhU5ZTwLM+RVeslSAwj9ikDFOakvp15kuI/R9a1CqNAd0ZIdS3SkFALCk7aJLIMfkxPicdr+1zq5F9lmY6J8wuik7SErnjkBpJGy2xhYV6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r3gpdYtysnz1aSDNjr62zKpdVXvwyrys4yV22BUop9E=;
 b=LydppHu8MBWTxvm4z+xNTRW6+RAYM14jG8oSZKjxLzeqQsuNHyGdlMZSaOYuBxKfYbje5h7oLeR0W2ArcjNX8AbdN+ccsw7KJ9u38Z85CesUXhH2dLVPu/OJViYnmcE6nmChOJsGKpVuB/599YOv91klKVzeiUOqRHF2c490ePs=
From: Edwin Torok <edvin.torok@citrix.com>
To: Christian Lindig <christian.lindig@citrix.com>
CC: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, David
 Scott <dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 3/5] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Topic: [PATCH v1 3/5] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Index: AQHZBOHXDfX2gYxBg0iCW8c7bxa9Ka5Y7MWAgAAhD4CAAAIsgIAABU4A
Date: Thu, 1 Dec 2022 14:16:53 +0000
Message-ID: <DD8F6F10-D9D2-4433-B2D2-ADB419F2FB8B@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <63240681327af995df64b773945406b097a31d4b.1669829264.git.edvin.torok@citrix.com>
 <4ba26b93-a7b0-ee6d-f71f-6e0d78314697@citrix.com>
 <A1F15A81-492C-42AF-B11E-43EFE3FF8BB3@citrix.com>
 <08D59C99-A8F8-44B1-A081-FFB0CCA8A8C5@citrix.com>
In-Reply-To: <08D59C99-A8F8-44B1-A081-FFB0CCA8A8C5@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR03MB5888:EE_|BLAPR03MB5443:EE_
x-ms-office365-filtering-correlation-id: 9b86be05-d77e-42f1-3cb9-08dad3a6b27d
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 dpTVbgd2IGF1IR9IqEs3P4tUhvmCqN5mJgSdPtxKnnSd4NmAs12kh3g04CP8uvp1NXgOSZzAXZ7Kcm+ofIvzKJuJHH8fFBiE8vkeBFVWfDKt1bc956t1y0UmuVTCvUS4K0MEp0lfcaTwqa8QVwaqvD7KQcqPNScsm7VyxKjV9TyGg5qdqF9AxPcVraIbevi5K4b5JK547Nsgj2bJbMlWR9N1YmxWlwJmgQkdwBgMcUipU5O86AuVz4ApOkCuxXNw3GrPjGwYbMeCWh6JR32mBfY5VwhjP7eoqxKJT8jQaO31UYOgvgrRodj8Ahzxds1gvybAGA2XJr2bZZigIYCYITpFsa95jmjttWopVgBUcEIqoBtN633qUp4MpO+adEMVMN2hK24AJsdS60TXg6WslDG829beJWQbFuzBvP24xbX2c1ZrJh1fFhV3CLzaxvxBSH8bnMoO7F4Z65ebCKvucmA4PnOK7MKRSvFHjHhEai/P6xV20p4fZrYLwnqtXyBJNaZX5NoO1KC5FizGHOa0Rvqsre5vj/12gYcTG7J5SOxQPL69fwMoAJUBwKk7an33UmUnxUIzWeOELMlybN72bdNwOnfJ0RXaGlMgls1ruXEyRcvEHlM8/qZ5Q5UQ1omj0xKkX1NXkFV8wfA90Y3PfvzqI4cdqRJV2tQ1NHFTrRrfkCQhoQvFXccSxm/oI4pVttX7yThKYQ3WlILo/dXAzCL3EiL2Wu00TP9vww2bRbA4SxbvZi1eKTFygJ8pSP7OH0xw6laKlxxeSONmmLG7DSflpMdjM2nogeHIXquaSmXTmjjLdndjgr4btFDCMWZ2
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5888.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(376002)(366004)(396003)(136003)(451199015)(83380400001)(38100700002)(122000001)(71200400001)(6486002)(6506007)(37006003)(33656002)(54906003)(966005)(26005)(6512007)(36756003)(86362001)(107886003)(38070700005)(82960400001)(5660300002)(186003)(2616005)(8936002)(478600001)(53546011)(66556008)(91956017)(6636002)(41300700001)(66446008)(8676002)(76116006)(2906002)(316002)(6862004)(64756008)(4326008)(66476007)(66946007)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RVhESktOM2hib2FTZEJUZlIvWCtObU43SStqQnoxdWUrOGZXSEptcEYwVExx?=
 =?utf-8?B?UVk0WmpMSGE3VUJQUTRSWmsvNWxtVTFSTFZuNUNuYy8xOTJGZWxUUUdOaUli?=
 =?utf-8?B?bFJoSlVpZHM2WGV3eDR3T01JaGl5YkxvdEIzcExHa3M1anU5bHg3MFY0R3JC?=
 =?utf-8?B?aXRVYTd6eERrYlFRZXBEVVEyQVIvVVpXV0hxK1pINjQvSnd6K252eVQxQkVI?=
 =?utf-8?B?WFNWRWFHQVhFaUxQVGltMUMzSW1vd3ZEM1hHSWN3MmFMS0dOSXphUTF2REZU?=
 =?utf-8?B?aHIxdmVybytHTUZENjh2eitGS0dYcUlSYU4vbFlPVkNzUDhDUE5mT2VsOTVC?=
 =?utf-8?B?UCtiWUxFM2ZDdCtIeEJUSDBPY0NUN3JMd3BRdmx2UUpackpxb2tJMnU2TDI0?=
 =?utf-8?B?aGk0TTdGMUI0Q0xVWVhWMFdRekF6NmJMSmhvVTBJWngzSHZYdkJaZ2VjQlIw?=
 =?utf-8?B?QW1KOTdDRDRkazdGSFUwemR2Umc3YWY3Y0ltcG9rT1N1cEs5TUFvL3BsNGJy?=
 =?utf-8?B?WTRUakhoeDcvc0FOS2h2R0xWZ2lzdlQ0djkxS1JoMHFWeWs4VWlrN0ZEajRs?=
 =?utf-8?B?d2ttVmoyVWFPckRvd0ZhNEIxQitaSkRsemVub0FSemV4dE5TaTE1SlhBZGM4?=
 =?utf-8?B?U2RyU1pZaVZOVnRmbFVreEpVdTAwbnhQcU5PNlAwY3kwTzZXdkZWS2tWZHA2?=
 =?utf-8?B?MnVzTVIwek1XUFdQK1RFVDNkdTNpeXVKVEp2aTVMNDdpVm1iME04U1RKd2ts?=
 =?utf-8?B?Ym9scE8yNVBJa0l4cEFFeE5GS3I5M1NwY2lLVllpVmYrQVlPb0JXY2NMNUFo?=
 =?utf-8?B?eHZTeVZoazdFZys3ajMvNzE2VHBPdkxDdm9QVEpnTThqcEt1YzRJbFlRNVJt?=
 =?utf-8?B?UkFjdWMvN1ltT3kwREF1d0t5WEVkUnBzdTJZZVIyUnlVRVBJZkRObDFQbWdC?=
 =?utf-8?B?WHlaenJrZmQrWHEwZjZEQ2JibTlEM2hTREFFZUIvbVk1RHI1NXg3dktwWEU5?=
 =?utf-8?B?dkJUVVB0MXU2Y3ZvT1ozMExxa2lCSmdTeUFTeDVhazU4Rmo0cVliTHVLYTl6?=
 =?utf-8?B?MzV4SHVFQzQydHVXd0xSVFpwczNFWG85MUFjZ0NselM1dE4xd0Y0WE9WRXpN?=
 =?utf-8?B?U0l0MVlSb0p3UXcwYWN5Sll0cnBTSWZ1cXAvT3JsRUw2Q0QwRmJrRUJ3b1c0?=
 =?utf-8?B?bXhQaGZWM1pkSFluZmpkQjNVcnh5MXNuWjNOSG9SRTBnckc5WEdsZ1RxNWVk?=
 =?utf-8?B?UWUza3hyeVcvcjRnVmdWNXZxVkk2N1ExN2VVVnFJNTRVTWtRc2U1L0pzcmpx?=
 =?utf-8?B?bXJQdlg2R2UzSlQ2NzJzSEZRcXQzWW9CMEZrV0tZcmFHakVlTWV6NitiZnpl?=
 =?utf-8?B?T2tCMDZVUGl5cWc1THhOMFJPRlFuMEdnMzFsM1pZVitDMk42Vk5weC9rU3l2?=
 =?utf-8?B?YmJ4dXN1dE5ncVNIQmRxdzdaYWFXbGpTRnRDSnVYNTF1MFRHbTZMNWRDRlBa?=
 =?utf-8?B?R3RwZnhtVFB2bUkxaVNid1dRLzJtNlBWZ3BTd0xoM3hsV2FxL1NHN2JFeVYr?=
 =?utf-8?B?eVd1UzBzU1RTMlU2WW4vcFZwL1hpQmROVDl6UUVGdElxTE0wV20vNmxnWHVL?=
 =?utf-8?B?VFpiV2ZEWWIwMGlHazJuVithaFFNZlhBeE53eTNDd1QyTkdmK2VETStKRHZ4?=
 =?utf-8?B?aTkvNXBJaDE1N3BNbTNnVUtNNm1uV0V6SmpmMW0rRUhZUWsyVXA1MTN4dkxv?=
 =?utf-8?B?YWl3bmhLZThjLy9zK3pEeFJTcURveW5MTzF6dVg1K3N0cmhOUGVNWW54U2N4?=
 =?utf-8?B?OWQ1ckwvZnRMS3Fvb2NtaGx3SXlCLy9qRGt2NzNMMnlMWmtMTWI1UUU4clVs?=
 =?utf-8?B?cHNpWGkvaGxtNGJGQUZmME55eTNUcmtRN3ozaTh3WTNxc2NscWkwZXFQdHp1?=
 =?utf-8?B?V0gzSkhaZXhFZmtIWDRNSm1ESGtjVDJkNnB5L3NOcDQ5NjQwRnhydGVRczdZ?=
 =?utf-8?B?K0JuTmVrdVdPb1JIWmhEcGdXMUdITTQ4WG9TUFBqbXVnWVYvRXNuV2RlTDh3?=
 =?utf-8?B?L2xhMXpxNTNIYlYwNjlsSUpOUk9ZNDA0TGRtbGQ1UmlCNTNlN0IvaDJ4TGJT?=
 =?utf-8?B?dnNGbVJ1UTBCU3B2NmliNzh2K1pvSG1reGV6N1REV2xCREF4N1JLMGlrTWxy?=
 =?utf-8?B?WFE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D51A0B34950DE145B719E28F6F3E0E8B@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	VUwKzis+OczPvRVikbJjAl27wwfKQxVQq/7dllmHCAqpMxU8q5hjHg/48Dj1G794Ggc2OFP40AsMulhO1Bpq9yf5sqFbTU8y/raBIL/IezIgX7gdfOqL20VBhe8naHtwNzLNR8dUaqei8fW51axDPn3yZ6NH4yO28FgNB1tB0l0xw1cJEOyzk2F0Qj+AgyXMmlai2/71Go/VS6eSvkgLMjL45Hn7qdPfZ7OyoI/JBatJ6ji1KVfBHQco6yXeynb9h7Xx1PwaiV/OI9+YtGsc0FA0ExLk0+Eafs1x6YMcOnAR/z4gDJRBnXFvbc5CAxa1u25/XmHBYgfx1SPC7Aq4dtjNBy1HILHEd8hbanwxzEuW+M/wa1NzakGvtL8OxN52Bz05WcZfUSVM5++w6LXykY517IWY82MRwAYrc0xIpkiA3g36WxBt0yP1CfpMKUcyn5zzp9CTjYsyZxWn50QYhPZ/CHmUGmdQ29kaV/RaC4my1WNmd0xGsRX1XQYIK0FE3xQmtqXRfifW9sN/SYldDkoERJA8nWg9TYo7H+lX3qzRx1ly3Zb84u5YdJ0INyQET7ecC8OO+iC54u59Bzq0r9dwvDZLSNEcIJ8jKk+RUsgSXn8IBShwV7xZlqS4XQD5jW1WI5r1jHzaF8bhYRm8Mo4RYkM1IyXRBEY8a6n/JRSqjeLigJP8KfA0yY3bXQL6ylOozrChJ27T+6mqPa6Vy9IHjwBtfKbLqH2nhUpJ/qZ202WRfa5MrpQIGDZJHhbZyssjBbNbEbm5g0EEogdH/rxxsPinEr0b8Ug4TvVy03a4DXIzZtTjg97A2XqqbgLEpTReXADTL607AIXrAhnp6w==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5888.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b86be05-d77e-42f1-3cb9-08dad3a6b27d
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 14:16:53.8774
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: HVFt7s3uQimz7jT9Uv/RL+nzP3uPA3vocguObbJ9ni77BbegiOGp0DVTc8ijiTuur3QRuptWRtkB0w1MSTz54A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5443

DQoNCj4gT24gMSBEZWMgMjAyMiwgYXQgMTM6NTcsIENocmlzdGlhbiBMaW5kaWcgPGNocmlzdGlh
bi5saW5kaWdAY2l0cml4LmNvbT4gd3JvdGU6DQo+IA0KPiANCj4gDQo+PiBPbiAxIERlYyAyMDIy
LCBhdCAxMzo1MCwgRWR3aW4gVG9yb2sgPGVkdmluLnRvcm9rQGNpdHJpeC5jb20+IHdyb3RlOg0K
Pj4gDQo+PiBTaG91bGQgd2UgaW5zdGVhZCBzd2l0Y2ggdG8gdXNpbmcgY3R5cGVzIHRvIGdlbmVy
YXRlIHRoZXNlIGNvbnN0YW50cz8NCj4gDQo+IEkgd291bGQgbm90IGFkdm9jYXRlIHRoaXMuIEN0
eXBlcyBpcyB0aGUga2luZCBvZiBtZXRhIHByb2dyYW1taW5nIHRoYXQgaXMgZ3JlYXQgd2hlbiBp
dCB3b3JrcyBidXQgaGVsbCBpZiBpdCBkb2VzIG5vdCBhbmQgaXQgYWRkcyBtb3JlIGRlcGVuZGVu
Y2llcy4gDQoNClBlcmhhcHMgdXNlIGl0IHRvIGp1c3QgZ2VuZXJhdGUgdGhlIGNvbnN0YW50IG1h
cHBpbmdzPw0KSGVyZSBpcyBhbiBleGFtcGxlIG9mIGhvdyBJIHVzZWQgaXQgZWxzZXdoZXJlOg0K
aHR0cHM6Ly9naXRodWIuY29tL3hhcGktcHJvamVjdC9vY2FtbC1kbG0vYmxvYi9tYXN0ZXIvbGli
X2dlbi90eXBlcy9iaW5kaW5nc19zdHJ1Y3RzLm1sI0wzMC1MNTUNCg0KPiANCj4gSSBqdXN0IGhh
ZCBhIGRpc2N1c3Npb24gd2l0aCBBbmRyZXcgYWJvdXQgb3RoZXIgdHJpY2tzIGhvdyB0byBicmlu
ZyBDIGNvbnN0YW50cyB0byB0aGUgTUwgc2lkZSBpbiBvcmRlciB0byBkZWNvdXBsZSB0aGVtLiBJ
4oCZbSB1c2luZyBpdCBpbiBteSBQb2xseSBsaWJyYXJ5IC0gaXQgbWlnaHQgbm90IGJlIHRoZSBz
b2x1dGlvbiBmb3IgWGVuIGJ1dCB3b3J0aCBrbm93aW5nLg0KPiANCj4gaHR0cHM6Ly9naXRodWIu
Y29tL2xpbmRpZy9wb2xseS9ibG9iL21hc3Rlci9saWIvcG9sbHlfc3R1YnMuYyNMMjMtTDM5DQoN
Cg0KVGhlIGRpc2FkdmFudGFnZSBpcyB0aGF0IHdlIGNhbid0IHBhdHRlcm4gbWF0Y2ggb24gaXQg
YW55bW9yZS4NCg0KQWx0aG91Z2ggd2UgY291bGQgaGF2ZSBzb21lIE9DYW1sIGNvZGUgdGhhdCBk
b2VzIHRoZSBwYXR0ZXJuIG1hdGNoaW5nIG9uIGFub3RoZXIgdHlwZSBhbmQgbWFwcyBpdCB0byB0
aGVzZSBwcml2YXRlIGludGVnZXIgdHlwZXMuDQpIb3dldmVyIGF0IHRoYXQgcG9pbnQgd2UndmUg
bWFudWFsbHkgcmVpbnZlbnRlZCB3aGF0IGN0eXBlcyB3b3VsZCBhbHJlYWR5IGRvLCBhbmQgd2Ug
aGF2ZSBhbiBhZGRpdGlvbmFsIG1hcHBpbmcgc3RlcCAod2hpY2ggbWF5IG5vdCBtYXR0ZXIgZnJv
bSBhIHBlcmZvcm1hbmNlIHBvaW50IG9mIHZpZXcgYnV0IHdvdWxkIGJlIG5pY2UgaWYgd2UgY291
bGQgYXZvaWQgaXQpLg0KDQpJJ2xsIGhhdmUgdG8gZG8gc29tZSBleHBlcmltZW50cyB0byBzZWUg
aG93IHRoZSBjb2RlIGdlbmVyYXRlZCBieSBjdHlwZXMgbG9va3MgbGlrZSBpbiB0aGlzIGNhc2Ug
KGFjdHVhbGx5IHRoZSAnY3N0dWJzJyBwYXJ0IG9mIGl0KSwgYW5kIGhvdyBkaWZmZXJlbnQgaXQg
d291bGQgYmUgZnJvbSBtYW51YWxseSB3cml0aW5nIGl0DQooaS5lLiBjYW4gd2Ugc3RpbGwgcmVh
c29uYWJseSByZXZpZXcgdGhlIGdlbmVyYXRlZCBjb2RlLCBhbmQgd291bGQgaXQgbG9vayBsaWtl
IHNvbWV0aGluZyB0aGF0IHdlJ2Qgd3JpdGUgb3Vyc2VsdmVzPykNCg0KQmVzdCByZWdhcmRzLA0K
LS1FZHdpbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 14:23:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 14:23:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450766.708198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kSn-0000YI-Fj; Thu, 01 Dec 2022 14:22:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450766.708198; Thu, 01 Dec 2022 14:22:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kSn-0000YB-D0; Thu, 01 Dec 2022 14:22:57 +0000
Received: by outflank-mailman (input) for mailman id 450766;
 Thu, 01 Dec 2022 14:22:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mmm5=37=citrix.com=prvs=327587bd7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p0kSm-0000Y4-5m
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 14:22:56 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a467092a-7183-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 15:22:54 +0100 (CET)
Received: from mail-bn8nam04lp2043.outbound.protection.outlook.com (HELO
 NAM04-BN8-obe.outbound.protection.outlook.com) ([104.47.74.43])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 09:22:51 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5935.namprd03.prod.outlook.com (2603:10b6:a03:2d6::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 14:22:50 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 14:22:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a467092a-7183-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669904574;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=aNs7/LTaElDmCxfc7+lCH20vWS9USDw/JV+/wAZvdWU=;
  b=RWgj36nmmcXMYxZdzn62+xzHlNLIB8e4IPGZG4eawxvXFKziSBr3TNpx
   BGyuqXzgesh4SVEYJmbXfR4RuXOALbd3+q0F/4vAKT39jXDUR+asnhJX/
   puA6xgdeWJMWrNhDP5/g0A/n2s79IMzQZNNKe4SE7aOT57JqSUcISE/LK
   0=;
X-IronPort-RemoteIP: 104.47.74.43
X-IronPort-MID: 86062709
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:by554qmL7wnIYHONF6vIzxXo5gycJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJJDG3XOfjcN2T1Ko12Ot7ip0IEvp+Hxt5nSVdt+HozRiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icf3grHmeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aqaVA8w5ARkP6kR5AaGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 cQaNTFObx2EvsO3moKZS9NTqOQZc/C+aevzulk4pd3YJdAPZMifBo/stZpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVk1A3jOOF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNJMTOPiqaY76LGV7jEyKB0yWUXjmue0iRSwdZFxK
 0pO9BN7+MDe82TuFLERRSaQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3Oc6TCIn/
 kWElNToAXpoqrL9dJ6G3rKdrDf3My5FK2YHPXMAVVFdv4Klp5wvhBXSSNolCLSyktD+BTD3x
 XaNsTQ6gLIQy8UM0s1X4Gz6vt5lnbCRJiZd2+kddjvNAt9RDGJ9W7GV1A==
IronPort-HdrOrdr: A9a23:wdyOd6tEswTGIkBuFCkg82GM7skCXoAji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJh5o6H6BEGBKUmslqKceeEqTPqftXrdyRGVxeZZnMffKlzbamfDH4tmuZ
 uIHJIOb+EYYWIasS++2njBLz9C+qjJzEnLv5a5854Fd2gDBM9dBkVCe3+m+yZNNWt77O8CZf
 6hD7181l+dkBosDviTNz0gZazuttfLnJXpbVovAAMm0hCHiXeF+aP3CB+R2zYZSndqza05+W
 bIvgTl7uH72svLiyP05iv21dB7idHhwtxMCIiljdUUECzljkKFdZlsQLqLuREyuaWK5EwxmN
 fBjh88N4BY6m/XfEuyvRzxsjOQngoG2jvH8xu1kHHjqcv2SHYREMxan79UdRPf9g4JoMx8+L
 gj5RPbi7NnSTf72Ajt7dnBUB9n0mCup2A5rOIVh3tDFaMDdb5qq5AF9k89KuZDIMu60vFjLA
 BdNrCa2B9kSyLdU5kfhBg3/DWYZAV2Iv5BeDlbhiXa6UkMoJkz9Tpk+CVWpAZ9yHt6cegF2w
 2MCNUXqFkFJPVmEp5VFaMPR9C6BXfKRg+JOGWOIU7/HKVCIH7VrYXriY9Frd1CVaZ4u6faoq
 6xJm9wpCo3YQbjGMeO1JpE/lTER3i8Ry3kzoVb64JisrPxSbL3OWnbIWpe2PeIsrEaGInWSv
 yzMJVZD7vqKnbvA59A20n7V4NJIXcTXcUJspIwWk6IoMjMNor239arOMr7Nf7oC3IpS2n/Cn
 wMUHz6I9hB9FmiXjvijB3YSxrWCzjCFFJLYd3nFsQoufsw39d3w3koYHyCl7G2ACwHtLAqd0
 1jJ76imr+npACNjBT101k=
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="86062709"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MiYWyjTcusNh+mWf7rYP/+4rRtmNNfDRzBh2NTQetdHrOv7Y2d1BGiyuIFhSeXbATreUevedRxpVXCV70mMAiYZuEAjnWPxc6bjuMGb7mY7+meZQcQyhHNyQYfpnVrtnflFPOCly0Px3M7DKoZwyq2ZreVNY7twjR0Zczg2dPnRuIrLkV8PjQrq750KHmqibBeE6fKGpyTZEoD8Sb05Ej1eehFciWgE0ZpI8VmH9zQhr57A41sRM+FU8eQAXRpCcIPnHsKB+4alepdCjB4kbxzaeOTwFgzlriWafA4uagrMNnMrysUR3H7vmtejBHj/hK3AJmmqCMowTDD0b3Rm7Dg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aNs7/LTaElDmCxfc7+lCH20vWS9USDw/JV+/wAZvdWU=;
 b=P1KMnx6yvwekkOhsFArGbATtw3OnubM+Neg5S/ysMYKr+1TOULmPp4yjFJ14KCAgdq3/Clwa+8F7ZzqaEkM2h8AU0+UITe6O4KUzxdDW9lqWW7zgJd6ObWWaG10zsDKkvWl4UerKmcFsXp0D+mvYf1pjdEqhPUqr5GEqY39phP9cbVviDnz0YqLWbTJLyUzUky3J3Xn0/9b2FqvceyA3IYzIh5dIljBKqu34C5n1+rFiWPwWFmFcmjiiwhIMVveJX6Sh6CfRdjdLVCDZlxbSRz+2bpInMZoYhX+Qqh+rn+AQq1BZxyYRqQqDIb+waarFMWaZmgw2lX6xbvpI2IZe/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aNs7/LTaElDmCxfc7+lCH20vWS9USDw/JV+/wAZvdWU=;
 b=wb+QxeNgapN0xBZwYweFflOK3CdTCwfgvBIvpbX16yqd6QI04iWn6rCFPWEWO243ylySXGgd+TTt9jQZwuDrT9TwV6TDVsloB0HUET4kmBgBTvJT54wsEKKxOQNgQQ3ysfaNf2/ZAoM2GnO/FqEWQQkHbgxwAS4Z/LE7INkpgwk=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Christian Lindig <christian.lindig@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Edwin Torok <edvin.torok@citrix.com>, Rob Hoes <Rob.Hoes@citrix.com>
Subject: Re: [PATCH v2 5/6] tools/oxenstored: Rework Domain evtchn handling to
 use port_pair
Thread-Topic: [PATCH v2 5/6] tools/oxenstored: Rework Domain evtchn handling
 to use port_pair
Thread-Index: AQHZBNyGN5BP0zs1Y0yrWzYQCqLnUq5Y7uIAgAAoLIA=
Date: Thu, 1 Dec 2022 14:22:49 +0000
Message-ID: <b94f7928-c420-43ec-5ed5-8de004ac8f3c@citrix.com>
References: <20221130165455.31125-1-andrew.cooper3@citrix.com>
 <20221130165455.31125-6-andrew.cooper3@citrix.com>
 <B01EB9B0-2E59-460E-9F1B-04F2406C788B@citrix.com>
In-Reply-To: <B01EB9B0-2E59-460E-9F1B-04F2406C788B@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|SJ0PR03MB5935:EE_
x-ms-office365-filtering-correlation-id: 42f847a9-e950-4bfd-cedb-08dad3a786bf
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 VZup6EJ980WIgln8HbKaxystMK4kv7CExs+5u5L/lzNCEKsFp8zq9A6/KhV/oIzUQf8Ijyl18OeI7NiiA7IxFCSSXilVtm1gE02xkntP6DvEF/oaNLnd/M8iLnZw3QaOEv5tdF8GHyLmdlARnVwEtCNXvAp+CuzV4+5ngG+UruNQiciIjgZpJ5hLCXyZB4EH7Ixzgg4sR6rebMnk3xxaCZ+003sab5s+tLIYzhj+OZrP+z5ygVpan3/LfbAz7LcBmUcgPgGHFhVWQNOk6s+5cYlUdbTVFCIsb9ZW12qJ1uANHIPG3FTCgyahO8h26cbtb3iDLv56GC0FpCeoy5m8stS861qEqCG2FoAMbhlR52UD0ty1t0CyTcjhvPiDB6f7HiAzU00gX0isVbgQvm0FKMyzkSpWRNA1wcgZTWhU/i/LqYt5FIX2uPTlfcXMfq1IMjpt8a1i+z4tiTqzNgsUqQ0RsFyU8+7OEdylSV1jPuMlIcbwByDmULL/ZyiLjc+cEV7AYlB8Ch7UJxqjGqgYmySJ6A/8Kh1wO1LVeYcb9ijLuiNCNwfg/LY2n0qLSAQXuY2lzq5qccKEPcb0R3pnZcmgn52JVGZyq3OkB7L0v0ppNgX6ng53kbcrKhgFPoevzUU1o9eWCgDuX+E7t2VCbifQ6bMMv9wHJ9eUeN5B4/voQAzNUByupzccHc2030lNAqLcQEOSoQEVVWt6li0lO4qBuFFJmC+zTDU9XWE+CP2kMMI9pBY+vimE+SohBKZDSulHJjWkFsvaCSStySoveg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(39860400002)(366004)(346002)(396003)(451199015)(53546011)(36756003)(86362001)(6636002)(37006003)(54906003)(38070700005)(31696002)(6486002)(316002)(478600001)(71200400001)(2906002)(5660300002)(91956017)(8676002)(66946007)(66446008)(4326008)(66476007)(41300700001)(76116006)(6862004)(8936002)(66556008)(64756008)(83380400001)(38100700002)(122000001)(107886003)(82960400001)(6506007)(6512007)(186003)(26005)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UWZvREY4QUNHNm5ZQ2o4b0VVd3NuVXpPbXlsRCtLaG1xT0ZLdnFBR2xRV2dU?=
 =?utf-8?B?R2hUdzM0S0pSQVN4emFTb2pPWmVhNW9OeXlGOXRVVkFJbUIvQ0FWZlJ5dnIw?=
 =?utf-8?B?ZXcxMEY0UXRQdEhNU3RrWVEvNFVFcm9HSGxkOVlERFJnd25venlkS1ZyK1cw?=
 =?utf-8?B?d3Y0WHdoSjJlSVJ2cFRpUEI2ajUzN0lpMm9uRXowb0tZaUJxWko0bWd2YnRF?=
 =?utf-8?B?YStURkI0ZVNrc2U4ZEtZYWxQYTl3UlNJSnJoaXZFdElFemI3M05uUS9pWjBz?=
 =?utf-8?B?RG9iRUNmT1VCdWNKV1NKMU5zSjE0N0RUaElHM2VHZTcwK09PZFNxczdGL2l2?=
 =?utf-8?B?WmZZU3RpZEJrazJpekV5WVNsbDRDTmpmaElPZ0N1NE5EbVptL3Zyb0NzZDhj?=
 =?utf-8?B?ZUI3ZXhmRTRYQUtCcUJKWWpHdWk0dko0eHJnZVJmWXJ4VSt6Q2xrM2x5Q2wr?=
 =?utf-8?B?UW9rRnd3OStYSGxyWFNybGVLc2hJdGo1MS8yKzdCbUQzS1c5UUM5Vndkd1Y0?=
 =?utf-8?B?M1JZV0ViamlhREI2eVVjUis4WWl6NEtmUWJ2TEJFR0I3NU10bElBcnRsYkk0?=
 =?utf-8?B?WHV1L1F3andLdEp5MnlaVG5pblpzWHpwWDVWSlUrb3BZcWJyVWIrODVrdXpX?=
 =?utf-8?B?ckx3cHBaL094MWcxNUE3MGxVa0piZ25xRmdLaHdEeHJSRjkyS2NRaE03elpk?=
 =?utf-8?B?YmNMUDV2UEYwRWVNODhQZ3doNEgxOHlJL0FqcVNObHUwUUcrZXUzYW1Nb2VG?=
 =?utf-8?B?NUlqeTdPOEluMGpxSUROZWZhMlFDL0lmb1cwTy8rVVYwenYyWWQydWozSHZM?=
 =?utf-8?B?K0ZlSlZyemZEeXp3RzFQQ25MTmw3aklxblQ3TExESURqRkhLclFncTh1QUto?=
 =?utf-8?B?QjRiNTlNOXpKdmEvemVUZ3NpRUU2SXYzKzlrUm5hSnV4N28vZ01GcVBMM0My?=
 =?utf-8?B?MEJVVmpWVFNOa0JXdjlsT3RtaEFBS1JpTnRhU1hHYTFFSU1vRlNGekpUeXBj?=
 =?utf-8?B?bkJIMDdUZXpIRzJOU2d0UXpLZG5sYzFnWVBvSkRtQ3VZODdtSXNzUGZmSWZj?=
 =?utf-8?B?NnpJZFRYM0dmRTF4N05ITm1ibmpJdTBoS2R0SHRhWGF1VHRwOFRGbFh3VWpr?=
 =?utf-8?B?MUdSc3ZEZGVpbDI4ZlRpSGlTSm9vUGVXbmg0RWU3anFlYWZrT1R2c0c3b0Yx?=
 =?utf-8?B?djkzQThhMC8rNXFwLzU2NkYzcjJrcXRaNWVvK3dHTkVjall3eDQwM2tsemtE?=
 =?utf-8?B?K1Avb0xpRHhBTU1ocGRQV3QyditlaTFVZ0hnVUJPVEVkUDdiNC9oTlpsRmlP?=
 =?utf-8?B?M0NVUk9wUTRZdGVYdDFzb0VraEpSR1NYWUViQVA1MHJYcmpub2plTC9tRmQ4?=
 =?utf-8?B?aFRVU2J5WElrOC9RY1lCdVRUS2VHcWIyNHY2SGVDOVE2UkQyMjZsYjYzSzZX?=
 =?utf-8?B?a3Y0MytqN1pGMkVsWWUvSFBBaEd0QXE0Y3dNVGJXVzAya3ExU1FGRzBJTXJu?=
 =?utf-8?B?Sm5UeWR4TGxjM3FIcWF1V21xaWY2MzVDNTVuaGRwdXNYS2hGUjlCem10d2sz?=
 =?utf-8?B?QUxBa1VpZzJqR3hvNDhGV2VBemhXWnR5UjRkQk8vZTFPTmhtU05CZm9YMUMz?=
 =?utf-8?B?NmZrZ2U0dEJkQ3lmSlRZZWI3MkpGdERwSlBlTlNzMVNMd2FDNlp4dWdNanN3?=
 =?utf-8?B?Q1dwaVdiZHhsVEJYcUhxeWo0YWtmWEtxejg5bElNQk9Sdkc2M1dXT2xweUZS?=
 =?utf-8?B?bHoyNXBOQ2kxM09SeEJWS1FJOTZTMnk4T3hLVDdZSDNPUXNZNmp1bjdBOTJx?=
 =?utf-8?B?em1ISjdBMVM1MlBzdE90SDNpSlZXMitpdFFBV1ozc2ZOZENJRkZUQ0RPdTdC?=
 =?utf-8?B?dVdVTzFOMFZRVWp1WGt1Nms2MG9SM2FBNmtyK2lwMWttalRZcVdDNmMySENG?=
 =?utf-8?B?MmkvdnE5ZTZNb2hXdi9VTTkzSlVzbm9xQnUzNUtJOWtNV2pLR3owdUFxZ1Bn?=
 =?utf-8?B?c0JYbVNXQWNteHMzK0pIMklBcGw3bFM5bUFxeGtSSzB4NUpuNUdSUkhzTGxV?=
 =?utf-8?B?OW9IYnRNM0ZSN0JmbnBrcVNPTFp0bWdxTU1mZVo5SVhJWmNiQ2xIRG1mYmVI?=
 =?utf-8?Q?7dM0pPmKhF4Xsdz/bM5CcXgkp?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <1870847999697749ACF71426459CC515@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	bX2xXAkHpEjbdajpqJIHU/NGRL1e0hH5eqwQ27KSzt+BhmutTphbn8GKd8HIXIkV1UyyM57yqkFQXrQwcsrEzlbNDxuiGZwZRAg++SY5xzrj+xVsFaRa8ACYkBdYQkZdmoRKk2BYPR95trhU0Asn9uIaZEfyR2ChtMk2juJmE25Yjbrm/Bc6hzbpWIBc7XAvMzdqTITXYJyM+1bxJRYbOULjN5iLLGskX6Q0zEK9npjdBE1/oC/R3mkjhBzX2YPsolA8bbi8tiD0hZ4Rn11DF9jsIht8HzatKwxXsmo+W8u8Rk5tbRnt+VqlG4sFVVPU7RGAlWUQCTOb15GXmyqmtbp1zTDIWHKOwzumYqgWALcO//tZ/34b+bEs7fkhrovU8Ro4eKvT+Y1c6el/mHSeZ/oO8NDDzXqgWo7OP269TcOWHlLrSbR5pqyNphnjO4pzKZsI/2l8iXXAOkpBM7jWM2ARfBxbwfds96H+gjQUxskAZbH2Io8iP0eD9sfIwU0ofQRXI5YZRZz4rwnV1CHU3/fRUX94qvq6p2cT6Eo+tcDiZz9GzxZg6nuA/u+zOJOe+ArKu8OnXN9ga6beMi2zGrlGJxShtOHR+O33sM/yIs97gmg7Uh/O5cwJO2QYkWui+vvzvC3QPyVcQVs7SNJWwbSgAt3ZAMvuGqAvvhYN8QE9pl2aR7K75pSEB/RkDXr4Czs3sPZu2FuAuGGDnDDPJpoNrauYSYG4ug+V4+dD89eCAcMV7HMkqaMI6WOHK+5ep71TBrzPyHjgBcgQqFtLD1T3jHhfgSC4HjOGm9y+egiMKOHl0+8g2LxsBn43oEaK
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42f847a9-e950-4bfd-cedb-08dad3a786bf
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 14:22:49.9594
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: pYIBXZGATuajqzNeWDown9dJluJkz3IW9poc0hOt3XV6lMnuiQqLlp263lH8PFaB2y0C9Wxv8bU8+v7X8cfHLNPYzLzl8wosMhli7LrXnjQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5935

T24gMDEvMTIvMjAyMiAxMTo1OSwgQ2hyaXN0aWFuIExpbmRpZyB3cm90ZToNCj4+IE9uIDMwIE5v
diAyMDIyLCBhdCAxNjo1NCwgQW5kcmV3IENvb3BlciA8QW5kcmV3LkNvb3BlcjNAY2l0cml4LmNv
bT4gd3JvdGU6DQo+Pg0KPj4gSW50ZXItZG9tYWluIGV2ZW50IGNoYW5uZWxzIGFyZSBhbHdheXMg
YSBwYWlyIG9mIGxvY2FsIGFuZCByZW1vdGUgcG9ydHMuDQo+PiBSaWdodCBub3cgdGhlIGhhbmRs
aW5nIGlzIGFzeW1tZXRyaWMsIGNhdXNlZCBieSB0aGUgZmFjdCB0aGF0IHRoZSBldnRjaG4gaXMN
Cj4+IGJvdW5kIGFmdGVyIHRoZSBhc3NvY2lhdGVkIERvbWFpbiBvYmplY3QgaXMgY29uc3RydWN0
ZWQuDQo+Pg0KPj4gRmlyc3QsIG1vdmUgYmluZGluZyBvZiB0aGUgZXZlbnQgY2hhbm5lbCBpbnRv
IHRoZSBEb21haW4ubWFrZSgpIGNvbnN0cnVjdG9yLg0KPj4gVGhpcyBtZWFucyB0aGUgbG9jYWwg
cG9ydCBubyBsb25nZXIgbmVlZHMgdG8gYmUgYW4gb3B0aW9uLiAgSXQgYWxzbyByZW1vdmVzDQo+
PiB0aGUgZmluYWwgY2FsbGVycyBvZiBEb21haW4uYmluZF9pbnRlcmRvbWFpbi4NCj4+DQo+PiBO
ZXh0LCBpbnRyb2R1Y2UgYSBuZXcgcG9ydF9wYWlyIHR5cGUgdG8gZW5jYXBzdWxhdGUgdGhlIGZh
Y3QgdGhhdCB0aGVzZSB0d28NCj4+IHNob3VsZCBiZSB1cGRhdGVkIHRvZ2V0aGVyLCBhbmQgcmVw
bGFjZSB0aGUgcHJldmlvdXMgcG9ydCBhbmQgcmVtb3RlX3BvcnQNCj4+IGZpZWxkcy4gIFRoaXMg
cmVmYWN0b3JpbmcgYWxzbyBjaGFuZ2VzIHRoZSBEb21haW4uZ2V0X3BvcnQgaW50ZXJmYWNlIChy
ZW1vdmluZw0KPj4gYW4gb3B0aW9uKSBzbyB0YWtlIHRoZSBvcHBvcnR1bml0eSB0byBuYW1lIGl0
IGdldF9sb2NhbF9wb3J0IGluc3RlYWQuDQo+Pg0KPj4gQWxzbywgdGhpcyBmaXhlcyBhIHVzZS1h
ZnRlci1mcmVlIHJpc2sgd2l0aCBEb21haW4uY2xvc2UuICBPbmNlIHRoZSBldnRjaG4gaGFzDQo+
PiBiZWVuIHVuYm91bmQsIHRoZSBzYW1lIGxvY2FsIHBvcnQgbnVtYmVyIGNhbiBiZSByZXVzZWQg
Zm9yIGEgZGlmZmVyZW50DQo+PiBwdXJwb3NlLCBzbyBleHBsaWNpdGx5IGludmFsaWRhdGUgdGhl
IHBvcnRzIHRvIHByZXZlbnQgdGhlaXIgYWNjaWRlbnRhbCBtaXN1c2UNCj4+IGluIHRoZSBmdXR1
cmUuDQo+Pg0KPj4gVGhpcyBhbHNvIGNsZWFucyB1cCBzb21lIG9mIHRoZSBkZWJ1Z2dpbmcsIHRv
IGFsd2F5cyBwcmludCBhIHBvcnQgcGFpci4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcg
Q29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPj4gLS0tDQo+PiBDQzogQ2hyaXN0
aWFuIExpbmRpZyA8Y2hyaXN0aWFuLmxpbmRpZ0BjaXRyaXguY29tPg0KPj4gQ0M6IERhdmlkIFNj
b3R0IDxkYXZlQHJlY29pbC5vcmc+DQo+PiBDQzogRWR3aW4gVG9yb2sgPGVkdmluLnRvcm9rQGNp
dHJpeC5jb20+DQo+PiBDQzogUm9iIEhvZXMgPFJvYi5Ib2VzQGNpdHJpeC5jb20+DQo+IEFja2Vk
LWJ5OiBDaHJpc3RpYW4gTGluZGlnIDxjaHJpc3RpYW4ubGluZGlnQGNpdHJpeC5jb20+DQoNClRo
YW5rcy4NCg0KPg0KPj4gdjI6DQo+PiAqIE5ldw0KPj4gLS0tDQo+PiB0b29scy9vY2FtbC94ZW5z
dG9yZWQvY29ubmVjdGlvbnMubWwgfCAgOSArLS0tLQ0KPj4gdG9vbHMvb2NhbWwveGVuc3RvcmVk
L2RvbWFpbi5tbCAgICAgIHwgNzUgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t
DQo+PiB0b29scy9vY2FtbC94ZW5zdG9yZWQvZG9tYWlucy5tbCAgICAgfCAgMiAtDQo+PiAzIGZp
bGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRp
ZmYgLS1naXQgYS90b29scy9vY2FtbC94ZW5zdG9yZWQvY29ubmVjdGlvbnMubWwgYi90b29scy9v
Y2FtbC94ZW5zdG9yZWQvY29ubmVjdGlvbnMubWwNCj4+IGluZGV4IDdkNjhjNTgzYjQzYS4uYTgw
YWUwYmVkMmNlIDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMvb2NhbWwveGVuc3RvcmVkL2Nvbm5lY3Rp
b25zLm1sDQo+PiArKysgYi90b29scy9vY2FtbC94ZW5zdG9yZWQvY29ubmVjdGlvbnMubWwNCj4+
IEBAIC00OCw5ICs0OCw3IEBAIGxldCBhZGRfZG9tYWluIGNvbnMgZG9tID0NCj4+IAlsZXQgeGJj
b24gPSBYZW5idXMuWGIub3Blbl9tbWFwIH5jYXBhY2l0eSAoRG9tYWluLmdldF9pbnRlcmZhY2Ug
ZG9tKSAoZnVuICgpIC0+IERvbWFpbi5ub3RpZnkgZG9tKSBpbg0KPj4gCWxldCBjb24gPSBDb25u
ZWN0aW9uLmNyZWF0ZSB4YmNvbiAoU29tZSBkb20pIGluDQo+PiAJSGFzaHRibC5hZGQgY29ucy5k
b21haW5zIChEb21haW4uZ2V0X2lkIGRvbSkgY29uOw0KPj4gLQltYXRjaCBEb21haW4uZ2V0X3Bv
cnQgZG9tIHdpdGgNCj4+IC0JfCBTb21lIHAgLT4gSGFzaHRibC5hZGQgY29ucy5wb3J0cyBwIGNv
bjsNCj4+IC0JfCBOb25lIC0+ICgpDQo+PiArCUhhc2h0YmwuYWRkIGNvbnMucG9ydHMgKERvbWFp
bi5nZXRfbG9jYWxfcG9ydCBkb20pIGNvbg0KPiBJIHdvdWxkIHByZWZlciBIYXNodGJsLnJlcGxh
Y2UuIEhhc2h0YmwuYWRkIHNoYWRvd3MgYW4gZXhpc3RpbmcgYmluZGluZyB3aGljaCBiZWNvbWVz
IHZpc2libGUgYWdhaW4gYWZ0ZXIgSGFzaHRhYmwucmVtb3ZlLiBXaGVuIHdlIGFyZSBzdXJlIHRo
YXQgd2Ugb25seSBoYXZlIG9uZSBiaW5kaW5nIHBlciBrZXksIHdlIHNob3VsZCB1c2UgcmVwbGFj
ZSBpbnN0ZWFkIG9mIGFkZC4NCg0KVGhhdCdzIHN1cnByaXNpbmcgYmVoYXZpb3VyLsKgIFByZXN1
bWFibHkgdGhlIGFkZC0+cmVwbGFjZSBzdWdnZXN0aW9uDQphcHBsaWVzIHRoZSBvdGhlciBoYXNo
dGFibGUgaGVyZSAoY29ucy5kb21haW5zKT/CoCBBbmQgcG9zc2libHkgZWxzZXdoZXJlDQp0b28u
DQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 14:23:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 14:23:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450769.708209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kT2-0000sR-Ol; Thu, 01 Dec 2022 14:23:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450769.708209; Thu, 01 Dec 2022 14:23:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kT2-0000sK-LW; Thu, 01 Dec 2022 14:23:12 +0000
Received: by outflank-mailman (input) for mailman id 450769;
 Thu, 01 Dec 2022 14:23:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+/wf=37=citrix.com=prvs=32775c42f=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p0kT1-0000Y4-4Z
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 14:23:11 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id acd5ae06-7183-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 15:23:09 +0100 (CET)
Received: from mail-mw2nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 09:22:59 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 CO3PR03MB6742.namprd03.prod.outlook.com (2603:10b6:303:165::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 14:22:57 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 14:22:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: acd5ae06-7183-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669904589;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=b9+T4O/LQtmp6z20Q+XpF4+1wKsHOhN1vTCNVzR2E9I=;
  b=dDiIJ2DmDJz9wzpG63jNpxW/uioDCbb7kwiCoSLIPdFF7oEGfST8AwRZ
   fOpd7GAGX1A+2zX2QqJWftbeBl7PT0V59bPJXraDBkOTjQmE1DgXmJ8gw
   oTdrQXbabnFm6RyYwAayH2+oHuEULVmXcgcjKNFmDqWhzgH4dOrhnK2Ye
   U=;
X-IronPort-RemoteIP: 104.47.55.104
X-IronPort-MID: 88595420
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:W5kEEaqlRIX8GBFHY1BCaP9aJhZeBmI6ZBIvgKrLsJaIsI4StFCzt
 garIBnTPaqLMWT8edAlbNyzpBsHuJOGn9QxSQI++S8xHy4W9JuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzyBNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAD0GUyuMuvuu+oL4VfZSuJocI+bEJpxK7xmMzRmBZRonabbqZvySoPpnhnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeWraYKJEjCJbZw9ckKwr
 WLc/n/lAxgcctiezzaE/Vqnh/PVnDO9U4UXfFG93q463QzOmjZLYPEQfWKersanrX7uZ+hwM
 lQG9REi9fIV1VP+G7ERWDX9+hZopCU0S9dWVuE39gyJ4q7V+BqCQHgJSCZbb94rv9NwQiYlv
 neFls3kLSZiu7qUTTSa7Lj8hSy2ETgYKykFfyBscOcey9zqoYV2iw2VSN9mSfaxloesQW22x
 C2Wpi8jgblVldQMy6iw4VHAhXSru4TNSQk2oA7QWwpJ8z9EWWJsXKTwgXCz0BqKBNzxooWp1
 JTcp/Wj0Q==
IronPort-HdrOrdr: A9a23:XbV+tKgXUk3IYQkHY0kAn7CahnBQXusji2hC6mlwRA09TyXPrb
 HKoB17726OtN91YhtMpTnuAtjmfZqxz+8N3WBzB9aftWvdyQ+VxehZhOOI/9SHIVycygdz79
 YDT0EUMqyXMbEVt7eD3OB6KbkdKRu8nJxASd2x856ld2FXV50=
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="88595420"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HFf9frJtvUbaoS68laOT5Qi4f1a/ZvdfJahfvMLFsmOnJHI25CbBDgGnhFGzIDRlok87ipFR3qL3cWseyd5Sy7DS5GQWyfoJCR6XqECaPaNpH2DY3MsApdYt5yHq0do6pruANCcFPqFVjQlMwsNCyi0UtyqsnUggybCgwz/pp6rLS0xEu7321sdktMzmPwgyl920cfejlT7UPRGOc6P4W7+9g015OS9JSYVb8lghv9vnVvif1jBDZaiK4/tg2+VifrjDrR2LqAYaqzjIXwNPacSeyuEwcu7e2/hhEap+MVvK77RKJmndDrudXDfJQFsb5acjapceCN1TpQsmn3Z2Bg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b9+T4O/LQtmp6z20Q+XpF4+1wKsHOhN1vTCNVzR2E9I=;
 b=D1CYgkwZuQOjeRMazUmir7UOjJ83P9IzE1oZaFNyghI/Z1YwdHjuX5Ae2nrhgTQK4QfqaLtkIEOaNvlOj5cWGb8wTAw7XXcaHgCgrEv6PuRxF+Q+YXvqz742/u4vbpzGWCQCz+y+2JnQSNzCjOQRwKZQoZkh+V6J4/pCE90u/7+iwRB5i23KR8+uj6bwZ+bthVESjEGyjpF3fpIROzmMXCeE6EOfyCnwj0yhIBUvQYJjR3pTBJ2pviSbicjsHyMAaI9yfp48KTpQftEhHPXgJBd+Us2M++KeEKcTFkpfSaRwCvlJy1Xei7M2I7O+heb43aBTzTOD9FFzOlYb5TJ2+A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b9+T4O/LQtmp6z20Q+XpF4+1wKsHOhN1vTCNVzR2E9I=;
 b=ju4Ld7J0sGi7wbcR3v1U5MZfM3wG4lRgjUfYbfqpjyK7yKq6wIhLOl9PX8SUehaQ2xu5YcZFTlCNPYx28geKY+zQTufpMoME4yNcYNzRIAKHHD947E/hIaWx8UEV/Ayi3thCTSS4mj+iWzLSl8gOXHzZlxqyxYaJn1UmNchwc/s=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, David
 Scott <dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 3/5] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Topic: [PATCH v1 3/5] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Index: AQHZBOHXzyNRueXKzkCvv/VJ69wZtK5Y7MWAgAAhHACAAAIeAIAABVyAgAABsQA=
Date: Thu, 1 Dec 2022 14:22:57 +0000
Message-ID: <B5F6DABD-B6E2-4F07-893D-78030272B424@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <63240681327af995df64b773945406b097a31d4b.1669829264.git.edvin.torok@citrix.com>
 <4ba26b93-a7b0-ee6d-f71f-6e0d78314697@citrix.com>
 <A1F15A81-492C-42AF-B11E-43EFE3FF8BB3@citrix.com>
 <08D59C99-A8F8-44B1-A081-FFB0CCA8A8C5@citrix.com>
 <DD8F6F10-D9D2-4433-B2D2-ADB419F2FB8B@citrix.com>
In-Reply-To: <DD8F6F10-D9D2-4433-B2D2-ADB419F2FB8B@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|CO3PR03MB6742:EE_
x-ms-office365-filtering-correlation-id: 9150f7cb-9b82-41d6-ef0d-08dad3a78b3e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 lwwvOM5xEHXH9YgN482QUXvWAx3tfpOwNBhk4Y6YfbF2ki7K9cxAQ6KdziqqwbEPtXjsY9iFvrtJKcHxKdqojcMl367KVpO1y4cQ2KvFjIyhPq619ZIMo0y4Em8QWN3rgZaju1A+F7baskJ82Opd1/QNoiwfuFbQW0W3W8vwSXgEGt6aQfOnfGsPKn1VcHWxk8xlzbgNBWVSQrzwzQJ6VbPGnaSnFSxfWpWQTgvYUvO6i/bettzxI+c7kRw/i0BQeimvj41k94+UG+oOcjK+6zHiwMK7quHAxBxCH/CK7lUe+E1M5vwTM3nika5Xevog6KEZDzDqTM5c0C5zmTeqNSZu9/H2jtnnG1CyI5Vloxn0fQ+lNZPFa6vNpr43zq2EyNIUOz8qXWPZzBEXSaQp/OcEHJGqjh6FNQtT4exqhhqBaLJOGXnpOAAxC806CBQ2p3mf4Eo4fZ2RKthfF/gBae0xqX6upb+O1G+OsS58eghqyuCtMaZd/CsWq4r/YHxLCsGl8bO++q8atb+CG7Fvb7p8Z6ToEXcsmScy50dxvZtPyfxhBiwgAYGRHK95L/4Lhb9YiHWetPbWMjQ/fTY+deFAxlNeEyS9A1Aww3E29pdJP/HD/RigZAJ+gMAynIQwqi3mF7eekd99wpWPgFB5dwcOJJsEBQzMUuqoN+Ftjq0+I73KJIw5/nsd9m+SlSHDJoRGJlwCMfo/YGmb4Pq52trfuCN0oiAoRMhW/Wj5+DM=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(366004)(376002)(346002)(396003)(451199015)(33656002)(86362001)(6512007)(6506007)(478600001)(53546011)(6486002)(71200400001)(38070700005)(82960400001)(36756003)(186003)(38100700002)(122000001)(2616005)(41300700001)(5660300002)(26005)(4744005)(107886003)(66946007)(76116006)(44832011)(91956017)(8676002)(66446008)(66556008)(64756008)(8936002)(4326008)(2906002)(54906003)(6636002)(66476007)(37006003)(6862004)(316002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dzVSbi9vSnQ3Nk1hZHZHc2sxRW1zdzRIRDBPRWYvSnVQY1lUSXVaQUNpb1A0?=
 =?utf-8?B?M2lPZVhHTnltRmdpSWd3cTJRTDloTGp3VUppRDVoWEZtMGxzc2N6eXJuTHdu?=
 =?utf-8?B?a3o4QVE3YWNsbmZjRGRrWEVhYWcyNTZjNldmTmxyajh0WVFFRzlqMEowUVZa?=
 =?utf-8?B?c3BHaUJtSVRKN3dZZjgzOWVhR2lFSDJPd0c3SzR6OTR0Y1VLSzRLOFF6N21F?=
 =?utf-8?B?bkpaYTUrS0RvcGNGV2Z5eHdLbGtDUG14VHQ0QWNYTUx5d0thYkVJQnVVK3c4?=
 =?utf-8?B?Y3hPQ3pzYmM4ZGxDUUJqdkJjbXF3dkZrWnFBdHRyZ2d0dCtib09xdVZkd0xi?=
 =?utf-8?B?dXhPWHJlT1QyTHVtUERnWldUeUhYWWJXMDFVeWZCSDN2UWVZOWpPS09vNWQy?=
 =?utf-8?B?Zi9HaHZzRGxqT01DdTVRNzZ5MUlybHEvSVltdk5XeUx4Y2lWblN5ZCtCL0oz?=
 =?utf-8?B?dDRXb1VmMEN0NE5oZ0l1Rmo1SW9mRElJRUxzSUtMRG4zYkJFSStaSkxpMGdU?=
 =?utf-8?B?b3dlcktBbFFlUkU5SHNldFNGTjVFbjRua294QStnR1VGQkRmMWlQWlROMkZF?=
 =?utf-8?B?dkI5a0FUY1V2bVhEZ1J5dmxXcnRscUkzZG1LdTRPekVub1JuSDdJMi94RTZh?=
 =?utf-8?B?NWZXTy9pWjVBSWdIcGFEaGgyeHAwS2I5MEZ2bUQ4N1d0YlQ3djVmS2hRQVl1?=
 =?utf-8?B?OFBQUzBBVkNrdXV2R1lURm1Dak02Y0lYL29pU1MydTRYOS9hcnVLckdGdzdq?=
 =?utf-8?B?YTVwQWFQNUdzaHphRGRLUTdNTDhsc25pMDBEcjhwaFhmOHJ5a2pTRFFSNEZV?=
 =?utf-8?B?YjVRMitJVUljNTR5cFp3YzgzUWpDQldiNE1ZT2JUYUova3N6M2llUFkxeS8r?=
 =?utf-8?B?eXZkdkRPd1ovWXZhdDZnVFhHZjlkL2pQOCtJWHNnRENDclErcXdJSXpQUnd2?=
 =?utf-8?B?UUFYQ21oMnRlbFVmd1RndllDMHVCNnZBNjVWNU0wWmdPRWRCQ1d1WW80OTdD?=
 =?utf-8?B?RHRGVC9COG92N3NBRkpPSVVGa2w4NnBhVE03ZEloaTBDUjRqVm5OMUprVmI2?=
 =?utf-8?B?SGNLR3VaY2ZObzluNWQ2NXNJL2ZZOEwzVkN0TjFUVUdhZ1p2NksvQUQzQ0Zw?=
 =?utf-8?B?NnpnMkVuVFlVMzcyUlBxWUZGNWtyZXpZTmhUcmxOeWVvMnBUSWJOZDFxcGZG?=
 =?utf-8?B?V2xGMkZkTEZsai9VN29NQ1QwcGh3UXRtdWZET0VJblE2dUxPT1NsMDNTaytS?=
 =?utf-8?B?KzU1RE1qS01xaitlRWtFZnMvME1rZTAzZnlteFZ4WnZ2bmgxYmRBT1ppb09a?=
 =?utf-8?B?SjJuenc3NVFhaFhvaG9uSWlCNlh2OWlSWFFLQUFVM1lGWVBVT0dmUnpPdk5i?=
 =?utf-8?B?ZmcrT0drcFFGSHZBSjFwSGhRS0hKNkU0b3dXOVdXRzA5dk53Z2pRcDJoWDNq?=
 =?utf-8?B?alpkcVJPamxUWTY4NnZWWXNXaERKVThTU3dlUzh3d3Iva2RFWnpJQzY1L1VE?=
 =?utf-8?B?MUFPOE5zdGVZQVpGMC9zYkZZUkJZOUxKeVQrbHF5dG80WDNQMjFUZko5anlU?=
 =?utf-8?B?amR5cFRZK0RTcmYyck84VlZUcUlyRnFTd0F3YjRuSk50Tkk3NjdDR21JdFh6?=
 =?utf-8?B?cU5vQmFpaG1NQkZvcXVSRXpDTmNscGlhUkRaSWNHcnVOejBrMnZmaGp4andV?=
 =?utf-8?B?cE51cnJYU3NINCtiTWxJVXF5UzVTOEd4cEFTQkd4ZmM5VEJYV1dMWW1YOHYv?=
 =?utf-8?B?UUJ4SXRUZ09qQ1dGOUhiTXFnOXVhOW1HK0RuYTI0S1NCd01VZ1BrTFFxRzVo?=
 =?utf-8?B?MktKNUowQnE0WStqV0pGMHFnVStsZ3ZsSWJBMjI0YTlySmFreEZidG1QeGdD?=
 =?utf-8?B?enZzT3lnbVQ5ellaMVBOTG1oaUxvRURKYzFHa1ovL2RoeWhUb3JKNEkrVmg5?=
 =?utf-8?B?VVRMSlRxTVp1Yk9rZitpL0JGNUVmQmFzK01PY1VQdzZzZy9BR29pVWhEN3B6?=
 =?utf-8?B?OGdRczVDNWlkSTcrTjJhVEZlcitUWVBnUnNqVExZcFc5TExVSCtlRVl0cDBB?=
 =?utf-8?B?dGFyMVh6c09vK21KWCthK0lWak92S2FhZ3lTNDRVTTVFUTdVYm94YWNPWjc3?=
 =?utf-8?B?WXUwNTZZR29Ua2llT0FRM2lWMEU4T3dSdUh6RkFXZG9tZVJwQmRiQk1SUFBZ?=
 =?utf-8?Q?fedMtXtfqMg3Y+4o5EjQFWc=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <2D5E3AA4BC58044DBB0DF67965FE3D0D@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	6jHGbxna/V6L+Z2CMkRzXdQq+byXL2zTZxh6tdkMOrYjk9LjNLWhV73KJHNbi6ExFK8u+rZaNtI53tZCQLIsDaJC5snt0xSCxJGvFd09bxfPnVFbjsj2y4eJuSbRCcbT2bfDIL2+l2CipoerrIvX4is9IAqE6jJyVRFXZVHyLDlEKtMF/MfFT9dP/J/QqoBwFPcFUfY1dFqscPsYbH1m67q4t0WPRsJZEbenqw76T/7LJLStPm8KupOnfSEqxou3Cs+rCggPVqhcpS2sp6FaDV+tCgBdkiMmXX+ie35Y8FLaMVLp6BvvZiCPkgSc3kH3tfGNDEXg8A2G3EWZ2Qp/pFLqxUdhTw/PRBAVAOolQ6vK1cdFDcaNTU3yRNBH4+7R4DgAqmLjIfLfSQSVz3vLeVPtac5WOVmM+UqvGPisbnkU9/EEMDJbn1FLBOqWEjgP46uxVkXDpcxEKFGXJojVP186Ta6r8hdpgN8KSjfn+kPEjif9uA3Y9dFfysZ9L+rnGO93qa37BqypU4FoFnE7AlUzrpvySBJU6Cj9aBpARcVnH+tibqmlEpaIPoy7lowPL5UH0hf3WpoL7zSDCFgR1BY10hFhsNbeY1g1xjLPkyCjZ4zC9B5QExAXCeVaWW9SDDaB+Fct+U/Bjmrf66l2LUc/yzKZQbsl4o2BKzhK+9ZUyk3q2W+Svc0ixErVjiqajkN0CRjfjftyndI8OXHvewI/IhkJ6+0HDlcZ6Ymbn0nGRMIKgDEn1KG9ZdYv54PdIcYvRC+Tlccv2EMwxkD0wsuxVnb/fwWy+XiYwfd09+4mH7xfh/27t0yscJ1hRdkVLQx2L8MzZ8KCGfgJe56xFg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9150f7cb-9b82-41d6-ef0d-08dad3a78b3e
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 14:22:57.4878
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: wpn7s2LhaEqc440N1iKqWFalcyvds5L0AShbLcqYjCe97h7MUiQzDI12EW0bDKVuAh+W+lcY1UYo8OeBMcXsEwCgSZVf0ncIfD2Slr0D9Aw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR03MB6742

DQoNCj4gT24gMSBEZWMgMjAyMiwgYXQgMTQ6MTYsIEVkd2luIFRvcm9rIDxlZHZpbi50b3Jva0Bj
aXRyaXguY29tPiB3cm90ZToNCj4gDQo+IFRoZSBkaXNhZHZhbnRhZ2UgaXMgdGhhdCB3ZSBjYW4n
dCBwYXR0ZXJuIG1hdGNoIG9uIGl0IGFueW1vcmUuDQo+IA0KPiBBbHRob3VnaCB3ZSBjb3VsZCBo
YXZlIHNvbWUgT0NhbWwgY29kZSB0aGF0IGRvZXMgdGhlIHBhdHRlcm4gbWF0Y2hpbmcgb24gYW5v
dGhlciB0eXBlIGFuZCBtYXBzIGl0IHRvIHRoZXNlIHByaXZhdGUgaW50ZWdlciB0eXBlcy4NCj4g
SG93ZXZlciBhdCB0aGF0IHBvaW50IHdlJ3ZlIG1hbnVhbGx5IHJlaW52ZW50ZWQgd2hhdCBjdHlw
ZXMgd291bGQgYWxyZWFkeSBkbywgYW5kIHdlIGhhdmUgYW4gYWRkaXRpb25hbCBtYXBwaW5nIHN0
ZXAgKHdoaWNoIG1heSBub3QgbWF0dGVyIGZyb20gYSBwZXJmb3JtYW5jZSBwb2ludCBvZiB2aWV3
IGJ1dCB3b3VsZCBiZSBuaWNlIGlmIHdlIGNvdWxkIGF2b2lkIGl0KS4NCg0KSSBhZ3JlZSB0aGF0
IHRoaXMgaXMgYSBzZXZlcmUgZGlzYWR2YW50YWdlLiBNeSBtZXRob2QgaXMgb25seSB1c2VmdWwg
aWYgdGhleSBhcmUgbW9zdGx5IHBhc3NlZCBhcm91bmQgYnV0IG5vdCB3aGVuIHRoZXkgaGF2ZSBh
biBhbGdlYnJhIGRlZmluZWQgb3ZlciB0aGVtIHdoZXJlIHlvdSB3YW50IHRvIGNvbWJpbmUgYW5k
IG1hdGNoIHRoZW0uDQoNCuKAlCBD


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 14:25:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 14:25:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450778.708220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kVd-0001kr-DZ; Thu, 01 Dec 2022 14:25:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450778.708220; Thu, 01 Dec 2022 14:25:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kVd-0001kk-Aa; Thu, 01 Dec 2022 14:25:53 +0000
Received: by outflank-mailman (input) for mailman id 450778;
 Thu, 01 Dec 2022 14:25:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ecKG=37=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1p0kVb-0001kY-BX
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 14:25:51 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 0db2441a-7184-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 15:25:50 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F2B52D6E;
 Thu,  1 Dec 2022 06:25:55 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 248043F73D;
 Thu,  1 Dec 2022 06:25:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0db2441a-7184-11ed-8fd2-01056ac49cbb
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH v6 0/3] Yocto Gitlab CI
Date: Thu,  1 Dec 2022 14:25:29 +0000
Message-Id: <cover.1669904508.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series is a first attempt to check if we could use Yocto in
gitlab ci to build and run xen on qemu for arm, arm64 and x86.

The first patch is introducing a container template from which container
files can be generated for all combinations we want to support (qemu
arm, arm64 and x86 targets and hosts x86_64 and arm64).
It is also introducing a generic build script (build-yocto.sh) that is
used to create, build and run a Yocto project.

The second patch is adding a way to easily clean locally created
containers.

The third patch is introducing some gitlab CI templates and jobs so that
we can test a Xen source tree in gitlab-CI using Yocto.

This has been tested on a x86 host machine and on an arm host machine
(with mk_dsdt.c fix).

Changes in v6:
- fix qemux86 errors on arm hosts
- added some comments
- fix Makefile to not call docker a lot during each parse
- several fixes and improvments described in each patch

Changes in v5:
- automatic cleanup of generated docker files using INTERMEDIATE
- typo fixes
- rebase on Stefano's next branch
- remove clean rule cleaning all containers

Changes in v4:
- rework the container generation to support multiple hosts
- rework the container generation to use a single template for all
  docker files (make process is generating the docker files).

Changes in v3:
- limit number of jobs in yocto
- do not copy build script inside container
- add patch from Michal to create gitlab jobs

Changes in v2:
- remove gitignore patch which was merged
- add a --dump-log support in build-yocto.sh script and use it during
  container creation to see the error logs.


*** BLURB HERE ***

Bertrand Marquis (2):
  automation: Create Yocto docker images
  automation: Add a clean rule for containers

Michal Orzel (1):
  automation: Add CI test jobs for Yocto

 .gitignore                                 |   1 +
 automation/build/Makefile                  |  26 +-
 automation/build/yocto/build-yocto.sh      | 356 +++++++++++++++++++++
 automation/build/yocto/yocto.dockerfile.in | 114 +++++++
 automation/build/yocto/yocto.inc           |  44 +++
 automation/gitlab-ci/test.yaml             |  45 +++
 6 files changed, 583 insertions(+), 3 deletions(-)
 create mode 100755 automation/build/yocto/build-yocto.sh
 create mode 100644 automation/build/yocto/yocto.dockerfile.in
 create mode 100644 automation/build/yocto/yocto.inc

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 14:26:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 14:26:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450779.708231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kVk-000231-N7; Thu, 01 Dec 2022 14:26:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450779.708231; Thu, 01 Dec 2022 14:26:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kVk-00022u-KC; Thu, 01 Dec 2022 14:26:00 +0000
Received: by outflank-mailman (input) for mailman id 450779;
 Thu, 01 Dec 2022 14:25:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ecKG=37=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1p0kVj-000228-GV
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 14:25:59 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 12bb8471-7184-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 15:25:58 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 820DDD6E;
 Thu,  1 Dec 2022 06:26:04 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 747163F73D;
 Thu,  1 Dec 2022 06:25:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12bb8471-7184-11ed-91b6-6bf2151ebd3b
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH v6 1/3] automation: Create Yocto docker images
Date: Thu,  1 Dec 2022 14:25:30 +0000
Message-Id: <43aa7a440ee7af24c829dc6a70064e2f5fce2302.1669904508.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669904508.git.bertrand.marquis@arm.com>
References: <cover.1669904508.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add containers suitable to run yocto kirkstone build based on ubuntu
22.04. It contains all packages required by Yocto and a checkout of the
layers required to build Xen with Yocto.

Add a generic docker image template to be used to automatically generate
docker files for different configurations:
- specific yocto version
- different targets (qemu arm, arm64 and x86)
- different host platforms (x86 or arm64)

During a call to 'make all', only the images for the host platform we
run it on in the CI is generated.
If needed, images for an other host platform can be generated manually
by calling the right make target (see make help).

Add a build script to build and run xen on qemu using Yocto.
The script supports arm32, arm64 and x86_64 and checks that dom0 is
properly booting. At this stage this does not run any guest on top of
dom0. The script is to be executed in one of the docker images to build
and run a system using a Xen source tree.

Add automation/build/yocto/*.dockerfile to gitignore as those files are
generated.

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v6:
- move include of yocto.inc to keep help the default make target
- add yocto/*.dockerfile to gitignore
- fix typo {} instead of ()
- fix clean rule to remove s to dockerfile
- tell make to evaluate CONTAINER right away
- add example command in comment in yocto.inc
- fix compilation of qemux86 on arm by switching to AUTOREV to use the
latest version of Xen which includes fixes required.
Changes in v5:
- typo fixes
- add INTERMEDIATE to remove intermediate dockerfile
- use container architecture
- use full words in foreach loops
- fix shellcheck findings in build-yocto.sh
- rebase on sstabellini next branch
Changes in v4:
- Rework the system to have one dockerfile template from which make will
generate the required dockerfiles for the wanted configuration
- add support for different host architectures
- Merge the generation system into one single dockerfile
- Merge patches 1 and 2 in a single patch
- Introduce CONTAINERS_EXTRA to have extra containers not built by
default (for those not used by CI but useful to users)
Changes in v3:
- limit number of jobs in yocto by default to 8 and add --num-jobs
option to the script to set a custom number of jobs
- do not copy anymore the build-yocto.sh script inside the main image so
that the current one in the repository is used when running
Changes in v2:
- add a --dump-log command line option to build-yocto.sh script to dump
the logs if an error occurs.
Changes in v1:
- add --image command line argument to build-yocto.sh to allow building
something different than xen-image-minimal.
- modify dockerfile to have one layer per line and make it easier to add
other. I kept the for loop to keep the number of docker steps lower
- update commit message to warn that no guest are tested.
- fix build-yocto script to properly return with an error if expect
script ends up in timeout or EOF.
---
 .gitignore                                 |   1 +
 automation/build/Makefile                  |  16 +-
 automation/build/yocto/build-yocto.sh      | 356 +++++++++++++++++++++
 automation/build/yocto/yocto.dockerfile.in | 114 +++++++
 automation/build/yocto/yocto.inc           |  44 +++
 5 files changed, 528 insertions(+), 3 deletions(-)
 create mode 100755 automation/build/yocto/build-yocto.sh
 create mode 100644 automation/build/yocto/yocto.dockerfile.in
 create mode 100644 automation/build/yocto/yocto.inc

diff --git a/.gitignore b/.gitignore
index ea3243af9dde..ce7caa56af6d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -38,6 +38,7 @@ dist
 stubdom/*.tar.gz
 
 autom4te.cache/
+automation/build/yocto/*.dockerfile
 build-*/
 config.log
 config.status
diff --git a/automation/build/Makefile b/automation/build/Makefile
index a4b2b85178cf..c4aaa747ffdf 100644
--- a/automation/build/Makefile
+++ b/automation/build/Makefile
@@ -1,20 +1,30 @@
 
 # the base of where these containers will appear
 REGISTRY := registry.gitlab.com/xen-project/xen
-CONTAINERS = $(subst .dockerfile,,$(wildcard */*.dockerfile))
+CONTAINERS := $(filter-out yocto/%,$(subst .dockerfile,,$(wildcard */*.dockerfile)))
+CONTAINERS_EXTRA =
 DOCKER_CMD ?= docker
 
 help:
 	@echo "Builds containers for building Xen based on different distros"
 	@echo "To build one run 'make DISTRO/VERSION'. Available containers:"
-	@$(foreach file,$(sort $(CONTAINERS)),echo ${file};)
+	@$(foreach file,$(sort $(CONTAINERS)),echo $(file);)
+	@echo "Extra containers (not built using make all):"
+	@$(foreach file,$(sort $(CONTAINERS_EXTRA)),echo $(file);)
 	@echo "To push container builds, set the env var PUSH"
 
+include yocto/yocto.inc
+
 %: %.dockerfile ## Builds containers
 	$(DOCKER_CMD) build -t $(REGISTRY)/$(@D):$(@F) -f $< $(<D)
 	@if [ ! -z $${PUSH+x} ]; then \
 		$(DOCKER_CMD) push $(REGISTRY)/$(@D):$(@F); \
 	fi
 
-.PHONY: all
+.PHONY: all clean
 all: $(CONTAINERS)
+
+# Remove generated dockerfiles for yocto
+clean:
+	rm -f yocto/*.dockerfile
+
diff --git a/automation/build/yocto/build-yocto.sh b/automation/build/yocto/build-yocto.sh
new file mode 100755
index 000000000000..3601cebc3cff
--- /dev/null
+++ b/automation/build/yocto/build-yocto.sh
@@ -0,0 +1,356 @@
+#!/bin/bash
+#
+# Yocto meta virtualization build and run script
+#
+# This script is building Yocto xen-image-minimal for qemu targets and run
+# them using runqemu inside yocto to check that dom0 is booting properly.
+# The build is using a local xen source tree so that specific patches can be
+# tested.
+# In order to optimize the build time, a build cache is used so that only xen
+# packages and its dependencies are rebuilt (qemu and final image mainly).
+#
+# get command error even when piped.
+set -o pipefail
+
+# Directories
+YOCTODIR="$HOME/yocto-layers"
+CACHEDIR="$HOME/yocto-cache"
+LOGDIR="$HOME/logs"
+XENDIR="$HOME/xen"
+BUILDDIR="$HOME/build"
+
+# what yocto bsp we support
+TARGET_SUPPORTED="qemuarm qemuarm64 qemux86-64"
+VERBOSE="n"
+TARGETLIST=""
+BUILDJOBS="8"
+
+# actions to do
+do_clean="n"
+do_build="y"
+do_run="y"
+do_localsrc="n"
+do_dump="n"
+build_result=0
+
+# layers to include in the project
+build_layerlist="poky/meta poky/meta-poky poky/meta-yocto-bsp \
+                 meta-openembedded/meta-oe meta-openembedded/meta-python \
+                 meta-openembedded/meta-filesystems \
+                 meta-openembedded/meta-networking meta-virtualization"
+
+# yocto image to build
+build_image="xen-image-minimal"
+
+function print_progress() {
+    echo -n "$(date +%T) $*"
+}
+
+function run_task() {
+    local task_name="$1"
+    local task_target="$2"
+
+    task_log="${task_name//project_}-${task_target}"
+
+    mkdir -p "${LOGDIR}"
+    print_progress
+    echo -n "${task_name//project_} ${task_target}: "
+    if [ "${VERBOSE}" = "n" ]; then
+        "$@" > "${LOGDIR}/${task_log}.log" 2>&1
+    else
+        "$@" 2>&1 | tee "${LOGDIR}/${task_log}.log"
+    fi
+
+    if [ ${?} -ne 0 ]; then
+        echo "Error"
+        build_result=$((build_result+1))
+        if [ "${do_dump}" = "y" ]; then
+            echo
+            echo "############ LOGS-START ############"
+            cat "${LOGDIR}/${task_log}.log"
+            echo "############  LOGS-END  ############"
+            echo
+        fi
+        return 1
+    else
+        echo "OK"
+        return 0
+    fi
+}
+
+function project_create() {
+    target="${1:?}"
+    destdir="${BUILDDIR}/${target}"
+
+    (
+        # init yocto project
+        source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}"
+
+        # add needed layers
+        for layer in ${build_layerlist}; do
+            bitbake-layers add-layer "${YOCTODIR}/${layer}" || exit 1
+        done
+    ) || return 1
+
+    # Detect latest version available in Yocto and use it instead of default
+    # one.
+    XENVERS=$(grep -e "^XEN_REL" \
+        "${YOCTODIR}"/meta-virtualization/recipes-extended/xen/xen_*.bb \
+        2> /dev/null | tr -d ' ' | tr -d '?' | tr -d '"' \
+        | sed -e "s/.*=//" | sort -V | tail -n 1)
+
+    # customize project configuration
+    cat <<EOF >> "${destdir}/conf/local.conf"
+# Yocto BSP
+MACHINE = "${target}"
+
+# Use local cache to reuse previous builds results
+SSTATE_DIR = "${CACHEDIR}/sstate-cache"
+DL_DIR = "${CACHEDIR}/downloads"
+
+# Enable xen and virtualization
+DISTRO_FEATURES = " virtualization xen ipv4"
+
+# Speed up run by not generating ssh host keys
+IMAGE_INSTALL:append:pn-xen-image-minimal = " ssh-pregen-hostkeys"
+
+# Save some disk space
+INHERIT += "rm_work"
+
+# Reduce number of jobs
+BB_NUMBER_THREADS="${BUILDJOBS}"
+
+# Use latest Xen version
+PREFERRED_VERSION:pn-xen = "${XENVERS}%"
+PREFERRED_VERSION:pn-xen-tools = "${XENVERS}%"
+
+# Use autorev for now as Xen SHA used by latest yocto recipe for Xen does not
+# include fixes required to build x86 on arm
+SRCREV:pn-xen = "\${AUTOREV}"
+SRCREV:pn-xen-tools = "\${AUTOREV}"
+
+# Disable all QA errors as the recipe is not up to date with changes in Xen
+# when we use local sources
+ERROR_QA:pn-xen = "arch"
+ERROR_QA:pn-xen-tools = "arch"
+
+EOF
+
+    if [ "${do_localsrc}" = "y" ]; then
+        XENBASE=$(dirname "$(realpath -m "${XENDIR}")")
+        XENSUB=$(basename "$(realpath -m "${XENDIR}")")
+
+        cat <<EOF >> "${destdir}/conf/local.conf"
+# Use local sources for xen and xen-tools
+FILESEXTRAPATHS:prepend:pn-xen := "${XENBASE}:"
+FILESEXTRAPATHS:prepend:pn-xen-tools := "${XENBASE}:"
+
+SRC_URI:pn-xen = "file://${XENSUB}/;subdir=local-xen/"
+SRC_URI:pn-xen-tools = "file://${XENSUB}/;subdir=local-xen/"
+
+S:pn-xen = "\${WORKDIR}/local-xen/${XENSUB}"
+S:pn-xen-tools = "\${WORKDIR}/local-xen/${XENSUB}"
+
+SRCPV:pn-xen = "1"
+SRCPV:pn-xen-tools = "1"
+
+EOF
+    fi
+}
+
+function project_build() {
+    target="${1:?}"
+    destdir="${BUILDDIR}/${target}"
+
+    (
+        source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}"
+
+        bitbake "${build_image}" || exit 1
+    ) || return 1
+}
+
+function project_clean() {
+    target="${1:?}"
+    destdir="${BUILDDIR}/${target}"
+
+    rm -rf "${destdir}"
+}
+
+function project_run() {
+    target="${1:?}"
+    destdir="${BUILDDIR}/${target}"
+    (
+        source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}" > /dev/null 2>&1
+
+        /usr/bin/expect <<EOF
+set timeout 1000
+spawn bash -c "runqemu serialstdio nographic slirp"
+
+expect_after {
+    -re "(.*)\r" {
+        exp_continue
+    }
+    timeout {send_user "ERROR-Timeout!\n"; exit 1}
+    eof {send_user "ERROR-EOF!\n"; exit 1}
+}
+
+# wait initial login
+expect -re ".* login: "
+send "root\r"
+expect -re "root@.*# "
+
+EOF
+    exit $?
+    ) || return 1
+}
+
+function help() {
+    cat <<EOF
+Usage: ${0} [TARGET1] [TARGET2]
+
+This script is build the yocto xen-image-minimal for different qemu targets
+and is running it after.
+Without any target specified, all supported targets are done.
+
+Options:
+  -h, --help       Print this help
+  -v, --verbose    Verbose build
+  --list-target    List supported targets
+  --clean          Clean existing project before starting
+  --no-build       Do not build (to run an already built project)
+  --no-run         Do not run
+  --num-jobs=NUM   Define the number of parallel jobs in Yocto.
+                   Default: ${BUILDJOBS}
+  --dump-log       On error, dump the logs on the console
+  --image=IMG      Yocto image or package to build
+                   Default: xen-image-minimal
+  --xen-dir=DIR    path to xen hypervisor source tree
+                   if not provide, normal yocto version of xen is built
+                   Default: ${XENDIR}
+  --out-dir=DIR    directory where to create the projectss
+                   Default: ${BUILDDIR}
+  --log-dir=DIR    directory to store logs
+                   Default: ${LOGDIR}
+  --cache-dir=DIR  directory where to take and store build cache
+                   Default: ${CACHEDIR}
+  --layer-dir=DIR  directory containing the checkout of yocto layers
+                   Default: ${YOCTODIR}
+EOF
+}
+
+for OPTION in "$@"
+do
+    case ${OPTION} in
+        -h|--help)
+            help
+            exit 0
+            ;;
+        -v|--verbose)
+            VERBOSE="y"
+            ;;
+        --list-targets)
+            echo "${TARGET_SUPPORTED}"
+            exit 0
+            ;;
+        --clean)
+            do_clean="y"
+            ;;
+        --no-build)
+            do_build="n"
+            ;;
+        --no-run)
+            do_run="n"
+            ;;
+        --dump-log)
+            do_dump="y"
+            ;;
+        --num-jobs=*)
+            BUILDJOBS="${OPTION#*=}"
+            ;;
+        --image=*)
+            build_image="${OPTION#*=}"
+            ;;
+        --xen-dir=*)
+            XENDIR="${OPTION#*=}"
+            if [ ! -e "${XENDIR}/xen/Makefile" ]; then
+                echo "No Xen source tree in ${XENDIR}"
+                exit 1
+            fi
+            do_localsrc="y"
+            ;;
+        --out-dir=*)
+            BUILDDIR="${OPTION#*=}"
+            ;;
+        --log-dir=*)
+            LOGDIR="${OPTION#*=}"
+            ;;
+        --cache-dir=*)
+            CACHEDIR="${OPTION#*=}"
+            ;;
+        --layer-dir=*)
+            YOCTODIR="${OPTION#*=}"
+            ;;
+        --*)
+            echo "Invalid option ${OPTION}"
+            help
+            exit 1
+            ;;
+        *)
+            if echo "${TARGET_SUPPORTED}" | grep -q -w "${OPTION}"; then
+                TARGETLIST="${TARGETLIST} ${OPTION}"
+            else
+                echo "Unsupported target ${OPTION}"
+                exit 1
+            fi
+            ;;
+    esac
+done
+
+# if no target is specified build all targets
+if [ -z "${TARGETLIST}" ]; then
+    TARGETLIST="${TARGET_SUPPORTED}"
+fi
+
+mkdir -p "${CACHEDIR}"
+mkdir -p "${LOGDIR}"
+mkdir -p "${BUILDDIR}"
+
+# Make sure we have an absolute path
+YOCTODIR=$(realpath -m "${YOCTODIR}")
+CACHEDIR=$(realpath -m "${CACHEDIR}")
+BUILDDIR=$(realpath -m "${BUILDDIR}")
+LOGDIR=$(realpath -m "${LOGDIR}")
+if [ "${do_localsrc}" = "y" ]; then
+    XENDIR=$(realpath -m "${XENDIR}")
+fi
+
+# Check that we have all the layers we need
+for f in ${build_layerlist}; do
+    if [ ! -f "${YOCTODIR}/${f}/conf/layer.conf" ]; then
+        echo "Layer ${f} missing in ${YOCTODIR}"
+        exit 1
+    fi
+done
+
+for f in ${TARGETLIST}; do
+    if [ "${do_clean}" = "y" ]; then
+        run_task project_clean "${f}"
+    fi
+    if [ ! -f "${BUILDDIR}/${f}/conf/local.conf" ]; then
+        run_task project_create "${f}"
+    fi
+    if [ -f "${BUILDDIR}/${f}/conf/local.conf" ]; then
+        if [ "${do_build}" = "y" ]; then
+            run_task project_build "${f}"
+        fi
+        if [ "${do_run}" = "y" ]; then
+            run_task project_run "${f}"
+        fi
+
+    fi
+done
+
+print_progress "Build Complete (${build_result} errors)"
+echo
+exit ${build_result}
+
diff --git a/automation/build/yocto/yocto.dockerfile.in b/automation/build/yocto/yocto.dockerfile.in
new file mode 100644
index 000000000000..b0892d420377
--- /dev/null
+++ b/automation/build/yocto/yocto.dockerfile.in
@@ -0,0 +1,114 @@
+# Docker file to create an environment to build yocto with virtualization
+#
+# Arguments that can be passed during image creation using --build-arg:
+# "host_uid=$(id -u)": to use current user uid for build user in the image
+# "host_gid=$(id -g)": to use current user gid for build user in the image
+# "ubuntu_version=VERS": to select the ubuntu version number
+
+# Use standard ubuntu minimal.
+ARG ubuntu_version=22.04
+From ##DOCKERPLAT##ubuntu:$ubuntu_version AS base
+LABEL maintainer.name="The Xen Project " \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+
+# Install minimal ubuntu requirements for yocto and other tools we need.
+# See https://docs.yoctoproject.org/4.0.1/brief-yoctoprojectqs/index.html#build-host-packages
+RUN apt-get update && \
+    apt-get --quiet --yes install \
+        gawk \
+        wget \
+        git \
+        diffstat \
+        unzip \
+        texinfo \
+        gcc \
+        build-essential \
+        chrpath \
+        socat \
+        cpio \
+        python3 \
+        python3-pip \
+        python3-pexpect \
+        xz-utils \
+        debianutils \
+        iputils-ping \
+        python3-git \
+        python3-jinja2 \
+        libegl1-mesa \
+        libsdl1.2-dev \
+        python3-subunit \
+        mesa-common-dev \
+        zstd \
+        liblz4-tool \
+        file \
+        vim \
+        bison \
+        expect \
+        locales \
+        liblz4-tool \
+        zstd \
+        openssl \
+        libssl3 \
+        ca-certificates \
+        && \
+        apt-get autoremove -y && \
+        apt-get clean && \
+        rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
+
+# Use bash as shell.
+RUN rm /bin/sh && ln -s bash /bin/sh
+
+# Fix local for yocto.
+RUN locale-gen en_US.UTF-8 && update-locale LC_ALL=en_US.UTF-8 \
+    LANG=en_US.UTF-8
+ENV LANG en_US.UTF-8
+ENV LC_ALL en_US.UTF-8
+
+# Create a user for the build (we don't want to build as root).
+ENV USER_NAME docker-build
+ARG host_uid=1000
+ARG host_gid=1000
+RUN groupadd -g $host_gid $USER_NAME && \
+    useradd -g $host_gid -m -s /bin/bash -u $host_uid $USER_NAME
+
+# Switch to our user instead of root and start in its home.
+USER $USER_NAME
+WORKDIR /home/$USER_NAME
+
+# Create needed directories
+RUN mkdir -p /home/$USER_NAME/yocto-layers \
+             /home/$USER_NAME/yocto-cache \
+             /home/$USER_NAME/logs \
+             /home/$USER_NAME/bin \
+             /home/$USER_NAME/xen && \
+    chown $USER_NAME.$USER_NAME /home/$USER_NAME/*
+
+# clone yocto repositories we need.
+RUN for rep in \
+                https://github.com/openembedded/meta-openembedded \
+                https://git.yoctoproject.org/poky \
+                https://git.yoctoproject.org/meta-virtualization \
+            ; do \
+        git -C /home/$USER_NAME/yocto-layers \
+            clone -b ##YOCTOVERSION## --single-branch $rep; \
+    done
+
+# The builder stage is building an initial cache state that we include in the
+# final image.
+From base AS builder
+
+# This step can take one to several hours depending on your download bandwith
+# and the speed of your computer.
+COPY ./build-yocto.sh /
+RUN /build-yocto.sh --dump-log ##YOCTOTARGET##
+
+From base
+
+# Only copy the cache status.
+COPY --from=builder /home/$USER_NAME/yocto-cache /home/$USER_NAME/yocto-cache/.
+
+LABEL maintainer.name="The Xen Project " \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
diff --git a/automation/build/yocto/yocto.inc b/automation/build/yocto/yocto.inc
new file mode 100644
index 000000000000..e4328ec7f378
--- /dev/null
+++ b/automation/build/yocto/yocto.inc
@@ -0,0 +1,44 @@
+# This makefile generates the docker files for Yocto builds.
+# The containers for the current architecture are the one built using make all.
+# To build containers for a different architecture, you need to call make for
+# the image you want explicitely.
+# The containers are named this way:
+# YOCTOVERSION-TARGET for x86_64 hosts
+# YOCTOVERSION-TARGET-arm64v8 for arm64 hosts
+# For example you can build an arm64 container with the following command:
+# make yocto/kirkstone-qemuarm64-arm64v8
+
+# Yocto versions we are currently using.
+YOCTO_VERSION = kirkstone
+
+# Yocto BSPs we want to build for.
+YOCTO_TARGETS = qemuarm64 qemuarm qemux86-64
+
+# Supported container architectures.
+YOCTO_ARCHS = amd64 arm64v8
+
+# Architecture we want to use in gitlab CI (depends on runners arch).
+CI_ARCH = arm64v8
+
+define GEN_DOCKER
+# Make all is generating architecture we use in the CI.
+ifeq ($(CI_ARCH),$(3))
+CONTAINERS += yocto/$(1)-$(2)$(4)
+else
+CONTAINERS_EXTRA += yocto/$(1)-$(2)$(4)
+endif
+
+.INTERMEDIATE: yocto/$(1)-$(2)$(4).dockerfile
+
+yocto/$(1)-$(2)$(4).dockerfile: yocto/yocto.dockerfile.in
+	@cat $$< | \
+	    sed -e "s,##YOCTOVERSION##,$(1),g" | \
+	    sed -e "s,##YOCTOTARGET##,$(2),g" | \
+	    sed -e "s,##DOCKERPLAT##,$(3)/,g" > $$@
+
+endef
+
+$(eval $(foreach version,$(YOCTO_VERSION),\
+       $(foreach target,$(YOCTO_TARGETS),\
+       $(foreach arch,$(YOCTO_ARCHS),\
+       $(call GEN_DOCKER,$(version),$(target),$(arch),$(if $(filter amd64,$(arch)),,-$(arch)))))))
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 14:26:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 14:26:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450780.708237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kVl-00026C-3R; Thu, 01 Dec 2022 14:26:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450780.708237; Thu, 01 Dec 2022 14:26:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kVk-00024m-SC; Thu, 01 Dec 2022 14:26:00 +0000
Received: by outflank-mailman (input) for mailman id 450780;
 Thu, 01 Dec 2022 14:26:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ecKG=37=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1p0kVk-0001kY-0X
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 14:26:00 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 134ff323-7184-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 15:25:59 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 646AFED1;
 Thu,  1 Dec 2022 06:26:05 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1CCC43F73D;
 Thu,  1 Dec 2022 06:25:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 134ff323-7184-11ed-8fd2-01056ac49cbb
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 2/3] automation: Add a clean rule for containers
Date: Thu,  1 Dec 2022 14:25:31 +0000
Message-Id: <b802d2523af791acfdb68b6f8603ff2f0f8573d6.1669904508.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669904508.git.bertrand.marquis@arm.com>
References: <cover.1669904508.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add make clean support to remove the containers from the local docker
registry.
make clean-<image_name> must be called to remove an image:
make clean-yocto/kirkstone-qemuarm: remove yocto kirkstone for qemuarm
image

Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
Changes in v6:
- Rework clean rule to prevent calling docker during make parsing
Changes in v5:
- remove cleaning of all images using make clean
Changes in v4:
- also generate clean rule for CONTAINERS_EXTRA
Changes in v3:
- none
Changes in v2:
- none
Changes in v1:
- patch added
---
 automation/build/Makefile | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/automation/build/Makefile b/automation/build/Makefile
index c4aaa747ffdf..f1d56ce532a1 100644
--- a/automation/build/Makefile
+++ b/automation/build/Makefile
@@ -28,3 +28,13 @@ all: $(CONTAINERS)
 clean:
 	rm -f yocto/*.dockerfile
 
+define CLEAN_RULE
+.PHONY: clean-$(1)
+clean-$(1):
+	if [ -n "$$$$(docker image ls -q $(REGISTRY)/$(subst /,:,$(1)))" ]; then \
+		docker image rm $(REGISTRY)/$(subst /,:,$(1)); \
+	fi
+
+endef
+
+$(eval $(foreach img,$(CONTAINERS) $(CONTAINERS_EXTRA),$(call CLEAN_RULE,$(img))))
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 14:26:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 14:26:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450781.708253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kVm-0002Zv-H1; Thu, 01 Dec 2022 14:26:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450781.708253; Thu, 01 Dec 2022 14:26:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kVm-0002Yd-D3; Thu, 01 Dec 2022 14:26:02 +0000
Received: by outflank-mailman (input) for mailman id 450781;
 Thu, 01 Dec 2022 14:26:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ecKG=37=arm.com=bertrand.marquis@srs-se1.protection.inumbo.net>)
 id 1p0kVl-0001kY-0Y
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 14:26:01 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 13d470d9-7184-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 15:26:00 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4719C13D5;
 Thu,  1 Dec 2022 06:26:06 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id F3CA63F73D;
 Thu,  1 Dec 2022 06:25:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13d470d9-7184-11ed-8fd2-01056ac49cbb
From: Bertrand Marquis <bertrand.marquis@arm.com>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v6 3/3] automation: Add CI test jobs for Yocto
Date: Thu,  1 Dec 2022 14:25:32 +0000
Message-Id: <9a50c9bfad26f6828ab0f6325721286b2af15581.1669904508.git.bertrand.marquis@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669904508.git.bertrand.marquis@arm.com>
References: <cover.1669904508.git.bertrand.marquis@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Michal Orzel <michal.orzel@amd.com>

Populate test jobs for Yocto based tests using the provided containers.
Due to the size restrictions, it is currently not possible to split the
build and run tasks, therefore everything is done in a single step.

Test jobs for the supported Yocto targets are generic to avoid the
necessity to add new ones after each Yocto release. The only thing
required to be changed after updating the containers is the variable
YOCTO_VERSION stored in a .yocto-test template.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v6:
- add comment explaining why the unused x86 yocto entry is there
Changes in v5:
- none
Changes in v4:
- add .yocto-test for arm64 and x86
- make yocto jobs use arm64 version
Changes in v3:
- patch added
---
 automation/gitlab-ci/test.yaml | 45 ++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index c7e0078e04f1..2d57f4feb74a 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -54,6 +54,35 @@
   tags:
     - x86_64
 
+.yocto-test:
+  extends: .test-jobs-common
+  script:
+    - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD}
+  variables:
+    YOCTO_VERSION: kirkstone
+    CONTAINER: yocto:${YOCTO_VERSION}-${YOCTO_BOARD}-${YOCTO_HOST}
+  artifacts:
+    paths:
+      - 'logs/*'
+    when: always
+  needs: []
+
+.yocto-test-arm64:
+  extends: .yocto-test
+  variables:
+    YOCTO_HOST: arm64v8
+  tags:
+    - arm64
+
+# This is not used by any test job as we only run Yocto on arm based machines.
+# Keep it here so that someone having x86 hardware can easily add jobs.
+.yocto-test-x86-64:
+  extends: .yocto-test
+  variables:
+    YOCTO_HOST: amd64
+  tags:
+    - x86_64
+
 # Test jobs
 build-each-commit-gcc:
   extends: .test-jobs-common
@@ -188,3 +217,19 @@ qemu-smoke-x86-64-clang-pvh:
     - ./automation/scripts/qemu-smoke-x86-64.sh pvh 2>&1 | tee ${LOGFILE}
   needs:
     - debian-unstable-clang-debug
+
+# Yocto test jobs
+yocto-qemuarm64:
+  extends: .yocto-test-arm64
+  variables:
+    YOCTO_BOARD: qemuarm64
+
+yocto-qemuarm:
+  extends: .yocto-test-arm64
+  variables:
+    YOCTO_BOARD: qemuarm
+
+yocto-qemux86-64:
+  extends: .yocto-test-arm64
+  variables:
+    YOCTO_BOARD: qemux86-64
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 14:32:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 14:32:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450809.708264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kbs-0005KL-CC; Thu, 01 Dec 2022 14:32:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450809.708264; Thu, 01 Dec 2022 14:32:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kbs-0005KE-9U; Thu, 01 Dec 2022 14:32:20 +0000
Received: by outflank-mailman (input) for mailman id 450809;
 Thu, 01 Dec 2022 14:32:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0kbr-0005K7-0v
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 14:32:19 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0kbl-0002jh-0v; Thu, 01 Dec 2022 14:32:13 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.7.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0kbk-0002RZ-Qh; Thu, 01 Dec 2022 14:32:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=iGBrNMuCHjMubAlVUC9hXC5NkI7X1Yp08K+FX0Dtmu8=; b=jCETIyRwAVhdrj9JnABvAjmLST
	3gv1mhoLqfkYNzUS/B+Mkq4rSFCQvPB+5NYkY6uxtKjkn5d4EtGsSqqS0LFThRTKDUkZOZnQUeyBo
	yqfFEXS74y6GpUFGQFCC57B0mXAJPdJjuOImaCDtwXRc0UF7go353LDcD58KM/l65d9Q=;
Message-ID: <16684217-afbd-3671-5fad-08057a0e1b20@xen.org>
Date: Thu, 1 Dec 2022 14:32:10 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: Commit moratorium
Content-Language: en-US
From: Julien Grall <julien@xen.org>
To: "committers@xenproject.org" <committers@xenproject.org>,
 Henry Wang <Henry.Wang@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <3deaeaf4-dd5d-93cb-2ca5-3c22e2c19bff@xen.org>
In-Reply-To: <3deaeaf4-dd5d-93cb-2ca5-3c22e2c19bff@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi all,

I have finally managed to branch 4.17. The tree is now re-opened.

Please be mindful what you are committing in staging until the final 
tarball is ready (hopefully mid-next week) so it is easier to backport 
any necessary fix to staging-4.17.

Cheers,

On 24/11/2022 09:48, Julien Grall wrote:
> Hi all,
> 
> We will be branching the tree for Xen 4.17 in the next few days. Please 
> avoid committing any new patches to staging until further notice.
> 
> Cheers,
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 14:37:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 14:37:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450814.708275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kh3-0005xU-Vw; Thu, 01 Dec 2022 14:37:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450814.708275; Thu, 01 Dec 2022 14:37:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0kh3-0005xN-T8; Thu, 01 Dec 2022 14:37:41 +0000
Received: by outflank-mailman (input) for mailman id 450814;
 Thu, 01 Dec 2022 14:37:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pMaK=37=citrix.com=prvs=3274cb7b8=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p0kh2-0005xH-C1
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 14:37:40 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b317a99c-7185-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 15:37:38 +0100 (CET)
Received: from mail-bn7nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 09:37:35 -0500
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com (2603:10b6:a03:2d6::7)
 by DS7PR03MB5541.namprd03.prod.outlook.com (2603:10b6:5:2ca::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 14:37:33 +0000
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b]) by SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 14:37:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b317a99c-7185-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669905458;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=2a6X1odYGz18AIWN2ze9NBqfaMB0fs6Us7TSZizNaN0=;
  b=aHICUH2sroi2wzkWKdf2cwxKYV4YUJjWEN7smBAzA8TgckSLLWxuP658
   k4UPc2GWfgREIwZT0PPZEz5Y/dWeCE8kz1Z7Zj5JNuoVTNXDM6A8GL0zZ
   s/eTao9KyenZhbJJ+MpKVAQSMdnXHky5itKOukmKa6BLf9JCzHEG73mzf
   s=;
X-IronPort-RemoteIP: 104.47.70.104
X-IronPort-MID: 86484686
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ilCFkK9ODQPLyyLT6NPDDrUDp3+TJUtcMsCJ2f8bNWPcYEJGY0x3m
 GBKD22HMquJNzT9Koxxaonn8BgD6MDcy9M2HlRu/Co8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6gS5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklTq
 9EoBjoVZCnTmrvv66zmSrFUiPwKeZyD0IM34hmMzBn/JNN/GdXpZfqP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTeLilUpjNABM/KMEjCObchZgEee4
 H7B5WP6KhobKMae2XyO9XfEaurnzX2nCN5MROPQGvhCmXCQwGNQNiQvZWCF8cedyU6fHPRPN
 BlBksYphe1onKCxdfHtUhv9rHOasxo0X9tLD/Z8+AyL0rDT4QuSGi4DVDEpQNAvqsIeXzEh0
 V6N2dTzClRHr7m9WX+bsLCOoluP1TM9KGYDYWoOS1QD6ty6+IUr1EuXEpBkDbK/icDzFXfo2
 TeWoSMihrIVy8kWy6G8+lOBiDWpznTUcjMICszsdjrNxmtEiESNPORENXCzAS58Ebuk
IronPort-HdrOrdr: A9a23:+1tNeaBm9+3ttzjlHem755DYdb4zR+YMi2TDsHoQdfU1SKGlfq
 WV954mPHDP+VUssQ4b6LW90cW7LU80lqQFg7X5X43CYOCOggLBEGgI1+XfKlPbdBEW/9QtsZ
 tdTw==
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="86484686"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iQ+GcINoH8ENHYYLTTw3NQD6d2b6dkMAgvkVfevHPIankqbObTm0E6yrTPbDbOCYquJylRlYVpG2MeufcRx69wgM4t30FYH63nsoPAN5IShuBXjwavDN/mD4PZve6GVaWa4mRBgBsybqihc+A3Y20e05dUu7MTqsZjPqW6RVBAZiIFPGMFZIFx+pdyDY1r0TfVlajlrt7FTlNI7dc23f7mzftXKBKr+nPS6XNGVzCAHt4RYewuiU9cNlRfZlS2SjZLxF1tKwP4lmLLeyiA+OcomcryFFgo2N5HX2pWkcqCYB9DwRuuYeYMUY3laio93EqA+EtPGOTNoA1XwJIaytrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2a6X1odYGz18AIWN2ze9NBqfaMB0fs6Us7TSZizNaN0=;
 b=GsSy5qysnERGZr1okTV4d7aEwte+QOUdYFI/I+XCtiMt3/Z+Fwfw6162r4sdZAAWop0KpPl2tscv/MuuPXoy8crbX8qRpYJ9o9BgS7oVWPyT/m6QnWlyx+mlQ0zwmVUCKMx8gKuEW2JIP7LPWDpk8behvCb+NCVFUtIKeuIUAJahjBoILosZefUQc1732fxA2hVPNCA/muxvrQVArIieW6oZ0vTMtB/YQJ9M1TtH9S3kPJL9n5vpMVDyCvpMGoDdpQiWYBvX/dpU7pzxIkLwSdbhqvSA8cow9XSbSFdpmTsCA8d0iLZHe4rJT57opZEWN+yCxIciSaWEyDTDNm7lAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2a6X1odYGz18AIWN2ze9NBqfaMB0fs6Us7TSZizNaN0=;
 b=bdCz4n0pY/pCOTV6s6otjZFc67xYNehFv3m48mX1n1x/5jGusjtMq2oTeNKnBWttgnLRXXLvC4bWtVtNlqXkNnTo1y020fT0y6pcBLmmc8sU3ozn1yApcjo5D770L4dSjx+NGZgiHXy/3kHOuEIVimRVCXtKDxvlRVMotsWa1a4=
From: Edwin Torok <edvin.torok@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 2/5] tools/ocaml/libs/xc: add binding to
 xc_evtchn_status
Thread-Topic: [PATCH v1 2/5] tools/ocaml/libs/xc: add binding to
 xc_evtchn_status
Thread-Index: AQHZBOHW/H7dZ4yOzkGdiH1xKACrBq5Y590AgAAh0QCAAAbXgIAACo8A
Date: Thu, 1 Dec 2022 14:37:33 +0000
Message-ID: <CB818025-8988-47F6-81D9-94618C498DC7@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <4daa8daa6398774e5cb0a90c30648c970faed6af.1669829264.git.edvin.torok@citrix.com>
 <71ff1c99-4006-dd28-e01a-4c2946798f78@citrix.com>
 <EEEF329C-788A-41A0-BDC5-9E42ED07416B@citrix.com>
 <f32ccd3c-0a68-ef39-296f-8071aed12453@citrix.com>
In-Reply-To: <f32ccd3c-0a68-ef39-296f-8071aed12453@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR03MB5888:EE_|DS7PR03MB5541:EE_
x-ms-office365-filtering-correlation-id: b78f925c-48a6-4839-a3b1-08dad3a9953a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 +1VQx2XFEkCTdifmKD4Sx3peHRBN+slbPYdQ30P70DCV5jwBc6OO/NwsRNgWrUOoZWwPCtsWvUnO+2O6F7DGt6GGaBRg775cjINvAZqqAEohA3IPyobOzEzvcHani7Y1kFNwm9ywIhSZfWiCly70xPvSr8izUrH+ws4LIqIIs0fcfeIt/cl91PHToHLCu0bgXmSFGN+Qe7JicdAtaCwzjPMp/DUbexayksLghyC28xi0r9yZCHYmvJwnmTXX+7TzHw1L9pDLJRgTpzM1bW1apc2wg8vvTD8+deyMeTpBtt0w3HILKfR4J8e8bXFhqJ/STZHpOO/q773RQYJekZtQ6y0L0jim/JGl3681fxFlA0ywwyHDZZPw/GbjGk0GchCAgygxkFaVPaMrmJNBR7Aivv1xfAy5iktHKT753OnR3RsKeiip8ylCI7C/+8bnK8taOfY3DTN1itDu1i1WDqrR3ojUTHuq5Nc+ZdLh2pCnACsCKtJQQGEvaFVYYHcWC9gmsLox//yh5+wafSD9HaWCUEZkliW/cXTfG7A3iwFiFMOOX1qvSHHQaZk+6ks+pOk5ne/a9+NlXrFUN3AgvGXzChcUMovucCY8QmrsZmC0Nw+pNCT5mvWYf4pF5txj2JTGsZUzyKh8fdo00XwndFQ/DQtt4zmGtuizc8deV5Zvr133dORKDk1Ov3LmTrxs7V0dhPqxLuzOcgJLGCoSn2sctdNlQIc464JkbPjz3DikMcY=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5888.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(366004)(396003)(39860400002)(136003)(451199015)(478600001)(38100700002)(8936002)(53546011)(6862004)(64756008)(86362001)(6512007)(5660300002)(36756003)(122000001)(6486002)(6506007)(82960400001)(8676002)(66446008)(26005)(66476007)(66946007)(38070700005)(66556008)(33656002)(316002)(2906002)(91956017)(4326008)(71200400001)(37006003)(83380400001)(6636002)(76116006)(41300700001)(54906003)(66574015)(2616005)(186003)(107886003)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bGV1UWVYb0ZhTUJHTEhQOGQwVHpURW5nRWFDVTJDNzh4MGN2cW8rVkVLQVQw?=
 =?utf-8?B?NHVTNmF1THc2eDk0QWtqVlg5djVVMHp0VzdNLytrT3B2cTFKRi9FMWVld0tp?=
 =?utf-8?B?Uzg4anZmcFV3OFZYMDI1ZTdNMzYxd1FtK1Y3RUpZeGVHUmZJTzhWMnNtSmV6?=
 =?utf-8?B?bkZDSjF5MisrMkNOSGVxS2trR05ybUV0a0JBU2JHalNpamIzTGNzT2VmS1BI?=
 =?utf-8?B?NXZWRWUrVjNYNXZ3WUMyUFZROVFCQkgwdU5kMFdKMklvV1Nic3Z2RzlVWmpj?=
 =?utf-8?B?WGp0UmVSWEhiQnZ3MWpCYmdsUVB4cytXdE5iYmVtdEdMMU42cjA2a1RQdE1u?=
 =?utf-8?B?citNWDk3QTBuVjhwQlc1U0hHSmlvdmcxT2lRZjZUTU9vSnVjcUZDQ0tuU0h6?=
 =?utf-8?B?eU1nT1pITWVkQnp4T0xVYkpDNTArbjJZekQxZndWRi9pend3U0M2K2Jpbm5H?=
 =?utf-8?B?dFpQOWdkcllVTW8wVlM0SGpJMkZVeWNYL0R4anFFOXVtWkU5OExiRkFpZ0Ra?=
 =?utf-8?B?aFYwck8vRW1aN1V6dG55Q0RIV1FIUDllaHJheGZFaCtJajdGZUdxSTFQdm5X?=
 =?utf-8?B?S05TbGZMMGVWd3hBUk9ZR3pQVEZLNDZBMkRNcXJGcE9ZWCsvK2l1WVEyZEZx?=
 =?utf-8?B?b1l3VzNDaFJ2NG03NUd1KzZiNkpyS2ZwRTVLSy9mVlhzSk1nQ3R1SGt6L2VY?=
 =?utf-8?B?djVZRWN5OTVUSlVIWjJIWDZ6ZG9pVnoyUFdqYzdLTWJXWlMvUmh3WWlmZXJ2?=
 =?utf-8?B?NEFPR2dQak1NTGd2ODZKejBTcloxS1EwTkdqTG1tVlJ5M2xLRzhKY1lSNlFJ?=
 =?utf-8?B?RElqR095VHQ1Slk1eGM1NWlUT21vbEE1dk15VU5sS0VRQlpUWlFmd1FhdEVJ?=
 =?utf-8?B?VmwxUllMRmVBbG5ielhlTWxMQlR6ZFcvaUZiR3pPRGhCaGZCUzNaZVFqcmFj?=
 =?utf-8?B?Ujc4OEhISTI5ZWxvclg5dUNWNmpEelYvWmRGZ2tyZ0tKcVE4VTc1UWhnblB5?=
 =?utf-8?B?RWhJOTFMUit2anI4QVRFN1ExTDVKOXkzMGhzTm9CWXYyRFlRbVZKck8rd0o5?=
 =?utf-8?B?T1A3SVZkSnpIbUhmNjZsZUhWVStURUV2Lzg2QnB3NGQyVXpkUWZEck05RmR6?=
 =?utf-8?B?MnRsNmUvUVl0RmlhVS9NbWNUb29TeWpMTGdpQjlvUDduZkg3ZUkrb044OHBh?=
 =?utf-8?B?bTVXYXFZOXN1V0pKRUZFaEtTNzVOOTZGeWtWeUlQL2dlQmRFRFo5bGJtZVVx?=
 =?utf-8?B?c3ZheFd0Wk5pOVB2aTVLdXo2ditha1hXWHlKUW4xRE44bWNseUdsRXRrd2pl?=
 =?utf-8?B?aTArK0FnelZyOU1QOUtVYnZtdjRvMEpsRGlmeE9zc0ZwVDIwWkdjOGQ4aWw2?=
 =?utf-8?B?VTRtYzNsaHZNU0RHdEN3eEhEMWk1SW1KUVBnZmdvYlpWTnlCdjZDSVNIZStD?=
 =?utf-8?B?eURhZXZlZGRXZVBKN2xNWmtHR0Fzank5S1QxSVR3WjJGWTRHekhwWmUxU0o3?=
 =?utf-8?B?NHlRVjIxM0pTM3ZFSzFwUWtkTjF6TlhXQTFFVVpia2RuOWloQTc1ZHBQNlNG?=
 =?utf-8?B?YXNqQnExUXhua2ZtVDNqU2JNa3c4VE50T3piUXdRSk44TWxjaUZ3ajM4dktN?=
 =?utf-8?B?Tm1veXovUDNYN3NWUTNuV0t6TjhDOStBa3E0bWlWK2hrRjRFcVdCcDg0K1Ev?=
 =?utf-8?B?dFMrLzFjV05FL2Y5YU9wMUhxZjlBSVVJUGVHc3Q0Q3pXZVZzM1VYbGROKzla?=
 =?utf-8?B?amppYnI0MHJycCtzTUJsbjRWMXcvaU5HNFBjSnhlVWhKK213a3luVDFWRnZJ?=
 =?utf-8?B?dGU4ZDY0NTNzMFZZdXFZUWhGSkk2a3loa3M0M3FsQWFYc3FnbHhzWW1pZGhi?=
 =?utf-8?B?QTVZbkxoNDY0NmJPQ2VUT3o1THpUQ1QwNHBFUmFOcTVIcGxCc29kSyt2TU1q?=
 =?utf-8?B?VkViM0lBNHFHNnBPYmtoUmJEV2pVSndGRHE1N3A0eU1qOUxjZTVka2pHMC9z?=
 =?utf-8?B?dDhuMXBDWGEyVmRjUXVQSkxSejh6aUZHZHo3NjFmaWUzeFd5TG9qYnkvSmFs?=
 =?utf-8?B?QUp3clVqQ3kzMWZqMjVPOTdHVFJUMk9kdE5NOERoeFI4UnJyZFV1VWJNWEVv?=
 =?utf-8?B?U3BNdkVJVk5WTUp6TXRLdStLd0RTMW9ZaVRPMkE5T0Z5UjFZRzFBMkRoNGUy?=
 =?utf-8?B?cXc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <8D810BF4D4D09A4E96883BCE250B28F2@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	1W/dLnEuD8RWTcHXUZmCJgzTnZvFiqhE2T3+lnC3UeLG8O4vnDJjtiNUZ0JV68Ap86BaKKXAJ8mbk6lHK9yxpRDne+87Snktk6M4XyfbLWf0Nqfuswb9G7vURqo4JmV4MYmeYKGd2EgYLTz8rEZD/xRxOEfJk4kt+hAd/weJuDFx1aPR1z3OlyAUCZoVM7RLxJCpO0BqpydGF4qLfb4kegkquxFX4sx5s+WNCIChMvAFMuXMyprnGz1Y/iwlBEVRRlOgMqrXnUzoO2xvnysQs/jlYz3lrOP3Sfw6kt/4FdS/Ppx9tdFVNWMg8gaZT/+cYb541jzjgSRP48dO6YBjAt6qAP7p7l9FnMjQ5IafiIOtIqrTmMmhnMJz38rh4S8BAnKieg/pvUW/DtotowVqtOoZZezxGTCofD6/Vybcq4KzhNKipypzCp8BeAbZ1UUGrc28CLjpVnoPKW3KlxYmF7YJDkRMbiq7r8zoXW3yLvFR4JvnJzqX1iNhKTrYvp4k275zuupmWbNt3BJ+cJX8CVQH/8xa7Q5s5S9nZI5HhyBbAAHC+sIHp0STx4T9c6OlEpMztCjPhpikZ8LTDpfZSaWvXRe9WJXwEaVZHU8yOD/XIENHHqYqIWsXmm5NEQCB4da2B7XK3nzjsXZQyp6EVbVW8tPN63s7ZX23kAv+3sLLwc0dTGQJVSGLG5jQJ8igUkfmiV47qJRo2jbCZ8U4Fsjas4n9YSgDJlmy7Ee/ndziFhq6ooZBUhKoudKkmBV96ehD3edysboKijDPIzOD5qrKVu7ZjWGUFe53fFz3uGmhr8L66n291/0LpQ6eRJkyw3SUbE/W4vPn1SEMk+w0KA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5888.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b78f925c-48a6-4839-a3b1-08dad3a9953a
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 14:37:33.2459
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: qVSH9OCbd2aWfSGirbNeqrwTjnZU1j+rDP1wPv8EqPlgTSNqhgdlJr9053GUbvzc0yvgpVP5mtJknwmmo+pfPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5541

DQoNCj4gT24gMSBEZWMgMjAyMiwgYXQgMTM6NTksIEFuZHJldyBDb29wZXIgPEFuZHJldy5Db29w
ZXIzQGNpdHJpeC5jb20+IHdyb3RlOg0KPiANCj4gT24gMDEvMTIvMjAyMiAxMzozNSwgRWR3aW4g
VG9yb2sgd3JvdGU6DQo+Pj4gT24gMSBEZWMgMjAyMiwgYXQgMTE6MzQsIEFuZHJldyBDb29wZXIg
PEFuZHJldy5Db29wZXIzQGNpdHJpeC5jb20+IHdyb3RlOg0KPj4+IA0KPj4+IE9uIDMwLzExLzIw
MjIgMTc6MzIsIEVkd2luIFTDtnLDtmsgd3JvdGU6DQo+Pj4+ICsNCj4+Pj4gKyAgICBjYW1sX2Vu
dGVyX2Jsb2NraW5nX3NlY3Rpb24oKTsNCj4+Pj4gKyAgICByYyA9IHhjX2V2dGNobl9zdGF0dXMo
X0goeGNoKSwgJnN0YXR1cyk7DQo+Pj4+ICsgICAgY2FtbF9sZWF2ZV9ibG9ja2luZ19zZWN0aW9u
KCk7DQo+Pj4+ICsNCj4+Pj4gKyAgICBpZiAoIHJjIDwgMCApDQo+Pj4+ICsgICAgICAgIGZhaWx3
aXRoX3hjKF9IKHhjaCkpOw0KPj4+PiArDQo+Pj4+ICsgICAgaWYgKCBzdGF0dXMuc3RhdHVzID09
IEVWVENITlNUQVRfY2xvc2VkICkNCj4+Pj4gKyAgICAgICAgcmVzdWx0ID0gVmFsX25vbmU7DQo+
Pj4+ICsgICAgZWxzZQ0KPj4+PiArICAgIHsNCj4+PiBUaGlzIGlzIGFjdHVhbGx5IG9uZSBleGFt
cGxlIHdoZXJlIHVzaW5nIGEgc2Vjb25kIENBTUxyZXR1cm4gd291bGQNCj4+PiBzaW1wbHkgdGhp
bmdzIHN1YnN0YW50aWFsbHkuDQo+Pj4gDQo+Pj4gc3dpdGNoICggc3RhdHVzLnN0YXR1cyApDQo+
Pj4gew0KPj4+IGNhc2UgRVZUQ0hOU1RBVF9jbG9zZWQ6DQo+Pj4gICAgQ0FNTHJldHVybihWYWxf
bm9uZSk7DQo+Pj4gDQo+Pj4gY2FzZSBFVlRDSE5TVEFUX3VuYm91bmQ6DQo+Pj4gICAgLi4uDQo+
Pj4gDQo+Pj4gV291bGQgcmVtb3ZlIHRoZSBuZWVkIGZvciB0aGUgb3V0ZXIgaWYvZWxzZS4NCj4+
IA0KPj4gQ0FNTHJldHVybiBoYXMgc29tZSBtYWNybyBtYWdpYyB0byBlbnN1cmUgaXQgZ2V0cyBw
YWlyZWQgd2l0aCB0aGUgdG9wbGV2ZWwgQ0FNTHBhcmFtIGNvcnJlY3RseSAob25lIG9mIHRoZW0g
b3BlbnMgYSB7IHNjb3BlIGFuZCB0aGUgb3RoZXIgY2xvc2VzIGl0LCBvciBzb21ldGhpbmcgbGlr
ZSB0aGF0KSwNCj4+IHNvIEknZCBhdm9pZCBwdXR0aW5nIGl0IGludG8gdGhlIG1pZGRsZSBvZiBv
dGhlciBzeW50YWN0aWMgZWxlbWVudHMsIGl0IG1pZ2h0IGp1c3QgY2F1c2UgdGhlIGJ1aWxkIHRv
IGZhaWwgKGVpdGhlciBub3cgb3IgaW4gdGhlIGZ1dHVyZSkuDQo+IA0KPiBGcm9tIHRoZSBtYW51
YWw6DQo+IA0KPiAiVGhlIG1hY3JvcyBDQU1McmV0dXJuLCBDQU1McmV0dXJuMCwgYW5kIENBTUxy
ZXR1cm5UIGFyZSB1c2VkIHRvIHJlcGxhY2UNCj4gdGhlIEMga2V5d29yZCByZXR1cm4uIEV2ZXJ5
IG9jY3VycmVuY2Ugb2YgcmV0dXJuIHggbXVzdCBiZSByZXBsYWNlZCBieSAuLi4iDQo+IA0KPiBJ
dCBpcyBjb21tb24gaW4gQyB0byBoYXZlIG11bHRpcGxlIHJldHVybnMsIGFuZCB0aGUgbWFudWFs
IGRvZXMgc2F5DQo+ICJFdmVyeSBvY2N1cnJlbmNlIiB3aXRob3V0IHN0YXRpbmcgYW55IHJlcXVp
cmVtZW50IGZvciB0aGVyZSB0byBiZSBhDQo+IHNpbmdsZSBvY2N1cnJlbmNlLg0KPiANCj4gQ0FN
THJldHVybiBjYW4ndCBzeW50YWN0aWNhbGx5IHdvcmsgc3BsaXR0aW5nIGEgc2NvcGUgd2l0aCBD
QU1McGFyYW0sDQo+IGJlY2F1c2UgdGhlbiB0aGlzIHdvdWxkbid0IGNvbXBpbGU6DQo+IA0KPiBD
QU1McHJpbSB2YWx1ZSBzdHViX3hjX2V2dGNobl9zdGF0dXModmFsdWUgZm9vKQ0KPiB7DQo+ICAg
ICBDQU1McGFyYW0xKGZvbyk7DQo+ICAgICBpbnQgYmFyID0gMDsNCj4gDQo+IHJldHJ5Og0KPiAg
ICAgaWYgKCBiYXIgKQ0KPiAgICAgICAgIENBTUxyZXR1cm4oZm9vKTsNCj4gDQo+ICAgICBiYXIr
Kw0KPiAgICAgZ290byByZXRyeTsNCj4gfQ0KPiANCg0KDQpJIHdvdWxkbid0IGV4cGVjdCBpdCB0
bywgb3IgYXQgbGVhc3QgSSd2ZSBuZXZlciBzZWVuIGEgQyBiaW5kaW5nIHdyaXR0ZW4gdGhhdCB3
YXkgKHdpdGggQ0FNTHJldHVybiBub3QgYXMgbGFzdCBzdGF0ZW1lbnQpLA0KYnV0IGluZGVlZCBu
b3RoaW5nIGluIHRoZSBtYW51YWwgc3RhdGVzIHRoYXQgaXQgd291bGRuJ3Qgd29yay4NCg0KPiBD
QU1McmV0dXJuIGRvZXMgdXNlIGEgbm9ybWFsICJkbyB7IC4uLiB9IHdoaWxlICgwKSIgY29uc3Ry
dWN0IHNpbXBseSBmb3INCj4gYmVpbmcgYSBtYWNybywgYW5kIGZvcmNlcyBwYXJpbmcgd2l0aCBD
QU1McGFyYW1YIGJ5IHJlZmVyZW5jaW5nIHRoZQ0KPiBjYW1sX19mcmFtZSBsb2NhbCB2YXJpYWJs
ZSBieSBuYW1lLg0KPiANCj4gDQo+IFNvIEkgcmVhbGx5IGRvIHRoaW5rIHRoYXQgbXVsdGlwbGUg
Q0FNTHJldHVybnMgYXJlIGZpbmUgYW5kIGNhbm5vdA0KPiByZWFzb25hYmx5IGJlIGJyb2tlbiBp
biB0aGUgZnV0dXJlLg0KPiANCj4gQnV0IGlmIHdlIGRvIHJlYWxseSBzdGlsbCB3YW50IHRvIGtl
ZXAgYSBzaW5nbGUgcmV0dXJuLCB0aGVuIGEgImdvdG8NCj4gZG9uZSIgd291bGQgYmUgYWNjZXB0
YWJsZSBoZXJlIGFuZCBzdGlsbCBiZXR0ZXIgdGhhbiB0aGUgaWYvZWxzZS4NCg0KSSBhbG1vc3Qg
YWx3YXlzIHVzZWQgdG8gdXNlIGRvL3doaWxlKDApIGFuZCBicmVhayBldmVuIGluIEMgYXMgYSBy
ZXBsYWNlbWVudCBmb3IgJ2dvdG8nLA0KZXNwZWNpYWxseSBpZiB0aGVyZSBhcmUgbXVsdGlwbGUg
bmVzdGVkIHJlc291cmNlcyB0aGF0IG5lZWQgY2xlYW5pbmcgdXAsIGRvL3doaWxlIGVuc3VyZXMg
eW91DQp1bndpbmQgdGhlbSBpbiB0aGUgY29ycmVjdCBvcmRlciBhbmQgZG9uJ3QgYWNjaWRlbnRh
bGx5IHNraXAgb25lLg0KSSB0aGluayBtb3N0IGNvZGUgdGhhdCBpcyB3cml0dGVuIHVzaW5nICdn
b3RvJyBjYW4gYmUgcmV3cml0dGVuIG5vdCB0byB1c2UgaXQsIGFuZCBtaWdodCBhdm9pZCBzb21l
IGJ1Z3MgaW4gdGhlIHByb2Nlc3MNCihlLmcuIHVzaW5nIGdvdG8gbWlnaHQgbGVhdmUgc29tZSBs
b2NhbCB2YXJpYWJsZXMgdW5pbml0aWFsaXNlZCkuDQpJJ20gcmVsdWN0YW50IHRvIGludHJvZHVj
ZSBhIGdvdG8ganVzdCB0byBkZWNyZWFzZSBuZXN0aW5nIGxldmVsLg0KDQpUaGVyZSBtaWdodCBi
ZSBhbm90aGVyIHdheSB0byByZXdyaXRlIHRoZSBjb2RlOg0KYGBgDQpzd2l0Y2goc3RhdHVzLnN0
YXR1cykNCnsNCmNhc2UgRVZUQ0hOU1RBVF9jbG9zZWQ6DQogc3RhdCA9IFZhbF9ub25lOw0KIGJy
ZWFrOw0KLi4uIG90aGVyIGNvZGUgdGhhdCBhc3NpZ25zIHRvIHN0YXQgc29tZXRoaW5nIG90aGVy
IHRoYW4gTm9uZSAuLi4NCn0NCg0KaWYgKFZhbF9ub25lID09IHN0YXQpIHsNCiAgIHJlc3VsdCA9
IFZhbF9ub25lOw0KfSBlbHNlIHsNCiAgIC4uIGNvZGUgYXMgaXQgd2FzIGJlZm9yZSB0byBjb25z
dHJ1Y3QgYSBzb21lIC4uLg0KfQ0KDQpDQU1McmV0dXJuKHJlc3VsdCk7DQpgYGANCg0KVGhpcyB3
b3VsZCB0aGVuIGZvbGxvdyB0aGUgbG9naWNhbCBvcmRlciBvZiBob3cgdGhlIHZhbHVlcyBhcmUg
Y29uc3RydWN0ZWQsIGFuZCBhdm9pZHMgdGhlIGRlZXAgbmVzdGluZyBvZiB0aGUgc3dpdGNoLg0K
KHJlYWRpbmcgdGhlIGNvZGUgYmFja3dhcmRzIGZyb20gZXhpdCB3aWxsIHNob3cgeW91IGhvdyBl
YWNoIHBpZWNlIGlzIG5lc3RlZC9jb25zdHJ1Y3RlZCB3aXRob3V0IGp1bXBzIHRoYXQgYWx0ZXIg
Y29udHJvbCBmbG93KQ0KDQpWYWxfbm9uZSA9PSBpcyB1c2VkIGluc3RlYWQgb2YgPT0gVmFsX25v
bmUgdG8gY2F0Y2ggYSB0eXBvIHdoZXJlIHN0YXQgPSBWYWxfbm9uZSB3b3VsZCBjaGFuZ2Ugc3Rh
dCwgd2hlcmVhcyBWYWxfbm9uZSA9IHN0YXQgd291bGQgYmUgYSBjb21waWxlIGVycm9yLg0KDQpX
aGF0IGRvIHlvdSB0aGluaz8NCg0KKG1pZ2h0IGJlIHNsaWdodGx5IGxlc3MgZWZmaWNpZW50IHRo
YW4gdGhlIG9yaWdpbmFsIHZlcnNpb24sIGJ1dCBhIHJlYXNvbmFibGUgQyBjb21waWxlciBzaG91
bGQgcHJvZHVjZSBhbG1vc3QgZXF1YWwgb3B0aW1pemVkIGNvZGUgZm9yIGJvdGgpLg0KDQo+IA0K
Pj4+IGNhbWxfYWxsb2Nfc29tZSgpIGlzIHBlcmhhcHMgbGVzcyBpbnRlcmVzdGluZyBhcyBpdCBv
bmx5IGFwcGVhcmVkIGluDQo+Pj4gT2NhbWwgNC4xMiBBRkFJQ1QsIGJ1dCB3ZSBjb3VsZCBhbHNv
IGhhdmUgc29tZSBpZmRlZmFyeSBmb3IgdGhhdCBhdCB0aGUNCj4+PiB0b3Agb2YgdGhlIGZpbGUu
DQo+Pj4gDQo+Pj4gSSBkb24ndCBrbm93IHdoZXRoZXIgd2UgaGF2ZSBvcGVuY29kZWQgb3B0aW9u
cyBlbHNld2hlcmUgaW4gdGhlDQo+Pj4gYmluZGluZ3MsIGJ1dCBpdCBjZXJ0YWlubHkgd291bGQg
YmUgcmVkdWNlIHRoZSBhbW91bnQgb3BlbmNvZGluZyB0aGF0DQo+Pj4gZXhpc3RzIGZvciBzdGFu
ZGFyZCBwYXR0ZXJucy4NCj4+IA0KPj4gcGVyaGFwcyB3ZSBjYW4gbG9vayBpbnRvIGRvaW5nIHRo
YXQgY2xlYW51cCBhcyBhIHNlcGFyYXRlIHBhdGNoLg0KPiANCj4gUHJvYmFibHkgYmVzdCwgeWVz
Lg0KPiANCj4gfkFuZHJldw0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 15:08:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 15:08:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450823.708286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lAQ-0001wZ-Du; Thu, 01 Dec 2022 15:08:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450823.708286; Thu, 01 Dec 2022 15:08:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lAQ-0001wS-99; Thu, 01 Dec 2022 15:08:02 +0000
Received: by outflank-mailman (input) for mailman id 450823;
 Thu, 01 Dec 2022 15:08:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pMaK=37=citrix.com=prvs=3274cb7b8=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p0lAO-0001wL-IT
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 15:08:00 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef31fde7-7189-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 16:07:58 +0100 (CET)
Received: from mail-mw2nam12lp2049.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.49])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 10:07:52 -0500
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com (2603:10b6:a03:2d6::7)
 by BLAPR03MB5442.namprd03.prod.outlook.com (2603:10b6:208:291::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 15:07:50 +0000
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b]) by SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 15:07:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef31fde7-7189-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669907278;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=PBb1iC84Y9mtPs3tMgemr5UGzerkZP/AnbalvqRU7ac=;
  b=Y6mBabZpMH1jtY33z+c6P8gm9e8J9UVNoD9KZKo9DjPlcHIWp/R+Sd/o
   q9jdiHF8WSxgmlICjNDH6Y9HTaZAILkYjAvkkRoWlRftlMHr5jdYPwOiO
   9VIUpbRQsDzvVNokQq8zUV/O52K49dU4vmaZYjQ9EZI74M+mUy1fXEoQU
   k=;
X-IronPort-RemoteIP: 104.47.66.49
X-IronPort-MID: 86071011
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:BpDJlKhur7Awmeh285PCs3ZwX161RxEKZh0ujC45NGQN5FlHY01je
 htvUTrTOaqNN2f1LdxzOt61/R4OvsDQx9M3Swo5/CE8RHsb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5geHzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQWJj4AMw+6pdio7+LgSutCptp6fOrCadZ3VnFIlVk1DN4AaLWaGeDv2oUd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilIvluS8WDbWUoXiqcF9k0qGp
 2SA42PjBRIyP92D0zuVtHmrg4cjmAurBtpNTeXhr5aGhnWx3is2JSwWd2DhirqG1n+vSeh7A
 kMtr39GQa8asRbDosPGdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QOuMYoSBQw2
 1SOntevAiZg2JWKTVqN+7HSqim9URX5NkcHbC4ACA4aud/qpdhpigqVFooyVqmoktfyBDf8h
 SiQqzQzjKkSishN0Lin+VfAgHSnoZ2hohMJ2zg7l1mNtmtRDLNJraTxtTA3Md4owF6lc2S8
IronPort-HdrOrdr: A9a23:j5CtuaF+IhmpK3hjpLqEPseALOsnbusQ8zAXPiFKOHhom6mj+q
 yTdZsguyMc5AxxZJhYo6HmBEDYewK7yXcX2/h1AV7BZmbbUQKTRekJ0WKF+V3d8kXFndK1vp
 0QEZSWZueAbmSTWa7BkXGF+8lJ+qj4zEi47d2utkuEU2lRGtpdBg1Ce3mm+hAffng9OXIgfK
 Dsm/auvFKbCAgqUvg=
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="86071011"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f/mS9Lfws4NvkVVoC5oBr1Ti7/mx+KLYXsBnIIAZ2jL+YgKQZERuo9e7E8s6ZNZVy/l0qvpccgf2VPsWWxCoGbI2KX1XyTpm7MdZIu6Id68E+1G13ucZ2EEPzIlPLQmnf1uSxt70BwW9T/Ns2sPqFtggA1bwtu+7QvmaX+yl9xQS/t5qG+h9D2rQjAhp9zm+YW3xSShaCdbU+bt2yIDYYdfItMLItsl6nUKW56l0AGum5pHRXWe+zRooTILvcCs9sOr0G2Q5PpIDqgp5NDEk/fDL3RqLeVu90zKBqArDbIHpOT2KeRUsHIUlPTf2q80EQdabODREwoCK/reZ6vP8vA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tX0z6qO/z3rpnNvYja98p/YzDIk/d0OmtRvMbEJnwjU=;
 b=hT5zX/MrVpJucx0U4Uy4Je4XpsVP13aLJl8CCqhgYycbj+fxiNL+5mbCT7tMUp5/E9vwCQXZf0FQuY4L+9Zaa6VWYx3Nd0+zvyIYvpq69TUAxC0zxnAQydmPkLgjNGu08d2CzoQhdc5ak4Zy9jF9Vq3Vd5bqUmdBU+yBzRtJR9e5FOlYyECymPMRZcD1nFl3Pl41kjpsZjxl0odHrF7wA0BG4+PjNDzx52M+A9j5GLOjtK3PVjd4+dVPvktePhttsoDlUY/cheARIbXBByNq8eMt7z59B8kJnPaQ2YsrIWVyY20GMxpSh4VYwVn2pKMA6GmYnz3DJGeRXbV2CKtmcQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tX0z6qO/z3rpnNvYja98p/YzDIk/d0OmtRvMbEJnwjU=;
 b=Q3RaA8uSnWpw9Hb0QGGyP3h3MWFr/warXGy911yxg2+Wuf/ryPDfy6tpncAsbcUZudK7bsm3lieNJNbCQb3v/YQlXbUJVMWyY04/FwRtKdgttxVw+n8zkmseH2vFf8KcArsxp1KdouSvJDDXi+LDn4dZ/9T9iwdwseMXlGly7Do=
From: Edwin Torok <edvin.torok@citrix.com>
To: Christian Lindig <christian.lindig@citrix.com>
CC: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, David
 Scott <dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v1 3/5] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Topic: [PATCH v1 3/5] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Index:
 AQHZBOHXDfX2gYxBg0iCW8c7bxa9Ka5Y7MWAgAAhD4CAAAIsgIAABU4AgAABv4CAAAx+AA==
Date: Thu, 1 Dec 2022 15:07:50 +0000
Message-ID: <5AF88105-BA9F-4601-83CD-389DBE1EE80B@citrix.com>
References: <cover.1669829264.git.edvin.torok@citrix.com>
 <63240681327af995df64b773945406b097a31d4b.1669829264.git.edvin.torok@citrix.com>
 <4ba26b93-a7b0-ee6d-f71f-6e0d78314697@citrix.com>
 <A1F15A81-492C-42AF-B11E-43EFE3FF8BB3@citrix.com>
 <08D59C99-A8F8-44B1-A081-FFB0CCA8A8C5@citrix.com>
 <DD8F6F10-D9D2-4433-B2D2-ADB419F2FB8B@citrix.com>
 <B5F6DABD-B6E2-4F07-893D-78030272B424@citrix.com>
In-Reply-To: <B5F6DABD-B6E2-4F07-893D-78030272B424@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR03MB5888:EE_|BLAPR03MB5442:EE_
x-ms-office365-filtering-correlation-id: c9ae0672-a5c0-4020-b956-08dad3add05c
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 4+cINO00///1tJ9P2BOagRSMIg25p+eY6RrhyyR1D1w18B4DiszdfendWOhW7/DbJFm7WFz7S71fvmA7i+Z2/NZjP79W6pr2Y9ldyhUujzLU/ElGKR9sGKj5/yZig2A95Ez06lwwCDX31nBuhKMnlACf3F1m819tKz1dipgiezaBF8Bwu461aTs+SjkUgsmciZtqEOEefKKt7VyH8ZeUaCwvBwhUIwssAhCPhTfiOqVXcoJcIJ+bgsrKxm5qfOcYdzghGSJcmNIgj9cttMg976SqIrV5o3Df9c9BRoFbfgH5QmXhZOJEhxFg6xyha0E4SjUbb/daAsW9s8Za/ApgxkKbuyOyX/aRuXdbZFy80AJJBZXraKUVIJpUvg/xwHIVXc/EkoS6ZdavawVtU5fIpf+GoMyYUcWVUDuRUKStpYh4Dc6uvg2Dj8Om6FbcePw4X7TTmZcpXv42z/PAYI3JvvMZ6hrf4qzyG7fZskYVQNnYVVokWy+Bp04R4+k4d8b/AeyqatzYVXraJ8/Avgd0cfRKa6AFml1pq4bJ4571wWJxCgAh1yZQLdwMc/4333cVgBYESgzsRwsvPlZjWM00GLkAigFBKY9nC4TBofwlX6wfBDx+DjzjC+Jl0tdSCK4pvBbUoaACOUcoiIDl8sz7QOy+Loidbw2y1H/03sdBK9vAii8W6asawbS5Tsz8VMqJziPqt4K/h7l+yRW+ndhlArEb9pgml0GhsSm0pPj0200=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5888.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(396003)(366004)(376002)(346002)(451199015)(38070700005)(86362001)(36756003)(33656002)(6486002)(71200400001)(53546011)(6512007)(478600001)(6506007)(26005)(107886003)(5660300002)(41300700001)(37006003)(8936002)(4326008)(316002)(6636002)(54906003)(2906002)(6862004)(8676002)(64756008)(91956017)(66476007)(66556008)(66446008)(76116006)(66946007)(38100700002)(82960400001)(122000001)(83380400001)(186003)(2616005)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?5isVzh6iXrZPk0djxxRBS9iUZTbU1MkZJZqvI7PUY5pGM7bVlv4R6MLUpYUG?=
 =?us-ascii?Q?2bO5tAMQhcoZF9MI0iWZK8/xQQ1sW8C7zsOsdFDhz9TKYk34Au6MluQKVZqE?=
 =?us-ascii?Q?MeAtBrvEIwucdL84Cn0qFEpWxSvHKWrYg9sCO7BYmIrcly013Sd3rapvU5qs?=
 =?us-ascii?Q?vk2qo0vha9WML3MGXIUeEQ0+LlacPcK5UaxhRoLkAJvbHnfpMptcIgA9Rjki?=
 =?us-ascii?Q?tBpH9UAda1EYbNCnOk7Y0fcMpKUT3kyEottY5n+2/NmM44YOUug3JOf4P2U5?=
 =?us-ascii?Q?iwaVA3oik/MooItoz3VDok1m4nBrlGoLT5iM2gak6xHB5HsETvVb3hotwpwr?=
 =?us-ascii?Q?pSIkzlYv771ykHF9qr3ERQmTO5TDI9BXsSpGNfErDNz93W29MMNlq0YfrhHj?=
 =?us-ascii?Q?B6Q12DI56x0tZHrXfaQDiFZ64JLuZu46Im5PV8Jw6XQgvGVtrSBVIhFs2C/k?=
 =?us-ascii?Q?CFcPL62GjX24tQVWG0odiThRunybCDuITVBodhw4F+x+fpmU/hOZnnMLbTZ8?=
 =?us-ascii?Q?Uj1GFXi9ptHoMM8jdm//PlMA7jTJpg/hOySsuPCHAsl4vgR955EDO7pfGUxQ?=
 =?us-ascii?Q?Bto7exkOxB2iE52bNZEsBQu3QXNhWwMBEGztJrpuWDRRqmK4Y6TrhqvlGMy+?=
 =?us-ascii?Q?TZPUgsGmdCTkYwP5iRAfpJnqb8j9I4Ar4jUdsw2lxrIkETuvN/62HC7S65Cp?=
 =?us-ascii?Q?HlKZGea+N4Nf0PrD7suop3M27xXw00o+mQiKghTawwJSbG139woCtfQICPJV?=
 =?us-ascii?Q?kgmh9M13h4dn4Lk39VBVvEryTgvEU4gkVksbSbiV5tDCiBqM5E+BylWweTPj?=
 =?us-ascii?Q?f1471nXOHGQwKIarRFLozjxHZ6Mb+O35anOXB9PPJhnbFyIiPOIgS2cP33Kn?=
 =?us-ascii?Q?HRHNE6UaQ9H95aAJZ5Vp+bo8sLg9xJh+1Xe6FyC/OmDjp1mOewhWOauhasip?=
 =?us-ascii?Q?Zc5DCnBNLe/25JGmeXmGcu9uiBMXqyZO8iulTXxZpZx5q3Ai0z2EDWOh1QaQ?=
 =?us-ascii?Q?zOqGxhEkW/bI4msasA/xgdf67nmd0SRBPCe7dNvClj1YHb6iq9iHhLWmkxjP?=
 =?us-ascii?Q?iqEHfENyw/SmEhVuIcPFv+q5WCZ/Fe0SsdaNiQqULz1StHmAGKCcbljxB0P/?=
 =?us-ascii?Q?Z2P5JjFJSCUzI+dSZYXe+EzIDQDvRzGg8a4GMBmTccbEdFYSvyQmElTLZy6g?=
 =?us-ascii?Q?/viGLFYoNj5ld2tYvqUUHftYtHiXHoAFs2B5L3m/ase7WG9uNb8yWRDaZ8MC?=
 =?us-ascii?Q?j2RXpMIe6ETGQfgN3GoJShQ1AbU6ZFbYZ+v790+rtd9M6SjjW4FV2NZ7LvFp?=
 =?us-ascii?Q?gRLPDATiUX2n3Zd9xj5kwr47oNQ+e7go5drP9Dr0aKKbGrpDl4ofXPiRoo3F?=
 =?us-ascii?Q?7SGoLkI7kIxdg/3tbJTCZYNkTALkD8LX60IRbEzeSe21cxSalj4Oh+QzUxvh?=
 =?us-ascii?Q?mz+DkoNFOP6llaqUiNnNYSSZgzxAByw/cRrmuCd+PCPHf4AaQvdk7/6TqExy?=
 =?us-ascii?Q?K3wiemgya7bxTkhn3VtqmJkzlnJIWTqXGe8yCSzcZGfcFSlb7SVxEFA28/0f?=
 =?us-ascii?Q?giOWIelpFIw2YSiobm2noHcyETHVxwlydMD5F5qxuZJKZzUZSJxAtOtPv17P?=
 =?us-ascii?Q?eA=3D=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <827A6574CC397547A9806A6761D49892@namprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	kxCimhhhNjIf7CK+4ZYYYzGGSBqbH7hO5YY/WqPuj48bxPg+W/3K6FCTVFYV1w0NSTIA/MCQeun2hgIREJOwNA/L0/FkWyaRgO7ErPDw2OItegMVc3e0x4RKeSJWXtDspinkUxqRV64Jk1Wolfjyt3c/VvqqMf7w9QnVu3qz+2S9f7/NaesVm68j875h6+MW3GRpgA8B5k8YiWdRzG0NabRCMWzaZMx0H8zbBQ+VGAyQ8yBtAwB0kM2Y+knL/dRWC5HLPsCRRDQ4qkz59ZeDB/u++EMTiGpZbXSp7TuPICbS23WXBYnjNfzXM6kBu1DHaOYFvR0Xgki3jldjAxYx3P+Gs1nCQZp+V2DxtF9ubICsWM715d89V8YKJFvFuWyZjFJtONoXKGJpMlkBPaAUELVEObW3cFHXrsltF2AU4S3fK+Tz87yxDRqN6879hcDlSkfyyJNbqy0gPoIKiM1XIOFTqiqQEzOzSMMaK3HyyREg5pJhhWpiWaQ7jk4hxjs6/7Rw6msfsLKY1heE1b3GgM7cHHd24dkyDmf9AGia3KEnv8VUCIvpHty6g2ViTM6jrS6/naGbXnTjPLpX+EvhaotLKludO2+nh3336+/ss/cdXz+5pXuf/A8CJzTaCRuE263NfM2Unx0E4liB+leDdzvLwkEJ9TsMZtXVWDIRGHNn2O7KkoATMzTn7AucDcdFzr0K5BcutDGLz+5BCzSLE2mdqyzgu02+E3rYYVNeOhLLWLOdmQg/zWM+EZNjTV2K4uH+ir6Nys90uKuq6TWqDdAp/seY2p1rHg6qOMBllGxV+iqxESQgRIFcG7eVcAgdVrSWYpFWK1RCbv8utUiHBg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5888.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c9ae0672-a5c0-4020-b956-08dad3add05c
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 15:07:50.4574
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 018JjYOG/MotD4HnC1WT0FjWsOIlVwG5pnhpRniz6+/O/10mJIa7cRAP2yCd2wgamlP/5J0l6peF60GmyR0ERg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5442



> On 1 Dec 2022, at 14:22, Christian Lindig <christian.lindig@citrix.com> w=
rote:
>=20
>=20
>=20
>> On 1 Dec 2022, at 14:16, Edwin Torok <edvin.torok@citrix.com> wrote:
>>=20
>> The disadvantage is that we can't pattern match on it anymore.
>>=20
>> Although we could have some OCaml code that does the pattern matching on=
 another type and maps it to these private integer types.
>> However at that point we've manually reinvented what ctypes would alread=
y do, and we have an additional mapping step (which may not matter from a p=
erformance point of view but would be nice if we could avoid it).
>=20
> I agree that this is a severe disadvantage. My method is only useful if t=
hey are mostly passed around but not when they have an algebra defined over=
 them where you want to combine and match them.


It might be possible to use your method to implement a pure-OCaml ABI check=
er though.

Consider:
```
external constant_A : unit -> int =3D "caml_constant_A"
external constant_B : unit -> int =3D "caml_constant_B"
external constant_C : unit -> int =3D "caml_constant_C"

let check_match =3D List.iter @@ fun (ocaml_variant, c_constant) ->
   let r =3D Obj.repr ocaml_variant in
   assert (Obj.is_int r);
   assert ((Obj.magic r : int) =3D c_constant ())

type t =3D A | B | C
let () =3D
   [A, constant_A
   ;B, constant_B
   ;C, constant_C]
   |> check_match
```

(although perhaps with the 2nd assertion replaced by something that include=
s the constant in the exception raised to aid debugging)

This'd only detect the ABI mismatch at runtime (although it would detect it=
 right on startup), so it'd need to be accompanied by a small unit test
that would link just this module to make any mismatches a build time failur=
e.

Then there would be no runtime overhead when using these variants in functi=
on calls, and we'd know they match 1:1.
Although there is still a possibility of mismatching on names (the bug I or=
iginally had in my patch, which although wouldn't cause any runtime issues,
would be good to catch at build time too).

I'll keep thinking about this to see whether there is another easy approach=
 we can use that doesn't require using Cstubs and doesn't rely on manually =
keeping
code in different files in sync.

Best regards,
--Edwin



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 15:16:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 15:16:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450832.708297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lIA-0003pS-DP; Thu, 01 Dec 2022 15:16:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450832.708297; Thu, 01 Dec 2022 15:16:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lIA-0003pL-9u; Thu, 01 Dec 2022 15:16:02 +0000
Received: by outflank-mailman (input) for mailman id 450832;
 Thu, 01 Dec 2022 15:16:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DAsL=37=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p0lI9-0003pF-0w
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 15:16:01 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f884cf1-718b-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 16:15:59 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id C2541B81F0A;
 Thu,  1 Dec 2022 15:15:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F1D68C433C1;
 Thu,  1 Dec 2022 15:15:55 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f884cf1-718b-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669907757;
	bh=aKOtdImn76rXlhrOQiWVcgLyFe3FcoSd7xOxRfIZcvo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=so0TaHM28hfvw5oggxWxMaX7w+gXE0XvX5Hwna6nLaMvuiyWIEklRnc1ChMoeWzgf
	 pEOkvBASff+r5wYCi3e93Ze34eyPO7XC3CKEf29H7Hd4gleipLJOqgsigioqzarbJ2
	 gyw/QR8jbu4Hjt8ro48N9Q68c8eq7EeCbAAxGBriIX2H/pzVkbO4AFFXw+AWp8LLm4
	 AMDtvPdyIbptjL9d7NKr/Gavdeq0re1RCcKiPZ69D2JxyfZkssHjQpWXO46WOLkTno
	 AshKzAFf9Fv9ocWUN3txMXszBOfNJ9+v/6PkmnnzSbiGlgbb0RAx7KXBVZFncgKIZ0
	 pL3y/MssYmQ7Q==
Date: Thu, 1 Dec 2022 07:15:54 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Luca Fancellu <Luca.Fancellu@arm.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/4] xen/scripts: add cppcheck tool to the xen-analysis.py
 script
In-Reply-To: <e5aacddc-1149-6a8d-4840-836edb3ad0c0@suse.com>
Message-ID: <alpine.DEB.2.22.394.2212010715190.4039@ubuntu-linux-20-04-desktop>
References: <20221128141006.8719-1-luca.fancellu@arm.com> <20221128141006.8719-3-luca.fancellu@arm.com> <alpine.DEB.2.22.394.2211291607280.4039@ubuntu-linux-20-04-desktop> <CD8C2F1A-B321-4E3D-907C-E6DBB1A5E2CD@arm.com> <alpine.DEB.2.22.394.2211301145132.4039@ubuntu-linux-20-04-desktop>
 <471b6470-b0b7-a97d-2114-a1871e237a89@suse.com> <3FE8EBB1-B565-4257-B966-BD1E97E32451@arm.com> <e5aacddc-1149-6a8d-4840-836edb3ad0c0@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 1 Dec 2022, Jan Beulich wrote:
> On 01.12.2022 12:18, Luca Fancellu wrote:
> >> On 1 Dec 2022, at 08:33, Jan Beulich <jbeulich@suse.com> wrote:
> >> On 30.11.2022 21:26, Stefano Stabellini wrote:
> >>> On Wed, 30 Nov 2022, Luca Fancellu wrote:
> >>>>> I think the revert of the cppcheck integration in xen/Makefile and
> >>>>> xen/tools/merge_cppcheck_reports.py could be a separate patch. There is
> >>>>> no need to make sure cppcheck support in the xen Makefile is
> >>>>> "bisectable". That patch could have my acked-by already.
> >>>>
> >>>> Ok I will split these changes in a following patch
> >>>>
> >>>>>
> >>>>> Also the document changes introduced in this patch have my reviewed-by:
> >>>>> - docs/misra/cppcheck.txt
> >>>>> - docs/misra/documenting-violations.rst
> >>>>> - docs/misra/false-positive-cppcheck.json
> >>>>> - docs/misra/xen-static-analysis.rst
> >>>>
> >>>> Thank you, should I put those files in a separate patch with your rev-by before
> >>>> this patch or this is just a comment for you to remember which file you already
> >>>> reviewed?
> >>>
> >>> If Jan and the other reviewers are OK, I think you could split them out
> >>> in a separate patch and add my reviewed-by. If Jan prefers to keep it
> >>> all together in one patch, then I wrote it down so that I remember what
> >>> I have already acked :-)
> >>
> >> Docs changes being split off and going in first is okay as long as what
> >> is being documented is present behavior. If other changes are needed to
> >> make (parts of) new documentation actually correct, then it should imo
> >> go together. If new documentation describes future behavior (e.g.
> >> design docs), then of course it's fine as well to go in early, as then
> >> there simply is no code anywhere which this would (temporarily) not
> >> describe correctly.
> > 
> > Yeah I thought so, I would prefer to keep these files here otherwise I would need to
> > change them somehow and I would lose the r-by anyway.
> > 
> > Regarding the revert of cppcheck from makefile and xen/tools/merge_cppcheck_reports.py,
> > are you ok if I send a patch with only those changes? Would it be ok for you if the new patch
> > is after this one?
> 
> I don't mind you doing so, but I guess the question is mainly to people
> actually / possibly making use of those make goals.

I think it is OK -- we are not at the stage where cppcheck is used in
production-worthy pipelines yet.


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 15:16:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 15:16:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450835.708307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lIc-0004Io-Lk; Thu, 01 Dec 2022 15:16:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450835.708307; Thu, 01 Dec 2022 15:16:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lIc-0004Ih-J7; Thu, 01 Dec 2022 15:16:30 +0000
Received: by outflank-mailman (input) for mailman id 450835;
 Thu, 01 Dec 2022 15:16:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DAsL=37=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p0lIb-0004IW-JY
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 15:16:29 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1fd84359-718b-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 16:16:27 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id AEB67CE1D00;
 Thu,  1 Dec 2022 15:16:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6BDD7C433C1;
 Thu,  1 Dec 2022 15:16:22 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1fd84359-718b-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669907783;
	bh=66NEiIlTrHZZpiZASYlKhgBWxrXF7VIKt7lC6rAyhAg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=n9rObCEcxdux3qpYQvoJLfGsvn+U3m2SbzNZp1WVM41hDD1ebBQxsKUGv4kaol+fb
	 IfdwZ9VYSbA9ijo+9ZRq6ST2Ybf+FoSWYzBa1j7aSzierIeAg4ktGWVhj5CaOEuZG3
	 V9AdmaeUQwmzTUjSOy4pLi1VmAfeDLKHdwxF1li0r4oACozlw4ovaq1eU16norOZKF
	 Fl2HLnotl1x99xBdGKdLmHEN4zzmkW/ycEv0KLCxwnSSGncwGD0W8eVaSajQYnsbAS
	 u8py2QJJthC8sod1OBq7D7g1Ag6I/+NC2sh+7OQl9qZjB1Gvtcnk/Xw36RM9fQ1iFq
	 iC320h3DWvkFw==
Date: Thu, 1 Dec 2022 07:16:20 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 3/4] tools/misra: fix skipped rule numbers
In-Reply-To: <677D59B8-839D-4C43-8546-67B2D1C887E6@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212010716140.4039@ubuntu-linux-20-04-desktop>
References: <20221128141006.8719-1-luca.fancellu@arm.com> <20221128141006.8719-4-luca.fancellu@arm.com> <alpine.DEB.2.22.394.2211291545420.4039@ubuntu-linux-20-04-desktop> <21F6A61B-1476-49A7-8726-7F94BBA627F6@arm.com> <alpine.DEB.2.22.394.2211301534190.4039@ubuntu-linux-20-04-desktop>
 <677D59B8-839D-4C43-8546-67B2D1C887E6@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 1 Dec 2022, Luca Fancellu wrote:
> >> Hi Stefano,
> >> 
> >> MISRA rules are in this format X.Y, misra_c2012_rules is a dictionary where the key is 
> >> X and the value is the maximum number that Y can have.
> >> 
> >> For example rule 13.Y goes from 13.1 to 13.6 (in the dictionary misra_c2012_rules[13] == 6),
> >> so the code can now check which among (13.1 .. 13.6) is not in the rule_list and add it to the
> >> list of skipped rules.
> >> 
> >> Here an example:
> >> {
> >>    "script": "misra.py",
> >>    "args": [
> >>      "--rule-texts=/path/to/cppcheck-misra.txt",
> >>      "--suppress-rules=1.1,1.2,1.4,2.2,2.3,2.4,2.5,2.6,2.7,3.1,4.1,4.2,5.5,5.6,5.7,5.8,5.9,6.1,7.1,7.2,7.3,7.4,8.2,8.3,8.7,8.9,8.11,8.13,8.14,9.3,9.4,9.5,10.1,10.2,10.3,10.4,10.5,10.6,10.7,10.8,11.1,11.2,11.3,11.4,11.5,11.6,11.7,11.8,11.9,12.1,12.2,12.3,12.4,12.5,13.1,13.2,13.3,13.4,13.5,14.2,14.3,14.4,15.1,15.2,15.3,15.4,15.5,15.6,15.7,16.1,16.2,16.3,16.4,16.5,16.6,17.1,17.2,17.5,17.6,17.7,17.8,18.1,18.2,18.3,18.4,18.5,18.6,18.7,18.8,19.1,19.2,20.1,20.2,20.3,20.4,20.5,20.6,20.8,20.9,20.10,20.11,20.12,21.1,21.2,21.3,21.4,21.5,21.6,21.7,21.8,21.9,21.10,21.11,21.12,21.13,21.14,21.15,21.16,21.17,21.18,21.19,21.20,21.21,22.1,22.2,22.3,22.4,22.5,22.6,22.7,22.8,22.9,22.10"
> >>    ]
> >> }
> >> 
> >> So this patch is solving two issues, the first one was that rule 22.Y was never included in the suppressed
> >> list because range(1,22) produces a range in [1..21], the second issue is that the code was producing
> >> Invalid MISRA C 2012 rules, for example 1.21 and so on.
> > 
> > I see, that makes sense. Please improve the commit message with this
> > information and add
> > 
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Thank you,
> 
> If you agree, I will change the commit message to be this one:
> 
> MISRA rules are in the format Rule X.Y, currently the script
> convert_misra_doc.py is using two nested loop through range(1,22) to
> enumerate rules that needs to be skipped, using combination of X.Y in
> that range, however there are two issues in the code:
>  - rule 22 is never included because the range(1,22) produces a range 
>    in [1..21]
>  - the second issue is that the code is producing invalid MISRA C 2012
>    rules, for example 1.21 and so on
> 
> Fix the issue using a dictionary that list the rules in misra c2012.

Sounds good


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 15:17:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 15:17:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450842.708318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lJS-0004t6-VS; Thu, 01 Dec 2022 15:17:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450842.708318; Thu, 01 Dec 2022 15:17:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lJS-0004sz-Sa; Thu, 01 Dec 2022 15:17:22 +0000
Received: by outflank-mailman (input) for mailman id 450842;
 Thu, 01 Dec 2022 15:17:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lVjU=37=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p0lJQ-0004pl-Vk
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 15:17:21 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2061c.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f43ac50-718b-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 16:17:19 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8783.eurprd04.prod.outlook.com (2603:10a6:102:20e::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 15:17:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 15:17:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f43ac50-718b-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iO2jnw52phmgJWQmD+Yr7tpmY/F6vy9Dlv0FzQv+x3ynEV8igkwKPTIbAEsgjDwqYafTuStqiuKUmEs61vhEgFzND4GVoUpyNZmuxsUoWixJd2nGhicUO+NQiUtWrirHHNF+IkWEzplk9Zo/l0x2bIxQ5pCXNWtH86HpW8bFqxwYSU5G/ulO+W3f0B9ZgkwIK2xhjDWvaKx74wxAzgbEWCVvmzYO50wr6+NQrkMhVffZ0tyTJ2pCosEZhANObMdn6ATz9VtWL3QGQppM3BIGf5FoYRsXPyOJOleTseYwN38TJyrGHGiZRA4/M4z529b3O+20DffLAxuUvAmIKKsd8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dj0YB9lYypHcboaWuvWlUU4K4AJRltYjViBZorZSRUo=;
 b=ImJdGYhlHC5l7zA5Fg4w3zzSFrUUNxyj4yBNn7eV37sHgYySrlN7cUt02Ym4p730kHNuHKd0m4riqulcDw9AiKqjfc+uBhzjgzr0yDaBNFvt2JqpYrmHDvcRHOIvtxFRjQuyINwykWOzJttdzFsSqWr80kmCbQpo99ESdGFSez7LC/5VQ3w0FmSo+hL3DXst9E29GwwA/dSYwsoPtknk3m56w5InRZN57SktZa7D0AEVR4d1tWpLeQGzGVb+YxJSljaNT9ZNnHrqQ5mrUFeV/O5swadVrUd7OVFqNd2P8j81E8QfdzOluISTw+NDoo7JJERZoLPL/gVRGwcqxFheTg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dj0YB9lYypHcboaWuvWlUU4K4AJRltYjViBZorZSRUo=;
 b=fhF6NsTtugKyo3qwEgQ64QkcCEKFpxIUtCsfe7Pz/pdaT8dmJYueraLvY63jfp+kjuRxOQ7yHngN/P8RI/NtaWtiGkUwfc68C6sakUtV9nzfN8RDuHeUKwMjnVnLZJ4KRHWEuehK4rTnkFSwiRBEARK7uJrCrJbwZ2shCv4tiGH4qTOJVm/SVxAqntn/AT/C6kmI50lFY5V0TmIJmcSZIhADD2kHGAiARckQ7Rq9gJ+EeYt7p8chUNYyLMsrGlptNQAEHsekAW0Xlyv8vU8ARLNnp/HXB7qHOhgCUKzOc72ox+dfh6uu8BHYgN1zjTt5mWlmnGAWvlTwDBRQMvOwtQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <791303a6-7b37-20fc-083c-be8083c90014@suse.com>
Date: Thu, 1 Dec 2022 16:17:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: Commit moratorium
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Henry Wang <Henry.Wang@arm.com>,
 "committers@xenproject.org" <committers@xenproject.org>
References: <3deaeaf4-dd5d-93cb-2ca5-3c22e2c19bff@xen.org>
 <16684217-afbd-3671-5fad-08057a0e1b20@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <16684217-afbd-3671-5fad-08057a0e1b20@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0125.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8783:EE_
X-MS-Office365-Filtering-Correlation-Id: cc247060-7b4e-4c4a-ff40-08dad3af2239
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5ujVeSPKfGoh0WMFaNjoflF+cUoveOFEqxmYgsa9xhkhLxoGRZtbezErmHJjMWp+GcdTClNXOzhb5BHgfOxXn/icVQH1ukMohblqi6a003t1yx/c5B8Xq24uYRUDLWTFLrgejPJwpo0BCwLCqEsdI+jEnfYTL1ORXV5Gjo2J10gL+1bI/RqVjGansuP6g4NEt+SwfS1lfAsgZZFbT6rH3Xcsqmc4IgFr1VlzQpdt7UVsvIymF2PLlCCM0NVhuDPRpznkKiCmwBCXWj7TwwZapMYlxYMxeUBXswgjPIDrNeSMTiXZFwN+dnGf2Rcr5PrCNBkKhRcEZk8AR1C3yLju/h0BOtojIgKa5hRoPBIZcG+NYubqTGaPdRJDkBI2UabF1or+68nUuOz29anKgqQqWvAAsIPbLPV4sO/n5eyBhMUMP4eaY3Rr5iAa2aalbDhVmrwK1LSKqLJ4MHvaGv3b18pBSAWrqN+C5JN+b5pvNZTxxI1G4gsk0eXYtIF4PrPPNtYfovaeWtnNYgritYZrqGkJVGam7SZP1kjppz1Owqo6VnY9SX0YrSiBvEOW3nhx6cCKmFeSON7ZNT8l9ZdjUYYRFUyF88aTEy18up+H73WX/7ogtGrZu92PNLFPSp08XpFqBnKLHPBAyoXsmH0fzcz9cPIHjtaa6FuQqhJx6zdZSOVmgNpO2DCOV877rB0cIFjEiGqiQ4ymz74+ekyfsqQ/XEIpgFEWY8ruMkB3YoQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(396003)(376002)(346002)(39860400002)(366004)(451199015)(36756003)(31696002)(86362001)(31686004)(54906003)(558084003)(6486002)(6916009)(316002)(5660300002)(7116003)(66946007)(8676002)(4326008)(478600001)(66476007)(41300700001)(8936002)(66556008)(3480700007)(38100700002)(2906002)(53546011)(6512007)(26005)(186003)(6506007)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TDVFY1MxaUdFT0tRcVF0QVJxV1FWSzJ2UUoyVVFKNWdiRk9SWWNSZ0JOa25S?=
 =?utf-8?B?VER1Vlh2Ym5xaTQxRWV3NHRTMUNENHgwYzFBN0RLbXJIYjhhOXdxTmF3MDl3?=
 =?utf-8?B?MlRta0d4TFEvQWNsNUVLSnYxNzEraWpOeWJsN2wzOHYvd2tRUUNtanpCUTZM?=
 =?utf-8?B?bW1DaDBsMU1MV2tWMzJmaFNjckk4SEdHb2IrZ25VeCsyU0tEdUpkTGtocnJJ?=
 =?utf-8?B?RUdhU0lmL2RJOHRTaW5hR0xpZHFvem9DeVhVTDNWREhGUGFWWGRyMDVqMHFE?=
 =?utf-8?B?SjdsUGd0aXhidkRTWXNad1lZc1VFQW1ldHZaOWJPYmI5elFnWG9uVGNqWHF0?=
 =?utf-8?B?SHdGSW5IMDZWM0hqNllVNzR4eHhCdVR3NWdydWlpeEpwUGNkTEozVFB2TDBT?=
 =?utf-8?B?MTZkazd2b3FFS0psQzJ5R3ZFcGkyQTNrd1RyOFh1dk01UTJ0TWR1VlhTbzRm?=
 =?utf-8?B?TU9IcmVYRklIblJWZjBCMDQyNlNDNWlPYlRTVm9PR0VjcjZyOXhzRG5FeWdW?=
 =?utf-8?B?YnFtdjdCMDNJenpUNEJsM2tUcDVMN0tSWC9Xc1VpMzNWRkFyZjBHdDBMZWsx?=
 =?utf-8?B?SlkrUnFlMHV2L2dEYmMwSXIzZ2Raa3drNTl6N0NwRWh5K1Q3TjFzVlFGT1hr?=
 =?utf-8?B?RWpzQXpFMGVObTBJL2xiUXpzMlVFWUk5R2NSWU9XcTlPZjI2QndCTERPd0xW?=
 =?utf-8?B?emR0K2xkVjRLb21kbjZ3cUFYVGg4dGFVYWJZcld1VHBtc0M2WHAvMC9nQmdV?=
 =?utf-8?B?ZmFxcXBoVlVVcXh2dUMwL0dyTjVzMFVCMFg3eTg2ODRnVVI1aWhYN1lnU3c0?=
 =?utf-8?B?VW82MExwalBMRGJpSXBTMTlEb3JHYUNDbzV0bVl0NUxZM09FUUtOaUptTSsw?=
 =?utf-8?B?MTdHaWhuQmdORDlqWnJJZzc5bklObVZDU3pvZkhYc1hBRTQ3N0YzbWp0VVdw?=
 =?utf-8?B?dGJHeG1NK3BCdXR3Zk5Oa2JzY0dWZTMrK2thNmptYk1VVXFKWGFpSittaitC?=
 =?utf-8?B?MVBiN3ZhbmZkT1BUbGRKK1VDdWpTR1VSeHo1dkdlaUxPSEo2VkQxdTRvZTA4?=
 =?utf-8?B?eEFjbitnY2dNN2d0NVRKcFdROXRqSTg2SzVIeVhOaUd2OEdDT0VldWpibEg3?=
 =?utf-8?B?VXI1NSttMDJ4SVdFOCtyK1JBMmJaSGRWb1Q2cFl1Y3p0NTkxTXNrQkFvOTB5?=
 =?utf-8?B?aXFocnp3cll0WDcxSzhnS3ZoNWtVekliQkJjNmVwQnE2enNSREdmMEs5Wm9z?=
 =?utf-8?B?VzlONmkyRDBxWkJmbm9CSDR5TjBzN242bnBNMTJ5b2lEYWJMVEh5VFFuWERI?=
 =?utf-8?B?aVF3SFJmdUM3QkY1eS9PVlR5cWlOUnd6K2tSemxYcWlPOFNhUEVXOG4xZWdt?=
 =?utf-8?B?WXRXb2dvZHoyL1VmejFuVlVwck9YZkZQcUI5WkFyU25EeTZjZU5SYTZPbUVx?=
 =?utf-8?B?UWIxUkVpSkdqbExvWnpLTVUxTmVLdHcrd1FaOFgrR3dJVkZ0bFZiSmlWQ252?=
 =?utf-8?B?VzlTUHhnVGpRUCs1SUJqWVpLbWdtdGd4dXlMckplank5THphWFl2VnBJV3ZN?=
 =?utf-8?B?cm1PTEx4bHlNTDFMTWF4YnU3cFoydzBnZlhJMUVtZUtBdVBWVXVseVI2RnF3?=
 =?utf-8?B?azZhZ2pUd2hzQWpRZER6Q2NTZTFMNkVZMThuRjR5bFZKOWgwR1ppK080cWVa?=
 =?utf-8?B?R2FLY3pqNzl5UE9uaFhKSlhjUTFPVTkrNmlDekxhenUyQ09Vck9MZHAzWWkw?=
 =?utf-8?B?OUIxaVR6TFVOTHVmNlR0WUxMc0NqNzljU0NoQVR2ZTdXS1V0bUQ1OWhhMnd5?=
 =?utf-8?B?cUk3TnBGNUJJVVNnVzg0UXpjY3RjVUNtazhkNWpUNnc3TGNCN3RvSVNsR056?=
 =?utf-8?B?alFHVFN0d0l6V2ZPQVp3QTJya1lHdC84WmFBUlpqNG9DRUNBMzRkK3lCRVBN?=
 =?utf-8?B?RFV6b3lPSGRPMzdjYW5RY0p5c0loWTJXWTA1M1VIMkZjU1JzTEt6WlUvbUU2?=
 =?utf-8?B?MzViTVNqeUZ1WVV6dG02dkN4d1FjNXk2MVV4MTB5SitMejBiSVZtaURlKzRX?=
 =?utf-8?B?Z2NJWmo3emdkRGwxV2tuQzk2WlhZcE9iRlZoeDBObEY1d0FKdHVybENjKzcx?=
 =?utf-8?Q?/tbuqKKolFCYtdPt5UEoIasc3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cc247060-7b4e-4c4a-ff40-08dad3af2239
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 15:17:17.5028
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: axyOekih4drRQuc2OqxlZLZGKfWtlQLSciVUFlxyIx/LQBdchC0FiHDZm2Rf1yi4E1z2eb0EnDND4MXr2Hu5WQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8783

On 01.12.2022 15:32, Julien Grall wrote:
> I have finally managed to branch 4.17. The tree is now re-opened.

Does this extend to the 4.17 branch as well? I've committed Anthony's
build fix to staging, but wasn't sure about doing the "backport"
right away ...

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 15:19:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 15:19:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450847.708329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lLU-0005VB-AX; Thu, 01 Dec 2022 15:19:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450847.708329; Thu, 01 Dec 2022 15:19:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lLU-0005V4-7w; Thu, 01 Dec 2022 15:19:28 +0000
Received: by outflank-mailman (input) for mailman id 450847;
 Thu, 01 Dec 2022 15:19:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0lLT-0005Uw-12
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 15:19:27 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0lLS-0003uA-9C; Thu, 01 Dec 2022 15:19:26 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.7.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0lLS-0004Xv-2g; Thu, 01 Dec 2022 15:19:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=4tu7NnPPDRtm4z5dpg9wrHky5IL5QJxBrNBUWD3YSCo=; b=bm0xy9HmWNRnckBKoxT8MYCHvD
	F/Sz5fmoO1GK1EdVysoNREIsAWy01kkoHVk7ZzhQwlfC9IVsq1gRr/BdKZJQc+MkjuGjv7aOrQHgD
	pCzR1KOnWsyMWG/6HzPvPix5mRaBpI/GJL8BYMzrQDSFpC6c25yhsivEnRSF5gYBaqbA=;
Message-ID: <1f3d3a05-fe11-b156-da93-03913be687de@xen.org>
Date: Thu, 1 Dec 2022 15:19:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: preparations for 4.16.3
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>
References: <2c4c605e-f8c5-abbb-db85-89465b7e10a6@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <2c4c605e-f8c5-abbb-db85-89465b7e10a6@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan & Stefano,

On 28/11/2022 10:50, Jan Beulich wrote:
> All,
> 
> the release is due in a couple of weeks time; ideally we'd get it out
> before the year end break.
> 
> Please point out backports you find missing from the respective staging
> branch, but which you consider relevant.

I have just one backport request:

db8fa01c61db0317a9ee947925226234c65d48e8 "xen/arm: Correct the p2m pool 
size calculations"

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 15:20:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 15:20:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450852.708341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lMm-000739-Le; Thu, 01 Dec 2022 15:20:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450852.708341; Thu, 01 Dec 2022 15:20:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lMm-00072g-Ie; Thu, 01 Dec 2022 15:20:48 +0000
Received: by outflank-mailman (input) for mailman id 450852;
 Thu, 01 Dec 2022 15:20:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jPp1=37=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p0lMl-0006xu-0i
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 15:20:47 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9febc55-718b-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 16:20:45 +0100 (CET)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DB9PR08MB9635.eurprd08.prod.outlook.com (2603:10a6:10:45e::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 15:20:44 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%9]) with mapi id 15.20.5880.008; Thu, 1 Dec 2022
 15:20:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9febc55-718b-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P8WIB/aLqjGvZ9C8sqzesetO577DtlIGM60jlbYyNNCPC3+j9qzCdtfLJOL/X+Te+DFJFn7twSMeTLVbQVmci6UhsPo3KYcqy3zf48/ItksdodQSvQn7PxiJCZ21pZbcBA3NeW61PYHamsrp18xVcCTWL/QfmmSh+6m1+rkQD3F8upXqbcUIu88vHj1f49hfGAge8hj17oRtl9nG6XAJZqr4SdfK+nCfU8kRNQ2A0EmElgf3eXKpWEpvazLXxqw0/lSqYN/zZTCPFA4pNEPzSkRpl05qmf6G+WFMRuZhDAyMJ2yhw3CFgdtqq0D/SvTkEcbOozMk56bTPEPkGfN1Gw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W+tUHG/lCwabTsDb1Aunvt2pkR3Hj50Rq4AmGKj/FQI=;
 b=ZFWzA/wRophhIm81cS95fDx4A5xoWaQAnsLtht7BMfmC+E8C5JwXSmocl+8alKI7DCmPUN3xgkwejROs9kY8Kl9Dn/ya2WvJlUAS17+c6AQn9oP5S3C0xeLpB5/VET5uYWVShBrB9klKh2y19H1ksXl9u/l08UeMB5Q70ocESOkyBypkkYBJI/YG/qn1jh6T4nQom9CR5GOIiIlMMjx1I6cyHVKQ0uMJZ/5s4D2pzHEiK4t3COuXwSPdOXRv/A1JeIKPc8t0XInQUioCr+/azKn3Xzo4gaZK71Oxw1Hg3uMUvewcNy2fJjpVL43WTfZH9XnkgXZO6CId/1WwtrOhqA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=W+tUHG/lCwabTsDb1Aunvt2pkR3Hj50Rq4AmGKj/FQI=;
 b=8TIS3cd73kObhGXEMX1XxjAM1RaUuyG+wRk3KmkzRvaubY+da2bH+wp0lWUPLhk3l2PfI417DMGK3UzsA1gRf8jWb7PMwY9XB36qgZA09vkFFe4ovU6cxa6oE6MftnWHJ2eszhDJakqe7QdjFNKh+JiwkC4UIZmZz361BVah4oM=
From: Henry Wang <Henry.Wang@arm.com>
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"committers@xenproject.org" <committers@xenproject.org>
Subject: RE: Commit moratorium
Thread-Topic: Commit moratorium
Thread-Index: AQHY/+nvKQhQiJhrtU2mTVK8mGpEya5ZI5AAgAAMmgCAAABdcA==
Date: Thu, 1 Dec 2022 15:20:42 +0000
Message-ID:
 <AS8PR08MB7991984ACF81CD95EB75CE6392149@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <3deaeaf4-dd5d-93cb-2ca5-3c22e2c19bff@xen.org>
 <16684217-afbd-3671-5fad-08057a0e1b20@xen.org>
 <791303a6-7b37-20fc-083c-be8083c90014@suse.com>
In-Reply-To: <791303a6-7b37-20fc-083c-be8083c90014@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 0C58849A7C05F9458FA62C3F4744684C.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|DB9PR08MB9635:EE_
x-ms-office365-filtering-correlation-id: b9eaacf4-f3d9-4950-048a-08dad3af9c94
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 MTYHdBDO3wSiRv8eT72+tTbF73h9cQxJsTXdwbgfxDY9NUl501aYToBMTUW7vipq9q7EcN3XI6NffGzaQWdAN9CY1uboI7hX7YIWFl8kATmK3YDA5ITKvGQ8k2FNpksCS9D1KxalO368BnbFApW3pe62t+GAndZJVxQO0CZQSZF8JpbYcvAUTumypxmw2l5Q4TCAb3N7xy07YKWylpr6MwB5jcmh5hoB7IY7fpoaPeqW9hCtJRuHumaR+AeSZrZkpHtwiGofXarqZ7Ua0touxaVm0uAdmuZxVFAQWpipxyElKe2k1ZkLezzlTwBJWVXTf9SqDTXiX6N36NWjyeXn2sdkZpLjnwN+3oPpUvyqpCnMZAqivM4lLAdhsJjrUa6cdxAFjO0UVybZ1jFiq+in82tPRkHmZzom/66HGY81mvxfSGgYmtG/USrCYwxJqWgWtYCzq7GiqEq+EoicEYG6CbeqBtimaa7GjQvKmhyZdlbAvo3Is2vFYpfzXnj8SwpxIFnnzT7XWHOnIppzTmPX72FJz9RIJhlA2Ng/ncPqYO46C/lRJqvZI0tRuurOQl5RMJhp0SA42De/bh7BRxnxOwSj8L3Jv1uqMPn5nJIbCQ/4ld9GmqyL2bDjKZUNNdCn4/rJKWoVvu91FqVbHH3FjKRsZs/nSM9LZZfuN3U037uEg2SjVzYebTOn2pukbxMM/HHLxLTQ2RzXIecJe3C10A==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(39850400004)(366004)(346002)(376002)(451199015)(3480700007)(478600001)(83380400001)(53546011)(2906002)(110136005)(71200400001)(54906003)(4744005)(5660300002)(38100700002)(66446008)(38070700005)(122000001)(7116003)(41300700001)(26005)(66556008)(7696005)(8936002)(6506007)(86362001)(4326008)(66476007)(64756008)(8676002)(9686003)(66946007)(52536014)(33656002)(316002)(186003)(55016003)(76116006);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?S3pPYndyRDMyQ3RSeG1QUm4wS3hNWXM4T2VhUHRWU3BGb3ZIdTc2MWtOMTZX?=
 =?utf-8?B?NnVMU1ppQlVmWERHR0RYTzlZeWVsMUpxZmIrb2x3V210eEpoaVVuU2xpcnlC?=
 =?utf-8?B?cjltWkgySThLM0NoYlV6QlhlY2FzRm5pdTcwT2cvWm1NVTJTQWlDeGZTbk1n?=
 =?utf-8?B?eXFMbnIyTGkzdkExanllSys3V2E5Nkt0NnhQTlljMHdNVkFWOVRvTWlQd3pz?=
 =?utf-8?B?NlRGU2NXeVl4SVJrTitpNStka3ZWcmVLTE52RGNiMjRTejhUUlhoMDFSS0xP?=
 =?utf-8?B?c2pCQnRpVXR4MVFDQTFuR0lDc2tpQmYrVThIbHp6MWZncHIrQlhGTWtCbEdi?=
 =?utf-8?B?cnAyaVBPenNucTAvdWY4YkdIRkpMSytLQ1JjK1RhdU9aUFV6eDBhc2tKWHli?=
 =?utf-8?B?SDRObTcyeTFUYUtkYjFlaEdxck1YNkUvSGhnYWszUjh0WXNyVzNJV2lKelhL?=
 =?utf-8?B?cE9DZEFHUGM1T3g2dmpDb3gwZERHOWpjbWJUci9EM2g3ako5bXBheXJITzNW?=
 =?utf-8?B?K3hSek1yYldlS3c4WFM0ZkcvL0ovNmV1YTJZN2JGQWtFbnFyNW9WZHFHNVZK?=
 =?utf-8?B?WWVQT3BGQkdVbmZmQmsvbmRGdTRycmhDS294b1VoYnMyNmRGUUNYbTFYTUVa?=
 =?utf-8?B?NlhjZnZvTkpjclZTMEZwam0wcVNWQ0JjSGlIWVlzdkJZQXNQVEtMV0hwL0to?=
 =?utf-8?B?SEdvcnRCV1EzTGpuMnQvaWJZRGVVaWxWTHd3bkdYT3A3RGFmSEdVZ1gyUTJG?=
 =?utf-8?B?amtnY0w0QW1acUhPZm1NRFhCWVJ6Wm12RmloaFR6ME43bnMvemF1SXhpNENX?=
 =?utf-8?B?cGZRV3pwNmFySklTb1ZXM2tGQ0ZJWnIxRFNlNUhGNDJxMjlOMEltOHdkZHY1?=
 =?utf-8?B?TWY5QnVLc0ZsZ2I4WUFOZ3hoM2pEcVpWZ201UC80WG1aczlseFFqZHljeHVi?=
 =?utf-8?B?RDFNTXFldk5ZVE5HWlJQaTdldFExQmZDeEJuNTN6cm1ER1pUY2M3NVl4MmRq?=
 =?utf-8?B?dzdac1ErOVJmU0pHQzYvNHNtVWVFcm9zZHAzRDZ6RUNBa1hJcEpxMzlZN25S?=
 =?utf-8?B?MkEzUklobDVaWHE0OVFUMHl2cXlsN3NXakJkZVd4V3NWVFJNdEgrbktlL1g0?=
 =?utf-8?B?UVhJTUxQSlpPUEFSWWUya3VOOHFwcVFyYVpyTEN4MGVBbFhheGtRNEprdXMr?=
 =?utf-8?B?V3dOck5rdnkvUFZTWnVST3k2U3A5OWc4aXlNaTNyczBlWGJsYTEySmxhVXVl?=
 =?utf-8?B?cGh1UncreFpJMXdmN2ZSc2p2cWUwZHRjcW04d2grT3lYYnVZU01mcUNOVWdj?=
 =?utf-8?B?TVdaNGdvR0xweVhjeit5SEc0TlYrbkk1cGw0VlRldU1Bb0o4Z0pWblFmOTht?=
 =?utf-8?B?S3M0eDNpUDhYbVFxNS9vS2tBcjdCYXR4NHpWdkZMRmFGS0prMkpXalBHeTNp?=
 =?utf-8?B?azh5Y2pXOGlLbHVDYzB5ZG51MUNNdGFJLzdDV05HZm9PUTBrZXRuVk8raDhi?=
 =?utf-8?B?VjhOSmpLQUxSUzlZMXJqT21jVDVDZ1FRUXRUbEN3MEpMRmVMV2Vob2sxanNj?=
 =?utf-8?B?V2MzSU8vbU9MRXFhZW1TdEMwU3pGWXVPV2JyRkF1RENBendwYWcwZktpcHU2?=
 =?utf-8?B?K3ZMTXY4bzVrOTk2dG1sd0F3WnpnTTJqM201T0xOREpNbTNjdkNDbnVlWjBI?=
 =?utf-8?B?V2o4YmJkdHE1YlFnYWRQMnpNWEx5SXdSMEdJaVZkeHovK2tSSHJ1TWswai9r?=
 =?utf-8?B?TjRKemxnQ29PeTBKN0FsSmZ3ZUtGcFVzY0g4TVo3ekFsNUJvWks0aVJBRWVi?=
 =?utf-8?B?SzZudmFpa1BRWGRyT3kzbUxJWnZOamZRQkEvTU5NdVN6empRUVZweU0rTFFz?=
 =?utf-8?B?dDZLRTZhSkRNMUJSUkY5Zm12Nm1FQUhYZmZXK1IzWEhORnB0VzVxOVhJd0dr?=
 =?utf-8?B?a2tPMjdRb0lDdWpYeFVERC9NR056OHFMWmhTL0s5cDVSSVRyNE84M1NyNTlx?=
 =?utf-8?B?WGZiZ0Q5NU1pU1dCTTNwVWVHTjhhZ0p3eWFQUnpqOWRHTXg2MjlaQTRLYW84?=
 =?utf-8?B?S0dsNWlzNlRBTGtwTmkxNW5CZkdWMWlHMi9ieExoS3JrOGt1bFkxdW5VN2Zz?=
 =?utf-8?Q?Er7YWTAi3IABxktMnHbr7QmYV?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b9eaacf4-f3d9-4950-048a-08dad3af9c94
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 15:20:42.5873
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: m3bW00xwiAR1GHPyoebt16t4Sk++nvCBq+RDYeL2cBgrlAit99zqENT1Zzx8MhzM4mGfEhk4J3Pgsk9+WAL7mg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9635

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU3ViamVjdDogUmU6IENvbW1pdCBtb3JhdG9yaXVt
DQo+IA0KPiBPbiAwMS4xMi4yMDIyIDE1OjMyLCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+ID4gSSBo
YXZlIGZpbmFsbHkgbWFuYWdlZCB0byBicmFuY2ggNC4xNy4gVGhlIHRyZWUgaXMgbm93IHJlLW9w
ZW5lZC4NCj4gDQo+IERvZXMgdGhpcyBleHRlbmQgdG8gdGhlIDQuMTcgYnJhbmNoIGFzIHdlbGw/
IEkndmUgY29tbWl0dGVkIEFudGhvbnkncw0KPiBidWlsZCBmaXggdG8gc3RhZ2luZywgYnV0IHdh
c24ndCBzdXJlIGFib3V0IGRvaW5nIHRoZSAiYmFja3BvcnQiDQo+IHJpZ2h0IGF3YXkgLi4uDQoN
CkV2ZW50dWFsbHkgSSB0aGluayBBbnRob255J3MgcGF0Y2ggc2hvdWxkIGJlIG1lcmdlZCB0byA0
LjE3LiBHaXZlbiB0aGF0DQp0aGUgcmM0IHRhcmJhbGwgaGFzIGJlZW4gY3JlYXRlZCBzbyBpdCBz
b3VuZHMgbGlrZSBjb21taXR0aW5nIHRoYXQgcGF0Y2gNCnRvIHN0YWdpbmctNC4xNyBpcyBmaW5l
LiBCdXQgSSB3b3VsZCBsaWtlIHRvIHNlZSBKdWxpZW4ncyBjb25maXJtYXRpb24gdGhvdWdoLg0K
DQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiBKYW4NCg==


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 15:22:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 15:22:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450861.708351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lOM-0007yN-42; Thu, 01 Dec 2022 15:22:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450861.708351; Thu, 01 Dec 2022 15:22:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lOM-0007yG-1R; Thu, 01 Dec 2022 15:22:26 +0000
Received: by outflank-mailman (input) for mailman id 450861;
 Thu, 01 Dec 2022 15:22:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0lOK-0007y8-Uh
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 15:22:24 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0lOI-0003yq-2S; Thu, 01 Dec 2022 15:22:22 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.7.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0lOH-0004li-Rr; Thu, 01 Dec 2022 15:22:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=IMNwycdeUa1/ELkdIJUyvH4gMQdCEvFdHCfX/POdxho=; b=GQCDDMhJOwh0O14O2v0SBK/eCu
	jwV9inU1RmKRHE+YHLt1J1cUGwgPGvnIEOURvxw8XEc/QJ97XYwFmW6sTsQB2G2D9SJLvSZHFOLhp
	FCah9cbzz9qs7E+baUQxYd1HkBVM4NxFDmXIc7n9hnyvhQtw0oy09h0wrKnMhOR1DtR4=;
Message-ID: <c90f8cad-23e6-444c-c3d4-7b5b41bb992f@xen.org>
Date: Thu, 1 Dec 2022 15:22:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: Commit moratorium
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Henry Wang <Henry.Wang@arm.com>,
 "committers@xenproject.org" <committers@xenproject.org>
References: <3deaeaf4-dd5d-93cb-2ca5-3c22e2c19bff@xen.org>
 <16684217-afbd-3671-5fad-08057a0e1b20@xen.org>
 <791303a6-7b37-20fc-083c-be8083c90014@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <791303a6-7b37-20fc-083c-be8083c90014@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 01/12/2022 15:17, Jan Beulich wrote:
> On 01.12.2022 15:32, Julien Grall wrote:
>> I have finally managed to branch 4.17. The tree is now re-opened.
> 
> Does this extend to the 4.17 branch as well? I've committed Anthony's
> build fix to staging, but wasn't sure about doing the "backport"
> right away ...

Yes so long the patches have a release-acked-by.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 15:22:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 15:22:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450864.708363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lOi-0008Qx-Cg; Thu, 01 Dec 2022 15:22:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450864.708363; Thu, 01 Dec 2022 15:22:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lOi-0008Qq-9G; Thu, 01 Dec 2022 15:22:48 +0000
Received: by outflank-mailman (input) for mailman id 450864;
 Thu, 01 Dec 2022 15:22:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pMaK=37=citrix.com=prvs=3274cb7b8=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p0lOg-0008PQ-V3
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 15:22:47 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 009379cd-718c-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 16:22:45 +0100 (CET)
Received: from mail-dm6nam11lp2174.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 10:22:36 -0500
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com (2603:10b6:a03:2d6::7)
 by SA1PR03MB6532.namprd03.prod.outlook.com (2603:10b6:806:1c7::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 15:22:34 +0000
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b]) by SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b%5]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 15:22:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 009379cd-718c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669908165;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=JfzbJ2pe6k8UEDrM4FxEATsyss9SGGeoHCIRW8Ii3so=;
  b=VD500UEAVRDoQubJ3NSfq07tTK69wt+psw04pnij7SjqNdYEcJu0zJFA
   9kONGdZt7bWTBfBQ9zPlVIsPU4vow77qfAqJszAevA4nNjZQd215MzdGD
   86LKcE7k7Tu+n61wQIlpeqSyegMX9ZO9dLTO3KDRN4MlTaQ3Y7C88vBBP
   0=;
X-IronPort-RemoteIP: 104.47.57.174
X-IronPort-MID: 88607549
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:q/83IqMlXbMbanTvrR22lsFynXyQoLVcMsEvi/4bfWQNrUongWcHm
 zFJXm2OOq3cNGD3LY0jYNnj9hlS68fdm9RiHQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5gVmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0sMrWn8Ny
 tk4FAgmNAiEh72byrOwUNA506zPLOGzVG8ekldJ6GiASNoDH9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PVxujePpOBy+OGF3N79d9CURMMTgkGCo
 WHu9GXlGBAKcteYzFJp91r81rGXwn6nCer+EpWV6OZUx1+59lYuNwI1V2GfjPCY11GXDoc3x
 0s8v3BGQbIJ3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQAsQjdfZfQ8ucQxRDhs0
 UWG9+4FHhRqubyRDH6YqLGdqGrrPTBPdDBeIygZUQEC/t/v5pkpiQ7CRcpiF6jzicDpHTb3w
 HaBqy1Wa6gvsPPnHp6TpTjv6w9AbLCTJuLpzm07hl6Y0z4=
IronPort-HdrOrdr: A9a23:Ih4jo6jPL1KET/qVzBYFCcjh+HBQXrkji2hC6mlwRA09TyX4ra
 CTdZEgviMc5wx9ZJhNo7q90cq7IE80i6Qb3WB5B97LYOCMggeVxe9Zg7ff/w==
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="88607549"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j7jxA0sxyh4moKUTCR99onNPLDKR4/IOdr4pUI6NfhII/BMhg69NIv27AAk6lb8s40nCqeAeGaX6nIEPSp0HeSYqUowym1h9l8ZdBbF0O5hBbRXsVx3bxxuiTgKbEJ4CjWtG/oNO/jApZIlW4+vj8hJ7odEEq/tgdpVdeRk6zwYD82pmtDKJDHRbHF+WZwk+imYOqKnsTEuJxnNsEkk3uYHk0sn+TiuuK6t0R/9uPoVnKu6LAXtGNEjG808xD51BBW5FDHqS6C2h7Gmx3Iu/JxWiba7qpOO3kmQCL6t6HXSg2XTaHiSjvVGEElalrXAyJ2tOdyNYJkwq0cb6cC0+YA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TatEI5b8263TgZ3IJUXoVjUTdmc3FB2dmBSpE34JqNU=;
 b=oReEpoXrF9NHhQD/BnsWBeLPmvBZRRG1rVjXTJVLodsk2lHQIcth+U8189EKgJNnhutZwlZg33dpHs46QaqWrxmxvHz/WW+sd6h0JFi1nE3GyWTlbBpw96gky0Zho2ur3uYlF7d3XuDzVs3+KJ0xlvW1I3jjE4H5qxp2VwzPPNK3T+rQPNwa8oe8d0tPKvX2byaoFoWPGgi1iuZuTr4jA/WSiDwLxRhwQDC6EB16yISaGvWUNbhYAjlpBn8EbEJtqTXHR7lFsbXIk/Dn2rMW4QZ895v3qraqnG8IaEz4x+I/T/HoU1EucdkYchL7uSV8J/8b8QZfUtWiGZZDuZLfxg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TatEI5b8263TgZ3IJUXoVjUTdmc3FB2dmBSpE34JqNU=;
 b=iuFIACPjTYJ82J7NTHCekNUnwqUKNqWbgr4m+PX4EeTgKnShVzsJbW+KgUuO0lTIHSUeL1/L7dpozDWJXpoW3cU6wzUt00oCmE7o4jfiCaQjXP8WBWwMX8c9xuAbsRjiKKYDH/IzOZ5u8VpH/a4m7BpzCwj6FuDeDevm1YSuLP0=
From: Edwin Torok <edvin.torok@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Christian Lindig <christian.lindig@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>, Rob Hoes
	<Rob.Hoes@citrix.com>
Subject: Re: [PATCH v2 5/6] tools/oxenstored: Rework Domain evtchn handling to
 use port_pair
Thread-Topic: [PATCH v2 5/6] tools/oxenstored: Rework Domain evtchn handling
 to use port_pair
Thread-Index: AQHZBNyG3A7uJdJD7k6750yETnX6R65Y7uIAgAAoLICAABCkgA==
Date: Thu, 1 Dec 2022 15:22:33 +0000
Message-ID: <0F78C27F-8DC2-409A-84B1-E795518650FF@citrix.com>
References: <20221130165455.31125-1-andrew.cooper3@citrix.com>
 <20221130165455.31125-6-andrew.cooper3@citrix.com>
 <B01EB9B0-2E59-460E-9F1B-04F2406C788B@citrix.com>
 <b94f7928-c420-43ec-5ed5-8de004ac8f3c@citrix.com>
In-Reply-To: <b94f7928-c420-43ec-5ed5-8de004ac8f3c@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR03MB5888:EE_|SA1PR03MB6532:EE_
x-ms-office365-filtering-correlation-id: 3a423166-9b57-47f0-05eb-08dad3afdefe
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 9bp8RDeHp5kZoxRWkacmIGpMHUONnw6lwM1DIRES01w7w3FTXCS5m2Z1snl44yrdjvW1FlXJzOIa/j3NqufnJlBsGXvH6UpNcywmiCWwLqGX72pFWtj5D8F09gYeWaTzCK8vdSF1cYjxnrNjDAY78mKl755yiqz2LZARliuQj0gOqfrLyhK/rUdf33ZlJ39KRvpqJp0zUtkTRXcg6RmVhoKKWvEHKJNjUJwv/yNWY4rBR3zmVsi5weLLS3IjG+e/uRFMOG6xNTLEFbByqrHSxIzBVBDih2LvH/zs5ebMz9bbrdlk1X8mtscorBDSOiLCbi5rLAlOGMokj8xk7KuckRDehXkGZEymtCqb4rwgHPYv9I05xxASbR09fjYzQj01QdcTTIaWcIyQzZ9/lFW5tu32o5xL7ZwwTkkDiwQHyMh6M0hDpO8IpnL+0IIJPVHt9vnd6w3sZyjISUeifscd/NGgDLmFuu5Hc33UhysoAwCMLIDAYGhL7CU9DQw3Pmwqe+ZPP7J5NQ4QSRGkgjJzBaGwOHDIFdNtn47nHqtppMG5iPd+P2onqDwtj0pdhevUDsHxFcByWZWqGxX+JEwzts94YRvkyQUBA186qUMukduh4t88QfqTUBVmb05pJRhrEn+Me0kRjreCdgk5WIgV25QFaqapU2U948TA8kMz0UGk9rNtRwgxCRoB8IPKPQfVHG94twDr2KqjPAX22KsQ3Cwp66dN241ucnkU+xhQ5HU=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5888.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(346002)(396003)(366004)(136003)(451199015)(86362001)(107886003)(478600001)(6486002)(71200400001)(38070700005)(2616005)(36756003)(2906002)(186003)(122000001)(38100700002)(6512007)(82960400001)(33656002)(53546011)(83380400001)(91956017)(6636002)(5660300002)(6862004)(76116006)(26005)(316002)(6506007)(66556008)(8676002)(66446008)(64756008)(37006003)(66946007)(66476007)(8936002)(54906003)(4326008)(41300700001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?oihrI8pn+XGeW0zvbHDEVWubBOTBb3E0QGOP/RFEpk/HT0QnfgGFaJd72ohZ?=
 =?us-ascii?Q?iBY161SlERJ81oCo+rCqOOeKJAqIyJNsf8MYbqZUd0Kjp/52k1qSIPlsqFwM?=
 =?us-ascii?Q?VaSAH+a1HRg7ARyGMAGcYSjXVYBiwlmF2wrUcJkgNzeDdkBz5P5koNcMN+EJ?=
 =?us-ascii?Q?Pq02S7OrTYap4mwHxj0InhxZNcpex4azYLdHn1tyVmQZ2CD+QOTaumMpP5Nf?=
 =?us-ascii?Q?GsGy7lw+fYwSa/LlzoxsPrrYJUPJw/fOkDmt+JEBkKYWiuE/qBVKIYJc5JOC?=
 =?us-ascii?Q?Sg27CFpIsnqVtkOrWN9hYrjQjvcXoXcnGxQmv5P74I53BH5Puv7YmNKcow2T?=
 =?us-ascii?Q?awMXGXRAkfW63fYN0W/buKHE+97siGTUvN4TafsmPqKdCT+6KGEST/YThG2O?=
 =?us-ascii?Q?owfPY/h28fZVRBgUNAntUOpF5EzS2/nufMDR9T92FkoXvyR6AZzBreK6IFl1?=
 =?us-ascii?Q?C08aT97/c5TRNLUTaVxE+55opg5W2WV/obUlf5MmDdWR4BBUvNP4u7MaOVdt?=
 =?us-ascii?Q?YWt2tA1OFxwWa+RV6yz7HV2iCpKVL/FwXL9WJ6JK5NRxQ/IUUwWW2UMMTM3r?=
 =?us-ascii?Q?7IZwXm0wvEX+AfpQWhyzVuzdteW0ZUHZm6xtcTFc9fMPQc6COOE4eF8EWJcZ?=
 =?us-ascii?Q?QqxEkBZPLo73SGuY1TiDZL0+UtfsAbhLJ5AFpBbm7AEs6Fu39krQvO6vxUDk?=
 =?us-ascii?Q?+ZfwMrSBloSNVttIxqJEeh2Kadf7KCtDo7wxxO0fq0f6jx17YRtenKTnRKCx?=
 =?us-ascii?Q?5E7pq6APyl46gG41WpROcu93todigr592wLP+GSwtySD57+JHjb8Djqt4bi+?=
 =?us-ascii?Q?806SJHU1q8i0G7ucGXkl6QnOZwYEYHbrfzSSwtwAA++G0ryCGfOc4ZPAQxMU?=
 =?us-ascii?Q?Z8bQKbjcR8dldAVGd6PBhTc1c4cJkf9qMCnw7xMrJW5zcjxiUh53TvQQ12T0?=
 =?us-ascii?Q?zY0E2Di4LPvMVCJ+U0rlUoL7GQ81/Co9tVaklVpeTTW2vafAUx2/pkzeLQv5?=
 =?us-ascii?Q?XuKknaCvrI/AYPhsDqojX4+VLCrV4yyIQn7v1Gzsrvq1IVBx9C3Pw/Zzgfjl?=
 =?us-ascii?Q?bG/aCA4zTyfJhQBeqOYhXWv2vRKPWMLzI34/PHxwC4vszdPeFV2o0ZukOhCL?=
 =?us-ascii?Q?I4ChQfSoLz13uiOKfNBg9nBsPA+k4an8Kvirddrgl3u9/bYQJFg4McRoRYhV?=
 =?us-ascii?Q?mI0K+kdkPtep5L41M3kie36pC2ufgaVGyfyk1hFnt0oWYRFGsksy1bPbjq/v?=
 =?us-ascii?Q?F6lI+qmUw7btQDFXo5sEF4zXbhYE6c3zbNm8j6f/53sSGlOU3o+bqJMpcAod?=
 =?us-ascii?Q?mRFq4fTmx54DXM62QYfPMrZzvlH4j82NDWo/0o0LorDkYNKx0BeqYDeO31w8?=
 =?us-ascii?Q?xenZhww7B2mGfi7MCPnmn5euMRDE3q7KIVtVVQyU+ekeFxIZ0T9dSQrCm6FP?=
 =?us-ascii?Q?puZC0PmB9XycuisCfqog3LzhDWGw0LoZwTL3d1jmHjhTIu9/6IcXYm9SZnYW?=
 =?us-ascii?Q?ubRoUmXYO/2XRzhI1NMoxVrGB3BZY3aO1tp3YLiuvi1QGwaGIyWCpZz2tDvD?=
 =?us-ascii?Q?ZZ3HUzsOK+TC2czonsLLy2igAaHUD+3dGfNitbzwgZgKf2o+jDG/tPR3HJ/6?=
 =?us-ascii?Q?gQ=3D=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <641160ADD0FB224FB68C7BD1738CD077@namprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	FaK5MnnWpFun795PWrN6k0b32orGjAVIUOYel5GCMv85H3C1e+oYsbU7eKc3bWk9i/ud9tqgW4doHbo34My+XT/EOKIKpeADWUp89u7F5YzLxOugMQb1SlaPjwSjeQt1ExD9OlbdF0DYBkcBuXTcAxpS+rR6QIig2NJIQHZnKup6IgackZ5hcnPKCAJTzJ+VTWxRhBCc2SF/i3XgoTHX8BCtwVfDuaMIDx6RfB2KZBvkQdT1gHN+ahd/Hzl1B/gmbo8IMtNXox2i7fNA+LKADaj+aI6e2qYI8b+UMsJyMCd7+iygDDm0RCeFVrkGifdPuTuC2LPSglRLpkF/GhNL7deYb7huh+AScxi1mHN1ZOb4bi4bjz82rHkTLnDG97CP6R8GrmHjXb6uQSD0LEUyxkQptclU4vR3SB+nIWcuWNBjZvhotOCmrAcexzCpqqw3l1V5l9eIUH4txL0zjbZbAan7+U0F8rrTOb/XbtE1X6ThkXgtH3KhyxhGxh4J7N007qXc3YucPJdYw4ajlRFtEUPFpJj2KVv1Hx/3KMi4b1/9TvawdyYXoNy3LgDlyyWEH74XRI0eAPEhkBG/VEopt34g2BJK8beK81aMlcNYrHyZdgJ8Xqwrb/XdSywSzaH8OrpuxNcxWR/+YLUjY7uhNzn5eLpmNAE3I9fRc6YjHGVBjHgJ7qvBnhFqBb1xiFUF/+XATMs4QKvczw+QMvruqCZ3acFmPcPzaVmbnIuZvgyVJcEScr78l1o/BZqA+/EDlQt1HG7e1EkImO+TeJjr/Xc8GYyruXDN1jXUb4UvtjMaw/YHXyJ15aGBMYpqu4P9
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5888.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a423166-9b57-47f0-05eb-08dad3afdefe
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 15:22:33.9804
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: FPZvaZtD+w7W0lrg7BPqU38Qx4Qg+Pv2IubywHEkI+GOchoHKqP/EGOlrZ6FGGyBjfyVYLyU7ai1QOCkR7BIqA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6532



> On 1 Dec 2022, at 14:22, Andrew Cooper <Andrew.Cooper3@citrix.com> wrote:
>=20
> On 01/12/2022 11:59, Christian Lindig wrote:
>>> On 30 Nov 2022, at 16:54, Andrew Cooper <Andrew.Cooper3@citrix.com> wro=
te:
>>>=20
>>> Inter-domain event channels are always a pair of local and remote ports=
.
>>> Right now the handling is asymmetric, caused by the fact that the evtch=
n is
>>> bound after the associated Domain object is constructed.
>>>=20
>>> First, move binding of the event channel into the Domain.make() constru=
ctor.
>>> This means the local port no longer needs to be an option.  It also rem=
oves
>>> the final callers of Domain.bind_interdomain.
>>>=20
>>> Next, introduce a new port_pair type to encapsulate the fact that these=
 two
>>> should be updated together, and replace the previous port and remote_po=
rt
>>> fields.  This refactoring also changes the Domain.get_port interface (r=
emoving
>>> an option) so take the opportunity to name it get_local_port instead.
>>>=20
>>> Also, this fixes a use-after-free risk with Domain.close.  Once the evt=
chn has
>>> been unbound, the same local port number can be reused for a different
>>> purpose, so explicitly invalidate the ports to prevent their accidental=
 misuse
>>> in the future.
>>>=20
>>> This also cleans up some of the debugging, to always print a port pair.
>>>=20
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> ---
>>> CC: Christian Lindig <christian.lindig@citrix.com>
>>> CC: David Scott <dave@recoil.org>
>>> CC: Edwin Torok <edvin.torok@citrix.com>
>>> CC: Rob Hoes <Rob.Hoes@citrix.com>
>> Acked-by: Christian Lindig <christian.lindig@citrix.com>
>=20
> Thanks.
>=20
>>=20
>>> v2:
>>> * New
>>> ---
>>> tools/ocaml/xenstored/connections.ml |  9 +----
>>> tools/ocaml/xenstored/domain.ml      | 75 ++++++++++++++++++-----------=
-------
>>> tools/ocaml/xenstored/domains.ml     |  2 -
>>> 3 files changed, 39 insertions(+), 47 deletions(-)
>>>=20
>>> diff --git a/tools/ocaml/xenstored/connections.ml b/tools/ocaml/xenstor=
ed/connections.ml
>>> index 7d68c583b43a..a80ae0bed2ce 100644
>>> --- a/tools/ocaml/xenstored/connections.ml
>>> +++ b/tools/ocaml/xenstored/connections.ml
>>> @@ -48,9 +48,7 @@ let add_domain cons dom =3D
>>> let xbcon =3D Xenbus.Xb.open_mmap ~capacity (Domain.get_interface dom) =
(fun () -> Domain.notify dom) in
>>> let con =3D Connection.create xbcon (Some dom) in
>>> Hashtbl.add cons.domains (Domain.get_id dom) con;
>>> - match Domain.get_port dom with
>>> - | Some p -> Hashtbl.add cons.ports p con;
>>> - | None -> ()
>>> + Hashtbl.add cons.ports (Domain.get_local_port dom) con
>> I would prefer Hashtbl.replace. Hashtbl.add shadows an existing binding =
which becomes visible again after Hashtabl.remove. When we are sure that we=
 only have one binding per key, we should use replace instead of add.
>=20
> That's surprising behaviour.  Presumably the add->replace suggestion
> applies the other hashtable here (cons.domains)?  And possibly elsewhere
> too.


Yes:
* Hashtbl.add -> Hashtbl.replace
* Hashtbl.clear -> Hashtbl.reset

Using anything on the left is almost always an indication of a subtle bug (=
e.g. Hashtbl.clear won't release the memory used by the buckets, and the on=
ly time that is useful is if you'd immediately fill the hashtable with lots=
 of elements again, really code should always use Hashtbl.reset but that on=
ly got introduced in OCaml 4.0.0, so older code won't have it).

And the use of Hashtbl.add can lead to "space leaks" (eventually OOM) unles=
s one really knows what they are doing (i.e. there are only a finite number=
 of add calls ever).

In XAPI we have a "quality gate" that counts the number of problematic func=
tions/etc, and makes it a hard build time failure if any new usages are int=
roduced (and we strive to reduce that to 0).
I don't think these 2 Hashtbl calls are there yet, but they probably should=
 be.

Best regards,
--Edwin



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 15:25:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 15:25:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450873.708374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lRU-0000jC-Ss; Thu, 01 Dec 2022 15:25:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450873.708374; Thu, 01 Dec 2022 15:25:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lRU-0000j5-Oq; Thu, 01 Dec 2022 15:25:40 +0000
Received: by outflank-mailman (input) for mailman id 450873;
 Thu, 01 Dec 2022 15:25:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0lRT-0000iv-NN; Thu, 01 Dec 2022 15:25:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0lRT-00043G-Lb; Thu, 01 Dec 2022 15:25:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0lRT-0005w7-DR; Thu, 01 Dec 2022 15:25:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0lRT-0002tZ-Cx; Thu, 01 Dec 2022 15:25:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=J6mP2lX/MwoyCzWbZphYhyi7BbBt7hhFpEa7mJrXa/U=; b=oWxzfeCM0ZLm0HuFuCMcKxRgPj
	kNgYZPHsvqXk4CvHwR3Be6jLaAAN7obXCvQpHiXmPIzpv18Srf7QkxLSeDi8uqai7HuTZapOgN0Yg
	J+/9X6BUaIfrNw8SrkPZftnax2AyqviTGZ0RlWyIkonSbOyfGKL5DmryAR1xDJHYjcfo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175006-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175006: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ddcc208ccdd44c688b3265be26237875c16b6258
X-Osstest-Versions-That:
    xen=345135942bf9632eba1409ba432cfcae3b7649c7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 01 Dec 2022 15:25:39 +0000

flight 175006 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175006/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  ddcc208ccdd44c688b3265be26237875c16b6258
baseline version:
 xen                  345135942bf9632eba1409ba432cfcae3b7649c7

Last test of basis   174889  2022-11-21 17:00:26 Z    9 days
Testing same since   175006  2022-12-01 11:02:36 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Michal Orzel <michal.orzel@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   345135942b..ddcc208ccd  ddcc208ccdd44c688b3265be26237875c16b6258 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 15:34:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 15:34:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450886.708384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lZr-0002fO-Mj; Thu, 01 Dec 2022 15:34:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450886.708384; Thu, 01 Dec 2022 15:34:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lZr-0002fH-Jz; Thu, 01 Dec 2022 15:34:19 +0000
Received: by outflank-mailman (input) for mailman id 450886;
 Thu, 01 Dec 2022 15:34:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yxuz=37=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1p0lZp-0002fB-RQ
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 15:34:17 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9cd68988-718d-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 16:34:15 +0100 (CET)
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM0PR08MB5522.eurprd08.prod.outlook.com (2603:10a6:208:18c::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 15:34:12 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda%3]) with mapi id 15.20.5880.008; Thu, 1 Dec 2022
 15:34:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9cd68988-718d-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z17xzmx3TF5BrlsgaqB5A5kBsEneEcBCzRF/w7Kr0k8j49I25fFUWeD+x/ANnxK4eISraEGYBD85kMqct/u49ow8M9FPnPWii6FTq+YRX+3vG63bxjP0Ww7/VRTlPm/w2pAqFeJxhFo31LtRVUYpzdQkUB/DU6nwZcQozM+0hXQU0t5ckP312ezzs010WyqoeEfQ/0WRscfbeBhFlROijVrWU0yi15LZ3EdsSr13ABWIjofjM/Gd8B04jZi4vCf7vyCBX7FEcaPyW9BrHIex/wOrbkS808sPOZyAKnL99MFQ2VnQL40w52IhYl76hl1dSWeFDLAfVjX8Omq05mylJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8iAj4c//7OCBa8Em4550oO4QraqAsVaHSmqDzyccX38=;
 b=VOQ3GNZUb1oas3/mZ+B1E2NkTmf2/XU+ziIRUFMrVCz1FHQMfFCH2YxeoK3Dnrpww8h4M6xMySTQQ5ojhjiRK7wNDXym/GwRAC3ut92DkjdL7qE1wo/XV2oH3czMfA/GRWqar/NUz00xkuHNu1zxcGlBHkeh8ND3wGeG2sKWc3AA3uy+9uj0oHT0hGvfdJATCaFIkgtmJNETiVq/yOvxJUvzaw7oXt1YJxGPNREhhRSHDnVdFm0uG2QDaKu++hNs7Ers4+tQLoMudNwyBmmbXpzbUowFKrtOxLYf8WhktbPTCZ64pLUxTnQWZj5TTfNmiorIN2ggfDt0xThGfqwWcA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8iAj4c//7OCBa8Em4550oO4QraqAsVaHSmqDzyccX38=;
 b=cYvwrsJNA/rjFY8z+A8AEQ0h6xAa9ndd1dIwB/fsqiZzF2op3ivD+SbKwkuU0+4kEFiPbVxVOWPxwHICe3ugoeAHeSPwFG6MPHCaYgktr8UKQgtrvUrbZ7omuncbq7ESiYtZ6Uh5fjlG1ogBVk61rhCAHJlNEaEHkBEZXVZrjr8=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH 2/4] xen/scripts: add cppcheck tool to the xen-analysis.py
 script
Thread-Topic: [PATCH 2/4] xen/scripts: add cppcheck tool to the
 xen-analysis.py script
Thread-Index: AQHZAzNLrQ+cdSzeJ02hq/RTLwHjha5WqVKAgAC2sICAAI2ugIABQKAA
Date: Thu, 1 Dec 2022 15:34:11 +0000
Message-ID: <A3204E48-FF22-4275-961C-690F57A8AAEE@arm.com>
References: <20221128141006.8719-1-luca.fancellu@arm.com>
 <20221128141006.8719-3-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2211291607280.4039@ubuntu-linux-20-04-desktop>
 <CD8C2F1A-B321-4E3D-907C-E6DBB1A5E2CD@arm.com>
 <alpine.DEB.2.22.394.2211301145132.4039@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2211301145132.4039@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM6PR08MB3749:EE_|AM0PR08MB5522:EE_
x-ms-office365-filtering-correlation-id: f62054cf-7274-4194-b016-08dad3b17eb0
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 fdmtKvdStRWyTbmYZUVTKoukW+uzqj9r3uxnR+g6MxqlIQYf6dXr1Slrfcw1Up+e+hmboDHgIcf2Oo/rNT6s7dnJzmW4Qy0Lgj2eWjfWqvieGmrMBRjtjmwuVssqAJsq1ph3ps+60VmCyDOeJZ0eg1fdaFlNKQ+HtIAU9a0QxrjGYGjVtpjQFnbn/BsRnh3G1ui95aaTGnIvByhwkGz9ou7G8S+Y7Va/vDIGEEHtO0+vfBtnnpPzLPI5yqGyRkOIf8us+LNxt3KKud4ZkQmX59ddBeP9WxB/wko/orGejzHYtdrwpTCglQmD+kEnmsL0BYSG2evUfRIGFIwcWI1mJYd2nNsLpMq7rtAMqoAUJBtYAShb+6pazUiOokP/Ssu9e4e5UKWTQ/KSx+UAsR6c5TPRG4OoYTVjoS9yEcfGzWZAkgU5TeA/5fTWvKgA/yVest0l81M8KIJ0L2Hnq9LCxADSM+L3B0dFpJq9fU3shHYXBvr7J1MUvAY6Q0J7OGos5HtNsS9LDt2hsVZPrpuGQib0WG26yM1a/h0H3tUwr77u93wNb+dzKVKmw0huNo9/padTUZZjr7wDenU2qSZmelJeshE50VCHrTE64cRHtpwrnBdoN74XTPfqhhLaupLMsXfwv9Dqayqto8o1ToetlZdW3a5lAIxh5V26W46TZMnY3EoBrXGemn4+as0ooW6nouGtPNDcenc/h1WuVNUhAQpHAEvhg9Yo0KXIfDzZto4=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(366004)(376002)(396003)(39850400004)(451199015)(26005)(71200400001)(36756003)(478600001)(76116006)(66476007)(38100700002)(6506007)(91956017)(66556008)(6512007)(122000001)(66946007)(33656002)(6486002)(8676002)(41300700001)(64756008)(66446008)(316002)(6916009)(54906003)(38070700005)(5660300002)(8936002)(186003)(4326008)(2616005)(86362001)(2906002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NE1RNWJNWEtjWVpJekh4eWdDS0tZbWZjaXBNUTF1RFgvNFFOMmxvTXIzWk1V?=
 =?utf-8?B?N3BWWHB4NkxJbDl1cmR6MFowT1ZxbUljNWw3amp6RCt4U2JWNzRIUWZMWDlo?=
 =?utf-8?B?U0M2RWRTOVovdlRTVkg0RVljSy81UXcwY3pzRzN4aUd0NEVUaGV0MWJTY1V2?=
 =?utf-8?B?aGV6UVhKZ3B4L2NBMGRIayt5UzhUTGJPY2ZIY2FZb2hIQmZFRUZUQjVEYXZr?=
 =?utf-8?B?LzFZV3NPcjVWc3pXS0IzYVBheXVwVUhtMFArMWd5c1lJdndma1JSaVRnUmtJ?=
 =?utf-8?B?cU1MSXRGVE9wODVIbTI1THJ3TEE3N0lPZUtmVFM4YlJFVGFYUFdNSGI4ZGNh?=
 =?utf-8?B?V3l4TVpIZjMyQ2J1TkcwbVBjYVVkUzBnUEYxSXNzektEZ2JJeEQvUm5BWThl?=
 =?utf-8?B?S3VyeW9jRmlabnhHYm5xRXJaWkZxdWlBUkQwRDBBZktLdldJL1pCYmpoaDBO?=
 =?utf-8?B?N2xHQ3VvRHUvRW80OU9HNTNtK25VbnNwVngvY2c2UDlVS09kalYxcE5hbCtZ?=
 =?utf-8?B?WVpKbFN4MjErcFkzVkRDaWRJNjRxZWppVjlHVkZBaUloaEdZT2VIRFdHR0Zi?=
 =?utf-8?B?K1Jzc0lwVHQ5bzJ5ZU5FejM5b2FxVGg3YmJYT2hiYldXdmNWQ2JNdndqNTg0?=
 =?utf-8?B?Q05KMEhsRFJrUWtLMEdXZHNBZ0R5R0U0VW43NmdHTDJxaUlzbDNESHNiTTNo?=
 =?utf-8?B?M1c1cVlNSkVXU3RKWEtlYlhGMXZBcGZ0SmJpVVgyZ21uY05NYnBKYXlmQW13?=
 =?utf-8?B?TERUUGNMZ05uK2JQMDNubjZLSzR4eDVWV1Zsc3NtTURqYmNFY2RTUEQvcEMw?=
 =?utf-8?B?bjMvZFdCTGhEbXFGN1FCSlIzU0s5aTdsSjNobVl1cmdPMk5kS1BMQmVwbUEr?=
 =?utf-8?B?UmZZRitiUlpSdHVMM1g1WGpveFE5c3ZiRlBpcCtVWjJabU8wWHA1bUszSGdN?=
 =?utf-8?B?a0lyYjNnZVlnVStMVFU0ZGZmdDMxUzFtTThnUkVYR3B5UHVJWDAwTE0vQ1Za?=
 =?utf-8?B?bHFvdFFVWk1vcTJpckQ3RGRGb2dBK1VYN21OVzA3aE9HVUVwUUpGNkluY2wx?=
 =?utf-8?B?anFXNkNyWXl0OWtkVTZqUE1Fb1JKQWJYZmkzWnpOaUxVOXpvcUwzdExtWWJn?=
 =?utf-8?B?NHF0R0FIeHprd0l5WTVEcmdMdHVQdkJaUzhwZ1hqUTVMSVBIb3N2bmpCeGNn?=
 =?utf-8?B?eFFwMFRDMjMwZWZBL2F1Z1VHTTY1ZUxkYjBOQ0l4MDhpMDhwejJmREUxK0E1?=
 =?utf-8?B?djF3UHc2ZmJkbFJnd1UyMWhreDZFQmtDQUJZSEUrUjRJNkZjY2hIMnViL051?=
 =?utf-8?B?QXpGc2V2SGl5L0RmUC9FQzk0eFd0UmFISTRINFlJZnRrN1VjV2FTSHFRd0Y5?=
 =?utf-8?B?RGpGYkVHd2JkSVZTSUJ4TUhrd2h3a0NqRUR1UjZsSkc1MmVPOXdGbjNmMlNK?=
 =?utf-8?B?TVY5RDUwNnZBQStqYzlTcFVraXdLbFV5WkcxMDYyQWpzeFJmL0t6aTF4Um5P?=
 =?utf-8?B?WE9iV0RaTWRodVBsSk03TDEyb0pQYXFadzRUMXA4UjJzWldhMzR0bTltRDFq?=
 =?utf-8?B?NzdVOU54OGN4MjFXRkxQM0VodzRXK1VuZjRwUWdJRkRiSkRxT0xJL0lzR0Zn?=
 =?utf-8?B?WTVDUTVURktRMlFrcEJPc0NTY1lTQ3AxSmZPTzVDUGY5ZmNMSmJCajc3dUN6?=
 =?utf-8?B?eWxRdjR2SDFmc0ZJbi9hWFYwU0tZTGZTVXBqdElkNXZVZWM1K01hbzJ4N1hF?=
 =?utf-8?B?Z1g3OElhakhiQ3llcHNUcWE1c0I5UkVtRDN6TWRSL0VkVW9YdVNDcFdaVGVQ?=
 =?utf-8?B?RnFUbG9DK3RvNmtjOFc1Ryt1NzA3R2JFQnFKcHcrOW1sQjBYUUJZeDFSS0xo?=
 =?utf-8?B?d0VuY29wYjRjOVVaVW9QaXJjQm9DZkZyWUdTY09EUWVJVFNlSXNjS1NFVjIw?=
 =?utf-8?B?aTBiTGUwUzdQL3kxSWg2RzBVYnR6cHVONElaYWlOTVN1Q0xHWmtSdXkrTENK?=
 =?utf-8?B?Z1A5VlAwU1ZoOHF4dlZSV2lKajdXd0xUT2NxRUNiVXBvM25jQkdDbkJYRVYw?=
 =?utf-8?B?VG9OcTVLRGVHT3BmUXVwa2QxSjRzWVBCNUZNNWRXTWYreXltcUdRMUtPVlNH?=
 =?utf-8?B?MThhcDVwSDlUc3NqY0ZjenpRa3plTVRQOXBqd25EbUp1K3JoS0JVZnpWU0lu?=
 =?utf-8?B?VVE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <84C0DFA2FF6284409FFF1AE09F7F7CBC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM6PR08MB3749.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f62054cf-7274-4194-b016-08dad3b17eb0
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 15:34:11.4371
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: L6eEffpm01vEhwLU9lsoq30ztPTJ2HUonOGdRbkYr/EvOeZb77yIXDb3J4fL8Np53j/gbDjFAuYeoTUZBGivaA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5522

SGkgU3RlZmFubywNCg0KPj4+IA0KPj4+IA0KPj4+PiArICAgICAgICAgICAgc21fdG9vbF9hcmdz
PSJuIg0KPj4+PiArICAgICAgICAgICAgOzsNCj4+Pj4gKyAgICAgICAgLS1jcHBjaGVjay1jbWQ9
KikNCj4+Pj4gKyAgICAgICAgICAgIENQUENIRUNLX1RPT0w9IiQoZXZhbCBlY2hvICIke09QVElP
TiMqPX0iKSINCj4+Pj4gKyAgICAgICAgICAgIHNtX3Rvb2xfYXJncz0ieSINCj4+Pj4gKyAgICAg
ICAgICAgIDs7DQo+Pj4+ICsgICAgICAgIC0tY3BwY2hlY2staHRtbCkNCj4+Pj4gKyAgICAgICAg
ICAgIENQUENIRUNLX0hUTUw9InkiDQo+Pj4+ICsgICAgICAgICAgICBzbV90b29sX2FyZ3M9Im4i
DQo+Pj4+ICsgICAgICAgICAgICA7Ow0KPj4+PiArICAgICAgICAtLWNwcGNoZWNrLXBsYXQ9KikN
Cj4+Pj4gKyAgICAgICAgICAgIENQUENIRUNLX1BMQVRfUEFUSD0iJChldmFsIGVjaG8gIiR7T1BU
SU9OIyo9fSIpIg0KPj4+PiArICAgICAgICAgICAgc21fdG9vbF9hcmdzPSJuIg0KPj4+PiArICAg
ICAgICAgICAgOzsNCj4+Pj4gKyAgICAgICAgLS1pZ25vcmUtcGF0aD0qKQ0KPj4+PiArICAgICAg
ICAgICAgSUdOT1JFX1BBVEhfTElTVD0iJHtJR05PUkVfUEFUSF9MSVNUfSAkKGV2YWwgZWNobyAi
JHtPUFRJT04jKj19IikiDQo+Pj4+ICsgICAgICAgICAgICBzbV90b29sX2FyZ3M9Im4iDQo+Pj4+
ICsgICAgICAgICAgICA7Ow0KPj4+PiArICAgICAgICAtLSkNCj4+Pj4gKyAgICAgICAgICAgIGZv
cndhcmRfdG9fY2M9InkiDQo+Pj4+ICsgICAgICAgICAgICBzbV90b29sX2FyZ3M9Im4iDQo+Pj4+
ICsgICAgICAgICAgICA7Ow0KPj4+PiArICAgICAgICAqKQ0KPj4+PiArICAgICAgICAgICAgaWYg
WyAiJHtzbV90b29sX2FyZ3N9IiA9ICJ5IiBdOyB0aGVuDQo+Pj4+ICsgICAgICAgICAgICAgICAg
Q1BQQ0hFQ0tfVE9PTF9BUkdTPSIke0NQUENIRUNLX1RPT0xfQVJHU30gJHtPUFRJT059Ig0KPj4+
PiArICAgICAgICAgICAgZWxzZQ0KPj4+PiArICAgICAgICAgICAgICAgIGVjaG8gIkludmFsaWQg
b3B0aW9uICR7T1BUSU9OfSINCj4+Pj4gKyAgICAgICAgICAgICAgICBleGl0IDENCj4+PiANCj4+
PiBJdCBkb2Vzbid0IGxvb2sgbGlrZSBzbV90b29sX2FyZ3MgaXMgcmVhbGx5IG5lZWRlZD8gSXQg
aXMgb25seSBzZXQgdG8NCj4+PiAneScgaW4gdGhlIGNhc2Ugb2YgLS1jcHBjaGVjay1jbWQsIGFu
ZCBpbiB0aGF0IGNhc2Ugd2UgYWxzbyBzZXQNCj4+PiBDUFBDSEVDS19UT09MLiBDUFBDSEVDS19U
T09MIGlzIHRoZSB2YXJpYWJsZSB1c2VkIGJlbG93LiBBbSBJIG1pc3NpbmcNCj4+PiBzb21ldGhp
bmc/DQo+PiANCj4+IFdlIHVzZSBzbV90b29sX2FyZ3MgdG8gZmlsbCBDUFBDSEVDS19UT09MX0FS
R1MsIGJhc2ljYWxseSBpdOKAmXMgYSBzdGF0ZSBtYWNoaW5lIHdoZXJlDQo+PiB3aGVuIHdlIGZp
bmQgLS1jcHBjaGVjay1jbWQ9PHh4eD4gd2UgZXhwZWN0IHRoYXQgZXZlcnkgb3RoZXIgc3BhY2Ug
c2VwYXJhdGVkIGFyZ3VtZW50cw0KPj4gcGFzc2VkIGFmdGVyd2FyZHMgYXJlIHRoZSBhcmdzIGZv
ciBjcHBjaGVjaywgc28gd2UgYXBwZW5kIHRvIENQUENIRUNLX1RPT0xfQVJHUw0KPj4gdW50aWwg
d2UgZmluZCBhbiBhcmd1bWVudCB0aGF0IGlzIHN1cHBvc2VkIHRvIGJlIG9ubHkgZm9yIHRoaXMg
c2NyaXB0Lg0KPiANCj4gVGhhdCBzZWVtcyBhIGJpdCB1bm5lY2Vzc2FyeTogaWYgdGhlIHVzZXIg
d2FudHMgdG8gcGFzcyBhcmd1bWVudHMgdG8NCj4gY3BwY2hlY2ssIHRoZSB1c2VyIHdvdWxkIGRv
IC0tY3BwY2hlY2stY21kPSJjcHBjaGVjayBhcmcxIGFyZzIiIHdpdGggIiINCj4gcXVvdGVzLiBE
b2luZyB0aGF0IHNob3VsZCBtYWtlIC0tY3BwY2hlY2stY21kPSJjcHBjaGVjayBhcmcxIGFyZzIi
IGJlDQo+IHNlZW4gYXMgYSBzaW5nbGUgYXJndW1lbnQgZnJvbSB0aGlzIHNjcmlwdCBwb2ludCBv
ZiB2aWV3LiBDUFBDSEVDS19UT09MDQo+IHdvdWxkIGVuZCB1cCBiZWluZyBzZXQgdG8gImNwcGNo
ZWNrIGFyZzEgYXJnMiIgd2hpY2ggaXMgd2hhdCB3ZSB3YW50DQo+IGFueXdheT8gQW5kIGlmIHdl
IG5lZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgY3BwY2hlY2sgYmluYXJ5IGFuZA0KPiBp
dHMgYXJndW1lbnQgd2UgY291bGQgdXNlICJjdXQiIHRvIGV4dHJhY3QgImNwcGNoZWNrIiwgImFy
ZzEiLCBhbmQNCj4gImFyZzIiIGZyb20gQ1BQQ0hFQ0tfVE9PTC4gIFdvdWxkIHRoYXQgd29yaz8N
Cj4gDQoNCkkgZ2F2ZSBhIHRyeSBmb3IgdGhlIHF1b3RlcywgdGhlIHByb2JsZW0gaXMgdGhhdCB3
ZSBuZWVkIHRvIGhhdmUgcXVvdGVzIGluIENDPeKAnC4uLuKAnSwgc28gYWRkaW5nDQpxdW90ZXMg
YWxzbyB0byAtLWNwcGNoZWNrLWNtZD0gd2hpY2ggaXMgaW5zaWRlIENDPeKAnC4uLuKAnSBpcyBw
cmV2ZW50aW5nIHRoZSBNYWtlZmlsZSB0byB3b3JrLA0KSSB0cmllZCBlc2NhcGluZyBldGMgYnV0
IEkgZGlkbuKAmXQgbWFuYWdlIHRvIGhhdmUgaXQgd29ya2luZywgc28gd291bGQgeW91IGFncmVl
IG9uIGtlZXBpbmcgaXQNCmxpa2UgdGhhdD8=


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 15:57:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 15:57:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450894.708395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lwT-0005wj-MV; Thu, 01 Dec 2022 15:57:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450894.708395; Thu, 01 Dec 2022 15:57:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0lwT-0005wc-Js; Thu, 01 Dec 2022 15:57:41 +0000
Received: by outflank-mailman (input) for mailman id 450894;
 Thu, 01 Dec 2022 15:57:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lVjU=37=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p0lwT-0005wW-4z
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 15:57:41 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20603.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e1ddbf01-7190-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 16:57:40 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB9045.eurprd04.prod.outlook.com (2603:10a6:20b:440::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.19; Thu, 1 Dec
 2022 15:57:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 15:57:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1ddbf01-7190-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X/zgdoQDR+6lptKjkLeTlSq36Okl7dL5OamoC0VgV/52oXt5ahEDrCu5HI3r1mQImdKK5jdj2Py457rhdnTis13jQm41nCKRrm8V3Z7rHynFZ0rwN5p6ZqHc6d2W7SGgZXrUXzbL9EMZxrA68hUU1i6RxT/QJFTqm3tyKHHXnS+A/hEtawP9jxify+QZNLO2x04LwVkR9EoFz7NwnFq6IDXUtaIR61rJFoK65l+bdoXXmUvMg7wUYSrRcC+/QoLbB+wrsvCRmdKw8XuCIGuy0t9Cie/Z/pOFtOUfT9n+mpUIgYXjsQiT7X4dNKlMNJ3vqHixOGKLONRgkwD65QoTZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0T+aIDvS5TPiM5tZREN5xqLQ1uBTTm2ZrMznbOT05Vc=;
 b=GUvld+T07GddadXKqX2y6gYLUvmv/+zDHbHgTt+nYpG1vr5x7tkeN9zUyPTR0hOWgcWf24zxXXSn2guIlc4+hICjWtAjISgISJCp3OZolvpVRh8NJFMsmou3UcFc4gmAq+sZ2LCk+WxZvWXba2JyR0TvZ/ai+ekTn6NwCTFUOTeyKHf4PPhHoXfxEBgcmgJdD+OeNNuMrrUQoIaFSHq+OK2bROxbd2IjBtbgopc74MBBYleSQU5yURA+EXDyWP/gw42HTXwKfK1dvnUYivs8KIT2dM1oxmyxopaBdU2sRTri+V54N51PBPL4v17Hidq+3z1Nv8Zw7ixV6obC//0lIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0T+aIDvS5TPiM5tZREN5xqLQ1uBTTm2ZrMznbOT05Vc=;
 b=BWNkCQLi1gvEB6xIG79Wlb5eM73jEAZPd+YKdwtY11rjg8jUu/4KzAJ5K1GKPVaxYv/t7kUNH4V+DepXCxghhNs9ziNT8BPteT4dc1jg8q5l5k2+uF/F/HilwhRW4Ui+tpzcKcDDIBd3tV5oVSsiS/EEg7ekh7BjHxqHrgf5NdZFOa6T3A03Mt5W3TS0EEPJK2gJCr/mO3pqDg7OlmKoUxyq53U4T4qW7Wp5GCbxiacH/slAF1pnKTxuoOdCLNlwomMybuoBlG2IkaRiCPUKx15e63LwygQpu3ooOi4bQTRFoGfK1SHw/UQe4XyzmbE7/gVBDOXF+3J8ZXcKEa8ceA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2ea8c3de-4967-802c-9a32-79203cd41384@suse.com>
Date: Thu, 1 Dec 2022 16:57:37 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/HVM+shim: fix build when !CONFIG_GRANT_TABLE
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0134.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB9045:EE_
X-MS-Office365-Filtering-Correlation-Id: 6212d6a8-043d-45bc-bb12-08dad3b4c554
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jAzQi+ooVncsDlSyw+ss6Cxwd2T1XJRZmb/E9jVF1je6OiXVTE9294XvI+5oOgznawBtDXOg2Xka3WdYY0h8wNkvTTrvBng/IGOyXiEXxFX5CxPYWAmpGTvAOi0886rSRQWcaMDd/lJs2f+CTb2cpoqAYJogVH428XfwnblOzgItrbhK4gmJmDsDdj71nX0KC18+FgbVTJy1mPQ5C2z2LmmcGcKtZF3BKj6OwqrPOfYcAiuBeJQDGlAn10oxezfDRHpnQnr5vP96T0t4NaMNt9c/PM7/6QQxMmSHYMFOOmIRMLkWismBBy6+QhDyLGrok/r2l0QYzHzPIho+nyRlcPPb3cFtH16p21bkzdVRm9Dfg64Q1XRClNvOTZWES4vfhIoKhadx2BaGx2LO1eiqm11jtrgy6zSmeNaDDSeP0BxcX+2yiowI56Brn3xrQG5k830qig+vTo0/qthhlU1aD6SQJOcmJVauJmioNJmvYCXSZqjO7oAGPSd0rcxN3hKqRDntIKvC28fBF6pSCRDyguyu+W26fCcpTdRI3EwksHRpRc36/P/oGoDo70Ae+Y7XyyQP1ZBLdyBIfrXkAc/gtqLxsFB9kLeSbEL8i8qxh4QQ+/Gv6OWZZyBfEU2N3orwvEzwi13Ws70w49DG8Omn+FcP7b15dBRVaEDYGjetfCYitjs413g5EuFrCD0JM++h3bFL/cfKBYo0d+WPHj/PKIFvJhyIL+ddpmysq4vpUJo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199015)(478600001)(6486002)(6512007)(26005)(6506007)(31696002)(2616005)(8936002)(86362001)(186003)(5660300002)(6916009)(66946007)(36756003)(4326008)(83380400001)(316002)(31686004)(54906003)(8676002)(66556008)(66476007)(38100700002)(41300700001)(4744005)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bUw5cW9TWXluNFRZNFV2b2VMT0RkelNid2NUYS85TjQvVEFLRXArQVB4NUk3?=
 =?utf-8?B?M2dXUkFYZHgyVkkzWUx6SXVwSjQrOE1aQWpMQlZlZndvbU43ZDlXb0c3OTZv?=
 =?utf-8?B?SWNEZTh3ekhBSG1RT0dybXI2emM4Slp3ZERMdGo4b0pxRWFUMTcxbXhVSzFU?=
 =?utf-8?B?Rzc2YTcxVHEybTduODlTNkhXdTNiMWVOSUViVW1QcWJyMURUVE1YUHpNZ0hU?=
 =?utf-8?B?L1Nmc1ZtNmdWMEMxbldhQ3ZjOCtTbnRGdkptZW51WEVLbHhpeDVzemRMUWZm?=
 =?utf-8?B?NW1uTFl6bTJ0YmdYU0d2YS9wbS9zNi9KM3g2SFhURWdFWnZuQzhGMm9OV0wv?=
 =?utf-8?B?RWZ2RnA3MFhnWWh5MEJxeFR3WDJhOHFIdlNScEQyNTlaa1Q1ckJUbTk3WnQx?=
 =?utf-8?B?dUR1WWVBVnRpRmt1Tkk2VzBicGFGclVjZE5oUFBrMzdKQll0UG4yV0dmTlRl?=
 =?utf-8?B?bTdFa1NPSmU4WEJCSTUyQXhXMHVsWmp2ZFlnSFppZTVZaXlwNTNMcEhyaFNk?=
 =?utf-8?B?SlU2SU9SVU5vT3NzNDNJaWZpdmp2OCtPSzBqWklqbWNQZTJvV0g1OFc1R1Q2?=
 =?utf-8?B?TTVPYTNTMjF1c2VHdDJvUzZGYmMxaFBKSVRvd3BXczV0cU0xZUZvOFlWMWEv?=
 =?utf-8?B?S0VVMjgyNW53RWdxYVFUSy9XZ29EZTN5SmthMjVWYmlVM1F5MytNWHljbkp2?=
 =?utf-8?B?bTVMTUtHTzVCeFl2clI0SGxmR2VFMm5seHJKQkpQQThQNmtCd050ZEFKVHFC?=
 =?utf-8?B?K2VRUjBLQW9PaTlUSjJmaDEwZktPQ1FnRHVzT3ZFZFpqVzlUbzU4WnBWSkx1?=
 =?utf-8?B?b0srR0VMeElBdGlmZFdxWm5YYWtJR1MwQjhrYVJhNFpFdUVFUnpSSDJIMG1x?=
 =?utf-8?B?QmJpRkgwVnBuZVRFSzNPb0ZvT1FISm5Xa1dKdVA4cnFhTU5LQjVVV3RHU1Ew?=
 =?utf-8?B?amxadEJWM1pPT0JYOGFEd3h4T3E3Mkd4QmxJZndiR3EyZ3dFVERXTkZ5ZFl0?=
 =?utf-8?B?Um1ud3JoM25iaE0veFdud2ZYMW94N0dRdjNhYTJ1T25aTE1SOUkvSys5UHNW?=
 =?utf-8?B?aEZZajNUVDMwY2dleWM5elNGTjRtVk1iY2R4My9ybnQwNy9xeXJ0dXRTcmQ5?=
 =?utf-8?B?QVdVSkdSTXptRWJRZ2hlQnN0T0RaT2NpTGRnZnJzOGdUUjZ3RmFYM2xTVFB1?=
 =?utf-8?B?cHpRZVdCNXh0L2pnM1QwQVRrbnFLOGJNS0plTHNoY1RVOVhDSU81NGdhSzND?=
 =?utf-8?B?SEJ0Q0dTRjRPaERsTzhxd3JvcGZ3VFhnajJIODREQWtCTDZBaENYVnF3UnB3?=
 =?utf-8?B?ZStFV2Nia1lTUlMrY000ZVNVRjdReEp2NkQ4M2pCdVY5SFdtRWhuQ21jQzAv?=
 =?utf-8?B?SG1WRXh0ZDRBK3BXL2ZKTzNrdlFBY01DSXYvOHkwVlZBc1NINHRrSmpKU2h4?=
 =?utf-8?B?VGFKcmJSNTFlRUtvclFGVmRvQ1UzSHI3VE1KUmtwSTFmekE1Ykx4Mk1uY2Fa?=
 =?utf-8?B?V3hOTUd1SHFUQyt6Yjd0aEJ3WkVieU1ETmQrMlRzK0RxdnJmMTBZYXNYOVFw?=
 =?utf-8?B?N3ZpMHV1NkV2a1pUVnFoZm95ZFlKWDFLK2tnazFzNFRsUENZb20xZlI5bUtD?=
 =?utf-8?B?UStpam9MTkFid256MWlYMEdTbWg2djlLMHkrUFA4NXN2eWlSaTJkR1BIV1Iz?=
 =?utf-8?B?bW5CVDZvRWtJeDMrM1IrNVRQUnZwSGg3RFRTVVBia0Y4QThvM0N2aDBTeEdR?=
 =?utf-8?B?YkRJZjNPT25pcC9iWUJic0R2bnIxc3hPTVhFR3ZraUs2b0E3UVNlWFVPWVJL?=
 =?utf-8?B?azJySzFTNzJkNzFZTW5WSzlaZnlvMkdiekRNdW1FSXNBVW9aM1NsbmRZTHNp?=
 =?utf-8?B?TzZqS0pVT21QSFBRYzlvVHpHaEhEd1hOaHROR3ZIaGNyaER6UjFNcnNrVFNj?=
 =?utf-8?B?TzhLRDI4SU41YjBJWFpPeG1sNEVLN1VNZ1FpQTg1cXFieU9SbjZLV3pnenVT?=
 =?utf-8?B?Q2dndnZSVTVZcGpGRmhHdHBheGpicVlYVjMwZExjb293SWFyTVBncjFPN1A5?=
 =?utf-8?B?V28vSDBGbTZ4SU5SQmEzcWNQWlFCd1dPazlMaFhsbDlPcGlaYWY3ZlhCMTFU?=
 =?utf-8?Q?tMNIV9Q6DG9HZEEG9StRy8Q72?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6212d6a8-043d-45bc-bb12-08dad3b4c554
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 15:57:38.5834
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qDHas1GrVf7NGWZXUGDzjBZ5GFnl1Np1C15atoony5opjCi3MsIJsEoMBhtd7pqwUr2B/cpzgSMxog4ppdoZsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9045

The HVM flavor of the hypercall handlers exists only when GRANT_TABLE is
enabled, while surrogate shim variants exist only for the purpose of PV.
(Also scratch out the Arm variant in that case; what exactly is used in
that cell of the new table row doesn't really matter.)

Fixes: 8523851dbc49 ("xen/x86: call hypercall handlers via generated macro")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>

--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -241,8 +241,10 @@ event_channel_op_compat            do
 xen_version                        compat   do       compat   do       do
 console_io                         do       do       do       do       do
 physdev_op_compat                  compat   do       -        -        dep
-#if defined(CONFIG_GRANT_TABLE) || defined(CONFIG_PV_SHIM)
+#if defined(CONFIG_GRANT_TABLE)
 grant_table_op                     compat   do       hvm      hvm      do
+#elif defined(CONFIG_PV_SHIM)
+grant_table_op                     compat   do       -        -        -
 #endif
 vm_assist                          do       do       do       do       do
 update_va_mapping_otherdomain      compat   do       -        -        -


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:02:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:02:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450900.708407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m1I-0008HR-96; Thu, 01 Dec 2022 16:02:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450900.708407; Thu, 01 Dec 2022 16:02:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m1I-0008HK-6H; Thu, 01 Dec 2022 16:02:40 +0000
Received: by outflank-mailman (input) for mailman id 450900;
 Thu, 01 Dec 2022 16:02:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mmm5=37=citrix.com=prvs=327587bd7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p0m1G-0008HE-Mt
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:02:38 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 91ab731f-7191-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:02:37 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 11:02:00 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5008.namprd03.prod.outlook.com (2603:10b6:208:1ac::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 16:01:57 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 16:01:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91ab731f-7191-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669910557;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=kDKK9jmJj/QlKMEyRa5GifuSBhkbVw7wkP7E7Z1GEWw=;
  b=Utn6J8HyTY7iMx3TvQvFd7Di/g6Y7+oTmwAC6CWwWeFaHc1wGjBXdMv0
   eABLNQHW+c8SDGGwbhqNJOuFRTjoR8qXx0F0ioudRuXgTwkq5EgyoMIY9
   ixkzm3LGb0xCm4APVBgsK9UgT4bNvOmCYt8wMlTNLyHr4ycYQKAiFvo0R
   w=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 88617521
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:VwOmN6x0DM1Xw25f3y56t+fWxyrEfRIJ4+MujC+fZmUNrF6WrkVRm
 jNOC2CEb6yINmOmeNp+PduxpB5SvJPVyIUwSwc9rCAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPakT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KTxS/
 M4/eBJTVzvdiu61wY6rFvN9gct2eaEHPKtH0p1h5RfwKK9/BLrlE+DN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjiVlVIguFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAurCNxLS+Dir5aGhnWj2zNNI001DWGliuaQ0kznQ/5gF
 kk9r39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLE7gDcCmUaQzppbN09qNRwVTEsz
 kWOnd7iGXpoqrL9YXCA8raZqxuiNC5TKnUNDQcfVhcM6dTnpIA1jzrMQ8xlHarzicf6cRnvx
 xiaoS54gK8c5eYr2qOh7Bb4ijSjjpHTS0g+4QC/Y46+xgZwZYrgbYr471HetK9ENNzAEAjHu
 2UYkc+D6uxIFYuKiCGGXOQKGveu+uqBNzrfx1VoGvHN6giQxpJqRqgIiBkWGaujGplVEdM1S
 Cc/YT9s2aI=
IronPort-HdrOrdr: A9a23:7dY5VKy0zWtdpZzoMVkkKrPwFr1zdoMgy1knxilNoEpuA6ulfq
 eV7ZcmPH7P6Ar5N0tKpTntAsO9qBDnlKKdg7N/AV74ZniDhILAFugL0WKF+VDd8kbFmNK1u5
 0NT0DQYueAa2STIazBkWuF+3dL+qjjzJyV
X-IronPort-AV: E=Sophos;i="5.96,209,1665460800"; 
   d="scan'208";a="88617521"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MEudRiHCtOPyBvFtw48NEOCkzDsihdk52NxyivWhE9ScS/elVnPKrV1gLxNNqwrjaxtGBY5lof8xqV1CS80ziNrVf6jD/ZPyhw2CDhilNuQYDCNBkk0w2vimcPELJfEXlcSru0c6EAKCdCywM7Ltl+JiuwLx/dL5ernPv4nQNnaDOpFDjcsYxL67bIGHlc7Dd3G2hrHBGhRYjPkgvC0swL9TyvQ94ar8HNUTY+hsNiK+ZBMTQSLIzscu1754ggXoBWel+x86VfgElgfoeozPCSts8Ta8P9zSITR+yVu2atfFFkSpFhc4ao/vXo42zpUmW1Ym6yhkZ6+c59V9MflpJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kDKK9jmJj/QlKMEyRa5GifuSBhkbVw7wkP7E7Z1GEWw=;
 b=Ll4W1kvgcNbrV9BDCoK6VfnNOE5Zl4YOJfxVveAn2YuyUUDD/E8MIjSKq/ulFjQsq6Y0P6YGm9RetXXwB4CyXi/FoRvnFAdDzdziNh7grlfC2MI2VNRW2JZO9OGfu1wDznboPuxnqDr3qvCCGsayXJ3NpE8PP2/Om6qxzJHi0w/cZOqh/+ymQS1eFXYXFs60IKaXfMfInjktDU204+Z41CGOBNhMErMh+FoywWSm/eVA+tXZHOI3E20S1qpBXwMTIluncl4d2g6OM+uv1xJDWWjdNHcBlRPN/dnFQh2qI45mlZIWJ4h8PpAnWd4kszFNhdzgwwuHNqeCP1TFlIDdDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kDKK9jmJj/QlKMEyRa5GifuSBhkbVw7wkP7E7Z1GEWw=;
 b=beDcKGtH1nTmK3cZvDy9Uli6uaWhvtwKwjKbUa0sUU/EWnapqd8pn0aCW9pFsAHu3pjAUUBG47qX6vN/sTE2LLoHW0LFxm4gNgRCwn4CSCqTYyNUAltuT84ZHmTKEBc/9U31FJ3s/vZ1GSKGYwgu6/stIvnN/bVIPVjtU2Mrts4=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Roger Pau
 Monne <roger.pau@citrix.com>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH] x86/HVM+shim: fix build when !CONFIG_GRANT_TABLE
Thread-Topic: [PATCH] x86/HVM+shim: fix build when !CONFIG_GRANT_TABLE
Thread-Index: AQHZBZ2nWTAZIWB6y0GC+MRiLhYZVK5ZMT6A
Date: Thu, 1 Dec 2022 16:01:57 +0000
Message-ID: <261da93e-9464-8e9f-6ae2-a8f8ec466def@citrix.com>
References: <2ea8c3de-4967-802c-9a32-79203cd41384@suse.com>
In-Reply-To: <2ea8c3de-4967-802c-9a32-79203cd41384@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|MN2PR03MB5008:EE_
x-ms-office365-filtering-correlation-id: 4f6335c6-ef1f-4a23-5341-08dad3b55fb1
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Ga1Y2Hvk1HEHkw8DdsYkWM4KXyw0Gq+Ln3GAzzGTQ65/UPA18i2yaGeRMvyY8p3M3P8Z+dEwtwSnn2vDXb/pNY0OjWrPUx/caH21I0nj+DmEEcaLcSretWgBujgeKDsjXDiTmZCoFoGrCUiLeDxBkmVu/V6IZmzmBSINw8pOZlnUPojGu5Fvf1hkB5rI7QwYHktQxZ7QaOlXVnR6Y0UwuBy+Xas+cqfBJuJN4s6pAxj1PZWWsFqHUjXjxb4PFnFBUNiRsCfsXIt75VKyYewKbiqaFd7O4VxNg56THp+L9mQKoza8SOLjH3hwpItlZ7BqJvTudXy5QjyF+HzJzFzXb/dw6RjmiXAhxMgyik9GHSGm1mwnT6lxmv1MYeqOH2kq7VYm6On07EA/pj27wAlfenaq/pKoONJvr795weDGXmI30rryBDL20g5o6jFgCLUhuECrncl0jBr7sbsQRcLYlByInPoiAbq17gWiyPcgOzMs1nhcpKW9oMiI6p6hr5QBOsGzdzH0oquImTvnDvUe+j40CwMdOr+3f3PwBl6fGnHsKSeWHnBb+nmKgcDo2s4+GnVkJzv1M/HZhufdX4Ez9UKCUaxaVLqCIUDr37RgbshDlc8iVWrpjVVYj35FoYqn6V4c2FrFxQvn0GiJ7WFQVBKx42l6FTu5qDCl4MCa/oezef3HmRLkQWBIpeyWpJep4dCSM6jSOwFUIKRQ0AnLhXKamrnqsOnwmIBD/oOaNiFP3JIJH8LMaXeh/DMzuzgHiroYvYoY/I3d7kquyofNjw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(366004)(39860400002)(376002)(136003)(451199015)(2906002)(4744005)(31686004)(2616005)(38070700005)(6486002)(41300700001)(186003)(478600001)(66446008)(53546011)(31696002)(86362001)(26005)(6506007)(82960400001)(38100700002)(54906003)(8676002)(64756008)(8936002)(66476007)(122000001)(110136005)(36756003)(5660300002)(6512007)(66946007)(76116006)(71200400001)(4326008)(316002)(91956017)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?QzJ3VzdvUlZIQ2Y0a29wSnl0VHEvSk1aUUhuMkhiU1ZSbGt0cEJtU2Q4Tmo2?=
 =?utf-8?B?UlNZVmRLVmVGSUFOU0xFMDhrOUdvbVh3RXZsa3JYMUxpdEdIdHdCYVh5aW5R?=
 =?utf-8?B?QTI3OE9HUTJQM1QvY0h5cnNIclNLMDR6UjRYTURxY1BsdW84MDdXT0hMQUxj?=
 =?utf-8?B?SzFmY05wYU92STNhQ0ZBbmJBNlE3aGhsc1RUenBkUTlGVU9aQVBqMGgrUGZE?=
 =?utf-8?B?SmlMelIxQlRaaDVmWnNIR1ZMWmZLT0hOYmMwMFlUVFVuRWZGZHFXSk5pQmV0?=
 =?utf-8?B?Y3BKc3B4RHhMSVRBQ3RFMk5UbFQrejAwd1plTVZSNVAzeTRWYTlHbkVGazVR?=
 =?utf-8?B?SGFNcjlPaXAyS1NCSGpCeThGMFhaRWM0c2FpeHFyRlFnKzJtNi9YRHFDTHdX?=
 =?utf-8?B?eG1sYWxlbjBLZWhNVXNlMmhjeUxKaFBnOWg0cThFYWZscFp3amtsdk5UTVNr?=
 =?utf-8?B?bCtWZTJFRlNHS3NzMG01NDgxdEVxQ3BERnlFSW5MRDllMS9JMm5HeE1Hclpt?=
 =?utf-8?B?clhyZGR4ZGZUY1R0dFFqZVNiY1NOMEN3aGZHQXhzV2RUUFlHUVh5TVJFMjdn?=
 =?utf-8?B?MXN6MHZVNUFTYXNlV1ZFcW1yVWxLWVdJTlZTdklvOUl2YmpueXQrcUJoR2lu?=
 =?utf-8?B?RUpubStlMTBqTC9uTWVsY2c1MWkrcjFNMnJENm1DTEdNNXpLMFFDRFgvVGR0?=
 =?utf-8?B?M0oyTDRBT3dlOFFpaUNUR0hiMmRwekRQWWV1WkF5U2xmbVkxMXNRSWMwTlhr?=
 =?utf-8?B?YlpjMTFPTm1vZFcvUFhwcUUzSGEzZ0ZJbGFrQlVnZllna0FtSGpDU3BWb3Nu?=
 =?utf-8?B?SWloYnZpazFaTVhnTGVyOEV0ODdnNXpZVXpWWnRqdUl0UkNVNXpSUkY1WXdl?=
 =?utf-8?B?NW54cDE1RTN5ZzczQVhZK2V0VzhVOTJvc1ZoUEVnWmJHdWhaY2R4aDdEYk04?=
 =?utf-8?B?Z2R2N2x4ckR3dG9Qb0JUV0Q3MDg4VStKUkxzQzNWM0VraHd5VWxIQzBFYW1u?=
 =?utf-8?B?N3VhT25SUkxjbDVBL0gxQXhHWkJRR3pCa2k5Qlk1VDlxcUxKa0VUMDViNDg1?=
 =?utf-8?B?Zk1JY3B6ZldHNEJhbG9aYXZRdzZxa1BpM2x1SFRmYVplWkRhRmdWcXJaQ0dm?=
 =?utf-8?B?RTVTMkFURU03cFh6akhDZzBPRWVXeWtrWmpHKzgralpnN3pLKzVJclBHSmhX?=
 =?utf-8?B?ZEJvbmtIUjFKcjNYbGxXT1gwajBkdURGZkdReEdGWVBHVm9ySVhLR2tRV1oy?=
 =?utf-8?B?QTlPYkxtS240WkZ4Z0NVdXdnbUNic001T01ITXVEMVlvQWdONFhoR3dKM3lB?=
 =?utf-8?B?YVI3Zll6Zlh6MkxHbU5IaUZtUDVBbEg3SnlhTUl4NTMyTStPcUplMjdrcjE3?=
 =?utf-8?B?Y09wMlU3TlBWMkt2TWNKT0ZLWmorZWRvS2h1WWYyMjhsTlp4UlFUVERUb3lv?=
 =?utf-8?B?amtIcmFjVTJIcEVPb1A3eEc4emV1dTNEVS9CYlZyU0loTzVSblMwNGRqdDJq?=
 =?utf-8?B?MGV1MzBZdmRHUndHM2RMTFQ0bHJTTm9IQ0RKOWVid3F4eCszcHVkYnRsRXN4?=
 =?utf-8?B?V0hHNmE5d3BjZFdsWjlMb0VHMVIxdkdIajRWUTg1c3NHYXFUWHV3SnAxNldx?=
 =?utf-8?B?SHBSc0o2cFJCWTdybHZCbS9jdWdzdlVIWXg3NmJjKzRBeEpCeGpkaGVXeExh?=
 =?utf-8?B?bjFBTWdxdStNRGNidkwrRUFNZnArZE8vdkI3NHhBV3huYlRIZFBMcER0dHJr?=
 =?utf-8?B?QXZCUnpnTXM3dWFKOTlyUk05clJyNkRkeU55REwrZ3pNTkwzOXZEdDFFSUxs?=
 =?utf-8?B?M2VJY29KTGdzWDBYREJ1dnRFL2E3cnlEN29PQ2JhQ1dhYXgvY2ZzL0lQenh1?=
 =?utf-8?B?bno4WmwxVURvcXUvVm9ucGJZN0xmMjNLbnlXV3NlaWlGZm54Q0F6WnFhaE83?=
 =?utf-8?B?eU5sR0FMdEMwVHJsTDZ1YUVZZzJvU3Z5V2IzMW12WG5JMmFVWUNmci9aaEhP?=
 =?utf-8?B?YXQrcFFVeTlkeHllUzNCdkdlbHd4b1NxdW5YNlFXeDhOZVZyN1JoaVdVUE9w?=
 =?utf-8?B?NWlucks4bm82LzFvbEkrakdVd0lxME83Z2tURGxjZmdTQmFtRVdHWkNnZDZS?=
 =?utf-8?Q?KzHGwiPyrkX8MhnUkh2dTOaH1?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <B31CFCAB82579940B0CA65DDF427F374@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	TpxhbKGppRjoW5ZDtnMmii3pqJYGsCD3E0IZrO4M4cZ64h5GBhrBkbhX3ZMOyDYwAezHVXO6aQstqkxhL/Fm73QpvESDm5ZWXLuzwEJo2oybFX9ILG2xrQ+rovv2tKJW09ctTdAQtRkVu60DB3XyFQd+d7cfWPba+6wgOKgNy+k5RVpb0tu4PjiCuLvnLgUwX3TCl/Utyss8CK+7v0Bkz8yp88NUO55bPbbQhp8wo4AXTf4F3r6vvd5bA46uO2VTHeJtY+TlOxTH3Mq3mVG4PBeNJzoCSKgjUic2C+GtFkRqFdvsnW3sHzHcBYSefYlrVrflbDC64YXiO8+6I9SeCEGvz9SPUUQFfgXQG9l6CCz+4bq7d2u8Jec4t1h5USUbm8pGJIkm2I7c6AKkXvt5F+C/m6xwidMPa147u/mlHRMrX6h9xz0FtAJ28EHjld+WNSjc9LICP64lYHrOBYs2Jesnb8VlwHI28wik7EPerEp3dOC4f6sKOFVMDHD5HySNfgs04kN6olkxG4WSmguitAP3EJ28OomXCQScvV/41OeMdlYrIFpZnZapcusyfP8ON2y+MZq4SsH1zmjfjhm73ThJe5dqxOCZyUAC0hl1EgumENfxf3EfY6YhzALNbXtVpJsej0I0PlQ1oGsI6OJo9B0KdWd8m/r8pAb8lHSWcVTGos+JGbxdXXgWOOWFmUnuq16VikayfRmythXY67ueaWsZx19BPlUnGZSjVe5UP2xgbQ2A3dvHPWzS500Tb5EK1MKUHiOlja2DOMUsM/r95H8DWlVxwx0l2sQ3WmmtfbJ1sQywrhhYVsNh9VYg10XdvkNOzIjn9KdWLx5WwHLpBoSa17yHMV8x9FUXdb0H+Yh5vlbrzaxp1h1fd8jNUZL0OQR8sFvZjiLB7F5ISHM96w==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f6335c6-ef1f-4a23-5341-08dad3b55fb1
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 16:01:57.3719
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: GD6sHk9QBEqH0zxyf0odHwTnO9mHThC/4Qs4RAOihy4/Y8pKv8Z3HnaNAHINjhGGdSR0YMNcrI5nRxOZX6dIZLhQu9Eso0yH6gzPXdHT+Dc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5008

T24gMDEvMTIvMjAyMiAxNTo1NywgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFRoZSBIVk0gZmxhdm9y
IG9mIHRoZSBoeXBlcmNhbGwgaGFuZGxlcnMgZXhpc3RzIG9ubHkgd2hlbiBHUkFOVF9UQUJMRSBp
cw0KPiBlbmFibGVkLCB3aGlsZSBzdXJyb2dhdGUgc2hpbSB2YXJpYW50cyBleGlzdCBvbmx5IGZv
ciB0aGUgcHVycG9zZSBvZiBQVi4NCj4gKEFsc28gc2NyYXRjaCBvdXQgdGhlIEFybSB2YXJpYW50
IGluIHRoYXQgY2FzZTsgd2hhdCBleGFjdGx5IGlzIHVzZWQgaW4NCj4gdGhhdCBjZWxsIG9mIHRo
ZSBuZXcgdGFibGUgcm93IGRvZXNuJ3QgcmVhbGx5IG1hdHRlci4pDQo+DQo+IEZpeGVzOiA4NTIz
ODUxZGJjNDkgKCJ4ZW4veDg2OiBjYWxsIGh5cGVyY2FsbCBoYW5kbGVycyB2aWEgZ2VuZXJhdGVk
IG1hY3JvIikNCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29t
Pg0KPiBSZXBvcnRlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4NCg0KVGhhbmtzIGZvciBpbnZlc3RpZ2F0aW5nLg0KDQpBY2tlZC1ieTogQW5kcmV3IENvb3Bl
ciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCg0KVGhvdWdodHMgYWJvdXQgaW5jbHVzaW9u
IGludG8gNC4xNz/CoCBUaGlzIGlzIGEgYnVpbGQgdGltZSByZWdyZXNzaW9uIHZzDQo0LjE2Lg0K


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:03:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:03:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450903.708418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m1g-0000BH-J8; Thu, 01 Dec 2022 16:03:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450903.708418; Thu, 01 Dec 2022 16:03:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m1g-0000BA-EZ; Thu, 01 Dec 2022 16:03:04 +0000
Received: by outflank-mailman (input) for mailman id 450903;
 Thu, 01 Dec 2022 16:03:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0m1f-0008HE-1w
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:03:03 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a0bdf955-7191-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:03:01 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 23E35D6E;
 Thu,  1 Dec 2022 08:03:06 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B7FD93F67D;
 Thu,  1 Dec 2022 08:02:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0bdf955-7191-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [RFC PATCH 00/21] Add SMMUv3 Stage 1 Support for XEN guests
Date: Thu,  1 Dec 2022 16:02:24 +0000
Message-Id: <cover.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The SMMUv3 supports two stages of translation. Each stage of translation can be
independently enabled. An incoming address is logically translated from VA to
IPA in stage 1, then the IPA is input to stage 2 which translates the IPA to
the output PA.

Stage 1 is intended to be used by a software entity to provide isolation or
translation to buffers within the entity, for example DMA isolation within an
OS. Stage 2 is intended to be available in systems supporting the
Virtualization Extensions and is intended to virtualize device DMA to guest VM
address spaces. When both stage 1 and stage 2 are enabled, the translation
configuration is called nested.

Stage 1 translation support is required to provide isolation between different
devices within OS. XEN already supports Stage 2 translation but there is no
support for Stage 1 translation. The goal of this work is to support Stage 1
translation for XEN guests. Stage 1 has to be configured within the guest to
provide isolation.

We cannot trust the guest OS to control the SMMUv3 hardware directly as
compromised guest OS can corrupt the SMMUv3 configuration and make the system
vulnerable. The guest gets the ownership of the stage 1 page tables and also
owns stage 1 configuration structures. The XEN handles the root configuration
structure (for security reasons), including the stage 2 configuration.

XEN will emulate the SMMUv3 hardware and exposes the virtual SMMUv3 to the
guest. Guest can use the native SMMUv3 driver to configure the stage 1
translation. When the guest configures the SMMUv3 for Stage 1, XEN will trap
the access and configure hardware.

SMMUv3 Driver(Guest OS) -> Configure the Stage-1 translation ->
XEN trap access -> XEN SMMUv3 driver configure the HW.

SMMUv3 driver has to be updated to support the Stage-1 translation support
based on work done by the KVM team to support Nested Stage translation:
https://github.com/eauger/linux/commits/v5.11-stallv12-2stage-v14
https://lwn.net/Articles/852299/

As the stage 1 translation is configured by XEN on behalf of the guest,
translation faults encountered during the translation process need to be
propagated up to the guest and re-injected into the guest. When the guest
invalidates stage 1 related caches, invalidations must be forwarded to the
SMMUv3 hardware.

This patch series is sent as RFC to get the initial feedback from the
community. This patch series consists of 21 patches which is a big number for
the reviewer to review the patches but to understand the feature end-to-end we
thought of sending this as a big series. Once we will get initial feedback, we
will divide the series into a small number of patches for review.

Jean-Philippe Brucker (1):
  xen/arm: smmuv3: Maintain a SID->device structure

Rahul Singh (20):
  xen/arm: smmuv3: Add support for stage-1 and nested stage translation
  xen/arm: smmuv3: Alloc io_domain for each device
  xen/arm: vIOMMU: add generic vIOMMU framework
  xen/arm: vsmmuv3: Add dummy support for virtual SMMUv3 for guests
  xen/domctl: Add XEN_DOMCTL_CONFIG_VIOMMU_* and viommu config param
  xen/arm: vIOMMU: Add cmdline boot option "viommu = <boolean>"
  xen/arm: vsmmuv3: Add support for registers emulation
  xen/arm: vsmmuv3: Add support for cmdqueue handling
  xen/arm: vsmmuv3: Add support for command CMD_CFGI_STE
  xen/arm: vsmmuv3: Attach Stage-1 configuration to SMMUv3 hardware
  xen/arm: vsmmuv3: Add support for event queue and global error
  xen/arm: vsmmuv3: Add "iommus" property node for dom0 devices
  xen/arm: vIOMMU: IOMMU device tree node for dom0
  xen/arm: vsmmuv3: Emulated SMMUv3 device tree node for dom0less
  arm/libxl: vsmmuv3: Emulated SMMUv3 device tree node in libxl
  xen/arm: vsmmuv3: Alloc virq for virtual SMMUv3
  xen/arm: iommu: skip the iommu-map property for PCI devices
  xen/arm: vsmmuv3: Add support to send stage-1 event to guest
  libxl/arm: vIOMMU: Modify the partial device tree for iommus
  xen/arm: vIOMMU: Modify the partial device tree for dom0less

 docs/man/xl.cfg.5.pod.in               |  11 +
 docs/misc/xen-command-line.pandoc      |   7 +
 tools/golang/xenlight/helpers.gen.go   |   2 +
 tools/golang/xenlight/types.gen.go     |   1 +
 tools/include/libxl.h                  |   5 +
 tools/libs/light/libxl_arm.c           | 121 +++-
 tools/libs/light/libxl_types.idl       |   6 +
 tools/xl/xl_parse.c                    |   9 +
 xen/arch/arm/domain.c                  |  18 +
 xen/arch/arm/domain_build.c            | 213 +++++-
 xen/arch/arm/include/asm/domain.h      |   4 +
 xen/arch/arm/include/asm/viommu.h      | 102 +++
 xen/drivers/passthrough/Kconfig        |  14 +
 xen/drivers/passthrough/arm/Makefile   |   2 +
 xen/drivers/passthrough/arm/smmu-v3.c  | 370 +++++++++--
 xen/drivers/passthrough/arm/smmu-v3.h  |  43 +-
 xen/drivers/passthrough/arm/viommu.c   |  87 +++
 xen/drivers/passthrough/arm/vsmmu-v3.c | 887 +++++++++++++++++++++++++
 xen/drivers/passthrough/arm/vsmmu-v3.h |  32 +
 xen/include/public/arch-arm.h          |  14 +-
 xen/include/public/device_tree_defs.h  |   1 +
 xen/include/xen/iommu.h                |  14 +
 22 files changed, 1913 insertions(+), 50 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/viommu.h
 create mode 100644 xen/drivers/passthrough/arm/viommu.c
 create mode 100644 xen/drivers/passthrough/arm/vsmmu-v3.c
 create mode 100644 xen/drivers/passthrough/arm/vsmmu-v3.h

--
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:04:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:04:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450913.708429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m2e-0000yA-2z; Thu, 01 Dec 2022 16:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450913.708429; Thu, 01 Dec 2022 16:04:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m2d-0000y3-Vj; Thu, 01 Dec 2022 16:04:03 +0000
Received: by outflank-mailman (input) for mailman id 450913;
 Thu, 01 Dec 2022 16:04:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0m2c-0008HE-36
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:04:02 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id c4d00774-7191-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:04:00 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B961DD6E;
 Thu,  1 Dec 2022 08:04:06 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id AADCA3F67D;
 Thu,  1 Dec 2022 08:03:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4d00774-7191-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jonathan Cameron <Jonathan.Cameron@huawei.com>,
	Eric Auger <eric.auger@redhat.com>,
	Keqian Zhu <zhukeqian1@huawei.com>,
	Will Deacon <will@kernel.org>,
	Joerg Roedel <jroedel@suse.de>
Subject: [RFC PATCH 01/21] xen/arm: smmuv3: Maintain a SID->device structure
Date: Thu,  1 Dec 2022 16:02:25 +0000
Message-Id: <c6d0ad52d1f99314d236a36413e8391b48989d37.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Jean-Philippe Brucker <jean-philippe@linaro.org>

Backport Linux commit cdf315f907d4. This is the clean backport without
any changes.

When handling faults from the event or PRI queue, we need to find the
struct device associated with a SID. Add a rb_tree to keep track of
SIDs.

Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Keqian Zhu <zhukeqian1@huawei.com>
Signed-off-by: Jean-Philippe Brucker <jean-philippe@linaro.org>
Acked-by: Will Deacon <will@kernel.org>
Link: https://lore.kernel.org/r/20210401154718.307519-8-jean-philippe@linaro.org
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Origin: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git cdf315f907d4
Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c | 131 +++++++++++++++++++++-----
 xen/drivers/passthrough/arm/smmu-v3.h |  13 ++-
 2 files changed, 118 insertions(+), 26 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 9c9f463009..cbef3f8b36 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -810,6 +810,27 @@ static int arm_smmu_init_l2_strtab(struct arm_smmu_device *smmu, u32 sid)
 	return 0;
 }
 
+__maybe_unused
+static struct arm_smmu_master *
+arm_smmu_find_master(struct arm_smmu_device *smmu, u32 sid)
+{
+	struct rb_node *node;
+	struct arm_smmu_stream *stream;
+
+	node = smmu->streams.rb_node;
+	while (node) {
+		stream = rb_entry(node, struct arm_smmu_stream, node);
+		if (stream->id < sid)
+			node = node->rb_right;
+		else if (stream->id > sid)
+			node = node->rb_left;
+		else
+			return stream->master;
+	}
+
+	return NULL;
+}
+
 /* IRQ and event handlers */
 static void arm_smmu_evtq_tasklet(void *dev)
 {
@@ -1047,8 +1068,8 @@ static int arm_smmu_atc_inv_master(struct arm_smmu_master *master,
 	if (!master->ats_enabled)
 		return 0;
 
-	for (i = 0; i < master->num_sids; i++) {
-		cmd->atc.sid = master->sids[i];
+	for (i = 0; i < master->num_streams; i++) {
+		cmd->atc.sid = master->streams[i].id;
 		arm_smmu_cmdq_issue_cmd(master->smmu, cmd);
 	}
 
@@ -1276,13 +1297,13 @@ static void arm_smmu_install_ste_for_dev(struct arm_smmu_master *master)
 	int i, j;
 	struct arm_smmu_device *smmu = master->smmu;
 
-	for (i = 0; i < master->num_sids; ++i) {
-		u32 sid = master->sids[i];
+    for (i = 0; i < master->num_streams; ++i) {
+		u32 sid = master->streams[i].id;
 		__le64 *step = arm_smmu_get_step_for_sid(smmu, sid);
 
 		/* Bridged PCI devices may end up with duplicated IDs */
 		for (j = 0; j < i; j++)
-			if (master->sids[j] == sid)
+			if (master->streams[j].id == sid)
 				break;
 		if (j < i)
 			continue;
@@ -1489,12 +1510,86 @@ static bool arm_smmu_sid_in_range(struct arm_smmu_device *smmu, u32 sid)
 
 	return sid < limit;
 }
+
+static int arm_smmu_insert_master(struct arm_smmu_device *smmu,
+				  struct arm_smmu_master *master)
+{
+	int i;
+	int ret = 0;
+	struct arm_smmu_stream *new_stream, *cur_stream;
+	struct rb_node **new_node, *parent_node = NULL;
+	struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(master->dev);
+
+	master->streams = _xzalloc_array(sizeof(*master->streams), sizeof(void *),
+					fwspec->num_ids);
+	if (!master->streams)
+		return -ENOMEM;
+	master->num_streams = fwspec->num_ids;
+
+	mutex_lock(&smmu->streams_mutex);
+	for (i = 0; i < fwspec->num_ids; i++) {
+		u32 sid = fwspec->ids[i];
+
+		new_stream = &master->streams[i];
+		new_stream->id = sid;
+		new_stream->master = master;
+
+		/*
+		 * Check the SIDs are in range of the SMMU and our stream table
+		 */
+		if (!arm_smmu_sid_in_range(smmu, sid)) {
+			ret = -ERANGE;
+			break;
+		}
+
+		/* Ensure l2 strtab is initialised */
+		if (smmu->features & ARM_SMMU_FEAT_2_LVL_STRTAB) {
+			ret = arm_smmu_init_l2_strtab(smmu, sid);
+			if (ret)
+				break;
+		}
+
+		/* Insert into SID tree */
+		new_node = &(smmu->streams.rb_node);
+		while (*new_node) {
+			cur_stream = rb_entry(*new_node, struct arm_smmu_stream,
+					      node);
+			parent_node = *new_node;
+			if (cur_stream->id > new_stream->id) {
+				new_node = &((*new_node)->rb_left);
+			} else if (cur_stream->id < new_stream->id) {
+				new_node = &((*new_node)->rb_right);
+			} else {
+				dev_warn(master->dev,
+					 "stream %u already in tree\n",
+					 cur_stream->id);
+				ret = -EINVAL;
+				break;
+			}
+		}
+		if (ret)
+			break;
+
+		rb_link_node(&new_stream->node, parent_node, new_node);
+		rb_insert_color(&new_stream->node, &smmu->streams);
+	}
+
+	if (ret) {
+		for (i--; i >= 0; i--)
+			rb_erase(&master->streams[i].node, &smmu->streams);
+		xfree(master->streams);
+	}
+	mutex_unlock(&smmu->streams_mutex);
+
+	return ret;
+}
+
 /* Forward declaration */
 static struct arm_smmu_device *arm_smmu_get_by_dev(struct device *dev);
 
 static int arm_smmu_add_device(u8 devfn, struct device *dev)
 {
-	int i, ret;
+	int ret;
 	struct arm_smmu_device *smmu;
 	struct arm_smmu_master *master;
 	struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
@@ -1512,26 +1607,11 @@ static int arm_smmu_add_device(u8 devfn, struct device *dev)
 
 	master->dev = dev;
 	master->smmu = smmu;
-	master->sids = fwspec->ids;
-	master->num_sids = fwspec->num_ids;
 	dev_iommu_priv_set(dev, master);
 
-	/* Check the SIDs are in range of the SMMU and our stream table */
-	for (i = 0; i < master->num_sids; i++) {
-		u32 sid = master->sids[i];
-
-		if (!arm_smmu_sid_in_range(smmu, sid)) {
-			ret = -ERANGE;
-			goto err_free_master;
-		}
-
-		/* Ensure l2 strtab is initialised */
-		if (smmu->features & ARM_SMMU_FEAT_2_LVL_STRTAB) {
-			ret = arm_smmu_init_l2_strtab(smmu, sid);
-			if (ret)
-				goto err_free_master;
-		}
-	}
+	ret = arm_smmu_insert_master(smmu, master);
+	if (ret)
+		goto err_free_master;
 
 	/*
 	 * Note that PASID must be enabled before, and disabled after ATS:
@@ -1752,6 +1832,9 @@ static int arm_smmu_init_structures(struct arm_smmu_device *smmu)
 {
 	int ret;
 
+	mutex_init(&smmu->streams_mutex);
+	smmu->streams = RB_ROOT;
+
 	ret = arm_smmu_init_queues(smmu);
 	if (ret)
 		return ret;
diff --git a/xen/drivers/passthrough/arm/smmu-v3.h b/xen/drivers/passthrough/arm/smmu-v3.h
index b381ad3738..b3bc7d64c7 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.h
+++ b/xen/drivers/passthrough/arm/smmu-v3.h
@@ -637,6 +637,15 @@ struct arm_smmu_device {
 	struct tasklet		evtq_irq_tasklet;
 	struct tasklet		priq_irq_tasklet;
 	struct tasklet		combined_irq_tasklet;
+
+	struct rb_root		streams;
+	struct mutex		streams_mutex;
+};
+
+struct arm_smmu_stream {
+	u32							id;
+	struct arm_smmu_master		*master;
+	struct rb_node				node;
 };
 
 /* SMMU private data for each master */
@@ -645,8 +654,8 @@ struct arm_smmu_master {
 	struct device			*dev;
 	struct arm_smmu_domain		*domain;
 	struct list_head		domain_head;
-	u32				*sids;
-	unsigned int			num_sids;
+	struct arm_smmu_stream		*streams;
+	unsigned int				num_streams;
 	bool				ats_enabled;
 };
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:04:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:04:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450918.708440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m3R-0001Um-CJ; Thu, 01 Dec 2022 16:04:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450918.708440; Thu, 01 Dec 2022 16:04:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m3R-0001Uf-9D; Thu, 01 Dec 2022 16:04:53 +0000
Received: by outflank-mailman (input) for mailman id 450918;
 Thu, 01 Dec 2022 16:04:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0m3Q-0001UO-2L
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:04:52 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id e29d28b4-7191-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:04:50 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id AFF53ED1;
 Thu,  1 Dec 2022 08:04:56 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4D6D43F67D;
 Thu,  1 Dec 2022 08:04:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e29d28b4-7191-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 02/21] xen/arm: smmuv3: Add support for stage-1 and nested stage translation
Date: Thu,  1 Dec 2022 16:02:26 +0000
Message-Id: <ff0daa2f92a23c183b3eb48c6d98bd79cce822be.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Xen SMMUv3 driver only supports stage-2 translation. Add support for
Stage-1 translation that is required to support nested stage
translation.

In true nested mode, both s1_cfg and s2_cfg will coexist.
Let's remove the union. When nested stage translation is setup, both
s1_cfg and s2_cfg are valid.

We introduce a new smmu_domain abort field that will be set
upon guest stage-1 configuration passing. If no guest stage-1
config has been attached, it is ignored when writing the STE.

arm_smmu_write_strtab_ent() is modified to write both stage
fields in the STE and deal with the abort field.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c | 94 +++++++++++++++++++++++----
 xen/drivers/passthrough/arm/smmu-v3.h |  9 +++
 2 files changed, 92 insertions(+), 11 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index cbef3f8b36..866fe8de4d 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -686,8 +686,10 @@ static void arm_smmu_write_strtab_ent(struct arm_smmu_master *master, u32 sid,
 	 * 3. Update Config, sync
 	 */
 	u64 val = le64_to_cpu(dst[0]);
-	bool ste_live = false;
+	bool s1_live = false, s2_live = false, ste_live = false;
+	bool abort, translate = false;
 	struct arm_smmu_device *smmu = NULL;
+	struct arm_smmu_s1_cfg *s1_cfg = NULL;
 	struct arm_smmu_s2_cfg *s2_cfg = NULL;
 	struct arm_smmu_domain *smmu_domain = NULL;
 	struct arm_smmu_cmdq_ent prefetch_cmd = {
@@ -702,30 +704,54 @@ static void arm_smmu_write_strtab_ent(struct arm_smmu_master *master, u32 sid,
 		smmu = master->smmu;
 	}
 
-	if (smmu_domain)
-		s2_cfg = &smmu_domain->s2_cfg;
+	if (smmu_domain) {
+		switch (smmu_domain->stage) {
+		case ARM_SMMU_DOMAIN_NESTED:
+			s1_cfg = &smmu_domain->s1_cfg;
+			fallthrough;
+		case ARM_SMMU_DOMAIN_S2:
+			s2_cfg = &smmu_domain->s2_cfg;
+			break;
+		default:
+			break;
+		}
+		translate = !!s1_cfg || !!s2_cfg;
+	}
 
 	if (val & STRTAB_STE_0_V) {
 		switch (FIELD_GET(STRTAB_STE_0_CFG, val)) {
 		case STRTAB_STE_0_CFG_BYPASS:
 			break;
+		case STRTAB_STE_0_CFG_S1_TRANS:
+			s1_live = true;
+			break;
 		case STRTAB_STE_0_CFG_S2_TRANS:
-			ste_live = true;
+			s2_live = true;
+			break;
+		case STRTAB_STE_0_CFG_NESTED:
+			s1_live = true;
+			s2_live = true;
 			break;
 		case STRTAB_STE_0_CFG_ABORT:
-			BUG_ON(!disable_bypass);
 			break;
 		default:
 			BUG(); /* STE corruption */
 		}
 	}
 
+	ste_live = s1_live || s2_live;
+
 	/* Nuke the existing STE_0 value, as we're going to rewrite it */
 	val = STRTAB_STE_0_V;
 
 	/* Bypass/fault */
-	if (!smmu_domain || !(s2_cfg)) {
-		if (!smmu_domain && disable_bypass)
+	if (!smmu_domain)
+		abort = disable_bypass;
+	else
+		abort = smmu_domain->abort;
+
+	if (abort || !translate) {
+		if (abort)
 			val |= FIELD_PREP(STRTAB_STE_0_CFG, STRTAB_STE_0_CFG_ABORT);
 		else
 			val |= FIELD_PREP(STRTAB_STE_0_CFG, STRTAB_STE_0_CFG_BYPASS);
@@ -743,8 +769,39 @@ static void arm_smmu_write_strtab_ent(struct arm_smmu_master *master, u32 sid,
 		return;
 	}
 
+	if (ste_live) {
+		/* First invalidate the live STE */
+		dst[0] = cpu_to_le64(STRTAB_STE_0_CFG_ABORT);
+		arm_smmu_sync_ste_for_sid(smmu, sid);
+	}
+
+	if (s1_cfg) {
+		BUG_ON(s1_live);
+		dst[1] = cpu_to_le64(
+			 FIELD_PREP(STRTAB_STE_1_S1DSS, STRTAB_STE_1_S1DSS_SSID0) |
+			 FIELD_PREP(STRTAB_STE_1_S1CIR, STRTAB_STE_1_S1C_CACHE_WBRA) |
+			 FIELD_PREP(STRTAB_STE_1_S1COR, STRTAB_STE_1_S1C_CACHE_WBRA) |
+			 FIELD_PREP(STRTAB_STE_1_S1CSH, ARM_SMMU_SH_ISH) |
+			 FIELD_PREP(STRTAB_STE_1_STRW, STRTAB_STE_1_STRW_NSEL1));
+
+		if (smmu->features & ARM_SMMU_FEAT_STALLS &&
+		   !(smmu->features & ARM_SMMU_FEAT_STALL_FORCE))
+			dst[1] |= cpu_to_le64(STRTAB_STE_1_S1STALLD);
+
+		val |= (s1_cfg->s1ctxptr & STRTAB_STE_0_S1CTXPTR_MASK) |
+			FIELD_PREP(STRTAB_STE_0_CFG, STRTAB_STE_0_CFG_S1_TRANS) |
+			FIELD_PREP(STRTAB_STE_0_S1CDMAX, s1_cfg->s1cdmax) |
+			FIELD_PREP(STRTAB_STE_0_S1FMT, s1_cfg->s1fmt);
+	}
+
 	if (s2_cfg) {
-		BUG_ON(ste_live);
+		u64 vttbr = s2_cfg->vttbr & STRTAB_STE_3_S2TTB_MASK;
+
+		if (s2_live) {
+			u64 s2ttb = le64_to_cpu(dst[3]) & STRTAB_STE_3_S2TTB_MASK;
+			BUG_ON(s2ttb != vttbr);
+		}
+
 		dst[2] = cpu_to_le64(
 			 FIELD_PREP(STRTAB_STE_2_S2VMID, s2_cfg->vmid) |
 			 FIELD_PREP(STRTAB_STE_2_VTCR, s2_cfg->vtcr) |
@@ -754,9 +811,12 @@ static void arm_smmu_write_strtab_ent(struct arm_smmu_master *master, u32 sid,
 			 STRTAB_STE_2_S2PTW | STRTAB_STE_2_S2AA64 |
 			 STRTAB_STE_2_S2R);
 
-		dst[3] = cpu_to_le64(s2_cfg->vttbr & STRTAB_STE_3_S2TTB_MASK);
+		dst[3] = cpu_to_le64(vttbr);
 
 		val |= FIELD_PREP(STRTAB_STE_0_CFG, STRTAB_STE_0_CFG_S2_TRANS);
+	} else {
+		dst[2] = 0;
+		dst[3] = 0;
 	}
 
 	if (master->ats_enabled)
@@ -1259,6 +1319,15 @@ static int arm_smmu_domain_finalise(struct iommu_domain *domain,
 {
 	int ret;
 	struct arm_smmu_domain *smmu_domain = to_smmu_domain(domain);
+	struct arm_smmu_device *smmu = smmu_domain->smmu;
+
+	if (smmu_domain->stage == ARM_SMMU_DOMAIN_NESTED &&
+		(!(smmu->features & ARM_SMMU_FEAT_TRANS_S1) ||
+		 !(smmu->features & ARM_SMMU_FEAT_TRANS_S2))) {
+			dev_info(smmu_domain->smmu->dev,
+					"does not implement two stages\n");
+			return -EINVAL;
+	}
 
 	/* Restrict the stage to what we can actually support */
 	smmu_domain->stage = ARM_SMMU_DOMAIN_S2;
@@ -2307,11 +2376,14 @@ static int arm_smmu_device_hw_probe(struct arm_smmu_device *smmu)
 		smmu->features |= ARM_SMMU_FEAT_STALLS;
 	}
 
+	if (reg & IDR0_S1P)
+		smmu->features |= ARM_SMMU_FEAT_TRANS_S1;
+
 	if (reg & IDR0_S2P)
 		smmu->features |= ARM_SMMU_FEAT_TRANS_S2;
 
-	if (!(reg & IDR0_S2P)) {
-		dev_err(smmu->dev, "no stage-2 translation support!\n");
+	if (!(reg & (IDR0_S1P | IDR0_S2P))) {
+		dev_err(smmu->dev, "no translation support!\n");
 		return -ENXIO;
 	}
 
diff --git a/xen/drivers/passthrough/arm/smmu-v3.h b/xen/drivers/passthrough/arm/smmu-v3.h
index b3bc7d64c7..e270fe05e0 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.h
+++ b/xen/drivers/passthrough/arm/smmu-v3.h
@@ -197,6 +197,7 @@
 #define STRTAB_STE_0_CFG_BYPASS		4
 #define STRTAB_STE_0_CFG_S1_TRANS	5
 #define STRTAB_STE_0_CFG_S2_TRANS	6
+#define STRTAB_STE_0_CFG_NESTED		7
 
 #define STRTAB_STE_0_S1FMT		GENMASK_ULL(5, 4)
 #define STRTAB_STE_0_S1FMT_LINEAR	0
@@ -547,6 +548,12 @@ struct arm_smmu_strtab_l1_desc {
 	dma_addr_t			l2ptr_dma;
 };
 
+struct arm_smmu_s1_cfg {
+	u64				s1ctxptr;
+	u8				s1fmt;
+	u8				s1cdmax;
+};
+
 struct arm_smmu_s2_cfg {
 	u16				vmid;
 	u64				vttbr;
@@ -667,7 +674,9 @@ struct arm_smmu_domain {
 	atomic_t			nr_ats_masters;
 
 	enum arm_smmu_domain_stage	stage;
+	struct arm_smmu_s1_cfg	s1_cfg;
 	struct arm_smmu_s2_cfg	s2_cfg;
+	bool			abort;
 
 	/* Xen domain associated with this SMMU domain */
 	struct domain		*d;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:05:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:05:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450922.708451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m3l-0001xM-Lk; Thu, 01 Dec 2022 16:05:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450922.708451; Thu, 01 Dec 2022 16:05:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m3l-0001xD-Hw; Thu, 01 Dec 2022 16:05:13 +0000
Received: by outflank-mailman (input) for mailman id 450922;
 Thu, 01 Dec 2022 16:05:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lVjU=37=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p0m3j-0001G4-Sd
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:05:12 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20604.outbound.protection.outlook.com
 [2a01:111:f400:7d00::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ee97dacb-7191-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 17:05:11 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7428.eurprd04.prod.outlook.com (2603:10a6:20b:1d5::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.17; Thu, 1 Dec
 2022 16:05:09 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 16:05:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee97dacb-7191-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XKlaBy5WOvaeYLIqVFLyefKPpcQefFuqqHXrZImsI40enuxdwuoSQslyMG+xL3BgBiISs4QuIQNX0czv/YZ2jExmlWPI1ygEsUaSHNAo7ePM5Xkg9RDLWq0LB/sQHVLAsymDGJP3kwneVZt0C1BuAqN0QObj6V09r8pfw8RhmZ2PjcYlCDPBhvoI+dpXiZAZvHREjHsFRcsPK3D1CEkt7nmAwkGR8zOC9HfXLo/wbzlUv8FYI+zrwIAw+oz3Gl22byJGM9w+IhlHTNDFqZjW1ntCUOEM1KtHPKHWTIPQvhdhJvDJYFkbtooiSPfhbfJqhkSrW4ifMOIq6O0d42jm9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3NeixQF/EzehRq87VviXjYRM4B9SsJjwh7AvmqLUfpU=;
 b=UA55VyuET1625kpB3f9DXncUdULCZF6lnfhBy0ggUIGbPVh3S4k80LvVZIW2RjL3iRq6TlAabIn5cknkHsTpSV7X+NnuP4XEl8NDB6qoOEW8U/wwCeI3tmIlExhuNDkv+8cGnS+64Ry+hcHhN9XsZWzk2/bN/XLCt/OS0rqIvLF6elIwzXz0cwnbXFWsaJToYuH+nwpgBbE8vJWlmauVNv1RhaizG4xR+px5LuJ6genYu+I8m4dW8ev2dRydO2J0a/AMJ7srocvxuiqqxQcupuQeJFFVbTCIE+pR/h826qak93tdrYsgQZWlaG1mq3i3P6S6p6AUPWmlB7dM0TKqyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3NeixQF/EzehRq87VviXjYRM4B9SsJjwh7AvmqLUfpU=;
 b=tpWfjQ6gyi8/zHOV2bSAE7xrR/JiHOplhTEhcwXXeH1dFpL3+DB//40xAY0xWiSuZpiQ0gi2/iy90Wo1oIOs3sdYQZVE42zA69Ud6kVaQPe6VV2I2C4xKdrByo30YO7pj17gGjS3NN8nWP2Sv+PTVPIXUn4EQZ/RzBWsEtGI3UxU4yJFC04cyAjYC5X7V7+WMyZKZOL2mxzdT4k8Jt1zQfsJ2ObJQT/NY6C5yZyE2q8UBvkZR7hchTl0LRPuTos8WTm5Mc8YLM1rpv3AQInf45k+LVkwCdxVGL8JzFgqDTkkza+2DBCiKi8ko/55/QsQOkOpmyIpybewT7fT0X9/ng==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8b93be0a-cca6-f1f2-2902-afcf1f8915f6@suse.com>
Date: Thu, 1 Dec 2022 17:05:07 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: [4.17?] Re: [PATCH] x86/HVM+shim: fix build when !CONFIG_GRANT_TABLE
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, Henry Wang <Henry.Wang@arm.com>
Cc: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Roger Pau Monne <roger.pau@citrix.com>, Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <2ea8c3de-4967-802c-9a32-79203cd41384@suse.com>
 <261da93e-9464-8e9f-6ae2-a8f8ec466def@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <261da93e-9464-8e9f-6ae2-a8f8ec466def@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0201.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7428:EE_
X-MS-Office365-Filtering-Correlation-Id: b04713e3-3b1b-458e-990a-08dad3b5d1d7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8meAK/k9uz/8+XxXZxC5nUxd6Ke7zWMwW6w5odIPL/n2EmDe7Rbnzuq18zxhcWGNebzvCeVyIwe6v2vj4WtnOWBx5zAqtReF/ilgSdofyar1SCfNoTRSAG7STk4AN3StsqODW5zLJ1MsxAq26mBcf8U+hnUS3XI3lV0p5xQJVqXJhcvZmfBb9vd48dV8+TmHKy4wr57Rj8pZ4aOsKb6NAEHO1kyuyc9Piii6t6NfWEGOiWevBdnsFmRNTYpVG2KozqnZrOu+c8m2GKXosLGFUibucVQgFsHqJL+Jd/DJiT/7y90/tmiUaouDpTDc3UGkRLMxJovJxH6zy6XENX+Um929+FLs41tBJpdDzl+FQxngBzxz9/d1DkRhtKgagZAHUU3VbajJrNFPSM/aQScMIUEMIyqhgUyRczD55J2LmCvcGtLXwF/LenD4zHDQisZEIKUFz78Xv9Rqv5xmFnuMXL9flEXKqgSLS6daEgq44GE3i9mJdvrFC0SHok3Hrk+m09NSxiQMIhI5gA9SeYJXFdmbfmhvFod8UAmcd27TCpqOB7ehZ9SQGFDyehtVk2f5s17HDQ5jcFQPO9jt75GH3IzLwmC4IOfSyvPhGNeopYZQadIc05Ag8wQFfl38MnuLh9pBHGZDljcl2KzMYw0/UEz5OFk+Z37CxmZKZECyHXO1oV4LEgi49oRLqGwfeq2v8avVFSs4SvUElWtOWQN1rAz7h4w0XuUtcc55BNoZA2A=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(376002)(396003)(366004)(39860400002)(136003)(451199015)(5660300002)(4744005)(110136005)(2616005)(8936002)(316002)(8676002)(66946007)(66556008)(4326008)(36756003)(26005)(38100700002)(66476007)(6512007)(186003)(2906002)(86362001)(54906003)(31696002)(6486002)(31686004)(6506007)(41300700001)(53546011)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RXY3b0IwZzVjRWZtMTVNMTBiVXA2Zm9wREEycUl2MnZRY2JHMzRBMVZtWXI0?=
 =?utf-8?B?WW1BS2Z0K1RHU3lDeWNoU21TbnZjRkppNlJvaDJoY28xbVQxL0NJNDVMSEU5?=
 =?utf-8?B?L0gzLzhjbmpnaEwySE5DRElOOThxSUVMMVVXR2U2ZmJPMzJJOHBoUUN1VjBn?=
 =?utf-8?B?b2czU0l0ZjA5UElNb2RUNHFlSkp1SUloeTA2VDZRS0FEK2dYU2w4SVdNeXpl?=
 =?utf-8?B?ZnBuMm9QK0pmQzlCSG13R2xzY3ZacS9jeWIwNUJWckttaWUrQysyZkxidzlR?=
 =?utf-8?B?L3RrTCtEcEtYWUxMWXJxUFhGL1djT0F0RU5uLzlPOVM4Ums0d3F1WHhGR0lG?=
 =?utf-8?B?bGZBNjV5NWpSekpqM0I2TGNDamFGS3JINE90RStUcGZRK3FZNHEyL2w2b0xY?=
 =?utf-8?B?K2I1ZllZbnFZblBpSmVxRUZoblNxaUMvRTVrdkwySllneGVKM05sU1ErVmNR?=
 =?utf-8?B?U1VSVENWL2d1WWc0bGdGbXF2OC9McGR4VWk2T2hFbi9HNWo3dGlLY3hKaldO?=
 =?utf-8?B?OWdlTjFoMDdFc3hiM2dTQ0ZLajZ4VUNYdXN1Z1BzM2JJdlRVU3FBZ2MxVkE5?=
 =?utf-8?B?d3lvZklYZ1NnWG93VVpyK0JyOVVWYktqUXo4MW0vbjQ4ZkZLZml2dXgyb21F?=
 =?utf-8?B?VTQzeGxsajFKaXRkWnppbHFjMGN0YlE3QnFSd2NlaUpGTFJKbDBHaGVpUDJR?=
 =?utf-8?B?aE85dmpWcFZnUUlXNVhrMmMzVitSMlFRV3FaWDhyNkcvbGNGcDJZMEtsQkRs?=
 =?utf-8?B?a1B6WkpRaXZDNEk5R1Jmdk8xbXYveExiMGJVRFl3clMzTUJyeGhlYU15bUtj?=
 =?utf-8?B?Sm5uMzR2VDhZREZINHZoZnh4bkpERU5zSXVjb2RSbXlLbkdpZjRJQU9tUyt6?=
 =?utf-8?B?LzhzRFlLY0dYRzRhbk9zRllhOEhlTVRwOFdDb01zR1dzK1RpWWNJSjhyREk0?=
 =?utf-8?B?b2RlR0k1bG5WdnBWTTFWTnY5aVoxYlJmNTRZR1pxeW5XMjhCRDVHRTFyT2NG?=
 =?utf-8?B?ZEJtS2x1YitONDkzaDZpZHpuS2tEM0xQcTRuWFpjdXo1SGFmeWtSQ1htRjZY?=
 =?utf-8?B?QWVXSlZMck1sZlNjdVd5RHk3OGsvR0hLRjRmOTFsV3k1YW9JeEdnU0VhY3hh?=
 =?utf-8?B?ZEViR2dyR2p4enBPanl4eG5NUWl1b3U2ZkNVU2RNZzNWNTZCUjVtcjl2NU10?=
 =?utf-8?B?bkxEeGVxakNqeVdjTEVKNzRSQUx5MUhDL2x4aEVac3NDRmJMemxCL2N5Q1dl?=
 =?utf-8?B?SU8yM1Q1QUFpYlF0OU9WbnVoek1tVTl4OEp5UXVWa0Mva3o4emZET1lkM3hv?=
 =?utf-8?B?QlFydytDbmM4bUU1T0RWTXo4OEs0bVVFRjE5cGJ2Q0lobnVJemJDQXBqR3c3?=
 =?utf-8?B?ZnROajltclorUXFXNUUwbFh3RU9JWkVkMWhvbnVnZXQxNVIwM0NQSksrWS9x?=
 =?utf-8?B?NjNpcC9vZDU1ank2K28wM2FGTE5JQ2h1c2cwYXcwZEgwaXAwM3JNVEg3anhk?=
 =?utf-8?B?Qloyc1pPR1k1ZXdkRnNEK1FrYWpmMzNJbi9uN1hOTkVpaTNiTy8zMjdTOXg3?=
 =?utf-8?B?K3FYNHlNY2lKcWZIUUlZSkpCTVNYSjlTV0czOVJMdVl2d2puZDFPS2VrUXRs?=
 =?utf-8?B?Y0xOWlRhUThJTnVRZU9RZCtvMlRUdW1BUXpYTS9kTmp3RjNoS25nYk5XM2pT?=
 =?utf-8?B?QXU3TFdybHdQeVVpZnNoL01NQmdMby9TdXRPNjFWSXhRYWx6VVRyNGtHMHhG?=
 =?utf-8?B?OW90TXRUdFJuRXBOUnVNcXpvQklRUFNzZitYdWROV3BJVzVjaElDeHpRaUgz?=
 =?utf-8?B?ZWcyQjJkWXdKMkdDdFplemp1ZnU3RE5wamFpdGRuak1JUzc3RmZURERhZ3F5?=
 =?utf-8?B?aUY5RzBpMTFsVGpUVWtlb29kZE1CRjZUMnBJQ0Fncm5jajJsMXV6Vm43a0Ev?=
 =?utf-8?B?Y0NkQ05LZk9VUjNNQmZTdFEzdTNWejFUbGRDWHNhQ2twR25CQ3g4VmozcVZE?=
 =?utf-8?B?WlhyR3pISVB4MFB1aDU2elk5YzBwN1NyZ1REMGJLZUdzaWkzdythNXhnUU1Y?=
 =?utf-8?B?SVQ5c21qeGdPcVZZdDhBcUtFeUdSM1JnalFnQ2gzSnJqRjgzbzJJNWN2di9z?=
 =?utf-8?Q?5DA6cnd9/5uKqu/R4V7SoJitJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b04713e3-3b1b-458e-990a-08dad3b5d1d7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 16:05:09.1174
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5HcJ25IVlHaYRWIIvdTSFK+WghHmrfpIiV6M8xPgzKPljm5cAuQDetbq0z6aTv5vfzsfRRM4MRiw+FbXY5IH4w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7428

On 01.12.2022 17:01, Andrew Cooper wrote:
> On 01/12/2022 15:57, Jan Beulich wrote:
>> The HVM flavor of the hypercall handlers exists only when GRANT_TABLE is
>> enabled, while surrogate shim variants exist only for the purpose of PV.
>> (Also scratch out the Arm variant in that case; what exactly is used in
>> that cell of the new table row doesn't really matter.)
>>
>> Fixes: 8523851dbc49 ("xen/x86: call hypercall handlers via generated macro")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Thanks for investigating.
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

> Thoughts about inclusion into 4.17?  This is a build time regression vs
> 4.16.

I thought this was odd enough a configuration, but since you ask, let me
forward the question to Henry.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:05:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:05:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450926.708462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m4C-0002Wh-Vz; Thu, 01 Dec 2022 16:05:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450926.708462; Thu, 01 Dec 2022 16:05:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m4C-0002Wa-RW; Thu, 01 Dec 2022 16:05:40 +0000
Received: by outflank-mailman (input) for mailman id 450926;
 Thu, 01 Dec 2022 16:05:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0m4C-0001G4-0i
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:05:40 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id ff7e8dd5-7191-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 17:05:39 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 31615ED1;
 Thu,  1 Dec 2022 08:05:45 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C2E163F73B;
 Thu,  1 Dec 2022 08:05:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff7e8dd5-7191-11ed-8fd2-01056ac49cbb
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 03/21] xen/arm: smmuv3: Alloc io_domain for each device
Date: Thu,  1 Dec 2022 16:02:27 +0000
Message-Id: <9dcf6a14c77db281933c0a5a19a58b0454ce587c.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In current implementation io_domain is allocated once for each xen
domain as Stage2 translation is common for all devices in same xen
domain.

Nested stage supports S1 and S2 configuration at the same time. Stage1
translation will be different for each device as linux kernel will
allocate page-table for each device.

Alloc io_domain for each device so that each device can have different
Stage-1 and Stage-2 configuration structure.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 866fe8de4d..9174d2dedd 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -2753,11 +2753,13 @@ static struct arm_smmu_device *arm_smmu_get_by_dev(struct device *dev)
 static struct iommu_domain *arm_smmu_get_domain(struct domain *d,
 				struct device *dev)
 {
+	unsigned long flags;
 	struct iommu_domain *io_domain;
 	struct arm_smmu_domain *smmu_domain;
 	struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
 	struct arm_smmu_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
 	struct arm_smmu_device *smmu = arm_smmu_get_by_dev(fwspec->iommu_dev);
+	struct arm_smmu_master *master;
 
 	if (!smmu)
 		return NULL;
@@ -2768,8 +2770,15 @@ static struct iommu_domain *arm_smmu_get_domain(struct domain *d,
 	 */
 	list_for_each_entry(io_domain, &xen_domain->contexts, list) {
 		smmu_domain = to_smmu_domain(io_domain);
-		if (smmu_domain->smmu == smmu)
-			return io_domain;
+
+		spin_lock_irqsave(&smmu_domain->devices_lock, flags);
+		list_for_each_entry(master, &smmu_domain->devices, domain_head) {
+			if (master->dev == dev) {
+				spin_unlock_irqrestore(&smmu_domain->devices_lock, flags);
+				return io_domain;
+			}
+		}
+		spin_unlock_irqrestore(&smmu_domain->devices_lock, flags);
 	}
 	return NULL;
 }
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:06:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:06:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450937.708473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m4m-0003E5-Bq; Thu, 01 Dec 2022 16:06:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450937.708473; Thu, 01 Dec 2022 16:06:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m4m-0003Du-8z; Thu, 01 Dec 2022 16:06:16 +0000
Received: by outflank-mailman (input) for mailman id 450937;
 Thu, 01 Dec 2022 16:06:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0m4k-0001UO-80
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:06:14 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 13b66383-7192-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:06:13 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 1A3EDED1;
 Thu,  1 Dec 2022 08:06:19 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 37B9B3F73B;
 Thu,  1 Dec 2022 08:06:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13b66383-7192-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
Date: Thu,  1 Dec 2022 16:02:28 +0000
Message-Id: <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic framework for vIOMMU.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/domain.c                | 17 +++++++
 xen/arch/arm/domain_build.c          |  3 ++
 xen/arch/arm/include/asm/viommu.h    | 70 ++++++++++++++++++++++++++++
 xen/drivers/passthrough/Kconfig      |  6 +++
 xen/drivers/passthrough/arm/Makefile |  1 +
 xen/drivers/passthrough/arm/viommu.c | 48 +++++++++++++++++++
 xen/include/public/arch-arm.h        |  4 ++
 7 files changed, 149 insertions(+)
 create mode 100644 xen/arch/arm/include/asm/viommu.h
 create mode 100644 xen/drivers/passthrough/arm/viommu.c

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 38e22f12af..2a85209736 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -37,6 +37,7 @@
 #include <asm/tee/tee.h>
 #include <asm/vfp.h>
 #include <asm/vgic.h>
+#include <asm/viommu.h>
 #include <asm/vtimer.h>
 
 #include "vpci.h"
@@ -691,6 +692,13 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
         return -EINVAL;
     }
 
+    if ( config->arch.viommu_type != XEN_DOMCTL_CONFIG_VIOMMU_NONE )
+    {
+        dprintk(XENLOG_INFO,
+                "vIOMMU type requested not supported by the platform or Xen\n");
+        return -EINVAL;
+    }
+
     return 0;
 }
 
@@ -783,6 +791,9 @@ int arch_domain_create(struct domain *d,
     if ( (rc = domain_vpci_init(d)) != 0 )
         goto fail;
 
+    if ( (rc = domain_viommu_init(d, config->arch.viommu_type)) != 0 )
+        goto fail;
+
     return 0;
 
 fail:
@@ -998,6 +1009,7 @@ static int relinquish_memory(struct domain *d, struct page_list_head *list)
 enum {
     PROG_pci = 1,
     PROG_tee,
+    PROG_viommu,
     PROG_xen,
     PROG_page,
     PROG_mapping,
@@ -1048,6 +1060,11 @@ int domain_relinquish_resources(struct domain *d)
         if (ret )
             return ret;
 
+    PROGRESS(viommu):
+        ret = viommu_relinquish_resources(d);
+        if (ret )
+            return ret;
+
     PROGRESS(xen):
         ret = relinquish_memory(d, &d->xenpage_list);
         if ( ret )
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index bd30d3798c..abbaf37a2e 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -27,6 +27,7 @@
 #include <asm/setup.h>
 #include <asm/cpufeature.h>
 #include <asm/domain_build.h>
+#include <asm/viommu.h>
 #include <xen/event.h>
 
 #include <xen/irq.h>
@@ -3858,6 +3859,7 @@ void __init create_domUs(void)
         struct domain *d;
         struct xen_domctl_createdomain d_cfg = {
             .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
+            .arch.viommu_type = viommu_get_type(),
             .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
             /*
              * The default of 1023 should be sufficient for guests because
@@ -4052,6 +4054,7 @@ void __init create_dom0(void)
         printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
     dom0_cfg.arch.tee_type = tee_get_type();
     dom0_cfg.max_vcpus = dom0_max_vcpus();
+    dom0_cfg.arch.viommu_type = viommu_get_type();
 
     if ( iommu_enabled )
         dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
diff --git a/xen/arch/arm/include/asm/viommu.h b/xen/arch/arm/include/asm/viommu.h
new file mode 100644
index 0000000000..7cd3818a12
--- /dev/null
+++ b/xen/arch/arm/include/asm/viommu.h
@@ -0,0 +1,70 @@
+/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
+#ifndef __ARCH_ARM_VIOMMU_H__
+#define __ARCH_ARM_VIOMMU_H__
+
+#ifdef CONFIG_VIRTUAL_IOMMU
+
+#include <xen/lib.h>
+#include <xen/types.h>
+#include <public/xen.h>
+
+struct viommu_ops {
+    /*
+     * Called during domain construction if toolstack requests to enable
+     * vIOMMU support.
+     */
+    int (*domain_init)(struct domain *d);
+
+    /*
+     * Called during domain destruction to free resources used by vIOMMU.
+     */
+    int (*relinquish_resources)(struct domain *d);
+};
+
+struct viommu_desc {
+    /* vIOMMU domains init/free operations described above. */
+    const struct viommu_ops *ops;
+
+    /*
+     * ID of vIOMMU. Corresponds to xen_arch_domainconfig.viommu_type.
+     * Should be one of XEN_DOMCTL_CONFIG_VIOMMU_xxx
+     */
+    uint16_t viommu_type;
+};
+
+int domain_viommu_init(struct domain *d, uint16_t viommu_type);
+int viommu_relinquish_resources(struct domain *d);
+uint16_t viommu_get_type(void);
+
+#else
+
+static inline uint8_t viommu_get_type(void)
+{
+    return XEN_DOMCTL_CONFIG_VIOMMU_NONE;
+}
+
+static inline int domain_viommu_init(struct domain *d, uint16_t viommu_type)
+{
+    if ( likely(viommu_type == XEN_DOMCTL_CONFIG_VIOMMU_NONE) )
+        return 0;
+
+    return -ENODEV;
+}
+
+static inline int viommu_relinquish_resources(struct domain *d)
+{
+    return 0;
+}
+
+#endif /* CONFIG_VIRTUAL_IOMMU */
+
+#endif /* __ARCH_ARM_VIOMMU_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
index 479d7de57a..19924fa2de 100644
--- a/xen/drivers/passthrough/Kconfig
+++ b/xen/drivers/passthrough/Kconfig
@@ -35,6 +35,12 @@ config IPMMU_VMSA
 	  (H3 ES3.0, M3-W+, etc) or Gen4 SoCs which IPMMU hardware supports stage 2
 	  translation table format and is able to use CPU's P2M table as is.
 
+config VIRTUAL_IOMMU
+	bool "Virtual IOMMU Support (UNSUPPORTED)" if UNSUPPORTED
+	default n
+	help
+	 Support virtual IOMMU infrastructure to implement vIOMMU.
+
 endif
 
 config IOMMU_FORCE_PT_SHARE
diff --git a/xen/drivers/passthrough/arm/Makefile b/xen/drivers/passthrough/arm/Makefile
index c5fb3b58a5..4cc54f3f4d 100644
--- a/xen/drivers/passthrough/arm/Makefile
+++ b/xen/drivers/passthrough/arm/Makefile
@@ -2,3 +2,4 @@ obj-y += iommu.o iommu_helpers.o iommu_fwspec.o
 obj-$(CONFIG_ARM_SMMU) += smmu.o
 obj-$(CONFIG_IPMMU_VMSA) += ipmmu-vmsa.o
 obj-$(CONFIG_ARM_SMMU_V3) += smmu-v3.o
+obj-$(CONFIG_VIRTUAL_IOMMU) += viommu.o
diff --git a/xen/drivers/passthrough/arm/viommu.c b/xen/drivers/passthrough/arm/viommu.c
new file mode 100644
index 0000000000..7ab6061e34
--- /dev/null
+++ b/xen/drivers/passthrough/arm/viommu.c
@@ -0,0 +1,48 @@
+/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
+
+#include <xen/errno.h>
+#include <xen/init.h>
+#include <xen/types.h>
+
+#include <asm/viommu.h>
+
+const struct viommu_desc __read_mostly *cur_viommu;
+
+int domain_viommu_init(struct domain *d, uint16_t viommu_type)
+{
+    if ( viommu_type == XEN_DOMCTL_CONFIG_VIOMMU_NONE )
+        return 0;
+
+    if ( !cur_viommu )
+        return -ENODEV;
+
+    if ( cur_viommu->viommu_type != viommu_type )
+        return -EINVAL;
+
+    return cur_viommu->ops->domain_init(d);
+}
+
+int viommu_relinquish_resources(struct domain *d)
+{
+    if ( !cur_viommu )
+        return 0;
+
+    return cur_viommu->ops->relinquish_resources(d);
+}
+
+uint16_t viommu_get_type(void)
+{
+    if ( !cur_viommu )
+        return XEN_DOMCTL_CONFIG_VIOMMU_NONE;
+
+    return cur_viommu->viommu_type;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 1528ced509..33d32835e7 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -297,10 +297,14 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
 #define XEN_DOMCTL_CONFIG_TEE_NONE      0
 #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
 
+#define XEN_DOMCTL_CONFIG_VIOMMU_NONE   0
+
 struct xen_arch_domainconfig {
     /* IN/OUT */
     uint8_t gic_version;
     /* IN */
+    uint8_t viommu_type;
+    /* IN */
     uint16_t tee_type;
     /* IN */
     uint32_t nr_spis;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:07:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:07:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450942.708484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m5c-0003pd-M2; Thu, 01 Dec 2022 16:07:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450942.708484; Thu, 01 Dec 2022 16:07:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m5c-0003pW-IT; Thu, 01 Dec 2022 16:07:08 +0000
Received: by outflank-mailman (input) for mailman id 450942;
 Thu, 01 Dec 2022 16:07:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0m5b-0003mC-Lv
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:07:07 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 3397a7d0-7192-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:07:06 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9EC0DED1;
 Thu,  1 Dec 2022 08:07:12 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 214B03F73B;
 Thu,  1 Dec 2022 08:07:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3397a7d0-7192-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Juergen Gross <jgross@suse.com>
Subject: [RFC PATCH 06/21] xen/domctl: Add XEN_DOMCTL_CONFIG_VIOMMU_* and viommu config param
Date: Thu,  1 Dec 2022 16:02:30 +0000
Message-Id: <fc259a3c780aeb312ea1043703add9e9bca1a7e1.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add new viommu_type field and field values XEN_DOMCTL_CONFIG_VIOMMU_NONE
XEN_DOMCTL_CONFIG_VIOMMU_SMMUV3 in xen_arch_domainconfig to
enable/disable vIOMMU support for domains.

Also add viommu="N" parameter to xl domain configuration to enable the
vIOMMU for the domains. Currently, only the "smmuv3" type is supported
for ARM.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 docs/man/xl.cfg.5.pod.in             | 11 +++++++++++
 tools/golang/xenlight/helpers.gen.go |  2 ++
 tools/golang/xenlight/types.gen.go   |  1 +
 tools/include/libxl.h                |  5 +++++
 tools/libs/light/libxl_arm.c         | 13 +++++++++++++
 tools/libs/light/libxl_types.idl     |  6 ++++++
 tools/xl/xl_parse.c                  |  9 +++++++++
 7 files changed, 47 insertions(+)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index ec444fb2ba..5854d777ed 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2870,6 +2870,17 @@ Currently, only the "sbsa_uart" model is supported for ARM.
 
 =back
 
+=item B<viommu="N">
+
+To enable viommu, user must specify the following option in the VM
+config file:
+
+viommu = "smmuv3"
+
+Currently, only the "smmuv3" type is supported for ARM.
+
+=back
+
 =head3 x86
 
 =over 4
diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index cb1bdf9bdf..8b6d771fc7 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1117,6 +1117,7 @@ default:
 return fmt.Errorf("invalid union key '%v'", x.Type)}
 x.ArchArm.GicVersion = GicVersion(xc.arch_arm.gic_version)
 x.ArchArm.Vuart = VuartType(xc.arch_arm.vuart)
+x.ArchArm.Viommu = ViommuType(xc.arch_arm.viommu)
 if err := x.ArchX86.MsrRelaxed.fromC(&xc.arch_x86.msr_relaxed);err != nil {
 return fmt.Errorf("converting field ArchX86.MsrRelaxed: %v", err)
 }
@@ -1602,6 +1603,7 @@ default:
 return fmt.Errorf("invalid union key '%v'", x.Type)}
 xc.arch_arm.gic_version = C.libxl_gic_version(x.ArchArm.GicVersion)
 xc.arch_arm.vuart = C.libxl_vuart_type(x.ArchArm.Vuart)
+xc.arch_arm.viommu = C.libxl_viommu_type(x.ArchArm.Viommu)
 if err := x.ArchX86.MsrRelaxed.toC(&xc.arch_x86.msr_relaxed); err != nil {
 return fmt.Errorf("converting field ArchX86.MsrRelaxed: %v", err)
 }
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index 871576fb0e..16c835ebeb 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -531,6 +531,7 @@ TypeUnion DomainBuildInfoTypeUnion
 ArchArm struct {
 GicVersion GicVersion
 Vuart VuartType
+Viommu ViommuType
 }
 ArchX86 struct {
 MsrRelaxed Defbool
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index d652895075..49563f57bd 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -278,6 +278,11 @@
  */
 #define LIBXL_HAVE_BUILDINFO_ARCH_ARM_TEE 1
 
+/*
+ * libxl_domain_build_info has the arch_arm.viommu_type field.
+ */
+#define LIBXL_HAVE_BUILDINFO_ARM_VIOMMU 1
+
 /*
  * LIBXL_HAVE_SOFT_RESET indicates that libxl supports performing
  * 'soft reset' for domains and there is 'soft_reset' shutdown reason
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index cd84a7c66e..b8eff10a41 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -179,6 +179,19 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         return ERROR_FAIL;
     }
 
+    switch (d_config->b_info.arch_arm.viommu_type) {
+    case LIBXL_VIOMMU_TYPE_NONE:
+        config->arch.viommu_type = XEN_DOMCTL_CONFIG_VIOMMU_NONE;
+        break;
+    case LIBXL_VIOMMU_TYPE_SMMUV3:
+        config->arch.viommu_type = XEN_DOMCTL_CONFIG_VIOMMU_SMMUV3;
+        break;
+    default:
+        LOG(ERROR, "Unknown vIOMMU type %d",
+            d_config->b_info.arch_arm.viommu_type);
+        return ERROR_FAIL;
+    }
+
     return 0;
 }
 
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 9e3d33cb5a..06ee5ac6ba 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -492,6 +492,11 @@ libxl_tee_type = Enumeration("tee_type", [
     (1, "optee")
     ], init_val = "LIBXL_TEE_TYPE_NONE")
 
+libxl_viommu_type = Enumeration("viommu_type", [
+    (0, "none"),
+    (1, "smmuv3")
+    ], init_val = "LIBXL_VIOMMU_TYPE_NONE")
+
 libxl_rdm_reserve = Struct("rdm_reserve", [
     ("strategy",    libxl_rdm_reserve_strategy),
     ("policy",      libxl_rdm_reserve_policy),
@@ -658,6 +663,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
 
     ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
                                ("vuart", libxl_vuart_type),
+                               ("viommu_type", libxl_viommu_type),
                               ])),
     ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
                               ])),
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 644ab8f8fd..ef6d8bb3f7 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -2751,6 +2751,15 @@ skip_usbdev:
         }
     }
 
+    if (!xlu_cfg_get_string (config, "viommu", &buf, 1)) {
+        e = libxl_viommu_type_from_string(buf, &b_info->arch_arm.viommu_type);
+        if (e) {
+            fprintf(stderr,
+                    "Unknown vIOMMU type \"%s\" specified\n", buf);
+            exit(-ERROR_FAIL);
+        }
+    }
+
     parse_vkb_list(config, d_config);
 
     xlu_cfg_get_defbool(config, "xend_suspend_evtchn_compat",
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:08:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:08:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450949.708495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m6p-0004U8-VF; Thu, 01 Dec 2022 16:08:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450949.708495; Thu, 01 Dec 2022 16:08:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m6p-0004U1-SS; Thu, 01 Dec 2022 16:08:23 +0000
Received: by outflank-mailman (input) for mailman id 450949;
 Thu, 01 Dec 2022 16:08:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0m6p-0004Tp-6I
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:08:23 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 607465c4-7192-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:08:21 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BEFD6ED1;
 Thu,  1 Dec 2022 08:08:27 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E56093F73B;
 Thu,  1 Dec 2022 08:08:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 607465c4-7192-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 07/21] xen/arm: vIOMMU: Add cmdline boot option "viommu = <boolean>"
Date: Thu,  1 Dec 2022 16:02:31 +0000
Message-Id: <11ad0192b1dfe5f90bc980a09894eb6ff7c5ba1f.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add cmdline boot option "viommu = <boolean>" to enable or disable the
virtual iommu support for guests on ARM.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 docs/misc/xen-command-line.pandoc      |  7 +++++++
 xen/arch/arm/include/asm/viommu.h      | 11 +++++++++++
 xen/drivers/passthrough/arm/viommu.c   |  9 +++++++++
 xen/drivers/passthrough/arm/vsmmu-v3.c |  3 +++
 4 files changed, 30 insertions(+)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 424b12cfb2..14a104f2b9 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1896,6 +1896,13 @@ This option can be specified more than once (up to 8 times at present).
 
 Flag to enable or disable support for PCI passthrough
 
+### viommu (arm)
+> `= <boolean>`
+
+> Default: `false`
+
+Flag to enable or disable support for Virtual IOMMU for guests.
+
 ### pcid (x86)
 > `= <boolean> | xpti=<bool>`
 
diff --git a/xen/arch/arm/include/asm/viommu.h b/xen/arch/arm/include/asm/viommu.h
index 4785877e2a..4de4cceeda 100644
--- a/xen/arch/arm/include/asm/viommu.h
+++ b/xen/arch/arm/include/asm/viommu.h
@@ -10,6 +10,7 @@
 #include <public/xen.h>
 
 extern struct list_head host_iommu_list;
+extern bool viommu_enabled;
 
 /* data structure for each hardware IOMMU */
 struct host_iommu {
@@ -50,6 +51,11 @@ uint16_t viommu_get_type(void);
 void add_to_host_iommu_list(paddr_t addr, paddr_t size,
                             const struct dt_device_node *node);
 
+static always_inline bool is_viommu_enabled(void)
+{
+    return viommu_enabled;
+}
+
 #else
 
 static inline uint8_t viommu_get_type(void)
@@ -76,6 +82,11 @@ static inline void add_to_host_iommu_list(paddr_t addr, paddr_t size,
     return;
 }
 
+static always_inline bool is_viommu_enabled(void)
+{
+    return false;
+}
+
 #endif /* CONFIG_VIRTUAL_IOMMU */
 
 #endif /* __ARCH_ARM_VIOMMU_H__ */
diff --git a/xen/drivers/passthrough/arm/viommu.c b/xen/drivers/passthrough/arm/viommu.c
index 53ae46349a..a1d6a04ba9 100644
--- a/xen/drivers/passthrough/arm/viommu.c
+++ b/xen/drivers/passthrough/arm/viommu.c
@@ -3,6 +3,7 @@
 #include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/irq.h>
+#include <xen/param.h>
 #include <xen/types.h>
 
 #include <asm/viommu.h>
@@ -38,8 +39,16 @@ void add_to_host_iommu_list(paddr_t addr, paddr_t size,
     list_add_tail(&iommu_data->entry, &host_iommu_list);
 }
 
+/* By default viommu is disabled. */
+bool __read_mostly viommu_enabled;
+boolean_param("viommu", viommu_enabled);
+
 int domain_viommu_init(struct domain *d, uint16_t viommu_type)
 {
+    /* Enable viommu when it has been enabled explicitly (viommu=on). */
+    if ( !viommu_enabled )
+        return 0;
+
     if ( viommu_type == XEN_DOMCTL_CONFIG_VIOMMU_NONE )
         return 0;
 
diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.c b/xen/drivers/passthrough/arm/vsmmu-v3.c
index 6b4009e5ef..e36f200ba5 100644
--- a/xen/drivers/passthrough/arm/vsmmu-v3.c
+++ b/xen/drivers/passthrough/arm/vsmmu-v3.c
@@ -105,6 +105,9 @@ void __init vsmmuv3_set_type(void)
 {
     const struct viommu_desc *desc = &vsmmuv3_desc;
 
+    if ( !is_viommu_enabled() )
+        return;
+
     if ( cur_viommu && (cur_viommu != desc) )
     {
         printk("WARNING: Cannot set vIOMMU, already set to a different value\n");
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:09:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:09:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450956.708506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m7V-00051I-79; Thu, 01 Dec 2022 16:09:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450956.708506; Thu, 01 Dec 2022 16:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m7V-00051B-4C; Thu, 01 Dec 2022 16:09:05 +0000
Received: by outflank-mailman (input) for mailman id 450956;
 Thu, 01 Dec 2022 16:09:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0m7U-0004Tp-81
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:09:04 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 78fbfb44-7192-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:09:03 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 157F0ED1;
 Thu,  1 Dec 2022 08:09:09 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A686B3F73B;
 Thu,  1 Dec 2022 08:09:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78fbfb44-7192-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 08/21] xen/arm: vsmmuv3: Add support for registers emulation
Date: Thu,  1 Dec 2022 16:02:32 +0000
Message-Id: <89018b50b5b0c2c4a406c5a8779b7fd33d59d1e4.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add initial support for various emulated registers for virtual SMMUv3
for guests and also add support for virtual cmdq and eventq.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/vsmmu-v3.c | 281 +++++++++++++++++++++++++
 1 file changed, 281 insertions(+)

diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.c b/xen/drivers/passthrough/arm/vsmmu-v3.c
index e36f200ba5..c3f99657e6 100644
--- a/xen/drivers/passthrough/arm/vsmmu-v3.c
+++ b/xen/drivers/passthrough/arm/vsmmu-v3.c
@@ -3,25 +3,302 @@
 #include <xen/param.h>
 #include <xen/sched.h>
 #include <asm/mmio.h>
+#include <asm/vgic-emul.h>
 #include <asm/viommu.h>
+#include <asm/vreg.h>
+
+#include "smmu-v3.h"
+
+/* Register Definition */
+#define ARM_SMMU_IDR2       0x8
+#define ARM_SMMU_IDR3       0xc
+#define ARM_SMMU_IDR4       0x10
+#define IDR0_TERM_MODEL     (1 << 26)
+#define IDR3_RIL            (1 << 10)
+#define CR0_RESERVED        0xFFFFFC20
+#define SMMU_IDR1_SIDSIZE   16
+#define SMMU_CMDQS          19
+#define SMMU_EVTQS          19
+#define DWORDS_BYTES        8
 
 /* Struct to hold the vIOMMU ops and vIOMMU type */
 extern const struct viommu_desc __read_mostly *cur_viommu;
 
+/* virtual smmu queue */
+struct arm_vsmmu_queue {
+    uint64_t    q_base; /* base register */
+    uint32_t    prod;
+    uint32_t    cons;
+    uint8_t     ent_size;
+    uint8_t     max_n_shift;
+};
+
 struct virt_smmu {
     struct      domain *d;
     struct      list_head viommu_list;
+    uint8_t     sid_split;
+    uint32_t    features;
+    uint32_t    cr[3];
+    uint32_t    cr0ack;
+    uint32_t    gerror;
+    uint32_t    gerrorn;
+    uint32_t    strtab_base_cfg;
+    uint64_t    strtab_base;
+    uint32_t    irq_ctrl;
+    uint64_t    gerror_irq_cfg0;
+    uint64_t    evtq_irq_cfg0;
+    struct      arm_vsmmu_queue evtq, cmdq;
 };
 
 static int vsmmuv3_mmio_write(struct vcpu *v, mmio_info_t *info,
                               register_t r, void *priv)
 {
+    struct virt_smmu *smmu = priv;
+    uint64_t reg;
+    uint32_t reg32;
+
+    switch ( info->gpa & 0xffff )
+    {
+    case VREG32(ARM_SMMU_CR0):
+        reg32 = smmu->cr[0];
+        vreg_reg32_update(&reg32, r, info);
+        smmu->cr[0] = reg32;
+        smmu->cr0ack = reg32 & ~CR0_RESERVED;
+        break;
+
+    case VREG32(ARM_SMMU_CR1):
+        reg32 = smmu->cr[1];
+        vreg_reg32_update(&reg32, r, info);
+        smmu->cr[1] = reg32;
+        break;
+
+    case VREG32(ARM_SMMU_CR2):
+        reg32 = smmu->cr[2];
+        vreg_reg32_update(&reg32, r, info);
+        smmu->cr[2] = reg32;
+        break;
+
+    case VREG64(ARM_SMMU_STRTAB_BASE):
+        reg = smmu->strtab_base;
+        vreg_reg64_update(&reg, r, info);
+        smmu->strtab_base = reg;
+        break;
+
+    case VREG32(ARM_SMMU_STRTAB_BASE_CFG):
+        reg32 = smmu->strtab_base_cfg;
+        vreg_reg32_update(&reg32, r, info);
+        smmu->strtab_base_cfg = reg32;
+
+        smmu->sid_split = FIELD_GET(STRTAB_BASE_CFG_SPLIT, reg32);
+        smmu->features |= STRTAB_BASE_CFG_FMT_2LVL;
+        break;
+
+    case VREG32(ARM_SMMU_CMDQ_BASE):
+        reg = smmu->cmdq.q_base;
+        vreg_reg64_update(&reg, r, info);
+        smmu->cmdq.q_base = reg;
+        smmu->cmdq.max_n_shift = FIELD_GET(Q_BASE_LOG2SIZE, smmu->cmdq.q_base);
+        if ( smmu->cmdq.max_n_shift > SMMU_CMDQS )
+            smmu->cmdq.max_n_shift = SMMU_CMDQS;
+        break;
+
+    case VREG32(ARM_SMMU_CMDQ_PROD):
+        reg32 = smmu->cmdq.prod;
+        vreg_reg32_update(&reg32, r, info);
+        smmu->cmdq.prod = reg32;
+        break;
+
+    case VREG32(ARM_SMMU_CMDQ_CONS):
+        reg32 = smmu->cmdq.cons;
+        vreg_reg32_update(&reg32, r, info);
+        smmu->cmdq.cons = reg32;
+        break;
+
+    case VREG32(ARM_SMMU_EVTQ_BASE):
+        reg = smmu->evtq.q_base;
+        vreg_reg64_update(&reg, r, info);
+        smmu->evtq.q_base = reg;
+        smmu->evtq.max_n_shift = FIELD_GET(Q_BASE_LOG2SIZE, smmu->evtq.q_base);
+        if ( smmu->cmdq.max_n_shift > SMMU_EVTQS )
+            smmu->cmdq.max_n_shift = SMMU_EVTQS;
+        break;
+
+    case VREG32(ARM_SMMU_EVTQ_PROD):
+        reg32 = smmu->evtq.prod;
+        vreg_reg32_update(&reg32, r, info);
+        smmu->evtq.prod = reg32;
+        break;
+
+    case VREG32(ARM_SMMU_EVTQ_CONS):
+        reg32 = smmu->evtq.cons;
+        vreg_reg32_update(&reg32, r, info);
+        smmu->evtq.cons = reg32;
+        break;
+
+    case VREG32(ARM_SMMU_IRQ_CTRL):
+        reg32 = smmu->irq_ctrl;
+        vreg_reg32_update(&reg32, r, info);
+        smmu->irq_ctrl = reg32;
+        break;
+
+    case VREG64(ARM_SMMU_GERROR_IRQ_CFG0):
+        reg = smmu->gerror_irq_cfg0;
+        vreg_reg64_update(&reg, r, info);
+        smmu->gerror_irq_cfg0 = reg;
+        break;
+
+    case VREG64(ARM_SMMU_EVTQ_IRQ_CFG0):
+        reg = smmu->evtq_irq_cfg0;
+        vreg_reg64_update(&reg, r, info);
+        smmu->evtq_irq_cfg0 = reg;
+        break;
+
+    case VREG32(ARM_SMMU_GERRORN):
+        reg = smmu->gerrorn;
+        vreg_reg64_update(&reg, r, info);
+        smmu->gerrorn = reg;
+        break;
+
+    default:
+        printk(XENLOG_G_ERR
+               "%pv: vSMMUv3: unhandled write r%d offset %"PRIpaddr"\n",
+               v, info->dabt.reg, (unsigned long)info->gpa & 0xffff);
+        return IO_ABORT;
+    }
+
     return IO_HANDLED;
 }
 
 static int vsmmuv3_mmio_read(struct vcpu *v, mmio_info_t *info,
                              register_t *r, void *priv)
 {
+    struct virt_smmu *smmu = priv;
+    uint64_t reg;
+
+    switch ( info->gpa & 0xffff )
+    {
+    case VREG32(ARM_SMMU_IDR0):
+        reg  = FIELD_PREP(IDR0_S1P, 1) | FIELD_PREP(IDR0_TTF, 2) |
+            FIELD_PREP(IDR0_COHACC, 0) | FIELD_PREP(IDR0_ASID16, 1) |
+            FIELD_PREP(IDR0_TTENDIAN, 0) | FIELD_PREP(IDR0_STALL_MODEL, 1) |
+            FIELD_PREP(IDR0_ST_LVL, 1) | FIELD_PREP(IDR0_TERM_MODEL, 1);
+        *r = vreg_reg32_extract(reg, info);
+        break;
+
+    case VREG32(ARM_SMMU_IDR1):
+        reg  = FIELD_PREP(IDR1_SIDSIZE, SMMU_IDR1_SIDSIZE) |
+            FIELD_PREP(IDR1_CMDQS, SMMU_CMDQS) |
+            FIELD_PREP(IDR1_EVTQS, SMMU_EVTQS);
+        *r = vreg_reg32_extract(reg, info);
+        break;
+
+    case VREG32(ARM_SMMU_IDR2):
+        goto read_reserved;
+
+    case VREG32(ARM_SMMU_IDR3):
+        reg  = FIELD_PREP(IDR3_RIL, 0);
+        *r = vreg_reg32_extract(reg, info);
+        break;
+
+    case VREG32(ARM_SMMU_IDR4):
+        goto read_impl_defined;
+
+    case VREG32(ARM_SMMU_IDR5):
+        reg  = FIELD_PREP(IDR5_GRAN4K, 1) | FIELD_PREP(IDR5_GRAN16K, 1) |
+            FIELD_PREP(IDR5_GRAN64K, 1) | FIELD_PREP(IDR5_OAS, IDR5_OAS_48_BIT);
+        *r = vreg_reg32_extract(reg, info);
+        break;
+
+    case VREG32(ARM_SMMU_CR0):
+        *r = vreg_reg32_extract(smmu->cr[0], info);
+        break;
+
+    case VREG32(ARM_SMMU_CR0ACK):
+        *r = vreg_reg32_extract(smmu->cr0ack, info);
+        break;
+
+    case VREG32(ARM_SMMU_CR1):
+        *r = vreg_reg32_extract(smmu->cr[1], info);
+        break;
+
+    case VREG32(ARM_SMMU_CR2):
+        *r = vreg_reg32_extract(smmu->cr[2], info);
+        break;
+
+    case VREG32(ARM_SMMU_STRTAB_BASE):
+        *r = vreg_reg64_extract(smmu->strtab_base, info);
+        break;
+
+    case VREG32(ARM_SMMU_STRTAB_BASE_CFG):
+        *r = vreg_reg32_extract(smmu->strtab_base_cfg, info);
+        break;
+
+    case VREG32(ARM_SMMU_CMDQ_BASE):
+        *r = vreg_reg64_extract(smmu->cmdq.q_base, info);
+        break;
+
+    case VREG32(ARM_SMMU_CMDQ_PROD):
+        *r = vreg_reg32_extract(smmu->cmdq.prod, info);
+        break;
+
+    case VREG32(ARM_SMMU_CMDQ_CONS):
+        *r = vreg_reg32_extract(smmu->cmdq.cons, info);
+        break;
+
+    case VREG32(ARM_SMMU_EVTQ_BASE):
+        *r = vreg_reg64_extract(smmu->evtq.q_base, info);
+        break;
+
+    case VREG32(ARM_SMMU_EVTQ_PROD):
+        *r = vreg_reg32_extract(smmu->evtq.prod, info);
+        break;
+
+    case VREG32(ARM_SMMU_EVTQ_CONS):
+        *r = vreg_reg32_extract(smmu->evtq.cons, info);
+        break;
+
+    case VREG32(ARM_SMMU_IRQ_CTRL):
+    case VREG32(ARM_SMMU_IRQ_CTRLACK):
+        *r = vreg_reg32_extract(smmu->irq_ctrl, info);
+        break;
+
+    case VREG64(ARM_SMMU_GERROR_IRQ_CFG0):
+        *r = vreg_reg64_extract(smmu->gerror_irq_cfg0, info);
+        break;
+
+    case VREG64(ARM_SMMU_EVTQ_IRQ_CFG0):
+        *r = vreg_reg64_extract(smmu->evtq_irq_cfg0, info);
+        break;
+
+    case VREG32(ARM_SMMU_GERROR):
+        *r = vreg_reg64_extract(smmu->gerror, info);
+        break;
+
+    case VREG32(ARM_SMMU_GERRORN):
+        *r = vreg_reg64_extract(smmu->gerrorn, info);
+        break;
+
+    default:
+        printk(XENLOG_G_ERR
+               "%pv: vSMMUv3: unhandled read r%d offset %"PRIpaddr"\n",
+               v, info->dabt.reg, (unsigned long)info->gpa & 0xffff);
+        return IO_ABORT;
+    }
+
+    return IO_HANDLED;
+
+ read_impl_defined:
+    printk(XENLOG_G_DEBUG
+           "%pv: vSMMUv3: RAZ on implementation defined register offset %"PRIpaddr"\n",
+           v, info->gpa & 0xffff);
+    *r = 0;
+    return IO_HANDLED;
+
+ read_reserved:
+    printk(XENLOG_G_DEBUG
+           "%pv: vSMMUv3: RAZ on reserved register offset %"PRIpaddr"\n",
+           v, info->gpa & 0xffff);
+    *r = 0;
     return IO_HANDLED;
 }
 
@@ -39,6 +316,10 @@ static int vsmmuv3_init_single(struct domain *d, paddr_t addr, paddr_t size)
         return -ENOMEM;
 
     smmu->d = d;
+    smmu->cmdq.q_base = FIELD_PREP(Q_BASE_LOG2SIZE, SMMU_CMDQS);
+    smmu->cmdq.ent_size = CMDQ_ENT_DWORDS * DWORDS_BYTES;
+    smmu->evtq.q_base = FIELD_PREP(Q_BASE_LOG2SIZE, SMMU_EVTQS);
+    smmu->evtq.ent_size = EVTQ_ENT_DWORDS * DWORDS_BYTES;
 
     register_mmio_handler(d, &vsmmuv3_mmio_handler, addr, size, smmu);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:09:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:09:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450966.708516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m8A-0005fb-J9; Thu, 01 Dec 2022 16:09:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450966.708516; Thu, 01 Dec 2022 16:09:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m8A-0005fU-Fz; Thu, 01 Dec 2022 16:09:46 +0000
Received: by outflank-mailman (input) for mailman id 450966;
 Thu, 01 Dec 2022 16:09:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0m88-0005Wl-ID
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:09:44 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 912c8996-7192-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 17:09:43 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id A5B3DED1;
 Thu,  1 Dec 2022 08:09:49 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 433683F73B;
 Thu,  1 Dec 2022 08:09:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 912c8996-7192-11ed-8fd2-01056ac49cbb
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 09/21] xen/arm: vsmmuv3: Add support for cmdqueue handling
Date: Thu,  1 Dec 2022 16:02:33 +0000
Message-Id: <6976a8484515fe02e9c2bd65cfb6a93632a228eb.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for virtual cmdqueue handling for guests

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/vsmmu-v3.c | 101 +++++++++++++++++++++++++
 1 file changed, 101 insertions(+)

diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.c b/xen/drivers/passthrough/arm/vsmmu-v3.c
index c3f99657e6..cc651a2dc8 100644
--- a/xen/drivers/passthrough/arm/vsmmu-v3.c
+++ b/xen/drivers/passthrough/arm/vsmmu-v3.c
@@ -1,5 +1,6 @@
 /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
 
+#include <xen/guest_access.h>
 #include <xen/param.h>
 #include <xen/sched.h>
 #include <asm/mmio.h>
@@ -24,6 +25,26 @@
 /* Struct to hold the vIOMMU ops and vIOMMU type */
 extern const struct viommu_desc __read_mostly *cur_viommu;
 
+/* SMMUv3 command definitions */
+#define CMDQ_OP_PREFETCH_CFG    0x1
+#define CMDQ_OP_CFGI_STE        0x3
+#define CMDQ_OP_CFGI_ALL        0x4
+#define CMDQ_OP_CFGI_CD         0x5
+#define CMDQ_OP_CFGI_CD_ALL     0x6
+#define CMDQ_OP_TLBI_NH_ASID    0x11
+#define CMDQ_OP_TLBI_NH_VA      0x12
+#define CMDQ_OP_TLBI_NSNH_ALL   0x30
+#define CMDQ_OP_CMD_SYNC        0x46
+
+/* Queue Handling */
+#define Q_BASE(q)       ((q)->q_base & Q_BASE_ADDR_MASK)
+#define Q_CONS_ENT(q)   (Q_BASE(q) + Q_IDX(q, (q)->cons) * (q)->ent_size)
+#define Q_PROD_ENT(q)   (Q_BASE(q) + Q_IDX(q, (q)->prod) * (q)->ent_size)
+
+/* Helper Macros */
+#define smmu_get_cmdq_enabled(x)    FIELD_GET(CR0_CMDQEN, x)
+#define smmu_cmd_get_command(x)     FIELD_GET(CMDQ_0_OP, x)
+
 /* virtual smmu queue */
 struct arm_vsmmu_queue {
     uint64_t    q_base; /* base register */
@@ -48,8 +69,80 @@ struct virt_smmu {
     uint64_t    gerror_irq_cfg0;
     uint64_t    evtq_irq_cfg0;
     struct      arm_vsmmu_queue evtq, cmdq;
+    spinlock_t  cmd_queue_lock;
 };
 
+/* Queue manipulation functions */
+static bool queue_empty(struct arm_vsmmu_queue *q)
+{
+    return Q_IDX(q, q->prod) == Q_IDX(q, q->cons) &&
+           Q_WRP(q, q->prod) == Q_WRP(q, q->cons);
+}
+
+static void queue_inc_cons(struct arm_vsmmu_queue *q)
+{
+    uint32_t cons = (Q_WRP(q, q->cons) | Q_IDX(q, q->cons)) + 1;
+    q->cons = Q_OVF(q->cons) | Q_WRP(q, cons) | Q_IDX(q, cons);
+}
+
+static void dump_smmu_command(uint64_t *command)
+{
+    gdprintk(XENLOG_ERR, "cmd 0x%02llx: %016lx %016lx\n",
+             smmu_cmd_get_command(command[0]), command[0], command[1]);
+}
+static int arm_vsmmu_handle_cmds(struct virt_smmu *smmu)
+{
+    struct arm_vsmmu_queue *q = &smmu->cmdq;
+    struct domain *d = smmu->d;
+    uint64_t command[CMDQ_ENT_DWORDS];
+    paddr_t addr;
+
+    if ( !smmu_get_cmdq_enabled(smmu->cr[0]) )
+        return 0;
+
+    while ( !queue_empty(q) )
+    {
+        int ret;
+
+        addr = Q_CONS_ENT(q);
+        ret = access_guest_memory_by_ipa(d, addr, command,
+                                         sizeof(command), false);
+        if ( ret )
+            return ret;
+
+        switch ( smmu_cmd_get_command(command[0]) )
+        {
+        case CMDQ_OP_CFGI_STE:
+            break;
+        case CMDQ_OP_PREFETCH_CFG:
+        case CMDQ_OP_CFGI_CD:
+        case CMDQ_OP_CFGI_CD_ALL:
+        case CMDQ_OP_CFGI_ALL:
+        case CMDQ_OP_CMD_SYNC:
+            break;
+        case CMDQ_OP_TLBI_NH_ASID:
+        case CMDQ_OP_TLBI_NSNH_ALL:
+        case CMDQ_OP_TLBI_NH_VA:
+            if ( !iommu_iotlb_flush_all(smmu->d, 1) )
+                break;
+        default:
+            gdprintk(XENLOG_ERR, "vSMMUv3: unhandled command\n");
+            dump_smmu_command(command);
+            break;
+        }
+
+        if ( ret )
+        {
+            gdprintk(XENLOG_ERR,
+                     "vSMMUv3: command error %d while handling command\n",
+                     ret);
+            dump_smmu_command(command);
+        }
+        queue_inc_cons(q);
+    }
+    return 0;
+}
+
 static int vsmmuv3_mmio_write(struct vcpu *v, mmio_info_t *info,
                               register_t r, void *priv)
 {
@@ -103,9 +196,15 @@ static int vsmmuv3_mmio_write(struct vcpu *v, mmio_info_t *info,
         break;
 
     case VREG32(ARM_SMMU_CMDQ_PROD):
+        spin_lock(&smmu->cmd_queue_lock);
         reg32 = smmu->cmdq.prod;
         vreg_reg32_update(&reg32, r, info);
         smmu->cmdq.prod = reg32;
+
+        if ( arm_vsmmu_handle_cmds(smmu) )
+            gdprintk(XENLOG_ERR, "error handling vSMMUv3 commands\n");
+
+        spin_unlock(&smmu->cmd_queue_lock);
         break;
 
     case VREG32(ARM_SMMU_CMDQ_CONS):
@@ -321,6 +420,8 @@ static int vsmmuv3_init_single(struct domain *d, paddr_t addr, paddr_t size)
     smmu->evtq.q_base = FIELD_PREP(Q_BASE_LOG2SIZE, SMMU_EVTQS);
     smmu->evtq.ent_size = EVTQ_ENT_DWORDS * DWORDS_BYTES;
 
+    spin_lock_init(&smmu->cmd_queue_lock);
+
     register_mmio_handler(d, &vsmmuv3_mmio_handler, addr, size, smmu);
 
     /* Register the vIOMMU to be able to clean it up later. */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:11:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:11:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450973.708527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m9Q-00076O-Sz; Thu, 01 Dec 2022 16:11:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450973.708527; Thu, 01 Dec 2022 16:11:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m9Q-00076H-Pv; Thu, 01 Dec 2022 16:11:04 +0000
Received: by outflank-mailman (input) for mailman id 450973;
 Thu, 01 Dec 2022 16:11:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0m9O-00075z-Vj
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:11:02 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id bfb615b2-7192-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:11:01 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id AC905ED1;
 Thu,  1 Dec 2022 08:11:07 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 49E053F73B;
 Thu,  1 Dec 2022 08:11:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfb615b2-7192-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 10/21] xen/arm: vsmmuv3: Add support for command CMD_CFGI_STE
Date: Thu,  1 Dec 2022 16:02:34 +0000
Message-Id: <d08de970e285221cb9a2e4dd0dfd4bf07bfdbba2.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

CMD_CFGI_STE is used to invalidate/validate the STE. Emulated vSMMUv3
driver in XEN will read the STE from the guest memory space and capture
the Stage-1 configuration required to support nested translation.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/vsmmu-v3.c | 148 +++++++++++++++++++++++++
 1 file changed, 148 insertions(+)

diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.c b/xen/drivers/passthrough/arm/vsmmu-v3.c
index cc651a2dc8..916b97b8a2 100644
--- a/xen/drivers/passthrough/arm/vsmmu-v3.c
+++ b/xen/drivers/passthrough/arm/vsmmu-v3.c
@@ -44,6 +44,21 @@ extern const struct viommu_desc __read_mostly *cur_viommu;
 /* Helper Macros */
 #define smmu_get_cmdq_enabled(x)    FIELD_GET(CR0_CMDQEN, x)
 #define smmu_cmd_get_command(x)     FIELD_GET(CMDQ_0_OP, x)
+#define smmu_cmd_get_sid(x)         FIELD_GET(CMDQ_PREFETCH_0_SID, x)
+#define smmu_get_ste_s1cdmax(x)     FIELD_GET(STRTAB_STE_0_S1CDMAX, x)
+#define smmu_get_ste_s1fmt(x)       FIELD_GET(STRTAB_STE_0_S1FMT, x)
+#define smmu_get_ste_s1stalld(x)    FIELD_GET(STRTAB_STE_1_S1STALLD, x)
+#define smmu_get_ste_s1ctxptr(x)    FIELD_PREP(STRTAB_STE_0_S1CTXPTR_MASK, \
+                                    FIELD_GET(STRTAB_STE_0_S1CTXPTR_MASK, x))
+
+/* stage-1 translation configuration */
+struct arm_vsmmu_s1_trans_cfg {
+    paddr_t s1ctxptr;
+    uint8_t s1fmt;
+    uint8_t s1cdmax;
+    bool    bypassed;             /* translation is bypassed */
+    bool    aborted;              /* translation is aborted */
+};
 
 /* virtual smmu queue */
 struct arm_vsmmu_queue {
@@ -90,6 +105,138 @@ static void dump_smmu_command(uint64_t *command)
     gdprintk(XENLOG_ERR, "cmd 0x%02llx: %016lx %016lx\n",
              smmu_cmd_get_command(command[0]), command[0], command[1]);
 }
+static int arm_vsmmu_find_ste(struct virt_smmu *smmu, uint32_t sid,
+                              uint64_t *ste)
+{
+    paddr_t addr, strtab_base;
+    struct domain *d = smmu->d;
+    uint32_t log2size;
+    int strtab_size_shift;
+    int ret;
+
+    log2size = FIELD_GET(STRTAB_BASE_CFG_LOG2SIZE, smmu->strtab_base_cfg);
+
+    if ( sid >= (1 << MIN(log2size, SMMU_IDR1_SIDSIZE)) )
+        return -EINVAL;
+
+    if ( smmu->features & STRTAB_BASE_CFG_FMT_2LVL )
+    {
+        int idx, max_l2_ste, span;
+        paddr_t l1ptr, l2ptr;
+        uint64_t l1std;
+
+        strtab_size_shift = MAX(5, (int)log2size - smmu->sid_split - 1 + 3);
+        strtab_base = smmu->strtab_base & STRTAB_BASE_ADDR_MASK &
+                        ~GENMASK_ULL(strtab_size_shift, 0);
+        idx = (sid >> STRTAB_SPLIT) * STRTAB_L1_DESC_DWORDS;
+        l1ptr = (paddr_t)(strtab_base + idx * sizeof(l1std));
+
+        ret = access_guest_memory_by_ipa(d, l1ptr, &l1std,
+                                         sizeof(l1std), false);
+        if ( ret )
+        {
+            gdprintk(XENLOG_ERR,
+                     "Could not read L1PTR at 0X%"PRIx64"\n", l1ptr);
+            return ret;
+        }
+
+        span = FIELD_GET(STRTAB_L1_DESC_SPAN, l1std);
+        if ( !span )
+        {
+            gdprintk(XENLOG_ERR, "Bad StreamID span\n");
+            return -EINVAL;
+        }
+
+        max_l2_ste = (1 << span) - 1;
+        l2ptr = FIELD_PREP(STRTAB_L1_DESC_L2PTR_MASK,
+                    FIELD_GET(STRTAB_L1_DESC_L2PTR_MASK, l1std));
+        idx = sid & ((1 << smmu->sid_split) - 1);
+        if ( idx > max_l2_ste )
+        {
+            gdprintk(XENLOG_ERR, "idx=%d > max_l2_ste=%d\n",
+                     idx, max_l2_ste);
+            return -EINVAL;
+        }
+        addr = l2ptr + idx * sizeof(*ste) * STRTAB_STE_DWORDS;
+    }
+    else
+    {
+        strtab_size_shift = log2size + 5;
+        strtab_base = smmu->strtab_base & STRTAB_BASE_ADDR_MASK &
+                      ~GENMASK_ULL(strtab_size_shift, 0);
+        addr = strtab_base + sid * sizeof(*ste) * STRTAB_STE_DWORDS;
+    }
+    ret = access_guest_memory_by_ipa(d, addr, ste, sizeof(*ste), false);
+    if ( ret )
+    {
+        gdprintk(XENLOG_ERR,
+                "Cannot fetch pte at address=0x%"PRIx64"\n", addr);
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static int arm_vsmmu_decode_ste(struct virt_smmu *smmu, uint32_t sid,
+                                struct arm_vsmmu_s1_trans_cfg *cfg,
+                                uint64_t *ste)
+{
+    uint64_t val = ste[0];
+
+    if ( !(val & STRTAB_STE_0_V) )
+        return -EAGAIN;
+
+    switch ( FIELD_GET(STRTAB_STE_0_CFG, val) )
+    {
+    case STRTAB_STE_0_CFG_BYPASS:
+        cfg->bypassed = true;
+        return 0;
+    case STRTAB_STE_0_CFG_ABORT:
+        cfg->aborted = true;
+        return 0;
+    case STRTAB_STE_0_CFG_S1_TRANS:
+        break;
+    case STRTAB_STE_0_CFG_S2_TRANS:
+        gdprintk(XENLOG_ERR, "vSMMUv3 does not support stage 2 yet\n");
+        goto bad_ste;
+    default:
+        BUG(); /* STE corruption */
+    }
+
+    cfg->s1ctxptr = smmu_get_ste_s1ctxptr(val);
+    cfg->s1fmt = smmu_get_ste_s1fmt(val);
+    cfg->s1cdmax = smmu_get_ste_s1cdmax(val);
+    if ( cfg->s1cdmax != 0 )
+    {
+        gdprintk(XENLOG_ERR,
+                 "vSMMUv3 does not support multiple context descriptors\n");
+        goto bad_ste;
+    }
+
+    return 0;
+
+bad_ste:
+    return -EINVAL;
+}
+
+static int arm_vsmmu_handle_cfgi_ste(struct virt_smmu *smmu, uint64_t *cmdptr)
+{
+    int ret;
+    uint64_t ste[STRTAB_STE_DWORDS];
+    struct arm_vsmmu_s1_trans_cfg s1_cfg = {0};
+    uint32_t sid = smmu_cmd_get_sid(cmdptr[0]);
+
+    ret = arm_vsmmu_find_ste(smmu, sid, ste);
+    if ( ret )
+        return ret;
+
+    ret = arm_vsmmu_decode_ste(smmu, sid, &s1_cfg, ste);
+    if ( ret )
+        return (ret == -EAGAIN ) ? 0 : ret;
+
+    return 0;
+}
+
 static int arm_vsmmu_handle_cmds(struct virt_smmu *smmu)
 {
     struct arm_vsmmu_queue *q = &smmu->cmdq;
@@ -113,6 +260,7 @@ static int arm_vsmmu_handle_cmds(struct virt_smmu *smmu)
         switch ( smmu_cmd_get_command(command[0]) )
         {
         case CMDQ_OP_CFGI_STE:
+            ret = arm_vsmmu_handle_cfgi_ste(smmu, command);
             break;
         case CMDQ_OP_PREFETCH_CFG:
         case CMDQ_OP_CFGI_CD:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:11:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:11:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450982.708539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m9w-0007v7-5w; Thu, 01 Dec 2022 16:11:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450982.708539; Thu, 01 Dec 2022 16:11:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0m9w-0007v0-1p; Thu, 01 Dec 2022 16:11:36 +0000
Received: by outflank-mailman (input) for mailman id 450982;
 Thu, 01 Dec 2022 16:11:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0m5A-0001G4-2n
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:06:40 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 22f967f6-7192-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 17:06:38 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9D00BED1;
 Thu,  1 Dec 2022 08:06:44 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DDA703F73B;
 Thu,  1 Dec 2022 08:06:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22f967f6-7192-11ed-8fd2-01056ac49cbb
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC PATCH 05/21] xen/arm: vsmmuv3: Add dummy support for virtual SMMUv3 for guests
Date: Thu,  1 Dec 2022 16:02:29 +0000
Message-Id: <6d25bcb543190d78c26db15a0f07e9af79349884.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

domain_viommu_init() will be called during domain creation and will add
the dummy trap handler for virtual IOMMUs for guests.

A host IOMMU list will be created when host IOMMU devices are probed
and this list will be used to create the IOMMU device tree node for
dom0. For dom0, 1-1 mapping will be established between vIOMMU in dom0
and physical IOMMU.

For domUs, the 1-N mapping will be established between domU and physical
IOMMUs. A new area has been reserved in the arm guest physical map at
which the emulated vIOMMU node is created in the device tree.

Also set the vIOMMU type to vSMMUv3 to enable vIOMMU framework to call
vSMMUv3 domain creation/destroy functions.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/domain.c                  |   3 +-
 xen/arch/arm/include/asm/domain.h      |   4 +
 xen/arch/arm/include/asm/viommu.h      |  20 ++++
 xen/drivers/passthrough/Kconfig        |   8 ++
 xen/drivers/passthrough/arm/Makefile   |   1 +
 xen/drivers/passthrough/arm/smmu-v3.c  |   7 ++
 xen/drivers/passthrough/arm/viommu.c   |  30 ++++++
 xen/drivers/passthrough/arm/vsmmu-v3.c | 124 +++++++++++++++++++++++++
 xen/drivers/passthrough/arm/vsmmu-v3.h |  20 ++++
 xen/include/public/arch-arm.h          |   7 +-
 10 files changed, 222 insertions(+), 2 deletions(-)
 create mode 100644 xen/drivers/passthrough/arm/vsmmu-v3.c
 create mode 100644 xen/drivers/passthrough/arm/vsmmu-v3.h

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 2a85209736..9a2b613500 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -692,7 +692,8 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
         return -EINVAL;
     }
 
-    if ( config->arch.viommu_type != XEN_DOMCTL_CONFIG_VIOMMU_NONE )
+    if ( config->arch.viommu_type != XEN_DOMCTL_CONFIG_VIOMMU_NONE &&
+         config->arch.viommu_type != viommu_get_type() )
     {
         dprintk(XENLOG_INFO,
                 "vIOMMU type requested not supported by the platform or Xen\n");
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 2ce6764322..8eb4eb5fd6 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -114,6 +114,10 @@ struct arch_domain
     void *tee;
 #endif
 
+#ifdef CONFIG_VIRTUAL_IOMMU
+    struct list_head viommu_list;     /* List of virtual IOMMUs */
+#endif
+
 }  __cacheline_aligned;
 
 struct arch_vcpu
diff --git a/xen/arch/arm/include/asm/viommu.h b/xen/arch/arm/include/asm/viommu.h
index 7cd3818a12..4785877e2a 100644
--- a/xen/arch/arm/include/asm/viommu.h
+++ b/xen/arch/arm/include/asm/viommu.h
@@ -5,9 +5,21 @@
 #ifdef CONFIG_VIRTUAL_IOMMU
 
 #include <xen/lib.h>
+#include <xen/list.h>
 #include <xen/types.h>
 #include <public/xen.h>
 
+extern struct list_head host_iommu_list;
+
+/* data structure for each hardware IOMMU */
+struct host_iommu {
+    struct list_head entry;
+    const struct dt_device_node *dt_node;
+    paddr_t addr;
+    paddr_t size;
+    uint32_t irq;
+};
+
 struct viommu_ops {
     /*
      * Called during domain construction if toolstack requests to enable
@@ -35,6 +47,8 @@ struct viommu_desc {
 int domain_viommu_init(struct domain *d, uint16_t viommu_type);
 int viommu_relinquish_resources(struct domain *d);
 uint16_t viommu_get_type(void);
+void add_to_host_iommu_list(paddr_t addr, paddr_t size,
+                            const struct dt_device_node *node);
 
 #else
 
@@ -56,6 +70,12 @@ static inline int viommu_relinquish_resources(struct domain *d)
     return 0;
 }
 
+static inline void add_to_host_iommu_list(paddr_t addr, paddr_t size,
+                                          const struct dt_device_node *node)
+{
+    return;
+}
+
 #endif /* CONFIG_VIRTUAL_IOMMU */
 
 #endif /* __ARCH_ARM_VIOMMU_H__ */
diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
index 19924fa2de..4c725f5f67 100644
--- a/xen/drivers/passthrough/Kconfig
+++ b/xen/drivers/passthrough/Kconfig
@@ -41,6 +41,14 @@ config VIRTUAL_IOMMU
 	help
 	 Support virtual IOMMU infrastructure to implement vIOMMU.
 
+config VIRTUAL_ARM_SMMU_V3
+	bool "ARM Ltd. Virtual SMMUv3 Support (UNSUPPORTED)" if UNSUPPORTED
+	depends on ARM_SMMU_V3 && VIRTUAL_IOMMU
+	help
+	 Support for implementations of the virtual ARM System MMU architecture
+	 version 3. Virtual SMMUv3 is unsupported feature and should not be used
+	 in production.
+
 endif
 
 config IOMMU_FORCE_PT_SHARE
diff --git a/xen/drivers/passthrough/arm/Makefile b/xen/drivers/passthrough/arm/Makefile
index 4cc54f3f4d..e758a9d6aa 100644
--- a/xen/drivers/passthrough/arm/Makefile
+++ b/xen/drivers/passthrough/arm/Makefile
@@ -3,3 +3,4 @@ obj-$(CONFIG_ARM_SMMU) += smmu.o
 obj-$(CONFIG_IPMMU_VMSA) += ipmmu-vmsa.o
 obj-$(CONFIG_ARM_SMMU_V3) += smmu-v3.o
 obj-$(CONFIG_VIRTUAL_IOMMU) += viommu.o
+obj-$(CONFIG_VIRTUAL_ARM_SMMU_V3) += vsmmu-v3.o
diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 9174d2dedd..4f96fdb92f 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -91,6 +91,7 @@
 #include <asm/platform.h>
 
 #include "smmu-v3.h"
+#include "vsmmu-v3.h"
 
 #define ARM_SMMU_VTCR_SH_IS		3
 #define ARM_SMMU_VTCR_RGN_WBWA		1
@@ -2680,6 +2681,9 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 	list_add(&smmu->devices, &arm_smmu_devices);
 	spin_unlock(&arm_smmu_devices_lock);
 
+    /* Add to host IOMMU list to initialize vIOMMU for dom0 */
+	add_to_host_iommu_list(ioaddr, iosize, dev_to_dt(pdev));
+
 	return 0;
 
 
@@ -2936,6 +2940,9 @@ static __init int arm_smmu_dt_init(struct dt_device_node *dev,
 
 	iommu_set_ops(&arm_smmu_iommu_ops);
 
+	/* Set vIOMMU type to SMMUv3 */
+	vsmmuv3_set_type();
+
 	return 0;
 }
 
diff --git a/xen/drivers/passthrough/arm/viommu.c b/xen/drivers/passthrough/arm/viommu.c
index 7ab6061e34..53ae46349a 100644
--- a/xen/drivers/passthrough/arm/viommu.c
+++ b/xen/drivers/passthrough/arm/viommu.c
@@ -2,12 +2,42 @@
 
 #include <xen/errno.h>
 #include <xen/init.h>
+#include <xen/irq.h>
 #include <xen/types.h>
 
 #include <asm/viommu.h>
 
+/* List of all host IOMMUs */
+LIST_HEAD(host_iommu_list);
+
 const struct viommu_desc __read_mostly *cur_viommu;
 
+/* Common function for adding to host_iommu_list */
+void add_to_host_iommu_list(paddr_t addr, paddr_t size,
+                            const struct dt_device_node *node)
+{
+    struct host_iommu *iommu_data;
+
+    iommu_data = xzalloc(struct host_iommu);
+    if ( !iommu_data )
+        panic("vIOMMU: Cannot allocate memory for host IOMMU data\n");
+
+    iommu_data->addr = addr;
+    iommu_data->size = size;
+    iommu_data->dt_node = node;
+    iommu_data->irq = platform_get_irq(node, 0);
+    if ( iommu_data->irq < 0 )
+    {
+        gdprintk(XENLOG_ERR,
+                 "vIOMMU: Cannot find a valid IOMMU irq\n");
+        return;
+    }
+
+    printk("vIOMMU: Found IOMMU @0x%"PRIx64"\n", addr);
+
+    list_add_tail(&iommu_data->entry, &host_iommu_list);
+}
+
 int domain_viommu_init(struct domain *d, uint16_t viommu_type)
 {
     if ( viommu_type == XEN_DOMCTL_CONFIG_VIOMMU_NONE )
diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.c b/xen/drivers/passthrough/arm/vsmmu-v3.c
new file mode 100644
index 0000000000..6b4009e5ef
--- /dev/null
+++ b/xen/drivers/passthrough/arm/vsmmu-v3.c
@@ -0,0 +1,124 @@
+/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
+
+#include <xen/param.h>
+#include <xen/sched.h>
+#include <asm/mmio.h>
+#include <asm/viommu.h>
+
+/* Struct to hold the vIOMMU ops and vIOMMU type */
+extern const struct viommu_desc __read_mostly *cur_viommu;
+
+struct virt_smmu {
+    struct      domain *d;
+    struct      list_head viommu_list;
+};
+
+static int vsmmuv3_mmio_write(struct vcpu *v, mmio_info_t *info,
+                              register_t r, void *priv)
+{
+    return IO_HANDLED;
+}
+
+static int vsmmuv3_mmio_read(struct vcpu *v, mmio_info_t *info,
+                             register_t *r, void *priv)
+{
+    return IO_HANDLED;
+}
+
+static const struct mmio_handler_ops vsmmuv3_mmio_handler = {
+    .read  = vsmmuv3_mmio_read,
+    .write = vsmmuv3_mmio_write,
+};
+
+static int vsmmuv3_init_single(struct domain *d, paddr_t addr, paddr_t size)
+{
+    struct virt_smmu *smmu;
+
+    smmu = xzalloc(struct virt_smmu);
+    if ( !smmu )
+        return -ENOMEM;
+
+    smmu->d = d;
+
+    register_mmio_handler(d, &vsmmuv3_mmio_handler, addr, size, smmu);
+
+    /* Register the vIOMMU to be able to clean it up later. */
+    list_add_tail(&smmu->viommu_list, &d->arch.viommu_list);
+
+    return 0;
+}
+
+int domain_vsmmuv3_init(struct domain *d)
+{
+    int ret;
+    INIT_LIST_HEAD(&d->arch.viommu_list);
+
+    if ( is_hardware_domain(d) )
+    {
+        struct host_iommu *hw_iommu;
+
+        list_for_each_entry(hw_iommu, &host_iommu_list, entry)
+        {
+            ret = vsmmuv3_init_single(d, hw_iommu->addr, hw_iommu->size);
+            if ( ret )
+                return ret;
+        }
+    }
+    else
+    {
+        ret = vsmmuv3_init_single(d, GUEST_VSMMUV3_BASE, GUEST_VSMMUV3_SIZE);
+        if ( ret )
+            return ret;
+    }
+
+    return 0;
+}
+
+int vsmmuv3_relinquish_resources(struct domain *d)
+{
+    struct virt_smmu *pos, *temp;
+
+    /* Cope with unitialized vIOMMU */
+    if ( list_head_is_null(&d->arch.viommu_list) )
+        return 0;
+
+    list_for_each_entry_safe(pos, temp, &d->arch.viommu_list, viommu_list )
+    {
+        list_del(&pos->viommu_list);
+        xfree(pos);
+    }
+
+    return 0;
+}
+
+static const struct viommu_ops vsmmuv3_ops = {
+    .domain_init = domain_vsmmuv3_init,
+    .relinquish_resources = vsmmuv3_relinquish_resources,
+};
+
+static const struct viommu_desc vsmmuv3_desc = {
+    .ops = &vsmmuv3_ops,
+    .viommu_type = XEN_DOMCTL_CONFIG_VIOMMU_SMMUV3,
+};
+
+void __init vsmmuv3_set_type(void)
+{
+    const struct viommu_desc *desc = &vsmmuv3_desc;
+
+    if ( cur_viommu && (cur_viommu != desc) )
+    {
+        printk("WARNING: Cannot set vIOMMU, already set to a different value\n");
+        return;
+    }
+
+    cur_viommu = desc;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.h b/xen/drivers/passthrough/arm/vsmmu-v3.h
new file mode 100644
index 0000000000..e11f85b431
--- /dev/null
+++ b/xen/drivers/passthrough/arm/vsmmu-v3.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
+#ifndef __ARCH_ARM_VSMMU_V3_H__
+#define __ARCH_ARM_VSMMU_V3_H__
+
+#include <asm/viommu.h>
+
+#ifdef CONFIG_VIRTUAL_ARM_SMMU_V3
+
+void vsmmuv3_set_type(void);
+
+#else
+
+static inline void vsmmuv3_set_type(void)
+{
+    return;
+}
+
+#endif /* CONFIG_VIRTUAL_ARM_SMMU_V3 */
+
+#endif /* __ARCH_ARM_VSMMU_V3_H__ */
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 33d32835e7..24b52fa017 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -297,7 +297,8 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
 #define XEN_DOMCTL_CONFIG_TEE_NONE      0
 #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
 
-#define XEN_DOMCTL_CONFIG_VIOMMU_NONE   0
+#define XEN_DOMCTL_CONFIG_VIOMMU_NONE       0
+#define XEN_DOMCTL_CONFIG_VIOMMU_SMMUV3     1
 
 struct xen_arch_domainconfig {
     /* IN/OUT */
@@ -418,6 +419,10 @@ typedef uint64_t xen_callback_t;
 #define GUEST_GICV3_GICR0_BASE     xen_mk_ullong(0x03020000) /* vCPU0..127 */
 #define GUEST_GICV3_GICR0_SIZE     xen_mk_ullong(0x01000000)
 
+/* vsmmuv3 ITS mappings */
+#define GUEST_VSMMUV3_BASE     xen_mk_ullong(0x04040000)
+#define GUEST_VSMMUV3_SIZE     xen_mk_ullong(0x00040000)
+
 /*
  * 256 MB is reserved for VPCI configuration space based on calculation
  * 256 buses x 32 devices x 8 functions x 4 KB = 256 MB
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:12:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:12:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450989.708549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mAn-0008VX-Dk; Thu, 01 Dec 2022 16:12:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450989.708549; Thu, 01 Dec 2022 16:12:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mAn-0008VN-B1; Thu, 01 Dec 2022 16:12:29 +0000
Received: by outflank-mailman (input) for mailman id 450989;
 Thu, 01 Dec 2022 16:12:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0mAm-00075z-A7
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:12:28 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id f2b7bad0-7192-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:12:27 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4304DD6E;
 Thu,  1 Dec 2022 08:12:33 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8469C3F73B;
 Thu,  1 Dec 2022 08:12:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2b7bad0-7192-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC PATCH 11/21] xen/arm: vsmmuv3: Attach Stage-1 configuration to SMMUv3 hardware
Date: Thu,  1 Dec 2022 16:02:35 +0000
Message-Id: <b0873a8cf229143544388a90334edd7c96bc78c4.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Attach the Stage-1 configuration to device STE to support nested
translation for the guests.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c  | 79 ++++++++++++++++++++++++++
 xen/drivers/passthrough/arm/smmu-v3.h  |  1 +
 xen/drivers/passthrough/arm/vsmmu-v3.c | 18 ++++++
 xen/include/xen/iommu.h                | 14 +++++
 4 files changed, 112 insertions(+)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 4f96fdb92f..c4b4a5d86d 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -2754,6 +2754,37 @@ static struct arm_smmu_device *arm_smmu_get_by_dev(struct device *dev)
 	return NULL;
 }
 
+static struct iommu_domain *arm_smmu_get_domain_by_sid(struct domain *d,
+				u32 sid)
+{
+	int i;
+	unsigned long flags;
+	struct iommu_domain *io_domain;
+	struct arm_smmu_domain *smmu_domain;
+	struct arm_smmu_master *master;
+	struct arm_smmu_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
+
+	/*
+	 * Loop through the &xen_domain->contexts to locate a context
+	 * assigned to this SMMU
+	 */
+	list_for_each_entry(io_domain, &xen_domain->contexts, list) {
+		smmu_domain = to_smmu_domain(io_domain);
+
+		spin_lock_irqsave(&smmu_domain->devices_lock, flags);
+		list_for_each_entry(master, &smmu_domain->devices, domain_head) {
+			for (i = 0; i < master->num_streams; i++) {
+				if (sid != master->streams[i].id)
+					continue;
+				spin_unlock_irqrestore(&smmu_domain->devices_lock, flags);
+				return io_domain;
+			}
+		}
+		spin_unlock_irqrestore(&smmu_domain->devices_lock, flags);
+	}
+	return NULL;
+}
+
 static struct iommu_domain *arm_smmu_get_domain(struct domain *d,
 				struct device *dev)
 {
@@ -2909,6 +2940,53 @@ static void arm_smmu_iommu_xen_domain_teardown(struct domain *d)
 	xfree(xen_domain);
 }
 
+static int arm_smmu_attach_guest_config(struct domain *d, u32 sid,
+		struct iommu_guest_config *cfg)
+{
+	int ret = -EINVAL;
+	unsigned long flags;
+	struct arm_smmu_master *master;
+	struct arm_smmu_domain *smmu_domain;
+	struct arm_smmu_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
+	struct iommu_domain *io_domain = arm_smmu_get_domain_by_sid(d, sid);
+
+	if (!io_domain)
+		return -ENODEV;
+
+	smmu_domain = to_smmu_domain(io_domain);
+
+	spin_lock(&xen_domain->lock);
+
+	switch (cfg->config) {
+	case ARM_SMMU_DOMAIN_ABORT:
+		smmu_domain->abort = true;
+		break;
+	case ARM_SMMU_DOMAIN_BYPASS:
+		smmu_domain->abort = false;
+		break;
+	case ARM_SMMU_DOMAIN_NESTED:
+		/* Enable Nested stage translation. */
+		smmu_domain->stage = ARM_SMMU_DOMAIN_NESTED;
+		smmu_domain->s1_cfg.s1ctxptr = cfg->s1ctxptr;
+		smmu_domain->s1_cfg.s1fmt = cfg->s1fmt;
+		smmu_domain->s1_cfg.s1cdmax = cfg->s1cdmax;
+		smmu_domain->abort = false;
+		break;
+	default:
+		goto out;
+	}
+
+	spin_lock_irqsave(&smmu_domain->devices_lock, flags);
+	list_for_each_entry(master, &smmu_domain->devices, domain_head)
+		arm_smmu_install_ste_for_dev(master);
+	spin_unlock_irqrestore(&smmu_domain->devices_lock, flags);
+
+	ret = 0;
+out:
+	spin_unlock(&xen_domain->lock);
+	return ret;
+}
+
 static const struct iommu_ops arm_smmu_iommu_ops = {
 	.page_sizes		= PAGE_SIZE_4K,
 	.init			= arm_smmu_iommu_xen_domain_init,
@@ -2921,6 +2999,7 @@ static const struct iommu_ops arm_smmu_iommu_ops = {
 	.unmap_page		= arm_iommu_unmap_page,
 	.dt_xlate		= arm_smmu_dt_xlate,
 	.add_device		= arm_smmu_add_device,
+	.attach_guest_config = arm_smmu_attach_guest_config
 };
 
 static __init int arm_smmu_dt_init(struct dt_device_node *dev,
diff --git a/xen/drivers/passthrough/arm/smmu-v3.h b/xen/drivers/passthrough/arm/smmu-v3.h
index e270fe05e0..50a050408b 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.h
+++ b/xen/drivers/passthrough/arm/smmu-v3.h
@@ -393,6 +393,7 @@ enum arm_smmu_domain_stage {
 	ARM_SMMU_DOMAIN_S2,
 	ARM_SMMU_DOMAIN_NESTED,
 	ARM_SMMU_DOMAIN_BYPASS,
+	ARM_SMMU_DOMAIN_ABORT,
 };
 
 /* Xen specific code. */
diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.c b/xen/drivers/passthrough/arm/vsmmu-v3.c
index 916b97b8a2..5188181929 100644
--- a/xen/drivers/passthrough/arm/vsmmu-v3.c
+++ b/xen/drivers/passthrough/arm/vsmmu-v3.c
@@ -223,8 +223,11 @@ static int arm_vsmmu_handle_cfgi_ste(struct virt_smmu *smmu, uint64_t *cmdptr)
 {
     int ret;
     uint64_t ste[STRTAB_STE_DWORDS];
+    struct domain *d = smmu->d;
+    struct domain_iommu *hd = dom_iommu(d);
     struct arm_vsmmu_s1_trans_cfg s1_cfg = {0};
     uint32_t sid = smmu_cmd_get_sid(cmdptr[0]);
+    struct iommu_guest_config guest_cfg = {0};
 
     ret = arm_vsmmu_find_ste(smmu, sid, ste);
     if ( ret )
@@ -234,6 +237,21 @@ static int arm_vsmmu_handle_cfgi_ste(struct virt_smmu *smmu, uint64_t *cmdptr)
     if ( ret )
         return (ret == -EAGAIN ) ? 0 : ret;
 
+    guest_cfg.s1ctxptr = s1_cfg.s1ctxptr;
+    guest_cfg.s1fmt = s1_cfg.s1fmt;
+    guest_cfg.s1cdmax = s1_cfg.s1cdmax;
+
+    if ( s1_cfg.bypassed )
+        guest_cfg.config = ARM_SMMU_DOMAIN_BYPASS;
+    else if ( s1_cfg.aborted )
+        guest_cfg.config = ARM_SMMU_DOMAIN_ABORT;
+    else
+        guest_cfg.config = ARM_SMMU_DOMAIN_NESTED;
+
+    ret = hd->platform_ops->attach_guest_config(d, sid, &guest_cfg);
+    if ( ret )
+        return ret;
+
     return 0;
 }
 
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 4f22fc1bed..b2fc027e5e 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -230,6 +230,15 @@ int iommu_do_dt_domctl(struct xen_domctl *, struct domain *,
 
 #endif /* HAS_DEVICE_TREE */
 
+#ifdef CONFIG_ARM
+struct iommu_guest_config {
+    paddr_t     s1ctxptr;
+    uint8_t     config;
+    uint8_t     s1fmt;
+    uint8_t     s1cdmax;
+};
+#endif /* CONFIG_ARM */
+
 struct page_info;
 
 /*
@@ -302,6 +311,11 @@ struct iommu_ops {
      */
     int (*dt_xlate)(device_t *dev, const struct dt_phandle_args *args);
 #endif
+
+#ifdef CONFIG_ARM
+    int (*attach_guest_config)(struct domain *d, u32 sid,
+                               struct iommu_guest_config *cfg);
+#endif
 };
 
 /*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:12:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:12:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.450995.708560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mBB-0000ZR-Qf; Thu, 01 Dec 2022 16:12:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 450995.708560; Thu, 01 Dec 2022 16:12:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mBB-0000ZK-O0; Thu, 01 Dec 2022 16:12:53 +0000
Received: by outflank-mailman (input) for mailman id 450995;
 Thu, 01 Dec 2022 16:12:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0mBA-0008UE-Gz
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:12:52 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 0111fe4b-7193-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 17:12:51 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 48158D6E;
 Thu,  1 Dec 2022 08:12:57 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D934D3F73B;
 Thu,  1 Dec 2022 08:12:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0111fe4b-7193-11ed-8fd2-01056ac49cbb
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 12/21] xen/arm: vsmmuv3: Add support for event queue and global error
Date: Thu,  1 Dec 2022 16:02:36 +0000
Message-Id: <2826699f4bac16359531f43e9e6b3c71885b1ebb.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Event queue is used to send the events to guest when there is an events/
faults. Add support for event queue to send events to guest.

Global error in SMMUv3 hw will be updated in smmu_gerror and
smmu_gerrorn register. Add support for global error registers to send
global error to guest.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.h  |  20 +++
 xen/drivers/passthrough/arm/vsmmu-v3.c | 163 ++++++++++++++++++++++++-
 xen/include/public/arch-arm.h          |   5 +-
 3 files changed, 183 insertions(+), 5 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.h b/xen/drivers/passthrough/arm/smmu-v3.h
index 50a050408b..b598cdeb72 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.h
+++ b/xen/drivers/passthrough/arm/smmu-v3.h
@@ -348,6 +348,26 @@
 
 #define EVTQ_0_ID			GENMASK_ULL(7, 0)
 
+#define EVT_ID_BAD_STREAMID		0x02
+#define EVT_ID_BAD_STE		    	0x04
+#define EVT_ID_TRANSLATION_FAULT	0x10
+#define EVT_ID_ADDR_SIZE_FAULT		0x11
+#define EVT_ID_ACCESS_FAULT		0x12
+#define EVT_ID_PERMISSION_FAULT		0x13
+
+#define EVTQ_0_SSV			(1UL << 11)
+#define EVTQ_0_SSID			GENMASK_ULL(31, 12)
+#define EVTQ_0_SID			GENMASK_ULL(63, 32)
+#define EVTQ_1_STAG			GENMASK_ULL(15, 0)
+#define EVTQ_1_STALL			(1UL << 31)
+#define EVTQ_1_PnU			(1UL << 33)
+#define EVTQ_1_InD			(1UL << 34)
+#define EVTQ_1_RnW			(1UL << 35)
+#define EVTQ_1_S2			(1UL << 39)
+#define EVTQ_1_CLASS			GENMASK_ULL(41, 40)
+#define EVTQ_1_TT_READ			(1UL << 44)
+#define EVTQ_2_ADDR			GENMASK_ULL(63, 0)
+#define EVTQ_3_IPA			GENMASK_ULL(51, 12)
 /* PRI queue */
 #define PRIQ_ENT_SZ_SHIFT		4
 #define PRIQ_ENT_DWORDS			((1 << PRIQ_ENT_SZ_SHIFT) >> 3)
diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.c b/xen/drivers/passthrough/arm/vsmmu-v3.c
index 5188181929..031c1f74b6 100644
--- a/xen/drivers/passthrough/arm/vsmmu-v3.c
+++ b/xen/drivers/passthrough/arm/vsmmu-v3.c
@@ -43,6 +43,7 @@ extern const struct viommu_desc __read_mostly *cur_viommu;
 
 /* Helper Macros */
 #define smmu_get_cmdq_enabled(x)    FIELD_GET(CR0_CMDQEN, x)
+#define smmu_get_evtq_enabled(x)    FIELD_GET(CR0_EVTQEN, x)
 #define smmu_cmd_get_command(x)     FIELD_GET(CMDQ_0_OP, x)
 #define smmu_cmd_get_sid(x)         FIELD_GET(CMDQ_PREFETCH_0_SID, x)
 #define smmu_get_ste_s1cdmax(x)     FIELD_GET(STRTAB_STE_0_S1CDMAX, x)
@@ -51,6 +52,35 @@ extern const struct viommu_desc __read_mostly *cur_viommu;
 #define smmu_get_ste_s1ctxptr(x)    FIELD_PREP(STRTAB_STE_0_S1CTXPTR_MASK, \
                                     FIELD_GET(STRTAB_STE_0_S1CTXPTR_MASK, x))
 
+/* event queue entry */
+struct arm_smmu_evtq_ent {
+    /* Common fields */
+    uint8_t     opcode;
+    uint32_t    sid;
+
+    /* Event-specific fields */
+    union {
+        struct {
+            uint32_t ssid;
+            bool ssv;
+        } c_bad_ste_streamid;
+
+        struct {
+            bool stall;
+            uint16_t stag;
+            uint32_t ssid;
+            bool ssv;
+            bool s2;
+            uint64_t addr;
+            bool rnw;
+            bool pnu;
+            bool ind;
+            uint8_t class;
+            uint64_t addr2;
+        } f_translation;
+    };
+};
+
 /* stage-1 translation configuration */
 struct arm_vsmmu_s1_trans_cfg {
     paddr_t s1ctxptr;
@@ -81,6 +111,7 @@ struct virt_smmu {
     uint32_t    strtab_base_cfg;
     uint64_t    strtab_base;
     uint32_t    irq_ctrl;
+    uint32_t    virq;
     uint64_t    gerror_irq_cfg0;
     uint64_t    evtq_irq_cfg0;
     struct      arm_vsmmu_queue evtq, cmdq;
@@ -88,6 +119,12 @@ struct virt_smmu {
 };
 
 /* Queue manipulation functions */
+static bool queue_full(struct arm_vsmmu_queue *q)
+{
+    return Q_IDX(q, q->prod) == Q_IDX(q, q->cons) &&
+           Q_WRP(q, q->prod) != Q_WRP(q, q->cons);
+}
+
 static bool queue_empty(struct arm_vsmmu_queue *q)
 {
     return Q_IDX(q, q->prod) == Q_IDX(q, q->cons) &&
@@ -100,11 +137,105 @@ static void queue_inc_cons(struct arm_vsmmu_queue *q)
     q->cons = Q_OVF(q->cons) | Q_WRP(q, cons) | Q_IDX(q, cons);
 }
 
+static void queue_inc_prod(struct arm_vsmmu_queue *q)
+{
+    u32 prod = (Q_WRP(q, q->prod) | Q_IDX(q, q->prod)) + 1;
+    q->prod = Q_OVF(q->prod) | Q_WRP(q, prod) | Q_IDX(q, prod);
+}
+
 static void dump_smmu_command(uint64_t *command)
 {
     gdprintk(XENLOG_ERR, "cmd 0x%02llx: %016lx %016lx\n",
              smmu_cmd_get_command(command[0]), command[0], command[1]);
 }
+
+static void arm_vsmmu_inject_irq(struct virt_smmu *smmu, bool is_gerror,
+                                uint32_t gerror_err)
+{
+    uint32_t new_gerrors, pending;
+
+    if ( is_gerror )
+    {
+        /* trigger global error irq to guest */
+        pending = smmu->gerror ^ smmu->gerrorn;
+        new_gerrors = ~pending & gerror_err;
+
+        /* only toggle non pending errors */
+        if (!new_gerrors)
+            return;
+
+        smmu->gerror ^= new_gerrors;
+    }
+
+    vgic_inject_irq(smmu->d, NULL, smmu->virq, true);
+}
+
+static int arm_vsmmu_write_evtq(struct virt_smmu *smmu, uint64_t *evt)
+{
+    struct arm_vsmmu_queue *q = &smmu->evtq;
+    struct domain *d = smmu->d;
+    paddr_t addr;
+    int ret;
+
+    if ( !smmu_get_evtq_enabled(smmu->cr[0]) )
+        return -EINVAL;
+
+    if ( queue_full(q) )
+        return -EINVAL;
+
+    addr = Q_PROD_ENT(q);
+    ret = access_guest_memory_by_ipa(d, addr, evt,
+                                     sizeof(*evt) * EVTQ_ENT_DWORDS, true);
+    if ( ret )
+        return ret;
+
+    queue_inc_prod(q);
+
+    /* trigger eventq irq to guest */
+    if ( !queue_empty(q) )
+        arm_vsmmu_inject_irq(smmu, false, 0);
+
+    return 0;
+}
+
+void arm_vsmmu_send_event(struct virt_smmu *smmu,
+                          struct arm_smmu_evtq_ent *ent)
+{
+    uint64_t evt[EVTQ_ENT_DWORDS];
+    int ret;
+
+    memset(evt, 0, 1 << EVTQ_ENT_SZ_SHIFT);
+
+    if ( !smmu_get_evtq_enabled(smmu->cr[0]) )
+        return;
+
+    evt[0] |= FIELD_PREP(EVTQ_0_ID, ent->opcode);
+    evt[0] |= FIELD_PREP(EVTQ_0_SID, ent->sid);
+
+    switch (ent->opcode)
+    {
+    case EVT_ID_BAD_STREAMID:
+    case EVT_ID_BAD_STE:
+        evt[0] |= FIELD_PREP(EVTQ_0_SSID, ent->c_bad_ste_streamid.ssid);
+        evt[0] |= FIELD_PREP(EVTQ_0_SSV, ent->c_bad_ste_streamid.ssv);
+        break;
+    case EVT_ID_TRANSLATION_FAULT:
+    case EVT_ID_ADDR_SIZE_FAULT:
+    case EVT_ID_ACCESS_FAULT:
+    case EVT_ID_PERMISSION_FAULT:
+        break;
+    default:
+        gdprintk(XENLOG_WARNING, "vSMMUv3: event opcode is bad\n");
+        break;
+    }
+
+    ret = arm_vsmmu_write_evtq(smmu, evt);
+    if ( ret )
+        arm_vsmmu_inject_irq(smmu, true, GERROR_EVTQ_ABT_ERR);
+
+    return;
+}
+
 static int arm_vsmmu_find_ste(struct virt_smmu *smmu, uint32_t sid,
                               uint64_t *ste)
 {
@@ -113,11 +244,22 @@ static int arm_vsmmu_find_ste(struct virt_smmu *smmu, uint32_t sid,
     uint32_t log2size;
     int strtab_size_shift;
     int ret;
+    struct arm_smmu_evtq_ent ent = {
+        .sid = sid,
+        .c_bad_ste_streamid = {
+            .ssid = 0,
+            .ssv = false,
+        },
+    };
 
     log2size = FIELD_GET(STRTAB_BASE_CFG_LOG2SIZE, smmu->strtab_base_cfg);
 
     if ( sid >= (1 << MIN(log2size, SMMU_IDR1_SIDSIZE)) )
+    {
+        ent.opcode = EVT_ID_BAD_STE;
+        arm_vsmmu_send_event(smmu, &ent);
         return -EINVAL;
+    }
 
     if ( smmu->features & STRTAB_BASE_CFG_FMT_2LVL )
     {
@@ -155,6 +297,8 @@ static int arm_vsmmu_find_ste(struct virt_smmu *smmu, uint32_t sid,
         {
             gdprintk(XENLOG_ERR, "idx=%d > max_l2_ste=%d\n",
                      idx, max_l2_ste);
+            ent.opcode = EVT_ID_BAD_STREAMID;
+            arm_vsmmu_send_event(smmu, &ent);
             return -EINVAL;
         }
         addr = l2ptr + idx * sizeof(*ste) * STRTAB_STE_DWORDS;
@@ -182,6 +326,14 @@ static int arm_vsmmu_decode_ste(struct virt_smmu *smmu, uint32_t sid,
                                 uint64_t *ste)
 {
     uint64_t val = ste[0];
+    struct arm_smmu_evtq_ent ent = {
+        .opcode = EVT_ID_BAD_STE,
+        .sid = sid,
+        .c_bad_ste_streamid = {
+            .ssid = 0,
+            .ssv = false,
+        },
+    };
 
     if ( !(val & STRTAB_STE_0_V) )
         return -EAGAIN;
@@ -216,6 +368,7 @@ static int arm_vsmmu_decode_ste(struct virt_smmu *smmu, uint32_t sid,
     return 0;
 
 bad_ste:
+    arm_vsmmu_send_event(smmu, &ent);
     return -EINVAL;
 }
 
@@ -572,7 +725,8 @@ static const struct mmio_handler_ops vsmmuv3_mmio_handler = {
     .write = vsmmuv3_mmio_write,
 };
 
-static int vsmmuv3_init_single(struct domain *d, paddr_t addr, paddr_t size)
+static int vsmmuv3_init_single(struct domain *d, paddr_t addr,
+                               paddr_t size, uint32_t virq)
 {
     struct virt_smmu *smmu;
 
@@ -581,6 +735,7 @@ static int vsmmuv3_init_single(struct domain *d, paddr_t addr, paddr_t size)
         return -ENOMEM;
 
     smmu->d = d;
+    smmu->virq = virq;
     smmu->cmdq.q_base = FIELD_PREP(Q_BASE_LOG2SIZE, SMMU_CMDQS);
     smmu->cmdq.ent_size = CMDQ_ENT_DWORDS * DWORDS_BYTES;
     smmu->evtq.q_base = FIELD_PREP(Q_BASE_LOG2SIZE, SMMU_EVTQS);
@@ -607,14 +762,16 @@ int domain_vsmmuv3_init(struct domain *d)
 
         list_for_each_entry(hw_iommu, &host_iommu_list, entry)
         {
-            ret = vsmmuv3_init_single(d, hw_iommu->addr, hw_iommu->size);
+            ret = vsmmuv3_init_single(d, hw_iommu->addr, hw_iommu->size,
+                                      hw_iommu->irq);
             if ( ret )
                 return ret;
         }
     }
     else
     {
-        ret = vsmmuv3_init_single(d, GUEST_VSMMUV3_BASE, GUEST_VSMMUV3_SIZE);
+        ret = vsmmuv3_init_single(d, GUEST_VSMMUV3_BASE, GUEST_VSMMUV3_SIZE,
+                                  GUEST_VSMMU_SPI);
         if ( ret )
             return ret;
     }
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 24b52fa017..634f689e77 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -488,9 +488,10 @@ typedef uint64_t xen_callback_t;
 #define GUEST_EVTCHN_PPI        31
 
 #define GUEST_VPL011_SPI        32
+#define GUEST_VSMMU_SPI         33
 
-#define GUEST_VIRTIO_MMIO_SPI_FIRST   33
-#define GUEST_VIRTIO_MMIO_SPI_LAST    43
+#define GUEST_VIRTIO_MMIO_SPI_FIRST   34
+#define GUEST_VIRTIO_MMIO_SPI_LAST    44
 
 /* PSCI functions */
 #define PSCI_cpu_suspend 0
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:13:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:13:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451003.708572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mBn-0001JP-43; Thu, 01 Dec 2022 16:13:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451003.708572; Thu, 01 Dec 2022 16:13:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mBn-0001JE-0K; Thu, 01 Dec 2022 16:13:31 +0000
Received: by outflank-mailman (input) for mailman id 451003;
 Thu, 01 Dec 2022 16:13:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0mBl-0008UE-6q
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:13:29 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 171bfda8-7193-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 17:13:28 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 417E5D6E;
 Thu,  1 Dec 2022 08:13:34 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D2B1C3F73B;
 Thu,  1 Dec 2022 08:13:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 171bfda8-7193-11ed-8fd2-01056ac49cbb
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 13/21] xen/arm: vsmmuv3: Add "iommus" property node for dom0 devices
Date: Thu,  1 Dec 2022 16:02:37 +0000
Message-Id: <d7cbb7afd9e2480e5febbcb15846d15a07e2600a.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

"iommus" property will be added for dom0 devices to virtual
IOMMU node to enable the dom0 linux kernel to configure the IOMMU

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/domain_build.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index abbaf37a2e..a5295e8c3e 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1172,9 +1172,12 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
             continue;
         }
 
-        if ( iommu_node )
+        /*
+         * Expose IOMMU specific properties to hwdom when vIOMMU is
+         * enabled.
+         */
+        if ( iommu_node && !is_viommu_enabled() )
         {
-            /* Don't expose IOMMU specific properties to hwdom */
             if ( dt_property_name_is_equal(prop, "iommus") )
                 continue;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:15:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:15:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451008.708583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mDs-00022f-HJ; Thu, 01 Dec 2022 16:15:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451008.708583; Thu, 01 Dec 2022 16:15:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mDs-00022Y-DA; Thu, 01 Dec 2022 16:15:40 +0000
Received: by outflank-mailman (input) for mailman id 451008;
 Thu, 01 Dec 2022 16:15:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0mDr-00020U-6D
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:15:39 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 647e17e1-7193-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:15:38 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 37060D6E;
 Thu,  1 Dec 2022 08:15:44 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 5CFB73F73B;
 Thu,  1 Dec 2022 08:15:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 647e17e1-7193-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 15/21] xen/arm: vsmmuv3: Emulated SMMUv3 device tree node for dom0less
Date: Thu,  1 Dec 2022 16:02:39 +0000
Message-Id: <4e4d4fff4bb20d9718bd61b729f9421525baaa15.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

XEN will create an Emulated SMMUv3 device tree node in the device tree
to enable the dom0less domains to discover the virtual SMMUv3 during
boot. Emulated SMMUv3 device tree node will only be created when cmdline
option vsmmuv3 is enabled.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/domain_build.c           | 52 +++++++++++++++++++++++++++
 xen/include/public/device_tree_defs.h |  1 +
 2 files changed, 53 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index b82121beb5..29f00b18ec 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2322,6 +2322,49 @@ static int make_hwdom_viommu_node(const struct kernel_info *kinfo)
 }
 #endif
 
+#ifdef CONFIG_VIRTUAL_ARM_SMMU_V3
+static int __init make_vsmmuv3_node(const struct kernel_info *kinfo)
+{
+    int res;
+    char buf[24];
+    __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
+    __be32 *cells;
+    void *fdt = kinfo->fdt;
+
+    snprintf(buf, sizeof(buf), "iommu@%llx", GUEST_VSMMUV3_BASE);
+
+    res = fdt_begin_node(fdt, buf);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,smmu-v3");
+    if ( res )
+        return res;
+
+    /* Create reg property */
+    cells = &reg[0];
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       GUEST_VSMMUV3_BASE, GUEST_VSMMUV3_SIZE);
+    res = fdt_property(fdt, "reg", reg,
+                       (GUEST_ROOT_ADDRESS_CELLS +
+                       GUEST_ROOT_SIZE_CELLS) * sizeof(*reg));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", GUEST_PHANDLE_VSMMUV3);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#iommu-cells", 1);
+    if ( res )
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+#endif
+
 int __init map_irq_to_domain(struct domain *d, unsigned int irq,
                              bool need_mapping, const char *devname)
 {
@@ -3395,6 +3438,15 @@ static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
             goto err;
     }
 
+#ifdef CONFIG_VIRTUAL_ARM_SMMU_V3
+    if ( is_viommu_enabled() )
+    {
+        ret = make_vsmmuv3_node(kinfo);
+        if ( ret )
+            goto err;
+    }
+#endif
+
     ret = fdt_end_node(kinfo->fdt);
     if ( ret < 0 )
         goto err;
diff --git a/xen/include/public/device_tree_defs.h b/xen/include/public/device_tree_defs.h
index 9e80d0499d..7846a0425c 100644
--- a/xen/include/public/device_tree_defs.h
+++ b/xen/include/public/device_tree_defs.h
@@ -14,6 +14,7 @@
  */
 #define GUEST_PHANDLE_GIC (65000)
 #define GUEST_PHANDLE_IOMMU (GUEST_PHANDLE_GIC + 1)
+#define GUEST_PHANDLE_VSMMUV3 (GUEST_PHANDLE_IOMMU + 1)
 
 #define GUEST_ROOT_ADDRESS_CELLS 2
 #define GUEST_ROOT_SIZE_CELLS 2
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:17:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:17:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451016.708593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mFC-0002dR-Qm; Thu, 01 Dec 2022 16:17:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451016.708593; Thu, 01 Dec 2022 16:17:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mFC-0002dK-O7; Thu, 01 Dec 2022 16:17:02 +0000
Received: by outflank-mailman (input) for mailman id 451016;
 Thu, 01 Dec 2022 16:17:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0mFB-0002cy-II
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:17:01 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 95b73105-7193-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 17:17:00 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id B6602D6E;
 Thu,  1 Dec 2022 08:17:06 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6E6273F73B;
 Thu,  1 Dec 2022 08:16:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95b73105-7193-11ed-8fd2-01056ac49cbb
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [RFC PATCH 16/21] arm/libxl: vsmmuv3: Emulated SMMUv3 device tree node in libxl
Date: Thu,  1 Dec 2022 16:02:40 +0000
Message-Id: <a4c1c42a60c4c7032d11c3ef7c034b2a2fbeb54e.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

libxl will create an Emulated SMMUv3 device tree node in the device
tree to enable the guest OS to discover the virtual SMMUv3 during guest
boot.

Emulated SMMUv3 device tree node will only be created when
"viommu=smmuv3" is set in xl domain configuration.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 tools/libs/light/libxl_arm.c | 39 ++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index b8eff10a41..00fcbd466c 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -831,6 +831,36 @@ static int make_vpl011_uart_node(libxl__gc *gc, void *fdt,
     return 0;
 }
 
+static int make_vsmmuv3_node(libxl__gc *gc, void *fdt,
+                             const struct arch_info *ainfo,
+                             struct xc_dom_image *dom)
+{
+    int res;
+    const char *name = GCSPRINTF("iommu@%llx", GUEST_VSMMUV3_BASE);
+
+    res = fdt_begin_node(fdt, name);
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, "arm,smmu-v3");
+    if (res) return res;
+
+    res = fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
+                            GUEST_ROOT_SIZE_CELLS, 1, GUEST_VSMMUV3_BASE,
+                            GUEST_VSMMUV3_SIZE);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "phandle", GUEST_PHANDLE_VSMMUV3);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#iommu-cells", 1);
+    if (res) return res;
+
+    res = fdt_end_node(fdt);
+    if (res) return res;
+
+    return 0;
+}
+
 static int make_vpci_node(libxl__gc *gc, void *fdt,
                           const struct arch_info *ainfo,
                           struct xc_dom_image *dom)
@@ -872,6 +902,12 @@ static int make_vpci_node(libxl__gc *gc, void *fdt,
         GUEST_VPCI_PREFETCH_MEM_SIZE);
     if (res) return res;
 
+    if (res) return res;
+
+    res = fdt_property_values(gc, fdt, "iommu-map", 4, 0,
+                              GUEST_PHANDLE_VSMMUV3, 0, 0x10000);
+    if (res) return res;
+
     res = fdt_end_node(fdt);
     if (res) return res;
 
@@ -1251,6 +1287,9 @@ next_resize:
         if (d_config->num_pcidevs)
             FDT( make_vpci_node(gc, fdt, ainfo, dom) );
 
+        if (info->arch_arm.viommu_type == LIBXL_VIOMMU_TYPE_SMMUV3)
+            FDT( make_vsmmuv3_node(gc, fdt, ainfo, dom) );
+
         iommu_created = false;
         for (i = 0; i < d_config->num_disks; i++) {
             libxl_device_disk *disk = &d_config->disks[i];
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:18:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:18:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451021.708605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mG5-0003BI-44; Thu, 01 Dec 2022 16:17:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451021.708605; Thu, 01 Dec 2022 16:17:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mG5-0003BB-0a; Thu, 01 Dec 2022 16:17:57 +0000
Received: by outflank-mailman (input) for mailman id 451021;
 Thu, 01 Dec 2022 16:17:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0mG3-0002as-R2
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:17:55 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id b5fbf219-7193-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:17:54 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id DB3DCD6E;
 Thu,  1 Dec 2022 08:18:00 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 289A73F73B;
 Thu,  1 Dec 2022 08:17:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5fbf219-7193-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 17/21] xen/arm: vsmmuv3: Alloc virq for virtual SMMUv3
Date: Thu,  1 Dec 2022 16:02:41 +0000
Message-Id: <1eb767c65e4ca07c6d10c7dc2cdb514535a4b484.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Alloc and reserve virq for event queue and global error to send event to
guests. Also Modify the libxl to accomadate the new define virq.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 tools/libs/light/libxl_arm.c           | 24 ++++++++++++++++++++++--
 xen/arch/arm/domain_build.c            | 11 +++++++++++
 xen/drivers/passthrough/arm/vsmmu-v3.c | 10 ++++++++++
 3 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 00fcbd466c..f2bb7d40dc 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -66,8 +66,8 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
 {
     uint32_t nr_spis = 0;
     unsigned int i;
-    uint32_t vuart_irq, virtio_irq = 0;
-    bool vuart_enabled = false, virtio_enabled = false;
+    uint32_t vuart_irq, virtio_irq = 0, vsmmu_irq = 0;
+    bool vuart_enabled = false, virtio_enabled = false, vsmmu_enabled = false;
     uint64_t virtio_mmio_base = GUEST_VIRTIO_MMIO_BASE;
     uint32_t virtio_mmio_irq = GUEST_VIRTIO_MMIO_SPI_FIRST;
 
@@ -81,6 +81,12 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         vuart_enabled = true;
     }
 
+    if (d_config->num_pcidevs || d_config->b_info.device_tree) {
+        nr_spis += (GUEST_VSMMU_SPI - 32) + 1;
+        vsmmu_irq = GUEST_VSMMU_SPI;
+        vsmmu_enabled = true;
+    }
+
     for (i = 0; i < d_config->num_disks; i++) {
         libxl_device_disk *disk = &d_config->disks[i];
 
@@ -136,6 +142,11 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
             return ERROR_FAIL;
         }
 
+        if (vsmmu_enabled && irq == vsmmu_irq) {
+            LOG(ERROR, "Physical IRQ %u conflicting with vSMMUv3 SPI\n", irq);
+            return ERROR_FAIL;
+        }
+
         if (irq < 32)
             continue;
 
@@ -837,6 +848,7 @@ static int make_vsmmuv3_node(libxl__gc *gc, void *fdt,
 {
     int res;
     const char *name = GCSPRINTF("iommu@%llx", GUEST_VSMMUV3_BASE);
+    gic_interrupt intr;
 
     res = fdt_begin_node(fdt, name);
     if (res) return res;
@@ -855,6 +867,14 @@ static int make_vsmmuv3_node(libxl__gc *gc, void *fdt,
     res = fdt_property_cell(fdt, "#iommu-cells", 1);
     if (res) return res;
 
+    res = fdt_property_string(fdt, "interrupt-names", "combined");
+    if (res) return res;
+
+    set_interrupt(intr, GUEST_VSMMU_SPI, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+
+    res = fdt_property_interrupts(gc, fdt, &intr, 1);
+    if (res) return res;
+
     res = fdt_end_node(fdt);
     if (res) return res;
 
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 29f00b18ec..8e85fb7854 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2329,6 +2329,7 @@ static int __init make_vsmmuv3_node(const struct kernel_info *kinfo)
     char buf[24];
     __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
     __be32 *cells;
+    gic_interrupt_t intr;
     void *fdt = kinfo->fdt;
 
     snprintf(buf, sizeof(buf), "iommu@%llx", GUEST_VSMMUV3_BASE);
@@ -2359,6 +2360,16 @@ static int __init make_vsmmuv3_node(const struct kernel_info *kinfo)
     if ( res )
         return res;
 
+    res = fdt_property_string(fdt, "interrupt-names", "combined");
+    if ( res )
+        return res;
+
+    set_interrupt(intr, GUEST_VSMMU_SPI, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+
+    res = fdt_property_interrupts(kinfo, &intr, 1);
+    if ( res )
+        return res;
+
     res = fdt_end_node(fdt);
 
     return res;
diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.c b/xen/drivers/passthrough/arm/vsmmu-v3.c
index 031c1f74b6..b280b70da0 100644
--- a/xen/drivers/passthrough/arm/vsmmu-v3.c
+++ b/xen/drivers/passthrough/arm/vsmmu-v3.c
@@ -728,6 +728,7 @@ static const struct mmio_handler_ops vsmmuv3_mmio_handler = {
 static int vsmmuv3_init_single(struct domain *d, paddr_t addr,
                                paddr_t size, uint32_t virq)
 {
+    int ret;
     struct virt_smmu *smmu;
 
     smmu = xzalloc(struct virt_smmu);
@@ -743,12 +744,21 @@ static int vsmmuv3_init_single(struct domain *d, paddr_t addr,
 
     spin_lock_init(&smmu->cmd_queue_lock);
 
+    ret = vgic_reserve_virq(d, virq);
+    if ( !ret )
+        goto out;
+
     register_mmio_handler(d, &vsmmuv3_mmio_handler, addr, size, smmu);
 
     /* Register the vIOMMU to be able to clean it up later. */
     list_add_tail(&smmu->viommu_list, &d->arch.viommu_list);
 
     return 0;
+
+out:
+    xfree(smmu);
+    vgic_free_virq(d, virq);
+    return ret;
 }
 
 int domain_vsmmuv3_init(struct domain *d)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:18:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:18:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451029.708616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mGd-0003l1-FQ; Thu, 01 Dec 2022 16:18:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451029.708616; Thu, 01 Dec 2022 16:18:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mGd-0003ku-CD; Thu, 01 Dec 2022 16:18:31 +0000
Received: by outflank-mailman (input) for mailman id 451029;
 Thu, 01 Dec 2022 16:18:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0mGc-0002as-1T
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:18:30 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id ca708677-7193-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:18:29 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 3BA32D6E;
 Thu,  1 Dec 2022 08:18:35 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CD0FE3F73B;
 Thu,  1 Dec 2022 08:18:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca708677-7193-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 18/21] xen/arm: iommu: skip the iommu-map property for PCI devices
Date: Thu,  1 Dec 2022 16:02:42 +0000
Message-Id: <f023f8fbace84c83a9026bbc3aaf35173a847e36.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Current code skip the IOMMUS specific properties for the non PCI devices
when handling the dom0 node but there is no support to skip the IOMMUS
specific properties for the PCI devices.

This patch will add the support to skip the IOMMUS specific properties
for the PCI devices.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/domain_build.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 8e85fb7854..7cd99a6771 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1112,9 +1112,18 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
      * Use "iommu_node" as an indicator of the master device which properties
      * should be skipped.
      */
-    iommu_node = dt_parse_phandle(node, "iommus", 0);
-    if ( iommu_node && device_get_class(iommu_node) != DEVICE_IOMMU )
-        iommu_node = NULL;
+    if ( dt_device_type_is_equal(node, "pci") )
+    {
+        iommu_node = dt_parse_phandle(node, "iommu-map", 1);
+        if ( iommu_node && device_get_class(iommu_node) != DEVICE_IOMMU )
+            iommu_node = NULL;
+    }
+    else
+    {
+        iommu_node = dt_parse_phandle(node, "iommus", 0);
+        if ( iommu_node && device_get_class(iommu_node) != DEVICE_IOMMU )
+            iommu_node = NULL;
+    }
 
     dt_for_each_property_node (node, prop)
     {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:19:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:19:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451035.708627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mHK-0004Ll-OH; Thu, 01 Dec 2022 16:19:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451035.708627; Thu, 01 Dec 2022 16:19:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mHK-0004Le-L9; Thu, 01 Dec 2022 16:19:14 +0000
Received: by outflank-mailman (input) for mailman id 451035;
 Thu, 01 Dec 2022 16:19:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0mHI-0003Vx-M5
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:19:12 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id e3beadba-7193-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 17:19:11 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 820CED6E;
 Thu,  1 Dec 2022 08:19:17 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1F4073F73B;
 Thu,  1 Dec 2022 08:19:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3beadba-7193-11ed-8fd2-01056ac49cbb
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 19/21] xen/arm: vsmmuv3: Add support to send stage-1 event to guest
Date: Thu,  1 Dec 2022 16:02:43 +0000
Message-Id: <f5107e5545441aaf69584d096ed15df0baf11028.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Stage-1 translation is handled by guest, therefore stage-1 fault has to
be forwarded to guest.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/drivers/passthrough/arm/smmu-v3.c  | 48 ++++++++++++++++++++++++--
 xen/drivers/passthrough/arm/vsmmu-v3.c | 45 ++++++++++++++++++++++++
 xen/drivers/passthrough/arm/vsmmu-v3.h | 12 +++++++
 3 files changed, 103 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index c4b4a5d86d..e17debc456 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -871,7 +871,6 @@ static int arm_smmu_init_l2_strtab(struct arm_smmu_device *smmu, u32 sid)
 	return 0;
 }
 
-__maybe_unused
 static struct arm_smmu_master *
 arm_smmu_find_master(struct arm_smmu_device *smmu, u32 sid)
 {
@@ -892,10 +891,51 @@ arm_smmu_find_master(struct arm_smmu_device *smmu, u32 sid)
 	return NULL;
 }
 
+static int arm_smmu_handle_evt(struct arm_smmu_device *smmu, u64 *evt)
+{
+	int ret;
+	struct arm_smmu_master *master;
+	u32 sid = FIELD_GET(EVTQ_0_SID, evt[0]);
+
+	switch (FIELD_GET(EVTQ_0_ID, evt[0])) {
+	case EVT_ID_TRANSLATION_FAULT:
+		break;
+	case EVT_ID_ADDR_SIZE_FAULT:
+		break;
+	case EVT_ID_ACCESS_FAULT:
+		break;
+	case EVT_ID_PERMISSION_FAULT:
+		break;
+	default:
+		return -EOPNOTSUPP;
+	}
+
+	/* Stage-2 event */
+	if (evt[1] & EVTQ_1_S2)
+		return -EFAULT;
+
+	mutex_lock(&smmu->streams_mutex);
+	master = arm_smmu_find_master(smmu, sid);
+	if (!master) {
+		ret = -EINVAL;
+		goto out_unlock;
+	}
+
+	ret = arm_vsmmu_handle_evt(master->domain->d, smmu->dev, evt);
+	if (ret) {
+		ret = -EINVAL;
+		goto out_unlock;
+	}
+
+out_unlock:
+	mutex_unlock(&smmu->streams_mutex);
+	return ret;
+}
+
 /* IRQ and event handlers */
 static void arm_smmu_evtq_tasklet(void *dev)
 {
-	int i;
+	int i, ret;
 	struct arm_smmu_device *smmu = dev;
 	struct arm_smmu_queue *q = &smmu->evtq.q;
 	struct arm_smmu_ll_queue *llq = &q->llq;
@@ -905,6 +945,10 @@ static void arm_smmu_evtq_tasklet(void *dev)
 		while (!queue_remove_raw(q, evt)) {
 			u8 id = FIELD_GET(EVTQ_0_ID, evt[0]);
 
+			ret = arm_smmu_handle_evt(smmu, evt);
+			if (!ret)
+				continue;
+
 			dev_info(smmu->dev, "event 0x%02x received:\n", id);
 			for (i = 0; i < ARRAY_SIZE(evt); ++i)
 				dev_info(smmu->dev, "\t0x%016llx\n",
diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.c b/xen/drivers/passthrough/arm/vsmmu-v3.c
index b280b70da0..cd8b62d806 100644
--- a/xen/drivers/passthrough/arm/vsmmu-v3.c
+++ b/xen/drivers/passthrough/arm/vsmmu-v3.c
@@ -102,6 +102,7 @@ struct arm_vsmmu_queue {
 struct virt_smmu {
     struct      domain *d;
     struct      list_head viommu_list;
+    paddr_t     addr;
     uint8_t     sid_split;
     uint32_t    features;
     uint32_t    cr[3];
@@ -236,6 +237,49 @@ void arm_vsmmu_send_event(struct virt_smmu *smmu,
     return;
 }
 
+static struct virt_smmu *vsmmuv3_find_by_addr(struct domain *d, paddr_t paddr)
+{
+    struct virt_smmu *smmu;
+
+    list_for_each_entry( smmu, &d->arch.viommu_list, viommu_list )
+    {
+        if ( smmu->addr == paddr )
+            return smmu;
+    }
+
+    return NULL;
+}
+
+int arm_vsmmu_handle_evt(struct domain *d, struct device *dev, uint64_t *evt)
+{
+    int ret;
+    struct virt_smmu *smmu;
+
+    if ( is_hardware_domain(d) )
+    {
+        paddr_t paddr;
+        /* Base address */
+        ret = dt_device_get_address(dev_to_dt(dev), 0, &paddr, NULL);
+        if ( ret )
+            return -EINVAL;
+
+        smmu = vsmmuv3_find_by_addr(d, paddr);
+        if ( !smmu )
+            return -ENODEV;
+    }
+    else
+    {
+        smmu = list_entry(d->arch.viommu_list.next,
+                          struct virt_smmu, viommu_list);
+    }
+
+    ret = arm_vsmmu_write_evtq(smmu, evt);
+    if ( ret )
+        arm_vsmmu_inject_irq(smmu, true, GERROR_EVTQ_ABT_ERR);
+
+    return 0;
+}
+
 static int arm_vsmmu_find_ste(struct virt_smmu *smmu, uint32_t sid,
                               uint64_t *ste)
 {
@@ -737,6 +781,7 @@ static int vsmmuv3_init_single(struct domain *d, paddr_t addr,
 
     smmu->d = d;
     smmu->virq = virq;
+    smmu->addr = addr;
     smmu->cmdq.q_base = FIELD_PREP(Q_BASE_LOG2SIZE, SMMU_CMDQS);
     smmu->cmdq.ent_size = CMDQ_ENT_DWORDS * DWORDS_BYTES;
     smmu->evtq.q_base = FIELD_PREP(Q_BASE_LOG2SIZE, SMMU_EVTQS);
diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.h b/xen/drivers/passthrough/arm/vsmmu-v3.h
index e11f85b431..c7bfd3fb59 100644
--- a/xen/drivers/passthrough/arm/vsmmu-v3.h
+++ b/xen/drivers/passthrough/arm/vsmmu-v3.h
@@ -8,6 +8,12 @@
 
 void vsmmuv3_set_type(void);
 
+static inline int arm_vsmmu_handle_evt(struct domain *d,
+                                       struct device *dev, uint64_t *evt)
+{
+    return -EINVAL;
+}
+
 #else
 
 static inline void vsmmuv3_set_type(void)
@@ -15,6 +21,12 @@ static inline void vsmmuv3_set_type(void)
     return;
 }
 
+static inline int arm_vsmmu_handle_evt(struct domain *d,
+                                       struct device *dev, uint64_t *evt)
+{
+    return -EINVAL;
+}
+
 #endif /* CONFIG_VIRTUAL_ARM_SMMU_V3 */
 
 #endif /* __ARCH_ARM_VSMMU_V3_H__ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:19:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:19:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451038.708637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mHm-0004q5-0B; Thu, 01 Dec 2022 16:19:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451038.708637; Thu, 01 Dec 2022 16:19:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mHl-0004py-TT; Thu, 01 Dec 2022 16:19:41 +0000
Received: by outflank-mailman (input) for mailman id 451038;
 Thu, 01 Dec 2022 16:19:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0mHk-0003Vx-Od
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:19:40 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id f4a24343-7193-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 17:19:39 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 05FDAD6E;
 Thu,  1 Dec 2022 08:19:46 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B1F5E3F73B;
 Thu,  1 Dec 2022 08:19:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4a24343-7193-11ed-8fd2-01056ac49cbb
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [RFC PATCH 20/21] libxl/arm: vIOMMU: Modify the partial device tree for iommus
Date: Thu,  1 Dec 2022 16:02:44 +0000
Message-Id: <45ac5b639319b7282086bac609329ca3c5a411bf.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

To configure IOMMU in guest for passthrough devices, user will need to
copy the unmodified "iommus" property from host device tree to partial
device tree. To enable the dom0 linux kernel to confiure the IOMMU
correctly replace the phandle in partial device tree with virtual
IOMMU phandle when "iommus" property is set.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 tools/libs/light/libxl_arm.c | 47 +++++++++++++++++++++++++++++++++++-
 1 file changed, 46 insertions(+), 1 deletion(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index f2bb7d40dc..16d068404f 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -1167,6 +1167,41 @@ static int copy_partial_fdt(libxl__gc *gc, void *fdt, void *pfdt)
     return 0;
 }
 
+static int modify_partial_fdt(libxl__gc *gc, void *pfdt)
+{
+    int nodeoff, proplen, i, r;
+    const fdt32_t *prop;
+    fdt32_t *prop_c;
+
+    nodeoff = fdt_path_offset(pfdt, "/passthrough");
+    if (nodeoff < 0)
+        return nodeoff;
+
+    for (nodeoff = fdt_first_subnode(pfdt, nodeoff);
+         nodeoff >= 0;
+         nodeoff = fdt_next_subnode(pfdt, nodeoff)) {
+
+        prop = fdt_getprop(pfdt, nodeoff, "iommus", &proplen);
+        if (!prop)
+            continue;
+
+        prop_c = libxl__zalloc(gc, proplen);
+
+        for (i = 0; i < proplen / 8; ++i) {
+            prop_c[i * 2] = cpu_to_fdt32(GUEST_PHANDLE_VSMMUV3);
+            prop_c[i * 2 + 1] = prop[i * 2 + 1];
+        }
+
+        r = fdt_setprop(pfdt, nodeoff, "iommus", prop_c, proplen);
+        if (r) {
+            LOG(ERROR, "Can't set the iommus property in partial FDT");
+            return r;
+        }
+    }
+
+    return 0;
+}
+
 #else
 
 static int check_partial_fdt(libxl__gc *gc, void *fdt, size_t size)
@@ -1185,6 +1220,13 @@ static int copy_partial_fdt(libxl__gc *gc, void *fdt, void *pfdt)
     return -FDT_ERR_INTERNAL;
 }
 
+static int modify_partial_fdt(libxl__gc *gc, void *pfdt)
+{
+    LOG(ERROR, "partial device tree not supported");
+
+    return ERROR_FAIL;
+}
+
 #endif /* ENABLE_PARTIAL_DEVICE_TREE */
 
 #define FDT_MAX_SIZE (1<<20)
@@ -1307,8 +1349,11 @@ next_resize:
         if (d_config->num_pcidevs)
             FDT( make_vpci_node(gc, fdt, ainfo, dom) );
 
-        if (info->arch_arm.viommu_type == LIBXL_VIOMMU_TYPE_SMMUV3)
+        if (info->arch_arm.viommu_type == LIBXL_VIOMMU_TYPE_SMMUV3) {
             FDT( make_vsmmuv3_node(gc, fdt, ainfo, dom) );
+            if (pfdt)
+                FDT( modify_partial_fdt(gc, pfdt) );
+        }
 
         iommu_created = false;
         for (i = 0; i < d_config->num_disks; i++) {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:20:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:20:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451043.708649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mI6-0005R8-9b; Thu, 01 Dec 2022 16:20:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451043.708649; Thu, 01 Dec 2022 16:20:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mI6-0005QP-5h; Thu, 01 Dec 2022 16:20:02 +0000
Received: by outflank-mailman (input) for mailman id 451043;
 Thu, 01 Dec 2022 16:20:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0mI5-00056N-1n
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:20:01 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 00b98bdb-7194-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:20:00 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 47ED4D6E;
 Thu,  1 Dec 2022 08:20:06 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D95343F73B;
 Thu,  1 Dec 2022 08:19:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00b98bdb-7194-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 21/21] xen/arm: vIOMMU: Modify the partial device tree for dom0less
Date: Thu,  1 Dec 2022 16:02:45 +0000
Message-Id: <127da5a0d4300e083b8840a4f3a0d2d63bde5b6f.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

To configure IOMMU in guest for passthrough devices, user will need to
copy the unmodified "iommus" property from host device tree to partial
device tree. To enable the dom0 linux kernel to confiure the IOMMU
correctly replace the phandle in partial device tree with virtual
IOMMU phandle when "iommus" property is set.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/domain_build.c | 31 ++++++++++++++++++++++++++++++-
 1 file changed, 30 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 7cd99a6771..afb3e76409 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3235,7 +3235,35 @@ static int __init handle_prop_pfdt(struct kernel_info *kinfo,
     return ( propoff != -FDT_ERR_NOTFOUND ) ? propoff : 0;
 }
 
-static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
+static void modify_pfdt_node(void *pfdt, int nodeoff)
+{
+    int proplen, i, rc;
+    const fdt32_t *prop;
+    fdt32_t *prop_c;
+
+    prop = fdt_getprop(pfdt, nodeoff, "iommus", &proplen);
+    if ( !prop )
+        return;
+
+    prop_c = xzalloc_bytes(proplen);
+
+    for ( i = 0; i < proplen / 8; ++i )
+    {
+        prop_c[i * 2] = cpu_to_fdt32(GUEST_PHANDLE_VSMMUV3);
+        prop_c[i * 2 + 1] = prop[i * 2 + 1];
+    }
+
+    rc = fdt_setprop(pfdt, nodeoff, "iommus", prop_c, proplen);
+    if ( rc )
+    {
+        dprintk(XENLOG_ERR, "Can't set the iommus property in partial FDT");
+        return;
+    }
+
+    return;
+}
+
+static int __init scan_pfdt_node(struct kernel_info *kinfo, void *pfdt,
                                  int nodeoff,
                                  uint32_t address_cells, uint32_t size_cells,
                                  bool scan_passthrough_prop)
@@ -3261,6 +3289,7 @@ static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
     node_next = fdt_first_subnode(pfdt, nodeoff);
     while ( node_next > 0 )
     {
+        modify_pfdt_node(pfdt, node_next);
         scan_pfdt_node(kinfo, pfdt, node_next, address_cells, size_cells,
                        scan_passthrough_prop);
         node_next = fdt_next_subnode(pfdt, node_next);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:20:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:20:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451049.708659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mIR-0006vx-GZ; Thu, 01 Dec 2022 16:20:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451049.708659; Thu, 01 Dec 2022 16:20:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mIR-0006vW-Dh; Thu, 01 Dec 2022 16:20:23 +0000
Received: by outflank-mailman (input) for mailman id 451049;
 Thu, 01 Dec 2022 16:20:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jPp1=37=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p0mCa-00075z-5P
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:14:20 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20628.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 356749ca-7193-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:14:19 +0100 (CET)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DBBPR08MB6314.eurprd08.prod.outlook.com (2603:10a6:10:20f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 16:14:12 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%9]) with mapi id 15.20.5880.008; Thu, 1 Dec 2022
 16:14:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 356749ca-7193-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iWyQnp6MVJ8MsBVTt4iRN3fx2i5TOaUJBwJbfTFSTyBa/Rf9FMUK+Zt6HslnUo/uXEIjR3H8jRR81lrjssG0NSWTqq0+GQk/KcQ4k0vG1LTUXIwnXV2cFVJCX0hMTFkGnLbuur9lqK5p61PST9vQijcBqDahCyUJrD1QrrGf6/4Z6y9k8NAf91DLtt5BQlmTgPrpsnJ+g2hxehqvNjXSWQ3vJppdqn79BvbVsfqkvElfBCXoU/a6Ek2whkwKM9YvhQ5zsNAIL+xZh/MeF9EG/JjYkmrxE/jYesUM4RYYvs8hoO4X62nd/G+rhmAd6rW3aANQlv/dcmbBxKskOwCRUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jFJM/T03TxyNEVVjKFFZOrrgzK6ufYoHZTBMSCT/bGQ=;
 b=edBnovFjeR5QqHMPKZK9mNebXJI+qr8PNanjUMMtuBwuOKXvgxN0/jg2AlMHzjDQzrmxCq9/fsaSKW2seWYQdYMoWW32I52xWuOuhorHkXide3OraG8YCs+TvPqitRMTWq7oDhmr+ez+4F9t9LNMa20DGrkhN01xp7JiaMTxC/6/9xX0B3Oi63XTAXFD4oKqcekSwjSpeFRyUU9MX3xiW4s6zM1SxF6PGx4UvREuYHXXaBVXDfB0n5k3gbHV7AxWK37buE0oPhcHErLopaqjxT1Q7QmPapDHC9AZc8kVMqYxWb+kIhqCwkqf5NdI5wP/1nnffF+10KpEWz+O+D8Sww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jFJM/T03TxyNEVVjKFFZOrrgzK6ufYoHZTBMSCT/bGQ=;
 b=xfdU/8lRYJrKOtoU6QccJBNAe4IlTM5fGDYV/nfInylbm1svs/BJtelA1QNmCNiu+J1QgcIPQfo04bJJko6uk3S3/78Qm8D5V89DKZbDhPTGQftJb2k7iGgbqxsLofKHvkjCUcSXuR1i/d8a8smRUs6tSgDie2SwIVvuDkvDpIQ=
From: Henry Wang <Henry.Wang@arm.com>
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Roger Pau
 Monne <roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [4.17?] Re: [PATCH] x86/HVM+shim: fix build when
 !CONFIG_GRANT_TABLE
Thread-Topic: [4.17?] Re: [PATCH] x86/HVM+shim: fix build when
 !CONFIG_GRANT_TABLE
Thread-Index: AQHZBZ20FNPkaUdVSkig9Y686gPD965ZMT6AgAAA44CAAAFewA==
Date: Thu, 1 Dec 2022 16:14:11 +0000
Message-ID:
 <AS8PR08MB7991E47CA9036E000C00E68D92149@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <2ea8c3de-4967-802c-9a32-79203cd41384@suse.com>
 <261da93e-9464-8e9f-6ae2-a8f8ec466def@citrix.com>
 <8b93be0a-cca6-f1f2-2902-afcf1f8915f6@suse.com>
In-Reply-To: <8b93be0a-cca6-f1f2-2902-afcf1f8915f6@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 7DFAAD9B12E8E34FAC3144D726DE804D.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|DBBPR08MB6314:EE_
x-ms-office365-filtering-correlation-id: e1501969-d175-4056-efea-08dad3b7158c
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 wA+gXOqzdIwj8yURe5r9R8/z91Fh2BjUcy+4rHCyaQtiUzNeLcyqbZN2+qrQ0KEYcxc/RJUdRnjeTlDMtSZuj2h/DIypenlN7SKSfZsSza0Iv/VwOeKjgqv0sOAlPn01odhT69JwBYOlxU2lxMjEiIsXXxZaVJdOdM6gsELYv4QvxYwzOmBGYR9Tyc0g0Dg3kR/sY/bRleKsgGwYk9H8ehCEto5iECjlaexvI+9VOFJQ0QMB5wyiCvweT9rbUg93leuPj8quP2l3TVuT/zcdNPCd3QvT+bnqrykwHlpnDLCTSXWuMZjklBIRHpZXtRTz3VO45vR5lfl/w1Cw5YbZPN30G0cw9pLq1Zd2y0ymjqNFmESJtfdUPf4F9qBDqL/Em6UPOas8/FBAKBVr0Vrw902Mb+Bde8IVYmzl+qZd+hMZx1jpFlMyJpAj6/F2cye3aaxwFIu9eyPH06rVb1MgwgC3+JNN9Jxdml6MnoRBllB0Sm+6xi0APY43WF7izkpC9ehBA63XQCp7vusy17J4PhtN6RWR7sJ7AhG7NY0hXxW0s5X5WVC+cwqSKKiYVc662fnlQKR0mFh/JHPd/zueRlu3pgXHLKMT/bF16QxKwmp+RU2QA4PbknejQss+9fnLP2o2SJ/cwiuqhy0tYGuqanuWraNW7kuKulm6+sjRUFpE+JjevNYq6ZtrfYKjI1QmDdu7oqm4ZNxoS9UIWxi6YA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(376002)(366004)(136003)(346002)(451199015)(54906003)(110136005)(316002)(52536014)(38100700002)(38070700005)(122000001)(478600001)(71200400001)(76116006)(4326008)(41300700001)(33656002)(55016003)(5660300002)(66476007)(66556008)(186003)(64756008)(8936002)(8676002)(66946007)(66446008)(86362001)(53546011)(2906002)(83380400001)(7696005)(6506007)(26005)(9686003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?a1NJcGhXd3lJN2dsbXRYRWdBSUVxZFJJKzZPMk5iUWxNenoya2w0dFNZSy9Q?=
 =?utf-8?B?M2NIczA2VUtTN1BRZHdiUjB1VjVWK2kyRnZBRG55TWtsWm5aR2FJa05sYjlY?=
 =?utf-8?B?SmdvWHo1UGplbTk3cFdyeHAycTRUZ3k3R0RtUXZKcThMQ2pRcWYvL3RNaHRE?=
 =?utf-8?B?N20zYS8rUGFBeFc2UjVITVlYZTYvSFA5Ym02THFXYU1ISHh4NDVZSWgzVk9u?=
 =?utf-8?B?by9PNkhFUDRFR3VjbWRDaThUTnBKRmIvRDRLTFVXSTFha1M2YTk5cmxHQnI4?=
 =?utf-8?B?aThRcVA5QXhSMDlueTBtWnBsaHloTjdkR1NVaWFkZ0lYSi8wdkFsMTFHVGo1?=
 =?utf-8?B?M29lT1FzWDBjSUpKVldPdzNnNy9KMEVlWHE1R3lqdDRSOHNaSXRYS1ZmSmFU?=
 =?utf-8?B?bTVhczdqZ2Vvc0tkVFd5S2NHSnhvaFFXWGxEU1Z2Y1V6L1dvaFhjZkZETXU1?=
 =?utf-8?B?TVNRTDEvZWViR0VRdm0zeFYwVGtydkVtbzFDamNySXJmOHpTRjZ5dEtNTXRU?=
 =?utf-8?B?cUR1dFlJenF6V2hiMHRqNlF6c0w3Vi9lMGFldlB0bDlhSmI4dWRQWExaQm5O?=
 =?utf-8?B?Z1hLTzh2RDZIQVZReTZoOXExUDNDbnpaNlRKcDlsSHgyc0JocFhKOTduRHJj?=
 =?utf-8?B?TnZjaXlYUGFoK3pzazBYZjhxd2JqdFc4MFpqQ3poVkt0V1I4czBHUmhWWlBh?=
 =?utf-8?B?NFdSM2lNc2JReEVYZW81UE9rM2RpUHZnaU5VdUN6Y08xYWdQMVNac3NxWUtx?=
 =?utf-8?B?ZkhqeVBIY2tjNGV5R0tSbFVBbWNOdDJ0dEc1RVpud1NMd3V2Vjd3L0xzdnNL?=
 =?utf-8?B?NHl0WTZZSlBCcnhrdG81a3pVNy9FV3I5T3gyM293ZnM0TnVrdnpDWHBPdjZE?=
 =?utf-8?B?a3daOFhCUXRHMzNsZVdmRmZPUHRpMERRNDFzRmlnMzlYTEpESlRQazhnWXZD?=
 =?utf-8?B?YTJXS2JIZ1NtM1JNcStuYnhTYXFtbXVmbXpEOG9vOXBVcHZEbVY0Qk5iUmo3?=
 =?utf-8?B?RFpxKzdvMGtpUXFjUVVjNzlnK1ZFNm01S0d4NlpjYVJRck5NNkYxaTAycStv?=
 =?utf-8?B?ZHZIMjVveTlpdlRKTHBnNXRubWg1NFkzQVV0d1dKYUR5alIzQnZKS0cwQmlr?=
 =?utf-8?B?cnYxSlVqYUxSanhGYTR0VnEzQ0xJeWhLVnlrYkxIbklxMGxOZ2UyblFJVUNH?=
 =?utf-8?B?cVpoakxYZFpWK0VHbXk3ZTBkQzFQVERNR3YrdFp3ajZ4ditRdm43bTQ2b2h4?=
 =?utf-8?B?aUpMUmlqZG1IdXgzM0dwOSs4bDFTQk1ackh6N21KbkFoemdaOFU4cGNpU2FN?=
 =?utf-8?B?Wjk3TlYwcW9LREdNUnoxVWFKMlE2OU5BVlduWVpkU0J1OXluRXYrZHFQcE9i?=
 =?utf-8?B?NEZlUFc4NWs1bk83LytkVGF3YmxqZFJ3VzlFNHVDTTlHR0RVdi95bGU4V2s1?=
 =?utf-8?B?azFrZUFueTlJNHhtODh3ajJNOThiUUovNHg2OEIvb1BlUmZlVk5tRjI4MXdP?=
 =?utf-8?B?M1llekRDN2g4NWdhWmJtOWtxYmVMWnNycTRhb2dhOXZzdzJsVnN5QW4xUTFK?=
 =?utf-8?B?TDNBME5wMGs3OUhJa0w4aWJrSW9yNVRhS05XN0VqTDdtQnZRa2xueWFMdXFy?=
 =?utf-8?B?U1ZQUWltWGFZWkJadzJ4RUZKazc3ZVM0SFJRallDM25jaHJYRzVKald4QU9U?=
 =?utf-8?B?ZVh1Y1V2YVNRaDFqM0xqUWZnMk1RZllNVS9zWlZLYTMwS0RUTG1CQmlka3g3?=
 =?utf-8?B?ZzhFZ3JLS2tOd3RkNnptUTdFMEVORCtRRDRUQzk2bnp1bTdSMkwzMXZmLzZO?=
 =?utf-8?B?SXpKS0xRdnRwdEtIK0t6U3hMdU9oc09ZSmRaRG0yMHRmUTBLa1N1Wk1uMUU2?=
 =?utf-8?B?cFFtMzkvR1lrVDBtNVFhYjNZTldBVzRnRFJIMzRGT2JHcTZteHBndk82cDRZ?=
 =?utf-8?B?Yi9ET1dBcjZOazV4dVFzc0I1WVVnTGppN2plQUhkdmh4TFcwVHJaWEh3alp1?=
 =?utf-8?B?N1FvaHlXMWk3cFBYbHU0bmg3YjdITU91OGhPU0xxejJObEgxelBKZE45bGJZ?=
 =?utf-8?B?Vy94N0dXcmp4ZjdQbVVmVHF0WGx5eE1lR080TWw4RWdzNktGWjJvZ2djR3Zy?=
 =?utf-8?Q?YCap3lJgZmmjFbCS4zzQk62B5?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e1501969-d175-4056-efea-08dad3b7158c
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 16:14:12.0224
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: uBUvW/XI3f9OVf+jV3U7ZQVdqH8iMTSuasNbZ+hk9WIsHiq4ZBPlWGICLcEyYuGRnDtulPzlxWihQXu+i+tOEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6314

SGkgSmFuIGFuZCBBbmRyZXcsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJv
bTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiBTdWJqZWN0OiBbNC4xNz9dIFJl
OiBbUEFUQ0hdIHg4Ni9IVk0rc2hpbTogZml4IGJ1aWxkDQo+IHdoZW4gIUNPTkZJR19HUkFOVF9U
QUJMRQ0KPiANCj4gT24gMDEuMTIuMjAyMiAxNzowMSwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4g
PiBPbiAwMS8xMi8yMDIyIDE1OjU3LCBKYW4gQmV1bGljaCB3cm90ZToNCj4gPj4gVGhlIEhWTSBm
bGF2b3Igb2YgdGhlIGh5cGVyY2FsbCBoYW5kbGVycyBleGlzdHMgb25seSB3aGVuIEdSQU5UX1RB
QkxFDQo+IGlzDQo+ID4+IGVuYWJsZWQsIHdoaWxlIHN1cnJvZ2F0ZSBzaGltIHZhcmlhbnRzIGV4
aXN0IG9ubHkgZm9yIHRoZSBwdXJwb3NlIG9mIFBWLg0KPiA+PiAoQWxzbyBzY3JhdGNoIG91dCB0
aGUgQXJtIHZhcmlhbnQgaW4gdGhhdCBjYXNlOyB3aGF0IGV4YWN0bHkgaXMgdXNlZCBpbg0KPiA+
PiB0aGF0IGNlbGwgb2YgdGhlIG5ldyB0YWJsZSByb3cgZG9lc24ndCByZWFsbHkgbWF0dGVyLikN
Cj4gPj4NCj4gPj4gRml4ZXM6IDg1MjM4NTFkYmM0OSAoInhlbi94ODY6IGNhbGwgaHlwZXJjYWxs
IGhhbmRsZXJzIHZpYSBnZW5lcmF0ZWQNCj4gbWFjcm8iKQ0KPiA+PiBTaWduZWQtb2ZmLWJ5OiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+ID4+IFJlcG9ydGVkLWJ5OiBBbmRyZXcg
Q29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPiA+DQo+ID4gVGhhbmtzIGZvciBp
bnZlc3RpZ2F0aW5nLg0KPiA+DQo+ID4gQWNrZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5j
b29wZXIzQGNpdHJpeC5jb20+DQo+IA0KPiBUaGFua3MuDQo+IA0KPiA+IFRob3VnaHRzIGFib3V0
IGluY2x1c2lvbiBpbnRvIDQuMTc/wqAgVGhpcyBpcyBhIGJ1aWxkIHRpbWUgcmVncmVzc2lvbiB2
cw0KPiA+IDQuMTYuDQo+IA0KPiBJIHRob3VnaHQgdGhpcyB3YXMgb2RkIGVub3VnaCBhIGNvbmZp
Z3VyYXRpb24sIGJ1dCBzaW5jZSB5b3UgYXNrLCBsZXQgbWUNCj4gZm9yd2FyZCB0aGUgcXVlc3Rp
b24gdG8gSGVucnkuDQoNCkkgdGhpbmsgYSBidWlsZCB0aW1lIHJlZ3Jlc3Npb24gc2hvdWxkIGJl
IGZpeGVkLiBXZSBjYW5ub3QgYXNzdW1lIHVzZXJzDQp3aWxsIG5vdCB1c2UgdGhpcyBjb25maWd1
cmF0aW9uIChhcyBKYW4gcG9pbnRlZCBvdXQgaW4gSVJDKS4gU28gZm9yIDQuMTc6DQoNClJlbGVh
c2UtYWNrZWQtYnk6IEhlbnJ5IFdhbmcgPEhlbnJ5LldhbmdAYXJtLmNvbT4NCg0KQnV0IGlmIE9T
U1Rlc3QgaXMgZXhwbG9kZWQgYWZ0ZXIgbWVyZ2luZyB0aGlzIHBhdGNoLCBJIHdvdWxkIGxpa2Ug
dG8gcmVxdWVzdA0KYSByZXZlcnQgc2luY2Ugd2UgZG9uJ3QgaGF2ZSB0b28gbXVjaCB0aW1lIGxl
ZnQgZm9yIHRoZSBkdWUgZGF0ZS4gSG9wZWZ1bGx5DQpldmVyeW9uZSBpcyBmaW5lIHdpdGggdGhh
dC4NCg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg0KPiANCj4gSmFuDQo=


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 16:20:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 16:20:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451056.708671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mIZ-0007aX-SR; Thu, 01 Dec 2022 16:20:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451056.708671; Thu, 01 Dec 2022 16:20:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0mIZ-0007aO-PJ; Thu, 01 Dec 2022 16:20:31 +0000
Received: by outflank-mailman (input) for mailman id 451056;
 Thu, 01 Dec 2022 16:20:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ShmB=37=arm.com=rahul.singh@srs-se1.protection.inumbo.net>)
 id 1p0mCF-00075z-0U
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 16:13:59 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 28c57f2a-7193-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 17:13:57 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F1260D6E;
 Thu,  1 Dec 2022 08:14:03 -0800 (PST)
Received: from e109506.cambridge.arm.com (e109506.cambridge.arm.com
 [10.1.199.62])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8E7EC3F73B;
 Thu,  1 Dec 2022 08:13:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28c57f2a-7193-11ed-91b6-6bf2151ebd3b
From: Rahul Singh <rahul.singh@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 14/21] xen/arm: vIOMMU: IOMMU device tree node for dom0
Date: Thu,  1 Dec 2022 16:02:38 +0000
Message-Id: <544b8450c977f6d005f1d9adee8e0ff33b9bd3ec.1669888522.git.rahul.singh@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

XEN will create an IOMMU device tree node in the device tree
to enable the dom0 to discover the virtual SMMUv3 during dom0 boot.
IOMMU device tree node will only be created when cmdline option viommu
is enabled.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
---
 xen/arch/arm/domain_build.c       | 94 +++++++++++++++++++++++++++++++
 xen/arch/arm/include/asm/viommu.h |  1 +
 2 files changed, 95 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index a5295e8c3e..b82121beb5 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2233,6 +2233,95 @@ int __init make_chosen_node(const struct kernel_info *kinfo)
     return res;
 }
 
+#ifdef CONFIG_VIRTUAL_IOMMU
+static int make_hwdom_viommu_node(const struct kernel_info *kinfo)
+{
+    uint32_t len;
+    int res;
+    char buf[24];
+    void *fdt = kinfo->fdt;
+    const void *prop = NULL;
+    const struct dt_device_node *iommu = NULL;
+    struct host_iommu *iommu_data;
+    gic_interrupt_t intr;
+
+    if ( list_empty(&host_iommu_list) )
+        return 0;
+
+    list_for_each_entry( iommu_data, &host_iommu_list, entry )
+    {
+        if ( iommu_data->hwdom_node_created )
+            return 0;
+
+        iommu = iommu_data->dt_node;
+
+        snprintf(buf, sizeof(buf), "iommu@%"PRIx64, iommu_data->addr);
+
+        res = fdt_begin_node(fdt, buf);
+        if ( res )
+            return res;
+
+        prop = dt_get_property(iommu, "compatible", &len);
+        if ( !prop )
+        {
+            res = -FDT_ERR_XEN(ENOENT);
+            return res;
+        }
+
+        res = fdt_property(fdt, "compatible", prop, len);
+        if ( res )
+            return res;
+
+        if ( iommu->phandle )
+        {
+            res = fdt_property_cell(fdt, "phandle", iommu->phandle);
+            if ( res )
+                return res;
+        }
+
+        /* Use the same reg regions as the IOMMU node in host DTB. */
+        prop = dt_get_property(iommu, "reg", &len);
+        if ( !prop )
+        {
+            printk(XENLOG_ERR "vIOMMU: Can't find IOMMU reg property.\n");
+            res = -FDT_ERR_XEN(ENOENT);
+            return res;
+        }
+
+        res = fdt_property(fdt, "reg", prop, len);
+        if ( res )
+            return res;
+
+        prop = dt_get_property(iommu, "#iommu-cells", &len);
+        if ( !prop )
+        {
+            res = -FDT_ERR_XEN(ENOENT);
+            return res;
+        }
+
+        res = fdt_property(fdt, "#iommu-cells", prop, len);
+        if ( res )
+            return res;
+
+        res = fdt_property_string(fdt, "interrupt-names", "combined");
+        if ( res )
+            return res;
+
+        set_interrupt(intr, iommu_data->irq, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+
+        res = fdt_property_interrupts(kinfo, &intr, 1);
+        if ( res )
+            return res;
+
+        iommu_data->hwdom_node_created = true;
+
+        fdt_end_node(fdt);
+    }
+
+    return res;
+}
+#endif
+
 int __init map_irq_to_domain(struct domain *d, unsigned int irq,
                              bool need_mapping, const char *devname)
 {
@@ -2587,6 +2676,11 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     if ( dt_match_node(timer_matches, node) )
         return make_timer_node(kinfo);
 
+#ifdef CONFIG_VIRTUAL_IOMMU
+    if ( device_get_class(node) == DEVICE_IOMMU && is_viommu_enabled() )
+        return make_hwdom_viommu_node(kinfo);
+#endif
+
     /* Skip nodes used by Xen */
     if ( dt_device_used_by(node) == DOMID_XEN )
     {
diff --git a/xen/arch/arm/include/asm/viommu.h b/xen/arch/arm/include/asm/viommu.h
index 4de4cceeda..e6018f435b 100644
--- a/xen/arch/arm/include/asm/viommu.h
+++ b/xen/arch/arm/include/asm/viommu.h
@@ -19,6 +19,7 @@ struct host_iommu {
     paddr_t addr;
     paddr_t size;
     uint32_t irq;
+    bool hwdom_node_created;
 };
 
 struct viommu_ops {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 17:31:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 17:31:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451084.708681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0nPM-0001Ca-1p; Thu, 01 Dec 2022 17:31:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451084.708681; Thu, 01 Dec 2022 17:31:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0nPL-0001CT-VQ; Thu, 01 Dec 2022 17:31:35 +0000
Received: by outflank-mailman (input) for mailman id 451084;
 Thu, 01 Dec 2022 17:31:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ywn3=37=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p0nPK-0001CN-Id
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 17:31:34 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fdfc80e3-719d-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 18:31:32 +0100 (CET)
Received: from DM6PR07CA0126.namprd07.prod.outlook.com (2603:10b6:5:330::9) by
 BL3PR12MB6476.namprd12.prod.outlook.com (2603:10b6:208:3bc::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5857.23; Thu, 1 Dec 2022 17:31:27 +0000
Received: from DM6NAM11FT094.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:330:cafe::53) by DM6PR07CA0126.outlook.office365.com
 (2603:10b6:5:330::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Thu, 1 Dec 2022 17:31:27 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT094.mail.protection.outlook.com (10.13.172.195) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Thu, 1 Dec 2022 17:31:26 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 11:31:25 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 09:31:25 -0800
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 1 Dec 2022 11:31:24 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fdfc80e3-719d-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KH3kZRyJ2G/aPnPYwVqv3EIygaJCQEwAwcFCxhJW+SUEQS3tXKZW8kqa5zXuab3B8nkBmr2QQGJaHYZ+0pJMWmMbAra7DrBigSDYczIN+oL5xSsT8w89PLEYSZ53JuOsHxmfJW23CAPDIuMUI3A6HnzeaZLgeFB+D6c3sMlplyEMxzKjnuviqAa78uyR4hUEXSA86NnPAG47oWnsAtSCGIPnebUH8vRn/4IwmYMk/EsOvKwEWKXL24F/LdOJiVTheY/DnwiwWvyqzLGGrBFgACfjm48iVpj0E6Zc3t7+GfH2NVcREzLkJsYk6THXAXIiwff7yxIbSP/0XysxVXwphA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g3iyd5LwACZyzI3z2WmmW03akA0ULGJVFo8bGEQwiv4=;
 b=jsnzphEVkxrNfu+Qd5owUt6l0CnPB8ouQpTcSx2CL21IHiZMT7j6z9q1ufTjDcV7hpk8Oc7LbbJwpoT7LBtCEEnX11Df3T8OMAR/Wpom0ucBUenHskOeGeWS+RMj5F75SdBANWoU5Ir71iEs82jTEmLZbUsRPmE4zRFhdqVriv/GqI2kBu7phoQNIKaEifTMN1iVQWVUxYZFxqoA8NGpyZhuXyG0tjMrpytFY6iJDuxyyAItzmA8mcRP8wybt/d4tdw8oSGLAbboEf1GRY9hLAssaHIoSYsLJEC1Tjade1j8o4b4bDtWuhCE5MBDFqhbnfs10wMs9iBRy5Gp1HBwuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=g3iyd5LwACZyzI3z2WmmW03akA0ULGJVFo8bGEQwiv4=;
 b=1lmlGZJgsqbmhLGMMnGvYeAWr0hM+83ldKt0+B3MFNHTR3QELbjhCAaIqS/hyGlbPG4a0pzFvuZEGbZqd5ANmeq5ZtOEUP4Yein/kZDNyeLhgUJ4vlAVWFeUuUPTSQqXeY0AkE/I4dL9EFt9D6y8BjfwukiVqBNCQUusgjJPBlw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [XEN v1] xen/Arm: Remove the extra assignment
Date: Thu, 1 Dec 2022 17:31:21 +0000
Message-ID: <20221201173121.33865-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT094:EE_|BL3PR12MB6476:EE_
X-MS-Office365-Filtering-Correlation-Id: f5e5908f-e6b4-4d65-5947-08dad3c1e002
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UJwlVBw9uTTXHLSl/4OAcTSTFtE52vKSuo41eq/dAMsbPXTserYKbgNLFt8ref/ScXSaJ0ywvfquZJ4rBXYx6fovC1qz2I0CiCMnt0wLCjKc7zahbSGvErEwvUn5oBOwRZhxzk+JofPy9i+UPyFo2icFVBpNmT9UgG5YGjCWDNYrTxvp72MbcqG360Mpuz9d6Hl04CMQJvbOFcHi3ElT1gTjz7RMOteu/XPqWi853vk0X+BeLlc3zn2c/gY7TX8kzQiYiiH1SXjnXTuxdQDt8T5rLU/quQ/qh2ADtHsGEpROB7C2N5vo5FiClO4atu1nCTkWzmlTMCrsdLy7YUk+7etqHPbWv/BWfWL0G5NXPolss1OTGNaGfmMPaFucbERyOx3LoApAmU46MV1QJ/BbMiwkKcc7iK1lExRN7i2zNstkLMgscWVv/iUgjIJtWcPLvlJ6wK37wsS48Y/Kcg2itXHK/vs+yvXVXt2XcVM7OKMqKubW2cIJPTv51Mf9B3YmOcFFnrVrJsF/Ib+Ev6LZJ2gXJ/52FWomru1ur9C3aSz9P5XHPf6+GbboZYxuPySYSIaRBY1G+7GgoaGT4FEfC/TNI+vgulEcATWE7l33h+p9DdWAtvr7otYD928DdWqsFOaAH+1nIQPUBQWHWbWO6OQve060qtXArMjJpofbkwi2r3veaKAApU9edSalaKDncL0cnEyrF3tr6oUX3On0neyaS0SUVisXCsv+bdl1PHI=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(39860400002)(136003)(376002)(396003)(451199015)(40470700004)(36840700001)(46966006)(81166007)(356005)(82740400003)(5660300002)(40480700001)(36860700001)(41300700001)(8936002)(82310400005)(83380400001)(103116003)(2906002)(86362001)(6916009)(316002)(36756003)(1076003)(8676002)(70586007)(2616005)(54906003)(4326008)(70206006)(47076005)(336012)(26005)(426003)(186003)(478600001)(40460700003)(6666004)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 17:31:26.5964
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f5e5908f-e6b4-4d65-5947-08dad3c1e002
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT094.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6476

As "io_size" and "uart->io_size" are both u64, so there will be no truncation.
Thus, one can remove the ASSERT() and extra assignment.

In an earlier commit (7c1de0038895cbc75ebd0caffc5b0f3f03c5ad51),
"ns16550.io_size" was u32 and "io_size" was u64. Thus, the ASSERT() was needed
to check if the values are the same.
However, in a later commit (c9f8e0aee507bec25104ca5535fde38efae6c6bc),
"ns16550.io_size" was changed to u64. Thus, the ASSERT() became redundant.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
 xen/drivers/char/ns16550.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 01a05c9aa8..58d0ccd889 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -1747,7 +1747,6 @@ static int __init ns16550_uart_dt_init(struct dt_device_node *dev,
     struct ns16550 *uart;
     int res;
     u32 reg_shift, reg_width;
-    u64 io_size;
 
     uart = &ns16550_com[0];
 
@@ -1758,14 +1757,10 @@ static int __init ns16550_uart_dt_init(struct dt_device_node *dev,
     uart->parity    = UART_PARITY_NONE;
     uart->stop_bits = 1;
 
-    res = dt_device_get_address(dev, 0, &uart->io_base, &io_size);
+    res = dt_device_get_address(dev, 0, &uart->io_base, &uart->io_size);
     if ( res )
         return res;
 
-    uart->io_size = io_size;
-
-    ASSERT(uart->io_size == io_size); /* Detect truncation */
-
     res = dt_property_read_u32(dev, "reg-shift", &reg_shift);
     if ( !res )
         uart->reg_shift = 0;
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 17:37:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 17:37:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451091.708692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0nUs-0001pj-Lz; Thu, 01 Dec 2022 17:37:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451091.708692; Thu, 01 Dec 2022 17:37:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0nUs-0001pc-JK; Thu, 01 Dec 2022 17:37:18 +0000
Received: by outflank-mailman (input) for mailman id 451091;
 Thu, 01 Dec 2022 17:37:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0nUr-0001pW-TI
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 17:37:17 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0nUq-0007Va-QK; Thu, 01 Dec 2022 17:37:16 +0000
Received: from 54-240-197-225.amazon.com ([54.240.197.225]
 helo=[192.168.7.195]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0nUq-0007h9-I9; Thu, 01 Dec 2022 17:37:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=SIo5dOEqUCg1DV062ZvSliOIBMNEE6M/Oz8SxD4QREk=; b=JlLZ8WHGTaEdSaQjWdX1Rh17C8
	DzMdikh7HTDLrEaHPQQLyf8aBl3XlIeojhadQwbtADFGZdZVHgQi/HexqylNFRzUrH11XOul+UC2N
	XdKrd7qA4qf66xIUTUG8pFMoT/nkONg42UmQAQWGiSEt63/CObj4+PgC5x4cUDSWg+cc=;
Message-ID: <59a9a45f-b4c2-2801-b8e4-2fb21b2af745@xen.org>
Date: Thu, 1 Dec 2022 17:37:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [XEN v1] Xen: Enable compilation when PADDR_BITS == BITS_PER_LONG
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, andrew.cooper3@citrix.com,
 george.dunlap@citrix.com, jbeulich@suse.com, bobbyeshleman@gmail.com,
 alistair.francis@wdc.com, connojdavis@gmail.com, wl@xen.org
References: <20221201100309.2385-1-ayan.kumar.halder@amd.com>
 <c89992bb-065b-e7e4-3f5f-1c70754e4635@xen.org>
 <f44a10ff-06a4-c2e9-930d-a10423026d2c@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f44a10ff-06a4-c2e9-930d-a10423026d2c@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 01/12/2022 12:12, Ayan Kumar Halder wrote:
> 
> On 01/12/2022 10:26, Julien Grall wrote:
>> Hi Ayan,
> 
> Hi Julien,
> 
> I have a question.
> 
>>
>> On 01/12/2022 10:03, Ayan Kumar Halder wrote:
>>> It is possible for a pointer to represent physical memory of the same 
>>> size.
>>> In other words, a 32 bit pointer can represent 32 bit addressable 
>>> physical
>>> memory.
>>> Thus, issue a compilation failure only when the count of physical 
>>> address bits
>>> is greater than BITS_PER_LONG (ie count of bits in void*).
>>
>> I am having difficult to understand how this description is related to 
>> the BUILD_BUG_ON(). AFAIU, it is used to check that xenheap_bits can 
>> be used in shift.
>>
>> If the unsigned long is 32-bit, then a shift of 32 could be undefined. 
>> Looking at the current use, the shift are used with "xenheap_bits - 
>> PAGE_SHIFT". So as long as PAGE_SHIFT is not 0, you would be fine.
> Ack
>>
>>>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>>
>>> Currently this change will not have any impact on the existing 
>>> architectures.
>>> The following table illustrates PADDR_BITS vs BITS_PER_LONG of 
>>> different archs
>>>
>>> ------------------------------------------------
>>> | Arch      |   PADDR_BITS    |   BITS_PER_LONG |
>>> ------------------------------------------------
>>> | Arm_64    |   48            |   64            |
>>> | Arm_32    |   40            |   32            |
>>> | RISCV_64  |   Don't know    |   64            |
>>> | x86       |   52            |   64            |
>>> -------------------------------------------------
>>
>> The Arm_32 line is a bit confusing because one would wonder why we 
>> haven't seen this issue yet. So I think you want to clarify that the 
>> code path is not used by Arm32.
> 
> Do you want this clarification and the above/below explanation to be a 
> part of the commit message ?

No I don't think this will be relevant in the final commit message.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 17:42:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 17:42:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451098.708704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0nZs-0003fU-8r; Thu, 01 Dec 2022 17:42:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451098.708704; Thu, 01 Dec 2022 17:42:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0nZs-0003fN-5G; Thu, 01 Dec 2022 17:42:28 +0000
Received: by outflank-mailman (input) for mailman id 451098;
 Thu, 01 Dec 2022 17:42:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=v6DZ=37=gmail.com=vsuneja63@srs-se1.protection.inumbo.net>)
 id 1p0nZq-0003fH-Ab
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 17:42:26 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 826b8b5b-719f-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 18:42:22 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id e27so5891463ejc.12
 for <xen-devel@lists.xenproject.org>; Thu, 01 Dec 2022 09:42:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 826b8b5b-719f-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=iWsoV7QWvvXLhPBI2gCCG0Rn+WPm4MwZk07+1qlxsEw=;
        b=Q3u9eV3VyPnjtpV/2ZDAarD2OSrpkwLpozhSmrIv0nkpqn2XlzfYpfep69IwV+Swh4
         BMjI+EcI9ocDPMelDiytYFMIJ6WyTtMMCtW5UJKMda1sJUxB8CnYXUjds0lNLsSiu8V2
         vx+D+lnfEDxjZydthE5tzr7769gRnwUQyhmlXI7SV0MCQG9DKKb/Fs9uBOD7BcbsxhTC
         Hn/GqdfkBM1Dh306zti3cDJZjT6eZd77rgZKoT+BC5CALeiqVHttBzeoxSnhMVKadfgu
         dHeXdkcNyWl2K4HdoMYvmDmLsZlwFSzGtTHI06vbhs8DcHxcu606uGCQpgM9awLEI117
         BAZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=iWsoV7QWvvXLhPBI2gCCG0Rn+WPm4MwZk07+1qlxsEw=;
        b=h4TI7hkN8Nz04eT0aWQ7Y27Y/I/B/CVMkc+Xltes706WfAZEui/d2CpgI3D4SFhYsI
         MEiY4KvuQDP3o4offZ48Haf7NUasKCbOXZpqrAIdzkqP6cSDsPLFR7C0ku/GV+GnkK34
         0XvC6GPvuc+szT4ygnD6IwkA6pt+sjfPWfLkPhR8IRvlYCDNpkW4PrviZW6HhAM+9/f7
         BsGQ1P6/cNGt8c8iSZ99RHdklEtl+OYP0s+fR/T3OH3b7K3zc+TADWz+JHSUU9IOtZFT
         Zzti4QZbfQQPjdyZSlgmIuxcWKMWb23bbGIOvfpGgntr+BsUO0esaICGshgDD+3Qs4oy
         /cIQ==
X-Gm-Message-State: ANoB5plf6ocR2AjQCy6QBZkeiXc3Y62vDOpqHFrgXDWwbGOjgEsn1JdG
	77y9jzNm2OVhgHv30mrdveORrPPcSJN6Wel9rREbDU82f+FwyQ==
X-Google-Smtp-Source: AA0mqf5HvyZz3PVkZUgzSaJnoIb/6ttpD59OYPi4Nv++cCrslL+1g4RZ61G/NxTRG2x+4+LygKSm0xThPlnw8UGE/UE=
X-Received: by 2002:a17:906:80c2:b0:7c0:7db7:e1af with SMTP id
 a2-20020a17090680c200b007c07db7e1afmr14780664ejx.596.1669916541133; Thu, 01
 Dec 2022 09:42:21 -0800 (PST)
MIME-Version: 1.0
References: <CALAP8f--jyG=ufJ9WGtL6qoeGdsykjNK85G3q50SzJm5+wOzhQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2210171400570.2351079@ubuntu-linux-20-04-desktop>
 <CALAP8f81ojfVD9n5EMtD7DxY-8uomgENVEQH9Afz7Hk9rfaAsw@mail.gmail.com>
 <alpine.DEB.2.22.394.2210181213370.4587@ubuntu-linux-20-04-desktop>
 <CALAP8f9Zgue6WfAk2uRGkg=1Up2Z+eQWqvQ1_Z2=r66Z5fvKoA@mail.gmail.com>
 <alpine.DEB.2.22.394.2210251641540.1397955@ubuntu-linux-20-04-desktop>
 <CALAP8f8Z8A2u8h56EJWOCN7nJFDvyEvM-Q85XMnUP6Y6mZDg3w@mail.gmail.com>
 <CALAP8f_n2okQ-Ss_kGACAq3BVYXS_D2P_8AyhOzUxqgWpz9f4g@mail.gmail.com>
 <alpine.DEB.2.22.394.2211101702250.50442@ubuntu-linux-20-04-desktop>
 <CALAP8f8zGfNA_CZU4UQXy7-rPT6dqih9XpzuKM3vvkoBvy6usg@mail.gmail.com> <alpine.DEB.2.22.394.2211221605470.1049131@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2211221605470.1049131@ubuntu-linux-20-04-desktop>
From: Vipul Suneja <vsuneja63@gmail.com>
Date: Thu, 1 Dec 2022 23:12:03 +0530
Message-ID: <CALAP8f_QiHN4dP3z+LQgKdGeo8-=9DMyk0W7+x6P2eHvnOD_wQ@mail.gmail.com>
Subject: Re: Porting Xen in raspberry pi4B
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, oleksandr_andrushchenko@epam.com, 
	oleksandr_tyshchenko@epam.com, jgross@suse.com, boris.ostrovsky@oracle.com, 
	Bertrand.Marquis@arm.com
Content-Type: multipart/alternative; boundary="0000000000003d2c8b05eec7bea0"

--0000000000003d2c8b05eec7bea0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Stefano,

Thanks!

I am exploring both options here, modification of framebuffer source file &
setting up x11vnc server in guest.
Other than these I would like to share a few findings with you.

1. If i keep "CONFIG_XEN_FBDEV_FRONTEND=3Dy" then xen-fbfront.ko is not
generating but if i keep "CONFIG_XEN_FBDEV_FRONTEND=3Dm"
then could see xen-fbfront.ko & its loading also. Same things with other
frontend/backend drivers also. Do we need to configure these drivers as a
module(m) only?

2. I could see xenstored service is running for the host but it's always
failing for the guest machine. I could see it in bootup logs & via
systemctl status also.
Below are the logs:













































*[  OK  ] Reached target Basic System.[  OK  ] Started Kernel Logging
Service.[  OK  ] Started System Logging Service.         Starting D-Bus
System Message Bus...         Starting User Login Management...
 Starting Permit User Sessions...         Starting The Xen xenstore...
   Starting OpenSSH Key Generation...[FAILED] Failed to start The Xen
xenstore.See 'systemctl status xenstored.service' for details.[DEPEND]
Dependency failed for qemu for xen dom0 disk backend.[DEPEND] Dependency
failed for Xend=E2=80=A6p guests on boot and shutdown.[DEPEND] Dependency f=
ailed
for xen-=E2=80=A6des, JSON configuration stub).[DEPEND] Dependency failed f=
or
Xenc=E2=80=A6guest consoles and hypervisor.[  OK  ] Finished Permit User Se=
ssions.[
 OK  ] Started Getty on tty1.[  OK  ] Started Serial Getty on hvc0.[  OK  ]
Started Serial Getty on ttyS0.[  OK  ] Reached target Login Prompts.
 Starting Xen-watchdog - run xen watchdog daemon...[  OK  ] Started D-Bus
System Message Bus.[  OK  ] Started Xen-watchdog - run xen watchdog
daemon.[  OK  ] Finished OpenSSH Key Generation.[  OK  ] Started User Login
Management.[  OK  ] Reached target Multi-User System.         Starting
Record Runlevel Change in UTMP...[  OK  ] Finished Record Runlevel Change
in UTMP.fbcon: Taking over consolePoky (Yocto Project Reference Distro)
4.0.4 raspberrypi4-64 hvc0raspberrypi4-64 login:
rootroot@raspberrypi4-64:~#root@raspberrypi4-64:~#root@raspberrypi4-64:~#
systemctl status xenstored.servicex xenstored.service - The Xen xenstore
 Loaded: loaded (/lib/systemd/system/xenstored.service; enabled; vendor
preset: enabled)     Active: failed (Result: exit-code) since Thu
2022-12-01 06:12:05 UTC; 26s ago    Process: 195 ExecStartPre=3D/bin/grep -=
q
control_d /proc/xen/capabilities (code=3Dexited, status=3D1/FAILURE)Dec 01
06:12:04 raspberrypi4-64 systemd[1]: Starting The Xen xenstore...Dec 01
06:12:05 raspberrypi4-64 systemd[1]: xenstored.service: Control
pro...UREDec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service:
Failed with...e'.Dec 01 06:12:05 raspberrypi4-64 systemd[1]: Failed to
start The Xen xenstore.Hint: Some lines were ellipsized, use -l to show in
full.*
*root@raspberrypi4-64:~# *

Any input on these?

Thanks & Regards,
Vipul Kumar

On Wed, Nov 23, 2022 at 5:41 AM Stefano Stabellini <sstabellini@kernel.org>
wrote:

> Hi Vipul,
>
> I cannot spot any issue in the configuration, in particual you have:
>
> CONFIG_XEN_FBDEV_FRONTEND=3Dy
>
> which is what you need.
>
> The only thing I can suggest is to add printks to the Linux frontend
> driver (the one running in the domU) which is
> drivers/video/fbdev/xen-fbfront.c and printfs to the QEMU backend
> (running in Dom0) which is hw/display/xenfb.c to figure out what is
> going on.
>
>
> Alternatively, you can setup PV network with the domU, such as:
>
>   vif=3D['']
>
> and then run x11 and a x11vnc server in your domU. You should be able to
> connect to it using vncviewer at the network IP of your domU.
>
> Basically you are skipping the problem because instead of using the PV
> framebuffer protocol, you just use VNC over the network with the domU.
>
>
> Cheers,
>
> Stefano
>
>
> On Tue, 22 Nov 2022, Vipul Suneja wrote:
> > Hi Stefano,
> > Thanks for the support!
> >
> > Looks like I have tried all the combinations & possible ways to get
> display up but failed. Is there any document or pdf for porting xen on
> > raspberrypi4.
> > I could find lot's of links telling the same but couldn't see any
> official user guide or document from the xen community on the same. If
> > there is something to refer
> > to please share with me.
> > I am attaching the kernel configuration file also, just take a look if =
i
> have missed anything.
> > Any other suggestions or input from your end could be really helpful?
> >
> > Regards,
> > Vipul Kumar
> >
> > On Fri, Nov 11, 2022 at 6:40 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       Hi Vipul,
> >
> >       Sorry for the late reply. From the earlier logs that you sent, it
> looks
> >       like everything should be working correctly. Specifically:
> >
> >            vfb =3D ""
> >             1 =3D ""
> >              0 =3D ""
> >               frontend =3D "/local/domain/1/device/vfb/0"
> >               frontend-id =3D "1"
> >               online =3D "1"
> >               state =3D "4"
> >               vnc =3D "1"
> >               vnclisten =3D "127.0.0.1"
> >               vncdisplay =3D "0"
> >               vncunused =3D "1"
> >               sdl =3D "0"
> >               opengl =3D "0"
> >               feature-resize =3D "1"
> >               hotplug-status =3D "connected"
> >               request-update =3D "1"
> >
> >       state "4" means "connected". So I would expect that you should be
> able
> >       to connect to the vnc server using vncviewer. You might not see
> anything
> >       (black screen) but you should definitely be able to connect.
> >
> >       I wouldn't try to launch x11 in the guest just yet. fbcon in Linu=
x
> is
> >       enough to render something on the screen. You should be able to
> see the
> >       Linux text-based console rendered graphically, connecting to it
> via vnc.
> >
> >       Sorry for the basic question, but have you tried all the followin=
g?
> >
> >       vncviewer 127.0.0.1:0
> >       vncviewer 127.0.0.1:1
> >       vncviewer 127.0.0.1:2
> >       vncviewer 127.0.0.1:5900
> >       vncviewer 127.0.0.1:5901
> >       vncviewer 127.0.0.1:5902
> >
> >       Given that from the xenstore-ls logs everything seems to work
> correctly
> >       I am not sure what else to suggest. You might have to add printf
> to QEMU
> >       ui/vnc.c and hw/display/xenfb.c to see what is going wrong.
> >
> >       Cheers,
> >
> >       Stefano
> >
> >
> >       On Mon, 7 Nov 2022, Vipul Suneja wrote:
> >       > Hi Stefano,
> >       > Thanks!
> >       >
> >       > Any input further on "xenstore-ls" logs?
> >       >
> >       > I am trying to run the x0vncserver & x11vnc server manually on
> guest machine(xen_guest_image_minimal) image but it's failing
> >       with the below
> >       > error.
> >       >
> >       > root@raspberrypi4-64:/usr/bin# x0vncserver
> >       > x0vncserver: unable to open display ""
> >       > root@raspberrypi4-64:/usr/bin#
> >       > root@raspberrypi4-64:/usr/bin# x11vnc
> >       > ###############################################################
> >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       > #@                                                           @#
> >       > #@  **  WARNING  **  WARNING  **  WARNING  **  WARNING  **   @#
> >       > #@                                                           @#
> >       > #@        YOU ARE RUNNING X11VNC WITHOUT A PASSWORD!!        @#
> >       > #@                                                           @#
> >       > #@  This means anyone with network access to this computer   @#
> >       > #@  may be able to view and control your desktop.            @#
> >       > #@                                                           @#
> >       > #@ >>> If you did not mean to do this Press CTRL-C now!! <<< @#
> >       > #@                                                           @#
> >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       > #@                                                           @#
> >       > #@  You can create an x11vnc password file by running:       @#
> >       > #@                                                           @#
> >       > #@       x11vnc -storepasswd password /path/to/passfile      @#
> >       > #@  or   x11vnc -storepasswd /path/to/passfile               @#
> >       > #@  or   x11vnc -storepasswd                                 @#
> >       > #@                                                           @#
> >       > #@  (the last one will use ~/.vnc/passwd)                    @#
> >       > #@                                                           @#
> >       > #@  and then starting x11vnc via:                            @#
> >       > #@                                                           @#
> >       > #@      x11vnc -rfbauth /path/to/passfile                    @#
> >       > #@                                                           @#
> >       > #@  an existing ~/.vnc/passwd file from another VNC          @#
> >       > #@  application will work fine too.                          @#
> >       > #@                                                           @#
> >       > #@  You can also use the -passwdfile or -passwd options.     @#
> >       > #@  (note -passwd is unsafe if local users are not trusted)  @#
> >       > #@                                                           @#
> >       > #@  Make sure any -rfbauth and -passwdfile password files    @#
> >       > #@  cannot be read by untrusted users.                       @#
> >       > #@                                                           @#
> >       > #@  Use x11vnc -usepw to automatically use your              @#
> >       > #@  ~/.vnc/passwd or ~/.vnc/passwdfile password files.       @#
> >       > #@  (and prompt you to create ~/.vnc/passwd if neither       @#
> >       > #@  file exists.)  Under -usepw, x11vnc will exit if it      @#
> >       > #@  cannot find a password to use.                           @#
> >       > #@                                                           @#
> >       > #@                                                           @#
> >       > #@  Even with a password, the subsequent VNC traffic is      @#
> >       > #@  sent in the clear.  Consider tunnelling via ssh(1):      @#
> >       > #@                                                           @#
> >       > #@    http://www.karlrunge.com/x11vnc/#tunnelling            @#
> >       > #@                                                           @#
> >       > #@  Or using the x11vnc SSL options: -ssl and -stunnel       @#
> >       > #@                                                           @#
> >       > #@  Please Read the documentation for more info about        @#
> >       > #@  passwords, security, and encryption.                     @#
> >       > #@                                                           @#
> >       > #@    http://www.karlrunge.com/x11vnc/faq.html#faq-passwd    @#
> >       > #@                                                           @#
> >       > #@  To disable this warning use the -nopw option, or put     @#
> >       > #@  'nopw' on a line in your ~/.x11vncrc file.               @#
> >       > #@                                                           @#
> >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       > ###############################################################
> >       > 09/03/2018 12:58:41 x11vnc version: 0.9.16 lastmod: 2019-01-05
>  pid: 424
> >       > 09/03/2018 12:58:41 XOpenDisplay("") failed.
> >       > 09/03/2018 12:58:41 Trying again with
> XAUTHLOCALHOSTNAME=3Dlocalhost ...
> >       > 09/03/2018 12:58:41
> >       > 09/03/2018 12:58:41 *** XOpenDisplay failed. No -display or
> DISPLAY.
> >       > 09/03/2018 12:58:41 *** Trying ":0" in 4 seconds.  Press Ctrl-C
> to abort.
> >       > 09/03/2018 12:58:41 *** 1 2 3 4
> >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
> >       > 09/03/2018 12:58:45 Trying again with
> XAUTHLOCALHOSTNAME=3Dlocalhost ...
> >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
> >       > 09/03/2018 12:58:45 Trying again with unset XAUTHLOCALHOSTNAME
> ...
> >       > 09/03/2018 12:58:45
> >       >
> >       > 09/03/2018 12:58:45 ***************************************
> >       > 09/03/2018 12:58:45 *** XOpenDisplay failed (:0)
> >       >
> >       > *** x11vnc was unable to open the X DISPLAY: ":0", it cannot
> continue.
> >       > *** There may be "Xlib:" error messages above with details abou=
t
> the failure.
> >       >
> >       > Some tips and guidelines:
> >       >
> >       > ** An X server (the one you wish to view) must be running befor=
e
> x11vnc is
> >       >    started: x11vnc does not start the X server.  (however, see
> the -create
> >       >    option if that is what you really want).
> >       >
> >       > ** You must use -display <disp>, -OR- set and export your
> $DISPLAY
> >       >    environment variable to refer to the display of the desired =
X
> server.
> >       >  - Usually the display is simply ":0" (in fact x11vnc uses this
> if you forget
> >       >    to specify it), but in some multi-user situations it could b=
e
> ":1", ":2",
> >       >    or even ":137".  Ask your administrator or a guru if you are
> having
> >       >    difficulty determining what your X DISPLAY is.
> >       >
> >       > ** Next, you need to have sufficient permissions (Xauthority)
> >       >    to connect to the X DISPLAY.   Here are some Tips:
> >       >
> >       >  - Often, you just need to run x11vnc as the user logged into
> the X session.
> >       >    So make sure to be that user when you type x11vnc.
> >       >  - Being root is usually not enough because the incorrect
> MIT-MAGIC-COOKIE
> >       >    file may be accessed.  The cookie file contains the secret
> key that
> >       >    allows x11vnc to connect to the desired X DISPLAY.
> >       >  - You can explicitly indicate which MIT-MAGIC-COOKIE file
> should be used
> >       >    by the -auth option, e.g.:
> >       >        x11vnc -auth /home/someuser/.Xauthority -display :0
> >       >        x11vnc -auth /tmp/.gdmzndVlR -display :0
> >       >    you must have read permission for the auth file.
> >       >    See also '-auth guess' and '-findauth' discussed below.
> >       >
> >       > ** If NO ONE is logged into an X session yet, but there is a
> greeter login
> >       >    program like "gdm", "kdm", "xdm", or "dtlogin" running, you
> will need
> >       >    to find and use the raw display manager MIT-MAGIC-COOKIE fil=
e.
> >       >    Some examples for various display managers:
> >       >
> >       >      gdm:     -auth /var/gdm/:0.Xauth
> >       >               -auth /var/lib/gdm/:0.Xauth
> >       >      kdm:     -auth /var/lib/kdm/A:0-crWk72
> >       >               -auth /var/run/xauth/A:0-crWk72
> >       >      xdm:     -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
> >       >      dtlogin: -auth /var/dt/A:0-UgaaXa
> >       >
> >       >    Sometimes the command "ps wwwwaux | grep auth" can reveal th=
e
> file location.
> >       >
> >       >    Starting with x11vnc 0.9.9 you can have it try to guess by
> using:
> >       >
> >       >               -auth guess
> >       >
> >       >    (see also the x11vnc -findauth option.)
> >       >
> >       >    Only root will have read permission for the file, and so
> x11vnc must be run
> >       >    as root (or copy it).  The random characters in the filename=
s
> will of course
> >       >    change and the directory the cookie file resides in is syste=
m
> dependent.
> >       >
> >       > See also: http://www.karlrunge.com/x11vnc/faq.html
> >       >
> >       > Regards,
> >       > Vipul Kumar
> >       >
> >       > On Thu, Nov 3, 2022 at 10:27 PM Vipul Suneja <
> vsuneja63@gmail.com> wrote:
> >       >       Hi Stefano,
> >       > Thanks!
> >       >
> >       > I used xen-guest-image-minimal(simple console based image) as a
> guest with fbcon & fbdev enabled in kernel configurations but
> >       still
> >       > the same error can't open the display.
> >       > below are the outcome of "xenstore-ls":
> >       >
> >       > root@raspberrypi4-64:~/guest1# xenstore-ls
> >       > tool =3D ""
> >       >  xenstored =3D ""
> >       > local =3D ""
> >       >  domain =3D ""
> >       >   0 =3D ""
> >       >    control =3D ""
> >       >     feature-poweroff =3D "1"
> >       >     feature-reboot =3D "1"
> >       >    domid =3D "0"
> >       >    name =3D "Domain-0"
> >       >    device-model =3D ""
> >       >     0 =3D ""
> >       >      backends =3D ""
> >       >       console =3D ""
> >       >       vkbd =3D ""
> >       >       vfb =3D ""
> >       >       qnic =3D ""
> >       >      state =3D "running"
> >       >     1 =3D ""
> >       >      backends =3D ""
> >       >       console =3D ""
> >       >       vkbd =3D ""
> >       >       vfb =3D ""
> >       >       qnic =3D ""
> >       >      state =3D "running"
> >       >    backend =3D ""
> >       >     vbd =3D ""
> >       >      1 =3D ""
> >       >       51712 =3D ""
> >       >        frontend =3D "/local/domain/1/device/vbd/51712"
> >       >        params =3D
> "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
> >       >        script =3D "/etc/xen/scripts/block"
> >       >        frontend-id =3D "1"
> >       >        online =3D "1"
> >       >        removable =3D "0"
> >       >        bootable =3D "1"
> >       >        state =3D "4"
> >       >        dev =3D "xvda"
> >       >        type =3D "phy"
> >       >        mode =3D "w"
> >       >        device-type =3D "disk"
> >       >        discard-enable =3D "1"
> >       >        feature-max-indirect-segments =3D "256"
> >       >        multi-queue-max-queues =3D "4"
> >       >        max-ring-page-order =3D "4"
> >       >        node =3D "/dev/loop0"
> >       >        physical-device =3D "7:0"
> >       >        physical-device-path =3D "/dev/loop0"
> >       >        hotplug-status =3D "connected"
> >       >        feature-flush-cache =3D "1"
> >       >        discard-granularity =3D "4096"
> >       >        discard-alignment =3D "0"
> >       >        discard-secure =3D "0"
> >       >        feature-discard =3D "1"
> >       >        feature-barrier =3D "1"
> >       >        feature-persistent =3D "1"
> >       >        sectors =3D "1794048"
> >       >        info =3D "0"
> >       >        sector-size =3D "512"
> >       >        physical-sector-size =3D "512"
> >       >     vfb =3D ""
> >       >      1 =3D ""
> >       >       0 =3D ""
> >       >        frontend =3D "/local/domain/1/device/vfb/0"
> >       >        frontend-id =3D "1"
> >       >        online =3D "1"
> >       >        state =3D "4"
> >       >        vnc =3D "1"
> >       >        vnclisten =3D "127.0.0.1"
> >       >        vncdisplay =3D "0"
> >       >        vncunused =3D "1"
> >       >        sdl =3D "0"
> >       >        opengl =3D "0"
> >       >        feature-resize =3D "1"
> >       >        hotplug-status =3D "connected"
> >       >        request-update =3D "1"
> >       >     vkbd =3D ""
> >       >      1 =3D ""
> >       >       0 =3D ""
> >       >        frontend =3D "/local/domain/1/device/vkbd/0"
> >       >        frontend-id =3D "1"
> >       >        online =3D "1"
> >       >        state =3D "4"
> >       >        feature-abs-pointer =3D "1"
> >       >        feature-raw-pointer =3D "1"
> >       >        hotplug-status =3D "connected"
> >       >     console =3D ""
> >       >      1 =3D ""
> >       >       0 =3D ""
> >       >        frontend =3D "/local/domain/1/console"
> >       >        frontend-id =3D "1"
> >       >        online =3D "1"
> >       >        state =3D "1"
> >       >        protocol =3D "vt100"
> >       >     vif =3D ""
> >       >      1 =3D ""
> >       >       0 =3D ""
> >       >        frontend =3D "/local/domain/1/device/vif/0"
> >       >        frontend-id =3D "1"
> >       >        online =3D "1"
> >       >        state =3D "4"
> >       >        script =3D "/etc/xen/scripts/vif-bridge"
> >       >        mac =3D "e4:5f:01:cd:7b:dd"
> >       >        bridge =3D "xenbr0"
> >       >        handle =3D "0"
> >       >        type =3D "vif"
> >       >        hotplug-status =3D "connected"
> >       >        feature-sg =3D "1"
> >       >        feature-gso-tcpv4 =3D "1"
> >       >        feature-gso-tcpv6 =3D "1"
> >       >        feature-ipv6-csum-offload =3D "1"
> >       >        feature-rx-copy =3D "1"
> >       >        feature-xdp-headroom =3D "1"
> >       >        feature-rx-flip =3D "0"
> >       >        feature-multicast-control =3D "1"
> >       >        feature-dynamic-multicast-control =3D "1"
> >       >        feature-split-event-channels =3D "1"
> >       >        multi-queue-max-queues =3D "4"
> >       >        feature-ctrl-ring =3D "1"
> >       >   1 =3D ""
> >       >    vm =3D "/vm/d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
> >       >    name =3D "guest2"
> >       >    cpu =3D ""
> >       >     0 =3D ""
> >       >      availability =3D "online"
> >       >     1 =3D ""
> >       >      availability =3D "online"
> >       >    memory =3D ""
> >       >     static-max =3D "2097152"
> >       >     target =3D "2097152"
> >       >     videoram =3D "0"
> >       >    device =3D ""
> >       >     suspend =3D ""
> >       >      event-channel =3D ""
> >       >     vbd =3D ""
> >       >      51712 =3D ""
> >       >       backend =3D "/local/domain/0/backend/vbd/1/51712"
> >       >       backend-id =3D "0"
> >       >       state =3D "4"
> >       >       virtual-device =3D "51712"
> >       >       device-type =3D "disk"
> >       >       multi-queue-num-queues =3D "2"
> >       >       queue-0 =3D ""
> >       >        ring-ref =3D "8"
> >       >        event-channel =3D "4"
> >       >       queue-1 =3D ""
> >       >        ring-ref =3D "9"
> >       >        event-channel =3D "5"
> >       >       protocol =3D "arm-abi"
> >       >       feature-persistent =3D "1"
> >       >     vfb =3D ""
> >       >      0 =3D ""
> >       >       backend =3D "/local/domain/0/backend/vfb/1/0"
> >       >       backend-id =3D "0"
> >       >       state =3D "4"
> >       >       page-ref =3D "275022"
> >       >       event-channel =3D "3"
> >       >       protocol =3D "arm-abi"
> >       >       feature-update =3D "1"
> >       >     vkbd =3D ""
> >       >      0 =3D ""
> >       >       backend =3D "/local/domain/0/backend/vkbd/1/0"
> >       >       backend-id =3D "0"
> >       >       state =3D "4"
> >       >       request-abs-pointer =3D "1"
> >       >       page-ref =3D "275322"
> >       >       page-gref =3D "1284"
> >       >       event-channel =3D "10"
> >       >     vif =3D ""
> >       >      0 =3D ""
> >       >       backend =3D "/local/domain/0/backend/vif/1/0"
> >       >       backend-id =3D "0"
> >       >       state =3D "4"
> >       >       handle =3D "0"
> >       >       mac =3D "e4:5f:01:cd:7b:dd"
> >       >       mtu =3D "1500"
> >       >       xdp-headroom =3D "0"
> >       >       multi-queue-num-queues =3D "2"
> >       >       queue-0 =3D ""
> >       >        tx-ring-ref =3D "1280"
> >       >        rx-ring-ref =3D "1281"
> >       >        event-channel-tx =3D "6"
> >       >        event-channel-rx =3D "7"
> >       >       queue-1 =3D ""
> >       >        tx-ring-ref =3D "1282"
> >       >        rx-ring-ref =3D "1283"
> >       >        event-channel-tx =3D "8"
> >       >        event-channel-rx =3D "9"
> >       >       request-rx-copy =3D "1"
> >       >       feature-rx-notify =3D "1"
> >       >       feature-sg =3D "1"
> >       >       feature-gso-tcpv4 =3D "1"
> >       >       feature-gso-tcpv6 =3D "1"
> >       >       feature-ipv6-csum-offload =3D "1"
> >       >    control =3D ""
> >       >     shutdown =3D ""
> >       >     feature-poweroff =3D "1"
> >       >     feature-reboot =3D "1"
> >       >     feature-suspend =3D ""
> >       >     sysrq =3D ""
> >       >     platform-feature-multiprocessor-suspend =3D "1"
> >       >     platform-feature-xs_reset_watches =3D "1"
> >       >    data =3D ""
> >       >    drivers =3D ""
> >       >    feature =3D ""
> >       >    attr =3D ""
> >       >    error =3D ""
> >       >    domid =3D "1"
> >       >    store =3D ""
> >       >     port =3D "1"
> >       >     ring-ref =3D "233473"
> >       >    console =3D ""
> >       >     backend =3D "/local/domain/0/backend/console/1/0"
> >       >     backend-id =3D "0"
> >       >     limit =3D "1048576"
> >       >     type =3D "xenconsoled"
> >       >     output =3D "pty"
> >       >     tty =3D "/dev/pts/1"
> >       >     port =3D "2"
> >       >     ring-ref =3D "233472"
> >       >     vnc-listen =3D "127.0.0.1"
> >       >     vnc-port =3D "5900"
> >       >    image =3D ""
> >       >     device-model-pid =3D "788"
> >       > vm =3D ""
> >       >  d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f =3D ""
> >       >   name =3D "guest2"
> >       >   uuid =3D "d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
> >       >   start_time =3D "1520600274.27"
> >       > libxl =3D ""
> >       >  1 =3D ""
> >       >   device =3D ""
> >       >    vbd =3D ""
> >       >     51712 =3D ""
> >       >      frontend =3D "/local/domain/1/device/vbd/51712"
> >       >      backend =3D "/local/domain/0/backend/vbd/1/51712"
> >       >      params =3D
> "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
> >       >      script =3D "/etc/xen/scripts/block"
> >       >      frontend-id =3D "1"
> >       >      online =3D "1"
> >       >      removable =3D "0"
> >       >      bootable =3D "1"
> >       >      state =3D "1"
> >       >      dev =3D "xvda"
> >       >      type =3D "phy"
> >       >      mode =3D "w"
> >       >      device-type =3D "disk"
> >       >      discard-enable =3D "1"
> >       >    vfb =3D ""
> >       >     0 =3D ""
> >       >      frontend =3D "/local/domain/1/device/vfb/0"
> >       >      backend =3D "/local/domain/0/backend/vfb/1/0"
> >       >      frontend-id =3D "1"
> >       >      online =3D "1"
> >       >      state =3D "1"
> >       >      vnc =3D "1"
> >       >      vnclisten =3D "127.0.0.1"
> >       >      vncdisplay =3D "0"
> >       >      vncunused =3D "1"
> >       >      sdl =3D "0"
> >       >      opengl =3D "0"
> >       >    vkbd =3D ""
> >       >     0 =3D ""
> >       >      frontend =3D "/local/domain/1/device/vkbd/0"
> >       >      backend =3D "/local/domain/0/backend/vkbd/1/0"
> >       >      frontend-id =3D "1"
> >       >      online =3D "1"
> >       >      state =3D "1"
> >       >    console =3D ""
> >       >     0 =3D ""
> >       >      frontend =3D "/local/domain/1/console"
> >       >      backend =3D "/local/domain/0/backend/console/1/0"
> >       >      frontend-id =3D "1"
> >       >      online =3D "1"
> >       >      state =3D "1"
> >       >      protocol =3D "vt100"
> >       >    vif =3D ""
> >       >     0 =3D ""
> >       >      frontend =3D "/local/domain/1/device/vif/0"
> >       >      backend =3D "/local/domain/0/backend/vif/1/0"
> >       >      frontend-id =3D "1"
> >       >      online =3D "1"
> >       >      state =3D "1"
> >       >      script =3D "/etc/xen/scripts/vif-bridge"
> >       >      mac =3D "e4:5f:01:cd:7b:dd"
> >       >      bridge =3D "xenbr0"
> >       >      handle =3D "0"
> >       >      type =3D "vif"
> >       >      hotplug-status =3D ""
> >       >   type =3D "pvh"
> >       >   dm-version =3D "qemu_xen"
> >       > root@raspberrypi4-64:~/guest1#
> >       >
> >       > Any input as per above? Looking forward to hearing from you.
> >       >
> >       > Regards,
> >       > Vipul Kumar
> >       >
> >       > On Wed, Oct 26, 2022 at 5:21 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       >       Hi Vipul,
> >       >
> >       >       If you look at the QEMU logs, it says:
> >       >
> >       >       VNC server running on 127.0.0.1:5900
> >       >
> >       >       That is the VNC server you need to connect to. So in
> theory:
> >       >
> >       >         vncviewer 127.0.0.1:5900
> >       >
> >       >       should work correctly.
> >       >
> >       >
> >       >       If you have:
> >       >
> >       >         vfb =3D ["type=3Dvnc"]
> >       >
> >       >       in your xl config file and you have "fbdev" in your Linux
> guest, it
> >       >       should work.
> >       >
> >       >       If you connect to the VNC server but you get a black
> screen, it might be
> >       >       a guest configuration issue. I would try with a simpler
> guest, text only
> >       >       (no X11, no Wayland) and enable the fbdev console (fbcon)=
.
> See
> >       >       Documentation/fb/fbcon.rst in Linux. You should be able t=
o
> see a
> >       >       graphical console over VNC.
> >       >
> >       >       If that works, then you know that the fbdev kernel driver
> (xen-fbfront)
> >       >       works correctly.
> >       >
> >       >       If it doesn't work, the output of "xenstore-ls" would be
> interesting.
> >       >
> >       >       Cheers,
> >       >
> >       >       Stefano
> >       >
> >       >
> >       >       On Wed, 19 Oct 2022, Vipul Suneja wrote:
> >       >       > Hi Stefano,
> >       >       >
> >       >       > Thanks for the response!
> >       >       >
> >       >       > I am following the same link you shared from the
> beginning. Tried the command "vncviewer localhost:0" in DOM0 but
> >       same
> >       >       issue "Can't open
> >       >       > display", below are the logs:
> >       >       >
> >       >       > root@raspberrypi4-64:~# vncviewer localhost:0
> >       >       >
> >       >       > TigerVNC Viewer 64-bit v1.11.0
> >       >       > Built on: 2020-09-08 12:16
> >       >       > Copyright (C) 1999-2020 TigerVNC Team and many others
> (see README.rst)
> >       >       > See https://www.tigervnc.org for information on
> TigerVNC.
> >       >       > Can't open display:
> >       >       >
> >       >       > Below are the netstat logs, i couldn't see anything
> running at port 5900 or 5901:
> >       >       >
> >       >       > root@raspberrypi4-64:~# netstat -tuwx
> >       >       > Active Internet connections (w/o servers)
> >       >       > Proto Recv-Q Send-Q Local Address           Foreign
> Address         State
> >       >       > tcp        0    164 192.168.1.39:ssh
> 192.168.1.38:37472      ESTABLISHED
> >       >       > Active UNIX domain sockets (w/o servers)
> >       >       > Proto RefCnt Flags       Type       State         I-Nod=
e
> Path
> >       >       > unix  8      [ ]         DGRAM      CONNECTED      1056=
5
> /dev/log
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1089=
1
> /var/run/xenstored/socket
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1379=
1
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1084=
3
> /var/run/xenstored/socket
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1057=
3
> /var/run/xenstored/socket
> >       >       > unix  2      [ ]         DGRAM      CONNECTED      1451=
0
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1324=
9
> >       >       > unix  2      [ ]         DGRAM      CONNECTED      1388=
7
> >       >       > unix  2      [ ]         DGRAM      CONNECTED      1059=
9
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1400=
5
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1325=
8
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1324=
8
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1400=
3
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1057=
2
> /var/run/xenstored/socket
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1078=
6
> /var/run/xenstored/socket
> >       >       > unix  3      [ ]         DGRAM      CONNECTED      1318=
6
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1086=
4
> /var/run/xenstored/socket
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1081=
2
> /var/run/xenstored/socket
> >       >       > unix  2      [ ]         DGRAM      CONNECTED      1408=
3
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1081=
3
> /var/run/xenstored/socket
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1406=
8
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1325=
6
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1057=
1
> /var/run/xenstored/socket
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1084=
2
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1398=
5
> >       >       > unix  3      [ ]         DGRAM      CONNECTED      1318=
5
> >       >       > unix  2      [ ]         STREAM     CONNECTED      1388=
4
> >       >       > unix  2      [ ]         DGRAM      CONNECTED      1452=
8
> >       >       > unix  2      [ ]         DGRAM      CONNECTED      1378=
5
> >       >       > unix  3      [ ]         STREAM     CONNECTED      1403=
4
> >       >       >
> >       >       > Attaching xen log files of /var/log/xen.
> >       >       > I didn't get the role of QEMU here because as mentioned
> earlier, I am porting in raspberrypi 4B.
> >       >       >
> >       >       > Regards,
> >       >       > Vipul Kumar
> >       >       >
> >       >       > On Wed, Oct 19, 2022 at 12:43 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       >       >       It usually works the way it is described in the
> guide:
> >       >       >
> >       >       >
> >       >
> >
> https://www.virtuatopia.com/index.php?title=3DConfiguring_a_VNC_based_Gra=
phical_Console_for_a_Xen_Paravirtualized_domainU_Guest
> >       >       >
> >       >       >       You don't need to install any VNC-related server
> software because it is
> >       >       >       already provided by Xen (to be precise it is
> provided by QEMU working
> >       >       >       together with Xen.)
> >       >       >
> >       >       >       You only need the vnc client in dom0 so that you
> can connect, but you
> >       >       >       could also run the vnc client outside from anothe=
r
> host. So basically
> >       >       >       the following should work when executed in Dom0
> after creating DomU:
> >       >       >
> >       >       >         vncviewer localhost:0
> >       >       >
> >       >       >       Can you attach the Xen and QEMU logs
> (/var/log/xen/*)? And also use
> >       >       >       netstat -taunp to check if there is anything
> running at port 5900 or
> >       >       >       5901?
> >       >       >
> >       >       >       Cheers,
> >       >       >
> >       >       >       Stefano
> >       >       >
> >       >       >
> >       >       >       On Tue, 18 Oct 2022, Vipul Suneja wrote:
> >       >       >       > Hi Stefano,
> >       >       >       >
> >       >       >       > Thanks for the response!
> >       >       >       >
> >       >       >       > I could install tigerVNC, x11vnc & libvncserver
> in Dom0 xen-image-minimal but only manage to install
> >       >       libvncserver(couldn't
> >       >       >       install tigervnc
> >       >       >       > & x11vnc because of x11
> >       >       >       > support missing, it's wayland) in DOMU custom
> graphical image. I tried running vncviewer with IP address &
> >       port
> >       >       in dom0 to
> >       >       >       access the domu
> >       >       >       > graphical image display as per below commands.
> >       >       >       >
> >       >       >       >  vncviewer 192.168.1.42:5901
> >       >       >       >
> >       >       >       >  But it showing can't open display, below are
> the logs:
> >       >       >       >
> >       >       >       > root@raspberrypi4-64:~/guest1# vncviewer
> 192.168.1.42:5901
> >       >       >       >
> >       >       >       > TigerVNC Viewer 64-bit v1.11.0
> >       >       >       > Built on: 2020-09-08 12:16
> >       >       >       > Copyright (C) 1999-2020 TigerVNC Team and many
> others (see README.rst)
> >       >       >       > See https://www.tigervnc.org for information on
> TigerVNC.
> >       >       >       > Can't open display:
> >       >       >       > root@raspberrypi4-64:~/guest1#
> >       >       >       >
> >       >       >       > I am not exactly sure what the issue is but I
> thought only libvncserver in DOMU could work to get access but
> >       it
> >       >       did not
> >       >       >       work.
> >       >       >       > If TigerVNC is the issue here then is there any
> other VNC source which could be installed for both x11 &
> >       >       wayland supported
> >       >       >       images?
> >       >       >       >
> >       >       >       > Regards,
> >       >       >       > Vipul Kumar
> >       >       >       >
> >       >       >       > On Tue, Oct 18, 2022 at 2:40 AM Stefano
> Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       VNC is typically easier to setup, because
> SDL needs extra libraries at
> >       >       >       >       build time and runtime. If QEMU is built
> without SDL support it won't
> >       >       >       >       start when you ask for SDL.
> >       >       >       >
> >       >       >       >       VNC should work with both x11 and wayland
> in your domU. It doesn't work
> >       >       >       >       at the x11 level, it exposes a special
> fbdev device in your domU that
> >       >       >       >       should work with:
> >       >       >       >       - a graphical console in Linux domU
> >       >       >       >       - x11
> >       >       >       >       - wayland (but I haven't tested this so I
> am not 100% sure about it)
> >       >       >       >
> >       >       >       >       When you say "it doesn't work", what do
> you mean? Do you get a black
> >       >       >       >       window?
> >       >       >       >
> >       >       >       >       You need CONFIG_XEN_FBDEV_FRONTEND in
> Linux domU
> >       >       >       >       (drivers/video/fbdev/xen-fbfront.c). I
> would try to get a graphical text
> >       >       >       >       console up and running in your domU befor=
e
> attempting x11/wayland.
> >       >       >       >
> >       >       >       >       Cheers,
> >       >       >       >
> >       >       >       >       Stefano
> >       >       >       >
> >       >       >       >       On Mon, 17 Oct 2022, Vipul Suneja wrote:
> >       >       >       >       > Hi,
> >       >       >       >       > Thanks!
> >       >       >       >       >
> >       >       >       >       > I have ported xen minimal image as DOM0
> & custom wayland GUI based image as DOMU in raspberry pi4B. I
> >       >       am trying to
> >       >       >       make GUI
> >       >       >       >       display up
> >       >       >       >       > for guest machine. I tried using sdl,
> included below line in guest.conf file
> >       >       >       >       > vfb=3D [ 'sdl=3D1' ]
> >       >       >       >       >
> >       >       >       >       > But it is throwing below error:
> >       >       >       >       >
> >       >       >       >       > root@raspberrypi4-64:~/guest1# xl
> create -c guest1.cfg
> >       >       >       >       > Parsing config from guest1.cfg
> >       >       >       >       > libxl: error:
> libxl_qmp.c:1400:qmp_ev_fd_callback: Domain 3:error on QMP socket:
> Connection reset by
> >       >       peer
> >       >       >       >       > libxl: error:
> libxl_qmp.c:1439:qmp_ev_fd_callback: Domain 3:Error happened with the QMP
> connection to
> >       >       QEMU
> >       >       >       >       > libxl: error:
> libxl_dm.c:3351:device_model_postconfig_done: Domain 3:Post DM startup
> configs failed,
> >       >       rc=3D-26
> >       >       >       >       > libxl: error:
> libxl_create.c:1867:domcreate_devmodel_started: Domain 3:device model did
> not start:
> >       -26
> >       >       >       >       > libxl: error:
> libxl_aoutils.c:646:libxl__kill_xs_path: Device Model already exited
> >       >       >       >       > libxl: error:
> libxl_domain.c:1183:libxl__destroy_domid: Domain 3:Non-existant domain
> >       >       >       >       > libxl: error:
> libxl_domain.c:1137:domain_destroy_callback: Domain 3:Unable to destroy
> guest
> >       >       >       >       > libxl: error:
> libxl_domain.c:1064:domain_destroy_cb: Domain 3:Destruction of domain fai=
led
> >       >       >       >       >
> >       >       >       >       > Another way is VNC, i could install
> tigervnc in DOM0 but same i couldn't in guest machine because it
> >       >       doesn't support
> >       >       >       >       x11(supports wayland
> >       >       >       >       > only). I am completely blocked here,
> Need your support to enable the display up.
> >       >       >       >       > Any alternative of VNC which could work
> in both x11 & wayland supported images?
> >       >       >       >       >
> >       >       >       >       > Any input on VNC, SDL or any other way
> to proceed on this? Looking forward to hearing from you.
> >       >       >       >       >
> >       >       >       >       > Regards,
> >       >       >       >       > Vipul Kumar
> >       >       >       >
> >       >       >       >
> >       >       >       >
> >       >       >
> >       >       >
> >       >       >
> >       >
> >       >
> >       >
> >
> >
> >

--0000000000003d2c8b05eec7bea0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+SGkgU3RlZmFubyw8ZGl2Pjxicj48L2Rpdj48ZGl2PlRoYW5rcyE8L2Rp
dj48ZGl2Pjxicj48L2Rpdj48ZGl2PkkgYW0gZXhwbG9yaW5nIGJvdGggb3B0aW9ucyBoZXJlLCBt
b2RpZmljYXRpb24gb2YgZnJhbWVidWZmZXIgc291cmNlIGZpbGUgJmFtcDsgc2V0dGluZyB1cCB4
MTF2bmMgc2VydmVyIGluIGd1ZXN0LjwvZGl2PjxkaXY+T3RoZXIgdGhhbiB0aGVzZSBJIHdvdWxk
IGxpa2UgdG8gc2hhcmUgYSBmZXcgZmluZGluZ3Mgd2l0aCB5b3UuPC9kaXY+PGRpdj48YnI+PC9k
aXY+PGRpdj4xLiBJZiBpIGtlZXAgJnF1b3Q7Q09ORklHX1hFTl9GQkRFVl9GUk9OVEVORD15JnF1
b3Q7IHRoZW4geGVuLWZiZnJvbnQua28gaXMgbm90IGdlbmVyYXRpbmcgYnV0IGlmIGkga2VlcCAm
cXVvdDtDT05GSUdfWEVOX0ZCREVWX0ZST05URU5EPW0mcXVvdDs8L2Rpdj48ZGl2PnRoZW4gY291
bGQgc2VlIHhlbi1mYmZyb250LmtvICZhbXA7IGl0cyBsb2FkaW5nIGFsc28uIFNhbWUgdGhpbmdz
IHdpdGggb3RoZXIgZnJvbnRlbmQvYmFja2VuZCBkcml2ZXJzIGFsc28uIERvIHdlIG5lZWQgdG8g
Y29uZmlndXJlwqB0aGVzZSBkcml2ZXJzIGFzIGEgbW9kdWxlKG0pIG9ubHk/PC9kaXY+PGRpdj48
YnI+PC9kaXY+PGRpdj4yLiBJIGNvdWxkIHNlZSB4ZW5zdG9yZWQgc2VydmljZSBpcyBydW5uaW5n
IGZvciB0aGUgaG9zdCBidXQgaXQmIzM5O3MgYWx3YXlzIGZhaWxpbmcgZm9yIHRoZSBndWVzdMKg
bWFjaGluZS4gSSBjb3VsZCBzZWUgaXQgaW4gYm9vdHVwIGxvZ3MgJmFtcDsgdmlhIHN5c3RlbWN0
bCBzdGF0dXMgYWxzby48L2Rpdj48ZGl2PkJlbG93IGFyZSB0aGUgbG9nczo8L2Rpdj48Yj5bIMKg
T0sgwqBdIFJlYWNoZWQgdGFyZ2V0IEJhc2ljIFN5c3RlbS48YnI+WyDCoE9LIMKgXSBTdGFydGVk
IEtlcm5lbCBMb2dnaW5nIFNlcnZpY2UuPGJyPlsgwqBPSyDCoF0gU3RhcnRlZCBTeXN0ZW0gTG9n
Z2luZyBTZXJ2aWNlLjxicj7CoCDCoCDCoCDCoCDCoFN0YXJ0aW5nIEQtQnVzIFN5c3RlbSBNZXNz
YWdlIEJ1cy4uLjxicj7CoCDCoCDCoCDCoCDCoFN0YXJ0aW5nIFVzZXIgTG9naW4gTWFuYWdlbWVu
dC4uLjxicj7CoCDCoCDCoCDCoCDCoFN0YXJ0aW5nIFBlcm1pdCBVc2VyIFNlc3Npb25zLi4uPGJy
PsKgIMKgIMKgIMKgIMKgU3RhcnRpbmcgVGhlIFhlbiB4ZW5zdG9yZS4uLjxicj7CoCDCoCDCoCDC
oCDCoFN0YXJ0aW5nIE9wZW5TU0ggS2V5IEdlbmVyYXRpb24uLi48YnI+W0ZBSUxFRF0gRmFpbGVk
IHRvIHN0YXJ0IFRoZSBYZW4geGVuc3RvcmUuPGJyPlNlZSAmIzM5O3N5c3RlbWN0bCBzdGF0dXMg
eGVuc3RvcmVkLnNlcnZpY2UmIzM5OyBmb3IgZGV0YWlscy48YnI+W0RFUEVORF0gRGVwZW5kZW5j
eSBmYWlsZWQgZm9yIHFlbXUgZm9yIHhlbiBkb20wIGRpc2sgYmFja2VuZC48YnI+W0RFUEVORF0g
RGVwZW5kZW5jeSBmYWlsZWQgZm9yIFhlbmTigKZwIGd1ZXN0cyBvbiBib290IGFuZCBzaHV0ZG93
bi48YnI+W0RFUEVORF0gRGVwZW5kZW5jeSBmYWlsZWQgZm9yIHhlbi3igKZkZXMsIEpTT04gY29u
ZmlndXJhdGlvbiBzdHViKS48YnI+W0RFUEVORF0gRGVwZW5kZW5jeSBmYWlsZWQgZm9yIFhlbmPi
gKZndWVzdCBjb25zb2xlcyBhbmQgaHlwZXJ2aXNvci48YnI+WyDCoE9LIMKgXSBGaW5pc2hlZCBQ
ZXJtaXQgVXNlciBTZXNzaW9ucy48YnI+WyDCoE9LIMKgXSBTdGFydGVkIEdldHR5IG9uIHR0eTEu
PGJyPlsgwqBPSyDCoF0gU3RhcnRlZCBTZXJpYWwgR2V0dHkgb24gaHZjMC48YnI+WyDCoE9LIMKg
XSBTdGFydGVkIFNlcmlhbCBHZXR0eSBvbiB0dHlTMC48YnI+WyDCoE9LIMKgXSBSZWFjaGVkIHRh
cmdldCBMb2dpbiBQcm9tcHRzLjxicj7CoCDCoCDCoCDCoCDCoFN0YXJ0aW5nIFhlbi13YXRjaGRv
ZyAtIHJ1biB4ZW4gd2F0Y2hkb2cgZGFlbW9uLi4uPGJyPlsgwqBPSyDCoF0gU3RhcnRlZCBELUJ1
cyBTeXN0ZW0gTWVzc2FnZSBCdXMuPGJyPlsgwqBPSyDCoF0gU3RhcnRlZCBYZW4td2F0Y2hkb2cg
LSBydW4geGVuIHdhdGNoZG9nIGRhZW1vbi48YnI+WyDCoE9LIMKgXSBGaW5pc2hlZCBPcGVuU1NI
IEtleSBHZW5lcmF0aW9uLjxicj5bIMKgT0sgwqBdIFN0YXJ0ZWQgVXNlciBMb2dpbiBNYW5hZ2Vt
ZW50Ljxicj5bIMKgT0sgwqBdIFJlYWNoZWQgdGFyZ2V0IE11bHRpLVVzZXIgU3lzdGVtLjxicj7C
oCDCoCDCoCDCoCDCoFN0YXJ0aW5nIFJlY29yZCBSdW5sZXZlbCBDaGFuZ2UgaW4gVVRNUC4uLjxi
cj5bIMKgT0sgwqBdIEZpbmlzaGVkIFJlY29yZCBSdW5sZXZlbCBDaGFuZ2UgaW4gVVRNUC48YnI+
ZmJjb246IFRha2luZyBvdmVyIGNvbnNvbGU8YnI+PGJyPlBva3kgKFlvY3RvIFByb2plY3QgUmVm
ZXJlbmNlIERpc3RybykgNC4wLjQgcmFzcGJlcnJ5cGk0LTY0IGh2YzA8YnI+PGJyPnJhc3BiZXJy
eXBpNC02NCBsb2dpbjogcm9vdDxicj5yb290QHJhc3BiZXJyeXBpNC02NDp+Izxicj5yb290QHJh
c3BiZXJyeXBpNC02NDp+Izxicj5yb290QHJhc3BiZXJyeXBpNC02NDp+IyBzeXN0ZW1jdGwgc3Rh
dHVzIHhlbnN0b3JlZC5zZXJ2aWNlPGJyPnggeGVuc3RvcmVkLnNlcnZpY2UgLSBUaGUgWGVuIHhl
bnN0b3JlPGJyPsKgIMKgIMKgTG9hZGVkOiBsb2FkZWQgKC9saWIvc3lzdGVtZC9zeXN0ZW0veGVu
c3RvcmVkLnNlcnZpY2U7IGVuYWJsZWQ7IHZlbmRvciBwcmVzZXQ6IGVuYWJsZWQpPGJyPsKgIMKg
IMKgQWN0aXZlOiBmYWlsZWQgKFJlc3VsdDogZXhpdC1jb2RlKSBzaW5jZSBUaHUgMjAyMi0xMi0w
MSAwNjoxMjowNSBVVEM7IDI2cyBhZ288YnI+wqAgwqAgUHJvY2VzczogMTk1IEV4ZWNTdGFydFBy
ZT0vYmluL2dyZXAgLXEgY29udHJvbF9kIC9wcm9jL3hlbi9jYXBhYmlsaXRpZXMgKGNvZGU9ZXhp
dGVkLCBzdGF0dXM9MS9GQUlMVVJFKTxicj48YnI+RGVjIDAxIDA2OjEyOjA0IHJhc3BiZXJyeXBp
NC02NCBzeXN0ZW1kWzFdOiBTdGFydGluZyBUaGUgWGVuIHhlbnN0b3JlLi4uPGJyPkRlYyAwMSAw
NjoxMjowNSByYXNwYmVycnlwaTQtNjQgc3lzdGVtZFsxXTogeGVuc3RvcmVkLnNlcnZpY2U6IENv
bnRyb2wgcHJvLi4uVVJFPGJyPkRlYyAwMSAwNjoxMjowNSByYXNwYmVycnlwaTQtNjQgc3lzdGVt
ZFsxXTogeGVuc3RvcmVkLnNlcnZpY2U6IEZhaWxlZCB3aXRoLi4uZSYjMzk7Ljxicj5EZWMgMDEg
MDY6MTI6MDUgcmFzcGJlcnJ5cGk0LTY0IHN5c3RlbWRbMV06IEZhaWxlZCB0byBzdGFydCBUaGUg
WGVuIHhlbnN0b3JlLjxicj5IaW50OiBTb21lIGxpbmVzIHdlcmUgZWxsaXBzaXplZCwgdXNlIC1s
IHRvIHNob3cgaW4gZnVsbC48YnI+PC9iPjxkaXY+PGI+cm9vdEByYXNwYmVycnlwaTQtNjQ6fiPC
oDwvYj48L2Rpdj48ZGl2PjxiPjxicj48L2I+PC9kaXY+PGRpdj5BbnkgaW5wdXQgb24gdGhlc2U/
PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGFua3MgJmFtcDsgUmVnYXJkcyw8L2Rpdj48ZGl2
PlZpcHVsIEt1bWFyPC9kaXY+PC9kaXY+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2
IGRpcj0ibHRyIiBjbGFzcz0iZ21haWxfYXR0ciI+T24gV2VkLCBOb3YgMjMsIDIwMjIgYXQgNTo0
MSBBTSBTdGVmYW5vIFN0YWJlbGxpbmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3RhYmVsbGluaUBr
ZXJuZWwub3JnIj5zc3RhYmVsbGluaUBrZXJuZWwub3JnPC9hPiZndDsgd3JvdGU6PGJyPjwvZGl2
PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowcHggMHB4IDBw
eCAwLjhleDtib3JkZXItbGVmdDoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nLWxl
ZnQ6MWV4Ij5IaSBWaXB1bCw8YnI+DQo8YnI+DQpJIGNhbm5vdCBzcG90IGFueSBpc3N1ZSBpbiB0
aGUgY29uZmlndXJhdGlvbiwgaW4gcGFydGljdWFsIHlvdSBoYXZlOjxicj4NCjxicj4NCkNPTkZJ
R19YRU5fRkJERVZfRlJPTlRFTkQ9eTxicj4NCjxicj4NCndoaWNoIGlzIHdoYXQgeW91IG5lZWQu
PGJyPg0KPGJyPg0KVGhlIG9ubHkgdGhpbmcgSSBjYW4gc3VnZ2VzdCBpcyB0byBhZGQgcHJpbnRr
cyB0byB0aGUgTGludXggZnJvbnRlbmQ8YnI+DQpkcml2ZXIgKHRoZSBvbmUgcnVubmluZyBpbiB0
aGUgZG9tVSkgd2hpY2ggaXM8YnI+DQpkcml2ZXJzL3ZpZGVvL2ZiZGV2L3hlbi1mYmZyb250LmMg
YW5kIHByaW50ZnMgdG8gdGhlIFFFTVUgYmFja2VuZDxicj4NCihydW5uaW5nIGluIERvbTApIHdo
aWNoIGlzIGh3L2Rpc3BsYXkveGVuZmIuYyB0byBmaWd1cmUgb3V0IHdoYXQgaXM8YnI+DQpnb2lu
ZyBvbi48YnI+DQo8YnI+DQo8YnI+DQpBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHNldHVwIFBWIG5l
dHdvcmsgd2l0aCB0aGUgZG9tVSwgc3VjaCBhczo8YnI+DQo8YnI+DQrCoCB2aWY9WyYjMzk7JiMz
OTtdPGJyPg0KPGJyPg0KYW5kIHRoZW4gcnVuIHgxMSBhbmQgYSB4MTF2bmMgc2VydmVyIGluIHlv
dXIgZG9tVS4gWW91IHNob3VsZCBiZSBhYmxlIHRvPGJyPg0KY29ubmVjdCB0byBpdCB1c2luZyB2
bmN2aWV3ZXIgYXQgdGhlIG5ldHdvcmsgSVAgb2YgeW91ciBkb21VLjxicj4NCjxicj4NCkJhc2lj
YWxseSB5b3UgYXJlIHNraXBwaW5nIHRoZSBwcm9ibGVtIGJlY2F1c2UgaW5zdGVhZCBvZiB1c2lu
ZyB0aGUgUFY8YnI+DQpmcmFtZWJ1ZmZlciBwcm90b2NvbCwgeW91IGp1c3QgdXNlIFZOQyBvdmVy
IHRoZSBuZXR3b3JrIHdpdGggdGhlIGRvbVUuPGJyPg0KPGJyPg0KPGJyPg0KQ2hlZXJzLDxicj4N
Cjxicj4NClN0ZWZhbm88YnI+DQo8YnI+DQo8YnI+DQpPbiBUdWUsIDIyIE5vdiAyMDIyLCBWaXB1
bCBTdW5lamEgd3JvdGU6PGJyPg0KJmd0OyBIaSBTdGVmYW5vLDxicj4NCiZndDsgVGhhbmtzIGZv
ciB0aGXCoHN1cHBvcnQhPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IExvb2tzIGxpa2UgSSBoYXZlIHRy
aWVkIGFsbCB0aGUgY29tYmluYXRpb25zwqAmYW1wOyBwb3NzaWJsZSB3YXlzIHRvIGdldCBkaXNw
bGF5IHVwIGJ1dCBmYWlsZWQuIElzIHRoZXJlIGFueSBkb2N1bWVudCBvciBwZGYgZm9yIHBvcnRp
bmcgeGVuIG9uPGJyPg0KJmd0OyByYXNwYmVycnlwaTQuPGJyPg0KJmd0OyBJIGNvdWxkIGZpbmQg
bG90JiMzOTtzIG9mIGxpbmtzIHRlbGxpbmcgdGhlIHNhbWUgYnV0IGNvdWxkbiYjMzk7dCBzZWUg
YW55IG9mZmljaWFsIHVzZXIgZ3VpZGUgb3IgZG9jdW1lbnQgZnJvbSB0aGUgeGVuIGNvbW11bml0
eSBvbiB0aGUgc2FtZS4gSWY8YnI+DQomZ3Q7IHRoZXJlIGlzIHNvbWV0aGluZyB0byByZWZlcsKg
PGJyPg0KJmd0OyB0byBwbGVhc2Ugc2hhcmUgd2l0aCBtZS48YnI+DQomZ3Q7IEkgYW0gYXR0YWNo
aW5nIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiBmaWxlIGFsc28sIGp1c3QgdGFrZSBhIGxvb2sg
aWYgaSBoYXZlIG1pc3NlZCBhbnl0aGluZy48YnI+DQomZ3Q7IEFueSBvdGhlciBzdWdnZXN0aW9u
cyBvciBpbnB1dCBmcm9tIHlvdXIgZW5kIGNvdWxkIGJlIHJlYWxseSBoZWxwZnVsPzxicj4NCiZn
dDsgPGJyPg0KJmd0OyBSZWdhcmRzLDxicj4NCiZndDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7IDxi
cj4NCiZndDsgT24gRnJpLCBOb3YgMTEsIDIwMjIgYXQgNjo0MCBBTSBTdGVmYW5vIFN0YWJlbGxp
bmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwub3JnIiB0YXJnZXQ9Il9i
bGFuayI+c3N0YWJlbGxpbmlAa2VybmVsLm9yZzwvYT4mZ3Q7IHdyb3RlOjxicj4NCiZndDvCoCDC
oCDCoCDCoEhpIFZpcHVsLDxicj4NCiZndDsgPGJyPg0KJmd0O8KgIMKgIMKgIMKgU29ycnkgZm9y
IHRoZSBsYXRlIHJlcGx5LiBGcm9tIHRoZSBlYXJsaWVyIGxvZ3MgdGhhdCB5b3Ugc2VudCwgaXQg
bG9va3M8YnI+DQomZ3Q7wqAgwqAgwqAgwqBsaWtlIGV2ZXJ5dGhpbmcgc2hvdWxkIGJlIHdvcmtp
bmcgY29ycmVjdGx5LiBTcGVjaWZpY2FsbHk6PGJyPg0KJmd0OyA8YnI+DQomZ3Q7wqAgwqAgwqAg
wqDCoMKgIMKgIHZmYiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoMKgwqAgwqAg
wqAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCAwID0gJnF1
b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCDCoGZyb250ZW5kID0gJnF1
b3Q7L2xvY2FsL2RvbWFpbi8xL2RldmljZS92ZmIvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oMKgwqAgwqAgwqAgwqBmcm9udGVuZC1pZCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqDCoMKgIMKgIMKgIMKgb25saW5lID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoMKgwqAgwqAgwqAgwqBzdGF0ZSA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqDCoMKgIMKgIMKgIMKgdm5jID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoMKg
wqAgwqAgwqAgwqB2bmNsaXN0ZW4gPSAmcXVvdDsxMjcuMC4wLjEmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqDCoMKgIMKgIMKgIMKgdm5jZGlzcGxheSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgdm5jdW51c2VkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAgwqBzZGwgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgwqDCoCDCoCDCoCDCoG9wZW5nbCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqDCoMKgIMKgIMKgIMKgZmVhdHVyZS1yZXNpemUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCDCoGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7Y29ubmVj
dGVkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCDCoHJlcXVlc3QtdXBkYXRl
ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDsgPGJyPg0KJmd0O8KgIMKgIMKgIMKgc3RhdGUgJnF1
b3Q7NCZxdW90OyBtZWFucyAmcXVvdDtjb25uZWN0ZWQmcXVvdDsuIFNvIEkgd291bGQgZXhwZWN0
IHRoYXQgeW91IHNob3VsZCBiZSBhYmxlPGJyPg0KJmd0O8KgIMKgIMKgIMKgdG8gY29ubmVjdCB0
byB0aGUgdm5jIHNlcnZlciB1c2luZyB2bmN2aWV3ZXIuIFlvdSBtaWdodCBub3Qgc2VlIGFueXRo
aW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgKGJsYWNrIHNjcmVlbikgYnV0IHlvdSBzaG91bGQgZGVm
aW5pdGVseSBiZSBhYmxlIHRvIGNvbm5lY3QuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7wqAgwqAgwqAg
wqBJIHdvdWxkbiYjMzk7dCB0cnkgdG8gbGF1bmNoIHgxMSBpbiB0aGUgZ3Vlc3QganVzdCB5ZXQu
IGZiY29uIGluIExpbnV4IGlzPGJyPg0KJmd0O8KgIMKgIMKgIMKgZW5vdWdoIHRvIHJlbmRlciBz
b21ldGhpbmcgb24gdGhlIHNjcmVlbi4gWW91IHNob3VsZCBiZSBhYmxlIHRvIHNlZSB0aGU8YnI+
DQomZ3Q7wqAgwqAgwqAgwqBMaW51eCB0ZXh0LWJhc2VkIGNvbnNvbGUgcmVuZGVyZWQgZ3JhcGhp
Y2FsbHksIGNvbm5lY3RpbmcgdG8gaXQgdmlhIHZuYy48YnI+DQomZ3Q7IDxicj4NCiZndDvCoCDC
oCDCoCDCoFNvcnJ5IGZvciB0aGUgYmFzaWMgcXVlc3Rpb24sIGJ1dCBoYXZlIHlvdSB0cmllZCBh
bGwgdGhlIGZvbGxvd2luZz88YnI+DQomZ3Q7IDxicj4NCiZndDvCoCDCoCDCoCDCoHZuY3ZpZXdl
ciA8YSBocmVmPSJodHRwOi8vMTI3LjAuMC4xOjAiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJf
YmxhbmsiPjEyNy4wLjAuMTowPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoHZuY3ZpZXdlciA8YSBo
cmVmPSJodHRwOi8vMTI3LjAuMC4xOjEiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsi
PjEyNy4wLjAuMToxPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoHZuY3ZpZXdlciA8YSBocmVmPSJo
dHRwOi8vMTI3LjAuMC4xOjIiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjEyNy4w
LjAuMToyPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoHZuY3ZpZXdlciA8YSBocmVmPSJodHRwOi8v
MTI3LjAuMC4xOjU5MDAiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjEyNy4wLjAu
MTo1OTAwPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoHZuY3ZpZXdlciA8YSBocmVmPSJodHRwOi8v
MTI3LjAuMC4xOjU5MDEiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjEyNy4wLjAu
MTo1OTAxPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoHZuY3ZpZXdlciA8YSBocmVmPSJodHRwOi8v
MTI3LjAuMC4xOjU5MDIiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjEyNy4wLjAu
MTo1OTAyPC9hPjxicj4NCiZndDsgPGJyPg0KJmd0O8KgIMKgIMKgIMKgR2l2ZW4gdGhhdCBmcm9t
IHRoZSB4ZW5zdG9yZS1scyBsb2dzIGV2ZXJ5dGhpbmcgc2VlbXMgdG8gd29yayBjb3JyZWN0bHk8
YnI+DQomZ3Q7wqAgwqAgwqAgwqBJIGFtIG5vdCBzdXJlIHdoYXQgZWxzZSB0byBzdWdnZXN0LiBZ
b3UgbWlnaHQgaGF2ZSB0byBhZGQgcHJpbnRmIHRvIFFFTVU8YnI+DQomZ3Q7wqAgwqAgwqAgwqB1
aS92bmMuYyBhbmQgaHcvZGlzcGxheS94ZW5mYi5jIHRvIHNlZSB3aGF0IGlzIGdvaW5nIHdyb25n
Ljxicj4NCiZndDsgPGJyPg0KJmd0O8KgIMKgIMKgIMKgQ2hlZXJzLDxicj4NCiZndDsgPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgU3RlZmFubzxicj4NCiZndDsgPGJyPg0KJmd0OyA8YnI+DQomZ3Q7wqAg
wqAgwqAgwqBPbiBNb24sIDcgTm92IDIwMjIsIFZpcHVsIFN1bmVqYSB3cm90ZTo8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IEhpIFN0ZWZhbm8sPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFu
a3MhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgQW55
IGlucHV0IGZ1cnRoZXIgb24gJnF1b3Q7eGVuc3RvcmUtbHMmcXVvdDsgbG9ncz88YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBJIGFtIHRyeWluZyB0byBy
dW4gdGhlIHgwdm5jc2VydmVyICZhbXA7IHgxMXZuYyBzZXJ2ZXIgbWFudWFsbHkgb24gZ3Vlc3Qg
bWFjaGluZSh4ZW5fZ3Vlc3RfaW1hZ2VfbWluaW1hbCkgaW1hZ2UgYnV0IGl0JiMzOTtzIGZhaWxp
bmc8YnI+DQomZ3Q7wqAgwqAgwqAgwqB3aXRoIHRoZSBiZWxvdzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgZXJyb3IuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgcm9vdEByYXNwYmVycnlwaTQtNjQ6L3Vzci9iaW4jIHgwdm5jc2VydmVyPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0OyB4MHZuY3NlcnZlcjogdW5hYmxlIHRvIG9wZW4gZGlzcGxheSAmcXVv
dDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0Oi91
c3IvYmluIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVycnlwaTQtNjQ6L3Vz
ci9iaW4jIHgxMXZuYzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyAjQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCoq
IMKgV0FSTklORyDCoCoqIMKgV0FSTklORyDCoCoqIMKgV0FSTklORyDCoCoqIMKgV0FSTklORyDC
oCoqIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqBZT1Ug
QVJFIFJVTk5JTkcgWDExVk5DIFdJVEhPVVQgQSBQQVNTV09SRCEhIMKgIMKgIMKgIMKgQCM8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAj
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoFRoaXMgbWVhbnMgYW55b25lIHdpdGggbmV0
d29yayBhY2Nlc3MgdG8gdGhpcyBjb21wdXRlciDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDsgI0AgwqBtYXkgYmUgYWJsZSB0byB2aWV3IGFuZCBjb250cm9sIHlvdXIgZGVza3RvcC4gwqAg
wqAgwqAgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAICZndDsmZ3Q7
Jmd0OyBJZiB5b3UgZGlkIG5vdCBtZWFuIHRvIGRvIHRoaXMgUHJlc3MgQ1RSTC1DIG5vdyEhICZs
dDsmbHQ7Jmx0OyBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgWW91IGNhbiBjcmVhdGUgYW4geDExdm5jIHBhc3N3
b3JkIGZpbGUgYnkgcnVubmluZzogwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0OyAjQCDCoCDCoCDCoCB4MTF2bmMgLXN0b3JlcGFzc3dkIHBhc3N3b3JkIC9wYXRoL3RvL3Bh
c3NmaWxlIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgb3IgwqAgeDEx
dm5jIC1zdG9yZXBhc3N3ZCAvcGF0aC90by9wYXNzZmlsZSDCoCDCoCDCoCDCoCDCoCDCoCDCoCBA
Izxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBvciDCoCB4MTF2bmMgLXN0b3JlcGFzc3dk
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAodGhlIGxhc3Qgb25lIHdpbGwgdXNlIH4vLnZu
Yy9wYXNzd2QpIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyAjQCDCoGFuZCB0aGVuIHN0YXJ0aW5nIHgxMXZuYyB2aWE6IMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0OyAjQCDCoCDCoCDCoHgxMXZuYyAtcmZiYXV0aCAvcGF0aC90by9wYXNzZmlsZSDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsg
I0AgwqBhbiBleGlzdGluZyB+Ly52bmMvcGFzc3dkIGZpbGUgZnJvbSBhbm90aGVyIFZOQyDCoCDC
oCDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoGFwcGxpY2F0aW9uIHdp
bGwgd29yayBmaW5lIHRvby4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBA
Izxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgWW91IGNhbiBhbHNvIHVzZSB0aGUg
LXBhc3N3ZGZpbGUgb3IgLXBhc3N3ZCBvcHRpb25zLiDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDsgI0AgwqAobm90ZSAtcGFzc3dkIGlzIHVuc2FmZSBpZiBsb2NhbCB1c2VycyBhcmUg
bm90IHRydXN0ZWQpIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoE1ha2Ug
c3VyZSBhbnkgLXJmYmF1dGggYW5kIC1wYXNzd2RmaWxlIHBhc3N3b3JkIGZpbGVzIMKgIMKgQCM8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgY2Fubm90IGJlIHJlYWQgYnkgdW50cnVzdGVk
IHVzZXJzLiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgVXNlIHgxMXZuYyAtdXNlcHcgdG8gYXV0b21hdGljYWxseSB1
c2UgeW91ciDCoCDCoCDCoCDCoCDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAj
QCDCoH4vLnZuYy9wYXNzd2Qgb3Igfi8udm5jL3Bhc3N3ZGZpbGUgcGFzc3dvcmQgZmlsZXMuIMKg
IMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoChhbmQgcHJvbXB0IHlvdSB0
byBjcmVhdGUgfi8udm5jL3Bhc3N3ZCBpZiBuZWl0aGVyIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyAjQCDCoGZpbGUgZXhpc3RzLikgwqBVbmRlciAtdXNlcHcsIHgxMXZuYyB3
aWxsIGV4aXQgaWYgaXQgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBj
YW5ub3QgZmluZCBhIHBhc3N3b3JkIHRvIHVzZS4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBFdmVu
IHdpdGggYSBwYXNzd29yZCwgdGhlIHN1YnNlcXVlbnQgVk5DIHRyYWZmaWMgaXMgwqAgwqAgwqBA
Izxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBzZW50IGluIHRoZSBjbGVhci7CoCBDb25z
aWRlciB0dW5uZWxsaW5nIHZpYSBzc2goMSk6IMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyAjQCDCoCDCoDxhIGhyZWY9Imh0dHA6Ly93d3cua2FybHJ1bmdlLmNvbS94MTF2
bmMvI3R1bm5lbGxpbmciIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93
d3cua2FybHJ1bmdlLmNvbS94MTF2bmMvI3R1bm5lbGxpbmc8L2E+IMKgIMKgIMKgIMKgIMKgIMKg
QCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoE9yIHVzaW5nIHRoZSB4MTF2bmMg
U1NMIG9wdGlvbnM6IC1zc2wgYW5kIC1zdHVubmVsIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgI0AgwqBQbGVhc2UgUmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgbW9y
ZSBpbmZvIGFib3V0IMKgIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKg
cGFzc3dvcmRzLCBzZWN1cml0eSwgYW5kIGVuY3J5cHRpb24uIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqA8YSBocmVm
PSJodHRwOi8vd3d3LmthcmxydW5nZS5jb20veDExdm5jL2ZhcS5odG1sI2ZhcS1wYXNzd2QiIHJl
bD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cua2FybHJ1bmdlLmNvbS94
MTF2bmMvZmFxLmh0bWwjZmFxLXBhc3N3ZDwvYT4gwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7ICNAIMKgVG8gZGlzYWJsZSB0aGlzIHdhcm5pbmcgdXNlIHRoZSAtbm9wdyBvcHRp
b24sIG9yIHB1dCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAmIzM5O25v
cHcmIzM5OyBvbiBhIGxpbmUgaW4geW91ciB+Ly54MTF2bmNyYyBmaWxlLiDCoCDCoCDCoCDCoCDC
oCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIzxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4
IDEyOjU4OjQxIHgxMXZuYyB2ZXJzaW9uOiAwLjkuMTYgbGFzdG1vZDogMjAxOS0wMS0wNSDCoHBp
ZDogNDI0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQxIFhPcGVu
RGlzcGxheSgmcXVvdDsmcXVvdDspIGZhaWxlZC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5
LzAzLzIwMTggMTI6NTg6NDEgVHJ5aW5nIGFnYWluIHdpdGggWEFVVEhMT0NBTEhPU1ROQU1FPWxv
Y2FsaG9zdCAuLi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAzLzIwMTggMTI6NTg6NDE8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAzLzIwMTggMTI6NTg6NDEgKioqIFhPcGVuRGlz
cGxheSBmYWlsZWQuIE5vIC1kaXNwbGF5IG9yIERJU1BMQVkuPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQxICoqKiBUcnlpbmcgJnF1b3Q7OjAmcXVvdDsgaW4gNCBz
ZWNvbmRzLsKgIFByZXNzIEN0cmwtQyB0byBhYm9ydC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IDA5LzAzLzIwMTggMTI6NTg6NDEgKioqIDEgMiAzIDQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IDA5LzAzLzIwMTggMTI6NTg6NDUgWE9wZW5EaXNwbGF5KCZxdW90OzowJnF1b3Q7KSBmYWlsZWQu
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQ1IFRyeWluZyBhZ2Fp
biB3aXRoIFhBVVRITE9DQUxIT1NUTkFNRT1sb2NhbGhvc3QgLi4uPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQ1IFhPcGVuRGlzcGxheSgmcXVvdDs6MCZxdW90Oykg
ZmFpbGVkLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0NSBUcnlp
bmcgYWdhaW4gd2l0aCB1bnNldCBYQVVUSExPQ0FMSE9TVE5BTUUgLi4uPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQ1PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0NSAqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKio8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAz
LzIwMTggMTI6NTg6NDUgKioqIFhPcGVuRGlzcGxheSBmYWlsZWQgKDowKTxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICoqKiB4MTF2bmMgd2FzIHVuYWJs
ZSB0byBvcGVuIHRoZSBYIERJU1BMQVk6ICZxdW90OzowJnF1b3Q7LCBpdCBjYW5ub3QgY29udGlu
dWUuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAqKiogVGhlcmUgbWF5IGJlICZxdW90O1hsaWI6
JnF1b3Q7IGVycm9yIG1lc3NhZ2VzIGFib3ZlIHdpdGggZGV0YWlscyBhYm91dCB0aGUgZmFpbHVy
ZS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBTb21l
IHRpcHMgYW5kIGd1aWRlbGluZXM6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgKiogQW4gWCBzZXJ2ZXIgKHRoZSBvbmUgeW91IHdpc2ggdG8gdmlldykg
bXVzdCBiZSBydW5uaW5nIGJlZm9yZSB4MTF2bmMgaXM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgc3RhcnRlZDogeDExdm5jIGRvZXMgbm90IHN0YXJ0IHRoZSBYIHNlcnZlci4gwqAoaG93
ZXZlciwgc2VlIHRoZSAtY3JlYXRlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoG9wdGlv
biBpZiB0aGF0IGlzIHdoYXQgeW91IHJlYWxseSB3YW50KS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAqKiBZb3UgbXVzdCB1c2UgLWRpc3BsYXkgJmx0
O2Rpc3AmZ3Q7LCAtT1ItIHNldCBhbmQgZXhwb3J0IHlvdXIgJERJU1BMQVk8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gcmVmZXIgdG8gdGhlIGRp
c3BsYXkgb2YgdGhlIGRlc2lyZWQgWCBzZXJ2ZXIuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oC0gVXN1YWxseSB0aGUgZGlzcGxheSBpcyBzaW1wbHkgJnF1b3Q7OjAmcXVvdDsgKGluIGZhY3Qg
eDExdm5jIHVzZXMgdGhpcyBpZiB5b3UgZm9yZ2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoHRvIHNwZWNpZnkgaXQpLCBidXQgaW4gc29tZSBtdWx0aS11c2VyIHNpdHVhdGlvbnMgaXQg
Y291bGQgYmUgJnF1b3Q7OjEmcXVvdDssICZxdW90OzoyJnF1b3Q7LDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqBvciBldmVuICZxdW90OzoxMzcmcXVvdDsuwqAgQXNrIHlvdXIgYWRtaW5p
c3RyYXRvciBvciBhIGd1cnUgaWYgeW91IGFyZSBoYXZpbmc8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgZGlmZmljdWx0eSBkZXRlcm1pbmluZyB3aGF0IHlvdXIgWCBESVNQTEFZIGlzLjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICoqIE5leHQs
IHlvdSBuZWVkIHRvIGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyAoWGF1dGhvcml0eSk8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdG8gY29ubmVjdCB0byB0aGUgWCBESVNQTEFZLiDC
oCBIZXJlIGFyZSBzb21lIFRpcHM6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgwqAtIE9mdGVuLCB5b3UganVzdCBuZWVkIHRvIHJ1biB4MTF2bmMgYXMg
dGhlIHVzZXIgbG9nZ2VkIGludG8gdGhlIFggc2Vzc2lvbi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgU28gbWFrZSBzdXJlIHRvIGJlIHRoYXQgdXNlciB3aGVuIHlvdSB0eXBlIHgxMXZu
Yy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgLSBCZWluZyByb290IGlzIHVzdWFsbHkgbm90
IGVub3VnaCBiZWNhdXNlIHRoZSBpbmNvcnJlY3QgTUlULU1BR0lDLUNPT0tJRTxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqBmaWxlIG1heSBiZSBhY2Nlc3NlZC7CoCBUaGUgY29va2llIGZp
bGUgY29udGFpbnMgdGhlIHNlY3JldCBrZXkgdGhhdDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqBhbGxvd3MgeDExdm5jIHRvIGNvbm5lY3QgdG8gdGhlIGRlc2lyZWQgWCBESVNQTEFZLjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAtIFlvdSBjYW4gZXhwbGljaXRseSBpbmRpY2F0ZSB3
aGljaCBNSVQtTUFHSUMtQ09PS0lFIGZpbGUgc2hvdWxkIGJlIHVzZWQ8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgYnkgdGhlIC1hdXRoIG9wdGlvbiwgZS5nLjo8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgIMKgeDExdm5jIC1hdXRoIC9ob21lL3NvbWV1c2VyLy5YYXV0aG9y
aXR5IC1kaXNwbGF5IDowPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHgxMXZu
YyAtYXV0aCAvdG1wLy5nZG16bmRWbFIgLWRpc3BsYXkgOjA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgeW91IG11c3QgaGF2ZSByZWFkIHBlcm1pc3Npb24gZm9yIHRoZSBhdXRoIGZpbGUu
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoFNlZSBhbHNvICYjMzk7LWF1dGggZ3Vlc3Mm
IzM5OyBhbmQgJiMzOTstZmluZGF1dGgmIzM5OyBkaXNjdXNzZWQgYmVsb3cuPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgKiogSWYgTk8gT05FIGlzIGxv
Z2dlZCBpbnRvIGFuIFggc2Vzc2lvbiB5ZXQsIGJ1dCB0aGVyZSBpcyBhIGdyZWV0ZXIgbG9naW48
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgcHJvZ3JhbSBsaWtlICZxdW90O2dkbSZxdW90
OywgJnF1b3Q7a2RtJnF1b3Q7LCAmcXVvdDt4ZG0mcXVvdDssIG9yICZxdW90O2R0bG9naW4mcXVv
dDsgcnVubmluZywgeW91IHdpbGwgbmVlZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqB0
byBmaW5kIGFuZCB1c2UgdGhlIHJhdyBkaXNwbGF5IG1hbmFnZXIgTUlULU1BR0lDLUNPT0tJRSBm
aWxlLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBTb21lIGV4YW1wbGVzIGZvciB2YXJp
b3VzIGRpc3BsYXkgbWFuYWdlcnM6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqBnZG06IMKgIMKgIC1hdXRoIC92YXIvZ2RtLzowLlhhdXRo
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoCDCoCDCoCDCoCAtYXV0aCAvdmFy
L2xpYi9nZG0vOjAuWGF1dGg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKga2RtOiDC
oCDCoCAtYXV0aCAvdmFyL2xpYi9rZG0vQTowLWNyV2s3Mjxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgLWF1dGggL3Zhci9ydW4veGF1dGgvQTowLWNyV2s3Mjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB4ZG06IMKgIMKgIC1hdXRoIC92YXIvbGli
L3hkbS9hdXRoZGlyL2F1dGhmaWxlcy9BOjAtWFF2YUprPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoGR0bG9naW46IC1hdXRoIC92YXIvZHQvQTowLVVnYWFYYTxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgU29tZXRpbWVzIHRoZSBj
b21tYW5kICZxdW90O3BzIHd3d3dhdXggfCBncmVwIGF1dGgmcXVvdDsgY2FuIHJldmVhbCB0aGUg
ZmlsZSBsb2NhdGlvbi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoFN0YXJ0aW5nIHdpdGggeDExdm5jIDAuOS45IHlvdSBjYW4gaGF2ZSBpdCB0
cnkgdG8gZ3Vlc3MgYnkgdXNpbmc6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgLWF1dGggZ3Vlc3M8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoChzZWUgYWxzbyB0
aGUgeDExdm5jIC1maW5kYXV0aCBvcHRpb24uKTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgT25seSByb290IHdpbGwgaGF2ZSByZWFkIHBlcm1p
c3Npb24gZm9yIHRoZSBmaWxlLCBhbmQgc28geDExdm5jIG11c3QgYmUgcnVuPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoGFzIHJvb3QgKG9yIGNvcHkgaXQpLsKgIFRoZSByYW5kb20gY2hh
cmFjdGVycyBpbiB0aGUgZmlsZW5hbWVzIHdpbGwgb2YgY291cnNlPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoGNoYW5nZSBhbmQgdGhlIGRpcmVjdG9yeSB0aGUgY29va2llIGZpbGUgcmVz
aWRlcyBpbiBpcyBzeXN0ZW0gZGVwZW5kZW50Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFNlZSBhbHNvOiA8YSBocmVmPSJodHRwOi8vd3d3Lmthcmxy
dW5nZS5jb20veDExdm5jL2ZhcS5odG1sIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5r
Ij5odHRwOi8vd3d3LmthcmxydW5nZS5jb20veDExdm5jL2ZhcS5odG1sPC9hPjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIFRodSwgTm92IDMsIDIwMjIgYXQgMTA6MjcgUE0gVmlw
dWwgU3VuZWphICZsdDs8YSBocmVmPSJtYWlsdG86dnN1bmVqYTYzQGdtYWlsLmNvbSIgdGFyZ2V0
PSJfYmxhbmsiPnZzdW5lamE2M0BnbWFpbC5jb208L2E+Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBIaSBTdGVmYW5vLDxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDsgVGhhbmtzITxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IEkgdXNlZCB4ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbChzaW1wbGUgY29uc29sZSBiYXNlZCBp
bWFnZSkgYXMgYSBndWVzdCB3aXRoIGZiY29uICZhbXA7IGZiZGV2IGVuYWJsZWQgaW4ga2VybmVs
IGNvbmZpZ3VyYXRpb25zIGJ1dDxicj4NCiZndDvCoCDCoCDCoCDCoHN0aWxsPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyB0aGUgc2FtZSBlcnJvciBjYW4mIzM5O3Qgb3BlbiB0aGUgZGlzcGxheS48
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGJlbG93IGFyZSB0aGUgb3V0Y29tZSBvZiAmcXVvdDt4
ZW5zdG9yZS1scyZxdW90Ozo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDp+L2d1ZXN0MSMgeGVuc3RvcmUtbHM8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHRvb2wgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgeGVuc3RvcmVkID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0OyBsb2NhbCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqBkb21h
aW4gPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIDAgPSAmcXVvdDsm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgY29udHJvbCA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgZmVhdHVyZS1wb3dlcm9mZiA9ICZxdW90
OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIGZlYXR1cmUtcmVib290ID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBkb21pZCA9ICZxdW90
OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgbmFtZSA9ICZxdW90O0RvbWFp
bi0wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRldmljZS1tb2RlbCA9ICZx
dW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMCA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBiYWNrZW5kcyA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgY29uc29sZSA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBxbmljID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7cnVubmluZyZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqBiYWNrZW5kcyA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgY29uc29sZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAgdmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCBxbmljID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7cnVubmluZyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqBiYWNrZW5kID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCB2YmQgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgMSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgNTE3
MTIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJv
bnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZiZC81MTcxMiZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBwYXJhbXMgPSAmcXVvdDsvaG9tZS9yb290
L2d1ZXN0Mi94ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0MyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBzY3JpcHQgPSAmcXVvdDsvZXRj
L3hlbi9zY3JpcHRzL2Jsb2NrJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCDCoHJlbW92YWJsZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIMKgYm9vdGFibGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgwqBkZXYgPSAmcXVvdDt4dmRhJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHR5cGUgPSAmcXVvdDtwaHkmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgbW9kZSA9ICZxdW90O3cmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZGV2aWNlLXR5cGUgPSAmcXVvdDtkaXNrJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGRpc2NhcmQtZW5hYmxlID0gJnF1
b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLW1h
eC1pbmRpcmVjdC1zZWdtZW50cyA9ICZxdW90OzI1NiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgwqBtdWx0aS1xdWV1ZS1tYXgtcXVldWVzID0gJnF1b3Q7NCZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBtYXgtcmluZy1wYWdlLW9yZGVyID0g
JnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBub2RlID0g
JnF1b3Q7L2Rldi9sb29wMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
wqBwaHlzaWNhbC1kZXZpY2UgPSAmcXVvdDs3OjAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIMKgcGh5c2ljYWwtZGV2aWNlLXBhdGggPSAmcXVvdDsvZGV2L2xvb3AwJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGhvdHBsdWctc3RhdHVzID0g
JnF1b3Q7Y29ubmVjdGVkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oGZlYXR1cmUtZmx1c2gtY2FjaGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoGRpc2NhcmQtZ3JhbnVsYXJpdHkgPSAmcXVvdDs0MDk2JnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGRpc2NhcmQtYWxpZ25tZW50ID0gJnF1
b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBkaXNjYXJkLXNl
Y3VyZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKg
ZmVhdHVyZS1kaXNjYXJkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqBmZWF0dXJlLWJhcnJpZXIgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtcGVyc2lzdGVudCA9ICZxdW90OzEmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgc2VjdG9ycyA9ICZxdW90OzE3OTQw
NDgmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgaW5mbyA9ICZxdW90
OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgc2VjdG9yLXNpemUg
PSAmcXVvdDs1MTImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcGh5
c2ljYWwtc2VjdG9yLXNpemUgPSAmcXVvdDs1MTImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIHZmYiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCAw
ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250
ZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8xL2RldmljZS92ZmIvMCZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmcm9udGVuZC1pZCA9ICZxdW90OzEmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgb25saW5lID0gJnF1b3Q7MSZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBzdGF0ZSA9ICZxdW90OzQmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdm5jID0gJnF1b3Q7MSZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB2bmNsaXN0ZW4gPSAmcXVvdDsxMjcu
MC4wLjEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdm5jZGlzcGxh
eSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdm5j
dW51c2VkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
wqBzZGwgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oG9wZW5nbCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IMKgZmVhdHVyZS1yZXNpemUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCDCoGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHJlcXVlc3QtdXBkYXRlID0gJnF1b3Q7MSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8xL2Rl
dmljZS92a2JkLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJv
bnRlbmQtaWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgc3RhdGUgPSAmcXVvdDs0JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCDCoGZlYXR1cmUtYWJzLXBvaW50ZXIgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtcmF3LXBvaW50ZXIgPSAmcXVvdDsxJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGhvdHBsdWctc3RhdHVzID0gJnF1
b3Q7Y29ubmVjdGVkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBjb25zb2xl
ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoDEgPSAmcXVv
dDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsv
bG9jYWwvZG9tYWluLzEvY29uc29sZSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAgwqBmcm9udGVuZC1pZCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIMKgb25saW5lID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgwqBzdGF0ZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIMKgcHJvdG9jb2wgPSAmcXVvdDt2dDEwMCZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgdmlmID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoDEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZpZi8wJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7
MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBvbmxpbmUgPSAmcXVv
dDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHN0YXRlID0gJnF1
b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBzY3JpcHQgPSAm
cXVvdDsvZXRjL3hlbi9zY3JpcHRzL3ZpZi1icmlkZ2UmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIMKgbWFjID0gJnF1b3Q7ZTQ6NWY6MDE6Y2Q6N2I6ZGQmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgYnJpZGdlID0gJnF1b3Q7eGVuYnIwJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGhhbmRsZSA9ICZxdW90OzAm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdHlwZSA9ICZxdW90O3Zp
ZiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBob3RwbHVnLXN0YXR1
cyA9ICZxdW90O2Nvbm5lY3RlZCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqAgwqBmZWF0dXJlLXNnID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqBmZWF0dXJlLWdzby10Y3B2NCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1nc28tdGNwdjYgPSAmcXVvdDsxJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtaXB2Ni1jc3VtLW9m
ZmxvYWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oGZlYXR1cmUtcngtY29weSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgIMKgZmVhdHVyZS14ZHAtaGVhZHJvb20gPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtcngtZmxpcCA9ICZxdW90OzAmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1tdWx0aWNhc3Qt
Y29udHJvbCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IMKgZmVhdHVyZS1keW5hbWljLW11bHRpY2FzdC1jb250cm9sID0gJnF1b3Q7MSZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLXNwbGl0LWV2ZW50LWNoYW5u
ZWxzID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBt
dWx0aS1xdWV1ZS1tYXgtcXVldWVzID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLWN0cmwtcmluZyA9ICZxdW90OzEmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIDEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgdm0gPSAmcXVvdDsvdm0vZDgxZWM1YTktNWJmOS00ZjJiLTg5ZTgtMGY2MGQ2
ZGE5NDhmJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoG5hbWUgPSAmcXVvdDtn
dWVzdDImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgY3B1ID0gJnF1b3Q7JnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGF2YWlsYWJpbGl0eSA9ICZxdW90O29ubGluZSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMSA9ICZxdW90OyZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBhdmFpbGFiaWxpdHkgPSAmcXVvdDtvbmxpbmUm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgbWVtb3J5ID0gJnF1b3Q7JnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBzdGF0aWMtbWF4ID0gJnF1b3Q7MjA5NzE1
MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdGFyZ2V0ID0gJnF1b3Q7MjA5
NzE1MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmlkZW9yYW0gPSAmcXVv
dDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRldmljZSA9ICZxdW90OyZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgc3VzcGVuZCA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBldmVudC1jaGFubmVsID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB2YmQgPSAmcXVvdDsmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgNTE3MTIgPSAmcXVvdDsmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9t
YWluLzAvYmFja2VuZC92YmQvMS81MTcxMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgYmFja2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgdmlydHVhbC1kZXZpY2UgPSAmcXVvdDs1MTcxMiZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgZGV2aWNlLXR5cGUgPSAmcXVvdDtkaXNrJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBtdWx0aS1xdWV1ZS1udW0tcXVldWVzID0g
JnF1b3Q7MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgcXVldWUtMCA9
ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqByaW5nLXJl
ZiA9ICZxdW90OzgmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZl
bnQtY2hhbm5lbCA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIHF1ZXVlLTEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgcmluZy1yZWYgPSAmcXVvdDs5JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoCDCoGV2ZW50LWNoYW5uZWwgPSAmcXVvdDs1JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCBwcm90b2NvbCA9ICZxdW90O2FybS1hYmkmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtcGVyc2lzdGVudCA9ICZxdW90OzEmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHZmYiA9ICZxdW90OyZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBiYWNrZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8wL2Jh
Y2tlbmQvdmZiLzEvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgYmFj
a2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
cGFnZS1yZWYgPSAmcXVvdDsyNzUwMjImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIGV2ZW50LWNoYW5uZWwgPSAmcXVvdDszJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCBwcm90b2NvbCA9ICZxdW90O2FybS1hYmkmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtdXBkYXRlID0gJnF1b3Q7MSZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCBiYWNrZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8wL2JhY2tlbmQv
dmtiZC8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGJhY2tlbmQt
aWQgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBzdGF0
ZSA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHJlcXVl
c3QtYWJzLXBvaW50ZXIgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoCBwYWdlLXJlZiA9ICZxdW90OzI3NTMyMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgcGFnZS1ncmVmID0gJnF1b3Q7MTI4NCZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgZXZlbnQtY2hhbm5lbCA9ICZxdW90OzEwJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB2aWYgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3Zp
Zi8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGJhY2tlbmQtaWQg
PSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBzdGF0ZSA9
ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGhhbmRsZSA9
ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIG1hYyA9ICZx
dW90O2U0OjVmOjAxOmNkOjdiOmRkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCBtdHUgPSAmcXVvdDsxNTAwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCB4ZHAtaGVhZHJvb20gPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCBtdWx0aS1xdWV1ZS1udW0tcXVldWVzID0gJnF1b3Q7MiZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgcXVldWUtMCA9ICZxdW90OyZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB0eC1yaW5nLXJlZiA9ICZxdW90OzEyODAmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcngtcmluZy1yZWYgPSAmcXVv
dDsxMjgxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGV2ZW50LWNo
YW5uZWwtdHggPSAmcXVvdDs2JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoGV2ZW50LWNoYW5uZWwtcnggPSAmcXVvdDs3JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCBxdWV1ZS0xID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoHR4LXJpbmctcmVmID0gJnF1b3Q7MTI4MiZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqByeC1yaW5nLXJlZiA9ICZxdW90OzEyODMmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZlbnQtY2hhbm5lbC10eCA9ICZx
dW90OzgmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZlbnQtY2hh
bm5lbC1yeCA9ICZxdW90OzkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IHJlcXVlc3QtcngtY29weSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgIGZlYXR1cmUtcngtbm90aWZ5ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgZmVhdHVyZS1zZyA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtZ3NvLXRjcHY0ID0gJnF1b3Q7MSZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgZmVhdHVyZS1nc28tdGNwdjYgPSAm
cXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBmZWF0dXJlLWlw
djYtY3N1bS1vZmZsb2FkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqBjb250cm9sID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCBzaHV0ZG93biA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
ZmVhdHVyZS1wb3dlcm9mZiA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIGZlYXR1cmUtcmVib290ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgZmVhdHVyZS1zdXNwZW5kID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCBzeXNycSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgcGxhdGZvcm0tZmVhdHVyZS1tdWx0aXByb2Nlc3Nvci1zdXNwZW5kID0gJnF1
b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgcGxhdGZvcm0tZmVhdHVy
ZS14c19yZXNldF93YXRjaGVzID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqBkYXRhID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oGRyaXZlcnMgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgZmVh
dHVyZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBhdHRyID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGVycm9yID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRvbWlkID0gJnF1b3Q7MSZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBzdG9yZSA9ICZxdW90OyZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgcG9ydCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHJpbmctcmVmID0gJnF1b3Q7MjMzNDczJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGNvbnNvbGUgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzAvYmFj
a2VuZC9jb25zb2xlLzEvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgYmFj
a2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIGxp
bWl0ID0gJnF1b3Q7MTA0ODU3NiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
dHlwZSA9ICZxdW90O3hlbmNvbnNvbGVkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCBvdXRwdXQgPSAmcXVvdDtwdHkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIHR0eSA9ICZxdW90Oy9kZXYvcHRzLzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIHBvcnQgPSAmcXVvdDsyJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCByaW5nLXJlZiA9ICZxdW90OzIzMzQ3MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgdm5jLWxpc3RlbiA9ICZxdW90OzEyNy4wLjAuMSZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgdm5jLXBvcnQgPSAmcXVvdDs1OTAwJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoGltYWdlID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCBkZXZpY2UtbW9kZWwtcGlkID0gJnF1b3Q7Nzg4JnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyB2bSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsg
wqBkODFlYzVhOS01YmY5LTRmMmItODllOC0wZjYwZDZkYTk0OGYgPSAmcXVvdDsmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIG5hbWUgPSAmcXVvdDtndWVzdDImcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIHV1aWQgPSAmcXVvdDtkODFlYzVhOS01YmY5LTRmMmItODll
OC0wZjYwZDZkYTk0OGYmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIHN0YXJ0X3Rp
bWUgPSAmcXVvdDsxNTIwNjAwMjc0LjI3JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBs
aWJ4bCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAxID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCBkZXZpY2UgPSAmcXVvdDsmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdmJkID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCA1MTcxMiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqBmcm9udGVuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMS9kZXZp
Y2UvdmJkLzUxNzEyJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGJhY2tl
bmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzAvYmFja2VuZC92YmQvMS81MTcxMiZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBwYXJhbXMgPSAmcXVvdDsvaG9tZS9yb290L2d1
ZXN0Mi94ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0MyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBzY3JpcHQgPSAmcXVvdDsvZXRjL3hlbi9z
Y3JpcHRzL2Jsb2NrJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250
ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBv
bmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHJl
bW92YWJsZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
Ym9vdGFibGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oHN0YXRlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBk
ZXYgPSAmcXVvdDt4dmRhJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHR5
cGUgPSAmcXVvdDtwaHkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgbW9k
ZSA9ICZxdW90O3cmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZGV2aWNl
LXR5cGUgPSAmcXVvdDtkaXNrJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oGRpc2NhcmQtZW5hYmxlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqB2ZmIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIDAg
PSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZnJvbnRlbmQg
PSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZmYi8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzAvYmFja2Vu
ZC92ZmIvMS8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5k
LWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxp
bmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRl
ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB2bmMgPSAm
cXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHZuY2xpc3RlbiA9
ICZxdW90OzEyNy4wLjAuMSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB2
bmNkaXNwbGF5ID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqB2bmN1bnVzZWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoHNkbCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
b3BlbmdsID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqB2a2Jk
ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCAwID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7
L2xvY2FsL2RvbWFpbi8xL2RldmljZS92a2JkLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3ZrYmQv
MS8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kLWlkID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxpbmUgPSAm
cXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1
b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBjb25zb2xlID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2Rv
bWFpbi8xL2NvbnNvbGUmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgYmFj
a2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL2NvbnNvbGUvMS8wJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7MSZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBwcm90b2NvbCA9ICZxdW90O3Z0MTAwJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoHZpZiA9ICZxdW90OyZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqBmcm9udGVuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMS9kZXZp
Y2UvdmlmLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgYmFja2VuZCA9
ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3ZpZi8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZnJvbnRlbmQtaWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgc3RhdGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoHNjcmlwdCA9ICZxdW90Oy9ldGMveGVuL3NjcmlwdHMvdmlm
LWJyaWRnZSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBtYWMgPSAmcXVv
dDtlNDo1ZjowMTpjZDo3YjpkZCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqBicmlkZ2UgPSAmcXVvdDt4ZW5icjAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgaGFuZGxlID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqB0eXBlID0gJnF1b3Q7dmlmJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCB0eXBlID0gJnF1b3Q7cHZoJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCBk
bS12ZXJzaW9uID0gJnF1b3Q7cWVtdV94ZW4mcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4vZ3Vlc3QxIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFueSBpbnB1dCBhcyBwZXIgYWJvdmU/IExvb2tpbmcg
Zm9yd2FyZCB0byBoZWFyaW5nIGZyb20geW91Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBW
aXB1bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IE9uIFdlZCwgT2N0IDI2LCAyMDIyIGF0IDU6MjEgQU0gU3RlZmFubyBTdGFiZWxsaW5pICZs
dDs8YSBocmVmPSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIgdGFyZ2V0PSJfYmxhbmsi
PnNzdGFiZWxsaW5pQGtlcm5lbC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBIaSBWaXB1bCw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSWYgeW91IGxvb2sgYXQgdGhlIFFFTVUgbG9n
cywgaXQgc2F5czo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgVk5DIHNlcnZlciBydW5uaW5nIG9uIDxhIGhyZWY9Imh0dHA6Ly8xMjcu
MC4wLjE6NTkwMCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+MTI3LjAuMC4xOjU5
MDA8L2E+PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoFRoYXQgaXMgdGhlIFZOQyBzZXJ2ZXIgeW91IG5lZWQgdG8gY29ubmVjdCB0by4g
U28gaW4gdGhlb3J5Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqDCoCB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo1
OTAwIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6NTkwMDwvYT48
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgc2hvdWxkIHdvcmsgY29ycmVjdGx5Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSWYg
eW91IGhhdmU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoMKgIHZmYiA9IFsmcXVvdDt0eXBlPXZuYyZxdW90O108YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgaW4geW91ciB4
bCBjb25maWcgZmlsZSBhbmQgeW91IGhhdmUgJnF1b3Q7ZmJkZXYmcXVvdDsgaW4geW91ciBMaW51
eCBndWVzdCwgaXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBzaG91bGQgd29y
ay48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgSWYgeW91IGNvbm5lY3QgdG8gdGhlIFZOQyBzZXJ2ZXIgYnV0IHlvdSBnZXQgYSBibGFj
ayBzY3JlZW4sIGl0IG1pZ2h0IGJlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
YSBndWVzdCBjb25maWd1cmF0aW9uIGlzc3VlLiBJIHdvdWxkIHRyeSB3aXRoIGEgc2ltcGxlciBn
dWVzdCwgdGV4dCBvbmx5PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgKG5vIFgx
MSwgbm8gV2F5bGFuZCkgYW5kIGVuYWJsZSB0aGUgZmJkZXYgY29uc29sZSAoZmJjb24pLiBTZWU8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBEb2N1bWVudGF0aW9uL2ZiL2ZiY29u
LnJzdCBpbiBMaW51eC4gWW91IHNob3VsZCBiZSBhYmxlIHRvIHNlZSBhPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgZ3JhcGhpY2FsIGNvbnNvbGUgb3ZlciBWTkMuPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoElmIHRo
YXQgd29ya3MsIHRoZW4geW91IGtub3cgdGhhdCB0aGUgZmJkZXYga2VybmVsIGRyaXZlciAoeGVu
LWZiZnJvbnQpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgd29ya3MgY29ycmVj
dGx5Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqBJZiBpdCBkb2VzbiYjMzk7dCB3b3JrLCB0aGUgb3V0cHV0IG9mICZxdW90O3hlbnN0
b3JlLWxzJnF1b3Q7IHdvdWxkIGJlIGludGVyZXN0aW5nLjxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFN0ZWZhbm88
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoE9uIFdlZCwgMTkgT2N0IDIwMjIsIFZpcHVsIFN1
bmVqYSB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEhpIFN0
ZWZhbm8sPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVGhhbmtzIGZvciB0aGUgcmVzcG9uc2UhPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgSSBhbSBmb2xsb3dpbmcgdGhlIHNhbWUgbGluayB5b3Ugc2hh
cmVkIGZyb20gdGhlIGJlZ2lubmluZy4gVHJpZWQgdGhlIGNvbW1hbmQgJnF1b3Q7dm5jdmlld2Vy
IGxvY2FsaG9zdDowJnF1b3Q7IGluIERPTTAgYnV0PGJyPg0KJmd0O8KgIMKgIMKgIMKgc2FtZTxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGlzc3VlICZxdW90O0NhbiYjMzk7dCBv
cGVuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBkaXNwbGF5JnF1b3Q7
LCBiZWxvdyBhcmUgdGhlIGxvZ3M6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVy
cnlwaTQtNjQ6fiMgdm5jdmlld2VyIGxvY2FsaG9zdDowPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
VGlnZXJWTkMgVmlld2VyIDY0LWJpdCB2MS4xMS4wPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyBCdWlsdCBvbjogMjAyMC0wOS0wOCAxMjoxNjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgQ29weXJpZ2h0IChDKSAxOTk5LTIwMjAgVGlnZXJWTkMg
VGVhbSBhbmQgbWFueSBvdGhlcnMgKHNlZSBSRUFETUUucnN0KTxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgU2VlIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRpZ2Vydm5jLm9y
ZyIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly93d3cudGlnZXJ2bmMu
b3JnPC9hPiBmb3IgaW5mb3JtYXRpb24gb24gVGlnZXJWTkMuPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBDYW4mIzM5O3Qgb3BlbiBkaXNwbGF5Ojxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IEJlbG93IGFyZSB0aGUgbmV0c3RhdCBsb2dzLCBpIGNvdWxkbiYjMzk7dCBzZWUg
YW55dGhpbmcgcnVubmluZyBhdCBwb3J0IDU5MDAgb3IgNTkwMTo8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyByb290QHJhc3BiZXJyeXBpNC02NDp+IyBuZXRzdGF0IC10dXd4PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBBY3RpdmUgSW50ZXJuZXQgY29ubmVjdGlvbnMgKHcv
byBzZXJ2ZXJzKTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgUHJvdG8g
UmVjdi1RIFNlbmQtUSBMb2NhbCBBZGRyZXNzIMKgIMKgIMKgIMKgIMKgIEZvcmVpZ24gQWRkcmVz
cyDCoCDCoCDCoCDCoCBTdGF0ZSDCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgdGNwIMKgIMKgIMKgIMKgMCDCoCDCoDE2NCAxOTIuMTY4LjEuMzk6c3NoIMKg
IMKgIMKgIMKgPGEgaHJlZj0iaHR0cDovLzE5Mi4xNjguMS4zODozNzQ3MiIgcmVsPSJub3JlZmVy
cmVyIiB0YXJnZXQ9Il9ibGFuayI+MTkyLjE2OC4xLjM4OjM3NDcyPC9hPiDCoCDCoCDCoEVTVEFC
TElTSEVEPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBBY3RpdmUgVU5J
WCBkb21haW4gc29ja2V0cyAody9vIHNlcnZlcnMpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyBQcm90byBSZWZDbnQgRmxhZ3MgwqAgwqAgwqAgVHlwZSDCoCDCoCDCoCBT
dGF0ZSDCoCDCoCDCoCDCoCBJLU5vZGUgUGF0aDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgdW5peCDCoDggwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgREdSQU0gwqAgwqAg
wqBDT05ORUNURUQgwqAgwqAgwqAxMDU2NSAvZGV2L2xvZzxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFN
IMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwODkxIC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKg
WyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMzc5MTxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0g
wqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwODQzIC92YXIvcnVu
L3hlbnN0b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQg
wqAgwqAgwqAxMDU3MyAvdmFyL3J1bi94ZW5zdG9yZWQvc29ja2V0PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMiDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBE
R1JBTSDCoCDCoCDCoENPTk5FQ1RFRCDCoCDCoCDCoDE0NTEwPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJF
QU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTMyNDk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIERHUkFNIMKg
IMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKgMTM4ODc8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKg
IMKgQ09OTkVDVEVEIMKgIMKgIMKgMTA1OTk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBD
T05ORUNURUQgwqAgwqAgwqAxNDAwNTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5F
Q1RFRCDCoCDCoCDCoDEzMjU4PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVE
IMKgIMKgIMKgMTMyNDg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVu
aXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAg
wqAgwqAxNDAwMzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDC
oDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDC
oDEwNTcyIC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDC
oCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMDc4NiAvdmFyL3J1bi94ZW5zdG9yZWQvc29ja2V0PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsg
XSDCoCDCoCDCoCDCoCBER1JBTSDCoCDCoCDCoENPTk5FQ1RFRCDCoCDCoCDCoDEzMTg2PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDC
oCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA4NjQgL3Zhci9ydW4v
eGVuc3RvcmVkL3NvY2tldDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
dW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDC
oCDCoCDCoDEwODEyIC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIERH
UkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKgMTQwODM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVB
TSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMDgxMyAvdmFyL3J1bi94ZW5zdG9yZWQvc29ja2V0
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDC
oFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTQwNjg8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBd
IMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMzI1Njxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAg
wqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwNTcxIC92YXIvcnVuL3hl
bnN0b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVu
aXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAg
wqAgwqAxMDg0Mjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDC
oDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDC
oDEzOTg1PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDC
oCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBER1JBTSDCoCDCoCDCoENPTk5FQ1RFRCDCoCDCoCDCoDEz
MTg1PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMiDCoCDC
oCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTM4ODQ8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKg
WyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKgMTQ1Mjg8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKgWyBd
IMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKgMTM3ODU8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKg
IMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxNDAzNDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IEF0dGFjaGluZyB4ZW4gbG9nIGZpbGVzIG9mIC92YXIvbG9nL3hlbi48YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEkgZGlkbiYjMzk7dCBnZXQgdGhl
IHJvbGUgb2YgUUVNVSBoZXJlIGJlY2F1c2UgYXMgbWVudGlvbmVkIGVhcmxpZXIsIEkgYW0gcG9y
dGluZyBpbiByYXNwYmVycnlwaSA0Qi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBSZWdhcmRzLDxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVmlwdWwgS3VtYXI8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyBPbiBXZWQsIE9jdCAxOSwgMjAyMiBhdCAxMjo0MyBBTSBTdGVmYW5v
IFN0YWJlbGxpbmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwub3JnIiB0
YXJnZXQ9Il9ibGFuayI+c3N0YWJlbGxpbmlAa2VybmVsLm9yZzwvYT4mZ3Q7IHdyb3RlOjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoEl0IHVzdWFsbHkg
d29ya3MgdGhlIHdheSBpdCBpcyBkZXNjcmliZWQgaW4gdGhlIGd1aWRlOjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqA8YnI+DQom
Z3Q7wqAgwqAgwqAgwqDCoMKgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmlydHVhdG9waWEuY29tL2lu
ZGV4LnBocD90aXRsZT1Db25maWd1cmluZ19hX1ZOQ19iYXNlZF9HcmFwaGljYWxfQ29uc29sZV9m
b3JfYV9YZW5fUGFyYXZpcnR1YWxpemVkX2RvbWFpblVfR3Vlc3QiIHJlbD0ibm9yZWZlcnJlciIg
dGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3LnZpcnR1YXRvcGlhLmNvbS9pbmRleC5waHA/dGl0
bGU9Q29uZmlndXJpbmdfYV9WTkNfYmFzZWRfR3JhcGhpY2FsX0NvbnNvbGVfZm9yX2FfWGVuX1Bh
cmF2aXJ0dWFsaXplZF9kb21haW5VX0d1ZXN0PC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqBZb3UgZG9uJiMzOTt0IG5lZWQgdG8gaW5zdGFsbCBhbnkgVk5DLXJlbGF0ZWQgc2Vy
dmVyIHNvZnR3YXJlIGJlY2F1c2UgaXQgaXM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqBhbHJlYWR5IHByb3ZpZGVkIGJ5IFhlbiAodG8gYmUgcHJlY2lz
ZSBpdCBpcyBwcm92aWRlZCBieSBRRU1VIHdvcmtpbmc8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB0b2dldGhlciB3aXRoIFhlbi4pPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoFlvdSBvbmx5IG5lZWQgdGhlIHZuYyBjbGllbnQgaW4gZG9t
MCBzbyB0aGF0IHlvdSBjYW4gY29ubmVjdCwgYnV0IHlvdTxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGNvdWxkIGFsc28gcnVuIHRoZSB2bmMgY2xpZW50
IG91dHNpZGUgZnJvbSBhbm90aGVyIGhvc3QuIFNvIGJhc2ljYWxseTxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHRoZSBmb2xsb3dpbmcgc2hvdWxkIHdv
cmsgd2hlbiBleGVjdXRlZCBpbiBEb20wIGFmdGVyIGNyZWF0aW5nIERvbVU6PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgIHZuY3ZpZXdlciBsb2NhbGhvc3Q6MDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDYW4geW91IGF0dGFjaCB0aGUgWGVuIGFuZCBRRU1VIGxv
Z3MgKC92YXIvbG9nL3hlbi8qKT8gQW5kIGFsc28gdXNlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgbmV0c3RhdCAtdGF1bnAgdG8gY2hlY2sgaWYgdGhl
cmUgaXMgYW55dGhpbmcgcnVubmluZyBhdCBwb3J0IDU5MDAgb3I8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqA1OTAxPzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFN0
ZWZhbm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoE9uIFR1ZSwgMTggT2N0IDIwMjIsIFZpcHVsIFN1bmVqYSB3
cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IEhpIFN0ZWZhbm8sPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgVGhhbmtzIGZvciB0aGUgcmVzcG9uc2UhPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSSBjb3VsZCBpbnN0YWxsIHRpZ2VyVk5D
LCB4MTF2bmMgJmFtcDsgbGlidm5jc2VydmVyIGluIERvbTAgeGVuLWltYWdlLW1pbmltYWwgYnV0
IG9ubHkgbWFuYWdlIHRvIGluc3RhbGw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBsaWJ2bmNzZXJ2ZXIoY291bGRuJiMzOTt0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgaW5zdGFsbCB0aWdlcnZuYzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgJmFtcDsgeDExdm5jIGJlY2F1c2Ug
b2YgeDExPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyBzdXBwb3J0IG1pc3NpbmcsIGl0JiMzOTtzIHdheWxhbmQpIGluIERPTVUgY3VzdG9tIGdy
YXBoaWNhbCBpbWFnZS4gSSB0cmllZCBydW5uaW5nIHZuY3ZpZXdlciB3aXRoIElQIGFkZHJlc3Mg
JmFtcDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqBwb3J0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgaW4gZG9tMCB0bzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoGFjY2VzcyB0aGUgZG9tdTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgZ3JhcGhpY2FsIGltYWdlIGRpc3BsYXkgYXMgcGVy
IGJlbG93IGNvbW1hbmRzLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgdm5jdmlld2VyIDxhIGhyZWY9Imh0dHA6Ly8xOTIuMTY4LjEuNDI6
NTkwMSIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+MTkyLjE2OC4xLjQyOjU5MDE8
L2E+PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqBCdXQgaXQgc2hvd2luZyBjYW4mIzM5O3Qgb3BlbiBkaXNwbGF5LCBiZWxvdyBhcmUgdGhl
IGxvZ3M6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgcm9vdEByYXNwYmVycnlwaTQtNjQ6fi9ndWVzdDEjIHZuY3ZpZXdlciA8YSBocmVmPSJo
dHRwOi8vMTkyLjE2OC4xLjQyOjU5MDEiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsi
PjE5Mi4xNjguMS40Mjo1OTAxPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IFRpZ2VyVk5DIFZpZXdlciA2NC1iaXQgdjEuMTEuMDxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgQnVpbHQgb246
IDIwMjAtMDktMDggMTI6MTY8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IENvcHlyaWdodCAoQykgMTk5OS0yMDIwIFRpZ2VyVk5DIFRlYW0gYW5k
IG1hbnkgb3RoZXJzIChzZWUgUkVBRE1FLnJzdCk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFNlZSA8YSBocmVmPSJodHRwczovL3d3dy50aWdl
cnZuYy5vcmciIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3LnRp
Z2Vydm5jLm9yZzwvYT4gZm9yIGluZm9ybWF0aW9uIG9uIFRpZ2VyVk5DLjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgQ2FuJiMzOTt0IG9wZW4g
ZGlzcGxheTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4vZ3Vlc3QxIzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEkgYW0gbm90IGV4YWN0bHnCoHN1cmUg
d2hhdCB0aGUgaXNzdWUgaXMgYnV0IEkgdGhvdWdodCBvbmx5IGxpYnZuY3NlcnZlciBpbiBET01V
IGNvdWxkIHdvcmsgdG8gZ2V0IGFjY2VzcyBidXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqBpdDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGRpZCBub3Q8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB3b3JrLsKgPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJZiBUaWdlclZOQyBpcyB0aGUg
aXNzdWUgaGVyZSB0aGVuIGlzIHRoZXJlIGFueSBvdGhlciBWTkMgc291cmNlIHdoaWNoIGNvdWxk
IGJlIGluc3RhbGxlZCBmb3IgYm90aCB4MTEgJmFtcDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqB3YXlsYW5kIHN1cHBvcnRlZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoGltYWdlcz88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBSZWdhcmRzLDxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBPbiBUdWUsIE9jdCAxOCwg
MjAyMiBhdCAyOjQwIEFNIFN0ZWZhbm8gU3RhYmVsbGluaSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNz
dGFiZWxsaW5pQGtlcm5lbC5vcmciIHRhcmdldD0iX2JsYW5rIj5zc3RhYmVsbGluaUBrZXJuZWwu
b3JnPC9hPiZndDsgd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgVk5DIGlzIHR5cGljYWxseSBlYXNpZXIgdG8gc2V0
dXAsIGJlY2F1c2UgU0RMIG5lZWRzIGV4dHJhIGxpYnJhcmllcyBhdDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGJ1aWxkIHRp
bWUgYW5kIHJ1bnRpbWUuIElmIFFFTVUgaXMgYnVpbHQgd2l0aG91dCBTREwgc3VwcG9ydCBpdCB3
b24mIzM5O3Q8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBzdGFydCB3aGVuIHlvdSBhc2sgZm9yIFNETC48YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgVk5DIHNo
b3VsZCB3b3JrIHdpdGggYm90aCB4MTEgYW5kIHdheWxhbmQgaW4geW91ciBkb21VLiBJdCBkb2Vz
biYjMzk7dCB3b3JrPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgYXQgdGhlIHgxMSBsZXZlbCwgaXQgZXhwb3NlcyBhIHNwZWNp
YWwgZmJkZXYgZGV2aWNlIGluIHlvdXIgZG9tVSB0aGF0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgc2hvdWxkIHdvcmsgd2l0
aDo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAtIGEgZ3JhcGhpY2FsIGNvbnNvbGUgaW4gTGludXggZG9tVTxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoC0g
eDExPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgLSB3YXlsYW5kIChidXQgSSBoYXZlbiYjMzk7dCB0ZXN0ZWQgdGhpcyBzbyBJ
IGFtIG5vdCAxMDAlIHN1cmUgYWJvdXQgaXQpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFdoZW4geW91IHNheSAmcXVvdDtpdCBk
b2VzbiYjMzk7dCB3b3JrJnF1b3Q7LCB3aGF0IGRvIHlvdSBtZWFuPyBEbyB5b3UgZ2V0IGEgYmxh
Y2s8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqB3aW5kb3c/PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFlvdSBuZWVkIENPTkZJR19YRU5fRkJERVZfRlJPTlRF
TkQgaW4gTGludXggZG9tVTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoChkcml2ZXJzL3ZpZGVvL2ZiZGV2L3hlbi1mYmZyb250
LmMpLiBJIHdvdWxkIHRyeSB0byBnZXQgYSBncmFwaGljYWwgdGV4dDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGNvbnNvbGUg
dXAgYW5kIHJ1bm5pbmcgaW4geW91ciBkb21VIGJlZm9yZSBhdHRlbXB0aW5nIHgxMS93YXlsYW5k
Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoFN0ZWZhbm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgT24gTW9uLCAxNyBPY3QgMjAyMiwg
VmlwdWwgU3VuZWphIHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSGksPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFua3Mh
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSSBoYXZlIHBvcnRlZCB4ZW4gbWluaW1hbCBpbWFn
ZSBhcyBET00wICZhbXA7IGN1c3RvbSB3YXlsYW5kIEdVSSBiYXNlZCBpbWFnZSBhcyBET01VIGlu
IHJhc3BiZXJyeSBwaTRCLiBJPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYW0g
dHJ5aW5nIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgbWFrZSBHVUk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqBkaXNwbGF5IHVwPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBmb3LCoGd1ZXN0IG1h
Y2hpbmUuIEkgdHJpZWQgdXNpbmfCoHNkbCwgaW5jbHVkZWQgYmVsb3cgbGluZSBpbiBndWVzdC5j
b25mIGZpbGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHZmYj0gWyAmIzM5O3NkbD0xJiMzOTsgXTxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IEJ1dCBpdCBpcyB0aHJvd2luZyBiZWxvdyBlcnJvcjo8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDp+L2d1ZXN0MSMgeGwgY3JlYXRl
IC1jIGd1ZXN0MS5jZmc8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFBhcnNpbmcgY29uZmlnIGZyb20gZ3Vlc3QxLmNm
Zzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9xbXAuYzoxNDAwOnFtcF9ldl9mZF9j
YWxsYmFjazogRG9tYWluIDM6ZXJyb3Igb24gUU1QIHNvY2tldDogQ29ubmVjdGlvbiByZXNldCBi
eTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHBlZXI8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxp
YnhsOiBlcnJvcjogbGlieGxfcW1wLmM6MTQzOTpxbXBfZXZfZmRfY2FsbGJhY2s6IERvbWFpbiAz
OkVycm9yIGhhcHBlbmVkIHdpdGggdGhlIFFNUCBjb25uZWN0aW9uIHRvPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgUUVNVTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4
bF9kbS5jOjMzNTE6ZGV2aWNlX21vZGVsX3Bvc3Rjb25maWdfZG9uZTogRG9tYWluIDM6UG9zdCBE
TSBzdGFydHVwIGNvbmZpZ3MgZmFpbGVkLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoHJjPS0yNjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9jcmVhdGUuYzoxODY3
OmRvbWNyZWF0ZV9kZXZtb2RlbF9zdGFydGVkOiBEb21haW4gMzpkZXZpY2UgbW9kZWwgZGlkIG5v
dCBzdGFydDo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAtMjY8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxpYnhsOiBlcnJv
cjogbGlieGxfYW91dGlscy5jOjY0NjpsaWJ4bF9fa2lsbF94c19wYXRoOiBEZXZpY2UgTW9kZWwg
YWxyZWFkeSBleGl0ZWQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxpYnhsOiBlcnJvcjogbGlieGxfZG9tYWluLmM6
MTE4MzpsaWJ4bF9fZGVzdHJveV9kb21pZDogRG9tYWluIDM6Tm9uLWV4aXN0YW50IGRvbWFpbjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9kb21haW4uYzoxMTM3OmRvbWFpbl9kZXN0
cm95X2NhbGxiYWNrOiBEb21haW4gMzpVbmFibGUgdG8gZGVzdHJveSBndWVzdDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgbGlieGw6IGVycm9yOiBsaWJ4bF9kb21haW4uYzoxMDY0OmRvbWFpbl9kZXN0cm95X2NiOiBE
b21haW4gMzpEZXN0cnVjdGlvbiBvZiBkb21haW4gZmFpbGVkPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgQW5vdGhlciB3YXkgaXMgVk5DLCBpIGNvdWxkIGluc3RhbGwgdGlnZXJ2bmMgaW4gRE9N
MCBidXQgc2FtZSBpIGNvdWxkbiYjMzk7dCBpbiBndWVzdCBtYWNoaW5lIGJlY2F1c2UgaXQ8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBkb2VzbiYjMzk7dCBzdXBwb3J0PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgeDExKHN1cHBvcnRzIHdheWxhbmQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IG9ubHkpLiBJIGFtIGNvbXBsZXRl
bHkgYmxvY2tlZCBoZXJlLCBOZWVkIHlvdXIgc3VwcG9ydCB0byBlbmFibGUgdGhlIGRpc3BsYXkg
dXAuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyBBbnkgYWx0ZXJuYXRpdmUgb2YgVk5DIHdoaWNoIGNvdWxkIHdvcmsg
aW4gYm90aCB4MTEgJmFtcDsgd2F5bGFuZCBzdXBwb3J0ZWQgaW1hZ2VzPzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IEFueSBpbnB1dCBvbiBWTkMsIFNETCBvciBhbnkgb3RoZXIgd2F5IHRvIHBy
b2NlZWQgb24gdGhpcz8gTG9va2luZyBmb3J3YXJkIHRvIGhlYXJpbmcgZnJvbSB5b3UuPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgUmVnYXJkcyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFZpcHVsIEt1bWFyPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDxicj4NCiZndDsgPC9ibG9ja3F1
b3RlPjwvZGl2Pg0K
--0000000000003d2c8b05eec7bea0--


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 18:12:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 18:12:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451107.708715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0o2R-0008OJ-K2; Thu, 01 Dec 2022 18:11:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451107.708715; Thu, 01 Dec 2022 18:11:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0o2R-0008OC-Gy; Thu, 01 Dec 2022 18:11:59 +0000
Received: by outflank-mailman (input) for mailman id 451107;
 Thu, 01 Dec 2022 18:11:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ywn3=37=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p0o2P-0008O6-PC
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 18:11:57 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20626.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3086b69-71a3-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 19:11:56 +0100 (CET)
Received: from CY5PR22CA0067.namprd22.prod.outlook.com (2603:10b6:930:80::12)
 by PH7PR12MB6564.namprd12.prod.outlook.com (2603:10b6:510:210::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 18:11:52 +0000
Received: from CY4PEPF0000B8EF.namprd05.prod.outlook.com
 (2603:10b6:930:80:cafe::56) by CY5PR22CA0067.outlook.office365.com
 (2603:10b6:930:80::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Thu, 1 Dec 2022 18:11:52 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000B8EF.mail.protection.outlook.com (10.167.241.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5813.11 via Frontend Transport; Thu, 1 Dec 2022 18:11:51 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 12:11:49 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 1 Dec 2022 12:11:48 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3086b69-71a3-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z9wBOhLlNJODU5z0yfmxO0SnxGzQwyanHS9mzfdp1b0N1ErVH97CLPuSjlZQ6mrVM/uNF4wlieFp5gbm6BOouMEvbGsvOPjfFsvRQd6ZP3y0SzRrRgijdY7BK2xfiY1ROhTRpoJY1tMpiF1ZXdkWvZXutYMoSB7LAJv4ZGbBa3Col7tFAa0jbhcjd/c1UZ+spd2BlBwzcchX5zHtlMS6ScbWHqqRWFdJNSYpjgG5u4dLe4ZO4yIMolmfmIf3zWTPHdqQogibpDWGQC3ptc1MzLrdRLKLeG15MVcbedDXSWRJFvIIigBDrS3uJcWprLFu24RjCvs1zUFedjM4WqcP6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oBk54R9gCaMVtABGteSoPyhIV2+CBrDX7Da5bY9h0OY=;
 b=YB+Pm2MTesJJUs3FArtBMP3Ign4YJo7iblUOFVMgb2WG6McDe1+gWXQ3W6QP/r2KUvT8dtiAPTv7DIeUYBdiekVAy5+q2iMU3azy1eLpzwGftfGDLTmPPVCy5HCc0Z20S5ACPwoh/Ex6MkSM59u3eWHqg2KP/Y1pGR11cGlWyokPkX8Qk8Qj23n1uyNks9i5qDeYYkF5bWsFIu43KqXlLhoEPI+10PcuDnlAmXf/NmrkHa9xjA/QH5pvvxyHNXO4p6pnUmMP/+t2LsTNHv348oYYFRpmGrSoluMLpDWKt5uGL5nBW2JdVdcpp1pnsnHXDvF3cdoEaWgVmMCbkavyPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oBk54R9gCaMVtABGteSoPyhIV2+CBrDX7Da5bY9h0OY=;
 b=hHz9/pOETeLlvpzWq8yjc5xlYSUtm97dS9dgnbOTWxMxygDWc52N9NccmE4LBv3vI3TSsbKeXwFZNB8GNFuwldO8lb2PKFEVk+xvoN5FncsNisOZpEMTK60I7ebBsGo5ZmqM59uRg/JRSnjeYb+8DF9KdQgSEbcJbOW9LzWNWTo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [XEN v2] Xen: Ensure "xenheap_bits - PAGE_SHIFT" can be used to shift "unsigned long"
Date: Thu, 1 Dec 2022 18:11:45 +0000
Message-ID: <20221201181145.45279-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000B8EF:EE_|PH7PR12MB6564:EE_
X-MS-Office365-Filtering-Correlation-Id: ad91d816-865d-4166-746b-08dad3c7856a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DeWajChwOYHatO/zI7Tr3KfXVFwuZJWnLG1fChq/Ij2CUuWi93pXRyry1r8Ygm5XKSY/7pZQtbcUsDHYMVTx3viPr1yjUXsOzrmmhoI2b5+29LQO+ktINqovUZP+d6io3+zNYprbAM+yPToRlujPPs2SKF4A9MUTlF/N2UMOmoLeBWQQ+5QyZ2hcJ80m453IUVKDlJcGOWcDObpsGQfIdsDVZUwJqR4erx8kr9LTfo/SGnxaYlwbT91qlLWg4rGICWMTBwQjMjdMkc54rYUcS8tR6ovFxdbdniLwMlRDwtYvVbJJaTnJHVHh+smsmhyXyJg2GAlD8BUAgaZM4kDWsTbEJF/Q6EmeBjEPVpsYhkE3w5bNKntGD3uU/0p+3MX8sFUhCCJ9j6W9F28IFKGcIS6xu9fcfaYTenqNlF/q36nMKZD/XcSgciy351yzy5VuDx9DOVJC3WMySyvX8DtJnxel+1ff2pKrR1cQ9F+rvgcY9YOqrPtCTqCosiDbR61uP6ERfdQtIMM1JFz5LCuftJmGj7wdKpCHoKypplkSL545X31xQjVfqbxXRbJ29uveZLpdo48Y4KfTWBuEEcF8cppcCyCA5iOaxDZt70Zhol2uNAY5j7tIBxqkKkqC6IMYd8rCsoYrkZcysOz+/I/uRdUNVws5Tq8jbHg3R8dFBNP5mZW8JlWbcYbccsN59EwQiW6aWbyRCUKnrNXOrcRNAWFQE1LKPvjgL68zn+8RNuY=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(376002)(136003)(39860400002)(451199015)(36840700001)(46966006)(40470700004)(26005)(316002)(103116003)(4326008)(36860700001)(54906003)(70206006)(41300700001)(6916009)(8936002)(5660300002)(82740400003)(47076005)(40480700001)(356005)(83380400001)(426003)(81166007)(86362001)(6666004)(40460700003)(478600001)(8676002)(1076003)(82310400005)(2616005)(70586007)(186003)(336012)(2906002)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Dec 2022 18:11:51.5707
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ad91d816-865d-4166-746b-08dad3c7856a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000B8EF.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6564

Machine frame number (mfn) is used to represent the hardware page address.
This is an unsigned long variable. We need to check if it can hold the complete
range of hardware page addresses. To ensure this we check that the count of bits
represented by 'unsigned long' added to the bit index of page size, should be
less than the count of bits required to represent the maximum physical address.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---

Currently this change will not have any impact on the existing architectures.
The following table illustrates PADDR_BITS vs BITS_PER_LONG of different archs

------------------------------------------------
| Arch      |   PADDR_BITS    |   BITS_PER_LONG |
------------------------------------------------
| Arm_64    |   48            |   64            |
| Arm_32    |   40            |   32            |
| RISCV_64  |   Don't know    |   64            |
| x86       |   52            |   64            |
-------------------------------------------------

However, this will change when we introduce a platform (For eg Cortex-R52) which
supports 32 bit physical address and BITS_PER_LONG. This platform does not follow
the same code path as Arm_32.
Thus, I have introduced this change as I don't see it causing a regression on
any of the supported platforms.

Changes from v1:-
1. Changed the check from "(PADDR_BITS > BITS_PER_LONG)" to "((PADDR_BITS - PAGE_SHIFT) >= BITS_PER_LONG)"
2. Updated the commit message to explain the reason for this.

 xen/common/page_alloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 62afb07bc6..c5b8c7444f 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2245,7 +2245,7 @@ void __init xenheap_max_mfn(unsigned long mfn)
 {
     ASSERT(!first_node_initialised);
     ASSERT(!xenheap_bits);
-    BUILD_BUG_ON(PADDR_BITS >= BITS_PER_LONG);
+    BUILD_BUG_ON((PADDR_BITS - PAGE_SHIFT) >= BITS_PER_LONG);
     xenheap_bits = min(flsl(mfn + 1) - 1 + PAGE_SHIFT, PADDR_BITS);
     printk(XENLOG_INFO "Xen heap: %u bits\n", xenheap_bits);
 }
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 18:37:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 18:37:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451114.708726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0oQY-0003FW-GD; Thu, 01 Dec 2022 18:36:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451114.708726; Thu, 01 Dec 2022 18:36:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0oQY-0003FP-DV; Thu, 01 Dec 2022 18:36:54 +0000
Received: by outflank-mailman (input) for mailman id 451114;
 Thu, 01 Dec 2022 18:36:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0oQW-0003FF-Aa; Thu, 01 Dec 2022 18:36:52 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0oQW-0000RO-82; Thu, 01 Dec 2022 18:36:52 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0oQV-0001dp-QV; Thu, 01 Dec 2022 18:36:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0oQV-0007OW-Ni; Thu, 01 Dec 2022 18:36:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0T/gfc/p+IxiUh9kHsVjRxi9HnhJBNvZP2H+/Wui33I=; b=UshmvTsgNTvg9eXy8iN2Xb6gM7
	DywPg/cF9q5lRchpZ6sT2GWBz3B/orLZOF6h6k5n+TLRZ20F8RyxnLSGoXnUbzuMIVW+nmDe5Fgc+
	3TGHIb0EqDgWe+fUm8UAA5vkEijZ/h2H/senNG60aG4CManzfZFLwkKmA6hm1nV/qCVQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175004-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175004: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:<job status>:broken:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:host-install(5):broken:heisenbug
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=ef4d3ea40565a781c25847e9cb96c1bd9f462bc6
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 01 Dec 2022 18:36:51 +0000

flight 175004 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175004/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl    <job status>                 broken
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 build-arm64-pvops             6 kernel-build   fail in 175000 REGR. vs. 173462

Tests which are failing intermittently (not blocking):
 test-amd64-coresched-amd64-xl  5 host-install(5)         broken pass in 175000
 test-amd64-amd64-freebsd11-amd64 19 guest-localmigrate/x10 fail pass in 175000

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl           1 build-check(1)           blocked in 175000 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 175000 n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)           blocked in 175000 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 175000 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 175000 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 175000 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 175000 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 175000 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 175000 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 175000 n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 linux                ef4d3ea40565a781c25847e9cb96c1bd9f462bc6
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   54 days
Failing since        173470  2022-10-08 06:21:34 Z   54 days  106 attempts
Testing same since   174998  2022-11-30 19:12:42 Z    0 days    3 attempts

------------------------------------------------------------
1925 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                broken  
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-coresched-amd64-xl broken
broken-step test-amd64-coresched-amd64-xl host-install(5)

Not pushing.

(No revision log; it would be 184191 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 19:09:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 19:09:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451123.708737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0owL-0008Mp-1k; Thu, 01 Dec 2022 19:09:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451123.708737; Thu, 01 Dec 2022 19:09:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0owK-0008Mi-VD; Thu, 01 Dec 2022 19:09:44 +0000
Received: by outflank-mailman (input) for mailman id 451123;
 Thu, 01 Dec 2022 19:09:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mmm5=37=citrix.com=prvs=327587bd7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p0owI-0008Mc-I5
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 19:09:42 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b39b8849-71ab-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 20:09:40 +0100 (CET)
Received: from mail-mw2nam12lp2049.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.49])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Dec 2022 14:09:37 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM4PR03MB7016.namprd03.prod.outlook.com (2603:10b6:8:43::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 19:09:35 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 19:09:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b39b8849-71ab-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669921780;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=2t7Tbv6gOm9w6RFfcZbwNS0f8dyl8+pBVgGCgYlMgKM=;
  b=L3ido0c05nqT+4DBov+S52PeUgVLbY2Uc6ffJASRXTjSkuCH9M+0UPjh
   1iwfLQmGDGbPzAQDDPVo7g27Nr42iQrzoLNvw7WRvdgIb/Kz0eFnlujYh
   iGxV6fMu3ESCVwyM8j2yS6gYhsNmeMxDKgOmbZwvUMNe/knz/XzG/c3BM
   A=;
X-IronPort-RemoteIP: 104.47.66.49
X-IronPort-MID: 86119721
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:8Urb16A9iykSNhVW/87iw5YqxClBgxIJ4kV8jS/XYbTApGkqhTIEz
 WQcWT+FP/jeYWqmKNAgbYy/8EoAu57WnIVnQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlA5wRlDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwwukoOCJA1
 uwkLhcRViCqq++7w4yVRbw57igjBJGD0II3nFhFlGucKMl8BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTL++xrsgA/zyQouFTpGPPTdsaHWoN+mUGAq
 3id12/4HgsbJJqUzj/tHneE1rGWxHKkAtt6+LuQ2sU6uBqt5kgqAhw4SXqbv9yVukWhcocKQ
 6AT0m90xUQoz2SLQ9/nTluHqXiLlhcGXpxbFOhSwAOHx7fQ4g2ZLnMZVTMHY9sj3Oc0WDgr2
 1mhj97vQzt1v9W9UmmB/72ZqTezPyk9LmIYYyIACwwf7LHLv4Ubnh/JCNF5H8adntDzXD393
 T2OhCw/nKkIy94G0b2h+lLKiC7qoYLGJjPZ/S3SV2OhqwZmPoisYtXy7UCBtaoRaoGEUlOGo
 X4I3dCE6/wDBo2MkyrLR/gRGLau5LCONzi0bUNTIqTNPg+FoxaLFb28KhknTKu1Gq7ooQPUX
 XI=
IronPort-HdrOrdr: A9a23:iG31s6+n4Ehg7n8H7thuk+H6dr1zdoMgy1knxilNoENuA6mlfp
 GV7ZYmPEHP+VUssSkb6KC90KnpewKlyXcH2/hjAV7CZnikhILMFupfBOTZskHd8kHFh4hgPO
 JbAtlD4b7LfBpHZKTBkXaF+r8bqbHmgcTY4ts2jU0dMz2CAJsQlDuRfzzrb3GeMzM2f6bReq
 Dsn/avWQDORZ3tVKmG74U+PtQrXeegqHsYW3I77uMchjWmvHeN0vrXAhKY1hARX3dmxqojy3
 HMl0jU97iuqPayzz7bziv2445NkNXs59NfDIjU4/JlbgnEu0KNXsBMSreCtDc6rKWG70srqs
 DFp1MNLtl+8HTYe0CyuF/I1xP72Dgjxnf+wRuzgGflo+b+WDUmYvAxwL5xQ1/80Q4Nrdt82K
 VE0yayrJxMFy7Nmyz7+pzhSwxqvlDcmwtlrccjy1hkFacOYr5YqoISuGlPFo0bIS784Ic7VM
 FzEcDn4upMe1/yVQGBgoAv+q31Yp0AJGbdfqEwgL3J79GQpgEk86Is/r1Fop7HzuNjd3AL3Z
 WbDk0irsA9ciZfV9MJOA5Ge7rxNoWFe2O5DEuCZVvgD60JIHTLttr+56g0/vijfNgSwII1g4
 mpaiIXiYecQTOkNSSi5uwGzvn2ehTzYR39jsVFo5RpsLz1Q7TmdSWFVVA1isOl5/ESGNfSVf
 q/MI9fR6aLFxqvJa9ZmwnlH5VCI3gXV8MY/t49RlKVu8rObonnrPbSfvrfLKfkVTwkRmT8CH
 0eWyWbHrQA0mm7HnvjxBTBUXLkfULyuZp2DajB5uAWjJMAM4Vd2zJlxGhQzamwWEp/W2wNDQ
 FDyZ/c4+uGTDONjBD1Bk1SS1NgMno=
X-IronPort-AV: E=Sophos;i="5.96,210,1665460800"; 
   d="scan'208";a="86119721"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dHK5bDaQOGEdS3nadntIvTkJBnuSw3DZFUkxZZRooD7qxDDshFRcW0/KYGFacLppYAtLgx3OiP7t5Iw34J2LRpE83Ppyuej0Op+0Dh5/BDVWuKxeW1l4OB8e9eTbweesH+hpPrt8yxsWSB6q4BGEo3drYB/RAVTzEbVxsbuxJOrzy4MLeG/FVVYaREqZXBa0mBuFJqR2GRYRRE4xab4BQmJnbhliuO8eFmM64lL8xS7j1cOwUitaBA0vtsfQFMcswGE4lojHM3Xd6SwzFtvqI1zikKL7vtZgX48qK/QmePaLwQ/DC/hyNy+2kc7yMI6IdLcBTFsfibBEQ/vNsC1oJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2t7Tbv6gOm9w6RFfcZbwNS0f8dyl8+pBVgGCgYlMgKM=;
 b=B1Cqq4SHW8dgphdvIeqwqu9DZ73Q3MiY6QvSM//3bZyTl0IhSNrGcgMwRwUwpuwNyn+KZoqrIVdFzHEPFoS8eTdYmRuhkhn+h2xf/wJKNwOPoiZk560YlS+Oz/oDnkc5xurZwkk/JNvcL39e7DDXxwU77+EwxQOn9dKW0bGyfCmatXiasbJaejUTGLvqdsdpMnu4r1kfofb69OBM0GlehAzoRspFt3T49EeTHYeI80eE04r3Y2FlZFdFUDkXrLPj+F41p2UwEJa8omAL2u4uFRJIko7mHi2xLRxUVm1YoCUIE4FWY5LIXlKMbob8RsEJKQUXG51nqj6Nl/+NbW58aw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2t7Tbv6gOm9w6RFfcZbwNS0f8dyl8+pBVgGCgYlMgKM=;
 b=GD8VDTMc0/pdlDhUtwaj93pKZU4A+ZRtIQP1x1gnwxvkHtA4yaauDkIxbQsbg/3vEh/XhNRxsiBQTW5D4j+J9VStUv75+UVB2hCtAgIpbF0mYHQPDErDyVmy7RQ48xS4kebtarUDX68e3r1gerIh7SgmDejDU8W9ebm4LRAP2oo=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Henry Wang <Henry.Wang@arm.com>, Jan Beulich <jbeulich@suse.com>
CC: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Roger Pau
 Monne <roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [4.17?] Re: [PATCH] x86/HVM+shim: fix build when
 !CONFIG_GRANT_TABLE
Thread-Topic: [4.17?] Re: [PATCH] x86/HVM+shim: fix build when
 !CONFIG_GRANT_TABLE
Thread-Index: AQHZBZ2nWTAZIWB6y0GC+MRiLhYZVK5ZMT6AgAAA44CAAAKIgIAAMQEA
Date: Thu, 1 Dec 2022 19:09:35 +0000
Message-ID: <a8db44d8-0cf3-790c-09a3-0dce226ec0ae@citrix.com>
References: <2ea8c3de-4967-802c-9a32-79203cd41384@suse.com>
 <261da93e-9464-8e9f-6ae2-a8f8ec466def@citrix.com>
 <8b93be0a-cca6-f1f2-2902-afcf1f8915f6@suse.com>
 <AS8PR08MB7991E47CA9036E000C00E68D92149@AS8PR08MB7991.eurprd08.prod.outlook.com>
In-Reply-To:
 <AS8PR08MB7991E47CA9036E000C00E68D92149@AS8PR08MB7991.eurprd08.prod.outlook.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|DM4PR03MB7016:EE_
x-ms-office365-filtering-correlation-id: 0d110454-1b93-46ba-67f8-08dad3cf95ef
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 5yAgx0vOZz15wuit2Gpor3FaWjr1GEzVxbPGjvkrt6tNbT1nUeAq50mxRSbNN9cNnRG8V24IkwkPsNDVEl2hfR/NCecQaSEzJ/ofWitsKeiL1Eme+TyN5RbhYpea7QJJSKJUpQ1Bml7m69/UYBvexTA/klQ1Ml8zgQvqXgZzwoJxLaFDobP1Tlw0rPrLXhNTzrZwdolywDNY0W/FxDupDPpLhtuWmy7zHATRoF4NWOf085zQZbsDj7awbOdeOg6M3MP/QYrx+cB2dGcB0CUtE92nN65Bbid/RuSy+NsGBCe2FhtnJT+/DomTmKsc/PXI+hrZhBDVQ0krrEWpwzwqvqhXYU7+5buNHtqy3G6bZyo6ffRfk5MbsFxsxkPMbWDHxehi8DrhFaF05M/tfvhJStoKCe9KJp80QfPs2JnXFgKhDHW3e0REmj9LNAG/V7Pgiqt8s7RkPxsZp77eDpyLmoPJhAhHM3Zp2vPx3cEnPF5eOdxlSYvVuxcY/QThJNA20DaLdQd+ooFDJSN1A4cNm027y2sue+m1MR+4cY0E2AfY5a9owRRMa4+lMsWoNIPw4+KfCah2gTBqIbjX0OredH3zEo9xmpRarZ8ssmzVK/7FwQMDm6x4/BdvaK2cFyUo/7bB4CUD47wIZJaZ39FK7Il+TGCUw1g9x/sV75E+EVVrziRlxHvg6tHABJu9OlarWKZWT4OF+tNEqj+XBxZqev3uGqcdVKLgVjAaO2NdXMKig/udN8DpRbZdJZNT623FRVNHzBaW6UYz5IicYEtW/w==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(346002)(136003)(396003)(376002)(451199015)(83380400001)(31686004)(71200400001)(6512007)(6506007)(110136005)(54906003)(31696002)(36756003)(6486002)(26005)(86362001)(38100700002)(38070700005)(64756008)(122000001)(2616005)(186003)(66946007)(478600001)(66446008)(53546011)(4744005)(66476007)(5660300002)(2906002)(8936002)(316002)(82960400001)(8676002)(41300700001)(66556008)(91956017)(4326008)(76116006)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NWhiZDBRYjE1ck1xNWYxbGhwcWhUZXBFT3BhWlg1MGNuMGpCZ0NrdUw3SEw0?=
 =?utf-8?B?dGtBZTJDWlp4aU5VRllmQUVibnFNdVg1L3NoM3I2Ky9qNVYyMEFqTDYxTjRy?=
 =?utf-8?B?OUFGWEZmWVN0OE5iTHRYTWJDUTI2YzdUQ0NrdFovV3dKMHpLMzJ5K01QYnJk?=
 =?utf-8?B?Vlk1TzFEYlFMSU1uVDBtRStWa0hreVU2dHMwTmJOdDNpVWRXQ01ZQ3psK1dQ?=
 =?utf-8?B?WmsxZGRXZ3IxbE1JMXdRQXJhcTBkb3J2UTRSSjhTNE9icG1YY1pCSnZyUTlD?=
 =?utf-8?B?bC93UWJSenBVSmJuNE1DeW5wdWdNa2N4RGlaSE94YTRtTG1vWngrYnBGNHkv?=
 =?utf-8?B?WmdXcktCdFFaVGJxV0pVaEZsdTcwbG5kRnUwNEowNDhBU0QwVTZ5WWRSNXR1?=
 =?utf-8?B?bzhJbFdlak9RT2g0a2N3VFpScFR4VHprL2FyV0x4SElySVdWU1lpd1RjM28z?=
 =?utf-8?B?RDR5UDd4REUvck5MOVowTzVSd0hPbHlBakhRNTRHcDhjM1BiVWxhMFdmYjBw?=
 =?utf-8?B?Zk8wYXpwa1NXRWQ2TGRnRngwSldkRFZ2S1VKa2tYWjN3RUFjUFdhdTJGcUgv?=
 =?utf-8?B?OWF2cHRDZFBjbHdlaGVUdEQ0Mmo3WGFTRFZnRVJwRG5wK0tlaDI1cGk0ZjJU?=
 =?utf-8?B?UFJjTmwvTmdJaHJXL085a0pRZWFFWWVodkY4a3VaWmpQVkxiYUVnK1g5Sjhi?=
 =?utf-8?B?R1R0ZTA1aVRjcmM3NUE5Vk1QVjl5TEVoWVhuU3F6Q2FJZ2kwdmdkNlZJVFRq?=
 =?utf-8?B?OFM1M2U3d3FqZnRyRU8vYTcwK1BPRk9MVHErcEU0SWdaeU04UG05Ty9FWG5Z?=
 =?utf-8?B?QVpQUUpRYXZIb1daZHRaa3lLdldiUUxON21YcFEzZS9SQzNNVXRYT25zVmtS?=
 =?utf-8?B?emNvOWlrdytsakJjM1hHdHNMNnk5YlFhTVA1OFJhQzNJajF5K3F2djV1MjhQ?=
 =?utf-8?B?eU1pYi9SQm5NTkU5RHQ2YUFaU3hHdlcrdlI3dmRxVS9KSDkyN3RuN0dKM0pT?=
 =?utf-8?B?enY3QVg0TlBrb29mY3RnRVNIZ0tlM25FMTZaVDRlRTM0MzBmSmtSZk91N0RH?=
 =?utf-8?B?KzA5dW0vQ096NVo5YW5KUlVYbHJnakhhSGE5NVdrc2oxUU0yRkgveGdMYkF6?=
 =?utf-8?B?a040UWVucEpQZi9wbXhZV2JTVjVtKzVWWVpCMDJxNi9JcUduTDhZbTEwMlBt?=
 =?utf-8?B?dHhJNTFNVnE0SjlIenloRGpkUmphSzJvQThqNFVSQzZUOVZaTC9HVXFwTUtJ?=
 =?utf-8?B?bkdQQmFDRGV1Nlo5TkhVRzlXWWMzWjJqOFZmNC9OVExNR3JHZmdwT2ppQXJ5?=
 =?utf-8?B?eE0yZG5FMm1HNks3bElJQ2o0bUkxZWd4ZkR6VmloWVllWUo1S28rS2l0dTR1?=
 =?utf-8?B?aWhPbDg2bnJzS3lRWWwwZHd1b3pOMFVDVkdick52UFhjZEw4c3RXMDVrNlVl?=
 =?utf-8?B?M1luZ2xBbkdMenJrNzdrL2V5WnFYdGZCTlN2U1NKclIxcHhqNFozUVhFS0hI?=
 =?utf-8?B?LzFnNktEL2Y1MmsxM29nYnE2VW0xRFR0Uk43QlhQVEEvR2FRT2pxWXdUdVpw?=
 =?utf-8?B?aG43UHB2VEpQUmRxMVJRTTk4Y2JzTW13Ni9ybU1jdVRRVmNyVS80QVdHazZS?=
 =?utf-8?B?Zkp6SXlUYWNZWWt6amRtQ0xzZ1hOWnhXeGJpYkZhZVFFV0w0NnFtMjJTd2h6?=
 =?utf-8?B?VG1MMlFSeitzc1Zqd0N4Rm53KzRwOTJ6eUkzSVNxOFVOUkZSZWU4cmpxc0RO?=
 =?utf-8?B?VEpEd3I1cEZSMCtSVzRtc1VUcHpML3A2MVpnbjNVZFhrQ1JycndmT3Naak9V?=
 =?utf-8?B?cnZPenVEcStNMlBYNkZIRjNxUDg1UHlpaFZzMEN1Y0xCR01hVU9xM1g4cmxL?=
 =?utf-8?B?U2VNSWZOWUlUWGR6cjZZWmpETVB5Njc5TXlaYnN2UEpValcxNUxCaVVibXcz?=
 =?utf-8?B?c2p5bEJ1YVR1aHExeUFnMUlVaUlOUklrK1M0Q25jbUdwU2RYcHBTZCtKNlEy?=
 =?utf-8?B?ODRjSDhkNXhZb2tFTkJQY3dsN1JzaHZHTmxSQ2NrQXlsbTRTb0ZIZTU5VWxv?=
 =?utf-8?B?VmZUaUZ1bVcvZG4xTXh3eGhHRlFTUGJ5RFdPV0IxakQzWHEvSGJtSm54MERO?=
 =?utf-8?Q?bGxgPDmuO4lSBeW4wqinFMSjB?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <C201C5E22AFE494E8BECC7CA214C59DF@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	XyjuUfUveTPaHUOhFay+4BvdVFKUIsK4Ljit0oX56jYPYoTBgiNm2hJVgiwPSUOdDwKd5+NLuB/FanNMGrTreT3k5KSO4A7jjeAwaXZOKC8CdCHHVqC4QEUfHZXnZBn1P8cRkyXOaz24MlKg2bAnsHK5IbaxIEhLP/fnky9wdFZmXFcVGdq8IfIfwdy4zBJ9r5MPVGOxB+ibSkApw12g6Hr9M5jmvmgyVCcxhwj+Z3L++kLPrbR+ATUsfPZr6gHtdZD/pOrd7ijaJ1zUWA/2Dg53seseZQdSnBJ4RHdwG5TM7u4F64AUr9V5PiGzaizqfDTmQdEdFmsrh6Z9Z5cbiAS7FvxKh6XW4zsf5T18DBLYsykkkDLzVhUzN5ZfvjQ4MLi9bDXXgQFnNkf3MGChePUHl4mEF0rQhSaOBstzpyfRZ0uSh5MW9Y7JNy3qPRZPRF4Hxxl2Q4vF4J3jceRHkZo8PsPynj0Oe3b7sOBMcAmr79KdI/ZbP7OtmefttBpmQBAznDetkMaFTDi8o6M3kdVYuP86vQ8wxVZvvWNkPgrgeKQ1JzFn9p8HU8/PQxRdIgfyJqUtzq0bv3x9feSsPmwq3ijjpBDwdzPvjLhZmcKArOFxGXJnUk+PB3yxtqcMsPsUfqQgaF1DWhVzrTaGsRTFfyPKh+NsuP0rS3esMosWmBpOICBis7ogzvbPTfUbgzChZJBHjwqZ4bZI9IvVKT8AggqaDUQwme5RzVL13/4S0burFwkhpkRglE8lR5+JGTDsqcdVxepthF+EUUobkgUuwO7kne86UcYja4VP1L/Hxfu+MHrg9D8QY61k6h1oVZ7hNSl70KbY0NWs++YTyojPU0ilwstGkf59Ow+fp+tgW8+K+6TYF3tF9z6StbTojmwktS0pk5BzuaRn8GAdSw==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d110454-1b93-46ba-67f8-08dad3cf95ef
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 19:09:35.3376
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: yPgJaCUuZgJxa/JxUF9WWjlTCHND/uTjhfk5vI4h2NSZvdZNFwLTM+h3v5SwvJ17ML5eZyon4y0Y9nE1qnrD5T7slt88DgTuqgXN3zJ2GAU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB7016

T24gMDEvMTIvMjAyMiAxNjoxNCwgSGVucnkgV2FuZyB3cm90ZToNCj4+PiBUaGFua3MgZm9yIGlu
dmVzdGlnYXRpbmcuDQo+Pj4NCj4+PiBBY2tlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNv
b3BlcjNAY2l0cml4LmNvbT4NCj4+IFRoYW5rcy4NCj4+DQo+Pj4gVGhvdWdodHMgYWJvdXQgaW5j
bHVzaW9uIGludG8gNC4xNz/CoCBUaGlzIGlzIGEgYnVpbGQgdGltZSByZWdyZXNzaW9uIHZzDQo+
Pj4gNC4xNi4NCj4+IEkgdGhvdWdodCB0aGlzIHdhcyBvZGQgZW5vdWdoIGEgY29uZmlndXJhdGlv
biwgYnV0IHNpbmNlIHlvdSBhc2ssIGxldCBtZQ0KPj4gZm9yd2FyZCB0aGUgcXVlc3Rpb24gdG8g
SGVucnkuDQo+IEkgdGhpbmsgYSBidWlsZCB0aW1lIHJlZ3Jlc3Npb24gc2hvdWxkIGJlIGZpeGVk
LiBXZSBjYW5ub3QgYXNzdW1lIHVzZXJzDQo+IHdpbGwgbm90IHVzZSB0aGlzIGNvbmZpZ3VyYXRp
b24gKGFzIEphbiBwb2ludGVkIG91dCBpbiBJUkMpLiBTbyBmb3IgNC4xNzoNCj4NCj4gUmVsZWFz
ZS1hY2tlZC1ieTogSGVucnkgV2FuZyA8SGVucnkuV2FuZ0Bhcm0uY29tPg0KPg0KPiBCdXQgaWYg
T1NTVGVzdCBpcyBleHBsb2RlZCBhZnRlciBtZXJnaW5nIHRoaXMgcGF0Y2gsIEkgd291bGQgbGlr
ZSB0byByZXF1ZXN0DQo+IGEgcmV2ZXJ0IHNpbmNlIHdlIGRvbid0IGhhdmUgdG9vIG11Y2ggdGlt
ZSBsZWZ0IGZvciB0aGUgZHVlIGRhdGUuIEhvcGVmdWxseQ0KPiBldmVyeW9uZSBpcyBmaW5lIHdp
dGggdGhhdC4NCg0KSXQgaXMgdmVyeSB1bmxpa2VseSB0aGF0IHBlb3BsZSBhcmUgZ29pbmcgaGF2
ZSBhIGNvbmZpZ3VyYXRpb24gbGlrZSB0aGlzDQppbiBwcm9kdWN0aW9uLg0KDQpCdXQsIHRoZSA0
LjE3IGJyYW5jaCBkb2VzIGhhdmUgR2l0bGFiIENJIHJ1bm5pbmcgb24gaXQsIGluY2x1ZGluZw0K
cmFuZGNvbmYgdGVzdHMsIHdoaWNoIHByb3ZhYmx5IGRvIHNwb3QgdGhlIGVycm9yIG9jY2FzaW9u
YWxseS4NCg0KVGhlIChJTU8gYmV0dGVyKSBqdXN0aWZpY2F0aW9uIHRvIHRha2UgaXQgaW50byA0
LjE3IGF0IHRoaXMgcG9pbnQgaXMgdG8NCmZpeCBhIENJIGZhaWx1cmUuDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 19:25:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 19:25:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451132.708748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0pBX-0003Cy-GH; Thu, 01 Dec 2022 19:25:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451132.708748; Thu, 01 Dec 2022 19:25:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0pBX-0003Cr-DH; Thu, 01 Dec 2022 19:25:27 +0000
Received: by outflank-mailman (input) for mailman id 451132;
 Thu, 01 Dec 2022 19:25:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0pBW-0003Cj-8m
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 19:25:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0pBV-0001ZK-KI; Thu, 01 Dec 2022 19:25:25 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0pBV-000413-Dd; Thu, 01 Dec 2022 19:25:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=W6nssiOm/uphqiZYWMvX0vxit2Y5B4Kq9RinETGP9gg=; b=2YHZF/KqfNj14PZvNJWpXfMcOo
	B86dYfeST4b9j6A9Yg1Ty/YJ+E1oH6qQ39F+2ngUj7dzGl/vi+0kTsMrWnhLnisTg4QBFfoeqXnxM
	SX2+N9JiJx2GZ1j/pRVuz0I7tJp3wjSaj17bJqgioe9R6s4eK006m40WEd1FgI+JWgTs=;
Message-ID: <39f4a517-7263-2431-920f-fe8ea65b7495@xen.org>
Date: Thu, 1 Dec 2022 19:25:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-14-jgross@suse.com>
 <32f61945-08fa-f095-02c4-9d52b66b6c04@xen.org>
 <a55a6433-d49f-2963-0f79-ee98441afe5f@suse.com>
 <c878e5dc-1cfc-fc7f-f535-9d1afb99f378@xen.org>
 <ceda3142-f5c0-f1b1-19c4-40aade11fa63@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH 13/20] tools/xenstore: don't allow creating too many nodes
 in a transaction
In-Reply-To: <ceda3142-f5c0-f1b1-19c4-40aade11fa63@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 08/11/2022 08:09, Juergen Gross wrote:
> On 07.11.22 19:37, Julien Grall wrote:
>> On 07/11/2022 08:34, Juergen Gross wrote:
>>> On 06.11.22 23:00, Julien Grall wrote:
>>>> Hi Juergen,
>>>>
>>>> On 01/11/2022 15:28, Juergen Gross wrote:
>>>>> The accounting for the number of nodes of a domain in an active
>>>>> transaction is not working correctly, as it allows to create arbitrary
>>>>> number of nodes. The transaction will finally fail due to exceeding
>>>>> the number of nodes quota, but before closing the transaction an
>>>>> unprivileged guest could cause Xenstore to use a lot of memory.
>>>>
>>>> I have already made some of comments on the security ML when this 
>>>> was initially set. The arguments still don't sound right to me.
>>>>
>>>> For a first, since XSA-326, we have a cap in place for the memory a 
>>>> domain can consume. So this surely can't be a "lot of memory". 
>>>> Otherwise we are saying that our limit (there are other way to hit 
>>>> it) were wrong...
>>>
>>> Yeah, maybe I should rework the commit message.
>>>
>>> The reason I still want to keep the patch is that in a transaction 
>>> without any
>>> conflicts and without hitting any transaction specific limits (number 
>>> of nodes
>>> accessed), the errors returned due to a single operation should be 
>>> the same as
>>> with the same operation performed outside a transaction.
>>
>> This seems to be a very niche use case. So it is not clear to me why 
>> this matter and we want to add extra check for everyone.
> 
> It is a matter of correctness.

I think this is a matter of perspective. Transactions are inherently 
racy and I see no point of try to solve issues in the idealistic case 
(i.e. no conflict). The reasoning below...

> 
> Additionally, after the internal accounting rework this makes even more
> sense, as the maximum values per domain seen are really correct, even when
> queried while transactions are active.
... might be a better justification. But I will need to review the other 
patch in order to forge a more positive opinion. Can you point me to the 
patch?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 19:33:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 19:33:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451140.708759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0pIv-00055I-8i; Thu, 01 Dec 2022 19:33:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451140.708759; Thu, 01 Dec 2022 19:33:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0pIv-00055B-5E; Thu, 01 Dec 2022 19:33:05 +0000
Received: by outflank-mailman (input) for mailman id 451140;
 Thu, 01 Dec 2022 19:33:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DAsL=37=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p0pIt-000555-BG
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 19:33:03 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5a85e39-71ae-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 20:32:59 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id 1BFD0CE1DA2;
 Thu,  1 Dec 2022 19:32:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2902CC433C1;
 Thu,  1 Dec 2022 19:32:53 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5a85e39-71ae-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669923174;
	bh=FtBD0D8QH3aCHYNrYpbdI62S0NYyIpBcjsMwYd7PuwA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=qOw/nvqbHpBSAmkGTi5jZDhg37dnE9NMuJDrRHGNbalFZRNIHB93/rLc/YkiR+Piy
	 G+TK5XskY7IK1yI6cFig0KycRe56/M0O04ZNao1aAkojZacfo+ae9Zl7VZArFZE1cq
	 ZflY/EjE6/Ypuqx5bxY54tNy3UO23Eby2qAsQzq+MA65uGJBJE4gHGjs0KT7E5GvTS
	 41lXuoZ7n6dk1YZ2EzNS/OzpZDFds4PR2ZrH0cYKep5vNpY8dCCi6Hnt8Ik7OWi5ez
	 1dxjRUvwGwCqusavR5nKfCsHpQQOu3zcfw5E3wehpIypFozjbF/vLn8QFkJQehIs3v
	 lgPfNfVmSZx4A==
Date: Thu, 1 Dec 2022 11:32:51 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Vipul Suneja <vsuneja63@gmail.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, oleksandr_andrushchenko@epam.com, 
    oleksandr_tyshchenko@epam.com, jgross@suse.com, boris.ostrovsky@oracle.com, 
    Bertrand.Marquis@arm.com
Subject: Re: Porting Xen in raspberry pi4B
In-Reply-To: <CALAP8f_QiHN4dP3z+LQgKdGeo8-=9DMyk0W7+x6P2eHvnOD_wQ@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2212011128430.4039@ubuntu-linux-20-04-desktop>
References: <CALAP8f--jyG=ufJ9WGtL6qoeGdsykjNK85G3q50SzJm5+wOzhQ@mail.gmail.com> <alpine.DEB.2.22.394.2210171400570.2351079@ubuntu-linux-20-04-desktop> <CALAP8f81ojfVD9n5EMtD7DxY-8uomgENVEQH9Afz7Hk9rfaAsw@mail.gmail.com> <alpine.DEB.2.22.394.2210181213370.4587@ubuntu-linux-20-04-desktop>
 <CALAP8f9Zgue6WfAk2uRGkg=1Up2Z+eQWqvQ1_Z2=r66Z5fvKoA@mail.gmail.com> <alpine.DEB.2.22.394.2210251641540.1397955@ubuntu-linux-20-04-desktop> <CALAP8f8Z8A2u8h56EJWOCN7nJFDvyEvM-Q85XMnUP6Y6mZDg3w@mail.gmail.com> <CALAP8f_n2okQ-Ss_kGACAq3BVYXS_D2P_8AyhOzUxqgWpz9f4g@mail.gmail.com>
 <alpine.DEB.2.22.394.2211101702250.50442@ubuntu-linux-20-04-desktop> <CALAP8f8zGfNA_CZU4UQXy7-rPT6dqih9XpzuKM3vvkoBvy6usg@mail.gmail.com> <alpine.DEB.2.22.394.2211221605470.1049131@ubuntu-linux-20-04-desktop>
 <CALAP8f_QiHN4dP3z+LQgKdGeo8-=9DMyk0W7+x6P2eHvnOD_wQ@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-296891064-1669923091=:4039"
Content-ID: <alpine.DEB.2.22.394.2212011131540.4039@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-296891064-1669923091=:4039
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2212011131541.4039@ubuntu-linux-20-04-desktop>

On Thu, 1 Dec 2022, Vipul Suneja wrote:
> Hi Stefano,
> Thanks!
> 
> I am exploring both options here, modification of framebuffer source file & setting up x11vnc server in guest.
> Other than these I would like to share a few findings with you.
> 
> 1. If i keep "CONFIG_XEN_FBDEV_FRONTEND=y" then xen-fbfront.ko is not generating but if i keep "CONFIG_XEN_FBDEV_FRONTEND=m"
> then could see xen-fbfront.ko & its loading also. Same things with other frontend/backend drivers also. Do we need to configure these
> drivers as a module(m) only?

xen-fbfront should work both as a module (xen-fbfront.ko) or built-in
(CONFIG_XEN_FBDEV_FRONTEND=y).



> 2. I could see xenstored service is running for the host but it's always failing for the guest machine. I could see it in bootup logs & via
> systemctl status also.

That is normal. xenstored is only meant to be run in Dom0, not in the
domUs. If you use the same rootfs for Dom0 and DomU then xenstored will
fail starting in the DomU (but should succeed in Dom0), which is what we
want.

If you run "xenstore-ls" in Dom0, you'll see a bunch of entries,
including some of them related to "vfb" which is the virtual framebuffer
protocol. You should also see an entry called "state" set to "4" which
means "connected". state = 4 is usually when everything works. Normally
when things don't work state != 4.



> Below are the logs:
> [  OK  ] Reached target Basic System.
> [  OK  ] Started Kernel Logging Service.
> [  OK  ] Started System Logging Service.
>          Starting D-Bus System Message Bus...
>          Starting User Login Management...
>          Starting Permit User Sessions...
>          Starting The Xen xenstore...
>          Starting OpenSSH Key Generation...
> [FAILED] Failed to start The Xen xenstore.
> See 'systemctl status xenstored.service' for details.
> [DEPEND] Dependency failed for qemu for xen dom0 disk backend.
> [DEPEND] Dependency failed for Xend…p guests on boot and shutdown.
> [DEPEND] Dependency failed for xen-…des, JSON configuration stub).
> [DEPEND] Dependency failed for Xenc…guest consoles and hypervisor.
> [  OK  ] Finished Permit User Sessions.
> [  OK  ] Started Getty on tty1.
> [  OK  ] Started Serial Getty on hvc0.
> [  OK  ] Started Serial Getty on ttyS0.
> [  OK  ] Reached target Login Prompts.
>          Starting Xen-watchdog - run xen watchdog daemon...
> [  OK  ] Started D-Bus System Message Bus.
> [  OK  ] Started Xen-watchdog - run xen watchdog daemon.
> [  OK  ] Finished OpenSSH Key Generation.
> [  OK  ] Started User Login Management.
> [  OK  ] Reached target Multi-User System.
>          Starting Record Runlevel Change in UTMP...
> [  OK  ] Finished Record Runlevel Change in UTMP.
> fbcon: Taking over console
> 
> Poky (Yocto Project Reference Distro) 4.0.4 raspberrypi4-64 hvc0
> 
> raspberrypi4-64 login: root
> root@raspberrypi4-64:~#
> root@raspberrypi4-64:~#
> root@raspberrypi4-64:~# systemctl status xenstored.service
> x xenstored.service - The Xen xenstore
>      Loaded: loaded (/lib/systemd/system/xenstored.service; enabled; vendor preset: enabled)
>      Active: failed (Result: exit-code) since Thu 2022-12-01 06:12:05 UTC; 26s ago
>     Process: 195 ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities (code=exited, status=1/FAILURE)
> 
> Dec 01 06:12:04 raspberrypi4-64 systemd[1]: Starting The Xen xenstore...
> Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service: Control pro...URE
> Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service: Failed with...e'.
> Dec 01 06:12:05 raspberrypi4-64 systemd[1]: Failed to start The Xen xenstore.
> Hint: Some lines were ellipsized, use -l to show in full.
> root@raspberrypi4-64:~# 
> 
> Any input on these?
> 
> Thanks & Regards,
> Vipul Kumar
> 
> On Wed, Nov 23, 2022 at 5:41 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       Hi Vipul,
> 
>       I cannot spot any issue in the configuration, in particual you have:
> 
>       CONFIG_XEN_FBDEV_FRONTEND=y
> 
>       which is what you need.
> 
>       The only thing I can suggest is to add printks to the Linux frontend
>       driver (the one running in the domU) which is
>       drivers/video/fbdev/xen-fbfront.c and printfs to the QEMU backend
>       (running in Dom0) which is hw/display/xenfb.c to figure out what is
>       going on.
> 
> 
>       Alternatively, you can setup PV network with the domU, such as:
> 
>         vif=['']
> 
>       and then run x11 and a x11vnc server in your domU. You should be able to
>       connect to it using vncviewer at the network IP of your domU.
> 
>       Basically you are skipping the problem because instead of using the PV
>       framebuffer protocol, you just use VNC over the network with the domU.
> 
> 
>       Cheers,
> 
>       Stefano
> 
> 
>       On Tue, 22 Nov 2022, Vipul Suneja wrote:
>       > Hi Stefano,
>       > Thanks for the support!
>       >
>       > Looks like I have tried all the combinations & possible ways to get display up but failed. Is there any document or pdf for
>       porting xen on
>       > raspberrypi4.
>       > I could find lot's of links telling the same but couldn't see any official user guide or document from the xen community on
>       the same. If
>       > there is something to refer 
>       > to please share with me.
>       > I am attaching the kernel configuration file also, just take a look if i have missed anything.
>       > Any other suggestions or input from your end could be really helpful?
>       >
>       > Regards,
>       > Vipul Kumar
>       >
>       > On Fri, Nov 11, 2022 at 6:40 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       Hi Vipul,
>       >
>       >       Sorry for the late reply. From the earlier logs that you sent, it looks
>       >       like everything should be working correctly. Specifically:
>       >
>       >            vfb = ""
>       >             1 = ""
>       >              0 = ""
>       >               frontend = "/local/domain/1/device/vfb/0"
>       >               frontend-id = "1"
>       >               online = "1"
>       >               state = "4"
>       >               vnc = "1"
>       >               vnclisten = "127.0.0.1"
>       >               vncdisplay = "0"
>       >               vncunused = "1"
>       >               sdl = "0"
>       >               opengl = "0"
>       >               feature-resize = "1"
>       >               hotplug-status = "connected"
>       >               request-update = "1"
>       >
>       >       state "4" means "connected". So I would expect that you should be able
>       >       to connect to the vnc server using vncviewer. You might not see anything
>       >       (black screen) but you should definitely be able to connect.
>       >
>       >       I wouldn't try to launch x11 in the guest just yet. fbcon in Linux is
>       >       enough to render something on the screen. You should be able to see the
>       >       Linux text-based console rendered graphically, connecting to it via vnc.
>       >
>       >       Sorry for the basic question, but have you tried all the following?
>       >
>       >       vncviewer 127.0.0.1:0
>       >       vncviewer 127.0.0.1:1
>       >       vncviewer 127.0.0.1:2
>       >       vncviewer 127.0.0.1:5900
>       >       vncviewer 127.0.0.1:5901
>       >       vncviewer 127.0.0.1:5902
>       >
>       >       Given that from the xenstore-ls logs everything seems to work correctly
>       >       I am not sure what else to suggest. You might have to add printf to QEMU
>       >       ui/vnc.c and hw/display/xenfb.c to see what is going wrong.
>       >
>       >       Cheers,
>       >
>       >       Stefano
>       >
>       >
>       >       On Mon, 7 Nov 2022, Vipul Suneja wrote:
>       >       > Hi Stefano,
>       >       > Thanks!
>       >       >
>       >       > Any input further on "xenstore-ls" logs?
>       >       >
>       >       > I am trying to run the x0vncserver & x11vnc server manually on guest machine(xen_guest_image_minimal) image but it's
>       failing
>       >       with the below
>       >       > error.
>       >       >
>       >       > root@raspberrypi4-64:/usr/bin# x0vncserver
>       >       > x0vncserver: unable to open display ""
>       >       > root@raspberrypi4-64:/usr/bin#
>       >       > root@raspberrypi4-64:/usr/bin# x11vnc
>       >       > ###############################################################
>       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       > #@                                                           @#
>       >       > #@  **  WARNING  **  WARNING  **  WARNING  **  WARNING  **   @#
>       >       > #@                                                           @#
>       >       > #@        YOU ARE RUNNING X11VNC WITHOUT A PASSWORD!!        @#
>       >       > #@                                                           @#
>       >       > #@  This means anyone with network access to this computer   @#
>       >       > #@  may be able to view and control your desktop.            @#
>       >       > #@                                                           @#
>       >       > #@ >>> If you did not mean to do this Press CTRL-C now!! <<< @#
>       >       > #@                                                           @#
>       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       > #@                                                           @#
>       >       > #@  You can create an x11vnc password file by running:       @#
>       >       > #@                                                           @#
>       >       > #@       x11vnc -storepasswd password /path/to/passfile      @#
>       >       > #@  or   x11vnc -storepasswd /path/to/passfile               @#
>       >       > #@  or   x11vnc -storepasswd                                 @#
>       >       > #@                                                           @#
>       >       > #@  (the last one will use ~/.vnc/passwd)                    @#
>       >       > #@                                                           @#
>       >       > #@  and then starting x11vnc via:                            @#
>       >       > #@                                                           @#
>       >       > #@      x11vnc -rfbauth /path/to/passfile                    @#
>       >       > #@                                                           @#
>       >       > #@  an existing ~/.vnc/passwd file from another VNC          @#
>       >       > #@  application will work fine too.                          @#
>       >       > #@                                                           @#
>       >       > #@  You can also use the -passwdfile or -passwd options.     @#
>       >       > #@  (note -passwd is unsafe if local users are not trusted)  @#
>       >       > #@                                                           @#
>       >       > #@  Make sure any -rfbauth and -passwdfile password files    @#
>       >       > #@  cannot be read by untrusted users.                       @#
>       >       > #@                                                           @#
>       >       > #@  Use x11vnc -usepw to automatically use your              @#
>       >       > #@  ~/.vnc/passwd or ~/.vnc/passwdfile password files.       @#
>       >       > #@  (and prompt you to create ~/.vnc/passwd if neither       @#
>       >       > #@  file exists.)  Under -usepw, x11vnc will exit if it      @#
>       >       > #@  cannot find a password to use.                           @#
>       >       > #@                                                           @#
>       >       > #@                                                           @#
>       >       > #@  Even with a password, the subsequent VNC traffic is      @#
>       >       > #@  sent in the clear.  Consider tunnelling via ssh(1):      @#
>       >       > #@                                                           @#
>       >       > #@    http://www.karlrunge.com/x11vnc/#tunnelling            @#
>       >       > #@                                                           @#
>       >       > #@  Or using the x11vnc SSL options: -ssl and -stunnel       @#
>       >       > #@                                                           @#
>       >       > #@  Please Read the documentation for more info about        @#
>       >       > #@  passwords, security, and encryption.                     @#
>       >       > #@                                                           @#
>       >       > #@    http://www.karlrunge.com/x11vnc/faq.html#faq-passwd    @#
>       >       > #@                                                           @#
>       >       > #@  To disable this warning use the -nopw option, or put     @#
>       >       > #@  'nopw' on a line in your ~/.x11vncrc file.               @#
>       >       > #@                                                           @#
>       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       > ###############################################################
>       >       > 09/03/2018 12:58:41 x11vnc version: 0.9.16 lastmod: 2019-01-05  pid: 424
>       >       > 09/03/2018 12:58:41 XOpenDisplay("") failed.
>       >       > 09/03/2018 12:58:41 Trying again with XAUTHLOCALHOSTNAME=localhost ...
>       >       > 09/03/2018 12:58:41
>       >       > 09/03/2018 12:58:41 *** XOpenDisplay failed. No -display or DISPLAY.
>       >       > 09/03/2018 12:58:41 *** Trying ":0" in 4 seconds.  Press Ctrl-C to abort.
>       >       > 09/03/2018 12:58:41 *** 1 2 3 4
>       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
>       >       > 09/03/2018 12:58:45 Trying again with XAUTHLOCALHOSTNAME=localhost ...
>       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
>       >       > 09/03/2018 12:58:45 Trying again with unset XAUTHLOCALHOSTNAME ...
>       >       > 09/03/2018 12:58:45
>       >       >
>       >       > 09/03/2018 12:58:45 ***************************************
>       >       > 09/03/2018 12:58:45 *** XOpenDisplay failed (:0)
>       >       >
>       >       > *** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.
>       >       > *** There may be "Xlib:" error messages above with details about the failure.
>       >       >
>       >       > Some tips and guidelines:
>       >       >
>       >       > ** An X server (the one you wish to view) must be running before x11vnc is
>       >       >    started: x11vnc does not start the X server.  (however, see the -create
>       >       >    option if that is what you really want).
>       >       >
>       >       > ** You must use -display <disp>, -OR- set and export your $DISPLAY
>       >       >    environment variable to refer to the display of the desired X server.
>       >       >  - Usually the display is simply ":0" (in fact x11vnc uses this if you forget
>       >       >    to specify it), but in some multi-user situations it could be ":1", ":2",
>       >       >    or even ":137".  Ask your administrator or a guru if you are having
>       >       >    difficulty determining what your X DISPLAY is.
>       >       >
>       >       > ** Next, you need to have sufficient permissions (Xauthority)
>       >       >    to connect to the X DISPLAY.   Here are some Tips:
>       >       >
>       >       >  - Often, you just need to run x11vnc as the user logged into the X session.
>       >       >    So make sure to be that user when you type x11vnc.
>       >       >  - Being root is usually not enough because the incorrect MIT-MAGIC-COOKIE
>       >       >    file may be accessed.  The cookie file contains the secret key that
>       >       >    allows x11vnc to connect to the desired X DISPLAY.
>       >       >  - You can explicitly indicate which MIT-MAGIC-COOKIE file should be used
>       >       >    by the -auth option, e.g.:
>       >       >        x11vnc -auth /home/someuser/.Xauthority -display :0
>       >       >        x11vnc -auth /tmp/.gdmzndVlR -display :0
>       >       >    you must have read permission for the auth file.
>       >       >    See also '-auth guess' and '-findauth' discussed below.
>       >       >
>       >       > ** If NO ONE is logged into an X session yet, but there is a greeter login
>       >       >    program like "gdm", "kdm", "xdm", or "dtlogin" running, you will need
>       >       >    to find and use the raw display manager MIT-MAGIC-COOKIE file.
>       >       >    Some examples for various display managers:
>       >       >
>       >       >      gdm:     -auth /var/gdm/:0.Xauth
>       >       >               -auth /var/lib/gdm/:0.Xauth
>       >       >      kdm:     -auth /var/lib/kdm/A:0-crWk72
>       >       >               -auth /var/run/xauth/A:0-crWk72
>       >       >      xdm:     -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
>       >       >      dtlogin: -auth /var/dt/A:0-UgaaXa
>       >       >
>       >       >    Sometimes the command "ps wwwwaux | grep auth" can reveal the file location.
>       >       >
>       >       >    Starting with x11vnc 0.9.9 you can have it try to guess by using:
>       >       >
>       >       >               -auth guess
>       >       >
>       >       >    (see also the x11vnc -findauth option.)
>       >       >
>       >       >    Only root will have read permission for the file, and so x11vnc must be run
>       >       >    as root (or copy it).  The random characters in the filenames will of course
>       >       >    change and the directory the cookie file resides in is system dependent.
>       >       >
>       >       > See also: http://www.karlrunge.com/x11vnc/faq.html
>       >       >
>       >       > Regards,
>       >       > Vipul Kumar
>       >       >
>       >       > On Thu, Nov 3, 2022 at 10:27 PM Vipul Suneja <vsuneja63@gmail.com> wrote:
>       >       >       Hi Stefano,
>       >       > Thanks!
>       >       >
>       >       > I used xen-guest-image-minimal(simple console based image) as a guest with fbcon & fbdev enabled in kernel
>       configurations but
>       >       still
>       >       > the same error can't open the display.
>       >       > below are the outcome of "xenstore-ls":
>       >       >
>       >       > root@raspberrypi4-64:~/guest1# xenstore-ls
>       >       > tool = ""
>       >       >  xenstored = ""
>       >       > local = ""
>       >       >  domain = ""
>       >       >   0 = ""
>       >       >    control = ""
>       >       >     feature-poweroff = "1"
>       >       >     feature-reboot = "1"
>       >       >    domid = "0"
>       >       >    name = "Domain-0"
>       >       >    device-model = ""
>       >       >     0 = ""
>       >       >      backends = ""
>       >       >       console = ""
>       >       >       vkbd = ""
>       >       >       vfb = ""
>       >       >       qnic = ""
>       >       >      state = "running"
>       >       >     1 = ""
>       >       >      backends = ""
>       >       >       console = ""
>       >       >       vkbd = ""
>       >       >       vfb = ""
>       >       >       qnic = ""
>       >       >      state = "running"
>       >       >    backend = ""
>       >       >     vbd = ""
>       >       >      1 = ""
>       >       >       51712 = ""
>       >       >        frontend = "/local/domain/1/device/vbd/51712"
>       >       >        params = "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
>       >       >        script = "/etc/xen/scripts/block"
>       >       >        frontend-id = "1"
>       >       >        online = "1"
>       >       >        removable = "0"
>       >       >        bootable = "1"
>       >       >        state = "4"
>       >       >        dev = "xvda"
>       >       >        type = "phy"
>       >       >        mode = "w"
>       >       >        device-type = "disk"
>       >       >        discard-enable = "1"
>       >       >        feature-max-indirect-segments = "256"
>       >       >        multi-queue-max-queues = "4"
>       >       >        max-ring-page-order = "4"
>       >       >        node = "/dev/loop0"
>       >       >        physical-device = "7:0"
>       >       >        physical-device-path = "/dev/loop0"
>       >       >        hotplug-status = "connected"
>       >       >        feature-flush-cache = "1"
>       >       >        discard-granularity = "4096"
>       >       >        discard-alignment = "0"
>       >       >        discard-secure = "0"
>       >       >        feature-discard = "1"
>       >       >        feature-barrier = "1"
>       >       >        feature-persistent = "1"
>       >       >        sectors = "1794048"
>       >       >        info = "0"
>       >       >        sector-size = "512"
>       >       >        physical-sector-size = "512"
>       >       >     vfb = ""
>       >       >      1 = ""
>       >       >       0 = ""
>       >       >        frontend = "/local/domain/1/device/vfb/0"
>       >       >        frontend-id = "1"
>       >       >        online = "1"
>       >       >        state = "4"
>       >       >        vnc = "1"
>       >       >        vnclisten = "127.0.0.1"
>       >       >        vncdisplay = "0"
>       >       >        vncunused = "1"
>       >       >        sdl = "0"
>       >       >        opengl = "0"
>       >       >        feature-resize = "1"
>       >       >        hotplug-status = "connected"
>       >       >        request-update = "1"
>       >       >     vkbd = ""
>       >       >      1 = ""
>       >       >       0 = ""
>       >       >        frontend = "/local/domain/1/device/vkbd/0"
>       >       >        frontend-id = "1"
>       >       >        online = "1"
>       >       >        state = "4"
>       >       >        feature-abs-pointer = "1"
>       >       >        feature-raw-pointer = "1"
>       >       >        hotplug-status = "connected"
>       >       >     console = ""
>       >       >      1 = ""
>       >       >       0 = ""
>       >       >        frontend = "/local/domain/1/console"
>       >       >        frontend-id = "1"
>       >       >        online = "1"
>       >       >        state = "1"
>       >       >        protocol = "vt100"
>       >       >     vif = ""
>       >       >      1 = ""
>       >       >       0 = ""
>       >       >        frontend = "/local/domain/1/device/vif/0"
>       >       >        frontend-id = "1"
>       >       >        online = "1"
>       >       >        state = "4"
>       >       >        script = "/etc/xen/scripts/vif-bridge"
>       >       >        mac = "e4:5f:01:cd:7b:dd"
>       >       >        bridge = "xenbr0"
>       >       >        handle = "0"
>       >       >        type = "vif"
>       >       >        hotplug-status = "connected"
>       >       >        feature-sg = "1"
>       >       >        feature-gso-tcpv4 = "1"
>       >       >        feature-gso-tcpv6 = "1"
>       >       >        feature-ipv6-csum-offload = "1"
>       >       >        feature-rx-copy = "1"
>       >       >        feature-xdp-headroom = "1"
>       >       >        feature-rx-flip = "0"
>       >       >        feature-multicast-control = "1"
>       >       >        feature-dynamic-multicast-control = "1"
>       >       >        feature-split-event-channels = "1"
>       >       >        multi-queue-max-queues = "4"
>       >       >        feature-ctrl-ring = "1"
>       >       >   1 = ""
>       >       >    vm = "/vm/d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
>       >       >    name = "guest2"
>       >       >    cpu = ""
>       >       >     0 = ""
>       >       >      availability = "online"
>       >       >     1 = ""
>       >       >      availability = "online"
>       >       >    memory = ""
>       >       >     static-max = "2097152"
>       >       >     target = "2097152"
>       >       >     videoram = "0"
>       >       >    device = ""
>       >       >     suspend = ""
>       >       >      event-channel = ""
>       >       >     vbd = ""
>       >       >      51712 = ""
>       >       >       backend = "/local/domain/0/backend/vbd/1/51712"
>       >       >       backend-id = "0"
>       >       >       state = "4"
>       >       >       virtual-device = "51712"
>       >       >       device-type = "disk"
>       >       >       multi-queue-num-queues = "2"
>       >       >       queue-0 = ""
>       >       >        ring-ref = "8"
>       >       >        event-channel = "4"
>       >       >       queue-1 = ""
>       >       >        ring-ref = "9"
>       >       >        event-channel = "5"
>       >       >       protocol = "arm-abi"
>       >       >       feature-persistent = "1"
>       >       >     vfb = ""
>       >       >      0 = ""
>       >       >       backend = "/local/domain/0/backend/vfb/1/0"
>       >       >       backend-id = "0"
>       >       >       state = "4"
>       >       >       page-ref = "275022"
>       >       >       event-channel = "3"
>       >       >       protocol = "arm-abi"
>       >       >       feature-update = "1"
>       >       >     vkbd = ""
>       >       >      0 = ""
>       >       >       backend = "/local/domain/0/backend/vkbd/1/0"
>       >       >       backend-id = "0"
>       >       >       state = "4"
>       >       >       request-abs-pointer = "1"
>       >       >       page-ref = "275322"
>       >       >       page-gref = "1284"
>       >       >       event-channel = "10"
>       >       >     vif = ""
>       >       >      0 = ""
>       >       >       backend = "/local/domain/0/backend/vif/1/0"
>       >       >       backend-id = "0"
>       >       >       state = "4"
>       >       >       handle = "0"
>       >       >       mac = "e4:5f:01:cd:7b:dd"
>       >       >       mtu = "1500"
>       >       >       xdp-headroom = "0"
>       >       >       multi-queue-num-queues = "2"
>       >       >       queue-0 = ""
>       >       >        tx-ring-ref = "1280"
>       >       >        rx-ring-ref = "1281"
>       >       >        event-channel-tx = "6"
>       >       >        event-channel-rx = "7"
>       >       >       queue-1 = ""
>       >       >        tx-ring-ref = "1282"
>       >       >        rx-ring-ref = "1283"
>       >       >        event-channel-tx = "8"
>       >       >        event-channel-rx = "9"
>       >       >       request-rx-copy = "1"
>       >       >       feature-rx-notify = "1"
>       >       >       feature-sg = "1"
>       >       >       feature-gso-tcpv4 = "1"
>       >       >       feature-gso-tcpv6 = "1"
>       >       >       feature-ipv6-csum-offload = "1"
>       >       >    control = ""
>       >       >     shutdown = ""
>       >       >     feature-poweroff = "1"
>       >       >     feature-reboot = "1"
>       >       >     feature-suspend = ""
>       >       >     sysrq = ""
>       >       >     platform-feature-multiprocessor-suspend = "1"
>       >       >     platform-feature-xs_reset_watches = "1"
>       >       >    data = ""
>       >       >    drivers = ""
>       >       >    feature = ""
>       >       >    attr = ""
>       >       >    error = ""
>       >       >    domid = "1"
>       >       >    store = ""
>       >       >     port = "1"
>       >       >     ring-ref = "233473"
>       >       >    console = ""
>       >       >     backend = "/local/domain/0/backend/console/1/0"
>       >       >     backend-id = "0"
>       >       >     limit = "1048576"
>       >       >     type = "xenconsoled"
>       >       >     output = "pty"
>       >       >     tty = "/dev/pts/1"
>       >       >     port = "2"
>       >       >     ring-ref = "233472"
>       >       >     vnc-listen = "127.0.0.1"
>       >       >     vnc-port = "5900"
>       >       >    image = ""
>       >       >     device-model-pid = "788"
>       >       > vm = ""
>       >       >  d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f = ""
>       >       >   name = "guest2"
>       >       >   uuid = "d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
>       >       >   start_time = "1520600274.27"
>       >       > libxl = ""
>       >       >  1 = ""
>       >       >   device = ""
>       >       >    vbd = ""
>       >       >     51712 = ""
>       >       >      frontend = "/local/domain/1/device/vbd/51712"
>       >       >      backend = "/local/domain/0/backend/vbd/1/51712"
>       >       >      params = "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
>       >       >      script = "/etc/xen/scripts/block"
>       >       >      frontend-id = "1"
>       >       >      online = "1"
>       >       >      removable = "0"
>       >       >      bootable = "1"
>       >       >      state = "1"
>       >       >      dev = "xvda"
>       >       >      type = "phy"
>       >       >      mode = "w"
>       >       >      device-type = "disk"
>       >       >      discard-enable = "1"
>       >       >    vfb = ""
>       >       >     0 = ""
>       >       >      frontend = "/local/domain/1/device/vfb/0"
>       >       >      backend = "/local/domain/0/backend/vfb/1/0"
>       >       >      frontend-id = "1"
>       >       >      online = "1"
>       >       >      state = "1"
>       >       >      vnc = "1"
>       >       >      vnclisten = "127.0.0.1"
>       >       >      vncdisplay = "0"
>       >       >      vncunused = "1"
>       >       >      sdl = "0"
>       >       >      opengl = "0"
>       >       >    vkbd = ""
>       >       >     0 = ""
>       >       >      frontend = "/local/domain/1/device/vkbd/0"
>       >       >      backend = "/local/domain/0/backend/vkbd/1/0"
>       >       >      frontend-id = "1"
>       >       >      online = "1"
>       >       >      state = "1"
>       >       >    console = ""
>       >       >     0 = ""
>       >       >      frontend = "/local/domain/1/console"
>       >       >      backend = "/local/domain/0/backend/console/1/0"
>       >       >      frontend-id = "1"
>       >       >      online = "1"
>       >       >      state = "1"
>       >       >      protocol = "vt100"
>       >       >    vif = ""
>       >       >     0 = ""
>       >       >      frontend = "/local/domain/1/device/vif/0"
>       >       >      backend = "/local/domain/0/backend/vif/1/0"
>       >       >      frontend-id = "1"
>       >       >      online = "1"
>       >       >      state = "1"
>       >       >      script = "/etc/xen/scripts/vif-bridge"
>       >       >      mac = "e4:5f:01:cd:7b:dd"
>       >       >      bridge = "xenbr0"
>       >       >      handle = "0"
>       >       >      type = "vif"
>       >       >      hotplug-status = ""
>       >       >   type = "pvh"
>       >       >   dm-version = "qemu_xen"
>       >       > root@raspberrypi4-64:~/guest1#
>       >       >
>       >       > Any input as per above? Looking forward to hearing from you.
>       >       >
>       >       > Regards,
>       >       > Vipul Kumar
>       >       >
>       >       > On Wed, Oct 26, 2022 at 5:21 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       Hi Vipul,
>       >       >
>       >       >       If you look at the QEMU logs, it says:
>       >       >
>       >       >       VNC server running on 127.0.0.1:5900
>       >       >
>       >       >       That is the VNC server you need to connect to. So in theory:
>       >       >
>       >       >         vncviewer 127.0.0.1:5900
>       >       >
>       >       >       should work correctly.
>       >       >
>       >       >
>       >       >       If you have:
>       >       >
>       >       >         vfb = ["type=vnc"]
>       >       >
>       >       >       in your xl config file and you have "fbdev" in your Linux guest, it
>       >       >       should work.
>       >       >
>       >       >       If you connect to the VNC server but you get a black screen, it might be
>       >       >       a guest configuration issue. I would try with a simpler guest, text only
>       >       >       (no X11, no Wayland) and enable the fbdev console (fbcon). See
>       >       >       Documentation/fb/fbcon.rst in Linux. You should be able to see a
>       >       >       graphical console over VNC.
>       >       >
>       >       >       If that works, then you know that the fbdev kernel driver (xen-fbfront)
>       >       >       works correctly.
>       >       >
>       >       >       If it doesn't work, the output of "xenstore-ls" would be interesting.
>       >       >
>       >       >       Cheers,
>       >       >
>       >       >       Stefano
>       >       >
>       >       >
>       >       >       On Wed, 19 Oct 2022, Vipul Suneja wrote:
>       >       >       > Hi Stefano,
>       >       >       >
>       >       >       > Thanks for the response!
>       >       >       >
>       >       >       > I am following the same link you shared from the beginning. Tried the command "vncviewer localhost:0" in DOM0
>       but
>       >       same
>       >       >       issue "Can't open
>       >       >       > display", below are the logs:
>       >       >       >
>       >       >       > root@raspberrypi4-64:~# vncviewer localhost:0
>       >       >       >
>       >       >       > TigerVNC Viewer 64-bit v1.11.0
>       >       >       > Built on: 2020-09-08 12:16
>       >       >       > Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst)
>       >       >       > See https://www.tigervnc.org for information on TigerVNC.
>       >       >       > Can't open display:
>       >       >       >
>       >       >       > Below are the netstat logs, i couldn't see anything running at port 5900 or 5901:
>       >       >       >
>       >       >       > root@raspberrypi4-64:~# netstat -tuwx
>       >       >       > Active Internet connections (w/o servers)
>       >       >       > Proto Recv-Q Send-Q Local Address           Foreign Address         State      
>       >       >       > tcp        0    164 192.168.1.39:ssh        192.168.1.38:37472      ESTABLISHED
>       >       >       > Active UNIX domain sockets (w/o servers)
>       >       >       > Proto RefCnt Flags       Type       State         I-Node Path
>       >       >       > unix  8      [ ]         DGRAM      CONNECTED      10565 /dev/log
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      10891 /var/run/xenstored/socket
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      13791
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      10843 /var/run/xenstored/socket
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      10573 /var/run/xenstored/socket
>       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14510
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      13249
>       >       >       > unix  2      [ ]         DGRAM      CONNECTED      13887
>       >       >       > unix  2      [ ]         DGRAM      CONNECTED      10599
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      14005
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      13258
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      13248
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      14003
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      10572 /var/run/xenstored/socket
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      10786 /var/run/xenstored/socket
>       >       >       > unix  3      [ ]         DGRAM      CONNECTED      13186
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      10864 /var/run/xenstored/socket
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      10812 /var/run/xenstored/socket
>       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14083
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      10813 /var/run/xenstored/socket
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      14068
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      13256
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      10571 /var/run/xenstored/socket
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      10842
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      13985
>       >       >       > unix  3      [ ]         DGRAM      CONNECTED      13185
>       >       >       > unix  2      [ ]         STREAM     CONNECTED      13884
>       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14528
>       >       >       > unix  2      [ ]         DGRAM      CONNECTED      13785
>       >       >       > unix  3      [ ]         STREAM     CONNECTED      14034
>       >       >       >
>       >       >       > Attaching xen log files of /var/log/xen.
>       >       >       > I didn't get the role of QEMU here because as mentioned earlier, I am porting in raspberrypi 4B.
>       >       >       >
>       >       >       > Regards,
>       >       >       > Vipul Kumar
>       >       >       >
>       >       >       > On Wed, Oct 19, 2022 at 12:43 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       It usually works the way it is described in the guide:
>       >       >       >
>       >       >       >     
>       >       >     
>       >     
>          https://www.virtuatopia.com/index.php?title=Configuring_a_VNC_based_Graphical_Console_for_a_Xen_Paravirtualized_domainU_Guest
>       >       >       >
>       >       >       >       You don't need to install any VNC-related server software because it is
>       >       >       >       already provided by Xen (to be precise it is provided by QEMU working
>       >       >       >       together with Xen.)
>       >       >       >
>       >       >       >       You only need the vnc client in dom0 so that you can connect, but you
>       >       >       >       could also run the vnc client outside from another host. So basically
>       >       >       >       the following should work when executed in Dom0 after creating DomU:
>       >       >       >
>       >       >       >         vncviewer localhost:0
>       >       >       >
>       >       >       >       Can you attach the Xen and QEMU logs (/var/log/xen/*)? And also use
>       >       >       >       netstat -taunp to check if there is anything running at port 5900 or
>       >       >       >       5901?
>       >       >       >
>       >       >       >       Cheers,
>       >       >       >
>       >       >       >       Stefano
>       >       >       >
>       >       >       >
>       >       >       >       On Tue, 18 Oct 2022, Vipul Suneja wrote:
>       >       >       >       > Hi Stefano,
>       >       >       >       >
>       >       >       >       > Thanks for the response!
>       >       >       >       >
>       >       >       >       > I could install tigerVNC, x11vnc & libvncserver in Dom0 xen-image-minimal but only manage to install
>       >       >       libvncserver(couldn't
>       >       >       >       install tigervnc
>       >       >       >       > & x11vnc because of x11
>       >       >       >       > support missing, it's wayland) in DOMU custom graphical image. I tried running vncviewer with IP
>       address &
>       >       port
>       >       >       in dom0 to
>       >       >       >       access the domu
>       >       >       >       > graphical image display as per below commands.
>       >       >       >       >  
>       >       >       >       >  vncviewer 192.168.1.42:5901
>       >       >       >       >  
>       >       >       >       >  But it showing can't open display, below are the logs:
>       >       >       >       >  
>       >       >       >       > root@raspberrypi4-64:~/guest1# vncviewer 192.168.1.42:5901
>       >       >       >       >
>       >       >       >       > TigerVNC Viewer 64-bit v1.11.0
>       >       >       >       > Built on: 2020-09-08 12:16
>       >       >       >       > Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst)
>       >       >       >       > See https://www.tigervnc.org for information on TigerVNC.
>       >       >       >       > Can't open display:
>       >       >       >       > root@raspberrypi4-64:~/guest1#
>       >       >       >       >
>       >       >       >       > I am not exactly sure what the issue is but I thought only libvncserver in DOMU could work to get
>       access but
>       >       it
>       >       >       did not
>       >       >       >       work. 
>       >       >       >       > If TigerVNC is the issue here then is there any other VNC source which could be installed for both
>       x11 &
>       >       >       wayland supported
>       >       >       >       images?
>       >       >       >       >
>       >       >       >       > Regards,
>       >       >       >       > Vipul Kumar
>       >       >       >       >
>       >       >       >       > On Tue, Oct 18, 2022 at 2:40 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       >       VNC is typically easier to setup, because SDL needs extra libraries at
>       >       >       >       >       build time and runtime. If QEMU is built without SDL support it won't
>       >       >       >       >       start when you ask for SDL.
>       >       >       >       >
>       >       >       >       >       VNC should work with both x11 and wayland in your domU. It doesn't work
>       >       >       >       >       at the x11 level, it exposes a special fbdev device in your domU that
>       >       >       >       >       should work with:
>       >       >       >       >       - a graphical console in Linux domU
>       >       >       >       >       - x11
>       >       >       >       >       - wayland (but I haven't tested this so I am not 100% sure about it)
>       >       >       >       >
>       >       >       >       >       When you say "it doesn't work", what do you mean? Do you get a black
>       >       >       >       >       window?
>       >       >       >       >
>       >       >       >       >       You need CONFIG_XEN_FBDEV_FRONTEND in Linux domU
>       >       >       >       >       (drivers/video/fbdev/xen-fbfront.c). I would try to get a graphical text
>       >       >       >       >       console up and running in your domU before attempting x11/wayland.
>       >       >       >       >
>       >       >       >       >       Cheers,
>       >       >       >       >
>       >       >       >       >       Stefano
>       >       >       >       >
>       >       >       >       >       On Mon, 17 Oct 2022, Vipul Suneja wrote:
>       >       >       >       >       > Hi,
>       >       >       >       >       > Thanks!
>       >       >       >       >       >
>       >       >       >       >       > I have ported xen minimal image as DOM0 & custom wayland GUI based image as DOMU in raspberry
>       pi4B. I
>       >       >       am trying to
>       >       >       >       make GUI
>       >       >       >       >       display up
>       >       >       >       >       > for guest machine. I tried using sdl, included below line in guest.conf file
>       >       >       >       >       > vfb= [ 'sdl=1' ]
>       >       >       >       >       >
>       >       >       >       >       > But it is throwing below error:
>       >       >       >       >       >
>       >       >       >       >       > root@raspberrypi4-64:~/guest1# xl create -c guest1.cfg
>       >       >       >       >       > Parsing config from guest1.cfg
>       >       >       >       >       > libxl: error: libxl_qmp.c:1400:qmp_ev_fd_callback: Domain 3:error on QMP socket: Connection
>       reset by
>       >       >       peer
>       >       >       >       >       > libxl: error: libxl_qmp.c:1439:qmp_ev_fd_callback: Domain 3:Error happened with the QMP
>       connection to
>       >       >       QEMU
>       >       >       >       >       > libxl: error: libxl_dm.c:3351:device_model_postconfig_done: Domain 3:Post DM startup configs
>       failed,
>       >       >       rc=-26
>       >       >       >       >       > libxl: error: libxl_create.c:1867:domcreate_devmodel_started: Domain 3:device model did not
>       start:
>       >       -26
>       >       >       >       >       > libxl: error: libxl_aoutils.c:646:libxl__kill_xs_path: Device Model already exited
>       >       >       >       >       > libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain 3:Non-existant domain
>       >       >       >       >       > libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain 3:Unable to destroy guest
>       >       >       >       >       > libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain 3:Destruction of domain failed
>       >       >       >       >       >
>       >       >       >       >       > Another way is VNC, i could install tigervnc in DOM0 but same i couldn't in guest machine
>       because it
>       >       >       doesn't support
>       >       >       >       >       x11(supports wayland
>       >       >       >       >       > only). I am completely blocked here, Need your support to enable the display up.
>       >       >       >       >       > Any alternative of VNC which could work in both x11 & wayland supported images?
>       >       >       >       >       >
>       >       >       >       >       > Any input on VNC, SDL or any other way to proceed on this? Looking forward to hearing from
>       you.
>       >       >       >       >       >
>       >       >       >       >       > Regards,
>       >       >       >       >       > Vipul Kumar
>       >       >       >       >
>       >       >       >       >
>       >       >       >       >
>       >       >       >
>       >       >       >
>       >       >       >
>       >       >
>       >       >
>       >       >
>       >
>       >
>       >
> 
> 
> 
--8323329-296891064-1669923091=:4039--


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 19:53:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 19:53:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451151.708770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0pcE-0008Qb-1e; Thu, 01 Dec 2022 19:53:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451151.708770; Thu, 01 Dec 2022 19:53:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0pcD-0008QU-V1; Thu, 01 Dec 2022 19:53:01 +0000
Received: by outflank-mailman (input) for mailman id 451151;
 Thu, 01 Dec 2022 19:53:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0pcC-0008QJ-2E; Thu, 01 Dec 2022 19:53:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0pcC-000297-0K; Thu, 01 Dec 2022 19:53:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0pcB-0007Ky-Gn; Thu, 01 Dec 2022 19:52:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0pcB-00012K-GM; Thu, 01 Dec 2022 19:52:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DstJOV7rkthPL5zlfOhe88NYuaOYVxlfcqBbOdXUhN0=; b=uPB+XsAam5SSVdDZliS/5grw1s
	kKCeX7wjDqlt5PoRVRbRGSCVOat+qqygiBcqKtdtbqyikLz6u6eUm+to/LlHS+CqEoIijTLR4F7XM
	7jjEDjC/BI12FFZf3YGXmm/O77/sPFWoMniFuIG9WAMx/Mqkbm1iXursjLUXHdFdGQhA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175010-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175010: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=25b55688e1f20ebb1bb15d0e82079e91cd787e5b
X-Osstest-Versions-That:
    xen=ddcc208ccdd44c688b3265be26237875c16b6258
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 01 Dec 2022 19:52:59 +0000

flight 175010 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175010/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  25b55688e1f20ebb1bb15d0e82079e91cd787e5b
baseline version:
 xen                  ddcc208ccdd44c688b3265be26237875c16b6258

Last test of basis   175006  2022-12-01 11:02:36 Z    0 days
Testing same since   175010  2022-12-01 16:00:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ddcc208ccd..25b55688e1  25b55688e1f20ebb1bb15d0e82079e91cd787e5b -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 20:23:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 20:23:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451160.708780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0q5z-0004go-DT; Thu, 01 Dec 2022 20:23:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451160.708780; Thu, 01 Dec 2022 20:23:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0q5z-0004gh-Al; Thu, 01 Dec 2022 20:23:47 +0000
Received: by outflank-mailman (input) for mailman id 451160;
 Thu, 01 Dec 2022 20:23:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DAsL=37=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p0q5y-0004gL-2Z
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 20:23:46 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d63a9ad-71b6-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 21:23:44 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 92CE0B82025;
 Thu,  1 Dec 2022 20:23:43 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 00BE5C433D6;
 Thu,  1 Dec 2022 20:23:40 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d63a9ad-71b6-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669926222;
	bh=X0scWWcolDJ4nuR6Skd3nMGQgmNfzvu34hahuSjifRg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mIUuianey4xj0Ct5qS0RS6OaSdJpbqj3FpCPY1VVczJSXfm845ZbWIVGCLO2k6qp7
	 etmaWTJYWqEFOrU4u6qAep3y3I9YUHcvRrTr4WY9GCT5Ld87QLN4+jSf1x4f11lQSb
	 KcQZ/zIJalguvzgVQooeHUZ2GDYLtcWOiI6z3Gu4nGgH2tgAfDjue8Dlk0vmUZxV0w
	 kRMhhzZHvmBRjbrK5cEefhl+Fx9QSm8yBSuHGwitCiK2mpiAw2efXuMHv3mEbs6nTe
	 Ceg3X61tVHE/mvsnqKsE7ihkt4QMh5PdIuBbuQ/FHnC31eCV1fdNGXZtSJ5HtROpTO
	 7W2bqp6HZZQxw==
Date: Thu, 1 Dec 2022 12:23:39 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/4] xen/scripts: add cppcheck tool to the xen-analysis.py
 script
In-Reply-To: <A3204E48-FF22-4275-961C-690F57A8AAEE@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212011210120.4039@ubuntu-linux-20-04-desktop>
References: <20221128141006.8719-1-luca.fancellu@arm.com> <20221128141006.8719-3-luca.fancellu@arm.com> <alpine.DEB.2.22.394.2211291607280.4039@ubuntu-linux-20-04-desktop> <CD8C2F1A-B321-4E3D-907C-E6DBB1A5E2CD@arm.com> <alpine.DEB.2.22.394.2211301145132.4039@ubuntu-linux-20-04-desktop>
 <A3204E48-FF22-4275-961C-690F57A8AAEE@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1579453118-1669926222=:4039"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1579453118-1669926222=:4039
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 1 Dec 2022, Luca Fancellu wrote:
> Hi Stefano,
> 
> >>> 
> >>> 
> >>>> +            sm_tool_args="n"
> >>>> +            ;;
> >>>> +        --cppcheck-cmd=*)
> >>>> +            CPPCHECK_TOOL="$(eval echo "${OPTION#*=}")"
> >>>> +            sm_tool_args="y"
> >>>> +            ;;
> >>>> +        --cppcheck-html)
> >>>> +            CPPCHECK_HTML="y"
> >>>> +            sm_tool_args="n"
> >>>> +            ;;
> >>>> +        --cppcheck-plat=*)
> >>>> +            CPPCHECK_PLAT_PATH="$(eval echo "${OPTION#*=}")"
> >>>> +            sm_tool_args="n"
> >>>> +            ;;
> >>>> +        --ignore-path=*)
> >>>> +            IGNORE_PATH_LIST="${IGNORE_PATH_LIST} $(eval echo "${OPTION#*=}")"
> >>>> +            sm_tool_args="n"
> >>>> +            ;;
> >>>> +        --)
> >>>> +            forward_to_cc="y"
> >>>> +            sm_tool_args="n"
> >>>> +            ;;
> >>>> +        *)
> >>>> +            if [ "${sm_tool_args}" = "y" ]; then
> >>>> +                CPPCHECK_TOOL_ARGS="${CPPCHECK_TOOL_ARGS} ${OPTION}"
> >>>> +            else
> >>>> +                echo "Invalid option ${OPTION}"
> >>>> +                exit 1
> >>> 
> >>> It doesn't look like sm_tool_args is really needed? It is only set to
> >>> 'y' in the case of --cppcheck-cmd, and in that case we also set
> >>> CPPCHECK_TOOL. CPPCHECK_TOOL is the variable used below. Am I missing
> >>> something?
> >> 
> >> We use sm_tool_args to fill CPPCHECK_TOOL_ARGS, basically it’s a state machine where
> >> when we find --cppcheck-cmd=<xxx> we expect that every other space separated arguments
> >> passed afterwards are the args for cppcheck, so we append to CPPCHECK_TOOL_ARGS
> >> until we find an argument that is supposed to be only for this script.
> > 
> > That seems a bit unnecessary: if the user wants to pass arguments to
> > cppcheck, the user would do --cppcheck-cmd="cppcheck arg1 arg2" with ""
> > quotes. Doing that should make --cppcheck-cmd="cppcheck arg1 arg2" be
> > seen as a single argument from this script point of view. CPPCHECK_TOOL
> > would end up being set to "cppcheck arg1 arg2" which is what we want
> > anyway? And if we need to distinguish between the cppcheck binary and
> > its argument we could use "cut" to extract "cppcheck", "arg1", and
> > "arg2" from CPPCHECK_TOOL.  Would that work?
> > 
> 
> I gave a try for the quotes, the problem is that we need to have quotes in CC=“...”, so adding
> quotes also to --cppcheck-cmd= which is inside CC=“...” is preventing the Makefile to work,
> I tried escaping etc but I didn’t manage to have it working, so would you agree on keeping it
> like that?

Is the problem coming from the following?

    cppcheck_cc_flags = """--compiler={} --cppcheck-cmd={} {}
 --cppcheck-plat={}/cppcheck-plat --ignore-path=tools/
""".format(xen_cc, settings.cppcheck_binpath, cppcheck_flags,
           settings.tools_dir)

    if settings.cppcheck_html:
        cppcheck_cc_flags = cppcheck_cc_flags + " --cppcheck-html"

    # Generate the extra make argument to pass the cppcheck-cc.sh wrapper as CC
    cppcheck_extra_make_args = "CC=\"{}/cppcheck-cc.sh {} --\"".format(
                                        settings.tools_dir,
                                        cppcheck_cc_flags
                                    ).replace("\n", "")


Wouldn't something like the following solve the issue?

    settings.cppcheck_binpath = settings.cppcheck_binpath + " " + cppcheck_cc_flags

    cppcheck_cc_flags = """--compiler={} --cppcheck-cmd=\"{}\"
 --cppcheck-plat={}/cppcheck-plat --ignore-path=tools/
""".format(xen_cc, settings.cppcheck_binpath, settings.tools_dir)

    if settings.cppcheck_html:
        cppcheck_cc_flags = cppcheck_cc_flags + " --cppcheck-html"

    # Generate the extra make argument to pass the cppcheck-cc.sh wrapper as CC
    cppcheck_extra_make_args = "CC=\"{}/cppcheck-cc.sh {} --\"".format(
                                        settings.tools_dir,
                                        cppcheck_cc_flags
                                    ).replace("\n", "")
--8323329-1579453118-1669926222=:4039--


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 20:25:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 20:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451166.708792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0q84-0005H8-Qv; Thu, 01 Dec 2022 20:25:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451166.708792; Thu, 01 Dec 2022 20:25:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0q84-0005H1-Mf; Thu, 01 Dec 2022 20:25:56 +0000
Received: by outflank-mailman (input) for mailman id 451166;
 Thu, 01 Dec 2022 20:25:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=V/+l=37=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0q82-0005Gv-Vd
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 20:25:55 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20617.outbound.protection.outlook.com
 [2a01:111:f400:7eab::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 591b5515-71b6-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 21:25:53 +0100 (CET)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by SJ0PR12MB6829.namprd12.prod.outlook.com (2603:10b6:a03:47b::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Thu, 1 Dec
 2022 20:25:48 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb%6]) with mapi id 15.20.5857.023; Thu, 1 Dec 2022
 20:25:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 591b5515-71b6-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XPVLpY95BUvr7SH5wYLeeVjGkPJp67KaxBIU9n2Ah+r3WPAzDSu5PCR6eZJpRblChVC6glXVCx6+GaWzhXGwC3ZBwZY33Vb+XT/uJiCyH2j3qAIyk2VQOxcWgoBtrFQkekSFVsED6xvs/Y1PyDi3ftckVF5lebD9WUYcjQdIA0xEzUO3BipPqPKfyyCyf9WPJoCRRKq4zgbbM/QB62D3oN6Lizri2gFqqKN4kf+FFEDcg1cQU/9S1bwzmY9r6YxK487AWsSaa5PzMcrDNjdvNoFtlWL5BJwW8+RFp/oVqlJCkk+hstuCMjNFfA4kzIZYD2fpiFMK12XRFvOwPPSWZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JgrukNMH+r9O8CsJpFXjip/dCeEhoo9aAFpinq4jaws=;
 b=bXWEFDPWn90/3GiWJA4KvTsUHzk/FhGJCriH4eXy+gRIWbeHMu6OnVN8ntx+idoBzDpJ9hTUI/g/4vNQ7+QGHkoLTYYRSj0mmZOlQiJC7IXQ/2OgyjQJigQbULT76dMS+oJfJT2BKp2wZFrLjhu+dgfWpKgSwbC2AQ4Tb4cdMwd5ZQOIOG8iZ3fuJaQVAgzoGejW0M9rA0f/7vFLukERjHxMGk3weqURQMqtw/5GYddKcM8TzV+CN+QGPoBOLIdElgAzpCaMXHG2E7ijO5rzM02S3w3A1LJ/1I9C8Y6xl37nUtji0HBdm+83mHgWB+B64+oKj1OPZy9KyhxIpxw2Lw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JgrukNMH+r9O8CsJpFXjip/dCeEhoo9aAFpinq4jaws=;
 b=21UgHgdBgXZKejlue9l35NCqjCfqJIbaEuTXrGMAnYeWjgOs/ZMBVZjx02+sgDVq8v3a9Dec8vJ44Q5+vvhR8Mxexa+VrYKYKeAMFYM4di6pJLLoPZNVrb4K2nqrt4/24NmcMVTBrHBSLJgaGigYJE0fMIio1n+YSwBAATqFDZo=
Content-Type: multipart/mixed;
	boundary="_000_MW3PR12MB4409A8F7F10289C5ADD4E4F09F149MW3PR12MB4409namp_"
From: "Garhwal, Vikram" <vikram.garhwal@amd.com>
To: Paul Durrant <xadimgnik@gmail.com>, "qemu-devel@nongnu.org"
	<qemu-devel@nongnu.org>
CC: "Stabellini, Stefano" <stefano.stabellini@amd.com>, "Michael S. Tsirkin"
	<mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo
 Bonzini <pbonzini@redhat.com>, Richard Henderson
	<richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 02/12] hw/i386/xen/: move xen-mapcache.c to hw/xen/
Thread-Topic: [PATCH v1 02/12] hw/i386/xen/: move xen-mapcache.c to hw/xen/
Thread-Index: AQHY4FQylV3vdT7ngEmf8YcSO4sRc64V1JMAgEPwSro=
Date: Thu, 1 Dec 2022 20:25:48 +0000
Message-ID:
 <MW3PR12MB4409A8F7F10289C5ADD4E4F09F149@MW3PR12MB4409.namprd12.prod.outlook.com>
References: <20221015050750.4185-1-vikram.garhwal@amd.com>
 <20221015050750.4185-3-vikram.garhwal@amd.com>
 <f12d712c-dc47-7778-8cf5-cfd621fdb9ad@xen.org>
In-Reply-To: <f12d712c-dc47-7778-8cf5-cfd621fdb9ad@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
 <MW3PR12MB4409A8F7F10289C5ADD4E4F09F149@MW3PR12MB4409.namprd12.prod.outlook.com>
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: MW3PR12MB4409:EE_|SJ0PR12MB6829:EE_
x-ms-office365-filtering-correlation-id: 745c49be-e6f5-4da5-d979-08dad3da3bd2
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 X9Q8K1eCb/K5RTvIt9bvj4iUh+cR4ZLmqJThJOlZBgeMNCZis3oOyJfJhX1jab1V76FeOYMSGM3SoGEVk1iee6Wxb7onZVDJlsDNHR7D7bjSU1mEcdxdqPxELpuk1kqIHhFtxlt6MjkYRXb5fIlJdWvYTd/T8Ba/Y6w9VN/2tK+kNweMQ2p3sqoEvngBO3qJ+Piq9yLKExNodhC/dZTBp9pw+QP+piirzKoWD/0uxU4uhoMPagf2QBnJV4Sq5IxKvL1yjUz/JJJ8+yoKjg4QN+1QDYc0rnRlBSZVEJanBKsoYznQUvgWItmcrsVIn3zngTwfFlWDJtGT9TEkWfeZG+hByd/xeyY/0/dumRxahvv30apab8i0kJde3JmHS5Xv5OEBJagJNsTsNxnaPXAJTHQpBe+D7us+gvUJ8L0xRzE8RVgn5Rdu+jNSSw0UsfGIWkJ8aX+r/MFscpHZ9YVV6OQO4tvIChDoahEk+8J/fEnXz53AeD5IFCgrU0sHsG5KWoVCZ0eQBGfweZsXAEkgBxI5WI5Ltbn2XLkT8Xh+lFtbSYgmzlJqMoD3BG+kxSjdPk+0IYDILV2mOoEc3eZxSG7+Mx45bk+Ao97TsYLj3zb09NiSiXSJlbCWjRPOfutODzhcd2dRCNYvpKQAkEdU3Ai0DoyMRDYFFoqY7BT+aCGhmYiPklgxlD11nAiDOQZ+v0GtBHIyILAa7nx1AgsCaA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(136003)(346002)(376002)(396003)(451199015)(83380400001)(122000001)(38070700005)(71200400001)(110136005)(4326008)(86362001)(2906002)(41300700001)(7416002)(54906003)(9326002)(26005)(55016003)(52536014)(5660300002)(53546011)(9686003)(6506007)(7696005)(186003)(66946007)(8676002)(64756008)(91956017)(76116006)(66446008)(38100700002)(478600001)(66556008)(66476007)(316002)(8936002)(33656002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?Windows-1252?Q?HXlburL48qbLSexkfuJFVoPWP9gE4mRZHbQptTYBam023zIKdA4sbUj4?=
 =?Windows-1252?Q?kTUbHELoYnQqBztIaQ+NiUdv5/MkyAdLE+VYIbQr73U/Hm97DgTgMJ45?=
 =?Windows-1252?Q?hC4NZihtq5kdGGdRH5HQUXlZmVLcaz6tEYEYpn19dhU9CZTXCD1TMInf?=
 =?Windows-1252?Q?+Y6rxrZmzXJbRnqvShs5ucpT96ZCkXZ/1883Sh78sbqj55Pifadyouba?=
 =?Windows-1252?Q?EvzXKq1vE02mSnjU4I8dkVxA8Q0FCcIHs79LpE9Mc/XBQrtcO621liEt?=
 =?Windows-1252?Q?HKYvGAX5cTTXwoZOJskTZD76Zl2Q+IJLPqzhYICkSceF0RhfcHD0Cryu?=
 =?Windows-1252?Q?lfQcUlj3DLqat+3Za57jeQpOSB1GGxV71DzC7NUd90QSfxwAbY5oNbgg?=
 =?Windows-1252?Q?rItlrryLB5Rc8MmumD+W/g7akoGa9MJlTZf37iC3k6IWFVkPsqUScZJS?=
 =?Windows-1252?Q?NX9+eYVjKDtJGlucnevJUVXum7cecfXTG5YE1VoZR0w1k3lX+MBFsFRi?=
 =?Windows-1252?Q?NFvIfn8kQan4uiI/f6NT826SKdNdGikRxX9uOk6/bOhse5hYo9Y5z+Q5?=
 =?Windows-1252?Q?UjRHBiWMGsfWhV+7qFTqXOgR7SRc4/EDo4t3logux/AG/tOje5PEueKH?=
 =?Windows-1252?Q?/DyMbyTLsXbP2Dg+FAhjMDedIrlSnMEE/vmZ+4ojtI3vh3YbWBSr57IR?=
 =?Windows-1252?Q?MVNkgyIOz2/inYQxeT+DtcgtjpuBZdZa9rOeWvBpOkgR/pcS7EC+VP52?=
 =?Windows-1252?Q?cQqht70tdX/M2WP1ufxzVOPy3Dz52n6S1bVZrQkcegiuK8FBnfdOlDPd?=
 =?Windows-1252?Q?V8APeftaChaXz0ZLAAMdb+r8Xb0Jah/v/eAB8/b4hKP/MoX2ruRcUrY7?=
 =?Windows-1252?Q?1ObemDtOPYLSGEVM4dJ3zRZ2Id1uetCE2x7iO9zYjbzxF77yhQNlHnQ7?=
 =?Windows-1252?Q?FQFnyhspn0iP4LGCpX/I40+Zyt8OLyr6aTYl5upvZL8S5bgX0Av3asu4?=
 =?Windows-1252?Q?Vm5blDK7P4J9VoToXV60yqpUGH697MXW/Uhw086iT0vqBJdB4sVhs+3E?=
 =?Windows-1252?Q?4S6soh1/nZRzJz7Jt7LggLKCCb+d0s4l4nkqiSwfL30iIWumAt0NPqch?=
 =?Windows-1252?Q?7yM7G8FJ955dyJ/mg60gwCc6XsHECUgG/ypLxu0Hc9YuWDvdiV/8QoPW?=
 =?Windows-1252?Q?uhK5SFF4WxmeGcugMMHHGoAixINYjCbBRPQ4dA3+WsZRgLmXluyaZWFS?=
 =?Windows-1252?Q?9Zstv5bp52jzBFzspO7uTmUApebLrN1KcK35Zl58y6oC58zCdCl9czYX?=
 =?Windows-1252?Q?roorOHEsG31hDeZluZYGmuBhKoLuVxzZwyWNumVkFVifyPsBV2bkD4qc?=
 =?Windows-1252?Q?mOpSKnnfNSPeSK1rR0HEjzsbvTr2j0u8cZYQ/9GfV4pFNqPHXetXSxou?=
 =?Windows-1252?Q?IgGqtPXOD8KvUJxZODf4VOShqLSPc1qeH57Rz30/7ivdxsWdnXTrPxPg?=
 =?Windows-1252?Q?hxjbknr4ISyme1NubkVqjGH3l7TG/ZlNmggmoXTJPZvFaUHbirtLOiUv?=
 =?Windows-1252?Q?l1VQAlqfcGmPFWfN/nAUI2IgfsbGR6C4IxWs7y/+9Vu8yZSi+yeZJ+DQ?=
 =?Windows-1252?Q?pEwErno72p2IZzeLeFXJV/mYcB/b5FTJ423gIQB1bNSAPIzoWuPTNq+w?=
 =?Windows-1252?Q?+f2VZHelQT3D8XP4fy3S2S4w7tk5AzTFK5D7i58GdSFO0TCaVBKgBg?=
 =?Windows-1252?Q?=3D=3D?=
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 745c49be-e6f5-4da5-d979-08dad3da3bd2
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 20:25:48.5726
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: SQ9EKDrsw/ftWU4KAtlcP50OV2y3Tw6JrxL4ELz7gf7AMG6IBuuWe0ra1o3pMf8kOisOgJEy30Omt1YsTN+WLg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6829

--_000_MW3PR12MB4409A8F7F10289C5ADD4E4F09F149MW3PR12MB4409namp_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Hi Paul,

From: Paul Durrant <xadimgnik@gmail.com>
Date: Wednesday, October 19, 2022 at 7:54 AM
To: Garhwal, Vikram <vikram.garhwal@amd.com>, qemu-devel@nongnu.org <qemu-d=
evel@nongnu.org>
Cc: Stabellini, Stefano <stefano.stabellini@amd.com>, Michael S. Tsirkin <m=
st@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo Bonzin=
i <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, =
Eduardo Habkost <eduardo@habkost.net>, Stefano Stabellini <sstabellini@kern=
el.org>, Anthony Perard <anthony.perard@citrix.com>, open list:X86 Xen CPUs=
 <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 02/12] hw/i386/xen/: move xen-mapcache.c to hw/xen/
On 15/10/2022 06:07, Vikram Garhwal wrote:
> xen-mapcache.c contains common functions which can be used for enabling X=
en on
> aarch64 with IOREQ handling. Moving it out from hw/i386/xen to hw/xen to =
make it
> accessible for both aarch64 and x86.
>
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
>   hw/i386/meson.build              | 1 +
>   hw/i386/xen/meson.build          | 1 -
>   hw/i386/xen/trace-events         | 5 -----
>   hw/xen/meson.build               | 4 ++++
>   hw/xen/trace-events              | 5 +++++
>   hw/{i386 =3D> }/xen/xen-mapcache.c | 0
>   6 files changed, 10 insertions(+), 6 deletions(-)
>   rename hw/{i386 =3D> }/xen/xen-mapcache.c (100%)
>
> diff --git a/hw/i386/meson.build b/hw/i386/meson.build
> index 213e2e82b3..cfdbfdcbcb 100644
> --- a/hw/i386/meson.build
> +++ b/hw/i386/meson.build
> @@ -33,5 +33,6 @@ subdir('kvm')
>   subdir('xen')
>
>   i386_ss.add_all(xenpv_ss)
> +i386_ss.add_all(xen_ss)
>
>   hw_arch +=3D {'i386': i386_ss}
> diff --git a/hw/i386/xen/meson.build b/hw/i386/xen/meson.build
> index be84130300..2fcc46e6ca 100644
> --- a/hw/i386/xen/meson.build
> +++ b/hw/i386/xen/meson.build
> @@ -1,6 +1,5 @@
>   i386_ss.add(when: 'CONFIG_XEN', if_true: files(
>     'xen-hvm.c',
> -  'xen-mapcache.c',
>     'xen_apic.c',
>     'xen_platform.c',
>     'xen_pvdevice.c',
> diff --git a/hw/i386/xen/trace-events b/hw/i386/xen/trace-events
> index 5d6be61090..a0c89d91c4 100644
> --- a/hw/i386/xen/trace-events
> +++ b/hw/i386/xen/trace-events
> @@ -21,8 +21,3 @@ xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u=
 addr: %p"
>   cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t =
size, uint32_t data) "I/O=3D%p sbdf=3D0x%x reg=3D%u size=3D%u data=3D0x%x"
>   cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t=
 size, uint32_t data) "I/O=3D%p sbdf=3D0x%x reg=3D%u size=3D%u data=3D0x%x"
>
> -# xen-mapcache.c
> -xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64
> -xen_remap_bucket(uint64_t index) "index 0x%"PRIx64
> -xen_map_cache_return(void* ptr) "%p"
> -
> diff --git a/hw/xen/meson.build b/hw/xen/meson.build
> index ae0ace3046..19d0637c46 100644
> --- a/hw/xen/meson.build
> +++ b/hw/xen/meson.build
> @@ -22,3 +22,7 @@ else
>   endif
>
>   specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss=
)
> +
> +xen_ss =3D ss.source_set()
> +
> +xen_ss.add(when: 'CONFIG_XEN', if_true: files('xen-mapcache.c'))

Curious as to why you couldn't just add this to the softmmu_ss list above?
Moving it to softmmu_ss breaks the build as it builds without XEN_CONFIG. I=
 think xen option in =93softmmu_ss.add(when: ['CONFIG_XEN', xen], if_true: =
files=94 is problem here.  I see below error:
/sysemu/xen-mapcache.h:16:8: error: attempt to use poisoned "CONFIG_XEN"
#ifdef CONFIG_XEN
        ^
../hw/xen/xen-mapcache.c:106:6: error: redefinition of 'xen_map_cache_init'
void xen_map_cache_init(phys_offset_to_gaddr_t f, void *opaque)


   Paul

> diff --git a/hw/xen/trace-events b/hw/xen/trace-events
> index 3da3fd8348..2c8f238f42 100644
> --- a/hw/xen/trace-events
> +++ b/hw/xen/trace-events
> @@ -41,3 +41,8 @@ xs_node_vprintf(char *path, char *value) "%s %s"
>   xs_node_vscanf(char *path, char *value) "%s %s"
>   xs_node_watch(char *path) "%s"
>   xs_node_unwatch(char *path) "%s"
> +
> +# xen-mapcache.c
> +xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64
> +xen_remap_bucket(uint64_t index) "index 0x%"PRIx64
> +xen_map_cache_return(void* ptr) "%p"
> diff --git a/hw/i386/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
> similarity index 100%
> rename from hw/i386/xen/xen-mapcache.c
> rename to hw/xen/xen-mapcache.c

--_000_MW3PR12MB4409A8F7F10289C5ADD4E4F09F149MW3PR12MB4409namp_
Content-Disposition: attachment; filename="winmail.dat"
Content-Transfer-Encoding: base64
Content-Type: application/ms-tnef; name="winmail.dat"

eJ8+Ii5mAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEJgAEAIQAAAEE3NDlCQTY3
MzFBNUE2NDc4NjkzMUQxREVDRjBEMjUxAC8HAQ2ABAACAAAAAgACAAEFgAMADgAAAOYHDAABABQA
GQAwAAQAWwEBIIADAA4AAADmBwwAAQAUABkAMAAEAFsBAQiABwAYAAAASVBNLk1pY3Jvc29mdCBN
YWlsLk5vdGUAMQgBBIABAEIAAABSZTogW1BBVENIIHYxIDAyLzEyXSBody9pMzg2L3hlbi86IG1v
dmUgeGVuLW1hcGNhY2hlLmMgdG8gaHcveGVuLwAMFAEDkAYABFQAAGEAAAACAX8AAQAAAFEAAAA8
TVczUFIxMk1CNDQwOUE4RjdGMTAyODlDNUFERDRFNEYwOUYxNDlATVczUFIxMk1CNDQwOS5uYW1w
cmQxMi5wcm9kLm91dGxvb2suY29tPgAAAAACARMQAQAAAAggAAA8aHRtbCB4bWxuczpvPSJ1cm46
c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpvZmZpY2UiIHhtbG5zOnc9InVybjpzY2hlbWFz
LW1pY3Jvc29mdC1jb206b2ZmaWNlOndvcmQiIHhtbG5zOm09Imh0dHA6Ly9zY2hlbWFzLm1pY3Jv
c29mdC5jb20vb2ZmaWNlLzIwMDQvMTIvb21tbCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnL1RS
L1JFQy1odG1sNDAiPjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250
ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9V2luZG93cy0xMjUyIj48bWV0YSBuYW1lPSJHZW5lcmF0
b3IiIGNvbnRlbnQ9Ik1pY3Jvc29mdCBXb3JkIDE1IChmaWx0ZXJlZCBtZWRpdW0pIj48c3R5bGU+
PCEtLQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToi
Q2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0O30NCkBmb250LWZh
Y2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUgMiAyIDIgNCAzIDIg
NDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwg
ZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGluOw0KCWZvbnQtc2l6ZToxMC4wcHQ7DQoJZm9udC1m
YW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7fQ0Kc3Bhbi5FbWFpbFN0eWxlMTkNCgl7bXNvLXN0
eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2Vy
aWY7DQoJY29sb3I6d2luZG93dGV4dDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlw
ZTpleHBvcnQtb25seTsNCglmb250LXNpemU6MTAuMHB0O30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0K
CXtzaXplOjguNWluIDExLjBpbjsNCgltYXJnaW46MS4waW4gMS4waW4gMS4waW4gMS4waW47fQ0K
ZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQotLT48L3N0eWxlPjwvaGVh
ZD48Ym9keSBsYW5nPSJFTi1VUyIgbGluaz0iIzA1NjNDMSIgdmxpbms9IiM5NTRGNzIiIHN0eWxl
PSJ3b3JkLXdyYXA6YnJlYWstd29yZCI+PGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj48cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+SGkgUGF1bCw8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD48ZGl2IHN0eWxlPSJib3Jk
ZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNCNUM0REYgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4g
MGluIDBpbiI+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDow
aW47bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOjEyLjBwdDttYXJnaW4tbGVmdDouNWlu
Ij48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDtjb2xvcjpibGFjayI+RnJvbTogPC9z
cGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDtjb2xvcjpibGFjayI+UGF1bCBE
dXJyYW50ICZsdDt4YWRpbWduaWtAZ21haWwuY29tJmd0Ozxicj48Yj5EYXRlOiA8L2I+V2VkbmVz
ZGF5LCBPY3RvYmVyIDE5LCAyMDIyIGF0IDc6NTQgQU08YnI+PGI+VG86IDwvYj5HYXJod2FsLCBW
aWtyYW0gJmx0O3Zpa3JhbS5nYXJod2FsQGFtZC5jb20mZ3Q7LCBxZW11LWRldmVsQG5vbmdudS5v
cmcgJmx0O3FlbXUtZGV2ZWxAbm9uZ251Lm9yZyZndDs8YnI+PGI+Q2M6IDwvYj5TdGFiZWxsaW5p
LCBTdGVmYW5vICZsdDtzdGVmYW5vLnN0YWJlbGxpbmlAYW1kLmNvbSZndDssIE1pY2hhZWwgUy4g
VHNpcmtpbiAmbHQ7bXN0QHJlZGhhdC5jb20mZ3Q7LCBNYXJjZWwgQXBmZWxiYXVtICZsdDttYXJj
ZWwuYXBmZWxiYXVtQGdtYWlsLmNvbSZndDssIFBhb2xvIEJvbnppbmkgJmx0O3Bib256aW5pQHJl
ZGhhdC5jb20mZ3Q7LCBSaWNoYXJkIEhlbmRlcnNvbiAmbHQ7cmljaGFyZC5oZW5kZXJzb25AbGlu
YXJvLm9yZyZndDssIEVkdWFyZG8gSGFia29zdCAmbHQ7ZWR1YXJkb0BoYWJrb3N0Lm5ldCZndDss
IFN0ZWZhbm8gU3RhYmVsbGluaSAmbHQ7c3N0YWJlbGxpbmlAa2VybmVsLm9yZyZndDssIEFudGhv
bnkgUGVyYXJkICZsdDthbnRob255LnBlcmFyZEBjaXRyaXguY29tJmd0Oywgb3BlbiBsaXN0Olg4
NiBYZW4gQ1BVcyAmbHQ7eGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnJmd0Ozxicj48Yj5T
dWJqZWN0OiA8L2I+UmU6IFtQQVRDSCB2MSAwMi8xMl0gaHcvaTM4Ni94ZW4vOiBtb3ZlIHhlbi1t
YXBjYWNoZS5jIHRvIGh3L3hlbi88bzpwPjwvbzpwPjwvc3Bhbj48L3A+PC9kaXY+PGRpdj48cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OjBpbjttYXJnaW4tcmln
aHQ6MGluO21hcmdpbi1ib3R0b206MTIuMHB0O21hcmdpbi1sZWZ0Oi41aW4iPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0Ij5PbiAxNS8xMC8yMDIyIDA2OjA3LCBWaWtyYW0gR2FyaHdhbCB3
cm90ZTo8YnI+Jmd0OyB4ZW4tbWFwY2FjaGUuYyBjb250YWlucyBjb21tb24gZnVuY3Rpb25zIHdo
aWNoIGNhbiBiZSB1c2VkIGZvciBlbmFibGluZyBYZW4gb248YnI+Jmd0OyBhYXJjaDY0IHdpdGgg
SU9SRVEgaGFuZGxpbmcuIE1vdmluZyBpdCBvdXQgZnJvbSBody9pMzg2L3hlbiB0byBody94ZW4g
dG8gbWFrZSBpdDxicj4mZ3Q7IGFjY2Vzc2libGUgZm9yIGJvdGggYWFyY2g2NCBhbmQgeDg2Ljxi
cj4mZ3Q7IDxicj4mZ3Q7IFNpZ25lZC1vZmYtYnk6IFZpa3JhbSBHYXJod2FsICZsdDt2aWtyYW0u
Z2FyaHdhbEBhbWQuY29tJmd0Ozxicj4mZ3Q7IFNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gU3RhYmVs
bGluaSAmbHQ7c3RlZmFuby5zdGFiZWxsaW5pQGFtZC5jb20mZ3Q7PGJyPiZndDsgLS0tPGJyPiZn
dDsmbmJzcDsmbmJzcDsgaHcvaTM4Ni9tZXNvbi5idWlsZCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8
IDEgKzxicj4mZ3Q7Jm5ic3A7Jm5ic3A7IGh3L2kzODYveGVuL21lc29uLmJ1aWxkJm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwgMSAtPGJyPiZn
dDsmbmJzcDsmbmJzcDsgaHcvaTM4Ni94ZW4vdHJhY2UtZXZlbnRzJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwgNSAtLS0tLTxicj4mZ3Q7Jm5ic3A7Jm5i
c3A7IGh3L3hlbi9tZXNvbi5idWlsZCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8IDQgKysr
Kzxicj4mZ3Q7Jm5ic3A7Jm5ic3A7IGh3L3hlbi90cmFjZS1ldmVudHMmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsgfCA1ICsrKysrPGJyPiZndDsmbmJzcDsmbmJzcDsgaHcve2kzODYgPSZndDsgfS94ZW4v
eGVuLW1hcGNhY2hlLmMgfCAwPGJyPiZndDsmbmJzcDsmbmJzcDsgNiBmaWxlcyBjaGFuZ2VkLCAx
MCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKTxicj4mZ3Q7Jm5ic3A7Jm5ic3A7IHJlbmFt
ZSBody97aTM4NiA9Jmd0OyB9L3hlbi94ZW4tbWFwY2FjaGUuYyAoMTAwJSk8YnI+Jmd0OyA8YnI+
Jmd0OyBkaWZmIC0tZ2l0IGEvaHcvaTM4Ni9tZXNvbi5idWlsZCBiL2h3L2kzODYvbWVzb24uYnVp
bGQ8YnI+Jmd0OyBpbmRleCAyMTNlMmU4MmIzLi5jZmRiZmRjYmNiIDEwMDY0NDxicj4mZ3Q7IC0t
LSBhL2h3L2kzODYvbWVzb24uYnVpbGQ8YnI+Jmd0OyArKysgYi9ody9pMzg2L21lc29uLmJ1aWxk
PGJyPiZndDsgQEAgLTMzLDUgKzMzLDYgQEAgc3ViZGlyKCdrdm0nKTxicj4mZ3Q7Jm5ic3A7Jm5i
c3A7IHN1YmRpcigneGVuJyk8YnI+Jmd0OyZuYnNwOyZuYnNwOyA8YnI+Jmd0OyZuYnNwOyZuYnNw
OyBpMzg2X3NzLmFkZF9hbGwoeGVucHZfc3MpPGJyPiZndDsgK2kzODZfc3MuYWRkX2FsbCh4ZW5f
c3MpPGJyPiZndDsmbmJzcDsmbmJzcDsgPGJyPiZndDsmbmJzcDsmbmJzcDsgaHdfYXJjaCArPSB7
J2kzODYnOiBpMzg2X3NzfTxicj4mZ3Q7IGRpZmYgLS1naXQgYS9ody9pMzg2L3hlbi9tZXNvbi5i
dWlsZCBiL2h3L2kzODYveGVuL21lc29uLmJ1aWxkPGJyPiZndDsgaW5kZXggYmU4NDEzMDMwMC4u
MmZjYzQ2ZTZjYSAxMDA2NDQ8YnI+Jmd0OyAtLS0gYS9ody9pMzg2L3hlbi9tZXNvbi5idWlsZDxi
cj4mZ3Q7ICsrKyBiL2h3L2kzODYveGVuL21lc29uLmJ1aWxkPGJyPiZndDsgQEAgLTEsNiArMSw1
IEBAPGJyPiZndDsmbmJzcDsmbmJzcDsgaTM4Nl9zcy5hZGQod2hlbjogJ0NPTkZJR19YRU4nLCBp
Zl90cnVlOiBmaWxlcyg8YnI+Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAneGVuLWh2bS5j
Jyw8YnI+Jmd0OyAtJm5ic3A7ICd4ZW4tbWFwY2FjaGUuYycsPGJyPiZndDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgJ3hlbl9hcGljLmMnLDxicj4mZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
ICd4ZW5fcGxhdGZvcm0uYycsPGJyPiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJ3hlbl9w
dmRldmljZS5jJyw8YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvaHcvaTM4Ni94ZW4vdHJhY2UtZXZlbnRz
IGIvaHcvaTM4Ni94ZW4vdHJhY2UtZXZlbnRzPGJyPiZndDsgaW5kZXggNWQ2YmU2MTA5MC4uYTBj
ODlkOTFjNCAxMDA2NDQ8YnI+Jmd0OyAtLS0gYS9ody9pMzg2L3hlbi90cmFjZS1ldmVudHM8YnI+
Jmd0OyArKysgYi9ody9pMzg2L3hlbi90cmFjZS1ldmVudHM8YnI+Jmd0OyBAQCAtMjEsOCArMjEs
MyBAQCB4ZW5fbWFwX3Jlc291cmNlX2lvcmVxKHVpbnQzMl90IGlkLCB2b2lkICphZGRyKSAmcXVv
dDtpZDogJXUgYWRkcjogJXAmcXVvdDs8YnI+Jmd0OyZuYnNwOyZuYnNwOyBjcHVfaW9yZXFfY29u
ZmlnX3JlYWQodm9pZCAqcmVxLCB1aW50MzJfdCBzYmRmLCB1aW50MzJfdCByZWcsIHVpbnQzMl90
IHNpemUsIHVpbnQzMl90IGRhdGEpICZxdW90O0kvTz0lcCBzYmRmPTB4JXggcmVnPSV1IHNpemU9
JXUgZGF0YT0weCV4JnF1b3Q7PGJyPiZndDsmbmJzcDsmbmJzcDsgY3B1X2lvcmVxX2NvbmZpZ193
cml0ZSh2b2lkICpyZXEsIHVpbnQzMl90IHNiZGYsIHVpbnQzMl90IHJlZywgdWludDMyX3Qgc2l6
ZSwgdWludDMyX3QgZGF0YSkgJnF1b3Q7SS9PPSVwIHNiZGY9MHgleCByZWc9JXUgc2l6ZT0ldSBk
YXRhPTB4JXgmcXVvdDs8YnI+Jmd0OyZuYnNwOyZuYnNwOyA8YnI+Jmd0OyAtIyB4ZW4tbWFwY2Fj
aGUuYzxicj4mZ3Q7IC14ZW5fbWFwX2NhY2hlKHVpbnQ2NF90IHBoeXNfYWRkcikgJnF1b3Q7d2Fu
dCAweCUmcXVvdDtQUkl4NjQ8YnI+Jmd0OyAteGVuX3JlbWFwX2J1Y2tldCh1aW50NjRfdCBpbmRl
eCkgJnF1b3Q7aW5kZXggMHglJnF1b3Q7UFJJeDY0PGJyPiZndDsgLXhlbl9tYXBfY2FjaGVfcmV0
dXJuKHZvaWQqIHB0cikgJnF1b3Q7JXAmcXVvdDs8YnI+Jmd0OyAtPGJyPiZndDsgZGlmZiAtLWdp
dCBhL2h3L3hlbi9tZXNvbi5idWlsZCBiL2h3L3hlbi9tZXNvbi5idWlsZDxicj4mZ3Q7IGluZGV4
IGFlMGFjZTMwNDYuLjE5ZDA2MzdjNDYgMTAwNjQ0PGJyPiZndDsgLS0tIGEvaHcveGVuL21lc29u
LmJ1aWxkPGJyPiZndDsgKysrIGIvaHcveGVuL21lc29uLmJ1aWxkPGJyPiZndDsgQEAgLTIyLDMg
KzIyLDcgQEAgZWxzZTxicj4mZ3Q7Jm5ic3A7Jm5ic3A7IGVuZGlmPGJyPiZndDsmbmJzcDsmbmJz
cDsgPGJyPiZndDsmbmJzcDsmbmJzcDsgc3BlY2lmaWNfc3MuYWRkX2FsbCh3aGVuOiBbJ0NPTkZJ
R19YRU4nLCB4ZW5dLCBpZl90cnVlOiB4ZW5fc3BlY2lmaWNfc3MpPGJyPiZndDsgKzxicj4mZ3Q7
ICt4ZW5fc3MgPSBzcy5zb3VyY2Vfc2V0KCk8YnI+Jmd0OyArPGJyPiZndDsgK3hlbl9zcy5hZGQo
d2hlbjogJ0NPTkZJR19YRU4nLCBpZl90cnVlOiBmaWxlcygneGVuLW1hcGNhY2hlLmMnKSk8YnI+
PGJyPkN1cmlvdXMgYXMgdG8gd2h5IHlvdSBjb3VsZG4ndCBqdXN0IGFkZCB0aGlzIHRvIHRoZSBz
b2Z0bW11X3NzIGxpc3QgYWJvdmU/PG86cD48L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQiPk1vdmluZyBpdCB0byBzb2Z0bW11X3NzIGJyZWFrcyB0aGUgYnVpbGQgYXMgaXQg
YnVpbGRzIHdpdGhvdXQgWEVOX0NPTkZJRy4gSSB0aGluayB4ZW4gb3B0aW9uIGluIJNzb2Z0bW11
X3NzLmFkZCh3aGVuOiBbJ0NPTkZJR19YRU4nLCB4ZW5dLCBpZl90cnVlOiBmaWxlc5QgaXMgcHJv
YmxlbSBoZXJlLiAmbmJzcDtJIHNlZSBiZWxvdyBlcnJvcjo8YnI+L3N5c2VtdS94ZW4tbWFwY2Fj
aGUuaDoxNjo4OiBlcnJvcjogYXR0ZW1wdCB0byB1c2UgcG9pc29uZWQgJnF1b3Q7Q09ORklHX1hF
TiZxdW90OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bWFyZ2luLWJvdHRvbToxMi4wcHQiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4gI2lm
ZGVmIENPTkZJR19YRU48bzpwPjwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1hcmdpbi1ib3R0b206MTIuMHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IF48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1ib3R0b206MTIu
MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Li4vaHcveGVuL3hlbi1tYXBjYWNo
ZS5jOjEwNjo2OiBlcnJvcjogcmVkZWZpbml0aW9uIG9mICd4ZW5fbWFwX2NhY2hlX2luaXQnPG86
cD48L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tYm90
dG9tOjEyLjBwdCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiB2b2lkIHhlbl9tYXBf
Y2FjaGVfaW5pdChwaHlzX29mZnNldF90b19nYWRkcl90IGYsIHZvaWQgKm9wYXF1ZSk8bzpwPjwv
bzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDowaW47bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOjEyLjBwdDttYXJnaW4tbGVm
dDouNWluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PGJyPjxicj4mbmJzcDsmbmJz
cDsgUGF1bDxicj48YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvaHcveGVuL3RyYWNlLWV2ZW50cyBiL2h3
L3hlbi90cmFjZS1ldmVudHM8YnI+Jmd0OyBpbmRleCAzZGEzZmQ4MzQ4Li4yYzhmMjM4ZjQyIDEw
MDY0NDxicj4mZ3Q7IC0tLSBhL2h3L3hlbi90cmFjZS1ldmVudHM8YnI+Jmd0OyArKysgYi9ody94
ZW4vdHJhY2UtZXZlbnRzPGJyPiZndDsgQEAgLTQxLDMgKzQxLDggQEAgeHNfbm9kZV92cHJpbnRm
KGNoYXIgKnBhdGgsIGNoYXIgKnZhbHVlKSAmcXVvdDslcyAlcyZxdW90Ozxicj4mZ3Q7Jm5ic3A7
Jm5ic3A7IHhzX25vZGVfdnNjYW5mKGNoYXIgKnBhdGgsIGNoYXIgKnZhbHVlKSAmcXVvdDslcyAl
cyZxdW90Ozxicj4mZ3Q7Jm5ic3A7Jm5ic3A7IHhzX25vZGVfd2F0Y2goY2hhciAqcGF0aCkgJnF1
b3Q7JXMmcXVvdDs8YnI+Jmd0OyZuYnNwOyZuYnNwOyB4c19ub2RlX3Vud2F0Y2goY2hhciAqcGF0
aCkgJnF1b3Q7JXMmcXVvdDs8YnI+Jmd0OyArPGJyPiZndDsgKyMgeGVuLW1hcGNhY2hlLmM8YnI+
Jmd0OyAreGVuX21hcF9jYWNoZSh1aW50NjRfdCBwaHlzX2FkZHIpICZxdW90O3dhbnQgMHglJnF1
b3Q7UFJJeDY0PGJyPiZndDsgK3hlbl9yZW1hcF9idWNrZXQodWludDY0X3QgaW5kZXgpICZxdW90
O2luZGV4IDB4JSZxdW90O1BSSXg2NDxicj4mZ3Q7ICt4ZW5fbWFwX2NhY2hlX3JldHVybih2b2lk
KiBwdHIpICZxdW90OyVwJnF1b3Q7PGJyPiZndDsgZGlmZiAtLWdpdCBhL2h3L2kzODYveGVuL3hl
bi1tYXBjYWNoZS5jIGIvaHcveGVuL3hlbi1tYXBjYWNoZS5jPGJyPiZndDsgc2ltaWxhcml0eSBp
bmRleCAxMDAlPGJyPiZndDsgcmVuYW1lIGZyb20gaHcvaTM4Ni94ZW4veGVuLW1hcGNhY2hlLmM8
YnI+Jmd0OyByZW5hbWUgdG8gaHcveGVuL3hlbi1tYXBjYWNoZS5jPG86cD48L286cD48L3NwYW4+
PC9wPjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+HwBCAAEAAAAgAAAARwBhAHIAaAB3AGEAbAAs
ACAAVgBpAGsAcgBhAG0AAAAfAGUAAQAAAC4AAAB2AGkAawByAGEAbQAuAGcAYQByAGgAdwBhAGwA
QABhAG0AZAAuAGMAbwBtAAAAAAAfAGQAAQAAAAoAAABTAE0AVABQAAAAAAACAUEAAQAAAHAAAAAA
AAAAgSsfpL6jEBmdbgDdAQ9UAgAAAIBHAGEAcgBoAHcAYQBsACwAIABWAGkAawByAGEAbQAAAFMA
TQBUAFAAAAB2AGkAawByAGEAbQAuAGcAYQByAGgAdwBhAGwAQABhAG0AZAAuAGMAbwBtAAAAHwAC
XQEAAAAuAAAAdgBpAGsAcgBhAG0ALgBnAGEAcgBoAHcAYQBsAEAAYQBtAGQALgBjAG8AbQAAAAAA
HwDlXwEAAAA2AAAAcwBpAHAAOgB2AGkAawByAGEAbQAuAGcAYQByAGgAdwBhAGwAQABhAG0AZAAu
AGMAbwBtAAAAAAAfABoMAQAAACAAAABHAGEAcgBoAHcAYQBsACwAIABWAGkAawByAGEAbQAAAB8A
HwwBAAAALgAAAHYAaQBrAHIAYQBtAC4AZwBhAHIAaAB3AGEAbABAAGEAbQBkAC4AYwBvAG0AAAAA
AB8AHgwBAAAACgAAAFMATQBUAFAAAAAAAAIBGQwBAAAAcAAAAAAAAACBKx+kvqMQGZ1uAN0BD1QC
AAAAgEcAYQByAGgAdwBhAGwALAAgAFYAaQBrAHIAYQBtAAAAUwBNAFQAUAAAAHYAaQBrAHIAYQBt
AC4AZwBhAHIAaAB3AGEAbABAAGEAbQBkAC4AYwBvAG0AAAAfAAFdAQAAAC4AAAB2AGkAawByAGEA
bQAuAGcAYQByAGgAdwBhAGwAQABhAG0AZAAuAGMAbwBtAAAAAAALAEA6AQAAAB8AGgABAAAAEgAA
AEkAUABNAC4ATgBvAHQAZQAAAAAAAwDxPwkEAAALAEA6AQAAAAMA/T/kBAAAAgELMAEAAAAQAAAA
p0m6ZzGlpkeGkx0d7PDSUQMAFwABAAAAQAA5AADu+hjDBdkBQAAIMJhQUhnDBdkBCwAjAAAAAAAD
ACYAAAAAAAsAKQAAAAAAAwAuAAAAAAADADYAAAAAAB8AcAABAAAAfAAAAFsAUABBAFQAQwBIACAA
dgAxACAAMAAyAC8AMQAyAF0AIABoAHcALwBpADMAOAA2AC8AeABlAG4ALwA6ACAAbQBvAHYAZQAg
AHgAZQBuAC0AbQBhAHAAYwBhAGMAaABlAC4AYwAgAHQAbwAgAGgAdwAvAHgAZQBuAC8AAAACAXEA
AQAAACAAAAABAdjgVDKVXe91PueASZ/xhxI7ixFzrhXUkwCAQ/BKugsABgwAAAAAHwA1EAEAAACi
AAAAPABNAFcAMwBQAFIAMQAyAE0AQgA0ADQAMAA5AEEAOABGADcARgAxADAAMgA4ADkAQwA1AEEA
RABEADQARQA0AEYAMAA5AEYAMQA0ADkAQABNAFcAMwBQAFIAMQAyAE0AQgA0ADQAMAA5AC4AbgBh
AG0AcAByAGQAMQAyAC4AcAByAG8AZAAuAG8AdQB0AGwAbwBvAGsALgBjAG8AbQA+AAAAAAAfADkQ
AQAAABoBAAA8ADIAMAAyADIAMQAwADEANQAwADUAMAA3ADUAMAAuADQAMQA4ADUALQAxAC0AdgBp
AGsAcgBhAG0ALgBnAGEAcgBoAHcAYQBsAEAAYQBtAGQALgBjAG8AbQA+ACAAPAAyADAAMgAyADEA
MAAxADUAMAA1ADAANwA1ADAALgA0ADEAOAA1AC0AMwAtAHYAaQBrAHIAYQBtAC4AZwBhAHIAaAB3
AGEAbABAAGEAbQBkAC4AYwBvAG0APgAgADwAZgAxADIAZAA3ADEAMgBjAC0AZABjADQANwAtADcA
NwA3ADgALQA4AGMAZgA1AC0AYwBmAGQANgAyADEAZgBkAGIAOQBhAGQAQAB4AGUAbgAuAG8AcgBn
AD4AAAAAAB8AQhABAAAAXgAAADwAZgAxADIAZAA3ADEAMgBjAC0AZABjADQANwAtADcANwA3ADgA
LQA4AGMAZgA1AC0AYwBmAGQANgAyADEAZgBkAGIAOQBhAGQAQAB4AGUAbgAuAG8AcgBnAD4AAAAA
AAMAExIAAAAAQAAHMBOvxcLCBdkBAgETMAEAAAAQAAAAlV3vdT7ngEmf8YcSO4sRcwIBFDABAAAA
DAAAAH8BAACxAQWP9EYrngMAWzMBAAAAAwBeMwkAAAADAFo2AAAAAAMAYzb/BwAAAwBoNg0AAAAL
APo2AQAAAB8A2T8BAAAAAAIAAEgAaQAgAFAAYQB1AGwALAANAAoADQAKAEYAcgBvAG0AOgAgAFAA
YQB1AGwAIABEAHUAcgByAGEAbgB0ACAAPAB4AGEAZABpAG0AZwBuAGkAawBAAGcAbQBhAGkAbAAu
AGMAbwBtAD4ADQAKAEQAYQB0AGUAOgAgAFcAZQBkAG4AZQBzAGQAYQB5ACwAIABPAGMAdABvAGIA
ZQByACAAMQA5ACwAIAAyADAAMgAyACAAYQB0ACAANwA6ADUANAAgAEEATQANAAoAVABvADoAIABH
AGEAcgBoAHcAYQBsACwAIABWAGkAawByAGEAbQAgADwAdgBpAGsAcgBhAG0ALgBnAGEAcgBoAHcA
YQBsAEAAYQBtAGQALgBjAG8AbQA+ACwAIABxAGUAbQB1AC0AZABlAHYAZQBsAEAAbgBvAG4AZwBu
AHUALgBvAHIAZwAgADwAcQBlAG0AdQAtAGQAZQB2AGUAbABAAG4AbwBuAGcAbgB1AC4AbwByAGcA
PgANAAoAQwBjADoAIABTAHQAYQBiAGUAbABsAGkAbgBpACwAIABTAHQAZQBmAGEAbgBvACAAPABz
AHQAZQBmAGEAbgBvAC4AcwB0AGEAYgBlAGwAbABpAG4AaQBAAGEAbQBkAC4AYwBvAG0APgAsACAA
TQBpAGMAaABhAGUAbAAgAAAAAwDeP+QEAAAfAPg/AQAAACAAAABHAGEAcgBoAHcAYQBsACwAIABW
AGkAawByAGEAbQAAAB8A+j8BAAAAIAAAAEcAYQByAGgAdwBhAGwALAAgAFYAaQBrAHIAYQBtAAAA
HwAiQAEAAAAGAAAARQBYAAAAAAAfACNAAQAAAAIBAAAvAE8APQBFAFgAQwBIAEEATgBHAEUATABB
AEIAUwAvAE8AVQA9AEUAWABDAEgAQQBOAEcARQAgAEEARABNAEkATgBJAFMAVABSAEEAVABJAFYA
RQAgAEcAUgBPAFUAUAAgACgARgBZAEQASQBCAE8ASABGADIAMwBTAFAARABMAFQAKQAvAEMATgA9
AFIARQBDAEkAUABJAEUATgBUAFMALwBDAE4APQA1AEQAMwAzADEAQgAwAEQAQQBCADEANQA0ADcA
NABBAEEANwBFAEIARgA3AEQAMABFAEMAOQBGADAANQA3AEUALQBHAEEAUgBIAFcAQQBMACwAIABW
AEkAAAAAAB8AJEABAAAABgAAAEUAWAAAAAAAHwAlQAEAAAACAQAALwBPAD0ARQBYAEMASABBAE4A
RwBFAEwAQQBCAFMALwBPAFUAPQBFAFgAQwBIAEEATgBHAEUAIABBAEQATQBJAE4ASQBTAFQAUgBB
AFQASQBWAEUAIABHAFIATwBVAFAAIAAoAEYAWQBEAEkAQgBPAEgARgAyADMAUwBQAEQATABUACkA
LwBDAE4APQBSAEUAQwBJAFAASQBFAE4AVABTAC8AQwBOAD0ANQBEADMAMwAxAEIAMABEAEEAQgAx
ADUANAA3ADQAQQBBADcARQBCAEYANwBEADAARQBDADkARgAwADUANwBFAC0ARwBBAFIASABXAEEA
TAAsACAAVgBJAAAAAAAfADBAAQAAACAAAABHAGEAcgBoAHcAYQBsACwAIABWAGkAawByAGEAbQAA
AB8AMUABAAAAIAAAAEcAYQByAGgAdwBhAGwALAAgAFYAaQBrAHIAYQBtAAAAHwA4QAEAAAAgAAAA
RwBhAHIAaAB3AGEAbAAsACAAVgBpAGsAcgBhAG0AAAAfADlAAQAAACAAAABHAGEAcgBoAHcAYQBs
ACwAIABWAGkAawByAGEAbQAAAAMAWUAAAAAAAwBaQAAAAAADADdQAQAAAB8ACl0BAAAALgAAAHYA
aQBrAHIAYQBtAC4AZwBhAHIAaAB3AGEAbABAAGEAbQBkAC4AYwBvAG0AAAAAAB8AC10BAAAALgAA
AHYAaQBrAHIAYQBtAC4AZwBhAHIAaAB3AGEAbABAAGEAbQBkAC4AYwBvAG0AAAAAAAIBFV0BAAAA
EgAAAAIfltg9iORgTo4RqC2ZThg9AQAAAgEWXQEAAAASAAAAAh+W2D2I5GBOjhGoLZlOGD0BAAAL
AACACCAGAAAAAADAAAAAAAAARgAAAAAUhQAAAAAAAAMAAIBQ42MLzJzQEbzbAIBfzM4EAQAAACQA
AABJAG4AZABlAHgAaQBuAGcARQByAHIAbwByAEMAbwBkAGUAAAAbAAAACwAAgFDjYwvMnNARvNsA
gF/MzgQBAAAAJgAAAEkAcwBQAGEAcgB0AGkAYQBsAGwAeQBJAG4AZABlAHgAZQBkAAAAAAAAAAAA
QAAAgFDjYwvMnNARvNsAgF/MzgQBAAAAMAAAAEwAYQBzAHQASQBuAGQAZQB4AGkAbgBnAEEAdAB0
AGUAbQBwAHQAVABpAG0AZQAAAOlf8BjDBdkBHwAAgFDjYwvMnNARvNsAgF/MzgQBAAAAKgAAAEkA
bgBkAGUAeABpAG4AZwBFAHIAcgBvAHIATQBlAHMAcwBhAGcAZQAAAAAAAQAAAHAAAABJAG4AZABl
AHgAaQBuAGcAIABQAGUAbgBkAGkAbgBnACAAdwBoAGkAbABlACAAQgBpAGcARgB1AG4AbgBlAGwA
UABPAEkASQBzAFUAcABUAG8ARABhAHQAZQAgAGkAcwAgAGYAYQBsAHMAZQAuAAAASAAAgFDjYwvM
nNARvNsAgF/MzgQBAAAALgAAAEIAaQBnAEYAdQBuAG4AZQBsAEMAbwByAHIAZQBsAGEAdABpAG8A
bgBJAGQAAAAAADDZGBmGo/lBiL1lw2nMGJFAAACAUONjC8yc0BG82wCAX8zOBAEAAAA+AAAAQgBp
AGcARgB1AG4AbgBlAGwAQwBvAG0AcABsAGUAdABlAEkAbgBkAGUAeABpAG4AZwBTAHQAYQByAHQA
AAAAAOlf8BjDBdkBQAAAgFDjYwvMnNARvNsAgF/MzgQBAAAAOgAAAEIAaQBnAEYAdQBuAG4AZQBs
AEMAbwBtAHAAbABlAHQAZQBJAG4AZABlAHgAaQBuAGcARQBuAGQAAAAAACrC8hjDBdkBCwAAgFDj
YwvMnNARvNsAgF/MzgQBAAAAJgAAAEkAcwBQAGUAcgBtAGEAbgBlAG4AdABGAGEAaQBsAHUAcgBl
AAAAAAAAAAAAHwAAgFDjYwvMnNARvNsAgF/MzgQBAAAAIgAAAEQAZQB0AGUAYwB0AGUAZABMAGEA
bgBnAHUAYQBnAGUAAAAAAAEAAAAGAAAAZQBuAAAAAAADAACACCAGAAAAAADAAAAAAAAARgEAAAAy
AAAARQB4AGMAaABhAG4AZwBlAEEAcABwAGwAaQBjAGEAdABpAG8AbgBGAGwAYQBnAHMAAAAAACAA
AAAfAACAH6TrM6h6LkK+e3nhqY5UswEAAAA4AAAAQwBvAG4AdgBlAHIAcwBhAHQAaQBvAG4ASQBu
AGQAZQB4AFQAcgBhAGMAawBpAG4AZwBFAHgAAAABAAAA1gEAAEkASQA9AFsAQwBJAEQAPQA3ADUA
ZQBmADUAZAA5ADUALQBlADcAMwBlAC0ANAA5ADgAMAAtADkAZgBmADEALQA4ADcAMQAyADMAYgA4
AGIAMQAxADcAMwA7AEkARABYAEgARQBBAEQAPQAwADEARAA4AEUAMAA1ADQAMwAyADsASQBEAFgA
QwBPAFUATgBUAD0AMwBdADsAUwBCAE0ASQBEAD0AMwA4ADsAUwAxAD0APABmADEAMgBkADcAMQAy
AGMALQBkAGMANAA3AC0ANwA3ADcAOAAtADgAYwBmADUALQBjAGYAZAA2ADIAMQBmAGQAYgA5AGEA
ZABAAHgAZQBuAC4AbwByAGcAPgA7AFIAVABQAD0ARABpAHIAZQBjAHQAQwBoAGkAbABkADsAVABE
AE4APQBTAGEAbQBlADsAVABGAFIAPQBOAG8AdABGAG8AcgBrAGkAbgBnADsAVgBlAHIAcwBpAG8A
bgA9AFYAZQByAHMAaQBvAG4AIAAxADUALgAyADAAIAAoAEIAdQBpAGwAZAAgADUAOAA1ADcALgAw
ACkALAAgAFMAdABhAGcAZQA9AEgAMQA7AFUAUAA9AEQAMAA7AEQAUAA9ADEAMAAxAAAAAAAfAACA
E4/yQfSDFEGlhO7bWmsL/wEAAAAWAAAAQwBsAGkAZQBuAHQASQBuAGYAbwAAAAAAAQAAALIAAABD
AGwAaQBlAG4AdAA9AE8AdQB0AGwAbwBvAGsAUwBlAHIAdgBpAGMAZQA7AE0AYQBjAE8AdQB0AGwA
bwBvAGsALwAxADYALgA2ADYALgAyADIAMQAwADIAOAAwADEAIAAoAEkAbgB0AGUAbAB4ADYANAAg
AE0AYQBjACAATwBTACAAWAAgADEAMQAuADYAIAAoAEIAdQBpAGwAZAAgADIAMABHADEANgA1ACkA
KQA7AAAAAAALAACACCAGAAAAAADAAAAAAAAARgAAAAAGhQAAAAAAAAIBAIATj/JB9IMUQaWE7tta
awv/AQAAAC4AAABIAGUAYQBkAGUAcgBCAG8AZAB5AEYAcgBhAGcAbQBlAG4AdABMAGkAcwB0AAAA
AAABAAAANgAAAAEACgAAAAQAAAABAAAAFAAAAAAAAAB7BAAA1AUAAAAAAAAUAAAAAAAAAOgJAAD/
////AAAAAAAACwAAgBOP8kH0gxRBpYTu21prC/8BAAAAHAAAAEgAYQBzAFEAdQBvAHQAZQBkAFQA
ZQB4AHQAAAABAAAACwAAgBOP8kH0gxRBpYTu21prC/8BAAAAKAAAAEkAcwBRAHUAbwB0AGUAZABU
AGUAeAB0AEMAaABhAG4AZwBlAGQAAAABAAAAQAAAgBOP8kH0gxRBpYTu21prC/8BAAAALAAAAEwA
YQBzAHQAUwBtAGEAcgB0AFIAZQBzAHAAbwBuAHMAZQBUAGkAbQBlAAAAhcknw8IF2QEDAA00/T8A
AB8APQABAAAACgAAAFIAZQA6ACAAAAAAAB8ANwABAAAAhAAAAFIAZQA6ACAAWwBQAEEAVABDAEgA
IAB2ADEAIAAwADIALwAxADIAXQAgAGgAdwAvAGkAMwA4ADYALwB4AGUAbgAvADoAIABtAG8AdgBl
ACAAeABlAG4ALQBtAGEAcABjAGEAYwBoAGUALgBjACAAdABvACAAaAB3AC8AeABlAG4ALwAAAB8A
AICGAwIAAAAAAMAAAAAAAABGAQAAAC4AAABhAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4ALQBy
AGUAcwB1AGwAdABzAAAAAAABAAAAsgAAAGQAawBpAG0APQBuAG8AbgBlACAAKABtAGUAcwBzAGEA
ZwBlACAAbgBvAHQAIABzAGkAZwBuAGUAZAApACAAaABlAGEAZABlAHIALgBkAD0AbgBvAG4AZQA7
AGQAbQBhAHIAYwA9AG4AbwBuAGUAIABhAGMAdABpAG8AbgA9AG4AbwBuAGUAIABoAGUAYQBkAGUA
cgAuAGYAcgBvAG0APQBhAG0AZAAuAGMAbwBtADsAAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAA
AB4AAABhAGMAYwBlAHAAdABsAGEAbgBnAHUAYQBnAGUAAAAAAAEAAAAMAAAAZQBuAC0AVQBTAAAA
HwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAIAAAAHgALQBtAHMALQBoAGEAcwAtAGEAdAB0AGEAYwBo
AAAAAQAAAAIAAAAAAAAASAAAgAggBgAAAAAAwAAAAAAAAEYBAAAAIgAAAE4AZQB0AHcAbwByAGsA
TQBlAHMAcwBhAGcAZQBJAGQAAAAAAL5JXHT15qVN2XkI2tPaO9IfAACAhgMCAAAAAADAAAAAAAAA
RgEAAAAuAAAAeAAtAG0AcwAtAHAAdQBiAGwAaQBjAHQAcgBhAGYAZgBpAGMAdAB5AHAAZQAAAAAA
AQAAAAwAAABFAG0AYQBpAGwAAAAfAACAhgMCAAAAAADAAAAAAAAARgEAAAA2AAAAeAAtAG0AcwAt
AHQAcgBhAGYAZgBpAGMAdAB5AHAAZQBkAGkAYQBnAG4AbwBzAHQAaQBjAAAAAAABAAAASAAAAE0A
VwAzAFAAUgAxADIATQBCADQANAAwADkAOgBFAEUAXwB8AFMASgAwAFAAUgAxADIATQBCADYAOAAy
ADkAOgBFAEUAXwAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAAFAAAAB4AC0AbQBzAC0AbwBmAGYA
aQBjAGUAMwA2ADUALQBmAGkAbAB0AGUAcgBpAG4AZwAtAGMAbwByAHIAZQBsAGEAdABpAG8AbgAt
AGkAZAAAAAEAAABKAAAANwA0ADUAYwA0ADkAYgBlAC0AZQA2AGYANQAtADQAZABhADUALQBkADkA
NwA5AC0AMAA4AGQAYQBkADMAZABhADMAYgBkADIAAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAA
ADgAAAB4AC0AbQBzAC0AZQB4AGMAaABhAG4AZwBlAC0AcwBlAG4AZABlAHIAYQBkAGMAaABlAGMA
awAAAAEAAAAEAAAAMQAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAADoAAAB4AC0AbQBzAC0AZQB4
AGMAaABhAG4AZwBlAC0AYQBuAHQAaQBzAHAAYQBtAC0AcgBlAGwAYQB5AAAAAAABAAAABAAAADAA
AAAfAACAhgMCAAAAAADAAAAAAAAARgEAAAAqAAAAeAAtAG0AaQBjAHIAbwBzAG8AZgB0AC0AYQBu
AHQAaQBzAHAAYQBtAAAAAAABAAAADgAAAEIAQwBMADoAMAA7AAAAAAAfAACAhgMCAAAAAADAAAAA
AAAARgEAAABEAAAAeAAtAG0AaQBjAHIAbwBzAG8AZgB0AC0AYQBuAHQAaQBzAHAAYQBtAC0AbQBl
AHMAcwBhAGcAZQAtAGkAbgBmAG8AAAABAAAAsgUAAFgAOQBRADgASwAxAGUAQwBiAC8ASwA1AFIA
VAB2AEkAdAA5AGIAdgBqADQAaQBVAGgAKwBjAFIANABaAEwAbQBxAEoAVABoAEoATwBsAFoAQgBn
AGUATQBOAEMAWgBpAHMAMwBvAE8AeQBKAGYASgBoAFgAMQBqAGEAYgAxAFYANwA2AEYAZQBPAFkA
TQBTAEcATQAzAFMAbwBHAEUAVgBrADEAaQBlAGUANgBXAHgAYgA3AG8AbgBaAFYARABKAGwAcwBE
AE4ASABSADcARAA3AGIAagBTAFUAMQBtAEUAYwBkAHgAZABxAFAAeABFAEwAcAB1AGsAMQBrAHEA
SQBIAGgARgB0AHgAbAB0ADYATQBqAGsAWQBSAFgAYgA1AGYASQBsAEoAZABXAHYAWQBUAGQALwBU
ADgAQgBhAC8AWQA2AHcAOQBWAE4ALwAyAHQASwArAGsATgB3AGUATQBRADIAcAAzAHMAcQBvAEUA
dgBuAGcAQgBPADMAcQBKACsAUABpAHEAOQB5AEwASwBFAHgATgBvAGQAaABDAC8AZABaAFQAQgBw
ADkAcAB3ACsAUQBQACsAcABpAGkAcgB6AEsAbwBXAEQALwAwAHUAeABVADQAdQBoAG8ATQBQAGEA
ZwBmADIAUQBCAG4ASgBWADQAUwBxADUASQB4AEsAdgBMADEAeQBqAFUAegAvAEoASgBKADgAKwB5
AG8ASwBqAGcANABRAE4AKwAxAFEARABZAGMAMAByAG4AUgBsAEIAUwBaAFYARQBKAGEAbgBCAEsA
cwBvAFkAegBuAFEAVQB2AGcAVwBJAHQAbQBjAHIAcwBWAEkAbgAzAHoAbgBnAFQAdwBmAEYAbABX
AEQASgB0AEcAVAA5AFQARQBrAFcAZgBlAFoARwArAGgAQgB5AGQALwB4AGUAeQBZAC8AMAAvAGQA
dQBtAFIAeABhAGgAdgB2ADMAMABhAHAAYQBiADgAaQAwAGsASgBkAGUAMwBKAG0ASABTADUAWAB2
ADUATwBFAEIASgBhAGcASgBOAHMAVABzAE4AeABuAGEAUABYAEEASgBUAEgAUQBwAEIAZQArAEQA
NwB1AHMAKwBnAHYAVQBKADgATAAwAHgAUgB6AEUAOABSAFYAZwBuADUAUgBkAHUAKwBqAE4AUwBT
AHcAMABVAHMAZgBHAEkAVwBrAEoAOABhAFgAKwByAC8ATQBGAHMAYwBwAEgAWgA5AFkAVgBWADYA
TwBRAE8ANAB0AHYASQBDAGgARABvAGEAaABFAGsAKwA4AEoALwBmAEUAbgBYAHoANQAzAEEAZQBE
ADUASQBGAEMAZwByAFUAMABzAEgAcwBHADUASwBXAG8AVgBDAFoAMABlAFEAQgBHAGYAdwBlAFoA
cwBYAEEARQBrAGcAQgB4AEkANQBXAEkANQBMAHQAYgBuADIAWABMAGsAVAA4AFgAaAArAGwARgB0
AGIAUwBZAGcAbQB6AGwASgBxAE0AbwBEADMAQgBHACsAawB4AFMAagBkAFAAawArADAASQBZAEQA
SQBMAFYAMgBtAE8AbwBFAGMAMwBlAFoAeABTAEcANwArAE0AeAA0ADUAYgBrACsAQQBvADkANwBU
AHMAWQBMAGoAMwB6AGIAMAA5AE4AaQBTAGkAWABTAEoAbABiAEMAVwBqAFIAUABPAGYAdQB0AE8A
RAB6AGgAYwBkADIAZABSAEMATgBZAHYAcABLAFEAQQBrAEUAZABVADMAQQBpADAARABvAHkATQBS
AEQAWQBGAEYAbwBxAFkANwBCAFQAKwBhAEMARwBoAG0AWQBpAFAAawBsAGcAeABsAEQAMQAxAG4A
QQBpAEQATwBRAFoAKwB2ADAARwB0AEIASABJAHkASQBMAEEAYQA3AG4AeAAxAEEAZwBzAEMAYQBB
AD0APQAAAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAOAAAAHgALQBmAG8AcgBlAGYAcgBvAG4A
dAAtAGEAbgB0AGkAcwBwAGEAbQAtAHIAZQBwAG8AcgB0AAAAAQAAAHAEAABDAEkAUAA6ADIANQA1
AC4AMgA1ADUALgAyADUANQAuADIANQA1ADsAQwBUAFIAWQA6ADsATABBAE4ARwA6AGUAbgA7AFMA
QwBMADoAMQA7AFMAUgBWADoAOwBJAFAAVgA6AE4ATABJADsAUwBGAFYAOgBOAFMAUABNADsASAA6
AE0AVwAzAFAAUgAxADIATQBCADQANAAwADkALgBuAGEAbQBwAHIAZAAxADIALgBwAHIAbwBkAC4A
bwB1AHQAbABvAG8AawAuAGMAbwBtADsAUABUAFIAOgA7AEMAQQBUADoATgBPAE4ARQA7AFMARgBT
ADoAKAAxADMAMgAzADAAMAAyADIAKQAoADQANgAzADYAMAAwADkAKQAoADMAOQA4ADYAMAA0ADAA
MAAwADAAMgApACgAMwA2ADYAMAAwADQAKQAoADEAMwA2ADAAMAAzACkAKAAzADQANgAwADAAMgAp
ACgAMwA3ADYAMAAwADIAKQAoADMAOQA2ADAAMAAzACkAKAA0ADUAMQAxADkAOQAwADEANQApACgA
OAAzADMAOAAwADQAMAAwADAAMAAxACkAKAAxADIAMgAwADAAMAAwADAAMQApACgAMwA4ADAANwAw
ADcAMAAwADAAMAA1ACkAKAA3ADEAMgAwADAANAAwADAAMAAwADEAKQAoADEAMQAwADEAMwA2ADAA
MAA1ACkAKAA0ADMAMgA2ADAAMAA4ACkAKAA4ADYAMwA2ADIAMAAwADEAKQAoADIAOQAwADYAMAAw
ADIAKQAoADQAMQAzADAAMAA3ADAAMAAwADAAMQApACgANwA0ADEANgAwADAAMgApACgANQA0ADkA
MAA2ADAAMAAzACkAKAA5ADMAMgA2ADAAMAAyACkAKAAyADYAMAAwADUAKQAoADUANQAwADEANgAw
ADAAMwApACgANQAyADUAMwA2ADAAMQA0ACkAKAA1ADYANgAwADMAMAAwADAAMAAyACkAKAA1ADMA
NQA0ADYAMAAxADEAKQAoADkANgA4ADYAMAAwADMAKQAoADYANQAwADYAMAAwADcAKQAoADcANgA5
ADYAMAAwADUAKQAoADEAOAA2ADAAMAAzACkAKAA2ADYAOQA0ADYAMAAwADcAKQAoADgANgA3ADYA
MAAwADIAKQAoADYANAA3ADUANgAwADAAOAApACgAOQAxADkANQA2ADAAMQA3ACkAKAA3ADYAMQAx
ADYAMAAwADYAKQAoADYANgA0ADQANgAwADAAOAApACgAMwA4ADEAMAAwADcAMAAwADAAMAAyACkA
KAA0ADcAOAA2ADAAMAAwADAAMQApACgANgA2ADUANQA2ADAAMAA4ACkAKAA2ADYANAA3ADYAMAAw
ADcAKQAoADMAMQA2ADAAMAAyACkAKAA4ADkAMwA2ADAAMAAyACkAKAAzADMANgA1ADYAMAAwADIA
KQA7AEQASQBSADoATwBVAFQAOwBTAEYAUAA6ADEAMQAwADEAOwAAAB8AAICGAwIAAAAAAMAAAAAA
AABGAQAAAFwAAAB4AC0AbQBzAC0AZQB4AGMAaABhAG4AZwBlAC0AYQBuAHQAaQBzAHAAYQBtAC0A
bQBlAHMAcwBhAGcAZQBkAGEAdABhAC0AYwBoAHUAbgBrAGMAbwB1AG4AdAAAAAEAAAAEAAAAMQAA
AB8AAICGAwIAAAAAAMAAAAAAAABGAQAAAEoAAAB4AC0AbQBzAC0AZQB4AGMAaABhAG4AZwBlAC0A
YQBuAHQAaQBzAHAAYQBtAC0AbQBlAHMAcwBhAGcAZQBkAGEAdABhAC0AMAAAAAAAAQAAALIMAABI
AFgAbABiAHUAcgBMADQAOABxAGIATABTAGUAeABrAGYAdQBKAEYAVgBvAFAAVwBQADkAZwBFADQA
bQBSAFoASABiAFEAcAB0AFQAWQBCAGEAbQAwADIAMwB6AEkASwBkAEEANABzAGIAVQBqADQAawBU
AFUAYgBIAEUATABvAFkAbgBRAHEAQgB6AHQASQBhAFEAKwBOAGkAVQBkAHYANQAvAE0AawB5AEEA
ZABMAEUAKwBWAFkASQBiAFEAcgA3ADMAVQAvAEgAbQA5ADcARABnAFQAZwBNAEoANAA1AGgAQwA0
AE4AWgBpAGgAdABxADUAawBkAEcARwBkAFIASAA1AEgAUQBVAFgAbABaAG0AVgBMAGMAYQB6ADYA
dABFAFkARQBZAHAAbgAxADkAZABoAFUAOQBDAFoAVABYAEMARAAxAFQATQBJAG4AZgArAFkANgBy
AHgAcgBaAG0AegBYAEoAYgBSAG4AcQB2AFMAaABzADUAdQBjAHAAVAA5ADYAWgBDAGsAWABaAC8A
MQA4ADgAMwBTAGgANwA4AHMAYgBxAGoANQA1AFAAaQBmAGEAZAB5AG8AdQBiAGEARQB2AHoAWABL
AHEAMQB2AEUAMAAyAG0AUwBuAGoAVQA0AEkAOABkAGsAVgB4AEEAOABRADAARgBDAGMASQBIAHMA
NwA5AEwAcABFADkATQBjAC8AWABCAFEAcgB0AGMATwA2ADIAMQBsAGkARQB0AEgASwBZAHYARwBB
AFgANQBjAFQAVABYAHcAbwBaAE8ASgBzAGsAVABaAEQANwA2AFoAbAAyAFEAKwBJAEoATABQAHEA
egBoAFkASQBDAGsAUwBjAGUARgAwAFIAaABmAGMASABEADAAQwByAHkAdQBsAGYAUQBjAFUAbABq
ADMARABMAHEAYQB0ACsAMwBaAGEANQA3AGoAZQBRAHAATwBTAEIAMQBHAEcAeABWADcAMQBEAHoA
QwA3AE4AVQBkADkAMABRAFMAZgB4AHcAQQBiAFkANQBvAE4AYgBnAGcAcgBJAHQAbAByAHIAeQBM
AEIANQBSAGMAOABNAG0AdQBtAEQAKwBXAC8AZwA3AGEAawBvAEcAYQA5AE0ASgBsAFQAWgBmADMA
NwBpAEMAMwBrADYASQBXAEYAVgBrAFAAcwBxAFUAUwBjAFoASgBTAE4AWAA5ACsAZQBZAFYAagBL
AEQAdABKAEcAbAB1AGMAbgBlAHYASgBVAFYAWAB1AG0ANwBjAGUAYwBmAFgAVABHADUAWQBFADEA
VgBvAFoAUgAwAHcAMQBrADMAbABYACsATQBCAEYAcwBGAFIAaQBOAEYAdgBJAGYAbgA4AGsAUQBh
AG4ANAB1AGkASQAvAGYANgBOAFQAOAAyADYAUwBLAGQATgBkAEcAaQBrAFIAeABYADkAdQBPAGsA
NgAvAGIATwBoAHMAZQA1AGgAWQBvADkAWQA1AHoAKwBRADUAVQBqAFIASABCAGkAVwBNAEcAcwBm
AFcAaABWACsANwBxAEYAVABxAFgATwBnAFIANwBTAFIAYwA0AC8ARQBEAG8ANAB0ADMAbABvAGcA
dQB4AC8AQQBHAC8AdABPAGoAZQA1AFAARQB1AGUASwBIAC8ARAB5AE0AYgB5AFQATABzAFgAYgBQ
ADIARABnACsARgBBAGgAagBNAEQAZQBkAEkAcgBsAFMAbgBNAEUARQAvAHYAbQBaACsANABvAGoA
dABJADMAdgBoADMAWQBiAFcAQgBTAHIANQA3AEkAUgBNAFYATgBrAGcAeQBJAE8AegAyAC8AaQBu
AFkAUQB4AGUAVAArAEQAdABjAGcAdABqAHAAdQBCAFoAZABaAGEAOQByAE8AZQBXAHYAQgBwAE8A
awBnAFIALwBwAGMAUwA3AEUAQwArAFYAUAA1ADIAYwBRAHEAaAB0ADcAMAB0AGQAWAAvAE0AMgBX
AFAAMQB1AGYAeAB6AFYATwBQAHkAMwBEAHoANQAyAG4ANgBTADEAYgBWAFoAcgBRAGsAYwBlAGcA
aQB1AEsAOABGAEIAbgBmAGQATwBsAEQAUABkAFYAOABBAFAAZQBmAHQAYQBDAGgAYQBYAHoAMABa
AEwAQQBBAE0AZABiACsAcgA4AFgAYgAwAEoAYQBoAC8AdgAvAGUAQQBCADgALwBiADQAaABLAFAA
LwBNAG8AWAAyAHIAdQBSAGMAVQByAFkANwAxAE8AYgBlAG0ARAB0AE8AUABZAEwAUwBHAEUAVgBN
ADQAZABKADMAegBSAFoAMgBJAGQAMQB1AGUAdABDAEUAMgB4ADcAaQBPADkAegBZAGoAYgB6AHgA
RgA3ADcAeQBoAFEATgBsAEgAbgBRADcARgBRAEYAbgB5AGgAcwBwAG4AMABpAFAANABMAEcAQwBw
AFgALwBJADQAMAArAFoAeQB0ADgATwBMAHkAcgA2AGEAVABZAGwANQB1AHAAdgBaAEwAOABTADUA
YgBnAFgAMABBAHYAMwBhAHMAdQA0AFYAbQA1AGIAbABEAEsANwBQADQASgA5AFYAbwBUAG8AWABW
ADYAMAB5AHEAcABVAEcASAA2ADkANwBNAFgAVwAvAFUAaAB3ADAAOAA2AGkAVAAwAHYAcQBCAEoA
ZABCADQAcwBWAGgAcwArADMARQA0AFMANgBzAG8AaAAxAC8AbgBaAFIAegBKAHoANwBKAHQANwBM
AGcAZwBMAEsAQwBDAGIAKwBkADAAcwA0AGwANABuAGsAcQBpAFMAdwBmAEwAMwAwAGkASQBXAHUA
bQBBAHQAMABOAFAAcQBjAGgANwB5AE0ANwBHADgARgBKADkANQA1AGQAeQBKAC8AbQBnADYAMABn
AHcAQwBjADYAWABzAEgARQBDAFUAZwBHAC8AeQBwAEwAeAB1ADAASABjADkAWQB1AFcARAB2AGQA
aQBWAC8AOABRAG8AUABXAHUAaABLADUAUwBGAEYANABXAHgAbQBlAEcAYwB1AGcATQBNAEgASABH
AG8AQQBpAHgASQBOAFkAagBDAGIAQgBSAFAAUQA0AGQAQQAzACsAVwBzAFoAUgBnAEwAbQBYAGwA
dQB5AGEAWgBXAEYAUwA5AFoAcwB0AHYANQBiAHAANQAyAGoAegBCAEYAegBzAHAATwA3AHUAVABt
AFUAQQBwAGUAYgBMAHIATgAxAEsAYwBLADMANQBaAGwANQA4AHkANgBvAEMANQA4AHoAQwBkAEMA
bAA5AGMAegBZAFgAcgBvAG8AcgBPAEgARQBzAEcAMwAxAGgARABlAFoAbAB1AFoAWQBHAG0AdQBC
AGgASwBvAEwAdQBWAHgAegBaAHcAeQBXAE4AdQBtAFYAawBGAFYAaQBmAHkAUABzAEIAVgAyAGIA
awBEADQAcQBjAG0ATwBwAFMASwBuAG4AZgBOAFMAUABlAFMASwAxAHIAUgAwAEgARQBqAHoAcwBi
AHYAVAByADIAagAwAHUAOABjAFoAWQBRAC8AOQBHAGYAVgA0AHAARgBOAHEAUABIAFgAZQB0AFgA
UwB4AG8AdQBJAGcARwBxAHQAUABYAE8ARAA4AEsAdgBVAEoAeABaAE8ARABmADQAVgBPAFMAaABx
AEwAUwBQAGMAMQBxAGUASAA1ADcAUgB6ADMAMAAvADcAaQB2AGQAeABzAFcAZABuAFgAVAByAFAA
eABQAGcAaAB4AGoAYgBrAG4AcgA0AEkAUwB5AG0AZQAxAE4AdQBiAGsAVgBxAGoARwBIADMAbAA3
AFQARwAvAFoAbABOAG0AZwBnAG0AbwBYAFQASgBQAFoAdgBGAGEAVQBIAGIAaQByAHQATABPAGkA
VQB2AGwAMQBWAFEAQQBsAHEAZgBjAEcAbQBQAEYAVwBmAE4ALwBuAEEAVQBJADIASQBnAGYAcwBi
AEcAUgA2AEMANABJAHgAVwBzADcAeQAvACsAOQBWAHUAOAB5AFoAUwBpACsAeQBlAFoASgArAEQA
UQBwAEUAdwBFAHIAbgBvADcAMgBwADIASQBaAHoAZQBMAGUARgBYAEoAVgAvAG0AWQBjAEIALwBi
ADUARgBUAEoANAAyADMAZwBJAFEAQgAxAGIATgBTAEEAUABJAHoAbwBXAHUAUABUAE4AcQArAHcA
KwBmADIAVgBaAEgAZQBsAFEAVAAzAEQAOABYAFAANABmAHkAMwBTADIAUwA0AHcANwB0AGsANQBB
AHoAVABGAEsANQBEADcAaQA1ADgARwBkAFMARgBPADAAVABDAGEAVgBCAEsAZwBCAGcAPQA9AAAA
AACi8w==

--_000_MW3PR12MB4409A8F7F10289C5ADD4E4F09F149MW3PR12MB4409namp_--


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 21:09:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 21:09:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451177.708803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0qnv-00030v-4N; Thu, 01 Dec 2022 21:09:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451177.708803; Thu, 01 Dec 2022 21:09:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0qnv-00030o-1T; Thu, 01 Dec 2022 21:09:11 +0000
Received: by outflank-mailman (input) for mailman id 451177;
 Thu, 01 Dec 2022 21:09:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DAsL=37=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p0qnt-00030i-E6
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 21:09:09 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 62ef6ecf-71bc-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 22:09:05 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1BE7662120;
 Thu,  1 Dec 2022 21:09:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36A75C433D6;
 Thu,  1 Dec 2022 21:09:02 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62ef6ecf-71bc-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669928943;
	bh=VEUIsH3mvT8Zto9Jd4swKCEtib9FCiwqoMQPfz7lyPY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=NlYX9mVz5JOjGX6bmhEDcyVcroG6xOv1BRHxHA1WpqHd/2IP/ASvco4xVSfeypZQZ
	 8Yy+PPWlkoggCFd++qYgvjZYeYUZkcB+b85XKV49JuezkoqjNDBuTvDQSl+OyfGH0t
	 7tDbJEhiei6fPNSCZQHD+F4wfL+shtMyljxMgpxbtzkXND3mo8C4cWOy1ndjQks0tK
	 XbVZBW0rpQw3iSLyMjnnzYnZR6qpdjX4/yanAO+PDMpPcjApAZK+Uqxg+ok7YTDHF+
	 zY2r40DXKFH8dO4FnzV/sluvB1NVmq9sF7BmDuJLI8JInCLFXSDzOdTlcdZqFBtOPa
	 lQmgjPMJGOkRA==
Date: Thu, 1 Dec 2022 13:09:00 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <bertrand.marquis@arm.com>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH v6 1/3] automation: Create Yocto docker images
In-Reply-To: <43aa7a440ee7af24c829dc6a70064e2f5fce2302.1669904508.git.bertrand.marquis@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212011308530.4039@ubuntu-linux-20-04-desktop>
References: <cover.1669904508.git.bertrand.marquis@arm.com> <43aa7a440ee7af24c829dc6a70064e2f5fce2302.1669904508.git.bertrand.marquis@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 1 Dec 2022, Bertrand Marquis wrote:
> Add containers suitable to run yocto kirkstone build based on ubuntu
> 22.04. It contains all packages required by Yocto and a checkout of the
> layers required to build Xen with Yocto.
> 
> Add a generic docker image template to be used to automatically generate
> docker files for different configurations:
> - specific yocto version
> - different targets (qemu arm, arm64 and x86)
> - different host platforms (x86 or arm64)
> 
> During a call to 'make all', only the images for the host platform we
> run it on in the CI is generated.
> If needed, images for an other host platform can be generated manually
> by calling the right make target (see make help).
> 
> Add a build script to build and run xen on qemu using Yocto.
> The script supports arm32, arm64 and x86_64 and checks that dom0 is
> properly booting. At this stage this does not run any guest on top of
> dom0. The script is to be executed in one of the docker images to build
> and run a system using a Xen source tree.
> 
> Add automation/build/yocto/*.dockerfile to gitignore as those files are
> generated.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes in v6:
> - move include of yocto.inc to keep help the default make target
> - add yocto/*.dockerfile to gitignore
> - fix typo {} instead of ()
> - fix clean rule to remove s to dockerfile
> - tell make to evaluate CONTAINER right away
> - add example command in comment in yocto.inc
> - fix compilation of qemux86 on arm by switching to AUTOREV to use the
> latest version of Xen which includes fixes required.
> Changes in v5:
> - typo fixes
> - add INTERMEDIATE to remove intermediate dockerfile
> - use container architecture
> - use full words in foreach loops
> - fix shellcheck findings in build-yocto.sh
> - rebase on sstabellini next branch
> Changes in v4:
> - Rework the system to have one dockerfile template from which make will
> generate the required dockerfiles for the wanted configuration
> - add support for different host architectures
> - Merge the generation system into one single dockerfile
> - Merge patches 1 and 2 in a single patch
> - Introduce CONTAINERS_EXTRA to have extra containers not built by
> default (for those not used by CI but useful to users)
> Changes in v3:
> - limit number of jobs in yocto by default to 8 and add --num-jobs
> option to the script to set a custom number of jobs
> - do not copy anymore the build-yocto.sh script inside the main image so
> that the current one in the repository is used when running
> Changes in v2:
> - add a --dump-log command line option to build-yocto.sh script to dump
> the logs if an error occurs.
> Changes in v1:
> - add --image command line argument to build-yocto.sh to allow building
> something different than xen-image-minimal.
> - modify dockerfile to have one layer per line and make it easier to add
> other. I kept the for loop to keep the number of docker steps lower
> - update commit message to warn that no guest are tested.
> - fix build-yocto script to properly return with an error if expect
> script ends up in timeout or EOF.
> ---
>  .gitignore                                 |   1 +
>  automation/build/Makefile                  |  16 +-
>  automation/build/yocto/build-yocto.sh      | 356 +++++++++++++++++++++
>  automation/build/yocto/yocto.dockerfile.in | 114 +++++++
>  automation/build/yocto/yocto.inc           |  44 +++
>  5 files changed, 528 insertions(+), 3 deletions(-)
>  create mode 100755 automation/build/yocto/build-yocto.sh
>  create mode 100644 automation/build/yocto/yocto.dockerfile.in
>  create mode 100644 automation/build/yocto/yocto.inc
> 
> diff --git a/.gitignore b/.gitignore
> index ea3243af9dde..ce7caa56af6d 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -38,6 +38,7 @@ dist
>  stubdom/*.tar.gz
>  
>  autom4te.cache/
> +automation/build/yocto/*.dockerfile
>  build-*/
>  config.log
>  config.status
> diff --git a/automation/build/Makefile b/automation/build/Makefile
> index a4b2b85178cf..c4aaa747ffdf 100644
> --- a/automation/build/Makefile
> +++ b/automation/build/Makefile
> @@ -1,20 +1,30 @@
>  
>  # the base of where these containers will appear
>  REGISTRY := registry.gitlab.com/xen-project/xen
> -CONTAINERS = $(subst .dockerfile,,$(wildcard */*.dockerfile))
> +CONTAINERS := $(filter-out yocto/%,$(subst .dockerfile,,$(wildcard */*.dockerfile)))
> +CONTAINERS_EXTRA =
>  DOCKER_CMD ?= docker
>  
>  help:
>  	@echo "Builds containers for building Xen based on different distros"
>  	@echo "To build one run 'make DISTRO/VERSION'. Available containers:"
> -	@$(foreach file,$(sort $(CONTAINERS)),echo ${file};)
> +	@$(foreach file,$(sort $(CONTAINERS)),echo $(file);)
> +	@echo "Extra containers (not built using make all):"
> +	@$(foreach file,$(sort $(CONTAINERS_EXTRA)),echo $(file);)
>  	@echo "To push container builds, set the env var PUSH"
>  
> +include yocto/yocto.inc
> +
>  %: %.dockerfile ## Builds containers
>  	$(DOCKER_CMD) build -t $(REGISTRY)/$(@D):$(@F) -f $< $(<D)
>  	@if [ ! -z $${PUSH+x} ]; then \
>  		$(DOCKER_CMD) push $(REGISTRY)/$(@D):$(@F); \
>  	fi
>  
> -.PHONY: all
> +.PHONY: all clean
>  all: $(CONTAINERS)
> +
> +# Remove generated dockerfiles for yocto
> +clean:
> +	rm -f yocto/*.dockerfile
> +
> diff --git a/automation/build/yocto/build-yocto.sh b/automation/build/yocto/build-yocto.sh
> new file mode 100755
> index 000000000000..3601cebc3cff
> --- /dev/null
> +++ b/automation/build/yocto/build-yocto.sh
> @@ -0,0 +1,356 @@
> +#!/bin/bash
> +#
> +# Yocto meta virtualization build and run script
> +#
> +# This script is building Yocto xen-image-minimal for qemu targets and run
> +# them using runqemu inside yocto to check that dom0 is booting properly.
> +# The build is using a local xen source tree so that specific patches can be
> +# tested.
> +# In order to optimize the build time, a build cache is used so that only xen
> +# packages and its dependencies are rebuilt (qemu and final image mainly).
> +#
> +# get command error even when piped.
> +set -o pipefail
> +
> +# Directories
> +YOCTODIR="$HOME/yocto-layers"
> +CACHEDIR="$HOME/yocto-cache"
> +LOGDIR="$HOME/logs"
> +XENDIR="$HOME/xen"
> +BUILDDIR="$HOME/build"
> +
> +# what yocto bsp we support
> +TARGET_SUPPORTED="qemuarm qemuarm64 qemux86-64"
> +VERBOSE="n"
> +TARGETLIST=""
> +BUILDJOBS="8"
> +
> +# actions to do
> +do_clean="n"
> +do_build="y"
> +do_run="y"
> +do_localsrc="n"
> +do_dump="n"
> +build_result=0
> +
> +# layers to include in the project
> +build_layerlist="poky/meta poky/meta-poky poky/meta-yocto-bsp \
> +                 meta-openembedded/meta-oe meta-openembedded/meta-python \
> +                 meta-openembedded/meta-filesystems \
> +                 meta-openembedded/meta-networking meta-virtualization"
> +
> +# yocto image to build
> +build_image="xen-image-minimal"
> +
> +function print_progress() {
> +    echo -n "$(date +%T) $*"
> +}
> +
> +function run_task() {
> +    local task_name="$1"
> +    local task_target="$2"
> +
> +    task_log="${task_name//project_}-${task_target}"
> +
> +    mkdir -p "${LOGDIR}"
> +    print_progress
> +    echo -n "${task_name//project_} ${task_target}: "
> +    if [ "${VERBOSE}" = "n" ]; then
> +        "$@" > "${LOGDIR}/${task_log}.log" 2>&1
> +    else
> +        "$@" 2>&1 | tee "${LOGDIR}/${task_log}.log"
> +    fi
> +
> +    if [ ${?} -ne 0 ]; then
> +        echo "Error"
> +        build_result=$((build_result+1))
> +        if [ "${do_dump}" = "y" ]; then
> +            echo
> +            echo "############ LOGS-START ############"
> +            cat "${LOGDIR}/${task_log}.log"
> +            echo "############  LOGS-END  ############"
> +            echo
> +        fi
> +        return 1
> +    else
> +        echo "OK"
> +        return 0
> +    fi
> +}
> +
> +function project_create() {
> +    target="${1:?}"
> +    destdir="${BUILDDIR}/${target}"
> +
> +    (
> +        # init yocto project
> +        source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}"
> +
> +        # add needed layers
> +        for layer in ${build_layerlist}; do
> +            bitbake-layers add-layer "${YOCTODIR}/${layer}" || exit 1
> +        done
> +    ) || return 1
> +
> +    # Detect latest version available in Yocto and use it instead of default
> +    # one.
> +    XENVERS=$(grep -e "^XEN_REL" \
> +        "${YOCTODIR}"/meta-virtualization/recipes-extended/xen/xen_*.bb \
> +        2> /dev/null | tr -d ' ' | tr -d '?' | tr -d '"' \
> +        | sed -e "s/.*=//" | sort -V | tail -n 1)
> +
> +    # customize project configuration
> +    cat <<EOF >> "${destdir}/conf/local.conf"
> +# Yocto BSP
> +MACHINE = "${target}"
> +
> +# Use local cache to reuse previous builds results
> +SSTATE_DIR = "${CACHEDIR}/sstate-cache"
> +DL_DIR = "${CACHEDIR}/downloads"
> +
> +# Enable xen and virtualization
> +DISTRO_FEATURES = " virtualization xen ipv4"
> +
> +# Speed up run by not generating ssh host keys
> +IMAGE_INSTALL:append:pn-xen-image-minimal = " ssh-pregen-hostkeys"
> +
> +# Save some disk space
> +INHERIT += "rm_work"
> +
> +# Reduce number of jobs
> +BB_NUMBER_THREADS="${BUILDJOBS}"
> +
> +# Use latest Xen version
> +PREFERRED_VERSION:pn-xen = "${XENVERS}%"
> +PREFERRED_VERSION:pn-xen-tools = "${XENVERS}%"
> +
> +# Use autorev for now as Xen SHA used by latest yocto recipe for Xen does not
> +# include fixes required to build x86 on arm
> +SRCREV:pn-xen = "\${AUTOREV}"
> +SRCREV:pn-xen-tools = "\${AUTOREV}"
> +
> +# Disable all QA errors as the recipe is not up to date with changes in Xen
> +# when we use local sources
> +ERROR_QA:pn-xen = "arch"
> +ERROR_QA:pn-xen-tools = "arch"
> +
> +EOF
> +
> +    if [ "${do_localsrc}" = "y" ]; then
> +        XENBASE=$(dirname "$(realpath -m "${XENDIR}")")
> +        XENSUB=$(basename "$(realpath -m "${XENDIR}")")
> +
> +        cat <<EOF >> "${destdir}/conf/local.conf"
> +# Use local sources for xen and xen-tools
> +FILESEXTRAPATHS:prepend:pn-xen := "${XENBASE}:"
> +FILESEXTRAPATHS:prepend:pn-xen-tools := "${XENBASE}:"
> +
> +SRC_URI:pn-xen = "file://${XENSUB}/;subdir=local-xen/"
> +SRC_URI:pn-xen-tools = "file://${XENSUB}/;subdir=local-xen/"
> +
> +S:pn-xen = "\${WORKDIR}/local-xen/${XENSUB}"
> +S:pn-xen-tools = "\${WORKDIR}/local-xen/${XENSUB}"
> +
> +SRCPV:pn-xen = "1"
> +SRCPV:pn-xen-tools = "1"
> +
> +EOF
> +    fi
> +}
> +
> +function project_build() {
> +    target="${1:?}"
> +    destdir="${BUILDDIR}/${target}"
> +
> +    (
> +        source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}"
> +
> +        bitbake "${build_image}" || exit 1
> +    ) || return 1
> +}
> +
> +function project_clean() {
> +    target="${1:?}"
> +    destdir="${BUILDDIR}/${target}"
> +
> +    rm -rf "${destdir}"
> +}
> +
> +function project_run() {
> +    target="${1:?}"
> +    destdir="${BUILDDIR}/${target}"
> +    (
> +        source "${YOCTODIR}/poky/oe-init-build-env" "${destdir}" > /dev/null 2>&1
> +
> +        /usr/bin/expect <<EOF
> +set timeout 1000
> +spawn bash -c "runqemu serialstdio nographic slirp"
> +
> +expect_after {
> +    -re "(.*)\r" {
> +        exp_continue
> +    }
> +    timeout {send_user "ERROR-Timeout!\n"; exit 1}
> +    eof {send_user "ERROR-EOF!\n"; exit 1}
> +}
> +
> +# wait initial login
> +expect -re ".* login: "
> +send "root\r"
> +expect -re "root@.*# "
> +
> +EOF
> +    exit $?
> +    ) || return 1
> +}
> +
> +function help() {
> +    cat <<EOF
> +Usage: ${0} [TARGET1] [TARGET2]
> +
> +This script is build the yocto xen-image-minimal for different qemu targets
> +and is running it after.
> +Without any target specified, all supported targets are done.
> +
> +Options:
> +  -h, --help       Print this help
> +  -v, --verbose    Verbose build
> +  --list-target    List supported targets
> +  --clean          Clean existing project before starting
> +  --no-build       Do not build (to run an already built project)
> +  --no-run         Do not run
> +  --num-jobs=NUM   Define the number of parallel jobs in Yocto.
> +                   Default: ${BUILDJOBS}
> +  --dump-log       On error, dump the logs on the console
> +  --image=IMG      Yocto image or package to build
> +                   Default: xen-image-minimal
> +  --xen-dir=DIR    path to xen hypervisor source tree
> +                   if not provide, normal yocto version of xen is built
> +                   Default: ${XENDIR}
> +  --out-dir=DIR    directory where to create the projectss
> +                   Default: ${BUILDDIR}
> +  --log-dir=DIR    directory to store logs
> +                   Default: ${LOGDIR}
> +  --cache-dir=DIR  directory where to take and store build cache
> +                   Default: ${CACHEDIR}
> +  --layer-dir=DIR  directory containing the checkout of yocto layers
> +                   Default: ${YOCTODIR}
> +EOF
> +}
> +
> +for OPTION in "$@"
> +do
> +    case ${OPTION} in
> +        -h|--help)
> +            help
> +            exit 0
> +            ;;
> +        -v|--verbose)
> +            VERBOSE="y"
> +            ;;
> +        --list-targets)
> +            echo "${TARGET_SUPPORTED}"
> +            exit 0
> +            ;;
> +        --clean)
> +            do_clean="y"
> +            ;;
> +        --no-build)
> +            do_build="n"
> +            ;;
> +        --no-run)
> +            do_run="n"
> +            ;;
> +        --dump-log)
> +            do_dump="y"
> +            ;;
> +        --num-jobs=*)
> +            BUILDJOBS="${OPTION#*=}"
> +            ;;
> +        --image=*)
> +            build_image="${OPTION#*=}"
> +            ;;
> +        --xen-dir=*)
> +            XENDIR="${OPTION#*=}"
> +            if [ ! -e "${XENDIR}/xen/Makefile" ]; then
> +                echo "No Xen source tree in ${XENDIR}"
> +                exit 1
> +            fi
> +            do_localsrc="y"
> +            ;;
> +        --out-dir=*)
> +            BUILDDIR="${OPTION#*=}"
> +            ;;
> +        --log-dir=*)
> +            LOGDIR="${OPTION#*=}"
> +            ;;
> +        --cache-dir=*)
> +            CACHEDIR="${OPTION#*=}"
> +            ;;
> +        --layer-dir=*)
> +            YOCTODIR="${OPTION#*=}"
> +            ;;
> +        --*)
> +            echo "Invalid option ${OPTION}"
> +            help
> +            exit 1
> +            ;;
> +        *)
> +            if echo "${TARGET_SUPPORTED}" | grep -q -w "${OPTION}"; then
> +                TARGETLIST="${TARGETLIST} ${OPTION}"
> +            else
> +                echo "Unsupported target ${OPTION}"
> +                exit 1
> +            fi
> +            ;;
> +    esac
> +done
> +
> +# if no target is specified build all targets
> +if [ -z "${TARGETLIST}" ]; then
> +    TARGETLIST="${TARGET_SUPPORTED}"
> +fi
> +
> +mkdir -p "${CACHEDIR}"
> +mkdir -p "${LOGDIR}"
> +mkdir -p "${BUILDDIR}"
> +
> +# Make sure we have an absolute path
> +YOCTODIR=$(realpath -m "${YOCTODIR}")
> +CACHEDIR=$(realpath -m "${CACHEDIR}")
> +BUILDDIR=$(realpath -m "${BUILDDIR}")
> +LOGDIR=$(realpath -m "${LOGDIR}")
> +if [ "${do_localsrc}" = "y" ]; then
> +    XENDIR=$(realpath -m "${XENDIR}")
> +fi
> +
> +# Check that we have all the layers we need
> +for f in ${build_layerlist}; do
> +    if [ ! -f "${YOCTODIR}/${f}/conf/layer.conf" ]; then
> +        echo "Layer ${f} missing in ${YOCTODIR}"
> +        exit 1
> +    fi
> +done
> +
> +for f in ${TARGETLIST}; do
> +    if [ "${do_clean}" = "y" ]; then
> +        run_task project_clean "${f}"
> +    fi
> +    if [ ! -f "${BUILDDIR}/${f}/conf/local.conf" ]; then
> +        run_task project_create "${f}"
> +    fi
> +    if [ -f "${BUILDDIR}/${f}/conf/local.conf" ]; then
> +        if [ "${do_build}" = "y" ]; then
> +            run_task project_build "${f}"
> +        fi
> +        if [ "${do_run}" = "y" ]; then
> +            run_task project_run "${f}"
> +        fi
> +
> +    fi
> +done
> +
> +print_progress "Build Complete (${build_result} errors)"
> +echo
> +exit ${build_result}
> +
> diff --git a/automation/build/yocto/yocto.dockerfile.in b/automation/build/yocto/yocto.dockerfile.in
> new file mode 100644
> index 000000000000..b0892d420377
> --- /dev/null
> +++ b/automation/build/yocto/yocto.dockerfile.in
> @@ -0,0 +1,114 @@
> +# Docker file to create an environment to build yocto with virtualization
> +#
> +# Arguments that can be passed during image creation using --build-arg:
> +# "host_uid=$(id -u)": to use current user uid for build user in the image
> +# "host_gid=$(id -g)": to use current user gid for build user in the image
> +# "ubuntu_version=VERS": to select the ubuntu version number
> +
> +# Use standard ubuntu minimal.
> +ARG ubuntu_version=22.04
> +From ##DOCKERPLAT##ubuntu:$ubuntu_version AS base
> +LABEL maintainer.name="The Xen Project " \
> +      maintainer.email="xen-devel@lists.xenproject.org"
> +
> +ENV DEBIAN_FRONTEND=noninteractive
> +
> +# Install minimal ubuntu requirements for yocto and other tools we need.
> +# See https://docs.yoctoproject.org/4.0.1/brief-yoctoprojectqs/index.html#build-host-packages
> +RUN apt-get update && \
> +    apt-get --quiet --yes install \
> +        gawk \
> +        wget \
> +        git \
> +        diffstat \
> +        unzip \
> +        texinfo \
> +        gcc \
> +        build-essential \
> +        chrpath \
> +        socat \
> +        cpio \
> +        python3 \
> +        python3-pip \
> +        python3-pexpect \
> +        xz-utils \
> +        debianutils \
> +        iputils-ping \
> +        python3-git \
> +        python3-jinja2 \
> +        libegl1-mesa \
> +        libsdl1.2-dev \
> +        python3-subunit \
> +        mesa-common-dev \
> +        zstd \
> +        liblz4-tool \
> +        file \
> +        vim \
> +        bison \
> +        expect \
> +        locales \
> +        liblz4-tool \
> +        zstd \
> +        openssl \
> +        libssl3 \
> +        ca-certificates \
> +        && \
> +        apt-get autoremove -y && \
> +        apt-get clean && \
> +        rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
> +
> +# Use bash as shell.
> +RUN rm /bin/sh && ln -s bash /bin/sh
> +
> +# Fix local for yocto.
> +RUN locale-gen en_US.UTF-8 && update-locale LC_ALL=en_US.UTF-8 \
> +    LANG=en_US.UTF-8
> +ENV LANG en_US.UTF-8
> +ENV LC_ALL en_US.UTF-8
> +
> +# Create a user for the build (we don't want to build as root).
> +ENV USER_NAME docker-build
> +ARG host_uid=1000
> +ARG host_gid=1000
> +RUN groupadd -g $host_gid $USER_NAME && \
> +    useradd -g $host_gid -m -s /bin/bash -u $host_uid $USER_NAME
> +
> +# Switch to our user instead of root and start in its home.
> +USER $USER_NAME
> +WORKDIR /home/$USER_NAME
> +
> +# Create needed directories
> +RUN mkdir -p /home/$USER_NAME/yocto-layers \
> +             /home/$USER_NAME/yocto-cache \
> +             /home/$USER_NAME/logs \
> +             /home/$USER_NAME/bin \
> +             /home/$USER_NAME/xen && \
> +    chown $USER_NAME.$USER_NAME /home/$USER_NAME/*
> +
> +# clone yocto repositories we need.
> +RUN for rep in \
> +                https://github.com/openembedded/meta-openembedded \
> +                https://git.yoctoproject.org/poky \
> +                https://git.yoctoproject.org/meta-virtualization \
> +            ; do \
> +        git -C /home/$USER_NAME/yocto-layers \
> +            clone -b ##YOCTOVERSION## --single-branch $rep; \
> +    done
> +
> +# The builder stage is building an initial cache state that we include in the
> +# final image.
> +From base AS builder
> +
> +# This step can take one to several hours depending on your download bandwith
> +# and the speed of your computer.
> +COPY ./build-yocto.sh /
> +RUN /build-yocto.sh --dump-log ##YOCTOTARGET##
> +
> +From base
> +
> +# Only copy the cache status.
> +COPY --from=builder /home/$USER_NAME/yocto-cache /home/$USER_NAME/yocto-cache/.
> +
> +LABEL maintainer.name="The Xen Project " \
> +      maintainer.email="xen-devel@lists.xenproject.org"
> +
> diff --git a/automation/build/yocto/yocto.inc b/automation/build/yocto/yocto.inc
> new file mode 100644
> index 000000000000..e4328ec7f378
> --- /dev/null
> +++ b/automation/build/yocto/yocto.inc
> @@ -0,0 +1,44 @@
> +# This makefile generates the docker files for Yocto builds.
> +# The containers for the current architecture are the one built using make all.
> +# To build containers for a different architecture, you need to call make for
> +# the image you want explicitely.
> +# The containers are named this way:
> +# YOCTOVERSION-TARGET for x86_64 hosts
> +# YOCTOVERSION-TARGET-arm64v8 for arm64 hosts
> +# For example you can build an arm64 container with the following command:
> +# make yocto/kirkstone-qemuarm64-arm64v8
> +
> +# Yocto versions we are currently using.
> +YOCTO_VERSION = kirkstone
> +
> +# Yocto BSPs we want to build for.
> +YOCTO_TARGETS = qemuarm64 qemuarm qemux86-64
> +
> +# Supported container architectures.
> +YOCTO_ARCHS = amd64 arm64v8
> +
> +# Architecture we want to use in gitlab CI (depends on runners arch).
> +CI_ARCH = arm64v8
> +
> +define GEN_DOCKER
> +# Make all is generating architecture we use in the CI.
> +ifeq ($(CI_ARCH),$(3))
> +CONTAINERS += yocto/$(1)-$(2)$(4)
> +else
> +CONTAINERS_EXTRA += yocto/$(1)-$(2)$(4)
> +endif
> +
> +.INTERMEDIATE: yocto/$(1)-$(2)$(4).dockerfile
> +
> +yocto/$(1)-$(2)$(4).dockerfile: yocto/yocto.dockerfile.in
> +	@cat $$< | \
> +	    sed -e "s,##YOCTOVERSION##,$(1),g" | \
> +	    sed -e "s,##YOCTOTARGET##,$(2),g" | \
> +	    sed -e "s,##DOCKERPLAT##,$(3)/,g" > $$@
> +
> +endef
> +
> +$(eval $(foreach version,$(YOCTO_VERSION),\
> +       $(foreach target,$(YOCTO_TARGETS),\
> +       $(foreach arch,$(YOCTO_ARCHS),\
> +       $(call GEN_DOCKER,$(version),$(target),$(arch),$(if $(filter amd64,$(arch)),,-$(arch)))))))
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 21:10:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 21:10:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451183.708814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0qpU-0004MS-Fm; Thu, 01 Dec 2022 21:10:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451183.708814; Thu, 01 Dec 2022 21:10:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0qpU-0004ML-D0; Thu, 01 Dec 2022 21:10:48 +0000
Received: by outflank-mailman (input) for mailman id 451183;
 Thu, 01 Dec 2022 21:10:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DAsL=37=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p0qpT-0004Lw-Eo
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 21:10:47 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f2496e5-71bc-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 22:10:46 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 50C3362121;
 Thu,  1 Dec 2022 21:10:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 09495C433C1;
 Thu,  1 Dec 2022 21:10:43 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f2496e5-71bc-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669929044;
	bh=FF+O9d5Fs7QyG/1MHiZ7t8X5YeoZcrPN86XbZS7Qc1k=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=pdhyA4vdK+LZ+WmrrC8ETBWnHxgmSBci/DX93h8LeD0jB/jOg5KLxszYAKIx3r+7u
	 pymn8XlBr/XiOTrVjgWNl4/IN+EgvvYvFYVw58pO1UtV1B/fiCrg8HsAnC2BUgazfS
	 48jO8LdDOc7WOkOMwas4xxW6KkTmeA5O0oIyM7GuxCy2ABHW9NytsPJqhnXPOLoGIm
	 fW53GDEm/rWcMEpfPvde9CGw6m6oLdHBTIJf5ESGLPRXW1y4ryy9BYdTgkn+CPoKer
	 d6CBAuhy1at8xu96ceuJI2zSU6W+hBBoX0mdbhO0mDPyVVtDmCquoNDos0chZmx18X
	 HvF5BNTs5Cycw==
Date: Thu, 1 Dec 2022 13:10:42 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <bertrand.marquis@arm.com>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v6 2/3] automation: Add a clean rule for containers
In-Reply-To: <b802d2523af791acfdb68b6f8603ff2f0f8573d6.1669904508.git.bertrand.marquis@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212011310350.4039@ubuntu-linux-20-04-desktop>
References: <cover.1669904508.git.bertrand.marquis@arm.com> <b802d2523af791acfdb68b6f8603ff2f0f8573d6.1669904508.git.bertrand.marquis@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 1 Dec 2022, Bertrand Marquis wrote:
> Add make clean support to remove the containers from the local docker
> registry.
> make clean-<image_name> must be called to remove an image:
> make clean-yocto/kirkstone-qemuarm: remove yocto kirkstone for qemuarm
> image
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes in v6:
> - Rework clean rule to prevent calling docker during make parsing
> Changes in v5:
> - remove cleaning of all images using make clean
> Changes in v4:
> - also generate clean rule for CONTAINERS_EXTRA
> Changes in v3:
> - none
> Changes in v2:
> - none
> Changes in v1:
> - patch added
> ---
>  automation/build/Makefile | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/automation/build/Makefile b/automation/build/Makefile
> index c4aaa747ffdf..f1d56ce532a1 100644
> --- a/automation/build/Makefile
> +++ b/automation/build/Makefile
> @@ -28,3 +28,13 @@ all: $(CONTAINERS)
>  clean:
>  	rm -f yocto/*.dockerfile
>  
> +define CLEAN_RULE
> +.PHONY: clean-$(1)
> +clean-$(1):
> +	if [ -n "$$$$(docker image ls -q $(REGISTRY)/$(subst /,:,$(1)))" ]; then \
> +		docker image rm $(REGISTRY)/$(subst /,:,$(1)); \
> +	fi
> +
> +endef
> +
> +$(eval $(foreach img,$(CONTAINERS) $(CONTAINERS_EXTRA),$(call CLEAN_RULE,$(img))))
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 21:11:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 21:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451189.708824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0qqJ-0004um-P3; Thu, 01 Dec 2022 21:11:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451189.708824; Thu, 01 Dec 2022 21:11:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0qqJ-0004uf-MV; Thu, 01 Dec 2022 21:11:39 +0000
Received: by outflank-mailman (input) for mailman id 451189;
 Thu, 01 Dec 2022 21:11:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DAsL=37=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p0qqH-0004Lw-Qr
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 21:11:37 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd8df5ec-71bc-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 22:11:37 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 240B2B82027;
 Thu,  1 Dec 2022 21:11:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 32232C433D6;
 Thu,  1 Dec 2022 21:11:34 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd8df5ec-71bc-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669929094;
	bh=5Il6b0MNmu/OuNNQ9zYVAgnql4xpUXuwHL4pqjBXP+o=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=IwehnRLnAFw5963CAZzoTIUJ0QH3Fkfr128PPi+wc1dfqI4v27RiuBWBfUUHiOnVg
	 IlLAFcSmoFvFWsQSEQcf/xnubAmiWt6nAv3VRci62WlN9VXollma71ZGygaaE56xaA
	 zGHw7n5uFM7QGVUelMu1mDuu5s2vu8i6UejB7BqjKlg5uAkohbXLpStV+hwZWOGZw1
	 0iHT79vcvYiazVmkka2ax1k2xPkZTxEchx275Fcd7AclAsCL9Q6wIwRixWRMy7aoc+
	 69XDeu840jCPZFxGG0WqVzrst9QtJPJckgPyAalAEYnEmO1sWFbNvh5zlgRcbLFz1H
	 Q3/bG3yA86Gxw==
Date: Thu, 1 Dec 2022 13:11:32 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <bertrand.marquis@arm.com>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v6 3/3] automation: Add CI test jobs for Yocto
In-Reply-To: <9a50c9bfad26f6828ab0f6325721286b2af15581.1669904508.git.bertrand.marquis@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212011311170.4039@ubuntu-linux-20-04-desktop>
References: <cover.1669904508.git.bertrand.marquis@arm.com> <9a50c9bfad26f6828ab0f6325721286b2af15581.1669904508.git.bertrand.marquis@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 1 Dec 2022, Bertrand Marquis wrote:
> From: Michal Orzel <michal.orzel@amd.com>
> 
> Populate test jobs for Yocto based tests using the provided containers.
> Due to the size restrictions, it is currently not possible to split the
> build and run tasks, therefore everything is done in a single step.
> 
> Test jobs for the supported Yocto targets are generic to avoid the
> necessity to add new ones after each Yocto release. The only thing
> required to be changed after updating the containers is the variable
> YOCTO_VERSION stored in a .yocto-test template.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes in v6:
> - add comment explaining why the unused x86 yocto entry is there
> Changes in v5:
> - none
> Changes in v4:
> - add .yocto-test for arm64 and x86
> - make yocto jobs use arm64 version
> Changes in v3:
> - patch added
> ---
>  automation/gitlab-ci/test.yaml | 45 ++++++++++++++++++++++++++++++++++
>  1 file changed, 45 insertions(+)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index c7e0078e04f1..2d57f4feb74a 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -54,6 +54,35 @@
>    tags:
>      - x86_64
>  
> +.yocto-test:
> +  extends: .test-jobs-common
> +  script:
> +    - ./automation/build/yocto/build-yocto.sh -v --log-dir=./logs --xen-dir=`pwd` ${YOCTO_BOARD}
> +  variables:
> +    YOCTO_VERSION: kirkstone
> +    CONTAINER: yocto:${YOCTO_VERSION}-${YOCTO_BOARD}-${YOCTO_HOST}
> +  artifacts:
> +    paths:
> +      - 'logs/*'
> +    when: always
> +  needs: []
> +
> +.yocto-test-arm64:
> +  extends: .yocto-test
> +  variables:
> +    YOCTO_HOST: arm64v8
> +  tags:
> +    - arm64
> +
> +# This is not used by any test job as we only run Yocto on arm based machines.
> +# Keep it here so that someone having x86 hardware can easily add jobs.
> +.yocto-test-x86-64:
> +  extends: .yocto-test
> +  variables:
> +    YOCTO_HOST: amd64
> +  tags:
> +    - x86_64
> +
>  # Test jobs
>  build-each-commit-gcc:
>    extends: .test-jobs-common
> @@ -188,3 +217,19 @@ qemu-smoke-x86-64-clang-pvh:
>      - ./automation/scripts/qemu-smoke-x86-64.sh pvh 2>&1 | tee ${LOGFILE}
>    needs:
>      - debian-unstable-clang-debug
> +
> +# Yocto test jobs
> +yocto-qemuarm64:
> +  extends: .yocto-test-arm64
> +  variables:
> +    YOCTO_BOARD: qemuarm64
> +
> +yocto-qemuarm:
> +  extends: .yocto-test-arm64
> +  variables:
> +    YOCTO_BOARD: qemuarm
> +
> +yocto-qemux86-64:
> +  extends: .yocto-test-arm64
> +  variables:
> +    YOCTO_BOARD: qemux86-64
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 21:11:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 21:11:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451191.708835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0qqX-0005Ky-5z; Thu, 01 Dec 2022 21:11:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451191.708835; Thu, 01 Dec 2022 21:11:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0qqX-0005Kr-32; Thu, 01 Dec 2022 21:11:53 +0000
Received: by outflank-mailman (input) for mailman id 451191;
 Thu, 01 Dec 2022 21:11:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0qqV-0005GX-NH
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 21:11:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0qqV-000460-1s; Thu, 01 Dec 2022 21:11:51 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0qqU-0000Me-SV; Thu, 01 Dec 2022 21:11:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=DeXtAJiRecyuvc6hFrpChtod9Sfs+fnlWtR7/wugBB4=; b=DpyxBg1cSb8usgDmyntSFdmJVZ
	rCqOjcwU+WRjxah16kfLQjUKbjaKghaw9vPEF8CMWfhLpk8T2X5SbhFVKahVk3p4/1VM+PmXkqT7f
	EHDe4dnVOP7XimtxYF+T6ymdlZhlZsa12RJm01/97OUDwVGICoQjoGwMnJEkF6jgXtNc=;
Message-ID: <47f6bd45-f976-4e40-6207-c50e7ee2a8f3@xen.org>
Date: Thu, 1 Dec 2022 21:11:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-8-jgross@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH 07/20] tools/xenstore: enhance hashtable implementation
In-Reply-To: <20221101152842.4257-8-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 01/11/2022 15:28, Juergen Gross wrote:
> Today it is possible to set a flag when calling hashtable_destroy() in
> order to specify whether the data associated with the hashtable entries
> should be freed or not. The keys of the entries will always be freed.
> 
> Change that by replacing the flag of hashtable_destroy() by two flags
> for create_hashtable() which will specify whether the data and/or the
> key of each entry should be freed or not.
> 
> This will enable users to have the key e.g. as part of the data.
> 
> Add a new function hashtable_iterate() to call a user specified
> function for each entry in the hashtable.
> 
> Add new primes to the primetable in order to support smaller sizes of
> the hashtable. The primes are selected according to:
> 
> https://planetmath.org/goodhashtableprimes
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   tools/xenstore/hashtable.c      | 66 +++++++++++++++++++++++----------
>   tools/xenstore/hashtable.h      | 35 +++++++++++++++--
>   tools/xenstore/xenstored_core.c |  7 ++--
>   3 files changed, 82 insertions(+), 26 deletions(-)
> 
> diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c
> index 6ac336eff1..7a1548c490 100644
> --- a/tools/xenstore/hashtable.c
> +++ b/tools/xenstore/hashtable.c
> @@ -16,6 +16,7 @@ struct entry
>   
>   struct hashtable {
>       unsigned int tablelength;
> +    unsigned int flags;
>       struct entry **table;
>       unsigned int entrycount;
>       unsigned int loadlimit;
> @@ -25,12 +26,11 @@ struct hashtable {
>   };
>   
>   /*
> -Credit for primes table: Aaron Krowne
> - http://br.endernet.org/~akrowne/
> - http://planetmath.org/encyclopedia/GoodHashTablePrimes.html
> -*/
> + * Credit for primes table: Aaron Krowne
> + * https://planetmath.org/goodhashtableprimes
> + */

You don't seem to explain in the commit message why the URLs have been 
modified. Other than that:

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 21:12:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 21:12:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451197.708847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0qqi-0005jY-Er; Thu, 01 Dec 2022 21:12:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451197.708847; Thu, 01 Dec 2022 21:12:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0qqi-0005jR-BT; Thu, 01 Dec 2022 21:12:04 +0000
Received: by outflank-mailman (input) for mailman id 451197;
 Thu, 01 Dec 2022 21:12:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DAsL=37=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p0qqg-0004Lw-R4
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 21:12:02 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cc94c44c-71bc-11ed-8fd2-01056ac49cbb;
 Thu, 01 Dec 2022 22:12:02 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 9D554B82027;
 Thu,  1 Dec 2022 21:12:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EBB68C4347C;
 Thu,  1 Dec 2022 21:11:58 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc94c44c-71bc-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669929120;
	bh=A9ROI7OMpzgNMQTim+Pje0Jhlkdcbvy53108chFofB0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hYqz5LaQyNomgHC0OCI6OP08YdoKXEUTGwkB5sFs/UXzEgsbBBcJ+KUr8yJzCJMXW
	 G9OXaDAVZTmAZg6sbzBY+XIK9XJp6dQzTtAT48WGg+fJxQYqZ2x5NReHS5203Luf6U
	 hOZ/u6Yoy4V2Bqy0Wr0w1sZgxlO9Zh+osir2I/qRvnOCIu3eCyRPRl/xzTkEp4q1ix
	 OBZiOnb7OkRofdQb4k3/uEdAZAfLgZ08doOt5ndtwbLQ1DstexggGl9O1EYbPi5Qv3
	 yCdTcsFgHjD5uMO7XMz8VIn3+8jReAIAqdMuQWXKB6WlqMwKMLw/F4YAWy8Ji0pPRx
	 uKy4wSW8COpSA==
Date: Thu, 1 Dec 2022 13:11:57 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <bertrand.marquis@arm.com>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH v6 0/3] Yocto Gitlab CI
In-Reply-To: <cover.1669904508.git.bertrand.marquis@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212011311410.4039@ubuntu-linux-20-04-desktop>
References: <cover.1669904508.git.bertrand.marquis@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Tested-by: Stefano Stabellini <sstabellini@kernel.org>


On Thu, 1 Dec 2022, Bertrand Marquis wrote:
> This patch series is a first attempt to check if we could use Yocto in
> gitlab ci to build and run xen on qemu for arm, arm64 and x86.
> 
> The first patch is introducing a container template from which container
> files can be generated for all combinations we want to support (qemu
> arm, arm64 and x86 targets and hosts x86_64 and arm64).
> It is also introducing a generic build script (build-yocto.sh) that is
> used to create, build and run a Yocto project.
> 
> The second patch is adding a way to easily clean locally created
> containers.
> 
> The third patch is introducing some gitlab CI templates and jobs so that
> we can test a Xen source tree in gitlab-CI using Yocto.
> 
> This has been tested on a x86 host machine and on an arm host machine
> (with mk_dsdt.c fix).
> 
> Changes in v6:
> - fix qemux86 errors on arm hosts
> - added some comments
> - fix Makefile to not call docker a lot during each parse
> - several fixes and improvments described in each patch
> 
> Changes in v5:
> - automatic cleanup of generated docker files using INTERMEDIATE
> - typo fixes
> - rebase on Stefano's next branch
> - remove clean rule cleaning all containers
> 
> Changes in v4:
> - rework the container generation to support multiple hosts
> - rework the container generation to use a single template for all
>   docker files (make process is generating the docker files).
> 
> Changes in v3:
> - limit number of jobs in yocto
> - do not copy build script inside container
> - add patch from Michal to create gitlab jobs
> 
> Changes in v2:
> - remove gitignore patch which was merged
> - add a --dump-log support in build-yocto.sh script and use it during
>   container creation to see the error logs.
> 
> 
> *** BLURB HERE ***
> 
> Bertrand Marquis (2):
>   automation: Create Yocto docker images
>   automation: Add a clean rule for containers
> 
> Michal Orzel (1):
>   automation: Add CI test jobs for Yocto
> 
>  .gitignore                                 |   1 +
>  automation/build/Makefile                  |  26 +-
>  automation/build/yocto/build-yocto.sh      | 356 +++++++++++++++++++++
>  automation/build/yocto/yocto.dockerfile.in | 114 +++++++
>  automation/build/yocto/yocto.inc           |  44 +++
>  automation/gitlab-ci/test.yaml             |  45 +++
>  6 files changed, 583 insertions(+), 3 deletions(-)
>  create mode 100755 automation/build/yocto/build-yocto.sh
>  create mode 100644 automation/build/yocto/yocto.dockerfile.in
>  create mode 100644 automation/build/yocto/yocto.inc
> 
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 21:19:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 21:19:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451210.708858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0qxk-0007FW-68; Thu, 01 Dec 2022 21:19:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451210.708858; Thu, 01 Dec 2022 21:19:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0qxk-0007FP-3F; Thu, 01 Dec 2022 21:19:20 +0000
Received: by outflank-mailman (input) for mailman id 451210;
 Thu, 01 Dec 2022 21:19:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mmm5=37=citrix.com=prvs=327587bd7=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p0qxi-0007FJ-9A
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 21:19:18 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cdd5ca19-71bd-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 22:19:16 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdd5ca19-71bd-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669929556;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=hDkJOhI8Mbcv7LZLwCRBkw7mqTxR+Rw5qy0fsyDnMZY=;
  b=LOjy4s8MQP4zLV3nnY9Kps3QsSD+/g9VwACUvUoaDE7igJ1YgxAPWxKt
   pHh6NzFTANkd7dV24yYO9vWRzCdusMiSB/3AvHzmeGJbyFOxYQTV61bEx
   duu+aoSFkJN421ElVO3PnNVW3Mivf1hiL+MmfbC2o6bo5zoq+y3c5oG0g
   c=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 85167982
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:PJEf46gDreShGYU2+V5YmHt0X161ZxAKZh0ujC45NGQN5FlHY01je
 htvWD2BPvmJMWKnKosiO4/n9xgDscfUzdJnGgo+ris9Qy4b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5geHzyJ94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQBEy40Mj3EjNuM+6DhZq4zvJUgIc/CadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJagx/5JEWxY9EglHWdTFCpU3Tjq0w+2XJlyR60aT3McqTcduPLSlQthbF/
 zyZrjSjav0cHMCdzhCO9nKGvOjSmwKjVq0JLaCItdc/1TV/wURMUUZLBDNXu8KRhkegVvpFJ
 kcT+y5oqrI9nGS7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsc9JaQIV47olsH2Vsj
 wLX2YOybdByjFGLYWum6I7IgHS5ABIuPzUuInA+HAgI5fC29enfkSnzZtpkFae0iPj8Fjfx3
 y2GoUACulkDsSIY//7lpA6a2lpAsrCMF1dovVuPAgpJ+ysjPOaYi5qUBU83BBqqBKKQVRG/s
 XcNgKByB8heXMjWxERhrAjgdYxFBspp0hWG2TaD/LF7rVxBHkJPmqgOiAyS3G8zbq45lcbBO
 Sc/Qz956p5JJ2eNZqRqeY+3AMlC5fG+S4W0D6GKN4EQO8UZmOq7EMZGPB744owQuBJ0zfFX1
 WmzLq5A8kr2+Yw4lWHrFo/xIJcgxzwkxHO7eHwI503P7FZqX1bMEe1tGALXPogEAFas/F29H
 yB3a5HblH2ykYTWPkHqzGLkBQtWdyJhVMip9JQ/myzqClMOJVzNwsT5mdsJE7GJVYwO/gsU1
 hlRgnNl9Wc=
IronPort-HdrOrdr: A9a23:6vuqSKEYDebhVYgVpLqFnpLXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskd3ZJhSo6HnBEDgewKpyXcb2/h1AV7PZmfbUQiTXfZfBOnZslnd8kTFn4Ywup
 uIGJIfNDSENykZsS+M2njaLz9P+ri62ZHtod2b42ZmTAlsZa0lxwBlCjyDGkkzaBhaCYE/HJ
 +84NMCgza7Y3wYYumyG3FABoH41pT2vaOjRSRDKw8s6QGIgz/twLnmEyKA1hNbfyJTzawk+W
 3llRW8wqm4qfm0xjLVymeWxZVLn9nKzMdFGaW3+74oAwSprjztSJVqWrWEsjxwivqo8kwWnN
 7FpAplF9hv6lvKF1vF6ifF6k3F6nID+nXiwViXjT/IusriXg83DMJHmMZwbgbZ0Uw9p9txuZ
 g7lV5x9qAnQC8orh6NqOQgZCsa2HZcZkBS0NL7ukYvHbf2roUh7bD3snklU6voVxiKkbzPWN
 MedP00oswmOW9yJkqpxVVH0ZiiWG8+EQyBRVVHssuJ0yJOlHQ81EcAwtcD901wh67VZqM0lt
 gsCJ4Y5I1mX4sTd+ZwFe0BScy4BijERg/NKnubJRDiGLscM3zAppbr6PFtjdvaDaAg3d83gt
 DMQVlYvWk9dwbnDtCPxoRC9lTITH+mVTrgx8lC79xyu6H6RrDsLSqfIWpe4feIsrEaGInWSv
 yzMJVZD7vqKnbvA59A20nkV5xbORAlIbMoUxYAKi2zS+7wW/HXX7bgAYzuzZLWYEsZZl8=
X-IronPort-AV: E=Sophos;i="5.96,210,1665460800"; 
   d="scan'208";a="85167982"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Edwin Torok
	<edvin.torok@citrix.com>, Rob Hoes <Rob.Hoes@citrix.com>
Subject: [PATCH] tools/oxenstored: Render backtraces more nicely in Syslog
Date: Thu, 1 Dec 2022 21:19:06 +0000
Message-ID: <20221201211906.5214-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain

fallback_exception_handler feeds a string with embedded newlines directly into
syslog().  While this is an improvement on getting nothing, syslogd escapes
all control characters it gets, and emits one (long) line into the log.

Fix the problem generally in the syslog stub.  As we already have a local copy
of the string, split it in place and emit one syslog() call per line.

Also tweak Logging.msg_of to avoid putting an extra newline on a string which
already ends with one.

Fixes: ee7815f49faf ("tools/oxenstored: Set uncaught exception handler")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Christian Lindig <christian.lindig@citrix.com>
CC: David Scott <dave@recoil.org>
CC: Edwin Torok <edvin.torok@citrix.com>
CC: Rob Hoes <Rob.Hoes@citrix.com>
---
 tools/ocaml/xenstored/logging.ml     |  2 +-
 tools/ocaml/xenstored/syslog_stubs.c | 26 +++++++++++++++++++++++---
 2 files changed, 24 insertions(+), 4 deletions(-)

diff --git a/tools/ocaml/xenstored/logging.ml b/tools/ocaml/xenstored/logging.ml
index 255051437d60..f233bc9a3956 100644
--- a/tools/ocaml/xenstored/logging.ml
+++ b/tools/ocaml/xenstored/logging.ml
@@ -344,7 +344,7 @@ let watch_not_fired ~con perms path =
 	access_logging ~tid:0 ~con ~data Watch_not_fired ~level:Info
 
 let msg_of exn bt =
-	Printf.sprintf "Fatal exception: %s\n%s\n" (Printexc.to_string exn)
+	Printf.sprintf "Fatal exception: %s\n%s" (Printexc.to_string exn)
 		(Printexc.raw_backtrace_to_string bt)
 
 let fallback_exception_handler exn bt =
diff --git a/tools/ocaml/xenstored/syslog_stubs.c b/tools/ocaml/xenstored/syslog_stubs.c
index e16c3a9491d0..760e78ff73dc 100644
--- a/tools/ocaml/xenstored/syslog_stubs.c
+++ b/tools/ocaml/xenstored/syslog_stubs.c
@@ -37,14 +37,34 @@ value stub_syslog(value facility, value level, value msg)
 {
 	CAMLparam3(facility, level, msg);
 	char *c_msg = strdup(String_val(msg));
+	char *s = c_msg, *ss;
 	int c_facility = __syslog_facility_table[Int_val(facility)]
 	               | __syslog_level_table[Int_val(level)];
 
 	if ( !c_msg )
 		caml_raise_out_of_memory();
-	caml_enter_blocking_section();
-	syslog(c_facility, "%s", c_msg);
-	caml_leave_blocking_section();
+
+	/*
+	 * syslog() doesn't like embedded newlines, and c_msg generally
+	 * contains them.
+	 *
+	 * Split the message in place by converting \n to \0, and issue one
+	 * syslog() call per line, skipping the final iteration if c_msg ends
+	 * with a newline anyway.
+	 */
+	do {
+		ss = strchr(s, '\n');
+		if ( ss )
+			*ss = '\0';
+		else if ( *s == '\0' )
+			break;
+
+		caml_enter_blocking_section();
+		syslog(c_facility, "%s", s);
+		caml_leave_blocking_section();
+
+		s = ss + 1;
+	} while ( ss );
 
 	free(c_msg);
 	CAMLreturn(Val_unit);
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 21:35:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 21:35:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451224.708872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rCt-00025R-IY; Thu, 01 Dec 2022 21:34:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451224.708872; Thu, 01 Dec 2022 21:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rCt-00025K-F3; Thu, 01 Dec 2022 21:34:59 +0000
Received: by outflank-mailman (input) for mailman id 451224;
 Thu, 01 Dec 2022 21:34:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0rCr-00025E-Ge
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 21:34:57 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0rCq-0004Tr-KO; Thu, 01 Dec 2022 21:34:56 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0rCq-0001F7-F5; Thu, 01 Dec 2022 21:34:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=y/Xl6y/yN3FhYD0oxvSntL3rjTbEnbIa5V4Ya8I5uBU=; b=umNdiBu6mLBc8Wu6RXreB57uq2
	WnkIqdYTnoY4aRCNymmLDdSz/n040iZOVxwWqw36SmO3euZA43XKsTduYdiZePgIthpRimovAYCIp
	4B3U2fbEurLe1vj2F4e8nBCyqnfHf+H9LdIY+CktE42I3Q5qT5vXGBzsGjOArbBLkvLc=;
Message-ID: <b0380217-09ff-1fa8-b6b3-1bc98766114b@xen.org>
Date: Thu, 1 Dec 2022 21:34:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-9-jgross@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH 08/20] tools/xenstore: add hashlist for finding struct
 domain by domid
In-Reply-To: <20221101152842.4257-9-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 01/11/2022 15:28, Juergen Gross wrote:
> @@ -341,49 +339,56 @@ static bool get_domain_info(unsigned int domid, xc_dominfo_t *dominfo)
>   	       dominfo->domid == domid;
>   }
>   
> -void check_domains(void)
> +static int check_domain(void *k, void *v, void *arg)

Looking at this callback, shouldn't 'k' be const? If not, wouldn't this 
mean a caller could potentially mess up with the hashtable?

>   {
>   	xc_dominfo_t dominfo;
> -	struct domain *domain;
>   	struct connection *conn;
> -	int notify = 0;
>   	bool dom_valid;
> +	struct domain *domain = v;
> +	bool *notify = arg;
>   
> - again:
> -	list_for_each_entry(domain, &domains, list) {
> -		dom_valid = get_domain_info(domain->domid, &dominfo);
> -		if (!domain->introduced) {
> -			if (!dom_valid) {
> -				talloc_free(domain);
> -				goto again;
> -			}
> -			continue;
> -		}
> -		if (dom_valid) {
> -			if ((dominfo.crashed || dominfo.shutdown)
> -			    && !domain->shutdown) {
> -				domain->shutdown = true;
> -				notify = 1;
> -				/*
> -				 * Avoid triggering watch events when the
> -				 * domain's nodes are being deleted.
> -				 */
> -				if (domain->conn)
> -					conn_delete_all_watches(domain->conn);
> -			}
> -			if (!dominfo.dying)
> -				continue;
> +	dom_valid = get_domain_info(domain->domid, &dominfo);
> +	if (!domain->introduced) {
> +		if (!dom_valid) {
> +			talloc_free(domain);
> +			return 1;

You are only freeing one domain here. So shouldn't we return 0? If not 
please explain in a comment.

>   		}
> -		if (domain->conn) {
> -			/* domain is a talloc child of domain->conn. */
> -			conn = domain->conn;
> -			domain->conn = NULL;
> -			talloc_unlink(talloc_autofree_context(), conn);
> -			notify = 0; /* destroy_domain() fires the watch */
> -			goto again;
> +		return 0;
> +	}
> +	if (dom_valid) {
> +		if ((dominfo.crashed || dominfo.shutdown)
> +		    && !domain->shutdown) {
> +			domain->shutdown = true;
> +			*notify = true;
> +			/*
> +			 * Avoid triggering watch events when the domain's
> +			 * nodes are being deleted.
> +			 */
> +			if (domain->conn)
> +				conn_delete_all_watches(domain->conn);
>   		}
> +		if (!dominfo.dying)
> +			return 0;
> +	}
> +	if (domain->conn) {
> +		/* domain is a talloc child of domain->conn. */
> +		conn = domain->conn;
> +		domain->conn = NULL;
> +		talloc_unlink(talloc_autofree_context(), conn);
> +		*notify = false; /* destroy_domain() fires the watch */
> +		return 1;

Can you add a comment explaining why 1 is returned here? Is this because 
we may free two domains?

>   	}
>   
> +	return 0;
> +}

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 21:51:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 21:51:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451231.708883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rSm-0005LE-US; Thu, 01 Dec 2022 21:51:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451231.708883; Thu, 01 Dec 2022 21:51:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rSm-0005L7-RB; Thu, 01 Dec 2022 21:51:24 +0000
Received: by outflank-mailman (input) for mailman id 451231;
 Thu, 01 Dec 2022 21:51:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0rSl-0005L1-EL
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 21:51:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0rSk-0004tk-H3; Thu, 01 Dec 2022 21:51:22 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0rSk-0001u5-AI; Thu, 01 Dec 2022 21:51:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=TjgdT73Go9EFyw1exspIIBBGTGvy1DNvA1kcuv13agA=; b=PupH94KySFcAL814S85HSEH9gw
	QstJu5edMT17bs7Rkan1+8EkpMz7RrACj+3pBknO1+8VCenQ2foT5hDteAS8GtKYaMcLqYYAb0CFn
	Lw9hOhvxFQEVPhLzTgkY88ETFeyAh3QtU/bp+mYW1SGQtG0mdX/H21izHLWPE/tVXN6s=;
Message-ID: <821a4970-2d21-e9c2-865a-868daeadc510@xen.org>
Date: Thu, 1 Dec 2022 21:51:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-11-jgross@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH 10/20] tools/xenstore: replace watch->relative_path with a
 prefix length
In-Reply-To: <20221101152842.4257-11-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 01/11/2022 15:28, Juergen Gross wrote:
> @@ -324,8 +312,7 @@ const char *dump_state_watches(FILE *fp, struct connection *conn,
>   		head.length = sizeof(sw);
>   
>   		sw.conn_id = conn_id;
> -		path = get_watch_path(watch, watch->node);
> -		sw.path_length = strlen(path) + 1;
> +		sw.path_length = strlen(watch->node + watch->prefix_len) + 1;

Why are you open-coding get_watch_path()?

>   		sw.token_length = strlen(watch->token) + 1;
>   		head.length += sw.path_length + sw.token_length;
>   		head.length = ROUNDUP(head.length, 3);
> @@ -334,7 +321,8 @@ const char *dump_state_watches(FILE *fp, struct connection *conn,
>   		if (fwrite(&sw, sizeof(sw), 1, fp) != 1)
>   			return "Dump watch state error";
>   
> -		if (fwrite(path, sw.path_length, 1, fp) != 1)
> +		if (fwrite(watch->node + watch->prefix_len, sw.path_length,
> +			   1, fp) != 1)
>   			return "Dump watch path error";
>   		if (fwrite(watch->token, sw.token_length, 1, fp) != 1)
>   			return "Dump watch token error";

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 21:53:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 21:53:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451237.708894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rV9-0005vB-BW; Thu, 01 Dec 2022 21:53:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451237.708894; Thu, 01 Dec 2022 21:53:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rV9-0005v4-8c; Thu, 01 Dec 2022 21:53:51 +0000
Received: by outflank-mailman (input) for mailman id 451237;
 Thu, 01 Dec 2022 21:53:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0rV8-0005uu-ON; Thu, 01 Dec 2022 21:53:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0rV8-0004vW-K8; Thu, 01 Dec 2022 21:53:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0rV8-00065r-5Z; Thu, 01 Dec 2022 21:53:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0rV8-0006Fj-54; Thu, 01 Dec 2022 21:53:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gSI62qLaJCWjWw81O6z1RcbPK/ANc670vv2YaMgogEo=; b=PNEzD2e4iG4FX7YyWhYZJhZftR
	z9kjZIaoiq8tP/5sHzgdLZoqXr0k3FXW1ipS7+A3lAXrq/H0XJ6VD8gdewC8go3DGD5qpJTNpZkkv
	I+LEIhzuAibUHLX9xK60QOvYAQd5m5gxuijcKncSOLiLzVKDzNlGrnsQHRPcGJryByRc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175007-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing baseline test] 175007: tolerable FAIL
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl:debian-fixup:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=345135942bf9632eba1409ba432cfcae3b7649c7
X-Osstest-Versions-That:
    xen=345135942bf9632eba1409ba432cfcae3b7649c7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 01 Dec 2022 21:53:50 +0000

"Old" tested version had not actually been tested; therefore in this
flight we test it, rather than a new candidate.  The baseline, if
any, is the most recent actually tested revision.

flight 175007 xen-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175007/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail baseline untested
 test-amd64-amd64-xl          13 debian-fixup            fail baseline untested
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop       fail baseline untested
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop      fail baseline untested
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail baseline untested
 test-armhf-armhf-libvirt   16 saverestore-support-check fail baseline untested
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail baseline untested
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop       fail baseline untested
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop      fail baseline untested
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop       fail baseline untested
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop      fail baseline untested
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop       fail baseline untested
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop      fail baseline untested
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail baseline untested
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  345135942bf9632eba1409ba432cfcae3b7649c7
baseline version:
 xen                  345135942bf9632eba1409ba432cfcae3b7649c7

Last test of basis   175007  2022-12-01 11:08:27 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Thu Dec 01 21:57:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 21:57:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451249.708904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rYZ-0006cB-2k; Thu, 01 Dec 2022 21:57:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451249.708904; Thu, 01 Dec 2022 21:57:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rYY-0006c4-WE; Thu, 01 Dec 2022 21:57:23 +0000
Received: by outflank-mailman (input) for mailman id 451249;
 Thu, 01 Dec 2022 21:57:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dhpc=37=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1p0rYX-0006by-IH
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 21:57:21 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ecbb62a-71c3-11ed-91b6-6bf2151ebd3b;
 Thu, 01 Dec 2022 22:57:18 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 2B1LunS3065313
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Thu, 1 Dec 2022 16:56:54 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 2B1Lunlf065312;
 Thu, 1 Dec 2022 13:56:49 -0800 (PST) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ecbb62a-71c3-11ed-91b6-6bf2151ebd3b
Date: Thu, 1 Dec 2022 13:56:49 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: George Dunlap <George.Dunlap@citrix.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [ANNOUNCE] Call for agenda items for 1 December Community Call @
 1600 UTC
Message-ID: <Y4kjIaU6PxrR9UcB@mattapan.m5p.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CDEE837E-887F-4386-9EF4-E57C2057C4EC@citrix.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Thu, Nov 24, 2022 at 05:11:36PM +0000, George Dunlap wrote:
> 
> == Dial-in Information ==
> ## Meeting time
> 16:00 - 17:00 UTC
> Further International meeting times:
> https://www.timeanddate.com/worldclock/meetingdetails.html?year=2022&month=12&day=1&hour=16&min=0&sec=0&p1=1234&p2=37&p3=224&p4=179
> 

I guess I have to ask, what is the goal of the Community Call?  Neither
this message, nor the wiki page
(https://wiki.xenproject.org/wiki/Community_Call) say much about the
Community Call.

Varies from place to place, but many places meeting times are more
aspirational than ridged.  As such I felt rather disparaged by being
careful about time, but no (obvious) effort spent prioritizing items.

This seemed to be being pointed out at the end of D.3, which was meant as
low-priority, but was dealt with first purely due to being added first.
Then most of the time was spent on D.4 when D.9 actually seemed a rather
timely issue (the idea to get a bit of consideration before 4.17).

Problem with D.1 being at the start is it was unexpected half the agenda
would be thrown in the garbage due to time.  Could I suggest the 10th as
better?


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Thu Dec 01 21:59:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 21:59:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451256.708916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0ra9-0007Ab-DW; Thu, 01 Dec 2022 21:59:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451256.708916; Thu, 01 Dec 2022 21:59:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0ra9-0007AU-AY; Thu, 01 Dec 2022 21:59:01 +0000
Received: by outflank-mailman (input) for mailman id 451256;
 Thu, 01 Dec 2022 21:59:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0ra8-0007AN-0E
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 21:59:00 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0ra7-000512-EE; Thu, 01 Dec 2022 21:58:59 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0ra7-0002Rk-83; Thu, 01 Dec 2022 21:58:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=z31vgeUtwP7PlNo7T3SR2TqLSJGlpOUXOn7D0ezub7E=; b=QVqhlIwwzrJMzEFJOL2pDhRhSY
	X07ygzqnVblHsI/m7rWPkwiB4aVG6QFGw3Z58rjpQBrSOIDPVuw7+jCSC0XRMaW5jN3UkCsbpw2uK
	JlDNrHAqk2I6WbdvHGewR0SKuipcHwar2zUJtSorFQcMiQrqxSkro59djVBnXY6cXAcg=;
Message-ID: <6bad7b3c-eaa2-d342-a7f2-d265bdefd54a@xen.org>
Date: Thu, 1 Dec 2022 21:58:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH 11/20] tools/xenstore: move changed domain handling
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-12-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221101152842.4257-12-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 01/11/2022 15:28, Juergen Gross wrote:
>   static bool check_indexes(XENSTORE_RING_IDX cons, XENSTORE_RING_IDX prod)
> @@ -492,8 +504,12 @@ static struct domain *find_or_alloc_existing_domain(unsigned int domid)
>   	xc_dominfo_t dominfo;
>   
>   	domain = find_domain_struct(domid);
> -	if (!domain && get_domain_info(domid, &dominfo))
> -		domain = alloc_domain(NULL, domid);
> +	if (!domain) {
> +		if (!get_domain_info(domid, &dominfo))
> +			errno = ENOENT;
> +		else
> +			domain = alloc_domain(NULL, domid);
> +	}

I don't understand how this change is related to this commit.

[...]

> +int acc_add_dom_nbentry(const void *ctx, struct list_head *head, int val,
> +			unsigned int domid)
> +{
> +	struct changed_domain *cd;
> +
> +	cd = acc_get_changed_domain(ctx, head, domid);
> +	if (!cd)
> +		return errno;
> +
> +	cd->nbentry += val;

As a future improvement, it would be worth considering to check for 
underflow/overflow.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 22:00:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 22:00:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451262.708927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rbV-0000At-Ng; Thu, 01 Dec 2022 22:00:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451262.708927; Thu, 01 Dec 2022 22:00:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rbV-0000Am-KO; Thu, 01 Dec 2022 22:00:25 +0000
Received: by outflank-mailman (input) for mailman id 451262;
 Thu, 01 Dec 2022 22:00:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0rbU-0000Ab-8H
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 22:00:24 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0rbT-00056T-Po; Thu, 01 Dec 2022 22:00:23 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0rbT-0002dI-KY; Thu, 01 Dec 2022 22:00:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=j77L+7rn9XialQtiCqg3LNAhwfmcRwccAp0KLCVIokA=; b=cxQaE+vJ45ZWnm9S2nNVCYXq81
	vOkE/czsjIefrGNz3ogsoeIiAFTDxpB4QDyASijCIivJ4rCfEiyRRTvC8CEX9C61xadN2yXByUMuS
	QmlwvK2lHseXAuer4dBY+umO+oJBchKmOjdyWQgDkx9H2r4rOScGsWIAZyviVUgYD0w0=;
Message-ID: <08da47e9-1748-c81c-5c92-5c6c3e116a9b@xen.org>
Date: Thu, 1 Dec 2022 22:00:21 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH 14/20] tools/xenstore: replace literal domid 0 with
 dom0_domid
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-15-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221101152842.4257-15-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 01/11/2022 15:28, Juergen Gross wrote:
> There are some places left where dom0 is associated with domid 0.
> 
> Use dom0_domid instead.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 22:06:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 22:06:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451271.708938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rgx-0001Hq-Bd; Thu, 01 Dec 2022 22:06:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451271.708938; Thu, 01 Dec 2022 22:06:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rgx-0001Hj-7z; Thu, 01 Dec 2022 22:06:03 +0000
Received: by outflank-mailman (input) for mailman id 451271;
 Thu, 01 Dec 2022 22:06:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0rgv-0001Hd-8K
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 22:06:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0rgu-0005Bm-EF; Thu, 01 Dec 2022 22:06:00 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0rgu-0002sD-7w; Thu, 01 Dec 2022 22:06:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=OmJswFBmcWPfKCzdaofrgc0EpIZQouYCL7rax589nrI=; b=4yTGniL6HAX4HPb9Qh6L9IHeq5
	VFpSfisZnUTARQo3dDMtrLmVGIJFowK/AtrrGiFAMRicraRfrCNFRLOUYEZN2bqBIVN8w9aK0zC5X
	qxq96pbl04H13LBE7QiBK/Si9t0p8KminU9Ej78+zPvOIkKHtPib5szp1a/la6yOy2jw=;
Message-ID: <872b4aae-34c1-be54-be58-6738ebd0537c@xen.org>
Date: Thu, 1 Dec 2022 22:05:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH 15/20] tools/xenstore: make domain_is_unprivileged() an
 inline function
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-16-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221101152842.4257-16-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 01/11/2022 15:28, Juergen Gross wrote:
> clang is complaining about a NULL dereference for constructs like:
> 
>    domain_is_unprivileged(conn) ? conn->in : NULL

I have just build xenstored with clang 11 and didn't get a complain. So 
can you provide more details?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 22:07:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 22:07:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451277.708948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0ri4-0001pG-Ka; Thu, 01 Dec 2022 22:07:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451277.708948; Thu, 01 Dec 2022 22:07:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0ri4-0001p9-Hj; Thu, 01 Dec 2022 22:07:12 +0000
Received: by outflank-mailman (input) for mailman id 451277;
 Thu, 01 Dec 2022 22:07:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0ri3-0001oz-VN
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 22:07:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0ri3-0005Cn-Es; Thu, 01 Dec 2022 22:07:11 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0ri3-0002yC-9c; Thu, 01 Dec 2022 22:07:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=1skNf1SaxFsuG9O5YNfhkL679oumo777KLQSsPBHxZE=; b=zVCJvFXS1wIgE0P7H9acSiRXVF
	fhg++F9qEieibDflQ2gMy4CyPZ48Jl+BPcKenNTiTofomyev4FhtQ84Zi7OiPcVauIWssm96ZYvvq
	qGKWUBz2bRQ8ox3VThQ2p0JcYrTho0yJ5QJ7HDhpeU218yf3Ey8GQwsrgZd7HRZp7MWU=;
Message-ID: <abe72943-e9ec-4532-1667-7dfe1f739046@xen.org>
Date: Thu, 1 Dec 2022 22:07:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH 16/20] tools/xenstore: let chk_domain_generation() return
 a bool
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-17-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221101152842.4257-17-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 01/11/2022 15:28, Juergen Gross wrote:
> Instead of returning 0 or 1 let chk_domain_generation() return a
> boolean value.
> 
> Simplify the only caller by removing the ret variable.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 22:08:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 22:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451283.708960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rjA-0002OZ-UN; Thu, 01 Dec 2022 22:08:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451283.708960; Thu, 01 Dec 2022 22:08:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0rjA-0002OS-RH; Thu, 01 Dec 2022 22:08:20 +0000
Received: by outflank-mailman (input) for mailman id 451283;
 Thu, 01 Dec 2022 22:08:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0rj9-0002OK-AU
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 22:08:19 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0rj8-0005E9-Q2; Thu, 01 Dec 2022 22:08:18 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0rj8-0002zE-Kc; Thu, 01 Dec 2022 22:08:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=FeAd2bEO6nliE1shaBxOPmnk4d8P1mCHRWApzpsDGzs=; b=O/JIjpXvWDApjV1UL9WApaM666
	lY/YBs6BbT2FUdMd04Plxpvd9cKk+9FbtPP2JI9hpeZnFP/X5gCP0+nj7Gubg9HbiJ9We/5xIzAXb
	9kk1GxtQUwQpBbNAodNj1XvGvAbtW+B7MEVzbulSk2jxQ9PlhYI0EYyZ9f0J0AICpRvM=;
Message-ID: <cb23c467-f878-7c3d-1ac6-9d56b11ff8f6@xen.org>
Date: Thu, 1 Dec 2022 22:08:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH 18/20] tools/xenstore: make log macro globally available
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-19-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221101152842.4257-19-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 01/11/2022 15:28, Juergen Gross wrote:
> Move the definition of the log() macro to xenstored_core.h in order
> to make it usable from other source files, too.
> 
> While at it preserve errno from being modified.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 22:14:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 22:14:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451292.708970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0roX-0004Jn-HS; Thu, 01 Dec 2022 22:13:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451292.708970; Thu, 01 Dec 2022 22:13:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0roX-0004Jg-Eq; Thu, 01 Dec 2022 22:13:53 +0000
Received: by outflank-mailman (input) for mailman id 451292;
 Thu, 01 Dec 2022 22:13:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p0roV-0004Ja-Ui
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 22:13:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0roV-0005TN-8D; Thu, 01 Dec 2022 22:13:51 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p0roV-0003IW-1u; Thu, 01 Dec 2022 22:13:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=8LhJlnoEam1aGlTQzavjsoeMKSJPS3Ces6hlUZUWMl4=; b=N2g0bzcFwKBVNVyntefKi3ang2
	Is7E9jezHCbR0mQIdOQ/BmfHQsPFIFHYzeRSGQHy3coskeGU9UD3UJn6t12AmU6/5btxEqbc1Crc1
	hfoF3lPcX3BhtpZCtz6VkiYD2KGx+1lqGjPbFZcRfiu7W3FRioHQdE/vIEDU7uRgHaOs=;
Message-ID: <34de8b28-76d9-dcd4-8193-c327a02d94f3@xen.org>
Date: Thu, 1 Dec 2022 22:13:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH 01/12] tools/xenstore: manage per-transaction domain
 accounting data in an array
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101160422.7212-1-jgross@suse.com>
 <20221101160422.7212-2-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221101160422.7212-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 01/11/2022 16:04, Juergen Gross wrote:
> In order to prepare keeping accounting data in an array instead of
> using independent fields, switch the struct changed_domain accounting
> data to that scheme, for now only using an array with one element.
> 
> In order to be able to extend this scheme add the needed indexing enum
> to xenstored_domain.h.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   tools/xenstore/xenstored_domain.c | 17 +++++++++--------
>   tools/xenstore/xenstored_domain.h |  5 +++++
>   2 files changed, 14 insertions(+), 8 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
> index 582b78b0ee..399fc920bb 100644
> --- a/tools/xenstore/xenstored_domain.c
> +++ b/tools/xenstore/xenstored_domain.c
> @@ -99,8 +99,8 @@ struct changed_domain
>   	/* Identifier of the changed domain. */
>   	unsigned int domid;
>   
> -	/* Amount by which this domain's nbentry field has changed. */
> -	int nbentry;
> +	/* Accounting data. */
> +	int acc[ACC_TR_N];
>   };
>   
>   static struct hashtable *domhash;
> @@ -558,7 +558,7 @@ int acc_fix_domains(struct list_head *head, bool update)
>   	int cnt;
>   
>   	list_for_each_entry(cd, head, list) {
> -		cnt = domain_nbentry_fix(cd->domid, cd->nbentry, update);
> +		cnt = domain_nbentry_fix(cd->domid, cd->acc[ACC_NODES], update);
>   		if (!update) {
>   			if (cnt >= quota_nb_entry_per_domain)
>   				return ENOSPC;
> @@ -603,8 +603,8 @@ static struct changed_domain *acc_get_changed_domain(const void *ctx,
>   	return cd;
>   }
>   
> -static int acc_add_dom_nbentry(const void *ctx, struct list_head *head, int val,
> -			       unsigned int domid)
> +static int acc_add_changed_dom(const void *ctx, struct list_head *head,
> +			       unsigned int what, int val, unsigned int domid)

AFAIU "what" will be a value from the enum. So let's do some hardening 
and use the type "enum ...".

>   {
>   	struct changed_domain *cd;
>   
> @@ -613,9 +613,9 @@ static int acc_add_dom_nbentry(const void *ctx, struct list_head *head, int val,
>   		return 0;
>   
>   	errno = 0;
> -	cd->nbentry += val;

I would consider to adding an assert() (or possibly runtime check) to 
confirm the 'what' is smaller than the array size.

> +	cd->acc[what] += val;
>   
> -	return cd->nbentry;
> +	return cd->acc[what];
>   }
>   
>   static void domain_conn_reset(struct domain *domain)
> @@ -1076,7 +1076,8 @@ static int domain_nbentry_add(struct connection *conn, unsigned int domid,
>   
>   	if (conn && conn->transaction) {
>   		head = transaction_get_changed_domains(conn->transaction);
> -		ret = acc_add_dom_nbentry(conn->transaction, head, add, domid);
> +		ret = acc_add_changed_dom(conn->transaction, head, ACC_NODES,
> +					  add, domid);
>   		if (errno) {
>   			fail_transaction(conn->transaction);
>   			return -1;
> diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
> index dc4660861e..124b9e1b1e 100644
> --- a/tools/xenstore/xenstored_domain.h
> +++ b/tools/xenstore/xenstored_domain.h
> @@ -19,6 +19,11 @@
>   #ifndef _XENSTORED_DOMAIN_H
>   #define _XENSTORED_DOMAIN_H
>   
> +enum {
> +	ACC_NODES,
> +	ACC_TR_N	/* Number of elements per transaction and domain. */
> +};
> +
>   void handle_event(void);
>   
>   void check_domains(void);

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 01 23:32:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 01 Dec 2022 23:32:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451300.708982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0t1u-0007VE-6N; Thu, 01 Dec 2022 23:31:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451300.708982; Thu, 01 Dec 2022 23:31:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0t1u-0007V7-2e; Thu, 01 Dec 2022 23:31:46 +0000
Received: by outflank-mailman (input) for mailman id 451300;
 Thu, 01 Dec 2022 23:31:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jPp1=37=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p0t1s-0007V1-5g
 for xen-devel@lists.xenproject.org; Thu, 01 Dec 2022 23:31:44 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe12::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ddb2646-71d0-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 00:31:40 +0100 (CET)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by GV1PR08MB8620.eurprd08.prod.outlook.com (2603:10a6:150:84::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 1 Dec
 2022 23:31:36 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%9]) with mapi id 15.20.5880.010; Thu, 1 Dec 2022
 23:31:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ddb2646-71d0-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hXH0ihK8JHB1aA2ozCxAxanuaLXC33lFVKVQQW3hy2S2TrpF/sq4QNmfb3rSISokSlMeA5KHtO8u5TiV7Sg8OeiYlcAjUvQsPmV5j8Gubc3Qz6lpFBmX9kHz+M3KtbprvTV6i2xjRxHnlvp7NfProHYVA3qR2h2pO8MQew4LpnvUK6VyN+fnAvYCj5HCExjeemQeLL+3hM92dwu2a/fXLIfkaAUiFErAOXKoSljh0rulGyDcMRElFH6eWwJqOJgGlvyk33OSiCWISionFMY9UdLMNirD4vbEnKtgD/oOwffYEXZyquwPxziHlzXxDUrQxjPTCRguIhH9BZAcZuVAcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rnZNryFeysFsqnFksvsUQwhvWeWjJ2FUMVzBH9Ncc6s=;
 b=OX5S3OhqJYntJQni/XVjfTxjePHPVFwQaEqKv5diQsPwFnVo23uomyoOrUlnwZL7zW9o7GWSEQ0q6f/q/Zdt+4g1i7nfnafMIiJ1wnY9iO24IoVYlO73irULLXuoWzI2tFO9lKJMXIkpy01n1hxxvQaoxa6jKj1VGkLTMR/Buv00L6Lz8rLyoYousfCxrkEni/XCwmboCfV6hxBAmasCprwua9hmSurzbFzSfSfUPzIwQKkWGu+C5svpIOoksQ3IGlGeOx3oiSFi8Ob6nzDZmLeCBC9SabaO8eINAkyXYiqj0n3AmaANTL7sPdv+UPluiY4arZCMqxBsJODxSYwluA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rnZNryFeysFsqnFksvsUQwhvWeWjJ2FUMVzBH9Ncc6s=;
 b=w8z3ragAoyxZTfxlY7B0B9WdWnnzc6FhCi+gzJTLppt7DZv0fLtU4ir2Z6yiR28I/3OQEvBByp47ZKG7hROHaNKXJ4JxPvVmvoIobNIZOCkrJhgqDRgs5nok36jORdG0Z9WibClopgDk8zu9e//HbXfsLSZBL+RWmw0YRD/QH4U=
From: Henry Wang <Henry.Wang@arm.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
CC: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Roger Pau
 Monne <roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [4.17?] Re: [PATCH] x86/HVM+shim: fix build when
 !CONFIG_GRANT_TABLE
Thread-Topic: [4.17?] Re: [PATCH] x86/HVM+shim: fix build when
 !CONFIG_GRANT_TABLE
Thread-Index: AQHZBZ20FNPkaUdVSkig9Y686gPD965ZMT6AgAAA44CAAAFewIAAMiyAgABItkA=
Date: Thu, 1 Dec 2022 23:31:36 +0000
Message-ID:
 <AS8PR08MB79912AE2E083F0940AC4C24292149@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <2ea8c3de-4967-802c-9a32-79203cd41384@suse.com>
 <261da93e-9464-8e9f-6ae2-a8f8ec466def@citrix.com>
 <8b93be0a-cca6-f1f2-2902-afcf1f8915f6@suse.com>
 <AS8PR08MB7991E47CA9036E000C00E68D92149@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <a8db44d8-0cf3-790c-09a3-0dce226ec0ae@citrix.com>
In-Reply-To: <a8db44d8-0cf3-790c-09a3-0dce226ec0ae@citrix.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 9312CBB5DD4F9F4DA4444A116E225581.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|GV1PR08MB8620:EE_
x-ms-office365-filtering-correlation-id: 3ff0263f-e92e-43f1-ac35-08dad3f4307c
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 TfvMaGANL0X5uRw4A+ISee5/22JMuzNaPDAP8mrUQTbKtJOXKIB3Ao2hT8X86czRo44KPgU/vAAaRXufJL/40IC/z9IqzZMmD/hD8I9KcBHyuHyg/Jc8l1JlcNrege6zuXOaJUVZv7UJmwt8kSwe2/eIGkQlvyOHRsdgEySuU/6kP6ZvBShh6Uh7zNThvjHtY9G0P59v7Se+k5XALCcUtA8h8Pv5xX8OPbKTip6UretXv7bw6a5r1CX9vNrLhSSGytciZzwetTyVXIpM4bLxxLY677VpJV2obzRFtH/hlzjcmBTQA/v6ZowqhgEYlKDoqY2IdwjcC9Q7IdXxj66PpaXJ5tZ4r5URZiq+Sd+5gV1WQ4ArLUuRD3j/6w1Xd4bbs08tvNwi48ChQiFXnCOmdm2y180LiNvjfOrrBCnmtod1+gxjbSy2GH8OWSs7kra9YHb1dB4tFRwBrGKkdWxxFIJoDGP8jQE7Dl1dsVCLdi8l7q5eg5ohpvH6lGLCCDHNR3BsibGdUSdVRS5bIxkLf9E22Js6jsA1YPDEwDaPPNbveSf6VPzqyGYldwdkb58z3+DQaDwGgHdJ2SX1oXV4FTzCZB+rBCDx15fA/mhs+1b4Cn25iNzrOicCSuq4Wv0BrLBpbAkLU57wDE1SafAL/RIWtp6A8WC5q4ln2MEm+c2BiBeXWLficg3yGcfqE0S+MEB5mGms8Uan7mnptks5hg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(366004)(136003)(396003)(346002)(451199015)(122000001)(86362001)(38070700005)(2906002)(55016003)(478600001)(9686003)(7696005)(6506007)(71200400001)(5660300002)(66446008)(8936002)(4326008)(53546011)(66556008)(54906003)(110136005)(66946007)(66476007)(316002)(64756008)(186003)(26005)(41300700001)(8676002)(38100700002)(83380400001)(52536014)(33656002)(76116006);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dmQ4QXNQdkw4SzdxcjBmTzVpTVZudUwvbmxvSkg4M1hubU5QMGdPczMrZG93?=
 =?utf-8?B?WWJnRU9lSUhQYnFHS3ZLSlUwdS8ybTAyMnE3NjZJaEJ0QzJsSzZqWUpDSVJK?=
 =?utf-8?B?MnFzRllMU3N4V01hMGR1V2Q4S3VLaTdqd3gySGhaelU4QXRCeGlZcjdxcmtK?=
 =?utf-8?B?b3JOR1MvWk5MYnlvL1hMQTVnWWpreDQ5RzkrWWlqSmRRelVLcmN5dUZZSHFm?=
 =?utf-8?B?R2ZzYlJWTXhwWldabm80UGRhUW9DNStsOWNGR1VMMjAxMGhJTTBtTE02MlVm?=
 =?utf-8?B?R0g0Wjc3eXYvamgvMnljemxwS3pITzlOSlRTNUp5NTNJc3liTE5POGF2Wkls?=
 =?utf-8?B?Ly9uL3NJUnRjbHI5U0pSdzJTSmpCMTF4Z2ZkK2U4QUdrVW51TTFvcFRQZk85?=
 =?utf-8?B?WGVvbFZ2R3NuNUV4U0ZaZlZzc2NVZHdIZXJ0dStoVVp4bjhXR3RjSjlsYldz?=
 =?utf-8?B?WmpsU2FFeEV1Z2xSbWpHZDFXMHp3bitLZThTTkV6aGJWK0FZU2FjQkluT2FH?=
 =?utf-8?B?Rmp6MTVmbE8rWTMwYzFDS053bTUyRzRjQ0NCNng1amczTFVvMGFLakIvOTBs?=
 =?utf-8?B?TWpHdXFPM1daSXBhbmdHMzlpcktiRWNybFozRnp5QXltLzNvK2tOUnlQbWFS?=
 =?utf-8?B?K2R1bG55MFVwYU1iSHE4T1lsdWtkTW9ZV2NSSGlCczhhMEM1Q3lwZGhyY3hi?=
 =?utf-8?B?Q0FMTCtaNEtTU21hZml2RXVoWnNhRmpHM3IxWEVBWmNWMU05T2JpS2IySVhD?=
 =?utf-8?B?VGZnOXdMenJ2Z3orazNUZVBEeFhhNXgyN3NGVjVYOUxzVVo0SkxKaUtyRUF0?=
 =?utf-8?B?akJtbnNFRVhoTnZGbktONUhxamw3S0VyLzFRaHJMVTRCRTY3bFFsd2t5UUNv?=
 =?utf-8?B?a0Z4ZWpsYWdLOFBtQnhMbHRQYmlDYzk5VENGaE1HbEVZNDFVZ0tab3duVU42?=
 =?utf-8?B?R1Z1akdwR3BMRGwrUkdyWlZDY0pZbjI5ZXJjOGNKK3YzRHZyMGh0TWZ0eE1B?=
 =?utf-8?B?dEEvMXNzNGc0RHB6WnBSTHk1UEEvK3NFSnZUKy9VSHliY3lzdFpOcUVkTEpZ?=
 =?utf-8?B?MS9hUVRaVCtya3JobUF3ZitpUU9Ta2NSTCtaakFYYWtpYUFRMzdCb01sUFE4?=
 =?utf-8?B?SExTRDR5SG5RM1lXNkhBdVU2Z0RZZnJEUmRTaGVveXZ0MUdFQ0ttOC9DUXpk?=
 =?utf-8?B?R2ZhcVE3YXIyZnMxaDQ3N2JaRVpKbVN6ZUxud0N2K1RQcG4xR05TbHB1cXph?=
 =?utf-8?B?K293cGNOai9KRG5RTHY3cUkwTzF4a09WTzBaNjM5a0hIQkMwWG4wLzh6bksx?=
 =?utf-8?B?ZEE5MUE1VzVGSmhVNkNHQ0JzbXZ5TTZ4QnNQcm1SMDJKY05reTlibFhNNDRD?=
 =?utf-8?B?OEl1VUFMYSthanh6OFFsRXZ5ZDN2Uk43RE53VWNnNVk3WExJU0F0QWN0TUp3?=
 =?utf-8?B?WkdNY3ZYZUMzTlN2U1dVSVJXaWluZmNuL2VWdTQ4eGR3M2FVdDFhTUhDNkZz?=
 =?utf-8?B?QzNXS2RqNDU0cTdjeWRqeHlPWDNkTlRsdG9NeDFlT0djcTBieW1JL2ZMb2JO?=
 =?utf-8?B?cHRiVCtneFlwaHQxSmpiLzdzTldGeU83alNScGR3VTRnR3dwZlhwMnVFN0xl?=
 =?utf-8?B?WHhJamdpQWZuSHBYdVJCbzBEZGthQkpwdDFOanloM08rZFdFZW9jOWZJMDVy?=
 =?utf-8?B?VUFtcjNrZEtkUUZ5Rko4TUVwOHBKV214NGt5ZG1BcXdNRjJPL2JJZUdOTUdr?=
 =?utf-8?B?K1ZMc3RWRkZwME1sNk5BbGFYY3hjc1BjTUZWVXE2UXdoVFlGTUEvOVVQSnJh?=
 =?utf-8?B?OUx1RGxpcyt1alBhS25RakZtRjgrcWlkNFBLbUZFRE5zak1jWW5Id0J3Z2dO?=
 =?utf-8?B?V3hrTXk0QWpDV1kwRW8xbzE4RVFKbFRKdEs0ak9iMHlNeU5peTVTdUlRTjFU?=
 =?utf-8?B?OUowYzFnUGtZNlF6NEdUZjBXTzJvR3owSnYrVUd3TDc4VHVCREg5UitCYnJs?=
 =?utf-8?B?WjgzNjM4NW1oUjR3VjljZ2RVMnR5TjZzbEVOcnlSVzFrMnUwSzBOMDA3Lyt0?=
 =?utf-8?B?Mi9jY0xjbEEzaUxtUWhGeGJCemI4TXBQQlZQSjFhNlVyYWV0bkhlZDUxcXlK?=
 =?utf-8?Q?T+78BtJ6n84o7m7JqtlerZRQd?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ff0263f-e92e-43f1-ac35-08dad3f4307c
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Dec 2022 23:31:36.4991
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: QWF73W1XjYzAWf8v9HzWWP8y7RPbDlGtYDt3Owc9jfdxBAEWR7YoNXxNKo/k7NkrS2/Ep5BlKeQKA3hyqMxmlw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8620

SGkgQW5kcmV3LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJl
dyBDb29wZXIgPEFuZHJldy5Db29wZXIzQGNpdHJpeC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbNC4x
Nz9dIFJlOiBbUEFUQ0hdIHg4Ni9IVk0rc2hpbTogZml4IGJ1aWxkDQo+IHdoZW4gIUNPTkZJR19H
UkFOVF9UQUJMRQ0KPiANCj4gT24gMDEvMTIvMjAyMiAxNjoxNCwgSGVucnkgV2FuZyB3cm90ZToN
Cj4gPj4+IFRoYW5rcyBmb3IgaW52ZXN0aWdhdGluZy4NCj4gPj4+DQo+ID4+PiBBY2tlZC1ieTog
QW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCj4gPj4gVGhhbmtzLg0K
PiA+Pg0KPiA+Pj4gVGhvdWdodHMgYWJvdXQgaW5jbHVzaW9uIGludG8gNC4xNz/CoCBUaGlzIGlz
IGEgYnVpbGQgdGltZSByZWdyZXNzaW9uIHZzDQo+ID4+PiA0LjE2Lg0KPiA+PiBJIHRob3VnaHQg
dGhpcyB3YXMgb2RkIGVub3VnaCBhIGNvbmZpZ3VyYXRpb24sIGJ1dCBzaW5jZSB5b3UgYXNrLCBs
ZXQgbWUNCj4gPj4gZm9yd2FyZCB0aGUgcXVlc3Rpb24gdG8gSGVucnkuDQo+ID4gSSB0aGluayBh
IGJ1aWxkIHRpbWUgcmVncmVzc2lvbiBzaG91bGQgYmUgZml4ZWQuIFdlIGNhbm5vdCBhc3N1bWUg
dXNlcnMNCj4gPiB3aWxsIG5vdCB1c2UgdGhpcyBjb25maWd1cmF0aW9uIChhcyBKYW4gcG9pbnRl
ZCBvdXQgaW4gSVJDKS4gU28gZm9yIDQuMTc6DQo+ID4NCj4gPiBSZWxlYXNlLWFja2VkLWJ5OiBI
ZW5yeSBXYW5nIDxIZW5yeS5XYW5nQGFybS5jb20+DQo+ID4NCj4gPiBCdXQgaWYgT1NTVGVzdCBp
cyBleHBsb2RlZCBhZnRlciBtZXJnaW5nIHRoaXMgcGF0Y2gsIEkgd291bGQgbGlrZSB0byByZXF1
ZXN0DQo+ID4gYSByZXZlcnQgc2luY2Ugd2UgZG9uJ3QgaGF2ZSB0b28gbXVjaCB0aW1lIGxlZnQg
Zm9yIHRoZSBkdWUgZGF0ZS4gSG9wZWZ1bGx5DQo+ID4gZXZlcnlvbmUgaXMgZmluZSB3aXRoIHRo
YXQuDQo+IA0KPiBJdCBpcyB2ZXJ5IHVubGlrZWx5IHRoYXQgcGVvcGxlIGFyZSBnb2luZyBoYXZl
IGEgY29uZmlndXJhdGlvbiBsaWtlIHRoaXMNCj4gaW4gcHJvZHVjdGlvbi4NCj4gDQo+IEJ1dCwg
dGhlIDQuMTcgYnJhbmNoIGRvZXMgaGF2ZSBHaXRsYWIgQ0kgcnVubmluZyBvbiBpdCwgaW5jbHVk
aW5nDQo+IHJhbmRjb25mIHRlc3RzLCB3aGljaCBwcm92YWJseSBkbyBzcG90IHRoZSBlcnJvciBv
Y2Nhc2lvbmFsbHkuDQo+IA0KPiBUaGUgKElNTyBiZXR0ZXIpIGp1c3RpZmljYXRpb24gdG8gdGFr
ZSBpdCBpbnRvIDQuMTcgYXQgdGhpcyBwb2ludCBpcyB0bw0KPiBmaXggYSBDSSBmYWlsdXJlLg0K
DQpHb29kIHBvaW50LCBteSByZWxlYXNlIGFjayBpcyBzdGlsbCB2YWxpZCA6KQ0KDQpLaW5kIHJl
Z2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiB+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 00:04:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 00:04:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451310.708992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0tXk-00043Q-Sm; Fri, 02 Dec 2022 00:04:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451310.708992; Fri, 02 Dec 2022 00:04:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0tXk-00043J-Q5; Fri, 02 Dec 2022 00:04:40 +0000
Received: by outflank-mailman (input) for mailman id 451310;
 Fri, 02 Dec 2022 00:04:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0tXj-000439-9h; Fri, 02 Dec 2022 00:04:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0tXj-0008OP-6f; Fri, 02 Dec 2022 00:04:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0tXi-0006R6-M8; Fri, 02 Dec 2022 00:04:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0tXi-0003jh-Lb; Fri, 02 Dec 2022 00:04:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=10Kp66MbPgHLdWZERRPOwaYUriFDXXyJb5Gyo5Qkxlk=; b=05nMFhIx5D6hFZBSTKTpm1P8yh
	MQLUOhkZ6AcNYu/4RPH0t2cmMCrGiV+JNIDH062Hiz9WmFr8W/KOKqv47lsqddoZI2f3pFs40iH6B
	i1XC3eY4h/IMMyO/5oN4bgUmTa4rCKRAa17ZmrAlMV2jfGczWetiXdlk3gioVkHf2Eoo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175008-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-upstream-4.17-testing baseline test] 175008: tolerable FAIL
X-Osstest-Failures:
    qemu-upstream-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=b746458e1ce1bec85e58b458386f8b7a0bedfaa6
X-Osstest-Versions-That:
    qemuu=b746458e1ce1bec85e58b458386f8b7a0bedfaa6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 00:04:38 +0000

"Old" tested version had not actually been tested; therefore in this
flight we test it, rather than a new candidate.  The baseline, if
any, is the most recent actually tested revision.

flight 175008 qemu-upstream-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175008/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt   16 saverestore-support-check fail baseline untested
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop      fail baseline untested
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop       fail baseline untested
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop       fail baseline untested
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop      fail baseline untested
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail baseline untested
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail baseline untested
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail baseline untested
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                b746458e1ce1bec85e58b458386f8b7a0bedfaa6
baseline version:
 qemuu                b746458e1ce1bec85e58b458386f8b7a0bedfaa6

Last test of basis   175008  2022-12-01 11:10:52 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 00:27:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 00:27:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451319.709003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0ttu-0007u6-Ny; Fri, 02 Dec 2022 00:27:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451319.709003; Fri, 02 Dec 2022 00:27:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0ttu-0007tz-LA; Fri, 02 Dec 2022 00:27:34 +0000
Received: by outflank-mailman (input) for mailman id 451319;
 Fri, 02 Dec 2022 00:27:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=H9ZM=4A=paulmck-ThinkPad-P17-Gen-1.home=paulmck@kernel.org>)
 id 1p0ttt-0007tt-JY
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 00:27:33 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1c03c021-71d8-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 01:27:32 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 0C851B82042;
 Fri,  2 Dec 2022 00:27:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C53B2C433D7;
 Fri,  2 Dec 2022 00:27:29 +0000 (UTC)
Received: by paulmck-ThinkPad-P17-Gen-1.home (Postfix, from userid 1000)
 id 6F2CA5C05F8; Thu,  1 Dec 2022 16:27:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c03c021-71d8-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1669940849;
	bh=4+GONiQ/AgWXJflOZcfrIazckOnz8zEYC5LwIR4qzFc=;
	h=Date:From:To:Cc:Subject:Reply-To:References:In-Reply-To:From;
	b=m786yjpMnIlWcyF2c7wB/JwsF4E0aqByzi7s9gXXFXe1qB87EBBjNJ5o/Y560Mr8h
	 V2yN9iVKRVtAJmHzAkW43rHlvxHQupPfcFjAiSOurJu+zzm5xc0dFY4P386NhqNY1F
	 R9b+8ci6ZHl5/eN4YtRlLQ+IFaeHb1Rud5+Y+cqfqMDWz0ApuMyB5Uak1MqGBfv1Qo
	 81GkScrta0ugxe6AUMqBgKidrnIFIi7cqVL+cm4uFz2AdTgzE/wdjmi1I6Wg9d/ZPW
	 WThf7Do16BmM8PFTbNVADSrdYC7lEWhCMYUJ7bFlfVKjnIRObMPdHknYeMrrqUezja
	 cSnJhm01KP/kg==
Date: Thu, 1 Dec 2022 16:27:29 -0800
From: "Paul E. McKenney" <paulmck@kernel.org>
To: Juergen Gross <jgross@suse.com>
Cc: Josh Poimboeuf <jpoimboe@kernel.org>,
	Andrew Cooper <Andrew.Cooper3@citrix.com>,
	Peter Zijlstra <peterz@infradead.org>,
	"sfr@canb.auug.org.au" <sfr@canb.auug.org.au>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: objtool warning for next-20221118
Message-ID: <20221202002729.GA1524469@paulmck-ThinkPad-P17-Gen-1>
Reply-To: paulmck@kernel.org
References: <20221123012350.kelmmadh65lyswqz@treble>
 <Y33gAiFP2IpVdxJu@hirez.programming.kicks-ass.net>
 <2255c45f-d8ba-3f32-9d99-737ad3040dd7@citrix.com>
 <20221123170337.keacggyvn4ykbtsw@treble>
 <20221124023934.nft3udxelth4lvai@treble>
 <72a4871b-3ee8-42c1-912a-321a45690428@suse.com>
 <68dc479a-6b61-0012-888d-c1b4cc513cdb@suse.com>
 <20221124163928.dof5ldfer6rswlnx@treble>
 <d047c478-d905-7022-0caa-c9b7b0780823@suse.com>
 <20221129195655.GA826794@paulmck-ThinkPad-P17-Gen-1>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20221129195655.GA826794@paulmck-ThinkPad-P17-Gen-1>

On Tue, Nov 29, 2022 at 11:56:55AM -0800, Paul E. McKenney wrote:
> On Fri, Nov 25, 2022 at 06:30:35AM +0100, Juergen Gross wrote:
> > On 24.11.22 17:39, Josh Poimboeuf wrote:
> > > On Thu, Nov 24, 2022 at 08:47:47AM +0100, Juergen Gross wrote:
> > > > > > +++ b/arch/x86/xen/smp_pv.c
> > > > > > @@ -385,17 +385,9 @@ static void xen_pv_play_dead(void) /* used only
> > > > > > with HOTPLUG_CPU */
> > > > > >   {
> > > > > >   play_dead_common();
> > > > > >   HYPERVISOR_vcpu_op(VCPUOP_down, xen_vcpu_nr(smp_processor_id()), NULL);
> > > > > > - cpu_bringup();
> > > > > > - /*
> > > > > > - * commit 4b0c0f294 (tick: Cleanup NOHZ per cpu data on cpu down)
> > > > > > - * clears certain data that the cpu_idle loop (which called us
> > > > > > - * and that we return from) expects. The only way to get that
> > > > > > - * data back is to call:
> > > > > > - */
> > > > > > - tick_nohz_idle_enter();
> > > > > > - tick_nohz_idle_stop_tick_protected();
> > > > > > - cpuhp_online_idle(CPUHP_AP_ONLINE_IDLE);
> > > > > > + /* FIXME: converge cpu_bringup_and_idle() and start_secondary() */
> > > > > > + cpu_bringup_and_idle();
> > > > > 
> > > > > I think this will leak stack memory. Multiple cpu offline/online cycles of
> > > > > the same cpu will finally exhaust the idle stack.
> > > 
> > > Doh!  Of course...
> > > 
> > > I was actually thinking ahead, to where eventually xen_pv_play_dead()
> > > can call start_cpu0(), which can be changed to automatically reset the
> > > stack pointer like this:
> > > 
> > > SYM_CODE_START(start_cpu0)
> > > 	ANNOTATE_NOENDBR
> > > 	UNWIND_HINT_EMPTY
> > > 	movq	PER_CPU_VAR(pcpu_hot + X86_top_of_stack), %rax
> > > 	leaq	-PTREGS_SIZE(%rax), %rsp
> > > 	jmp	.Ljump_to_C_code
> > > SYM_CODE_END(start_cpu0)
> > > 
> > > but that would only be possible be after more cleanups which converge
> > > cpu_bringup_and_idle() with start_secondary().
> > > 
> > > > The attached patch seems to work fine.
> > > 
> > > The patch looks good to me.
> > > 
> > > It doesn't solve Paul's original issue where arch_cpu_idle_dead() needs
> > > to be __noreturn.  But that should probably be a separate patch anyway.
> > 
> > Okay, I'll split this off.
> > 
> > > 
> > > > The __noreturn annotation seems to trigger an objtool warning, though, in
> > > > spite of the added BUG() at the end of xen_pv_play_dead():
> > > > 
> > > > arch/x86/xen/smp_pv.o: warning: objtool: xen_pv_play_dead() falls through to
> > > > next function xen_pv_cpu_die()
> > > 
> > > You'll need to tell objtool that xen_cpu_bringup_again() is noreturn by
> > > adding "xen_cpu_bringup_again" to global_noreturns[] in
> > > tools/objtool/check.c.
> > 
> > Ah, okay. Will do that.
> > 
> > > (Yes it's a pain, I'll be working an improved solution to the noreturn
> > > thing...)
> > 
> > Should be fairly easy, no?
> > 
> > "Just" extend the __noreturn macro to put the function into a ".text.noreturn"
> > section, which can be handled in a special way by objtool. This would need
> > an __init_noreturn macro, of course, for a ".init.text.noreturn" section.
> 
> And in last night's -next run, that diagnostic was gone!
> 
> But of course another appeared in its place:
> 
> drivers/gpu/drm/i915/gem/i915_gem_execbuffer.o: warning: objtool: check_relocations+0xd1: stack state mismatch: cfa1=4+32 cfa2=-1+0
> 
> The .config file is shown below.  Thoughts?

And it is back.  Which makes no sense, but there it is.

							Thanx, Paul


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 00:45:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 00:45:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451326.709015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0uAi-0002ky-51; Fri, 02 Dec 2022 00:44:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451326.709015; Fri, 02 Dec 2022 00:44:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0uAi-0002kr-20; Fri, 02 Dec 2022 00:44:56 +0000
Received: by outflank-mailman (input) for mailman id 451326;
 Fri, 02 Dec 2022 00:44:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0uAg-0002kh-Kt; Fri, 02 Dec 2022 00:44:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0uAg-0000xn-II; Fri, 02 Dec 2022 00:44:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0uAg-0000Dc-7s; Fri, 02 Dec 2022 00:44:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0uAg-0001tg-7O; Fri, 02 Dec 2022 00:44:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bNJomQdhtvSpHlFgYPrY1Os9nxLGjgr9SBMxcoYWpU4=; b=w6NMG+fIGhykgmaVF7zZW8pa79
	kpwNn9ERr1JrIYa6rWwuwT/i+pwvii0hFoGlgFtawwfmOJQ5vpMzA/asq1cHJ05bnl9f30KzERt2Y
	pPJ2w+I9FFh54P2eJGaIOXlfevwVRW7lekCuTOvMOkPtMdiOdprJQl2X3VnGLLC1vx4Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175013-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175013: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=acd3fb6d65905f8a185dcb9fe6a330a591b96203
X-Osstest-Versions-That:
    xen=25b55688e1f20ebb1bb15d0e82079e91cd787e5b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 00:44:54 +0000

flight 175013 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175013/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  acd3fb6d65905f8a185dcb9fe6a330a591b96203
baseline version:
 xen                  25b55688e1f20ebb1bb15d0e82079e91cd787e5b

Last test of basis   175010  2022-12-01 16:00:33 Z    0 days
Testing same since   175013  2022-12-01 21:02:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Edwin Török <edvin.torok@citrix.com>
  Pau Ruiz Safont <pau.safont@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   25b55688e1..acd3fb6d65  acd3fb6d65905f8a185dcb9fe6a330a591b96203 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 00:49:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 00:49:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451336.709025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0uEg-0003S8-Pt; Fri, 02 Dec 2022 00:49:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451336.709025; Fri, 02 Dec 2022 00:49:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0uEg-0003S1-N2; Fri, 02 Dec 2022 00:49:02 +0000
Received: by outflank-mailman (input) for mailman id 451336;
 Fri, 02 Dec 2022 00:49:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0uEg-0003Rr-2Z; Fri, 02 Dec 2022 00:49:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0uEg-000129-1g; Fri, 02 Dec 2022 00:49:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0uEf-0000Lv-Rb; Fri, 02 Dec 2022 00:49:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0uEf-0003mk-R8; Fri, 02 Dec 2022 00:49:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zZn593IqHfUOBnOdvtOkI1CgadrbvV8zk46HgGJJ5YU=; b=HmADGPOjFUyBiojmhuqvbzsnph
	SDsEJwOsOs5Oq/0b+BwFAe0OF7wGWfZvOtnsLPR5XOdqSCqn2MvluXdwX4a7ydgmMGt7XdJy0BAV+
	SC2PgJGurxjihgzhRwGxr04z9DXf3MzBtD+ZMH6VpfUS4TZML4gF3TliyJGgjIWblJ5I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175014-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175014: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a1d57239140f09a8b2cc386f9421f6f4e634435f
X-Osstest-Versions-That:
    ovmf=a8a78ef194f4a6aaf4c178d1c545a372c94e88bb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 00:49:01 +0000

flight 175014 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175014/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a1d57239140f09a8b2cc386f9421f6f4e634435f
baseline version:
 ovmf                 a8a78ef194f4a6aaf4c178d1c545a372c94e88bb

Last test of basis   175003  2022-12-01 09:44:56 Z    0 days
Testing same since   175014  2022-12-01 21:10:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michael D Kinney <michael.d.kinney@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   a8a78ef194..a1d5723914  a1d57239140f09a8b2cc386f9421f6f4e634435f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 03:00:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 03:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451347.709048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wHv-0007KE-CO; Fri, 02 Dec 2022 03:00:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451347.709048; Fri, 02 Dec 2022 03:00:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wHv-0007K7-96; Fri, 02 Dec 2022 03:00:31 +0000
Received: by outflank-mailman (input) for mailman id 451347;
 Fri, 02 Dec 2022 03:00:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0wHu-000723-Dv
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 03:00:30 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79de7be3-71ed-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 04:00:29 +0100 (CET)
Received: from DS7PR03CA0035.namprd03.prod.outlook.com (2603:10b6:5:3b5::10)
 by MW3PR12MB4585.namprd12.prod.outlook.com (2603:10b6:303:54::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Fri, 2 Dec
 2022 03:00:22 +0000
Received: from DM6NAM11FT065.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3b5:cafe::e9) by DS7PR03CA0035.outlook.office365.com
 (2603:10b6:5:3b5::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Fri, 2 Dec 2022 03:00:21 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT065.mail.protection.outlook.com (10.13.172.109) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.10 via Frontend Transport; Fri, 2 Dec 2022 03:00:21 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:21 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 21:00:20 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79de7be3-71ed-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UonoHsApqxH704os3DVQIrqXvfQQwY+UdLhEECcFvBuH+jfWSYbr+oTjPatOV5mDqwpJ6pB22SmFD5Lo5yY3FFVFBN8SNSysdyeeS+UxQazmuKk9YZa8NsP+eIREOR2zllAtLKlxdviQuiJtP6DUoU7Gy/Hxvq+wvpE4wsvMQ4dwfvj0FKLJM9s5eJ14wgLX9ahyU+3a5q6ThNZtDjIQbelrqfKnATGB3Xd5HVIafCYYB/roCb4xrp6Ynr3oW8Unh4F6UwsLLTAXNirRG2xaZguhL3lqIxgAv6/ovuq3JO2AEdgDgOaXsB5bcjf3TQtPwT/5TBFs9Pg9E8MimahMGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z7qBBSFtT16dKo24xhhVW2fFUFVUWqNupyxQmZ/Rxf8=;
 b=Hr1q6lW8AkxQoATEC1qkAWQW3+rBijsWlsUZ6ROWzN9qrMzUD4jMCaiHrBiy2nzx/etk1meylQz4KHXOo54lnQPs2tNTjdrXO5MdfJWFhSf+RBAtx5wBNV7dV5nOPxsvvGHhXduRUF45b1H2jkBFz/iMr456hH01jZAUhbk1UQR4aOb6lovQXNw1RiegqApJIMVfQtRYDnRX7/6iORBIS/HUWkqq9acs4KLCArRr7+yiw4jxvPNvyF+CsANKdAE1wI1FEIewasnYPZ2VyJ37m12KzBU6hXp9IxunI4UGSx+rqh1Q8+x4ilK7BewpkjWSk5D37zZgD9Jy5UuIui1QTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xilinx.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z7qBBSFtT16dKo24xhhVW2fFUFVUWqNupyxQmZ/Rxf8=;
 b=uFYtXXKKvRYV7zfh3DweiAZwpk/4OqipxNWGMEQRmxAC4RX5fOO+a1TG1/zEvfnajZA2DT2W9jy5n8qeDp/d4wVzf3CVu2OjhF6690r1pIfvwEMDX0ciABrJMN1X85jPBjKHBODuuJBMOn0c+D/D24la7FFajyqvi4ga76+goKc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <qemu-dev@xilinx.com>
CC: <stefano.stabellini@amd.com>, <alex.bennee@linaro.org>,
	<xen-devel@lists.xenproject.org>, Vikram Garhwal <vikram.garhwal@amd.com>,
	"Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum
	<marcel.apfelbaum@gmail.com>, Paolo Bonzini <pbonzini@redhat.com>, "Richard
 Henderson" <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, Stefano Stabellini <sstabellini@kernel.org>, "Anthony
 Perard" <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, "open
 list:All patches CC here" <qemu-devel@nongnu.org>
Subject: [QEMU][PATCH v2 01/11] hw/i386/xen/: move xen-mapcache.c to hw/xen/
Date: Thu, 1 Dec 2022 18:59:53 -0800
Message-ID: <20221202030003.11441-2-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221202030003.11441-1-vikram.garhwal@amd.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT065:EE_|MW3PR12MB4585:EE_
X-MS-Office365-Filtering-Correlation-Id: 54bc65bd-967e-42cc-8dd8-08dad4115a22
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WMzYoLm2Lyynzxe+VcSzCOn7dj5Ke5A+GFKEUo93hd+rRyBsVbcvJZQVV+DH2XJZm1X7J65XUbB8x2yenr//rAlGX3XANu2PvuP2hwc9ckNznLcwbHZ4idgFNg+3s/Ei1t0T8Dx3H4RfKdwOciUXF70Q1PGrIZAI6HDV+cZeHxzHNFIQOIHOkDEbsYZOGW0gM+f0Mj4ErL/vzDpjD2ePrgTHLFCNGLGC+0c+k1z7c3FINp2RCCaSZrFpjT213HaVkMgdMX/EDGIRRAmmDSNBYyCR/ppl9rxyWHkFYGe6RX+C4AkZm+Nh0NIudfjVld+Zx7pVShppPVipcSr7L9wZVeYpkB+A8gN7/u7KrznYqhSWe/Acs9tSec+wgU+Iq3Pgvs3LD9KKmb6otMA/K7rr9KQYlsoEHqVMQ091ygHLWf+ZThgxdyHT+Lzb4HsD6bArxgJ57KL+4zPxLVVm7s1Y5vMmKfWMTMAazOecqC3X6ZFX30Jb+ID67Hg6WrMa4TEGJQ6FCX4o4iAR8F9dfz7S7BBPMSkeWvSD9F6unnke0JPUd2qaBhid4N03eihksOaM4x4TLkJDI/Cy3lE40A514vth5fK5KvckomTBGxduoSJ6g6YI0fvRSTb/yfRpH4g3uBM6dhGZg4tZnfHUwcQzI9uiHD1Au7qfg5EzXuzTuQgkzUf1s340QMafrvAyRMRoFaP547f5FMH3rL+yTo4LYBvlyLj4XMq+7GkolzNWN/8=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(396003)(136003)(39860400002)(376002)(451199015)(36840700001)(40470700004)(46966006)(70586007)(82740400003)(36860700001)(4326008)(70206006)(40460700003)(6666004)(82310400005)(2906002)(54906003)(41300700001)(8676002)(316002)(5660300002)(86362001)(6862004)(7416002)(81166007)(44832011)(8936002)(478600001)(40480700001)(356005)(83380400001)(2616005)(426003)(1076003)(336012)(47076005)(36756003)(186003)(26005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 03:00:21.7311
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 54bc65bd-967e-42cc-8dd8-08dad4115a22
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT065.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4585

xen-mapcache.c contains common functions which can be used for enabling Xen on
aarch64 with IOREQ handling. Moving it out from hw/i386/xen to hw/xen to make it
accessible for both aarch64 and x86.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 hw/i386/meson.build              | 1 +
 hw/i386/xen/meson.build          | 1 -
 hw/i386/xen/trace-events         | 5 -----
 hw/xen/meson.build               | 4 ++++
 hw/xen/trace-events              | 5 +++++
 hw/{i386 => }/xen/xen-mapcache.c | 0
 6 files changed, 10 insertions(+), 6 deletions(-)
 rename hw/{i386 => }/xen/xen-mapcache.c (100%)

diff --git a/hw/i386/meson.build b/hw/i386/meson.build
index 213e2e82b3..cfdbfdcbcb 100644
--- a/hw/i386/meson.build
+++ b/hw/i386/meson.build
@@ -33,5 +33,6 @@ subdir('kvm')
 subdir('xen')
 
 i386_ss.add_all(xenpv_ss)
+i386_ss.add_all(xen_ss)
 
 hw_arch += {'i386': i386_ss}
diff --git a/hw/i386/xen/meson.build b/hw/i386/xen/meson.build
index be84130300..2fcc46e6ca 100644
--- a/hw/i386/xen/meson.build
+++ b/hw/i386/xen/meson.build
@@ -1,6 +1,5 @@
 i386_ss.add(when: 'CONFIG_XEN', if_true: files(
   'xen-hvm.c',
-  'xen-mapcache.c',
   'xen_apic.c',
   'xen_platform.c',
   'xen_pvdevice.c',
diff --git a/hw/i386/xen/trace-events b/hw/i386/xen/trace-events
index 5d6be61090..a0c89d91c4 100644
--- a/hw/i386/xen/trace-events
+++ b/hw/i386/xen/trace-events
@@ -21,8 +21,3 @@ xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p"
 cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x"
 cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x"
 
-# xen-mapcache.c
-xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64
-xen_remap_bucket(uint64_t index) "index 0x%"PRIx64
-xen_map_cache_return(void* ptr) "%p"
-
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index ae0ace3046..19d0637c46 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -22,3 +22,7 @@ else
 endif
 
 specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss)
+
+xen_ss = ss.source_set()
+
+xen_ss.add(when: 'CONFIG_XEN', if_true: files('xen-mapcache.c'))
diff --git a/hw/xen/trace-events b/hw/xen/trace-events
index 3da3fd8348..2c8f238f42 100644
--- a/hw/xen/trace-events
+++ b/hw/xen/trace-events
@@ -41,3 +41,8 @@ xs_node_vprintf(char *path, char *value) "%s %s"
 xs_node_vscanf(char *path, char *value) "%s %s"
 xs_node_watch(char *path) "%s"
 xs_node_unwatch(char *path) "%s"
+
+# xen-mapcache.c
+xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64
+xen_remap_bucket(uint64_t index) "index 0x%"PRIx64
+xen_map_cache_return(void* ptr) "%p"
diff --git a/hw/i386/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c
similarity index 100%
rename from hw/i386/xen/xen-mapcache.c
rename to hw/xen/xen-mapcache.c
-- 
2.17.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 03:00:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 03:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451353.709111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wI2-0000NG-2j; Fri, 02 Dec 2022 03:00:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451353.709111; Fri, 02 Dec 2022 03:00:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wI1-0000La-S2; Fri, 02 Dec 2022 03:00:37 +0000
Received: by outflank-mailman (input) for mailman id 451353;
 Fri, 02 Dec 2022 03:00:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0wI0-000723-7D
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 03:00:36 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e83::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7bb28129-71ed-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 04:00:32 +0100 (CET)
Received: from BN0PR03CA0025.namprd03.prod.outlook.com (2603:10b6:408:e6::30)
 by CH0PR12MB5281.namprd12.prod.outlook.com (2603:10b6:610:d4::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 03:00:26 +0000
Received: from BN8NAM11FT049.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:e6:cafe::4a) by BN0PR03CA0025.outlook.office365.com
 (2603:10b6:408:e6::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Fri, 2 Dec 2022 03:00:26 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT049.mail.protection.outlook.com (10.13.177.157) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5857.21 via Frontend Transport; Fri, 2 Dec 2022 03:00:26 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:25 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 21:00:24 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7bb28129-71ed-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L9ANr9QRRSc2ER2f/wGk2Zt9zW+LEl+jaq1ciDPnV4noaKf9v/9zBBdqk0ZL4YSar6UBiEHAUD9GXGRaPkoXfyiiSupfRejHav6c1rrMN58p8XMQ+n6bk+Myu59F+4LX58soZHEkwGFpAHSygKQbNOU7qh9woX2xIPDutPRE26HXuW4nYWngzxxqhhjK/ffGhZJ2rFfMC4slDzKA++rGYzNY2q/aGylR+nM22K0j5LNaAenrC8bEmq7+u4FP/jmxm4TwPjze08jb3I3iDSx4hiE7/QQ9MGLYn8qHliT4dtAgk2c6GgqaPk2NG+exIgA2fWZEuHmsZYLmAEXuD9zanQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yMyngHoJn4Zy9GNwhnVKDhFAn6qWks+NobFMILCtMWY=;
 b=SNShSCufPQJmu9A+d/CvGHRDyKzX3p6vVbW9jK47ncqo3NQnplVe/uh0HgLTwx3OhFS3wNF6fKDK2u3VgWlWLe6LhJAy0Ehe1BVte2MSvLYPIYN24T3VFKTRNp+BwgucLmcX9ytC/Dfzgo/UmmV5+e3q4llTxqLN3tQOBmFhvHrUtMAza9q2jgLi7WBeIBGCRqCAuw23xqFotJsRIgibLN5TWB6RanIPE5/tU+ELT06xE0RunRludPYJUjIAg74sqAXJmqTCYXMx+B9yuTh762EDru1GbxGwdCT6Ew4UV+WA9RxYg6gD/fGr7/XqXihTvKHhpPa8r6UhbGqSRy42sw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xilinx.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yMyngHoJn4Zy9GNwhnVKDhFAn6qWks+NobFMILCtMWY=;
 b=hEdOvSp3JIrSbvANSv8kuO7s7+pzEsLqm6XPDLw17UoviQX6cIHgCTkjWPXtIbC3BSWEw2tEh4VBSTOV9DEe7NaSidb5emqA5DJhdLGy5n8Be77FROhpcEqhPrF0zkT7WFF5tfyDGuIZDSva9ut6auGayrhbluYpvGAwCb9Su+k=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <qemu-dev@xilinx.com>
CC: <stefano.stabellini@amd.com>, <alex.bennee@linaro.org>,
	<xen-devel@lists.xenproject.org>, Vikram Garhwal <vikram.garhwal@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, Paolo Bonzini
	<pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "open list:All patches CC
 here" <qemu-devel@nongnu.org>
Subject: [QEMU][PATCH v2 04/11] xen-hvm: reorganize xen-hvm and move common function to xen-hvm-common
Date: Thu, 1 Dec 2022 18:59:56 -0800
Message-ID: <20221202030003.11441-5-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221202030003.11441-1-vikram.garhwal@amd.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT049:EE_|CH0PR12MB5281:EE_
X-MS-Office365-Filtering-Correlation-Id: c297c644-30bf-4782-bdc2-08dad4115cc3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rezZvejUBPXUmB+3OaGWJoUWPiYCZRXjgcGHc09dezYkx8wAiPel0QRHOxOkRVbHU0wEYKTkQPkvioRZXB7UKX1I/4xcgMgqVVWuI86U7cM3kaKMYUscEtnppSGn/viaVEDsyXYMChqAbMfmUjZxWcT7Dzy1cxOur10Gw0g0OUsVHbY0AsSOv0E2V70HvZZGmEEbSnNfeqYbH+TvJsTnIb3YuIj/ix0bw/U2rxow8NWEgujjHr1yT95uM0ieBGf1Ep5zE81lpsFQTeNO1FXQU/c3u562ltyrYP9Tv3itERMUg5QfI3UZfa5NEEcwzQzf7Bs0S0HZE+1NoMskvgP+9sto/lYtbLlChdN4ayBYbn/zJiONkxDV2FudsTYfv9Fn/tuyHrn5ivFec7PgRenb0vBFMdDJ/DdLOgOQCtCkAnMy0otIDhGtVy8u/6Jde6S1I3jAEAyPvHBmQBYMKZkDHokT3dD6vO+j0avz4LskZZ3razoJi+1G+f+UUo2AN07StyQbCfDZCbGq+F0qNgCMXgPDpYaOMr0V5X0YFxUZ+JWbc40/WMGeWXlFnS6UpigiLXH2D75N1GDUeNRY/DZXKo5dYnZVeR/l7s2hBf27WJ+YTlKe4dLhUFPCmJYN8e+3DAni6oT8JeUw3u8/GGKHON0sT+VvzGewGPTQcTBYKOh+v63rmGmQP5FUM2Ikj11xKIamwNq74uefYnC8iASs6co4F48uO0XoS4bqcnaqGUs=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(396003)(346002)(39860400002)(451199015)(40470700004)(36840700001)(46966006)(36756003)(81166007)(82740400003)(40480700001)(86362001)(54906003)(40460700003)(356005)(316002)(478600001)(36860700001)(44832011)(30864003)(4326008)(8676002)(70586007)(41300700001)(7416002)(6862004)(70206006)(8936002)(82310400005)(83380400001)(26005)(6666004)(5660300002)(2906002)(426003)(186003)(47076005)(2616005)(336012)(1076003)(36900700001)(559001)(579004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 03:00:26.1742
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c297c644-30bf-4782-bdc2-08dad4115cc3
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT049.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5281

From: Stefano Stabellini <stefano.stabellini@amd.com>

This patch does following:
1. creates arch_handle_ioreq() and arch_xen_set_memory(). This is done in
    preparation for moving most of xen-hvm code to an arch-neutral location,
    move the x86-specific portion of xen_set_memory to arch_xen_set_memory.
    Also, move handle_vmport_ioreq to arch_handle_ioreq.

2. Pure code movement: move common functions to hw/xen/xen-hvm-common.c
    Extract common functionalities from hw/i386/xen/xen-hvm.c and move them to
    hw/xen/xen-hvm-common.c. These common functions are useful for creating
    an IOREQ server.

    xen_hvm_init_pc() contains the architecture independent code for creating
    and mapping a IOREQ server, connecting memory and IO listeners, initializing
    a xen bus and registering backends. Moved this common xen code to a new
    function xen_register_ioreq() which can be used by both x86 and ARM machines.

    Following functions are moved to hw/xen/xen-hvm-common.c:
        xen_vcpu_eport(), xen_vcpu_ioreq(), xen_ram_alloc(), xen_set_memory(),
        xen_region_add(), xen_region_del(), xen_io_add(), xen_io_del(),
        xen_device_realize(), xen_device_unrealize(),
        cpu_get_ioreq_from_shared_memory(), cpu_get_ioreq(), do_inp(),
        do_outp(), rw_phys_req_item(), read_phys_req_item(),
        write_phys_req_item(), cpu_ioreq_pio(), cpu_ioreq_move(),
        cpu_ioreq_config(), handle_ioreq(), handle_buffered_iopage(),
        handle_buffered_io(), cpu_handle_ioreq(), xen_main_loop_prepare(),
        xen_hvm_change_state_handler(), xen_exit_notifier(),
        xen_map_ioreq_server(), destroy_hvm_domain() and
        xen_shutdown_fatal_error()

3. Removed static type from below functions:
    1. xen_region_add()
    2. xen_region_del()
    3. xen_io_add()
    4. xen_io_del()
    5. xen_device_realize()
    6. xen_device_unrealize()
    7. xen_hvm_change_state_handler()
    8. cpu_ioreq_pio()
    9. xen_exit_notifier()

4. Replace TARGET_PAGE_SIZE with XC_PAGE_SIZE to match the page side with Xen.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 hw/i386/xen/trace-events        |   14 -
 hw/i386/xen/xen-hvm.c           | 1023 ++-----------------------------
 hw/xen/meson.build              |    5 +-
 hw/xen/trace-events             |   14 +
 hw/xen/xen-hvm-common.c         |  868 ++++++++++++++++++++++++++
 include/hw/i386/xen_arch_hvm.h  |   11 +
 include/hw/xen/arch_hvm.h       |    3 +
 include/hw/xen/xen-hvm-common.h |   98 +++
 8 files changed, 1063 insertions(+), 973 deletions(-)
 create mode 100644 hw/xen/xen-hvm-common.c
 create mode 100644 include/hw/i386/xen_arch_hvm.h
 create mode 100644 include/hw/xen/arch_hvm.h
 create mode 100644 include/hw/xen/xen-hvm-common.h

diff --git a/hw/i386/xen/trace-events b/hw/i386/xen/trace-events
index a0c89d91c4..5d0a8d6dcf 100644
--- a/hw/i386/xen/trace-events
+++ b/hw/i386/xen/trace-events
@@ -7,17 +7,3 @@ xen_platform_log(char *s) "xen platform: %s"
 xen_pv_mmio_read(uint64_t addr) "WARNING: read from Xen PV Device MMIO space (address 0x%"PRIx64")"
 xen_pv_mmio_write(uint64_t addr) "WARNING: write to Xen PV Device MMIO space (address 0x%"PRIx64")"
 
-# xen-hvm.c
-xen_ram_alloc(unsigned long ram_addr, unsigned long size) "requested: 0x%lx, size 0x%lx"
-xen_client_set_memory(uint64_t start_addr, unsigned long size, bool log_dirty) "0x%"PRIx64" size 0x%lx, log_dirty %i"
-handle_ioreq(void *req, uint32_t type, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p type=%d dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d"
-handle_ioreq_read(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p read type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d"
-handle_ioreq_write(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p write type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d"
-cpu_ioreq_pio(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p pio dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d"
-cpu_ioreq_pio_read_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio read reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d"
-cpu_ioreq_pio_write_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio write reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d"
-cpu_ioreq_move(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p copy dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d"
-xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p"
-cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x"
-cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x"
-
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index e169de16c4..daba6c9caa 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -10,46 +10,20 @@
 
 #include "qemu/osdep.h"
 #include "qemu/units.h"
+#include "qapi/error.h"
+#include "qapi/qapi-commands-migration.h"
+#include "trace.h"
 
-#include "cpu.h"
-#include "hw/pci/pci.h"
-#include "hw/pci/pci_host.h"
 #include "hw/i386/pc.h"
 #include "hw/irq.h"
-#include "hw/hw.h"
 #include "hw/i386/apic-msidef.h"
-#include "hw/xen/xen_common.h"
-#include "hw/xen/xen-legacy-backend.h"
-#include "hw/xen/xen-bus.h"
 #include "hw/xen/xen-x86.h"
-#include "qapi/error.h"
-#include "qapi/qapi-commands-migration.h"
-#include "qemu/error-report.h"
-#include "qemu/main-loop.h"
 #include "qemu/range.h"
-#include "sysemu/runstate.h"
-#include "sysemu/sysemu.h"
-#include "sysemu/xen.h"
-#include "sysemu/xen-mapcache.h"
-#include "trace.h"
 
-#include <xen/hvm/ioreq.h>
+#include "hw/xen/xen-hvm-common.h"
+#include "hw/xen/arch_hvm.h"
 #include <xen/hvm/e820.h>
 
-//#define DEBUG_XEN_HVM
-
-#ifdef DEBUG_XEN_HVM
-#define DPRINTF(fmt, ...) \
-    do { fprintf(stderr, "xen: " fmt, ## __VA_ARGS__); } while (0)
-#else
-#define DPRINTF(fmt, ...) \
-    do { } while (0)
-#endif
-
-static MemoryRegion ram_memory, ram_640k, ram_lo, ram_hi;
-static MemoryRegion *framebuffer;
-static bool xen_in_migration;
-
 /* Compatibility with older version */
 
 /* This allows QEMU to build on a system that has Xen 4.5 or earlier
@@ -75,26 +49,9 @@ typedef struct shared_vmport_iopage shared_vmport_iopage_t;
 #endif
 static shared_vmport_iopage_t *shared_vmport_page;
 
-static inline uint32_t xen_vcpu_eport(shared_iopage_t *shared_page, int i)
-{
-    return shared_page->vcpu_ioreq[i].vp_eport;
-}
-static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu)
-{
-    return &shared_page->vcpu_ioreq[vcpu];
-}
-
-#define BUFFER_IO_MAX_DELAY  100
-
-typedef struct XenPhysmap {
-    hwaddr start_addr;
-    ram_addr_t size;
-    const char *name;
-    hwaddr phys_offset;
-
-    QLIST_ENTRY(XenPhysmap) list;
-} XenPhysmap;
-
+static MemoryRegion ram_640k, ram_lo, ram_hi;
+static MemoryRegion *framebuffer;
+static bool xen_in_migration;
 static QLIST_HEAD(, XenPhysmap) xen_physmap;
 static const XenPhysmap *log_for_dirtybit;
 /* Buffer used by xen_sync_dirty_bitmap */
@@ -102,38 +59,6 @@ static unsigned long *dirty_bitmap;
 static Notifier suspend;
 static Notifier wakeup;
 
-typedef struct XenPciDevice {
-    PCIDevice *pci_dev;
-    uint32_t sbdf;
-    QLIST_ENTRY(XenPciDevice) entry;
-} XenPciDevice;
-
-typedef struct XenIOState {
-    ioservid_t ioservid;
-    shared_iopage_t *shared_page;
-    buffered_iopage_t *buffered_io_page;
-    xenforeignmemory_resource_handle *fres;
-    QEMUTimer *buffered_io_timer;
-    CPUState **cpu_by_vcpu_id;
-    /* the evtchn port for polling the notification, */
-    evtchn_port_t *ioreq_local_port;
-    /* evtchn remote and local ports for buffered io */
-    evtchn_port_t bufioreq_remote_port;
-    evtchn_port_t bufioreq_local_port;
-    /* the evtchn fd for polling */
-    xenevtchn_handle *xce_handle;
-    /* which vcpu we are serving */
-    int send_vcpu;
-
-    struct xs_handle *xenstore;
-    MemoryListener memory_listener;
-    MemoryListener io_listener;
-    QLIST_HEAD(, XenPciDevice) dev_list;
-    DeviceListener device_listener;
-
-    Notifier exit;
-} XenIOState;
-
 /* Xen specific function for piix pci */
 
 int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num)
@@ -246,42 +171,6 @@ static void xen_ram_init(PCMachineState *pcms,
     }
 }
 
-void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
-                   Error **errp)
-{
-    unsigned long nr_pfn;
-    xen_pfn_t *pfn_list;
-    int i;
-
-    if (runstate_check(RUN_STATE_INMIGRATE)) {
-        /* RAM already populated in Xen */
-        fprintf(stderr, "%s: do not alloc "RAM_ADDR_FMT
-                " bytes of ram at "RAM_ADDR_FMT" when runstate is INMIGRATE\n",
-                __func__, size, ram_addr);
-        return;
-    }
-
-    if (mr == &ram_memory) {
-        return;
-    }
-
-    trace_xen_ram_alloc(ram_addr, size);
-
-    nr_pfn = size >> TARGET_PAGE_BITS;
-    pfn_list = g_malloc(sizeof (*pfn_list) * nr_pfn);
-
-    for (i = 0; i < nr_pfn; i++) {
-        pfn_list[i] = (ram_addr >> TARGET_PAGE_BITS) + i;
-    }
-
-    if (xc_domain_populate_physmap_exact(xen_xc, xen_domid, nr_pfn, 0, 0, pfn_list)) {
-        error_setg(errp, "xen: failed to populate ram at " RAM_ADDR_FMT,
-                   ram_addr);
-    }
-
-    g_free(pfn_list);
-}
-
 static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size)
 {
     XenPhysmap *physmap = NULL;
@@ -471,144 +360,6 @@ static int xen_remove_from_physmap(XenIOState *state,
     return 0;
 }
 
-static void xen_set_memory(struct MemoryListener *listener,
-                           MemoryRegionSection *section,
-                           bool add)
-{
-    XenIOState *state = container_of(listener, XenIOState, memory_listener);
-    hwaddr start_addr = section->offset_within_address_space;
-    ram_addr_t size = int128_get64(section->size);
-    bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA);
-    hvmmem_type_t mem_type;
-
-    if (section->mr == &ram_memory) {
-        return;
-    } else {
-        if (add) {
-            xen_map_memory_section(xen_domid, state->ioservid,
-                                   section);
-        } else {
-            xen_unmap_memory_section(xen_domid, state->ioservid,
-                                     section);
-        }
-    }
-
-    if (!memory_region_is_ram(section->mr)) {
-        return;
-    }
-
-    if (log_dirty != add) {
-        return;
-    }
-
-    trace_xen_client_set_memory(start_addr, size, log_dirty);
-
-    start_addr &= TARGET_PAGE_MASK;
-    size = TARGET_PAGE_ALIGN(size);
-
-    if (add) {
-        if (!memory_region_is_rom(section->mr)) {
-            xen_add_to_physmap(state, start_addr, size,
-                               section->mr, section->offset_within_region);
-        } else {
-            mem_type = HVMMEM_ram_ro;
-            if (xen_set_mem_type(xen_domid, mem_type,
-                                 start_addr >> TARGET_PAGE_BITS,
-                                 size >> TARGET_PAGE_BITS)) {
-                DPRINTF("xen_set_mem_type error, addr: "TARGET_FMT_plx"\n",
-                        start_addr);
-            }
-        }
-    } else {
-        if (xen_remove_from_physmap(state, start_addr, size) < 0) {
-            DPRINTF("physmapping does not exist at "TARGET_FMT_plx"\n", start_addr);
-        }
-    }
-}
-
-static void xen_region_add(MemoryListener *listener,
-                           MemoryRegionSection *section)
-{
-    memory_region_ref(section->mr);
-    xen_set_memory(listener, section, true);
-}
-
-static void xen_region_del(MemoryListener *listener,
-                           MemoryRegionSection *section)
-{
-    xen_set_memory(listener, section, false);
-    memory_region_unref(section->mr);
-}
-
-static void xen_io_add(MemoryListener *listener,
-                       MemoryRegionSection *section)
-{
-    XenIOState *state = container_of(listener, XenIOState, io_listener);
-    MemoryRegion *mr = section->mr;
-
-    if (mr->ops == &unassigned_io_ops) {
-        return;
-    }
-
-    memory_region_ref(mr);
-
-    xen_map_io_section(xen_domid, state->ioservid, section);
-}
-
-static void xen_io_del(MemoryListener *listener,
-                       MemoryRegionSection *section)
-{
-    XenIOState *state = container_of(listener, XenIOState, io_listener);
-    MemoryRegion *mr = section->mr;
-
-    if (mr->ops == &unassigned_io_ops) {
-        return;
-    }
-
-    xen_unmap_io_section(xen_domid, state->ioservid, section);
-
-    memory_region_unref(mr);
-}
-
-static void xen_device_realize(DeviceListener *listener,
-                               DeviceState *dev)
-{
-    XenIOState *state = container_of(listener, XenIOState, device_listener);
-
-    if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) {
-        PCIDevice *pci_dev = PCI_DEVICE(dev);
-        XenPciDevice *xendev = g_new(XenPciDevice, 1);
-
-        xendev->pci_dev = pci_dev;
-        xendev->sbdf = PCI_BUILD_BDF(pci_dev_bus_num(pci_dev),
-                                     pci_dev->devfn);
-        QLIST_INSERT_HEAD(&state->dev_list, xendev, entry);
-
-        xen_map_pcidev(xen_domid, state->ioservid, pci_dev);
-    }
-}
-
-static void xen_device_unrealize(DeviceListener *listener,
-                                 DeviceState *dev)
-{
-    XenIOState *state = container_of(listener, XenIOState, device_listener);
-
-    if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) {
-        PCIDevice *pci_dev = PCI_DEVICE(dev);
-        XenPciDevice *xendev, *next;
-
-        xen_unmap_pcidev(xen_domid, state->ioservid, pci_dev);
-
-        QLIST_FOREACH_SAFE(xendev, &state->dev_list, entry, next) {
-            if (xendev->pci_dev == pci_dev) {
-                QLIST_REMOVE(xendev, entry);
-                g_free(xendev);
-                break;
-            }
-        }
-    }
-}
-
 static void xen_sync_dirty_bitmap(XenIOState *state,
                                   hwaddr start_addr,
                                   ram_addr_t size)
@@ -716,277 +467,6 @@ static MemoryListener xen_memory_listener = {
     .priority = 10,
 };
 
-static MemoryListener xen_io_listener = {
-    .name = "xen-io",
-    .region_add = xen_io_add,
-    .region_del = xen_io_del,
-    .priority = 10,
-};
-
-static DeviceListener xen_device_listener = {
-    .realize = xen_device_realize,
-    .unrealize = xen_device_unrealize,
-};
-
-/* get the ioreq packets from share mem */
-static ioreq_t *cpu_get_ioreq_from_shared_memory(XenIOState *state, int vcpu)
-{
-    ioreq_t *req = xen_vcpu_ioreq(state->shared_page, vcpu);
-
-    if (req->state != STATE_IOREQ_READY) {
-        DPRINTF("I/O request not ready: "
-                "%x, ptr: %x, port: %"PRIx64", "
-                "data: %"PRIx64", count: %u, size: %u\n",
-                req->state, req->data_is_ptr, req->addr,
-                req->data, req->count, req->size);
-        return NULL;
-    }
-
-    xen_rmb(); /* see IOREQ_READY /then/ read contents of ioreq */
-
-    req->state = STATE_IOREQ_INPROCESS;
-    return req;
-}
-
-/* use poll to get the port notification */
-/* ioreq_vec--out,the */
-/* retval--the number of ioreq packet */
-static ioreq_t *cpu_get_ioreq(XenIOState *state)
-{
-    MachineState *ms = MACHINE(qdev_get_machine());
-    unsigned int max_cpus = ms->smp.max_cpus;
-    int i;
-    evtchn_port_t port;
-
-    port = xenevtchn_pending(state->xce_handle);
-    if (port == state->bufioreq_local_port) {
-        timer_mod(state->buffered_io_timer,
-                BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
-        return NULL;
-    }
-
-    if (port != -1) {
-        for (i = 0; i < max_cpus; i++) {
-            if (state->ioreq_local_port[i] == port) {
-                break;
-            }
-        }
-
-        if (i == max_cpus) {
-            hw_error("Fatal error while trying to get io event!\n");
-        }
-
-        /* unmask the wanted port again */
-        xenevtchn_unmask(state->xce_handle, port);
-
-        /* get the io packet from shared memory */
-        state->send_vcpu = i;
-        return cpu_get_ioreq_from_shared_memory(state, i);
-    }
-
-    /* read error or read nothing */
-    return NULL;
-}
-
-static uint32_t do_inp(uint32_t addr, unsigned long size)
-{
-    switch (size) {
-        case 1:
-            return cpu_inb(addr);
-        case 2:
-            return cpu_inw(addr);
-        case 4:
-            return cpu_inl(addr);
-        default:
-            hw_error("inp: bad size: %04x %lx", addr, size);
-    }
-}
-
-static void do_outp(uint32_t addr,
-        unsigned long size, uint32_t val)
-{
-    switch (size) {
-        case 1:
-            return cpu_outb(addr, val);
-        case 2:
-            return cpu_outw(addr, val);
-        case 4:
-            return cpu_outl(addr, val);
-        default:
-            hw_error("outp: bad size: %04x %lx", addr, size);
-    }
-}
-
-/*
- * Helper functions which read/write an object from/to physical guest
- * memory, as part of the implementation of an ioreq.
- *
- * Equivalent to
- *   cpu_physical_memory_rw(addr + (req->df ? -1 : +1) * req->size * i,
- *                          val, req->size, 0/1)
- * except without the integer overflow problems.
- */
-static void rw_phys_req_item(hwaddr addr,
-                             ioreq_t *req, uint32_t i, void *val, int rw)
-{
-    /* Do everything unsigned so overflow just results in a truncated result
-     * and accesses to undesired parts of guest memory, which is up
-     * to the guest */
-    hwaddr offset = (hwaddr)req->size * i;
-    if (req->df) {
-        addr -= offset;
-    } else {
-        addr += offset;
-    }
-    cpu_physical_memory_rw(addr, val, req->size, rw);
-}
-
-static inline void read_phys_req_item(hwaddr addr,
-                                      ioreq_t *req, uint32_t i, void *val)
-{
-    rw_phys_req_item(addr, req, i, val, 0);
-}
-static inline void write_phys_req_item(hwaddr addr,
-                                       ioreq_t *req, uint32_t i, void *val)
-{
-    rw_phys_req_item(addr, req, i, val, 1);
-}
-
-
-static void cpu_ioreq_pio(ioreq_t *req)
-{
-    uint32_t i;
-
-    trace_cpu_ioreq_pio(req, req->dir, req->df, req->data_is_ptr, req->addr,
-                         req->data, req->count, req->size);
-
-    if (req->size > sizeof(uint32_t)) {
-        hw_error("PIO: bad size (%u)", req->size);
-    }
-
-    if (req->dir == IOREQ_READ) {
-        if (!req->data_is_ptr) {
-            req->data = do_inp(req->addr, req->size);
-            trace_cpu_ioreq_pio_read_reg(req, req->data, req->addr,
-                                         req->size);
-        } else {
-            uint32_t tmp;
-
-            for (i = 0; i < req->count; i++) {
-                tmp = do_inp(req->addr, req->size);
-                write_phys_req_item(req->data, req, i, &tmp);
-            }
-        }
-    } else if (req->dir == IOREQ_WRITE) {
-        if (!req->data_is_ptr) {
-            trace_cpu_ioreq_pio_write_reg(req, req->data, req->addr,
-                                          req->size);
-            do_outp(req->addr, req->size, req->data);
-        } else {
-            for (i = 0; i < req->count; i++) {
-                uint32_t tmp = 0;
-
-                read_phys_req_item(req->data, req, i, &tmp);
-                do_outp(req->addr, req->size, tmp);
-            }
-        }
-    }
-}
-
-static void cpu_ioreq_move(ioreq_t *req)
-{
-    uint32_t i;
-
-    trace_cpu_ioreq_move(req, req->dir, req->df, req->data_is_ptr, req->addr,
-                         req->data, req->count, req->size);
-
-    if (req->size > sizeof(req->data)) {
-        hw_error("MMIO: bad size (%u)", req->size);
-    }
-
-    if (!req->data_is_ptr) {
-        if (req->dir == IOREQ_READ) {
-            for (i = 0; i < req->count; i++) {
-                read_phys_req_item(req->addr, req, i, &req->data);
-            }
-        } else if (req->dir == IOREQ_WRITE) {
-            for (i = 0; i < req->count; i++) {
-                write_phys_req_item(req->addr, req, i, &req->data);
-            }
-        }
-    } else {
-        uint64_t tmp;
-
-        if (req->dir == IOREQ_READ) {
-            for (i = 0; i < req->count; i++) {
-                read_phys_req_item(req->addr, req, i, &tmp);
-                write_phys_req_item(req->data, req, i, &tmp);
-            }
-        } else if (req->dir == IOREQ_WRITE) {
-            for (i = 0; i < req->count; i++) {
-                read_phys_req_item(req->data, req, i, &tmp);
-                write_phys_req_item(req->addr, req, i, &tmp);
-            }
-        }
-    }
-}
-
-static void cpu_ioreq_config(XenIOState *state, ioreq_t *req)
-{
-    uint32_t sbdf = req->addr >> 32;
-    uint32_t reg = req->addr;
-    XenPciDevice *xendev;
-
-    if (req->size != sizeof(uint8_t) && req->size != sizeof(uint16_t) &&
-        req->size != sizeof(uint32_t)) {
-        hw_error("PCI config access: bad size (%u)", req->size);
-    }
-
-    if (req->count != 1) {
-        hw_error("PCI config access: bad count (%u)", req->count);
-    }
-
-    QLIST_FOREACH(xendev, &state->dev_list, entry) {
-        if (xendev->sbdf != sbdf) {
-            continue;
-        }
-
-        if (!req->data_is_ptr) {
-            if (req->dir == IOREQ_READ) {
-                req->data = pci_host_config_read_common(
-                    xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE,
-                    req->size);
-                trace_cpu_ioreq_config_read(req, xendev->sbdf, reg,
-                                            req->size, req->data);
-            } else if (req->dir == IOREQ_WRITE) {
-                trace_cpu_ioreq_config_write(req, xendev->sbdf, reg,
-                                             req->size, req->data);
-                pci_host_config_write_common(
-                    xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE,
-                    req->data, req->size);
-            }
-        } else {
-            uint32_t tmp;
-
-            if (req->dir == IOREQ_READ) {
-                tmp = pci_host_config_read_common(
-                    xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE,
-                    req->size);
-                trace_cpu_ioreq_config_read(req, xendev->sbdf, reg,
-                                            req->size, tmp);
-                write_phys_req_item(req->data, req, 0, &tmp);
-            } else if (req->dir == IOREQ_WRITE) {
-                read_phys_req_item(req->data, req, 0, &tmp);
-                trace_cpu_ioreq_config_write(req, xendev->sbdf, reg,
-                                             req->size, tmp);
-                pci_host_config_write_common(
-                    xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE,
-                    tmp, req->size);
-            }
-        }
-    }
-}
-
 static void regs_to_cpu(vmware_regs_t *vmport_regs, ioreq_t *req)
 {
     X86CPU *cpu;
@@ -1030,226 +510,6 @@ static void handle_vmport_ioreq(XenIOState *state, ioreq_t *req)
     current_cpu = NULL;
 }
 
-static void handle_ioreq(XenIOState *state, ioreq_t *req)
-{
-    trace_handle_ioreq(req, req->type, req->dir, req->df, req->data_is_ptr,
-                       req->addr, req->data, req->count, req->size);
-
-    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) &&
-            (req->size < sizeof (target_ulong))) {
-        req->data &= ((target_ulong) 1 << (8 * req->size)) - 1;
-    }
-
-    if (req->dir == IOREQ_WRITE)
-        trace_handle_ioreq_write(req, req->type, req->df, req->data_is_ptr,
-                                 req->addr, req->data, req->count, req->size);
-
-    switch (req->type) {
-        case IOREQ_TYPE_PIO:
-            cpu_ioreq_pio(req);
-            break;
-        case IOREQ_TYPE_COPY:
-            cpu_ioreq_move(req);
-            break;
-        case IOREQ_TYPE_VMWARE_PORT:
-            handle_vmport_ioreq(state, req);
-            break;
-        case IOREQ_TYPE_TIMEOFFSET:
-            break;
-        case IOREQ_TYPE_INVALIDATE:
-            xen_invalidate_map_cache();
-            break;
-        case IOREQ_TYPE_PCI_CONFIG:
-            cpu_ioreq_config(state, req);
-            break;
-        default:
-            hw_error("Invalid ioreq type 0x%x\n", req->type);
-    }
-    if (req->dir == IOREQ_READ) {
-        trace_handle_ioreq_read(req, req->type, req->df, req->data_is_ptr,
-                                req->addr, req->data, req->count, req->size);
-    }
-}
-
-static bool handle_buffered_iopage(XenIOState *state)
-{
-    buffered_iopage_t *buf_page = state->buffered_io_page;
-    buf_ioreq_t *buf_req = NULL;
-    bool handled_ioreq = false;
-    ioreq_t req;
-    int qw;
-
-    if (!buf_page) {
-        return 0;
-    }
-
-    memset(&req, 0x00, sizeof(req));
-    req.state = STATE_IOREQ_READY;
-    req.count = 1;
-    req.dir = IOREQ_WRITE;
-
-    for (;;) {
-        uint32_t rdptr = buf_page->read_pointer, wrptr;
-
-        xen_rmb();
-        wrptr = buf_page->write_pointer;
-        xen_rmb();
-        if (rdptr != buf_page->read_pointer) {
-            continue;
-        }
-        if (rdptr == wrptr) {
-            break;
-        }
-        buf_req = &buf_page->buf_ioreq[rdptr % IOREQ_BUFFER_SLOT_NUM];
-        req.size = 1U << buf_req->size;
-        req.addr = buf_req->addr;
-        req.data = buf_req->data;
-        req.type = buf_req->type;
-        xen_rmb();
-        qw = (req.size == 8);
-        if (qw) {
-            if (rdptr + 1 == wrptr) {
-                hw_error("Incomplete quad word buffered ioreq");
-            }
-            buf_req = &buf_page->buf_ioreq[(rdptr + 1) %
-                                           IOREQ_BUFFER_SLOT_NUM];
-            req.data |= ((uint64_t)buf_req->data) << 32;
-            xen_rmb();
-        }
-
-        handle_ioreq(state, &req);
-
-        /* Only req.data may get updated by handle_ioreq(), albeit even that
-         * should not happen as such data would never make it to the guest (we
-         * can only usefully see writes here after all).
-         */
-        assert(req.state == STATE_IOREQ_READY);
-        assert(req.count == 1);
-        assert(req.dir == IOREQ_WRITE);
-        assert(!req.data_is_ptr);
-
-        qatomic_add(&buf_page->read_pointer, qw + 1);
-        handled_ioreq = true;
-    }
-
-    return handled_ioreq;
-}
-
-static void handle_buffered_io(void *opaque)
-{
-    XenIOState *state = opaque;
-
-    if (handle_buffered_iopage(state)) {
-        timer_mod(state->buffered_io_timer,
-                BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
-    } else {
-        timer_del(state->buffered_io_timer);
-        xenevtchn_unmask(state->xce_handle, state->bufioreq_local_port);
-    }
-}
-
-static void cpu_handle_ioreq(void *opaque)
-{
-    XenIOState *state = opaque;
-    ioreq_t *req = cpu_get_ioreq(state);
-
-    handle_buffered_iopage(state);
-    if (req) {
-        ioreq_t copy = *req;
-
-        xen_rmb();
-        handle_ioreq(state, &copy);
-        req->data = copy.data;
-
-        if (req->state != STATE_IOREQ_INPROCESS) {
-            fprintf(stderr, "Badness in I/O request ... not in service?!: "
-                    "%x, ptr: %x, port: %"PRIx64", "
-                    "data: %"PRIx64", count: %u, size: %u, type: %u\n",
-                    req->state, req->data_is_ptr, req->addr,
-                    req->data, req->count, req->size, req->type);
-            destroy_hvm_domain(false);
-            return;
-        }
-
-        xen_wmb(); /* Update ioreq contents /then/ update state. */
-
-        /*
-         * We do this before we send the response so that the tools
-         * have the opportunity to pick up on the reset before the
-         * guest resumes and does a hlt with interrupts disabled which
-         * causes Xen to powerdown the domain.
-         */
-        if (runstate_is_running()) {
-            ShutdownCause request;
-
-            if (qemu_shutdown_requested_get()) {
-                destroy_hvm_domain(false);
-            }
-            request = qemu_reset_requested_get();
-            if (request) {
-                qemu_system_reset(request);
-                destroy_hvm_domain(true);
-            }
-        }
-
-        req->state = STATE_IORESP_READY;
-        xenevtchn_notify(state->xce_handle,
-                         state->ioreq_local_port[state->send_vcpu]);
-    }
-}
-
-static void xen_main_loop_prepare(XenIOState *state)
-{
-    int evtchn_fd = -1;
-
-    if (state->xce_handle != NULL) {
-        evtchn_fd = xenevtchn_fd(state->xce_handle);
-    }
-
-    state->buffered_io_timer = timer_new_ms(QEMU_CLOCK_REALTIME, handle_buffered_io,
-                                                 state);
-
-    if (evtchn_fd != -1) {
-        CPUState *cpu_state;
-
-        DPRINTF("%s: Init cpu_by_vcpu_id\n", __func__);
-        CPU_FOREACH(cpu_state) {
-            DPRINTF("%s: cpu_by_vcpu_id[%d]=%p\n",
-                    __func__, cpu_state->cpu_index, cpu_state);
-            state->cpu_by_vcpu_id[cpu_state->cpu_index] = cpu_state;
-        }
-        qemu_set_fd_handler(evtchn_fd, cpu_handle_ioreq, NULL, state);
-    }
-}
-
-
-static void xen_hvm_change_state_handler(void *opaque, bool running,
-                                         RunState rstate)
-{
-    XenIOState *state = opaque;
-
-    if (running) {
-        xen_main_loop_prepare(state);
-    }
-
-    xen_set_ioreq_server_state(xen_domid,
-                               state->ioservid,
-                               (rstate == RUN_STATE_RUNNING));
-}
-
-static void xen_exit_notifier(Notifier *n, void *data)
-{
-    XenIOState *state = container_of(n, XenIOState, exit);
-
-    xen_destroy_ioreq_server(xen_domid, state->ioservid);
-    if (state->fres != NULL) {
-        xenforeignmemory_unmap_resource(xen_fmem, state->fres);
-    }
-
-    xenevtchn_close(state->xce_handle);
-    xs_daemon_close(state->xenstore);
-}
-
 #ifdef XEN_COMPAT_PHYSMAP
 static void xen_read_physmap(XenIOState *state)
 {
@@ -1309,178 +569,19 @@ static void xen_wakeup_notifier(Notifier *notifier, void *data)
     xc_set_hvm_param(xen_xc, xen_domid, HVM_PARAM_ACPI_S_STATE, 0);
 }
 
-static int xen_map_ioreq_server(XenIOState *state)
-{
-    void *addr = NULL;
-    xen_pfn_t ioreq_pfn;
-    xen_pfn_t bufioreq_pfn;
-    evtchn_port_t bufioreq_evtchn;
-    int rc;
-
-    /*
-     * Attempt to map using the resource API and fall back to normal
-     * foreign mapping if this is not supported.
-     */
-    QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_bufioreq != 0);
-    QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_ioreq(0) != 1);
-    state->fres = xenforeignmemory_map_resource(xen_fmem, xen_domid,
-                                         XENMEM_resource_ioreq_server,
-                                         state->ioservid, 0, 2,
-                                         &addr,
-                                         PROT_READ | PROT_WRITE, 0);
-    if (state->fres != NULL) {
-        trace_xen_map_resource_ioreq(state->ioservid, addr);
-        state->buffered_io_page = addr;
-        state->shared_page = addr + TARGET_PAGE_SIZE;
-    } else if (errno != EOPNOTSUPP) {
-        error_report("failed to map ioreq server resources: error %d handle=%p",
-                     errno, xen_xc);
-        return -1;
-    }
-
-    rc = xen_get_ioreq_server_info(xen_domid, state->ioservid,
-                                   (state->shared_page == NULL) ?
-                                   &ioreq_pfn : NULL,
-                                   (state->buffered_io_page == NULL) ?
-                                   &bufioreq_pfn : NULL,
-                                   &bufioreq_evtchn);
-    if (rc < 0) {
-        error_report("failed to get ioreq server info: error %d handle=%p",
-                     errno, xen_xc);
-        return rc;
-    }
-
-    if (state->shared_page == NULL) {
-        DPRINTF("shared page at pfn %lx\n", ioreq_pfn);
-
-        state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid,
-                                                  PROT_READ | PROT_WRITE,
-                                                  1, &ioreq_pfn, NULL);
-        if (state->shared_page == NULL) {
-            error_report("map shared IO page returned error %d handle=%p",
-                         errno, xen_xc);
-        }
-    }
-
-    if (state->buffered_io_page == NULL) {
-        DPRINTF("buffered io page at pfn %lx\n", bufioreq_pfn);
-
-        state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid,
-                                                       PROT_READ | PROT_WRITE,
-                                                       1, &bufioreq_pfn,
-                                                       NULL);
-        if (state->buffered_io_page == NULL) {
-            error_report("map buffered IO page returned error %d", errno);
-            return -1;
-        }
-    }
-
-    if (state->shared_page == NULL || state->buffered_io_page == NULL) {
-        return -1;
-    }
-
-    DPRINTF("buffered io evtchn is %x\n", bufioreq_evtchn);
-
-    state->bufioreq_remote_port = bufioreq_evtchn;
-
-    return 0;
-}
-
 void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
 {
     MachineState *ms = MACHINE(pcms);
     unsigned int max_cpus = ms->smp.max_cpus;
-    int i, rc;
+    int rc;
     xen_pfn_t ioreq_pfn;
     XenIOState *state;
 
     state = g_new0(XenIOState, 1);
 
-    state->xce_handle = xenevtchn_open(NULL, 0);
-    if (state->xce_handle == NULL) {
-        perror("xen: event channel open");
-        goto err;
-    }
-
-    state->xenstore = xs_daemon_open();
-    if (state->xenstore == NULL) {
-        perror("xen: xenstore open");
-        goto err;
-    }
-
-    xen_create_ioreq_server(xen_domid, &state->ioservid);
-
-    state->exit.notify = xen_exit_notifier;
-    qemu_add_exit_notifier(&state->exit);
-
-    /*
-     * Register wake-up support in QMP query-current-machine API
-     */
-    qemu_register_wakeup_support();
+    xen_register_ioreq(state, max_cpus, xen_memory_listener);
 
-    rc = xen_map_ioreq_server(state);
-    if (rc < 0) {
-        goto err;
-    }
-
-    /* Note: cpus is empty at this point in init */
-    state->cpu_by_vcpu_id = g_new0(CPUState *, max_cpus);
-
-    rc = xen_set_ioreq_server_state(xen_domid, state->ioservid, true);
-    if (rc < 0) {
-        error_report("failed to enable ioreq server info: error %d handle=%p",
-                     errno, xen_xc);
-        goto err;
-    }
-
-    state->ioreq_local_port = g_new0(evtchn_port_t, max_cpus);
-
-    /* FIXME: how about if we overflow the page here? */
-    for (i = 0; i < max_cpus; i++) {
-        rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid,
-                                        xen_vcpu_eport(state->shared_page, i));
-        if (rc == -1) {
-            error_report("shared evtchn %d bind error %d", i, errno);
-            goto err;
-        }
-        state->ioreq_local_port[i] = rc;
-    }
-
-    rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid,
-                                    state->bufioreq_remote_port);
-    if (rc == -1) {
-        error_report("buffered evtchn bind error %d", errno);
-        goto err;
-    }
-    state->bufioreq_local_port = rc;
-
-    /* Init RAM management */
-#ifdef XEN_COMPAT_PHYSMAP
-    xen_map_cache_init(xen_phys_offset_to_gaddr, state);
-#else
-    xen_map_cache_init(NULL, state);
-#endif
-
-    qemu_add_vm_change_state_handler(xen_hvm_change_state_handler, state);
-
-    state->memory_listener = xen_memory_listener;
-    memory_listener_register(&state->memory_listener, &address_space_memory);
-
-    state->io_listener = xen_io_listener;
-    memory_listener_register(&state->io_listener, &address_space_io);
-
-    state->device_listener = xen_device_listener;
-    QLIST_INIT(&state->dev_list);
-    device_listener_register(&state->device_listener);
-
-    xen_bus_init();
-
-    /* Initialize backend core & drivers */
-    if (xen_be_init() != 0) {
-        error_report("xen backend core setup failed");
-        goto err;
-    }
-    xen_be_register_common();
+    xen_register_backend(state);
 
     QLIST_INIT(&xen_physmap);
     xen_read_physmap(state);
@@ -1520,59 +621,11 @@ err:
     exit(1);
 }
 
-void destroy_hvm_domain(bool reboot)
-{
-    xc_interface *xc_handle;
-    int sts;
-    int rc;
-
-    unsigned int reason = reboot ? SHUTDOWN_reboot : SHUTDOWN_poweroff;
-
-    if (xen_dmod) {
-        rc = xendevicemodel_shutdown(xen_dmod, xen_domid, reason);
-        if (!rc) {
-            return;
-        }
-        if (errno != ENOTTY /* old Xen */) {
-            perror("xendevicemodel_shutdown failed");
-        }
-        /* well, try the old thing then */
-    }
-
-    xc_handle = xc_interface_open(0, 0, 0);
-    if (xc_handle == NULL) {
-        fprintf(stderr, "Cannot acquire xenctrl handle\n");
-    } else {
-        sts = xc_domain_shutdown(xc_handle, xen_domid, reason);
-        if (sts != 0) {
-            fprintf(stderr, "xc_domain_shutdown failed to issue %s, "
-                    "sts %d, %s\n", reboot ? "reboot" : "poweroff",
-                    sts, strerror(errno));
-        } else {
-            fprintf(stderr, "Issued domain %d %s\n", xen_domid,
-                    reboot ? "reboot" : "poweroff");
-        }
-        xc_interface_close(xc_handle);
-    }
-}
-
 void xen_register_framebuffer(MemoryRegion *mr)
 {
     framebuffer = mr;
 }
 
-void xen_shutdown_fatal_error(const char *fmt, ...)
-{
-    va_list ap;
-
-    va_start(ap, fmt);
-    vfprintf(stderr, fmt, ap);
-    va_end(ap);
-    fprintf(stderr, "Will destroy the domain.\n");
-    /* destroy the domain */
-    qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_ERROR);
-}
-
 void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
 {
     if (unlikely(xen_in_migration)) {
@@ -1604,3 +657,57 @@ void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
         memory_global_dirty_log_stop(GLOBAL_DIRTY_MIGRATION);
     }
 }
+
+void arch_xen_set_memory(XenIOState *state, MemoryRegionSection *section,
+                                bool add)
+{
+    hwaddr start_addr = section->offset_within_address_space;
+    ram_addr_t size = int128_get64(section->size);
+    bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA);
+    hvmmem_type_t mem_type;
+
+    if (!memory_region_is_ram(section->mr)) {
+        return;
+    }
+
+    if (log_dirty != add) {
+        return;
+    }
+
+    trace_xen_client_set_memory(start_addr, size, log_dirty);
+
+    start_addr &= TARGET_PAGE_MASK;
+    size = TARGET_PAGE_ALIGN(size);
+
+    if (add) {
+        if (!memory_region_is_rom(section->mr)) {
+            xen_add_to_physmap(state, start_addr, size,
+                               section->mr, section->offset_within_region);
+        } else {
+            mem_type = HVMMEM_ram_ro;
+            if (xen_set_mem_type(xen_domid, mem_type,
+                                 start_addr >> TARGET_PAGE_BITS,
+                                 size >> TARGET_PAGE_BITS)) {
+                DPRINTF("xen_set_mem_type error, addr: "TARGET_FMT_plx"\n",
+                        start_addr);
+            }
+        }
+    } else {
+        if (xen_remove_from_physmap(state, start_addr, size) < 0) {
+            DPRINTF("physmapping does not exist at "TARGET_FMT_plx"\n", start_addr);
+        }
+    }
+}
+
+void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
+{
+    switch (req->type) {
+    case IOREQ_TYPE_VMWARE_PORT:
+            handle_vmport_ioreq(state, req);
+        break;
+    default:
+        hw_error("Invalid ioreq type 0x%x\n", req->type);
+    }
+
+    return;
+}
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index 19d0637c46..008e036d63 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -25,4 +25,7 @@ specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss)
 
 xen_ss = ss.source_set()
 
-xen_ss.add(when: 'CONFIG_XEN', if_true: files('xen-mapcache.c'))
+xen_ss.add(when: 'CONFIG_XEN', if_true: files(
+  'xen-mapcache.c',
+  'xen-hvm-common.c',
+))
diff --git a/hw/xen/trace-events b/hw/xen/trace-events
index 2c8f238f42..02ca1183da 100644
--- a/hw/xen/trace-events
+++ b/hw/xen/trace-events
@@ -42,6 +42,20 @@ xs_node_vscanf(char *path, char *value) "%s %s"
 xs_node_watch(char *path) "%s"
 xs_node_unwatch(char *path) "%s"
 
+# xen-hvm.c
+xen_ram_alloc(unsigned long ram_addr, unsigned long size) "requested: 0x%lx, size 0x%lx"
+xen_client_set_memory(uint64_t start_addr, unsigned long size, bool log_dirty) "0x%"PRIx64" size 0x%lx, log_dirty %i"
+handle_ioreq(void *req, uint32_t type, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p type=%d dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d"
+handle_ioreq_read(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p read type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d"
+handle_ioreq_write(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p write type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d"
+cpu_ioreq_pio(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p pio dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d"
+cpu_ioreq_pio_read_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio read reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d"
+cpu_ioreq_pio_write_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio write reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d"
+cpu_ioreq_move(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p copy dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d"
+xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p"
+cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x"
+cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x"
+
 # xen-mapcache.c
 xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64
 xen_remap_bucket(uint64_t index) "index 0x%"PRIx64
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
new file mode 100644
index 0000000000..403b2eebbf
--- /dev/null
+++ b/hw/xen/xen-hvm-common.c
@@ -0,0 +1,868 @@
+#include "qemu/osdep.h"
+#include "qemu/units.h"
+#include "qapi/error.h"
+#include "trace.h"
+
+#include "hw/pci/pci_host.h"
+#include "hw/xen/xen-hvm-common.h"
+#include "hw/xen/xen-legacy-backend.h"
+#include "hw/xen/xen-bus.h"
+#include "hw/boards.h"
+#include "hw/xen/arch_hvm.h"
+
+MemoryRegion ram_memory;
+
+void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
+                   Error **errp)
+{
+    unsigned long nr_pfn;
+    xen_pfn_t *pfn_list;
+    int i;
+
+    if (runstate_check(RUN_STATE_INMIGRATE)) {
+        /* RAM already populated in Xen */
+        fprintf(stderr, "%s: do not alloc "RAM_ADDR_FMT
+                " bytes of ram at "RAM_ADDR_FMT" when runstate is INMIGRATE\n",
+                __func__, size, ram_addr);
+        return;
+    }
+
+    if (mr == &ram_memory) {
+        return;
+    }
+
+    trace_xen_ram_alloc(ram_addr, size);
+
+    nr_pfn = size >> TARGET_PAGE_BITS;
+    pfn_list = g_malloc(sizeof (*pfn_list) * nr_pfn);
+
+    for (i = 0; i < nr_pfn; i++) {
+        pfn_list[i] = (ram_addr >> TARGET_PAGE_BITS) + i;
+    }
+
+    if (xc_domain_populate_physmap_exact(xen_xc, xen_domid, nr_pfn, 0, 0, pfn_list)) {
+        error_setg(errp, "xen: failed to populate ram at " RAM_ADDR_FMT,
+                   ram_addr);
+    }
+
+    g_free(pfn_list);
+}
+
+
+static void xen_set_memory(struct MemoryListener *listener,
+                           MemoryRegionSection *section,
+                           bool add)
+{
+    XenIOState *state = container_of(listener, XenIOState, memory_listener);
+
+    if (section->mr == &ram_memory) {
+        return;
+    } else {
+        if (add) {
+            xen_map_memory_section(xen_domid, state->ioservid,
+                                   section);
+        } else {
+            xen_unmap_memory_section(xen_domid, state->ioservid,
+                                     section);
+        }
+    }
+    arch_xen_set_memory(state, section, add);
+}
+
+void xen_region_add(MemoryListener *listener,
+                           MemoryRegionSection *section)
+{
+    memory_region_ref(section->mr);
+    xen_set_memory(listener, section, true);
+}
+
+void xen_region_del(MemoryListener *listener,
+                           MemoryRegionSection *section)
+{
+    xen_set_memory(listener, section, false);
+    memory_region_unref(section->mr);
+}
+
+void xen_io_add(MemoryListener *listener,
+                       MemoryRegionSection *section)
+{
+    XenIOState *state = container_of(listener, XenIOState, io_listener);
+    MemoryRegion *mr = section->mr;
+
+    if (mr->ops == &unassigned_io_ops) {
+        return;
+    }
+
+    memory_region_ref(mr);
+
+    xen_map_io_section(xen_domid, state->ioservid, section);
+}
+
+void xen_io_del(MemoryListener *listener,
+                       MemoryRegionSection *section)
+{
+    XenIOState *state = container_of(listener, XenIOState, io_listener);
+    MemoryRegion *mr = section->mr;
+
+    if (mr->ops == &unassigned_io_ops) {
+        return;
+    }
+
+    xen_unmap_io_section(xen_domid, state->ioservid, section);
+
+    memory_region_unref(mr);
+}
+
+void xen_device_realize(DeviceListener *listener,
+                               DeviceState *dev)
+{
+    XenIOState *state = container_of(listener, XenIOState, device_listener);
+
+    if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) {
+        PCIDevice *pci_dev = PCI_DEVICE(dev);
+        XenPciDevice *xendev = g_new(XenPciDevice, 1);
+
+        xendev->pci_dev = pci_dev;
+        xendev->sbdf = PCI_BUILD_BDF(pci_dev_bus_num(pci_dev),
+                                     pci_dev->devfn);
+        QLIST_INSERT_HEAD(&state->dev_list, xendev, entry);
+
+        xen_map_pcidev(xen_domid, state->ioservid, pci_dev);
+    }
+}
+
+void xen_device_unrealize(DeviceListener *listener,
+                                 DeviceState *dev)
+{
+    XenIOState *state = container_of(listener, XenIOState, device_listener);
+
+    if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) {
+        PCIDevice *pci_dev = PCI_DEVICE(dev);
+        XenPciDevice *xendev, *next;
+
+        xen_unmap_pcidev(xen_domid, state->ioservid, pci_dev);
+
+        QLIST_FOREACH_SAFE(xendev, &state->dev_list, entry, next) {
+            if (xendev->pci_dev == pci_dev) {
+                QLIST_REMOVE(xendev, entry);
+                g_free(xendev);
+                break;
+            }
+        }
+    }
+}
+
+MemoryListener xen_io_listener = {
+    .region_add = xen_io_add,
+    .region_del = xen_io_del,
+    .priority = 10,
+};
+
+DeviceListener xen_device_listener = {
+    .realize = xen_device_realize,
+    .unrealize = xen_device_unrealize,
+};
+
+/* get the ioreq packets from share mem */
+static ioreq_t *cpu_get_ioreq_from_shared_memory(XenIOState *state, int vcpu)
+{
+    ioreq_t *req = xen_vcpu_ioreq(state->shared_page, vcpu);
+
+    if (req->state != STATE_IOREQ_READY) {
+        DPRINTF("I/O request not ready: "
+                "%x, ptr: %x, port: %"PRIx64", "
+                "data: %"PRIx64", count: %u, size: %u\n",
+                req->state, req->data_is_ptr, req->addr,
+                req->data, req->count, req->size);
+        return NULL;
+    }
+
+    xen_rmb(); /* see IOREQ_READY /then/ read contents of ioreq */
+
+    req->state = STATE_IOREQ_INPROCESS;
+    return req;
+}
+
+/* use poll to get the port notification */
+/* ioreq_vec--out,the */
+/* retval--the number of ioreq packet */
+static ioreq_t *cpu_get_ioreq(XenIOState *state)
+{
+    MachineState *ms = MACHINE(qdev_get_machine());
+    unsigned int max_cpus = ms->smp.max_cpus;
+    int i;
+    evtchn_port_t port;
+
+    port = xenevtchn_pending(state->xce_handle);
+    if (port == state->bufioreq_local_port) {
+        timer_mod(state->buffered_io_timer,
+                BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
+        return NULL;
+    }
+
+    if (port != -1) {
+        for (i = 0; i < max_cpus; i++) {
+            if (state->ioreq_local_port[i] == port) {
+                break;
+            }
+        }
+
+        if (i == max_cpus) {
+            hw_error("Fatal error while trying to get io event!\n");
+        }
+
+        /* unmask the wanted port again */
+        xenevtchn_unmask(state->xce_handle, port);
+
+        /* get the io packet from shared memory */
+        state->send_vcpu = i;
+        return cpu_get_ioreq_from_shared_memory(state, i);
+    }
+
+    /* read error or read nothing */
+    return NULL;
+}
+
+static uint32_t do_inp(uint32_t addr, unsigned long size)
+{
+    switch (size) {
+        case 1:
+            return cpu_inb(addr);
+        case 2:
+            return cpu_inw(addr);
+        case 4:
+            return cpu_inl(addr);
+        default:
+            hw_error("inp: bad size: %04x %lx", addr, size);
+    }
+}
+
+static void do_outp(uint32_t addr,
+        unsigned long size, uint32_t val)
+{
+    switch (size) {
+        case 1:
+            return cpu_outb(addr, val);
+        case 2:
+            return cpu_outw(addr, val);
+        case 4:
+            return cpu_outl(addr, val);
+        default:
+            hw_error("outp: bad size: %04x %lx", addr, size);
+    }
+}
+
+/*
+ * Helper functions which read/write an object from/to physical guest
+ * memory, as part of the implementation of an ioreq.
+ *
+ * Equivalent to
+ *   cpu_physical_memory_rw(addr + (req->df ? -1 : +1) * req->size * i,
+ *                          val, req->size, 0/1)
+ * except without the integer overflow problems.
+ */
+static void rw_phys_req_item(hwaddr addr,
+                             ioreq_t *req, uint32_t i, void *val, int rw)
+{
+    /* Do everything unsigned so overflow just results in a truncated result
+     * and accesses to undesired parts of guest memory, which is up
+     * to the guest */
+    hwaddr offset = (hwaddr)req->size * i;
+    if (req->df) {
+        addr -= offset;
+    } else {
+        addr += offset;
+    }
+    cpu_physical_memory_rw(addr, val, req->size, rw);
+}
+
+static inline void read_phys_req_item(hwaddr addr,
+                                      ioreq_t *req, uint32_t i, void *val)
+{
+    rw_phys_req_item(addr, req, i, val, 0);
+}
+static inline void write_phys_req_item(hwaddr addr,
+                                       ioreq_t *req, uint32_t i, void *val)
+{
+    rw_phys_req_item(addr, req, i, val, 1);
+}
+
+
+void cpu_ioreq_pio(ioreq_t *req)
+{
+    uint32_t i;
+
+    trace_cpu_ioreq_pio(req, req->dir, req->df, req->data_is_ptr, req->addr,
+                         req->data, req->count, req->size);
+
+    if (req->size > sizeof(uint32_t)) {
+        hw_error("PIO: bad size (%u)", req->size);
+    }
+
+    if (req->dir == IOREQ_READ) {
+        if (!req->data_is_ptr) {
+            req->data = do_inp(req->addr, req->size);
+            trace_cpu_ioreq_pio_read_reg(req, req->data, req->addr,
+                                         req->size);
+        } else {
+            uint32_t tmp;
+
+            for (i = 0; i < req->count; i++) {
+                tmp = do_inp(req->addr, req->size);
+                write_phys_req_item(req->data, req, i, &tmp);
+            }
+        }
+    } else if (req->dir == IOREQ_WRITE) {
+        if (!req->data_is_ptr) {
+            trace_cpu_ioreq_pio_write_reg(req, req->data, req->addr,
+                                          req->size);
+            do_outp(req->addr, req->size, req->data);
+        } else {
+            for (i = 0; i < req->count; i++) {
+                uint32_t tmp = 0;
+
+                read_phys_req_item(req->data, req, i, &tmp);
+                do_outp(req->addr, req->size, tmp);
+            }
+        }
+    }
+}
+
+static void cpu_ioreq_move(ioreq_t *req)
+{
+    uint32_t i;
+
+    trace_cpu_ioreq_move(req, req->dir, req->df, req->data_is_ptr, req->addr,
+                         req->data, req->count, req->size);
+
+    if (req->size > sizeof(req->data)) {
+        hw_error("MMIO: bad size (%u)", req->size);
+    }
+
+    if (!req->data_is_ptr) {
+        if (req->dir == IOREQ_READ) {
+            for (i = 0; i < req->count; i++) {
+                read_phys_req_item(req->addr, req, i, &req->data);
+            }
+        } else if (req->dir == IOREQ_WRITE) {
+            for (i = 0; i < req->count; i++) {
+                write_phys_req_item(req->addr, req, i, &req->data);
+            }
+        }
+    } else {
+        uint64_t tmp;
+
+        if (req->dir == IOREQ_READ) {
+            for (i = 0; i < req->count; i++) {
+                read_phys_req_item(req->addr, req, i, &tmp);
+                write_phys_req_item(req->data, req, i, &tmp);
+            }
+        } else if (req->dir == IOREQ_WRITE) {
+            for (i = 0; i < req->count; i++) {
+                read_phys_req_item(req->data, req, i, &tmp);
+                write_phys_req_item(req->addr, req, i, &tmp);
+            }
+        }
+    }
+}
+
+static void cpu_ioreq_config(XenIOState *state, ioreq_t *req)
+{
+    uint32_t sbdf = req->addr >> 32;
+    uint32_t reg = req->addr;
+    XenPciDevice *xendev;
+
+    if (req->size != sizeof(uint8_t) && req->size != sizeof(uint16_t) &&
+        req->size != sizeof(uint32_t)) {
+        hw_error("PCI config access: bad size (%u)", req->size);
+    }
+
+    if (req->count != 1) {
+        hw_error("PCI config access: bad count (%u)", req->count);
+    }
+
+    QLIST_FOREACH(xendev, &state->dev_list, entry) {
+        if (xendev->sbdf != sbdf) {
+            continue;
+        }
+
+        if (!req->data_is_ptr) {
+            if (req->dir == IOREQ_READ) {
+                req->data = pci_host_config_read_common(
+                    xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE,
+                    req->size);
+                trace_cpu_ioreq_config_read(req, xendev->sbdf, reg,
+                                            req->size, req->data);
+            } else if (req->dir == IOREQ_WRITE) {
+                trace_cpu_ioreq_config_write(req, xendev->sbdf, reg,
+                                             req->size, req->data);
+                pci_host_config_write_common(
+                    xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE,
+                    req->data, req->size);
+            }
+        } else {
+            uint32_t tmp;
+
+            if (req->dir == IOREQ_READ) {
+                tmp = pci_host_config_read_common(
+                    xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE,
+                    req->size);
+                trace_cpu_ioreq_config_read(req, xendev->sbdf, reg,
+                                            req->size, tmp);
+                write_phys_req_item(req->data, req, 0, &tmp);
+            } else if (req->dir == IOREQ_WRITE) {
+                read_phys_req_item(req->data, req, 0, &tmp);
+                trace_cpu_ioreq_config_write(req, xendev->sbdf, reg,
+                                             req->size, tmp);
+                pci_host_config_write_common(
+                    xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE,
+                    tmp, req->size);
+            }
+        }
+    }
+}
+
+static void handle_ioreq(XenIOState *state, ioreq_t *req)
+{
+    trace_handle_ioreq(req, req->type, req->dir, req->df, req->data_is_ptr,
+                       req->addr, req->data, req->count, req->size);
+
+    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) &&
+            (req->size < sizeof (target_ulong))) {
+        req->data &= ((target_ulong) 1 << (8 * req->size)) - 1;
+    }
+
+    if (req->dir == IOREQ_WRITE)
+        trace_handle_ioreq_write(req, req->type, req->df, req->data_is_ptr,
+                                 req->addr, req->data, req->count, req->size);
+
+    switch (req->type) {
+        case IOREQ_TYPE_PIO:
+            cpu_ioreq_pio(req);
+            break;
+        case IOREQ_TYPE_COPY:
+            cpu_ioreq_move(req);
+            break;
+        case IOREQ_TYPE_TIMEOFFSET:
+            break;
+        case IOREQ_TYPE_INVALIDATE:
+            xen_invalidate_map_cache();
+            break;
+        case IOREQ_TYPE_PCI_CONFIG:
+            cpu_ioreq_config(state, req);
+            break;
+        default:
+            arch_handle_ioreq(state, req);
+    }
+    if (req->dir == IOREQ_READ) {
+        trace_handle_ioreq_read(req, req->type, req->df, req->data_is_ptr,
+                                req->addr, req->data, req->count, req->size);
+    }
+}
+
+static int handle_buffered_iopage(XenIOState *state)
+{
+    buffered_iopage_t *buf_page = state->buffered_io_page;
+    buf_ioreq_t *buf_req = NULL;
+    ioreq_t req;
+    int qw;
+
+    if (!buf_page) {
+        return 0;
+    }
+
+    memset(&req, 0x00, sizeof(req));
+    req.state = STATE_IOREQ_READY;
+    req.count = 1;
+    req.dir = IOREQ_WRITE;
+
+    for (;;) {
+        uint32_t rdptr = buf_page->read_pointer, wrptr;
+
+        xen_rmb();
+        wrptr = buf_page->write_pointer;
+        xen_rmb();
+        if (rdptr != buf_page->read_pointer) {
+            continue;
+        }
+        if (rdptr == wrptr) {
+            break;
+        }
+        buf_req = &buf_page->buf_ioreq[rdptr % IOREQ_BUFFER_SLOT_NUM];
+        req.size = 1U << buf_req->size;
+        req.addr = buf_req->addr;
+        req.data = buf_req->data;
+        req.type = buf_req->type;
+        xen_rmb();
+        qw = (req.size == 8);
+        if (qw) {
+            if (rdptr + 1 == wrptr) {
+                hw_error("Incomplete quad word buffered ioreq");
+            }
+            buf_req = &buf_page->buf_ioreq[(rdptr + 1) %
+                                           IOREQ_BUFFER_SLOT_NUM];
+            req.data |= ((uint64_t)buf_req->data) << 32;
+            xen_rmb();
+        }
+
+        handle_ioreq(state, &req);
+
+        /* Only req.data may get updated by handle_ioreq(), albeit even that
+         * should not happen as such data would never make it to the guest (we
+         * can only usefully see writes here after all).
+         */
+        assert(req.state == STATE_IOREQ_READY);
+        assert(req.count == 1);
+        assert(req.dir == IOREQ_WRITE);
+        assert(!req.data_is_ptr);
+
+        qatomic_add(&buf_page->read_pointer, qw + 1);
+    }
+
+    return req.count;
+}
+
+static void handle_buffered_io(void *opaque)
+{
+    XenIOState *state = opaque;
+
+    if (handle_buffered_iopage(state)) {
+        timer_mod(state->buffered_io_timer,
+                BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
+    } else {
+        timer_del(state->buffered_io_timer);
+        xenevtchn_unmask(state->xce_handle, state->bufioreq_local_port);
+    }
+}
+
+static void cpu_handle_ioreq(void *opaque)
+{
+    XenIOState *state = opaque;
+    ioreq_t *req = cpu_get_ioreq(state);
+
+    handle_buffered_iopage(state);
+    if (req) {
+        ioreq_t copy = *req;
+
+        xen_rmb();
+        handle_ioreq(state, &copy);
+        req->data = copy.data;
+
+        if (req->state != STATE_IOREQ_INPROCESS) {
+            fprintf(stderr, "Badness in I/O request ... not in service?!: "
+                    "%x, ptr: %x, port: %"PRIx64", "
+                    "data: %"PRIx64", count: %u, size: %u, type: %u\n",
+                    req->state, req->data_is_ptr, req->addr,
+                    req->data, req->count, req->size, req->type);
+            destroy_hvm_domain(false);
+            return;
+        }
+
+        xen_wmb(); /* Update ioreq contents /then/ update state. */
+
+        /*
+         * We do this before we send the response so that the tools
+         * have the opportunity to pick up on the reset before the
+         * guest resumes and does a hlt with interrupts disabled which
+         * causes Xen to powerdown the domain.
+         */
+        if (runstate_is_running()) {
+            ShutdownCause request;
+
+            if (qemu_shutdown_requested_get()) {
+                destroy_hvm_domain(false);
+            }
+            request = qemu_reset_requested_get();
+            if (request) {
+                qemu_system_reset(request);
+                destroy_hvm_domain(true);
+            }
+        }
+
+        req->state = STATE_IORESP_READY;
+        xenevtchn_notify(state->xce_handle,
+                         state->ioreq_local_port[state->send_vcpu]);
+    }
+}
+
+static void xen_main_loop_prepare(XenIOState *state)
+{
+    int evtchn_fd = -1;
+
+    if (state->xce_handle != NULL) {
+        evtchn_fd = xenevtchn_fd(state->xce_handle);
+    }
+
+    state->buffered_io_timer = timer_new_ms(QEMU_CLOCK_REALTIME, handle_buffered_io,
+                                                 state);
+
+    if (evtchn_fd != -1) {
+        CPUState *cpu_state;
+
+        DPRINTF("%s: Init cpu_by_vcpu_id\n", __func__);
+        CPU_FOREACH(cpu_state) {
+            DPRINTF("%s: cpu_by_vcpu_id[%d]=%p\n",
+                    __func__, cpu_state->cpu_index, cpu_state);
+            state->cpu_by_vcpu_id[cpu_state->cpu_index] = cpu_state;
+        }
+        qemu_set_fd_handler(evtchn_fd, cpu_handle_ioreq, NULL, state);
+    }
+}
+
+
+void xen_hvm_change_state_handler(void *opaque, bool running,
+                                         RunState rstate)
+{
+    XenIOState *state = opaque;
+
+    if (running) {
+        xen_main_loop_prepare(state);
+    }
+
+    xen_set_ioreq_server_state(xen_domid,
+                               state->ioservid,
+                               (rstate == RUN_STATE_RUNNING));
+}
+
+void xen_exit_notifier(Notifier *n, void *data)
+{
+    XenIOState *state = container_of(n, XenIOState, exit);
+
+    xen_destroy_ioreq_server(xen_domid, state->ioservid);
+
+    xenevtchn_close(state->xce_handle);
+    xs_daemon_close(state->xenstore);
+}
+
+static int xen_map_ioreq_server(XenIOState *state)
+{
+    void *addr = NULL;
+    xenforeignmemory_resource_handle *fres;
+    xen_pfn_t ioreq_pfn;
+    xen_pfn_t bufioreq_pfn;
+    evtchn_port_t bufioreq_evtchn;
+    int rc;
+
+    /*
+     * Attempt to map using the resource API and fall back to normal
+     * foreign mapping if this is not supported.
+     */
+    QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_bufioreq != 0);
+    QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_ioreq(0) != 1);
+    fres = xenforeignmemory_map_resource(xen_fmem, xen_domid,
+                                         XENMEM_resource_ioreq_server,
+                                         state->ioservid, 0, 2,
+                                         &addr,
+                                         PROT_READ | PROT_WRITE, 0);
+    if (fres != NULL) {
+        trace_xen_map_resource_ioreq(state->ioservid, addr);
+        state->buffered_io_page = addr;
+        state->shared_page = addr + XC_PAGE_SIZE;
+    } else if (errno != EOPNOTSUPP) {
+        error_report("failed to map ioreq server resources: error %d handle=%p",
+                     errno, xen_xc);
+        return -1;
+    }
+
+    rc = xen_get_ioreq_server_info(xen_domid, state->ioservid,
+                                   (state->shared_page == NULL) ?
+                                   &ioreq_pfn : NULL,
+                                   (state->buffered_io_page == NULL) ?
+                                   &bufioreq_pfn : NULL,
+                                   &bufioreq_evtchn);
+    if (rc < 0) {
+        error_report("failed to get ioreq server info: error %d handle=%p",
+                     errno, xen_xc);
+        return rc;
+    }
+
+    if (state->shared_page == NULL) {
+        DPRINTF("shared page at pfn %lx\n", ioreq_pfn);
+
+        state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid,
+                                                  PROT_READ | PROT_WRITE,
+                                                  1, &ioreq_pfn, NULL);
+        if (state->shared_page == NULL) {
+            error_report("map shared IO page returned error %d handle=%p",
+                         errno, xen_xc);
+        }
+    }
+
+    if (state->buffered_io_page == NULL) {
+        DPRINTF("buffered io page at pfn %lx\n", bufioreq_pfn);
+
+        state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid,
+                                                       PROT_READ | PROT_WRITE,
+                                                       1, &bufioreq_pfn,
+                                                       NULL);
+        if (state->buffered_io_page == NULL) {
+            error_report("map buffered IO page returned error %d", errno);
+            return -1;
+        }
+    }
+
+    if (state->shared_page == NULL || state->buffered_io_page == NULL) {
+        return -1;
+    }
+
+    DPRINTF("buffered io evtchn is %x\n", bufioreq_evtchn);
+
+    state->bufioreq_remote_port = bufioreq_evtchn;
+
+    return 0;
+}
+
+void destroy_hvm_domain(bool reboot)
+{
+    xc_interface *xc_handle;
+    int sts;
+    int rc;
+
+    unsigned int reason = reboot ? SHUTDOWN_reboot : SHUTDOWN_poweroff;
+
+    if (xen_dmod) {
+        rc = xendevicemodel_shutdown(xen_dmod, xen_domid, reason);
+        if (!rc) {
+            return;
+        }
+        if (errno != ENOTTY /* old Xen */) {
+            perror("xendevicemodel_shutdown failed");
+        }
+        /* well, try the old thing then */
+    }
+
+    xc_handle = xc_interface_open(0, 0, 0);
+    if (xc_handle == NULL) {
+        fprintf(stderr, "Cannot acquire xenctrl handle\n");
+    } else {
+        sts = xc_domain_shutdown(xc_handle, xen_domid, reason);
+        if (sts != 0) {
+            fprintf(stderr, "xc_domain_shutdown failed to issue %s, "
+                    "sts %d, %s\n", reboot ? "reboot" : "poweroff",
+                    sts, strerror(errno));
+        } else {
+            fprintf(stderr, "Issued domain %d %s\n", xen_domid,
+                    reboot ? "reboot" : "poweroff");
+        }
+        xc_interface_close(xc_handle);
+    }
+}
+
+void xen_shutdown_fatal_error(const char *fmt, ...)
+{
+    va_list ap;
+
+    va_start(ap, fmt);
+    vfprintf(stderr, fmt, ap);
+    va_end(ap);
+    fprintf(stderr, "Will destroy the domain.\n");
+    /* destroy the domain */
+    qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_ERROR);
+}
+
+void xen_register_backend(XenIOState *state)
+{
+    /* Initialize backend core & drivers */
+    if (xen_be_init() != 0) {
+        error_report("xen backend core setup failed");
+        goto err;
+    }
+
+    xen_be_register_common();
+
+    return;
+
+err:
+    error_report("xen hardware virtual machine backend registration failed");
+    exit(1);
+}
+
+void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
+                        MemoryListener xen_memory_listener)
+{
+    int i, rc;
+
+    state->xce_handle = xenevtchn_open(NULL, 0);
+    if (state->xce_handle == NULL) {
+        perror("xen: event channel open");
+        goto err;
+    }
+
+    state->xenstore = xs_daemon_open();
+    if (state->xenstore == NULL) {
+        perror("xen: xenstore open");
+        goto err;
+    }
+
+    xen_create_ioreq_server(xen_domid, &state->ioservid);
+
+    state->exit.notify = xen_exit_notifier;
+    qemu_add_exit_notifier(&state->exit);
+
+    /*
+     * Register wake-up support in QMP query-current-machine API
+     */
+    qemu_register_wakeup_support();
+
+    rc = xen_map_ioreq_server(state);
+    if (rc < 0) {
+        goto err;
+    }
+
+    /* Note: cpus is empty at this point in init */
+    state->cpu_by_vcpu_id = g_malloc0(max_cpus * sizeof(CPUState *));
+
+    rc = xen_set_ioreq_server_state(xen_domid, state->ioservid, true);
+    if (rc < 0) {
+        error_report("failed to enable ioreq server info: error %d handle=%p",
+                     errno, xen_xc);
+        goto err;
+    }
+
+    state->ioreq_local_port = g_malloc0(max_cpus * sizeof (evtchn_port_t));
+
+    /* FIXME: how about if we overflow the page here? */
+    for (i = 0; i < max_cpus; i++) {
+        rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid,
+                                        xen_vcpu_eport(state->shared_page, i));
+        if (rc == -1) {
+            error_report("shared evtchn %d bind error %d", i, errno);
+            goto err;
+        }
+        state->ioreq_local_port[i] = rc;
+    }
+
+    rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid,
+                                    state->bufioreq_remote_port);
+    if (rc == -1) {
+        error_report("buffered evtchn bind error %d", errno);
+        goto err;
+    }
+    state->bufioreq_local_port = rc;
+
+    /* Init RAM management */
+#ifdef XEN_COMPAT_PHYSMAP
+    xen_map_cache_init(xen_phys_offset_to_gaddr, state);
+#else
+    xen_map_cache_init(NULL, state);
+#endif
+
+    qemu_add_vm_change_state_handler(xen_hvm_change_state_handler, state);
+
+    state->memory_listener = xen_memory_listener;
+    memory_listener_register(&state->memory_listener, &address_space_memory);
+
+    state->io_listener = xen_io_listener;
+    memory_listener_register(&state->io_listener, &address_space_io);
+
+    state->device_listener = xen_device_listener;
+    QLIST_INIT(&state->dev_list);
+    device_listener_register(&state->device_listener);
+
+    xen_bus_init();
+
+    return;
+err:
+    error_report("xen hardware virtual machine initialisation failed");
+    exit(1);
+}
diff --git a/include/hw/i386/xen_arch_hvm.h b/include/hw/i386/xen_arch_hvm.h
new file mode 100644
index 0000000000..1000f8f543
--- /dev/null
+++ b/include/hw/i386/xen_arch_hvm.h
@@ -0,0 +1,11 @@
+#ifndef HW_XEN_ARCH_I386_HVM_H
+#define HW_XEN_ARCH_I386_HVM_H
+
+#include <xen/hvm/ioreq.h>
+#include "hw/xen/xen-hvm-common.h"
+
+void arch_handle_ioreq(XenIOState *state, ioreq_t *req);
+void arch_xen_set_memory(XenIOState *state,
+                         MemoryRegionSection *section,
+                         bool add);
+#endif
diff --git a/include/hw/xen/arch_hvm.h b/include/hw/xen/arch_hvm.h
new file mode 100644
index 0000000000..26674648d8
--- /dev/null
+++ b/include/hw/xen/arch_hvm.h
@@ -0,0 +1,3 @@
+#if defined(TARGET_I386) || defined(TARGET_X86_64)
+#include "hw/i386/xen_arch_hvm.h"
+#endif
diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
new file mode 100644
index 0000000000..4de316e7ad
--- /dev/null
+++ b/include/hw/xen/xen-hvm-common.h
@@ -0,0 +1,98 @@
+#ifndef HW_XEN_HVM_COMMON_H
+#define HW_XEN_HVM_COMMON_H
+
+#include "qemu/osdep.h"
+#include "qemu/units.h"
+
+#include "cpu.h"
+#include "hw/pci/pci.h"
+#include "hw/hw.h"
+#include "hw/xen/xen_common.h"
+#include "sysemu/runstate.h"
+#include "sysemu/sysemu.h"
+#include "sysemu/xen.h"
+#include "sysemu/xen-mapcache.h"
+
+#include <xen/hvm/ioreq.h>
+
+extern MemoryRegion ram_memory;
+extern MemoryListener xen_io_listener;
+extern DeviceListener xen_device_listener;
+
+//#define DEBUG_XEN_HVM
+
+#ifdef DEBUG_XEN_HVM
+#define DPRINTF(fmt, ...) \
+    do { fprintf(stderr, "xen: " fmt, ## __VA_ARGS__); } while (0)
+#else
+#define DPRINTF(fmt, ...) \
+    do { } while (0)
+#endif
+
+static inline uint32_t xen_vcpu_eport(shared_iopage_t *shared_page, int i)
+{
+    return shared_page->vcpu_ioreq[i].vp_eport;
+}
+static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu)
+{
+    return &shared_page->vcpu_ioreq[vcpu];
+}
+
+#define BUFFER_IO_MAX_DELAY  100
+
+typedef struct XenPhysmap {
+    hwaddr start_addr;
+    ram_addr_t size;
+    const char *name;
+    hwaddr phys_offset;
+
+    QLIST_ENTRY(XenPhysmap) list;
+} XenPhysmap;
+
+typedef struct XenPciDevice {
+    PCIDevice *pci_dev;
+    uint32_t sbdf;
+    QLIST_ENTRY(XenPciDevice) entry;
+} XenPciDevice;
+
+typedef struct XenIOState {
+    ioservid_t ioservid;
+    shared_iopage_t *shared_page;
+    buffered_iopage_t *buffered_io_page;
+    QEMUTimer *buffered_io_timer;
+    CPUState **cpu_by_vcpu_id;
+    /* the evtchn port for polling the notification, */
+    evtchn_port_t *ioreq_local_port;
+    /* evtchn remote and local ports for buffered io */
+    evtchn_port_t bufioreq_remote_port;
+    evtchn_port_t bufioreq_local_port;
+    /* the evtchn fd for polling */
+    xenevtchn_handle *xce_handle;
+    /* which vcpu we are serving */
+    int send_vcpu;
+
+    struct xs_handle *xenstore;
+    MemoryListener memory_listener;
+    MemoryListener io_listener;
+    QLIST_HEAD(, XenPciDevice) dev_list;
+    DeviceListener device_listener;
+
+    Notifier exit;
+} XenIOState;
+
+void xen_exit_notifier(Notifier *n, void *data);
+
+void xen_region_add(MemoryListener *listener, MemoryRegionSection *section);
+void xen_region_del(MemoryListener *listener, MemoryRegionSection *section);
+void xen_io_add(MemoryListener *listener, MemoryRegionSection *section);
+void xen_io_del(MemoryListener *listener, MemoryRegionSection *section);
+void xen_device_realize(DeviceListener *listener, DeviceState *dev);
+void xen_device_unrealize(DeviceListener *listener, DeviceState *dev);
+
+void xen_hvm_change_state_handler(void *opaque, bool running, RunState rstate);
+void xen_register_backend(XenIOState *state);
+void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
+                        MemoryListener xen_memory_listener);
+
+void cpu_ioreq_pio(ioreq_t *req);
+#endif /* HW_XEN_HVM_COMMON_H */
-- 
2.17.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 03:00:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 03:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451351.709082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wHz-00083H-T7; Fri, 02 Dec 2022 03:00:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451351.709082; Fri, 02 Dec 2022 03:00:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wHz-00082W-Mw; Fri, 02 Dec 2022 03:00:35 +0000
Received: by outflank-mailman (input) for mailman id 451351;
 Fri, 02 Dec 2022 03:00:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0wHx-000723-QT
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 03:00:33 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e89::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b22cdf2-71ed-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 04:00:32 +0100 (CET)
Received: from DS7PR03CA0303.namprd03.prod.outlook.com (2603:10b6:8:2b::19) by
 DS0PR12MB7746.namprd12.prod.outlook.com (2603:10b6:8:135::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.10; Fri, 2 Dec 2022 03:00:23 +0000
Received: from DM6NAM11FT023.eop-nam11.prod.protection.outlook.com
 (2603:10b6:8:2b:cafe::26) by DS7PR03CA0303.outlook.office365.com
 (2603:10b6:8:2b::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Fri, 2 Dec 2022 03:00:23 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT023.mail.protection.outlook.com (10.13.173.96) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.10 via Frontend Transport; Fri, 2 Dec 2022 03:00:23 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:22 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 19:00:22 -0800
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 21:00:21 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b22cdf2-71ed-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QdBlJLUxMUReGv99AUWgMHH5lBXdu4zUp8MpB2EoaLOyvmXjJ9f5bZ8hnbpUkmBcuK0xx2uY0TMY+4mEqoCTfxUGTPzQpWtGnFjl8PEMrG8o2XPT3eZZB2hKnYpriOdhan2GtZBoZFWmt2eVk50qd4ZkRRhyCHPpm7j0Y/tUCMfXIYp1sRmRhCO7ZcHsLB6/Q5SuRODqNVhhymwt9pdPqJFSPpvwMVMlDnoC/IjY12HWwRj+A/MyR4B4K7/933XiHdhwWsy+BxG6438Mof5c7j8PZH3R/Eamg1MD43vOQNxu2Pt5x12QMEiPH2u8mj2NcJHtDnJk+nzsteXYLYqPTw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bpxKo2nLW9cBRo+l2DRoyQ99s+uyNJvGuzmJSKJaypw=;
 b=LouYYjcoyyS3fIVP7vVUaqWhKqUwNnP5sRQEK13Stj+g2/jTxyIl6xno/Rh5DCb5WBOXjXNDIokjUk/V0ophE4yNTglG2BGA8zIOSZ9ChJAoP86uuklAhsOaGEgsuHeM04giD/V1P5/k71hw7AnbBt2Tt4wvksynUVJ/6qg5tTIS0DF0Wv8POHoJcJKf3+9wajlRdU6PoB4XHdL3+0cSSf+ZcfvBRmnYdzscUSIznuSb3HCxH9uUbIU5TouUbN4/f7VYYKbWa8wfGoXI7ce+BaJPVAhBy2Mlei47mqucXCDFKDUmPigOQA6VJtWOuhXXDnChrVGIBEZ6lqybK99sLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xilinx.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bpxKo2nLW9cBRo+l2DRoyQ99s+uyNJvGuzmJSKJaypw=;
 b=SNCOGWzh37+zBS5/425rs9Vett5RJGOu5iroR6UZtY+g+2cu8PxidA2OspsfSVGGLHO7CZYY5Ja7rAY4JbBnwAkBEXqNHg9i9SMdvNirdb+IDDfmXo+TsD3nj50uDRSbM89YqP5wVgab7YL1Tc7FTK6M0GI8AtduXhBPDR+1cpE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <qemu-dev@xilinx.com>
CC: <stefano.stabellini@amd.com>, <alex.bennee@linaro.org>,
	<xen-devel@lists.xenproject.org>, Vikram Garhwal <vikram.garhwal@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, Paolo Bonzini
	<pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "open list:All patches CC
 here" <qemu-devel@nongnu.org>
Subject: [QEMU][PATCH v2 02/11] hw/i386/xen: rearrange xen_hvm_init_pc
Date: Thu, 1 Dec 2022 18:59:54 -0800
Message-ID: <20221202030003.11441-3-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221202030003.11441-1-vikram.garhwal@amd.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT023:EE_|DS0PR12MB7746:EE_
X-MS-Office365-Filtering-Correlation-Id: 5e4c2643-2ef4-4794-385b-08dad4115b0e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SfHV5Aox+8FkzAUpwsPZANdNMIHYjOfhmE//nruGoh06k5IP1Z9WV1iNZz7BPgcgL66UHVBtj2u2x8AINpovsOxuPOuUdPJ/bLN6I4dEyofpFLOr8/xuT5TWWMXP//GE4WTG8vk1uiVF0Q3dUVrI9XsjhZPenptidP7a37oghXJhNTEkztiNu3ggZFJwmCArRjfgUtUgs/DroQkLYC2aBretreP5TNLI4XSQ96VnjW/ct4NhwzN+XVn82OyZh+CEWmg4H9biy7mjm0/Ya/n/dw1M6ZbK2SYdlSsYMGdk7szVHuvTECYlAYyyl+BL5Edh9GN17cJjoAqDZZF7gS3vxqQR/zvzHk1Q005U2KQo9CK8oVnJoKXEIo+MZj93aqkmGf5rpU4On9X3WHqBZtcIIj4UGqLJGJN1B8yNZLTQjNTJGdRbyVKDNolGeJT09K2GgJK9ii+XQD2OVjpUWKsssbrdd0MGJ7Swxk0ypBS8NIuIhbG7XGpenessmKhwGVop9KB1DW84/JOCudrAKqMhURXqJKYLiI2YqbcmgBMv8yJxLjBObjnG7zTYbcyKZ58/T4ueg3+kJVCjv6UM+wtns1aHrGNo9//OAOf7gVLewDRuBF8Zei4g+Bo19FhcGsmm6cLH7i6k6e+OMeUgXfT93YDEVqblo8SOm51dXsETH2gev3H8Y79gMP6BY0aoyyBx7ux1Dz/vEiPE+zWJ4vHIUPg/fArZ4FFcNHhmbB2mP/I=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(39860400002)(396003)(346002)(451199015)(40470700004)(46966006)(36840700001)(36860700001)(1076003)(36756003)(2906002)(41300700001)(2616005)(83380400001)(44832011)(8936002)(6862004)(336012)(47076005)(7416002)(426003)(5660300002)(86362001)(40480700001)(82310400005)(40460700003)(82740400003)(81166007)(356005)(478600001)(316002)(186003)(26005)(54906003)(6666004)(70206006)(70586007)(4326008)(8676002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 03:00:23.2756
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e4c2643-2ef4-4794-385b-08dad4115b0e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT023.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7746

In preparation to moving most of xen-hvm code to an arch-neutral location,
move non IOREQ references to:
- xen_get_vmport_regs_pfn
- xen_suspend_notifier
- xen_wakeup_notifier
- xen_ram_init

towards the end of the xen_hvm_init_pc() function.

This is done to keep the common ioreq functions in one place which will be
moved to new function in next patch in order to make it common to both x86 and
aarch64 machines.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/xen/xen-hvm.c | 49 ++++++++++++++++++++++---------------------
 1 file changed, 25 insertions(+), 24 deletions(-)

diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index e4293d6d66..b27484ad22 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -1416,12 +1416,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
     state->exit.notify = xen_exit_notifier;
     qemu_add_exit_notifier(&state->exit);
 
-    state->suspend.notify = xen_suspend_notifier;
-    qemu_register_suspend_notifier(&state->suspend);
-
-    state->wakeup.notify = xen_wakeup_notifier;
-    qemu_register_wakeup_notifier(&state->wakeup);
-
     /*
      * Register wake-up support in QMP query-current-machine API
      */
@@ -1432,23 +1426,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
         goto err;
     }
 
-    rc = xen_get_vmport_regs_pfn(xen_xc, xen_domid, &ioreq_pfn);
-    if (!rc) {
-        DPRINTF("shared vmport page at pfn %lx\n", ioreq_pfn);
-        state->shared_vmport_page =
-            xenforeignmemory_map(xen_fmem, xen_domid, PROT_READ|PROT_WRITE,
-                                 1, &ioreq_pfn, NULL);
-        if (state->shared_vmport_page == NULL) {
-            error_report("map shared vmport IO page returned error %d handle=%p",
-                         errno, xen_xc);
-            goto err;
-        }
-    } else if (rc != -ENOSYS) {
-        error_report("get vmport regs pfn returned error %d, rc=%d",
-                     errno, rc);
-        goto err;
-    }
-
     /* Note: cpus is empty at this point in init */
     state->cpu_by_vcpu_id = g_new0(CPUState *, max_cpus);
 
@@ -1486,7 +1463,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
 #else
     xen_map_cache_init(NULL, state);
 #endif
-    xen_ram_init(pcms, ms->ram_size, ram_memory);
 
     qemu_add_vm_change_state_handler(xen_hvm_change_state_handler, state);
 
@@ -1513,6 +1489,31 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
     QLIST_INIT(&xen_physmap);
     xen_read_physmap(state);
 
+    state->suspend.notify = xen_suspend_notifier;
+    qemu_register_suspend_notifier(&state->suspend);
+
+    state->wakeup.notify = xen_wakeup_notifier;
+    qemu_register_wakeup_notifier(&state->wakeup);
+
+    rc = xen_get_vmport_regs_pfn(xen_xc, xen_domid, &ioreq_pfn);
+    if (!rc) {
+        DPRINTF("shared vmport page at pfn %lx\n", ioreq_pfn);
+        state->shared_vmport_page =
+            xenforeignmemory_map(xen_fmem, xen_domid, PROT_READ|PROT_WRITE,
+                                 1, &ioreq_pfn, NULL);
+        if (state->shared_vmport_page == NULL) {
+            error_report("map shared vmport IO page returned error %d handle=%p",
+                         errno, xen_xc);
+            goto err;
+        }
+    } else if (rc != -ENOSYS) {
+        error_report("get vmport regs pfn returned error %d, rc=%d",
+                     errno, rc);
+        goto err;
+    }
+
+    xen_ram_init(pcms, ms->ram_size, ram_memory);
+
     /* Disable ACPI build because Xen handles it */
     pcms->acpi_build_enabled = false;
 
-- 
2.17.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 03:00:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 03:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451349.709070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wHz-0007rz-3q; Fri, 02 Dec 2022 03:00:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451349.709070; Fri, 02 Dec 2022 03:00:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wHy-0007rm-WA; Fri, 02 Dec 2022 03:00:34 +0000
Received: by outflank-mailman (input) for mailman id 451349;
 Fri, 02 Dec 2022 03:00:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0wHx-000723-7i
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 03:00:33 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20603.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b6687a5-71ed-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 04:00:32 +0100 (CET)
Received: from DS7PR05CA0002.namprd05.prod.outlook.com (2603:10b6:5:3b9::7) by
 SN7PR12MB6691.namprd12.prod.outlook.com (2603:10b6:806:271::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5857.23; Fri, 2 Dec 2022 03:00:28 +0000
Received: from DM6NAM11FT082.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3b9:cafe::8c) by DS7PR05CA0002.outlook.office365.com
 (2603:10b6:5:3b9::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Fri, 2 Dec 2022 03:00:28 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT082.mail.protection.outlook.com (10.13.173.107) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.10 via Frontend Transport; Fri, 2 Dec 2022 03:00:28 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:27 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 21:00:27 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b6687a5-71ed-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E/w54uctNl1NIZaOHl5i9kGa0YNO308rr13xsV0u2MjImQK6z1SQheBHw4gXUIJ9mht5hAp+m25XSTIhIBDO0HDOZ8n7C44SH30EDZNf6v7uRmAAoxZ//FP1D9dFko/KS4mCyuvZPndlgxDiDCG6I5j/attPb658mXRI5MdM0LOq63OvesdrRhVm6tBGQFjjFhVABnoBvwO22Ttxy5rhgRJneroFI859bYGDA8XYNHVg8OXVZ9NTGqPr/4+pHO9FW5ww/86z5hqV01Yo2CUkawgxOAmmPwrRq0gP/PxflVX8ooRA2Gl90zCJn6bdU4vo1m4Dh/RsQ4zX4pFJETft4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xRRFGuFvueAPG6dlfB7wV8P+a2w87xfPGOLdmtUaYEQ=;
 b=k1Yr3MFayRr2IbB21sR/cIzsYcOAQYr15iVnz0F6tTwsz99VJnIm+BZtWO6DfX4dq4xczcwZukooQa3sMC/Z/uatf0YBeubGmI9BHoJkxjggv588Y1tpQDZzh3H5NAmaNzz3NpFvdoW56ly2PZQ/zI/vBAAW5aBncfOFUvcPxlHAeenWfggyHekiOw+V1W92fHQU79UqPRlx9UI0qjyDzddBC/OpSXlNTep0hXSMwhW1hCG37j9Ww7q0/Q6bv8ZCLjiSwh9z/38nD229h90zXuUNCaxZrAy0NDLpxKUK/YcxTRxyKbosu1efxq5UyxN4HTc220YwaMzn8qlLJmvJLg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xilinx.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xRRFGuFvueAPG6dlfB7wV8P+a2w87xfPGOLdmtUaYEQ=;
 b=WwU0mr8aEdWQJfTOWZswgdfut0GBVpJ1enjkYcaoKHxOjnQ3g2dqopDf8xgpp1EwSCbu4mY3I2NtDzOxFv2Tcf3R7FYnwHU66MiAvOXDPrjFVHBCr7POtx+uu9Zf3I3mfuhIV59znJuMFEBkb9PkGDPtxO1e/f1jCN5iEov0orI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <qemu-dev@xilinx.com>
CC: <stefano.stabellini@amd.com>, <alex.bennee@linaro.org>,
	<xen-devel@lists.xenproject.org>, Vikram Garhwal <vikram.garhwal@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, "open list:All
 patches CC here" <qemu-devel@nongnu.org>
Subject: [QEMU][PATCH v2 06/11] hw/xen/xen-hvm-common: skip ioreq creation on ioreq registration failure
Date: Thu, 1 Dec 2022 18:59:58 -0800
Message-ID: <20221202030003.11441-7-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221202030003.11441-1-vikram.garhwal@amd.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT082:EE_|SN7PR12MB6691:EE_
X-MS-Office365-Filtering-Correlation-Id: d5d4f986-cd74-4394-b671-08dad4115e10
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	R6P/4L0WAuvMM8GigcCf4H+ucbHUctxiU/7vgN1my/AjUhqUDFAJgr2RvaQj+3+MlKFD0Pxa6RIGZk9WZ5ITv5tOVabuKcwhwW5PHj/ZqRhkcXrH1m0H0PSSLu8Q4uI4jh5LsJ3IWhHAkeLe7VljXh+a1Mu0bz0p7XgAe14JsPJJjS4KcwwdtElCXmY157PhaAtJMz3JC4AQcyAhltgBNz+6RMftGZt5T6qcFu5UUFtYFcU561m/2i7yn/3zHKdQ90ecsC/ycib/yQ3lyERA1aIx6R24eOAqkTI//TWKyZypV4POLSoDVCzalUC/kaucNkSbHcwX8OAweOwO2/AYSf8iNgtzozvUV1H8jqRoUZJ/kvGvBJGFTRJTH/f7hWnQMxBFyyGLwMHbDFJqGaYYqErMuLWDZTkuzTP1nCDTejrKaZy6l5JKqGCFnf47/VmUcu/sOdu3Hz4ipshkFsaiVfPNFUPmRKJOEa8meRA7hUeEm+uJxN5bq8QyvRUuQrkCcwZ98OP7VdswA+lPqV207T/6xucFJ9RSoGJnhoIvA7nznU2iGb3v0EVPwvMfvOEChe2RZl4G37BLZkNzisQyA2g25DFT23LTxRq2rMtTQ99tUGc/hB5kyhvBbrePTpKdKi5K1K7Hae0kNS9kNSTZ/7xwoLzubRAmudjuWvP5EDLZNyTDz4/5oPTz9+QEe1Jftt8w7i0mTlqpfEpUH7mj3G9Q0JKSdaf5yo9Lp5/hpIA=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(396003)(39860400002)(346002)(376002)(451199015)(36840700001)(40470700004)(46966006)(6666004)(86362001)(2616005)(356005)(70206006)(41300700001)(1076003)(81166007)(26005)(8676002)(316002)(40460700003)(54906003)(4326008)(82740400003)(36756003)(40480700001)(36860700001)(186003)(70586007)(82310400005)(2906002)(83380400001)(5660300002)(8936002)(6862004)(47076005)(426003)(336012)(44832011)(478600001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 03:00:28.3251
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d5d4f986-cd74-4394-b671-08dad4115e10
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT082.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6691

From: Stefano Stabellini <stefano.stabellini@amd.com>

On ARM it is possible to have a functioning xenpv machine with only the
PV backends and no IOREQ server. If the IOREQ server creation fails continue
to the PV backends initialization.

Also, moved the IOREQ registration and mapping subroutine to new function
xen_do_ioreq_register().

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 hw/xen/xen-hvm-common.c | 53 ++++++++++++++++++++++++++++-------------
 1 file changed, 36 insertions(+), 17 deletions(-)

diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 403b2eebbf..03128e575b 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -777,25 +777,12 @@ err:
     exit(1);
 }
 
-void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
-                        MemoryListener xen_memory_listener)
+static void xen_do_ioreq_register(XenIOState *state,
+                                           unsigned int max_cpus,
+                                           MemoryListener xen_memory_listener)
 {
     int i, rc;
 
-    state->xce_handle = xenevtchn_open(NULL, 0);
-    if (state->xce_handle == NULL) {
-        perror("xen: event channel open");
-        goto err;
-    }
-
-    state->xenstore = xs_daemon_open();
-    if (state->xenstore == NULL) {
-        perror("xen: xenstore open");
-        goto err;
-    }
-
-    xen_create_ioreq_server(xen_domid, &state->ioservid);
-
     state->exit.notify = xen_exit_notifier;
     qemu_add_exit_notifier(&state->exit);
 
@@ -859,10 +846,42 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
     QLIST_INIT(&state->dev_list);
     device_listener_register(&state->device_listener);
 
+    return;
+
+err:
+    error_report("xen hardware virtual machine initialisation failed");
+    exit(1);
+}
+
+void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
+                        MemoryListener xen_memory_listener)
+{
+    int rc;
+
+    state->xce_handle = xenevtchn_open(NULL, 0);
+    if (state->xce_handle == NULL) {
+        perror("xen: event channel open");
+        goto err;
+    }
+
+    state->xenstore = xs_daemon_open();
+    if (state->xenstore == NULL) {
+        perror("xen: xenstore open");
+        goto err;
+    }
+
+    rc = xen_create_ioreq_server(xen_domid, &state->ioservid);
+    if (!rc) {
+        xen_do_ioreq_register(state, max_cpus, xen_memory_listener);
+    } else {
+        warn_report("xen: failed to create ioreq server");
+    }
+
     xen_bus_init();
 
     return;
+
 err:
-    error_report("xen hardware virtual machine initialisation failed");
+    error_report("xen hardware virtual machine backend registration failed");
     exit(1);
 }
-- 
2.17.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 03:00:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 03:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451350.709075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wHz-0007vd-Er; Fri, 02 Dec 2022 03:00:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451350.709075; Fri, 02 Dec 2022 03:00:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wHz-0007v2-AC; Fri, 02 Dec 2022 03:00:35 +0000
Received: by outflank-mailman (input) for mailman id 451350;
 Fri, 02 Dec 2022 03:00:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0wHx-0007SV-Ea
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 03:00:33 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7e88::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a1edcdb-71ed-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 04:00:30 +0100 (CET)
Received: from BN8PR03CA0019.namprd03.prod.outlook.com (2603:10b6:408:94::32)
 by SJ0PR12MB5423.namprd12.prod.outlook.com (2603:10b6:a03:301::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 03:00:25 +0000
Received: from BN8NAM11FT044.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:94:cafe::29) by BN8PR03CA0019.outlook.office365.com
 (2603:10b6:408:94::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Fri, 2 Dec 2022 03:00:24 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT044.mail.protection.outlook.com (10.13.177.219) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Fri, 2 Dec 2022 03:00:24 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:24 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:23 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 21:00:22 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a1edcdb-71ed-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WiWH6CzyvV1a7zyydH5qIEm7eWR5htjANN3euy0MEzrmPbu35D2p+ONifW7Uck3cchJ81NXm+oZ3AQPh5q9esKTEc843gHXNFtxpi+OBkl7aD8t8iVpJjY6SI1A0BMYDmOGMIKcsZ2d3LrVEjDg3jFk0xoDs0tdlTrqOSWD9YJt2icDYFjnXtjzyn7LbNMVbclVVoeviK+fNu5mt6NDRZ8V4vxgvydd9/rKIdjfMfzKrgzi3CrQOgW4vPk4unLQCJS7D+ddlHKL1FJBOL6u7t2PkNtIENCBFoX8pdq6nLIdLZjothPigk5ue0uGAsYR0ELIQUmYn5Ayrs/6QHnYYKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eJWBDHrJJgHxQBupXxCnaryMAlKSN66gq7ecTVNDrwk=;
 b=IgmFrwvuTFOGX70hoIquxLXjzTY9NF8pLoSNol/5hcGken4g4/Yp0jguyQPB7Hwqns07WilqmxxvnERyacF4FO7tdg8BrWO+yHwHBp7jl3Rg6b04UWmnwejE3OuhSUTra6Qc30w5dyOBLyyCnp9zvu2VAUSICM1U2UYLtqA9D82jqG9iecSVDlJObplCM0pUuStkiGdP05Ix8lMu+OnzNMeIU/9Wx/vMjanSzvnynnT1eXPy1F/4eqsHbWLJhIaDB7VvdQnsDcxK9u26jspYCbLDG2uni3m6ZJPxVjn2CcU2o1IpqdYe/cZS46O/qZiC/aHhTQp8zbserfgzOQlLwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xilinx.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eJWBDHrJJgHxQBupXxCnaryMAlKSN66gq7ecTVNDrwk=;
 b=dliQqeeSw+B7rzKtw/T0FeXSkUlWDJLt4WNcWr6VE/Iyc9Cd66A0Hqjl1kBz3LlpB3oqMJMg2zU5ol8b1Xv0H3LA8TAn0aDNdIqp2bZAk8jW0mTCQrz2ajQSDYE+qCvyADWmkdD0e3nC7xEh3Nsviu6fnnMxQ91l6vdvUmYkQNA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <qemu-dev@xilinx.com>
CC: <stefano.stabellini@amd.com>, <alex.bennee@linaro.org>,
	<xen-devel@lists.xenproject.org>, Vikram Garhwal <vikram.garhwal@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, "Michael S.
 Tsirkin" <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>, Richard Henderson
	<richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, "open
 list:All patches CC here" <qemu-devel@nongnu.org>
Subject: [QEMU][PATCH v2 03/11] hw/i386/xen/xen-hvm: move x86-specific fields out of XenIOState
Date: Thu, 1 Dec 2022 18:59:55 -0800
Message-ID: <20221202030003.11441-4-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221202030003.11441-1-vikram.garhwal@amd.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT044:EE_|SJ0PR12MB5423:EE_
X-MS-Office365-Filtering-Correlation-Id: d8bd351c-d1e5-4ae7-48d8-08dad4115bd3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pd1PPnd4SUZfDQNxLDWKuAYWsN1k3pepYTpYOMWdizs9ft2mTRr2cXi/Wv9A+IyjZYIqvXdHTvjZw8XZ+uouOHTlVnypIQszTEpyFGFjRPg31DEsgvTUAIfK27Ri5f3RE2srWtkGSvO2mSJw9jRSrtS9niThCGb05XzqbRD1kxmdOqROkH1S8HuWRMDlZCpXNCC5lZOp5lJJYouvWSJ2rdYj7NEIRdg0mI542IbEpGfTP0pwwdcDKEkyZ7Q+tgCJ8NjBFD0RhynuLYPKbOrM1pb3Yf/SmBllcFHGIKdr2RJpjjvd0r8k/Ghxb6fx5Q9NQdNQMO56AQxR9NpnKCb0NYdPhD+i/NbdErE4cjNk6qMC6l3rieA/dvOb3A9lzgqyC4/pAsr6rzXm5+MjTPXij6YZhSgWe1SCp0EWPfCHFI7Tncdvi4GnhRDxGeG6OTgS7C1mB+9w6PXrBtxiT9V48FFlB8mxRNE15tEl6E/1pImACV2O9yiJFbzYlcXrsZAgd5MNquhjJ8E8hw5g0CwNRiGNpqQtfhTlUvBpRNJCD0GtHCVQo+uKeD0Qtg9TmjJOKeyQJC2cE7TwD3z44kIhbWsl+XgCvthQIZWpEPDtWmA1C8pYnu1VV6Wu6I/OpEfS+9uc043+lphzRUevJCf5ZLEiVnyz5MbPX8v5bvgpmMtpfKNYKJOoU8tBrwIh79QOd9vQgymrDS2uItV1FyNQ/crZR5saMvz0LhRE2Kt9UxE=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(136003)(376002)(396003)(451199015)(46966006)(36840700001)(40470700004)(1076003)(54906003)(2616005)(336012)(40460700003)(316002)(40480700001)(36756003)(81166007)(356005)(86362001)(82740400003)(36860700001)(6666004)(83380400001)(426003)(186003)(82310400005)(66574015)(26005)(2906002)(47076005)(8936002)(44832011)(5660300002)(41300700001)(6862004)(478600001)(4326008)(70206006)(7416002)(70586007)(8676002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 03:00:24.5983
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d8bd351c-d1e5-4ae7-48d8-08dad4115bd3
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT044.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB5423

From: Stefano Stabellini <stefano.stabellini@amd.com>

In preparation to moving most of xen-hvm code to an arch-neutral location, move:
- shared_vmport_page
- log_for_dirtybit
- dirty_bitmap
- suspend
- wakeup

out of XenIOState struct as these are only used on x86, especially the ones
related to dirty logging.
Updated XenIOState can be used for both aarch64 and x86.

Also, remove free_phys_offset as it was unused.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
---
 hw/i386/xen/xen-hvm.c | 58 ++++++++++++++++++++-----------------------
 1 file changed, 27 insertions(+), 31 deletions(-)

diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index b27484ad22..e169de16c4 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -73,6 +73,7 @@ struct shared_vmport_iopage {
 };
 typedef struct shared_vmport_iopage shared_vmport_iopage_t;
 #endif
+static shared_vmport_iopage_t *shared_vmport_page;
 
 static inline uint32_t xen_vcpu_eport(shared_iopage_t *shared_page, int i)
 {
@@ -95,6 +96,11 @@ typedef struct XenPhysmap {
 } XenPhysmap;
 
 static QLIST_HEAD(, XenPhysmap) xen_physmap;
+static const XenPhysmap *log_for_dirtybit;
+/* Buffer used by xen_sync_dirty_bitmap */
+static unsigned long *dirty_bitmap;
+static Notifier suspend;
+static Notifier wakeup;
 
 typedef struct XenPciDevice {
     PCIDevice *pci_dev;
@@ -105,7 +111,6 @@ typedef struct XenPciDevice {
 typedef struct XenIOState {
     ioservid_t ioservid;
     shared_iopage_t *shared_page;
-    shared_vmport_iopage_t *shared_vmport_page;
     buffered_iopage_t *buffered_io_page;
     xenforeignmemory_resource_handle *fres;
     QEMUTimer *buffered_io_timer;
@@ -125,14 +130,8 @@ typedef struct XenIOState {
     MemoryListener io_listener;
     QLIST_HEAD(, XenPciDevice) dev_list;
     DeviceListener device_listener;
-    hwaddr free_phys_offset;
-    const XenPhysmap *log_for_dirtybit;
-    /* Buffer used by xen_sync_dirty_bitmap */
-    unsigned long *dirty_bitmap;
 
     Notifier exit;
-    Notifier suspend;
-    Notifier wakeup;
 } XenIOState;
 
 /* Xen specific function for piix pci */
@@ -462,10 +461,10 @@ static int xen_remove_from_physmap(XenIOState *state,
     }
 
     QLIST_REMOVE(physmap, list);
-    if (state->log_for_dirtybit == physmap) {
-        state->log_for_dirtybit = NULL;
-        g_free(state->dirty_bitmap);
-        state->dirty_bitmap = NULL;
+    if (log_for_dirtybit == physmap) {
+        log_for_dirtybit = NULL;
+        g_free(dirty_bitmap);
+        dirty_bitmap = NULL;
     }
     g_free(physmap);
 
@@ -626,16 +625,16 @@ static void xen_sync_dirty_bitmap(XenIOState *state,
         return;
     }
 
-    if (state->log_for_dirtybit == NULL) {
-        state->log_for_dirtybit = physmap;
-        state->dirty_bitmap = g_new(unsigned long, bitmap_size);
-    } else if (state->log_for_dirtybit != physmap) {
+    if (log_for_dirtybit == NULL) {
+        log_for_dirtybit = physmap;
+        dirty_bitmap = g_new(unsigned long, bitmap_size);
+    } else if (log_for_dirtybit != physmap) {
         /* Only one range for dirty bitmap can be tracked. */
         return;
     }
 
     rc = xen_track_dirty_vram(xen_domid, start_addr >> TARGET_PAGE_BITS,
-                              npages, state->dirty_bitmap);
+                              npages, dirty_bitmap);
     if (rc < 0) {
 #ifndef ENODATA
 #define ENODATA  ENOENT
@@ -650,7 +649,7 @@ static void xen_sync_dirty_bitmap(XenIOState *state,
     }
 
     for (i = 0; i < bitmap_size; i++) {
-        unsigned long map = state->dirty_bitmap[i];
+        unsigned long map = dirty_bitmap[i];
         while (map != 0) {
             j = ctzl(map);
             map &= ~(1ul << j);
@@ -676,12 +675,10 @@ static void xen_log_start(MemoryListener *listener,
 static void xen_log_stop(MemoryListener *listener, MemoryRegionSection *section,
                          int old, int new)
 {
-    XenIOState *state = container_of(listener, XenIOState, memory_listener);
-
     if (old & ~new & (1 << DIRTY_MEMORY_VGA)) {
-        state->log_for_dirtybit = NULL;
-        g_free(state->dirty_bitmap);
-        state->dirty_bitmap = NULL;
+        log_for_dirtybit = NULL;
+        g_free(dirty_bitmap);
+        dirty_bitmap = NULL;
         /* Disable dirty bit tracking */
         xen_track_dirty_vram(xen_domid, 0, 0, NULL);
     }
@@ -1021,9 +1018,9 @@ static void handle_vmport_ioreq(XenIOState *state, ioreq_t *req)
 {
     vmware_regs_t *vmport_regs;
 
-    assert(state->shared_vmport_page);
+    assert(shared_vmport_page);
     vmport_regs =
-        &state->shared_vmport_page->vcpu_vmport_regs[state->send_vcpu];
+        &shared_vmport_page->vcpu_vmport_regs[state->send_vcpu];
     QEMU_BUILD_BUG_ON(sizeof(*req) < sizeof(*vmport_regs));
 
     current_cpu = state->cpu_by_vcpu_id[state->send_vcpu];
@@ -1468,7 +1465,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
 
     state->memory_listener = xen_memory_listener;
     memory_listener_register(&state->memory_listener, &address_space_memory);
-    state->log_for_dirtybit = NULL;
 
     state->io_listener = xen_io_listener;
     memory_listener_register(&state->io_listener, &address_space_io);
@@ -1489,19 +1485,19 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
     QLIST_INIT(&xen_physmap);
     xen_read_physmap(state);
 
-    state->suspend.notify = xen_suspend_notifier;
-    qemu_register_suspend_notifier(&state->suspend);
+    suspend.notify = xen_suspend_notifier;
+    qemu_register_suspend_notifier(&suspend);
 
-    state->wakeup.notify = xen_wakeup_notifier;
-    qemu_register_wakeup_notifier(&state->wakeup);
+    wakeup.notify = xen_wakeup_notifier;
+    qemu_register_wakeup_notifier(&wakeup);
 
     rc = xen_get_vmport_regs_pfn(xen_xc, xen_domid, &ioreq_pfn);
     if (!rc) {
         DPRINTF("shared vmport page at pfn %lx\n", ioreq_pfn);
-        state->shared_vmport_page =
+        shared_vmport_page =
             xenforeignmemory_map(xen_fmem, xen_domid, PROT_READ|PROT_WRITE,
                                  1, &ioreq_pfn, NULL);
-        if (state->shared_vmport_page == NULL) {
+        if (shared_vmport_page == NULL) {
             error_report("map shared vmport IO page returned error %d handle=%p",
                          errno, xen_xc);
             goto err;
-- 
2.17.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 03:00:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 03:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451348.709059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wHx-0007b0-KM; Fri, 02 Dec 2022 03:00:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451348.709059; Fri, 02 Dec 2022 03:00:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wHx-0007aq-H3; Fri, 02 Dec 2022 03:00:33 +0000
Received: by outflank-mailman (input) for mailman id 451348;
 Fri, 02 Dec 2022 03:00:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0wHv-000723-Th
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 03:00:32 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2061b.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7ac3bf25-71ed-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 04:00:31 +0100 (CET)
Received: from DM6PR12CA0035.namprd12.prod.outlook.com (2603:10b6:5:1c0::48)
 by DS7PR12MB6213.namprd12.prod.outlook.com (2603:10b6:8:97::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Fri, 2 Dec
 2022 03:00:27 +0000
Received: from DM6NAM11FT026.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:1c0:cafe::a6) by DM6PR12CA0035.outlook.office365.com
 (2603:10b6:5:1c0::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Fri, 2 Dec 2022 03:00:27 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT026.mail.protection.outlook.com (10.13.172.161) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.10 via Frontend Transport; Fri, 2 Dec 2022 03:00:27 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:26 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 19:00:26 -0800
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 21:00:25 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ac3bf25-71ed-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WmAa+NYFaCYapMtMXzFo5YrBBpfW6gc9g/G7wGf/WDV8vzBGlRhPthkn720XVrvpsnvVS+5+CYRKRx/xbd+cfPTzgKsy7J8C7dJ6DLXIndmsSBwgn+JzneeDLbS8MM8NGZwN5XpwxDFKJtPeaOgqYT+wA9U8+DIHwUMNMn88j/MXuQhVul8WB3rQHdO89B5HegzGGTFSGICqaA6dxMbzuPZEsy9Ne1EsiEojsQ3F73fmy/rpXoo0/ehECUF/t1opkCaOko89+uSuFAmV87w/TIcLtoYQKK+Q3vtEtfgGFhPfWj+Dke3PUnIENVjMBVwjer8ii+KIbGFFJXEJMATaMg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+UkSque7kYbu/UdRzUr1qe1upkasGFglxoTjB32qnP0=;
 b=UbuntOvJSnIFnQwjCzTohGlMSdDkqGO3K4uH0ADL9Ve2xCRuSkg7IjI9g6GKHhCKZkMAkd8xedSlWUlzxC5yKEspq/bH7Ge3qTb0owU5+FhWac05qL6W4n1e/348+zMaZxXgrcSO9w5iESiT3g7D2HYC0lhhkyKEm3bszgewwasD6HnuSSY7SCkG4wr5UgwKlaRv+1lwyKua2B81fB1vtcEcOysfUC61oNgufsyDUSNtyQZpKMMgn9aAaGM9fCbNcwIDwUOUSFzdRNtIjqyb3yhPWhYH2f8w4eVXIouXHLPpyzPsk44buWfQZctGP0b+5q4LdGU3Fqmpuyum8QAuMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xilinx.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+UkSque7kYbu/UdRzUr1qe1upkasGFglxoTjB32qnP0=;
 b=qhQpc0gMtvhzYCAtkmYuW83nywh+UBkcszRN14weXLPYSbwEIeLb1kMmLsAwVuq4mARbVhcWh2FLAvljIVM+pQP80b8fPI/KnnWLTR5gPrUe8xWGrDpayTnJw7zanjZ28bZF1cRfUAs6f1unEC8m0+DaXmZgJFOsMzau5pod1DA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <qemu-dev@xilinx.com>
CC: <stefano.stabellini@amd.com>, <alex.bennee@linaro.org>,
	<xen-devel@lists.xenproject.org>, Vikram Garhwal <vikram.garhwal@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, "open list:All
 patches CC here" <qemu-devel@nongnu.org>
Subject: [QEMU][PATCH v2 05/11] include/hw/xen/xen_common: return error from xen_create_ioreq_server
Date: Thu, 1 Dec 2022 18:59:57 -0800
Message-ID: <20221202030003.11441-6-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221202030003.11441-1-vikram.garhwal@amd.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT026:EE_|DS7PR12MB6213:EE_
X-MS-Office365-Filtering-Correlation-Id: 8d863e76-b239-4b82-d926-08dad4115db2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WrTiO8CInG2wcQwwM1J4TPhmyuzxSxuww5G6P2QpHLQL+en/HmayB4g7csFKlC8/zehiqBoPGfoH6SVBvc6qszHrmTq3+DzurGOydSf1we1FBoDsuOSy47WCln4HfZhHfvdva4WfNNYHHt6We22rRWVCF9DNu+gLRzGebHCJEvWhHYrCTVA5d+sTKqWvj59uyVaadQvQ4dZRucwLGp5oAwRICP73oFSboIikwCfF181nQRCJlRlDHQftP/zmP2U4FMmQzSEY5iQvylSTNVMedmwZT2glWFE0gkbQvtGFmm1sjqmgedRahJE48wj6yoO3aAxjwNLNyjuoRrKb7QWyeyvaQmLgcT+SESMdxxst4wdaJwq7Uij2WeQQFnF5CqMzlRWvx7JaAygEmsQvfaHRHmukFc7b6fi0dfoO9tDbhvYLM+3kaYv2luVGrqid6FNXg8B/VUftQgX50emzlMthGgjbQRepr0KWnrrAf1KEjueO9DV72xO6HfhMfpNNj2AquAlbTWJ73/+gYrXF9YxRJapTXPMzpfKJBFljcNWo0ttwLcZmf1k08sXtPx+cCmqyw5vDZ4Zj69RkiBXOIHHGwqEkzJFK2yeH3Qy3voPn9lS7J1/rdmTIxc28CaYT3/PvupAK+n0tnVtvoWk3ur7jTyE9DS2cQGq2CY78gMno+ze3agR6rHEQhWHDncflYzXenKlGkLAjueZGs5j4zG8hFMRO8DGcoew794A88U+bvKw=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(136003)(346002)(376002)(451199015)(40470700004)(46966006)(36840700001)(54906003)(5660300002)(36756003)(83380400001)(47076005)(426003)(6862004)(40460700003)(8676002)(70206006)(70586007)(2616005)(186003)(1076003)(316002)(8936002)(82310400005)(36860700001)(81166007)(356005)(44832011)(86362001)(4326008)(2906002)(336012)(40480700001)(41300700001)(26005)(6666004)(478600001)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 03:00:27.7099
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d863e76-b239-4b82-d926-08dad4115db2
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT026.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6213

From: Stefano Stabellini <stefano.stabellini@amd.com>

This is done to prepare for enabling xenpv support for ARM architecture.
On ARM it is possible to have a functioning xenpv machine with only the
PV backends and no IOREQ server. If the IOREQ server creation fails,
continue to the PV backends initialization.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 include/hw/xen/xen_common.h | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 77ce17d8a4..6510ac15e0 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -467,9 +467,10 @@ static inline void xen_unmap_pcidev(domid_t dom,
 {
 }
 
-static inline void xen_create_ioreq_server(domid_t dom,
-                                           ioservid_t *ioservid)
+static inline int xen_create_ioreq_server(domid_t dom,
+                                          ioservid_t *ioservid)
 {
+    return 0;
 }
 
 static inline void xen_destroy_ioreq_server(domid_t dom,
@@ -600,8 +601,8 @@ static inline void xen_unmap_pcidev(domid_t dom,
                                                   PCI_FUNC(pci_dev->devfn));
 }
 
-static inline void xen_create_ioreq_server(domid_t dom,
-                                           ioservid_t *ioservid)
+static inline int xen_create_ioreq_server(domid_t dom,
+                                          ioservid_t *ioservid)
 {
     int rc = xendevicemodel_create_ioreq_server(xen_dmod, dom,
                                                 HVM_IOREQSRV_BUFIOREQ_ATOMIC,
@@ -609,12 +610,14 @@ static inline void xen_create_ioreq_server(domid_t dom,
 
     if (rc == 0) {
         trace_xen_ioreq_server_create(*ioservid);
-        return;
+        return rc;
     }
 
     *ioservid = 0;
     use_default_ioreq_server = true;
     trace_xen_default_ioreq_server();
+
+    return rc;
 }
 
 static inline void xen_destroy_ioreq_server(domid_t dom,
-- 
2.17.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 03:00:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 03:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451352.709092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wI0-0008ER-Ik; Fri, 02 Dec 2022 03:00:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451352.709092; Fri, 02 Dec 2022 03:00:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wI0-0008Di-8P; Fri, 02 Dec 2022 03:00:36 +0000
Received: by outflank-mailman (input) for mailman id 451352;
 Fri, 02 Dec 2022 03:00:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0wHy-0007SV-4I
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 03:00:34 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20621.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c2b9a71-71ed-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 04:00:33 +0100 (CET)
Received: from DM6PR13CA0062.namprd13.prod.outlook.com (2603:10b6:5:134::39)
 by IA1PR12MB6164.namprd12.prod.outlook.com (2603:10b6:208:3e8::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 03:00:30 +0000
Received: from DM6NAM11FT089.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:134:cafe::80) by DM6PR13CA0062.outlook.office365.com
 (2603:10b6:5:134::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5901.8 via Frontend
 Transport; Fri, 2 Dec 2022 03:00:29 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT089.mail.protection.outlook.com (10.13.173.82) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.10 via Frontend Transport; Fri, 2 Dec 2022 03:00:29 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:28 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 21:00:28 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c2b9a71-71ed-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cAcCj6X6VcToDutxcWbGh9M5C1dT4Z7wkI1ROwMB0Nrt6o+RJgIMPKh8iaJ2beMPzW9HWTKe8wWBm3vuVbWEubSLFLfjrWL7HulKCCLlVPykzaUG8pgVa1l/ZsySMYohQlV/UL3X+jOeUslqB9HXyn3EIVNiQLybdJJtVE9ui2HaPcU+mS2bWmTiwZjyTRDYgM71S0kEvlzHuCrcsfxODCbG2Axhq+WxSLDj3Qr5aW+QxC+SQSzRUNa7z+cGdxr+N02tbPngLVbQauCZ34Pm/aoqNAwyH3r5MNWEWz7VOzduAYkZeZ85GQ17i6FuGubHkckY7KxQ2drVFlL8PMJk6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1tmPXHFcSNBA9C2WI+chAUP3UxlxvRCN1nMeGlpHbSc=;
 b=HHCqmO/A/ljnO5xzSAzDr1JpETeE0hAIshMFk4cpHLcAAr2w3cEV0ZGSo1CMyXXFA0DCykVZBbvA3rXkKdek4XQK4B9URJvKkJkEb6ve184ndSFgdILFkc/vyctoAWtSNkbkC1yavIwCLK1xw4XqegMSXV/k+MfR0bJlGB4iajPgAoZaU7IxVevKbv/oI6s088Ji3lYH88WiB0xA/3OE1mlfEoBTjyAFTl9EVRGK3DnxXslU5FD2SxSLWO3yMFMuOM+L9cMNr03Qvf02rXPxTCHU/xcHzzwyCyon45MzOhpnq6qlSP+liB5Ib1s+jh4OqZTPFjCDbyHjF+QneTLBJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xilinx.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1tmPXHFcSNBA9C2WI+chAUP3UxlxvRCN1nMeGlpHbSc=;
 b=T+KKDIIUdguZCp2FdwVml7HkpDqMNvzokKxr8tyrUpzLYwlQ9u4zGSGJwvKYmhyFW74yjpYJTZJbHwt3N/bXxXA91dWq2bcYNiTSd7gT9As0Im+w+WLRh2wz5qxFyi32QaUQep8lFNH8dHjufO6rZOHYSpgZsXDTv7Xk4uEDv3Q=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <qemu-dev@xilinx.com>
CC: <stefano.stabellini@amd.com>, <alex.bennee@linaro.org>,
	<xen-devel@lists.xenproject.org>, Vikram Garhwal <vikram.garhwal@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, "open list:All
 patches CC here" <qemu-devel@nongnu.org>
Subject: [QEMU][PATCH v2 07/11] hw/xen/xen-hvm-common: Use g_new and error_setg_errno
Date: Thu, 1 Dec 2022 18:59:59 -0800
Message-ID: <20221202030003.11441-8-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221202030003.11441-1-vikram.garhwal@amd.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT089:EE_|IA1PR12MB6164:EE_
X-MS-Office365-Filtering-Correlation-Id: 2d304450-0196-4d2e-2454-08dad4115ec7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0N/mae+qa86dlBpV6da/C+ijMUknsc1rpJlANABRVoeFirZDIjxVEa7UP+FvXKBAyNgXfFQVXqMrKxOYJfvdjye9O2IUIX9dV1uKHgM2GfHH02GoVmxLVsg8q1DEL+eCycD5pajmOAqSfEIA4wWOENmG1dxVLe0OpHcpmA96YBaBfI+Tlg84urLfFBLhdAeAOTeJxMI88ipfTSfTBdtQiwhHnc8IgmV2sHhIS8EGQgyqlIr8yXc4iwChL4C2PuxeB1aDfYbM6PSYt4LeNtrfVseIxfc2mrfukmJhoHV2Xw6+d2+ITKPVQ6twyIwjxqCE+gxC/0jIxV+gMyetzY0Z7VjQz1RULTBOxKBsKO3xxtpZsulYnmwUBp/EwfP5y1HQtfdVVpM6ojm5pN4FZNd5QnhJtfnOV2JjCyRGrubjOMgWriBY2p6+60rwDaeviUfcyb7T+XFs0/c+ABYIxIfuVBWH8FF7s4PBWjj+eyqIBuRvdKIXj/V9KWdXU6tdJzUWw1xCF+lGPaTgyGkG6XIm7PDQH/QsYnvScFFb4ZOBEoa/3IJtcQdvy80eJp9/zp2/RYC/u3K5pPQElcz5u8MAdb8Cv+T3b7ivjnRtpzphBS3QCWzqjloJQo09ZvjR30+zWM4QHWY8/HMXdlAwWPRBNpBK/X/0yxLN97QB1U/Z/9Mc/vDXNXCYO6JvwFSowXBjiZjwK7bk25iC7Ar56Crt0vLkruwRDDDl3yQj7wXvr8s=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199015)(36840700001)(46966006)(40470700004)(2906002)(44832011)(5660300002)(41300700001)(6862004)(8936002)(40460700003)(36860700001)(70206006)(70586007)(8676002)(4326008)(36756003)(54906003)(316002)(6666004)(1076003)(336012)(82310400005)(478600001)(26005)(86362001)(2616005)(47076005)(186003)(426003)(82740400003)(83380400001)(356005)(40480700001)(81166007)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 03:00:29.5050
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2d304450-0196-4d2e-2454-08dad4115ec7
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT089.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6164

Replace g_malloc with g_new and perror with error_setg_errno.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 hw/xen/xen-hvm-common.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 03128e575b..4ba5141fa2 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -34,7 +34,7 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
     trace_xen_ram_alloc(ram_addr, size);
 
     nr_pfn = size >> TARGET_PAGE_BITS;
-    pfn_list = g_malloc(sizeof (*pfn_list) * nr_pfn);
+    pfn_list = g_new(xen_pfn_t, nr_pfn);
 
     for (i = 0; i < nr_pfn; i++) {
         pfn_list[i] = (ram_addr >> TARGET_PAGE_BITS) + i;
@@ -717,7 +717,7 @@ void destroy_hvm_domain(bool reboot)
     xc_interface *xc_handle;
     int sts;
     int rc;
-
+    Error *errp = NULL;
     unsigned int reason = reboot ? SHUTDOWN_reboot : SHUTDOWN_poweroff;
 
     if (xen_dmod) {
@@ -726,7 +726,7 @@ void destroy_hvm_domain(bool reboot)
             return;
         }
         if (errno != ENOTTY /* old Xen */) {
-            perror("xendevicemodel_shutdown failed");
+            error_setg_errno(&errp, errno, "xendevicemodel_shutdown failed");
         }
         /* well, try the old thing then */
     }
@@ -797,7 +797,7 @@ static void xen_do_ioreq_register(XenIOState *state,
     }
 
     /* Note: cpus is empty at this point in init */
-    state->cpu_by_vcpu_id = g_malloc0(max_cpus * sizeof(CPUState *));
+    state->cpu_by_vcpu_id = g_new0(CPUState *, max_cpus);
 
     rc = xen_set_ioreq_server_state(xen_domid, state->ioservid, true);
     if (rc < 0) {
@@ -806,7 +806,7 @@ static void xen_do_ioreq_register(XenIOState *state,
         goto err;
     }
 
-    state->ioreq_local_port = g_malloc0(max_cpus * sizeof (evtchn_port_t));
+    state->ioreq_local_port = g_new0(evtchn_port_t, max_cpus);
 
     /* FIXME: how about if we overflow the page here? */
     for (i = 0; i < max_cpus; i++) {
@@ -857,16 +857,17 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
                         MemoryListener xen_memory_listener)
 {
     int rc;
+    Error *errp = NULL;
 
     state->xce_handle = xenevtchn_open(NULL, 0);
     if (state->xce_handle == NULL) {
-        perror("xen: event channel open");
+        error_setg_errno(&errp, errno, "xen: event channel open");
         goto err;
     }
 
     state->xenstore = xs_daemon_open();
     if (state->xenstore == NULL) {
-        perror("xen: xenstore open");
+        error_setg_errno(&errp, errno, "xen: xenstore open");
         goto err;
     }
 
-- 
2.17.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 03:00:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 03:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451346.709037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wHi-00072I-7F; Fri, 02 Dec 2022 03:00:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451346.709037; Fri, 02 Dec 2022 03:00:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wHi-000729-1U; Fri, 02 Dec 2022 03:00:18 +0000
Received: by outflank-mailman (input) for mailman id 451346;
 Fri, 02 Dec 2022 03:00:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0wHg-000723-Fc
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 03:00:16 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7e83::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 714eb78f-71ed-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 04:00:14 +0100 (CET)
Received: from DM6PR02CA0150.namprd02.prod.outlook.com (2603:10b6:5:332::17)
 by CY5PR12MB6321.namprd12.prod.outlook.com (2603:10b6:930:22::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 03:00:11 +0000
Received: from DM6NAM11FT017.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:332:cafe::51) by DM6PR02CA0150.outlook.office365.com
 (2603:10b6:5:332::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Fri, 2 Dec 2022 03:00:11 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT017.mail.protection.outlook.com (10.13.172.145) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Fri, 2 Dec 2022 03:00:10 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:10 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:10 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 21:00:09 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 714eb78f-71ed-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TA3pNjXECRrSsubhf2YaMqYybIH4KoCO2S8C2ZVb4QNZmyXhc7sdN/YuIIIilSrQEzcxOIG/NayGQ2MHMICLwaD3T9M5XutosL1IVvV/3K3814fADjVahk8YvIc020cWWTbwkP47cO3nvuF6EP6ryxRVd2uFweU3FBpb/RWC16eHM8kAD07WiGijZkVu6qG3X+IcDV/pCUDwnxP6b1oKLlp/C0d0yk2Hqu99OveByVn/Ygz2mCNbGeFCo2QSVbhR6XX21XSI4R9EutEle70JtoqqrPCMjK1kjf/dtze07XFH4AEA21RiFOSJ8t9qYpcggpUJhhFM24D/XUkCONUPbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o4ovkWGbob727tiXZ8++JdUrdyWJmj6NhbENChOW250=;
 b=UpG5rWl40CX1GvzZU49OawFcWR/0OAKBtPHXsgoCNn/zcLYrPnsbjQu41OWItGINxlGJjapDY0nwKDcaCEkETvi77lkJsm7hJLCmnpfIxMYvwsPwppU7rwFjiuJ/V3KiZVyU/NJ8mAbxfvEexVw6rL3A6PWLJsJe6pYMW0pT+nOkq42MNJC/DjtxOPZGxfdFYwEKUQq38YfNwH4sPoRr5PlffYB6kFIZmL5asu5hDYDit4/95UscknYnYKYyP98DO5rTukD6cP4+scysXyRB5kZg3TyLrD8ztDA9Xunnu56bp6mRbfzDEZpWAlrcInry+qez0P05/jOAjMaflz2S0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xilinx.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o4ovkWGbob727tiXZ8++JdUrdyWJmj6NhbENChOW250=;
 b=A+V/ouddyWtrq7zNlKXgxngHKas23yeL0k0oKfxuYgvtRVxvUIKQW30UPIvPAwu3AdJMhPQkGeD01uSAHYgl3JKZ9dZSj39TRzmGz+vV0nSQL2WtDjzBL5rSXQU1zrE1ES9Soobn3GZWFCB/u8sIadQve+Is8OuHklxwaqB35TQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <qemu-dev@xilinx.com>
CC: <stefano.stabellini@amd.com>, <alex.bennee@linaro.org>,
	<xen-devel@lists.xenproject.org>, Vikram Garhwal <vikram.garhwal@amd.com>
Subject: [QEMU][PATCH v2 00/11] Introduce xenpv machine for arm architecture 
Date: Thu, 1 Dec 2022 18:59:52 -0800
Message-ID: <20221202030003.11441-1-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT017:EE_|CY5PR12MB6321:EE_
X-MS-Office365-Filtering-Correlation-Id: 667f6729-071a-4400-926a-08dad41153b1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Bpurvol1AC2h5uf4r2nHD0hcTBDtJFcXWwTwh+87lbC1hXg5LqQEeTWVPJK4J0LqTdTjvbzszjjuPGPaYVnl8kGjnS5SGr+kgKQqybLSpk1Aenpj8Pnwi4J2BDzu6TW9NyqqiOzSJed02AYVOtug8Vbadu2IBoVPKhXdzFZ6oS53CXHVeJCKj6BP00bouL181JHaBomoBaorIJBdSA/gmDPRoRz0FDwLOBjNrXxrqx/0CHzLL4xUIXaorESzZgg+DJG0ApUHScg74Js/rs62f1yQZAzUqsA6j3gcCQgOWViYy909z8AxKvF9/X5xxo+D2uAWgH9NCWxNH5VzlnTSy3sl87cJuXRHeO1UEbodko1yy+aWLDqchYYYpCnD1JHWnbq8Zh9gDNcq2U/YiQEbbN9IAjEtrgqrL7sqr1xnhDXPONP6BNgOtAOt+WVmkSwB/uRnqG7gstAwZ48UWppd94bnoxxzsjN15WpUHgALajVq0lgG0PtImwQ8MCmXGFNbsUG0+hQRNdBSS1dPwbDyrQq7uizsYniAlTS2P08HkVHIGurp8T6fCBtdbmGex7seQBbOL0/oHlX78VWYclWlIjPjGm0mAf7yrqBA7i5cyH/hZ07VKofVGz4u/Rz6mNgsdU8wi/Fmh2pidOXs6G+Ilq7omn7Vulb2kPEd+AMdFTn6Gum0pnG3vNLlUOhwz+GfR38y8CdTMRn2mrB/9dB5SQQ//++bn762GHJpOIpB2+k=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(39860400002)(396003)(136003)(376002)(451199015)(40470700004)(46966006)(36840700001)(426003)(47076005)(40460700003)(86362001)(81166007)(356005)(36756003)(40480700001)(82740400003)(82310400005)(1076003)(2616005)(336012)(186003)(26005)(44832011)(83380400001)(5660300002)(41300700001)(6666004)(478600001)(8676002)(70206006)(4326008)(70586007)(36860700001)(8936002)(316002)(6862004)(4743002)(2906002)(54906003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 03:00:10.9244
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 667f6729-071a-4400-926a-08dad41153b1
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT017.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6321

Hi,
This series add xenpv machine for aarch64. Motivation behind creating xenpv
machine with IOREQ and TPM was to enable each guest on Xen aarch64 to have it's
own unique and emulated TPM.

This series does following:
    1. Moved common xen functionalities from hw/i386/xen to hw/xen/ so those can
       be used for aarch64.
    2. We added a minimal xenpv arm machine which creates an IOREQ server and
       support TPM.

Also, checkpatch.pl fails for 03/12 and 06/12. These fails are due to
moving old code to new place which was not QEMU code style compatible.
No new add code was added.

Regards,
Vikram

ChangeLog:
    v1 -> v2
    Merged patch 05 and 06.
    04/12: xen-hvm-common.c:
        1. Moved xen_be_init() and xen_be_register_common() from
            xen_register_ioreq() to xen_register_backend().
        2. Changed g_malloc to g_new and perror -> error_setg_errno.
        3. Created a local subroutine function for Xen_IOREQ_register.
        4. Fixed build issues with inclusion of xenstore.h.
        5. Fixed minor errors.

Stefano Stabellini (5):
  hw/i386/xen/xen-hvm: move x86-specific fields out of XenIOState
  xen-hvm: reorganize xen-hvm and move common function to xen-hvm-common
  include/hw/xen/xen_common: return error from xen_create_ioreq_server
  hw/xen/xen-hvm-common: skip ioreq creation on ioreq registration
    failure
  meson.build: do not set have_xen_pci_passthrough for aarch64 targets

Vikram Garhwal (6):
  hw/i386/xen/: move xen-mapcache.c to hw/xen/
  hw/i386/xen: rearrange xen_hvm_init_pc
  hw/xen/xen-hvm-common: Use g_new and error_setg_errno
  accel/xen/xen-all: export xenstore_record_dm_state
  hw/arm: introduce xenpv machine
  meson.build: enable xenpv machine build for ARM

 accel/xen/xen-all.c              |    2 +-
 hw/arm/meson.build               |    2 +
 hw/arm/xen_arm.c                 |  175 +++++
 hw/i386/meson.build              |    1 +
 hw/i386/xen/meson.build          |    1 -
 hw/i386/xen/trace-events         |   19 -
 hw/i386/xen/xen-hvm.c            | 1084 +++---------------------------
 hw/xen/meson.build               |    7 +
 hw/xen/trace-events              |   19 +
 hw/xen/xen-hvm-common.c          |  888 ++++++++++++++++++++++++
 hw/{i386 => }/xen/xen-mapcache.c |    0
 include/hw/arm/xen_arch_hvm.h    |    9 +
 include/hw/i386/xen_arch_hvm.h   |   11 +
 include/hw/xen/arch_hvm.h        |    5 +
 include/hw/xen/xen-hvm-common.h  |   98 +++
 include/hw/xen/xen.h             |    2 +
 include/hw/xen/xen_common.h      |   13 +-
 meson.build                      |    4 +-
 18 files changed, 1323 insertions(+), 1017 deletions(-)
 create mode 100644 hw/arm/xen_arm.c
 create mode 100644 hw/xen/xen-hvm-common.c
 rename hw/{i386 => }/xen/xen-mapcache.c (100%)
 create mode 100644 include/hw/arm/xen_arch_hvm.h
 create mode 100644 include/hw/i386/xen_arch_hvm.h
 create mode 100644 include/hw/xen/arch_hvm.h
 create mode 100644 include/hw/xen/xen-hvm-common.h

-- 
2.17.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 03:00:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 03:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451354.709124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wI3-0000nX-NF; Fri, 02 Dec 2022 03:00:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451354.709124; Fri, 02 Dec 2022 03:00:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wI3-0000mG-Eb; Fri, 02 Dec 2022 03:00:39 +0000
Received: by outflank-mailman (input) for mailman id 451354;
 Fri, 02 Dec 2022 03:00:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0wI1-0007SV-Ra
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 03:00:37 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20611.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e19ff92-71ed-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 04:00:36 +0100 (CET)
Received: from DM6PR13CA0070.namprd13.prod.outlook.com (2603:10b6:5:134::47)
 by MN2PR12MB4238.namprd12.prod.outlook.com (2603:10b6:208:199::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Fri, 2 Dec
 2022 03:00:30 +0000
Received: from DM6NAM11FT089.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:134:cafe::52) by DM6PR13CA0070.outlook.office365.com
 (2603:10b6:5:134::47) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5901.8 via Frontend
 Transport; Fri, 2 Dec 2022 03:00:30 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT089.mail.protection.outlook.com (10.13.173.82) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.10 via Frontend Transport; Fri, 2 Dec 2022 03:00:30 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:29 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 21:00:29 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e19ff92-71ed-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TdIhCNEBnbLOiJClPfztF3LRc5JIvFUhnyDG5bH5ALU8nRdCjDCF7Dkrth/8bk9beQSBnEnJs2687skHuYXMllD3LZv+2ZJqVWhlH/xnanUNkcrUuKCDPpgeeRd9TbVvbIHRkxdEuzGkN7Oms3fZkNr80ALz1zEgfXBvpHL//lGX3SaHGN/TVEhMYKAt4yk3zzMYPKROJ52jc+LWyCD3HozgfqH3FQ9gEfZeO9jBL9U9ikP6L75fGxS0TL2Es2FK8Aw+O/dsLd1TLwmx1ruzlI+OIvvNDfSh3fCO/UhTCtVJN+gh/Ca4yeG11wbac1jYGf3mo6M70n9RX8KC20wMng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wQIEWPZU8OPBKR+IgmJ7ZTGjyMzMiJdFmkXcdrWRhf0=;
 b=eUKW/znGKnlCEYRmlxbT9RsnQaYP6J+rIVb+xGSv6J0pmfHSu/T1eVA9cTvhR0HivOuJwpAjbWgSGg2WU1M/10nvsb8qhz/99HwgZEPlaCAUehQR5La5W/eBXkD5yhd5dAt5Vl91TW/cZSvxU2yaeTqLSsu4F35SW9Ifww9Y6vTgu8nIHYHTI5uc3TIVHghSXgWGBlLQDI80xEh9YNXyZ49pVagsLfbyzgRXugGdsifmOvnp5f9U6KxBCJnE3j9oMd5QzVyzvyJEln1Z6lOCUJPjUX+7woeJEqrLXkqWkaBtelpuGPX52ZJMBo//Jlv7OTc3w1VNhT2o+CJ9Mcfc8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xilinx.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wQIEWPZU8OPBKR+IgmJ7ZTGjyMzMiJdFmkXcdrWRhf0=;
 b=c5s2SIUIkvzEjXVP/TTSzlzUei8fZa4QHMgGfPnDAB9OnGbdiqx4KdQ6/zXbY4BtpFWTK0Sig46XZL7VgbD1Zcd2JQDSfEhI8RfBBI/hs5CWxu44YTX4kf7PGDhdbNQb2Ee281kLc3T9NuGRdp1RBwEL4rfsi6jXHw4nJSccNms=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <qemu-dev@xilinx.com>
CC: <stefano.stabellini@amd.com>, <alex.bennee@linaro.org>,
	<xen-devel@lists.xenproject.org>, Vikram Garhwal <vikram.garhwal@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, "open list:All
 patches CC here" <qemu-devel@nongnu.org>
Subject: [QEMU][PATCH v2 08/11] accel/xen/xen-all: export xenstore_record_dm_state
Date: Thu, 1 Dec 2022 19:00:00 -0800
Message-ID: <20221202030003.11441-9-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221202030003.11441-1-vikram.garhwal@amd.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT089:EE_|MN2PR12MB4238:EE_
X-MS-Office365-Filtering-Correlation-Id: 00d2de42-3607-48cb-9629-08dad4115f58
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cuKhhC87lDgm75v2cR3IK8eyct8EOqrC/CXo9mJhYFdHSz3WprAQ/v4HxEmhcKSHSHxdXxUiBqdRGnSuNyZoGEDy2lMDq7g/mhQ+TIMetOl7kdc1eYRtcI3Hs3HHn4MsADLWFYytoauS5Xx28lQee061ZXHrP3xuxlIEP8AQXpl/6qhfUoHsyhl2UXa6EZibpw2mOrLkvanLDZt1t1ow6hR7bdt8xqf1bttI6uyFtGbHrayis4osyoqjw0LYTfnC6qKqQvq6SVAIm9efz8Gn6q8e1Nay4qhPRBlRxrvxj8BFHN/nhIYdsZstyytmEdkZMXysU2E3euEyv2hfHLtVdVu+9mJoGYc3KpAzQsFKrprG6MBAyb7JdiqR9fc+40VB7A6dVn/sXCRS8HyfKoWnSN7xktn+VggraS0ZNTivfaovBH2vOVb+PNh2UKe/jwxYKOsUqoLxY746xHDyRd8cYcth2Jcog4ZzdJFJjoR3b3gTSFlKT0NR0AfxIh62g77XXF2KNMwGYj/nH+iG5FAx68PNC498q4C4U4xJ+QSd02YL5enN4Sob5LhD6CoDBXfjaghC99NQAqcKDuorZ+nrgxPu6K2DWswALyiopwyAzHLb+6rCSW8WukGV+ZJNE7Dv2txPouW3QgxQaFw5g/6LcIhFuKCwr30+Jt2hEjdYCyWGvHqgL/h/4gYwcoAegyrzbvy76XOppb4Z7Uy5Roj2itG5GeOfUNmADoCU11nHWUI=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(376002)(396003)(346002)(451199015)(46966006)(36840700001)(40470700004)(81166007)(356005)(8936002)(40480700001)(186003)(5660300002)(86362001)(54906003)(6862004)(8676002)(26005)(70586007)(6666004)(2616005)(40460700003)(478600001)(336012)(4326008)(47076005)(36860700001)(44832011)(316002)(82740400003)(83380400001)(2906002)(426003)(41300700001)(1076003)(70206006)(36756003)(82310400005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 03:00:30.4582
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 00d2de42-3607-48cb-9629-08dad4115f58
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT089.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4238

xenstore_record_dm_state() will also be used in aarch64 xenpv machine.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 accel/xen/xen-all.c  | 2 +-
 include/hw/xen/xen.h | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index 69aa7d018b..276625b78b 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -100,7 +100,7 @@ void xenstore_store_pv_console_info(int i, Chardev *chr)
 }
 
 
-static void xenstore_record_dm_state(struct xs_handle *xs, const char *state)
+void xenstore_record_dm_state(struct xs_handle *xs, const char *state)
 {
     char path[50];
 
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index afdf9c436a..b966db3c84 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -19,6 +19,7 @@ enum xen_mode {
 extern uint32_t xen_domid;
 extern enum xen_mode xen_mode;
 extern bool xen_domid_restrict;
+struct xs_handle;
 
 int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num);
 int xen_set_pci_link_route(uint8_t link, uint8_t irq);
@@ -31,5 +32,6 @@ qemu_irq *xen_interrupt_controller_init(void);
 void xenstore_store_pv_console_info(int i, Chardev *chr);
 
 void xen_register_framebuffer(struct MemoryRegion *mr);
+void xenstore_record_dm_state(struct xs_handle *xs, const char *state);
 
 #endif /* QEMU_HW_XEN_H */
-- 
2.17.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 03:00:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 03:00:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451355.709129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wI4-0000sk-Df; Fri, 02 Dec 2022 03:00:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451355.709129; Fri, 02 Dec 2022 03:00:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wI3-0000rS-VS; Fri, 02 Dec 2022 03:00:39 +0000
Received: by outflank-mailman (input) for mailman id 451355;
 Fri, 02 Dec 2022 03:00:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0wI2-000723-Ip
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 03:00:38 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e50126e-71ed-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 04:00:37 +0100 (CET)
Received: from DS7PR03CA0263.namprd03.prod.outlook.com (2603:10b6:5:3b3::28)
 by DM4PR12MB5327.namprd12.prod.outlook.com (2603:10b6:5:39e::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 03:00:32 +0000
Received: from DM6NAM11FT064.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3b3:cafe::8e) by DS7PR03CA0263.outlook.office365.com
 (2603:10b6:5:3b3::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Fri, 2 Dec 2022 03:00:32 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT064.mail.protection.outlook.com (10.13.172.234) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Fri, 2 Dec 2022 03:00:31 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:31 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 21:00:30 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e50126e-71ed-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K0zz6MY3Q1Cw4W+FCd/VUs/ZCbvP+7gHi4wdd22YbbDkdbYRgRGWjWb6YovdTIFlYxT9YI0ZW46mqY1VvAjDmC421MmHsoc2Vw9fm0LnQHDG+nRcdkA5xyTPE4qNmDt8Jn/zMhvV/nOaG7cPd3jWL/xcKv9o4LVBeZPAOOaF83CIGJt/xxYJTKGtYBoCwmPMS9ArWyIV1XW7z1YxrY4W8dFbTTDP4imwSLGJ4jtgeTKyXCn2hlDYnq+1WPzemOaNK2MXfSxEd5P64VpQppXqCwYc6PKZQbgi3p1V5RM56zLk4MQ+MlurP7T8R+/r4KX8U8UADDrTkSS5da59DUf8yA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ir4hpyABHTTAHqZnYN0/rdlHtCJ7Zkk8QILmyHGJSSk=;
 b=JaHXg//MgviEX1YT2QLSxKrORPwAGShcO1DTWWtnq/j0DPMFUKeUYZqajt9MLS8aGEUwkKbGyWsgf57MNmgYZumPMhIDYzX3Dl0wZV4PSuGm1LoJHrDxrNr3rcq1ODydKMWHV1mnFhJ6pSBc83NRLyr0DVUXprE6BsSPSYVGSlaEgJlDv0BIdn5mUpp5OZnkoNsdo58YSSFx47S1ylmfgnUqUflnEPxSOCo3O6SN18nxQHYhSfdCxtNRmnph6Md7Ynv/rStS0GBMWyBkyB9OOU7P5iSM4Bf3oFJCSKr2DKdR2C8J4/RMUG7Ydyb6vHLTgD9iVDHEU1Em6dcrpEwTqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xilinx.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ir4hpyABHTTAHqZnYN0/rdlHtCJ7Zkk8QILmyHGJSSk=;
 b=x47a8mVikxa/gWx4WbPFxsNoZPlMQ6d2MMxWL/jT/wP7A1ui6U5zb4xOS7EfmAjHHfv89cHVZf/WIVB9IKnVtMvFgI33xU/iYh91HmkjeF+GMNMosD/mFcGMwxHBtT8p2p0CzwkUbf8Q6btZHeXwx19HanuZX+9Vi+gP5NnomSs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <qemu-dev@xilinx.com>
CC: <stefano.stabellini@amd.com>, <alex.bennee@linaro.org>,
	<xen-devel@lists.xenproject.org>, Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>, Thomas Huth
	<thuth@redhat.com>, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?=
	<philmd@linaro.org>, "open list:All patches CC here" <qemu-devel@nongnu.org>
Subject: [QEMU][PATCH v2 09/11] meson.build: do not set have_xen_pci_passthrough for aarch64 targets
Date: Thu, 1 Dec 2022 19:00:01 -0800
Message-ID: <20221202030003.11441-10-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221202030003.11441-1-vikram.garhwal@amd.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT064:EE_|DM4PR12MB5327:EE_
X-MS-Office365-Filtering-Correlation-Id: 2077c209-378e-4ebe-b33d-08dad411600f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Hcntb+hQYDcJ60WCfKmSQHdKXS537gFJyjdmDDrYOMUVW9b8THn/4fQ62A3prRpWT0N1N3UB2Z0d39/pQU24zwIfDmNLo+D318CZTkPXmT7q/mjXcFAzDNIv2rcJO1Gr5IV6Zu6Y6PtwOU45jXbssz+IMU+1G+tvWrYIuUJkz140VpJeqgNjIwBbK8fI+1AKhe5ahBqyh//MluchU/sRex4QDtqzG0x5LuPllMYCfvmCNdfgfbeuGAwzYMrP0OfmUwHQrFp+1ghKxlbd9XLTVZwhEguRBC9nXtQgrADM9nw8qSoNUmOtGWY1MrCbF6DSqpf24IAWmyFsz5ykEn+MQfLRvyOzGsDuuaZksdXl2p63lwcVTsYH1WsXJO4dHqNOLUg9Joy8fmmioCW3B6qYShzqm8aJlfRdq10YtBf3X3DskefLCGXYaFBseaduwnD4ZFq9x2uEpiHm+8kNog8FcPwlQvJeHRmZSDto8HFiUvb8p2tEo4/D9HocXzXglFpBsLfmJbnZYXdYrI09gES5qRU6f6EViWzOJB0K/bxzOWtwD5A9wR5DJG/8ReSENmApos6D6cgPD2vk5KSf7TP4QwdgU0pN5o37JXQ9bhXGYanxQQ+NNAHHgyrxYuc+qceLVlDF+lZna+gg9KGQO6GKkKnzYa4epgBu6OxW5cCPcAdlakw2YlXwPngqWP4nXqyfluhlC38aewxYBG/qLjHkmyWYGl8AobLGZImQbINt+YE=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(39860400002)(376002)(396003)(451199015)(46966006)(40470700004)(36840700001)(44832011)(4326008)(8676002)(4744005)(41300700001)(5660300002)(70586007)(70206006)(316002)(2906002)(6862004)(8936002)(54906003)(478600001)(36756003)(26005)(2616005)(6666004)(426003)(336012)(1076003)(186003)(83380400001)(82310400005)(40460700003)(36860700001)(47076005)(40480700001)(81166007)(356005)(86362001)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 03:00:31.6739
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2077c209-378e-4ebe-b33d-08dad411600f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT064.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5327

From: Stefano Stabellini <stefano.stabellini@amd.com>

have_xen_pci_passthrough is only used for Xen x86 VMs.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
---
 meson.build | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meson.build b/meson.build
index 5c6b5a1c75..81d36420f0 100644
--- a/meson.build
+++ b/meson.build
@@ -1469,6 +1469,8 @@ have_xen_pci_passthrough = get_option('xen_pci_passthrough') \
            error_message: 'Xen PCI passthrough requested but Xen not enabled') \
   .require(targetos == 'linux',
            error_message: 'Xen PCI passthrough not available on this platform') \
+  .require(cpu == 'x86'  or cpu == 'x86_64',
+           error_message: 'Xen PCI passthrough not available on this platform') \
   .allowed()
 
 
-- 
2.17.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 03:00:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 03:00:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451356.709134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wI5-00010d-1Z; Fri, 02 Dec 2022 03:00:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451356.709134; Fri, 02 Dec 2022 03:00:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wI4-0000zb-Nw; Fri, 02 Dec 2022 03:00:40 +0000
Received: by outflank-mailman (input) for mailman id 451356;
 Fri, 02 Dec 2022 03:00:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0wI3-000723-Ix
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 03:00:39 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20605.outbound.protection.outlook.com
 [2a01:111:f400:7eab::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f88d5cd-71ed-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 04:00:38 +0100 (CET)
Received: from BN8PR04CA0021.namprd04.prod.outlook.com (2603:10b6:408:70::34)
 by CH0PR12MB5153.namprd12.prod.outlook.com (2603:10b6:610:b8::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Fri, 2 Dec
 2022 03:00:34 +0000
Received: from BN8NAM11FT056.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:70:cafe::ca) by BN8PR04CA0021.outlook.office365.com
 (2603:10b6:408:70::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Fri, 2 Dec 2022 03:00:34 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT056.mail.protection.outlook.com (10.13.177.26) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5857.23 via Frontend Transport; Fri, 2 Dec 2022 03:00:34 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:33 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 19:00:33 -0800
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 21:00:32 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f88d5cd-71ed-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M3xY/TNAflg+TuVTWjm/PY8zVHOboQqaVNh6FWcVu7jKsED0vG63z73VNvtkfl41oHELmszFqvzRASmRdhtinZFssc/Z8Yf3U57cZkJ7UyghOBhlQeqRS5c7vdcSLgIxWx3VScNpthcteH8DrcWjhD8wczRRhsincBqJTtT5bPLa+UB0tYEIbl14iITCtJ+orUHkaodkqfXEV1m/reTb2Zd5RhEuRuNjuSCZ12m9Y6e0ux52PjJg8qZ9B286Kz88p3cn6eoySq8xRQYxxyOWG/EvTgjaekzZYJ3fQLKkEih2PL4xj1eZAvydACbnl8XV3sE/YQGIZ8l5mzX5cj6Vzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3QyA1hInTjQHsfzQggbhvu7AdxljEXi43kOx4mS2afA=;
 b=G5olR//gugQRXbrPxDuaiA3ejMli9XRrmGuyyBlgJDNNWFtlYRc0YCQ7sNunla7JPLzWJNSRdwVxdAIJXTX+xj13rwe0atKlgQD/ZLCyMdOjw5pDUvX3DdTTYFqmja9WYvS85f4ohWsvqVVLF5fSwzXjq51PwLuBYZl+BVnsc5+OP19nkLTOeQjhyfN8Rjh03R1aZgkna33XpO5wLFMbLXpzkd1dgSyKbpP4AzoDAyItBzsb8zS0f6jSLDTVtJLTwS3oOYiv/o6MjdcFOtwLCwkddnUmmwSXiobia6frVyrBxgIuVJbGSkP2k+ar1jXkrzRwigJW4NjKuiilThsLGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xilinx.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3QyA1hInTjQHsfzQggbhvu7AdxljEXi43kOx4mS2afA=;
 b=R0HExe0yovK8+OGaQyOtdriL7fCjFNYsGnHLxlotCRvaKdGzRYeyIOp+JTIEp2pV++Cpsis8Be0ISeKPyHpzeBmckt0xy5vUAt6ez02vQXNAeKzp+2AmVG+AKI3U2lnC8OEUsAQXfn7tJmx/9qLMbQsJ+B7gulfTRcLtG3bY7eU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <qemu-dev@xilinx.com>
CC: <stefano.stabellini@amd.com>, <alex.bennee@linaro.org>,
	<xen-devel@lists.xenproject.org>, Vikram Garhwal <vikram.garhwal@amd.com>,
	Paolo Bonzini <pbonzini@redhat.com>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?=
	<berrange@redhat.com>, Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>, "open list:All
 patches CC here" <qemu-devel@nongnu.org>
Subject: [QEMU][PATCH v2 11/11] meson.build: enable xenpv machine build for ARM
Date: Thu, 1 Dec 2022 19:00:03 -0800
Message-ID: <20221202030003.11441-12-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221202030003.11441-1-vikram.garhwal@amd.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT056:EE_|CH0PR12MB5153:EE_
X-MS-Office365-Filtering-Correlation-Id: 462fcba4-2afd-429d-e69f-08dad411617f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AX4cAWwXcC8sKiEckc3lLrpYOnvTD3I08gAdmPLfVP33S934U5mjqmhXt/MFShe3wfAUreoJwkgDuj6w8FdD37DQkG1xe0K3fFgmizsxBC5nXxd3gz/CybNJebgYP6z84mA9HpUC01ot36gCpqsx2bsU/b+bm6A2sL4HhEDIdmw/SyzQkJQicwG7CkUl/AbS19Y7VeN6hBsD+137rqF3jmth+clo6TLWQN+GcR7JB+X6hD4cYWc1dlyoCqZHomnLWQ3oAP78cKezX4jcf1/yo2Nbj2BmhlATb16ENzbTn/KeC8mdVCMno5cW/8spFzRLsB7QXLLADps4TubzSSSyK1n3jOdpoewkd6nSHn2xZIICQfUFux/5Jy3dQdVPUx0E+YzEx5kOQJW3Cxdqz3OSfxwKucChDP8/5s2PaKDCLRQr/6NbeYA9L3U/J0LnawlQ7fopAyeDhjk3iRm007TXLDy28pMbwYpw97xuqx1LgOzY/7eQG/imYikB7UYwGP5n/RTF94QMb6S1U0mSW6n68sFmNIOR2P6pTqv71CQ2y9TTOJ+xS4TFds2d9MwK8+4t0664OqXUwJJYe7suhxqVsDtP1Z0prX/qXdStXqJNaS/3Cs1V9OrZdFglolHGyKQ4EWwCMULwryKzO/hbUArkpB6Cm2cQB18KakQtOKRIeh637g5BT9EPhapFcBWxdtLqYZMreYyGVZYfw90LURu1L4SjvHv3e+YgAqvACfGKg4I=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(396003)(136003)(346002)(451199015)(40470700004)(36840700001)(46966006)(316002)(478600001)(70206006)(2906002)(70586007)(82740400003)(36756003)(86362001)(81166007)(40460700003)(54906003)(356005)(426003)(66574015)(36860700001)(40480700001)(336012)(83380400001)(82310400005)(1076003)(47076005)(6666004)(2616005)(186003)(26005)(4326008)(5660300002)(44832011)(4744005)(8676002)(8936002)(41300700001)(6862004)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 03:00:34.1182
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 462fcba4-2afd-429d-e69f-08dad411617f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT056.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5153

Add CONFIG_XEN for aarch64 device to support build for ARM targets.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
---
 meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index 81d36420f0..a4965251ab 100644
--- a/meson.build
+++ b/meson.build
@@ -125,7 +125,7 @@ endif
 if cpu in ['x86', 'x86_64', 'arm', 'aarch64']
   # i386 emulator provides xenpv machine type for multiple architectures
   accelerator_targets += {
-    'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu'],
+    'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu', 'aarch64-softmmu'],
   }
 endif
 if cpu in ['x86', 'x86_64']
-- 
2.17.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 03:00:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 03:00:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451357.709146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wI6-0001Rl-LC; Fri, 02 Dec 2022 03:00:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451357.709146; Fri, 02 Dec 2022 03:00:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wI6-0001Pj-Ao; Fri, 02 Dec 2022 03:00:42 +0000
Received: by outflank-mailman (input) for mailman id 451357;
 Fri, 02 Dec 2022 03:00:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0wI3-0007SV-U6
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 03:00:40 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20630.outbound.protection.outlook.com
 [2a01:111:f400:7e89::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f58ad38-71ed-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 04:00:38 +0100 (CET)
Received: from DS7PR03CA0251.namprd03.prod.outlook.com (2603:10b6:5:3b3::16)
 by MW3PR12MB4377.namprd12.prod.outlook.com (2603:10b6:303:55::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 03:00:33 +0000
Received: from DM6NAM11FT064.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3b3:cafe::bf) by DS7PR03CA0251.outlook.office365.com
 (2603:10b6:5:3b3::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Fri, 2 Dec 2022 03:00:33 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT064.mail.protection.outlook.com (10.13.172.234) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Fri, 2 Dec 2022 03:00:32 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:32 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 1 Dec
 2022 21:00:32 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 1 Dec 2022 21:00:31 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f58ad38-71ed-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XGE5MKhSOcoqfcfU15rtX8hDczAxjs+Oul/g0EKsZ9VDZkSnbr6uFuJqoGwa6TwY5n4dmoSA2vi6aSvhmIq1WM8a8Nx8oHx8Javgh5Ie/bt3hjdBAkK+hWW5g9iPadpJhP/CAfo9J3og9sO/Oz2aZGes8qKqqVrF5xdP5UBMW3D0/xEf+46KbRNodhskVFgeH3L9iezUYXSbFqu/g68WxXjMFnl3DcwGvfNlOBexOMc0EvQm9qHkPT+yTWWQfoftVo1Aj/SecSTmPwdUmmZpcni8ALzslk6cWbHqB0yfZzbSBH3u0ZKXeZ8OShnXXX7nZvD/e+ldNzTlql9zP9dCKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DYzV8ViwY618nmM7RDZwwkUZ/mIE7nSTEcx90v3DbsE=;
 b=dLYqBAGlSQnDdWyAdHTUHasd3jKq0Y/HOtPMYMEuYM9dCbPazQsoimi2ct5gJ5UAE71cGxuqLf7LnO5BDZNScpanCqdLYlKxZorNwqQXqYNbaLXO4lTupwwxB6Ynx5BR+MfiGoxZ2SYBKjlHB3Cnm4AsROj6lZjx98hsf9qfUFe+22+RV7E+wR9iKjoaZ68iE+E9yukzAsg/yWzdyrbKDrLfDMH1z0pD3UeWOG6RM8QsTUj1FLcI8zw8X4eQrNMmzO89yvYiz2ElUH4bhhMZIRH0q/Sx4uOsc5x9iOCUvqBVq2oqY2uDryj9FJBQbeMu7rSD34RYc+4NLew+gZuyig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xilinx.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DYzV8ViwY618nmM7RDZwwkUZ/mIE7nSTEcx90v3DbsE=;
 b=iZmebZhSFKyZxtEAwqWrNMh1BbfXyc9FIGpLTMbsw9MbhCb2YyCk3kZqpAbIn+JZhktc0DOcrCcMDlgrijotzngQQN5ud+J8IKewfBVNfr8odlneTY0CMnr0f651pvq8qGOMusfKicbMxzZZXx0yLuFvq7GkTLAu5Kn8uRnl9jI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <qemu-dev@xilinx.com>
CC: <stefano.stabellini@amd.com>, <alex.bennee@linaro.org>,
	<xen-devel@lists.xenproject.org>, Vikram Garhwal <vikram.garhwal@amd.com>,
	Peter Maydell <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, "Paul
 Durrant" <paul@xen.org>, "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>,
	"open list:All patches CC here" <qemu-devel@nongnu.org>
Subject: [QEMU][PATCH v2 10/11] hw/arm: introduce xenpv machine
Date: Thu, 1 Dec 2022 19:00:02 -0800
Message-ID: <20221202030003.11441-11-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221202030003.11441-1-vikram.garhwal@amd.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT064:EE_|MW3PR12MB4377:EE_
X-MS-Office365-Filtering-Correlation-Id: 8d048201-19cf-4a9c-09f4-08dad41160cc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NqvT/giPwj5JRDeOkBU4yDFEb/IITtDuuYkZwmqx0CQLxYkzKcEPJotDwy2HtQnYK3O5OWRM9+6MJqdqkr2H/b16U4aFYZ7VYsA5oyrNQD72VJMvM97/IrdRgt6xBToxCwc14JqNJqTlBQkANNdH+a09BKn3KG/HjtQTLgPSuhAq/leTiy8xAdqAGiKqzY87t412PB7T/z3IX0NdMj67aAWSTMgb5K4PrsNowF/vhe8TTvAkPU5hl8/OtUEkJ7nmultZ7gkYAfGONcewWtKB57eaHguZUXp2r5U3lIPNNkAsWJqXX0ajNeAe3rLWV+wWr93IS1dqrOOmGjMKjrXy5GD8zBISlync7MV5/CeKsj8RR1TSEljRbguraSg0xcg7FHD9mkIGMmV7fR6GCCUyOP/bEj0bJEQGZfS4RvAGoDhauyENhDBgakI60qFdYHHGKuTSNUFlgBWvuDo7SeISwfsXZ7xRupudLbVi7aNTBGUVRNVkgVvzO2VN5LEGv6aKoZ4jHT2RvD2CBunWrFT3SzjEp9N4eHlbsHUHsCIhsXz4cHD5T4WV8rLgEw269Qk4x61k5IE8UL0iHQfNpe0NzBS3O2CM0KsJlJKqqMhD0jcjXAjljizp7fq1uLpOUZkyd6Krft7oWCiX0GAZajs8+TVD2igqRf9jsCYXSxpTIVPcvpcSRSR8zHwW50Z5TJ6j5Zlx6Q6q6QJadhG5kKj4UP+f4pVPliTEA9/FHUtne23jsm5tu/+55tqClMN2kzx0DklXkdGucF299i8KqluVKw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(376002)(396003)(39860400002)(451199015)(40470700004)(36840700001)(46966006)(6666004)(966005)(186003)(26005)(66899015)(316002)(54906003)(478600001)(4326008)(70206006)(70586007)(8676002)(2616005)(41300700001)(1076003)(8936002)(426003)(5660300002)(47076005)(6862004)(44832011)(83380400001)(2906002)(336012)(36756003)(40480700001)(36860700001)(86362001)(82310400005)(82740400003)(81166007)(40460700003)(356005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 03:00:32.9082
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d048201-19cf-4a9c-09f4-08dad41160cc
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT064.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4377

Add a new machine xenpv which creates a IOREQ server to register/connect with
Xen Hypervisor.

Optional: When CONFIG_TPM is enabled, it also creates a tpm-tis-device, adds a
TPM emulator and connects to swtpm running on host machine via chardev socket
and support TPM functionalities for a guest domain.

Extra command line for aarch64 xenpv QEMU to connect to swtpm:
    -chardev socket,id=chrtpm,path=/tmp/myvtpm2/swtpm-sock \
    -tpmdev emulator,id=tpm0,chardev=chrtpm \

swtpm implements a TPM software emulator(TPM 1.2 & TPM 2) built on libtpms and
provides access to TPM functionality over socket, chardev and CUSE interface.
Github repo: https://github.com/stefanberger/swtpm
Example for starting swtpm on host machine:
    mkdir /tmp/vtpm2
    swtpm socket --tpmstate dir=/tmp/vtpm2 \
    --ctrl type=unixio,path=/tmp/vtpm2/swtpm-sock &

/* Comment about machine name. Will be removed in next version*/
Please reply with the machine name you agree. Below are two possible names:
1. xenpv
2. xenpvh

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 hw/arm/meson.build            |   2 +
 hw/arm/xen_arm.c              | 175 ++++++++++++++++++++++++++++++++++
 include/hw/arm/xen_arch_hvm.h |   9 ++
 include/hw/xen/arch_hvm.h     |   2 +
 4 files changed, 188 insertions(+)
 create mode 100644 hw/arm/xen_arm.c
 create mode 100644 include/hw/arm/xen_arch_hvm.h

diff --git a/hw/arm/meson.build b/hw/arm/meson.build
index 92f9f6e000..0cae024374 100644
--- a/hw/arm/meson.build
+++ b/hw/arm/meson.build
@@ -62,5 +62,7 @@ arm_ss.add(when: 'CONFIG_FSL_IMX7', if_true: files('fsl-imx7.c', 'mcimx7d-sabre.
 arm_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmu-common.c', 'smmuv3.c'))
 arm_ss.add(when: 'CONFIG_FSL_IMX6UL', if_true: files('fsl-imx6ul.c', 'mcimx6ul-evk.c'))
 arm_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_soc.c'))
+arm_ss.add(when: 'CONFIG_XEN', if_true: files('xen_arm.c'))
+arm_ss.add_all(xen_ss)
 
 hw_arch += {'arm': arm_ss}
diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
new file mode 100644
index 0000000000..bcb8e95f2c
--- /dev/null
+++ b/hw/arm/xen_arm.c
@@ -0,0 +1,175 @@
+/*
+ * QEMU ARM Xen PV Machine
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include "qemu/osdep.h"
+#include "qemu/error-report.h"
+#include "qapi/qapi-commands-migration.h"
+#include "hw/boards.h"
+#include "hw/sysbus.h"
+#include "sysemu/block-backend.h"
+#include "sysemu/tpm_backend.h"
+#include "sysemu/sysemu.h"
+#include "hw/xen/xen-legacy-backend.h"
+#include "hw/xen/xen-hvm-common.h"
+#include "sysemu/tpm.h"
+#include "hw/xen/arch_hvm.h"
+
+#define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpv")
+OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
+
+static MemoryListener xen_memory_listener = {
+    .region_add = xen_region_add,
+    .region_del = xen_region_del,
+    .log_start = NULL,
+    .log_stop = NULL,
+    .log_sync = NULL,
+    .log_global_start = NULL,
+    .log_global_stop = NULL,
+    .priority = 10,
+};
+
+struct XenArmState {
+    /*< private >*/
+    MachineState parent;
+
+    XenIOState *state;
+};
+
+void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
+{
+    hw_error("Invalid ioreq type 0x%x\n", req->type);
+
+    return;
+}
+
+void arch_xen_set_memory(XenIOState *state, MemoryRegionSection *section,
+                         bool add)
+{
+}
+
+void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
+{
+}
+
+void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
+{
+}
+
+static int xen_init_ioreq(XenIOState *state, unsigned int max_cpus)
+{
+    xen_dmod = xendevicemodel_open(0, 0);
+    if (xen_dmod == NULL) {
+        perror("xen: can't open xen device model interface\n");
+        return -1;
+    }
+
+    xen_xc = xc_interface_open(0, 0, 0);
+    if (xen_xc == NULL) {
+        perror("xen: can't open xen interface\n");
+        return -1;
+    }
+
+    xen_fmem = xenforeignmemory_open(0, 0);
+    if (xen_fmem == NULL) {
+        perror("xen: can't open xen fmem interface\n");
+        xc_interface_close(xen_xc);
+        return -1;
+    }
+
+    xen_register_ioreq(state, max_cpus, xen_memory_listener);
+
+    xen_register_backend(state);
+
+    xenstore_record_dm_state(state->xenstore, "running");
+
+    return 0;
+}
+
+static void xen_enable_tpm(void)
+{
+/* qemu_find_tpm_be is only available when CONFIG_TPM is enabled. */
+#ifdef CONFIG_TPM
+    Error *errp = NULL;
+    DeviceState *dev;
+    SysBusDevice *busdev;
+
+    TPMBackend *be = qemu_find_tpm_be("tpm0");
+    if (be == NULL) {
+        DPRINTF("Couldn't fine the backend for tpm0\n");
+        return;
+    }
+    dev = qdev_new(TYPE_TPM_TIS_SYSBUS);
+    object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp);
+    object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp);
+    busdev = SYS_BUS_DEVICE(dev);
+    sysbus_realize_and_unref(busdev, &error_fatal);
+    sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE);
+
+    DPRINTF("Connected tpmdev at address 0x%lx\n", GUEST_TPM_BASE);
+#endif
+}
+
+static void xen_arm_init(MachineState *machine)
+{
+    XenArmState *xam = XEN_ARM(machine);
+
+    xam->state =  g_new0(XenIOState, 1);
+
+    /* For now enable IOREQ only for CONFIG_TPM. */
+#ifdef CONFIG_TPM
+    if (xen_init_ioreq(xam->state, machine->smp.cpus)) {
+        return;
+    }
+#endif
+
+    xen_enable_tpm();
+
+    return;
+}
+
+static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
+{
+
+    MachineClass *mc = MACHINE_CLASS(oc);
+    mc->desc = "Xen Para-virtualized PC";
+    mc->init = xen_arm_init;
+    mc->max_cpus = 1;
+
+#ifdef CONFIG_TPM
+    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS);
+#endif
+}
+
+static const TypeInfo xen_arm_machine_type = {
+    .name = TYPE_XEN_ARM,
+    .parent = TYPE_MACHINE,
+    .class_init = xen_arm_machine_class_init,
+    .instance_size = sizeof(XenArmState),
+};
+
+static void xen_arm_machine_register_types(void)
+{
+    type_register_static(&xen_arm_machine_type);
+}
+
+type_init(xen_arm_machine_register_types)
diff --git a/include/hw/arm/xen_arch_hvm.h b/include/hw/arm/xen_arch_hvm.h
new file mode 100644
index 0000000000..8fd645e723
--- /dev/null
+++ b/include/hw/arm/xen_arch_hvm.h
@@ -0,0 +1,9 @@
+#ifndef HW_XEN_ARCH_ARM_HVM_H
+#define HW_XEN_ARCH_ARM_HVM_H
+
+#include <xen/hvm/ioreq.h>
+void arch_handle_ioreq(XenIOState *state, ioreq_t *req);
+void arch_xen_set_memory(XenIOState *state,
+                         MemoryRegionSection *section,
+                         bool add);
+#endif
diff --git a/include/hw/xen/arch_hvm.h b/include/hw/xen/arch_hvm.h
index 26674648d8..c7c515220d 100644
--- a/include/hw/xen/arch_hvm.h
+++ b/include/hw/xen/arch_hvm.h
@@ -1,3 +1,5 @@
 #if defined(TARGET_I386) || defined(TARGET_X86_64)
 #include "hw/i386/xen_arch_hvm.h"
+#elif defined(TARGET_ARM) || defined(TARGET_ARM_64)
+#include "hw/arm/xen_arch_hvm.h"
 #endif
-- 
2.17.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 03:24:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 03:24:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451438.709169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wf0-0000dc-2q; Fri, 02 Dec 2022 03:24:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451438.709169; Fri, 02 Dec 2022 03:24:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0wez-0000dV-VZ; Fri, 02 Dec 2022 03:24:21 +0000
Received: by outflank-mailman (input) for mailman id 451438;
 Fri, 02 Dec 2022 03:24:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p0wey-0000dP-GD
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 03:24:20 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cdc92c9c-71f0-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 04:24:18 +0100 (CET)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by PH7PR12MB8179.namprd12.prod.outlook.com (2603:10b6:510:2b8::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 03:24:14 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb%6]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 03:24:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdc92c9c-71f0-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Juj3fpINQzIJW2roBJXEndmXD0pSU20m44IQn+GzSU+mqABKDfyeMvIkLnqLncT2SGBqhyqWpMTYNKPMGVEwOlGtYNmGD6YqOREetn5zuZZhKNTA2l0Q1Ix4PhhQslRO7rUjjMPuWUkM1Jr7i4eyL0/EmMrZNqceMzVG5Pgfn/8viFFIWuXpyAt5D7Qr+Z3t6QMBthjY2shqe3BVEKGhTPuCW2JnLsVkl8bq/vOD48v4U4HBwvFh2ctn9v+cZaEOdOdUyGUCUQuuNXwMeDe9wCzUa7hZRgNy5hxmzPFYQpGjKfLvMB0IF66TalAz9RYRfsA9Qi6UFrTyVUvd68CV7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Eb+mNe6jWnzw2Goe3qx9uou6gVlSe4Vejc1vXobydxk=;
 b=GjIvdXXo/2wdRyNw5NLoBvV1g53Xe1eWHiaRNdy2M22N3uDenc3uuEoCfg+3RpdEME1hX3tGu0Trvr7sJADn6M4DVnssuRFxa6WRvBdnJ+t9KZ50Ch0g8SrMFS0f79w6R6xAUI/iqbbPXrDjeDX+SVlhumSNDjt4Sz587c2lnghGRxxRF7RiClX8ZjoY6bUeNIktxug7VQDWwxwSijP8CIGCtrI12vGw9EBLaLxCVoR1d2XrbMhs1uUQ+hAhmm3Z7upnD0slO52tqMdfq7lEi1FWPKh1gmGO5KvRl7PAGm5N39Nj7hBGl/kjazoP7LYmj+D/iybjy6JQg25W2zTEdA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Eb+mNe6jWnzw2Goe3qx9uou6gVlSe4Vejc1vXobydxk=;
 b=wjfNliLBqggAkXe0b90N8SxBZF9bzuoROOOh6W2PXyzPkx+rjcXWJcdkOZ3SsxaXTkwiRJY2hWZEShYBHooDfMxPV++UdUlzcY+o+2BL84XNv6+JjKbN09rcxCht2NIkglsnX7Whpub6bc/TIT1RwfXRKmj6DbWO8kvnx8xsPtg=
Content-Type: multipart/mixed;
	boundary="_000_MW3PR12MB44096CC3AD5CD01D6043B0E79F159MW3PR12MB4409namp_"
From: "Garhwal, Vikram" <vikram.garhwal@amd.com>
To: Julien Grall <julien@xen.org>, "qemu-devel@nongnu.org"
	<qemu-devel@nongnu.org>
CC: "Stabellini, Stefano" <stefano.stabellini@amd.com>, Peter Maydell
	<peter.maydell@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
	"open list:ARM TCG CPUs" <qemu-arm@nongnu.org>, "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 10/12] hw/arm: introduce xenpv machine
Thread-Topic: [PATCH v1 10/12] hw/arm: introduce xenpv machine
Thread-Index: AQHY4FQ15RSSddYLF0Kn4xxgJMMxt64RTjOAgEa3YYY=
Date: Fri, 2 Dec 2022 03:24:14 +0000
Message-ID:
 <MW3PR12MB44096CC3AD5CD01D6043B0E79F159@MW3PR12MB4409.namprd12.prod.outlook.com>
References: <20221015050750.4185-1-vikram.garhwal@amd.com>
 <20221015050750.4185-11-vikram.garhwal@amd.com>
 <3e504b1b-197d-b77b-16e1-86530eb3d64c@xen.org>
In-Reply-To: <3e504b1b-197d-b77b-16e1-86530eb3d64c@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
 <MW3PR12MB44096CC3AD5CD01D6043B0E79F159@MW3PR12MB4409.namprd12.prod.outlook.com>
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: MW3PR12MB4409:EE_|PH7PR12MB8179:EE_
x-ms-office365-filtering-correlation-id: 801b36ca-676a-4132-8702-08dad414b020
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 5ahEdauuu7TEWImDK1xIaTCDNPxe1XU8LP15MCw1s+igVuUg5vXcEG9wiLNPwIodZLt0/m/8gwHIU4/C42vHPXRVGkelVMcPQqCkbb1z287CxTXKyrjTW5/SHbHEo03mWghN9VVB3eTntSsN7Hr/YTMZubOe3yk6Q1RYpUTiPhwV19T0wne8jnAHwrTAxRGMLWn20ghWldlJtBJKpArnfE1Z0Blb7+VBFTNWO5P+wD8oPumv3GvBdqYVaNFMGj7G3Q5SmBN0PVqUFw1swxqSy/byI4YXjGkpCXa6/t6m6P2gTkrmypBe/IMIapgCc2blia4OdF7BKWbyv1hCkpXT/X6Pq72Mbh3S6KqqsNQQpsdC1+WW6kdCXoqc5AWK3p+RHp8dwuLV+IU4ocgpNN04oRJrDTrEBfdertwbLXyhm1AYpwSvRKXjjfiRUblhSqKkoB4mUxriUmHsseFG1+8BLjypzeUmc6TsGLuixL7ZVnb3wYKvwD6uRO75EAQJ4YDOhLqXc08DzCpM0UfS/e2kafWYEqm1Zc4LEuVTTwdomY9ef96AU+2aqg536ci/5oi15Ubr2gx3ZTGX0Ij6IVoy/SGlCeULcJlOqlbD2X0eygyeLeDdkNi94vXYXQNE6RCzYfUzYpHVpnc52asVaba//z1o9EXhs+7NAWG5WACUc7zsW8yVvSb8kBmiL65i6Pf4itjJZTvMeOPf4I1uQUA0r7GWDGzW4l867qwyQNssAkw=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(39860400002)(346002)(136003)(376002)(451199015)(2906002)(5660300002)(52536014)(9326002)(8936002)(64756008)(54906003)(8676002)(66946007)(66476007)(66446008)(66556008)(316002)(110136005)(4326008)(33656002)(966005)(41300700001)(76116006)(91956017)(186003)(71200400001)(6506007)(26005)(9686003)(86362001)(55016003)(83380400001)(166002)(38070700005)(478600001)(7696005)(122000001)(53546011)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?Windows-1252?Q?u/k0i9xjBmNGBZvGM4sj5g0lgFiTJf72FTddQ6YGvYUtzpse3Fo1KnIz?=
 =?Windows-1252?Q?+E/djzkSNYG8CpMwlT8V75B1WbOSZDSFCZtUOT/IJhL2wEpdHzr39eRN?=
 =?Windows-1252?Q?MklBSiuOpmup4y1LMJ8MlMsxcxmpD2Xv+2M5BMPnc3p8lu2fKQ4wl8+m?=
 =?Windows-1252?Q?iHnfaTzO2qak/s4MCh/hGD7i6Xz9ukh6YC9KKBv2qvMZJ6e19WQB0PKd?=
 =?Windows-1252?Q?Jy8MQkehR1+DtXSxS0b1gxiauQyLPqWQ01DJy8aS+ZePTwY+FB8fE5RF?=
 =?Windows-1252?Q?q/uX4m2sHf7swJj1H5LYlsRe2sYfjYEYkAEbjO3kqrR0Vn8RMDjrYTys?=
 =?Windows-1252?Q?VhjJ8jtC8UgNv0XJJUBQ7AdF6fY/fBa5kcwPhlLMmgmlBO9tAd8Q8R6R?=
 =?Windows-1252?Q?ZfF4KYQnXZe/H8/15XFwlx9/awbTIVsAjxys8F40zuXH1/uz45JZ08VD?=
 =?Windows-1252?Q?1XLa3RPGa3vqy4pWoyRcxbHFzBJKnjgB3c3GKTzKF5ZQk2hnDrRrWEzV?=
 =?Windows-1252?Q?bslFYETUwJQK5xATfFuaaFnUyD/tdXK3zEQSUeDYXyWN6ElwEZJK1j+M?=
 =?Windows-1252?Q?jVo2M2ocM95aVDp92iISFREyInVAV8ju2ZUjjGnOzNJ5qwy1G/P0+WlT?=
 =?Windows-1252?Q?bMZoaDZla0ge3a45GtuPOSseRwDLgLoQci6sie6fHag4KVwCLkAYxgWN?=
 =?Windows-1252?Q?zQXhlexO+b4y+M24J5NSkpiHhAU3Do9zo7Vvx5kxa8JQgAX9zIRMNmdo?=
 =?Windows-1252?Q?s8GmWBFtzVCagQWgXPCsBQT6+dZPSuRzXwKkq1zBknelKeoAV0c0zqTL?=
 =?Windows-1252?Q?T3oEaPXPpneVtsqvDR0EIwa0LfEMj8Y92qfq/rnO9sQCrlU/ibtRb5DN?=
 =?Windows-1252?Q?qRM2vbW9zEDy8O5WBgreJDFkiNDVetLt4L91wNLmpXsPBplGXGVeuZbo?=
 =?Windows-1252?Q?/bRHK0/dzF+QYpy7AyBDfBszdkEerZBGcZRHBIvprI6k+3fIzt/L8pxH?=
 =?Windows-1252?Q?vSXzKTXPKab8PE6SF5HPGC+Wq3RXdgebc0VyB3I/wd22w4pSDw6JY7OV?=
 =?Windows-1252?Q?bd6FYXfRuLJRDMlZeDz9PFrm5A5jO3DRoFCyclNUXlHdrkRYk8s1eckc?=
 =?Windows-1252?Q?LwRode+/kzMU0CqqMgsfMwcrdj/zgXi8Dlrc8YXOdxUY0c5/Eq7Gpk7T?=
 =?Windows-1252?Q?zoF2GjUNvUyFQCaPsPE3DFvzTLM+7uuV3X4cy2Qvhzlb75M40t2pcdIW?=
 =?Windows-1252?Q?PEKjBoaA2Gglw0HNsLvote+n22oY4yBXbBrK9SkS9vVnZaqcIWyb6hRh?=
 =?Windows-1252?Q?GHuQSzJVZqq/KkOBSlULaqgKDhAhdZx0Q867invRY3ZwLhbk1MfxDcTZ?=
 =?Windows-1252?Q?L8HL2V31gwQdVFwdzgJVH23B55xh+5KG2uTHrwsmXxVOVTBcJiBOoosP?=
 =?Windows-1252?Q?Mfb7G/kPkyMgxFn69V0XmRwulmkeDxtRq3AvoiJXbzU+wTtTe/TxlBJf?=
 =?Windows-1252?Q?d1pTs2EWZU5Ue+fv1GstivLyHcTv2Cq6gT+dDUpSkbTpr35RhSko1IRD?=
 =?Windows-1252?Q?AUXP2k0bC8i4F2H7p67eTVOdm5tBAdcFKfHsvyVbgzQAtVAOat+BNbmy?=
 =?Windows-1252?Q?wMlCc2bEXmCsPzEZw9RedguzipjjDe49bdn/1GcS8CzQdIP5N77u0X5M?=
 =?Windows-1252?Q?Zuby2VvWwEQWPsjXt5DOmra2cAbJ/ZwQE30ud0yDg7fUJdOsRGYB2g?=
 =?Windows-1252?Q?=3D=3D?=
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 801b36ca-676a-4132-8702-08dad414b020
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 03:24:14.5389
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: LFXM7nznxkq9SOEW41CgvtU2StrYF/XMegIv+mtbw2Ig4s1zpHiw/bnczn4Jjo4qm4ht5X7SzQFm9N3/0D1RIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8179

--_000_MW3PR12MB44096CC3AD5CD01D6043B0E79F159MW3PR12MB4409namp_
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable

Hi Julien,

From: Julien Grall <julien@xen.org>
Date: Sunday, October 16, 2022 at 10:48 AM
To: Garhwal, Vikram <vikram.garhwal@amd.com>, qemu-devel@nongnu.org <qemu-d=
evel@nongnu.org>
Cc: Stabellini, Stefano <stefano.stabellini@amd.com>, Peter Maydell <peter.=
maydell@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>, Anthony P=
erard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, open list:A=
RM TCG CPUs <qemu-arm@nongnu.org>, open list:X86 Xen CPUs <xen-devel@lists.=
xenproject.org>
Subject: Re: [PATCH v1 10/12] hw/arm: introduce xenpv machine
Hi,

There seem to be some missing patches on xen-devel (including the cover
letter). Is that expected?
Not sure what went wrong there. I can see all of these on QEMU-devel. Perha=
ps xen-devel is not in maintainer=92s list for all the xen files?


On 15/10/2022 06:07, Vikram Garhwal wrote:
> Add a new machine xenpv which creates a IOREQ server to register/connect =
with
> Xen Hypervisor.

I don't like the name 'xenpv' because it doesn't convey the fact that
some of the HW may be emulated rather than para-virtualized. In fact one
may only want to use for emulating devices.

Potential name would be 'xen-arm' or re-using 'virt' but with
'accel=3Dxen' to select a Xen layout.

>
> Xen IOREQ connection expect the TARGET_PAGE_SIZE to 4096, and the xenpv m=
achine
> on ARM will have no CPU definitions. We need to define TARGET_PAGE_SIZE
> appropriately ourselves.
>
> Optional: When CONFIG_TPM is enabled, it also creates a tpm-tis-device, a=
dds a
> TPM emulator and connects to swtpm running on host machine via chardev so=
cket
> and support TPM functionalities for a guest domain.
>
> Extra command line for aarch64 xenpv QEMU to connect to swtpm:
>      -chardev socket,id=3Dchrtpm,path=3D/tmp/myvtpm2/swtpm-sock \
>      -tpmdev emulator,id=3Dtpm0,chardev=3Dchrtpm \
>
> swtpm implements a TPM software emulator(TPM 1.2 & TPM 2) built on libtpm=
s and
> provides access to TPM functionality over socket, chardev and CUSE interf=
ace.
> Github repo: https://github.com/stefanberger/swtpm
> Example for starting swtpm on host machine:
>      mkdir /tmp/vtpm2
>      swtpm socket --tpmstate dir=3D/tmp/vtpm2 \
>      --ctrl type=3Dunixio,path=3D/tmp/vtpm2/swtpm-sock &

I see patches for QEMU but not Xen. How can this be tested with existing
Xen? Will libxl ever create QEMU?
Will send the patch for libxl Xen separately.


[...]

> +static int xen_init_ioreq(XenIOState *state, unsigned int max_cpus)
> +{
> +    xen_dmod =3D xendevicemodel_open(0, 0);
> +    xen_xc =3D xc_interface_open(0, 0, 0);
> +
> +    if (xen_xc =3D=3D NULL) {

You are checking xen_xc but not xen_dmod. Why?

> +        perror("xen: can't open xen interface\n");
> +        return -1;
> +    }
> +
> +    xen_fmem =3D xenforeignmemory_open(0, 0);
> +    if (xen_fmem =3D=3D NULL) {
> +        perror("xen: can't open xen fmem interface\n");
> +        xc_interface_close(xen_xc);
> +        return -1;
> +    }
> +
> +    xen_register_ioreq(state, max_cpus, xen_memory_listener);
> +
> +    xenstore_record_dm_state(xenstore, "running");
> +
> +    return 0;
> +}
> +
> +static void xen_enable_tpm(void)
> +{
> +/* qemu_find_tpm_be is only available when CONFIG_TPM is enabled. */
> +#ifdef CONFIG_TPM
> +    Error *errp =3D NULL;
> +    DeviceState *dev;
> +    SysBusDevice *busdev;
> +
> +    TPMBackend *be =3D qemu_find_tpm_be("tpm0");
> +    if (be =3D=3D NULL) {
> +        DPRINTF("Couldn't fine the backend for tpm0\n");
> +        return;
> +    }
> +    dev =3D qdev_new(TYPE_TPM_TIS_SYSBUS);
> +    object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp);
> +    object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp);
> +    busdev =3D SYS_BUS_DEVICE(dev);
> +    sysbus_realize_and_unref(busdev, &error_fatal);
> +    sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE);

I can't find where GUEST_TPM_BASE is defined. But then the guest memory
layout is not expected to be stable. With your current approach, it
means QEMU would need to be rebuilt for every Xen version. Is it what we
want?
I cannot think of better way to do this. Either we add the the def here or =
rebuild it if GUEST_TPM_BASE changes for each xen version.



> +
> +    DPRINTF("Connected tpmdev at address 0x%lx\n", GUEST_TPM_BASE);
> +#endif
> +}
> +
> +static void xen_arm_init(MachineState *machine)
> +{
> +    XenArmState *xam =3D XEN_ARM(machine);
> +
> +    xam->state =3D  g_new0(XenIOState, 1);
> +
> +    if (xen_init_ioreq(xam->state, machine->smp.cpus)) {
> +        return;

In another patch, you said the IOREQ would be optional. IHMO, I think
this is a bad idea to register it by default because one may only want
to use PV drivers. Registering IOREQ will add unnecessary overhead in Xen.

Furthermore, it means that someone selecting TPM but Xen is not built
with CONFIG_IOREQ=3Dy (BTW This is still a tech preview but there are
security holes on Arm...) will not get an error. Instead, the OS will
until it crashes when trying to access the TPM.

Overall I think it would be better if IOREQ is only registered when a
device requires (like TPM) it *and* throw an error if there is a problem
during the initialization.


> +    } > +
> +    xen_enable_tpm();
> +
> +    return;
> +}
> +
> +static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
> +{
> +
> +    MachineClass *mc =3D MACHINE_CLASS(oc);
> +    mc->desc =3D "Xen Para-virtualized PC";
> +    mc->init =3D xen_arm_init;
> +    mc->max_cpus =3D 1;
> +    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS);

Shouldn't this be protected with #ifdef CONFIG_TPM?

> +}
> +
> +static const TypeInfo xen_arm_machine_type =3D {
> +    .name =3D TYPE_XEN_ARM,
> +    .parent =3D TYPE_MACHINE,
> +    .class_init =3D xen_arm_machine_class_init,
> +    .instance_size =3D sizeof(XenArmState),
> +};
> +
> +static void xen_arm_machine_register_types(void)
> +{
> +    type_register_static(&xen_arm_machine_type);
> +}
> +
> +type_init(xen_arm_machine_register_types)
> diff --git a/include/hw/arm/xen_arch_hvm.h b/include/hw/arm/xen_arch_hvm.=
h
> new file mode 100644
> index 0000000000..f645dfec28
> --- /dev/null
> +++ b/include/hw/arm/xen_arch_hvm.h
> @@ -0,0 +1,12 @@
> +#ifndef HW_XEN_ARCH_ARM_HVM_H
> +#define HW_XEN_ARCH_ARM_HVM_H
> +
> +#include <xen/hvm/ioreq.h>
> +void arch_handle_ioreq(XenIOState *state, ioreq_t *req);
> +void arch_xen_set_memory(XenIOState *state,
> +                         MemoryRegionSection *section,
> +                         bool add);
> +
> +#undef TARGET_PAGE_SIZE

I am a bit puzzled with this #undef. In the commit message you said that
there will be no CPU definition. So the implications is this should not
be defined.

If it is defined, then what guarantees that all the source will use the
correct value?


> +#define TARGET_PAGE_SIZE 4096

It would be better to use XC_PAGE_SIZE (or similar) rather than
hardcoding it.
Corrected this and sent a v2.


> +#endif
> diff --git a/include/hw/xen/arch_hvm.h b/include/hw/xen/arch_hvm.h
> index 26674648d8..c7c515220d 100644
> --- a/include/hw/xen/arch_hvm.h
> +++ b/include/hw/xen/arch_hvm.h
> @@ -1,3 +1,5 @@
>   #if defined(TARGET_I386) || defined(TARGET_X86_64)
>   #include "hw/i386/xen_arch_hvm.h"
> +#elif defined(TARGET_ARM) || defined(TARGET_ARM_64)
> +#include "hw/arm/xen_arch_hvm.h"
>   #endif

Cheers,

--
Julien Grall

--_000_MW3PR12MB44096CC3AD5CD01D6043B0E79F159MW3PR12MB4409namp_
Content-Disposition: attachment; filename="winmail.dat"
Content-Transfer-Encoding: base64
Content-Type: application/ms-tnef; name="winmail.dat"

eJ8+IhkvAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEJgAEAIQAAADRERDUxM0FB
M0I0QjMyNDNCQUNDRTE3OTRBRkU1ODI3AFMHAQ2ABAACAAAAAgACAAEFgAMADgAAAOYHDAACAAMA
GAAOAAUAKQEBIIADAA4AAADmBwwAAgADABgADgAFACkBAQiABwAYAAAASVBNLk1pY3Jvc29mdCBN
YWlsLk5vdGUAMQgBBIABADUAAABSZTogW1BBVENIIHYxIDEwLzEyXSBody9hcm06IGludHJvZHVj
ZSB4ZW5wdiBtYWNoaW5lAO4QAQOQBgDkZAAAYQAAAAIBfwABAAAAUQAAADxNVzNQUjEyTUI0NDA5
NkNDM0FENUNEMDFENjA0M0IwRTc5RjE1OUBNVzNQUjEyTUI0NDA5Lm5hbXByZDEyLnByb2Qub3V0
bG9vay5jb20+AAAAAAIBExABAAAAzTAAADxodG1sIHhtbG5zOm89InVybjpzY2hlbWFzLW1pY3Jv
c29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNv
bTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZp
Y2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvVFIvUkVDLWh0bWw0MCI+
PGhlYWQ+DQo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRt
bDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29udGVudD0i
TWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPjxzdHlsZT48IS0tDQovKiBGb250
IERlZmluaXRpb25zICovDQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJDYW1icmlhIE1hdGgi
Ow0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZh
bWlseTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30NCi8qIFN0eWxl
IERlZmluaXRpb25zICovDQpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFs
DQoJe21hcmdpbjowaW47DQoJZm9udC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJy
aSIsc2Fucy1zZXJpZjt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1w
cmlvcml0eTo5OTsNCgljb2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0K
Lk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXpl
OjEwLjBwdDt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo4LjVpbiAxMS4waW47DQoJbWFy
Z2luOjEuMGluIDEuMGluIDEuMGluIDEuMGluO30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpX
b3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48L2hlYWQ+PGJvZHkgbGFuZz0iRU4tVVMiIGxpbms9
ImJsdWUiIHZsaW5rPSJwdXJwbGUiIHN0eWxlPSJ3b3JkLXdyYXA6YnJlYWstd29yZCI+PGRpdiBj
bGFzcz0iV29yZFNlY3Rpb24xIj48cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdCI+SGkgSnVsaWVuLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286
cD48L3NwYW4+PC9wPjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0I1
QzRERiAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGluIj48cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OjBpbjttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1i
b3R0b206MTIuMHB0O21hcmdpbi1sZWZ0Oi41aW4iPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTIuMHB0O2NvbG9yOmJsYWNrIj5Gcm9tOiA8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTIuMHB0O2NvbG9yOmJsYWNrIj5KdWxpZW4gR3JhbGwgJmx0O2p1bGllbkB4ZW4ub3JnJmd0
Ozxicj48Yj5EYXRlOiA8L2I+U3VuZGF5LCBPY3RvYmVyIDE2LCAyMDIyIGF0IDEwOjQ4IEFNPGJy
PjxiPlRvOiA8L2I+R2FyaHdhbCwgVmlrcmFtICZsdDt2aWtyYW0uZ2FyaHdhbEBhbWQuY29tJmd0
OywgcWVtdS1kZXZlbEBub25nbnUub3JnICZsdDtxZW11LWRldmVsQG5vbmdudS5vcmcmZ3Q7PGJy
PjxiPkNjOiA8L2I+U3RhYmVsbGluaSwgU3RlZmFubyAmbHQ7c3RlZmFuby5zdGFiZWxsaW5pQGFt
ZC5jb20mZ3Q7LCBQZXRlciBNYXlkZWxsICZsdDtwZXRlci5tYXlkZWxsQGxpbmFyby5vcmcmZ3Q7
LCBTdGVmYW5vIFN0YWJlbGxpbmkgJmx0O3NzdGFiZWxsaW5pQGtlcm5lbC5vcmcmZ3Q7LCBBbnRo
b255IFBlcmFyZCAmbHQ7YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbSZndDssIFBhdWwgRHVycmFu
dCAmbHQ7cGF1bEB4ZW4ub3JnJmd0Oywgb3BlbiBsaXN0OkFSTSBUQ0cgQ1BVcyAmbHQ7cWVtdS1h
cm1Abm9uZ251Lm9yZyZndDssIG9wZW4gbGlzdDpYODYgWGVuIENQVXMgJmx0O3hlbi1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZyZndDs8YnI+PGI+U3ViamVjdDogPC9iPlJlOiBbUEFUQ0ggdjEg
MTAvMTJdIGh3L2FybTogaW50cm9kdWNlIHhlbnB2IG1hY2hpbmU8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+PC9kaXY+PGRpdj48cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVp
biI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkhpLDxicj48YnI+VGhlcmUgc2VlbSB0
byBiZSBzb21lIG1pc3NpbmcgcGF0Y2hlcyBvbiB4ZW4tZGV2ZWwgKGluY2x1ZGluZyB0aGUgY292
ZXIgPGJyPmxldHRlcikuIElzIHRoYXQgZXhwZWN0ZWQ/PG86cD48L286cD48L3NwYW4+PC9wPjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5Ob3Qgc3Vy
ZSB3aGF0IHdlbnQgd3JvbmcgdGhlcmUuIEkgY2FuIHNlZSBhbGwgb2YgdGhlc2Ugb24gUUVNVS1k
ZXZlbC4gUGVyaGFwcyB4ZW4tZGV2ZWwgaXMgbm90IGluIG1haW50YWluZXKScyBsaXN0IGZvciBh
bGwgdGhlIHhlbiBmaWxlcz88bzpwPjwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
Ij48YnI+PGJyPk9uIDE1LzEwLzIwMjIgMDY6MDcsIFZpa3JhbSBHYXJod2FsIHdyb3RlOjxicj4m
Z3Q7IEFkZCBhIG5ldyBtYWNoaW5lIHhlbnB2IHdoaWNoIGNyZWF0ZXMgYSBJT1JFUSBzZXJ2ZXIg
dG8gcmVnaXN0ZXIvY29ubmVjdCB3aXRoPGJyPiZndDsgWGVuIEh5cGVydmlzb3IuPGJyPjxicj5J
IGRvbid0IGxpa2UgdGhlIG5hbWUgJ3hlbnB2JyBiZWNhdXNlIGl0IGRvZXNuJ3QgY29udmV5IHRo
ZSBmYWN0IHRoYXQgPGJyPnNvbWUgb2YgdGhlIEhXIG1heSBiZSBlbXVsYXRlZCByYXRoZXIgdGhh
biBwYXJhLXZpcnR1YWxpemVkLiBJbiBmYWN0IG9uZSA8YnI+bWF5IG9ubHkgd2FudCB0byB1c2Ug
Zm9yIGVtdWxhdGluZyBkZXZpY2VzLjxicj48YnI+UG90ZW50aWFsIG5hbWUgd291bGQgYmUgJ3hl
bi1hcm0nIG9yIHJlLXVzaW5nICd2aXJ0JyBidXQgd2l0aCA8YnI+J2FjY2VsPXhlbicgdG8gc2Vs
ZWN0IGEgWGVuIGxheW91dC48YnI+PGJyPiZndDsgPGJyPiZndDsgWGVuIElPUkVRIGNvbm5lY3Rp
b24gZXhwZWN0IHRoZSBUQVJHRVRfUEFHRV9TSVpFIHRvIDQwOTYsIGFuZCB0aGUgeGVucHYgbWFj
aGluZTxicj4mZ3Q7IG9uIEFSTSB3aWxsIGhhdmUgbm8gQ1BVIGRlZmluaXRpb25zLiBXZSBuZWVk
IHRvIGRlZmluZSBUQVJHRVRfUEFHRV9TSVpFPGJyPiZndDsgYXBwcm9wcmlhdGVseSBvdXJzZWx2
ZXMuPGJyPiZndDsgPGJyPiZndDsgT3B0aW9uYWw6IFdoZW4gQ09ORklHX1RQTSBpcyBlbmFibGVk
LCBpdCBhbHNvIGNyZWF0ZXMgYSB0cG0tdGlzLWRldmljZSwgYWRkcyBhPGJyPiZndDsgVFBNIGVt
dWxhdG9yIGFuZCBjb25uZWN0cyB0byBzd3RwbSBydW5uaW5nIG9uIGhvc3QgbWFjaGluZSB2aWEg
Y2hhcmRldiBzb2NrZXQ8YnI+Jmd0OyBhbmQgc3VwcG9ydCBUUE0gZnVuY3Rpb25hbGl0aWVzIGZv
ciBhIGd1ZXN0IGRvbWFpbi48YnI+Jmd0OyA8YnI+Jmd0OyBFeHRyYSBjb21tYW5kIGxpbmUgZm9y
IGFhcmNoNjQgeGVucHYgUUVNVSB0byBjb25uZWN0IHRvIHN3dHBtOjxicj4mZ3Q7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC1jaGFyZGV2IHNvY2tldCxpZD1jaHJ0cG0scGF0aD0vdG1w
L215dnRwbTIvc3d0cG0tc29jayBcPGJyPiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsgLXRwbWRldiBlbXVsYXRvcixpZD10cG0wLGNoYXJkZXY9Y2hydHBtIFw8YnI+Jmd0OyA8YnI+
Jmd0OyBzd3RwbSBpbXBsZW1lbnRzIGEgVFBNIHNvZnR3YXJlIGVtdWxhdG9yKFRQTSAxLjIgJmFt
cDsgVFBNIDIpIGJ1aWx0IG9uIGxpYnRwbXMgYW5kPGJyPiZndDsgcHJvdmlkZXMgYWNjZXNzIHRv
IFRQTSBmdW5jdGlvbmFsaXR5IG92ZXIgc29ja2V0LCBjaGFyZGV2IGFuZCBDVVNFIGludGVyZmFj
ZS48YnI+Jmd0OyBHaXRodWIgcmVwbzogPC9zcGFuPjxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNv
bS9zdGVmYW5iZXJnZXIvc3d0cG0iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5odHRw
czovL2dpdGh1Yi5jb20vc3RlZmFuYmVyZ2VyL3N3dHBtPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdCI+PGJyPiZndDsgRXhhbXBsZSBmb3Igc3RhcnRpbmcgc3d0cG0gb24g
aG9zdCBtYWNoaW5lOjxicj4mZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IG1rZGly
IC90bXAvdnRwbTI8YnI+Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBzd3RwbSBz
b2NrZXQgLS10cG1zdGF0ZSBkaXI9L3RtcC92dHBtMiBcPGJyPiZndDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgLS1jdHJsIHR5cGU9dW5peGlvLHBhdGg9L3RtcC92dHBtMi9zd3RwbS1z
b2NrICZhbXA7PGJyPjxicj5JIHNlZSBwYXRjaGVzIGZvciBRRU1VIGJ1dCBub3QgWGVuLiBIb3cg
Y2FuIHRoaXMgYmUgdGVzdGVkIHdpdGggZXhpc3RpbmcgPGJyPlhlbj8gV2lsbCBsaWJ4bCBldmVy
IGNyZWF0ZSBRRU1VPzxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+V2lsbCBzZW5kIHRoZSBwYXRjaCBmb3IgbGli
eGwgWGVuIHNlcGFyYXRlbHkuPG86cD48L286cD48L3NwYW4+PC9wPjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+PGJyPjxicj5bLi4uXTxicj48YnI+Jmd0OyArc3RhdGljIGludCB4ZW5faW5pdF9pb3JlcShY
ZW5JT1N0YXRlICpzdGF0ZSwgdW5zaWduZWQgaW50IG1heF9jcHVzKTxicj4mZ3Q7ICt7PGJyPiZn
dDsgKyZuYnNwOyZuYnNwOyZuYnNwOyB4ZW5fZG1vZCA9IHhlbmRldmljZW1vZGVsX29wZW4oMCwg
MCk7PGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyB4ZW5feGMgPSB4Y19pbnRlcmZhY2Vfb3Bl
bigwLCAwLCAwKTs8YnI+Jmd0OyArPGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoeGVu
X3hjID09IE5VTEwpIHs8YnI+PGJyPllvdSBhcmUgY2hlY2tpbmcgeGVuX3hjIGJ1dCBub3QgeGVu
X2Rtb2QuIFdoeT88YnI+PGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyBwZXJyb3IoJnF1b3Q7eGVuOiBjYW4ndCBvcGVuIHhlbiBpbnRlcmZhY2VcbiZx
dW90Oyk7PGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyByZXR1cm4gLTE7PGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPiZndDsgKzxicj4m
Z3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsgeGVuX2ZtZW0gPSB4ZW5mb3JlaWdubWVtb3J5X29wZW4o
MCwgMCk7PGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAoeGVuX2ZtZW0gPT0gTlVMTCkg
ezxicj4mZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcGVy
cm9yKCZxdW90O3hlbjogY2FuJ3Qgb3BlbiB4ZW4gZm1lbSBpbnRlcmZhY2VcbiZxdW90Oyk7PGJy
PiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB4Y19pbnRl
cmZhY2VfY2xvc2UoeGVuX3hjKTs8YnI+Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHJldHVybiAtMTs8YnI+Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IH08
YnI+Jmd0OyArPGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyB4ZW5fcmVnaXN0ZXJfaW9yZXEo
c3RhdGUsIG1heF9jcHVzLCB4ZW5fbWVtb3J5X2xpc3RlbmVyKTs8YnI+Jmd0OyArPGJyPiZndDsg
KyZuYnNwOyZuYnNwOyZuYnNwOyB4ZW5zdG9yZV9yZWNvcmRfZG1fc3RhdGUoeGVuc3RvcmUsICZx
dW90O3J1bm5pbmcmcXVvdDspOzxicj4mZ3Q7ICs8YnI+Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7
IHJldHVybiAwOzxicj4mZ3Q7ICt9PGJyPiZndDsgKzxicj4mZ3Q7ICtzdGF0aWMgdm9pZCB4ZW5f
ZW5hYmxlX3RwbSh2b2lkKTxicj4mZ3Q7ICt7PGJyPiZndDsgKy8qIHFlbXVfZmluZF90cG1fYmUg
aXMgb25seSBhdmFpbGFibGUgd2hlbiBDT05GSUdfVFBNIGlzIGVuYWJsZWQuICovPGJyPiZndDsg
KyNpZmRlZiBDT05GSUdfVFBNPGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyBFcnJvciAqZXJy
cCA9IE5VTEw7PGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyBEZXZpY2VTdGF0ZSAqZGV2Ozxi
cj4mZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsgU3lzQnVzRGV2aWNlICpidXNkZXY7PGJyPiZndDsg
Kzxicj4mZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsgVFBNQmFja2VuZCAqYmUgPSBxZW11X2ZpbmRf
dHBtX2JlKCZxdW90O3RwbTAmcXVvdDspOzxicj4mZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsgaWYg
KGJlID09IE5VTEwpIHs8YnI+Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7IERQUklOVEYoJnF1b3Q7Q291bGRuJ3QgZmluZSB0aGUgYmFja2VuZCBmb3IgdHBt
MFxuJnF1b3Q7KTs8YnI+Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7IHJldHVybjs8YnI+Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+Jmd0OyArJm5i
c3A7Jm5ic3A7Jm5ic3A7IGRldiA9IHFkZXZfbmV3KFRZUEVfVFBNX1RJU19TWVNCVVMpOzxicj4m
Z3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsgb2JqZWN0X3Byb3BlcnR5X3NldF9saW5rKE9CSkVDVChk
ZXYpLCAmcXVvdDt0cG1kZXYmcXVvdDssIE9CSkVDVChiZSksICZhbXA7ZXJycCk7PGJyPiZndDsg
KyZuYnNwOyZuYnNwOyZuYnNwOyBvYmplY3RfcHJvcGVydHlfc2V0X3N0cihPQkpFQ1QoZGV2KSwg
JnF1b3Q7dHBtZGV2JnF1b3Q7LCBiZS0mZ3Q7aWQsICZhbXA7ZXJycCk7PGJyPiZndDsgKyZuYnNw
OyZuYnNwOyZuYnNwOyBidXNkZXYgPSBTWVNfQlVTX0RFVklDRShkZXYpOzxicj4mZ3Q7ICsmbmJz
cDsmbmJzcDsmbmJzcDsgc3lzYnVzX3JlYWxpemVfYW5kX3VucmVmKGJ1c2RldiwgJmFtcDtlcnJv
cl9mYXRhbCk7PGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyBzeXNidXNfbW1pb19tYXAoYnVz
ZGV2LCAwLCBHVUVTVF9UUE1fQkFTRSk7PGJyPjxicj5JIGNhbid0IGZpbmQgd2hlcmUgR1VFU1Rf
VFBNX0JBU0UgaXMgZGVmaW5lZC4gQnV0IHRoZW4gdGhlIGd1ZXN0IG1lbW9yeSA8YnI+bGF5b3V0
IGlzIG5vdCBleHBlY3RlZCB0byBiZSBzdGFibGUuIFdpdGggeW91ciBjdXJyZW50IGFwcHJvYWNo
LCBpdCA8YnI+bWVhbnMgUUVNVSB3b3VsZCBuZWVkIHRvIGJlIHJlYnVpbHQgZm9yIGV2ZXJ5IFhl
biB2ZXJzaW9uLiBJcyBpdCB3aGF0IHdlIDxicj53YW50PzxvOnA+PC9vOnA+PC9zcGFuPjwvcD48
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+SSBjYW5u
b3QgdGhpbmsgb2YgYmV0dGVyIHdheSB0byBkbyB0aGlzLiBFaXRoZXIgd2UgYWRkIHRoZSB0aGUg
ZGVmIGhlcmUgb3IgcmVidWlsZCBpdCBpZiBHVUVTVF9UUE1fQkFTRSBjaGFuZ2VzIGZvciBlYWNo
IHhlbiB2ZXJzaW9uLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w
PjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tbGVmdDouNWluIj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdCI+PGJyPjxicj4mZ3Q7ICs8YnI+Jmd0OyArJm5ic3A7Jm5ic3A7
Jm5ic3A7IERQUklOVEYoJnF1b3Q7Q29ubmVjdGVkIHRwbWRldiBhdCBhZGRyZXNzIDB4JWx4XG4m
cXVvdDssIEdVRVNUX1RQTV9CQVNFKTs8YnI+Jmd0OyArI2VuZGlmPGJyPiZndDsgK308YnI+Jmd0
OyArPGJyPiZndDsgK3N0YXRpYyB2b2lkIHhlbl9hcm1faW5pdChNYWNoaW5lU3RhdGUgKm1hY2hp
bmUpPGJyPiZndDsgK3s8YnI+Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IFhlbkFybVN0YXRlICp4
YW0gPSBYRU5fQVJNKG1hY2hpbmUpOzxicj4mZ3Q7ICs8YnI+Jmd0OyArJm5ic3A7Jm5ic3A7Jm5i
c3A7IHhhbS0mZ3Q7c3RhdGUgPSZuYnNwOyBnX25ldzAoWGVuSU9TdGF0ZSwgMSk7PGJyPiZndDsg
Kzxicj4mZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKHhlbl9pbml0X2lvcmVxKHhhbS0mZ3Q7
c3RhdGUsIG1hY2hpbmUtJmd0O3NtcC5jcHVzKSkgezxicj4mZ3Q7ICsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuOzxicj48YnI+SW4gYW5vdGhlciBwYXRj
aCwgeW91IHNhaWQgdGhlIElPUkVRIHdvdWxkIGJlIG9wdGlvbmFsLiBJSE1PLCBJIHRoaW5rIDxi
cj50aGlzIGlzIGEgYmFkIGlkZWEgdG8gcmVnaXN0ZXIgaXQgYnkgZGVmYXVsdCBiZWNhdXNlIG9u
ZSBtYXkgb25seSB3YW50IDxicj50byB1c2UgUFYgZHJpdmVycy4gUmVnaXN0ZXJpbmcgSU9SRVEg
d2lsbCBhZGQgdW5uZWNlc3Nhcnkgb3ZlcmhlYWQgaW4gWGVuLjxicj48YnI+RnVydGhlcm1vcmUs
IGl0IG1lYW5zIHRoYXQgc29tZW9uZSBzZWxlY3RpbmcgVFBNIGJ1dCBYZW4gaXMgbm90IGJ1aWx0
IDxicj53aXRoIENPTkZJR19JT1JFUT15IChCVFcgVGhpcyBpcyBzdGlsbCBhIHRlY2ggcHJldmll
dyBidXQgdGhlcmUgYXJlIDxicj5zZWN1cml0eSBob2xlcyBvbiBBcm0uLi4pIHdpbGwgbm90IGdl
dCBhbiBlcnJvci4gSW5zdGVhZCwgdGhlIE9TIHdpbGwgPGJyPnVudGlsIGl0IGNyYXNoZXMgd2hl
biB0cnlpbmcgdG8gYWNjZXNzIHRoZSBUUE0uPGJyPjxicj5PdmVyYWxsIEkgdGhpbmsgaXQgd291
bGQgYmUgYmV0dGVyIGlmIElPUkVRIGlzIG9ubHkgcmVnaXN0ZXJlZCB3aGVuIGEgPGJyPmRldmlj
ZSByZXF1aXJlcyAobGlrZSBUUE0pIGl0ICphbmQqIHRocm93IGFuIGVycm9yIGlmIHRoZXJlIGlz
IGEgcHJvYmxlbSA8YnI+ZHVyaW5nIHRoZSBpbml0aWFsaXphdGlvbi48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1hcmdpbi1sZWZ0Oi41aW4iPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48YnI+PGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNw
OyB9ICZndDsgKzxicj4mZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsgeGVuX2VuYWJsZV90cG0oKTs8
YnI+Jmd0OyArPGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm47PGJyPiZndDsgK308
YnI+Jmd0OyArPGJyPiZndDsgK3N0YXRpYyB2b2lkIHhlbl9hcm1fbWFjaGluZV9jbGFzc19pbml0
KE9iamVjdENsYXNzICpvYywgdm9pZCAqZGF0YSk8YnI+Jmd0OyArezxicj4mZ3Q7ICs8YnI+Jmd0
OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IE1hY2hpbmVDbGFzcyAqbWMgPSBNQUNISU5FX0NMQVNTKG9j
KTs8YnI+Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IG1jLSZndDtkZXNjID0gJnF1b3Q7WGVuIFBh
cmEtdmlydHVhbGl6ZWQgUEMmcXVvdDs7PGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyBtYy0m
Z3Q7aW5pdCA9IHhlbl9hcm1faW5pdDs8YnI+Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IG1jLSZn
dDttYXhfY3B1cyA9IDE7PGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyBtYWNoaW5lX2NsYXNz
X2FsbG93X2R5bmFtaWNfc3lzYnVzX2RldihtYywgVFlQRV9UUE1fVElTX1NZU0JVUyk7PGJyPjxi
cj5TaG91bGRuJ3QgdGhpcyBiZSBwcm90ZWN0ZWQgd2l0aCAjaWZkZWYgQ09ORklHX1RQTT88YnI+
PGJyPiZndDsgK308YnI+Jmd0OyArPGJyPiZndDsgK3N0YXRpYyBjb25zdCBUeXBlSW5mbyB4ZW5f
YXJtX21hY2hpbmVfdHlwZSA9IHs8YnI+Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IC5uYW1lID0g
VFlQRV9YRU5fQVJNLDxicj4mZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsgLnBhcmVudCA9IFRZUEVf
TUFDSElORSw8YnI+Jmd0OyArJm5ic3A7Jm5ic3A7Jm5ic3A7IC5jbGFzc19pbml0ID0geGVuX2Fy
bV9tYWNoaW5lX2NsYXNzX2luaXQsPGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyAuaW5zdGFu
Y2Vfc2l6ZSA9IHNpemVvZihYZW5Bcm1TdGF0ZSksPGJyPiZndDsgK307PGJyPiZndDsgKzxicj4m
Z3Q7ICtzdGF0aWMgdm9pZCB4ZW5fYXJtX21hY2hpbmVfcmVnaXN0ZXJfdHlwZXModm9pZCk8YnI+
Jmd0OyArezxicj4mZ3Q7ICsmbmJzcDsmbmJzcDsmbmJzcDsgdHlwZV9yZWdpc3Rlcl9zdGF0aWMo
JmFtcDt4ZW5fYXJtX21hY2hpbmVfdHlwZSk7PGJyPiZndDsgK308YnI+Jmd0OyArPGJyPiZndDsg
K3R5cGVfaW5pdCh4ZW5fYXJtX21hY2hpbmVfcmVnaXN0ZXJfdHlwZXMpPGJyPiZndDsgZGlmZiAt
LWdpdCBhL2luY2x1ZGUvaHcvYXJtL3hlbl9hcmNoX2h2bS5oIGIvaW5jbHVkZS9ody9hcm0veGVu
X2FyY2hfaHZtLmg8YnI+Jmd0OyBuZXcgZmlsZSBtb2RlIDEwMDY0NDxicj4mZ3Q7IGluZGV4IDAw
MDAwMDAwMDAuLmY2NDVkZmVjMjg8YnI+Jmd0OyAtLS0gL2Rldi9udWxsPGJyPiZndDsgKysrIGIv
aW5jbHVkZS9ody9hcm0veGVuX2FyY2hfaHZtLmg8YnI+Jmd0OyBAQCAtMCwwICsxLDEyIEBAPGJy
PiZndDsgKyNpZm5kZWYgSFdfWEVOX0FSQ0hfQVJNX0hWTV9IPGJyPiZndDsgKyNkZWZpbmUgSFdf
WEVOX0FSQ0hfQVJNX0hWTV9IPGJyPiZndDsgKzxicj4mZ3Q7ICsjaW5jbHVkZSAmbHQ7eGVuL2h2
bS9pb3JlcS5oJmd0Ozxicj4mZ3Q7ICt2b2lkIGFyY2hfaGFuZGxlX2lvcmVxKFhlbklPU3RhdGUg
KnN0YXRlLCBpb3JlcV90ICpyZXEpOzxicj4mZ3Q7ICt2b2lkIGFyY2hfeGVuX3NldF9tZW1vcnko
WGVuSU9TdGF0ZSAqc3RhdGUsPGJyPiZndDsgKyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyBNZW1vcnlSZWdpb25TZWN0aW9uICpzZWN0aW9uLDxicj4mZ3Q7ICsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgYm9vbCBhZGQpOzxicj4mZ3Q7ICs8YnI+Jmd0OyArI3VuZGVmIFRBUkdF
VF9QQUdFX1NJWkU8YnI+PGJyPkkgYW0gYSBiaXQgcHV6emxlZCB3aXRoIHRoaXMgI3VuZGVmLiBJ
biB0aGUgY29tbWl0IG1lc3NhZ2UgeW91IHNhaWQgdGhhdCA8YnI+dGhlcmUgd2lsbCBiZSBubyBD
UFUgZGVmaW5pdGlvbi4gU28gdGhlIGltcGxpY2F0aW9ucyBpcyB0aGlzIHNob3VsZCBub3QgPGJy
PmJlIGRlZmluZWQuPGJyPjxicj5JZiBpdCBpcyBkZWZpbmVkLCB0aGVuIHdoYXQgZ3VhcmFudGVl
cyB0aGF0IGFsbCB0aGUgc291cmNlIHdpbGwgdXNlIHRoZSA8YnI+Y29ycmVjdCB2YWx1ZT88YnI+
PGJyPjxicj4mZ3Q7ICsjZGVmaW5lIFRBUkdFVF9QQUdFX1NJWkUgNDA5Njxicj48YnI+SXQgd291
bGQgYmUgYmV0dGVyIHRvIHVzZSBYQ19QQUdFX1NJWkUgKG9yIHNpbWlsYXIpIHJhdGhlciB0aGFu
IDxicj5oYXJkY29kaW5nIGl0LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Q29ycmVjdGVkIHRoaXMgYW5kIHNl
bnQgYSB2Mi48YnI+PGJyPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD48cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQi
Pjxicj4mZ3Q7ICsjZW5kaWY8YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ody94ZW4vYXJj
aF9odm0uaCBiL2luY2x1ZGUvaHcveGVuL2FyY2hfaHZtLmg8YnI+Jmd0OyBpbmRleCAyNjY3NDY0
OGQ4Li5jN2M1MTUyMjBkIDEwMDY0NDxicj4mZ3Q7IC0tLSBhL2luY2x1ZGUvaHcveGVuL2FyY2hf
aHZtLmg8YnI+Jmd0OyArKysgYi9pbmNsdWRlL2h3L3hlbi9hcmNoX2h2bS5oPGJyPiZndDsgQEAg
LTEsMyArMSw1IEBAPGJyPiZndDsmbmJzcDsmbmJzcDsgI2lmIGRlZmluZWQoVEFSR0VUX0kzODYp
IHx8IGRlZmluZWQoVEFSR0VUX1g4Nl82NCk8YnI+Jmd0OyZuYnNwOyZuYnNwOyAjaW5jbHVkZSAm
cXVvdDtody9pMzg2L3hlbl9hcmNoX2h2bS5oJnF1b3Q7PGJyPiZndDsgKyNlbGlmIGRlZmluZWQo
VEFSR0VUX0FSTSkgfHwgZGVmaW5lZChUQVJHRVRfQVJNXzY0KTxicj4mZ3Q7ICsjaW5jbHVkZSAm
cXVvdDtody9hcm0veGVuX2FyY2hfaHZtLmgmcXVvdDs8YnI+Jmd0OyZuYnNwOyZuYnNwOyAjZW5k
aWY8YnI+PGJyPkNoZWVycyw8YnI+PGJyPi0tIDxicj5KdWxpZW4gR3JhbGw8bzpwPjwvbzpwPjwv
c3Bhbj48L3A+PC9kaXY+PC9kaXY+PC9ib2R5PjwvaHRtbD4AAAAfAEIAAQAAACAAAABHAGEAcgBo
AHcAYQBsACwAIABWAGkAawByAGEAbQAAAB8AZQABAAAALgAAAHYAaQBrAHIAYQBtAC4AZwBhAHIA
aAB3AGEAbABAAGEAbQBkAC4AYwBvAG0AAAAAAB8AZAABAAAACgAAAFMATQBUAFAAAAAAAAIBQQAB
AAAAcAAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAgEcAYQByAGgAdwBhAGwALAAgAFYAaQBrAHIA
YQBtAAAAUwBNAFQAUAAAAHYAaQBrAHIAYQBtAC4AZwBhAHIAaAB3AGEAbABAAGEAbQBkAC4AYwBv
AG0AAAAfAAJdAQAAAC4AAAB2AGkAawByAGEAbQAuAGcAYQByAGgAdwBhAGwAQABhAG0AZAAuAGMA
bwBtAAAAAAAfAOVfAQAAADYAAABzAGkAcAA6AHYAaQBrAHIAYQBtAC4AZwBhAHIAaAB3AGEAbABA
AGEAbQBkAC4AYwBvAG0AAAAAAB8AGgwBAAAAIAAAAEcAYQByAGgAdwBhAGwALAAgAFYAaQBrAHIA
YQBtAAAAHwAfDAEAAAAuAAAAdgBpAGsAcgBhAG0ALgBnAGEAcgBoAHcAYQBsAEAAYQBtAGQALgBj
AG8AbQAAAAAAHwAeDAEAAAAKAAAAUwBNAFQAUAAAAAAAAgEZDAEAAABwAAAAAAAAAIErH6S+oxAZ
nW4A3QEPVAIAAACARwBhAHIAaAB3AGEAbAAsACAAVgBpAGsAcgBhAG0AAABTAE0AVABQAAAAdgBp
AGsAcgBhAG0ALgBnAGEAcgBoAHcAYQBsAEAAYQBtAGQALgBjAG8AbQAAAB8AAV0BAAAALgAAAHYA
aQBrAHIAYQBtAC4AZwBhAHIAaAB3AGEAbABAAGEAbQBkAC4AYwBvAG0AAAAAAAsAQDoBAAAAHwAa
AAEAAAASAAAASQBQAE0ALgBOAG8AdABlAAAAAAADAPE/CQQAAAsAQDoBAAAAAwD9P+QEAAACAQsw
AQAAABAAAABN1ROqO0syQ7rM4XlK/lgnAwAXAAEAAABAADkAAINSjf0F2QFAAAgwAl6ijf0F2QEL
ACMAAAAAAAMAJgAAAAAACwApAAAAAAADAC4AAAAAAAMANgAAAAAAHwBwAAEAAABiAAAAWwBQAEEA
VABDAEgAIAB2ADEAIAAxADAALwAxADIAXQAgAGgAdwAvAGEAcgBtADoAIABpAG4AdAByAG8AZAB1
AGMAZQAgAHgAZQBuAHAAdgAgAG0AYQBjAGgAaQBuAGUAAAAAAAIBcQABAAAAIAAAAAEB2OBUNeUU
knXWCxdCp+McYCTDMbeuEU4zgIBGt2GGCwAGDAAAAAAfADUQAQAAAKIAAAA8AE0AVwAzAFAAUgAx
ADIATQBCADQANAAwADkANgBDAEMAMwBBAEQANQBDAEQAMAAxAEQANgAwADQAMwBCADAARQA3ADkA
RgAxADUAOQBAAE0AVwAzAFAAUgAxADIATQBCADQANAAwADkALgBuAGEAbQBwAHIAZAAxADIALgBw
AHIAbwBkAC4AbwB1AHQAbABvAG8AawAuAGMAbwBtAD4AAAAAAB8AORABAAAAHAEAADwAMgAwADIA
MgAxADAAMQA1ADAANQAwADcANQAwAC4ANAAxADgANQAtADEALQB2AGkAawByAGEAbQAuAGcAYQBy
AGgAdwBhAGwAQABhAG0AZAAuAGMAbwBtAD4AIAA8ADIAMAAyADIAMQAwADEANQAwADUAMAA3ADUA
MAAuADQAMQA4ADUALQAxADEALQB2AGkAawByAGEAbQAuAGcAYQByAGgAdwBhAGwAQABhAG0AZAAu
AGMAbwBtAD4AIAA8ADMAZQA1ADAANABiADEAYgAtADEAOQA3AGQALQBiADcANwBiAC0AMQA2AGUA
MQAtADgANgA1ADMAMABlAGIAMwBkADYANABjAEAAeABlAG4ALgBvAHIAZwA+AAAAHwBCEAEAAABe
AAAAPAAzAGUANQAwADQAYgAxAGIALQAxADkANwBkAC0AYgA3ADcAYgAtADEANgBlADEALQA4ADYA
NQAzADAAZQBiADMAZAA2ADQAYwBAAHgAZQBuAC4AbwByAGcAPgAAAAAAAwATEgAAAABAAAcwICdo
HuME2QECARMwAQAAABAAAADlFJJ11gsXQqfjHGAkwzG3AgEUMAEAAAAMAAAAKAMAANQ6Aij0Riue
AwBbMwEAAAADAF4zEAAAAAMAWjYAAAAAAwBjNv8HAAADAGg2DQAAAAsA+jYBAAAAHwDZPwEAAAAA
AgAASABpACAASgB1AGwAaQBlAG4ALAANAAoADQAKAEYAcgBvAG0AOgAgAEoAdQBsAGkAZQBuACAA
RwByAGEAbABsACAAPABqAHUAbABpAGUAbgBAAHgAZQBuAC4AbwByAGcAPgANAAoARABhAHQAZQA6
ACAAUwB1AG4AZABhAHkALAAgAE8AYwB0AG8AYgBlAHIAIAAxADYALAAgADIAMAAyADIAIABhAHQA
IAAxADAAOgA0ADgAIABBAE0ADQAKAFQAbwA6ACAARwBhAHIAaAB3AGEAbAAsACAAVgBpAGsAcgBh
AG0AIAA8AHYAaQBrAHIAYQBtAC4AZwBhAHIAaAB3AGEAbABAAGEAbQBkAC4AYwBvAG0APgAsACAA
cQBlAG0AdQAtAGQAZQB2AGUAbABAAG4AbwBuAGcAbgB1AC4AbwByAGcAIAA8AHEAZQBtAHUALQBk
AGUAdgBlAGwAQABuAG8AbgBnAG4AdQAuAG8AcgBnAD4ADQAKAEMAYwA6ACAAUwB0AGEAYgBlAGwA
bABpAG4AaQAsACAAUwB0AGUAZgBhAG4AbwAgADwAcwB0AGUAZgBhAG4AbwAuAHMAdABhAGIAZQBs
AGwAaQBuAGkAQABhAG0AZAAuAGMAbwBtAD4ALAAgAFAAZQB0AGUAcgAgAE0AYQB5AGQAZQBsAGwA
AAADAN4/5AQAAB8A+D8BAAAAIAAAAEcAYQByAGgAdwBhAGwALAAgAFYAaQBrAHIAYQBtAAAAHwD6
PwEAAAAgAAAARwBhAHIAaAB3AGEAbAAsACAAVgBpAGsAcgBhAG0AAAAfACJAAQAAAAYAAABFAFgA
AAAAAB8AI0ABAAAAAgEAAC8ATwA9AEUAWABDAEgAQQBOAEcARQBMAEEAQgBTAC8ATwBVAD0ARQBY
AEMASABBAE4ARwBFACAAQQBEAE0ASQBOAEkAUwBUAFIAQQBUAEkAVgBFACAARwBSAE8AVQBQACAA
KABGAFkARABJAEIATwBIAEYAMgAzAFMAUABEAEwAVAApAC8AQwBOAD0AUgBFAEMASQBQAEkARQBO
AFQAUwAvAEMATgA9ADUARAAzADMAMQBCADAARABBAEIAMQA1ADQANwA0AEEAQQA3AEUAQgBGADcA
RAAwAEUAQwA5AEYAMAA1ADcARQAtAEcAQQBSAEgAVwBBAEwALAAgAFYASQAAAAAAHwAkQAEAAAAG
AAAARQBYAAAAAAAfACVAAQAAAAIBAAAvAE8APQBFAFgAQwBIAEEATgBHAEUATABBAEIAUwAvAE8A
VQA9AEUAWABDAEgAQQBOAEcARQAgAEEARABNAEkATgBJAFMAVABSAEEAVABJAFYARQAgAEcAUgBP
AFUAUAAgACgARgBZAEQASQBCAE8ASABGADIAMwBTAFAARABMAFQAKQAvAEMATgA9AFIARQBDAEkA
UABJAEUATgBUAFMALwBDAE4APQA1AEQAMwAzADEAQgAwAEQAQQBCADEANQA0ADcANABBAEEANwBF
AEIARgA3AEQAMABFAEMAOQBGADAANQA3AEUALQBHAEEAUgBIAFcAQQBMACwAIABWAEkAAAAAAB8A
MEABAAAAIAAAAEcAYQByAGgAdwBhAGwALAAgAFYAaQBrAHIAYQBtAAAAHwAxQAEAAAAgAAAARwBh
AHIAaAB3AGEAbAAsACAAVgBpAGsAcgBhAG0AAAAfADhAAQAAACAAAABHAGEAcgBoAHcAYQBsACwA
IABWAGkAawByAGEAbQAAAB8AOUABAAAAIAAAAEcAYQByAGgAdwBhAGwALAAgAFYAaQBrAHIAYQBt
AAAAAwBZQAAAAAADAFpAAAAAAAMAN1ABAAAAHwAKXQEAAAAuAAAAdgBpAGsAcgBhAG0ALgBnAGEA
cgBoAHcAYQBsAEAAYQBtAGQALgBjAG8AbQAAAAAAHwALXQEAAAAuAAAAdgBpAGsAcgBhAG0ALgBn
AGEAcgBoAHcAYQBsAEAAYQBtAGQALgBjAG8AbQAAAAAAAgEVXQEAAAASAAAAAh+W2D2I5GBOjhGo
LZlOGD0BAAACARZdAQAAABIAAAACH5bYPYjkYE6OEagtmU4YPQEAAAsAAIAIIAYAAAAAAMAAAAAA
AABGAAAAABSFAAAAAAAAAwAAgFDjYwvMnNARvNsAgF/MzgQBAAAAJAAAAEkAbgBkAGUAeABpAG4A
ZwBFAHIAcgBvAHIAQwBvAGQAZQAAABsAAAALAACAUONjC8yc0BG82wCAX8zOBAEAAAAmAAAASQBz
AFAAYQByAHQAaQBhAGwAbAB5AEkAbgBkAGUAeABlAGQAAAAAAAAAAABAAACAUONjC8yc0BG82wCA
X8zOBAEAAAAwAAAATABhAHMAdABJAG4AZABlAHgAaQBuAGcAQQB0AHQAZQBtAHAAdABUAGkAbQBl
AAAAPQ8+jf0F2QEfAACAUONjC8yc0BG82wCAX8zOBAEAAAAqAAAASQBuAGQAZQB4AGkAbgBnAEUA
cgByAG8AcgBNAGUAcwBzAGEAZwBlAAAAAAABAAAAcAAAAEkAbgBkAGUAeABpAG4AZwAgAFAAZQBu
AGQAaQBuAGcAIAB3AGgAaQBsAGUAIABCAGkAZwBGAHUAbgBuAGUAbABQAE8ASQBJAHMAVQBwAFQA
bwBEAGEAdABlACAAaQBzACAAZgBhAGwAcwBlAC4AAABIAACAUONjC8yc0BG82wCAX8zOBAEAAAAu
AAAAQgBpAGcARgB1AG4AbgBlAGwAQwBvAHIAcgBlAGwAYQB0AGkAbwBuAEkAZAAAAAAA3KKYFp02
aU2qMLRgEjzNK0AAAIBQ42MLzJzQEbzbAIBfzM4EAQAAAD4AAABCAGkAZwBGAHUAbgBuAGUAbABD
AG8AbQBwAGwAZQB0AGUASQBuAGQAZQB4AGkAbgBnAFMAdABhAHIAdAAAAAAAPQ8+jf0F2QFAAACA
UONjC8yc0BG82wCAX8zOBAEAAAA6AAAAQgBpAGcARgB1AG4AbgBlAGwAQwBvAG0AcABsAGUAdABl
AEkAbgBkAGUAeABpAG4AZwBFAG4AZAAAAAAA1XFAjf0F2QELAACAUONjC8yc0BG82wCAX8zOBAEA
AAAmAAAASQBzAFAAZQByAG0AYQBuAGUAbgB0AEYAYQBpAGwAdQByAGUAAAAAAAAAAAAfAACAUONj
C8yc0BG82wCAX8zOBAEAAAAiAAAARABlAHQAZQBjAHQAZQBkAEwAYQBuAGcAdQBhAGcAZQAAAAAA
AQAAAAYAAABlAG4AAAAAAAMAAIAIIAYAAAAAAMAAAAAAAABGAQAAADIAAABFAHgAYwBoAGEAbgBn
AGUAQQBwAHAAbABpAGMAYQB0AGkAbwBuAEYAbABhAGcAcwAAAAAAIAAAAB8AAIAfpOszqHouQr57
eeGpjlSzAQAAADgAAABDAG8AbgB2AGUAcgBzAGEAdABpAG8AbgBJAG4AZABlAHgAVAByAGEAYwBr
AGkAbgBnAEUAeAAAAAEAAADUAQAASQBJAD0AWwBDAEkARAA9ADcANQA5ADIAMQA0AGUANQAtADAA
YgBkADYALQA0ADIAMQA3AC0AYQA3AGUAMwAtADEAYwA2ADAAMgA0AGMAMwAzADEAYgA3ADsASQBE
AFgASABFAEEARAA9ADAAMQBEADgARQAwADUANAAzADUAOwBJAEQAWABDAE8AVQBOAFQAPQAzAF0A
OwBTAEIATQBJAEQAPQA4ADsAUwAxAD0APAAzAGUANQAwADQAYgAxAGIALQAxADkANwBkAC0AYgA3
ADcAYgAtADEANgBlADEALQA4ADYANQAzADAAZQBiADMAZAA2ADQAYwBAAHgAZQBuAC4AbwByAGcA
PgA7AFIAVABQAD0ARABpAHIAZQBjAHQAQwBoAGkAbABkADsAVABEAE4APQBTAGEAbQBlADsAVABG
AFIAPQBOAG8AdABGAG8AcgBrAGkAbgBnADsAVgBlAHIAcwBpAG8AbgA9AFYAZQByAHMAaQBvAG4A
IAAxADUALgAyADAAIAAoAEIAdQBpAGwAZAAgADUAOAA1ADcALgAwACkALAAgAFMAdABhAGcAZQA9
AEgAMQA7AFUAUAA9AEQAMAA7AEQAUAA9ADEAMAAxAAAAHwAAgBOP8kH0gxRBpYTu21prC/8BAAAA
FgAAAEMAbABpAGUAbgB0AEkAbgBmAG8AAAAAAAEAAACyAAAAQwBsAGkAZQBuAHQAPQBPAHUAdABs
AG8AbwBrAFMAZQByAHYAaQBjAGUAOwBNAGEAYwBPAHUAdABsAG8AbwBrAC8AMQA2AC4ANgA2AC4A
MgAyADEAMAAyADgAMAAxACAAKABJAG4AdABlAGwAeAA2ADQAIABNAGEAYwAgAE8AUwAgAFgAIAAx
ADEALgA2ACAAKABCAHUAaQBsAGQAIAAyADAARwAxADYANQApACkAOwAAAAAACwAAgAggBgAAAAAA
wAAAAAAAAEYAAAAABoUAAAAAAAACAQCAE4/yQfSDFEGlhO7bWmsL/wEAAAAuAAAASABlAGEAZABl
AHIAQgBvAGQAeQBGAHIAYQBnAG0AZQBuAHQATABpAHMAdAAAAAAAAQAAAEoAAAABAAoAAAAEAAAA
AgAAABQAAAAAAAAAagQAAMUFAAAAAAAAFAAAAAAAAADxCAAAoQoAAAAAAAAUAAAAAAAAAM8KAAD/
////AAAAAAAACwAAgBOP8kH0gxRBpYTu21prC/8BAAAAHAAAAEgAYQBzAFEAdQBvAHQAZQBkAFQA
ZQB4AHQAAAABAAAACwAAgBOP8kH0gxRBpYTu21prC/8BAAAAKAAAAEkAcwBRAHUAbwB0AGUAZABU
AGUAeAB0AEMAaABhAG4AZwBlAGQAAAABAAAAQAAAgBOP8kH0gxRBpYTu21prC/8BAAAALAAAAEwA
YQBzAHQAUwBtAGEAcgB0AFIAZQBzAHAAbwBuAHMAZQBUAGkAbQBlAAAAm4LHHuME2QEDAA00/T8A
AB8APQABAAAACgAAAFIAZQA6ACAAAAAAAB8ANwABAAAAagAAAFIAZQA6ACAAWwBQAEEAVABDAEgA
IAB2ADEAIAAxADAALwAxADIAXQAgAGgAdwAvAGEAcgBtADoAIABpAG4AdAByAG8AZAB1AGMAZQAg
AHgAZQBuAHAAdgAgAG0AYQBjAGgAaQBuAGUAAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAAC4A
AABhAHUAdABoAGUAbgB0AGkAYwBhAHQAaQBvAG4ALQByAGUAcwB1AGwAdABzAAAAAAABAAAAsgAA
AGQAawBpAG0APQBuAG8AbgBlACAAKABtAGUAcwBzAGEAZwBlACAAbgBvAHQAIABzAGkAZwBuAGUA
ZAApACAAaABlAGEAZABlAHIALgBkAD0AbgBvAG4AZQA7AGQAbQBhAHIAYwA9AG4AbwBuAGUAIABh
AGMAdABpAG8AbgA9AG4AbwBuAGUAIABoAGUAYQBkAGUAcgAuAGYAcgBvAG0APQBhAG0AZAAuAGMA
bwBtADsAAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAAB4AAABhAGMAYwBlAHAAdABsAGEAbgBn
AHUAYQBnAGUAAAAAAAEAAAAMAAAAZQBuAC0AVQBTAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAA
IAAAAHgALQBtAHMALQBoAGEAcwAtAGEAdAB0AGEAYwBoAAAAAQAAAAIAAAAAAAAASAAAgAggBgAA
AAAAwAAAAAAAAEYBAAAAIgAAAE4AZQB0AHcAbwByAGsATQBlAHMAcwBhAGcAZQBJAGQAAAAAAMo2
G4BqZzJBhwII2tQUsCAfAACAhgMCAAAAAADAAAAAAAAARgEAAAAuAAAAeAAtAG0AcwAtAHAAdQBi
AGwAaQBjAHQAcgBhAGYAZgBpAGMAdAB5AHAAZQAAAAAAAQAAAAwAAABFAG0AYQBpAGwAAAAfAACA
hgMCAAAAAADAAAAAAAAARgEAAAA2AAAAeAAtAG0AcwAtAHQAcgBhAGYAZgBpAGMAdAB5AHAAZQBk
AGkAYQBnAG4AbwBzAHQAaQBjAAAAAAABAAAASAAAAE0AVwAzAFAAUgAxADIATQBCADQANAAwADkA
OgBFAEUAXwB8AFAASAA3AFAAUgAxADIATQBCADgAMQA3ADkAOgBFAEUAXwAAAB8AAICGAwIAAAAA
AMAAAAAAAABGAQAAAFAAAAB4AC0AbQBzAC0AbwBmAGYAaQBjAGUAMwA2ADUALQBmAGkAbAB0AGUA
cgBpAG4AZwAtAGMAbwByAHIAZQBsAGEAdABpAG8AbgAtAGkAZAAAAAEAAABKAAAAOAAwADEAYgAz
ADYAYwBhAC0ANgA3ADYAYQAtADQAMQAzADIALQA4ADcAMAAyAC0AMAA4AGQAYQBkADQAMQA0AGIA
MAAyADAAAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAADgAAAB4AC0AbQBzAC0AZQB4AGMAaABh
AG4AZwBlAC0AcwBlAG4AZABlAHIAYQBkAGMAaABlAGMAawAAAAEAAAAEAAAAMQAAAB8AAICGAwIA
AAAAAMAAAAAAAABGAQAAADoAAAB4AC0AbQBzAC0AZQB4AGMAaABhAG4AZwBlAC0AYQBuAHQAaQBz
AHAAYQBtAC0AcgBlAGwAYQB5AAAAAAABAAAABAAAADAAAAAfAACAhgMCAAAAAADAAAAAAAAARgEA
AAAqAAAAeAAtAG0AaQBjAHIAbwBzAG8AZgB0AC0AYQBuAHQAaQBzAHAAYQBtAAAAAAABAAAADgAA
AEIAQwBMADoAMAA7AAAAAAAfAACAhgMCAAAAAADAAAAAAAAARgEAAABEAAAAeAAtAG0AaQBjAHIA
bwBzAG8AZgB0AC0AYQBuAHQAaQBzAHAAYQBtAC0AbQBlAHMAcwBhAGcAZQAtAGkAbgBmAG8AAAAB
AAAA2gUAADUAYQBoAEUAZABhAHUAdQB1ADcAVABFAFcASQBtAEQASwAxAHgASQBhAFQAQwBEAE4A
UAB4AGUAMQBYAFUAOABMAFAAMQA1AE0AQwB3ADEAcwArAGkAZwBWAHUAVQBnADUAdgBYAGMARQBH
ADkAdwBpAEwATgBQAHcASQBvAGQAWgBMAHQAMAAvAG0ALwA4AGcAdwBIAEkAVQA0AC8AQwA0ADIA
dgBIAFAAWABSAFYARwBrAGUAbABWAE0AYwBQAFEAcQBDAGsAYgBiADEAegAyADgANwBDAHgAVABY
AEsAeQByAGoAVABXADUALwBTAEgAYgBIAEUAbwAwADMAbQBXAGcAaABOADkAVgBWAEIAMwBlAFQA
bgB0AFMAcwBOADcASAByAC8AWQBUAE0AWgB1AGIATwBlADMAeQBrADYAUQAxAFIAWQBwAFUAVABp
AFAAaAB3AFYAMQA5AFQAMAB3AG4AZQA4AGoAbgBBAEgAdwByAFQAQQB4AFIARwBNAEwAVwBuADIA
MABnAGgAVwBsAGQAbABKAHQAQgBKAEsAcABBAHIAbgBmAEUAMQBaADAAQgBsAGIANwArAFYAQgBG
AFQATgBXAE8ANQBQACsAdwBEADgAbwBQAHUAbQB2ADMARwB2AEIAZABxAFkAVgBhAE4ARgBNAEcA
agA3AEcAMwBRADUAUwBtAEIATgAwAFAAVgBxAFUARgB3ADEAcwB3AHgAcQBTAHkALwBiAHkASQA0
AFkAWABqAEcAawBwAEMAWABhADYALwB0ADYAbQA2AFAAMgBnAFQAawByAG0AeQBwAEIAZQAvAEkA
TQBJAGEAcABnAEMAYwAyAGIAbABpAGEANABPAGQARgA3AEIASwBXAGIAeQB2ADEAaABDAGsAcABY
AFQALwBYADYAUABxADcAMgBNAGIAaAAzAFMANgBLAHEAcQBzAE4AUQBRAHAAcwBkAEMAMQArAFcA
VwA2AGsAZABDAFgAbwBxAGMANQBBAFcASwAzAHAAKwBSAEgAcAA4AGQAdwB1AEwAVgArAEkAVQA0
AG8AYwBnAHAATgBOADAANABvAFIASgByAEQAVAByAEUAQgBmAGQAZQByAHQAdwBiAEwAWAB5AGgA
bQAxAEEAWQBwAHcAUwB2AFIASwBYAGoAagBmAGkAUgBVAGIAbABoAFMAcQBLAGsAbwBCADQAbQBV
AHgAcgBpAFUAbQBIAHMAcwBlAEYARwAxACsAOABCAEwAagB5AHAAegBlAFUAbQBjADYAVABzAEcA
TAB1AGkAeABMADcAWgBWAG4AYgAzAHcAWQBLAHYAdwBEADYAdQBSAE8ANwA1AEUAQQBRAEoANABZ
AEQATwBoAEwAcQBYAGMAMAA4AEQAegBDAHAATQAwAFUAZgBTAC8AZQAyAGsAYQBmAFcAWQBFAHEA
bQAxAFoAYwA0AEwARQB1AFYAVABUAHcAZABvAG0AWQA5AGUAZgA5ADYAQQBVACsAMgBhAHEAZwA1
ADMANgBjAGkALwA1AG8AaQAxADUAVQBiAHIAMgBnAHgAMwBaAFQARwBYADAASQBqADYASQBWAG8A
eQAvAFMARwBsAEMAZQBVAEwAYwBKAGwATwBxAGwAYgBEADIAWAAwAGUAeQBnAHkAZQBMAGUARABk
AGsATgBpADkANAB2AFgAWQBYAFEATgBFADYAUgBDAHoAWQBmAFUAegBZAHAASABWAHAAbgBjADUA
MgBhAHMAVgBhAGIAYQAvAC8AegAxAG8AOQBFAFgAaABzACsANwBOAEEAVwBHADUAVwBBAEMAVQBj
ADcAegBzAFcAOAB5AFYAdgBTAGIAOABrAEIAbQBpAEwANgA1AGkANgBQAGYANABpAHQAagBKAFoA
VAB2AE0AZQBPAFAAZgA0AEkAMQB1AFEAVQBBADAAcgA3AEcAVwBEAEcAegBXADQAbAA4ADYANwBx
AHcAeQBRAE4AcwBzAEEAawB3AD0AAAAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAADgAAAB4AC0A
ZgBvAHIAZQBmAHIAbwBuAHQALQBhAG4AdABpAHMAcABhAG0ALQByAGUAcABvAHIAdAAAAAEAAAB+
BAAAQwBJAFAAOgAyADUANQAuADIANQA1AC4AMgA1ADUALgAyADUANQA7AEMAVABSAFkAOgA7AEwA
QQBOAEcAOgBlAG4AOwBTAEMATAA6ADEAOwBTAFIAVgA6ADsASQBQAFYAOgBOAEwASQA7AFMARgBW
ADoATgBTAFAATQA7AEgAOgBNAFcAMwBQAFIAMQAyAE0AQgA0ADQAMAA5AC4AbgBhAG0AcAByAGQA
MQAyAC4AcAByAG8AZAAuAG8AdQB0AGwAbwBvAGsALgBjAG8AbQA7AFAAVABSADoAOwBDAEEAVAA6
AE4ATwBOAEUAOwBTAEYAUwA6ACgAMQAzADIAMwAwADAAMgAyACkAKAA0ADYAMwA2ADAAMAA5ACkA
KAAzADYANgAwADAANAApACgAMwA5ADYAMAAwADMAKQAoADMAOQA4ADYAMAA0ADAAMAAwADAAMgAp
ACgAMwA0ADYAMAAwADIAKQAoADEAMwA2ADAAMAAzACkAKAAzADcANgAwADAAMgApACgANAA1ADEA
MQA5ADkAMAAxADUAKQAoADIAOQAwADYAMAAwADIAKQAoADUANgA2ADAAMwAwADAAMAAwADIAKQAo
ADUAMgA1ADMANgAwADEANAApACgAOQAzADIANgAwADAAMgApACgAOAA5ADMANgAwADAAMgApACgA
NgA0ADcANQA2ADAAMAA4ACkAKAA1ADQAOQAwADYAMAAwADMAKQAoADgANgA3ADYAMAAwADIAKQAo
ADYANgA5ADQANgAwADAANwApACgANgA2ADQANwA2ADAAMAA3ACkAKAA2ADYANAA0ADYAMAAwADgA
KQAoADYANgA1ADUANgAwADAAOAApACgAMwAxADYAMAAwADIAKQAoADEAMQAwADEAMwA2ADAAMAA1
ACkAKAA0ADMAMgA2ADAAMAA4ACkAKAAzADMANgA1ADYAMAAwADIAKQAoADkANgA2ADAAMAA1ACkA
KAA0ADEAMwAwADAANwAwADAAMAAwADEAKQAoADcANgAxADEANgAwADAANgApACgAOQAxADkANQA2
ADAAMQA3ACkAKAAxADgANgAwADAAMwApACgANwAxADIAMAAwADQAMAAwADAAMAAxACkAKAA2ADUA
MAA2ADAAMAA3ACkAKAAyADYAMAAwADUAKQAoADkANgA4ADYAMAAwADMAKQAoADgANgAzADYAMgAw
ADAAMQApACgANQA1ADAAMQA2ADAAMAAzACkAKAA4ADMAMwA4ADAANAAwADAAMAAwADEAKQAoADEA
NgA2ADAAMAAyACkAKAAzADgAMAA3ADAANwAwADAAMAAwADUAKQAoADQANwA4ADYAMAAwADAAMAAx
ACkAKAA3ADYAOQA2ADAAMAA1ACkAKAAxADIAMgAwADAAMAAwADAAMQApACgANQAzADUANAA2ADAA
MQAxACkAKAAzADgAMQAwADAANwAwADAAMAAwADIAKQA7AEQASQBSADoATwBVAFQAOwBTAEYAUAA6
ADEAMQAwADEAOwAAAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAAXAAAAHgALQBtAHMALQBlAHgA
YwBoAGEAbgBnAGUALQBhAG4AdABpAHMAcABhAG0ALQBtAGUAcwBzAGEAZwBlAGQAYQB0AGEALQBj
AGgAdQBuAGsAYwBvAHUAbgB0AAAAAQAAAAQAAAAxAAAAHwAAgIYDAgAAAAAAwAAAAAAAAEYBAAAA
SgAAAHgALQBtAHMALQBlAHgAYwBoAGEAbgBnAGUALQBhAG4AdABpAHMAcABhAG0ALQBtAGUAcwBz
AGEAZwBlAGQAYQB0AGEALQAwAAAAAAABAAAAsgwAAHUALwBrADAAaQA5AHgAagBCAG0ATgBHAEIA
WgB2AEcATQA0AHMAagA1AGcAMABsAGcARgBpAFQASgBmADcAMgBGAFQAZABkAFEANgBZAEcAdgBZ
AFUAdAB6AHAAcwBlADMARgBvADEASwBuAEkAegArAEUALwBkAGoAegBrAFMATgBZAEcAOABDAHAA
TQB3AGwAVAA4AFYANwA1AEIAMQBXAGIATwBTAFoARABTAEYAQwBaAHQAVQBPAFQALwBJAEoAaABM
ADIAdwBFAHAAZABIAHoAcgAzADkAZQBSAE4ATQBrAGwAQgBTAGkAdQBPAHAAbQB1AHAANAB5ADEA
TABNAEoAOABNAGwATQBzAHgAYwB4AG0AcABEADIAWAB2ACsAMgBNADUAQgBNAFAAbgBjADMAcAA4
AGwAdQAyAGYASwBRADQAdwBsADgAKwBtAGkASABuAGYAYQBUAHoATwAyAHEAYQBrAC8AcwA0AE0A
QwBoAC8AaABHAEQANwBpADYAWAB6ADkAdQBrAGgANgBZAEMAOQBLAEsAQgB2ADIAcQB2AE0AWgBK
ADYAZQAxADkAVwBRAEIAMABQAEsAZABKAHkAOABNAFEAawBlAGgAUgAxACsARAB0AFgAUwB4AFMA
MABiADEAZwB4AGkAYQB1AFEAeQBMAFAAcQBXAFEAMAAxAEQASgB5ADgAYQBTACsAWgBlAFAAVAB3
AFkAKwBGAEIAOABmAEUANQBSAEYAcQAvAHUAWAA0AG0AMgBzAEgAZgA3AHMAdwBKAGoAMQBIADUA
TABZAGwAcwBSAGUAMgBzAFkAZgBqAFkARQBZAGsAQQBFAGIAagBPADMAawBxAHIAUgAwAFYAbgA4
AFIATQBEAGoAcgBZAFQAeQBzAFYAaABqAEoAOABqAHQAQwA4AFUAZwBOAHYAMABYAEoASgBVAEIA
UQA3AEEAZABGADYAZgBZAC8AZgBCAGEANQBrAGMAdwBQAGgAbABMAE0AbQBnAG0AbABCAE8AOQB0
AEEAZAA4AFEAOABSADYAUgBaAGYARgA0AEsAWQBRAG4AWABaAGUALwBIADgALwAxADUAWABGAHcA
bAB4ADkALwBhAHcAYgBUAEkAVgBzAEEAagB4AHkAcwA4AEYANAAwAHoAdQBYAEgAMQAvAHUAegA0
ADUASgBaADAAOABWAEQAMQBYAEwAYQAzAFIAUABHAGEAMwB2AHEAeQA0AHAAVwBvAHkAUgBjAHgA
YgBIAEYAegBCAEoASwBuAGoAZwBCADMAYwAzAEcASwBUAHoASwBGADUAWgBRAGsAMgBoAG4ARABy
AFIAcgBXAEUAegBWAGIAcwBsAEYAWQBFAFQAVQB3AEoAUQBLADUAeABBAFQAZgBGAHUAYQBhAEYA
bgBVAHkARAAvAHQAZABYAEsAMwB6AEUAUQBTAFUAZQBEAFkAWAB5AFcATgA2AEUAbAB3AEUAWgBK
AEsAMQBqACsATQBqAFYAbwAyAE0AMgBvAGMATQA5ADUAYQBWAEQAcAA5ADIAaQBJAFMARgBSAEUA
eQBJAG4AVgBBAFYAOABqAHUAMgBaAFUAagBqAEcAbgBPAHoATgBKADUAcQB3AHkAMQBHAC8AUAAw
ACsAVwBsAFQAYgBNAFoAbwBhAEQAWgBsAGEAMABnAGUAMwBhADQANQBHAHQAdQBQAE8AUwBzAGUA
UgB3AEQATABnAEwAbwBRAGMAaQA2AHMAaQBlADYAZgBIAGEAZwA0AEsAVgB3AEMATABrAEEAWQB4
AGcAVwBOAHoAUQBYAGgAbABlAHgATwArAGIANAB5ACsATQAyADQASgA1AE4AUwBrAHAAaQBIAGgA
QQBVADMARABvADkAegBvADcAVgB2AHgANQBrAHgAYQA4AEoAUQBnAEEAWAA5AHoASQBSAE0ATgBt
AGQAbwBzADgARwBtAFcAQgBGAHQAegBWAEMAYQBnAFEAVwBnAFgAUABDAHMAQgBRAFQANgArAGQA
WgBQAFMAdQBSAHoAWAB3AEsAawBxADEAegBCAGsAbgBlAGwASwBlAG8AQQBWADAAYwAwAHoAcQBU
AEwAVAAzAG8ARQBhAFAAWABQAHAAbgBlAFYAdABzAHEAdgBEAFIAMABFAEkAdwBhADAATABmAEUA
TQBqADgAWQA5ADIAcQBmAHEALwByAG4ATwA5AHMAUQBDAHIAbABVAC8AaQBiAHQAUgBiADUARABO
AHEAUgBNADIAdgBiAFcAOQB6AEUARAB5ADgATwA1AFcAQgBnAHIAZQBKAEQARgBrAGkATgBEAFYA
ZQB0AEwAdAA0AEwAOQAxAHcATgBMAG0AcABYAHMAUABCAHAAbABHAFgARwBWAGUAdQBaAGIAbwAv
AGIAUgBIAEsAMAAvAGQAegBGACsAUQBZAHAAeQA3AEEAeQBCAEQAZgBCAHMAegBkAGsARQBlAHIA
WgBCAEcAYwBaAFIASABCAEkAdgBwAHIASQA2AGsAKwAzAGYASQB6AHQALwBMADgAcAB4AEgAdgBT
AFgAegBLAFQAWABQAEsAYQBiADgAUABFADYAUwBGADUASABQAEcAQwArAFcAcQAzAFIAWABkAGcA
ZQBiAGMAMABWAHkAQgAzAEkALwB3AGQAMgAyAHcANABwAFMARAB3ADYASgBZADcATwBWAGIAZAA2
AEYAWQBYAGYAUgB1AEwASgBSAEQATQBsAFoAZQBEAHoAOQBQAEYAcgBtADUAQQA1AGoATwAzAEQA
UgBvAEYAQwB5AGMAbABOAFUAWABsAEgAZAByAGsAUgBZAGsAOABzADEAZQBjAGsAYwBMAHcAUgBv
AGQAZQArAC8AawB6AE0AVQAwAEMAcQBxAE0AZwBzAGYATQB3AGMAcgBkAGoALwB6AGcAWABpADgA
RABsAHIAYwA4AFkAWABPAGQAeABVAFkAMABjADUALwBFAHEANwBHAHAAawA3AFQAegBvAEYAMgBH
AGoAVQBOAHYAVQB5AEYAUQBDAGEAUABzAFAARQAzAEQARgB2AHoAVABMAE0AKwA3AHUAdQBWADMA
WAA0AGMAeQAyAFEAdgBoAHoAbABiADcANQBNADQAMAB0ADIAcABjAGQASQBXAFAARQBLAGoAQgBv
AGEAQQAyAEcAZwBsAHcAMABIAE4AcwBMAHYAbwB0AGUAKwBuADIAMgBvAFkANAB5AEIAWABiAEIA
cgBLADkAUwBrAFMAOQB2AFYAbgBaAGEAcQBjAEkAVwB5AGIANgBoAFIAaABHAEgAdQBRAFMAegBK
AFYAWgBxAHEALwBLAGsATwBCAFMAbABVAEwAYQBxAGcASwBEAGgAQQBoAGQAWgB4ADAAUQA4ADYA
NwBpAG4AdgBSAFkAMwBaAHcATABoAGIAawAxAE0AZgB4AEQAYwBUAFoATAA4AEgATAAyAFYAMwAx
AGcAdwBRAGQAVgBGAHcAZAB6AGcASgBWAEgAMgAzAEIANQA1AHgAaAArADUASwBHADIAdQBUAEgA
cgB3AHMAbQBYAHgAVgBPAFYAVABCAGMASgBpAEIATwBvAG8AcwBQAE0AZgBiADcARwAvAGsAUABr
AHkATQBnAHgARgBuADYAOQBWADAAWABtAFIAdwB1AGwAbQBrAGUARAB4AHQAUgBxADMAQQB2AG8A
aQBKAFgAYgB6AFUAKwB3AFQAdABUAGUALwBUAHgAbABCAEoAZgBkADEAcABUAHMAMgBFAFcAWgBV
ADUAVQBlACsAZgB2ADEARwBzAHQAaQB2AEwAeQBIAGMAVAB2ADIAQwBxADYAZwBUACsAZABEAFUA
cABTAGsAYgBUAHAAcgAzADUAUgBoAFMAawBvADEASQBSAEQAQQBVAFgAUAAyAGsAMABiAEMAOABp
ADQARgAyAEgANwBwADYANwBlAFQAVgBPAGQAbQA1AHQAQgBBAGQAYwBGAEsAZgBIAHMAdgB5AFYA
YgBnAHoAUQBBAHQAVgBBAE8AYQB0ACsAQgBOAGIAbQB5AHcATQBsAEMAYwAyAGIARQBYAG0AQwBz
AFAAegBFAFoAdwA5AFIAZQBkAGcAdQB6AGkAcABqAGoARABlADQAOQBiAGQAbgAvADEARwBjAFMA
OABDAHoAUQBkAEkAUAA1AE4ANwA3AHUAMABYADUATQBaAHUAYgB5ADIAVgB2AFcAdwBFAFEAVwBQ
AHMAagBYAHQANQBEAE8AbQByAGEAMgBjAEEAYgBKAC8AWgB3AFEARQAzADAAdQBkADAAeQBEAGcA
NwBmAFUASgBkAE8AcwBSAEcAWQBCADIAZwA9AD0AAAAAAEu7

--_000_MW3PR12MB44096CC3AD5CD01D6043B0E79F159MW3PR12MB4409namp_--


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 04:30:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 04:30:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451448.709180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0xgt-0002Or-20; Fri, 02 Dec 2022 04:30:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451448.709180; Fri, 02 Dec 2022 04:30:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0xgs-0002ON-Tl; Fri, 02 Dec 2022 04:30:22 +0000
Received: by outflank-mailman (input) for mailman id 451448;
 Fri, 02 Dec 2022 04:30:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0xgs-0002NR-9w; Fri, 02 Dec 2022 04:30:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0xgs-0006pQ-7L; Fri, 02 Dec 2022 04:30:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0xgr-0003sH-PN; Fri, 02 Dec 2022 04:30:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0xgr-0007TC-OF; Fri, 02 Dec 2022 04:30:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=hQfwGi9SMZ2tkViz5PBGviRrO/RF2Y4IjARLU5NGCbI=; b=b57JMybZ1Oa6RHMA/NAN3949m8
	0/Zd6Fl3F3S9eUR+X1mbn9qcskOQQb9uM+fT+dpBTYyLdmVczzJtPFj8zoBVgzuaQG6nTW/BhXt2a
	YLkRfK/xcEesFIdKUnEDYc2YGsruX3aZIsdO+SS5EI30yqrK0fpDFl8onvvALghJMA5k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175017-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175017: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=47d988387efc8b45561f542f7a8e5b6a43979a8c
X-Osstest-Versions-That:
    ovmf=a1d57239140f09a8b2cc386f9421f6f4e634435f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 04:30:21 +0000

flight 175017 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175017/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 47d988387efc8b45561f542f7a8e5b6a43979a8c
baseline version:
 ovmf                 a1d57239140f09a8b2cc386f9421f6f4e634435f

Last test of basis   175014  2022-12-01 21:10:59 Z    0 days
Testing same since   175017  2022-12-02 01:10:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   a1d5723914..47d988387e  47d988387efc8b45561f542f7a8e5b6a43979a8c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 04:56:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 04:56:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451457.709190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0y5r-0006gs-2s; Fri, 02 Dec 2022 04:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451457.709190; Fri, 02 Dec 2022 04:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0y5r-0006gl-0D; Fri, 02 Dec 2022 04:56:11 +0000
Received: by outflank-mailman (input) for mailman id 451457;
 Fri, 02 Dec 2022 04:56:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0y5p-0006gb-RK; Fri, 02 Dec 2022 04:56:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0y5p-0007WH-NR; Fri, 02 Dec 2022 04:56:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p0y5p-0004Vk-5X; Fri, 02 Dec 2022 04:56:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p0y5p-000716-56; Fri, 02 Dec 2022 04:56:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SqZ3/NetAUTitxmLaT/mH7sHuBiP2FaGycL28WdNXKs=; b=0V/Fd0frW1k6TrhcXXyQtrp6Ep
	R+DThMW6s6XgsqIQl3qCMJatR/+qVaOUMAPG+rc3C5NYD5SjL2/Cxpv5rK7ML7NyiLcl1hFcYjhys
	AzZxoSHmIRhULb3t+u9AIv8veG6yna0U4+O4GWZVQPz/SXRyvEJddOdZO0GX7Co53SgA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175016-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175016: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=8b3c06a3e545204515e50733669ad6f5c7bddfd8
X-Osstest-Versions-That:
    xen=acd3fb6d65905f8a185dcb9fe6a330a591b96203
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 04:56:09 +0000

flight 175016 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175016/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  8b3c06a3e545204515e50733669ad6f5c7bddfd8
baseline version:
 xen                  acd3fb6d65905f8a185dcb9fe6a330a591b96203

Last test of basis   175013  2022-12-01 21:02:08 Z    0 days
Testing same since   175016  2022-12-02 01:04:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   acd3fb6d65..8b3c06a3e5  8b3c06a3e545204515e50733669ad6f5c7bddfd8 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 05:42:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 05:42:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451472.709206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0yoj-0006KQ-Li; Fri, 02 Dec 2022 05:42:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451472.709206; Fri, 02 Dec 2022 05:42:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p0yoj-0006KJ-JB; Fri, 02 Dec 2022 05:42:33 +0000
Received: by outflank-mailman (input) for mailman id 451472;
 Fri, 02 Dec 2022 05:42:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TtlS=4A=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p0yoi-0006KD-LI
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 05:42:32 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1c3c4e22-7204-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 06:42:31 +0100 (CET)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7770621C23;
 Fri,  2 Dec 2022 05:42:29 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 2200A13625;
 Fri,  2 Dec 2022 05:42:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id 2pW0BkWQiWNHWQAAGKfGzw
 (envelope-from <jgross@suse.com>); Fri, 02 Dec 2022 05:42:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c3c4e22-7204-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1669959749; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=LETh/D6EVC20cHPB8T0rPJ7HeUvQjGeuS2S2wOwsP34=;
	b=nSq6OjPD08nKGt3KZGL3bjEwyO9qGGlmlFtAVjnXV5VH7NkC+X04EpEeb1Bhec4H++6clH
	wQW+TcyTkgkal24tps9A4nIwf33Tj+/o/uZ/76StQA8QW+PQCC/jL+Mi13hWE+VtokR14M
	grCCT3BZ8jnT+XzHvCYzHrH15wax2xM=
Message-ID: <a8b6209e-e997-24e6-2533-a7593b62cc7c@suse.com>
Date: Fri, 2 Dec 2022 06:42:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [QEMU][PATCH v2 10/11] hw/arm: introduce xenpv machine
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, qemu-dev@xilinx.com
Cc: stefano.stabellini@amd.com, alex.bennee@linaro.org,
 xen-devel@lists.xenproject.org, Peter Maydell <peter.maydell@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>,
 "open list:All patches CC here" <qemu-devel@nongnu.org>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
 <20221202030003.11441-11-vikram.garhwal@amd.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20221202030003.11441-11-vikram.garhwal@amd.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0JOpaoe1bq5mZzQf8rX6Ox6s"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0JOpaoe1bq5mZzQf8rX6Ox6s
Content-Type: multipart/mixed; boundary="------------nLE37ghTSHvx3FcSJq8miJQ2";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Vikram Garhwal <vikram.garhwal@amd.com>, qemu-dev@xilinx.com
Cc: stefano.stabellini@amd.com, alex.bennee@linaro.org,
 xen-devel@lists.xenproject.org, Peter Maydell <peter.maydell@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>,
 "open list:All patches CC here" <qemu-devel@nongnu.org>
Message-ID: <a8b6209e-e997-24e6-2533-a7593b62cc7c@suse.com>
Subject: Re: [QEMU][PATCH v2 10/11] hw/arm: introduce xenpv machine
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
 <20221202030003.11441-11-vikram.garhwal@amd.com>
In-Reply-To: <20221202030003.11441-11-vikram.garhwal@amd.com>

--------------nLE37ghTSHvx3FcSJq8miJQ2
Content-Type: multipart/mixed; boundary="------------jwQBiKpdbcIK0ZlzimL4mEZU"

--------------jwQBiKpdbcIK0ZlzimL4mEZU
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDIuMTIuMjIgMDQ6MDAsIFZpa3JhbSBHYXJod2FsIHdyb3RlOg0KPiBBZGQgYSBuZXcg
bWFjaGluZSB4ZW5wdiB3aGljaCBjcmVhdGVzIGEgSU9SRVEgc2VydmVyIHRvIHJlZ2lzdGVy
L2Nvbm5lY3Qgd2l0aA0KPiBYZW4gSHlwZXJ2aXNvci4NCj4gDQo+IE9wdGlvbmFsOiBXaGVu
IENPTkZJR19UUE0gaXMgZW5hYmxlZCwgaXQgYWxzbyBjcmVhdGVzIGEgdHBtLXRpcy1kZXZp
Y2UsIGFkZHMgYQ0KPiBUUE0gZW11bGF0b3IgYW5kIGNvbm5lY3RzIHRvIHN3dHBtIHJ1bm5p
bmcgb24gaG9zdCBtYWNoaW5lIHZpYSBjaGFyZGV2IHNvY2tldA0KPiBhbmQgc3VwcG9ydCBU
UE0gZnVuY3Rpb25hbGl0aWVzIGZvciBhIGd1ZXN0IGRvbWFpbi4NCj4gDQo+IEV4dHJhIGNv
bW1hbmQgbGluZSBmb3IgYWFyY2g2NCB4ZW5wdiBRRU1VIHRvIGNvbm5lY3QgdG8gc3d0cG06
DQo+ICAgICAgLWNoYXJkZXYgc29ja2V0LGlkPWNocnRwbSxwYXRoPS90bXAvbXl2dHBtMi9z
d3RwbS1zb2NrIFwNCj4gICAgICAtdHBtZGV2IGVtdWxhdG9yLGlkPXRwbTAsY2hhcmRldj1j
aHJ0cG0gXA0KPiANCj4gc3d0cG0gaW1wbGVtZW50cyBhIFRQTSBzb2Z0d2FyZSBlbXVsYXRv
cihUUE0gMS4yICYgVFBNIDIpIGJ1aWx0IG9uIGxpYnRwbXMgYW5kDQo+IHByb3ZpZGVzIGFj
Y2VzcyB0byBUUE0gZnVuY3Rpb25hbGl0eSBvdmVyIHNvY2tldCwgY2hhcmRldiBhbmQgQ1VT
RSBpbnRlcmZhY2UuDQo+IEdpdGh1YiByZXBvOiBodHRwczovL2dpdGh1Yi5jb20vc3RlZmFu
YmVyZ2VyL3N3dHBtDQo+IEV4YW1wbGUgZm9yIHN0YXJ0aW5nIHN3dHBtIG9uIGhvc3QgbWFj
aGluZToNCj4gICAgICBta2RpciAvdG1wL3Z0cG0yDQo+ICAgICAgc3d0cG0gc29ja2V0IC0t
dHBtc3RhdGUgZGlyPS90bXAvdnRwbTIgXA0KPiAgICAgIC0tY3RybCB0eXBlPXVuaXhpbyxw
YXRoPS90bXAvdnRwbTIvc3d0cG0tc29jayAmDQo+IA0KPiAvKiBDb21tZW50IGFib3V0IG1h
Y2hpbmUgbmFtZS4gV2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiovDQo+IFBsZWFz
ZSByZXBseSB3aXRoIHRoZSBtYWNoaW5lIG5hbWUgeW91IGFncmVlLiBCZWxvdyBhcmUgdHdv
IHBvc3NpYmxlIG5hbWVzOg0KPiAxLiB4ZW5wdg0KPiAyLiB4ZW5wdmgNCg0KUGxlYXNlIHVz
IHhlbnB2aCwgYXMgb24gQXJtIHRoZSBndWVzdHMgYXJlIG1vcmUgbGlrZSBQVkggZ3Vlc3Rz
Lg0KDQpUaGlzIHdpbGwgYmUgbmVlZGVkIG9uIHg4NiB0byBzdXBwb3J0IGUuZy4gdmlydGlv
IGZvciBQVkggZ3Vlc3RzLCBhbmQgeGVucHYNCmlzIGFscmVhZHkgdGFrZW4gb24geDg2IGZv
ciBQViBndWVzdHMuDQoNCg0KSnVlcmdlbg0K
--------------jwQBiKpdbcIK0ZlzimL4mEZU
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------jwQBiKpdbcIK0ZlzimL4mEZU--

--------------nLE37ghTSHvx3FcSJq8miJQ2--

--------------0JOpaoe1bq5mZzQf8rX6Ox6s
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOJkEQFAwAAAAAACgkQsN6d1ii/Ey9p
Hwf/bLzffr+2DuHpccC/EcmHtNqmUQcGL3qP/rBXFrsjpnASV1erPALdsQjjWtw71lxDx8q6Cvcv
Mzy9dK2Ujqr92blnH+5rZRRRj7DMmiSUd1at7o03QN1HX/ru7colGU1pc3S4lFxVz656D/g2fiDv
XKBprHcQDgh42XUM85TVVbUKvWXd7UJw3f+19hyDcvLP7PDEhJ14pyMSl5ALLgdROllg/0HI8WyN
ZxG+46Bo3ED0uIwfGB5OPCVQT2b4ioxODAmJPPA+ToKc/n+6O4ReE9y77uplhihe0v7ffyIqwf1P
2JqPMEiLFWg4riu6GI/TBhbWnpOMro9VLNZbvE3xUQ==
=7e/D
-----END PGP SIGNATURE-----

--------------0JOpaoe1bq5mZzQf8rX6Ox6s--


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 07:07:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 07:07:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451479.709216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p108h-0001yD-MC; Fri, 02 Dec 2022 07:07:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451479.709216; Fri, 02 Dec 2022 07:07:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p108h-0001y6-Ix; Fri, 02 Dec 2022 07:07:15 +0000
Received: by outflank-mailman (input) for mailman id 451479;
 Fri, 02 Dec 2022 07:07:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6g/C=4A=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1p108g-0001y0-Ny
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 07:07:14 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f171bcfd-720f-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 08:07:12 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id o5so6472822wrm.1
 for <xen-devel@lists.xenproject.org>; Thu, 01 Dec 2022 23:07:12 -0800 (PST)
Received: from [192.168.30.216] ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id
 e14-20020adff34e000000b0024228b0b932sm7589601wrp.27.2022.12.01.23.07.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 01 Dec 2022 23:07:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f171bcfd-720f-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=EcqQL/ZizWrnpHMjGdFtp/KhnA24UId7fItCFmRMZA4=;
        b=v2OGdm3x+NHQ4qE7XEZ3WD70Oeb+Wv2Tf6PpV0ciBflZarn5rlDT+GrVmyRGH3yrUc
         jRKjPkO9Y7EZwNHbA3HlJopmPCSLg1k6IM96LQRU67DHehqz+JMtqfHq2plXw1sor6ZJ
         XZmHxEhQCgswkxikESobGazqXlneGvNKaSDnnigEGCcV3vjHf4AXzyOemsmRZ2q6VkJt
         CiNuCap9XUSDnv9ixKXRJ+1QhKZx1qOAJZ3uXZytLFnjT3Pi5gwf4uo1yzpSLxm/6ayy
         TJ3hFqJ/rNPMkFybwp7OrzEPaNfhxuEnGMAMbQWYd89H1kDS3RjChNn+S9KXTnkhSlTe
         a6Zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=EcqQL/ZizWrnpHMjGdFtp/KhnA24UId7fItCFmRMZA4=;
        b=dCYaVH962F1citaVcrQ2diH6y16dDfV/b1/TFGNJXZc5JkqNq5z5zAZECsN90l/K96
         Ccu5bAq7YtxN9WS0zIYFWo6+iZ2XGm6+0jV1BvdSvvflbjlT7rb05oMGZg1mIoCvGvny
         4UYXA4LTGZTMVNOZXReTZYFB2v2yHqGO6Zd+7x+YtXX9k5BpOp4QWm/Rf/ZlVAkia5Zs
         vlGuXCtyYGTEpLexDybTRmXvyOusqehRg+XNHT2ITYkKwUx8krYTwkJwjvfrtNSa8C0/
         cz9/fIugUwzuMtzxd4wga7RY/UqtUCcWfUh6B8mxkwg4rJ3JmZgsA/dUBX/JbJzAQlB9
         bqDw==
X-Gm-Message-State: ANoB5pkJtOt84hlOXqH8OZUS7z6W72NS7u+CrsCgwMVDfvhrXatci4vW
	k4itYme34spdMa49Dj6QY+v+YA==
X-Google-Smtp-Source: AA0mqf58bRtPu7gG0d8EAP4vIVJyFeK01H0sUh15HI8xUl9C9vICGdlkwIobwLyY6GU41CY4qopnfQ==
X-Received: by 2002:a5d:4d51:0:b0:242:1bad:6f79 with SMTP id a17-20020a5d4d51000000b002421bad6f79mr13790807wru.342.1669964832241;
        Thu, 01 Dec 2022 23:07:12 -0800 (PST)
Message-ID: <a124e139-7072-7290-93fc-da22c6a0758c@linaro.org>
Date: Fri, 2 Dec 2022 08:07:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [QEMU][PATCH v2 01/11] hw/i386/xen/: move xen-mapcache.c to
 hw/xen/
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, qemu-dev@xilinx.com
Cc: stefano.stabellini@amd.com, alex.bennee@linaro.org,
 xen-devel@lists.xenproject.org, "Michael S. Tsirkin" <mst@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:All patches CC here" <qemu-devel@nongnu.org>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
 <20221202030003.11441-2-vikram.garhwal@amd.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20221202030003.11441-2-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2/12/22 03:59, Vikram Garhwal wrote:
> xen-mapcache.c contains common functions which can be used for enabling Xen on
> aarch64 with IOREQ handling. Moving it out from hw/i386/xen to hw/xen to make it
> accessible for both aarch64 and x86.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
>   hw/i386/meson.build              | 1 +
>   hw/i386/xen/meson.build          | 1 -
>   hw/i386/xen/trace-events         | 5 -----
>   hw/xen/meson.build               | 4 ++++
>   hw/xen/trace-events              | 5 +++++
>   hw/{i386 => }/xen/xen-mapcache.c | 0
>   6 files changed, 10 insertions(+), 6 deletions(-)
>   rename hw/{i386 => }/xen/xen-mapcache.c (100%)
> 
> diff --git a/hw/i386/meson.build b/hw/i386/meson.build
> index 213e2e82b3..cfdbfdcbcb 100644
> --- a/hw/i386/meson.build
> +++ b/hw/i386/meson.build
> @@ -33,5 +33,6 @@ subdir('kvm')
>   subdir('xen')
>   
>   i386_ss.add_all(xenpv_ss)
> +i386_ss.add_all(xen_ss)

Not needed ...

> diff --git a/hw/xen/meson.build b/hw/xen/meson.build
> index ae0ace3046..19d0637c46 100644
> --- a/hw/xen/meson.build
> +++ b/hw/xen/meson.build
> @@ -22,3 +22,7 @@ else
>   endif
>   
>   specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss)
> +
> +xen_ss = ss.source_set()
> +
> +xen_ss.add(when: 'CONFIG_XEN', if_true: files('xen-mapcache.c'))

... because we can simply add in the softmmu_ss list at the beginning
of this file.

Otherwise LGTM.



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 07:19:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 07:19:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451486.709228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p10Kb-0003zj-RY; Fri, 02 Dec 2022 07:19:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451486.709228; Fri, 02 Dec 2022 07:19:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p10Kb-0003zc-ON; Fri, 02 Dec 2022 07:19:33 +0000
Received: by outflank-mailman (input) for mailman id 451486;
 Fri, 02 Dec 2022 07:19:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6g/C=4A=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1p10Ka-0003zW-2m
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 07:19:32 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a93f50bd-7211-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 08:19:30 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id bx10so6541647wrb.0
 for <xen-devel@lists.xenproject.org>; Thu, 01 Dec 2022 23:19:29 -0800 (PST)
Received: from [192.168.30.216] ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id
 n28-20020a05600c3b9c00b003d0891678f2sm453972wms.10.2022.12.01.23.19.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 01 Dec 2022 23:19:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a93f50bd-7211-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=6AGdXosVaRM6yNToejqFo9FecdDcMcuPJiWoM+bR+O4=;
        b=WDh9kTq233gGos50mkI7FCbn19rh+z4Hb1wMacXNCkzSoM/ZTuk/5sDXM8ZWSLXIGA
         t0OKnduohK7Z8OEnmMF2QVHH4ZHFdyvTFp0xH4fQSxmWfDdNddIudtIqoGIs+WLu3hoS
         EtCKzbLMOWSwElu4WCvHzkomLd6W8bJ9jLcVGDzZcY5orZDyxAcwHz/8Ku+1B7RMxkzB
         M/iDlMAzfXMZxY/kCTNPAfVcPuGHWqJfS/VRg4XLHAD5o5kMGtEm//6ct622En/sEkM2
         fx04wLYqzzFyaPR3gXQUqDRYmigvOJ9o3Ij8HaEpzj/CZ27LzoIxv4D4jfXE+wBdhpHx
         icaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6AGdXosVaRM6yNToejqFo9FecdDcMcuPJiWoM+bR+O4=;
        b=iWnIW6yLkEu5yehOkXHzxLdjhDlxzwMqSwh9d0dGyQGA2beqeV1T5qQQLjcoWFhTQe
         EMq1Yy7XTQgWqs8TpfC8nDgAsZymgbuFnG8xpBDphrUokcUk4X1EWZi+Ta5MKCscg52o
         Y5hG6h4ESym2X12WrplolS/f2FAkV+7G7GRvuOx8m9sD3W/Oxf7YfH2BLQSXHBUxDLHF
         EhelUEZXqQ5y/WVVwdpsqRxFklmp2Xa+To15SHRG6pycetvFFbutnix2U3DXP0FZRxaS
         pBDoSaiFrDffsv78ePYvadlFCJtMmWtSfOKHSeY2o4eTPr0Xy/BXPjTqCIPol/+1rSRu
         kJWA==
X-Gm-Message-State: ANoB5pny7kCQUkl5EiRNIvQw7TONntfz2uUTqmUZI5pk02SZnYqdaMzv
	tpm6o1Dj3KgY9bu/8Vve7P1Jkg==
X-Google-Smtp-Source: AA0mqf7xc/dh8mx/yihRRVdBAa5aHsDHPj/31uoIlgXptsUgi+yG+zMMeqbPjdX0gao+chxJFxvZLg==
X-Received: by 2002:a05:6000:1e1b:b0:242:29d7:1004 with SMTP id bj27-20020a0560001e1b00b0024229d71004mr7617583wrb.208.1669965569566;
        Thu, 01 Dec 2022 23:19:29 -0800 (PST)
Message-ID: <a45c902a-043d-5256-7961-40c8aabd89b4@linaro.org>
Date: Fri, 2 Dec 2022 08:19:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [QEMU][PATCH v2 05/11] include/hw/xen/xen_common: return error
 from xen_create_ioreq_server
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, qemu-dev@xilinx.com
Cc: stefano.stabellini@amd.com, alex.bennee@linaro.org,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:All patches CC here" <qemu-devel@nongnu.org>,
 =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>,
 Thomas Huth <thuth@redhat.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
 <20221202030003.11441-6-vikram.garhwal@amd.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20221202030003.11441-6-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano and Vikram,

On 2/12/22 03:59, Vikram Garhwal wrote:
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> This is done to prepare for enabling xenpv support for ARM architecture.
> On ARM it is possible to have a functioning xenpv machine with only the
> PV backends and no IOREQ server. If the IOREQ server creation fails,
> continue to the PV backends initialization.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> ---
>   include/hw/xen/xen_common.h | 13 ++++++++-----
>   1 file changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
> index 77ce17d8a4..6510ac15e0 100644
> --- a/include/hw/xen/xen_common.h
> +++ b/include/hw/xen/xen_common.h
> @@ -467,9 +467,10 @@ static inline void xen_unmap_pcidev(domid_t dom,
>   {
>   }
>   
> -static inline void xen_create_ioreq_server(domid_t dom,
> -                                           ioservid_t *ioservid)

How long are we supposed to maintain this code? Per [*]:

   In general XenProject.org supports stable branches for 18 months full
   support plus 18 months security fixes. When a new X.Y.0 release is
   made there is usually one more release on the to-be-retired stable
   branch to mop up any loose patches sitting in the repository at which
   point the branch is retired.

4.17 was just released. 4.5 was 7 years ago. IIUC EOL'ed 4 years ago.

[*] 
https://wiki.xenproject.org/wiki/Xen_Project_Maintenance_Releases#Stable_Maintenance_Branches

Regards,

Phil.


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 07:20:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 07:20:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451494.709240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p10LF-0005NV-CH; Fri, 02 Dec 2022 07:20:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451494.709240; Fri, 02 Dec 2022 07:20:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p10LF-0005NO-5q; Fri, 02 Dec 2022 07:20:13 +0000
Received: by outflank-mailman (input) for mailman id 451494;
 Fri, 02 Dec 2022 07:20:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p10LE-0005Mg-OR; Fri, 02 Dec 2022 07:20:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p10LE-0002ct-LA; Fri, 02 Dec 2022 07:20:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p10LE-0008Uq-8F; Fri, 02 Dec 2022 07:20:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p10LE-0003UF-7R; Fri, 02 Dec 2022 07:20:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Healat7aP87WKNkJ0yPmt0CPGmmKEiKaXfaf2h5ALxE=; b=RG+DucdzKHmSGOsLsjBrrP+Waa
	PkN0vOG9ynuoSWf/Ih901h3NJZNWKquWRRA5D6gmyqBnYWuZ0dQpH5AnQYKd9Fu4Q7y4J7vT9YMnC
	ZrwLm+IWSYjv+5XHUE+OqQIXFNvdn2O3NsGnIFnq9vpXRsvaU6f0Lcc/YUn/E9GeumXQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175009-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175009: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-xsm:debian-fixup:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=ddcc208ccdd44c688b3265be26237875c16b6258
X-Osstest-Versions-That:
    xen=345135942bf9632eba1409ba432cfcae3b7649c7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 07:20:12 +0000

flight 175009 xen-unstable real [real]
flight 175020 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175009/
http://logs.test-lab.xenproject.org/osstest/logs/175020/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-xsm  13 debian-fixup        fail pass in 175020-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-xsm 15 migrate-support-check fail in 175020 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 174999
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 174999
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 174999
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 174999
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 174999
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 174999
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 174999
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 174999
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 174999
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 174999
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 174999
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 174999
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  ddcc208ccdd44c688b3265be26237875c16b6258
baseline version:
 xen                  345135942bf9632eba1409ba432cfcae3b7649c7

Last test of basis   174999  2022-12-01 01:51:54 Z    1 days
Testing same since   175009  2022-12-01 15:40:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Michal Orzel <michal.orzel@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   345135942b..ddcc208ccd  ddcc208ccdd44c688b3265be26237875c16b6258 -> master


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 07:27:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 07:27:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451509.709261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p10SW-0006ki-6I; Fri, 02 Dec 2022 07:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451509.709261; Fri, 02 Dec 2022 07:27:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p10SW-0006kb-3K; Fri, 02 Dec 2022 07:27:44 +0000
Received: by outflank-mailman (input) for mailman id 451509;
 Fri, 02 Dec 2022 07:27:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6g/C=4A=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1p10SV-0006kV-GC
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 07:27:43 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce33cf10-7212-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 08:27:41 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 o7-20020a05600c510700b003cffc0b3374so3610652wms.0
 for <xen-devel@lists.xenproject.org>; Thu, 01 Dec 2022 23:27:42 -0800 (PST)
Received: from [192.168.30.216] ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id
 h20-20020a05600c351400b003c6cd82596esm13400449wmq.43.2022.12.01.23.27.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 01 Dec 2022 23:27:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce33cf10-7212-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=p3aB0mnOQ+ZWhak1nLkfu9FqkmgJit9mNfH8A6i2La4=;
        b=yG712CVpxij29FVeedIFV5f4Sda6349it4wloq9uXkPmF+kxUEjMmriknqlV6jZLZp
         jgctrIRqBlaJpxDb1MdhYBr9EPam+GUxXWeewGe/PHrGm/9YP2SmY2aUGsjYEg+86+sT
         OpO9auSJocldxlADDXZzuqiis9SgZs+WTthpMSqDIsvSemQT9lu1l0Qxyh1o6NsQInu6
         eVe1dlOynNiIPJKN1XOIyRp7ZD5f4LJdDPPPRXV0iE5oy2t8EQQdcf2YOuTr0tr9iPb8
         qOa3la7e2mWgHQbKUan2ZY+BaNLMm7Tqt4vfDyXIhVqC7yB7LA8XBlh18DcBFRMD+8F/
         Ku8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=p3aB0mnOQ+ZWhak1nLkfu9FqkmgJit9mNfH8A6i2La4=;
        b=d9JuzqdeROQqAAkpebCokAmDtY5puwne/9UpfmEheKL8Ycb+fXWTYhjeiIxW+OyIxa
         H2mJ6pYO9B1oNaGgMnx3m6GNV0WH4Sbr/CNkwCGvLQ5hnEPwVjHaxdB/gq4Phx42KCoo
         PvJ7L65tkA1FoZONmJCxMfUl7Ve11JjPHNTjbNsXLR57r8Z0XtkV1T95ZKh8tSJdpE+c
         bKOk66Xd832sJwVt+2aiASRFEDxUT0nXdQ6B0NFVawk/6pXTUboRXwcceQsbGnnUucKK
         hi5k/A7SeSbyyroTywgBF4N2U0X4r808CG/QZ3pUWFPvK1tZMwJsEHNM+7d99Mt3IxN7
         JfYA==
X-Gm-Message-State: ANoB5plYPaCLUjc2sbW7m9TEU6l1eJiedU9yP0dCeJ/PPFjHZ+Y0IkD4
	H6v7alUg+n1CR2oAvZUUDJ1SOg==
X-Google-Smtp-Source: AA0mqf4Pv2F57J6qsiF3Ay5oqePGdDmBDyK04oa/2DfZ1Ogn7g2NjAIFUFxPtvHmjc5ytZPSBTTeiQ==
X-Received: by 2002:a7b:c2aa:0:b0:3cf:5d41:bea1 with SMTP id c10-20020a7bc2aa000000b003cf5d41bea1mr39428515wmk.118.1669966061821;
        Thu, 01 Dec 2022 23:27:41 -0800 (PST)
Message-ID: <e7922267-9a87-8936-942e-e73a789672f9@linaro.org>
Date: Fri, 2 Dec 2022 08:27:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [QEMU][PATCH v2 07/11] hw/xen/xen-hvm-common: Use g_new and
 error_setg_errno
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, qemu-dev@xilinx.com
Cc: stefano.stabellini@amd.com, alex.bennee@linaro.org,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:All patches CC here" <qemu-devel@nongnu.org>,
 Markus Armbruster <armbru@redhat.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
 <20221202030003.11441-8-vikram.garhwal@amd.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20221202030003.11441-8-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2/12/22 03:59, Vikram Garhwal wrote:
> Replace g_malloc with g_new and perror with error_setg_errno.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> ---
>   hw/xen/xen-hvm-common.c | 15 ++++++++-------
>   1 file changed, 8 insertions(+), 7 deletions(-)


> @@ -717,7 +717,7 @@ void destroy_hvm_domain(bool reboot)
>       xc_interface *xc_handle;
>       int sts;
>       int rc;
> -
> +    Error *errp = NULL;
>       unsigned int reason = reboot ? SHUTDOWN_reboot : SHUTDOWN_poweroff;
>   
>       if (xen_dmod) {
> @@ -726,7 +726,7 @@ void destroy_hvm_domain(bool reboot)
>               return;
>           }
>           if (errno != ENOTTY /* old Xen */) {
> -            perror("xendevicemodel_shutdown failed");
> +            error_setg_errno(&errp, errno, "xendevicemodel_shutdown failed");

See "qapi/error.h":

  * = Passing errors around =
  *
  * Errors get passed to the caller through the conventional @errp
  * parameter.

Here you are not passing the error to the caller.

Maybe you are looking for the "qemu/error-report.h" API?

>           }
>           /* well, try the old thing then */
>       }


> @@ -857,16 +857,17 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
>                           MemoryListener xen_memory_listener)
>   {
>       int rc;
> +    Error *errp = NULL;
>   
>       state->xce_handle = xenevtchn_open(NULL, 0);
>       if (state->xce_handle == NULL) {
> -        perror("xen: event channel open");
> +        error_setg_errno(&errp, errno, "xen: event channel open");
>           goto err;
>       }
>   
>       state->xenstore = xs_daemon_open();
>       if (state->xenstore == NULL) {
> -        perror("xen: xenstore open");
> +        error_setg_errno(&errp, errno, "xen: xenstore open");
>           goto err;
>       }
>   

Ditto.


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 07:30:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 07:30:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451515.709272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p10VS-00087m-Jk; Fri, 02 Dec 2022 07:30:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451515.709272; Fri, 02 Dec 2022 07:30:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p10VS-00087f-H2; Fri, 02 Dec 2022 07:30:46 +0000
Received: by outflank-mailman (input) for mailman id 451515;
 Fri, 02 Dec 2022 07:30:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6g/C=4A=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1p10VR-00087Z-OY
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 07:30:45 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3ab94868-7213-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 08:30:43 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id h7so471021wrs.6
 for <xen-devel@lists.xenproject.org>; Thu, 01 Dec 2022 23:30:44 -0800 (PST)
Received: from [192.168.30.216] ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id
 ay2-20020a05600c1e0200b003cfd0bd8c0asm7871437wmb.30.2022.12.01.23.30.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 01 Dec 2022 23:30:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ab94868-7213-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=J8ql54sZJDunHedzTHnvosP2GFNhHBt/jwxcWVqkKrw=;
        b=TVm1NIYh1Q7iAyTsM7qc7hev15vNkoSE8EUSnwGoHabUGC7UBmF1fkdCO/1U1u9xvo
         KlSdHsLwxaur76EYgZ0zvMRl4P1QQiaY/9VWmVIvozawQHZ6uPeV1DuOyrTs+I80n8LX
         XVNCBStJBxUoIjtj9rxXkW4qSgR1dP7w4xaZtMQGwQqUfRhhF/tswrPe8GJrhrQQ3Qiy
         rPKxcZONGThvC4K9MK7QdaLY39ddR18fAIWzSwK2l+VLUowb05BdG4jphZtRNbWTasSf
         gUm21rixoV27yY4W2G24evxcn5WR5MUUS2rjHYj5mBOZhhfOI32cFVp7kohXXzjZhZQv
         jsPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=J8ql54sZJDunHedzTHnvosP2GFNhHBt/jwxcWVqkKrw=;
        b=ZHoYRUAMGhehNhT/1ugUAFCNpOF9WL7tLqOXBJYlpchwBpPUugpmRwwfLZDIa0Zmv/
         iynnlXC6WVtkVPc9xb+M92SEcsIs6BKevfUvut1RE4NOqUHvbhtc5Pj6zsWhCxhM+nQp
         M6r1SKasDrr9jppGc2cu6Dni2PnYyJUl1ZbMjohXTlotV+Y+MoaKZT1e0Ofyc2T5a2wh
         wVWgufI56Ykjfj2lrxhDgKnBPWDfXiNANSGvbCtLDTGvonWhDKTeHLqeZSlbg+HdwPDa
         FMjS/wjInQIZ0VzZtl/sXoiav0lnHl+cpw7l5ZbnVP9dAW2wf1EKaXOXQLAFRWTLGPdo
         vaig==
X-Gm-Message-State: ANoB5pnLvmYeoHQtogNbKZ2ftUAZiofaS01KIDqSFpJ7tksq2CBKTipI
	tG5XBxCL4bCgIm4ePqSGREuLjA==
X-Google-Smtp-Source: AA0mqf4hLyZpN4MxmrOcTbwU9h/hfXuZXL0BMzihoq1RZI2AynblVXMjBtNnrDSTRdGVTGfqWnAZbA==
X-Received: by 2002:adf:f8cf:0:b0:242:3fac:df9f with SMTP id f15-20020adff8cf000000b002423facdf9fmr2641768wrq.117.1669966243940;
        Thu, 01 Dec 2022 23:30:43 -0800 (PST)
Message-ID: <429495ae-9d8e-9921-9e8a-f913cb5b2779@linaro.org>
Date: Fri, 2 Dec 2022 08:30:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [QEMU][PATCH v2 10/11] hw/arm: introduce xenpv machine
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, qemu-dev@xilinx.com
Cc: stefano.stabellini@amd.com, alex.bennee@linaro.org,
 xen-devel@lists.xenproject.org, Peter Maydell <peter.maydell@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>,
 "open list:All patches CC here" <qemu-devel@nongnu.org>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
 <20221202030003.11441-11-vikram.garhwal@amd.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20221202030003.11441-11-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2/12/22 04:00, Vikram Garhwal wrote:
> Add a new machine xenpv which creates a IOREQ server to register/connect with
> Xen Hypervisor.
> 
> Optional: When CONFIG_TPM is enabled, it also creates a tpm-tis-device, adds a
> TPM emulator and connects to swtpm running on host machine via chardev socket
> and support TPM functionalities for a guest domain.
> 
> Extra command line for aarch64 xenpv QEMU to connect to swtpm:
>      -chardev socket,id=chrtpm,path=/tmp/myvtpm2/swtpm-sock \
>      -tpmdev emulator,id=tpm0,chardev=chrtpm \
> 
> swtpm implements a TPM software emulator(TPM 1.2 & TPM 2) built on libtpms and
> provides access to TPM functionality over socket, chardev and CUSE interface.
> Github repo: https://github.com/stefanberger/swtpm
> Example for starting swtpm on host machine:
>      mkdir /tmp/vtpm2
>      swtpm socket --tpmstate dir=/tmp/vtpm2 \
>      --ctrl type=unixio,path=/tmp/vtpm2/swtpm-sock &
> 
> /* Comment about machine name. Will be removed in next version*/
> Please reply with the machine name you agree. Below are two possible names:
> 1. xenpv
> 2. xenpvh
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
>   hw/arm/meson.build            |   2 +
>   hw/arm/xen_arm.c              | 175 ++++++++++++++++++++++++++++++++++
>   include/hw/arm/xen_arch_hvm.h |   9 ++
>   include/hw/xen/arch_hvm.h     |   2 +
>   4 files changed, 188 insertions(+)
>   create mode 100644 hw/arm/xen_arm.c
>   create mode 100644 include/hw/arm/xen_arch_hvm.h


> diff --git a/include/hw/xen/arch_hvm.h b/include/hw/xen/arch_hvm.h
> index 26674648d8..c7c515220d 100644
> --- a/include/hw/xen/arch_hvm.h
> +++ b/include/hw/xen/arch_hvm.h
> @@ -1,3 +1,5 @@
>   #if defined(TARGET_I386) || defined(TARGET_X86_64)
>   #include "hw/i386/xen_arch_hvm.h"
> +#elif defined(TARGET_ARM) || defined(TARGET_ARM_64)
> +#include "hw/arm/xen_arch_hvm.h"
>   #endif

Do we really want to maintain a 32-bit PV machine?


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 08:26:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 08:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451529.709284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11NT-0000Kf-5r; Fri, 02 Dec 2022 08:26:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451529.709284; Fri, 02 Dec 2022 08:26:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11NT-0000KY-37; Fri, 02 Dec 2022 08:26:35 +0000
Received: by outflank-mailman (input) for mailman id 451529;
 Fri, 02 Dec 2022 08:26:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JFaq=4A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p11NQ-0000KS-Vl
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 08:26:33 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 049036d9-721b-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 09:26:29 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6941.eurprd04.prod.outlook.com (2603:10a6:803:12e::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.19; Fri, 2 Dec
 2022 08:26:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 08:26:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 049036d9-721b-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MJjJxxmE9CdeLp7uACAaPXkwJ+qXoM4fERSqbY9Rhf5UwEOGZqMzVKA5W/hGqzD7mSPTpY8z0of15c+R8O7kkwUNjaqJrrd76bvi6h5+07S2lpxoEWONKE071s4tb8qh7/HBz7cnS5NHh7CfOEMw7ex4HaTCRDMGEq+BBfT9+iW3NTGCuK59nMGUu0eDLXx8O6c4a+2ZUTfOp66FiRZDTDJNF0F1Bpu/YwVK4Ibh88k8Gw5xXWwHd+gAVagaFVdgsRtVLoEBzf6o1ybsSHUB9wT490HfJo/eT2qiruKkTfGTWzzp4USRLzhKq612SRDFz7l+xJesjs+RFVv7489E9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U6SRkuwGP7lpuSV2RyWEDI58DW+gF/ch0NtfoWqWS6A=;
 b=iKfKwOiqKA7J62595axq04qpnQ3MkjAIMaQq4LA51g4d4VGXdPPSf11JQ1aMCZVDjt/YwcNm1vzVb5BoSlJtuPauvD/VZWNXSytLDtIJEUeBgcnbsK/2mcE2ao315EU9/Q4mmhXeRnmsbQSYJ3acZQOwK4socGdFlREnjHGY6OoWD3Ee4GcBigP8Ue18fnuAoF5PajgmcWIvUuRkpwlJLIfLZ6TMAPPLQE0Uyvu0GkRdOeTOlkuoRObe0tHsH4FASFp9EYA6L+auZKzUFljoQWuHbO02uHVZvGI497QV2nXq/WbhtQTao/+yJHGbM5IdYoCr9qRqrKcVgSdcgwe9PA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U6SRkuwGP7lpuSV2RyWEDI58DW+gF/ch0NtfoWqWS6A=;
 b=vsX7jAbTWw7VghoZR4/Fw+9dw0VeqvOzXGv6nI43w7BJb6SJSKohkaTjCOMCKiGlQuuTh38jJo2Kvx4LiKCMhP0fBDZEmuR/binwb9XrA2+WZE/sWvcc9qC0vn25bSEwOK86/z3QhMLs9KStEmmJbMexgXNcmR6QFgmfQsbLKztJ1Tu0OlrzHSS+wgedqRcai/waWJd7Z1iHHiznX4RFBppeRsiY/3YeOoTM+FO+QxGVbkPjA85zBAgNba95pSehU096WsJZhAS72jkAYgU6zDDuZZMDAc3mpF00sOOPYvmZwRItyryjPRvKYKVsT8GI+uHmVTQK+n13ltQreSnNcA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d628796e-3b42-5d50-f8cc-039743d23057@suse.com>
Date: Fri, 2 Dec 2022 09:26:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: preparations for 4.16.3
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
References: <2c4c605e-f8c5-abbb-db85-89465b7e10a6@suse.com>
 <7aeec9a0-628f-d1bd-994d-343ab7f8b85f@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7aeec9a0-628f-d1bd-994d-343ab7f8b85f@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0134.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB6941:EE_
X-MS-Office365-Filtering-Correlation-Id: 59c8c636-0c9d-4cd0-f8fc-08dad43ee754
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NjD8HcrZwbagjnLT5q9lJNEvkFAt66shKf+mcIN1ZAmBr2M79Z20mM5tjsTtIOffRisBS0yI3dNCrJAc/s0bt5HuxQG9EwnEHgnTCQc7VEq2/x/AMNNrZVPgXzttx7bA7zLJq+GQy2Py7ixhjtDSx8KMVPGMhVPD3aN2ctSjp6IcDNzQf4bv1eTspdgrqk67ZHtWys4nbZZnL3vl87QdAQvNtVzRU0d1sLcc1hTcN7RBPpqAuA15af7w8KGVFqEjJpdUAzW78uOcqCPAbX6QKZ3+ymkfYPvo6Yc3IbvYt24zKd4L9f5HmbDjqC3SOlSIMqvLx6T/jFd4uPJBOwoUf8RnjzCAvlZo7b3CgpKlUeIVANSY+rWnN6s3q88Ozu5lz0np2bjuGlUlzuV3IRn0s8HEELdv/PatVkk5O3P+4uonwfIIaMjhx2E0k03QobzsrNncT0sORF7rXhINptyprk+E7MvhifhVZ6FuvPG1BOURLWcksxvXcL3erWg6IclnUyi5YSYGMtXoAD0oglw5g4fZZjScr88uLonUWMdJlLFfb6e8s/wgY2tJ5kbPKeMNGO980UfBz1+eiKtRBrvMNsHJtND0ZYydbkxBIjOVx9w9lmxtxI8NNLkZ9YPgKMCfDYOTk9lipj1hNWfAcDN20ghZbsX3oYGzinDb+Aqy8e9kUsvXuYsf0VarxHjFHF5UD4ZFeD7EOGC1zlBdx8rjeABbbKBB5MRLphXaGWe2A5U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(396003)(376002)(39860400002)(136003)(346002)(451199015)(31696002)(4326008)(41300700001)(186003)(316002)(66946007)(8676002)(2616005)(31686004)(53546011)(6512007)(6486002)(6506007)(6916009)(66556008)(6666004)(478600001)(86362001)(7116003)(4744005)(8936002)(38100700002)(26005)(2906002)(83380400001)(5660300002)(66476007)(66899015)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dlhMRWMvV1NTb0FiSVlOaklFTWZvbjkwSU9SVzkyd3dydmVFcDgvVUYybnlS?=
 =?utf-8?B?YWFGOTZLRmN5ZWZvQmFTUjZyQlFJUmJ6cW5zcXJCWk55TUVOdlA2bWszUTNS?=
 =?utf-8?B?QWJTeGVEYmxuaDdlcVBDOEpmN0h3MUVDU3BaQ0dhV1ZhbnNGVy9qTGFVOUJq?=
 =?utf-8?B?ZVB6QUJsT1F2ME53NHcremxIUzVPZU80NHpVdkw3QklMS05iaU9ENXlsdDhk?=
 =?utf-8?B?R3c5SEFNZUt2RDEzZjdNUTNTSFNHMWgxMjJFWldaOXM4bVpLVis2ZzRkMi94?=
 =?utf-8?B?bG8ydVljcVZrdUFVWUxuV3hmbTBiaXAxYWYveGp4aEErVnplNDFPMENoa0l3?=
 =?utf-8?B?emxiNjRuS0cyWS9Kb0VaWXgyOWczcXBwZ1BGWThmK3VVZ2ljV21aY3p5Y0ww?=
 =?utf-8?B?R2t6Y1BOWjdvY1VZaE1ZLytqMnZIdklWU2R3YnpsU091WElBcE1YYWJCTVdm?=
 =?utf-8?B?djZMdlhYeVV0UVRXeVFTRGpTVUNyeVFCVnk0OFJUUXpRM3Vra3FUQUtLTkNT?=
 =?utf-8?B?TDQ5YTFHSjNtMmFaUS8xUFlOUk9UV3Q3MGxwTE5oOXFmcFBlYW1KaVpncmUy?=
 =?utf-8?B?SmQra1FvcW1waHpUTVNNYnZZSTZoWmd3K3RibGl6SURRZmpYUG9jU0RwTnJK?=
 =?utf-8?B?TUVXNWdBTGhjK0F0OFVlVWxNa2FyS3NaN09vc1V6U0piL0VKVGxyd2dDdHRD?=
 =?utf-8?B?Vk1BUGw3NGFqcnVSbDJwd2c0dEVPSjRIb3N2SWl0dXZVV0tyQ2t3Mi9XaEZ1?=
 =?utf-8?B?T3BoNVVXanNDU0EvcCtnbWdpMG13SFY4S0UrbTVTcU9zY2k5NXNjMEphRE9v?=
 =?utf-8?B?bVlOWDY2MXg2bEJtd1h5L2dNWkJUK09waFdjQk9TQkNpYnhRNWRYTWJ4RGdO?=
 =?utf-8?B?UjAzVmkveUd6RitHYWMweEZDM3ExNWlTY3JSL2ViejcxWGVneW5xRGhBUkpz?=
 =?utf-8?B?Rm5TTm5TQTc1b1NCKytlR0kxczA3alFZR1BpSkQxUFN0ZmNhNy9IUzhEaEpO?=
 =?utf-8?B?UEdPQ2hOVlc2RFBMbmk4NUVhcWFhcmwzZzFHbE5DK05TRFhDWGlMbWhIVnlv?=
 =?utf-8?B?Z3drd3FjUkhEaE1FQTVtT250eW1CTUEwMC94MHZYMzJtUGxvd1VFd2ZNbzVL?=
 =?utf-8?B?dXovZ0FyUmY2M2VnbnFpUHVHUlpocmRyd2pKTm55YjhpS04wZ1BBMDd5di9m?=
 =?utf-8?B?OGxyMUpRVWovWVhUNEh3SjRrU3ExZG0yQ1A5RS82YkhYS1p1QXczbXVRNG9z?=
 =?utf-8?B?aU8xWTF3clkwTWN4VjZpMWlnK01VVHNsV3VlMmxRenRjc09zZkY1LzF3QkJk?=
 =?utf-8?B?TGZ5ZmtMTG9IdkJzMGhZWG91OXpzNE40MUdmbDgvUkdIcUZNL0t0c0ZwTFI2?=
 =?utf-8?B?UTBrT1JXMnY0SW56ZU1DUWRkZ2xqQU9uN3Nxc0NmWENHSXB3V0xqRWxKTDhh?=
 =?utf-8?B?WWhMcGMrbHZtdFVobmZWSjRlU0tKTXdsOGgvY09yaTRvRXBkSUc1ajY0WlJj?=
 =?utf-8?B?eG1RdlQzNTZNOHdXeDBQY2VKLzBjUTVGZktCZHVZL2FFdC9qSkY1N3NSRmZN?=
 =?utf-8?B?QmZuNDl1ZkxkRFNlN3B5c2ZhNXhwNlNVM3dIU1RnNmFpaUFlM1U2MkZlRFQ0?=
 =?utf-8?B?cEdGWlFUc2NYcldHNGY4OGpyeEljaDN1MkJtZklhK21MTEwyYkN4Nm1hMmk1?=
 =?utf-8?B?dVQ0L3VKNmhYOExocTBabCtMdTVqTm1PQWpXbGVaN2JyTndxMDF6aWQ2K2sx?=
 =?utf-8?B?RHpZRDIzQis2a2pQQzRZMExDNlQ0clFHR0NoSTdYUFZCN2JhZlZFMFhVK082?=
 =?utf-8?B?OWVLWVhPSG1xRDdzdy8vdXZBTU9aZ1h2Ukd5L2dpbmU4aEE4VFprUjNTeEpt?=
 =?utf-8?B?TnVjbm1jSlJFUWZSNkVwNktGc3ZvbFVTTmtDaVNwd0EvZ3MwYVFFNzhjL0dZ?=
 =?utf-8?B?S0dZOFBINFJwUGdzdDE4eWowSWd4MHQvSEJJUjRuZk1Nbm4wVmdtNGFodzJQ?=
 =?utf-8?B?cGtDSDRyWEhyR3FTMVdlc0wxaDQ0MExQR2wxc3JjK1NuTU9ReXNqeTJLSkRn?=
 =?utf-8?B?dlRQOXlqZERrOVdSNkQ4QjkzV2RMeWYrcWF6TlBhZjFuTUlabHM1SXpaak1q?=
 =?utf-8?Q?LJ+nXZIABWXrYAE+ftBJtZt2D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 59c8c636-0c9d-4cd0-f8fc-08dad43ee754
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 08:26:27.0512
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kUWHwAIOr1JlSRBJhUf5ywcWbiR3kzCQC8rOJlgeQ/Xa7cWjYG74GvHYBhKLjM/ggpKx+qSkr38NjIY/kJ5KPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6941

On 01.12.2022 14:20, Andrew Cooper wrote:
> On 28/11/2022 10:50, Jan Beulich wrote:
>> All,
>>
>> the release is due in a couple of weeks time; ideally we'd get it out
>> before the year end break.
>>
>> Please point out backports you find missing from the respective staging
>> branch, but which you consider relevant.
> 
> I have a whole pile, all to do with (o)xenstored live update, but
> they're sadly in my pending 4.18 branch.
> 
> Hopefully there's time for those to get into staging before it's too
> late to include for 4.16.3 too.

I see you've pushed a bunch; I can't guess though which ones you would
intend to be backported. Depending on the size of the set I may end up
asking you to take care of cherry-picking. And of course I'll assume
the oxenstored maintainers agree with whatever set is intended to be
backported.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 08:31:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 08:31:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451537.709295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11Rx-0002GH-OD; Fri, 02 Dec 2022 08:31:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451537.709295; Fri, 02 Dec 2022 08:31:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11Rx-0002GA-LP; Fri, 02 Dec 2022 08:31:13 +0000
Received: by outflank-mailman (input) for mailman id 451537;
 Fri, 02 Dec 2022 08:31:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JFaq=4A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p11Rx-0002G4-64
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 08:31:13 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20629.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id acfa9f43-721b-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 09:31:11 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8991.eurprd04.prod.outlook.com (2603:10a6:102:20e::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Fri, 2 Dec
 2022 08:31:09 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 08:31:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: acfa9f43-721b-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lRqvwtSLuR8u4Zd2nK63V/QY8kwQqtxohkuUUkIkB3f7xPf+C+eCk4E+9HL0UNcYC52r8X4n1YTBKjcQ7Lio5v692Kqtl6+qTamSOWiElsMSg/rBOD/F45lnnfrNfvDkz6Lc4HGwefQkEZPBhWNlF3OHVW0o8dExXgeU4NIXa5DlJ3Zt0N3J6zsYQyWUNVnxB5Gfx1CquspgO/ltg/mTslMZF581SSIGt8B4HFYFhsDcDI5p3dusustShQmZxvmAw+4ra/lRzF/0JOHWGKlALgoPo6cZZNmuukZO7SfI+cMvOk28SyGnrlkmQK3oKlG3Zd7GztTGgsLxcxxu2tKC6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AxbW+aRMrgEOz9y0LOeXrdsB5+rJ1bnEGX77qJbykfY=;
 b=h8bGZNuiehX3IPiThL9FqQ095sWh3LDIvqyiilPFJMKA9Vu8o9CLP32NUk1AVEEcOggFOcZnpquAEwDPONrrdNnzik0NmB1i4OJAcZKHp7usy+0Xd0ggk9+/CNX8e26k2BYOC8aNtSPOiu21FBD902pWl2Lyr6JjmT9Gi3jWcUMangD8o6xknPHAqNIKBeL2PmfWgLQoy/lwC22rXUjDzz4227yFyG1zb7z1lraFeKBUbS1Sg0jw3w3h/ioqRc6t3LL6pM/qwPoFEItBqRJ00eh6L03xo9mCf4KSHKxu//I5zrcD964quW3Bmneu5V/LoWRvneMSXKa+V0i2+LC3uQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AxbW+aRMrgEOz9y0LOeXrdsB5+rJ1bnEGX77qJbykfY=;
 b=40o3MTXETZR/CHgoSjzGILtvL3xIKLjONpRIBRQnmPgh3qx3P37BsG8qcNOOlMkKmRv4uPSpgvafOppm49rawkGWLATus0vBphAzpLVuTc0shncXYrrWWEuC/vp6vNrLEf34Y4Z8L4V09q2p4qnitVuUoLXl3oa8G4nlQiqfVeg/l2+T0/Kl+X7uaYpFSKAluE4DJkRmutBBTSkrzMJ8dsPFoZUre5yzvcgr0JDInU9+XbjELDsB0XqQrX5lBYL4Qr1bV/ps1SWU5WvLnEJcM/3063GyUZIArJlFGuBpCWPF6q1L/iUjoGu3DtP52nVLoyiOlVPFKTo1t6V7xN1Mrw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d0d974a8-d463-9362-8b6e-cda1691a3464@suse.com>
Date: Fri, 2 Dec 2022 09:31:07 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [XEN v2] Xen: Ensure "xenheap_bits - PAGE_SHIFT" can be used to
 shift "unsigned long"
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefanos@xilinx.com, julien@xen.org,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 xen-devel@lists.xenproject.org
References: <20221201181145.45279-1-ayan.kumar.halder@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221201181145.45279-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0094.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8991:EE_
X-MS-Office365-Filtering-Correlation-Id: 38865847-e8fc-4b3e-d487-08dad43f901a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7PGMSXawsIh+c+vwOHb+UiD25zfi35QmRGkx45uLdjsaWWZu1WV81p64b2yax4pKcCUIzseQlAImWpodQE+wrRirsWBoOFj9oYT7YN3/6hf7T/CpH0ucGe55Q41rFvXb3ZFU7QuCV4ERuZd5Yy6tjFU5o29kpNn0ghJOw6e1dbzW7uH2ju+VKbnYxwbt+rqfUcQBpBcaZJhB6BqWeSAxq3Qs3kdcYKos6vSRANxagce9Lfn7WZ1oMWEQ8DCMZigbyD+TsJ0hT24A4utOsIrxfGyKWBbHUha8gjOF/13Z2JhK468/wcx9iN+0rohWG/jRsDB0b993tRSTYo2UpPQc2WEUHeN+tEaXqhnpqHkiIwIQ1aARm3jlE41TFtiPXwHnqrDdnhr8AYkhocBmEutbaJNscOqHb9L7MiBdRPaZL5/e1qxcf0tgqW7haF/f2619jr5qcEOZXCnetlMEQzDVMdjhg6rKGzlQIlUprcjjhfk1nPplYpf1+zB19ScGh/dgfGIn0a5IiMiVOWGj2rtWNtqPr9Dcfvgl6PZGQMl4q0mEZ5J9TPtG04EK09GG5j9jl7/UaO6fhYOGxvtAFqWAstAKgKcZiFsyy/M9RR76wJQRUXa4DOHMVrAEu1rYCh9Ai1kLKxAlDy+AC/DeFTrIv3Jh34P5eobOcSxt/Yc9yWGVzdNcG2piQH+CKAdWs3VEplMnECC9O5qIitDf2RAMNyhjC4dJj8Y3bICAUaR48Jg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(346002)(396003)(136003)(366004)(451199015)(31686004)(8936002)(36756003)(31696002)(86362001)(316002)(2906002)(6916009)(6486002)(478600001)(6512007)(38100700002)(53546011)(6506007)(2616005)(26005)(186003)(41300700001)(8676002)(66946007)(5660300002)(66476007)(66556008)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Tk1Oc2Njajg0RHR5NmlXbXV2czZNTFBvUzg5TzMvUmxvU2ZXYmFEWlhMQmR5?=
 =?utf-8?B?aGFvNU1qZU1zN1JJZTRJZ2pGajhlamswaTdlZmowcjJWa2hkQitOcUR6c2VK?=
 =?utf-8?B?RmROUTJSc3JuTUk4RWZaQ0xFR3FIb0tobXcvb1J0WmJORWxPTHNUVHJseElS?=
 =?utf-8?B?clpONVZMQUVrdUFDem1lOWg3M2ZCaHFaQll1OVRvMlZ2eDVWTFY3dGdiVXpi?=
 =?utf-8?B?TTg4OWVhTVVicVc1T1F5aEpLekpqd3lRY0IxNmxDM1BnNU1FYjhSdTllOVBl?=
 =?utf-8?B?NFhEME4raHhkTlpIcHh4M0tsVEF4YVNGSU00MW1tbzg1MDdMU2ZkR3MrM2Jq?=
 =?utf-8?B?ZlRNaVZVOXFWV2ZhOVEweno1MnUrK0ZQUHpWWExSSkxaU0dUMWdmdjJtSlBS?=
 =?utf-8?B?MFJlcUQ0Y01OWFM0OEVPMjRTcWdwR0J3dUlSWE00OENGNzBPZTNmS1EyTEFK?=
 =?utf-8?B?ZmNHckthMWNkY2MyRVNqK0ZWeHRKRWh3amJBRFBQZzJsamZEenE4VHdDdzNM?=
 =?utf-8?B?SEJXTXhzWWZ2OGVab3JabE9zdXVzZzZoUFllb0lSOGgyU1luYUg5VnptMVN3?=
 =?utf-8?B?UXZRY0FXME4yQW95SjZDNVFWSUFCK3c2ZXduVmpGU0ozVnlUeFpQOUxiVWdL?=
 =?utf-8?B?UkRsSFRiNXJuOERPdXlYbUs5MGU4Tk83bzdzNHN4QXFKWnM4dk5EUEo5Z0Rm?=
 =?utf-8?B?dnJuMlkxMnJmR2c3QVJEYWV3eFBuc2V2bkhmV1RvOUhQSUpPeDZmZGFzdkdj?=
 =?utf-8?B?WTVrY1hiTFdRenY5Tmd3cGZxeExJcEp1aEVLakdOb1RTY05hclhIT1VPdGUx?=
 =?utf-8?B?NElUUVBSSXVrbVF3RmRVV29hUlRJWms5OXI1WWtmb0tqL1pzRkdQdkpSYWZH?=
 =?utf-8?B?cTZYVHFQSzBIT0VqRnRuWlJMR0xiWHdnRjg4VEtUOXpGekZWbHJCVHJEWEJM?=
 =?utf-8?B?YVNVZnoxZVR2WkFkMXlUQmR3U2pJTWYycnpna1JWS1c2SGh3Wk44U3FLT2FJ?=
 =?utf-8?B?a2hWcFlQQWtyMFB4dURBdWRPTHljTytkZWJBdUp3SlJEVGtqekdmUUwxcUJx?=
 =?utf-8?B?bHlrSnJ6NTVybi9HdzFicVl5Wm9Xa0wzSTYyNVJ3Uldsc2JzU1luSkJzdzF2?=
 =?utf-8?B?VzQ0aGNSSzViVkQyMkRsMnZrRElOc0w4a0pKaWxQRDdaTm84RjdEWm5zcE8z?=
 =?utf-8?B?UE10QnVZMVZKbjN0MmRUSEtLelNTNHZWWEtwbngzUzFxRnA0T01pTEpmSGg1?=
 =?utf-8?B?RytpSy94YlM3aHJobWlrMVc4bW9KcmdVWnEvYkdRWVVLTHZxZFMwOXpHSHo5?=
 =?utf-8?B?blhMSDhLRDIxL3pvaXlmbmJva0NQd3c3elRWZFhzNENNSVU0NFNkQkt2a1R0?=
 =?utf-8?B?SHpLUGg3MVVLQytkSE9mU2Noa09MRFBSWXJiY3FjMW1mTi9qZ08rL3RuV1pC?=
 =?utf-8?B?MUYyYm1hYm40Z0U5NjhxZVFqODJPTE9aNUpTajRTblc3MDl2OG9RclJvL2FW?=
 =?utf-8?B?dFZCZ3hLdXlkOHpPNk5qTTNlbW84NjNRYi9QcjJGVStFVlV5V0srY3lzbDUx?=
 =?utf-8?B?V1JidGJnK0tsM05VSnNpS3czc3gvM3F4TnRhMUpTSzBDekV3Ym4xUllBNFJl?=
 =?utf-8?B?NGk5QWxwREcrbEx1ZHhTaVdSM1VQYVR0d1dzdG9ha0hoaWM5Z2lFN3hJOVpu?=
 =?utf-8?B?c0RLMUJKVm1XakczbW1DTGFUdHNzR1p6ZzhTS3gvSnlMWnZMeG5ia2lQVnNQ?=
 =?utf-8?B?MWhQa1JxdXdyQ2xXYWZsNXBhTHNjYW90Y3JmcVowalNQSnNLSkRYZmpsbTJY?=
 =?utf-8?B?aGFRY2hQMnpNcFo0dlV1bHo1TC9DWGFOSFFxNkJkVHZHRDRJcTc3LzR6YndL?=
 =?utf-8?B?bmhZc21ibFhueG1mckRXU3Z1VjdRWUJEcTN0Nm5IM0VmVnVYWjhrVmZjL2xI?=
 =?utf-8?B?ckFiUHVYblhLOEVWaXNtMXk4UWVzNnQ3clFZaVBkaDh6ZDdUdERuVGhUWXV4?=
 =?utf-8?B?aHRZZGh3c1FKbHVNN0NGaTVsSkRqV0ROTS82eWR3b1JkZUNuNVFEWi82RUwy?=
 =?utf-8?B?YWtEaEo2NTVqM3NGZXpRd3c2aUhjS0QvMThibGJtSnhZTmQxNEtMNGJLWGJN?=
 =?utf-8?Q?TKR/9ZOdY2NEhj87jduxFOpuk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 38865847-e8fc-4b3e-d487-08dad43f901a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 08:31:09.3145
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CtXEtnbf5tStww535JKEGpp7+XKruCDCtJX7A5QrRMkIOzmj4ndcv6sojbgvnrKcQk8sgniFgKYhHjjKN+ZwiQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8991

On 01.12.2022 19:11, Ayan Kumar Halder wrote:
> Machine frame number (mfn) is used to represent the hardware page address.
> This is an unsigned long variable. We need to check if it can hold the complete
> range of hardware page addresses. To ensure this we check that the count of bits
> represented by 'unsigned long' added to the bit index of page size, should be
> less than the count of bits required to represent the maximum physical address.

I'm afraid I can't connect the description with ...

> --- a/xen/common/page_alloc.c
> +++ b/xen/common/page_alloc.c
> @@ -2245,7 +2245,7 @@ void __init xenheap_max_mfn(unsigned long mfn)
>  {
>      ASSERT(!first_node_initialised);
>      ASSERT(!xenheap_bits);
> -    BUILD_BUG_ON(PADDR_BITS >= BITS_PER_LONG);
> +    BUILD_BUG_ON((PADDR_BITS - PAGE_SHIFT) >= BITS_PER_LONG);

... the actual change made. Julien, when replying to v1, already gave
a clear hint what is relevant: The use of (xenheap_bits - PAGE_SHIFT)
in right hand operands of shift operators. As relevant is of course
the absence of uses directly as shift counts, which otherwise could
still be UB (and which iirc is why the adjustment by PAGE_SHIFT was
left out in the original check).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 08:39:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 08:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451545.709305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11Za-0002xA-Hb; Fri, 02 Dec 2022 08:39:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451545.709305; Fri, 02 Dec 2022 08:39:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11Za-0002x3-F2; Fri, 02 Dec 2022 08:39:06 +0000
Received: by outflank-mailman (input) for mailman id 451545;
 Fri, 02 Dec 2022 08:39:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JFaq=4A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p11ZZ-0002wx-R1
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 08:39:05 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c68dc11a-721c-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 09:39:03 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8317.eurprd04.prod.outlook.com (2603:10a6:102:1ce::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.17; Fri, 2 Dec
 2022 08:39:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 08:39:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c68dc11a-721c-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HhdTGmYm9IgI30OzapbNP+uwQ1KW1/A0OqyOG3xuUUU96bbWPRDUeDIEMn//zpNQn/AXGcNs3uM2VzayoJOQVhQDLpMnrfQcFE7ubXcR1f4DSxFCm4K0pEuFg/bq0qgTR/PdPj7mZJxOodMlFK7+z+GsXvOjuaKK6/56B9gMqbOsYRODI3Qq+BxVu7pXkctPs4sRt++wGTfVTcyf+F9nipu66AOswsa3AK/e5T1W0nUlHZaCBTdnJXU4XomjhjSNPSGc9cZXR/fAK1T6gTKEjX0TY8UxbLhL5SyNcLfmzdMBrqQWD3zCmjVG8SIEBm99gShvU+YNrFlAqV1AppL0XQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5OWJ8qUSiYEjCXeJLwIb5HJ68rgWS3zgsiNnX43XXwo=;
 b=c47ZLNY6YyFmWLHnHtnfssR9nzohQG1wl7qLsig3emjQ5etIfAGZtzq8xbYLNpJ9RvR/9bDUkAehJbW3rRAT/nlZgxd7V7FuW+A3HuKk3jgMaklCJHDKIou2MpuUalf4GKg3A5IvqrZcx/wLIDD+uRJRttUeT8ZpeCNFg6AbDkcV6/56EzMZtdInrgGxNQ5C/iYsMhrVETduqKpZancH2rmvWDRMVraTyxcCTNPo3S1yspJDfrhgWBH2gZ7zSOjLgPRQWZ43BdAV0w/rTiyP6vxj9ZeZnMVPQUBiOj7JYNHbTq1p3Z1EeLc1BnNxUIGoD2QEB7mxheq8wen3EXLl8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5OWJ8qUSiYEjCXeJLwIb5HJ68rgWS3zgsiNnX43XXwo=;
 b=FAk9WZBeymTHwlxxcV2EbA2sNtwP3oJsFvgAXt2UxjljWWjYcEEjAufiT2Wv+zyHu07QmkkRBRZbCAgWLo4JNE9FZMv2FAihysd3qQqDMpsmE8QbDuu39lPzqypzBvheXaNJQDRBplPT9cstUdVZpeYkkeGzHJFO7PKCnYLNIgm/aavcNMdtT6vFD5ogUNgMX/K4eSf84UGsdyfZ7/hfApWp3AmxJx4f64ErGY6yKFc8SYhsyadfV7P7CQ6t0cdxiuy/J2ZMlvOWAjZ/O+kmhoIC/fjfU7sYnXjyXQSnuzoXUX1ADqlyKtPHGa9HFwEOEUVqCO3qroz5DRCss6V3gg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f9a8045d-c31b-7958-b325-0ee223fe723d@suse.com>
Date: Fri, 2 Dec 2022 09:39:01 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1669888522.git.rahul.singh@arm.com>
 <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0142.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8317:EE_
X-MS-Office365-Filtering-Correlation-Id: c5741a9f-05a1-4a69-6f05-08dad440aa68
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BcI7th0NG+zcmtfr6ETM/TPCnIC3v6K3R2LthcWFccraKypLI5Kdv0hdVsyblBO6sLRrwTAGYCzUTk2ekWaaQgG6hURRgYh6t8zNy30VKiI0xBay0b6+52ROK1zSvuymBG2jL6lKfx6G3D2iIMbTQ5NtCkomivsZ3rba+pRkIyAhHtpdLXLHQ7HRCULOrQs+F3VkP9pDwGb2JKxtnt6pis5Kkj+NYfXsMcjX3DNDbErYoy/Y4fmx1SJ9w1XwBDtbYQPHTJ/5dY9s2e4vpUHxbJr3aIQFH7stF/GI1xZ47FfouiWxnLKXV+jo+NDj0DzF+j4/7AEVhg+dZVQemhmpWf1VG/GyP8n1d22NrRH6a0V9oMoS3TkBFZAIwBM1PyKY4Vu6pTTNiKCKD3BCwp3LUFpErbsasQ/DxEMPp9rjfW+hA8t6iUzPCS6brGjjQVJreEscGTLY6K9kkoasSVVMH5Aq4FZi3g+7oTqBVIziCJgAa+aMMow3B29x/ariOM/So67uNpBSUWQmXb9tmNfWjC/7u3QTsuJvI+T++NSksZv4OjUMNOjK2yQb/rn2CL3Rxi0Pqo3yK8UbfuYnwfiQ901kTy16P0qi+mAAwrwcNuiJrVzPJPSh9yyPa/pAa4fE3cd6FQL/kQ/wWcGrgx7Qcy1ck7Cd1lJKmudJHhUlSXJ1kUP+acfPsST6WsgAiNplc+IXc2JafcdMpexlW2yn+qx+P4B230HyfU7ZZxPWEePtyb/tVRgaNoRnajuMnFM/
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(366004)(136003)(396003)(346002)(376002)(451199015)(31696002)(86362001)(316002)(38100700002)(66476007)(66556008)(66946007)(6916009)(8676002)(41300700001)(4326008)(54906003)(2906002)(5660300002)(8936002)(6506007)(6512007)(53546011)(6486002)(2616005)(186003)(478600001)(26005)(31686004)(36756003)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RnF5NUdjYWNkbzRrT0loSklNVU0ydTF1WWozTTg2aHQ3U0s5cCsvUkFld3JW?=
 =?utf-8?B?aS9vTzZvS0ZNczE1b0hwcnQwVnFIejZYRkxjbVJCOCt5ZE1EM3J2K0hFYVNZ?=
 =?utf-8?B?T1FRSDhkTGhObjdwemwvQ25BdTdiN2xsMGFFOFVqd2IxcHBlaG9HV2RWdHFx?=
 =?utf-8?B?b2NvYmtrekd1RmQ2Y01vZU10eXBIb0RKd1ZaQ05VcVk3SW0xbmFod0hjQlZk?=
 =?utf-8?B?UWlrWlpMS1UxRk1xcXVFb0NtODArMVlLaWtIS1pLOFdHV08zQ21YcGRKQ1hL?=
 =?utf-8?B?cFRwejZkMlNmZk5zT1lBeGQ5TlJwcXpBYXpCdUpJSURhY3Z4L0pDbk9SSFVr?=
 =?utf-8?B?TmQvYzJhMU5xcmxjSy9XWlh1Um5rTHhBWHNHdEpZUkVLciswV3RoNG40SDRk?=
 =?utf-8?B?SFl1TjQ5TW04L05pWk1zS2ZadFRKeWNYcXRFK2diWmRZN1BGOUFuL2VNVXJF?=
 =?utf-8?B?MHF1eHFzRkRNOWxzSERjQXJKT1hvMVl0V0U5cUlWVkJsVXdRSTliTndjaTVN?=
 =?utf-8?B?N0tuZlVHbHlFVWZWZ3BSWGU3ZEw1R1JhQ3R1VFAyKzFld2ZvdU9PN1ZZS0do?=
 =?utf-8?B?OGEwakhBVlpCVSt5bU1WSHlKMkNqZ0RpSDM4SXlUd3BGajhYSi9tUXZteWNF?=
 =?utf-8?B?dUdZdnJJMURWMnBGWnl1ZnFMSlI3TkI2ZzRjQVN1dzRZZHlLRFh4NTRMemNh?=
 =?utf-8?B?NWFFV0RzMnhpMVhYaEt4VkVkajBwdXJCMStta295KzNxRjI2ai9vUEgwM1l3?=
 =?utf-8?B?K0VlRDR5cjRLODFDb01mNTV1L1VrUmxjU2VjazBjSlc4Z2R5UDBna3pEMXRy?=
 =?utf-8?B?NUxubzVVKzJRZ2JGR3YrWUltWlJFT3oxdkxncGxCTjBQS2ZJemNpQVdSRXVj?=
 =?utf-8?B?aDN3N0h5dXpGdmNJMHRzL0N4N0I1dEpCU3ZzV05weG9wZVJIUG9Vd01IRzla?=
 =?utf-8?B?amhXcElxNW42QnVNb21wbGc0eEVMaWVLL2RBdUFhbm50b09lWWdjdXRoVDF6?=
 =?utf-8?B?bTZLaEh0MmZhYkNFUUlsWlp0RHlGY3Y3SGNxRGpucUZLQ3BZZk91N2JTZ0dW?=
 =?utf-8?B?aWcwVlhHVnFtOUFLWkpHV0QvYTdxTXNvNVFodHBwQ0VCeWg4d2orbkpwOXV5?=
 =?utf-8?B?MnFQSXpleG9ZM3kzbHpwdjMzUGJ6VzBaOUJoRktiR3ZqcW5rTHAzc2ZnWmhR?=
 =?utf-8?B?ZGJqcUI1WkJVOUZoVGFvV0M5ajJBNitkNDV5dU5NSWRzRWExdmtCeWxwbkVu?=
 =?utf-8?B?RHZ1c2syZnd6ZUltL0NBdjBqS2dJYkNxTnZLMFIxUi9Ma21QS0g2MmhjVER4?=
 =?utf-8?B?UTJVSmc5U2VnbnZZQTFkVlZ0dXp0S3kwaVl2Zm5BTHhDbU5OU2Nwc2tOemR5?=
 =?utf-8?B?ckh2eGxlWUNhOHVscXdtVUNJb21nMlgzR0swelh0T1poSGMxOU5EekFmNWsz?=
 =?utf-8?B?bEN4eCtpR2xwN2RVb01tNzN5RFJ1a3BqR1lNUFlMZjByb0NpOW5qblNueVZ0?=
 =?utf-8?B?TDZHQm9DOHhBb3JDdHVGWld0VFV3bWVPZng3ZnZoVlJXbzQ2cUFqZ0FHN3RQ?=
 =?utf-8?B?RG0xSlE5ZURwZnBDTHRTR0hZYm91dk9YZkVHZWhqZnkrK2F5c2lMZ1pEMjNv?=
 =?utf-8?B?ODc3OWhtUThXYTUyNDFObzYvZFZYaWNrUWx4YWhIMjhlR0tjZmthUzBYd3pL?=
 =?utf-8?B?dlcwcHNLVFJ4T1FBcGdqUjRuTHJNZ3VXRUhTRzZlMUU4MEtTbm9BbFBWT243?=
 =?utf-8?B?aExGSXBwdUR2M3RGR3FwNVlIMFZqUFNzREF5YXoxUDZnbEIrdDhqSkhjbkhG?=
 =?utf-8?B?RjQ2RFhrb1ZEOWhMdXlwSDYrS1Q5QkQrQkRTdjlua2F5NnpxTUw1Vks0SEFq?=
 =?utf-8?B?ZGlBUzMyRm92amswOGRDeDVLOStqZVNOY3habFpqNTA2WEJIMzBpeWJaYlEx?=
 =?utf-8?B?bHdEQldWY1pzejNvUVBmLy9tcHhxWXN4cUttdnRGazRBR0hvQ0xKKzhNRlZF?=
 =?utf-8?B?RWlUMlZkMWlna1pob2RaT0ZydVg5WXNZRnU4SkpMMk02QUp6dk94RU1IdFFu?=
 =?utf-8?B?ZDBHZmZva0EyczZQdmowNE9vbzJtSllvM1o5VWkxb0FSbUE5U1pSSUV5dW4w?=
 =?utf-8?Q?BDjc7YzylJcvKIHQveVYEVMpF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5741a9f-05a1-4a69-6f05-08dad440aa68
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 08:39:02.9875
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ylpIgAS8yAj8MHffdWmhOIgvyoMd5oWjWBhTGjhTbYhJE0buqypVAwuadYfMQuf3zaY6AaFzRZ1y2U0s/Lcbzw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8317

On 01.12.2022 17:02, Rahul Singh wrote:
> --- a/xen/drivers/passthrough/Kconfig
> +++ b/xen/drivers/passthrough/Kconfig
> @@ -35,6 +35,12 @@ config IPMMU_VMSA
>  	  (H3 ES3.0, M3-W+, etc) or Gen4 SoCs which IPMMU hardware supports stage 2
>  	  translation table format and is able to use CPU's P2M table as is.
>  
> +config VIRTUAL_IOMMU
> +	bool "Virtual IOMMU Support (UNSUPPORTED)" if UNSUPPORTED
> +	default n
> +	help
> +	 Support virtual IOMMU infrastructure to implement vIOMMU.

I simply "virtual" specific enough in the name? Seeing that there are
multiple IOMMU flavors for Arm, and judging from the titles of subsequent
patches, you're implementing a virtualized form of only one variant.

Also, nit: Please omit "default n" here - it leads to a needless
line in the resulting .config, which in addition prevents the prompt
from appearing for user selection when someone later enables
UNSUPPORTED in their config and then runs e.g. "make oldconfig". But
perhaps you anyway really mean

config VIRTUAL_IOMMU
	bool "Virtual IOMMU Support (UNSUPPORTED)"
	depends on UNSUPPORTED
	help
	  Support virtual IOMMU infrastructure to implement vIOMMU.

?

Note (nit again) the slightly altered indentation I'm also using in
the alternative suggestion.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 08:46:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 08:46:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451555.709317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11gH-000511-9N; Fri, 02 Dec 2022 08:46:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451555.709317; Fri, 02 Dec 2022 08:46:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11gH-00050u-63; Fri, 02 Dec 2022 08:46:01 +0000
Received: by outflank-mailman (input) for mailman id 451555;
 Fri, 02 Dec 2022 08:45:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JFaq=4A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p11gF-00050o-KP
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 08:45:59 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20618.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bdb3b4d5-721d-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 09:45:58 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8706.eurprd04.prod.outlook.com (2603:10a6:20b:429::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 08:45:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 08:45:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdb3b4d5-721d-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b0m/ahViPGORYEKeUYdwt0+L195+dqmK/swdECNrWeUJHSBAeyKVf0oHtMD9nXYroay/LtzPqPoDyBvNBviioOmrXqrw8L9F7kyxN7gypiyP+AGgvikY5kJ6SWghPvXu2/TtzgctNEc4/kU5LEd7eQidvPmchwdWAMsWlrfqQNYOnKOYUF12BZaLS3ch4TFh3//ak3WTYLd6T1izRWiBk8IYL45aKLGKzJqfa7YGU5Yxggi7cJmh/G0qJSV7EGGMSFXvRXczjTTshAq5LaPOvp+iyMOhku8w2FVq1nbwQORSeWgPMuD78zblPIVQ9aL3j/3GqkclVvdqz7N7Z79Aag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pfNZKKlh54Jw2rGhQy62ITEtVewVonuE7OiRM1TF8cE=;
 b=eC4SOFHtbSptQnq1l86T5xzRaU9XiebU9kniLFS0hCOEBfXA/3zkaZ6h+vLXG90tYdsZFIrSdcGbRTvXoKR6eOaPaRx9iFU+BWaBp6lHIvL+2EBzApe24RAWmC2wmfBYOX75ym4hKDGaMzbixzxha+bFvFmIrZ8xZc7gSsZOGW27G6iOvy7suAik7uGpa3dwMCC/Xy4AxSl5tykcBlnK2ThXRzC8SEi8KE97HxyofhegxTInLGB+6q6MOWx/zBKJ/4qDCts449oUGi5nQIG9+AM7sWM7TpLGtvlHeZZAsT8aXqULS+d8fNgt3imF5nTzeW8S1Qe8zYQkAhHi9iSDwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pfNZKKlh54Jw2rGhQy62ITEtVewVonuE7OiRM1TF8cE=;
 b=LyO+WKhNqSDOAPD23sgxYqW+tpAXFRqNFofoh8ci4sF0Vu3ojT+FBtxLyT6prDyGR9EUNShb3oPvoQY8GMeA6KUzHuBhmrcElzxJYqhPriGGd1zVSoy6hM7M/DoTfQw61hwFBqTxTGSSwa5ad3FpOybxqzoJ5rBRGhyw3DHwlqrL2KLrWTSEe6C/wVWTIMvznzEquG26HGKZxO8mR32fGMROtopxBh24r1CtvHMotil81/Yw2rf5t7li6Qxbu+oBrWm2nPsmV5W7NfuQfApT/Py2SeK2fOgIoocCCjuCzb3Vbn0+Jz+F0eKd+/8A6Q5EQvuK2+nPrTeoQP+rDRZJXA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a995f3e8-eb40-36d9-9d3e-95bfc3e7f75e@suse.com>
Date: Fri, 2 Dec 2022 09:45:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [RFC PATCH 06/21] xen/domctl: Add XEN_DOMCTL_CONFIG_VIOMMU_* and
 viommu config param
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Nick Rosbrook
 <rosbrookn@gmail.com>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <cover.1669888522.git.rahul.singh@arm.com>
 <fc259a3c780aeb312ea1043703add9e9bca1a7e1.1669888522.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <fc259a3c780aeb312ea1043703add9e9bca1a7e1.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0143.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8706:EE_
X-MS-Office365-Filtering-Correlation-Id: 8f020ef0-44e7-4b8e-a95c-08dad441a0c3
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jdFp11jk3HU69BzTNII+deSW1jvXs0SLu3GD3wmQcV6Khss09Pe0Uc7P6t6W0qgM0JAZCTMc2rbllZleHCtmEcA4izl5IyLCqpM5k6rtJbciKSJ0Kde335vWP0wW/dFtrZ85yH0g5vr2I07iVJmk5SlaJ7HsbQ40q9PjvaeppGZsz9sLIeFWe026FThWLZPcYN6LSH9/pXkiQWXDcGk67dOgZfD5y4hTi1MsNxyZBXMWCJE1KwbYFbK5UHDoz1Wbwfh2J5YSTHDfXg79KfkECZVPMQ//GLJmSA2m6P5FGC+/cxvXiNqOqblXVyK61SO1dXo79VKh+IHsGu07mmpSa6D/VUOVZCMuCgHCsBS86RVRYQla65NiE4scvnSW19srtc2x9t3fHyoG+CuxjX6lEXpRo+E7eAcRrFypI1hPGvLZXtXMR8IgVmn01WFgXVX+HApH0VKNtJoxvzhsO3L0wAguazd13u6cIp1Y4IDDjAtbk04YIG3hzEzm5Hx+DfcLKfNdxur/3RKQJipq4MtCV2hK0RlJ7W3wBk+JCK6PpkgosqMNZIsTUdilguOhy1DLKXSMv2zZPbq36nERaNsqFOLtyFE1N1EfpCq0rtOuQkMPrQ3Bq6PFCAUXRHJg0dsXkK6vU+pyRuQrh7Kg+KqhAuvgYxtqXNNyLqo55nO88Vsktg/h/RmWDy2kgngrYWT+SbzPP0B6KFVNgtzcH0qUIpTRhHpFTuZfhBq071Q5Gpo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(346002)(366004)(396003)(39860400002)(451199015)(36756003)(6916009)(54906003)(316002)(83380400001)(5660300002)(4326008)(2906002)(66476007)(66556008)(8676002)(41300700001)(66946007)(38100700002)(8936002)(31686004)(6512007)(478600001)(31696002)(86362001)(6486002)(186003)(2616005)(6506007)(26005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M2tIaGVZZVFob1ErVk8yZGpacnZCQk9sdmJjRENvdlJxdkJTOHpGTy82dzI1?=
 =?utf-8?B?ZVI2bEtFUno2Zlo1MW1uU1RVOEFDaHZGaG16NWJ3MGtVaEYyZDdKNnFnek1u?=
 =?utf-8?B?ZHFoVFMySVNETndma0h0MVVjbjJlWCt0M2trMjFIdml4U2ZGRWx6KzZ1NVhY?=
 =?utf-8?B?TEQ0eTlNZllWSzNXN3V0WVU2c3owdEtzclRXZlNrSnZka01SNWNHYnZoRTZM?=
 =?utf-8?B?RS9OMkFnMmVZK0tIajFPVFhydTVUdHJ4eHBUeHdJRmJVWmt2RlZDczNlTllW?=
 =?utf-8?B?UGM2bXRXVG0vTGhWNkR0V1RjMXd5RXFXRU9sYmhKOWZZT1dVUEhMYVI2aXZo?=
 =?utf-8?B?ZENXejB5QWZwNmFtWkt0UXh6ZXJMbXFVeG85NEpMcmg3YktBUHhyVnpiNm5H?=
 =?utf-8?B?YUdxKzBkYmYyblNQQkRQRTA2ZWx3MWkzM3pQNDZleDRoNWpwZzk3TmdjZkEw?=
 =?utf-8?B?bjc5WkJuYnpBUC80b0hCdmZsWEV2clhIMWxyZ1dhZHhsSmNDa001aDFEMmZn?=
 =?utf-8?B?Z05obS9DVytydlBIczJUQ0tuZ3JCN3Q2MGxPK21UdkVkZmlXeGZNajcwVlh2?=
 =?utf-8?B?SE56RjlGZnBmWXp3U0RIT3B6TU9SOVduMXNyaVF3ZU02OUJSdWhWNCs3TFgv?=
 =?utf-8?B?elFCN1k0bW9zQWVLbURNVUpoV1JubmNWZndJUXFPdEVZMGRqL2ppdmQ4MUtV?=
 =?utf-8?B?NW40SU1BSWx1VzJsNXE5MGwvWVFUL0NqcDRQSGV2Q3JnNUtBbmNmZ3RNUGtB?=
 =?utf-8?B?VUhrTmRHUlNnaVMzSFhyRFIwaUNnMk9nNWNadXkrb1hyUlNia2dNcGNxRGVH?=
 =?utf-8?B?L2tnUjUrdmErVVN5S3M1U1RrS0U3Q1lxVys0QkNNNkd5V09TVHlMUjZ4eVli?=
 =?utf-8?B?RDJWYnBsY0oyMTluS1ZlNXpvR1RVTDdxMFQwaGZoMUNIdnZVQmxjbnVtdk5J?=
 =?utf-8?B?ZUUvZjRFSHJBQjBIZWJISjdsaXArQ2pzak5xcW1BQmdnVDQraWVTdDdtZ2J2?=
 =?utf-8?B?aittRmFUSS8rNHU0Zk96NDNUaHRpK2h1Rzg4NHNsV0M0bmlLeEx1TlpYekd2?=
 =?utf-8?B?TldBMTRldFZPY1dMOERlZGhQQTJRdWNNYk4yYlVlM2FnVkV0dGxNUEhOMXh0?=
 =?utf-8?B?eGczZ2RNVmsvT0lVM28waGpBek1SZEI2NVlVV2Mxbkg4bjNtdHB1b1dxRGtl?=
 =?utf-8?B?UkErUG5HTC9rMktQQW5sQmJtM1RUZWZkeE9wVkt4elZKT2s1bU56c3R2V1lT?=
 =?utf-8?B?MnNRVEF3SEVOaW1IRjJLSzZUZy8zcjdqMU9pbzhMeG1jVlJ0N1VETXlWL3R1?=
 =?utf-8?B?Y2R4bDBibldnY2tubDFHZXQ2aE5UM20xd1dHSkFZRlZNZTZiVEsyeVowODg5?=
 =?utf-8?B?elQvbVZqYkxKMnpmQ1lDWThJSDRYR0lEaS9CSUk4U0JGMVZPdUU3UisvSURx?=
 =?utf-8?B?bk5rLzFrNlRneGo5Z2FHYXFmOEFpR0ZSQVI2L213dFp0V25UelhVZXlUWExq?=
 =?utf-8?B?ak5ZZERmdno5bXM0NEV2cU9wRS9La3V6N0E0Z214SDNRRmlXODVCSzFEMjI4?=
 =?utf-8?B?Q0s3Zk05TGpBNVFrZnp6Y3Y1Y2R4dm5rQnoxaGdDeHU1eVE1WmNCdG5wZERV?=
 =?utf-8?B?ditHTmhzRlA4eDUvdE1pTyt5MzdPdm1oVWRnM0IzZVVjVk5EOC9ZODg0NzdB?=
 =?utf-8?B?bU9DOVBVYmJIdlMrUGNjbE5FZVhpRWpWb2tVTmNndldON2xJT1dUR1RBMzk5?=
 =?utf-8?B?RHREelNiUlQvbkxZcDVzMGFrYWJUSHdVcVRpdnB0dE92YlJSQk11am5Mc2xt?=
 =?utf-8?B?R29HT0l2U2txOGVqRXgwc1pLWmtBYnJkVXRaWXhXUVYwYVZEc3hRMk9GQlEy?=
 =?utf-8?B?SDlaRmZmeUVVQnhKdmZ1djVWZHg1NDgyZHJFWWZ0WFF4eG9rMmR5clJReE00?=
 =?utf-8?B?dE1Ga0lTTG90M3VLWXk2QVZEUmIvSGVzMWRkVTIwQmZ3KzdCYUJDSmFIb2dm?=
 =?utf-8?B?R3J4bWlORGRLSWkvVnpCcVRFaE9JR1EydmtsVEFENWt4TDE3V09aWmlnL3d3?=
 =?utf-8?B?OVdJZklvRXc1UzlrWXM4bjBRWmZNTk9vTkU5eWRuNGQ5UUo1eC9lSmZNakd3?=
 =?utf-8?Q?jEv53d6GJL1few5c7Yr1TZlXa?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f020ef0-44e7-4b8e-a95c-08dad441a0c3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 08:45:56.4142
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CRHwwCJ/fgyrDUs5hBjzu+Mb42wEfUZRjRBIc0NJXFGP+85KGZJjGmAly+gaBtw0vvBdQIvqdE9buDD/DDGIHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8706

On 01.12.2022 17:02, Rahul Singh wrote:
> Add new viommu_type field and field values XEN_DOMCTL_CONFIG_VIOMMU_NONE
> XEN_DOMCTL_CONFIG_VIOMMU_SMMUV3 in xen_arch_domainconfig to
> enable/disable vIOMMU support for domains.
> 
> Also add viommu="N" parameter to xl domain configuration to enable the
> vIOMMU for the domains. Currently, only the "smmuv3" type is supported
> for ARM.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>  docs/man/xl.cfg.5.pod.in             | 11 +++++++++++
>  tools/golang/xenlight/helpers.gen.go |  2 ++
>  tools/golang/xenlight/types.gen.go   |  1 +
>  tools/include/libxl.h                |  5 +++++
>  tools/libs/light/libxl_arm.c         | 13 +++++++++++++
>  tools/libs/light/libxl_types.idl     |  6 ++++++
>  tools/xl/xl_parse.c                  |  9 +++++++++
>  7 files changed, 47 insertions(+)

This diffstat taken together with the title makes me assume that e.g. ...

> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -179,6 +179,19 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>          return ERROR_FAIL;
>      }
>  
> +    switch (d_config->b_info.arch_arm.viommu_type) {
> +    case LIBXL_VIOMMU_TYPE_NONE:
> +        config->arch.viommu_type = XEN_DOMCTL_CONFIG_VIOMMU_NONE;

... this constant doesn't exist yet, and hence this would fail to build
at this point in the series. I notice, however, that the constants are
introduced in earlier patches. Perhaps the title here wants re-wording?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 08:49:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 08:49:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451562.709327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11jK-0005b2-On; Fri, 02 Dec 2022 08:49:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451562.709327; Fri, 02 Dec 2022 08:49:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11jK-0005av-M4; Fri, 02 Dec 2022 08:49:10 +0000
Received: by outflank-mailman (input) for mailman id 451562;
 Fri, 02 Dec 2022 08:49:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JFaq=4A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p11jJ-0005ap-0g
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 08:49:09 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ea9241d-721e-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 09:49:08 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8419.eurprd04.prod.outlook.com (2603:10a6:20b:3fc::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 08:49:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 08:49:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ea9241d-721e-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lkw/xK5q7mjZV06xgs4LvHTZ1uU0g0t9HOe5wbbd9zGE+5CdT/pqPJfcijouoYaS7xLfkcfV4JfViTOj6De/qIYkq/mDvinKjb3/9hix2rGnn/Fh232pjMi9RMbnMKKJOQUjNRM3iOqiNukEDUOJGM/vWxHB4KRE9uUF/bj4+yDOK+ygeopnRx9wVsZx+vghKlaHDo1+AS+nvJR5MbEGi9PaPGhkNDkr5pnyHRPmcSjlpO7PDdJITpFZLZw67Rr4H0GUA8mXN5uNjcwP9k6aJq+4qtKYU+R+uGSohyqxacWrDyaIA0BUNcHo94aYStcPr/D7LQ0ggtrG2Pj5+qq+AA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HuGsu/DXvbNn5QE6Me3Qc6VNL6RE9kDwHA5Lkf+bjz0=;
 b=hWEBuXBeVJ8DRUbK/xDetS3ikd163PcUixzpfe+aQpUHrnWdvco3363z38rqT3jG5ohdV2/dKtiCeeLHRrOaFl9J5JLaS8uz9eAmvI+5etpPlKlIDFjCQOcq7O6xwIM+wjq8zm6oP8yJBvovAdrBwfNLqAKOcXx+We6BSQhmCEpuX7ILxY5hM6b5H6Hfwoprt306Vtruzjc+tjn0nC2BScCA3z0TUIVmNz/LTC2d+en2qulveHVP4aujOPWINZy2xT31aJ7mUf/NJoQxpimhhJlRABus9jLxJ2FfWPkbh2aOUQVDd09H+xJDqMO410K4cwZxeVhj6/48FiVwKoP/Gg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HuGsu/DXvbNn5QE6Me3Qc6VNL6RE9kDwHA5Lkf+bjz0=;
 b=i+sSBIfIxeHiyFB7l39vxZPS1TbNl2N6DArXfp1muWNeaKHOH9Se9zktD+Y41sYVhMTjDi3tHzKUUIRTQzkHlpxXMktmRn+wjjeHB6vEr/O+yh8qJdME74qPGnxgsYA7AlhGzF+gYaKawh2N0e5lcfRVDIuf+0AikRFwC2Oz/d9TVuICDjMSnl4zkycr+55q/PiRmCw5SpxYaj5+gz0J04MYIwP7dWOhbF4V6JdFi51vBt5gz50Y+OCe1yWKqHh0VO6BsFULVElIsEp9risV+Gnki2iY2/edd2CxY/hb8fzkA05kj1AEzpEuce3jwMV9MDqCav0coeRhqLcaQsTdKg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <21aeecf8-82a4-fb9a-e167-10a0cc397239@suse.com>
Date: Fri, 2 Dec 2022 09:49:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [RFC PATCH 07/21] xen/arm: vIOMMU: Add cmdline boot option
 "viommu = <boolean>"
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <cover.1669888522.git.rahul.singh@arm.com>
 <11ad0192b1dfe5f90bc980a09894eb6ff7c5ba1f.1669888522.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <11ad0192b1dfe5f90bc980a09894eb6ff7c5ba1f.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0073.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8419:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e72041a-a7fa-48bb-4f98-08dad44211a9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qMMlYFqYXMLMtWtnT2RR+SMNrhSMTUTIAmixeGqGNIPFkWa7FWHC5A1SglYIEDwLwaio5+B+FiNCEVzE0aVH5KxM98z2Y15l3HfoTTORNRTjt8B0re9sQaMW/+w2o79W0JQE2IAVHbM87icodpLk7jGym5WIa1kbnzU3n03Wp19rm3K6rMzarYxZGgit+TRmkg4KUAzz4gzxOmUgKsVNaPjf2ssEdB24oy/6Saehnv3QWduapSeGkGyFioVH6bf2XouVBdiic8MkG7nC45GEw/Llm5YMYoXXHt6gXoxbH1O2K3FI/VFUA/D8+A6gphMD69EtSpu/dF9ZhnALhAlI5OQ285ubaVKNgxaOfWhzCzM6vDGtoby2r2rr5yLAgW3XrgQ+ontA6W8aBzWgMydnJOSmd+Su8wz4odwKjg/EmKH9efj5lmVx4dvfYDxJSH0vquz84DJcKwJb5hXG1d6Q6BKYoS/9UevVq6C0g7Bbez8l+/veGXdhx4SDnTFGa7G2MO9qvbsWz/LSfRbn0B3SX4OI7y2SPdJLXgZsEq+CUVEPZbJxKunGlinoNBCzgf43qX2Wr5ecGkxRX6+0eq3ccL94GCfvKO/srrDnbnBBmKeZr2JzuoOmDafDrGtdCG6MUunxC/sAmEjM+SCQExTr4NZky1c0WxgowhhXNy1+anHVYcGnkcFlyjc3qer0L48zDr2BWFSd0rXM0W2kgQKaXE7Hrs+Bjmsvw5SBJGTQdU0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(396003)(39860400002)(366004)(376002)(451199015)(6506007)(53546011)(6486002)(54906003)(186003)(6512007)(26005)(478600001)(316002)(6916009)(4326008)(66476007)(8676002)(31686004)(66946007)(66556008)(2616005)(4744005)(5660300002)(8936002)(2906002)(36756003)(41300700001)(38100700002)(86362001)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S3NaUUZUTnljMnk4NE9rOC8rS0xPdUlZa3h4T211Z0xnTHJFZTFTWmE2RE9X?=
 =?utf-8?B?UmdmVGpaUWVxaTB3T0pRS0J0VGdneGdWaWVscTN1Q3FBM2lCNlJ6bEwxSTdi?=
 =?utf-8?B?M1hzdVEyZ2ZsZkNOZTRjNU9jb2laZVFqWDJUczN1b3k1T01uYlN0T0pTKzFx?=
 =?utf-8?B?Snc0dm5lSkJmTkpTL1RZdC9SSlpVMmRZSjFnK1VzMDhrSkVoVUczemdZN2Yx?=
 =?utf-8?B?U3B2TjF0dzFjVXZnSUhCMjgyOVBadUhhdk9DWi9vZ3ZwL20reENIazVRY1ly?=
 =?utf-8?B?UmJ5cnRKbHN5a0JmaU94NFU2eWVGcSt1YmVsbDIrMkJ4TUh5YkVqcG1nRDgr?=
 =?utf-8?B?anBhV1d0MzQzR2Q0MXpmNzdMNGZUNDRIQXNLQ0l3b29UWmtIUCtRSzh6UGlN?=
 =?utf-8?B?a242WkpaT2JaTUVUbUhMY0pRemo0Ykw2OHpVdlY0eDdReDdqRjJuQmE1bFRn?=
 =?utf-8?B?SkFORURjWUF2bS9RcnZLOWJ1K0tWR2lhSkRKUUtyL1VRTmY5QmlsTVlJWVha?=
 =?utf-8?B?cVQ1dnFkOVNNWTYyd1JyVGVZU1lNejVCUnZmeGFRUFBNdGY2MnhwVmRSdkI3?=
 =?utf-8?B?N1dNck1jOEYxeTA2cUhhL0J3c1cvWFBNcUNTWUtnTDE0KytoSGl0SmtiRVE5?=
 =?utf-8?B?Mlh5b1pzMlNEVlp3Q0dUa1Z4R0RnNjh4TWlPb1FvenFEcXpPanErYk5KTGRB?=
 =?utf-8?B?QjJjN0ZDUTRNemVVNzM1dm4waDhDRUNIMW9Ca3R5M0l3L2FPbjlUUVpqdzk4?=
 =?utf-8?B?RDQ0YkNPdHZlQzUrc3pxWWJ1WlMvKzFYK2d4dDdyMUViazJPUit2cFBDcWwv?=
 =?utf-8?B?ZmxQRkZSSUJLNE9vVWR3TG1BdWtQelp5Z3VXUXpQS1dJVDJjZ3gyVkgvbnkr?=
 =?utf-8?B?bXpVVFE1N2lWUEEvRkV4VUl0K2ZNazlVcVpiZGtGdUdTdmF4VmRzbFNEdFlq?=
 =?utf-8?B?cUI2V1F3ZWxTYXhJSGJmSVZTWlRFaWpBT0lXZnF2THJ4SHd3blRZcmUzZ05T?=
 =?utf-8?B?RzRsUEpCMTFYWHMxU3N1NnI0TVFpcXN1RnBiRVBuaEt6eXVJNFJ1aUV2aGQy?=
 =?utf-8?B?NGl0Sk9acnd4RGxTMDZzYm5QR0MzTU1jbW1udEtWU1p1RmdvWE1YT056emZN?=
 =?utf-8?B?d0RKb3RESVVkVVJvNnRRTThyQTNiREk4WEpNUGxEWGtseER6MjBqbGJ4MW9S?=
 =?utf-8?B?SURHbzFUSDJPY0pGV2lNOHd0bjJBSzFrWFJseTJBUkxkTWJYNzczcHVKSjFj?=
 =?utf-8?B?NE5WVlozdFh1UUI3Rm54dXh0eW1CNnAxOFFzS2RnTWtISUVkSXdFdWxUNUpv?=
 =?utf-8?B?OWc3eFBKODIyN3RHNWpyOVJ2WkRwNzVlUmhEVnIrbHRSRFZ3ekVlR3k2SUFv?=
 =?utf-8?B?MG9kZ1hldUF6VkFmT1VmbCtaWVpBSjIyUTFNU1NzU1NKaDVQS09pcTFTa21K?=
 =?utf-8?B?eGw2V3RFcmpINlVVOCtocjNvQTlPb2ZHZTFwYjRnOWdhZGM5c1U5OTgxVXFa?=
 =?utf-8?B?Mm9wZFFUbHVhK2wySllXdnZxODlTb0s2b0Z3MnZkWkYzbTBDNURFcXo1eFp6?=
 =?utf-8?B?TFB5Qm9yeGsxVUNxcEVpbGRwUUpGUzV2VFJ6MlJrT0Rqb2s3RnEzd2lRWTBY?=
 =?utf-8?B?L0p0R05sZkdtby9nRjdwcVBFN0p1NUJDeXliOEc5eXNMNFZhTmZNenJYb2pN?=
 =?utf-8?B?VTl1M2l6OVlWbkR0blJMZDRiNnJnQVpXODdFZ1RpZENtMU4yaXhveUxacHN3?=
 =?utf-8?B?R0VKZTN0Z1BGWGhtaE1tOWJGYTJyYkcvQkJtRTQrbmFNeEhJQVU2NHQ1VGRt?=
 =?utf-8?B?SjBpWnhpZjlMaXNTelpmTGdSRjdTTFNFaFNOTG9MSFhUOHdBcDZSUFhiRjh3?=
 =?utf-8?B?UlJSRG93MlVtaFpuV1cyM1o3L3RZTnB5MWlKUUppQUcxVkd1M1lCUVVJa2Qx?=
 =?utf-8?B?WnlZWmg1VWo1UnlhMDFtQWJXWWJoNmRtOGd4R3Z0bmE4TXplRVlkOHByQTk4?=
 =?utf-8?B?RzEzMUtJeHo2aWsyV0x5eE5mbFhUSi8raUd6WGlwSXVpR3JoN2dyOWRwb29k?=
 =?utf-8?B?S25UOVQ2NHR1WGV4eS91L3hjRkN6Nld4aytsNjlkUlkyZTNjU2NqWmZVb1Uw?=
 =?utf-8?Q?zerXP9Zwrqq2mUAamGCs7tdY2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e72041a-a7fa-48bb-4f98-08dad44211a9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 08:49:05.6678
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LCKvAHTuyCv9yOal9OEcNdGpi3XtQGBFfobD+gl6RPwLiI3UnPs8RwUGhQ15rj0xNxUI5GktOVGFPvymBqqGCQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8419

On 01.12.2022 17:02, Rahul Singh wrote:
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -1896,6 +1896,13 @@ This option can be specified more than once (up to 8 times at present).
>  
>  Flag to enable or disable support for PCI passthrough
>  
> +### viommu (arm)
> +> `= <boolean>`
> +
> +> Default: `false`
> +
> +Flag to enable or disable support for Virtual IOMMU for guests.
> +
>  ### pcid (x86)
>  > `= <boolean> | xpti=<bool>`

I'm sorry for being blunt, but how did you select this particular slot
for insertion, when the whole file clearly at least tries to have options
sorted alphabetically.

Apart from that I wonder whether this actually needs a command line
control, when supposedly this is controlled on a per-domain basis anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 08:51:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 08:51:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451569.709339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11l9-0006yO-40; Fri, 02 Dec 2022 08:51:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451569.709339; Fri, 02 Dec 2022 08:51:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11l9-0006yH-0z; Fri, 02 Dec 2022 08:51:03 +0000
Received: by outflank-mailman (input) for mailman id 451569;
 Fri, 02 Dec 2022 08:51:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JFaq=4A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p11l7-0006y9-47
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 08:51:01 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 713e18da-721e-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 09:50:59 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8419.eurprd04.prod.outlook.com (2603:10a6:20b:3fc::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 08:50:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 08:50:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 713e18da-721e-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ka2YamZa1EOQIz/eHkLhzx2gqU60ungRVvsJByrAYhUwHqcn0kC4JZKKSTSt5IyNBNcW0InvLdVhJNqqw8hVYfgK2Rj05Zloqu/hJh+msv2lO9OWcf4QeKdBZ29NAyAIw0HNRyiY8NY+UGv3Kl9/KNG4SMm52xsR+BP9kn0nCoa7iGYBGQHnNybpuum/t95PfKeIKwzuHJyTR0moRkz/0SwNRfSu9PB9vGwsB+vS5X2iHGVmfOc45BXdcNgy4rI0zJomgs0Q0Q33Uuhzi1l0IMLN7JuTYXUQaD39w/mlIYukO73/eOvG5OwsV5L2zdMYmQ4QAU7r7rWeOoI/WVPHzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x4EusxBI2a2dLKs/G1rbP7W/QsxsBg3Q6GaEwmcIHgQ=;
 b=DhLmNcJw4vZwx1+2UbI1zzI8nLd9cVwPGmK7PEzkjFITVMq7uYfrJLUHRgDiwbbesAEOCdChqNFG9ozh9eIRS+MGx5g4Fy9Nsza33dQWlUecfBdxc+BCq/0mpCPMUl4ApshcbkJ4WrXIMWHwhIJjK+gRi6TKwu/F+5wE5SYBfbkDxUhrnO34QrvvShhyKnYO5SGOleezHRKPLXwM/KDJQ+jxf7qz5t7X9M/i564sUUhubjj8HfsPncPvshGdcy1pZsGNAsoheUyiBjhPjoiodGxWhkBUZIcstoPMCE0aEA2ochP8Am+79/tjsxf3ZDPJeAdcoZG7rN1ax4+7gsCiKw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=x4EusxBI2a2dLKs/G1rbP7W/QsxsBg3Q6GaEwmcIHgQ=;
 b=ELm8vWMrapAGaFKZII0RvwUgjmuinx7ipfcOUZTbvSkvEWQSWUvLvsVkVPdxRQpfGsJ5us0ifMeIFrQMqpBTkxaOLAn61uac72FgHVR/PBfFXgoVxWG36Xu8sshODdyEt5O5P6wckx8XesVBKHG9IaAEfGAuvisyYV4+pB70Umdlzp8ySNYpn7P1uxMLvcUefUCX7ofW/zQgDQ0WoFpGHWBrhrUNy3pcel3/qAPux0ZoamG1wQnT8ys8PrjWNu5Tsdk9vHuVNEbFrQLWXDEmsmLPUxExCGdmEChe33fyjuYXF78P797/h6F+Cv9K20G8j+OqxPxp7mOq1KL+RZo+hQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a26e7506-f83b-f761-5be2-d219e8bb3d3c@suse.com>
Date: Fri, 2 Dec 2022 09:50:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [RFC PATCH 11/21] xen/arm: vsmmuv3: Attach Stage-1 configuration
 to SMMUv3 hardware
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1669888522.git.rahul.singh@arm.com>
 <b0873a8cf229143544388a90334edd7c96bc78c4.1669888522.git.rahul.singh@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b0873a8cf229143544388a90334edd7c96bc78c4.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0165.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8419:EE_
X-MS-Office365-Filtering-Correlation-Id: 49236def-8f95-46f6-9768-08dad44254b1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	x62xlC7ZEMiJ5eLJLNeu+/VjLx3WWg2sdjnvZzPUOvaYptLRMwIzkofI4ypIf8DQCmU9xwhFEun7elxlSqKM5PUsIC/MJ+amds9sUF8zhblJG3GP8UG3jCwhQi79hZoR8G95DVh8BLBCaQBVXsTxxyauTdfuKLc/ajv72OK49yxaFoj/Z1nTR8m5TK3MLNCv7sJSiZnDuxM5NKabyFSKmXmIZh5lnI/P3WjYlxBGLX0DMsT15xIRLhPywqUeCiW2nzdPyjiEkX92gcKTIqyhPIIICoYC2dk4KwGmxvQ+R6Z86gpbaWDG33I4akVA4BHTvWYiuuM4mcQvlFiRFV+3IcWqR68OmFaGR4cYadGdD6yRvtnRdpWFsGMgD7qd5Y4hY5NQJfSZ+wAChp7QV+sJJsQNbXc8BvRvHR89jIlrtpDEF6kYFi9mDeViU0d3OnPqdbnMch0iWzUF9SE78ic3J6EnfrG+CsaLquA3KqFUDY279w1i1SbQHXIB6fiIuNebti1huthNH2W62SNyAviXdHo2OTPO+MukZ0P+1t9VYAq8PSNW4KQoJ9tsI1XZESKIypgseelaVVLHVuAJTT6mFuCPYGqbN/OXPEnnMh/qFOfuUYRt+VCdPoy+2G0wqcEXkCxdi4Nc3+6bVecmMTFCqxRnEkOEmOt8aQ6AsFb1ptYTo/sedt/UA6eyybW42m7ZJtXFyCHaQiqLBmHKXayuK/2yk46rj6RSnm10g+MexoA5C65SQYsy5MFI8pOjBd3sg+Vl/4NPA6sX32ZFkLCpMtSZGqEO4KWLepEwvYrTrf4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(396003)(39860400002)(366004)(376002)(451199015)(6506007)(53546011)(6486002)(54906003)(186003)(6512007)(26005)(478600001)(316002)(6916009)(4326008)(66476007)(8676002)(31686004)(66946007)(66556008)(2616005)(4744005)(5660300002)(8936002)(2906002)(36756003)(41300700001)(38100700002)(86362001)(31696002)(45980500001)(43740500002)(414714003)(473944003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGFxMjhYTzBCOXdKdE5BNWJDamNlc212UG5kT05YOWFrbUQ5NjhkQ1hqN0Fs?=
 =?utf-8?B?Y0tPUmgrMldtTDJSTW9aMVgyZG85aFRHZ0VJM2MrY1dPdnhqcDJjOEdFUktr?=
 =?utf-8?B?RmNob0RqcjVBVk45SVhWNGl4NW9aanhwb0IvRHljSE5wT0NNcm95MURjQ05F?=
 =?utf-8?B?ZFRWZTFtU0ZYYmZUVXB1UGJ0bE9JMVFjSXRndmxoQjNmMEpGY0szYnJzQkdS?=
 =?utf-8?B?SmNxa09Sc1llT2FGSHNCSzVBbSs0TW1JYnQ0U3VzNSsrOHdRU3dNbWxlUXEz?=
 =?utf-8?B?SHY0aXVSZUZCWHBqRlBtMGp5Ni9wVGdEVy9lbnpuUXhFQm5tNFpKZXFLZTJM?=
 =?utf-8?B?TmVnYm5yVFRVQXZIUlJoRDRWc2NmQnVkU1ZxKyt6RVk0WGdJNDN1ZThHRk9p?=
 =?utf-8?B?YlVPMFFmWlVjajM4NkVDdVdvanJUWkVjUElYVkZwRWhGV2tjdEJ2cE1GUlla?=
 =?utf-8?B?S3ZCME91alV0UnZjVE1qYWU5UTZDZ25odlR3L25YeEthUHM1dS9HZnFuVW9N?=
 =?utf-8?B?YXVPQmhyYkdQODMxSmh5UStwZkgvOWRnbnFqVTRvNDhMMjgrVWRNWXV1b2d0?=
 =?utf-8?B?U1dtRXBzZHFKUWExLzhuT3QzRTNPSExrNjcyczdqbmVVcjRLRVhNekZab1dS?=
 =?utf-8?B?bXF3T3YzVnFFQ25jMHdvZWVuaUtBMGdpRXZqUlBMMTN2NTUxT1dlbUw2SDhq?=
 =?utf-8?B?WkhlQkRJbkkzS1lTRjJOdFBIcHlNdE9rSkgxN29rUmdWQUtHbk13eDhwNWEv?=
 =?utf-8?B?d0RjTzBQNm9Yc00wZlNBSDkzakIrcDlaT2hvSDYvT21aNFpaUTlBQXZJeVhp?=
 =?utf-8?B?VlFmOERUWndRa3pLYWJod05PVUJQMmJNZ1RUVVNzOFJVSXd2SFBkYms0SEx5?=
 =?utf-8?B?eWdQcWNSelVLWVI1QUpaR0pFUEJGdHc1bzNYQmlpSDdKRmM5eWpvZ0hhRENZ?=
 =?utf-8?B?SUNCY0tRT1BHeWVORlhzeFVtUlowcnJZZlRRV1pMSjVTQ2lnTkdjc1pydUEy?=
 =?utf-8?B?Q3RSMEN5Ky91ZGt6ZmZlRmhsRmNsNU9OWnY2Ty9jYy9ZVFVLM1VkeXJvQUZQ?=
 =?utf-8?B?YnFsV0VlUU9zMWNod3NQZ0RUaFY3RGlieW5RaC8wcHJwWFVjTEQvdEhVSzkr?=
 =?utf-8?B?bnRPbUZrVFg2ZEJJVGtOcEVkc0xodld2K0FQa3BaNkhXU052MDdlQUh2YmhV?=
 =?utf-8?B?T1prZlFmQjFhaXhSUS9PR0JCWEI3eitQYWgxeHZZdDFCRlVVZ2l3dGZsakwy?=
 =?utf-8?B?YU0rdHd1NFRQVkQwaHJVR1VVNlJzSHFNcTBNKytqai9vOVdhbnZwdnZlTFJE?=
 =?utf-8?B?em9OLy9ETnhLcngvak5ybVNydmZCN2VaK0pTOURlV2VMa2ZuWXVsRHJ6VStz?=
 =?utf-8?B?Rmt1ZUtmUVRZY3Y1Qml6VDVDREExYnlWVnR6bUlpa3IzVlZxU29RN3lFczI2?=
 =?utf-8?B?QVBIMUFUeER1TjQ0bE5PN3JXbHJhTGdBM0kxZ25SVGdpWXhTTWx1RVVjRncz?=
 =?utf-8?B?M29sSTk5bEtqbXdyR2tjcjJmWG9Dbkp4RDN5QTBPQ3Z5QndWckU4TXNTeDhC?=
 =?utf-8?B?VHJqYm96bjN2WHBDYnZ1TnQzWjVWamlSdW1KazY4RzdHTm04a1NjM21nWkYv?=
 =?utf-8?B?RnE1V3VLd0ZXT0NJcUpYSU9wTjUxclVDWjg1d1B3R3g5Sjd6TUNGbW5DTVdJ?=
 =?utf-8?B?STdQaHNFSkFNMWRtTS9hdk9qWnAyQ3hQcHNlVy83bXZPZHludXY1dVMweHpk?=
 =?utf-8?B?ZE4zWHJIaXdHbmpiRWxGSkJDelhOMVFuSjZqczV0NUlyYm40TDR2K2ZkcGRx?=
 =?utf-8?B?YjVCamhRaFFoU1VZcDBGRWxRN29EWFYrQUJCR1BGeFkyeHAxbkFlblAwN2NU?=
 =?utf-8?B?a2lzeXIrUWp6L2lVSTFYaGZwUUh5dVFGSExsWDcrWnE5WFJuVHZDOHRPVzdE?=
 =?utf-8?B?RzFwUkZZVFNkYmFYTUZsU0FpOUgwcmJlUGpUcUhkdjdqQko0Z2xWeXFDb1pl?=
 =?utf-8?B?MGpPcFhvRDdXMnVuZm5saFhLTElzd1l6ZTBKQlJKbzJadVJJTklpT3BFbnBy?=
 =?utf-8?B?V1IrQ05vR2UwdFJhTW1UODhOWUJOSHE0dEIxOGxEYU9TZVYzS0VkaGJMN2x2?=
 =?utf-8?Q?lkO1K8pbkZJrmZOwKs5pPv/EP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 49236def-8f95-46f6-9768-08dad44254b1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 08:50:58.1138
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ba69/hSUCIoOM5qo4HpdzCa//xZQ5v2IONIV4oBEfILPfGpKxU6KJmBXJJnqHQyPkJTTkGM1VdbUxkha687Z+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8419

On 01.12.2022 17:02, Rahul Singh wrote:
> --- a/xen/include/xen/iommu.h
> +++ b/xen/include/xen/iommu.h
> @@ -230,6 +230,15 @@ int iommu_do_dt_domctl(struct xen_domctl *, struct domain *,
>  
>  #endif /* HAS_DEVICE_TREE */
>  
> +#ifdef CONFIG_ARM
> +struct iommu_guest_config {
> +    paddr_t     s1ctxptr;
> +    uint8_t     config;
> +    uint8_t     s1fmt;
> +    uint8_t     s1cdmax;
> +};
> +#endif /* CONFIG_ARM */

Perhaps rather CONFIG_VIRTUAL_IOMMU?

Jan



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 08:53:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 08:53:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451578.709349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11n6-0008Au-KH; Fri, 02 Dec 2022 08:53:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451578.709349; Fri, 02 Dec 2022 08:53:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11n6-0008An-HV; Fri, 02 Dec 2022 08:53:04 +0000
Received: by outflank-mailman (input) for mailman id 451578;
 Fri, 02 Dec 2022 08:53:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sBZT=4A=citrix.com=prvs=328bd9ba2=lin.liu@srs-se1.protection.inumbo.net>)
 id 1p11n5-0008Af-4x
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 08:53:03 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b8ad01b9-721e-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 09:53:00 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8ad01b9-721e-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669971181;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=qqj1QKn9p38OC5FgLpJnXTkkTnf1m/IVXt+K5+MGMhU=;
  b=f/kha6m+6rNOMeyAfGr78bsxGcm1wmOQ4yEECkVPdgdRILObUpWHBsDp
   DUV9qL1z3YYQvFaKQc2FmvyraZe3erDHfPkEPVJGeIomw1bc+ASnUBbBq
   Z3vXZUMnpfv562L/T+SLpAeXCl6QypsB7E7HDHwWtXksKuAxDOQAsdu8R
   I=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88748218
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:pNlVkqj+rGQ4NdwFl5KpzKjPX1610xAKZh0ujC45NGQN5FlHY01je
 htvWzvVbP6CazT8c9EgO4qyph4Gu5bdn9FiSVRkr3hgHn8b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5geEzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tRHNRczPz+4m9mu3ayCSvUwjMQpAuDkadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJagx/5JEWxY9EglH7cjserFOIjaE2/3LS3Ep6172F3N/9KozVGZUPxxbwS
 mTu4nznMDA6KO6k8Tei4FKSlPPAhg7JR9dHfFG/3qEz2wDCroAJMzUOXFG2p/iRkEOyW9tDb
 UcT/0IGrrU4/WSoQ8P7Uhn+p2SL1jYMVtwVH+Ak5QWlzqvP/x3fFmUCViRGatEtqIkxXzNC/
 luImc75QD9iqruYTVqD+bqO6zC/Iy4YKSkFfyBsZQ0I/9XuvqktgR/VCNVuCqi4ipvyAz6Y6
 z2GsS03lbgPpcEM0Kq/8BbMhDfEjprGVAku/S3MQ3moqAh+YeaNfJe04FLW6fJBKoexTVSbu
 nUA3c+E44gmAZiTmSmlTOwTEbSt4PiZdjvRnTZHGJ0s9C+k/XK5SpxB+zF1JEpvMcEsdCfgZ
 QnYvgY52XNIFCL0N+ktOdv3Upl0i/i7fTj4ahzKRoVTRaYgWzSbxzlze3eQwzznkEICuK5qb
 P93bv2QJXodDK1myh+/SOEczaIny0gC+I/DeXzo50/5iOTDPRZ5XZ9AaQLTNb5hsMtotS2Pq
 75i2922JwKzuQEUSg3e6sYtIF8DNhDX7rim+pUMJoZvzueLcVzN6sM9I5t7I+SJfIwPzI8kG
 01RvWcGoGcTfVWddW23holLMdsDp6pXo3MhJjALNl21wXUlaovHxP5BKcpmJOh5rbc9lKMco
 xw5lyKoW6Qnd9g6025FMcmVQHJKK3xHej5izwL6OWNiLvaMtiTC+8P+fxuHycX9JnPfiCfKm
 JX5jlmzacNaF2xf4DP+NKrHI6WZ4SJMx4qfniLgfrFuRakb2NMzcHyq16BueZFkxNeq7mLy6
 jt6yCww/YHly7LZOvGQ7UxYh+9Fy9dDI3c=
IronPort-HdrOrdr: A9a23:fNU3xKx4vlslGeBNzlgOKrPxaeskLtp133Aq2lEZdPU1SL3sqy
 nKpp906faaslYssQ4b6Ky90cW7IE80lqQFkrX5Q43SPjUO0VHAROtfBODZsl7d8kPFh4tgPa
 wJSdkANDWZZ2IXsS6QijPWLz7uquPrzImYwd77i1NRZUVSbadkhj0JeDpy0CdNNXd77V5SLu
 vt2iKDzQDQCEj/Ff7LYkUtbqz4vtjWk5CjSQcebiRXkTWmvHeT8bvnFBrd9QsfVj4n+8ZezU
 H11zbh47mlsbWdwhvRvlWjiKh+qZ/a095eA87JrNYTJi6EsHfPWK1RH4eauSwzoqWUyHtCqq
 i1nz4Qe/5r7m/XfCWOrQDz1xLG2DIjgkWSsmOwsD/YuMnkQzB/NMZbn4JedXLimjAdgO0=
X-IronPort-AV: E=Sophos;i="5.96,210,1665460800"; 
   d="scan'208";a="88748218"
From: Lin Liu <lin.liu@citrix.com>
To:
CC: Lin Liu <lin.liu@citrix.com>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, "David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo
 Abeni <pabeni@redhat.com>, "moderated list:XEN HYPERVISOR INTERFACE"
	<xen-devel@lists.xenproject.org>, "open list:NETWORKING DRIVERS"
	<netdev@vger.kernel.org>, open list <linux-kernel@vger.kernel.org>
Subject: [PATCH net] xen-netfront: Fix NULL sring after live migration
Date: Fri, 2 Dec 2022 08:52:48 +0000
Message-ID: <7ae75e4582993c6d3e89511aec9c84426405f6a4.1669960461.git.lin.liu@citrix.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain

A NAPI is setup for each network sring to poll data to kernel
The sring with source host is destroyed before live migration and
new sring with target host is setup after live migration.
The NAPI for the old sring is not deleted until setup new sring
with target host after migration. With busy_poll/busy_read enabled,
the NAPI can be polled before got deleted when resume VM.

BUG: unable to handle kernel NULL pointer dereference at
0000000000000008
IP: xennet_poll+0xae/0xd20
PGD 0 P4D 0
Oops: 0000 [#1] SMP PTI
Call Trace:
 finish_task_switch+0x71/0x230
 timerqueue_del+0x1d/0x40
 hrtimer_try_to_cancel+0xb5/0x110
 xennet_alloc_rx_buffers+0x2a0/0x2a0
 napi_busy_loop+0xdb/0x270
 sock_poll+0x87/0x90
 do_sys_poll+0x26f/0x580
 tracing_map_insert+0x1d4/0x2f0
 event_hist_trigger+0x14a/0x260

 finish_task_switch+0x71/0x230
 __schedule+0x256/0x890
 recalc_sigpending+0x1b/0x50
 xen_sched_clock+0x15/0x20
 __rb_reserve_next+0x12d/0x140
 ring_buffer_lock_reserve+0x123/0x3d0
 event_triggers_call+0x87/0xb0
 trace_event_buffer_commit+0x1c4/0x210
 xen_clocksource_get_cycles+0x15/0x20
 ktime_get_ts64+0x51/0xf0
 SyS_ppoll+0x160/0x1a0
 SyS_ppoll+0x160/0x1a0
 do_syscall_64+0x73/0x130
 entry_SYSCALL_64_after_hwframe+0x41/0xa6
...
RIP: xennet_poll+0xae/0xd20 RSP: ffffb4f041933900
CR2: 0000000000000008
---[ end trace f8601785b354351c ]---

xen frontend should remove the NAPIs for the old srings before live
migration as the bond srings are destroyed

There is a tiny window between the srings are set to NULL and
the NAPIs are disabled, It is safe as the NAPI threads are still
frozen at that time

Signed-off-by: Lin Liu <lin.liu@citrix.com>
Fixes: 4ec2411980d0 ([NET]: Do not check netif_running() and carrier state in ->poll())
---
 drivers/net/xen-netfront.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 9af2b027c19c..dc404e05970c 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -1862,6 +1862,12 @@ static int netfront_resume(struct xenbus_device *dev)
 	netif_tx_unlock_bh(info->netdev);
 
 	xennet_disconnect_backend(info);
+
+	rtnl_lock();
+	if (info->queues)
+		xennet_destroy_queues(info);
+	rtnl_unlock();
+
 	return 0;
 }
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 08:54:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 08:54:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451585.709362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11o5-0000I9-1H; Fri, 02 Dec 2022 08:54:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451585.709362; Fri, 02 Dec 2022 08:54:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11o4-0000I2-S2; Fri, 02 Dec 2022 08:54:04 +0000
Received: by outflank-mailman (input) for mailman id 451585;
 Fri, 02 Dec 2022 08:54:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=AIqc=4A=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1p11o3-0000Hr-8I
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 08:54:03 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dd60535d-721e-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 09:54:01 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-180-u3ii-unoMP6JoLGOF_lwxA-1; Fri, 02 Dec 2022 03:53:56 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 32EBB811E75;
 Fri,  2 Dec 2022 08:53:56 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.39.192.19])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id E9B751402BDA;
 Fri,  2 Dec 2022 08:53:55 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id C80B021E6921; Fri,  2 Dec 2022 09:53:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd60535d-721e-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1669971240;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=aQcCSXiFAF2L81EAA5lji2vAstDjVjeWxi4Yd9lyf48=;
	b=CVsq7VlWjZYWeI93tiKXNz8ZfteqRoOX8jSEKyQQ83jq7wncEzoDW7ofUHLYGO2JhuMdKZ
	w0/VhaR6b/SGlNWLHV17UmSU+joQ84HoxJ+46nyRgaCzMS0Fo6+gFnCVOufSXFOGEbtrE9
	0vXw+aUdhm5n9KiChyUqEvJnnzR39uA=
X-MC-Unique: u3ii-unoMP6JoLGOF_lwxA-1
From: Markus Armbruster <armbru@redhat.com>
To: Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Cc: Vikram Garhwal <vikram.garhwal@amd.com>,  qemu-dev@xilinx.com,
  stefano.stabellini@amd.com,  alex.bennee@linaro.org,
  xen-devel@lists.xenproject.org,  Stefano Stabellini
 <sstabellini@kernel.org>,  Anthony Perard <anthony.perard@citrix.com>,
  Paul Durrant <paul@xen.org>,  "open list:All patches CC here"
 <qemu-devel@nongnu.org>
Subject: Re: [QEMU][PATCH v2 07/11] hw/xen/xen-hvm-common: Use g_new and
 error_setg_errno
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
	<20221202030003.11441-8-vikram.garhwal@amd.com>
	<e7922267-9a87-8936-942e-e73a789672f9@linaro.org>
Date: Fri, 02 Dec 2022 09:53:52 +0100
In-Reply-To: <e7922267-9a87-8936-942e-e73a789672f9@linaro.org> ("Philippe
	=?utf-8?Q?Mathieu-Daud=C3=A9=22's?= message of "Fri, 2 Dec 2022 08:27:39
 +0100")
Message-ID: <871qpitcdb.fsf@pond.sub.org>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7

Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org> writes:

> On 2/12/22 03:59, Vikram Garhwal wrote:
>> Replace g_malloc with g_new and perror with error_setg_errno.
>>=20
>> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
>> ---
>>   hw/xen/xen-hvm-common.c | 15 ++++++++-------
>>   1 file changed, 8 insertions(+), 7 deletions(-)
>
>
>> @@ -717,7 +717,7 @@ void destroy_hvm_domain(bool reboot)
>>      xc_interface *xc_handle;
>>      int sts;
>>      int rc;
>> -
>> +    Error *errp =3D NULL;
>>      unsigned int reason =3D reboot ? SHUTDOWN_reboot : SHUTDOWN_powerof=
f;
>>=20=20=20
>>      if (xen_dmod) {
>> @@ -726,7 +726,7 @@ void destroy_hvm_domain(bool reboot)
>>              return;
>>          }
>>          if (errno !=3D ENOTTY /* old Xen */) {
>> -            perror("xendevicemodel_shutdown failed");
>> +            error_setg_errno(&errp, errno, "xendevicemodel_shutdown fai=
led");
>
> See "qapi/error.h":
>
>   * =3D Passing errors around =3D
>   *
>   * Errors get passed to the caller through the conventional @errp
>   * parameter.
>
> Here you are not passing the error to the caller.

Instead, you're leaking its memory.

> Maybe you are looking for the "qemu/error-report.h" API?

Plausible.

Also, @errp is the conventional name for the Error ** parameter used to
pass errors to the caller.  Local Error * variables are usually called
@err or @local_err (I prefer the former).

[...]



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 08:55:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 08:55:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451592.709372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11pq-0000uv-Ab; Fri, 02 Dec 2022 08:55:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451592.709372; Fri, 02 Dec 2022 08:55:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p11pq-0000uo-7j; Fri, 02 Dec 2022 08:55:54 +0000
Received: by outflank-mailman (input) for mailman id 451592;
 Fri, 02 Dec 2022 08:55:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TtlS=4A=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p11po-0000ud-Su
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 08:55:52 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f8d4fde-721f-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 09:55:51 +0100 (CET)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 6354121C11;
 Fri,  2 Dec 2022 08:55:51 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 1646C133DE;
 Fri,  2 Dec 2022 08:55:51 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id BrgGBJe9iWPWNAAAGKfGzw
 (envelope-from <jgross@suse.com>); Fri, 02 Dec 2022 08:55:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f8d4fde-721f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1669971351; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=wtCc35EMrsGgNt1HPhXPZ/PW8H5z+COqCXJe4yt9koo=;
	b=qCmm+AqbMBJeJkeZsNjhgVJMCpOgz8x9t+URndclu1VKzoSx8SsnnEYWJe4FlR6KbsqGBl
	gAQFNDeOhZLJNnH8UdYiWOlVrSnr/MpzwFf2t3m27td5gt6lb1zBUkrHkuxzV1YoQ+4Js4
	WGHErBrtbRgOqk2ctKtGIaw1UwJ2gXs=
Message-ID: <42cd5af5-b2fd-59ad-7de7-f14e2facac28@suse.com>
Date: Fri, 2 Dec 2022 09:55:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH] xen/privcmd: Fix a possible warning in
 privcmd_ioctl_mmap_resource()
Content-Language: en-US
To: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: error27@gmail.com, harshit.m.mogalapalli@gmail.com,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Paul Durrant <paul.durrant@citrix.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
References: <20221126050745.778967-1-harshit.m.mogalapalli@oracle.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20221126050745.778967-1-harshit.m.mogalapalli@oracle.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------uwdMa1iAv3egOVPQfJ0E0w6z"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------uwdMa1iAv3egOVPQfJ0E0w6z
Content-Type: multipart/mixed; boundary="------------HdAZBpjEv01GON4bPbJ6Wl6i";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Cc: error27@gmail.com, harshit.m.mogalapalli@gmail.com,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Paul Durrant <paul.durrant@citrix.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org
Message-ID: <42cd5af5-b2fd-59ad-7de7-f14e2facac28@suse.com>
Subject: Re: [PATCH] xen/privcmd: Fix a possible warning in
 privcmd_ioctl_mmap_resource()
References: <20221126050745.778967-1-harshit.m.mogalapalli@oracle.com>
In-Reply-To: <20221126050745.778967-1-harshit.m.mogalapalli@oracle.com>

--------------HdAZBpjEv01GON4bPbJ6Wl6i
Content-Type: multipart/mixed; boundary="------------VErMBwayIgMAgiu0uLX3QHlZ"

--------------VErMBwayIgMAgiu0uLX3QHlZ
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjYuMTEuMjIgMDY6MDcsIEhhcnNoaXQgTW9nYWxhcGFsbGkgd3JvdGU6DQo+IEFzICdr
ZGF0YS5udW0nIGlzIHVzZXItY29udHJvbGxlZCBkYXRhLCBpZiB1c2VyIHRyaWVzIHRvIGFs
bG9jYXRlDQo+IG1lbW9yeSBsYXJnZXIgdGhhbig+PSkgTUFYX09SREVSLCB0aGVuIGtjYWxs
b2MoKSB3aWxsIGZhaWwsIGl0DQo+IGNyZWF0ZXMgYSBzdGFjayB0cmFjZSBhbmQgbWVzc2Vz
IHVwIGRtZXNnIHdpdGggYSB3YXJuaW5nLg0KPiANCj4gQ2FsbCB0cmFjZToNCj4gLT4gcHJp
dmNtZF9pb2N0bA0KPiAtLT4gcHJpdmNtZF9pb2N0bF9tbWFwX3Jlc291cmNlDQo+IA0KPiBB
ZGQgX19HRlBfTk9XQVJOIGluIG9yZGVyIHRvIGF2b2lkIHRvbyBsYXJnZSBhbGxvY2F0aW9u
IHdhcm5pbmcuDQo+IFRoaXMgaXMgZGV0ZWN0ZWQgYnkgc3RhdGljIGFuYWx5c2lzIHVzaW5n
IHNtYXRjaC4NCj4gDQo+IEZpeGVzOiAzYWQwODc2NTU0Y2EgKCJ4ZW4vcHJpdmNtZDogYWRk
IElPQ1RMX1BSSVZDTURfTU1BUF9SRVNPVVJDRSIpDQo+IFNpZ25lZC1vZmYtYnk6IEhhcnNo
aXQgTW9nYWxhcGFsbGkgPGhhcnNoaXQubS5tb2dhbGFwYWxsaUBvcmFjbGUuY29tPg0KDQpS
ZXZpZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJn
ZW4NCg==
--------------VErMBwayIgMAgiu0uLX3QHlZ
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------VErMBwayIgMAgiu0uLX3QHlZ--

--------------HdAZBpjEv01GON4bPbJ6Wl6i--

--------------uwdMa1iAv3egOVPQfJ0E0w6z
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOJvZYFAwAAAAAACgkQsN6d1ii/Ey8V
0wgAkI0Bqdx5wFAHiOD4GBKxRcVeYVXMSWmGPw7UTTWSin6avteyKIT6RS8/bz+bWrKo/AugPsrR
4+HsjQdT2WBl2TowaOA/FtO5WqEzH+e6wwgokLyLO8crHdObvcuDhfpYviVUxrZNeBDnZhq89CC+
dKw606WDRtfl3lPfwh5/nKheZXSsO3Trfu4jgDZZsvalRjIBzOD01Jd3cy3ucjkvZUEA9J6qg8Za
FMpo0J1WkoKOHgpsEl/4w56WezIgRzAFY5XWBMJWNEtaecEB9rENd3JhHggNX7KWJCIJVKdwZrsS
mXCc0b4MlQUKUoq98OIlmRlp9Cy1c6HiRjjQo2jUtw==
=7Ix1
-----END PGP SIGNATURE-----

--------------uwdMa1iAv3egOVPQfJ0E0w6z--


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 09:09:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 09:09:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451606.709382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1238-00033M-HG; Fri, 02 Dec 2022 09:09:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451606.709382; Fri, 02 Dec 2022 09:09:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1238-00033E-EV; Fri, 02 Dec 2022 09:09:38 +0000
Received: by outflank-mailman (input) for mailman id 451606;
 Fri, 02 Dec 2022 09:09:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1238-000334-37; Fri, 02 Dec 2022 09:09:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1238-0005Qe-0F; Fri, 02 Dec 2022 09:09:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1237-0003x8-JE; Fri, 02 Dec 2022 09:09:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1237-0007fJ-If; Fri, 02 Dec 2022 09:09:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NWsYZ3k8zqClv35l0q6xXpuIOc51rMygn87jZ4Kf8os=; b=qo71AR9Xqd0eDq63ciQ7BxZoZ+
	Sqb9/f92+dY1O+5pjUqwxZjEFPdOX55eWj7qn2KWd9JsGHw6Sms1x6dwDv7Rq5YDsbjAuD9FcFf+u
	1iq5fU7fgUZ6v3rWk2lFNRlkJ8SigOBMLk7+UZJoq3AxMgE12V+SnmfXRTYsAldwiWqQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175019-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175019: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=1527066a7eaabcd18533135e81f9064e00b32428
X-Osstest-Versions-That:
    xen=8b3c06a3e545204515e50733669ad6f5c7bddfd8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 09:09:37 +0000

flight 175019 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175019/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  1527066a7eaabcd18533135e81f9064e00b32428
baseline version:
 xen                  8b3c06a3e545204515e50733669ad6f5c7bddfd8

Last test of basis   175016  2022-12-02 01:04:51 Z    0 days
Testing same since   175019  2022-12-02 05:01:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   8b3c06a3e5..1527066a7e  1527066a7eaabcd18533135e81f9064e00b32428 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 09:11:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 09:11:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451614.709394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p125L-0004UA-Ti; Fri, 02 Dec 2022 09:11:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451614.709394; Fri, 02 Dec 2022 09:11:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p125L-0004U3-R1; Fri, 02 Dec 2022 09:11:55 +0000
Received: by outflank-mailman (input) for mailman id 451614;
 Fri, 02 Dec 2022 09:11:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xeCl=4A=citrix.com=prvs=328e240bc=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p125K-0004Th-Ez
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 09:11:54 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5767ff14-7221-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 10:11:46 +0100 (CET)
Received: from mail-mw2nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 04:11:50 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5648.namprd03.prod.outlook.com (2603:10b6:a03:288::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 09:11:48 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 09:11:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5767ff14-7221-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669972312;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=UsmSSvJtnOxRcEe+Jq56rbcDbFLS0hlP/R7CJAdg5fs=;
  b=NRfnWdzgS2MNwTSYMp16sNDefcJH41NGEd6kz2/OjX9N+jxCKHytHQbf
   IetMNJNJdge219zdUIHaPT6GltvMuEy0jbuNv9cMYQtdqAcMHv2aBnbff
   ePoBX1WkI0vP+Z3RuV9oAPq0U2IJnryAIwHXigvyJYZ2yiAW4ETFJz0ac
   g=;
X-IronPort-RemoteIP: 104.47.55.105
X-IronPort-MID: 88751284
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:vRGZnq412wDKLzOYoPDp9wxRtCbGchMFZxGqfqrLsTDasY5as4F+v
 mAXWWGGPv/cNmv1f9lxO96/oR4GuJPTyNdnSQs5ri9mHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoT5geH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m1
 a1beDcycki/n/uQkZW4ZudNg+QyM5y+VG8fkikIITDxK98DGMiGZpqQoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUooiOWF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNJCS+DhrK426LGV7n0aWUBLTHSEmvSGsF7mXPxgF
 xcUqxN7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhqgGqy8qDqzPW0QMjUEbCpdFQ8duYC7/cc0kw7FSctlHOitlNrpFDrsw
 jeM6i8jm7EUis1N3KK+lbzavw+RSlHyZlZdzm3qsqiNtWuVuKbNi1SU1GXm
IronPort-HdrOrdr: A9a23:pXbKeqMoeSmnh8BcTtSjsMiBIKoaSvp037BL7TESdfUxSKelfq
 +V7ZEmPGDP6Ar5NEtMpTn4Asi9qBDnhP1ICOsqU4tKNTOO0FdASrsP0WKI+VLd8kPFnNJg6Q
 ==
X-IronPort-AV: E=Sophos;i="5.96,210,1665460800"; 
   d="scan'208";a="88751284"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Idonf72DZquLZVmhbwlAdcq5dc0ml8G/X+Kf0N1W7PcOdSp4O/cAhIyTBAN7HWAmSd7vAiXOX7lpHXl9B24G5aYcvYgAJZ4dPg3yjHU2FPDkQdQSkkgMw5Nmj1+YZXEjJ5YQAUlHPdUf4lju8hkG/leV+NJoLEwfwdkTuRjhv7Zij9e9iKf51sZ/aqyenUk0QYFDHOxQHY1eJdfWbBOnjaPLqkeBjJ2TZRbT6TVK7U1JlX+2BLIrYlkqQ316m4O58qoKRvaNqgsYz3lMKj90FZ/LG2v9ZOd3oUtoHMsu9YWnKScIxEwpFR/07WUi3igSGrU5jcXJyw6h32ps65wlJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UsmSSvJtnOxRcEe+Jq56rbcDbFLS0hlP/R7CJAdg5fs=;
 b=R3gwrWFZO69k8MVi9BR2AttqPguubcgJuAfPDmT6aK7psoTZlNKpfU+njXQytcLs4Gu3rVs4jrcR+je559zcPs6r4uBamvVNLIIGuC9CkJ7zqfQ/JDGOXySnwUhq20Shh4FKtCruVG1C0tIfaEmJLCdAhTClqvRWsE0IzpmZRmTIL8EOE+zLJMtF6vwBJpgi18I7N0ggSZQpxJPr2ClpAiVZGsMXKnSb8x97Cn1yrgIyQC8KJg5mgz0uRYFmcheWbE3A4ONm1DM6/9N8hL6UHNqDBgOAPlw6nmUUSz8BWM6KzSm50gllTtO19rkkaoWWYJ/3OD4PpAYEt5yNtRlNBA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UsmSSvJtnOxRcEe+Jq56rbcDbFLS0hlP/R7CJAdg5fs=;
 b=E9ZwLlnoUCSyK8XZwZaxHPrV22Wzn3I/lXDfTanmD2YCMlvm4Vdw1IbBnb86Sc6UNZaxOhSMcc8dn7jCP4AehO8TXQbHgmA01K/YV5f74f5p6zkIEsdpbWzDrxZEa9Lb7QV8H24lVPdU1k5Lt7flEsOElxG9MS7G0vyHadu3X+Y=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: preparations for 4.16.3
Thread-Topic: preparations for 4.16.3
Thread-Index: AQHZAxdQbElMHcNupUajNspL4cb9tq5ZCSuAgAFALQCAAAyugA==
Date: Fri, 2 Dec 2022 09:11:47 +0000
Message-ID: <45fcf658-c353-9fc5-e343-64a5f6c1f0f4@citrix.com>
References: <2c4c605e-f8c5-abbb-db85-89465b7e10a6@suse.com>
 <7aeec9a0-628f-d1bd-994d-343ab7f8b85f@citrix.com>
 <d628796e-3b42-5d50-f8cc-039743d23057@suse.com>
In-Reply-To: <d628796e-3b42-5d50-f8cc-039743d23057@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|SJ0PR03MB5648:EE_
x-ms-office365-filtering-correlation-id: 94db1040-9648-4b80-4ca5-08dad4453d91
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 zV7HoSYge2js1NgtE4uVVeH2SypTEYMiFNghRhgWKGjIgy57vJGYnJumLG3zfdm5OANFHR0wtwFGgqWmj72kGXk1ylm9Q70eBZ5FVPPbisA7fChNrk835nOPd32KUdIkK5r/SkMBQEIWqMwAosZrYUGXb+vkcfuZ+ogERcrXVKm75VBSpttQOg4fMkwfbKiCnse3l6aaJB2VPSqIu64KplwHytRGr0YVqrVAPzYIYdeltcJ2Vs3xdbJ/zwqKVOcixB2+64DE3Qufe3PRX7FzSLvwrTKHXyW1kRHJY6aN1KyMVp2QuCL0UmHlDTs7EygZ60+IwOYr5KyG4GiuiWBqH9PN7H2Oae0dRPoAGuLKdo0lLDzm1o1nUKTCYRtl1Vt/jFlVUzMnPQb0KZjFbjLmVmN3VmmTxFKowbb+qvpveQhyC8hvP7VXCsIS2Y8wF1uGeYkioAzz113YAIAFdhiQvJ6qQvEH57ERPadt6P6l0zIKweP7rQaA+qgBuHWt+gtosYM9+OFqQ4ql/5h8wvjH3U+JSOr1Z1+uBhgeTo71IyjrNOO3hJ1gO900FKrTTUoBPt6uF1y4E3GV/q3VozPjXEnFiVJFib4Ghd3UEE4/ruJSuSklP4R/MTupmycaOkfB4l5Q7GvqNLqPJTMmHvviYfrxgVB/GbaQgxdz3gS+vu5tVs83IjJiS/kasZd+J8zBvRA73PeAeizuYaLKNEI4JYtwS+k/AoXTiPz9pNJBjnuxt3j+JPmHjlhk8kVl3IUsjN9U5YlZXAW6T7fuHddi4g==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(376002)(39860400002)(366004)(396003)(451199015)(36756003)(316002)(83380400001)(6916009)(5660300002)(38070700005)(91956017)(64756008)(2906002)(122000001)(66476007)(7116003)(4326008)(66446008)(66556008)(66946007)(41300700001)(76116006)(8676002)(66899015)(82960400001)(31686004)(38100700002)(8936002)(478600001)(31696002)(6486002)(71200400001)(86362001)(186003)(2616005)(53546011)(6512007)(6506007)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?TnJwZ3FoQUM2UFR6M2RmQ0xqMFBDN3U1dkZkclpBVUIrdm0vVlhlMHpRQU5H?=
 =?utf-8?B?amVsTzZiL1ZTQVhNRkxvU3ZWYmJZOHo2bkJGUmZDQmNRSThmaFJXNndreG1w?=
 =?utf-8?B?QUhUTVkyUnE0d2F4TnhXMm55K0hCd2k2QVk1Mm1VUCtZSmR0ZU95WmYyWi9O?=
 =?utf-8?B?ZnplL0dLNGhCYzRXeHZ0TGROM2RvQ21oL3VUZHkydlZyUGUvRXFXQTRQbTFI?=
 =?utf-8?B?VVo5OHJvcm45QUhBSy9QMCtOeW0ySFI4ZzY1dXA0cVcxU2laWU5aSE5kdWZw?=
 =?utf-8?B?QUprWUxnUEgrU1NFVGNjQk1MdStWaDdIc0J1eDA3dnpQaFJvK21rTUNvT056?=
 =?utf-8?B?dWR6ZGxvbStOTElwN3dQYmJuTWFjNGVYNlQ4dGcxWFFjZ0s4UmYxVWE1OVR6?=
 =?utf-8?B?T21KT0FuUG1WTDk0R0p5ZjEvOXJCWGhxaysxK05YUk9LZC9HUFNzRWlweVQz?=
 =?utf-8?B?L1d3Rndaakd5b05JU0xIQ3d5N0wrYytaYWgwMDNrbE1rUmN4cS9qVzduNE9u?=
 =?utf-8?B?RkVZNFFTOEtWQmZQYmYrdW1ZODBjRzRLS0E5WkJxaXBxNHMyb00ycjBwRW1s?=
 =?utf-8?B?bm1ibk13d0JUTnltUUlMUGxHSDFudTZZTUVIL1B4TnpiMk1DZFdYMzdqL2ZG?=
 =?utf-8?B?Wm56SUVWWUxXcDdWT1k4SUI2SytnNlR2QldvSEVKODRESHdPVGlTNndJK0hU?=
 =?utf-8?B?YmM1ZW9SMktKVTlqN2ZRRllyU1h6Q0pQdkxRKzRXaVY0U2ExKys2M3lDd0pl?=
 =?utf-8?B?NWdVVFp2RXlhYkpaQlZvVWFONkdZOXVkZFFiNTZsRjh5MkN0Mml2bFZsbm1y?=
 =?utf-8?B?emo4NXdOUG1md2hXZUdJRXY1d1ZpdnlSS2Z0cHNWVDU2d2pVV05hOTk4azJk?=
 =?utf-8?B?T2tWdWl3cGZsbVBJWEtJdFpFVzZHR2I3MjBvKzYwZGNhWlNueHJGQzJZTWpL?=
 =?utf-8?B?ZzlQc2RxRUJ5OFdGemN1enphcVlsL2Nrc2dYQU8rRDU2eUdjQUQwKzZCd1U0?=
 =?utf-8?B?WUd3aVgySWVJekFWUFRKYlMzYjFwT2ROaC9kWGtzSG40MHlDUjg0cVhPbE5r?=
 =?utf-8?B?K1o1YmJnd21qb2hGS3RnOW5zNkNEMFExUXROR3hac25QM0FzMzhuZ1JVTVMz?=
 =?utf-8?B?b3RraUpxZ2dsaFJCN3hYUkV0eEtFSm9heSt6VmMxTEs2Zk93RmtWdGhYN2FB?=
 =?utf-8?B?bGV1Tm5pdGNhTFZnNFBCZDJHczNOaG02SnBSdXdVczh1elBzbjZXd29mRTFJ?=
 =?utf-8?B?SVRHcW94SlZsbllWTElRYTdRTVZuWml2ZE1PNjVJelpINEcxRnR1UUsySnoz?=
 =?utf-8?B?aUNLWGpmRURaaGphRTJwQVUvU2ZpQ1hoeTcvNnZtWmZBRVhYWHlmbGludWgy?=
 =?utf-8?B?WGtMYTRHNjZMMGpZZjRUWHZ4TU0wbG1UUVpIanMxK1IvTGk2dFd3RU5DenpG?=
 =?utf-8?B?U2F4T3R3UktOMVYzNzFidENRTGtvU2xMdjJHdEVWcFg4RXlCTXpZTUpFMmJL?=
 =?utf-8?B?ZjJoYTNyUVRiRWpHUVJITzZ5RHB1M1BLZFFUUUxQZkFtM3hTckhEelVhZmNF?=
 =?utf-8?B?b3ZmempWRTNYcHZlTVFsVW1reTVSMUYxSTQ4L25YaXZQRnEwV2grbzk4c1Qv?=
 =?utf-8?B?LzlYRzkvYXJiUDNLUFYxYXVMVUxNbUJzMjBIWTVXOEYrVTl2MTRsS3Y1Nzli?=
 =?utf-8?B?TlRBU0l1OXNxcHNaM0tad0RlbEdrQTJTdmlPUmNBTC9NSUg5WHJNd2VHVzdR?=
 =?utf-8?B?dEdPaEV5N292L0dkOUFhM1NtWDBOeGRaQi9FUGY3SFFiSCswamZVUklMKzJO?=
 =?utf-8?B?MjBJUkNNWWpSU3ViLzdpVjh5em1VeXVGdnlQYzBJalVpRTcySXNDWHVQUkgx?=
 =?utf-8?B?YkZ6dnNjN1JpQlBpMSswR2NTSDEwbENxcHdPYnRXdW1LaHBOWERCa28wRU05?=
 =?utf-8?B?UDE3MWZIUHRueUFDVnFneGc0b0l1dlBRSGZKREYyRDdBd2R4SmNtQkl4M3dv?=
 =?utf-8?B?VUQ4ZFJnZUxNWkRaLzQwNkY0Qkhlclh6NHhxcDcwZ0ZBREJqRnQwK2kvc0Zh?=
 =?utf-8?B?bW1JbHZHTmdiQVdSZjFnOE92bU1abkZsTmU1RGpKMjFiZzNpLzBKc1M3bnlr?=
 =?utf-8?Q?/+hJTnl5EBtrIBEgbjE3mRTss?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <2DBB9F26C4F46642B0EA2D28F8395C18@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	WACIpHuCa+yk6GvzDpBy5nELvbRFbcOwLYstD9lXM+9Gagmqt2NQyItsZVoRQigLrNvWhy6HtL+mMAdBSBtBbOMlmLTHDxPwg4tP7uPMjzYrtx4SNlkrHVmKpcawV7Q3SZ7l1453FS8dmGPIaVjNB4Lyno9VtRIZUC/xRGRDLb/KXy7lyVDh/YWoWWVoS2LVcwbJff/HbKKZwmgOnwPIv3fzMN8/I56DA1qRLgwVbDEMwmONm+qdqg6js0ChnAGVkNOeiu757OAzx2X5Qq5lvlYPoou6NV/ZkfLmI5tjExupSFhKbCHsnl350ID8wh/7mX85vF4ve2D9Kck5FiqwZknxicrvSy9VE6HamtLwQjfeQZQB6qWeTMhNtv3BbG2iw4cta0KjOEko4UImeKfB6Ga/L3Hi3mLSGmFIHm4r4cdwEHLXu53fIZmNM7r1o38V7B2T9/H0BNMgX9MPAJWFCmFfqIAJhiwUKO9UOQbrfZ794a9GFjBa6L8FTqOQysI7oaBpg4DUs4448F42I75jbH2RYfGRG/mINcJzXldaxkMmbpeaVUi0N93yylGJjOjE/Qh6T0nGEDe8Xg6t1wc6Kp/6HBsflDL7cLZLarDvTvqWWQ5Ir4NqQojSWyCKYuYIwIpcwyIp3YFEkFKnqmOJdJOrxHMgbMud7/c15G+Lrj0KGKXO/49ChrKQN6TlzQAVYQpR5iRzqcTBsr6jWwwEYjNx+1wbQdb1le0OW/brgtdKS47ACAJ1CpDvnMs60wvqpkldZtwkJVRkTg5ir52gO+FqQGgBs2KTyW2m8ffwr5M=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 94db1040-9648-4b80-4ca5-08dad4453d91
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 09:11:47.6485
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ToKxZAq7fmaf8JmD/EL80lbCAlpkb3QIqtrkQt1tdXmy/WQHXv3TB9yGKWnkNsI/gl8oCEuI3xdOjJNjNCLpgiwNJtZ8G/0NhoMGx4XGI8I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5648

T24gMDIvMTIvMjAyMiAwODoyNiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDAxLjEyLjIwMjIg
MTQ6MjAsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBPbiAyOC8xMS8yMDIyIDEwOjUwLCBKYW4g
QmV1bGljaCB3cm90ZToNCj4+PiBBbGwsDQo+Pj4NCj4+PiB0aGUgcmVsZWFzZSBpcyBkdWUgaW4g
YSBjb3VwbGUgb2Ygd2Vla3MgdGltZTsgaWRlYWxseSB3ZSdkIGdldCBpdCBvdXQNCj4+PiBiZWZv
cmUgdGhlIHllYXIgZW5kIGJyZWFrLg0KPj4+DQo+Pj4gUGxlYXNlIHBvaW50IG91dCBiYWNrcG9y
dHMgeW91IGZpbmQgbWlzc2luZyBmcm9tIHRoZSByZXNwZWN0aXZlIHN0YWdpbmcNCj4+PiBicmFu
Y2gsIGJ1dCB3aGljaCB5b3UgY29uc2lkZXIgcmVsZXZhbnQuDQo+PiBJIGhhdmUgYSB3aG9sZSBw
aWxlLCBhbGwgdG8gZG8gd2l0aCAobyl4ZW5zdG9yZWQgbGl2ZSB1cGRhdGUsIGJ1dA0KPj4gdGhl
eSdyZSBzYWRseSBpbiBteSBwZW5kaW5nIDQuMTggYnJhbmNoLg0KPj4NCj4+IEhvcGVmdWxseSB0
aGVyZSdzIHRpbWUgZm9yIHRob3NlIHRvIGdldCBpbnRvIHN0YWdpbmcgYmVmb3JlIGl0J3MgdG9v
DQo+PiBsYXRlIHRvIGluY2x1ZGUgZm9yIDQuMTYuMyB0b28uDQo+IEkgc2VlIHlvdSd2ZSBwdXNo
ZWQgYSBidW5jaDsgSSBjYW4ndCBndWVzcyB0aG91Z2ggd2hpY2ggb25lcyB5b3Ugd291bGQNCj4g
aW50ZW5kIHRvIGJlIGJhY2twb3J0ZWQuIERlcGVuZGluZyBvbiB0aGUgc2l6ZSBvZiB0aGUgc2V0
IEkgbWF5IGVuZCB1cA0KPiBhc2tpbmcgeW91IHRvIHRha2UgY2FyZSBvZiBjaGVycnktcGlja2lu
Zy4gQW5kIG9mIGNvdXJzZSBJJ2xsIGFzc3VtZQ0KPiB0aGUgb3hlbnN0b3JlZCBtYWludGFpbmVy
cyBhZ3JlZSB3aXRoIHdoYXRldmVyIHNldCBpcyBpbnRlbmRlZCB0byBiZQ0KPiBiYWNrcG9ydGVk
Lg0KDQpZZWFoIC0gdmVyeSBmb3J0dW5hdGUgdGltaW5nIHllc3RlcmRheS7CoCBUaGUgYW5zd2Vy
IGlzIGFsbCBvZiB0aGVtLCBwbHVzDQpzb21lIHNjYXR0ZXJlZCBlYXJsaWVyIGZpeGVzIHdoaWNo
IGRpZCBtYW5hZ2UgdG8gZ2V0IGludG8gNC4xNywgYW5kIGV2ZW4NCnNvbWUgc3Vic2VxdWVudCBv
bmVzIHdoaWNoIGFyZSBzdGlsbCBwZW5kaW5nIGZvciByZXZpZXcuDQoNClRoZSBtYWpvciBidWdm
aXggaXMga2VlcGluZyAvZGV2L3hlbi9ldnRjaG4gb3BlbiwgYW5kIHRoZSBwcmVjZWRpbmcgOA0K
cGF0Y2hlcyBhcmUgYWxsIHBhcnQgb2YgdGhhdCBmaXgsIGJ1dCAibm90IGxvc2luZyB0aGUgY3Jp
dGljYWwNCmluZm9ybWF0aW9uIHdoZW4gdGhpbmdzIGdvIHdyb25nIiBpcyBpbXBvcnRhbnQgdG9v
Lg0KDQpQZXJoYXBzIGl0IHdvdWxkIGJlIGVhc2llciBmb3IgbWUgdG8gcHJlcGFyZSB0aGUgYmFj
a3BvcnRzIHdoZW4gdGhlIHRpbWUNCmNvbWVzPw0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 09:12:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 09:12:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451615.709405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p125Q-0004lk-9b; Fri, 02 Dec 2022 09:12:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451615.709405; Fri, 02 Dec 2022 09:12:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p125Q-0004la-5U; Fri, 02 Dec 2022 09:12:00 +0000
Received: by outflank-mailman (input) for mailman id 451615;
 Fri, 02 Dec 2022 09:11:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3Iy3=4A=citrix.com=prvs=3285f5271=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p125O-0004Th-Pz
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 09:11:59 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ad60cb9-7221-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 10:11:50 +0100 (CET)
Received: from mail-co1nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 04:11:56 -0500
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com (2603:10b6:a03:2d6::7)
 by SA0PR03MB5596.namprd03.prod.outlook.com (2603:10b6:806:b8::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 09:11:54 +0000
Received: from SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b]) by SJ0PR03MB5888.namprd03.prod.outlook.com
 ([fe80::fc0e:731b:b539:94b%5]) with mapi id 15.20.5880.010; Fri, 2 Dec 2022
 09:11:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ad60cb9-7221-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669972317;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=qGqfYDKqBnE+JA+A0un9mFh/4btTpntvJo/ky9FMhPc=;
  b=aCnE6ztxgrNJ+VxTbyEg9c+Wu+Ckpui0UpJSb1Qg9Go6KDyHxwrVOQ4x
   K6LLFRZV3Xl518tp8060ti5uMyIFwXevY4xZ+pPmFZE3s1/kWYgF+0GaC
   mVgv2p2FUlfz/SxmQ0FgRH+uyD3ZkZHt6S4TUiUTDkPSKcBqcrOp11P0d
   s=;
X-IronPort-RemoteIP: 104.47.56.168
X-IronPort-MID: 88751302
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:z0cvr6KQuWeR2sAVFE+RwpQlxSXFcZb7ZxGr2PjKsXjdYENS3mYHz
 WBLCjvSaK2OYTPwL4wjbYqx90pUsMXcyNBjSwdlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5ARkPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5tJW5V2
 d02GgpXZyufjf+Y25Xqe+9j05FLwMnDZOvzu1lG5BSAVLMNZsmGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dppTGNnGSd05C0WDbRUtGGW8RT2Fqfv
 GXF12/4HgsbJJqUzj/tHneE1r+QwHqgANh6+LuQ671F2VeuwUcqViIGdlSAqOa7qnylRIcKQ
 6AT0m90xUQoz2S7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsZjJIdtEOrsI9Qj0uk
 FiTkLvU6SdHtbSUTTeW8e6SpDbrYCwNdzZcNWkDUBcP5MTlrMcrlBXTQ91/EamzyNroBTX3x
 DPMpy8771kOsfM2O2yA1Qivq1qRSlLhF2bZOi2/srqZ0z5E
IronPort-HdrOrdr: A9a23:qGU2Ta+eKAZ6X7taLRluk+DOI+orL9Y04lQ7vn2ZKCYlEPBw8v
 rEoB1173/JYVoqOU3I4OrvBEDiewK+yXcW2+Qs1N6ZNWHbUQ2TQL2KhrGJ/9SPIULDHso379
 YET5RD
X-IronPort-AV: E=Sophos;i="5.96,210,1665460800"; 
   d="scan'208";a="88751302"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q4RAXTsrCTtQDC65/S1FiR5xKGS36GehG6DR37FzKAZUc8cz+HGzulPddtrcqxWFvHDm3AlDeHzT+u05ueTzRwYXOBpe5hNwJE0zz3NqIWquycFWVc1PaMDpK4KnQYCuFKagJR4muj+RhPyDTlP0RBGUgMn1gWtXLwhY722RIX6f5vsV7DxBF4rV82Jl0DRjRENpCrPHB0oZGko2a5/4tCFIcGbXU+kTV7A51Ivk/vQaTSxgRC4+w4Rkf5KqZxJHgv/LWfj8kFrwRwPfjRZOz50tKNrHGZv2YrqIsRTBNhBUeL5RiXJSb1PqimrlPIwWtLWt+6ornU8j2GatcOBvYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hCxPQN/XSAifik1PuiUAu/19rYYjB+/g0bspy4fBNT8=;
 b=JDHddEg+otbqNNmhESoQoqy9kPPavPI5+6Wr6VgHjW01QsF/bIUybihWUHQNI0zQSnB6cOY1P3olQZoFHkdLYUkybw9soGKsGzLrLmN5c6kYj2NT1mTmKdOueFBMJ05q2IB+FtpqzcSadxkUAnioa6MX022xSpKkyof7o8+y/wji+Siq96yNLrPkmUCl2iODMJh8Y4vET2AgbgshVvH8MoW0V2msO7V3wwn9sxBOfQZtZuxqmQNGD4il9MlXeIphAosKBq75TbeZMmIZ7NbCxgPyV7mtc172BRQyF0PYco5r8K/iUzUNjG++Xh7yp9fadg9s91tD2V9QSurhG/T3Xg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hCxPQN/XSAifik1PuiUAu/19rYYjB+/g0bspy4fBNT8=;
 b=ChmOTKySmzQwlfqf265dXk+dn8SxWfHNk9jlPJ4qZGZLWuN3/fsAkPooaEAup0+inxcWxypvTl3Ae+UI2TIVft0364ZqqLSTLLXKVNMS2PfU9XNUYVipCexeE4UMXh3CmwxqmSoL7RyAT4vGvxxSPtLK4rGQty3S12VewgaRA/M=
From: Edwin Torok <edvin.torok@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Christian Lindig <christian.lindig@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>, Rob Hoes
	<Rob.Hoes@citrix.com>
Subject: Re: [PATCH v2 4/6] tools/oxenstored: Implement Domain.rebind_evtchn
Thread-Topic: [PATCH v2 4/6] tools/oxenstored: Implement Domain.rebind_evtchn
Thread-Index: AQHZBNyC07UMyecyUU6qY7XFpbA+Qq5Y5D8AgAAN2oCAAWBegA==
Date: Fri, 2 Dec 2022 09:11:53 +0000
Message-ID: <178073B7-40FB-4C49-9738-6CBC53EA8ED8@citrix.com>
References: <20221130165455.31125-1-andrew.cooper3@citrix.com>
 <20221130165455.31125-5-andrew.cooper3@citrix.com>
 <27ED9DA5-D63E-4F49-824A-74AD7149DA5C@citrix.com>
 <6c667e15-8a6c-753b-923d-fb5ea7839cc3@citrix.com>
In-Reply-To: <6c667e15-8a6c-753b-923d-fb5ea7839cc3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR03MB5888:EE_|SA0PR03MB5596:EE_
x-ms-office365-filtering-correlation-id: cec874a3-6978-4cdf-5c33-08dad4454156
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 l8njyPoIonQmyIcg5AhNA1nBkO9EW26EhsbAimaqxu4UbOwJSFe5L9L7hVsJMAEMozL6Zld/qn5pT+yg2RdmM3CW6lnxnZ9twyHLzE/CRb85/V2t1qhCGDupfbX3kIGdylYsL2vHQ0nHu5ckBzbRmpxh39CtHk2eduCIRkj6cnSXc1nnOkjKtPRUezu75SXUR3S1LLhxEPm9Qhv0gUDHWAf6+F98M8EKEQ6qJyDv/KlSwOXpmg/l0t7pz7fDPmYZ2OkGLgmv95GcFCceA5xnssStnnj4sL962s4bUBrN3/1yYbku3gllucwkmJsQQRwq+LAyqIn5YaW4jfJR8zcQ8wfO3DZdKOzNIHU8LYDY6afxoAUZ9z00DvC3+qsGwXvRMCe6ZnDMqjXMXU2dGSRmuIlKr5Hbsu/AceanF7fI91LL7n3QNcRqAL4v6RA4kFkzs7D8Z/oykmwlEwYJLZEIG+Y0d5zGbiYFSWaJrZ5hehRwXxezXNltwP40KDEAh9dznv0fEuSVvM33Odnhz8f9yxk4GrangRe1rNEZGdLqgvLRfKhOi2qSdYfUNVB9OvCvuquAbWeyckOdUO5a0k7fHThEeWQuaflSV/2o6W1shE16mxkVe2bmKUBN2l2cwHBJOPk6XuMEblCDhYXTIBth1341ulFbM8KPsNKwCq26OzTL1B5vHvQ89NwGwkljPVzNtS0hN+R20o3ENGW5YUvtYVITdVjFbspi3AO/M6gl0Xg=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5888.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(346002)(39860400002)(366004)(396003)(451199015)(6512007)(26005)(53546011)(71200400001)(6506007)(66476007)(66446008)(8676002)(76116006)(66946007)(4326008)(64756008)(107886003)(6486002)(478600001)(91956017)(186003)(2616005)(41300700001)(8936002)(6862004)(5660300002)(83380400001)(2906002)(33656002)(36756003)(122000001)(38100700002)(82960400001)(86362001)(316002)(37006003)(54906003)(66556008)(6636002)(38070700005)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?5fwNvx9ZotFlIRbB0M3CYhBeEkgjRSkFhlkl3mhm2IaGp5/1oKnA0RAeOSPG?=
 =?us-ascii?Q?QPpfALELsHdU9nIp6P4tIXiDg4EQ6CRJL9ym/1v93LZuaEsDrrSHS1gmNeV5?=
 =?us-ascii?Q?w3wOrSFwm+RJDNFre0w2iA/6Uw7ecBCxaB9x54hVc1Z3FEBSnoPYerfpvIv3?=
 =?us-ascii?Q?FqoeRgZ5ngVn2EmhsHb1u+a7Qo3CWO79/MphBR3ge82Csb94Dfo8JTNvpIKA?=
 =?us-ascii?Q?sllSASjEIBXCXpQUqs/CvQJCkAMrWCyL+2PB284gDzkVnGoNms4voDq/nrvE?=
 =?us-ascii?Q?hIMzWI34MU0E+5+L9ZS0EGPmFuq11/sanXVcX3CQmqOJV9IXWwe2bdVLUXvJ?=
 =?us-ascii?Q?sqUNumWlu8THBMLYHef2Mu4Ar/6krguxWkIGbghRdcZxBcmr8kzbOvwedVzJ?=
 =?us-ascii?Q?QRuAJN1e9ky4Bo/mcqG+7Ld0AA5g6kZW6CrXA3v4NdHBsgulW4B2xALqRAl6?=
 =?us-ascii?Q?Mi91OojFaQApAw6Ux9DnPXQd9iXOglRn5Fhvpf4/oR5EieolZ5sHJhbkoA4G?=
 =?us-ascii?Q?UIPtn97NCxXVyjhWBYsv9gkpq5ObVq33u5gQJ0J2/mygArtV+CCgYwOGBC8M?=
 =?us-ascii?Q?D5r3c22TM+vY9VY+crIz+ec4DNQKzoWw8SAFeXaZq9GHkkXZ9k5sKvjnrQZG?=
 =?us-ascii?Q?XJPWYYB5fLe8OxhQSooWyvt9WuY/Tqsbb+AzD+s06OU3FHuH1HzwZhojE7Tc?=
 =?us-ascii?Q?Rc2EbToeVOqFqFK6Ukj5FBZjwA4HPTwUqbP1/2ghkoOQgmihaDMFajQD92bJ?=
 =?us-ascii?Q?DD6g0y7l6aUYWJja4Sq17ZtyUzk9etLaOg8qA4AsXwt7VaCKGph7LFJKK1Lw?=
 =?us-ascii?Q?QSMg0Gq2UDeIdoB84/G7q0azW2C4703dP/qO+z2sm9ad/xKOj0/31RQcoyEY?=
 =?us-ascii?Q?xE3Kab3IbJDm7QYL1fmOAIuaXQr7y8FJj33qKzBWTG8lBx0L+x4AXGaBfFx+?=
 =?us-ascii?Q?0FEitmHHxz7vctPr06q7AgNSmjRIeeEQO8fQ7t/0lSjka9QHxw0wd+Fu3vbD?=
 =?us-ascii?Q?049lM3tj0Yu9zQ/WyaB32lgyzSSi3azIuct+iDcqg+fR/h+vmuxzXF+hfu+M?=
 =?us-ascii?Q?Am3c3Y7TnFiKYGMzi2Qa2n1h45HyKKjfQwwlOfwKLeUopZ9rlybo97+5Q2Hf?=
 =?us-ascii?Q?AH3ulnJH/HeMPqBEr4QSMBnnPcT581TRmU5wJsXf2XJM4ZZXHVAFU4d1D7dW?=
 =?us-ascii?Q?P/fY8rG/tcHh8FwEFxaNLTGa/r26jLJyb5Ow7wuSNhKTBrumpa2J+F9cvx6t?=
 =?us-ascii?Q?q2sj49FrnvzvWlKH/x6pPwaOKtT8ZhlTAgf4PUjhDJI1CPj5P6z9kV+6QXjd?=
 =?us-ascii?Q?Cwk1xbXkbpkLXR6FI/itERVu8g6SNGCkjYqILbPTU8q8KNGZB5e0EvVdy1Ze?=
 =?us-ascii?Q?9/WRlAgjFuExxQloxKkVdSJTNIz0Togmd7ZMNSVPal606CDw4j962WSVGjM/?=
 =?us-ascii?Q?LnEZpm/ORgaPGxlh3Kc1ieqxAqnvD+0i8rjph6p6yI8aYJ/Ie5zQ9NF/yQEH?=
 =?us-ascii?Q?oPVOCMc+2CzVnu93SqZX9Wn9cd4DVyT3JsVhJXpgSIysck9Y5c5Qd3014e9g?=
 =?us-ascii?Q?TdBIqieyNqdaS+Y7ZCyeEUrmjG9/SRNoS7KKqotVz/qgoAij2p4fNhslsCuf?=
 =?us-ascii?Q?Xg=3D=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <CAB272ECA751044DB7177D000F77693C@namprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	RpCFHsPVzjUc9apY5ydA9o3qgrvDF2gHKf7GME2YYLGplRkgjUGvxvRpx6u5vDpKprWl2esmKabkiUakeZJI+NG5D1+XHGJwX43+aLEkv8lEkpweLLMsnd66X44WWu3sLaRgPQoq2wq6FwJ8C8VNi7R6Ii9v/OaOKT/jiJy9oBRuiXO2sv2eNgUmzo7wRmzRsWj3WVQmY/rulYZbGM5ucSUZ1t2+LBoRfHa3MoD38X8BlkAM+2F+0pgc2mqQAvUZGpUvCKiffRJGt3pCAlj5usEtVqeziv3hkd1+zbSZn9G/XOYKSunKXLquPNZp/iB44IqD0maB+eeFxoe1NECsw/623/mHxabhyZX1HrbRrj01f/2lp4aM3zmGGVcrPtKQL4VhE6rC3i/gHhJ1I0wA9Lja2QESF7JXsO0h4FQ1NlyTV7AWsmFUK8BxgHIXb4X83RNUoqyurtQYreEansTU4ULgnQy9W18ZQi51ODToyJHk/jlWysHt6rtKXjKR/3cULgYMhP1i+rJqzDaItRYTDEh0qcaZZWy8i/bjjhsW4GWPbryvzse8gaHvVqMXcruTpzIz464LLosDIf+4ds8oaIyzjlgJLeZpkyXxV+6BnfIKEHil6aLCLTlEpwsDlHC7/ouPLkdvQtasDbAXnoiTFu+gI+I4m/cbsBBtfBpn4J72IZ99p8xiPTwr0zETk8l0TwIpZ+EkwActH4NGZQR287OP1pTaqdUAK+L/prrQqobP/twIChPM2/bDIe+MZj/ixDq1qghnZZGANTlbE8gGE35qhSeIpeFFDwTvrp6armU4wxGYzL4RZsh1hZK+ytfY
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5888.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cec874a3-6978-4cdf-5c33-08dad4454156
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 09:11:54.0044
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: uX3HoJlmQkXnO96hoQHsHGIBbAU211s+diqJrI68qucS77q1Oqc05iTe8K5a7G2yMsLoEcPKzPATKaS003S7ew==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5596



> On 1 Dec 2022, at 12:10, Andrew Cooper <Andrew.Cooper3@citrix.com> wrote:
>=20
> On 01/12/2022 11:20, Christian Lindig wrote:
>>=20
>>> On 30 Nov 2022, at 16:54, Andrew Cooper <Andrew.Cooper3@citrix.com> wro=
te:
>>>=20
>>> Generally speaking, the event channel local/remote port is fixed for th=
e
>>> lifetime of the associated domain object.  The exception to this is a
>>> secondary XS_INTRODUCE (defined to re-bind to a new event channel) whic=
h pokes
>>> around at the domain object's internal state.
>>>=20
>>> We need to refactor the evtchn handling to support live update, so star=
t by
>>> moving the relevant manipulation into Domain.
>>>=20
>>> No practical change.
>>>=20
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> ---
>>> CC: Christian Lindig <christian.lindig@citrix.com>
>>> CC: David Scott <dave@recoil.org>
>>> CC: Edwin Torok <edvin.torok@citrix.com>
>>> CC: Rob Hoes <Rob.Hoes@citrix.com>
>> Acked-by: Christian Lindig <christian.lindig@citrix.com>
>=20
> Thanks.
>=20
>> The code makes changes around if-expressions and it is easy to get misle=
ad by indentation which parts are covered by an if and which are not in the=
 presence of sequential code. I would be more confident about this with aut=
omatic formatting (but also believe this is correct).
>=20
> I can keep the being/end if you'd prefer.
>=20
> Looking at the end result, it would actually shrink the patch, so is
> probably worth doing anyway for clarity.  The net result is:
>=20
> diff --git a/tools/ocaml/xenstored/process.ml
> b/tools/ocaml/xenstored/process.ml
> index b2973aca2a82..1c80e7198dbe 100644
> --- a/tools/ocaml/xenstored/process.ml
> +++ b/tools/ocaml/xenstored/process.ml
> @@ -569,8 +569,7 @@ let do_introduce con t domains cons data =3D
>                         let edom =3D Domains.find domains domid in
>                         if (Domain.get_mfn edom) =3D mfn &&
> (Connections.find_domain cons domid) !=3D con then begin
>                                 (* Use XS_INTRODUCE for recreating the
> xenbus event-channel. *)
> -                               edom.remote_port <- remote_port;
> -                               Domain.bind_interdomain edom;
> +                               Domain.rebind_evtchn edom remote_port;
>                         end;
>                         edom
>                 else try
>=20
> I'm happy to adjust on commit.
>=20
> When I started this, I tried rearranging things to avoid the "if exists
> then find" pattern, but quickly got into a mess, then realised that this
> is (almost) a dead logic path... I've got no idea why this is supported;
> looking through history, I can't find a case where a redundant
> XS_INTRODUCE was ever used, but its a common behaviour between C and O
> so there was clearly some reason...


Currently the soft reset code in xenopsd uses it, but as you say there must=
've been another reason too (the soft reset code is a lot more recent than =
this).

Best regards,
--Edwin=


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 09:14:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 09:14:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451631.709416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p127q-0006Df-OO; Fri, 02 Dec 2022 09:14:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451631.709416; Fri, 02 Dec 2022 09:14:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p127q-0006DY-Km; Fri, 02 Dec 2022 09:14:30 +0000
Received: by outflank-mailman (input) for mailman id 451631;
 Fri, 02 Dec 2022 09:14:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sHVG=4A=citrix.com=prvs=328764c7b=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p127p-0006DH-5Q
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 09:14:29 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b3cb5a8e-7221-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 10:14:21 +0100 (CET)
Received: from mail-dm6nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 04:14:25 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 SA2PR03MB5931.namprd03.prod.outlook.com (2603:10b6:806:119::5) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.10; Fri, 2 Dec 2022 09:14:23 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22%5]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 09:14:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3cb5a8e-7221-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669972467;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=mP9ji4nI7RMjNsk9his0Cg7RPLhuUMgGCCghio9OEBc=;
  b=NVrSanPnCW1ORPhZLoYCKO49MjYxdUmNJLlGinuOvReBxhQTcpyZYcJT
   17nUihMxDwd8dW7pbCIqgxOfhSMFf3z2jm7YvCD79jqSyIWBLbHMHFmYA
   zrAwyGYhkeEIDtWg3+DP0s90shCER2O9AMFkMWWHs4BC1NdEwbWSZq0zW
   Y=;
X-IronPort-RemoteIP: 104.47.57.176
X-IronPort-MID: 86234210
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:tJSn7Kk8nXZaVdveSMGymDjo5gyfJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJMXGvQb//fZ2r0ctggPI7gpxlXu5CDnNExGlNupSExEiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icf3grHmeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aqaVA8w5ARkP6kR5AWGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 fMCLmE1fA6Cvvi/wbSYFeBRm88pdta+aevzulk4pd3YJdAPZMmaBonvu5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVM3ieezWDbWUoXiqcF9lUaCp
 3na/m3/RBUbMtCexhKO8262h/+JliT+MG4XPO3mrKU22gTLroAVIAc2fgu7/tmmtmiVYPMGL
 XQUxQMoirdnoSRHSfG4BXVUukWsrhMaHtZdDeA+wAWM0bbPpRaUAHAeSTxMY8Bgs9U5LRQm3
 0GEt8nkDjtutPuSU331y1uPhTa7OCxQIWpcYyYBFFIB+4O6/991iQ/TRNF+FqLzlsfyBTz73
 zGNqm45mqkXiskIka68+Dgrng6Rm3QAdSZtji2/Y45vxloRiFKND2Bw1WXm0A==
IronPort-HdrOrdr: A9a23:H/7+Bat2XYqqiBYevubo4vhj7skCpIMji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJhAo6HnBEDkex/hHPFOkO0s1NuZLWvbUQiTXeJfBOnZskTd8kTFn4Yzu8
 ddmsBFeaXN5DNB/KHHCWeDYrMdKe28gduVbKrlvgRQZDAvT5slwxZyCw6dHEEzbA5aBaAhHJ
 7ZwsZcvTKvdVkec8z+XxA+Lp3+juyOsKijTQ8NBhYh5gXLpTS06ITiGxzd+hsFSTtAzZor7G
 CAuQ3k4aeIte2913bnph3uxqUTvOGk5spIBcSKhMRQAjLwijywbIAkYLGGtCBdmpDQ1L5/+u
 Osnz4Qe+BIr1/BdGC8phXgnyP61iw11nPkwViExVP+vM3QXlsBeoB8rLMcViGcx1srvdl63q
 4O9XmerYBrARTJmzm4z8TUVittilG/rRMZ4KUuZkRkIMYjgYJq3MUiFQJuYeE99RvBmfca+T
 xVfYnhDPU/SyLkU5mWhBgi/DWWZAVOIv63eDl+hiWr6UktoJlY9Tpo+CVNpAZxyHt6cegx29
 j5
X-IronPort-AV: E=Sophos;i="5.96,210,1665460800"; 
   d="scan'208";a="86234210"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CRnyKbXd7Jb9J0D9VWk2ob1X++RQzEjezH+CMMUFFEdNyKp8mAd0uADBPCqdVLUEgTLPMXe2mKI0VlR9L1GqyzNpW3EANeJqzFqR289QxLJED/yCSc9dZPBzhkuiQke3Vn89hrawDi4wXVcALS26alr5+eYTeSOCihRuSnV7rjC+zZwnm4cV/Y4xRr3XWIdoAj12pCtQ4NBKkM/OtBbQkRXnJnVvogy6tyMVc2xeepl4QHVDH3KLhyu4gbA0bBcDndkwLmXchS+33WhF0qmpDyBv0uTM0I/dzdeg5ThWgxs9Q9MxpwQNdYgcultp0tKL8+9hs5dTgvyZTGB63Q+sNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lbvyAF1A4AWxEnk7jMvx//LRJm6IgEx0w3Poeek+NVw=;
 b=ekeZOCPz4Y0jmltPMES5Cx44wirzPFe82rTyAcNvV5VcodBmurBO96qrAZxwU1RqTeHkEU0xzHlKENiihyCrebDJv9JzOjuJNzKIVaHIAMth7ey3YP1zkgZSxxf9GFW9qt4MM0pQWdRIGo/N/2Pf1Yx9zC8IpKgFCwbEfOmHJ0wo9SBzXzMriIQIRlNz5D7JmO+FiwpKc+EqzNwZwT0VEyH06C7JOekA1VYh/Mogoh/G2rDtPxkxpKJIIyd7JKL9lJYaAzkUjVVWM1U9e6dEM0KkLQ7bqpewppcQmBRtwm2XHYg2yzsOwFvo3jA/XI00nu9WBlWexBOLfnkDD1gc4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lbvyAF1A4AWxEnk7jMvx//LRJm6IgEx0w3Poeek+NVw=;
 b=lfdZWdeWcotb1T9okkBL99us0hBziTKRm92esmkmJ8Z38l5VFCeF42SyuMYGwWRdbe4MlShcnErcaMXLQ6K8Q7mzHgS+Vp/+t6GE1F10ZuD1kqJDbLRJrUUoVXNztzG5rBJDPsRq6fDbTwuMdzoM36ogTUnpVU5LMBsi2LwlfE8=
From: Christian Lindig <christian.lindig@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Edwin Torok <edvin.torok@citrix.com>, Rob Hoes <Rob.Hoes@citrix.com>
Subject: Re: [PATCH] tools/oxenstored: Render backtraces more nicely in Syslog
Thread-Topic: [PATCH] tools/oxenstored: Render backtraces more nicely in
 Syslog
Thread-Index: AQHZBcqVVYy6JUP3JkCD8gm8EMBh8K5aUVgA
Date: Fri, 2 Dec 2022 09:14:22 +0000
Message-ID: <646125C9-5AC5-4494-BC9E-B89E6B8440EC@citrix.com>
References: <20221201211906.5214-1-andrew.cooper3@citrix.com>
In-Reply-To: <20221201211906.5214-1-andrew.cooper3@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|SA2PR03MB5931:EE_
x-ms-office365-filtering-correlation-id: 1bdfe794-d62d-41c4-33ce-08dad4459a09
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 qSkU6hIS11RtQpQ9BcUCzgIxwhiLwsoEBkCKU+4m1LIbyw1DFKymgcyYpo9XNCmKhgilUnpltkRdq5XVHoO8jQC/nl65/NygwElBYRkU6gl1asIUcMGohGv+pSgI+Ikpgq3mbXI4HxB93dXTWexL+aPXvc/q4sxvbVBEessh6h+z7JRA0LhkZ6gQBZ6UoJ6e8s5Zy9fKEUkTnVr6sWxwEFvAI/aq6sGsCIogN2s9kTgO8LE9kTDv4b2973IIcGmeKAa50S7BcRCKjdUF+gdungpgEcvboNl+w3SSdCyNJ+p9tDHfM9MBTRV/2Lf9WC3VtPgRIxk10JQaBbfzMjwFxNOQ4wuYFLGF4dxIpzz11lZzrhow1kiNKF0LkqVWhwVXzh5aB9/XOUw0xtIUQ15PwG20RKRPAPSMmEGAnpXIWBonQZQsnJVpvLTDca70S+/knoqgoiMt8QZghGxbsjZQgl/DXHPQSu/Kh6UInrqMRVT/CFUKxKL7P4Z9LChv7/BTqR12btO24vEoHLl59bSBriI+vs5Jbscx4bJ11E9fyT4QligtkpFu4oldD8GgPUPtWoXAmB0uEN3V4w6TTwFmyNIXIR+VuAGIkD4cMglHiVoVVBKWRaAiD+XMYaaPURjeElIqfiqjuild/qLd7ujxX82ske1uA8Xo/yLpxaGBCzvKwh30py0YVd4dagIOBxr+y4NA+UHZ0O5NMKFDGIv4oksevN7aYJzXJ16Xetv/Eaw=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(366004)(39860400002)(376002)(346002)(396003)(451199015)(82960400001)(36756003)(38100700002)(122000001)(33656002)(38070700005)(86362001)(316002)(6512007)(6636002)(37006003)(54906003)(66946007)(66446008)(64756008)(8676002)(66476007)(66556008)(91956017)(6486002)(107886003)(478600001)(26005)(186003)(6506007)(71200400001)(53546011)(2906002)(83380400001)(76116006)(2616005)(41300700001)(4326008)(5660300002)(44832011)(8936002)(6862004)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?rRknwcuNbf5btZ2M/JfMR7FW3x1J3WtP/jdrYZT5dX1m3KhNB6oQc3DoQ3Ly?=
 =?us-ascii?Q?Ii4clDTKTn+0YJW2YPXxBtTSDPu93tTox9Fj34BBHKPdFfTii5ARtOyhEb5l?=
 =?us-ascii?Q?rLvaS5X5JBSwL9pO0CdTnDogq2pM+uFwBR2rh4JCaVCGMejxmb2u0sK1VoqE?=
 =?us-ascii?Q?bkgYe/7G0ljk6iaEpiezun8bk8CrK2U+soZrJ/1H6vX/zWEzzRGlRlxlTPLO?=
 =?us-ascii?Q?q1ib/6V1ZQ3B97wJBbk+foM4/JlPlt8Oix2yPxgH5hZD4tJuLy81O+NsQZ9S?=
 =?us-ascii?Q?nLSrBIidKjm8w6n7hz3eYdwkVxF0+TRrP+pn9XdZGCA9CL5X2Jm/Bj+giFOM?=
 =?us-ascii?Q?Ut1mR/gSPHtuR09QugbJXFyii3+yvtwFYjTesk8+cSC0CkelaMAyKDBdb7Oj?=
 =?us-ascii?Q?M0PVi6FF8m+6NNbAOdrj6hk67om9CcHdDaC9jOaNlaSrJ7xXos1LOdmeZfyD?=
 =?us-ascii?Q?U9vwqqMegsljN+pEgZ6PV2tZtxIEhyV4bFds3wjuD9FK+VdNTUCjU2epsbqI?=
 =?us-ascii?Q?57PBBjfex685bgEoZobzdCr2P26PeYVVZ1KY9I3ohSLJx3IUSW1ZgBl2eVBj?=
 =?us-ascii?Q?R3mtsIirtiGr7lOdW1GT1232pJSHZX6Udhl4sCfD4c+cNCKV+cT3PnwYHnIo?=
 =?us-ascii?Q?9iqNbtpMkxvnrD8Jt5T0a9TuUWSTSCwu9Z1wfnCewL/uu0oGUua6RQ3JUFTs?=
 =?us-ascii?Q?fKAFjEALTpBeFs9wQdWZueODgWN+0g1wcOzMqjf4s4QR9C0c89Zroorhgu5h?=
 =?us-ascii?Q?pagcy4Zd//wBri+vxxv5M4/89E3LRPN6pLeY2WckNYav8UikPmKLDi1vKgd/?=
 =?us-ascii?Q?ImMEpjOAdQVPsEgaWFIOy2N7W3+VRzmhyuy0CHXQmrj8Wy9xUh+K459seAgA?=
 =?us-ascii?Q?zlUwNqxW813YGc3LQ7tsbwWGM/EiuU/aDzkgtuPdUJkKRRQN8jd+T11RGGUO?=
 =?us-ascii?Q?0GPt+K9Ae5RSTmmatKXT3fEPmq890f3MqAuluvzlSRs/jVY6sRoufGW3NkM9?=
 =?us-ascii?Q?7ufGeGFB8wc900KjzF6UEcgGu4RDmcvejkfiGgcycPIM0zfzaxLtWS8r+q0+?=
 =?us-ascii?Q?Cu4fvNj1a3lnN1+IwnYDR3SCi9jgnz7jg+9JmlwkAXQ/3UTfQKSZok+3NzOy?=
 =?us-ascii?Q?nkZdQ3cTeknBLZAAr4XoUbaF6W1vZ+jwz7gn2Y6/101EUeD2qGLjfXplASU+?=
 =?us-ascii?Q?SKsBJCxI4AkPdjT1eTeVl69jXPF0vaanw/h2eXbt794ZqwmYuTqQ2bids5iW?=
 =?us-ascii?Q?TQssKxDvriSnYLUnmVL5PftQSluQlkQ088NRBHZMSuWmVAUw3NC9iKQcespC?=
 =?us-ascii?Q?+ZDx+zy9CWN1y9ejW6uzCU118SOWx7jyDuwlQg/hncC8Xt3iAav8Suu32ij1?=
 =?us-ascii?Q?TOQaCzL+lI847umQvxXa9lnbtm5wGQROfSQ9lUyQUSv+a3EFs7qERKYFs3oQ?=
 =?us-ascii?Q?LSv30Mmlolh/g5DPZzyfdgz8XHU8Gbasm3/dp/+DtwiHcTnJRYPR/p/v8IHR?=
 =?us-ascii?Q?zlqORyZT2klcxh1ejkvaXPoYvGbD4hnzg9We39JwICX6a4bbui2ZpUf/LCk+?=
 =?us-ascii?Q?67eKq7fco5FG8or413hnlV/HLaS8tnVVyZMFdw5wvRtY3l21z7/D+eLzyTAh?=
 =?us-ascii?Q?opsY8qKTbXJIEgnmwAPRcwA=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <05D354603804B344A26E08B3DFEE1568@namprd03.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	H/s7fgKKMMM6OzgoQ58RuFZ1rr+XZSWBY95GVjr6jHrOdoTc5fQcmhJcLaYx7dCcPM/oUXF+XfxyJBtyypeqUsPqzmUnJbVaWB2oVvsk3UK3+ATp3kx51+764UhsRDBALR/bGBRYAgSQFny6+P1uDJKbXDZrxtUvVUu1pq1HL0W23lbMHi1ihPCp790fgY7hRO0oAop33eERfOIwv1yzzOVW3mVge5slBWWdZz2YcFXaXB6tD68K5KKLMYOF6iTieP1LBMPnclIFqLwz76s6f/34AkhnVZ4vqUnqvmD0BKc0IF3G10oJZ90nI8RQpf8lsPqW8kDbdz5IJyY3Ys6cjUuMIcv05+zQYuCczEJyaYw3XA/BFJbTrijL/BQHA69BO7vqmgOnHyin204pvp6u2+FxyPW7CSl4jEz3zP9OnZ2m+OLlS4iJFH9TMwKhth3/kc3Lvpu8bEEcl1FHIMGgv0v/WBwzfNn8f4bW3CYEiUcU2x4DGGiqfDYOLjDOMe95bKrRGh7fjwv2PPb8NSPaf2/pwucx0rHBHLpxeB4adutn3g8Oz52oZWkarfJSJNaAtBLOzhNZPWq121oilRElA8T7qLOvi0kK+LeDaa/dfUV8zP+KeM7FSlaWt9FfK07rv3XCAccFezr0PDQ1uKb/G+9LOQy2dW+E9i7EuBQjwhqguqKpzU5HayCkf6xkV64G22ZRuUwMBfVZ1cq+Mu0bUqc6GkCe2oayaHgIcJOMQ4f28rawYY0Qo91X7nvZkA2psTdUvJI58oGdfK9nfD4FTSBviNispZw+coIyJOHXw671XkvT9u73+Gx5NG4RcAqO
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1bdfe794-d62d-41c4-33ce-08dad4459a09
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 09:14:22.7847
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Rp/c+C4F8UNw6t48TgRAyiVW4h4Ne7pbeVMMThMRZYm8A2McANY3hsFl0dEuMfXWLhJA9uZn04CVyaihiYvOGtYc8eWE6/YnevG2m8Io0vI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5931



> On 1 Dec 2022, at 21:19, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>=20
> fallback_exception_handler feeds a string with embedded newlines directly=
 into
> syslog().  While this is an improvement on getting nothing, syslogd escap=
es
> all control characters it gets, and emits one (long) line into the log.
>=20
> Fix the problem generally in the syslog stub.  As we already have a local=
 copy
> of the string, split it in place and emit one syslog() call per line.
>=20
> Also tweak Logging.msg_of to avoid putting an extra newline on a string w=
hich
> already ends with one.
>=20
> Fixes: ee7815f49faf ("tools/oxenstored: Set uncaught exception handler")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Christian Lindig <christian.lindig@citrix.com>
> CC: David Scott <dave@recoil.org>
> CC: Edwin Torok <edvin.torok@citrix.com>
> CC: Rob Hoes <Rob.Hoes@citrix.com>

Acked-by: Christian Lindig <christian.lindig@citrix.com>

> ---
> tools/ocaml/xenstored/logging.ml     |  2 +-
> tools/ocaml/xenstored/syslog_stubs.c | 26 +++++++++++++++++++++++---
> 2 files changed, 24 insertions(+), 4 deletions(-)
>=20
> diff --git a/tools/ocaml/xenstored/logging.ml b/tools/ocaml/xenstored/log=
ging.ml
> index 255051437d60..f233bc9a3956 100644
> --- a/tools/ocaml/xenstored/logging.ml
> +++ b/tools/ocaml/xenstored/logging.ml
> @@ -344,7 +344,7 @@ let watch_not_fired ~con perms path =3D
> 	access_logging ~tid:0 ~con ~data Watch_not_fired ~level:Info
>=20
> let msg_of exn bt =3D
> -	Printf.sprintf "Fatal exception: %s\n%s\n" (Printexc.to_string exn)
> +	Printf.sprintf "Fatal exception: %s\n%s" (Printexc.to_string exn)
> 		(Printexc.raw_backtrace_to_string bt)
>=20
> let fallback_exception_handler exn bt =3D
> diff --git a/tools/ocaml/xenstored/syslog_stubs.c b/tools/ocaml/xenstored=
/syslog_stubs.c
> index e16c3a9491d0..760e78ff73dc 100644
> --- a/tools/ocaml/xenstored/syslog_stubs.c
> +++ b/tools/ocaml/xenstored/syslog_stubs.c
> @@ -37,14 +37,34 @@ value stub_syslog(value facility, value level, value =
msg)
> {
> 	CAMLparam3(facility, level, msg);
> 	char *c_msg =3D strdup(String_val(msg));

Is this working as expected? An OCaml string may contain embedded null byte=
s.

> +	char *s =3D c_msg, *ss;
> 	int c_facility =3D __syslog_facility_table[Int_val(facility)]
> 	               | __syslog_level_table[Int_val(level)];
>=20
> 	if ( !c_msg )
> 		caml_raise_out_of_memory();
> -	caml_enter_blocking_section();
> -	syslog(c_facility, "%s", c_msg);
> -	caml_leave_blocking_section();
> +
> +	/*
> +	 * syslog() doesn't like embedded newlines, and c_msg generally
> +	 * contains them.
> +	 *
> +	 * Split the message in place by converting \n to \0, and issue one
> +	 * syslog() call per line, skipping the final iteration if c_msg ends
> +	 * with a newline anyway.
> +	 */
> +	do {
> +		ss =3D strchr(s, '\n');
> +		if ( ss )
> +			*ss =3D '\0';
> +		else if ( *s =3D=3D '\0' )
> +			break;
> +
> +		caml_enter_blocking_section();
> +		syslog(c_facility, "%s", s);
> +		caml_leave_blocking_section();
> +
> +		s =3D ss + 1;
> +	} while ( ss );
>=20
> 	free(c_msg);
> 	CAMLreturn(Val_unit);
> --=20
> 2.11.0
>=20



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 09:16:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 09:16:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451640.709427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p129X-0006sm-7z; Fri, 02 Dec 2022 09:16:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451640.709427; Fri, 02 Dec 2022 09:16:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p129X-0006sf-4c; Fri, 02 Dec 2022 09:16:15 +0000
Received: by outflank-mailman (input) for mailman id 451640;
 Fri, 02 Dec 2022 09:16:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JFaq=4A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p129V-0006sX-5L
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 09:16:13 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f2199a8f-7221-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 10:16:04 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8127.eurprd04.prod.outlook.com (2603:10a6:102:1c5::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Fri, 2 Dec
 2022 09:16:09 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 09:16:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2199a8f-7221-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y41bVz0yYWmMcXhCWgy8TxnP3tCohTUtZ/M4Sp9vviPqLPDeglRJa8jO1mUh10vg+WKSiXXezqtjTK7Q0H3C2msYAur7v60eMkFf7A+MXhJjJErqWVAqHbC/plJ3Fky4arJSYe8kaNPWpjWZrb5ZoQASJXIG4Y5vwKLY7p3klPwWMoibYO5YLCqQG6bA3IbC4dpOmQ3+ALb1CoGd/kPDA7HV4SjBGgBOgfquj2/srFQYBsnJcYislF8Hvxsdm1oBZCTn5363Cw1Q7gdou/1TlV+/7PdE0LiWjui4PiMShw8Mg5V2Dzjti5xmJHS95coTkuH7thjhmwWfb4lBM63Bow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xravWeuT/7MDQRjQhpq/rsJAO6rEZe7B0+qBR8biXtg=;
 b=YH3IuiHelP//LZuiqYf7eBYqRAHmx0S8BOxOMaLrNtqPZwYEGxQDhPRqG6NM/1umfnDNL9SCG4uPmebnRlf+aadmxshHb+4xySv1/nPPvkxyGoeeXQ2F+nlmsdrzzyRZGUoqucGZhpIGOxs2cADLBXeLHzdHtZ15kFJAyGu/DzDMkLI/ZtiEiw7Xu3ouX5uzr4Vmt+RdCD2bkxuSM2oF/M7/ZHsStm4FzLpht0dxE1lp2ABGvuXApxVJHEweBP5x3X1804XuDlHEFdnpht4fH6bVTeJIsJFXR+8FxbZMOFMEStclIz1xbh/PFjvQeDiH9T6VmxelFNKZeG5285Plww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xravWeuT/7MDQRjQhpq/rsJAO6rEZe7B0+qBR8biXtg=;
 b=yNZlbQ7drxmkczDEEKhq8c1oBU7shEIrJomifS9tIiJg2OB0evQfZkuNqwLGCqrc3eDtp5FTcBPjJgpkwMU7Cd1B6xauAekF87KMXIHxjO8uRXOQkEhL2zdtN9Ay+ZrpsawfyKMAsKSOVBiItzAa0zIwMCB9OS3QzmbFFJZoCLST56i+6bNBoEA7XyefTIC2ZWfQGUJBbRL4bIzj0rH/CjxHh3mrfEMYSYgyuZO8jbuLOTx5rDV0nIjFmGu8te0KpGD0Za1ohKnEd0aKFoI4pO+szBFW/0VsPFlqP1jW7RWuEEZj3Jq3v+5w0jfLozg4ZWS4ijtieMuSahkSKanFsg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cf42f44e-f96d-bde4-b4c4-8c08c14b1939@suse.com>
Date: Fri, 2 Dec 2022 10:16:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: preparations for 4.16.3
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <2c4c605e-f8c5-abbb-db85-89465b7e10a6@suse.com>
 <7aeec9a0-628f-d1bd-994d-343ab7f8b85f@citrix.com>
 <d628796e-3b42-5d50-f8cc-039743d23057@suse.com>
 <45fcf658-c353-9fc5-e343-64a5f6c1f0f4@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <45fcf658-c353-9fc5-e343-64a5f6c1f0f4@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0110.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8127:EE_
X-MS-Office365-Filtering-Correlation-Id: 8a5bc88a-3475-43f8-1cf2-08dad445d97a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YmC8sEkDJtWF6AHXgmQ/XvKtcztyssmBgzF+lApeGwyYThi5d3n+kZY16VGS9i/X2dVBOOwG6kJjrNIxT0+PM4/3JxfeU6fvhY+VsLJ3uIH+eZCGpv+RSbpTAW74eNoSzuaQN4h71qx65e6k/dN/INcps3v+KnudPEDHo3hhRYeAM6Q0G3vVyphAbxn6QO1VWMFrSS6Tslx9RPbxZdk4K4g6OXjrMCA6VpyMGqousbB3P9NAk+VyQ290CTudMjVHJaS+NkCslcwPRhf2Kw3J7eE/zg0EDL9G2BtbBdL99I5XBZ9kcT2qivH464nYbBEXlGPzWyHyN5rxQhrRVfFGHcuEAbhJJCN7frjxEnLidGiILMJXwUFhU7NSZG0XT72uUGBvYVkhsGBbQ8NCl0wB4f8e7FfKN0fNgYUvirP4pFO5MUVb9MtwjCMIse5b3mwnSy4WNZgdnSsv0y0O4yNxyRhfBV8Mp7zlGARYY1a7ZauVCtZGq4SJSSKZ1LnMxYYKUUjsDY4zHSdVXN9PSR3QWjVZYnAvyS/KxvJafyGvYcghw8wC5ftSqes8YCIfimC3UjAgXPHfZMwj0rF8gxZBv8NFEjJS73dv0F2j+62HDGMwECAYJng0sJthWCSzoGHXgVinZvioNj4+Zxj4L0rYiAIaeE/gNsjzbu2fPi91fyDEBOcwsJiAxeMvcRcqaGntj6JCfNpt6I5xKvmMvg+QyVzyp+/ECJgHvWk+UmUu/4Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(136003)(39860400002)(366004)(396003)(451199015)(8676002)(4326008)(41300700001)(5660300002)(7116003)(66476007)(66946007)(66556008)(316002)(2906002)(66899015)(31686004)(8936002)(53546011)(6916009)(6486002)(36756003)(478600001)(6506007)(26005)(6512007)(83380400001)(2616005)(31696002)(86362001)(38100700002)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d1liQ0QwMnViVXNuK1JndWJhTDFmVXM2VEVuWS9Cb3gzZzdEQTRibGJ6MzZE?=
 =?utf-8?B?OEZlZUpTbXllQTdDUnkwQWhaSkg3U29oY0pwK1piZnc4L2UvWnhpcWFSbGZ4?=
 =?utf-8?B?N3dLSTZqdTBsMXpCeHlWZjZCYW83VnR4dmhNcUxZZjlLRm1hbGwyMzFlRzRS?=
 =?utf-8?B?cHJDalg5U3JkTG5rOFIyS3V6VDNZL3N3dXl1QlBFUHU3dHJUNjlUTndGSjl0?=
 =?utf-8?B?UkpLelhBTXN3cEovaUV0bm92UXpHRlU5U3loR2hyRkszNVNCUDlZMnNuMHVG?=
 =?utf-8?B?bmlxVVVNVjI2eXFySU93dEl6d21lYzVYTkxWUVRDa1I1SDR3bHlCMHQ0M0FU?=
 =?utf-8?B?OUJPQzcvaUVuREpDQ1VWUTdKcnl0SkZDVDJOL3hEeXBkckJLektXVngveXVi?=
 =?utf-8?B?ZmxDN3VwanQwZjU4bWUxRStTZTN6SU4zZG45RW1nc0JZY2tGWTBpV2xoVDFs?=
 =?utf-8?B?WlNpQUdNTDBhdW53dGVpd0hxOVM5aVY3aWowOFJpYmxVeHpqMFpDM0ZnemJR?=
 =?utf-8?B?WE83L3I2dTdVWCtVUlZBSkxIaEpPN3p2YUtkMkJmZkU5eGNRbGRtRHNwNzFV?=
 =?utf-8?B?ZFVIVkNyNEEyQm1KZ3E3MWpoYjVmNDFNUWN4aVFnY3lxWittRStvK3QwaFEy?=
 =?utf-8?B?bG50OGpLblhMcW14bDY4eEFJMGljZTlINDBhdDNDWjUvUEE5VGxKRGlxdFdJ?=
 =?utf-8?B?MU5sTC9nU1lLM3ZkVXRCaFljd1JiRXZDS0hocjZIYjJjOVpwYytHUHZhRjdm?=
 =?utf-8?B?WTRGS2VGaktDSlhlUFJGWWYrc3RlYytCWXRZVHdYOHEwL3NZMWIxRUZGNHBW?=
 =?utf-8?B?bXhpSVV3SUt5K21kRC9JQUJLS1ZSVkcrT2RyL0NtQ1VhVjA2c2NPQldDeU9q?=
 =?utf-8?B?VTNBTjc4cFhieEYyMlNMc1lmeVpoSGZUK0Q1Wmd3cTNhcmZYa2dUcXZxMFZp?=
 =?utf-8?B?RDZKUnh4dWNyK3BOaVJjY3hqdDhQU1lHN0ZUNWdnNHBSQTBjQTdRazh1UmRO?=
 =?utf-8?B?SFB6NC9OQ1dtWWducG03b2xDVGtNVHdIUUhxN05VcDNDcHA2dGp4aDNNV2Mv?=
 =?utf-8?B?ZUo2R3NXKytISlYzSE5LMFZYdFFtN2R4MVNHUzJLbHVxNDlMN21uWXRWVlZo?=
 =?utf-8?B?cGNzZWM1cE9HRTNCZXM2YXIzeTQ0M1BZU2prWVFCSEtTWkJ1VjVjRG1LNXFJ?=
 =?utf-8?B?aXVpdVJjSW9JYlhxQk9GbDNFNVhIK1RCUUE5dzJRK1NmMmh6NVFWWTBjN2dq?=
 =?utf-8?B?MkJYcjNLd1ZvYXh6VEdNVXhFdWswVkY2Nk1WNitkMWF6bmFLczdZOEIwUTNz?=
 =?utf-8?B?TkFvenBud2ZXTEJTd2xTM2ZLdGEyWStZQlZRaUJLUFdQa2xZMWVtZ3ZUVDdH?=
 =?utf-8?B?MVM4a0kvVVFHcEtVc1Z6dzIvTHk4VERwVlVLek54VXZodU9wY0JhTjdFVUFI?=
 =?utf-8?B?c0JNWldjQm8vc05qZnJpc2JhK0JuVDVlZDZLZEhLTjRuaTEzcEZ6emc0cmo2?=
 =?utf-8?B?bEM4dXYzUHhPY282eTJTYWIxbWtlOEZvN2IxcWY4cSt1TEFEZzc3bTBoZnZa?=
 =?utf-8?B?RkdoTnZRellXdm1nODVzMW9QOHk3SHcyTTM2TUZMc2lra0t6M0tuTVUvSFNy?=
 =?utf-8?B?TnJhZ3pUUjZ5THEvcUYvZWo2bHdJNmJNcGpZUTVXVDc5czdKVjNCekEyT1FY?=
 =?utf-8?B?NEluUUtNVktzL0lraTFwZUV0K2x4VEwwbEhySXkzck84VnhDKzRGdy9rS1NW?=
 =?utf-8?B?ckRCOXBVWGwyRVdHWWJpYzB1V3NsazRkN3d2cGUwN0FaT1FTcEo2ZnFmczVR?=
 =?utf-8?B?Q3pxVHIwaHZlZ3h1Rk1rSFR1L2hqZDhNL09uaGRNM0creVpTaHozTCt1cDNG?=
 =?utf-8?B?SUNQdkNDM0lnM3NsRkFrUEtjRmZaSi9lUW1UNTE0cklDWWxnbnRYbkRKMU1M?=
 =?utf-8?B?akFOSWVhbFk2V1NKMC9uVitMcEUybG9WeEtqKzkrN3BzOTBSbUZET0lqeGt0?=
 =?utf-8?B?elJsb1p2c3FYUDBhNWRhbE5wN0w0QVk3UUQvZXRHWkdNTWZGeDF4TS9IUjZM?=
 =?utf-8?B?SEtHeVl3QUJHZjNrSG8veERURTFGQjV3MnpYakF1aFlBa3AzV1lFUFMxN0FW?=
 =?utf-8?Q?ODlQIBwixVYnEGx7sYFD/o5b/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a5bc88a-3475-43f8-1cf2-08dad445d97a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 09:16:09.3930
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 50zWB+YVP+ZxF/tFh7pf+7En+6y+eQwIXGQfUE/I+CFllZS9ZDNeH7S7JpnKIDFuQq7eLowSTUy1xc4Krg/pkg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8127

On 02.12.2022 10:11, Andrew Cooper wrote:
> On 02/12/2022 08:26, Jan Beulich wrote:
>> On 01.12.2022 14:20, Andrew Cooper wrote:
>>> On 28/11/2022 10:50, Jan Beulich wrote:
>>>> All,
>>>>
>>>> the release is due in a couple of weeks time; ideally we'd get it out
>>>> before the year end break.
>>>>
>>>> Please point out backports you find missing from the respective staging
>>>> branch, but which you consider relevant.
>>> I have a whole pile, all to do with (o)xenstored live update, but
>>> they're sadly in my pending 4.18 branch.
>>>
>>> Hopefully there's time for those to get into staging before it's too
>>> late to include for 4.16.3 too.
>> I see you've pushed a bunch; I can't guess though which ones you would
>> intend to be backported. Depending on the size of the set I may end up
>> asking you to take care of cherry-picking. And of course I'll assume
>> the oxenstored maintainers agree with whatever set is intended to be
>> backported.
> 
> Yeah - very fortunate timing yesterday.  The answer is all of them, plus
> some scattered earlier fixes which did manage to get into 4.17, and even
> some subsequent ones which are still pending for review.
> 
> The major bugfix is keeping /dev/xen/evtchn open, and the preceding 8
> patches are all part of that fix, but "not losing the critical
> information when things go wrong" is important too.
> 
> Perhaps it would be easier for me to prepare the backports when the time
> comes?

Well, yes, "all of them" certainly was what I was fearing when saying
"depending on the size of the set". So yes, please take care of the
backporting once they've passed the push gate on staging.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 09:30:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 09:30:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451651.709438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12NG-0001Us-CR; Fri, 02 Dec 2022 09:30:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451651.709438; Fri, 02 Dec 2022 09:30:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12NG-0001Ul-9h; Fri, 02 Dec 2022 09:30:26 +0000
Received: by outflank-mailman (input) for mailman id 451651;
 Fri, 02 Dec 2022 09:30:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cJJJ=4A=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p12NF-0001Ru-7k
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 09:30:25 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20629.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ecbfdc9f-7223-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 10:30:15 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by CH0PR12MB5139.namprd12.prod.outlook.com (2603:10b6:610:be::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 09:30:16 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::62cc:47ae:a750:8f57]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::62cc:47ae:a750:8f57%4]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 09:30:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ecbfdc9f-7223-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aLt4ZD5WmQ9jkw/osf34dK0TYSoHGtV/aQItlLDUDkzFCbC1def+8urAfioDM8y0jYnGzCDiqzU5hToTyneHbz81IAep62yC6PGBeXZTNc/ihJPZdeMbefbHHGykllRJERx507bxEXrszoII/g4qxp6FKekZMmNemQuhuA60WbD3mg10D1NvmXDdPrVDsLc7+uuOfBtk3swfDcEuBClX2vZtNAD1wHdCfH0FwhjPJVRQaFZy5Nx4cnP5Rh/ZLh2nVr/w3M64cM42abJ9rZEkNgEbriY2/DacIkyhlfEX0aO0zd+oKuo58t/WAHuulY+AP7XF46OxsbAnoaeWaPRUlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NFVRM6GqmR69Rkton10Je9G+TqBKtrsIIlgkNlTXFE8=;
 b=maqhqkVcoWRwaJPAnH7+g8LxkkUxZEshWNvYRc0vIll9JIvPS6jqJ0+2g0SxAXdB3scR1JNNcNje22axY7ruqJP+BUDoVVX7JEXKxETTokrpQH7lQdF+/SJT9a96YAvf3dq7CxD9C+WJvDGHeq6R0E+tROITebOM3Zi9s3BPeMNEcWrG/wp621kCZc7Ve6IioOxtJDA+4UUTkpc5JcM5JzG/h7Yl5lwyVkiAX7yI1sXZUwQCHsP+1l/4G1ZS1emrKNzAuWYetjQXCegyZKamQRBzfkh915XRWzHwjrWWeeOQMjlsk5/GDnv7T/muGFvtvlZU+122rvqXJk2SXByCMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NFVRM6GqmR69Rkton10Je9G+TqBKtrsIIlgkNlTXFE8=;
 b=Jg4OE4XXC2zBMcybmmqSZ1jjz6qBNLceXEGiW9sLIHgqvgCS/u/elJ44A+fR5iirwDw0qf8wSc8cJCy3Hmu+1bkND42IvVBNCjWzWY/8WVpGL49LQL1syG5DhoNMRufY/8SCXJKFvQq+62feBjUyvRl+gikE5zoRkM2j8XJftjQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <f431e6c5-5525-2029-81d7-3efdc418990b@amd.com>
Date: Fri, 2 Dec 2022 09:30:10 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.4.2
Subject: Re: [XEN v2] Xen: Ensure "xenheap_bits - PAGE_SHIFT" can be used to
 shift "unsigned long"
To: Jan Beulich <jbeulich@suse.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefanos@xilinx.com, julien@xen.org,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 xen-devel@lists.xenproject.org
References: <20221201181145.45279-1-ayan.kumar.halder@amd.com>
 <d0d974a8-d463-9362-8b6e-cda1691a3464@suse.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <d0d974a8-d463-9362-8b6e-cda1691a3464@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0207.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:318::20) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|CH0PR12MB5139:EE_
X-MS-Office365-Filtering-Correlation-Id: 7bfd3bf8-402d-48a0-b689-08dad447d271
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7ZitfIX/kKSLVS/dkeExMis+yaI9v2GHNGbSmVh2crO/aYDTIsYYrN2Wfufq069h30vagvKHGZoXQFRZ1Jvg9ePZBymaJx0+m5qNgQISxOFM1zD4AxAMskTmB5Iz0p6TVX+tGosLYdB0GErV6Ou72T81CC9shZrOX7fUw6uFO1uiDrwId+Lq+dTDZl6sAO/yc3VN5lLnSajqXZ0OudJWcVoFUiDjaWUJpkrCflreOEgB5L57xEgKJCKHNSA+TKcppr6PoZJ32gsvxNdlAT0XwnK7ha5z7nGlnkXeEDos9w6OYULKvQyR4rWZ3bQRbsQdtsMgfUGTQPd/QvKoTc3v+b/cm/++YEUTfYzfhIciNEajeWxUOQmnM1bW9DM6NDKTzqugqT1kauURoMQLByQyZn0jMRslu3Jg05/I/zk8Vnl5vESccL7Es+UHB3THQcEOZaAfkQvoS0Do0y2u51ypOwiIHaEMOHpZQjQBIWNUkRd1VdD5hLLUeB+wgzAvPq14nAVVZ+xWe/XhP+QZxYQgHijKkfmZZGW05+JgQhu7CPVUTPJq7YIbQrup8EBP4CDUuO3w8oXyRYoxSt1hNTYUY1bqbeP95xtpYtHPUxE0srBF51rIgBVnEOTxxLr7tQDdhFiTQOmEs/ADsZ/PQHhtxlZ374WOB/V1INARMJezuDQXbBFUAsUlp6lo8B9Wmc9pwNKXiswrLtnet2MZHL7DG4dDDLd5TS3x4kX4i1dSbmw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(136003)(376002)(39860400002)(366004)(451199015)(36756003)(31696002)(6486002)(478600001)(6506007)(53546011)(6512007)(186003)(6666004)(26005)(5660300002)(4326008)(41300700001)(66946007)(316002)(8936002)(6636002)(110136005)(8676002)(66476007)(66556008)(2906002)(38100700002)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZDRwT1ZZajVIT3phblJDQWFJcVVRKzBnbDdscXBsUVl2bklCQldESjN3NXM2?=
 =?utf-8?B?VWVTRGdOblVYMXpmYkgvN0dFMnVoaDZOK1JHb2Jmd3BtbDZ3b2Z6ZXA1YjRH?=
 =?utf-8?B?b0ZOQmFvbjdWaUt4QWpFL2N2M3JxdU1PSGNIQTJHUk1JaUJ6emlvZ01lQXEz?=
 =?utf-8?B?b2FmT21YYVozS3J0QUNhSm15N2w3NGhRcVJncHFqZ2xKSGJNTW5jN1dQM09W?=
 =?utf-8?B?K1c4WTFBSzFHeFlid21JV0hubUNuR3QySmphRGY2bExsNDZ0OVlXZUJzY0E1?=
 =?utf-8?B?d2N5RmhkVUFFaVNDNmdzbjBpUCs2U2o1Q01sMlVZWnZMZGl3bjI3Mlk3WDVx?=
 =?utf-8?B?VUVBVmlaV2xvYWxhWHVpN3FXRXRqS2JRZmVHK0l3a25aSVIzQ3pRR0lnNjFn?=
 =?utf-8?B?TURxa1JZekoxV29tcHQ0VmpaMHFtOURqTXdhTUlSWDVyd0RCRnJ6bG44Si9y?=
 =?utf-8?B?eENTR2pzNXk1dzFVdG9JcGc4K1BUeFhHRkhlNzJPZTlUSFQ0ejM5MjRzaWFt?=
 =?utf-8?B?OEFoM2Z6OUlsSlhWYWR1R1RnMG5MRjUxdUFhaEsyakc2YlRqQWtxTk9xeElv?=
 =?utf-8?B?OU4waDhDaHExOUM2K3dYdFpqbmhLZWJVRmo0ajgrNWRxd0FpWURRTzBBK0dh?=
 =?utf-8?B?TndsZEI2RHB3eWhSNjZ0bVZHa1hhTytIS3J2UXJ1ZlVyU0pNL094OUxiWDZ3?=
 =?utf-8?B?UWRXcElYYjR2RW8xSkpxbWFmK3UxTFJNR3o3UnROVmVReEpvMlMveTZHTzRu?=
 =?utf-8?B?SXp2Z2N0ZFZOazNrSVhSY3JFYkdwQ2RXS2RSK1luZllPRzhFem4veGZXVldV?=
 =?utf-8?B?dmdJRlE0Z3RTZUJWQ0J1ckovaGNZQ2tyZVBNSVlDem4rK001cjBzamV6d29l?=
 =?utf-8?B?NEFRKzZVd0FVUTV1TjErWW9Id3E0R3pDU2NvOHdEdktVRjE4RzRwUlRHb2NU?=
 =?utf-8?B?SmNUZGUxbGNkM2RzdmVYUlA0Q0FXbmYzcklnVldhejZSYVdCZlBrVVh6NDlJ?=
 =?utf-8?B?NHFvNTdIeU02SDk4S3lYQ1FxdThuSVZnR1JtVWZaM3p5ZnB2SzJiN2dFWCtv?=
 =?utf-8?B?ZXFpR3lkZCtEd1VUTXRXQkRnWGRHeXBIbGdzcE5jbVB4QXRNSCt2VlMrcGNO?=
 =?utf-8?B?OTVUM0FwRjFHZHFRM2JScTcwV0xnTVdoUkorNTA3dHh4VGVBa25TdVYxOXVx?=
 =?utf-8?B?N2NUckFGQkQyUjFUR1QzMEJFamhBMUlBTDZ3M0xaSDAyNFhvMFk5RFgySTBt?=
 =?utf-8?B?UXpPdE44alUwTG54WUVUQVFHdWRJWkJBL3VBOWxPWmNDWEFCVW1HK3FZUFBY?=
 =?utf-8?B?TTBSYnhNUWFoeXpQVHRjME8yaHpRMWV6YWlLZVlJOHU4Y0VpM0hyZVFvMnly?=
 =?utf-8?B?elpNT2VueXVCZlM5QWVQSGxXdWdHM281amg5eG42cDJISllNQWZ6MmV5TWdY?=
 =?utf-8?B?QlI5ZTRNNEwxZ2htdzZsNXJkSFpHMkphOGtBVEdqTDBEc3B1VWloTDNhcm5N?=
 =?utf-8?B?N2g4NU1WdjdKdUhHaDFQR0JXcElodVpRQW1EamlCMjFyd21icmNtYlRkNStH?=
 =?utf-8?B?YU1KWllWbDdkQVd0bDN0WjRDWG8yZTRtRjM4d2hWc2graXdtMzY0QkNpdXBF?=
 =?utf-8?B?bnpDcGZ6cW1GRFVNa3RBZHQxOWRiQXBZMkRmSzd6L01xWlp5NnNRRXJ4eGZl?=
 =?utf-8?B?U3IxQkQrL2lNbDBNQklDMzFSNHFFNFRrdWNqb2YxMUhFZHVYZWN4N05OR1pv?=
 =?utf-8?B?VGYyNnhJUDRTSThKL0dKdGVRcURvYUtpWW10cDc2NDNUR04wZ2FiSkhyZkRn?=
 =?utf-8?B?WUphdEs4S3d2THR0UG5MNEpjZ1ZsOVNDTGNFaDZqZWNCNTRzcXkydUpVbVdL?=
 =?utf-8?B?U0VEL3YwTU1EY3YyRFo1ZkpGa2YyNWFiaEhQZ082dzF4UnNaVzZaaml1VzJI?=
 =?utf-8?B?Rkc0OW9pTy83NjdReWFVY1VJRnFpRDA3QmRGbjhUZUZWVFJoNEZvazlpRUk5?=
 =?utf-8?B?ckpzdFg2TklhT0Y4bjFZQUozQStSdmZueTJOejZpa2pMMEdJTmEvbkdZK1dB?=
 =?utf-8?B?dUp1Ky9yL1R2dnh1eVZVZXloK2dnekw4aG9yNWlRVmMvQkg3SGJuWHp5UHBK?=
 =?utf-8?Q?J/JH/JUkYhiwBmsCFMMOcQzp3?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7bfd3bf8-402d-48a0-b689-08dad447d271
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 09:30:16.7124
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f5jQkc4CN0lgZ9q8qmMPXadIb00RgO4SMtttPun/TzvEpLA03vONLd0e4Rh8Q1aHDdVvriDOpKLJDhGpbk3CDA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5139

Hi Jan,

On 02/12/2022 08:31, Jan Beulich wrote:
> On 01.12.2022 19:11, Ayan Kumar Halder wrote:
>> Machine frame number (mfn) is used to represent the hardware page address.
>> This is an unsigned long variable. We need to check if it can hold the complete
>> range of hardware page addresses. To ensure this we check that the count of bits
>> represented by 'unsigned long' added to the bit index of page size, should be
>> less than the count of bits required to represent the maximum physical address.
> I'm afraid I can't connect the description with ...
>
>> --- a/xen/common/page_alloc.c
>> +++ b/xen/common/page_alloc.c
>> @@ -2245,7 +2245,7 @@ void __init xenheap_max_mfn(unsigned long mfn)
>>   {
>>       ASSERT(!first_node_initialised);
>>       ASSERT(!xenheap_bits);
>> -    BUILD_BUG_ON(PADDR_BITS >= BITS_PER_LONG);
>> +    BUILD_BUG_ON((PADDR_BITS - PAGE_SHIFT) >= BITS_PER_LONG);
> ... the actual change made. Julien, when replying to v1, already gave
> a clear hint what is relevant: The use of (xenheap_bits - PAGE_SHIFT)
> in right hand operands of shift operators. As relevant is of course
> the absence of uses directly as shift counts, which otherwise could
> still be UB (and which iirc is why the adjustment by PAGE_SHIFT was
> left out in the original check).

I could see the following uses of xenheap_bits in page_alloc.c

1. init_node_heap()

               (!xenheap_bits ||
                !((mfn + nr - 1) >> (xenheap_bits - PAGE_SHIFT))) )

                (!xenheap_bits ||
                !((mfn + needed - 1) >> (xenheap_bits - PAGE_SHIFT))) )

2. In alloc_xenheap_pages()

     if ( xenheap_bits && (memflags >> _MEMF_bits) > xenheap_bits )
         memflags &= ~MEMF_bits(~0U);
     if ( !(memflags >> _MEMF_bits) )
         memflags |= MEMF_bits(xenheap_bits);

 From what I see, whenever "xenheap_bits" is used as a right hand 
operand of shift operator, it is always used as "(xenheap_bits - 
PAGE_SHIFT)".

So, is it correct to say this :-

Ensure (xenheap_bits - PAGE_SHIFT) can be used as a rhs operand of a 
shift operator

We want to ensure that "xenheap_bits - PAGE_SHIFT" is strictly less than 
the number of bits to represent unsigned long as it is used a rhs 
operand to shift mfn.

- Ayan

>
> Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 09:34:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 09:34:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451658.709450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12Qh-0002Si-TE; Fri, 02 Dec 2022 09:33:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451658.709450; Fri, 02 Dec 2022 09:33:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12Qh-0002Sb-OG; Fri, 02 Dec 2022 09:33:59 +0000
Received: by outflank-mailman (input) for mailman id 451658;
 Fri, 02 Dec 2022 09:33:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2Q3E=4A=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p12Qg-0002SQ-Hh
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 09:33:58 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20612.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6bcf25d7-7224-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 10:33:49 +0100 (CET)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU0PR08MB8472.eurprd08.prod.outlook.com (2603:10a6:10:404::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 09:33:48 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%9]) with mapi id 15.20.5880.010; Fri, 2 Dec 2022
 09:33:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6bcf25d7-7224-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DeyOfGfnutdjeXAhcQWOJdWZPG18NbPFcE6+rBFIrHLnRYn5LlX1eTzksQKO4RqJGdlFXINCt2IPeecMyfkFi4sVQKwTbSJHfgseQbVSPLeN6Qk0lPWbivjNHos2mD2z2fd4e5czJ+KOYmupZu2S3bAXSZEfXWdcuLbDUtuZWFbQCAHu+r+4xBr8uNGkgnhNd9eBIqgcCmGoAdicxfEv55uVdS8HWINkgp8Jw5LUeogDUi27FZg7FKYXWBNkm6Rqushe+7vVawENODmiV1yD2G3edKI7P85ICVED0OGdi1ODLLTTq1wR73mZQM3iMH1G7YZoAD55EdaCXnyZv/OJjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p0GCjhDCulr+WDeFUE20MjFw/ZLfEtUh7io5SHUjfec=;
 b=QGEbdAA3l3cDncKb4bgitvtDVOKfQVOPe5HrD297oMJvyXUPKd0kLs1jn8B48dURbkrY5QtZaG8kurYQ4nc9UdnxCZhHTdv9EirPpNGpbhGhxNfzqzMpziSVbknHT5hkk4FV04CPasU0IUGyZcVssA7dTrdynwTWMCH6SmLSKXjTNN+mpqARInMPv61pi+LtNwPrv6MDKHvdBUf2ckIk9SerOEGW2XkoUFjst4qvIPsawuXJ/2cBN6I5m7UTcbIPmgA9gQ/VbIn90iIp/EZRSaoppzcbS/SpJWqHTA3ugRLxQWGzPgatCA6W3yMg1OnXrTENVir2gSm8Xt/XHKMUiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p0GCjhDCulr+WDeFUE20MjFw/ZLfEtUh7io5SHUjfec=;
 b=sfPgToJtICTr+uCQoE0q7yAPz7medLyGggZLaj3pzizGT4mjfDq+wZDWEc/4AyWbt9gLboyf3INWUzL33huCDaBM914ZFDnVo2egAX5D6laWULMzJOx1F9LgdubACZmcnaHKitTabKE6qqd0qrtFLBCYSoK8ATx2+Bsx3NMV4Lk=
From: Henry Wang <Henry.Wang@arm.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"xen-announce@lists.xenproject.org" <xen-announce@lists.xenproject.org>,
	Xen-users <xen-users@lists.xenproject.org>
Subject: Xen 4.17 rc4
Thread-Topic: Xen 4.17 rc4
Thread-Index: AdkGMQsDrGSUBS47TV6lomtjnujk/A==
Date: Fri, 2 Dec 2022 09:33:48 +0000
Message-ID:
 <AS8PR08MB7991AECD8B64836A5D874A6F92179@AS8PR08MB7991.eurprd08.prod.outlook.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: C73731C8E914F745A53AD8F7451AE39E.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|DU0PR08MB8472:EE_
x-ms-office365-filtering-correlation-id: e2ce2439-3f16-4f86-0a76-08dad44850a1
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 yUep9/U1mfL7t4XM69yEvjek4ptqVhMq25rFnsZcPwWEkGCMvW1U8uEhg2J50RsHAM5ClnQYYMlJ8Gsw1uWinReQY2B9LCY8K+NbDKGBWVBMEBe5DyYJ4jHB1Y5ZcN5ILd3Pi0NO3j6ucgBlm4qXIixTNdYiyHE6yIghGB3B88dTuQpLITZO+ot+p0dRevgTKJ5gcX6zSE3xW6rkt5UmTE7ObcWvJ+LdKTZsCSYQ8+3cC6zP+nVZENf0iYxEZbJMzj6OKnDpoI4oHOhspxP6Puppm4Re+vrz3CQJe026+t16Y1mIV21cG5g4FU/TkNtOjaE95bE3QTWusvhEU22pC2V4pk3/30lDKFBlXtFfv5ziGXFAAACvbjzGdjS17jWhUIUssW/IFlu9yMc91TDdWQ213/2jTUtnlCIgb/gBVjDaj1uYqlkwKZi/PHYlS0mu6aJmdds6dchI5y2VHNquGCLWT0P/b1cHAWd65N3vUsh3vqkQOM+z1utFCp0CsmsO7p7B5ybkihtb0pb8Q9QsDVCl0/e1Ddls3a6VUAIxzUgFlGIzQE1zaThOSRWop6fndI3yocD0XI/ZP27N05otWvWD+VJGNhbOIaOpvWor3L++XUZKs47tZy7q2d/43UrjHQZKF+BzefpNfNqFHRozyv5EY0gsNqYWxUH3Cwe2pwFYJZe9ewUdQCNTlZCYxZSW4/C1FQ8OZeSb5LpREeeid5vQY1jHJvSjod4sTBW2Jxd0EJ9CUzjRm4ZbOg2cRvhxpDa9jylBxgdj3JcIiDXnpQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(396003)(39860400002)(136003)(366004)(451199015)(6506007)(7696005)(71200400001)(38070700005)(966005)(9686003)(478600001)(26005)(66446008)(110136005)(450100002)(7116003)(316002)(8676002)(66946007)(66556008)(64756008)(66476007)(76116006)(4744005)(41300700001)(186003)(8936002)(5660300002)(52536014)(86362001)(83380400001)(2906002)(122000001)(55016003)(33656002)(38100700002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?uu55V9IYCB2bPhmRvPhuuE60PJY71pCl+SUVR3ztRafMOrgj2+hVnjw0YXM0?=
 =?us-ascii?Q?bJfletwlLu+yWIoLzUT+vpzgQlcC3RTOBw1HpnE0tOopRTN+DbG2hmzDh4Ui?=
 =?us-ascii?Q?MTPQ913B4kzrVw8rIEPABNmP1QNxfzIOoiKCHnUyMqA+GVfy1bcKXfstRW/O?=
 =?us-ascii?Q?Gg+EhlE1UwHeezuOi8BYx8jTQZLMuskA8JT1NPR2vCOLGAfoYBEEELA40JCW?=
 =?us-ascii?Q?ZHLWFVwjVAc6bNLAugZnGZ2QypEZc446MLsHSPqoaYLszr/5b1VrMUd2kjfl?=
 =?us-ascii?Q?PKohtm5KO0OuaxHHWPDGceRnsV++tl2Q1XNxRcWqo7ZUuXqLE8kOYC9nQZnL?=
 =?us-ascii?Q?RTAcwZTQwfDhobGt/r0Tna0YOJAP7PfiYzcgov+6Xh7X0ZL3nIGe5BjRnbw6?=
 =?us-ascii?Q?FcK0ORK3UV1EK3hA1j65+vsy4oGe+xZD2eKdeSaviB1mBpxQcqGr8nKTvsKn?=
 =?us-ascii?Q?Cjyv9bs+Jq96t+dU5hzyGo3URzrKVeoJkU44ZROEb57Y8Kd5z+uONSlHB4IX?=
 =?us-ascii?Q?tidQjVtnMN3ml78RzVIilf4E7y606h7ZJTwGJCSHe/4Jzu7NBcx08hUy4G63?=
 =?us-ascii?Q?IJCxajMOFHY/2lHLdmWaMmJEL9rouz1YLZ7rTEvGr6hm/2xCWllcjgJrVsGe?=
 =?us-ascii?Q?h9yp6Y9NEF9OFBHVKDFiTnfh8pbhg3Z1U064zs8Q7lOaX2gSUQ5aS0FRD8ca?=
 =?us-ascii?Q?B1zTPvb+Wta/hBLAvNgWR7aJ6ypUnDwAmgTQaQKbKsupFA/HgOqhZ4CfinEu?=
 =?us-ascii?Q?64ER6DoeVlTEoLfldRAllBD83mdf1DEPnbjwO/9+R+2wKyhe8z0niUHDUWWm?=
 =?us-ascii?Q?Y1hKuM/XFtmeR2sCHqRGhgzQlZeyXKZBcd+7vq8ms0b58EpKnzTenoOjeoio?=
 =?us-ascii?Q?b3wjGpYxZM84Jec1TrDNnJd+vhsB56Zger51LOtprX7UYS8Kb33auNzcUfZ8?=
 =?us-ascii?Q?qNU5CiWjNk3ZJ2cvcBZOQM6OTCyKFmumhs8eWxgsZ5bQmd+LSfDV9Q3d/3OU?=
 =?us-ascii?Q?JWdm43w+iTAlRz0YI3XYBf7FwxP/RqzLdgA7dhFZfx7ZsqCWxaFkdfHelNIg?=
 =?us-ascii?Q?yj3W27i7wZzJ/vh+FgYHdykkBI1z2v3Eui5Fr+FfFBjwCF961N6OvZUpFJeA?=
 =?us-ascii?Q?SyfyLKeG0OgovhOlS3zNeGhXmrQqCTs0CMV63SsmH1SaN4+dnXG1txoynNJd?=
 =?us-ascii?Q?EvtGBU5lCeGuWZwREGq/5hfPrEbOYlg6x3LWc/9lnSBSrEocNgxO1cxLLj6F?=
 =?us-ascii?Q?rUgCjK0kR+60KEdI+zSKSpe7KAEzksgITYjEsDDMP3d+xvmkIE04wcXh0pTi?=
 =?us-ascii?Q?9tVuBlozqghomaZclSIyg5vWdXr02sZiycV5Q+AjIZy6sOr9s4N2EqKcSQDF?=
 =?us-ascii?Q?dKLbv+3QQzX5HroPOSn1VSoz8FXy+ujm3nmrswE5Tb8FI4rZ8y1hr1uEe2vi?=
 =?us-ascii?Q?4cXKwiiyln5Adayb5WtP+OTvTMiMcr5iimf+/GLGT05V9tMbSVQ58XvrWT3Y?=
 =?us-ascii?Q?EARBDxIpZKqNo0LISbIS5K29RN/rGUrtzPkYVuHAOmqBDXwagKi8NSGH8puY?=
 =?us-ascii?Q?ZYLcicu4ixH4XEckCd5cOK3YMDXVZysdP6i8Ti9m?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2ce2439-3f16-4f86-0a76-08dad44850a1
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 09:33:48.1499
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: QJevbroHfrQK+6uVIba8/TIbdWcJ7gIdg6lqezCJC/7i1K5PnD5Hq2Glxc0aCPNfcmyBXfEFiZT+FziPKaLMhA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8472

Hi all,

Xen 4.17 rc4 is tagged. You can check that out from xen.git:

git://xenbits.xen.org/xen.git 4.17.0-rc4

For your convenience there is also a tarball at:
https://downloads.xenproject.org/release/xen/4.17.0-rc4/xen-4.17.0-rc4.tar.=
gz

And the signature is at:
https://downloads.xenproject.org/release/xen/4.17.0-rc4/xen-4.17.0-rc4.tar.=
gz.sig

Please send bug reports and test reports to xen-devel@lists.xenproject.org.
When sending bug reports, please CC relevant maintainers and me
(Henry.Wang@arm.com).

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 09:46:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 09:46:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451715.709477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12d2-0005lW-Lm; Fri, 02 Dec 2022 09:46:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451715.709477; Fri, 02 Dec 2022 09:46:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12d2-0005lP-J3; Fri, 02 Dec 2022 09:46:44 +0000
Received: by outflank-mailman (input) for mailman id 451715;
 Fri, 02 Dec 2022 09:46:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JFaq=4A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p12d0-0005lJ-ON
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 09:46:42 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20619.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 389b9572-7226-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 10:46:40 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB9210.eurprd04.prod.outlook.com (2603:10a6:10:2f9::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.19; Fri, 2 Dec
 2022 09:46:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 09:46:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 389b9572-7226-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BoIFhcN+ShJK34TfM7uAX6BVdHH6KOxqH/Z6c5k7OoYqJk3nDCPQ6MuiBigDdzUGbQJxtJrf8rOYUcCtxOM8g2BFbGEJFcxW3lWEatDMlv8fX+o2dkKdiZBfJnKWrQRYDqlKVU2MyOrktW0bTUB84AEO13sD4XRV8yDuO5EeEfatXpdBJapyN+Dc+qXSxY84UzuDCoCohlbT3ktjoXL+ELlYu8YUOnwZ2Ttn2UKsYp4bsJZpbBrzts0KfH9kiX+2ICEwogikiIXZRvMcbD3W7ieNXX76X0eXWXh1B2Vml/SC9xaPFOfg/awOTG5wcycoz4aQWKXGVagGRZX329YwxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=535S2e3PBAXBJycWTq5nnuXtVmPz1++/Yp9MQ94s6S8=;
 b=IcnXttkoeh+MLtcEpjislOzLXd4M7M83yqIPNi+iNz6OtQa0EReZESYGARsFwC91CYeMxKKqbliiqrUg2af59kID65XUp80fJAr6LKqhTei9ILvBE51aAWJK1Z1jpffN5ZfgxX3K/VlJdMr6LlGyICUbBdal1XGbToaYIlu5WngqNJyt0TQCWR5zACmpI2cMrV7nTUJcIfW+S5nz9RJQ4ABnEGpJPsEkKM/l05cHEv/8OYbCrjUPoyuKXpQ2IaQrQFhMaTIIj9eIS0aEFjb+GlAntxf3Z0Mgx176gm34lMR1LWcU6OM5SW5qCQrdfXvCidpm020BXuLtMJI5y1qkqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=535S2e3PBAXBJycWTq5nnuXtVmPz1++/Yp9MQ94s6S8=;
 b=LpAOgGyd4WGAg5RxqJ7f/nIM6WS1ge0VNaE0LSNvWJWKhChrrHDVdjK3xKpBTwvt/UAS9xfuX1iE8iWkAUQyzl2fE1jTp5Vd7oHeJocLWM3Ag8GzLoKfSeR0HzZCvZDj5zXuN7lZn9+J1sIX7ARkC0HDurUNVLxCk7XyQWUMNcuuBpbEMexK4vAymKE99QdcMCXbowOwanZmVMC/cQ7iSzRJU3J4iFVih0X6CsXuGFlJVhrpEK8Jk0H2EUvCQ31EzYIhFwaKgufuyBML2DQxRocrRPkQdvy4wsrCEBBlAuzhfAgDhlO+9d2a35/U3kojMdqXaE1wixmRg03+ofpQVA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9d796752-8f8e-dc64-9803-a33e31a3f7d4@suse.com>
Date: Fri, 2 Dec 2022 10:46:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] gnttab: don't silently truncate GFNs in compat setup-table
 handling
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0054.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB9210:EE_
X-MS-Office365-Filtering-Correlation-Id: a5c345d8-cb2c-4544-3bf6-08dad44a1b40
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8MrcHMSX7gOJMVc2ZIPHc0FawPhdgX7oA3Q2aaARS/RzVPBbGUYJ0DIrMgqAJTDD1HbnqEmkn6/weSPNSfGMdxaJw940zWrMrsxC+7sttUm6sHasXoZ/r7h4AhZF4bJoMlEzqlKPLFJP6S8NoXYtEet6zu+nTqWIrw45vlga2+dlW94MyNXYA44zlD/Oxw/kRc20rB7ISx7EZ142OpHFkLSFQ4Y6ppIyKf9WNZyzaBTAM/AnJ2BTdBman+VzQUuWCHzg+bCwW4VmvTpwWhDZIcLr6kuFA6siCoRIPFNDnHrnZW+veNxmufikCSoIe69E9ZnRdOXchcHdRXCkude/cbUqw/pUSv/O9zWdvm/PX9tDW8635sWeKUM9LlHTLkHDYlRCi7Jh/gg2VsWbloU5AQlshZ4oyATF1e446zeFf1bbTkVBGdra1BGOLz5zcbzcIBnyAhG7frDTuyXHlYIPCfaNVXPKfp5siEPaJZMgu9f8SzUIIKx30ozDdVFCE9ndS3ilaelfH2HPDTxTD9neul7ohgpa5/4RWu+/NEgFrhuHGCcdi4M4NTqEmpu4MsvMz08PlfBrsBX+xSksjtKB2uJEf1XIyYvbgFinBsPsG7v7/k2KUJ7n8i39ZqyaAX6xnn8KaNrXfnN6qdW0PMGFBSrGIrnuw7U1Rxn5HwT3Yso/DM0Y6tjf32sa2Ed++QOK
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(136003)(376002)(39860400002)(396003)(451199015)(6486002)(6506007)(31686004)(478600001)(26005)(84970400001)(6512007)(38100700002)(31696002)(36756003)(2906002)(186003)(6916009)(2616005)(41300700001)(86362001)(8936002)(8676002)(316002)(66946007)(54906003)(5660300002)(4326008)(4001150100001)(66476007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cXNjOG9VeGNIaGJXVTIrYm56MGY0SXlCckpCWnlUeUpGMWJ0R3Z0RVFrb1FT?=
 =?utf-8?B?RXY3T2lMVGMybG02TnN2WHk5VURpY3FlMHcrMC9KaHhUK3ZlODNXM2xjNmFu?=
 =?utf-8?B?QWtzU2F2SjRaaUNVaXUxQnFVYStrdGNBSXZUNEFOSFE0aDI5MG16MENVUlZp?=
 =?utf-8?B?K0xRakRpdDVZbGU2MnhzOTNNdHJEdEdJNXR2a1lVekxMaUlGTTdhT1ptcUI4?=
 =?utf-8?B?RnoyUWoxNkw2cE9KaG54WC9CYXpmNUlEQmNDSFJ3bDdTc014aGhjSzVjdmlQ?=
 =?utf-8?B?Mk5HVGV3OWJ1UUJYeXNGTU9MTzZUUTRPUnNZdm1OT1FhNkxEYzIrblhIbW9j?=
 =?utf-8?B?UVJxT2NqZWxYOUFtRnptV3VQeE1rcldOQ3czaTVQZkNySGRzakN5aDlFbkVm?=
 =?utf-8?B?c2tkbVNuMWcwMGJKbjZTeEZscU9BTmNENlBIQnhpbnNpZWNybmdSTW8yd1dj?=
 =?utf-8?B?bFVGdThiL29JNWFCVVF2NzdKVDJlei9UMDR2VjBmZUd1Skd3cnFqRHhFSHFP?=
 =?utf-8?B?cTQyUDJTRG1vd01MT0ZXVjBWQW5SaVp2V2RTV3QvTHdnZHZ6cUlseXhLUFZS?=
 =?utf-8?B?dDM0YmFQQTJSWEoxdU40ZjV6V0NGeUVwR1NUc21QZi9GcnNHdmZHYklaYVlW?=
 =?utf-8?B?SURWcjdSV1NWYzJWVWJTV0JNOWpFSllXdy9HVEpVRTNDYjQ4WEVYMTdsci9u?=
 =?utf-8?B?aHFnOGZOb2Ywb2RQRlVmMENXdTFEMGpuMFpIdUhSLzdaSlM2UWhGZlFuQmZi?=
 =?utf-8?B?cUlxQlFNaXA1V29nb1ZjcFVqbnpNMndLRE9zbVhaY0xWZWQzQ29VQmM2UUxz?=
 =?utf-8?B?WG80aWJQMmVld00xcHlSTG8vTnhSdGNDV2VrTFR2a0c3Ym4xODNwd1VvcC9S?=
 =?utf-8?B?djBuM3o2Ny81Rk5Nc2E5d3lPQUhhbjZrRXpkdHVSc1A2OVhOTmhUMXZId1dF?=
 =?utf-8?B?TUpWOEhGNkdKTjBIQXp3NXViL2g2Vk9HdHFKRXoyVlFOY094NzZBSG9DVEM3?=
 =?utf-8?B?OGJHYVhoM3NBcGs0TXAzODlwZzZoT0RSTW9wRXlER1ByVUZCOGdWdXhveU9Q?=
 =?utf-8?B?VHh5SWI5aGdPQ2ltSnV5UmJ1SHBZV0JrZ2pPdnA0Y0ptVStBamdBTzR6SGlR?=
 =?utf-8?B?a2VyTTRtS0FSMWU3R1pHcFpmaUpINTdTeUl4ejMxM2g5d3RtUVRKeDhodVRw?=
 =?utf-8?B?WGFBYTJEZUhEQ0s2L2hHemlIbGplek9meFhjM0l2K0ZldWlqT0g1VngvYjRM?=
 =?utf-8?B?aUxVYlNwSXpHUTNKbkxlSk5FMkpHM2txOFpicEQ3RzlYbkJxQ0g5N2VuUnN5?=
 =?utf-8?B?SkdTVDRXanYwUlhQYlF6MTVEZ3FXN2krMlRzTVhkQmdLUlRCMEtZQzF3NW16?=
 =?utf-8?B?WG52SjJIUUJBZkRVWWJ4cVU5NlpQOVVoT09XaGpKOGVveHVJVDRRY1JCMW5Z?=
 =?utf-8?B?cUdNdHptbkFNVncyOXdxMUpkcGpXYzRSNXB1MGJCUXQxb1lObno1WVRadnB6?=
 =?utf-8?B?VENZSHJ5UG9Da3FIbWRVeWlZd1ZaYXQ4Y0thYUxEYnBQeWNuT3Q4c1NxNGY3?=
 =?utf-8?B?VE5VTE9XcXZXcDd5RVhDbkRjSkMvR2ZkQjhWcjB4Y0RsSk9sZERVMjJvNzkv?=
 =?utf-8?B?cFN4bnBNVzB6YUJpekVjWlJkMWt1SlZxUnF6ZjNlWHl1M0pBRGhYUStqcU9n?=
 =?utf-8?B?ZzltWk9FWmVkTHh6YjBONzZXb2tyYy9xcTIwUmZtYUhuVkhGQVlEc2gwcjNh?=
 =?utf-8?B?M3FmZ0I4U09WVTFQT3lzR1d0YUN1SS81V0ZUbmpKY0h0NlhUdFN5dG5sWUdP?=
 =?utf-8?B?WGpyeURjcktOdTZsT1oyYUJnWCtROVVIOVlvV2xmYm5kWmloNFJaTkFCS3Zi?=
 =?utf-8?B?T2dWeGJhK0c4c0dyQ1lKT0dkK2R2Z0N6cGJCRElrZjRUUDRzN0RHR3I3d3g1?=
 =?utf-8?B?NUtyaHNRWmtwcmtJbUF2OEJKTHBzWnhINDBRYjlDb1BEcWVXSDN3Uk84RW1i?=
 =?utf-8?B?WitjcnNONDdaTmZDMFlWME5SaEdBcTA1M1RaYUQ0NlNiN2pzbnQ4Wm05S05y?=
 =?utf-8?B?WXhIb2F5cGU2YmZFelJVQk95Nk1VUjlOY0pSSnViTjRaSktLQWdzSlVwYU9N?=
 =?utf-8?Q?0iVZggvBVU66m0LI1p2B5HnOM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a5c345d8-cb2c-4544-3bf6-08dad44a1b40
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 09:46:37.7459
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: F6Kzs2p2t+Yjb5idBoWnqTyc6Sz6XFeKoq3xMbaH6vrEJH5CcYPGKT/5tOSb0ukTgyiOHGguaPy4layFFv844Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9210

Returning back truncated frame numbers is unhelpful: Quite likely
they're not owned by the domain (if it's PV), or we may misguide the
guest into writing grant entries into a page that it actually uses for
other purposes.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Drop use of VALID_M2P(). Use "break". Move type change for "frame"
    here (from earlier patch).
---
RFC: Arguably in the 32-bit PV case it may be necessary to instead put
     in place an explicit address restriction when allocating
     ->shared_raw[N]. This is currently implicit by alloc_xenheap_page()
     only returning memory covered by the direct-map.

--- unstable.orig/xen/common/compat/grant_table.c	2022-10-10 11:02:21.198223952 +0200
+++ unstable/xen/common/compat/grant_table.c	2022-10-10 10:31:25.000000000 +0200
@@ -176,7 +176,12 @@ int compat_grant_table_op(
                     { \
                         for ( i = 0; i < (_s_)->nr_frames; ++i ) \
                         { \
-                            unsigned int frame = (_s_)->frame_list.p[i]; \
+                            compat_pfn_t frame = (_s_)->frame_list.p[i]; \
+                            if ( frame != (_s_)->frame_list.p[i] ) \
+                            { \
+                                (_s_)->status = GNTST_address_too_big; \
+                                break; \
+                            } \
                             if ( __copy_to_compat_offset((_d_)->frame_list, \
                                                          i, &frame, 1) ) \
                             { \


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 09:49:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 09:49:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451732.709503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12fZ-0006um-CO; Fri, 02 Dec 2022 09:49:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451732.709503; Fri, 02 Dec 2022 09:49:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12fZ-0006uf-9B; Fri, 02 Dec 2022 09:49:21 +0000
Received: by outflank-mailman (input) for mailman id 451732;
 Fri, 02 Dec 2022 09:49:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xeCl=4A=citrix.com=prvs=328e240bc=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p12fY-0006js-5M
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 09:49:20 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 917c7b60-7226-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 10:49:11 +0100 (CET)
Received: from mail-co1nam11lp2173.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 04:49:15 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA1PR03MB6321.namprd03.prod.outlook.com (2603:10b6:806:1b4::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 09:49:12 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 09:49:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 917c7b60-7226-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669974558;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=cGyQ/0foqTCQoixkdiWHAFmnQvg8QPJxUvQtU0Av6oU=;
  b=iI+tlEtPStXLl/m9fsy0XuqDIYFgcJ24Gv0E10cgq5JXMrDB1MsgIBzh
   r/ZwSRIGrK+PImBrwB43plJfib0k61S0ss7yMnLHdRtXojmVgcXLSzd7o
   NOyL2EOPUP4U0pnh22neAxTQleOgtVMROnw3xfO89jwT5zyW80Pw3hCxJ
   0=;
X-IronPort-RemoteIP: 104.47.56.173
X-IronPort-MID: 86230594
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:wXOZlahPiv8j094nRnMwPoL8X161fBEKZh0ujC45NGQN5FlHY01je
 htvUDqGafreYWT2Kd5wbI2z9RtUvZfVx4JrTQVk/CA0EHwb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5geEzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQEKi8CUhHcid7nxZ+cGudzxeMfcPXCadZ3VnFIlVk1DN4AaLWaGuDhwoYd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEvluGya7I5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6ROPiraY30QH7Kmo7FzgnZX6w8KOAoU+UYuh+G
 3JJpio1lP1nnKCsZpynN/Gim1aUsxhZV9dOHukS7ACW1rGS8wufHnIDTDNKdJohrsBebTAjy
 FKhhd7iAj1r9rqPRhqgGqy8qDqzPW0eKjYEbCpdFA8duYC8+8c0kw7FSctlHOitlNrpFDrsw
 jeM6i8jm7EUis1N3KK+lbzavw+RSlHyZlZdzm3qsqiNt2uVuKbNi1SU1GXm
IronPort-HdrOrdr: A9a23:Gn41ZqApSSeKDz/lHema55DYdb4zR+YMi2TDtnoBLyC9F/byqy
 nAppomPHPP5Qr5O0tQ/uxoWpPgfZq0z/cci7X5Vo3MYOCJggeVBbAn14fkzj3mFWnM8OlQvJ
 0QEZSWo+eRMbE/t7ef3OGjeOxQo+Wv4eS2lI7lvhJQcT0=
X-IronPort-AV: E=Sophos;i="5.96,210,1665460800"; 
   d="scan'208";a="86230594"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IHKZEy7HWpkXYvlw7tbriD0YNaSdJN0V+4D2vrce/244un6T4Zp+FvMXaA1ntzT6VdQzMvkr0OiaqZsszS4ci5fa9GHIaRUhONFIfjz6N2OK6lo/KsKUIuQcpR/Wi30jsmYDQ7VdO3EnQKpOHyiVS1vKqBzpohlsmW9vYYJjAPZqf0ggRx2WfFYSDGiNdp1DA3sBfzTWn5KXMOOvp3HB4P2CtyEkh8iPXXJZEK8eDlN+SxJh3JRyZszFHOq+z/0oulY5u4KfxE3SnU64+DgmR1nO7/dWEeFXaJjMHT85nfUa350OiFYrN6vZ3pZzWb9Gze5OHF2no1NC6fRaG1Rx/w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cGyQ/0foqTCQoixkdiWHAFmnQvg8QPJxUvQtU0Av6oU=;
 b=DpUJ7xrGGz1YXl27clezO45KNzcGVKvM1B7ui5iPifVZk0BPIvUwtPfxOTusQ6+UKq23vUvgXHE8bKF752wrGzeF7L2bBF/mor5IPHlGVt1f9E3rsdS5ybP9yLUCCWB+xazFU84kYiCwlrsMfZLtY3r0oh04M7DG3ln2hlN7iUQz/PzouG4s+M63Nfkaa5d1E+h8iLVXViyMa41A07U1hJLfvUpNRQRsCXlWAg0HNQRgWsU1ZNm7jl5nzpWo1p2VE39kcgRwP5MeJHIQ6uboTtTC/AI6aqBSq8VvuouGWKd5SEAlvMXDak7NzEUdnsjPY/T2moELhMS2YNZfDc1b4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cGyQ/0foqTCQoixkdiWHAFmnQvg8QPJxUvQtU0Av6oU=;
 b=KDwVHn42EtMWiHMdmnTzpkRLEFILoqBXKacpHgHLm1Xv7CqI5m+lYV6NDthw/iPYJGHEkcyaOFz6Vfyff1pmGccvkgAiGAU4Uc153ATFybpTR3h5moiYiKUqMVGx/dAxjsk6koSiz/u8smEa6tApQWXGURTp7nZHcV5b21rBgPk=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Christian Lindig <christian.lindig@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Edwin Torok <edvin.torok@citrix.com>, Rob Hoes <Rob.Hoes@citrix.com>
Subject: Re: [PATCH] tools/oxenstored: Render backtraces more nicely in Syslog
Thread-Topic: [PATCH] tools/oxenstored: Render backtraces more nicely in
 Syslog
Thread-Index: AQHZBcqVkKRzz2J21UqyxRAvPfqWaK5aUVgAgAAJugA=
Date: Fri, 2 Dec 2022 09:49:12 +0000
Message-ID: <71962c99-8d79-f177-e77b-9ab53f81a549@citrix.com>
References: <20221201211906.5214-1-andrew.cooper3@citrix.com>
 <646125C9-5AC5-4494-BC9E-B89E6B8440EC@citrix.com>
In-Reply-To: <646125C9-5AC5-4494-BC9E-B89E6B8440EC@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|SA1PR03MB6321:EE_
x-ms-office365-filtering-correlation-id: f7023cee-08ee-4633-6d77-08dad44a7780
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 63AtK41BtR7Lgwz8M4yumBhreRvHlZAPNTKwN+SRByf+nrmunniRe49QKLyFXpt5VRGG4wP/AVaDq+oF9XvE2sHkYEKYhzJHOI6T//kdJT2akYnribYrMY6jeYakSCnVjV95b4pZtICia3/0F0SqjjoNALa0W9fUE4+6mZU5esn5Q4cC8/jwlwT51KfwRpRTroez+OVo6jDR6c+ZNIKu8TJyQOj7Yx72XTrVfBXHDTVChhiSxZkuHpnAT9CZ+apDLGXZfnsun7OD0udr3RKNuMnF+oTd82rvMyMBVYum9bz4yzvNfzN2WJC1jYwLs7x8ySBxpgTpcxPOlD9/HqEbOnqG88tBUpVbCZMIn8knnXaQY1W5epMdguZxKUFW9eyWseQwFNoh5YrNCf7/ys0p3dDHoohMiRYqS+ZcDx+ugNVDCMyIbFyFjjZ5jjOXi37zcQvYl8ieU0EuJouk358YjEmze8lJpYtpzSXxZ6TbYYyOBLxlMKYlydkIubdCiJwk8xhWXX1D20HV6odObw9BZSYvixFuylChkp7lftD4449BfDzTM3G5llIkTdJO27jokCJ2i/mfzjA4Avmfqa4GY8xECzd40rB1nFZUGTWLnOeKCfslCrNmeBPUVBlq8IP+4itVbeY+M3D/XAdY4Jq1bwcdQPPSXNr6fQywJTy6otmQvZC53bvV20nqTVznUX1VHYowLbpKyDuDIxnZewFUJYcNIaPer6YMu0b9CKnA+o+IReCEqhFcRaLCFFisSFawKB7LHsBCacBIHjd4odl9VQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(376002)(39860400002)(136003)(346002)(451199015)(82960400001)(38100700002)(36756003)(122000001)(86362001)(31696002)(6636002)(54906003)(316002)(38070700005)(31686004)(66556008)(37006003)(64756008)(66446008)(66476007)(478600001)(91956017)(6486002)(71200400001)(76116006)(107886003)(66946007)(6512007)(26005)(6506007)(53546011)(2906002)(8676002)(83380400001)(4326008)(2616005)(41300700001)(186003)(5660300002)(8936002)(6862004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VG1UNlQ5QlhVencxbEwwVW1ySlNqeHVjTk5HN0lNN1JpQjd2QXlRNVRVa3o5?=
 =?utf-8?B?Q3Vabis4Wko2b0sydlVEUDR2eWJwa015NEpBTEJJRHplUFJwSmhCSjYrcjdT?=
 =?utf-8?B?N2tVT1RmRWxMc1p1UmZPMWxvbkNxMXhIRVhtT0M4c2xqZmpuK3EzeFhMVTJM?=
 =?utf-8?B?SUthbm9adkRXNlF6SmwvN05CZGxWa1ZwQlU3Y3E1QnhHaTlWc21iZ3EyOFRv?=
 =?utf-8?B?YXQ3RUY5NWxTa3RVOStZY2xxWFFqellzRmlvWXZXUW55WlpLaEc1ZWkrYWJT?=
 =?utf-8?B?eEc4RW8zMTZZcXF6UG9Pb2pYYjl5d0kvU1NoSGhwZEd0bUFBS0ZmdHdUNyts?=
 =?utf-8?B?dHdweTR1QWwrYUJEbUNXV09iaHBaMVl6T3c0Z0xDd2VUUWkxZFdKazBrZ1ZG?=
 =?utf-8?B?cWI1WGZ2U3NtRkZ3WElkVzE2YVZWWTBkcU9VNXM3Zy9rbjQ5dEdsQ2psTEVG?=
 =?utf-8?B?TnQ2QWJwRk9YelgySUxsWTF3akxENjE2WmhJNk1abUpqbEwwbFNzNk81ZzBs?=
 =?utf-8?B?ZEFrQThDdEt4a0FEM2VlVzF6S2NhUWhGRlR5Y2xVUFFYMW1zeWRlSkRQcGRF?=
 =?utf-8?B?VkwvUG1SUTNqYk9VNFZmd0dmQ256LzlTUmErYUZQWVMxTXhZUWZ4MXIzN3p6?=
 =?utf-8?B?bWttenVlSGthSWZOL2VQMnk1bElzbmFVSE5XbjNyYTBFUk9wczhBWVpmalEw?=
 =?utf-8?B?cDNsMnZIaElSVW9ubmI3NmIzMmEybkhnK0NPUktEcXZQNGNuNHJmVUdIN1Y2?=
 =?utf-8?B?TnQ3bUsrdkV6OHdJYkJmV2Uyc2RORUNsRzhuaEgvK2JDaFhOVEpzc2NkZmQv?=
 =?utf-8?B?OFhFUE9LQVM2Q3hkWWlVTGpwYmplOWlGTC9VQzRjWG9lUm1YRFp4UkQ1bHZI?=
 =?utf-8?B?MVBIREtPeEVvZ1hBMTFSOUxVWjYzZTg5emozZVR3UnM5amR5Qlp1enNSN091?=
 =?utf-8?B?YmdJN2lvM093SnpNMDl0RWIydnN1bXlQajJZcHdaTFNSMGZjNzJtV3VrZzBQ?=
 =?utf-8?B?TlhOaEtmb1lDOUl4L0hUS0t0MGthSitTYkQ5VmhTYjV4NnU3cWI2cUx6QVNY?=
 =?utf-8?B?SVZIWU96bEt0Y3R5RjR3TEg4VFlUOG5CMU16Mm5qQm1tWmdhT3lZY2ZLdjV1?=
 =?utf-8?B?SmU3SXVWN2l2UDk3RTNVeDhYSHltWnB6cDFIQjlkM3dJeVovRndON1d3MlNv?=
 =?utf-8?B?SnVNbERNNzZyekFyT1ZXU3ZzVnZsMEk3allLMHBqWDN0VVl0K21nNXlKbUNW?=
 =?utf-8?B?MTJ2OHd5QWVKQWhGckpTZEF3SjYxRk9pbjVFMXl2MEE0K1k1ZTlIWUN6WDA0?=
 =?utf-8?B?TkgwbjFlV2pzQ0JxS1JmTmkzNlNzKzBuMjM2OEwvaFUxSXdPMkNJaDJWMlA0?=
 =?utf-8?B?WjVpTXM3Y2NMY3Q2R0tyZWRyK1Bid1FWYVdPTzlpN05iU3p0NFY5TG9Ebksv?=
 =?utf-8?B?bDRZT2hqdmlHWFh6dHJLN2hqbGkxbzZDeGlTeGQyNzVpN05HYXZ4TUdySUVD?=
 =?utf-8?B?d1loaCtTZUhQV01ENnBtSnhQSTZiMFF0ck1mVU84WHFaWkRhOHI2NUM1Y2xz?=
 =?utf-8?B?aU9wU25aMWd6RGFKeElhV0pOZHRQK2RhTWI2amdqbk1OTGsxZll5dlB1ajJF?=
 =?utf-8?B?R1BsYVp1Tk5hdGZ0cXNUaVFkN3oxR1FIZEh0UXloc2o0RlU0Wi9ENHQ2MC9r?=
 =?utf-8?B?RGYwSldrYllOZW9ZaHlkb2dYYzZZYlJQUU5GcVpMSU04MEFoRmc5K1BLcjZh?=
 =?utf-8?B?SE40elFmYWpvNTlKMmhia0hjcGcyUzJ5MHdteGd5MGwzOGJDemQ5Z3VqOHRC?=
 =?utf-8?B?ZUo3Q1lDeDVSWUd3c2tRRGxycW5RR1kwV3VVSHNzR1lkaDY1dkJXY3lVcld5?=
 =?utf-8?B?SVpySXJndWZjT2ZZWTV5THRmcjJGQWh1c0ZLRFdYUlNTMXVrakZmSDcrTG84?=
 =?utf-8?B?WWd2a2RERWtGOUx4N3N2UVg4d0lzN0U1SnhxQ09PNFk0RE05RkhubitxRk5l?=
 =?utf-8?B?RmM3RjRiUUlZRXhLQlo2M3NaTEIxZmE5MmlaS3ZrcDFEZVZCNDlLeUhyS09F?=
 =?utf-8?B?dzJqYkIvQ1BoaTlsRGF0OEtDSHZCbFRRdlU4V1J4WVpielhsaTQ2RGF2c2tC?=
 =?utf-8?Q?lg5HbDeOoOrpj3SnqnXqA76D9?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <31EB20398A225446AE62EB0B0D1C6739@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	pMsfco8LdOAGPwLKWZzUYBruXosLluRy0CiurDObS7vOvyt2L/e90z2nRpyMaU9x0EcMx81kGAGGnUnN5GgrlzoUT/ueRkQRQk/4AsoZNBCFvfdyGv8r9xC6vvbHmJ2tJ8SYw0Knnm70t96Jhqw7abhWsJePGt3izmq4d07z8d4HwjM6goGTcfktvVD6zw8tZlZpmoNTF/FZ3U9XcwuvK9U+kyFnfE/JzBNIc/EqjT61fXbB5IQVHyjhWFuG9OYVoaBAVRZI1sBedEk0t/3tv3ZCsNBCBuilqP1siuzuffG/cK0fji5JwT52sbgK6U84MSghNhrCq8aoMTpn+2JiTHe8Ra41czI5rOsXbt7BlDdiSKQO1xhlDvA7yFTEFMVLmYgOuSqo/7Cwp2D9NhZL/V6wkUxflmgIirxA+owFD7IbxOS1abfnqHtEegL/5sP0460cqvqErOA3egCSRdNGtjyLvRn/4ZBK05TymjCDCgDNT2GHdimikPkCePgQnTkGQvNRTxADHy5fPtKPWB+gxVMy7bXmMB6KDvKBRchG5IPRPXZhSyOgZpptcxkJdlvMbE+SEzJ13pC/3BqjVmBC1bqMdy+U3IWBMU4FFQWIrn3o1JE6YUirhRpTIVChdOpSGAZ+amDc8Pxtqew08u+1zAztQzNT3rfm7aeNfrquQlaAA18gh4i6PtqEKIBwTzbZNUQc/wTyCaZ+X69+X2GUhJOtcalprSfBFbptgTBLyUsY/CUUEJC33eNip6tu9+Dmhj6yZSWPFwSjDc2j1zElss0PlvnN6nS97yA+kc0a1cWmrGp9COVYuwTYHYAzqbzA
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f7023cee-08ee-4633-6d77-08dad44a7780
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 09:49:12.3764
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: g3CTAHaOmj4t5z+tGKYxG5iTenKmcHz/hY+St8tnXnIaAwG6UExvb2G2+TM/n2WCVjNbQQygaIPFCb6spb9QjyOge+eJTVCadJkO5yOM3pY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6321

T24gMDIvMTIvMjAyMiAwOToxNCwgQ2hyaXN0aWFuIExpbmRpZyB3cm90ZToNCj4+IE9uIDEgRGVj
IDIwMjIsIGF0IDIxOjE5LCBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t
PiB3cm90ZToNCj4+DQo+PiBmYWxsYmFja19leGNlcHRpb25faGFuZGxlciBmZWVkcyBhIHN0cmlu
ZyB3aXRoIGVtYmVkZGVkIG5ld2xpbmVzIGRpcmVjdGx5IGludG8NCj4+IHN5c2xvZygpLiAgV2hp
bGUgdGhpcyBpcyBhbiBpbXByb3ZlbWVudCBvbiBnZXR0aW5nIG5vdGhpbmcsIHN5c2xvZ2QgZXNj
YXBlcw0KPj4gYWxsIGNvbnRyb2wgY2hhcmFjdGVycyBpdCBnZXRzLCBhbmQgZW1pdHMgb25lIChs
b25nKSBsaW5lIGludG8gdGhlIGxvZy4NCj4+DQo+PiBGaXggdGhlIHByb2JsZW0gZ2VuZXJhbGx5
IGluIHRoZSBzeXNsb2cgc3R1Yi4gIEFzIHdlIGFscmVhZHkgaGF2ZSBhIGxvY2FsIGNvcHkNCj4+
IG9mIHRoZSBzdHJpbmcsIHNwbGl0IGl0IGluIHBsYWNlIGFuZCBlbWl0IG9uZSBzeXNsb2coKSBj
YWxsIHBlciBsaW5lLg0KPj4NCj4+IEFsc28gdHdlYWsgTG9nZ2luZy5tc2dfb2YgdG8gYXZvaWQg
cHV0dGluZyBhbiBleHRyYSBuZXdsaW5lIG9uIGEgc3RyaW5nIHdoaWNoDQo+PiBhbHJlYWR5IGVu
ZHMgd2l0aCBvbmUuDQo+Pg0KPj4gRml4ZXM6IGVlNzgxNWY0OWZhZiAoInRvb2xzL294ZW5zdG9y
ZWQ6IFNldCB1bmNhdWdodCBleGNlcHRpb24gaGFuZGxlciIpDQo+PiBTaWduZWQtb2ZmLWJ5OiBB
bmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPj4gLS0tDQo+PiBDQzog
Q2hyaXN0aWFuIExpbmRpZyA8Y2hyaXN0aWFuLmxpbmRpZ0BjaXRyaXguY29tPg0KPj4gQ0M6IERh
dmlkIFNjb3R0IDxkYXZlQHJlY29pbC5vcmc+DQo+PiBDQzogRWR3aW4gVG9yb2sgPGVkdmluLnRv
cm9rQGNpdHJpeC5jb20+DQo+PiBDQzogUm9iIEhvZXMgPFJvYi5Ib2VzQGNpdHJpeC5jb20+DQo+
IEFja2VkLWJ5OiBDaHJpc3RpYW4gTGluZGlnIDxjaHJpc3RpYW4ubGluZGlnQGNpdHJpeC5jb20+
DQoNClRoYW5rcy4NCg0KPg0KPj4gLS0tDQo+PiB0b29scy9vY2FtbC94ZW5zdG9yZWQvbG9nZ2lu
Zy5tbCAgICAgfCAgMiArLQ0KPj4gdG9vbHMvb2NhbWwveGVuc3RvcmVkL3N5c2xvZ19zdHVicy5j
IHwgMjYgKysrKysrKysrKysrKysrKysrKysrKystLS0NCj4+IDIgZmlsZXMgY2hhbmdlZCwgMjQg
aW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMv
b2NhbWwveGVuc3RvcmVkL2xvZ2dpbmcubWwgYi90b29scy9vY2FtbC94ZW5zdG9yZWQvbG9nZ2lu
Zy5tbA0KPj4gaW5kZXggMjU1MDUxNDM3ZDYwLi5mMjMzYmM5YTM5NTYgMTAwNjQ0DQo+PiAtLS0g
YS90b29scy9vY2FtbC94ZW5zdG9yZWQvbG9nZ2luZy5tbA0KPj4gKysrIGIvdG9vbHMvb2NhbWwv
eGVuc3RvcmVkL2xvZ2dpbmcubWwNCj4+IEBAIC0zNDQsNyArMzQ0LDcgQEAgbGV0IHdhdGNoX25v
dF9maXJlZCB+Y29uIHBlcm1zIHBhdGggPQ0KPj4gCWFjY2Vzc19sb2dnaW5nIH50aWQ6MCB+Y29u
IH5kYXRhIFdhdGNoX25vdF9maXJlZCB+bGV2ZWw6SW5mbw0KPj4NCj4+IGxldCBtc2dfb2YgZXhu
IGJ0ID0NCj4+IC0JUHJpbnRmLnNwcmludGYgIkZhdGFsIGV4Y2VwdGlvbjogJXNcbiVzXG4iIChQ
cmludGV4Yy50b19zdHJpbmcgZXhuKQ0KPj4gKwlQcmludGYuc3ByaW50ZiAiRmF0YWwgZXhjZXB0
aW9uOiAlc1xuJXMiIChQcmludGV4Yy50b19zdHJpbmcgZXhuKQ0KPj4gCQkoUHJpbnRleGMucmF3
X2JhY2t0cmFjZV90b19zdHJpbmcgYnQpDQo+Pg0KPj4gbGV0IGZhbGxiYWNrX2V4Y2VwdGlvbl9o
YW5kbGVyIGV4biBidCA9DQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvb2NhbWwveGVuc3RvcmVkL3N5
c2xvZ19zdHVicy5jIGIvdG9vbHMvb2NhbWwveGVuc3RvcmVkL3N5c2xvZ19zdHVicy5jDQo+PiBp
bmRleCBlMTZjM2E5NDkxZDAuLjc2MGU3OGZmNzNkYyAxMDA2NDQNCj4+IC0tLSBhL3Rvb2xzL29j
YW1sL3hlbnN0b3JlZC9zeXNsb2dfc3R1YnMuYw0KPj4gKysrIGIvdG9vbHMvb2NhbWwveGVuc3Rv
cmVkL3N5c2xvZ19zdHVicy5jDQo+PiBAQCAtMzcsMTQgKzM3LDM0IEBAIHZhbHVlIHN0dWJfc3lz
bG9nKHZhbHVlIGZhY2lsaXR5LCB2YWx1ZSBsZXZlbCwgdmFsdWUgbXNnKQ0KPj4gew0KPj4gCUNB
TUxwYXJhbTMoZmFjaWxpdHksIGxldmVsLCBtc2cpOw0KPj4gCWNoYXIgKmNfbXNnID0gc3RyZHVw
KFN0cmluZ192YWwobXNnKSk7DQo+IElzIHRoaXMgd29ya2luZyBhcyBleHBlY3RlZD8gQW4gT0Nh
bWwgc3RyaW5nIG1heSBjb250YWluIGVtYmVkZGVkIG51bGwgYnl0ZXMuDQoNCkkgd29uZGVyZWQg
dGhlIHNhbWUsIGJ1dCB0aGVyZSdzIHJlYWxseSBub3RoaW5nIHNhbmUgdG8gYmUgZG9uZS4NCg0K
VGhpcyBpcyBmb3IgaGFuZGxpbmcgaHVtYW4gcmVhZGFibGUgc3RyaW5ncywgYW5kIGF0dGVtcHRp
bmcgdG8gZm9yY2UNCk5VTHMgb3V0IHZpYSBzeXNsb2coKSBjYW4ndCBiZSBkb25lIChiZWNhdXNl
IG9mIHN5c2xvZygpJ3MgQVBJKS4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 09:51:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 09:51:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451744.709514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12hb-0008SV-OR; Fri, 02 Dec 2022 09:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451744.709514; Fri, 02 Dec 2022 09:51:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12hb-0008SO-Kd; Fri, 02 Dec 2022 09:51:27 +0000
Received: by outflank-mailman (input) for mailman id 451744;
 Fri, 02 Dec 2022 09:51:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JFaq=4A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p12ha-0008RA-2T
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 09:51:26 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060a.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e212b473-7226-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 10:51:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7616.eurprd04.prod.outlook.com (2603:10a6:102:e7::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 09:51:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 09:51:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e212b473-7226-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j5qRQNYbjzF/xRNNVgGQhD4g1RkO+7nbGpU8QgdqirTMDFIbwnRaxyaNDMYZGZdWdwla38WrfNpDIMb6QJl/hLQb9th3sDXFifU8Bk36sBIVjYGWg39LzgdHALuOduxEJFT882cBMr/IwDyJ8Ku1PFxEY1RMejla4Cv7c509kOPgN21ZXjvibE2x4IoOSXyIoO/MTANLryBhkXTD5ckgNSPj+hi+2pytDiO4VBS9ijS1ZKWoWGsfFIl8S4wDfLN7PcF/e6pZF8dxnVTL/kIBGMweZw1jpIv9Ga4iSu1aRiwpFz48klyAFzPEVGHUahTqwa/Dt3vzf/f/w7JtjL3IIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EnrYcpoi+EIwmNJI8pIVh+mWFl/EPyQUHosVtgDwBsA=;
 b=c6DpXJPPBD+DDmDOMrW1Qj86ZfrXY1ES3TIEAwbP3yWkP38ij3AFpIreRSI4J+W2tlF/oy47ixYIq1eFzk5fut2HqPzJOFPpehU6Mjf9SqF96p+C5XdzvCSTmY6u+LdlahcHCR749D8Yl/b7kG/ZYBGvAerpJd4kOfkMppBMBXC4MgGNS3qcJ2CCPqFrWcS3TAbyIPl+PSXumMbRmdYF5Vr1BJYTJRpKbCeTGCz5KH2pNFtMeS6guX1P3fuLZRA2LPbM18ZPyS5OepsVlThoiD0saSBCN/UaAW6qd23RB+tY4O42YzWldf2UN9YnDd2B+my5ytC3oWR1MBzf67lgUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EnrYcpoi+EIwmNJI8pIVh+mWFl/EPyQUHosVtgDwBsA=;
 b=sxGEEsm8P0z+g3qPlPB5vMpHGdAhzEknqia+Aky6/7aKBm/ejr5Vs3eKBXbhyoPp0UzR8BmlBI4zOV33MNwM5MHOo4fTekMcDuWNK5r5gxB7+D6wWq0R4WUFv1va53wiOZU+HOGFbQFn18xKEj7ytbOnKWEq6yf0nnJPFIFkbgDOwheYRedUfwdaIA92R9sU8I9HKnaybx1fLIMoYlkfkOgjgR/8KfVRVIXuOL5glRnhH2KFUPIKjD3GmMHTMW6+AtC6rTND0sPjnTtZgdoT/YAO5FtuPfiNwxRQKqzLDqrdO8RpyqPFge2R2kQFH9Gpw+l29p1g6iAQ6kKVftyVeA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <82bbfcf9-d3e5-f1d0-e930-9040f0fce8a4@suse.com>
Date: Fri, 2 Dec 2022 10:51:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [XEN v2] Xen: Ensure "xenheap_bits - PAGE_SHIFT" can be used to
 shift "unsigned long"
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefanos@xilinx.com, julien@xen.org,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 xen-devel@lists.xenproject.org
References: <20221201181145.45279-1-ayan.kumar.halder@amd.com>
 <d0d974a8-d463-9362-8b6e-cda1691a3464@suse.com>
 <f431e6c5-5525-2029-81d7-3efdc418990b@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f431e6c5-5525-2029-81d7-3efdc418990b@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0126.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7616:EE_
X-MS-Office365-Filtering-Correlation-Id: 002a5297-b571-4166-faaa-08dad44ac4cb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2THZ916yoeuWoWez49MPVx3QBPcy3NFXVD4HwCKVakL8WP+YuDziFyXCmfQsoXsLotrio3IGcZcEXl2XGHPA7Wirez1kxqx13EXi23GPn5bqQrfp/KafgEPq4fz9BPBAcR+rq+INxD1hDorA/aa1UfZets+z7dKoHZrlhErxraB+klLJ/g85AIy9SrCTbMkODSk/YDEwdR0tGl78EWg8AJ4c7LdjhWaODxmxAJ00ahdkBx73tPtpD57PbUoSnzoZ+SpVLWczraEJ9QRyAERTU+GXKpcu+wQr2VmyeSrxvEBUSla5eEfqnk9WkE/ngZieXbBz2dEGR6RTDq6TouDDupVXqBLd3XKlI+X01xArMoS4JMj/neEPI02SBPXGDZQQfzEuTLvWrPPzm4KYr4ZiR+EJDGh8tlllTS/8nqTFWUA6NJ5AyxfGKdHXHYiTqT0qAJfmvY7RzRRoGK6owdH3Wwte4TwdLnlMdIGnolhkrVZRrwqi9n+CgcANs3HgcfK+F5CtYuY5ekgc06ASgCuJwZ7e1/X7VP1R3f86Un9IbhK5JxroXkE9cIahlZzqFQvB2rYSLOyTqZopW7Q8MMUUw4iBzkT3WmEpmjuJgsFIqwzG+fhUJPpcyTKT58EOgh0MaZuEgEaVz9+bWxgdH1f6ConCRvbj3eKWWJfa2o+rsFd4dDfhSnWLkm6VLnkAKc8iPesBGdw48jZ3Jj6u98/avhpV1zJSocN4C7ATw0Vq2no=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(39860400002)(396003)(376002)(136003)(366004)(451199015)(2616005)(66556008)(6486002)(66946007)(316002)(66476007)(8676002)(4326008)(2906002)(186003)(38100700002)(36756003)(41300700001)(5660300002)(110136005)(8936002)(31686004)(26005)(31696002)(86362001)(478600001)(6512007)(6506007)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M3hReGVkN0hlTFY5V0hvK1I3SGNEbWJ5UzdNbWdwVEh1QlBkWDBoQ1NQaHRF?=
 =?utf-8?B?ZkFGTW1SNjE0WlpOaVd3OS9lYTBjWGR6d0doU1RuZUpvcW5SWmh4M0VxSHZX?=
 =?utf-8?B?cmRZYjNEVjFHSzNrdjFrV0RINUFYL0x3dEJGSEl2eExKd2svODhPRk5WeXZh?=
 =?utf-8?B?V2xlQVNQMStib3RRdlRPUzdvekdWN2lERzRUK1J3RTA3WjZWOHAzUUVmQlVx?=
 =?utf-8?B?VTlOYlk3cjgrbmtMN2dwdG0rd0ZTU05lMDFLK2I2dHBvZTJIN1R2RzJyU3Nt?=
 =?utf-8?B?MFNJekVRdEthQzJNaEx4TG5LNzJvaFFiSUVlcjk0MU96RHN6NnZlT0hJZVdy?=
 =?utf-8?B?UEU1Yk9CbENKZ0tDM01aMEdSUjNTVlRIRTBDSWxCcWJINXA5V1ZVMEp1cTQw?=
 =?utf-8?B?OEk0TlhxMHdsTWRyMnE3L3dma3E0NjA4Qm1VM2gyTUl1RmRmcHVCRE5paEpU?=
 =?utf-8?B?T0k1UEt1eHlvbXZvTitmc2xBL0dqeTRicURNb1I1THlJUHpjbXNETmhYUkY5?=
 =?utf-8?B?VGdDai9scDlpZmE4eDJzSVgrWWxETjhCcmZyaTY3c3RpUEJlb0xtdVpzOGtQ?=
 =?utf-8?B?NkxtZmd6R1A4WG9JRDJ2VkFnN1Q1VlJNNXNad1F4ZEpSWWVSbXlSYy9yOVBH?=
 =?utf-8?B?M0g2LzFoNGgybjM2U2JBT2R6QTQ5SThPWU9GYUExWXNUK2cvcHhiaWk2UU4w?=
 =?utf-8?B?eHJXbEVNcmRxb3pHcngydHRxZ2tvVCtCdmJpTkEvRERUME9BQ08rTEo4dExP?=
 =?utf-8?B?bzVSbEROMUQvMXhxT1UxZUdhWXZGaHRkY2orbTJIMXlsMDFidWNVaUV3NVZZ?=
 =?utf-8?B?RU45Ukg5WkVwdTJCRlBrYlIyTEYvV1FpcTBOdWlRQ051UmFyYm5jN2lqWmFG?=
 =?utf-8?B?OFJZb1dEb3BXR2VUQWN6ZHVqTWtpV2RiTndpQmY0NVdhY21ncjd0Nno5dXlV?=
 =?utf-8?B?bGU5d2J1VmJwM1l4SU5FNGhkQVFNYWdHc0NhOFZwTHlOalRrMzIvODZtVzhj?=
 =?utf-8?B?elAxZEVXSG8zNDZFbUVPWGhNNE5tZHc2Q3NreU1DNU5PV2VGSW9SSUxUVDZi?=
 =?utf-8?B?MzR5Mkd1ZVp4ZFVXc2FUdkppN2JQajg2ZGNzWjB0d3Zua3hsbG9jRGd3RW5W?=
 =?utf-8?B?Q21POXdsZ0w5bkZVVDBXaFNzb0xyWXhGemxsQ21LVEJlLzZ2Rk4rQVQ0Ny9E?=
 =?utf-8?B?U282R1NhRUhScXlDaitqSEJUcHlFNlNkbFFqTC8yWldaVnlNaFFlSVBua0ly?=
 =?utf-8?B?TklzS2w1NThQVUFjVll1bUpTSU0rNFR0UEMzU01DK3doRGV5OGNDRzlIZVRl?=
 =?utf-8?B?NHovWUlUTS9Vb0VYNE92Ry9jYkZsSUZIY2l1QzJzeGIyS2tod3QyREtUd21D?=
 =?utf-8?B?QmJvcGIwdlFxZTlQTTZXZ3hEQWkvNmJZRnp6dXFIT3FsV1hrOGx3VUNacnQw?=
 =?utf-8?B?MFRIeUtsUWYvY04vSCtEek1uakhmTVJLaUhYOHlHMyt5TjRsYkZLVElhQXhS?=
 =?utf-8?B?VnZJR3BRQ2Z3SGtycVpWWVZmMnFsclE3Zm1UTGM5eG9SUVpYbWxvUDcvRnBU?=
 =?utf-8?B?bTFycGZYOUNVL3RiSWFlUDVjbHlFQWZZZUFqWXZSSUtYZTR1b0h5MWdSYURW?=
 =?utf-8?B?aEUwMUhjWjhUYXFMang4MnpEYXljWUF6UEN2SGt6aDRkbm9hRHlkYzlYV2Yy?=
 =?utf-8?B?aENPajdqdkU2b2NONTV1NUlUT1NGNENnLzJYVEdDZDRyZnk4UmRzV1NjSE1V?=
 =?utf-8?B?WTl3Q1VldFpjRWJFVUJBbjd0anE3Q0pxNmxnRFpOMnFzMk1pS2lEbFVPWDZE?=
 =?utf-8?B?VEVuVWtrVEV3ZzFwUUhPdC9ZTThXTFoxQWQzQjl4SS95T25qektCdXhHUCs2?=
 =?utf-8?B?cFJRMlV5OEtsVjVURHNrUlUvQWJQejJ6UlJybEZJWGJYRDV5Smhac1Fnekxn?=
 =?utf-8?B?eks1eFBGdlBYMWRjYXB1dkppME56QWl2OSt0YllzYTErMm41dnNwQmxQNitl?=
 =?utf-8?B?UW1nS0M3Ym5jRDVoQTlPZU4wdncwbk5pT1ZjZmVrUU1jNEF3OFkrYmI5TVQ3?=
 =?utf-8?B?SHZ1SFJvdGMrM1VNck40bXRGNkMxcC9vaDg2RFNWdkF0dGZOcjRWSkUzZzNq?=
 =?utf-8?Q?JjdYpTUroUhFDLl+uh66U9U3Y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 002a5297-b571-4166-faaa-08dad44ac4cb
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 09:51:22.1967
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0lcFrUfDIJM/y/AUaiXHBJgYECiX4E1dw6zn32pzmLIZYKLMEjPLV6FTIIcxTSCu0yB/+j5gZAKvG3zYHA5WIw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7616

On 02.12.2022 10:30, Ayan Kumar Halder wrote:
> Hi Jan,
> 
> On 02/12/2022 08:31, Jan Beulich wrote:
>> On 01.12.2022 19:11, Ayan Kumar Halder wrote:
>>> Machine frame number (mfn) is used to represent the hardware page address.
>>> This is an unsigned long variable. We need to check if it can hold the complete
>>> range of hardware page addresses. To ensure this we check that the count of bits
>>> represented by 'unsigned long' added to the bit index of page size, should be
>>> less than the count of bits required to represent the maximum physical address.
>> I'm afraid I can't connect the description with ...
>>
>>> --- a/xen/common/page_alloc.c
>>> +++ b/xen/common/page_alloc.c
>>> @@ -2245,7 +2245,7 @@ void __init xenheap_max_mfn(unsigned long mfn)
>>>   {
>>>       ASSERT(!first_node_initialised);
>>>       ASSERT(!xenheap_bits);
>>> -    BUILD_BUG_ON(PADDR_BITS >= BITS_PER_LONG);
>>> +    BUILD_BUG_ON((PADDR_BITS - PAGE_SHIFT) >= BITS_PER_LONG);
>> ... the actual change made. Julien, when replying to v1, already gave
>> a clear hint what is relevant: The use of (xenheap_bits - PAGE_SHIFT)
>> in right hand operands of shift operators. As relevant is of course
>> the absence of uses directly as shift counts, which otherwise could
>> still be UB (and which iirc is why the adjustment by PAGE_SHIFT was
>> left out in the original check).
> 
> I could see the following uses of xenheap_bits in page_alloc.c
> 
> 1. init_node_heap()
> 
>                (!xenheap_bits ||
>                 !((mfn + nr - 1) >> (xenheap_bits - PAGE_SHIFT))) )
> 
>                 (!xenheap_bits ||
>                 !((mfn + needed - 1) >> (xenheap_bits - PAGE_SHIFT))) )
> 
> 2. In alloc_xenheap_pages()
> 
>      if ( xenheap_bits && (memflags >> _MEMF_bits) > xenheap_bits )
>          memflags &= ~MEMF_bits(~0U);
>      if ( !(memflags >> _MEMF_bits) )
>          memflags |= MEMF_bits(xenheap_bits);
> 
>  From what I see, whenever "xenheap_bits" is used as a right hand 
> operand of shift operator, it is always used as "(xenheap_bits - 
> PAGE_SHIFT)".
> 
> So, is it correct to say this :-
> 
> Ensure (xenheap_bits - PAGE_SHIFT) can be used as a rhs operand of a 
> shift operator
> 
> We want to ensure that "xenheap_bits - PAGE_SHIFT" is strictly less than 
> the number of bits to represent unsigned long as it is used a rhs 
> operand to shift mfn.

Yes. Plus, as said, it is also important to note that the value is never
used to shift an address (rather than a frame number), and going forward
then also shouldn't be (perhaps unless further precautions are taken).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 09:53:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 09:53:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451758.709525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12jt-0001HQ-8x; Fri, 02 Dec 2022 09:53:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451758.709525; Fri, 02 Dec 2022 09:53:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12jt-0001HJ-5B; Fri, 02 Dec 2022 09:53:49 +0000
Received: by outflank-mailman (input) for mailman id 451758;
 Fri, 02 Dec 2022 09:53:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p12jr-0001HD-RT
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 09:53:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p12jo-0006W1-3G; Fri, 02 Dec 2022 09:53:44 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p12jn-0001QU-T0; Fri, 02 Dec 2022 09:53:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=1N+kd9SOJWC8ZGNBOYwaGBvTv+xiwpis+8gpeicTk+4=; b=uVS8/8gD6r3mZ0stGA9b5DZnD/
	z7U4mIbPp3MFjsrLDVYJDRTSCbjqpUNIvPafEgMfGMsOcKXB4oCJR8DuHz6DOeeIPdz1sPFM5s2Xv
	pJZWmOTefC7EnlQbisWRMtnFITiv1aStN43TSdt6FYXdNsjxk2+3OSMPIoJWAzWFbX78=;
Message-ID: <a534bc75-7877-cf02-6493-777dc064e42b@xen.org>
Date: Fri, 2 Dec 2022 09:53:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH v1 10/12] hw/arm: introduce xenpv machine
Content-Language: en-US
To: "Garhwal, Vikram" <vikram.garhwal@amd.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: "Stabellini, Stefano" <stefano.stabellini@amd.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
References: <20221015050750.4185-1-vikram.garhwal@amd.com>
 <20221015050750.4185-11-vikram.garhwal@amd.com>
 <3e504b1b-197d-b77b-16e1-86530eb3d64c@xen.org>
 <MW3PR12MB44096CC3AD5CD01D6043B0E79F159@MW3PR12MB4409.namprd12.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <MW3PR12MB44096CC3AD5CD01D6043B0E79F159@MW3PR12MB4409.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 02/12/2022 03:24, Garhwal, Vikram wrote:
> Hi Julien,

Hi Vikram,

I am having trouble to differentiate your answers from my remark. For 
instance...


> From: Julien Grall <julien@xen.org>
> Date: Sunday, October 16, 2022 at 10:48 AM
> To: Garhwal, Vikram <vikram.garhwal@amd.com>, qemu-devel@nongnu.org <qemu-devel@nongnu.org>
> Cc: Stabellini, Stefano <stefano.stabellini@amd.com>, Peter Maydell <peter.maydell@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, open list:ARM TCG CPUs <qemu-arm@nongnu.org>, open list:X86 Xen CPUs <xen-devel@lists.xenproject.org>
> Subject: Re: [PATCH v1 10/12] hw/arm: introduce xenpv machine
> Hi,
> 
> There seem to be some missing patches on xen-devel (including the cover
> letter). Is that expected?
> Not sure what went wrong there. I can see all of these on QEMU-devel. Perhaps xen-devel is not in maintainer’s list for all the xen files?
> 
> 
> On 15/10/2022 06:07, Vikram Garhwal wrote:
>> Add a new machine xenpv which creates a IOREQ server to register/connect with
>> Xen Hypervisor.
> 
> I don't like the name 'xenpv' because it doesn't convey the fact that
> some of the HW may be emulated rather than para-virtualized. In fact one
> may only want to use for emulating devices.
> 
> Potential name would be 'xen-arm' or re-using 'virt' but with
> 'accel=xen' to select a Xen layout.
> 
>>
>> Xen IOREQ connection expect the TARGET_PAGE_SIZE to 4096, and the xenpv machine
>> on ARM will have no CPU definitions. We need to define TARGET_PAGE_SIZE
>> appropriately ourselves.
>>
>> Optional: When CONFIG_TPM is enabled, it also creates a tpm-tis-device, adds a
>> TPM emulator and connects to swtpm running on host machine via chardev socket
>> and support TPM functionalities for a guest domain.
>>
>> Extra command line for aarch64 xenpv QEMU to connect to swtpm:
>>       -chardev socket,id=chrtpm,path=/tmp/myvtpm2/swtpm-sock \
>>       -tpmdev emulator,id=tpm0,chardev=chrtpm \
>>
>> swtpm implements a TPM software emulator(TPM 1.2 & TPM 2) built on libtpms and
>> provides access to TPM functionality over socket, chardev and CUSE interface.
>> Github repo: https://github.com/stefanberger/swtpm
>> Example for starting swtpm on host machine:
>>       mkdir /tmp/vtpm2
>>       swtpm socket --tpmstate dir=/tmp/vtpm2 \
>>       --ctrl type=unixio,path=/tmp/vtpm2/swtpm-sock &
> 
> I see patches for QEMU but not Xen. How can this be tested with existing
> Xen? Will libxl ever create QEMU?
> Will send the patch for libxl Xen separately.

... the first two lines are my remarks and the 3rd is your answer. Can 
you configure your e-mail client to do proper quoting?

[...]

>> +    dev = qdev_new(TYPE_TPM_TIS_SYSBUS);
>> +    object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp);
>> +    object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp);
>> +    busdev = SYS_BUS_DEVICE(dev);
>> +    sysbus_realize_and_unref(busdev, &error_fatal);
>> +    sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE);
> 
> I can't find where GUEST_TPM_BASE is defined. But then the guest memory
> layout is not expected to be stable. With your current approach, it
> means QEMU would need to be rebuilt for every Xen version. Is it what we
> want?
> I cannot think of better way to do this. Either we add the the def here or rebuild it if GUEST_TPM_BASE changes for each xen version.

The alternative would be to specify the address on the QEMU command 
line. The advantage is you could build a system where each guests have 
different layout.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 10:03:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 10:03:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451768.709535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12sl-0003GR-66; Fri, 02 Dec 2022 10:02:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451768.709535; Fri, 02 Dec 2022 10:02:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p12sl-0003GK-3T; Fri, 02 Dec 2022 10:02:59 +0000
Received: by outflank-mailman (input) for mailman id 451768;
 Fri, 02 Dec 2022 10:02:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xeCl=4A=citrix.com=prvs=328e240bc=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p12gX-0006fl-Qp
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 09:50:22 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b90525d8-7226-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 10:50:19 +0100 (CET)
Received: from mail-bn7nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 04:50:10 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6705.namprd03.prod.outlook.com (2603:10b6:510:110::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.15; Fri, 2 Dec
 2022 09:50:05 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 09:50:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b90525d8-7226-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669974619;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=gmoko/xDikgFPA4hfDSg4hjKNrTWkOYMzC4A0MqCVyY=;
  b=HEsxQgBgJNi8zTURxtD8KpZUIqAoaZpgk4SGTXCVOAKUae5l+AIRa8Ub
   PcvxGRBYwyEWV0Xbu54U15iZeDfKmBRLrnfOfESwrX4CytSBmcXBw2LsO
   Zagcr2f9oDX/ArFO2nbNxvUUCPkEFD47KeQo14lSTFcJjZxYN1CYYRIWg
   Q=;
X-IronPort-RemoteIP: 104.47.70.109
X-IronPort-MID: 88757106
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:M7s2Ya4uvLZKWMI011qDTgxRtPLGchMFZxGqfqrLsTDasY5as4F+v
 jBKDWuCO62KYWL1cox1bYW3oxgOupTcm9FiSws5/i0zHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoT5geH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m3
 PU+GD09awK52M2JxLWae7BAnvQSFZy+VG8fkikIITDxK98DGMiGaYOVoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6MlEooiOmF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNJCS+Dnr6Y06LGV7jdDExwXd1qrmOOGzU26WYJbc
 kEQxDV7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq19KqQrD60ETgYKykFfyBsZRAe/9DprYU3jxTOZtVuCqi4ipvyAz6Y6
 y+OhDgzgfMUl8Fj6kmg1VXOgjbprJ6WSAcwv13TRjj8tlI/Y5O5bYu171Sd9exHMIuSUliGu
 j4DhtSa6+cNS5qKkURhXdkwIV1g3N7dWBW0vLKlN8NJG+iFk5J7Qb1t3Q==
IronPort-HdrOrdr: A9a23:xkk2VK0xVgw2OB5Ra9uDegqjBZxxeYIsimQD101hICG9Lfb0qy
 n+pp4mPEHP4wr5AEtQ4uxpOMG7MBDhHQYc2/hcAV7QZnidhILOFvAs0WKC+UysJ8SazIJgPM
 hbAs9D4bHLbGSSyPyKmDVQcOxQjuVvkprY49s2pk0FJW4FV0gj1XYBNu/xKDwVeOAyP+tcKH
 Pq3Lsjm9PPQxQqR/X+IkNAc/nIptXNmp6jSRkaByQ/4A3LoSK05KX8Gx242A5bdz9U278t/U
 XMjgS8v8yYwrGG4y6Z81WWw4VdmdPnxNcGLMuQivINIjGpphe0aJ9nU7iiuilwhO208l4lnP
 TFvh9lFcVu7HH6eH2zvHLWqkjd+Qdrz0Wn5U6TgHPlr8C8bik9EdB9iYVQdQacw1Y8vflnuZ
 g7nV6xht5yN1ftjS7979/HW1VBjUyvu0cvluYVkjh2TZYeUrlMtoYSlXklVavoXRiKrLzPIt
 MeSv0018wmKG9yqEqp5lWH9ebcGUjb2C32GXTq9PbliQS+10oJsnfwjPZv4kvosqhNCKWsrt
 60TJiB3tt1P7ArRLM4C+EbTcStDGvRBRrKLWKJOFziULoKInTXtvfMkf0IDU6RCe41JbYJ6e
 L8uWljxCcPUlOrDdfL0IxA8xjLTmn4VTPxyttG75w8vrHnXrLkPSCKVVhryqKb0r8iK9yeX+
 z2NINdAvflI2erEYFV3xfmU50XLXUFSsUattsyRlrLqMPWLY/hsPDdbZ/oVfHQOCdhXnm6Dm
 oIXTD1KskF5ke3WmXgiByUQH/pclyXx+MGLEEbxZlm9GEgDPw+juFOsyXJ2iiiE0wzjoUmOE
 1jPbjgjqS34WGr4Geg1RQdBiZg
X-IronPort-AV: E=Sophos;i="5.96,210,1665460800"; 
   d="scan'208";a="88757106"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AknxM3Mx7/qFDm7pNOMYhuQSanlOhLA8aM6UsjP2eiUK/lFi6VVPiCI5TFPjCAmiT1rIjbjq0UJqGzRfIuEZ6cCcWbnBFQq1aePb/jwBIo+nCniv5dyaWvVi/Zwt1u/E52VoaDA7WUVI9Lx2mLhKSuUAONWo48mMiJrNeTZ4Rf1p7y0fAaAx7BFT8cdhUgWEmjh4U+1eACirE9j5niT1D22nfhcYDn92V3bnKv9Fs1Wyr9dcJtJnq9WXzN0XTgo8eSIXh1c1GBNiSD6oty7anXUKEC3WYEmFvN0psOHYuU7iVW9zU7KrDAXnHrw329a+6liBVfznDEMdzlQwEnlBew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gmoko/xDikgFPA4hfDSg4hjKNrTWkOYMzC4A0MqCVyY=;
 b=ZzXHX28cB999isii9EqDzZkhJyCDm6uAOzYgDNmAljvgkioiJstpDuQmQKH2471jxhbd9c63WNSjRB65FLsp4k7BnTbkSNNNd3C105ZqaKufwWdFRshzVXI8IPBb77YBobx3MxlAovSns8S+uJ5yTWt+mNVB4qFVU1t4qnG2fwLFMTcmxibFU2IKXOM6zBgctUBLw9//lTxxowHavl50EjkKc8Aqe6RpvCZQaTfsMdcUx1bzljWa5gCk46eYmU+0r/c4ViAEKTjZZsphZ3vPJ2vaCnc40jN/abgMdrOcz0gup63MZp325x68iWKTUYLoBu6B16bYth0Z4qT5xtLSsA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gmoko/xDikgFPA4hfDSg4hjKNrTWkOYMzC4A0MqCVyY=;
 b=JT7yF62KEjtj887ZzyLP5QcF3A/5isZXacnAzBCNMGFQkjC2+5HVGLleRueBhPgYw/pc5PE1mFBwk4fMU3xMKCTXVwF/9kAEqw0NSTLFDQwIISuQsHR/e3D+NXnwEGV3UpJ8nDDAlPxQE9AokuRzoyJER1xbmIJGROzwqi6YBhY=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2] gnttab: don't silently truncate GFNs in compat
 setup-table handling
Thread-Topic: [PATCH v2] gnttab: don't silently truncate GFNs in compat
 setup-table handling
Thread-Index: AQHZBjMFItpTUo5OfEy63HLCU7um965aWoCA
Date: Fri, 2 Dec 2022 09:50:04 +0000
Message-ID: <9c644cb9-43a0-b3f8-ed4a-ac91ff371d84@citrix.com>
References: <9d796752-8f8e-dc64-9803-a33e31a3f7d4@suse.com>
In-Reply-To: <9d796752-8f8e-dc64-9803-a33e31a3f7d4@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|PH0PR03MB6705:EE_
x-ms-office365-filtering-correlation-id: 7b21339c-88d6-4e19-a611-08dad44a9698
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 3rjYdOAMp+BJAdub6zaZDkFBWc+L+zbjxywrnnkn7VrJUFySS0crtNTFNFaC/6VMBUC3LW+wfGRrITeUubgh3T/w9TITRnc5oXey/8zFiM/L6+HhTxiwTPdjKZqTpSW0KRz1z5UnfduZS9S8/tm+OBf6XSVm8p5V/RvP2zTrxFcDNr+idJaD4CJyn3+NaSQ2wnTrow6PFWrD4FonFU5cF2WOD0afpDu9tR9FPNFdDWVtOIWPh+jcJPrand+qcCSh37Kqo0qV2XA3yn48pUv7qiRP2HXuawuJsbAfgjZP5OCQY4d8na/X1s6p8GTBO+p1P9+64metkQI3bax7+Nj/Q42JGRwY3D5VOc0rjc9kOl54u8nujaocwAj5IA+E9hJbwpEf3opCERaW1pC5F5VqAN+OZEeKJlpfR6Caq4OLR07wF0/dmQDuJn9vm11xLlvFBtbeediRV7WsORI2KpH5o+UjofFaZtPt0091XsXBMgLx5LHkPd25SR9DiQhfOmszMPL7+ZmOerF9XRK1tvuVfjQpFTKzo5xegEHgYoj5JkxhZ24IK0QuvQq/9QNdRkbmrSZE8cVi6IxdHuUnibScStYTwenqDSuSkBuoekaqG5+Yea/sR4E6uMOKn1XgjPYova5C1Z5xSDi0Jr425GfxVbUotpWUPVHljUrNmOL9L9uoDSA9urOL2VYhdsQwo8erNJsHOFjQbbwLjG+OXFqaGYFgRCvw3nzvKv+Xw0AY4eC9yUzforua5J0ATVbK6tt0dGZc2s2e4uuytm6Y7KNFWw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(346002)(376002)(39860400002)(136003)(396003)(451199015)(6486002)(66476007)(8936002)(4326008)(41300700001)(66946007)(8676002)(66556008)(66446008)(76116006)(64756008)(91956017)(36756003)(54906003)(110136005)(31696002)(316002)(5660300002)(478600001)(86362001)(82960400001)(122000001)(53546011)(71200400001)(26005)(6506007)(6512007)(186003)(2616005)(31686004)(38100700002)(2906002)(4744005)(38070700005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZDdxc0lFM0ZJMzRycUtXQXhJS29QMHlsWHhxOEhwbzU1TEkvNm8wZUNlU0VX?=
 =?utf-8?B?THNtNGNIVG1zeE1zYzRJZnpvbTVxbXhTNDZURWxxeHJBdkJtNGNlTHprdW90?=
 =?utf-8?B?bitlK2d1N1o0TlI0VE00eDU1SzlrZWh1bGE5eGtuVFpqWml1M2J5NmNFeXhU?=
 =?utf-8?B?UXoyZmFjTjdCYXdxWENQd3NRakxiVUh4ZWNQWk8zSWpvUnR3WllEQUN6Y3NN?=
 =?utf-8?B?Z0l5WC8wR2hsWmNTckQzNHdLK3NSRzZUR3RwRjBBc0hoa2lpbnliTzZBRm1X?=
 =?utf-8?B?VHgyWk9rM0R5UEMxajNrdjZLQjRiQTZVRk91MlkrSE5hdUdPT3hSc2tjTjNL?=
 =?utf-8?B?N1M2Z05ZSjFRMkVPcHZUNEF2MzFQOVowMnJuekdtTXEyMWc3NmFhcUJUMkJh?=
 =?utf-8?B?aWJ5cXFxUXJvZ3dSZC8xeXZxTzZ3SCtEMWIrcnFzcWR3VU8xN1p5TlQ4Lzk5?=
 =?utf-8?B?Vkl4UGtGZVVZVWF3OWhZbDJMajNGdHdPWkkycmVOYVlaeHVGRjhQR3ErU1Za?=
 =?utf-8?B?Q3pyQmdYSjR2bHBaMzhoUWp5UkREOXJlOU9GbmlOVlhNVWlLNGJBYUJraXhm?=
 =?utf-8?B?ZHJHaXBBK2RMSmRaNjQzb2tEUUhQQTZzaGNicHp6cVlrVXR1VWVjME4vVUVv?=
 =?utf-8?B?NTY3UkZpMkRRN3FRK1FSUHk2ZmNsenZJSFRiSGpsaW5xRUZlQ1dENjlFaHI5?=
 =?utf-8?B?dnNzNHhPT2IrNzRiZjlsc2dkQkROR2xSZW9RSUVENUYwbllMWVpyclZDTGdY?=
 =?utf-8?B?Z0I5WXprY0k0MVBwbkkvWjBNTDJZM0ZCUVd2dVZUVHcrZUFnZUpjOXR4NnNZ?=
 =?utf-8?B?cGxMZXIzaGVnenhTdHQrZXVxK0lDMHpIRWg2MW11SWxhcXE4dXl1TC9GSzhI?=
 =?utf-8?B?Q0RlTm9ETjFFRmM3R0w3Tms0MzJHaGpXbUNSNGNjLytaVmVrWkJ6Mmo5QWJB?=
 =?utf-8?B?QUl3bGxmaGNpY3gvVlZGRFV3a2VLZHN4U2dmZmpVajA1T1Ntbk9DbWZkR2V3?=
 =?utf-8?B?eFJvcHF1OFJxZTYzKy92UkMrNEJuZVBoa05Wc0o2VEhISmlubUNTOEVSYzVN?=
 =?utf-8?B?ZkFmdVBZSktsVGkwazExSGNHV3NlaXVBRFNCUHBQL2pFVStMNXptTkY4Q3Ji?=
 =?utf-8?B?eUpYckQrbXhpdVlZVlNtWXNrVmwzZklrZWNvQllLOHlkMUVwdUUycnEwWmdP?=
 =?utf-8?B?ZEo4VFdHdHZOSkxHMXc0azZNMVhpY2JIUnpEVEk4VTV5R2NpQkJpNjN6NGR3?=
 =?utf-8?B?OGdxaXcvMkpSRjErU2dRdzN3YVM3bkp5VnBTclFsc3lubzM3RkNyNHRMMTJS?=
 =?utf-8?B?ZkJESzlSdXNoK0RmYkUyYW5lcHdIYmdaNldTRXZGRWYrYi9TME1LbUEyblZW?=
 =?utf-8?B?WmZIcTVFRk5Da0I2WDh2WTlRSWNXaWsyOGlLcjBubEVBTmJZcFZtM2tQNkdq?=
 =?utf-8?B?ZnJZdnhSM0E2T3hGQkplaDFycU9YM3kvbTNGdmoyVHNGV1hCYmcxeWx3eU9u?=
 =?utf-8?B?T2pVTTdSMnpCU2xwNXlGcTZVOHdJejJoWGZML1h2L1plUjRXNXV5dzhkR3hi?=
 =?utf-8?B?cnBTclJPcUUxanJRV0FCdmowWlM3MWllcUl2RVYrOHBua1lOTFdjOEphV0p6?=
 =?utf-8?B?MXBoM0VwRDh4NzlBTHhsRkhkd1VmZGg5NnpacDlOK3FhK2ZZdUtQSktrVGRm?=
 =?utf-8?B?eGdoSjFCNmNodnNhakNoeUxtQk5SbFJPQXNoSXZsMjFDSVgyWlI1K2ZIVjJq?=
 =?utf-8?B?SHRpRGF2WDMvZms2ZjRhd1I3ZjNleW8xcFMyNmZxVm1MSVJBbG91WXFicnVV?=
 =?utf-8?B?YlRvL1pHY0hIa3NZMmtJVnhFWWhpYjNzeUlFWGlXRUNKYkxGaEtMV3Y5UGlQ?=
 =?utf-8?B?YlpKektQUzQrSXRxNXF6RkNDczFoUElHbFpSTUlpcys3UVp6VHAwM3BHV244?=
 =?utf-8?B?T0p0MWVBTk14UFBYNXlvZi83ZW5MU1YrdGw2UExaWjJkVUEwUmZsY0tJbGlJ?=
 =?utf-8?B?ZHdyUlR5QjBxRzJ6enVaVXVHWG5FcmxRTVd4STNDckt1N2V5UDRYN1A0L2p1?=
 =?utf-8?B?YWdpalh2Z2prYVU0VWFjeWxGSGt2UDRFZXBJb0dCQTBCb04zOFVoNTVDbWE4?=
 =?utf-8?Q?GDneQC52NJJHPPv1ovzELRavi?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <DDAA018242F1E146A4BEB1B29457AEE5@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	q8c4akR22Kp07cP2jPFgsGFu6XZ+7CHK3OWSYL8bAU9EBp3T/KA8MNLPEO+NYxNNGe+9EaW3KGpPVsUWC01Mo8L4C6tfbpsqi8iBT9otUbxhbCfWjDj5cM78U1sJgOfQN6GymsQPjak155k4ibjMyjkDenTw6LlEhIxbwWNnhbKmiOCKBmQt4eW/ZvuSghGXJeGgtclzg8g24AIsbRmURFutxz8CcxmjUFyiLiUlCXGm/E8D/MtTYyOF+XLZF6EnCJu2YX+0LIn/nbg0W2/Qp+E5kx0M06aCXaMOKSo3/kLHIKDFUB36s3Sz7HzZLiUUNVOXSWp+slv5n1Wgp4FaSPY7pM8sqGojCRcIYJZ3uUTXJoqsQH+uHc6LcS9jCnG1s7/wyufjZ69wxRCrFsZ6MhA0sHbM8MnAVrrxCtEVeN+VeWy0ee80LTKQluRoTKoInPzZ0ysV46LJOUA81I4Fkys1iGzghM2cCGsTCxNiFRodVjSjhTVtdIqE5FhlTHmWtlmtFHzVwxzCOcQiqrnKBvwv3hW2+YvrXrUQ+ikFraL000wFnOvYSjaMjodMk3H7OQjQshNO/MVleoJHg+tWl5v5blbHzaOe3WA0VVhWVYZ2mty1+1qRZ9TlfYfqy03M5nglB/VF8EZ3BXr3qAaKAj1ZpbSldmb966frycTRg1MX50FGr2bZE+pDBusgDYnlpgGI2CsL/adKn5ctPbTg3oEw9wgaP84yakhaLqx/pDDNESiK5u2bULEwX+XBJK1dHl6gmnQ517kuZO4CZnAb8rkTwju8FOlaX+bowyLZ5Tt0R2keFyO7WY+NSBGObvPNaUsoU4UJJq6hKTmQ2IHRH4UQ/lzxhaM0sL/h2RdK1qx9QH3qdtSPHb4nB3oOPp6S
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b21339c-88d6-4e19-a611-08dad44a9698
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 09:50:04.5288
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: yQSz4dVHlXagB4oiFx9ZU73qEdNhjVq7AS0jMqKfFE/oOl2V99o7xPySpgQUqTDqFbDw933JTSaDnebhKd5a03Mgn+UgP1pB/ikgkx4SmYg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6705

T24gMDIvMTIvMjAyMiAwOTo0NiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFJldHVybmluZyBiYWNr
IHRydW5jYXRlZCBmcmFtZSBudW1iZXJzIGlzIHVuaGVscGZ1bDogUXVpdGUgbGlrZWx5DQo+IHRo
ZXkncmUgbm90IG93bmVkIGJ5IHRoZSBkb21haW4gKGlmIGl0J3MgUFYpLCBvciB3ZSBtYXkgbWlz
Z3VpZGUgdGhlDQo+IGd1ZXN0IGludG8gd3JpdGluZyBncmFudCBlbnRyaWVzIGludG8gYSBwYWdl
IHRoYXQgaXQgYWN0dWFsbHkgdXNlcyBmb3INCj4gb3RoZXIgcHVycG9zZXMuDQo+DQo+IFNpZ25l
ZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6
IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo=


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 10:38:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 10:38:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451781.709547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13RB-0000HP-Sg; Fri, 02 Dec 2022 10:38:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451781.709547; Fri, 02 Dec 2022 10:38:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13RB-0000HI-Pw; Fri, 02 Dec 2022 10:38:33 +0000
Received: by outflank-mailman (input) for mailman id 451781;
 Fri, 02 Dec 2022 10:38:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6g/C=4A=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1p13RA-0000HC-Nf
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 10:38:33 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 721bff61-722d-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 11:38:23 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id bx10so7229261wrb.0
 for <xen-devel@lists.xenproject.org>; Fri, 02 Dec 2022 02:38:30 -0800 (PST)
Received: from [192.168.30.216] ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id
 h17-20020a05600c315100b003cfd64b6be1sm16259832wmo.27.2022.12.02.02.38.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 02 Dec 2022 02:38:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 721bff61-722d-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:in-reply-to:references:cc:to:from
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=RY4sGq6ms1+IlvCLmkZ3BI4/p6p+Ce/MbN+cfQweZ90=;
        b=pS7z7pezHrvyn5/JviuMr0kL2oOS52dkR+Wrc7O5IcpqzPyPUZ2MyuDNHDkTE1xMyh
         U9rS6SXngowOBNAzwyiOVfb0b0r6ZVAVCv74c4Bq9jH6JUlo2hB0t4FCfWlUZFrrvFZT
         NkEP/anpN433kaXL1xyZFdXDHJkFzjg53GGumb+otB1QDYZyElWDUap0eBzbhlVeIxEq
         1Wj539iyBkBRTaocfqYX9g3UJTbz1eOyco+2/lFxyUPLZzEuLwE0DFbxnaPjiiRNKKZ2
         bU0KG9fbwldlHieMr2TzRqiD1dODRuryW04UoaC56HuGGGkSyyLC8saWcBOjrKsqzMu7
         ddUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:references:cc:to:from
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=RY4sGq6ms1+IlvCLmkZ3BI4/p6p+Ce/MbN+cfQweZ90=;
        b=HzlwP5M9Vd5HI2EakuYLIQ0QVI4mn3vH1y2Vij3iDogZzrlqH+YjwKPK8LeXIkjDTd
         PZlf+xfSYd4i/77Gn6M09IlYiFUqW/26huicYvcebDN3lS55d/1+7h0tsc2ETt51VL2r
         8zYSqvbIb/9js5wcoABx1hIgnYKY8ZUPFUIVp3+q0rn1TnIV2c3Tsr5jJy6U/7Ld+v5i
         Ct21xFVZ7i9Gv1+FTXvqMqR7EPic1SQXFgaSAgqqM3mNFrzsIwbtQ/YA7DJqEdskUf+1
         Y5zaz3I6QkDfZxN1cJpWP94/TfMwD0fcm7+b0pmnnPz2Jbp/wo4TlvsN2P5H4w7mTyix
         MzPg==
X-Gm-Message-State: ANoB5pkQDl6eeVf3z2361YmJWEsw87Hnr4hr/fW/ftRb9a7zNt4GtT7T
	1/5DlQL7OoM6uPLAzvVjljj0ig==
X-Google-Smtp-Source: AA0mqf7eWXPIAFKiqlfqPTpidg+6qjtk2JWxrrXDDZf2ZR7bVc3fGCL1p2h2E5ovVnhsiqZXZ1QPOw==
X-Received: by 2002:adf:fb4c:0:b0:236:5270:735e with SMTP id c12-20020adffb4c000000b002365270735emr32213783wrs.659.1669977509372;
        Fri, 02 Dec 2022 02:38:29 -0800 (PST)
Message-ID: <4b143736-d5a4-ac75-3671-9566a00707af@linaro.org>
Date: Fri, 2 Dec 2022 11:38:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [QEMU][PATCH v2 05/11] include/hw/xen/xen_common: return error
 from xen_create_ioreq_server
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
To: Vikram Garhwal <vikram.garhwal@amd.com>, qemu-dev@xilinx.com,
 Paolo Bonzini <pbonzini@redhat.com>
Cc: stefano.stabellini@amd.com, alex.bennee@linaro.org,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:All patches CC here" <qemu-devel@nongnu.org>,
 =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>,
 Thomas Huth <thuth@redhat.com>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
 <20221202030003.11441-6-vikram.garhwal@amd.com>
 <a45c902a-043d-5256-7961-40c8aabd89b4@linaro.org>
In-Reply-To: <a45c902a-043d-5256-7961-40c8aabd89b4@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 2/12/22 08:19, Philippe Mathieu-Daudé wrote:
> Hi Stefano and Vikram,
> 
> On 2/12/22 03:59, Vikram Garhwal wrote:
>> From: Stefano Stabellini <stefano.stabellini@amd.com>
>>
>> This is done to prepare for enabling xenpv support for ARM architecture.
>> On ARM it is possible to have a functioning xenpv machine with only the
>> PV backends and no IOREQ server. If the IOREQ server creation fails,
>> continue to the PV backends initialization.
>>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
>> ---
>>   include/hw/xen/xen_common.h | 13 ++++++++-----
>>   1 file changed, 8 insertions(+), 5 deletions(-)
>>
>> diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
>> index 77ce17d8a4..6510ac15e0 100644
>> --- a/include/hw/xen/xen_common.h
>> +++ b/include/hw/xen/xen_common.h
>> @@ -467,9 +467,10 @@ static inline void xen_unmap_pcidev(domid_t dom,
>>   {
>>   }
>> -static inline void xen_create_ioreq_server(domid_t dom,
>> -                                           ioservid_t *ioservid)
> 
> How long are we supposed to maintain this code? Per [*]:
> 
>    In general XenProject.org supports stable branches for 18 months full
>    support plus 18 months security fixes. When a new X.Y.0 release is
>    made there is usually one more release on the to-be-retired stable
>    branch to mop up any loose patches sitting in the repository at which
>    point the branch is retired.
> 
> 4.17 was just released. 4.5 was 7 years ago. IIUC EOL'ed 4 years ago.
> 
> [*] 
> https://wiki.xenproject.org/wiki/Xen_Project_Maintenance_Releases#Stable_Maintenance_Branches

+Paolo for commit 14efd8d3b5 ("meson, configure: move Xen detection to 
meson"):

     xen_libs = {
       '4.11.0': [ 'xenstore', 'xenctrl', 'xendevicemodel', 
'xenforeignmemory', 'xengnttab', 'xenevtchn', 'xentoolcore' ],
       '4.10.0': [ 'xenstore', 'xenctrl', 'xendevicemodel', 
'xenforeignmemory', 'xengnttab', 'xenevtchn', 'xentoolcore' ],
       '4.9.0': [ 'xenstore', 'xenctrl', 'xendevicemodel', 
'xenforeignmemory', 'xengnttab', 'xenevtchn' ],
       '4.8.0': [ 'xenstore', 'xenctrl', 'xenforeignmemory', 
'xengnttab', 'xenevtchn' ],
       '4.7.1': [ 'xenstore', 'xenctrl', 'xenforeignmemory', 
'xengnttab', 'xenevtchn' ],
       '4.6.0': [ 'xenstore', 'xenctrl' ],
       '4.5.0': [ 'xenstore', 'xenctrl' ],
       '4.2.0': [ 'xenstore', 'xenctrl' ],
     }

According to repology for the 'xen' package:

    FreeBSD (ports):    4.16
    Debian 11:          4.14.5
    Fedora 35:          4.16.2
    Ubuntu 20.04:       4.11.3
    OpenSUSE Leap 15.3: 4.14.1
    RHEL 8:             ?



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 10:56:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 10:56:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451789.709558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13in-0003ri-CE; Fri, 02 Dec 2022 10:56:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451789.709558; Fri, 02 Dec 2022 10:56:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13in-0003rb-9F; Fri, 02 Dec 2022 10:56:45 +0000
Received: by outflank-mailman (input) for mailman id 451789;
 Fri, 02 Dec 2022 10:56:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3Iy3=4A=citrix.com=prvs=3285f5271=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p13im-0003rQ-47
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 10:56:44 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe414016-722f-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 11:56:41 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe414016-722f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669978601;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=j12JT2NhnRPHOdAwEXBwqEt+xv989H3bF+2XQrMtQK0=;
  b=hqE5KY+D52a/3cRWChv2nBc89+ovoJW0g/RKBqRwIo1FaUz1sw6goW8C
   /1T7z+1mU7FI7yA3rY/crc7+ULTrrMgFM9MyL3LwHCfjvdOz0/ScARKOr
   ldtAF4HzlHtBO8QSc+49I24yPImgFJxrx6qHKMVQBiRSccvMLaNc6IMKL
   A=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 86240587
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:OQWkM6uTJwT9y290L3b1hkl+iOfnVJReMUV32f8akzHdYApBsoF/q
 tZmKT+EPPqINmLxLt10Ptzn8UlXuMfXmtBlGgc9+SAwRSkT+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWGzSFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMweCIWZTWPnOCK5rfqQ8tx1997PeDNM9ZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfAdMYH49tL7Aan3XfjFGqVTTua0t5Gv7xw1tyrn9dtHSf7RmQO0FwBzE/
 j+WoAwVBDkWL+O87TDb7UuzobaRoAK4fLkcOfqno6sCbFq7mTVIVUx+uUGAifWwlEOWQd9UL
 E0QvC00osAa9kamU938VB2Qu2Ofs1gXXN84O/037kSBx7TZ5y6dB3MYVXhRZdo+rsg0SDc2k
 FiTkLvBHidzubeYTXac8La8rj6oPyURa2gYakcsUg8t89Tl5oYpgXrnTMtnEaOzps34H3f32
 T/ikcQlr+xN14hRjfz9pA2ZxWL3znTUcuIrzlXFRWmA4hh7WKigNoWK9AnAtedpConMGzFto
 0M4s8SZ6ekPC7SEmyqMXPgBEdmV2hqVDNHPqQUxRsd8rlxB71bmJNkNu28meC+FJ+5eIVfUj
 FnvVRS9DXO5FF+jdudJbo24EKzGJoCwRI2+Bpg4gjejC6WdlTNrHgk0PSZ8PEi3yiDAdJ3T3
 r/FGftA9V5AVcxaIMOeHo/xK4MDyCEk3n/0Tpvm1Rmh2rf2TCfLF+ZUaQrQN7tntf7sTODpH
 zF3bpvi9vmieLemPnm/HXA7cjjm0kTX9bip8pcKJ4Zv0yJtGX07Cu+5/F/SU9UNokihrc+Rp
 ivVchYBmDLCaYjvdV3ihoZLNOm+Av6SbBsTYUQRALpf8yN8O9v/tvpEKcFfkHtO3LUL8MOYh
 sItI62oasmjgByWolzxsbGVQFReSSmW
IronPort-HdrOrdr: A9a23:WmwMHqBgH1QcdCrlHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="scan'208";a="86240587"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Anthony PERARD
	<anthony.perard@citrix.com>
Subject: [PATCH v2 0/4] OCaml bindings for hvm_param_get and xc_evtchn_status
Date: Fri, 2 Dec 2022 10:55:55 +0000
Message-ID: <cover.1669978356.git.edvin.torok@citrix.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Changes since v1:
* dropped stdint.h patch, still being discussed on where to best fix it
* addressed review comments (see individual patches' changes section)

Edwin Török (4):
  CODING-STYLE: add .editorconfig to clarify indentation uses spaces
  tools/ocaml/libs/xc: add binding to xc_evtchn_status
  tools/ocaml/libs/xc: add hvm_param_get binding
  tools/ocaml: add .clang-format

 .editorconfig                       | 20 ++++++
 tools/ocaml/.clang-format           |  9 +++
 tools/ocaml/libs/Makefile           |  2 +-
 tools/ocaml/libs/xc/META.in         |  2 +-
 tools/ocaml/libs/xc/Makefile        |  2 +-
 tools/ocaml/libs/xc/xenctrl.ml      | 62 ++++++++++++++++++
 tools/ocaml/libs/xc/xenctrl.mli     | 63 ++++++++++++++++++
 tools/ocaml/libs/xc/xenctrl_stubs.c | 99 +++++++++++++++++++++++++++++
 8 files changed, 256 insertions(+), 3 deletions(-)
 create mode 100644 .editorconfig
 create mode 100644 tools/ocaml/.clang-format

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 10:56:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 10:56:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451791.709574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13ip-0004Ao-3b; Fri, 02 Dec 2022 10:56:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451791.709574; Fri, 02 Dec 2022 10:56:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13io-0004Ag-Vw; Fri, 02 Dec 2022 10:56:46 +0000
Received: by outflank-mailman (input) for mailman id 451791;
 Fri, 02 Dec 2022 10:56:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3Iy3=4A=citrix.com=prvs=3285f5271=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p13in-0003rQ-Rj
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 10:56:45 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 02088ada-7230-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 11:56:43 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02088ada-7230-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669978603;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=/QgjMO2gIB8QWUK5sjC9SR0sZ2xWrGexC5cYmAhj6F4=;
  b=IcR0B3Tbf5MWEM+QbsGobvstwY9iTYwZyFdjC9VSBXojNM9Sxnoo4edG
   ivq2lZI9banzy9JaGl63sc73WHXEVib+OyoDa3ARTF3LwX8ji1/sXKNP7
   zPD6Mi5h7Eq6mKUDyABUUXG3BuOv3wyIaZQ/ts/DQpWmNHzvlOxWuOHpq
   4=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 86240596
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:G4HeNat/U8aAxXcQb5bfg3KsNufnVF5eMUV32f8akzHdYApBsoF/q
 tZmKT+Fa63bZmSkL90kaomy/E0HsZ7WnNBrTFRorHoyRiNE+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWGzSFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMweCIWZTWPnOCK5rfqQ8tx1997PeDNM9ZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfAdMYH49tL7Aan3XfjFGqVTTua0t5Gv7xw1tyrn9dtHSf7RmQO0FwBzE/
 j+XoQwVBDkKOIyR8iaO0Evvj//2nQPFdY00L+a3o6sCbFq7mTVIVUx+uUGAiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0V9NOHsUg5QqKy66S5ByWbkAbShZRZdpgs9U5LQHGz
 XfQwYmvX2Y29uTIFzTNrd94sA9eJwBFP3QJQCMfTzcj5ojqgpxilUreZ/BsRfvdYsLOJRn8x
 DWDrS4bjroVjNIW26jTwW0rkw5AtbCSEFdru1y/snaNq1ogOdX7P9DABU3zt64oEWqPcrWWU
 JHoceC65ftGM5yCnTflrA4lTODwvKbt3NExbDdS83gdG9aFoSbLkWN4umsWyKJV3iEsJ1fUj
 Lf741852XOqFCLCgVVLS4ywEd826qPrCM7oUPvZBvIXPMYgJVbWong1OxfNt4wIrKTLufhvU
 ap3jO72VSpKYUiZ5GXeqxghPU8DmXllmDK7qWHTxBW7y7uODEN5up9cWGZimtsRtfveyC2Mq
 oY3Cid/40kHOAEISnWNoNF7wJFjBSRTOK0aXOQMKbTeclA7Qz97YxITqJt4E7FYc21uvr+g1
 hmAtoVwkQKm7ZEbAW1mskxeVY4=
IronPort-HdrOrdr: A9a23:HjWhT6CUP2uayUrlHemU55DYdb4zR+YMi2TC1yhKJyC9Ffbo7v
 xG/c5rsyMc5wxwZJhNo7y90ey7MBbhHP1OkO4s1NWZLWrbUQKTRekIh+bfKn/baknDH4ZmpN
 9dmsNFaeEYY2IUsS+D2njbL+od
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="scan'208";a="86240596"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, Christian
 Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 3/4] tools/ocaml/libs/xc: add hvm_param_get binding
Date: Fri, 2 Dec 2022 10:55:58 +0000
Message-ID: <af355b5ef654745130815f30299d67bea7284f0e.1669978356.git.edvin.torok@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1669978356.git.edvin.torok@citrix.com>
References: <cover.1669978356.git.edvin.torok@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Not to be confused which hvm_get_param, which also exists and has a
different, more error-prone interface.

This one always returns a 64-bit value, and that is retained in the
OCaml binding as well, returning 'int64' (and not int, or nativeint
which might have a different size).

The integer here is unsigned in the C API, however OCaml only has signed integers.

No bits are lost, it is just a matter of interpretation when printing
and for certain arithmetic operations, however in the cases where the
MSB is set it is very likely that the value is an address and no
arithmetic should be performed on the OCaml side on it.
(this is not a new problem with this binding, but worth mentioning given
the difference in types)

Signed-off-by: Edwin Török <edvin.torok@citrix.com>
---
Changes since v1:
* drop accidental extra numbers in variant names
* use 'val' instead of 'result' for local var
* add binding for hvm_param_set
---
 tools/ocaml/libs/xc/xenctrl.ml      | 47 ++++++++++++++++++++++++++++
 tools/ocaml/libs/xc/xenctrl.mli     | 48 +++++++++++++++++++++++++++++
 tools/ocaml/libs/xc/xenctrl_stubs.c | 32 +++++++++++++++++++
 3 files changed, 127 insertions(+)

diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index 5dac47991e..370dac3fc8 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -299,6 +299,53 @@ external map_foreign_range: handle -> domid -> int
   -> nativeint -> Xenmmap.mmap_interface
   = "stub_map_foreign_range"
 
+type hvm_param =
+  | HVM_PARAM_CALLBACK_IRQ
+  | HVM_PARAM_STORE_PFN
+  | HVM_PARAM_STORE_EVTCHN
+  | HVM_PARAM_UNDEF_3
+  | HVM_PARAM_PAE_ENABLED
+  | HVM_PARAM_IOREQ_PFN
+  | HVM_PARAM_BUFIOREQ_PFN
+  | HVM_PARAM_UNDEF_7
+  | HVM_PARAM_UNDEF_8
+  | HVM_PARAM_VIRIDIAN
+  | HVM_PARAM_TIMER_MODE0
+  | HVM_PARAM_HPET_ENABLED1
+  | HVM_PARAM_IDENT_PT2
+  | HVM_PARAM_UNDEF_13
+  | HVM_PARAM_ACPI_S_STATE
+  | HVM_PARAM_VM86_TSS
+  | HVM_PARAM_VPT_ALIGN
+  | HVM_PARAM_CONSOLE_PFN
+  | HVM_PARAM_CONSOLE_EVTCHN
+  | HVM_PARAM_ACPI_IOPORTS_LOCATION
+  | HVM_PARAM_MEMORY_EVENT_CR0
+  | HVM_PARAM_MEMORY_EVENT_CR3
+  | HVM_PARAM_MEMORY_EVENT_CR4
+  | HVM_PARAM_MEMORY_EVENT_INT3
+  | HVM_PARAM_NESTEDHVM
+  | HVM_PARAM_MEMORY_EVENT_SINGLE_STEP
+  | HVM_PARAM_UNDEF_26
+  | HVM_PARAM_PAGING_RING_PFN
+  | HVM_PARAM_MONITOR_RING_PFN
+  | HVM_PARAM_SHARING_RING_PFN
+  | HVM_PARAM_MEMORY_EVENT_MSR
+  | HVM_PARAM_TRIPLE_FAULT_REASON
+  | HVM_PARAM_IOREQ_SERVER_PFN
+  | HVM_PARAM_NR_IOREQ_SERVER_PAGES
+  | HVM_PARAM_VM_GENERATION_ID_ADDR
+  | HVM_PARAM_ALTP2M
+  | HVM_PARAM_X87_FIP_WIDTH6
+  | HVM_PARAM_VM86_TSS_SIZED
+  | HVM_PARAM_MCA_CAP
+
+external hvm_param_get: handle -> domid -> hvm_param -> int64
+  = "stub_xc_hvm_param_get"
+
+external hvm_param_set: handle -> domid -> hvm_param -> int64 -> unit
+  = "stub_xc_hvm_param_set"
+
 external domain_assign_device: handle -> domid -> (int * int * int * int) -> unit
   = "stub_xc_domain_assign_device"
 external domain_deassign_device: handle -> domid -> (int * int * int * int) -> unit
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
index 6c9206bc74..e18d5cddb7 100644
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -236,6 +236,54 @@ external map_foreign_range :
   handle -> domid -> int -> nativeint -> Xenmmap.mmap_interface
   = "stub_map_foreign_range"
 
+(* needs to be sorted according to its numeric value, watch out for gaps! *)
+type hvm_param =
+  | HVM_PARAM_CALLBACK_IRQ
+  | HVM_PARAM_STORE_PFN
+  | HVM_PARAM_STORE_EVTCHN
+  | HVM_PARAM_UNDEF_3
+  | HVM_PARAM_PAE_ENABLED
+  | HVM_PARAM_IOREQ_PFN
+  | HVM_PARAM_BUFIOREQ_PFN
+  | HVM_PARAM_UNDEF_7
+  | HVM_PARAM_UNDEF_8
+  | HVM_PARAM_VIRIDIAN
+  | HVM_PARAM_TIMER_MODE0
+  | HVM_PARAM_HPET_ENABLED1
+  | HVM_PARAM_IDENT_PT2
+  | HVM_PARAM_UNDEF_13
+  | HVM_PARAM_ACPI_S_STATE
+  | HVM_PARAM_VM86_TSS
+  | HVM_PARAM_VPT_ALIGN
+  | HVM_PARAM_CONSOLE_PFN
+  | HVM_PARAM_CONSOLE_EVTCHN
+  | HVM_PARAM_ACPI_IOPORTS_LOCATION
+  | HVM_PARAM_MEMORY_EVENT_CR0
+  | HVM_PARAM_MEMORY_EVENT_CR3
+  | HVM_PARAM_MEMORY_EVENT_CR4
+  | HVM_PARAM_MEMORY_EVENT_INT3
+  | HVM_PARAM_NESTEDHVM
+  | HVM_PARAM_MEMORY_EVENT_SINGLE_STEP
+  | HVM_PARAM_UNDEF_26
+  | HVM_PARAM_PAGING_RING_PFN
+  | HVM_PARAM_MONITOR_RING_PFN
+  | HVM_PARAM_SHARING_RING_PFN
+  | HVM_PARAM_MEMORY_EVENT_MSR
+  | HVM_PARAM_TRIPLE_FAULT_REASON
+  | HVM_PARAM_IOREQ_SERVER_PFN
+  | HVM_PARAM_NR_IOREQ_SERVER_PAGES
+  | HVM_PARAM_VM_GENERATION_ID_ADDR
+  | HVM_PARAM_ALTP2M
+  | HVM_PARAM_X87_FIP_WIDTH6
+  | HVM_PARAM_VM86_TSS_SIZED
+  | HVM_PARAM_MCA_CAP
+
+external hvm_param_get: handle -> domid -> hvm_param -> int64
+  = "stub_xc_hvm_param_get"
+
+external hvm_param_set: handle -> domid -> hvm_param -> int64 -> unit
+  = "stub_xc_hvm_param_set"
+
 external domain_assign_device: handle -> domid -> (int * int * int * int) -> unit
   = "stub_xc_domain_assign_device"
 external domain_deassign_device: handle -> domid -> (int * int * int * int) -> unit
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index a492ea17fd..d042edb495 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -1178,6 +1178,38 @@ CAMLprim value stub_xc_domain_irq_permission(value xch, value domid,
     CAMLreturn(Val_unit);
 }
 
+CAMLprim value stub_xc_hvm_param_get(value xch, value domid, value param)
+{
+    CAMLparam3(xch, domid, param);
+    uint64_t val;
+    int ret;
+
+    caml_enter_blocking_section();
+    ret = xc_hvm_param_get(_H(xch), _D(domid), Int_val(param), &val);
+    caml_leave_blocking_section();
+
+    if ( ret )
+        failwith_xc(_H(xch));
+
+    CAMLreturn(caml_copy_int64(val));
+}
+
+CAMLprim value stub_xc_hvm_param_set(value xch, value domid, value param, value val)
+{
+    CAMLparam4(xch, domid, param, val);
+    int ret;
+
+    caml_enter_blocking_section();
+    ret = xc_hvm_param_set(_H(xch), _D(domid), Int_val(param), Int64_val(val));
+    caml_leave_blocking_section();
+
+    if ( ret )
+        failwith_xc(_H(xch));
+
+    CAMLreturn(Val_unit);
+}
+
+
 static uint32_t encode_sbdf(int domain, int bus, int dev, int func)
 {
     return  ((uint32_t)domain & 0xffff) << 16 |
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 10:56:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 10:56:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451790.709569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13io-00047F-Ow; Fri, 02 Dec 2022 10:56:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451790.709569; Fri, 02 Dec 2022 10:56:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13io-000478-M9; Fri, 02 Dec 2022 10:56:46 +0000
Received: by outflank-mailman (input) for mailman id 451790;
 Fri, 02 Dec 2022 10:56:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3Iy3=4A=citrix.com=prvs=3285f5271=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p13im-0003rQ-RP
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 10:56:44 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ffb426cf-722f-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 11:56:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ffb426cf-722f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669978602;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Kvmroc4UWt6I3gO1OX/SxhaVKAh4s5W8paVaKox+rwU=;
  b=dMxxnxDUCjAVTg1Cj8joz8HqRCzIc0D14BjacK8ijsDzblSTyUf8PuG9
   DrRyyM9iW0HmH5F7eX7L6ZpLjEw7Lwp0mAkTyRkdQo4SZpOJQIocajy0B
   3Js/s+r3TRngq5VsbjsmShdkGhqviFQ+jM181qnBRGeZZHGLFFUp+2jkC
   o=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 86240592
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:lyG66qJ526X53XfKFE+R4pUlxSXFcZb7ZxGr2PjKsXjdYENS0DZTx
 zMZWj/TMvaCamOjcth2YNmx9hkGvJ+Ey4MyTQVlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5ARkPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4nOzgWt
 q0iDwkUVRqlnvmWx7GqV/Zj05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpPE+ojx5nYz/7DLozkPmpgD/jdCdfq3qepLYt4niVxwt0uFToGIqLIIDSGJQP9qqej
 nn9p1/AXg8TDcC8mWSL3kqPn8HSuQquDer+E5Xnr6U30TV/3Fc7CgASVFa9iem0jAi5Qd03A
 1MQ0jojq+417kPDZsLmQxSyrXqAvxgdc9ldCes37EeK0KW8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq19L2ZsDezMig9NnIZaGkPSg5t3jX4iNht1FSVFI8lSfPryI2ucd3t/
 9yUhHgE3u1Q3PQs7ryA93bemBKrpYnUUQFgs207QVmZxg9+YYekYamh5l7a8etMIe6lc7WRg
 JQXs5PAtb5TVPlhgATIGbxQR+/xu55pJRWG2TZS848dGyNBEpJJVaRZ+3lAKUhgKa7okhe5M
 RaI6Wu9CHK+VUZGjJObgarrU6zGLoC6T7wJs8w4ifIQCqWdjCfdoElTibe4hggBanQEn6AlI
 ou8es2xF3scAqkP5GPoGbZMiO51n3tgnD67qXXHI/OPiOr2WZJoYe1dbAvmgh4Rs8toXzk5A
 /4AbpDXmn2zocX1YzXN8J57ELz5BSFTOHwCkOQOLrTrClM/SAkc5wr5netJl3pNw/4EyY8lP
 xiVBidl9bYIrSaYc1jaMC04NumHsFQWhStTABHA9G2AgxALCbtDJo9OKvPboZFPGDRf8MNJ
IronPort-HdrOrdr: A9a23:7IxO8qo6e8hvFRPCEtX1cZQaV5rveYIsimQD101hICG9Evb0qy
 nOpoV/6faQslwssR4b9uxoVJPvfZq+z+8W3WByB9eftWDd0QPFEGgL1+DfKlbbak7DH4BmtJ
 uJc8JFeafN5VoRt7eG3OFveexQvOVu88qT9JjjJ28Gd3APV0n5hT0JcjpyFCdNNW57LKt8Lr
 WwzOxdqQGtfHwGB/7LfUXsD4D41rv2fIuNW29+OyIa
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="scan'208";a="86240592"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, "Stefano Stabellini" <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>
Subject: [PATCH v2 1/4] CODING-STYLE: add .editorconfig to clarify indentation uses spaces
Date: Fri, 2 Dec 2022 10:55:56 +0000
Message-ID: <01afbbbc15332aedcdccba75cb1f5edd538c4492.1669978356.git.edvin.torok@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1669978356.git.edvin.torok@citrix.com>
References: <cover.1669978356.git.edvin.torok@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Add an .editorconfig to make it easier to keep patches compatible with
Xen's coding style, and to reemphasize what Xen's coding style is.

I thought that Xen demands tabs rather than spaces (which is more
difficult with OCaml because indentation tools use spaces,
and the use of tabs requires changing editor settings),
however CODING-STYLE says it is spaces.

Document this explicitly by adding a .editorconfig file (see editorconfig.org),
which is an editor agnostic format for specifying basic style properties like
indentation, either with native support in editors or via plugins.

It is safer than modelines because it only supports controlling a
restricted set of editor properties and not arbitrary commands as Vim
modelines would have, and works with editors other than Vim too.
(Vim has a deny list for modeline sandboxing, which is error-prone
because every time a new command gets added it needs to be added to the
deny list, which has been the source of a few CVEs in the past
and I disable Vim modelines everywhere as a precaution).

This file is added as a convenience for those who might have an editor
that supports it, and its presence should have no impact on those that
do not (want to) use it.
It also won't cause re-indentation of existing files when edited, only
newly added lines would follow the convention.

No functional change.

Signed-off-by: Edwin Török <edvin.torok@citrix.com>
---
 .editorconfig | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 .editorconfig

diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000000..cb2f27c581
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,20 @@
+# See ./CODING_STYLE
+root = true
+
+[*]
+end_of_line = lf
+indent_style = space
+charset = utf-8
+max_line_length = 79
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+# Makefiles must use tabs, otherwise they don't work
+[{Makefile,*.mk,Makefile.rules}]
+indent_style = tabs
+
+[*.{c,h}]
+indent_size = 4
+
+[*.{ml,mli}]
+indent_size = 2
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 10:56:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 10:56:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451792.709591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13j0-0004ms-Dj; Fri, 02 Dec 2022 10:56:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451792.709591; Fri, 02 Dec 2022 10:56:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13j0-0004mj-A8; Fri, 02 Dec 2022 10:56:58 +0000
Received: by outflank-mailman (input) for mailman id 451792;
 Fri, 02 Dec 2022 10:56:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3Iy3=4A=citrix.com=prvs=3285f5271=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p13iz-0003rQ-0F
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 10:56:57 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 07415175-7230-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 11:56:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07415175-7230-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669978615;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=bOQ3oRol1JrYqAer48HmKkncGmJC2gDM4u9fgjLBE4w=;
  b=PwUcsH1Sd6ese38RgEAqgl/itElvM4QLSH4HKAtEliMYWLKWPdrVVhlh
   HLUZOLiPJFYh5G1/u6BIqo8yyJLNK6a5f3dPMG6LGzUvdGhDwDAqoxbfv
   dbn97ijudYO7ZG2IpfpLQ02f+iwsM7orI3VPJkHPIhPHb6OTCnMbL6tqY
   U=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 86249443
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:9+w8H60VYJD1MzPDD/bD5cBxkn2cJEfYwER7XKvMYLTBsI5bpzdSz
 jcZDTrSb/aDa2umc48iPITl8UoP78KDmIcwTQM6pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZmP6gR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfJ1Nq5
 KYydg80dDufpbyn6rfrTMNiiZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKkSbC/FMEg5/5JYWkeu2h3+5bzpCr1G9rqsr+WnDigd21dABNfKFJIbWFJkJxS50o
 Erq3XyoMBJLLeWF2BaA0nOju8zUzTnkDdd6+LqQqacx3Qz7KnYoIA0bUx63rOe0jma6WslDM
 AoE9yw2t68w+Ue3CN7nUHWQrHeaszYGVtFXEul87xuCooLL5y6JC25CSSROAOHKr+dvG2Zsj
 AXQ2Yq0W3o/69V5VE5x6J+ynxejYwJLElYYTjMmExov5onlio8820enoslYLIa5idj8GDfVy
 j+MrTQji7h7sfPnx5lX7nic3Wvy+8Ghohodo1yOAzn7tl8RiJuNPdTA1LTN0RpXwG91pHGlt
 WNMpcWR5ftm4XqlxH3UG7Vl8F1ECp+43NzgbbxHRcFJG9eFoSTLkWVsDNZWei9U3j4sI2OBX
 aMphStf5YVIIFyhZrJtboS6BqwClPa+RIW8B66NNYQXP/CdkTNrGwk3NSatM53FyhBwwcnTx
 7/EGSpTMZrqIfs+l2fnLwvs+bQq2jo/1QvuqWPTlnyaPU6lTCfNE98taQLeBt3VGYvY+G396
 chEDcKWxn13CaumCsUh2dJJfA9iwLlSLcyelvG7gcbYfVA7SDt8UKGLqV7jEqQ895loei7z1
 inVcidlJJDX3yScQelWQhiPsI/SYKs=
IronPort-HdrOrdr: A9a23:fTToYqNaVxtv/sBcTvWjsMiBIKoaSvp037BL7TEXdfUxSKelfq
 +V8sjzuSWUtN9uYgBDpTnwAtjlfVr67tpO7Y4deZ2iVA7gtG7AFvAF0WKK+VSJdxEWkNQ86U
 5OScdD4bbLfD1HZKjBkWqF+55J+rO6GOrBv4rj80s=
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="scan'208";a="86249443"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, Christian
 Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 2/4] tools/ocaml/libs/xc: add binding to xc_evtchn_status
Date: Fri, 2 Dec 2022 10:55:57 +0000
Message-ID: <c43ff9e8a95a73dadcd5db6ad10340a45592dd01.1669978356.git.edvin.torok@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1669978356.git.edvin.torok@citrix.com>
References: <cover.1669978356.git.edvin.torok@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

There is no API or ioctl to query event channel status, it is only
present in xenctrl.h

The C union is mapped to an OCaml variant exposing just the value from the
correct union tag.

The information provided here is similar to 'lsevtchn', but rather than
parsing its output it queries the underlying API directly.

Signed-off-by: Edwin Török <edvin.torok@citrix.com>
---
Changes since v1:
* drop paragraph about where this is used
* add comment about max port
* use Xeneventchn.virq_t instead of int, add a dependency: xc -> eventchn
* initialize struct without memset-ing first
* use 2 CAMLreturn, I found an example in the OCaml stdlib that does that so should be future-proof https://github.com/ocaml/ocaml/blob/663e8d219f566095e3a9497c5bae07b6a95cae39/otherlibs/unix/dup_win32.c#L52-L77
* use Tag_some, defining it if needed
* fix typo on failwith
---
 tools/ocaml/libs/Makefile           |  2 +-
 tools/ocaml/libs/xc/META.in         |  2 +-
 tools/ocaml/libs/xc/Makefile        |  2 +-
 tools/ocaml/libs/xc/xenctrl.ml      | 15 +++++++
 tools/ocaml/libs/xc/xenctrl.mli     | 15 +++++++
 tools/ocaml/libs/xc/xenctrl_stubs.c | 67 +++++++++++++++++++++++++++++
 6 files changed, 100 insertions(+), 3 deletions(-)

diff --git a/tools/ocaml/libs/Makefile b/tools/ocaml/libs/Makefile
index 7e7c27e2d5..15f45a6d66 100644
--- a/tools/ocaml/libs/Makefile
+++ b/tools/ocaml/libs/Makefile
@@ -4,7 +4,7 @@ include $(XEN_ROOT)/tools/Rules.mk
 SUBDIRS= \
 	mmap \
 	xentoollog \
-	xc eventchn \
+	eventchn xc\
 	xb xs xl
 
 .PHONY: all
diff --git a/tools/ocaml/libs/xc/META.in b/tools/ocaml/libs/xc/META.in
index 2ff4dcb6bf..6a273936a3 100644
--- a/tools/ocaml/libs/xc/META.in
+++ b/tools/ocaml/libs/xc/META.in
@@ -1,5 +1,5 @@
 version = "@VERSION@"
 description = "Xen Control Interface"
-requires = "unix,xenmmap"
+requires = "unix,xenmmap,xeneventchn"
 archive(byte) = "xenctrl.cma"
 archive(native) = "xenctrl.cmxa"
diff --git a/tools/ocaml/libs/xc/Makefile b/tools/ocaml/libs/xc/Makefile
index 3b76e9ad7b..1d9fecb06e 100644
--- a/tools/ocaml/libs/xc/Makefile
+++ b/tools/ocaml/libs/xc/Makefile
@@ -4,7 +4,7 @@ include $(OCAML_TOPLEVEL)/common.make
 
 CFLAGS += -I../mmap $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest)
 CFLAGS += $(APPEND_CFLAGS)
-OCAMLINCLUDE += -I ../mmap
+OCAMLINCLUDE += -I ../mmap -I ../eventchn
 
 OBJS = xenctrl
 INTF = xenctrl.cmi
diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index 2ed7454b16..5dac47991e 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -267,6 +267,21 @@ external evtchn_alloc_unbound: handle -> domid -> domid -> int
   = "stub_xc_evtchn_alloc_unbound"
 external evtchn_reset: handle -> domid -> unit = "stub_xc_evtchn_reset"
 
+(* FIFO has theoretical maximum of 2^28 ports, fits in an int *)
+type evtchn_interdomain = { dom: domid; port: int}
+
+type evtchn_stat =
+  | EVTCHNSTAT_unbound of domid
+  | EVTCHNSTAT_interdomain of evtchn_interdomain
+  | EVTCHNSTAT_pirq of int
+  | EVTCHNSTAT_virq of Xeneventchn.virq_t
+  | EVTCHNSTAT_ipi
+
+type evtchn_status = { vcpu: int; status: evtchn_stat }
+
+external evtchn_status: handle -> domid -> int -> evtchn_status option =
+  "stub_xc_evtchn_status"
+
 external readconsolering: handle -> string = "stub_xc_readconsolering"
 
 external send_debug_keys: handle -> string -> unit = "stub_xc_send_debug_keys"
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
index 0f80aafea0..6c9206bc74 100644
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -206,6 +206,21 @@ external shadow_allocation_get : handle -> domid -> int
 external evtchn_alloc_unbound : handle -> domid -> domid -> int
   = "stub_xc_evtchn_alloc_unbound"
 external evtchn_reset : handle -> domid -> unit = "stub_xc_evtchn_reset"
+
+type evtchn_interdomain = { dom: domid; port: int}
+
+type evtchn_stat =
+  | EVTCHNSTAT_unbound of domid
+  | EVTCHNSTAT_interdomain of evtchn_interdomain
+  | EVTCHNSTAT_pirq of int
+  | EVTCHNSTAT_virq of Xeneventchn.virq_t
+  | EVTCHNSTAT_ipi
+
+type evtchn_status = { vcpu: int; status: evtchn_stat }
+
+external evtchn_status: handle -> domid -> int -> evtchn_status option =
+  "stub_xc_evtchn_status"
+
 external readconsolering : handle -> string = "stub_xc_readconsolering"
 external send_debug_keys : handle -> string -> unit = "stub_xc_send_debug_keys"
 external physinfo : handle -> physinfo = "stub_xc_physinfo"
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index d30585f21c..a492ea17fd 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -44,6 +44,10 @@
 #define Val_none (Val_int(0))
 #endif
 
+#ifndef Tag_some
+#define Tag_some 0
+#endif
+
 #define string_of_option_array(array, index) \
     ((Field(array, index) == Val_none) ? NULL : String_val(Field(Field(array, index), 0)))
 
@@ -641,6 +645,69 @@ CAMLprim value stub_xc_evtchn_reset(value xch, value domid)
     CAMLreturn(Val_unit);
 }
 
+CAMLprim value stub_xc_evtchn_status(value xch, value domid, value port)
+{
+    CAMLparam3(xch, domid, port);
+    CAMLlocal4(result, result_status, stat, interdomain);
+    xc_evtchn_status_t status = {
+        .dom = _D(domid),
+        .port = Int_val(port),
+    };
+    int rc;
+
+    caml_enter_blocking_section();
+    rc = xc_evtchn_status(_H(xch), &status);
+    caml_leave_blocking_section();
+
+    if ( rc < 0 )
+        failwith_xc(_H(xch));
+
+    if ( status.status == EVTCHNSTAT_closed )
+        CAMLreturn(Val_none);
+
+    switch ( status.status )
+    {
+    case EVTCHNSTAT_unbound:
+        stat = caml_alloc(1, 0); /* 1st non-constant constructor */
+        Store_field(stat, 0, Val_int(status.u.unbound.dom));
+        break;
+
+    case EVTCHNSTAT_interdomain:
+        interdomain = caml_alloc_tuple(2);
+        Store_field(interdomain, 0, Val_int(status.u.interdomain.dom));
+        Store_field(interdomain, 1, Val_int(status.u.interdomain.port));
+        stat = caml_alloc(1, 1); /*  2nd non-constant constructor */
+        Store_field(stat, 0, interdomain);
+        break;
+    case EVTCHNSTAT_pirq:
+        stat = caml_alloc(1, 2); /* 3rd non-constant constructor */
+        Store_field(stat, 0, Val_int(status.u.pirq));
+        break;
+
+    case EVTCHNSTAT_virq:
+        stat = caml_alloc(1, 3); /* 4th non-constant constructor */
+        Store_field(stat, 0, Val_int(status.u.virq));
+        break;
+
+    case EVTCHNSTAT_ipi:
+        stat = Val_int(0); /* 1st constant constructor */
+        break;
+
+    default:
+        caml_failwith("Unknown evtchn status");
+
+    }
+    result_status = caml_alloc_tuple(2);
+    Store_field(result_status, 0, Val_int(status.vcpu));
+    Store_field(result_status, 1, stat);
+
+    /* caml_alloc_some is missing in older versions of OCaml
+     */
+    result = caml_alloc_small(1, Tag_some);
+    Store_field(result, 0, result_status);
+
+    CAMLreturn(result);
+}
 
 CAMLprim value stub_xc_readconsolering(value xch)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 10:59:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 10:59:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451811.709602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13lC-00066b-SP; Fri, 02 Dec 2022 10:59:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451811.709602; Fri, 02 Dec 2022 10:59:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13lC-00066U-P3; Fri, 02 Dec 2022 10:59:14 +0000
Received: by outflank-mailman (input) for mailman id 451811;
 Fri, 02 Dec 2022 10:59:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NC9X=4A=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p13lB-00066O-7S
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 10:59:13 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7e88::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 55fb8ec8-7230-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 11:59:04 +0100 (CET)
Received: from BN0PR04CA0130.namprd04.prod.outlook.com (2603:10b6:408:ed::15)
 by PH8PR12MB7025.namprd12.prod.outlook.com (2603:10b6:510:1bc::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Fri, 2 Dec
 2022 10:59:07 +0000
Received: from BN8NAM11FT088.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:ed:cafe::5f) by BN0PR04CA0130.outlook.office365.com
 (2603:10b6:408:ed::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10 via Frontend
 Transport; Fri, 2 Dec 2022 10:59:07 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT088.mail.protection.outlook.com (10.13.177.81) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5857.18 via Frontend Transport; Fri, 2 Dec 2022 10:59:07 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 2 Dec
 2022 04:59:07 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 2 Dec
 2022 02:59:06 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 2 Dec 2022 04:59:04 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55fb8ec8-7230-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RXSbY+pJSm/RWIpWqvJAAWrlrsCH7b8R33QOEqMsJgbVrllCl45FVAj6+fmkOAPt2w3trCWQr5WBv2Qa2/Zln6A4Q0jLFY4WJpgP8/XK4Ek44WldbCU50C0/IKfsS8fYxSXe08PjTfIG1+W+RilVkek43FnX76XatbB8OzKJwtrMWgl/nrdQgZKFPsMaz1UG7u8nfXXOpDSHJ1GZcxwr68ANTXRQvl7hluDAfCa4DZbGv66bC1vkV+QHJBb1XsdsXz8Qh9Ex93tDUKujKlt2Bt3LlniuJV2iPpHTRSioUDIo0IGQdXSDT0hWTd7qGftNIGwIfzPWqR2IiAa4M4Kcyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FD76rEScKD8WF7yPTfiKGh1X1erIEL2q1R//zu3Uheg=;
 b=dm5xKbG00UYyLvFgVjCfGaRnL0gFtGUTjHEB00X8S5qLiWEzwNj91Q8u2G4386Jp9R8xvImVMjlrUFZuc2wvRlIdR0JX6hZvtvyMQqWX7aDtFCPhPMRVxf3oNfBBAysIANPfJ/1lNudZgp1ROZ1ffJMEtGo5pz8jcBqb/yUHINSyrJP1Z6A2ABbtbE7ixnD6AP4W5ddB2coH1lIBdN5toy/TFzUS/lsk6h1dSeoO6/5ydUqU6K9ax3OsSiJJ0pa7xJ2kvsL4Z4az2PpX/5btIp+nXXr1MInGlXa8+8Kobbtx5t8yCPv2VT44nx5tcFf6mbvPGh2hGgPE/yrb4NIoQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FD76rEScKD8WF7yPTfiKGh1X1erIEL2q1R//zu3Uheg=;
 b=vo0aNxpdmAv9a1i+L5RA63YcvCRY7tBherZk9i8oiRF/sF8P8chyRCWzVgFBV9eASGeVUmFedajKR9cgNtcPTUjWfAFWFl0xJVwTOVzo3RqPOYXBGgL8V6G2CpRuiZ2ZwLoeioeSH2hb6Rk3IsPy68D3N+07C2vQkF7x85WMF5o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <ede99a96-cbf8-f388-0484-7b176d07742e@amd.com>
Date: Fri, 2 Dec 2022 11:59:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 00/21] Add SMMUv3 Stage 1 Support for XEN guests
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, <xen-devel@lists.xenproject.org>
CC: Bertrand Marquis <bertrand.marquis@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, Paul Durrant
	<paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, "Wei
 Liu" <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, "Juergen
 Gross" <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT088:EE_|PH8PR12MB7025:EE_
X-MS-Office365-Filtering-Correlation-Id: 388fef10-1f68-498f-23b2-08dad4543bfc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vgAdJ0Y6ltqpuLJIhiw3TbH6BCFyw8q0EZakgLu4pKUhx5mwzj8GHE/CR9Evufe8ds/GhN50Ax/ap6s4xHPxkA2mHUBWapbH8zvnYU19+8cXdVFfEpJiQwFi0AV7atIOimFz7LcirxjtU/SZcyCWHE13nGCR+mRbgj/7W21e5NuYStmleCsRGUbGOhKVpeUbiCAQfulkBk4bdjAckheZLfjx5qXwwdsCiJyfBXJUnlDyYkHPhT1Hy2qCS15RrrNIVXPp8lYzLKcy7IzJ4uR+OGf/CX1MZPVLM2ATpA4OoyeejOI3Vn8wj1u8WvxFAmD6MXnxYNxwBBQl3e2kYxuw2HH9AdaZAUJhyOzYXtnzXLhVQhTOsc9uailuQvnM5Oxic2Xo41pbhHyhUWVfvzxfY3j6JGC9ideJtA17zzNdyJAipWRleaHMngiZuSKRFRS9r8wtITajUf8PrDmlf+/hhxZ/YOfnaoadacxcjGA2OLdJWKWbjKy1aVTP4UA0v6yCWNYcAX2E1Dupm6ruhk2gVq+hBDg0mtu1B+a1Rbmbw38VVsO9CaGGGI4Zoqv8sKF3RJP4a13Xcq5gNqp5bvJOKrw9VTiUYbB1AYrR1usDrjWuVCQqHLZhAYKotJnVaSe21wIYtGYimeKIrlVdDrcZiF0fDTApOKN4BwYHkRW6S8RFdo/avyHWFunt1Rgu2hCAwFjVB1R/rm/dYiDxDzBNpyV16DVH02+Y3s3bAaS3LQlFboc6nqrZq9/fYpCSKcTSaOSYCpOeh6OQkQPYsMJT8XLtOB6GMTRc3cUnnAkZg8b43aDXhtpLp+THKSN1eFM9G/JYAchV3ACthgsTnXGWtQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(136003)(376002)(346002)(451199015)(46966006)(36840700001)(40470700004)(81166007)(2906002)(7416002)(426003)(44832011)(54906003)(966005)(110136005)(5660300002)(316002)(186003)(70586007)(45080400002)(16576012)(70206006)(40480700001)(336012)(47076005)(40460700003)(8936002)(82740400003)(36756003)(4326008)(2616005)(86362001)(26005)(82310400005)(8676002)(31696002)(41300700001)(356005)(478600001)(31686004)(36860700001)(83380400001)(53546011)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 10:59:07.4599
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 388fef10-1f68-498f-23b2-08dad4543bfc
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT088.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7025

Hi Rahul,

On 01/12/2022 17:02, Rahul Singh wrote:
> 
> 
> The SMMUv3 supports two stages of translation. Each stage of translation can be
> independently enabled. An incoming address is logically translated from VA to
> IPA in stage 1, then the IPA is input to stage 2 which translates the IPA to
> the output PA.
> 
> Stage 1 is intended to be used by a software entity to provide isolation or
> translation to buffers within the entity, for example DMA isolation within an
> OS. Stage 2 is intended to be available in systems supporting the
> Virtualization Extensions and is intended to virtualize device DMA to guest VM
> address spaces. When both stage 1 and stage 2 are enabled, the translation
> configuration is called nested.
> 
> Stage 1 translation support is required to provide isolation between different
> devices within OS. XEN already supports Stage 2 translation but there is no
> support for Stage 1 translation. The goal of this work is to support Stage 1
> translation for XEN guests. Stage 1 has to be configured within the guest to
> provide isolation.
> 
> We cannot trust the guest OS to control the SMMUv3 hardware directly as
> compromised guest OS can corrupt the SMMUv3 configuration and make the system
> vulnerable. The guest gets the ownership of the stage 1 page tables and also
> owns stage 1 configuration structures. The XEN handles the root configuration
> structure (for security reasons), including the stage 2 configuration.
> 
> XEN will emulate the SMMUv3 hardware and exposes the virtual SMMUv3 to the
> guest. Guest can use the native SMMUv3 driver to configure the stage 1
> translation. When the guest configures the SMMUv3 for Stage 1, XEN will trap
> the access and configure hardware.
> 
> SMMUv3 Driver(Guest OS) -> Configure the Stage-1 translation ->
> XEN trap access -> XEN SMMUv3 driver configure the HW.
> 
> SMMUv3 driver has to be updated to support the Stage-1 translation support
> based on work done by the KVM team to support Nested Stage translation:
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feauger%2Flinux%2Fcommits%2Fv5.11-stallv12-2stage-v14&amp;data=05%7C01%7Cmichal.orzel%40amd.com%7Cecb9075a29974c8f5ad608dad3b5916f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638055074068482160%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=PdK4%2Bsps3%2FdXYJUDv3iCy%2Byaqbh1bOVb1AFzTtx1nts%3D&amp;reserved=0
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flwn.net%2FArticles%2F852299%2F&amp;data=05%7C01%7Cmichal.orzel%40amd.com%7Cecb9075a29974c8f5ad608dad3b5916f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638055074068482160%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=5Kp7023HiA4Qbfi28wcPL20JyC2xLwwiyEUZcxTSCOA%3D&amp;reserved=0
> 
> As the stage 1 translation is configured by XEN on behalf of the guest,
> translation faults encountered during the translation process need to be
> propagated up to the guest and re-injected into the guest. When the guest
> invalidates stage 1 related caches, invalidations must be forwarded to the
> SMMUv3 hardware.
> 
> This patch series is sent as RFC to get the initial feedback from the
> community. This patch series consists of 21 patches which is a big number for
> the reviewer to review the patches but to understand the feature end-to-end we
> thought of sending this as a big series. Once we will get initial feedback, we
> will divide the series into a small number of patches for review.

Due to the very limited availability of the board we have, that is equipped with
DMA platform devices and SMMUv3 (I know that you tested PCI use case thoroughly),
I managed for now to do the testing on dom0 only.

By commenting out the code in Linux responsible for setting up Xen SWIOTLB DMA ops, I was able
to successfully verify the nested SMMU working properly for DMA platform devices on the
example of using ZDMA. Both the upstream dmatest client app as well as the VFIO user space driver
that I wrote for ZDMA passed the test!

I added some logs to verify the sync up between Linux and Xen during a VFIO test:

LINUX: SMMUv3: Setting the STE S1 Config 0x1405c000 for SID=0x210
XEN: vSMMUv3: guest config=ARM_SMMU_DOMAIN_NESTED
XEN: SMMUv3: Setting the STE S1 Config 0x1405c000 for SID=0x210

Before transfer example:
 src value: 0xdb71faf
 dst value: 0
Waiting for transfer completion...
After transfer example:
 src value: 0xdb71faf
 dst value: 0xdb71faf
TEST RESULT: PASS

LINUX: SMMUv3: Setting the STE S1 Config 0x12502000 for SID=0x210
XEN: vSMMUv3: guest config=ARM_SMMU_DOMAIN_NESTED
XEN: SMMUv3: Setting the STE S1 Config 0x12502000 for SID=0x210

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 11:02:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 11:02:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451823.709613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13o5-0007fJ-CD; Fri, 02 Dec 2022 11:02:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451823.709613; Fri, 02 Dec 2022 11:02:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13o5-0007fC-9W; Fri, 02 Dec 2022 11:02:13 +0000
Received: by outflank-mailman (input) for mailman id 451823;
 Fri, 02 Dec 2022 11:02:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NC9X=4A=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p13o3-0007f2-FF
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 11:02:11 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c3b4a785-7230-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 12:02:10 +0100 (CET)
Received: from BN9PR03CA0421.namprd03.prod.outlook.com (2603:10b6:408:113::6)
 by CH2PR12MB4037.namprd12.prod.outlook.com (2603:10b6:610:7a::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Fri, 2 Dec
 2022 11:02:06 +0000
Received: from BN8NAM11FT008.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:113:cafe::d7) by BN9PR03CA0421.outlook.office365.com
 (2603:10b6:408:113::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10 via Frontend
 Transport; Fri, 2 Dec 2022 11:02:06 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT008.mail.protection.outlook.com (10.13.177.95) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Fri, 2 Dec 2022 11:02:05 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 2 Dec
 2022 05:02:05 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 2 Dec 2022 05:02:04 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3b4a785-7230-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d6fbSNy4F5L7yKJ9oRWpdU6L9V88p1bG+6ZQu6rz/cbtXmVP5Qgq8iK/KA3mb/+sx5EdGJk77Koe58RGpkxCfz/M8I1Vh/9EE8PLFbLHZ7WX5dxV0Luhkd3XZFvHdQqPAK/mVFLDRPl3XRGVh3PTIaIdFRtCs3t7c1I7TEAefoVN3AqYRjidft+Yerp7+giiuoEasHx9Te6Q54/rjCyDOFk1nSNOSEafWjHiQlH7RE+FOFJ6R4h9ZuFpRPl2y+Z67gRNrY+wR2GRyJC8QQrklCownVXy15eCUN10OcrxbtPeBE01zMxMFdS/I/F6qT9bCxzCW/RwGkK+47UNeLykwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Yr8c4JrpoIOWWEM2RhraY4ayOenBz/ERD4THBPmAmYc=;
 b=OzSBc89BclBtldbR88CVDz5/lnaBb0oygABbz8xDsL0QaHTPVaA/H09K/Yh8vT8mLaYI8wEMzlAvMMoT0g5HeSsXVTpvLnFK7Xu2ouUkXtf7xSKUjBGgMSggjykXYq2VimM0j6dAl6j/SzMnQA3qW7DDL8kaVX5hKxMxUKeLc/Tw+Cr6l1nHMpIi56AjaCC/E2oUtNd7RyQmbbWtk2TSRiGv9CytJwLTypqJ3dNjqm+TwbG3oyIpaGOYKn1+bDtvXPIG7i2ax5pIMDe2GxUY7mtIy7DW6pd7oTdoZvRAcmOT0vYjPdYDgs2Z0fc9l9C/N1ZEnjdwwAGEfzTVfAOMEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Yr8c4JrpoIOWWEM2RhraY4ayOenBz/ERD4THBPmAmYc=;
 b=CLiyXJMS+8BhLw7uzQk+I5Uf/tJsawPAfIwf76FmC6VaNKMdg3I65JSW9bExltDeZyHcaIqYIVNU3Si8XZJUeNawd2uHk0gouFiYRXsVVoJP85WB1kgiZS1dyAKPTId9nK4GeJC7kU2q592QNTLsoe+GkAViQjw5uuJ5smMpDjI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <14ca1062-09eb-4647-807d-1b465dad8374@amd.com>
Date: Fri, 2 Dec 2022 12:01:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v6 2/3] automation: Add a clean rule for containers
Content-Language: en-US
To: Bertrand Marquis <bertrand.marquis@arm.com>,
	<xen-devel@lists.xenproject.org>
CC: Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
	<sstabellini@kernel.org>
References: <cover.1669904508.git.bertrand.marquis@arm.com>
 <b802d2523af791acfdb68b6f8603ff2f0f8573d6.1669904508.git.bertrand.marquis@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <b802d2523af791acfdb68b6f8603ff2f0f8573d6.1669904508.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT008:EE_|CH2PR12MB4037:EE_
X-MS-Office365-Filtering-Correlation-Id: 348e1728-2c79-4d2e-0d26-08dad454a658
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LUwo8y4WDPpteMZrJEscK0NW6q+mpU7y8w3zjRcpNmjhp2jQrUmyK8tgONxTxBoLs7coHGNzoqmMjiDUHATa/hEvzuiNsBLIeoW/lBpo+DOrz7SF8TtUSo/ANl+iLIC2z+OSqveHY2HszNeLQW22/KxCXCyp0ZNU6GHTaWv/y2swjwaqdn0VkfPQ4R8B+zc0VvdDWuwlVYyLRg4/kgW6e+40+B1RMgYDOCGJukcVZaTlNnMKhiwzpxkL4+8hg57FUGdW6Xj/5b7sXZy2NrRNG9wA14YFIGugZpIGP2iNwdDYduvKRnDfmBDT54EDosjbC5m5dw2z9tsFcjKmwwVP+Bfy0CiHMBPbr4e2ilPuY6A4xGogNwbR3epwAhgU5pGeYgpO1FyyGDhLs5dNKYxCLA8tjviOzypozshAStOAp3WG80DX1WO1s5rPkajTXR+rP4NdSDHkSlUjfKajXIbhPjzwZh3TiDaVLbLy95ogh4Aju8p8btZ8f4F88honUOzgFezfoboJDctf8FHgxxyFm/wDPEYV0VnmiTx/tDt0+BGlsUxPiDCwwA4vuTkgQBX5zvbTp+cl6vs438bgnz/JI+o9BqL6SaMisS9prwfWN5Fr+tzmiqPDWm1Ee/ok7Xy6dYF99/JXRrvtQQkGl2Gl0wPb2H2+Ri7nTlplZTQwoZpbNwI+lZdhL4Vf01g7/WQsXxBU6Yoz8zvH/i0zILXnwuk1HJAUdqLQ8xLV05A9N4uY1Yq0oQuADn8JNWLxiLAKhSpUfmthdqF/EVNj7vzAtw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(346002)(376002)(39860400002)(451199015)(40470700004)(46966006)(36840700001)(356005)(81166007)(2616005)(82310400005)(86362001)(110136005)(31696002)(41300700001)(36756003)(6666004)(40480700001)(54906003)(5660300002)(70206006)(8936002)(478600001)(316002)(2906002)(70586007)(4326008)(8676002)(16576012)(53546011)(186003)(4744005)(36860700001)(82740400003)(47076005)(40460700003)(44832011)(26005)(426003)(336012)(31686004)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 11:02:05.9007
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 348e1728-2c79-4d2e-0d26-08dad454a658
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT008.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4037

Hi Bertrand,

On 01/12/2022 15:25, Bertrand Marquis wrote:
> 
> 
> Add make clean support to remove the containers from the local docker
> registry.
> make clean-<image_name> must be called to remove an image:
> make clean-yocto/kirkstone-qemuarm: remove yocto kirkstone for qemuarm
> image
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 11:03:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 11:03:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451830.709623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13pf-0008Un-O8; Fri, 02 Dec 2022 11:03:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451830.709623; Fri, 02 Dec 2022 11:03:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13pf-0008Ug-LK; Fri, 02 Dec 2022 11:03:51 +0000
Received: by outflank-mailman (input) for mailman id 451830;
 Fri, 02 Dec 2022 11:03:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3Iy3=4A=citrix.com=prvs=3285f5271=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p13jX-0005B6-Vi
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 10:57:32 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 15f668ba-7230-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 11:57:23 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15f668ba-7230-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669978650;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=UY5V1ztvLDHDeM6oRGbllgDT8thJsbWRrKuqMI5IDOE=;
  b=aADnUJYBoV5l3PmH4WogsKtAJ2htxGZ8GEfiSHHvipDRUbrQvZPNOUyS
   MZk/skEuW6ywvOdyN4u3NJWpsbAbKIJB3NT9kSd/6XrxxQ48jdO7f7f1Q
   fOzhngvRO+6ZD+pPWTQ/0sUCuUD/k7sGQOYUENZQsI4mI1/MuY5R9EMfy
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88766325
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:h7whramvFpViImZ7eQqQgGbo5gyJJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xJKD2iOMv/cY2rwKdkjPd7n9RkDuJHRn9YwTQA9pH80HyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icf3grHmeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aqaVA8w5ARkP6kR5AWGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dlGEmkUMzGevd2/xevmFsNLu/4AMNa+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsfYT/7C7pn9AusrnTzbTxe7k6Sv600y2PS0BZwwP7mN9+9ltmiFZUKwBjD/
 D+uE2LRPzQeNNCx0TO/40mSjMDChTLqBtoLPejtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHslhIVRdd4CeAx7wCJjK3O7G6xGWwsXjNHLts8u6cLqScCj
 wHT2YmzXHo27ePTGSn1GqqoQS2aHHYvdHZfRDI+cgIAuoS/iqYOtDHTUYM2eEKqteHdFTb1y
 jGMiSExgbQPkMIGv5mGEUD7byGE/caQEFNsjunDdif8t14iOtb5D2C9wQKDhcusOrp1WbVoU
 JIsv8GFpN4DApiW/MBmaLVcRer5jxpp3dC1vLKOI3XD3271k5JAVdoKiN2bGKuOGphsRNMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QQM8koJVHep383OCZ8OlwBd2B1wckC1
 WqzK57wXR7294w4pNZJewvt+eBynX1vrY8ibZv60w6mwdKjiI29EN843K+1Rrlhtsus+VyFm
 +uzwuPWk32zpsWiOHiImWPSRHhWRUUG6Wfe8JMNK77Zf1E4QgnMyZb5mNscRmCspIwN/s+gw
 513chQEkjITWVWvxd22V01e
IronPort-HdrOrdr: A9a23:c3YxjKzE1kqWzBQM45gCKrPw6L1zdoMgy1knxilNoHxuH/Bw9v
 re+cjzsCWftN9/Yh4dcLy7VpVoIkmsl6Kdg7NwAV7KZmCP1FdARLsI0WKI+UyCJ8SRzI9gPa
 cLSdkFNDXzZ2IK8PoTNmODYqodKNrsytHWuQ/HpU0dKT2D88tbnn9E4gDwKDwQeCB2QaAXOb
 C7/cR9qz+paR0sH7+G7ilsZZmkmzXT/qiWGCI7Ow==
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="scan'208";a="88766325"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, Christian
 Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 4/4] tools/ocaml: add .clang-format
Date: Fri, 2 Dec 2022 10:55:59 +0000
Message-ID: <d4875eb966303398bf44c168b455b47544eb1edc.1669978356.git.edvin.torok@citrix.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1669978356.git.edvin.torok@citrix.com>
References: <cover.1669978356.git.edvin.torok@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Add a .clang-format configuration that tries to match CODING_STYLE where
possible.

I was not able to express the special casing of braces after 'do'
though, this can only be controlled generally for all control
statements.
It is imperfect, but should be better than the existing bindings, which
do not follow Xen coding style.

Add this to tools/ocaml first because:
* there are relatively few C files here, and it is a good place to start with
* it'd be useful to make these follow Xen's CODING_STYLE
(which they currently do not because they use tabs for example)
* they change relatively infrequently, so shouldn't cause issues with
  backporting security fixes (could either backport the reindentation
  patch too, or use git cherry-pick with `-Xignore-space-change`)

Does not yet reformat any code.

No functional change.

Signed-off-by: Edwin Török <edvin.torok@citrix.com>
Acked-by: Christian Lindig <christian.lindig@citrix.com>
---
Changes since v1:
* change commit title to reflect this is for OCaml subtree only
* don't mention stdint.h here, that may be fixed in a different way elsewhere
---
 tools/ocaml/.clang-format | 9 +++++++++
 1 file changed, 9 insertions(+)
 create mode 100644 tools/ocaml/.clang-format

diff --git a/tools/ocaml/.clang-format b/tools/ocaml/.clang-format
new file mode 100644
index 0000000000..7ff88ee043
--- /dev/null
+++ b/tools/ocaml/.clang-format
@@ -0,0 +1,9 @@
+BasedOnStyle: GNU
+IndentWidth: 4
+
+# override GNU to match Xen ../../CODING_STYLE more closely
+AlwaysBreakAfterDefinitionReturnType: None
+AlwaysBreakAfterReturnType: None
+SpacesInConditionalStatement: true
+SpaceBeforeParens: ControlStatements
+BreakBeforeBraces: Allman
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 11:03:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 11:03:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451831.709635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13pi-0000Kl-Vg; Fri, 02 Dec 2022 11:03:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451831.709635; Fri, 02 Dec 2022 11:03:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13pi-0000Kc-Sk; Fri, 02 Dec 2022 11:03:54 +0000
Received: by outflank-mailman (input) for mailman id 451831;
 Fri, 02 Dec 2022 11:03:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NC9X=4A=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p13ph-0000JL-C4
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 11:03:53 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20619.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 00c165fd-7231-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 12:03:52 +0100 (CET)
Received: from BL1PR13CA0296.namprd13.prod.outlook.com (2603:10b6:208:2bc::31)
 by BY5PR12MB4115.namprd12.prod.outlook.com (2603:10b6:a03:20f::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 11:03:48 +0000
Received: from BL02EPF0000EE3D.namprd05.prod.outlook.com
 (2603:10b6:208:2bc:cafe::8d) by BL1PR13CA0296.outlook.office365.com
 (2603:10b6:208:2bc::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5901.8 via Frontend
 Transport; Fri, 2 Dec 2022 11:03:47 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF0000EE3D.mail.protection.outlook.com (10.167.241.134) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Fri, 2 Dec 2022 11:03:47 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 2 Dec
 2022 05:03:47 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 2 Dec 2022 05:03:45 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00c165fd-7231-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f/fEQ9IGaTQkY/W0BK9vdLNGAlv44M3Mjh8CDEBHHMR1YwimBfjXefWRvJq73WkgsJKrKu4xsvJDeKGGVpTMoOACQ5rtyKefOBuLyKyBbtyAUoMK+PI3HSUQ9t8BcXV1ChVFIwnHV3mqvqDRjLICJCdab3rs5KG0gxYRW3xmEJ7i3pMAABgvIPdK0BKmUJgG+wLZ88VVXhHDkxb+votyfYwkn0dqKPSlqUQoqGAtRhZTqjGYL9Uog2rS59tIMvOZ8Fai0OehlEGhbxUwCZQoVAB/mAF8IvCvrjtVI4C9AQr8MbbRsbgw7X2H4PK9BmC9JmyE12kuMY1O40juvd2c3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/3rwpC60yXd+KjTYseXS+RJ42sWBtno2bESEvm93a5M=;
 b=RAoU8Usk13OG2eixXar6FL5ONPa20pbpzpZDLwxEiiRTPgOZFWvpBKzdGZ5AkYsEyex5X5DmIGPNibmr/fulVHbxCQVwds/J4yiZwPrqiSN3z2F3NBYCVQRWtusm9BkzSuzU6CqbItp9TfsQiYn2S1lcH63FOvksp8NHvPVLKxqylGegr6Bl7KKgqEpNeJ7NWJgT8F4asY5VDFOgQvZVZ9xqAYLm/aENs+9C0xeJpP0gtnEth3NyafG/qL5zm4s2t3O/Kp6sYu/AcNsBkKqTBawEdi/ZikF/aS9ZbRULKr6bSbgsH3D5dgBs6KG5BNHOjG8v5wzwzT2dCS+mpOijAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/3rwpC60yXd+KjTYseXS+RJ42sWBtno2bESEvm93a5M=;
 b=UaZrWva575MpEJy0HAgvmafd3s94mgozzfTcsRWClasrGhWfQG6KhmdjHCbDa/Mbv1c2aEGB5T7e535qft0Udj1VHwGSwJY0kddHMTvnGePqfPe6dgH1VTtQv1yjSC/VS7tPonQ6fcGoDkPkiwClirfg7GTrvSR5WTM3uGtouk8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <62c25fce-bcdd-f178-1d0b-6e1a524ce6e0@amd.com>
Date: Fri, 2 Dec 2022 12:03:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v6 1/3] automation: Create Yocto docker images
Content-Language: en-US
To: Bertrand Marquis <bertrand.marquis@arm.com>,
	<xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu
	<wl@xen.org>, Doug Goldstein <cardoe@cardoe.com>
References: <cover.1669904508.git.bertrand.marquis@arm.com>
 <43aa7a440ee7af24c829dc6a70064e2f5fce2302.1669904508.git.bertrand.marquis@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <43aa7a440ee7af24c829dc6a70064e2f5fce2302.1669904508.git.bertrand.marquis@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0000EE3D:EE_|BY5PR12MB4115:EE_
X-MS-Office365-Filtering-Correlation-Id: af663b88-1bdd-4450-2ce6-08dad454e31c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PRg3prX8g3ZfjvrMPFIOyDfyPzK/DizAZeOi0nglaGGwAmlnszhZ/hHSWwYfu+lZ9M6xUbfFbzJ7LF+FlTpzHEi3zl6K9dLl8UQb8Aae/xTq3XgTRwhi3mImICSp0IWkK9SKbx4SM5IloGXH+7aHmBuGDX07J9IZL85siPefluQWW8ZO7LQGguY/RpAcr1XQ688CLDKgioAWgKk8ngUFI6Pckuah1oftcIF1zieQ1K9wHJv6/GEdCORIbzC2xCJttA68papYCP/0u0qSUpCMqbb/tDV/tSHA3dTOfl5gy/mwSAOGNfeVWr7C7l64x2IrWt+fL5U+dVnR8Vbzqj5DQHGEc7wm9rFTSP06XlnVrYJ+9yEZ9KYD1WuMeEbe7tQwKDW/BMqnPLV1WmdRV998yunQx3iLDojwtKHBcs3tcA18ZyPjEWjFuRp01ORe8CgGfqaJcFMNsimzpq3iu3ERRrRqK20G5OT2SgbzyeIW6VnrPukLNnmfV4KwSHLcWcplCFMIuBwGhlROKZYh351ooVMnuET8zsJsGe+YpliyQF2c86/wQcJNjL2P1YLv9eqpH2OQx4cVNfAYg1lp0HNqp0jWy2h/oFIJhZHtGXPindmaO51LG/bgCj2e2A+NtVvibWh1xrsV7hZtWQqbqkkBowU3I8I3wTBcorsE56gnO4GxX5BOmD7lkmgAO7+JEgibuAXnc9ugCPIgLb9Tf4bEJi/JLmWM4jsB/ehpYNG/W0sy9ceJJOKgCQm64hOZORJ/o31eox9t13Z0h+cCL1PSNA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(376002)(39860400002)(346002)(451199015)(46966006)(36840700001)(40470700004)(40480700001)(36756003)(40460700003)(86362001)(36860700001)(31696002)(478600001)(44832011)(26005)(53546011)(186003)(5660300002)(4326008)(41300700001)(8936002)(316002)(16576012)(54906003)(110136005)(8676002)(70586007)(70206006)(2906002)(82310400005)(82740400003)(81166007)(356005)(2616005)(47076005)(426003)(336012)(31686004)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 11:03:47.8493
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: af663b88-1bdd-4450-2ce6-08dad454e31c
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0000EE3D.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4115

Hi Bertrand,

On 01/12/2022 15:25, Bertrand Marquis wrote:
> 
> 
> Add containers suitable to run yocto kirkstone build based on ubuntu
> 22.04. It contains all packages required by Yocto and a checkout of the
> layers required to build Xen with Yocto.
> 
> Add a generic docker image template to be used to automatically generate
> docker files for different configurations:
> - specific yocto version
> - different targets (qemu arm, arm64 and x86)
> - different host platforms (x86 or arm64)
> 
> During a call to 'make all', only the images for the host platform we
> run it on in the CI is generated.
> If needed, images for an other host platform can be generated manually
> by calling the right make target (see make help).
> 
> Add a build script to build and run xen on qemu using Yocto.
> The script supports arm32, arm64 and x86_64 and checks that dom0 is
> properly booting. At this stage this does not run any guest on top of
> dom0. The script is to be executed in one of the docker images to build
> and run a system using a Xen source tree.
> 
> Add automation/build/yocto/*.dockerfile to gitignore as those files are
> generated.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

I know that Stefano tested the build/run on arm64. I did the same locally
on x86 successfully.

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 11:05:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 11:05:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451844.709646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13qt-0001A1-AP; Fri, 02 Dec 2022 11:05:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451844.709646; Fri, 02 Dec 2022 11:05:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p13qt-00019u-7O; Fri, 02 Dec 2022 11:05:07 +0000
Received: by outflank-mailman (input) for mailman id 451844;
 Fri, 02 Dec 2022 11:05:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p13qs-00019f-DZ; Fri, 02 Dec 2022 11:05:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p13qs-0008AJ-47; Fri, 02 Dec 2022 11:05:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p13qr-0002ak-JF; Fri, 02 Dec 2022 11:05:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p13qr-0007TS-Ik; Fri, 02 Dec 2022 11:05:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NGIAaMJRsKzJhFpFqB37n9DcTx1js6/ddS1PhPOzQpA=; b=pBPHzPLAkStSnCjd4tPdgUxIuw
	Nz4+REds8Nk/wYCdOlll94t5z5poNX/4DJBLCEXorh4NfRMuWM50Apum7JBBGjieGa6l/GdCqNNbQ
	tZJYC8T5inrdNC5NTBK8pY+vun9Xcy5aPJ/J8VYImmuTK50tIXMsHVR1leestb7zyR+I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175011-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175011: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:<job status>:broken:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:host-install(5):broken:heisenbug
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=ef4d3ea40565a781c25847e9cb96c1bd9f462bc6
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 11:05:05 +0000

flight 175011 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175011/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl    <job status>                 broken in 175004
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462

Tests which are failing intermittently (not blocking):
 test-amd64-coresched-amd64-xl 5 host-install(5) broken in 175004 pass in 175011
 test-amd64-amd64-freebsd11-amd64 19 guest-localmigrate/x10 fail in 175004 pass in 175011
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175004

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 linux                ef4d3ea40565a781c25847e9cb96c1bd9f462bc6
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   55 days
Failing since        173470  2022-10-08 06:21:34 Z   55 days  107 attempts
Testing same since   174998  2022-11-30 19:12:42 Z    1 days    4 attempts

------------------------------------------------------------
1925 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-coresched-amd64-xl broken

Not pushing.

(No revision log; it would be 184191 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 11:17:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 11:17:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451864.709657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p142q-0003p2-IT; Fri, 02 Dec 2022 11:17:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451864.709657; Fri, 02 Dec 2022 11:17:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p142q-0003ov-Eu; Fri, 02 Dec 2022 11:17:28 +0000
Received: by outflank-mailman (input) for mailman id 451864;
 Fri, 02 Dec 2022 11:17:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w4XS=4A=citrix.com=prvs=328b81dc6=George.Dunlap@srs-se1.protection.inumbo.net>)
 id 1p142o-0003op-FS
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 11:17:26 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e4b9d6b5-7232-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 12:17:24 +0100 (CET)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 06:17:22 -0500
Received: from PH0PR03MB5669.namprd03.prod.outlook.com (2603:10b6:510:33::16)
 by BL1PR03MB6055.namprd03.prod.outlook.com (2603:10b6:208:31b::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 11:17:18 +0000
Received: from PH0PR03MB5669.namprd03.prod.outlook.com
 ([fe80::5d4b:6b1d:efc2:20e5]) by PH0PR03MB5669.namprd03.prod.outlook.com
 ([fe80::5d4b:6b1d:efc2:20e5%9]) with mapi id 15.20.5880.008; Fri, 2 Dec 2022
 11:17:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4b9d6b5-7232-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669979844;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=M+PpOz/w0krcXzk9q6fWnqZiorLkvvghLPXqrn4NDzQ=;
  b=XubSvW7Lgp+3x1fqZNw/sXz57//D0wzvQsLMW9sv/uri0dQwFWzEd5p3
   6SvkFEsrT0vIJDvSw9x6QYD+AUHdE4321T7iVy85GEGGtrpNzcCetqsto
   eIqCg7TIGSgS3+prpVOsru2wKK6HLx1BymZf6FCXyxeV3/BwiSnC0L8ox
   4=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 86244060
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:JdhIe6t4SFZG1gXcCflZd2yBMufnVNpfMUV32f8akzHdYApBs4E2e
 1ou7Vv2eabdPDOxPpsjdtz1pnqyiuaDnYNjSFA4/H02FS4T8JbJCd6SJxn7Yi7OJ5LNQR8+t
 shBNIfNcp85FnLV/BnxaeS5pHUk2/HTS+CjV7TJZ3opLeMIpF/NrDo68wJuqtI40bBVej+wh
 O4eg/EzGXeoijUuYj4a5ayI9Rgy4Kmvsm8TsgFhPK1B4FSPyiYbXcNDKfm9IUWjT9gPFIZWZ
 QphIJKRpTqFokh3WrtJtp6hLyXml5aLZVDmZkJ+AvTk2V4a43Roic7XDdJEAW9PkTKFgttt/
 9tEsJ20WG8BM7bF3e8QSHG0KQknVUF90OKBcCbXXfC7lRWcKSK2m682VinaAKVDkgpJKTAWn
 RAnAGhlgiCr34qe3L+9Q+9wscUvROGD0FQ34ywIIZnxVJ7KcLibK0n4zYYwMAQY36iiKc32d
 csBAQeDWTybC/F51vX7P7pl9AugriGXnzS1Mzt5r4Jvi4TY5FQZPLQArLM50zFFLClYth/wm
 47Iw4j2Kkk3C+GG9GOGyXvyj/LpzHn5cb1PTJTto5aGgHXLroASIDs/cALi5NOf2gu5Ud8ZL
 FEI8C0zq6R07FasUtT2Qxy/pjiDowIYXN1TVeY97WlhyIKNu1rfWjdCE24HMYJ23CM1bWVCO
 luhsN7uHzNi9pGIT3aU7p+frC+oODhTJmgHDcMBZVtbuYW/+N9r5v7JZtV4PPftk4LRIArX0
 SCKjxFliIgd1+degs1X+niC2VpAvKPhQw4440bHU2SN615hIoWiYuSA+VXdqPpNMoudZl2Ap
 2Qf3diT6vgUCpOAnzDLR/8CdIxF/N6AOTzYxFRpT58o8m30/2b5JN4ApjZjOE1uL8AIPyfzZ
 1Pesh9Q45kVO2a2aahwYMS6DMFCIbXcKOkJn8v8NrJmCqWdvifelM2yTSZ8B1zQrXU=
IronPort-HdrOrdr: A9a23:S3V4Yqns5DAYiYkWa//WIq75nxbpDfMXiWdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7SdK9qXO1z+8X3WBjB8bZYOCGghrjEGgG1+ffKlLbakrDH4JmtJ
 uINpIOcOEYbmIKwPoSgjPIderIqePvmM/HuQ6d9QYVcegAUdAD0+4NMHf+LqQAfngiOXNWLv
 qhz/sCgwDlVWUcb8y9CHVAd+/fp+fTnJajTQ8aCwUh4AyuiyrtzLLhCRCX0joXTjsKmN4ZgC
 f4uj28wp/mn+Cwyxfa2WOWx5NKmOH5wt8GKN2QhtMTIjDMjB/tQIh6QbWNsB08venqwlc3l9
 vnpQsmIq1Imj/sV1DwhSGo9xjr0T4o5XOn40Sfm2HfrcvwQy9/I9ZdhKpCGyGpqnYIjZVZ6u
 ZmzmiZv51YAVfrhyLm/eXFUBlsiw6dvWciq+gOlHZSOLFuKIO57LZvv3+9Iq1wWR4S27pXVN
 WGy/uso8q+RGnqLUwxeFMfhuBEEE5DRytuCXJyx/B9mwIm4EyRiXFoivD3101wiq4VWt1K4f
 /JPb9vk6wLRsgKbbhlDONEWsevDHfRKCi8eV57sTzcZd460l/22unKCY8OlZeXUY1NyIF3lI
 XKUVteu2J3c0XyCdeW1JkO9hzWWm2yUTnk18kbvvFCy/bBbauuNTfGREElksOmrflaCsrHW+
 yrMJYTB/P4N2PhFYtAwgW7UZhPLnsVVtETp78AKhqzi9OOLpevuv3Qcf7VKraoGTE4WnnnCn
 9GRzT3LNUo1DHeZpY5ummlZ5rAQD2NwXsrKtmqwwE68vl8CqRc9g4IlF+++saHbTVfr61eRj
 oNHI/a
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="asc'?scan'208";a="86244060"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i3nxhp9mnTf05TlbreynxAhg1DsP4pyC+k1+YhEJcPxSSIMxnSeN6xdeZ0b98IWYIaQH19CJzwu4fnaArtdqBpm56Wod5UciXScE/VWBAlTOwVU3zDXn02HjUycEe99Xts1oEHVWXjMllu6rNKHh0BF4M5ga+DO12T5Wuzb01DfQs/q/CDZrZOf40VhpOlEmOyCOCegh101p4NDBprfUHo1Uu0jNn3QuiLEgImcCq2Z3nS4nviJ/Wkwg4Tke35ozmyCFMxkC0aR7gyYtrCl8yYlZIp4UrWWN+cp8of7kQM6qQ5ZtguSeEW4eMfBvzoHrB5H53PHJeg5sRAkdie8l2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ipNbEsn4yy/aIoQQ4p2/urTkPpOXt4vE5E5tcea4LrM=;
 b=To8SKBtiBhi1I4ijksMpFScutiAwyqf5OxfX1GyzpP3Fy25NnegonEPzQ8J1NZdYQr46V9nnZZjCaRnjguNbcrgW7GwVCWiXq8ZiGVec5v/xD74J/yRzMXIZn0REWBQFBkDKhWNhD7v3IhBOawod+OrReT50GKrqmHPM7orlbgkXZtx9+s7kFzqcfYX5VvVA813tdZhDfSTbDhYqiH3TTYJ9HtvNLS9Lmzj+eMDE2KYaWPwHvEHxtQyl/2SKqLulVlM4FHCZphoVbTXF1hJ74UHd/qChTR8/mrPQkl9dXFU3rvVI4UamAQMLpJWIxo5JycSZcTGDWnqpjb2OXOLkNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ipNbEsn4yy/aIoQQ4p2/urTkPpOXt4vE5E5tcea4LrM=;
 b=uCKWc2YLe6sXTehjtXv3Y1/uKa1bzs3v5UAEZcUKZenZ6s6mjl5CMtsemOOrvj5gKps345Kr8HzBFnkwAKX0drt3BTMEIeF7lRY0ZGJWb5Fpv2o4mBDNlpEfFteiHn8A7bn+AbC54vJfcl9imMWHA3Ur9Y3NVUdC+mjhQtEweo0=
From: George Dunlap <George.Dunlap@citrix.com>
To: Elliott Mitchell <ehem+xen@m5p.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [ANNOUNCE] Call for agenda items for 1 December Community Call @
 1600 UTC
Thread-Topic: [ANNOUNCE] Call for agenda items for 1 December Community Call @
 1600 UTC
Thread-Index: AQHZACfPFcfU+bc3t026q3xIEXKCXK5Zn1CAgADfoAA=
Date: Fri, 2 Dec 2022 11:17:18 +0000
Message-ID: <A28E972F-8F8E-4370-9BCC-A56E8D19674E@citrix.com>
References: <Y4kjIaU6PxrR9UcB@mattapan.m5p.com>
In-Reply-To: <Y4kjIaU6PxrR9UcB@mattapan.m5p.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.100.31)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH0PR03MB5669:EE_|BL1PR03MB6055:EE_
x-ms-office365-filtering-correlation-id: 7c21bc78-f3f2-4884-5ecc-08dad456c65f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 2uwEW6SIJ8FLVKjW/zkj2qXAFgBWjNRToE1QM3TGl5zlze64VHeeOgppPQQzzY+ldFv5CoGorh9S31jam1VdPdZMCd/beSfqk0E5+AS1r52LXmJN8l3KlBwajH9DZQkY+ftizrSpqIzM/sSUF9MtuO7gRe0Gm67xcR4joQ9g97rhM4HIV6m/bansrRp4C110EJaV651xMivW0eQ6dW95HbgVDkM9wEfSmrlLXpzvVlzGz4olDUZQYHgA6QsUfgbYwib1nowWGIksAV7ezZDnpu7GN7WUbpbB8qNAdQqYAV6Fl5xY5SIGKsH6pDJV01QMgxDLp74jEO/mLhqjDOis3gf528rosqONoKZJSUZGBvyJ901KqyjZV8AYPhLmV1YRdk04BXz316i9Z+Bk2DxvjgB2YVKidCOXGd6zt9S4lCPs39UHLVIcNYT4u6/ATW7ceZ1/pk54j7q5XaOKcc10ULCePBt7zZEd1firbSPY7PUX4hz1iklhd62oH+KuQkeuCZX5UZZUQ/xFBB60/JIB+4LruHr15oIRHXP4wvNT8H1Kxv709bee2FwB3+/kW1FHiOELzS6J3MjZVSYsIpoBWP65DXLjEKMq86yWYCdu6sL7/L97NoR7pERCor1tP/r2AHeQius1b6TFDvRnqZ7ygRiIM//H4kjHpaD1mzj3CXy2UrflYth5grS4BMfHCg05dq7R+6WZ35SuxpHaU0J+uUhMfVmcd1hRu4rvkJ951SVkFgIEMjGjOeiISDyA6RujSnnlI+e0PY9S25MqiPzKt7X2CqEfgqIQ1KvKIDKU15t+ai/CkwyvFjiuU0cb1A5Z
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB5669.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(366004)(39860400002)(376002)(396003)(451199015)(66446008)(83380400001)(86362001)(99936003)(122000001)(5660300002)(82960400001)(66946007)(38070700005)(38100700002)(4326008)(41300700001)(2906002)(8676002)(26005)(53546011)(186003)(6512007)(6506007)(316002)(2616005)(66476007)(66556008)(76116006)(966005)(6486002)(91956017)(71200400001)(33656002)(64756008)(478600001)(36756003)(8936002)(66899015)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Vk5EeGJ1QTlxRk8zTWxoUVBEVFdSb3dtYUxTRXBYanhnQ1RYZXFlQjdPM3l4?=
 =?utf-8?B?QXNLWGpWYUtxei9ObitPMjlMdzJUTDdrQVpmTFNwUlAzaUFmSUJEM0Z1MEtE?=
 =?utf-8?B?NGtvWXo3alJxMHRoUHJkWEpCSmwzTUdGNXBKNVJ1TFBPM3IrcFhMR0tmUXE4?=
 =?utf-8?B?ejEzeThVS1ExbUhpSXY5akVoaDIranBidFp5bGpRSEhidVljejZGVTk5VU8r?=
 =?utf-8?B?V1lveWw4bmdnSWNObVpIKzU1STRsdElqOXpMTy9RamJtVGRZNVhlK3JjUWp3?=
 =?utf-8?B?dzRtTnBkTWs3NVZUR2FuN3RRbW5UT1pEa1hxTTFWUngrK3c5aGNkWGZlZXRJ?=
 =?utf-8?B?L3dNbkZGSnZYZkVTWnNVNGJXRHF1d2QwWmxpYjVTWnFTR0hzSk03OWFRQTA5?=
 =?utf-8?B?ekltemhockJjVGdtUDFKL3VJOEprMXNnNWhYWG5uVEcwaXdCZDNnUTFUYnlP?=
 =?utf-8?B?VnRMRUNyZ3phWWpmNmRMeTZBOFVzSTAwMXBKMmNzazlieFFVaE5KeWpaTnAz?=
 =?utf-8?B?SC9mMU9YSEpKZE1PVmtHOWZ4SUtYMG0zdTNDTmRvN1ZveUxxejc3czcxTVo3?=
 =?utf-8?B?Vit2ZGcvL1hHdnByTlBzanN5RjlGQjdqdXdzWEdJNDMvdWdwNHNZb3dGd3po?=
 =?utf-8?B?RzgxdE43dUh3MFhaeE1tSzdKQkVyZWVzK3hhaU1Nell2NEd0SVhCcUdndVNT?=
 =?utf-8?B?STF2eUVsOE1OSHdBYmx3ZWlwUzl6eFcyNStmY1JKektBSFV0VkZUYjV6V1BC?=
 =?utf-8?B?T2tmQU5jcHdYQnVpMWJPVzQyQTBiV0lwN0o1MmRmYS9iVVN6ZHJ2L2MwZE10?=
 =?utf-8?B?R0hjSm9yZGpqRTd3L0M0bU9XR0tLaGZqOXBLK1hJdGFORWtKT3dPVmtZSWNJ?=
 =?utf-8?B?ZVRKb1ZJeGNQY3NLdFdxTFErSjM5bVI0VHMvRTByVy9FeGE0NEJESnphbTZk?=
 =?utf-8?B?ckpSMjNGdkE2YmljOUVnRnlUR2VPMWxDYUN6RlFZcVpuNmwzbk95bWo1N0ZQ?=
 =?utf-8?B?VWl0MkMyZXlvVDh1TUJxWC9xV3FLc3dwTm1KNUo2NFRIVEIvTnR1Uy95bEQ2?=
 =?utf-8?B?UEpLcGJzdlhoUDhGTGsrdzB5bGRVSWYrU3J3eE91enl5L29yWHdBaURrZlJ4?=
 =?utf-8?B?NVRKMWUxb1hUQy9lNWZKSjBmMkdnWGdXZUs1ZUt5ak9FdGt4cGRkTk9LK3FP?=
 =?utf-8?B?MGZBTG83OEd5NkU1eThzdUYyeGR4ZHNud2V3Z3ovMFRySENXdlZUb2NPV3kw?=
 =?utf-8?B?M2x4eTJtckhDVkZTZFdxWmxMWFBoVGNzelFvazQ3TlQyZ2Z4c2UrWEkxMzd5?=
 =?utf-8?B?eEF0MTYxTkhCV3V0R1A4RXE4TWNGTzNBaUlERWM3eUVuYXhvZ0FCN3ZwR0Y3?=
 =?utf-8?B?RTZzY29SWW50M0ZNWmVuVW5XenU2VEROblRGbjRkckh1cmZOUnp2d201aUc4?=
 =?utf-8?B?UVI4Rm1EaXFNc0U3SXFJWHNGTFJVWkJuNkxEdmRlTGlNdUJaeCs5SnI3dFJ4?=
 =?utf-8?B?eTVIWVRjcFpTbzUzZllqdWJNcjBtMDVRSmhkaTY2RndZR2FzME1BekVnd2VQ?=
 =?utf-8?B?anVxczZZMnBTYWI3VHNwVGIrNTRvQWM4ai83cE04NHFkakV2YWpnYmZVb3NQ?=
 =?utf-8?B?eUpvajV6TDNtVjJYb0tBdE94dWZVREtFakN2WFFmeWVFUzNneFQvaHZvbDZY?=
 =?utf-8?B?ZzNMTHQyS0pweW5wWW8vYU1Da1pBbEJHbHEydlBJYzl5dG9VSFpBREQ2MU9Y?=
 =?utf-8?B?UmhOZ2JCTVgzUHp0eENCc3J4UElubVgwNXlhb3Q4MWlHSzN3WDRtSkEzUEpE?=
 =?utf-8?B?OG93aWtUVjByNng4anJmdW5QZE5WOFc4aGNtUlM3dFhpRUJ3eUU5d3A2dmM3?=
 =?utf-8?B?R21qaVh6TDg1MXVLSjJJNVlyeTd2dE94VTJvNEdFMEg3bFoyVFJZaFNtSGZD?=
 =?utf-8?B?eXE5dDUvSTUxSTFFb28rY2g4VVBUUW1zMXVaYUcxc25iZWZPU3hCZEZLclZw?=
 =?utf-8?B?NzdIK2VOV21TSFhoMmNESUo0NkpMczZRVWFvb1pUSXZKWE9MZGdYQ3hTajBD?=
 =?utf-8?B?eVFRZ08zcDA1KzNUOXREK2NtVDVsUTZXN2daZEFySWk1UzRlZjI3b1Qrc1pH?=
 =?utf-8?B?d1h5SXpUSTBJYUYzb2NFWTZHcVdhOFMxVjFxUGpIMFA3SnhxTnNsNXFsVEkv?=
 =?utf-8?B?cXc9PQ==?=
Content-Type: multipart/signed;
	boundary="Apple-Mail=_A6179C39-7E41-495F-879E-BBB709FBFBAA";
	protocol="application/pgp-signature";
	micalg=pgp-sha256
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	CoROZDFugG8l1OCcJ/G3qut36A5470VXZq9Zl23+Uv1ieOR8OcvM2CyQhHdFmo9ng1Kd2DBdjxmGcype872O1sF7v6sVrOxJGQX+3ywlJu9B7sP9rnt8sOuxNgDeOHs3qIuj4vPo0h4vAiawZJ5zQsIX5elo+YDQ/2hLKCY4G+WhGAu7ed3gDyIhfGX3VAuGZI4tINhMHQ6tFWaHIkJUSElIG4t4S2zhssg8/KgAMx+EFrgcZyMfEloOSyXVugjSdS6rUGtkbczQqc4ewHmbGEevElclUHjcFQrJQg6inIuRyjJOIFJmdCXWrjhkoz0PXSNCDCqvIKvzapcSH9C46rcUzI2mcQCO/speNhfUBZT/79qP+6TZ9VJjAMToXMcBWgyfft9zn8I61G4t/VW8ZKIFYZ0BtiF4L5IEQJ94siDMTNqU+RbZYdOT6UJzBtDnKEG+RDJSIirLNYHMH4JrWrbAMm7auI1QDas7An3s0THJdz+gN6ivCNGGadj6q6eCa42Yw3RXZgEKjTBteiAoPLUI/VKI/izEB9+2em2L8Sin6unhsX6DogErJmo1OL2d/Puup+b5VYgNlfbbu6T7dBS1ygAQVrTZPtWiRC4Ut4VCOPgfsyNkUvPmufFpUMaNn/fwPQI6yr6XHbAfQWCneBGWcX3BISstEpCs0jrs2767NrfGLz0sD0JZKzDexXcPNcLLA9mj2YF71PPMPibP0LRoqDIzARK77VMj49BC+ghSKGIGwI9/ftJL/4Ux56lFKfaNJU53cLpvjs3CuNilHG6u2zx3Kid0ngwwBkCHUY4=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB5669.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c21bc78-f3f2-4884-5ecc-08dad456c65f
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 11:17:18.6135
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: KrvTF2t8DA2ERv1IdclnHKfDlWXe5GbTAPTJBHVRCBXjAn2VRZEO3tEihte58NWSiFah1w91VYZJfg3nqiFavMHppubD0WR5hhgzlRtVhKU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6055

--Apple-Mail=_A6179C39-7E41-495F-879E-BBB709FBFBAA
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8



> On 1 Dec 2022, at 21:56, Elliott Mitchell <ehem+xen@m5p.com> wrote:
>=20
> On Thu, Nov 24, 2022 at 05:11:36PM +0000, George Dunlap wrote:
>>=20
>> =3D=3D Dial-in Information =3D=3D
>> ## Meeting time
>> 16:00 - 17:00 UTC
>> Further International meeting times:
>> =
https://www.timeanddate.com/worldclock/meetingdetails.html?year=3D2022&mon=
th=3D12&day=3D1&hour=3D16&min=3D0&sec=3D0&p1=3D1234&p2=3D37&p3=3D224&p4=3D=
179
>>=20

Ellliot,

Thanks for your feedback.  Replies in-line.

> I guess I have to ask, what is the goal of the Community Call?  =
Neither
> this message, nor the wiki page
> (https://wiki.xenproject.org/wiki/Community_Call) say much about the
> Community Call.

The goal of the call in general is just to talk about things that need =
talking about.  We obviously have the mailing list, but sometimes =
discussions here are easy to miss; and sometimes a discussion can get =
sorted out more quickly with a fast back-and-forth than with long email =
chains.  The intent has always been that if we start getting one topic =
that consistently 1) takes up a large amount of time and 2) only =
requires a subset of the attendees, to split it off into a separate =
meeting.

> Varies from place to place, but many places meeting times are more
> aspirational than ridged.  As such I felt rather disparaged by being
> careful about time, but no (obvious) effort spent prioritizing items.

It=E2=80=99s been quite a while since we=E2=80=99ve run so long.  I =
don=E2=80=99t necessarily have an objection to the call going long if =
people have time, but in this particular case I personally had to leave.

We have, in the past, continued a long-running part of the discussion =
past the end of the time; and once after I left and a handful of people =
stayed in the room for another hour and a half continuing the discussion =
they had started.  In those cases, it was clear that the people key to =
the discussion were willing to stay on later.

At yesterday=E2=80=99s meeting, I could have asked for a volunteer to =
run the meeting after I left, but as Andrew was also leaving, and a =
number of the subsequent discussions required either me or him, it =
wasn=E2=80=99t immediately clear that this would be fruitful.

> This seemed to be being pointed out at the end of D.3, which was meant =
as
> low-priority, but was dealt with first purely due to being added =
first.
> Then most of the time was spent on D.4 when D.9 actually seemed a =
rather
> timely issue (the idea to get a bit of consideration before 4.17).

To be honest, part of my reluctance to move that one up in the agenda =
was because it was my own item.  Even with the number of items ahead of =
it, I didn=E2=80=99t expect it to be a problem to get to =E2=80=94 there =
were several items which took much longer to discuss than I was =
expecting.  In the future I=E2=80=99ll be more pro-active about trying =
to prioritize things.

> Problem with D.1 being at the start is it was unexpected half the =
agenda
> would be thrown in the garbage due to time.  Could I suggest the 10th =
as
> better?

The 10th of January instead of the 12th of January?  Why is that better?

I work as a stay-at-home dad on Tuesdays, so I wouldn=E2=80=99t be able =
to chair the meeting if it was on the 10th.

Hope all that makes sense; feel free to come back with further questions =
/ recommendations.

Thanks,
 -George

--Apple-Mail=_A6179C39-7E41-495F-879E-BBB709FBFBAA
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEj3+7SZ4EDefWZFyCshXHp8eEG+0FAmOJ3rgACgkQshXHp8eE
G+2Hngf+NrLMVgbF+5Tj8VRGQrid2GvjG1+VAL+YwP5BuUP0Q3GVta9/H4WPuF+V
TT29Np8mdy0jYxKnlOwIObPajgPvprdrzzILWqIprp4qxTZr/OB1BHymyFIEF5vO
lvcAhQMt4JZGJ3OyTTMY1ZBWXQv68N8YlhFe9+jzMKhLqydStJ/lNg25JQ5umJYz
0jjhX2z2BJHs3BlC6FviBxPmN8yyqeApK5QtWUYSkjqLqlsfJ/hoygBJEkXEBaYN
1O1FrTyJ7I1dYq/cxkEfxP4bQL2jsNhj8MrvgZ+JyrLfUNpqGUsETSjuRGE3p96Z
Y32XUXdWsraiUGiIe0Z422mCgnzvbw==
=VKuz
-----END PGP SIGNATURE-----

--Apple-Mail=_A6179C39-7E41-495F-879E-BBB709FBFBAA--


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 11:22:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 11:22:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451872.709668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p147k-0005EX-5c; Fri, 02 Dec 2022 11:22:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451872.709668; Fri, 02 Dec 2022 11:22:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p147k-0005EQ-1V; Fri, 02 Dec 2022 11:22:32 +0000
Received: by outflank-mailman (input) for mailman id 451872;
 Fri, 02 Dec 2022 11:22:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xeCl=4A=citrix.com=prvs=328e240bc=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p147i-0005EK-4b
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 11:22:30 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99b9869a-7233-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 12:22:28 +0100 (CET)
Received: from mail-mw2nam04lp2177.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 06:22:21 -0500
Received: from BN7PR03MB3618.namprd03.prod.outlook.com (2603:10b6:406:c3::27)
 by PH0PR03MB5767.namprd03.prod.outlook.com (2603:10b6:510:42::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 11:22:17 +0000
Received: from BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::5c96:fc3a:9d36:4a2e]) by BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::5c96:fc3a:9d36:4a2e%4]) with mapi id 15.20.5880.010; Fri, 2 Dec 2022
 11:22:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99b9869a-7233-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669980148;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=ItzYeLGm6Ss5mdsWfivCYYYDhHqlM5d+54JYkCtHzX0=;
  b=NpI41Fn2vw4mEGhLd3KaP/lyca/A/DeVNTcj5a1p3gnaGzzPzgsWNpU6
   BKTH7XjwU7Db838/Da+Q4XSi8sl6uv0LoZYsVF7kN2kD1RWroQEl5Iyi5
   PojhMwc+ZrD3Cvhfq6RoqvxqmtHAu/UPpa3hO0jFjZFSJxKOPchiPPybQ
   s=;
X-IronPort-RemoteIP: 104.47.73.177
X-IronPort-MID: 85266472
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:d0gp6KAmk/HcdhVW/wniw5YqxClBgxIJ4kV8jS/XYbTApDsj1TQHz
 WAcXGCPb/mLYmD1etp/bIS1o01V7MOGn9BrQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlA5ARkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw8aEnUF1Tz
 dciFRcyNRqqueKKy7aQVbw57igjBJGD0II3nFhFlW2cKMl8BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTK/uxuvDe7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prr+Sx32lBN1IfFG+3ux03Vi3mWJMMTY9f2uCn7rjkhbnVs0Kf
 iT4/QJr98De7neDXtT7GhG1vnOAlhodQMZLVf037hmXzajZ6BrfAXILJhZNYcIrnNU7Tjsr0
 hmOhdyBLSNrmK2YTzSa7Lj8kN+pES0cLGtHYDBeSwIAu4XnuNtq0U2JSct/GqmoiNGzASv33
 z2BsCk5gfMUkNIP0KK4u1vAhlpAu6T0c+L83S2PNkrN0++zTNfNi1CAgbQD0ct9EQ==
IronPort-HdrOrdr: A9a23:Kcq90q/FN78d9NTF78xuk+Grdr1zdoMgy1knxilNoENuEvBwxv
 rOoB1E73HJYW4qKQ4dcdDpAtjmfZquz+8K3WBxB8bvYOCIghrSEGgP1/qG/9SkIVyDygdR78
 xdmstFeZLN5DpB/LzHCWCDer5LrbXpgcPY59s2jU0dMD2CA5sQtjuRYTzrdHGeMTM2fabRY6
 Dsn/avyQDQHUg/X4CXI0BAZeLKoNrGmfvdEE07Li9izDPLoSKj6bb8HRTd9AwZSSlzzbAr9n
 WAuxDl54242svLhCP05iv21dB7idHhwtxMCIinkc4OMAjhjQ6uecBIR6CChjYou+uigWxa0e
 Uk4i1Qf/ib2UmhPF1dkiGdnjUIFwxer0MK/GXowkcLZ/aJAw7SRfAxw76xOSGpmnbI9OsMoJ
 6jmVjp76a+x3v77X/ADxuhbWAxqqLPy0BSzdL61BZkINQjgPs7l/1OwKuReK1wQR4TLOgcYb
 dT5Aa13ocGTbrSVQGrgkB/hNOrRXg9BRGAXwwLvdGUySFfmDRjw1If39F3pAZKyHsRcegM2w
 3/CNUhqJheCssNKa5tDuYIRsW6TmTLXBLXKWqXZVDqDrsONX7Bo4P+pOxd3pDmRLUYiJ8p3J
 jRWlJRsmA/P0roFM2VxZVOthTAWn+0UzjhwtxXo5J5prr/Trz2NjDrciFlr+Kw5/EERsHLUf
 e6P5xbR/flMGv1AI5MmxbzXpFDQENuJvH9euxLLG5mjvi7XrEC7NarAso7DICdZAoZZg==
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="scan'208";a="85266472"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oXj5oxo9PIf4bdc6VZtqz0BN2PW/zbOxU52CS9Bi+yzXlCUOParf5rtSUjESYsDnXhKVwsNKuxuygC2LmEfZdps01fULB6vB9STlxZirqrhD93/ksDWfg+kbyV6r351+31FYMRzCdIJUEv5ElCx1xxhFb4WtWxNPi3SS4u/WyJsSowSFD6vhtSlSRLuu9lUkp2lDRxoei8vsu7ozg8hwhQMZG3u75gifvrbJ5vtxwnYNVG+F/UXcWc0vXDJ1Yn7EvH6zxqRx/JaHLjr3BwtKhvE0hGe0LSdSmDGaCqDvjqg7PHnDzg9BTRcCeNk1HvUSAczzIIKQAZevRiS6SYA/wg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ItzYeLGm6Ss5mdsWfivCYYYDhHqlM5d+54JYkCtHzX0=;
 b=GbiVDixO89TR2s+gYYSJIfWET/MRJ1FAYdEmQt3nEjaZpCZowlXa/I3W6R8vMsZlet1A7YBMAvm249GDocqWqAI0DDUlbpPad69NAtwMSxKUzlZJ0sZyav2MxGRCc9E3icCVWbVUJ81OmT1s9/HWjvfZpXJngzpsmYb2KktMPKhFRB6lo54JU/bCX2gOKhaN2khGJzT1WcMRkp6p+zs3s3lM1uWdH338eAuAIJuMmdu7rYaTv6mzYV5UcUN3xylE1FoXGrkCt5UqdWSDa+O1e0Ekegmt3R4mJzGuw+KnYS2YEvxObHCRjFOhycUA5Zs/daZNVXMR3O1/xe3iotU5NQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ItzYeLGm6Ss5mdsWfivCYYYDhHqlM5d+54JYkCtHzX0=;
 b=LH25F3r7qeHyFpq2fd9CrLov4I+9AoEpxkaYdqGodp9oMh8UEk/khu4rgWiMMU2IepbIx3EvdoNEDPmC+vUou4uKbGofCNOi6sgrLKcg9QD6+noAxOdzVN2a0ctrGp8dQ/W8TS7yfYFPKhelJ7sRd92TqUIDERG5ENvrIWynJo4=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v2 3/4] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Topic: [PATCH v2 3/4] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Index: AQHZBj1QpnPDpN8ubkmTLtnuWN4I965adC6A
Date: Fri, 2 Dec 2022 11:22:17 +0000
Message-ID: <31cd2f53-4b36-b843-981b-994a0b472332@citrix.com>
References: <cover.1669978356.git.edvin.torok@citrix.com>
 <af355b5ef654745130815f30299d67bea7284f0e.1669978356.git.edvin.torok@citrix.com>
In-Reply-To:
 <af355b5ef654745130815f30299d67bea7284f0e.1669978356.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN7PR03MB3618:EE_|PH0PR03MB5767:EE_
x-ms-office365-filtering-correlation-id: bbf7b050-7445-4ca5-15aa-08dad457785e
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 DUg0QEdlgKH0hrwn3m2A727J/ffC0wbGLhqYr+05/5HZldEVYszWzlLTbKjI2ur/WcIy1L6ASsCwW6yy94Sn28WGu0xFZqeXLeauGKEM3dKpSLIlqQaevIl5tU0Pc8WeuZILFvchUaU5tu7L4cF2cb6/Xiu6jdCnN/QwsW9pMo+86cCbsrK7q5PQzyUriHPVHmvYsM6Dum102ji9gWXi/2AlIvbFoUmM4w+6qd3zPBKKQdfZHKdJnMg8zenx3w3PVEnG6/qpl6e05zY9MGOe8GeDzuIGJirUK9jXyXWJ1l7bo1Y906P9qmq444gnE2I2tty7oRAYsv/fXg6R9MXKuzPyitLN7uN5nt2MqY01otK+EFH/LWPMLxlqcJ/I39v9at+FixBgE8RvepywbtDvvfBmjQjxICWQDjQwWpBM1FNQMY+gNKaJDbgkp8IgZQ12jDFURoBpvMW1iwE0WJysQIkh5sbZK0/6AEO5Cy/b0TAGTJLlGkR3izbRFP575UmoG9eG6xUNLSW5zze1O0QGxGt+JYU7HmbGk1XfzQ9ASeD/uvlPeWfYBjkjK3UD2R/VMabmXGYTvumx4VtyGBv8XsyE8JQAIRqprLVcTTEQMC5E9dBVgITYlxkijeF0JGnYp2gD7pVcDAMIq+Fmh8nCIolmp3gQV06vAPZCvw8i+3r8VdWE33s2oQGOxR0Cx+zgWh/tyrheBvKoiN0opKrDKCJnK1l5xYOXYEW5kjB0gLiqFsc5IGlw8SpxXD/6zob6xodRuwj3HW9ZdY2EmlLTHA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN7PR03MB3618.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(366004)(136003)(346002)(376002)(451199015)(86362001)(31696002)(36756003)(2616005)(41300700001)(76116006)(186003)(66946007)(64756008)(4744005)(66556008)(82960400001)(66446008)(8676002)(66574015)(5660300002)(4326008)(6506007)(71200400001)(107886003)(316002)(53546011)(6486002)(478600001)(8936002)(110136005)(26005)(6512007)(54906003)(122000001)(38100700002)(66476007)(38070700005)(91956017)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YU4vVEFyNm4rdWNQRUZxSHZiMDFqV2xuckJoOXJLaGpzNUo2TlZoOGcrVUhY?=
 =?utf-8?B?SWpJbUw3dkliZHRuTE45MDcvYkI5dGVteVhHU1A1NWpXVlYvVmh1b1NTQWVJ?=
 =?utf-8?B?cnhJVmd2czNKZFltWktncnYwUGhENUlwQUtGZnJkV1VJMmYrOUVJMTlxTVdm?=
 =?utf-8?B?TFIwSmYxTHZOUno5RXI1N3BiQmdXNEtxc3EzWUZSNnlrbUdYc0t4M2ZySzQ1?=
 =?utf-8?B?UHA5VDZqRXBnVUNDdUIxUkF3MkFIdmdJdStCaTBmdEdFK1RwL1QvdHBDZ0s1?=
 =?utf-8?B?NFRLdUprYldpaldzbWRqelZwNExWVWRIQ0xhaGU2dXIvRjdoczdia09XQ3dC?=
 =?utf-8?B?aWtZa3ExdW1rYXBxbzhEalRGQ2NPZkw2cHBmeE40bWQ2UitRZm04cHloTGpr?=
 =?utf-8?B?OGZjWE9XbzF4WE1XSTlteGQra25sQmcxR3Z3Tk1qbGQ2SWhZVkJDRitCYVBY?=
 =?utf-8?B?K3V1RC9hZktlK1NZODByNHo0SGNTMXZOQU9WZ0JKRXFwOFovVHlMeDZ5UmdF?=
 =?utf-8?B?cDNBY0FHam8yRHVzLzdmd043NmxzS2dqSEdrNWQvdVY4NlhtVVpCVnlXemdt?=
 =?utf-8?B?OHFkTkZYelNEcDFjcUFzTzNUTmg4dWMzYXIrak9OMEpVUFpJVHJZVWg4U2pO?=
 =?utf-8?B?ZEM5UGhpLzFQaDRaK2V0RlNKUEk3RE1nMkM4QVhLcnM4cTd6azhUSWh6R3g4?=
 =?utf-8?B?NWdXUG5DcjJzWXVKUDFSNFV2b0RLR3V5NUpmUVYvNXpVZWxzNjJad1RJekF6?=
 =?utf-8?B?VU8wT0ZyS3ZrelZFTE95N3FyK2NPOGtyUXRlTkRsR1pld2J5WWJDOTlBMEZh?=
 =?utf-8?B?bDF6cnlYUERFbG5FNWZxT3JQZ1J6eHlNd1BmWW9HTnkwVzBHZ3pxRFlBMS9v?=
 =?utf-8?B?d2NOZDgxdGxtSVZnNHRrYng4VHFNY0U3UTNlbzJBMUVjT2Q0QXJrRTFlMkFh?=
 =?utf-8?B?SFUyN2xNb3MzSW9qdkhpZ2FvaUJ3bXVMYmw3aWUxZXF6Titwbnc1QnBMdExh?=
 =?utf-8?B?TGtNTEVGcGhxczlIRlE5cHNmcXI0YzRXZVdiVTJsK2xWWDFCenh2andZS2Vt?=
 =?utf-8?B?MXRaeGgwRzcvMXFOOWhUbTg3MkF4R1dRTG5LTVhyb1o0YXpzT2VyeGlsWkph?=
 =?utf-8?B?TmUxRnRUcm1GUlFNMU5GVVFtRzB4QWwzT2lCN3ZCMGNkTGo2TVFjMTllVU5K?=
 =?utf-8?B?QS9vV2N5blRVaytuTGpkbHd2ZzNoTGNlTHpUVkU0Tk5PMmRtVlkyQ1ZZakRJ?=
 =?utf-8?B?dks0L0NRbi96QXBKQ1o4OWFMbXBWOTB5RGRKbDI1cXVOcTh2TVhMTytlL3E2?=
 =?utf-8?B?KzkrYjJyVS9XSkFMaVRhM0ZKdnBrZjZESW52L1QvYno5dDVFOXdnMkNkampy?=
 =?utf-8?B?VklvN0krV1JIb2dJWjRpT3BIVmNGcHNMdmt2U080YkpNc25CeHhFM0NPN1Uy?=
 =?utf-8?B?UGdTdUtDbnR3b0o3L01nU1VyblFCb09sQlF4alhHOVIzZm1lVWl2ZUVIWEtV?=
 =?utf-8?B?S3pVT0dNZnZHbkNiWTBhVEcxbUJhblFnUWRRQkI5YngxTzZlWFZIcFEwamRE?=
 =?utf-8?B?U3Y5OElBY04yeU9vUDQ5NmtrQ293bEpyVWRXR2tVYmZRUHVreHNjaDc0U0J1?=
 =?utf-8?B?YVNlaXlQZnpFYVdNcmJDOTRiQVorc1dyVExFQk9CSXFuYW5GNkFPMUFmVTl5?=
 =?utf-8?B?cHkzKzlIK0tjTVVwQTM1ZUo0cldCY01HcnVNZmozTFIvV1pQdzBYdnlDUnll?=
 =?utf-8?B?V2VpMUkxRnpTd2UyNmFCWUhVNnVYTEZoZ1VLc2dqYWQvNlJCL2RmOUprdUdZ?=
 =?utf-8?B?UUxMTGZXa2xCdmJQRm8vVXVpeXorM3dBT3BqYjlKQnd2dnArSEFiRy9IVFZF?=
 =?utf-8?B?WWRPcm10a0xNS3RLQURuZkdLWjJocEU3bnhEL0pSbXZBNVJaOEhRd0pMMDFp?=
 =?utf-8?B?T3FKZXllb2ZsR0VXRUtjUkRFb09VY1dDQ214M2s3TFpMM3BVck12MnUya01E?=
 =?utf-8?B?QjF3enY0NVBwVW4rdEsvMW53N1FBMW1KS2FkeGdaVm0weTFpRkV3UEV1akNE?=
 =?utf-8?B?aFJRVlNEaURGVHo1cWhuYlo2U1FlYXdybmcyY3d0dktSZGU5SXJHRmtueWt4?=
 =?utf-8?B?ZkJUN2cydmxKRVZ4WGVxeUpRQmR1Q25aZGxKbHFhSnJkQXVmTEhrVTVUbjZ4?=
 =?utf-8?B?cEE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <5B59B9691E11544DAC48079C437BBBC7@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	56rQOn5z80mNVMmP/Ln1mn8vBSHpNreydJGxCpU65uTkG4EWfPNAnbtDwM27UVQCcTl5+s9kjnnkwBLYniXoFdsXbwpb2oz99uLYCTbrMp+FMGDIXzJtRY9Gr3H0zcZB/N/LxcOdP9s5UYpTjk1EOaqT9EjIx52kiIvnb2ruPdkxpgKkygzzETrmpO90X/5F0SQQrr9fiwgowwx6j7TcjF4FwQY6kpIRB2QZYHu8KrvpZqLVtj6utwsTlK5tGMVxkiPhNhfM9vN+WOVZ0iNP9/46Nnba8qOHo8jYfmlT+gLY4EUNl/JD4WcwCXzhL+vuBk42E/tLXPtAy5RycDuaWtBn1PHlPEipbtJzeyK75ybKEZTzCAi4Jl8RABSjstA1Io5q6d3eQt+kfZZwHyXfh0MMJ+EBo3uyi5P9GclO4LxunGJ4ZrW0VyJdqldUezJbIE7dr/CIjgRWX52Cl/2/4dE/5tkR6hqu7ss+etB2EQFOlVI2ov/ERBEBxU5x7UsITFLq9QdeqG2qACWLwpJyFMXy8BH9JlWOuTG81zDO0ViafV7yZRip4Pq6BWr04aQMIkG16tdk3wDIPRhXDG/hLnCeJ8My0z5Vg0LQLWprBgju1fJsCuxboWsTYfKbjK/B16NqAHhAvMJEChVjrAIJ/3bLzFc40Re4cwO9wKXW54aaylkA4e0WSvjOpa9OviQtz5jITkwT6HK6J/32doED3qfNbH8llNEiUe1A9uqh4h2cjbiO3A2hzAiTyDdcgtC/zwEvgnj6Jv0vz68nQz+o+rpUemJY2XEkoGt1ymKlYI6b9BlAMLyCc1Wy82WyxqBQZ+Ztc/xH+plBsN9UOd+Q5Q==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN7PR03MB3618.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bbf7b050-7445-4ca5-15aa-08dad457785e
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 11:22:17.2396
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: +XAqrwfPpbqHgwvMlckTPZC1MDME7DrL1BwXuNvE0MLs6YJyhMNRTJWGUf5NIaQeopg4H/cBxW5OY0var3ajb/gNQ3/oc9GWtMBGfiZEsjY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5767

T24gMDIvMTIvMjAyMiAxMDo1NSwgRWR3aW4gVMO2csO2ayB3cm90ZToNCj4gTm90IHRvIGJlIGNv
bmZ1c2VkIHdoaWNoIGh2bV9nZXRfcGFyYW0sIHdoaWNoIGFsc28gZXhpc3RzIGFuZCBoYXMgYQ0K
PiBkaWZmZXJlbnQsIG1vcmUgZXJyb3ItcHJvbmUgaW50ZXJmYWNlLg0KPg0KPiBUaGlzIG9uZSBh
bHdheXMgcmV0dXJucyBhIDY0LWJpdCB2YWx1ZSwgYW5kIHRoYXQgaXMgcmV0YWluZWQgaW4gdGhl
DQo+IE9DYW1sIGJpbmRpbmcgYXMgd2VsbCwgcmV0dXJuaW5nICdpbnQ2NCcgKGFuZCBub3QgaW50
LCBvciBuYXRpdmVpbnQNCj4gd2hpY2ggbWlnaHQgaGF2ZSBhIGRpZmZlcmVudCBzaXplKS4NCj4N
Cj4gVGhlIGludGVnZXIgaGVyZSBpcyB1bnNpZ25lZCBpbiB0aGUgQyBBUEksIGhvd2V2ZXIgT0Nh
bWwgb25seSBoYXMgc2lnbmVkIGludGVnZXJzLg0KPg0KPiBObyBiaXRzIGFyZSBsb3N0LCBpdCBp
cyBqdXN0IGEgbWF0dGVyIG9mIGludGVycHJldGF0aW9uIHdoZW4gcHJpbnRpbmcNCj4gYW5kIGZv
ciBjZXJ0YWluIGFyaXRobWV0aWMgb3BlcmF0aW9ucywgaG93ZXZlciBpbiB0aGUgY2FzZXMgd2hl
cmUgdGhlDQo+IE1TQiBpcyBzZXQgaXQgaXMgdmVyeSBsaWtlbHkgdGhhdCB0aGUgdmFsdWUgaXMg
YW4gYWRkcmVzcyBhbmQgbm8NCj4gYXJpdGhtZXRpYyBzaG91bGQgYmUgcGVyZm9ybWVkIG9uIHRo
ZSBPQ2FtbCBzaWRlIG9uIGl0Lg0KPiAodGhpcyBpcyBub3QgYSBuZXcgcHJvYmxlbSB3aXRoIHRo
aXMgYmluZGluZywgYnV0IHdvcnRoIG1lbnRpb25pbmcgZ2l2ZW4NCj4gdGhlIGRpZmZlcmVuY2Ug
aW4gdHlwZXMpDQo+DQo+IFNpZ25lZC1vZmYtYnk6IEVkd2luIFTDtnLDtmsgPGVkdmluLnRvcm9r
QGNpdHJpeC5jb20+DQoNClJldmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVy
M0BjaXRyaXguY29tPg0K


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 11:40:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 11:40:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451883.709679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p14Oy-0000Uo-NX; Fri, 02 Dec 2022 11:40:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451883.709679; Fri, 02 Dec 2022 11:40:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p14Oy-0000Uh-Kd; Fri, 02 Dec 2022 11:40:20 +0000
Received: by outflank-mailman (input) for mailman id 451883;
 Fri, 02 Dec 2022 11:40:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kt94=4A=citrix.com=prvs=3286be18b=roger.pau@srs-se1.protection.inumbo.net>)
 id 1p14Ox-0000Ub-Gf
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 11:40:19 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 16a06920-7236-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 12:40:17 +0100 (CET)
Received: from mail-mw2nam12lp2046.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.46])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 06:40:13 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN9PR03MB5964.namprd03.prod.outlook.com (2603:10b6:408:135::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 11:40:11 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1%9]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 11:40:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16a06920-7236-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669981217;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=Xty5QrePFdD61vX9gLf+bWucE4wh3C739XvdioDyAmw=;
  b=Op0CpND8hFPgqlNDlKgzYA/IFZUNdNAdwKZ/o3AJ2MuYdKlP4vhoWpTr
   eifFrndnMAh2KNUgfe/0dfY9fNC8CPAXFneeuaCqeUIAtSDX1HTRde3nm
   QrpgMybVFA2BR1gK6/iNQptd84ykFrUOycArZdUaFbCnaULkfuRW1lO1R
   g=;
X-IronPort-RemoteIP: 104.47.66.46
X-IronPort-MID: 86659349
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:lagO86seT2/DIoYrGqLT2b3KAufnVC5eMUV32f8akzHdYApBsoF/q
 tZmKTuAPvyCZmPxetB+bNvk8hxS6JTSydFlHgRt/i08EywT+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWGzSFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwK2sfTEuDrLmMwaulZsxsqJsjPuW2I9ZK0p1g5Wmx4fcOZ7nmGv+PwOACmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0ovjv6xbrI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXOlBt9DT+HpnhJsqH2YxH0/NhoxbmWYuMiQlUK6AdMcO
 nVBr0LCqoB3riRHVOLVRAakqXSJuhodXdt4EOAg7gyJjK3O7G6xCXIJQT1BQNgnstImSzs30
 FOAg9LuA3poqrL9YXCc7LaPqTq4KAAWIHUEaCtCShEKi/HnoYcunlfMQ8xlHaqdkNL4A3fzz
 iqMoSx4gK8c5eYb2qP+8V3ZjjaEopnSUhVz9gjRRnii7A5yeMiifYPAwVrU9/FbN66CU0KM+
 nMDnqC27uoDEJWMnyylW/gWEfei4PPtGDfbm190WZ466y6q5WWgbKhX+jh1IEovOcEBERfiY
 FXSohx5/5hOJz6xaqsxZJi+Y+wvzK7vEvzoUuzZKNpTCrB2cAiJ1CVvdUmVmWbgjCAElaA5J
 IeDac3pAXsEIaBm1yatAeAP1bYh3WY532y7eHzg5xGu0L7bYWHPT74AaQGKdrphsP3CpxjJ+
 dFCMcfM0w9YTOD1fijQ98gUMEwOKn84Q5vxrqS7a9K+H+avI0l5Y9e5/F/rU9UNc3h9/gsQw
 kyAZw==
IronPort-HdrOrdr: A9a23:zQ9lM623xoOi9V+roLibewqjBIwkLtp133Aq2lEZdPU1SKylfq
 WV98jzuiWYtN9vYgBGpTntAsW9qArnhP1ICOoqXItKPjOW3FdAd7sSj7cKqgeIcxEWndQy6U
 4PScdD4Y3LZ2RSvILG/gmkDto6hPOm3cmT9ILj80s=
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="scan'208";a="86659349"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y31lBoLXLCnef8KGytNNQiWsGEQaZq8cD624qUvKwiC1+CVFYSveUjgBdgnKoEDP306aJgHlxNIh8RnO5oFb3ep3mGgwNzcHo65NPzVdTw4FHqxEdWWaBHlDNi93D184MxrCdqjus+WRvzcEeh0kxr6hy6UAf/deSX3pZw7Ai5V9Jjc+2iFv+6NAe0TOvTaCqmvZPFUh32hK7yx6jk8lK5zYEjdX2JJsIlZLBQtgr1hiPaPuiT1YwPphVz1x5gDb/dmhPE9EoIHRfZfZFeWxSfiPraq3AZdUeBNUSSM00dayudnCRkUfh0gGOi6nFHomxzdJoTeGhjFW+AsBs0JGaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3/TzwSHGpP2p1Yz+lpbrnlAdsXzRUqR00WAaoANJDlk=;
 b=DdiGo/SYcaCoRG0Wgd6/9gl5CvrQIz5J5jAK0APUb+B+5uUvZXVjN3MbughFwo7HwO0H8x4TB2/DJ8q7X4XazxuX03xbKpMevyatr6UW1V661u56zZegfdkuKgc2+l3eUYIG23M9Vth/bHZBawKjQttTs0tEOqWiWqedMa7e+SrxhT5Iv8oHOY2SWpFIVZZFIpwMvBFsEBuQ4xeoo4ERJbKYD3OLOEj9z5EJBVF6v0PzlDamWOaFLa23aaX39A9G6N6DADLu899oJYML9TgpWEyLQZKVnErHsJW0wBGlRuuGIB2xajcsREjzWiZ0NoxLaeMnZVWUbWMDamEQe9P+Fw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3/TzwSHGpP2p1Yz+lpbrnlAdsXzRUqR00WAaoANJDlk=;
 b=PbEfRCOBgtyaLw6F/z8E/Iu12JpdcYkZxuJtvAbfSNm2n003abbRMQYm7bAsueo1p1DN+LhUATguHGPpfNBTfiVIQ6YgGbu5x5oWW69V1Ir1MQcvZriuy+eajq25Oxow3uxQsIazFzbRydLelrA9lXyxoqrFcfW8mBdnROdUDv4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 2 Dec 2022 12:40:05 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jirislaby@kernel.org>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Chris Wright <chrisw@sous-sol.org>, Ingo Molnar <mingo@elte.hu>,
	Jeremy Fitzhardinge <jeremy@xensource.com>,
	Olof Johansson <olof@lixom.net>, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v2] hvc/xen: prevent concurrent accesses to the shared
 ring
Message-ID: <Y4nkFZal7oy+aICa@Air-de-Roger>
References: <20221130150919.13935-1-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2211301657200.4039@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2211301657200.4039@ubuntu-linux-20-04-desktop>
X-ClientProxiedBy: BN0PR02CA0015.namprd02.prod.outlook.com
 (2603:10b6:408:e4::20) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN9PR03MB5964:EE_
X-MS-Office365-Filtering-Correlation-Id: 4d81d5d9-7c6b-4b3f-d064-08dad459f778
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XxpYyIUKDkK0DCqc44EumRxM5SNJwkawwqNZj8U2+OJMpyxrvzB2PjF5pAvNYY2s0YdgvaHl5Kb2iqr9N4OMfRgIzqHhlgbb4Xq2XdJ+q8RjwEfUgu7s2wMQ9Dt7lfl5NfcwSk3UcrIUUaiNUmo5FvFnT4gv38+tAZuLmD/QMcg1lKzwFpHxjqemnqOpAxhFaX/KoE7zJCY5hB9XRbAXX20GlrtizXqCllbUKHIOt30YMuJMkQCOq7Hqwe3SS2EnJfZMqdESy/WSn7pNRJSSeCygkU0ji+zab/0fZl2DiIR49g5o44AisWbipLKZo/KrzBooB8lSmBbpvbjoYIcRSWM7qOBHjR+U2QH1P2Nms3mNYgM5sTyo2PLo90osH+gGKBMz3ApjGmfOD1060DyQvG4KG8veyUb3Ao1qT287lISFI7rkmu6RlZ9W2ZSBefHzsyqni62txWJiyRE+ttlPbb+5vM0xGIASvfXSzEM9G52Pe5/4r8CNpohaY4OaW2p9MF2V3h7jLs23pCIIivIBC8g5s29x1JLr4BK5UU8k9qAs0lxQUofbBQ/dj4WfhKACdW/ivP3k0sOkQqD4czB1+TY9gNKNs4r5rRDnbhONnAbi0wb3e/VDsBkmS6myz7KXmT0x6nHChS4bjPplKOMDBzIOUCg8QkYyTASOMyC+whntKED9GY2Pd14LboH7I+q1
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(7916004)(346002)(376002)(136003)(396003)(39860400002)(366004)(451199015)(316002)(85182001)(83380400001)(54906003)(110136005)(5660300002)(7416002)(2906002)(4326008)(66476007)(66556008)(66946007)(41300700001)(8676002)(82960400001)(6666004)(38100700002)(8936002)(478600001)(33716001)(6486002)(86362001)(9686003)(186003)(6512007)(6506007)(26005)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WU1NVERCZ2RZa2M5TDNBeGd3Zlhpa2xpVnhBTlIyZnJzTVhIcFlZU3BKalhi?=
 =?utf-8?B?OHVKb1B0ZGxrRFJ4OWhUL3NyMlM5bDBUNnBFNUN6dWN5SUhRbStoVW9CTk9P?=
 =?utf-8?B?Vi93c2k5T0ZOZm9waFJ0ZE5oaWxSVmVodjYwcEd2Z2cveFh6QVpPZUVXOFAx?=
 =?utf-8?B?UWRNTXZReFVvR0tYYnBzRWlKUk15TTB0bEdMV0JSN3g2dGpyOVdRR1ppK0tL?=
 =?utf-8?B?RGtTdnczbDlzYUVsTTMwUXZpZWtHTVgrd0hkMXpkekVucmFGbDZKeGNOaXhL?=
 =?utf-8?B?MTYzRG1jaVhtYXlkQVg1NW5HY2t4TDlBTVF3clpHekRIeXh4bE1LU1U3OXRV?=
 =?utf-8?B?bkNKa3BmUDZzVGNzWlBnQ2lqNTEzMHNOTVBESkd1cnlIcDFSMGI4QVdpQ25j?=
 =?utf-8?B?d3RFek9DSzN5UVAyTHJxdEdkTkpmTkJhdFRIYjFxYmd1WUZ2UHYwK09wcXdx?=
 =?utf-8?B?NzRoOHk3Vy83V1RYcFNtV3JRaXVnZWkrUC9CVlJVV2l4OEtqeTM0UjkxQW8y?=
 =?utf-8?B?Z3ErZ2d6UFBwVFZkT3V1UVl4TTRUbkpTdXVjTzhudloxTnpvYkxHb0pBVjRl?=
 =?utf-8?B?VzFYaHNBRXUrV3h1d1poTEtHZm9oYWNET2k5Vm92TkR4MGVscUtRSWwwSm93?=
 =?utf-8?B?SVAzT0g4OHVOOXIxQVlzemhpQnZQQnNiVUlwNXI0N0V5eWg2U3ZjZXphZEgy?=
 =?utf-8?B?R0hzdzVxQmdxMGgyTEtRbytVbzRqM25BRjZMMDZnYk5PTnJ3SzRZbnk4WGho?=
 =?utf-8?B?UDFHYXQyeVBjOE5jN0J2Q202RkZGZGI0ckxLNWNvMkZrYzd1RXZKeTJXeVBp?=
 =?utf-8?B?R29qZ2dMSFNNaVZjRHgzTlRoRXM3VmlNMUgzaFlvUk1uaC9sTXg0emJyU3B0?=
 =?utf-8?B?aTFIWFpuYmRxVE4vaVBRandOS1RlWVFJdU5JenV1cGlleHlvWTZrUHhYZEU0?=
 =?utf-8?B?dXM3VzdzdFZrMVB5emxvRHVBTEtYNkY0UlMxanNuUURlZHFyZ3kxbEU3TGZy?=
 =?utf-8?B?ME00MnlVR0NLWlEvUmZ4MTRscXFVYUt2b095eGRDL2EwWFR1c2U2V1pHdEo1?=
 =?utf-8?B?Wi9vZnBJYSs3SGtmRi9WOWdqRnRKbGlaZ3RRRHpaS0VRMzBacmgrMVF6VEN0?=
 =?utf-8?B?Qk8xUkdLUjg0b3ZaWVVKaVNtMnFsNEk4L2d3VjhkZHFJTi94LzNRRzZmcDI5?=
 =?utf-8?B?dGVPMDM1TFl3azJvVlRkVDBZNmswNjkrNzNtc3QyWXB2SVd4eVJVQVVwa3pt?=
 =?utf-8?B?RFFkTVhDKzU3SEg4dmdhTGdpODJJYy9oNDdFZWJxb0dRMStNaU9ucTRaMDJ4?=
 =?utf-8?B?dVFmNGpBWlNadWs3MWZ3MmpWNzNlYjdTRHg1R0VmYlE0VGduQmtHTFhPcW54?=
 =?utf-8?B?dXptOWVEMzZYRTBaWXJJZWFVM09iNXBkb2dQeHl0MHpLYmg5YWNvOGFFT3d2?=
 =?utf-8?B?dTB5ejIzNUNEQzZzVWdrVnJPSUJVVUJ4a00wcWFTbTVEam5GbmMwS2ROOHda?=
 =?utf-8?B?MWlWcFFSdldFYWFMaFlMcmNUbDdKM2NhdnBpVWVSWHVyRlZ3OUhBVHh4S2Vu?=
 =?utf-8?B?bFpzbUl2YS9FNHFDaHd0K2NLN1ErNHB2di9xTFN4ZnlhRUFSdklnT3EvY2d4?=
 =?utf-8?B?RjFMajZxdkkzQ2xqWmVwckJyZFZxRS8zZi9aamo5cXlkL0Z2QzM0MkUvYTRZ?=
 =?utf-8?B?Y09Ga0x1c2FKTHBNSyt3RHVKUTMvSUlvWEF6UUpHbXNReDF5UGxUK2RERmow?=
 =?utf-8?B?M3g1QjlTSGhvWmY5NGdkV3VqczRGSUh3RXE2MzBPTTltSFhnWGFpOEZxNGVK?=
 =?utf-8?B?SmlBQkcrYjJRNVowVFhkQlJUMXJzNXVueXVkbEExY3VkMVFmcjRQWEs2aG9n?=
 =?utf-8?B?Y2ZBT2JiVmVxMU1DejgrZVorQVl2N2dFVmNJb3FtRDlrVms3NDV4RHc3dVlU?=
 =?utf-8?B?TWlrdXA4Z3M0SXJwZlhIN2FUc2lGZU42MXdXbmZSaGNKT2VIRGEzcnZpRld3?=
 =?utf-8?B?Umc1c2U1VllGNFNIc1ZCVU1weGlVZEc1eDFZUE1MT3pDeitkTTJoSUhINnR6?=
 =?utf-8?B?TjYxckkwdGZxYU9GNG52NTNzOE14SHFvMWl5d0lSQjIyQjd2VUpLc282SGQ4?=
 =?utf-8?Q?tofOo+63PnIOyqjBm8SDRrfdl?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?R3Z2MURNNzV1WHM2QkRIL1A0Z1d6QUtZYnlTYVRhZTlkRDRUeW1OL3l2d2RB?=
 =?utf-8?B?OStLRUhnL25CODRpWE9XbzFLeTNydFJmdzdNaWErZGUrZk1tNTZUeGxaZ3BL?=
 =?utf-8?B?UmhmeG5GSjZZQzRTTGwrelVmQ0NuK2dYT1VpeitOelFXUUIrLzVGbGsvbG43?=
 =?utf-8?B?UUFMUGxSSVNiTk9tWjBCQ0gyRm1STCsyRnpBY1NGRGtkTlVmNFg2a2RMc0E1?=
 =?utf-8?B?VTBwaGZuLzFjM2NNbDdCN0dRMDBKdTl5L1loYXdaYUluU2lhank0YlZBTzhP?=
 =?utf-8?B?dUR2ak9acmE3cVNqQUhNUnNXejBmUHpHUWMwdW9Nd05vK2NFS0tKaHFOa2ho?=
 =?utf-8?B?RVl4cEdyODhyd0w3eDRFV1NBQjVONHMwTW5VNUhGUkc5V1RDUERFeThja0VO?=
 =?utf-8?B?cGNjN2l6T3QwWnduNStTc2VqTjlSTG1VeXA4U1NUdGRSWDdlOG1pUFBMK3Ns?=
 =?utf-8?B?K0VJcktQZkZocVRlY0M2VkQrMXVlL2RlVWhCaGZpL28zT0lJeDJ4andnKzlI?=
 =?utf-8?B?NUZxVXVUWUtQWFkyUVVxbkllRkRZNzZScVBwY0gwZXdQL3hiM3VrWmxReklw?=
 =?utf-8?B?aGRmdE56WkdFaHlmV3JnaDRnWERLR0hHZjdPZzVZdEhDaWFwemc2WGJ1WExt?=
 =?utf-8?B?U1FuWEtYcU9WdTZUMmVPUVFqNEV3aGFidllLakpFWFdnMnNLZHRRV3ZNZHp3?=
 =?utf-8?B?eTQwcE1OemFScmxaMi85ekJNNHNVTXlRT25jMnRxa0xweExQaktSTmJnSzI3?=
 =?utf-8?B?SkF1OFk1Z2hpU1ZvemphQkE0YkFRVFI2SjN6ZzB5VzVXSktVVmV0TEpOdWpX?=
 =?utf-8?B?SWlrMlFBRHNneDlvVUNzNnFaT3ZKNWFadFRzQStPVkRaNzFubUZvUFBOVFIr?=
 =?utf-8?B?MVE1WHhxeU1SUXliSmVEN3Vka3hyTCtTVjRwZWhvTU5xaCtNRGNaNjVZRHVr?=
 =?utf-8?B?bUx3TUxCUDNjU1N4MzFYK01nWG9mTDVuVnhPUS9NbC9KVk1FajNLUHVaNlQy?=
 =?utf-8?B?OVZ5bURGVFRBamNYbHh5Y1ExcHRXRnFsbUY3dlZEVUIvRDRxK1RuM1pjZzFr?=
 =?utf-8?B?RFZmQmJxZGczZFg2QzJNQXovek9tRkxRb0EwbVFhSlE4ZTZWMEE2QU9MMVl0?=
 =?utf-8?B?dEdHN0VWKzA4NUJKR0JBbmtGUGNrNnNrNElIdjlXYS9iMEg4MHIzblUxMS9q?=
 =?utf-8?B?YmZqVGRFQXRGem9SZ0I5RFRqeUU1RzB2dnFja1hTRWF3bUhoMFlxNldtckhr?=
 =?utf-8?B?LzVQVG8wcDhjaFpneVJUaXV5WU41NWRobTlGdElJenVUU3RHVXZtKzlnc3Jx?=
 =?utf-8?B?RnROVUpmYTdsS2hSWGRLZDFmZ1JKM1dtU0lxNlhKTDBVS2UrWnFNamcxaVVL?=
 =?utf-8?B?dms0NUl1VXZDalBqdy9nVzZRT0FHaWJKWDVKN3JWTkhuTDlkeXcyRHo2OGZq?=
 =?utf-8?B?TlZsUTZvN1l3RnMrT3lKOUMyTWkyMG0zSHA2b2MrY05QTnRDRUo4dGNyNFJr?=
 =?utf-8?Q?Nrfr8FrEgEenhl/PIfVoL3rTXXC?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d81d5d9-7c6b-4b3f-d064-08dad459f778
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 11:40:10.6833
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VtbOwEN71fvS74DHLfPx2rox/W3Vb+QEeE0oBSlwgRRfK7NiFi4k52rT3WNKVqbp+9RhUdwB4uOLmPb3FBtGjQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB5964

On Wed, Nov 30, 2022 at 05:08:06PM -0800, Stefano Stabellini wrote:
> On Wed, 30 Nov 2022, Roger Pau Monne wrote:
> > The hvc machinery registers both a console and a tty device based on
> > the hv ops provided by the specific implementation.  Those two
> > interfaces however have different locks, and there's no single locks
> > that's shared between the tty and the console implementations, hence
> > the driver needs to protect itself against concurrent accesses.
> > Otherwise concurrent calls using the split interfaces are likely to
> > corrupt the ring indexes, leaving the console unusable.
> > 
> > Introduce a lock to xencons_info to serialize accesses to the shared
> > ring.  This is only required when using the shared memory console,
> > concurrent accesses to the hypercall based console implementation are
> > not an issue.
> > 
> > Note the conditional logic in domU_read_console() is slightly modified
> > so the notify_daemon() call can be done outside of the locked region:
> > it's an hypercall and there's no need for it to be done with the lock
> > held.
> 
> For domU_read_console: I don't mean to block this patch but we need to
> be sure about the semantics of hv_ops.get_chars. Either it is expected
> to be already locked, then we definitely shouldn't add another lock to
> domU_read_console. Or it is not expected to be already locked, then we
> should add the lock.
> 
> My impression is that it is expected to be already locked, but I think
> we need Greg or Jiri to confirm one way or the other.

Let me move both to the 'To:' field then.

My main concern is the usage of hv_ops.get_chars hook in
hvc_poll_get_char(), as it's not obvious to me that callers of
tty->poll_get_char hook as returned by tty_find_polling_driver() will
always do so with the tty lock held (in fact the only user right now
doesn't seem to hold the tty lock).

> Aside from that the rest looks fine.

Thanks for the review, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 11:43:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 11:43:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451889.709690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p14Rk-0001PC-4k; Fri, 02 Dec 2022 11:43:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451889.709690; Fri, 02 Dec 2022 11:43:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p14Rk-0001P5-1l; Fri, 02 Dec 2022 11:43:12 +0000
Received: by outflank-mailman (input) for mailman id 451889;
 Fri, 02 Dec 2022 11:43:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xeCl=4A=citrix.com=prvs=328e240bc=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p14Rj-0001Ox-9S
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 11:43:11 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7dc4caa5-7236-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 12:43:09 +0100 (CET)
Received: from mail-mw2nam12lp2046.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.46])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 06:43:07 -0500
Received: from BN7PR03MB3618.namprd03.prod.outlook.com (2603:10b6:406:c3::27)
 by CO1PR03MB5745.namprd03.prod.outlook.com (2603:10b6:303:99::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 11:43:05 +0000
Received: from BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::5c96:fc3a:9d36:4a2e]) by BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::5c96:fc3a:9d36:4a2e%4]) with mapi id 15.20.5880.010; Fri, 2 Dec 2022
 11:43:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7dc4caa5-7236-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669981389;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Ov+dUSP7/wgxQhDdCQltZYKiswcTZExdjyQekQCHrY4=;
  b=dxnBTJWvRzSKSZ9BMq1AxY403opoJmEmCpLIJelldcPkgsM9vLu0UfW9
   KPgXD+aBq1njDgK7UTueV/DZ4ZYyeuf82hQH21N1ml4ywEvcCIpsNXppb
   c5hMyOlC7Io85JcbVjEPZk3SN9ipkCRuRubLBg2fqNYpVF7gCQxlWXYsJ
   w=;
X-IronPort-RemoteIP: 104.47.66.46
X-IronPort-MID: 85268876
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:GuWkoaMH8S9R18fvrR2ElsFynXyQoLVcMsEvi/4bfWQNrUohhDQDn
 2MeCGiDPq3fYWekKtBwaI3noUsH7ZWEx4JrGQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5gZmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0udqHUh0+
 OQiEQlOXgyGi+Ls4pe2U8A506zPLOGzVG8ekldJ6GiDSNMZG9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+/Rxvza7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prr+Sx32rCN1MfFG+3rlIrFOL2y8iMzwLeGCJiqKipRW9B90Kf
 iT4/QJr98De7neDXtT7GhG1vnOAlhodQMZLVf037hmXzajZ6BrfAXILJhZNYcIrnNU7Tjsr0
 hmOhdyBLSNrmK2YTzSa7Lj8kN+pES0cLGtHYDBeSwIAuoPnuNtr0kyJSct/GqmoiNGzASv33
 z2BsCk5gfMUkNIP0KK4u1vAhlpAu6T0c+L83S2PNkrN0++zTNfNi1CAgbQD0ct9EQ==
IronPort-HdrOrdr: A9a23:bxsJt6A59Ttaf2LlHemJ55DYdb4zR+YMi2TDtnoQdfUxSKelfq
 +V8sjzuSWE7Qr5O0tOpTnjAsi9qBrnnPYejOUs1NGZLXDbUQOTXeZfBKTZsl/d8kbFh4pgPM
 lbAtJDIey1IV9mjdvrpCmUeuxQveVuu8iT9IHjJgxWPGJXgnhbnn9E49CgYzZLeDU=
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="scan'208";a="85268876"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CcSNv58n3W9/P2T8hOdiuqtMcHVQ/6HHlHjsswVQhr5LiQQ+3fkB/fvV5Hl4kIAgmC3YdLuPs0TvlLt+/TG3OS6CKEUnt7eW8tyeTYYW4OC6dW0f5+SIaewcHXEVYR3z64mK0mAcuemNOolFq3sTlYDy4ERmWj87Ot6swvaJ9Fy7l0Pc2Daa6rlBds7whDudymDaubJQSGTOkuIKlerRgAHaSg3GvpEMyp4cIypa+LE4XWb6HQWGQkFDCutGVK3gXy9YpAoaegjxLeR9XVpp7MnU8BkHl9s6sEsPyAnAdNL5WiFU/CE9UzEDuzE0iFnFruL92h2A8DbYKqudxIyodw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ov+dUSP7/wgxQhDdCQltZYKiswcTZExdjyQekQCHrY4=;
 b=lTpg6GsN6cDJLTSm9lkHU4w7O+RzaRRJgt7P6lG6jyGK5JKze/AH7+rZUbrSGWNq4SJ5ieusZKSN3K75dYx2wpI4f2omWgdrt9TEi5xchY/ijkqj6BHIL8vBRqjjx1e0F1oJi7U7Ga8gDS33sIfny/omQxyBD5XegCAduA5f07WG1IbDGKQQQrjTO2alSjYhDhfwqdvtdSizy8iI0F8ppUY/3F5cjRbOL4qSKQ012fUF4s9wBVN2ipX2c5NqasCIRWv54TmFcpD74FXgE6b1m0VD9Tnx1iODIctABWUAKPBpZpLyV1NhaHT7jevlUCe49yTlMmv9qMiHcaH25Ldexw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ov+dUSP7/wgxQhDdCQltZYKiswcTZExdjyQekQCHrY4=;
 b=GS3KCvY2+6im5mTggeTHFiZW/0jm1WUaeWEpGP5vSWzeZUbZ9jid9XOug9k7wwt8YOaTD00QIPiqX3f6NwY35vnsVoLJnEvcVRi2O2L78+UKLz1xZeeiQE+EAyjvQkedGmYKzhlue740REdVGn7Hno3XOozqM3t7+dKFkw0qspc=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v2 2/4] tools/ocaml/libs/xc: add binding to
 xc_evtchn_status
Thread-Topic: [PATCH v2 2/4] tools/ocaml/libs/xc: add binding to
 xc_evtchn_status
Thread-Index: AQHZBj2LflDJ6btqj0G8mw5XievwQq5aef4A
Date: Fri, 2 Dec 2022 11:43:05 +0000
Message-ID: <71d4810b-90b4-a2fe-30f9-48a64697b551@citrix.com>
References: <cover.1669978356.git.edvin.torok@citrix.com>
 <c43ff9e8a95a73dadcd5db6ad10340a45592dd01.1669978356.git.edvin.torok@citrix.com>
In-Reply-To:
 <c43ff9e8a95a73dadcd5db6ad10340a45592dd01.1669978356.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN7PR03MB3618:EE_|CO1PR03MB5745:EE_
x-ms-office365-filtering-correlation-id: b83da3ec-3bcc-4ff4-ed4e-08dad45a602a
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 yBXNU7F1wB4L0pXSrVw/VK4627ud8TnW3hHGB+Ma+GxxA+N1V4P0/RXh35PGq6hBfBMtP6Sel7gkyXfbxO/xk4zN5UJaazfV9jG6Rt6sGNUNLK0BxbQK4MNHpEwyJPOZt8PUmYlBbSi5tHn4Y0sdxPsE/honU/CeLbhZiePSSujWWCz2A7PS40L0F9vVNiUOTeA9Nqh6Fewp4RIDkZpKPPNIGT4gicHljILdPUaopM5csHIoiCS/UTpgXguAG8yFdjZ98THc41W0TwvYx34KfLhxhRIsnbKkaVVo/88PkyH1nmHxMPipm+RxP0uezmbrUD99UzuBiAX9GJYC7jzNWETR1FDeBSrtJ9q/Izi8cygL01IEqeSsr9InfxckzC29anuny3dK7DVk1fFkz4WbLyZBKoBxDZwml8rPEpI8K38916RQ9+9qOx9S7seEa0yoGJnYppuVusXCCgjdjSY1YYKclbrRVm0Cv/fDrlEi0iy5h2WdyeyDM2h3PVXwWHsLnrRir0qkcJzxfU39HY30CorelFT+nhjFC5G5v3YqqA2nxSWCSLlawyTuhWSNsuIZENOrBDK72hlOUn7x0idHmCz9DUrFSWydAWR1XegvIRcdzRLcoqEWjLlGaw1/FI3XdSSNvnK7M3ViMd8ATaG2F0NOFcY/83cfp9QHWjoMd6xAL7AuJvy5UGl7ACYNwaMLiUJE8qOUo2Dn2y7rGxjIEzu1OmDyitg+7cqQZVtv/hdRkMislVIdC5jaJe7zjAxyt9e1BmEuIaxJILFi0lhwjg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN7PR03MB3618.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(376002)(346002)(396003)(136003)(39860400002)(451199015)(26005)(186003)(66446008)(71200400001)(6506007)(53546011)(8676002)(66476007)(64756008)(66556008)(107886003)(66946007)(478600001)(91956017)(6486002)(4326008)(41300700001)(5660300002)(8936002)(83380400001)(2906002)(2616005)(76116006)(122000001)(82960400001)(36756003)(6512007)(316002)(31696002)(86362001)(54906003)(31686004)(110136005)(38100700002)(38070700005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UDB0VTVJdlpQV0s0WTNteWtqakZYSCtGamE5RFl3YU5qcTZMZy96QkFhMzlO?=
 =?utf-8?B?eTlhdTl6UlAzdGppVHFhVWtIUDRITGVsaGtCNkRpcjhKWGxtWlV0YU1PTTNa?=
 =?utf-8?B?RFBkd2RrZVRTeENLUEc3ZjZSUTFUc3JzV1R6K05mNndmVzN1SUJsb092aHBJ?=
 =?utf-8?B?b0hkYi9QRDJzL21WbFU0cVFFVlg0aFU5ajNZZHF0Nk55NllPMVlYU2ZzWEpF?=
 =?utf-8?B?ZjlmaVplcktJTFNLVkpNSWhMUTdjN3FhZUFlN1R2RjFISEg5K1VEUW9EdC9I?=
 =?utf-8?B?YkRjdjNRVGEzdEI1TFRzL2xQeG5jaGJYOFJEcDVocGhWTHFweE8vZXRmTDdt?=
 =?utf-8?B?V0tOUEoyUWFibUM1RDNZVk8rQTRUa3BsZlBha2lBSTZFeDRrZnJOMVJOUzVL?=
 =?utf-8?B?eDVkNVlWa0JvT1ZjdUp4NWdFUjMreXNwa0F5ZlpjbHNJQ2dyTU8yTlFjajYy?=
 =?utf-8?B?dzZ2Vm5kdXpCemtBc0N1YUdTT1lBREFXRlZJNWtuSlRvNXNQRS81MkNhNUdR?=
 =?utf-8?B?clhGSCs2MEl1K1M3ZXhsejl1YXN3RHhuMTZ3QlZMUWwveVJncklqd01aL216?=
 =?utf-8?B?UlpNVTRwODhRZmp1YnlFL3daYjBVUHRpZWhEYTY1djBZd2g5dGZTSFRKSm9V?=
 =?utf-8?B?TUFhejBMdC8zemlTcnZEQmNyRGhwUkpMQU9kTnkxTmd3amxsaXE4Vzc0Mmxa?=
 =?utf-8?B?OWpYVFdnYjdJL3pjdmZ5TE5FTUY2anl4TWh4Q2hUYlNtOXo4dTZyeXA5VVVl?=
 =?utf-8?B?eGpyTlYrNTRYZktXZzBpMDRSMldibFhrNTZ5VHJ1S1d0YXE3RXVWbnFMVGpO?=
 =?utf-8?B?MCtJL2QrRzlQV1dCaU5leUQwdkFEOWFvWTJSNEpZN0xrUUhqOFBpMWk2SlJu?=
 =?utf-8?B?aG1vY0xWQ1FJTmZiS3R3cVYzUXVWTXB5MWxvRkFsWEV0T0hlTU1Ba2lXS2Nq?=
 =?utf-8?B?MFRaWWwvU0ZzUmYxc2lLS1J5Y1FOMWpESFFGSnVLV0k4RXgzL3hNNm5QU2FK?=
 =?utf-8?B?MjV2emM3WUZNVGh5QzRCcVZyL1J5MVN2ZzFZd2w3QzRNVEVzZjNRUWFLdkQy?=
 =?utf-8?B?ZGFyQ2VaNXRQckJoNFBiYVNMWE85S2k5Znl4dVhZVUFzTUVJcVNyUHhDL243?=
 =?utf-8?B?TlEzNE5DMFIyRXluVmdNbnBqMldlSG53SGx2bWUwOStpMmN6R2pKR0NyaTcz?=
 =?utf-8?B?cndUMVFjaGFDcHFzOU4xcWFsYmpYV3E4NXdjRWNQN2JJQVNBOWlYeUZVN0d5?=
 =?utf-8?B?U3RhRC81cmNNNGU4c003VFFXZlZHWlNuZlcxT3dpR1BlY2VPNm9UdmV3d3pt?=
 =?utf-8?B?LzkxUHpHZ3NqUUxRWHBiQm01dXBtWHRMcmxYTVdMaENwdVA5Ky82MzhBUVMw?=
 =?utf-8?B?NU9DSXFsSnl1R292SlNZekg2MU9nK25Rei9WbFFaNjhqQko1dXlLRlkrNDd0?=
 =?utf-8?B?aWY4ZUFuWldBcVo5QmhrOXN2czZ3YjNhQXdBanBKVkxWNWFZSDMwTW9VYmUx?=
 =?utf-8?B?cS9OUVhvY2hBWWlNZmhSa3VwV3YybHViZ1VuZ25YKzNOZjIrTjRZUnpXTC9w?=
 =?utf-8?B?NUFEcldLcGpQelVOdEEwSCtQUFhqSVRWeEg1RU4zWGV2dy8xREw1OE9BK3Yz?=
 =?utf-8?B?WUI1aTBuQWMrYjJOUUc3Y0FRYitXRy9rMytTZHZkSXk2VmlQS1NTM1FjaDJy?=
 =?utf-8?B?bXRMR2FjbFE0dlJpKy9uUEMwdGJybHlVYnJzYXlnOFc0WUozU1hlVzBKNkpN?=
 =?utf-8?B?QlNUNkllODdrQkFXcldBZUd4SGt6bllOcis5WG5GU0ViUzZtYUNBeW9tNmhQ?=
 =?utf-8?B?ZW5QMGg4NzlXK2xsVHQ4b3Iyd0c1R3pCYVlzWlo0UU1LVHF3Yko4b1ZkSWRG?=
 =?utf-8?B?Zm9CdVdpdnllamk0ZnVNcVZaZVY0aGRMUTdwV2E4NGJsVzJqRmkxNXZqRHNw?=
 =?utf-8?B?eEYzNlIrUVhjL2FrRVVpVnVlSjZXb0VTSUZkaUFUN3I1Z2NKUVNMaUhXdEpQ?=
 =?utf-8?B?YzJEL0lHdVdBU1BLek9TWHBJTDlMMDk0SlYrakR2S3hKNStDOG5sNWRVa0Uz?=
 =?utf-8?B?YnJJbUhTWEprc1pSeVoyclU4MUFJR2FVaTB1bWJZZFNNVXU2Y0FLWjZpeFJO?=
 =?utf-8?B?bEUybTkwOFc1Rm0rTytobDBPZ2puZXBmY0dUWkw2MmtKU3VrWU5qQVRoSEU3?=
 =?utf-8?B?akE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <0E3363DC8EDEB642A34B46FC61B721D0@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	tYTN3UY0gGW9X4gdpfsgSRPQwga8fT72EXjGuqxC14w6T67rrs2oeIYqiC98/oXeqMybGlgAY4LeVi7INZ+rkEvypOpneGCXuXlFk/Dp5JEwmc7BPsn4Lx0uu5hlcAM6RKhFBXHrltr0Oc6u6AhR7GrxmAew/wpCuVG5rK8JAksUqPSEIpEh48Tx2F2lFfxZbkuCyazlmX0jMbFsMGmuGz6Tw8wJ2g8lbqX+JXPF15HR9GJio1QUTPLC+8CzadFYOANvM9KZcOpmAyH53D+ZFtUpHpOhG4Fkm4WyRAIlFTMPfFvjlY/Rh+48xbIiOd6hVIwnNzpQPAdFV/uCgfByDPjPVoYC4wNfR7gngiarkl+Tri4pyyFRJoR8iyCsPZBo6ZVfLM9H2fnScDfx7pYKkE2bTyG5v94NUTYVg1fhEOyPMPIiZi17nlHFwyFI/altZgMPr67NwUkoTwDQK9P4lxb+keX+JJb2rk2O91ioeMnNCq5Wh9qDc8v991z8NwKFZWDxTPSaQYbLieCNjP0vwdVgviZ8gudBDegS/F6qId9j15x3tAxGispz+iAVHhIPNfoXs3Yt8wcya3qADd+92DrBGtlZCAAx4Y2qY/wceWEEgunIu+QJI+MlJq75/tL2hyQfFzpJePukGK6wnGxVcedcfxybt0i6vWYz0aaHf/ZRyK4L7/h1EtV3KqpQ1JW75lieQif+TL9VfubdBK3nitYfSRbUdMLAyL3BcA44+edKfuYhk9ZNVyBYYtUBp0n56H8iHpJdibbKmc/CcQ6czJ7A2D/jVQuHmhOU1WCS7nLdTwextL7BNGR8i1S3oRQxTcRapSY9P0UCbSBKwTm74w==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN7PR03MB3618.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b83da3ec-3bcc-4ff4-ed4e-08dad45a602a
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 11:43:05.1448
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: OrrTPU9B1zYGz4JuCZBs8c5V/NBRnkxEgNz5eIf0tqQ1talRrl/1xk7gTeV5yUWSbVy/OjJI1CXzcN0yeygGMDe307m2T/usxk2Rp2mYpog=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5745

T24gMDIvMTIvMjAyMiAxMDo1NSwgRWR3aW4gVMO2csO2ayB3cm90ZToNCj4gZGlmZiAtLWdpdCBh
L3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybF9zdHVicy5jIGIvdG9vbHMvb2NhbWwvbGlicy94
Yy94ZW5jdHJsX3N0dWJzLmMNCj4gaW5kZXggZDMwNTg1ZjIxYy4uYTQ5MmVhMTdmZCAxMDA2NDQN
Cj4gLS0tIGEvdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsX3N0dWJzLmMNCj4gKysrIGIvdG9v
bHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsX3N0dWJzLmMNCj4gQEAgLTY0MSw2ICs2NDUsNjkgQEAg
Q0FNTHByaW0gdmFsdWUgc3R1Yl94Y19ldnRjaG5fcmVzZXQodmFsdWUgeGNoLCB2YWx1ZSBkb21p
ZCkNCj4gICAgICBDQU1McmV0dXJuKFZhbF91bml0KTsNCj4gIH0NCj4gIA0KPiArQ0FNTHByaW0g
dmFsdWUgc3R1Yl94Y19ldnRjaG5fc3RhdHVzKHZhbHVlIHhjaCwgdmFsdWUgZG9taWQsIHZhbHVl
IHBvcnQpDQo+ICt7DQo+ICsgICAgQ0FNTHBhcmFtMyh4Y2gsIGRvbWlkLCBwb3J0KTsNCj4gKyAg
ICBDQU1MbG9jYWw0KHJlc3VsdCwgcmVzdWx0X3N0YXR1cywgc3RhdCwgaW50ZXJkb21haW4pOw0K
PiArICAgIHhjX2V2dGNobl9zdGF0dXNfdCBzdGF0dXMgPSB7DQo+ICsgICAgICAgIC5kb20gPSBf
RChkb21pZCksDQo+ICsgICAgICAgIC5wb3J0ID0gSW50X3ZhbChwb3J0KSwNCj4gKyAgICB9Ow0K
PiArICAgIGludCByYzsNCj4gKw0KPiArICAgIGNhbWxfZW50ZXJfYmxvY2tpbmdfc2VjdGlvbigp
Ow0KPiArICAgIHJjID0geGNfZXZ0Y2huX3N0YXR1cyhfSCh4Y2gpLCAmc3RhdHVzKTsNCj4gKyAg
ICBjYW1sX2xlYXZlX2Jsb2NraW5nX3NlY3Rpb24oKTsNCj4gKw0KPiArICAgIGlmICggcmMgPCAw
ICkNCj4gKyAgICAgICAgZmFpbHdpdGhfeGMoX0goeGNoKSk7DQo+ICsNCj4gKyAgICBpZiAoIHN0
YXR1cy5zdGF0dXMgPT0gRVZUQ0hOU1RBVF9jbG9zZWQgKQ0KPiArICAgICAgICBDQU1McmV0dXJu
KFZhbF9ub25lKTsNCj4gKw0KPiArICAgIHN3aXRjaCAoIHN0YXR1cy5zdGF0dXMgKQ0KPiArICAg
IHsNCg0KVGhlIEVWVENITlNUQVRfY2xvc2VkIHdhbnRzIHRvIGJlIGEgY2FzZSBoZXJlLCBvdGhl
cndpc2UgaXQncyByZWFsbHkNCndlaXJkIHRvIHJlYWQgZnJvbSBhIEMgcG9pbnQgb2Ygdmlldy4N
Cg0KSXQgd291bGQgYmUgZmluZSB0byBoYXZlIGEgY29tbWVudCBsaWtlIHRoaXM6DQoNCmNhc2Ug
RVZUQ0hOU1RBVF9jbG9zZWQ6DQrCoMKgwqAgQ0FNTHJldHVybihWYWxfbm9uZSk7IC8qIEVhcmx5
IGV4aXQsIG5vIGFsbG9jYXRpb25zIG5lZWRlZC4gKi8NCg0KdG8gaGVscCBpZGVudGlmeSBtb3Jl
IGNsZWFybHkgdGhhdCB0aGlzIGEgYml0IG9mIGEgc3BlY2lhbCBjYXNlLg0KDQo+ICsgICAgY2Fz
ZSBFVlRDSE5TVEFUX3VuYm91bmQ6DQo+ICsgICAgICAgIHN0YXQgPSBjYW1sX2FsbG9jKDEsIDAp
OyAvKiAxc3Qgbm9uLWNvbnN0YW50IGNvbnN0cnVjdG9yICovDQo+ICsgICAgICAgIFN0b3JlX2Zp
ZWxkKHN0YXQsIDAsIFZhbF9pbnQoc3RhdHVzLnUudW5ib3VuZC5kb20pKTsNCj4gKyAgICAgICAg
YnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIEVWVENITlNUQVRfaW50ZXJkb21haW46DQo+ICsgICAg
ICAgIGludGVyZG9tYWluID0gY2FtbF9hbGxvY190dXBsZSgyKTsNCj4gKyAgICAgICAgU3RvcmVf
ZmllbGQoaW50ZXJkb21haW4sIDAsIFZhbF9pbnQoc3RhdHVzLnUuaW50ZXJkb21haW4uZG9tKSk7
DQo+ICsgICAgICAgIFN0b3JlX2ZpZWxkKGludGVyZG9tYWluLCAxLCBWYWxfaW50KHN0YXR1cy51
LmludGVyZG9tYWluLnBvcnQpKTsNCj4gKyAgICAgICAgc3RhdCA9IGNhbWxfYWxsb2MoMSwgMSk7
IC8qICAybmQgbm9uLWNvbnN0YW50IGNvbnN0cnVjdG9yICovDQo+ICsgICAgICAgIFN0b3JlX2Zp
ZWxkKHN0YXQsIDAsIGludGVyZG9tYWluKTsNCj4gKyAgICAgICAgYnJlYWs7DQoNCk5ld2xpbmUg
aGVyZS4NCg0KPiArICAgIGNhc2UgRVZUQ0hOU1RBVF9waXJxOg0KPiArICAgICAgICBzdGF0ID0g
Y2FtbF9hbGxvYygxLCAyKTsgLyogM3JkIG5vbi1jb25zdGFudCBjb25zdHJ1Y3RvciAqLw0KPiAr
ICAgICAgICBTdG9yZV9maWVsZChzdGF0LCAwLCBWYWxfaW50KHN0YXR1cy51LnBpcnEpKTsNCj4g
KyAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIEVWVENITlNUQVRfdmlycToNCj4gKyAg
ICAgICAgc3RhdCA9IGNhbWxfYWxsb2MoMSwgMyk7IC8qIDR0aCBub24tY29uc3RhbnQgY29uc3Ry
dWN0b3IgKi8NCj4gKyAgICAgICAgU3RvcmVfZmllbGQoc3RhdCwgMCwgVmFsX2ludChzdGF0dXMu
dS52aXJxKSk7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2FzZSBFVlRDSE5TVEFU
X2lwaToNCj4gKyAgICAgICAgc3RhdCA9IFZhbF9pbnQoMCk7IC8qIDFzdCBjb25zdGFudCBjb25z
dHJ1Y3RvciAqLw0KPiArICAgICAgICBicmVhazsNCj4gKw0KPiArICAgIGRlZmF1bHQ6DQo+ICsg
ICAgICAgIGNhbWxfZmFpbHdpdGgoIlVua25vd24gZXZ0Y2huIHN0YXR1cyIpOw0KPiArDQo+ICsg
ICAgfQ0KPiArICAgIHJlc3VsdF9zdGF0dXMgPSBjYW1sX2FsbG9jX3R1cGxlKDIpOw0KPiArICAg
IFN0b3JlX2ZpZWxkKHJlc3VsdF9zdGF0dXMsIDAsIFZhbF9pbnQoc3RhdHVzLnZjcHUpKTsNCj4g
KyAgICBTdG9yZV9maWVsZChyZXN1bHRfc3RhdHVzLCAxLCBzdGF0KTsNCj4gKw0KPiArICAgIC8q
IGNhbWxfYWxsb2Nfc29tZSBpcyBtaXNzaW5nIGluIG9sZGVyIHZlcnNpb25zIG9mIE9DYW1sDQo+
ICsgICAgICovDQoNCkknZCBqdXN0IGRyb3AgdGhpcyBjb21tZW50LsKgIEl0J3MgZ29pbmcgdG8g
YmUgbWFueSBtYW55IHllYXJzIGJlZm9yZQ0KT2NhbWwgNC4xMiBkcm9wcyBvZmYgdGhlIGJvdHRv
bSBvZiB0aGUgc3VwcG9ydCBsaXN0LCBzbyB0aGlzIG9ic2VydmF0aW9uDQppcyB1bmFjdGlvbmFi
bGUuDQoNCkFsbCAzIG9mIHRoZXNlIGFyZSB0cml2aWFsIHRvIGZpeCBvbiBjb21taXQsIHNvIFJl
dmlld2VkLWJ5OiBBbmRyZXcNCkNvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gb3Ro
ZXJ3aXNlLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 11:50:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 11:50:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451899.709701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p14Yl-0003aU-0u; Fri, 02 Dec 2022 11:50:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451899.709701; Fri, 02 Dec 2022 11:50:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p14Yk-0003aN-UC; Fri, 02 Dec 2022 11:50:26 +0000
Received: by outflank-mailman (input) for mailman id 451899;
 Fri, 02 Dec 2022 11:50:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sHVG=4A=citrix.com=prvs=328764c7b=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p14Yj-0003aG-MS
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 11:50:25 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c7cde0b-7237-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 12:50:17 +0100 (CET)
Received: from mail-bn7nam10lp2102.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.102])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 06:50:18 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 BL1PR03MB6040.namprd03.prod.outlook.com (2603:10b6:208:316::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 11:50:16 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22%5]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 11:50:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c7cde0b-7237-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669981823;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Y1I07nZvZXjukZSzT68yIEwgGUxUWyJg4CbBDronIwY=;
  b=LmVnedFPG2HlJdg35L2Ky+5yfnQMYNpyhisfCeRMpg5VdEOd+z4DYueb
   CiqUBEChpD8Sl0ABJiU5xDRxFCy3EpsTU4LdH3kNZmP3m7Er6k7a6lcbS
   Le1TY8b4cPh8FEJpoB+o3o3u09K+rPvCbdnBDtXFEqcpOHhcPRV6Q/R9Z
   0=;
X-IronPort-RemoteIP: 104.47.70.102
X-IronPort-MID: 85801937
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:sZg2b6wYaH0qtNKNvVt6t+cVxyrEfRIJ4+MujC+fZmUNrF6WrkVTm
 2QXCGiFbPeIamWnL4glaIyy8EkHupKHm4ViGldtrSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPaoT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KV5S5
 8w0BWgsVzCOtaGo7IOkbPZG1/12eaEHPKtH0p1h5RfwKK9+BLrlHODN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvDCVlVQruFTuGIO9ltiiTsVPn12Ep
 2vAuWD4BB0bO/SUyCaf82LqjejK9c/+cNJPROXhp6U16LGV7moLKUVNZEmRnaOk02q1X8MPA
 G4LpjV7+MDe82TuFLERRSaQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3Oc6TCIn/
 kWElNToAXpoqrL9YW2Z3qeZq3W1Iyd9EIMZTSoNTA9A6d+8pog210rLVow6SPTzicDpEzbtx
 TzMtDI5m7gYkc8M0eO84EzDhDWv4JPOS2bZ+znqY45s1SshDKbNWmBiwQGzASpoRGpBcmS8g
 Q==
IronPort-HdrOrdr: A9a23:rmWGqq0WpFTYW2usmB1SVQqjBEQkLtp133Aq2lEZdPU0SKGlfg
 6V/MjztCWE7gr5PUtLpTnuAsa9qB/nm6KdpLNhX4tKPzOW31dATrsSjrcKqgeIc0HDH6xmpM
 JdmsBFY+EYZmIK6foSjjPYLz4hquP3j5xBh43lvglQpdcBUdAQ0+97YDzrYnGfXGN9dOME/A
 L33Ls7m9KnE05nFviTNz0+cMXogcbEr57iaQ5uPW9a1OHf5QnYk4ITCnKjr20jbw8=
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="scan'208";a="85801937"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cR/oi2EvrNMoQzVVD58UNSupoiPtsoxTqr0Zry1FJVxc6pbrHDH0xfN/19qVT+nyNPTwUYNhXWenrdTWz/lJ+97s9d72yxcCM4HvOFWHauTMvljFoOiQn39ADUXrj/lD/XPkmTQfGMOaoFd0EjlkI/ngmoSXyGhBc1H16b6+Nc+Hx3KpPq9RdUvyGmnN8naXVjqLZGCVo0y713UK+yPHyNzx4MH5wXh25WdYqcJrQKbd187hpOVa7bf0DlwuMffYv5dP0SyJqvz1A4DOACh1ZYs/rSgBJYMSS/VNrp+HY7H1+MrCffcnxVMoVC6bkKeu+OUV2mXth3aRphlZZr9zng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y1I07nZvZXjukZSzT68yIEwgGUxUWyJg4CbBDronIwY=;
 b=AvC6OoLnLvVsUBP686HbVqxlxwW2edtbpA8OzEgtWXFvPu8K/b4QnJUEXHQK7vJZguwXhEhp0xOGj80YgsdUkgtqlNHcMU/KuYTLTdzqdebV9G6I09OswPIXxPMOa0bm+tx6coetIaXXyK4FQ9pW3GLSgEHD+ZVAv/1noQKnJa0b7rupd4TmP3dZIyQeCY1zdxNTyjuzzniEKRRp+9UtD6Koesua7hJjguS76xLBYHRQe08ir1g3/Bu54b+YtaRpixNZdRVrEYja67AdIoGTBSszH6Etg0HScjNZoXp7+D7jGx3U3ihbiD5YIYfboBY5vLelIVzPmwdytLidkCHTlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y1I07nZvZXjukZSzT68yIEwgGUxUWyJg4CbBDronIwY=;
 b=IntUkCEpJzaObgroIQztCWeS1dOxNZHkh0UhIXK5S1CoVfJPnir1k6nYPrZOnrm4savd7kXwNLIsGvlydBWfBsxSIdoRe1yfLUF1gPz5AAzmc6gbRbtfhIpAJUTsj+pEagDxLA8iohlF+3jQ7q1IcvwBJTuqiz+D94khpv8/n34=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>
Subject: Re: [PATCH v2 3/4] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Topic: [PATCH v2 3/4] tools/ocaml/libs/xc: add hvm_param_get binding
Thread-Index: AQHZBjy6tVGKXp8AVkOBzk6mFgDO865afAEA
Date: Fri, 2 Dec 2022 11:50:15 +0000
Message-ID: <4B52142D-7A45-47CE-B3F7-F94EB209FCE4@citrix.com>
References: <cover.1669978356.git.edvin.torok@citrix.com>
 <af355b5ef654745130815f30299d67bea7284f0e.1669978356.git.edvin.torok@citrix.com>
In-Reply-To:
 <af355b5ef654745130815f30299d67bea7284f0e.1669978356.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|BL1PR03MB6040:EE_
x-ms-office365-filtering-correlation-id: e48cc90b-8ea9-430d-1156-08dad45b60ee
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 NWEdgGtJA/E+ndbEQULng5Gcs7iOmW14bEbc2Rj1aTtQAA6GdrQ/Aq6vWjLKwpjRAweq33+UPgrqsvX9YQbXiQndhtZy6eZ//p8V0hNacFgZ1ud+oCcy0N8HCG8VpvH+MjiVrquG2DApeoshxVR58bXfPY/vJBuyICSe/ZwUJox2zQ5Lw4l4C+JzNdRTpm2LCCi1jmfHomwndI091hgbw9LS4WVy9D8xGnhV+9TJYnSiuICzh4MeY1f2ko5awZZrflRGYcqT7qn/vnYo2Tgav8SjXCnozTnysP48un5ttEZ/a5YsgJlkpl614L4e5jX8Wx0e+qqq4xfIHkW2GKPN45GurieGx6OqAeYZiaIj3rcqAXM4NtnbhxgP38b2xPwnemtWCVa9vR34aZyN+3Z7Gs7+eUrD5e365jUrJsCJHPm3krJq7OGTuiGxEr2nU53uxtth3hore8nxxEdgdFwcaztHHcLeuYRsfswSFMOzRFC+RNLE3cpNY8RFYgM68csp3Bu4tarIozaLnqnTYzqob0KcxOqdP3Ci5SUosPWzuhC8QNIgX9XFxLmTz3izQzjKk5M25bmQPK/+Eewdy/FMgCoYiN7nJiMwfnb4+4VASZt1f1MUWbLhcDjekiQa4URKVGvPoART+49hfSBxLiteLA//HTNqSQn4Ft6025fomz5QhTNhkHxdsllMgv0+0suwFlme/uvaqXcqeDcCXsdmoYvUvSiyITwRGRZNQ09ojvg=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(366004)(136003)(346002)(376002)(451199015)(86362001)(36756003)(33656002)(2616005)(41300700001)(76116006)(186003)(66946007)(64756008)(4744005)(66556008)(82960400001)(66446008)(8676002)(44832011)(66574015)(5660300002)(4326008)(6506007)(71200400001)(107886003)(6862004)(316002)(6636002)(53546011)(6486002)(478600001)(8936002)(37006003)(26005)(6512007)(54906003)(122000001)(38100700002)(66476007)(38070700005)(91956017)(2906002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?T3AwMzZUMlVDZjF4YjZBQVNzN2xBV2Evc3pmczNRejZxNDhCVVhWQmlmNUNB?=
 =?utf-8?B?TGlzUjlXS3pVVmpkb3g0bzhieStPM1c2N2pVenNqTUw5N1JFMUxnRzA5dWVp?=
 =?utf-8?B?Yy9qUXJCMElJbDlOOUtlbjBMaWllQ2ZIajluWmNoM2VoNkJOeG00bmxwa3Ey?=
 =?utf-8?B?RUJLcjVGT2ZsbWd3Wko0NkgvNTB4TlhLQnhuU0I2NXEvS2EwVUVDbkFYMytM?=
 =?utf-8?B?S3J6bmtzTVlFMERWOUJSNTdXNXVhZm00UzdJWVJESmk0QXRkdytjRGxuckty?=
 =?utf-8?B?UTI2d2pmQkl6WENWZTFGQTRYWnRZMjhxcWxYU3A3RGFyNDY3eVFCUCttNHZx?=
 =?utf-8?B?RC8vTkVhdmVxbW5TNHNmSlR4Si84OWw1cTFUbTQwNTR5ZVFIWk1FbGU1ZlN2?=
 =?utf-8?B?YXdEcVRHdDVXVVhKU0psL09wSFZmZ1QvV1hXUHJBRWFRWmxzenhTTFFvQkpS?=
 =?utf-8?B?NS9wMHJJZ3B5SUFUdjdXUTFrWXduSzhHNDRBaTM3RGFoTmxiVXBvTkxsczlk?=
 =?utf-8?B?ZlhNeUlZTW1LRUVQQ2pPYlpuYWdFY3ROSldVRi96SjZvMDJTSmc3UHA1VHZL?=
 =?utf-8?B?cDNITHhibGpxcE94ZzlVV2JzOFpsUkM3dUNrTjBTQmJsZHB1K0MwOVc0RENU?=
 =?utf-8?B?YkVhaTJkM1ZIN212RzFUMllsVXVVajVJVklEZDhYL2ZUbGJUbTk2aU45a3VS?=
 =?utf-8?B?UTg3V3J5b25wdTM0ZFdLMWRaSnFIc1ZHU24vVXlCZW8wM2tPVXdicDNEQ1pz?=
 =?utf-8?B?WXhydmRISXlaNTlEVHM0eUh4ZDBqWlNoZVpicWJCblJqVkp1MFBtK0lIb2hn?=
 =?utf-8?B?RXBvbHpRWHJNSmI2UUNzK21PMzAyd1Z0VVZ2NExLZE5Zc0Q5TXhTY05Nekly?=
 =?utf-8?B?NmZBbnM0WkdxUE9WeS9UVmhiNlI5bHE2LytYTU1xeW9xL2hINTZKWnQ0NWc2?=
 =?utf-8?B?eVplem52a292d1pHeFo2dlBWbTlUK2I1VlR5UDJ1a09Ib29TcWY2QjZYYUY4?=
 =?utf-8?B?MVRrWWFrM0xyWU4zaGFLZldOWU81SHIyQ2NoOU1qa2dXOTZBQVM0cytTMmNT?=
 =?utf-8?B?d1N5SnVPN0E5RlRQRDlRRmd1czNjdmIyWDc1WGYyV3ZNY0hxTDdXTzJUVUc1?=
 =?utf-8?B?Wjd0MjRqMzRzQnBNTnNYd0JudzdMOUZNampEVjUyME1sTWhzZEtNcnA3TmZX?=
 =?utf-8?B?citVMENSWDlzU2lMSmtzNHhMajBva1dxK1k5S1FISTdJQS9KUmxuNFVuUy9R?=
 =?utf-8?B?QVBJVGcwOXRLK3V6d2tISk9rM25JZzl3Q2tTU0pDU0tQK1hSWmZxNC9udERY?=
 =?utf-8?B?dWVnb291eSt2Wi9pdkIvVWVySjBvUE5vSkwvS2hWa1dqVC9iaGpHeU91QkVJ?=
 =?utf-8?B?b212aTB3SHNKVHZhVnIxUFd3QlFTNkJsUDVHTEVubXFxS0xOVkpBdEdEbXZs?=
 =?utf-8?B?bW9hS21XdThmWjY5cDVrVlArMEZnaEpYWXozeGxpaHh2cHRXcXZvSFdhQnUz?=
 =?utf-8?B?QWlwOTZEL3NSdjZpT1FOQUk3YnR5RTh1NG10SnJvNnJWTDlUSStQcVNIamQy?=
 =?utf-8?B?dmF4dCtLT1FUbXlmdk5GU0VUbm5ERzRkRzVrV1dxNTVtVWhnaUtISFAwQklw?=
 =?utf-8?B?Y1dNK3A2aW5ubDNaMXk5M3RBZUJjVE4zSmxyUHlVWlZrYS90Nkx3T3VnbVlQ?=
 =?utf-8?B?M3FBY1MrMkpMTjdQLzNOdXVVVkhLeUpmUldjWlFxVDRUQmlVRGNDNHEzcWlH?=
 =?utf-8?B?d05XejVtRTI0T3dvckJSeEthM1JVQ0RUNnhMeWp3Z285S0Z4Y29uQXBXZTZU?=
 =?utf-8?B?UlhFSmJseWk5TWhZS1F4SEMvWGtna2ZOaTR4aG9RSnRlVnhVMDJLMUwzUS84?=
 =?utf-8?B?bDd0VTdjMElGbCtZM3doSmpIZnBnSEZHUlpUK2M5ekZ5UHFaNXN6b0xSdXRB?=
 =?utf-8?B?MkpyN3pVVlpzbFlrcGVWZk9aUXRzamQxOTBYaW5UT3J1ZGMrdlNKNW1zRjdE?=
 =?utf-8?B?WTM0Q09ZSnBlY24zNk4rQVpNYmpuenR1MGdXNzBBaDYzVktMOW9HampENjJX?=
 =?utf-8?B?SC8ra1lHR1EvWWEyRDNiZlpTaENTL05KcEVYckhoUFJXQ2FyVWNYYTR0ZEFS?=
 =?utf-8?B?THl3MGpUaU1tZDJUTEluSEFSaENBSmlPbHU0dnRQRzEzUTFYdWRwSGFTZkk4?=
 =?utf-8?Q?GLXsaFR9YeoNbA9WAk0hb60=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <EB2FB04BF0213A498C041136AAE5C5EC@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	DSpGhG6wyZPTlvMUGRxlcsL/eeOKZYYx4s58BEwt/dbFKO2tn4RnSUNpZi2K7oXpND7gFoXKVG5YszxzqLJgK5lhW/wBEoLrCQwKuIeD0M5MdzujllKU/bOzOHa5AE/hv9dhVGJg+cd3U1FSEEQKHvOk7QF4UEZ8hycav/DUGU4Tm7cYgqooCMkvbWferwx8kUcUIE+/BUD0AAPCs74XgGL7bWQJtD99OWOZ2ha+FxjYjqvcHTFdimWbHReZ1kaOSAzV1iimgc2W+bnkbmlmidN9NnFqwWOK70dRGS3fRoM6olNeunAoUSBT80P7vhR8U//5gdsLOrQs0SaNIizcVA9qnVpe9icud+qPg3doRN40RprQxELYgut9BHtGU6/xTz/FNjEgJfSV+3WU6oHIHNxStXd0g9eErRwo3BOLgNKpPQ6+3fmsldziwvFT22QvVgsto/NhHhHLfD/kjFle11db6vgNdR1AXxER3J5gMUL+CeTeNzkSlCAcBdfeaUebwli6Za9kDGbpPNc/7mpBBpTKGovBbIAcGdzVnyeFuac7F8HFF96HnVlzGVtr1LeOADbnH5mlZ0NMnlQS6n7b0nPMs4vcjwYpAywaKm5QYHPWupYrgBQZL3rpDPOyi2ztR82MhrhOO5t7Ekh8HZ7dudESiOizyvLfHoajaIicVlRDhGSiOLdD6pAnAcu/giha1gIp6d0d7qXu2Ovr7pCe0QgaQG0KwVKPGtduE4zN0YJl4Mnect1vq9StLj4r14gWRQoCXCljrJUVlO80CSvJK7bDQj5RDPCj1yMLNviZnu/8FLwdPZMEtxP2YyzH/bkm9yrUbrJXXdl2yzfgoWuH6g==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e48cc90b-8ea9-430d-1156-08dad45b60ee
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 11:50:15.9204
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: awwsZNchEGxez7E+m7FiGydIVrvwQjE0vgrNX20T2WiAIjWgY238GyeqRq1r3Vo6vdFuHDw1z7LDV4BOwyShkbgtNEL4kI2UeqyydyQFG9g=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6040

DQoNCj4gT24gMiBEZWMgMjAyMiwgYXQgMTA6NTUsIEVkd2luIFTDtnLDtmsgPGVkdmluLnRvcm9r
QGNpdHJpeC5jb20+IHdyb3RlOg0KPiANCj4gTm90IHRvIGJlIGNvbmZ1c2VkIHdoaWNoIGh2bV9n
ZXRfcGFyYW0sIHdoaWNoIGFsc28gZXhpc3RzIGFuZCBoYXMgYQ0KPiBkaWZmZXJlbnQsIG1vcmUg
ZXJyb3ItcHJvbmUgaW50ZXJmYWNlLg0KPiANCj4gVGhpcyBvbmUgYWx3YXlzIHJldHVybnMgYSA2
NC1iaXQgdmFsdWUsIGFuZCB0aGF0IGlzIHJldGFpbmVkIGluIHRoZQ0KPiBPQ2FtbCBiaW5kaW5n
IGFzIHdlbGwsIHJldHVybmluZyAnaW50NjQnIChhbmQgbm90IGludCwgb3IgbmF0aXZlaW50DQo+
IHdoaWNoIG1pZ2h0IGhhdmUgYSBkaWZmZXJlbnQgc2l6ZSkuDQo+IA0KPiBUaGUgaW50ZWdlciBo
ZXJlIGlzIHVuc2lnbmVkIGluIHRoZSBDIEFQSSwgaG93ZXZlciBPQ2FtbCBvbmx5IGhhcyBzaWdu
ZWQgaW50ZWdlcnMuDQo+IA0KPiBObyBiaXRzIGFyZSBsb3N0LCBpdCBpcyBqdXN0IGEgbWF0dGVy
IG9mIGludGVycHJldGF0aW9uIHdoZW4gcHJpbnRpbmcNCj4gYW5kIGZvciBjZXJ0YWluIGFyaXRo
bWV0aWMgb3BlcmF0aW9ucywgaG93ZXZlciBpbiB0aGUgY2FzZXMgd2hlcmUgdGhlDQo+IE1TQiBp
cyBzZXQgaXQgaXMgdmVyeSBsaWtlbHkgdGhhdCB0aGUgdmFsdWUgaXMgYW4gYWRkcmVzcyBhbmQg
bm8NCj4gYXJpdGhtZXRpYyBzaG91bGQgYmUgcGVyZm9ybWVkIG9uIHRoZSBPQ2FtbCBzaWRlIG9u
IGl0Lg0KPiAodGhpcyBpcyBub3QgYSBuZXcgcHJvYmxlbSB3aXRoIHRoaXMgYmluZGluZywgYnV0
IHdvcnRoIG1lbnRpb25pbmcgZ2l2ZW4NCj4gdGhlIGRpZmZlcmVuY2UgaW4gdHlwZXMpDQo+IA0K
PiBTaWduZWQtb2ZmLWJ5OiBFZHdpbiBUw7Zyw7ZrIDxlZHZpbi50b3Jva0BjaXRyaXguY29tPg0K
DQpBY2tlZC1ieTogQ2hyaXN0aWFuIExpbmRpZyA8Y2hyaXN0aWFuLmxpbmRpZ0BjaXRyaXguY29t
Pg0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 12:25:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 12:25:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451923.709711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p156A-00014g-6f; Fri, 02 Dec 2022 12:24:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451923.709711; Fri, 02 Dec 2022 12:24:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p156A-00014Z-3q; Fri, 02 Dec 2022 12:24:58 +0000
Received: by outflank-mailman (input) for mailman id 451923;
 Fri, 02 Dec 2022 12:24:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kt94=4A=citrix.com=prvs=3286be18b=roger.pau@srs-se1.protection.inumbo.net>)
 id 1p1568-00014A-Di
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 12:24:56 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 520531d0-723c-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 13:24:53 +0100 (CET)
Received: from mail-dm6nam11lp2175.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 07:24:43 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DM4PR03MB6127.namprd03.prod.outlook.com (2603:10b6:5:396::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Fri, 2 Dec
 2022 12:24:41 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1%9]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 12:24:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 520531d0-723c-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669983893;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=aqaZc2Cq1egACPIy1AhyP4sEkJ58vIqy5db4ZRhDsX4=;
  b=S6UEngknz48CXCcFGgxqsgZQCibtMs0LTxGWeZBBtqEqSFANhXT9p2sC
   62TBU9krc9ldtHb0RVvaU33tM8ruI7EOtb0Qc7+BIcaqikvQep09Tpt37
   djYZ5aJEhskNXp52xvIe3SphTQdfREBWntP9bqOMEeDG1qfLm1fsP2Lku
   4=;
X-IronPort-RemoteIP: 104.47.57.175
X-IronPort-MID: 85273801
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:syEmwqIh2Z2uXJoXFE+REJUlxSXFcZb7ZxGr2PjKsXjdYENShjwOm
 jRNUTqAaKuIZTajfYsiPty18E0PvJTQn4UwTQJlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5ARkPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5VMExMz
 vMCBQkNTT6ypceG8o/kZOhj05FLwMnDZOvzu1lG5BSAVLMKZM6GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dopTGMkWSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iLx3LCUzXuiMG4UPKCm3NR1gkax+nweCB4fCFuDuf6FmkHrDrqzL
 GRRoELCt5Ma+EW1Q5/9VhujrXisvxgAVt4WGOo/gCmJy6zJ80OaC3ICQzppdtMrrok1SCYs2
 1vPmMnmbRR/vbvQRX+D+7O8qTKpJTNTPWIEfTUDTwYO/5/kuo5bphDAVNF4C4auk8b4Xzr3x
 liipi8khq5VitUXzaKl5lPWqzW2r5PNQ0g+4QC/dn6q6hNRYI+jepCy7l7a/bBMIe6xS1iHs
 38sgcWS7OkSS5qKkUSlSv0lFbWo6vDVdjHR6XZjFocssTSk/WWue6hU4TdjNAFoNNoJfXniZ
 0q7kRMBurdQMWGsYKsxZJi+Y+wq1aHIB8X5UeqSZd1LCrBrfQGO8SVGZkOK2W3p1k82nskXP
 Zqde+6vAGwcBKAhyyC5L88U2r8qzyYx7WPLA5v8ynyPz7eYZ3eJRKwFdkOHauQ49KqIoS3U9
 cpSM42BzBA3eOn/ZDTHtIcYNVEiM3c2H9b1ptZRe+rFJRBpcFzNENfUyLIlPoBgwaJck76R+
 mnnAxAFjl3imXfANAOGLGh5b6/iVop+qnR9OjEwOVGv2D4oZoPHALojSqbbtIIPrIRLpcOYh
 dFYEylcKpyjkgj6xgk=
IronPort-HdrOrdr: A9a23:yWcib6wmT3WrgI8g3jm8KrPwC71zdoMgy1knxilNoH1uA7Slfq
 WV98jzuiWbtN98Yhwdcf7pAsi9qDDnhPtICOoqTNSftWvdyRKVxehZhOOJ/9SHIVydygc378
 hdmsZFZOEYQmIK6foSTTPIdOoI0Z2syojtr+Hb1nJsRQZhZ+Vb6RtjAArzKC1LrU19dPwEKK
 Y=
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="scan'208";a="85273801"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j8sf+pVP37/6PlJ3PYocyVdw+Fmx+8MetZFMbDexSPJjKqRP1Ddx7bxMl59tdHs6mXH6kL2gUYzBwo1HYvd+wqVhd3fo9phNk8QLwti486vOW68jOxzeeG4tczCRiPcWgejWR8G2VF+qvWnDONwNt7ke1d7nZsxiXClDgl7UjFjXTlPWN5w+s6bchT+/2QgHio8zehqSEMaVhVFej4I9i78KhdsMSx6EFNnxHQRiosx9SXYeiWg+IhGGW6pBJ5A/WTSz4Qm72kSbMQx9sRjr1h3Y76CdGI2rW15xGCAl96XKX5h56HWhr3KSauo+k1/wBNA6djnAb4oIqJZNz3mdtw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GSJkgbLsYx6sBjOxZtCQkc6d32+ScXt3yjKtA3uX0Gw=;
 b=Fnsz32rIsgJZZDRDnUy2lzg42KGG7sI3rM/YRHAkNTbTvGKHNvdLUeEiIdaRSLAxAc0dgf608BWDj/oGyXb4IBL2Dl8HWETEmOzAybF0er/btNkMbgD1jRwqoD0GUwKp91TyvX2SQa9ToONN//t4nsxCgHMc2CGzdmQx0911VnE5HWadqc/1kzvTf2ypSWKHeDFk9/8mOoRDOUu0CkWv4iM5AgKfT+6tww0/Q4l+kUzE83+BA3dvDqQkQje92aK0iTtFIX2jO+kLJqVCvugNOUmhH+ZFf9Qkyv3w+EIJAcmQBwwMr6gpmGCAnOZzRDWxJgiSdCirgbX0CVzmsc5ouw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GSJkgbLsYx6sBjOxZtCQkc6d32+ScXt3yjKtA3uX0Gw=;
 b=NP4ZzdX8efChl9+5FjrBc1IK1sO2ONJibJigdeA26Zne+HVlfyEdP+cJv/jG3tfhnCsI8HBELZLKyCKhwmVjxyj+1vYUCzS3mVZaBsPfBk8/yQqmGAF+gLcvEOTTcbFxmUlXorou9BPWpd9UqZWK7AtSWpIr1rxT0xTJG41yLNI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 2 Dec 2022 13:24:35 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Dave Hansen <dave.hansen@intel.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	jgross@suse.com, Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>, Alex Chiang <achiang@hp.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	linux-acpi@vger.kernel.org
Subject: Re: [PATCH 1/3] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
Message-ID: <Y4nugxKV1J/BqhBt@Air-de-Roger>
References: <20221121102113.41893-1-roger.pau@citrix.com>
 <20221121102113.41893-2-roger.pau@citrix.com>
 <6b212148-4e3f-3ef6-7922-901175746d44@intel.com>
 <Y4d8cm97hn5zuRQ1@Air-de-Roger>
 <4a0e9f91-8d8b-84bc-c9db-7265f5b65b63@intel.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <4a0e9f91-8d8b-84bc-c9db-7265f5b65b63@intel.com>
X-ClientProxiedBy: LO4P123CA0462.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1aa::17) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DM4PR03MB6127:EE_
X-MS-Office365-Filtering-Correlation-Id: a6240a17-563c-407e-119d-08dad4602fa4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NHerTqgJUHfdjhc6meZavVwrZG6p3lJ1gipWcxlaSPoc1qcxOnadh8dmUIYU+2okkTrNLR5vYTfUFrcT7qpnyF4E+AGvlu+yzW94SDSqowqZPYjjZ+3BH1w0X3qHAm3IwmWeC0ClUtfVXHh0Mulp4h7PSsNE51yGSnKQ2qzy+LWD8bDych1TMYXywVI62cXSmdrB1gV9qe3VrpsjVKMkn6nNUWSn2qRn26KVrrRACG05k4o4RJ0Yx6Ezh1dKzuFCyGHDNAJm27SwqGsh641jOf6Q0gy8SbhbBcbIJazFlYHoEzt3Mo4uHn7uOUkDxyzVqKeMCvk9mvITKAZL72mmk5VBEvjbWmuYrdF81YSg6g6/m25W/YcImqYtdW+wmePQYZL+WjWMCZm7jNuZv6FWfWI9G4m//3J9yiWFEi/rK8wIaiHI0skq813xl/6ayUogC0SEYcc+4nsG7MIlAJEb/GvD9zIKlaHpqey7IUqgkXbQWFTJn+Wcb8Tn73kobffUrJITAfXJ8TNhnTdWUKX0XAUwQQFtXG6Z+oRu+iba/gejRc+G9YD/ldiaN4sAgxZFCUZcEff/2eHT/YVfiGxbx9h1303httAuS82T+7EMfknKk9rtVy+H6BdxG/Jv+2NGc5LMviHHuBp8sk4IAloBXw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(7916004)(4636009)(396003)(376002)(366004)(39860400002)(136003)(346002)(451199015)(9686003)(26005)(6506007)(6666004)(53546011)(6916009)(54906003)(38100700002)(6486002)(6512007)(85182001)(478600001)(82960400001)(86362001)(186003)(33716001)(83380400001)(7416002)(5660300002)(66946007)(66556008)(66476007)(4326008)(8676002)(41300700001)(8936002)(316002)(2906002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TENKcldVWmJyWU9Gb2ZrRWk3MzFuT3o5cTFScU95TXdVa2tNZ1ZYbkJMYVJx?=
 =?utf-8?B?U290RFAzZUtTeFZTK01Wc3FJYTFRRnl2TFRLcG4yR0cyOENkZ25yMnRpdnRo?=
 =?utf-8?B?YzNmdzA1SmJGaUJzL2M4R3lMMjFGL0RreWVYMEFmcmFQMEErMExZQUNQT0oz?=
 =?utf-8?B?UkYxZzhEYmdFWkNna2syWW1naHMvLzhGSERZOWQ1ZUs0MCtRc29UQzFnTUgx?=
 =?utf-8?B?MVVUcnlDMlc3VzQ5eTgwa1g4K2RoUWpySm1wcno1aDV1cGxaemxxVEVxZ3JE?=
 =?utf-8?B?OERXckxlRXU1TTRLSjBzOHJmaXY0Z1IxbzdMb3kxaFpOa21iMmZVaXo3Z2w3?=
 =?utf-8?B?bVlEOU1ocko2QVNzRVVWYllDcEFyaUtUblFmWHFNTkw5ckNyRmlPSjJ1K042?=
 =?utf-8?B?Yk5idjZCRDltNTRCbEdMRS9ueXpxRTJ2K29CUTIzSmpydGZjalkxVHA2OEhr?=
 =?utf-8?B?L0x1K1BQL0xBY2RWMnF3NkZ0VE5xcVVWSEJ1UEV4VkhacXJZa29aejBPR04z?=
 =?utf-8?B?U095K3ZObXF6LzRGSXRQbkFCbTFKU2t2N1M0QWZtTzNhSzVYZzNBSnhxWXB2?=
 =?utf-8?B?Q3JFVDUydDJyT21wNjBNRW5IZ0tLWS9SVXZnWVNZWEw0WC9UMTlTL1dFYlE1?=
 =?utf-8?B?bjMxb041a0VLTk5uc0NiZldydWFGa2psU2d6SzR5akplZm1ZK3cwdHBXcWxI?=
 =?utf-8?B?cWhEOUNmUm81ZjdhOUFtcm9hd2tna1Q3VmhxRVp6T1F3Mm40ZUNjQTdtZjZG?=
 =?utf-8?B?SnJkeklLbGJwSkdiVnJoMWZ2WHZVK3o5c1pBTlJndGtmVVJXNFBNQnk3ZVFL?=
 =?utf-8?B?R1ErUGFXbU5KUVNZam41Qzd5MkZFc1ZOOEFnVW5ydDhJL203Q09UaXBEdFpy?=
 =?utf-8?B?QnRYY2Z4VnlxUjE5bWFzY1ZvRDZSMXljZCtkNEhiSHlxNUlQKzk2V2Mzcms1?=
 =?utf-8?B?Q21oODQ4QU9uRTJqMW1CaCtHRHl2SEJER0N0MGlpNmFMeVBkaHFnczZibnBw?=
 =?utf-8?B?dzQ3ZlZlZW5nYTZKNU03VVpOeTd2N2tFU0JIaVNCMzFZWG5VZTdtN1Vmdm12?=
 =?utf-8?B?MXV5VGV4WklCRzJIK2t3VGUrWURiZjFaTUhWNEpYQmF5R3B6OVdZUURLcnNY?=
 =?utf-8?B?ak0zTWdvV0lzbGNjK2JEL2hxYzZKSldBTlgrbDBCZktyMTk5eXROU3QzUDlZ?=
 =?utf-8?B?MEZvaXhVaFNrdnlHaDk4RkVhYXFyVWFvdmRCT3ZsTGg2VDFGNzJJb1J0Z2VH?=
 =?utf-8?B?WnoxZ2lKb0dzL28zWHJBaVh5K3hRb3pGYlJNcktpU3U3Q2lSdnpVWER5OVZw?=
 =?utf-8?B?NVZJVUJMeDEwMHVtRy9ralpxNm80bE52RGxHOEhsd3A0cDEzbXVjcmFrM2Fv?=
 =?utf-8?B?VUJMSEx5WnZ5RE8wMVFoa3pVT0lYZk04YVZkTmRJam5iNjk3T1FIQ2xMMHJo?=
 =?utf-8?B?SEROeEJ6eXF2Vit1TWRGdkx4YVh0akJkNTB6QkFpYVZQNklLZm53ZWJCQ1g3?=
 =?utf-8?B?ZjhZQnJlNGtuZDlWa1hJTldnVWpkMGpCWU9GQVg4WU1wRS9pSDNwV01jOWlS?=
 =?utf-8?B?ck4yUFhGa2swMnZGMFI1K1ZIbXVCWVI5TlcvWGlQTjdTWVUybmF3RjhGMGJh?=
 =?utf-8?B?WWhJM1RKTmduKyt6SlBpUHBPQnFWOG5oNllkSXU0SjZtYm5CZ0R2T2I1NnhJ?=
 =?utf-8?B?YVJIZlVuVnRKOUVKTFY3a0FUeDcrZHRrOWwvTDFmVHRkSjJiaFRRQzFFQ3Ro?=
 =?utf-8?B?bjNMalc5aE95bXl5eDZTWkVEU0d6czgzaTZRQW5GWEF3ZDY4YTdFRTRuVDAv?=
 =?utf-8?B?bnEzbmVKRTM5MmlMeGdXSFJ1a3dtcnZXM2dXOXd0cTlaeVJQL2JNbHQvRFZE?=
 =?utf-8?B?Q2NOK2gzMzBRS0k2UDVvbkRHZU1IV2ZNN1ZzOFlTY2JncWlOZ1owOVliVzVs?=
 =?utf-8?B?aWxnd3NmMncyUzR3UkRxL2hvcmp5YWpiVnRqL2RhL2VPR3creE1PRzkzQjdM?=
 =?utf-8?B?Q3ZLQmRwRFRPL05HVFpHNDh5cEtpUmV3MmptTWF2T1F4aXlrQnF2NEhtaTNP?=
 =?utf-8?B?bm82dEJwUVloa0VXdmwxd0tTd2EwajZRU2srTmV5UWZCbWtJT2pVZVFRbk0z?=
 =?utf-8?Q?/TGGrVb7ZlOxtMwlRFM5RfCcT?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?MTRaRjZPdUgwV1NPcUU0ekx4UmRpdkR0Mko1ekVJRklyV3JtcE1vMVgwTWVF?=
 =?utf-8?B?SEhPUy92L08wOEdlRDlwOGR2dHB6WUYrM00vQkdJWnJVK0tZdDYwczFKS09V?=
 =?utf-8?B?SmtWY2hSZ0lzakpvNnZHQUtGZUZvaGVmVGFJcDd3YWEwU3pmNnVEaVVrTlFT?=
 =?utf-8?B?WndmNjY3RXVqaVptY0JGMUxybGxPSkdlUzdVTW1Vd0swMWdQb1ZBOGp0L0kz?=
 =?utf-8?B?UGVuOVVRRDlhWVdSY0RJZmF1SkFJaEFPMUk4N28xdkZsZFI3Smd0cm1DUk5I?=
 =?utf-8?B?dHNZc3hLZmYwNGxITWFJYUxZYkVTcDRFRlc5WXR1cUlLM1JtWXMvcjFPUkhF?=
 =?utf-8?B?R0p6Qm1BV3o2bmdTL0hOdW95a1gzR0IxdG1XSk1xZ1dLLzhIbU5ZUElsYmZU?=
 =?utf-8?B?azNXT3RwbkY4STNuWUxaWlhVRkFNU3hMTzFEU2dFSUJ0Z25wOFR4Q3FDL3hG?=
 =?utf-8?B?eHNXajh6Q3Bvd3hJTENFRVplWEtHWmtmeW1ueEdlbVNkSUJpZjVzb0JIbjh0?=
 =?utf-8?B?Qk1ocm1sc2JrMjkyVk1YR3NoblhETWtBZDkzTElvcW1qM0FlUVZEd25XTFd2?=
 =?utf-8?B?RlRMUHpONDU0Z3o1M2hrRzJLK2FuL2krWlliNHQ1VlVtVGJIZkdzaGF2Ykhk?=
 =?utf-8?B?WVVOaUU0cGtFM1hEZG4xVWphTGhjNVMvSWsyMndRVTN6UEx1eFR2aGJsMnJs?=
 =?utf-8?B?eW54RFgwZi9tM0YrMUU0aXRYN1Y3N0l1clg0YUhVRWxseFE5b0VpZHZtSURk?=
 =?utf-8?B?YkU0dkFudC9nREJyOXdBUmtKTzNiMDY5WWtOQ0NCVVhCbDFoWFZvYlBhMW9W?=
 =?utf-8?B?bktVQ1RmQlVsYUJXOTRJemNnM0s4YWZ2dXF4THY4allzTzM5UlhhWEU2THpS?=
 =?utf-8?B?VGNrU1JKWEhXeUs0bEltWjl6SExMUDJwRm1YUFhVRExJS2JNYmJaZldwNEwr?=
 =?utf-8?B?ZytlTmRHaHZLT2FhZzRGcHF2c2ZZblhNYm1WcllDVlQyT1VCNDNZcHNJZ2pv?=
 =?utf-8?B?RUFJTmtxdFAxU1JXSno0U1hRZWQ3MStVMllnMmhvWVdFM2xIVUw2TVVNcXZq?=
 =?utf-8?B?UmNOTGsyV1F5YTlNMEh2STdJQjFrd1p5UW4ydTRIZ1g0ajBIUWNOWDZOL01O?=
 =?utf-8?B?U3N2ekNFQnkxckdZclo3aU5ZSlpUMTdWbXJTbEE0bHl5VXMybTZzZTA3ZXJi?=
 =?utf-8?B?b2paWFQ5Nkx5eEV0YjJmaUw5T3lKQXlMRTZwYVBsL0V3aFhRMUcwM3lIeE9P?=
 =?utf-8?B?QVRFTCtueHp2VDZqQ1ppc0NhdDVNbTBNU3pBd0taUUhmMkVoVkwzaEFTbDRB?=
 =?utf-8?B?K2hnU0g5cjFWdXNwZFZ1UUNybTYyMDFFbVFvaHZIcysySXVwWnJOOTJ1ZGJM?=
 =?utf-8?B?aXJqZUF2WElaUCtFNTBXeG5zOE1ZOExuYTZYSXNiRWtsZ1BjRlAzUC9CQUoz?=
 =?utf-8?B?OXRWY2h5S20zdWZuOUlKbk1wN2FxaHJXTFhBUVREREFzbmNtdFRGcm5ocWd5?=
 =?utf-8?B?T05XdmlTejRqMUtIVE0yYmxiaHJLOHJXZDcvbHJtbW5WT1lSWlV0ekRJTis4?=
 =?utf-8?B?bjlUS0lGbFhBSWNPaUlZd1A2TXZYNkhjV2pUSkZxdnU3K25ieExocWc2SFNi?=
 =?utf-8?Q?Z7xtc+R8D5W7TG5iOcmM8Ndf8b6Vw0UBA+G0Hr4xwjmQ=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a6240a17-563c-407e-119d-08dad4602fa4
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 12:24:41.1795
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: o3a6LqpSfvQVV/dtkpsm9Yr5xy2Xx2RbHOQpq2mvYEuWXpfmlBsa5NF7JkJn3JOYrBY3Ta9JgFWAPRh3zybGxA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6127

On Wed, Nov 30, 2022 at 08:48:14AM -0800, Dave Hansen wrote:
> On 11/30/22 07:53, Roger Pau Monné wrote:
> > On Tue, Nov 29, 2022 at 09:43:53AM -0800, Dave Hansen wrote:
> >> On 11/21/22 02:21, Roger Pau Monne wrote:
> >>> When running as a Xen dom0 the number of CPUs available to Linux can
> >>> be different from the number of CPUs present on the system, but in
> >>> order to properly fetch processor performance related data _PDC must
> >>> be executed on all the physical CPUs online on the system.
> >>
> >> How is the number of CPUs available to Linux different?
> >>
> >> Is this a result of the ACPI tables that dom0 sees being "wrong"?
> > 
> > Depends on the mode.  This is all specific to Linux running as a Xen
> > dom0.
> > 
> > For PV dom0 the ACPI tables that dom0 sees are the native ones,
> > however available CPUs are not detected based on the MADT, but using
> > hypercalls, see xen_smp_ops struct and the
> > x86_init.mpparse.get_smp_config hook used in smp_pv.c
> > (_get_smp_config()).
> > 
> > For a PVH dom0 Xen provides dom0 with a crafted MADT table that does
> > only contain the CPUs available to dom0, and hence is likely different
> > from the native one present on the hardware.
> > 
> > In any case, the dynamic tables dom0 sees where the Processor
> > objects/devices reside are not modified by Xen in any way, so the ACPI
> > Processors are always exposed to dom0 as present on the native
> > tables.
> > 
> > Xen cannot parse the dynamic ACPI tables (neither should it, since
> > then it would act as OSPM), so it relies on dom0 to provide same data
> > present on those tables for Xen to properly manage the frequency and
> > idle states of the CPUs on the system.
> > 
> >>> The current checks in processor_physically_present() result in some
> >>> processor objects not getting their _PDC methods evaluated when Linux
> >>> is running as Xen dom0.  Fix this by introducing a custom function to
> >>> use when running as Xen dom0 in order to check whether a processor
> >>> object matches a CPU that's online.
> >>
> >> What is the end user visible effect of this problem and of the solution?
> > 
> > Without this fix _PDC is only evaluated for the CPUs online from dom0
> > point of view, which means that if dom0 is limited to 8 CPUs but the
> > system has 24 CPUs, _PDC will only get evaluated for 8 CPUs, and that
> > can have the side effect of the data then returned by _PSD method or
> > other methods being different between CPUs where _PDC was evaluated vs
> > CPUs where the method wasn't evaluated.  Such mismatches can
> > ultimately lead to for example the CPU frequency driver in Xen not
> > initializing properly because the coordination methods between CPUs on
> > the same domain don't match.
> > 
> > Also not evaluating _PDC prevents the OS (or Xen in this case)
> > from notifying ACPI of the features it supports.
> > 
> > IOW this fix attempts to make sure all physically online CPUs get _PDC
> > evaluated, and in order to to that we need to ask the hypervisor if a
> > Processor ACPI ID matches an online CPU or not, because Linux doesn't
> > have that information when running as dom0.
> > 
> > Hope the above makes sense and allows to make some progress on the
> > issue, sometimes it's hard to summarize without getting too
> > specific,
> 
> Yes, writing changelogs is hard. :)
> 
> Let's try though.  I was missing some key pieces of background here.
> Believe it or not, I had no idea off the top of my head what _PDC was or
> why it's important.
> 
> the information about _PDC being required on all processors was missing,
> as was the information about the dom0's incomplete concept of the
> available physical processors.
> 
> == Background ==
> 
> In ACPI systems, the OS can direct power management, as opposed to the
> firmware.  This OS-directed Power Management is called OSPM.  Part of
> telling the firmware that the OS going to direct power management is
> making ACPI "_PDC" (Processor Driver Capabilities) calls.  These _PDC
> calls must be made on every processor.  If these _PDC calls are not
> completed on every processor it can lead to inconsistency and later
> failures in things like the CPU frequency driver.

I think the "on every processor" is not fully accurate.  _PDC methods
need to be evaluated for every Processor object.  Whether that
evaluation is executed on the physical processor that matches the ACPI
UID of the object/device is not mandatory (iow: you can evaluate
the _PDC methods of all Processor objects from the BSP).  The usage of
'on' seems to me to note that the methods are executed on the matching
physical processors.

I would instead use: "... must be made for every processor.  If these
_PDC calls are not completed for every processor..."

But I'm not a native English speaker, so this might all be irrelevant.

> 
> In a Xen system, the dom0 kernel is responsible for system-wide power
> management.  The dom0 kernel is in charge of OSPM.  However, the Xen
> hypervisor hides some processors information from the dom0 kernel.  This
> is presumably done to ensure that the dom0 system has less interference
> with guests that want to use the other processors.

dom0 on a Xen system is just another guest, so the admin can limit the
number of CPUs available to dom0, that's why we get into this weird
situation.

> == Problem ==
> 
> But, this leads to a problem: the dom0 kernel needs to run _PDC on all
> the processors, but it can't always see them.
> 
> == Solution ==
> 
> In dom0 kernels, ignore the existing ACPI method for determining if a
> processor is physically present because it might not be accurate.
> Instead, ask the hypervisor for this information.
> 
> This ensures that ...
> 
> ----
> 
> Is that about right?

Yes, I think it's accurate.  I will add to my commit log, thanks!

On the implementation side, is the proposed approach acceptable?
Mostly asking because it adds Xen conditionals to otherwise generic
ACPI code.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 12:36:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 12:36:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451934.709723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p15H9-0003Ev-78; Fri, 02 Dec 2022 12:36:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451934.709723; Fri, 02 Dec 2022 12:36:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p15H9-0003Eo-4G; Fri, 02 Dec 2022 12:36:19 +0000
Received: by outflank-mailman (input) for mailman id 451934;
 Fri, 02 Dec 2022 12:36:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cJJJ=4A=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p15H7-0003Ei-Eh
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 12:36:17 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20613.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e86b784a-723d-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 13:36:15 +0100 (CET)
Received: from BN1PR13CA0015.namprd13.prod.outlook.com (2603:10b6:408:e2::20)
 by BL1PR12MB5287.namprd12.prod.outlook.com (2603:10b6:208:317::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 12:36:08 +0000
Received: from BN8NAM11FT043.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:e2:cafe::b8) by BN1PR13CA0015.outlook.office365.com
 (2603:10b6:408:e2::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5901.8 via Frontend
 Transport; Fri, 2 Dec 2022 12:36:08 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT043.mail.protection.outlook.com (10.13.177.218) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Fri, 2 Dec 2022 12:36:08 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 2 Dec
 2022 06:36:06 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 2 Dec
 2022 04:36:06 -0800
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Fri, 2 Dec 2022 06:36:04 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e86b784a-723d-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mn6JTb43WcLoLon/rgn9B7W9vG23WUB08COZsB7nRiFHKb/c3tUFfqdmLHz9YglISF/4b7W4zRiftS4S6mP3n7HQITh39p9Cd8nfF5spmF4/lQGe1EX8RgsHdsjQl7/Fh9BES+Nyw1PspvUDTuyY+hPktT4RcklGJ0OvqCX+MuYK6p33xEHbW6gRhmBWjkiqZTj3I2+Upb8LcBUFCSSwZnyUpW6SzqMxlJSLi90WiXpAhQgeSD9gIp2P4fr8BNnRcllczjCsL1ZtzoZOzfdq7AxV4Es6iwqnGXA/a1CM0i+AbO+Uc02T7HlASIuKtkODA9i/A8xYhrFxuBYHGj14Xw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EgHT1+lbjR4JTCrqNY8MheImjOa7MHsLTBAZGqdrZJM=;
 b=J6+EHcHWmLTDjHCaA3m6RlM0uztS9AR+7R8Pf3e1LUXS0VNkFeGgPfTsSsb1R7BZrK8aw27BumjvxSMGtLEeUa7ewiGwRIRFTDTF6g7u5vHgJcl7GdvUfUbmX/hDdX8ZXVgo8rtNQTznjlCQcU85s/9dLbTzSBtA6tI47bsfXIDhxmF6LKPzgJruqzOgUJq8XHIuS0QqM+7mT1lYExbSqhXGOtvJoijf/h4Fvhs+QbNBqx4Lrv2GxwedrE/1+AqlMvENU0csszZ9EYeLRId7zpja70iigpswf1iKodJTqHc3+s8fpDLQ/7UPS8zambwK+/pbbaFirOuf7kn+JUlwkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EgHT1+lbjR4JTCrqNY8MheImjOa7MHsLTBAZGqdrZJM=;
 b=fCipbyKHzwdrKO5cykjI1mJbMcqNzW1V5ZiLJJGvqdNh1mskBCrXOWk9JVpNaspI289g8t7Bi8MHFYxlgLZVOPtn4ewrCGniAgW2rzKAVWH0uepGSISfQ8l5I6odz3v5+//+mGNuPt0gAXzvqkLf1QZbpanuclHclijMYNTEzEM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<bobbyeshleman@gmail.com>, <alistair.francis@wdc.com>,
	<connojdavis@gmail.com>, <wl@xen.org>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v3] Xen: Ensure "xenheap_bits - PAGE_SHIFT" can be used as a rhs operand of shift operator
Date: Fri, 2 Dec 2022 12:35:59 +0000
Message-ID: <20221202123559.33143-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT043:EE_|BL1PR12MB5287:EE_
X-MS-Office365-Filtering-Correlation-Id: e9d395dc-39e6-4161-6de6-08dad461c962
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uJAM8npwqPkMcR0Jqc+fp9oWfVrgy/T4mFYkjqyWaxgoar5US8ZoqH9XbWuWW7twBxD88LZCZa3zF7rLOElNCrz00lJIF2FdIEUTkGWCG8OXSFVZfDEMhYEyh0l22CBEVLP0CfRtOFkE4tM+XfbRokFFLn1SmUhlV5M9zbRhGFv4yFzUJ1nqSkT70lq6NfiXbXYQZ1CuvlrDX2eE+uY72TAWGU0azQ66sIii1J/yf+mlPv6320eMdqHHryeH09xLTQhoKOCjSi8dAj9d5xLR094lGVsuyVVwUL7rVFwA5OyVByneeH+gJGsP8Xg3WqwPD19R3Sgj9J8te8aqZmiFaOrOuOf/mAOetNX/bK4O6+kaRLj54aKiNkEpUf+g71ADu/NohjDxKuzNKcNYzl4vSxzCYMowlI4UwlpkDa/d5FXTqE3Mn8CzxUwNNDr9t+uinkwAiBLnaCrBd5BkMW6J8MIK4IUVgOTgjPAukeQ3YNuEA361A+p1ybSKNf4DE5oOE3OVxIWqzWKJId500AT0D+/uo1jDA95OLZfP8wGg9rfGC5uJN+3ZcLZf9Ktmbgzlad3fx8PBtyalGlodMH5ScV9JFc9JpQJRDcLqUz7tujEnLf3g51Yyp98FbQXHeO0Eo8x28QY/vZPR2elKw+VTNzGIjz1UZGRg5h/FRliIFI9ejkKUssdu/XQ+09uwGCkfSgudbKj4dfib90YBHPvuyXJpEsnhz0PqoICz/3voaVI=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(136003)(39860400002)(376002)(451199015)(36840700001)(40470700004)(46966006)(2906002)(356005)(6666004)(478600001)(81166007)(86362001)(103116003)(40480700001)(36756003)(82740400003)(1076003)(336012)(36860700001)(186003)(47076005)(2616005)(426003)(40460700003)(83380400001)(4326008)(41300700001)(5660300002)(26005)(82310400005)(8936002)(7416002)(70206006)(8676002)(54906003)(316002)(6916009)(70586007)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 12:36:08.1465
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e9d395dc-39e6-4161-6de6-08dad461c962
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT043.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5287

We want to ensure that "xenheap_bits - PAGE_SHIFT" is strictly less than
the number of bits to represent unsigned long as it is used a rhs operand
to shift mfn.
It is also important to note that the "xenheap_bits - PAGE_SHIFT" is never
used to shift an address (rather than a frame number), and going forward
then also shouldn't be (perhaps unless further precautions are taken).

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---

Currently this change will not have any impact on the existing architectures.
The following table illustrates PADDR_BITS vs BITS_PER_LONG of different archs

------------------------------------------------
| Arch      |   PADDR_BITS    |   BITS_PER_LONG |
------------------------------------------------
| Arm_64    |   48            |   64            |
| Arm_32    |   40            |   32            |
| RISCV_64  |   Don't know    |   64            |
| x86       |   52            |   64            |
-------------------------------------------------

However, this will change when we introduce a platform (For eg Cortex-R52) which
supports 32 bit physical address and BITS_PER_LONG. This platform does not follow
the same code path as Arm_32.
Thus, I have introduced this change as I don't see it causing a regression on
any of the supported platforms.

Changes from v1:-
1. Changed the check from "(PADDR_BITS > BITS_PER_LONG)" to "((PADDR_BITS - PAGE_SHIFT) >= BITS_PER_LONG)"
2. Updated the commit message to explain the reason for this.

v2 :-
1. Updated the commit message.

 xen/common/page_alloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 62afb07bc6..c5b8c7444f 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2245,7 +2245,7 @@ void __init xenheap_max_mfn(unsigned long mfn)
 {
     ASSERT(!first_node_initialised);
     ASSERT(!xenheap_bits);
-    BUILD_BUG_ON(PADDR_BITS >= BITS_PER_LONG);
+    BUILD_BUG_ON((PADDR_BITS - PAGE_SHIFT) >= BITS_PER_LONG);
     xenheap_bits = min(flsl(mfn + 1) - 1 + PAGE_SHIFT, PADDR_BITS);
     printk(XENLOG_INFO "Xen heap: %u bits\n", xenheap_bits);
 }
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 12:43:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 12:43:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451943.709735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p15OH-0005T2-65; Fri, 02 Dec 2022 12:43:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451943.709735; Fri, 02 Dec 2022 12:43:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p15OH-0005Sv-0w; Fri, 02 Dec 2022 12:43:41 +0000
Received: by outflank-mailman (input) for mailman id 451943;
 Fri, 02 Dec 2022 12:43:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p15OF-0005Sl-9r; Fri, 02 Dec 2022 12:43:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p15OF-0001yT-8D; Fri, 02 Dec 2022 12:43:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p15OE-0007hw-Se; Fri, 02 Dec 2022 12:43:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p15OE-0002F1-SC; Fri, 02 Dec 2022 12:43:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QCXKMr62TrDZDqDdV2+kFGL7tbGfvYspR4poeKYof0c=; b=ofwf/P/BRznbCTDBHpwFxwSQwX
	f0IpnIcitm655JRsU/4GbnFGdqcX3GTnhX1icy88bkxQDjkYrr3e1WMcljJAEjPnpYFLgi7gGMDTB
	sbEnmpsDWrzVUDnDYyKYyz3fjKgKahA7deX6lrr5lKY9MOxEX4zpxbaEa9kh6PaFh2cQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175022-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175022: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=133f35f0f0cd0a415e599c20156aaaa5598356c0
X-Osstest-Versions-That:
    xen=1527066a7eaabcd18533135e81f9064e00b32428
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 12:43:38 +0000

flight 175022 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175022/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  133f35f0f0cd0a415e599c20156aaaa5598356c0
baseline version:
 xen                  1527066a7eaabcd18533135e81f9064e00b32428

Last test of basis   175019  2022-12-02 05:01:57 Z    0 days
Testing same since   175022  2022-12-02 10:00:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   1527066a7e..133f35f0f0  133f35f0f0cd0a415e599c20156aaaa5598356c0 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 12:56:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 12:56:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451952.709745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p15aT-0007JG-8F; Fri, 02 Dec 2022 12:56:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451952.709745; Fri, 02 Dec 2022 12:56:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p15aT-0007J9-5S; Fri, 02 Dec 2022 12:56:17 +0000
Received: by outflank-mailman (input) for mailman id 451952;
 Fri, 02 Dec 2022 12:56:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xeCl=4A=citrix.com=prvs=328e240bc=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p15aR-0007Gw-SZ
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 12:56:15 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2566e4f-7240-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 13:56:13 +0100 (CET)
Received: from mail-co1nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 07:56:10 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5696.namprd03.prod.outlook.com (2603:10b6:a03:2d6::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 12:56:07 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.010; Fri, 2 Dec 2022
 12:56:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2566e4f-7240-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669985773;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=BKQ+p8BGGv7q7i6z6xN50JA/qosByxuezwxF9nuRF6k=;
  b=iHrNSIeYwS/bVGO4Xi7F2hjdedmFPwSa0gpU0oTPGdZ0NGtnYXZd4ejs
   /8QsRVGkQQnC7fZ5e5xQxHraAF3XeHyCV0sEHEs3DSiXpouObmxmGWCqP
   IFDo84QMwZwb5zTGJ5U2+wvI53N4+q3HRTS2J8cXAeQjqPkYhKNMmV5u+
   Y=;
X-IronPort-RemoteIP: 104.47.56.169
X-IronPort-MID: 86255423
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:4eDtaq9OK2FO5ku63rgTDrUDzH6TJUtcMsCJ2f8bNWPcYEJGY0x3m
 DNNWzjTOP3cNzHyco8iYY3i9x9Xvp7Vm9Q2GQpv/H08E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6gR5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkloy
 8RfLHcERCqDuM6px52DTMwwrPkaeZyD0IM34hmMzBn/JNN/GNXoZPyP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWNilUvgdABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTCNxISeDkrKUCbFu77UwRMR0Ub2qA/PCHkGK/YvJFK
 xNFw397xUQ13AnxJjXnZDWxsXeC+B0BXtNKVe0z7A2A0ILd5grfDW8BJhZRZdpjuMIoSDgC0
 l6Sg8ivFTFpqKeSS3+W6vGTtzzaETMOMWYIaCsATA0Ey9ruuoc+ilTIVNkLOLWpg9P8Hzbr6
 yCLqCk4l/MYistj/6em+VHKhRq8q56PSRQ6ji3VVG+46gJyZKa+epelr1Pc6J5oJoGTREiMp
 3gAls2X6sgBCJiMkGqGR+BlNLit5u2ZOTzGx1B1Fp8q9i+F5HKoO4tX5VlWL0BvNMEGdTb3Y
 VT7tgZY5ZsVN3yvBYdoZ6qhBsJsyrLvfekJTdjRZ9tKJ5N2LQmO+Xg3YVbKhj681k8xjas4J
 JGXN962CmoXArhmyzzwQPoB1bgsxWY1wma7qY3H8ilLGIG2PBa9IYrp+nPUBgzlxMtoeDnoz
 us=
IronPort-HdrOrdr: A9a23:Dp3kx6DJoxeoDdflHemi55DYdb4zR+YMi2TDtnocdfUxSKelfq
 +V88jzuSWbtN9yYhEdcKG7WZVoKEm0nfQZ3WB7B8bAYOCJghrMEKhSqafk3j38C2nf24dmpM
 NdmnFFeb/NMWQ=
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="scan'208";a="86255423"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YRMwtSvzGPtkCXMIek86pT5ymlH0nK8lEntmcCYIGRpa1o/I6x8DIauvLUUJCfvjOy6BL0Hd+n6h/qLXjRRZMXku8lqDk3QX2DYf40C35fUS5uSg4QRwqP7/QBL667GTPFmZWfcq8OR13W1vFMgYBxaaErmszYk6GchQLX2Fy8aYaS3w2Jj2FncLn122v/NyCLZV/Ubpl98NzKS4tKp6O2ynZvkBAlNrpNP//1vcn6mLWN/vsnEdnN2y0iJgi+VslAuK2yEfChZK9OXvYQSIUc1ozJaN9KdV2uAgeh7m/gNTBmJpS0qyl+3aFW5OLnOrswSO6eQ4rE0b3Ses1SXIdw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BKQ+p8BGGv7q7i6z6xN50JA/qosByxuezwxF9nuRF6k=;
 b=aqTush+d1scFVmZ2uE8WCFYGtq7ZR+yCH1V/ejHefF9IE+GMaw5aExbLuhsoO8fdaqdXfmA6jXqBBM6nG2204JmRyxKg96/lR/OFcf812Rltt66E6jd/7R8BYLQ7wl4JMqHe2kQefh7igYS50cfdyO6MwrymxlD1wKo0R63/+Wi/4f3UqwsHJbXq/rDYS68RiR+39Nypdl+/BSYvdraHe6LuYh6pmrARg6GctMNaFb1AjuBc+L4fD/EEQqw+VPf+bUEKDcmXoZHgyLNflsjvX4sl/uE+BdDS9tOvIdeHtQewgYOghgwVOxvK9mC45WlrpHjH6Qe4/mnOfaQkG9CwEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BKQ+p8BGGv7q7i6z6xN50JA/qosByxuezwxF9nuRF6k=;
 b=c5RT9qo309niDoVkwyPNUcHhvjLErN3cY2JWQFU+44NrRAofp18/yrboti5JpW6jvpjjX7dGjRTXt+hm1C0b4Ycxey+f3kk8S12B6w2zFo/+UtRwOlY3ApmSLh8Ac0aL6Ksxae53MLbScXpN5slNuIS0SRdztTgMxZ3qYkScxHI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "sstabellini@kernel.org" <sstabellini@kernel.org>, "stefanos@xilinx.com"
	<stefanos@xilinx.com>, "julien@xen.org" <julien@xen.org>, George Dunlap
	<George.Dunlap@citrix.com>, "jbeulich@suse.com" <jbeulich@suse.com>,
	"bobbyeshleman@gmail.com" <bobbyeshleman@gmail.com>,
	"alistair.francis@wdc.com" <alistair.francis@wdc.com>,
	"connojdavis@gmail.com" <connojdavis@gmail.com>, "wl@xen.org" <wl@xen.org>
Subject: Re: [XEN v3] Xen: Ensure "xenheap_bits - PAGE_SHIFT" can be used as a
 rhs operand of shift operator
Thread-Topic: [XEN v3] Xen: Ensure "xenheap_bits - PAGE_SHIFT" can be used as
 a rhs operand of shift operator
Thread-Index: AQHZBkqx2u9PL/EPM06idthUV70i9q5ajkuA
Date: Fri, 2 Dec 2022 12:56:06 +0000
Message-ID: <1a42f92a-81e3-eba8-6831-900414e0e809@citrix.com>
References: <20221202123559.33143-1-ayan.kumar.halder@amd.com>
In-Reply-To: <20221202123559.33143-1-ayan.kumar.halder@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|SJ0PR03MB5696:EE_
x-ms-office365-filtering-correlation-id: cfa5a2cc-0144-4c7a-9bfe-08dad46493e0
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 LvN83Jchz9ombUZNcWCOm6nhrC71ctEhE/v4bRN4CnSDOdC0egODH8Ran36AEQAr7Fe6IftTXzbmgMt+FzY6K82HKSH02nhCCha1WChYTdLgKv/rjqkB8knzVpbLP/0mSPQ1aTey4f2ENHCbECJw8tgDMO5CK8Ur2ui6jVJB6zeooEwJ7TqRXqqh1DwBa8UQH9toamO/L/1djcnDvCd8KegIvozw+vIPYXUbi/CWdAz9oxlpqRdt3f22cLiloZjB+zRKvKkd3UuPDfuD8L4EWGsQWrnQqFl/5o/r4d9lGmnpw4oG16I2dig5Ufi08f3FE4fTY0dwUSrhC/X4ZflR0/k27QM2+aHF6GgeU35MUU4LkQBMiOl5z8/sGbxNrnXTUavCQZQlhIHsucTfAUlyk2NIPD8NHzHXgACyaxpvrjS4mja+RgX1lKKkIewaRP1dF3duWJzHz3YPGuMO5NbFyzeyk+ha8s4tPDi771zQ85YatvCezZWjuGBiJfWFQJJiVF5LEPf5yp41g4cE7nzzU53Npw1tmXXifptKBasGoVxsq/N8Ofz8sFc1Y9+gK2xvnDUDpAudkSwh5l4wwEByCOMxs6R6HjSCoebTX6bIH0r3ZQVL8h7PkfcsBvn2Nn8j6XgdbNna0EvV285gBX+7seonCY66rSnbPeOopQJpRyF5GTtI+7lj4BZPHwjtcmkJTi8+rNmqAKt657WnPn6b0qTtXWt3TAdecwT06ytILu/NIezMJbAHx3fPP8YCdNKLLiZcEwKKStcT1aPZZNEE3g==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(366004)(346002)(39860400002)(396003)(136003)(451199015)(5660300002)(4744005)(7416002)(316002)(54906003)(66946007)(76116006)(66476007)(64756008)(66556008)(66446008)(91956017)(110136005)(36756003)(2616005)(41300700001)(8936002)(4326008)(8676002)(38100700002)(82960400001)(122000001)(38070700005)(86362001)(31696002)(2906002)(53546011)(6506007)(71200400001)(478600001)(31686004)(6512007)(186003)(26005)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RXowcjBJS2p4NGpWNDBmb3pRWXhXaytKSFRKeHVNVkdJM2UxbUp1dU5qay9E?=
 =?utf-8?B?M0t3eWVDRzM5bWsybkJhTkFrNnArSHF2UGlmOGpaVGloN3BCNGg4ejN1aEpD?=
 =?utf-8?B?QVNPeW8zcStqTXlyZmthNnhOM3NPcmREVkZNMXNCSGtMaEw3TExaenBnYTF3?=
 =?utf-8?B?TDFpdS9mSk5mZjNnT1FWcnJLcExXWkd6SXdvRGd4d1JjcFNRQlVnZkNndW9O?=
 =?utf-8?B?M2VOQWtjZE9IYll0aVc4MXhsSUNOZTlXTDBVQU5hVDBhU2Y3YWZVTVlVTUZT?=
 =?utf-8?B?YzI1L1BpY1Q4YTB5SUxEZ3dyd2RMK2owNEtxWGdYUnpyZ0hteURhVGV5eG9Z?=
 =?utf-8?B?L1dkRDJ6UGNyZSszN2RGSkNjRUdrVkRFRTZCbkNmWFp0TnMyeXo4MjZjRjd3?=
 =?utf-8?B?SVZMRlI1Tkp4Q3QvQU5TQkhVMVg4Qk9qQjBQNXBjNG9xTXVMMEVjVHN0MlY4?=
 =?utf-8?B?UVkxczI4TW9qUkJZeVZtaW5pRFhSVzR3VngrNllNM2FHSXNvMjQyQWxDNzJa?=
 =?utf-8?B?bjdTTnlvNm9EUlNzTVVqK1NOUC9LbEtvQlFsYytCeW83RXp5eE54Qi8rN0RN?=
 =?utf-8?B?c2kza3pkTXpHdnFQZ21LcGQva0NLdE94dzVxaUdrbHpXclZ5aHpLOWNZekFQ?=
 =?utf-8?B?RGRGOGtiUndkWVVjRkttRzdaYWtHMXVEUGNMUTVyRFNTTS9QSkJjTUpPd011?=
 =?utf-8?B?TXhGVXlSZU96Q1owMERsUExvODJhbHVEKy9sNkIyUzNTTUt0YWpkVHdvSkxO?=
 =?utf-8?B?b3A1U2JDeXdLT0lXS3ozRUU4dVBBcXVtclhyQ2xTMWNDRUtmVHlVUTRBaFF3?=
 =?utf-8?B?SXFsZUpqRGdoRUNERmVKQ3F0aSt5WjJ4NmQ2RFJYbmVkN0pPL2xhYm42UXpN?=
 =?utf-8?B?L1RkRGJBcFIvY09saG1Vc3dsNzVMc2hYRkl5dWNEUjZqVWtTbXd1TjZWWENm?=
 =?utf-8?B?MXFjaDhlNUhtWjM5QXNmSVhrL0hYVDYvT0dmMGp6NFBTa1FLV3R6QUh4KzN5?=
 =?utf-8?B?TVJERU9YMFdBWHJNQ2VKQU16OTlKQkZ3aUp6MTlSMEgzK0pwbVJCd1JuY1hF?=
 =?utf-8?B?aGZmWU1rMzhCYzFpL0wyNHVxL3pUTi9WVll4NVhjdDJvQTRTdk9JUHY1QzZl?=
 =?utf-8?B?ejBXWWFYZ29pY0g0TkIrbmhURFN6QVBFSWhyOEtpdUVxT2Q0YXplMDkrdVFY?=
 =?utf-8?B?RGd4LzlwSk1zVzE5RVRWcGRTcTdZcG41cG9HbmIyMHNkVzdJNmREZytOd0xs?=
 =?utf-8?B?aXViZTZsOW13UkxwT3BEbUgyaS8wKzZZU1d2amUxQjNRdklyVEJwQ3NIaWRL?=
 =?utf-8?B?OWgvbXR3RFlISnZ3YlRJRUFoKzVsREUvRGVWdSs1d0l5S2N2Z2NCZ1A1TE1L?=
 =?utf-8?B?a1ZjZ1cwQzg4bnJ2WFh5WC9hZXBnRStKZHA3TUZ3QnFxYWR5SmRDS0xua0RZ?=
 =?utf-8?B?SWtFdXhQR28zZEdWaTZmRXgyTlc0QWNSSmdoM2RKY2xJOVVwKzd2S3ZNNGtw?=
 =?utf-8?B?dkYwS0JIZG5GOEJJcHVkTm1CdCtjWVZqb0ZKZGJhYWJ3d0RaUnI2aEJyODMz?=
 =?utf-8?B?WXd2bUVLQkNJYlJVeHV2T0dZNGYwTEVzU2UyNDhMVWIwL3VzV3NpektMdDh1?=
 =?utf-8?B?UittR01wZ05QVDRKTldaL3RhcHY5aUt3S3MwYzExZjRTcUVHSWJBU0V5dlZS?=
 =?utf-8?B?Y1ZFTUxKQW9tVTZmNjE4TG9xbW1BNVpITXVoYnhkSWxHR2d5STBhUlBKVUtn?=
 =?utf-8?B?R1ZibFR1YXhObUR1Wk1xS3kydGZmZ0hnR1ByNU95eElhZHZyZ2NLSTJ2WDBD?=
 =?utf-8?B?QlMranJMMGI1QWFIaEFtOU13b0YxeWsrOEh2Y3o3ZWpkMDJMeS94a09ZQU9D?=
 =?utf-8?B?eUxZdWQ3YXpiMXZ6N0JoU0VpbUtPSy9GTUVIL3VsUGtlYTF0TS9rNWd3MEkr?=
 =?utf-8?B?SFNYRjFkbDR1N0hSUVczdE9MTEM0a3lvaEoyNXZiRlZpcm1PY2Ezem4wZnFw?=
 =?utf-8?B?L2cwOFg0R09COU4xMEp4MHRHbnk4RGR3dlJQVGRLUlZjS3R5TjN6MllidXln?=
 =?utf-8?B?Y1RaOHhhMFd5QU5vZ2Fad1ZYT1RKZWJvbnI0WnlKZDNueUJuY2NHc1JwWW1o?=
 =?utf-8?B?SGRBQThKY0lFN00rcWtXZjJ5b0t0Y21jVVExekUwR1E3dlB4L2Zsc2lqY281?=
 =?utf-8?B?Ymc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <252B8D80159D3B4883DACEB2C9AFCD1A@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?cmpvOGdSU3ZZSG4xWG00aWpNODU1MzZoajIrR2thSG1LMmZIVlFaRnFlMzQr?=
 =?utf-8?B?TzZoMndFZEZ0SlVOdWlQL3RHNWh5eUUwT1pzcHlTTE9qZFdNZERuZTh6WUU3?=
 =?utf-8?B?UVVNUmo1d0hqSEFsZWllMVVFV0xRb2NrdEpGb3ZHVmRaOFZkZmtxeTAyNkxm?=
 =?utf-8?B?ZDA5dTdlYnlmSDc0dFJBdGp6Z0drV25hblYyRkgyeWtyV3VJSGQyWmdKaHZs?=
 =?utf-8?B?citJdnhLMUNsRjRyYzgzMVdwZXBwMmVmUFcwUTNPQzlpTkk2QkZ1ZDA0c0ly?=
 =?utf-8?B?anhaZ1UzUEI3ZVlYcnc2QU82cE96MlY3bzBic0d4bHVNd0VkWUs3ekZkN0dm?=
 =?utf-8?B?VXJuZTNVMTJTWXFGTVYxQ0YxN1ZHMmVRNWI4dHhjbUlja3JqQWR2VE83bWxr?=
 =?utf-8?B?SFhCZEdTZ0dNaG5ZRUdERlZMMmt6R0F6ZlYzOXg0bFNPWTVkT3kyblVTM0ho?=
 =?utf-8?B?ZnJoU0V1VTlYM3BaRFN0eGl6M3ZFQmpDZ3pIdHZwRTVLemlFM3FKaXFDR2dZ?=
 =?utf-8?B?ZzhXRE5uYWNKT3MzZnQ1ZWlmL2VEaHBPS0JnUG1FRXk0S1FxSFJiZHJRTlZj?=
 =?utf-8?B?TkFURGY0bk1MTlNHcFRaR1F0anIzNkx5TVc2SGtZMW1vUGdnSElMcnh6bVpp?=
 =?utf-8?B?SzFxSGg2YVQ1Y0tYckxZOCtyOXFkWm9PWDFlMktZd0lwYXdweEpsMmE5S3Mv?=
 =?utf-8?B?Qys0d1FyamRFdXh2bGtoUkgxZis3UEd4dTlPcUt3QjNXRElERk9udnNTNElP?=
 =?utf-8?B?c3J4MGptWCtoRDl6WnpZbnMxT2hOeW9Sa3BoalhyY2JUcDNYRXVwdWRuamYz?=
 =?utf-8?B?b1U4NENWQ1ljeUhoOHFoZG1vQkpsbGUvbVgzSElzYXhlNjVSbkJWWlR2QXVB?=
 =?utf-8?B?YmVxSEw5Nm1TR0hMbHlielZYczJRTWtNQWlhbURGQlpMTkVEOWFaRitUSlBX?=
 =?utf-8?B?N0RzN3ZpVzI4b1dKbkdiWGZjdWkzN2NQVHJJS0hleVhGWXVyU2ZVYWRyZUQr?=
 =?utf-8?B?ajVqU3ZPS0VTd25PM1doM1dwSyt0OVFhczBDSDRuc3JFbHJUMmtaQVNkT1I1?=
 =?utf-8?B?Wm55L1NuY1A5MC8rYTFrcGtxVnpGVGp5R2Q0UzFwNlZ1UnRab2NLSzBvUXVv?=
 =?utf-8?B?KzlWRDNPZld1Vlc2K2VOQXRYUWJVZVdsa2FxMllOM0k1MTdHVVdDTHhmQ2JW?=
 =?utf-8?B?a2NEZmNzUDc3TEs2bE80WUxJWFpqUzdBUzlDVUZNQ1IwREljRi82T084QjJP?=
 =?utf-8?B?TlpTUEdIckw2LzBiTHR4dGdjNGh6Q3JZOG1yaU9TaHRrTHlhcCtXKzNMZmFE?=
 =?utf-8?Q?kuwu24bhU5NXNdJ5EZ5p6qPgKN0qrW8b9s?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cfa5a2cc-0144-4c7a-9bfe-08dad46493e0
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 12:56:06.8666
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: mMNjVi7uqjw60o8U3uhEu4ZVZj0YS/m8uDOK4IVzX5v3BQcp0ciGRmC5HOJkXJuAKKVSTYl0bz8/ivQh4nRe6u6ohGWxf5O+GMbVFcndyqs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5696

T24gMDIvMTIvMjAyMiAxMjozNSwgQXlhbiBLdW1hciBIYWxkZXIgd3JvdGU6DQo+IEN1cnJlbnRs
eSB0aGlzIGNoYW5nZSB3aWxsIG5vdCBoYXZlIGFueSBpbXBhY3Qgb24gdGhlIGV4aXN0aW5nIGFy
Y2hpdGVjdHVyZXMuDQo+IFRoZSBmb2xsb3dpbmcgdGFibGUgaWxsdXN0cmF0ZXMgUEFERFJfQklU
UyB2cyBCSVRTX1BFUl9MT05HIG9mIGRpZmZlcmVudCBhcmNocw0KPg0KPiAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gfCBBcmNoICAgICAgfCAgIFBB
RERSX0JJVFMgICAgfCAgIEJJVFNfUEVSX0xPTkcgfA0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gfCBBcm1fNjQgICAgfCAgIDQ4ICAgICAgICAg
ICAgfCAgIDY0ICAgICAgICAgICAgfA0KPiB8IEFybV8zMiAgICB8ICAgNDAgICAgICAgICAgICB8
ICAgMzIgICAgICAgICAgICB8DQo+IHwgUklTQ1ZfNjQgIHwgICBEb24ndCBrbm93ICAgIHwgICA2
NCAgICAgICAgICAgIHwNCg0KSnVzdCBGWUksIEkgdGhpbmsgdGhlIGFuc3dlciBoZXJlIGlzIDU2
IGZvciBSSVNDLVYuDQoNCn5BbmRyZXcNCg0KPiB8IHg4NiAgICAgICB8ICAgNTIgICAgICAgICAg
ICB8ICAgNjQgICAgICAgICAgICB8DQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0NCj4NCg==


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 12:59:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 12:59:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451958.709755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p15du-0008EV-OH; Fri, 02 Dec 2022 12:59:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451958.709755; Fri, 02 Dec 2022 12:59:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p15du-0008EO-Le; Fri, 02 Dec 2022 12:59:50 +0000
Received: by outflank-mailman (input) for mailman id 451958;
 Fri, 02 Dec 2022 12:59:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sHVG=4A=citrix.com=prvs=328764c7b=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p15du-0008EF-24
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 12:59:50 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3277862d-7241-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 13:59:48 +0100 (CET)
Received: from mail-mw2nam04lp2176.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 07:59:45 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 SA0PR03MB5626.namprd03.prod.outlook.com (2603:10b6:806:ba::19) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5791.27; Fri, 2 Dec 2022 12:59:43 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::bca9:6c1e:de4c:fa22%5]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 12:59:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3277862d-7241-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669985988;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=kCNMn91rUFBoREjyeIr1z8a4VlB1peWbRnROpK7YngY=;
  b=iizkidLEtfkgRxyhaY+5JfkAFvEFFRlRq3xMAwstMeNqcUq49vweze48
   aRuZc/4mZ/gemC0LfQt8XJlfXpj0qwHrS7db1kZkJd45R/Dk23mA/9S57
   oClKAKCeLAZplGYxEHw37QdPrwb+XLISAuma82YnI8hpKMI5P1mqQ+P7l
   w=;
X-IronPort-RemoteIP: 104.47.73.176
X-IronPort-MID: 86255867
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:toGvWK38VhOFvoqAq/bD5fFwkn2cJEfYwER7XKvMYLTBsI5bp2NTy
 2MbWGHUbqmPa2LyLdh3bISxoUxV6MTRztJmSgJvpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZmP6gR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfW1xJ9
 ccZLSg3dBGAotmw3byRRPRtr5F2RCXrFNt3VnBI6xj8VapjZK+ZBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxouC6Kk1IZPLvFabI5fvSBRd9UhVqZr
 2SA+2X/DhAVHNee1SCE4jSngeqncSbTCNxISeDoqKECbFu7+DA5ERopW3iHmLqhp0+xQNkCN
 2BL9X97xUQ13AnxJjXnZDWorXjBshMCVt54F+wh9BrL2qfS+xyeBGUPUnhGctNOnMM/WzECz
 FKCmNLtQzt1v9W9Vna15rqS6zSoNkAowXQqYCYFSU4A/IPlqYRr0hbXFI88Tuiyk8H/Hiz2z
 3aSti8iir4PjMkNkaKm4VTAhDHqrZ/MJuIo2jjqsquexlsRTOaYi0aAsDA3Md4owF6lc2S8
IronPort-HdrOrdr: A9a23:omvoMaPijBrZg8BcT7T255DYdb4zR+YMi2TDj3oBOiC9t/bo4P
 xHnJwgpGTJYUUqKSMdcLG7Sfy9qBbnnqKdjrNhQotKMDOWwVdAabsSnbcKoAeQVBEWlNQtq5
 uIGpIWYLedYjkb/KGKhjVQUexQseVvmJrYxNs2pE0dNz2CHpsQkzuRfTzrb3GeKjM2fabRIK
 DspvZvln6NaH4TZsS+CmIlWfLfq9DwlJzgaQMbHBI8rC2Dlymh5rLCCB6T0g0FXz4n+8ZAzU
 H11yDp7KCqs/W20T/ZznTS6Il/ksbgzNwrPr3ptuElbhn8gAOhZIBsQJ2HpSs0p/yL4Esnl9
 Pdyi1QWvhb2jf8b2uxqRvo1xLYyzA++1rr1FOei2uLm72aeNt2MbsGuWqXGiGpp3bJEbpHvZ
 5j7ia8jd56HBnAlCPy65zhUAxrrFO9pT4YnesanxVkIMAjgOs6l+Ii1XIQNK1FMDPx6YghHu
 UrJtrb/uxqfVSTaG2clnVzwfS3N05DQSuucwwngIi4wjJWlHd2ww8z38oEhEoN85o7Vt1t+/
 nECKJ1j7tDJ/VmMZ6VPN1xH/dfN1a9Gy4kcVjiemgPLZt3Y04lfqSHvYnc54mRCdQ1JdUJ6d
 qxAW+xcwYJCgHT4Ia1re92Gyv2MSyAte6E8LAa23FIgMy/eFOiC1z3dLkPqbrlnxxNOLydZx
 5EUKgmTsMK2gPVaMx0N4qUYegAFZHLO/dl6urTHWj++/4iJuDRx5jmmd7oVczQLQo=
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="scan'208";a="86255867"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J8+fxDGBsIjiMb3TULqSTJvaeptItVPEbvlrRDwsD3x1xgDmREt7BNLi3pvQwyPlRCjBf5zzNoqDeS1yeDGS2bi1a9a8vjLm8HOTw0nDfCYo+PNylwt/JYtdyGvr4/C85wxeK4GyWvsIdmRC/TmkTBhRh/Kv+4FaVg5FPngckkW62DaTX/G91aZh2qrDutMns0a1jHNIX18yu04y2Ao+J8Saawd0ph71okrQwNA6K0FNDDCCuFWOCbCCZxplqwncT0VmKWcpx2P3eV2bBS3+hwEOtCgxzBJbl61s4MnlhlwCm2drNazF5Fb23RfXVaKU+B9J2TF/jxMs+sy01Ee0Sg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kCNMn91rUFBoREjyeIr1z8a4VlB1peWbRnROpK7YngY=;
 b=QneEVNGkM/X8SaWYAVUGCUkNLO1o2G81/OlORW/p9ZWL6acSKuFmY461s09xF+g5xbH8pNIhBDiWhz99fsjIzsY3iXZT2B1DKpdbnthwLiiVvGxeYirFdV861Bzj5PW/0zaHGR7KSQ1Sr3yoN0iAmobaObHmsKuMU/el6fUqtk5opK3CADOWQufVAlPLDgKHiWOpOBAL8H2LXr9ohlpdP0pQVN9BlX32fHsoZjB8gSzFdPsn9Sr/lYytwk9zha/Lal0yYu2+iFk6DtZCyQLARgucUe2SmHKbFmlW8cfQdHDJXlzn1jOKZjKHAIwCSNDJEQmQCNzccyfBELzmBJJtKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kCNMn91rUFBoREjyeIr1z8a4VlB1peWbRnROpK7YngY=;
 b=xPzWErrUk9koUl8gjumOfKi2S6O07h7sC4Sq3cg2vOXQ1phWBvmoRdvXHJfpuiLX+szl6JcotAL73G2/lFXR65ijnC9BcQhZXVtexV7POnlkoWv5vWlo6ePXoxK60PSNl/Cvom+d/jTBhHUZq9asqyCWjbRlVyF2FYJlfQdwOfE=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>
Subject: Re: [PATCH v2 2/4] tools/ocaml/libs/xc: add binding to
 xc_evtchn_status
Thread-Topic: [PATCH v2 2/4] tools/ocaml/libs/xc: add binding to
 xc_evtchn_status
Thread-Index: AQHZBjy4uYcsvtJBLk2Ois95vQpMr65aj2kA
Date: Fri, 2 Dec 2022 12:59:43 +0000
Message-ID: <71FEE44E-EC5B-456F-B5FA-63AA5F789B9E@citrix.com>
References: <cover.1669978356.git.edvin.torok@citrix.com>
 <c43ff9e8a95a73dadcd5db6ad10340a45592dd01.1669978356.git.edvin.torok@citrix.com>
In-Reply-To:
 <c43ff9e8a95a73dadcd5db6ad10340a45592dd01.1669978356.git.edvin.torok@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|SA0PR03MB5626:EE_
x-ms-office365-filtering-correlation-id: f0011981-042c-444c-70c1-08dad46514cd
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 rHmbMe8S/E3BGDfbiNhyPxfpbMivuPJj7hEKQzau16SnPfrZPQsdFX8qrKEcmbpjtdmxRk1BUBUYI9kPGoSZJGOynJXwktyTyvB1tniid9LTiVnJTFp69TWIKxuqpRuRcYsJtDaOLuBGQkWP3taIkW36XXJnFbsQYcjoIqz99kRadZSPrLfUmkdvo3HTIQBizYEm+lv7cYR1jkpxCQT35cYhG7foXGpBK5wzgYqXv+fJriCBlve3xYPj7WN7T2TKkZfCYJ3oGE8XUfZR5VEdWH+5utWEbcBfDlGAms5wGcJ4OUap8ZaJvqJB56ZPeutF/hXQErbyKcgTXYJlBTH9gRVz3MbyQSHRihepJ094Po4tpTrg3Mg9SCkThTxVAnzu1IZ1xeOne+IeB7IABbW9g4S/ZoRtEBEFBc7pytIP7niloGhIiVJdE5lH1VlRGPHPFEqURtSENaIG2ThnvFLyMxCMqLSqdJAXkdLChK7gnn12LUB61eepGRj+ROdW0QQH3BXKzOAv/sS2UljivSJvEKeZ5DcPchQYlWixYjUd7YvtZPwD+6x1smYOU/XfU46++is7rhM3MQKLMKjHgegDr8TIDtYAs6kgR2Qu2vNrVIKwG9Tn5RiqKB2srxzmr8pcnLYiEgkXZm6Btw+Mz+XoY/gtcpPSHW5L2HYjuHI40cguUDcfyiX9CcH+MUqc3wJU/Omfw4A/XhOrcXzmmdsRlEugBHFaSudv3zIcaOc0GdNB7wcJ5cgYApeMDw2LJ1vD47FZc0QMxX5qNoF7SFK3cw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(366004)(346002)(39860400002)(136003)(451199015)(44832011)(26005)(38070700005)(478600001)(6506007)(71200400001)(2906002)(82960400001)(8936002)(107886003)(5660300002)(66476007)(53546011)(33656002)(41300700001)(6862004)(83380400001)(316002)(64756008)(122000001)(6636002)(6486002)(36756003)(966005)(37006003)(186003)(2616005)(66946007)(8676002)(38100700002)(45080400002)(66446008)(4326008)(6512007)(66574015)(76116006)(66556008)(91956017)(86362001)(54906003)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Y0x3TGNrdm1mbnVpenpBK09BaHlad1BxTEQxUnFlNjExTXZTMEpDbkliRGFF?=
 =?utf-8?B?bWkvT2N6SStERDNnMDdEMHNKeFZCRTBCWTRxK0FwbW9MWWlUb1QraGJLeFZn?=
 =?utf-8?B?UEduVC9QN2k4ck1ETkJaSDNIM1VoMDJOWU1ydG9sTENVaGh3T203cWdRQStO?=
 =?utf-8?B?N3FNaGhPcDZLajNTUCt2RHpLL3pwTUI4ODJ6RFRTaE5LcW5XMm5xUWpWV012?=
 =?utf-8?B?ZlRJUkhZdXdjcGZ2WEVmeldDcitYZ1lOZXEvdzhIQXpiWTZQTDF5Mit0SUVZ?=
 =?utf-8?B?dXlkU0tqdmhuM25lT1dkTlN2TjJJM0w0MWJSNVdzVEpaZHRQN1VaVlhnNUJK?=
 =?utf-8?B?QjVIZmY1aldUdytIZi9mTEJTZ2VHc0w1Q2thNDRseUNINTVCK21DL25VWjdy?=
 =?utf-8?B?cCtZQU1oTlI1Z0NZK29Pd0tsbVBxbkFSTWptSHN3dkV6SUJqUVB3Rnl4d2dR?=
 =?utf-8?B?Mno1SmNFa0VUWlA0L0pRbTJkRnJFQUhEVlN1azFEbXVTa3pCZ0xkSmtRZ2M5?=
 =?utf-8?B?U0tDVkVBQUZQK1lySXY0ZUYxb2ZSWHlucXYrZEt0RWtrNHFpai9BQjB2OGZE?=
 =?utf-8?B?emxtSGJkZDZXZUNMbUVydFB4cGk5R29KY2pqbFh6RkU0VTJYSkRzNG03Wk45?=
 =?utf-8?B?blFMUXhSb1ZGaGFKVGFYYkhiKys3WE5oazFncENQd1lINmR2VGpxRGs0ekUw?=
 =?utf-8?B?T01iVHB1OUVCUmtKVkVSVjF6ZE1RN1Q5RngwR0tIZEpCTFdGZDB2aWxweDRt?=
 =?utf-8?B?WUR3ZGl1VTRRS3E3cFlUR1JaUVl3WGJSVEV3U2Zpdmw2bWwyWXhUU2VGNkRR?=
 =?utf-8?B?WUpURWExZ0RTVlhndlFDMVpTOUQ2UnphSFF1aitOVnZFY3ArTVpBRkk3QytE?=
 =?utf-8?B?WHJEV1hBN0NRQ1diVGdKMDNzTnFyK3NzVytPTk9weWE1a29rcTdkd1RtcU1I?=
 =?utf-8?B?dEdpa3lZRkIrYTI3SEprUFFackhjMGFGK21GS01jemZWSmNzNENhY2FYNVpz?=
 =?utf-8?B?VDdwa2FNbFU0cGRacmZ4TU53Vnd4QnpIY1hSLzFiZnprbjJYZTdXVlQ5dWhG?=
 =?utf-8?B?Q1J2UXBvZHc5ZU9hc1hCdlpJdEw2RmVTQzFQbmNyRGsybmRPY3g5YlA5Wkov?=
 =?utf-8?B?M2RMVFh3dHo0VW5sMzkvMXFNaVpMRFBjUGQ5c3RSMDN3TFc1RmxtTWtpYThN?=
 =?utf-8?B?RC9kK2hWVWw4a1lBL0dZNlduMFpFdit6WjNac0YzMy9UNkZQd2FQSTh5YzZP?=
 =?utf-8?B?MVJsSzZ2eGhPK1l5NXFLVnBXZnh1NUNjSFBtRWxLSXAxWHFJS0hWa29PazZ2?=
 =?utf-8?B?Y1RJVm1VRWpwMndveU9UMlo2ZHkwSlNpa2kxNm9pbGZXSWxNeEhTNW9MRzY0?=
 =?utf-8?B?M1J6T1cxNUkram9FOUV5ZCtaOGNaRWRoVmZuYlc5V05aWmtQc1VTR256SkMv?=
 =?utf-8?B?YXhMWFp1OUUxMGUzR1pzVWY2YzRQUjcwYXNMSFNRVUpQMmR4bldiaCtJVWE2?=
 =?utf-8?B?VXAzeFQ4VktDZFYvdVVBUEJ0VTgwR0NpVkhFakZrQTlVeCtmNHJEY1NCSXlD?=
 =?utf-8?B?MCs0U0VNVFVNM1FRMDZxRHplMDNJZUg3WU5jcnRPM09wLzNuZUg2RU5wU2Qv?=
 =?utf-8?B?UFlPWHVFaEIzaTliYVFLbFc4V25oVS83TGM2eXcrWDFaTm1CSWtzaHptTlYy?=
 =?utf-8?B?SjV3RStVZ1lJWVB3cFludWJaZlJmazhFUWU0Z29KWjdPWnJQSVRScTNXM2pl?=
 =?utf-8?B?clNPcXpNZXRCL2R0TmQ5dWh5Sjg0VzBTVXc0OG1IN3VNOW9ZV0xkaXg0RmM0?=
 =?utf-8?B?VFlyWmppM3E5SERRK0JJYUxrbTk5cTFNU0kraE1weWNCQ0dXNHFid0swSi90?=
 =?utf-8?B?TVVJMTI1YjB4b0V2QUJNeHJQYmJIbmtFRC9WU1ZzVjVQR2k5bE0rWk9lUlhI?=
 =?utf-8?B?RWdNYnNTb1diN0duUGE3RVpRTld1Vk9ldmc2Zld1NmFWK25IT0ZYYWo4cDZO?=
 =?utf-8?B?M3d3UkpSdUt4OTNiYzVhTXMrM2FnOTJOWkc2UitzUm1ZdTFsNGs2L0ZqQVk1?=
 =?utf-8?B?Vzk4ZmllN3pjYW1Ta29WOWJpRDBkSGNXVkRQa3dLN2I0UEprc2pMdytqOW5R?=
 =?utf-8?B?eGdBSFp6Wm1hTWJwUzRxL3JubTJxU1lJOWdvV0ZyU05QalBFa1RabkFHUlh0?=
 =?utf-8?Q?srksdkyxAzRD0tLoNzeAYhw=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <EC6CAC59161DA94F9A688047FC8D9F27@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	iQiUy564BzcsMf65l/1qtFk9XUI0bH+CpTQoGalJSB6PJGmnGNiyAOdAblrLlkXojk8rL0MZlYL/ogzQicCL1zLrFVyom4XUOeirLoeedCjPZXvRKJTP+jARgOgdeAv+ARSLm98/0T9rZXvHJTs7Q0iYBPL09B3lAzdnybT0Aq5nzr6X0/DaPHbbU5hhcqBgKH8Q/y4a7RLMdXG32mvhQmZskioLbIJAR6srz/8F3nFuaTp4J0Sbem01AtsehC6VwKVRalLVTyN6WrIwBk4+/MzUtfmpZW+Tj3Q0XWdlkQIY9z+jJ42DghiVePEyf4oQVdkFjVZfQVt2pEmcc/0FqH3+Q6vz1vCUpVRFING42zM5bzVFqorGqleqJJ/dW+u3q+uC3MSDHnIPH7cQWOjvUvAp9HX9JtxuD9sru7BaWbzqfvEQe3jYLvcFOozkQob4btjK8FWP1ajCN3r0HND+eyso3uQ/pnSDhzubeYstQHXgQh29Xffr3T16XFHGgl63CkK4dAmYdkhRq8jvuoel7TSFXbDHtcNI5vHwuuv+h6VALQkaDtG1wng9ShYbuIarfON6rrUEx9g8N1uHqqBqN4JdsCo1dY44FjvCYgfGaJkvkapofbjjwbz9shaDKPS75j8oHivg+Jwgt1GYhS6bv78tRZZ8DKyctVHFnRUe52EnDwGMwRcS0y0xwWwSMwlF/Q6XmSWV9jw4d9NDCjOcPH4mHYZdJdaR8EelksFpyvgiR5gzroyuefHQoK1/DSIwVVcrgY4Ps6EQtf/q2ETrIGjhHlEh8N5giYq57elQyqP0ooJgRHMhh12kIpQo5sczDaKIvVrStxtx4Zj+ELPy5g==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f0011981-042c-444c-70c1-08dad46514cd
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 12:59:43.1514
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 8NcLDmaHul5lqhkfEhxpLwLDTanNQjRvJfFEGMpoI1mQyGQ61kHaoEvcu1zBfnC92sa4r0Bt2Gy4hkd+WlQc+u4USq5Bylp/w/2xPfflUO4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5626

DQoNCj4gT24gMiBEZWMgMjAyMiwgYXQgMTA6NTUsIEVkd2luIFTDtnLDtmsgPGVkdmluLnRvcm9r
QGNpdHJpeC5jb20+IHdyb3RlOg0KPiANCj4gVGhlcmUgaXMgbm8gQVBJIG9yIGlvY3RsIHRvIHF1
ZXJ5IGV2ZW50IGNoYW5uZWwgc3RhdHVzLCBpdCBpcyBvbmx5DQo+IHByZXNlbnQgaW4geGVuY3Ry
bC5oDQo+IA0KPiBUaGUgQyB1bmlvbiBpcyBtYXBwZWQgdG8gYW4gT0NhbWwgdmFyaWFudCBleHBv
c2luZyBqdXN0IHRoZSB2YWx1ZSBmcm9tIHRoZQ0KPiBjb3JyZWN0IHVuaW9uIHRhZy4NCj4gDQo+
IFRoZSBpbmZvcm1hdGlvbiBwcm92aWRlZCBoZXJlIGlzIHNpbWlsYXIgdG8gJ2xzZXZ0Y2huJywg
YnV0IHJhdGhlciB0aGFuDQo+IHBhcnNpbmcgaXRzIG91dHB1dCBpdCBxdWVyaWVzIHRoZSB1bmRl
cmx5aW5nIEFQSSBkaXJlY3RseS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEVkd2luIFTDtnLDtmsg
PGVkdmluLnRvcm9rQGNpdHJpeC5jb20+DQoNCkFja2VkLWJ5OiBDaHJpc3RpYW4gTGluZGlnIDxj
aHJpc3RpYW4ubGluZGlnQGNpdHJpeC5jb20+DQoNCj4gLS0tDQo+IENoYW5nZXMgc2luY2UgdjE6
DQo+ICogZHJvcCBwYXJhZ3JhcGggYWJvdXQgd2hlcmUgdGhpcyBpcyB1c2VkDQo+ICogYWRkIGNv
bW1lbnQgYWJvdXQgbWF4IHBvcnQNCj4gKiB1c2UgWGVuZXZlbnRjaG4udmlycV90IGluc3RlYWQg
b2YgaW50LCBhZGQgYSBkZXBlbmRlbmN5OiB4YyAtPiBldmVudGNobg0KPiAqIGluaXRpYWxpemUg
c3RydWN0IHdpdGhvdXQgbWVtc2V0LWluZyBmaXJzdA0KPiAqIHVzZSAyIENBTUxyZXR1cm4sIEkg
Zm91bmQgYW4gZXhhbXBsZSBpbiB0aGUgT0NhbWwgc3RkbGliIHRoYXQgZG9lcyB0aGF0IHNvIHNo
b3VsZCBiZSBmdXR1cmUtcHJvb2YgaHR0cHM6Ly9uYW0wNC5zYWZlbGlua3MucHJvdGVjdGlvbi5v
dXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSUyRm9jYW1sJTJGb2NhbWwl
MkZibG9iJTJGNjYzZThkMjE5ZjU2NjA5NWUzYTk0OTdjNWJhZTA3YjZhOTVjYWUzOSUyRm90aGVy
bGlicyUyRnVuaXglMkZkdXBfd2luMzIuYyUyM0w1Mi1MNzcmYW1wO2RhdGE9MDUlN0MwMSU3Q2No
cmlzdGlhbi5saW5kaWclNDBjaXRyaXguY29tJTdDN2Q0NzZmZDcxZWExNDc0NmIwOGYwOGRhZDQ1
M2Q5NDYlN0MzMzU4MzZkZTQyZWY0M2EyYjE0NTM0OGMyZWU5Y2E1YiU3QzAlN0MwJTdDNjM4MDU1
NzUzODQ0MDU5ODIyJTdDVW5rbm93biU3Q1RXRnBiR1pzYjNkOGV5SldJam9pTUM0d0xqQXdNREFp
TENKUUlqb2lWMmx1TXpJaUxDSkJUaUk2SWsxaGFXd2lMQ0pYVkNJNk1uMCUzRCU3QzMwMDAlN0Ml
N0MlN0MmYW1wO3NkYXRhPWM5N3RkQ3YwVlBTN1VCUG9MSlhmM2dlWktRcTBBa2hqV3VBMXdxMlpV
VzAlM0QmYW1wO3Jlc2VydmVkPTANCj4gKiB1c2UgVGFnX3NvbWUsIGRlZmluaW5nIGl0IGlmIG5l
ZWRlZA0KPiAqIGZpeCB0eXBvIG9uIGZhaWx3aXRoDQo+IC0tLQ0KPiB0b29scy9vY2FtbC9saWJz
L01ha2VmaWxlICAgICAgICAgICB8ICAyICstDQo+IHRvb2xzL29jYW1sL2xpYnMveGMvTUVUQS5p
biAgICAgICAgIHwgIDIgKy0NCj4gdG9vbHMvb2NhbWwvbGlicy94Yy9NYWtlZmlsZSAgICAgICAg
fCAgMiArLQ0KPiB0b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmwubWwgICAgICB8IDE1ICsrKysr
KysNCj4gdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsLm1saSAgICAgfCAxNSArKysrKysrDQo+
IHRvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybF9zdHVicy5jIHwgNjcgKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysNCj4gNiBmaWxlcyBjaGFuZ2VkLCAxMDAgaW5zZXJ0aW9ucygrKSwgMyBk
ZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS90b29scy9vY2FtbC9saWJzL01ha2VmaWxl
IGIvdG9vbHMvb2NhbWwvbGlicy9NYWtlZmlsZQ0KPiBpbmRleCA3ZTdjMjdlMmQ1Li4xNWY0NWE2
ZDY2IDEwMDY0NA0KPiAtLS0gYS90b29scy9vY2FtbC9saWJzL01ha2VmaWxlDQo+ICsrKyBiL3Rv
b2xzL29jYW1sL2xpYnMvTWFrZWZpbGUNCj4gQEAgLTQsNyArNCw3IEBAIGluY2x1ZGUgJChYRU5f
Uk9PVCkvdG9vbHMvUnVsZXMubWsNCj4gU1VCRElSUz0gXA0KPiAJbW1hcCBcDQo+IAl4ZW50b29s
bG9nIFwNCj4gLQl4YyBldmVudGNobiBcDQo+ICsJZXZlbnRjaG4geGNcDQo+IAl4YiB4cyB4bA0K
PiANCj4gLlBIT05ZOiBhbGwNCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL29jYW1sL2xpYnMveGMvTUVU
QS5pbiBiL3Rvb2xzL29jYW1sL2xpYnMveGMvTUVUQS5pbg0KPiBpbmRleCAyZmY0ZGNiNmJmLi42
YTI3MzkzNmEzIDEwMDY0NA0KPiAtLS0gYS90b29scy9vY2FtbC9saWJzL3hjL01FVEEuaW4NCj4g
KysrIGIvdG9vbHMvb2NhbWwvbGlicy94Yy9NRVRBLmluDQo+IEBAIC0xLDUgKzEsNSBAQA0KPiB2
ZXJzaW9uID0gIkBWRVJTSU9OQCINCj4gZGVzY3JpcHRpb24gPSAiWGVuIENvbnRyb2wgSW50ZXJm
YWNlIg0KPiAtcmVxdWlyZXMgPSAidW5peCx4ZW5tbWFwIg0KPiArcmVxdWlyZXMgPSAidW5peCx4
ZW5tbWFwLHhlbmV2ZW50Y2huIg0KPiBhcmNoaXZlKGJ5dGUpID0gInhlbmN0cmwuY21hIg0KPiBh
cmNoaXZlKG5hdGl2ZSkgPSAieGVuY3RybC5jbXhhIg0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMvb2Nh
bWwvbGlicy94Yy9NYWtlZmlsZSBiL3Rvb2xzL29jYW1sL2xpYnMveGMvTWFrZWZpbGUNCj4gaW5k
ZXggM2I3NmU5YWQ3Yi4uMWQ5ZmVjYjA2ZSAxMDA2NDQNCj4gLS0tIGEvdG9vbHMvb2NhbWwvbGli
cy94Yy9NYWtlZmlsZQ0KPiArKysgYi90b29scy9vY2FtbC9saWJzL3hjL01ha2VmaWxlDQo+IEBA
IC00LDcgKzQsNyBAQCBpbmNsdWRlICQoT0NBTUxfVE9QTEVWRUwpL2NvbW1vbi5tYWtlDQo+IA0K
PiBDRkxBR1MgKz0gLUkuLi9tbWFwICQoQ0ZMQUdTX2xpYnhlbmN0cmwpICQoQ0ZMQUdTX2xpYnhl
bmd1ZXN0KQ0KPiBDRkxBR1MgKz0gJChBUFBFTkRfQ0ZMQUdTKQ0KPiAtT0NBTUxJTkNMVURFICs9
IC1JIC4uL21tYXANCj4gK09DQU1MSU5DTFVERSArPSAtSSAuLi9tbWFwIC1JIC4uL2V2ZW50Y2hu
DQo+IA0KPiBPQkpTID0geGVuY3RybA0KPiBJTlRGID0geGVuY3RybC5jbWkNCj4gZGlmZiAtLWdp
dCBhL3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybC5tbCBiL3Rvb2xzL29jYW1sL2xpYnMveGMv
eGVuY3RybC5tbA0KPiBpbmRleCAyZWQ3NDU0YjE2Li41ZGFjNDc5OTFlIDEwMDY0NA0KPiAtLS0g
YS90b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmwubWwNCj4gKysrIGIvdG9vbHMvb2NhbWwvbGli
cy94Yy94ZW5jdHJsLm1sDQo+IEBAIC0yNjcsNiArMjY3LDIxIEBAIGV4dGVybmFsIGV2dGNobl9h
bGxvY191bmJvdW5kOiBoYW5kbGUgLT4gZG9taWQgLT4gZG9taWQgLT4gaW50DQo+ICAgPSAic3R1
Yl94Y19ldnRjaG5fYWxsb2NfdW5ib3VuZCINCj4gZXh0ZXJuYWwgZXZ0Y2huX3Jlc2V0OiBoYW5k
bGUgLT4gZG9taWQgLT4gdW5pdCA9ICJzdHViX3hjX2V2dGNobl9yZXNldCINCj4gDQo+ICsoKiBG
SUZPIGhhcyB0aGVvcmV0aWNhbCBtYXhpbXVtIG9mIDJeMjggcG9ydHMsIGZpdHMgaW4gYW4gaW50
ICopDQo+ICt0eXBlIGV2dGNobl9pbnRlcmRvbWFpbiA9IHsgZG9tOiBkb21pZDsgcG9ydDogaW50
fQ0KPiArDQo+ICt0eXBlIGV2dGNobl9zdGF0ID0NCj4gKyAgfCBFVlRDSE5TVEFUX3VuYm91bmQg
b2YgZG9taWQNCj4gKyAgfCBFVlRDSE5TVEFUX2ludGVyZG9tYWluIG9mIGV2dGNobl9pbnRlcmRv
bWFpbg0KPiArICB8IEVWVENITlNUQVRfcGlycSBvZiBpbnQNCj4gKyAgfCBFVlRDSE5TVEFUX3Zp
cnEgb2YgWGVuZXZlbnRjaG4udmlycV90DQo+ICsgIHwgRVZUQ0hOU1RBVF9pcGkNCj4gKw0KPiAr
dHlwZSBldnRjaG5fc3RhdHVzID0geyB2Y3B1OiBpbnQ7IHN0YXR1czogZXZ0Y2huX3N0YXQgfQ0K
PiArDQo+ICtleHRlcm5hbCBldnRjaG5fc3RhdHVzOiBoYW5kbGUgLT4gZG9taWQgLT4gaW50IC0+
IGV2dGNobl9zdGF0dXMgb3B0aW9uID0NCj4gKyAgInN0dWJfeGNfZXZ0Y2huX3N0YXR1cyINCj4g
Kw0KPiBleHRlcm5hbCByZWFkY29uc29sZXJpbmc6IGhhbmRsZSAtPiBzdHJpbmcgPSAic3R1Yl94
Y19yZWFkY29uc29sZXJpbmciDQo+IA0KPiBleHRlcm5hbCBzZW5kX2RlYnVnX2tleXM6IGhhbmRs
ZSAtPiBzdHJpbmcgLT4gdW5pdCA9ICJzdHViX3hjX3NlbmRfZGVidWdfa2V5cyINCj4gZGlmZiAt
LWdpdCBhL3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybC5tbGkgYi90b29scy9vY2FtbC9saWJz
L3hjL3hlbmN0cmwubWxpDQo+IGluZGV4IDBmODBhYWZlYTAuLjZjOTIwNmJjNzQgMTAwNjQ0DQo+
IC0tLSBhL3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybC5tbGkNCj4gKysrIGIvdG9vbHMvb2Nh
bWwvbGlicy94Yy94ZW5jdHJsLm1saQ0KPiBAQCAtMjA2LDYgKzIwNiwyMSBAQCBleHRlcm5hbCBz
aGFkb3dfYWxsb2NhdGlvbl9nZXQgOiBoYW5kbGUgLT4gZG9taWQgLT4gaW50DQo+IGV4dGVybmFs
IGV2dGNobl9hbGxvY191bmJvdW5kIDogaGFuZGxlIC0+IGRvbWlkIC0+IGRvbWlkIC0+IGludA0K
PiAgID0gInN0dWJfeGNfZXZ0Y2huX2FsbG9jX3VuYm91bmQiDQo+IGV4dGVybmFsIGV2dGNobl9y
ZXNldCA6IGhhbmRsZSAtPiBkb21pZCAtPiB1bml0ID0gInN0dWJfeGNfZXZ0Y2huX3Jlc2V0Ig0K
PiArDQo+ICt0eXBlIGV2dGNobl9pbnRlcmRvbWFpbiA9IHsgZG9tOiBkb21pZDsgcG9ydDogaW50
fQ0KPiArDQo+ICt0eXBlIGV2dGNobl9zdGF0ID0NCj4gKyAgfCBFVlRDSE5TVEFUX3VuYm91bmQg
b2YgZG9taWQNCj4gKyAgfCBFVlRDSE5TVEFUX2ludGVyZG9tYWluIG9mIGV2dGNobl9pbnRlcmRv
bWFpbg0KPiArICB8IEVWVENITlNUQVRfcGlycSBvZiBpbnQNCj4gKyAgfCBFVlRDSE5TVEFUX3Zp
cnEgb2YgWGVuZXZlbnRjaG4udmlycV90DQo+ICsgIHwgRVZUQ0hOU1RBVF9pcGkNCj4gKw0KPiAr
dHlwZSBldnRjaG5fc3RhdHVzID0geyB2Y3B1OiBpbnQ7IHN0YXR1czogZXZ0Y2huX3N0YXQgfQ0K
PiArDQo+ICtleHRlcm5hbCBldnRjaG5fc3RhdHVzOiBoYW5kbGUgLT4gZG9taWQgLT4gaW50IC0+
IGV2dGNobl9zdGF0dXMgb3B0aW9uID0NCj4gKyAgInN0dWJfeGNfZXZ0Y2huX3N0YXR1cyINCj4g
Kw0KPiBleHRlcm5hbCByZWFkY29uc29sZXJpbmcgOiBoYW5kbGUgLT4gc3RyaW5nID0gInN0dWJf
eGNfcmVhZGNvbnNvbGVyaW5nIg0KPiBleHRlcm5hbCBzZW5kX2RlYnVnX2tleXMgOiBoYW5kbGUg
LT4gc3RyaW5nIC0+IHVuaXQgPSAic3R1Yl94Y19zZW5kX2RlYnVnX2tleXMiDQo+IGV4dGVybmFs
IHBoeXNpbmZvIDogaGFuZGxlIC0+IHBoeXNpbmZvID0gInN0dWJfeGNfcGh5c2luZm8iDQo+IGRp
ZmYgLS1naXQgYS90b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmxfc3R1YnMuYyBiL3Rvb2xzL29j
YW1sL2xpYnMveGMveGVuY3RybF9zdHVicy5jDQo+IGluZGV4IGQzMDU4NWYyMWMuLmE0OTJlYTE3
ZmQgMTAwNjQ0DQo+IC0tLSBhL3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybF9zdHVicy5jDQo+
ICsrKyBiL3Rvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybF9zdHVicy5jDQo+IEBAIC00NCw2ICs0
NCwxMCBAQA0KPiAjZGVmaW5lIFZhbF9ub25lIChWYWxfaW50KDApKQ0KPiAjZW5kaWYNCj4gDQo+
ICsjaWZuZGVmIFRhZ19zb21lDQo+ICsjZGVmaW5lIFRhZ19zb21lIDANCj4gKyNlbmRpZg0KPiAr
DQo+ICNkZWZpbmUgc3RyaW5nX29mX29wdGlvbl9hcnJheShhcnJheSwgaW5kZXgpIFwNCj4gICAg
ICgoRmllbGQoYXJyYXksIGluZGV4KSA9PSBWYWxfbm9uZSkgPyBOVUxMIDogU3RyaW5nX3ZhbChG
aWVsZChGaWVsZChhcnJheSwgaW5kZXgpLCAwKSkpDQo+IA0KPiBAQCAtNjQxLDYgKzY0NSw2OSBA
QCBDQU1McHJpbSB2YWx1ZSBzdHViX3hjX2V2dGNobl9yZXNldCh2YWx1ZSB4Y2gsIHZhbHVlIGRv
bWlkKQ0KPiAgICAgQ0FNTHJldHVybihWYWxfdW5pdCk7DQo+IH0NCj4gDQo+ICtDQU1McHJpbSB2
YWx1ZSBzdHViX3hjX2V2dGNobl9zdGF0dXModmFsdWUgeGNoLCB2YWx1ZSBkb21pZCwgdmFsdWUg
cG9ydCkNCj4gK3sNCj4gKyAgICBDQU1McGFyYW0zKHhjaCwgZG9taWQsIHBvcnQpOw0KPiArICAg
IENBTUxsb2NhbDQocmVzdWx0LCByZXN1bHRfc3RhdHVzLCBzdGF0LCBpbnRlcmRvbWFpbik7DQo+
ICsgICAgeGNfZXZ0Y2huX3N0YXR1c190IHN0YXR1cyA9IHsNCj4gKyAgICAgICAgLmRvbSA9IF9E
KGRvbWlkKSwNCj4gKyAgICAgICAgLnBvcnQgPSBJbnRfdmFsKHBvcnQpLA0KPiArICAgIH07DQo+
ICsgICAgaW50IHJjOw0KPiArDQo+ICsgICAgY2FtbF9lbnRlcl9ibG9ja2luZ19zZWN0aW9uKCk7
DQo+ICsgICAgcmMgPSB4Y19ldnRjaG5fc3RhdHVzKF9IKHhjaCksICZzdGF0dXMpOw0KPiArICAg
IGNhbWxfbGVhdmVfYmxvY2tpbmdfc2VjdGlvbigpOw0KPiArDQo+ICsgICAgaWYgKCByYyA8IDAg
KQ0KPiArICAgICAgICBmYWlsd2l0aF94YyhfSCh4Y2gpKTsNCj4gKw0KPiArICAgIGlmICggc3Rh
dHVzLnN0YXR1cyA9PSBFVlRDSE5TVEFUX2Nsb3NlZCApDQo+ICsgICAgICAgIENBTUxyZXR1cm4o
VmFsX25vbmUpOw0KDQpDb3VsZCB0aGlzIGNhc2UgYmUgaGFuZGxlZCBpbiB0aGUgc3dpdGNoLCB0
b28/DQoNCj4gKw0KPiArICAgIHN3aXRjaCAoIHN0YXR1cy5zdGF0dXMgKQ0KPiArICAgIHsNCj4g
KyAgICBjYXNlIEVWVENITlNUQVRfdW5ib3VuZDoNCj4gKyAgICAgICAgc3RhdCA9IGNhbWxfYWxs
b2MoMSwgMCk7IC8qIDFzdCBub24tY29uc3RhbnQgY29uc3RydWN0b3IgKi8NCj4gKyAgICAgICAg
U3RvcmVfZmllbGQoc3RhdCwgMCwgVmFsX2ludChzdGF0dXMudS51bmJvdW5kLmRvbSkpOw0KPiAr
ICAgICAgICBicmVhazsNCj4gKw0KPiArICAgIGNhc2UgRVZUQ0hOU1RBVF9pbnRlcmRvbWFpbjoN
Cj4gKyAgICAgICAgaW50ZXJkb21haW4gPSBjYW1sX2FsbG9jX3R1cGxlKDIpOw0KPiArICAgICAg
ICBTdG9yZV9maWVsZChpbnRlcmRvbWFpbiwgMCwgVmFsX2ludChzdGF0dXMudS5pbnRlcmRvbWFp
bi5kb20pKTsNCj4gKyAgICAgICAgU3RvcmVfZmllbGQoaW50ZXJkb21haW4sIDEsIFZhbF9pbnQo
c3RhdHVzLnUuaW50ZXJkb21haW4ucG9ydCkpOw0KPiArICAgICAgICBzdGF0ID0gY2FtbF9hbGxv
YygxLCAxKTsgLyogIDJuZCBub24tY29uc3RhbnQgY29uc3RydWN0b3IgKi8NCj4gKyAgICAgICAg
U3RvcmVfZmllbGQoc3RhdCwgMCwgaW50ZXJkb21haW4pOw0KPiArICAgICAgICBicmVhazsNCj4g
KyAgICBjYXNlIEVWVENITlNUQVRfcGlycToNCj4gKyAgICAgICAgc3RhdCA9IGNhbWxfYWxsb2Mo
MSwgMik7IC8qIDNyZCBub24tY29uc3RhbnQgY29uc3RydWN0b3IgKi8NCj4gKyAgICAgICAgU3Rv
cmVfZmllbGQoc3RhdCwgMCwgVmFsX2ludChzdGF0dXMudS5waXJxKSk7DQo+ICsgICAgICAgIGJy
ZWFrOw0KPiArDQo+ICsgICAgY2FzZSBFVlRDSE5TVEFUX3ZpcnE6DQo+ICsgICAgICAgIHN0YXQg
PSBjYW1sX2FsbG9jKDEsIDMpOyAvKiA0dGggbm9uLWNvbnN0YW50IGNvbnN0cnVjdG9yICovDQo+
ICsgICAgICAgIFN0b3JlX2ZpZWxkKHN0YXQsIDAsIFZhbF9pbnQoc3RhdHVzLnUudmlycSkpOw0K
PiArICAgICAgICBicmVhazsNCj4gKw0KPiArICAgIGNhc2UgRVZUQ0hOU1RBVF9pcGk6DQo+ICsg
ICAgICAgIHN0YXQgPSBWYWxfaW50KDApOyAvKiAxc3QgY29uc3RhbnQgY29uc3RydWN0b3IgKi8N
Cj4gKyAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBkZWZhdWx0Og0KPiArICAgICAgICBjYW1s
X2ZhaWx3aXRoKCJVbmtub3duIGV2dGNobiBzdGF0dXMiKTsNCj4gKw0KPiArICAgIH0NCj4gKyAg
ICByZXN1bHRfc3RhdHVzID0gY2FtbF9hbGxvY190dXBsZSgyKTsNCj4gKyAgICBTdG9yZV9maWVs
ZChyZXN1bHRfc3RhdHVzLCAwLCBWYWxfaW50KHN0YXR1cy52Y3B1KSk7DQo+ICsgICAgU3RvcmVf
ZmllbGQocmVzdWx0X3N0YXR1cywgMSwgc3RhdCk7DQo+ICsNCj4gKyAgICAvKiBjYW1sX2FsbG9j
X3NvbWUgaXMgbWlzc2luZyBpbiBvbGRlciB2ZXJzaW9ucyBvZiBPQ2FtbA0KPiArICAgICAqLw0K
PiArICAgIHJlc3VsdCA9IGNhbWxfYWxsb2Nfc21hbGwoMSwgVGFnX3NvbWUpOw0KPiArICAgIFN0
b3JlX2ZpZWxkKHJlc3VsdCwgMCwgcmVzdWx0X3N0YXR1cyk7DQo+ICsNCj4gKyAgICBDQU1McmV0
dXJuKHJlc3VsdCk7DQo+ICt9DQo+IA0KPiBDQU1McHJpbSB2YWx1ZSBzdHViX3hjX3JlYWRjb25z
b2xlcmluZyh2YWx1ZSB4Y2gpDQo+IHsNCj4gLS0gDQo+IDIuMzQuMQ0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 13:10:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 13:10:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451968.709767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p15ny-0002qx-S1; Fri, 02 Dec 2022 13:10:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451968.709767; Fri, 02 Dec 2022 13:10:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p15ny-0002qY-PG; Fri, 02 Dec 2022 13:10:14 +0000
Received: by outflank-mailman (input) for mailman id 451968;
 Fri, 02 Dec 2022 13:10:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pbEw=4A=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1p15nx-0002pd-PF
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 13:10:13 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2043.outbound.protection.outlook.com [40.107.7.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6e6a6ed-7242-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 14:10:11 +0100 (CET)
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PA4PR08MB5966.eurprd08.prod.outlook.com (2603:10a6:102:ee::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 13:09:42 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda%3]) with mapi id 15.20.5880.008; Fri, 2 Dec 2022
 13:09:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6e6a6ed-7242-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RRHC+NlTZjUkbk0Nzp8Yjbg8dQd6vbMdfLFHYyFhmF/d7D+BTOFaEfPavSSEM4ZP6VfkaHTCnxyFn9Dh7grWZFjg4Iq1NFtGimqgBep7CRqGF+k/4inovixBk7kkoHyIJKaBbvisiudYBto/4I5Z/22QWqayhfUo7kdrUUC47muSL0lcOWjICsf8tu4LZ0YBhTPdF1YkOyrs669lownFn48l9vASnS/+OcgIKPc/CzrcE5yvpLubQfssVBSsGxjgykpY1ZaSUvzXj9GTdfh3EuXXYJNI4MC1etLaU26oGaVw2IT/SLQHSoVPKvWVFpCOLrCOdghimnLu42u8iC8dDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JSPYDTL9Z7qKEwIBGGIqNGW++lPeTNR8PmK7I4zYk3E=;
 b=B08tKjSQkR9OOs+qweQ8zg6Cw0giywNsSl4L4CEcrLPydk2S5PqeEAeVIkbX51bxK7dalyxytpPjykUeMf7b/l0QNPjhLyT59Faw8VK+1euE90/brzQ5FTR7hZZ7m7gNtG58bMLBksgWjVMePgVvAt2lPNz85SNh9ptSCdTHZyy2hC9+UQqM8nvLT1Lc26Qh3kao34tfOAKeONznXxrXeriKVNGxf0c32TK9y1Dca9MAOl3h8rHHXZtTD0/dYPaNMgHvJ2DptOtlk77xqfAI21ysH4TFt0IIJnQKhfdvWXZPEVP+4O6ES7cWW6FEZFUeOXiV7NE/phui1b9z59kpjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JSPYDTL9Z7qKEwIBGGIqNGW++lPeTNR8PmK7I4zYk3E=;
 b=INxYyhmB1P/cqEGE5IXOWHpMyStS4fmcYj0vq89U95c3w+ELjCCGeolsWKOHD/7bTYMPJrGZ+0sGVFkAP09iutQuoSbMiFIrPqrBAoQUNricNC9I8rdZXsStcgrMkmGvQ9Qw9PfqKtnliTQDgg5IMXwcfRNFTlePBBcJG9hc5J0=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH 2/4] xen/scripts: add cppcheck tool to the xen-analysis.py
 script
Thread-Topic: [PATCH 2/4] xen/scripts: add cppcheck tool to the
 xen-analysis.py script
Thread-Index:
 AQHZAzNLrQ+cdSzeJ02hq/RTLwHjha5WqVKAgAC2sICAAI2ugIABQKAAgABQ4YCAARkTgA==
Date: Fri, 2 Dec 2022 13:09:42 +0000
Message-ID: <3C1C5FC8-8AFB-4E21-B47F-1BE4EDBD0670@arm.com>
References: <20221128141006.8719-1-luca.fancellu@arm.com>
 <20221128141006.8719-3-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2211291607280.4039@ubuntu-linux-20-04-desktop>
 <CD8C2F1A-B321-4E3D-907C-E6DBB1A5E2CD@arm.com>
 <alpine.DEB.2.22.394.2211301145132.4039@ubuntu-linux-20-04-desktop>
 <A3204E48-FF22-4275-961C-690F57A8AAEE@arm.com>
 <alpine.DEB.2.22.394.2212011210120.4039@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2212011210120.4039@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM6PR08MB3749:EE_|PA4PR08MB5966:EE_
x-ms-office365-filtering-correlation-id: 68bc5f7c-921c-4897-de3f-08dad46679ca
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 LGH9QBczzByMPQNTiK0pJLOHGnzHucs5fG/1mhw5YukNu+t0nTpe2TjGBWYsdKZ41JSBr1hy5Cd5kqbnNyw3VIn/tTt/0qSEanZBvBOkFcsIli+72aB4jkocU89LZbVAvcVYAuqupnNeiDvAjPt1X7YmBlwAWDvwXRs8nDwrrvY+o3pd350+oocbpO9vF8dmZOhkFI3PRuBTq//rzVr0JvI5IYuzUt4jpuJx3lx12QMNNnbY+BiDcOaM8u+FP7VgIrBQZnX1hzMkvKXKlCOokMSWmkdRN51dn2FrWzJ8BX7MQNjFKV2MnUVMEWOmxlCT2SlLXPT5dtpjUIc+JO/Ma4I64K/sMEMubb9nK4Jz5tI+oy1YpQPxtx0Qine/vhRlOydn1wgCfl0wYatOpXm3nJnZ+kSOWR148fXC5Mh4FcnVp4D9eBaTwguK6kjBS3w3GZ3g6gxCue4dNmjckpLDrNUgoZ9h53wHZ3WcgBFn+pcakstCakUeEzkHlTJQZOgLBAcx+rjPAMUf/gr/wBr3PkKJgYyKQEQcF7ebKmkf1jLKso2MRdKDe07u/bX3TkIvT2WLFkx2WGhBsLlnfkuzU6EgcwZbwyyyVpwmtXff6UfRSJ1kSSycmDb9gkLWSBLFjFgM+hZaKKFruP1q+XD4Wzt6cCjJsxVowVD1kPB5pE7BYpvYqp6c5T1bdQ6SB9SPurAcLjpilBo5oNVft2PDw7rHANCqOEhg6dqkD0xfGWQ=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(376002)(396003)(136003)(346002)(39860400002)(451199015)(186003)(2616005)(2906002)(33656002)(66946007)(91956017)(38100700002)(66446008)(66476007)(8676002)(64756008)(41300700001)(76116006)(6506007)(36756003)(53546011)(66556008)(71200400001)(478600001)(26005)(122000001)(6486002)(5660300002)(6512007)(316002)(86362001)(6916009)(38070700005)(8936002)(54906003)(4326008)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NzllL0dPbWxTY2RaeGpDcXU1RDM3cGNKbm9vWURySmhLdUN4dGVGdDIzWlZB?=
 =?utf-8?B?TWpJZnRubEt6eG9kUWVtc3ZqT2w3dFQ2dFpVbWpQVFBHdzZ4aVR0N0xENXlw?=
 =?utf-8?B?c3JGdGZzazhrdmdiajR3aXhaL0lNVXJNVmZ6ZHZZaktWR1RxS1I1a3Nwc1RW?=
 =?utf-8?B?SjZzcXZOV04rb0htVzFBNFRYMTlYREdCb3dhWTVFWHhhQllUQXZ3V1doRjZB?=
 =?utf-8?B?ckEwT3hQUFFPMGtQc0JpcXkwU1dMd0psR2RyM0p3L204TEVJOUNhUDZqaGtS?=
 =?utf-8?B?ckxXTys2a29TNk1XNldoRURqaThleFVqSGJZSnJycFdqWnlwUE5vSkx2V1Nm?=
 =?utf-8?B?SmhXVEt4bHdCNlVrMERTNlpBMTEwNHVQT05RdEZETzBKWnpxYXo0b1NpVGll?=
 =?utf-8?B?ckRXMjJMU2RVeS9IMUZXR2JhY1YwdHc1R3phV0pJUjRZYm1yNFd1VzMwcXRu?=
 =?utf-8?B?UDVWL3QyRTdTWnRkQndHa3cyT0lMQ2Ivamk2cWJ4S2ZFZmdNaDBXSkltR25F?=
 =?utf-8?B?MkJDVFBnRnN6MUg1K0VtWWh2VldpR2wvU2xYSmI4eDA3YnU4UjhyeGxwekgy?=
 =?utf-8?B?WHVub3B0WDBTVm1VL0xIQS9PYU5adGYrMklrR0YwUjRyNk5mRDFyQzZYVVBi?=
 =?utf-8?B?blNQN3JXU21ibk4veDB6dS9aRUtLcENKbGxQdFBRUDFkSDlEdXBWbGNtYTBo?=
 =?utf-8?B?Q1h3dWc1bGhTL2VRNDYzYjRPTmZGR1VBRkhYeFppMUxiWStCNit6TEl6NHp4?=
 =?utf-8?B?QzVBajMvdWFPamE4R0QvUlBFS1pzS2Q5bFpmNkpWVldiNFF4dklTT1FRU1lo?=
 =?utf-8?B?SjRPRWUxQnZTdnlnM1lkTHUwQ1QwYnhuend3bGtPazdOd2hkQjUweEZiNWd6?=
 =?utf-8?B?R2JZOWJZRkhGclFCdmlFNHB4NVY4Nit2R0RFZE4rQm9JbWM1REUwUzc2NTdz?=
 =?utf-8?B?Z0YxRnhjZXFPTllRM1RLdFZKTFF0ZWN6WCtmVlIyZnVtSGdubmJET3pxSVZt?=
 =?utf-8?B?SnhiWlZRdHBlR0FTakM4VXcvcVJQMmlIMW1ZT2VaSk9RbmVSMzBwTnNPbmoz?=
 =?utf-8?B?SlNVeG5uV2sxeHV1MUNCL08yMEdXVmx0aWFaTEkrWnYwMTl4ZklEQjNLSEVD?=
 =?utf-8?B?MTlRZmVtVk9zK0JkWEVWdVFoelVSMFlzRzZtUHZHRTJNdmp3VEtXazBYUGNH?=
 =?utf-8?B?LzU1aVc3UjZLSi9DaWszaUdTQmU5UVZhK3hpWjlXbTBYNlRKY0xtZFdDMWEr?=
 =?utf-8?B?cHIvZGV4dEhrKzJiOEpBeGgxNmV1MkNsdGxac2llVlYxczREVWJ6eWlwYjJO?=
 =?utf-8?B?OE1Fd3ZxUjMyVHFEYi9rekw0NzJDb1F0MGpIMWIrYm4vVktReWdENXJWRi90?=
 =?utf-8?B?S09xRFhacVF1am90UU5kNHQrREltYTAzODltSkhkSXBMOXlzUW81SUxXSmpX?=
 =?utf-8?B?UlNMeTl6V3lnbENKTmZKS2RORGhWODlYUHRUR1V3L1doRGRWeVV3MTNFMk5t?=
 =?utf-8?B?Tk5GZldTZE14Sk03ZXpkSkFnTFpQWWJkMHJLQlBOaFZ5a1lTTU1ZcmxKMXly?=
 =?utf-8?B?d0VheG5NMXYybytKL2o1R2lFU2cxN0xPZjl3d25ZeURNTDNNK1dZNUJwejNt?=
 =?utf-8?B?VkE0U2JnTnBTUHNaU1dWNG9QbDNkZ0w5R1hiZ05Dd3ZBTlkwTDZCbzN1bzdl?=
 =?utf-8?B?U2VLN0Mrd0xyWkpCYWxraGdPZUJSWWtaSmZkK1FWTG1YV0Nua2dyclBDbVN5?=
 =?utf-8?B?S09CaHE1V25tNWhnK2xMWTJuZnVoYUIzaEdLcktnQm1BSWduSS9mbUMvOXgv?=
 =?utf-8?B?SlI0OGlLNUsyT21uMm04Y0JXUXZSMGVRZlp6RGZ0YmptOGRnTGFlTkU2RG1X?=
 =?utf-8?B?anN6OHJSOVNNU1hoYm5WMHdHc0VmUzV3aE9JcU96RTRZSXVQSFJKQjBzckpl?=
 =?utf-8?B?K0N2aXNFN0piK3BaZE5FTnQ3RjJxN2pLSUY1VW1EMVp3VnNzbmZyMVIxUEpu?=
 =?utf-8?B?YTBHVTlaUDZZVDZmN0lnTytUdW5WZjdCV1BLNTFzUytINzl6LzNPbFZsZHl6?=
 =?utf-8?B?NlJpVnlsYVoxKzFTQ3BmWENxKzlQOE9PSzk1aXVsaEdETzhlMDllWi8vVzZU?=
 =?utf-8?B?cEN2YVdkT3pGN2poeHNtVVUrZWwxNEhTYi9kMFAxTEllYktjRjFmenF3S2NU?=
 =?utf-8?B?anc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <1573D707B970AF479EB0E47027EC4248@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AM6PR08MB3749.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 68bc5f7c-921c-4897-de3f-08dad46679ca
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 13:09:42.0812
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3J3ZxYKcnYD5os1w9rTRNzdt46g7XwsVGTAVD6MldKeVMvyQYhD4lGWEXwR1OA9W34YPELdDug8rvz3zvxUdfw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5966

DQoNCj4gT24gMSBEZWMgMjAyMiwgYXQgMjA6MjMsIFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJl
bGxpbmlAa2VybmVsLm9yZz4gd3JvdGU6DQo+IA0KPiBPbiBUaHUsIDEgRGVjIDIwMjIsIEx1Y2Eg
RmFuY2VsbHUgd3JvdGU6DQo+PiBIaSBTdGVmYW5vLA0KPj4gDQo+Pj4+PiANCj4+Pj4+IA0KPj4+
Pj4+ICsgICAgICAgICAgICBzbV90b29sX2FyZ3M9Im4iDQo+Pj4+Pj4gKyAgICAgICAgICAgIDs7
DQo+Pj4+Pj4gKyAgICAgICAgLS1jcHBjaGVjay1jbWQ9KikNCj4+Pj4+PiArICAgICAgICAgICAg
Q1BQQ0hFQ0tfVE9PTD0iJChldmFsIGVjaG8gIiR7T1BUSU9OIyo9fSIpIg0KPj4+Pj4+ICsgICAg
ICAgICAgICBzbV90b29sX2FyZ3M9InkiDQo+Pj4+Pj4gKyAgICAgICAgICAgIDs7DQo+Pj4+Pj4g
KyAgICAgICAgLS1jcHBjaGVjay1odG1sKQ0KPj4+Pj4+ICsgICAgICAgICAgICBDUFBDSEVDS19I
VE1MPSJ5Ig0KPj4+Pj4+ICsgICAgICAgICAgICBzbV90b29sX2FyZ3M9Im4iDQo+Pj4+Pj4gKyAg
ICAgICAgICAgIDs7DQo+Pj4+Pj4gKyAgICAgICAgLS1jcHBjaGVjay1wbGF0PSopDQo+Pj4+Pj4g
KyAgICAgICAgICAgIENQUENIRUNLX1BMQVRfUEFUSD0iJChldmFsIGVjaG8gIiR7T1BUSU9OIyo9
fSIpIg0KPj4+Pj4+ICsgICAgICAgICAgICBzbV90b29sX2FyZ3M9Im4iDQo+Pj4+Pj4gKyAgICAg
ICAgICAgIDs7DQo+Pj4+Pj4gKyAgICAgICAgLS1pZ25vcmUtcGF0aD0qKQ0KPj4+Pj4+ICsgICAg
ICAgICAgICBJR05PUkVfUEFUSF9MSVNUPSIke0lHTk9SRV9QQVRIX0xJU1R9ICQoZXZhbCBlY2hv
ICIke09QVElPTiMqPX0iKSINCj4+Pj4+PiArICAgICAgICAgICAgc21fdG9vbF9hcmdzPSJuIg0K
Pj4+Pj4+ICsgICAgICAgICAgICA7Ow0KPj4+Pj4+ICsgICAgICAgIC0tKQ0KPj4+Pj4+ICsgICAg
ICAgICAgICBmb3J3YXJkX3RvX2NjPSJ5Ig0KPj4+Pj4+ICsgICAgICAgICAgICBzbV90b29sX2Fy
Z3M9Im4iDQo+Pj4+Pj4gKyAgICAgICAgICAgIDs7DQo+Pj4+Pj4gKyAgICAgICAgKikNCj4+Pj4+
PiArICAgICAgICAgICAgaWYgWyAiJHtzbV90b29sX2FyZ3N9IiA9ICJ5IiBdOyB0aGVuDQo+Pj4+
Pj4gKyAgICAgICAgICAgICAgICBDUFBDSEVDS19UT09MX0FSR1M9IiR7Q1BQQ0hFQ0tfVE9PTF9B
UkdTfSAke09QVElPTn0iDQo+Pj4+Pj4gKyAgICAgICAgICAgIGVsc2UNCj4+Pj4+PiArICAgICAg
ICAgICAgICAgIGVjaG8gIkludmFsaWQgb3B0aW9uICR7T1BUSU9OfSINCj4+Pj4+PiArICAgICAg
ICAgICAgICAgIGV4aXQgMQ0KPj4+Pj4gDQo+Pj4+PiBJdCBkb2Vzbid0IGxvb2sgbGlrZSBzbV90
b29sX2FyZ3MgaXMgcmVhbGx5IG5lZWRlZD8gSXQgaXMgb25seSBzZXQgdG8NCj4+Pj4+ICd5JyBp
biB0aGUgY2FzZSBvZiAtLWNwcGNoZWNrLWNtZCwgYW5kIGluIHRoYXQgY2FzZSB3ZSBhbHNvIHNl
dA0KPj4+Pj4gQ1BQQ0hFQ0tfVE9PTC4gQ1BQQ0hFQ0tfVE9PTCBpcyB0aGUgdmFyaWFibGUgdXNl
ZCBiZWxvdy4gQW0gSSBtaXNzaW5nDQo+Pj4+PiBzb21ldGhpbmc/DQo+Pj4+IA0KPj4+PiBXZSB1
c2Ugc21fdG9vbF9hcmdzIHRvIGZpbGwgQ1BQQ0hFQ0tfVE9PTF9BUkdTLCBiYXNpY2FsbHkgaXTi
gJlzIGEgc3RhdGUgbWFjaGluZSB3aGVyZQ0KPj4+PiB3aGVuIHdlIGZpbmQgLS1jcHBjaGVjay1j
bWQ9PHh4eD4gd2UgZXhwZWN0IHRoYXQgZXZlcnkgb3RoZXIgc3BhY2Ugc2VwYXJhdGVkIGFyZ3Vt
ZW50cw0KPj4+PiBwYXNzZWQgYWZ0ZXJ3YXJkcyBhcmUgdGhlIGFyZ3MgZm9yIGNwcGNoZWNrLCBz
byB3ZSBhcHBlbmQgdG8gQ1BQQ0hFQ0tfVE9PTF9BUkdTDQo+Pj4+IHVudGlsIHdlIGZpbmQgYW4g
YXJndW1lbnQgdGhhdCBpcyBzdXBwb3NlZCB0byBiZSBvbmx5IGZvciB0aGlzIHNjcmlwdC4NCj4+
PiANCj4+PiBUaGF0IHNlZW1zIGEgYml0IHVubmVjZXNzYXJ5OiBpZiB0aGUgdXNlciB3YW50cyB0
byBwYXNzIGFyZ3VtZW50cyB0bw0KPj4+IGNwcGNoZWNrLCB0aGUgdXNlciB3b3VsZCBkbyAtLWNw
cGNoZWNrLWNtZD0iY3BwY2hlY2sgYXJnMSBhcmcyIiB3aXRoICIiDQo+Pj4gcXVvdGVzLiBEb2lu
ZyB0aGF0IHNob3VsZCBtYWtlIC0tY3BwY2hlY2stY21kPSJjcHBjaGVjayBhcmcxIGFyZzIiIGJl
DQo+Pj4gc2VlbiBhcyBhIHNpbmdsZSBhcmd1bWVudCBmcm9tIHRoaXMgc2NyaXB0IHBvaW50IG9m
IHZpZXcuIENQUENIRUNLX1RPT0wNCj4+PiB3b3VsZCBlbmQgdXAgYmVpbmcgc2V0IHRvICJjcHBj
aGVjayBhcmcxIGFyZzIiIHdoaWNoIGlzIHdoYXQgd2Ugd2FudA0KPj4+IGFueXdheT8gQW5kIGlm
IHdlIG5lZWQgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB0aGUgY3BwY2hlY2sgYmluYXJ5IGFuZA0K
Pj4+IGl0cyBhcmd1bWVudCB3ZSBjb3VsZCB1c2UgImN1dCIgdG8gZXh0cmFjdCAiY3BwY2hlY2si
LCAiYXJnMSIsIGFuZA0KPj4+ICJhcmcyIiBmcm9tIENQUENIRUNLX1RPT0wuICBXb3VsZCB0aGF0
IHdvcms/DQo+Pj4gDQo+PiANCj4+IEkgZ2F2ZSBhIHRyeSBmb3IgdGhlIHF1b3RlcywgdGhlIHBy
b2JsZW0gaXMgdGhhdCB3ZSBuZWVkIHRvIGhhdmUgcXVvdGVzIGluIENDPeKAnC4uLuKAnSwgc28g
YWRkaW5nDQo+PiBxdW90ZXMgYWxzbyB0byAtLWNwcGNoZWNrLWNtZD0gd2hpY2ggaXMgaW5zaWRl
IENDPeKAnC4uLuKAnSBpcyBwcmV2ZW50aW5nIHRoZSBNYWtlZmlsZSB0byB3b3JrLA0KPj4gSSB0
cmllZCBlc2NhcGluZyBldGMgYnV0IEkgZGlkbuKAmXQgbWFuYWdlIHRvIGhhdmUgaXQgd29ya2lu
Zywgc28gd291bGQgeW91IGFncmVlIG9uIGtlZXBpbmcgaXQNCj4+IGxpa2UgdGhhdD8NCj4gDQo+
IElzIHRoZSBwcm9ibGVtIGNvbWluZyBmcm9tIHRoZSBmb2xsb3dpbmc/DQo+IA0KPiAgICBjcHBj
aGVja19jY19mbGFncyA9ICIiIi0tY29tcGlsZXI9e30gLS1jcHBjaGVjay1jbWQ9e30ge30NCj4g
LS1jcHBjaGVjay1wbGF0PXt9L2NwcGNoZWNrLXBsYXQgLS1pZ25vcmUtcGF0aD10b29scy8NCj4g
IiIiLmZvcm1hdCh4ZW5fY2MsIHNldHRpbmdzLmNwcGNoZWNrX2JpbnBhdGgsIGNwcGNoZWNrX2Zs
YWdzLA0KPiAgICAgICAgICAgc2V0dGluZ3MudG9vbHNfZGlyKQ0KPiANCj4gICAgaWYgc2V0dGlu
Z3MuY3BwY2hlY2tfaHRtbDoNCj4gICAgICAgIGNwcGNoZWNrX2NjX2ZsYWdzID0gY3BwY2hlY2tf
Y2NfZmxhZ3MgKyAiIC0tY3BwY2hlY2staHRtbCINCj4gDQo+ICAgICMgR2VuZXJhdGUgdGhlIGV4
dHJhIG1ha2UgYXJndW1lbnQgdG8gcGFzcyB0aGUgY3BwY2hlY2stY2Muc2ggd3JhcHBlciBhcyBD
Qw0KPiAgICBjcHBjaGVja19leHRyYV9tYWtlX2FyZ3MgPSAiQ0M9XCJ7fS9jcHBjaGVjay1jYy5z
aCB7fSAtLVwiIi5mb3JtYXQoDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNldHRpbmdzLnRvb2xzX2RpciwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY3BwY2hlY2tfY2NfZmxhZ3MNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICApLnJlcGxhY2UoIlxuIiwgIiIpDQo+IA0KPiANCj4gV291bGRuJ3Qgc29tZXRoaW5n
IGxpa2UgdGhlIGZvbGxvd2luZyBzb2x2ZSB0aGUgaXNzdWU/DQo+IA0KPiAgICBzZXR0aW5ncy5j
cHBjaGVja19iaW5wYXRoID0gc2V0dGluZ3MuY3BwY2hlY2tfYmlucGF0aCArICIgIiArIGNwcGNo
ZWNrX2NjX2ZsYWdzDQo+IA0KPiAgICBjcHBjaGVja19jY19mbGFncyA9ICIiIi0tY29tcGlsZXI9
e30gLS1jcHBjaGVjay1jbWQ9XCJ7fVwiDQo+IC0tY3BwY2hlY2stcGxhdD17fS9jcHBjaGVjay1w
bGF0IC0taWdub3JlLXBhdGg9dG9vbHMvDQo+ICIiIi5mb3JtYXQoeGVuX2NjLCBzZXR0aW5ncy5j
cHBjaGVja19iaW5wYXRoLCBzZXR0aW5ncy50b29sc19kaXIpDQo+IA0KPiAgICBpZiBzZXR0aW5n
cy5jcHBjaGVja19odG1sOg0KPiAgICAgICAgY3BwY2hlY2tfY2NfZmxhZ3MgPSBjcHBjaGVja19j
Y19mbGFncyArICIgLS1jcHBjaGVjay1odG1sIg0KPiANCj4gICAgIyBHZW5lcmF0ZSB0aGUgZXh0
cmEgbWFrZSBhcmd1bWVudCB0byBwYXNzIHRoZSBjcHBjaGVjay1jYy5zaCB3cmFwcGVyIGFzIEND
DQo+ICAgIGNwcGNoZWNrX2V4dHJhX21ha2VfYXJncyA9ICJDQz1cInt9L2NwcGNoZWNrLWNjLnNo
IHt9IC0tXCIiLmZvcm1hdCgNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2V0dGluZ3MudG9vbHNfZGlyLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjcHBjaGVja19jY19mbGFncw0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICkucmVwbGFjZSgiXG4iLCAiIikNCg0KTm8gdW5mb3J0dW5hdGVseSBub3QsIE1ha2Vm
aWxlIGlzIHZlcnkgc2Vuc2l0aXZlIHRvIHF1b3RlcywgSeKAmXZlIHRyaWVkIHdpdGggbWFueSBj
b21iaW5hdGlvbiBvZiBzaW5nbGUvZG91YmxlIHF1b3RlcyBidXQgbm90aGluZyB3b3JrZWQNCg0K
DQoNCg==


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 13:44:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 13:44:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.451983.709782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p16Kh-0000OL-H6; Fri, 02 Dec 2022 13:44:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 451983.709782; Fri, 02 Dec 2022 13:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p16Kh-0000OE-EJ; Fri, 02 Dec 2022 13:44:03 +0000
Received: by outflank-mailman (input) for mailman id 451983;
 Fri, 02 Dec 2022 13:44:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JFaq=4A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p16Kf-0000O8-TZ
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 13:44:02 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061a.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 602d4def-7247-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 14:44:00 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7386.eurprd04.prod.outlook.com (2603:10a6:102:85::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 13:43:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 13:43:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 602d4def-7247-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T+amODliqpvLHlpiA0M0Ts6yipD5mXPqGT0YPzbfpM0KJldMU2FA/Kz4wn8geTM1B4sAJC33rLBeA5BMenNcMSXb2mHfPczlRUUSIQBO4mYOhP9wXe0YDK5ZedPcS/Y7ZEYp/z2aWeV2PSMNxNNBV/3QVNZHRRCnCSRaEQm7Hx6Mm2IN5re1Fvpnj51CpOJcbrrwAheAxBgyyp4cyOgsU/qpP27lTv1Z728c0a7OwrgQSveW+HewumG/IhM8DNLcqSXj3UHUB4xGVQPzC/SMt1G5hKoed0pTH99LTSP5ucQDJrpgs9pAFeKfhMw4IyjoogjtZOIRmcbW+/oQVwMYSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ydpkwNE/PnKwc6t3EGScDF3xmChMLdvX3xDJajYe48E=;
 b=aqy4RU95c10uM5stQygTLM2H+w10nKBZIa+JrM9p7d+G0nRl4DTAgDE1LMaSuvPGmxACEva+UdRh4bbEfto/fseWh44S9FsqXrkA5qxClMpqQNHEOiE4koi2MM9mCyRCtYmTx0m3go8XFOXN3tmAUgHDdJ7Lg2bjEYn5/nIeoNf0KBO2oo91GtvD5boHrWsZkhktdy2sZ0Cr0heWg8KXCzzKUh4Qu2P9+F0dTOAigPOY47j3KKvt9I9/Rk199JQcyA4SuQMYi/GoWkwR8RGc5Ng0dtRz5P+IXWcXgkc3b4luhI6ahTqTlg335GTBMpT9k8M/IWpKkOJDa5BUD8BQBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ydpkwNE/PnKwc6t3EGScDF3xmChMLdvX3xDJajYe48E=;
 b=F11LolewJeAD0x0GwydkBkYE2Xqc08UqpVoO0gAhc6mGgs13y/U60SFtJR9RlJKbfvZMmODTqWSC6rWJcNzYDznaF/Wwb6FPX/sjwyl46iZ2g+r72/eA3Y/7TofQlGqLyMl4FLxwSxNWio47foihgmlK9rIKmdWAKu+gCKeLhQ+r6xQSBoyAgubRghatdcCWVrbhEFjXiwD1zbUGwoDpatggWZo6iIUXsED8KLGzdq2fGwN4TtLGu0Em7BJ9sxXmIDRwUomaNW49X4TgFUXvWs2iuyiSyd8FfR8eQQi+UfSv9/W5Oem7lZwu5XqHIXSHwInM48PjOp02oWrliWDxzw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <19777ed9-c73d-7098-e660-d8babacbcacc@suse.com>
Date: Fri, 2 Dec 2022 14:43:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [XEN v3] Xen: Ensure "xenheap_bits - PAGE_SHIFT" can be used as a
 rhs operand of shift operator
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefanos@xilinx.com, julien@xen.org,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com,
 bobbyeshleman@gmail.com, alistair.francis@wdc.com, connojdavis@gmail.com,
 wl@xen.org, xen-devel@lists.xenproject.org
References: <20221202123559.33143-1-ayan.kumar.halder@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221202123559.33143-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0111.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7386:EE_
X-MS-Office365-Filtering-Correlation-Id: 782731c1-ede6-433d-d566-08dad46b4380
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Lg5hNl+ImPn3MK5Ir2SXU0QSeLXZVSwdsMCXCAB9Op0r2uSjuXO2GTkJb25AUb7/bd/su47ayVIyMyiZ92N2Y0Kot+bqDUkzOBqZvQgza0YYacWziPFqXKC7OfLFCrGwtpSDQUxxUKPHyVpzAQxwPTGCmRiQ8StLCdTTSXXE1bvam/EjMpvvmC8LBXvLlDOQwZaSxrYEeT3ZVjyP90RjyjVWo562M7htOsUGUqgOHLhxpucD4oGaQCJ8EpH5fKIqnW5D+MJK0mv+2pOd49yq70Gwspy8Dy0/pjbpftAUmBopmzuGKtl2WvwJu5FzFCSL/C/d9BZaPWMmKsHyZJJ1joME/dyIvgI0jwbmN+FZR8mYZGRYtKppTY1en4XVmxJgtTJ7hoZ9moXZ/IyjHYneBMZYdFmIBj3QNBo5lytwzEwVK6TcvNtByGq76D8IF+e1B0J59pV+b/Dqazdfo/qPx7y0jH8X5e520IB5G88CTc19Tgz+jUzZnsdGoyyoe2fz6GDFpcJvOZz1dRo4bTBzrin+M5iOThaxUaijxaOt/iknGbH+aU8sItk+QkPJzUBuCIlufUS3Q7ZK+Yxv4kprnkyi322twoglZG1sUpeKlgnmTqbsEPpWG9nRVipMQxBVVB9aRftBYEwCDp7UAREczC3WkjsUD+qMJNGYbreRAfCU8kdRJEK5FnARjY+eqQ/jZCFQmVpHDJ1J6Uyxv/HWBZuPFLn4hreKu2x8A6pUV1A=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(366004)(39860400002)(396003)(346002)(451199015)(53546011)(6506007)(6486002)(26005)(6512007)(186003)(316002)(478600001)(6916009)(4326008)(8676002)(66476007)(66556008)(31686004)(66946007)(2616005)(41300700001)(5660300002)(4744005)(8936002)(7416002)(2906002)(83380400001)(36756003)(86362001)(38100700002)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OVBKUzBTWEdDUzNhdVZlTE0vZGR6MGY3RXMvSkpyTEpYck43SDlGZTNPZHlx?=
 =?utf-8?B?Y0VYbGlDSzA4VHNXT1N5VVk0eHRhenpXSEcxc2l4NldEdHFGaE5iTUx5UEpT?=
 =?utf-8?B?SzRnVXRoSUEyQnJaTnNSaWU3bHVIZWhyYzNiNFhjeEFKSjRGSXJxQTZYZ1pL?=
 =?utf-8?B?dERZM0RkY2xZaWNkMjhwQm1MMjhDZmhZVW5LRXgvRmxBdW80UDh0RlQveHcx?=
 =?utf-8?B?RTV1UjdhcDgwSHFoSXZhc1VqVUh5QjhNMFFHdGJPVGlaTFlUODFaOHhnd3pJ?=
 =?utf-8?B?S00xSG40VzNxQVFyTGR4dnFaaUpCUHJPNzh5RE1uc0hJcnFmSDhhdWppNlRO?=
 =?utf-8?B?WVBHbFBTU1M0bjA5U1Z1MXM5UEd6cGJjLzlRNTc3VU1kNzJaaG5EZlI3WXRn?=
 =?utf-8?B?aGE2MkYrOW9Ed1k0NTFKQ2NhRWRHQzA2ajZDRldEbmFSQnpIWnczMVVFWFM2?=
 =?utf-8?B?RDYrSlJRc1liNmFoS2lEbzlnREVjczhnYjJPall3eUJpWHoxczU1Z1J2Uk5J?=
 =?utf-8?B?NTk2OWtqYnB1bW5EbzVrbEx4eElVMXhUbGRwanl1T28vdmozR3NOaHNpejJh?=
 =?utf-8?B?TUt2TmpNMGp2L0czS3I4QWlpNGdJL3dCQmRsOCtQRS9ycS9WWHFrOUJSUGdM?=
 =?utf-8?B?R3dkTlR2NWJqOTlyVGhudVcyb2ZVTkxDR2dmYkFmeGY1UG5lU0F6OW5SSzZR?=
 =?utf-8?B?QlBrQmI5M1FaK25qQkExaU9CUHcweTBqUlBwSzdlTW50eCsyZTczbHhEMUlu?=
 =?utf-8?B?NU94MDJDb3ZjY0kzTitFQWE2SFFBdWk5NDFRWTBpa1FreURvYkk4UVJsSHcr?=
 =?utf-8?B?VGk5VldvSm1LeitycGo3R2c5ckIreHE5Yld0cUxpS1R5VHVpUGtOK0hqNkZt?=
 =?utf-8?B?ZGRiOEhPSFo1S2NVY2NTSSs0REJBOGd2a3ZlMjc5VFdQQ0RxdWd1Qm1MUlJV?=
 =?utf-8?B?K1FNcnc5WlhrYmVob2JrSktyenY1RjlZN2pQaVZaWFVIMVhxM0VZdmpHQ2tZ?=
 =?utf-8?B?bUI5TkxKMnhLeGdZZ0hkM3ptM1VMVXZEeWJpU24rcWEzZFhQU2hEN2R4S3VS?=
 =?utf-8?B?SWVGQlR4Z1hrMyt2N0g1dlJOaVpOTTlWM3pZVVdYSHJvR2JMOFFaL085STMv?=
 =?utf-8?B?elF0OXhEOEh2TEJDMllYa0Y5NlVvV2MxUEVOd3dKRjhZNU1hb0dtd2l1dlU3?=
 =?utf-8?B?UWw4eHg0RzF6cWdJSjhZOUtOUno3QWtzWGtLajluaTJETjRpdGpRend2SGdN?=
 =?utf-8?B?ZkdpbHhFNm1rYVZQVXA1dUt2aktzRFFSTG9CcGtOREtBRThwYUdIR0Z4eHIy?=
 =?utf-8?B?TGFDUVZLZzUzM1RVditwRnlrRmxKZzVOZ3hEbytITjRYeXhXNU4wUVR0ZVcz?=
 =?utf-8?B?YmhmZktTZVBST2VsSGRUU1FQVU9YRTlULzVFRDBsWDNBVDZHVzBqN2JkTjFi?=
 =?utf-8?B?L3QxcjhvaHdJTkVPWEJwTGJFcUtJTVM2QlJ2cnpTdVduaWtrNjErZjhqMTJP?=
 =?utf-8?B?QUw2SHIydHRYeUxuU25uVUl3cUNXNFVBK0U4dnovV3dwNWlwc2ozVG1lNnBS?=
 =?utf-8?B?Q2p3OUR6RUJQaXUvUjRCdkRadFFwL0IzeU5pL3pFd1JMY0x3MkNKNU5pUnNz?=
 =?utf-8?B?bTlyRlRoTjNzczRpYm5pRmh4T2kvQlRjeUdnV1pjSFRVVWZtalU2YzJxRXVh?=
 =?utf-8?B?d3ZsMlNURkVXNGxkY0UrOGNKaXZrNk5jaHp5dDhGZTNMbVFlT3I4QmpwZ3pR?=
 =?utf-8?B?L0l1YWlXQ2ZmNGdQZE5kN2cxdjlPMFdnV0RibHJFa0V1ZjJic2pMbFFSZ0Y0?=
 =?utf-8?B?RGFVbFRQNENlN3NTTHFKT1FvUFpHcTlNYXU4R1N0bGF3UnJKM1VVTXByMUZD?=
 =?utf-8?B?SGJscGZORFlsS09NTzNrY0RKNEF3RVFPV21ta1JSdmx3QUE4QjNHUTZKUHZs?=
 =?utf-8?B?V3FrOWppVDdrYzd2ZEI1L2tYYXI0SldkOGhTdTJEWkJhMEdkaEJ0cEV4dEQ1?=
 =?utf-8?B?MitCY1B4N3RmekluanhXN3hvY0hFM3VTcHpveVNaRXc2a2R0aWJ2Q01pZjk3?=
 =?utf-8?B?RlpCckN3Yzl0Z2gwaFR5SXI2ekMwenNpK3NPTFI1T1BrL3FDR3hCOFJ1ckVx?=
 =?utf-8?Q?+1qBbukSti6mrr+aSQb1F08lh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 782731c1-ede6-433d-d566-08dad46b4380
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 13:43:58.7327
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OAQXm65/76iRFPamNy+r+YRkIKrsjj3yGYzxS7tZjhx7nkEGAZbs8If1asU4VtKzNXVtsr9XXQmI2cw2WDyHgw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7386

On 02.12.2022 13:35, Ayan Kumar Halder wrote:
> We want to ensure that "xenheap_bits - PAGE_SHIFT" is strictly less than
> the number of bits to represent unsigned long as it is used a rhs operand
> to shift mfn.
> It is also important to note that the "xenheap_bits - PAGE_SHIFT" is never
> used to shift an address (rather than a frame number), and going forward
> then also shouldn't be (perhaps unless further precautions are taken).

Hmm, now you've lost why you are making the change in the first place:
The way things are before the patch is quite fine for the described
purpose. (This then also extends to the title. I should have noticed
this in v2 already, but didn't because I still had the v1 title in mind.)

Furthermore in the 2nd paragraph instead of 'the "xenheap_bits -
PAGE_SHIFT"' you mean '"xenheap_bits" alone'.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 14:01:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 14:01:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452002.709813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p16ay-0003jv-45; Fri, 02 Dec 2022 14:00:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452002.709813; Fri, 02 Dec 2022 14:00:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p16ay-0003jo-1H; Fri, 02 Dec 2022 14:00:52 +0000
Received: by outflank-mailman (input) for mailman id 452002;
 Fri, 02 Dec 2022 14:00:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p16ax-0003jX-A4
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 14:00:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p16am-0003hY-PU; Fri, 02 Dec 2022 14:00:40 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232] helo=[192.168.0.82])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p16am-0003uA-Io; Fri, 02 Dec 2022 14:00:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=OQ4+GWBOgYfct5/JY5QlPQyjvuh5C3c5/50Dh7il69o=; b=Sa8jAgQFjRTKMG/OasBoUQYSkK
	48DycrZpuPMPIVhLZkcllK1ZEv64Pyspjrn2EoksknvIGXMGlNyeCa3FPrB5FX2ZpaVoF5KmEq2Q/
	74qH7rY5D4FYT5UH2fM8svf0e6Gvn90SQcffgEOFUKrwrYdoW8iSuEOVBvqJiQsudZd4=;
Message-ID: <5218ddcf-0c07-1fbf-2b4d-26060d997233@xen.org>
Date: Fri, 2 Dec 2022 14:00:37 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [XEN v3] Xen: Ensure "xenheap_bits - PAGE_SHIFT" can be used as a
 rhs operand of shift operator
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefanos@xilinx.com, andrew.cooper3@citrix.com,
 george.dunlap@citrix.com, bobbyeshleman@gmail.com, alistair.francis@wdc.com,
 connojdavis@gmail.com, wl@xen.org, xen-devel@lists.xenproject.org
References: <20221202123559.33143-1-ayan.kumar.halder@amd.com>
 <19777ed9-c73d-7098-e660-d8babacbcacc@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <19777ed9-c73d-7098-e660-d8babacbcacc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 02/12/2022 13:43, Jan Beulich wrote:
> On 02.12.2022 13:35, Ayan Kumar Halder wrote:
>> We want to ensure that "xenheap_bits - PAGE_SHIFT" is strictly less than
>> the number of bits to represent unsigned long as it is used a rhs operand
>> to shift mfn.
>> It is also important to note that the "xenheap_bits - PAGE_SHIFT" is never
>> used to shift an address (rather than a frame number), and going forward
>> then also shouldn't be (perhaps unless further precautions are taken).
> 
> Hmm, now you've lost why you are making the change in the first place:
> The way things are before the patch is quite fine for the described
> purpose. (This then also extends to the title. I should have noticed
> this in v2 already, but didn't because I still had the v1 title in mind.)
> 
> Furthermore in the 2nd paragraph instead of 'the "xenheap_bits -
> PAGE_SHIFT"' you mean '"xenheap_bits" alone'.

Let me propose a commit message:

"
xen/page_alloc: Relax the BUILD_BUG_ON() in xenheap_max_mfn()

In the near future, we are considering to use a common xen/domain heap 
for Arm 32-bit V8-R. In this setup, both PADDR_BITS and BITS_PER_LONG 
will be 32. Therefore, the condition PADDR_BITS >= BITS_PER_LONG will 
become true.

Looking at the commit that introduce the BUILD_BUG_ON (88e3ed61642b 
"x86/NUMA: make init_node_heap() respect Xen heap limit") and the 
current use, it seems this check was mainly to ensure that the shift of 
xenheap_bits is not going to be undefined (>> N for a N-bit type is 
undefined).

So far, all the shifts are using "xenheap_bits - PAGE_SHIFT". Therefore, 
the existing code should work for 32-bit architecture as long as the 
result of the substraction is below 32.

Therefore relax the BUILD_BUG_ON() to check that (PADDR_BITS - 
PAGE_SHIFT) is not equal of above BITS_PER_LONG.

Note that we would need further precaution if we ended up to use 
'xenheap_bits' alone in shifts.
"

If you end up to take my commit message, then please add my signed-off-by.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 14:04:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 14:04:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452012.709832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p16e5-00057L-SG; Fri, 02 Dec 2022 14:04:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452012.709832; Fri, 02 Dec 2022 14:04:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p16e5-00057E-Ou; Fri, 02 Dec 2022 14:04:05 +0000
Received: by outflank-mailman (input) for mailman id 452012;
 Fri, 02 Dec 2022 14:04:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p16e4-000574-MS; Fri, 02 Dec 2022 14:04:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p16e4-0003kz-KA; Fri, 02 Dec 2022 14:04:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p16e4-0003df-0Y; Fri, 02 Dec 2022 14:04:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p16e3-0001Ls-WE; Fri, 02 Dec 2022 14:04:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Rqkkpo+6WodJdhaWB1BOHazxvWEdxULqROPOt5bYIbM=; b=BjZ4S1UGYI2uCDVPqrdnC3epIN
	pQ2XRe33fmLq65D3Efw08kNoskVAQ/MNRKXG0brLGaMhsgrISBjZnskt0IqUTaF9xSC0Sj01c1Xb9
	NEokqgySBuosKuc5Kera8H6s4+Ve09X7w8mWWcgvF2fIcI+Yq5Zvk611MRZ7+UqXEE5A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175015-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 175015: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=942f881eb1b4e90cbd2096e88551750092d2eaaa
X-Osstest-Versions-That:
    xen=345135942bf9632eba1409ba432cfcae3b7649c7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 14:04:03 +0000

flight 175015 xen-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175015/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175007
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175007
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175007
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175007
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175007
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175007
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175007
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175007
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175007
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175007
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175007
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175007
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  942f881eb1b4e90cbd2096e88551750092d2eaaa
baseline version:
 xen                  345135942bf9632eba1409ba432cfcae3b7649c7

Last test of basis   175007  2022-12-01 11:08:27 Z    1 days
Testing same since   175015  2022-12-01 22:08:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   345135942b..942f881eb1  942f881eb1b4e90cbd2096e88551750092d2eaaa -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 14:05:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 14:05:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452019.709843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p16fD-0005gn-5c; Fri, 02 Dec 2022 14:05:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452019.709843; Fri, 02 Dec 2022 14:05:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p16fD-0005gf-2w; Fri, 02 Dec 2022 14:05:15 +0000
Received: by outflank-mailman (input) for mailman id 452019;
 Fri, 02 Dec 2022 14:05:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xAMo=4A=chiark.greenend.org.uk=ijackson@srs-se1.protection.inumbo.net>)
 id 1p16fA-0005fO-Ms
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 14:05:13 +0000
Received: from chiark.greenend.org.uk (v6.chiark.greenend.org.uk
 [2001:ba8:1e3::]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 541fd5bb-724a-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 15:05:11 +0100 (CET)
Received: by chiark.greenend.org.uk (Debian Exim 4.94.2 #2) with local
 (return-path ijackson@chiark.greenend.org.uk)
 id 1p16f4-0004D7-Vt; Fri, 02 Dec 2022 14:05:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 541fd5bb-724a-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=chiark.greenend.org.uk; s=c.chiark; h=DKIM-Signature-Warning:References:
	In-Reply-To:Subject:Cc:To:Date:Message-ID:Content-Transfer-Encoding:
	Content-Type:MIME-Version:From:Sender:Reply-To:Content-ID:Content-Description
	:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
	List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:
	List-Archive; bh=ndvOqqtb7/xEJJ/gOE8af9zXjM7HLrMx1PiTE6qEePc=; b=o5xq+JYRa0hs
	JpjQJEwLmuTwL8tvsD7lI8CZcu19BNUTHfNXwwnGGqIH4bhdrFDClUczcj9mdEsAsLoXenhkta0y5
	AzdX5r7YwqbK1Z1BYFImRI8yjYjBz72sq/K1FvPr8G4d7rsFxlkrMpdxoc/o+0bFA6qw/vdXVAeSd
	afWad0tvkCTWkZ2MLCDZJXjoJz8aaEA0yN1NlgitDee715w/7druSFsVImn1ot8bqfcUdvOSorDkT
	AhCqkAyKDngjhHsmfMJuAzsW6vzTdnanBOan9SM9jUQv5OPakOVGzXTiarpCIU1/s895OvCFnHqX8
	3ZyKSbw4Ear+nE+O5rPtXw==;
From: Ian Jackson <ijackson@chiark.greenend.org.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <25482.1554.910128.804488@chiark.greenend.org.uk>
Date: Fri, 2 Dec 2022 14:05:06 +0000
To: Henry Wang <Henry.Wang@arm.com>
Cc: Julien Grall <julien@xen.org>,
    xen-devel@lists.xenproject.org
Subject: Release checklist and qemu-xen-traditional
In-Reply-To: <AS8PR08MB79917D648261C9ADB5F8EB8A92159@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <AS8PR08MB79918A8115770DCF01863D7292159@AS8PR08MB7991.eurprd08.prod.outlook.com>
	<25479.27844.230855.996791@chiark.greenend.org.uk>
	<AS8PR08MB79917D648261C9ADB5F8EB8A92159@AS8PR08MB7991.eurprd08.prod.outlook.com>
X-Mailer: VM 8.2.0b under 27.1 (x86_64-pc-linux-gnu)
DKIM-Signature-Warning: NOTE REGARDING DKIM KEY COMPROMISE https://www.chiark.greenend.org.uk/dkim-rotate/README.txt https://www.chiark.greenend.org.uk/dkim-rotate/e7/e7ec394fc5bad70f9d03084a487df88f.pem

(Adding xen-devel to the CC list.)

Hi, Henry.  Pleaed to "meet" you.  To answer your questions:

> > > (1) Why do the instructions say to branch that repo?
> > > (2) Where can we find this repo?
> > > (3) Is this repo used anywhere since the 4.16 release?
> > > (4) Is this repo used elsewhere in the release process?

This repo is this one.  I think it is still used during some builds.
See this line in Config.mk:

  QEMU_TRADITIONAL_URL ?= http://xenbits.xen.org/git-http/qemu-xen-traditional.git

It is very old and we have been slowly deprecating it.  (The copy on
my workstation was called qemu-iwj.git for historical reasons which
aren't relevant, but that's how that got into the checklist.)

The release checklist will also instruct the release technician to
update the pinning in Config.mk to the tag.  For example, Config.mk in
RELEASE-4.16.0 says this:

  QEMU_TRADITIONAL_REVISION ?= xen-4.16.0

This needs to be updated so that people who get 4.16 don't get any
changes that are made to the "master" branch in qemu-xen-traditional.
The same will be true for 4.17, if it qemu-xen-traditional hasn't
been completely abolished there yet.

> > These instructons relate to my local clone of qemu-xen-traditional,
> > and will need adjustment.
> 
> Thanks for your reply! It would be good for you to clarify what adjustments
> we need to do. That said, I completely understand that you are quite busy
> today, so...

A clone of qemu-xen-traditional ought to do for this.  My tree here,
rescued from my old Citrix workstation, has this for the "origin"
remote:
  xenbits.xen.org:/home/xen/git/qemu-xen-traditional.git

I hope this is helpful.  If you want to talk through it some more,
ping me on irc.  I'm Diziet on oftc.  I usually lurk on #xendevel
(although I fell off at some point and only just rejoined), or you
may send me a private message.

Regards,
Ian.

-- 
Ian Jackson <ijackson@chiark.greenend.org.uk>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 14:19:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 14:19:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452034.709854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p16st-0007u8-Cu; Fri, 02 Dec 2022 14:19:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452034.709854; Fri, 02 Dec 2022 14:19:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p16st-0007u1-AF; Fri, 02 Dec 2022 14:19:23 +0000
Received: by outflank-mailman (input) for mailman id 452034;
 Fri, 02 Dec 2022 14:19:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NC9X=4A=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p16sr-0007tv-W5
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 14:19:22 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20608.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f6ab6ce-724c-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 15:19:20 +0100 (CET)
Received: from MW4PR03CA0294.namprd03.prod.outlook.com (2603:10b6:303:b5::29)
 by SA0PR12MB4365.namprd12.prod.outlook.com (2603:10b6:806:96::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 14:19:17 +0000
Received: from CO1NAM11FT021.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b5:cafe::81) by MW4PR03CA0294.outlook.office365.com
 (2603:10b6:303:b5::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10 via Frontend
 Transport; Fri, 2 Dec 2022 14:19:17 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT021.mail.protection.outlook.com (10.13.175.51) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.10 via Frontend Transport; Fri, 2 Dec 2022 14:19:17 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 2 Dec
 2022 08:19:15 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 2 Dec 2022 08:19:13 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f6ab6ce-724c-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bmlOfVSw9WhNyAaU9AW/ImK6IDraL+QBV+FMVXuo3dLPLqzLUru7JoyuhKtzbawCKpyYxK5hPF0zXcpiTZGYC7bqLob+5rsWt8CW20Rz0yOu+Sq5MvF1DYaA2f6QU8k8veSgKqaoJeBtVSlw/ml/u555XY4ji1JiPszttHARAJqfxtSiH1zRCGSmeooIDydSTQGOi0uDxZyLvUnWC7o1yG4g8/sRZX9YRxJz0dwYl8RVMHndml7JuNa5qGT/J4+QxRjoUmGf1iwrtqYyY5KODscI2Mc4TcoSY7TWqJnNGL56oIXQNWbLZV4NjfylkBBIH9J07kHHa32KH6zScE2OxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X82WY2l648lDXTfyhxETZdxhcU7yEVu/JXMELHSHWGg=;
 b=M1Wh1B4iFlJ12SukdVZEx3DCAu1ylIk/UGHs6dF4pE3IT8736cOm8h50YIVvwF03q66t2B24r4OkXSIBXwNM8XYGM+je4YbWepVK115zMm2mV6+yGSNyOrR/6GLzd2uUv4XNgsG1PbFdrNq7B5XUg64F536iRxX2Oget3W5GB04/2Abs+6rd8U7D9h6qgp6jVqPpO8eC3rMMyXPjsc3B1DV4QctyTamJtVRphcGgE9bM590zUJQ38KXnwF9y9duUYdCaBqB4cCfxy6kTYmj55RnbTNAybCFDkcun59VDInZ6/y9VA9veQ/MfMeBeRvpGh6nLZnDW9cKWQIl4gqAQkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X82WY2l648lDXTfyhxETZdxhcU7yEVu/JXMELHSHWGg=;
 b=OSiFQhgX3XjmZ+Kb9X93ny/fLnTievdCR2UBCXJxa4Phlvb9E5PdNiyD/QCqyV4fGYVhQTh/FUqSSQM+RJCScFG+3F5HrTcLJHwL4GfKUT7IyMlBOcOjIWXyV8q6YKP1J2cZ4KX68/RfTWZPGE893OkGtA0nTS2esViJmjXHgRc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <8f4e2658-13b2-98ce-6fea-2067ff205e02@amd.com>
Date: Fri, 2 Dec 2022 15:19:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 15/21] xen/arm: vsmmuv3: Emulated SMMUv3 device tree
 node for dom0less
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <4e4d4fff4bb20d9718bd61b729f9421525baaa15.1669888522.git.rahul.singh@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <4e4d4fff4bb20d9718bd61b729f9421525baaa15.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT021:EE_|SA0PR12MB4365:EE_
X-MS-Office365-Filtering-Correlation-Id: 2a7c02b6-922d-4aaf-4069-08dad4703266
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n7UfQWUABiFOgpPX8qwUcVMGwFs/brOMxdRBUFW9LuMImEkogVzVzpLlIA7KYi1cRqvE90AUfZEr17cQmbONNQBZqrpJta365RB2l8+1d0Z+AtBa3SKgDxhH77R4wWYCg0tkJZ3v78OMTcOW7nhu3y+SWQvoQ9cv7k9JMigjldUXoiEKu/vuvca6EnrGFWyr313hzKKXf4ckTrD3nONkRuv+gtOIyjVEB+dOXWMF8yoW+qTmv44wFmw90hhfnlUVnLNOLxyyYgMyiCob8vT9PqeLOQFMeRl1NEaZfcHny05oD76UjGFzYQVJ0CgQ4U91JLl85d+PFHcwc0OhXl+iE9nS/HrjeLSPR+3NvNJH4FtdrcecFsSa9H7sCys7zj3a8G2XBs0SKO/lrEGiMqmnqcoJLRIlZAsqsjp6kkgH1A1h2h6xH2A/ULHC4kO/4K2q3K8V6vkY7GYaX7b3UqeodozEWGZAImAh/6O0rRZT1qgpLXrjEV9my2M2lHOYVPxsrte5jR/0rvLQgJfwzEaYvmcwyY10uoaKROAtk/Nz512a3uyLK1zAcErlLtKCzX2HRU/TodcelZvSC74HG66EqLUGKlSebdtqkM0Cx7obCNvBqEStahTUjJjVr/1vXizyxTsX6t5bafcmdp35+AOhcExB1dZCDF7R26T5IfguaAEnBf3Ob3FXQBtbhldnJF4MsTenFAGX84Y8AjAvNQYIZgIRwK+r+HTsNhbFp7Zu+z/dPG41i1DZ+3vB1O6OCwGOM/2k1fIL8+EbZtv9NQZt8FtxOXwFaFLwgp/kDGhYdY0=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(396003)(39860400002)(136003)(451199015)(40470700004)(36840700001)(46966006)(7416002)(4326008)(44832011)(8676002)(5660300002)(4744005)(8936002)(16576012)(316002)(41300700001)(2906002)(70586007)(70206006)(54906003)(478600001)(110136005)(40480700001)(36756003)(53546011)(31696002)(356005)(81166007)(26005)(86362001)(2616005)(31686004)(47076005)(426003)(186003)(336012)(82740400003)(40460700003)(36860700001)(82310400005)(32563001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 14:19:17.1615
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a7c02b6-922d-4aaf-4069-08dad4703266
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT021.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4365

Hi Rahul,

On 01/12/2022 17:02, Rahul Singh wrote:
> 
> 
> XEN will create an Emulated SMMUv3 device tree node in the device tree
> to enable the dom0less domains to discover the virtual SMMUv3 during
> boot. Emulated SMMUv3 device tree node will only be created when cmdline
> option vsmmuv3 is enabled.
I think you meant viommu option.

In any case, I think that you want to introduce a device-tree property for dom0less domU
e.g. string property viommu = "smmuv3" to control whether to add a virtual IOMMU node or not for a given domU.
You did exactly the same for xl created domUs so you should do the same for dom0less domUs.
Otherwise the behavior will be inconsistent and we will lack per-domain control over virtual IOMMU.

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 14:35:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 14:35:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452050.709864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p178d-0003HR-Rd; Fri, 02 Dec 2022 14:35:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452050.709864; Fri, 02 Dec 2022 14:35:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p178d-0003HK-Ox; Fri, 02 Dec 2022 14:35:39 +0000
Received: by outflank-mailman (input) for mailman id 452050;
 Fri, 02 Dec 2022 14:35:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2Q3E=4A=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p178b-0003HB-VV
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 14:35:38 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0610.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94bdf5e4-724e-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 15:35:35 +0100 (CET)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAVPR08MB9083.eurprd08.prod.outlook.com (2603:10a6:102:325::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 2 Dec
 2022 14:35:29 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%9]) with mapi id 15.20.5880.010; Fri, 2 Dec 2022
 14:35:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94bdf5e4-724e-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=klrFdnOl2SHTEvfkLgS0SG8dVAO2cVJ2AIcahlHZ7lLXpbIpooXV5guWvQJjNrZ7HO2L7RPsKxLoe2hobz3ip18C/DW5tr+WuwdGmV4BcwZb93VJK6KoSdUfCE4mckXCl5eokSxP3UUuGLVC2I2ke7x0WVx7bZw+XTYRFnej7+ToMLWcl5GAtE9xw//T8vFZJq1vE8bcHKtxtt9CoJ2HG9AzM+iKL9D2hwhWwllO6KBC1QfOqLMm3NfoZw6VMWT/hBAEFi3xjLMfie/RnKMj5osqqTWjYGY8HA7aoPRFuKtn4RV72WlJDBzG/uHcEftpQIy438TGbkreOAVoXhyw5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oEitq+3J++stQzZU/YHdTz1CUgH1nDajj21rY5JwkRE=;
 b=iACV1egD1NVk0WbXRzMUaohyDkb+Q1CyuVhqzmi+6lgUwNI4gz45xBj95skJdawygFUeSqECKSCrKy2yY+mqfNCKcmbALyE4PZ/SM8beQTUTFZdbfj7zVpIfNhqN68LoPMJcy0bvCilH5RIJt8+DW6vsEB7wa5DvG8kIu6ZRu52VOA6s2fFbF4AGKkk4E7fsYjUhnhCZtQZ8NyQ6Q/AjNZa38ki83lTy1RNOLWHtPiNxVj9vk7ba7ThTWHGS6lwyV0Znuf2uwoN6cBYXB8+7sjGTI/ic7OV3pOfl+REkYdaSxKW9nlQ/M1sz2CuGX/0+At+kStKlsFnu9bYnp62Kbg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oEitq+3J++stQzZU/YHdTz1CUgH1nDajj21rY5JwkRE=;
 b=sOVYQyEhBruqmBPD3ws9h/IFkNQUyxM8pziE6yrA+Tz/+K9CeRmj7/I5MhMYkRTco5440UIT9GQOih2RxN3VyGm2iXvDWDVQR6bYkU6GSGgXFNidj88QEUxqZpl9TZx9yLuy2xm2a/twmZfhdgpA+2bA4aJVTOvfJ70fHzcrG78=
From: Henry Wang <Henry.Wang@arm.com>
To: Ian Jackson <ijackson@chiark.greenend.org.uk>
CC: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: Release checklist and qemu-xen-traditional
Thread-Topic: Release checklist and qemu-xen-traditional
Thread-Index: AQHZBlcaFgKY4sxRgkKeuZOIzkVZhq5apnOQ
Date: Fri, 2 Dec 2022 14:35:28 +0000
Message-ID:
 <AS8PR08MB7991236FE66DA48390C8E88E92179@AS8PR08MB7991.eurprd08.prod.outlook.com>
References:
 <AS8PR08MB79918A8115770DCF01863D7292159@AS8PR08MB7991.eurprd08.prod.outlook.com>
	<25479.27844.230855.996791@chiark.greenend.org.uk>
	<AS8PR08MB79917D648261C9ADB5F8EB8A92159@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <25482.1554.910128.804488@chiark.greenend.org.uk>
In-Reply-To: <25482.1554.910128.804488@chiark.greenend.org.uk>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 173C04E21159EE44955C4238571807CD.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|PAVPR08MB9083:EE_
x-ms-office365-filtering-correlation-id: a003d1a3-9bf5-4f71-8f81-08dad4727506
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 1UR6n1ZOgfWxkYzX215QK3/LQ5yEb8nDkW6gbCWDMWNOAwW4Lykn41bPJfYQ7FS+0y80+TF00NSacWhVYtNfmdM266sAm81I2Fqku0TMf5HyPB2r1xvu7Mfabq8uqgUgBwYErPK4BLls+eR1yR58KMe2xhMnpaK6lQckZj91T2GvkMgdjXx3m8P/QRwBHaupSjTBenpALcT61que0aDWgkoTGMbHOFxOYUYh2GjB6xjSQOOy7HE5hf05oBBgibiqCeaGjR4vV2kuh6selPTKK+oTuB2kt2gUJUMnDbrIKMBUHi6WNNjfcCoBIYYZ2ebtKmWkZeD7DnBso9F5TeEn3+fP90qUkXkeU4vnJXp9PTZWqi4tWZdtf4x/YPz59J9GkKwzUZ2DdWDdmojnZJ/2LgbqocCpbYhuo5wtYHufSu6WUZzE91R0ui7cjzkW4iE16U3TwUxoQLu/I2CFfCoMmYVDsPyfX4TpeFRmGXjVrTEbvBuEsa/e3Blglp0uJJWecfU2gNRhaTKhc3V58Ywd7uVNo6KNHF5qnTMNwUTGTck9a+Bf2Xkzsm9bc41kGjdCqMoi8EOpQFXBo/ltpBMsYqU6BB7U3pjuYCeiu6xnHtaTyUkWnZQnNPEVvJU4QFyKSDgZbJvPHjsjZPqzRvFB9bIzgpfp2ZJnBZftLT2QHXdDB2Hw9SN+PUIk73kQmSP28/nEMz2ZNvooGmRRAbK2vyQNWRApu9XTRYiO+hLokPggM7vITDp2py82gbpleFGGKMHNZRaddYInq3l2Z7fyAA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(39860400002)(366004)(376002)(396003)(451199015)(55016003)(86362001)(66946007)(76116006)(41300700001)(8936002)(33656002)(71200400001)(66556008)(5660300002)(54906003)(8676002)(66446008)(478600001)(66476007)(4326008)(966005)(316002)(64756008)(9686003)(6506007)(7696005)(122000001)(38100700002)(52536014)(6916009)(38070700005)(186003)(83380400001)(2906002)(26005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?xVGbxX9SMI/Ib/OTstkwFFnOZhOdEEMaO9v+ODfMo+RyRXcf5xO2PdqsRCBj?=
 =?us-ascii?Q?fJ0M5/gdhoLixvMcJfQ8G3HaSRODBEbQiHpC+Rm1YeRxS5dSxJmpu1QH6u4z?=
 =?us-ascii?Q?WHfcOsyemk3tPBzfTNN24ClB6DivmeU0cWz/Xw9OC4GodxvMwgC4W8mppdgp?=
 =?us-ascii?Q?IbzuhTSulZ+ShV0VDaFld0JyiJ456VAR3iys3OiJmhx9TZ5VstUlGt2zWwLn?=
 =?us-ascii?Q?WjqmRUeG8k5ZHjKYT4Bku1KK030O2yzEZxtGm9IKU64fEiE6vBUCqHSJAl6k?=
 =?us-ascii?Q?QCgY1V9KhcwkPdLDutykDOwcX7O1AqXATw3QfUeCLE/u5+ELj+XxlByxzM03?=
 =?us-ascii?Q?C6rlSjwSWNn3JfRnbcD+gA7s/stbwbI/p8V9JxgqkEAjrbxpMNKs+moBg8Cm?=
 =?us-ascii?Q?uTuU78oFhAdemdXyPiQyY8JUpHBXCX6idv9F43x5T+t5EKsucEdNdfFkXwAk?=
 =?us-ascii?Q?gCuD5LCL0kY2pTva362TmQfJkyzQPcO6TceLro4Hsqn+Z2BoZ0+z6o5DKB4z?=
 =?us-ascii?Q?UcjFDt2YFhRVC1qEHjGdOyJ1R7DujlcwMD+z3+9y5+omNxKfp3ZnoKHMfLV/?=
 =?us-ascii?Q?xCzXWHZLCPtGDljQisL1TbOxEV25LQr5uOm2Z3KjgNvAZBdAnUq4ET+1GPrx?=
 =?us-ascii?Q?9QfncG/ImSZNiN7gOdKfly+teReTxvK7EQgL75Ygt773VOBMLQ72OyUK8XTA?=
 =?us-ascii?Q?LL3NelobDmLHPxpH7sviHfOLbQjZ5BvMOeI3zRhClBiRo0rqh4duaC//ralb?=
 =?us-ascii?Q?yh06ayoqQRcdoGwlfPDomp5SYcd1nf/mrvhRXYICQ+p/2nzUMmyKekDnvKeO?=
 =?us-ascii?Q?1n2MX8lPCG6+HcA/tRXqOpocYWHTMKNfNfhHuqvIb1wJG84QOX8Y+yiNlEbL?=
 =?us-ascii?Q?DWSKhWSbD7+a7gnlpORxttd1H9BZ8PF4VEnI0i8ngk9UONm1/Sn80lpgi26/?=
 =?us-ascii?Q?kPDgAGx/AeHg5k8+j8OjWnKUlpXPHEy67s59mXZ+PqwC5Pbi+Fk4pZFI/KZf?=
 =?us-ascii?Q?SPEfjIK5/6vFCUWt5Xv7R7iQrJ2LFFkytULlRuDZwJtvNaVIeI0UTuCHFfnP?=
 =?us-ascii?Q?rOA9J9xkFUBOYIx7u2lQH1h9upGLKN2FX6WmRAZZ8jKJZAZaQgR0X3Wlf8iW?=
 =?us-ascii?Q?MEha1tSVAX54zDuBW8FYrS5Cjkms3SlxsDeDY6BrtWYEG6/LoRGDOAWLidWH?=
 =?us-ascii?Q?5CeltIV8+e82K8JJfpPTWBh/64647XMqf101fogIaOe2tn6fg276l+wVhnsL?=
 =?us-ascii?Q?VGRgUvVFMGPIFR4wL/OAfrsvHQC66Y700dnFtvNv/hz0umgQ3n7ewXIOToLQ?=
 =?us-ascii?Q?cN9BN9qiwFPG5D4DOOQmECsYLoEmqTJV43KK+g5clQc/YQacA5QVBSXBXGVI?=
 =?us-ascii?Q?hBvL3IP/H7T/406cPZnHTRHKJFITtmSkyT8HWoTHkeQtSuKGk/U6nTjO9THx?=
 =?us-ascii?Q?eUPHTxuSoLHCRNIux4S7a16VRXtxPoZoGGi6DkeMXEOh1P4LHq0EraBHh8om?=
 =?us-ascii?Q?iKj9szWPCEjs+IIzqfeECfQ2qO4WRJdKCRHLxJfsUxWF9ey4bua8fErbQLwU?=
 =?us-ascii?Q?Tesjm6xaSTMqz+HUJl+bDj7JK8OvKxWRSrtwjcV0?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a003d1a3-9bf5-4f71-8f81-08dad4727506
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Dec 2022 14:35:28.0602
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: deXbqd1zPjb0u2p4ia5d9eEF79Y1CWF1iJx63eX+pU8GfdUGkIjJpsMi7i3grSAJAEGwpqK2QIyYRlSdWtzhGw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9083

Hi Ian,

> -----Original Message-----
> From: Ian Jackson <ijackson@chiark.greenend.org.uk>
> Subject: Release checklist and qemu-xen-traditional
>=20
> (Adding xen-devel to the CC list.)

Thank you for doing this, it would be great to have the answer below
logged in the mailing list.

>=20
> Hi, Henry.  Pleased to "meet" you.  To answer your questions:
>=20
> > > > (1) Why do the instructions say to branch that repo?
> > > > (2) Where can we find this repo?
> > > > (3) Is this repo used anywhere since the 4.16 release?
> > > > (4) Is this repo used elsewhere in the release process?
>=20
> This repo is this one.  I think it is still used during some builds.
> See this line in Config.mk:
>=20
>   QEMU_TRADITIONAL_URL ?=3D http://xenbits.xen.org/git-http/qemu-xen-
> traditional.git
>=20
> It is very old and we have been slowly deprecating it.  (The copy on
> my workstation was called qemu-iwj.git for historical reasons which
> aren't relevant, but that's how that got into the checklist.)
>=20
> The release checklist will also instruct the release technician to
> update the pinning in Config.mk to the tag.  For example, Config.mk in
> RELEASE-4.16.0 says this:
>=20
>   QEMU_TRADITIONAL_REVISION ?=3D xen-4.16.0
>=20
> This needs to be updated so that people who get 4.16 don't get any
> changes that are made to the "master" branch in qemu-xen-traditional.
> The same will be true for 4.17, if it qemu-xen-traditional hasn't
> been completely abolished there yet.

Great thanks for your detailed explanation! I checked yesterday's branching
commit done by Julien [1] and seeing the qemu-xen-traditional tags [2] and
qemu-xen tags [3], I think Julien did everything correctly (Thanks Julien!)=
 :)

Although I am wondering if the instruction about qemu-iwj.git here:
```
* make branch in qemu-iwj.git
        git-branch $v-testing master
```

would be duplicated with instructions here:
```
# make branches in xenbits.xen.org qemus
        ssh xen@xenbits.xen.org
	cd ~/git/qemu-xen.git
	git branch staging-$v staging
	git branch stable-$v master
	cd ~/git/qemu-xen-traditional.git
	git branch stable-$v master
```

[1] https://xenbits.xen.org/gitweb/?p=3Dxen.git;a=3Dcommit;h=3Df51079b5d87b=
39e79fe499ed818d50d856bc9c35
[2] https://xenbits.xen.org/gitweb/?p=3Dqemu-xen-traditional.git;a=3Dsummar=
y
[3] https://xenbits.xen.org/gitweb/?p=3Dqemu-xen.git;a=3Dsummary

Kind regards,
Henry

>=20
> > > These instructons relate to my local clone of qemu-xen-traditional,
> > > and will need adjustment.
> >
> > Thanks for your reply! It would be good for you to clarify what adjustm=
ents
> > we need to do. That said, I completely understand that you are quite bu=
sy
> > today, so...
>=20
> A clone of qemu-xen-traditional ought to do for this.  My tree here,
> rescued from my old Citrix workstation, has this for the "origin"
> remote:
>   xenbits.xen.org:/home/xen/git/qemu-xen-traditional.git
>=20
> I hope this is helpful.  If you want to talk through it some more,
> ping me on irc.  I'm Diziet on oftc.  I usually lurk on #xendevel
> (although I fell off at some point and only just rejoined), or you
> may send me a private message.
>=20
> Regards,
> Ian.
>=20
> --
> Ian Jackson <ijackson@chiark.greenend.org.uk>   These opinions are my own=
.
>=20
> Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
> that is a private address which bypasses my fierce spamfilter.


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 14:49:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 14:49:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452058.709876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p17M0-0005SS-1X; Fri, 02 Dec 2022 14:49:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452058.709876; Fri, 02 Dec 2022 14:49:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p17Lz-0005SL-UE; Fri, 02 Dec 2022 14:49:27 +0000
Received: by outflank-mailman (input) for mailman id 452058;
 Fri, 02 Dec 2022 14:49:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NC9X=4A=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p17Ly-0005SF-N4
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 14:49:26 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7e88::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 822a15bc-7250-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 15:49:23 +0100 (CET)
Received: from DS7PR03CA0266.namprd03.prod.outlook.com (2603:10b6:5:3b3::31)
 by DM4PR12MB6422.namprd12.prod.outlook.com (2603:10b6:8:b9::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.23; Fri, 2 Dec
 2022 14:49:20 +0000
Received: from DS1PEPF0000E64C.namprd02.prod.outlook.com
 (2603:10b6:5:3b3:cafe::f0) by DS7PR03CA0266.outlook.office365.com
 (2603:10b6:5:3b3::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Fri, 2 Dec 2022 14:49:20 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E64C.mail.protection.outlook.com (10.167.18.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Fri, 2 Dec 2022 14:49:19 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 2 Dec
 2022 08:49:18 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 2 Dec
 2022 08:49:17 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 2 Dec 2022 08:49:16 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 822a15bc-7250-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d2qjx4jsigROle6nYzX8UCqv2/ydHea0hJFz/cSdNdyuDgEpdl31rI1psAjUZ/am9VRuf3/wm3UVWtV4P9Sh/L89rTO+ER1QjcynRPSZ1tpxJgHReBjTLlgpxzzI1nH7pXp0yovPP4tvxwR5MHGCrDkuY0bvD3XcDDdj7piLrHXaCgm95V5VaU/HrHRaOrrW17MDICvw9B4gFYbye39myaqU04ArbWlO9kqjgWyjPVFapm/3MRFrDdIiNTPpjULn0RAWfVaI4+ubL5umkD+mEXBYOSDLdqVDip3TvfVCLmwx4d+oOKbW2seA9qX81h6Tb7gnkE3LO6vCimx7s13mAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G4pOKOEfP6FBR6fBVQNAbtjElKPPEKFpz84xFOABCAs=;
 b=Q9o5b4zh+LorPzNa2+/wsYOVXwe3ESpP0beHjfNsgKUkHsBk/a/5DQ6gYlaY1mHenGeOUHLIj1JEbBd3t5QlTtU4Cc7EyK8lPa4NRtRXB/efiixqURs19ZLZgCBr8dP3llf3w5WfT11ocOLGyJEo3/jTX0whroJ0mDtUzk2dZFZ20ysyqlWOD/erobt9kFrVnpFB+EoGoOrDgVLwaJYWxC2aiv0Nx/yNLayioPIEeUGqJ+rQbGumf0EFTWTwRKrPiVqxx1ZJzC4VeBjjC44dhlKLSIjQF/TYPZzrdR3+feu7A/thRfZpNHchWzqrG2pHI8xOEGdDbaIvczq4IuOBdQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G4pOKOEfP6FBR6fBVQNAbtjElKPPEKFpz84xFOABCAs=;
 b=wzuc0GdjuT3IyOhKhc9fRwhnPaHNQds6X1pF+xsTBfsYom0jn6MdTno73QVkxy6AVQBKUisNCbjjNW1LRj34KF6k1qbjr9oDRTzuHEERpLplPlQwbmLqfNBNsPdrM4ahoTyV3LoxnrS3K3gkEPGeqzMPzbuwa3heSpLWR3gJqFo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <c4abb3b5-a6a7-2af1-08d5-4f3a6695d69a@amd.com>
Date: Fri, 2 Dec 2022 15:49:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 21/21] xen/arm: vIOMMU: Modify the partial device tree
 for dom0less
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <127da5a0d4300e083b8840a4f3a0d2d63bde5b6f.1669888522.git.rahul.singh@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <127da5a0d4300e083b8840a4f3a0d2d63bde5b6f.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E64C:EE_|DM4PR12MB6422:EE_
X-MS-Office365-Filtering-Correlation-Id: 6aa66ce6-125e-422a-0500-08dad474649b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0WCpBtdz0mLfB7Daj3wm4wzzci1sJWoU892CEpavZaNo7riGZo5M7xnVHxwna7u8rDCkVfbxUFsUmDVcGapzZiaF45duXxxeNV1AcviGJT1GEhU2TodE2gzYhfkgrRDBN5RDM8mVVkDlZtaUyFsbrsEs5hfD/X49R2ySF98LtNAtrP7TrDRcTvH2Mwq8tRy+EFi2K7AT4iG9ktCBJFgHg3U358pef0TTJdXEDcw3txqMcwNOH3G6E99bOtwy1t7zC/IbGGw6QKZt94nn2EJ72lGUtc8Pj6A8N5CsTEeDa57ltSl5XuqbcZyGjiih2Gg4STC0tvPw8yJYZQJMGfK4s9n/vzInZB6ZnyWCG/SVGAZnZn43pnQpoZ33CDB73L1ZvvDKoFJTNwcRTAKbkay7Swp3mpW5yLJIXfB1eUOwnTSwSgcmMIkKxVotiA1o5Rp+t83E9MEgbGJv7dlrkxyGhvE5QzjaQdT6fLUQJm92Lc46UqPIi+0JnVH8z96/MkB8aE3HgGDOaeZwvOS/7R9kVlzAjTQgK0cZrtz8XYYOBgWksigZMwziVwAzDBJQlTkhd/0zf/dppIhoMAw/Tfl68NCObwhFo5qIVKD9ru68OT6um0FFDQSMVEeYA44KuUOZjiGCN5s0III2FUTsNQh+hs5WD9pf1696YHh3dpzGTlkRA90G1pplBLXbDKjt+nKqIlSv0aV10/T9K2ynEuwq243W/R9nsU8KMQ8GSmskF62Kd9Zh/EdL7udRUB5CGFZYaXJ+YGoxYhSh9iDv22fUNEDFh2pgUwVy98INqt9MWSA=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(346002)(39860400002)(136003)(451199015)(36840700001)(40470700004)(46966006)(70206006)(40480700001)(53546011)(82310400005)(36756003)(82740400003)(478600001)(40460700003)(70586007)(356005)(8676002)(26005)(81166007)(54906003)(336012)(316002)(4326008)(86362001)(16576012)(44832011)(110136005)(8936002)(47076005)(5660300002)(41300700001)(426003)(186003)(31696002)(2616005)(31686004)(83380400001)(2906002)(36860700001)(32563001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 14:49:19.3022
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6aa66ce6-125e-422a-0500-08dad474649b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E64C.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6422

Hi Rahul,

On 01/12/2022 17:02, Rahul Singh wrote:
> 
> 
> To configure IOMMU in guest for passthrough devices, user will need to
> copy the unmodified "iommus" property from host device tree to partial
> device tree. To enable the dom0 linux kernel to confiure the IOMMU
> correctly replace the phandle in partial device tree with virtual
> IOMMU phandle when "iommus" property is set.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>  xen/arch/arm/domain_build.c | 31 ++++++++++++++++++++++++++++++-
>  1 file changed, 30 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 7cd99a6771..afb3e76409 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -3235,7 +3235,35 @@ static int __init handle_prop_pfdt(struct kernel_info *kinfo,
>      return ( propoff != -FDT_ERR_NOTFOUND ) ? propoff : 0;
>  }
> 
> -static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
> +static void modify_pfdt_node(void *pfdt, int nodeoff)
> +{
> +    int proplen, i, rc;
> +    const fdt32_t *prop;
> +    fdt32_t *prop_c;
> +
> +    prop = fdt_getprop(pfdt, nodeoff, "iommus", &proplen);
> +    if ( !prop )
> +        return;
> +
> +    prop_c = xzalloc_bytes(proplen);
> +
> +    for ( i = 0; i < proplen / 8; ++i )
> +    {
> +        prop_c[i * 2] = cpu_to_fdt32(GUEST_PHANDLE_VSMMUV3);
> +        prop_c[i * 2 + 1] = prop[i * 2 + 1];
> +    }
> +
> +    rc = fdt_setprop(pfdt, nodeoff, "iommus", prop_c, proplen);
> +    if ( rc )
> +    {
> +        dprintk(XENLOG_ERR, "Can't set the iommus property in partial FDT");
> +        return;
> +    }
> +
> +    return;
> +}
> +
> +static int __init scan_pfdt_node(struct kernel_info *kinfo, void *pfdt,
>                                   int nodeoff,
>                                   uint32_t address_cells, uint32_t size_cells,
>                                   bool scan_passthrough_prop)
> @@ -3261,6 +3289,7 @@ static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
>      node_next = fdt_first_subnode(pfdt, nodeoff);
>      while ( node_next > 0 )
>      {
> +        modify_pfdt_node(pfdt, node_next);
You do not protect this call in any way and there is no check inside it whether viommu is enabled or not.
This means that even with viommu disabled, if a user copies the iommus property to partial dtb
(which is understandable as the flow is to copy almost everything), you will perform the phandle replacement.
I do not think we should do that (no need for an extra code).

>          scan_pfdt_node(kinfo, pfdt, node_next, address_cells, size_cells,
>                         scan_passthrough_prop);
>          node_next = fdt_next_subnode(pfdt, node_next);
> --
> 2.25.1
> 
> 

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 14:50:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 14:50:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452063.709886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p17Mo-0006mA-A1; Fri, 02 Dec 2022 14:50:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452063.709886; Fri, 02 Dec 2022 14:50:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p17Mo-0006m3-7O; Fri, 02 Dec 2022 14:50:18 +0000
Received: by outflank-mailman (input) for mailman id 452063;
 Fri, 02 Dec 2022 14:50:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ddoq=4A=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1p17Mm-0005nw-Mn
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 14:50:16 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a17b19bd-7250-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 15:50:15 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id f18so8138067wrj.5
 for <xen-devel@lists.xenproject.org>; Fri, 02 Dec 2022 06:50:15 -0800 (PST)
Received: from zen.linaroharston ([185.81.254.11])
 by smtp.gmail.com with ESMTPSA id
 k15-20020a05600c1c8f00b003c6c3fb3cf6sm9661920wms.18.2022.12.02.06.50.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 02 Dec 2022 06:50:12 -0800 (PST)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id C0BBC1FFB7;
 Fri,  2 Dec 2022 14:50:10 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a17b19bd-7250-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rtOsOMHxl2uAhuuvJS1mpbtcZpv73B0kQPPuLimxlXE=;
        b=HFh0oL+wct9ZGd5uyOW/xzeOw8AHts1wEXWjryuZguo2anf3jBDF4E06449sun8ACX
         gkUWNn4onCC+1wCcECY7vq3X1VC9WpED+dit/Yd1uHG1jKuFPGYS5bpNjGcjmp4JJMBo
         O2DndXBeiMgVBk516BF3BJKkXAxhcqiljBdfQ3olWjc5fqtSZjxkui9hKsWJu4B4riJx
         nY7mdewgpW+PkADcAmE5pUsR4LEnLp2bTq7FqPZOcSC7l1cNQ2kHnzSwKiPOCbPpLMiB
         JYQ87OB6i7WQhejqQR771jmmdChGIwEvDN29hY69xFMNxWCNPk/cZ3CYmpSuHwc8TIOX
         BOlg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=rtOsOMHxl2uAhuuvJS1mpbtcZpv73B0kQPPuLimxlXE=;
        b=BKMniDyn9Z1wYxqsXxvxezIyC72iLJo3owPCJpS27xwVRH2BFkXylg95RdLtnRtjMg
         cApt3Nf9cIoZmGbAwDmQtI81uXkX50U8hFc9pX2IQCOS4ST3a4wEgHeOBPzOVaHnZYWT
         sd7wJgctJQRxN0qnu+cwrE1xgeiOwH48G1tPRPX6PQXEQSBsJ6Uz4QRHcjrqz5jfp4bR
         TuvSuVQGi1Q2gBlUjM6zeY2neRGstK+iT38bbENN2TcrBTuEFsPF536lIfur+k/IlWXW
         zPyHArrLmoK9h8u6kkrpNT9OHaILce1O5oXLb7L78Uj0dkuG5nFM1Dx9GesBc52vSrs3
         zGFw==
X-Gm-Message-State: ANoB5pnGKqYWHHBQzdMIZ+85+8U+yHGf3XtehN8JBlYCP7+xn3iAN7RV
	9w0V6YgBRazfCZHbmOA1I0CF6A==
X-Google-Smtp-Source: AA0mqf5FC5bEswqJYp+0/k8oVuqz5wzMi8Iqe9GPKDNivNIwwaLiMTy1ip6TQaQjaJdJCCJrdZP7lw==
X-Received: by 2002:a05:6000:8f:b0:22e:35e3:4427 with SMTP id m15-20020a056000008f00b0022e35e34427mr42744144wrx.44.1669992614656;
        Fri, 02 Dec 2022 06:50:14 -0800 (PST)
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
 <20221202030003.11441-11-vikram.garhwal@amd.com>
User-agent: mu4e 1.9.3; emacs 29.0.60
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: qemu-dev@xilinx.com, stefano.stabellini@amd.com,
 xen-devel@lists.xenproject.org, Peter Maydell <peter.maydell@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
 <anthony.perard@citrix.com>, Paul  Durrant <paul@xen.org>, "open list:ARM
 TCG CPUs" <qemu-arm@nongnu.org>, "open list:All patches CC here"
 <qemu-devel@nongnu.org>
Subject: Re: [QEMU][PATCH v2 10/11] hw/arm: introduce xenpv machine
Date: Fri, 02 Dec 2022 14:45:58 +0000
In-reply-to: <20221202030003.11441-11-vikram.garhwal@amd.com>
Message-ID: <875yetc125.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Vikram Garhwal <vikram.garhwal@amd.com> writes:

> Add a new machine xenpv which creates a IOREQ server to register/connect =
with
> Xen Hypervisor.
>
> Optional: When CONFIG_TPM is enabled, it also creates a tpm-tis-device, a=
dds a
> TPM emulator and connects to swtpm running on host machine via chardev so=
cket
> and support TPM functionalities for a guest domain.
>
> Extra command line for aarch64 xenpv QEMU to connect to swtpm:
>     -chardev socket,id=3Dchrtpm,path=3D/tmp/myvtpm2/swtpm-sock \
>     -tpmdev emulator,id=3Dtpm0,chardev=3Dchrtpm \
>
> swtpm implements a TPM software emulator(TPM 1.2 & TPM 2) built on libtpm=
s and
> provides access to TPM functionality over socket, chardev and CUSE interf=
ace.
> Github repo: https://github.com/stefanberger/swtpm
> Example for starting swtpm on host machine:
>     mkdir /tmp/vtpm2
>     swtpm socket --tpmstate dir=3D/tmp/vtpm2 \
>     --ctrl type=3Dunixio,path=3D/tmp/vtpm2/swtpm-sock &
>
> /* Comment about machine name. Will be removed in next version*/
> Please reply with the machine name you agree. Below are two possible name=
s:
> 1. xenpv
> 2. xenpvh
>
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
>  hw/arm/meson.build            |   2 +
>  hw/arm/xen_arm.c              | 175 ++++++++++++++++++++++++++++++++++
>  include/hw/arm/xen_arch_hvm.h |   9 ++
>  include/hw/xen/arch_hvm.h     |   2 +
>  4 files changed, 188 insertions(+)
>  create mode 100644 hw/arm/xen_arm.c
>  create mode 100644 include/hw/arm/xen_arch_hvm.h
>
> diff --git a/hw/arm/meson.build b/hw/arm/meson.build
> index 92f9f6e000..0cae024374 100644
> --- a/hw/arm/meson.build
> +++ b/hw/arm/meson.build
> @@ -62,5 +62,7 @@ arm_ss.add(when: 'CONFIG_FSL_IMX7', if_true: files('fsl=
-imx7.c', 'mcimx7d-sabre.
>  arm_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmu-common.c', 's=
mmuv3.c'))
>  arm_ss.add(when: 'CONFIG_FSL_IMX6UL', if_true: files('fsl-imx6ul.c', 'mc=
imx6ul-evk.c'))
>  arm_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_soc.c'))
> +arm_ss.add(when: 'CONFIG_XEN', if_true: files('xen_arm.c'))
> +arm_ss.add_all(xen_ss)
>=20=20
>  hw_arch +=3D {'arm': arm_ss}
> diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
> new file mode 100644
> index 0000000000..bcb8e95f2c
> --- /dev/null
> +++ b/hw/arm/xen_arm.c
> @@ -0,0 +1,175 @@
> +/*
> + * QEMU ARM Xen PV Machine
> + *
> + *
> + * Permission is hereby granted, free of charge, to any person obtaining=
 a copy
> + * of this software and associated documentation files (the "Software"),=
 to deal
> + * in the Software without restriction, including without limitation the=
 rights
> + * to use, copy, modify, merge, publish, distribute, sublicense, and/or =
sell
> + * copies of the Software, and to permit persons to whom the Software is
> + * furnished to do so, subject to the following conditions:
> + *
> + * The above copyright notice and this permission notice shall be includ=
ed in
> + * all copies or substantial portions of the Software.
> + *
> + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRE=
SS OR
> + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILI=
TY,
> + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHA=
LL
> + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR =
OTHER
> + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISI=
NG FROM,
> + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALING=
S IN
> + * THE SOFTWARE.
> + */
> +
> +#include "qemu/osdep.h"
> +#include "qemu/error-report.h"
> +#include "qapi/qapi-commands-migration.h"
> +#include "hw/boards.h"
> +#include "hw/sysbus.h"
> +#include "sysemu/block-backend.h"
> +#include "sysemu/tpm_backend.h"
> +#include "sysemu/sysemu.h"
> +#include "hw/xen/xen-legacy-backend.h"
> +#include "hw/xen/xen-hvm-common.h"
> +#include "sysemu/tpm.h"
> +#include "hw/xen/arch_hvm.h"
> +
> +#define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpv")
> +OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
> +
> +static MemoryListener xen_memory_listener =3D {
> +    .region_add =3D xen_region_add,
> +    .region_del =3D xen_region_del,
> +    .log_start =3D NULL,
> +    .log_stop =3D NULL,
> +    .log_sync =3D NULL,
> +    .log_global_start =3D NULL,
> +    .log_global_stop =3D NULL,
> +    .priority =3D 10,
> +};
> +
> +struct XenArmState {
> +    /*< private >*/
> +    MachineState parent;
> +
> +    XenIOState *state;
> +};
> +
> +void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
> +{
> +    hw_error("Invalid ioreq type 0x%x\n", req->type);
> +
> +    return;
> +}
> +
> +void arch_xen_set_memory(XenIOState *state, MemoryRegionSection *section,
> +                         bool add)
> +{
> +}
> +
> +void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
> +{
> +}
> +
> +void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
> +{
> +}
> +

This function is only used under CONFIG_TPM so without it you get:

  ../../hw/arm/xen_arm.c:78:12: error: =E2=80=98xen_init_ioreq=E2=80=99 def=
ined but not used [-Werror=3Dunused-function]
     78 | static int xen_init_ioreq(XenIOState *state, unsigned int max_cpu=
s)
        |            ^~~~~~~~~~~~~~
  cc1: all warnings being treated as errors

I think I reported this on v1 as well.

> +static int xen_init_ioreq(XenIOState *state, unsigned int max_cpus)
> +{
> +    xen_dmod =3D xendevicemodel_open(0, 0);
> +    if (xen_dmod =3D=3D NULL) {
> +        perror("xen: can't open xen device model interface\n");
> +        return -1;
> +    }
> +
> +    xen_xc =3D xc_interface_open(0, 0, 0);
> +    if (xen_xc =3D=3D NULL) {
> +        perror("xen: can't open xen interface\n");
> +        return -1;
> +    }
> +
> +    xen_fmem =3D xenforeignmemory_open(0, 0);
> +    if (xen_fmem =3D=3D NULL) {
> +        perror("xen: can't open xen fmem interface\n");
> +        xc_interface_close(xen_xc);
> +        return -1;
> +    }
> +
> +    xen_register_ioreq(state, max_cpus, xen_memory_listener);
> +
> +    xen_register_backend(state);
> +
> +    xenstore_record_dm_state(state->xenstore, "running");
> +
> +    return 0;
> +}
> +
> +static void xen_enable_tpm(void)
> +{
> +/* qemu_find_tpm_be is only available when CONFIG_TPM is enabled. */
> +#ifdef CONFIG_TPM
> +    Error *errp =3D NULL;
> +    DeviceState *dev;
> +    SysBusDevice *busdev;
> +
> +    TPMBackend *be =3D qemu_find_tpm_be("tpm0");
> +    if (be =3D=3D NULL) {
> +        DPRINTF("Couldn't fine the backend for tpm0\n");
> +        return;
> +    }
> +    dev =3D qdev_new(TYPE_TPM_TIS_SYSBUS);
> +    object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp);
> +    object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp);
> +    busdev =3D SYS_BUS_DEVICE(dev);
> +    sysbus_realize_and_unref(busdev, &error_fatal);
> +    sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE);
> +
> +    DPRINTF("Connected tpmdev at address 0x%lx\n", GUEST_TPM_BASE);
> +#endif
> +}
> +
> +static void xen_arm_init(MachineState *machine)
> +{
> +    XenArmState *xam =3D XEN_ARM(machine);
> +
> +    xam->state =3D  g_new0(XenIOState, 1);
> +
> +    /* For now enable IOREQ only for CONFIG_TPM. */
> +#ifdef CONFIG_TPM
> +    if (xen_init_ioreq(xam->state, machine->smp.cpus)) {
> +        return;
> +    }
> +#endif
> +
> +    xen_enable_tpm();

In fact this just looks weird - you guard the call to init_ioreq with
ifdefs guarding it but nest those ifdefs in xen_enable_tpm. Surely you
want the IOREQ server support even if you don't have TPM. Otherwise it
should be a hard configure requirement.

> +
> +    return;
> +}
> +
> +static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
> +{
> +
> +    MachineClass *mc =3D MACHINE_CLASS(oc);
> +    mc->desc =3D "Xen Para-virtualized PC";
> +    mc->init =3D xen_arm_init;
> +    mc->max_cpus =3D 1;
> +
> +#ifdef CONFIG_TPM
> +    machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS);
> +#endif
> +}
> +
> +static const TypeInfo xen_arm_machine_type =3D {
> +    .name =3D TYPE_XEN_ARM,
> +    .parent =3D TYPE_MACHINE,
> +    .class_init =3D xen_arm_machine_class_init,
> +    .instance_size =3D sizeof(XenArmState),
> +};
> +
> +static void xen_arm_machine_register_types(void)
> +{
> +    type_register_static(&xen_arm_machine_type);
> +}
> +
> +type_init(xen_arm_machine_register_types)
> diff --git a/include/hw/arm/xen_arch_hvm.h b/include/hw/arm/xen_arch_hvm.h
> new file mode 100644
> index 0000000000..8fd645e723
> --- /dev/null
> +++ b/include/hw/arm/xen_arch_hvm.h
> @@ -0,0 +1,9 @@
> +#ifndef HW_XEN_ARCH_ARM_HVM_H
> +#define HW_XEN_ARCH_ARM_HVM_H
> +
> +#include <xen/hvm/ioreq.h>
> +void arch_handle_ioreq(XenIOState *state, ioreq_t *req);
> +void arch_xen_set_memory(XenIOState *state,
> +                         MemoryRegionSection *section,
> +                         bool add);
> +#endif
> diff --git a/include/hw/xen/arch_hvm.h b/include/hw/xen/arch_hvm.h
> index 26674648d8..c7c515220d 100644
> --- a/include/hw/xen/arch_hvm.h
> +++ b/include/hw/xen/arch_hvm.h
> @@ -1,3 +1,5 @@
>  #if defined(TARGET_I386) || defined(TARGET_X86_64)
>  #include "hw/i386/xen_arch_hvm.h"
> +#elif defined(TARGET_ARM) || defined(TARGET_ARM_64)
> +#include "hw/arm/xen_arch_hvm.h"
>  #endif


--=20
Alex Benn=C3=A9e


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 14:52:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 14:52:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452072.709897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p17Oz-00088j-Q6; Fri, 02 Dec 2022 14:52:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452072.709897; Fri, 02 Dec 2022 14:52:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p17Oz-00088c-NR; Fri, 02 Dec 2022 14:52:33 +0000
Received: by outflank-mailman (input) for mailman id 452072;
 Fri, 02 Dec 2022 14:52:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qmEy=4A=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1p17Oy-00088T-HT
 for xen-devel@lists.xen.org; Fri, 02 Dec 2022 14:52:32 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f11d8297-7250-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 15:52:30 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id a9so4828058pld.7
 for <xen-devel@lists.xen.org>; Fri, 02 Dec 2022 06:52:29 -0800 (PST)
Received: from [10.17.77.118] (ll-22.209.223.85.sovam.net.ua. [85.223.209.22])
 by smtp.gmail.com with ESMTPSA id
 6-20020a170902c20600b00186ff402508sm5637358pll.281.2022.12.02.06.52.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 02 Dec 2022 06:52:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f11d8297-7250-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zvDlJNE4khpzbeXd8Arwppb2lZFIkmPmPHR73vMtdFo=;
        b=Sa+3vuLXdp7DeRRo885L/Ea1sk3sO+HHHWGhsKhUzm3ufZlxBM8+CQnWN6K/5ivPwX
         +wc+udIQgxmEhZcX1nPQwkXvCsidnJSfXQJ7l5SBD7DYf/S2ywZs4C/Sm8Ppk7UsrBxb
         SglBo7hnsN8XenMzZ0rqK3bGVpnY/BS2WNDh47rM8T5vXXahj2uQYOhyqLixMb18ZRxX
         GoW4IGfzc8lwoU/W4GXYC4MM6nrFtcOoPlgp/08ZBYhE82e/xFwKJ0tntZ4BaaDsF1gS
         V7+BFknMXp2Zs7ceYoaPncjTuNNss/p4DrK5OEQ7751wtJvm69Ig5NdGxFsDEwJFqehf
         PUCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=zvDlJNE4khpzbeXd8Arwppb2lZFIkmPmPHR73vMtdFo=;
        b=wb5kVQ03nw98QbC9XgGGb/pwTl8iko5AnKn0UOYNcdGm/kHGIljQ3IkGMntp01WZ2w
         HI4Ocvqa8FH4sMoCtqaQ38fb7e7iUqe7KmlCA814aviErZEntF3o0527Dk4PfUvg39Ko
         kk86x4BHYIWwls6WEpU6P+ltyeqfg2OxJZEja12HhrVka886rEmBnBeaSmrrQ2hWgrLp
         4qFSDITvmOvGu8KbFVWqrIDAKYrlPILne+BYPWbaXOniihzs6UvRXeDkRZ5re4MAlBVO
         EGCQgfYVSm1cefiKksQ8/VGFzuVpqDb8Yu/uOlhYeFAS73XWtNNZFMdy44oRqgg1UfRp
         okXg==
X-Gm-Message-State: ANoB5plVEMYWM4Rx/5H1JBUnsOANIsXhvXp3acmzzgAEuSsslvfQc2IL
	S35KkfQlMf2fZIJTRO8DavE=
X-Google-Smtp-Source: AA0mqf4R7N/lveRackXaWApG3/rZ6HIWQSsHzqmtGVRykTd+FvTg81RYZdj2HhouJSW8+EoFEM8JyA==
X-Received: by 2002:a17:90a:6582:b0:219:2638:42d0 with SMTP id k2-20020a17090a658200b00219263842d0mr2848403pjj.186.1669992747787;
        Fri, 02 Dec 2022 06:52:27 -0800 (PST)
Message-ID: <6a546552-d71d-a262-5981-8058dc37ae26@gmail.com>
Date: Fri, 2 Dec 2022 16:52:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [PATCH V6 1/3] libxl: Add support for generic virtio device
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xen.org, Julien Grall
 <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <f1dc91669df27705c25a1f3018427c2db77b32a6.1667906228.git.viresh.kumar@linaro.org>
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <f1dc91669df27705c25a1f3018427c2db77b32a6.1667906228.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 08.11.22 13:23, Viresh Kumar wrote:


Hello Viresh

[sorry for the possible format issues if any]


> This patch adds basic support for configuring and assisting generic
> Virtio backend which could run in any domain.
> 
> An example of domain configuration for mmio based Virtio I2C device is:
> virtio = ["type=virtio,device22,transport=mmio"]
> 
> Also to make this work on Arm, allocate Virtio MMIO params (IRQ and
> memory region) and pass them to the backend. Update guest device-tree as
> well to create a DT node for the Virtio devices.


Some NITs regarding the commit description:
1. Besides making generic things current patch also adds i2c/gpio device 
nodes, I would mention that in the description.
2. I assume current patch is not enough to make this work on Arm, at 
least the subsequent patch is needed, I would mention that as well.
3. I understand where "virtio,device22"/"virtio,device29" came from, but 
I think that links to the corresponding device-tree bindings should be 
mentioned here (and/or maybe in the code).



> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>   tools/libs/light/Makefile                 |   1 +
>   tools/libs/light/libxl_arm.c              |  89 +++++++++++++++
>   tools/libs/light/libxl_create.c           |   5 +
>   tools/libs/light/libxl_internal.h         |   1 +
>   tools/libs/light/libxl_types.idl          |  29 +++++
>   tools/libs/light/libxl_types_internal.idl |   1 +
>   tools/libs/light/libxl_virtio.c           | 127 ++++++++++++++++++++++
>   7 files changed, 253 insertions(+)
>   create mode 100644 tools/libs/light/libxl_virtio.c
> 
> diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
> index 374be1cfab25..4fddcc6f51d7 100644
> --- a/tools/libs/light/Makefile
> +++ b/tools/libs/light/Makefile
> @@ -106,6 +106,7 @@ OBJS-y += libxl_vdispl.o
>   OBJS-y += libxl_pvcalls.o
>   OBJS-y += libxl_vsnd.o
>   OBJS-y += libxl_vkb.o
> +OBJS-y += libxl_virtio.o
>   OBJS-y += libxl_genid.o
>   OBJS-y += _libxl_types.o
>   OBJS-y += libxl_flask.o
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index b4928dbf673c..f33c9b273a4f 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -113,6 +113,19 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>           }
>       }
>   
> +    for (i = 0; i < d_config->num_virtios; i++) {
> +        libxl_device_virtio *virtio = &d_config->virtios[i];
> +
> +        if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
> +            continue;
> +
> +        rc = alloc_virtio_mmio_params(gc, &virtio->base, &virtio->irq,
> +                                      &virtio_mmio_base, &virtio_mmio_irq);
> +
> +        if (rc)
> +            return rc;
> +    }
> +
>       /*
>        * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
>        * present, make sure that we allocate enough SPIs for them.
> @@ -968,6 +981,68 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *fdt, uint64_t base,
>       return fdt_end_node(fdt);
>   }
>   
> +static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt)
> +{
> +    int res;
> +
> +    res = fdt_begin_node(fdt, "i2c");
> +    if (res) return res;
> +
> +    res = fdt_property_compat(gc, fdt, 1, "virtio,device22");
> +    if (res) return res;
> +
> +    return fdt_end_node(fdt);
> +}
> +
> +static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt)
> +{
> +    int res;
> +
> +    res = fdt_begin_node(fdt, "gpio");
> +    if (res) return res;
> +
> +    res = fdt_property_compat(gc, fdt, 1, "virtio,device29");
> +    if (res) return res;
> +
> +    res = fdt_property(fdt, "gpio-controller", NULL, 0);
> +    if (res) return res;
> +
> +    res = fdt_property_cell(fdt, "#gpio-cells", 2);
> +    if (res) return res;
> +
> +    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
> +    if (res) return res;
> +
> +    res = fdt_property_cell(fdt, "#interrupt-cells", 2);
> +    if (res) return res;
> +
> +    return fdt_end_node(fdt);
> +}
> +
> +static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt, uint64_t base,
> +                                        uint32_t irq, const char *type,
> +                                        uint32_t backend_domid)
> +{
> +    int res, len = strlen(type);
> +
> +    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
> +    if (res) return res;
> +
> +    /* Add device specific nodes */
> +    if (!strncmp(type, "virtio,device22", len)) {
> +        res = make_virtio_mmio_node_i2c(gc, fdt);
> +        if (res) return res;
> +    } else if (!strncmp(type, "virtio,device29", len)) {
> +        res = make_virtio_mmio_node_gpio(gc, fdt);
> +        if (res) return res;
> +    } else {
> +        LOG(ERROR, "Invalid type for virtio device: %s", type);
> +        return -EINVAL;
> +    }

I am not sure whether it is the best place to ask, but I will try 
anyway. So I assume that with the whole series applied it would be 
possible to configure only two specific device types ("22" and "29").
But what to do if user, for example, is interested in usual virtio 
device (which doesn't require specific device-tree sub node with 
specific compatible in it). For these usual virtio devices just calling 
make_virtio_mmio_node_common() would be enough.


Maybe we should introduce something like type "common" which would mean 
we don't need any additional device-tree sub nodes?

virtio = ["type=common,transport=mmio"]


> +
> +    return fdt_end_node(fdt);
> +}
> +
>   static const struct arch_info *get_arch_info(libxl__gc *gc,
>                                                const struct xc_dom_image *dom)
>   {
> @@ -1290,6 +1365,20 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
>               }
>           }
>   
> +        for (i = 0; i < d_config->num_virtios; i++) {
> +            libxl_device_virtio *virtio = &d_config->virtios[i];
> +
> +            if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
> +                continue;
> +
> +            if (virtio->backend_domid != LIBXL_TOOLSTACK_DOMID)
> +                iommu_needed = true;
> +
> +            FDT( make_virtio_mmio_node_device(gc, fdt, virtio->base,
> +                                              virtio->irq, virtio->type,
> +                                              virtio->backend_domid) );
> +        }
> +
>           /*
>            * Note, this should be only called after creating all virtio-mmio
>            * device nodes
> diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
> index 612eacfc7fac..15a32c75c045 100644
> --- a/tools/libs/light/libxl_create.c
> +++ b/tools/libs/light/libxl_create.c
> @@ -1802,6 +1802,11 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
>                                 &d_config->vkbs[i]);
>           }
>   
> +        for (i = 0; i < d_config->num_virtios; i++) {
> +            libxl__device_add(gc, domid, &libxl__virtio_devtype,
> +                              &d_config->virtios[i]);
> +        }


I am wondering whether this is the best place to put this call. This 
gets called for LIBXL_DOMAIN_TYPE_PV and LIBXL_DOMAIN_TYPE_PVH (our Arm 
case), and not for LIBXL_DOMAIN_TYPE_HVM. Is it what we want?


> +
>           if (d_config->b_info.arch_arm.vuart == LIBXL_VUART_TYPE_SBSA_UART) {
>               init_console_info(gc, &vuart, 0);
>               vuart.backend_domid = state->console_domid;
> diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
> index cb9e8b3b8b5a..e5716f9bef80 100644
> --- a/tools/libs/light/libxl_internal.h
> +++ b/tools/libs/light/libxl_internal.h
> @@ -4003,6 +4003,7 @@ static inline int *libxl__device_type_get_num(
>   
>   extern const libxl__device_type libxl__vfb_devtype;
>   extern const libxl__device_type libxl__vkb_devtype;
> +extern const libxl__device_type libxl__virtio_devtype;
>   extern const libxl__device_type libxl__disk_devtype;
>   extern const libxl__device_type libxl__nic_devtype;
>   extern const libxl__device_type libxl__vtpm_devtype;
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index d634f304cda2..d97a0795d312 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -278,6 +278,14 @@ libxl_vkb_backend = Enumeration("vkb_backend", [
>       (2, "LINUX")
>       ])
>   
> +libxl_virtio_backend = Enumeration("virtio_backend", [

I would add (0, "UNKNOWN") here ...

> +    (1, "STANDALONE")
> +    ])
> +
> +libxl_virtio_transport = Enumeration("virtio_transport", [

    ... and here (these might be needed by parsing code)

> +    (1, "MMIO"),
> +    ])
> +
>   libxl_passthrough = Enumeration("passthrough", [
>       (0, "default"),
>       (1, "disabled"),
> @@ -705,6 +713,17 @@ libxl_device_vkb = Struct("device_vkb", [
>       ("multi_touch_num_contacts", uint32)
>       ])
>   
> +libxl_device_virtio = Struct("device_virtio", [
> +    ("backend_domid", libxl_domid),
> +    ("backend_domname", string),
> +    ("backend", libxl_virtio_backend),
> +    ("type", string),
> +    ("transport", libxl_virtio_transport),
> +    ("devid", libxl_devid),
> +    ("irq", uint32),
> +    ("base", uint64)
> +    ])
> +
>   libxl_device_disk = Struct("device_disk", [
>       ("backend_domid", libxl_domid),
>       ("backend_domname", string),
> @@ -982,6 +1001,7 @@ libxl_domain_config = Struct("domain_config", [
>       ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
>       ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
>       ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
> +    ("virtios", Array(libxl_device_virtio, "num_virtios")),
>       ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
>       ("p9s", Array(libxl_device_p9, "num_p9s")),
>       ("pvcallsifs", Array(libxl_device_pvcallsif, "num_pvcallsifs")),
> @@ -1145,6 +1165,15 @@ libxl_vkbinfo = Struct("vkbinfo", [
>       ("rref", integer)
>       ], dir=DIR_OUT)
>   
> +libxl_virtioinfo = Struct("virtioinfo", [
> +    ("backend", string),
> +    ("backend_id", uint32),
> +    ("frontend", string),
> +    ("frontend_id", uint32),
> +    ("devid", libxl_devid),
> +    ("state", integer),
> +    ], dir=DIR_OUT)

I failed to find where libxl_virtioinfo is used within the series. Why 
do we need it?


> +
>   # NUMA node characteristics: size and free are how much memory it has, and how
>   # much of it is free, respectively. dists is an array of distances from this
>   # node to each other node.
> diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
> index fb0f4f23d7c2..e24288f1a59e 100644
> --- a/tools/libs/light/libxl_types_internal.idl
> +++ b/tools/libs/light/libxl_types_internal.idl
> @@ -33,6 +33,7 @@ libxl__device_kind = Enumeration("device_kind", [
>       (15, "VSND"),
>       (16, "VINPUT"),
>       (17, "VIRTIO_DISK"),
> +    (18, "VIRTIO"),
>       ])
>   
>   libxl__console_backend = Enumeration("console_backend", [
> diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virtio.c
> new file mode 100644
> index 000000000000..14b0c016a0a2
> --- /dev/null
> +++ b/tools/libs/light/libxl_virtio.c
> @@ -0,0 +1,127 @@
> +/*
> + * Copyright (C) 2022 Linaro Ltd.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU Lesser General Public License as published
> + * by the Free Software Foundation; version 2.1 only. with the special
> + * exception on linking described in file LICENSE.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU Lesser General Public License for more details.
> + */
> +
> +#include "libxl_internal.h"
> +
> +static int libxl__device_virtio_setdefault(libxl__gc *gc, uint32_t domid,
> +                                           libxl_device_virtio *virtio,
> +                                           bool hotplug)
> +{
> +    return libxl__resolve_domid(gc, virtio->backend_domname,
> +                                &virtio->backend_domid);
> +}
> +
> +static int libxl__device_from_virtio(libxl__gc *gc, uint32_t domid,
> +                                     libxl_device_virtio *virtio,
> +                                     libxl__device *device)
> +{
> +    device->backend_devid   = virtio->devid;
> +    device->backend_domid   = virtio->backend_domid;
> +    device->devid           = virtio->devid;
> +    device->domid           = domid;
> +
> +    device->backend_kind    = LIBXL__DEVICE_KIND_VIRTIO;
> +    device->kind            = LIBXL__DEVICE_KIND_VIRTIO;
> +
> +    return 0;
> +}
> +
> +static int libxl__set_xenstore_virtio(libxl__gc *gc, uint32_t domid,
> +                                      libxl_device_virtio *virtio,
> +                                      flexarray_t *back, flexarray_t *front,
> +                                      flexarray_t *ro_front)
> +{
> +    const char *transport = libxl_virtio_transport_to_string(virtio->transport);
> +
> +    flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->irq));
> +    flexarray_append_pair(back, "base", GCSPRINTF("%lu", virtio->base));
> +    flexarray_append_pair(back, "type", GCSPRINTF("%s", virtio->type));
> +    flexarray_append_pair(back, "transport", GCSPRINTF("%s", transport));
> +
> +    flexarray_append_pair(front, "irq", GCSPRINTF("%u", virtio->irq));
> +    flexarray_append_pair(front, "base", GCSPRINTF("%lu", virtio->base));
> +    flexarray_append_pair(front, "type", GCSPRINTF("%s", virtio->type));
> +    flexarray_append_pair(front, "transport", GCSPRINTF("%s", transport));
> +
> +    return 0;
> +}
> +
> +static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
> +                                       libxl_devid devid,
> +                                       libxl_device_virtio *virtio)
> +{
> +    const char *be_path, *fe_path, *tmp;
> +    libxl__device dev;
> +    int rc;
> +
> +    virtio->devid = devid;
> +
> +    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
> +                                  GCSPRINTF("%s/backend", libxl_path),
> +                                  &be_path);
> +    if (rc) goto out;
> +
> +    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
> +                                  GCSPRINTF("%s/frontend", libxl_path),
> +                                  &fe_path);
> +    if (rc) goto out;

fe_path is not used anywhere down the code even within the series, why 
do we need it? Or we just read it to make sure that corresponding entry 
is present in Xenstore (some kind of sanity check)?


> +
> +    rc = libxl__backendpath_parse_domid(gc, be_path, &virtio->backend_domid);
> +    if (rc) goto out;
> +
> +    rc = libxl__parse_backend_path(gc, be_path, &dev);
> +    if (rc) goto out;

The same question for dev variable.



> +
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +				GCSPRINTF("%s/irq", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        virtio->irq = strtoul(tmp, NULL, 0);
> +    }
> +
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +				GCSPRINTF("%s/base", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        virtio->base = strtoul(tmp, NULL, 0);
> +    }
> +
> +    rc = 0;


It feels to me, that we also need to read "type" and "transport" from 
the Xenstore (and probably check them for the valid values).


> +
> +out:
> +
> +    return rc;
> +}
> +
> +static LIBXL_DEFINE_UPDATE_DEVID(virtio)
> +
> +#define libxl__add_virtios NULL
> +#define libxl_device_virtio_compare NULL
> +
> +DEFINE_DEVICE_TYPE_STRUCT(virtio, VIRTIO, virtios,
> +    .set_xenstore_config = (device_set_xenstore_config_fn_t)
> +                           libxl__set_xenstore_virtio,
> +    .from_xenstore = (device_from_xenstore_fn_t)libxl__virtio_from_xenstore,
> +    .skip_attach = 1
> +);
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 14:58:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 14:58:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452081.709908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p17UM-0000MN-Dx; Fri, 02 Dec 2022 14:58:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452081.709908; Fri, 02 Dec 2022 14:58:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p17UM-0000MG-AS; Fri, 02 Dec 2022 14:58:06 +0000
Received: by outflank-mailman (input) for mailman id 452081;
 Fri, 02 Dec 2022 14:58:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ddoq=4A=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1p17UK-0000MA-Ik
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 14:58:04 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b8793410-7251-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 15:58:03 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 125-20020a1c0283000000b003d076ee89d6so3978614wmc.0
 for <xen-devel@lists.xenproject.org>; Fri, 02 Dec 2022 06:58:03 -0800 (PST)
Received: from zen.linaroharston ([185.81.254.11])
 by smtp.gmail.com with ESMTPSA id
 he10-20020a05600c540a00b003b4a699ce8esm11985654wmb.6.2022.12.02.06.58.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 02 Dec 2022 06:58:01 -0800 (PST)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id E05CD1FFB7;
 Fri,  2 Dec 2022 14:58:00 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8793410-7251-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9T3B6rMs0ButiAJjIKG3bej1pIqckOwF5PkZjO6q1PQ=;
        b=X/FxytkHR8G+Azsb5LrhgL2Q7ZZrONjwZdRFMY0obvUvz5ZP8YHc4HHqIIb/P6stFt
         wB4vWm57UDWbne5Xh3lmM0bZbBFXWbIizAOoGHcRzHC4nVsLrwi3I98qiVoX9kmFTnB3
         Fq5u2s4X4dP1QEmWzMbDBIfM/lC9Jw35QhLrQotiBHD85Zlmpqo9TNOXItywrzm24a01
         QWf8o83Kif8rJnxCbQA9RmLiQajGjDOSOW1Uu7+kfhzFGBYrrKLe6g4QYlH8lQkTN1Sq
         5jd5LHm4AAWboXRIcA5Ufk+4PEzE94Pd4zn32X675f+3Wpj/HY7Maf7ppaRI2PIUvGXF
         Bx5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=9T3B6rMs0ButiAJjIKG3bej1pIqckOwF5PkZjO6q1PQ=;
        b=W8AtPywNnf0OHjH9oZ3rOrdQQ+S8cWZvucnhigR9O4TNzWmT54zSZK0EXy4P8DP1z2
         YVLQikuejk042aGm2Pw9mGW9+BduF9ij7a9VQIlPv4+2OVktOZgxb1ZW+q1M/272Gk03
         uuq9YJzwijt58C9JgSBK0XHpXn8mmM3M54EFdareV62LI1XYju+oGUD0feATEpWU9o3j
         sWYua/Df47fNXwNTCPvEq4zyLKYX/ccIxM3O0aZc6KJcIw1PeM4fo6sZ+NzRTACWAfZ5
         C2dKOkOdLJlf7tGF9ZZSq6Nq9h3xwFxk9TTek9oqiKFhUVjRWCaS9h8TFJBfVaoMBEJe
         Mn6g==
X-Gm-Message-State: ANoB5pmuDHYUZhFiPW+50F7aBUeXEkVjlWCE4hxmEX8ucydTNetB2zfy
	w7S4G7wbHODUXdRkU/NZkmL9JQ==
X-Google-Smtp-Source: AA0mqf4bITizXiqiJ1J0Fq/83aD9ON7/Jlg/4/W0Rd59Iq+0yZacUwx5owU3Ax192CkHYEVaj7AIsQ==
X-Received: by 2002:a05:600c:288:b0:3cf:758f:161f with SMTP id 8-20020a05600c028800b003cf758f161fmr49201899wmk.54.1669993082793;
        Fri, 02 Dec 2022 06:58:02 -0800 (PST)
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
 <20221202030003.11441-11-vikram.garhwal@amd.com>
User-agent: mu4e 1.9.3; emacs 29.0.60
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: qemu-dev@xilinx.com, stefano.stabellini@amd.com,
 xen-devel@lists.xenproject.org, Peter Maydell <peter.maydell@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
 <anthony.perard@citrix.com>, Paul  Durrant <paul@xen.org>, "open list:ARM
 TCG CPUs" <qemu-arm@nongnu.org>, "open list:All patches CC here"
 <qemu-devel@nongnu.org>
Subject: Re: [QEMU][PATCH v2 10/11] hw/arm: introduce xenpv machine
Date: Fri, 02 Dec 2022 14:52:41 +0000
In-reply-to: <20221202030003.11441-11-vikram.garhwal@amd.com>
Message-ID: <871qphc0p3.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Vikram Garhwal <vikram.garhwal@amd.com> writes:

> Add a new machine xenpv which creates a IOREQ server to register/connect =
with
> Xen Hypervisor.
>
> Optional: When CONFIG_TPM is enabled, it also creates a tpm-tis-device, a=
dds a
> TPM emulator and connects to swtpm running on host machine via chardev so=
cket
> and support TPM functionalities for a guest domain.
>
> Extra command line for aarch64 xenpv QEMU to connect to swtpm:
>     -chardev socket,id=3Dchrtpm,path=3D/tmp/myvtpm2/swtpm-sock \
>     -tpmdev emulator,id=3Dtpm0,chardev=3Dchrtpm \
>
> swtpm implements a TPM software emulator(TPM 1.2 & TPM 2) built on libtpm=
s and
> provides access to TPM functionality over socket, chardev and CUSE interf=
ace.
> Github repo: https://github.com/stefanberger/swtpm
> Example for starting swtpm on host machine:
>     mkdir /tmp/vtpm2
>     swtpm socket --tpmstate dir=3D/tmp/vtpm2 \
>     --ctrl type=3Dunixio,path=3D/tmp/vtpm2/swtpm-sock &
<snip>
> +
> +static void xen_enable_tpm(void)
> +{
> +/* qemu_find_tpm_be is only available when CONFIG_TPM is enabled. */
> +#ifdef CONFIG_TPM
> +    Error *errp =3D NULL;
> +    DeviceState *dev;
> +    SysBusDevice *busdev;
> +
> +    TPMBackend *be =3D qemu_find_tpm_be("tpm0");
> +    if (be =3D=3D NULL) {
> +        DPRINTF("Couldn't fine the backend for tpm0\n");
> +        return;
> +    }
> +    dev =3D qdev_new(TYPE_TPM_TIS_SYSBUS);
> +    object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp);
> +    object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp);
> +    busdev =3D SYS_BUS_DEVICE(dev);
> +    sysbus_realize_and_unref(busdev, &error_fatal);
> +    sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE);

Still fails on my aarch64 Debian machine:

  FAILED: libqemu-aarch64-softmmu.fa.p/hw_arm_xen_arm.c.o=20
  cc -Ilibqemu-aarch64-softmmu.fa.p -I. -I../.. -Itarget/arm -I../../target=
/arm -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1 -I/usr/local/i=
nclude -I/usr/include/capstone -I/usr/include/spice-server -I/usr/include/s=
pice-1 -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/includ=
e -fdiagnostics-color=3Dauto -Wall -Winvalid-pch -Werror -std=3Dgnu11 -O2 -=
g -isystem /home/alex/lsrc/qemu.git/linux-headers -isystem linux-headers -i=
quote . -iquote /home/alex/lsrc/qemu.git -iquote /home/alex/lsrc/qemu.git/i=
nclude -iquote /home/alex/lsrc/qemu.git/tcg/aarch64 -pthread -U_FORTIFY_SOU=
RCE -D_FORTIFY_SOURCE=3D2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=3D64 -D_LARGEFI=
LE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wm=
issing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wold-style-decl=
aration -Wold-style-definition -Wtype-limits -Wformat-security -Wformat-y2k=
 -Winit-self -Wignored-qualifiers -Wempty-body -Wnested-externs -Wendif-lab=
els -Wexpansion-to-defined -Wimplicit-fallthrough=3D2 -Wno-missing-include-=
dirs -Wno-shift-negative-value -Wno-psabi -fstack-protector-strong -fPIE -i=
system../../linux-headers -isystemlinux-headers -DNEED_CPU_H '-DCONFIG_TARG=
ET=3D"aarch64-softmmu-config-target.h"' '-DCONFIG_DEVICES=3D"aarch64-softmm=
u-config-devices.h"' -MD -MQ libqemu-aarch64-softmmu.fa.p/hw_arm_xen_arm.c.=
o -MF libqemu-aarch64-softmmu.fa.p/hw_arm_xen_arm.c.o.d -o libqemu-aarch64-=
softmmu.fa.p/hw_arm_xen_arm.c.o -c ../../hw/arm/xen_arm.c
  ../../hw/arm/xen_arm.c: In function =E2=80=98xen_enable_tpm=E2=80=99:
  ../../hw/arm/xen_arm.c:126:32: error: =E2=80=98GUEST_TPM_BASE=E2=80=99 un=
declared (first use in this function); did you mean =E2=80=98GUEST_RAM_BASE=
=E2=80=99?
    126 |     sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE);
        |                                ^~~~~~~~~~~~~~
        |                                GUEST_RAM_BASE
  ../../hw/arm/xen_arm.c:126:32: note: each undeclared identifier is report=
ed only once for each function it appears in
  [2082/3246] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_xen_xen-ma=
pcache.c.o
  [2083/3246] Compiling C object libqemu-aarch64-softmmu.fa.p/hw_xen_xen-hv=
m-common.c.o
  ninja: build stopped: subcommand failed.
  make: *** [Makefile:165: run-ninja] Error 1

> +
> +    DPRINTF("Connected tpmdev at address 0x%lx\n", GUEST_TPM_BASE);
> +#endif
> +}

If there is a minimum required version for TPM then it needs to be
picked up by configure.

--=20
Alex Benn=C3=A9e


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 16:10:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 16:10:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452105.709920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p18c7-0004dY-Hn; Fri, 02 Dec 2022 16:10:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452105.709920; Fri, 02 Dec 2022 16:10:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p18c7-0004dR-Eu; Fri, 02 Dec 2022 16:10:11 +0000
Received: by outflank-mailman (input) for mailman id 452105;
 Fri, 02 Dec 2022 16:10:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ddoq=4A=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1p18c6-0004dL-6J
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 16:10:10 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ca6d5ef3-725b-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 17:10:08 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id h7so2469248wrs.6
 for <xen-devel@lists.xenproject.org>; Fri, 02 Dec 2022 08:10:08 -0800 (PST)
Received: from zen.linaroharston ([185.81.254.11])
 by smtp.gmail.com with ESMTPSA id
 f6-20020a0560001b0600b002415dd45320sm7259614wrz.112.2022.12.02.08.10.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 02 Dec 2022 08:10:06 -0800 (PST)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id 8823B1FFB7;
 Fri,  2 Dec 2022 16:10:05 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca6d5ef3-725b-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nukBQmCgTM/TGz+Uoo8zfQps6NjeFMphRLVnkBHi0B0=;
        b=uH/NNJnHBaiF/ZWR+bBe6PXZy4vTg4iDZubdB195ncN2C/c8k8y8FouaudFLgZULkC
         ISNe4b4WBY/QOx9YDJ8BYWwmgyzok+7dASy8UIKUWRcQOnhtOzkt6IwRb47mGK3Xu67W
         rId1+M9H0YmtL1thgJdbJ6+DFXU7dCQNLCOLL78cs0ttIXuLpvH+AI3hr0zK0U0vk6JC
         YM5zYyvbGxQO5R/qkvCpgfz3l5/sDRcPDHF9CutoeDk58DjzqRzoP9wmDm+GOwjZnv5D
         9WfqXt0paWCeeb+eUdHysVO7h3NBZiAfZ/RPy/b0v4ab0ge/es60BnAZ+ae/a/qwW1Pd
         PtcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=nukBQmCgTM/TGz+Uoo8zfQps6NjeFMphRLVnkBHi0B0=;
        b=VnxCchcfGxg4BmBgXptl666NA3msgJnFhoSMi/Ro5PA5heYgu0E0yDsZuDYXljUPVP
         sRBC0nP2rm41YFZQ0k4AAANPiPSb256hqNffcu4vG+E5RaEWxIN4BuuedrfSGK+qV9Ay
         cNWUZsIiQAbisQWd2Ngt7Sgav05Uis0RTXoTitl80S7Zb1YW3oUoF9wq6is2mWnfKRod
         UatdJpb0OJ9R7UoxawUMjtSde7lq5cretAYEsOkRWAywJcTzPf6eHYRkI7gpAhZ0hYO8
         pa5lczksf8a+oYdGDnsHcHnUnYKBlXo46PlUp4arF8aTislayF5ySUYKvAYXc7c/Kb8e
         vRtg==
X-Gm-Message-State: ANoB5pnRNnCnnH7JeHzBGOwbdncbcf0E7jNJajni4A6WDkIDlnjRiEgJ
	Pc85tKko3nw46pYg/LKx0MnWfA==
X-Google-Smtp-Source: AA0mqf44T6El1WEuJi/EQhVnetD6wVWF4WPQyHuqRva0rErHPoXh+PyMk2COyz2SPc2TyBcUWrV6pA==
X-Received: by 2002:adf:d84c:0:b0:236:6f1a:955 with SMTP id k12-20020adfd84c000000b002366f1a0955mr43106920wrl.111.1669997407792;
        Fri, 02 Dec 2022 08:10:07 -0800 (PST)
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
User-agent: mu4e 1.9.3; emacs 29.0.60
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: qemu-dev@xilinx.com, stefano.stabellini@amd.com,
 xen-devel@lists.xenproject.org
Subject: Re: [QEMU][PATCH v2 00/11] Introduce xenpv machine for arm
 architecture
Date: Fri, 02 Dec 2022 16:07:02 +0000
In-reply-to: <20221202030003.11441-1-vikram.garhwal@amd.com>
Message-ID: <87wn79aisi.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Vikram Garhwal <vikram.garhwal@amd.com> writes:

> Hi,
> This series add xenpv machine for aarch64. Motivation behind creating xen=
pv
> machine with IOREQ and TPM was to enable each guest on Xen aarch64 to hav=
e it's
> own unique and emulated TPM.
>
> This series does following:
>     1. Moved common xen functionalities from hw/i386/xen to hw/xen/ so th=
ose can
>        be used for aarch64.
>     2. We added a minimal xenpv arm machine which creates an IOREQ server=
 and
>        support TPM.

So I've managed to test the basics:

  16:02:33 [root@latte:~] # xl create simple-guest.conf
  Parsing config from simple-guest.conf
  libxl: info: libxl_create.c:120:libxl__domain_build_info_setdefault: qemu=
-xen is unavailable, using qemu-xen-traditional instead: No such file or di=
rectory
  16:02:43 [root@latte:~] # xl list
  Name                                        ID   Mem VCPUs      State   T=
ime(s)
  Domain-0                                     0  4096     4     r-----    =
  25.6
  xenpv-test-guest                             2  4095     2     r-----    =
  14.9
  16:02:51 [root@latte:~] # ps ax  | grep qemu
      578 ?        Sl     0:00 /home/alex/lsrc/qemu.git/builds/xen/qemu-sys=
tem-aarch64 -xen-domid 0 -xen-attach -name dom0 -nographic -M xenpv -daemon=
ize -monitor /dev/null -serial /dev/null -parallel /dev/null -pidfile /var/=
run/xen/qemu-dom0.pid
     2053 pts/2    S+     0:00 grep --color=3Dauto qemu

However I'm a little lost on how to add HW to this machine. Is it all
via the guest configuration?

I think it would be worthwhile adding some documentation for this
machine to the manual, maybe docs/system/xen/xenpv.rst and then it can
be linked to from the appropriate target-arm.rst.

>
> Also, checkpatch.pl fails for 03/12 and 06/12. These fails are due to
> moving old code to new place which was not QEMU code style compatible.
> No new add code was added.
>
> Regards,
> Vikram
>
> ChangeLog:
>     v1 -> v2
>     Merged patch 05 and 06.
>     04/12: xen-hvm-common.c:
>         1. Moved xen_be_init() and xen_be_register_common() from
>             xen_register_ioreq() to xen_register_backend().
>         2. Changed g_malloc to g_new and perror -> error_setg_errno.
>         3. Created a local subroutine function for Xen_IOREQ_register.
>         4. Fixed build issues with inclusion of xenstore.h.
>         5. Fixed minor errors.
>
> Stefano Stabellini (5):
>   hw/i386/xen/xen-hvm: move x86-specific fields out of XenIOState
>   xen-hvm: reorganize xen-hvm and move common function to xen-hvm-common
>   include/hw/xen/xen_common: return error from xen_create_ioreq_server
>   hw/xen/xen-hvm-common: skip ioreq creation on ioreq registration
>     failure
>   meson.build: do not set have_xen_pci_passthrough for aarch64 targets
>
> Vikram Garhwal (6):
>   hw/i386/xen/: move xen-mapcache.c to hw/xen/
>   hw/i386/xen: rearrange xen_hvm_init_pc
>   hw/xen/xen-hvm-common: Use g_new and error_setg_errno
>   accel/xen/xen-all: export xenstore_record_dm_state
>   hw/arm: introduce xenpv machine
>   meson.build: enable xenpv machine build for ARM
>
>  accel/xen/xen-all.c              |    2 +-
>  hw/arm/meson.build               |    2 +
>  hw/arm/xen_arm.c                 |  175 +++++
>  hw/i386/meson.build              |    1 +
>  hw/i386/xen/meson.build          |    1 -
>  hw/i386/xen/trace-events         |   19 -
>  hw/i386/xen/xen-hvm.c            | 1084 +++---------------------------
>  hw/xen/meson.build               |    7 +
>  hw/xen/trace-events              |   19 +
>  hw/xen/xen-hvm-common.c          |  888 ++++++++++++++++++++++++
>  hw/{i386 =3D> }/xen/xen-mapcache.c |    0
>  include/hw/arm/xen_arch_hvm.h    |    9 +
>  include/hw/i386/xen_arch_hvm.h   |   11 +
>  include/hw/xen/arch_hvm.h        |    5 +
>  include/hw/xen/xen-hvm-common.h  |   98 +++
>  include/hw/xen/xen.h             |    2 +
>  include/hw/xen/xen_common.h      |   13 +-
>  meson.build                      |    4 +-
>  18 files changed, 1323 insertions(+), 1017 deletions(-)
>  create mode 100644 hw/arm/xen_arm.c
>  create mode 100644 hw/xen/xen-hvm-common.c
>  rename hw/{i386 =3D> }/xen/xen-mapcache.c (100%)
>  create mode 100644 include/hw/arm/xen_arch_hvm.h
>  create mode 100644 include/hw/i386/xen_arch_hvm.h
>  create mode 100644 include/hw/xen/arch_hvm.h
>  create mode 100644 include/hw/xen/xen-hvm-common.h


--=20
Alex Benn=C3=A9e


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 16:17:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 16:17:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452129.709931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p18iu-0006Q8-Ec; Fri, 02 Dec 2022 16:17:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452129.709931; Fri, 02 Dec 2022 16:17:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p18iu-0006Q1-C0; Fri, 02 Dec 2022 16:17:12 +0000
Received: by outflank-mailman (input) for mailman id 452129;
 Fri, 02 Dec 2022 16:17:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p18it-0006Pr-H4; Fri, 02 Dec 2022 16:17:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p18it-0007HM-FG; Fri, 02 Dec 2022 16:17:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p18is-0000nT-Vv; Fri, 02 Dec 2022 16:17:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p18is-00030f-VR; Fri, 02 Dec 2022 16:17:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=khGVkwcV5cyKjRkQJNYR4iYAB0wsm1qAiPi3cbcqce0=; b=boZmtAPDNE1xZhN0c7j25YRRGq
	7aRdIXFVSW3D7HgWCQHLeK6MotSwoJ9S5PIAkTC18IVSK6Gvw9Hdn7sPbsAo+e0PTW0o5Ptuxh3bN
	Aqogl4xtFlTVKIIiW8LExUdhjKBQwGPTET+F2PwrM3DPH14k1cJ1WEvVJ6gILTgARNrA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175018-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175018: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=522ffd2e969ddf52755efc5bb3e20229315efbc4
X-Osstest-Versions-That:
    libvirt=93b9e6503e13cb6243d3af55ae4b304397f40d74
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 16:17:10 +0000

flight 175018 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175018/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175002
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175002
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175002
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 libvirt              522ffd2e969ddf52755efc5bb3e20229315efbc4
baseline version:
 libvirt              93b9e6503e13cb6243d3af55ae4b304397f40d74

Last test of basis   175002  2022-12-01 04:20:55 Z    1 days
Testing same since   175018  2022-12-02 04:20:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jim Fehlig <jfehlig@suse.com>
  Jiri Denemark <jdenemar@redhat.com>
  Kristina Hanicova <khanicov@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   93b9e6503e..522ffd2e96  522ffd2e969ddf52755efc5bb3e20229315efbc4 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 16:18:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 16:18:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452136.709942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p18jn-0006wu-PK; Fri, 02 Dec 2022 16:18:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452136.709942; Fri, 02 Dec 2022 16:18:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p18jn-0006wn-M8; Fri, 02 Dec 2022 16:18:07 +0000
Received: by outflank-mailman (input) for mailman id 452136;
 Fri, 02 Dec 2022 16:18:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Lg1c=4A=intel.com=dave.hansen@srs-se1.protection.inumbo.net>)
 id 1p18jl-0006iu-MP
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 16:18:05 +0000
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3de7b3f-725c-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 17:18:02 +0100 (CET)
Received: from orsmga003.jf.intel.com ([10.7.209.27])
 by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 02 Dec 2022 08:17:59 -0800
Received: from rsnyder-mobl.amr.corp.intel.com (HELO [10.209.68.71])
 ([10.209.68.71])
 by orsmga003-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 02 Dec 2022 08:17:57 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3de7b3f-725c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1669997882; x=1701533882;
  h=message-id:date:mime-version:subject:to:cc:references:
   from:in-reply-to:content-transfer-encoding;
  bh=7kU26MIub+cu0n7tSsFLX1XdaUFcNgPBdV26TZeWYFY=;
  b=TSakR07WkkqBh3fQHAcFpnvOIjlit4d3nWC4vvOpC21q7dcSHQG4HOC9
   nIbOeVNJv1q1HK/1XGcAHye91sSzK6HAvibAAHHO/hW8NbT+2fXoJIaiP
   t79tMNA7UcQk+HaPA5svn9WSxzygnW4slIpNlXmgi97ogdcaH1pR+a3d0
   LH+GhrO5cmmGEtDBnYXwvBJb7QY10UWJvLwbTyscohnUkazidp7eSF5MF
   Ub3z9yBJ1eAo0vJNPHoAiLyaE2wbfSexDoYu7l39w6bWgTHYSJhVepKln
   74VRZq0oXtbLaFThUzdzbKH+zuiy/egCVSVH03CU/qSLVYvfudPVS0HCH
   w==;
X-IronPort-AV: E=McAfee;i="6500,9779,10548"; a="380274539"
X-IronPort-AV: E=Sophos;i="5.96,212,1665471600"; 
   d="scan'208";a="380274539"
X-IronPort-AV: E=McAfee;i="6500,9779,10548"; a="595493381"
X-IronPort-AV: E=Sophos;i="5.96,212,1665471600"; 
   d="scan'208";a="595493381"
Message-ID: <93fd7ed0-5311-d6db-4d8b-b992a8f78ada@intel.com>
Date: Fri, 2 Dec 2022 08:17:56 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.2.2
Subject: Re: [PATCH 1/3] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 jgross@suse.com, Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>,
 Alex Chiang <achiang@hp.com>,
 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
 linux-acpi@vger.kernel.org
References: <20221121102113.41893-1-roger.pau@citrix.com>
 <20221121102113.41893-2-roger.pau@citrix.com>
 <6b212148-4e3f-3ef6-7922-901175746d44@intel.com>
 <Y4d8cm97hn5zuRQ1@Air-de-Roger>
 <4a0e9f91-8d8b-84bc-c9db-7265f5b65b63@intel.com>
 <Y4nugxKV1J/BqhBt@Air-de-Roger>
From: Dave Hansen <dave.hansen@intel.com>
In-Reply-To: <Y4nugxKV1J/BqhBt@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 12/2/22 04:24, Roger Pau Monné wrote:
> On the implementation side, is the proposed approach acceptable?
> Mostly asking because it adds Xen conditionals to otherwise generic
> ACPI code.

That's a good Rafael question.

But, how do other places in the ACPI code handle things like this?


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 16:26:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 16:26:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452147.709952 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p18rU-0000hg-IF; Fri, 02 Dec 2022 16:26:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452147.709952; Fri, 02 Dec 2022 16:26:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p18rU-0000hZ-FO; Fri, 02 Dec 2022 16:26:04 +0000
Received: by outflank-mailman (input) for mailman id 452147;
 Fri, 02 Dec 2022 16:26:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xAMo=4A=chiark.greenend.org.uk=ijackson@srs-se1.protection.inumbo.net>)
 id 1p18rR-0000hT-Sx
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 16:26:02 +0000
Received: from chiark.greenend.org.uk (v6.chiark.greenend.org.uk
 [2001:ba8:1e3::]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 010760c9-725e-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 17:25:59 +0100 (CET)
Received: by chiark.greenend.org.uk (Debian Exim 4.94.2 #2) with local
 (return-path ijackson@chiark.greenend.org.uk)
 id 1p18rO-0001lJ-7Q; Fri, 02 Dec 2022 16:25:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 010760c9-725e-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=chiark.greenend.org.uk; s=c.chiark; h=DKIM-Signature-Warning:References:
	In-Reply-To:Subject:Cc:To:Date:Message-ID:Content-Transfer-Encoding:
	Content-Type:MIME-Version:From:Sender:Reply-To:Content-ID:Content-Description
	:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
	List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:
	List-Archive; bh=J/cZp/UrAosgTtT+LBiXPS6IgdNnHrO5HzbozuydOFg=; b=DG7L9JpZKuxi
	it1DXEHY2iAm5MY3F6oJXU48hXC4MmX6d0EWPtqMBtm/4o4BN1yVa/bpMFkld0sfdYPs7phJ9VlHx
	2f3YWD4dZujTzsw86SLPyEnnTg0caMufO2oPuDCgLyF5ESCS0h1QajB8oI8iv0kkKn4oZ9uhBxp3P
	EzZwTB64EiBAmYkggRye/dOa1L8Mj2S640wnKqr49bRUQkBnxCKh+5ZeUFpEFn58OFxz5/exVFvM7
	b2p2HLSyF/p3JoX7h4WwyeMUAwgkCP4GjJEy5jvLqB7l5gtno78n++CnkPG1ZIU/ufIjFCDsOmoC5
	qBkBVWffCpRJ3GKK12cTMA==;
From: Ian Jackson <ijackson@chiark.greenend.org.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <25482.10006.140155.984629@chiark.greenend.org.uk>
Date: Fri, 2 Dec 2022 16:25:58 +0000
To: Henry Wang <Henry.Wang@arm.com>
Cc: Julien Grall <julien@xen.org>,
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: Release checklist and qemu-xen-traditional
In-Reply-To: <AS8PR08MB7991236FE66DA48390C8E88E92179@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <AS8PR08MB79918A8115770DCF01863D7292159@AS8PR08MB7991.eurprd08.prod.outlook.com>
	<25479.27844.230855.996791@chiark.greenend.org.uk>
	<AS8PR08MB79917D648261C9ADB5F8EB8A92159@AS8PR08MB7991.eurprd08.prod.outlook.com>
	<25482.1554.910128.804488@chiark.greenend.org.uk>
	<AS8PR08MB7991236FE66DA48390C8E88E92179@AS8PR08MB7991.eurprd08.prod.outlook.com>
X-Mailer: VM 8.2.0b under 27.1 (x86_64-pc-linux-gnu)
DKIM-Signature-Warning: NOTE REGARDING DKIM KEY COMPROMISE https://www.chiark.greenend.org.uk/dkim-rotate/README.txt https://www.chiark.greenend.org.uk/dkim-rotate/e7/e7ec394fc5bad70f9d03084a487df88f.pem

Henry Wang writes ("RE: Release checklist and qemu-xen-traditional"):
> Although I am wondering if the instruction about qemu-iwj.git here:
> ```
> * make branch in qemu-iwj.git
>         git-branch $v-testing master
> ```
> 
> would be duplicated with instructions here:
> ```
> # make branches in xenbits.xen.org qemus
>         ssh xen@xenbits.xen.org
> 	cd ~/git/qemu-xen.git
> 	git branch staging-$v staging
> 	git branch stable-$v master
> 	cd ~/git/qemu-xen-traditional.git
> 	git branch stable-$v master
> ```

I confess I answered without looking at the instructions again myself.
I think you are right, and that branch instruction may be a duplicate.

Later, when it comes to tagging, you'll probably want to have a local
staging-$v branch in your working tree, so that the tag is in the
right place.

Ian.

-- 
Ian Jackson <ijackson@chiark.greenend.org.uk>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 16:37:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 16:37:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452155.709964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p192a-0002t0-KJ; Fri, 02 Dec 2022 16:37:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452155.709964; Fri, 02 Dec 2022 16:37:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p192a-0002st-Gh; Fri, 02 Dec 2022 16:37:32 +0000
Received: by outflank-mailman (input) for mailman id 452155;
 Fri, 02 Dec 2022 16:37:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kt94=4A=citrix.com=prvs=3286be18b=roger.pau@srs-se1.protection.inumbo.net>)
 id 1p192Y-0002sn-4h
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 16:37:30 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9aa41781-725f-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 17:37:28 +0100 (CET)
Received: from mail-bn7nam10lp2102.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.102])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Dec 2022 11:37:23 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DS7PR03MB5608.namprd03.prod.outlook.com (2603:10b6:5:2c9::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.21; Fri, 2 Dec
 2022 16:37:17 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1%9]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 16:37:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9aa41781-725f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1669999047;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=rcUVaCNQzmRD7Obzfp8CZjUyVvi7eG6zAuEaD05LcTk=;
  b=K1xJbAXqGhJCfr0bFXLVJ+gIRBEf93i/9O/vKMW+Lsh7vcrCzQPOKCX4
   iH5amdBTln+begKC3AYAutph9VeZssUkhkzOFoAal+LwpQ9iBEQ5CNxQ5
   ceRyelVIlwTwU7PFjBa2+a1UmSfy91SS057udGpqO+C5yytELZWDD+Wz4
   k=;
X-IronPort-RemoteIP: 104.47.70.102
X-IronPort-MID: 86308774
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:v32OU6tvkjBbHq58ww6l0xuoS+fnVJdeMUV32f8akzHdYApBsoF/q
 tZmKTrXb/uDYjPzKN4gOoq0/EME6J6EzNFkTABk/HwzEyob+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWGzSFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwLiwmMUuAif2Kz+i1aNNznpkzN8KyFdZK0p1g5Wmx4fcOZ7nmGv2Pz/kHmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0ouiP60aIC9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAurBtlKROLnqpaGhnXJxnUrWFpMUGCSgtK2km3lY/h6J
 0sLr39GQa8asRbDosPGdxGxvnPCvhcaQNdWO+w89AyJjKHT5m6xHGEKRzNFQN8rrsk7QXotz
 FDht9foAyF/9b6YU3SQ8p+Koj6ofysYN2kPYWkDVwRty8nupsQ/gwzCSv5nEbWplZvlFDfo2
 TeIoSMiwbIJgqYj1aqh+kvcqymxvZWPRQkwji3dWXik9UV+f5K/YJKz6knz6uxJJ4KUCFKGu
 RAsh8ea/MgKDJeQiDaKRuQdWr2kj96AMTvThnZ1EpUh/ijr8HmmFaha+Bl3IEZkNJZCdTKBS
 EPapw4X5JZVJ3asRat2ZZ+hTcUs0aXkU9/iU5j8fooQSpt8bgmK+Gdpf0H492D1mWA+gL04I
 9GQdsPEJXIXD65PzzesQeoZl7gxyUgWzGjTRJn9wDynyfyVY3v9YakINliHcu0i7OWcqQHR8
 s5WO8qiyhNDXem4aS7SmaYXLFYXPT0yDoj3g9JYe/TFIQd8HmwlTfjLztscl5dNmq1UkqLC+
 C67U0oBkF7n3ySfc0ONd2xpb67pUdBnt3UnMCcwPFGunX8+fYKo66RZfJwyFVU6yNFeITdPZ
 6FtU6297j5nEFwrJxx1gUHBkbFf
IronPort-HdrOrdr: A9a23:Vw+RC6GscJThW+VRpLqE+ceALOsnbusQ8zAXPiFKOH9om6mj/K
 qTdZsguCMc9wxhOk3I9ertBEDiexPhHPxOj7X5VI3KNDUO01HIEGgN1+TfKjTbakjDytI=
X-IronPort-AV: E=Sophos;i="5.96,212,1665460800"; 
   d="scan'208";a="86308774"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=caS2SCo011j4JJK1VzRXMYcNXzdHExjbGK4N/B9lIowboI4M8BpGc7CSmIduRQr7tFUPcW41ugZ2UICqVmSWdU4XGex+eZy2Y/XlbVkrdIZWRiAVu6JXBIxfcosJIIFy5s8Grw0m3ah6xAQmAtIVWNVgGS/FiROz0Pk/jl4EW+AdP47UefxKlyOE5+FQUOrSowhYxVa9aw+6RbET9ccZ9n+P2soszKs9YS3Ii87Er7rF3c0Zsv+tGEn2q0oqaBlUKkfZKkOIkyLdRr82ceHWbctM1zPkEmseMDc2nDMltVEi21O9NuIlEy85PCoIR0F3zljKZgGElOCl2bs+liIbWw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=K8EMr9olxyvoIiovWcoqyTykRTu2mwAaFzeBdbGQj2c=;
 b=feOkvfP+qMRtPQJKa2tjT3w7RXNVC/suWkioQI/AfIx+Y5wW40mlG1wDCWzhymbYHopQP1HirohchJ5V61xcfFyOdw8CPop6WbIWKswYbnk4m799nMDxiHmuvdPsYzMyly4Ode6jl+X1xM0ndu9d6SxhOR/Ps/UWT/ogbrM0zg0tGSyM9x6Lel98GkCvOsH/ZsWIsmDfy8KLxlYwI4Nz0anq4YndG2LV1wgO2VkSUVZcaO3e44oLzGpNYqMHW0GoSRN8mxMPRVxpdwPGDlzz8McLsMHMf6Z0WgON9CQPp9f/lUWSSGzlCZELnIFqQvaFXxq+kRUZoQ4CVg1pmnzDcA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K8EMr9olxyvoIiovWcoqyTykRTu2mwAaFzeBdbGQj2c=;
 b=sv4Lcf7KBMWIUrHzhxKLeLw92NdKXihiaH4IjSHTbTW/5K9wdwrqm5ZH27U395DZSM2OeCgs6yvCSK0m/ntDZuLs9AwGAtcGUJ3il0BYaJ+kaNvvAGSySaeX+QXpE0Hf/01xeOfeQ18+3Ss7uEpPzYcKF8ojtRmtIayH/rq06zQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 2 Dec 2022 17:37:12 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Dave Hansen <dave.hansen@intel.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	jgross@suse.com, Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, Len Brown <lenb@kernel.org>,
	Alex Chiang <achiang@hp.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	linux-acpi@vger.kernel.org
Subject: Re: [PATCH 1/3] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
Message-ID: <Y4opuLnLIT3v9Aa7@Air-de-Roger>
References: <20221121102113.41893-1-roger.pau@citrix.com>
 <20221121102113.41893-2-roger.pau@citrix.com>
 <6b212148-4e3f-3ef6-7922-901175746d44@intel.com>
 <Y4d8cm97hn5zuRQ1@Air-de-Roger>
 <4a0e9f91-8d8b-84bc-c9db-7265f5b65b63@intel.com>
 <Y4nugxKV1J/BqhBt@Air-de-Roger>
 <93fd7ed0-5311-d6db-4d8b-b992a8f78ada@intel.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <93fd7ed0-5311-d6db-4d8b-b992a8f78ada@intel.com>
X-ClientProxiedBy: BN0PR02CA0056.namprd02.prod.outlook.com
 (2603:10b6:408:e5::31) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DS7PR03MB5608:EE_
X-MS-Office365-Filtering-Correlation-Id: 69382573-af91-4979-55aa-08dad4837984
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rIphfKsqlzvzVEVjtzci8DNEXFC3s0CYysf0tvugG5hJbZ1zIBG4HjEneGwJ8cK70GINwh6i3s/76BbFewJYOhOAq86cSF3paOyKrSoWuizeNkOYsZ6GcCnO4oZNqswCiccfqDNHjgE/MPqJZ7/moYpu7UzJP/5LcGzXHkLjz/onOInX53bh+8fyVL0C3EaOv83vaI8p19xKeWFar8AwPPbKwzzU5p+Ng3lX6tPV4PrcLS8YRAGIoODBt6FUWwqwwETFTH5JDgA7HNqekvuZjAJ9tSP8S6A5SSqLFoBGlaSDkeLjqPkqcBPwskoA9xSfZhqKw88SdVZdKpxWXGY90K6h9wJ4QM6NQEdhT6vLk/qfYx2sNXMxxBkyA8cYdGsvr1ow0e+CmeuX6R/YX3kYVw+Oe31JE+8uNIdPhzKbc/Og7pCjLAeynbIb5rmQFgWgVzE5vZWLIjaYcBYIxkF53bmeqzslsFnfuqdRyv0JDmQin5RrFIfpwndAe1UtKlFccZVGMAH7VznJvmt5YrPONwyajsa52PPCBxPcM3IhS+uwbr7CtHA9PmFZzTqyddSjDiH2jya+FG5D5OZ0OT8T3KSlG1Uur+zjtDofJ4mMLMrq2hGeJL008gbCJzrKnZOtjEFKH0cE+S0y9ZALSox5lA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(7916004)(4636009)(396003)(346002)(39860400002)(136003)(376002)(366004)(451199015)(85182001)(186003)(82960400001)(41300700001)(7416002)(86362001)(316002)(4744005)(6486002)(9686003)(38100700002)(66476007)(5660300002)(478600001)(2906002)(54906003)(110136005)(66946007)(66556008)(26005)(33716001)(53546011)(6506007)(6666004)(4326008)(8936002)(6512007)(8676002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dlliZnJsS0dVQTNxd2psUDJkMzBmdzhMUGRPbER1OTFLa1BDbUhSdVdVWFQv?=
 =?utf-8?B?VHAzR2xKbHJnaE02SS8vcUlmRlVvUWhIdmw4NzFsUVVhWmhDVkx0WjBPWmFQ?=
 =?utf-8?B?RGo1eVJ1b0RydEM3TXVIVTFHTWN2bnhaZTRLQS9DSlorSWpKSW4vaWdOUGdO?=
 =?utf-8?B?RHZwd3g4V3hQLyt2SXZ5ZVhvT1VZZDVMeEp1Q2V3R1VHZExObHM0RmNRSGh3?=
 =?utf-8?B?ZTBzM2ZVbVZnRmdRUnhMcXVXVVFCTUVTSUczM1AxOHQ1bXBVNGpKd0RuaHN3?=
 =?utf-8?B?L1RFcm9OMjBmOE1NdlNaMXViVWNKZ3ZpMzA1RjFhaUlCUGVEVnAxL0JiVGNP?=
 =?utf-8?B?cStTRXZLSFNnSW5wWXNqVGFZMFNGWEtYR0FCRXhlUmFLWDVqeHhVMzZwVmhB?=
 =?utf-8?B?QXU1QjZORzloRFl3VmFVb1hUT3RobU1GaGRQRVpXU1F1anhWeXNZc2hhZHZ6?=
 =?utf-8?B?MlQxTDkvV0JKOXkzcG9BVC9aUGNhWFVGRWQ5d0lnVW04czl6d0cvWStDRG00?=
 =?utf-8?B?SGZKYmk3d3J5aWZTdm16cEdsUGNBNW9jUVdZREJMWjh1Sk5maVhvK3JLaFlj?=
 =?utf-8?B?ZE5HMTJDdFQxaG9IbHBCdldQQi9ibmp0Skk4TlRKM09kTkpsVEF6d3FnTzlQ?=
 =?utf-8?B?U0x1NEI3czZITnVDWDVpTkpVNmhLVHlhckwyVkFxV1g0K1Jjbk12Vm8zeXls?=
 =?utf-8?B?cXhlUnA3S1N6K0Rna2RCY3VvZ0hYelE3Zmc3YXJnWXFiM3RVcEdGUkhreklV?=
 =?utf-8?B?aUx6ZktvMVNURnh4LzE4NWVjdktwYTgwcUQzT2N6bTRIWVJJc09RYXVpZk1q?=
 =?utf-8?B?SmhrSzl0R00wSzdhVUdHS2pmeC9xem1PWGpLY0c0ZjNPWmh3MDZZR0dQMzlu?=
 =?utf-8?B?QTFxdVViaTZJL0RTaTVrQkZGcVdPSURYVjY5T0dtSlJuVUtqMWpQVkxUdFBj?=
 =?utf-8?B?aWRnd3NEcVhSakJuZXJueEc1dWNjdnJJQzlWQy8rWWFoQ2pKU0dLY0xYS3lx?=
 =?utf-8?B?Zk42SmpJRVZtWVVQWDlVT0VzTGJwZThYYzU1eTBDRmVoQ3p0SXpnN2VEalB6?=
 =?utf-8?B?L012MSs0UzlwUnl4bkVzQXpCQU1qUGZ5ZVZTYXoyQklpeVNMS0xiWUVLU1ho?=
 =?utf-8?B?Sk1mUWl4cW4vQWt4VFFsZTBNUE14dkRpcUlRanRKZGhaN2VDQnYzQkQ3WEVi?=
 =?utf-8?B?VVJDRXhxMEtlcFRUbGdaUGZFNnNJTTlrbnFyMTNvcWR4UDBNbEtESnVINTdE?=
 =?utf-8?B?aHpIRjBSTkdFQmwrWnQyY05KazEycTVmbFlVWFVXMDUxUXV1MmpnUEFXRFJ4?=
 =?utf-8?B?WmlOQ283TVFyL3YzUGtlM0pLN3I3TTc2NEFNa2lSZ2dWUmE2ZStwMkNOR3pO?=
 =?utf-8?B?djlhbGhxV0pQa3ZkTXBlYWJrb2FFVXhONVJkL0RDU0sxb3J5TXBSYTVhSkRl?=
 =?utf-8?B?R0Z4bDNYWVVVV2VrQTd5Zjd1alBZQUdnNExyRkljN2NMR3NhZ0dBNEcvUFdR?=
 =?utf-8?B?YnJ6Z01GTjJFdlA0SkE2YUd1azN6anRvUFdZYUpWdDhzbDhVU0x0WnBsa1pD?=
 =?utf-8?B?OXlNcGZmTkN1dlZobEN5czFncUQ2dFZPYzFGVTZxSHpOWEpqMXVFMTRSNFFw?=
 =?utf-8?B?endKL3JxOWpQWFBDaUpKQ2crMXlJLy8vcW4rcVROQXFwVTVzU05lYTZwaEFl?=
 =?utf-8?B?VlBQb0R2WCttVExGRlQrSE1mV21WY3Y0bm1GU2tDcW5KWmU2Nnlla2lXaVhK?=
 =?utf-8?B?dGROUnVXSk1NUFBvNXFQRVR6cVJUVFZPL0hldkNGOCt3aERDNCtleW9WQU1z?=
 =?utf-8?B?RjhKa1FReGwzYjNYSUNta2tBd1VacU85azBJbFluUUtoVlR5QlNhMzkzc3Ux?=
 =?utf-8?B?eExwVTNDZk9DQkIrKzNsQVNUYmlQMUZuNTl3YXc2TVRnVXNNdTJUNUdpYklQ?=
 =?utf-8?B?cFMvUi80cG55eDYyR2NSTFl3RzJrbjZIVWd2NDZHSHBvOGdKUGllZnZmdWZG?=
 =?utf-8?B?bkN0NXRNOFhlYmEwaWE2RG9ZbnFFdWlZYlJIUnl6dVg2blhvVmc4V0NhSStX?=
 =?utf-8?B?SUxUVEdzMTNtNzVWTWw2WkhubkdpN3hEVGV4WTltM0ZZUTQvMy8vV3lLcFZh?=
 =?utf-8?Q?OzupA7G0okD7HTf7lsLNPfqTi?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?dXltcjdkTUhhRDRDSWRqSkNwSTZTaXc3S1lDMHBhNHMrSjR2MU9YOGRRZkdU?=
 =?utf-8?B?bUtzOEVUTGZncDcyQTdDYTdYSmZZK0hGZFN2RGNuTm1ubmpaRER4VlhuZE9h?=
 =?utf-8?B?UTF5Zm5JZnZJTkY0UlR4VEk3Zm81ZUlMV3plSU10K3BzSDFtczZpMElwR3Qx?=
 =?utf-8?B?UTdFTWxQeXRTZDJVWFdxZFhZVGYrN0J1WXZib0Z1OE5QV25mMmlTSGpNdVh3?=
 =?utf-8?B?Q2E3ckNkZXVCcld0TFBRaUJpNko1TUFWa1RRYit5Y2ZTNmZ5cUloM1NzcFJm?=
 =?utf-8?B?d0luSFZWRW1iRTFZaGtRS3ZkVXNmTXBVMFlsODZUNUxvYzRmYjlyM0VIaUpm?=
 =?utf-8?B?M3B0dGJhcHFEQjk3QXpIcjlvU2Z0UFpQZFhtY2pUWjZXZ2lTemlyVXBCNGlu?=
 =?utf-8?B?aklETS9EQTVNS0ZyQ0h2YWFNRUptZVlIMG8rWXVRNlphN09OU2ZFQ1NtNDlC?=
 =?utf-8?B?LzhxL05zTGh6dkRzNVhzTmxTV2RaOHJ4RkdBRjVVdTZjZ2ZUQlQrVE9jV0Zm?=
 =?utf-8?B?V296bjNmWUlNdFZqS2Nmc2VhTTlWVlpTR1hQUzZQYm5qR1ZSMnorNy9tU2x5?=
 =?utf-8?B?MUs0clV0S1VBM2RISHFpcFdMUHd0K1BWZU9FZFRZY05BVElMU1UyZ29JNExP?=
 =?utf-8?B?N1VacDQwdVFITTJ0bWd0VkJDRzJyVlBBeVVpMC91NHJocCtXRzBYM2FwYWNZ?=
 =?utf-8?B?TWp4a2p3bTFyVXR4dXRrYVAveWVrSWtGT0cwcUpuSitqS0xhSW9JZGNXYlB2?=
 =?utf-8?B?TTJ4V0JuWVk3TVNYc1h6R1BlMVZXYXBJZzJDZUtOSTE1WWtlUVQzQ0UwUkN1?=
 =?utf-8?B?YzhQRDRKSzFTTXM1OUZ1YmtXdnVGcUc3UW1SUzlOd28xQkxtWXlaQUNHaklX?=
 =?utf-8?B?USsrOVhWT1FHSlQvejJpaEo0N3Q3bXJMd2tzK2UwQjhkWHB1SUtmUi90cC9l?=
 =?utf-8?B?N0NKWVZ5NzE1cjlIcGFCaG1ab2c4bGR4a2VWK1B1U2JlTGtmMnZWY2R5cmVl?=
 =?utf-8?B?UjVJTWNUT3h5Z3V5R3hBS1dRUjJ2cXg0LzhJbSswTTI2TnE0RmRLUnNhTGRN?=
 =?utf-8?B?dXArdlk5YWVDa3piOEF1bDdUeUtoeDhyUWE1YzRrQzgxUGUyUld0ZndhdzBn?=
 =?utf-8?B?andPODVkMVVVblJ4a1FhYzhBaTdVU29yVHI3SG9FekdhclBiRFFoWmMwNmly?=
 =?utf-8?B?OXdPeWpQRnFab05PaFZuMGsxeFE3S3dzcEw2a3hLMENXL1ZjNnFyN2hUOHI4?=
 =?utf-8?B?MUZQZCtGZi8rdUVpcXpDUHdZRS9tQ0ZmeW1YQnpXK2JGY1BzNlczazhuNmJU?=
 =?utf-8?B?REQ2QVN0aTlOYWltMGlnWHUvQ3BwZEZjYUxQNHVhaVhrQm51Z2QzR0xPSk9P?=
 =?utf-8?B?WkoxWCtieUljSjArQUVsNW5LemJLSGo4dFdpZkp5VUt5Nm9ZWG10dTBGZjhz?=
 =?utf-8?B?Y0wrbTdWbUM1QXA4cWwzWFg3c3NmVmVoRm9NdmVDekxDN1pOMU1DK1ZscXRW?=
 =?utf-8?B?Q0R1eE1CczRTNkk3VlNERTZMNzRRd29yeWpDRGZybmJmdEU2VndranVyZE1r?=
 =?utf-8?B?Ni80Wi9MMVBsN1hkQjRnSzRjZ3Q5NjRqUXFEc2swdDZNTVo5VzFQWlhCVzRV?=
 =?utf-8?Q?R7d77dvri8LFerZ31+14udZ4kHM+jld0+Hu9CTLs+gb4=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 69382573-af91-4979-55aa-08dad4837984
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 16:37:17.4303
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mDfpTnLUjuaX2fkbMxwUIrnCXNYgYmRwLDwVYIggutN9yBSsmO4DvPl9LQJKKoHqROTBrN64UaccrrqqBNNhTg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5608

On Fri, Dec 02, 2022 at 08:17:56AM -0800, Dave Hansen wrote:
> On 12/2/22 04:24, Roger Pau Monné wrote:
> > On the implementation side, is the proposed approach acceptable?
> > Mostly asking because it adds Xen conditionals to otherwise generic
> > ACPI code.
> 
> That's a good Rafael question.
> 
> But, how do other places in the ACPI code handle things like this?

Hm, I don't know of other places in the Xen case, the only resource
in ACPI AML tables managed by Xen are Processor objects/devices AFAIK.
The rest of devices are fully managed by the dom0 guest.

I think such special handling is very specific to Xen, but maybe I'm
wrong and there are similar existing cases in ACPI code already.

We could add some kind of hook (iow: a function pointer in some struct
that could be filled on a implementation basis?) but I didn't want
overengineering this if adding a conditional was deemed OK.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 17:00:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 17:00:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452164.709975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p19P0-0007ro-Id; Fri, 02 Dec 2022 17:00:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452164.709975; Fri, 02 Dec 2022 17:00:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p19P0-0007rh-F2; Fri, 02 Dec 2022 17:00:42 +0000
Received: by outflank-mailman (input) for mailman id 452164;
 Fri, 02 Dec 2022 17:00:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p19Oz-0007qI-8g; Fri, 02 Dec 2022 17:00:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p19Oz-0008Cv-3N; Fri, 02 Dec 2022 17:00:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p19Oy-0003WY-N8; Fri, 02 Dec 2022 17:00:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p19Oy-0003lt-Mg; Fri, 02 Dec 2022 17:00:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wJB+55accdWTWMBaxSpePxe6RD7MEhEIU227LdRYO+o=; b=yqUfGu6mX3YucbooYz7hjG/I6a
	9LvLR+kPLodmzr6QyhyVBXzXNUuAU3ra5rnHkPm6YMk27Zrudl/FQ7Tnut1fVU4w3TGekB1oMyeiG
	rwuEtF+uEafZ4YTKxkHgyCv3rkk4hIIlQ3GQ6XbwzTB7SVjTF5jcnVEQhZ6pIPpsSZNA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175024-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175024: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=10acd21795a9df5c0908c58104e82472c5fa2d17
X-Osstest-Versions-That:
    xen=133f35f0f0cd0a415e599c20156aaaa5598356c0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 17:00:40 +0000

flight 175024 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175024/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  10acd21795a9df5c0908c58104e82472c5fa2d17
baseline version:
 xen                  133f35f0f0cd0a415e599c20156aaaa5598356c0

Last test of basis   175022  2022-12-02 10:00:30 Z    0 days
Testing same since   175024  2022-12-02 14:07:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Edwin Török <edvin.torok@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   133f35f0f0..10acd21795  10acd21795a9df5c0908c58104e82472c5fa2d17 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 17:06:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 17:06:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452172.709986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p19Un-0000SJ-7W; Fri, 02 Dec 2022 17:06:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452172.709986; Fri, 02 Dec 2022 17:06:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p19Un-0000SC-4D; Fri, 02 Dec 2022 17:06:41 +0000
Received: by outflank-mailman (input) for mailman id 452172;
 Fri, 02 Dec 2022 17:06:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Gvms=4A=gmail.com=rjwysocki@srs-se1.protection.inumbo.net>)
 id 1p19Um-0000S6-Cc
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 17:06:40 +0000
Received: from mail-qt1-f175.google.com (mail-qt1-f175.google.com
 [209.85.160.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af4a6673-7263-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 18:06:39 +0100 (CET)
Received: by mail-qt1-f175.google.com with SMTP id h24so5985555qta.9
 for <xen-devel@lists.xenproject.org>; Fri, 02 Dec 2022 09:06:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af4a6673-7263-11ed-91b6-6bf2151ebd3b
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xh9kgJLINYmxV8g3qTi7szoV+9siNmymyIdCpJv+cBQ=;
        b=l0WKND0dKK3uRz01u5rfqemeAYMCUUT4kSpDi96Vrvxm8A7ln2ma+RY8Ff1BI6QAk1
         KVvtV2dOpl1rFTbLjsw4AMAlqAJxePeIYZ5oVv8s8bXCKppsWRn+XJ2i1jc93ZbSR1JJ
         Xu4cy1330Whj04o5Xrlj8WRE4vE5gY9vPLZBscUGMFBcmCGHak76h4X3IXQ/mvE0Snwp
         aZ+AC6Bo+9vQbAHJT1Tg8emquu/xseY8zjGQQdIddev9ZDrYs6uTp71qjQD+kt+T7l7M
         HavZ9Yqxh2QrU8SGmQ9yCx7+Ax3HgfWVjQb1Tmta3d2Qjgkr7OPreUEGutPc4n8PBLB/
         1Q8g==
X-Gm-Message-State: ANoB5pnU6Q0WR9mJ13Bn7jO7jRSc1PiBxDhtqhfGnGPHcDhB3t8L96jw
	O0HK5F+bQNUHEGJuob+H4SeznPVFP+iTmaciXzY=
X-Google-Smtp-Source: AA0mqf7fLL+ryfJc9gdlygwZFMKAW1X4WWvlOUNEoVLLyu7iJ7lEwsoaHA2t1RhbtGz9hRYHOwN5y8/jp/Ex9zi8Yls=
X-Received: by 2002:ac8:4818:0:b0:3a6:a0d7:e1f7 with SMTP id
 g24-20020ac84818000000b003a6a0d7e1f7mr1208911qtq.153.1670000798144; Fri, 02
 Dec 2022 09:06:38 -0800 (PST)
MIME-Version: 1.0
References: <20221121102113.41893-1-roger.pau@citrix.com> <20221121102113.41893-2-roger.pau@citrix.com>
 <6b212148-4e3f-3ef6-7922-901175746d44@intel.com> <Y4d8cm97hn5zuRQ1@Air-de-Roger>
 <4a0e9f91-8d8b-84bc-c9db-7265f5b65b63@intel.com> <Y4nugxKV1J/BqhBt@Air-de-Roger>
 <93fd7ed0-5311-d6db-4d8b-b992a8f78ada@intel.com> <Y4opuLnLIT3v9Aa7@Air-de-Roger>
In-Reply-To: <Y4opuLnLIT3v9Aa7@Air-de-Roger>
From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: Fri, 2 Dec 2022 18:06:26 +0100
Message-ID: <CAJZ5v0hrdwUNOELXM5zxtTeavp+_o7TbkCRBjZVqvQVxt4QBnA@mail.gmail.com>
Subject: Re: [PATCH 1/3] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Dave Hansen <dave.hansen@intel.com>, "Rafael J. Wysocki" <rafael@kernel.org>, 
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, jgross@suse.com, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Thomas Gleixner <tglx@linutronix.de>, 
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, 
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Len Brown <lenb@kernel.org>, Alex Chiang <achiang@hp.com>, 
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>, linux-acpi@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Dec 2, 2022 at 5:37 PM Roger Pau Monn=C3=A9 <roger.pau@citrix.com> =
wrote:
>
> On Fri, Dec 02, 2022 at 08:17:56AM -0800, Dave Hansen wrote:
> > On 12/2/22 04:24, Roger Pau Monn=C3=A9 wrote:
> > > On the implementation side, is the proposed approach acceptable?
> > > Mostly asking because it adds Xen conditionals to otherwise generic
> > > ACPI code.
> >
> > That's a good Rafael question.

Sorry for joining late, but first off _PDC has been deprecated since
ACPI 3.0 (2004) and it is not even present in ACPI 6.5 any more.

It follows from your description that _PDC is still used in the field,
though, after 18 years of deprecation.  Who uses it, if I may know?

> > But, how do other places in the ACPI code handle things like this?
>
> Hm, I don't know of other places in the Xen case, the only resource
> in ACPI AML tables managed by Xen are Processor objects/devices AFAIK.
> The rest of devices are fully managed by the dom0 guest.
>
> I think such special handling is very specific to Xen, but maybe I'm
> wrong and there are similar existing cases in ACPI code already.
>
> We could add some kind of hook (iow: a function pointer in some struct
> that could be filled on a implementation basis?) but I didn't want
> overengineering this if adding a conditional was deemed OK.

What _PDC capabilities specifically do you need to pass to the
firmware for things to work correctly?

What platforms are affected?


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 17:17:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 17:17:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452181.709997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p19ee-0002cj-5i; Fri, 02 Dec 2022 17:16:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452181.709997; Fri, 02 Dec 2022 17:16:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p19ee-0002cc-27; Fri, 02 Dec 2022 17:16:52 +0000
Received: by outflank-mailman (input) for mailman id 452181;
 Fri, 02 Dec 2022 17:16:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qmEy=4A=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1p19ec-0002cW-Bo
 for xen-devel@lists.xen.org; Fri, 02 Dec 2022 17:16:50 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 19f10cad-7265-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 18:16:48 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 n16-20020a05600c3b9000b003d08febff59so231220wms.3
 for <xen-devel@lists.xen.org>; Fri, 02 Dec 2022 09:16:47 -0800 (PST)
Received: from [10.17.77.118] (ll-22.209.223.85.sovam.net.ua. [85.223.209.22])
 by smtp.gmail.com with ESMTPSA id
 k27-20020a5d525b000000b00242269c8b8esm7356725wrc.25.2022.12.02.09.16.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 02 Dec 2022 09:16:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19f10cad-7265-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ttw8LbpKM0eEHzqaWPjSFujvnFjrkiLdIm4RuQPgm68=;
        b=mZsqAgBUdIR0eadbI9pQj8rdKAjKREhKFn/63ugAZSz5YJIlMcoUlkqHXINawFvv/1
         JqXqUf+yY4/4/WiH47BFwA1cNx+8MswYZkC+e3zxcYrAtb6WnOxaOvtaoe5ViKSCO3b7
         +q2jWQhU5WybRocbGWAdXjPp2cP42IA0Ay9MvbhKAAkomZDXc5xQVOV9hY9CXkZ5blu0
         4kP4ej1SZbq7AZjZl7rRO13PGJV4HmHmbm38xZ0mO5D0jPvg6SVc6J9+UfqEUY9hjn/h
         fwlkeT6Y879Q/gwCeWluKz0bfgCKh4z+gz1ad2IfonQQ+WYFBGxaJ3/rnru2dVTIRxWL
         4DPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ttw8LbpKM0eEHzqaWPjSFujvnFjrkiLdIm4RuQPgm68=;
        b=Ni3g8xej1Lq/KHjJcLMqHK4+HyM6AA/xdJSF919hYAedQLMUoUujdk/2dezn6HUa40
         WeLO5ydUshmk5wrJtNXfkdI8IjuP/uWiW7VzqSJ2jTpKEnzpJIkc0i+r848KfZRAKl/Z
         Ue28st3iAKaO+qPSO2KLc5y61nAPXPanRzwPfLvh29sLYmzi9ES8d8qCXUrXTHvkq9PF
         v26sZWW9BG0ULA5H5za1C3jeIapFT7cBOmmuh/htv3Q7g2mZ8S0RFzLuOxVyWgUTu+rN
         ab6Zw93YxAHq2Y056pSPezhpfYbqpv34CBNKuOCwo3UNlI7FaYGsXkbQPg619II/bAXX
         T3JQ==
X-Gm-Message-State: ANoB5plAnTe9bwlf8oosuCUkMnn3MKDu9cqE7so2SbNVM0sBIwCSEpIR
	hN0U94sSgnFH4B1GCtqqi1Y=
X-Google-Smtp-Source: AA0mqf5HAYjean4uqRAqWMEpNe9fRscNZxY/Be0e4mD6gRbgjd8B6JmsoT3jk/xCXu8GKGB9AflUnw==
X-Received: by 2002:a05:600c:2213:b0:3cf:a6eb:3290 with SMTP id z19-20020a05600c221300b003cfa6eb3290mr46282203wml.116.1670001406573;
        Fri, 02 Dec 2022 09:16:46 -0800 (PST)
Message-ID: <4a355c28-9596-cfbd-ffd2-2f8d9dde9938@gmail.com>
Date: Fri, 2 Dec 2022 19:16:39 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [PATCH V6 2/3] xl: Add support to parse generic virtio device
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xen.org,
 Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <73663851c5223b99ed0f23a163a0d44cba0ebe29.1667906228.git.viresh.kumar@linaro.org>
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <73663851c5223b99ed0f23a163a0d44cba0ebe29.1667906228.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 08.11.22 13:23, Viresh Kumar wrote:


Hello Viresh

[sorry for the possible format issues if any]

> This patch adds basic support for parsing generic Virtio backend.
> 
> An example of domain configuration for mmio based Virtio I2C device is:
> virtio = ["type=virtio,device22,transport=mmio"]
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>   tools/ocaml/libs/xl/genwrap.py       |  1 +
>   tools/ocaml/libs/xl/xenlight_stubs.c |  1 +
>   tools/xl/xl_parse.c                  | 84 ++++++++++++++++++++++++++++
>   3 files changed, 86 insertions(+)
> 
> diff --git a/tools/ocaml/libs/xl/genwrap.py b/tools/ocaml/libs/xl/genwrap.py
> index 7bf26bdcd831..b188104299b1 100644
> --- a/tools/ocaml/libs/xl/genwrap.py
> +++ b/tools/ocaml/libs/xl/genwrap.py
> @@ -36,6 +36,7 @@ DEVICE_LIST =      [ ("list",           ["ctx", "domid", "t list"]),
>   functions = { # ( name , [type1,type2,....] )
>       "device_vfb":     DEVICE_FUNCTIONS,
>       "device_vkb":     DEVICE_FUNCTIONS,
> +    "device_virtio":     DEVICE_FUNCTIONS,
>       "device_disk":    DEVICE_FUNCTIONS + DEVICE_LIST +
>                         [ ("insert",         ["ctx", "t", "domid", "?async:'a", "unit", "unit"]),
>                           ("of_vdev",        ["ctx", "domid", "string", "t"]),
> diff --git a/tools/ocaml/libs/xl/xenlight_stubs.c b/tools/ocaml/libs/xl/xenlight_stubs.c
> index 45b8af61c74a..8e54f95da7c7 100644
> --- a/tools/ocaml/libs/xl/xenlight_stubs.c
> +++ b/tools/ocaml/libs/xl/xenlight_stubs.c
> @@ -707,6 +707,7 @@ DEVICE_ADDREMOVE(disk)
>   DEVICE_ADDREMOVE(nic)
>   DEVICE_ADDREMOVE(vfb)
>   DEVICE_ADDREMOVE(vkb)
> +DEVICE_ADDREMOVE(virtio)
>   DEVICE_ADDREMOVE(pci)
>   _DEVICE_ADDREMOVE(disk, cdrom, insert)
>   
> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> index 1b5381cef033..c6f35c069d2a 100644
> --- a/tools/xl/xl_parse.c
> +++ b/tools/xl/xl_parse.c
> @@ -1208,6 +1208,87 @@ static void parse_vkb_list(const XLU_Config *config,
>       if (rc) exit(EXIT_FAILURE);
>   }
>   
> +static int parse_virtio_config(libxl_device_virtio *virtio, char *token)
> +{
> +    char *oparg;
> +    int rc;
> +
> +    if (MATCH_OPTION("backend", token, oparg)) {
> +        virtio->backend_domname = strdup(oparg);
> +    } else if (MATCH_OPTION("type", token, oparg)) {
> +        virtio->type = strdup(oparg);
> +    } else if (MATCH_OPTION("transport", token, oparg)) {
> +        rc = libxl_virtio_transport_from_string(oparg, &virtio->transport);
> +        if (rc) return rc;
> +    } else if (MATCH_OPTION("irq", token, oparg)) {
> +        virtio->irq = strtoul(oparg, NULL, 0);
> +    } else if (MATCH_OPTION("base", token, oparg)) {
> +        virtio->base = strtoul(oparg, NULL, 0);


Interesting, I see you allow user to configure virtio-mmio params (irq 
and base), as far as I remember for virtio-disk these are internal only 
(allocated by tools/libs/light/libxl_arm.c).

I am not really sure why we need to configure virtio "base", could you 
please clarify? But if we really want/need to be able to configure 
virtio "irq" (for example to avoid possible clashing with physical one), 
I am afraid, this will require more changes that current patch does. 
Within current series saving virtio->irq here doesn't have any effect as 
it will be overwritten in 
libxl__arch_domain_prepare_config()->alloc_virtio_mmio_params() anyway. 
I presume the code in libxl__arch_domain_prepare_config() shouldn't try 
to allocate virtio->irq if it is already configured by user, also the 
allocator should probably take into the account of what is already 
configured by user, to avoid allocating the same irq for another device 
assigned for the same guest.

Also doc change in the subsequent patch doesn't mention about irq/base 
configuration.


So maybe we should just drop for now?
+    } else if (MATCH_OPTION("irq", token, oparg)) {
+        virtio->irq = strtoul(oparg, NULL, 0);
+    } else if (MATCH_OPTION("base", token, oparg)) {
+        virtio->base = strtoul(oparg, NULL, 0);



> +    } else {
> +        fprintf(stderr, "Unknown string \"%s\" in virtio spec\n", token);
> +        return -1;
> +    }
> +
> +    return 0;
> +}
> +
> +static void parse_virtio_list(const XLU_Config *config,
> +                              libxl_domain_config *d_config)
> +{
> +    XLU_ConfigList *virtios;
> +    const char *item;
> +    char *buf = NULL, *oparg, *str = NULL;
> +    int rc;
> +
> +    if (!xlu_cfg_get_list (config, "virtio", &virtios, 0, 0)) {
> +        int entry = 0;
> +        while ((item = xlu_cfg_get_listitem(virtios, entry)) != NULL) {
> +            libxl_device_virtio *virtio;
> +            char *p;
> +
> +            virtio = ARRAY_EXTEND_INIT(d_config->virtios, d_config->num_virtios,
> +                                       libxl_device_virtio_init);
> +
> +            buf = strdup(item);
> +
> +            p = strtok(buf, ",");
> +            while (p != NULL)
> +            {
> +                while (*p == ' ') p++;
> +
> +                // Type may contain a comma, do special handling.
> +                if (MATCH_OPTION("type", p, oparg)) {
> +                    if (!strncmp(oparg, "virtio", strlen("virtio"))) {
> +                        char *p2 = strtok(NULL, ",");
> +                        str = malloc(strlen(p) + strlen(p2) + 2);
> +
> +                        strcpy(str, p);
> +                        strcat(str, ",");
> +                        strcat(str, p2);
> +                        p = str;
> +                    }
> +                }
> +
> +                rc = parse_virtio_config(virtio, p);
> +                if (rc) goto out;
> +
> +                free(str);
> +                str = NULL;
> +                p = strtok(NULL, ",");
> +            }
> +
> +            entry++;
> +            free(buf);
> +        }
> +    }
> +
> +    return;
> +
> +out:
> +    free(buf);
> +    if (rc) exit(EXIT_FAILURE);
> +}
> +
>   void parse_config_data(const char *config_source,
>                          const char *config_data,
>                          int config_len,
> @@ -2309,8 +2390,10 @@ void parse_config_data(const char *config_source,
>   
>       d_config->num_vfbs = 0;
>       d_config->num_vkbs = 0;
> +    d_config->num_virtios = 0;
>       d_config->vfbs = NULL;
>       d_config->vkbs = NULL;
> +    d_config->virtios = NULL;
>   
>       if (!xlu_cfg_get_list (config, "vfb", &cvfbs, 0, 0)) {
>           while ((buf = xlu_cfg_get_listitem (cvfbs, d_config->num_vfbs)) != NULL) {
> @@ -2752,6 +2835,7 @@ void parse_config_data(const char *config_source,
>       }
>   
>       parse_vkb_list(config, d_config);
> +    parse_virtio_list(config, d_config);
>   
>       xlu_cfg_get_defbool(config, "xend_suspend_evtchn_compat",
>                           &c_info->xend_suspend_evtchn_compat, 0);


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 17:48:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 17:48:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452190.710007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1A8o-000829-I9; Fri, 02 Dec 2022 17:48:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452190.710007; Fri, 02 Dec 2022 17:48:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1A8o-000822-FB; Fri, 02 Dec 2022 17:48:02 +0000
Received: by outflank-mailman (input) for mailman id 452190;
 Fri, 02 Dec 2022 17:48:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Gvms=4A=gmail.com=rjwysocki@srs-se1.protection.inumbo.net>)
 id 1p1A8m-000811-So
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 17:48:01 +0000
Received: from mail-qt1-f178.google.com (mail-qt1-f178.google.com
 [209.85.160.178]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75dfdd05-7269-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 18:48:00 +0100 (CET)
Received: by mail-qt1-f178.google.com with SMTP id x28so5080498qtv.13
 for <xen-devel@lists.xenproject.org>; Fri, 02 Dec 2022 09:47:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75dfdd05-7269-11ed-91b6-6bf2151ebd3b
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=cZkrcSltncE8/ZuZoYv4b2d7hscDOxyl0JUDZPI6liw=;
        b=OYDvxwGFka8sDKZdxMaaxl2933kARopCpQRbF3hz/8dlFUfeoXLAEUV7KKf6OBlmGI
         SddRnY4r/0DGIgr2mVe0ME36taPHc0UBYy8aCFexWSl0pb5EGTe3jAUFobPjKIq+3UVn
         8kAwBjc6qPG3OFH6rOTBSZ5YENp/j3bkdSln68f2IFHutsbJOBh+Z1RUZpRimGbsDz93
         mhnaTHmeA2Dn5MpicVPREqE9bvkE71ULF+OUIRAL5ySF4y4UbleNlKtVgA/RQ5mGVRBO
         Kam37AL32Io/UrQ/3cnGKT1iBrsR6vnBBcDfXGYhRgbi1V3oHBLZ67xiXOIsQfh3+N5W
         TUmg==
X-Gm-Message-State: ANoB5pnPHMaduX5u4/w+OCb8IitZ0Q4i77+78yJgrtmYOfso38+YJ935
	nNZRwYyTJexSAwhV+gnQBjuFszxbUpJ+WELzw5s=
X-Google-Smtp-Source: AA0mqf51uIOWkjKSwhAqxTpfKMjsu42I0eiMVKrm0VEx7HQYTsVmieNicP3p40lc7YCyIthr+ry0hUYCl4VWsxspqf0=
X-Received: by 2002:ac8:7dcb:0:b0:3a6:8dd0:4712 with SMTP id
 c11-20020ac87dcb000000b003a68dd04712mr11196833qte.411.1670003278849; Fri, 02
 Dec 2022 09:47:58 -0800 (PST)
MIME-Version: 1.0
References: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org> <20221127-snd-freeze-v8-2-3bc02d09f2ce@chromium.org>
In-Reply-To: <20221127-snd-freeze-v8-2-3bc02d09f2ce@chromium.org>
From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: Fri, 2 Dec 2022 18:47:47 +0100
Message-ID: <CAJZ5v0jbKSTQopEoXW9FpqDmAqp6Pn=-Om5QP2-7ocuGdq8R9w@mail.gmail.com>
Subject: Re: [PATCH v8 2/3] freezer: refactor pm_freezing into a function.
To: Ricardo Ribalda <ribalda@chromium.org>
Cc: Juergen Gross <jgross@suse.com>, Mark Brown <broonie@kernel.org>, 
	Chromeos Kdump <chromeos-kdump@google.com>, Daniel Baluta <daniel.baluta@nxp.com>, 
	Christophe Leroy <christophe.leroy@csgroup.eu>, Len Brown <len.brown@intel.com>, 
	Ard Biesheuvel <ardb@kernel.org>, Ranjani Sridharan <ranjani.sridharan@linux.intel.com>, 
	"Rafael J. Wysocki" <rafael@kernel.org>, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Nicholas Piggin <npiggin@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>, 
	Eric Biederman <ebiederm@xmission.com>, Dave Hansen <dave.hansen@linux.intel.com>, 
	Jaroslav Kysela <perex@perex.cz>, Joel Fernandes <joel@joelfernandes.org>, 
	Liam Girdwood <lgirdwood@gmail.com>, Peter Ujfalusi <peter.ujfalusi@linux.intel.com>, 
	Pavel Machek <pavel@ucw.cz>, Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>, 
	Kai Vehmanen <kai.vehmanen@linux.intel.com>, Steven Rostedt <rostedt@goodmis.org>, 
	"K. Y. Srinivasan" <kys@microsoft.com>, Ingo Molnar <mingo@redhat.com>, 
	Bjorn Helgaas <bhelgaas@google.com>, Dexuan Cui <decui@microsoft.com>, Takashi Iwai <tiwai@suse.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Bard Liao <yung-chuan.liao@linux.intel.com>, 
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	kexec@lists.infradead.org, alsa-devel@alsa-project.org, 
	stable@vger.kernel.org, sound-open-firmware@alsa-project.org, 
	linuxppc-dev@lists.ozlabs.org, linux-hyperv@vger.kernel.org, 
	linux-pci@vger.kernel.org, linux-pm@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

On Thu, Dec 1, 2022 at 12:08 PM Ricardo Ribalda <ribalda@chromium.org> wrote:
>
> Add a way to let the drivers know if the processes are frozen.
>
> This is needed by drivers that are waiting for processes to end on their
> shutdown path.
>
> Convert pm_freezing into a function and export it, so it can be used by
> drivers that are either built-in or modules.
>
> Cc: stable@vger.kernel.org
> Fixes: 83bfc7e793b5 ("ASoC: SOF: core: unregister clients and machine drivers in .shutdown")
> Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>

Why can't you export the original pm_freezing variable and why is this
fixing anything?

> ---
>  include/linux/freezer.h |  3 ++-
>  kernel/freezer.c        |  3 +--
>  kernel/power/process.c  | 24 ++++++++++++++++++++----
>  3 files changed, 23 insertions(+), 7 deletions(-)
>
> diff --git a/include/linux/freezer.h b/include/linux/freezer.h
> index b303472255be..3413c869d68b 100644
> --- a/include/linux/freezer.h
> +++ b/include/linux/freezer.h
> @@ -13,7 +13,7 @@
>  #ifdef CONFIG_FREEZER
>  DECLARE_STATIC_KEY_FALSE(freezer_active);
>
> -extern bool pm_freezing;               /* PM freezing in effect */
> +bool pm_freezing(void);
>  extern bool pm_nosig_freezing;         /* PM nosig freezing in effect */
>
>  /*
> @@ -80,6 +80,7 @@ static inline int freeze_processes(void) { return -ENOSYS; }
>  static inline int freeze_kernel_threads(void) { return -ENOSYS; }
>  static inline void thaw_processes(void) {}
>  static inline void thaw_kernel_threads(void) {}
> +static inline bool pm_freezing(void) { return false; }
>
>  static inline bool try_to_freeze(void) { return false; }
>
> diff --git a/kernel/freezer.c b/kernel/freezer.c
> index 4fad0e6fca64..2d3530ebdb7e 100644
> --- a/kernel/freezer.c
> +++ b/kernel/freezer.c
> @@ -20,7 +20,6 @@ EXPORT_SYMBOL(freezer_active);
>   * indicate whether PM freezing is in effect, protected by
>   * system_transition_mutex
>   */
> -bool pm_freezing;
>  bool pm_nosig_freezing;
>
>  /* protects freezing and frozen transitions */
> @@ -46,7 +45,7 @@ bool freezing_slow_path(struct task_struct *p)
>         if (pm_nosig_freezing || cgroup_freezing(p))
>                 return true;
>
> -       if (pm_freezing && !(p->flags & PF_KTHREAD))
> +       if (pm_freezing() && !(p->flags & PF_KTHREAD))
>                 return true;
>
>         return false;
> diff --git a/kernel/power/process.c b/kernel/power/process.c
> index ddd9988327fe..8a4d0e2c8c20 100644
> --- a/kernel/power/process.c
> +++ b/kernel/power/process.c
> @@ -108,6 +108,22 @@ static int try_to_freeze_tasks(bool user_only)
>         return todo ? -EBUSY : 0;
>  }
>
> +/*
> + * Indicate whether PM freezing is in effect, protected by
> + * system_transition_mutex.
> + */
> +static bool pm_freezing_internal;
> +
> +/**
> + * pm_freezing - indicate whether PM freezing is in effect.
> + *
> + */
> +bool pm_freezing(void)
> +{
> +       return pm_freezing_internal;
> +}
> +EXPORT_SYMBOL(pm_freezing);

Use EXPORT_SYMBOL_GPL() instead, please.

> +
>  /**
>   * freeze_processes - Signal user space processes to enter the refrigerator.
>   * The current thread will not be frozen.  The same process that calls
> @@ -126,12 +142,12 @@ int freeze_processes(void)
>         /* Make sure this task doesn't get frozen */
>         current->flags |= PF_SUSPEND_TASK;
>
> -       if (!pm_freezing)
> +       if (!pm_freezing())
>                 static_branch_inc(&freezer_active);
>
>         pm_wakeup_clear(0);
>         pr_info("Freezing user space processes ... ");
> -       pm_freezing = true;
> +       pm_freezing_internal = true;
>         error = try_to_freeze_tasks(true);
>         if (!error) {
>                 __usermodehelper_set_disable_depth(UMH_DISABLED);
> @@ -187,9 +203,9 @@ void thaw_processes(void)
>         struct task_struct *curr = current;
>
>         trace_suspend_resume(TPS("thaw_processes"), 0, true);
> -       if (pm_freezing)
> +       if (pm_freezing())
>                 static_branch_dec(&freezer_active);
> -       pm_freezing = false;
> +       pm_freezing_internal = false;
>         pm_nosig_freezing = false;
>
>         oom_killer_enable();
>
> --


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 18:21:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 18:21:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452202.710019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Aew-00061n-9U; Fri, 02 Dec 2022 18:21:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452202.710019; Fri, 02 Dec 2022 18:21:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Aew-00061g-6G; Fri, 02 Dec 2022 18:21:14 +0000
Received: by outflank-mailman (input) for mailman id 452202;
 Fri, 02 Dec 2022 18:21:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p1Aeu-00061a-Lz
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 18:21:12 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 161ab56b-726e-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 19:21:08 +0100 (CET)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by SJ0PR12MB5675.namprd12.prod.outlook.com (2603:10b6:a03:42d::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 18:21:03 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb%6]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 18:21:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 161ab56b-726e-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E2WQKw+MzIylEXQmPhnf/4W8M6wgI+baxH74TxpwJerlF7NBl6UvdRlJp/zRn3djoEm20eVDaAVrPqsOC+AMOnZZg/vXJL/tc+ft2+2SEeYfgbNClpIwpg5CnPx/01vDzOWy+TisrR8ZhZoVU4zi+8/fT87gJTMYSsLd35r+Yx1B+Z9VT6hdc7AyoIvjQ75fb0UZ5x1SYCiRE6vs9XPgeLAFnZrCqycsxTys/mz08MRz++Gy+8f7MgCC8PE2ScwQfVZQrpV2P/R7xdw2hF066sKTN6XYVMNDDuXm2kqY09qN8WAzJx5PmkZdUkWlNzqZFyceFiROODORuExY9/gKBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BZ69CHRlfdN4I3hVCpWV/lfxUwjlocGG+HP+RS/t750=;
 b=Ndsh+Rr4Kf3tHUiXKYoDLTZZzOP0IX3RrTgpKXkN7lh460Gs9UgHiSSG4tyJ/8gGeKrdSiib7hhCInGGfJrK2tc0nsNf7Dw2IQ2UFplrxmiIrwwBXV3z+4YXkQIY7fDRQW4Oi9pLfkxJ/Ho1HTUVhfA3yhmol9AxtO2B938FuOBD6IxVARgT/slVVI53wygY+NC9pTxYcOaKomYBe5eZD2yz+otRiD2AUabp1hq+05rOO82yCtasqsAbCC2EEdcz2p1Cjsgm9xY8FngunCXFLk3RWYv7raFVsTbcb3zK7+kD2peOQT08yi3/PvlvOs6dXRVfe7cSN9Pcg2GK7vjJmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BZ69CHRlfdN4I3hVCpWV/lfxUwjlocGG+HP+RS/t750=;
 b=m+9KqDxzbXRY3uJpnKd6PLAHXlDGcjz2bHhvgo7K0v3ht940wXnhoTbQqyQyWPrBsqkZ3/Ex3FvEItsGVkUVjtlGbQ/ScHxiw5xVvvV3wPbyXWhc4gvaHRqAfB7IuvuAwQeride1Zs9HTpSupFa0tsUggcMNaNMdFGjtRA72aPg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <2864aede-36cd-c55b-dc51-71f7ce40017a@amd.com>
Date: Fri, 2 Dec 2022 10:20:59 -0800
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [QEMU][PATCH v2 07/11] hw/xen/xen-hvm-common: Use g_new and
 error_setg_errno
To: Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
Cc: qemu-dev@xilinx.com, stefano.stabellini@amd.com, alex.bennee@linaro.org,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:All patches CC here" <qemu-devel@nongnu.org>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
 <20221202030003.11441-8-vikram.garhwal@amd.com>
 <e7922267-9a87-8936-942e-e73a789672f9@linaro.org>
 <871qpitcdb.fsf@pond.sub.org>
Content-Language: en-US
From: Vikram Garhwal <vikram.garhwal@amd.com>
In-Reply-To: <871qpitcdb.fsf@pond.sub.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: SJ0PR13CA0228.namprd13.prod.outlook.com
 (2603:10b6:a03:2c1::23) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|SJ0PR12MB5675:EE_
X-MS-Office365-Filtering-Correlation-Id: af8f74b4-2cc9-4e70-f064-08dad491f7b5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L8YVxEvpeVVY6otBec37zqgODdTIQLgflo92hPasglVlBiRZej4ZP/MsYJd27Df4kj1mFW8fSyu6yux13Q7GRKcC+ZaVKPYpsx86N5YZNTMvEwmvSkt68hENJwpXMfd1ybYvCYdDt/E1Ig1EpJJOdUhE4Vnd0IxjEOZ81mPMmc2o0ddhbr3eEgXGRTQD8Qkf+6ax8bDrWsFa9lnC3CyHzlNzZTU2jrFEY6Be2f6u9suFnrq7DVK0gt99QXEpce2HwmLMuZ2cutsSimyP1J59ncuUo3X2BpcREPii1TWCJi/bzmRJL/vhozi715UeLZJXRMdRVlDlohNiyYv/9VLOpcj+0plf6Bm7X2Is3osDcwsuINKNszqQxL8/WetPFXJiDK3bzOBfSBcdFY3ovEdHsBBh0vqHpMzKU/aqmewGHUS7/XaC0/YZQyf8JNX01A20aLj3yrKpVUHzcYqlOTUnPMIw7twC70SZTwsJqVESzU2Ln0IiVZVGSDg6ZRIyXOvzyTohZFPzEFigUzLQEf8LFSbOmYYGp6XsnTvZISX+B5sfBTv7WD4kRmrbO0CiggrUUVOvk1i+idzFVGy/BRrS/8DVog4MfaGrs19hH0iP5ShfM5xt4+mZBAvLn+W61bb/OO4nDEoSuvI7AtyvqV7P/1/0CbdecFR1Evcn6Gkv1WSNL+oDxtaa7fYLAibh/75O8gmdFW81uOAVZVWvjZC6LkMbjrnNV08+xHoPSlWGF5Q=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(346002)(396003)(136003)(366004)(451199015)(41300700001)(44832011)(31686004)(5660300002)(6666004)(4326008)(110136005)(54906003)(2906002)(2616005)(8676002)(8936002)(36756003)(316002)(66476007)(66946007)(66556008)(26005)(6486002)(86362001)(38100700002)(478600001)(53546011)(31696002)(6512007)(6506007)(186003)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dVdibzg1RGEvQkVpaWZjZEluRHB3alpKQnlWT2UvUUZuY1Y3OU9rQmhWV1hV?=
 =?utf-8?B?dkowNHFkK0psMVB6dGJqam10VlVsS2IvaWI3dzVFSEhFT3h3QzUxN24zZDJu?=
 =?utf-8?B?QUc0WUg1Um1JSWJSdGVrdlNLZzJ5OHYrVkt2dTJQN01OVWZBVzNCbXZ3NUZF?=
 =?utf-8?B?YUdtcExYVHRZdFBLaW9uQm5xU1VUYU5MSnUxVWt4eHh6UndhcVJMM3JGZGZO?=
 =?utf-8?B?K1RYUk1QR29tOFdmbW8wb213cGhLUWRxZklDN1B6a293Vi9YYWVlQzRzREth?=
 =?utf-8?B?cWtEc25BaVFjTmdrQWt5YVd1RE1jNzZWUmI4dnZoWStSQ2dKNmpOYy9nV0xV?=
 =?utf-8?B?UkNXa3V6eUxSYlNVRzBnT0p4VkRnV0hnOEFtaHVZRmVRYU5RZitDQmo3RXpL?=
 =?utf-8?B?UlJseEM4L1VETVdvb0k4cWQ5RzhvUy9nS0RDcEJmZVdFM3NxSmY2MUZyQkx0?=
 =?utf-8?B?K3VIaytwa3RvWmQ5ZWhpbjhLYjVKMkQrbitacnIxbVJUd3YybDdQMDJjRjVm?=
 =?utf-8?B?aGJsUjBpNUtpK0JaWDVQU0hNeEFHSmJHUE9JMHBZZlExY0pCRnVaYUM2NXNM?=
 =?utf-8?B?NFlwQU1QREZsTENDTit0bDh3MXZYUW01WHZUa3VNVWRiZ3hYSGFZRUl3dzVx?=
 =?utf-8?B?aGxIOExhQjJmTzhFTGNoV0NaVnhVUnBwYjY0b01RMDRvM2U5OTZLMzZoZldo?=
 =?utf-8?B?ZjJxeDY5NjRrMWdiSEJpaHJTdEtQdGkxVjBzTkJETGZ5citYbXpkMUNaTldJ?=
 =?utf-8?B?eHBwZEVHbDhaNjRmN1FiU3B5RTlVV1d1U0VtU1dQckdFZW5XNUY2dTN3bElR?=
 =?utf-8?B?b1JjVXpSdGN2UWVTZnFqaVI2NjJNTkUrSFRTMUF6THpmRHRTL3N6c053bDRo?=
 =?utf-8?B?VWxzS0dra2RNWEg2NEQ3QWZNNVlXLzJoayt3N2tXT1VubFB0M0ZUUytvQTZm?=
 =?utf-8?B?eHNCaW1DV3Y1VnNtbWdJRkZJNE5qbU1FdmFLYSttWHJSRCtNYXpLVmFtam5Q?=
 =?utf-8?B?ZXhONlNjUVVBZzVPMm9weWNwRVF0VHR5VUMvSXBMUG92WXNRRmlKdG1kUzVm?=
 =?utf-8?B?REdWZVpJbU9INitHUGdFeFE5dnhkczZYdWdyNFk3MjZTU3R5Z2Z1bzhGU1Za?=
 =?utf-8?B?TW05UXhyTkNiSGV3K0ltRW9kMGpoUEJweCthUGNnQU13SFd3QW9Db0h3SkZ5?=
 =?utf-8?B?bGYrNktBNFBHVFpxcXZ3UHBFcVVwcnNVNEJ5UGp3bVdVelUyaEpzMjcyU0ho?=
 =?utf-8?B?R2xVYUlBQUlEays5Y3N4dXFYYURQRk83d0VWWFkrRUkvZmVOeEhKRnpmSkR2?=
 =?utf-8?B?NUNnbzVscWdMZ2grRElDeDZFVEczQnJ5WUI2Y0VTZTBiVnd6dDYzcXd4Q2JM?=
 =?utf-8?B?K2Fmb0s0aUtvbzAxdXZBU2kvSGhXam0wM0lmN09ZL3diVkQxMnJEUExIRWxr?=
 =?utf-8?B?d3B1cWgxcHRFU1ViaXJvVk1UOURSUU5hSVpiejZvUFZOVEc5Tm04S0Y3YjhG?=
 =?utf-8?B?dEppRjlVcXkwQVhlUjJXWUZjWnV0eEdtNklTRS9KcDE2Smp0cE5HTGY5a3Y2?=
 =?utf-8?B?MU9TMU1rVjE0K1VqL3dFb3pJaGg2aXllQSsvZXhsZEpUWGk3NEtqUWdUTTN6?=
 =?utf-8?B?ZkoxcjNmNldkZDhjd2VMMWpjTHdKTFFZNW1hSkNpUG5LN0pvNHhvdUZKRmVp?=
 =?utf-8?B?cXJxRzJlcXJXUnNQSjFFRVE2aittMGFJc1ZOOUY5VGxEQnJVNEtqMkR4RmZT?=
 =?utf-8?B?bDMyMmlmazF5bzNHNkZmUHNCVXFpTmZtWTF3Y25WWWlGZG9FMlVOcGNYcE5B?=
 =?utf-8?B?UDFaUlhPWjZBMHJQQTZ0aloxSCtxcHhaQ1RpcVhCb1FIeXpqSkJMT3VUSXpG?=
 =?utf-8?B?b0U2bWw0SlZGQ0ErNHBJRCtsaTZ6R1pDN0xZTXZmd1RWU0pHMUlVTFcrdTNS?=
 =?utf-8?B?VXY2M2dyQzcyeFF6TkZWRXQ3OTNBdkFaRVNlenRDTXBsLzVjZ0lUcGUxQmZ5?=
 =?utf-8?B?REpOdC9Qcy9heWdZZDFjZWw2RDdPYUYyTFhTUDVvbGUrNzg5T1k2dDFGZHMy?=
 =?utf-8?B?R0hnS05kNXY0YW8vYXgwV3N0MTA2QlRORUZVVlhacnZudFArOTVqbDBvL2lq?=
 =?utf-8?Q?WrqKAJIzxB0CEfMXxaSe+ikfJ?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: af8f74b4-2cc9-4e70-f064-08dad491f7b5
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 18:21:03.4491
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Va47j+57Nkq+GudKZ52lRu+xkFUhaIQlP8JMdh+NBYQ46GDQKgtu8FToWor8pi4lkJTxm2ZYmAhteBD/qclIdQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB5675

Hi Markus & Philippe,

Thanks for reviewing this one. Please see the question below.

On 12/2/22 12:53 AM, Markus Armbruster wrote:
> Philippe Mathieu-Daudé <philmd@linaro.org> writes:
>
>> On 2/12/22 03:59, Vikram Garhwal wrote:
>>> Replace g_malloc with g_new and perror with error_setg_errno.
>>>
>>> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
>>> ---
>>>    hw/xen/xen-hvm-common.c | 15 ++++++++-------
>>>    1 file changed, 8 insertions(+), 7 deletions(-)
>>
>>> @@ -717,7 +717,7 @@ void destroy_hvm_domain(bool reboot)
>>>       xc_interface *xc_handle;
>>>       int sts;
>>>       int rc;
>>> -
>>> +    Error *errp = NULL;
>>>       unsigned int reason = reboot ? SHUTDOWN_reboot : SHUTDOWN_poweroff;
>>>    
>>>       if (xen_dmod) {
>>> @@ -726,7 +726,7 @@ void destroy_hvm_domain(bool reboot)
>>>               return;
>>>           }
>>>           if (errno != ENOTTY /* old Xen */) {
>>> -            perror("xendevicemodel_shutdown failed");
>>> +            error_setg_errno(&errp, errno, "xendevicemodel_shutdown failed");
>> See "qapi/error.h":
>>
>>    * = Passing errors around =
>>    *
>>    * Errors get passed to the caller through the conventional @errp
>>    * parameter.
>>
>> Here you are not passing the error to the caller.
> Instead, you're leaking its memory.
>
>> Maybe you are looking for the "qemu/error-report.h" API?
> Plausible.
>
> Also, @errp is the conventional name for the Error ** parameter used to
> pass errors to the caller.  Local Error * variables are usually called
> @err or @local_err (I prefer the former).
>
> [...]
>
IIUC, error_set_errno() is not okay as it needs to be called with errp 
from caller. But error_set(&err, "") is okay with locally defined **err 
= NULL;
Is that correct understanding?



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 18:23:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 18:23:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452208.710030 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Ags-0006pY-LZ; Fri, 02 Dec 2022 18:23:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452208.710030; Fri, 02 Dec 2022 18:23:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Ags-0006pR-Ie; Fri, 02 Dec 2022 18:23:14 +0000
Received: by outflank-mailman (input) for mailman id 452208;
 Fri, 02 Dec 2022 18:23:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UK+Q=4A=citrix.com=prvs=328d67578=Per.Bilse@srs-se1.protection.inumbo.net>)
 id 1p1Agr-0006oY-Sw
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 18:23:13 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5fee02eb-726e-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 19:23:11 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5fee02eb-726e-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670005391;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=gAOD2HLW+FgGkXa1Ue6HVdt4qLdq0575m3Oy0nWGWHU=;
  b=INNdBRTOTUSUuHcACfKmQHsFWpfvNZj2OHXbeIbUWnuQ0WUfzONp2OO+
   M37OiCAAFRpVcHN1xgdHa1tbkUtG62oBBJ3814KGU2gOvENdAUZlAOQ0q
   L+oopY2YJyS1IS0ZkZpadpIV4SD3zRRbd/fHf8Bd8vIrXUgSa3GFBQlq+
   c=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 86327926
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Q+OIaqJISpxqNqPwFE+RBpUlxSXFcZb7ZxGr2PjKsXjdYENSgmcPn
 GsZX2GHPKqIYjTwc49xYdi2pE5V7JLczYcyQAZlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5ARkPasjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5pG0Bgz
 qdCLgsjSS+fv+7vwLyCaeRj05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpPE+ojx5nYz/7DLoGkf3urHj7aDBwo1OJv6snpWPUyWSd1ZC9boGPJY3QG625mG6lp
 TnG4T3GHyhdE8LF0yW4/3WAnN7AyHaTtIU6S+Tjq68CbEeo7ncIFBQcWF+/oP+4ok2zQdRSL
 woT4CVGha82+U+wR9/xRSqksWWEtR4RXdlXO+Ai4QTLwa3Riy6JC25BQjNfZdgOsM4tWSdsx
 lKPh8nuBzFkrPuSU3313rOVqy6ifCsYN2kPYQcaQgYfpdruuoc+ilTIVNkLOKy6lNruAhnr3
 iuH6iM5gt0uYdUjjvvhuwqd2nT1+8aPHlVdChjrsnyN8BlYSrX+PYqTx3/k8c5MdYaXd3qMs
 y1R8ySB19wmAZaInS2LZewCGrC1+vqIWAHhbU5T84oJrGr0pSP6FWxEyHQnfRoybJ5YEdP8S
 BWL0T698qO/K5dDgUVfR4uqQ/onwqH7fTgOfqCFN4EeCnSdmeLuwc2PWaJy9zq1+KTPuftlU
 Xt+TSpLJShyNEif5GDqL9rxKJdyrszE+UvdRIrg0zOs2qeEaXieRN8taQXQP7Fgvf3d+1uMr
 r6z0vdmLD0GAIXDjtT/q9ZPfTjm01BkbXwJlyCnXrHaeVc3cI3QI/TQ3akga+RYc1d9z4/1E
 oWGchYAkjLX3CSXQThmn1g/MNsDq74j9yNkVcHtVH70s0UejXGHtfZGJ8RpIOh/pISOD5dcF
 pE4RilJOdwXIhyvxtjXRcCVQFBKHPhzuT+zAg==
IronPort-HdrOrdr: A9a23:UAKW7KhXLCEgjmdBWDdH9M2+DHBQXssji2hC6mlwRA09TyX4rb
 HMoB1/73SftN9/YhwdcK+7Scu9qB/nmaKdgrNwAV7BZmfbUQKTRelfBODZogEIdReQygdV79
 YET5RD
X-IronPort-AV: E=Sophos;i="5.96,213,1665460800"; 
   d="scan'208";a="86327926"
From: Per Bilse <per.bilse@citrix.com>
To: <linux-kernel@vger.kernel.org>
CC: Per Bilse <per.bilse@citrix.com>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, "moderated list:XEN HYPERVISOR INTERFACE"
	<xen-devel@lists.xenproject.org>
Subject: [PATCH] drivers/xen/hypervisor: Expose Xen SIF flags to userspace
Date: Fri, 2 Dec 2022 18:22:54 +0000
Message-ID: <20221202182254.784808-1-per.bilse@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

/proc/xen is a legacy pseudo filesystem which predates Xen support
getting merged into Linux.  It has largely been replaced with more
normal locations for data (/sys/hypervisor/ for info, /dev/xen/ for
user devices).  We want to compile xenfs support out of the dom0 kernel.

There is one item which only exists in /proc/xen, namely
/proc/xen/capabilities with "control_d" being the signal of "you're in
the control domain".  This ultimately comes from the SIF flags provided
at VM start.

This patch exposes all SIF flags in /sys/hypervisor/start_flags/ as
boolean files, one for each bit, returning '1' if set, '0' otherwise.
Two known flags, 'privileged' and 'initdomain', are explicitly named,
and all remaining flags can be accessed via generically named files,
as suggested by Andrew Cooper.

This patch replaces previous suggestion for SIF flags exposure in its
entirety.

Signed-off-by: Per Bilse <per.bilse@citrix.com>
---
 Documentation/ABI/stable/sysfs-hypervisor-xen |  8 +++
 drivers/xen/sys-hypervisor.c                  | 70 +++++++++++++++++--
 2 files changed, 74 insertions(+), 4 deletions(-)

diff --git a/Documentation/ABI/stable/sysfs-hypervisor-xen b/Documentation/ABI/stable/sysfs-hypervisor-xen
index 748593c64568..f52f98548184 100644
--- a/Documentation/ABI/stable/sysfs-hypervisor-xen
+++ b/Documentation/ABI/stable/sysfs-hypervisor-xen
@@ -120,3 +120,11 @@ Contact:	xen-devel@lists.xenproject.org
 Description:	If running under Xen:
 		The Xen version is in the format <major>.<minor><extra>
 		This is the <minor> part of it.
+
+What:		/sys/hypervisor/start_flags/*
+Date:		December 2022
+KernelVersion:	6.1.0
+Contact:	xen-devel@lists.xenproject.org
+Description:	If running under Xen:
+		All bits in Xen's start-flags are represented as
+		boolean files, returning '1' if set, '0' otherwise.
diff --git a/drivers/xen/sys-hypervisor.c b/drivers/xen/sys-hypervisor.c
index fcb0792f090e..e15d3ff2c56f 100644
--- a/drivers/xen/sys-hypervisor.c
+++ b/drivers/xen/sys-hypervisor.c
@@ -31,7 +31,10 @@ struct hyp_sysfs_attr {
 	struct attribute attr;
 	ssize_t (*show)(struct hyp_sysfs_attr *, char *);
 	ssize_t (*store)(struct hyp_sysfs_attr *, const char *, size_t);
-	void *hyp_attr_data;
+	union {
+		void *hyp_attr_data;
+		unsigned long hyp_attr_value;
+	};
 };
 
 static ssize_t type_show(struct hyp_sysfs_attr *attr, char *buffer)
@@ -399,6 +402,61 @@ static int __init xen_sysfs_properties_init(void)
 	return sysfs_create_group(hypervisor_kobj, &xen_properties_group);
 }
 
+#define FLAG_UNAME "unknown"
+#define FLAG_UNAME_FMT FLAG_UNAME "%02u"
+#define FLAG_UNAME_MAX sizeof(FLAG_UNAME "XX")
+#define FLAG_COUNT (sizeof(xen_start_flags) * BITS_PER_BYTE)
+static_assert(sizeof(xen_start_flags) 
+		<= sizeof_field(struct hyp_sysfs_attr, hyp_attr_value));
+
+static ssize_t flag_show(struct hyp_sysfs_attr *attr, char *buffer)
+{
+	char *p = buffer;
+
+	*p++ = '0' + ((xen_start_flags & attr->hyp_attr_value) != 0);
+	*p++ = '\n';
+	return p - buffer;
+}
+
+/*
+* Add new, known flags here.  No other changes are required, but
+* note that each known flag wastes one entry in flag_unames[].
+* The code/complexity machinations to avoid this isn't worth it
+* for a few entries, but keep it in mind.
+*/
+static struct hyp_sysfs_attr flag_attrs[FLAG_COUNT] = {
+	[ilog2(SIF_PRIVILEGED)] = {
+		.attr = { .name = "privileged", .mode = 0444 },
+		.show = flag_show,
+		.hyp_attr_value = SIF_PRIVILEGED
+	},
+	[ilog2(SIF_INITDOMAIN)] = {
+		.attr = { .name = "initdomain", .mode = 0444 },
+		.show = flag_show,
+		.hyp_attr_value = SIF_INITDOMAIN
+	}
+};
+static struct attribute_group xen_flags_group = {
+	.name = "start_flags",
+	.attrs = (struct attribute *[FLAG_COUNT + 1]){}
+};
+static char flag_unames[FLAG_COUNT][FLAG_UNAME_MAX];
+
+static int __init xen_sysfs_flags_init(void)
+{
+	for (unsigned fnum = 0; fnum != FLAG_COUNT; fnum++) {
+		if (likely(flag_attrs[fnum].attr.name == NULL)) {
+			sprintf(flag_unames[fnum], FLAG_UNAME_FMT, fnum);
+			flag_attrs[fnum].attr.name = flag_unames[fnum];
+			flag_attrs[fnum].attr.mode = 0444;
+			flag_attrs[fnum].show = flag_show;
+			flag_attrs[fnum].hyp_attr_value = 1 << fnum;
+		}
+		xen_flags_group.attrs[fnum] = &flag_attrs[fnum].attr;
+	}
+	return sysfs_create_group(hypervisor_kobj, &xen_flags_group);
+}
+
 #ifdef CONFIG_XEN_HAVE_VPMU
 struct pmu_mode {
 	const char *name;
@@ -539,18 +597,22 @@ static int __init hyper_sysfs_init(void)
 	ret = xen_sysfs_properties_init();
 	if (ret)
 		goto prop_out;
+	ret = xen_sysfs_flags_init();
+	if (ret)
+		goto flags_out;
 #ifdef CONFIG_XEN_HAVE_VPMU
 	if (xen_initial_domain()) {
 		ret = xen_sysfs_pmu_init();
 		if (ret) {
-			sysfs_remove_group(hypervisor_kobj,
-					   &xen_properties_group);
-			goto prop_out;
+			sysfs_remove_group(hypervisor_kobj, &xen_flags_group);
+			goto flags_out;
 		}
 	}
 #endif
 	goto out;
 
+flags_out:
+	sysfs_remove_group(hypervisor_kobj, &xen_properties_group);
 prop_out:
 	sysfs_remove_file(hypervisor_kobj, &uuid_attr.attr);
 uuid_out:
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Dec 02 19:24:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 19:24:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452235.710049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Be5-0000ns-5P; Fri, 02 Dec 2022 19:24:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452235.710049; Fri, 02 Dec 2022 19:24:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Be5-0000nl-2h; Fri, 02 Dec 2022 19:24:25 +0000
Received: by outflank-mailman (input) for mailman id 452235;
 Fri, 02 Dec 2022 19:24:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cvrK=4A=gmail.com=bobbyeshleman@srs-se1.protection.inumbo.net>)
 id 1p1Be4-0000nf-1Q
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 19:24:24 +0000
Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com
 [2607:f8b0:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eb8cd654-7276-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 20:24:21 +0100 (CET)
Received: by mail-pf1-x42f.google.com with SMTP id 124so5830324pfy.0
 for <xen-devel@lists.xenproject.org>; Fri, 02 Dec 2022 11:24:21 -0800 (PST)
Received: from localhost (c-73-164-155-12.hsd1.wa.comcast.net. [73.164.155.12])
 by smtp.gmail.com with ESMTPSA id
 n1-20020aa79841000000b00574ffc5976fsm1691296pfq.159.2022.12.02.11.24.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 02 Dec 2022 11:24:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb8cd654-7276-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=i7zMQXLseO3+37CIy2MREKFVbfkVUmeJO5uifvTx69I=;
        b=k/oPhJVtEo1Z58kfrlfXxETwgKRQfAU+Lbjxk3xo+3NJrNnuslFfteDU0EE47TWEZs
         kX5fiFqbp52KgN10nxQ/VfIwDw/u83qhpimRfEvHZxdQPD2ffJxsytOrKZzV2KaWlPuC
         4aj9kqHrL5eYfOz7ED1p81HIHYvGDFZSmWbicqkrTRHmccqh93UVNB3rV+wPtlbJyV6s
         bVBdCnSMPYocbxKhqLwT7YN/p2MXmnaAns9YgaKALqPsgjltHsjDdttmRWjYZLiQvJOf
         x+/OBZbHdD01aYYQwTQk6rFlCyTpYAQFcVN4cgQnP5GwSntHsB+ZOi8mUGk+O7gd5DD7
         NKFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=i7zMQXLseO3+37CIy2MREKFVbfkVUmeJO5uifvTx69I=;
        b=eMyBZj33yDWa2+6I1CvLIgByWqhv1Hpv7fkzrtcao3p2lipJmgSnhmcw/pQ7qhQBLR
         B3UQrZNAqx4QXzJ8wJ5I56jtN77ORdKcREfJd0Y85ommqR2gMB8eybE4TDxMOS6tZPbF
         FjllqeByl2MBiYtHjiJICg7LMbyRe507g27hQkJcq8Wit2DW/QNwcop6pcSPnrqspx6K
         qTQVxsGmSAWCrFKqtiURbiG20R+FCIppRYd9SF7IQahPLa+E6sDio/tuJ2AkKxbtfu3V
         4Mu6W4v2aWJyBOG++AufXdkqn/Gu82B/8Gc0JyG64/OyZ0L06y0x7YHwpGqD6Otb/QxM
         1O7g==
X-Gm-Message-State: ANoB5pno7tdjoTQME8opCyebrzXYbC4xbvdSLkIe00BA+SVDrWBMK9py
	7MQOFkOIXACAfZkm4YlHaKw=
X-Google-Smtp-Source: AA0mqf5fvoLb6vF3zNrUYRsPhNJtPYQn72WrC90pJndlxDQWaDiMJdnTP1uglqQ7KFcP4AtekwTdJA==
X-Received: by 2002:a63:ce10:0:b0:478:5e53:4742 with SMTP id y16-20020a63ce10000000b004785e534742mr12426956pgf.471.1670009059452;
        Fri, 02 Dec 2022 11:24:19 -0800 (PST)
Date: Sun, 20 Nov 2022 17:01:34 +0000
From: Bobby Eshleman <bobbyeshleman@gmail.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>,
	"stefanos@xilinx.com" <stefanos@xilinx.com>,
	"julien@xen.org" <julien@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	"alistair.francis@wdc.com" <alistair.francis@wdc.com>,
	"connojdavis@gmail.com" <connojdavis@gmail.com>,
	"wl@xen.org" <wl@xen.org>
Subject: Re: [XEN v3] Xen: Ensure "xenheap_bits - PAGE_SHIFT" can be used as
 a rhs operand of shift operator
Message-ID: <Y3pdbqojLiyQKUlz@bullseye>
References: <20221202123559.33143-1-ayan.kumar.halder@amd.com>
 <1a42f92a-81e3-eba8-6831-900414e0e809@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1a42f92a-81e3-eba8-6831-900414e0e809@citrix.com>

On Fri, Dec 02, 2022 at 12:56:06PM +0000, Andrew Cooper wrote:
> On 02/12/2022 12:35, Ayan Kumar Halder wrote:
> > Currently this change will not have any impact on the existing architectures.
> > The following table illustrates PADDR_BITS vs BITS_PER_LONG of different archs
> >
> > ------------------------------------------------
> > | Arch      |   PADDR_BITS    |   BITS_PER_LONG |
> > ------------------------------------------------
> > | Arm_64    |   48            |   64            |
> > | Arm_32    |   40            |   32            |
> > | RISCV_64  |   Don't know    |   64            |
> 
> Just FYI, I think the answer here is 56 for RISC-V.
> 
> ~Andrew
> 

Andrew got it: 56.


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 19:24:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 19:24:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452236.710060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1BeK-00016F-DT; Fri, 02 Dec 2022 19:24:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452236.710060; Fri, 02 Dec 2022 19:24:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1BeK-000168-Ab; Fri, 02 Dec 2022 19:24:40 +0000
Received: by outflank-mailman (input) for mailman id 452236;
 Fri, 02 Dec 2022 19:24:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1BeI-00015c-Ni; Fri, 02 Dec 2022 19:24:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1BeI-0002yt-KX; Fri, 02 Dec 2022 19:24:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1BeI-0001YE-4n; Fri, 02 Dec 2022 19:24:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1BeI-0001Yy-4H; Fri, 02 Dec 2022 19:24:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IHS2Tm1esh1IWEAj8zvs9wt7QL72jhjBquDbFwZO3Jk=; b=a5PQS4k25+LpQ0Xjz+/so2zg1i
	a10wZiRRwOjNGzDEKxk4Fbxw7vaBN1iXQj4zdr69trTlX/WtlVM+vVn8hW+8BNXJyfqaR71LpSgMe
	iap6rQPwnCx8zBnPhg8SgJVM+ozoA1J9ghgW0Gs9pZ4ycb8XbCaSDUArU94+BEFpZBrY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175026-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175026: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=5d5be45bd11117c1e479863125e7d772e54772c9
X-Osstest-Versions-That:
    ovmf=47d988387efc8b45561f542f7a8e5b6a43979a8c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 19:24:38 +0000

flight 175026 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175026/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 5d5be45bd11117c1e479863125e7d772e54772c9
baseline version:
 ovmf                 47d988387efc8b45561f542f7a8e5b6a43979a8c

Last test of basis   175017  2022-12-02 01:10:50 Z    0 days
Testing same since   175026  2022-12-02 14:40:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Zhihao Li <zhihao.li@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   47d988387e..5d5be45bd1  5d5be45bd11117c1e479863125e7d772e54772c9 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 19:54:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 19:54:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452262.710078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1C6s-0006Yy-Rn; Fri, 02 Dec 2022 19:54:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452262.710078; Fri, 02 Dec 2022 19:54:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1C6s-0006Yr-Oz; Fri, 02 Dec 2022 19:54:10 +0000
Received: by outflank-mailman (input) for mailman id 452262;
 Fri, 02 Dec 2022 19:54:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1C6r-0006Xb-0I; Fri, 02 Dec 2022 19:54:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1C6q-0003cM-UM; Fri, 02 Dec 2022 19:54:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1C6q-0002EB-JP; Fri, 02 Dec 2022 19:54:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1C6q-00010Y-Iw; Fri, 02 Dec 2022 19:54:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FWkXDXmik+5pqC4eg4FnvCE0BC5NfRhgzKpraHUIFD4=; b=RhIqL65giXQROojgXCVs+mcnfz
	XjtOxjom5GW74C47MVS9CVepDE7QaHDXaLfsJehQvpWDkqiml6ewCdK5HedcTaQiREQIQRfB8lald
	1EziNEnRE9vaKabSiYuC+NkBkvpPy7pmJfS4pl7TDTht1F/VyqLt1alUhI8AVrM2dp88=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175021-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175021: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-livepatch:xen-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=8b3c06a3e545204515e50733669ad6f5c7bddfd8
X-Osstest-Versions-That:
    xen=ddcc208ccdd44c688b3265be26237875c16b6258
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 02 Dec 2022 19:54:08 +0000

flight 175021 xen-unstable real [real]
flight 175027 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175021/
http://logs.test-lab.xenproject.org/osstest/logs/175027/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-livepatch     7 xen-install              fail REGR. vs. 175009

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175009
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175009
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175009
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175009
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175009
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175009
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175009
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175009
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175009
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175009
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175009
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175009
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  8b3c06a3e545204515e50733669ad6f5c7bddfd8
baseline version:
 xen                  ddcc208ccdd44c688b3265be26237875c16b6258

Last test of basis   175009  2022-12-01 15:40:23 Z    1 days
Testing same since   175021  2022-12-02 07:22:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Edwin Török <edvin.torok@citrix.com>
  Julien Grall <jgrall@amazon.com>
  Pau Ruiz Safont <pau.safont@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 360 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 20:18:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 20:18:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452273.710088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1CUb-0002P6-UF; Fri, 02 Dec 2022 20:18:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452273.710088; Fri, 02 Dec 2022 20:18:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1CUb-0002Oz-Rc; Fri, 02 Dec 2022 20:18:41 +0000
Received: by outflank-mailman (input) for mailman id 452273;
 Fri, 02 Dec 2022 20:18:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=cQDv=4A=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1p1CUa-0002Ot-G5
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 20:18:40 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 80c87af7-727e-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 21:18:38 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 2B2KIFl5075715
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Fri, 2 Dec 2022 15:18:21 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 2B2KIF5f075714;
 Fri, 2 Dec 2022 12:18:15 -0800 (PST) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80c87af7-727e-11ed-91b6-6bf2151ebd3b
Date: Fri, 2 Dec 2022 12:18:15 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: George Dunlap <George.Dunlap@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [ANNOUNCE] Call for agenda items for 1 December Community Call @
 1600 UTC
Message-ID: <Y4pdhzQBdI77b5oR@mattapan.m5p.com>
References: <Y4kjIaU6PxrR9UcB@mattapan.m5p.com>
 <A28E972F-8F8E-4370-9BCC-A56E8D19674E@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <A28E972F-8F8E-4370-9BCC-A56E8D19674E@citrix.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Fri, Dec 02, 2022 at 11:17:18AM +0000, George Dunlap wrote:
> 
> 
> > On 1 Dec 2022, at 21:56, Elliott Mitchell <ehem+xen@m5p.com> wrote:
> > 
> > On Thu, Nov 24, 2022 at 05:11:36PM +0000, George Dunlap wrote:
> >> 
> >> == Dial-in Information ==
> >> ## Meeting time
> >> 16:00 - 17:00 UTC
> >> Further International meeting times:
> >> https://www.timeanddate.com/worldclock/meetingdetails.html?year=2022&month=12&day=1&hour=16&min=0&sec=0&p1=1234&p2=37&p3=224&p4=179
> >> 
> 
> Ellliot,
> 
> Thanks for your feedback.  Replies in-line.
> 
> > I guess I have to ask, what is the goal of the Community Call?  Neither
> > this message, nor the wiki page
> > (https://wiki.xenproject.org/wiki/Community_Call) say much about the
> > Community Call.
> 
> The goal of the call in general is just to talk about things that need talking about.  We obviously have the mailing list, but sometimes discussions here are easy to miss; and sometimes a discussion can get sorted out more quickly with a fast back-and-forth than with long email chains.  The intent has always been that if we start getting one topic that consistently 1) takes up a large amount of time and 2) only requires a subset of the attendees, to split it off into a separate meeting.
> 

The page on the wiki and announcement should provide some sort of
statement.  I'm still unsure the two items I was proposing were good
candidates as they're more "these two /should/ be getting more
attention".

> > This seemed to be being pointed out at the end of D.3, which was meant as
> > low-priority, but was dealt with first purely due to being added first.
> > Then most of the time was spent on D.4 when D.9 actually seemed a rather
> > timely issue (the idea to get a bit of consideration before 4.17).
> 
> To be honest, part of my reluctance to move that one up in the agenda was because it was my own item.  Even with the number of items ahead of it, I didn’t expect it to be a problem to get to — there were several items which took much longer to discuss than I was expecting.  In the future I’ll be more pro-active about trying to prioritize things.
> 

First there is a need to know whether things can run long or not.  If
key people need to drop out right at the end of the specified time,
prioritization is important.  If everyone can run long, then in-order is
fine.

> > Problem with D.1 being at the start is it was unexpected half the agenda
> > would be thrown in the garbage due to time.  Could I suggest the 10th as
> > better?
> 
> The 10th of January instead of the 12th of January?  Why is that better?
> 
> I work as a stay-at-home dad on Tuesdays, so I wouldn’t be able to chair the meeting if it was on the 10th.
> 

As stated, I didn't expect everything to get dropped on the floor and so
didn't comment on the 12th being no-go for me.  I've no idea which dates
work better for whom, but the 10th or before is workable for me (heck,
even the 29th is viable, but I suspect that will be worse for others).


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Fri Dec 02 21:17:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 21:17:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452281.710100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1DPL-0004HJ-9a; Fri, 02 Dec 2022 21:17:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452281.710100; Fri, 02 Dec 2022 21:17:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1DPL-0004HC-6x; Fri, 02 Dec 2022 21:17:19 +0000
Received: by outflank-mailman (input) for mailman id 452281;
 Fri, 02 Dec 2022 21:17:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=myKJ=4A=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p1DPK-0004H6-78
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 21:17:18 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b11911a1-7286-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 22:17:15 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A4ED7623E8;
 Fri,  2 Dec 2022 21:17:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5AEB5C433C1;
 Fri,  2 Dec 2022 21:17:11 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b11911a1-7286-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670015833;
	bh=Daxnn9PxSBnQ8obySBdXs/Ovh5ZwL9UWPHAxJS63sKY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=RSCYRwi9hysgKOyVwJQDTH8mRGQd59YQETBzp9rlNcmhbbpM5BjBVs7V3nf7cHBDV
	 lxSNpuM1uOPDKeJyikEj0ZPezdXfdDSymlre2rM+OPkf1E58KcH2vyk5b3EDZroWDZ
	 rfl3xq2GUjdkDQnucuLWg5jainrPDIboIQKHJVL0wJ3S0r3xv7LJhKqy8I9y7BpeVW
	 OLqywA30xZ04b2Zi3lc3xRpu82rGFQ4vm69Xr3v44jbdc2kUvvGAdE1EPmjQmZ538v
	 Q5ikTHz+INkccLYZLvWDrPHIjP8+bnFEC3z6AJsDtM7MtguaGUNHrvVg0DxSg8vnRX
	 YB0W+7A3HSI9w==
Date: Fri, 2 Dec 2022 13:17:09 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
cc: Vikram Garhwal <vikram.garhwal@amd.com>, qemu-dev@xilinx.com, 
    Paolo Bonzini <pbonzini@redhat.com>, stefano.stabellini@amd.com, 
    alex.bennee@linaro.org, xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, 
    "open list:All patches CC here" <qemu-devel@nongnu.org>, 
    =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>, 
    Thomas Huth <thuth@redhat.com>
Subject: Re: [QEMU][PATCH v2 05/11] include/hw/xen/xen_common: return error
 from xen_create_ioreq_server
In-Reply-To: <4b143736-d5a4-ac75-3671-9566a00707af@linaro.org>
Message-ID: <alpine.DEB.2.22.394.2212021316530.4039@ubuntu-linux-20-04-desktop>
References: <20221202030003.11441-1-vikram.garhwal@amd.com> <20221202030003.11441-6-vikram.garhwal@amd.com> <a45c902a-043d-5256-7961-40c8aabd89b4@linaro.org> <4b143736-d5a4-ac75-3671-9566a00707af@linaro.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-181244257-1670015833=:4039"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-181244257-1670015833=:4039
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 1 Dec 2022, Philippe Mathieu-Daudé wrote:
> On 2/12/22 08:19, Philippe Mathieu-Daudé wrote:
> > Hi Stefano and Vikram,
> > 
> > On 2/12/22 03:59, Vikram Garhwal wrote:
> > > From: Stefano Stabellini <stefano.stabellini@amd.com>
> > > 
> > > This is done to prepare for enabling xenpv support for ARM architecture.
> > > On ARM it is possible to have a functioning xenpv machine with only the
> > > PV backends and no IOREQ server. If the IOREQ server creation fails,
> > > continue to the PV backends initialization.
> > > 
> > > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > > Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> > > ---
> > >   include/hw/xen/xen_common.h | 13 ++++++++-----
> > >   1 file changed, 8 insertions(+), 5 deletions(-)
> > > 
> > > diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
> > > index 77ce17d8a4..6510ac15e0 100644
> > > --- a/include/hw/xen/xen_common.h
> > > +++ b/include/hw/xen/xen_common.h
> > > @@ -467,9 +467,10 @@ static inline void xen_unmap_pcidev(domid_t dom,
> > >   {
> > >   }
> > > -static inline void xen_create_ioreq_server(domid_t dom,
> > > -                                           ioservid_t *ioservid)
> > 
> > How long are we supposed to maintain this code? Per [*]:
> > 
> >    In general XenProject.org supports stable branches for 18 months full
> >    support plus 18 months security fixes. When a new X.Y.0 release is
> >    made there is usually one more release on the to-be-retired stable
> >    branch to mop up any loose patches sitting in the repository at which
> >    point the branch is retired.
> > 
> > 4.17 was just released. 4.5 was 7 years ago. IIUC EOL'ed 4 years ago.

Hi Philippe,

So far we have not removed any of the old compatibility code in the xen
headers like xen_common.h. However, you have a point and I think we
could do so going forward. Like you wrote, 4.5 was 7 years ago, I would
be happy to remove the old compatibility code to support ancient
releases and that would simplify the code in the QEMU xen headers quite
a bit.

That said, the change in this patch is orthogonal. This is needed anyway
because we can have very modern Xen builds without IOREQ server
capabilities (it is a kconfig option). So we would still need this patch.

Cheers,

Stefano



> > [*]
> > https://wiki.xenproject.org/wiki/Xen_Project_Maintenance_Releases#Stable_Maintenance_Branches
> 
> +Paolo for commit 14efd8d3b5 ("meson, configure: move Xen detection to
> meson"):
> 
>     xen_libs = {
>       '4.11.0': [ 'xenstore', 'xenctrl', 'xendevicemodel', 'xenforeignmemory',
> 'xengnttab', 'xenevtchn', 'xentoolcore' ],
>       '4.10.0': [ 'xenstore', 'xenctrl', 'xendevicemodel', 'xenforeignmemory',
> 'xengnttab', 'xenevtchn', 'xentoolcore' ],
>       '4.9.0': [ 'xenstore', 'xenctrl', 'xendevicemodel', 'xenforeignmemory',
> 'xengnttab', 'xenevtchn' ],
>       '4.8.0': [ 'xenstore', 'xenctrl', 'xenforeignmemory', 'xengnttab',
> 'xenevtchn' ],
>       '4.7.1': [ 'xenstore', 'xenctrl', 'xenforeignmemory', 'xengnttab',
> 'xenevtchn' ],
>       '4.6.0': [ 'xenstore', 'xenctrl' ],
>       '4.5.0': [ 'xenstore', 'xenctrl' ],
>       '4.2.0': [ 'xenstore', 'xenctrl' ],
>     }
> 
> According to repology for the 'xen' package:
> 
>    FreeBSD (ports):    4.16
>    Debian 11:          4.14.5
>    Fedora 35:          4.16.2
>    Ubuntu 20.04:       4.11.3
>    OpenSUSE Leap 15.3: 4.14.1
>    RHEL 8:             ?
> 
--8323329-181244257-1670015833=:4039--


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 22:13:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 22:13:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452296.710115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1EHk-0006A9-Ia; Fri, 02 Dec 2022 22:13:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452296.710115; Fri, 02 Dec 2022 22:13:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1EHk-0006A2-Fo; Fri, 02 Dec 2022 22:13:32 +0000
Received: by outflank-mailman (input) for mailman id 452296;
 Fri, 02 Dec 2022 22:13:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VP6A=4A=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p1EHi-00069w-HR
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 22:13:30 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b8ec2af-728e-11ed-8fd2-01056ac49cbb;
 Fri, 02 Dec 2022 23:13:28 +0100 (CET)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by MN2PR12MB4255.namprd12.prod.outlook.com (2603:10b6:208:198::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec
 2022 22:13:23 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb%6]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022
 22:13:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b8ec2af-728e-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HWce6T/ck+e1xx/HnE+P2C52Kcl1NVe1Be5aD4edGk6/GbU+CZkF1rg7coGpabe6ESnEIYEQHKeeVEJs1iaQbrTJSo76b7BxgBwh2MvQ+3JyD8Qo0yEIW3CS7pTu3vOfnxz44tpSTxWfndZWv3w90W05Bcd0oCZnzxiEJEOl2a5JjlSFdgQI05CTzUKkdMLqxvoQVnBI9CfoVIB/nvVQ78mUQ28UCbTbrRZKr0l9N19oCNzuOlMHaIpbJezP58eM6s84eBi5R3fXHdRM7wr0Jjw8MX9WeQtiwfNmo1fdMt4QoKLfCA8n9vcRCqFnDpwx3QWlzFAcs7V/hkXTQ+RAoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+hdoaK1Y4WhR0W6eKq0T/vXT5F/VaD3TZTJPfCw5HRY=;
 b=CMHr404NjH8c11JNxTs/cqWrFwtNYev1uoBGK7vh4SxPv15D7CFs2rq3IJ/Nyjpv6dqNJLYeVjYkDxySOFGLHwyEeLSkKFejKM2fSCyzHWjmdfbJpDk7oPABt2S28ikv0lH0S3MwCcIOb3YU0vaDBAdyC8OqUL8cD59sJNMvGwiCNy3Ut7FlEgvx/1rB9ZwsDRlG46FXHZ2fJPogDf5UqUqLSbLPR+DSD+uP9fF3aAtibg5+mQWxflHsaKfE+Th9CoVa0Vgk7t4mcpm9FIzOqJ4894LICxHZ65+4FI0m5UjbBW0xrHzs/gF5NYcDb2zgFK/AzcZ67T/+WkdcfyWQNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+hdoaK1Y4WhR0W6eKq0T/vXT5F/VaD3TZTJPfCw5HRY=;
 b=RAO529+9C7dDjSSQF7yuNKR5C0Ere6w0p1mCEgxGRBYvpWb4FFnJ6jpDGMQxViOXjM89l6zLPPSXl+V2htLbF5kGvNI9D32XCreOMxQMexf65ioZQvivkjUfTb90eADMXCqfcQtoGXxbwV8Sl7dfc+23gg0XwAjbYB//pEO2z18=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <ade61d47-f8c0-09cc-1a44-faaaff87d76a@amd.com>
Date: Fri, 2 Dec 2022 14:13:20 -0800
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [QEMU][PATCH v2 10/11] hw/arm: introduce xenpv machine
Content-Language: en-US
To: =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>
Cc: qemu-dev@xilinx.com, stefano.stabellini@amd.com,
 xen-devel@lists.xenproject.org, Peter Maydell <peter.maydell@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>,
 "open list:All patches CC here" <qemu-devel@nongnu.org>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
 <20221202030003.11441-11-vikram.garhwal@amd.com> <871qphc0p3.fsf@linaro.org>
From: Vikram Garhwal <vikram.garhwal@amd.com>
In-Reply-To: <871qphc0p3.fsf@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64
X-ClientProxiedBy: SJ0PR13CA0134.namprd13.prod.outlook.com
 (2603:10b6:a03:2c6::19) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|MN2PR12MB4255:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c7fb148-9d35-4bf6-0f55-08dad4b26d53
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	v6K/y18UQTF8Ekwruw6SBehGb1wMo+NqorqoXUP/Uxt0t1VApkV7fBz/I5KcRbK5eGmvD3htSPMucdhwlaKl1c8UAinaxL9OhZbJpgTx9+SuTpjybWEZx2Qx/pXwOJINn8JytSxwt0rQMyacrhq99RzYU7RTrbCeVExIoFI18dKxmm06hna3NwfiVgeCa3s9WwQSDAqpCG/tsJN9PwtzDMZy1wjl153U92o5HxX4BLHhNzRmRnWeS5cOgEnCoYKcSEjkaPrcy0mPUVb7NtI79cw0NWyOVK0x27Viu8F8tZxcVxE/kWu8667HdnO/Y6gn+V2ju57CjfdzgUx7piZAHBJBS+R75UMFQUwo5QeOIg9DgDcN/KVXJahMZYegCWES5+nXLtC5OxEXCyAs3dMuNXLk5arooEFG5lf0SKMs3JfjMzlcII9mqdPR/GkzWG7nk8VjDbC/M00hthFD2xgd969vBuvuolRXjnZLzaaDITQd5Fhoi8urNRl3iVioUQDBG/uEVCzNifADatk2gIZU6HDlZLEAshNSzVqVHg313qZTBzdGvBsTrNgowAQKIDXIm+hkuQuZdzgQCSurPp/a5tmWCggYgv3xVPNOI/VjqIEMuSEISTdXnShwCE3jrcg0Dw3kf2FzDKUacWnZogJoKUoGltxMg82SlWLlP68Y3/TMlq5CJENO+l5ji1QjOxBekAjIe7zbcRIIgm/CQkEt8GnbNXZQvFxGqA1wO9TOEWJeXqGiOmzMDvYSo8b6odYPxvCm3XBIcfHiAkWUfMBzTw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(396003)(376002)(346002)(39860400002)(366004)(451199015)(83380400001)(86362001)(2906002)(38100700002)(44832011)(4326008)(41300700001)(5660300002)(8936002)(8676002)(53546011)(26005)(6506007)(186003)(66574015)(6512007)(2616005)(54906003)(316002)(6916009)(66476007)(478600001)(66556008)(66946007)(6486002)(966005)(31696002)(31686004)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VXFCUUltbFdGd3k4alAwejM4WFFsZ2hGOWFGNWovOFhaTlNpNDNkckhqMGcw?=
 =?utf-8?B?N0l0UWNBNWVJN3FMcDAzMjJFSE43Q3IxRE9BQUw4RURwVnpGbUtaOTFVTGZh?=
 =?utf-8?B?ZkpCaXNabjFycDM3L3lIVUdDUE5pbHYvK0hkZXlaSjJnV2lYUzluMkZiT2Jj?=
 =?utf-8?B?ZlNDMzNibkNPaGkxUFBEY0NXVXhBZ0dNMFJTZGNhQXJYcE1LR0xLYnBIemVj?=
 =?utf-8?B?elBEZjh6STR3YjdJcG5NcGdVOEM2MHZheEFGNlZjYVdTQ09UU0cxeW1sdEw2?=
 =?utf-8?B?cFVHQzM1dDlrT1BwNUlRSEJneERwM2JtSGJ5YmRYcHRISUhCZ1o3eUUyY3Bo?=
 =?utf-8?B?aGlJR3pLUVg5RGN5eFREN001TzR4a3dGZWNGcnJvZUZLand6RW5LZENDTXEv?=
 =?utf-8?B?RitvSE8zb3pQOEZJYk1uNGlpMmQ3TXpGVnRiK1BYc3VJOXc1cGRWTWg1V3lQ?=
 =?utf-8?B?UmxPMHhxaVFFNmphSmlabE8rTVVqandBU1pQMEFyWEhGT05jeGpLWFFuUkli?=
 =?utf-8?B?bVFYcnQ1LzFKN09aVm5LdVgyMDhLSkJudVdxWEM2ZndDY0hMSTFlbFB5dDFj?=
 =?utf-8?B?WG5oYmdGUE10RC9mQVY3UFpnVkY5bG1mNWFWcU1MNmttdjRmNHo4N0Zka1hz?=
 =?utf-8?B?ZElFTjlMaE14NFlocUtCRW1WTElwSk9lOGRRdnIwcklCQVRpRnhHRk5yais3?=
 =?utf-8?B?S05WUkZNQlY4ckhCeFZnMGlVeDBVT1l5L2ZlOEVmRFIxU2UzVUhKcEhUdWpV?=
 =?utf-8?B?S1p4a3FxTmxWM1IvV0tSYUZCUUFCQndJbWpPdmFCZzJXMzRYakliUEtMcnhJ?=
 =?utf-8?B?WmRTYVRlVWdqKzJRWjhralBBNDhBQVhSY1ZtQ0h6V2JKcHVuQ1RxUW41NkxF?=
 =?utf-8?B?d0xleXBTVGVuS1JaR1lCcWJmQ1c0c2MwVWhnVkJQTVVnR3JxaFlGVzhNL0N6?=
 =?utf-8?B?TVY0Q2YrcXIreVNNUlUwVHdCb3ZMb0NSbGV0SnNsQlJLcUIvUzRQRnpmTENW?=
 =?utf-8?B?eDArVlp3VEYzd1JSazV1dkNwTEVidnFXWmNKZXJSZURVTGg0N1Bod0kyZFVl?=
 =?utf-8?B?UHJ0WVhDd05pQ21sbXIrZ1MybXl4cjFwZWpEazJHSGRVVDZxNzE1Ukp6UEV0?=
 =?utf-8?B?SGFCUVBlUjhYTlFHSUVabzF3RTBoRDVXK1dqMzNMb3I5OVRiUFpwOUx0dTV3?=
 =?utf-8?B?c3hGZ2JKdHVNU0NJaTA0amhzMFVtOWtVbldBbDRJWmxPOHlBaHRTYmJERjdq?=
 =?utf-8?B?SnFvOFFTZEpHZmUrZ0xJMjZkMnNpVVF0S1BYU3Q5R3EzcUVveXVvLzVsUHcy?=
 =?utf-8?B?OW9EQ2d3alVidDNrZWh3RlU3ZmZsdi9mUkJScFJweVc0QzVmUVZQQkxZbzJk?=
 =?utf-8?B?K3J0M1RyQzIxdGJ0Mzh0VGMxZFYxSDIxc3U1bXNDNjFrdXFxZ1VtcklJbVJM?=
 =?utf-8?B?S2xUcUdOTkhCNzB6azMrY2NQekJlMW1scFEwNGh4QW9XUHZWYlF4ODQ2WUFR?=
 =?utf-8?B?NEl2R3piYnluUkc1cUM0aHRLSmVXTSs5aDBGbFRkQ3NpZ3F0a1Q3TWNPcG01?=
 =?utf-8?B?S21FdDBqUEczQzc2M2NMTXVVeVlhSTV4NzJWc1MrRlVCbWxYc25mNWtMMUpG?=
 =?utf-8?B?WStETjhNZklkMFBlb3JpZXhKYTJ1MDJEeGhSb3BZRGhqSVBOSVBTeWlLT09D?=
 =?utf-8?B?SlpreFJ5VzZNK1FZR0JuaUpTQ0FxOVUyUDZpbW51TitwSDhhWXBKTVNLR1Aw?=
 =?utf-8?B?WFAxYTgxOTNYRXBKUmdUVUdJR2cyeDBiVDNtNHBhSk9ZU3J1ZFdmZVpUc0Vx?=
 =?utf-8?B?YnFkRlE5eE5sVGZPODlDNDl5YW9HaHEwYXNzTms1M1BtY2xsN1dPTDc1TDdE?=
 =?utf-8?B?NmVacnBENlZ3QzBXenRXU0phS3Yyckh0blN2eTRzUzBkd1JGZFBLc2NLQWZh?=
 =?utf-8?B?RjZXV0hYMDZnZ0pVL2c3Y3U2TEpDY3R6OGVMNWNnb1h4cmlSb1NZeC8zWDFz?=
 =?utf-8?B?WDdqOC9qWURHeUpGOGlFblUyZjliQlJGVVVaZ0Q1OFlFeDdKZzRuV2owdDBT?=
 =?utf-8?B?a3hiZUZYTUE5ZkUyK1I4RzZpL0ZuZ0hEdE16a1ZFRTEyOEFhelBSOXlMWUE4?=
 =?utf-8?Q?rDNLXY8are7VBW0DIR92suyEQ?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c7fb148-9d35-4bf6-0f55-08dad4b26d53
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 22:13:23.1179
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: z3O28Zo9XFDPc3+JwUBkK19zQ9lDj2itcyCKK3KXksEtXIXJ3QBgjSmezJf5vW+0Gmm6JripWbx0OCa5XwTorw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4255

SGkgQWxleCwNCg0KT24gMTIvMi8yMiA2OjUyIEFNLCBBbGV4IEJlbm7DqWUgd3JvdGU6DQo+IFZp
a3JhbSBHYXJod2FsIDx2aWtyYW0uZ2FyaHdhbEBhbWQuY29tPiB3cml0ZXM6DQo+DQo+PiBBZGQg
YSBuZXcgbWFjaGluZSB4ZW5wdiB3aGljaCBjcmVhdGVzIGEgSU9SRVEgc2VydmVyIHRvIHJlZ2lz
dGVyL2Nvbm5lY3Qgd2l0aA0KPj4gWGVuIEh5cGVydmlzb3IuDQo+Pg0KPj4gT3B0aW9uYWw6IFdo
ZW4gQ09ORklHX1RQTSBpcyBlbmFibGVkLCBpdCBhbHNvIGNyZWF0ZXMgYSB0cG0tdGlzLWRldmlj
ZSwgYWRkcyBhDQo+PiBUUE0gZW11bGF0b3IgYW5kIGNvbm5lY3RzIHRvIHN3dHBtIHJ1bm5pbmcg
b24gaG9zdCBtYWNoaW5lIHZpYSBjaGFyZGV2IHNvY2tldA0KPj4gYW5kIHN1cHBvcnQgVFBNIGZ1
bmN0aW9uYWxpdGllcyBmb3IgYSBndWVzdCBkb21haW4uDQo+Pg0KPj4gRXh0cmEgY29tbWFuZCBs
aW5lIGZvciBhYXJjaDY0IHhlbnB2IFFFTVUgdG8gY29ubmVjdCB0byBzd3RwbToNCj4+ICAgICAg
LWNoYXJkZXYgc29ja2V0LGlkPWNocnRwbSxwYXRoPS90bXAvbXl2dHBtMi9zd3RwbS1zb2NrIFwN
Cj4+ICAgICAgLXRwbWRldiBlbXVsYXRvcixpZD10cG0wLGNoYXJkZXY9Y2hydHBtIFwNCj4+DQo+
PiBzd3RwbSBpbXBsZW1lbnRzIGEgVFBNIHNvZnR3YXJlIGVtdWxhdG9yKFRQTSAxLjIgJiBUUE0g
MikgYnVpbHQgb24gbGlidHBtcyBhbmQNCj4+IHByb3ZpZGVzIGFjY2VzcyB0byBUUE0gZnVuY3Rp
b25hbGl0eSBvdmVyIHNvY2tldCwgY2hhcmRldiBhbmQgQ1VTRSBpbnRlcmZhY2UuDQo+PiBHaXRo
dWIgcmVwbzogaHR0cHM6Ly9naXRodWIuY29tL3N0ZWZhbmJlcmdlci9zd3RwbQ0KPj4gRXhhbXBs
ZSBmb3Igc3RhcnRpbmcgc3d0cG0gb24gaG9zdCBtYWNoaW5lOg0KPj4gICAgICBta2RpciAvdG1w
L3Z0cG0yDQo+PiAgICAgIHN3dHBtIHNvY2tldCAtLXRwbXN0YXRlIGRpcj0vdG1wL3Z0cG0yIFwN
Cj4+ICAgICAgLS1jdHJsIHR5cGU9dW5peGlvLHBhdGg9L3RtcC92dHBtMi9zd3RwbS1zb2NrICYN
Cj4gPHNuaXA+DQo+PiArDQo+PiArc3RhdGljIHZvaWQgeGVuX2VuYWJsZV90cG0odm9pZCkNCj4+
ICt7DQo+PiArLyogcWVtdV9maW5kX3RwbV9iZSBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuIENPTkZJ
R19UUE0gaXMgZW5hYmxlZC4gKi8NCj4+ICsjaWZkZWYgQ09ORklHX1RQTQ0KPj4gKyAgICBFcnJv
ciAqZXJycCA9IE5VTEw7DQo+PiArICAgIERldmljZVN0YXRlICpkZXY7DQo+PiArICAgIFN5c0J1
c0RldmljZSAqYnVzZGV2Ow0KPj4gKw0KPj4gKyAgICBUUE1CYWNrZW5kICpiZSA9IHFlbXVfZmlu
ZF90cG1fYmUoInRwbTAiKTsNCj4+ICsgICAgaWYgKGJlID09IE5VTEwpIHsNCj4+ICsgICAgICAg
IERQUklOVEYoIkNvdWxkbid0IGZpbmUgdGhlIGJhY2tlbmQgZm9yIHRwbTBcbiIpOw0KPj4gKyAg
ICAgICAgcmV0dXJuOw0KPj4gKyAgICB9DQo+PiArICAgIGRldiA9IHFkZXZfbmV3KFRZUEVfVFBN
X1RJU19TWVNCVVMpOw0KPj4gKyAgICBvYmplY3RfcHJvcGVydHlfc2V0X2xpbmsoT0JKRUNUKGRl
diksICJ0cG1kZXYiLCBPQkpFQ1QoYmUpLCAmZXJycCk7DQo+PiArICAgIG9iamVjdF9wcm9wZXJ0
eV9zZXRfc3RyKE9CSkVDVChkZXYpLCAidHBtZGV2IiwgYmUtPmlkLCAmZXJycCk7DQo+PiArICAg
IGJ1c2RldiA9IFNZU19CVVNfREVWSUNFKGRldik7DQo+PiArICAgIHN5c2J1c19yZWFsaXplX2Fu
ZF91bnJlZihidXNkZXYsICZlcnJvcl9mYXRhbCk7DQo+PiArICAgIHN5c2J1c19tbWlvX21hcChi
dXNkZXYsIDAsIEdVRVNUX1RQTV9CQVNFKTsNCj4gU3RpbGwgZmFpbHMgb24gbXkgYWFyY2g2NCBE
ZWJpYW4gbWFjaGluZToNCj4NCj4gICAgRkFJTEVEOiBsaWJxZW11LWFhcmNoNjQtc29mdG1tdS5m
YS5wL2h3X2FybV94ZW5fYXJtLmMubw0KPiAgICBjYyAtSWxpYnFlbXUtYWFyY2g2NC1zb2Z0bW11
LmZhLnAgLUkuIC1JLi4vLi4gLUl0YXJnZXQvYXJtIC1JLi4vLi4vdGFyZ2V0L2FybSAtSXFhcGkg
LUl0cmFjZSAtSXVpIC1JdWkvc2hhZGVyIC1JL3Vzci9pbmNsdWRlL3BpeG1hbi0xIC1JL3Vzci9s
b2NhbC9pbmNsdWRlIC1JL3Vzci9pbmNsdWRlL2NhcHN0b25lIC1JL3Vzci9pbmNsdWRlL3NwaWNl
LXNlcnZlciAtSS91c3IvaW5jbHVkZS9zcGljZS0xIC1JL3Vzci9pbmNsdWRlL2dsaWItMi4wIC1J
L3Vzci9saWIvYWFyY2g2NC1saW51eC1nbnUvZ2xpYi0yLjAvaW5jbHVkZSAtZmRpYWdub3N0aWNz
LWNvbG9yPWF1dG8gLVdhbGwgLVdpbnZhbGlkLXBjaCAtV2Vycm9yIC1zdGQ9Z251MTEgLU8yIC1n
IC1pc3lzdGVtIC9ob21lL2FsZXgvbHNyYy9xZW11LmdpdC9saW51eC1oZWFkZXJzIC1pc3lzdGVt
IGxpbnV4LWhlYWRlcnMgLWlxdW90ZSAuIC1pcXVvdGUgL2hvbWUvYWxleC9sc3JjL3FlbXUuZ2l0
IC1pcXVvdGUgL2hvbWUvYWxleC9sc3JjL3FlbXUuZ2l0L2luY2x1ZGUgLWlxdW90ZSAvaG9tZS9h
bGV4L2xzcmMvcWVtdS5naXQvdGNnL2FhcmNoNjQgLXB0aHJlYWQgLVVfRk9SVElGWV9TT1VSQ0Ug
LURfRk9SVElGWV9TT1VSQ0U9MiAtRF9HTlVfU09VUkNFIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQg
LURfTEFSR0VGSUxFX1NPVVJDRSAtV3N0cmljdC1wcm90b3R5cGVzIC1XcmVkdW5kYW50LWRlY2xz
IC1XdW5kZWYgLVd3cml0ZS1zdHJpbmdzIC1XbWlzc2luZy1wcm90b3R5cGVzIC1mbm8tc3RyaWN0
LWFsaWFzaW5nIC1mbm8tY29tbW9uIC1md3JhcHYgLVdvbGQtc3R5bGUtZGVjbGFyYXRpb24gLVdv
bGQtc3R5bGUtZGVmaW5pdGlvbiAtV3R5cGUtbGltaXRzIC1XZm9ybWF0LXNlY3VyaXR5IC1XZm9y
bWF0LXkyayAtV2luaXQtc2VsZiAtV2lnbm9yZWQtcXVhbGlmaWVycyAtV2VtcHR5LWJvZHkgLVdu
ZXN0ZWQtZXh0ZXJucyAtV2VuZGlmLWxhYmVscyAtV2V4cGFuc2lvbi10by1kZWZpbmVkIC1XaW1w
bGljaXQtZmFsbHRocm91Z2g9MiAtV25vLW1pc3NpbmctaW5jbHVkZS1kaXJzIC1Xbm8tc2hpZnQt
bmVnYXRpdmUtdmFsdWUgLVduby1wc2FiaSAtZnN0YWNrLXByb3RlY3Rvci1zdHJvbmcgLWZQSUUg
LWlzeXN0ZW0uLi8uLi9saW51eC1oZWFkZXJzIC1pc3lzdGVtbGludXgtaGVhZGVycyAtRE5FRURf
Q1BVX0ggJy1EQ09ORklHX1RBUkdFVD0iYWFyY2g2NC1zb2Z0bW11LWNvbmZpZy10YXJnZXQuaCIn
ICctRENPTkZJR19ERVZJQ0VTPSJhYXJjaDY0LXNvZnRtbXUtY29uZmlnLWRldmljZXMuaCInIC1N
RCAtTVEgbGlicWVtdS1hYXJjaDY0LXNvZnRtbXUuZmEucC9od19hcm1feGVuX2FybS5jLm8gLU1G
IGxpYnFlbXUtYWFyY2g2NC1zb2Z0bW11LmZhLnAvaHdfYXJtX3hlbl9hcm0uYy5vLmQgLW8gbGli
cWVtdS1hYXJjaDY0LXNvZnRtbXUuZmEucC9od19hcm1feGVuX2FybS5jLm8gLWMgLi4vLi4vaHcv
YXJtL3hlbl9hcm0uYw0KPiAgICAuLi8uLi9ody9hcm0veGVuX2FybS5jOiBJbiBmdW5jdGlvbiDi
gJh4ZW5fZW5hYmxlX3RwbeKAmToNCj4gICAgLi4vLi4vaHcvYXJtL3hlbl9hcm0uYzoxMjY6MzI6
IGVycm9yOiDigJhHVUVTVF9UUE1fQkFTReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhp
cyBmdW5jdGlvbik7IGRpZCB5b3UgbWVhbiDigJhHVUVTVF9SQU1fQkFTReKAmT8NCj4gICAgICAx
MjYgfCAgICAgc3lzYnVzX21taW9fbWFwKGJ1c2RldiwgMCwgR1VFU1RfVFBNX0JBU0UpOw0KPiAg
ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fg0K
PiAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVUVTVF9SQU1fQkFT
RQ0KPiAgICAuLi8uLi9ody9hcm0veGVuX2FybS5jOjEyNjozMjogbm90ZTogZWFjaCB1bmRlY2xh
cmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0
IGFwcGVhcnMgaW4NCj4gICAgWzIwODIvMzI0Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnFlbXUt
YWFyY2g2NC1zb2Z0bW11LmZhLnAvaHdfeGVuX3hlbi1tYXBjYWNoZS5jLm8NCj4gICAgWzIwODMv
MzI0Nl0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnFlbXUtYWFyY2g2NC1zb2Z0bW11LmZhLnAvaHdf
eGVuX3hlbi1odm0tY29tbW9uLmMubw0KPiAgICBuaW5qYTogYnVpbGQgc3RvcHBlZDogc3ViY29t
bWFuZCBmYWlsZWQuDQo+ICAgIG1ha2U6ICoqKiBbTWFrZWZpbGU6MTY1OiBydW4tbmluamFdIEVy
cm9yIDENCj4NCkRvIHlvdSBrbm93IHdoYXQgWGVuIHZlcnNpb24geW91ciBidWlsZCBlbnYgaGFz
Pw0KDQpBbm90aGVyIHdheSB0byBmaXggdGhpcyhhcyBKdWxpZW4gc3VnZ2VzdGVkKSBpcyBieSBz
ZXR0aW5nIHRoaXMgDQpHVUVTVF9UUE1fQkFTRSB2YWx1ZSB2aWEgYSBwcm9wZXJ0eSBvciBzb21l
dGhpbmcgYW5kIHVzZXIgY2FuIHNldCBpdCB2aWEgDQpjb21tYW5kIGxpbmUuDQoNCkBzc3RhYmVs
bGluaUBrZXJuZWwub3JnLCBkbyB5b3UgdGhpbmsgb2YgYW55IG90aGVyIGZpeD8NCj4+ICsNCj4+
ICsgICAgRFBSSU5URigiQ29ubmVjdGVkIHRwbWRldiBhdCBhZGRyZXNzIDB4JWx4XG4iLCBHVUVT
VF9UUE1fQkFTRSk7DQo+PiArI2VuZGlmDQo+PiArfQ0KPiBJZiB0aGVyZSBpcyBhIG1pbmltdW0g
cmVxdWlyZWQgdmVyc2lvbiBmb3IgVFBNIHRoZW4gaXQgbmVlZHMgdG8gYmUNCj4gcGlja2VkIHVw
IGJ5IGNvbmZpZ3VyZS4NCj4NCg==


From xen-devel-bounces@lists.xenproject.org Fri Dec 02 22:36:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 02 Dec 2022 22:36:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452302.710126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Edp-0001Z9-B7; Fri, 02 Dec 2022 22:36:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452302.710126; Fri, 02 Dec 2022 22:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Edp-0001Z2-8I; Fri, 02 Dec 2022 22:36:21 +0000
Received: by outflank-mailman (input) for mailman id 452302;
 Fri, 02 Dec 2022 22:36:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=myKJ=4A=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p1Edo-0001Yw-Jz
 for xen-devel@lists.xenproject.org; Fri, 02 Dec 2022 22:36:20 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd36501f-7291-11ed-91b6-6bf2151ebd3b;
 Fri, 02 Dec 2022 23:36:19 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 391C7B822E6;
 Fri,  2 Dec 2022 22:36:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8FB24C433D6;
 Fri,  2 Dec 2022 22:36:15 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd36501f-7291-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670020577;
	bh=rLAQ/BjJBRgsdL1GIzGnLqJTVHQ6RbDZm8KJS7NvvNs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Bcoi54MxZCEKk4JJqW5lO4sRMCnjJFYEj/TlP1nb/iJOiwPy6iO2ddrQwiOHutgxW
	 OUO494syNCE0WwJeftOPWtdave85sYbuZ7Km9NotaHODZ7IgZPAr1vrWPG/WdxhkFA
	 NwsTnEVUX+71meaxEFd9Q1tRJM1gizeOfJZHvL6vw3qIEvt7fi74Bcef/kdqKk6WG7
	 YgNp7qqUwaX4k3auJOxLKnzn6MVUo8llU5SEl+cw2wrsc0BeM7/cuIQWrr+Agc9R1J
	 2RdSgk/5xdft/An4x/gH30yQYOJPRfIYxOtgnCaiEKd8gfXdGx3HDSLoJORG+uV0Hi
	 Wok8Jn7JCUINQ==
Date: Fri, 2 Dec 2022 14:36:14 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Vikram Garhwal <vikram.garhwal@amd.com>
cc: =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>, qemu-dev@xilinx.com, 
    stefano.stabellini@amd.com, xen-devel@lists.xenproject.org, 
    Peter Maydell <peter.maydell@linaro.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, 
    "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>, 
    "open list:All patches CC here" <qemu-devel@nongnu.org>
Subject: Re: [QEMU][PATCH v2 10/11] hw/arm: introduce xenpv machine
In-Reply-To: <ade61d47-f8c0-09cc-1a44-faaaff87d76a@amd.com>
Message-ID: <alpine.DEB.2.22.394.2212021429220.4039@ubuntu-linux-20-04-desktop>
References: <20221202030003.11441-1-vikram.garhwal@amd.com> <20221202030003.11441-11-vikram.garhwal@amd.com> <871qphc0p3.fsf@linaro.org> <ade61d47-f8c0-09cc-1a44-faaaff87d76a@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-971077313-1670020442=:4039"
Content-ID: <alpine.DEB.2.22.394.2212021434070.4039@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-971077313-1670020442=:4039
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2212021434071.4039@ubuntu-linux-20-04-desktop>

On Fri, 2 Dec 2022, Vikram Garhwal wrote:
> On 12/2/22 6:52 AM, Alex Bennée wrote:
> > Vikram Garhwal <vikram.garhwal@amd.com> writes:
> > 
> > > Add a new machine xenpv which creates a IOREQ server to register/connect
> > > with
> > > Xen Hypervisor.
> > > 
> > > Optional: When CONFIG_TPM is enabled, it also creates a tpm-tis-device,
> > > adds a
> > > TPM emulator and connects to swtpm running on host machine via chardev
> > > socket
> > > and support TPM functionalities for a guest domain.
> > > 
> > > Extra command line for aarch64 xenpv QEMU to connect to swtpm:
> > >      -chardev socket,id=chrtpm,path=/tmp/myvtpm2/swtpm-sock \
> > >      -tpmdev emulator,id=tpm0,chardev=chrtpm \
> > > 
> > > swtpm implements a TPM software emulator(TPM 1.2 & TPM 2) built on libtpms
> > > and
> > > provides access to TPM functionality over socket, chardev and CUSE
> > > interface.
> > > Github repo: https://github.com/stefanberger/swtpm
> > > Example for starting swtpm on host machine:
> > >      mkdir /tmp/vtpm2
> > >      swtpm socket --tpmstate dir=/tmp/vtpm2 \
> > >      --ctrl type=unixio,path=/tmp/vtpm2/swtpm-sock &
> > <snip>
> > > +
> > > +static void xen_enable_tpm(void)
> > > +{
> > > +/* qemu_find_tpm_be is only available when CONFIG_TPM is enabled. */
> > > +#ifdef CONFIG_TPM
> > > +    Error *errp = NULL;
> > > +    DeviceState *dev;
> > > +    SysBusDevice *busdev;
> > > +
> > > +    TPMBackend *be = qemu_find_tpm_be("tpm0");
> > > +    if (be == NULL) {
> > > +        DPRINTF("Couldn't fine the backend for tpm0\n");
> > > +        return;
> > > +    }
> > > +    dev = qdev_new(TYPE_TPM_TIS_SYSBUS);
> > > +    object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp);
> > > +    object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp);
> > > +    busdev = SYS_BUS_DEVICE(dev);
> > > +    sysbus_realize_and_unref(busdev, &error_fatal);
> > > +    sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE);
> > Still fails on my aarch64 Debian machine:
> > 
> >    FAILED: libqemu-aarch64-softmmu.fa.p/hw_arm_xen_arm.c.o
> >    cc -Ilibqemu-aarch64-softmmu.fa.p -I. -I../.. -Itarget/arm
> > -I../../target/arm -Iqapi -Itrace -Iui -Iui/shader -I/usr/include/pixman-1
> > -I/usr/local/include -I/usr/include/capstone -I/usr/include/spice-server
> > -I/usr/include/spice-1 -I/usr/include/glib-2.0
> > -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -fdiagnostics-color=auto -Wall
> > -Winvalid-pch -Werror -std=gnu11 -O2 -g -isystem
> > /home/alex/lsrc/qemu.git/linux-headers -isystem linux-headers -iquote .
> > -iquote /home/alex/lsrc/qemu.git -iquote /home/alex/lsrc/qemu.git/include
> > -iquote /home/alex/lsrc/qemu.git/tcg/aarch64 -pthread -U_FORTIFY_SOURCE
> > -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
> > -Wstrict-prototypes -Wredundant-decls -Wundef -Wwrite-strings
> > -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv
> > -Wold-style-declaration -Wold-style-definition -Wtype-limits
> > -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wempty-body
> > -Wnested-externs -Wendif-labels -Wexpansion-to-defined
> > -Wimplicit-fallthrough=2 -Wno-missing-include-dirs -Wno-shift-negative-value
> > -Wno-psabi -fstack-protector-strong -fPIE -isystem../../linux-headers
> > -isystemlinux-headers -DNEED_CPU_H
> > '-DCONFIG_TARGET="aarch64-softmmu-config-target.h"'
> > '-DCONFIG_DEVICES="aarch64-softmmu-config-devices.h"' -MD -MQ
> > libqemu-aarch64-softmmu.fa.p/hw_arm_xen_arm.c.o -MF
> > libqemu-aarch64-softmmu.fa.p/hw_arm_xen_arm.c.o.d -o
> > libqemu-aarch64-softmmu.fa.p/hw_arm_xen_arm.c.o -c ../../hw/arm/xen_arm.c
> >    ../../hw/arm/xen_arm.c: In function ‘xen_enable_tpm’:
> >    ../../hw/arm/xen_arm.c:126:32: error: ‘GUEST_TPM_BASE’ undeclared (first
> > use in this function); did you mean ‘GUEST_RAM_BASE’?
> >      126 |     sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE);
> >          |                                ^~~~~~~~~~~~~~
> >          |                                GUEST_RAM_BASE
> >    ../../hw/arm/xen_arm.c:126:32: note: each undeclared identifier is
> > reported only once for each function it appears in
> >    [2082/3246] Compiling C object
> > libqemu-aarch64-softmmu.fa.p/hw_xen_xen-mapcache.c.o
> >    [2083/3246] Compiling C object
> > libqemu-aarch64-softmmu.fa.p/hw_xen_xen-hvm-common.c.o
> >    ninja: build stopped: subcommand failed.
> >    make: *** [Makefile:165: run-ninja] Error 1
> > 
> Do you know what Xen version your build env has?

I think Alex is just building against upstream Xen. GUEST_TPM_BASE is
not defined there yet. I think we would need to introduce in
xen_common.h something like:

#ifndef GUEST_TPM_BASE
#define GUEST_TPM_BASE 0x0c000000
#endif

We already have similar code in xen_common.h for other things.  Also, it
would be best to get GUEST_TPM_BASE defined upstream in Xen first.


> Another way to fix this(as Julien suggested) is by setting this GUEST_TPM_BASE
> value via a property or something and user can set it via command line.
> 
> @sstabellini@kernel.org, do you think of any other fix?

Setting the TPM address from the command line is nice and preferable to
hardcoding the value in xen_common.h. It comes with the challenge that
it is not very scalable (imagine we have a dozen emulated devices) but
for now it is fine and a good way to start if you can arrange it.
--8323329-971077313-1670020442=:4039--


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 00:17:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 00:17:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452316.710141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1GD0-0002EX-N7; Sat, 03 Dec 2022 00:16:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452316.710141; Sat, 03 Dec 2022 00:16:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1GD0-0002EQ-Ka; Sat, 03 Dec 2022 00:16:46 +0000
Received: by outflank-mailman (input) for mailman id 452316;
 Sat, 03 Dec 2022 00:16:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1GCz-0002EG-BL; Sat, 03 Dec 2022 00:16:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1GCz-0001ax-8t; Sat, 03 Dec 2022 00:16:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1GCy-0008JK-Mg; Sat, 03 Dec 2022 00:16:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1GCy-0001lf-MD; Sat, 03 Dec 2022 00:16:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=314I8h3O5v1BPXZbvatoUFPL7czW/F3ZxrVE0KK/eEI=; b=FVTgKUqcCyFnM4Co0SRaXOZUeI
	XBN7yXKj98CRwvatvQAK1a5ukEYfCRyzTI/hUPHXszS+/6LM9l1bMIeaFI8G6XdUFYpHmciZRYn9B
	4FZuc9R4+iH+kvdRNCQ1awB1Ag2PCYMSTWwKu0bfHtqF8Qw2WFNUZNToKI2z7nu9lgU0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175023-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175023: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=a4412fdd49dc011bcc2c0d81ac4cab7457092650
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 03 Dec 2022 00:16:44 +0000

flight 175023 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175023/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 linux                a4412fdd49dc011bcc2c0d81ac4cab7457092650
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   56 days
Failing since        173470  2022-10-08 06:21:34 Z   55 days  108 attempts
Testing same since   175023  2022-12-02 11:08:32 Z    0 days    1 attempts

------------------------------------------------------------
1931 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 184723 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 00:41:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 00:41:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452330.710152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Gam-0007dP-Nb; Sat, 03 Dec 2022 00:41:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452330.710152; Sat, 03 Dec 2022 00:41:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Gam-0007dI-KP; Sat, 03 Dec 2022 00:41:20 +0000
Received: by outflank-mailman (input) for mailman id 452330;
 Sat, 03 Dec 2022 00:41:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LyC/=4B=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p1Gal-0007dC-7X
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 00:41:19 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 31d002e9-72a3-11ed-91b6-6bf2151ebd3b;
 Sat, 03 Dec 2022 01:41:17 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id C620DCE1E9A;
 Sat,  3 Dec 2022 00:41:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 589C8C433D7;
 Sat,  3 Dec 2022 00:41:10 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31d002e9-72a3-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670028073;
	bh=ekxCqppWFoTlsLuJCnEBNXzChSlisIdkK4XbALbH8Kc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=fffmVbfLCv3hUbD7BEu7qSq8IhI7xiar5fGSTi9uvyKWUy5XxjxrS61negyo7wvAW
	 vgcAJW1Xbk8jCjIWSyvOZIe31ZNsTLYgFc15R1PEUCx6MQFbmFfvevnsPu1sL9TFh+
	 bp6ETUcebjttwicZqAxDiDFegDj6QCWAxJ7u4W1aH8mT8BilMsJ3JqXsvYSXpbswy3
	 Ol+rmR3ZFzFGvYy6ZUOEpoGJzNi31YZn2jQJsOSU5DdiYRsFMiQdtCW1oIr5TW6d4/
	 TGtXBlVT0cwIOH9I68oWdpbJVzyfRCEW/dsS5MX7fDZb9eqmmR2H4hLx2H4ljoOEuV
	 +QmYrn2h8ySdg==
Date: Fri, 2 Dec 2022 16:41:08 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/4] xen/scripts: add cppcheck tool to the xen-analysis.py
 script
In-Reply-To: <3C1C5FC8-8AFB-4E21-B47F-1BE4EDBD0670@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212021640210.4039@ubuntu-linux-20-04-desktop>
References: <20221128141006.8719-1-luca.fancellu@arm.com> <20221128141006.8719-3-luca.fancellu@arm.com> <alpine.DEB.2.22.394.2211291607280.4039@ubuntu-linux-20-04-desktop> <CD8C2F1A-B321-4E3D-907C-E6DBB1A5E2CD@arm.com> <alpine.DEB.2.22.394.2211301145132.4039@ubuntu-linux-20-04-desktop>
 <A3204E48-FF22-4275-961C-690F57A8AAEE@arm.com> <alpine.DEB.2.22.394.2212011210120.4039@ubuntu-linux-20-04-desktop> <3C1C5FC8-8AFB-4E21-B47F-1BE4EDBD0670@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1384827540-1670028072=:4039"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1384827540-1670028072=:4039
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 2 Dec 2022, Luca Fancellu wrote:
> > On 1 Dec 2022, at 20:23, Stefano Stabellini <sstabellini@kernel.org> wrote:
> > 
> > On Thu, 1 Dec 2022, Luca Fancellu wrote:
> >> Hi Stefano,
> >> 
> >>>>> 
> >>>>> 
> >>>>>> +            sm_tool_args="n"
> >>>>>> +            ;;
> >>>>>> +        --cppcheck-cmd=*)
> >>>>>> +            CPPCHECK_TOOL="$(eval echo "${OPTION#*=}")"
> >>>>>> +            sm_tool_args="y"
> >>>>>> +            ;;
> >>>>>> +        --cppcheck-html)
> >>>>>> +            CPPCHECK_HTML="y"
> >>>>>> +            sm_tool_args="n"
> >>>>>> +            ;;
> >>>>>> +        --cppcheck-plat=*)
> >>>>>> +            CPPCHECK_PLAT_PATH="$(eval echo "${OPTION#*=}")"
> >>>>>> +            sm_tool_args="n"
> >>>>>> +            ;;
> >>>>>> +        --ignore-path=*)
> >>>>>> +            IGNORE_PATH_LIST="${IGNORE_PATH_LIST} $(eval echo "${OPTION#*=}")"
> >>>>>> +            sm_tool_args="n"
> >>>>>> +            ;;
> >>>>>> +        --)
> >>>>>> +            forward_to_cc="y"
> >>>>>> +            sm_tool_args="n"
> >>>>>> +            ;;
> >>>>>> +        *)
> >>>>>> +            if [ "${sm_tool_args}" = "y" ]; then
> >>>>>> +                CPPCHECK_TOOL_ARGS="${CPPCHECK_TOOL_ARGS} ${OPTION}"
> >>>>>> +            else
> >>>>>> +                echo "Invalid option ${OPTION}"
> >>>>>> +                exit 1
> >>>>> 
> >>>>> It doesn't look like sm_tool_args is really needed? It is only set to
> >>>>> 'y' in the case of --cppcheck-cmd, and in that case we also set
> >>>>> CPPCHECK_TOOL. CPPCHECK_TOOL is the variable used below. Am I missing
> >>>>> something?
> >>>> 
> >>>> We use sm_tool_args to fill CPPCHECK_TOOL_ARGS, basically it’s a state machine where
> >>>> when we find --cppcheck-cmd=<xxx> we expect that every other space separated arguments
> >>>> passed afterwards are the args for cppcheck, so we append to CPPCHECK_TOOL_ARGS
> >>>> until we find an argument that is supposed to be only for this script.
> >>> 
> >>> That seems a bit unnecessary: if the user wants to pass arguments to
> >>> cppcheck, the user would do --cppcheck-cmd="cppcheck arg1 arg2" with ""
> >>> quotes. Doing that should make --cppcheck-cmd="cppcheck arg1 arg2" be
> >>> seen as a single argument from this script point of view. CPPCHECK_TOOL
> >>> would end up being set to "cppcheck arg1 arg2" which is what we want
> >>> anyway? And if we need to distinguish between the cppcheck binary and
> >>> its argument we could use "cut" to extract "cppcheck", "arg1", and
> >>> "arg2" from CPPCHECK_TOOL.  Would that work?
> >>> 
> >> 
> >> I gave a try for the quotes, the problem is that we need to have quotes in CC=“...”, so adding
> >> quotes also to --cppcheck-cmd= which is inside CC=“...” is preventing the Makefile to work,
> >> I tried escaping etc but I didn’t manage to have it working, so would you agree on keeping it
> >> like that?
> > 
> > Is the problem coming from the following?
> > 
> >    cppcheck_cc_flags = """--compiler={} --cppcheck-cmd={} {}
> > --cppcheck-plat={}/cppcheck-plat --ignore-path=tools/
> > """.format(xen_cc, settings.cppcheck_binpath, cppcheck_flags,
> >           settings.tools_dir)
> > 
> >    if settings.cppcheck_html:
> >        cppcheck_cc_flags = cppcheck_cc_flags + " --cppcheck-html"
> > 
> >    # Generate the extra make argument to pass the cppcheck-cc.sh wrapper as CC
> >    cppcheck_extra_make_args = "CC=\"{}/cppcheck-cc.sh {} --\"".format(
> >                                        settings.tools_dir,
> >                                        cppcheck_cc_flags
> >                                    ).replace("\n", "")
> > 
> > 
> > Wouldn't something like the following solve the issue?
> > 
> >    settings.cppcheck_binpath = settings.cppcheck_binpath + " " + cppcheck_cc_flags
> > 
> >    cppcheck_cc_flags = """--compiler={} --cppcheck-cmd=\"{}\"
> > --cppcheck-plat={}/cppcheck-plat --ignore-path=tools/
> > """.format(xen_cc, settings.cppcheck_binpath, settings.tools_dir)
> > 
> >    if settings.cppcheck_html:
> >        cppcheck_cc_flags = cppcheck_cc_flags + " --cppcheck-html"
> > 
> >    # Generate the extra make argument to pass the cppcheck-cc.sh wrapper as CC
> >    cppcheck_extra_make_args = "CC=\"{}/cppcheck-cc.sh {} --\"".format(
> >                                        settings.tools_dir,
> >                                        cppcheck_cc_flags
> >                                    ).replace("\n", "")
> 
> No unfortunately not, Makefile is very sensitive to quotes, I’ve tried with many combination of single/double quotes but nothing worked

I spent a couple of hours to try to get it to work. I also admit defeat.
Keep your original code, that's better.
--8323329-1384827540-1670028072=:4039--


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 01:36:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 01:36:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452347.710171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1HSO-0006O8-Vb; Sat, 03 Dec 2022 01:36:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452347.710171; Sat, 03 Dec 2022 01:36:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1HSO-0006O0-QF; Sat, 03 Dec 2022 01:36:44 +0000
Received: by outflank-mailman (input) for mailman id 452347;
 Sat, 03 Dec 2022 01:36:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1HSN-0006Nq-Dt; Sat, 03 Dec 2022 01:36:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1HSN-0001XO-C7; Sat, 03 Dec 2022 01:36:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1HSM-0002Dz-SU; Sat, 03 Dec 2022 01:36:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1HSM-00071r-Rh; Sat, 03 Dec 2022 01:36:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Vhl3oh62xM27tmTbLu6IMewyxurkTL9wJXCmIbdBEuQ=; b=WgPuwRnA2U3sltZxL5Ty0cyHoT
	GUrQIdVnKJRZXx07fED6BoEQP1YrkgPRF5y2gHW+gJcY0FMSyZ/5vnrBe5R9mubeSwY9uUFOWbj2v
	Z0R/DLPkHpMPbnfBan6e5HoiHZGauzv1Q5GLjQWJ5xs6zlscZgfA9Rv7EzEU+1rZ+i94=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175025-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 175025: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=100c3416b5cab2e06c774f68e1d7410cb0fc52b1
X-Osstest-Versions-That:
    xen=942f881eb1b4e90cbd2096e88551750092d2eaaa
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 03 Dec 2022 01:36:42 +0000

flight 175025 xen-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175025/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175015
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175015
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175015
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175015
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175015
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175015
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175015
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175015
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175015
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175015
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175015
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175015
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  100c3416b5cab2e06c774f68e1d7410cb0fc52b1
baseline version:
 xen                  942f881eb1b4e90cbd2096e88551750092d2eaaa

Last test of basis   175015  2022-12-01 22:08:49 Z    1 days
Testing same since   175025  2022-12-02 14:08:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   942f881eb1..100c3416b5  100c3416b5cab2e06c774f68e1d7410cb0fc52b1 -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 02:14:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 02:14:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452368.710181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1I2q-0005ZT-U6; Sat, 03 Dec 2022 02:14:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452368.710181; Sat, 03 Dec 2022 02:14:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1I2q-0005ZE-RS; Sat, 03 Dec 2022 02:14:24 +0000
Received: by outflank-mailman (input) for mailman id 452368;
 Sat, 03 Dec 2022 02:14:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1I2p-0005Z4-Hs; Sat, 03 Dec 2022 02:14:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1I2p-0002yQ-CD; Sat, 03 Dec 2022 02:14:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1I2o-0003yl-TI; Sat, 03 Dec 2022 02:14:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1I2o-0005CQ-SZ; Sat, 03 Dec 2022 02:14:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4kIW1pxs/RkFOYMb8XzWBe2WShYATjMRERfBhREJKbA=; b=FnCjNXLV1V7BBAn47qIO7TAvJ1
	mvItU8uJkLBmS+gg4yXkTJ+5TokLGRoOPR/d/12P8lQiPD/LmOZVbuY3e/TPrmldqNlqis4BH8FPg
	xxgLGDIZDtflrGmqCmCTenMS5YqtXQkSg96dJcXxeMRVeSpsr4UIkslvhzPWk3i8jCcw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175029-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175029: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    xen-unstable:build-armhf:<job status>:broken:regression
    xen-unstable:build-armhf:host-build-prep:fail:regression
    xen-unstable:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=10acd21795a9df5c0908c58104e82472c5fa2d17
X-Osstest-Versions-That:
    xen=ddcc208ccdd44c688b3265be26237875c16b6258
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 03 Dec 2022 02:14:22 +0000

flight 175029 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175029/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                     <job status>                 broken
 build-armhf                   5 host-build-prep          fail REGR. vs. 175009

Tests which did not succeed, but are not blocking:
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175009
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175009
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175009
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175009
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175009
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175009
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175009
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175009
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175009
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  10acd21795a9df5c0908c58104e82472c5fa2d17
baseline version:
 xen                  ddcc208ccdd44c688b3265be26237875c16b6258

Last test of basis   175009  2022-12-01 15:40:23 Z    1 days
Failing since        175021  2022-12-02 07:22:22 Z    0 days    2 attempts
Testing same since   175029  2022-12-02 20:08:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Edwin Török <edvin.torok@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>
  Pau Ruiz Safont <pau.safont@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  broken  
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  blocked 
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  blocked 
 test-armhf-armhf-xl-cubietruck                               blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     blocked 
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     blocked 
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      blocked 
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job build-armhf broken

Not pushing.

(No revision log; it would be 852 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 10:33:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 10:33:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452469.710221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1PpQ-0003sg-GZ; Sat, 03 Dec 2022 10:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452469.710221; Sat, 03 Dec 2022 10:33:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1PpQ-0003sZ-BJ; Sat, 03 Dec 2022 10:33:04 +0000
Received: by outflank-mailman (input) for mailman id 452469;
 Sat, 03 Dec 2022 10:33:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1PpP-0003sP-Fu; Sat, 03 Dec 2022 10:33:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1PpP-0006Bo-CJ; Sat, 03 Dec 2022 10:33:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1PpO-0001O3-UI; Sat, 03 Dec 2022 10:33:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1PpO-0002cG-Tu; Sat, 03 Dec 2022 10:33:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MWcXzmZmR3oP8V493X/PA6aXBwf5R4nNgCZCjoDF8Rk=; b=KoCMYuAgn0TR+KZWDS28gWiuJe
	3cuW1qZtl9gQRG4zIfRdKYJcPlxbDbl+2XA9HdLWp9Bzfsc5DSl3qJeMI4lm/fjjmFdBjVGUgZcyG
	jQJM9VVKHEdcpDzhmK/k6tbMStwF5j9OqLttyw6uduPIOuzgzIiduobVWaXHjyouWCes=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175032-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175032: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=22766a1a5371ce20579c503363e0d9b27091e393
X-Osstest-Versions-That:
    libvirt=522ffd2e969ddf52755efc5bb3e20229315efbc4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 03 Dec 2022 10:33:02 +0000

flight 175032 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175032/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175018
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175018
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175018
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 libvirt              22766a1a5371ce20579c503363e0d9b27091e393
baseline version:
 libvirt              522ffd2e969ddf52755efc5bb3e20229315efbc4

Last test of basis   175018  2022-12-02 04:20:12 Z    1 days
Testing same since   175032  2022-12-03 04:20:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Peter Krempa <pkrempa@redhat.com>
  Yang Yulin <yylteam@icloud.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   522ffd2e96..22766a1a53  22766a1a5371ce20579c503363e0d9b27091e393 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 11:08:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 11:08:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452480.710233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1QNY-0000rp-EX; Sat, 03 Dec 2022 11:08:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452480.710233; Sat, 03 Dec 2022 11:08:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1QNY-0000ri-9t; Sat, 03 Dec 2022 11:08:20 +0000
Received: by outflank-mailman (input) for mailman id 452480;
 Sat, 03 Dec 2022 11:08:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1QNX-0000rY-He; Sat, 03 Dec 2022 11:08:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1QNX-0006ur-CC; Sat, 03 Dec 2022 11:08:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1QNW-0002Fi-Rm; Sat, 03 Dec 2022 11:08:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1QNW-0007t4-RG; Sat, 03 Dec 2022 11:08:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/6oqywsgoFo15IMhKUY0GDk+9gcYhCokjP4PTJgFGZA=; b=u9a0+0SUajfAN2UvezUIkMS568
	4kEe6I3G8r5Om1DuU8V1sOQ21OzXMjOfsDdgx6PgefuIJ/hIpxb3VlW+FxiksZ6g7kQSnqFDW6Whs
	1eyKQeR+0AsTnoniUd4vXyf25X4eN4dBzuFION9FTAUAxSO/eaKIFltcrrlxQDtnFyYo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175033-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175033: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=7de1c71dd2f4e04bd832fc7b92c8255161705393
X-Osstest-Versions-That:
    ovmf=5d5be45bd11117c1e479863125e7d772e54772c9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 03 Dec 2022 11:08:18 +0000

flight 175033 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175033/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 7de1c71dd2f4e04bd832fc7b92c8255161705393
baseline version:
 ovmf                 5d5be45bd11117c1e479863125e7d772e54772c9

Last test of basis   175026  2022-12-02 14:40:46 Z    0 days
Testing same since   175033  2022-12-03 09:12:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Zihong Yi <yizihong@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   5d5be45bd1..7de1c71dd2  7de1c71dd2f4e04bd832fc7b92c8255161705393 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 11:20:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 11:20:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452489.710242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1QZL-0004TQ-Gn; Sat, 03 Dec 2022 11:20:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452489.710242; Sat, 03 Dec 2022 11:20:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1QZL-0004TJ-E6; Sat, 03 Dec 2022 11:20:31 +0000
Received: by outflank-mailman (input) for mailman id 452489;
 Sat, 03 Dec 2022 11:20:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1QZK-0004T9-HU; Sat, 03 Dec 2022 11:20:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1QZK-0007H9-BD; Sat, 03 Dec 2022 11:20:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1QZJ-0002Wl-VC; Sat, 03 Dec 2022 11:20:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1QZJ-0004Pi-Uk; Sat, 03 Dec 2022 11:20:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fu8Qquiwr6ifDCIwqFaFQW9GBOc8cHoD4r0hE2roZB4=; b=5vfITE0ZlA+GwEdnE0zI3oxctu
	1sL7JFatxOLh6Na5pIO0ehT7pcXAo0V+UXeuyPUqiGozOz6DnfIb25hFmgxwsAZquLXxeBIdlebEq
	MqBiz9kpM0ojru/+kaIAm2MLtqRrin3lfT3uegQJPi3ouoy5pdBvSNvwkZuvu4nwzfa4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175030-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175030: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start/freebsd.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=97ee9d1c16963375eefdf964c429897d27e28956
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 03 Dec 2022 11:20:29 +0000

flight 175030 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175030/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pygrub      19 guest-localmigrate/x10   fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64 21 guest-start/freebsd.repeat fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 linux                97ee9d1c16963375eefdf964c429897d27e28956
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   56 days
Failing since        173470  2022-10-08 06:21:34 Z   56 days  109 attempts
Testing same since   175030  2022-12-03 00:42:13 Z    0 days    1 attempts

------------------------------------------------------------
1949 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 186730 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 12:03:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 12:03:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452530.710330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1REb-0003XR-Sn; Sat, 03 Dec 2022 12:03:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452530.710330; Sat, 03 Dec 2022 12:03:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1REb-0003XI-Px; Sat, 03 Dec 2022 12:03:09 +0000
Received: by outflank-mailman (input) for mailman id 452530;
 Sat, 03 Dec 2022 12:03:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1REa-0003Wo-6c; Sat, 03 Dec 2022 12:03:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1REa-00089D-4O; Sat, 03 Dec 2022 12:03:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1REZ-0003TL-O4; Sat, 03 Dec 2022 12:03:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1REZ-0002Xt-Nc; Sat, 03 Dec 2022 12:03:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=o7rrh1lgnbSJL/CntPB32wZn7UYSMTRpEU3R6EtJaKg=; b=UlKShvwGCoyqniRnVJ8dvYwwTg
	Eca3Ll4dvZFF9C5kQoCfN2AbZiXOdd+RYnF0LL8/QafOBqlAHneTlOmoh5PIppB0dfnP+pgQSdqqI
	fCz096gby/A2s91h3DjLWhMDHlFimEA6CkTT8GvxyItsyn8mIS9dUIHxnvm7zQ/xzGFI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175031-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175031: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=10acd21795a9df5c0908c58104e82472c5fa2d17
X-Osstest-Versions-That:
    xen=ddcc208ccdd44c688b3265be26237875c16b6258
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 03 Dec 2022 12:03:07 +0000

flight 175031 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175031/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175009
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175009
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175009
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175009
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175009
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175009
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175009
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175009
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175009
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175009
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175009
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175009
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  10acd21795a9df5c0908c58104e82472c5fa2d17
baseline version:
 xen                  ddcc208ccdd44c688b3265be26237875c16b6258

Last test of basis   175009  2022-12-01 15:40:23 Z    1 days
Failing since        175021  2022-12-02 07:22:22 Z    1 days    3 attempts
Testing same since   175029  2022-12-02 20:08:34 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Edwin Török <edvin.torok@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>
  Pau Ruiz Safont <pau.safont@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ddcc208ccd..10acd21795  10acd21795a9df5c0908c58104e82472c5fa2d17 -> master


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 17:53:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 17:53:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452689.710457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Whf-0003jy-O2; Sat, 03 Dec 2022 17:53:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452689.710457; Sat, 03 Dec 2022 17:53:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Whf-0003jr-LO; Sat, 03 Dec 2022 17:53:31 +0000
Received: by outflank-mailman (input) for mailman id 452689;
 Sat, 03 Dec 2022 17:53:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1Whe-0003jl-KM
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 17:53:30 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1Whd-0007oA-Le; Sat, 03 Dec 2022 17:53:29 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1Whd-0004PF-B6; Sat, 03 Dec 2022 17:53:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=6EAbHJgPnq+Y2TUmn2Vt74e1MMxhznjNkXEMeminkIk=; b=FKu+QJsINX3p9dz9b/uyTbrzMP
	SQz1n5wVHIbm+vDKvcUELQxdpbPb5Q/8ZXGuev0g0zPVattRrOsrrZyarZAxkDndbzBZpWYwbtB+f
	AnFt9NUEScUXo1Y3eoG5leDq5fPks0iOIGW+/JzfvhUBrp07Wi+jpQDqEg8M4bEXZRyE=;
Message-ID: <632efb25-3c3c-6ba5-18a3-117727ba90ef@xen.org>
Date: Sat, 3 Dec 2022 17:53:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
To: Carlo Nonato <carlo.nonato@minervasys.tech>,
 xen-devel@lists.xenproject.org
Cc: marco.solieri@unimore.it, andrea.bastoni@minervasys.tech,
 lucmiccio@gmail.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>
References: <20221022155120.7000-1-carlo.nonato@minervasys.tech>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v3 0/9] Arm cache coloring
In-Reply-To: <20221022155120.7000-1-carlo.nonato@minervasys.tech>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Carlo,

Just in case you are waiting on my review before sending a new version. 
Given that...

On 22/10/2022 16:51, Carlo Nonato wrote:
> Shared caches in multi-core CPU architectures represent a problem for
> predictability of memory access latency. This jeopardizes applicability
> of many Arm platform in real-time critical and mixed-criticality
> scenarios. We introduce support for cache partitioning with page
> coloring, a transparent software technique that enables isolation
> between domains and Xen, and thus avoids cache interference.
> 
> When creating a domain, a simple syntax (e.g. `0-3` or `4-11`) allows
> the user to define assignments of cache partitions ids, called colors,
> where assigning different colors guarantees no mutual eviction on cache
> will ever happen. This instructs the Xen memory allocator to provide
> the i-th color assignee only with pages that maps to color i, i.e. that
> are indexed in the i-th cache partition.
> 
> The proposed implementation supports the dom0less feature.
> The proposed implementation doesn't support the static-mem feature.
> The solution has been tested in several scenarios, including Xilinx Zynq
> MPSoCs.
> 
> Commits structure:
> - [1-3] Coloring initialization, cache layout auto-probing and coloring
>    data for domains.
> - [4-5] xl and Device Tree support for coloring.
> - [6] New page allocator for domain memory that implement the cache
>    coloring mechanism.
> - [7-9] Coloring support for Xen.
> 
> Global changes in v3:
> - fixed a compilation error because of a forgotten "\"
> - replaced some #ifdef with if ( IS_ENABLED )
> - other minor changes (docs, typos, variable types, style, etc.)
> - better acknowledged Luca Miccio as the original author
> - removed #8 since the bootmodule address and size can be replaced without
>    the need of this particular revert
> - removed #9 since it wasn't a clean revert and thanks to Julien things can
>    be done in a smarter way sticking with map_pages_to_xen() (see new #9)
> 
> Open points:
> - The allocator proposed in #6 works only with order-0 pages and inserts
>    them in a sorted list using a linear search. This behavior can be slow if
>    large amount of memory is given to it, so the user is warned in the
>    documentation for that.
>    In a following patch, that I'm going to send separately, a simple buddy
>    allocator that indexes pages by color is presented. It can serve higher
>    order pages and doesn't need the linear search. Unfortunately, it has
>    some flaws that I will discuss there.
> - I will address the latest v2 comments from Julien in v4

... some my comments have not been handled, I am not planning to review 
this version. If there is small parts you want me to have a look before 
you send a new version.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 18:05:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 18:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452700.710468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1WtC-0005zT-Qz; Sat, 03 Dec 2022 18:05:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452700.710468; Sat, 03 Dec 2022 18:05:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1WtC-0005zM-Nc; Sat, 03 Dec 2022 18:05:26 +0000
Received: by outflank-mailman (input) for mailman id 452700;
 Sat, 03 Dec 2022 18:05:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1WtA-0005zG-Tc
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 18:05:24 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1WtA-00087I-28; Sat, 03 Dec 2022 18:05:24 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1Wt9-00050d-RE; Sat, 03 Dec 2022 18:05:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=HBJHwd4eXimrdHKa4bDKbQysTBhT8BawdrXgltdwQu0=; b=5P8zcAOA9rZI4WWtM1PK7MTeA8
	eZdhFClRvfRLhdlkt1QfixE8OJEAQxirYDf5+wjntHYhr2mt40WWC3eWDAN7G9Qy4znfkJBl5WxJR
	UqJ3URzbnwndSHDTUCOifDPTxYpcW6WNcagJ4+BTCrqA+29xGpkZgXLlUwvKoYg+V9h8=;
Message-ID: <adc5e471-5fe4-73cc-267f-196f5aed52b9@xen.org>
Date: Sat, 3 Dec 2022 18:05:21 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, andrew.cooper3@citrix.com,
 george.dunlap@citrix.com, jbeulich@suse.com, wl@xen.org
References: <20221201173121.33865-1-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [XEN v1] xen/Arm: Remove the extra assignment
In-Reply-To: <20221201173121.33865-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

Title: It suggests that this is modifying arch/arm whereas you are 
updating the Arm part of the ns16550 driver.

In addition to that, from a reader PoV, it is more important to emphase 
on the fact the truncation check is removed rather than the extra 
assignment.

So I would suggest the following title:

xen/ns16550: Remove unneeded truncation check in the DT init code

On 01/12/2022 17:31, Ayan Kumar Halder wrote:
> As "io_size" and "uart->io_size" are both u64, so there will be no truncation.
> Thus, one can remove the ASSERT() and extra assignment.
> 
> In an earlier commit (7c1de0038895cbc75ebd0caffc5b0f3f03c5ad51),

Please use 12-digit hash and provide the commit title.

> "ns16550.io_size" was u32 and "io_size" was u64. Thus, the ASSERT() was needed
> to check if the values are the same.
> However, in a later commit (c9f8e0aee507bec25104ca5535fde38efae6c6bc),

Ditto.

> "ns16550.io_size" was changed to u64. Thus, the ASSERT() became redundant.

Those two paragraphs explaining your reasoning why the truncation check 
is removed. So I think they should be moved first. Then you can add the 
initial paragraph to explain the resolution.

However... I wonder whether it would not be better to switch 'io_size' 
to paddr_t because, as you said earlier one, on 32-bit ARMv8-R the 
address is 32-bit. Therefore:
  1. it sounds pointless to store the size using 64-bit
  2. the truncation check still make sense (maybe hardened) in the 
32-bit ARMv8-R to catch buggy DT.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 18:10:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 18:10:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452710.710478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1WyO-000899-GY; Sat, 03 Dec 2022 18:10:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452710.710478; Sat, 03 Dec 2022 18:10:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1WyO-000892-DY; Sat, 03 Dec 2022 18:10:48 +0000
Received: by outflank-mailman (input) for mailman id 452710;
 Sat, 03 Dec 2022 18:10:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1WyN-00088w-Bf
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 18:10:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1WyM-0008CX-PI; Sat, 03 Dec 2022 18:10:46 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1WyM-0005Gp-IV; Sat, 03 Dec 2022 18:10:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=t5xUt+Abme8KPoMQk7u5Wdch+LLdsSuvFSoDlQ2xwfY=; b=usraWWip8gtGdhj89f8GDsPL9R
	CIwpiQvuQdnKMy6kxV6GJcQb6xdcAHCWBXFrw6uWl8A8nwU4F/8bLqjNcQzIWmHAdWk7JP7u7vhWe
	ivoPH7C+Ne5PvuCzg/54L/cX6GFXoE8Ok9orWutwLHyltUjMlenn03VaT02gjJljJIOE=;
Message-ID: <3890dac6-6c66-ca70-3596-aa5c654879e1@xen.org>
Date: Sat, 3 Dec 2022 18:10:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH] Arm64: make setup_virt_paging()'s pa_range_info[] static
From: Julien Grall <julien@xen.org>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <5a249b00-5467-1733-cab0-fd6d55765e20@suse.com>
 <4a93a89a-7d00-491d-766e-fd9a524d96c0@xen.org>
In-Reply-To: <4a93a89a-7d00-491d-766e-fd9a524d96c0@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 29/11/2022 16:01, Julien Grall wrote:
> Hi Jan,
> 
> On 29/11/2022 15:39, Jan Beulich wrote:
>> While not as inefficient as it would be on x86 (due to suitable constant
>> loading and register pair storing instructions being available to fill
>> some of the fields), having the compiler construct an array of constants
>> on the stack still looks odd to me.
> 
> The function is only called once at boot. So this seems more a 
> micro-optimization than anything else.
> 
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Julien Grall <jgrall@amazon.com>

I have now committed the patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 18:13:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 18:13:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452716.710490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1X0Y-0000HT-TO; Sat, 03 Dec 2022 18:13:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452716.710490; Sat, 03 Dec 2022 18:13:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1X0Y-0000HM-QV; Sat, 03 Dec 2022 18:13:02 +0000
Received: by outflank-mailman (input) for mailman id 452716;
 Sat, 03 Dec 2022 18:13:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1X0X-0000HG-R0
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 18:13:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1X0X-0008OB-Fj; Sat, 03 Dec 2022 18:13:01 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1X0X-0005UQ-AS; Sat, 03 Dec 2022 18:13:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=vHx8gj90UWxkp+A1PdafvslTE+RAcZrS3iO+38jfYaQ=; b=o648F8gumCVUtNPecaCADiR6tq
	nVcbhPgoEtSsoFbNe2QZW4PY3twuRvWxWkeyTtQAQDnzVs6guNpSwc8f/BXPMrc3nOE4ZNvapsN6N
	sK00PqI7Xc58LsSoyVkXMg/916ThXS9lJ0HjIyw3YmeKV2DHmrjKyZl6TOMFS0NIgItM=;
Message-ID: <0af28944-f194-fc3d-1e24-8ad924f59b03@xen.org>
Date: Sat, 3 Dec 2022 18:12:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [PATCH] Arm/P2M: reduce locking in p2m_{alloc,free}_page()
From: Julien Grall <julien@xen.org>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <c29a48ba-a662-f92a-4b97-0694dc93684a@suse.com>
 <711bf14e-7059-6bf3-4337-c25d027cc532@xen.org>
In-Reply-To: <711bf14e-7059-6bf3-4337-c25d027cc532@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 29/11/2022 15:53, Julien Grall wrote:
> Hi Jan,
> 
> On 29/11/2022 15:39, Jan Beulich wrote:
>> It is generally preferable to not hold locks around allocation
>> functions. And indeed in the hwdom case there's no point at all to hold
>> the paging lock. Reduce the locked regions to the non-hwdom case, while
>> at the same time arranging for p2m_alloc_page() to have just a single
>> return point.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Julien Grall <jgrall@amazon.com>

It is now committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 18:14:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 18:14:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452723.710501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1X1z-0000rG-9o; Sat, 03 Dec 2022 18:14:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452723.710501; Sat, 03 Dec 2022 18:14:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1X1z-0000r9-6T; Sat, 03 Dec 2022 18:14:31 +0000
Received: by outflank-mailman (input) for mailman id 452723;
 Sat, 03 Dec 2022 18:14:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1X1x-0000r1-JK
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 18:14:29 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1X1x-0008Pc-7T; Sat, 03 Dec 2022 18:14:29 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1X1x-0005VZ-1q; Sat, 03 Dec 2022 18:14:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=i15Apg9baLRmJwv7RIXfph8fJFXfXoc3ZnaKlTU73M4=; b=pAC+fzDXnx2NFECcWKnUMIWc24
	yepY4Y0CLnfC1vP8LO9wLcvum81RFZRILA0rhnH70OUvQYU7U8vz2Ex/J/rDcOS/eN59oq+PI7JRl
	HqwkzUl+HJCN+GyQJP+b0pqttO5pifeAZ/zeVwWclOeYk+r8Q04hdi2HYarnT2wLkrvY=;
Message-ID: <3ecfc563-6c8e-28a9-1d84-729fa18830d3@xen.org>
Date: Sat, 3 Dec 2022 18:14:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [XEN v4 02/11] xen/Arm: GICv3: Do not calculate affinity level 3
 for AArch32
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, michal.orzel@amd.com, jgrall@amazon.com,
 burzalodowa@gmail.com
References: <20221128155649.31386-1-ayan.kumar.halder@amd.com>
 <20221128155649.31386-3-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221128155649.31386-3-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 28/11/2022 15:56, Ayan Kumar Halder wrote:
> Refer ARM DDI 0487I.a ID081822, G8-9817, G8.2.169
> Affinity level 3 is not present in AArch32.
> Also, refer ARM DDI 0406C.d ID040418, B4-1644, B4.1.106,
> Affinity level 3 is not present in Armv7 (ie arm32).
> Thus, any access to affinity level 3 needs to be guarded within
> "ifdef CONFIG_ARM_64".
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 18:16:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 18:16:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452729.710511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1X44-0001T2-Mg; Sat, 03 Dec 2022 18:16:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452729.710511; Sat, 03 Dec 2022 18:16:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1X44-0001Sv-Jz; Sat, 03 Dec 2022 18:16:40 +0000
Received: by outflank-mailman (input) for mailman id 452729;
 Sat, 03 Dec 2022 18:16:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1X43-0001So-Ci
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 18:16:39 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1X42-0008TC-T5; Sat, 03 Dec 2022 18:16:38 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1X42-0005Xg-MC; Sat, 03 Dec 2022 18:16:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=SQLaTq5rRboOWePzxfm7HGXfxQzwoj/uYv6IbzgeRhQ=; b=B5AkTx8OflIDxvyQA1XjzxzaXc
	Dk5r8hSu7wMrxteTq8pk9AnqVvq7c335/3sp4sO53UE9uuPD/smc9ftQWvkZm2aHNZQrmtcpVgOKu
	NodUh7raTJ0lVHzxOOUCM8yxwB6y/9Fp/Eek1bCdyTiza8pW/fa+lDRioI10MiURzEy4=;
Message-ID: <acd65e67-3252-5861-3adc-138eca90d1d1@xen.org>
Date: Sat, 3 Dec 2022 18:16:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [XEN v4 04/11] xen/Arm: vGICv3: Adapt emulation of GICR_TYPER for
 AArch32
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, michal.orzel@amd.com, jgrall@amazon.com,
 burzalodowa@gmail.com
References: <20221128155649.31386-1-ayan.kumar.halder@amd.com>
 <20221128155649.31386-5-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221128155649.31386-5-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 28/11/2022 15:56, Ayan Kumar Halder wrote:
> Refer ARM DDI 0487I.a ID081822, G8-9650, G8.2.113
> Aff3 does not exist on AArch32.
> Also, refer ARM DDI 0406C.d ID040418, B4-1644, B4.1.106
> Aff3 does not exist on Armv7 (ie arm32).
> 
> Thus, access to aff3 has been protected with "#ifdef CONFIG_ARM_64".
> Also, v->arch.vmpidr is a 32 bit register on AArch32. So, we have assigned it to
> 'uint64_t vmpidr' to perform the shifts.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 18:35:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 18:35:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452739.710523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1XM1-0005Aa-8F; Sat, 03 Dec 2022 18:35:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452739.710523; Sat, 03 Dec 2022 18:35:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1XM1-0005AB-48; Sat, 03 Dec 2022 18:35:13 +0000
Received: by outflank-mailman (input) for mailman id 452739;
 Sat, 03 Dec 2022 18:35:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1XLz-000594-AH
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 18:35:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1XLy-0000Lx-Pq; Sat, 03 Dec 2022 18:35:10 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1XLy-0006Cd-JR; Sat, 03 Dec 2022 18:35:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=oQHIqaT5OJeI+CdBzT3fuSTDKlG3tz6Em5l2cu6qsb8=; b=ET94HRPKevLx6TiUlRhTWZVhA4
	MGNT01w8FIQIeIFNI8FtrjBlzXo5ea1tT1pfVJkLHTzHxRhly7HHbGs0J/4R0/Qh48FTWDxRIhUGO
	fMnBWxZDjD8DGuB7MqivdPehhN7gO5hJ+VDq4BPzOVdJlcyTvjcI9DcS9PPXfSqvzfgE=;
Message-ID: <bd197b39-a558-7b88-d10d-053846cd5dab@xen.org>
Date: Sat, 3 Dec 2022 18:35:08 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
To: Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, jgrall@amazon.com, burzalodowa@gmail.com
References: <20221128155649.31386-1-ayan.kumar.halder@amd.com>
 <20221128155649.31386-8-ayan.kumar.halder@amd.com>
 <0ccfe5e6-960d-2f60-f782-e321c1ea7786@amd.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [XEN v4 07/11] xen/Arm: GICv3: Define ICH_LR<n>_EL2 on AArch32
In-Reply-To: <0ccfe5e6-960d-2f60-f782-e321c1ea7786@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 29/11/2022 14:33, Michal Orzel wrote:
>> @@ -417,12 +417,12 @@ static void gicv3_dump_state(const struct vcpu *v)
>>       if ( v == current )
>>       {
>>           for ( i = 0; i < gicv3_info.nr_lrs; i++ )
>> -            printk("   HW_LR[%d]=%lx\n", i, gicv3_ich_read_lr(i));
>> +            printk("   HW_LR[%d]=%" PRIx64 "\n", i, gicv3_ich_read_lr(i));
> 1. We do not usually add spaces between " and PRIx.

I don't have a strong preference on this one.

> 
>>       }
>>       else
>>       {
>>           for ( i = 0; i < gicv3_info.nr_lrs; i++ )
>> -            printk("   VCPU_LR[%d]=%lx\n", i, v->arch.gic.v3.lr[i]);
>> +            printk("   VCPU_LR[%d]=%" PRIx64 "\n", i, v->arch.gic.v3.lr[i]);
>>       }
>>   }
>>
>> diff --git a/xen/arch/arm/include/asm/arm32/sysregs.h b/xen/arch/arm/include/asm/arm32/sysregs.h
>> index 6841d5de43..22871999af 100644
>> --- a/xen/arch/arm/include/asm/arm32/sysregs.h
>> +++ b/xen/arch/arm/include/asm/arm32/sysregs.h
>> @@ -62,6 +62,25 @@
>>   #define READ_SYSREG(R...)       READ_SYSREG32(R)
>>   #define WRITE_SYSREG(V, R...)   WRITE_SYSREG32(V, R)
>>
>> +/* Wrappers for accessing interrupt controller list registers. */
>> +#define ICH_LR_REG(index)       ICH_LR ## index ## _EL2
>> +#define ICH_LRC_REG(index)      ICH_LRC ## index ## _EL2
>> +
>> +#define READ_SYSREG_LR(index) ({                            \
>> +    uint64_t _val;                                          \
>> +    uint32_t _lrc = READ_CP32(ICH_LRC_REG(index));          \
>> +    uint32_t _lr = READ_CP32(ICH_LR_REG(index));            \
>> +                                                            \
>> +    _val = ((uint64_t) _lrc << 32) | _lr;                   \
>> +    _val;                                                   \
>> +})
>> +
>> +#define WRITE_SYSREG_LR(v, index) ({                        \
>> +    uint64_t _val = (v);                                    \
>> +    WRITE_CP32(_val & GENMASK(31, 0), ICH_LR_REG(index));   \
>> +    WRITE_CP32(_val >> 32, ICH_LRC_REG(index));             \
>> +})
>> +
>>   /* MVFR2 is not defined on ARMv7 */
>>   #define MVFR2_MAYBE_UNDEFINED
>>
>> diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
>> index 54670084c3..4638999514 100644
>> --- a/xen/arch/arm/include/asm/arm64/sysregs.h
>> +++ b/xen/arch/arm/include/asm/arm64/sysregs.h
>> @@ -472,6 +472,11 @@
>>   #define READ_SYSREG(name)     READ_SYSREG64(name)
>>   #define WRITE_SYSREG(v, name) WRITE_SYSREG64(v, name)
>>
>> +/* Wrappers for accessing interrupt controller list registers. */
>> +#define ICH_LR_REG(index)          ICH_LR ## index ## _EL2
>> +#define WRITE_SYSREG_LR(v, index)  WRITE_SYSREG(v, ICH_LR_REG(index))
>> +#define READ_SYSREG_LR(index)      READ_SYSREG(ICH_LR_REG(index))
>> +
>>   #endif /* _ASM_ARM_ARM64_SYSREGS_H */
>>
>>   /*
>> diff --git a/xen/arch/arm/include/asm/cpregs.h b/xen/arch/arm/include/asm/cpregs.h
>> index 6daf2b1a30..b85e811f51 100644
>> --- a/xen/arch/arm/include/asm/cpregs.h
>> +++ b/xen/arch/arm/include/asm/cpregs.h
>> @@ -8,6 +8,8 @@
>>    * support 32-bit guests.
>>    */
>>
>> +#define ___CP32(coproc, opc1, crn, crm, opc2) coproc, opc1, crn, crm, opc2
> 2. As you are using ___CP32 much later in this file, it could be moved...

__CP32() is already defined in arm32/sysregs.h which includes cpregs.h. 
We should not define __CP32() twice and the only reason the compiler 
doesn't complain is because the definition is the same

So one of the two needs to be dropped. Also, I think __CP32(), __CP64(), 
CP32() and CP64() should be defined together because they are all related.

However...

>> +
>>   #define __HSR_CPREG_c0  0
>>   #define __HSR_CPREG_c1  1
>>   #define __HSR_CPREG_c2  2
>> @@ -259,6 +261,48 @@
>>   #define VBAR            p15,0,c12,c0,0  /* Vector Base Address Register */
>>   #define HVBAR           p15,4,c12,c0,0  /* Hyp. Vector Base Address Register */
> 
> ...here, before first use. The remark I gave in v3 was that the definition should occur before use,
> but it does not mean placing the macro at the top of the file.
> 
>>
>> +/* CP15 CR12: Interrupt Controller List Registers, n = 0 - 15 */
>> +#define __LR0(x)        ___CP32(p15, 4, c12, c12, x)
>> +#define __LR8(x)        ___CP32(p15, 4, c12, c13, x)

... I don't understand why you need to use __CP32 here and everywhere 
else in this header. In fact I have replaced in my tree all the 
__CP32(foo) with foo and it still compiles.

So can you explain why they are necessary?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 19:09:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 19:09:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452747.710534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Xsl-000272-Qu; Sat, 03 Dec 2022 19:09:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452747.710534; Sat, 03 Dec 2022 19:09:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Xsl-00026v-Mu; Sat, 03 Dec 2022 19:09:03 +0000
Received: by outflank-mailman (input) for mailman id 452747;
 Sat, 03 Dec 2022 19:09:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vq0y=4B=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p1Xsk-00026p-Bf
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 19:09:02 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7e89::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef8c3f53-733d-11ed-91b6-6bf2151ebd3b;
 Sat, 03 Dec 2022 20:09:00 +0100 (CET)
Received: from DM6PR12MB2618.namprd12.prod.outlook.com (2603:10b6:5:49::24) by
 SA1PR12MB7442.namprd12.prod.outlook.com (2603:10b6:806:2b5::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Sat, 3 Dec
 2022 19:08:53 +0000
Received: from DM6PR12MB2618.namprd12.prod.outlook.com
 ([fe80::68dd:51a6:396f:db71]) by DM6PR12MB2618.namprd12.prod.outlook.com
 ([fe80::68dd:51a6:396f:db71%5]) with mapi id 15.20.5880.011; Sat, 3 Dec 2022
 19:08:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef8c3f53-733d-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iZgiasLxyeyKlHQlnu90AlAc+RQ5as1mHMHM/F9Vb1hczxo5d8QDBPrVOmwZ4mRxb3XwvVc+fwRbwRhEjS5HEPeC4Nk/+h/Gq24CZ60WrPeLq5g3Qhxx6aQaGss9tMX98WEe3ipFXxCCxJ5Qaby2hzLuH1S7J1K8OBpJx8xXaSfgOJBWne6g2HNKLULsrVJaqbcgE5JCfpAwnkUxQGnItx1Go4kcFT2hK5/DFmLkV9yYVfqgGfkw4XoO5Om54JQ5f61dCpMExWBRSjnvRD6D92sJau3l09knm86DhBev+0MmalsZtyGh4P/VKJ+dv5aw1sr9EPrV28E2YYulZV3t/w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wsFcESaDUmet4EZbcaO1d1NPpq9U4nqcXZ/AP0joGhY=;
 b=COf7AQeQCLMLmY5MWVzv4pIeQvdGq3xH2XbLjHswxjyeCCRfD4mlJ/1/7IbIh8mKoHXrxNYmOAAg3v8+nqz5ONe3tfVeD+PZC1Y57bD7LaRPRucO+Txw0QYCvv2eQfNXocl1Q8BvhHbzucrn8+NG8alS07NU0Oemit5bh7cfqZ6lrB0H8KDCm9yxWJWrgqrSu2rAw2bKlBkxESstHpP24ED6W0435oMpYymWYZK1K/usQXeWwGHB1RlYLEfhfq6OlTjVeI1A8SvnZ+l0x6J3XLCJGSDmQjiwKFvjI2TZGqrAJ7vmPIAyNhe0E3Q/34eFGynCNsb6+8dFWaItw8phpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wsFcESaDUmet4EZbcaO1d1NPpq9U4nqcXZ/AP0joGhY=;
 b=yxs65cfdPux6nFfHA2ZGMw/9rs4dp6fs+UctSWnSFHb5gmbv1/zIm34YGph3Sent2TCjUgk4qwg+6Ms/+w4Hb/WT1ejUQA/rzYqWvYR4z3OVLu46jqHZq7hlhm2YDsiK8BB+bWVT0u5e1ONQBD5srB/8ptgJSzN0JELP9ExkMdo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <b5374345-4782-20a7-2ceb-158197e7015e@amd.com>
Date: Sat, 3 Dec 2022 19:08:47 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.4.2
Subject: Re: [XEN v1] xen/Arm: Remove the extra assignment
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, andrew.cooper3@citrix.com,
 george.dunlap@citrix.com, jbeulich@suse.com, wl@xen.org
References: <20221201173121.33865-1-ayan.kumar.halder@amd.com>
 <adc5e471-5fe4-73cc-267f-196f5aed52b9@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <adc5e471-5fe4-73cc-267f-196f5aed52b9@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0383.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18f::10) To DM6PR12MB2618.namprd12.prod.outlook.com
 (2603:10b6:5:49::24)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR12MB2618:EE_|SA1PR12MB7442:EE_
X-MS-Office365-Filtering-Correlation-Id: 0068ab33-74d8-44a2-d6d5-08dad561d1aa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	52zNMPqr+bwaUKvrVwcGbJm4m7QeY+SFL1IOfMm2WkEnZLGE8y9gIqY3q5u3ueZfyO342aQVY6cuA4hsvty9pVI1l2zYAlU3Vwu+SYUt5u1q9DfFZkdW16iOPU+WgCiJXYqK7iVkX6YhlddtK9yrEgKLH8F3QM8a8638flzKfddw0+2VSLGxEYLXvw8nkD3XMCvQWm14oCXAkHnBPi+VhjQpAk93Y/UInXeIJ8lqy0rqErw2ecGQr4bvCIz4woQjjyN0gLNU/opnmk3H2NcWaT2opECpV2oeQjepDlwGUAbeU/V7Qg4Vyi6OXGJNPZeoSgF6Lyys+rEq3AGc2fSahJ5/O7DU+WAMraBAO7CLKJkp/cbpAaIdKNk19BHbcVkoM9IO83Ha9JGmP5VXobHrT1MHUBfTw7XZ7YZrNX4MDY8vG1jtaiPyMJar8uYsI6pOU4UrP/wTnksKVGoiqFuYDoCBBoOg928cfxks8zSwT7Cx2rd4SXUSIZ87Lw2cWhw8Nw/poKsa6QlXHUSWclunU+OIoF0tlf60QNoV1mpTmrSfEWCDR+7twFfxWeFVjKQLvprn82vK8foHJBRIg0+F+3nrtOvqzZepfgLYBuMCH+iZhMuQCfuqtkUineqQKp2Q4/Mvc9yAboV68ijb8YumLvVKyor/mRkWwd/qqeurbFj1lx3pHxH/7SUvkoIjbFNPGRDubl6rxS4FzIktWxl8CEsgQ1FJIrvACrQl6h5y/ww=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB2618.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(136003)(396003)(366004)(346002)(451199015)(41300700001)(186003)(2616005)(66476007)(36756003)(66946007)(66556008)(2906002)(4326008)(8676002)(53546011)(38100700002)(5660300002)(83380400001)(110136005)(316002)(31686004)(478600001)(6486002)(26005)(8936002)(6506007)(6512007)(31696002)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WWkyQnd3Zjk3czF6c3hoTnZ4QnFWQW9vOWZyTmlLdSt2WXFIYkNjajNTd0N5?=
 =?utf-8?B?R1lqR3RsMWMvdWZPZjJRRnR3aHZaRzgxd3JQNGNRZWsvbzVNTHJkekRhQW1Q?=
 =?utf-8?B?cDBBK3ZQVEoyUmZHVGU3WFVvbUN0dUh5QkFqL2kxeVhqOTJJZXBhaysxM0R4?=
 =?utf-8?B?U0tQR2lKcllJV2h5VnpPWGMyazBwckFMb2RWNHJCclkzVFBJT0NyeERKV0Mw?=
 =?utf-8?B?MHkza1lTYmVHTVdmYTl1ZVdOMDFlei9UVk9COHFCODUrVGtWUzBLZEJpOUJn?=
 =?utf-8?B?aXRNWkRMNlRLZFhlbDZsNmxaMFdhdFJuc204bmN1cWhFSFhqOS82QStsS256?=
 =?utf-8?B?em9HaXl0VTVZRldTVTcwZHV0WWNVV3hkTk1PclF3K3lKZ3E2Y01FWGttaDZt?=
 =?utf-8?B?d1dFdzk0eHBzaGRJT0pJYnJrTDBOdnlZWkZKMjhUTFBINGQyNE5XZDRXazdC?=
 =?utf-8?B?M2FLRExXZXpXVlVCZytjdzUzbC9Nc1AvSTNLbG5iS2kzUm0vRDFUejJVdXM5?=
 =?utf-8?B?WDhwYy9WV3c3TU5ZbTB3cXBVL1lhUUFUTjRER0J5MnRnckpHVVpCR1Y3SkU5?=
 =?utf-8?B?YmdXRUp1MDk2SUQxQXYxZThGenN1ME0rN2x1QWh0TEZZNzNEb3F3R1lML1pu?=
 =?utf-8?B?eFFpWDhqQTFpdk5IbDBHaHRsZDdwL29ORkM0UXZiRzFiWXozUC9pUFg1SEJl?=
 =?utf-8?B?a1R0UGsyb1FlRTNZbnk1M0ErZmNWaCtCYlhyNFpTT1ozY0RaNFIxZ1dUOG9N?=
 =?utf-8?B?T0RTdVBuL08wK1NGYzdTUmRrdDZIREtjRzE2QmFJZkcyOHNEYzBLQ0hoclEw?=
 =?utf-8?B?Y3BqYnFrWnNNS0J4YTk0SkxFbUpwMnlUTUxvV0taeW9hVXU1VVp0d2dhZnZC?=
 =?utf-8?B?cVNFSUp4bGtNY25yelJZczJ6aWpNdWJlL2U0QUxvT3NPT09zbzFZTFo1YUJh?=
 =?utf-8?B?eWFzNUYvNjg3SXBsY2hzN0RtM2ZoSVVIZGdnOWlHZG14L2VLOTBEYVQrQk05?=
 =?utf-8?B?YjJnUVF6WnQwNUlOVG9OMi9tQmxaRVBlUy95M2N3MGQrY1dSRktTRFBGcG5G?=
 =?utf-8?B?eTdjM2pERGhjNjJMM1hla1dGS0N5Sjg3b1FVZVZWQ09KK1E0Q05OeDV1VEdV?=
 =?utf-8?B?NnI0WGdObDh5VVZvNkxCRnErYmR1U1VXV0k1NndmbTFWeWcrVUJVMmJjMUM4?=
 =?utf-8?B?VlJ3UE1UeEF5UThIYnNEOFNQYXVleWdzbG54ZjVwT0p6cW11QklzYUVCd0Nk?=
 =?utf-8?B?SC9zT0wzcVlZbS81b09PaTJXQmF5QlZoR3Vock5ZVDhxQ1VqbjJzdlVLQU1S?=
 =?utf-8?B?dTB6c08yLy9RVHJuQndpL3VBOGdkWXVEbHFyKy9DbVZRNUNlaXgzU1dRbXc4?=
 =?utf-8?B?bFREK2ZlODJkL0hQU1ZUdmdHWXBrQ0ttbGdQQTdrUGVWREluQjU3RmxBWTlz?=
 =?utf-8?B?YzJQbjhRbnMzN29kd0Q0NER1UzQyQXo3Mms2VGxSWHlpeTIyZUhibWNzYmVH?=
 =?utf-8?B?Q1hmRFdwSE14R1ZhbWVNTlF4V3BpVzZGdTQyZGZYT0hRNEY0WHBRcmp2RWo4?=
 =?utf-8?B?dGxkamY3dTI0VlhsYzlseXVycG1sMmtCYXM1eUYwS2l4SFQrUWxGRzFjUzk3?=
 =?utf-8?B?b2hKaGEzNGVXWUkwTHg2RE1xc09XaG9XdVNBL2VJNDgzSjZMemdoc00yYndq?=
 =?utf-8?B?VEpXOXFhYmh5aEJ6UjF2Y0JiRE9xSE1Zbi9VYjJwdy9pY3dvS3ZCYnA1WTBU?=
 =?utf-8?B?UE5Bajl5TFlJV0Y5cVFMRzgxbzJFeXAvR2hFU0NsRVdoZEJCakxrcklsRkpz?=
 =?utf-8?B?cThaNjlyeGIySXBlbXV2dVVqL2ZSOS9KbENHK255ejhHODZXQWhTUHZRNWpS?=
 =?utf-8?B?V1IrOUp1K0phazFaRUdJOUo4MXptTUdNOEZJRHVQTjFKbG82WW1qU05mZXQv?=
 =?utf-8?B?UVN4M1RReW9JckZvZnJIVFJwbUd3REcwZlhXbVhDSGQ0U2ErWHdZNHRKWE4z?=
 =?utf-8?B?aWNOV0ZUb1E2YklTK0M4Qkd6S29GL3RnNHdiYTVyQnpibS9DSm1SZnBGSTRT?=
 =?utf-8?B?SFpQMXliWUNaeUU4eXdsNTlHNWxFazRqSmpyeWxBKzBISnZMbzFydUhaeVY4?=
 =?utf-8?Q?d2dIn+/dSJBl89Dldx7lpL21s?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0068ab33-74d8-44a2-d6d5-08dad561d1aa
X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB2618.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2022 19:08:53.5024
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9XEwHSm1Wwoz5BedGj8b+HUFYp9NiDE5KOYLhUfLc/mwKwll/iM7WwNi2vqJsntbv95enhqZKcDh3j76b0QYQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7442


On 03/12/2022 18:05, Julien Grall wrote:
> Hi Ayan,

Hi Julien,

>
> Title: It suggests that this is modifying arch/arm whereas you are 
> updating the Arm part of the ns16550 driver.
>
> In addition to that, from a reader PoV, it is more important to 
> emphase on the fact the truncation check is removed rather than the 
> extra assignment.
>
> So I would suggest the following title:
>
> xen/ns16550: Remove unneeded truncation check in the DT init code
Ack
>
> On 01/12/2022 17:31, Ayan Kumar Halder wrote:
>> As "io_size" and "uart->io_size" are both u64, so there will be no 
>> truncation.
>> Thus, one can remove the ASSERT() and extra assignment.
>>
>> In an earlier commit (7c1de0038895cbc75ebd0caffc5b0f3f03c5ad51),
>
> Please use 12-digit hash and provide the commit title.
Ack
>
>> "ns16550.io_size" was u32 and "io_size" was u64. Thus, the ASSERT() 
>> was needed
>> to check if the values are the same.
>> However, in a later commit (c9f8e0aee507bec25104ca5535fde38efae6c6bc),
>
> Ditto.
Ack
>
>> "ns16550.io_size" was changed to u64. Thus, the ASSERT() became 
>> redundant.
>
> Those two paragraphs explaining your reasoning why the truncation 
> check is removed. So I think they should be moved first. Then you can 
> add the initial paragraph to explain the resolution.
>
> However... I wonder whether it would not be better to switch 'io_size' 
> to paddr_t because, as you said earlier one, on 32-bit ARMv8-R the 
> address is 32-bit. Therefore:
There are some more drivers where this kind of change (ie using paddr_t 
instead of u64) is required. Thus, I wish to send it in a serie where I 
will introduce CONFIG_ARM_PA_32  (to add support for 32 bit physical 
addresses). Also ...
>  1. it sounds pointless to store the size using 64-bit
>  2. the truncation check still make sense (maybe hardened) in the 
> 32-bit ARMv8-R to catch buggy DT.

Yes, but we need a common check for all the drivers/code as the DT gives 
us 64 bit address (ie u64) and this needs to be translated to paddr_t 
(which can be u64 or u32).

Again, as part of serie to introduce CONFIG_ARM_PA_32, I will provide 
the following function to do address translation :-

--- a/xen/arch/arm/include/asm/platform.h
+++ b/xen/arch/arm/include/asm/platform.h
@@ -42,6 +42,32 @@ struct platform_desc {
      unsigned int dma_bitsize;
  };

+int translate_dt_address_size(u64 *dt_addr, u64 *dt_size, paddr_t *addr,
+                               paddr_t *size)
+{
+#ifdef CONFIG_ARM_PA_32
+    if ( dt_addr && (*dt_addr >> PADDR_SHIFT) )
+    {
+        dprintk(XENLOG_ERR, "Error in DT. Invalid address\n");
+        return -ENXIO;
+    }
+
+    if ( dt_size && (*dt_size >> PADDR_SHIFT) )
+    {
+        dprintk(XENLOG_ERR, "Error in DT. Invalid size\n");
+        return -ENXIO;
+    }
+#endif
+
+    if ( dt_addr && addr )
+        *addr = (paddr_t) (*dt_addr);
+
+    if ( dt_size && size )
+        *size = (paddr_t) (*dt_size);
+
+    return 0;
+}

And the drivers would invoke it as follows. For eg exynos5.c

diff --git a/xen/arch/arm/platforms/exynos5.c 
b/xen/arch/arm/platforms/exynos5.c
index 6560507092..15d1df9104 100644
--- a/xen/arch/arm/platforms/exynos5.c
+++ b/xen/arch/arm/platforms/exynos5.c
@@ -42,8 +42,9 @@ static int exynos5_init_time(void)
      void __iomem *mct;
      int rc;
      struct dt_device_node *node;
-    u64 mct_base_addr;
-    u64 size;
+    paddr_t mct_base_addr;
+    paddr_t size;
+    uint64_t dt_mct_base_addr, dt_size;

      node = dt_find_compatible_node(NULL, NULL, "samsung,exynos4210-mct");
      if ( !node )
@@ -52,14 +53,19 @@ static int exynos5_init_time(void)
          return -ENXIO;
      }

-    rc = dt_device_get_address(node, 0, &mct_base_addr, &size);
+    rc = dt_device_get_address(node, 0, &dt_mct_base_addr, &dt_size);
      if ( rc )
      {
          dprintk(XENLOG_ERR, "Error in \"samsung,exynos4210-mct\"\n");
          return -ENXIO;
      }

-    dprintk(XENLOG_INFO, "mct_base_addr: %016llx size: %016llx\n",
+    rc = translate_dt_address_size(&dt_mct_base_addr, &dt_size, 
&mct_base_addr,
+                                   &size);
+    if ( rc )
+        rteturn rc;
+
+    dprintk(XENLOG_INFO, "mct_base_addr: 0x%"PRIpaddr" size: 
0x%"PRIpaddr"\n",
              mct_base_addr, size);

So if this sounds reasonable, we can still remove the truncation as part 
of the current patch.

If you agree, I can send v2 with an updated commit message.

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 19:13:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 19:13:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452756.710545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1XxL-0004Fx-FN; Sat, 03 Dec 2022 19:13:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452756.710545; Sat, 03 Dec 2022 19:13:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1XxL-0004Fq-CW; Sat, 03 Dec 2022 19:13:47 +0000
Received: by outflank-mailman (input) for mailman id 452756;
 Sat, 03 Dec 2022 19:13:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1XxK-0004Fj-2S
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 19:13:46 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1XxJ-0001Hz-AP; Sat, 03 Dec 2022 19:13:45 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1XxJ-0007rc-4F; Sat, 03 Dec 2022 19:13:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=OFNSb9GLMvgkqz4GUH9pXHXNRditZyyH1OtSB/g8PDM=; b=bvpS5Q5XflDwd4foQirjG8re3b
	gT7hsDgCmjMjNHzJwh/clSfJcf7biJATRJC8a9YLvHA3xtq8LnlIVyiigSh0voBrq0rqcDK9dop/q
	sBE/Eq/cNv09hCPSUGfrCKSSpM+uG41lqqE0EEWQFKuKJo7danfBObpSFps2SAcZeK/k=;
Message-ID: <9e7d4a77-ab48-2f9a-97de-e845f3ca0ac3@xen.org>
Date: Sat, 3 Dec 2022 19:13:42 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [XEN v1] xen/Arm: Remove the extra assignment
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, andrew.cooper3@citrix.com,
 george.dunlap@citrix.com, jbeulich@suse.com, wl@xen.org
References: <20221201173121.33865-1-ayan.kumar.halder@amd.com>
 <adc5e471-5fe4-73cc-267f-196f5aed52b9@xen.org>
 <b5374345-4782-20a7-2ceb-158197e7015e@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <b5374345-4782-20a7-2ceb-158197e7015e@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Ayan,

On 03/12/2022 19:08, Ayan Kumar Halder wrote:
> 
> On 03/12/2022 18:05, Julien Grall wrote:
>> Hi Ayan,
> 
> Hi Julien,
> 
>>
>> Title: It suggests that this is modifying arch/arm whereas you are 
>> updating the Arm part of the ns16550 driver.
>>
>> In addition to that, from a reader PoV, it is more important to 
>> emphase on the fact the truncation check is removed rather than the 
>> extra assignment.
>>
>> So I would suggest the following title:
>>
>> xen/ns16550: Remove unneeded truncation check in the DT init code
> Ack
>>
>> On 01/12/2022 17:31, Ayan Kumar Halder wrote:
>>> As "io_size" and "uart->io_size" are both u64, so there will be no 
>>> truncation.
>>> Thus, one can remove the ASSERT() and extra assignment.
>>>
>>> In an earlier commit (7c1de0038895cbc75ebd0caffc5b0f3f03c5ad51),
>>
>> Please use 12-digit hash and provide the commit title.
> Ack
>>
>>> "ns16550.io_size" was u32 and "io_size" was u64. Thus, the ASSERT() 
>>> was needed
>>> to check if the values are the same.
>>> However, in a later commit (c9f8e0aee507bec25104ca5535fde38efae6c6bc),
>>
>> Ditto.
> Ack
>>
>>> "ns16550.io_size" was changed to u64. Thus, the ASSERT() became 
>>> redundant.
>>
>> Those two paragraphs explaining your reasoning why the truncation 
>> check is removed. So I think they should be moved first. Then you can 
>> add the initial paragraph to explain the resolution.
>>
>> However... I wonder whether it would not be better to switch 'io_size' 
>> to paddr_t because, as you said earlier one, on 32-bit ARMv8-R the 
>> address is 32-bit. Therefore:
> There are some more drivers where this kind of change (ie using paddr_t 
> instead of u64) is required. Thus, I wish to send it in a serie where I 
> will introduce CONFIG_ARM_PA_32  (to add support for 32 bit physical 
> addresses). Also ...
>>  1. it sounds pointless to store the size using 64-bit
>>  2. the truncation check still make sense (maybe hardened) in the 
>> 32-bit ARMv8-R to catch buggy DT.
> 
> Yes, but we need a common check for all the drivers/code as the DT gives 
> us 64 bit address (ie u64) and this needs to be translated to paddr_t 
> (which can be u64 or u32).
> 
> Again, as part of serie to introduce CONFIG_ARM_PA_32, I will provide 
> the following function to do address translation :-

That series is not on the ML and therefore I haven't had a chance to 
fully review the outcome. So...

> If you agree, I can send v2 with an updated commit message.

... I think it would be best if this patch is part of your upcoming series.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 19:40:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 19:40:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452763.710556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1YNS-000171-Hw; Sat, 03 Dec 2022 19:40:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452763.710556; Sat, 03 Dec 2022 19:40:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1YNS-00016u-EK; Sat, 03 Dec 2022 19:40:46 +0000
Received: by outflank-mailman (input) for mailman id 452763;
 Sat, 03 Dec 2022 19:40:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1YNQ-00016k-Os; Sat, 03 Dec 2022 19:40:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1YNQ-0001jB-Kv; Sat, 03 Dec 2022 19:40:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1YNP-0000Fh-Vu; Sat, 03 Dec 2022 19:40:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1YNP-0005Cz-VP; Sat, 03 Dec 2022 19:40:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=z4VykXTr9TXOWoVlLIXem6ldnYZMtsAH7Pb7OnTVi0I=; b=4VYlJp1BEIvw1YjSKO67s7X02A
	PLSOe2MoUmm3xRhhQy/PQzq4ReEFTf0QE0ViswnSLuoY4wBJ4JrEwP2BZp+rRVwfXKNHZuPqoeOAM
	ePHRzqyB6fdHXxwlcTDLTLglFlEPdXuqos23gcKrhMOAPbKmGAOL06mqC9mZHJ9qXIwU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175034-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175034: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=97ee9d1c16963375eefdf964c429897d27e28956
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 03 Dec 2022 19:40:43 +0000

flight 175034 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175034/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 linux                97ee9d1c16963375eefdf964c429897d27e28956
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   57 days
Failing since        173470  2022-10-08 06:21:34 Z   56 days  110 attempts
Testing same since   175030  2022-12-03 00:42:13 Z    0 days    2 attempts

------------------------------------------------------------
1949 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 186730 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 20:03:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 20:03:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452772.710566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1YjC-0004SY-9c; Sat, 03 Dec 2022 20:03:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452772.710566; Sat, 03 Dec 2022 20:03:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1YjC-0004Rz-6c; Sat, 03 Dec 2022 20:03:14 +0000
Received: by outflank-mailman (input) for mailman id 452772;
 Sat, 03 Dec 2022 20:03:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vq0y=4B=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p1YjA-0004LR-Hb
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 20:03:12 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 828643bb-7345-11ed-8fd2-01056ac49cbb;
 Sat, 03 Dec 2022 21:03:11 +0100 (CET)
Received: from DM6PR12MB2618.namprd12.prod.outlook.com (2603:10b6:5:49::24) by
 IA1PR12MB6137.namprd12.prod.outlook.com (2603:10b6:208:3eb::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Sat, 3 Dec
 2022 20:03:04 +0000
Received: from DM6PR12MB2618.namprd12.prod.outlook.com
 ([fe80::68dd:51a6:396f:db71]) by DM6PR12MB2618.namprd12.prod.outlook.com
 ([fe80::68dd:51a6:396f:db71%5]) with mapi id 15.20.5880.011; Sat, 3 Dec 2022
 20:03:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 828643bb-7345-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nTB+PhtvhKfyohYc4GYUnlnlQyeUbviW6vhwO8mu6pDzegnbRYoPXz1dvWWX990qZtUYEjWI0D36mQKxjF4ZJO5qyBhFF/jOc22COGnajtugcEGzZ9bOu1AVyzCVIJc1KsucE94QpVHlYxj1oDPvl92FY1bFgyCNeOS1wXn28W6fEXH5B5mvguT6qpqkRlFOJ9RYQTkcZ0PsdFUlEXT4XSSnlRwKDG1e76A3f7XV0dNBwsTfqAyjJAlL+gy8pc+wysUdFcNM/JDFp5p2+aTFP1uTMCMeU+Jx7grH2fehuVFpcuLKTw7D7ZI/HHiNJC3DuFFTtvdYZH12RpwLP0wD8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GwdOQ0oKju64E6xjUwQ/kvK4ppCIRYGMGYNXB4BGS/I=;
 b=fzOo3ADSmK7m6wo+RLhaPAFRnxtI3emDU5K/+2v7gU1LxSrRDUPccE9q5R34mTRl0DvrJNLgeI7ntd6AyXMpT8JhMNLMlf6TP3Y7MopnrKzqkZTLF6weyKcArWwmTOTlRcT5HRbo2YIBwgqOkBkJEVdZQ7rHNECxjFosJCCHht88qdfpnM2GkstvhNhbsya1DaX8rp6AFyFwpwWywzQAXvVq7nX5MTykTDRdf4cUXq9ZnY8YCVmBRG1ZkLnH0QEK8lc/7pAbBRPWZagg3NrqRRUwhNKFGOLrqW2cvqY7RqsfamtOC0x952euZJfWvcOhacKvbqr997prDvGreP0LFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GwdOQ0oKju64E6xjUwQ/kvK4ppCIRYGMGYNXB4BGS/I=;
 b=icPHqvck3bwlMwLCOYXGGMYOCh7dsy0vHShiq6gcqUPLMNAXYtVxQFpasv8GbXn2SsDzCF2xrAgXM6O2YoQw7GpdTL7JF5dQrM5lyUJBEVf9i8BveljZez4chvbOdCXfB/pMzexowKWgE4HcUmWCdXyxEapP9xJ2DfXUA9OSQuY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <110c7534-0b06-9d0d-92f3-56f51a6cb022@amd.com>
Date: Sat, 3 Dec 2022 20:02:58 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.4.2
Subject: Re: [XEN v4 07/11] xen/Arm: GICv3: Define ICH_LR<n>_EL2 on AArch32
To: Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, jgrall@amazon.com, burzalodowa@gmail.com
References: <20221128155649.31386-1-ayan.kumar.halder@amd.com>
 <20221128155649.31386-8-ayan.kumar.halder@amd.com>
 <0ccfe5e6-960d-2f60-f782-e321c1ea7786@amd.com>
 <bd197b39-a558-7b88-d10d-053846cd5dab@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <bd197b39-a558-7b88-d10d-053846cd5dab@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0254.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:194::7) To DM6PR12MB2618.namprd12.prod.outlook.com
 (2603:10b6:5:49::24)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6PR12MB2618:EE_|IA1PR12MB6137:EE_
X-MS-Office365-Filtering-Correlation-Id: a076111f-aeda-4408-58a8-08dad5696383
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ptgQl0LMXuPH0E+cbsxt8ON3cM6IxtuW7RAZAUBxW1TpEyhfJT1OYL101HeGys8ZDTCVXs3SQJMB8RL+fkbqREjlM0oKT7Bzxylkb/oq0OLnrJhvCrs/k3Rj2zKxpvaFyT5Ghrb2QbCECQSS1zyj5deJuYSYgHFkuWHqg1cpqyQOHWFaZOEIyHd9arZ7yFOsBBD1dmG5QbW4cK4qiuMv6rRpxb54djJwcpNNapblEVJfRX1zbvL6fpswAhDr6UeOHdo6DjgDLXZ7neGT3Au/Kc+zCkq4q87NS87OzaTmwfkmYPTTb8pfmY7DaQBBXp8jxq/9JSl0xBMhbRbtb5PDzk/FNk8pL9HNSBAL9FVRJDrTVmMsoXzl31lFTBcJA/K9petTFgpuKb3ax6Biacvhq8yzVqIY7ADkR3yU9bD1yB9pm2/rli4R2nY94h+0iY6tgjxFHn0gDjwIVHmuqY96Slz0nCZwgwmIj8KVGwzxZxWe3uZIQD5rgazm8XwsfdW3j/TZ7344dJvRGEBtOckjVaXAfaeXmDjoiD/dN8umNL1sRDA198mceg/xcGqrzkcNKt3HOGRuDbR15lJ18c2eMtbzddSGJcerTGA+OPRYrOOL9rT4sPVzdVEvlMC/oGSNrJwuKLor9IG4P+NjYjGl3gMbs2G7S9SuKkAJ+IaLlygqPo2wOrJyxjQI5JQVeuTalJbHhjx/nHuzpUSrkWRLw7Zv2TcBMwGGFhFLs2AsUtw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR12MB2618.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(39860400002)(376002)(136003)(346002)(396003)(451199015)(31696002)(38100700002)(31686004)(2906002)(5660300002)(478600001)(8936002)(66946007)(66556008)(41300700001)(4326008)(66476007)(8676002)(83380400001)(316002)(110136005)(6486002)(36756003)(2616005)(26005)(6512007)(186003)(53546011)(6666004)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YkxSK2NiOHVMcXF4WGdKMGVTdk1kdjVoVEFYNThwb0JuZTIxV3N5Nm5wZmxK?=
 =?utf-8?B?U25meC9waW9ZOGJLa1JmUmpmbXFBcjMxUFEyR2R4VmtGZHpoSHJjQWxVSDIz?=
 =?utf-8?B?Y2x1MCsvTVY5K255NVlpcUJ2VlllU0l5QnVNa0hTbzlmSmkwMjZHeEFOSnI3?=
 =?utf-8?B?ditwRUgwMjE4b2l3Lzh5NitGOVRDdHVQWUxZZjFuZ3dHaGVDVHhjOUwrUUt5?=
 =?utf-8?B?ck5Hc1ZUc2dXb3R0STBrV0psSlVSM1Y3OW5oM0ZQbW9lNGNnQWt1SnRiTW1S?=
 =?utf-8?B?RHpja05jaG45NWVGbng0L0JYYWZkeTJxTnlYWTBkTkxXR25RNFNzdkIwZEx1?=
 =?utf-8?B?Q05IblZ1ci9MSTM2VmdObGgyRkJSdk5oTWtUU2IyKzhHcUVHQ2ZtY0IvMEpQ?=
 =?utf-8?B?b3VQdktUZ2E2M0ZWd2pqU2JXVmh3MkVWZ3ppSExSVXNwYjhvemNZRTE1WVhS?=
 =?utf-8?B?VWJyQlE3dEdzUjhLblRVVEhic0haZHZMUlhDRkQvMWVkKy8xRkhEb2xZYWFo?=
 =?utf-8?B?eU80MzZFOXlXUWRoOENicDhydTBvaGZ2Zy9kbURDK0RkWlR5NWVIV0EwTmVo?=
 =?utf-8?B?N3VpUllxTEg0aGZyOEowVVpxQ09ESUoxYTlnVFdISUcvcGh1RG9xZUxtN1Vs?=
 =?utf-8?B?Q1k0dXh4V0VybzdUcVlINjNoQkFmRXlZVnFxOCtMME5xUmZBblBiOUtyYzV1?=
 =?utf-8?B?K3FoOEowK3pwK09KaFNwZXJXTEJoWVNUQVdWZkkrazdQR1k1SUcvZ3ZMbEFt?=
 =?utf-8?B?Q0FIK2FWSDk3blZidWdMbUt1d1d0RGhMdnFhZ1BqaEF3WHRmYmhVWWxva1BX?=
 =?utf-8?B?NnZoclBsOGFMOVhpUlRRSHEwYUhoMjU4WEtmc25GREt4c25vTWxZSVVNeldh?=
 =?utf-8?B?TzloUy9wM1dDUTgxUlJ5YzkrazNXZlIxWktWdXZLYlc1UG54Q1M2UDU4NE1t?=
 =?utf-8?B?a1JBQmpTRkJYOFhBbStKME9QTHpCOThxM0t2NUtNUzlwOTV1SVVmZDliZDJT?=
 =?utf-8?B?M0FKeGovS0tiNThtNlVuemNoeFIrdmVHaE5ZNUJKUDU5SnYvakgzejB2VU5R?=
 =?utf-8?B?MVhvTnA5SERRcnQ0V0RmcFgrbFAwck0zTXpXRUVSMnRkWWNKczRjbjczaU1t?=
 =?utf-8?B?alN4N3ZBd05ZVUR4MVBVTVlYSlRFU1MzZ2htd0hmMFNUeW5oVGh6QWxDOGVn?=
 =?utf-8?B?VG5yaUZXeW9IbEtjWEVqOEVURERCNkRwU3p1SXpWSXIrWkozcU5ib3N5K29B?=
 =?utf-8?B?QXpJeGU3SjdHMUZZWWpaOGFFRmJRNU16aTZxRWpWZGlLYkpTTWdRVXpiaGFS?=
 =?utf-8?B?L2lPdWRoMXdTeUhpbGpNSC9HRjVRdWFXcHd3c1R6aEdLN2ZHaXQxU2puWFhT?=
 =?utf-8?B?bkovSExjcWFUN2owcmFybjFXM0ZKTDZJak5rYmx3OWdXaUJqWlhIcHlONUtx?=
 =?utf-8?B?ZGlTY2xKaW0zclQzTGR3dzVDbVlnWGxGT0E4TnZYczZUVk11TVphTW5kVHFJ?=
 =?utf-8?B?aG5oMEFTeW9OamJneUh5NWRxSkg5WWVGYWFaLzFHdjFCbDZVVktkQTY4Z21G?=
 =?utf-8?B?b1ROdVdHQ3VEcXkxNEZMZURiWE9XQ0UwMWhoWUlRMGZNMnRhSGVueVJCTm5h?=
 =?utf-8?B?MGlwczB6aG42K3JhUUlaaW1xSUxwVFVIR2dBQUlaTlNhVXVoQ3Z1bXBmYUI3?=
 =?utf-8?B?S0Q5MzAxS2VZYkF6dW1kdzcxWXhYMWI1U3J1d1BTZlFNSmMxYUFFTkVBWDNy?=
 =?utf-8?B?RjBSYWxadHVQL2lsbVEwQUFiMHlxdVRNdzFWanlVM3h2SEFBQ1VzdXpxR3h4?=
 =?utf-8?B?OCt2b3Z3dDRGUGVWdjlEMGtSTzJNMTNEbXhxNVBFWVhTUUV0VUFOZmh3QzRU?=
 =?utf-8?B?R3VWcFFqNDRzSFlUZmtkUXF5RFB0WXljOHhnQXd4MjBJTGlzNmJDclFaSHN1?=
 =?utf-8?B?bzdNSG83eTBvMC9hcE1QbW10RjVKNlhIdXRRakRnNGhNbmtGQUFBVmFON09n?=
 =?utf-8?B?Z2NpbVBFV2NjUUVtWU93MzJQRG9iR2JIcG5laTBYYmRwUlViNGs4cmg4ZlJR?=
 =?utf-8?B?UHE3MTc3a2Z2bkR2NVZhMzgrWDIxNk8vdUhaVVdmVkNYQUFHOUtpYUNSMEVB?=
 =?utf-8?Q?UInyXUZbIp7ZY6k2sdR0Aw11a?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a076111f-aeda-4408-58a8-08dad5696383
X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB2618.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2022 20:03:04.6212
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: R9C9DAWxeXkHXspQNm7DvBFI1sneIaYxYpYJghAFg0UQjj84zxXz8CYnLULTQp7wKJULcd3hptseF3BAQPCG8w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6137


On 03/12/2022 18:35, Julien Grall wrote:
> Hi,

Hi Julien,

>
> On 29/11/2022 14:33, Michal Orzel wrote:
>>> @@ -417,12 +417,12 @@ static void gicv3_dump_state(const struct vcpu 
>>> *v)
>>>       if ( v == current )
>>>       {
>>>           for ( i = 0; i < gicv3_info.nr_lrs; i++ )
>>> -            printk("   HW_LR[%d]=%lx\n", i, gicv3_ich_read_lr(i));
>>> +            printk("   HW_LR[%d]=%" PRIx64 "\n", i, 
>>> gicv3_ich_read_lr(i));
>> 1. We do not usually add spaces between " and PRIx.
>
> I don't have a strong preference on this one.
ok, I will then keep it as it is.
>
>>
>>>       }
>>>       else
>>>       {
>>>           for ( i = 0; i < gicv3_info.nr_lrs; i++ )
>>> -            printk("   VCPU_LR[%d]=%lx\n", i, v->arch.gic.v3.lr[i]);
>>> +            printk("   VCPU_LR[%d]=%" PRIx64 "\n", i, 
>>> v->arch.gic.v3.lr[i]);
>>>       }
>>>   }
>>>
>>> diff --git a/xen/arch/arm/include/asm/arm32/sysregs.h 
>>> b/xen/arch/arm/include/asm/arm32/sysregs.h
>>> index 6841d5de43..22871999af 100644
>>> --- a/xen/arch/arm/include/asm/arm32/sysregs.h
>>> +++ b/xen/arch/arm/include/asm/arm32/sysregs.h
>>> @@ -62,6 +62,25 @@
>>>   #define READ_SYSREG(R...)       READ_SYSREG32(R)
>>>   #define WRITE_SYSREG(V, R...)   WRITE_SYSREG32(V, R)
>>>
>>> +/* Wrappers for accessing interrupt controller list registers. */
>>> +#define ICH_LR_REG(index)       ICH_LR ## index ## _EL2
>>> +#define ICH_LRC_REG(index)      ICH_LRC ## index ## _EL2
>>> +
>>> +#define READ_SYSREG_LR(index) ({                            \
>>> +    uint64_t _val;                                          \
>>> +    uint32_t _lrc = READ_CP32(ICH_LRC_REG(index));          \
>>> +    uint32_t _lr = READ_CP32(ICH_LR_REG(index));            \
>>> +                                                            \
>>> +    _val = ((uint64_t) _lrc << 32) | _lr;                   \
>>> +    _val;                                                   \
>>> +})
>>> +
>>> +#define WRITE_SYSREG_LR(v, index) ({                        \
>>> +    uint64_t _val = (v);                                    \
>>> +    WRITE_CP32(_val & GENMASK(31, 0), ICH_LR_REG(index));   \
>>> +    WRITE_CP32(_val >> 32, ICH_LRC_REG(index));             \
>>> +})
>>> +
>>>   /* MVFR2 is not defined on ARMv7 */
>>>   #define MVFR2_MAYBE_UNDEFINED
>>>
>>> diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h 
>>> b/xen/arch/arm/include/asm/arm64/sysregs.h
>>> index 54670084c3..4638999514 100644
>>> --- a/xen/arch/arm/include/asm/arm64/sysregs.h
>>> +++ b/xen/arch/arm/include/asm/arm64/sysregs.h
>>> @@ -472,6 +472,11 @@
>>>   #define READ_SYSREG(name)     READ_SYSREG64(name)
>>>   #define WRITE_SYSREG(v, name) WRITE_SYSREG64(v, name)
>>>
>>> +/* Wrappers for accessing interrupt controller list registers. */
>>> +#define ICH_LR_REG(index)          ICH_LR ## index ## _EL2
>>> +#define WRITE_SYSREG_LR(v, index)  WRITE_SYSREG(v, ICH_LR_REG(index))
>>> +#define READ_SYSREG_LR(index) READ_SYSREG(ICH_LR_REG(index))
>>> +
>>>   #endif /* _ASM_ARM_ARM64_SYSREGS_H */
>>>
>>>   /*
>>> diff --git a/xen/arch/arm/include/asm/cpregs.h 
>>> b/xen/arch/arm/include/asm/cpregs.h
>>> index 6daf2b1a30..b85e811f51 100644
>>> --- a/xen/arch/arm/include/asm/cpregs.h
>>> +++ b/xen/arch/arm/include/asm/cpregs.h
>>> @@ -8,6 +8,8 @@
>>>    * support 32-bit guests.
>>>    */
>>>
>>> +#define ___CP32(coproc, opc1, crn, crm, opc2) coproc, opc1, crn, 
>>> crm, opc2
>> 2. As you are using ___CP32 much later in this file, it could be 
>> moved...
>
> __CP32() is already defined in arm32/sysregs.h which includes 
> cpregs.h. We should not define __CP32() twice and the only reason the 
> compiler doesn't complain is because the definition is the same

The definition is different :-

In xen/arch/arm/include/asm/arm32/sysregs.h

  "#define __CP32(r, coproc, opc1, crn, crm, opc2) coproc, opc1, r, crn, 
crm, opc2"   (Note:- it takes 6 arguments)

And what I have defined in  xen/arch/arm/include/asm/cpregs.h:-

#define ___CP32(coproc, opc1, crn, crm, opc2) coproc, opc1, crn, crm, 
opc2 (It takes 5 arguments, also note it has 3 underscores before CP32).

>
> So one of the two needs to be dropped. Also, I think __CP32(), 
> __CP64(), CP32() and CP64() should be defined together because they 
> are all related.
>
> However...
>
>>> +
>>>   #define __HSR_CPREG_c0  0
>>>   #define __HSR_CPREG_c1  1
>>>   #define __HSR_CPREG_c2  2
>>> @@ -259,6 +261,48 @@
>>>   #define VBAR            p15,0,c12,c0,0  /* Vector Base Address 
>>> Register */
>>>   #define HVBAR           p15,4,c12,c0,0  /* Hyp. Vector Base 
>>> Address Register */
>>
>> ...here, before first use. The remark I gave in v3 was that the 
>> definition should occur before use,
>> but it does not mean placing the macro at the top of the file.
>>
>>>
>>> +/* CP15 CR12: Interrupt Controller List Registers, n = 0 - 15 */
>>> +#define __LR0(x)        ___CP32(p15, 4, c12, c12, x)
>>> +#define __LR8(x)        ___CP32(p15, 4, c12, c13, x)
>
> ... I don't understand why you need to use __CP32 here and everywhere 
> else in this header. In fact I have replaced in my tree all the 
> __CP32(foo) with foo and it still compiles.
I think you mean ___CP32 here (3 underscores).
>
> So can you explain why they are necessary?

Actually, they are not necessary. I will remove ___CP32 definition in 
the v5 patch.

Sorry, I was blindly influenced by the definition of __CP32. :( But, 
there it was needed.

Would you also review 8/11, 9/11, 10/11 and 10/11 before I re-spin a new 
series ? They have been reviewed by Michal (with some minor comments 
which I can address in v5).

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 20:11:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 20:11:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452783.710578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Yqs-0007Aw-6i; Sat, 03 Dec 2022 20:11:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452783.710578; Sat, 03 Dec 2022 20:11:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1Yqs-0007Ap-2d; Sat, 03 Dec 2022 20:11:10 +0000
Received: by outflank-mailman (input) for mailman id 452783;
 Sat, 03 Dec 2022 20:11:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vq0y=4B=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p1Yqr-0007Aj-CK
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 20:11:09 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20624.outbound.protection.outlook.com
 [2a01:111:f400:7e83::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b232844-7346-11ed-91b6-6bf2151ebd3b;
 Sat, 03 Dec 2022 21:11:02 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by DM6PR12MB4385.namprd12.prod.outlook.com (2603:10b6:5:2a6::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Sat, 3 Dec
 2022 20:10:56 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::62cc:47ae:a750:8f57]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::62cc:47ae:a750:8f57%4]) with mapi id 15.20.5880.013; Sat, 3 Dec 2022
 20:10:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b232844-7346-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ha+IYurYXF2m5XfbFWBqkQXmnZQ8fDsVWZkR2B/36WHLjSrzVH2QYw9CUVZ8stWJ1sDM//ZbY5ttJouYLevooIgr2qfXVVKznb7dTtKTkoN97FlvmTYWJk0S52qpC4cXAipIDX58Q1lZCx3q+cGM4mee6ghZOxnbXKaeftIIsbcojb6w25j6YfnBCCy539SDm3JVCUSvuHJFhggNGT8VNZsVEwLx+vZ2P169IOcO4W9hj2LbhVQ9mZwJVNgVZvpZbSOZQMREUkKaY6v/MXS6DpBkXjtsnn3Q+JAK6oguXEn1YB64xi30dU9JOYS6VmJlUbothILD8OP++/YoZKepuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TDvWbq2p6X+J+Q4Nvc0tfmCpblZay8TArtvg3ZdRtU8=;
 b=caIYI7Mt+6LRtT1UIYuzwpXfB2Cpc9dJK9bgSS1Om79h8Xg1ClBRyoFnmjj5qjddJ2v6qToaJRDmOPTNtB6I05dr1S0ChgweRT7a2PSSpZZ3JlzhcAWZ/kGl+JI9d1EvysMAuCIS+d4mfbXBTWDwxtH+aU7VDc2N94nJKsiaMlAXBnJJR6/DNNTqWQLmvGyEL5W/33rG5OlHVzrLsKeWZDj7u147hrCbGuBd4c3gFJ9YRGTERSM9ohhYKV9wxdMVLGkugInAtmtoannZJhNHg3gT1OctGgyGhUahWR2JLx8yPYJUfJ7Ecn1FyKU+LnkuEhMmRXPA4yBOe3WPMB2E7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TDvWbq2p6X+J+Q4Nvc0tfmCpblZay8TArtvg3ZdRtU8=;
 b=q62kQZtNtFhDVjyxYb7WZbz8ZbVcW5ZwfR3yLDMC7UCp7wwRbeT0rA1O8VZCxlDAh3N5d/0clrr6cx/pv1zACZYanMTUKlLcJ3HDpkyf1dXfo7TT82CNs94mnjZm8QLz99G0oJ2msG5cW2qeuaMBbjeQViz6m8NcsdWpvOAYXZ0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <83d2e3b6-1aa7-518d-43d8-58f7f90d2ba6@amd.com>
Date: Sat, 3 Dec 2022 20:10:43 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.4.2
Subject: Re: [XEN v3] Xen: Ensure "xenheap_bits - PAGE_SHIFT" can be used as a
 rhs operand of shift operator
To: Bobby Eshleman <bobbyeshleman@gmail.com>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "stefanos@xilinx.com" <stefanos@xilinx.com>, "julien@xen.org"
 <julien@xen.org>, George Dunlap <George.Dunlap@citrix.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 "alistair.francis@wdc.com" <alistair.francis@wdc.com>,
 "connojdavis@gmail.com" <connojdavis@gmail.com>, "wl@xen.org" <wl@xen.org>
References: <20221202123559.33143-1-ayan.kumar.halder@amd.com>
 <1a42f92a-81e3-eba8-6831-900414e0e809@citrix.com> <Y3pdbqojLiyQKUlz@bullseye>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <Y3pdbqojLiyQKUlz@bullseye>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0254.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:8a::26) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|DM6PR12MB4385:EE_
X-MS-Office365-Filtering-Correlation-Id: 016f9966-604c-4464-115e-08dad56a790f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LrdMq8RIdv6wbhQQl0RUvbh7AkrwtZp4pGlH1D864sv0XGW8SJw/AEOMVQiNYWEFD6Hhy9PdYW18RfE0L11+LF9kHWGLKmmp0bnoBLfO0oDGAkieXHvneydVau2AtRu0QB0/Jxi6rE40gzpM+2jqSH3R35VZA3NMbVFv/uMYKy+RXL7b3C9pORRiIL6W3b9INiRc2/syIPRnCeG4kGkqefKdxqOR80M5+GuUQaXJiFIZZStzC7Rq3DcysrNAS2X6Mx7CehDYT694FLVmfxBMH0bvV6yIgpvlMOmCfCibLO02cYgIG9zyhP8v2sBIazFBkPRxJs73EtqDZKQudqbIgDJn9zCLXizUihweYI8lQuodxVfrQMza5iA3vSzLs5lsKO3UUUVByLxoaW1gq72qAJ7iIuB0oojOg7KViXt/17CXvOuARRT0nc8MnP9Lqpv5N5L5Hag06OYmAy1BE3SYIr3AFVCES09K7DJWaDV3zhK7XEDMiloe4UU4nLuzkyVdbiP+BpKWPYcLQcjzbW6CHdvrU3z+vh3fYtVVQhjHxKIIBjSRwkGOyEcDF4rWox5q3TTY3Qzv/RHPvkzCG6cjoO5YT+iVKKZLIX674t2YqYPxLsoHqxRBYXNCisTQPxu7M0xnNP9B+CS2i6y+uny4H3xm7XjoVZK32sDLuqpoTK7phLz73bQ2bB2Eubz3SsqWNl6rLGTk0LIV3jKA1/SeqOWnDixB1fr1usy1w/b6OtM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(376002)(366004)(396003)(346002)(451199015)(2906002)(31696002)(316002)(6506007)(54906003)(110136005)(6666004)(53546011)(6512007)(26005)(6486002)(186003)(2616005)(478600001)(41300700001)(7416002)(5660300002)(4744005)(8936002)(38100700002)(66946007)(4326008)(66556008)(66476007)(8676002)(31686004)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MTgrbmxMeTNpczZxY2J3b0VHRWJ6d0U2TTRkSEEyZVREZVZQaFpjTm14eUFW?=
 =?utf-8?B?dHE3RkluMUhKdndQYmQvaUsvR2dldHIwMEMydkFLajliOTl3SFhtZ282a2do?=
 =?utf-8?B?YkxmbUZwcFJTOGg0TDh0Zy9VZ2RyL2tRbFZEdHNFd3VWQjEvT05hQ2hJMFBF?=
 =?utf-8?B?aTVJd1JjUWprOUMvbXdVSGhGM2tJTXZ2K1M4SWFuMi9EbVVsWEhMQy9reDc2?=
 =?utf-8?B?ZkgwSU5MTXhDN1gyWDZ6NDdwZWh2TmFrcm4raFNkNk1LWGVNVXBLM01WNDVx?=
 =?utf-8?B?M3BEWm53UWtBUDVyRldpVUJWUFgxeDVUNDNKcUpCVGVGWGpISFpjZkUxY0ls?=
 =?utf-8?B?MkRXZGYvSmFqTlNnTGxoNWxQZkVwSVo0R3JyS1pRdFlwRGd0SXF6cDVBUVZT?=
 =?utf-8?B?VlduRjZDeWxnKzNDMFMyRVdud1FGVDZ5UHZQUDBQQnp1bHNud3gxRC9tWXVa?=
 =?utf-8?B?dm9PcURocmZVemREbXBiL3ZwUndkcVJmTlkyUHVrMzZaNDAvMlI1cUxpdWpj?=
 =?utf-8?B?SlZFbFA3Qjhvd2drcTVlNXdyZVBhOW1aSytQRVhtVWkvRmdCbE4rakxUaGlY?=
 =?utf-8?B?T2RaTnlkV3UzcS9nZVdsbEF2Wm1NTCtBcTFUQWh2MW9aU05Za1pqQlEzWlJX?=
 =?utf-8?B?SUFKbG1jV2VKVmxOdm1jQXRSUi9HeE43TXZIV3Y4WFZRY21EVFhFRmRvMVFG?=
 =?utf-8?B?akM3cjREdmJNMFdseldlTUtlRVNNYmtzeGdldGRaRWpxYnVTdjJOUDNRd253?=
 =?utf-8?B?WUEzaTc1Q3c0ZnNVcVRBWU9XYktFWEFKZk93cFRVTEcrM25aMlEyV1gzZGlk?=
 =?utf-8?B?NXBFaS9DWmUxTWlmL0lMQm9qbXZ5MEVNV1lPZ0x3UjFWWXVTTi9VRFpQVmRj?=
 =?utf-8?B?czk1L2lTSjRJNFc2NWFuVEthQWV3Wjd6SU9vRTN3SWorUWIyUGQ3Tm02ZHdx?=
 =?utf-8?B?blA4c1huc0ZnalNJdzBZOW45eGEvb2pVS0tkMDlud3NDZWdGOUFTQVdlUnVL?=
 =?utf-8?B?OUNyRUNnYjFrc1ZEaG9zeGRzSzRNanhqK2dMY2dtMzlOMTNNSmwrR1FRU1Nm?=
 =?utf-8?B?MncvclN2QkZNNytKRGZIdlBJLzlHWVJ0WlhXTStyNXJiOXdmMG5kK0Q4TzFv?=
 =?utf-8?B?OWtIWW1DaWlUZEFHN2JzZ0RDcCs4bEJ3RU96VGluRlhhMEFVcTVRRldIblg3?=
 =?utf-8?B?VkMzSitKcVEyaGNXNFZER2lUOFdzWXZXR09RNHR2Tzk5VGJTOGtyOC9EZGNz?=
 =?utf-8?B?TThhallySHlPYkFhUG4vbzBwTzN1cHV6Nk94VVcraUlZdDBnK0tyT0JsWFlx?=
 =?utf-8?B?K2NUdmFxUm5zZmhsWnpYcWE0Q2UycUx4MlR0K0s5Ynp2Yi9DQmFsWUFqS055?=
 =?utf-8?B?WUk2ZDlPTEdvNDhKVkViaWRZRjE4NUVPemJBeGs5NEx5N0hjR0lDMDBDVm1E?=
 =?utf-8?B?czJtYnhyS2h6SUVDM1VRM21xKzI0VDcwUWRNbXJmYy9ydU1aMUxmOG9jRG5Z?=
 =?utf-8?B?REJhRXRGWFpPMzdiTmhPRmVrZjlJYUkxQ29ldENudW5lMHI0L1Q5L1FpTkdF?=
 =?utf-8?B?Tmk2YThVeEpIMkRRb3ZRaFFydkhyOVJHNFNXTHgrR2JXRi9kZzhLMjhTMWFt?=
 =?utf-8?B?T0htalRZZTRiYWJpc3ljV2N2aUgweVpvNDRpUi9Ka1pOdjZEbi9YRmdqc3JL?=
 =?utf-8?B?NGgxSVVhZk9WTTNzMEw0UGZ6WjIzREpzLzlhcHZzYjQyRXV1R0Y3NzFrUFgy?=
 =?utf-8?B?YmJ5K3A5Tk9wQUtwRzVYQk4yeFEyZi9USkNteXhLcmpRMWpPdmJubDNnVWZt?=
 =?utf-8?B?U2haeDVkdE1uaENFOU1vMHpzczA1OW9FT1RpbjZoaXRmU0crcHZIcTZqbWY0?=
 =?utf-8?B?bU84MkxpaHV0R2lMY3lsdkpLOUJ5VEJhRUpQR2liUVM3R1ppL1ZDT3NCQ0Qx?=
 =?utf-8?B?QW81NWFsYU5BN2RvSDRoelJsRW8vZHNxc2NVeVlyTFlDS2FVYTRSU1JMV0VK?=
 =?utf-8?B?Y2NhbWpyaFNxanhJbkVMMzdWdHpaZGd6OWl6QWdzSjd6eDVWcXp2RmoyOUZW?=
 =?utf-8?B?eWFFUnFJSG5XWitKQkhhNFhaQ3J5V2Q2RkdXNUVkQUh3d2ZHd282REZwS2RL?=
 =?utf-8?Q?NL6zTwFWaqzcICLEiqvrIH93k?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 016f9966-604c-4464-115e-08dad56a790f
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2022 20:10:51.6094
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: n1EjkJf0o72tSo8YHC+nC7E3Cep22ZghShg4HBtLQzpj4/hvQKXAJwNQ8iQtYFne/0CzLDluJ25dGmevPFuAZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4385

Hi Bobby,

On 20/11/2022 17:01, Bobby Eshleman wrote:
> On Fri, Dec 02, 2022 at 12:56:06PM +0000, Andrew Cooper wrote:
>> On 02/12/2022 12:35, Ayan Kumar Halder wrote:
>>> Currently this change will not have any impact on the existing architectures.
>>> The following table illustrates PADDR_BITS vs BITS_PER_LONG of different archs
>>>
>>> ------------------------------------------------
>>> | Arch      |   PADDR_BITS    |   BITS_PER_LONG |
>>> ------------------------------------------------
>>> | Arm_64    |   48            |   64            |
>>> | Arm_32    |   40            |   32            |
>>> | RISCV_64  |   Don't know    |   64            |
>> Just FYI, I think the answer here is 56 for RISC-V.
>>
>> ~Andrew
>>
> Andrew got it: 56.

Thanks Andrew, Bobby.

Bobby, I couldn't see PADDR_BITS defined anywhere. Did I miss something ?

If not, will you define PADDR_BITS somewhere in xen/arch/riscv/* ?

- Ayan



From xen-devel-bounces@lists.xenproject.org Sat Dec 03 20:37:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 20:37:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452790.710589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1ZGZ-0002Xf-8Q; Sat, 03 Dec 2022 20:37:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452790.710589; Sat, 03 Dec 2022 20:37:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1ZGZ-0002XY-5d; Sat, 03 Dec 2022 20:37:43 +0000
Received: by outflank-mailman (input) for mailman id 452790;
 Sat, 03 Dec 2022 20:37:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1ZGY-0002XS-1Y
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 20:37:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1ZGX-00032o-Mh; Sat, 03 Dec 2022 20:37:41 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1ZGX-0002uA-Fv; Sat, 03 Dec 2022 20:37:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=Nnpc4dGHJ3rZ5Nks+j9E413nJCxYN1US/ORMe+qhpYs=; b=HXiC8USopD6dgzDlhIfiLMtKfX
	BJjde5b0Ev3LAYHbGcY5e8BHks9UK24nxzW+Xb464ZvV4GYSOw2DlSthJduk5jUUVzM7nU7Bn73Y1
	TOV0eSXnBXTkoMXbjF2QgPjtwE/I/u0VniKFxyJjWAzVOhjtVIdbEZSp7fOSMJ2ofFA0=;
Message-ID: <c56167cf-1a12-6910-ef19-825f94ed517b@xen.org>
Date: Sat, 3 Dec 2022 20:37:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, michal.orzel@amd.com, jgrall@amazon.com,
 burzalodowa@gmail.com
References: <20221128155649.31386-1-ayan.kumar.halder@amd.com>
 <20221128155649.31386-11-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [XEN v4 10/11] xen/Arm: GICv3: Define macros to read/write 64 bit
In-Reply-To: <20221128155649.31386-11-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 28/11/2022 15:56, Ayan Kumar Halder wrote:
> On AArch32, ldrd/strd instructions are not atomic when used to access MMIO.
> Furthermore, ldrd/strd instructions are not decoded by Arm when running as
> a guest to access emulated MMIO region.
> Thus, we have defined readq_relaxed_non_atomic()/writeq_relaxed_non_atomic()
> which in turn calls readl_relaxed()/writel_relaxed() for the lower and upper
> 32 bits.
> For AArch64, readq_relaxed_non_atomic()/writeq_relaxed_non_atomic() invokes
> readq_relaxed()/writeq_relaxed() respectively.
> As GICv3 registers (GICD_IROUTER, GICR_TYPER) can be accessed in a non atomic
> manner, so we have used readq_relaxed_non_atomic()/writeq_relaxed_non_atomic().

I had another look at the code and I think there needs some 
clarification necessary because the accesses to IROUTER is non-obvious.

> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> 
> Changes from :-
> v1 - 1. Use ldrd/strd for readq_relaxed()/writeq_relaxed().
> 2. No need to use le64_to_cpu() as the returned byte order is already in cpu
> endianess.
> 
> v2 - 1. Replace {read/write}q_relaxed with {read/write}q_relaxed_non_atomic().
> 
> v3 - 1. Use inline function definitions for {read/write}q_relaxed_non_atomic().
> 2. For AArch64, {read/write}q_relaxed_non_atomic() should invoke {read/write}q_relaxed().
> Thus, we can avoid any ifdef in gic-v3.c.
> 
>   xen/arch/arm/gic-v3.c               |  6 +++---
>   xen/arch/arm/include/asm/arm32/io.h | 20 ++++++++++++++++++++
>   xen/arch/arm/include/asm/arm64/io.h |  2 ++
>   3 files changed, 25 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
> index 6457e7033c..3c5b88148c 100644
> --- a/xen/arch/arm/gic-v3.c
> +++ b/xen/arch/arm/gic-v3.c
> @@ -651,7 +651,7 @@ static void __init gicv3_dist_init(void)
>       affinity &= ~GICD_IROUTER_SPI_MODE_ANY;
>   
>       for ( i = NR_GIC_LOCAL_IRQS; i < nr_lines; i++ )
> -        writeq_relaxed(affinity, GICD + GICD_IROUTER + i * 8);
> +        writeq_relaxed_non_atomic(affinity, GICD + GICD_IROUTER + i * 8);

Using non atomic here makes sense because AFAIU the interrupt will be 
disabled. Therefore the GIC should not use the register.

>   }
>   
>   static int gicv3_enable_redist(void)
> @@ -745,7 +745,7 @@ static int __init gicv3_populate_rdist(void)
>           }
>   
>           do {
> -            typer = readq_relaxed(ptr + GICR_TYPER);
> +            typer = readq_relaxed_non_atomic(ptr + GICR_TYPER);

This non-atomic read is OK because GICR_TYPER is read-only.

>   
>               if ( (typer >> 32) == aff )
>               {
> @@ -1265,7 +1265,7 @@ static void gicv3_irq_set_affinity(struct irq_desc *desc, const cpumask_t *mask)
>       affinity &= ~GICD_IROUTER_SPI_MODE_ANY;
>   
>       if ( desc->irq >= NR_GIC_LOCAL_IRQS )
> -        writeq_relaxed(affinity, (GICD + GICD_IROUTER + desc->irq * 8));
> +        writeq_relaxed_non_atomic(affinity, (GICD + GICD_IROUTER + desc->irq * 8));

This can be called with interrupt enabled. So a non-atomic access means 
the GIC will see a transient value when only one of two 32-bit will be 
updated.

In practice this is fine because only Aff3 is so far defined in the top 
32-bits. So effectively, they will be RESS0 and never change.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 20:40:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 20:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452797.710599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1ZJZ-0003xr-Nd; Sat, 03 Dec 2022 20:40:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452797.710599; Sat, 03 Dec 2022 20:40:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1ZJZ-0003xk-Kw; Sat, 03 Dec 2022 20:40:49 +0000
Received: by outflank-mailman (input) for mailman id 452797;
 Sat, 03 Dec 2022 20:40:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1ZJY-0003xe-Cz
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 20:40:48 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1ZJX-00036v-Ua; Sat, 03 Dec 2022 20:40:47 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1ZJX-00030p-Oc; Sat, 03 Dec 2022 20:40:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=1iqqiH64fbfJz4uoN1xPNVOd24d39ael6+6GhflFMa0=; b=sX5qYzdQwePT4v3TQlU3uwlfu4
	O77fiO2la5fwMsnsp1TQeQo4YQDZtcrvjrSGky3ZjjkzaxKtpOvuudPbYq6ZZSmE0BcasVtL815nq
	EkGR8uGoD2RKyEpBZnMYFbPbQP7Fvq4aQgzvfouRgLUuLwJoCSKbfn3MT1hXZPHDg9cc=;
Message-ID: <fcb13f6a-2c84-be06-cfea-94b980c6a207@xen.org>
Date: Sat, 3 Dec 2022 20:40:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [XEN v4 11/11] xen/Arm: GICv3: Enable GICv3 for AArch32
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, michal.orzel@amd.com, jgrall@amazon.com,
 burzalodowa@gmail.com
References: <20221128155649.31386-1-ayan.kumar.halder@amd.com>
 <20221128155649.31386-12-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221128155649.31386-12-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 28/11/2022 15:56, Ayan Kumar Halder wrote:
> One can now use GICv3 on AArch32 systems. However, ITS is not supported.
> The reason being currently we are trying to validate GICv3 on an AArch32_v8R
> system. Refer ARM DDI 0568A.c ID110520, B1.3.1,
> "A Generic Interrupt Controller (GIC) implemented with an Armv8-R PE must not
> implement LPI support."
> 
> By default GICv3 is disabled on AArch32 and enabled on AArch64.
> 
> Updated SUPPORT.md to state that GICv3 on Arm32 is not security supported.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> 
> Changed from :-
> v1 - 1. Remove "ARM_64 || ARM_32" as it is always true.
> 2. Updated SUPPORT.md.
> 
> v2 - 1. GICv3 is enabled by default only on ARM_64.
> 2. Updated SUPPORT.md.
> 
> v3 - 1. GICv3 is not selected by ARM_64. Rather, it is optionally
> enabled.
> 2. GICv3 is disabled by default on ARM_32.
> 
>   SUPPORT.md                            | 7 +++++++
>   xen/arch/arm/Kconfig                  | 9 +++++----
>   xen/arch/arm/include/asm/cpufeature.h | 1 +
>   3 files changed, 13 insertions(+), 4 deletions(-)
> 
> diff --git a/SUPPORT.md b/SUPPORT.md
> index ab71464cf6..295369998e 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -76,6 +76,13 @@ For the Cortex A57 r0p0 - r1p1, see Errata 832075.
>       Status, ARM SMMUv3: Tech Preview
>       Status, Renesas IPMMU-VMSA: Supported, not security supported
>   
> +### ARM/GICv3
> +
> +GICv3 is an interrupt controller specification designed by Arm.
> +
> +    Status, Arm64: Security supported
> +    Status, Arm32: Supported, not security supported
> +
>   ### ARM/GICv3 ITS
>   
>   Extension to the GICv3 interrupt controller to support MSI.
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 52a05f704d..9d0c45f892 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -41,16 +41,17 @@ config ARM_EFI
>   
>   config GICV3
>   	bool "GICv3 driver"
> -	depends on ARM_64 && !NEW_VGIC
> -	default y
> +	depends on !NEW_VGIC
> +	default n if ARM_32
> +	default y if ARM_64
>   	---help---
>   
>   	  Driver for the ARM Generic Interrupt Controller v3.
> -	  If unsure, say Y
> +	  If unsure, say N for ARM_32 and Y for ARM_64

s/ARM_32/32-bit Arm/
s/ARM_64/64-bit Arm/

Or you could use the following wording (used on x86 in similar 
circumstances):

"If unsure, use the default setting."

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 21:09:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 21:09:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452817.710611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1ZlO-0008V8-VQ; Sat, 03 Dec 2022 21:09:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452817.710611; Sat, 03 Dec 2022 21:09:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1ZlO-0008V1-Ru; Sat, 03 Dec 2022 21:09:34 +0000
Received: by outflank-mailman (input) for mailman id 452817;
 Sat, 03 Dec 2022 21:09:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1ZlN-0008Uv-EW
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 21:09:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1ZlN-0003jW-0P; Sat, 03 Dec 2022 21:09:33 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1ZlM-00047M-Oy; Sat, 03 Dec 2022 21:09:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=0zjAPRz0Hc3SqNXmXQ7E0hJH6wvakMWfmVC9Uq7i45c=; b=6KLb1sD2dWjLNYc76DY/5IYJao
	pyx1GHUOSSTv6y/gMoAnsXEXiiH5sO60v+TQUwEjpsoqq5ehWMu1Y+nEYQ+rtZqgKmUjpbasveVDZ
	V3xeFEnicZ2J2+hihbwYX/M6ibxsBhbuGRpoWjQhFlaGPHPTRNreSIOyhjkM7eQb0ksw=;
Message-ID: <34a4ab54-2e61-12d2-f561-9b5462f8c9cb@xen.org>
Date: Sat, 3 Dec 2022 21:09:30 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
To: Ayan Kumar Halder <ayankuma@amd.com>, Michal Orzel
 <michal.orzel@amd.com>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, jgrall@amazon.com, burzalodowa@gmail.com
References: <20221128155649.31386-1-ayan.kumar.halder@amd.com>
 <20221128155649.31386-8-ayan.kumar.halder@amd.com>
 <0ccfe5e6-960d-2f60-f782-e321c1ea7786@amd.com>
 <bd197b39-a558-7b88-d10d-053846cd5dab@xen.org>
 <110c7534-0b06-9d0d-92f3-56f51a6cb022@amd.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [XEN v4 07/11] xen/Arm: GICv3: Define ICH_LR<n>_EL2 on AArch32
In-Reply-To: <110c7534-0b06-9d0d-92f3-56f51a6cb022@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 03/12/2022 20:02, Ayan Kumar Halder wrote:
> The definition is different :-
> 
> In xen/arch/arm/include/asm/arm32/sysregs.h
> 
>   "#define __CP32(r, coproc, opc1, crn, crm, opc2) coproc, opc1, r, crn, 
> crm, opc2"   (Note:- it takes 6 arguments)
> 
> And what I have defined in  xen/arch/arm/include/asm/cpregs.h:-
> 
> #define ___CP32(coproc, opc1, crn, crm, opc2) coproc, opc1, crn, crm, 
> opc2 (It takes 5 arguments, also note it has 3 underscores before CP32).

Ah... I missed the 3rd underscore. That's one more reason to not define 
such macro.

[...]

> Would you also review 8/11, 9/11, 10/11 and 10/11 before I re-spin a new 
> series ?

Patch #8, #9 needs ___CP32 to be removed.
Patch #10, some of the use needs to be clarified
Patch #11 have a minor comment

Please note that I'm reviewing these patches in between my main work and 
it can take a while to go through them in detail. So please wait a few 
days before asking for reply.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 21:16:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 21:16:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452828.710622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1ZsD-0002Ch-Lh; Sat, 03 Dec 2022 21:16:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452828.710622; Sat, 03 Dec 2022 21:16:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1ZsD-0002Ca-I1; Sat, 03 Dec 2022 21:16:37 +0000
Received: by outflank-mailman (input) for mailman id 452828;
 Sat, 03 Dec 2022 21:16:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1ZsB-0002CU-Nk
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 21:16:35 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1ZsB-00041W-Es; Sat, 03 Dec 2022 21:16:35 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1ZsB-0004QM-9B; Sat, 03 Dec 2022 21:16:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=EYx8bGDzt1coCaZQbihsHFNcb2EfV7Gsmac0+VjzYa4=; b=haKQ1WwadDsCjqxl7D6YJw1xS2
	/lRulJCRf1fRLXcsUgHNZtguNhogcz/SQNf5FY2gXhUg9UkidTrjpMrUKZHIfHq4vHWDgwRQz++EG
	BAPFv8lSTBgymZzI1HDNq1etFoLocnIBj+FvYYvhJpeUaxawRWRnlcqARx2G1eFUkitY=;
Message-ID: <1479c5e5-2073-aa58-7078-581d73f493f6@xen.org>
Date: Sat, 3 Dec 2022 21:16:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
Subject: Re: [RFC PATCH 08/21] xen/arm: vsmmuv3: Add support for registers
 emulation
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <89018b50b5b0c2c4a406c5a8779b7fd33d59d1e4.1669888522.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <89018b50b5b0c2c4a406c5a8779b7fd33d59d1e4.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Rahul,

I have only skimmed through the patch so far.

On 01/12/2022 16:02, Rahul Singh wrote:
>   static int vsmmuv3_mmio_write(struct vcpu *v, mmio_info_t *info,
>                                 register_t r, void *priv)
>   {
> +    struct virt_smmu *smmu = priv;
> +    uint64_t reg;
> +    uint32_t reg32;
> +
> +    switch ( info->gpa & 0xffff )
> +    {
> +    case VREG32(ARM_SMMU_CR0):


Shouldn't this code (and all the other register emulations) be protected 
for concurrent access in some way?


> +        reg32 = smmu->cr[0];
> +        vreg_reg32_update(&reg32, r, info);
> +        smmu->cr[0] = reg32;
> +        smmu->cr0ack = reg32 & ~CR0_RESERVED;

Looking at the use. I think it doesn't look necessary to have a copy of 
cr0 with just the reserved bit(s) unset. Instead, it would be better to 
clear the bit(s) when reading it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 21:38:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 21:38:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452835.710633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1aDB-0005vx-E2; Sat, 03 Dec 2022 21:38:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452835.710633; Sat, 03 Dec 2022 21:38:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1aDB-0005vq-Ai; Sat, 03 Dec 2022 21:38:17 +0000
Received: by outflank-mailman (input) for mailman id 452835;
 Sat, 03 Dec 2022 21:38:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1aDA-0005vg-1a; Sat, 03 Dec 2022 21:38:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1aD9-0004Lz-UH; Sat, 03 Dec 2022 21:38:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1aD9-0003lV-Ks; Sat, 03 Dec 2022 21:38:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1aD9-0001a3-KP; Sat, 03 Dec 2022 21:38:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ugit2CncKZa3YvXkE30M5v7ca2qTruiU+FXXwb1r+R8=; b=6EfThq2IrJnG7LmtX4Fik+P9Tl
	s9CS0ih+TAhQTDjgISbX2Y/WL2/jM4VvW3eB54T3QV1PwG1nld33Qgd+MVTsyIFLcalDZ3IrmbmpJ
	x4K07xa7mpOUXuX90j5jp8n2x8ZqCJKzFyKzE7/bCgtgNnKxEvnlfC9KQSC3R+aiNiFI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175035-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175035: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
X-Osstest-Versions-That:
    xen=10acd21795a9df5c0908c58104e82472c5fa2d17
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 03 Dec 2022 21:38:15 +0000

flight 175035 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175035/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
baseline version:
 xen                  10acd21795a9df5c0908c58104e82472c5fa2d17

Last test of basis   175024  2022-12-02 14:07:16 Z    1 days
Testing same since   175035  2022-12-03 19:03:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   10acd21795..68f551ec5f  68f551ec5fa9ad96397a62cd463a7ff7e4db72d0 -> smoke


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 21:45:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 21:45:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452845.710643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1aKH-00088i-8o; Sat, 03 Dec 2022 21:45:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452845.710643; Sat, 03 Dec 2022 21:45:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1aKH-00088b-5J; Sat, 03 Dec 2022 21:45:37 +0000
Received: by outflank-mailman (input) for mailman id 452845;
 Sat, 03 Dec 2022 21:45:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1aKF-00088V-RF
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 21:45:35 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1aKF-0004du-Ir; Sat, 03 Dec 2022 21:45:35 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1aKF-0005ef-DK; Sat, 03 Dec 2022 21:45:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=X+zmNxaL2BgHSi+LqQl5ikDV6Pwa2nLSP19YJkEfuME=; b=qs2+nV7bNiu9TCFVc2XO50x5TH
	yQSgY1XqBYF2V0iXVp9c6Jx4sBYr7BFOmwL9hXDLLXNfIKH17YlGBLeZ9ufn/CNTLizGqZx/2MfHT
	gYaYTyawizzDzvnsq9iiMsSxFEzwoMWd1JgpCC2ljF5KxyTVh8qAYUEg05ykxd41gtTE=;
Message-ID: <f95d762e-b3da-a931-8cf7-9633fa805607@xen.org>
Date: Sat, 3 Dec 2022 21:45:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <6976a8484515fe02e9c2bd65cfb6a93632a228eb.1669888522.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [RFC PATCH 09/21] xen/arm: vsmmuv3: Add support for cmdqueue
 handling
In-Reply-To: <6976a8484515fe02e9c2bd65cfb6a93632a228eb.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 01/12/2022 16:02, Rahul Singh wrote:
> Add support for virtual cmdqueue handling for guests

This commit message is a bit light given the security implication of 
this approach. See some of the questions below.

[...]

> +static int arm_vsmmu_handle_cmds(struct virt_smmu *smmu)
> +{
> +    struct arm_vsmmu_queue *q = &smmu->cmdq;
> +    struct domain *d = smmu->d;
> +    uint64_t command[CMDQ_ENT_DWORDS];
> +    paddr_t addr;
> +
> +    if ( !smmu_get_cmdq_enabled(smmu->cr[0]) )
> +        return 0;
> +
> +    while ( !queue_empty(q) )
What is the size of the queue and what would happen if the guest fill up 
the queue before triggering a call to arm_vsmmu_handle_cmds()?

> +    {
> +        int ret;
> +
> +        addr = Q_CONS_ENT(q);
> +        ret = access_guest_memory_by_ipa(d, addr, command,
> +                                         sizeof(command), false);
> +        if ( ret )
> +            return ret;
> +
> +        switch ( smmu_cmd_get_command(command[0]) )
> +        {
> +        case CMDQ_OP_CFGI_STE:
> +            break;

It is not clear to me why there is a break here when...

> +        case CMDQ_OP_PREFETCH_CFG:
> +        case CMDQ_OP_CFGI_CD:
> +        case CMDQ_OP_CFGI_CD_ALL:
> +        case CMDQ_OP_CFGI_ALL:
> +        case CMDQ_OP_CMD_SYNC:
> +            break;

... the implementation for those is also empty.

> +        case CMDQ_OP_TLBI_NH_ASID:
> +        case CMDQ_OP_TLBI_NSNH_ALL:
> +        case CMDQ_OP_TLBI_NH_VA:
> +            if ( !iommu_iotlb_flush_all(smmu->d, 1) )
> +                break;

It is not clear to me why you are implementing TLB flush right now but 
not the other.

This call is also a massive hammer (the more if there are multiple 
IOMMUs involved) and I can see this been a way for a guest to abuse the 
vSMMUv3.

What is your end goal with the vSMMUv3, are you going to expose it to 
untrusted environment?

> +        default:
> +            gdprintk(XENLOG_ERR, "vSMMUv3: unhandled command\n");
> +            dump_smmu_command(command);

This would only be printed in a debug build. However, it is not clear to 
me how a guest would notice that Xen didn't handle the command.

So I think this should be a gprintk() to enable the user to figure out 
in production that something went wrong.

That said, isn't there a way to report error to the guest?

> +            break;
> +        }
> +
> +        if ( ret )
> +        {
> +            gdprintk(XENLOG_ERR,
> +                     "vSMMUv3: command error %d while handling command\n",
> +                     ret);

Same here. However, ret is so far always 0 until here. It would be 
preferable if this is introduced on the first user.

> +            dump_smmu_command(command);
> +        }
> +        queue_inc_cons(q);
> +    }
> +    return 0;
> +}
> +
>   static int vsmmuv3_mmio_write(struct vcpu *v, mmio_info_t *info,
>                                 register_t r, void *priv)
>   {
> @@ -103,9 +196,15 @@ static int vsmmuv3_mmio_write(struct vcpu *v, mmio_info_t *info,
>           break;
>   
>       case VREG32(ARM_SMMU_CMDQ_PROD):
> +        spin_lock(&smmu->cmd_queue_lock);
The amount of work done with the spin_lock() taken looks quite large. 
This means a guest with N vCPUs could easily block N pCPUs for several 
seconds.

How do you plan to address this?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 21:54:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 21:54:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452853.710655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1aTG-0001pP-4N; Sat, 03 Dec 2022 21:54:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452853.710655; Sat, 03 Dec 2022 21:54:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1aTG-0001pI-1L; Sat, 03 Dec 2022 21:54:54 +0000
Received: by outflank-mailman (input) for mailman id 452853;
 Sat, 03 Dec 2022 21:54:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1aTE-0001pB-Tj
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 21:54:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1aTE-0004nO-8h; Sat, 03 Dec 2022 21:54:52 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1aTE-0005nA-1V; Sat, 03 Dec 2022 21:54:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=1KWVxk35bn8Yhx88QoQGrkJyqaO8q0xTERewyP6vN7E=; b=c7aVW/zpwLkd8ysrUktC1RpCe5
	WpuIVGWAgh6TSgWkJ5xUKR6+nxy13qe/1yi9NwIAIgCUa9KhbmBPA8BnKDsJCGrBTYnhZNWqS2OHF
	qS8Fbs+XSma9Zh3Kfh/ooNLBwj0aKxCbd6usZpfKLgD5iaC1f3xls42wTtGYAH1x7WFM=;
Message-ID: <e4e25940-9637-2046-18e0-82a863c2737e@xen.org>
Date: Sat, 3 Dec 2022 21:54:50 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
In-Reply-To: <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Rahul,

On 01/12/2022 16:02, Rahul Singh wrote:
> This patch adds basic framework for vIOMMU.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>   xen/arch/arm/domain.c                | 17 +++++++
>   xen/arch/arm/domain_build.c          |  3 ++
>   xen/arch/arm/include/asm/viommu.h    | 70 ++++++++++++++++++++++++++++
>   xen/drivers/passthrough/Kconfig      |  6 +++
>   xen/drivers/passthrough/arm/Makefile |  1 +
>   xen/drivers/passthrough/arm/viommu.c | 48 +++++++++++++++++++
>   xen/include/public/arch-arm.h        |  4 ++
>   7 files changed, 149 insertions(+)
>   create mode 100644 xen/arch/arm/include/asm/viommu.h
>   create mode 100644 xen/drivers/passthrough/arm/viommu.c
> 
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 38e22f12af..2a85209736 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -37,6 +37,7 @@
>   #include <asm/tee/tee.h>
>   #include <asm/vfp.h>
>   #include <asm/vgic.h>
> +#include <asm/viommu.h>
>   #include <asm/vtimer.h>
>   
>   #include "vpci.h"
> @@ -691,6 +692,13 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
>           return -EINVAL;
>       }
>   
> +    if ( config->arch.viommu_type != XEN_DOMCTL_CONFIG_VIOMMU_NONE )
> +    {
> +        dprintk(XENLOG_INFO,
> +                "vIOMMU type requested not supported by the platform or Xen\n");
> +        return -EINVAL;
> +    }
> +
>       return 0;
>   }
>   
> @@ -783,6 +791,9 @@ int arch_domain_create(struct domain *d,
>       if ( (rc = domain_vpci_init(d)) != 0 )
>           goto fail;
>   
> +    if ( (rc = domain_viommu_init(d, config->arch.viommu_type)) != 0 )
> +        goto fail;
> +
>       return 0;
>   
>   fail:
> @@ -998,6 +1009,7 @@ static int relinquish_memory(struct domain *d, struct page_list_head *list)
>   enum {
>       PROG_pci = 1,
>       PROG_tee,
> +    PROG_viommu,
>       PROG_xen,
>       PROG_page,
>       PROG_mapping,
> @@ -1048,6 +1060,11 @@ int domain_relinquish_resources(struct domain *d)
>           if (ret )
>               return ret;
>   
> +    PROGRESS(viommu):
> +        ret = viommu_relinquish_resources(d);
> +        if (ret )
> +            return ret;

I would have expected us to relinquish the vIOMMU resources *before* we 
detach the devices. So can you explain the ordering?

> +
>       PROGRESS(xen):
>           ret = relinquish_memory(d, &d->xenpage_list);
>           if ( ret )
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index bd30d3798c..abbaf37a2e 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -27,6 +27,7 @@
>   #include <asm/setup.h>
>   #include <asm/cpufeature.h>
>   #include <asm/domain_build.h>
> +#include <asm/viommu.h>
>   #include <xen/event.h>
>   
>   #include <xen/irq.h>
> @@ -3858,6 +3859,7 @@ void __init create_domUs(void)
>           struct domain *d;
>           struct xen_domctl_createdomain d_cfg = {
>               .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
> +            .arch.viommu_type = viommu_get_type(),

I don't think the vIOMMU should be enabled to dom0less domU by default.

>               .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>               /*
>                * The default of 1023 should be sufficient for guests because
> @@ -4052,6 +4054,7 @@ void __init create_dom0(void)
>           printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
>       dom0_cfg.arch.tee_type = tee_get_type();
>       dom0_cfg.max_vcpus = dom0_max_vcpus();
> +    dom0_cfg.arch.viommu_type = viommu_get_type();

Same here.

>   
>       if ( iommu_enabled )
>           dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
> diff --git a/xen/arch/arm/include/asm/viommu.h b/xen/arch/arm/include/asm/viommu.h
> new file mode 100644
> index 0000000000..7cd3818a12
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/viommu.h
> @@ -0,0 +1,70 @@
> +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
> +#ifndef __ARCH_ARM_VIOMMU_H__
> +#define __ARCH_ARM_VIOMMU_H__
> +
> +#ifdef CONFIG_VIRTUAL_IOMMU
> +
> +#include <xen/lib.h>
> +#include <xen/types.h>
> +#include <public/xen.h>
> +
> +struct viommu_ops {
> +    /*
> +     * Called during domain construction if toolstack requests to enable
> +     * vIOMMU support.
> +     */
> +    int (*domain_init)(struct domain *d);
> +
> +    /*
> +     * Called during domain destruction to free resources used by vIOMMU.
> +     */
> +    int (*relinquish_resources)(struct domain *d);
> +};
> +
> +struct viommu_desc {
> +    /* vIOMMU domains init/free operations described above. */
> +    const struct viommu_ops *ops;
> +
> +    /*
> +     * ID of vIOMMU. Corresponds to xen_arch_domainconfig.viommu_type.

Did you mean ID rather than type?

> +     * Should be one of XEN_DOMCTL_CONFIG_VIOMMU_xxx
> +     */
> +    uint16_t viommu_type;

The domctl is uint8_t.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 03 22:07:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 03 Dec 2022 22:07:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452860.710666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1afN-00042z-7K; Sat, 03 Dec 2022 22:07:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452860.710666; Sat, 03 Dec 2022 22:07:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1afN-00042s-4D; Sat, 03 Dec 2022 22:07:25 +0000
Received: by outflank-mailman (input) for mailman id 452860;
 Sat, 03 Dec 2022 22:07:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p1afL-00042m-5U
 for xen-devel@lists.xenproject.org; Sat, 03 Dec 2022 22:07:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1afK-00050y-QD; Sat, 03 Dec 2022 22:07:22 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p1afK-0006Ts-IY; Sat, 03 Dec 2022 22:07:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=Zaosgh8/6BsZMbj6bPPQOwY+pHUFlzWVCVcHwYDQKsk=; b=vOfcj3NQwBMWKOd+Yk5chk9xkZ
	qcfebwjnj4zIA3C9qLOU1gv/qlD8FquJk/dC/9eUTYgxWpnx4cz757HwYbAzs9JSeyJmNA4lUOtha
	MX/8fVvkJcAGj1CBY6+jkrMJ+B+n3X0Jk2PCZDWK43am5PtiP8QcDThw9HqF0g9zml3o=;
Message-ID: <849cf3a4-e7b2-f555-d759-978170088a54@xen.org>
Date: Sat, 3 Dec 2022 22:07:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.0
To: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Nick Rosbrook
 <rosbrookn@gmail.com>, Juergen Gross <jgross@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [RFC PATCH 00/21] Add SMMUv3 Stage 1 Support for XEN guests
In-Reply-To: <cover.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Rahul,

On 01/12/2022 16:02, Rahul Singh wrote:
> This patch series is sent as RFC to get the initial feedback from the
> community. This patch series consists of 21 patches which is a big number for
> the reviewer to review the patches but to understand the feature end-to-end we
> thought of sending this as a big series. Once we will get initial feedback, we
> will divide the series into a small number of patches for review.

 From the cover letter, it is not clear to me what sort of input you are 
expecting for the RFC. Is this about the design itself?

If so, I think it would be more helpful to write an high level document 
on how you plan to emulate the vIOMMU in Xen. So there is one place to 
read/agree/verify rather than trying to collate all the information from 
the 20+ patches.

Briefly skimming through I think the main things that need to be 
addressed in order of priority:
   - How to secure the vIOMMU
   - 1 vs multiple vIOMMU

The questions are very similar to the vITS because the SMMUv3 is based 
on a queue. And given you are selling this feature as a security one, I 
don't think we can go forward with the review without any 
understanding/agreement on what needs to be implemented in order to have 
a safe/secure vIOMMU.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sun Dec 04 05:07:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 04 Dec 2022 05:07:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452891.710681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1hDY-0001Sk-3K; Sun, 04 Dec 2022 05:07:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452891.710681; Sun, 04 Dec 2022 05:07:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1hDX-0001SK-TJ; Sun, 04 Dec 2022 05:07:07 +0000
Received: by outflank-mailman (input) for mailman id 452891;
 Sun, 04 Dec 2022 05:07:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1hDW-0001SA-QA; Sun, 04 Dec 2022 05:07:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1hDW-0005Oi-OE; Sun, 04 Dec 2022 05:07:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1hDW-0007gW-1H; Sun, 04 Dec 2022 05:07:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1hDW-0002mS-0I; Sun, 04 Dec 2022 05:07:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sOpmXORA4TuBFtpY/fhGDHQvwj0Wo31Gy2oKhdd8bOA=; b=PuWfN9PGxWINrpvjd5pRe8MIAp
	oyWBODdbesKNTGDIY0/BRCuLmamGyxK/nC86qcbyPD2DYJqmZfgpE159G1lpeJcbKqnucoDMw3K8K
	PzqlXkty3MbKy8HPLfzRWcr2W1meMNKHx/4G1y8cmH+lxJmRyCB8n9GdPcpflSqsHUHw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175036-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175036: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=97ee9d1c16963375eefdf964c429897d27e28956
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 04 Dec 2022 05:07:06 +0000

flight 175036 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175036/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 linux                97ee9d1c16963375eefdf964c429897d27e28956
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   57 days
Failing since        173470  2022-10-08 06:21:34 Z   56 days  111 attempts
Testing same since   175030  2022-12-03 00:42:13 Z    1 days    3 attempts

------------------------------------------------------------
1949 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 186730 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 04 06:18:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 04 Dec 2022 06:18:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452902.710692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1iK7-0003uC-7n; Sun, 04 Dec 2022 06:17:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452902.710692; Sun, 04 Dec 2022 06:17:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1iK7-0003u5-4E; Sun, 04 Dec 2022 06:17:59 +0000
Received: by outflank-mailman (input) for mailman id 452902;
 Sun, 04 Dec 2022 06:17:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1iK5-0003tv-UU; Sun, 04 Dec 2022 06:17:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1iK5-00072y-Q8; Sun, 04 Dec 2022 06:17:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1iK5-0000oz-8c; Sun, 04 Dec 2022 06:17:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1iK5-0000mH-7x; Sun, 04 Dec 2022 06:17:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gb21r6OEiI1OkpJThq9PPGhmoePvzHmuXf6ZOnqG4nY=; b=1BNJi+r1BOEQS2KT+HP59aT9+J
	XH+TOqSy2176l/epUowD0mvtae6zRQmUgsjDgYEdZ39w4kKThvkoWlbYewCZcAg7MGeZmS0Mflxcx
	RM2Iadob5+CkF2pKXhT1Lf7wLOcVeq6hSGOWp0OpXWB/RMpIkCbos4FekPUAujc9Djhs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175037-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175037: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine-uefi:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
X-Osstest-Versions-That:
    xen=10acd21795a9df5c0908c58104e82472c5fa2d17
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 04 Dec 2022 06:17:57 +0000

flight 175037 xen-unstable real [real]
flight 175039 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175037/
http://logs.test-lab.xenproject.org/osstest/logs/175039/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine-uefi  6 xen-install         fail pass in 175039-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175031
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175031
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175031
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175031
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175031
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175031
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175031
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175031
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175031
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175031
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175031
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175031
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
baseline version:
 xen                  10acd21795a9df5c0908c58104e82472c5fa2d17

Last test of basis   175031  2022-12-03 02:18:17 Z    1 days
Testing same since   175037  2022-12-03 22:10:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   10acd21795..68f551ec5f  68f551ec5fa9ad96397a62cd463a7ff7e4db72d0 -> master


From xen-devel-bounces@lists.xenproject.org Sun Dec 04 13:17:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 04 Dec 2022 13:17:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452983.710716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1orX-0007hp-ER; Sun, 04 Dec 2022 13:16:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452983.710716; Sun, 04 Dec 2022 13:16:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1orX-0007hi-BB; Sun, 04 Dec 2022 13:16:55 +0000
Received: by outflank-mailman (input) for mailman id 452983;
 Sun, 04 Dec 2022 13:16:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1orW-0007hY-2E; Sun, 04 Dec 2022 13:16:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1orV-00089r-VO; Sun, 04 Dec 2022 13:16:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1orV-0004hD-FY; Sun, 04 Dec 2022 13:16:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1orV-0004Vx-Cz; Sun, 04 Dec 2022 13:16:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SgXZXnzl193/Cuz2rFF8RNQ6Kj1ljd26LFmqfE205Qo=; b=4/J6rPOl09pukXYaJ8C392nXh3
	kWO2ikqS90/jAM0ogJOgsIA0lMy9U1zz0yxEgpNp/N1HgMsoduoAtU9T/PuhmwO7ZzcegHvKCyOJa
	IAeLckZuZZ18pkPctlurRezLF2s9gDJ0nJ9VIoJ2DFL6D8kBd+UZvPefynNp54cRdVsU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175038-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175038: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c2bf05db6c78f53ca5cd4b48f3b9b71f78d215f1
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 04 Dec 2022 13:16:53 +0000

flight 175038 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175038/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 linux                c2bf05db6c78f53ca5cd4b48f3b9b71f78d215f1
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   57 days
Failing since        173470  2022-10-08 06:21:34 Z   57 days  112 attempts
Testing same since   175038  2022-12-04 05:10:49 Z    0 days    1 attempts

------------------------------------------------------------
1949 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 187007 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 04 13:58:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 04 Dec 2022 13:58:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.452996.710727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1pVc-0005bv-Iq; Sun, 04 Dec 2022 13:58:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 452996.710727; Sun, 04 Dec 2022 13:58:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1pVc-0005bo-FP; Sun, 04 Dec 2022 13:58:20 +0000
Received: by outflank-mailman (input) for mailman id 452996;
 Sun, 04 Dec 2022 13:58:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1pVb-0005be-7h; Sun, 04 Dec 2022 13:58:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1pVb-0000Wf-3W; Sun, 04 Dec 2022 13:58:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1pVa-0005gQ-IA; Sun, 04 Dec 2022 13:58:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1pVa-0000hD-Hh; Sun, 04 Dec 2022 13:58:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SVPzaRMTIsOKONvooF6LJAb50uFOTnzHibwJLnZTx04=; b=ISPFVLrNfn6MmG58cEbbqHqxcU
	8BauWET5QmmioRxtr50k65qF5hv9LiKDJ75Td8/eOJ3jG7CmMA8QDZjQunFwWrADqV6smzjJbQ8PF
	GrWkCFoqOYzHX8N9iahVXglmT+nvqlNnKT1QCLIY6CJ5CzrSRkiNnWi7J7efRDV1xHVk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175040-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175040: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine-uefi:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
X-Osstest-Versions-That:
    xen=68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 04 Dec 2022 13:58:18 +0000

flight 175040 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175040/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine-uefi  6 xen-install      fail in 175037 pass in 175040
 test-amd64-i386-pair         11 xen-install/dst_host       fail pass in 175037
 test-amd64-amd64-xl-credit1  20 guest-localmigrate/x10     fail pass in 175037

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175037
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175037
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175037
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175037
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175037
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175037
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175037
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175037
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175037
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175037
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175037
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175037
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
baseline version:
 xen                  68f551ec5fa9ad96397a62cd463a7ff7e4db72d0

Last test of basis   175040  2022-12-04 06:20:17 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Dec 04 18:53:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 04 Dec 2022 18:53:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453078.710738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1u6l-0007ja-9K; Sun, 04 Dec 2022 18:52:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453078.710738; Sun, 04 Dec 2022 18:52:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1u6l-0007jT-65; Sun, 04 Dec 2022 18:52:59 +0000
Received: by outflank-mailman (input) for mailman id 453078;
 Sun, 04 Dec 2022 18:52:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+kJe=4C=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1p1u6j-0007jN-Hh
 for xen-devel@lists.xen.org; Sun, 04 Dec 2022 18:52:57 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dc0596f9-7404-11ed-91b6-6bf2151ebd3b;
 Sun, 04 Dec 2022 19:52:55 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id bp15so15358810lfb.13
 for <xen-devel@lists.xen.org>; Sun, 04 Dec 2022 10:52:54 -0800 (PST)
Received: from [192.168.1.53] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 m8-20020a2e9108000000b0026dffa29989sm888603ljg.23.2022.12.04.10.52.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 04 Dec 2022 10:52:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc0596f9-7404-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9r6gQQB1HCMusFGezDXaBPEjcTkGUvwcdpyzvmFhQQA=;
        b=A8ukTlA/9syAbG2nQMeawY/oTf/ToBROq3twK1bfxAfPCxbQ4dlsXT01HYXBZDhWES
         +8gExUj3UWzm7EN4GpvAoKFAeUD0SloRg9yWzP6xV7rL3wO6J2WP8iExt7NpeysfIFn3
         cq4ExtEbHB9K8OpvMTLk/5CZakoI/rc92QoDtuyR7sglacw9YtyzOF9KVmQTSjWESATE
         eKDAQZZ2tvmmpKRHa7q+BBp3mn/RZemY/Uf15pJsCnqdoIK6JKM3Pew3uxTIPHZT1vzI
         SGU2K9UALeJrBl0tNobzlxhknLYINNP3Zd7T4MtsKKATqxjgaRx2+DAk6A19r1tqAZpD
         Lryg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9r6gQQB1HCMusFGezDXaBPEjcTkGUvwcdpyzvmFhQQA=;
        b=gNogiCl1e1uxaHAoDmBDp9mUr2CHvTalnCsct3URmiTb80RUJGz7dAoLuG/aQS9bH/
         HB856RlIB4/yQjKnIOHNqqiMyiuhjFXaG4Y7B3kRBj02EMpsw6Tf0ZhFllMhPEER8C39
         JEs52F50sao/zwHI4gBDwQNBK96MnXITkibUNW396Cs/BzZBZI3uHN5oqEj93iegBsrI
         9G8IABZAM1VnN+sF9aZG6BqLuNBYhO7+KTsD1ibNrRFJbTSVBHSKwcfWp1PRaJImgOYx
         kafuKpc8Oeaq/vDcaO2rVYKjICOnV+m4LWLbmf+7MYGJqDOn9IuOgUDV5Q7/Yda++XQ+
         J3xw==
X-Gm-Message-State: ANoB5plU3rvQYOv/5KyK8yZs3hNXqOU7NDr1n5kx753szuCjWHq8aRS2
	ML/aSEk1ZU1E0aisOe9npH8=
X-Google-Smtp-Source: AA0mqf4MW+9qJA0MdWcZ8D+ReCUqTXLu60Ieuly9TQ5o04gGjStzUULpuYU3YW49hdasnp4Eb0KGtg==
X-Received: by 2002:a05:6512:2c85:b0:4a2:5937:e9b with SMTP id dw5-20020a0565122c8500b004a259370e9bmr25249240lfb.11.1670179973341;
        Sun, 04 Dec 2022 10:52:53 -0800 (PST)
Message-ID: <4fbe5c89-4468-9ad4-e391-2f51ceaa5b67@gmail.com>
Date: Sun, 4 Dec 2022 20:52:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [PATCH V6 3/3] docs: Add documentation for generic virtio devices
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xen.org, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <24a0278313ea9a9e6c093880dead835184025734.1667906228.git.viresh.kumar@linaro.org>
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <24a0278313ea9a9e6c093880dead835184025734.1667906228.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 08.11.22 13:24, Viresh Kumar wrote:

Hello Viresh


[sorry for the possible format issues if any]

> This patch updates xl.cfg man page with details of generic Virtio device
> related information.


So as I understand current series adds support for two virtio devices 
(i2c/gpio) that require specific device-tree sub node with specific 
compatible in it [1]. Those backends are standalone userspace 
applications (daemons) that do not require any additional configuration 
parameters from the toolstack other than just virtio-mmio irq and base 
(please correct me if I am wrong).

Well, below just some thoughts (which might be wrong) regarding the 
possible extensions for future use. Please note, I do not suggest the 
following to be implemented right now (I mean within the context of 
current series):

1. For supporting usual virtio devices that don't require specific 
device-tree sub node with specific compatible in it [2] we would 
probably need to either make "compatible" (or type?) string optional or 
to reserve some value for it ("common" for the instance).
2. For supporting Qemu based virtio devices we would probably need to 
add "backendtype" string (with "standalone" value for daemons like yours 
and "qemu" value for Qemu backends).
3. For supporting additional configuration parameters for Qemu based 
virtio devices we could probably reuse "device_model_args" (although it 
is not clear to me what alternative to use for daemons).

Any other thoughts?

> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>   docs/man/xl.cfg.5.pod.in | 21 +++++++++++++++++++++
>   1 file changed, 21 insertions(+)
> 
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index 31e58b73b0c9..1056b03df846 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -1585,6 +1585,27 @@ Set maximum height for pointer device.
>   
>   =back
>   
> +=item B<virtio=[ "VIRTIO_DEVICE_STRING", "VIRTIO_DEVICE_STRING", ...]>
> +
> +Specifies the Virtio devices to be provided to the guest.
> +
> +Each B<VIRTIO_DEVICE_STRING> is a comma-separated list of C<KEY=VALUE>
> +settings from the following list:
> +
> +=over 4
> +
> +=item B<compatible=STRING>

Shouldn't it be "type" instead (the parsing code is looking for type and 
the example below suggests the type)?

> +
> +Specifies the compatible string for the specific Virtio device. The same will be
> +written in the Device Tree compatible property of the Virtio device. For
> +example, "type=virtio,device22" for the I2C device > +
> +=item B<transport=STRING>
> +
> +Specifies the transport mechanism for the Virtio device, like "mmio" or "pci".
> +
> +=back
> +
>   =item B<tee="STRING">
>   
>   B<Arm only.> Set TEE type for the guest. TEE is a Trusted Execution



Also the commit description for #1/3 mentions that Virtio backend could 
run in any domain. So looks like the "backend" string is missing here. I 
would add the following:

=item B<backend=domain-id>

Specify the backend domain name or id, defaults to dom0.


P.S. I am wondering do i2c/gpio virtio backends support Xen grant 
mappings for the virtio? Have you tried to run the backends in 
non-hardware domain with CONFIG_XEN_VIRTIO=y in Linux?


[1]
https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml
https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml
[2]
https://www.kernel.org/doc/Documentation/devicetree/bindings/virtio/mmio.yaml





From xen-devel-bounces@lists.xenproject.org Sun Dec 04 21:18:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 04 Dec 2022 21:18:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453089.710749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1wNY-0002oY-NO; Sun, 04 Dec 2022 21:18:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453089.710749; Sun, 04 Dec 2022 21:18:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p1wNY-0002oR-Ka; Sun, 04 Dec 2022 21:18:28 +0000
Received: by outflank-mailman (input) for mailman id 453089;
 Sun, 04 Dec 2022 21:18:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1wNX-0002oH-8h; Sun, 04 Dec 2022 21:18:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1wNW-0002RF-CH; Sun, 04 Dec 2022 21:18:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p1wNV-0002EO-VE; Sun, 04 Dec 2022 21:18:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p1wNV-0001ha-Uj; Sun, 04 Dec 2022 21:18:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=i+KjoGbj2MxI+D0HQBdUDPppI5HsyQrDrIjlr+enZ5Q=; b=gRmDBf49AhwFNHzHep5kOAkXAh
	dLacuJVi/KtBE4iigbswG98OSoLSoeH13guOeus8ZeJgSbEcJBdRHHigVojF2wHRdnxzZdTETQ3KV
	BvxSeav3O4NqVLx6Hf+zXQDoe6LUMo/6LaMzZS4iOG4QrFmf3dpc93cc5kW2qJZ8rJas=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175041-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175041: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c2bf05db6c78f53ca5cd4b48f3b9b71f78d215f1
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 04 Dec 2022 21:18:25 +0000

flight 175041 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175041/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass

version targeted for testing:
 linux                c2bf05db6c78f53ca5cd4b48f3b9b71f78d215f1
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   58 days
Failing since        173470  2022-10-08 06:21:34 Z   57 days  113 attempts
Testing same since   175038  2022-12-04 05:10:49 Z    0 days    2 attempts

------------------------------------------------------------
1949 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 187007 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 02:58:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 02:58:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453110.710760 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p21gI-0008Oh-74; Mon, 05 Dec 2022 02:58:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453110.710760; Mon, 05 Dec 2022 02:58:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p21gI-0008OR-0C; Mon, 05 Dec 2022 02:58:10 +0000
Received: by outflank-mailman (input) for mailman id 453110;
 Mon, 05 Dec 2022 02:58:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IUlJ=4D=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p21gG-0008OK-F9
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 02:58:08 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id a36f7fc6-7448-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 03:58:06 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 34FEA23A;
 Sun,  4 Dec 2022 18:58:11 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.24])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 625653F73D;
 Sun,  4 Dec 2022 18:58:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a36f7fc6-7448-11ed-8fd2-01056ac49cbb
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 0/3] Memory region overlap check in device tree
Date: Mon,  5 Dec 2022 10:57:50 +0800
Message-Id: <20221205025753.2178965-1-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As we are having more and more types of memory region defined in the
device tree, it is necessary to add the overlap check of these memory
regions in Xen, because such check will help user to identify the
misconfiguration in the device tree at the early stage of boot time.

The first patch introduces the basic memory overlap check mechanism,
and does the memory check for memory regions in bootinfo.reserved_mem.
Following patches extend the overlap check to include bootmodules and
EfiACPIReclaimMemory.

Henry Wang (3):
  xen/arm: Add memory overlap check for bootinfo.reserved_mem
  xen/arm: Extend the memory overlap check to include bootmodules
  xen/arm: Extend the memory overlap check to include
    EfiACPIReclaimMemory

 xen/arch/arm/bootfdt.c           | 13 +++--
 xen/arch/arm/efi/efi-boot.h      | 10 +++-
 xen/arch/arm/include/asm/setup.h |  2 +
 xen/arch/arm/setup.c             | 90 ++++++++++++++++++++++++++++++++
 4 files changed, 106 insertions(+), 9 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 02:58:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 02:58:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453111.710770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p21gL-0000Cp-AA; Mon, 05 Dec 2022 02:58:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453111.710770; Mon, 05 Dec 2022 02:58:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p21gL-0000Ci-7V; Mon, 05 Dec 2022 02:58:13 +0000
Received: by outflank-mailman (input) for mailman id 453111;
 Mon, 05 Dec 2022 02:58:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IUlJ=4D=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p21gK-0000CU-Bq
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 02:58:12 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a5f7033c-7448-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 03:58:11 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 48CFFD6E;
 Sun,  4 Dec 2022 18:58:15 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.24])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 806B53F73D;
 Sun,  4 Dec 2022 18:58:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5f7033c-7448-11ed-91b6-6bf2151ebd3b
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 1/3] xen/arm: Add memory overlap check for bootinfo.reserved_mem
Date: Mon,  5 Dec 2022 10:57:51 +0800
Message-Id: <20221205025753.2178965-2-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221205025753.2178965-1-Henry.Wang@arm.com>
References: <20221205025753.2178965-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As we are having more and more types of static region, and all of
these static regions are defined in bootinfo.reserved_mem, it is
necessary to add the overlap check of reserved memory regions in Xen,
because such check will help user to identify the misconfiguration in
the device tree at the early stage of boot time.

Currently we have 3 types of static region, namely (1) static memory,
(2) static heap, (3) static shared memory. (1) and (2) are parsed by
the function `device_tree_get_meminfo()` and (3) is parsed using its
own logic. Therefore, to unify the checking logic for all of these
types of static region, this commit firstly introduces a helper
`check_reserved_regions_overlap()` to check if an input physical
address range is overlapping with the existing reserved memory regions
defined in bootinfo. After that, use this helper in
`device_tree_get_meminfo()` to do the overlap check of (1) and (2)
and replace the original overlap check of (3) with this new helper.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
 xen/arch/arm/bootfdt.c           | 13 ++++----
 xen/arch/arm/include/asm/setup.h |  2 ++
 xen/arch/arm/setup.c             | 52 ++++++++++++++++++++++++++++++++
 3 files changed, 60 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 6014c0f852..b31379b9ac 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -91,6 +91,9 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
     for ( i = 0; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
     {
         device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
+        if ( mem == &bootinfo.reserved_mem &&
+             check_reserved_regions_overlap(start, size) )
+            return -EINVAL;
         /* Some DT may describe empty bank, ignore them */
         if ( !size )
             continue;
@@ -485,7 +488,9 @@ static int __init process_shm_node(const void *fdt, int node,
                 return -EINVAL;
             }
 
-            if ( (end <= mem->bank[i].start) || (paddr >= bank_end) )
+            if ( check_reserved_regions_overlap(paddr, size) )
+                return -EINVAL;
+            else
             {
                 if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
                     continue;
@@ -496,12 +501,6 @@ static int __init process_shm_node(const void *fdt, int node,
                     return -EINVAL;
                 }
             }
-            else
-            {
-                printk("fdt: shared memory region overlap with an existing entry %#"PRIpaddr" - %#"PRIpaddr"\n",
-                        mem->bank[i].start, bank_end);
-                return -EINVAL;
-            }
         }
     }
 
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index fdbf68aadc..6a9f88ecbb 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -143,6 +143,8 @@ void fw_unreserved_regions(paddr_t s, paddr_t e,
 size_t boot_fdt_info(const void *fdt, paddr_t paddr);
 const char *boot_fdt_cmdline(const void *fdt);
 
+int check_reserved_regions_overlap(paddr_t region_start, paddr_t region_size);
+
 struct bootmodule *add_boot_module(bootmodule_kind kind,
                                    paddr_t start, paddr_t size, bool domU);
 struct bootmodule *boot_module_find_by_kind(bootmodule_kind kind);
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 4395640019..94d232605e 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -270,6 +270,42 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
     cb(s, e);
 }
 
+static int __init overlap_check(void *bootinfo_type,
+                                paddr_t region_start, paddr_t region_end)
+{
+    unsigned int i, num = 0;
+    paddr_t bank_start = INVALID_PADDR, bank_end = 0;
+    char *type_str = "NONAME";
+
+    if ( bootinfo_type == &bootinfo.reserved_mem )
+    {
+        num = bootinfo.reserved_mem.nr_banks;
+        type_str = "reserved_mem";
+    }
+    else
+        panic("Invalid bootinfo type passed to overlap check\n");
+
+    for ( i = 0; i < num; i++ )
+    {
+        if ( bootinfo_type == &bootinfo.reserved_mem )
+        {
+            bank_start = bootinfo.reserved_mem.bank[i].start;
+            bank_end = bank_start + bootinfo.reserved_mem.bank[i].size;
+        }
+
+        if ( region_end <= bank_start || region_start >= bank_end )
+            continue;
+        else
+        {
+            printk("%s: Region %#"PRIpaddr" - %#"PRIpaddr" overlapping with bank[%u] %#"PRIpaddr" - %#"PRIpaddr"\n",
+                   type_str, region_start, region_end, i, bank_start, bank_end);
+            return -EINVAL;
+        }
+    }
+
+    return 0;
+}
+
 void __init fw_unreserved_regions(paddr_t s, paddr_t e,
                                   void (*cb)(paddr_t, paddr_t),
                                   unsigned int first)
@@ -280,7 +316,23 @@ void __init fw_unreserved_regions(paddr_t s, paddr_t e,
         cb(s, e);
 }
 
+/*
+ * Given an input physical address range, check if this range is overlapping
+ * with the existing reserved memory regions defined in bootinfo.
+ * Return 0 if the input physical address range is not overlapping with any
+ * existing reserved memory regions, otherwise -EINVAL.
+ */
+int __init check_reserved_regions_overlap(paddr_t region_start,
+                                          paddr_t region_size)
+{
+    paddr_t region_end = region_start + region_size;
 
+    /* Check if input region is overlapping with bootinfo.reserved_mem banks */
+    if ( overlap_check(&bootinfo.reserved_mem, region_start, region_end) )
+        return -EINVAL;
+
+    return 0;
+}
 
 struct bootmodule __init *add_boot_module(bootmodule_kind kind,
                                           paddr_t start, paddr_t size,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 02:58:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 02:58:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453113.710792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p21gQ-0000mI-V6; Mon, 05 Dec 2022 02:58:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453113.710792; Mon, 05 Dec 2022 02:58:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p21gQ-0000m9-S7; Mon, 05 Dec 2022 02:58:18 +0000
Received: by outflank-mailman (input) for mailman id 453113;
 Mon, 05 Dec 2022 02:58:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IUlJ=4D=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p21gP-0008OK-34
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 02:58:17 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id a9ece343-7448-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 03:58:15 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 11F8C23A;
 Sun,  4 Dec 2022 18:58:22 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.24])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 49FD33F73D;
 Sun,  4 Dec 2022 18:58:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9ece343-7448-11ed-8fd2-01056ac49cbb
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 3/3] xen/arm: Extend the memory overlap check to include EfiACPIReclaimMemory
Date: Mon,  5 Dec 2022 10:57:53 +0800
Message-Id: <20221205025753.2178965-4-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221205025753.2178965-1-Henry.Wang@arm.com>
References: <20221205025753.2178965-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Similarly as the static regions and boot modules, memory regions with
EfiACPIReclaimMemory type (defined in bootinfo.acpi if CONFIG_ACPI is
enabled) should also not be overlapping with memory regions in
bootinfo.reserved_mem and bootinfo.modules.

Therefore, this commit further extends the check in function
`check_reserved_regions_overlap()` to include memory regions in
bootinfo.acpi, and use the extended `check_reserved_regions_overlap()`
in `meminfo_add_bank()` defined in `efi-boot.h` to return early if any
error occurs.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
 xen/arch/arm/efi/efi-boot.h | 10 ++++++++--
 xen/arch/arm/setup.c        | 20 ++++++++++++++++++++
 2 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 43a836c3a7..6121ba1f2f 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -161,13 +161,19 @@ static bool __init meminfo_add_bank(struct meminfo *mem,
                                     EFI_MEMORY_DESCRIPTOR *desc)
 {
     struct membank *bank;
+    paddr_t start = desc->PhysicalStart;
+    paddr_t size = desc->NumberOfPages * EFI_PAGE_SIZE;
 
     if ( mem->nr_banks >= NR_MEM_BANKS )
         return false;
+#ifdef CONFIG_ACPI
+    if ( check_reserved_regions_overlap(start, size) )
+        return false;
+#endif
 
     bank = &mem->bank[mem->nr_banks];
-    bank->start = desc->PhysicalStart;
-    bank->size = desc->NumberOfPages * EFI_PAGE_SIZE;
+    bank->start = start;
+    bank->size = size;
 
     mem->nr_banks++;
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index b43c8e118a..f2c2a3b6df 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -287,6 +287,13 @@ static int __init overlap_check(void *bootinfo_type,
         num = bootinfo.modules.nr_mods;
         type_str = "bootmodules";
     }
+#ifdef CONFIG_ACPI
+    else if ( bootinfo_type == &bootinfo.acpi )
+    {
+        num = bootinfo.acpi.nr_banks;
+        type_str = "EfiACPIReclaimMemory";
+    }
+#endif
     else
         panic("Invalid bootinfo type passed to overlap check\n");
 
@@ -302,6 +309,13 @@ static int __init overlap_check(void *bootinfo_type,
             bank_start = bootinfo.modules.module[i].start;
             bank_end = bank_start + bootinfo.modules.module[i].size;
         }
+#ifdef CONFIG_ACPI
+        else if ( bootinfo_type == &bootinfo.acpi )
+        {
+            bank_start = bootinfo.acpi.bank[i].start;
+            bank_end = bank_start + bootinfo.acpi.bank[i].size;
+        }
+#endif
 
         if ( region_end <= bank_start || region_start >= bank_end )
             continue;
@@ -345,6 +359,12 @@ int __init check_reserved_regions_overlap(paddr_t region_start,
     if ( overlap_check(&bootinfo.modules, region_start, region_end) )
         return -EINVAL;
 
+#ifdef CONFIG_ACPI
+    /* Check if input region is overlapping with ACPI EfiACPIReclaimMemory */
+    if ( overlap_check(&bootinfo.acpi, region_start, region_end) )
+        return -EINVAL;
+#endif
+
     return 0;
 }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 02:58:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 02:58:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453112.710782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p21gM-0000TP-M0; Mon, 05 Dec 2022 02:58:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453112.710782; Mon, 05 Dec 2022 02:58:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p21gM-0000TI-J4; Mon, 05 Dec 2022 02:58:14 +0000
Received: by outflank-mailman (input) for mailman id 453112;
 Mon, 05 Dec 2022 02:58:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IUlJ=4D=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p21gL-0000CU-Qv
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 02:58:13 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a83dd8c3-7448-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 03:58:13 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EEF5414BF;
 Sun,  4 Dec 2022 18:58:18 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.24])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 32DEE3F73D;
 Sun,  4 Dec 2022 18:58:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a83dd8c3-7448-11ed-91b6-6bf2151ebd3b
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 2/3] xen/arm: Extend the memory overlap check to include bootmodules
Date: Mon,  5 Dec 2022 10:57:52 +0800
Message-Id: <20221205025753.2178965-3-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221205025753.2178965-1-Henry.Wang@arm.com>
References: <20221205025753.2178965-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Similarly as the static regions defined in bootinfo.reserved_mem,
the bootmodule regions defined in bootinfo.modules should also not
be overlapping with memory regions in either bootinfo.reserved_mem
or bootinfo.modules.

Therefore, this commit extends the check in function
`check_reserved_regions_overlap()` to include memory regions in
bootinfo.modules, and use `check_reserved_regions_overlap()` in
`add_boot_module()` to return early if any error occurs.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
 xen/arch/arm/setup.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 94d232605e..b43c8e118a 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -282,6 +282,11 @@ static int __init overlap_check(void *bootinfo_type,
         num = bootinfo.reserved_mem.nr_banks;
         type_str = "reserved_mem";
     }
+    else if ( bootinfo_type == &bootinfo.modules )
+    {
+        num = bootinfo.modules.nr_mods;
+        type_str = "bootmodules";
+    }
     else
         panic("Invalid bootinfo type passed to overlap check\n");
 
@@ -292,6 +297,11 @@ static int __init overlap_check(void *bootinfo_type,
             bank_start = bootinfo.reserved_mem.bank[i].start;
             bank_end = bank_start + bootinfo.reserved_mem.bank[i].size;
         }
+        else if ( bootinfo_type == &bootinfo.modules )
+        {
+            bank_start = bootinfo.modules.module[i].start;
+            bank_end = bank_start + bootinfo.modules.module[i].size;
+        }
 
         if ( region_end <= bank_start || region_start >= bank_end )
             continue;
@@ -331,6 +341,10 @@ int __init check_reserved_regions_overlap(paddr_t region_start,
     if ( overlap_check(&bootinfo.reserved_mem, region_start, region_end) )
         return -EINVAL;
 
+    /* Check if input region is overlapping with bootmodules */
+    if ( overlap_check(&bootinfo.modules, region_start, region_end) )
+        return -EINVAL;
+
     return 0;
 }
 
@@ -348,6 +362,10 @@ struct bootmodule __init *add_boot_module(bootmodule_kind kind,
                boot_module_kind_as_string(kind), start, start + size);
         return NULL;
     }
+
+    if ( check_reserved_regions_overlap(start, size) )
+        return NULL;
+
     for ( i = 0 ; i < mods->nr_mods ; i++ )
     {
         mod = &mods->module[i];
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 04:50:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 04:50:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453149.710804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p23RE-0003Bg-3A; Mon, 05 Dec 2022 04:50:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453149.710804; Mon, 05 Dec 2022 04:50:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p23RD-0003BZ-V1; Mon, 05 Dec 2022 04:50:43 +0000
Received: by outflank-mailman (input) for mailman id 453149;
 Mon, 05 Dec 2022 04:50:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p23RC-0003BP-B0; Mon, 05 Dec 2022 04:50:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p23RC-0003iH-9x; Mon, 05 Dec 2022 04:50:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p23RB-0000ov-R7; Mon, 05 Dec 2022 04:50:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p23RB-0000Sd-QU; Mon, 05 Dec 2022 04:50:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aCKFNOnn0uijzvY2FJ2Ez2N6lZ0voRiVoe5u6DrL0FA=; b=ZynCv2E0+p0jcGmaDej5JVLcp5
	kp/r7rLU8frORnLd9icAEinQPyzZlPNwhfakzp/A/csTr0d/6DUmRR2NRqKraW2x+nMcR86dBhz3/
	g2qFpYtvHjftr9retxLmOvVMook1/CNRHcXwgVFkVX4SUnVpVyEmHUfjq02XYKVjK5Q0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175045-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175045: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=735a7496cb35e48ccad51aad0934844a475e3fef
X-Osstest-Versions-That:
    ovmf=7de1c71dd2f4e04bd832fc7b92c8255161705393
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 05 Dec 2022 04:50:41 +0000

flight 175045 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175045/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 735a7496cb35e48ccad51aad0934844a475e3fef
baseline version:
 ovmf                 7de1c71dd2f4e04bd832fc7b92c8255161705393

Last test of basis   175033  2022-12-03 09:12:14 Z    1 days
Testing same since   175045  2022-12-05 02:10:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Rebecca Cran <rebecca@quicinc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   7de1c71dd2..735a7496cb  735a7496cb35e48ccad51aad0934844a475e3fef -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 05:19:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 05:19:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453158.710815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p23tJ-0006ye-61; Mon, 05 Dec 2022 05:19:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453158.710815; Mon, 05 Dec 2022 05:19:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p23tJ-0006yX-39; Mon, 05 Dec 2022 05:19:45 +0000
Received: by outflank-mailman (input) for mailman id 453158;
 Mon, 05 Dec 2022 05:19:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p23tH-0006yM-PV; Mon, 05 Dec 2022 05:19:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p23tH-0004oW-Lq; Mon, 05 Dec 2022 05:19:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p23tH-00026Y-3b; Mon, 05 Dec 2022 05:19:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p23tH-00068L-3E; Mon, 05 Dec 2022 05:19:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2ToMM13shnUXYg7cjj0mztnXkAIBBapNtEWYcgmOHqc=; b=qKSg1xq5mz4xXrwMnz4PtHKxh7
	5Fa1YXAarNEN4rOPwBGgZkc4BxqvITpabxbinDG/CK3s0Pzb2f9ssvuPnUIPDq2D92kg7cM85Hteg
	BaR2ZlzvVPBJ7lGVZpmTuk7RAxlNzmHK7Wte5jJZqzDyA6WVTWljyHM+xdAqQ/Go4ZIs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175042-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175042: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0ba09b1733878afe838fe35c310715fda3d46428
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 05 Dec 2022 05:19:43 +0000

flight 175042 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175042/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                0ba09b1733878afe838fe35c310715fda3d46428
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   58 days
Failing since        173470  2022-10-08 06:21:34 Z   57 days  114 attempts
Testing same since   175042  2022-12-04 21:41:31 Z    0 days    1 attempts

------------------------------------------------------------
1951 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 187402 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 06:15:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 06:15:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453169.710825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p24lD-0007bN-Ao; Mon, 05 Dec 2022 06:15:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453169.710825; Mon, 05 Dec 2022 06:15:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p24lD-0007bG-8E; Mon, 05 Dec 2022 06:15:27 +0000
Received: by outflank-mailman (input) for mailman id 453169;
 Mon, 05 Dec 2022 06:15:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g57r=4D=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p24lB-0007bA-4y
 for xen-devel@lists.xen.org; Mon, 05 Dec 2022 06:15:25 +0000
Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com
 [2607:f8b0:4864:20::42f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 32b1ed6b-7464-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 07:15:23 +0100 (CET)
Received: by mail-pf1-x42f.google.com with SMTP id 140so10386381pfz.6
 for <xen-devel@lists.xen.org>; Sun, 04 Dec 2022 22:15:22 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 17-20020a170902e9d100b0018997f6fc88sm9661220plk.34.2022.12.04.22.15.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 04 Dec 2022 22:15:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32b1ed6b-7464-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=SsoYa/VutTlLiSJw8acFAJ4p+uTIbjMiyVoY6bcFBdY=;
        b=lm2J7knO8XiK+rF9epwDL6Q+jT/Tkhh6NNFIWkkEiwOqvtkyZjqcKxa5EHvqQorg1j
         YNEcrirsQPY37u0bbtiFe9aroKfdlccm0JY73j9aCAKFMK5PNXe4hWwp/XfuywiB11Qg
         e3+1/SuQ+gwJLtxqEOAniYv7xWycZlykJMcZ5d02umsCBhFr0OwtjkLG8QutOtrYotSa
         tSI8OZaulbu4AozOuSjTeDAWOAp2bJokvbv7xLiq2n1ECAMJ/ycfaYu+QtLe4an4hgSu
         mDk1w/t2s5VC++HDUpJuZd+OkApkQMdmlDosw353KpKmBW/X9uqz3UDQbUhgWVq6MF3M
         Dvfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SsoYa/VutTlLiSJw8acFAJ4p+uTIbjMiyVoY6bcFBdY=;
        b=zer5GuFyaE2+my3e0LiFCZL+G8B6T/rVphHKmbCj304MOiVCQYM/Qn72udAY13T9OZ
         tWPZMKUFJovhNnC47t6OsNAlVMM62DKexeurX+dAHxcBLgleDsuZ9HqPUoVqkZ54Gu1/
         PecrggZOa2pTU4cAZFVy0u6/yp75fC0WyjDrI1pPxODWjgRxt2s/8Kicn1w6sjA5cQPL
         qDwK2d9HAmP3/8ZuwDmnDRHrxxbi5cuuvElpIgweHhJ+WAXr4aZsw2VY3a1Ikgp17iMP
         vgSDCMbIvyNaSE9g4oM2+LzFMip8FHEniLSlWMwgyA77FzO+PGQhlwL4mcGd+xFmWrmT
         df1w==
X-Gm-Message-State: ANoB5pk6OJbvwllWpixQ45igZwivWDQ3a3FIdTFw9oBBMEZFt7IrluEo
	FgFnHITWKwauLhvA328sSA7WmA==
X-Google-Smtp-Source: AA0mqf63zvJldlgic2m0PGb9jTZx/Ndi95lIac7/9LIzc6T35JgEzxEegxqE6lTq3f7K/7wV59g65w==
X-Received: by 2002:a65:5b0c:0:b0:477:a17d:5fe1 with SMTP id y12-20020a655b0c000000b00477a17d5fe1mr54629323pgq.437.1670220920856;
        Sun, 04 Dec 2022 22:15:20 -0800 (PST)
Date: Mon, 5 Dec 2022 11:45:18 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xen.org, Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH V6 1/3] libxl: Add support for generic virtio device
Message-ID: <20221205061518.l2i4kqkzcivpxaxl@vireshk-i7>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <f1dc91669df27705c25a1f3018427c2db77b32a6.1667906228.git.viresh.kumar@linaro.org>
 <6a546552-d71d-a262-5981-8058dc37ae26@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <6a546552-d71d-a262-5981-8058dc37ae26@gmail.com>

Hi Oleksandr,

On 02-12-22, 16:52, Oleksandr Tyshchenko wrote:
> > This patch adds basic support for configuring and assisting generic
> > Virtio backend which could run in any domain.
> > 
> > An example of domain configuration for mmio based Virtio I2C device is:
> > virtio = ["type=virtio,device22,transport=mmio"]
> > 
> > Also to make this work on Arm, allocate Virtio MMIO params (IRQ and
> > memory region) and pass them to the backend. Update guest device-tree as
> > well to create a DT node for the Virtio devices.
> 
> 
> Some NITs regarding the commit description:
> 1. Besides making generic things current patch also adds i2c/gpio device
> nodes, I would mention that in the description.
> 2. I assume current patch is not enough to make this work on Arm, at least
> the subsequent patch is needed, I would mention that as well.
> 3. I understand where "virtio,device22"/"virtio,device29" came from, but I
> think that links to the corresponding device-tree bindings should be
> mentioned here (and/or maybe in the code).

Agree to all.
 
> > +static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt, uint64_t base,
> > +                                        uint32_t irq, const char *type,
> > +                                        uint32_t backend_domid)
> > +{
> > +    int res, len = strlen(type);
> > +
> > +    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
> > +    if (res) return res;
> > +
> > +    /* Add device specific nodes */
> > +    if (!strncmp(type, "virtio,device22", len)) {
> > +        res = make_virtio_mmio_node_i2c(gc, fdt);
> > +        if (res) return res;
> > +    } else if (!strncmp(type, "virtio,device29", len)) {
> > +        res = make_virtio_mmio_node_gpio(gc, fdt);
> > +        if (res) return res;
> > +    } else {
> > +        LOG(ERROR, "Invalid type for virtio device: %s", type);
> > +        return -EINVAL;
> > +    }
> 
> I am not sure whether it is the best place to ask, but I will try anyway. So
> I assume that with the whole series applied it would be possible to
> configure only two specific device types ("22" and "29").

Right.

> But what to do if user, for example, is interested in usual virtio device
> (which doesn't require specific device-tree sub node with specific
> compatible in it). For these usual virtio devices just calling
> make_virtio_mmio_node_common() would be enough.
> 
> 
> Maybe we should introduce something like type "common" which would mean we
> don't need any additional device-tree sub nodes?
> 
> virtio = ["type=common,transport=mmio"]

I am fine with this. Maybe, to keep it aligned with compatibles, we
can write it as
 
virtio = ["type=virtio,device,transport=mmio"]

and document that "virtio,device" type is special and we won't add
compatible property to the DT node.

> > diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
> > index 612eacfc7fac..15a32c75c045 100644
> > --- a/tools/libs/light/libxl_create.c
> > +++ b/tools/libs/light/libxl_create.c
> > @@ -1802,6 +1802,11 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
> >                                 &d_config->vkbs[i]);
> >           }
> > +        for (i = 0; i < d_config->num_virtios; i++) {
> > +            libxl__device_add(gc, domid, &libxl__virtio_devtype,
> > +                              &d_config->virtios[i]);
> > +        }
> 
> 
> I am wondering whether this is the best place to put this call. This gets
> called for LIBXL_DOMAIN_TYPE_PV and LIBXL_DOMAIN_TYPE_PVH (our Arm case),
> and not for LIBXL_DOMAIN_TYPE_HVM. Is it what we want?

Can you suggest where should I move this ?
 
> > +libxl_virtioinfo = Struct("virtioinfo", [
> > +    ("backend", string),
> > +    ("backend_id", uint32),
> > +    ("frontend", string),
> > +    ("frontend_id", uint32),
> > +    ("devid", libxl_devid),
> > +    ("state", integer),
> > +    ], dir=DIR_OUT)
> 
> I failed to find where libxl_virtioinfo is used within the series. Why do we
> need it?

Looks like leftover that I missed. Will remove it.
 
> > +static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
> > +                                       libxl_devid devid,
> > +                                       libxl_device_virtio *virtio)
> > +{
> > +    const char *be_path, *fe_path, *tmp;
> > +    libxl__device dev;
> > +    int rc;
> > +
> > +    virtio->devid = devid;
> > +
> > +    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
> > +                                  GCSPRINTF("%s/backend", libxl_path),
> > +                                  &be_path);
> > +    if (rc) goto out;
> > +
> > +    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
> > +                                  GCSPRINTF("%s/frontend", libxl_path),
> > +                                  &fe_path);
> > +    if (rc) goto out;
> 
> fe_path is not used anywhere down the code even within the series, why do we
> need it? Or we just read it to make sure that corresponding entry is present
> in Xenstore (some kind of sanity check)?

I copied it from libxl_vkb.c and it isn't using it either. So I assume
it is a sanity check, though can be removed if that's what makes
sense.
 
> > +
> > +    rc = libxl__backendpath_parse_domid(gc, be_path, &virtio->backend_domid);
> > +    if (rc) goto out;
> > +
> > +    rc = libxl__parse_backend_path(gc, be_path, &dev);
> > +    if (rc) goto out;
> 
> The same question for dev variable.

Hmm, this we aren't using at all, which KBD does use it. Maybe we
should even call libxl__parse_backend_path() ?

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 06:20:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 06:20:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453178.710836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p24qV-00019Y-26; Mon, 05 Dec 2022 06:20:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453178.710836; Mon, 05 Dec 2022 06:20:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p24qU-00019R-Vl; Mon, 05 Dec 2022 06:20:54 +0000
Received: by outflank-mailman (input) for mailman id 453178;
 Mon, 05 Dec 2022 06:20:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g57r=4D=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p24qU-00019L-7L
 for xen-devel@lists.xen.org; Mon, 05 Dec 2022 06:20:54 +0000
Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com
 [2607:f8b0:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6f47463-7464-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 07:20:52 +0100 (CET)
Received: by mail-pg1-x52c.google.com with SMTP id f3so9637656pgc.2
 for <xen-devel@lists.xen.org>; Sun, 04 Dec 2022 22:20:51 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 qb12-20020a17090b280c00b001fd6066284dsm8457861pjb.6.2022.12.04.22.20.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 04 Dec 2022 22:20:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6f47463-7464-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=uqsE8tqTqZyblTvVwSMqpzen4waQLmBaXHHjeti5h8g=;
        b=ThCZ2yJc50RBxK2PGhKUzk1otivqHIwQJQAqrb+c//XbGWu2pZ17ndPtoaAzOyhYH+
         h4a/+dGAze4sWIN9E/o1CntetbV8H4GXePdpKQxjCoj7Wka24uj+09FtsV0aVYg98hbH
         uhwfDwAvZ9IuwnZdjtBYVrMqRMY3SKnTiuX1UCS72cntDnyihVsBvTUNg4gjrXrcQrkd
         6Pd1Cv1ZogtOiNLPBKbraX5whxxpR2cRv5fiN4cya5hjPEqAL8AF1kBCxwwZ/n4rsQ+L
         KxkUM8oKUHAhgtx0IzqaNgcUr1NfWVx1UpZNfkmR66K9jOTtazf1+EOKbkmYwT+KIv+k
         ADvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uqsE8tqTqZyblTvVwSMqpzen4waQLmBaXHHjeti5h8g=;
        b=kgUuvw+2VOQVIRuTwPSbS0WbK/QTIIsSYuF9K0XhkroncxKAeZTJuF3ASieATRAe5D
         PsyLdSjkEUnKm86dzUFRM+YeIJpJXtArmHBPXrHKg0+OWSWRcDqfn++lneIB5d7R4tMW
         zJDa4t5UZKXLpXrOMYycvRtes4/GoQY7h6KJv2Ns0ogpibJDXsy4sDhVkkl5/wZnhOzZ
         TwbwEfklMkdt9szFX8n5Uq4UsvOtoh8uPRMCnmla10x1cMkCHaUpPbSdmOYf4wjh+ziz
         gxAZv4gVwkEj+5bQEh8UzkaRG2XGKFv/A8t1l7diIjCg1xyJ+FHOFkbsKg4O/oK6fJWx
         +EaA==
X-Gm-Message-State: ANoB5plhK4bavKHNDloc0uKlIm7Q5RUCP6xqyH0/fYMY1ORqTluDr6Yw
	GchOsoQOUoRtQuuaOhyYo1oFCA==
X-Google-Smtp-Source: AA0mqf7/GbAOcqplFFbXHGkyLdcsQdPdQaHptaqjo1Qer+Ubd7FviOnFDulD6QUjDYhdfeQnNOJ73A==
X-Received: by 2002:aa7:9882:0:b0:574:7931:98a3 with SMTP id r2-20020aa79882000000b00574793198a3mr53697026pfl.17.1670221250135;
        Sun, 04 Dec 2022 22:20:50 -0800 (PST)
Date: Mon, 5 Dec 2022 11:50:47 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xen.org, Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH V6 2/3] xl: Add support to parse generic virtio device
Message-ID: <20221205062047.yuv3hyrkpumry7wn@vireshk-i7>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <73663851c5223b99ed0f23a163a0d44cba0ebe29.1667906228.git.viresh.kumar@linaro.org>
 <4a355c28-9596-cfbd-ffd2-2f8d9dde9938@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4a355c28-9596-cfbd-ffd2-2f8d9dde9938@gmail.com>

On 02-12-22, 19:16, Oleksandr Tyshchenko wrote:
> Interesting, I see you allow user to configure virtio-mmio params (irq and
> base), as far as I remember for virtio-disk these are internal only
> (allocated by tools/libs/light/libxl_arm.c).

It is a mistake. Will drop it.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 06:38:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 06:38:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453185.710848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p257k-0003Fm-Fr; Mon, 05 Dec 2022 06:38:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453185.710848; Mon, 05 Dec 2022 06:38:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p257k-0003Ff-Cy; Mon, 05 Dec 2022 06:38:44 +0000
Received: by outflank-mailman (input) for mailman id 453185;
 Mon, 05 Dec 2022 06:38:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p257j-0003FV-E0; Mon, 05 Dec 2022 06:38:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p257j-0006W9-A0; Mon, 05 Dec 2022 06:38:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p257i-0005hQ-PS; Mon, 05 Dec 2022 06:38:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p257i-0005kV-P0; Mon, 05 Dec 2022 06:38:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iLqDPDs+jmZ9REPQHGIyHfcCgfhepO4VKj5MRHFyWVI=; b=v6X16JjbLv3nvBqeHdz49Vgik7
	HKLyQIztmN1zK5efUorLWUkiqzWexsyQBgLvCPAQhih3dANnc2b2cwjuMW6wrH9zy8cBRD/drvlBo
	zx0dyUoTCiPEDpEVvzfGgsVnW108Pn7Ul4yoDw5zOeImSqefRUME7p91CfmcpMM96wkc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175043-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175043: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=aaf47c7e8b19e2f7093d565115713a9496d316d1
X-Osstest-Versions-That:
    qemuu=c4ffd91aba1c3d878e99a3e7ba8aad4826728ece
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 05 Dec 2022 06:38:42 +0000

flight 175043 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175043/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 174993
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 174993
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 174993
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 174993
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 174993
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 174993
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 174993
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 174993
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 qemuu                aaf47c7e8b19e2f7093d565115713a9496d316d1
baseline version:
 qemuu                c4ffd91aba1c3d878e99a3e7ba8aad4826728ece

Last test of basis   174993  2022-11-30 01:41:16 Z    5 days
Testing same since   175043  2022-12-05 00:08:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Bennée <alex.bennee@linaro.org>
  Bin Meng <bmeng@tinylab.org>
  Christian Borntraeger <borntraeger@linux.ibm.com>
  Evgeny Ermakov <evgeny.v.ermakov@gmail.com>
  German Maglione <gmaglione@redhat.com>
  Klaus Jensen <k.jensen@samsung.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Raphael Norwitz <raphael.norwitz@nutanix.com>
  Richard Henderson <richard.henderson@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefano Garzarella <sgarzare@redhat.com>
  Thomas Huth <thuth@redhat.com>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   c4ffd91aba..aaf47c7e8b  aaf47c7e8b19e2f7093d565115713a9496d316d1 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 07:27:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 07:27:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453197.710870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p25t6-0002mj-Cg; Mon, 05 Dec 2022 07:27:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453197.710870; Mon, 05 Dec 2022 07:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p25t6-0002mc-9x; Mon, 05 Dec 2022 07:27:40 +0000
Received: by outflank-mailman (input) for mailman id 453197;
 Mon, 05 Dec 2022 07:27:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HFyF=4D=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1p25t4-0002UH-IX
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 07:27:38 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 4b044921-746e-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 08:27:37 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9502523A;
 Sun,  4 Dec 2022 23:27:43 -0800 (PST)
Received: from a015971.shanghai.arm.com (unknown [10.169.188.104])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 8E3C83F73D;
 Sun,  4 Dec 2022 23:27:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b044921-746e-11ed-91b6-6bf2151ebd3b
From: Jiamei Xie <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v5 1/2] xen/arm: vpl011: emulate non-SBSA registers as WI/RAZ
Date: Mon,  5 Dec 2022 15:26:39 +0800
Message-Id: <20221205072640.2092473-2-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221205072640.2092473-1-jiamei.xie@arm.com>
References: <20221205072640.2092473-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When the guest kernel enables DMA engine with "CONFIG_DMA_ENGINE=y",
Linux SBSA PL011 driver will access PL011 DMACR register in some
functions. As chapter "B Generic UART" in "ARM Server Base System
Architecture"[1] documentation describes, SBSA UART doesn't support
DMA. In current code, when the kernel tries to access DMACR register,
Xen will inject a data abort:
Unhandled fault at 0xffffffc00944d048
Mem abort info:
  ESR = 0x96000000
  EC = 0x25: DABT (current EL), IL = 32 bits
  SET = 0, FnV = 0
  EA = 0, S1PTW = 0
  FSC = 0x00: ttbr address size fault
Data abort info:
  ISV = 0, ISS = 0x00000000
  CM = 0, WnR = 0
swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000020e2e000
[ffffffc00944d048] pgd=100000003ffff803, p4d=100000003ffff803, pud=100000003ffff803, pmd=100000003fffa803, pte=006800009c090f13
Internal error: ttbr address size fault: 96000000 [#1] PREEMPT SMP
...
Call trace:
 pl011_stop_rx+0x70/0x80
 tty_port_shutdown+0x7c/0xb4
 tty_port_close+0x60/0xcc
 uart_close+0x34/0x8c
 tty_release+0x144/0x4c0
 __fput+0x78/0x220
 ____fput+0x1c/0x30
 task_work_run+0x88/0xc0
 do_notify_resume+0x8d0/0x123c
 el0_svc+0xa8/0xc0
 el0t_64_sync_handler+0xa4/0x130
 el0t_64_sync+0x1a0/0x1a4
Code: b9000083 b901f001 794038a0 8b000042 (b9000041)
---[ end trace 83dd93df15c3216f ]---
note: bootlogd[132] exited with preempt_count 1
/etc/rcS.d/S07bootlogd: line 47: 132 Segmentation fault start-stop-daemon

As discussed in [2], this commit makes the access to non-SBSA registers
RAZ/WI as an improvement.

[1] https://developer.arm.com/documentation/den0094/c/?lang=en
[2] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2211161552420.4020@ubuntu-linux-20-04-desktop/

Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
---
v4 -> v5
- no change
v3 -> v4
- remove the size check for unknown registers in the SBSA UART
- remove lock in read_as_zero
v2 -> v3
- emulate non-SBSA registers as WI/RAZ in default case
- update commit message
v1 -> v2
- print a message using XENLOG_G_DEBUG when it's write-ignore
---
 xen/arch/arm/vpl011.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 43522d48fd..f4a5621fab 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -414,11 +414,15 @@ static int vpl011_mmio_read(struct vcpu *v,
     default:
         gprintk(XENLOG_ERR, "vpl011: unhandled read r%d offset %#08x\n",
                 dabt.reg, vpl011_reg);
-        return 0;
+        goto read_as_zero;
     }
 
     return 1;
 
+read_as_zero:
+    *r = 0;
+    return 1;
+
 bad_width:
     gprintk(XENLOG_ERR, "vpl011: bad read width %d r%d offset %#08x\n",
             dabt.size, dabt.reg, vpl011_reg);
@@ -486,7 +490,7 @@ static int vpl011_mmio_write(struct vcpu *v,
     default:
         gprintk(XENLOG_ERR, "vpl011: unhandled write r%d offset %#08x\n",
                 dabt.reg, vpl011_reg);
-        return 0;
+        goto write_ignore;
     }
 
 write_ignore:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 07:27:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 07:27:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453196.710859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p25st-0002UU-5q; Mon, 05 Dec 2022 07:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453196.710859; Mon, 05 Dec 2022 07:27:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p25st-0002UN-2m; Mon, 05 Dec 2022 07:27:27 +0000
Received: by outflank-mailman (input) for mailman id 453196;
 Mon, 05 Dec 2022 07:27:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HFyF=4D=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1p25ss-0002UH-AY
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 07:27:26 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 41cc5edc-746e-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 08:27:24 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 038F623A;
 Sun,  4 Dec 2022 23:27:28 -0800 (PST)
Received: from a015971.shanghai.arm.com (unknown [10.169.188.104])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E5DC03F73D;
 Sun,  4 Dec 2022 23:27:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41cc5edc-746e-11ed-91b6-6bf2151ebd3b
From: Jiamei Xie <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v5 0/2] xen/arm: refine vpl011
Date: Mon,  5 Dec 2022 15:26:38 +0800
Message-Id: <20221205072640.2092473-1-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch is the version 5 for "xen/arm: vpl011: Make access to DMACR
write-ignore" [1]. 

[1] https://patchwork.kernel.org/project/xen-devel/patch/20221122054644.1092173-1-jiamei.xie@arm.com/

Thanks,
Jiamei Xie

v4 -> v5
- don't remove "return 1" and add ASSERT_UNREACHABLE
v3 -> v4
- remove the size check for unknown registers in the SBSA UART
- remove lock in read_as_zero
- Don't consolidate check registers access
- Don't remove label read_as_zero
v2 -> v3
- emulate non-SBSA registers as WI/RAZ in default case
- update commit message
v1 -> v2
- print a message using XENLOG_G_DEBUG when it's write-ignore

Jiamei Xie (2):
  xen/arm: vpl011: emulate non-SBSA registers as WI/RAZ
  xen/arm: vpl011: add ASSERT_UNREACHABLE in vpl011_mmio_read

 xen/arch/arm/vpl011.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 07:27:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 07:27:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453200.710881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p25tH-0003Dk-Pp; Mon, 05 Dec 2022 07:27:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453200.710881; Mon, 05 Dec 2022 07:27:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p25tH-0003DY-Mr; Mon, 05 Dec 2022 07:27:51 +0000
Received: by outflank-mailman (input) for mailman id 453200;
 Mon, 05 Dec 2022 07:27:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HFyF=4D=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1p25tH-0002UH-1M
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 07:27:51 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 52ab5f3b-746e-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 08:27:50 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6665B23A;
 Sun,  4 Dec 2022 23:27:56 -0800 (PST)
Received: from a015971.shanghai.arm.com (unknown [10.169.188.104])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 5659C3F73D;
 Sun,  4 Dec 2022 23:27:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52ab5f3b-746e-11ed-91b6-6bf2151ebd3b
From: Jiamei Xie <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v5 2/2] xen/arm: vpl011: add ASSERT_UNREACHABLE in vpl011_mmio_read
Date: Mon,  5 Dec 2022 15:26:40 +0800
Message-Id: <20221205072640.2092473-3-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221205072640.2092473-1-jiamei.xie@arm.com>
References: <20221205072640.2092473-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In vpl011_mmio_read switch block, all cases should have a return. Add
ASSERT_UNREACHABLE to catch case where the return is not added.

Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
---
v4 -> v5
- don't remove "return 1" and add ASSERT_UNREACHABLE
v3 -> v4
- Don't consolidate check registers access
- Don't remove label read_as_zero
---
 xen/arch/arm/vpl011.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index f4a5621fab..c7f9dae76c 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -417,6 +417,7 @@ static int vpl011_mmio_read(struct vcpu *v,
         goto read_as_zero;
     }
 
+    ASSERT_UNREACHABLE();
     return 1;
 
 read_as_zero:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 08:27:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 08:27:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453235.710892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p26oq-0004u3-Ey; Mon, 05 Dec 2022 08:27:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453235.710892; Mon, 05 Dec 2022 08:27:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p26oq-0004tw-CC; Mon, 05 Dec 2022 08:27:20 +0000
Received: by outflank-mailman (input) for mailman id 453235;
 Mon, 05 Dec 2022 08:27:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2q+k=4D=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p26op-0004tq-1T
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 08:27:19 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20618.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a005fa9d-7476-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 09:27:17 +0100 (CET)
Received: from CY5PR19CA0114.namprd19.prod.outlook.com (2603:10b6:930:64::7)
 by DM4PR12MB6615.namprd12.prod.outlook.com (2603:10b6:8:8d::9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.14; Mon, 5 Dec 2022 08:27:13 +0000
Received: from CY4PEPF0000C96B.namprd02.prod.outlook.com
 (2603:10b6:930:64:cafe::17) by CY5PR19CA0114.outlook.office365.com
 (2603:10b6:930:64::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10 via Frontend
 Transport; Mon, 5 Dec 2022 08:27:13 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000C96B.mail.protection.outlook.com (10.167.241.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Mon, 5 Dec 2022 08:27:12 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 02:27:11 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 02:26:39 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Mon, 5 Dec 2022 02:26:37 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a005fa9d-7476-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iarFUV2Ez8rlMGcoQdnXlnDlLzAr3hesd67JAv6GQpKuC/dgM8OrD7i6uIG7RvbL9p65UakLuXp1GpCpdf0FV8Uoc0N73XDikYLKBkCsB4CyjBzPOL9OiS+J9b3y2Zn5HnyqHaSMlAD807KN260BwA9DKna53rEgKHXrucBFnu/92sMyzGYC+6LHg6AmeLULOwu+mEP1r7793j6vTBDQnU+7FntA+ndgDRKXHsbS/2gfqI6C7d9YeyX4eyd0uLioUfIsDR7ta4kzSLO0oxIXq4lM6qKWPp80ZBM09cUm73AfFQnXN32Q/a9mr1eNKWCiYFjs83xSoxkSGVLK2X0zZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nLa7MC1/ddGqbPxPkkL5Wfg+tWXdTdlDhCeh5JQzRzQ=;
 b=BHAeNNNvcBW4eXL/ZAdHhJ8SWYq/lot7RKdlSPh3GaDHx9GjkrzYk8oOmHxvJLebqYjDzXvwC9Oai11hmcNLccSCy9YYelRyZRggNQC2tXHXuVSWGcp/X4GGnpiTY3kIyU/BZsoyEpHBovQfzSY8J2Cp8FFrAhjlDia92RpstObRxWLkvv+kM41CFRBMsoxnrNlE17gExIodfMBR2TCSu+1FZcL9l98cTw5HnjfvQbOYriPS+oSGEvpix7zI/YN+9LjiX804iTfipF+4AIvcw2zOe3kTmKtei04J3l4QCQv/ax/P06VVQaMYXbqBWCMg+AM8k9caeBWLtg816J/tPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nLa7MC1/ddGqbPxPkkL5Wfg+tWXdTdlDhCeh5JQzRzQ=;
 b=J99Mqi0XiFUqIWVedo3/lk3zr1VeEre96dSywt4mTy2fM0rUPFBgK/HsIU/iWrvC0eEZRV0S0aGW65nO/45K20pReS0ue5z1FlarIgeM8ZvVDQxIdzZYR/+1PwIUePsd/HPq1zecoMUVRfr4aW+W2JVD1tdQjoieFjkzhTyDHP4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <345d7d3c-e090-356b-1b4e-a9b491a146b5@amd.com>
Date: Mon, 5 Dec 2022 09:26:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
To: Rahul Singh <rahul.singh@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, "Paul
 Durrant" <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
	<roger.pau@citrix.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000C96B:EE_|DM4PR12MB6615:EE_
X-MS-Office365-Filtering-Correlation-Id: e01f1aed-0ee1-4c87-b664-08dad69a8284
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	04VrIpev902QnlIbr/xaLjpHOi6S6h59UmtlwfWMbLtC8jLojYBGan5gu3dUn40FIbfExF56OIMOiaUiXnFRJB5H3XzkfNV/mZAevnpqCX99mdzIKh1GxB0/W32E4udnUjS0jr5jqV4WUQUcw6dTRy+ckMAGi/cNWbkEoLp/uyjQSLODrG6DuR4e4aOxvBIoTt3dRJ4BIxr451MZ6ITFly+EZw9LnUlFvCKqwSWtJPpc5B9rDKJFq9udurSeaT0ukNAA540TZSkA9/neqxa32Utvi9swzklxhX49yaMxS0cqMUaoqJUMdeSEeEdrUyFmU2GsCiTP+X5N9iJ/b/z2d19vxiBvWUFGVW8ZvnO+PpiYjJI1oLyzfacdCburYoL9m14JVrQoEv1HNpUB4GEqsir5xwdK3OfUfmcyV5nPb1T7KSf9F2qCVfPcr2vGaIn0vmeUMJcgbfbxQYBcr6QrQ9QddRkFxoDJhYfV6nHSZcyC17M7z8v3YBEkycK5VOjQrjE2pH5Frf1YMycsEhun1mt0usIkWpg9UoKUZfL64hGT75Mj7Ipt69S+Bpv2Ey/ZEThUnc30by5Es4UIXzQS14e2F1SAvbpehwGQEIPNbQbwnIeZlos3jGyUUfQFcm0lcspPShj38JepNLdOODUEW6RHp0txqJfszQoo59A9NbRSNc3h99a3p70+BJ2EJ4Xhw11YcXu8oaWTXvGWI0hWvBDMbXCT/OU65rcQari9jT/Az7VjmffH8/TtEnoEczupEPDP6J8T/3VwACOn1pZGkRbsq6vcJJsoavnG2zleAI4pcACMya5Bs5gsm03YkRyL
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(346002)(396003)(39860400002)(451199015)(36840700001)(40470700004)(46966006)(83380400001)(36860700001)(86362001)(31696002)(81166007)(356005)(82740400003)(44832011)(2906002)(5660300002)(40460700003)(4326008)(41300700001)(8936002)(8676002)(82310400005)(40480700001)(53546011)(26005)(186003)(336012)(47076005)(426003)(16576012)(316002)(54906003)(110136005)(2616005)(70586007)(70206006)(478600001)(31686004)(36756003)(41533002)(21314003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 08:27:12.8295
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e01f1aed-0ee1-4c87-b664-08dad69a8284
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000C96B.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6615

Hi Rahul,

On 01/12/2022 17:02, Rahul Singh wrote:
> 
> 
> This patch adds basic framework for vIOMMU.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>  xen/arch/arm/domain.c                | 17 +++++++
>  xen/arch/arm/domain_build.c          |  3 ++
>  xen/arch/arm/include/asm/viommu.h    | 70 ++++++++++++++++++++++++++++
>  xen/drivers/passthrough/Kconfig      |  6 +++
>  xen/drivers/passthrough/arm/Makefile |  1 +
>  xen/drivers/passthrough/arm/viommu.c | 48 +++++++++++++++++++
>  xen/include/public/arch-arm.h        |  4 ++
>  7 files changed, 149 insertions(+)
>  create mode 100644 xen/arch/arm/include/asm/viommu.h
>  create mode 100644 xen/drivers/passthrough/arm/viommu.c
> 
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 38e22f12af..2a85209736 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -37,6 +37,7 @@
>  #include <asm/tee/tee.h>
>  #include <asm/vfp.h>
>  #include <asm/vgic.h>
> +#include <asm/viommu.h>
>  #include <asm/vtimer.h>
> 
>  #include "vpci.h"
> @@ -691,6 +692,13 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
>          return -EINVAL;
>      }
> 
> +    if ( config->arch.viommu_type != XEN_DOMCTL_CONFIG_VIOMMU_NONE )
> +    {
> +        dprintk(XENLOG_INFO,
> +                "vIOMMU type requested not supported by the platform or Xen\n");
Maybe a simpler message like for TEE would be better: "Unsupported vIOMMU type"

> +        return -EINVAL;
> +    }
> +
>      return 0;
>  }
> 
> @@ -783,6 +791,9 @@ int arch_domain_create(struct domain *d,
>      if ( (rc = domain_vpci_init(d)) != 0 )
>          goto fail;
> 
> +    if ( (rc = domain_viommu_init(d, config->arch.viommu_type)) != 0 )
> +        goto fail;
> +
>      return 0;
> 
>  fail:
> @@ -998,6 +1009,7 @@ static int relinquish_memory(struct domain *d, struct page_list_head *list)
>  enum {
>      PROG_pci = 1,
>      PROG_tee,
> +    PROG_viommu,
>      PROG_xen,
>      PROG_page,
>      PROG_mapping,
> @@ -1048,6 +1060,11 @@ int domain_relinquish_resources(struct domain *d)
>          if (ret )
>              return ret;
> 
> +    PROGRESS(viommu):
> +        ret = viommu_relinquish_resources(d);
> +        if (ret )
> +            return ret;
> +
>      PROGRESS(xen):
>          ret = relinquish_memory(d, &d->xenpage_list);
>          if ( ret )
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index bd30d3798c..abbaf37a2e 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -27,6 +27,7 @@
>  #include <asm/setup.h>
>  #include <asm/cpufeature.h>
>  #include <asm/domain_build.h>
> +#include <asm/viommu.h>
>  #include <xen/event.h>
> 
>  #include <xen/irq.h>
> @@ -3858,6 +3859,7 @@ void __init create_domUs(void)
>          struct domain *d;
>          struct xen_domctl_createdomain d_cfg = {
>              .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
> +            .arch.viommu_type = viommu_get_type(),
>              .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>              /*
>               * The default of 1023 should be sufficient for guests because
> @@ -4052,6 +4054,7 @@ void __init create_dom0(void)
>          printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
>      dom0_cfg.arch.tee_type = tee_get_type();
>      dom0_cfg.max_vcpus = dom0_max_vcpus();
> +    dom0_cfg.arch.viommu_type = viommu_get_type();
> 
>      if ( iommu_enabled )
>          dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
> diff --git a/xen/arch/arm/include/asm/viommu.h b/xen/arch/arm/include/asm/viommu.h
> new file mode 100644
> index 0000000000..7cd3818a12
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/viommu.h
> @@ -0,0 +1,70 @@
> +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
> +#ifndef __ARCH_ARM_VIOMMU_H__
> +#define __ARCH_ARM_VIOMMU_H__
> +
> +#ifdef CONFIG_VIRTUAL_IOMMU
> +
> +#include <xen/lib.h>
> +#include <xen/types.h>
> +#include <public/xen.h>
> +
> +struct viommu_ops {
> +    /*
> +     * Called during domain construction if toolstack requests to enable
> +     * vIOMMU support.
> +     */
> +    int (*domain_init)(struct domain *d);
> +
> +    /*
> +     * Called during domain destruction to free resources used by vIOMMU.
> +     */
> +    int (*relinquish_resources)(struct domain *d);
> +};
> +
> +struct viommu_desc {
> +    /* vIOMMU domains init/free operations described above. */
> +    const struct viommu_ops *ops;
> +
> +    /*
> +     * ID of vIOMMU. Corresponds to xen_arch_domainconfig.viommu_type.
> +     * Should be one of XEN_DOMCTL_CONFIG_VIOMMU_xxx
> +     */
> +    uint16_t viommu_type;
Here the viommu_type is uint16_t ...

> +};
> +
> +int domain_viommu_init(struct domain *d, uint16_t viommu_type);
> +int viommu_relinquish_resources(struct domain *d);
> +uint16_t viommu_get_type(void);
> +
> +#else
> +
> +static inline uint8_t viommu_get_type(void)
Here you are returning uint8_t ...

> +{
> +    return XEN_DOMCTL_CONFIG_VIOMMU_NONE;
> +}
> +
> +static inline int domain_viommu_init(struct domain *d, uint16_t viommu_type)
Here you are taking uint16_t. So it looks like that ...

> +{
> +    if ( likely(viommu_type == XEN_DOMCTL_CONFIG_VIOMMU_NONE) )
> +        return 0;
> +
> +    return -ENODEV;
> +}
> +
> +static inline int viommu_relinquish_resources(struct domain *d)
> +{
> +    return 0;
> +}
> +
> +#endif /* CONFIG_VIRTUAL_IOMMU */
> +
> +#endif /* __ARCH_ARM_VIOMMU_H__ */
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
> index 479d7de57a..19924fa2de 100644
> --- a/xen/drivers/passthrough/Kconfig
> +++ b/xen/drivers/passthrough/Kconfig
> @@ -35,6 +35,12 @@ config IPMMU_VMSA
>           (H3 ES3.0, M3-W+, etc) or Gen4 SoCs which IPMMU hardware supports stage 2
>           translation table format and is able to use CPU's P2M table as is.
> 
> +config VIRTUAL_IOMMU
> +       bool "Virtual IOMMU Support (UNSUPPORTED)" if UNSUPPORTED
> +       default n
> +       help
> +        Support virtual IOMMU infrastructure to implement vIOMMU.
> +
>  endif
> 
>  config IOMMU_FORCE_PT_SHARE
> diff --git a/xen/drivers/passthrough/arm/Makefile b/xen/drivers/passthrough/arm/Makefile
> index c5fb3b58a5..4cc54f3f4d 100644
> --- a/xen/drivers/passthrough/arm/Makefile
> +++ b/xen/drivers/passthrough/arm/Makefile
> @@ -2,3 +2,4 @@ obj-y += iommu.o iommu_helpers.o iommu_fwspec.o
>  obj-$(CONFIG_ARM_SMMU) += smmu.o
>  obj-$(CONFIG_IPMMU_VMSA) += ipmmu-vmsa.o
>  obj-$(CONFIG_ARM_SMMU_V3) += smmu-v3.o
> +obj-$(CONFIG_VIRTUAL_IOMMU) += viommu.o
> diff --git a/xen/drivers/passthrough/arm/viommu.c b/xen/drivers/passthrough/arm/viommu.c
> new file mode 100644
> index 0000000000..7ab6061e34
> --- /dev/null
> +++ b/xen/drivers/passthrough/arm/viommu.c
> @@ -0,0 +1,48 @@
> +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
> +
> +#include <xen/errno.h>
> +#include <xen/init.h>
> +#include <xen/types.h>
> +
> +#include <asm/viommu.h>
> +
> +const struct viommu_desc __read_mostly *cur_viommu;
> +
> +int domain_viommu_init(struct domain *d, uint16_t viommu_type)
> +{
> +    if ( viommu_type == XEN_DOMCTL_CONFIG_VIOMMU_NONE )
> +        return 0;
> +
> +    if ( !cur_viommu )
> +        return -ENODEV;
> +
> +    if ( cur_viommu->viommu_type != viommu_type )
> +        return -EINVAL;
> +
> +    return cur_viommu->ops->domain_init(d);
> +}
> +
> +int viommu_relinquish_resources(struct domain *d)
> +{
> +    if ( !cur_viommu )
> +        return 0;
> +
> +    return cur_viommu->ops->relinquish_resources(d);
> +}
> +
> +uint16_t viommu_get_type(void)
> +{
> +    if ( !cur_viommu )
> +        return XEN_DOMCTL_CONFIG_VIOMMU_NONE;
> +
> +    return cur_viommu->viommu_type;
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index 1528ced509..33d32835e7 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -297,10 +297,14 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>  #define XEN_DOMCTL_CONFIG_TEE_NONE      0
>  #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
> 
> +#define XEN_DOMCTL_CONFIG_VIOMMU_NONE   0
> +
>  struct xen_arch_domainconfig {
>      /* IN/OUT */
>      uint8_t gic_version;
>      /* IN */
> +    uint8_t viommu_type;
this should be uint16_t and not uint8_t 

> +    /* IN */
>      uint16_t tee_type;
>      /* IN */
>      uint32_t nr_spis;
> --
> 2.25.1
> 
> 

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 08:34:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 08:34:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453242.710903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p26vH-0006pz-5I; Mon, 05 Dec 2022 08:33:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453242.710903; Mon, 05 Dec 2022 08:33:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p26vH-0006ps-2a; Mon, 05 Dec 2022 08:33:59 +0000
Received: by outflank-mailman (input) for mailman id 453242;
 Mon, 05 Dec 2022 08:33:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2q+k=4D=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p26vF-0006pm-8J
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 08:33:57 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d584ffa-7477-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 09:33:55 +0100 (CET)
Received: from DS7PR03CA0261.namprd03.prod.outlook.com (2603:10b6:5:3b3::26)
 by CY5PR12MB6105.namprd12.prod.outlook.com (2603:10b6:930:2a::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Mon, 5 Dec
 2022 08:33:51 +0000
Received: from DS1PEPF0000E646.namprd02.prod.outlook.com
 (2603:10b6:5:3b3:cafe::48) by DS7PR03CA0261.outlook.office365.com
 (2603:10b6:5:3b3::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Mon, 5 Dec 2022 08:33:51 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000E646.mail.protection.outlook.com (10.167.18.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Mon, 5 Dec 2022 08:33:51 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 02:33:50 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 00:33:50 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Mon, 5 Dec 2022 02:33:48 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d584ffa-7477-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G8ocH2z5+2VUT7Rbkyeo4G8EhS97h7CIkCzjA4gypGX0iQw2COtOjhS7+k3ic5wIYqvbXg8yb8/jrll8NvX0MCMr2RkmRgwMqLIQV9CJl/8wyQlehNJ2L7dKlwFyyJxkbgAMhQcnQoO8uUA5k/hmjCVqtqJJ1TvHKBcThoXVXHo4pFN8LD1gfIn9dCdSozWFqzP+d2f/1dgr6upgDUs75HUlvHFUhOScW+hOKHYhq5UseObWJS6JUIu2GwxHNG7704r1/jX4AedSeOEYzCbH1zmKaRo6IuHg8GIe6hPLX2vFyKT5YX1ZxQpW/FfJnVx8AqXv+VR+PabqaimgL3Jx+Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UfnKvgmSXh7uogqoOgpmz8V+dyTYMKsbUoFYAOyUNSs=;
 b=WsvgbKp3OPYNUXum4MqZKT1MuY40rUhMv1k+4lppPf+wzrQkr/HCZ5bMGiq23M5ZPGfROkfEQSqY2KaUStGt4JEjOPMeq2BJIUDGLgXHf7DQBlsy+xc1I8HHIVN3w48NpiMmya2+he14oe/HSm5r9wssI0su8dgpMk8wSx+U9iunbjHQV1VXj7YSrofBXBOGoDmgDTVTEBcO3+1njHmbSne5XcaypNNIEnjOji8cqJWy6hOEM7/osX4WhPtJFn2ZXhsUMBdmAYj4pVKqUT2hW6VjfAIfHvynNx+vAndJcMmC0m3tiJc5Fq1P7qk+Y/Acnz4JpJaT3IWFocLncfzmUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UfnKvgmSXh7uogqoOgpmz8V+dyTYMKsbUoFYAOyUNSs=;
 b=QYGKRSYGJS2pel26Zl9h93ficK/O6UxWgmUq5olw+0jFMiVCGLshf9QPAgM0D2l3EI4NA9WJXCi1lvlrsYv8Gsg3LofORBZNbV7qejPDYJWXZ/2HkNWZRGhvFhcWe1z2YTc2kDvWRsgmP/lHwqsqH9BI9Vsx+panQiCBmLUmfbc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <b4cd1b34-3aa4-1f8c-b6f1-2ce4214fe2ed@amd.com>
Date: Mon, 5 Dec 2022 09:33:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 05/21] xen/arm: vsmmuv3: Add dummy support for virtual
 SMMUv3 for guests
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, "Paul
 Durrant" <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
	<roger.pau@citrix.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <6d25bcb543190d78c26db15a0f07e9af79349884.1669888522.git.rahul.singh@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <6d25bcb543190d78c26db15a0f07e9af79349884.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E646:EE_|CY5PR12MB6105:EE_
X-MS-Office365-Filtering-Correlation-Id: e97bc1a5-d7cf-4157-ef92-08dad69b7008
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Aee5ndfnm3uK+V7unvnBRsrfLAPCsOaxBgvOaQBjaxHHRHDFIgTa8u5iHEqPad26pzWIrBSK+mCyh5uJ1A6XJLNUjjj5b5u1crWRXznWI97oH4fxAsTOIebEWaGxDW5vIQoKJbfrhRzJJozsGwnKyl1HMtbUiMNIqgjhsblRB/xnGZrJKCuAsO8y6znwZVoD03pqrjM4mh5QHRPxre+8ihQnXcOFIOPnJwbiP7+FrCSIDyL1ET0COz2G6Cye4Inb3hMCOISskt7sIdK4oKz88SAYCicn70uyZl4biZlHWUcz9oYHHuZ0S5DKxixH8pSP88iLpqG0yMybU32wHhOMX4XMNZSX5dPwVZeWDzYu8kRtYniCZqvXFIZq1Q670yiDd+HI4BJAyZQ1hYwPNKJ0t2NMmF9dBXGbucPIpA7/C+xNaLPlLCvTct+qPL4RgjsCBDb0iYy/5HW4heNjdAifMXGG0hUiqwHTbEokke5TxUsmcHKsFXwVdponHZbGlfn92tupnunapV7T3mjWwOstn6l85lDNhESKAvogD+XTfTK/cILkf6FAXW/FY3wPqhR4Zusqw5pPgqZ/juwDzj5bS64iCvJRDWMRsTAFi7iG/xJ+MxGvFN4/ez7IfxyMzzLdrfu8jK7RAwhOP+whdWyG9eZhJGM0InAJb5xBT/maUuM8kxw8Yb0JU9QAnoKiNRD+kZo0XuW1hfo+LwKmr3lQMV213yR7x0N4jEUsnUogFqVfrxjYP13lwti9jtujVNDRiM8wQP2GSEnnAruOm9oRnw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(136003)(39860400002)(396003)(451199015)(36840700001)(40470700004)(46966006)(336012)(186003)(31686004)(316002)(16576012)(54906003)(110136005)(478600001)(40480700001)(81166007)(82740400003)(356005)(36756003)(40460700003)(86362001)(31696002)(83380400001)(47076005)(53546011)(426003)(82310400005)(26005)(30864003)(5660300002)(2616005)(44832011)(2906002)(4326008)(41300700001)(36860700001)(70206006)(70586007)(8676002)(8936002)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 08:33:51.3317
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e97bc1a5-d7cf-4157-ef92-08dad69b7008
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E646.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6105

Hi Rahul,

On 01/12/2022 17:02, Rahul Singh wrote:
> 
> 
> domain_viommu_init() will be called during domain creation and will add
> the dummy trap handler for virtual IOMMUs for guests.
> 
> A host IOMMU list will be created when host IOMMU devices are probed
> and this list will be used to create the IOMMU device tree node for
> dom0. For dom0, 1-1 mapping will be established between vIOMMU in dom0
> and physical IOMMU.
> 
> For domUs, the 1-N mapping will be established between domU and physical
> IOMMUs. A new area has been reserved in the arm guest physical map at
> which the emulated vIOMMU node is created in the device tree.
> 
> Also set the vIOMMU type to vSMMUv3 to enable vIOMMU framework to call
> vSMMUv3 domain creation/destroy functions.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>  xen/arch/arm/domain.c                  |   3 +-
>  xen/arch/arm/include/asm/domain.h      |   4 +
>  xen/arch/arm/include/asm/viommu.h      |  20 ++++
>  xen/drivers/passthrough/Kconfig        |   8 ++
>  xen/drivers/passthrough/arm/Makefile   |   1 +
>  xen/drivers/passthrough/arm/smmu-v3.c  |   7 ++
>  xen/drivers/passthrough/arm/viommu.c   |  30 ++++++
>  xen/drivers/passthrough/arm/vsmmu-v3.c | 124 +++++++++++++++++++++++++
>  xen/drivers/passthrough/arm/vsmmu-v3.h |  20 ++++
>  xen/include/public/arch-arm.h          |   7 +-
>  10 files changed, 222 insertions(+), 2 deletions(-)
>  create mode 100644 xen/drivers/passthrough/arm/vsmmu-v3.c
>  create mode 100644 xen/drivers/passthrough/arm/vsmmu-v3.h
> 
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 2a85209736..9a2b613500 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -692,7 +692,8 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
>          return -EINVAL;
>      }
> 
> -    if ( config->arch.viommu_type != XEN_DOMCTL_CONFIG_VIOMMU_NONE )
> +    if ( config->arch.viommu_type != XEN_DOMCTL_CONFIG_VIOMMU_NONE &&
> +         config->arch.viommu_type != viommu_get_type() )
>      {
>          dprintk(XENLOG_INFO,
>                  "vIOMMU type requested not supported by the platform or Xen\n");
> diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
> index 2ce6764322..8eb4eb5fd6 100644
> --- a/xen/arch/arm/include/asm/domain.h
> +++ b/xen/arch/arm/include/asm/domain.h
> @@ -114,6 +114,10 @@ struct arch_domain
>      void *tee;
>  #endif
> 
> +#ifdef CONFIG_VIRTUAL_IOMMU
> +    struct list_head viommu_list;     /* List of virtual IOMMUs */
> +#endif
> +
>  }  __cacheline_aligned;
> 
>  struct arch_vcpu
> diff --git a/xen/arch/arm/include/asm/viommu.h b/xen/arch/arm/include/asm/viommu.h
> index 7cd3818a12..4785877e2a 100644
> --- a/xen/arch/arm/include/asm/viommu.h
> +++ b/xen/arch/arm/include/asm/viommu.h
> @@ -5,9 +5,21 @@
>  #ifdef CONFIG_VIRTUAL_IOMMU
> 
>  #include <xen/lib.h>
> +#include <xen/list.h>
>  #include <xen/types.h>
>  #include <public/xen.h>
> 
> +extern struct list_head host_iommu_list;
> +
> +/* data structure for each hardware IOMMU */
> +struct host_iommu {
> +    struct list_head entry;
> +    const struct dt_device_node *dt_node;
> +    paddr_t addr;
> +    paddr_t size;
> +    uint32_t irq;
You want this to be int and not unsigned. The reason is ...

> +};
> +
>  struct viommu_ops {
>      /*
>       * Called during domain construction if toolstack requests to enable
> @@ -35,6 +47,8 @@ struct viommu_desc {
>  int domain_viommu_init(struct domain *d, uint16_t viommu_type);
>  int viommu_relinquish_resources(struct domain *d);
>  uint16_t viommu_get_type(void);
> +void add_to_host_iommu_list(paddr_t addr, paddr_t size,
> +                            const struct dt_device_node *node);
> 
>  #else
> 
> @@ -56,6 +70,12 @@ static inline int viommu_relinquish_resources(struct domain *d)
>      return 0;
>  }
> 
> +static inline void add_to_host_iommu_list(paddr_t addr, paddr_t size,
> +                                          const struct dt_device_node *node)
> +{
> +    return;
> +}
> +
>  #endif /* CONFIG_VIRTUAL_IOMMU */
> 
>  #endif /* __ARCH_ARM_VIOMMU_H__ */
> diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
> index 19924fa2de..4c725f5f67 100644
> --- a/xen/drivers/passthrough/Kconfig
> +++ b/xen/drivers/passthrough/Kconfig
> @@ -41,6 +41,14 @@ config VIRTUAL_IOMMU
>         help
>          Support virtual IOMMU infrastructure to implement vIOMMU.
> 
> +config VIRTUAL_ARM_SMMU_V3
> +       bool "ARM Ltd. Virtual SMMUv3 Support (UNSUPPORTED)" if UNSUPPORTED
> +       depends on ARM_SMMU_V3 && VIRTUAL_IOMMU
> +       help
> +        Support for implementations of the virtual ARM System MMU architecture
> +        version 3. Virtual SMMUv3 is unsupported feature and should not be used
> +        in production.
> +
>  endif
> 
>  config IOMMU_FORCE_PT_SHARE
> diff --git a/xen/drivers/passthrough/arm/Makefile b/xen/drivers/passthrough/arm/Makefile
> index 4cc54f3f4d..e758a9d6aa 100644
> --- a/xen/drivers/passthrough/arm/Makefile
> +++ b/xen/drivers/passthrough/arm/Makefile
> @@ -3,3 +3,4 @@ obj-$(CONFIG_ARM_SMMU) += smmu.o
>  obj-$(CONFIG_IPMMU_VMSA) += ipmmu-vmsa.o
>  obj-$(CONFIG_ARM_SMMU_V3) += smmu-v3.o
>  obj-$(CONFIG_VIRTUAL_IOMMU) += viommu.o
> +obj-$(CONFIG_VIRTUAL_ARM_SMMU_V3) += vsmmu-v3.o
> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
> index 9174d2dedd..4f96fdb92f 100644
> --- a/xen/drivers/passthrough/arm/smmu-v3.c
> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
> @@ -91,6 +91,7 @@
>  #include <asm/platform.h>
> 
>  #include "smmu-v3.h"
> +#include "vsmmu-v3.h"
> 
>  #define ARM_SMMU_VTCR_SH_IS            3
>  #define ARM_SMMU_VTCR_RGN_WBWA         1
> @@ -2680,6 +2681,9 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
>         list_add(&smmu->devices, &arm_smmu_devices);
>         spin_unlock(&arm_smmu_devices_lock);
> 
> +    /* Add to host IOMMU list to initialize vIOMMU for dom0 */
> +       add_to_host_iommu_list(ioaddr, iosize, dev_to_dt(pdev));
> +
>         return 0;
> 
> 
> @@ -2936,6 +2940,9 @@ static __init int arm_smmu_dt_init(struct dt_device_node *dev,
> 
>         iommu_set_ops(&arm_smmu_iommu_ops);
> 
> +       /* Set vIOMMU type to SMMUv3 */
> +       vsmmuv3_set_type();
> +
>         return 0;
>  }
> 
> diff --git a/xen/drivers/passthrough/arm/viommu.c b/xen/drivers/passthrough/arm/viommu.c
> index 7ab6061e34..53ae46349a 100644
> --- a/xen/drivers/passthrough/arm/viommu.c
> +++ b/xen/drivers/passthrough/arm/viommu.c
> @@ -2,12 +2,42 @@
> 
>  #include <xen/errno.h>
>  #include <xen/init.h>
> +#include <xen/irq.h>
>  #include <xen/types.h>
> 
>  #include <asm/viommu.h>
> 
> +/* List of all host IOMMUs */
> +LIST_HEAD(host_iommu_list);
> +
>  const struct viommu_desc __read_mostly *cur_viommu;
> 
> +/* Common function for adding to host_iommu_list */
> +void add_to_host_iommu_list(paddr_t addr, paddr_t size,
> +                            const struct dt_device_node *node)
> +{
> +    struct host_iommu *iommu_data;
> +
> +    iommu_data = xzalloc(struct host_iommu);
> +    if ( !iommu_data )
> +        panic("vIOMMU: Cannot allocate memory for host IOMMU data\n");
> +
> +    iommu_data->addr = addr;
> +    iommu_data->size = size;
> +    iommu_data->dt_node = node;
> +    iommu_data->irq = platform_get_irq(node, 0);
you are assigning platform_get_irq to it which can return a negative number in case of failure.
In your current implementation, the following check does not make sense as unsigned can never be negative.

> +    if ( iommu_data->irq < 0 )
> +    {
> +        gdprintk(XENLOG_ERR,
> +                 "vIOMMU: Cannot find a valid IOMMU irq\n");
> +        return;
> +    }
> +
> +    printk("vIOMMU: Found IOMMU @0x%"PRIx64"\n", addr);
> +
> +    list_add_tail(&iommu_data->entry, &host_iommu_list);
> +}
> +
>  int domain_viommu_init(struct domain *d, uint16_t viommu_type)
>  {
>      if ( viommu_type == XEN_DOMCTL_CONFIG_VIOMMU_NONE )
> diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.c b/xen/drivers/passthrough/arm/vsmmu-v3.c
> new file mode 100644
> index 0000000000..6b4009e5ef
> --- /dev/null
> +++ b/xen/drivers/passthrough/arm/vsmmu-v3.c
> @@ -0,0 +1,124 @@
> +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
> +
> +#include <xen/param.h>
> +#include <xen/sched.h>
> +#include <asm/mmio.h>
> +#include <asm/viommu.h>
> +
> +/* Struct to hold the vIOMMU ops and vIOMMU type */
> +extern const struct viommu_desc __read_mostly *cur_viommu;
> +
> +struct virt_smmu {
> +    struct      domain *d;
> +    struct      list_head viommu_list;
> +};
> +
> +static int vsmmuv3_mmio_write(struct vcpu *v, mmio_info_t *info,
> +                              register_t r, void *priv)
> +{
> +    return IO_HANDLED;
> +}
> +
> +static int vsmmuv3_mmio_read(struct vcpu *v, mmio_info_t *info,
> +                             register_t *r, void *priv)
> +{
> +    return IO_HANDLED;
> +}
> +
> +static const struct mmio_handler_ops vsmmuv3_mmio_handler = {
> +    .read  = vsmmuv3_mmio_read,
> +    .write = vsmmuv3_mmio_write,
> +};
> +
> +static int vsmmuv3_init_single(struct domain *d, paddr_t addr, paddr_t size)
> +{
> +    struct virt_smmu *smmu;
> +
> +    smmu = xzalloc(struct virt_smmu);
> +    if ( !smmu )
> +        return -ENOMEM;
> +
> +    smmu->d = d;
> +
> +    register_mmio_handler(d, &vsmmuv3_mmio_handler, addr, size, smmu);
> +
> +    /* Register the vIOMMU to be able to clean it up later. */
> +    list_add_tail(&smmu->viommu_list, &d->arch.viommu_list);
> +
> +    return 0;
> +}
> +
> +int domain_vsmmuv3_init(struct domain *d)
> +{
> +    int ret;
> +    INIT_LIST_HEAD(&d->arch.viommu_list);
> +
> +    if ( is_hardware_domain(d) )
> +    {
> +        struct host_iommu *hw_iommu;
> +
> +        list_for_each_entry(hw_iommu, &host_iommu_list, entry)
> +        {
> +            ret = vsmmuv3_init_single(d, hw_iommu->addr, hw_iommu->size);
> +            if ( ret )
> +                return ret;
> +        }
> +    }
> +    else
> +    {
> +        ret = vsmmuv3_init_single(d, GUEST_VSMMUV3_BASE, GUEST_VSMMUV3_SIZE);
> +        if ( ret )
> +            return ret;
> +    }
> +
> +    return 0;
> +}
> +
> +int vsmmuv3_relinquish_resources(struct domain *d)
> +{
> +    struct virt_smmu *pos, *temp;
> +
> +    /* Cope with unitialized vIOMMU */
> +    if ( list_head_is_null(&d->arch.viommu_list) )
> +        return 0;
> +
> +    list_for_each_entry_safe(pos, temp, &d->arch.viommu_list, viommu_list )
> +    {
> +        list_del(&pos->viommu_list);
> +        xfree(pos);
> +    }
> +
> +    return 0;
> +}
> +
> +static const struct viommu_ops vsmmuv3_ops = {
> +    .domain_init = domain_vsmmuv3_init,
> +    .relinquish_resources = vsmmuv3_relinquish_resources,
> +};
> +
> +static const struct viommu_desc vsmmuv3_desc = {
> +    .ops = &vsmmuv3_ops,
> +    .viommu_type = XEN_DOMCTL_CONFIG_VIOMMU_SMMUV3,
> +};
> +
> +void __init vsmmuv3_set_type(void)
> +{
> +    const struct viommu_desc *desc = &vsmmuv3_desc;
> +
> +    if ( cur_viommu && (cur_viommu != desc) )
> +    {
> +        printk("WARNING: Cannot set vIOMMU, already set to a different value\n");
> +        return;
> +    }
> +
> +    cur_viommu = desc;
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.h b/xen/drivers/passthrough/arm/vsmmu-v3.h
> new file mode 100644
> index 0000000000..e11f85b431
> --- /dev/null
> +++ b/xen/drivers/passthrough/arm/vsmmu-v3.h
> @@ -0,0 +1,20 @@
> +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
> +#ifndef __ARCH_ARM_VSMMU_V3_H__
> +#define __ARCH_ARM_VSMMU_V3_H__
> +
> +#include <asm/viommu.h>
> +
> +#ifdef CONFIG_VIRTUAL_ARM_SMMU_V3
> +
> +void vsmmuv3_set_type(void);
> +
> +#else
> +
> +static inline void vsmmuv3_set_type(void)
> +{
> +    return;
> +}
> +
> +#endif /* CONFIG_VIRTUAL_ARM_SMMU_V3 */
> +
> +#endif /* __ARCH_ARM_VSMMU_V3_H__ */
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index 33d32835e7..24b52fa017 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -297,7 +297,8 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>  #define XEN_DOMCTL_CONFIG_TEE_NONE      0
>  #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
> 
> -#define XEN_DOMCTL_CONFIG_VIOMMU_NONE   0
> +#define XEN_DOMCTL_CONFIG_VIOMMU_NONE       0
> +#define XEN_DOMCTL_CONFIG_VIOMMU_SMMUV3     1
> 
>  struct xen_arch_domainconfig {
>      /* IN/OUT */
> @@ -418,6 +419,10 @@ typedef uint64_t xen_callback_t;
>  #define GUEST_GICV3_GICR0_BASE     xen_mk_ullong(0x03020000) /* vCPU0..127 */
>  #define GUEST_GICV3_GICR0_SIZE     xen_mk_ullong(0x01000000)
> 
> +/* vsmmuv3 ITS mappings */
> +#define GUEST_VSMMUV3_BASE     xen_mk_ullong(0x04040000)
> +#define GUEST_VSMMUV3_SIZE     xen_mk_ullong(0x00040000)
> +
>  /*
>   * 256 MB is reserved for VPCI configuration space based on calculation
>   * 256 buses x 32 devices x 8 functions x 4 KB = 256 MB
> --
> 2.25.1
> 
> 

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 08:49:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 08:49:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453253.710914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p27AN-0000W9-KU; Mon, 05 Dec 2022 08:49:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453253.710914; Mon, 05 Dec 2022 08:49:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p27AN-0000W2-Hc; Mon, 05 Dec 2022 08:49:35 +0000
Received: by outflank-mailman (input) for mailman id 453253;
 Mon, 05 Dec 2022 08:49:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p27AL-0000Vr-Mr; Mon, 05 Dec 2022 08:49:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p27AL-0001ZC-KM; Mon, 05 Dec 2022 08:49:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p27AL-0004MR-4R; Mon, 05 Dec 2022 08:49:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p27AL-0007hJ-3x; Mon, 05 Dec 2022 08:49:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0GX38HIu7MOkQAwuY/NJCKmLqcojb6J3eQ0CJ0TMIk8=; b=sqUHjuMvUVdahIwHYiM0UfD2y1
	lFs49FV5/DfWkxfyh/+rFwRWcE11RsXYxyS7IN18qNBFjFKBKPaubjATokhhVEy1zADYm/la+wUz0
	lPB5ijzqHIQXbx94UbuGWjLFDbMAkYHRetlwrR5UzFW99mFvzj3fFxcn5Ctz2dQN1sGU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175047-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175047: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=7bee2498910a9034faaf90802c49188afb7582dc
X-Osstest-Versions-That:
    ovmf=735a7496cb35e48ccad51aad0934844a475e3fef
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 05 Dec 2022 08:49:33 +0000

flight 175047 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175047/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 7bee2498910a9034faaf90802c49188afb7582dc
baseline version:
 ovmf                 735a7496cb35e48ccad51aad0934844a475e3fef

Last test of basis   175045  2022-12-05 02:10:48 Z    0 days
Testing same since   175047  2022-12-05 05:40:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ni, Ray <ray.ni@intel.com>
  Ray Ni <ray.ni@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   735a7496cb..7bee249891  7bee2498910a9034faaf90802c49188afb7582dc -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 09:11:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 09:11:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453281.710925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p27VV-000594-Gw; Mon, 05 Dec 2022 09:11:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453281.710925; Mon, 05 Dec 2022 09:11:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p27VV-00058x-Dx; Mon, 05 Dec 2022 09:11:25 +0000
Received: by outflank-mailman (input) for mailman id 453281;
 Mon, 05 Dec 2022 09:11:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g57r=4D=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p27VU-00058r-Gn
 for xen-devel@lists.xen.org; Mon, 05 Dec 2022 09:11:24 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c962d291-747c-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 10:11:23 +0100 (CET)
Received: by mail-pl1-x632.google.com with SMTP id y4so10228218plb.2
 for <xen-devel@lists.xen.org>; Mon, 05 Dec 2022 01:11:23 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 u4-20020a17090341c400b00189e1522982sm706066ple.168.2022.12.05.01.11.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 05 Dec 2022 01:11:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c962d291-747c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=TZTwTFyYVwVJSHxG8cTL49t90VCYZlLgxeIX/tBwbME=;
        b=g9FYi07Dn1Hau1dsHKIjjn7xcxju/eScfmzF6vCTaHH9W/vq5FxZ+FN01vMFNQkCLL
         rWSgSU1Gw+EFF4GdrU4Qcpt7qCNUzp45HlaJrokIGr8K7bTYt/dHVTb2hcY0ErCddwCW
         A+0wKSbtyqQJD3KiDyMzuKlAuhHnkH99UHxrSrUHETb4vhuI+7rxZaXyuaRf9YPaSEkE
         zsIkA6SaH6vxeCl/w5GfO0+qn8vgKK8mxPMgs5upIDQCdF+bJjaN7GOTas3bImEMERpq
         J5LmUrEsFp0L68RQQA/HIEfc7TEMFFWH1TfFTzt0gKAT0T+oxjvFWJEDUNbt2PB0kq4H
         E2VA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TZTwTFyYVwVJSHxG8cTL49t90VCYZlLgxeIX/tBwbME=;
        b=GLOlyFfFMqUZ/HHGlwTTo4vlGiaFIK8xTNqxoqKRYsugFu2W71iKxKi59MzdRlUjFH
         xXlb91PqWemPF4Pe0sECItlRqp1N3aWKvb9uJZvIYEfshXKwfbfIigfTii3r1Kx5oCRg
         5IT7KeVxYidDsKSH5m4spog8Yz7i6rdmlC8B+LvHJIed6aqGAyZhja19/UFbGOWEgL7v
         39BhSWNg7u5D04WgmaOVk4YEOcBWhDtESS6aLTE66IjpAVK6AWwYN2VCRv39cAXQRyrV
         Ld17tiqNGcBDmUzjIbP36U3GJrDYmcYN5j8lZOf7An4ywgjNKorrbk1UOhGhFZE1dd0b
         nvwQ==
X-Gm-Message-State: ANoB5plWA4hhere0f7Ui0bCGOcEzYXk4d5mybHotW8RPAPGMhgOsk3H/
	a78/upW3HETb1FYi215e0zqhaA==
X-Google-Smtp-Source: AA0mqf5k4MlSEdEYwKxKHmQvMJGSvYf6tukbTNRHfPPo1wI6YsA4q95jne0kTyE2S5qSgd4Vtn0pag==
X-Received: by 2002:a17:90b:374f:b0:219:7bc8:f300 with SMTP id ne15-20020a17090b374f00b002197bc8f300mr20265674pjb.145.1670231481540;
        Mon, 05 Dec 2022 01:11:21 -0800 (PST)
Date: Mon, 5 Dec 2022 14:41:18 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>, Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>, xen-devel@lists.xen.org,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH V6 3/3] docs: Add documentation for generic virtio devices
Message-ID: <20221205091118.lttaot42hcidb7gj@vireshk-i7>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <24a0278313ea9a9e6c093880dead835184025734.1667906228.git.viresh.kumar@linaro.org>
 <4fbe5c89-4468-9ad4-e391-2f51ceaa5b67@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <4fbe5c89-4468-9ad4-e391-2f51ceaa5b67@gmail.com>

On 04-12-22, 20:52, Oleksandr Tyshchenko wrote:
> So as I understand current series adds support for two virtio devices
> (i2c/gpio) that require specific device-tree sub node with specific
> compatible in it [1]. Those backends are standalone userspace applications
> (daemons) that do not require any additional configuration parameters from
> the toolstack other than just virtio-mmio irq and base (please correct me if
> I am wrong).

For now, yes. But we may want to link these devices with other devices
in DT, like GPIO line consumers. I am not pushing a half informed
solution for that right now and that can be taken up later.

> Well, below just some thoughts (which might be wrong) regarding the possible
> extensions for future use. Please note, I do not suggest the following to be
> implemented right now (I mean within the context of current series):
> 
> 1. For supporting usual virtio devices that don't require specific
> device-tree sub node with specific compatible in it [2] we would probably
> need to either make "compatible" (or type?) string optional or to reserve
> some value for it ("common" for the instance).

I agree. Maybe we can use "virtio,device" without a number for the
device in this case.

> 2. For supporting Qemu based virtio devices we would probably need to add
> "backendtype" string (with "standalone" value for daemons like yours and
> "qemu" value for Qemu backends).

Hmm, I realize now that my patch did define a new type for this,
libxl_virtio_backend, which defines STANDALONE already, but it isn't
used currently. Maybe I should remove it too.

And I am not sure sure how to use these values, STANDALONE or QEMU.
Should the DT nodes be created only for STANDALONE and never for QEMU
?

Maybe we can add these fields and a config param, once someone wants
to reuse this stuff for QEMU ?

> 3. For supporting additional configuration parameters for Qemu based virtio
> devices we could probably reuse "device_model_args" (although it is not
> clear to me what alternative to use for daemons).

I would leave it for the person who will make use of this eventually,
as then we will have more information on the same.

> > +=item B<compatible=STRING>
> 
> Shouldn't it be "type" instead (the parsing code is looking for type and the
> example below suggests the type)?

Yes.

> > +Specifies the compatible string for the specific Virtio device. The same will be
> > +written in the Device Tree compatible property of the Virtio device. For
> > +example, "type=virtio,device22" for the I2C device > +
> > +=item B<transport=STRING>
> > +
> > +Specifies the transport mechanism for the Virtio device, like "mmio" or "pci".
> > +
> > +=back
> > +
> >   =item B<tee="STRING">
> >   B<Arm only.> Set TEE type for the guest. TEE is a Trusted Execution
> 
> Also the commit description for #1/3 mentions that Virtio backend could run
> in any domain. So looks like the "backend" string is missing here. I would
> add the following:
> 
> =item B<backend=domain-id>
> 
> Specify the backend domain name or id, defaults to dom0.

I haven't used the backend in any other domain for now, just Dom0, but
the idea is definitely there to run backends in separate user domains.

> P.S. I am wondering do i2c/gpio virtio backends support Xen grant mappings
> for the virtio?

Not yet, we haven't made much progress in that area until now, but it
is very much part of what we intend to do.

> Have you tried to run the backends in non-hardware domain
> with CONFIG_XEN_VIRTIO=y in Linux?

Not yet.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 09:39:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 09:39:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453299.710936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p27vx-0000Ol-MH; Mon, 05 Dec 2022 09:38:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453299.710936; Mon, 05 Dec 2022 09:38:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p27vx-0000Oe-JS; Mon, 05 Dec 2022 09:38:45 +0000
Received: by outflank-mailman (input) for mailman id 453299;
 Mon, 05 Dec 2022 09:38:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p27vw-0000OU-2N; Mon, 05 Dec 2022 09:38:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p27vv-0002Zb-I7; Mon, 05 Dec 2022 09:38:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p27vv-0005ZR-25; Mon, 05 Dec 2022 09:38:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p27vv-0004WK-1Z; Mon, 05 Dec 2022 09:38:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=npSo+bRVJV/uv1LTuKa5WPvbJF6mQDxGYOc91o9Gygc=; b=3zu8qrlAIGcEA7lF41HGt1SDwu
	RrlvwDdm57YzaGMvfaGunf5o9lvNfV0SnDL0ndGOL0M5HOX35FH/DrVwxbSQeq3hljcOipal6NeCr
	8LDijZjk3hlk787yxwA7eKg37f3cKSFCO6ZpNzqo4wVhpOZOMuMVjvvuZxTb6JKv3IQI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175044-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175044: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
X-Osstest-Versions-That:
    xen=68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 05 Dec 2022 09:38:43 +0000

flight 175044 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175044/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-pair     11 xen-install/dst_host fail in 175040 pass in 175044
 test-amd64-amd64-xl-credit1 20 guest-localmigrate/x10 fail in 175040 pass in 175044
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host       fail pass in 175040

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175040
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175040
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175040
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175040
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175040
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175040
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175040
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175040
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175040
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175040
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175040
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175040
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
baseline version:
 xen                  68f551ec5fa9ad96397a62cd463a7ff7e4db72d0

Last test of basis   175044  2022-12-05 01:53:54 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 09:48:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 09:48:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453348.710965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p285a-0003W9-5o; Mon, 05 Dec 2022 09:48:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453348.710965; Mon, 05 Dec 2022 09:48:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p285a-0003W2-2V; Mon, 05 Dec 2022 09:48:42 +0000
Received: by outflank-mailman (input) for mailman id 453348;
 Mon, 05 Dec 2022 09:48:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p285Y-0003Vv-Lj
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 09:48:40 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20601.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe1c9fb1-7481-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 10:48:38 +0100 (CET)
Received: from MW2PR16CA0068.namprd16.prod.outlook.com (2603:10b6:907:1::45)
 by MN2PR12MB4517.namprd12.prod.outlook.com (2603:10b6:208:267::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 09:48:31 +0000
Received: from CO1NAM11FT095.eop-nam11.prod.protection.outlook.com
 (2603:10b6:907:1:cafe::6) by MW2PR16CA0068.outlook.office365.com
 (2603:10b6:907:1::45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Mon, 5 Dec 2022 09:48:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT095.mail.protection.outlook.com (10.13.174.179) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.14 via Frontend Transport; Mon, 5 Dec 2022 09:48:30 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 03:48:26 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 03:48:25 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 5 Dec 2022 03:48:21 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe1c9fb1-7481-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OqmnQFN5xuvJA4SZkTYPlLGTNCWkH+DhvYScYUaGthtgSG3cLWoF7mnI49S2LzSXasStIQuR2ZadyBeCsESaA7alMHmjQnJ8c3l/JTGiXerzYG6TtG6uUnBFeaowqDlFIYQ+lvnq+4tnU5OLxKuhp6RrcLJV7AFcGm7xxnpcG4s6jbjKWxUXAGWqWz9qYLW3FsJyKWSUadr5xvgI3vml4n4Lq0oIKz0+5y5VkZwBrA0wpWstUrLUsWentwqDbkSDjh7X7A9Mtq0Juk+8ygwOhp3ioFkZj939PFfLu8go0hlVqv9f4G5a/5Gc5IYFaPys0MWh5LuWCbH0NWa2gPZb0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=20ryNnGNPQDT4mK1apo5Tw0vv1oAeHdsEvs0Z36DP40=;
 b=WespqZxU2uuTnOE0xbBKnPFnYlIW+VpaYfcpcYZhBOmKYA9VVN05Jhm89DWzpkpnWj1feNd7f7taSERvewlLxOmfnSXacU2ZhfkW2pFpCn3usbr6BL8HLiDnHaZPVwdyYLMyvKBIqWQkJjbSzPB3zagSNFtt4ifJuukKJuKMYdGaIqk6rkFCngaLtbXzqqhoksoy3QcBS7W2WuhRro4Byj726os1MpDlqoXvqIJ9Ym9DunVbPBG3MDRswn3qEgbj41h+vkOi4ofHxh/gHjapgXRkgiF5iUVOuoyD0sjY5WexjGOIa7+LuH6+yyc2elEzOV4kYGqavRl1gvxEqDN9Ag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=20ryNnGNPQDT4mK1apo5Tw0vv1oAeHdsEvs0Z36DP40=;
 b=DoNrW3rkRnHeOSvCa+Vz3mZiLVcP+bi/vcHYA8EjpA0MrNbZ/82Bgo/ckvT7x2i0RQV9PK2r5Q0yJibv2lRu3jaFR/q9iUCKfEn/lprWzbEWljmGLETGoC2cYfmaz2xJ8fGSj8meft9L8x7JGPV0jacK2cK64gxJgj5qykN/N0U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, <bobbyeshleman@gmail.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v4] xen/page_alloc: Relax the BUILD_BUG_ON() in xenheap_max_mfn()
Date: Mon, 5 Dec 2022 09:48:17 +0000
Message-ID: <20221205094817.21062-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT095:EE_|MN2PR12MB4517:EE_
X-MS-Office365-Filtering-Correlation-Id: 63d82896-cd03-4200-78bd-08dad6a5de13
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QqHLvwbRbLHz43TEkSEmzgvpybW7xCkNlq1nh1bzKjKyZPMftlYXc4sauaj8PYbMNXkA0CBky1RskJAisM9TxduvWKN99Cwedq7+EbQlT/ZbvxnmrkNN7xb2yfo84DhGaCeCO+OalnVEu8t4C/Vyety+N8w8HxOMnFwYcvi7V5L7Uxh7p2KBUdw11Oi5xe8gt5wafk60JLh13LLUzfRGj2+oabz+ydSRjHKTKQTA6knGX4DomO08peqrR5eobk5oVRu2xd9ySSBiDiFn7tY0TLSC+jZGk40BZCmXSVxHJmBPbSCRoEx/v5tEaqG21YdEO2NzDTHC8qWmXh/U1zkgpEx52oEJ5s5GKUJBhG7JUvulHNgoAMzf+w+/i92ov8erIoyufZQv2Forjszb8E6eT6IzoVByUyl3eCdgzr1iVUEGAHgK8qaRov2OvTaNcdlmL6yqOSl+STMapJg8e3py9K2jUUADwK5KwgknITCoH+oeUNa0+VFcToyaO5homQKUq9D98x3+DXMDCQP8ya2GL5cqkcmwByZV94ACufzn0j2hIYl1pHGnORUUiHTTuZBb+RngiYoFYRO2c+7P512tHCSWmHxVK4F8ILj2TfdOHe4vbHAmD+43/A42S8Iw0qfLI09eJ/qub9U8deB6CNGdeS//79i3YDy+UtoekVOza+YFo5t2cJELU58Gkn7st7TWiIWdwrn7fc3HFxZr+d8idD8QsJbcK2Aj4J70SIFBBrQ=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(396003)(376002)(39860400002)(451199015)(36840700001)(46966006)(40470700004)(1076003)(336012)(186003)(316002)(54906003)(6916009)(478600001)(103116003)(82740400003)(40480700001)(356005)(81166007)(86362001)(40460700003)(36756003)(83380400001)(26005)(47076005)(2616005)(426003)(82310400005)(6666004)(5660300002)(2906002)(41300700001)(36860700001)(4326008)(8676002)(70586007)(70206006)(8936002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 09:48:30.8550
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 63d82896-cd03-4200-78bd-08dad6a5de13
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT095.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4517

In the near future, we are considering to use a common xen/domain heap for
Arm 32-bit V8-R. In this setup, both PADDR_BITS and BITS_PER_LONG will be
32. Therefore, the condition PADDR_BITS >= BITS_PER_LONG will become true.

Looking at the commit that introduce the BUILD_BUG_ON (88e3ed61642b
"x86/NUMA: make init_node_heap() respect Xen heap limit") and the current
use, it seems this check was mainly to ensure that the shift of xenheap_bits
is not going to be undefined (>> N for a N-bit type is undefined).

So far, all the shifts are using "xenheap_bits - PAGE_SHIFT". Therefore, the
existing code should work for 32-bit architecture as long as the result of
the substraction is below 32.

Therefore relax the BUILD_BUG_ON() to check that (PADDR_BITS - PAGE_SHIFT)
is not equal of above BITS_PER_LONG.

Note that we would need further precaution if we ended up to use
'xenheap_bits' alone in shifts.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Signed-off-by: Julien Grall <julien@xen.org>
---

Currently this change will not have any impact on the existing architectures.
The following table illustrates PADDR_BITS vs BITS_PER_LONG of different archs

------------------------------------------------
| Arch      |   PADDR_BITS    |   BITS_PER_LONG |
------------------------------------------------
| Arm_64    |   48            |   64            |
| Arm_32    |   40            |   32            |
| RISCV_64  |   56            |   64            |
| x86       |   52            |   64            |
-------------------------------------------------

However, this will change when we introduce a platform (For eg Cortex-R52) which
supports 32 bit physical address and BITS_PER_LONG. This platform does not follow
the same code path as Arm_32.
Thus, I have introduced this change as I don't see it causing a regression on
any of the supported platforms.

Changes from v1:-
1. Changed the check from "(PADDR_BITS > BITS_PER_LONG)" to "((PADDR_BITS - PAGE_SHIFT) >= BITS_PER_LONG)"
2. Updated the commit message to explain the reason for this.

v2 :-
1. Updated the commit message.

v3 :-
1. Updated the commit message.
2. Added Julien's SOB.

 xen/common/page_alloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 62afb07bc6..c5b8c7444f 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2245,7 +2245,7 @@ void __init xenheap_max_mfn(unsigned long mfn)
 {
     ASSERT(!first_node_initialised);
     ASSERT(!xenheap_bits);
-    BUILD_BUG_ON(PADDR_BITS >= BITS_PER_LONG);
+    BUILD_BUG_ON((PADDR_BITS - PAGE_SHIFT) >= BITS_PER_LONG);
     xenheap_bits = min(flsl(mfn + 1) - 1 + PAGE_SHIFT, PADDR_BITS);
     printk(XENLOG_INFO "Xen heap: %u bits\n", xenheap_bits);
 }
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 10:18:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 10:18:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453365.710976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p28Xn-0008Pr-HG; Mon, 05 Dec 2022 10:17:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453365.710976; Mon, 05 Dec 2022 10:17:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p28Xn-0008Pk-EQ; Mon, 05 Dec 2022 10:17:51 +0000
Received: by outflank-mailman (input) for mailman id 453365;
 Mon, 05 Dec 2022 10:17:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WMQ7=4D=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1p28Xm-0008Pe-G2
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 10:17:50 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0609.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10f955fb-7486-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 11:17:48 +0100 (CET)
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by PAVPR08MB9188.eurprd08.prod.outlook.com (2603:10a6:102:30a::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 5 Dec
 2022 10:17:45 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::eb53:5027:9f6c:cb1b]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::eb53:5027:9f6c:cb1b%2]) with mapi id 15.20.5880.011; Mon, 5 Dec 2022
 10:17:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10f955fb-7486-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QoR1qLrP8gSwl0WrkssZS4tuJZkVJIwEvEDRzRq4PW6AK3taNXdqg3iailVa1SUYNdxVEsadZVnYC32lFqNrRnETFa6KRW6BGdylJYYeY8TJU+VBDuM3DCWJNg9cYnGpfW6gtc5QD9KeXUdUuRORfJtt+udl/TSXb6T+wazknJLJHV2ywu/VAHs7PY2fNsOrpHjJHadNhc/q4SDxivgDLfZ5czbnd+TsYKD4Um8n25u7dTdyFvq6DViEN+ELD+oHxw2zpOPABKyrc+uLT5WRGAim00P+6yENRBcdnCzPMaiGXKjGhx8t5nYDCiv0tmdC7eFnv8WFV33oNv1ghk7GMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2sdMVvz6tMMMIMwONLQJiIX2KxDkoj9yBS4qM2Yjedo=;
 b=LU6unm5nyhHzi2m8nlDaDPOKPFkYa/UkwGGU1FsE9vGz4FYc3MX/CmrMHc5nPSehKda1oSoxrWEsvx3FFt6QgJcuDbdWcbZvy8N41hOGge5GIHjBhBxAjvNu184JynGR2uSYyMFt8/K/y2QJeIT1WTG7u3ogNLywz7UOrcF0tVo9HF1iO+9n1UM6TgnO+lQ6fOg1iUlNR1Lh5a8E5zz78cQUh2DKOoRBCIW1ZH4Mgbd2yh5yvNwYWMgec0iephp8x3wnXP0XkTrhg/Avi2iwEtVsl4E3Lox6/yk5N8lYrs+P7RPhomaZqZjkJ/kDVKf52gQ/lbK1pbp/0GrL0s00Qw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2sdMVvz6tMMMIMwONLQJiIX2KxDkoj9yBS4qM2Yjedo=;
 b=N0oaQyL31Jdu4DTKifSUochdpy/BnuQzvtDYE7iskwLz27aPtcKWJOlxZsbjh5KLmbSTBHuJ+uUrgy5KmeEd1T12hhB/I63/yGKnPmH+LvCGKxxOcXyvTlrCBNkLFvnLrMwMKRiM9rDZXAyN42Ss/ppMwx1LPPWC1cQSY3GZBg4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
Message-ID: <b3240b30-39c7-d4b2-eb92-167a1a81c6ad@arm.com>
Date: Mon, 5 Dec 2022 18:17:37 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH v6 05/11] xen/arm: define Xen start address for FVP BaseR
 platform
To: Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: nd <nd@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jiamei Xie <Jiamei.Xie@arm.com>
References: <20221104100741.2176307-1-wei.chen@arm.com>
 <20221104100741.2176307-6-wei.chen@arm.com>
 <0ffe8a4d-7caf-89af-d189-a872b6b4f0fa@xen.org>
 <PAXPR08MB7420A3A20199F477622EB7099E3E9@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <e2a1233c-c001-9553-7abe-de97e96a650e@xen.org>
Content-Language: en-US
From: Wei Chen <Wei.Chen@arm.com>
In-Reply-To: <e2a1233c-c001-9553-7abe-de97e96a650e@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: SG2PR04CA0174.apcprd04.prod.outlook.com (2603:1096:4::36)
 To PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PAXPR08MB7420:EE_|PAVPR08MB9188:EE_
X-MS-Office365-Filtering-Correlation-Id: 532ff27e-3be0-4623-e83e-08dad6a9f3ae
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xB46p/plzQY8ZMRu//e0taIFhJBKreTLVGoK/VRNevyDDxj0uEosSa371F1flIcE/48jmd61Pu1y/UxAZE6ilLpRdEKmgQpaMOTENxugXv9WFKHoSQETewtxzmXlJYGS79QQwRYl1UWwoU6DPQy0wGe5f6XsnaInZSho3+sz0rfSmsUdkbrfBwnW8Ug2wkCI5bTs6r9F6x3HPSu6miHGLo2WAHVoUTohw3CE/YZdgCLTmsqXqpERkxqWUp4i6CFGV+7CKDBLESl+GGtAoTK8CKuG4Vw9t1UA3m2sxAuehQkeh3ClUC4maq+Yp3KckjJ7lThvWC1c3oYORMHetP8bJ+GLNVg+aAtOwvc9o3HQYYcvSSEv8e34O6HGg49XAlDRPnIS/Y0dhCKW7yl6wYAe2sEUMbQDkhWF3lJcAz5mi1gWGyNPi74ns5UMPaWpDzrUzZyGcaKM7rvfP+s+V4wsTLaA/IgXq2yUXA9T52T3yNPOvwnMo7mbdstqEru9lT2txieCyKVjsSErJkzt0inylcpayrUWGLlo3n45ensSKJGmWBj3k+ItUmpMW6vJz7niCCc1Dn/1r9tUvEHThTyjik3FEKDU5tTXSZbvIM7O3sZHhP/XcLOrJNOn8yx2KCGbGPBovHjQ1etk0ETSSsTW7qtpJvYOE74GE3eH35qUr19MgXVJ5CatlwVIVE39U70Jm//v16C9pUYtUA3uXOgXK1xU1iD4zKr2dQTEa+E8pYk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(346002)(39860400002)(366004)(376002)(451199015)(2906002)(86362001)(31696002)(316002)(6506007)(83380400001)(186003)(110136005)(6666004)(6512007)(26005)(54906003)(6486002)(53546011)(478600001)(2616005)(8676002)(5660300002)(8936002)(41300700001)(66946007)(4326008)(66556008)(31686004)(66476007)(38100700002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dlpPZHB1cUhGcU51V3JlNENQYmdVQ1E4MW0vcXY2QnRreFhJQVdTc1R0SkVz?=
 =?utf-8?B?eDg0cjBjS1VvMTB0YlZQVVF3NjhkdEx4eXduU3dVRnRBMFZrY3M2VU1OSG9Z?=
 =?utf-8?B?ejQzRGVqdDdOQXJ3bUxxU2NKL0pmSWdQazNrcmVTNGNNQWVvNWZUaGJlOWUx?=
 =?utf-8?B?VDB1K1pVMjdpRVhRNTQ3MEhuaHpYQnF5aVNzUzhnNlBhWHdudmZibDlLMW5L?=
 =?utf-8?B?UXM5bm82aGptaWF6TkNBQXdEZVI5NTJYQ0tsVE1QQk5MY2x3empoS2tWV0NO?=
 =?utf-8?B?R0FUUHJUMHY2ZVNQTHd3ZnBWMVhjS2hONTIxOFg5NjMxdnVYeTg3YTBrYkVG?=
 =?utf-8?B?RUtaMUNLWk1lbVRqaVJMdUhqOFYrQ3F3dlFCSkZrQUFDeks2cnNHbVFKVTlU?=
 =?utf-8?B?VXdQY2JMZFJwcTFPd05IRTRDcTUvVEkzd2JWbW41SW50TTFtbnlBVnhJbEYv?=
 =?utf-8?B?STN2WHljTWg0U2RERDVYSnpPS3c0ZENEaDRiYTNFZjlVWnlIWExNYnFla1Zo?=
 =?utf-8?B?b3ZUT1B3alR3YWIyZmsreC90R1ZBQjhIM2pWendzbXlqdFAxTmZCNjdtL0lF?=
 =?utf-8?B?c3pNeng1NWlXKzI2K2ZrZFFuUEZwN3JEcXY2b0srTjRleitEYlBraVVqeU1M?=
 =?utf-8?B?d2hxM3o0SnpSMEd2N0IzNG5QOUJiQVdseHphNEtYODZKRGFNcUJ5a3hSb3VO?=
 =?utf-8?B?djFhN0h3NVNZVnJmNUY5YUJJcGF6dmEzOG9WNUdqL2ZMajF5QWs1YU5pb1pE?=
 =?utf-8?B?Y2ZheEpjTGdQVnlkSm5PZmNtSVFMTjA0aHA0Vy92ek0rdkhkNHlFK1dMV1N0?=
 =?utf-8?B?T0NjaTliZkVxb1JTbGJwNDBOZzJBbVF0R2cvZWpQREN0Z2ZHa2MzaU9YOVNM?=
 =?utf-8?B?THA3emdUQW45dEFkNjJPdmpVeEdwVVVOZndBeE1RcWM0Q3lNVDg0eE85R2Zj?=
 =?utf-8?B?eUNjS2theFlKUHFNdGFISXU3Y0VoVFhWTCtzQ0lvK25RdGVjS2NYa0NXSjZ0?=
 =?utf-8?B?VWVFaWRKQ1d2NHUzV2lVNXA4VEZDb0dTVWgzQmNRZDZub2dFYStwMFovZU9R?=
 =?utf-8?B?QlFhbzQ1RHhVTGZlOEZBTGJjNjBhUGVGdkxnVUFvaVhHSHhCbUNPWkJhNVZY?=
 =?utf-8?B?SmtleUJhaFJHQ0VSd1dIUlBMRHBBTTdMS2RraEZ1SVU1UzhmcXdCUXR5YjVM?=
 =?utf-8?B?Wlk4bGFCNi9lSWRkaEJMZXNlQXY2NHBmOTVkWEc3aC84aXZKQ0xHS2R3dVpC?=
 =?utf-8?B?VDk1UzkwQWJWK3Z4MmFNSWRLaVM4WHo0YkdoUU1nbWJlUDNuSDMxRkY0ZWdR?=
 =?utf-8?B?Y3R0OWlweFZ6d2ZtVUNuaG5lWTc2bXJBWWp3b0NaNU55OW9CSzNuMGpXbld0?=
 =?utf-8?B?MGQ5cm5NcjR3WTMrMCtsYnB1cFpOL3hZZXVLYmNFTVR4VGptV0l0N3ZBTEF4?=
 =?utf-8?B?bWxzSC90N0s3d3hxeUlyWllsaWYyTmpKUmE5NWlVQTdSNS9nZE5ucDhDOE1u?=
 =?utf-8?B?OVJid0tVcDVWR2hrSkNBUGwyYlhrSkVERzYySjB4cXZHcG5uMUZoaHZPb0ZL?=
 =?utf-8?B?cXFOYWoxWnhEellCUEFqbmRnWEs4OTVxcGxQREdVbzFEU3N4eWlOMkNGZ25s?=
 =?utf-8?B?SEk0S3dvQ3Ira0ZXdjJxUGpDQkdKNGRCZUc0ejgvdE81TWgzVmpsK3dtMGdy?=
 =?utf-8?B?dnJxM1hJVXJucTRiazdRUStvRjZXM2xYUENPaXBvMC95ckJsWms1Z2tJTkVi?=
 =?utf-8?B?S0R1a2ozUXpReGFvWDJtMW1aa21WUGpuZnZJMHZEOWU2MDVlczFXK2JRK0Y3?=
 =?utf-8?B?Q3hKSFFYb0IyQjQrK2J5ZWpyejd4eStSS1N3OEdwTHVlWCswaC96eGJTY21G?=
 =?utf-8?B?MFZuT3BSZTZQRzhYVFEyNmkraVNrRi81QWhTUGJHaWZiQmYxNGdiK29ITFBJ?=
 =?utf-8?B?b29nSkFVSWMyc0NYZDk0ZFpxR1hWUmxiSEI4L0NDeEJrUTZLcEJHWWVMSVgr?=
 =?utf-8?B?ZzNEVnVXSmREU3JRVGtXSGI5VGVTZk5sNiticnU1TDBNcHpZa3hXOFJGVXNp?=
 =?utf-8?B?SFBEN0VaV3FuN0NXcWU3ZlByY0haWTB0eC9jaTdqSjhmbnRnalhMSGxhVmRz?=
 =?utf-8?Q?pwQgTaa+FKg5YcOdB8xczgQo8?=
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 532ff27e-3be0-4623-e83e-08dad6a9f3ae
X-MS-Exchange-CrossTenant-AuthSource: PAXPR08MB7420.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 10:17:45.5302
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OMjRqI2Bm+pWtPGA+TuEuGdyOaPlBsV5PLMeAysMSS0+ZMGr6Gw4FVb1v0nvrEGRH/FQNcOTKDGh14NcPj+U8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9188

Hi Julien,

I thought I had replied to your email, but when I am checking to see if 
I have addressed all your comments, I didn't find my reply on the 
mailing list. Maybe there is something wrong with my mail system, I 
didn't find it sooner. Sorry about it. Hope my reply is not too late.


On 2022/11/10 2:24, Julien Grall wrote:
> 
> 
> On 09/11/2022 04:55, Wei Chen wrote:
>> Hi Julien,
> 
> Hi Wei,
> 
>>>
>>
>> We had considered to use Kconfig to define the start addresses of v8R64
>> platforms (prompt users to input the address). But we also want to 
>> provide
>> a default start address for each platform (Discussed in [1], header for
>> default value, Kconfig option for customized address).
> Why do you want to provide a default value? And how it is guaranteed 
> that it will work for most of the users?
> 
>>
>> We also had thought to use Kconfig to define a default start address
>> for each platform like what we had done for early printk in RFC[2].
>> But this method has been deprecated.
> 
> Most of the current Xen is board agnostic except the UART. We push back 
> the addition of new one because the address can be found in the firmware 
> table and I wanted to avoid increase the number of option (there are 
> dozens of platform out...).
> 
>>
>> So if we don’t use header files, just use the Kconfig, we can't
>> provide a default start address for platforms, and have to force users
>> to enter the start address.
> 
> I am not sure I see the problem to force the user to enter the start 
> address. My worry with per-platform default value is we end up to force 
> each vendor to provide an header in order to boot Xen.
> 
> I think it would be better to provide a config tailored for that 
> platform (whether it is part of Xen can be debatable). This would allow 
> a user to try a release Xen on their platform with zero changes in the 
> code.
> 

Above comments have been answered in my reply to you and Stefano.

>>>> diff --git a/xen/arch/arm/platforms/Kconfig
>>> b/xen/arch/arm/platforms/Kconfig
>>>> index c93a6b2756..0904793a0b 100644
>>>> --- a/xen/arch/arm/platforms/Kconfig
>>>> +++ b/xen/arch/arm/platforms/Kconfig
>>>> @@ -1,6 +1,7 @@
>>>>    choice
>>>>        prompt "Platform Support"
>>>>        default ALL_PLAT
>>>> +    default FVP_BASER if ARM_V8R
>>>
>>> Is there any reason to create a new Kconfig rather than using MPU?
>>>
>>
>> Did you mean FVP_BASER? If yes, we want to give each board a MACRO
>> to indicate its specific configurations. In current series, this MACRO
>> only be used for board specific start address.
> 
> See above for this.
> 

If we move board specific information to tailored config file, I think
we don't need FVP_BASER.

>>
>> If you meant Armv8R, that's because Armv8R does not equal to MPU.
> 
> I am not entirely sure to understand. Are you saying that an existing 
> Xen can boot on Armv8R?
> 

No, I didn't mean that. I just think we can't use only one MPU or one
ARM_V8R to cover all our changes in this series. For example, some
changes like new system registers are brought by Armv8R not the MPU.

Cheers,
Wei Chen




> Cheers,
> 


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 10:24:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 10:24:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453374.710986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p28e7-0001vc-6v; Mon, 05 Dec 2022 10:24:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453374.710986; Mon, 05 Dec 2022 10:24:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p28e7-0001vV-4K; Mon, 05 Dec 2022 10:24:23 +0000
Received: by outflank-mailman (input) for mailman id 453374;
 Mon, 05 Dec 2022 10:24:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p28e5-0001vP-VL
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 10:24:22 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa265c67-7486-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 11:24:19 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by SA0PR12MB4495.namprd12.prod.outlook.com (2603:10b6:806:70::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 10:24:14 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c%5]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 10:24:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa265c67-7486-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H9Eh1QXbqMN4E4hmigX5kBfBJvF8MtKAjxsSeT9cX96Lzl9BX9PAAzrTiquHjNxyWWzFxqU+KEnOOaoPeT52KVN+Cg6UHTPRx6+T2aB7l99c+lGVLnGLsfufB01pSCvZUgxehVwZAlvKQw36TQTOMPH5bm425DtBN8ybiqI7Gq61a4ypbVn5rgd4hxH8zJpHbZ6yDc53uM+GhCsrGsoNGWHTfYhwSeSqdCopB//M1nK+MW7ZEDRJfB2kvZ6GDWPQZZgLujJWgLagcYkoxIbUhwKCGOjsSwu913z8h32V4Skl0P28BzvJcgWI6eF4HnkZKPxcguWInZXJr8ZMo/mPAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mHNoaakouzx8u32UkQuVIFtw6w10PoPUrzk1jY4Jm5U=;
 b=L6H+ZsKv0WBohb9z3aIK4PVV61fWkm73qdXex9nB9ReHfplbzgQTTfIXiE2gXlLDn4r6L1fn7rrpNSAybwZXk9sPU06VQmg4jx7oxDdsSivoFUUD8FPch2cxoDVScFMd4g5lE4kHWt4tel+SppQP2VW30W4aQfmh/v65xqPEVek6FUMw8PFw5JuRxaUTj0tIvnp9RdXOLo/Q2hr7y3kvwB64K85HWQC0+Wyr6ALTibrzfH6REvtpG4PPHFITdWG4NoRfCnI+0aHtRz5Kjx3v4r1eobQdVQ/kzn3OGwGaVhOSsD/jSysYRlqR8nerWLiElISj8T3YYdalA69xYVmHpA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mHNoaakouzx8u32UkQuVIFtw6w10PoPUrzk1jY4Jm5U=;
 b=1xz/SmRFCGyBus7JUDb86280ADDkt0S59upHFnlcI6Le1HlbaAGEJdKWCZ43e52863WWO8lK0VrD/5qgOkWnae7I4KROpkv67HLbEzpJTudDAcSkaJFqg75Pu9P+EOd8FgodS8nm5QNL00VakV3r52PCNM5bTNfI46U9/XZOtc4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <24d54521-4136-62ca-67e8-e6408104b94e@amd.com>
Date: Mon, 5 Dec 2022 10:24:03 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.4.2
Subject: Re: [XEN v4 09/11] xen/Arm: GICv3: Define remaining GIC registers for
 AArch32
To: Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, julien@xen.org,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com, jgrall@amazon.com,
 burzalodowa@gmail.com
References: <20221128155649.31386-1-ayan.kumar.halder@amd.com>
 <20221128155649.31386-10-ayan.kumar.halder@amd.com>
 <4009fec8-4bd7-afe5-49d5-89deb4d132c4@amd.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <4009fec8-4bd7-afe5-49d5-89deb4d132c4@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0092.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:191::7) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|SA0PR12MB4495:EE_
X-MS-Office365-Filtering-Correlation-Id: d0756c04-b8f5-46da-f631-08dad6aada20
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TMg6ZeZhmA/Jy+QTtev7lr3AmyxX9HXldekP2T5Aj0bjFMy2iQh/T4IcIARoFxssj6fD3QubJSZvuXKFLDK+Ok8fhMq/x9lOZYfz1cuEzeXQBdMtHy8DTEXPtKWBzdGAgnOad7J0z7IKvyvPF+tlzrrI27ReAx1EsHZU8k6Ilx16KdCSAhFWDj5VhNKZBrWoDcKgowd0qvDISM5OP82u6BUm5L7PkfkZnmTHoUeNDGNn17YukuFdQ/B6u3PcCYLoZJ/4OY9cH4/yGBGSXLd7ORNi5ZemAuWf0xqCaEVPCa7nLCdTyKpZM/aKYfCaAmoR0GVlB3dP3ZZdv6O0u3GCB5ITIytZF8gcSmKb5JG0Q2FosDLh0CsuGDURapFR1njA9K45MM3wZC60dbhSGogAocv8RNN6eXHUAfCiEix4sVjHlW1Cb06jMe7xIotzRvw4ccmz/YKflTOUDGsaCTIeRtQXjApHQEx/CXQM1Y8Tk6CO/RlXFzupugxve0Piocp7peELbnGXGkFxQ3sRZ97+8srtXO9ZjFt88M6FPErryDmhfK11dKMMRyRjGvugp2abBJDFGLYvVurevK2T6KQQUEGukbAUIatnn4JAhWrxxse6UnntBa/LiyyWyU3Kh/O9ox5BKHArOe83IFOmIPTOTrGxn0svDp+tacBi93zjdZ7rNVQpy2xMA3QuMt+6b0S/CVZ680adg7qw6q2/RtMnn/GDGEaspNgewPNi1e/D5dw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(366004)(376002)(346002)(396003)(451199015)(36756003)(38100700002)(31696002)(5660300002)(2906002)(41300700001)(8936002)(4326008)(83380400001)(66946007)(66556008)(66476007)(478600001)(6486002)(316002)(2616005)(110136005)(31686004)(8676002)(6666004)(53546011)(186003)(6512007)(6506007)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aWF3L3ZyK1RuRjFudzBUYi9OVmZIMnJsZkx4Y1F2dC9GWHYrZjFKVStQUmFU?=
 =?utf-8?B?T3k2eS9sbkJGVWQ0QWdEUTZiRVNGZGZYZzN3REtKUm9tQWZxckxBaHFRLytO?=
 =?utf-8?B?bW5ta2EzV2ozbzhIdmtOTk5WN3E2dEZYMTBaK0JDNUR6TTJmQlBHendtVDBz?=
 =?utf-8?B?bDV5QU9FZGJ3WTU2N294TlhrL1puZFdzb3l4Sjk0MlhjZlZyeFNjVmNOQ2Js?=
 =?utf-8?B?U0cxalVtcW9aRUpZRDI5dzcxVkNKcHhMUjBvRjFrOFhqNEhUOElXSHRuRXFk?=
 =?utf-8?B?dHpFMWRWbFNqMjZRUUFmUkJNNEdIY2ppTUtBUDVzVEZjUC9zSkdwK2FKcnJQ?=
 =?utf-8?B?MjJnQ0Z6YUY2MFZ3L29JVXk3SFVmWlNOdUdEL09SMHA0a2owVktBTXpXZEc5?=
 =?utf-8?B?dUNXM0pTZFZQUUR5VUM2bkFLSTZkeFJRV3FVSWt2ZC8reEV1M2JWQ2hJUW44?=
 =?utf-8?B?OVFueXgxK3hpR25DRFBKb0dNRWk4eVVmcWE1RFZZRlF5Q0JyQktOS1d6dGpY?=
 =?utf-8?B?bHNLeEpnVEJZRURqVjNpSzVmOFE2a0F5K3lLTWVzZWJWT2RmZGVyK0JhQW5o?=
 =?utf-8?B?SE56Y3pXQm9RN3F1ZmNpaWROeU84a0ZIVXgvUzQ3L0pERmF5dzZicXNHc2k4?=
 =?utf-8?B?Q2h4T0lDbTREZGFHVXBweENWdlppMHlDbS90eDI1cTU1T2lQNnZydGV3Zm4r?=
 =?utf-8?B?VUpLNWZxc283ZitHT2E0eWozTE9TT0lkazNaRnpxZVpEVU9OakptMGNlMjVo?=
 =?utf-8?B?RkR4SzltTjJRTGROWUlYWjhLM1libExWdTE4QTFQb2Zhc0NZcm1leSttT1ht?=
 =?utf-8?B?OGJHcG5xMndLL2dndmw5aXk4U29DZTd4RGh6Mmg2enZyZ1lyQ2VNUWVST0tP?=
 =?utf-8?B?akRLWjN5UmtVbjZHTzAwdStKeCt4MllKZEsvdFFZRXlSeVhOQzRzV1YrZVBv?=
 =?utf-8?B?U1dBSWF5dFIwVTIyMDlpZ2xPY05vOHlRa1ZtMDlDTy8zall2aUpyeG9WSGVL?=
 =?utf-8?B?UTJQSW9NRVp2cVBYVFhtamNPbmZ4OU9mSHhKUEYvekMySmNSWnlDMjg2M21L?=
 =?utf-8?B?YThEM216OEpkZ29nMFpWS3hTcWpmb0k0Z3hGb2Y0RTEwSWkzL1l3UG1zQzda?=
 =?utf-8?B?eE5JblQ0MkhuQmVvSmRveHh3RVh4Yi8zazVSbk5yUU8yT1VrbG82Wkdxc01X?=
 =?utf-8?B?bGwvZjB4ZktuVFhhc2d6ckNuYUh6ajUwS2NpanNsbEpzTk4rMVF1NTZWaito?=
 =?utf-8?B?MVNXb1Q2UFhlV0licEpvQVc2cmJqbHFyU1FETnk5bC9EbDNHOUR6WkQzLzRP?=
 =?utf-8?B?S29HRnVHaVdTLzBKeUtmbmVsZ0NPdEJSVldXa1FlV3UzcmdPTzlkWFBvTzVk?=
 =?utf-8?B?aUJtb1M4MVpuSmlWQm5Bd2JaZlgxSnUzMVlpNklSUWRkajhLcmk1VWdBRnN2?=
 =?utf-8?B?eTd4TnB2MHB0amFHSEtuNUpZVE5sME03cGxNWjVWZXBwWjJZdGpzZnJsZGY5?=
 =?utf-8?B?Q2pBczF4Vjc2YjNIMzZLazUvUnhYMVhYbWwxS2tvWWJMU2tjbVZIODVYTk1x?=
 =?utf-8?B?NUxvcDVuK2lFam91T0Fxc0pXbjJoZHlzOWcyT0ZrUGhKQ0k3ZHdOSkVlT09K?=
 =?utf-8?B?ekNObDdTMWZoT1h6TFcvNENGanl4WEgvd0dpNUlYVWpGNjBUV2VGRXRQZ1Ra?=
 =?utf-8?B?SWNEMzUyUXFscXFaWjNpUUdmcWpIMkxtSFByRVpueCtsaDREZnBSTFNtZHpC?=
 =?utf-8?B?MENUdk9Rd3pwSHJkNUlZenV3Nlg4UXdXVE00cGd3YWZyN0FTUS9zU0p2RlNW?=
 =?utf-8?B?NkxCWEZlSmF5Z1VrYUozcm9qTXJPT252M2RKK2ZtRnI1RXJGZHdHR1E4bW1i?=
 =?utf-8?B?dm5pRExoQWZXcWNpbmphcmQrZnBkRXNKSWdmWjc5SloyQXQ5by9zRTdmQlR1?=
 =?utf-8?B?azIyTWhVVWczaVZuRmVhYXBzR0VJTWpMYXZNaXhvcFBWWFVNNXd4Q0cvNnNj?=
 =?utf-8?B?WmRDMzE1T1dyL2RtQjF3amtWWmlEWHZGRG5OUk5VWnNEUUhHOTA1NHdwUU5T?=
 =?utf-8?B?WXFZVlBtRnFGOUFvTVVzOGV6SXB4bGhJZGFrajhySUtKdXFITTRkbTdEdjRu?=
 =?utf-8?Q?FuLcKoXTYalHxcdmcYbvUxnx4?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0756c04-b8f5-46da-f631-08dad6aada20
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 10:24:12.1223
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: X5uF8D8w9s3sl+QhONeWyf7pacOMPdz+xbPbzxmVVBiFwbPqvFmjBM0npx+VhfEiVTwigp9pTXRYJcbvOo2VBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4495


On 29/11/2022 14:57, Michal Orzel wrote:
> Hi Ayan,
>
> On 28/11/2022 16:56, Ayan Kumar Halder wrote:
>> Define missing assembly aliases for GIC registers on arm32, taking the ones
>> defined already for arm64 as a base. Aliases are defined according to the
>> GIC Architecture Specification ARM IHI 0069H.
>>
>> Defined the following registers:-
>> 1. Interrupt Controller Interrupt Priority Mask Register
>> 2. Interrupt Controller System Register Enable register
>> 3. Interrupt Controller Deactivate Interrupt Register
>> 4. Interrupt Controller End Of Interrupt Register 1
>> 5. Interrupt Controller Interrupt Acknowledge Register 1
>> 6. Interrupt Controller Binary Point Register 1
>> 7. Interrupt Controller Control Register
>> 8. Interrupt Controller Interrupt Group 1 Enable register
>> 9. Interrupt Controller Maintenance Interrupt State Register
>> 10. Interrupt Controller End of Interrupt Status Register
>> 11. Interrupt Controller Empty List Register Status Register
>> 12. Interrupt Controller Virtual Machine Control Register
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> with one remark...
>
>> ---
>>
>> Changes from :-
>> v1 - 1. Moved coproc regs definition to asm/cpregs.h
>>
>> v2 - 1. Defined register alias.
>> 2. Style issues.
>> 3. Defined ELSR, MISR, EISR to make it consistent with AArch64.
>>
>> v3 - 1. Rectified some of the register names.
>>   
>>   xen/arch/arm/include/asm/cpregs.h | 32 +++++++++++++++++++++++++++++++
>>   1 file changed, 32 insertions(+)
>>
>> diff --git a/xen/arch/arm/include/asm/cpregs.h b/xen/arch/arm/include/asm/cpregs.h
>> index 53142fc2b2..8f4d097a15 100644
>> --- a/xen/arch/arm/include/asm/cpregs.h
>> +++ b/xen/arch/arm/include/asm/cpregs.h
>> @@ -163,6 +163,7 @@
>>   #define DACR            p15,0,c3,c0,0   /* Domain Access Control Register */
>>   
>>   /* CP15 CR4: */
>> +#define ICC_PMR         p15,0,c4,c6,0   /* Interrupt Priority Mask Register */
>>   
>>   /* CP15 CR5: Fault Status Registers */
>>   #define DFSR            p15,0,c5,c0,0   /* Data Fault Status Register */
>> @@ -256,6 +257,7 @@
>>   
>>   /* CP15 CR12:  */
>>   #define ICC_SGI1R       p15,0,c12       /* Interrupt Controller SGI Group 1 */
>> +#define ICC_DIR         p15,0,c12,c11,1 /* Interrupt Controller Deactivate Interrupt Register */
> Shouldn't ICC_DIR be placed after VBAR?

I have moved ICC_DIR after VBAR in my v5 patch.

Actually, this ordering is not very clear to me.

It defines the following ordering "Coprocessor-> CRn-> Opcode 1-> CRm-> 
Opcode 2"

So "p15, 0, c12 ...." should come before "p15,1,c12 ...".

However, if I see in the file for examples where "crm, opc2" is not 
present, the order does not seem to make sense.

For eg

#define TTBCR           p15,0,c2,c0,2   /* Translation Table Base 
Control Register */
#define TTBCR2          p15,0,c2,c0,3   /* Translation Table Base 
Control Register 2 */
#define TTBR0           p15,0,c2        /* Translation Table Base Reg. 0 */
#define TTBR1           p15,1,c2        /* Translation Table Base Reg. 1 */
#define HTTBR           p15,4,c2        /* Hyp. Translation Table Base 
Register */
#define TTBR0_32        p15,0,c2,c0,0   /* 32-bit access to TTBR0 */  
<<<------ does not seem in correct position , it should have been at the top
#define TTBR1_32        p15,0,c2,c0,1   /* 32-bit access to TTBR1 */ 
<<<------- does not seem in correct position , it should have been 
between TTBR0_32 and TTBCR

- Ayan

>
>>   #define ICC_ASGI1R      p15,1,c12       /* Interrupt Controller Alias SGI Group 1 Register */
>>   #define ICC_SGI0R       p15,2,c12       /* Interrupt Controller SGI Group 0 */
>>   #define VBAR            p15,0,c12,c0,0  /* Vector Base Address Register */
>> @@ -281,6 +283,20 @@
>>   #define ICH_AP1R2       __AP1Rx(2)
>>   #define ICH_AP1R3       __AP1Rx(3)
>>   
>> +#define ICC_IAR1        p15,0,c12,c12,0  /* Interrupt Controller Interrupt Acknowledge Register 1 */
>> +#define ICC_EOIR1       p15,0,c12,c12,1  /* Interrupt Controller End Of Interrupt Register 1 */
>> +#define ICC_BPR1        p15,0,c12,c12,3  /* Interrupt Controller Binary Point Register 1 */
>> +#define ICC_CTLR        p15,0,c12,c12,4  /* Interrupt Controller Control Register */
>> +#define ICC_SRE         p15,0,c12,c12,5  /* Interrupt Controller System Register Enable register */
>> +#define ICC_IGRPEN1     p15,0,c12,c12,7  /* Interrupt Controller Interrupt Group 1 Enable register */
>> +#define ICC_HSRE        p15,4,c12,c9,5   /* Interrupt Controller Hyp System Register Enable register */
>> +#define ICH_HCR         p15,4,c12,c11,0  /* Interrupt Controller Hyp Control Register */
>> +#define ICH_VTR         p15,4,c12,c11,1  /* Interrupt Controller VGIC Type Register */
>> +#define ICH_MISR        p15,4,c12,c11,2  /* Interrupt Controller Maintenance Interrupt State Register */
>> +#define ICH_EISR        p15,4,c12,c11,3  /* Interrupt Controller End of Interrupt Status Register */
>> +#define ICH_ELRSR       p15,4,c12,c11,5  /* Interrupt Controller Empty List Register Status Register */
>> +#define ICH_VMCR        p15,4,c12,c11,7  /* Interrupt Controller Virtual Machine Control Register */
>> +
>>   /* CP15 CR12: Interrupt Controller List Registers, n = 0 - 15 */
>>   #define __LR0(x)        ___CP32(p15, 4, c12, c12, x)
>>   #define __LR8(x)        ___CP32(p15, 4, c12, c13, x)
>> @@ -381,6 +397,15 @@
>>   #define HCR_EL2                 HCR
>>   #define HPFAR_EL2               HPFAR
>>   #define HSTR_EL2                HSTR
>> +#define ICC_BPR1_EL1            ICC_BPR1
>> +#define ICC_CTLR_EL1            ICC_CTLR
>> +#define ICC_DIR_EL1             ICC_DIR
>> +#define ICC_EOIR1_EL1           ICC_EOIR1
>> +#define ICC_IGRPEN1_EL1         ICC_IGRPEN1
>> +#define ICC_PMR_EL1             ICC_PMR
>> +#define ICC_SGI1R_EL1           ICC_SGI1R
>> +#define ICC_SRE_EL1             ICC_SRE
>> +#define ICC_SRE_EL2             ICC_HSRE
>>   #define ICH_AP0R0_EL2           ICH_AP0R0
>>   #define ICH_AP0R1_EL2           ICH_AP0R1
>>   #define ICH_AP0R2_EL2           ICH_AP0R2
>> @@ -389,6 +414,10 @@
>>   #define ICH_AP1R1_EL2           ICH_AP1R1
>>   #define ICH_AP1R2_EL2           ICH_AP1R2
>>   #define ICH_AP1R3_EL2           ICH_AP1R3
>> +#define ICH_EISR_EL2            ICH_EISR
>> +#define ICH_ELRSR_EL2           ICH_ELRSR
>> +#define ICH_HCR_EL2             ICH_HCR
>> +#define ICC_IAR1_EL1            ICC_IAR1
>>   #define ICH_LR0_EL2             ICH_LR0
>>   #define ICH_LR1_EL2             ICH_LR1
>>   #define ICH_LR2_EL2             ICH_LR2
>> @@ -421,6 +450,9 @@
>>   #define ICH_LRC13_EL2           ICH_LRC13
>>   #define ICH_LRC14_EL2           ICH_LRC14
>>   #define ICH_LRC15_EL2           ICH_LRC15
>> +#define ICH_MISR_EL2            ICH_MISR
>> +#define ICH_VMCR_EL2            ICH_VMCR
>> +#define ICH_VTR_EL2             ICH_VTR
>>   #define ID_AFR0_EL1             ID_AFR0
>>   #define ID_DFR0_EL1             ID_DFR0
>>   #define ID_DFR1_EL1             ID_DFR1
> ~Michal


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 10:57:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 10:57:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453404.711006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29A8-0006ku-U0; Mon, 05 Dec 2022 10:57:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453404.711006; Mon, 05 Dec 2022 10:57:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29A8-0006kn-Q9; Mon, 05 Dec 2022 10:57:28 +0000
Received: by outflank-mailman (input) for mailman id 453404;
 Mon, 05 Dec 2022 10:57:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2Zgi=4D=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p29A6-0006kh-Ot
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 10:57:27 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0604.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99a26dcf-748b-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 11:57:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9668.eurprd04.prod.outlook.com (2603:10a6:102:243::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Mon, 5 Dec
 2022 10:57:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 10:57:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99a26dcf-748b-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RjhA/BSUP/kQ/J43019U+mXMnXoNavJeZm00b9f+yLyX1RQsUsOTjh0wg+YLxpprDcVUW2qXJE48L7Riv2Ira/e2JV0KURqAxqI3a53HbWKd44Mg5yIZ+a4vCIxYPh3rwDQVfNEgqs37BcNW8TKx1UMAROiTHGaBsCXOln3mjrRaAvk6vz0j29374Oig4ENB9lC2rwwynA6CsoShKzBURT/27mBC0Fnl2FXqA1Zth/F/PxiXYcdWNgynCXHmXcav3gKNqoZ6MIbS9fZJAsMNHLwGTOtWc2YiQvE00EMgrF65X92XSC2pY7o/sUFA/q2KZQHLKPGU5U+taFC0EtdD1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uv9FYJlS2bgx1NUhzCCEjG4x/8BVZY4I/aG6TUPqcg0=;
 b=d1o706JQ0Pc8thXJysr3urDBNIJ1GiRRdO+XOLho+YLGcwgc3sdK/Wz5ynKv+wr4F68yJLPK+ynrcKO5V53u72O3dFLNMF5D5Bb9qNLH0V962/b9OMEnaD46Z69hKvFF9I0A24FqHcaXH10IF0N/YtlhFib734xlRBz/iw6625SWT9u+U/wy9I+UlkxqDh9g6O6gU7qGeixVFvg+dtcm9EX+m7IAwDGrPHetVtBqBgZRNe//Y0MxS94UnZvDLnjMTsokD0+iOl8HfEstXtq9w2zQuFIyFgwvYLxKov4MZxfJVx9bX86PuDNKD1+z5I4KTQhgMyp0836CMsbzQY5h6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uv9FYJlS2bgx1NUhzCCEjG4x/8BVZY4I/aG6TUPqcg0=;
 b=K/4VbMjS5gqRYpCvjtzyfZUQVMgZQUSrYjFP1d3UqBmtBFJV3qJmx+Ahkd5WEAFjPrYVXk6/uZWzKtNeMIA8PcnhY+F0JNyqToHcLSWkKn2jvF3MpGUBNaghp7oO48zkCr8Vlw1Tb8YlbW++fIfiVTUBId67vPm0NNm6VvbsVGHCWIdCIvbg0waObtfFvV6csGLF64kERkAKPqwsYzQCRrpat83YwsAfMRRT8FrMneXR3CMZZI5ribyOZVekO9x/nRIqmjugN8JKTgbpgngHaSjWouQ+U1k2FYvf3STkLSJ4dmYZ/0O2TgQlqE4tULj7NNosk/Z3C4Vvn99cawstQg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f634b7a6-4082-e780-7bc8-08a806a04e30@suse.com>
Date: Mon, 5 Dec 2022 11:57:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 1/2] Reduce hard-coding of PAT value
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <a7d3fc3dfe6fb8dfb75c7b35a78a299bee9685f9.1670172466.git.demi@invisiblethingslab.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a7d3fc3dfe6fb8dfb75c7b35a78a299bee9685f9.1670172466.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0119.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9668:EE_
X-MS-Office365-Filtering-Correlation-Id: ae28ca66-84e1-4aa4-a957-08dad6af7c85
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1CKfDfXhiXx8sY5Qwbx/opNkYFH3MJzNHfL7mOmbXGlfPTHNtQVTRZmlUKpKRf7mhHt0E1PNI71Y4QK2F37tdOdoG+uyQF7wtx5sOehXFDX7ul011huwYjdj+9E2teq6q4PDe0RsZtsuHai5GCmAirxHh+5YFV/VyrcoOV3MsRd+zFzZfY3YCBGEcygmjFJahQbCIIBR+bf7shPvGG79IcUwni+gsDgKNYstBQiB6voKe8eNaUuogIiOJ9nOjIwC0J1KkBiaOFyu0mx1wwgQZABHmav3MzTibw2No8+bn8bm56mv7p1rIo6Y9Nabr4QGnOIwGAhvNWTfdu7sJd2W07xbW3YPj9bVB7xmRvNnfM1fsFArLKM9Xfjj7Lid2Q22LcOzzUle+rE+z50/uaNIA38X+h6Ecsk8mNJ6+Yq1tglCvTrsZakojJncCbk021ELeUbxbbJqQ04dJwrYW7DB0XKq1sAeZRqaUaYWsxxRkuX82FzgbdkNz6ey65HtVgTqaQyTQ4iUSNS2CsOlxWvQK2Q/MgJ/+xjgHPtFZWdlIeODGlyYsZYcRT6ozBKtBAOw4Digm75ic4V3INtzpPLqSSPJ4lD1l7fAvoSgIu4rlhBeh/RAKW5BlJja8FHHTc1GfveSjLGF4Y/jFBSDfUn6dVXm0dsv6klu3Xxu1Be5fAU+JlQGs2XDFnU45EJSiCpfnS2fGBVhUcQa3t8D2IX+xA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(39860400002)(136003)(376002)(366004)(396003)(451199015)(36756003)(186003)(316002)(6506007)(53546011)(6512007)(26005)(6486002)(6916009)(54906003)(2906002)(31696002)(86362001)(66556008)(66476007)(31686004)(38100700002)(4326008)(8676002)(66946007)(41300700001)(2616005)(478600001)(5660300002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eCtSUVpkSWRGUnNKS3p0SGJQcFB2UWVtMnhtNkhvMGRMMTNHczRDSm9oSEwx?=
 =?utf-8?B?eURGNyswdUZYUDFxQStZeExiTXE0U2pHbkxHR0xsTURyNUJzYVE0OTRKN1hW?=
 =?utf-8?B?blRFWmtZTm8vVkRZN0JBVzVTU1FYZGJoT1QzTEpubndYeVpDNmIybVlZTU1Z?=
 =?utf-8?B?d0xRY1hxTlNnTDU4QU5NdDN2b2dHc1JrUXY3VHdpdEswZjArZDVOcUV5dVRh?=
 =?utf-8?B?dmRJOC9ZT3hFYWlHSDRKaUlyRkwybFF0NGZ0SnF2UHN1TVcwai93OWVrM2V0?=
 =?utf-8?B?N1lnZEZxa2dyeDZKYXlTRG1oeUo3YjJmcCtRQk14Y3IrNGY5TXRONVk2eVBX?=
 =?utf-8?B?U0VEV0ticGJKblVBNGNQYWlEaGFkNUFUdW4wSkV5THlPTTVYTXUxbXYzTzRV?=
 =?utf-8?B?UDIrWGRQL0s0bnRCd0E2T0VzWlZEcHRpdnE2dEhxYnFHek9VT2hEQThqeUdG?=
 =?utf-8?B?bUVocUhBdW8yQ1VFaVFza296YkNsMzF1TDdkSGhzYkdQVS9xWUl2OEVxTzZ2?=
 =?utf-8?B?TzFPd1EzUmljR1k1M1NSV0cxY1c5VzVIZFBabXcrZWdMdFVjWmwxNStZcTc2?=
 =?utf-8?B?cFdsam12d0pJa2djVXNCVm1yNnMwVno2emdxL2thZmxqYlZYQVZuMmh2YXJE?=
 =?utf-8?B?Q2lwMUhYc25nNktHTGF0VVhqYXNpc1pMS016d2ZJS3o3cVI2NlhLWlRqV0xz?=
 =?utf-8?B?STNXY3NLc243TE5KUTdZRnc1aGd2dkhPNWRNVzl5bGpxOXNUdTBNMVBreEhG?=
 =?utf-8?B?SmRROWNWZTd0UHpzSUVHeFkvY3p5cktQM0hiaFBITDFxWGZTRkpmSHByeHF1?=
 =?utf-8?B?VjVLU2RQdGl3NXEyRkRoNmoyWHNCWE9vdmd0MG4vVittaGdPZGV4LzlBaldF?=
 =?utf-8?B?WURZTkFwNDlNdCtpUExZS0ZZQVVkWjk5eVp4ZEhhejdjMnlaMVhiT0s1dTEz?=
 =?utf-8?B?aFVoL2VuTHlyMHhzUmFYek1QUWdITU5keGlFNHliM2cwMEkrb2FBNFoyU1Zi?=
 =?utf-8?B?RWNzenMrdm83bGNsL24zVlFPTUUraG1ncysyMlZFazJJSHpMc2o2NTl1dXU0?=
 =?utf-8?B?WEZSa3ZDWEZGSU54eWZaQVJJUVFmaXJPUlgyLzdybGZ6Sm4yMkw4ajVVa0p5?=
 =?utf-8?B?dmZHMktTbWNITXZsaUtLS1cybVFMd1gwZU14NlBLc2N1d3BKZEloQjdnOVJX?=
 =?utf-8?B?M2RHaFlmWU1kZlJBZjN0K2VIYWl2cnhjMUlrL2ZEUmE4ME1VTkYyblo5b0Rw?=
 =?utf-8?B?WHIwVjcxcVRjdUVxMDZLLy83MndGS1JTSUhZUG4wZXN4NlJZdGZEM2cyMDR3?=
 =?utf-8?B?cmVEZS8vTks0TWkyUDU5RE43UnByMWl4eTNBN1l2NGwvTWJCTzFFNVZIdUxh?=
 =?utf-8?B?NUJMWXh2MHZzK0JxOUZjUjVRaXI3clgrQTBja1VaUVc0RXhSblhud0ZqVjdo?=
 =?utf-8?B?clRQT0p2ZzJMYjBXMWw4SCtCaFlMa01IRmJQTVRLQjQyQ3RidWphTmtSZGN4?=
 =?utf-8?B?Q01JT1YrRGxpbXcyQ3pYbDFhSEVIWkV3d1lXVDJ6WDNjczZwZWhQT3QrNW5s?=
 =?utf-8?B?cVUxdkRrMytqdFRDZ1FUNm5SK0ZJLzExVSt3VklrREZHVW1JbEJ6TDdIWlNp?=
 =?utf-8?B?eEU5K0NPc1BvajU3NGpwZ2RYNmlmWm9DKy9kWEtoaE9Ob3FGaTJBTHV3ZVcx?=
 =?utf-8?B?SGgyMnhIYUNRQmdIN2ZnblgrTnlwdFphMHg4WTVjZ2hCV2FidnlSTmtTM3JV?=
 =?utf-8?B?QTVCaHFSZkNLQk5nc2JyWXRwMVZUM3NjeHhSV2huUzdLaFQwWjJwOWZKemVv?=
 =?utf-8?B?VUtKNFZPWXRvZUlZME83bnQzaDQwcVE2czVXRHB5dGdqYVhPQ21hT2dycjk2?=
 =?utf-8?B?ek96WXJKNlQzV2NxdjlNbDRMRzJUTWIxdS9lTUROYUFKY2xRVWdBVnJpQ2t6?=
 =?utf-8?B?dnMyUFZ6V3N4REwrYUp4My9LRC8zSW5Id3RJVjB4MGtFV2JFaTVsTS9VVGlM?=
 =?utf-8?B?c2h0RERkM2d2ZEdMcEJQSzJYLzF2bXRSTG9aMGZiQS96cDlKOUMzbTVBOUZG?=
 =?utf-8?B?ZWZxWUNJQm45U2VRNUtzRlRoTnoxaXAvejNpSzhiWEdHelhMVmJYTkFRQkIz?=
 =?utf-8?Q?PIfzeCUmjGhFUM2ZBSl35Orgv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae28ca66-84e1-4aa4-a957-08dad6af7c85
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 10:57:22.5601
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CCKe0dnUkXu8zryY9lQLWV7KU1jYooXbG6y1SfdqGz8QLlQawY3LDmHn3Jg3zjmoSNGQMzc4inF33nlYE5g9HQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9668

On 04.12.2022 18:13, Demi Marie Obenour wrote:
> This makes the code easier to read and more robust against any future
> changes to this value.  No change in behavior (modulo bugs).
> 
> To: Xen developer discussion <xen-devel@lists.xenproject.org>

Looks like you mean to send this to the list, but you actually sent it
to yourself according to my mail UI. Cc-ing the list now.

> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -961,13 +961,10 @@ get_page_from_l1e(
>  
>          switch ( l1f & PAGE_CACHE_ATTRS )
>          {
> -        case 0: /* WB */
> -            flip |= _PAGE_PWT | _PAGE_PCD;
> -            break;
> -        case _PAGE_PWT: /* WT */
> -        case _PAGE_PWT | _PAGE_PAT: /* WP */
> -            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
> -            break;
> +        case _PAGE_WB: /* WB */
> +        case _PAGE_WT: /* WT */
> +        case _PAGE_WP: /* WP */

The comments are now redundant and should hence be dropped, to improve
readability.

> --- a/xen/arch/x86/mm/shadow/multi.c
> +++ b/xen/arch/x86/mm/shadow/multi.c
> @@ -535,7 +535,7 @@ _sh_propagate(struct vcpu *v,
>      if ( guest_nx_enabled(v) )
>          pass_thru_flags |= _PAGE_NX_BIT;
>      if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
> -        pass_thru_flags |= _PAGE_PAT | _PAGE_PCD | _PAGE_PWT;
> +        pass_thru_flags |= PAGE_CACHE_ATTRS;

Personally I think the switch to using PAGE_CACHE_ATTRS (here and
elsewhere) would benefit from being a separate change.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 11:02:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 11:02:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453419.711017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29FA-0000X3-Jk; Mon, 05 Dec 2022 11:02:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453419.711017; Mon, 05 Dec 2022 11:02:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29FA-0000Ww-FR; Mon, 05 Dec 2022 11:02:40 +0000
Received: by outflank-mailman (input) for mailman id 453419;
 Mon, 05 Dec 2022 11:02:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p29F9-0000Wq-El
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 11:02:39 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p29F9-0004Z0-5i; Mon, 05 Dec 2022 11:02:39 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[192.168.30.208]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p29F8-0005tg-Vn; Mon, 05 Dec 2022 11:02:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=j3pR6XKEWQzmiMb8Y41MiRS5lF1Iui2G+SYP3J4AxKw=; b=ZcyFuivzirA7edbXcbc7NVc30z
	At9nf3DNzGjR6PbAR8t/wROgheoqx926KI67wt7lxSaKNzbkvrFc0LYz0NK9T5nb/odo8oPdPgj5Y
	ndFZWSDbpj2fFMhpqG8k+fGG37TtgCbtj6+po208yYNtSZCowcBMWJMv5reqr/lmQlb8=;
Message-ID: <44779d4c-9d36-2989-1ee5-c245e9add9a3@xen.org>
Date: Mon, 5 Dec 2022 11:02:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v6 05/11] xen/arm: define Xen start address for FVP BaseR
 platform
Content-Language: en-US
To: Wei Chen <Wei.Chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: nd <nd@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jiamei Xie <Jiamei.Xie@arm.com>
References: <20221104100741.2176307-1-wei.chen@arm.com>
 <20221104100741.2176307-6-wei.chen@arm.com>
 <0ffe8a4d-7caf-89af-d189-a872b6b4f0fa@xen.org>
 <PAXPR08MB7420A3A20199F477622EB7099E3E9@PAXPR08MB7420.eurprd08.prod.outlook.com>
 <e2a1233c-c001-9553-7abe-de97e96a650e@xen.org>
 <b3240b30-39c7-d4b2-eb92-167a1a81c6ad@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <b3240b30-39c7-d4b2-eb92-167a1a81c6ad@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 05/12/2022 10:17, Wei Chen wrote:
> On 2022/11/10 2:24, Julien Grall wrote:
> diff --git a/xen/arch/arm/platforms/Kconfig
>>>> b/xen/arch/arm/platforms/Kconfig
>>>>> index c93a6b2756..0904793a0b 100644
>>>>> --- a/xen/arch/arm/platforms/Kconfig
>>>>> +++ b/xen/arch/arm/platforms/Kconfig
>>>>> @@ -1,6 +1,7 @@
>>>>>    choice
>>>>>        prompt "Platform Support"
>>>>>        default ALL_PLAT
>>>>> +    default FVP_BASER if ARM_V8R
>>>>
>>>> Is there any reason to create a new Kconfig rather than using MPU?
>>>>
>>>
>>> Did you mean FVP_BASER? If yes, we want to give each board a MACRO
>>> to indicate its specific configurations. In current series, this MACRO
>>> only be used for board specific start address.
>>
>> See above for this.
>>
> 
> If we move board specific information to tailored config file, I think
> we don't need FVP_BASER.
> 
>>>
>>> If you meant Armv8R, that's because Armv8R does not equal to MPU.
>>
>> I am not entirely sure to understand. Are you saying that an existing 
>> Xen can boot on Armv8R?
>>
> 
> No, I didn't mean that. I just think we can't use only one MPU or one
> ARM_V8R to cover all our changes in this series. For example, some
> changes like new system registers are brought by Armv8R not the MPU.

I understand the theory. But in practice this needs to be a balance 
between finer grain and too much Kconfig.

 From this series alone, it doesn't seem to be make sense to introduce 
the two. Furthermore, I am not entirely sure you will be able to make 
the MPU work without enable the ARMv8-R Kconfig.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 11:02:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 11:02:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453417.711028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29FQ-0000rd-QN; Mon, 05 Dec 2022 11:02:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453417.711028; Mon, 05 Dec 2022 11:02:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29FQ-0000rT-Nb; Mon, 05 Dec 2022 11:02:56 +0000
Received: by outflank-mailman (input) for mailman id 453417;
 Mon, 05 Dec 2022 11:02:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/ZPr=4D=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p29Ed-0000W9-5w
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 11:02:07 +0000
Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com
 [2a00:1450:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 417e48a6-748c-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 12:02:06 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id qk9so9083567ejc.3
 for <xen-devel@lists.xenproject.org>; Mon, 05 Dec 2022 03:02:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 417e48a6-748c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=BEvzQObdwllKYzf1rM0gn5NgqqBSYsrZXBQG4nClVRg=;
        b=Henub+u71ZoilZJfObgvjoWnQZE/h5gVGeWW0mU+OWNgAEYdvO5kJDePgUEoUcD76r
         VHsYDHgW8cTwaa0obT8vpJk+3G1FZeXg0GNxu7IoV9ivld3W+CrwZAL9bQ3p8j7H7CMs
         Id0mnOS1b0vXAIyIEBN+pStduBH/OjTRkNEqE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=BEvzQObdwllKYzf1rM0gn5NgqqBSYsrZXBQG4nClVRg=;
        b=dYSZYffjzbcduDZJOg1yJCjhT1YTUPwmcwI78eq4dE6IBZwtEcrruw7gsdkKCFmy/5
         5G2XtHKm1ahS/DxfjPytgIe/SNd6vCdt+8vzErkbVv0YziOVXSa3u8zeuFXo8dUoz+oO
         zPx39bM8+0qKyWdYMoUS0tC4aU1bAgJsTPYJ7sNzTUTYzm0h2nDY2H0wyuoXg2JiiYlJ
         tjwEXk4i8d8HNk80VXPobJOa7RxGg6EnkfEhSbFT2Lrxb2jurPHp46Ib0FJpT45b1xKL
         1vO+k+u0FPUFAUfDQBw/NVRU5Ssx+Ccovdh83GWWbiidSPOHmRitGLYIBSUNgIC2Nzz/
         fpnw==
X-Gm-Message-State: ANoB5plFr4MNvekNfuK7rmpUiP1TTOp15z2x5xSkqVPVMPb+1x106HPV
	+PaBIsZupTX2wHfXOG24pOTJiUMZmR/Uh/jbtdNu9jJqG9g/Iw==
X-Google-Smtp-Source: AA0mqf6PzWGm9WW7vcnADJSVzftDJAZHPVoa+o3w71Z1tlQt1jikCvfz/G46wFAsRzSEregII96NrdMS2EYMgPfC/mQ=
X-Received: by 2002:a17:906:7f16:b0:7c0:f2cf:8e09 with SMTP id
 d22-20020a1709067f1600b007c0f2cf8e09mr3583924ejr.257.1670238125623; Mon, 05
 Dec 2022 03:02:05 -0800 (PST)
MIME-Version: 1.0
References: <a7d3fc3dfe6fb8dfb75c7b35a78a299bee9685f9.1670172466.git.demi@invisiblethingslab.com>
In-Reply-To: <a7d3fc3dfe6fb8dfb75c7b35a78a299bee9685f9.1670172466.git.demi@invisiblethingslab.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 5 Dec 2022 11:01:54 +0000
Message-ID: <CA+zSX=bKN3cqCMKzR+5Xp9LOUw=38VzTp4BoN1-Qmn0-dZ7Zyg@mail.gmail.com>
Subject: Re: [PATCH 1/2] Reduce hard-coding of PAT value
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Type: multipart/alternative; boundary="0000000000002b316905ef129ed0"

--0000000000002b316905ef129ed0
Content-Type: text/plain; charset="UTF-8"

On Sun, Dec 4, 2022 at 5:14 PM Demi Marie Obenour <
demi@invisiblethingslab.com> wrote:

> This makes the code easier to read and more robust against any future
> changes to this value.  No change in behavior (modulo bugs).
>

Minor tweak: We generally say something like "No functional change
intended."  No need to respin just for this, but handy to keep in your
back pocket for future patches.

 -George

--0000000000002b316905ef129ed0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Sun, Dec 4, 2022 at 5:14 PM Demi M=
arie Obenour &lt;<a href=3D"mailto:demi@invisiblethingslab.com">demi@invisi=
blethingslab.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" =
style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);pa=
dding-left:1ex">This makes the code easier to read and more robust against =
any future<br>
changes to this value.=C2=A0 No change in behavior (modulo bugs).<br></bloc=
kquote><div><br></div><div>Minor tweak: We generally say something like &qu=
ot;No functional change intended.&quot;=C2=A0 No need to respin just for th=
is, but handy to keep in your back=C2=A0pocket for future patches.</div><di=
v><br></div><div>=C2=A0-George</div></div></div>

--0000000000002b316905ef129ed0--


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 11:16:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 11:16:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453433.711039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29Su-0003A2-0W; Mon, 05 Dec 2022 11:16:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453433.711039; Mon, 05 Dec 2022 11:16:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29St-00039v-To; Mon, 05 Dec 2022 11:16:51 +0000
Received: by outflank-mailman (input) for mailman id 453433;
 Mon, 05 Dec 2022 11:16:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p29Ss-00039p-FP
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 11:16:50 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p29Sl-0004xL-2r; Mon, 05 Dec 2022 11:16:43 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[192.168.30.208]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p29Sk-0006Sx-S3; Mon, 05 Dec 2022 11:16:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=QNVnad72U7xzKCA0asYb6mqx0ml/GyneFyBQtTBDxek=; b=XIO7qipqKH4MrPLAvwcwhwF38M
	C1CYpiBXdpEiwBB1Z6zY+4b4vJxGxZIn+e9vXcqzJ28ZsAuJUnhr+XET0DTApQJ+o+tfciWaCcB0M
	ADZlGQ6RRwfqXWR3Fsf/CXWYuGe0MH1Gufqw0TqX21hcukM1SzNEx2d4h1i4HtIZ7Zvo=;
Message-ID: <e68c068c-d648-7915-8709-0367d7f0c48f@xen.org>
Date: Mon, 5 Dec 2022 11:16:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v2] process/release-technician-checklist: Explain how the
 banner in README is generated
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221124190850.35344-1-julien@xen.org>
 <6819d05e-d1ab-fc3e-7795-bac650df3bc4@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <6819d05e-d1ab-fc3e-7795-bac650df3bc4@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 25/11/2022 09:17, Jan Beulich wrote:
> On 24.11.2022 20:08, Julien Grall wrote:
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Explain how the banner in README is generated and take the opportunity
>> to mention what it should look like for RC.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> albeit with a couple of nits:
> 
>> --- a/docs/process/release-technician-checklist.txt
>> +++ b/docs/process/release-technician-checklist.txt
>> @@ -48,7 +48,12 @@ t=RELEASE-$r
>>   
>>   * consider bumping sonames of shlibs
>>   
>> -* change xen-unstable README (should say "Xen 4.5" in releases and on stable branches, "Xen 4.5-unstable" on unstable)
>> +* change xen-unstable README. Should say:
>> +    - "Xen 4.5" in releases and on stable branches
>> +    - "Xen 4.5-unstable" on unstable
>> +    - "Xen 4.5-rc" for release candidate
>> +
>> +*   The banner is generated using figlet
>>   * change xen-unstable Config.mk
> 
> Perhaps insert another blank line between these two bullet points?
> Or, if they're deemed to belong together, remove the one you insert?

I will add another blank line.

> 
> The new bullet point you add also would likely want to match the
> others in style, both for the number of spaces after * and for not
> using a capital first letter (maybe "generate banner using figlet").

Sure. I will address them before committing.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 11:19:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 11:19:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453439.711051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29Vr-0003jj-G0; Mon, 05 Dec 2022 11:19:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453439.711051; Mon, 05 Dec 2022 11:19:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29Vr-0003jc-BM; Mon, 05 Dec 2022 11:19:55 +0000
Received: by outflank-mailman (input) for mailman id 453439;
 Mon, 05 Dec 2022 11:19:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p29Vq-0003jW-4M
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 11:19:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p29Vn-000516-E3; Mon, 05 Dec 2022 11:19:51 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[192.168.30.208]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p29Vn-0006WA-78; Mon, 05 Dec 2022 11:19:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=m4VFTsdZASr+KQyTVf+essBJg3ZDRMe+zqjDr1ercHM=; b=Jo5omRlAZmT7e5HiaREkf2Lv0x
	Vawc8C7XalpuoHqn+3URwNxKU6FSAfwi2c4/hdSSDyFi8xoRSyamMGFmVa3Zg12Kn2GxLTz2BhzJQ
	JytBT1AE4hBY4UeG7AZG+EG/Gg9u5HWa56SCvh50A/uDoTfgOPWq4sPQTXbwDvbLjVj4=;
Message-ID: <47760c77-f9d0-31bf-445c-63d4f5fec37d@xen.org>
Date: Mon, 5 Dec 2022 11:19:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v2] process/release-technician-checklist: Explain how the
 banner in README is generated
Content-Language: en-US
From: Julien Grall <julien@xen.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221124190850.35344-1-julien@xen.org>
 <6819d05e-d1ab-fc3e-7795-bac650df3bc4@suse.com>
 <e68c068c-d648-7915-8709-0367d7f0c48f@xen.org>
In-Reply-To: <e68c068c-d648-7915-8709-0367d7f0c48f@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 05/12/2022 11:16, Julien Grall wrote:
> Hi Jan,
> 
> On 25/11/2022 09:17, Jan Beulich wrote:
>> On 24.11.2022 20:08, Julien Grall wrote:
>>> From: Julien Grall <jgrall@amazon.com>
>>>
>>> Explain how the banner in README is generated and take the opportunity
>>> to mention what it should look like for RC.
>>>
>>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
>> albeit with a couple of nits:
>>
>>> --- a/docs/process/release-technician-checklist.txt
>>> +++ b/docs/process/release-technician-checklist.txt
>>> @@ -48,7 +48,12 @@ t=RELEASE-$r
>>>   * consider bumping sonames of shlibs
>>> -* change xen-unstable README (should say "Xen 4.5" in releases and 
>>> on stable branches, "Xen 4.5-unstable" on unstable)
>>> +* change xen-unstable README. Should say:
>>> +    - "Xen 4.5" in releases and on stable branches
>>> +    - "Xen 4.5-unstable" on unstable
>>> +    - "Xen 4.5-rc" for release candidate
>>> +
>>> +*   The banner is generated using figlet
>>>   * change xen-unstable Config.mk
>>
>> Perhaps insert another blank line between these two bullet points?
>> Or, if they're deemed to belong together, remove the one you insert?
> 
> I will add another blank line.
> 
>>
>> The new bullet point you add also would likely want to match the
>> others in style, both for the number of spaces after * and for not
>> using a capital first letter (maybe "generate banner using figlet").
> 
> Sure. I will address them before committing.

I had another look and went with the following:

+* change xen-unstable README. The banner (generated using figlet) 
should say:
+    - "Xen 4.5" in releases and on stable branches
+    - "Xen 4.5-unstable" on unstable
+    - "Xen 4.5-rc" for release candidate
+

So only one bullet point and using () to explain how the banner is 
generated.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 11:22:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 11:22:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453446.711061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29YD-00059c-Sp; Mon, 05 Dec 2022 11:22:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453446.711061; Mon, 05 Dec 2022 11:22:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29YD-00059V-PD; Mon, 05 Dec 2022 11:22:21 +0000
Received: by outflank-mailman (input) for mailman id 453446;
 Mon, 05 Dec 2022 11:22:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p29YC-00059N-Iz
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 11:22:20 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p29Y7-00053e-UG; Mon, 05 Dec 2022 11:22:15 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[192.168.30.208]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p29Y7-0006jd-NR; Mon, 05 Dec 2022 11:22:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Gq7Z+MtUXrP43BZQkEgXpOPETVC57TFJKyDBiaWValY=; b=znEUPrJDEttTDG/X4vDLzWAMhS
	wsk2FsY3GlLQmxUaBAIGveMkAmLknuUuZY9h1nz66zXtQC+6VlOribrcfqUyoh1Kya8zV2jjKKHax
	N65JoKfor5EyR5ZcbEDUBca500v6GGHLB1A4Ull4SWdxa+Nf99+6nXyPvEvnJSy7r8Qw=;
Message-ID: <4e89184f-2e47-8205-1af5-7b2bb5431926@xen.org>
Date: Mon, 5 Dec 2022 11:22:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v2] process/release-technician-checklist: Explain how the
 banner in README is generated
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>, Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20221124190850.35344-1-julien@xen.org>
 <6819d05e-d1ab-fc3e-7795-bac650df3bc4@suse.com>
 <AS8PR08MB7991D653E57C71D2B4D4B0C992149@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AS8PR08MB7991D653E57C71D2B4D4B0C992149@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 01/12/2022 10:50, Henry Wang wrote:
> Hi,

Hi Henry,

>> -----Original Message-----
>> Subject: Re: [PATCH v2] process/release-technician-checklist: Explain how the
>> banner in README is generated
>>
>> On 24.11.2022 20:08, Julien Grall wrote:
>>> From: Julien Grall <jgrall@amazon.com>
>>>
>>> Explain how the banner in README is generated and take the opportunity
>>> to mention what it should look like for RC.
>>>
>>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> Release-acked-by: Henry Wang <Henry.Wang@arm.com>

Thanks for the release-acked-by. However, I have no plan to port this 
patch to 4.17 (IMHO, a release technician should always read the 
unstable checklist).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 11:28:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 11:28:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453462.711072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29do-00062e-K5; Mon, 05 Dec 2022 11:28:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453462.711072; Mon, 05 Dec 2022 11:28:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29do-00062X-H7; Mon, 05 Dec 2022 11:28:08 +0000
Received: by outflank-mailman (input) for mailman id 453462;
 Mon, 05 Dec 2022 11:28:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IUlJ=4D=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p29dn-00062R-Sr
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 11:28:07 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0631.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2601c3e-748f-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 12:28:05 +0100 (CET)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAWPR08MB9686.eurprd08.prod.outlook.com (2603:10a6:102:2e2::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 5 Dec
 2022 11:28:03 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%8]) with mapi id 15.20.5880.011; Mon, 5 Dec 2022
 11:28:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e2601c3e-748f-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KxQlkzY4F5FyItBAW5HWFNe4/Cn1ONZYrnMpFwNj99NTQDxjvjd9zMVU6aCOMT1SLEHrnHEweQGRMPO/BllrDdmIn28U/wlzhhXKoNt1uEfvws5hUGMpSKGjjZZ7WSAb0h8YR5domgIDiSkRWIQ/53XOXaedXgnA0gn3Zd7T0AkyOPYzl7DVznOpAQUOH1ksP+luVhIK2Wlv8cUFz+rFwXQBtmJs/uXEjHFIba/G+DEVgfVH4KvccTQRTwI5D9AwlMVAsGlrRKUVz4BFnhLnJVcOky9GHVXF1kcmHLKQKt4IQ9s7mOVrMvrDub050sxLzOoC4ThqD1PgoKza3kOEDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p3oKg/179sd2a6fSka7qYkzsJV655Ts+SVU/h7BNdwM=;
 b=i6FBFw8/AtaPYdaVxnpFwE2yyRMP+EOvqz7/Mbbjod9aE5Y7fMvcnVzAQbeLez1t5pyD4qaiimWOJtzvX2eSWvBUxPFrXSmh4mdpGFieUEas7wlHiSJGwp2QMgIadbw5XcYOjP78ENH6zw0ZUe85oZ0hxkk25KzKYfu/duyKtsfoUEB7YL0Y/TIu0KW3H4AD+vP75e/pDzEOa4cdy3zNww+DPQZauRsGVNpUNNeSneGPSJtoyCck/UABqRJfsQSsU6fPrS2tboj/Za6MVAnB4jc0dCAp/tPxl5velFRYjrzRPpw4A39abtxACgzy6HREZHYfK69N3m5cyfldRhdjhw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p3oKg/179sd2a6fSka7qYkzsJV655Ts+SVU/h7BNdwM=;
 b=9jWodHQLFH3Dn7zuXTIv3wyG0/MCZ8IZWvkGOm4/7k12POq1jwRSnQgR0TSgAgv5WJW+5ETLkIB/n8XAVhjynuqvbmP6NKgDADb1sfRAWczEuRAo/+TVYUYZfnkfSwaXEmxTNRyk/09r0nHNF4mldsfkhXkNT00/SkQBkI50uhU=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <jgrall@amazon.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2] process/release-technician-checklist: Explain how the
 banner in README is generated
Thread-Topic: [PATCH v2] process/release-technician-checklist: Explain how the
 banner in README is generated
Thread-Index: AQHZADhFhRdqD5Su4EO+T+vPnuMlg65PXSeAgAmHn8CABlJugIAAAE2g
Date: Mon, 5 Dec 2022 11:28:02 +0000
Message-ID:
 <AS8PR08MB79910DD6A46EB01C61E0C3C592189@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20221124190850.35344-1-julien@xen.org>
 <6819d05e-d1ab-fc3e-7795-bac650df3bc4@suse.com>
 <AS8PR08MB7991D653E57C71D2B4D4B0C992149@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <4e89184f-2e47-8205-1af5-7b2bb5431926@xen.org>
In-Reply-To: <4e89184f-2e47-8205-1af5-7b2bb5431926@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: D78EF33ECBBDD64996EE3C135A566B05.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|PAWPR08MB9686:EE_
x-ms-office365-filtering-correlation-id: 32228c31-8a2f-414d-4cb9-08dad6b3c5b0
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 WF0UhWvGUyNO+bMbRpPt1liPBDciHNsjg+FFTRSURbGaC+w6X4Yk28+KA91D/E/hNkjGEMa4j8kw4hteTpIqxScqMvfNR7tmzQiOOcQbhA27vms05MQ4stJ8JR9HU7PdmAz2m1q7NFtHbtEaU8/mDcxO0jPoTUN+V+Aq8RR1yMOTh2SqrDvqBsbYJqT0P+/NcD/GDoXA6hVlkO6kBsKBhz6WZY+jZUWHmYghNmRXHS45b6Nbp8pcnvcrEgT5B4F+vxd0at8br5mKnh4B5Io7i24uUeq9OAh5rL6EKPPi23YFPeH+KtakPJTfx2OCQEn1vAlLbcqrlKBKhdmx2rlswv1sHqlPuJQVi8nHwdjVTupVOaJhGQEgbcrtoGd2HBWozQpNSQ8MA0vj9mQfCC1hT9ibNZcbI7KObUGExHP2VJmFTpfLMu4WnZdA/OmGWVIpPjvuqThMXJjx6MjIC0WgeBzFxQjQpMe8xjaFEqCM/zYLNxDhrTYRSI1zZdYTUA5+r1ECHUgMXFI8bahcwgyQUY4/T4REwCv467tXgzGZWIndVmEaxhXxK2Gllr9zcr3TEYEGc7KDeCYqjZukTnbdUBpI0E+wlj+6s4F+KUVx4RfxIxAd4Ecur2CnPNtM1tQSDHZPEITdwDEyGITDGCRQXAQ9Ju2PWLq1GDFqtlkx4tJ+49g3VA2NDgMXRdTdLERpWEW0yBSNuJqrJSAiEfIKB6uzw8ex7DNiR8w+331ukc4=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(366004)(136003)(396003)(376002)(451199015)(8936002)(9686003)(122000001)(5660300002)(4744005)(186003)(38100700002)(52536014)(316002)(478600001)(6506007)(86362001)(55016003)(71200400001)(26005)(41300700001)(54906003)(110136005)(38070700005)(76116006)(7696005)(966005)(66946007)(4326008)(8676002)(33656002)(66446008)(66476007)(64756008)(66556008)(2906002)(83380400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VWgwanpKbGdrbVhVWlBsVnZFOGN0REt6UWFRRnZQZVRuR2xTcWVMeEhDdHdm?=
 =?utf-8?B?VnBQcFNueG8vamZNMmFBZ1ZwT3J1RmRkZHpqeWs3aHpPM2lZZWlMbk1RV1U5?=
 =?utf-8?B?MVFVNThEUUltSXhackxMRTJmalRvSXAxOUNjOVJua2ZYSU9wSFk5dGRJeW1n?=
 =?utf-8?B?bVZQVmZ5R2ZwTTRmM1kxT0JRRDlCSjllS2hwRkkrTWNnSUJpakVhMmJHT3ZE?=
 =?utf-8?B?STM1bkVETmZSMDZuTUV1VTdvZ2FzUTZXc0tDcm9lUzhleTZLZ0sycHo4eExD?=
 =?utf-8?B?UTZjQllDOEVhaTZIWW1SeWhOaVpZbkhzbTlET2pES01PaUFuT1cyR2lCNGFa?=
 =?utf-8?B?a20yc25ScEx6RnprZ2ZxWkIvcHBjczRublBhWlhXUHZ6TmFhQndlblZaeTE3?=
 =?utf-8?B?bWdNN2xWclpaaDZxeVVLWkhtU0d4Tm1yalFEZjhkRVA1SVhmbWxNL1JpemVL?=
 =?utf-8?B?VzJDTGVuTTladksxakxxUEdoQVp6N0VRY0o3cGRBdk52cUEvZDY1YXoxcG9q?=
 =?utf-8?B?cE93WG1teWV5VUdCVHVRTUZJUzlJenVyaTB1M21UdXYxaWpncW95UmU5VjV4?=
 =?utf-8?B?aHppcXgxNWJmdEY1Nkd6ZW9YS0txd0gwdDJBc21LYUdNQTZvSE5KL2o3dDB6?=
 =?utf-8?B?QUM0czd0ZGJSWFh2aUV4L0wvdEdINm1wQWExNlJMQmZYWjJwSlppUDhqTE4x?=
 =?utf-8?B?b0J3dHc5TldZOGNVUUM5RGxCVnQ2Unh5b3Z0R1VyOFIwcGxTQjNMTWpsMk4r?=
 =?utf-8?B?QWtGNURtT0ZxZjRHTTBWYi9jZzlDeEpaVnRVK1V3OFBJdmNteTFnaTNmaFVV?=
 =?utf-8?B?cFRHSUxXdC9BV05HME96RDRxVGhrbnFTOVRiVy9GQURqUDEzcWtIQWh6OHp2?=
 =?utf-8?B?NDBRWUNXeCs3K1c2MmNwQmJ5ZjhEeEk2cTNqV0VSaTNSV0t2UHAxUGkvTWlE?=
 =?utf-8?B?QitWSEVwS0xKM1ppUmtBWW9HTUVpeVo5eks3WTRDTkdIVmJJYVBPMkxkTkE4?=
 =?utf-8?B?dWZhNkVtbFFQQnIrbUROWjNHclY4R210emxFZ25aaUtLN3VnQ2lFSUpiWHV5?=
 =?utf-8?B?ZjhQYytsUEVWcWNyN1pmU240Z1kvS294Qk1Hb1Q4NWhvVVlDWUFYbXo0dC9O?=
 =?utf-8?B?UzNYMm9wN3dWQWpUcHpoRW5YSTNCQlRJZ3lvRTc4TE9TRTVRZnFtNUpnb3BH?=
 =?utf-8?B?dk1VeUVzVy95N0w5N2pmSWFObTNpYmtZUEVCWTh4VzVub3JIMU9kSTk5SDhY?=
 =?utf-8?B?L21DcnczdFdROVNpQlp1UmthczVZUHQvVld5N3NBc2JSNXc0QUEwUHVnNVBz?=
 =?utf-8?B?aGtZam9GS3hGNWxqeHdPV3JwQzFCNWVmUGx0OUNHRmJYQ09vaTFzZHQva0FD?=
 =?utf-8?B?L2QyY0lIbk03ejJwVUhIOVNOc2RPZFkwMHdSVi9RUnl4Qk42U2dPNlNQMjVP?=
 =?utf-8?B?NkNHOHByenFhSi9NMzBJNm04NEplSDdRd1hNNTFnSDk2NGNOTW5vZEh0TnJZ?=
 =?utf-8?B?ZThvek53eXNPS0swWGtXMlpKMUlRZCt4aTRtNzQxMTNPM0p3Q2pGLzVvZXIr?=
 =?utf-8?B?c0I0MmhjMjhyRUozdzR5WFptQjYxbFRMVnVCSk4zWTNhSEtNdGxmY1h5azZ5?=
 =?utf-8?B?VEpqcXRXbnJNUzFLdldwc3ZVa1BNRk1DMVY5aVpISnlUU3A1TlljRHhXZTcw?=
 =?utf-8?B?c1VPUzFvcitFMjhkR0dYdkdHN1VvV2lIQTBZNmljS2gwM3RYM055eEdlcmpD?=
 =?utf-8?B?bUg0MXJ5VnNlendEMFRwUlZUU1dNcW16dXdmdTJXTHEvN1dUUjhCQ2szS2ZN?=
 =?utf-8?B?Wi9hQ0tzcnd1dzM0eVo2aHVIWkZ3LzlEalNxMEk5YkdkR25VM0NnMEMxeG9z?=
 =?utf-8?B?eXNTdzZndTNySW9pL1hVVnZkcDBxWjZHRldjZkxzejJvTHFSWC9zbzZwS2Ny?=
 =?utf-8?B?YkRtL2dEU3ZHYklWWU9uV3ZNRVFIbHVhQitkVkVVTVd5Mk9sSnJRcG5WVGdT?=
 =?utf-8?B?RmljVkRqWkxNQnppWXBBSzI2WS9sZklqMXBvUnY3ODNsd296TldpcHlvZkRH?=
 =?utf-8?B?dDAwMkVvakFYUCtpeEF1d1lKcTIzeWYxNmZ4b1MvNGNPY0Q4azRjTDNMd0xo?=
 =?utf-8?Q?V3UA=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 32228c31-8a2f-414d-4cb9-08dad6b3c5b0
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2022 11:28:02.9877
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Cya4V+zadX/sHrDLUpqmMqD4scumIvD4pjrqC1Tq+CDXSSF/VrKr5U3SrgHMjZ7cNjao3QhlNFPox7cseX0YAA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9686

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjJdIHByb2Nl
c3MvcmVsZWFzZS10ZWNobmljaWFuLWNoZWNrbGlzdDogRXhwbGFpbiBob3cgdGhlDQo+IGJhbm5l
ciBpbiBSRUFETUUgaXMgZ2VuZXJhdGVkDQo+ID4+IEFja2VkLWJ5OiBKYW4gQmV1bGljaCA8amJl
dWxpY2hAc3VzZS5jb20+DQo+ID4NCj4gPiBSZWxlYXNlLWFja2VkLWJ5OiBIZW5yeSBXYW5nIDxI
ZW5yeS5XYW5nQGFybS5jb20+DQo+IA0KPiBUaGFua3MgZm9yIHRoZSByZWxlYXNlLWFja2VkLWJ5
LiBIb3dldmVyLCBJIGhhdmUgbm8gcGxhbiB0byBwb3J0IHRoaXMNCj4gcGF0Y2ggdG8gNC4xNyAo
SU1ITywgYSByZWxlYXNlIHRlY2huaWNpYW4gc2hvdWxkIGFsd2F5cyByZWFkIHRoZQ0KPiB1bnN0
YWJsZSBjaGVja2xpc3QpLg0KDQpObyBwcm9ibGVtLiBTb3JyeSBmb3IgdGhlIG5vaXNlIDopDQoN
ClNwZWFraW5nIG9mIHRoZSBjaGVja2xpc3QgYW5kIG1heWJlIGl0IGlzIHNsaWdodGx5IG9mZiB0
b3BpYzogV2lsbCBpdCBib3RoZXINCnlvdSBvciBvdGhlciBtYWludGFpbmVycyBpZiBJIHNlbmQg
YSBwYXRjaCB0byByZW1vdmUgdGhlICJxZW11LWl3aiINCnNlY3Rpb24gaW4gdGhlIGJyYW5jaCBs
aXN0PyBBY2NvcmRpbmcgdG8gdGhlIGRpc2N1c3Npb24gd2l0aCBJYW4gWzFdLCBJIHRoaW5rDQp0
aGlzIGNhbiBiZSBzYWZlbHkgZHJvcHBlZCwgYW5kIEkgYW0gYXNraW5nIGJlY2F1c2UgSSB0aGlu
ayB0aGlzIGluZGVlZA0KY2F1c2VzIHNvbWUgY29uZnVzaW9uIGluIHRoZSA0LjE3IGJyYW5jaGlu
ZyBwcm9jZXNzLg0KDQpbMV0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcveGVuLWRldmVsLzI1NDgy
LjEwMDA2LjE0MDE1NS45ODQ2MjlAY2hpYXJrLmdyZWVuZW5kLm9yZy51ay8NCg0KS2luZCByZWdh
cmRzLA0KSGVucnkNCg0KPiANCj4gQ2hlZXJzLA0KPiANCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQo=


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 11:29:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 11:29:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453472.711083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29fW-0006ie-0X; Mon, 05 Dec 2022 11:29:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453472.711083; Mon, 05 Dec 2022 11:29:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29fV-0006iX-Sy; Mon, 05 Dec 2022 11:29:53 +0000
Received: by outflank-mailman (input) for mailman id 453472;
 Mon, 05 Dec 2022 11:29:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g57r=4D=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p29fU-0006iQ-B7
 for xen-devel@lists.xen.org; Mon, 05 Dec 2022 11:29:52 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 21045360-7490-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 12:29:50 +0100 (CET)
Received: by mail-pl1-x632.google.com with SMTP id g10so10488198plo.11
 for <xen-devel@lists.xen.org>; Mon, 05 Dec 2022 03:29:51 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 o8-20020a17090a420800b0020a7d076bfesm8925105pjg.2.2022.12.05.03.29.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 05 Dec 2022 03:29:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21045360-7490-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=iVXW2V7isRG367mkt7rNrw2wPQksUNLUSv5XAk1GEm8=;
        b=HqUauqiPEytjp+MNxGhPWtF4O+4nSW8/dCTVuvQtPQWNMSrsMZ0u5x3invn4jmrddD
         nSe9zlvvv5PA3Qjy9Wa1ANWqoPU0F7gE7jqH6g7klCycXhcIfSQp76UWaaNDQzttyq+4
         yXq2Aksf24uAgelsSE27tr/vjE1r1qdxu9BzdUMBSRDAfjcklFSuPl5JhNY954kT6OUQ
         kXF9jSiGCIWjRFtYWGegZ8NAzNzvusluYoRHyrlXkKkkdPiJFAPeWqZxFJS9+95jhX4Q
         YXZ7UqKLt/fAIejvZqgYNqevWYLcal36MEeuw0kIg54D48U5WPShpR5K5kMWEieqSRRf
         BPEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iVXW2V7isRG367mkt7rNrw2wPQksUNLUSv5XAk1GEm8=;
        b=SVcsCr4PPjG1iKuF/W44Jv9KwjilPjnurDGEnlX5GyydhNgApYxaeuSz1K/IEORwDw
         nd/xhCl7QyZjy4r39G36WPUMJpT/IGKiP99Q+RP7bbTD6QQCgMcnW5ySvTGzxO5wTahL
         1DmFtuj3r924xZ9UC6Od/qA75eVYC0lW2+hlxZ2qT4X1sjagWuXzDexEIbPHiBqnsu7c
         c1iAIdA41LnGkiHSGh+jGSSx7AE6gatJjBftqgULON0UdT+IVyoqtnPuixTEq5niV4Nc
         QATBXCarc8+7jpNt84annUvY9GiTJyzBjo/z1l+hiUJYi1nF4MUDsNCQa+Xjtb+6AlgQ
         y1dw==
X-Gm-Message-State: ANoB5plcwK8MCiCr4Y0QlxBvoaf3ukqPDcebUVOZcy5UB3Ybu/oUi7tu
	1i4WfQo1Ou9vnZ+bIpYpLijBKA==
X-Google-Smtp-Source: AA0mqf7aJlLHLH4sw8/bBJGZ0Qg9kTGxUACMXRpXWD/CjnS4paS69DkwNoGfnznk5mHryYe3iHu+5w==
X-Received: by 2002:a17:90a:f402:b0:219:3212:c462 with SMTP id ch2-20020a17090af40200b002193212c462mr40967632pjb.83.1670239789548;
        Mon, 05 Dec 2022 03:29:49 -0800 (PST)
Date: Mon, 5 Dec 2022 16:59:46 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xen.org, Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH V6 1/3] libxl: Add support for generic virtio device
Message-ID: <20221205112946.qwa647k35uv7eyqr@vireshk-i7>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <f1dc91669df27705c25a1f3018427c2db77b32a6.1667906228.git.viresh.kumar@linaro.org>
 <6a546552-d71d-a262-5981-8058dc37ae26@gmail.com>
 <20221205061518.l2i4kqkzcivpxaxl@vireshk-i7>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20221205061518.l2i4kqkzcivpxaxl@vireshk-i7>

On 05-12-22, 11:45, Viresh Kumar wrote:
> > > +    rc = libxl__backendpath_parse_domid(gc, be_path, &virtio->backend_domid);
> > > +    if (rc) goto out;
> > > +
> > > +    rc = libxl__parse_backend_path(gc, be_path, &dev);
> > > +    if (rc) goto out;
> > 
> > The same question for dev variable.
> 
> Hmm, this we aren't using at all, which KBD does use it. Maybe we
> should even call libxl__parse_backend_path() ?

Removing it works just fine for me.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 11:40:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 11:40:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453505.711098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29pd-0001Kp-1M; Mon, 05 Dec 2022 11:40:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453505.711098; Mon, 05 Dec 2022 11:40:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29pc-0001Ki-Sy; Mon, 05 Dec 2022 11:40:20 +0000
Received: by outflank-mailman (input) for mailman id 453505;
 Mon, 05 Dec 2022 11:40:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YoCH=4D=kernel.org=patchwork-bot+netdevbpf@srs-se1.protection.inumbo.net>)
 id 1p29pb-0001Kc-UW
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 11:40:19 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 976267a9-7491-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 12:40:18 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2C7C76101F;
 Mon,  5 Dec 2022 11:40:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id 086B8C433C1;
 Mon,  5 Dec 2022 11:40:16 +0000 (UTC)
Received: from aws-us-west-2-korg-oddjob-1.ci.codeaurora.org
 (localhost.localdomain [127.0.0.1])
 by aws-us-west-2-korg-oddjob-1.ci.codeaurora.org (Postfix) with ESMTP id
 DDE7EC395E5; Mon,  5 Dec 2022 11:40:15 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 976267a9-7491-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670240416;
	bh=Dnag4KYR87UxalELQSKEhSo9fyf55ONeAifg/ubORhc=;
	h=Subject:From:Date:References:In-Reply-To:To:Cc:From;
	b=LInkuSFZcND/F0Ms/Y+axDZDPwnaHWJ3AoOUlNKnhCeFVReBQrXrTGYcSsspQFVyL
	 xreVe2cFdwoWr2EwHV7C3u9UQC68FiCGf9G1wLBVzNfjZZxLJB0nS5bYqe3De+1WzZ
	 i+AE/N7IIsbUIpaJImZ+/6GCTRZ4D2awTxNWvTyxc60u7j2fy1Z3DoqQWdxENggEj0
	 JweQ8cWVHdL2QmU5sBTBip1JRmlmYymyN0Zpcb0+gmO/f/asqAaGIanJmKVZlugVOq
	 sOZzvplK48/7J/pRkx2UWMvK0+xUgWCX+cNlne++n4+0lT8UtEpVjq+5BMoP+39d3Q
	 Z+p15U9Yow7SQ==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Re: [PATCH net] xen-netfront: Fix NULL sring after live migration
From: patchwork-bot+netdevbpf@kernel.org
Message-Id: 
 <167024041589.2981.8835947614822583831.git-patchwork-notify@kernel.org>
Date: Mon, 05 Dec 2022 11:40:15 +0000
References: <7ae75e4582993c6d3e89511aec9c84426405f6a4.1669960461.git.lin.liu@citrix.com>
In-Reply-To: <7ae75e4582993c6d3e89511aec9c84426405f6a4.1669960461.git.lin.liu@citrix.com>
To: Lin Liu <lin.liu@citrix.com>
Cc: , jgross@suse.com, sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com,
 xen-devel@lists.xenproject.org, netdev@vger.kernel.org,
 linux-kernel@vger.kernel.org

Hello:

This patch was applied to netdev/net.git (master)
by David S. Miller <davem@davemloft.net>:

On Fri, 2 Dec 2022 08:52:48 +0000 you wrote:
> A NAPI is setup for each network sring to poll data to kernel
> The sring with source host is destroyed before live migration and
> new sring with target host is setup after live migration.
> The NAPI for the old sring is not deleted until setup new sring
> with target host after migration. With busy_poll/busy_read enabled,
> the NAPI can be polled before got deleted when resume VM.
> 
> [...]

Here is the summary with links:
  - [net] xen-netfront: Fix NULL sring after live migration
    https://git.kernel.org/netdev/net/c/d50b7914fae0

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html




From xen-devel-bounces@lists.xenproject.org Mon Dec 05 11:45:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 11:45:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453519.711109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29ub-0002aU-IP; Mon, 05 Dec 2022 11:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453519.711109; Mon, 05 Dec 2022 11:45:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29ub-0002aN-Ep; Mon, 05 Dec 2022 11:45:29 +0000
Received: by outflank-mailman (input) for mailman id 453519;
 Mon, 05 Dec 2022 11:45:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p29uZ-0002aG-Fv
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 11:45:27 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p29uU-0005bz-M9; Mon, 05 Dec 2022 11:45:22 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[192.168.30.208]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p29uU-0007yo-E9; Mon, 05 Dec 2022 11:45:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=MjV0u77qjH7Dz+WlLiaJIBXB6I3Zu6apIRPc7eMiF+4=; b=C7UbC5z80XNrCBly9xREn0BFWe
	AHwtrilk+CSYf3pRglOTRlK9zY8syypuZEVIDzFxFakZ1amXoGDUwKsmXzgAVuLCvyg6chAuEpxCB
	LR4oUnkG8Twyl/LYaIfUMCzjyGXfSZTYV9UaPoeT0KLyVD3q/+mTcFaX49VkD/m7h5dA=;
Message-ID: <68644044-a2ea-25b4-a400-422540ae29df@xen.org>
Date: Mon, 5 Dec 2022 11:45:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v2] process/release-technician-checklist: Explain how the
 banner in README is generated
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>, Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20221124190850.35344-1-julien@xen.org>
 <6819d05e-d1ab-fc3e-7795-bac650df3bc4@suse.com>
 <AS8PR08MB7991D653E57C71D2B4D4B0C992149@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <4e89184f-2e47-8205-1af5-7b2bb5431926@xen.org>
 <AS8PR08MB79910DD6A46EB01C61E0C3C592189@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AS8PR08MB79910DD6A46EB01C61E0C3C592189@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 05/12/2022 11:28, Henry Wang wrote:
> Hi Julien,

Hi Henry,

> 
>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Subject: Re: [PATCH v2] process/release-technician-checklist: Explain how the
>> banner in README is generated
>>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> Release-acked-by: Henry Wang <Henry.Wang@arm.com>
>>
>> Thanks for the release-acked-by. However, I have no plan to port this
>> patch to 4.17 (IMHO, a release technician should always read the
>> unstable checklist).
> 
> No problem. Sorry for the noise :)
> 
> Speaking of the checklist and maybe it is slightly off topic: Will it bother
> you or other maintainers if I send a patch to remove the "qemu-iwj"
> section in the branch list? According to the discussion with Ian [1], I think
> this can be safely dropped, and I am asking because I think this indeed
> causes some confusion in the 4.17 branching process.
There are a few bits in the branch checklist that needs to be updated. 
This include removing the section "qemu-iwj.git". I will aim to send the 
series this week.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 11:46:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 11:46:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453523.711120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29vU-00034a-SE; Mon, 05 Dec 2022 11:46:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453523.711120; Mon, 05 Dec 2022 11:46:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29vU-00034T-PL; Mon, 05 Dec 2022 11:46:24 +0000
Received: by outflank-mailman (input) for mailman id 453523;
 Mon, 05 Dec 2022 11:46:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2Zgi=4D=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p29vT-0002xi-Vr
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 11:46:24 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on20618.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 70c6f3ed-7492-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 12:46:23 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB8012.eurprd04.prod.outlook.com (2603:10a6:10:1e6::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Mon, 5 Dec
 2022 11:46:19 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 11:46:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70c6f3ed-7492-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fnj7mpk6XrUC+aXR+0RVfvcNMHc1iiP+JOdq0OzUnbofCyYolJi3EYB9p+eKVTKm/WixrOPTQj+Mqn1u1WrvvXP3xdjFpisf4HKuGJBRGvqN5Ye89O4DjOaLUarzdDGnPob1fovQqCCQG/+zJetNPaKfL63GNXN88MiNB0EXGPunTNP14Kr0iB3KDHPykP2RZmXUgNRPFB+kKnliLjgqmojzMhviDmYAOnoJ4jsuafqTKzb7hH/6n75xW5VYbg5/U5265SnqmRwDMBNBg8NRmm/u/Fu+XXOFhc2dMl/Gmcf5MJuxEg5tV6NLRHvmfyH3+jApTe9VHQ1sIHxvfrYJ6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D4uMqlszxZ0mJbFNuNvJaoVNgRkxAW+T2BdokKWruKM=;
 b=FyLwEiYuhf/LYRfVkEGlxuHEij+PmRBG00LyQqdjE4Bl+GHsSsCCkXObNyPpoVCeYx8BKN0EqBLqHPjo6tw757DM6/StDjEhnNpVYWQPiGuJqSD27fo9ivraGCeuW8PBMRq/Z1LIIOTQaqWDCFP+aAhgaNcNvgi5PKjqX0eL6Cd5wzjxOypUSPLVPGvNBXqF/Xy4eG0TAbskert/NkA72H3aLLAm70A5FnTaK37GYvlcjUDzIIEXULSKObMj6L+cNOd4SbyrBSKLs5Otw7OieUHHS4p8H7pp0lke/HQ/k5tjFW89kuWJxbqH+D/tp26LLbNMI2XczsqUh9QdvE/cfA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D4uMqlszxZ0mJbFNuNvJaoVNgRkxAW+T2BdokKWruKM=;
 b=oSOz0oa63fNyvgRTMaQhXVw3di6PJwXU1F8dze3aqvxtg8zdl7MOGDfeR2zir8S0TzB4okcC66r/KFJ5IZEMpBAY5u1BFH0XwM9JfLzG3zJ5V+y2KLRVQP3kz/Itk7eXn6qqv4kWcrrX1GWC/abKfH9p0Tk0rAZ6ojUdgAjVyIFQcKyJnMUfjA/IlDZhE5okOSTIv8pY85kh40xtKVyKNTplhSFrJzkjdcEVxKolV1j00kd3AjPs5GpTPkkq+9Bd60DrBsuA0oT+cZ8kIj3u/MNzJ//FWeZ6KjV9v3YJMwRjVZKA9IFWgcdU+87YgVVJ+2CC/5d6Q2Ed1mZ5sNqPcg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6508b704-771a-be12-8572-7c25cde3d566@suse.com>
Date: Mon, 5 Dec 2022 12:46:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [XEN v4] xen/page_alloc: Relax the BUILD_BUG_ON() in
 xenheap_max_mfn()
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, julien@xen.org,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 bobbyeshleman@gmail.com
References: <20221205094817.21062-1-ayan.kumar.halder@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221205094817.21062-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0083.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB8012:EE_
X-MS-Office365-Filtering-Correlation-Id: d96d2ed5-b2df-429a-7cfc-08dad6b65340
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LS+v569DxnGO3pbfVKLw6SbX3HknsECDwsJonCmpqU8byfD74DbxqlI5wGBAW3Elh7ukPoj+WG5MozD0mp7MRGZw6IpaeIb02xzjxYA671nUw5mZwpfabvFwjl/vnQKjYxDvCDJZgXhkNp1ZDK1xCaYSc85xtYQ06f9u2VhaJzq3Bx0bUOMisuBqAFJCajLXn7kTcMYONbXkcth+bCRjFdRAEXXOjiywGJhXbHzFIrcQe2chIhms0T6nRRL2EAuxPBMSJ7ursZz+1QrRgw4CprkMZrLpIg21oNKPmvo1G5w3u6wFjUg8xKaB5AZIMmU4VjRZ22tfRwCMX5/11q8y1NmmgWpbApFzbBOk9LCk+LKjmoy2SebMFE8pebm66EROIBOyhuaEvgQe5d0TuKZMAfgIvPvE3kI7ElWizlUmE9S6kzzAq5HJr3gcsxNkRVkvSHNZWVOvArM1+o5QNrC1aAZJ3Zi3D9X3NsaHuH4nl2V/CFb3cSzkizzbgsfEDHhb1lcQC/yOFqnuHB0Y2HMuD7BFNe/wJqXwDHhyP6SA7p55lNLPf1Ys4Qq6wWMvvUGjbLlI8fZMR1WgFuUUQUGhJtJ4QWQ3p53dIsy5JPqOW8oiKW7cEbcNNNN84T6Kt+L/KM/QgLqiHuJF8cYxRPH7V/Bhp3DivuUdCKq/jdwYCI75vMBipHYhLO5e2MZztqaTqyapzg2i/GwPDWN5mlFBjgjAwfrYXILT/9nnFi1J/dg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199015)(83380400001)(86362001)(31696002)(2906002)(38100700002)(4326008)(8936002)(41300700001)(5660300002)(26005)(8676002)(186003)(53546011)(6506007)(6512007)(2616005)(316002)(66946007)(66476007)(6486002)(478600001)(66556008)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UnR3VS9WaFJLcXpmeXJyU0NveGlJTWFleEJ6UDIrUEhyRjBXZnlxY0IzbktO?=
 =?utf-8?B?SzNNYmUzZ1BhaXNuaWFsRXFEUkFhYVN2Nk9LOU1LbGtkdGZTdzJScHlxYW9S?=
 =?utf-8?B?NFBjUG5mQ0IrUFFGY0EwVmNicTQxSktQQTE5Vlp0djZ5azYwd2NxM1NJMGJH?=
 =?utf-8?B?TDl5UmNJZ051cTFhbndYTzVCQUR4ZDc3OFlTUnQwRy9SSTYrbngxVkppdlFQ?=
 =?utf-8?B?eTZkcmE1Vk1aZXB2OVFRYTBRb2M0T1J4emxIblBiYjFNSDdiNkllR3JrN1lq?=
 =?utf-8?B?QitQRHRFOUhmSFVIZU5EVFA5dlRnRjA3YVp0b1dUK2trRFE1THdUdXNXYm5o?=
 =?utf-8?B?VzBKQmFJZm5DUTBVN0hWOU84bVhQZTRNYjZ5bWZxM2VQQW13bDZ6a1REbWYz?=
 =?utf-8?B?eVExN3NTT2ZvaEV0WThHVEJ6aHJQZ01jM2hSVUJmcEgwSXNDSWFZQ0d4N3Bo?=
 =?utf-8?B?b0JMYWNLSGRMWU1MeG9hUE0wSXhYajBSNDRQN1crdFRZbVd6YjhZM0ZCQk8v?=
 =?utf-8?B?ME95eWdnZVRoclAwc2x4cGgvOG5TN05mb0VaVkpvR0Q2RUFqQTdNeTloYUtm?=
 =?utf-8?B?UXdOSWtlMlgrZWtGNENPSGc0VzlxZkpyYVA2TmhkVGxvUkZ3cGJCa1ZTdEZ5?=
 =?utf-8?B?ZjVYbHZSdW84clBjN3o5RUZ3NjNNK0djK3drejZROTgrZlJDbk5laHcyUmNx?=
 =?utf-8?B?d2MyWjZOdDlUTjJhOXQzVkh0ek9JQ05oaS82TUU2OFJnNXdJNDE5dU16YjR1?=
 =?utf-8?B?cUdOT0cyWG0zNkY0TERxR0JiWXJza1BITGJXbEVqWURzeWptM2UwUzFPUmZQ?=
 =?utf-8?B?WEdKUFhNYVJNclF1VFdrWVluVzBuRXNHa1hzbXREckpNUVlFUzArMVVOeFAy?=
 =?utf-8?B?RVdWdy93SEpjK08rYjcwYlRBTUFxQkg4cERyWVMvZzFpdlZGOUtTWGQvU2VJ?=
 =?utf-8?B?bWcwU2ZQMlhJczJsOCtGaEhTYkRDVm13WDVod2V4TExuejVPcml6R3NXWTZ5?=
 =?utf-8?B?cjNkTGdDaFJXbitkM05NY3UvOXN0UysraEdGZ1ppUXN3eVVLYS9vRzAvakts?=
 =?utf-8?B?dmR3MEhFZlJpVWVxdkxQQWxZNUVmUUZaN2VETEUvNmlPYWFsTEk3c3d2ZzVC?=
 =?utf-8?B?SXFBK2w1Mzg5LytucTN1K2FQdDJtdktncWpVeDZ4ck4vbWkrUDdQZ3kvZ0k5?=
 =?utf-8?B?OXhPVGVaanBqT0xNWGZFamIybTRHL3lObm4rVUJtTlFCVGY4Vmpsdjd0eDE2?=
 =?utf-8?B?MHI2dWdEbU81dWx5azFteTVudkhrWlZZcWdmQy9LNXJyTldtdVBiUFJPUGFE?=
 =?utf-8?B?YnRBTXAxcEhvYks3aEFVMmFzSWE1eXdYWW9lbWhMQ25qQitrMVFHWlBqa0FL?=
 =?utf-8?B?YVFPWWRHWnorQll5OUh2QWR1cFNaNHVGQUxhczV3YkpiSTI0TURseEErTkt1?=
 =?utf-8?B?cGM4aTV1MkZGWkdTc0w0MnhGWnV1TCt6T3dtT2FGS0V5WVlGeFkwOEY4TnFG?=
 =?utf-8?B?bTFSNCsyUEdwUkVONFVDZVkyaFhJYklhMEhsejdBdjZjZENpNlNoWE05TSt2?=
 =?utf-8?B?L21NcGk3c0pDcTYwZ0ZmUW90N2dDU0FweldIWjhqeFJ6VlREMFJBL0NIRFI5?=
 =?utf-8?B?MGZlbVZGVWVDREJnWk1ZSUIzeC92MlpETVdySVdmZTlHRFVRc3AwT2Nmcitj?=
 =?utf-8?B?Y1NtaW5nVlV2UG5OdU1iVjRBMjNJbDhtalZXNzdjc1VxekVxSDN2TEJoU2ht?=
 =?utf-8?B?Ullpcmpod1E1eHA5MVZraEZPdVFvTktqcDd3THBGenBmVkJBSHJoVXlmZEl5?=
 =?utf-8?B?bTA4amQwcWI1SlRNY3VuRStoUDQvWExMcnVXRHhMZDBkSXNCeEhsU2pzZjl1?=
 =?utf-8?B?R2VwK1I5MFVGY1UyZmlOYXI3OWNMKzdBV1Zwb2JaZlZLbzhTQzJlbCtVTXBJ?=
 =?utf-8?B?OGg1K0dQWmFVMTZXU2tjdkdrNzdXSnhkTTNlc3JXa01LSko4MG1wRExRVXl5?=
 =?utf-8?B?dUxkcnZxTGliUjNkd3FrTDkrMlFnQ1J3emMyUXNrR2ZwbWEwSlRKQVlzMFBB?=
 =?utf-8?B?R29kMzhNUm9KNFZSV3c4UFlpTFNyTVhKakd1blBJaHlYditNNHZqYVNaWHV5?=
 =?utf-8?Q?iE6Ydw56WtJ/NKseIWzxBrAEo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d96d2ed5-b2df-429a-7cfc-08dad6b65340
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 11:46:19.7348
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: e10gMjNey6zGRQ/ZgG77nvVqq+7iDP09H7pXpNbBSUQZMu/2xsxJ4uS5w+DpTwxGjjYt54B6Os6R082CWbRVSw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB8012

On 05.12.2022 10:48, Ayan Kumar Halder wrote:
> In the near future, we are considering to use a common xen/domain heap for
> Arm 32-bit V8-R. In this setup, both PADDR_BITS and BITS_PER_LONG will be
> 32. Therefore, the condition PADDR_BITS >= BITS_PER_LONG will become true.
> 
> Looking at the commit that introduce the BUILD_BUG_ON (88e3ed61642b
> "x86/NUMA: make init_node_heap() respect Xen heap limit") and the current
> use, it seems this check was mainly to ensure that the shift of xenheap_bits
> is not going to be undefined (>> N for a N-bit type is undefined).
> 
> So far, all the shifts are using "xenheap_bits - PAGE_SHIFT". Therefore, the
> existing code should work for 32-bit architecture as long as the result of
> the substraction is below 32.
> 
> Therefore relax the BUILD_BUG_ON() to check that (PADDR_BITS - PAGE_SHIFT)
> is not equal of above BITS_PER_LONG.
> 
> Note that we would need further precaution if we ended up to use
> 'xenheap_bits' alone in shifts.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Signed-off-by: Julien Grall <julien@xen.org>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Dec 05 11:47:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 11:47:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453532.711131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29wU-0003hV-9n; Mon, 05 Dec 2022 11:47:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453532.711131; Mon, 05 Dec 2022 11:47:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p29wU-0003hO-6d; Mon, 05 Dec 2022 11:47:26 +0000
Received: by outflank-mailman (input) for mailman id 453532;
 Mon, 05 Dec 2022 11:47:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IUlJ=4D=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p29wS-0003h6-Ru
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 11:47:24 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060f.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 94e6436e-7492-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 12:47:23 +0100 (CET)
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DB3PR08MB8820.eurprd08.prod.outlook.com (2603:10a6:10:438::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 5 Dec
 2022 11:47:21 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%8]) with mapi id 15.20.5880.011; Mon, 5 Dec 2022
 11:47:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94e6436e-7492-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iboywLYPVRucaoaknzy8DD7GEwjSMpMsBYlU2bEc+UoPDNGMlkIQxkMAg6AEfTIX+FShsp/2qEKoNNf/xQPombNGKxjQLhDnkh+RV/TtDFY8oJAut0C9JwyIAGpQQVwIagxhhyqHrAvNzgsWRxBB6PPyibQg/e5D3MhofUndURPTSvCJ2LwaN+rwYV67wiWBtmR27Xi22FSNGE6aRMOu4P9/C3riQuInKfFPHCTruHXS1u508zEsigW11h7QegpBnTUyyXAHRNbkjYzDY76MoxGmo+H2Zdxfo5eELbrVUgtS+1nL5bYuz2tuIEAcwiwqDnFakKQ8rzA9FBqkCEz9UA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RcrG6XFkoyOBIHU154ykMpQAvoFsYBVdvllXmH4mjCs=;
 b=Uv9aiZUjfZObY8ZObIcKz4dMpxUbZki+UFwU5YeealAYxFRcljhL0Wv6+A4EobBJRaB9bI1gwW0PvPsJGXtpkM+DY8cVjKxZAjwFGJXzZB6/4E2GVXmrX2N3CqL7YnL36LHex1xyMqjG2NizrUviy4roKZr61Mnfq2jHT0cWknPlUmen6Ave39+p+9AJ+HHSn8Clk5oc0oG8FGYDjJ7MwKWUyfEkUVf3pUeJ19iPL+MvbKBmm0VusyMFVay2uxCHNSJ/3rdUO1FGxYryWRkHzk0DN57+XthmUETgC0ktJsLQwt939UillrnOFPnssaKv/3UBn1e8nSNedARKHptNCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RcrG6XFkoyOBIHU154ykMpQAvoFsYBVdvllXmH4mjCs=;
 b=kCXLS9BXMjfzJTDDqK71imVc8YUe8DPG07ZVNd6wCEkQ2iHMkvetZH8SsOqi3To0IPMRQJevBLssiRayecwmZg4d0+u3uBV28EKb1P3WG49KL9VJZUtazY8Tet6o6ZaZ8x35huVA/rKVIFm7QiOu7ScmCmlK0WEqeGjzQIhms+8=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>
CC: Julien Grall <jgrall@amazon.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2] process/release-technician-checklist: Explain how the
 banner in README is generated
Thread-Topic: [PATCH v2] process/release-technician-checklist: Explain how the
 banner in README is generated
Thread-Index:
 AQHZADhFhRdqD5Su4EO+T+vPnuMlg65PXSeAgAmHn8CABlJugIAAAE2ggAAGKQCAAABhMA==
Date: Mon, 5 Dec 2022 11:47:21 +0000
Message-ID:
 <AS8PR08MB7991754BF46DBD4C2094CEF092189@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20221124190850.35344-1-julien@xen.org>
 <6819d05e-d1ab-fc3e-7795-bac650df3bc4@suse.com>
 <AS8PR08MB7991D653E57C71D2B4D4B0C992149@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <4e89184f-2e47-8205-1af5-7b2bb5431926@xen.org>
 <AS8PR08MB79910DD6A46EB01C61E0C3C592189@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <68644044-a2ea-25b4-a400-422540ae29df@xen.org>
In-Reply-To: <68644044-a2ea-25b4-a400-422540ae29df@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 744A9A705D9E084AA8E31314A8DF680B.0
x-checkrecipientchecked: true
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7991:EE_|DB3PR08MB8820:EE_
x-ms-office365-filtering-correlation-id: c5bbbbe8-0f9f-49d6-b613-08dad6b67800
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 ApqcoDefh+ogT6UQCA+Ncmpkaap9w2V2OG1OBl9Qsyvmk3Xq0WRApClThH3tyzOQR7ni6GO5W8MVi4sZ6uLDpNukTQbV9SlN4QYc+WvNF6VE4AcNfXca2JAhzuJw4LXNWK/y0h+uAwmM0X1hvvcizwHdCeA/FvDEJjaxzSbEGT8llw9bdrATyDBeelcgbj/wZYELCcH2vntypSHaaf1dZA6wsfzyVNCc1JxWH7oNcBVt01TvxR+nsNh9YYnmeH5qShnyCUZE4t6Iwi3Y6WKLdx7MPdJvVR9KOKg7nq8b8u8DyxIWPTQx4zZAHi9VoP9DWn1sSjZDBoHXUt/dBEZiU1Yz0ELrXtMWyRGj+QDMYWeUtTLK3E+M6ebYsGWuEEi5fH75mrgF/Uv7TRYg/0yZOW0LGPoMhbMPpiwN3AApIPN7dL6360NPAS3Wj9WHleqePL5YeB90AeE+r/5ncepKerj+9La5ARJNn8CArzVIdCfH1kmhYLZihiP9iAsZOFpMT1BBhfWmTXLIHDdM71pB6PF3gZkvH+OuKctEftckg9JAzWJ2arEpk7hTGqNLesrGB9NNIW65cIREXWNIJOKFgH3dvZM9DSNJQtBTnF8q27XYfFTjmcARW5BhTGVkKhpKo8rl21QDvwGufKhvSFXqdS0PIrvRQy6Pi9i2jeSthCYquJnfe8Wl+YU0tJkiKSsLPjo46IsXRI6eOW1dVYaLeg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(39850400004)(376002)(366004)(346002)(396003)(451199015)(38070700005)(38100700002)(4326008)(66446008)(66556008)(66946007)(2906002)(8936002)(64756008)(66476007)(55016003)(76116006)(8676002)(478600001)(52536014)(83380400001)(122000001)(33656002)(4744005)(86362001)(41300700001)(316002)(110136005)(54906003)(186003)(5660300002)(9686003)(6506007)(71200400001)(26005)(7696005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Z3A2UHZNMHFPT3VIanNnb3NDcm90Yys4Uk90SjcydFNVN3ZLcTlheGtQSGZz?=
 =?utf-8?B?Vm5xR05JcE9iczh5YVg4b3l3ZmVxREY5K0gzeGZ0MWNEWnlCbmV6b1dSWG5a?=
 =?utf-8?B?UXl4REZqYzh0TE1pS3BhYWZnTTN3WVlQUWlWUlBqR0FiZFJWNWpLd202Y09y?=
 =?utf-8?B?MmczRS9SYXFwTjJpRmFYZzNJbWU1SmV5WXdTS01yeHIxSDZGM0x3Q2ZkQkxV?=
 =?utf-8?B?TXRwZmgxVGU0SERuK1U2VUQzbHdDcFIxRktLRWJtUDU2K20xdUJHRHdxQURS?=
 =?utf-8?B?UEFZc1ZGNWNLLzEwNWlHZDRrdEs5TDBhalFvSXg0cHNWUFpnTmJDbjdXaGUz?=
 =?utf-8?B?U1ltSGNEVXRyVmQxQkxsMi9vVEkxQWVQTHJSV24zaVpCN3l6VDNjWjhkRWVJ?=
 =?utf-8?B?R0FMTTV1bTh1MURyOXIxbkJFUGFVRlVxNFpJdndIa29KZmQwT0QwQnFMYnZy?=
 =?utf-8?B?ai8yNys4NHVOMmZiT0sydHFjTnllbFpwTkdUTXh6QlkxSkVKYTc2YlQyc0RC?=
 =?utf-8?B?YTIvaUtFZHArTk1qQUF4UVlyR3FuUkViRGE4NnYyYXluWVN0ZXIzT2ljYTFN?=
 =?utf-8?B?TEdhQWNHR1lnVXdaZ0Mxd3dmQlJMVXRySlhTNy9rR2tLM0s2ZGxRUllRTGll?=
 =?utf-8?B?dnI4TGhIN3VaWFpRWkIxWmZsT2ZTSUtaS1FybGxxZW4zeUFUN0FTQ3lKOXpX?=
 =?utf-8?B?ODdySER1aEdZdFJPcnA1aHhzcUQxMUF4bThNVXVvTzNxVHRxTis1TUNrcTBm?=
 =?utf-8?B?allBYitoTFhPbDVLeTdCcUN4anlpU1B5QXV6NXZJMEp4N3BYQ1JmRlZPREZa?=
 =?utf-8?B?a0VNbVBSVVdVWEcrbGJNZGpQZkhrcThydHlPK0xaZm1VOFM1L1A3cmx5aXZt?=
 =?utf-8?B?QjNGdFp3TUx2M3E2WFpVUHZKU1dpMTdsT1JtOEdMSW42ZDJUK2JtRTNiQWNS?=
 =?utf-8?B?UkxDTG9YTHl4RmpEZGFiTk5JT2QwcTlUemFDVHpGcWNFTTBETUlDek8vdjV4?=
 =?utf-8?B?MmVpQmhXbDcvampsMld5UUI1S3Q0ZG5iMzRISTFGY294RGJaOUhvcUwyOURw?=
 =?utf-8?B?a2pEMGltMkVHVnV0VDdCc3laOVFLOUZ5MUs3NzE1bDZBck1VY2FTcGdhUDM1?=
 =?utf-8?B?blI4dUx2b1FxS3BUZmsxU09PR092djJsS0Rjdkc5QW5LZjZpZEhoeDRqNi9G?=
 =?utf-8?B?c1hBaHREZjczbWJ2UjZpRXpKUXUwTU44REIvR1hOWEtUZjJaaTEvMktMa0pN?=
 =?utf-8?B?aU5LWEZFaVZYdmtMNmRkQXFBK2lzWnd0bmo1R2RBTkhmcngwM244dGdadG1D?=
 =?utf-8?B?WDZyMVQxRGpYb24yRmR0SExoK3N0T3I2UlQ5cVZpQ1dqeFV5MWxvMi85UitD?=
 =?utf-8?B?QzNla0p3R2JpY1pqbmoxWXZiWDF3RXl1WENVemdUdnhLN3FRTmMwbGNrOXIy?=
 =?utf-8?B?bE4yV2dYRCtGNWl3N2M1bmQzMDhTTzl6czl0NVEvc3ZsWjAydG8xdDVYVzJX?=
 =?utf-8?B?MHVqVVYxdURlMVNkL3p2OVk4Ulk5ZmNqd1BVSWtKSWNHa1ZJVDRwZi9CY21s?=
 =?utf-8?B?QTlTQkExTjRreDU4THBnMmlaMnQweWNSUzNTRGR0NzU4emdTRTdiMUpNdHRo?=
 =?utf-8?B?UVk0aDVxQ1dpMEpDd0U0bWVUSTRXbHgwOU5QcGw2SGhiaHN0bkRyM2xtLy9Y?=
 =?utf-8?B?OFVSOFlmbEFkdjM5VnU4bGNQd2p3b3ZuNTd6bm1aOWwvOUg4NmRjMDRId0dJ?=
 =?utf-8?B?Z3pGY2NzUUNycTNZZU1lQ3VCWFZwNDlBa0t5OFJyeDJlcFlGZ0xRNkFGN2JT?=
 =?utf-8?B?V3AwRmo3cVdOaDNncTFSQjh6SSt4M0VaQ2gxbk96RndXcTZpNTBZb1pqc1Rp?=
 =?utf-8?B?MytiRlBaTTBOUTFxMlRoQmIzUHhZTU9tTUJ4c1VucXVwcSsxU0hrNTZ2OElC?=
 =?utf-8?B?b0cwaEZJSXV4blFTL3hzeGdTN0xuaEdmNG9lTDZERFZSOU14UTNpK0VodGlX?=
 =?utf-8?B?d1dmU0IxNUIrdUk1R2l3aVNjMG9yOGQ5M3BEUGI5WDRNbHl5UTdpMVZnNito?=
 =?utf-8?B?R1BPZThrMWpsUi9FTU9UNllmc2VMQUtuS0tRaGk2aXJOdDh6R0cxaTRhU3ZB?=
 =?utf-8?Q?o8/i72fX5M0/LtrfkqQQQhrcU?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7991.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5bbbbe8-0f9f-49d6-b613-08dad6b67800
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2022 11:47:21.1582
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Rt/SPGLGK3ZpcnAE4pd6Fe6q+WDdT2DB59EqY2P4HOviBTYdA7drg7doZ5Lyos7hRSKHjFRyri9Li45GOm67HA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB8820

SGkgSnVsaWVuLA0KDQo+ID4gU3BlYWtpbmcgb2YgdGhlIGNoZWNrbGlzdCBhbmQgbWF5YmUgaXQg
aXMgc2xpZ2h0bHkgb2ZmIHRvcGljOiBXaWxsIGl0IGJvdGhlcg0KPiA+IHlvdSBvciBvdGhlciBt
YWludGFpbmVycyBpZiBJIHNlbmQgYSBwYXRjaCB0byByZW1vdmUgdGhlICJxZW11LWl3aiINCj4g
PiBzZWN0aW9uIGluIHRoZSBicmFuY2ggbGlzdD8gQWNjb3JkaW5nIHRvIHRoZSBkaXNjdXNzaW9u
IHdpdGggSWFuIFsxXSwgSSB0aGluaw0KPiA+IHRoaXMgY2FuIGJlIHNhZmVseSBkcm9wcGVkLCBh
bmQgSSBhbSBhc2tpbmcgYmVjYXVzZSBJIHRoaW5rIHRoaXMgaW5kZWVkDQo+ID4gY2F1c2VzIHNv
bWUgY29uZnVzaW9uIGluIHRoZSA0LjE3IGJyYW5jaGluZyBwcm9jZXNzLg0KPiBUaGVyZSBhcmUg
YSBmZXcgYml0cyBpbiB0aGUgYnJhbmNoIGNoZWNrbGlzdCB0aGF0IG5lZWRzIHRvIGJlIHVwZGF0
ZWQuDQo+IFRoaXMgaW5jbHVkZSByZW1vdmluZyB0aGUgc2VjdGlvbiAicWVtdS1pd2ouZ2l0Ii4g
SSB3aWxsIGFpbSB0byBzZW5kIHRoZQ0KPiBzZXJpZXMgdGhpcyB3ZWVrLg0KDQpDb29sLiBUaGFu
a3MgZm9yIHlvdXIgdGltZSA6KQ0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiBDaGVl
cnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 12:06:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 12:06:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453561.711142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2AEO-0007NJ-2e; Mon, 05 Dec 2022 12:05:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453561.711142; Mon, 05 Dec 2022 12:05:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2AEN-0007NC-Vy; Mon, 05 Dec 2022 12:05:55 +0000
Received: by outflank-mailman (input) for mailman id 453561;
 Mon, 05 Dec 2022 12:05:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Qip=4D=chromium.org=ribalda@srs-se1.protection.inumbo.net>)
 id 1p2AEM-0007N6-IZ
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 12:05:54 +0000
Received: from mail-qk1-x72b.google.com (mail-qk1-x72b.google.com
 [2607:f8b0:4864:20::72b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a209871-7495-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 13:05:53 +0100 (CET)
Received: by mail-qk1-x72b.google.com with SMTP id z17so4713515qki.11
 for <xen-devel@lists.xenproject.org>; Mon, 05 Dec 2022 04:05:53 -0800 (PST)
Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com.
 [209.85.219.54]) by smtp.gmail.com with ESMTPSA id
 u11-20020a05620a0c4b00b006fc8fc061f7sm12171892qki.129.2022.12.05.04.05.51
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 05 Dec 2022 04:05:51 -0800 (PST)
Received: by mail-qv1-f54.google.com with SMTP id mn15so8002308qvb.13
 for <xen-devel@lists.xenproject.org>; Mon, 05 Dec 2022 04:05:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a209871-7495-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=chromium.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=je642uC/QM2q2uiJ455cWQgJTQZ2s2VIKEuHkYSqLSY=;
        b=FEmiEyAfYIdpKkVVrcM2myJBq9Gd26hAz6+4yOpADnvfMVE0aPesCBgx342rXF08lp
         TCQyXF8GkzmtS6Z9YrWkolPOItK1xsEU+96tzXEDb1AlyAmzgDCo23jDO4Kl30xB1XIr
         tkvIYPgXOQR4RxorORzC5LorpFYswRYs8vLVc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=je642uC/QM2q2uiJ455cWQgJTQZ2s2VIKEuHkYSqLSY=;
        b=O7dcMyJFQrMWMkbSqLO32rMEY4apZ85UKEziuP5Rhbjnxo0ycBmRQmRgtAyA6QeG3f
         pdb+WeVUHZ/unJCqKOs3CElimXeVnEwRybYP6xsDANicY0MZ7RDpySBsM2Xm/0TrSoZL
         dnhI31tsWFK7kuFDZ3ZSlWpYpx6tjAnVn2QfuNiZzMoCawkNmNTMDJygRUyhyHbY1yZk
         6ExAEsr0jNTLlK5fKk2fOhLSE7QCMxFG6aXbs4gL22RnT1pVB1k177j6nwKs4+pqdM8a
         +BwQAQEdbueb9wHHRHxy2gK6HVOHRMNvXzdtwko9ayBmxP/na/wrLr35CfoxFX/nZ0+/
         lNwA==
X-Gm-Message-State: ANoB5pnrVznMUGymGxEq9JYRtTWYau9pMnhAPRTLA3jpP9rHq+DVE8eH
	VK5uS05QywYpJalYlYjinbwIxsnAwQsPyWi8
X-Google-Smtp-Source: AA0mqf7yjuX1Xk36JEgpIkjyNVpQfEq9egamT+5i5rFOaecfy0i5+WNIhM/RvjHyDGGLTtVMv4o8nQ==
X-Received: by 2002:a05:620a:a02:b0:6fc:abc5:7faf with SMTP id i2-20020a05620a0a0200b006fcabc57fafmr14696674qka.290.1670241951765;
        Mon, 05 Dec 2022 04:05:51 -0800 (PST)
X-Received: by 2002:a17:902:7d93:b0:186:9cf4:e53b with SMTP id
 a19-20020a1709027d9300b001869cf4e53bmr68703080plm.50.1670241940337; Mon, 05
 Dec 2022 04:05:40 -0800 (PST)
MIME-Version: 1.0
References: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org>
 <20221127-snd-freeze-v8-2-3bc02d09f2ce@chromium.org> <CAJZ5v0jbKSTQopEoXW9FpqDmAqp6Pn=-Om5QP2-7ocuGdq8R9w@mail.gmail.com>
In-Reply-To: <CAJZ5v0jbKSTQopEoXW9FpqDmAqp6Pn=-Om5QP2-7ocuGdq8R9w@mail.gmail.com>
From: Ricardo Ribalda <ribalda@chromium.org>
Date: Mon, 5 Dec 2022 13:05:29 +0100
X-Gmail-Original-Message-ID: <CANiDSCt2+2EQpXvgQqTA3VwbfwDb=BsXn_YNcc05GK9xdTpVkA@mail.gmail.com>
Message-ID: <CANiDSCt2+2EQpXvgQqTA3VwbfwDb=BsXn_YNcc05GK9xdTpVkA@mail.gmail.com>
Subject: Re: [PATCH v8 2/3] freezer: refactor pm_freezing into a function.
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Juergen Gross <jgross@suse.com>, Mark Brown <broonie@kernel.org>, 
	Chromeos Kdump <chromeos-kdump@google.com>, Daniel Baluta <daniel.baluta@nxp.com>, 
	Christophe Leroy <christophe.leroy@csgroup.eu>, Len Brown <len.brown@intel.com>, 
	Ard Biesheuvel <ardb@kernel.org>, Ranjani Sridharan <ranjani.sridharan@linux.intel.com>, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Nicholas Piggin <npiggin@gmail.com>, 
	Michael Ellerman <mpe@ellerman.id.au>, Eric Biederman <ebiederm@xmission.com>, 
	Dave Hansen <dave.hansen@linux.intel.com>, Jaroslav Kysela <perex@perex.cz>, 
	Joel Fernandes <joel@joelfernandes.org>, Liam Girdwood <lgirdwood@gmail.com>, 
	Peter Ujfalusi <peter.ujfalusi@linux.intel.com>, Pavel Machek <pavel@ucw.cz>, 
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>, 
	Kai Vehmanen <kai.vehmanen@linux.intel.com>, Steven Rostedt <rostedt@goodmis.org>, 
	"K. Y. Srinivasan" <kys@microsoft.com>, Ingo Molnar <mingo@redhat.com>, 
	Bjorn Helgaas <bhelgaas@google.com>, Dexuan Cui <decui@microsoft.com>, Takashi Iwai <tiwai@suse.com>, 
	"H. Peter Anvin" <hpa@zytor.com>, Bard Liao <yung-chuan.liao@linux.intel.com>, 
	Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
	Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, x86@kernel.org, 
	kexec@lists.infradead.org, alsa-devel@alsa-project.org, 
	stable@vger.kernel.org, sound-open-firmware@alsa-project.org, 
	linuxppc-dev@lists.ozlabs.org, linux-hyperv@vger.kernel.org, 
	linux-pci@vger.kernel.org, linux-pm@vger.kernel.org, 
	linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

Hi Rafael

On Fri, 2 Dec 2022 at 18:48, Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> On Thu, Dec 1, 2022 at 12:08 PM Ricardo Ribalda <ribalda@chromium.org> wrote:
> >
> > Add a way to let the drivers know if the processes are frozen.
> >
> > This is needed by drivers that are waiting for processes to end on their
> > shutdown path.
> >
> > Convert pm_freezing into a function and export it, so it can be used by
> > drivers that are either built-in or modules.
> >
> > Cc: stable@vger.kernel.org
> > Fixes: 83bfc7e793b5 ("ASoC: SOF: core: unregister clients and machine drivers in .shutdown")
> > Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
>
> Why can't you export the original pm_freezing variable and why is this
> fixing anything?

Because then any module will be able to modify the content of the variable.

The Fixes: is because the last patch on the set is doing a real fix.
If you only cherry-pick the last patch on a stable branch, the build
will fail. (Also, the zero-day builder complains)

Anyway, I think we can hold this patch for a bit. The snd people are
discussing if this the way to handle it, or if we should handle
.shutdown in a different way.

Thanks!


>
> > ---
> >  include/linux/freezer.h |  3 ++-
> >  kernel/freezer.c        |  3 +--
> >  kernel/power/process.c  | 24 ++++++++++++++++++++----
> >  3 files changed, 23 insertions(+), 7 deletions(-)
> >
> > diff --git a/include/linux/freezer.h b/include/linux/freezer.h
> > index b303472255be..3413c869d68b 100644
> > --- a/include/linux/freezer.h
> > +++ b/include/linux/freezer.h
> > @@ -13,7 +13,7 @@
> >  #ifdef CONFIG_FREEZER
> >  DECLARE_STATIC_KEY_FALSE(freezer_active);
> >
> > -extern bool pm_freezing;               /* PM freezing in effect */
> > +bool pm_freezing(void);
> >  extern bool pm_nosig_freezing;         /* PM nosig freezing in effect */
> >
> >  /*
> > @@ -80,6 +80,7 @@ static inline int freeze_processes(void) { return -ENOSYS; }
> >  static inline int freeze_kernel_threads(void) { return -ENOSYS; }
> >  static inline void thaw_processes(void) {}
> >  static inline void thaw_kernel_threads(void) {}
> > +static inline bool pm_freezing(void) { return false; }
> >
> >  static inline bool try_to_freeze(void) { return false; }
> >
> > diff --git a/kernel/freezer.c b/kernel/freezer.c
> > index 4fad0e6fca64..2d3530ebdb7e 100644
> > --- a/kernel/freezer.c
> > +++ b/kernel/freezer.c
> > @@ -20,7 +20,6 @@ EXPORT_SYMBOL(freezer_active);
> >   * indicate whether PM freezing is in effect, protected by
> >   * system_transition_mutex
> >   */
> > -bool pm_freezing;
> >  bool pm_nosig_freezing;
> >
> >  /* protects freezing and frozen transitions */
> > @@ -46,7 +45,7 @@ bool freezing_slow_path(struct task_struct *p)
> >         if (pm_nosig_freezing || cgroup_freezing(p))
> >                 return true;
> >
> > -       if (pm_freezing && !(p->flags & PF_KTHREAD))
> > +       if (pm_freezing() && !(p->flags & PF_KTHREAD))
> >                 return true;
> >
> >         return false;
> > diff --git a/kernel/power/process.c b/kernel/power/process.c
> > index ddd9988327fe..8a4d0e2c8c20 100644
> > --- a/kernel/power/process.c
> > +++ b/kernel/power/process.c
> > @@ -108,6 +108,22 @@ static int try_to_freeze_tasks(bool user_only)
> >         return todo ? -EBUSY : 0;
> >  }
> >
> > +/*
> > + * Indicate whether PM freezing is in effect, protected by
> > + * system_transition_mutex.
> > + */
> > +static bool pm_freezing_internal;
> > +
> > +/**
> > + * pm_freezing - indicate whether PM freezing is in effect.
> > + *
> > + */
> > +bool pm_freezing(void)
> > +{
> > +       return pm_freezing_internal;
> > +}
> > +EXPORT_SYMBOL(pm_freezing);
>
> Use EXPORT_SYMBOL_GPL() instead, please.
>
> > +
> >  /**
> >   * freeze_processes - Signal user space processes to enter the refrigerator.
> >   * The current thread will not be frozen.  The same process that calls
> > @@ -126,12 +142,12 @@ int freeze_processes(void)
> >         /* Make sure this task doesn't get frozen */
> >         current->flags |= PF_SUSPEND_TASK;
> >
> > -       if (!pm_freezing)
> > +       if (!pm_freezing())
> >                 static_branch_inc(&freezer_active);
> >
> >         pm_wakeup_clear(0);
> >         pr_info("Freezing user space processes ... ");
> > -       pm_freezing = true;
> > +       pm_freezing_internal = true;
> >         error = try_to_freeze_tasks(true);
> >         if (!error) {
> >                 __usermodehelper_set_disable_depth(UMH_DISABLED);
> > @@ -187,9 +203,9 @@ void thaw_processes(void)
> >         struct task_struct *curr = current;
> >
> >         trace_suspend_resume(TPS("thaw_processes"), 0, true);
> > -       if (pm_freezing)
> > +       if (pm_freezing())
> >                 static_branch_dec(&freezer_active);
> > -       pm_freezing = false;
> > +       pm_freezing_internal = false;
> >         pm_nosig_freezing = false;
> >
> >         oom_killer_enable();
> >
> > --
>
> --
> You received this message because you are subscribed to the Google Groups "Chromeos Kdump" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to chromeos-kdump+unsubscribe@google.com.
> To view this discussion on the web, visit https://groups.google.com/a/google.com/d/msgid/chromeos-kdump/CAJZ5v0jbKSTQopEoXW9FpqDmAqp6Pn%3D-Om5QP2-7ocuGdq8R9w%40mail.gmail.com.



--
Ricardo Ribalda


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 12:39:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 12:39:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453584.711157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Al0-00040S-LS; Mon, 05 Dec 2022 12:39:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453584.711157; Mon, 05 Dec 2022 12:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Al0-00040L-IQ; Mon, 05 Dec 2022 12:39:38 +0000
Received: by outflank-mailman (input) for mailman id 453584;
 Mon, 05 Dec 2022 12:39:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2q+k=4D=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p2Akz-00040D-BZ
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 12:39:37 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df06ae0e-7499-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 13:39:35 +0100 (CET)
Received: from BN9PR03CA0783.namprd03.prod.outlook.com (2603:10b6:408:13f::8)
 by DS7PR12MB8081.namprd12.prod.outlook.com (2603:10b6:8:e6::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 12:39:30 +0000
Received: from BN8NAM11FT026.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:13f:cafe::b4) by BN9PR03CA0783.outlook.office365.com
 (2603:10b6:408:13f::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Mon, 5 Dec 2022 12:39:30 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT026.mail.protection.outlook.com (10.13.177.51) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.14 via Frontend Transport; Mon, 5 Dec 2022 12:39:29 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 06:39:29 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 06:39:26 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Mon, 5 Dec 2022 06:39:24 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df06ae0e-7499-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jMiqqMrazj14vaf08cfCBNR3hvozS13htiwnx52PNOqLt9kmoxEaG357mn4NNnBH+YsjO9w6aLTG2J5KNdL2vZJuW2o1QASbhB3RysnIrx3yrjwI2U4859VxOAcBE/qFc5LRxYCCjDycu+2xtRGHuYcW76+mweXoLNBvzI69FDIg+Ct4KfJFo6FQHtCO3xGZ95ViiV4jm9qet8zQ6ijN/WnllxVwbWbV7YbK3XXora7BI/zrdKurMKmylolHGxPq+slSFvi9BHUnR2eld4pBTfbNoFgPUS2o4cdRK+yuymIuUDF8jkcVn/tR3TMBIz2Q53Z6KLht/k3UPt3quCuE6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A9qOP7PT/4Pf87Wgv6YgXPDZZq7+gLLDokToaLQohWA=;
 b=QIEErrVyGnbdMtQEvYiK9XEqioHwPAWQQI9K7feW8J8ML5phXkW6Z6940DUxGHBVYN0G+cx9FpHB5KnFdWpKVPfM+fFAoa0xwyVIka8wuCnjZ3gPMItAYQTCiNllfumM7boon72hhBBk7iXC7YV7cN9J/zpOA7dI34OD2kB23tWr5Z3u85MzHLdwmmL1XULMGrPPYGvyQ91qXJdsl+jCBoVUnAhSraiwOdapM0ljuuLi9N6zIQvE7Z3A8ZmY6q+PCpWr977yDb76pmydNOfrhoDLRHZWza4AK3WMmlfWFVtBrLGyPzrZ13F2FQNKp7IQUolQ0Phn/fRmpR/105Oa2A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A9qOP7PT/4Pf87Wgv6YgXPDZZq7+gLLDokToaLQohWA=;
 b=M3DMTzW4T7TeKHZvbdyezdvUB7XxpLKS1kVRkqJz9ydCt0CLcKZmJ/uXae3W8hv389xPjmJRjGUI7Px33qV5ogIpZJILt7NLSa+W8wC9gz8AtKuU46c9sB/adCAECCH0mJeH/uKTnT2eTwju2nPTEyFBhktque7LfBuKGS8i8d0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <6ab96cd0-9b9a-6ad4-50b1-ed5e02812696@amd.com>
Date: Mon, 5 Dec 2022 13:39:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v5 1/2] xen/arm: vpl011: emulate non-SBSA registers as
 WI/RAZ
Content-Language: en-US
To: Jiamei Xie <jiamei.xie@arm.com>, <xen-devel@lists.xenproject.org>
CC: <wei.chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, "Julien
 Grall" <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221205072640.2092473-1-jiamei.xie@arm.com>
 <20221205072640.2092473-2-jiamei.xie@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20221205072640.2092473-2-jiamei.xie@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT026:EE_|DS7PR12MB8081:EE_
X-MS-Office365-Filtering-Correlation-Id: ee790d15-8587-48ed-c05e-08dad6bdc0d9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	q838UnKGdhYVL6fpCtTi007n1H/z17ehCwJhlh0i54ftII4LJd3mF2vCgoi2tUOXi0N8O6EWHGJDeYM603cErNL2hbrZ0RPxQqyLMtUS5Aw0CWzMku2RHxZXvbeL98pvn6xDAAdJGql3DH05bBZGC2hruFVMk8RR5PiSNxwOcEhB5cO4J5HtIqX98rWvhOvLZwLJKZsfjKDh/V8rEnVqi7h7SsqW2gLlGLHfA3IKvhmUFn5+dvM/o1lCHSh2t59BSRo94MCyfj0VTRg1akUiRKtiG6JjHv/iOpRCEmJpA8KcKUWeWbxAGOumfG7SH87aQTFBbyx/qLvGquKTYv6cAUzOE0PFRuskLsNNZNo9lYcF+T+3CNFqpIESW6GHTgHCHXl42f8605gX3DmXQmiuZ2p6aZvnNM8w27tFsmT4891r314H+9e5tsNmDRcE+zzblHjHznfnikW8VpKGKXAicFGiKTIp9yEel0M2RaeyyDoeCk1HIG5hGUwOPNzUGPlVOCuLD1QownRh7JYLp3GvHTm4CTApsqtF4j2tRbEXj/rBH5gjunyVEbgYhK6/NSbCwcEVYOaFMP3OouHdKJ1sN+G/NCtrVnUM+AA87OHuWnoI8sKSk8x33G2OWYkxNeZwWK3CmlYif4nr0Ld9+ZYOXPD4GLupQfN8RDtGdxLjKJrixN79btYB1OpoxPsDYWiwkGBIHFCfyNdigcAhrZFdZJBzHGr/W136zmAjMpXL/CfO2bRa1tjscWsC1qdPIOgf/TmnmLv0keDE5kyCRa9lTI38qMRSfd2WsPCZTJxu2HDyTw6B6qeSAvtkNM4XXZbZdtGfo7xH3mtBcKk7jd0iHw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(376002)(346002)(396003)(451199015)(40470700004)(46966006)(36840700001)(36756003)(82740400003)(31696002)(86362001)(356005)(81166007)(2906002)(40460700003)(41300700001)(8936002)(4326008)(44832011)(5660300002)(36860700001)(83380400001)(70586007)(478600001)(966005)(70206006)(316002)(16576012)(54906003)(2616005)(110136005)(31686004)(40480700001)(8676002)(82310400005)(336012)(47076005)(426003)(53546011)(26005)(186003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 12:39:29.8536
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ee790d15-8587-48ed-c05e-08dad6bdc0d9
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT026.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8081

Hi Jiamei,

On 05/12/2022 08:26, Jiamei Xie wrote:
> 
> 
> When the guest kernel enables DMA engine with "CONFIG_DMA_ENGINE=y",
> Linux SBSA PL011 driver will access PL011 DMACR register in some
> functions. As chapter "B Generic UART" in "ARM Server Base System
> Architecture"[1] documentation describes, SBSA UART doesn't support
> DMA. In current code, when the kernel tries to access DMACR register,
> Xen will inject a data abort:
> Unhandled fault at 0xffffffc00944d048
> Mem abort info:
>   ESR = 0x96000000
>   EC = 0x25: DABT (current EL), IL = 32 bits
>   SET = 0, FnV = 0
>   EA = 0, S1PTW = 0
>   FSC = 0x00: ttbr address size fault
> Data abort info:
>   ISV = 0, ISS = 0x00000000
>   CM = 0, WnR = 0
> swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000020e2e000
> [ffffffc00944d048] pgd=100000003ffff803, p4d=100000003ffff803, pud=100000003ffff803, pmd=100000003fffa803, pte=006800009c090f13
> Internal error: ttbr address size fault: 96000000 [#1] PREEMPT SMP
> ...
> Call trace:
>  pl011_stop_rx+0x70/0x80
>  tty_port_shutdown+0x7c/0xb4
>  tty_port_close+0x60/0xcc
>  uart_close+0x34/0x8c
>  tty_release+0x144/0x4c0
>  __fput+0x78/0x220
>  ____fput+0x1c/0x30
>  task_work_run+0x88/0xc0
>  do_notify_resume+0x8d0/0x123c
>  el0_svc+0xa8/0xc0
>  el0t_64_sync_handler+0xa4/0x130
>  el0t_64_sync+0x1a0/0x1a4
> Code: b9000083 b901f001 794038a0 8b000042 (b9000041)
> ---[ end trace 83dd93df15c3216f ]---
> note: bootlogd[132] exited with preempt_count 1
> /etc/rcS.d/S07bootlogd: line 47: 132 Segmentation fault start-stop-daemon
> 
> As discussed in [2], this commit makes the access to non-SBSA registers
> RAZ/WI as an improvement.
> 
> [1] https://developer.arm.com/documentation/den0094/c/?lang=en
> [2] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2211161552420.4020@ubuntu-linux-20-04-desktop/
> 
> Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
As I wrote in v4:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 13:01:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 13:01:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453591.711168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2B5Z-0008V7-Co; Mon, 05 Dec 2022 13:00:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453591.711168; Mon, 05 Dec 2022 13:00:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2B5Z-0008V0-8M; Mon, 05 Dec 2022 13:00:53 +0000
Received: by outflank-mailman (input) for mailman id 453591;
 Mon, 05 Dec 2022 13:00:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2Zgi=4D=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2B5Y-0008Uu-1z
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 13:00:52 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20612.outbound.protection.outlook.com
 [2a01:111:f400:7d00::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d76a6a70-749c-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 14:00:50 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8298.eurprd04.prod.outlook.com (2603:10a6:10:248::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Mon, 5 Dec
 2022 13:00:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 13:00:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d76a6a70-749c-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XUqLYdqCtiCJppvjjNdvxS9EqY6bfoKDttLnrhkSK2c3A2UBabEG83ZEOmLxPQFg36w+TdmpJeTkYOx/N0KIaPKY/AZVUfyss1yQivK1/2S5triAp2EhYV03doMxa1jqdR2sIS6lR9f2+YexSHonv4pTEtJbsLa9eNGHUEmoTkBDTznYGOkIThOd2v+gz1Bif/sV2k0PruKmt3VL6Rghvae5QkC8q0m1bXkKTsIbB3F+fgHlMXUGDw9jz/NBjmtXPYcUECs9pPM1dIRymjJl5sSe3t5FK1UzJLffUHDry3KfCpfAxDG/Zsm0o3aE4ZIOD78c9AAeZtWyL1CHNlQZEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WD601j0h9c8FpBj4o2zuup7BecZ07U/aFRWUX4aVJ88=;
 b=PF4sun4E/9tMS58q52Z/SUAb6WPoW0W+fSszloJzfDKPHKnuU0v8F0XCqnqgMcWMY6hu63ods+LjKqiXDa1QAlygnmE7SZcxsLohh/C787dvZG+sUfZrl6MeW7rcX4K1NzhpmaQ6OVtlUHQ241+50Nl0jz1lWfMRJJrTEgX+dd0nRcp93dp0sffrH2Y9g2Owdf2a8STHSkX3JUKxYRZ1+Swqm0sGzr4x7NbSdBOYLpmRWcFszFhTmDrvlyxa0wne02qB0zl03ovzArPcPbkmS3BFZJDfCNy+UtABuGDvoJDAO641gxRsFgaH/7rVeRsb2Ujf2V5nRB/3un1ulfuyNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WD601j0h9c8FpBj4o2zuup7BecZ07U/aFRWUX4aVJ88=;
 b=SEcATz6ruZEF9vWIY5/0cVW5WVg2NLfQHbqJ3meVGsfZ5/jKmtPmXqtLe6QvgquJT9yKxScFUe+/phO9aDaGVP6FNyE8aEuvn7uhf/ArRzL174v+mr3YRGFlA85MuhYSz5TcMgd2swaBrF5WP/txxRf2po7ItRW1Toz93+WyegLIQ17tTEcv6//GjldE3uhcJyecaXlXMKa3fpUMYByMxcyKurM1jU2QLV7A2Tt7dN7RWF/gMzcIgID98Ra1pPx0z9eOPOt6L+5fouGieam3204hW27db4iPPtaHP8MP2FHyVqS3GpTaTJcwv1f+gQHL0g4EdEbDyVRRBykXt11OFQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0c5cdda7-e305-a40a-cfc1-f6805afc9147@suse.com>
Date: Mon, 5 Dec 2022 14:00:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 1/5] x86/platform: introduce hypercall to get initial
 video console settings
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: marmarek@invisiblethingslab.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, xen-devel@lists.xenproject.org
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-2-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221123154525.63068-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0202.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8298:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ff4f31a-e9d2-4f5c-da7d-08dad6c0ba44
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZfuM8iAvDyc/FyQEXfIwZsVX1E7ZYn5ZmehLLfr2OD7JouSJh6tiKbAPgkvw5hSm6nQDv2UiU+i4MeGaw2/8Lp5fkh1E5C3dJvDcB4dD64xbFUcZZcUNahVMAXbQlSDBB82B1Px9nVLa//ApFbEDkJQZWMA2E9wysG0ItuqrIIG7bqFgkuXCfjSpNIPocKhfg3NxsMfbt/Oy9Zra/167j9x6NIk6xcEWAIePwCqN/e+sBeggdKDcXYbTnAOynlFGWLYGPdoZwBE9puZD5cJ1Qo3G8WlZA8dH12mmSG+TX7+Kc0rxQMaXoK06sklXnLtjRdkmU9UYymNLGV6ZKVul0CNNp69qiKo8rfZKTIa1OjKdEh/o2ZP5ot9sXunGbBBcemFNihLvMR4TGdbhkG25ZM1wbh9nobW2oiqzgrkvHZ7rAZShfD3MM+coMnBpj4V96C7sI8tRIvXedZDzl1XS6G/7+Fcmk5EPHVVqPnizsSSueskGgYOum6AfjggWAsWAbLDLZu39zjP16aWINNqTA8tYkV8Ab1u38FDF3+PZ/vGd2xH1mSLI4uTiJmThkHL2aUP0FfgP5ZsMzzxwZj1Y0uXG3c1tZ/yg/hprf442F8S3hxWiJfw+MmY+rpGfgIgI8XmU0MZmJOH2qpGgt91DAQTzfQYHt+SSLEFPLIN4b8Eni97UWc3DHjVYX2duZ3hXD6cfi96J+fbPliYFZ78zJERj1THkMNyWjSnsBFw+rak=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(396003)(366004)(346002)(39860400002)(451199015)(83380400001)(186003)(6512007)(26005)(41300700001)(8936002)(38100700002)(2616005)(5660300002)(54906003)(36756003)(6506007)(6916009)(6486002)(4326008)(4744005)(2906002)(53546011)(478600001)(316002)(31686004)(31696002)(86362001)(66946007)(66476007)(66556008)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cnI2Q0ZwODdhNmJwemo5Yi9CZnBRVlpXQTY3YmhjWEE3bDg3MGVUekFINWN1?=
 =?utf-8?B?Mkg4NjUvWkYveGhYK05INmZLTkNET3ptSWlLenVpNVBxVHZQdWdXSXVqVFJk?=
 =?utf-8?B?YlhscVJiSEhRaSsvTTkwVzNUUzdvM0NZTmltc3l4WEtGZEM5SkJwWEVzN25R?=
 =?utf-8?B?c3RveThKbW5FOXdKbTJwZmtpbnNqbjFNbmU1aDJHOFFUWEl5TXhEN1NoQW0r?=
 =?utf-8?B?TXVpVmExN0xvR2Uzdmg2T1BnMVVnYWp2dWJXK1k4WkpLUnZ2Q0YybHljWWEy?=
 =?utf-8?B?ckFhWWJTR0VpU24rYzZvQ3lLTmlqMUovbUJKVzZHOVl1V28xQit2Qk44Vnlu?=
 =?utf-8?B?MGJTMGlLSnd1YUV0Qk9PMlJUeS9xejc5VUFhRm5YNHR3Ymw2YmJHM1lkMHFs?=
 =?utf-8?B?aE9UZnRYWGtvK2JmejlRSUtCRW01S09VbVc2VFNQckJ4ZWxPcnlTckNKZWda?=
 =?utf-8?B?bU5jUkwwcEIwMjhtc29GVEZDZnlOMkoxNThneHBreEdkWnJ2Nm5ieG00N3FI?=
 =?utf-8?B?TnJKdnVoWDI4cDB0ZFA0Y1RLK0h4UFdjak5pYmVKUXVsRVhqaDJvbFp0bFh2?=
 =?utf-8?B?WFp0VFN1SWVQdCtEVWF0Z29ZeU9SWjdFQUg1MFlGdWdDa25rTU1jUFRPcU85?=
 =?utf-8?B?UTMzVnk4ekdaMzYxZjBvVU5yTkdXY0RxWFpoRHhxbWFqcEtoaTk2elFGWW0x?=
 =?utf-8?B?cU4zSWN1Z3ErbGJhOHMwWElEMC9HZ3RsbW03U3RVU2F6cnZtckZaS3F3Mzdu?=
 =?utf-8?B?SjUvdmNWcXZoUWlhaUx4aERCN003aStBdzhCK1drRStWOXJuSUVabXBvRkxW?=
 =?utf-8?B?eTAzelU4aHZ5NHJ5N0paTGljWUtJbWVKZXhSVGVPTU1xN3B6eUtxWUNibzR0?=
 =?utf-8?B?ejAwK0lnSTlMSnd0dUFIMTluMm83WmZvR1psSUpQamhocERPOHM0M3Z1ZDV1?=
 =?utf-8?B?bk1NNGMxVVJDazU1d2VmQmxJNlYrUERqTkUvaFpCR2Q2V1h5ZURZaEdYd2ow?=
 =?utf-8?B?c1MvaUhINm1MQk02Qy9yQklOREhjWFVoVWJDSnhjeW8vellkamJWZlFCSFN1?=
 =?utf-8?B?UFJXZGhYMElhb0xOZi9ZTjJZQm1rV29FT2VaZXNuaER1VndmRjRGN1dJWitp?=
 =?utf-8?B?SmNOOWYzeWtXRjhKaE1SUUhVZ3JMOGt6WTJsTnpWMHAzWDh5WDREYnJqaHFV?=
 =?utf-8?B?S2NCNlRIMG44UnRRNWZrTk53dnl0M2tnaiswZlI2eUJ6VDRsQnE1TDVway9r?=
 =?utf-8?B?N0ZHZHJiZm02SlVDcGFBckhkMnREQlU0d3o0VjU1cEwxZjR2ZVlzc3RsbTdm?=
 =?utf-8?B?RFFjNnNkRVhOUTJNYndpR1J3amtkRHNaVFVLQ2ZqQ3ZrVHRlQ1BvWjNoZW52?=
 =?utf-8?B?OUNwVTJnOWdNNWlyYUFSVlJhQUk0Ulo4bGRGa2ViQmlMRElveXVwU3pGSGhk?=
 =?utf-8?B?dGVEdWlpRXFMVWxHL3Q4VXZVdnQ3QWE5YU50WTU3TE5hMU1YUUF1Rncxc01z?=
 =?utf-8?B?MzhJb1hWaTNLZUMvdUtubnYrYlY5L1VwNStPUFhHa2trWW9SUUZlQVJwUVdJ?=
 =?utf-8?B?OEM3blBHdEhrQ1NGTUUycmR2aTdvdDVRN1dLK05yTjVkelBnRVdNcEt4NDZ5?=
 =?utf-8?B?VTgwU2hhcFA1VnFPMHJjSjZvM2ZGNjRwdkVWOUJwQlV5dVVCUDFhbm13QWNK?=
 =?utf-8?B?U0JXMTVuYmZ6RytpNFpjM2hFUnFMYnhwZ29ieDNaVlVPWGRjZngzT1Bic2Q0?=
 =?utf-8?B?NmYyNzB3S1pWV1h2OUtVM0pSMnMvTC85aG1ZRmpRK3QrcE1nc01qZVlLZzJy?=
 =?utf-8?B?a3QrQWdQeHVHeURoVlFEMHNIQWFyQTJQSjQ2V3hVMEd2ZnZETkRWRHZXam0v?=
 =?utf-8?B?UDdSSndKL1d6a1pMZFJ5bkw2eUZDSkM5NERkVlYwamxMbnI2OEp0V0JxRE5t?=
 =?utf-8?B?VEpiaDYxTVdXaTRGYmx3Q1hiMDlCdGJRSmFiU1ozaG9Db0UvK3BFUytGZURp?=
 =?utf-8?B?Rk1KU0NxZUhTK25PQksxLzZvWlJZYnltSkhWclBabkpiMGs5T3NUdG5IckZt?=
 =?utf-8?B?a1FRb1VZMERJeDluMlZ3NExGTTV1eEIvQ1ViUk0zRVU1YUlKaktKWndzN0dV?=
 =?utf-8?Q?BBc4jdg73RLf+JhgkP+P1jj5Z?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ff4f31a-e9d2-4f5c-da7d-08dad6c0ba44
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 13:00:47.5204
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H64MbTLfsnKnncjfpf23xUqeQfBT2U7EGjB6xsezsEq5DtbxSlyQibEb0PApoVeO7PbYR1rjRiHEtrDaWvQCqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8298

On 23.11.2022 16:45, Roger Pau Monne wrote:
> This is required so PVH dom0 can get the initial video console state
> as handled by Xen.  PV dom0 will get this as part of the start_info,
> but it doesn't seem necessary to place such information in the
> HVM start info.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

I'm okay with this as is, so
Reviewed-by: Jan Beulich <jbeulich@suse.com>
but ...

>  xen/arch/x86/platform_hypercall.c | 11 +++++++++++
>  xen/drivers/video/vga.c           |  2 +-
>  xen/include/public/platform.h     |  6 ++++++
>  3 files changed, 18 insertions(+), 1 deletion(-)

... wasn't the goal for Arm to have the same interface?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 13:27:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 13:27:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453612.711190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BUm-0004AA-OV; Mon, 05 Dec 2022 13:26:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453612.711190; Mon, 05 Dec 2022 13:26:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BUm-0004A3-LN; Mon, 05 Dec 2022 13:26:56 +0000
Received: by outflank-mailman (input) for mailman id 453612;
 Mon, 05 Dec 2022 13:26:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p2BUk-00049F-Fz
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 13:26:54 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20600.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74e7f7da-74a0-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 14:26:43 +0100 (CET)
Received: from DM6PR10CA0012.namprd10.prod.outlook.com (2603:10b6:5:60::25) by
 PH8PR12MB6721.namprd12.prod.outlook.com (2603:10b6:510:1cc::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 13:26:46 +0000
Received: from DS1PEPF0000E641.namprd02.prod.outlook.com
 (2603:10b6:5:60:cafe::a0) by DM6PR10CA0012.outlook.office365.com
 (2603:10b6:5:60::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Mon, 5 Dec 2022 13:26:46 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000E641.mail.protection.outlook.com (10.167.17.201) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Mon, 5 Dec 2022 13:26:45 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:26:45 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:26:45 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 5 Dec 2022 07:26:43 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74e7f7da-74a0-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cFyJLuYHDAIn48Sy2YpkbkjA4jezam42kxGxPe73uLF5ebb88lLvbg+3boSSvEPrMT7QOZDe0yLwsKknpBqfdwmHhinYiXwdJLxqpu4C5lxQ7kmOM1KsZgjH7puWNUWPmygSWqIfrwl0of3M6KTuk53K5PF7b0bHLwo+wVW1kaCQThm2J76AXPFLtsDuqi8T8EP5iByDrt8D86g29FjZiFowTCi8qd2crKUHhTviEbJnQkZlWvraCCRm5q63a4Lc5rxjwXUh2vIw5vUiWkrCkHhSEqlsGmUHaMM3Xxg+uXDMTLYFnLuKXVUzHPurX8SLF6PcRzoHJ9oe7s4XhlZKaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IfUXAZQrIKkiNagnHJ7wx2BrbdiMgcEKOEdkkFLHNBg=;
 b=ZCe0oI5AYCFt/kZpqYoCOOo7BBnSn7jzVwq8tEMfPH1PF+Prlr8pfZBA/RJR9WEIBGvKF0yowcXeVv0G3VzxIx1S7xsd6HXwfzu8qOiRC3ZXHC4duGpPMELOF/Ua8SuR7O9hf8mF1vZ9IkkuawSorSDl1UyOVL+Xe+IJv0qqyrNiswXG254bQ7dYQgCKIcc4QSvyDANmNfvLhSH5cPu5w6o4G/l8non5ubVoZ6fIUWqRbzWclr6tcfU7NR8LSsMDKoLJNPl+1IdJortOvKO0sqQ8ASmGxGunIH5StzSRQl06957X++SJ0/SHNfggu/Tt6cn0845tT73d92PCZlNtag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IfUXAZQrIKkiNagnHJ7wx2BrbdiMgcEKOEdkkFLHNBg=;
 b=FlapATERC5NBLJkpZI2R/5GB3J/OBJYsN4+KCK+P2W4MYMXW+Jmxd4NtojaIApmwbh7wp8kEMeBCW+i+RqoYimSRL53bIWgZYwnLUMknhJzzMkJwOg/9Ra3FLB747QQ9YYYIpLbXNw6xDi9NYrmyLwrJBg8ZQmGfpuItL3Yv4S0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <burzalodowa@gmail.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 01/11] xen/Arm: vGICv3: Sysreg emulation is applicable for AArch64 only
Date: Mon, 5 Dec 2022 13:26:27 +0000
Message-ID: <20221205132637.26775-2-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E641:EE_|PH8PR12MB6721:EE_
X-MS-Office365-Filtering-Correlation-Id: cb7d4285-0378-4cef-0ee6-08dad6c45b1d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DtUG7Y2TKr+hHyLe/vUG95Qg5lghnfDgXdOLlHNWCyf2cBoAFvAQNRkLnfwLVJ9yanGO+CPB5OCh8bDoGN5MjLQqI3/yFbrTNtu280CQp9+fmwQezcQZX/7t583t7y8V7AwvRAIxZfx5i53MEK4oA62M6S5xqtRwYqpqqI/URTItI8j3TwWWHcCw1VO3LOaaxifp7BtAU60mkXuKSb+2TCvgnKAyHLkNkPrNZ415U2JIYMocttJ2GDQRwb9GLRIgXynCkyXKU+leW6MghafdG+qNjNe4S2Q8LdrIrqS4q6Zlp9dL4Jy/3cRAQxJz9KYIbgQm6Kvrb6FXeOD9mAUxIASvmAUskqQSnCLUtmzGCj+LV2YkxkOETmJOTi5y694ScjqcQRY+EmAgIA5ZMIRkQN7IIT9a2r87WuW2IALZ9WYP/wSMj44PQKtZEvU6bI2sJzIkMgh9euUy6eAVSdNWlHPCpjCLRH3ZqZrAAoDOUD5aTxrqp6ba5V0EbBpJmnhpXe6C1sQS/lz44u/tpUA2DsKmHsuwSu5pJj5GPqw9Qjsjui1nL8kCUjQ72VWWO3N8USXfTdAdIDQqM7hEDKU3A/5fZQ3feHTiVvIeAqLgme7bKdQf9E5RUfXs7N9ge94G7FncdghJ8GLMXGdcARCbIksF84wNGxmDtR/sAZ/PL3XGsh+wuCQ1mfE2sNQJqZZZPCzKJWQs6jfTUMg0uVu6iJqM7HRl3TtAW0HGx1esrNs=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(346002)(136003)(396003)(451199015)(40470700004)(46966006)(36840700001)(4326008)(8676002)(336012)(82740400003)(81166007)(356005)(54906003)(6916009)(83380400001)(316002)(103116003)(40460700003)(26005)(186003)(426003)(5660300002)(47076005)(40480700001)(82310400005)(70206006)(70586007)(36756003)(2906002)(8936002)(36860700001)(41300700001)(1076003)(2616005)(6666004)(86362001)(478600001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 13:26:45.6130
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cb7d4285-0378-4cef-0ee6-08dad6c45b1d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E641.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6721

Sysreg emulation is 64-bit specific, so guard the calls to
vgic_v3_emulate_sysreg() as well as the function itself with
"#ifdef CONFIG_ARM_64".

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <julien@xen.org>
---
Changes from -
v1 - 1. Updated the commit message.

v2 - 1. Updated the commit message (removed the reference to Arm ARM as it is
not required).

v3 - No changes. Added Rb and Ack.

v4 - No changes.

 xen/arch/arm/vgic-v3.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
index 015446be17..3f4509dcd3 100644
--- a/xen/arch/arm/vgic-v3.c
+++ b/xen/arch/arm/vgic-v3.c
@@ -1519,6 +1519,7 @@ static bool vgic_v3_emulate_sgi1r(struct cpu_user_regs *regs, uint64_t *r,
     }
 }
 
+#ifdef CONFIG_ARM_64
 static bool vgic_v3_emulate_sysreg(struct cpu_user_regs *regs, union hsr hsr)
 {
     struct hsr_sysreg sysreg = hsr.sysreg;
@@ -1539,6 +1540,7 @@ static bool vgic_v3_emulate_sysreg(struct cpu_user_regs *regs, union hsr hsr)
         return false;
     }
 }
+#endif
 
 static bool vgic_v3_emulate_cp64(struct cpu_user_regs *regs, union hsr hsr)
 {
@@ -1562,8 +1564,10 @@ static bool vgic_v3_emulate_reg(struct cpu_user_regs *regs, union hsr hsr)
 {
     switch (hsr.ec)
     {
+#ifdef CONFIG_ARM_64
     case HSR_EC_SYSREG:
         return vgic_v3_emulate_sysreg(regs, hsr);
+#endif
     case HSR_EC_CP15_64:
         return vgic_v3_emulate_cp64(regs, hsr);
     default:
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 13:27:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 13:27:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453613.711197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BUn-0004Dm-6n; Mon, 05 Dec 2022 13:26:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453613.711197; Mon, 05 Dec 2022 13:26:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BUm-0004DF-Uk; Mon, 05 Dec 2022 13:26:56 +0000
Received: by outflank-mailman (input) for mailman id 453613;
 Mon, 05 Dec 2022 13:26:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p2BUm-0003tw-15
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 13:26:56 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20605.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b894013-74a0-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 14:26:55 +0100 (CET)
Received: from CY5PR22CA0096.namprd22.prod.outlook.com (2603:10b6:930:65::18)
 by SA0PR12MB4350.namprd12.prod.outlook.com (2603:10b6:806:92::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 13:26:50 +0000
Received: from CY4PEPF0000C96B.namprd02.prod.outlook.com
 (2603:10b6:930:65:cafe::9d) by CY5PR22CA0096.outlook.office365.com
 (2603:10b6:930:65::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Mon, 5 Dec 2022 13:26:50 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000C96B.mail.protection.outlook.com (10.167.241.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Mon, 5 Dec 2022 13:26:49 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:26:49 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 05:26:49 -0800
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 5 Dec 2022 07:26:47 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b894013-74a0-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CjbTYsUjb+nLHquy43Grsrz+CI1ubK8odms74Dv3qf5Wg/FzvlmSNTHyDfxpt6fWTraTK0kGNoK9o7sRDN09xCXChpeivmhMB8wecJ1muVvM50xoewgde7sitPvkjVp0eRyG5oPa59lGNuM/2Z6Ru9uppTkTa7FZu7mTdtLzNtgpDHnD+88TfpbaH3uFxOKuWOz6G34TlYFfhLM9B9IBBH6AsSxho8YYyVIBexcgt1IGZLAqa9AYu+0ecQG9LmVGp2NKUrI4mm58/07O0k/TWJlrQJPFweO6ajEQZKxTqOKzQFTHFF+YOwO7W056CHelapWjNOuN7sblKJHYWpNhcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GvCRxtMbB9wFwtRZRm0PuriMjLF60alBSHXkTWtslew=;
 b=d9W72t9cYlWX4ZiH/ly7QA1h9GeERjJfVH5shiA9mwvK72JvxzZCCbFPtbw1V2X0aCe1oMTgD7zxDW3Rg8bs4MusXy7tZU3SlqMdeL+jRSvkmvEpq5pbv4idze+sTU/LcD6UWZ/8ub7nfY/D4xg3JrDI5EcPPNz4HiVxhuK5GNG23OlZZ7ncd7+VrbagiN5iFkrg38wCWUrQWTtM8Zq6ZRW1h2qpYT/0LFW7H7NJiM/9TficvrahewNF/JDY++5qtalEuEzel1OVbgFVn1r0RwH2tvJlEqpvUwEdj3bnCANNCOCBcMOdiLD2wcixyx3tL1H25CF2t7hf7J8EYpzwig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GvCRxtMbB9wFwtRZRm0PuriMjLF60alBSHXkTWtslew=;
 b=C79XHFX6ld8jInchh+n9qG147LRf7oBhvi7rjzp2VNDf5FDdE6j+yODScl0vqX+dOgHUjSCZ4gocEJ1gaCDC77OlBb0Zb3HimoGmF2gYD2mu9niKnX0sIGYIY5AFvLjkMJpZ6bZEPpUJmPer23b43W5gLqqDkPM5v6ZGrGkucic=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <burzalodowa@gmail.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 02/11] xen/Arm: GICv3: Do not calculate affinity level 3 for AArch32
Date: Mon, 5 Dec 2022 13:26:28 +0000
Message-ID: <20221205132637.26775-3-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000C96B:EE_|SA0PR12MB4350:EE_
X-MS-Office365-Filtering-Correlation-Id: 3025d731-b757-47ab-cc91-08dad6c45dae
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Lahkle87zdiX0/Kcna0OxU0OfyiSiADg/Dxg7IScQnzRtjcSHZewdh6WQcR6WGKOar0LhgCexQoH5JT412o1MSbcYksyERNB6kw0nv3QG9vfDyuIP99hTid04AnS2ny9+Tf5K+oxIxDSKBgeng5jdDOHXuPzOjuY/CrH/OJxXgvyx1K3yVbY7Nl+P74wAqOGuVy7Q1XXGea2Z3BNvX3kDWiOK3w+lNAj2SW5Mw/Zb5qGuqiF6uExdyU0QLZBpn/upVSWLtRmMZWkF2MtbdRb4Ozp9dWjUNu/bQI7VcxHTgKOanIJCnMHkxzHB7AeqE/M+DyKvPcZ/H7kpsMMRGejRMz6ZnK9pwRoh+BU3jHv/aWMybFiD9/k5o0g1EIE2j0Ohdtk7qx0eKm4cp5VZEjO/kWgm1HtNphEfVK2Ipkw1eIYhzfAHXTAqUmGZy4cCCLLjf7w4L7rHt5g3IP6nZp7tOnGdjzParT8ykmLjMuYkg7c//5leQSDMcoMT30aNXh1Zkw88fmlXXM8eUBFXBWajeZUtpaTFSMtXpnUjhuF5os8TCNd2jlgFfl6RWj/E9WZ2i1j+ZimtUVmushswFveJEmQMIniDLvXNLgbl7VQ+W3QIb/rZSPNfL8dg6/iHr5Z3Vw1v/sGYNYizfd/lU5skTi3rMTZTpuLJPrW35po5fitWmVNHpDO8IiEV4IskqCgh46UzDpXO/aqGdgeKAUwyXIghugVxndvqhCx/+ZMWJM=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(396003)(346002)(376002)(451199015)(40470700004)(36840700001)(46966006)(6916009)(83380400001)(54906003)(70586007)(70206006)(478600001)(2616005)(6666004)(316002)(103116003)(82310400005)(40480700001)(1076003)(40460700003)(36860700001)(86362001)(186003)(36756003)(2906002)(26005)(8676002)(4326008)(41300700001)(356005)(47076005)(5660300002)(81166007)(426003)(8936002)(82740400003)(336012)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 13:26:49.8923
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3025d731-b757-47ab-cc91-08dad6c45dae
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000C96B.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4350

Refer ARM DDI 0487I.a ID081822, G8-9817, G8.2.169
Affinity level 3 is not present in AArch32.
Also, refer ARM DDI 0406C.d ID040418, B4-1644, B4.1.106,
Affinity level 3 is not present in Armv7 (ie arm32).
Thus, any access to affinity level 3 needs to be guarded within
"ifdef CONFIG_ARM_64".

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes from -

v1 - NA (as it is a new patch)

v2 - NA (as it is a new patch)

v3 - Modified the title. Added Rb.

v4 - Added Ack.

 xen/arch/arm/gic-v3.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 018fa0dfa0..64a76307dd 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -527,7 +527,10 @@ static void gicv3_set_pending_state(struct irq_desc *irqd, bool pending)
 static inline uint64_t gicv3_mpidr_to_affinity(int cpu)
 {
      uint64_t mpidr = cpu_logical_map(cpu);
-     return (MPIDR_AFFINITY_LEVEL(mpidr, 3) << 32 |
+     return (
+#ifdef CONFIG_ARM_64
+             MPIDR_AFFINITY_LEVEL(mpidr, 3) << 32 |
+#endif
              MPIDR_AFFINITY_LEVEL(mpidr, 2) << 16 |
              MPIDR_AFFINITY_LEVEL(mpidr, 1) << 8  |
              MPIDR_AFFINITY_LEVEL(mpidr, 0));
@@ -720,7 +723,10 @@ static int __init gicv3_populate_rdist(void)
      * Convert affinity to a 32bit value that can be matched to GICR_TYPER
      * bits [63:32]
      */
-    aff = (MPIDR_AFFINITY_LEVEL(mpidr, 3) << 24 |
+    aff = (
+#ifdef CONFIG_ARM_64
+           MPIDR_AFFINITY_LEVEL(mpidr, 3) << 24 |
+#endif
            MPIDR_AFFINITY_LEVEL(mpidr, 2) << 16 |
            MPIDR_AFFINITY_LEVEL(mpidr, 1) << 8 |
            MPIDR_AFFINITY_LEVEL(mpidr, 0));
@@ -972,7 +978,10 @@ static void gicv3_send_sgi_list(enum gic_sgi sgi, const cpumask_t *cpumask)
          * Prepare affinity path of the cluster for which SGI is generated
          * along with SGI number
          */
-        val = (MPIDR_AFFINITY_LEVEL(cluster_id, 3) << 48  |
+        val = (
+#ifdef CONFIG_ARM_64
+               MPIDR_AFFINITY_LEVEL(cluster_id, 3) << 48  |
+#endif
                MPIDR_AFFINITY_LEVEL(cluster_id, 2) << 32  |
                sgi << 24                                  |
                MPIDR_AFFINITY_LEVEL(cluster_id, 1) << 16  |
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 13:27:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 13:27:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453611.711179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BUg-0003u9-GV; Mon, 05 Dec 2022 13:26:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453611.711179; Mon, 05 Dec 2022 13:26:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BUg-0003u2-Ce; Mon, 05 Dec 2022 13:26:50 +0000
Received: by outflank-mailman (input) for mailman id 453611;
 Mon, 05 Dec 2022 13:26:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p2BUe-0003tw-Hc
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 13:26:48 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10hn20326.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::326])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7693d5dc-74a0-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 14:26:46 +0100 (CET)
Received: from DS7PR03CA0117.namprd03.prod.outlook.com (2603:10b6:5:3b7::32)
 by PH0PR12MB7906.namprd12.prod.outlook.com (2603:10b6:510:26c::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 13:26:42 +0000
Received: from DS1PEPF0000E642.namprd02.prod.outlook.com
 (2603:10b6:5:3b7:cafe::f7) by DS7PR03CA0117.outlook.office365.com
 (2603:10b6:5:3b7::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Mon, 5 Dec 2022 13:26:42 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E642.mail.protection.outlook.com (10.167.17.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Mon, 5 Dec 2022 13:26:42 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:26:42 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:26:41 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 5 Dec 2022 07:26:40 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7693d5dc-74a0-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y96XMnn7ltM+Z+Akqjf9c4QaxwlQB8tcpAdkZprcRm5Dw/NFiFQS/R7PsoPkh1N6/OsGy/je4g9wxGtptgD782j8ZEQRsy1T7dwl4m4ZEhWmSeHBK9NQbrjvkoLhhN7Lr1nJrRm6lGeoXxa4YVdBjrLEDWV1Q4jdcM0f0jKLEAka05m3ughXMgRSMibkcc0hWbuJT1PnU04RkoVFICfDz1lI8v4JhdLu6GXaGi2g5ApiQOh6iCLSWlw4qKb70DG/we10AZui5Teh8SbMZviUT1q25bp29lLRoi90x5VwTtWWCXO5nKGqowOzKYrUfRDT73dVRpyxCt60EWQ3Bbp42g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PhPSfwq5pijTetFRbm1/3eIFbBgwMsfdHbodKr0RTK8=;
 b=T1IaY0EdM7onD/zwoODdiJJOzsSwgJjoLR5OtmNNQQZmuxqL9QHMFpfqCr6VtGhmB5bgESq9mfyzcg4DTrN8/HT5XP1BnUcOqmstlSCz5QfCe+aWlDelQK/o+0/5RVJSPxOaaKdfIpMTc7Cw+NZtBTxvAyvfpRCTASpSPRHhvMEsF/cjqS2Gz+H+kfNrGoLA+/QVkO1k77/98+n7/srHJUjuFShb/c7gWuKsNOp/DN07c+BTCtxeDrSXS2BTtZ9eOSodCu6FFhx+2j6csECoi/GxmAdw5luprTgAblFLivUI2gPnFqktYHShJKtXbFemjE+KBAQDUuzMWHOAn35d5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PhPSfwq5pijTetFRbm1/3eIFbBgwMsfdHbodKr0RTK8=;
 b=ceuh+Zwchy/qn6Hr4pAiOZHTqwNXOrBbbeJ5wPfE2UQlPKKci48eGNX6fZELeqkuhaiSWGQNrsogLB2+lTu6JE5HjrAeABCiY6hM8gm0CFfi1OlwAk++2X09XLs+Cuulfc6PpZXsGC9C3mrLFS2FzdfXFZI9F3NF/SvwWKluhes=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <burzalodowa@gmail.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 00/11] Arm: Enable GICv3 for AArch32
Date: Mon, 5 Dec 2022 13:26:26 +0000
Message-ID: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E642:EE_|PH0PR12MB7906:EE_
X-MS-Office365-Filtering-Correlation-Id: de8f28c1-2061-4020-8365-08dad6c45933
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	=?us-ascii?Q?nznLbOAd5mVbYXdx6tvHFg1HWcmLA5Z3EWewTQehZNA+inLLlMHcuAkk7iJC?=
 =?us-ascii?Q?b32nC78ReurADg3CmgdHOlOa0T6PM9Jj8S2Xb8zovDxTGLyWSMNYRsCE+DY+?=
 =?us-ascii?Q?UYb2XGWphU1c65H/WdOdBW0gbxcA2KMD2e+9UTgPDu+3PnoETRPWSbvJnlLS?=
 =?us-ascii?Q?ZMa2vXiYwvoZI2k+YOiTkWc7mgDxqHq/Xx5KEOPlPDkENcRU/55q3bkfP1Rc?=
 =?us-ascii?Q?6NjyewYgxr8SJJg23/D24r36HXxCJW9m6MQQW0e22l6AJ8Zw7xaViDnkishL?=
 =?us-ascii?Q?Ww1ckTSkiG6fNop1uBx1c+Y/+GYXQGGBsxHfCpHb8HYFb6X+HFPXcRzl4m/V?=
 =?us-ascii?Q?T2HV6YotjVS8FC1ynKn+mF2Dr0lBk789EJPxTKsgan8ZVrIlTpZXyWBytRhe?=
 =?us-ascii?Q?ToXY665t3W0xZ+FdKl6nElhRNhEg6QTa9AEt7gAzkGcD4I39Vohl5K41Ph6M?=
 =?us-ascii?Q?yK/LGBobbHdTrgAYs2NeTjhgO/EB8+OGffbDYJciOALQdRMpCx8sz6TVLiw4?=
 =?us-ascii?Q?ZTa0wFJggp+AZLpkHKSAKS51iP1IJE+iaq5UHvbKgnMZl0JmQEViWU79u4wR?=
 =?us-ascii?Q?JCnZoyrTVjOM/Ld92irERpTEk7pxLJv3i7MPF6HRXn4d4g+H0/gj71eL61Nq?=
 =?us-ascii?Q?YLQGhTZKrb7lb0rjmjsKSyHyEiKPB+5pkHBRfl9cuqVQe+2w8ONAzojjrDeD?=
 =?us-ascii?Q?YyZCqVhRGpNw81ylEmaOq+JkkFs3fVXODLy9pg/IunSAHLmv+sSQmF+arouY?=
 =?us-ascii?Q?NovYfuFndyLItb6IENLZI+XfOv3SGiSGy0ovn6bVr3La4M3odkG2lHTKJ341?=
 =?us-ascii?Q?tQamd6zsPd8F2/jFycni1lA8QGm6BjXBqx9Sr1IkCYhXgxkglUpmQjtNYXqi?=
 =?us-ascii?Q?6oD0jeZGLurS7+jVe12YI4MRH6KLOPxy3hQcFL9B4yqMg5ZfOOPZlpq5tkFQ?=
 =?us-ascii?Q?+MCHz8xfTvGH/SATbLWvgN82uvLt0rjjogPrmEj5qA4pItLqJahvmurwSY8j?=
 =?us-ascii?Q?ABxD2NjmMRKR2A6JBggHUST77FSsnedejrhbPvrUFExvD0ytycwbaTP/ArFP?=
 =?us-ascii?Q?36ZWfibQ+XDLLYIibmVCeXlNQ33zvBswbqn73LZUao/iZxv3F1FKl4qV3ofi?=
 =?us-ascii?Q?/I2B/okkbDGWxWfQkbPwaWl+x5Y279lUKg=3D=3D?=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:5;SRV:;IPV:CAL;SFV:SPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:OSPM;SFS:(13230022)(4636009)(346002)(396003)(136003)(39860400002)(376002)(451199015)(36840700001)(46966006)(40470700004)(83380400001)(36860700001)(103116003)(86362001)(81166007)(356005)(82740400003)(2906002)(70586007)(8936002)(41300700001)(70206006)(4326008)(8676002)(5660300002)(82310400005)(40480700001)(26005)(336012)(186003)(6666004)(426003)(47076005)(1076003)(6916009)(2616005)(54906003)(316002)(40460700003)(478600001)(36756003)(36900700001)(11215385002);DIR:OUT;SFP:1501;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 13:26:42.4203
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: de8f28c1-2061-4020-8365-08dad6c45933
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E642.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7906

Hi All,

Please find the following patches to enable GICv3 for AArch32.
This is a pre-requisite to support Xen on Cortex-R52 (AArch32-v8R system)

Let me know your thoughts.


Changes from -

v1 :-
1. Updated in the changelog for each of the patches.

v2 :-
1. Dropped "xen/Arm: GICv3: Move the macros to compute the affnity level to
arm64/arm32". The reason being aff3 does not exist on arm32. And aff0..2 is
the same between arm32, AArch32 and AArch64.

2. Introduce a new patch "xen/Arm: GICv3: Adapt access to VMPIDR register for
AArch32".

3. For the new registers introduced, we have defined the arm32 name and then
an alias.

4. Use 'AArch32' across all the patches.

5. Dropped the 'R-b' and 'Ack' in "[XEN v3 08/12] xen/Arm: GICv3: Define
ICH_AP0R<n> and ICH_AP1R<n> for AArch32".

v3 :-
1. "xen/Arm: GICv3: Use ULL instead of UL for 64bits" has been dropped.
The change has been merged with "xen/Arm: GICv3: Define ICH_LR<n>_EL2 on AArch32".

2. I have marked the patches which have been Rb + Ack vs Rb only.

3. Dropped Rb from "xen/Arm: GICv3: Enable GICv3 for AArch32"

v4 :-
1. The first six patches have been reviewed and acked.
2. Dropped "Rb michal.orzel@amd.com" from patches 7/11, 8/11.
5. Kept "Rb michal.orzel@amd.com" on patch 11/11 as the change seemed trivial.

Ayan Kumar Halder (11):

These patches have been reviewed and acked, so the reviewer may choose to ignore :-
  xen/Arm: vGICv3: Sysreg emulation is applicable for AArch64 only
  xen/Arm: GICv3: Do not calculate affinity level 3 for AArch32
  xen/Arm: vreg: Support vreg_reg64_* helpers on AArch32
  xen/Arm: vGICv3: Adapt emulation of GICR_TYPER for AArch32
  xen/Arm: GICv3: Fix GICR_{PENDBASER, PROPBASER} emulation on 32-bit
    host
  xen/Arm: vGICv3: Fix emulation of ICC_SGI1R on AArch32

These patches are yet to be reviewed and acked :-
  xen/Arm: GICv3: Define ICH_LR<n>_EL2 on AArch32
  xen/Arm: GICv3: Define ICH_AP0R<n> and ICH_AP1R<n> for AArch32
  xen/Arm: GICv3: Define macros to read/write 64 bit

These patches are yet to be acked :-
  xen/Arm: GICv3: Define remaining GIC registers for AArch32
  xen/Arm: GICv3: Enable GICv3 for AArch32

 SUPPORT.md                               |   7 ++
 xen/arch/arm/Kconfig                     |   9 +-
 xen/arch/arm/gic-v3.c                    | 153 ++++++++++++-----------
 xen/arch/arm/include/asm/arm32/io.h      |  20 +++
 xen/arch/arm/include/asm/arm32/sysregs.h |  19 +++
 xen/arch/arm/include/asm/arm64/io.h      |   2 +
 xen/arch/arm/include/asm/arm64/sysregs.h |   5 +
 xen/arch/arm/include/asm/cpregs.h        | 134 ++++++++++++++++++++
 xen/arch/arm/include/asm/cpufeature.h    |   1 +
 xen/arch/arm/include/asm/gic_v3_defs.h   |  24 ++--
 xen/arch/arm/include/asm/vreg.h          |  86 +++----------
 xen/arch/arm/vgic-v3.c                   |  22 +++-
 12 files changed, 322 insertions(+), 160 deletions(-)

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 13:30:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 13:30:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453626.711212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BY4-0006Rk-NZ; Mon, 05 Dec 2022 13:30:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453626.711212; Mon, 05 Dec 2022 13:30:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BY4-0006Rd-Kn; Mon, 05 Dec 2022 13:30:20 +0000
Received: by outflank-mailman (input) for mailman id 453626;
 Mon, 05 Dec 2022 13:30:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUwf=4D=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p2BY3-0006RV-Ax
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 13:30:19 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef5398b8-74a0-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 14:30:08 +0100 (CET)
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by PA4PR08MB5935.eurprd08.prod.outlook.com (2603:10a6:102:e4::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 5 Dec
 2022 13:30:14 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 13:30:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef5398b8-74a0-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h0A3naV/Di0fgDvtKpnapVUhv7rY3xoc4avJ2miSL8jB/BElfwn/3QUdRpyLVF+VI1UOcpOQFgCBtOyKCfDjoR6uCVv9nt6zkeWlitrQCSqvnlAhi0IiVo1HLgfZPuHl+3CjakmH2mGOEKkxr7CHXUpGAE3A3IzkLs+kwpJbQmSKP4Nde986VFBPAEcsHd6yDcPvHhMNiLTbDCShM1as3dgF1n6ZOZtxJDiXz7X34pQ8v6QS8a7oSCVKZdX88+sFVNJlwK+N7oevoWJEPJ496d+ElxQABp+588qstZHkhaZ1ZRbpJw4MggOjgbOCwdWbGHfsfoYJFSivq+N915+x+Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4GkHfrxH87sZ8/4b9usxtSJvpBKlyLSdkPXYRxGFzjk=;
 b=mITbDU9h5XEa8mBOcrxRPKnmn9F56Rhdj3Bc4OEm+L+E8hibk2zV2OvMRd7oSji4eLwJaPWXSoIsVcN+rk6e4xQkBEnaru1F013hdLd58kyx7mERMIaPd4+D4ogHztM+A8sSl2SrmgE6kA9go7Py8O26vgrHORr9l9PMsPXHOCD7m71FLEjIjzoAgDijSH/uf7Ukusir+VVkTxH6WN3wM4nZwVaB1UwoOmILmB7XMfZGXejGR1hZ7N0un8xaSvLcJBjUul9o3BG+UO60Nct6hdqbZVibT5gKKqy5TAuXuI7gr6cDhr36YLCi0Co+HFQ0ZOSegjZdcgQT1OS8lTw8Lw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4GkHfrxH87sZ8/4b9usxtSJvpBKlyLSdkPXYRxGFzjk=;
 b=g4ROklrgA2Ytja28ADNaPNFM/cwCnmmGA3m41L+TOK/uGRygB92cmzUGgutORJQa1zLaW1bzzcuyJXmi0y4SiVQtEdiDR2PX7mQYhZSmh+cWW5ZJf7qdFknG+vpWYE1M9w/+x+8WBRp2xko+ZEj3XrH+SvvopGdO8m0rUcb7uho=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Paul Durrant <paul@xen.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
Thread-Topic: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
Thread-Index: AQHZBZ7dBYCbekoSiE+Vqn2CZKLLUK5aR8+AgAUIUAA=
Date: Mon, 5 Dec 2022 13:30:14 +0000
Message-ID: <885D6D8F-2424-4105-9684-18A89CDB180A@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
 <f9a8045d-c31b-7958-b325-0ee223fe723d@suse.com>
In-Reply-To: <f9a8045d-c31b-7958-b325-0ee223fe723d@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7158:EE_|PA4PR08MB5935:EE_
x-ms-office365-filtering-correlation-id: 447f456b-262f-49e3-db30-08dad6c4d77d
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 l/9qRCxuUpW8T3qb5ZHZMFROMqQTk8R9ZcqoLfa1wluubF4ceBXsN2If7gdGJ494oQxksdQ6iJSnyVO2FUod5MBDGobXGmqNY5Xz1uhRPh3sP6RU+oWStaW51Uo7zjZ/pr8xC50e46RuZd2Nzk0n4i/+bbigfP2UikJuZoHm120AwJKDdmmDygOf7DAL6rfzNGdRezhbDUTWWwtMEeSneAODb0RV4LIvWEZgm83JFV7jlQmYskT15Cl4yDgGFdPVb88znxRZwSsE7CVQcqhWJpQ8W0MkU/kICiTtYEo+okOGf/As8XXJWP0wb9WiJNLJJuGfiVUuhRG9KA5zdV157RcRpmG2EjkU7zQPMbto1kPnlU0oTtW/ShpoxUIdrvnCH0cQWmErE20ji31S6udadrYIHo7wzRu4WHlvzAtn7a+sGSNA/ekwsK/WrcO9WzRlOxyYH/mlK64cFmqwugB4nLxoZAaq2H04rusR4EsuZsDP025esNls10IfhqHFMsg7OqPGwggXT8QjJ++VfC2hGyU79TzJIVeA6acz3RXp9UUJjUjK++xFO7gbjkkGm9wWfBybbce1B5QejzJtiAEDBHQswkI0Eb8b5nRD1TYTYf5hALcfnTlQxFzVxfuI2x92+SKQYjvW8D2casH0Gx4mo9JKRH1N9PCXLrZcHbpwM96gbdzLrMIfzFtBi63ogJ2g4Ejyr/mKKjCViP9xTfLZ7p5IzyIo7GS5ON4PnunThCfJRNhb+pkapSEkRHcn2ue+
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(366004)(136003)(396003)(39850400004)(451199015)(36756003)(6486002)(66556008)(66476007)(186003)(2616005)(64756008)(66446008)(8676002)(66946007)(91956017)(76116006)(41300700001)(33656002)(4326008)(316002)(38070700005)(38100700002)(8936002)(54906003)(6916009)(122000001)(2906002)(5660300002)(6512007)(6506007)(26005)(53546011)(86362001)(478600001)(71200400001)(41533002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?TjRtWlpFbE15NTZ0SDhCYUg4eXY0NzZKclJGMlpJMUtReUdoYmhUQVRib2Zo?=
 =?utf-8?B?NEEwZFN1bDZDN1FaR1orTWJ5amc2eEc0WThuMjl1OXlIeHRxcnh0WVorckFl?=
 =?utf-8?B?Q3d3Um1KaXpUUksrTVZMd0pOV1RIVCtaZmNKcVhGKzkwOE5hR1VUekszbkdJ?=
 =?utf-8?B?cnJ3ZS9zeHo5VUhORFl0YTkyL0RFdVczRmgwQzVjU2hVbDZ1T0EvWTNhMzds?=
 =?utf-8?B?aUJTZnEyVnI5WWFtQTY0U2t4bmtUSXVTWnZTTUxNMTY2QldLb0MzbXNQZlZK?=
 =?utf-8?B?c2F2R1h0V1VFN0lsd1pITjdBS0UzeGRVMmIrSEQvRUhmb28zR2FyaTM1T1Az?=
 =?utf-8?B?VmVnVUtkRkFHWXQzTTluNkc3dFFoL1R1WkoyRUpibmpmcFI3T25PSnRodmtX?=
 =?utf-8?B?S2VkL295d0hveFQ0U3p2TmVmSXh1UXZiRGl4LzZKMmhiZEJabzBzem5qTjdD?=
 =?utf-8?B?cjFpQldWcEJTa1pMRWQ2V3luUmpiUXg1SG9KQUdlSzNaNUY3eU9INjg4NERP?=
 =?utf-8?B?SW93a3ltRXozZFF5ZVVMdXo2d0RYbE1ZSFV0ckJENmJ1aXJCVlBEVGRacVdG?=
 =?utf-8?B?M2Z5WlBDWGpnYkpsZlpmbkltdVA1TVlUNmc3WXdxeVJDL05WcmJjZnNjU1N5?=
 =?utf-8?B?Si9wcFZpVWVmem9rdEZaNDZmVFJ2ZVJCMkl4cmVhL3FSUlA0VzVSaGxxTUNS?=
 =?utf-8?B?c2tWcjNCY2FHYWJRKzhuT3hUVCtVQkYzaSt0K013U3JiQUxRVWJ4Q3ZGR0pJ?=
 =?utf-8?B?VEowdXVLUlhSODFpRE9Jb3ZwcThBS0hLRjFQZ3VjbEZNQW9VOE5yeFNtaG1M?=
 =?utf-8?B?MEFiTUpUQkFvMWs1UmpNLzdXdlA4eHJPQ2h6T281RmtTczNtbjBaeHpIZlF5?=
 =?utf-8?B?VTlwNTR3dW1SUXVkNi95TkFLZUxxbk1CaGRZTW11Qnd0L1Z4ZEkyaXpRdEVw?=
 =?utf-8?B?dEczditMZGQwYlhGeGx5eVNBRFdJSUFmcytNaXNGbHBmVlNPTFNpL3FiWDhJ?=
 =?utf-8?B?bkk2L0VUWFFNUmptMThpODA4OVRIbzR2Z1pIYURNV01lVFV2RnI3ZTh0d3Q3?=
 =?utf-8?B?REUzaTFSQkY4cmQ4cU5Ya2NpeVZ2ZVhWZ1E0dmRyYkJNY2RiZlZBeWVxc3dB?=
 =?utf-8?B?OVhaVmlrRUJUK3N6WUNlditicHhiVDd3NHVWUlFCMTc0VEMyZlh6L1pUNDBE?=
 =?utf-8?B?UWJxMUk5YUxWZW9WOUdWL0xINy9RNHFIUHRoUk91QnFiRjI4c3RiSTFmQmFu?=
 =?utf-8?B?MmZnNHlkZEZLN0draFE1b2U2dGZRcVN0VkRzV21WUmpMTTZRby9sMXBDYUpT?=
 =?utf-8?B?eEdaRHU0cFM1Y0VEa2tFLzNsdHR5MzQ4SHVIRC84RGQvWTRCdW9xakNBV2tt?=
 =?utf-8?B?blgzdmdwZDJHOU5oWHRVY0kwb0t3VlB5ZUtEdzBrVTZ6cGkvS1c0Rk1hOTFC?=
 =?utf-8?B?dVpkczRjVVZTbWFRck5ZNGdTSUFQZC9iT2dWNFlybm1tUHJDRzVUbTlKLzNz?=
 =?utf-8?B?ZGkwZW9XdjFKY0ZXR0NsSW5YREpOUmwvMDJFdzdWTERoc21MTVlRN0tGVk1I?=
 =?utf-8?B?NGhXWFdJbkZUWDFmSkxQaXcrWitEUkUyU3FaeFI5NEFVU3pnS0craHdLOXpT?=
 =?utf-8?B?Q0pFUHhZMGhxNGJJbG1mdUVYWlZNcy8xUWc0U01VU1NTQVM4TmliN3FWWDht?=
 =?utf-8?B?RFVIbVJWaGtFV3RyWUlkVTMvQUlhcERkdU96RmhLS3ZSV1dhRFVCelFEVnpS?=
 =?utf-8?B?UjllUmVXYlo1Q3dvendBQlRseWpmQ2RUcGEyNGxodS9vQmF5TmVuUnhGTVBj?=
 =?utf-8?B?TVF5SGxmdHRRQWEvdWRjVWxWbW5CeGhQclBJeExIRmU4MHE4WFo5ZWpqalRs?=
 =?utf-8?B?bFc1Y0pRMkdKWHFBbXJTS0lvSEtJNHJ1TE16anJZcFRXVFhrT0VncWJ6VlR0?=
 =?utf-8?B?c093RTE5Z3FXeXFVNEFCQ1I2cnRON3NFNExlcWd5NldBd3JEWkZETldCQ1pm?=
 =?utf-8?B?TTR3aUM3TWlIS1NwQXdJWGJGdSs1VjA2Y0Y2QmViN2xUckZ0VUYvalV3TE5z?=
 =?utf-8?B?Q0wrQ2RsbThLOGxTb2pCcXNpeENXdEhvZ20vckZiZVhadjQzODB2MjRvYW43?=
 =?utf-8?Q?L+gS7IfIpkrbaVxR7+D2vmir7?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <56F5E27934F7D048815FF5CA6680A215@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7158.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 447f456b-262f-49e3-db30-08dad6c4d77d
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2022 13:30:14.3317
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: byiKbEJf1P4w7isCffwAsBz1rb3x2Yh88VktHuXbPwf9ICPIUbMluNF6pqA6N0cdVzBWk35dTN5hjfT0OHppiA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5935

SGkgSmFuLA0KDQo+IE9uIDIgRGVjIDIwMjIsIGF0IDg6MzkgYW0sIEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4gd3JvdGU6DQo+IA0KPiBPbiAwMS4xMi4yMDIyIDE3OjAyLCBSYWh1bCBT
aW5naCB3cm90ZToNCj4+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL0tjb25maWcNCj4+
ICsrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL0tjb25maWcNCj4+IEBAIC0zNSw2ICszNSwx
MiBAQCBjb25maWcgSVBNTVVfVk1TQQ0KPj4gIChIMyBFUzMuMCwgTTMtVyssIGV0Yykgb3IgR2Vu
NCBTb0NzIHdoaWNoIElQTU1VIGhhcmR3YXJlIHN1cHBvcnRzIHN0YWdlIDINCj4+ICB0cmFuc2xh
dGlvbiB0YWJsZSBmb3JtYXQgYW5kIGlzIGFibGUgdG8gdXNlIENQVSdzIFAyTSB0YWJsZSBhcyBp
cy4NCj4+IA0KPj4gK2NvbmZpZyBWSVJUVUFMX0lPTU1VDQo+PiArIGJvb2wgIlZpcnR1YWwgSU9N
TVUgU3VwcG9ydCAoVU5TVVBQT1JURUQpIiBpZiBVTlNVUFBPUlRFRA0KPj4gKyBkZWZhdWx0IG4N
Cj4+ICsgaGVscA0KPj4gKyBTdXBwb3J0IHZpcnR1YWwgSU9NTVUgaW5mcmFzdHJ1Y3R1cmUgdG8g
aW1wbGVtZW50IHZJT01NVS4NCj4gDQo+IEkgc2ltcGx5ICJ2aXJ0dWFsIiBzcGVjaWZpYyBlbm91
Z2ggaW4gdGhlIG5hbWU/IFNlZWluZyB0aGF0IHRoZXJlIGFyZQ0KPiBtdWx0aXBsZSBJT01NVSBm
bGF2b3JzIGZvciBBcm0sIGFuZCBqdWRnaW5nIGZyb20gdGhlIHRpdGxlcyBvZiBzdWJzZXF1ZW50
DQo+IHBhdGNoZXMsIHlvdSdyZSBpbXBsZW1lbnRpbmcgYSB2aXJ0dWFsaXplZCBmb3JtIG9mIG9u
bHkgb25lIHZhcmlhbnQuDQoNCkkgYWdyZWUgd2l0aCB5b3UgSSB3aWxsIHJlbW92ZSB0aGUgdmly
dHVhbCBpbiBuZXh0IHZlcnNpb24uDQo+IA0KPiBBbHNvLCBuaXQ6IFBsZWFzZSBvbWl0ICJkZWZh
dWx0IG4iIGhlcmUgLSBpdCBsZWFkcyB0byBhIG5lZWRsZXNzDQo+IGxpbmUgaW4gdGhlIHJlc3Vs
dGluZyAuY29uZmlnLCB3aGljaCBpbiBhZGRpdGlvbiBwcmV2ZW50cyB0aGUgcHJvbXB0DQo+IGZy
b20gYXBwZWFyaW5nIGZvciB1c2VyIHNlbGVjdGlvbiB3aGVuIHNvbWVvbmUgbGF0ZXIgZW5hYmxl
cw0KPiBVTlNVUFBPUlRFRCBpbiB0aGVpciBjb25maWcgYW5kIHRoZW4gcnVucyBlLmcuICJtYWtl
IG9sZGNvbmZpZyIuIEJ1dA0KPiBwZXJoYXBzIHlvdSBhbnl3YXkgcmVhbGx5IG1lYW4NCj4gDQo+
IGNvbmZpZyBWSVJUVUFMX0lPTU1VDQo+IGJvb2wgIlZpcnR1YWwgSU9NTVUgU3VwcG9ydCAoVU5T
VVBQT1JURUQpIg0KPiBkZXBlbmRzIG9uIFVOU1VQUE9SVEVEDQo+IGhlbHANCj4gIFN1cHBvcnQg
dmlydHVhbCBJT01NVSBpbmZyYXN0cnVjdHVyZSB0byBpbXBsZW1lbnQgdklPTU1VLg0KPiANCj4g
Pw0KPiANCj4gTm90ZSAobml0IGFnYWluKSB0aGUgc2xpZ2h0bHkgYWx0ZXJlZCBpbmRlbnRhdGlv
biBJJ20gYWxzbyB1c2luZyBpbg0KPiB0aGUgYWx0ZXJuYXRpdmUgc3VnZ2VzdGlvbi4NCj4gDQoN
Ckkgd2lsbCBtb2RpZnkgYXMgYmVsb3c6DQoNCiBjb25maWcgVklSVFVBTF9JT01NVQ0KICAgICAg
ICBib29sICJWaXJ0dWFsIElPTU1VIFN1cHBvcnQgKFVOU1VQUE9SVEVEKeKAnQ0KICAgICAgICBk
ZXBlbmRzIG9uIFVOU1VQUE9SVEVEDQogICAgICAgIGhlbHANCiAgICAgICAgICBTdXBwb3J0IElP
TU1VIGluZnJhc3RydWN0dXJlIHRvIGltcGxlbWVudCBkaWZmZXJlbnQgdmFyaWFudHMgb2Ygdmly
dHVhbA0KICAgICAgICAgIElPTU1Vcy4NCg0KUmVnYXJkcywNClJhaHVsDQoNCg==


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 13:30:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 13:30:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453628.711223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BYF-0006lD-0b; Mon, 05 Dec 2022 13:30:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453628.711223; Mon, 05 Dec 2022 13:30:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BYE-0006l1-SI; Mon, 05 Dec 2022 13:30:30 +0000
Received: by outflank-mailman (input) for mailman id 453628;
 Mon, 05 Dec 2022 13:30:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p2BYD-0006k4-3F
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 13:30:29 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20612.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id faa3389a-74a0-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 14:30:27 +0100 (CET)
Received: from BN9PR03CA0173.namprd03.prod.outlook.com (2603:10b6:408:f4::28)
 by SA0PR12MB4477.namprd12.prod.outlook.com (2603:10b6:806:92::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Mon, 5 Dec
 2022 13:30:24 +0000
Received: from BN8NAM11FT026.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:f4:cafe::12) by BN9PR03CA0173.outlook.office365.com
 (2603:10b6:408:f4::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Mon, 5 Dec 2022 13:30:24 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT026.mail.protection.outlook.com (10.13.177.51) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.14 via Frontend Transport; Mon, 5 Dec 2022 13:30:23 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:29:24 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 5 Dec 2022 07:29:23 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: faa3389a-74a0-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TSe+x81C9rSBtuhuVQyIOh+NV6kLlPnQam2vy95kD9hSkUsfP59k5QKdP+pGi3Ybnn8wBbRV532T9KnhogugqsTllFY7i76BvGicBgnzqEzHvYAaqEgOBMutcO22s32MpJBYK7qKcCusUC29qvqqb5r8WiZkPeYCmfK5c+08mNowROQAy3hPUE+XeGhMzwZ4ZCR3BBJxM4REt3Sbrmen51HnjPhqp4GimPPMTNTDFaU/UnHZXpPoImXBSa4LfyOroyRg82LJZYH1iSLr3NpANCXw+6H4gK9YUe3oQlQim24g4vha8sWSgfLLRI9HSIn3zWHMTaLNlL/liZ+T4YIqmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UEjzoMMb5D+I2LUETb4z5YcCm8RBHeC1gTFrxO6duws=;
 b=a4+F1XnJCd6UVTMo9xJ1G1QGVkF1+3uditldi4fgF+BvRg7eidMWtsoirKJSPIzw45zYJKnUEExHTeKPO6MPxj9aV5rHKpDx+msTVy0evZPrBMolZviQdWOOIOMRmlLv2b3tIwn5LbCvc/2ca/q/UcsHJ2XWQoaKjidghGu8YwoD4JMTYGPGIBjwwAHv3N4Znr1WnVlbRXfzM0gI3Uwwk9ZCI5s/WMinPZiH9EQgVLqz/QMWfibHgL95XMNGmLXQfudR9jVaWddWwca3eK6B3nNWtPuaahadL1AojUDk7sZ8wVpbCOukBmbFswbJpI6vBgylN9+rNvIZLwVY8g67wA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UEjzoMMb5D+I2LUETb4z5YcCm8RBHeC1gTFrxO6duws=;
 b=fX0imxLanu2XAUY33N6LzykPGu8QBmNadiFy79hytLFuy7ZDE2VzNqbVWQ/eQJFIWSdqUvlBl0y4GAopzw9CL9OWbnEcBPOHYAyQtVrRilcu9fSDMa3j1cGMoHP5FvujLTxmA/QZVWVp+8s4evYq9C0OmssWIEbWe06VB+3YQnI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <burzalodowa@gmail.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 08/11] xen/Arm: GICv3: Define ICH_AP0R<n> and ICH_AP1R<n> for AArch32
Date: Mon, 5 Dec 2022 13:26:34 +0000
Message-ID: <20221205132637.26775-9-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT026:EE_|SA0PR12MB4477:EE_
X-MS-Office365-Filtering-Correlation-Id: f9dd7ec8-8dd9-4bdd-55c7-08dad6c4dcfa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k4sNX5rjF3eK9txYeh9OpI2S4c5kVnXyapSrr+isKWolIDOH/pfDvpp0bKHRQhM0eNvlVxa6gFoiWRj4oJ+WqF/30jjgfPxkKOaA8sCshiYBeerNJdXZ3el/EKC1Ox7XiP+uR5qMX13On2DnishrdcFMMOXoOHSOvkxjpwQSheW4GzfiruCWIT7IaCClUvyVh4S2vN/S/5JAZG/ANYXW33rb6NIL9KSP059mXvIEl/7J/wZbmWvfwB3zLh2XrXcjk/079C8TtP4FryxW2SN6OeUC2LCyx/d++0Ji5i6sVvLKIqfXIp918veWMPf5mjR8h5Cuea7d4t/BrIGF4v1YFSTYa8EfqHog2ZyhMB899extA8BheWdxovDE76YYrJapaY0y7pQ89jhxFheM6PTBYcBEaUyHIsI/IUubCgsKxIEMRhRp8AWcKECYpaHut2U7pMcZ/GmSCb89J1aDgrQg4aQfktO+05bkVvN4Khr+uKNq7CHvtg4JnnHIaHWpVh3ScpwKRYZha5DxArB01YoXMwjgvqb3ll8BZb5NHEXPkkvWQFCeJtdmj+DP7PBKkUrjiVWHfPaznFmbIjY+/bgbG1ns0JStWINXV1s+ZCWwqCm3Ehzz4StX2UMG6Y4yI70z52kxKeaBEKMdqyyMlXGhJJBGqIXQhme1z6yPc5d+lj022GEUqIdE45ewP82o6Yn8LVsN8QeiZ9B4AAkm1JcAqBiLQZ5Fim6LZNTwin43uyA=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(136003)(376002)(346002)(451199015)(36840700001)(40470700004)(46966006)(2906002)(82310400005)(83380400001)(2616005)(47076005)(316002)(8676002)(4326008)(103116003)(40480700001)(70206006)(8936002)(70586007)(36756003)(86362001)(40460700003)(426003)(5660300002)(41300700001)(54906003)(186003)(1076003)(336012)(6916009)(478600001)(36860700001)(82740400003)(6666004)(26005)(356005)(81166007)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 13:30:23.5205
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f9dd7ec8-8dd9-4bdd-55c7-08dad6c4dcfa
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT026.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4477

Adapt save_aprn_regs()/restore_aprn_regs() for AArch32.

For which we have defined the following registers:-
1. Interrupt Controller Hyp Active Priorities Group0 Registers 0-3
2. Interrupt Controller Hyp Active Priorities Group1 Registers 0-3

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from :-
v1 - 1. Moved coproc register definition to asm/cpregs.h.

v2 - 1. Defined register alias.
2. Style issues.
3. Dropped R-b and Ack.

v3 - 1. Style issues.

v4 - 1. Replaced ___CP32(foo) with foo.

 xen/arch/arm/include/asm/cpregs.h | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/xen/arch/arm/include/asm/cpregs.h b/xen/arch/arm/include/asm/cpregs.h
index 7550fb25f5..4476c9f11b 100644
--- a/xen/arch/arm/include/asm/cpregs.h
+++ b/xen/arch/arm/include/asm/cpregs.h
@@ -259,6 +259,26 @@
 #define VBAR            p15,0,c12,c0,0  /* Vector Base Address Register */
 #define HVBAR           p15,4,c12,c0,0  /* Hyp. Vector Base Address Register */
 
+/*
+ * CP15 CR12: Interrupt Controller Hyp Active Priorities Group 0 Registers,
+ * n = 0 - 3
+ */
+#define __AP0Rx(x)      p15, 4, c12, c8, x
+#define ICH_AP0R0       __AP0Rx(0)
+#define ICH_AP0R1       __AP0Rx(1)
+#define ICH_AP0R2       __AP0Rx(2)
+#define ICH_AP0R3       __AP0Rx(3)
+
+/*
+ * CP15 CR12: Interrupt Controller Hyp Active Priorities Group 1 Registers,
+ * n = 0 - 3
+ */
+#define __AP1Rx(x)      p15, 4, c12, c9, x
+#define ICH_AP1R0       __AP1Rx(0)
+#define ICH_AP1R1       __AP1Rx(1)
+#define ICH_AP1R2       __AP1Rx(2)
+#define ICH_AP1R3       __AP1Rx(3)
+
 /* CP15 CR12: Interrupt Controller List Registers, n = 0 - 15 */
 #define __LR0(x)        p15, 4, c12, c12, x
 #define __LR8(x)        p15, 4, c12, c13, x
@@ -359,6 +379,14 @@
 #define HCR_EL2                 HCR
 #define HPFAR_EL2               HPFAR
 #define HSTR_EL2                HSTR
+#define ICH_AP0R0_EL2           ICH_AP0R0
+#define ICH_AP0R1_EL2           ICH_AP0R1
+#define ICH_AP0R2_EL2           ICH_AP0R2
+#define ICH_AP0R3_EL2           ICH_AP0R3
+#define ICH_AP1R0_EL2           ICH_AP1R0
+#define ICH_AP1R1_EL2           ICH_AP1R1
+#define ICH_AP1R2_EL2           ICH_AP1R2
+#define ICH_AP1R3_EL2           ICH_AP1R3
 #define ICH_LR0_EL2             ICH_LR0
 #define ICH_LR1_EL2             ICH_LR1
 #define ICH_LR2_EL2             ICH_LR2
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 13:30:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 13:30:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453629.711234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BYG-00071k-8h; Mon, 05 Dec 2022 13:30:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453629.711234; Mon, 05 Dec 2022 13:30:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BYG-00071b-4B; Mon, 05 Dec 2022 13:30:32 +0000
Received: by outflank-mailman (input) for mailman id 453629;
 Mon, 05 Dec 2022 13:30:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p2BYE-0006k4-MB
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 13:30:30 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20614.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc5c43d4-74a0-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 14:30:29 +0100 (CET)
Received: from BN9PR03CA0157.namprd03.prod.outlook.com (2603:10b6:408:f4::12)
 by SA3PR12MB7949.namprd12.prod.outlook.com (2603:10b6:806:31a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Mon, 5 Dec
 2022 13:30:26 +0000
Received: from BN8NAM11FT026.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:f4:cafe::4d) by BN9PR03CA0157.outlook.office365.com
 (2603:10b6:408:f4::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Mon, 5 Dec 2022 13:30:26 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT026.mail.protection.outlook.com (10.13.177.51) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.14 via Frontend Transport; Mon, 5 Dec 2022 13:30:25 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:29:37 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 5 Dec 2022 07:29:35 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc5c43d4-74a0-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G6Mr0o0ZW6lOCuDIcfZYCDQhVMpRJx1t/fqOIsQJTynpzP4iXiMCXAXiNWk9SUGE+apIspDMknkVtBNLwCTfJYx+z9MKwYagVZVinJQVg3CbseEnNvAuOTgWbOPS5H64MxpYpx1kHotU3hq6mjKV5+LGY7Brl6L5fxYzyR/H7uOm53XgQ/fiuToZJXMHct22tk0CbBA/DAanQv1HN5PgVzM5yRBjA7mXGJGkipfdVx98ySZuRt9MH+jXhbPGgfuXhtCz317fESqoxl1kANroyV4E/Td/WtXefCcI9rwAdTaxuvDvglnZ3LMolQPhb9aojA7N5aYqkKNDHnLR6/I6pA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+ycBL9vnbS90AEBJIm+fOecH7kLgLt9EJFNxYphA770=;
 b=PYyCBRTdd3sV+B11o5W3WtiXc56DxIv90FGFupO/BDmz0D5iAzmbw8ItR2576T4amGA61Wa1k7OnzEgmuke1wDTLYZNopERvDjG0X4+U7pW8zQS8p4quLpYIOvaJ14yOBJ4nRp0Lv6zO9ivB3B0BT9rzaSswQx/HAwUfMypKVEsMSogq+KMrYZkHmNk/vMkZ2HLtMcCiTj/tlPTWM12lU9VGlei9rUyc5f3HlnQQnTktRHovMbPv2k443nihbtG/U8Mho1rr/2PZ4Y/dpA37k4bXkThC9zohKrb8MjqYhSRn5GV0SKaWoo7IybtngfVaJwzTZEFK1donji5l7BTRsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+ycBL9vnbS90AEBJIm+fOecH7kLgLt9EJFNxYphA770=;
 b=ZmYoHEZAKc98I3QhHr7QGiETU/YC9lf1LMP/D54ERVY8XzeKOb+3c5ao816pACymeyassgIr3v5+Fxd7QIPQcNzyVyN7HgpzbfKF0a0pwaS//sv7HDQD5L9dnLXhhr3S0KERjdsSSG/DgdPirlOafj1We1BiS85286RYoYudo+A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <burzalodowa@gmail.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 09/11] xen/Arm: GICv3: Define remaining GIC registers for AArch32
Date: Mon, 5 Dec 2022 13:26:35 +0000
Message-ID: <20221205132637.26775-10-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT026:EE_|SA3PR12MB7949:EE_
X-MS-Office365-Filtering-Correlation-Id: 8a364457-2ba1-40c9-0abd-08dad6c4de73
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LSU8hTgdt2bB1MI8I6/fOgwtEKgLkAD9s6OVVQUvxto6H16YNnnQe21CoaWW0wQkuqlN+RXIWZMe+fBdLt/O/sGMAcU+Lq+h+9h1NOhvvEqD+UOY+TQwdlqA8p5Jgts8KlYdxDrO8OlkpGVBfTfzE3y3sKEG1e1HhP41GqeHQl9AizfSzzxihAfp94YDeRyPBFzreo7APPFEnGCNT8KPCCCxcTKq/IWMIo8cuaQxKTm0BW9zmBKFoC9qORycLdtIhGvVajcCU+Nhf00JbKaXTdnQ8xVZQ6Radrqyo4pW5jPJ9vQqPLXr4dpi4CgwsJv8YAKGdLWdQ0c6IV//VY38hzZiZGasKN/WnZSM29eOclCT4Z8LB/W+se8CPs4q+2PhBcMnzrrS4cJd8IIU65vVkGtYCMZmwz20OzihBT8+B2cji4E/Ax2ZrDwBTaZvWMoOcuJXHZXDB4ofjvLWZkkLqPzRE3NOM8Kwz8Ws0bry/N31ACPpx2IP9dHuISky6nRjZ5LhY07N/IMVgjf2VqdcEZvekzPqTmXL7Cf9df+eK6PIWPaeNRs+FFTOjQriJu76YG+HT07lXLOGgMsvu3FXytpin5BE7giF262uIj56FhVl1MxdFwwX9+ZqAYeuAUJQwQGEkdDxnlgx9ZslCuSB8gEWpuhDfWp1QPUEs3sU5IsLJKhhbaxEcxbnORnKNI5qKcxLECnqp1DuQfONQWlM/2AS3dU1JaBOrxHHvCs3h50=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(376002)(136003)(396003)(451199015)(46966006)(36840700001)(40470700004)(6916009)(41300700001)(4326008)(2906002)(70586007)(8676002)(70206006)(316002)(54906003)(82310400005)(186003)(478600001)(1076003)(356005)(103116003)(40480700001)(36756003)(336012)(426003)(2616005)(86362001)(26005)(83380400001)(82740400003)(5660300002)(8936002)(81166007)(40460700003)(47076005)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 13:30:25.9893
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a364457-2ba1-40c9-0abd-08dad6c4de73
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT026.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7949

Define missing assembly aliases for GIC registers on arm32, taking the ones
defined already for arm64 as a base. Aliases are defined according to the
GIC Architecture Specification ARM IHI 0069H.

Defined the following registers:-
1. Interrupt Controller Interrupt Priority Mask Register
2. Interrupt Controller System Register Enable register
3. Interrupt Controller Deactivate Interrupt Register
4. Interrupt Controller End Of Interrupt Register 1
5. Interrupt Controller Interrupt Acknowledge Register 1
6. Interrupt Controller Binary Point Register 1
7. Interrupt Controller Control Register
8. Interrupt Controller Interrupt Group 1 Enable register
9. Interrupt Controller Maintenance Interrupt State Register
10. Interrupt Controller End of Interrupt Status Register
11. Interrupt Controller Empty List Register Status Register
12. Interrupt Controller Virtual Machine Control Register

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---

Changes from :-
v1 - 1. Moved coproc regs definition to asm/cpregs.h

v2 - 1. Defined register alias.
2. Style issues.
3. Defined ELSR, MISR, EISR to make it consistent with AArch64.

v3 - 1. Rectified some of the register names.

v4 - 1. Placed ICC_DIR after VBAR.
2. Added Rb.

 xen/arch/arm/include/asm/cpregs.h | 32 +++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/xen/arch/arm/include/asm/cpregs.h b/xen/arch/arm/include/asm/cpregs.h
index 4476c9f11b..6b083de204 100644
--- a/xen/arch/arm/include/asm/cpregs.h
+++ b/xen/arch/arm/include/asm/cpregs.h
@@ -161,6 +161,7 @@
 #define DACR            p15,0,c3,c0,0   /* Domain Access Control Register */
 
 /* CP15 CR4: */
+#define ICC_PMR         p15,0,c4,c6,0   /* Interrupt Priority Mask Register */
 
 /* CP15 CR5: Fault Status Registers */
 #define DFSR            p15,0,c5,c0,0   /* Data Fault Status Register */
@@ -257,6 +258,7 @@
 #define ICC_ASGI1R      p15,1,c12       /* Interrupt Controller Alias SGI Group 1 Register */
 #define ICC_SGI0R       p15,2,c12       /* Interrupt Controller SGI Group 0 */
 #define VBAR            p15,0,c12,c0,0  /* Vector Base Address Register */
+#define ICC_DIR         p15,0,c12,c11,1 /* Interrupt Controller Deactivate Interrupt Register */
 #define HVBAR           p15,4,c12,c0,0  /* Hyp. Vector Base Address Register */
 
 /*
@@ -279,6 +281,20 @@
 #define ICH_AP1R2       __AP1Rx(2)
 #define ICH_AP1R3       __AP1Rx(3)
 
+#define ICC_IAR1        p15,0,c12,c12,0  /* Interrupt Controller Interrupt Acknowledge Register 1 */
+#define ICC_EOIR1       p15,0,c12,c12,1  /* Interrupt Controller End Of Interrupt Register 1 */
+#define ICC_BPR1        p15,0,c12,c12,3  /* Interrupt Controller Binary Point Register 1 */
+#define ICC_CTLR        p15,0,c12,c12,4  /* Interrupt Controller Control Register */
+#define ICC_SRE         p15,0,c12,c12,5  /* Interrupt Controller System Register Enable register */
+#define ICC_IGRPEN1     p15,0,c12,c12,7  /* Interrupt Controller Interrupt Group 1 Enable register */
+#define ICC_HSRE        p15,4,c12,c9,5   /* Interrupt Controller Hyp System Register Enable register */
+#define ICH_HCR         p15,4,c12,c11,0  /* Interrupt Controller Hyp Control Register */
+#define ICH_VTR         p15,4,c12,c11,1  /* Interrupt Controller VGIC Type Register */
+#define ICH_MISR        p15,4,c12,c11,2  /* Interrupt Controller Maintenance Interrupt State Register */
+#define ICH_EISR        p15,4,c12,c11,3  /* Interrupt Controller End of Interrupt Status Register */
+#define ICH_ELRSR       p15,4,c12,c11,5  /* Interrupt Controller Empty List Register Status Register */
+#define ICH_VMCR        p15,4,c12,c11,7  /* Interrupt Controller Virtual Machine Control Register */
+
 /* CP15 CR12: Interrupt Controller List Registers, n = 0 - 15 */
 #define __LR0(x)        p15, 4, c12, c12, x
 #define __LR8(x)        p15, 4, c12, c13, x
@@ -379,6 +395,15 @@
 #define HCR_EL2                 HCR
 #define HPFAR_EL2               HPFAR
 #define HSTR_EL2                HSTR
+#define ICC_BPR1_EL1            ICC_BPR1
+#define ICC_CTLR_EL1            ICC_CTLR
+#define ICC_DIR_EL1             ICC_DIR
+#define ICC_EOIR1_EL1           ICC_EOIR1
+#define ICC_IGRPEN1_EL1         ICC_IGRPEN1
+#define ICC_PMR_EL1             ICC_PMR
+#define ICC_SGI1R_EL1           ICC_SGI1R
+#define ICC_SRE_EL1             ICC_SRE
+#define ICC_SRE_EL2             ICC_HSRE
 #define ICH_AP0R0_EL2           ICH_AP0R0
 #define ICH_AP0R1_EL2           ICH_AP0R1
 #define ICH_AP0R2_EL2           ICH_AP0R2
@@ -387,6 +412,10 @@
 #define ICH_AP1R1_EL2           ICH_AP1R1
 #define ICH_AP1R2_EL2           ICH_AP1R2
 #define ICH_AP1R3_EL2           ICH_AP1R3
+#define ICH_EISR_EL2            ICH_EISR
+#define ICH_ELRSR_EL2           ICH_ELRSR
+#define ICH_HCR_EL2             ICH_HCR
+#define ICC_IAR1_EL1            ICC_IAR1
 #define ICH_LR0_EL2             ICH_LR0
 #define ICH_LR1_EL2             ICH_LR1
 #define ICH_LR2_EL2             ICH_LR2
@@ -419,6 +448,9 @@
 #define ICH_LRC13_EL2           ICH_LRC13
 #define ICH_LRC14_EL2           ICH_LRC14
 #define ICH_LRC15_EL2           ICH_LRC15
+#define ICH_MISR_EL2            ICH_MISR
+#define ICH_VMCR_EL2            ICH_VMCR
+#define ICH_VTR_EL2             ICH_VTR
 #define ID_AFR0_EL1             ID_AFR0
 #define ID_DFR0_EL1             ID_DFR0
 #define ID_DFR1_EL1             ID_DFR1
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 13:44:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 13:44:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453662.711245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Blk-0001qC-J1; Mon, 05 Dec 2022 13:44:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453662.711245; Mon, 05 Dec 2022 13:44:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Blk-0001q5-Fh; Mon, 05 Dec 2022 13:44:28 +0000
Received: by outflank-mailman (input) for mailman id 453662;
 Mon, 05 Dec 2022 13:44:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2Zgi=4D=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2Blk-0001pz-1X
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 13:44:28 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20606.outbound.protection.outlook.com
 [2a01:111:f400:7d00::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9caa41f-74a2-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 14:44:17 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8599.eurprd04.prod.outlook.com (2603:10a6:10:2da::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Mon, 5 Dec
 2022 13:44:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 13:44:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9caa41f-74a2-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KiwqqJfQH/jWTAFJocsuPbULfvqNqCI5egg1OXe7Eqszes/V9ktXUWXldohaNA0l33/d+X+ZMJLq6ZWofqHcgwBFWdPYPBB2yhVF4VIwe0cgCIH25pJf4Uj7ZDYbXuJ3EFpVs1H6/+/V3DQOiwbG1VpyRXkfGiwg/uJeyS7pd5M6N2ovEahcqj7/WxEWlU0Zu4Ue3XelxpuumGlXXurHcxeF8nWSS1iYVbz9OpRywvuoBRWeCWwUUxGwFStBkuLYGLky71xT4szHpDcmJqtUp01DsGyGERjorQtkSE4LD8bvAeEhUAZx+IbqjZE+ISitkhb+x4khs+gFAW+6toKpJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gJWX5i/UjY80zkHgdh62XxlDc7OIJ4WxgJOe3jSKZJo=;
 b=aSrgM35JrPMhLh/hm0f4RUK726QxE03VsNHEHtBULFnEBZFKPfrO8N9WRKGEmImdBwwqen1Uyf3hY6p4CxSBU9eB31LQbZLXZBoqQg0+EbDhtSOvrBBK+jgFS9CG8Y1ObveXPQ9i81ELcGm57xSChd5YnSC65/2cR2YnJ+xg6ab36b4wwGP3HjtQRsweAbGdhTqUovIGDoxOMUI0dTfnZqkkvvY0Iz7p5551L0/3YSLsRSkTQf68YicCxkScCVdCfnJz1duukl3ZaeLjhAf7oGWlCP4heWUyRHB2XJEm+B1a1FFgJywdvSqvbLCiYXHKvSteo6U9irv/GXku/Pp6qw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gJWX5i/UjY80zkHgdh62XxlDc7OIJ4WxgJOe3jSKZJo=;
 b=yaZQYUARlN7ahcbaFnnVxE3sOAPHupW2Z1JUEfjZpChTA4df9NuK8MK8s88/s2+n8yR6IvbMzWbpGbWs5oU21oAzqGq3NnE7vn4IrRzyWEIgcMEaCeGD/HUkBAQIDNAAUz+mW725rtqTtOzwk9fFs8wzoxo8u2ksFu8YED+Q5KQB4Zv/Cgvxi2jlWbVZKDJi6CC4YfXt6qY9JqGxDQTjXxpwrUnLoy+9SL/Jt9bMmgBjXW3nyAvk46ejHBvtHRXlXoAHSK6X7uSrQdzcuksTYBC9dnIoPAPVUr5C+zGuRnSEZailQUm3WWU/eaa2wgpqvMqHVoprzemaQ7M5YCZXIQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f94f9c80-3477-c6f4-bdaa-a4119ffe69dd@suse.com>
Date: Mon, 5 Dec 2022 14:44:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] x86/HVM: don't mark evtchn upcall vector as pending when
 vLAPIC is disabled
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <f0d73fa7-8fe3-3810-f4e7-ddb654ac0afd@suse.com>
 <eebc4393-c322-0a2e-f600-18d384fe2647@citrix.com>
 <9a1e9336-a3b4-530e-5ef5-abf193492380@suse.com>
 <5a2df843-1acd-ad78-baff-e47befd0703c@citrix.com>
 <878e635f-b116-3580-945f-f8acb711a5bc@suse.com>
 <69507b8d-1f31-39fb-7469-e240fbfdde44@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <69507b8d-1f31-39fb-7469-e240fbfdde44@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0179.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8599:EE_
X-MS-Office365-Filtering-Correlation-Id: 2701ff38-5a9d-42fb-85ac-08dad6c6d238
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1uOL5b3VRUZbNZ27WX1MyuW4fMh+ysR0ts4M8n2k5cV+fNWf2t5olhgfYrlxyTvzOyTlL8RWtvLSWHzjPl7VCdlEDGgLQUHBYhE5Xt9xFuORGewzKNRDF37/J5ZwHYA5UzStMqJnxAPU74OvdJruWOQwMVOBFVl7cVynXVjEHSSNV9efS63CY8r79Igsi0Gurt72ScVvynjJuKdPyb/2zMgWn0vPPVXJtoqCUdIaZc2UJ9WDRDnaZAgCNWD5dne9Qo9/ZY1Bg66lFvS9WrNs47yzmgse6Yz5qxCZn2acnqVutpd0KkHri1u8Ok1NES8XG2OvJfM33TB4MO7mF5OqNO8UBT0bYXRtRVzgrsV5pt/a4jPA+33SXmAAkddxOGzbqLEd9QGcwhRtERExnPRI63AuBVNSEUsCo/jU1UQs9k0HB6kvfL7Ve50CZYiyPvnowZw9syrun6cWTUNQYBtMM9JV47eN/RmBIDT8p4vhTIOEMIKDdftJ0Cj+F2Y3G7/pGFjbDO4bw4QEDrPVdgqMrucM7C8Dt5gLmRvzE6BxB96WhJnVkqhcn1uQFkHkT3/VcPx8UDEIJNSuV0S0Bs+e+FWKW/5iPS5nAfhPg6Fan418RrImPPgC6vtuQtfvhvvurQpktLnBtGDUWR6PYG5T53H7dOq4p2fXnJhazs4L98pDhGPF7na5yRh91cyImkT7wxElS2VThcaNo37cHCQHc1MLU26yc1Erk0nuzRLblRk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(39860400002)(136003)(396003)(376002)(451199015)(6486002)(53546011)(31686004)(6506007)(6512007)(4326008)(26005)(316002)(6916009)(54906003)(31696002)(86362001)(66556008)(66946007)(8676002)(66476007)(2906002)(186003)(41300700001)(38100700002)(2616005)(8936002)(478600001)(83380400001)(5660300002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bjNsTzV2K3ZWNy96YnNvN2ExOFpzUzM1cTZmK3lSY1RCcHpJSnhpVHAxM3JZ?=
 =?utf-8?B?Z0pCelhhci9PNFdnZVFHaFhpUnVoRlBwUDJCNUFidFEzaUEwdWZnREFSa0pJ?=
 =?utf-8?B?NjhhZEFvK1lkNEFidStkbXROUFB6eDNyQkhBVzZrbktnUWZMNTBra3RqVy83?=
 =?utf-8?B?bkdmZWF5OEFDUzVUM2ZsQXc0N29DQkNXUFhoMHhTdGR0MEhQcjJ4M0hBOUlU?=
 =?utf-8?B?RGFtUWJkUUROQkhQRDlIMmI0UFo0Y3lEOGovUzRpSmlSQ0YxcVRCT2plV1ho?=
 =?utf-8?B?aDZ6NG0vdXZmV2Vlb2pUdndLSnduZVBCcEs1OUZmWDh0cGl5aGNIY0VMOVly?=
 =?utf-8?B?UWdhVXVIWVhaYmpyZmRSNytGWW01dzQ3UHdla1oxVU9xWG1Pd21MOWZlckZH?=
 =?utf-8?B?TDFTVnFnb1AxY1hJQURCWXU0N09ZbDFqTE5oUHVsMXNqQ0lVZnB2Z1NwMzBE?=
 =?utf-8?B?NTQvdm9Ra01SVVpSd3QwVDhLNDRVK0lGR3JBeEgxVy82WTJGTWFRSHJWTGlR?=
 =?utf-8?B?c24vR0UyK0IxaEhSR2srSkF4MG5Ua09yNnFLVVJxaEplMm9sSXhPRUkxdFJU?=
 =?utf-8?B?VVg3bFFlSjl4SnNnV2U0bmh1R01FbHkvelB0cWlaeGVKS1F6S04rb3pXSjVH?=
 =?utf-8?B?b1Q5VGVyY0U1cmxoNFFhYldLR1N1U0lyb2RXeklJOXQrOUZEamgzVXRNVEF6?=
 =?utf-8?B?MzdONjZLRUJDT0hsclM2NUVQOS90bkFHZVhBN21UQzVsZ0ZBSE5HNWVIdUhh?=
 =?utf-8?B?ZVY5dnlJb29xeHdtZGNFNXl1ZnFXcDBSOG5Sdk5ZSFNYTE9ia1dLNllOWXh3?=
 =?utf-8?B?WmlvUzdHUGEwRE5OeUM5bzFUSGJQV1E4WCt0ZE40K0xxTG9IYnFHcDU1a01E?=
 =?utf-8?B?b2xxcllQVHM2VFpwRUlnRWFIRklDMEtGZWczR1N3Z25TdEppYmV0aVNlR3k5?=
 =?utf-8?B?UFB4WS9WTFBSVzdYK3RmVVVtUDYvTkw5dFE2RXFacWR3Mkh0UVFMNHpYM0Zi?=
 =?utf-8?B?YTZIdkFtNlVwYTJiYm9IMzNrcE56WkliaGlpVVFYWnQ2R3NCVm9JS1FBcFVJ?=
 =?utf-8?B?dVF1cFJSS2RYek82VWYxTDMzTlRuM0hVTWRpV21IeTJaSitCNXBXSUdFQnM2?=
 =?utf-8?B?NTNmTVBIODVpelJoQmVvL2lYTjhDMXF1amg4WFltY3NwamlHb1JWdkhmWEYr?=
 =?utf-8?B?RlNiRkxCa1lvYy9NOEJvbWVjT1ZMM1lzb2haQlJ6bHhXclRjLytFeGpxRk55?=
 =?utf-8?B?anA4THF4SCtvUkJ0RzFHNmxKZUF1eHNYZ2taTmluM2lNemdmRFFJRGdoQS9G?=
 =?utf-8?B?MWxQQysvQ0pwREJrS2c2Z1lxTWtNWlJIVFZQTFBURVN2TVc2K3VIK1c2M0tQ?=
 =?utf-8?B?OXFDb3NUek5GYzlzcm1jTXEyMDVXZExUYTdLeTU1aWpGMTJvQm9JMzh3SDhy?=
 =?utf-8?B?SW8xQzhrOVZQeUF3WjZrKzc2b3dPdk5RcFZmcVlFZ2xrbDFtN1RwczI0RjdX?=
 =?utf-8?B?WGZFd2t4RUVUMy9zY0V0KzE4Nmhha0I1ZFRheTFUYmZVa0V0NERKWDd4WFRB?=
 =?utf-8?B?NnE3Qm8yUGFiencvVldJcGVtSmZVWlk5OWdBK2R5em5Xd004aHY2SHNyRCto?=
 =?utf-8?B?ZDJzUlNRL2REdWhXditDM0FJdUgweGVOazBTWmp5Z2RYZUpuK1ZsOU5GY2gv?=
 =?utf-8?B?bWpFcG5hV2ZhZ012RnhwbFNTUW93Z3czdVk3WTJaOGdSVmgyK3FzSWpqcE5t?=
 =?utf-8?B?NXQ4SklUeTFNa3NZb2tjdG5nMHk1Q0puOTZ5Qm82bG84YU5kZW90UUhxVmNu?=
 =?utf-8?B?eS9scmt2aExOMFpoZ1pCb2JTVHgrVUwzNjhMVWtUU0ZnRlZESVlpcnJyUFN0?=
 =?utf-8?B?Rk1ETE0vOFJ3MU84T2ttYWxpTng0UGdkWmUvZFozeTNaR2NrZkVTSStsZnov?=
 =?utf-8?B?YzJnSEJ1d2hQcTdHNWI0QUoyN0ZYejhNUUZ1MW4vc05OcGw3WVdCOUdoK2Jh?=
 =?utf-8?B?WFVJZHAvOEZKd2JUNWFjd1RjcHlRSWQyd2dsRDY0ZU9lc1RTWEV1dUJqNktl?=
 =?utf-8?B?WWlUQi9pNXFPbld3K1hFMVRDSU9qcSt5OVkreEl5SmNzcEk5SHZlWFVwbVRI?=
 =?utf-8?Q?cy4WhMHoGDC8PUVij9pp7Ytaf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2701ff38-5a9d-42fb-85ac-08dad6c6d238
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 13:44:24.7165
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: o7OONVkiDgSg3KH7zGoxl0wh267ZfRU9dv+LoOFCaOiQOw9A5ri+ItJ8GxyymcGMLR2rkZF2Ta93qm+Zg06r5A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8599

On 21.11.2022 13:23, Andrew Cooper wrote:
> On 21/11/2022 08:56, Jan Beulich wrote:
>> On 18.11.2022 15:27, Andrew Cooper wrote:
>>> On 18/11/2022 12:54, Jan Beulich wrote:
>>>> On 18.11.2022 13:33, Andrew Cooper wrote:
>>>>> On 18/11/2022 10:31, Jan Beulich wrote:
>>>>>> Linux'es relatively new use of HVMOP_set_evtchn_upcall_vector has
>>>>>> exposed a problem with the marking of the respective vector as
>>>>>> pending: For quite some time Linux has been checking whether any stale
>>>>>> ISR or IRR bits would still be set while preparing the LAPIC for use.
>>>>>> This check is now triggering on the upcall vector, as the registration,
>>>>>> at least for APs, happens before the LAPIC is actually enabled.
>>>>>>
>>>>>> In software-disabled state an LAPIC would not accept any interrupt
>>>>>> requests and hence no IRR bit would newly become set while in this
>>>>>> state. As a result it is also wrong for us to mark the upcall vector as
>>>>>> having a pending request when the vLAPIC is in this state.
>>>>> I agree with this.
>>>>>
>>>>>> To compensate for the "enabled" check added to the assertion logic, add
>>>>>> logic to (conditionally) mark the upcall vector as having a request
>>>>>> pending at the time the LAPIC is being software-enabled by the guest.
>>>>> But this, I don't think is appropriate.
>>>>>
>>>>> The point of raising on enable is allegedly to work around setup race
>>>>> conditions.  I'm unconvinced by this reasoning, but it is what it is,
>>>>> and the stated behaviour is to raise there and then.
>>>>>
>>>>> If a guest enables evtchn while the LAPIC is disabled, then the
>>>>> interrupt is lost.  Like every other interrupt in an x86 system.
>>>> Edge triggered ones you mean, I suppose, but yes.
>>> For IO-APIC systems, you mostly lose line interrupts too, don't you?
>>>
>>> The line will remain pending at the IO-APIC, but nothing in the system
>>> will unwedge until someone polls the IO-APIC.
>>>
>>> Either way...
>>>
>>>>> I don't think there is any credible way a guest kernel author can expect
>>>>> the weird evtchn edgecase to wait for an arbitrary point in the future,
>>>>> and it's a corner case that I think is worth not keeping.
>>>> Well - did you look at 7b5b8ca7dffd ("x86/upcall: inject a spurious event
>>>> after setting upcall vector"), referenced by the Fixes: tag? The issue is
>>>> that with evtchn_upcall_pending once set, there would never again be a
>>>> notification.
>>> Ok, so we do need to do something.
>>>
>>>>  So if what you say is to be the model we follow, then that
>>>> earlier change was perhaps wrong as well. Instead it should then have
>>>> been a guest change (as also implicit from your reply) to clear
>>>> evtchn_upcall_pending after vCPU info registration (there) or LAPIC
>>>> enabling (here), perhaps by way of "manually" invoking the handling of
>>>> that pending event, or by issuing a self-IPI with that vector.
>>>> Especially the LAPIC enabling case would then be yet another Xen-specific
>>>> on a guest code path which better wouldn't have to be aware of Xen. 
>>> Without trying to prescribe how to fix this specific issue, wherever
>>> possible we should be trying to limit the Xen-isms from non-Xen areas. 
>>> There's a whole lot of poorly described and surprising behaviours which
>>> have not stood the test of time.
>>>
>>> In this case, it seems that we have yet another x86 PV-ism which hasn't
>>> translated well x86 HVM.  Specifically, we're trying to overlay an
>>> entirely shared-memory (and delayed return-to-guest) interrupt
>>> controller onto one which is properly constructed to handle events in
>>> realtime.
>>>
>>>
>>> I even got as far as writing that maybe leaving it as-is was the best
>>> option (principle of least surprise for Xen developers), but our
>>> "friend" apic acceleration strikes again.
>>>
>>> Xen doesn't always get a VMExit when the guest clears SW_DISABLE,
>>> because microcode may have accelerated it.
>> But as per "APIC-Write Emulation" in the SDM we'd still get an APIC-write
>> VM exit.
> 
> Intel isn't the only accelerated implementation, and there future
> details not in the public docs.
> 
> There will be an implementation we will want to support where Xen
> doesn't get a vmexit for a write to SPIV.

To cover for that, as just discussed, I've added

"Note however that, like for the pt_may_unmask_irq() we already have
 there, long term we may need to find a different solution. This will be
 especially relevant in case yet better LAPIC acceleration would
 eliminate notifications of guest writes to this and other registers."

to the last paragraph of the commit message.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 13:48:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 13:48:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453671.711255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Bq5-0002T3-2i; Mon, 05 Dec 2022 13:48:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453671.711255; Mon, 05 Dec 2022 13:48:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Bq5-0002Sw-00; Mon, 05 Dec 2022 13:48:57 +0000
Received: by outflank-mailman (input) for mailman id 453671;
 Mon, 05 Dec 2022 13:48:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUwf=4D=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p2Bq4-0002Sp-8N
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 13:48:56 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060b.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8ec36f08-74a3-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 14:48:54 +0100 (CET)
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DB9PR08MB8228.eurprd08.prod.outlook.com (2603:10a6:10:39d::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 5 Dec
 2022 13:48:52 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 13:48:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ec36f08-74a3-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VnoK0BilEUx9KMv3fqIm0D+0897KB1HDhKHQoKB6+nnV4ZGq72Qbw2ZqX/h/k9MkLX5AfB2OWgzb3N7vrBb4zzGI7mF3vhwG86yiZp2Zd/Xj2rqPPAUuElzbUX67kjN/uFy58qLVjsGaSE0sqgtq02Ns4wjKDoL1jVQG6TbeZLk7yGycLum5xKYYC3+wMdfX7eN3OtUyh1SmuJG3VDHLmSFI6LdTJeTF68yy0tILfHA5iAwxB4epS4Gc4NqTZ3CKGPlWohbYc8TvL1IJ8ngXyru2Nw3aekC4InV4ksE7OmHfl5zo5wfO82swTjWc/VCWOMDVgulkUhsBD29KuMwVsg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vt0Dh9x/gESUCEJ/ulRO78Bjfd/BSiGrYUpdk531oCM=;
 b=kwRrSfWNNLPy8C/k56lIIP6rerHVYl0gqBPFnWzYz2TiHMsMFq3RWuw0bkS1ESpJS2JZGvHyuugNAsLFgSeKPx7ZeJXjnVDHwOFX4VdxxiIrU1EgwHUqgjpvGljoiZ8ZsFoXrajPlbFjg2dUd4wVjtrQqAixI9jEpJYIuL1VAlrHFfjjBlwc2b4xXDFKKVdpzAlm77rmHGIe6o4JIeDQJIHPhYhz3foWm0WGNfb9NCVDqgunGeKS1MZYZE2JedqVtM49qhXCtWy2teOe2Ko7ID2+jpYc/8U+h0T+MhNlr1EgujSOSJgdYdbj7EGb45jXP7TRoTbtN+0Fr2ghPz1LGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vt0Dh9x/gESUCEJ/ulRO78Bjfd/BSiGrYUpdk531oCM=;
 b=9PTZZCu5ZAlSxtnlaxH4DIxNe44UMsASgnko4xrpWMnAZICsjKu+cydol86Up2ZEg4OCXNhYt39qn5Alz4S//JQbFD1wNOUzhFqUVQFsGG//Oi0bjybUUuEJzpNN2HGP7UxiQKAPS9TBu9OujASJ6qPNSnT7qR42elwww0ClBec=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen developer discussion <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
Thread-Topic: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
Thread-Index: AQHZBZ7dBYCbekoSiE+Vqn2CZKLLUK5cuH4AgAKc1gA=
Date: Mon, 5 Dec 2022 13:48:52 +0000
Message-ID: <6E96FD3A-9CA8-4158-9041-EEAAAD7F7F7D@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
 <e4e25940-9637-2046-18e0-82a863c2737e@xen.org>
In-Reply-To: <e4e25940-9637-2046-18e0-82a863c2737e@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7158:EE_|DB9PR08MB8228:EE_
x-ms-office365-filtering-correlation-id: 2439612f-0673-48de-a65f-08dad6c771fa
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 92LqdFSL69nXCG8fm8qaUvsiJr+kFtBC1nNgeuNo6FmqxAzlavjXJyopr4IaHzGeb9K5YAL2CuXUXhWn7WO2UGko9F0Ak0mpoJGTIPUHYqfoY+Od0lJN+AAGYvOKERWdlXUKYN9mJ5DJ2SrgMutiKho6u2MdWnsIx12QQTks855w4HIw5M0xZv8AASFi1PsHRw6Jl+Ep6SP2nKeW2do9HlClR77Kxvk5ohn/ox12gSeUulq2EBBZO07+piyDFnEpDRa7IUmvG/roLbuZJx6Y94KwzOWU3NDwHG9zvVzeaddAa2FeVs8PjsF5VU3M/i/xbbOEUaCgbRJHW8KQPvB2UfzQMUNp7YUsv2zHeR/Gr28fUDSKbQtHMi2bAPMTnZdXhIA7z+E1bwf3K4O6j1DvDNnVb8fEmGEJOewAMI8ZyUpsRZYvtbg3/FwAN518fDdK6S+izZQEG4in/+tPn+qKkr7Ty9idWh1ymB7efXaNYPKfxEnSN7gngIXcPBchnfFpWL6H23jbFfgbLanBkff1dEEWPgFotlK7JuZA48x9iDFSZSux4ohbxRthGwa8LAUJJvJLmnXPVFwYOF/4t2aFp93M3BLeOuunkydcv3k/KaNuZCNQbyddlR6wN4Rii2cMO5SS3Xt4gj4lcodyJrCH6Y3T3FTlT7zMg94Az8yQwAziK/V3hrWhEwn77JS4h723WVD9jhHQQGJgplzqTWkQBwu72bGIivpDOFpGmqw20jAHDGjheUFJIpXM1TY3AQ/8vbJ6h7Ui5ASlPAwgJLN5O+Wvzv4P0UhNuFgOse9VKf8=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(39860400002)(136003)(346002)(376002)(451199015)(2906002)(478600001)(8676002)(4326008)(66946007)(66476007)(66446008)(66556008)(76116006)(186003)(64756008)(8936002)(122000001)(38070700005)(71200400001)(2616005)(36756003)(6486002)(41300700001)(86362001)(316002)(5660300002)(53546011)(26005)(6512007)(83380400001)(91956017)(54906003)(6916009)(33656002)(6506007)(38100700002)(41533002)(21314003)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?fwbGPNpUrVtzv55vTHDBvGftHEe8zDAoubBsDWfPwCABgHHJ7uOr3dcqeX?=
 =?iso-8859-1?Q?ay4KD/ju84cjSd5zL6fPFKnOq4oUrVtgHUNS9aBJuj7ZfIssxTs4ONlJEz?=
 =?iso-8859-1?Q?MkNYbxbCLCkRYmZiBMY4aeB2exNPy0JRr/o8/M3QF4GaFcQ9KrDvHd/v+Y?=
 =?iso-8859-1?Q?4R81jPBFhi7mFN8Hfe/+r9qu2Gl1G+u8jah2eLNCR0tAXUtwpITXbIxo0S?=
 =?iso-8859-1?Q?Uexz5xBpfvBtLb5n/OVK11dXMi9k8/kMva4r1EFDZFqfIer3MgE74KIH6g?=
 =?iso-8859-1?Q?sFMxjAYcAHPbA7I2/ohOlSeS/V7UDsm/7kjCES9R02qTVuE4UCwcnRtA93?=
 =?iso-8859-1?Q?Gt9MKQSBAsFZud6IPnZ6l0s4GppY81wMK/1m9yYiH1h4sqLTbeakXbFZOc?=
 =?iso-8859-1?Q?s7WOp4XgewDv1lPw4eGMwgLwOQYxL2Y6BUr4Y4acVEf73aP0h7FfZFj65K?=
 =?iso-8859-1?Q?fLuJSXicVMBoHukXIcO4pmLDfMBTM966EdwnZnPw81p5UDTA8NAwRSnpYe?=
 =?iso-8859-1?Q?8C0trWpCeJFXdHCqBqTVCs112VpdnZIN7oQHfgH59X3B31CUEKHV4aKdmd?=
 =?iso-8859-1?Q?aZBA2JRibsKsgOm+8eBxiI8B/IiRm5RLOcgxUylYHgF9CjGgaS6Z7nYFsL?=
 =?iso-8859-1?Q?uDghIkwMKtbVzyTmKWaX5TrxcNW2cVpxamAqISC5O/66vXjwd7zpcIwYed?=
 =?iso-8859-1?Q?o/ZKTQ/pi7lYcl+gNbWxuaZf/1idxSfIZfub7vYXUR1yj2W4hIVi7yAMII?=
 =?iso-8859-1?Q?uKrQn60sV2UJEBjjJXy3GSOG3VPeCYslPsrhEmpEZHfty7xvHFAu3gHH5B?=
 =?iso-8859-1?Q?b0r0AP+2/16fF5DRRzAvXTdffQnz8v2UcVp8lGbBM6lSq2bCRisyIAKIaV?=
 =?iso-8859-1?Q?69u59/6t3iDDJ1KRCZZzrPCd3z3hYSh5CyPOEq3pK+7QQgIEDzfRZXPSPD?=
 =?iso-8859-1?Q?v1yBeVPRSu6ZXjr8HBQPnneQPcdAbNdBoRYH46wys/2VJU1x8d+E/wvzbp?=
 =?iso-8859-1?Q?8AJbovRdPGGb+db04gjFj9L7Rfg7nRJ5pLf5oLAkciFpT2XpXIbnJQyhmC?=
 =?iso-8859-1?Q?B1d0MTBrwFaMKd7lIrKp3Pu5vEaw5H4SIBCiwIIM4t1OfhdmPDCXQjnwmu?=
 =?iso-8859-1?Q?I4RJRR2M0+OmiNF1hGo9uD5Y/3EuSksvnrIUMwVBkM6isaRPS+RqWlUJzU?=
 =?iso-8859-1?Q?rFiTkpVfGHkInBw+/8s8j7uBmJVmEBk5zr28MlXR4arWZxKmRFfTxAkLZY?=
 =?iso-8859-1?Q?CkUu+hHt28nuiYAIyzM9/e7PUvLostjVaavCwKU5Qf3V2a6PxA7YM8k991?=
 =?iso-8859-1?Q?bThj8xQHALY4ykEE4GkwCEhty56bHjnkv/HW1YHp7F+ct8HrNLrEQrvLNX?=
 =?iso-8859-1?Q?5T97RcvOcORU3liuVnovnYPLMhmKBf7oXBFW+WOiTQdwoWTI4Puf2YRkZt?=
 =?iso-8859-1?Q?v6wmjqtGEkiIou4nG6KkQiuVUXJrBRpwyjAh95wGMFXWsOjl37l6KlYsXg?=
 =?iso-8859-1?Q?6zZP4uHpHqZERh2Is30jgfHhC1+dwTgryhB+punJTc8ClFWTrmGQI6mSqs?=
 =?iso-8859-1?Q?Lre+QO+y1lSzsh9yUzC/hgOkoKHfhGRIosMF+e3YwHjREzqylOQCa3L8SG?=
 =?iso-8859-1?Q?49jTLPtLlB6ofjYRtX6eSqh01l+76tdQ4F?=
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <430076BBE9AF5646BFD950536E881E9D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7158.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2439612f-0673-48de-a65f-08dad6c771fa
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2022 13:48:52.5278
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 5av5zKo5U9FPEU3W7XxbOlrse7+6pRN/mNLC0P7mKwjj20v4ZkOW0oyHIS3JUxMs2FCGbGs7yBgtB06/QIPvig==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8228

Hi Julien,

> On 3 Dec 2022, at 9:54 pm, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Rahul,
>=20
> On 01/12/2022 16:02, Rahul Singh wrote:
>> This patch adds basic framework for vIOMMU.
>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>> ---
>>  xen/arch/arm/domain.c                | 17 +++++++
>>  xen/arch/arm/domain_build.c          |  3 ++
>>  xen/arch/arm/include/asm/viommu.h    | 70 ++++++++++++++++++++++++++++
>>  xen/drivers/passthrough/Kconfig      |  6 +++
>>  xen/drivers/passthrough/arm/Makefile |  1 +
>>  xen/drivers/passthrough/arm/viommu.c | 48 +++++++++++++++++++
>>  xen/include/public/arch-arm.h        |  4 ++
>>  7 files changed, 149 insertions(+)
>>  create mode 100644 xen/arch/arm/include/asm/viommu.h
>>  create mode 100644 xen/drivers/passthrough/arm/viommu.c
>> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
>> index 38e22f12af..2a85209736 100644
>> --- a/xen/arch/arm/domain.c
>> +++ b/xen/arch/arm/domain.c
>> @@ -37,6 +37,7 @@
>>  #include <asm/tee/tee.h>
>>  #include <asm/vfp.h>
>>  #include <asm/vgic.h>
>> +#include <asm/viommu.h>
>>  #include <asm/vtimer.h>
>>    #include "vpci.h"
>> @@ -691,6 +692,13 @@ int arch_sanitise_domain_config(struct xen_domctl_c=
reatedomain *config)
>>          return -EINVAL;
>>      }
>>  +    if ( config->arch.viommu_type !=3D XEN_DOMCTL_CONFIG_VIOMMU_NONE )
>> +    {
>> +        dprintk(XENLOG_INFO,
>> +                "vIOMMU type requested not supported by the platform or=
 Xen\n");
>> +        return -EINVAL;
>> +    }
>> +
>>      return 0;
>>  }
>>  @@ -783,6 +791,9 @@ int arch_domain_create(struct domain *d,
>>      if ( (rc =3D domain_vpci_init(d)) !=3D 0 )
>>          goto fail;
>>  +    if ( (rc =3D domain_viommu_init(d, config->arch.viommu_type)) !=3D=
 0 )
>> +        goto fail;
>> +
>>      return 0;
>>    fail:
>> @@ -998,6 +1009,7 @@ static int relinquish_memory(struct domain *d, stru=
ct page_list_head *list)
>>  enum {
>>      PROG_pci =3D 1,
>>      PROG_tee,
>> +    PROG_viommu,
>>      PROG_xen,
>>      PROG_page,
>>      PROG_mapping,
>> @@ -1048,6 +1060,11 @@ int domain_relinquish_resources(struct domain *d)
>>          if (ret )
>>              return ret;
>>  +    PROGRESS(viommu):
>> +        ret =3D viommu_relinquish_resources(d);
>> +        if (ret )
>> +            return ret;
>=20
> I would have expected us to relinquish the vIOMMU resources *before* we d=
etach the devices. So can you explain the ordering?

I think first we need to detach the device that will set the S1 and S2 stag=
e translation to bypass/abort then we
need to remove the vIOMMU. Do you have anything that you feel if we relinqu=
ish the vIOMMU after detach is not right.

>=20
>> +
>>      PROGRESS(xen):
>>          ret =3D relinquish_memory(d, &d->xenpage_list);
>>          if ( ret )
>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>> index bd30d3798c..abbaf37a2e 100644
>> --- a/xen/arch/arm/domain_build.c
>> +++ b/xen/arch/arm/domain_build.c
>> @@ -27,6 +27,7 @@
>>  #include <asm/setup.h>
>>  #include <asm/cpufeature.h>
>>  #include <asm/domain_build.h>
>> +#include <asm/viommu.h>
>>  #include <xen/event.h>
>>    #include <xen/irq.h>
>> @@ -3858,6 +3859,7 @@ void __init create_domUs(void)
>>          struct domain *d;
>>          struct xen_domctl_createdomain d_cfg =3D {
>>              .arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE,
>> +            .arch.viommu_type =3D viommu_get_type(),
>=20
> I don't think the vIOMMU should be enabled to dom0less domU by default.

I am not enabling the vIOMMU by default. If vIOMMU is disabled via the comm=
and line or config option
then viommu_get_type() will return XEN_DOMCTL_CONFIG_VIOMMU_NONE and in tha=
t case
domain_viommu_init() will return 0 without doing anything.=20

>=20
>>              .flags =3D XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>>              /*
>>               * The default of 1023 should be sufficient for guests beca=
use
>> @@ -4052,6 +4054,7 @@ void __init create_dom0(void)
>>          printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n"=
);
>>      dom0_cfg.arch.tee_type =3D tee_get_type();
>>      dom0_cfg.max_vcpus =3D dom0_max_vcpus();
>> +    dom0_cfg.arch.viommu_type =3D viommu_get_type();
>=20
> Same here.
>=20
>>        if ( iommu_enabled )
>>          dom0_cfg.flags |=3D XEN_DOMCTL_CDF_iommu;
>> diff --git a/xen/arch/arm/include/asm/viommu.h b/xen/arch/arm/include/as=
m/viommu.h
>> new file mode 100644
>> index 0000000000..7cd3818a12
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/viommu.h
>> @@ -0,0 +1,70 @@
>> +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
>> +#ifndef __ARCH_ARM_VIOMMU_H__
>> +#define __ARCH_ARM_VIOMMU_H__
>> +
>> +#ifdef CONFIG_VIRTUAL_IOMMU
>> +
>> +#include <xen/lib.h>
>> +#include <xen/types.h>
>> +#include <public/xen.h>
>> +
>> +struct viommu_ops {
>> +    /*
>> +     * Called during domain construction if toolstack requests to enabl=
e
>> +     * vIOMMU support.
>> +     */
>> +    int (*domain_init)(struct domain *d);
>> +
>> +    /*
>> +     * Called during domain destruction to free resources used by vIOMM=
U.
>> +     */
>> +    int (*relinquish_resources)(struct domain *d);
>> +};
>> +
>> +struct viommu_desc {
>> +    /* vIOMMU domains init/free operations described above. */
>> +    const struct viommu_ops *ops;
>> +
>> +    /*
>> +     * ID of vIOMMU. Corresponds to xen_arch_domainconfig.viommu_type.
>=20
> Did you mean ID rather than type?

I mean here type of physical IOMMU on the host available SMMUv3, SMMUv1 or =
IPMMU.
If you think ID is the right name here I will change it.

>=20
>> +     * Should be one of XEN_DOMCTL_CONFIG_VIOMMU_xxx
>> +     */
>> +    uint16_t viommu_type;
>=20
> The domctl is uint8_t.

Ack. I will fix that.
=20
Regards,
Rahul



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 13:53:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 13:53:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453680.711267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BuW-0004PI-L0; Mon, 05 Dec 2022 13:53:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453680.711267; Mon, 05 Dec 2022 13:53:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BuW-0004PB-HP; Mon, 05 Dec 2022 13:53:32 +0000
Received: by outflank-mailman (input) for mailman id 453680;
 Mon, 05 Dec 2022 13:53:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUwf=4D=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p2BuV-0004P5-7A
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 13:53:31 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20624.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d45bb17-74a4-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 14:53:20 +0100 (CET)
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AS8PR08MB7992.eurprd08.prod.outlook.com (2603:10a6:20b:571::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 5 Dec
 2022 13:53:27 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 13:53:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d45bb17-74a4-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=db7dlU4qoH2YQMF3Xl6/aKbDuHfk9OSR0oELCy8v/hRCGdKRbs78RkhUgtkbyJLvwGKhKkS/aufK6p/HVUSlTgEdG6U8tvYwQAuVLIW7gV1oWNcORjRU8JqyfsjXydOzMEx+YSLoWl8z0MoqYwTud8rmTfWjvtExtychGb/a2cPL47o8rBcq0JKSU0RAoPyWTIBnOBKSO29VVqm1aqapG3ZVodNHmXi/sjq3sLoHqIkqOlm6DYqmPYhcoHl4zaYiHdKloHDv1ofqObnfK7T8G/75If5aho6pnxaRrVy10ixGRrkmRsoDClNirdvjUlhkU8bg8EgH6ro2xxnkpiycpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sOB1hVu11kHCktX8BhmH719TJWvlYfDab4pnHWnZ5Ko=;
 b=YZaCcTRM9EoSRLPdfVwI1sz4B3YnpRe0WFfS/HNM0pR14bMWDxswdBsPxc2OVperkjLbd8IpNJGGBkPjoDPGmsOxhmOtHuPGWTRlFywSgdfrLfleQyk8DgeewAF/e5t2Xurd/OHBAQrYD0qZPFQ522pVvHAgzU8SKy1ja49OdMdbhmne3A/ipF9zMW9pmlNVq2qgOytVYJ8r/3lYi6jD7uMPOMhZyPu9gVEPjGlSh1yieBCTyxpR9+LAD6BLBHZq9KQCcBy4DSUZ91yj6K28nv2l5w5AelWCPnQgZ+wn9qCGA97KZuWeb7k8wdD61FeI7cvBOs6cX1PTcrviUUWnJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sOB1hVu11kHCktX8BhmH719TJWvlYfDab4pnHWnZ5Ko=;
 b=Yab1urkEUIHDQ6lYo4pRl59KCGdK0tTV8cUQP8S+mQubXwHQvsSRbmaFvX2XgecyXI2a+wSV26AYqYFSr88uHqIGnKvTJspzOwctcD4C4+C0cBxf+Blx5fRPNtPKDM0w94vHpaNwqr42C4FctiL9GrVFAq1syktETcfXCunEndI=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen developer discussion <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, Paul Durrant
	<paul@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
Thread-Topic: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
Thread-Index: AQHZBZ7dBYCbekoSiE+Vqn2CZKLLUK5e+1eAgABbRAA=
Date: Mon, 5 Dec 2022 13:53:26 +0000
Message-ID: <4D9FBC4E-CF83-4D45-B657-A58041EAFCAB@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
 <345d7d3c-e090-356b-1b4e-a9b491a146b5@amd.com>
In-Reply-To: <345d7d3c-e090-356b-1b4e-a9b491a146b5@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7158:EE_|AS8PR08MB7992:EE_
x-ms-office365-filtering-correlation-id: 4ecb94d4-f10f-4a3a-4ee6-08dad6c8159a
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 4k6pNLHQ4gLGFrxqc55JYUKp82Xgfj/xi4BLODRMx/XRkcQlLpE0eY68pprKJT77zdk8G2nmJ/Wub89gJ0GUGbzI2m1TRj1P3/mOKx6PpcFYBAr3ui0qAcTCUEJbRD5drL20NpaVJcuZxuLxYTMnOxRX/oprZBELmgXSib47DJlkkJFuHo7jp+kF4I5ZHfV1SYY9XZlZ1VQ6ivfWUK46biCJdhi+fpy1FWyyX6QTiKf67ZqJmZgDNmvgJrpWQUSJqbAE4qf1VkjXX7Zt2UbY1HUc/qnRDUWdTmXpCW5RX2DGAKKPy1OCuf6XEkLlQvWKKNXlRQVltuzqKC8XAokbgYjP9b+sacoo7eIK4lTLM5pTNxBCqd2LmQhwx0ilNOVmb9GiQlta2rwpMxbIVgiwxRvQs5lsifPMPct/3t6n8EQTAmq/8YRarTOeWeE+hglKsyBNKhi5eOsj5Q95mGPM0ZOZOff6kvU4z/AhZwW3wagvNn/WhKKlz5wrUa+1zl/UaL9bBrgN6n/6aaHetU/EK0FV5mj1iwZHRLqVJN4lENctpXpkcl9Fu0gUf8Ajev68yE+7iqRt9JQLLThhZYnuTRhf6gVXn967+/YMSLkp/AP497jRfm2Kw8fSh6ehXovyXVyTtPN2cuKLHmPT6VeXed6mgJ85Nkkl+zx0OGTB/MkU/PqBAfc3T0kTiLJXk3M5clLXBMr4rZE5b9Jyn6fFxdm0fKhSGq6pMz+mKkoN0oi4L39P/v2+BP4YPSG9iLRpYhOViD9W2YdjyvmYEjK8DiHQ14e+5OLS5vTQGbgye3k=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(396003)(376002)(346002)(366004)(451199015)(478600001)(71200400001)(53546011)(6486002)(6506007)(4326008)(64756008)(38070700005)(8676002)(36756003)(2906002)(26005)(5660300002)(83380400001)(2616005)(186003)(6512007)(8936002)(41300700001)(33656002)(54906003)(38100700002)(6916009)(316002)(91956017)(122000001)(66556008)(76116006)(66946007)(66446008)(86362001)(66476007)(41533002)(21314003)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?gMm2FmlGDNwdCbVjAOGzNMo7QOsywubWuzui51AmbsTEKkl2NoCs7ffqiE?=
 =?iso-8859-1?Q?W+xUrcs59+tq5GkAkJv907UycWnhuzJHHPVw31bNTxJ8CRf90zdirZme3f?=
 =?iso-8859-1?Q?6REHDUuioiuycIqu1t1oiuS0gRXflYCTo7/QABNgCs421JSl+ck9Li8+dy?=
 =?iso-8859-1?Q?vdIDhAFg17yWJ7QMf8ij9kl5yDbOPAv4u7PGdOOcOxnZhGHbE/Rnv7qyDK?=
 =?iso-8859-1?Q?aG8S8IVGWIgyPW7SQBFh1knON4vJs3eCZudDqwYsKKd8CqOJZSrh97gJPN?=
 =?iso-8859-1?Q?T5k7+thApoYeYBLbluzn4fcjiOOhvLih/BfxXfxN8hlrl9t5X8x+B956lX?=
 =?iso-8859-1?Q?vAeYhZzTrGnTRsF+yNAppT3pbDYZP2w36IOBwyOzFs86S+VLb7Qy4lQDr9?=
 =?iso-8859-1?Q?CthWuHHdoK/yQHo6UOGNSIHoEOYcxf8Y3ufPipgywAg6473X9fzZFIXZpi?=
 =?iso-8859-1?Q?vSHSySNNBYBx7hI+zeooHpQtG+km2lsxr+5hVZfhF5FfnZS6i6pT1fVgAu?=
 =?iso-8859-1?Q?ParQS5nnJuFz/58Z2nRshipbG3zjVNEYYyYK7k0nUhtO7H+CuHTYRVuRCX?=
 =?iso-8859-1?Q?xCmpqwHwZUbGgVtiGhVwx2Tf0jBP7IwN6qcZweTwt+zTRl8uQ4oGmNcTsz?=
 =?iso-8859-1?Q?01LaCdJ6ehn7UHD9Ya+1hdFZhVx2i62+DG5T8FHZslNKNxbjUS/4sTs93O?=
 =?iso-8859-1?Q?9zXPQ/m/Y0jfbMi7YYxI+1t0ndLfUc688kP3trGO49b0GSvTyc9SGV33ln?=
 =?iso-8859-1?Q?IpmESbie4RVcRTvRlN1hfi0P+2O0vk+XuDMWWbi5o11lSBjyw5DGF0YZi1?=
 =?iso-8859-1?Q?hXXVS0PCGYdbxEGrjun/tDtlmj2jjQMTu4za4tmiyXOhbte21/SrWVwSgO?=
 =?iso-8859-1?Q?UgM5EWhA5XobiDleERPnXJ6baYRZnufUdD5QndIRN7QCrxN0bUbduArjB8?=
 =?iso-8859-1?Q?olFnDeiOiKaYNozc9TxKck/3Piki7naozDkp2W8biBJnIf264fBmJl/5ao?=
 =?iso-8859-1?Q?gSUfBf2tosnOzz9FF8yiafx/hEnGtXZXhA7Vj8aDvhXt2LWQzlkC6PaMHV?=
 =?iso-8859-1?Q?kxzJX/rMCfIZmGypJlviJxbC6HUXUO0MBh8yJPnwe9uH0bkRleGtqbMfVd?=
 =?iso-8859-1?Q?YMG08viM2+Dc2GO56JQ4F5EDV55qjnvMtNhewoVrZM/PDYiMmnxwyjCf2z?=
 =?iso-8859-1?Q?VkFYcQ9dsNS1Yei9z3bmssSylAiXYtMv1x/pwqP8dV4Zoo5XgCdgrZV5T9?=
 =?iso-8859-1?Q?S7rw/NVMsbbl23jCorhiuKsqeFhrF8Gl9e9k0pkmFpnfAazWfwhD0EPUAP?=
 =?iso-8859-1?Q?grOYALLNXgqiyKLS2z0YbElmNODxOy1rWwni+CA6YCBiIootjuhue7vG2N?=
 =?iso-8859-1?Q?IP1DdhLYivTxMhTKxZWcOQUOWk6szuNrVqVp1u8sXPMiAlCQld1jv6nzr/?=
 =?iso-8859-1?Q?jSx+UxchWAzDShoyT+ZO1jFBMqy8a2PVg7wRnXUjpKNuJqt4zWY7erwM9n?=
 =?iso-8859-1?Q?Hz/8kh+1p/vkeG7yvMatJclYSvxCGK4sS+GbxQpZGqmzcNDWnRSeMJxAfZ?=
 =?iso-8859-1?Q?9jSplMQRnKZk/ta92ijvdi1a+fVSyIxDaaeWR56EHJw3zDeTOtCf5kTlgc?=
 =?iso-8859-1?Q?Cnit97C3d7EiVadDRJcWy146vvThFyFjWp?=
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <7394A72AEFC10343889A204DC65D5874@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7158.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ecb94d4-f10f-4a3a-4ee6-08dad6c8159a
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2022 13:53:26.9959
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: M7oEl37ybIXoLdZuXnU9t0LwBA2BlMM/9oRJihkyJ/o201AKS9ZrdD3vPXQTAcfsnIMiWmqKPrjvzsK+3QKAmA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7992

Hi Michal,

> On 5 Dec 2022, at 8:26 am, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Hi Rahul,
>=20
> On 01/12/2022 17:02, Rahul Singh wrote:
>>=20
>>=20
>> This patch adds basic framework for vIOMMU.
>>=20
>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>> ---
>> xen/arch/arm/domain.c                | 17 +++++++
>> xen/arch/arm/domain_build.c          |  3 ++
>> xen/arch/arm/include/asm/viommu.h    | 70 ++++++++++++++++++++++++++++
>> xen/drivers/passthrough/Kconfig      |  6 +++
>> xen/drivers/passthrough/arm/Makefile |  1 +
>> xen/drivers/passthrough/arm/viommu.c | 48 +++++++++++++++++++
>> xen/include/public/arch-arm.h        |  4 ++
>> 7 files changed, 149 insertions(+)
>> create mode 100644 xen/arch/arm/include/asm/viommu.h
>> create mode 100644 xen/drivers/passthrough/arm/viommu.c
>>=20
>> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
>> index 38e22f12af..2a85209736 100644
>> --- a/xen/arch/arm/domain.c
>> +++ b/xen/arch/arm/domain.c
>> @@ -37,6 +37,7 @@
>> #include <asm/tee/tee.h>
>> #include <asm/vfp.h>
>> #include <asm/vgic.h>
>> +#include <asm/viommu.h>
>> #include <asm/vtimer.h>
>>=20
>> #include "vpci.h"
>> @@ -691,6 +692,13 @@ int arch_sanitise_domain_config(struct xen_domctl_c=
reatedomain *config)
>>         return -EINVAL;
>>     }
>>=20
>> +    if ( config->arch.viommu_type !=3D XEN_DOMCTL_CONFIG_VIOMMU_NONE )
>> +    {
>> +        dprintk(XENLOG_INFO,
>> +                "vIOMMU type requested not supported by the platform or=
 Xen\n");
> Maybe a simpler message like for TEE would be better: "Unsupported vIOMMU=
 type"

Ack.=20
>=20
>> +        return -EINVAL;
>> +    }
>> +
>>     return 0;
>> }
>>=20
>> @@ -783,6 +791,9 @@ int arch_domain_create(struct domain *d,
>>     if ( (rc =3D domain_vpci_init(d)) !=3D 0 )
>>         goto fail;
>>=20
>> +    if ( (rc =3D domain_viommu_init(d, config->arch.viommu_type)) !=3D =
0 )
>> +        goto fail;
>> +
>>     return 0;
>>=20
>> fail:
>> @@ -998,6 +1009,7 @@ static int relinquish_memory(struct domain *d, stru=
ct page_list_head *list)
>> enum {
>>     PROG_pci =3D 1,
>>     PROG_tee,
>> +    PROG_viommu,
>>     PROG_xen,
>>     PROG_page,
>>     PROG_mapping,
>> @@ -1048,6 +1060,11 @@ int domain_relinquish_resources(struct domain *d)
>>         if (ret )
>>             return ret;
>>=20
>> +    PROGRESS(viommu):
>> +        ret =3D viommu_relinquish_resources(d);
>> +        if (ret )
>> +            return ret;
>> +
>>     PROGRESS(xen):
>>         ret =3D relinquish_memory(d, &d->xenpage_list);
>>         if ( ret )
>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>> index bd30d3798c..abbaf37a2e 100644
>> --- a/xen/arch/arm/domain_build.c
>> +++ b/xen/arch/arm/domain_build.c
>> @@ -27,6 +27,7 @@
>> #include <asm/setup.h>
>> #include <asm/cpufeature.h>
>> #include <asm/domain_build.h>
>> +#include <asm/viommu.h>
>> #include <xen/event.h>
>>=20
>> #include <xen/irq.h>
>> @@ -3858,6 +3859,7 @@ void __init create_domUs(void)
>>         struct domain *d;
>>         struct xen_domctl_createdomain d_cfg =3D {
>>             .arch.gic_version =3D XEN_DOMCTL_CONFIG_GIC_NATIVE,
>> +            .arch.viommu_type =3D viommu_get_type(),
>>             .flags =3D XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>>             /*
>>              * The default of 1023 should be sufficient for guests becau=
se
>> @@ -4052,6 +4054,7 @@ void __init create_dom0(void)
>>         printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n")=
;
>>     dom0_cfg.arch.tee_type =3D tee_get_type();
>>     dom0_cfg.max_vcpus =3D dom0_max_vcpus();
>> +    dom0_cfg.arch.viommu_type =3D viommu_get_type();
>>=20
>>     if ( iommu_enabled )
>>         dom0_cfg.flags |=3D XEN_DOMCTL_CDF_iommu;
>> diff --git a/xen/arch/arm/include/asm/viommu.h b/xen/arch/arm/include/as=
m/viommu.h
>> new file mode 100644
>> index 0000000000..7cd3818a12
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/viommu.h
>> @@ -0,0 +1,70 @@
>> +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
>> +#ifndef __ARCH_ARM_VIOMMU_H__
>> +#define __ARCH_ARM_VIOMMU_H__
>> +
>> +#ifdef CONFIG_VIRTUAL_IOMMU
>> +
>> +#include <xen/lib.h>
>> +#include <xen/types.h>
>> +#include <public/xen.h>
>> +
>> +struct viommu_ops {
>> +    /*
>> +     * Called during domain construction if toolstack requests to enabl=
e
>> +     * vIOMMU support.
>> +     */
>> +    int (*domain_init)(struct domain *d);
>> +
>> +    /*
>> +     * Called during domain destruction to free resources used by vIOMM=
U.
>> +     */
>> +    int (*relinquish_resources)(struct domain *d);
>> +};
>> +
>> +struct viommu_desc {
>> +    /* vIOMMU domains init/free operations described above. */
>> +    const struct viommu_ops *ops;
>> +
>> +    /*
>> +     * ID of vIOMMU. Corresponds to xen_arch_domainconfig.viommu_type.
>> +     * Should be one of XEN_DOMCTL_CONFIG_VIOMMU_xxx
>> +     */
>> +    uint16_t viommu_type;
> Here the viommu_type is uint16_t ...
>=20
>> +};
>> +
>> +int domain_viommu_init(struct domain *d, uint16_t viommu_type);
>> +int viommu_relinquish_resources(struct domain *d);
>> +uint16_t viommu_get_type(void);
>> +
>> +#else
>> +
>> +static inline uint8_t viommu_get_type(void)
> Here you are returning uint8_t ...
>=20
>> +{
>> +    return XEN_DOMCTL_CONFIG_VIOMMU_NONE;
>> +}
>> +
>> +static inline int domain_viommu_init(struct domain *d, uint16_t viommu_=
type)
> Here you are taking uint16_t. So it looks like that ...
>=20
>> +{
>> +    if ( likely(viommu_type =3D=3D XEN_DOMCTL_CONFIG_VIOMMU_NONE) )
>> +        return 0;
>> +
>> +    return -ENODEV;
>> +}
>> +
>> +static inline int viommu_relinquish_resources(struct domain *d)
>> +{
>> +    return 0;
>> +}
>> +
>> +#endif /* CONFIG_VIRTUAL_IOMMU */
>> +
>> +#endif /* __ARCH_ARM_VIOMMU_H__ */
>> +
>> +/*
>> + * Local variables:
>> + * mode: C
>> + * c-file-style: "BSD"
>> + * c-basic-offset: 4
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>> diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/K=
config
>> index 479d7de57a..19924fa2de 100644
>> --- a/xen/drivers/passthrough/Kconfig
>> +++ b/xen/drivers/passthrough/Kconfig
>> @@ -35,6 +35,12 @@ config IPMMU_VMSA
>>          (H3 ES3.0, M3-W+, etc) or Gen4 SoCs which IPMMU hardware suppor=
ts stage 2
>>          translation table format and is able to use CPU's P2M table as =
is.
>>=20
>> +config VIRTUAL_IOMMU
>> +       bool "Virtual IOMMU Support (UNSUPPORTED)" if UNSUPPORTED
>> +       default n
>> +       help
>> +        Support virtual IOMMU infrastructure to implement vIOMMU.
>> +
>> endif
>>=20
>> config IOMMU_FORCE_PT_SHARE
>> diff --git a/xen/drivers/passthrough/arm/Makefile b/xen/drivers/passthro=
ugh/arm/Makefile
>> index c5fb3b58a5..4cc54f3f4d 100644
>> --- a/xen/drivers/passthrough/arm/Makefile
>> +++ b/xen/drivers/passthrough/arm/Makefile
>> @@ -2,3 +2,4 @@ obj-y +=3D iommu.o iommu_helpers.o iommu_fwspec.o
>> obj-$(CONFIG_ARM_SMMU) +=3D smmu.o
>> obj-$(CONFIG_IPMMU_VMSA) +=3D ipmmu-vmsa.o
>> obj-$(CONFIG_ARM_SMMU_V3) +=3D smmu-v3.o
>> +obj-$(CONFIG_VIRTUAL_IOMMU) +=3D viommu.o
>> diff --git a/xen/drivers/passthrough/arm/viommu.c b/xen/drivers/passthro=
ugh/arm/viommu.c
>> new file mode 100644
>> index 0000000000..7ab6061e34
>> --- /dev/null
>> +++ b/xen/drivers/passthrough/arm/viommu.c
>> @@ -0,0 +1,48 @@
>> +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
>> +
>> +#include <xen/errno.h>
>> +#include <xen/init.h>
>> +#include <xen/types.h>
>> +
>> +#include <asm/viommu.h>
>> +
>> +const struct viommu_desc __read_mostly *cur_viommu;
>> +
>> +int domain_viommu_init(struct domain *d, uint16_t viommu_type)
>> +{
>> +    if ( viommu_type =3D=3D XEN_DOMCTL_CONFIG_VIOMMU_NONE )
>> +        return 0;
>> +
>> +    if ( !cur_viommu )
>> +        return -ENODEV;
>> +
>> +    if ( cur_viommu->viommu_type !=3D viommu_type )
>> +        return -EINVAL;
>> +
>> +    return cur_viommu->ops->domain_init(d);
>> +}
>> +
>> +int viommu_relinquish_resources(struct domain *d)
>> +{
>> +    if ( !cur_viommu )
>> +        return 0;
>> +
>> +    return cur_viommu->ops->relinquish_resources(d);
>> +}
>> +
>> +uint16_t viommu_get_type(void)
>> +{
>> +    if ( !cur_viommu )
>> +        return XEN_DOMCTL_CONFIG_VIOMMU_NONE;
>> +
>> +    return cur_viommu->viommu_type;
>> +}
>> +
>> +/*
>> + * Local variables:
>> + * mode: C
>> + * c-file-style: "BSD"
>> + * c-basic-offset: 4
>> + * indent-tabs-mode: nil
>> + * End:
>> + */
>> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm=
.h
>> index 1528ced509..33d32835e7 100644
>> --- a/xen/include/public/arch-arm.h
>> +++ b/xen/include/public/arch-arm.h
>> @@ -297,10 +297,14 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>> #define XEN_DOMCTL_CONFIG_TEE_NONE      0
>> #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
>>=20
>> +#define XEN_DOMCTL_CONFIG_VIOMMU_NONE   0
>> +
>> struct xen_arch_domainconfig {
>>     /* IN/OUT */
>>     uint8_t gic_version;
>>     /* IN */
>> +    uint8_t viommu_type;
> this should be uint16_t and not uint8_t=20

I will modify the in viommu_type to uint8_t in "arch/arm/include/asm/viommu=
.h" and will
also fix  everywhere the viommu_type to uint8_t.=20

Regards,
Rahul




From xen-devel-bounces@lists.xenproject.org Mon Dec 05 13:55:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 13:55:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453688.711278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BwY-00053U-4i; Mon, 05 Dec 2022 13:55:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453688.711278; Mon, 05 Dec 2022 13:55:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2BwY-00053N-1X; Mon, 05 Dec 2022 13:55:38 +0000
Received: by outflank-mailman (input) for mailman id 453688;
 Mon, 05 Dec 2022 13:55:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUwf=4D=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p2BwW-00053C-Jl
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 13:55:36 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20602.outbound.protection.outlook.com
 [2a01:111:f400:7d00::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 787e28b5-74a4-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 14:55:26 +0100 (CET)
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AS2PR08MB8384.eurprd08.prod.outlook.com (2603:10a6:20b:55b::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 5 Dec
 2022 13:55:32 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 13:55:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 787e28b5-74a4-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MfEK0Idms30SZYbjfkG7Lj7m6BVV5o/9jqAVPV/PcfflmuxsIQUc4oEyAWYooihFKY+P5UJiXVD8oVZfl6dfJLNnCXFRLr0lsy6sM5PWPu0oCnCqxp96cTvI/QvFYdlae7d151BlOSdfpf4FhzzbQ77/LzKBLg9ETaUCox5uss4UZHfXsdl6L315CG1fxspqS8Rce4ts+/RPdxMkqWAa+5XkXBXQUQRcZpM+e5kkoKtMio0hDjXmiZoQ3SF//7ZWKOqHuVTqUD4cO38riPF3VFQXkDVv9R6bBhwWM9Sd7nhoCq98qGy32iEz5ivHRIJnDcTpu3nQ2G/Un19mlhV/nA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aHwnFhqXeG9K3ehpM3sL9gSDgICEZP8DX2v+fVN9XQc=;
 b=ctDCZRbFD1ffr/IiEgvzBv7pcbv6yRdIVGFJAycFeNY/MAkyKAEc48lx+Su+baL6rM5aCmJg1ToxSr/hC7tWmYwBKGmaX6mG4CiRdAobR1vO+UZkhld/yFfDI1k0XxsjHfmDXUXXlK28BiWeXacvfnFEQmPisVCO1z9aKDTJnLuZuUhsWdlE0jfWfNTlwJmNONe34CdD5OzRXBAB7us5T6GWQ2Fd0iYFfN0xxo+0gvBW3ir+oz3GS/ki/Wp5lORhzNJUISIKhSCzr140isodHkG8vsHvosi/+V8QWaXfYZmCBxhMB4zAeDxsgsmyT6lzDVnj/GWZMlV740yhpXQqMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aHwnFhqXeG9K3ehpM3sL9gSDgICEZP8DX2v+fVN9XQc=;
 b=USPif9XeKXp6BLdztRgFEaUFRuUWavXZD82VIk6wamGgtz0tCtZTrjBH9bDaXXeEznH6EQMWaxKXuWsQXxTlTG0ulV0mqexHtMt2LtIpxb/2Rqv1uAoiNDzxgc41Nvhfjd0AEPO/5f/FPStYVzjjrMI8wKoAERhOceQOcUjWvLM=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen developer discussion <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, Paul Durrant
	<paul@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [RFC PATCH 05/21] xen/arm: vsmmuv3: Add dummy support for virtual
 SMMUv3 for guests
Thread-Topic: [RFC PATCH 05/21] xen/arm: vsmmuv3: Add dummy support for
 virtual SMMUv3 for guests
Thread-Index: AQHZBZ+jOmINPO0YK0q2/D3/eqDCs65e/VaAgABZ2IA=
Date: Mon, 5 Dec 2022 13:55:31 +0000
Message-ID: <8B553FEB-5DD1-4C01-903B-572E2BD8F1B2@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <6d25bcb543190d78c26db15a0f07e9af79349884.1669888522.git.rahul.singh@arm.com>
 <b4cd1b34-3aa4-1f8c-b6f1-2ce4214fe2ed@amd.com>
In-Reply-To: <b4cd1b34-3aa4-1f8c-b6f1-2ce4214fe2ed@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7158:EE_|AS2PR08MB8384:EE_
x-ms-office365-filtering-correlation-id: afe1fcb0-8f89-498d-6dda-08dad6c85fec
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 NgEGIDH4i3q15znNBjxtc43tlhATRYhvNZvijWoTRR852LmDpqlq3yqq7xvx/SI9LaSv9E7y3sEI5pSlKhoaBFuzmsgkI93/S9WaWCWkvMpTghvDOK1mEDzm/od+xzqRTIJGKkB2idvNmf4hT126426V/HPTbDXJZ+wCLAiaZemHNnJNPlbhbIJsq+jkyZmgqY80lMrf+x5YusDXZcYi6umdmtf+Sew7fw/pNfYbChqaug3HPWpoLCuuwjN7cexT7HHh/rzr7oyQfYQd3uLW96CLrfTOYQVFMJlEr4L6F2+1XnFPs7SImxIWiF26IXw6PMnlKaLh9eVH9C5l0P4VmadCYnIgKhIAcqQ1HcnLBfj6LOt0kSNf10bWZh/GJeVKbrEYRFv4/2Iij36tYDBD+x2/BVmW/ywRLW061B5lChvN+eoEz2rcn2VCQjSfaeYVKfeLH5cFO7SPb9ZhI5DzD64fODTSf/WIEopSweJNh/dyRg5/voZmZbxL+R15sYVm+M/4Iv4ie6dn4DfPSBpU/yFNjFgnO2vamj1h/HY5XHpbMKfj2FhK7yaQQfJKWK9U+MOdMAI9Lghc+TITK6VT1O3s6WwT4I1+sF7Xl1B9arL/izOa4dfEl7YhzLzt+yVILpVW7XxobjbkgrN6PrBPgeBaVbDS0cYThtpzqSQfIuJDKAtKBbRCMNytykCfJsluVbLgoBRh9YzaEYJPwaZIVEP5sfQ6opgSCbFMQdXIdIM=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39850400004)(376002)(136003)(396003)(346002)(366004)(451199015)(36756003)(71200400001)(83380400001)(316002)(6506007)(186003)(6486002)(6916009)(54906003)(6512007)(26005)(53546011)(2906002)(33656002)(86362001)(66556008)(66476007)(64756008)(76116006)(66446008)(66946007)(4326008)(122000001)(38100700002)(8676002)(478600001)(2616005)(38070700005)(41300700001)(8936002)(91956017)(5660300002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?LZmbtF6vfpHGC9GsOw/k/mJ1aS5b3ghrrrPyRESA2rta3G8GzyfDRsEw4E?=
 =?iso-8859-1?Q?t1vvMbS2bccMHV4GCyYiiDvSxt1fvwN5LPD0sHMOuAggp0BN5UMlw3vHIE?=
 =?iso-8859-1?Q?Tb1kH1i26zEH/uKFCaU9BH3xXf+ULXYnQs4YG79yw2ASOo5HW5sq2FAiD4?=
 =?iso-8859-1?Q?o0FxqZuOQBDGLoNsyJVNSabvhEqiv7Z2XLdPO4CYAYZsIoJhWrAqyXC6Ng?=
 =?iso-8859-1?Q?OYbDWSs5sdhtF6eXVEb4mC0MOcPsZ5wKt27/9lMUElzRxwyHS8z+3LPn/b?=
 =?iso-8859-1?Q?X2xCAIp9FYp/HL+zfa8/eTthW3NlpcQ0H4xpTvzhtpd4UlMtz0TrW8Tt1v?=
 =?iso-8859-1?Q?ggeokbR2FOzX8V7hHZPDIGDDdql/S3TXbx77yv9laEur4Xi0uCy9j4ukuB?=
 =?iso-8859-1?Q?80Tv9tmCjC1zAoQzQQjvCC67NPW1DAgvJVx4oosclH4jcYOJpiWcFPg9c/?=
 =?iso-8859-1?Q?ebRhHDn3KURJQ06K5VLHE34Tlt0QGm0sy4j/jhrr6661OML5mKQkwtlza9?=
 =?iso-8859-1?Q?YLWPm5XP7mwIcVejSdgOhrl6eN2TqnLMz5khGrzx0anAjIP94GkSD1lnmJ?=
 =?iso-8859-1?Q?NFzX0CUk3Ae87WJkCMhchI2tCQMRw7A1Y/4Z+MJJOSBAOxvSd4NeDwVcik?=
 =?iso-8859-1?Q?IsPDPlHhbPV1yvR5FMzSX3tABH5HS2jZi3cPLRV3p3TsIvfq8k0Px5dVNX?=
 =?iso-8859-1?Q?JBCW42CemT94VGHJBhxREvy162BpDxisCElWzO+hgGdAj1A9SL8b9J39ot?=
 =?iso-8859-1?Q?xIOjDGIQQKnKml22eU2Is0eBD4O83mDFZ6BpprhAvFKHZ+xQY0SK0l3Q4P?=
 =?iso-8859-1?Q?HN224NYHYxI9yGJJ7576xLMv70EJs5pmOeRaRBYtlt91EFovo64NKVcWBv?=
 =?iso-8859-1?Q?iuqKS0wsEQlaqHvdO1BBOsLTmlsrxk9UAJSpWAGZVYdB6ptXSBZicsl5yl?=
 =?iso-8859-1?Q?R5lkrEg8Cs/AnY2QDmtWWYdxfDc9l5DYSwaGqpZLiIGiyR6a6rgOotE8fg?=
 =?iso-8859-1?Q?27tcg9nFBwRW5eavpOELveXSI3ZGk9ZSseR9tk6GHAuBCKS3Iysn+RE/NI?=
 =?iso-8859-1?Q?7SPE+XwQaq2/n/vB5ynPWulFdi78YMfwpTOajCrtdW0d3XsP+UYdLyyqnv?=
 =?iso-8859-1?Q?Sq9Q0Af6cGhxp6cFcMAM1ljjODOCMeEtD7U7Idiva/buUkmdsfRycN5sDT?=
 =?iso-8859-1?Q?WtG+1Q0rCZSdx96pTiaBdweXMzT+Anv0awiW4OwNFT7E+vNOYQFNKTZBya?=
 =?iso-8859-1?Q?BzHvUWxg30Tk9Te4DWSkxDui//OmXdzlz5dpIkOHL/rwrlDD1J4T+h4dH/?=
 =?iso-8859-1?Q?KMbKaGGal9O82UTHX8SwW4m0z24NkmqlpMghTa12vG1RGpreV+bSVe7Uqi?=
 =?iso-8859-1?Q?7QkKdxgiJ9/uAW6iPboNOEIdZjPCgtMFSjPUkQh6n1UtjkFAzQJOxnbQ+x?=
 =?iso-8859-1?Q?hcC/p1bAwbyAE6N70AeC+kEtwVC/IVm4lafH42bHmdsob9HaAsIJKXuPcw?=
 =?iso-8859-1?Q?39E0BmLM/t2M0Nhs/x2kv+E97mMDJ3xy+mTe1GFW7xdqWQ72RLyBbJpIhp?=
 =?iso-8859-1?Q?7mJgJhaw2/QTi7HzBma1qjdbrHRnGdYdwFdmoKJoR6SIjUIuDP8214rHcD?=
 =?iso-8859-1?Q?UguNmj3qoUR0977BLPnkdLgco7BzO1+id6?=
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <96D03BAE1289F24C9BB9DE72A73864D0@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7158.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: afe1fcb0-8f89-498d-6dda-08dad6c85fec
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2022 13:55:31.7011
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: HTc19WGMP62Cfc6a0yb0F0ZWXksmtAznk4hDlIQcBzi8t7jtyg1saPmKmH64OWxJ/Pdo5QEF580lRvxtAq2dVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8384

Hi Michal,

> On 5 Dec 2022, at 8:33 am, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Hi Rahul,
>=20
> On 01/12/2022 17:02, Rahul Singh wrote:
>>=20
>>=20
>> domain_viommu_init() will be called during domain creation and will add
>> the dummy trap handler for virtual IOMMUs for guests.
>>=20
>> A host IOMMU list will be created when host IOMMU devices are probed
>> and this list will be used to create the IOMMU device tree node for
>> dom0. For dom0, 1-1 mapping will be established between vIOMMU in dom0
>> and physical IOMMU.
>>=20
>> For domUs, the 1-N mapping will be established between domU and physical
>> IOMMUs. A new area has been reserved in the arm guest physical map at
>> which the emulated vIOMMU node is created in the device tree.
>>=20
>> Also set the vIOMMU type to vSMMUv3 to enable vIOMMU framework to call
>> vSMMUv3 domain creation/destroy functions.
>>=20
>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>> ---
>> xen/arch/arm/domain.c                  |   3 +-
>> xen/arch/arm/include/asm/domain.h      |   4 +
>> xen/arch/arm/include/asm/viommu.h      |  20 ++++
>> xen/drivers/passthrough/Kconfig        |   8 ++
>> xen/drivers/passthrough/arm/Makefile   |   1 +
>> xen/drivers/passthrough/arm/smmu-v3.c  |   7 ++
>> xen/drivers/passthrough/arm/viommu.c   |  30 ++++++
>> xen/drivers/passthrough/arm/vsmmu-v3.c | 124 +++++++++++++++++++++++++
>> xen/drivers/passthrough/arm/vsmmu-v3.h |  20 ++++
>> xen/include/public/arch-arm.h          |   7 +-
>> 10 files changed, 222 insertions(+), 2 deletions(-)
>> create mode 100644 xen/drivers/passthrough/arm/vsmmu-v3.c
>> create mode 100644 xen/drivers/passthrough/arm/vsmmu-v3.h
>>=20
>> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
>> index 2a85209736..9a2b613500 100644
>> --- a/xen/arch/arm/domain.c
>> +++ b/xen/arch/arm/domain.c
>> @@ -692,7 +692,8 @@ int arch_sanitise_domain_config(struct xen_domctl_cr=
eatedomain *config)
>>         return -EINVAL;
>>     }
>>=20
>> -    if ( config->arch.viommu_type !=3D XEN_DOMCTL_CONFIG_VIOMMU_NONE )
>> +    if ( config->arch.viommu_type !=3D XEN_DOMCTL_CONFIG_VIOMMU_NONE &&
>> +         config->arch.viommu_type !=3D viommu_get_type() )
>>     {
>>         dprintk(XENLOG_INFO,
>>                 "vIOMMU type requested not supported by the platform or =
Xen\n");
>> diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/as=
m/domain.h
>> index 2ce6764322..8eb4eb5fd6 100644
>> --- a/xen/arch/arm/include/asm/domain.h
>> +++ b/xen/arch/arm/include/asm/domain.h
>> @@ -114,6 +114,10 @@ struct arch_domain
>>     void *tee;
>> #endif
>>=20
>> +#ifdef CONFIG_VIRTUAL_IOMMU
>> +    struct list_head viommu_list;     /* List of virtual IOMMUs */
>> +#endif
>> +
>> }  __cacheline_aligned;
>>=20
>> struct arch_vcpu
>> diff --git a/xen/arch/arm/include/asm/viommu.h b/xen/arch/arm/include/as=
m/viommu.h
>> index 7cd3818a12..4785877e2a 100644
>> --- a/xen/arch/arm/include/asm/viommu.h
>> +++ b/xen/arch/arm/include/asm/viommu.h
>> @@ -5,9 +5,21 @@
>> #ifdef CONFIG_VIRTUAL_IOMMU
>>=20
>> #include <xen/lib.h>
>> +#include <xen/list.h>
>> #include <xen/types.h>
>> #include <public/xen.h>
>>=20
>> +extern struct list_head host_iommu_list;
>> +
>> +/* data structure for each hardware IOMMU */
>> +struct host_iommu {
>> +    struct list_head entry;
>> +    const struct dt_device_node *dt_node;
>> +    paddr_t addr;
>> +    paddr_t size;
>> +    uint32_t irq;
> You want this to be int and not unsigned. The reason is ...
>=20
>> +};
>> +
>> struct viommu_ops {
>>     /*
>>      * Called during domain construction if toolstack requests to enable
>> @@ -35,6 +47,8 @@ struct viommu_desc {
>> int domain_viommu_init(struct domain *d, uint16_t viommu_type);
>> int viommu_relinquish_resources(struct domain *d);
>> uint16_t viommu_get_type(void);
>> +void add_to_host_iommu_list(paddr_t addr, paddr_t size,
>> +                            const struct dt_device_node *node);
>>=20
>> #else
>>=20
>> @@ -56,6 +70,12 @@ static inline int viommu_relinquish_resources(struct =
domain *d)
>>     return 0;
>> }
>>=20
>> +static inline void add_to_host_iommu_list(paddr_t addr, paddr_t size,
>> +                                          const struct dt_device_node *=
node)
>> +{
>> +    return;
>> +}
>> +
>> #endif /* CONFIG_VIRTUAL_IOMMU */
>>=20
>> #endif /* __ARCH_ARM_VIOMMU_H__ */
>> diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/K=
config
>> index 19924fa2de..4c725f5f67 100644
>> --- a/xen/drivers/passthrough/Kconfig
>> +++ b/xen/drivers/passthrough/Kconfig
>> @@ -41,6 +41,14 @@ config VIRTUAL_IOMMU
>>        help
>>         Support virtual IOMMU infrastructure to implement vIOMMU.
>>=20
>> +config VIRTUAL_ARM_SMMU_V3
>> +       bool "ARM Ltd. Virtual SMMUv3 Support (UNSUPPORTED)" if UNSUPPOR=
TED
>> +       depends on ARM_SMMU_V3 && VIRTUAL_IOMMU
>> +       help
>> +        Support for implementations of the virtual ARM System MMU archi=
tecture
>> +        version 3. Virtual SMMUv3 is unsupported feature and should not=
 be used
>> +        in production.
>> +
>> endif
>>=20
>> config IOMMU_FORCE_PT_SHARE
>> diff --git a/xen/drivers/passthrough/arm/Makefile b/xen/drivers/passthro=
ugh/arm/Makefile
>> index 4cc54f3f4d..e758a9d6aa 100644
>> --- a/xen/drivers/passthrough/arm/Makefile
>> +++ b/xen/drivers/passthrough/arm/Makefile
>> @@ -3,3 +3,4 @@ obj-$(CONFIG_ARM_SMMU) +=3D smmu.o
>> obj-$(CONFIG_IPMMU_VMSA) +=3D ipmmu-vmsa.o
>> obj-$(CONFIG_ARM_SMMU_V3) +=3D smmu-v3.o
>> obj-$(CONFIG_VIRTUAL_IOMMU) +=3D viommu.o
>> +obj-$(CONFIG_VIRTUAL_ARM_SMMU_V3) +=3D vsmmu-v3.o
>> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthr=
ough/arm/smmu-v3.c
>> index 9174d2dedd..4f96fdb92f 100644
>> --- a/xen/drivers/passthrough/arm/smmu-v3.c
>> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
>> @@ -91,6 +91,7 @@
>> #include <asm/platform.h>
>>=20
>> #include "smmu-v3.h"
>> +#include "vsmmu-v3.h"
>>=20
>> #define ARM_SMMU_VTCR_SH_IS            3
>> #define ARM_SMMU_VTCR_RGN_WBWA         1
>> @@ -2680,6 +2681,9 @@ static int arm_smmu_device_probe(struct platform_d=
evice *pdev)
>>        list_add(&smmu->devices, &arm_smmu_devices);
>>        spin_unlock(&arm_smmu_devices_lock);
>>=20
>> +    /* Add to host IOMMU list to initialize vIOMMU for dom0 */
>> +       add_to_host_iommu_list(ioaddr, iosize, dev_to_dt(pdev));
>> +
>>        return 0;
>>=20
>>=20
>> @@ -2936,6 +2940,9 @@ static __init int arm_smmu_dt_init(struct dt_devic=
e_node *dev,
>>=20
>>        iommu_set_ops(&arm_smmu_iommu_ops);
>>=20
>> +       /* Set vIOMMU type to SMMUv3 */
>> +       vsmmuv3_set_type();
>> +
>>        return 0;
>> }
>>=20
>> diff --git a/xen/drivers/passthrough/arm/viommu.c b/xen/drivers/passthro=
ugh/arm/viommu.c
>> index 7ab6061e34..53ae46349a 100644
>> --- a/xen/drivers/passthrough/arm/viommu.c
>> +++ b/xen/drivers/passthrough/arm/viommu.c
>> @@ -2,12 +2,42 @@
>>=20
>> #include <xen/errno.h>
>> #include <xen/init.h>
>> +#include <xen/irq.h>
>> #include <xen/types.h>
>>=20
>> #include <asm/viommu.h>
>>=20
>> +/* List of all host IOMMUs */
>> +LIST_HEAD(host_iommu_list);
>> +
>> const struct viommu_desc __read_mostly *cur_viommu;
>>=20
>> +/* Common function for adding to host_iommu_list */
>> +void add_to_host_iommu_list(paddr_t addr, paddr_t size,
>> +                            const struct dt_device_node *node)
>> +{
>> +    struct host_iommu *iommu_data;
>> +
>> +    iommu_data =3D xzalloc(struct host_iommu);
>> +    if ( !iommu_data )
>> +        panic("vIOMMU: Cannot allocate memory for host IOMMU data\n");
>> +
>> +    iommu_data->addr =3D addr;
>> +    iommu_data->size =3D size;
>> +    iommu_data->dt_node =3D node;
>> +    iommu_data->irq =3D platform_get_irq(node, 0);
> you are assigning platform_get_irq to it which can return a negative numb=
er in case of failure.
> In your current implementation, the following check does not make sense a=
s unsigned can never be negative.

Ack. I will fix that in next version.
=20
Regards,
Rahul=


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:00:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:00:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453696.711289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2C1Q-0006hQ-Ol; Mon, 05 Dec 2022 14:00:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453696.711289; Mon, 05 Dec 2022 14:00:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2C1Q-0006hJ-Lj; Mon, 05 Dec 2022 14:00:40 +0000
Received: by outflank-mailman (input) for mailman id 453696;
 Mon, 05 Dec 2022 14:00:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2C1P-0006hD-Pa
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:00:39 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2C1P-0000MY-AZ; Mon, 05 Dec 2022 14:00:39 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[192.168.30.208]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2C1P-00051R-2Y; Mon, 05 Dec 2022 14:00:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=RNjTClr3RloRAVTkO6tPXSi0WGn9e/EGWvYj/+ORM3o=; b=Pz0de0hueeuFd5D2q71gCw8h4U
	/dtv574zxrwbMJepHhuoRLFE9rKkb0xHWPQrjL2sjPjYYcsQF3ILZAm+ANECo7mW5/vI3Lb81ZdCZ
	1t5vWxkOMU4UOWAsVQWPRFPKikpDKlPjWyB3+hNEaVXchJaUTCvvh+Rge8UCb35khfAY=;
Message-ID: <0ec00287-c917-5222-5743-0c804275df38@xen.org>
Date: Mon, 5 Dec 2022 14:00:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
 <e4e25940-9637-2046-18e0-82a863c2737e@xen.org>
 <6E96FD3A-9CA8-4158-9041-EEAAAD7F7F7D@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <6E96FD3A-9CA8-4158-9041-EEAAAD7F7F7D@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 05/12/2022 13:48, Rahul Singh wrote:
> Hi Julien,
> 
>> On 3 Dec 2022, at 9:54 pm, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Rahul,
>>
>> On 01/12/2022 16:02, Rahul Singh wrote:
>>> This patch adds basic framework for vIOMMU.
>>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>>> ---
>>>   xen/arch/arm/domain.c                | 17 +++++++
>>>   xen/arch/arm/domain_build.c          |  3 ++
>>>   xen/arch/arm/include/asm/viommu.h    | 70 ++++++++++++++++++++++++++++
>>>   xen/drivers/passthrough/Kconfig      |  6 +++
>>>   xen/drivers/passthrough/arm/Makefile |  1 +
>>>   xen/drivers/passthrough/arm/viommu.c | 48 +++++++++++++++++++
>>>   xen/include/public/arch-arm.h        |  4 ++
>>>   7 files changed, 149 insertions(+)
>>>   create mode 100644 xen/arch/arm/include/asm/viommu.h
>>>   create mode 100644 xen/drivers/passthrough/arm/viommu.c
>>> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
>>> index 38e22f12af..2a85209736 100644
>>> --- a/xen/arch/arm/domain.c
>>> +++ b/xen/arch/arm/domain.c
>>> @@ -37,6 +37,7 @@
>>>   #include <asm/tee/tee.h>
>>>   #include <asm/vfp.h>
>>>   #include <asm/vgic.h>
>>> +#include <asm/viommu.h>
>>>   #include <asm/vtimer.h>
>>>     #include "vpci.h"
>>> @@ -691,6 +692,13 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
>>>           return -EINVAL;
>>>       }
>>>   +    if ( config->arch.viommu_type != XEN_DOMCTL_CONFIG_VIOMMU_NONE )
>>> +    {
>>> +        dprintk(XENLOG_INFO,
>>> +                "vIOMMU type requested not supported by the platform or Xen\n");
>>> +        return -EINVAL;
>>> +    }
>>> +
>>>       return 0;
>>>   }
>>>   @@ -783,6 +791,9 @@ int arch_domain_create(struct domain *d,
>>>       if ( (rc = domain_vpci_init(d)) != 0 )
>>>           goto fail;
>>>   +    if ( (rc = domain_viommu_init(d, config->arch.viommu_type)) != 0 )
>>> +        goto fail;
>>> +
>>>       return 0;
>>>     fail:
>>> @@ -998,6 +1009,7 @@ static int relinquish_memory(struct domain *d, struct page_list_head *list)
>>>   enum {
>>>       PROG_pci = 1,
>>>       PROG_tee,
>>> +    PROG_viommu,
>>>       PROG_xen,
>>>       PROG_page,
>>>       PROG_mapping,
>>> @@ -1048,6 +1060,11 @@ int domain_relinquish_resources(struct domain *d)
>>>           if (ret )
>>>               return ret;
>>>   +    PROGRESS(viommu):
>>> +        ret = viommu_relinquish_resources(d);
>>> +        if (ret )
>>> +            return ret;
>>
>> I would have expected us to relinquish the vIOMMU resources *before* we detach the devices. So can you explain the ordering?
> 
> I think first we need to detach the device that will set the S1 and S2 stage translation to bypass/abort then we
> need to remove the vIOMMU. Do you have anything that you feel if we relinquish the vIOMMU after detach is not right.

iommu_release_dt_devices() will effectively remove the device from the 
domain. One could decide to store the S1 information per device and 
therefore it feels wrong that we are removing the S1 information later on.

In addition to that, a device can be removed while the domain is running.

Therefore I think it would make more sense to remove the vIOMMU every 
time we deassign the device.

>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>>> index bd30d3798c..abbaf37a2e 100644
>>> --- a/xen/arch/arm/domain_build.c
>>> +++ b/xen/arch/arm/domain_build.c
>>> @@ -27,6 +27,7 @@
>>>   #include <asm/setup.h>
>>>   #include <asm/cpufeature.h>
>>>   #include <asm/domain_build.h>
>>> +#include <asm/viommu.h>
>>>   #include <xen/event.h>
>>>     #include <xen/irq.h>
>>> @@ -3858,6 +3859,7 @@ void __init create_domUs(void)
>>>           struct domain *d;
>>>           struct xen_domctl_createdomain d_cfg = {
>>>               .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
>>> +            .arch.viommu_type = viommu_get_type(),
>>
>> I don't think the vIOMMU should be enabled to dom0less domU by default.
> 
> I am not enabling the vIOMMU by default. If vIOMMU is disabled via the command line or config option
> then viommu_get_type() will return XEN_DOMCTL_CONFIG_VIOMMU_NONE and in that case
> domain_viommu_init() will return 0 without doing anything.

What I mean by default is if the command line is set then you will 
enable the vIOMMU for both dom0 and dom0less domUs.

vIOMMU should be selected per-domain.

> 
>>
>>>               .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>>>               /*
>>>                * The default of 1023 should be sufficient for guests because
>>> @@ -4052,6 +4054,7 @@ void __init create_dom0(void)
>>>           printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
>>>       dom0_cfg.arch.tee_type = tee_get_type();
>>>       dom0_cfg.max_vcpus = dom0_max_vcpus();
>>> +    dom0_cfg.arch.viommu_type = viommu_get_type();
>>
>> Same here.
>>
>>>         if ( iommu_enabled )
>>>           dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
>>> diff --git a/xen/arch/arm/include/asm/viommu.h b/xen/arch/arm/include/asm/viommu.h
>>> new file mode 100644
>>> index 0000000000..7cd3818a12
>>> --- /dev/null
>>> +++ b/xen/arch/arm/include/asm/viommu.h
>>> @@ -0,0 +1,70 @@
>>> +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
>>> +#ifndef __ARCH_ARM_VIOMMU_H__
>>> +#define __ARCH_ARM_VIOMMU_H__
>>> +
>>> +#ifdef CONFIG_VIRTUAL_IOMMU
>>> +
>>> +#include <xen/lib.h>
>>> +#include <xen/types.h>
>>> +#include <public/xen.h>
>>> +
>>> +struct viommu_ops {
>>> +    /*
>>> +     * Called during domain construction if toolstack requests to enable
>>> +     * vIOMMU support.
>>> +     */
>>> +    int (*domain_init)(struct domain *d);
>>> +
>>> +    /*
>>> +     * Called during domain destruction to free resources used by vIOMMU.
>>> +     */
>>> +    int (*relinquish_resources)(struct domain *d);
>>> +};
>>> +
>>> +struct viommu_desc {
>>> +    /* vIOMMU domains init/free operations described above. */
>>> +    const struct viommu_ops *ops;
>>> +
>>> +    /*
>>> +     * ID of vIOMMU. Corresponds to xen_arch_domainconfig.viommu_type.
>>
>> Did you mean ID rather than type?
> 
> I mean here type of physical IOMMU on the host available SMMUv3, SMMUv1 or IPMMU.
> If you think ID is the right name here I will change it.

Hmmm... I inverted the two names. I was actually asking whether ID 
should be Type instead.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:16:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:16:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453708.711299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CGU-0000jb-2R; Mon, 05 Dec 2022 14:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453708.711299; Mon, 05 Dec 2022 14:16:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CGT-0000jU-Vr; Mon, 05 Dec 2022 14:16:13 +0000
Received: by outflank-mailman (input) for mailman id 453708;
 Mon, 05 Dec 2022 14:16:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=N3Kf=4D=huawei.com=yangyingliang@srs-se1.protection.inumbo.net>)
 id 1p2CGS-0000jO-Uj
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:16:12 +0000
Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c0ac571-74a7-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 15:16:10 +0100 (CET)
Received: from dggpemm500007.china.huawei.com (unknown [172.30.72.53])
 by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4NQltq2HZ2zFq4w;
 Mon,  5 Dec 2022 22:15:15 +0800 (CST)
Received: from huawei.com (10.175.103.91) by dggpemm500007.china.huawei.com
 (7.185.36.183) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Mon, 5 Dec
 2022 22:16:01 +0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c0ac571-74a7-11ed-8fd2-01056ac49cbb
From: Yang Yingliang <yangyingliang@huawei.com>
To: <xen-devel@lists.xenproject.org>, <netdev@vger.kernel.org>
CC: <wei.liu@kernel.org>, <paul@xen.org>, <davem@davemloft.net>,
	<edumazet@google.com>, <kuba@kernel.org>, <pabeni@redhat.com>,
	<jbeulich@suse.com>, <jgross@suse.com>
Subject: [PATCH net] xen/netback: don't call kfree_skb() under spin_lock_irqsave()
Date: Mon, 5 Dec 2022 22:13:33 +0800
Message-ID: <20221205141333.3974565-1-yangyingliang@huawei.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.175.103.91]
X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To
 dggpemm500007.china.huawei.com (7.185.36.183)
X-CFilter-Loop: Reflected

It is not allowed to call kfree_skb() from hardware interrupt
context or with interrupts being disabled. So replace kfree_skb()
with dev_kfree_skb_irq() under spin_lock_irqsave().

Fixes: be81992f9086 ("xen/netback: don't queue unlimited number of packages")
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/net/xen-netback/rx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/xen-netback/rx.c b/drivers/net/xen-netback/rx.c
index 932762177110..d022206a0d17 100644
--- a/drivers/net/xen-netback/rx.c
+++ b/drivers/net/xen-netback/rx.c
@@ -92,7 +92,7 @@ void xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb)
 		struct net_device *dev = queue->vif->dev;
 
 		netif_tx_stop_queue(netdev_get_tx_queue(dev, queue->id));
-		kfree_skb(skb);
+		dev_kfree_skb_irq(skb);
 		queue->vif->dev->stats.rx_dropped++;
 	} else {
 		if (skb_queue_empty(&queue->rx_queue))
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:19:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:19:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453715.711311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CJU-0001Iy-Fu; Mon, 05 Dec 2022 14:19:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453715.711311; Mon, 05 Dec 2022 14:19:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CJU-0001Ir-DN; Mon, 05 Dec 2022 14:19:20 +0000
Received: by outflank-mailman (input) for mailman id 453715;
 Mon, 05 Dec 2022 14:19:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2Zgi=4D=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2CJS-0001Ih-UB
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:19:19 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2061b.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd4dca3f-74a7-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 15:19:17 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8331.eurprd04.prod.outlook.com (2603:10a6:10:244::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Mon, 5 Dec
 2022 14:19:16 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 14:19:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd4dca3f-74a7-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J1MbNssL6oEeXNQ/3d1ZvSbylySabC/Q5yKxdrt2xpJYyQAHbSf+OPl7K1epbfOi1hIRqemWVZaaIe7JrH3CE6M8/+iykgpsjQ/ZpVkavV2d2lFJXNCdIVW3PYK8KdOPLp83S4aGxL3dbLsIlA4/MIl7IDPjA/jlF1r6bYDlRGb656+8cM3TQOrVEBGJHR1Ct5OS8FdIgHT9nvSqNqEgdq12vPz2jO3zfZnkUuz/JRbEcrKtaI9yGreEn7c3KpeXVD9gJ5DR/XjrQNtFhj4D8s+Hb6w5k0bqsoQB0ds13UEcLdp09oeh6XduPwaTcP6ScMlJti8ENp1Kn8GyaWTIdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MNijArCjRy+hc+Byk9CgVk4CZNDWhH5rtucEvEiZuBg=;
 b=Gl9dLfco0qOyX1A8fqoGVZuClnqkzo/WDcfrM29d9mqJE9wCsCixyYDZdPUvbXNvtJu+RWYDhE2m0+nvXs/f8Fogc/vKl024uapDWzmUKH4VtkJC6+t0P/3tikfJvcp5A/NM0E5r7IIPpJnqq8WBV3sk883VnehM4G0RzyXXqidh0gRRl9I84dReXBmEmJZFQ5v89K9ZMs6G009p+/GODnFt3EhnVSmfU6o2R7imaQ9k69Vf/ptcWVCcrPojxuVwWLJL3k51c3TcnwaKY3+i+sqlQkgq7BZtzGyWvPnWyZvPo1OuunL3l/Tgh0Mb7cxzAiHhwxGtFlG2WBEtbi7emg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MNijArCjRy+hc+Byk9CgVk4CZNDWhH5rtucEvEiZuBg=;
 b=C052teTIXEkq3lon2vdiy0iiQ5dmFQgfrKF+dgSgKC9D0WhnPlkNxZRC7lEUkJihnQ2zzHT6VuZWj7Y3u+MD+jpD6e7aYtYaLwM3GBhT1iFVebcsJMHNJR+IZKZsdY49zQpsNDs7ZFSnkllKWLw4TN+gHgws8PU/uayCTVndG0rxhAbc62BmiQAJu5UpV41aIijW01OiOunQUhLtCUfpSRd8E/C+jorKGUYTdZSgXvSyjGlzYfqvW5zg7sC/bd3u+5xcrGF2Bbt/bozgUbvqpLb3+UE1OBP8bqGlOFITaPiWhihPSMzFKyUlY209OWxrwz8L/GK4aDpcDErrAZP+VQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c62446e1-8e47-5fa9-1c7b-a441d38711e6@suse.com>
Date: Mon, 5 Dec 2022 15:19:13 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 2/5] efi: only set a console mode if the current one is
 invalid
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: marmarek@invisiblethingslab.com, xen-devel@lists.xenproject.org
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-3-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221123154525.63068-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8331:EE_
X-MS-Office365-Filtering-Correlation-Id: 1b7c2b7f-c6dc-427a-ad8d-08dad6cbb06d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eRa8qiawG9g6WSHTVXPx/kLFzIp2oZX7tdwSf4JDwIMh5A5sXgDdisJJ4uVs9CaP8xmnMnmB0NYBjlyh9jGTfzOpE3WodrukTaP1xnXrw+SJpLi1GSENhuSAH7tgxnqHbvKXqeTYZueU6vQom6iFUoqt8nQXgQtei3z3ILaMfkxY97N+lgjZOB1isJ3ve4T4qtSob655ojS2NTdZls2dUl0c16YHyHDIQOUbGuAWM2lbckw0Fg8EHbkJWv3aef/0HX6PJYLu+bG/fmeHmyKihj4Gxghw3SkuylgJSAHTSzs17fxhooCLfsoMKJBnjhMzqOG7G75mzpZxm7fChLR7A6ga8TsJUaZJ+zZ80wsa6imuqc8IsVdbIdABBdLwWTV+lyrdGMsRflQ6N063hNpIqjk4c1d1Pr/+VZyQLALrBU3sXb3LuNVC4vX/tOgbfbQkVkjEeSpSAosC9JaVYwmVLdy5hVbMou6uIllCRdNR2tZfzEJiqXBW+XfhXi+HKj5yXAo/vxj5EEqJYlCbaZaHwPxltkCD+06eRlnVq/VKHulNLevAWnK+Ff/sKpi1erjmsbAy7chtnpfmAauAtDMBdJfX0kPqfv2D9ohb02NFmNTM9thzWEKyL9FRkCKImBZG2L95Qlz587A4lsD/G4g9h8A+Q/FvDOzE26chjMk13tHxuqjUI1O34uIu9Z5M/76Zu1GziEO1blxzukACrr2iqjfIOcNIa2meoQ4Qydu0LNA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(376002)(366004)(396003)(39860400002)(136003)(451199015)(36756003)(38100700002)(31696002)(86362001)(41300700001)(2906002)(8936002)(4326008)(5660300002)(66556008)(66946007)(66476007)(6486002)(478600001)(316002)(6916009)(2616005)(31686004)(8676002)(186003)(53546011)(6506007)(6512007)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UTYrc0V3SnR1U3JEZTZ0cWQ5allTTzVRNWk2QkdnMGVmNm5RbjJBblY0bGt6?=
 =?utf-8?B?alRhY0ZVbi82bDRLc0JEeUorNmYzNThuRUp2K0NSdzVTNko5Z3VoTTllYmIw?=
 =?utf-8?B?UkRXRnhXSGZhTjRxWC91WXZKRitwQVNSZHA1YUlqUGNPdTRBUXpCNmx3cWQ1?=
 =?utf-8?B?bE9obmQ1aXNtZFVPMUZxbTRPUEVYeFRTNHBuQTZBN3VuNFNNUURNU2RSNjQ0?=
 =?utf-8?B?dGxhV1d1SVFoRGZTc1IzR0VwMTkxbFZkQnFvc0lXWE5YcHFOeTVBRmZQMWlC?=
 =?utf-8?B?SUZKY042OWNsQm5VclpROXlnK0VIYzkzS25ScDNEeG5hVnJOVTFSamdCTGdt?=
 =?utf-8?B?YUtRZnlsMzZaSUNzc0Zubm5rOGVJNVZWakRGMHBvejVSZGZpVXJmNk9VTnhM?=
 =?utf-8?B?dmtDYkxBUFQwZ3RqN09heHFNL2tvN3VzdUh4N3p2RmN0a3VhNmp6dGR4QllX?=
 =?utf-8?B?K0UyR1h0cHRNeExBa0pvRFJRSDgvZkNZYmZYQ3FrRTBFOGlIVmdrc1ZiUU1S?=
 =?utf-8?B?NGJiR1htOWtYZjh5bFlGRGpUMEtOYWJBRXU1TlMxdmNEQ0IvOGJIVjRjbDds?=
 =?utf-8?B?eURKdWlCYVpKSlI2SEpMNlBMRGpRQzk3eFJhSTNTL2k2SE56RGNVVytZSGRM?=
 =?utf-8?B?dS9nMnBzRVNwblQ4ZzFjcnVNbW5tNm9KckR5UFFrSU9NUlA4Q0FLb1ZlNEJm?=
 =?utf-8?B?aktaUUtFQkk2OGVWY0JYTWpnbXNvdExlMFZIcktHS3paRE1ob3c3NHpNN2pM?=
 =?utf-8?B?Wk1WV3dSUTNDYWsrUUR5d3JZbnJvZ3B2K1pJKzQyZzh6c1NhaUxSZ1RxQURp?=
 =?utf-8?B?TFVvNTBrMHlaOEpnc2NZcXlpNkMvRHdzbTdTYmhiTlBNNmJHNXBaaG1xNGFU?=
 =?utf-8?B?b1RUV0VGOFNhTUJUb3cwWDRhYTJpdk1nNXhzQWI5VUp6T2ZMVHVKU1J6V09L?=
 =?utf-8?B?UExCR2RrSU5hcnZlVUVWUnFRNm1tcjJNOFd6VVdiYnkyVjRFWTZYQ0NBazY0?=
 =?utf-8?B?OG40azZhTzdrRDlCMzMveFVsY3NFMnYwNkp1bnpzQUNaUHE4eWlnaDdlVlJs?=
 =?utf-8?B?SjlsQjN1WXJsaVU4aDhFSUwvcnZSNlc5Tm93dC91aGFHQUlyMjdGRGU1MEZ1?=
 =?utf-8?B?VTF6N2hOZWtpeXRqZVJueGtJOElIM1pqcVJRaWdIeWQyNnVoMlNvcEJoMDBO?=
 =?utf-8?B?ZnBMazBsZFp2YmlHbHk2ZzBIc1FpK0RJem1XbHJNL1haWktTSEYrM2pqbFp0?=
 =?utf-8?B?c1pvbzEwYWx1dExGcWZkTGlWbHhJUGx6dGZ2L1NvOU1LQnZPdzVFRHJSemFu?=
 =?utf-8?B?MWZVYmxndUpQUjRxQzRaeUcwV1pENjlqQmtRQjd4M3cvZDNWenVXWG5WWm9D?=
 =?utf-8?B?UzZmZWpIRVBjUFp5amVML201YVNsdkU0MGkxUjVuV003WWlCUVMzU3F5Mmpl?=
 =?utf-8?B?Q0UyNXBnWlpJN3Bjd0l1R25pSlNpSGpNVVlhandLYjRqV2dDZkFkdTcySUpX?=
 =?utf-8?B?R3Y1ZytBZzVHQlZ0N2NDemxoZWV3eWJEbVJLVVAzZWcyMi9RWjU5NFE0TUFy?=
 =?utf-8?B?aCttVzllaVF6NnhoQ0JYbjExMUhpTjVzYWxoVGowblY4MzhFdlRFYXh3Zndq?=
 =?utf-8?B?dW1hNjkrSGwxM0J4WExTSXlZbnB0bmdVR2VQb2NDVWtXNFpxY0lQYVlsRSsz?=
 =?utf-8?B?N1ZMQUE5YisweVVPL3A2SGJ4d2RVeDgxalZwWW1BTER1OHFHVUNTa0NsRmts?=
 =?utf-8?B?c2VZbktrR0RQSloyd1hjWTFtb1YwSFZSTnUvam1ubitQNWlMdjY1ZUo3Mmww?=
 =?utf-8?B?UWNpWkpkT1dVaWxUSEw5ZWgxd3B1RmNBTDE3S1AwcW9WN3hQV25wRDNuZGk5?=
 =?utf-8?B?SmRVUlVHVnNudmplMms2eU9IcHovOVl3RjkydHNMWTZJdFgwVlk4RWdZcVlG?=
 =?utf-8?B?V25EY29ZNnlqVjl3S25hTkt5eExmeHVtWlkrZ3pDOVZ0NG5uYmtORHI2WUFj?=
 =?utf-8?B?d0tESFdHd3lxOUN1TWRuNzMyUU05YjVVT3hmclBsMldXV3J6cVhWZkpuZ3F0?=
 =?utf-8?B?Q3J0WHVabmxIcWlvYm9uMjlPMzBQenZvc0VKUm5KcThEMnphNnJTbFg1SXpi?=
 =?utf-8?Q?h9tJIL808sZF8MCzSSnBzlDKD?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b7c2b7f-c6dc-427a-ad8d-08dad6cbb06d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 14:19:15.5216
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: w4cuPTdrfsMHMN6nbYHHm/66aHKFf3N9tZZylDy5MHMe6oFtaZhAy9RXfsh3GJ8qq2IzSPvgTxA56z1dTRo+6A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8331

On 23.11.2022 16:45, Roger Pau Monne wrote:
> Do not unconditionally set a mode in efi_console_set_mode(), do so
> only if the currently set mode is not valid.

You don't say why you want to do so. Furthermore ...

> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -799,6 +799,11 @@ static void __init efi_console_set_mode(void)
>      UINTN cols, rows, size;
>      unsigned int best, i;
>  
> +    /* Only set a mode if the current one is not valid. */
> +    if ( StdOut->QueryMode(StdOut, StdOut->Mode->Mode, &cols, &rows) ==
> +         EFI_SUCCESS )
> +        return;

... it might be okay if you put such a check in efi_multiboot2(), but
the call here from efi_start() is specifically guarded by a check of
whether "-basevideo" was passed to xen.efi. This _may_ not be as
relevant anymore today, but it certainly was 20 years ago (recall
that we've inherited this code from a much older project of ours) -
at that time EFI usually started in 80x25 text mode. And I think that
even today when you end up launching xen.efi from the EFI shell,
you'd be stuck with 80x25 text mode on at least some implementations.

Overall, looking at (for now) just the titles of subsequent patches,
I'm not convinced the change here is needed at all. Or if anything it
may want to go at the end, taking action only when "vga=current" was
specified.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:26:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:26:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453728.711322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CQd-0003OY-DK; Mon, 05 Dec 2022 14:26:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453728.711322; Mon, 05 Dec 2022 14:26:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CQd-0003OR-8k; Mon, 05 Dec 2022 14:26:43 +0000
Received: by outflank-mailman (input) for mailman id 453728;
 Mon, 05 Dec 2022 14:26:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2q+k=4D=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p2CQb-0003OJ-Nl
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:26:42 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20611.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d408b9c0-74a8-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 15:26:39 +0100 (CET)
Received: from MW4PR03CA0331.namprd03.prod.outlook.com (2603:10b6:303:dc::6)
 by SA1PR12MB5613.namprd12.prod.outlook.com (2603:10b6:806:23e::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Mon, 5 Dec
 2022 14:26:35 +0000
Received: from CO1NAM11FT086.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:dc:cafe::cb) by MW4PR03CA0331.outlook.office365.com
 (2603:10b6:303:dc::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Mon, 5 Dec 2022 14:26:35 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT086.mail.protection.outlook.com (10.13.175.73) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.13 via Frontend Transport; Mon, 5 Dec 2022 14:26:35 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 08:25:50 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 08:25:48 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Mon, 5 Dec 2022 08:25:46 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d408b9c0-74a8-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jg71J7/13Z3zo4TF854kzyZ/8XpJXQXDRcPvEAwLz8Vm4uQOVj3Ff6qBAudq/KLlQaMDkP82eVAfPLA6/xFv10Ck5jVbV3lRhr3RyjRYdN2MGr3f8tx42DU2tSohhzAXp4UqTiBkUaAk/V3M03TTbcHxzMQKSzzObQjqw7HZdnElGk0ko6M44h2S9ddBnnLlrhXcbFiMaaaxPqGLmekhUdhVYzOMoMAQIu/CuSGUHlBQOAvkkqUPgZceD00OgmtKO/hcm0cUPxUWy/FTPYQWrWbCEVN7JT7tmK8g9ryoPRSUgjl39rlozWKFenAZhsBUv7rv2pTGf2D730mI9ffQvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WxJvNQ8nK13xsy+hYQjwDAaH3Ud1Uaahqh22XA3Ilko=;
 b=GEtrMD4iQs302pvzq8vOG0Pk4je4h2DXKVCzhL4RbzMzmiFFFccWkaKGfXv89eJEBmSxPCrx83OaY9iyc/WeZ7lWBXr/mbR3GHdhdT2uMJPRu8DNJP1P6EsZLlV4YZehF0/ow3qid+MxMO8VQx4Agh+d7mBuC3araKw6WIXJ/+T/pkMW417HfeRJRAbzpsti1m9siXkM52mBM4WxadU7VNTM1VocqC7wRK5JBFgjykkioVaMXXK1zUdFZfmsKHhNT++NLpxe425lPtE/PvYHvAlZPf6CFdwETsy2TMCTLpq9rHSLBFryBRYvFZh+Mcqh3BkPXwqTbVbKzD5fTtZFGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WxJvNQ8nK13xsy+hYQjwDAaH3Ud1Uaahqh22XA3Ilko=;
 b=K2B0vbKib7zBfRmcIVm7+6pnc04kqu/kwzim8VqioqyIxP8vVTuTG/QZthi4lX3MOrDLj92AJBQsyurx2ifXjbTfwlJu0iooDQHnRnrpN0Zt7B7I1rB1GIYsx7sQ+buOG8n060nMjRISKm4q4ykmHMJXZ2Tku6lB4Eir5nckB6w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <2739e776-6bd6-6f35-d46e-9e1223b3d6ef@amd.com>
Date: Mon, 5 Dec 2022 15:25:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>
CC: Xen developer discussion <xen-devel@lists.xenproject.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	"Bertrand Marquis" <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, Paul Durrant
	<paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
 <345d7d3c-e090-356b-1b4e-a9b491a146b5@amd.com>
 <4D9FBC4E-CF83-4D45-B657-A58041EAFCAB@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <4D9FBC4E-CF83-4D45-B657-A58041EAFCAB@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT086:EE_|SA1PR12MB5613:EE_
X-MS-Office365-Filtering-Correlation-Id: fb1bc67b-b2c8-4be2-768a-08dad6ccb6c3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	O1Us2zElt9wg4hBUnGxe4u40+pqQnUTGn0DMBPdVQswdKD4W5tnLh+vJSE/tQoWvgxnC4PvQkwUG78lHHQJNsT8Vtx5XY3dtW6j2yj2UplJprcd9SP6RKQD9jth2+Xp9bIvVyVCYO+wdm5NvmFhlMuBS9gzlN+KnX/CkZS88moSHHB7gn+BoY8gjX7FXnT3VGNiZ8W1DtcYAUmacsq+zZ7iFZB7LafZhwMCb/rbFdx1itpmrD7JrMF/ggJTO+qfhCKCJMn125BjSDoVZZ/WIZm40CojEgh84xAs3RCNj4IjLN1IOD4/AF7oYOkE/7RRnG3xMkIcwY2BjyIEnHhpv2wq+ErC0cWUiIXiVQ4AeoNOyM4n5lDUXTq3xjk2P8wxI6gaL0AQEAEz6ylCvC8jSggAE7m8x0PPZucDZg+iwMJOTz3Jbn57CLjzfbssuXMOHVVr99yK7hAIfTl7PUc/pbEKqKwXZAQca2I82p0Qn7CltilWBl4TZcmjlo4BH20wtqqDd6vQ4HQODasinW8UeEokIcsgB+WSOcK/jPVVkHRN9I0yPegkTN3As+Aer8dLjhyIm6Cfwt23iOd41vrqH8AayL24njTePww0k48XhCGbdxcgQoapkrRG5a57dcU7cFjXqLJY4rB2hl85bc6F1kh7pN8GMj+gjaWGYzkPLvc53fUi+2mYzaPya4izfH98rb0nM4UXAwn03XFR9Xw7rRos/PLIv3hiQokJCLSfAeqEbm5wDOsxPInpxoIC23NFq0yVc2OV3Y4ofa8ORCTRl0FnRucrV1zYFGS5w7W9teYEUgUuJ6xYNgLjVMGtIhQuq
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(136003)(396003)(39860400002)(451199015)(36840700001)(40470700004)(46966006)(16576012)(8936002)(356005)(316002)(36860700001)(82310400005)(54906003)(81166007)(41300700001)(82740400003)(6916009)(70586007)(8676002)(70206006)(4326008)(40460700003)(86362001)(44832011)(36756003)(31696002)(2906002)(5660300002)(40480700001)(31686004)(478600001)(6666004)(26005)(186003)(53546011)(83380400001)(47076005)(426003)(2616005)(336012)(41533002)(21314003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 14:26:35.2719
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fb1bc67b-b2c8-4be2-768a-08dad6ccb6c3
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT086.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB5613

Hi Rahul,

On 05/12/2022 14:53, Rahul Singh wrote:
> 
> 
> Hi Michal,
> 
>> On 5 Dec 2022, at 8:26 am, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> Hi Rahul,
>>
>> On 01/12/2022 17:02, Rahul Singh wrote:
>>>
>>>
>>> This patch adds basic framework for vIOMMU.
>>>
>>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>>> ---
>>> xen/arch/arm/domain.c                | 17 +++++++
>>> xen/arch/arm/domain_build.c          |  3 ++
>>> xen/arch/arm/include/asm/viommu.h    | 70 ++++++++++++++++++++++++++++
>>> xen/drivers/passthrough/Kconfig      |  6 +++
>>> xen/drivers/passthrough/arm/Makefile |  1 +
>>> xen/drivers/passthrough/arm/viommu.c | 48 +++++++++++++++++++
>>> xen/include/public/arch-arm.h        |  4 ++
>>> 7 files changed, 149 insertions(+)
>>> create mode 100644 xen/arch/arm/include/asm/viommu.h
>>> create mode 100644 xen/drivers/passthrough/arm/viommu.c
>>>
>>> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
>>> index 38e22f12af..2a85209736 100644
>>> --- a/xen/arch/arm/domain.c
>>> +++ b/xen/arch/arm/domain.c
>>> @@ -37,6 +37,7 @@
>>> #include <asm/tee/tee.h>
>>> #include <asm/vfp.h>
>>> #include <asm/vgic.h>
>>> +#include <asm/viommu.h>
>>> #include <asm/vtimer.h>
>>>
>>> #include "vpci.h"
>>> @@ -691,6 +692,13 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
>>>         return -EINVAL;
>>>     }
>>>
>>> +    if ( config->arch.viommu_type != XEN_DOMCTL_CONFIG_VIOMMU_NONE )
>>> +    {
>>> +        dprintk(XENLOG_INFO,
>>> +                "vIOMMU type requested not supported by the platform or Xen\n");
>> Maybe a simpler message like for TEE would be better: "Unsupported vIOMMU type"
> 
> Ack.
>>
>>> +        return -EINVAL;
>>> +    }
>>> +
>>>     return 0;
>>> }
>>>
>>> @@ -783,6 +791,9 @@ int arch_domain_create(struct domain *d,
>>>     if ( (rc = domain_vpci_init(d)) != 0 )
>>>         goto fail;
>>>
>>> +    if ( (rc = domain_viommu_init(d, config->arch.viommu_type)) != 0 )
>>> +        goto fail;
>>> +
>>>     return 0;
>>>
>>> fail:
>>> @@ -998,6 +1009,7 @@ static int relinquish_memory(struct domain *d, struct page_list_head *list)
>>> enum {
>>>     PROG_pci = 1,
>>>     PROG_tee,
>>> +    PROG_viommu,
>>>     PROG_xen,
>>>     PROG_page,
>>>     PROG_mapping,
>>> @@ -1048,6 +1060,11 @@ int domain_relinquish_resources(struct domain *d)
>>>         if (ret )
>>>             return ret;
>>>
>>> +    PROGRESS(viommu):
>>> +        ret = viommu_relinquish_resources(d);
>>> +        if (ret )
>>> +            return ret;
>>> +
>>>     PROGRESS(xen):
>>>         ret = relinquish_memory(d, &d->xenpage_list);
>>>         if ( ret )
>>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>>> index bd30d3798c..abbaf37a2e 100644
>>> --- a/xen/arch/arm/domain_build.c
>>> +++ b/xen/arch/arm/domain_build.c
>>> @@ -27,6 +27,7 @@
>>> #include <asm/setup.h>
>>> #include <asm/cpufeature.h>
>>> #include <asm/domain_build.h>
>>> +#include <asm/viommu.h>
>>> #include <xen/event.h>
>>>
>>> #include <xen/irq.h>
>>> @@ -3858,6 +3859,7 @@ void __init create_domUs(void)
>>>         struct domain *d;
>>>         struct xen_domctl_createdomain d_cfg = {
>>>             .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
>>> +            .arch.viommu_type = viommu_get_type(),
>>>             .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
>>>             /*
>>>              * The default of 1023 should be sufficient for guests because
>>> @@ -4052,6 +4054,7 @@ void __init create_dom0(void)
>>>         printk(XENLOG_WARNING "Maximum number of vGIC IRQs exceeded.\n");
>>>     dom0_cfg.arch.tee_type = tee_get_type();
>>>     dom0_cfg.max_vcpus = dom0_max_vcpus();
>>> +    dom0_cfg.arch.viommu_type = viommu_get_type();
>>>
>>>     if ( iommu_enabled )
>>>         dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
>>> diff --git a/xen/arch/arm/include/asm/viommu.h b/xen/arch/arm/include/asm/viommu.h
>>> new file mode 100644
>>> index 0000000000..7cd3818a12
>>> --- /dev/null
>>> +++ b/xen/arch/arm/include/asm/viommu.h
>>> @@ -0,0 +1,70 @@
>>> +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
>>> +#ifndef __ARCH_ARM_VIOMMU_H__
>>> +#define __ARCH_ARM_VIOMMU_H__
>>> +
>>> +#ifdef CONFIG_VIRTUAL_IOMMU
>>> +
>>> +#include <xen/lib.h>
>>> +#include <xen/types.h>
>>> +#include <public/xen.h>
>>> +
>>> +struct viommu_ops {
>>> +    /*
>>> +     * Called during domain construction if toolstack requests to enable
>>> +     * vIOMMU support.
>>> +     */
>>> +    int (*domain_init)(struct domain *d);
>>> +
>>> +    /*
>>> +     * Called during domain destruction to free resources used by vIOMMU.
>>> +     */
>>> +    int (*relinquish_resources)(struct domain *d);
>>> +};
>>> +
>>> +struct viommu_desc {
>>> +    /* vIOMMU domains init/free operations described above. */
>>> +    const struct viommu_ops *ops;
>>> +
>>> +    /*
>>> +     * ID of vIOMMU. Corresponds to xen_arch_domainconfig.viommu_type.
>>> +     * Should be one of XEN_DOMCTL_CONFIG_VIOMMU_xxx
>>> +     */
>>> +    uint16_t viommu_type;
>> Here the viommu_type is uint16_t ...
>>
>>> +};
>>> +
>>> +int domain_viommu_init(struct domain *d, uint16_t viommu_type);
>>> +int viommu_relinquish_resources(struct domain *d);
>>> +uint16_t viommu_get_type(void);
>>> +
>>> +#else
>>> +
>>> +static inline uint8_t viommu_get_type(void)
>> Here you are returning uint8_t ...
>>
>>> +{
>>> +    return XEN_DOMCTL_CONFIG_VIOMMU_NONE;
>>> +}
>>> +
>>> +static inline int domain_viommu_init(struct domain *d, uint16_t viommu_type)
>> Here you are taking uint16_t. So it looks like that ...
>>
>>> +{
>>> +    if ( likely(viommu_type == XEN_DOMCTL_CONFIG_VIOMMU_NONE) )
>>> +        return 0;
>>> +
>>> +    return -ENODEV;
>>> +}
>>> +
>>> +static inline int viommu_relinquish_resources(struct domain *d)
>>> +{
>>> +    return 0;
>>> +}
>>> +
>>> +#endif /* CONFIG_VIRTUAL_IOMMU */
>>> +
>>> +#endif /* __ARCH_ARM_VIOMMU_H__ */
>>> +
>>> +/*
>>> + * Local variables:
>>> + * mode: C
>>> + * c-file-style: "BSD"
>>> + * c-basic-offset: 4
>>> + * indent-tabs-mode: nil
>>> + * End:
>>> + */
>>> diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
>>> index 479d7de57a..19924fa2de 100644
>>> --- a/xen/drivers/passthrough/Kconfig
>>> +++ b/xen/drivers/passthrough/Kconfig
>>> @@ -35,6 +35,12 @@ config IPMMU_VMSA
>>>          (H3 ES3.0, M3-W+, etc) or Gen4 SoCs which IPMMU hardware supports stage 2
>>>          translation table format and is able to use CPU's P2M table as is.
>>>
>>> +config VIRTUAL_IOMMU
>>> +       bool "Virtual IOMMU Support (UNSUPPORTED)" if UNSUPPORTED
>>> +       default n
>>> +       help
>>> +        Support virtual IOMMU infrastructure to implement vIOMMU.
>>> +
>>> endif
>>>
>>> config IOMMU_FORCE_PT_SHARE
>>> diff --git a/xen/drivers/passthrough/arm/Makefile b/xen/drivers/passthrough/arm/Makefile
>>> index c5fb3b58a5..4cc54f3f4d 100644
>>> --- a/xen/drivers/passthrough/arm/Makefile
>>> +++ b/xen/drivers/passthrough/arm/Makefile
>>> @@ -2,3 +2,4 @@ obj-y += iommu.o iommu_helpers.o iommu_fwspec.o
>>> obj-$(CONFIG_ARM_SMMU) += smmu.o
>>> obj-$(CONFIG_IPMMU_VMSA) += ipmmu-vmsa.o
>>> obj-$(CONFIG_ARM_SMMU_V3) += smmu-v3.o
>>> +obj-$(CONFIG_VIRTUAL_IOMMU) += viommu.o
>>> diff --git a/xen/drivers/passthrough/arm/viommu.c b/xen/drivers/passthrough/arm/viommu.c
>>> new file mode 100644
>>> index 0000000000..7ab6061e34
>>> --- /dev/null
>>> +++ b/xen/drivers/passthrough/arm/viommu.c
>>> @@ -0,0 +1,48 @@
>>> +/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-2-Clause) */
>>> +
>>> +#include <xen/errno.h>
>>> +#include <xen/init.h>
>>> +#include <xen/types.h>
>>> +
>>> +#include <asm/viommu.h>
>>> +
>>> +const struct viommu_desc __read_mostly *cur_viommu;
>>> +
>>> +int domain_viommu_init(struct domain *d, uint16_t viommu_type)
>>> +{
>>> +    if ( viommu_type == XEN_DOMCTL_CONFIG_VIOMMU_NONE )
>>> +        return 0;
>>> +
>>> +    if ( !cur_viommu )
>>> +        return -ENODEV;
>>> +
>>> +    if ( cur_viommu->viommu_type != viommu_type )
>>> +        return -EINVAL;
>>> +
>>> +    return cur_viommu->ops->domain_init(d);
>>> +}
>>> +
>>> +int viommu_relinquish_resources(struct domain *d)
>>> +{
>>> +    if ( !cur_viommu )
>>> +        return 0;
>>> +
>>> +    return cur_viommu->ops->relinquish_resources(d);
>>> +}
>>> +
>>> +uint16_t viommu_get_type(void)
>>> +{
>>> +    if ( !cur_viommu )
>>> +        return XEN_DOMCTL_CONFIG_VIOMMU_NONE;
>>> +
>>> +    return cur_viommu->viommu_type;
>>> +}
>>> +
>>> +/*
>>> + * Local variables:
>>> + * mode: C
>>> + * c-file-style: "BSD"
>>> + * c-basic-offset: 4
>>> + * indent-tabs-mode: nil
>>> + * End:
>>> + */
>>> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
>>> index 1528ced509..33d32835e7 100644
>>> --- a/xen/include/public/arch-arm.h
>>> +++ b/xen/include/public/arch-arm.h
>>> @@ -297,10 +297,14 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>>> #define XEN_DOMCTL_CONFIG_TEE_NONE      0
>>> #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
>>>
>>> +#define XEN_DOMCTL_CONFIG_VIOMMU_NONE   0
>>> +
>>> struct xen_arch_domainconfig {
>>>     /* IN/OUT */
>>>     uint8_t gic_version;
>>>     /* IN */
>>> +    uint8_t viommu_type;
>> this should be uint16_t and not uint8_t
> 
> I will modify the in viommu_type to uint8_t in "arch/arm/include/asm/viommu.h" and will
> also fix  everywhere the viommu_type to uint8_t.
Also I think that you need to bump XEN_DOMCTL_INTERFACE_VERSION due to the change
in struct xen_arch_domainconfig.

> 
> Regards,
> Rahul
> 
> 
~Michal


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:32:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:32:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453736.711333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CVw-0004z2-0V; Mon, 05 Dec 2022 14:32:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453736.711333; Mon, 05 Dec 2022 14:32:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CVv-0004yv-T8; Mon, 05 Dec 2022 14:32:11 +0000
Received: by outflank-mailman (input) for mailman id 453736;
 Mon, 05 Dec 2022 14:32:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2Zgi=4D=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2CVt-0004yk-PL
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:32:09 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20619.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9908ed1a-74a9-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 15:32:08 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7691.eurprd04.prod.outlook.com (2603:10a6:10:201::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 5 Dec
 2022 14:32:06 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 14:32:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9908ed1a-74a9-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j2YFS9Swmm0rfGOQ0DaSyiy5dbgVW0p2XlnnolVpN7VCqz0DDP0LRu6MiQoZiKcrmjLgxLq2KRG5Y6fpXPgEmJ8zAGzdxP0LnL4RulveNrilttxWCN2INioCRNbVh4QcZaA7HgBELHse/taAZpRCvf4PJZoOofXcXmH46M/iJsJy4lDRWZmhpJLnIFzbnCeaZVURxStXvCnK/tYgsxrevVr/5avd/xCbxNuVmLZmA/XIoA36sPryDyLElLiJYnqm2lzQVFHVxXzSAe2zbSx12tRUXZlphgMQy1xhd9mmwR/ydWUpF22R2NXcnOTtV1S6Zr6RtSJpFuxguj+Ujdfz8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HcEqBOiY2VQUZ4juWC98x6PwggUQ0hDrYf1g+S46Q7M=;
 b=jrLMdRIRL5cc1hC+6wsNs3y+9O447XKSiVXOAXtRsUa5Acj8BMgg/iSXTeMBCYBWcd8pCKrWX92fouz/YE5bxOx9Jo+8vB+KYqG3ApkSJQ+CKIvRskNtz75K6+HtCdCibK7VvKihYFtLRqvw1Kp6kwTkmmWiJGC6jHSL8GbOQq2XJ6L27lprG9Pz6tg71ueYYnbQQRETNVgvMErJVZkiKvax+5/Mhg8YJ5wFpwQBI/l+VizfiA8ogPqY1WPG47dX00tdY/5ZRDOtL6Jq4MCNdMonDOs13O+vxHv38rwu+3HREIE5tiIEqmei+N+4S4qX+wwLNPt8QTDq6zR98SYyjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HcEqBOiY2VQUZ4juWC98x6PwggUQ0hDrYf1g+S46Q7M=;
 b=lbKPRvTZVx6nlClb4UsoKssjvc7CF2HbPuA4MRgB4U5DP1YsSv5HuyvrbigtAVtV8M66ORV/WDk91714FT/Lx6vVPjTQ1yK3Dp9qtNUcrdKeHEbiRIvb62/t+3swp76R6bqXcCJl/UJyUF7sL0kjNzJuql45Y68mKxOMKdogwHL/TFtpoHpeUO3PLZ7DBhMmTnqS0UMn0q6Ew4XfhdxD7NeuBwzci0klxt8s8m+MOaV/i1VUQ+LnsSWU0fugaz7LikSPCMX0RrYheyL66Sj2zChoeAthVQDczvru1+viH6B1QwPoTmalwDs7f9KiLZQzttUa60gOSdwZ22OOFICBqg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2d3765fd-fe15-078f-89ff-5e5b9be633b2@suse.com>
Date: Mon, 5 Dec 2022 15:32:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 3/5] efi: try to use the currently set GOP mode
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: marmarek@invisiblethingslab.com, xen-devel@lists.xenproject.org
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-4-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221123154525.63068-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0163.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7691:EE_
X-MS-Office365-Filtering-Correlation-Id: 977894b0-0b37-4bef-bec9-08dad6cd7ba4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7NEvcxhUofBAJLfmyU4QwKoGi/TR5vlqqzrV0n2VyCdwgdbkvPVN/228VESMqAefB41DJ7rHoP0isJXpW6foMdHkcjLZf9iR/iI1V03HRXptbCDA29K5zq/AQy7W498EuCnZYX6RQPK+Q1yI+ItGIJc2DhqQ+N5RMBshTdOuQl7xJeSi4enbpZ0BmoGSPReeeuQr4WFSRF2k3YpgP3njoGQUu8XTHRSlxcnwoxQZsU6m3B0x+Qd5FRyMstbUtnzjqmSVbX6CAk/ZtQLgm4AeAvMdIEMhQYUJYQF0h3bEeGv05a7PFEVxLkZiK7yc55lGNaVUf7v0cZBQSSTAXLIBqr+75/3V2biFMAeE3jdjBCfa26yDnezs5Y1O1eMAg4+2z07ysMCul/CBVUSmftsCpXfMoJ9TiBm+LS8Drje18BWr3x9sex/eoZ65Zg1Uvckab2HamnuVUZMkfNp9OSEdEHS3GN5mup39jvbBL9zCdZd0CAcdCDoNt6lWzVnsXJP8gNGyboDtYFmS/JI4OLUO80a8Pu+//KanBxbZd2x7Vmm2mdKK1Tx4VQ2mwDDRGCH55P1+3meE1vl/f9TFHRE58UHD8X50IlyWSFEhbccw2s5O0XcnL8qF2qfrWA8la8OKTKNJVWsiuM3/TTnh+WtPofBdGbFc5drbClRhDbt4HuXzzbIqITBMstoS8xdaGAP6NSUcBhweNuILdGugUc6I7RBUIkJcAjQfW2rvXJQ7Rhg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(39860400002)(396003)(366004)(136003)(451199015)(66556008)(66476007)(2906002)(8676002)(4326008)(31686004)(66946007)(6486002)(316002)(36756003)(5660300002)(6916009)(86362001)(31696002)(53546011)(2616005)(6506007)(6512007)(8936002)(186003)(26005)(478600001)(38100700002)(83380400001)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QlZlT2JQL25TMjU3SmFuSFlCTGxtU3IxaUdsRW1aY3Rlb1A5YmJDMVdNTG4y?=
 =?utf-8?B?WmdaTVNYTzJMTE9nc1NOK1FYUENCVCtSTmdOQ2hyTHYrcHR3RnRQS0ZUWDA3?=
 =?utf-8?B?MU9xaE1MeVZLWnhFRTN6YmRURWpHZUVON3MvVFhCRnE0YWh4TlRvN29NWEZh?=
 =?utf-8?B?S2VaWVVLYkROak9SNnZaNFMwa1IyVUZCV1hQTVhzYXJTWFFpMkFWNklrSVYx?=
 =?utf-8?B?NU1xNEFCcDJTaVF3VzFsMW9yc1FuS3RuSS93b3pFa3RzOTE0WS9jSExWb2di?=
 =?utf-8?B?aXhhNjFzMU00eVZrQndneVBSK3YwKzBDOFQ2ZkhGenVWbnZVU2l5WkZmVUJC?=
 =?utf-8?B?QzA3ODNvMkc0YjFyYmg1VUtNdTlUeHkvTElkYU9LRk5zVnVnb3JYN3FHRVdY?=
 =?utf-8?B?Y2c1eVo1akltSE1NczFTSTBQT1ZMUHdoWUJ1cDEzQ2QxNmlWQlQ4bitDODBy?=
 =?utf-8?B?Yk4rK0JFYmNjb2QyL2twaDZDK1lRQU9GenBYQ0JtcmsyQ25ITjdqNnpCRHhu?=
 =?utf-8?B?eDNlb0VxMGwwVjV2dXV5VHZML214UEZHUnpVdTBBbEtZRFJXYW94Tk0rR2lC?=
 =?utf-8?B?ZWZpVkhqNXNDR1hEeFFaTW9uNGF6amhROUgrOUlNOTRjQnRrWDdtMHZsMVpZ?=
 =?utf-8?B?b2xrZXZwUWZzTEh2MjY1NS9FRktoRERsbXhBQlM5NFNGOEt5enJWTm1TSHJT?=
 =?utf-8?B?RGU2UFBLVzMzYVhTRDkwSGM5R1NzQVg5ZFJ0UENMYldBS1daNWhKQlBnMG4r?=
 =?utf-8?B?cW55RHpCOW9HTTVRYW90UllBUjlhSURzV0pBU0wvRFFITElXMTdKQmdHdmlN?=
 =?utf-8?B?b3lVWVp6M20xSU1qd3dRYmdzUDZGV3RjOTZXQ1hGRjJSZUZiL3lUSzVRV2pj?=
 =?utf-8?B?OFNzVmFtanRjU3VOMDgxTHk4OERKQ3BCRHNpK0l4d3RDemRYUEpJalRKTHJy?=
 =?utf-8?B?VHJaT0kwZVI3T0ZKYVdEcE94dEtLNG56cHBpWUtoVmw1QVpDRHpBdEpEN2Z1?=
 =?utf-8?B?VlRoZXdCeXBIL0ZxeFE2Z3FJRHdOK3lvenR3cUoxOWczNUpQSno2K0l1YmRC?=
 =?utf-8?B?REQwYUQrQjdtMUtaSGFkRzl5UmhCYVJLeUJhZGZBZ2tkRWtZY2dlR0U5V3kz?=
 =?utf-8?B?ZGlBRTd2ZFppd3VsZ0EvNzF3YXljaUdBS2dyck9MSUlZUUtBUm5OOVZKaktV?=
 =?utf-8?B?ZHR2Nk02Ui8yejN2UTFTRnF4U01hRVo4UjA0bUg2VFROVmllQkVRcklDMDhz?=
 =?utf-8?B?aW5iSlBaWVZ4alI2Y1poT1l0OHh5bG1YWjl2UzllOHNiWWhuRjlORCtoaXcr?=
 =?utf-8?B?YzYydmxGMEN3WUVGZm9saTBhdnNaUWZQcHBCanhhbmR5eUhaaTBBU0J2azJ1?=
 =?utf-8?B?b0hkYlRGZDNSdEd1ZmpibkRBellhQlMrODZtNTRSTTNkcUpDNGdlTTcrdEtD?=
 =?utf-8?B?Mkk2N1E0VnZvWitTaUd6YmpOV1ZGTmxJc05HMmhlYTFXOTlYSnNvMmdYM1pt?=
 =?utf-8?B?ZDJMcWNRVGZsOHpSVDFwUzFCTGZmeFdNNGs1TmoySHAwd3dPWTBlUW9ITElp?=
 =?utf-8?B?QWxxRC9xTTV0NW1qUExvVlJBT2lyRXZjL3doNFVuQk1YM2J1dTNHeGtLbk9Q?=
 =?utf-8?B?RGVTL3hVbnhZNEpOOWRhSit3dW41Mit6L3BOSTNodlRKNXI4RDRWR1k1L05a?=
 =?utf-8?B?MXI3LzZqYi95d1FLYlRsZ0ZBdDR1eW84cmJERkpESkZpUnpJcVlPK3h1K1pF?=
 =?utf-8?B?SnRyOEplTzR5eEV4ZGJmUUZpRVFwSHdjemtPSXcveHZoRVUxcGZvZ2hTVW0y?=
 =?utf-8?B?TklPTk1hWDZEa0F1WU5IVkNseHVuTG9uR0ErbTlGSFVDU0JvT0s1VHBVYlcw?=
 =?utf-8?B?dXFMbGdNN1hINEpwWHF3QmM4dWo3R3M3djlCMUd0VldlSUtyQ1lBQ2pnNVgz?=
 =?utf-8?B?UkcyS2UrRW5wREpRdmtyaFhwYXdxN2VSVlFkMGloemFNUG5sNlFYY2tRTjVT?=
 =?utf-8?B?TDB0RHkzYW01MDk2OUJ4WWhkd2xhSzBEMGNRd01qdk9aSUlzZExseDJVTDFh?=
 =?utf-8?B?TU1xbVNjR09WdERCMjVFRmlPbXNPRllPL0xZcms1WHNZV2RIU3ZnVUNkMXQv?=
 =?utf-8?Q?U/asO9k5anJ1IeZdMda3o3F5i?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 977894b0-0b37-4bef-bec9-08dad6cd7ba4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 14:32:05.8474
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SQ75c43nMPzpNxcJ9qX01ezAIUPbYtHEtvE1zU/T2E8Xo08FsvP+gejuL+RqzPZWCzuU9x5Mt6ckOKhzn6GrRQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7691

On 23.11.2022 16:45, Roger Pau Monne wrote:
> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -864,6 +864,26 @@ static UINTN __init efi_find_gop_mode(EFI_GRAPHICS_OUTPUT_PROTOCOL *gop,
>      UINTN gop_mode = ~0, info_size, size;
>      unsigned int i;
>  
> +    if ( (!cols || !rows) && gop->Mode->Mode < gop->Mode->MaxMode )
> +    {
> +        /* If no (valid) resolution suggested, try to use the current mode. */
> +        status = gop->QueryMode(gop, gop->Mode->Mode, &info_size, &mode_info);
> +        if ( EFI_ERROR(status) )
> +            PrintErr(L"Invalid current graphics mode\r\n");
> +        else if ( mode_info->PixelFormat < PixelBltOnly )
> +            return gop->Mode->Mode;
> +        else
> +        {
> +            /*
> +             * Try to find a mode with the same resolution and a valid pixel
> +             * format.
> +             */
> +            cols = mode_info->HorizontalResolution;
> +            rows = mode_info->VerticalResolution;

For these I think you want to replace cols and rows individually, i.e.

            if ( !cols )
                cols = mode_info->HorizontalResolution;
            if ( !rows )
                rows = mode_info->VerticalResolution;

whereas ...

> +            depth = 0;

... this case looks more complicated, as 0 is also already legitimate
as a value to come in. By zapping a non-zero incoming value you may end
up switching modes _just_ to alter depth, and then you may not fulfill
what was requested. For now I think depth simply wants leaving alone
here (and perhaps using the current mode's value if the incoming value
was zero, thus eliminating the need for a mode change in certain cases).

In a separate change we might then enhance this, e.g. by finding a
supported mode matching geometry but only coming close for "depth".

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:38:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:38:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453754.711348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CcC-0005ut-N1; Mon, 05 Dec 2022 14:38:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453754.711348; Mon, 05 Dec 2022 14:38:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CcC-0005um-K7; Mon, 05 Dec 2022 14:38:40 +0000
Received: by outflank-mailman (input) for mailman id 453754;
 Mon, 05 Dec 2022 14:38:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Al6T=4D=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1p2CcB-0005ub-E1
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:38:39 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81656b44-74aa-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 15:38:38 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 n9-20020a05600c3b8900b003d0944dba41so5474024wms.4
 for <xen-devel@lists.xenproject.org>; Mon, 05 Dec 2022 06:38:38 -0800 (PST)
Received: from [192.168.6.151] (54-240-197-232.amazon.com. [54.240.197.232])
 by smtp.gmail.com with ESMTPSA id
 u12-20020a5d434c000000b00241bd177f89sm14163461wrr.14.2022.12.05.06.38.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 05 Dec 2022 06:38:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81656b44-74aa-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:from:to:cc:subject:date:message-id:reply-to;
        bh=ta40CWGoCabBWWb+cWxjc/DA/QadHc37Z/Nw+3VKEPo=;
        b=YbJlcoZQn6wCdbgM7zjho+xcIKqWbDhFahrDfQiy074ndPa+/nbyOLgwXV+fVJoROV
         xMgEsBqsKQoLUsPOuqBBFUFSbvGEBrRiLLAEEtqd8wINrSnSSvPN5uInUwCJ+gGsBhwt
         DhTFIC1w1OK9gVwCV0TXTpjKdwl2+cM8NhMitQMUxwEP0OfOf5XTKzyuVgjhF17U8iha
         EVPDxLvYxrVT8N9c8LFLHovkaA9/lz4eocFSnfIk3Y8HK23vM+cGFIsBj9eDRbVb4l5k
         qgv7e+9+YF8l+LTF5UYDKDEma8nmpOONindsoUv2qhUkq4NDnWD/+FrHFmRDYBVBOOdf
         QGHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ta40CWGoCabBWWb+cWxjc/DA/QadHc37Z/Nw+3VKEPo=;
        b=NdWrbv/QXq/bndfTiVCjtAaSazZq37wn9ucxSKx9795OCaPsqAG0BzAmGTN/EeqF6L
         7smw5UNDHDonc3BTVjxuSWFm1ZauQwfZdsrSvTsJCN7HM6vJlUBoFrDqQGGA6FjecI9q
         hfRQGmHx0nXv3M06KllOlNLaY7ooC6iRjIVUx7Mzfo9E2R66wI7j1Z7IeH+qvOGLFNlH
         in6oTZcnB1rghdcmNBjtFrTP5AdcMWW++nPizQQIxJJ7YsYP2cGZs7mcwou40+HLgDyT
         a26+3Ki88yvRdmMvEiT1bwmPmznv/uLMhU3YLj6UJyDjp2Bb3FO0mN4rZCiPEMNbaIH0
         SaCQ==
X-Gm-Message-State: ANoB5pmcNEd0LFLNEbgZo8KXOVHT8676HYrOQoTZzILGU787tqBK5Taf
	DkBpmDtboNV1oHKdgjsl5Pc=
X-Google-Smtp-Source: AA0mqf72DGuSWzCpUwe9yDc2iLM2n+0etmet0hOZh30STSilHGxDXbYthNWIGCHigIPgM/UOR0Qg1Q==
X-Received: by 2002:a05:600c:3514:b0:3cf:e0ef:1f6c with SMTP id h20-20020a05600c351400b003cfe0ef1f6cmr52359780wmq.75.1670251117813;
        Mon, 05 Dec 2022 06:38:37 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <ef302bc7-5c55-2bb5-d159-27fd6a8ed9df@xen.org>
Date: Mon, 5 Dec 2022 14:38:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH net] xen/netback: don't call kfree_skb() under
 spin_lock_irqsave()
Content-Language: en-US
To: Yang Yingliang <yangyingliang@huawei.com>,
 xen-devel@lists.xenproject.org, netdev@vger.kernel.org
Cc: wei.liu@kernel.org, davem@davemloft.net, edumazet@google.com,
 kuba@kernel.org, pabeni@redhat.com, jbeulich@suse.com, jgross@suse.com
References: <20221205141333.3974565-1-yangyingliang@huawei.com>
Organization: Xen Project
In-Reply-To: <20221205141333.3974565-1-yangyingliang@huawei.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 05/12/2022 14:13, Yang Yingliang wrote:
> It is not allowed to call kfree_skb() from hardware interrupt
> context or with interrupts being disabled. So replace kfree_skb()
> with dev_kfree_skb_irq() under spin_lock_irqsave().
> 
> Fixes: be81992f9086 ("xen/netback: don't queue unlimited number of packages")
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>

Reviewed-by: Paul Durrant <paul@xen.org>


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:40:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:40:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453766.711358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Cdi-0007Ng-46; Mon, 05 Dec 2022 14:40:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453766.711358; Mon, 05 Dec 2022 14:40:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Cdi-0007NZ-1N; Mon, 05 Dec 2022 14:40:14 +0000
Received: by outflank-mailman (input) for mailman id 453766;
 Mon, 05 Dec 2022 14:40:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2Cdg-0007Mc-MK; Mon, 05 Dec 2022 14:40:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2Cdg-0001AR-Jt; Mon, 05 Dec 2022 14:40:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2Cdg-0003xI-4w; Mon, 05 Dec 2022 14:40:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2Cdg-0001JD-4T; Mon, 05 Dec 2022 14:40:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FF8ATnyjI/qtNo9IT6KDvnZJ96J+3l/8zvsoG3UNkRI=; b=LgkdYgyrTnW+E0GNOAZYZX8OVG
	GRCQY9+BhtNhtQ9RiS8yxaghPwNQTbei8nblrigGn4ASpU1pgP5ic2A/Rf9pq0gXd+myoeyoYCidF
	J1ACojKaTz0fYB+NASPk3HYPMtKMMsiFVxN1lkq7A9ZRdHFKYKK9R4Wpz7qaAZKNqYuY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175048-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175048: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=15241c92677a027694e609b55a77ae5ba3616104
X-Osstest-Versions-That:
    xen=68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 05 Dec 2022 14:40:12 +0000

flight 175048 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175048/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  15241c92677a027694e609b55a77ae5ba3616104
baseline version:
 xen                  68f551ec5fa9ad96397a62cd463a7ff7e4db72d0

Last test of basis   175035  2022-12-03 19:03:17 Z    1 days
Testing same since   175048  2022-12-05 12:03:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   68f551ec5f..15241c9267  15241c92677a027694e609b55a77ae5ba3616104 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:45:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:45:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453784.711370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Cj0-0000GG-Oq; Mon, 05 Dec 2022 14:45:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453784.711370; Mon, 05 Dec 2022 14:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Cj0-0000G9-Lk; Mon, 05 Dec 2022 14:45:42 +0000
Received: by outflank-mailman (input) for mailman id 453784;
 Mon, 05 Dec 2022 14:45:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUwf=4D=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p2Ciz-0000G3-5J
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:45:41 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b94e6ff-74ab-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 15:45:38 +0100 (CET)
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DB9PR08MB9756.eurprd08.prod.outlook.com (2603:10a6:10:45f::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 5 Dec
 2022 14:45:35 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 14:45:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b94e6ff-74ab-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AQUaHX5lPzrLkNvGJAL1Ba+h/YkWy212aGU/duMxCuWZVw3mscYV2saH6pXYQDRbLWhwqBv/1WajRRfiajhmkwPQsdjBtSu+aJYS1CIOmxauux9aK6c5ap/x84SDdcy8r+3699SBdIky5VhSvqeD6RCAl6xH8hADtg3zl981oM07+WB4i0tqynxpaXd/EZdwzBF2CYksx5JeDB1aLzfTGy2pRXCCTgtmZGWsAs9Zv/P7Oa52gWlwj+5qW5QgIw++wHpftrBDByWwdey/NBDVOqmkHSbe2cUaY4zan/F4t+JKqHznnQErT/U7FWjRsd9hzcBsFKiaG0KbBZSh8OMzNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Rh80Bkr6hy3oFrqLRwscaJHjeAfsYCw9hJNKpfbImyA=;
 b=S7wdJPS72KW+JDHuqc3K8dTSpAX8Nw29ZiT5lG9Ytdsjlklb0rhmyQdqntZHhW2I4SgTWapQeaNVW5lbJDCP5QtrkM74Vzt25/AzZ8zdVXhWLNAvYwZMIMJ+psE6tJt2cRsDTEpwGXdF9BvwqGE68rTRQXvXzC8WNZSb3vaTw+/T7fvLKUJ2hxPHJbFsL4PMZrJlo5Us98pp4RQ2a+l2OD4autifxG/b0IONxyHyXMarx872izbtrn4z1mHvdRHsqP+pnf+7CC+NxQSw7jRQSD+kslZphzQ9wfWdgor3+HolDRwxf9/AZz3l1OF4ffwPN/1Ef9lNonvpZfRl1GYXcQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Rh80Bkr6hy3oFrqLRwscaJHjeAfsYCw9hJNKpfbImyA=;
 b=viiafI6WUEUG4vG7GEcb064vVOLBEQGGBRAHjsp+WO1xsjQkdv89ayaZOSLLG6aagFAl4gr+hiatNy7Gi8hNhfnolOn/CYASxkIGAePVsxpgwqukPDPnRYeNQQB20LDw7e19iuS7Q29zcCjQng8ziCYzcyuIz/BpG6RC4SQ8l7c=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, George
 Dunlap <george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>,
	Juergen Gross <jgross@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH 06/21] xen/domctl: Add XEN_DOMCTL_CONFIG_VIOMMU_* and
 viommu config param
Thread-Topic: [RFC PATCH 06/21] xen/domctl: Add XEN_DOMCTL_CONFIG_VIOMMU_* and
 viommu config param
Thread-Index: AQHZBZ8CXEc5ZItnGkaj2GP9yveEkK5aSbwAgAUbbwA=
Date: Mon, 5 Dec 2022 14:45:35 +0000
Message-ID: <29CFB625-A8A8-4CB8-9808-82DA5B6B8611@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <fc259a3c780aeb312ea1043703add9e9bca1a7e1.1669888522.git.rahul.singh@arm.com>
 <a995f3e8-eb40-36d9-9d3e-95bfc3e7f75e@suse.com>
In-Reply-To: <a995f3e8-eb40-36d9-9d3e-95bfc3e7f75e@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7158:EE_|DB9PR08MB9756:EE_
x-ms-office365-filtering-correlation-id: f4b3a7ee-2773-4610-e5a3-08dad6cf5e2d
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 YZ6rFOKw0OStTV3bKIlLtHT5SRx0r4giiAqwKI6aI+e+ygdydm09FHfVKbfkEAhpbbhVzNvtb8jV+GPWUxuk3H/81AX9wSVITifAXz0+QfpJDoWB9gGY2tVnQrzW9P3MUhjo+Wmm2Boc3ama791nkYTqmGDs9tQCm+BXJoUeiXOf+c6LLWsZYvPv9EVyuEHSndv1YHT2QMazVOEDufxaPFcT7316BRwKqbz7YnvA66Ebld3T9iyRaVL6GprGNLIfUJDfpNUkzcbMBL8bEScd7XCobZcAZrLWqjsle07SPbkSudNss9HoEvTqWuUW0cgWNpooOiUB4v15alu2p9QDLw7fUKYpqDFgfLR5E5Vesv4C4a7acjUtgHFr2nFx8c6SxDVkTOkB7kaqlq8qdrA0MtfoSWZHxxzwbCHGq54ZNN3Qx4o2Em1dGjha6bEs1xlyNXb/zTtJ4jSN8yfURJB3go+PSjFo/NVTJQTV364OuRoau6riso+uTxyUHcVxkdrYtnf982QcyWpkw4owUBC3UFqSpXbg7C66USVq7aCsVpiLYWV3JMhJvhSshgQ3OAU49EOg2QVEKXiZQxnkyFVlH1/XKaWKP8FpQrM53Ucl8fIigYSHfOrxZ/g4WLxn9/y57FV5fieXOiXM1JPCpfHMKXXbrZndDEj3ay5oH1qm5qo9MDp4c0zTe1v8Sp6/KWpfZQ6V75loGyMQzxNHJE6AMoa6HNJBoQXi7xMoNtHBgVY=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(39850400004)(366004)(346002)(136003)(396003)(451199015)(36756003)(71200400001)(83380400001)(316002)(6506007)(186003)(6486002)(6916009)(54906003)(6512007)(26005)(53546011)(2906002)(33656002)(86362001)(66556008)(66476007)(64756008)(76116006)(66446008)(66946007)(4326008)(122000001)(38100700002)(8676002)(478600001)(2616005)(38070700005)(41300700001)(8936002)(91956017)(5660300002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?IyWu9d0y7pYOAyA/iA0IHOnSW6/A7qXTRpxtSgQ4Nt0+R3V05foMCz05iySm?=
 =?us-ascii?Q?Ev684pMgS5caYT+/xRnwesbTnU5pm6xb7DaZAvVzE4kPKEUidQrsk6N48h9u?=
 =?us-ascii?Q?e7IGliKRoVKumCSJyVEpjFEvXN6Zqo/uHwh6YFTqRzfcy+Ix9D91Pw940LkI?=
 =?us-ascii?Q?7C17TBiw4Yf55AsnM0LyEaQ1d8iSLJ0IobGkt18oDdsXBvpP5IWT7+4k/sAl?=
 =?us-ascii?Q?nBIYQ9w5SPG+YK01lPYFqM1NfWRE3t1qPck1xa6EKh622c4/gbU0HMmdF+i3?=
 =?us-ascii?Q?6Go95mUhRT9rktJhIWmvRqxGYwzBrQ52jl3yXoLJ2YH1BDk4jSH2dJrS/Amn?=
 =?us-ascii?Q?gautlFnZ0D20mB7M+YfQUvUxJ/+fOH0un6Upw7GSBl+i07ybMqiiNjRPKTqn?=
 =?us-ascii?Q?WLcdx0fPKqBItQ/jDqFRxm17y+Daukuqd5P3Rn4447P1XQ6bdA0ejH0aOW27?=
 =?us-ascii?Q?oa8SSeuWP6OLOTmatVDW0yqnDxLW5ViextBsjJNr1GH6dLNJzOK2M5QyOpsh?=
 =?us-ascii?Q?KfyM/HTREbgattrcUR5DYxwMWbJSDoACFf+XvhGVu6HYQ6rX4NBvb/Qb//Xm?=
 =?us-ascii?Q?glWbW5u1+UT0VLuphXyPvDwv6L5iiMCmKPEfbHata7Fjpr8Y4AqYkTKGZ+kY?=
 =?us-ascii?Q?GSk0dAGgR4KHo0VLWXrve5DKY10ZlolOpBdRVDFQIIQyB7P1oU7xACKlFCl/?=
 =?us-ascii?Q?o2adNazc5+f+lAPpd3hZu674RsnSaaeHHyJVjGOCSCIoyli1AI48/2rc0skN?=
 =?us-ascii?Q?TscMhfpeLhb86la3i6DYU4+wXIkXAwueb8Mrq+KYbAumfScoduJaYBGjV1TW?=
 =?us-ascii?Q?2ODwz2RaEKY65qpT3ITUbgqS3QOrSfQHeF9BbEit13dew3lO5jV/p/cUdnps?=
 =?us-ascii?Q?1q07QBjeVWGOSb7EDpeYGFCdfBoBiUIo5yxHnqmhrEN5BHGStsC7uUnkMarA?=
 =?us-ascii?Q?P1S4rsdo1ggQrKErlU1Ph9bkAIMkNsbngUeY+dcnvZ1L3kRInIKVUSvb20nY?=
 =?us-ascii?Q?7Bbbc28gl99G+CXqnN0Z1ftSPoLxIHYuT+RtBMGSE+0mZ+mRv+pzfLnSA8jz?=
 =?us-ascii?Q?abEH0CtMu9xKAQY0q/SuB32mvbBcUZKSC0LHhcbNIrKOJ3/plXg1rY/KYELW?=
 =?us-ascii?Q?pGr8qnPSilji+tQtb6W//+zSgb3oR6Esfh3oxHLjv3QVmZnJXlaUY6WSpMEX?=
 =?us-ascii?Q?uHi6UYpqHSAEHphVG9TtYBKrq8gx9Ol3VbeFEciQeGY3HJqclwDasISfbLG0?=
 =?us-ascii?Q?IH5HzB0CZza33hKDlGJn4l5RZBHi5MTQpicDOoqkfu2FPelvQcZoJl87R8Sl?=
 =?us-ascii?Q?21Zww0bKVXaurYA9qNMafj9moQBuFCDWj492A2yowS4yX4jP2e+NbPJ7dMW4?=
 =?us-ascii?Q?iox6biKBgYZV1EPH5klJr5808lKjEBkbvuQNoRFNZ5490z/xMa7jGoL5gyPa?=
 =?us-ascii?Q?/+LLLihcjZ7i2gaTZmaxZ6M+XzqBS0L44n04h+SlNzk4edhHGfJuN+WPu78r?=
 =?us-ascii?Q?l+XFtn+B5Rz3dAKVoBxFi+Q2UqVlo18sm+uqr0cG25q9pJRd0rAieu5pNuVb?=
 =?us-ascii?Q?WJjGGkiBeew43s2CZKJKjE5vpGANDCjO4kH1XtOo?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <2E632C57C4F13941BCDD377125521064@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7158.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f4b3a7ee-2773-4610-e5a3-08dad6cf5e2d
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2022 14:45:35.2518
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 7E1HeaSv2P5BYDO5keSaWmiqpZ4e65BRaFZuh1P/jRKEqviTy6t536jNkywXEHmtF2U51a9cmbJX8NmUIbU12g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9756

Hi Jan,

> On 2 Dec 2022, at 8:45 am, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 01.12.2022 17:02, Rahul Singh wrote:
>> Add new viommu_type field and field values XEN_DOMCTL_CONFIG_VIOMMU_NONE
>> XEN_DOMCTL_CONFIG_VIOMMU_SMMUV3 in xen_arch_domainconfig to
>> enable/disable vIOMMU support for domains.
>>=20
>> Also add viommu=3D"N" parameter to xl domain configuration to enable the
>> vIOMMU for the domains. Currently, only the "smmuv3" type is supported
>> for ARM.
>>=20
>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>> ---
>> docs/man/xl.cfg.5.pod.in             | 11 +++++++++++
>> tools/golang/xenlight/helpers.gen.go |  2 ++
>> tools/golang/xenlight/types.gen.go   |  1 +
>> tools/include/libxl.h                |  5 +++++
>> tools/libs/light/libxl_arm.c         | 13 +++++++++++++
>> tools/libs/light/libxl_types.idl     |  6 ++++++
>> tools/xl/xl_parse.c                  |  9 +++++++++
>> 7 files changed, 47 insertions(+)
>=20
> This diffstat taken together with the title makes me assume that e.g. ...
>=20
>> --- a/tools/libs/light/libxl_arm.c
>> +++ b/tools/libs/light/libxl_arm.c
>> @@ -179,6 +179,19 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc=
,
>>         return ERROR_FAIL;
>>     }
>>=20
>> +    switch (d_config->b_info.arch_arm.viommu_type) {
>> +    case LIBXL_VIOMMU_TYPE_NONE:
>> +        config->arch.viommu_type =3D XEN_DOMCTL_CONFIG_VIOMMU_NONE;
>=20
> ... this constant doesn't exist yet, and hence this would fail to build
> at this point in the series. I notice, however, that the constants are
> introduced in earlier patches. Perhaps the title here wants re-wording?

Yes, I will fix the commit msg.

Regards,
Rahul



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:47:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:47:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453790.711381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Cky-0000ow-4O; Mon, 05 Dec 2022 14:47:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453790.711381; Mon, 05 Dec 2022 14:47:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Cky-0000op-0y; Mon, 05 Dec 2022 14:47:44 +0000
Received: by outflank-mailman (input) for mailman id 453790;
 Mon, 05 Dec 2022 14:47:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p2Ckw-0000oh-K1
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:47:42 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c4507d18-74ab-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 15:47:41 +0100 (CET)
Received: from BN0PR08CA0021.namprd08.prod.outlook.com (2603:10b6:408:142::16)
 by SA1PR12MB6797.namprd12.prod.outlook.com (2603:10b6:806:259::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Mon, 5 Dec
 2022 14:47:37 +0000
Received: from BN8NAM11FT086.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:142:cafe::ff) by BN0PR08CA0021.outlook.office365.com
 (2603:10b6:408:142::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Mon, 5 Dec 2022 14:47:37 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT086.mail.protection.outlook.com (10.13.176.220) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.13 via Frontend Transport; Mon, 5 Dec 2022 14:47:37 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:27:02 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 5 Dec 2022 07:27:00 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4507d18-74ab-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I8aBEn4sTthDS7VfhuyWdxo/1YCfOTWnj6fG3CcW6qPw/UFlIdGj06Nac/8DMfmwumfk+vU1rmGg9Dk2DclmL23FYymJ4hKN4cVdDPJyyR/6a3mfdLm3mYpUHeTECPbJbCxib0ICANJqSIpltRtluG3UKIV+l1pO1UmVbRYmwBhjHtSQjZjVULO63OOjf1X3xRZ/CoCy1lNjTkpWVHs6gKdZ/631a31EbTYEFZwnjkapJQsGfAqUIr7HwRtFJnA491A4f8eaxYwFtc8ILHDQaHsFbR2V63vu/8Lhq4PtyERrVWAV1v6ruafKmXwfuE7PtZjLm87dHFXoVWypiaBKrg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D7jRyeelaoFeHR1J25tVrU6dQKXjWC8IP5yvkiKz9nw=;
 b=davqFUNXXFRTngJt3K791MuPfa2vvdeIfP8viV6e9No+w59Gt37UT/pWKTMe6M6+M+lEsIq/Ue5C+xTBp4CwpXkrHyRlZkRTDS8f8Mj9DeK9vAnMBTNA/uPJgASznqkdqEM5nN+6etZrczrwy2izEjYcHxdAxRNurXH/Mr0gbnsuZhz3cSiH6siIcqNb5AiVMOmptfkymGDvXZw1FlKjz3/MrNmuWOwlyVOwb2PS62cVG34J04qh9dEvhr9ndu3J55UGsM4DUJsiBa2bNCExYbi0v55i8LJtRiALLAvsldvOmSslP8p0uJnX4yHXyAbudKJMzDZt1LSPoS8iTd4aGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D7jRyeelaoFeHR1J25tVrU6dQKXjWC8IP5yvkiKz9nw=;
 b=oRuMlW0N0Aa5v1gs/DTlJwPC/DY7+BkP3fdtY4jpRAfxavcd6WMYNeAD4d4amgEXvjuoCQ+41f0hyygVY/H0Moir+Ttq+VcvK5fLk662z4PE53gKzLpieQipgYkAsGr27qso4SAxjQJvF8F+3byiR2T63AZbnaVtSymCYBl0A1k=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <burzalodowa@gmail.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 03/11] xen/Arm: vreg: Support vreg_reg64_* helpers on AArch32
Date: Mon, 5 Dec 2022 13:26:29 +0000
Message-ID: <20221205132637.26775-4-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT086:EE_|SA1PR12MB6797:EE_
X-MS-Office365-Filtering-Correlation-Id: 952e0f3f-7674-4d46-a662-08dad6cfa6c3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rePy4W4OS3UHnJVU7148FOn6w+2bW+1P4BBDSar2WgE3TUrHK/lIcWeD8UCGIveSzcQn/FQvhSi/mMzmp/dmdT8GMs6l0aDQUtQ85fcUu/+/VXH6Azz9ZEtQtHqXiz2ExbovF2mz9dlhPdqjgfmbuEKJ6Obj4FSO+MqG9JAnFC3b1v13XCx2UPol7FUTpOb+uKyRt6MVu7aPPwSy2cQIcbHiT9oC20pFxn5RLDtjm0ynwPpa9ZiDrx5x9RkRJKFWh8/ia2IVM3gBELu0PhZdVSSIYjk9XvwIAjVW3oj6UlLmlcah10nVNmAp4dgxan2v8aCeDgx3UWGr1YL0X5jEKVHu2+ktrrAMsqxbi05WGc9dsgX1/5Yu9N14Qqdq01LMncRK17mg32EgzxpqfqTZuGAifXe28YQ3h/okHQmtG5wdG5VQOPM2J+29JteTDP77Ns4/k/063+CqzoZM6EqQicM51lD1rPIP+4v6oiYMEDdt6sPfQpA54cAHPdfLFKvEUZHow6obkEBrqQf1b+PW/94g7qdnzEdRkgBs8EB5wZfA/LoDtK2iFuVMF7IdX5zMk/8zTZdmCJyVQuzbc4/20+15zA4Il0dukWQBhM7nWf2fFkFKnqOV4dsiPCHuglM3Dp/AQKJpcc++D10GYiCdEzDAs9kMGfso35ZerhOVKi5Xkcjvkxr5Z6WqY6Vh/baLPVrKD8LRwRb/5tEYQLzJs1VMQwZH9kXJcDV0sOP5jm8=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(136003)(39860400002)(346002)(451199015)(46966006)(36840700001)(40470700004)(36860700001)(356005)(2906002)(82740400003)(5660300002)(336012)(103116003)(47076005)(86362001)(81166007)(40460700003)(426003)(83380400001)(26005)(1076003)(186003)(478600001)(6666004)(54906003)(6916009)(8676002)(40480700001)(4326008)(316002)(8936002)(41300700001)(70206006)(2616005)(36756003)(70586007)(82310400005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 14:47:37.0292
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 952e0f3f-7674-4d46-a662-08dad6cfa6c3
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT086.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6797

In some situations (e.g. GICR_TYPER), the hypervior may need to emulate
64bit registers in AArch32 mode. In such situations, the hypervisor may
need to read/modify the lower or upper 32 bits of the 64 bit register.

In AArch32, 'unsigned long' is 32 bits. Thus, we cannot use it for 64 bit
registers.

While we could replace 'unsigned long' by 'uint64_t', it is not entirely clear
whether a 32-bit compiler would not allocate register for the upper 32-bit.
Therefore fold vreg_reg_* helper in the size specific one and use the
appropriate type based on the size requested.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <julien@xen.org>
---
Changes from -

v1 - 1. Remove vreg_reg_extract(), vreg_reg_update(), vreg_reg_setbits() and
vreg_reg_clearbits(). Moved the implementation to  vreg_reg##sz##_*.
'mask' and 'val' is now using uint##sz##_t.

v2 - 1. Use 'unsigned int' for 'shift' variable.
2. Updated the commit message.

v3 - 1. No changes. Added Rb and Ack.

v4 - 1. No changes.

 xen/arch/arm/include/asm/vreg.h | 86 ++++++++-------------------------
 1 file changed, 19 insertions(+), 67 deletions(-)

diff --git a/xen/arch/arm/include/asm/vreg.h b/xen/arch/arm/include/asm/vreg.h
index f26a70d024..d92450017b 100644
--- a/xen/arch/arm/include/asm/vreg.h
+++ b/xen/arch/arm/include/asm/vreg.h
@@ -89,106 +89,58 @@ static inline bool vreg_emulate_sysreg(struct cpu_user_regs *regs, union hsr hsr
  * The check on the size supported by the register has to be done by
  * the caller of vreg_regN_*.
  *
- * vreg_reg_* should never be called directly. Instead use the vreg_regN_*
- * according to size of the emulated register
- *
  * Note that the alignment fault will always be taken in the guest
  * (see B3.12.7 DDI0406.b).
  */
-static inline register_t vreg_reg_extract(unsigned long reg,
-                                          unsigned int offset,
-                                          enum dabt_size size)
-{
-    reg >>= 8 * offset;
-    reg &= VREG_REG_MASK(size);
-
-    return reg;
-}
-
-static inline void vreg_reg_update(unsigned long *reg, register_t val,
-                                   unsigned int offset,
-                                   enum dabt_size size)
-{
-    unsigned long mask = VREG_REG_MASK(size);
-    int shift = offset * 8;
-
-    *reg &= ~(mask << shift);
-    *reg |= ((unsigned long)val & mask) << shift;
-}
-
-static inline void vreg_reg_setbits(unsigned long *reg, register_t bits,
-                                    unsigned int offset,
-                                    enum dabt_size size)
-{
-    unsigned long mask = VREG_REG_MASK(size);
-    int shift = offset * 8;
-
-    *reg |= ((unsigned long)bits & mask) << shift;
-}
-
-static inline void vreg_reg_clearbits(unsigned long *reg, register_t bits,
-                                      unsigned int offset,
-                                      enum dabt_size size)
-{
-    unsigned long mask = VREG_REG_MASK(size);
-    int shift = offset * 8;
-
-    *reg &= ~(((unsigned long)bits & mask) << shift);
-}
 
 /* N-bit register helpers */
 #define VREG_REG_HELPERS(sz, offmask)                                   \
 static inline register_t vreg_reg##sz##_extract(uint##sz##_t reg,       \
                                                 const mmio_info_t *info)\
 {                                                                       \
-    return vreg_reg_extract(reg, info->gpa & (offmask),                 \
-                            info->dabt.size);                           \
+    unsigned int offset = info->gpa & (offmask);                        \
+                                                                        \
+    reg >>= 8 * offset;                                                 \
+    reg &= VREG_REG_MASK(info->dabt.size);                              \
+                                                                        \
+    return reg;                                                         \
 }                                                                       \
                                                                         \
 static inline void vreg_reg##sz##_update(uint##sz##_t *reg,             \
                                          register_t val,                \
                                          const mmio_info_t *info)       \
 {                                                                       \
-    unsigned long tmp = *reg;                                           \
+    unsigned int offset = info->gpa & (offmask);                        \
+    uint##sz##_t mask = VREG_REG_MASK(info->dabt.size);                 \
+    unsigned int shift = offset * 8;                                    \
                                                                         \
-    vreg_reg_update(&tmp, val, info->gpa & (offmask),                   \
-                    info->dabt.size);                                   \
-                                                                        \
-    *reg = tmp;                                                         \
+    *reg &= ~(mask << shift);                                           \
+    *reg |= ((uint##sz##_t)val & mask) << shift;                        \
 }                                                                       \
                                                                         \
 static inline void vreg_reg##sz##_setbits(uint##sz##_t *reg,            \
                                           register_t bits,              \
                                           const mmio_info_t *info)      \
 {                                                                       \
-    unsigned long tmp = *reg;                                           \
-                                                                        \
-    vreg_reg_setbits(&tmp, bits, info->gpa & (offmask),                 \
-                     info->dabt.size);                                  \
+    unsigned int offset = info->gpa & (offmask);                        \
+    uint##sz##_t mask = VREG_REG_MASK(info->dabt.size);                 \
+    unsigned int shift = offset * 8;                                    \
                                                                         \
-    *reg = tmp;                                                         \
+    *reg |= ((uint##sz##_t)bits & mask) << shift;                       \
 }                                                                       \
                                                                         \
 static inline void vreg_reg##sz##_clearbits(uint##sz##_t *reg,          \
                                             register_t bits,            \
                                             const mmio_info_t *info)    \
 {                                                                       \
-    unsigned long tmp = *reg;                                           \
-                                                                        \
-    vreg_reg_clearbits(&tmp, bits, info->gpa & (offmask),               \
-                       info->dabt.size);                                \
+    unsigned int offset = info->gpa & (offmask);                        \
+    uint##sz##_t mask = VREG_REG_MASK(info->dabt.size);                 \
+    unsigned int shift = offset * 8;                                    \
                                                                         \
-    *reg = tmp;                                                         \
+    *reg &= ~(((uint##sz##_t)bits & mask) << shift);                    \
 }
 
-/*
- * 64 bits registers are only supported on platform with 64-bit long.
- * This is also allow us to optimize the 32 bit case by using
- * unsigned long rather than uint64_t
- */
-#if BITS_PER_LONG == 64
 VREG_REG_HELPERS(64, 0x7);
-#endif
 VREG_REG_HELPERS(32, 0x3);
 
 #undef VREG_REG_HELPERS
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:47:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:47:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453791.711392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ClC-0001AO-Gb; Mon, 05 Dec 2022 14:47:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453791.711392; Mon, 05 Dec 2022 14:47:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ClC-0001AH-DQ; Mon, 05 Dec 2022 14:47:58 +0000
Received: by outflank-mailman (input) for mailman id 453791;
 Mon, 05 Dec 2022 14:47:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p2ClB-0000oh-OX
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:47:57 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062b.outbound.protection.outlook.com
 [2a01:111:f400:fe59::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cdbd5fcf-74ab-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 15:47:57 +0100 (CET)
Received: from BN7PR06CA0042.namprd06.prod.outlook.com (2603:10b6:408:34::19)
 by DM4PR12MB5280.namprd12.prod.outlook.com (2603:10b6:5:39d::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 14:47:53 +0000
Received: from BN8NAM11FT083.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:34:cafe::dd) by BN7PR06CA0042.outlook.office365.com
 (2603:10b6:408:34::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Mon, 5 Dec 2022 14:47:53 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT083.mail.protection.outlook.com (10.13.177.75) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.14 via Frontend Transport; Mon, 5 Dec 2022 14:47:53 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:27:19 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 5 Dec 2022 07:27:18 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdbd5fcf-74ab-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bS4hSfbrelHttQWuFtSJhpjPEd+6qyph1H0p1ej8t/inKnxeXrUMNkk0vPSjU4xWjknNXHliFvi2o2ajqMFkwjjRCZgO0U+m+tawv0XHtn/ryIzVn8Nbvo+jqmRmiylw/DMkE83li16JG9FI8EFAMrm/qsdBkgaqup3V/JJl7SaUc1g06m463uLJGfvbOPfT8kLeFStVur88M9KybSDIIjUsX1SXnK6k1skVcY7kVDjA4JA8Hw3XAR4Lca2tEZZmXeoGJnIQp1jw3AK2up5D+LwTXypCRyJBCmkq2r8XGqg1Bm8G0cQgey+MA3J8qnL104nfGZfheDrhcBgAOQuUHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZbBy4ttF/x3KcPy08K/eQwu1bbiSIC1Vmw+/9aMnPtA=;
 b=XfWyw6wnH68IRsxu5i/x4MVWrOk3NQwNh/zrP6tPmKCxyXwwW0bZX9nfyFzDBgTUcnEoCZXrOHNHW+HpFhx/KOzOuGMjT9QW6cx4qHL2BH3qRG4r8hiCCxXFHh9qdxVeZJh4V3pFRMN/La8qKJ9kfMoPKoV0JUA0vpLxJ5Ft0QmP+KMe6oQHuktNAhiJL/xETHxi6ugtI5ffvsCoBjJdDeFacvfUeAXhJD2/hfmogcn9QqOij2vePMRXyjgpRtF7dyrrO8Gp7OCH0K97gJCkjjOEFycSWl0gpKxLg7GUTOU4l+H549TOSbQAHIcNlYgSLEpWAEfpM91ie1w8BjIsvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZbBy4ttF/x3KcPy08K/eQwu1bbiSIC1Vmw+/9aMnPtA=;
 b=xyAmpNaTzqFfDB8BROW9BgqjSIDo6TenvDeXNSjTukvCGX2PqX9q4FZWRYsWMliOtpVENLnxYthF+imIXZK4taXUNh+/aX0Xl4mUb9awtfiWVIWCkZcZQPfbRS1no+7+Kv8e9+q0N/CvLiJqrzOlqbiMoT+0R/5z9CnSPdCAEiQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <burzalodowa@gmail.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 04/11] xen/Arm: vGICv3: Adapt emulation of GICR_TYPER for AArch32
Date: Mon, 5 Dec 2022 13:26:30 +0000
Message-ID: <20221205132637.26775-5-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT083:EE_|DM4PR12MB5280:EE_
X-MS-Office365-Filtering-Correlation-Id: 0568ba9b-2722-4525-152c-08dad6cfb082
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0pYL+xASgdD4C4AzsJe/vYoKy7G6PkqGVu/JZcr2+tnqmcOAelwtEnPzIor4Ea651voxFgFLegnQRviljNNqStG8tlQJHLAYHGoz94b/a/Vj9O1mxXWPjfFxwS5AbZtOiICwf1+1AjfRWujDZ8jAjg0jZcqLNHOaWnFQS1ktDFpTJvPWNFpJ5dwomtob3ch/0imXBZvwkmwxKsc//+QllfUE1nAv3Fb9y2ROI6fP6gzjwLYIfy/ebJWHEB4kSh4LHmBkhDGk+ZDME+Avs2xlgs8ycYll30R1OvZeVR+55N0BXs5944thuMug54C7fIMKAfuXDDozZOzZtygmpVoFuZ7viu7Xtj2JCjmgFhZZ6xB5v4wH2G8CH33bEuWkibfC4VjLSaa3MXcPsGh5z9rrxKRSslWWbkP6Q1Xq5XHGsG0Sh2qJNVj+XoPmEMNOPWV0IXk+lMfnqi/dvFeg+eNqP4EFiSi6B4NkDNRCZv14Bin703uj9Wh/0EnfSTQI6IvU68/lUr4CKXFgCgBtNuWiooGnXS5ygApxoD8MtlNp9Ywc9TcWDB8AZWn0bTElS7Rxf8VHzENQA8zqgGCXp2yHeQYqblsSLfr2aNxymwYl6Dm1EK2dMIG0VTlCKXn78S2Ag/nWwGGjH6fDWyRFMklAJMZ3wuonXY+Tg5Ud4YjZK0JTNeWz36P0Jtn9HkYBvdoZtW9oJtlIHSSVCfbL6uj6VjXOWo15tYKEfx6VyPXfz9k=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(396003)(39860400002)(346002)(376002)(451199015)(46966006)(36840700001)(40470700004)(1076003)(336012)(186003)(47076005)(2616005)(426003)(82310400005)(82740400003)(41300700001)(5660300002)(4326008)(70206006)(8676002)(36756003)(70586007)(83380400001)(86362001)(81166007)(356005)(478600001)(40460700003)(40480700001)(103116003)(6666004)(54906003)(26005)(6916009)(316002)(36860700001)(2906002)(8936002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 14:47:53.3923
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0568ba9b-2722-4525-152c-08dad6cfb082
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT083.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5280

Refer ARM DDI 0487I.a ID081822, G8-9650, G8.2.113
Aff3 does not exist on AArch32.
Also, refer ARM DDI 0406C.d ID040418, B4-1644, B4.1.106
Aff3 does not exist on Armv7 (ie arm32).

Thus, access to aff3 has been protected with "#ifdef CONFIG_ARM_64".
Also, v->arch.vmpidr is a 32 bit register on AArch32. So, we have assigned it to
'uint64_t vmpidr' to perform the shifts.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---

Changes from :-
v1 - Assigned v->arch.vmpidr to "uint64_t vmpdir". Then, we can use 
MPIDR_AFFINITY_LEVEL macros to extract the affinity value.

v2 - 1. "MPIDR_AFFINITY_LEVEL(vmpidr, 3)" is contained within
"#ifdef CONFIG_ARM_64".
2. Updated commit message.

v3 - 1. Added an inline comment to explain type widening for v->arch.vmpidr.
2. Updated the commit message. Added Rb.

v4 - 1. Added Ack.

 xen/arch/arm/vgic-v3.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
index 3f4509dcd3..e0b636b95f 100644
--- a/xen/arch/arm/vgic-v3.c
+++ b/xen/arch/arm/vgic-v3.c
@@ -191,12 +191,20 @@ static int __vgic_v3_rdistr_rd_mmio_read(struct vcpu *v, mmio_info_t *info,
     case VREG64(GICR_TYPER):
     {
         uint64_t typer, aff;
+        /*
+         * This is to enable shifts greater than 32 bits which would have
+         * otherwise caused overflow (as v->arch.vmpidr is 32 bit on AArch32).
+         */
+        uint64_t vmpidr = v->arch.vmpidr;
 
         if ( !vgic_reg64_check_access(dabt) ) goto bad_width;
-        aff = (MPIDR_AFFINITY_LEVEL(v->arch.vmpidr, 3) << 56 |
-               MPIDR_AFFINITY_LEVEL(v->arch.vmpidr, 2) << 48 |
-               MPIDR_AFFINITY_LEVEL(v->arch.vmpidr, 1) << 40 |
-               MPIDR_AFFINITY_LEVEL(v->arch.vmpidr, 0) << 32);
+        aff = (
+#ifdef CONFIG_ARM_64
+               MPIDR_AFFINITY_LEVEL(vmpidr, 3) << 56 |
+#endif
+               MPIDR_AFFINITY_LEVEL(vmpidr, 2) << 48 |
+               MPIDR_AFFINITY_LEVEL(vmpidr, 1) << 40 |
+               MPIDR_AFFINITY_LEVEL(vmpidr, 0) << 32);
         typer = aff;
         /* We use the VCPU ID as the redistributor ID in bits[23:8] */
         typer |= v->vcpu_id << GICR_TYPER_PROC_NUM_SHIFT;
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:48:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:48:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453797.711403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ClN-0001eU-O6; Mon, 05 Dec 2022 14:48:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453797.711403; Mon, 05 Dec 2022 14:48:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ClN-0001eL-L3; Mon, 05 Dec 2022 14:48:09 +0000
Received: by outflank-mailman (input) for mailman id 453797;
 Mon, 05 Dec 2022 14:48:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p2ClM-0001AR-Ve
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:48:08 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2062e.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d36c13e7-74ab-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 15:48:07 +0100 (CET)
Received: from MW4PR04CA0342.namprd04.prod.outlook.com (2603:10b6:303:8a::17)
 by DM4PR12MB5376.namprd12.prod.outlook.com (2603:10b6:5:39f::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 14:47:59 +0000
Received: from CO1NAM11FT091.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:8a:cafe::b2) by MW4PR04CA0342.outlook.office365.com
 (2603:10b6:303:8a::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13 via Frontend
 Transport; Mon, 5 Dec 2022 14:47:59 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT091.mail.protection.outlook.com (10.13.175.146) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.14 via Frontend Transport; Mon, 5 Dec 2022 14:47:58 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:27:37 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:27:32 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 5 Dec 2022 07:27:31 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d36c13e7-74ab-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C+yllKUEWM4T0u+H0T+7lz/QXJgi++CAmnrDFQUJxMOMgsrh/lo5avv2tJf0G6ZhQDF4GigXGXDjbEG6lK+PklxE3wcpAESoUsdrrrtfzYs3lP+BaOTj1NNkgScEqGHZVV1c19Nuhgv2JdSmxxcpY8LMq9Zfg+hL0jWmuSTk548fCyCe18p5AgQlZ6Tx/fcNho0x5jof4Bp/Bwqx0AT2fb/QGiNUi9PorIAc7SHVhJo+7nVqtn5Grn1TIlxgaWGBQJUc+xWfQXZZD8/AdtG0xC0Xjnb4do0PjjeMUFAWFo+a3RYfx2bFCKhbf607kMSJyu9q7wvt7xudw028aR3Ibg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4KHxmnWmNgQroEJqBI6LTdMkMgVnjuq8fRljQdPYe+4=;
 b=fRLzH3zv4xcE/2PNy+oAu45PfU29XK4VjErpG+7HFJI0Uy+OS3bZQAjlfy6jixbrpcUKmizCE5TkJrJlIDCSujAHdpWcYXUqRCFdZeksRSiTgRxaRTn/32UmDNEhazl2TntfX9ECO3mbRnFfX+kAotmGcLxRRthYlB3d/peHiXBEXzafJ5IYzmwPQ0n76uG5N9ReukH9jDWPDzo/Nt8jyaFR+XGwUekJ4WTtmhMCp8+cuv1d5S1rzLM9VVtdjDzWiePZT7W44QWYkybAJQNiCsV4k+uXR/UEOlAEUh2CbuH5qB4S2PF4WsOFtj5d+NSSnVxq1KUDeH3i9LEmm1p5+A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4KHxmnWmNgQroEJqBI6LTdMkMgVnjuq8fRljQdPYe+4=;
 b=SUwniUfv3X3k0NoPVsszxR2BKesK/mQvyFs635j4qRpD4eRepnYZC+F0cFUKIUtSm+gE3Le+BcZ5i7daOgYMa4WbR8BF+LTZzK4FzoYAN2JNFD/S8fJL4pLR0KE9isYlJFqvJuYXnwsOsj4GgHegOGtrSzASO2IydM0yLdNkbbg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <burzalodowa@gmail.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 05/11] xen/Arm: GICv3: Fix GICR_{PENDBASER, PROPBASER} emulation on 32-bit host
Date: Mon, 5 Dec 2022 13:26:31 +0000
Message-ID: <20221205132637.26775-6-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT091:EE_|DM4PR12MB5376:EE_
X-MS-Office365-Filtering-Correlation-Id: 2b8cf1d7-4ed6-4bcb-ebea-08dad6cfb386
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	seRSQV338OlO0CSqDLx2X6SBpwp+vpEmZMYPqqGUgodKC95ZDP+eIxW1p7RymlYzmZd9XaHq8btGJHvOSk8kaO/ANMtSkUO8uD3ZdJa6klEQKrjt5AN89VcP5wY4qbnPqbsigDx0pZDbr2hjR88w2H2qNzgtO8Ny505NxjnxG3dIv2rky+wgIR1li2k7nUH75S68E9oTMkGoxhKYYnrljfK4S0ZMozhyF8NNeViCcgW0dje5sPWIMW3ur2mmLjGA9vXcqj+hH6tKEDkR8JptzyY3OBdnqDkzx/L76RYBdC6XiMG3Qs/sJpP+iq/fCCfHETmslHrgHaHfMkyRyymdkGat79dZ7us9vDETBaBAzTl8udchPIIIyq6eXe62E6MXkNbarJQxUYdjM+k2/TPsjGyA5zIXx4RaoAx1K9H+wEjTwM80dukLEnU8cIpR+LrhyRauD9Tg5PABlV1KSjwNtXzjvy8xIRjUILH6A2uVT4OhZAZ7WGHgcqk0tgVyIawjjgseOvYKoVd9AYDiw0qnxcPnzA1tQr0J9zNm+/H7e11GebdvqkhRqZEWg3tT72vzdTi2NK9QQHyR9nF12IsccM0wHV5m7LMHS0mFlyvB3lUHD7QFX1GHgyihu8ACDadUQnO4WHaz/96rZvqHeAsgZr5N1OZN73HRfdndMsEiqV9mwcbzP6cVv1PfbWvPOL8oFq2Qm5+FCpSMnXylHv25tlGwOCf/nIy1BWBuNmWSEyJ49Msd+tQLVmI21KdSGXC1jvFpJf6fMzN7RoT6PB2jnw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(39860400002)(396003)(376002)(451199015)(40470700004)(36840700001)(46966006)(36756003)(82740400003)(86362001)(81166007)(356005)(2906002)(41300700001)(40460700003)(8936002)(4326008)(5660300002)(36860700001)(83380400001)(103116003)(478600001)(70206006)(70586007)(966005)(2616005)(316002)(54906003)(6916009)(40480700001)(8676002)(82310400005)(336012)(47076005)(1076003)(426003)(186003)(26005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 14:47:58.3322
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b8cf1d7-4ed6-4bcb-ebea-08dad6cfb386
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT091.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5376

'unsigned long long' is defined as 64 bit across both AArch32 and AArch64.
So, use 'ULL' for 64 bit word instead of UL which is 32 bits for AArch32.
GICR_PENDBASER and GICR_PROPBASER both are 64 bit registers.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes from -
v1 - 1. Extract the bug fix for incorrect bit clearing (GICR_PENDBASER_PTZ)
into a separate patch fix.
https://patchwork.kernel.org/project/xen-devel/patch/20221027185555.46125-1-ayankuma@amd.com/

v2 - No changes.

v3 - No changes.

v4 - No changes.

 xen/arch/arm/include/asm/gic_v3_defs.h | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/include/asm/gic_v3_defs.h b/xen/arch/arm/include/asm/gic_v3_defs.h
index 728e28d5e5..48a1bc401e 100644
--- a/xen/arch/arm/include/asm/gic_v3_defs.h
+++ b/xen/arch/arm/include/asm/gic_v3_defs.h
@@ -134,15 +134,15 @@
 
 #define GICR_PROPBASER_OUTER_CACHEABILITY_SHIFT         56
 #define GICR_PROPBASER_OUTER_CACHEABILITY_MASK               \
-        (7UL << GICR_PROPBASER_OUTER_CACHEABILITY_SHIFT)
+        (7ULL << GICR_PROPBASER_OUTER_CACHEABILITY_SHIFT)
 #define GICR_PROPBASER_SHAREABILITY_SHIFT               10
 #define GICR_PROPBASER_SHAREABILITY_MASK                     \
-        (3UL << GICR_PROPBASER_SHAREABILITY_SHIFT)
+        (3ULL << GICR_PROPBASER_SHAREABILITY_SHIFT)
 #define GICR_PROPBASER_INNER_CACHEABILITY_SHIFT         7
 #define GICR_PROPBASER_INNER_CACHEABILITY_MASK               \
-        (7UL << GICR_PROPBASER_INNER_CACHEABILITY_SHIFT)
+        (7ULL << GICR_PROPBASER_INNER_CACHEABILITY_SHIFT)
 #define GICR_PROPBASER_RES0_MASK                             \
-        (GENMASK(63, 59) | GENMASK(55, 52) | GENMASK(6, 5))
+        (GENMASK_ULL(63, 59) | GENMASK_ULL(55, 52) | GENMASK_ULL(6, 5))
 
 #define GICR_PENDBASER_SHAREABILITY_SHIFT               10
 #define GICR_PENDBASER_INNER_CACHEABILITY_SHIFT         7
@@ -152,11 +152,11 @@
 #define GICR_PENDBASER_INNER_CACHEABILITY_MASK               \
 	(7UL << GICR_PENDBASER_INNER_CACHEABILITY_SHIFT)
 #define GICR_PENDBASER_OUTER_CACHEABILITY_MASK               \
-        (7UL << GICR_PENDBASER_OUTER_CACHEABILITY_SHIFT)
-#define GICR_PENDBASER_PTZ                              BIT(62, UL)
+        (7ULL << GICR_PENDBASER_OUTER_CACHEABILITY_SHIFT)
+#define GICR_PENDBASER_PTZ                              BIT(62, ULL)
 #define GICR_PENDBASER_RES0_MASK                             \
-        (BIT(63, UL) | GENMASK(61, 59) | GENMASK(55, 52) |  \
-         GENMASK(15, 12) | GENMASK(6, 0))
+        (BIT(63, ULL) | GENMASK_ULL(61, 59) | GENMASK_ULL(55, 52) |  \
+         GENMASK_ULL(15, 12) | GENMASK_ULL(6, 0))
 
 #define DEFAULT_PMR_VALUE            0xff
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:51:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:51:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453812.711414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Col-0003zU-8e; Mon, 05 Dec 2022 14:51:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453812.711414; Mon, 05 Dec 2022 14:51:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Col-0003zN-5Q; Mon, 05 Dec 2022 14:51:39 +0000
Received: by outflank-mailman (input) for mailman id 453812;
 Mon, 05 Dec 2022 14:51:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p2Cok-0003zH-5C
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:51:38 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20609.outbound.protection.outlook.com
 [2a01:111:f400:fe59::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 516628f3-74ac-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 15:51:36 +0100 (CET)
Received: from BN9PR03CA0572.namprd03.prod.outlook.com (2603:10b6:408:10d::7)
 by CH0PR12MB5121.namprd12.prod.outlook.com (2603:10b6:610:bc::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Mon, 5 Dec
 2022 14:51:33 +0000
Received: from BN8NAM11FT012.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:10d:cafe::b5) by BN9PR03CA0572.outlook.office365.com
 (2603:10b6:408:10d::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Mon, 5 Dec 2022 14:51:33 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT012.mail.protection.outlook.com (10.13.177.55) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.14 via Frontend Transport; Mon, 5 Dec 2022 14:51:32 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:27:57 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:27:57 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 5 Dec 2022 07:27:56 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 516628f3-74ac-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BJ5WtD8GNHCGS2h68S2Lkl4wfTP+NARAd5Rq132eg0El/avevL/sgy/eL//8TNsEgqJyjX4MKAhmQT7nTpcTmzRjWaHG9fDJenReruDVVCT4kYbrH1ZXWT7y/8e4zLRnYd79TLS4TZTcI8NmW0drIsFbUqr+pmMEtnVzHv1u0sP0HhG6LEt/P5TIYCfZ1J0XElxTHXbS7I/Byzw935xUKLE1QF8MARBa6PVTbPqMX2paXVXjra0i1AdFq3Ro7MMPPPvV2grBrV3GFXnfKBcXLXZ39LGyD7I7geQCwKtmev4KHSwuVzV55Mu/1aSe0MLX0r3hAqyHXwB+3Js6E+PLqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=++4q5HIw11G096d2CZkM4llMeSXkXZxp6mjZ0joYBGE=;
 b=aXrxyz2hdKqZa1VW2kDTYzLJk9id/GaPXuVmVYGTgnQmgZbj7TTlHT09F0Jv6HsswaQTwLh9vXhGxv/AnwPoAdPawyfLZ3aU0xkTiBxIbGExoRjUpI5Yv1E0pGgWK1CB5X5f8y+Upq1ituAz5NXcmiPU5noOrll4z1T6OHW0kN5wFeFRuz+B004KGDDxFj4BrAEfY3wb5W4f5q4HRKHnqZDg4KZK8kQI9g9Qvtn3hB148rQXCfqyiF/XRM5coG/FnV34k+NCWEzTQ3LbJsJSzoUqZryTm65uRu/KOMw4u8Dh8BeCWSz+NJee+P8YzrHOcc1urwg3LNwme5EcUrVGTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=++4q5HIw11G096d2CZkM4llMeSXkXZxp6mjZ0joYBGE=;
 b=PorcKCf8iH11NljbtKjmj55o9FRy756PLib/lX/8osX/seX7M2O/hN6G0hZKdzMuYOq7Rn5gCAjznGzRjE18GQr9t+MGt3zzSyVMvKMsflGdPqaQpBtnoM4IsQV0iVvAXfSCD9FeWXhya0f0i6zfIh9blgMa/+XvkHn46eWI2HY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <burzalodowa@gmail.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 06/11] xen/Arm: vGICv3: Fix emulation of ICC_SGI1R on AArch32
Date: Mon, 5 Dec 2022 13:26:32 +0000
Message-ID: <20221205132637.26775-7-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT012:EE_|CH0PR12MB5121:EE_
X-MS-Office365-Filtering-Correlation-Id: eceb8df2-40e2-4297-68ea-08dad6d03338
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eWEViYG6HPTvfVP2mrmBcXJGUsYk8Fre5w2/nqWjY87eGqlybA19XufjNLZ5NhcFdzq9Abcasv76WcBdXmnHey+Q9n5IIyExNF75o/BDBi+8tPF27FqBC6f3/x26q9jDMdYA7elQim+NqZtha8WmScKgB5siKB9Ak9/7tE2ZUCSG6L+oXsttf/3p1oMnmAxQjgqdHDAxTWHcFRDszpNdgCVs2Ttn0AouTj71dlO479zPZZ0a1jcOvY3OPAw568VrYnJBf/JXYS5PxqH+sRcYoxhbeA7HnnmJQdv1MRN3QDOZzzJuPbYrwLvUkWgkeBBTT6QBasc2qSgQeYM7sx4KVy9UhYJKMKxzPhIVGEvJfJPxUpt8MIMTfah4JOtGUck8GpRoQKXPWg6rRU4qkpemF6xYZxbmlaGPP6QfIso/Fp/a1O6BVgwJTjzr0wiRUdzualBzH9gAWQyAikorTL31QofkVTkVmWjhvA4q9ouBdiK1Pkft9NBI9f4Pd9HEMMpKeKIPYfNVwwSgTw+cNPssf/WfQ1Q3kU+VoeXZpLvL4M2fjDn+uSRVD0P55Aw54HjKFC1WPAqDjw8BjNFLyKGbkt1DYBRBBg7sz7jGaKsjycp+ufWF6+NIc03x9JYQrqWgM9sns927GFENdQnpQehxuBXcT/HFtFEJBkfmju5kI7on0MTroN4lJFGJnWP52dsZ+vBhYIxL3/YXl1MqkfHdoV+M/qvRuZCSP7+g33rzFZQ=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(39860400002)(396003)(376002)(451199015)(40470700004)(46966006)(36840700001)(82310400005)(36756003)(40480700001)(47076005)(316002)(426003)(83380400001)(6916009)(54906003)(1076003)(6666004)(26005)(186003)(103116003)(2906002)(86362001)(336012)(70206006)(70586007)(36860700001)(4326008)(8676002)(81166007)(478600001)(356005)(82740400003)(40460700003)(2616005)(8936002)(41300700001)(5660300002)(4744005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 14:51:32.6754
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eceb8df2-40e2-4297-68ea-08dad6d03338
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT012.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5121

Refer Arm IHI 0069H ID020922, 12.5.23, ICC_SGI1R is a 64 bit register on
AArch32 systems. Thus, the function needs to change to reflect this.
The reason being 'register_t' is defined as 'u32' on AArch32.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes from :-
v1 - 1. Updated the commit message.

v2 - 1. No changes.

v3 - 1. No changes.

v4 - 1. No changes.

 xen/arch/arm/vgic-v3.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/vgic-v3.c b/xen/arch/arm/vgic-v3.c
index e0b636b95f..47575d4944 100644
--- a/xen/arch/arm/vgic-v3.c
+++ b/xen/arch/arm/vgic-v3.c
@@ -1483,7 +1483,7 @@ write_reserved:
     return 1;
 }
 
-static bool vgic_v3_to_sgi(struct vcpu *v, register_t sgir)
+static bool vgic_v3_to_sgi(struct vcpu *v, uint64_t sgir)
 {
     int virq;
     int irqmode;
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:52:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:52:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453818.711425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CpU-0004Wp-IR; Mon, 05 Dec 2022 14:52:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453818.711425; Mon, 05 Dec 2022 14:52:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CpU-0004Wi-EA; Mon, 05 Dec 2022 14:52:24 +0000
Received: by outflank-mailman (input) for mailman id 453818;
 Mon, 05 Dec 2022 14:52:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2q+k=4D=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p2CpT-0003zH-0w
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:52:23 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2060c.outbound.protection.outlook.com
 [2a01:111:f400:fe59::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6ba8eb32-74ac-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 15:52:22 +0100 (CET)
Received: from DS7PR03CA0131.namprd03.prod.outlook.com (2603:10b6:5:3b4::16)
 by PH7PR12MB6418.namprd12.prod.outlook.com (2603:10b6:510:1fe::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Mon, 5 Dec
 2022 14:52:18 +0000
Received: from DS1PEPF0000E63F.namprd02.prod.outlook.com
 (2603:10b6:5:3b4:cafe::49) by DS7PR03CA0131.outlook.office365.com
 (2603:10b6:5:3b4::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Mon, 5 Dec 2022 14:52:18 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E63F.mail.protection.outlook.com (10.167.17.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Mon, 5 Dec 2022 14:52:17 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 08:52:17 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 08:52:17 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Mon, 5 Dec 2022 08:52:15 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ba8eb32-74ac-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dQC05+3DnBFlkoWL3Mm7vwi3QsC9Q8CjvZkvV3XzpPSpOo6uBm4RZKw8/nIBcgNSFydzlQkPGnNI5WAOLBZatVlc8q5rlUyP/+e3wf2pjgSUQpmrqAl4m7tNd4ejD9XzDx/jinm3UKaXZ3aVz7MhAeiuj8OkZZ1VpnxXLrwoE0AnjLIuoczAG1qdnGk+oBMLevwE6a0XmyJOINXL6jjCeAG257SBvF76zBVzu9uggl2HsBAsmOIDxIC0jzDvPzMqPDjOaepY8OCTzhXcnM4gudJq+YsWatHvj2Yb7a85b/iC0/7GhV2/LqTfHaGOedArAd2OT5SZahjjKaqyCr0RXQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BwYDCdTQmlaT4cABBh+BZCRn/4CMeZJ4WWqXKQRAkoM=;
 b=HbnAz/A39vAy8OlALq3+JjUkovFJxeIc5+zTEhd7YH+XZTifRXBQurQwJNVj3T4+LQBsyXWrtNfpLfyoOAjbaAYcb7CLowIsnKJ7iquIoIJaLz5a5YCwd6NbvF8UR6z1YDJEs88PnESqAHrv30LXGN+2Yu8zHC37AxbX4vUXpLllfY7IKID2B34p0bVGCAz8d612PBSMxPkAj4aoFDC0CAMhFCDz2S1PFE6zS1Y10f71gWOSZ0wt0K4xDhEVaArRNEKKGjhyVkqlRxLOhp/aciT+ooUD5LNxHr+QrAB7rR93aNUQP2bR3CneafT0zKPrsX6Bcbw3JmQBPjbKZp/z9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BwYDCdTQmlaT4cABBh+BZCRn/4CMeZJ4WWqXKQRAkoM=;
 b=4fZq10g0qXoCRsGsBz4zoG6SZK/iXdMcCXf3IQmucyS3R/1rjKefp+/l4HnpZ+bn4d7ofmlvGrQ37ILbNngsWJcI2BpcQcyYlexYTrIXp0kTXkgJD9xJeC/qXFSzGdDLMOBFWSTe/U2FWmq14Y8T4LEY8YSIHCWm3FTyITzIqGM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <8c44fb93-1c36-4a03-a784-f74ae6122dfa@amd.com>
Date: Mon, 5 Dec 2022 15:52:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 06/21] xen/domctl: Add XEN_DOMCTL_CONFIG_VIOMMU_* and
 viommu config param
Content-Language: en-US
To: Rahul Singh <rahul.singh@arm.com>, <xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, "George
 Dunlap" <george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>,
	Juergen Gross <jgross@suse.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <fc259a3c780aeb312ea1043703add9e9bca1a7e1.1669888522.git.rahul.singh@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <fc259a3c780aeb312ea1043703add9e9bca1a7e1.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E63F:EE_|PH7PR12MB6418:EE_
X-MS-Office365-Filtering-Correlation-Id: 88e4c628-4a42-496a-9e65-08dad6d04e17
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wenGf9ZT0PKD8PTGveBMa9qoMCQIJHi06BUg9v2y/96xmGQ4Gu53QtKD9g5ketFjWyQwAplm3/axycNnPs07AYM2U5R9S0/iusePzQg922cQJDlHCuoUKwN/n3Yct+x5DfMAsyywUTAlY/OW5kyqWPMdw1IpuIWrNNi5pbgsiT6r6hNppmJt0pwftu3p5yh2e6uECInuJXwD5I/hJcFqL5CnyyNcfdSrwUHEepj2AccGyxHBlCyyGnyLUbIppUrP2KNDvVxxTrCLskjuQkNF8PLueUUdADLkSZfX+zu2HKEoHqSyRLp5ImrCp4M6Bq9BjQNqgHlPinBqTxUlZy2ZHXEvqtB0jN9oDVIfHeHgTFR7KcWa71ZgB175mvBzluf9r5sxSxvXrw49LQLpa6yqMf7bjAIwAzUET3R/5SK8RL1jynjMuxNE1fx8ASJoh1hImwG3a8CGoNAy6ppK6qX5JKFKq/aLxXaLIbQA9qCGdeTp0sekn4xRimnTQRsJ/XUFyliFjnNi1dkmJbKxfeWqmE3Ih8EmuAtkD7uDE0T5RfI/LhROh3IYl73Ti85Cj2LSniNNv5i6c4EHuRfoiGnmgiPLxc1zo4zhA3GJhLXnfegbeDsfniHBmzTd9ZjV5T42VMbIJfAt3vbKxgZ2q69t/gYDQzfCbC4YWjwCIywq9uAQedsezgk4XHRu7WeCKepQSmUlaFjnxy/JsW4/dpKsg/S/dioxZg8owIL6bq8gWXtWNiF90nNsG8JvbTYwSD9WStTYo+LDf36zAiJLUf96Sw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(136003)(396003)(346002)(451199015)(40470700004)(36840700001)(46966006)(47076005)(5660300002)(426003)(53546011)(36860700001)(478600001)(70206006)(70586007)(2616005)(186003)(41300700001)(336012)(8936002)(4326008)(44832011)(8676002)(2906002)(82740400003)(36756003)(40480700001)(81166007)(356005)(26005)(31686004)(110136005)(316002)(82310400005)(54906003)(16576012)(40460700003)(86362001)(31696002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 14:52:17.7121
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 88e4c628-4a42-496a-9e65-08dad6d04e17
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E63F.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6418

Hi Rahul,

On 01/12/2022 17:02, Rahul Singh wrote:
> 
> 
> Add new viommu_type field and field values XEN_DOMCTL_CONFIG_VIOMMU_NONE
> XEN_DOMCTL_CONFIG_VIOMMU_SMMUV3 in xen_arch_domainconfig to
> enable/disable vIOMMU support for domains.
> 
> Also add viommu="N" parameter to xl domain configuration to enable the
> vIOMMU for the domains. Currently, only the "smmuv3" type is supported
> for ARM.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>  docs/man/xl.cfg.5.pod.in             | 11 +++++++++++
>  tools/golang/xenlight/helpers.gen.go |  2 ++
>  tools/golang/xenlight/types.gen.go   |  1 +
>  tools/include/libxl.h                |  5 +++++
>  tools/libs/light/libxl_arm.c         | 13 +++++++++++++
>  tools/libs/light/libxl_types.idl     |  6 ++++++
>  tools/xl/xl_parse.c                  |  9 +++++++++
>  7 files changed, 47 insertions(+)
> 
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index ec444fb2ba..5854d777ed 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -2870,6 +2870,17 @@ Currently, only the "sbsa_uart" model is supported for ARM.
> 
>  =back
> 
> +=item B<viommu="N">
> +
> +To enable viommu, user must specify the following option in the VM
> +config file:
> +
> +viommu = "smmuv3"
> +
> +Currently, only the "smmuv3" type is supported for ARM.
> +
> +=back
You need to remove this "=back" or the one before your new section, because currently
the build of docs fails with error:
man/xl.cfg.5.pod around line 2873: '=item' outside of any '=over'

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:53:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:53:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453827.711441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Cqf-0005Dw-80; Mon, 05 Dec 2022 14:53:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453827.711441; Mon, 05 Dec 2022 14:53:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Cqf-0005DV-4B; Mon, 05 Dec 2022 14:53:37 +0000
Received: by outflank-mailman (input) for mailman id 453827;
 Mon, 05 Dec 2022 14:53:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p2Cqe-0005AC-Di
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:53:36 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20605.outbound.protection.outlook.com
 [2a01:111:f400:fe59::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 972fd834-74ac-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 15:53:35 +0100 (CET)
Received: from DM6PR03CA0071.namprd03.prod.outlook.com (2603:10b6:5:100::48)
 by CH0PR12MB5219.namprd12.prod.outlook.com (2603:10b6:610:d2::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 14:53:32 +0000
Received: from DS1PEPF0000E631.namprd02.prod.outlook.com
 (2603:10b6:5:100:cafe::d3) by DM6PR03CA0071.outlook.office365.com
 (2603:10b6:5:100::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Mon, 5 Dec 2022 14:53:32 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E631.mail.protection.outlook.com (10.167.17.135) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Mon, 5 Dec 2022 14:53:31 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:30:01 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 05:29:59 -0800
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 5 Dec 2022 07:29:58 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 972fd834-74ac-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iAQAdLU26zmxe102BZwnjzzvkYKXZ8J465eHsHC6cUq7/DJI4yOKx0+uWb2uCGN+VD2uP/IBgwv1PBHSuIlUjMmL7iWpwQTt4z2VAfLYmQWGGzCHvFA7INNB5mK3jicBZOkAsNLg206cSEiP40EWl/Epsr+eaAxdA4bkRmgz2knkYzvLlEsJEGY7uRsB2fbVEIeJqyu+ssyLEGQQkR44GSp4RTRtNciIciKaw/ijCxkSuadagob0ZZXWhV8B8UUmsiTfMpyOtmXM2TTMgsJuTVjPqbjCr88ODDrrTh4yIU8pFrENql9YYc80GjkjzOZxVCM7PUqZWL3vYEWGHuBWiw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VTKYXoGyAgkPR5zIiQZmjQ3vxNlnyj3UelY+os3E+uM=;
 b=L9LKkvSrvjYAYk9da6QFbDai1iEikNO0ej6917bbokxN6k/b0uEYMfzfIxZRXXGpDHrQtXLGd5h/dHK3jTtk8NoXaPy0D/++OzwQUq1A+ILEPXWCNNvDOglZc/oQoDvrwF6MpQycL5MMLlCg4ayUFy4AvDE7Qv7k2YfWw6PkoGFMVi7VNS1k1PIDe7o1QuLmdACVygtxafCKQ4zpZBjZai35ohwAmSjPmpGcIgkLppoI5LNvGjcrLse64h/CD7ApypuJQ2v7frHxTL1EcGcJjfgnNKjFT0KlhAczs72G3v0PTnHcBmifVP0D30k4BK0YraMM0RFW0/UHixVVQ+V/iQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VTKYXoGyAgkPR5zIiQZmjQ3vxNlnyj3UelY+os3E+uM=;
 b=iIWX9p+gXLY2YgmB+2ePmtH2XvGKyintclYB0VGmW8Y9pUlM3IDgMZFEO5sAMrg/I9gShhHwLYGf30hx9j7h4AB5a5UTrBdRQ0XW443ggi1IEWIXivZD/ZrCSdcT/cIvZPOHEHZKq6JUONof1P7zWa7whSGFWSBfQpY/FFuir/A=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <burzalodowa@gmail.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 11/11] xen/Arm: GICv3: Enable GICv3 for AArch32
Date: Mon, 5 Dec 2022 13:26:37 +0000
Message-ID: <20221205132637.26775-12-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E631:EE_|CH0PR12MB5219:EE_
X-MS-Office365-Filtering-Correlation-Id: 452f5bd8-0cc1-4595-c4f6-08dad6d07a1c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BwNWk3zIIyeBRgo+cBkIwlyf3aIS/gQTZxQatgKh6Nz8yqvr1rTDwkZHgiFCIGKEQRKHZotzSx4r21FEt8VvY07YEJbEhIvsfAyyr7Hnu+PEB/pzXqnzXksKXQhadAke4xQAnv52Ye7XU5KNmKI5ASHVRNU69IVCC6NAbsYOUTy7jh2iYLpr7/svHeSIwi4Hxka2xtUIEfUnzx2ciQ7+k2W5/SK43vwr+Vw3i2qPqhDQr3vRL5J/1heP7U34ikRKVS2WNm8bc4yJvwbApo+oyzlUMEqziLFGAyt6BC/cUHlQpmAODO5a35OVqnjOmuSjLL7j8dIiVszahg5nwgu2Sq56Sa4aJiI6fLjDwizKw/Wc0F9QWnsv6KJAssal+oq/A1Y84U45awJTURH8lj179PhwrHt8LjdOKbU22k+HBXLMWwJloeBUFjz9OqNPBzboluMNYagdE9hj/hIvVwNoS8rK9afF6xr7wGvE3wWHDyKDbffeAC7cxQgGanWVUmowstHKrf0xHg1YQnVUikBeVc8CsIinquFVNF6mNUTvBE4fmeP94vrYySM6VdAlW7Pof7jI5njTpG3H/zzCon+YaRRmEdgTCNY/mHDWBa0WYjrkZV6xS223VNZHPwK1n6/+S6t6YiXz0gOBGPpl78SaG2kYwvPBrHAShOqDNXfZKWAXwANBLy1W1Wjly0LkaULVsrfZ2m2UsgK1yz+9mXU+nJHlFcoJcg5oiAj1K3T+Anc=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199015)(46966006)(40470700004)(36840700001)(83380400001)(36860700001)(103116003)(356005)(86362001)(81166007)(82740400003)(5660300002)(41300700001)(40460700003)(8936002)(2906002)(4326008)(82310400005)(8676002)(40480700001)(186003)(26005)(336012)(47076005)(426003)(1076003)(6666004)(54906003)(316002)(2616005)(6916009)(70586007)(478600001)(70206006)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 14:53:31.5812
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 452f5bd8-0cc1-4595-c4f6-08dad6d07a1c
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E631.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5219

One can now use GICv3 on AArch32 systems. However, ITS is not supported.
The reason being currently we are trying to validate GICv3 on an AArch32_v8R
system. Refer ARM DDI 0568A.c ID110520, B1.3.1,
"A Generic Interrupt Controller (GIC) implemented with an Armv8-R PE must not
implement LPI support."

By default GICv3 is disabled on AArch32 and enabled on AArch64.

Updated SUPPORT.md to state that GICv3 on Arm32 is not security supported.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changed from :-
v1 - 1. Remove "ARM_64 || ARM_32" as it is always true.
2. Updated SUPPORT.md.

v2 - 1. GICv3 is enabled by default only on ARM_64.
2. Updated SUPPORT.md.

v3 - 1. GICv3 is not selected by ARM_64. Rather, it is optionally
enabled. 
2. GICv3 is disabled by default on ARM_32.

v4 - 1. Updated the help message for GICV3.
2. I have kept the Rb given on v4 as the change looks trivial.

 SUPPORT.md                            | 7 +++++++
 xen/arch/arm/Kconfig                  | 9 +++++----
 xen/arch/arm/include/asm/cpufeature.h | 1 +
 3 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/SUPPORT.md b/SUPPORT.md
index ab71464cf6..295369998e 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -76,6 +76,13 @@ For the Cortex A57 r0p0 - r1p1, see Errata 832075.
     Status, ARM SMMUv3: Tech Preview
     Status, Renesas IPMMU-VMSA: Supported, not security supported
 
+### ARM/GICv3
+
+GICv3 is an interrupt controller specification designed by Arm.
+
+    Status, Arm64: Security supported
+    Status, Arm32: Supported, not security supported
+
 ### ARM/GICv3 ITS
 
 Extension to the GICv3 interrupt controller to support MSI.
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 52a05f704d..239d3aed3c 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -41,16 +41,17 @@ config ARM_EFI
 
 config GICV3
 	bool "GICv3 driver"
-	depends on ARM_64 && !NEW_VGIC
-	default y
+	depends on !NEW_VGIC
+	default n if ARM_32
+	default y if ARM_64
 	---help---
 
 	  Driver for the ARM Generic Interrupt Controller v3.
-	  If unsure, say Y
+	  If unsure, use the default setting.
 
 config HAS_ITS
         bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
-        depends on GICV3 && !NEW_VGIC
+        depends on GICV3 && !NEW_VGIC && !ARM_32
 
 config HVM
         def_bool y
diff --git a/xen/arch/arm/include/asm/cpufeature.h b/xen/arch/arm/include/asm/cpufeature.h
index c86a2e7f29..c62cf6293f 100644
--- a/xen/arch/arm/include/asm/cpufeature.h
+++ b/xen/arch/arm/include/asm/cpufeature.h
@@ -33,6 +33,7 @@
 #define cpu_has_aarch32   (cpu_has_arm || cpu_has_thumb)
 
 #ifdef CONFIG_ARM_32
+#define cpu_has_gicv3     (boot_cpu_feature32(gic) >= 1)
 #define cpu_has_gentimer  (boot_cpu_feature32(gentimer) == 1)
 /*
  * On Armv7, the value 0 is used to indicate that PMUv2 is not
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:53:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:53:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453826.711436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Cqe-0005AR-V6; Mon, 05 Dec 2022 14:53:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453826.711436; Mon, 05 Dec 2022 14:53:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Cqe-0005AI-Rw; Mon, 05 Dec 2022 14:53:36 +0000
Received: by outflank-mailman (input) for mailman id 453826;
 Mon, 05 Dec 2022 14:53:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p2Cqd-0005A2-Jn
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:53:35 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eae::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 96eadaad-74ac-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 15:53:34 +0100 (CET)
Received: from CY5PR16CA0003.namprd16.prod.outlook.com (2603:10b6:930:10::7)
 by PH7PR12MB5653.namprd12.prod.outlook.com (2603:10b6:510:132::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Mon, 5 Dec
 2022 14:53:30 +0000
Received: from CY4PEPF0000C969.namprd02.prod.outlook.com
 (2603:10b6:930:10:cafe::b4) by CY5PR16CA0003.outlook.office365.com
 (2603:10b6:930:10::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.19 via Frontend
 Transport; Mon, 5 Dec 2022 14:53:30 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000C969.mail.protection.outlook.com (10.167.241.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Mon, 5 Dec 2022 14:53:29 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:29:48 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:29:47 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 5 Dec 2022 07:29:46 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 96eadaad-74ac-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ibNqC8FoPo7rMaFCj9d/D0xnm0rvzJjzhtx/VdM5AJsRntfmyRaYL3l0lqvbHtlf/DW/x/LlAzGzBflmLNK8Z09k0k0OKy2J1FjCXm9H2szuMuZ+LdC2Fj8Mop9hhagFq1tJEMR2QuRp4Zv9piMxV3OUk7U8RXyMAPFeq9BAjTYZ35jc+oUaggdofbe16SYLc4Tkk7zTfHNaJBDCQcR1FWiFJCW+s6H4sowhKDfCXh+/vcIRI/XzfeAijPT+YtAu3V1Ghr7MpMVL0xKjSogjqJkQg9WrCyWN754ljmXAD3mMUjevxxvmTlL3PwvWKgu+2JCltSo/cbSPZREBQZMTvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d/f6KcnxjmuXzQKyqBzEdB2sXtJfFweqelRMZY8EzeE=;
 b=nIurm1d6qwmxIfuRCQ/BR6fQmtj06FPJILsjE/RONtqspp1xJPrLd0eyAerJSk5hJ0ZJAvAO7+PehIkM+xwsVJRvChUx1j6ayWf1E0z3mFW41Px5/KWwjHXsFhGwJ2tW4PyPCZ3uFh1zNyn0n/5sJhh+9c6yP2pCQKMFR1d3GFZK9QMr5i71LBR74VCFj+qQlxuIzdu2AER5W+Xdo8JEhBxKcfyoPAoLyeWnBOAq7sax/hJbAnAvK2Qt75EDquRzTtmYdB8DYDb4tWH8q1gw9Eli72wGYUe6lwqkaRCoZbeE4AMGl/iiXO8N8o8UIxtuWZG+BHnTIEUGcMsVcRu5vg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d/f6KcnxjmuXzQKyqBzEdB2sXtJfFweqelRMZY8EzeE=;
 b=IQa83p4DI6R/IvI4IXp399qbFszBd0GvnG/ohFcVk/1mF+RYt/35Uysa0yo6UiRzvaUsWbDxLPqJpLfTy+BC1NRt0usPYvnV4RtKdrDnsRBHe91ce+oUdsmlQ9QnbRe9ixtY+7Vq0D9ZF0WHNcUxivqIh465uaskTlbWaWLSNV0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <burzalodowa@gmail.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 10/11] xen/Arm: GICv3: Define macros to read/write 64 bit
Date: Mon, 5 Dec 2022 13:26:36 +0000
Message-ID: <20221205132637.26775-11-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000C969:EE_|PH7PR12MB5653:EE_
X-MS-Office365-Filtering-Correlation-Id: da91b90d-46c1-41ef-78da-08dad6d0791f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OezsHa977F9yKJL3YLSi90ZqxnL3Gh5SMEJs9SMXRWe65O75vkk0zS1KN27zjameRLc6w2vuEYP/N5VDkZD7ijonJSoNdznCEmXTCiWbzy9gfEPfhFrsoO5GFg8BV13zflGyfc49jM86KKPejQ/yQ5sk4vxETJ7YlnTYXPpWO1SIX5+h10ZioXbodVwd9hMMN5bl3sjBI9xDetQDO7Gg2NTSTBMBCoWBhbNLi9C9Sy+Ml5UpIYcAWq7K1XWgIiVt/XgqCxDUrP0yLSHC/XQw+bM0k5dyVlMQCqGgnCbjtM1uBf4eSYUNh3XMPhxEwfUtCF/JRC7uA5ImlhzBJbt7HfSU9fJkcWPx5jOdFN5Q6/Cu3o58me45yWp4KUWVuOJkfqrIeIrpufar9gds3jOOHgKSt28/GxsY4jya//K7hLS3IQX0fR9IF/mzaOPVannFjhlwIKeTnid513joQ3M7NbKkx/cBU62zOnbU8n9yeT9fizP03IDf+4b7tHH1yFFz32RpyQYhzd9TGLssyfkgYZtuCOhHyt44xvgLHLfmkXoH3Dry7srRy/O6xsftXhUdLq6u8d38kqRGA0HwfpWEx26swoD6z8fqy2xjii/HMbPRyhCT9AkyG3efHhDyP4yFAtToJpWp5MN/uYh7N6GbqWMnYse+BRCludFF+vCF5o5S6ljeAGIeBFesIkNAU4bYUQBzG2h5/kHz2n8U5janEKvPNWCOh1CJURKnKVVvzwc=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(136003)(396003)(376002)(451199015)(46966006)(40470700004)(36840700001)(1076003)(336012)(2616005)(54906003)(40460700003)(316002)(6916009)(81166007)(36756003)(103116003)(356005)(86362001)(40480700001)(426003)(82740400003)(83380400001)(82310400005)(5660300002)(186003)(26005)(47076005)(6666004)(36860700001)(2906002)(8936002)(70206006)(41300700001)(4326008)(478600001)(8676002)(70586007)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 14:53:29.9056
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: da91b90d-46c1-41ef-78da-08dad6d0791f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000C969.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5653

On AArch32, ldrd/strd instructions are not atomic when used to access MMIO.
Furthermore, ldrd/strd instructions are not decoded by Arm when running as
a guest to access emulated MMIO region.
Thus, we have defined readq_relaxed_non_atomic()/writeq_relaxed_non_atomic()
which in turn calls readl_relaxed()/writel_relaxed() for the lower and upper
32 bits.
For AArch64, readq_relaxed_non_atomic()/writeq_relaxed_non_atomic() invokes
readq_relaxed()/writeq_relaxed() respectively.
As GICv3 registers (GICD_IROUTER, GICR_TYPER) can be accessed in a non atomic
manner, so we have used readq_relaxed_non_atomic()/readq_relaxed_non_atomic().

However, the following points are noted for the non atomic access :-
1. In gicv3_dist_init(), using non atomic write on GICD_IROUTER is fine as this
gets invoked when interrupts are disabled.
2. In gicv3_populate_rdist(), using non atomic read on GICR_TYPER is fine as
the register is read and the interrupts are disabled as well.
3. In gicv3_irq_set_affinity(), using non atomic write on GICD_IROUTER. This
may be called with interrupts enabled. So, a non-atomic access (on AArch32)
means the GIC will see a transient value when only one of two 32-bit will be
updated. However, only AFF3 is defined in the upper 32 bits and they are 0, so
this will never change.
On AArch64, writeq_relaxed_non_atomic() invokes writeq_relaxed() (which is
atomic), so this problem does not arise.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---

Changes from :-
v1 - 1. Use ldrd/strd for readq_relaxed()/writeq_relaxed().
2. No need to use le64_to_cpu() as the returned byte order is already in cpu
endianess.

v2 - 1. Replace {read/write}q_relaxed with {read/write}q_relaxed_non_atomic().

v3 - 1. Use inline function definitions for {read/write}q_relaxed_non_atomic().
2. For AArch64, {read/write}q_relaxed_non_atomic() should invoke {read/write}q_relaxed().
Thus, we can avoid any ifdef in gic-v3.c.

v4 - 1. Updated the commit message.

 xen/arch/arm/gic-v3.c               |  6 +++---
 xen/arch/arm/include/asm/arm32/io.h | 20 ++++++++++++++++++++
 xen/arch/arm/include/asm/arm64/io.h |  2 ++
 3 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 6457e7033c..3c5b88148c 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -651,7 +651,7 @@ static void __init gicv3_dist_init(void)
     affinity &= ~GICD_IROUTER_SPI_MODE_ANY;
 
     for ( i = NR_GIC_LOCAL_IRQS; i < nr_lines; i++ )
-        writeq_relaxed(affinity, GICD + GICD_IROUTER + i * 8);
+        writeq_relaxed_non_atomic(affinity, GICD + GICD_IROUTER + i * 8);
 }
 
 static int gicv3_enable_redist(void)
@@ -745,7 +745,7 @@ static int __init gicv3_populate_rdist(void)
         }
 
         do {
-            typer = readq_relaxed(ptr + GICR_TYPER);
+            typer = readq_relaxed_non_atomic(ptr + GICR_TYPER);
 
             if ( (typer >> 32) == aff )
             {
@@ -1265,7 +1265,7 @@ static void gicv3_irq_set_affinity(struct irq_desc *desc, const cpumask_t *mask)
     affinity &= ~GICD_IROUTER_SPI_MODE_ANY;
 
     if ( desc->irq >= NR_GIC_LOCAL_IRQS )
-        writeq_relaxed(affinity, (GICD + GICD_IROUTER + desc->irq * 8));
+        writeq_relaxed_non_atomic(affinity, (GICD + GICD_IROUTER + desc->irq * 8));
 
     spin_unlock(&gicv3.lock);
 }
diff --git a/xen/arch/arm/include/asm/arm32/io.h b/xen/arch/arm/include/asm/arm32/io.h
index 73a879e9fb..782b564809 100644
--- a/xen/arch/arm/include/asm/arm32/io.h
+++ b/xen/arch/arm/include/asm/arm32/io.h
@@ -80,10 +80,30 @@ static inline u32 __raw_readl(const volatile void __iomem *addr)
                                         __raw_readw(c)); __r; })
 #define readl_relaxed(c) ({ u32 __r = le32_to_cpu((__force __le32) \
                                         __raw_readl(c)); __r; })
+/*
+ * ldrd instructions are not decoded by Arm when running as a guest to access
+ * emulated MMIO region. Thus, readq_relaxed_non_atomic() invokes readl_relaxed()
+ * twice to read the lower and upper 32 bits.
+ */
+static inline u64 readq_relaxed_non_atomic(const volatile void __iomem *addr)
+{
+        u64 val = (((u64)readl_relaxed(addr + 4)) << 32) | readl_relaxed(addr);
+        return val;
+}
 
 #define writeb_relaxed(v,c)     __raw_writeb(v,c)
 #define writew_relaxed(v,c)     __raw_writew((__force u16) cpu_to_le16(v),c)
 #define writel_relaxed(v,c)     __raw_writel((__force u32) cpu_to_le32(v),c)
+/*
+ * strd instructions are not decoded by Arm when running as a guest to access
+ * emulated MMIO region. Thus, writeq_relaxed_non_atomic() invokes writel_relaxed()
+ * twice to write the lower and upper 32 bits.
+ */
+static inline void writeq_relaxed_non_atomic(u64 val, volatile void __iomem *addr)
+{
+        writel_relaxed((u32)val, addr);
+        writel_relaxed((u32)(val >> 32), addr + 4);
+}
 
 #define readb(c)                ({ u8  __v = readb_relaxed(c); __iormb(); __v; })
 #define readw(c)                ({ u16 __v = readw_relaxed(c); __iormb(); __v; })
diff --git a/xen/arch/arm/include/asm/arm64/io.h b/xen/arch/arm/include/asm/arm64/io.h
index 30bfc78d9e..2e2ab24f78 100644
--- a/xen/arch/arm/include/asm/arm64/io.h
+++ b/xen/arch/arm/include/asm/arm64/io.h
@@ -102,11 +102,13 @@ static inline u64 __raw_readq(const volatile void __iomem *addr)
 #define readw_relaxed(c)        ({ u16 __v = le16_to_cpu((__force __le16)__raw_readw(c)); __v; })
 #define readl_relaxed(c)        ({ u32 __v = le32_to_cpu((__force __le32)__raw_readl(c)); __v; })
 #define readq_relaxed(c)        ({ u64 __v = le64_to_cpu((__force __le64)__raw_readq(c)); __v; })
+#define readq_relaxed_non_atomic(c)           readq_relaxed(c)
 
 #define writeb_relaxed(v,c)     ((void)__raw_writeb((v),(c)))
 #define writew_relaxed(v,c)     ((void)__raw_writew((__force u16)cpu_to_le16(v),(c)))
 #define writel_relaxed(v,c)     ((void)__raw_writel((__force u32)cpu_to_le32(v),(c)))
 #define writeq_relaxed(v,c)     ((void)__raw_writeq((__force u64)cpu_to_le64(v),(c)))
+#define writeq_relaxed_non_atomic(v,c)        writeq_relaxed(v,c)
 
 /*
  * I/O memory access primitives. Reads are ordered relative to any
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:55:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:55:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453838.711457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CsA-0006IJ-JA; Mon, 05 Dec 2022 14:55:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453838.711457; Mon, 05 Dec 2022 14:55:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2CsA-0006IC-GH; Mon, 05 Dec 2022 14:55:10 +0000
Received: by outflank-mailman (input) for mailman id 453838;
 Mon, 05 Dec 2022 14:55:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NO0Y=4D=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p2Cs9-0006I4-Dv
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:55:09 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20612.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce740ee0-74ac-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 15:55:07 +0100 (CET)
Received: from BN9PR03CA0970.namprd03.prod.outlook.com (2603:10b6:408:109::15)
 by PH8PR12MB6962.namprd12.prod.outlook.com (2603:10b6:510:1bd::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 5 Dec
 2022 14:55:03 +0000
Received: from BN8NAM11FT058.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:109:cafe::3e) by BN9PR03CA0970.outlook.office365.com
 (2603:10b6:408:109::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Mon, 5 Dec 2022 14:55:03 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT058.mail.protection.outlook.com (10.13.177.58) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.14 via Frontend Transport; Mon, 5 Dec 2022 14:55:03 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 07:28:13 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 5 Dec
 2022 05:28:12 -0800
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 5 Dec 2022 07:28:11 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce740ee0-74ac-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KgGwLNd5/+YSv5n0K32vNNJ0Sgp4XXj367FieZbFQF9QAYIciIE6PBh6QDLBHUoh3dbj7YFvQYUyLcXNbTsPmgn4XHLSi3MA2Nm+eBPmugigAg1n9iZ159veL5fB95P9Xu/2SnAov5ehKBrIQ9hHrjZoaXq/49fRBct8XcmNrI1ctu67bSFPWLardnlcao+kLG0ZJo3+NGIC4E9ajqgdI8sEj5//o/IKR0WGhYPHdObKb/mNc+sO3zr2X23btG6dj4cxS16G6Ad6Y/OLC8vLOeucy/dIlLXxsBAZOh2JEg8x9bmWlgo+KkSVlyAUMiUXUTnWLEH8eY/jrZ0TcyyYpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pitUdhtGNwCL78oKiSmhss6QoDqvkOn2pEZ1iZlgPEI=;
 b=Q1Lgog1PcEixEH+vX2q5M7hm50jkXWFVMLqz4b5PVRu+gSd7cb5wvW4zwCK9c5Cr8BHHz89V3k3bl6UX7vOyOrzQ3JWXWo2s6ZgAfGPhVDTv+rAQ3NdjmafGpDztSdeA4dJRZYxgNMfzezSwEzqJXWaq7gtrO6T2mvLDYQpiNjLCvo8y5JaEU7WwA4vLEiyO1FiE/wDymjDEt6G3eD7cdTla4cBQnTXgq0Qlg2KY2FWcW9t3Yf6IXyO0lWxVlTCFmEXJRYKVFzezzxXePKOeJXvkwbETwPfBDMlOFzDPy+/jufVOEEfdidzkL7S4K9yP9eMPc/DDZZ9JQJW9qesnKA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pitUdhtGNwCL78oKiSmhss6QoDqvkOn2pEZ1iZlgPEI=;
 b=oZeof0KwOH9GZCbU0hTebZOsfU9KVzIdkJi+1wVnC1gKGiUqremkZfxJk/l/U1uepuRS2PUELOWIPaDosi0zR2MGUYK49eaxkktVP1htXwj8N0WIYmtuZCTbeUDeChPxSVFiYCpqkEikarN/Fz0OzVC6URkYRBCxTqBrZc0gUp8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <burzalodowa@gmail.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 07/11] xen/Arm: GICv3: Define ICH_LR<n>_EL2 on AArch32
Date: Mon, 5 Dec 2022 13:26:33 +0000
Message-ID: <20221205132637.26775-8-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT058:EE_|PH8PR12MB6962:EE_
X-MS-Office365-Filtering-Correlation-Id: 276fce4d-0e2b-426b-f189-08dad6d0b0fa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zgcFa0pJxBzws6aenglcOYyaZOa2t7GjdWYTh7+KpBRRUdRz6IvFcABSsA8xEJ7weF9CGSpYYoYyaqH+XU/Ywpr9TKH46jrxO4v9zIEcVFIghsRM/zEkmY/SYbvBRPXZdywDpMdOb8VadylygpAz0KS7pBMdaQTshqInhWBqrW+rF8nkJT6T34UQKWsXfk1AGq5Ps3P7Gl4om/nlg2PfblrNokBDRwGXgZ7gaYVSg9BGl1PXCXKwOeBF1/9Sn0lw15P7BSoGLxSJUoS/lL5fvpODQadaLEK2oPGjD7pw/okWIfN1MI883ERZ2GRvhew+5I2vDlyLWoNAJ4O0SlkZ8HBs7O46HyC5y2Mq/+CL2wL6AQgUqG3ls/j+xD8CmaAQgdhbo1qESIbaH6rNy5FAUyp91rw3jSMhoej2AftcQBxXG3CKFD9eFtVTYr/skn7DTr0YI9SyYV2r6oJDbYukpaik70T9HAJ9B5UHqxoLN+NMzWezkcfaJ16/hrBFjnn6fUzAeFfUvAdYuwqRwTaMbHeHboUs4hW+mP1ibROCj/juqRPaaAh/Pg6/52asJGs1rUBU9d8n/jToVNKMu1B5hapkaFPuhnWsw1ZjmhSxU9zkrp/Vo60h/qnvoRj73tZjWdKoXH6wapfPDE9x8MuXUNsO4sPmZWplt1wke3AAchaVnWWU6bn9w8uFlMVeG/POqb5BORV15d1xtyDNmzFoyr32s1mhGn4BZ/4s3x9L2rE=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(39860400002)(136003)(396003)(451199015)(36840700001)(40470700004)(46966006)(82310400005)(36756003)(40480700001)(316002)(426003)(83380400001)(186003)(336012)(6916009)(1076003)(26005)(54906003)(6666004)(47076005)(86362001)(2906002)(103116003)(8676002)(70586007)(4326008)(36860700001)(70206006)(81166007)(82740400003)(40460700003)(478600001)(2616005)(356005)(30864003)(5660300002)(8936002)(41300700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 14:55:03.6655
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 276fce4d-0e2b-426b-f189-08dad6d0b0fa
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT058.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6962

Refer "Arm IHI 0069H ID020922", 12.4.6, Interrupt Controller List Registers

AArch64 System register ICH_LR<n>_EL2 bits [31:0] are architecturally
mapped to AArch32 System register ICH_LR<n>[31:0].
AArch64 System register ICH_LR<n>_EL2 bits [63:32] are architecturally
mapped to AArch32 System register ICH_LRC<n>[31:0].

Defined ICH_LR<0...15>_EL2 and ICH_LRC<0...15>_EL2 for AArch32.
For AArch32, the link register is stored as :-
(((uint64_t) ICH_LRC<0...15>_EL2) << 32) | ICH_LR<0...15>_EL2

Also, ICR_LR macros need to be modified as ULL is 64 bits for AArch32 and
AArch64.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from :-
v1 - 1. Moved the coproc register definitions to asm/cpregs.h.
2. Use GENMASK(31, 0) to represent 0xFFFFFFFF
3. Use READ_CP32()/WRITE_CP32() instead of READ_SYSREG()/WRITE_SYSREG().
4. Multi-line macro definitions should be enclosed within ({ }).

v2 - 1. Use WRITE_SYSREG_LR(V, R) to make it consistent with before.
2. Defined the register alias.
3. Style issues.

v3 - 1. Addressed style issues.

v4 - 1. Replaces ___CP32(foo) with foo.
2. Removed the definition of ___CP32().

 xen/arch/arm/gic-v3.c                    | 132 +++++++++++------------
 xen/arch/arm/include/asm/arm32/sysregs.h |  19 ++++
 xen/arch/arm/include/asm/arm64/sysregs.h |   5 +
 xen/arch/arm/include/asm/cpregs.h        |  74 +++++++++++++
 xen/arch/arm/include/asm/gic_v3_defs.h   |   8 +-
 5 files changed, 168 insertions(+), 70 deletions(-)

diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 64a76307dd..6457e7033c 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -73,37 +73,37 @@ static inline void gicv3_save_lrs(struct vcpu *v)
     switch ( gicv3_info.nr_lrs )
     {
     case 16:
-        v->arch.gic.v3.lr[15] = READ_SYSREG(ICH_LR15_EL2);
+        v->arch.gic.v3.lr[15] = READ_SYSREG_LR(15);
     case 15:
-        v->arch.gic.v3.lr[14] = READ_SYSREG(ICH_LR14_EL2);
+        v->arch.gic.v3.lr[14] = READ_SYSREG_LR(14);
     case 14:
-        v->arch.gic.v3.lr[13] = READ_SYSREG(ICH_LR13_EL2);
+        v->arch.gic.v3.lr[13] = READ_SYSREG_LR(13);
     case 13:
-        v->arch.gic.v3.lr[12] = READ_SYSREG(ICH_LR12_EL2);
+        v->arch.gic.v3.lr[12] = READ_SYSREG_LR(12);
     case 12:
-        v->arch.gic.v3.lr[11] = READ_SYSREG(ICH_LR11_EL2);
+        v->arch.gic.v3.lr[11] = READ_SYSREG_LR(11);
     case 11:
-        v->arch.gic.v3.lr[10] = READ_SYSREG(ICH_LR10_EL2);
+        v->arch.gic.v3.lr[10] = READ_SYSREG_LR(10);
     case 10:
-        v->arch.gic.v3.lr[9] = READ_SYSREG(ICH_LR9_EL2);
+        v->arch.gic.v3.lr[9] = READ_SYSREG_LR(9);
     case 9:
-        v->arch.gic.v3.lr[8] = READ_SYSREG(ICH_LR8_EL2);
+        v->arch.gic.v3.lr[8] = READ_SYSREG_LR(8);
     case 8:
-        v->arch.gic.v3.lr[7] = READ_SYSREG(ICH_LR7_EL2);
+        v->arch.gic.v3.lr[7] = READ_SYSREG_LR(7);
     case 7:
-        v->arch.gic.v3.lr[6] = READ_SYSREG(ICH_LR6_EL2);
+        v->arch.gic.v3.lr[6] = READ_SYSREG_LR(6);
     case 6:
-        v->arch.gic.v3.lr[5] = READ_SYSREG(ICH_LR5_EL2);
+        v->arch.gic.v3.lr[5] = READ_SYSREG_LR(5);
     case 5:
-        v->arch.gic.v3.lr[4] = READ_SYSREG(ICH_LR4_EL2);
+        v->arch.gic.v3.lr[4] = READ_SYSREG_LR(4);
     case 4:
-        v->arch.gic.v3.lr[3] = READ_SYSREG(ICH_LR3_EL2);
+        v->arch.gic.v3.lr[3] = READ_SYSREG_LR(3);
     case 3:
-        v->arch.gic.v3.lr[2] = READ_SYSREG(ICH_LR2_EL2);
+        v->arch.gic.v3.lr[2] = READ_SYSREG_LR(2);
     case 2:
-        v->arch.gic.v3.lr[1] = READ_SYSREG(ICH_LR1_EL2);
+        v->arch.gic.v3.lr[1] = READ_SYSREG_LR(1);
     case 1:
-         v->arch.gic.v3.lr[0] = READ_SYSREG(ICH_LR0_EL2);
+         v->arch.gic.v3.lr[0] = READ_SYSREG_LR(0);
          break;
     default:
          BUG();
@@ -120,37 +120,37 @@ static inline void gicv3_restore_lrs(const struct vcpu *v)
     switch ( gicv3_info.nr_lrs )
     {
     case 16:
-        WRITE_SYSREG(v->arch.gic.v3.lr[15], ICH_LR15_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[15], 15);
     case 15:
-        WRITE_SYSREG(v->arch.gic.v3.lr[14], ICH_LR14_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[14], 14);
     case 14:
-        WRITE_SYSREG(v->arch.gic.v3.lr[13], ICH_LR13_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[13], 13);
     case 13:
-        WRITE_SYSREG(v->arch.gic.v3.lr[12], ICH_LR12_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[12], 12);
     case 12:
-        WRITE_SYSREG(v->arch.gic.v3.lr[11], ICH_LR11_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[11], 11);
     case 11:
-        WRITE_SYSREG(v->arch.gic.v3.lr[10], ICH_LR10_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[10], 10);
     case 10:
-        WRITE_SYSREG(v->arch.gic.v3.lr[9], ICH_LR9_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[9], 9);
     case 9:
-        WRITE_SYSREG(v->arch.gic.v3.lr[8], ICH_LR8_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[8], 8);
     case 8:
-        WRITE_SYSREG(v->arch.gic.v3.lr[7], ICH_LR7_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[7], 7);
     case 7:
-        WRITE_SYSREG(v->arch.gic.v3.lr[6], ICH_LR6_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[6], 6);
     case 6:
-        WRITE_SYSREG(v->arch.gic.v3.lr[5], ICH_LR5_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[5], 5);
     case 5:
-        WRITE_SYSREG(v->arch.gic.v3.lr[4], ICH_LR4_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[4], 4);
     case 4:
-        WRITE_SYSREG(v->arch.gic.v3.lr[3], ICH_LR3_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[3], 3);
     case 3:
-        WRITE_SYSREG(v->arch.gic.v3.lr[2], ICH_LR2_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[2], 2);
     case 2:
-        WRITE_SYSREG(v->arch.gic.v3.lr[1], ICH_LR1_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[1], 1);
     case 1:
-        WRITE_SYSREG(v->arch.gic.v3.lr[0], ICH_LR0_EL2);
+        WRITE_SYSREG_LR(v->arch.gic.v3.lr[0], 0);
         break;
     default:
          BUG();
@@ -161,22 +161,22 @@ static uint64_t gicv3_ich_read_lr(int lr)
 {
     switch ( lr )
     {
-    case 0: return READ_SYSREG(ICH_LR0_EL2);
-    case 1: return READ_SYSREG(ICH_LR1_EL2);
-    case 2: return READ_SYSREG(ICH_LR2_EL2);
-    case 3: return READ_SYSREG(ICH_LR3_EL2);
-    case 4: return READ_SYSREG(ICH_LR4_EL2);
-    case 5: return READ_SYSREG(ICH_LR5_EL2);
-    case 6: return READ_SYSREG(ICH_LR6_EL2);
-    case 7: return READ_SYSREG(ICH_LR7_EL2);
-    case 8: return READ_SYSREG(ICH_LR8_EL2);
-    case 9: return READ_SYSREG(ICH_LR9_EL2);
-    case 10: return READ_SYSREG(ICH_LR10_EL2);
-    case 11: return READ_SYSREG(ICH_LR11_EL2);
-    case 12: return READ_SYSREG(ICH_LR12_EL2);
-    case 13: return READ_SYSREG(ICH_LR13_EL2);
-    case 14: return READ_SYSREG(ICH_LR14_EL2);
-    case 15: return READ_SYSREG(ICH_LR15_EL2);
+    case 0: return READ_SYSREG_LR(0);
+    case 1: return READ_SYSREG_LR(1);
+    case 2: return READ_SYSREG_LR(2);
+    case 3: return READ_SYSREG_LR(3);
+    case 4: return READ_SYSREG_LR(4);
+    case 5: return READ_SYSREG_LR(5);
+    case 6: return READ_SYSREG_LR(6);
+    case 7: return READ_SYSREG_LR(7);
+    case 8: return READ_SYSREG_LR(8);
+    case 9: return READ_SYSREG_LR(9);
+    case 10: return READ_SYSREG_LR(10);
+    case 11: return READ_SYSREG_LR(11);
+    case 12: return READ_SYSREG_LR(12);
+    case 13: return READ_SYSREG_LR(13);
+    case 14: return READ_SYSREG_LR(14);
+    case 15: return READ_SYSREG_LR(15);
     default:
         BUG();
     }
@@ -187,52 +187,52 @@ static void gicv3_ich_write_lr(int lr, uint64_t val)
     switch ( lr )
     {
     case 0:
-        WRITE_SYSREG(val, ICH_LR0_EL2);
+        WRITE_SYSREG_LR(val, 0);
         break;
     case 1:
-        WRITE_SYSREG(val, ICH_LR1_EL2);
+        WRITE_SYSREG_LR(val, 1);
         break;
     case 2:
-        WRITE_SYSREG(val, ICH_LR2_EL2);
+        WRITE_SYSREG_LR(val, 2);
         break;
     case 3:
-        WRITE_SYSREG(val, ICH_LR3_EL2);
+        WRITE_SYSREG_LR(val, 3);
         break;
     case 4:
-        WRITE_SYSREG(val, ICH_LR4_EL2);
+        WRITE_SYSREG_LR(val, 4);
         break;
     case 5:
-        WRITE_SYSREG(val, ICH_LR5_EL2);
+        WRITE_SYSREG_LR(val, 5);
         break;
     case 6:
-        WRITE_SYSREG(val, ICH_LR6_EL2);
+        WRITE_SYSREG_LR(val, 6);
         break;
     case 7:
-        WRITE_SYSREG(val, ICH_LR7_EL2);
+        WRITE_SYSREG_LR(val, 7);
         break;
     case 8:
-        WRITE_SYSREG(val, ICH_LR8_EL2);
+        WRITE_SYSREG_LR(val, 8);
         break;
     case 9:
-        WRITE_SYSREG(val, ICH_LR9_EL2);
+        WRITE_SYSREG_LR(val, 9);
         break;
     case 10:
-        WRITE_SYSREG(val, ICH_LR10_EL2);
+        WRITE_SYSREG_LR(val, 10);
         break;
     case 11:
-        WRITE_SYSREG(val, ICH_LR11_EL2);
+        WRITE_SYSREG_LR(val, 11);
         break;
     case 12:
-        WRITE_SYSREG(val, ICH_LR12_EL2);
+        WRITE_SYSREG_LR(val, 12);
         break;
     case 13:
-        WRITE_SYSREG(val, ICH_LR13_EL2);
+        WRITE_SYSREG_LR(val, 13);
         break;
     case 14:
-        WRITE_SYSREG(val, ICH_LR14_EL2);
+        WRITE_SYSREG_LR(val, 14);
         break;
     case 15:
-        WRITE_SYSREG(val, ICH_LR15_EL2);
+        WRITE_SYSREG_LR(val, 15);
         break;
     default:
         return;
@@ -417,12 +417,12 @@ static void gicv3_dump_state(const struct vcpu *v)
     if ( v == current )
     {
         for ( i = 0; i < gicv3_info.nr_lrs; i++ )
-            printk("   HW_LR[%d]=%lx\n", i, gicv3_ich_read_lr(i));
+            printk("   HW_LR[%d]=%" PRIx64 "\n", i, gicv3_ich_read_lr(i));
     }
     else
     {
         for ( i = 0; i < gicv3_info.nr_lrs; i++ )
-            printk("   VCPU_LR[%d]=%lx\n", i, v->arch.gic.v3.lr[i]);
+            printk("   VCPU_LR[%d]=%" PRIx64 "\n", i, v->arch.gic.v3.lr[i]);
     }
 }
 
diff --git a/xen/arch/arm/include/asm/arm32/sysregs.h b/xen/arch/arm/include/asm/arm32/sysregs.h
index 6841d5de43..22871999af 100644
--- a/xen/arch/arm/include/asm/arm32/sysregs.h
+++ b/xen/arch/arm/include/asm/arm32/sysregs.h
@@ -62,6 +62,25 @@
 #define READ_SYSREG(R...)       READ_SYSREG32(R)
 #define WRITE_SYSREG(V, R...)   WRITE_SYSREG32(V, R)
 
+/* Wrappers for accessing interrupt controller list registers. */
+#define ICH_LR_REG(index)       ICH_LR ## index ## _EL2
+#define ICH_LRC_REG(index)      ICH_LRC ## index ## _EL2
+
+#define READ_SYSREG_LR(index) ({                            \
+    uint64_t _val;                                          \
+    uint32_t _lrc = READ_CP32(ICH_LRC_REG(index));          \
+    uint32_t _lr = READ_CP32(ICH_LR_REG(index));            \
+                                                            \
+    _val = ((uint64_t) _lrc << 32) | _lr;                   \
+    _val;                                                   \
+})
+
+#define WRITE_SYSREG_LR(v, index) ({                        \
+    uint64_t _val = (v);                                    \
+    WRITE_CP32(_val & GENMASK(31, 0), ICH_LR_REG(index));   \
+    WRITE_CP32(_val >> 32, ICH_LRC_REG(index));             \
+})
+
 /* MVFR2 is not defined on ARMv7 */
 #define MVFR2_MAYBE_UNDEFINED
 
diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
index 54670084c3..4638999514 100644
--- a/xen/arch/arm/include/asm/arm64/sysregs.h
+++ b/xen/arch/arm/include/asm/arm64/sysregs.h
@@ -472,6 +472,11 @@
 #define READ_SYSREG(name)     READ_SYSREG64(name)
 #define WRITE_SYSREG(v, name) WRITE_SYSREG64(v, name)
 
+/* Wrappers for accessing interrupt controller list registers. */
+#define ICH_LR_REG(index)          ICH_LR ## index ## _EL2
+#define WRITE_SYSREG_LR(v, index)  WRITE_SYSREG(v, ICH_LR_REG(index))
+#define READ_SYSREG_LR(index)      READ_SYSREG(ICH_LR_REG(index))
+
 #endif /* _ASM_ARM_ARM64_SYSREGS_H */
 
 /*
diff --git a/xen/arch/arm/include/asm/cpregs.h b/xen/arch/arm/include/asm/cpregs.h
index 6daf2b1a30..7550fb25f5 100644
--- a/xen/arch/arm/include/asm/cpregs.h
+++ b/xen/arch/arm/include/asm/cpregs.h
@@ -259,6 +259,48 @@
 #define VBAR            p15,0,c12,c0,0  /* Vector Base Address Register */
 #define HVBAR           p15,4,c12,c0,0  /* Hyp. Vector Base Address Register */
 
+/* CP15 CR12: Interrupt Controller List Registers, n = 0 - 15 */
+#define __LR0(x)        p15, 4, c12, c12, x
+#define __LR8(x)        p15, 4, c12, c13, x
+
+#define ICH_LR0         __LR0(0)
+#define ICH_LR1         __LR0(1)
+#define ICH_LR2         __LR0(2)
+#define ICH_LR3         __LR0(3)
+#define ICH_LR4         __LR0(4)
+#define ICH_LR5         __LR0(5)
+#define ICH_LR6         __LR0(6)
+#define ICH_LR7         __LR0(7)
+#define ICH_LR8         __LR8(0)
+#define ICH_LR9         __LR8(1)
+#define ICH_LR10        __LR8(2)
+#define ICH_LR11        __LR8(3)
+#define ICH_LR12        __LR8(4)
+#define ICH_LR13        __LR8(5)
+#define ICH_LR14        __LR8(6)
+#define ICH_LR15        __LR8(7)
+
+/* CP15 CR12: Interrupt Controller List Registers, n = 0 - 15 */
+#define __LRC0(x)       p15, 4, c12, c14, x
+#define __LRC8(x)       p15, 4, c12, c15, x
+
+#define ICH_LRC0        __LRC0(0)
+#define ICH_LRC1        __LRC0(1)
+#define ICH_LRC2        __LRC0(2)
+#define ICH_LRC3        __LRC0(3)
+#define ICH_LRC4        __LRC0(4)
+#define ICH_LRC5        __LRC0(5)
+#define ICH_LRC6        __LRC0(6)
+#define ICH_LRC7        __LRC0(7)
+#define ICH_LRC8        __LRC8(0)
+#define ICH_LRC9        __LRC8(1)
+#define ICH_LRC10       __LRC8(2)
+#define ICH_LRC11       __LRC8(3)
+#define ICH_LRC12       __LRC8(4)
+#define ICH_LRC13       __LRC8(5)
+#define ICH_LRC14       __LRC8(6)
+#define ICH_LRC15       __LRC8(7)
+
 /* CP15 CR13:  */
 #define FCSEIDR         p15,0,c13,c0,0  /* FCSE Process ID Register */
 #define CONTEXTIDR      p15,0,c13,c0,1  /* Context ID Register */
@@ -317,6 +359,38 @@
 #define HCR_EL2                 HCR
 #define HPFAR_EL2               HPFAR
 #define HSTR_EL2                HSTR
+#define ICH_LR0_EL2             ICH_LR0
+#define ICH_LR1_EL2             ICH_LR1
+#define ICH_LR2_EL2             ICH_LR2
+#define ICH_LR3_EL2             ICH_LR3
+#define ICH_LR4_EL2             ICH_LR4
+#define ICH_LR5_EL2             ICH_LR5
+#define ICH_LR6_EL2             ICH_LR6
+#define ICH_LR7_EL2             ICH_LR7
+#define ICH_LR8_EL2             ICH_LR8
+#define ICH_LR9_EL2             ICH_LR9
+#define ICH_LR10_EL2            ICH_LR10
+#define ICH_LR11_EL2            ICH_LR11
+#define ICH_LR12_EL2            ICH_LR12
+#define ICH_LR13_EL2            ICH_LR13
+#define ICH_LR14_EL2            ICH_LR14
+#define ICH_LR15_EL2            ICH_LR15
+#define ICH_LRC0_EL2            ICH_LRC0
+#define ICH_LRC1_EL2            ICH_LRC1
+#define ICH_LRC2_EL2            ICH_LRC2
+#define ICH_LRC3_EL2            ICH_LRC3
+#define ICH_LRC4_EL2            ICH_LRC4
+#define ICH_LRC5_EL2            ICH_LRC5
+#define ICH_LRC6_EL2            ICH_LRC6
+#define ICH_LRC7_EL2            ICH_LRC7
+#define ICH_LRC8_EL2            ICH_LRC8
+#define ICH_LRC9_EL2            ICH_LRC9
+#define ICH_LRC10_EL2           ICH_LRC10
+#define ICH_LRC11_EL2           ICH_LRC11
+#define ICH_LRC12_EL2           ICH_LRC12
+#define ICH_LRC13_EL2           ICH_LRC13
+#define ICH_LRC14_EL2           ICH_LRC14
+#define ICH_LRC15_EL2           ICH_LRC15
 #define ID_AFR0_EL1             ID_AFR0
 #define ID_DFR0_EL1             ID_DFR0
 #define ID_DFR1_EL1             ID_DFR1
diff --git a/xen/arch/arm/include/asm/gic_v3_defs.h b/xen/arch/arm/include/asm/gic_v3_defs.h
index 48a1bc401e..227533868f 100644
--- a/xen/arch/arm/include/asm/gic_v3_defs.h
+++ b/xen/arch/arm/include/asm/gic_v3_defs.h
@@ -185,9 +185,9 @@
 #define ICH_LR_HW_SHIFT              61
 #define ICH_LR_GRP_MASK              0x1
 #define ICH_LR_GRP_SHIFT             60
-#define ICH_LR_MAINTENANCE_IRQ       (1UL<<41)
-#define ICH_LR_GRP1                  (1UL<<60)
-#define ICH_LR_HW                    (1UL<<61)
+#define ICH_LR_MAINTENANCE_IRQ       (1ULL << 41)
+#define ICH_LR_GRP1                  (1ULL << 60)
+#define ICH_LR_HW                    (1ULL << 61)
 
 #define ICH_VTR_NRLRGS               0x3f
 #define ICH_VTR_PRIBITS_MASK         0x7
@@ -195,7 +195,7 @@
 
 #define ICH_SGI_IRQMODE_SHIFT        40
 #define ICH_SGI_IRQMODE_MASK         0x1
-#define ICH_SGI_TARGET_OTHERS        1UL
+#define ICH_SGI_TARGET_OTHERS        1ULL
 #define ICH_SGI_TARGET_LIST          0
 #define ICH_SGI_IRQ_SHIFT            24
 #define ICH_SGI_IRQ_MASK             0xf
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 14:57:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 14:57:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453850.711469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Cu3-00070J-2s; Mon, 05 Dec 2022 14:57:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453850.711469; Mon, 05 Dec 2022 14:57:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Cu2-00070C-WD; Mon, 05 Dec 2022 14:57:07 +0000
Received: by outflank-mailman (input) for mailman id 453850;
 Mon, 05 Dec 2022 14:57:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vUwf=4D=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p2Cu1-000706-9s
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 14:57:05 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20621.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1443a2c2-74ad-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 15:57:03 +0100 (CET)
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DB9PR08MB8436.eurprd08.prod.outlook.com (2603:10a6:10:3d4::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 5 Dec
 2022 14:56:57 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 14:56:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1443a2c2-74ad-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EgkjERc0l+YVl6XGccxBtdokAkNOJGrI6LohibqJnqCiopjcIYkOeyp/OB0jvoSMe+sydOEBu1Xyi7hWcehyLqWlmv03jeitk4n4JaSTRS8tcxmo7E9rFjlCVkQfpLoSp5RCjXlBeS8G/T0FABiPxiy8vjeYOxj050mxBhYT59rZ1llkfY0jQMyJ3azppU6f6xIb0ukt6kgUA4v5RggYuYfW7EB1wefuQrZfayXK4E7JLBbOVK5WBCb9OfRrnNL6C7DsivS9arQHZTkWw1vSV9qjTHQr8B/xLKcbNW1drOJUayExBw3aNVXw6tczaXn9hdD4U0jt77KnbZ2I9VeLxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QLlUycEOhuBw36JwxjaJ1vE3H+TJfqAPzhtJXhPlg5Y=;
 b=jCPb968p6K9xFQNMU9KSbBt8iaveRJm+98yuGF8/O34qYlkPk9udfylFAiYSwmZIz/4yQKRm2nFJTaZ1XQDLaYkXIp0Dqpq0o7Zr7DDIBw8fj6EcVEC9SemZPf4YC0j00DONItKfb1MH0rkaCM1vjOAfkWD4vI2+d07slzSw+8e257KFn1zYtRaa/j5iJPUEoNZP7N3jPgNyNzPNyIzaPP84XGg8Vlp+W01BptEogaZXzPio84g5u4emiFp0Pj0DyLVKhkZq/0eTtCg+cOs9AV+zT3Ilm5mKMXOlddLkHHWDAVI2yjijrEf/OpBcRpoIRev2yLOtABZNWvP9Fj5xnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QLlUycEOhuBw36JwxjaJ1vE3H+TJfqAPzhtJXhPlg5Y=;
 b=Om47yCpD0W5eYJkoP1XYEKzYzUawyKTHJ/GhgIieVZx2+fovlfCofmMkxL8SvdnIBn2mH4QHq4ZzWL4YCfpCHVTwO9mty6EtsLH16YmxoW0FwTErgPsJVXHXbNcj2AXXoDhMjV+QjpyLf2Xif4gKj6tVRS2y1q5cgzTQ0eh1XeE=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen developer discussion <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [RFC PATCH 08/21] xen/arm: vsmmuv3: Add support for registers
 emulation
Thread-Topic: [RFC PATCH 08/21] xen/arm: vsmmuv3: Add support for registers
 emulation
Thread-Index: AQHZBZ9FZaLvsMLqiEuR+y6v1y6G4a5crcqAgAK6j4A=
Date: Mon, 5 Dec 2022 14:56:57 +0000
Message-ID: <E2B0312C-36B1-4AA4-8713-7C0CE650D7A9@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <89018b50b5b0c2c4a406c5a8779b7fd33d59d1e4.1669888522.git.rahul.singh@arm.com>
 <1479c5e5-2073-aa58-7078-581d73f493f6@xen.org>
In-Reply-To: <1479c5e5-2073-aa58-7078-581d73f493f6@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AS8PR08MB7158:EE_|DB9PR08MB8436:EE_
x-ms-office365-filtering-correlation-id: 68679cc6-7312-47f5-fa18-08dad6d0f4ea
nodisclaimer: true
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 goZZ66DNKkdm5g0ztZw7TAY9TH29artsBU8oIcM1pXwkADqaySOV0Gk2VIDG9SseaoBliAipLD2k+0zqCta9HWSo8/T7g6Ce0sAsvzmWZjDeg7YOLHBLB/y6qh1lnrIGwQbzWl4Pr8SqwJK0/OnRB6jPlb8q8Ck77LZG1D8g02E9LqFwhIgB+qHB4ZjQSD7g7mK18fqND0bHg/2woRJ1lhtcCgpsVT4YrT0bZxBzkCwZ+mmvdSpAmLjKNwMeDStOh7iFqoT6wCNfJ2ZHJw3ur6SNN14WfFFAKNmXlCJMftWtH0jnhTWKeGnvLhLYybe2tlGxjylrCiQCXRSfr+HjMOV7oBJg5FnrvlrteYcYZWrZLEtr8Qp4tDqsjJGr/KDVpGWAidY4b1pRubJ1DzH27RrHLHbkwno9GkweRai9LUZ7VJC6ciK28wsAK3Y8gEqG/tuQVNdIH+1zY3y+Ejki5IaYZ/IAPHxzJroYXZ3mccFTazDCW1GEfZf6fN/wr7KgK5AIYprP1KueDQkqPgIECnBHRb0i4nxcWteVFrtNRaB6or+k1S633N5GXfup4nuC24RlLm6KMTH6KAL1wRKUxN02b/92aacEwmQ6yFFXwSpNyillZodc4NwFoAsNRNcQ49GoJDs3ArtkiVP53vOSKRlUafiareNTnoSB5witvjV2nmnqJ8jOKkDI0slpTyxZdJ1OE+ZR0WLf2AoiLdzXQpsI6SLgbRqqCmc7uQAtyCw=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(39860400002)(136003)(346002)(376002)(451199015)(38070700005)(4744005)(38100700002)(66446008)(122000001)(316002)(64756008)(5660300002)(76116006)(8676002)(66946007)(66476007)(26005)(91956017)(66556008)(6512007)(4326008)(6916009)(54906003)(2906002)(186003)(36756003)(86362001)(6506007)(6486002)(8936002)(33656002)(2616005)(53546011)(478600001)(41300700001)(71200400001)(83380400001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?Se9+oTWlS63c+CAdns8kJtXxCzayX+t8uycwUM7wFqdIYiPXpNoG/kVCrfpr?=
 =?us-ascii?Q?uvWE28KMrSOhDh98bx5OjW9xla7vH9oBNbIalV2EaUv98T0Bo9IqofKMD88m?=
 =?us-ascii?Q?vpZdI/G+lu9eLQuzHDc9d7orDKt7qDxhbBI5jvYPi9M+yLSi/DthaAag5Wla?=
 =?us-ascii?Q?CDj9FmXkzmmgOq3zyGTI9RbRfHgb6kLch+fheJ7Ykt+i4Sisq9wEb9Y9GzCh?=
 =?us-ascii?Q?15ZGvrpDz7IZPsbt1i2E1fABs66a4ZhBjZClpvGYSp82RDE/HP021agCzuw4?=
 =?us-ascii?Q?kX5AB16SI1mCxFw8GHYUOmCWx8ovAxbLFcjnP6OwHhCrNd3gN6CP3t47Vddc?=
 =?us-ascii?Q?nK1yD1FvDaPEx9kIs6UyEqw98S0R/BfkLjZbfHG8uri2hzqHFgXmXlEiKPEs?=
 =?us-ascii?Q?L+tSvGsj2X96DqaBB6eeA0zgVBXHRCml80VXviX0x77WM2oGwsFINoUjd6Je?=
 =?us-ascii?Q?p4NjD+HPq0TpfFHLtOIa6vRGlqtR2lL8AQXVVf2t6ep1wFiUWnBabYM3dMs9?=
 =?us-ascii?Q?6QNJqqH7vrlnKJ6mIQymr4UFyh9bWd+zA82eVnDsI51s5+wEWTtmEHwYoRA5?=
 =?us-ascii?Q?DoXUkYaRQbius8nBADjNcT5tO9fTrRuDHyphXOQQWwZkBthxdVxvzQwst41q?=
 =?us-ascii?Q?6AvBNZyX9QojdT+wSixe2KR5TxFS4Z//1LPA1pfioIa98emLRW4I4yL2NiCs?=
 =?us-ascii?Q?b3+U9cfPVGsCZnvtUopNmn/7wjNt3Zc9bzi24w3aSgrRepSLTWYS2x96xVYw?=
 =?us-ascii?Q?wryi/G680f45bWlUssZStMW4wgvnlJ/XJ4foYzIKqClh26lwKzdt5p7PAXhD?=
 =?us-ascii?Q?DIWrgfCCDz/IiLTp6uEEgSM5FzJ1FJP0b7BLXeHE5hzdzluzfTxyUF0T+bfZ?=
 =?us-ascii?Q?fvLIG2Dn61IGUTxWCvHH7dUFSHBsc2LNLGxmOjSbM3tq5rugKe3k1lW6UPla?=
 =?us-ascii?Q?8h3SC/M1ZB5a7Atd6ZHI5Skinc4vtUfpjAfjAWLY05/ZdAzMJOpyG1Zv0lr6?=
 =?us-ascii?Q?jy+NRtoceE8GjVgDmVTY5Zlef+CYSkvadwC9SOcBI/1mwX+sh5EPSYEP/tR0?=
 =?us-ascii?Q?TwVc9pVQwRX5q4KSh5LgCUL4q/DviyR4g2zz5vgglFpG6TJQKXRgcHjOcvp/?=
 =?us-ascii?Q?rahipWG5gXk7eMa5M5CC7D66xdIUFkrOdtpW9JZpglgKronTrnJJwEL4baJy?=
 =?us-ascii?Q?PXENOVAV6xfh3ppCezSHo9slnjb87YpQMkpgcKP976bZxCSq6UUyNRT3k0dP?=
 =?us-ascii?Q?EzfXtjnr5sAJ2QgPNgbnnmvTq1cQgHgM6wzyXCTPFZj83/Q+aqR8jVS4yaKr?=
 =?us-ascii?Q?I4BnH9MhmYNqAcmyxLwfl2LVV7jlrU999y9fPpF7faZatJpUBGhFEGvOIqe6?=
 =?us-ascii?Q?QTHOEpmkiZLwcSQKg8TqNZ9kgd+eyx6PElx0BqOTudaC2sVnXJbnb+7baDoH?=
 =?us-ascii?Q?A8VrhAImrPmddf8IkqFWiefvumRsVvWyumkGk7zKBZLtDZi3zSfMRTbqnJ0Q?=
 =?us-ascii?Q?50DRgWJ6odMOvOB20zkpF8jgk3UgSRuzJt5ZMGG39+pDFghoWtKwJkVGOB2g?=
 =?us-ascii?Q?drzkQ6uWl+A6onL+WSgkYRhM0pAluQVdvmp4BMcA?=
Content-Type: text/plain; charset="us-ascii"
Content-ID: <1F8885D1A58D5E4A9A54C59D4A381544@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: AS8PR08MB7158.eurprd08.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 68679cc6-7312-47f5-fa18-08dad6d0f4ea
X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2022 14:56:57.6303
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 8U5wqTxBd/gDBLw6j6ygsltix52z+9vOu/Uhf5C9olZdcvVr4jWxTb7YDcrrlkvttOueVZd3+AAX1jCwnIPvxw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8436

Hi Julien,

> On 3 Dec 2022, at 9:16 pm, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Rahul,
>=20
> I have only skimmed through the patch so far.
>=20
> On 01/12/2022 16:02, Rahul Singh wrote:
>>  static int vsmmuv3_mmio_write(struct vcpu *v, mmio_info_t *info,
>>                                register_t r, void *priv)
>>  {
>> +    struct virt_smmu *smmu =3D priv;
>> +    uint64_t reg;
>> +    uint32_t reg32;
>> +
>> +    switch ( info->gpa & 0xffff )
>> +    {
>> +    case VREG32(ARM_SMMU_CR0):
>=20
>=20
> Shouldn't this code (and all the other register emulations) be protected =
for concurrent access in some way?

Yes, I agree I will add the lock for register emulations in next v2.
>=20
>=20
>> +        reg32 =3D smmu->cr[0];
>> +        vreg_reg32_update(&reg32, r, info);
>> +        smmu->cr[0] =3D reg32;
>> +        smmu->cr0ack =3D reg32 & ~CR0_RESERVED;
>=20
> Looking at the use. I think it doesn't look necessary to have a copy of c=
r0 with just the reserved bit(s) unset. Instead, it would be better to clea=
r the bit(s) when reading it.

Ack.=20
=20
Regards,
Rahul=


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:10:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:10:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453858.711480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2D75-0001zF-8p; Mon, 05 Dec 2022 15:10:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453858.711480; Mon, 05 Dec 2022 15:10:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2D75-0001z8-5Y; Mon, 05 Dec 2022 15:10:35 +0000
Received: by outflank-mailman (input) for mailman id 453858;
 Mon, 05 Dec 2022 15:10:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2Zgi=4D=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2D74-0001z2-2Z
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:10:34 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5ed74b3-74ae-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 16:10:32 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8483.eurprd04.prod.outlook.com (2603:10a6:20b:34b::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 5 Dec
 2022 15:10:29 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 15:10:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5ed74b3-74ae-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eAQGgoznrbu5lx7UM34NFnZMTIBOs0IF92xIsLXQZPrlxilYTnV+FMQFCm6Mq2jA6FJEQaV8psgMVSJgoTZHeY05Go1gMQfUfJcwzFZogj6imRpSSViCiFMqaocT3Gu2cfAaBNcE3M9YdSRT1VAaPHJG8z7Qw4j8InpuJ5AUWb3l7s5LqeIfAOFuayiIfoWZcR4PidvpJOj04DeJO1WbKXSJRWSpb+1yI3Cfxe/dp5LQa4QZtYPadmTaGfZMPteIxXCn0cCqMrsoUrWJeGTvXg5uvBvjtFS4gKaw6VOBOEGvJk6ACoB9Z2KU3AA11NcYnncySfzJWgSZYei14M+iCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XF3KLLQDBeFVayULDTq96vfdGNKn9zgiyygV7OvaiL8=;
 b=UL5r13Jb2Wq2/5Tht/SJu/hZYBo/09qvYfz3RhlYHz6Qe7aJRqAXdZZPmOpTTRU7hH0YAaTGRW5TeHlx4LXm+rUsRuCc1mLKJWNi1HBAxE9sl34J134cT2D7TXLqb1QANLR4Sdsgl4SxK62Zm5qaG5lwM07QiWknwri0oIpofjJDL85MaRlqlV1bzh9K4DrOJdaTavX3LzI5ANtNwLdPo+CSmAsPsTji9y8qQouetfHvo1RXVr1CJxUeZRTBl4qMwEXqIqUq4OY+wduRbVhzuxZ7Nagkuy2YyK547pqbJMGclpHUkFM3IwbO4Jo61S4/mHobQmBNa3X+R24M4T01/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XF3KLLQDBeFVayULDTq96vfdGNKn9zgiyygV7OvaiL8=;
 b=iWHPlLrAysNagVkXdVpj6WEPIuTXxFelK7s1r7b0xBofs+FYC2M6ZSKK+/4SdaXpce8o8HePOnI8qfNkdfzykAbpZV44io8KAkgZAbGU2TwuNJUD2eBhCPjtywxN6Nh5nLD5CEzYSQlhNlz570yWY6tNCA43YkaJQAERFcnD4nsq+T8rrxuPG9aaegqfVpJmeqHHht0CoJn+aCNh4DzzgxyGDz95JpfubMOZ9UvFVf0z/3S99rxeM1oRnMxGFxg4dtZW3FprSirEVtyfd3IMYl/3GgoZiLOLgfAYASJehsNLj/qyggQEWoNZEDB5N8dG94gtq2JooH7OL773SCpBFQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8f7e0393-8c0f-a924-7cee-25b9fca6f739@suse.com>
Date: Mon, 5 Dec 2022 16:10:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 4/5] multiboot2: parse console= option when setting GOP
 mode
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: marmarek@invisiblethingslab.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Daniel Kiper <daniel.kiper@oracle.com>
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-5-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221123154525.63068-5-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0126.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8483:EE_
X-MS-Office365-Filtering-Correlation-Id: ad46486e-0f0b-4937-0f21-08dad6d2d8f1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oYZbhVnyTOl4nIJAEXLH2AN9KooGOYUVJ6fCNKKAA/qAnqUqE3SdzY8DPdYF/Ih1NZnFfaV849DZuY2OpI3nqrHZ4M7pWcqz/2JFVGMe+UVdPaf7YPALiYY7RL76sG7S0LdRBYiYb1GNBkNoRu2q9hJzZDWix1SkyvRHW7WYJXKmSrtQA5NEQSa4Lb51G1V5+ORyxblOIBskphyY1Adqp3st2hGhr29mzYiYClsOnkEw2NhlNd01+upfrlaQatAH3CU98aG1SLrgJ3kJrcsjE+05yMD/hLUe+OmEWh9P++pWLhdcgV/0p0aAzatPxaEffpLtaTvSxEOAgZ3w4nnTZDVGqDWOb1cvxYIC9kw+h79e6065WHfHDlPoBKp1ZxBedRpNb1Hw9/vvF/6X9d6Mf0awiyt6FN8HsWqXsDupz7BXgxcixe84+3FF9MMCLVJR0Cz51YGvZKUQaNqxCepaDaQK/39aFudp+jITlN2EmVzuilnnf0DOvNROlIqzMqPmiLLl58Uftql/MDKp7Ol/f4NsrtTA5wUdeyWA0m3H3UiRoFf6goLP6WYrZGWDpbohhIorh85KcHryfqGWvY1lLlzZogU9XLELo+JJBYE725CS5FZLb4tjJIdaw3EAuJRo6LHWOsY7+70qVFteT4X/8dURrNGOlRjzNAI4P3RAdYweevg+rxzH+K7mIBdxinMZ/++SW6ypp+qkkViLj/SjTNMZKfbMBoFDRYf7cHSqaEE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(346002)(376002)(366004)(39860400002)(136003)(451199015)(83380400001)(31696002)(86362001)(38100700002)(2906002)(41300700001)(5660300002)(8936002)(4326008)(8676002)(53546011)(6512007)(6506007)(26005)(186003)(316002)(54906003)(2616005)(6916009)(66556008)(66476007)(478600001)(66946007)(6486002)(31686004)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WngxU3plWmw0cjdTdGtIT3JaRnFiRVMyQzNFNWUzanlYcnA3WkJKTzNKTk1N?=
 =?utf-8?B?bHFRUW42emx6ZEcrU3BQZnhYSlpwZno2MEN3dDRyUk5tbWVrb1hSemFXUzVo?=
 =?utf-8?B?MnlkdURqVWdUbmlTMXpueDVGMUV4TEZ0ZHdqQXEzeVdmaXBvL1VwbTdIb3ZT?=
 =?utf-8?B?Rk1YcnBtYXNaNlg4S3RzaS9UN0N1a0Y1QkZKc1l1WWdyZjU0RFNGTlpzQmQ1?=
 =?utf-8?B?dXo5ZTZQb0xzdDN1VXBiTDBwRUpTR0pJWFZnQjRNeU9LSnN1WUVmd2VZaDNM?=
 =?utf-8?B?NlM2eFRYeEVJcjV0aGI2enVNZEN5N1g1a21jTlRKV3J2dVNyMzBwbkFPVzJU?=
 =?utf-8?B?TVVNUVNoaytheExxM205MzhBTXJod0FWZTFHd3pVTmU1S3BPS3dnQ2t6ZTFl?=
 =?utf-8?B?cUdDVS95MlQxU3dXekc4K3VZUFFrSW9sUHNuMytWRFRUSnRwQ3VmUGN3Skln?=
 =?utf-8?B?UkJyM1JlWFNXMXhFODJ3NzJ0NkQ3d0lFbzdJbWpvcWhYVDB5S2pRSXFXaHN3?=
 =?utf-8?B?UUFwRTltRXJZNDdtUUcvaVIwY2pWcE9CNVdwYStrNmhCbVZ1bkt3b3BySFI1?=
 =?utf-8?B?TS9XSEQzYTUwT0JKLzhWK3I5VTdTbUFTd2pTR3RrdUhtbVFCUHIxZUpmMWNr?=
 =?utf-8?B?ODEySzJSVjU2MDQwQWdKYWkvRFM4ZHI3Vm1rTnc5SWxWZEhrT0FQdkl5QlB6?=
 =?utf-8?B?elRkR2lLSktYWk5zSFpJS2V0ODEySXhhQ1h4UzUxN0tYMTJQTWgwVURzVnlt?=
 =?utf-8?B?U2M5ZTBMV2lVK1doODVmbHMyRU42OFdiUnhiMWgydkwxMEZnSXA4cWJiUllp?=
 =?utf-8?B?WVVGQzF1MHRXR3hFV2RnTi8yWXlCK2c2Y2NibEp5dDYwd0o1b3hGdUJ4K2Fu?=
 =?utf-8?B?c2hTSjZmNUJqQk85Y2F1Y3pUZW9lK28yZHo1RmV2RktaQWd2SjAwczBPVGhi?=
 =?utf-8?B?V2V5cm1MTEI5QUJRbTdRY2lxUXNJNk9FaHJieXBMc0RjTmt4YzNNYU1IbUYz?=
 =?utf-8?B?YnRJNEgwWTNvanlGQTJPRFUzNVFVQ0tiR1pDQ1lHZDlydGVkL3E3TTF6MkNa?=
 =?utf-8?B?aXFFZFVYNGhtRnR4Rk5PcDdocFpvNHJYWFRQNWg0ekcreG9CSytrSEVmemUx?=
 =?utf-8?B?SVhmbm9rQkJOVGY2eGRuTDB6eHNVbGhPcXp0cFR4eTRCSnF2bis3cktOMS9Y?=
 =?utf-8?B?aVU2K1VOeExRTDBkazArTDJqajB2b0x3T1BKNkRKOXV6OTJnYWNteEdzMUYy?=
 =?utf-8?B?UWl3a00vaDVISG80a3R2dkxqa214QzhKUVhhaCtJWHZHOGxrRStqbEQzR25i?=
 =?utf-8?B?Q2pHQWdaNVI3cm5rSGQ5MjNKbHQzZGcrNGRlcjhpTmNBVklUU3E3OUxRK0tR?=
 =?utf-8?B?UDVSRXl5d0RLRkVWQUlWVGROUDhqcElKUnF1RGVhL3htK1psTnhKdzNyTEZn?=
 =?utf-8?B?WDVqczBEY1RqTUJ3SWRuOFVHa09YY014dFNBZjgrYXpZZy9xcjB0aEtKckl0?=
 =?utf-8?B?RksyVVAyUWVYcUFKeThqQXNiUzZMeVdLbzJIdHZLSmphcDdkREFuV2dmSDVk?=
 =?utf-8?B?cWpzZW9xV0p6enhNLy9VZkJPVHFENVNBeEw3Yk1FRTBwdFpScHpOTUZOVDNl?=
 =?utf-8?B?T29Jdi9CR3l4UzJ2OVVmVWdveGp4d1Q3ZjhncVgreHhiMXR2cUlvYzZYUVc5?=
 =?utf-8?B?WXM2WDdCQkd1TUt1VTJOQUZIaDlqcUtUd2g5ai94Q0g3SE5Hdk9tZ0ZSMmUy?=
 =?utf-8?B?eSs1NTQvbDh6UnhVMVlBazFUMDJSSjVIOUp3eXV2WlloSlU1ZlZ6U25TUnFN?=
 =?utf-8?B?aG04SEs2Q1VvRjhIY1hPKzVycHFzRVVzcFlBN1ptRGU3VzFyaitCTHNvMExu?=
 =?utf-8?B?SVQ5NEJ4SDd5VnhNVDVOZUNnVjRZTjZaMTJvR2JKVWdnVXpQNDVMNDFyM3N6?=
 =?utf-8?B?cHVkdmYwQWQ5ZkhKVEdvQkpYSWZwZEpXUTZuL1lZSXAzK2dXQmUzc0FQL3Zm?=
 =?utf-8?B?MjkxU2ZHSzlCZUhCYlBGSWUzYjhwU3hTT3hWbUlLc2RWY3VwMm5XdjBLa1Rx?=
 =?utf-8?B?RlY1ZzJUUmVmMVU3VlRUNnhUQU03OEtjTXExZUdKR1VzYU1jS3MxODMvQmRJ?=
 =?utf-8?Q?Bqfdf3CzBJpaTu3aUDZbfTpXr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ad46486e-0f0b-4937-0f21-08dad6d2d8f1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 15:10:29.8280
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XR3Wg08dYulAr3Dh1EZbqB4gpiBey0J4cFNixZOUOwNibuPbSuNvqM1hJNtokEYjQpCumgBpxAeYC3bhfPE2YA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8483

On 23.11.2022 16:45, Roger Pau Monne wrote:
> Only set the GOP mode if vga is selected in the console option,
> otherwise just fetch the information from the current mode in order to
> make it available to dom0.
> 
> Introduce support for passing the command line to the efi_multiboot2()
> helper, and parse the console= option if present.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> I'm unsure why the parsing of the multiboot2 tags is done in assembly,
> it could very well be done in efi_multiboot2() in C, but I don't want
> to switch that code now.

I guess that's mainly mirroring the non-EFI boot path, where the amount
of work needed to eventually enter C land is quite a bit larger?
Anything beyond that Daniel may want to point out.

> @@ -265,6 +266,15 @@ __efi64_mb2_start:
>          cmpl    $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx)
>          je      .Lrun_bs
>  
> +        /*
> +         * Get command line from Multiboot2 information.
> +         * Must be last parsed tag.

Why? And how do you guarantee this?

> +         */
> +        cmpl    $MULTIBOOT2_TAG_TYPE_CMDLINE,MB2_tag_type(%rcx)
> +        jne     .Lefi_mb2_next_tag
> +        mov     %rcx,%rdx
> +        add     $(MB2_tag_string),%rdx

Simply "lea MB2_tag_string(%rcx),%rdx"?

> --- a/xen/arch/x86/efi/efi-boot.h
> +++ b/xen/arch/x86/efi/efi-boot.h
> @@ -786,7 +786,22 @@ static bool __init efi_arch_use_config_file(EFI_SYSTEM_TABLE *SystemTable)
>  
>  static void __init efi_arch_flush_dcache_area(const void *vaddr, UINTN size) { }
>  
> -void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable)
> +/* Return the last occurrence of opt in cmd. */

Is this sufficient in the general case (it may be for "console=", but
perhaps not for "vga=", which may also need finding as per below)?

> +static const char __init *get_option(const char *cmd, const char *opt)

Nit: The first * wants to move earlier.

> +{
> +    const char *s = cmd, *o = NULL;
> +
> +    while ( (s = strstr(s, opt)) != NULL )

I'm afraid this is too easy to break without considering separators as
well. If I'm not mistaken you'd also match e.g. "sync_console=1" for
the sole present caller.

> +    {
> +        s += strlen(opt);
> +        o = s;
> +    }
> +
> +    return o;
> +}
> +
> +void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable,
> +                           const char *cmdline)
>  {
>      EFI_GRAPHICS_OUTPUT_PROTOCOL *gop;
>      EFI_HANDLE gop_handle;
> @@ -807,7 +822,21 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable
>  
>      if ( gop )
>      {
> -        gop_mode = efi_find_gop_mode(gop, 0, 0, 0);
> +        const char *opt = get_option(cmdline, "console=");
> +        bool vga = false;
> +
> +        if ( opt )
> +        {
> +            const char *s = strstr(opt, "vga");
> +
> +            if ( s && s < strpbrk(opt, " \0"))
> +                vga = true;
> +        }

Don't you also want to find a "vga=gfx-..." option, to avoid ...

> +        if ( vga )
> +        {
> +            gop_mode = efi_find_gop_mode(gop, 0, 0, 0);

... requesting a "random" mode here?

> +        }

Nit: No need for the braces in cases like this one.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:20:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:20:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453869.711490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DGd-0003jH-5A; Mon, 05 Dec 2022 15:20:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453869.711490; Mon, 05 Dec 2022 15:20:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DGd-0003jA-2e; Mon, 05 Dec 2022 15:20:27 +0000
Received: by outflank-mailman (input) for mailman id 453869;
 Mon, 05 Dec 2022 15:20:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2DGc-0003j4-IR
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:20:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2DGb-0002FS-Ka; Mon, 05 Dec 2022 15:20:25 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[192.168.30.208]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2DGb-0008Ft-Df; Mon, 05 Dec 2022 15:20:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=NEJo101sqCAV+1CSR9I/rWSNifrIDJVHc7qL+ytiObE=; b=LWL6oPyDq7ycTOROsjcQnaIAZB
	af2ws+doNNi9xL1oJ20tUpuDgwvzaVJm2YgaqTp9+CnvVteWppQk/rFS9zULfytK1oYKqYo2O1xfN
	mmaWTx88Ro6UjrgKzIkky1slyBN5/xwF3QAXsCh1Y2t7X3bXXAAD94Ctom2TdOHc9J2M=;
Message-ID: <2a062390-ea9a-7458-2411-0d89b5309523@xen.org>
Date: Mon, 5 Dec 2022 15:20:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
To: Michal Orzel <michal.orzel@amd.com>, Rahul Singh <Rahul.Singh@arm.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
 <345d7d3c-e090-356b-1b4e-a9b491a146b5@amd.com>
 <4D9FBC4E-CF83-4D45-B657-A58041EAFCAB@arm.com>
 <2739e776-6bd6-6f35-d46e-9e1223b3d6ef@amd.com>
Content-Language: en-US
From: Julien Grall <julien@xen.org>
In-Reply-To: <2739e776-6bd6-6f35-d46e-9e1223b3d6ef@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 05/12/2022 14:25, Michal Orzel wrote:
>>>> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
>>>> index 1528ced509..33d32835e7 100644
>>>> --- a/xen/include/public/arch-arm.h
>>>> +++ b/xen/include/public/arch-arm.h
>>>> @@ -297,10 +297,14 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>>>> #define XEN_DOMCTL_CONFIG_TEE_NONE      0
>>>> #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
>>>>
>>>> +#define XEN_DOMCTL_CONFIG_VIOMMU_NONE   0
>>>> +
>>>> struct xen_arch_domainconfig {
>>>>      /* IN/OUT */
>>>>      uint8_t gic_version;
>>>>      /* IN */
>>>> +    uint8_t viommu_type;
>>> this should be uint16_t and not uint8_t
>>
>> I will modify the in viommu_type to uint8_t in "arch/arm/include/asm/viommu.h" and will
>> also fix  everywhere the viommu_type to uint8_t.
> Also I think that you need to bump XEN_DOMCTL_INTERFACE_VERSION due to the change
> in struct xen_arch_domainconfig.

We only need to bump the domctl version once per release. So if this is 
the first modification of domctl.h in 4.18 then yes.

That said, I am not sure whether this is necessary here as you are using 
a padding.

@Rahul, BTW, I think you may need to regenerate the bindings for OCaml 
and Go.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:38:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:38:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453902.711535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXp-0006qz-Qb; Mon, 05 Dec 2022 15:38:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453902.711535; Mon, 05 Dec 2022 15:38:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXp-0006o2-EV; Mon, 05 Dec 2022 15:38:13 +0000
Received: by outflank-mailman (input) for mailman id 453902;
 Mon, 05 Dec 2022 15:37:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yaz+=4D=outlook.com=set_pte_at@srs-se1.protection.inumbo.net>)
 id 1p2DX3-0006Dh-0u
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:37:25 +0000
Received: from JPN01-OS0-obe.outbound.protection.outlook.com
 (mail-os0jpn01olkn2080d.outbound.protection.outlook.com
 [2a01:111:f403:700c::80d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6d392af-74b2-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 16:37:24 +0100 (CET)
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:152::9)
 by TYYP286MB1787.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:f9::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 15:37:19 +0000
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605]) by TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605%5]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 15:37:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6d392af-74b2-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fVFuG8KEV06Q9/bUKNS94klVApzADe8K2amMONTpCNpCEKlpHBoHWO8ufYHoiiUw4iugyXFYztUUApnnkqJkfdx9o02X4enaaGGg4ebmM5kZ7rSz8lB0vqv5o9/HcBv/ku3JmplzlSpSr9t1DVesPdIkwOnMsPfeMH4fKBzivJEkbX6Bc88Ip8920xCd9NwrstUCl7zp7z67l1k+3gec8FdnSl3dckU5xGrdk4YGvcN0s1zBVb8VU0rbMPzTrk4cBIeS/7ajwkvRJ0bKvY88wPITxQJiAm1Bf40jhhjW9yXbp2fzJZ1J69WKTsZyN3GsbUF9Vh3B1wYil4MQUvWK/A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ef9m7v0KqeWEipkEBUhacHcNHd3dIeyAM4W2j/cgC88=;
 b=BO+VBkEHU4K/JhS1QBgqQ+vKgeINVwd//PlsVt2pSd0rMNxDeH44NbuMmHD3dA6ql5feyDNeDTxks9fq6eSu6qPgWymUoYKS9GHaPm9T6/1x9qYXkrSBesUvg4yCXPr/Hb6VTIg1RhhVnhBnFR6A9w5umzM972s1Z0mutQaoXL5OYPAoWwz12WOGmyhaCMuPGxYEDcjIkFhgTDMh8R7VnTu4ho58WVPafeWuWTFdpTVX1GH3g47UcAUoGvjwy+Mu61wowC6c5365GLxvmfifLKPFpJpss7jVzf1NEL2sSUc5wy0Iz92Edbe9vnrAFmhjgO7ZUWnlFCyXBCmquIddEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ef9m7v0KqeWEipkEBUhacHcNHd3dIeyAM4W2j/cgC88=;
 b=XIb65QYpPUxtuHrWdAaTVsmisxE7ZK66EtaL7DFQu7WQYYx12FCL8PlustnwXQXvJDC8oAl/vhcHRnBxbX+luFKcUTh6SwokpWwttmfCMHL7XFmX93ck/u3BFf7OL26gPp2qoijVPmVUczzUEzGojxH00DAv1p2KpXAjTEt0PDHhYZm6JAjmaRJH1IwA71owid2EHu+P+cAs8FgdQsxxzbag/l41abXPke8dhEwjEeTMGxDI4ypM2BfUUhbyBX65/nBvPm0y1B3hy4E6sLUosuLr4JSuNLBeWR2jaoeXh3trnLs0QI0fckXLBhYMBI32wFwAsuDIXzv/ePfIyWMSvw==
From: Dawei Li <set_pte_at@outlook.com>
To: gregkh@linuxfoundation.org
Cc: johannes@sipsolutions.net,
	robert.jarzmik@free.fr,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	roger.pau@citrix.com,
	srinivas.kandagatla@linaro.org,
	bgoswami@quicinc.com,
	mpe@ellerman.id.au,
	npiggin@gmail.com,
	christophe.leroy@csgroup.eu,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	alsa-devel@alsa-project.org,
	linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Dawei Li <set_pte_at@outlook.com>
Subject: [PATCH 5/6] ac97: make remove callback of ac97 driver void returned
Date: Mon,  5 Dec 2022 23:36:43 +0800
Message-ID:
 <TYCP286MB2323207367F2D39D0D725828CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221205153644.60909-1-set_pte_at@outlook.com>
References: <20221205153644.60909-1-set_pte_at@outlook.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-TMN: [eT6UZtVbikemNKsMQYsxpGdTloi1/Wuv]
X-ClientProxiedBy: SG2PR02CA0046.apcprd02.prod.outlook.com
 (2603:1096:3:18::34) To TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:152::9)
X-Microsoft-Original-Message-ID:
 <20221205153644.60909-6-set_pte_at@outlook.com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: TYCP286MB2323:EE_|TYYP286MB1787:EE_
X-MS-Office365-Filtering-Correlation-Id: f06a4cf5-cbb3-4a5a-a430-08dad6d69804
X-MS-Exchange-SLBlob-MailProps:
	/OoUGmN/RpVKD6y7RJd2fRTadJ6Pq1ot2iys40AI0qYlu8Rnx0ofoD/I1pH32T+1L2pz3NVWO8fqqVhxKi6WLWu7Gs1R5ep4Fa4CkDLgQtUQyojJERaA+Z7VKh0ucvIaG2AjU2H+tSfil3cpIYJbFulYrzkUNmBaq8jaE0fgqPPgL9YwRyoP3T59IQ3p78fVfgbOVturEdduTvl5Ri4a7ZmQ7DQnt41p5cjJwyx1/sgrEYTFG+gIdXr39UXlv7+oe4NSDeC9inv5fWM+8mCvUHAvJ+Y4Pg83Q9q0KGDdI93n3JP7KSVBcGKipBzvotUCFMHX9NVrjzZMBAsN2VtqxqbF3zJ4akpts+Se6kob278WfeogJYpVsVllGF12eGQj2nzF5ejV+Xc6rmuedy5zgPsbLBzhRP/gsVEaNVpoch9Xjyw2bmTHDrQx+D9JXbHwRROpUjI56/IUlg63HXguM8c+/gWONMvV4Gi9tzEXdVAA9/s8aAVXvQYEYDp0RV8SK1FzdLiNdVSL0A6fairCJ+LhWJ2uID5sKrmtho9EjTLgeWZ10lGfHpAzGaOpyXiuLQPOv+9OQ9bYXoyHmbcYLT0SCRAR7r1qkhi13sWtrdizljs5bL6ZFWIzKFnZ7vN1st2AEGW6++H0iSdQ4IdcsMgDlRzj2wWeyV5Qsz1os92D/FpXhYBPtiq5o6xLsP1KeOQtAquZK0jRzMfvUaAjEvboyc82I3OccWaoW7HslQcNPnZGZQtZThTkmw9mjfEX
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LLM0c2GdH9795iyGzY8p4Y7Z1S89NsFMRFuBznQNFarpu8WG34BF/uAFjXow4c0NluqYVo1AyVT/2gdDnzKKNtDYMGKl031XHR0CpetAONYmC/TJ8qhGamE5OZ7fyFJuXXBmA7UFVwQyPa3u8wBAVFR6w4dFqsHLcbgPkjD23Ejo99ZfB8/MdaZ9zKjZdUWAYVd5O0rmuV5xEuDGqFvkHk65EBd3+wgI2mgB9hf5sV550ofIGsw3KTgd6ZVJhkblZ8QZG4o/eOXoD6PM3O5wSsfV3bLpCk47a2GxtbxuUWUaiKrFw65P/8OH+f2uEZhi5UDiTaCrskFAUQ5p5eSjiOZFuWuKP6Y5z9aXB7L4IN1vT1rev0QRcIOHWJMdMzI/yAXTUrSpNxZY5iXkMDLmbvn4Yl2ejdkaSRgBIkjSB4Co8Kssn4P1WOCnCeSmiW9nrpeWZZ+mJWtUGyEwnK3ZmZLtzDjJ5BvOn6vf8fC4ZdLd+C+mQxhXRicatj7697tlRwtLa/OfN01dS+xewf719YqZxSboJj8LJmI9mPgak067AdfHPKWR9BUOhTv61i84L/68i6US9Bibb1TCjdexP8wGoJ6S22MPP+bOKgx169di72AdjcUUBTCIm9WM4+i+pnk7KSn77P22Xs0ffhKeJA==
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?lGl4IuJDRspmKFHRAn8iLOG31lJGKLL4YbiN7fKudj2wU6GXpZnw9jttp1jM?=
 =?us-ascii?Q?P/tpWgYq7EGMmyIhgfGEMzs1D4tHkzFt6dOF+pvZ0saQJLJFBV0e5zTOxtRR?=
 =?us-ascii?Q?fj51okDUX1Z8wbYZSM0Za0GQu2qa6Yl3oNGHUwdgZxw/MaFpPpA6b2OiKc8H?=
 =?us-ascii?Q?sqddYY6aEFDuKHk/0sN9w3cMUWUyXk+rSCos/W4eXdCKSytjmEMHpmyXnYL5?=
 =?us-ascii?Q?ejDsvhvd5p6XnRgi9LtVRMx1UdwqDE1g6PUhJi6E2vossfVgTEh/5VpTzb0s?=
 =?us-ascii?Q?MYF2PHhJWl906/umGfPBdMIegsdoG8mnkNhJW9h9cfUpYOa9kUDHYujLqS6g?=
 =?us-ascii?Q?dyRJK7sN7KISqCdkjiISjt70xPLEIASW24VAmsv1aIXfo5P20R/04co7MM7G?=
 =?us-ascii?Q?QzrjcNl1I7PxNvsT0iYSf9eKv4rozBQP+3RoMvKnwbalZFDcBqsOdMiCodBe?=
 =?us-ascii?Q?ADNjnQxq/m6ducojQiqLRERQFf7EY2qQUFh+XMg5Fwy2l7N8SmFVV0PztKXK?=
 =?us-ascii?Q?BhzW5iP3SfYudi+mY8hSz1W2hGbPvmyw8ntAXXaZo42A2tuRf1FET0OvCFnn?=
 =?us-ascii?Q?CJ6C2O+SchlgadyGtgxiEqdf4pMcMaTIIUOn6NF70/prylaJ2CHUYaTVFMp9?=
 =?us-ascii?Q?xVeP/ouWdE+nw33ZH9580na3GbAtw2x/HfxJLVBqggOYnNqHGPG5CSFh9G4o?=
 =?us-ascii?Q?QCAwl0K/GrMKvyp/nr3owjybNAwVMhMFnUb5z64UIXikXROd6WB8Ggz1TABs?=
 =?us-ascii?Q?gynPhRFgDX+zWmwFc5giR1wCXFOz4cXwuxJcuo9090aljaYunIocLplvjIBW?=
 =?us-ascii?Q?JVzLNxlVODP+QHTa6Oo6GjBp3DYccsIR7LV1M/btNpln2q9W1Ih9w+f3osyA?=
 =?us-ascii?Q?0nVSDpZVatbXHxxO1aYSj936yX0Hp6esKHGlYIXvQInHFI91yKYGwZdD+vTt?=
 =?us-ascii?Q?bdMp9z8xJnOgeKr/YGHGio7MFABNwQjIx/iNg5Wpzkxh9OsGh0TpJsyGwlLK?=
 =?us-ascii?Q?Q7HQbwuq60i8D7E9BcgwPkvUnvAAF9z7EfoA4jgpiJzN7gAXRTnXe2DtwJPC?=
 =?us-ascii?Q?pWTyu+0REV2b6YQnvuQSb8Lebgcz8YYGJVDe8GmRglN62qZJL5ufXuS423k4?=
 =?us-ascii?Q?kOdmd0uAL1zlY8CXOgNeMCYALRL4HQYprhSHr/J5ikG/PF5JpJm6aceuAu40?=
 =?us-ascii?Q?NbKuzzVNAcz23wRQioK+Lc/Xf16hyUFZyHs8QZCrJvahN6dsilHOCyaP4YBh?=
 =?us-ascii?Q?KLZ6665BFkc/Sn7pbPZ+GyjRnVRlckDiZ9p1hvh06g=3D=3D?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f06a4cf5-cbb3-4a5a-a430-08dad6d69804
X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 15:37:19.0632
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
	00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB1787

Since commit fc7a6209d571 ("bus: Make remove callback return
void") forces bus_type::remove be void-returned, it doesn't
make much sense for any bus based driver implementing remove
callbalk to return non-void to its caller.

This change is for ac97 bus based drivers.

Signed-off-by: Dawei Li <set_pte_at@outlook.com>
---
 drivers/mfd/wm97xx-core.c  | 4 +---
 include/sound/ac97/codec.h | 6 +++---
 sound/ac97/bus.c           | 5 ++---
 3 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/drivers/mfd/wm97xx-core.c b/drivers/mfd/wm97xx-core.c
index 9a2331eb1bfa..663acbb1854c 100644
--- a/drivers/mfd/wm97xx-core.c
+++ b/drivers/mfd/wm97xx-core.c
@@ -319,13 +319,11 @@ static int wm97xx_ac97_probe(struct ac97_codec_device *adev)
 	return ret;
 }
 
-static int wm97xx_ac97_remove(struct ac97_codec_device *adev)
+static void wm97xx_ac97_remove(struct ac97_codec_device *adev)
 {
 	struct wm97xx_priv *wm97xx = ac97_get_drvdata(adev);
 
 	snd_ac97_compat_release(wm97xx->ac97);
-
-	return 0;
 }
 
 static const struct ac97_id wm97xx_ac97_ids[] = {
diff --git a/include/sound/ac97/codec.h b/include/sound/ac97/codec.h
index 9792d25fa369..a26e9e0082f6 100644
--- a/include/sound/ac97/codec.h
+++ b/include/sound/ac97/codec.h
@@ -62,9 +62,9 @@ struct ac97_codec_device {
  */
 struct ac97_codec_driver {
 	struct device_driver	driver;
-	int			(*probe)(struct ac97_codec_device *);
-	int			(*remove)(struct ac97_codec_device *);
-	void			(*shutdown)(struct ac97_codec_device *);
+	int			(*probe)(struct ac97_codec_device *dev);
+	void			(*remove)(struct ac97_codec_device *dev);
+	void			(*shutdown)(struct ac97_codec_device *dev);
 	const struct ac97_id	*id_table;
 };
 
diff --git a/sound/ac97/bus.c b/sound/ac97/bus.c
index 045330883a96..6067c04ce4c0 100644
--- a/sound/ac97/bus.c
+++ b/sound/ac97/bus.c
@@ -524,10 +524,9 @@ static void ac97_bus_remove(struct device *dev)
 	if (ret < 0)
 		return;
 
-	ret = adrv->remove(adev);
+	adrv->remove(adev);
 	pm_runtime_put_noidle(dev);
-	if (ret == 0)
-		ac97_put_disable_clk(adev);
+	ac97_put_disable_clk(adev);
 
 	pm_runtime_disable(dev);
 }
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:38:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:38:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453894.711507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXo-0006Ku-Bi; Mon, 05 Dec 2022 15:38:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453894.711507; Mon, 05 Dec 2022 15:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXo-0006K3-6G; Mon, 05 Dec 2022 15:38:12 +0000
Received: by outflank-mailman (input) for mailman id 453894;
 Mon, 05 Dec 2022 15:37:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yaz+=4D=outlook.com=set_pte_at@srs-se1.protection.inumbo.net>)
 id 1p2DWo-0006Dh-DX
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:37:10 +0000
Received: from JPN01-OS0-obe.outbound.protection.outlook.com
 (mail-os0jpn01olkn20812.outbound.protection.outlook.com
 [2a01:111:f403:700c::812])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id adcd5a26-74b2-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 16:37:09 +0100 (CET)
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:152::9)
 by TYYP286MB1787.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:f9::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 15:37:04 +0000
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605]) by TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605%5]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 15:37:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: adcd5a26-74b2-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KBziAVoR2WC+9GvuA6QynHhoz5hN4+Y8XFu8MxX4WZPDQtqzsrOFiYzEaPsPsraFoRUSBxBkrOtqwdsLGUik0FyVSSu2k+A9G6yKTjRjYXGZAt0TncIE1C82KpYo9g+XPH5Uxkn3dpKxCRP3MjpYeaQO4cYUW3ZT2cacvw5HDyvFIPl91bAbDtwVFD5BpeeedDrhGkYnwTDo8JXieW5GoqWTfdnKtfUDGQWrlxTgAqWmNreJgIxgvx7MbJx2v7UGZLBCaMvY1aGPw7ShclqmvLtg2YBg6kWKT/hCHYJ3DgUWEwXvYYDjOnHU0h9MCpH48Z/QHsI378S9J0gcjBcwTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ae8lwIsssZlGnbFvce9EsnokVk2I1hNmGTfRw32yF8U=;
 b=B7XNc9P15NIrxeyAKyuiUDtsbVfsKCCytnTjSYPvnqj2nISsGfTnbVf58B5GF9e2I4ZXDwnhq69aku/mKj+IyeWsFLKLwrSMMdL7jbMRqcz1owy7qlWsvLj/3D/Y3P3fVxHW2DIP/Dej+dTYcKMmynMJoLvSamNVTOwgvqM+rIa9eHI1IYxLRuVWn3qNH+fVDah3OUGvDUcmszRR3/U9x9k1X23O/JqjPHtS1iX0NAx9buyPzzs4ShF/RhAaJk44OjqhyRR/x4Tm+PtzASjsFmrMDmlC6YCsl564cxqgzCbNVzy31kfJ1SHsFpK7o742Il9VuDRhxucxC01plBGrOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ae8lwIsssZlGnbFvce9EsnokVk2I1hNmGTfRw32yF8U=;
 b=QSwuYPPeMUD2346RRtHUm7fbS75ximiKxVhdRykiY59UHGNbqZ40sMMmqOhZ/rExLp8XId50SW4LMs+Bi0OliaAqCkzFlxc4se6t9DRONHlfdYev0ULWxTu4hqaM3WlLiAl3lvwH1CKZLx2YsQy59nu38R44u1W1qODQWhqLsmv+4BVcnVd1A52n7mBTYc49iQyL9mWOmebk9qy+uxY9ZMu5U3lt0y988iKqz2/k/Y1YUOxGptyRgNlvROe9Y6oWiHO/dYfL9027ifuHAFK7ctS7/Vaj5/D4Xn4vUi7y22PWvI8kT+VQq2ust4JqOT8d8xYtLizOXQprqf2YG9JotA==
From: Dawei Li <set_pte_at@outlook.com>
To: gregkh@linuxfoundation.org
Cc: johannes@sipsolutions.net,
	robert.jarzmik@free.fr,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	roger.pau@citrix.com,
	srinivas.kandagatla@linaro.org,
	bgoswami@quicinc.com,
	mpe@ellerman.id.au,
	npiggin@gmail.com,
	christophe.leroy@csgroup.eu,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	alsa-devel@alsa-project.org,
	linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Dawei Li <set_pte_at@outlook.com>
Subject: [PATCH 1/6] hyperv: Make remove callback of hyperv driver void returned
Date: Mon,  5 Dec 2022 23:36:39 +0800
Message-ID:
 <TYCP286MB232373567792ED1AC5E0849FCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221205153644.60909-1-set_pte_at@outlook.com>
References: <20221205153644.60909-1-set_pte_at@outlook.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-TMN: [WnNGDx12n1r1x93HO6MhsKT0plQVIEpL]
X-ClientProxiedBy: SG2PR02CA0046.apcprd02.prod.outlook.com
 (2603:1096:3:18::34) To TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:152::9)
X-Microsoft-Original-Message-ID:
 <20221205153644.60909-2-set_pte_at@outlook.com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: TYCP286MB2323:EE_|TYYP286MB1787:EE_
X-MS-Office365-Filtering-Correlation-Id: 71dbcf0a-5c3c-484a-620c-08dad6d68f0c
X-MS-Exchange-SLBlob-MailProps:
	/OoUGmN/RpVKD6y7RJd2fRTadJ6Pq1otARSEbI97kVQ9z76jX14Tr7C5cCQtdf4M5XZP85xv443qKM8XJUUTY9vplACCtPV+01OWzWKqwEm2iHlIDyrUO2h0lX6vTsyGepk5inxHYSodPTq30yKGZCb1oU+MHA2jx2qwhzlFKJBjkvxRpXA66ICv3kBmsl/+CQkHPhlPySD0ss+9W2g+WZlGMm0yCUy32sd0q9YuypSmYJcPPXKXkJvNb0S6glt419b1MAQZ3edZnwWaqE2AX303XUrMGxNnL8mOY5ryp0KzO2VFc+drS0hf90EA15Gmf25f/ND2x302N3Ii4VwxJq6ywsdSvxBWFHXEx/8KwcRBINa9VqLaKeOWvLCe70XDh7+AXswzdLkkmlFRXIOx4g2sTZKzNdYaPfLdSXvYruRvY/wU6njOsTCDal9mSonQ/riFf5RehgwNzIsyydi7eqdnltxxkTf2EJ76QSl8BqH7QqE6YW48n/40JIZksnCx1ZMXbwFg6wO/ZbtNoZ8PNCSAOtRp1gpbiZ7j6Rnfl8e170ilDIVmZJUv6Z0c8B6pL0JpHm/cDQ4Meo5Jin7f+pqTvK37/9zROsfFAfDKvdgfadFemeJlSgnPC2LnDCjiWsiioc3KOdQ8V9hT81vpVikTB7r3gfcBKv8qAoXIa/FLeI+IevS/AbHLlhHLz34yPIVr2/SM6MRp970oINzuXfwF6xsFnaDtwEzwrWtQ7ervgOig9iOvwN3x8GrX0fi0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	B81qwk0qSoOZYJrtBfcT47Xt44jYLh/VKFX+E3kMqQYmfFk8SXM+8vExypNHMKIHQRT/zJMka4Er/K5f2P3NV15gVEMGgZsddBhEOYvuoQJFBnTT+eFhdEVqhhSSBVQRII6Fg1YsKgqtYoxtlj/4y9Bzh8ucSSHA+9TIbe9zQeHWhAM/PNQjttwG1RtFsGUvf/ofrbsDGcpq5xZALhbMMynXEZDqNrH6FwBiw0q/rUMEoUjomv3xyLonHh37yRgMMpZTbOOg7p3F5ouFUNilzcml3W2ytrKmI4RwD0xmKRvKUWA2+veZ9uYryabLOHMlkzOcUnRlHGAprOvRElfd+RPvytsT20SEsxI01F7C9g1hlAMmXYCRD8E7x++TEy12CRZxKwNWB0vDtUrEgSmqTlx5Zy0U9YASgSJoZs7Vj2WDRggJZuFkiLxvN4tp1or0Kc9iuKf5u5rtVEewhWlPaPMGyXLtCiI9VGBELA4a7bXJsU6eP0yQg6B6cnZgrJeH9jhGjAsKaL6jbESfVQaNOHzB05pkr5hLy5I36GsXT4ws9/AoAVF2WJntTF/uh+A0fX+MvcCspw5mrjeXtjU5W5trzILnWpssLIlSir9r8lI2blmOURidgALv8igds8PQZK0s18MN9vyvhdVnDuKlvQ==
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?n522cQ1GcV1UrEICbjb1jIAAwVVOPiapm1xNue+XRZ3VefdhXjbMRZBo2wCb?=
 =?us-ascii?Q?bdL1jozAb5TMpuwVfWHnTDB6VhkZTdYOYKUqZehy3oBL4/RBiMfDg358wSUQ?=
 =?us-ascii?Q?ZOV5Q6atm/PtjHdnjcFnZaJUPg2lecd2Wb09XFQ7pyWe4TlcuoTGl+sikGt1?=
 =?us-ascii?Q?7TRZEs2E0pD7RSGcGeht6CFxkRgAeduLLSS+R/WIEIrFRMOYq+F6Itym9PRO?=
 =?us-ascii?Q?LGVzYhZaaJzOQAIGSxmj7itxW56bOviz+WXHGi2uvHxU9zh/2rB535QNnGr7?=
 =?us-ascii?Q?c/ZVFxCRcpIYgUa9d0QKh85vY01TgsAMyNA3XmvXUC1KjzdB3MxsDK7IAGM2?=
 =?us-ascii?Q?Y37oSJSoOo7MxPHm6EvisSzxyf/Rw9t0H3LqBZ0OjpJEjA7/17iVhv5dwoWY?=
 =?us-ascii?Q?cBZW8UZK8UuiaUXdcEkYMEqTvYcjuoGJzDawYo6jpap+tcdv57b63BoGpBQ8?=
 =?us-ascii?Q?a96vKiLHvkR+gXZeILA4MJamCBQqtxqoLdXLItCJf5m72u8icqcmSRvEYdE2?=
 =?us-ascii?Q?4IHvn7BdrC/IDePWeIOb1SSbyVWehAetwuRnbSqw3iiSsYLtrREhjIWJgfTR?=
 =?us-ascii?Q?GkmcpVM+t7U48kX+1eKVNKuojxsXbCDs3JSFbYX+oujfc8pSpo9eT9w6dvIw?=
 =?us-ascii?Q?uUYlBaRUYTW21RFtAvMYU/g6uOVfTsok93MGJaoQAXtp+lFxDJ8854nYhC0R?=
 =?us-ascii?Q?CWpSe3GYZt7segEvFDf2cntpmPwlIYmRdhZUPuB60/aiVdRnAO9dHTC5bceE?=
 =?us-ascii?Q?6PkgCBP3QzR71H0tzz57zRbriRjyBuZrq1J4qLPgtabL1KTKIhEMqx+/fPAV?=
 =?us-ascii?Q?gr+aGrg0h3j0yU3ki7Aq3S9/Ry3eO5L1/d64J28kWLHqcThN8Bn8CK0bGaAY?=
 =?us-ascii?Q?8Yu6TMprJOYqY2HKV6vMxv2KxyK6PR1iUDRHnUezYsMMVUWZw2Da63yfAZWR?=
 =?us-ascii?Q?LyyC1boyUu2GVV8PuT/2IT6H6SwtuRYgkdAZKxedzPejUiUh4VEky18X0plZ?=
 =?us-ascii?Q?ePUErKaurU0Zpm+uXkBMFoon9mLL6a3z6Uq2wOMyrV764uuSZB/z5voaOnqP?=
 =?us-ascii?Q?hqoEjrE16YJ1/uZA+VHI+qkKtelHzj47tXVODhJYUfjHGV8RVokJNnilNt1X?=
 =?us-ascii?Q?/Uin5HYRGuf5JpyQq9sowMV9A/V4+/dsApi3EVrtxGmnLkI5+zCUAKFYRN1B?=
 =?us-ascii?Q?aDttA4mXqSKP0eNuzIlhV0MiCmeMZcjrLSLkML7PpDFNy6PxJ09OZjOfszzo?=
 =?us-ascii?Q?ue64UTwi658sIGyLvVSy1u2akAKATiYbm2iHssmNVQ=3D=3D?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 71dbcf0a-5c3c-484a-620c-08dad6d68f0c
X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 15:37:04.0145
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
	00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB1787

Since commit fc7a6209d571 ("bus: Make remove callback return
void") forces bus_type::remove be void-returned, it doesn't
make much sense for any bus based driver implementing remove
callbalk to return non-void to its caller.

This change is for hyperv bus based drivers.

Signed-off-by: Dawei Li <set_pte_at@outlook.com>
---
 drivers/gpu/drm/hyperv/hyperv_drm_drv.c | 4 +---
 drivers/hid/hid-hyperv.c                | 4 +---
 drivers/hv/hv_balloon.c                 | 5 +----
 drivers/hv/hv_util.c                    | 4 +---
 drivers/input/serio/hyperv-keyboard.c   | 4 +---
 drivers/net/hyperv/netvsc_drv.c         | 4 +---
 drivers/pci/controller/pci-hyperv.c     | 3 +--
 drivers/scsi/storvsc_drv.c              | 4 +---
 drivers/uio/uio_hv_generic.c            | 5 ++---
 drivers/video/fbdev/hyperv_fb.c         | 5 +----
 include/linux/hyperv.h                  | 2 +-
 net/vmw_vsock/hyperv_transport.c        | 4 +---
 12 files changed, 13 insertions(+), 35 deletions(-)

diff --git a/drivers/gpu/drm/hyperv/hyperv_drm_drv.c b/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
index ca127ff797f7..d117fff26d99 100644
--- a/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
+++ b/drivers/gpu/drm/hyperv/hyperv_drm_drv.c
@@ -165,7 +165,7 @@ static int hyperv_vmbus_probe(struct hv_device *hdev,
 	return ret;
 }
 
-static int hyperv_vmbus_remove(struct hv_device *hdev)
+static void hyperv_vmbus_remove(struct hv_device *hdev)
 {
 	struct drm_device *dev = hv_get_drvdata(hdev);
 	struct hyperv_drm_device *hv = to_hv(dev);
@@ -176,8 +176,6 @@ static int hyperv_vmbus_remove(struct hv_device *hdev)
 	hv_set_drvdata(hdev, NULL);
 
 	vmbus_free_mmio(hv->mem->start, hv->fb_size);
-
-	return 0;
 }
 
 static int hyperv_vmbus_suspend(struct hv_device *hdev)
diff --git a/drivers/hid/hid-hyperv.c b/drivers/hid/hid-hyperv.c
index ab57b49a44ed..ef16c2a54362 100644
--- a/drivers/hid/hid-hyperv.c
+++ b/drivers/hid/hid-hyperv.c
@@ -535,7 +535,7 @@ static int mousevsc_probe(struct hv_device *device,
 }
 
 
-static int mousevsc_remove(struct hv_device *dev)
+static void mousevsc_remove(struct hv_device *dev)
 {
 	struct mousevsc_dev *input_dev = hv_get_drvdata(dev);
 
@@ -544,8 +544,6 @@ static int mousevsc_remove(struct hv_device *dev)
 	hid_hw_stop(input_dev->hid_device);
 	hid_destroy_device(input_dev->hid_device);
 	mousevsc_free_device(input_dev);
-
-	return 0;
 }
 
 static int mousevsc_suspend(struct hv_device *dev)
diff --git a/drivers/hv/hv_balloon.c b/drivers/hv/hv_balloon.c
index 6c127f061f06..6bbd2e6fa3d4 100644
--- a/drivers/hv/hv_balloon.c
+++ b/drivers/hv/hv_balloon.c
@@ -1990,7 +1990,7 @@ static int balloon_probe(struct hv_device *dev,
 	return ret;
 }
 
-static int balloon_remove(struct hv_device *dev)
+static void balloon_remove(struct hv_device *dev)
 {
 	struct hv_dynmem_device *dm = hv_get_drvdata(dev);
 	struct hv_hotadd_state *has, *tmp;
@@ -2031,8 +2031,6 @@ static int balloon_remove(struct hv_device *dev)
 		kfree(has);
 	}
 	spin_unlock_irqrestore(&dm_device.ha_lock, flags);
-
-	return 0;
 }
 
 static int balloon_suspend(struct hv_device *hv_dev)
@@ -2112,7 +2110,6 @@ static  struct hv_driver balloon_drv = {
 
 static int __init init_balloon_drv(void)
 {
-
 	return vmbus_driver_register(&balloon_drv);
 }
 
diff --git a/drivers/hv/hv_util.c b/drivers/hv/hv_util.c
index 835e6039c186..24995ac41c86 100644
--- a/drivers/hv/hv_util.c
+++ b/drivers/hv/hv_util.c
@@ -602,7 +602,7 @@ static int util_probe(struct hv_device *dev,
 	return ret;
 }
 
-static int util_remove(struct hv_device *dev)
+static void util_remove(struct hv_device *dev)
 {
 	struct hv_util_service *srv = hv_get_drvdata(dev);
 
@@ -610,8 +610,6 @@ static int util_remove(struct hv_device *dev)
 		srv->util_deinit();
 	vmbus_close(dev->channel);
 	kfree(srv->recv_buffer);
-
-	return 0;
 }
 
 /*
diff --git a/drivers/input/serio/hyperv-keyboard.c b/drivers/input/serio/hyperv-keyboard.c
index d62aefb2e245..31def6ce5157 100644
--- a/drivers/input/serio/hyperv-keyboard.c
+++ b/drivers/input/serio/hyperv-keyboard.c
@@ -369,7 +369,7 @@ static int hv_kbd_probe(struct hv_device *hv_dev,
 	return error;
 }
 
-static int hv_kbd_remove(struct hv_device *hv_dev)
+static void hv_kbd_remove(struct hv_device *hv_dev)
 {
 	struct hv_kbd_dev *kbd_dev = hv_get_drvdata(hv_dev);
 
@@ -378,8 +378,6 @@ static int hv_kbd_remove(struct hv_device *hv_dev)
 	kfree(kbd_dev);
 
 	hv_set_drvdata(hv_dev, NULL);
-
-	return 0;
 }
 
 static int hv_kbd_suspend(struct hv_device *hv_dev)
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index 89eb4f179a3c..50c20e4d4147 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -2594,7 +2594,7 @@ static int netvsc_probe(struct hv_device *dev,
 	return ret;
 }
 
-static int netvsc_remove(struct hv_device *dev)
+static void netvsc_remove(struct hv_device *dev)
 {
 	struct net_device_context *ndev_ctx;
 	struct net_device *vf_netdev, *net;
@@ -2603,7 +2603,6 @@ static int netvsc_remove(struct hv_device *dev)
 	net = hv_get_drvdata(dev);
 	if (net == NULL) {
 		dev_err(&dev->device, "No net device to remove\n");
-		return 0;
 	}
 
 	ndev_ctx = netdev_priv(net);
@@ -2637,7 +2636,6 @@ static int netvsc_remove(struct hv_device *dev)
 
 	free_percpu(ndev_ctx->vf_stats);
 	free_netdev(net);
-	return 0;
 }
 
 static int netvsc_suspend(struct hv_device *dev)
diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c
index ba64284eaf9f..3a09de70d6ea 100644
--- a/drivers/pci/controller/pci-hyperv.c
+++ b/drivers/pci/controller/pci-hyperv.c
@@ -3756,7 +3756,7 @@ static int hv_pci_bus_exit(struct hv_device *hdev, bool keep_devs)
  *
  * Return: 0 on success, -errno on failure
  */
-static int hv_pci_remove(struct hv_device *hdev)
+static void hv_pci_remove(struct hv_device *hdev)
 {
 	struct hv_pcibus_device *hbus;
 	int ret;
@@ -3795,7 +3795,6 @@ static int hv_pci_remove(struct hv_device *hdev)
 	hv_put_dom_num(hbus->bridge->domain_nr);
 
 	kfree(hbus);
-	return ret;
 }
 
 static int hv_pci_suspend(struct hv_device *hdev)
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index bc46721aa01c..d253e7d5959d 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -2093,7 +2093,7 @@ static int storvsc_change_queue_depth(struct scsi_device *sdev, int queue_depth)
 	return scsi_change_queue_depth(sdev, queue_depth);
 }
 
-static int storvsc_remove(struct hv_device *dev)
+static void storvsc_remove(struct hv_device *dev)
 {
 	struct storvsc_device *stor_device = hv_get_drvdata(dev);
 	struct Scsi_Host *host = stor_device->host;
@@ -2109,8 +2109,6 @@ static int storvsc_remove(struct hv_device *dev)
 	scsi_remove_host(host);
 	storvsc_dev_remove(dev);
 	scsi_host_put(host);
-
-	return 0;
 }
 
 static int storvsc_suspend(struct hv_device *hv_dev)
diff --git a/drivers/uio/uio_hv_generic.c b/drivers/uio/uio_hv_generic.c
index c08a6cfd119f..20d9762331bd 100644
--- a/drivers/uio/uio_hv_generic.c
+++ b/drivers/uio/uio_hv_generic.c
@@ -355,20 +355,19 @@ hv_uio_probe(struct hv_device *dev,
 	return ret;
 }
 
-static int
+static void
 hv_uio_remove(struct hv_device *dev)
 {
 	struct hv_uio_private_data *pdata = hv_get_drvdata(dev);
 
 	if (!pdata)
-		return 0;
+		return;
 
 	sysfs_remove_bin_file(&dev->channel->kobj, &ring_buffer_bin_attr);
 	uio_unregister_device(&pdata->info);
 	hv_uio_cleanup(dev, pdata);
 
 	vmbus_free_ring(dev->channel);
-	return 0;
 }
 
 static struct hv_driver hv_uio_drv = {
diff --git a/drivers/video/fbdev/hyperv_fb.c b/drivers/video/fbdev/hyperv_fb.c
index 072ce07ba9e0..721b7c34a99e 100644
--- a/drivers/video/fbdev/hyperv_fb.c
+++ b/drivers/video/fbdev/hyperv_fb.c
@@ -1226,8 +1226,7 @@ static int hvfb_probe(struct hv_device *hdev,
 	return ret;
 }
 
-
-static int hvfb_remove(struct hv_device *hdev)
+static void hvfb_remove(struct hv_device *hdev)
 {
 	struct fb_info *info = hv_get_drvdata(hdev);
 	struct hvfb_par *par = info->par;
@@ -1248,8 +1247,6 @@ static int hvfb_remove(struct hv_device *hdev)
 
 	hvfb_putmem(hdev, info);
 	framebuffer_release(info);
-
-	return 0;
 }
 
 static int hvfb_suspend(struct hv_device *hdev)
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 3b42264333ef..1f128f28a487 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -1273,7 +1273,7 @@ struct hv_driver {
 	} dynids;
 
 	int (*probe)(struct hv_device *, const struct hv_vmbus_device_id *);
-	int (*remove)(struct hv_device *);
+	void (*remove)(struct hv_device *dev);
 	void (*shutdown)(struct hv_device *);
 
 	int (*suspend)(struct hv_device *);
diff --git a/net/vmw_vsock/hyperv_transport.c b/net/vmw_vsock/hyperv_transport.c
index 59c3e2697069..7cb1a9d2cdb4 100644
--- a/net/vmw_vsock/hyperv_transport.c
+++ b/net/vmw_vsock/hyperv_transport.c
@@ -879,13 +879,11 @@ static int hvs_probe(struct hv_device *hdev,
 	return 0;
 }
 
-static int hvs_remove(struct hv_device *hdev)
+static void hvs_remove(struct hv_device *hdev)
 {
 	struct vmbus_channel *chan = hdev->channel;
 
 	vmbus_close(chan);
-
-	return 0;
 }
 
 /* hv_sock connections can not persist across hibernation, and all the hv_sock
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:38:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:38:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453893.711502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXo-0006IN-3H; Mon, 05 Dec 2022 15:38:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453893.711502; Mon, 05 Dec 2022 15:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXn-0006IG-Uf; Mon, 05 Dec 2022 15:38:11 +0000
Received: by outflank-mailman (input) for mailman id 453893;
 Mon, 05 Dec 2022 15:37:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yaz+=4D=outlook.com=set_pte_at@srs-se1.protection.inumbo.net>)
 id 1p2DWn-0006Dh-78
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:37:09 +0000
Received: from JPN01-OS0-obe.outbound.protection.outlook.com
 (mail-os0jpn01olkn20812.outbound.protection.outlook.com
 [2a01:111:f403:700c::812])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac0c35b4-74b2-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 16:37:07 +0100 (CET)
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:152::9)
 by TYYP286MB1787.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:f9::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 15:37:00 +0000
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605]) by TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605%5]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 15:37:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac0c35b4-74b2-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aYyNM5umB/YlYyZFjHHO83Nsk29pNBut/O3cYc6qwQImzDXea5JAaDwaiA5JyYfxifWl1vwR5/6+g8puQUU7FljDX3Z8Jji/Jxm5J0eGNI0TLnxGtNJVMaQ51wmllQRgBHWWQp1Oa7lPbo6JanngWlg8hw9RTIuz2qXJ9q6zbCNN1CMRCrjsFhjiRxZS6pcAUsf2jDq1yAVDWDk96bTN09aaCCFgQ0qQNQW+vse0oaa3YF/CA13Bd8bRICjgKw0hhr09oPetcgae2pFLvqtuGPSgxRhN0SUDtkt+L4ibeGP1/qnawhEhB9ouCZbMgukGUo0vLEBHabfy+jE9TBMYQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=idjo0qiw5FRuENJqgeM1GJb0xhD361R10FEVg+6EwgI=;
 b=grQV9OBfNncScimeEqcCsVRnAKQKBpUbGR6clhTSMxy9GeKRV8CSIJsp4KSYtBc6xkHAi6dYM66J3SQbstkTITdY8XgdgKWUHK9fJ8xmSmmY1e/2zWoeCdbSZ0rSTXdqYlTyNh+wBEYUgwGL5dW2wFLc7pnxnk1tcZjdy1fRNGmR042c0JAYJvzIBHnRhudhu0dn/uBPrt9P8yb8oL0N/7S5fZZxId25hOK2asTvWRoI3tEtkYEmWNX35yZp8f4zIXtU8pUZ5wkkIkt9Cnfp540PIs//rUN11X6sc4paa14pU4fua3wK98xuHD/0bE7I7ywSAvD9ScbfOyBP3xS2RQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=idjo0qiw5FRuENJqgeM1GJb0xhD361R10FEVg+6EwgI=;
 b=vDsXVUhltjwMXORD4KVdUt1GOkZIu1tdiTJ3BOgVzx0KMEzqjh89CWCetQMV0MyTgCdA4wqLphkA1XWc/fFVnzvb6Ukt73yun15vq31uj16L0Cw5UPaLcIgKKnG4q4IWeqsDWZLFD+BLe1Ar40HJNZHWLPg3XS+AlEx6q7oOZui11xUUYuW8yuUfiKWViATafCUJJdXOOMElIGRjuEwmcPD9ehhqfpXkyzE7Rl6KYHLSQ4qDjQj0PNyy0krIL4e2Hss6nM9F4xaEzaWaFI390C+m6/16s80jUO4zf2u7nrIS4wR6c9IlV55VjNMvv1SOkA6xx7IZ8n4mZVHUMPVuxg==
From: Dawei Li <set_pte_at@outlook.com>
To: gregkh@linuxfoundation.org
Cc: johannes@sipsolutions.net,
	robert.jarzmik@free.fr,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	roger.pau@citrix.com,
	srinivas.kandagatla@linaro.org,
	bgoswami@quicinc.com,
	mpe@ellerman.id.au,
	npiggin@gmail.com,
	christophe.leroy@csgroup.eu,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	alsa-devel@alsa-project.org,
	linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Dawei Li <set_pte_at@outlook.com>
Subject: [PATCH 0/6] Make remove() of any bus based driver void returned
Date: Mon,  5 Dec 2022 23:36:38 +0800
Message-ID:
 <TYCP286MB23234ABCCF40E3FC42FD09A4CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
X-Mailer: git-send-email 2.25.1
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-TMN: [UNXCpyl4RA3GK+ciwc5f+GWb8JB5tMkE]
X-ClientProxiedBy: SG2PR02CA0046.apcprd02.prod.outlook.com
 (2603:1096:3:18::34) To TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:152::9)
X-Microsoft-Original-Message-ID:
 <20221205153644.60909-1-set_pte_at@outlook.com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: TYCP286MB2323:EE_|TYYP286MB1787:EE_
X-MS-Office365-Filtering-Correlation-Id: aedce035-d51e-41c8-6e4b-08dad6d68b90
X-MS-Exchange-SLBlob-MailProps:
	ZRuQdVKRmYsFuMRaXb5//B01o/cN+noGWrg39EjfTQXunQwIDnBNGuuug4/KoHir8EFf0cr6w6gPVExnXvsev3xsuBD1BIaekqlE/uEzcar4E7aoIN5bHHWITdhmJaYXDpd2HhJ3IAFOHLAbqtmiSvinQwUiPLaEyPm9vT8zZrNiqCMSBC05XKFo/uDKXwjVjxlkFEK3e3rg5N0Q5L22vuMhcTe2EGhHqtDomBhXjX30qXqKLq9J4g3VEqSgx4zLmuOhQPIy2VO4rtZz4M11WAswWRGLfW0APpfqcV3IN0LtccA9TptjLTABsB47yWZVdyb7o+tCgAb5NeEb0Oo7kQg0ULtoR4+qLRx0KU12DgccklSt38OPJhKFa3PnXjLhpAI4jcHDXHqx3NIE8jdq2C4HS7igGHXO5B3CnXCzCx1EWhidysbyP4K2A9hc1ENARed57QK31bHvb5BH+6ZeBNCI8OmnbRJt6bG9PSe1L34f55RGXCGqqhwV7m41Se6ysolhquogekoWbDLZH5bSRxifpbdEEIxU/sCcMFxvqtAWR+AiQCmwaR72ottkjxbIM4BXPAAhrIXF+USAlrCJOqOzSxuMu1U/clROYqxwUV6vFyLMGp7Muxm2z689tT2K9HlaJRkAJxH47uUfpOL2WrUl3IxDEQzCNppe+yCIJihgwsZu+Hhj3RF9OLwPnELMuGJyZNC3zhLga7o7wYdGT2v2H4fcm1bH
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zGLnvyXv0fD6CDEHBIolniphzNkSmzBHMpXSdaYDHfiFUo506g9rEVf1fEJ45TUnM2aq5pjVIx3FKoZ94IhH2ranBQWlRiuxF6NRlH/kB+N8GAiLLbyIFD9qyrv5C8bk2h/i6ZV9yeENrY1e2SbZU4RXurxXaUZ1i9Amsq5tKmrEl8RSzcZ1r24MIF1p6zI+BjZSgokOZUunPrY5cDtq/PJzxD1EYVZnaq8o4t2+4xNvWJ/86jo/NspBOHOt7Wr355BVQabP5xU5CuXst41Z8ABPti/kmb0IS8urxRTboYB9r+Kc5K/4MdqDaKeB7YTQUgcBX2AQ7P4kmSaEPgQ5dKJJ6KIRSoQC3m8a5kt8k4wSYdCoDOJbMO5mDtQFaZo6xCvqiPoA6cWo5sQtY9j/F1croiOQFteX9Cn1AhTCyzRWkhnoY3swt5SP//843zbfYdpmfOoXHQ/pBJUs7k+BxKnPZi2svhH73cm+LujSUcje5baRUWtQm9gffSjivZR+yEtCVVckjYmf71iJnMfcWTs01Gog8SFAmOzGjOlXFjdUWs1IL3rp9XNbNDpvqUj6nDcAIXVYqzH6GwnPZa7qdtqZ7mCGJR2xzrhQ4C4XgrCj80grl2tkzk24fwQLgiYx91LCWm112cCSMBXC6gwrRQ==
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?QRBTP8FnMx9BraTxM3xGIeujBWDR1n1+I3fxhWoTJSykREz6EqHLu90Zidj+?=
 =?us-ascii?Q?6UOogrOop8rfehSZb1RqSN5+dqjHmo0ByE3kyOrpY9T8UQGYAvXdOBPzv2BM?=
 =?us-ascii?Q?iyUiOESAAGutorftWnaH6GFJPdCjantLSBEyUXH+oNOnurQJv65ds6gzcGgc?=
 =?us-ascii?Q?p2OS6DCPFzLBsYgm42evehpZVjWh/5MBX8CGjtveguaxihJD94Vld7p1rBY3?=
 =?us-ascii?Q?6K3tzfEZYtFWnoiCUhYSkdJoNmwoo1zzx4d40kQy+dAyn2HVsmDGxQIVutO9?=
 =?us-ascii?Q?xEplfkhbLDdZcgSYqEXcJvSJOQU2BYXBrUmWAPqeNNd7lz/XMe8N3u22kAWZ?=
 =?us-ascii?Q?EeK2EtBbEznK4IhILxnb5rMS6pNjicdH2RpenTnLT7y2IrwG7K+nkFVRtCbs?=
 =?us-ascii?Q?RtEhltW46OZkxIFsAsUd5kZpffYoPjYEKdCTVOodl46+4dReg26gO0KFAp3t?=
 =?us-ascii?Q?vvjzoWow6VIBfWXUD/ftguEJPfLeLA9TSVDUKbtwivzKrnxDlnrgyYzqtl96?=
 =?us-ascii?Q?FbGnPqXNJufWQIBCESeiHYKpWW10OB0R7+tobIPI72Dgcw1dVfPy9uxjSVpd?=
 =?us-ascii?Q?aM0L9r8/ikA4aOLLzzAw5u87v9MmWN0wvvmAO80pMb5eefKlTYH9AVhXzgX/?=
 =?us-ascii?Q?qy+iM4b3xo0WFVRljQ0wzA/514sxeOOyauGNJxa0OrLo2dsBQP5KUSY4rpp0?=
 =?us-ascii?Q?yySYPsbsP92rBnryZSgHLzRclhq3Dr5LoFNHQlvfNG0YQWvo5XSUr/z/3Lju?=
 =?us-ascii?Q?yLTaFgHlFOCXXzB611uLgcQz2SdI0ZctPCC1jRG5A7Xu4nzW7pkT1Tr7Dtz9?=
 =?us-ascii?Q?AZ/T3JMRN5fvG5KJNg4wiTTXBIOsHasT7+shJIN0VAbdf63EQo/iHQWXDWY+?=
 =?us-ascii?Q?QuoIuURBpTxW34FpEQyMDUNrhluNKmrc1Hg2/Bs2zcJDlU1iVRyZNkQjqPvX?=
 =?us-ascii?Q?BgO+W0BY1IIu6V3mrEyc9J0Qjkbk7UeX1iavS+2rGLHeYzjKhiJkiazDilMR?=
 =?us-ascii?Q?EeYsJxiHj4+K7PPru7RYrtYnghs2RsrSzzxFA18VihfPgqKsPaWp5t3cXdpU?=
 =?us-ascii?Q?pEGR9UxdUuw67b7kLXZ1ncKkcHcrIPN5/6wYuC/5eON0mmxLIkcK6WbXfXrP?=
 =?us-ascii?Q?/Qvo7nzmjz7SO/ItZhpOEOx6xoaH/mUB6E3uE4MPjc9RYUTLmqv6WNx1+sds?=
 =?us-ascii?Q?DDTliP/mBqgvUQeM7pYBzyo40XQzuL3Ppq0XJIHDj9tK6b4zJHaewNFWXnjH?=
 =?us-ascii?Q?ojHK1SmW45QnQOaPqs1nZafLveMIfUwNN+ITvqj+gw=3D=3D?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aedce035-d51e-41c8-6e4b-08dad6d68b90
X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 15:37:00.2471
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
	00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB1787

For bus-based driver, device removal is implemented as:
device_remove() => bus->remove() => driver->remove()

Driver core needs no feedback from bus driver about the result of
remove callback. In which case, commit fc7a6209d571 ("bus: Make
remove callback return void") forces bus_type::remove be void-returned.

Now we have the situation that both 1st & 2nd part of calling chain
are void returned, so it does not make much sense for the last one
(driver->remove) to return non-void to its caller.

So the basic idea behind this patchset is making remove() callback of
any bus-based driver to be void returned.

This patchset includes changes for drivers below:
1. hyperv
2. macio
3. apr
4. xen
5. ac87
6. soundbus

Q: Why not platform drivers?
A: Too many of them.(maybe 4K+)

Dawei Li (6):
  hyperv: Make remove callback of hyperv driver void returned
  macio: Make remove callback of macio driver void returned
  apr: make remove callback of apr driver void returned
  xen: make remove callback of xen driver void returned
  ac97: make remove callback of ac97 driver void returned
  soundbus: make remove callback of soundbus driver void returned

 arch/powerpc/include/asm/macio.h                | 12 ++++++------
 drivers/ata/pata_macio.c                        |  4 +---
 drivers/block/xen-blkback/xenbus.c              |  4 +---
 drivers/block/xen-blkfront.c                    |  3 +--
 drivers/char/tpm/xen-tpmfront.c                 |  3 +--
 drivers/gpu/drm/hyperv/hyperv_drm_drv.c         |  4 +---
 drivers/gpu/drm/xen/xen_drm_front.c             |  3 +--
 drivers/hid/hid-hyperv.c                        |  4 +---
 drivers/hv/hv_balloon.c                         |  5 +----
 drivers/hv/hv_util.c                            |  4 +---
 drivers/input/misc/xen-kbdfront.c               |  5 ++---
 drivers/input/serio/hyperv-keyboard.c           |  4 +---
 drivers/macintosh/rack-meter.c                  |  4 +---
 drivers/mfd/wm97xx-core.c                       |  4 +---
 drivers/net/ethernet/apple/bmac.c               |  4 +---
 drivers/net/ethernet/apple/mace.c               |  4 +---
 drivers/net/hyperv/netvsc_drv.c                 |  4 +---
 drivers/net/wireless/intersil/orinoco/airport.c |  4 +---
 drivers/net/xen-netback/xenbus.c                |  3 +--
 drivers/net/xen-netfront.c                      |  4 +---
 drivers/pci/controller/pci-hyperv.c             |  3 +--
 drivers/pci/xen-pcifront.c                      |  4 +---
 drivers/scsi/mac53c94.c                         |  5 +----
 drivers/scsi/mesh.c                             |  5 +----
 drivers/scsi/storvsc_drv.c                      |  4 +---
 drivers/scsi/xen-scsifront.c                    |  4 +---
 drivers/tty/hvc/hvc_xen.c                       |  4 ++--
 drivers/tty/serial/pmac_zilog.c                 |  7 ++-----
 drivers/uio/uio_hv_generic.c                    |  5 ++---
 drivers/usb/host/xen-hcd.c                      |  4 +---
 drivers/video/fbdev/hyperv_fb.c                 |  5 +----
 drivers/video/fbdev/xen-fbfront.c               |  6 ++----
 drivers/xen/pvcalls-back.c                      |  3 +--
 drivers/xen/pvcalls-front.c                     |  3 +--
 drivers/xen/xen-pciback/xenbus.c                |  4 +---
 drivers/xen/xen-scsiback.c                      |  4 +---
 include/linux/hyperv.h                          |  2 +-
 include/linux/soc/qcom/apr.h                    |  2 +-
 include/sound/ac97/codec.h                      |  6 +++---
 include/xen/xenbus.h                            |  2 +-
 net/9p/trans_xen.c                              |  3 +--
 net/vmw_vsock/hyperv_transport.c                |  4 +---
 sound/ac97/bus.c                                |  5 ++---
 sound/aoa/fabrics/layout.c                      |  3 +--
 sound/aoa/soundbus/i2sbus/core.c                |  4 +---
 sound/aoa/soundbus/soundbus.h                   |  6 +++---
 sound/soc/qcom/qdsp6/q6core.c                   |  4 +---
 sound/xen/xen_snd_front.c                       |  3 +--
 48 files changed, 63 insertions(+), 137 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:38:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:38:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453901.711529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXp-0006fq-Be; Mon, 05 Dec 2022 15:38:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453901.711529; Mon, 05 Dec 2022 15:38:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXp-0006d9-2o; Mon, 05 Dec 2022 15:38:13 +0000
Received: by outflank-mailman (input) for mailman id 453901;
 Mon, 05 Dec 2022 15:37:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yaz+=4D=outlook.com=set_pte_at@srs-se1.protection.inumbo.net>)
 id 1p2DX2-0006Dh-0s
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:37:24 +0000
Received: from JPN01-OS0-obe.outbound.protection.outlook.com
 (mail-os0jpn01olkn2080d.outbound.protection.outlook.com
 [2a01:111:f403:700c::80d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4fdb7af-74b2-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 16:37:22 +0100 (CET)
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:152::9)
 by TYYP286MB1787.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:f9::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 15:37:15 +0000
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605]) by TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605%5]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 15:37:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4fdb7af-74b2-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q7jTjDzWGZuJWXp2Xf0AG8HahNOVOKnoEVsFB2rutv88BZM2c3xaXsz5C4fRwEFYb0Y0l8I3/v09pOe7xGheEc+3XKBDokUtRYf4d6TIAl1FBAXFQIp97ZKvkwM4XpG0cRI141tZw27/1glLmBRfRZlBadlg6b76Yt+gkNp36zEk3KRfdtezordshJbabUPS7m+x/U9DMblzEdnlyyBXNURfPkmvaAky5OW8OGVdHR4RaBQRmgaX8CXHPBJQ/0TYH5lhyeRMu0VYtq94jNEQbiQ3SKS4EApVilfLHuEzkCJJuPNSMdcn0VjWCfB0q9K9yHVPX9J2mqnnR3w/VyL58w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PUFfM58njfsAKB3lQ0oHWT+h/J46/EawXHZuEUQQcI8=;
 b=n+MVvpy1u7yw4FJFeLq6wmbp8Aiikb+XmfFP4Un4v43+NaTH6P6AGD8bff+tNXus4QBKR8KlsP6pHHquOzR661db/kTuhd7ODd5OfP98hSRqt3fkrMsyTF1FvfHaKCyzfWnxaOPeUe9YNAS9RP9gG2CLs2tQARU5yAQW3aUntwuy1qbVML3RoKw0EveyIxoAHAoStS73r6uTIKAOK9ItbA8lMrM4jIMi7PxZMADt6YZ9YYu8YRf97J8quAn9PTtRYjuXXXGQ2V4WrpXltnNp2YVvJnfKWiXwxX3xwz+gqt2rFmRIEci2Mrnz96NWlOT4JZjb271n3laTVc1i05eQUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PUFfM58njfsAKB3lQ0oHWT+h/J46/EawXHZuEUQQcI8=;
 b=TuOHIawJY1syipkEbNxq7xdl7eJkeRS4C2XwjghtApYQnL+OyWh3N13djfiAvpTblddOpb/RGECDEFcq/OMT6RkoEy7RhelxSRM9yMfGcSFrZWVR+o9DDP3+FavJWDDyH/5UsYJTP+dfgHmOWrO9nUxXmbwU2Y1hyeK0k/uS6qXKWvStLatYuS3me5fVW2zI/UhcUgm4WorpQ1GBeUki2k8MY2Gz3et9JpVYlMPPqrmoqCxX+keIKFOpIjL+T1pp0v7fu1mQ3xlSWZkjb/YhEs1bh3YCbhuFRGmu4hcqTQ9FBUAdY+t1bOPsVrIfdN6MF5ev5gGfJFCtrd1slydJiw==
From: Dawei Li <set_pte_at@outlook.com>
To: gregkh@linuxfoundation.org
Cc: johannes@sipsolutions.net,
	robert.jarzmik@free.fr,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	roger.pau@citrix.com,
	srinivas.kandagatla@linaro.org,
	bgoswami@quicinc.com,
	mpe@ellerman.id.au,
	npiggin@gmail.com,
	christophe.leroy@csgroup.eu,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	alsa-devel@alsa-project.org,
	linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Dawei Li <set_pte_at@outlook.com>
Subject: [PATCH 4/6] xen: make remove callback of xen driver void returned
Date: Mon,  5 Dec 2022 23:36:42 +0800
Message-ID:
 <TYCP286MB232333CB411691110A8B9D96CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221205153644.60909-1-set_pte_at@outlook.com>
References: <20221205153644.60909-1-set_pte_at@outlook.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-TMN: [pYL2ZN+CnnrmRvnvOClobKI4LpYOn9kj]
X-ClientProxiedBy: SG2PR02CA0046.apcprd02.prod.outlook.com
 (2603:1096:3:18::34) To TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:152::9)
X-Microsoft-Original-Message-ID:
 <20221205153644.60909-5-set_pte_at@outlook.com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: TYCP286MB2323:EE_|TYYP286MB1787:EE_
X-MS-Office365-Filtering-Correlation-Id: 98a76953-4a83-48a8-80d2-08dad6d695c8
X-MS-Exchange-SLBlob-MailProps:
	/OoUGmN/RpVKD6y7RJd2fRTadJ6Pq1otO0hXGE1Fkgli6QWdSXYMunSFX5pBjBN7ezKQeOV8KmNDGlFsM9QYDTvrVubKOUSRgjPFSd7fgVUt+R6alylE3Bq8Rzwp73dqfBU4V5uRSQqV/EucAcyogXSo97nG24RKNZYSZALSqTJRJmmeulUIBj6PfyTXQQo8z+I+PLm28x4LwHw2+SgbhGXZ1j+VviI2U/9lh9tYCeK/Odhk9DjR/lLUr0ZkqTsDQ/LYHZBz4i1homzrzwv9DPRQs8WPswEjAt25J86Hi1eQ1+UKeNBrCbjM6Vxey2UQ7WpPXdKHO45/RG5Wi1nn1tuQ3JwKrsJaz/OfKQQCzm96CIYpyDZcpupHWKvUHu2d5ztELB61IFxF+VHN91M0J2/a/MPW1piQs7x+xLxM+S5ClZ4IJJO1vqFE3z/oYymjBKDWgUmsD5DsPCZK7kjBOJMOakQN79HkVMHPRjbXfVYhp6N6qQnajV0D18cNm8dSQmzcU4TV9W3zHDe46LnW3ob/LRb/zYL1lu+DusPi6heXq9KIkR4SzW0KDVIPDP3Xkn8VKUc70RdDiMVEqFWAqdHKadztU19RkEAJuQGKF77Z9cxeOicaCCkXhtQLEDa0vuoqU0oHAAphIr7XJ8wshNQN9OZxdhTNhnQSojNki2EvFDyfLeuKkOYhJc+8/e2Culd4DHWXuzMqbK/pmzpPhu26Ik4SW4RIi33eRK2/73hcACfDYCLLQyQJ1EMS2GYp
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MDy9nSYZ5SidjtlSfxVwaH49UfrCtlA6Hp+5YkHMXi7a5Qbh70gNbqz/04MqTs0V0mDBN0cH6jFdHbOnYbTfHn6eYD1vXwKocP56wKrfiW+VJ4GC7y+nQU0KuiSmCJslPnii1E8EI34P+ZaaXhOv0Q1cepu3llbRHYHThj6yPG+VRib0JTEsgfQ33q5CtiznXQT4L984ilEkdNeIEutKJFpwjPxJAmLScCWzOBaa4N0GsnZLw8LukhGLRWPNr6tXpqvxCSDf5Oq884kSap9G9w8gX6h7rqEXsZoL7d+LHVxVfNq/0kBVGAld0VI98qyG3xMd/n5KSH0OHF4FxTMTLh+PjcLQekdaQ3UU/kYOxFxEpoYa9uhfIHgiz9DnCIMOOXmp/0BYG67fou17Gtw3leVDaMjxVvu992hiObXWRKzWir8HQcba+St0T7AnN4yFfsg162vMM1SYitV3j3AKU1gHKSSQJ4K9oWayKzaS8DjE3DIOchYA5t/8liH48hP+OZhk0+Ax9qN+OvTAkb4Y9KJKY+HxjACEooS0QBC6tZwyRhQ4IASyvh3J0TdBCcuW9CAM4gvYm1eMWwpn9X0i/Z+pBtNtBqjLQCNkEucpOl0JAycTsxCraShZfAhY/GyASqAphl7UbstovpOcjPnqJg==
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?41yWUbTb+6oMhLkvyBM6Vf9d8NgDMAqc1TiVPJzUIyaQse0kv2xpc4+NqCKC?=
 =?us-ascii?Q?zkr26/pVNLH/S1tEpXo4MJ4EIz0cKfwWFmdTC6ws6IJMwb19S15N01dY9WyE?=
 =?us-ascii?Q?AJPgv6XUdd8lCR9a9446mrDepICxxzGJzNdUKchhnddoqMIyzonQw3LQ/zle?=
 =?us-ascii?Q?y6qqxaHsqN8iiNda48ik56V7kI6t5K+k08hPDtmKwpEaXETwSyoL0qN3R83z?=
 =?us-ascii?Q?w18zbuhT8KUOhlTI9aFn35qf2x/DjNYbJ+samuje9guHxYyPjBKAm0hdqcgs?=
 =?us-ascii?Q?jlTblwZxqfHNjKXUlhXbFkvMFx6XD63yyUFbvwVJPA6MESUvv0lyjgwS2fET?=
 =?us-ascii?Q?Tff3mMlmiqf8FIyKrfYHU55Qk9LXLCPok4WdmTapBE3DFjLkBguVLM7AkSqx?=
 =?us-ascii?Q?4QeUjQh5F4GyLgrhLMPgKq50MJvieuaFpuptMslWKweDMeR8MEemQLnqlWBX?=
 =?us-ascii?Q?E+WmuhESJBM4dfnE0hRHoznPiba7qAEMvJwDIbZ+qP1ZWT9xAagGaCzWDm5L?=
 =?us-ascii?Q?OrZS7R+RBqWh5sInMXZ13WmJAYHMWCb0y5tlOYefhNxSO2Lo0I8uPAjue18V?=
 =?us-ascii?Q?46o38n4lJmy3ej9gyqeTKsKfb4QVJvW4hcV6TZ/T2tI2DrCns6kDBJLiFilY?=
 =?us-ascii?Q?kD2RCDR0ZTCDeGFgCSRQ7gUzpscRa5GHZwv2qqIRIgpBi2jWtiXwVYs6IuxA?=
 =?us-ascii?Q?pxpqWCPgQQOfrp16I1VvPFEvcGinPK80ucHtPrlPmtwlvdMm/uRZRjKSv6xz?=
 =?us-ascii?Q?NPX2+0aaO2mFlH4Eb1OgQ3JynyKV7bHAiz5eLehYfSw4XcqFyqKOhT+WTM7x?=
 =?us-ascii?Q?/U/jxrVEWvrlq91ihPG1fpCzF98fmiyUwmDGIV2Bj5BfP8n8DBVN2wf5jSNM?=
 =?us-ascii?Q?cztrvuEYZt+PoD4vch5PxS+k14Q/RD6FcWYLCN/r8f8ZUzxPP730k693m9tT?=
 =?us-ascii?Q?pxDAyBsGZjGsd9LnOYXvs93OOjhe3Vbh/L9XQcpOT/JCkt8OIl5ERMih81pP?=
 =?us-ascii?Q?1w36wmq1Tj7xYA0mRnOK8UqdLXKy7A7vRiAJXJi9LxEJKLGUapLAe4PkB2ib?=
 =?us-ascii?Q?knGeA+UIjiOadNLK156qXu3MXL5vmnLE5lBqVfh673hhJzCH/jm0izob5fzj?=
 =?us-ascii?Q?PLE9KNW4jgZowdeC0HILR6tEGGClaAJI5GsEM9sVdDj1bF2vOB2xpsv/sJYQ?=
 =?us-ascii?Q?bYpTrkVrdwM448/ohgDX+zqSDqng+0B1yJPm+yXPQBlDtkORoG1t3qZyQqIE?=
 =?us-ascii?Q?ig4kJ3cy1zQJ5Lec6JNGc3c9zTwqSxFY7rEu6F1Azw=3D=3D?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 98a76953-4a83-48a8-80d2-08dad6d695c8
X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 15:37:15.2981
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
	00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB1787

Since commit fc7a6209d571 ("bus: Make remove callback return
void") forces bus_type::remove be void-returned, it doesn't
make much sense for any bus based driver implementing remove
callbalk to return non-void to its caller.

This change is for xen bus based drivers.

Signed-off-by: Dawei Li <set_pte_at@outlook.com>
---
 drivers/block/xen-blkback/xenbus.c  | 4 +---
 drivers/block/xen-blkfront.c        | 3 +--
 drivers/char/tpm/xen-tpmfront.c     | 3 +--
 drivers/gpu/drm/xen/xen_drm_front.c | 3 +--
 drivers/input/misc/xen-kbdfront.c   | 5 ++---
 drivers/net/xen-netback/xenbus.c    | 3 +--
 drivers/net/xen-netfront.c          | 4 +---
 drivers/pci/xen-pcifront.c          | 4 +---
 drivers/scsi/xen-scsifront.c        | 4 +---
 drivers/tty/hvc/hvc_xen.c           | 4 ++--
 drivers/usb/host/xen-hcd.c          | 4 +---
 drivers/video/fbdev/xen-fbfront.c   | 6 ++----
 drivers/xen/pvcalls-back.c          | 3 +--
 drivers/xen/pvcalls-front.c         | 3 +--
 drivers/xen/xen-pciback/xenbus.c    | 4 +---
 drivers/xen/xen-scsiback.c          | 4 +---
 include/xen/xenbus.h                | 2 +-
 net/9p/trans_xen.c                  | 3 +--
 sound/xen/xen_snd_front.c           | 3 +--
 19 files changed, 22 insertions(+), 47 deletions(-)

diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
index c0227dfa4688..4807af1d5805 100644
--- a/drivers/block/xen-blkback/xenbus.c
+++ b/drivers/block/xen-blkback/xenbus.c
@@ -524,7 +524,7 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
 	return 0;
 }
 
-static int xen_blkbk_remove(struct xenbus_device *dev)
+static void xen_blkbk_remove(struct xenbus_device *dev)
 {
 	struct backend_info *be = dev_get_drvdata(&dev->dev);
 
@@ -547,8 +547,6 @@ static int xen_blkbk_remove(struct xenbus_device *dev)
 		/* Put the reference we set in xen_blkif_alloc(). */
 		xen_blkif_put(be->blkif);
 	}
-
-	return 0;
 }
 
 int xen_blkbk_flush_diskcache(struct xenbus_transaction xbt,
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 35b9bcad9db9..e68576ded7cb 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -2468,7 +2468,7 @@ static void blkback_changed(struct xenbus_device *dev,
 	}
 }
 
-static int blkfront_remove(struct xenbus_device *xbdev)
+static void blkfront_remove(struct xenbus_device *xbdev)
 {
 	struct blkfront_info *info = dev_get_drvdata(&xbdev->dev);
 
@@ -2489,7 +2489,6 @@ static int blkfront_remove(struct xenbus_device *xbdev)
 	}
 
 	kfree(info);
-	return 0;
 }
 
 static int blkfront_is_ready(struct xenbus_device *dev)
diff --git a/drivers/char/tpm/xen-tpmfront.c b/drivers/char/tpm/xen-tpmfront.c
index 379291826261..80cca3b83b22 100644
--- a/drivers/char/tpm/xen-tpmfront.c
+++ b/drivers/char/tpm/xen-tpmfront.c
@@ -360,14 +360,13 @@ static int tpmfront_probe(struct xenbus_device *dev,
 	return tpm_chip_register(priv->chip);
 }
 
-static int tpmfront_remove(struct xenbus_device *dev)
+static void tpmfront_remove(struct xenbus_device *dev)
 {
 	struct tpm_chip *chip = dev_get_drvdata(&dev->dev);
 	struct tpm_private *priv = dev_get_drvdata(&chip->dev);
 	tpm_chip_unregister(chip);
 	ring_free(priv);
 	dev_set_drvdata(&chip->dev, NULL);
-	return 0;
 }
 
 static int tpmfront_resume(struct xenbus_device *dev)
diff --git a/drivers/gpu/drm/xen/xen_drm_front.c b/drivers/gpu/drm/xen/xen_drm_front.c
index 0d8e6bd1ccbf..90996c108146 100644
--- a/drivers/gpu/drm/xen/xen_drm_front.c
+++ b/drivers/gpu/drm/xen/xen_drm_front.c
@@ -717,7 +717,7 @@ static int xen_drv_probe(struct xenbus_device *xb_dev,
 	return xenbus_switch_state(xb_dev, XenbusStateInitialising);
 }
 
-static int xen_drv_remove(struct xenbus_device *dev)
+static void xen_drv_remove(struct xenbus_device *dev)
 {
 	struct xen_drm_front_info *front_info = dev_get_drvdata(&dev->dev);
 	int to = 100;
@@ -751,7 +751,6 @@ static int xen_drv_remove(struct xenbus_device *dev)
 
 	xen_drm_drv_fini(front_info);
 	xenbus_frontend_closed(dev);
-	return 0;
 }
 
 static const struct xenbus_device_id xen_driver_ids[] = {
diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
index 8d8ebdc2039b..67f1c7364c95 100644
--- a/drivers/input/misc/xen-kbdfront.c
+++ b/drivers/input/misc/xen-kbdfront.c
@@ -51,7 +51,7 @@ module_param_array(ptr_size, int, NULL, 0444);
 MODULE_PARM_DESC(ptr_size,
 	"Pointing device width, height in pixels (default 800,600)");
 
-static int xenkbd_remove(struct xenbus_device *);
+static void xenkbd_remove(struct xenbus_device *);
 static int xenkbd_connect_backend(struct xenbus_device *, struct xenkbd_info *);
 static void xenkbd_disconnect_backend(struct xenkbd_info *);
 
@@ -404,7 +404,7 @@ static int xenkbd_resume(struct xenbus_device *dev)
 	return xenkbd_connect_backend(dev, info);
 }
 
-static int xenkbd_remove(struct xenbus_device *dev)
+static void xenkbd_remove(struct xenbus_device *dev)
 {
 	struct xenkbd_info *info = dev_get_drvdata(&dev->dev);
 
@@ -417,7 +417,6 @@ static int xenkbd_remove(struct xenbus_device *dev)
 		input_unregister_device(info->mtouch);
 	free_page((unsigned long)info->page);
 	kfree(info);
-	return 0;
 }
 
 static int xenkbd_connect_backend(struct xenbus_device *dev,
diff --git a/drivers/net/xen-netback/xenbus.c b/drivers/net/xen-netback/xenbus.c
index c1ba4294f364..001636901dda 100644
--- a/drivers/net/xen-netback/xenbus.c
+++ b/drivers/net/xen-netback/xenbus.c
@@ -977,7 +977,7 @@ static int read_xenbus_vif_flags(struct backend_info *be)
 	return 0;
 }
 
-static int netback_remove(struct xenbus_device *dev)
+static void netback_remove(struct xenbus_device *dev)
 {
 	struct backend_info *be = dev_get_drvdata(&dev->dev);
 
@@ -992,7 +992,6 @@ static int netback_remove(struct xenbus_device *dev)
 	kfree(be->hotplug_script);
 	kfree(be);
 	dev_set_drvdata(&dev->dev, NULL);
-	return 0;
 }
 
 /*
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 9af2b027c19c..bc17f5391b1a 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -2640,7 +2640,7 @@ static void xennet_bus_close(struct xenbus_device *dev)
 	} while (!ret);
 }
 
-static int xennet_remove(struct xenbus_device *dev)
+static void xennet_remove(struct xenbus_device *dev)
 {
 	struct netfront_info *info = dev_get_drvdata(&dev->dev);
 
@@ -2656,8 +2656,6 @@ static int xennet_remove(struct xenbus_device *dev)
 		rtnl_unlock();
 	}
 	xennet_free_netdev(info->netdev);
-
-	return 0;
 }
 
 static const struct xenbus_device_id netfront_ids[] = {
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index 7378e2f3e525..fcd029ca2eb1 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -1055,14 +1055,12 @@ static int pcifront_xenbus_probe(struct xenbus_device *xdev,
 	return err;
 }
 
-static int pcifront_xenbus_remove(struct xenbus_device *xdev)
+static void pcifront_xenbus_remove(struct xenbus_device *xdev)
 {
 	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
 
 	if (pdev)
 		free_pdev(pdev);
-
-	return 0;
 }
 
 static const struct xenbus_device_id xenpci_ids[] = {
diff --git a/drivers/scsi/xen-scsifront.c b/drivers/scsi/xen-scsifront.c
index 66b316d173b0..71a3bb83984c 100644
--- a/drivers/scsi/xen-scsifront.c
+++ b/drivers/scsi/xen-scsifront.c
@@ -995,7 +995,7 @@ static int scsifront_suspend(struct xenbus_device *dev)
 	return err;
 }
 
-static int scsifront_remove(struct xenbus_device *dev)
+static void scsifront_remove(struct xenbus_device *dev)
 {
 	struct vscsifrnt_info *info = dev_get_drvdata(&dev->dev);
 
@@ -1011,8 +1011,6 @@ static int scsifront_remove(struct xenbus_device *dev)
 
 	scsifront_free_ring(info);
 	scsi_host_put(info->host);
-
-	return 0;
 }
 
 static void scsifront_disconnect(struct vscsifrnt_info *info)
diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
index 7c23112dc923..c879f922c716 100644
--- a/drivers/tty/hvc/hvc_xen.c
+++ b/drivers/tty/hvc/hvc_xen.c
@@ -394,9 +394,9 @@ static int xen_console_remove(struct xencons_info *info)
 	return 0;
 }
 
-static int xencons_remove(struct xenbus_device *dev)
+static void xencons_remove(struct xenbus_device *dev)
 {
-	return xen_console_remove(dev_get_drvdata(&dev->dev));
+	xen_console_remove(dev_get_drvdata(&dev->dev));
 }
 
 static int xencons_connect_backend(struct xenbus_device *dev,
diff --git a/drivers/usb/host/xen-hcd.c b/drivers/usb/host/xen-hcd.c
index de1b09158318..46fdab940092 100644
--- a/drivers/usb/host/xen-hcd.c
+++ b/drivers/usb/host/xen-hcd.c
@@ -1530,15 +1530,13 @@ static void xenhcd_backend_changed(struct xenbus_device *dev,
 	}
 }
 
-static int xenhcd_remove(struct xenbus_device *dev)
+static void xenhcd_remove(struct xenbus_device *dev)
 {
 	struct xenhcd_info *info = dev_get_drvdata(&dev->dev);
 	struct usb_hcd *hcd = xenhcd_info_to_hcd(info);
 
 	xenhcd_destroy_rings(info);
 	usb_put_hcd(hcd);
-
-	return 0;
 }
 
 static int xenhcd_probe(struct xenbus_device *dev,
diff --git a/drivers/video/fbdev/xen-fbfront.c b/drivers/video/fbdev/xen-fbfront.c
index 4d2694d904aa..ae8a50ecdbd3 100644
--- a/drivers/video/fbdev/xen-fbfront.c
+++ b/drivers/video/fbdev/xen-fbfront.c
@@ -67,7 +67,7 @@ MODULE_PARM_DESC(video,
 	"Video memory size in MB, width, height in pixels (default 2,800,600)");
 
 static void xenfb_make_preferred_console(void);
-static int xenfb_remove(struct xenbus_device *);
+static void xenfb_remove(struct xenbus_device *);
 static void xenfb_init_shared_page(struct xenfb_info *, struct fb_info *);
 static int xenfb_connect_backend(struct xenbus_device *, struct xenfb_info *);
 static void xenfb_disconnect_backend(struct xenfb_info *);
@@ -527,7 +527,7 @@ static int xenfb_resume(struct xenbus_device *dev)
 	return xenfb_connect_backend(dev, info);
 }
 
-static int xenfb_remove(struct xenbus_device *dev)
+static void xenfb_remove(struct xenbus_device *dev)
 {
 	struct xenfb_info *info = dev_get_drvdata(&dev->dev);
 
@@ -542,8 +542,6 @@ static int xenfb_remove(struct xenbus_device *dev)
 	vfree(info->gfns);
 	vfree(info->fb);
 	kfree(info);
-
-	return 0;
 }
 
 static unsigned long vmalloc_to_gfn(void *address)
diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c
index d6f945fd4147..ea52a2092bb8 100644
--- a/drivers/xen/pvcalls-back.c
+++ b/drivers/xen/pvcalls-back.c
@@ -1181,9 +1181,8 @@ static void pvcalls_back_changed(struct xenbus_device *dev,
 	}
 }
 
-static int pvcalls_back_remove(struct xenbus_device *dev)
+static void pvcalls_back_remove(struct xenbus_device *dev)
 {
-	return 0;
 }
 
 static int pvcalls_back_uevent(struct xenbus_device *xdev,
diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c
index 1826e8e67125..5328f4d35f25 100644
--- a/drivers/xen/pvcalls-front.c
+++ b/drivers/xen/pvcalls-front.c
@@ -1085,7 +1085,7 @@ static const struct xenbus_device_id pvcalls_front_ids[] = {
 	{ "" }
 };
 
-static int pvcalls_front_remove(struct xenbus_device *dev)
+static void pvcalls_front_remove(struct xenbus_device *dev)
 {
 	struct pvcalls_bedata *bedata;
 	struct sock_mapping *map = NULL, *n;
@@ -1121,7 +1121,6 @@ static int pvcalls_front_remove(struct xenbus_device *dev)
 	kfree(bedata->ring.sring);
 	kfree(bedata);
 	xenbus_switch_state(dev, XenbusStateClosed);
-	return 0;
 }
 
 static int pvcalls_front_probe(struct xenbus_device *dev,
diff --git a/drivers/xen/xen-pciback/xenbus.c b/drivers/xen/xen-pciback/xenbus.c
index d171091eec12..b11e401f1b1e 100644
--- a/drivers/xen/xen-pciback/xenbus.c
+++ b/drivers/xen/xen-pciback/xenbus.c
@@ -716,14 +716,12 @@ static int xen_pcibk_xenbus_probe(struct xenbus_device *dev,
 	return err;
 }
 
-static int xen_pcibk_xenbus_remove(struct xenbus_device *dev)
+static void xen_pcibk_xenbus_remove(struct xenbus_device *dev)
 {
 	struct xen_pcibk_device *pdev = dev_get_drvdata(&dev->dev);
 
 	if (pdev != NULL)
 		free_pdev(pdev);
-
-	return 0;
 }
 
 static const struct xenbus_device_id xen_pcibk_ids[] = {
diff --git a/drivers/xen/xen-scsiback.c b/drivers/xen/xen-scsiback.c
index 6106ed93817d..954188b0b858 100644
--- a/drivers/xen/xen-scsiback.c
+++ b/drivers/xen/xen-scsiback.c
@@ -1249,7 +1249,7 @@ static void scsiback_release_translation_entry(struct vscsibk_info *info)
 	spin_unlock_irqrestore(&info->v2p_lock, flags);
 }
 
-static int scsiback_remove(struct xenbus_device *dev)
+static void scsiback_remove(struct xenbus_device *dev)
 {
 	struct vscsibk_info *info = dev_get_drvdata(&dev->dev);
 
@@ -1261,8 +1261,6 @@ static int scsiback_remove(struct xenbus_device *dev)
 	gnttab_page_cache_shrink(&info->free_pages, 0);
 
 	dev_set_drvdata(&dev->dev, NULL);
-
-	return 0;
 }
 
 static int scsiback_probe(struct xenbus_device *dev,
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h
index eaa932b99d8a..ad4fb4eab753 100644
--- a/include/xen/xenbus.h
+++ b/include/xen/xenbus.h
@@ -117,7 +117,7 @@ struct xenbus_driver {
 		     const struct xenbus_device_id *id);
 	void (*otherend_changed)(struct xenbus_device *dev,
 				 enum xenbus_state backend_state);
-	int (*remove)(struct xenbus_device *dev);
+	void (*remove)(struct xenbus_device *dev);
 	int (*suspend)(struct xenbus_device *dev);
 	int (*resume)(struct xenbus_device *dev);
 	int (*uevent)(struct xenbus_device *, struct kobj_uevent_env *);
diff --git a/net/9p/trans_xen.c b/net/9p/trans_xen.c
index b15c64128c3e..4387990b9b41 100644
--- a/net/9p/trans_xen.c
+++ b/net/9p/trans_xen.c
@@ -294,13 +294,12 @@ static void xen_9pfs_front_free(struct xen_9pfs_front_priv *priv)
 	kfree(priv);
 }
 
-static int xen_9pfs_front_remove(struct xenbus_device *dev)
+static void xen_9pfs_front_remove(struct xenbus_device *dev)
 {
 	struct xen_9pfs_front_priv *priv = dev_get_drvdata(&dev->dev);
 
 	dev_set_drvdata(&dev->dev, NULL);
 	xen_9pfs_front_free(priv);
-	return 0;
 }
 
 static int xen_9pfs_front_alloc_dataring(struct xenbus_device *dev,
diff --git a/sound/xen/xen_snd_front.c b/sound/xen/xen_snd_front.c
index 4041748c12e5..b66e037710d0 100644
--- a/sound/xen/xen_snd_front.c
+++ b/sound/xen/xen_snd_front.c
@@ -311,7 +311,7 @@ static int xen_drv_probe(struct xenbus_device *xb_dev,
 	return xenbus_switch_state(xb_dev, XenbusStateInitialising);
 }
 
-static int xen_drv_remove(struct xenbus_device *dev)
+static void xen_drv_remove(struct xenbus_device *dev)
 {
 	struct xen_snd_front_info *front_info = dev_get_drvdata(&dev->dev);
 	int to = 100;
@@ -345,7 +345,6 @@ static int xen_drv_remove(struct xenbus_device *dev)
 
 	xen_snd_drv_fini(front_info);
 	xenbus_frontend_closed(dev);
-	return 0;
 }
 
 static const struct xenbus_device_id xen_drv_ids[] = {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:38:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:38:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453905.711541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXq-0006ya-2S; Mon, 05 Dec 2022 15:38:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453905.711541; Mon, 05 Dec 2022 15:38:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXp-0006vi-RY; Mon, 05 Dec 2022 15:38:13 +0000
Received: by outflank-mailman (input) for mailman id 453905;
 Mon, 05 Dec 2022 15:37:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yaz+=4D=outlook.com=set_pte_at@srs-se1.protection.inumbo.net>)
 id 1p2DX8-0006H8-O1
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:37:30 +0000
Received: from JPN01-OS0-obe.outbound.protection.outlook.com
 (mail-os0jpn01olkn2082d.outbound.protection.outlook.com
 [2a01:111:f403:700c::82d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9418bb8-74b2-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 16:37:29 +0100 (CET)
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:152::9)
 by TYYP286MB1787.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:f9::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 15:37:22 +0000
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605]) by TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605%5]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 15:37:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9418bb8-74b2-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g4qbe3q5GUm3+djFxGLY0FHhc1fl94A/l/I18KWxQS6c5a7kO2tpTyGpSuie1zbjsCQNn9dbs9uVCDgPdyDRtrHBT48xOFmFULzB1Qc9MfzUMJkxMp7o+Lqz3/LHrrkp7lymZSVecOjeMEHb98xgQBYeeGsqDpECIFDY92iLZi5ypPKyF7w0DZIOrwWhAest8gN6Xf5p7fK7MSNJVAMT2nXGsBpQricxVYTvq4V7zt3II+puSDAHPigVsDKWQfJlNr3SCWIKUw3QeNVoNC5pJaBhC7Un6kKmWhw1pueqR2djj4K6NNsOud6KyMjwv5Q/ZCpDGqYNZqAqmtYcRY2zyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C8XYQmGsFxifbE4krxLLsTBSxb5z+JZd35HhshTCv/A=;
 b=PVbUPuKlXpU8REE3ZpCaUjuZ3sBGMksG2vWr0nZGL5vng74+f1al3/NJnthVtJQH4ErDvVCcCFdulvDhhvtIzYqyokZlyOJPJT6C8l4NNiXs+7vhqjLRLAl1HDCzPMS+vlJMs6sU4+2/or7kU48KLVJrEEOxN4LVvE8pJyeWjlIq3boBxodptcvcHM2xw/6/XGVRaNnCilHUUSDhF88k6xR6PdX+CLixqd4syZu47HCz7cAKGexnIUqV+rcHGpvd/XHt4CuLT5xc84+m4NqtbvHacQhb5zXSwKgPSPWChHS//jX5EbTPQEiQXi7cJUjka0CPd5zwH53chDLTeNB0ww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C8XYQmGsFxifbE4krxLLsTBSxb5z+JZd35HhshTCv/A=;
 b=goRXTvDYD25aH8m7HwC2u7COsS9oiRP7W8ZY6/pyNbXG1qxHyqFZQwXHuW9vCqxYezW91VzZ3LjTmPMOxBsD7Ojn18A0wfTrpiETCol9gT+xBDNiC/lWBeklU50P4qKYWXA8wjFpvQ0eCY9agiB/mr6uTf6dJ9h6y8TeEKHwmbe7ZfB3Z9lia5TSzgICj/PX9WXukyPMrabJs+2zVk1uCfav3TIr2k/yuKa7Y6Y+ERPaECEWYU8LIRnXz09J0f0c2JRMKMy6edQv71wUvf2am/5gh+OgUCaqS/ynTQNr2tvWZugwLZLjAbi8oDCkGoy9lXof5+JzIbDEIULQhux2Wg==
From: Dawei Li <set_pte_at@outlook.com>
To: gregkh@linuxfoundation.org
Cc: johannes@sipsolutions.net,
	robert.jarzmik@free.fr,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	roger.pau@citrix.com,
	srinivas.kandagatla@linaro.org,
	bgoswami@quicinc.com,
	mpe@ellerman.id.au,
	npiggin@gmail.com,
	christophe.leroy@csgroup.eu,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	alsa-devel@alsa-project.org,
	linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Dawei Li <set_pte_at@outlook.com>
Subject: [PATCH 6/6] soundbus: make remove callback of soundbus driver void returned
Date: Mon,  5 Dec 2022 23:36:44 +0800
Message-ID:
 <TYCP286MB2323BBFCE929111043E60D3BCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221205153644.60909-1-set_pte_at@outlook.com>
References: <20221205153644.60909-1-set_pte_at@outlook.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-TMN: [WWyl4X8Xy2TdiUTL3/a5BJJAkOeQUgge]
X-ClientProxiedBy: SG2PR02CA0046.apcprd02.prod.outlook.com
 (2603:1096:3:18::34) To TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:152::9)
X-Microsoft-Original-Message-ID:
 <20221205153644.60909-7-set_pte_at@outlook.com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: TYCP286MB2323:EE_|TYYP286MB1787:EE_
X-MS-Office365-Filtering-Correlation-Id: 54577305-65dd-4f2f-4d1a-08dad6d69a41
X-MS-Exchange-SLBlob-MailProps:
	/OoUGmN/RpVKD6y7RJd2fRTadJ6Pq1ot8vlKKmA/hNHf/9uXSEfxNcy1cE9dsFBTSU4rE2OHL/YSf/94pMqv/IC1U95CqFfOvuXoXCzOFsq1S8gJM/GNIgTLxNY8CXbn/hAfm9S8eI+3vaesaIP+Rv2/iB3t3j786KjU5NDoaNXNpP2SfqwiA0VTUzZS9wqefozxmQa1Qfnx/DdA/NqHMzcmb4WkUbWC9wk5Un/UBg4FPZE0RI1leoxhJbyN7vLubLcR9pyi54bq2f0Qx+1nngufqtBcAQWC/XEFeyFrm9j90ixn9rsoofeIhdDAU3WJ3GQ8aGvm2E2lkO37uImtIraQ+SF9JEr45aybi5nuw6je2FgKr0F1u1G5B66PNid6IknTKzvgmHpynLEfl8JgMwOPFymajtHhhrHaDSkSjZSlmgZaI8i4yWBN+5ZNYSW6jlkD2+LtkfwY729x7PCuEDY2sY+b8E7bF/Pbahq5EQtQua8gutUhKL+8ScpGXqtTUvpC2RIm2SWzS3GwqcoPr16SkxnoxAq4cPCQd2/qToH496Br1VWVRnL2YH954QA8uY/qJED2TaQBDuB2WEzI1Gh4LAGBHuBZep9fMGcSvM/KNwkX68Yu4iW/+3gBQ3ItHzISBHDYno5UN09+MGuiOdDR+YAL2/0nFPqB0faWZ/TMrqM9JyEaPIn/UJvkkTxsMULetGzyGgXtsJieSeUYagPJYKaltdxKEYlUJWzsGBlpZv34x1Z4BVYAMdc+GL2U
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0zQ/1p94AxsYQNCIY71ncaAalqnIBL26GIUPx4Nx1LEit8C69gJyGYYfdv5wtBBt/5LkqF7FJ3/HcWJhztDzZQ2Q35BIYgTpl0iz8UnIgLW7OyfElPTusolx1OFrbX1kZjcd5R72BWVnuUdTQhFdQqx6vMUETus0B4h95CTTD4cH+s0bQ4GXl3RdC31Ak1X79Olq5kaKOoBAyooJVJi6ckZV5OC5YjguKt3qhfkpi7Mj50LgYoZx2gVHsz0kUDjQe6AGDaT+eAKXe2wvwfcmk5Vd9rnLS11EN+nFJ6X6lge+q0J3p5vdwNjAqgXc8Vs85E1oevZgHTyGrRIa7DOezgF8c1DaMxwtU3wBGoN0Sjm0FT3Yplzt1SHXnnT4KivFXSysvP71MkgBlY1AEyRx40lKSzI1A39XoRqRsis68LhqxbjdknJgEhpLnP3cpfaLlHcTlfZOTqI/ipvbjUUF8ZgR7cu7rFoyxkj7kSUgWLD+joX/U8N9xbsCrfwVAyWsDB7xfPHmgFuEqolRlfydckcbPtHbTI3/bl6WUqyNc/g/EFPHPoyoMlzv42bNBH+fFPbqgaz3H6DSj/+ViiUy9VPKRMdOMVybBrSWjYorefODeXQ+AiIUSS9Cln3Mf1CtZiPVSXmn4XQ3ADQz9KLoTw==
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Y9FBxjtsf/d3x6C+Cbl4Z7xezNuEyGWC64Z3rvpZ6h12emPWw6ZNgonBCu9j?=
 =?us-ascii?Q?e9hbNhkhGUR6M7gMFntho3lmT+tswhmZW7MuK4Y9iHwcrwikVYr3J/2liZcD?=
 =?us-ascii?Q?BdZuksVpnxij4ZAp2Y2O9V/b4/uuXPp1A1+6Pqj95AMqSO6wKqrTJh8uB0Si?=
 =?us-ascii?Q?LjzDvdXIawHHEAJdMXjPpJORT3pGEnI4YxdtkpRwV/1jXzA+W3oVEBD4tO2S?=
 =?us-ascii?Q?3Ov8wMr10c7FeJhB2E9PDqutd0P9OFwL7brgV1/G7aDSw9POMkACI05CRibc?=
 =?us-ascii?Q?s/YRMi0CQoq67VFzZJeJ/edxKBzbPkjP3RZuGopI8XkQZ5o5lYbIMoZG4Ojn?=
 =?us-ascii?Q?5uJFwfthlCJ1Re6aD3MN/l0m6PaAypeHLQKWwiu5onXx09mmIXOvcjKlEsrg?=
 =?us-ascii?Q?wbIAOvCHcuDOs/NT2OvefotDXZ2pibo+4u9p6arI0UB+S08g9nBOW+rV4YVm?=
 =?us-ascii?Q?Ed6gnoNfL6WDfJCHV3/5TsLAx0d1qbPwykL4KFX13KJZvny4jlUFDk2nLktm?=
 =?us-ascii?Q?HJdnoW77QH+PJxtzPHHADiJNgA4Wa2rNXHrXqaWmjwBrnyWp+/gnyXVBVrwW?=
 =?us-ascii?Q?bxtJwgCxoedb2kc+Y60R304N1GrKNXl8L7skGpf8stX4BLBmzJ4KcjPK0HSP?=
 =?us-ascii?Q?DQZ1ym2KWwhhN7rpWAOui849zmhu6q5EYd7IQo2aZl8SJkB24QRa/TAgfioV?=
 =?us-ascii?Q?gzR3imIJ56iuoD8gMP92WQMVDsvjHmuqFW78TfHl538TuajkgS/cHrNG1Exx?=
 =?us-ascii?Q?10YISMUN0pXgpwS+a92G5+J2cKNwixh6Sn8VQRIGU1dvPQuXO6QEDIcU9pnc?=
 =?us-ascii?Q?wiBpOagdQlA5M01X2pFGX8Nj/pgoZMpXCd8suT5+3kC6rBqNwWzdIfuuvbk4?=
 =?us-ascii?Q?VjRktKthPnjRzj64racXptvKaFtwzpj70v00xypt7i5VHTPO6rmI/Yu8L9yc?=
 =?us-ascii?Q?NP50av5UOZUxDNTxSJVD/UBWo6zwxthv9lWhrktxI+QmmeQJ/6Jaj/lT7aeo?=
 =?us-ascii?Q?h88b0EsOwUoppvWv9kr7bBm/Ls3OkePfn9BueMrX9pwi7QYAJUPZw09CGL9O?=
 =?us-ascii?Q?JTnqBz04wFUogMjBcCjHb1rRnQk57SpdeHwY3aX4sP67vDiHoubFPUp7dQ8d?=
 =?us-ascii?Q?2n7Lbod3N6gvzmJ+FF3hoQG+8RQWCJoIMdfTg63LviXSz0gBiEIeDmCYu2ZK?=
 =?us-ascii?Q?dnlA1vFw5Oxn07Xjd7LV+oXw/Knwqsw4uTgzFtUPw1SnAurDXyXOyzs/Irum?=
 =?us-ascii?Q?HIJHI50/Mb+LGZGpcseB9SNY7nW6fPpSlk/WGTKzAg=3D=3D?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 54577305-65dd-4f2f-4d1a-08dad6d69a41
X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 15:37:22.8631
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
	00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB1787

Since commit fc7a6209d571 ("bus: Make remove callback return
void") forces bus_type::remove be void-returned, it doesn't
make much sense for any bus based driver implementing remove
callbalk to return non-void to its caller.

This change is for soundbus based drivers.

Signed-off-by: Dawei Li <set_pte_at@outlook.com>
---
 sound/aoa/fabrics/layout.c    | 3 +--
 sound/aoa/soundbus/soundbus.h | 6 +++---
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/sound/aoa/fabrics/layout.c b/sound/aoa/fabrics/layout.c
index ec4ef18555bc..850dc8c53e9b 100644
--- a/sound/aoa/fabrics/layout.c
+++ b/sound/aoa/fabrics/layout.c
@@ -1094,7 +1094,7 @@ static int aoa_fabric_layout_probe(struct soundbus_dev *sdev)
 	return -ENODEV;
 }
 
-static int aoa_fabric_layout_remove(struct soundbus_dev *sdev)
+static void aoa_fabric_layout_remove(struct soundbus_dev *sdev)
 {
 	struct layout_dev *ldev = dev_get_drvdata(&sdev->ofdev.dev);
 	int i;
@@ -1123,7 +1123,6 @@ static int aoa_fabric_layout_remove(struct soundbus_dev *sdev)
 	kfree(ldev);
 	sdev->pcmid = -1;
 	sdev->pcmname = NULL;
-	return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
diff --git a/sound/aoa/soundbus/soundbus.h b/sound/aoa/soundbus/soundbus.h
index 3a99c1f1a3ca..230dfa1ba270 100644
--- a/sound/aoa/soundbus/soundbus.h
+++ b/sound/aoa/soundbus/soundbus.h
@@ -184,10 +184,10 @@ struct soundbus_driver {
 
 	/* we don't implement any matching at all */
 
-	int	(*probe)(struct soundbus_dev* dev);
-	int	(*remove)(struct soundbus_dev* dev);
+	int	(*probe)(struct soundbus_dev *dev);
+	void	(*remove)(struct soundbus_dev *dev);
 
-	int	(*shutdown)(struct soundbus_dev* dev);
+	int	(*shutdown)(struct soundbus_dev *dev);
 
 	struct device_driver driver;
 };
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:38:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:38:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453897.711511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXo-0006OM-J3; Mon, 05 Dec 2022 15:38:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453897.711511; Mon, 05 Dec 2022 15:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXo-0006MH-Do; Mon, 05 Dec 2022 15:38:12 +0000
Received: by outflank-mailman (input) for mailman id 453897;
 Mon, 05 Dec 2022 15:37:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yaz+=4D=outlook.com=set_pte_at@srs-se1.protection.inumbo.net>)
 id 1p2DWt-0006Dh-U8
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:37:16 +0000
Received: from JPN01-OS0-obe.outbound.protection.outlook.com
 (mail-os0jpn01olkn2082e.outbound.protection.outlook.com
 [2a01:111:f403:700c::82e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b0408edb-74b2-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 16:37:14 +0100 (CET)
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:152::9)
 by TYYP286MB1787.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:f9::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 15:37:07 +0000
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605]) by TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605%5]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 15:37:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0408edb-74b2-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lG8uj8NBjE5PUuzn6Ic/I2wJdxn5/mJzy48ndim6z1trD8Lmi4GBfKgXXDLmxuIs/4g1fCKUSa2ZuqeQU4jHE1Xinpr3CwIlEHiihlpmErHywIrvyFCBIlFohjSjNSd3nGmEUGwm9Ou5pygtvweNiQQ9aFl2hBudTdnoYtPbAI/Ec6dkNQDW4dpRABX+zhrb6zygJQJJU/QDdtZGcHbXzBiKQPkH6C6oaTsYvB6DzVg7qsraTIWISBfl01hKdq8w108YjJKpwgiAWLeWuMFxZ0oZwgHSIQbVMiTpdsW0bo/e7/v/bQCZJVFUQjGmeaubgUUJYhNEq1QUct6VMRNprA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wE0/eQ+6q+25iqD5ZenU2/gHmtgukmMINoE3za9MCQE=;
 b=JD9x2ZO7WGaw9uDcFTbKoNqcSNJbIMdCHH1TMgTgpnyYslO345m8Fjutjy2Zn1DKFpjUTZ9wioL2uATH7+F6oMEuDkzEcDvOCkqDxhsbGfW1urFOQZMppq7lTdu/jBK6HDq7gobGAp3HFSQ/8/DSj6I9Spmh7bthg5a55BUapM2RKjv+YPgJ2wbV2L+bnQM2tkTiZtDMmj4bc590+GoOA5l3ZPzklGsghyzIsXmKor2QDZej9YE/yFCw35AePw4nK+qcz2/5dhw6Ff6Q6+WPIUaK6uqA4mCWtS8X60fr0oNvgsu8A1SEbR+Pw/hfAVPfCgqJ33wNfNljG/d/WLhAwQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wE0/eQ+6q+25iqD5ZenU2/gHmtgukmMINoE3za9MCQE=;
 b=dx3eJWRaBTBpNwCoHkYi2RXXcegnG2VYD8lU60lzx5bw1EOyNycZqgb/9eatsqH8hdTlupt1L0Et3uB4zfm87Dm8tZPMAFSluMDbDeQip6DWY6laPJSHk61AmrNy0yvc9uC5YtjmZWULZf4Igy2+48D1A9bjK+e4soZ2AV8if1GyuP++c4uDx+0GNhgCcTsif/w1z3gtKkPoeOUGEGCdZxxxSc8QkETrTgeyBosfKu686VbZsjccfjoLNd32GJC1BvvwkxwxyXcSpTCS4R5r5Ll4DEIuA8v4uS9Blf44Lx+/+iwKf2MHcmydM5VyBa16rXTMJOK5z0nK6PP/aglmMg==
From: Dawei Li <set_pte_at@outlook.com>
To: gregkh@linuxfoundation.org
Cc: johannes@sipsolutions.net,
	robert.jarzmik@free.fr,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	roger.pau@citrix.com,
	srinivas.kandagatla@linaro.org,
	bgoswami@quicinc.com,
	mpe@ellerman.id.au,
	npiggin@gmail.com,
	christophe.leroy@csgroup.eu,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	alsa-devel@alsa-project.org,
	linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Dawei Li <set_pte_at@outlook.com>
Subject: [PATCH 2/6] macio: Make remove callback of macio driver void returned
Date: Mon,  5 Dec 2022 23:36:40 +0800
Message-ID:
 <TYCP286MB2323FCDC7ECD87F8D97CB74BCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221205153644.60909-1-set_pte_at@outlook.com>
References: <20221205153644.60909-1-set_pte_at@outlook.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-TMN: [xkiGoP8CYtlHfMaNN+v2tHJgza4DLRGN]
X-ClientProxiedBy: SG2PR02CA0046.apcprd02.prod.outlook.com
 (2603:1096:3:18::34) To TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:152::9)
X-Microsoft-Original-Message-ID:
 <20221205153644.60909-3-set_pte_at@outlook.com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: TYCP286MB2323:EE_|TYYP286MB1787:EE_
X-MS-Office365-Filtering-Correlation-Id: 192953c7-e272-4eaf-ac9c-08dad6d69148
X-MS-Exchange-SLBlob-MailProps:
	/OoUGmN/RpVKD6y7RJd2fRTadJ6Pq1otARSEbI97kVRmQMivREdx/fj4xvoyz2Zq9680D287XvcJfvbpYLWgzmmRjngDq0kGxb/k5K6aOfp2gz1qD+4htLUHYy4q0uG6RtozbuMbhaPV54ULJjuqx0X/uqMnZEyOUq1/s2fYGDtf/3uVSMEisii35FvUzi12oL4x/WSREC0moS45NWFGeif8HLP0FMgivzl1phxJQV6Xiy54UqsasQPza7cAhpw0Yi45OnLh7EtTtBo4qfqktDg4rpH++FaEBWI+mKxMZYziAiASW4Rqx6JlQE+0qKNuF/cODHfxLAYMTR/arsAlFcUKKjVyC6szIaq6q5TF+06W9CT5D2y9G6DcypuHbgq8KenMt7CIqt7y1NH20Rhg0wDQh/ULFvd487BWo1st6EUra7IyKKRRga+Gf226dSPsmwl7yyXLWfkHR6hsqgE+4II6VnVGnJ3bhXisgVHKWOPC296OcJipkalvfT7ulyR6M1YObXLAGxGROXlc02+XLIUAYZTA1zNPlQnFN1zSAY9kPcLd4YOx1Pzx2nU7obCOarZJikcBhVBRby2lLi0eWnEeTa0rt047HMEzgbwsn905UGRUJKyiIg/PEn8Cfh3/raGhf11h3VadG4Oe6+I+e6i/YY6bXFgRdCtJyDXIVZ4TzYE2lm7vRgyPl/2HyLDZtF+xKwZyn+R7hfCiRcNlqsTsjr5zCWw5VrwxxiV6Op9OjJkFj/CrZBzoJ+z/E251
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mBT40HvRhGQ0coBwCX43Ch3gb9SuzktfgyO0+BO0iqhKuEqM7S+gZlMSg51OAZiGMv5x7EbrqhtDJZUhP8fgVj6BBSW2UcSvpwwTnBo4E59dw9dgPHb8G0dzDRzCA55U177yvnf6BuHb9wyHIigIkNMn2bei193EVo15Gi7DbCYfdHaztrI3OyqThhvDWV75dPuLmdHjZWu2xjiR5wvNF48pv7uNJgxwlgZXsCPKqqpmMWHcUYp+AGZ8B9K/vX5vsERqC9QQOUfud8YFUHmYaoMwgIA4awKCBrtTzR/MzbJLuOWkTRcCgBCV7Cn5+OA2qPCeDXFfalVpuEYT6BH4bYofviJolpe1X9O/iyix6sz2G1nprpxQbiruGyDXAWSlK591weGFhsdUH5a+iINRjAPBFwV1L6a8E+zm2Vj9WggBQz1Bqdpb9Y7h/M1mao1njsrTjK5VuBHVEy9lMEXn4wYxawE1E1LEzqEm11mD6sZgPAlPJ9dUhx/n8PFH2SqYuAFzU+rgRkVcQnI1xdIyOXaHajS7wQ4aU24mmrnsGmfQL4vSKCLgyYO9VLJqgtLXTBbQN5YgszMIU692viVQ4AVlbXD+qA4UM2vvqrWLOLHMaAvr7DnNi1GUwXZbJQiAsURY9XMAyR/FeJnAf1ftYQ==
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?rQg4ccoCdqEz63snTfCGUwVdDcppMyb7YVU/lhVPvlUYjOatj8zx6LwhbfxY?=
 =?us-ascii?Q?QSSmemqqzUUJfeR8YUjNVVDyr42vgAa67IBg1iALDNIvIPLgEL9lC9wvyCiC?=
 =?us-ascii?Q?oTb4DREah1ZjSCbm3j7HeVj+4jLa4lmHtFEvMMvzP7n0xWyN5fzGRd4I0hfF?=
 =?us-ascii?Q?vsd33pcMNrPYRQTB0YR8WENQtsDNtP45sLEgcEcnkfssvwuYfI7fHYAFEb6R?=
 =?us-ascii?Q?j9gy3tOn40nBr6zZDby8P5jiszu4OABXuXpb0l/lt8CDgxMtN2l9KfAbuEUK?=
 =?us-ascii?Q?nhC0AD9Callt7p6K9FItkSzkNmk6C/zJCFdCCJ8QRYub8n4lq92X/o7drubk?=
 =?us-ascii?Q?XyrQTrZ+5Nk8bVTzQc2qa9jOxMzPUyhEGSQQB6D/J5FfjC5Fcufk1mMBdDtP?=
 =?us-ascii?Q?5Drk56dqpzW3fVvm+flwBEvNzQcc8EN5cdt4X3ePhBdj/YALGj+gY+Y1ifUy?=
 =?us-ascii?Q?PE+aEEgUwscI6C689R1Gz9MKeadBC/7zGhP8a8vlpedhIaZ0zPABqkgbVXQ0?=
 =?us-ascii?Q?p2i2h8tVEWSusu30p4FOuCpuOyQfdI7icct6WvWMcLDwLX+1hEP8Vj6L7G+J?=
 =?us-ascii?Q?/LvZuuIoy9sOAIVcMhp7708o2TqSyBlHdQceaNljjHRpQh3Jp97zdubsaqsf?=
 =?us-ascii?Q?PfMk14HHPvqfuMmee+5WOvkemrCjABalSTPPBLiFPxyasdJBLMtyaqQxtWSn?=
 =?us-ascii?Q?+drueudJ7twriHfwaH2gX7iNYtLdCg/iOLvwvhIYn/FHMDG+eIWZsOmDdw3z?=
 =?us-ascii?Q?926DsSq1VeneXGBZCSrbVuq3lR6EfY5AsPVdTmxkjKe0F4SZNgNBeUNBbWur?=
 =?us-ascii?Q?yVAcUh0nMr6Jzw9O/rF3PHTs1L2q/JsdGZQv/Uom+wRInssmOKjS42SJExr+?=
 =?us-ascii?Q?Rf2QDTd8LMmecI/zwu9By4Uuxl2Yvenkct6xfpW7kIcXZmWrXfJzGhlPvJaH?=
 =?us-ascii?Q?/tjmRlmWhkyH7qaZpADJEq9Sp/6veieJYR0To5t3+79m9xAgzPjvesrdGqB8?=
 =?us-ascii?Q?sQD7I9GK9zAA5cQaYt5DaUy3f/rV/CxICWHOR8MzwYO6hpqzaM7tP3cHkJ8/?=
 =?us-ascii?Q?UAGvkxnr4g7w9qF2wovwJ3FzVjfWMwVN5JI2rSZAJZtHdtHnl6kR5V9tTqsF?=
 =?us-ascii?Q?SA4K5iwHBqtj+uBhMpXgXRVBFgWVoHgL5ZjMJ8rM11XhkHfsit4293mcBfYm?=
 =?us-ascii?Q?x7nvAh7dF79tMGy97eIgn3rgJuQuyxYhTxcxx2xwp2qFYuVKomuKD4GMxkcE?=
 =?us-ascii?Q?8D4NT8vvglovbn0srcEcODNX8raPQbdK42TzCKEErQ=3D=3D?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 192953c7-e272-4eaf-ac9c-08dad6d69148
X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 15:37:07.7806
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
	00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB1787

Commit fc7a6209d571 ("bus: Make remove callback return
void") forces bus_type::remove be void-returned, it doesn't
make much sense for any bus based driver implementing remove
callbalk to return non-void to its caller.

This change is for macio bus based drivers.

Signed-off-by: Dawei Li <set_pte_at@outlook.com>
---
 arch/powerpc/include/asm/macio.h                | 12 ++++++------
 drivers/ata/pata_macio.c                        |  4 +---
 drivers/macintosh/rack-meter.c                  |  4 +---
 drivers/net/ethernet/apple/bmac.c               |  4 +---
 drivers/net/ethernet/apple/mace.c               |  4 +---
 drivers/net/wireless/intersil/orinoco/airport.c |  4 +---
 drivers/scsi/mac53c94.c                         |  5 +----
 drivers/scsi/mesh.c                             |  5 +----
 drivers/tty/serial/pmac_zilog.c                 |  7 ++-----
 sound/aoa/soundbus/i2sbus/core.c                |  4 +---
 10 files changed, 16 insertions(+), 37 deletions(-)

diff --git a/arch/powerpc/include/asm/macio.h b/arch/powerpc/include/asm/macio.h
index ff5fd82d9ff0..f641c730c3b7 100644
--- a/arch/powerpc/include/asm/macio.h
+++ b/arch/powerpc/include/asm/macio.h
@@ -124,15 +124,15 @@ static inline struct pci_dev *macio_get_pci_dev(struct macio_dev *mdev)
  */
 struct macio_driver
 {
-	int	(*probe)(struct macio_dev* dev, const struct of_device_id *match);
-	int	(*remove)(struct macio_dev* dev);
+	int	(*probe)(struct macio_dev *dev, const struct of_device_id *match);
+	void	(*remove)(struct macio_dev *dev);
 
-	int	(*suspend)(struct macio_dev* dev, pm_message_t state);
-	int	(*resume)(struct macio_dev* dev);
-	int	(*shutdown)(struct macio_dev* dev);
+	int	(*suspend)(struct macio_dev *dev, pm_message_t state);
+	int	(*resume)(struct macio_dev *dev);
+	int	(*shutdown)(struct macio_dev *dev);
 
 #ifdef CONFIG_PMAC_MEDIABAY
-	void	(*mediabay_event)(struct macio_dev* dev, int mb_state);
+	void	(*mediabay_event)(struct macio_dev *dev, int mb_state);
 #endif
 	struct device_driver	driver;
 };
diff --git a/drivers/ata/pata_macio.c b/drivers/ata/pata_macio.c
index 9ccaac9e2bc3..653106716a4b 100644
--- a/drivers/ata/pata_macio.c
+++ b/drivers/ata/pata_macio.c
@@ -1187,7 +1187,7 @@ static int pata_macio_attach(struct macio_dev *mdev,
 	return rc;
 }
 
-static int pata_macio_detach(struct macio_dev *mdev)
+static void pata_macio_detach(struct macio_dev *mdev)
 {
 	struct ata_host *host = macio_get_drvdata(mdev);
 	struct pata_macio_priv *priv = host->private_data;
@@ -1202,8 +1202,6 @@ static int pata_macio_detach(struct macio_dev *mdev)
 	ata_host_detach(host);
 
 	unlock_media_bay(priv->mdev->media_bay);
-
-	return 0;
 }
 
 #ifdef CONFIG_PM_SLEEP
diff --git a/drivers/macintosh/rack-meter.c b/drivers/macintosh/rack-meter.c
index c28893e41a8b..f2f83c4f3af5 100644
--- a/drivers/macintosh/rack-meter.c
+++ b/drivers/macintosh/rack-meter.c
@@ -523,7 +523,7 @@ static int rackmeter_probe(struct macio_dev* mdev,
 	return rc;
 }
 
-static int rackmeter_remove(struct macio_dev* mdev)
+static void rackmeter_remove(struct macio_dev *mdev)
 {
 	struct rackmeter *rm = dev_get_drvdata(&mdev->ofdev.dev);
 
@@ -558,8 +558,6 @@ static int rackmeter_remove(struct macio_dev* mdev)
 
 	/* Get rid of me */
 	kfree(rm);
-
-	return 0;
 }
 
 static int rackmeter_shutdown(struct macio_dev* mdev)
diff --git a/drivers/net/ethernet/apple/bmac.c b/drivers/net/ethernet/apple/bmac.c
index 334de0d93c89..8b37ac1cc3d1 100644
--- a/drivers/net/ethernet/apple/bmac.c
+++ b/drivers/net/ethernet/apple/bmac.c
@@ -1591,7 +1591,7 @@ bmac_proc_info(char *buffer, char **start, off_t offset, int length)
 }
 #endif
 
-static int bmac_remove(struct macio_dev *mdev)
+static void bmac_remove(struct macio_dev *mdev)
 {
 	struct net_device *dev = macio_get_drvdata(mdev);
 	struct bmac_data *bp = netdev_priv(dev);
@@ -1609,8 +1609,6 @@ static int bmac_remove(struct macio_dev *mdev)
 	macio_release_resources(mdev);
 
 	free_netdev(dev);
-
-	return 0;
 }
 
 static const struct of_device_id bmac_match[] =
diff --git a/drivers/net/ethernet/apple/mace.c b/drivers/net/ethernet/apple/mace.c
index d0a771b65e88..b214524a5964 100644
--- a/drivers/net/ethernet/apple/mace.c
+++ b/drivers/net/ethernet/apple/mace.c
@@ -272,7 +272,7 @@ static int mace_probe(struct macio_dev *mdev, const struct of_device_id *match)
 	return rc;
 }
 
-static int mace_remove(struct macio_dev *mdev)
+static void mace_remove(struct macio_dev *mdev)
 {
 	struct net_device *dev = macio_get_drvdata(mdev);
 	struct mace_data *mp;
@@ -296,8 +296,6 @@ static int mace_remove(struct macio_dev *mdev)
 	free_netdev(dev);
 
 	macio_release_resources(mdev);
-
-	return 0;
 }
 
 static void dbdma_reset(volatile struct dbdma_regs __iomem *dma)
diff --git a/drivers/net/wireless/intersil/orinoco/airport.c b/drivers/net/wireless/intersil/orinoco/airport.c
index a890bfa0d5cc..276a06cdd1f5 100644
--- a/drivers/net/wireless/intersil/orinoco/airport.c
+++ b/drivers/net/wireless/intersil/orinoco/airport.c
@@ -85,7 +85,7 @@ airport_resume(struct macio_dev *mdev)
 	return err;
 }
 
-static int
+static void
 airport_detach(struct macio_dev *mdev)
 {
 	struct orinoco_private *priv = dev_get_drvdata(&mdev->ofdev.dev);
@@ -111,8 +111,6 @@ airport_detach(struct macio_dev *mdev)
 
 	macio_set_drvdata(mdev, NULL);
 	free_orinocodev(priv);
-
-	return 0;
 }
 
 static int airport_hard_reset(struct orinoco_private *priv)
diff --git a/drivers/scsi/mac53c94.c b/drivers/scsi/mac53c94.c
index f75928f7773e..42648ca9b8ed 100644
--- a/drivers/scsi/mac53c94.c
+++ b/drivers/scsi/mac53c94.c
@@ -508,7 +508,7 @@ static int mac53c94_probe(struct macio_dev *mdev, const struct of_device_id *mat
 	return rc;
 }
 
-static int mac53c94_remove(struct macio_dev *mdev)
+static void mac53c94_remove(struct macio_dev *mdev)
 {
 	struct fsc_state *fp = (struct fsc_state *)macio_get_drvdata(mdev);
 	struct Scsi_Host *host = fp->host;
@@ -526,11 +526,8 @@ static int mac53c94_remove(struct macio_dev *mdev)
 	scsi_host_put(host);
 
 	macio_release_resources(mdev);
-
-	return 0;
 }
 
-
 static struct of_device_id mac53c94_match[] = 
 {
 	{
diff --git a/drivers/scsi/mesh.c b/drivers/scsi/mesh.c
index 84b541a57b7b..cd2575b88c85 100644
--- a/drivers/scsi/mesh.c
+++ b/drivers/scsi/mesh.c
@@ -1986,7 +1986,7 @@ static int mesh_probe(struct macio_dev *mdev, const struct of_device_id *match)
 	return -ENODEV;
 }
 
-static int mesh_remove(struct macio_dev *mdev)
+static void mesh_remove(struct macio_dev *mdev)
 {
 	struct mesh_state *ms = (struct mesh_state *)macio_get_drvdata(mdev);
 	struct Scsi_Host *mesh_host = ms->host;
@@ -2013,11 +2013,8 @@ static int mesh_remove(struct macio_dev *mdev)
 	macio_release_resources(mdev);
 
 	scsi_host_put(mesh_host);
-
-	return 0;
 }
 
-
 static struct of_device_id mesh_match[] = 
 {
 	{
diff --git a/drivers/tty/serial/pmac_zilog.c b/drivers/tty/serial/pmac_zilog.c
index fe2e4ec423f7..b8e2279cf60c 100644
--- a/drivers/tty/serial/pmac_zilog.c
+++ b/drivers/tty/serial/pmac_zilog.c
@@ -1509,12 +1509,12 @@ static int pmz_attach(struct macio_dev *mdev, const struct of_device_id *match)
  * That one should not be called, macio isn't really a hotswap device,
  * we don't expect one of those serial ports to go away...
  */
-static int pmz_detach(struct macio_dev *mdev)
+static void pmz_detach(struct macio_dev *mdev)
 {
 	struct uart_pmac_port	*uap = dev_get_drvdata(&mdev->ofdev.dev);
 	
 	if (!uap)
-		return -ENODEV;
+		return;
 
 	uart_remove_one_port(&pmz_uart_reg, &uap->port);
 
@@ -1525,11 +1525,8 @@ static int pmz_detach(struct macio_dev *mdev)
 	dev_set_drvdata(&mdev->ofdev.dev, NULL);
 	uap->dev = NULL;
 	uap->port.dev = NULL;
-	
-	return 0;
 }
 
-
 static int pmz_suspend(struct macio_dev *mdev, pm_message_t pm_state)
 {
 	struct uart_pmac_port *uap = dev_get_drvdata(&mdev->ofdev.dev);
diff --git a/sound/aoa/soundbus/i2sbus/core.c b/sound/aoa/soundbus/i2sbus/core.c
index 51ed2f34b276..35f39727994d 100644
--- a/sound/aoa/soundbus/i2sbus/core.c
+++ b/sound/aoa/soundbus/i2sbus/core.c
@@ -364,15 +364,13 @@ static int i2sbus_probe(struct macio_dev* dev, const struct of_device_id *match)
 	return 0;
 }
 
-static int i2sbus_remove(struct macio_dev* dev)
+static void i2sbus_remove(struct macio_dev *dev)
 {
 	struct i2sbus_control *control = dev_get_drvdata(&dev->ofdev.dev);
 	struct i2sbus_dev *i2sdev, *tmp;
 
 	list_for_each_entry_safe(i2sdev, tmp, &control->list, item)
 		soundbus_remove_one(&i2sdev->sound);
-
-	return 0;
 }
 
 #ifdef CONFIG_PM
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:38:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:38:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453898.711518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXo-0006YS-Tc; Mon, 05 Dec 2022 15:38:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453898.711518; Mon, 05 Dec 2022 15:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DXo-0006XM-Om; Mon, 05 Dec 2022 15:38:12 +0000
Received: by outflank-mailman (input) for mailman id 453898;
 Mon, 05 Dec 2022 15:37:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Yaz+=4D=outlook.com=set_pte_at@srs-se1.protection.inumbo.net>)
 id 1p2DWu-0006Dh-UA
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:37:17 +0000
Received: from JPN01-OS0-obe.outbound.protection.outlook.com
 (mail-os0jpn01olkn2082e.outbound.protection.outlook.com
 [2a01:111:f403:700c::82e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2007d28-74b2-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 16:37:16 +0100 (CET)
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:152::9)
 by TYYP286MB1787.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:f9::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Mon, 5 Dec
 2022 15:37:11 +0000
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605]) by TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605%5]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 15:37:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2007d28-74b2-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IfU52xENsK/eGoxr26Dl7mVnudaTTOEbzczINgjQSLby8bJrEamE12FZRQXoWN4wmujJ9CUdorHT4/IMc3A2XgtgRWaYEZ4ftq6wz7aaibdvXGUuM9qd61eF/YIeM+3UWzoVu+OoLQSeJtmtROMG4v2rN8l8pUds0wET3rjBgkgI0tOK8IQylOpGGc4zeILtlF4nDLl6wWw0EsMMthhkIOor/auJHgNUpvmfAcbJuk7furgTGnn+rBUTr0EqWvqVuPkF6uXqdAg8owqMeAVfhImkM9BqLaoVJQn/de6yIvDPOBanJMiTw6RoFedT1SKrtpScuzEObz3P/HRmy0ds/A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0iPM31kHRQF4aOShKwTu6rsQv7lE4UX1YT/WZYMS6xw=;
 b=WptfS67OFK97N/z+zyMVWsq0Co8va/7GFod+fn2Aemw2hBOzjVpbGH/LpJg8v8bFsgJN6hO6IhOiNwrr8Fiz+89PEL6yMRNqEZDYHgtUbbwF/w+esDOgfXb1BrmCv6IXjrz2sZhpFVUeJuLzVILxYB1fyMaWeFHT4mt3p6bVhJ7ADvjV0Wl+tPBRNJKGSR0Neoj4lxAZFvLyMdrJHP3NJjNhhKdUqm32GLxMD+elrTkBmph1I4Eq0a/wxUGczNx8zVZzuzyJqf+r324ukPzL5HNhhxf/EJ3qRxfg3bswxsFKSJ+NmUskpR7TMeXrNO06QN5nxoTr4pDFdkr7Kdij6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0iPM31kHRQF4aOShKwTu6rsQv7lE4UX1YT/WZYMS6xw=;
 b=ZFVihflyqyex2iZV58qrHhHts7l/bPLYgMSYjNy2RX6GDC12YZCkNA1nPXREKaKmMk3T+pZC74k4aR8vd+sKU32afXtAiAippD/6ikvqAKnHBHsPt25AqPa00VLj5EjEomJUqFnYGEtQ+YC2DKFmZ9/SFqdutL1QXGKdZ997o3hII6Snp2+UWd2rl3spFtib58lPM2J9GOfvuUMb5zhVxCeSweVaymIQVzMbS2hcTLw2AlFQsV4h8VSAbqu6ESjBUKtW9ya/NJcwVBZ9hFmO0dkENO9FIA/MDHbiVAC5gOdIlQnQAspDEASfTQvqDFsgTN3wK5qhO11gxPfz2gaHBQ==
From: Dawei Li <set_pte_at@outlook.com>
To: gregkh@linuxfoundation.org
Cc: johannes@sipsolutions.net,
	robert.jarzmik@free.fr,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	roger.pau@citrix.com,
	srinivas.kandagatla@linaro.org,
	bgoswami@quicinc.com,
	mpe@ellerman.id.au,
	npiggin@gmail.com,
	christophe.leroy@csgroup.eu,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	alsa-devel@alsa-project.org,
	linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Dawei Li <set_pte_at@outlook.com>
Subject: [PATCH 3/6] apr: make remove callback of apr driver void returned
Date: Mon,  5 Dec 2022 23:36:41 +0800
Message-ID:
 <TYCP286MB2323DBD1F01BF918ADD0ABCECA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221205153644.60909-1-set_pte_at@outlook.com>
References: <20221205153644.60909-1-set_pte_at@outlook.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-TMN: [KQ6Iu1DlV9BM4en0T0h6pGIzaDkslhnW]
X-ClientProxiedBy: SG2PR02CA0046.apcprd02.prod.outlook.com
 (2603:1096:3:18::34) To TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:152::9)
X-Microsoft-Original-Message-ID:
 <20221205153644.60909-4-set_pte_at@outlook.com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: TYCP286MB2323:EE_|TYYP286MB1787:EE_
X-MS-Office365-Filtering-Correlation-Id: a13fb080-54be-4566-c675-08dad6d69389
X-MS-Exchange-SLBlob-MailProps:
	i0w2f8qhTbr6OkeYxPWJvHH8J+DLRu5yohmcQaqGGfrlnPL7m1GYjqVxL/OSoNG54e076UYL2JyWZ2Vpknv4nFCLMqkYeCQTNbN3S+hlFgJXUSF9yLcaSmFOUA1lRwrbTJzQz6CEIotKtgEqK58h9JVdbYO5v4+JKS/PkI/Bs17Uxw6pNfe8DC8xu0iZT7mssf0DyzIgIue/e4S10Il7X3vhphF7VtOztTk+avMRv38LKuDRDj5/iIcqUspAb9BUcpRWImWYeAFsuYdJ5EalX73HrQioL7F/KkNlQjM4UVr1MOHjqgJhefFCKa6iwptu1eZClaCgAwkQ3m6bYDE4jIxfb3wEUaGIE6tmroepaCC9DeyuWmv3ILXPg+1dC6mHm+sxTO7eAkH28hbfHa13/bIy8+u9WjJL1aVNOvEJL+6m+FrQavQwAnSqPPLq6t/YrgEAqgwyafL7BuZybUfTMRUCvp+MSEulKJOuX67kx7VGMaL2rWcrgRMN3TcFnSGl7avmAV2hiJBu0IyqoDfp6BO9ZG/xu2+0QdUo4M4Y0nn1d9muamGnxwhM4Pony0rit9/DEhFQQMAXSPs3UN79d5sKkWCrsw3V2NMQTgqY18gVOw41buDAhRquTE1saYy+Hkip5XO+EvpxCynAPeUtZtguAgyNdGdTOVxMyh6//LfFv0xDKRZwuJXKwGNXPQ4L/bOSe9QK21ZfJS4ZROykObndS5JNuZR4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UNIHCTi5RWgBmG1UV4+mnMKCqTf51IU2TVW/+uu0Ma9yTQfsclgqnV+C2IFoJcDpfhRTWexoftXw1O4Rvsagc0qjYix2kFU37Fr2Jtgjy7bLc8fMD3EE4UJ0KLuNCKw1ituoOpKYUJR4X5/UEyjtgR/Ieaoss9vjpr5EjBpeKzAk9rgqy41vhsUIwXEGsROsc/RSWbvUjJltm+1176mjEDMJoibixKYxSaPxIPFu4OJKWHFCNoQzibUpM8BkF4Vsxin+2Ex8o0ubdGDTk6JCRm6bahUejb3qjyMqCkl7qK3Gw5nXbZdCbClb+Jr+5+6Gt5EZedvlDN1ER9V5ePWMV0rmXIscH+nyHViW2OeFOAUo23z09uNAj6SyFmMuKXyTvYelR3wl2l5ctmngemG+z+D3yVylGyYLI7UJJS7iV7Pmi4CFEGKfLuZXhorngRkOwkORCrA4AvExXKyYlsIo2nzzwvDy6twBLITWGsdwlCTgSHg7QeOJv+UJb+ye3A3XTU//L1yT1ZXfbIzZJQ2d7LmANp0q7RCUDMKAbl6uuRl+m1hKgiSJ5ZLFkFArmPMWj4YCUVYOxmlKYMJGDr0ZnQVFsKkFA0tTn0QNSPWbsf8tBdOQQXbf7un+qatdukYr/SbJGSR2xZ4URFhdXyf+Dw==
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?VsDQdBNLVK4HqSt7FcmTP3iCA2bNSYg3VVF9MmJupP1n7AS+ZJVGtHXOgJFg?=
 =?us-ascii?Q?8jmm0NzZEPrN1IxHB62fW1mUabz3A2paF/vGIEZSpznVwwQYgtArOmtjGTU0?=
 =?us-ascii?Q?ewL80f3710YPIbfKgEwTsXPx8wyKkJHnHk5a2mJOocmkjntZwKfW1BAM09Yb?=
 =?us-ascii?Q?JzlgqzYwmsP2jIqrTS+hoTJIYq9KbSaSV/6/ujkMVN4h7O16ltTxdtHc0Drj?=
 =?us-ascii?Q?mykLw5818nZok4PvJMmo3WO6Mq6YqAGThD+qd7jppFiltsYWsNXCshGifzWz?=
 =?us-ascii?Q?0w945JkyZ0CMMn1NKftr0eSO82ZXaezW+dN7YIE2kQgpMEY3W4cSZhReBsJs?=
 =?us-ascii?Q?SrMMQEJDxEXFHz5k0n+23cYXU2XZpozOyMEbdYhAXocrZv6GLgwd/v/bCGE7?=
 =?us-ascii?Q?N5NeltvTCegkZlpFqR8IFLQLtVKkRw9P0gqkRIGAV0DBHjO4ilpO49gH/0na?=
 =?us-ascii?Q?VWnO3tUuCQl4Ih5lA/to5RPXop+ScDpcdrBdjzyRIRd6jZn8T2x6GBvwNUAU?=
 =?us-ascii?Q?U+IhCmobNLQP+bjPu5mC0Mza0lqjhzmk+Z2Q4ufndkjRqTPNqsiAGnOsqw38?=
 =?us-ascii?Q?x08OSwVx/UG3Ty25XeapBLU4p4G7czx8hlnGU+tknUCKxzAU+RrpjCaNMhaZ?=
 =?us-ascii?Q?Qd0HvXFqgPUDJBnYi2i+BzaaZiAdDt+yBsydwXi0aE88S01xnR7BCvGLs5s2?=
 =?us-ascii?Q?pJKKdpTzTLuz8/nOYWjbKBnY8i9i1JKo+m4RcwUSxfI9iOEePYz9KaFT3Bnq?=
 =?us-ascii?Q?d7lzoKmIqHLgbKdy5c9q8QxLXtvtDicnEQKgJjjIdRFZKQUYE511nvHz3wls?=
 =?us-ascii?Q?AVpLDzXBV3ZG4qj0Xwg5GBJy4J6qoSxFW9a/wMROOSPv+KUM0GmeVpV1MfHl?=
 =?us-ascii?Q?VGv0bsIn2TbB4171iFaTVcx+OW9Ji07rhg+fRxSFnL3/F4nSo+xKUgM3ZuDi?=
 =?us-ascii?Q?C8+AjcqLT5hfi/t9/eS6Ge6tGMygqfMfPXn3NnUkt8qc0be2Mfb8x99powNj?=
 =?us-ascii?Q?UwYvZUAQA/UlzWl2in36lObaesXu1KiszvE3caMC56idC5fOHXcs0gP1/tri?=
 =?us-ascii?Q?SNaxffKtlSfit/PfKxvcVK7YFh4LlLEPs3xyo3xrOrbzoAuKAWSOnsqeAtwE?=
 =?us-ascii?Q?Av6nBVKE974LnWX98B1U1BCXImx2nyGJkQOoxnvgdmQKI0o3Sw7METDfvPYo?=
 =?us-ascii?Q?3WurRpsV70GYVN6fflOZuKOJewHBL4aSj0FkJhR3rHuTweXvGs6L7s2OC21O?=
 =?us-ascii?Q?FpeZhiZdFma5/Bx2HidWX9AA/86WohISOiqfYRA58g=3D=3D?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a13fb080-54be-4566-c675-08dad6d69389
X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 15:37:11.5471
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
	00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB1787

Since commit fc7a6209d571 ("bus: Make remove callback return
void") forces bus_type::remove be void-returned, it doesn't
make much sense for any bus based driver implementing remove
callbalk to return non-void to its caller.

This change is for apr bus based drivers.

Signed-off-by: Dawei Li <set_pte_at@outlook.com>
---
 include/linux/soc/qcom/apr.h  | 2 +-
 sound/soc/qcom/qdsp6/q6core.c | 4 +---
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/include/linux/soc/qcom/apr.h b/include/linux/soc/qcom/apr.h
index 23c5b30f3511..be98aebcb3e1 100644
--- a/include/linux/soc/qcom/apr.h
+++ b/include/linux/soc/qcom/apr.h
@@ -153,7 +153,7 @@ typedef struct apr_device gpr_device_t;
 
 struct apr_driver {
 	int	(*probe)(struct apr_device *sl);
-	int	(*remove)(struct apr_device *sl);
+	void	(*remove)(struct apr_device *sl);
 	int	(*callback)(struct apr_device *a,
 			    struct apr_resp_pkt *d);
 	int	(*gpr_callback)(struct gpr_resp_pkt *d, void *data, int op);
diff --git a/sound/soc/qcom/qdsp6/q6core.c b/sound/soc/qcom/qdsp6/q6core.c
index 5358fefd4210..49cfb32cd209 100644
--- a/sound/soc/qcom/qdsp6/q6core.c
+++ b/sound/soc/qcom/qdsp6/q6core.c
@@ -339,7 +339,7 @@ static int q6core_probe(struct apr_device *adev)
 	return 0;
 }
 
-static int q6core_exit(struct apr_device *adev)
+static void q6core_exit(struct apr_device *adev)
 {
 	struct q6core *core = dev_get_drvdata(&adev->dev);
 
@@ -350,8 +350,6 @@ static int q6core_exit(struct apr_device *adev)
 
 	g_core = NULL;
 	kfree(core);
-
-	return 0;
 }
 
 #ifdef CONFIG_OF
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:41:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:41:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453950.711590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Dah-0003Wb-Mz; Mon, 05 Dec 2022 15:41:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453950.711590; Mon, 05 Dec 2022 15:41:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Dah-0003WR-HR; Mon, 05 Dec 2022 15:41:11 +0000
Received: by outflank-mailman (input) for mailman id 453950;
 Mon, 05 Dec 2022 15:41:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIMq=4D=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p2Dag-0003Gt-9L
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:41:10 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 3c71423e-74b3-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 16:41:08 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 767E7150C;
 Mon,  5 Dec 2022 07:41:14 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8C2E23F73D;
 Mon,  5 Dec 2022 07:41:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c71423e-74b3-11ed-8fd2-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 3/5] xen/Makefile: remove Cppcheck invocation from the Makefile
Date: Mon,  5 Dec 2022 15:40:50 +0000
Message-Id: <20221205154052.14191-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205154052.14191-1-luca.fancellu@arm.com>
References: <20221205154052.14191-1-luca.fancellu@arm.com>

The script xen-analysis.py is going to be used for the analysis with
cppcheck, so remove the rules from the Makefile

The python script xen/tools/merge_cppcheck_reports.py was used by the
makefile rules, but its functionality is integrated in the
xen-analysis.py script now, so it can be removed.

Remove some entry from the .gitignore related to Cppcheck invocation
from Makefile

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v2 changes:
 - new patch
---
---
 .gitignore                          |   2 -
 xen/Makefile                        | 116 ++--------------------------
 xen/tools/merge_cppcheck_reports.py |  86 ---------------------
 3 files changed, 6 insertions(+), 198 deletions(-)
 delete mode 100755 xen/tools/merge_cppcheck_reports.py

diff --git a/.gitignore b/.gitignore
index 39efe2933a33..68566d0c2587 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,7 +7,6 @@
 *.o
 *.d
 *.d2
-*.c.cppcheck
 *.cppcheck.txt
 *.cppcheck.xml
 *.opic
@@ -321,7 +320,6 @@ tools/flask/policy/policy.conf
 tools/flask/policy/xenpolicy-*
 xen/xen
 xen/suppression-list.txt
-xen/xen-cppcheck.xml
 xen/xen-syms
 xen/xen-syms.map
 xen/xen.*
diff --git a/xen/Makefile b/xen/Makefile
index e55fb98e11ee..2d55bb9401f4 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -457,7 +457,7 @@ endif # need-config
 
 __all: build
 
-main-targets := build install uninstall clean distclean MAP cppcheck cppcheck-html
+main-targets := build install uninstall clean distclean MAP
 .PHONY: $(main-targets)
 ifneq ($(XEN_TARGET_ARCH),x86_32)
 $(main-targets): %: _% ;
@@ -566,18 +566,16 @@ _clean:
 	$(Q)$(MAKE) $(clean)=tools/kconfig
 	find . \( -name "*.o" -o -name ".*.d" -o -name ".*.d2" \
 		-o -name ".*.o.tmp" -o -name "*~" -o -name "core" \
-		-o -name '*.lex.c' -o -name '*.tab.[ch]' -o -name '*.c.cppcheck' \
-		-o -name "*.gcno" -o -name ".*.cmd" -o -name "lib.a" \) -exec rm -f {} \;
+		-o -name '*.lex.c' -o -name '*.tab.[ch]' -o -name "*.gcno" \
+		-o -name ".*.cmd" -o -name "lib.a" \) -exec rm -f {} \;
 	rm -f include/asm $(TARGET) $(TARGET).gz $(TARGET)-syms $(TARGET)-syms.map
 	rm -f $(TARGET).efi $(TARGET).efi.map $(TARGET).efi.stripped
 	rm -f asm-offsets.s arch/*/include/asm/asm-offsets.h
 	rm -f .banner .allconfig.tmp include/xen/compile.h
-	rm -f cppcheck-misra.* xen-cppcheck.xml
 
 .PHONY: _distclean
 _distclean: clean
 	rm -f tags TAGS cscope.files cscope.in.out cscope.out cscope.po.out GTAGS GPATH GRTAGS GSYMS .config source
-	rm -rf $(CPPCHECK_HTMLREPORT_OUTDIR)
 
 $(TARGET).gz: $(TARGET)
 	gzip -n -f -9 < $< > $@.new
@@ -651,111 +649,9 @@ cloc:
 	    done; \
 	done | cloc --list-file=-
 
-# What cppcheck command to use.
-# To get proper results, it is recommended to build cppcheck manually from the
-# latest source and use CPPCHECK to give the full path to the built version.
-CPPCHECK ?= cppcheck
-
-# What cppcheck-htmlreport to use.
-# If you give the full path to a self compiled cppcheck, this should be set
-# to the full path to cppcheck-html in the htmlreport directory of cppcheck.
-# On recent distribution, this is available in the standard path.
-CPPCHECK_HTMLREPORT ?= cppcheck-htmlreport
-
-# By default we generate the report in cppcheck-htmlreport directory in the
-# build directory. This can be changed by giving a directory in this variable.
-CPPCHECK_HTMLREPORT_OUTDIR ?= cppcheck-htmlreport
-
-# By default we do not check misra rules, to enable pass "CPPCHECK_MISRA=y" to
-# make command line.
-CPPCHECK_MISRA ?= n
-
-# Compile flags to pass to cppcheck:
-# - include directories and defines Xen Makefile is passing (from CFLAGS)
-# - include config.h as this is passed directly to the compiler.
-# - define CPPCHECK as we use to disable or enable some specific part of the
-#   code to solve some cppcheck issues.
-# - explicitely enable some cppcheck checks as we do not want to use "all"
-#   which includes unusedFunction which gives wrong positives as we check file
-#   per file.
-#
-# Compiler defines are in compiler-def.h which is included in config.h
-#
-CPPCHECKFLAGS := -DCPPCHECK --max-ctu-depth=10 \
-                 --enable=style,information,missingInclude \
-                 --include=$(srctree)/include/xen/config.h \
-                 -I $(srctree)/xsm/flask/include \
-                 -I $(srctree)/include/xen/libfdt \
-                 $(filter -D% -I%,$(CFLAGS))
-
-# We need to find all C files (as we are not checking assembly files) so
-# we find all generated .o files which have a .c corresponding file.
-CPPCHECKFILES := $(wildcard $(patsubst $(objtree)/%.o,$(srctree)/%.c, \
-                 $(filter-out $(objtree)/tools/%, \
-                 $(shell find $(objtree) -name "*.o"))))
-
-# Headers and files required to run cppcheck on a file
-CPPCHECKDEPS := $(objtree)/include/generated/autoconf.h \
-                $(objtree)/include/generated/compiler-def.h
-
-ifeq ($(CPPCHECK_MISRA),y)
-    CPPCHECKFLAGS += --addon=cppcheck-misra.json
-    CPPCHECKDEPS += cppcheck-misra.json
-endif
-
-quiet_cmd_cppcheck_xml = CPPCHECK $(patsubst $(srctree)/%,%,$<)
-cmd_cppcheck_xml = $(CPPCHECK) -v -q --xml $(CPPCHECKFLAGS) \
-                   --output-file=$@ $<
-
-quiet_cmd_merge_cppcheck_reports = CPPCHECK-MERGE $@
-cmd_merge_cppcheck_reports = $(PYTHON) $(srctree)/tools/merge_cppcheck_reports.py $^ $@
-
-quiet_cmd_cppcheck_html = CPPCHECK-HTML $<
-cmd_cppcheck_html = $(CPPCHECK_HTMLREPORT) --file=$< --source-dir=$(srctree) \
-                    --report-dir=$(CPPCHECK_HTMLREPORT_OUTDIR) --title=Xen
-
-PHONY += _cppcheck _cppcheck-html cppcheck-version
-
-_cppcheck-html: xen-cppcheck.xml
-	$(call if_changed,cppcheck_html)
-
-_cppcheck: xen-cppcheck.xml
-
-xen-cppcheck.xml: $(patsubst $(srctree)/%.c,$(objtree)/%.c.cppcheck,$(CPPCHECKFILES))
-ifeq ($(CPPCHECKFILES),)
-	$(error Please build Xen before running cppcheck)
-endif
-	$(call if_changed,merge_cppcheck_reports)
-
-$(objtree)/%.c.cppcheck: $(srctree)/%.c $(CPPCHECKDEPS) | cppcheck-version
-	$(call if_changed,cppcheck_xml)
-
-cppcheck-version:
-	$(Q)if ! which $(CPPCHECK) > /dev/null 2>&1; then \
-		echo "Cannot find cppcheck executable: $(CPPCHECK)"; \
-		exit 1; \
-	fi
-	$(Q)if [ "$$($(CPPCHECK) --version | awk '{print ($$2 < 2.7)}')" -eq 1 ]; then \
-		echo "Please upgrade your cppcheck to version 2.7 or greater"; \
-		exit 1; \
-	fi
-
-# List of Misra rules to respect is written inside a doc.
-# In order to have some helpful text in the cppcheck output, generate a text
-# file containing the rules identifier, classification and text from the Xen
-# documentation file. Also generate a json file with the right arguments for
-# cppcheck in json format including the list of rules to ignore.
-#
-# convert_misra_doc.py, producing both targets at the same time, should be
-# executed only once. Utilize a pattern rule to achieve this effect, with the
-# stem kind of arbitrarily chosen to be "cppcheck".
-.PRECIOUS: %-misra.json
-%-misra.txt %-misra.json: $(XEN_ROOT)/docs/misra/rules.rst $(srctree)/tools/convert_misra_doc.py
-	$(Q)$(PYTHON) $(srctree)/tools/convert_misra_doc.py -i $< -o $*-misra.txt -j $*-misra.json
-
-# Put this in generated headers this way it is cleaned by include/Makefile
-$(objtree)/include/generated/compiler-def.h:
-	$(Q)$(CC) -dM -E -o $@ - < /dev/null
+# Target used by xen-analysis.sh script to retrieve Xen build system variables
+export-variable-%:
+	$(info $*=$($*))
 
 endif #config-build
 endif # need-sub-make
diff --git a/xen/tools/merge_cppcheck_reports.py b/xen/tools/merge_cppcheck_reports.py
deleted file mode 100755
index 1c1b63ba56b8..000000000000
--- a/xen/tools/merge_cppcheck_reports.py
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/usr/bin/env python
-
-"""
-This script acts as a tool to merge XML files created by cppcheck.
-Usage:
-    merge_cppcheck_reports.py [FILES] [OUTPUT]
-
-    FILES  - list of XML files with extension .cppcheck
-    OUTPUT - file to store results (with .xml extension).
-             If not specified, the script will print results to stdout.
-"""
-
-import sys
-from xml.etree import ElementTree
-
-def elements_equal(el1, el2):
-    if type(el1) != type(el2): return False
-
-    if el1.find('location') is None: return False
-    if el2.find('location') is None: return False
-
-    el1_location = str(el1.find('location').attrib)
-    el2_location = str(el2.find('location').attrib)
-
-    if el1_location != el2_location: return False
-
-    return True
-
-def contain_element(new, lst):
-    for elem in lst:
-        if elements_equal(new, elem):
-            return True
-    return False
-
-def merge(files):
-    try:
-        result_xml_root = ElementTree.parse(files[0]).getroot()
-    except:
-        print("Xml parsing error in %s\n" % (files[0]))
-        print("Please upgrade your cppcheck to version 2.7 or greater")
-        sys.exit(1)
-    insert_point = result_xml_root.findall("errors")[0]
-    curr = 1
-    total = len(files)
-    numelem = len(insert_point)
-    for xml_file in files[1:]:
-        try:
-            xml_root = ElementTree.parse(xml_file).getroot()
-        except:
-            print("Xml parsing error in %s\n" % (xml_file))
-            print("Please upgrade your cppcheck to version 2.7 or greater")
-            sys.exit(1)
-        curr_elem_list = list(insert_point)
-        new_elem_list = list(xml_root.findall("errors")[0])
-        for xml_error_elem in new_elem_list:
-            if not contain_element(xml_error_elem, curr_elem_list):
-                insert_point.insert(1,xml_error_elem)
-                numelem = numelem + 1
-        curr = curr + 1
-        sys.stdout.write('\r')
-        sys.stdout.write(" %d / %d" % (curr,total))
-        sys.stdout.flush()
-
-    sys.stdout.write('\r\n')
-    print("Done: %d elements" % (numelem))
-    return result_xml_root
-
-def run():
-    files = []
-    output = None
-    for i in sys.argv[1:]:
-        output = i if '.xml' in i else None
-        files.append(i) if '.cppcheck' in i else None
-
-    result = merge(files)
-
-    if result is None:
-        return
-
-    if output is not None:
-        ElementTree.ElementTree(result).write(output)
-    else:
-        print(ElementTree.tostring(result).decode('utf-8'))
-
-if __name__ == '__main__':
-    run()
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:41:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:41:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453949.711578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Dag-0003H8-Da; Mon, 05 Dec 2022 15:41:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453949.711578; Mon, 05 Dec 2022 15:41:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Dag-0003H1-B1; Mon, 05 Dec 2022 15:41:10 +0000
Received: by outflank-mailman (input) for mailman id 453949;
 Mon, 05 Dec 2022 15:41:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIMq=4D=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p2Daf-0003Gt-GK
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:41:09 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 39cfbe78-74b3-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 16:41:04 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D859C23A;
 Mon,  5 Dec 2022 07:41:09 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EC6633F73D;
 Mon,  5 Dec 2022 07:41:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39cfbe78-74b3-11ed-8fd2-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 0/5] Static analyser finding deviation
Date: Mon,  5 Dec 2022 15:40:47 +0000
Message-Id: <20221205154052.14191-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1

This serie introduces a way to suppress a static analyser finding providing a
proper justification for it.
The process is explained in the docs/misra/documenting-violations.rst document
that this serie will provide.
The tools currently supported are eclair, coverity and cppcheck, but the design
is open to support many other static analysis tool.

The changes are split between the first two patches to reduce the review effort,
the first patch is introducing the deviation process for the eclair and coverity
tools, this is because their analysis system is similar.

The second patch is introducing the same deviation process for cppcheck,
modifying the current way it is called from the makefile and improving its
analysis.

The third is reverting cppcheck in the makefile.

The fourth patch is a fix for a tool used for cppcheck and the fifth patch
is an example of how a deviation can be applied for some MISRA findings.

---
This serie was pushed as RFC and collected many feedbacks, thank you for the
review.
In this serie to analyse the codebase, a script is used instead of integrating
the process into the makefile.
---

Luca Fancellu (5):
  xen/scripts: add xen-analysis.py for coverity and eclair analysis
  xen/scripts: add cppcheck tool to the xen-analysis.py script
  xen/Makefile: remove Cppcheck invocation from the Makefile
  tools/misra: fix skipped rule numbers
  xen: Justify linker script defined symbols in include/xen/kernel.h

 .gitignore                                    |   9 +-
 docs/misra/cppcheck.txt                       |  27 +-
 docs/misra/documenting-violations.rst         | 192 ++++++++++++
 docs/misra/false-positive-coverity.json       |  12 +
 docs/misra/false-positive-cppcheck.json       |  12 +
 docs/misra/false-positive-eclair.json         |  12 +
 docs/misra/safe.json                          |  20 ++
 docs/misra/xen-static-analysis.rst            |  90 ++++++
 xen/Makefile                                  | 116 +-------
 xen/include/hypercall-defs.c                  |   9 +
 xen/include/xen/kernel.h                      |   4 +
 xen/scripts/xen-analysis.py                   |  45 +++
 xen/scripts/xen_analysis/__init__.py          |   0
 xen/scripts/xen_analysis/cppcheck_analysis.py | 273 ++++++++++++++++++
 .../xen_analysis/cppcheck_report_utils.py     | 130 +++++++++
 xen/scripts/xen_analysis/generic_analysis.py  |  88 ++++++
 xen/scripts/xen_analysis/settings.py          | 152 ++++++++++
 xen/scripts/xen_analysis/tag_database.py      | 109 +++++++
 xen/scripts/xen_analysis/utils.py             |  56 ++++
 xen/tools/convert_misra_doc.py                |  32 +-
 xen/tools/cppcheck-cc.sh                      | 223 ++++++++++++++
 xen/tools/cppcheck-plat/arm32-wchar_t4.xml    |  17 ++
 xen/tools/cppcheck-plat/arm64-wchar_t2.xml    |  17 ++
 xen/tools/cppcheck-plat/x86_64-wchar_t2.xml   |  17 ++
 xen/tools/merge_cppcheck_reports.py           |  86 ------
 25 files changed, 1524 insertions(+), 224 deletions(-)
 create mode 100644 docs/misra/documenting-violations.rst
 create mode 100644 docs/misra/false-positive-coverity.json
 create mode 100644 docs/misra/false-positive-cppcheck.json
 create mode 100644 docs/misra/false-positive-eclair.json
 create mode 100644 docs/misra/safe.json
 create mode 100644 docs/misra/xen-static-analysis.rst
 create mode 100755 xen/scripts/xen-analysis.py
 create mode 100644 xen/scripts/xen_analysis/__init__.py
 create mode 100644 xen/scripts/xen_analysis/cppcheck_analysis.py
 create mode 100644 xen/scripts/xen_analysis/cppcheck_report_utils.py
 create mode 100644 xen/scripts/xen_analysis/generic_analysis.py
 create mode 100644 xen/scripts/xen_analysis/settings.py
 create mode 100644 xen/scripts/xen_analysis/tag_database.py
 create mode 100644 xen/scripts/xen_analysis/utils.py
 create mode 100755 xen/tools/cppcheck-cc.sh
 create mode 100644 xen/tools/cppcheck-plat/arm32-wchar_t4.xml
 create mode 100644 xen/tools/cppcheck-plat/arm64-wchar_t2.xml
 create mode 100644 xen/tools/cppcheck-plat/x86_64-wchar_t2.xml
 delete mode 100755 xen/tools/merge_cppcheck_reports.py

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:41:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:41:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453951.711595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Dah-0003ZW-W7; Mon, 05 Dec 2022 15:41:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453951.711595; Mon, 05 Dec 2022 15:41:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Dah-0003YJ-Q8; Mon, 05 Dec 2022 15:41:11 +0000
Received: by outflank-mailman (input) for mailman id 453951;
 Mon, 05 Dec 2022 15:41:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIMq=4D=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p2Dah-0003LV-33
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:41:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 3d694aec-74b3-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 16:41:10 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id DE57723A;
 Mon,  5 Dec 2022 07:41:15 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id F40AD3F73D;
 Mon,  5 Dec 2022 07:41:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d694aec-74b3-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 4/5] tools/misra: fix skipped rule numbers
Date: Mon,  5 Dec 2022 15:40:51 +0000
Message-Id: <20221205154052.14191-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205154052.14191-1-luca.fancellu@arm.com>
References: <20221205154052.14191-1-luca.fancellu@arm.com>

MISRA rules are in the format Rule X.Y, currently the script
convert_misra_doc.py is using two nested loop through range(1,22) to
enumerate rules that needs to be skipped, using combination of X.Y in
that range, however there are two issues in the code:
 - rule 22 is never included because the range(1,22) produces a range
   in [1..21]
 - the second issue is that the code is producing invalid MISRA C 2012
   rules, for example 1.21 and so on

Fix the issue using a dictionary that list the rules in misra c2012.

Fixes: 57caa5375321 ("xen: Add MISRA support to cppcheck make rule")
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v2:
 - modified commit message, add R-by (Stefano)
---
---
 xen/tools/convert_misra_doc.py | 32 ++++++++++++++++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/xen/tools/convert_misra_doc.py b/xen/tools/convert_misra_doc.py
index caa4487f645f..13074d8a2e91 100755
--- a/xen/tools/convert_misra_doc.py
+++ b/xen/tools/convert_misra_doc.py
@@ -14,6 +14,34 @@ Usage:
 
 import sys, getopt, re
 
+# MISRA rule are identified by two numbers, e.g. Rule 1.2, the main rule number
+# and a sub-number. This dictionary contains the number of the MISRA rule as key
+# and the maximum sub-number for that rule as value.
+misra_c2012_rules = {
+    1:4,
+    2:7,
+    3:2,
+    4:2,
+    5:9,
+    6:2,
+    7:4,
+    8:14,
+    9:5,
+    10:8,
+    11:9,
+    12:5,
+    13:6,
+    14:4,
+    15:7,
+    16:7,
+    17:8,
+    18:8,
+    19:2,
+    20:14,
+    21:21,
+    22:10
+}
+
 def main(argv):
     infile = ''
     outfile = ''
@@ -142,8 +170,8 @@ def main(argv):
     skip_list = []
 
     # Search for missing rules and add a dummy text with the rule number
-    for i in list(range(1,22)):
-        for j in list(range(1,22)):
+    for i in misra_c2012_rules:
+        for j in list(range(1,misra_c2012_rules[i]+1)):
             if str(i) + '.' + str(j) not in rule_list:
                 outstr.write('Rule ' + str(i) + '.' + str(j) + '\n')
                 outstr.write('No description for rule ' + str(i) + '.' + str(j)
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:41:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:41:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453952.711612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Daj-00042a-HE; Mon, 05 Dec 2022 15:41:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453952.711612; Mon, 05 Dec 2022 15:41:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Daj-00041X-AN; Mon, 05 Dec 2022 15:41:13 +0000
Received: by outflank-mailman (input) for mailman id 453952;
 Mon, 05 Dec 2022 15:41:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIMq=4D=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p2Dah-0003Gt-9c
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:41:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 3ac8d781-74b3-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 16:41:05 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 8042BD6E;
 Mon,  5 Dec 2022 07:41:11 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 60D103F73D;
 Mon,  5 Dec 2022 07:41:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ac8d781-74b3-11ed-8fd2-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 1/5] xen/scripts: add xen-analysis.py for coverity and eclair analysis
Date: Mon,  5 Dec 2022 15:40:48 +0000
Message-Id: <20221205154052.14191-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205154052.14191-1-luca.fancellu@arm.com>
References: <20221205154052.14191-1-luca.fancellu@arm.com>

Add new script for coverity/eclair analysis tool that will enable
the procedure to suppress findings when these tool are used.
The procedure is documented in docs/misra/documenting-violations.rst
and the script is documented in docs/misra/xen-static-analysis.rst.

Add in docs/misra/ the files safe.json and
false-positive-{coverity,eclair}.json that are JSON files containing
the data structures for the justifications, they are used by the
analysis script to link the Xen tags to the proprietary tool comment.

Add docs/misra/documenting-violations.rst to explain how to add
justifications.

Add docs/misra/xen-static-analysis.rst to explain how to use the
script to analyse Xen.

Add analysis artifacts files to .gitignore.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v2 changes:
 - no change
---
---
 .gitignore                                   |   1 +
 docs/misra/documenting-violations.rst        | 191 +++++++++++++++++++
 docs/misra/false-positive-coverity.json      |  12 ++
 docs/misra/false-positive-eclair.json        |  12 ++
 docs/misra/safe.json                         |  11 ++
 docs/misra/xen-static-analysis.rst           |  54 ++++++
 xen/scripts/xen-analysis.py                  |  31 +++
 xen/scripts/xen_analysis/__init__.py         |   0
 xen/scripts/xen_analysis/generic_analysis.py |  93 +++++++++
 xen/scripts/xen_analysis/settings.py         |  97 ++++++++++
 xen/scripts/xen_analysis/tag_database.py     | 109 +++++++++++
 xen/scripts/xen_analysis/utils.py            |  37 ++++
 12 files changed, 648 insertions(+)
 create mode 100644 docs/misra/documenting-violations.rst
 create mode 100644 docs/misra/false-positive-coverity.json
 create mode 100644 docs/misra/false-positive-eclair.json
 create mode 100644 docs/misra/safe.json
 create mode 100644 docs/misra/xen-static-analysis.rst
 create mode 100755 xen/scripts/xen-analysis.py
 create mode 100644 xen/scripts/xen_analysis/__init__.py
 create mode 100644 xen/scripts/xen_analysis/generic_analysis.py
 create mode 100644 xen/scripts/xen_analysis/settings.py
 create mode 100644 xen/scripts/xen_analysis/tag_database.py
 create mode 100644 xen/scripts/xen_analysis/utils.py

diff --git a/.gitignore b/.gitignore
index ea3243af9dde..f5a66f6194dd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@
 *.c.cppcheck
 *.opic
 *.a
+*.safparse
 *.so
 *.so.[0-9]*
 *.bin
diff --git a/docs/misra/documenting-violations.rst b/docs/misra/documenting-violations.rst
new file mode 100644
index 000000000000..1d23447556d2
--- /dev/null
+++ b/docs/misra/documenting-violations.rst
@@ -0,0 +1,191 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Documenting violations
+======================
+
+Static analysers are used on the Xen codebase for both static analysis and MISRA
+compliance.
+There might be the need to suppress some findings instead of fixing them and
+many tools permit the usage of in-code comments that suppress findings so that
+they are not shown in the final report.
+
+Xen includes a tool capable of translating a specific comment used in its
+codebase to the right proprietary in-code comment understandable by the selected
+analyser that suppress its finding.
+
+In the Xen codebase, these tags will be used to document and suppress findings:
+
+ - SAF-X-safe: This tag means that the next line of code contains a finding, but
+   the non compliance to the checker is analysed and demonstrated to be safe.
+ - SAF-X-false-positive-<tool>: This tag means that the next line of code
+   contains a finding, but the finding is a bug of the tool.
+
+SAF stands for Static Analyser Finding, the X is a placeholder for a positive
+number that starts from zero, the number after SAF- shall be incremental and
+unique, base ten notation and without leading zeros.
+
+Entries in the database shall never be removed, even if they are not used
+anymore in the code (if a patch is removing or modifying the faulty line).
+This is to make sure that numbers are not reused which could lead to conflicts
+with old branches or misleading justifications.
+
+An entry can be reused in multiple places in the code to suppress a finding if
+and only if the justification holds for the same non-compliance to the coding
+standard.
+
+An orphan entry, that is an entry who was justifying a finding in the code, but
+later that code was removed and there is no other use of that entry in the code,
+can be reused as long as the justification for the finding holds. This is done
+to avoid the allocation of a new entry with exactly the same justification, that
+would lead to waste of space and maintenance issues of the database.
+
+The files where to store all the justifications are in xen/docs/misra/ and are
+named as safe.json and false-positive-<tool>.json, they have JSON format, each
+one has a different justification schema which shares some fields.
+
+Here is an example to add a new justification in safe.json::
+
+|{
+|    "version": "1.0",
+|    "content": [
+|        {
+|            "id": "SAF-0-safe",
+|            "analyser": {
+|                "coverity": "misra_c_2012_rule_20_7_violation",
+|                "eclair": "MC3R1.R20.7"
+|            },
+|            "name": "R20.7 C macro parameters not used as expression",
+|            "text": "The macro parameters used in this [...]"
+|        },
+|        {
+|            "id": "SAF-1-safe",
+|            "analyser": {},
+|            "name": "Sentinel",
+|            "text": "Next ID to be used"
+|        }
+|    ]
+|}
+
+To document a finding in safe.json, just add another block {[...]} before the
+sentinel block, using the id contained in the sentinel block and increment by
+one the number contained in the id of the sentinel block.
+
+Here is an explanation of the fields inside an object of the "content" array:
+ - id: it is a unique string that is used to refer to the finding, many finding
+   can be tagged with the same id, if the justification holds for any applied
+   case.
+   It tells the tool to substitute a Xen in-code comment having this structure:
+   /* SAF-0-safe [...] \*/
+ - analyser: it is an object containing pair of key-value strings, the key is
+   the analyser, so it can be coverity or eclair, the value is the proprietary
+   id corresponding on the finding, for example when coverity is used as
+   analyser, the tool will translate the Xen in-code coment in this way:
+   /* SAF-0-safe [...] \*/ -> /* coverity[misra_c_2012_rule_20_7_violation] \*/
+   if the object doesn't have a key-value, then the corresponding in-code
+   comment won't be translated.
+ - name: a simple name for the finding
+ - text: a proper justification to turn off the finding.
+
+
+Here is an example to add a new justification in false-positive-<tool>.json::
+
+|{
+|    "version": "1.0",
+|    "content": [
+|        {
+|            "id": "SAF-0-false-positive-<tool>",
+|            "violation-id": "<proprietary-id>",
+|            "tool-version": "<version>",
+|            "name": "R20.7 [...]",
+|            "text": "[...]"
+|        },
+|        {
+|            "id": "SAF-1-false-positive-<tool>",
+|            "violation-id": "",
+|            "tool-version": "",
+|            "name": "Sentinel",
+|            "text": "Next ID to be used"
+|        }
+|    ]
+|}
+
+To document a finding in false-positive-<tool>.json, just add another block
+{[...]} before the sentinel block, using the id contained in the sentinel block
+and increment by one the number contained in the id of the sentinel block.
+
+Here is an explanation of the fields inside an object of the "content" array:
+ - id: it has the same meaning as in the "safe" justification schema.
+   It tells the tool to substitute a Xen in-code comment having this structure:
+   /* SAF-0-false-positive-<tool> [...] \*/
+ - violation-id: its value is a string containing the proprietary id
+   corresponding to the finding, for example when <tool> is coverity, the Xen
+   tool will translate the Xen in-code coment in this way:
+   /* SAF-0-false-positive-coverity [...] \*/ -> /* coverity[misra_c_2012_rule_20_7_violation] \*/
+   if the object doesn't have a value, then the corresponding in-code comment
+   won't be translated.
+ - tool-version: the version of the tool affected by the false positive, if it
+   is discovered in more than one version, this string can be a range
+   (eg. 2.7 - 3.0)
+ - name, text: they have the same meaning as in the "safe" justification schema.
+
+
+Justification example
+---------------------
+
+Here an example of the usage of the in-code comment tags to suppress a finding
+for the Rule 8.6:
+
+Eclair reports it in its web report, file xen/include/xen/kernel.h, line 68:
+
+| MC3R1.R8.6 for program 'xen/xen-syms', variable '_start' has no definition
+
+Also coverity reports it, here is an extract of the finding:
+
+| xen/include/xen/kernel.h:68:
+| 1. misra_c_2012_rule_8_6_violation: Function "_start" is declared but never
+ defined.
+
+The analysers are complaining because we have this in xen/include/xen/kernel.h
+at line 68::
+
+| extern char _start[], _end[], start[];
+
+Those are symbols exported by the linker, hence we will need to have a proper
+deviation for this finding.
+
+We will prepare our entry in the safe.json database::
+
+|{
+|    "version": "1.0",
+|    "content": [
+|        {
+|        [...]
+|        },
+|        {
+|            "id": "SAF-1-safe",
+|            "analyser": {
+|                "eclair": "MC3R1.R8.6",
+|                "coverity": "misra_c_2012_rule_8_6_violation"
+|            },
+|            "name": "Rule 8.6: linker script defined symbols",
+|            "text": "It is safe to declare this symbol because it is defined in the linker script."
+|        },
+|        {
+|            "id": "SAF-2-safe",
+|            "analyser": {},
+|            "name": "Sentinel",
+|            "text": "Next ID to be used"
+|        }
+|    ]
+|}
+
+And we will use the proper tag above the violation line::
+
+| /* SAF-1-safe R8.6 linker defined symbols */
+| extern char _start[], _end[], start[];
+
+This entry will fix also the violation on _end and start, because they are on
+the same line and the same "violation ID".
+
+Also, the same tag can be used on other symbols from the linker that are
+declared in the codebase, because the justification holds for them too.
diff --git a/docs/misra/false-positive-coverity.json b/docs/misra/false-positive-coverity.json
new file mode 100644
index 000000000000..462448414f80
--- /dev/null
+++ b/docs/misra/false-positive-coverity.json
@@ -0,0 +1,12 @@
+{
+    "version": "1.0",
+    "content": [
+        {
+            "id": "SAF-0-false-positive-coverity",
+            "violation-id": "",
+            "tool-version": "",
+            "name": "Sentinel",
+            "text": "Next ID to be used"
+        }
+    ]
+}
diff --git a/docs/misra/false-positive-eclair.json b/docs/misra/false-positive-eclair.json
new file mode 100644
index 000000000000..1d6ea5d7f045
--- /dev/null
+++ b/docs/misra/false-positive-eclair.json
@@ -0,0 +1,12 @@
+{
+    "version": "1.0",
+    "content": [
+        {
+            "id": "SAF-0-false-positive-eclair",
+            "violation-id": "",
+            "tool-version": "",
+            "name": "Sentinel",
+            "text": "Next ID to be used"
+        }
+    ]
+}
diff --git a/docs/misra/safe.json b/docs/misra/safe.json
new file mode 100644
index 000000000000..e079d3038120
--- /dev/null
+++ b/docs/misra/safe.json
@@ -0,0 +1,11 @@
+{
+    "version": "1.0",
+    "content": [
+        {
+            "id": "SAF-0-safe",
+            "analyser": {},
+            "name": "Sentinel",
+            "text": "Next ID to be used"
+        }
+    ]
+}
diff --git a/docs/misra/xen-static-analysis.rst b/docs/misra/xen-static-analysis.rst
new file mode 100644
index 000000000000..5b886474d4a0
--- /dev/null
+++ b/docs/misra/xen-static-analysis.rst
@@ -0,0 +1,54 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Xen static analysis
+===================
+
+The Xen codebase integrates some scripts and tools that helps the developer to
+perform static analysis of the code, currently Xen supports three analysis tool
+that are eclair, coverity and cppcheck.
+The Xen tree has a script (xen-analysis.py) available to ease the analysis
+process and it integrates a way to suppress findings on these tools (only Eclair
+and Coverity are currently supported by the script), please check the
+documenting-violation.rst document to know more about it.
+
+Analyse Xen with Coverity or Eclair
+-----------------------------------
+
+The xen-analysis.py script has two arguments to select which tool is used for
+the analysis:
+
+ - xen-analysis.py --run-coverity -- [optional make arguments]
+ - xen-analysis.py --run-eclair -- [optional make arguments]
+
+For example when using Coverity to analyse a Xen build obtained by passing these
+arguments to the make system: XEN_TARGET_ARCH=arm64
+CROSS_COMPILE=aarch64-linux-gnu-, the optional make arguments passed to
+xen-analysis.py must be the same and the command below should be passed to
+Coverity in its build phase:
+
+ - xen-analysis.py --run-coverity -- XEN_TARGET_ARCH=arm64
+   CROSS_COMPILE=aarch64-linux-gnu-
+
+Which tells to the script to prepare the codebase for an analysis by Coverity
+and forwards the make arguments to the make build invocation.
+
+When invoking the script, the procedure below will be followed:
+
+ 1. Find which files among \*.c and \*.h has any in-code comment as
+    /* SAF-X-[...] \*/, the meaning of these comments is explained in
+    documenting-violation.rst.
+    Save the files obtained as <file>.safparse and generate <file> files where
+    the special in-code comments above are substituted with the proprietary
+    in-code comment used by the selected analysis tool. The safe.json and
+    false-positive-<tool>.json text file database are used to link each Xen tag
+    to the right proprietary in-code comment.
+ 2. Now Xen compilation starts using every <additional make parameters> supplied
+    at the script invocation. Coverity and Eclair are capable of intercepting
+    the compiler running from make to perform their analysis without
+    instrumenting the makefile.
+ 3. As final step every <file>.safparse file are reverted back as <file> and
+    every artifact related to the analysis will be cleaned.
+    This step is performed even in case any of the previous step fail, to skip
+    this step, call the script adding the --no-clean argument, but before
+    running again the script, call it with the --clean-only argument, that will
+    execute only this cleaning step.
diff --git a/xen/scripts/xen-analysis.py b/xen/scripts/xen-analysis.py
new file mode 100755
index 000000000000..b5d9ef1862c9
--- /dev/null
+++ b/xen/scripts/xen-analysis.py
@@ -0,0 +1,31 @@
+#!/usr/bin/env python3
+
+import sys
+from xen_analysis import settings, generic_analysis
+from xen_analysis.generic_analysis import *
+
+
+def main(argv):
+    ret_code = 0
+    settings.parse_commandline(argv)
+    try:
+        if settings.step_parse_tags:
+            generic_analysis.parse_xen_tags()
+        if settings.step_build_xen:
+            generic_analysis.build_xen()
+    except (ParseTagPhaseError, BuildPhaseError) as e:
+        print("ERROR: {}".format(e))
+        if hasattr(e, "errorcode"):
+            ret_code = e.errorcode
+    finally:
+        if settings.step_clean_analysis:
+            e = generic_analysis.clean_analysis_artifacts()
+            if e:
+                print("ERROR: {}".format(e))
+                ret_code = 1
+
+    sys.exit(ret_code)
+
+
+if __name__ == "__main__":
+    main(sys.argv[1:])
diff --git a/xen/scripts/xen_analysis/__init__.py b/xen/scripts/xen_analysis/__init__.py
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/xen/scripts/xen_analysis/generic_analysis.py b/xen/scripts/xen_analysis/generic_analysis.py
new file mode 100644
index 000000000000..0b470c4ecf7d
--- /dev/null
+++ b/xen/scripts/xen_analysis/generic_analysis.py
@@ -0,0 +1,93 @@
+#!/usr/bin/env python3
+
+import os, subprocess
+from . import settings, utils, tag_database
+
+class ParseTagPhaseError(Exception):
+    pass
+
+class BuildPhaseError(Exception):
+    pass
+
+class CleanPhaseError(Exception):
+    pass
+
+
+def parse_xen_tags():
+    # Load the database for the Xen tags
+    subs_list = tag_database.load_tag_database(
+        settings.analysis_tool,
+        [settings.repo_dir + "/docs/misra/safe.json"]
+    )
+    subs_list = tag_database.load_tag_database(
+        settings.analysis_tool,
+        [settings.repo_dir + "/docs/misra/false-positive-{}.json"
+                                .format(settings.analysis_tool)],
+        subs_list,
+        "false-positive"
+    )
+
+    # Create outdir if it doesn't exists
+    os.makedirs(settings.outdir, exist_ok=True)
+
+    # The following lambda function will return a file if it contains lines with
+    # a comment containing "SAF-<number>-{safe|false-positive-<tool>}" on a
+    # single line.
+    grep_action = lambda x: utils.grep(x,
+                                    tag_database.get_xen_tag_comment_regex(
+                                                        settings.analysis_tool)
+    )
+    # Look for a list of .h/.c files that matches the condition above
+    parse_file_list = utils.recursive_find_file(settings.xen_dir, r'.*\.[ch]$',
+                                                grep_action)
+
+    for entry in parse_file_list:
+        file = entry["file"]
+        bkp_file = file + ".safparse"
+        if os.path.isfile(bkp_file):
+            raise ParseTagPhaseError(
+                "Found {}, please check the integrity of {}"
+                    .format(bkp_file,file)
+                )
+        os.rename(file, bkp_file)
+        time_bkp_file = os.stat(bkp_file)
+        # Create <file> from <file>.safparse but with the Xen tag parsed
+        tag_database.substitute_tags(settings.analysis_tool, bkp_file, entry,
+                                     subs_list)
+        # Set timestamp for file equal to bkp_file, so that if the file is
+        # modified during the process by the user, we can catch it
+        os.utime(file, (time_bkp_file.st_atime, time_bkp_file.st_mtime))
+
+
+def build_xen():
+    try:
+        subprocess.run(
+            "make -C {} {} build"
+                .format(settings.xen_dir, settings.make_forward_args),
+            shell=True, check=True
+        )
+    except (subprocess.CalledProcessError, subprocess.SubprocessError)  as e:
+        excp = BuildPhaseError(
+                "Build error occured when running:\n{}".format(e.cmd)
+            )
+        excp.errorcode = e.returncode if hasattr(e, 'returncode') else 1
+        raise excp
+
+
+def clean_analysis_artifacts():
+    safparse_files = utils.recursive_find_file(settings.xen_dir,
+                                               r'.*.safparse$')
+    for original_file in safparse_files:
+        # This commands strips the .safparse extension, leaving <file>
+        parsed_file_path = os.path.splitext(original_file)[0]
+        mtime_original_file = os.stat(original_file).st_mtime
+        mtime_parsed_file = os.stat(parsed_file_path).st_mtime
+        if mtime_original_file != mtime_parsed_file:
+            return CleanPhaseError(
+                    "The file {} was modified during the analysis "
+                    "procedure, it is impossible now to restore from the "
+                    "content of {}, please handle it manually"
+                    .format(parsed_file_path, original_file)
+                )
+        # Replace <file>.safparse to <file>
+        os.replace(original_file, parsed_file_path)
diff --git a/xen/scripts/xen_analysis/settings.py b/xen/scripts/xen_analysis/settings.py
new file mode 100644
index 000000000000..947dfa2d50af
--- /dev/null
+++ b/xen/scripts/xen_analysis/settings.py
@@ -0,0 +1,97 @@
+#!/usr/bin/env python3
+
+import sys, re, os
+
+module_dir = os.path.dirname(os.path.realpath(__file__))
+xen_dir = os.path.realpath(module_dir + "/../..")
+repo_dir = os.path.realpath(xen_dir + "/..")
+tools_dir = os.path.realpath(xen_dir + "/tools")
+
+step_parse_tags = True
+step_build_xen = True
+step_clean_analysis = True
+
+target_build = False
+target_clean = False
+
+analysis_tool = ""
+make_forward_args = ""
+outdir = xen_dir
+
+
+def help():
+    msg="""
+Usage: {} [OPTION] ... [-- [make arguments]]
+
+This script runs the analysis on the Xen codebase.
+
+Options:
+  --build-only    Run only the commands to build Xen with the optional make
+                  arguments passed to the script
+  --clean-only    Run only the commands to clean the analysis artifacts
+  -h, --help      Print this help
+  --no-build      Skip the build Xen phase
+  --no-clean      Don\'t clean the analysis artifacts on exit
+  --run-coverity  Run the analysis for the Coverity tool
+  --run-eclair    Run the analysis for the Eclair tool
+"""
+    print(msg.format(sys.argv[0]))
+
+
+def parse_commandline(argv):
+    global analysis_tool
+    global make_forward_args
+    global outdir
+    global step_parse_tags
+    global step_build_xen
+    global step_clean_analysis
+    global target_build
+    global target_clean
+    forward_to_make = False
+    for option in argv:
+        if forward_to_make:
+            # Intercept outdir
+            outdir_regex = re.match("^O=(.*)$", option)
+            if outdir_regex:
+                outdir = outdir_regex.group(1)
+            # Forward any make arguments
+            make_forward_args = make_forward_args + " " + option
+        elif option == "--build-only":
+            target_build = True
+        elif option == "--clean-only":
+            target_clean = True
+        elif (option == "--help") or (option == "-h"):
+            help()
+            sys.exit(0)
+        elif option == "--no-build":
+            step_build_xen = False
+        elif option == "--no-clean":
+            step_clean_analysis = False
+        elif (option == "--run-coverity") or (option == "--run-eclair"):
+            analysis_tool = option[6:]
+        elif option == "--":
+            forward_to_make = True
+        else:
+            print("Invalid option: {}".format(option))
+            help()
+            sys.exit(1)
+
+    if target_build and target_clean:
+        print("--build-only is not compatible with --clean-only argument.")
+        sys.exit(1)
+
+    if target_clean:
+        step_parse_tags = False
+        step_build_xen = False
+        step_clean_analysis = True
+        return
+
+    if analysis_tool == "":
+        print("Please specify one analysis tool.")
+        help()
+        sys.exit(1)
+
+    if target_build:
+        step_parse_tags = False
+        step_build_xen = True
+        step_clean_analysis = False
diff --git a/xen/scripts/xen_analysis/tag_database.py b/xen/scripts/xen_analysis/tag_database.py
new file mode 100644
index 000000000000..ca374bbb62dd
--- /dev/null
+++ b/xen/scripts/xen_analysis/tag_database.py
@@ -0,0 +1,109 @@
+#!/usr/bin/env python3
+
+import re, json
+
+class TagDatabaseError(Exception):
+    pass
+
+# This is the dictionary for the rules that translates to proprietary comments:
+#  - cppcheck: /* cppcheck-suppress[id] */
+#  - coverity: /* coverity[id] */
+#  - eclair:   /* -E> hide id 1 "" */
+# Add entries to support more analyzers
+tool_syntax = {
+    "cppcheck":"cppcheck-suppress[VID]",
+    "coverity":"coverity[VID]",
+    "eclair":"-E> hide VID 1 \"\""
+}
+
+
+def get_xen_tag_index_type_regex(tool):
+    return r'^SAF-(\d+)-(safe|false-positive-' + tool + ')$'
+
+
+def get_xen_tag_comment_regex(tool):
+    return r'^[ \t]*/\* +(SAF-\d+-(?:safe|false-positive-' + tool + ')).*\*/$'
+
+
+# Returns a data structure containing dictionaries for safe and false-positive-*
+# Xen tags, the key is the unique index of the tag and the content is the
+# proprietary in-code comment to be used when the tag is found in the codebase
+def load_tag_database(tool, input_files, data_struct = None, schema = "safe"):
+    ret = data_struct if data_struct is not None else {
+        "safe": {},
+        "false-positive-" + tool: {}
+    }
+    database = []
+
+    # Open all input files
+    for file in input_files:
+        try:
+            with open(file, "rt") as handle:
+                content = json.load(handle)
+                database = database + content['content']
+        except json.JSONDecodeError as e:
+            raise TagDatabaseError("JSON decoding error in file {}: {}"
+                                    .format(file, e))
+        except Exception as e:
+            raise TagDatabaseError("Can't open file {}: {}"
+                                    .format(file, e))
+
+    for entry in database:
+        # If the false-positive schema is used, check the proprietary id in the
+        # 'violation-id' field, otherwise rely on the "safe" schema.
+        if schema == "false-positive":
+            proprietary_id = entry['violation-id']
+        elif tool in entry['analyser']:
+            proprietary_id = entry['analyser'][tool]
+        else:
+            proprietary_id = ""
+        if proprietary_id != "":
+            comment=tool_syntax[tool].replace("VID",proprietary_id)
+            # Regex to capture the index of the Xen tag and the schema
+            xen_tag = re.compile(get_xen_tag_index_type_regex(tool))\
+                            .match(entry["id"])
+            if xen_tag and xen_tag.group(1) and xen_tag.group(2):
+                # Save in safe or false-positive-* the key {#id: "comment"}
+                id_number = int(xen_tag.group(1))
+                key = xen_tag.group(2)
+                ret[key][id_number] = "/* {} */\n".format(comment)
+            else:
+                raise TagDatabaseError(
+                        "Error in database file, entry {} has unexpected "
+                        "format.".format(entry["id"])
+                    )
+
+    return ret
+
+
+def substitute_tags(tool, input_file, grep_struct, subs_rules):
+    try:
+        with open(grep_struct["file"], "wt") as outfile:
+
+            try:
+                with open(input_file, "rt") as infile:
+                    parsed_content = infile.readlines()
+            except Exception as e:
+                raise TagDatabaseError("Issue with reading file {}: {}"
+                                       .format(input_file, e))
+
+            # grep_struct contains the line number where the comments are, the
+            # line number starts from 1 but in the array the first line is zero.
+            # For every line where there is a Xen tag comment, get the Xen tag
+            # that is in the capture group zero, extract from the Xen tag the
+            # unique index and the type (safe, false-positive-*) and with those
+            # information access the subs_rules dictionary to see if there is
+            # a match
+            for line_number in grep_struct["matches"]:
+                xen_tag = grep_struct["matches"][line_number][0]
+                xen_tag_regex_obj = re.compile(
+                            get_xen_tag_index_type_regex(tool)).match(xen_tag)
+                id_number = int(xen_tag_regex_obj.group(1))
+                key = xen_tag_regex_obj.group(2)
+                if id_number in subs_rules[key]:
+                    parsed_content[line_number-1] = subs_rules[key][id_number]
+
+            outfile.writelines(parsed_content)
+    except Exception as e:
+        raise TagDatabaseError("Issue with writing file {}: {}"
+                               .format(grep_struct["file"], e))
diff --git a/xen/scripts/xen_analysis/utils.py b/xen/scripts/xen_analysis/utils.py
new file mode 100644
index 000000000000..a912d812c3df
--- /dev/null
+++ b/xen/scripts/xen_analysis/utils.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python3
+
+import os, re
+
+
+def grep(filepath, regex):
+    regObj = re.compile(regex)
+    res = { "file": filepath, "matches": {} }
+    try:
+        with open(filepath, "rt") as f:
+            line_number = 1
+            for line in f:
+                match = regObj.match(line)
+                if match:
+                    res["matches"][line_number] = match.groups()
+                line_number = line_number + 1
+    except Exception as e:
+        print("WARNING: Can't open {}: {}".format(filepath, e))
+
+    # Return filename and line matches if there are
+    return res if res["matches"] else {}
+
+
+def recursive_find_file(path, filename_regex, action = None):
+    filename_reg_obj = re.compile(filename_regex)
+    res = []
+    for root, dirs, fnames in os.walk(path):
+        for fname in fnames:
+            if filename_reg_obj.match(fname):
+                if action is None:
+                    res.append(os.path.join(root, fname))
+                else:
+                    out = action(os.path.join(root, fname))
+                    if out:
+                        res.append(out)
+
+    return res
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:41:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:41:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453953.711618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Dak-0004Bq-3J; Mon, 05 Dec 2022 15:41:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453953.711618; Mon, 05 Dec 2022 15:41:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Daj-0004AM-Tv; Mon, 05 Dec 2022 15:41:13 +0000
Received: by outflank-mailman (input) for mailman id 453953;
 Mon, 05 Dec 2022 15:41:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIMq=4D=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p2Dai-0003Gt-9s
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:41:12 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 3baa89ad-74b3-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 16:41:07 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0E9B0106F;
 Mon,  5 Dec 2022 07:41:13 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 099913F73D;
 Mon,  5 Dec 2022 07:41:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3baa89ad-74b3-11ed-8fd2-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 2/5] xen/scripts: add cppcheck tool to the xen-analysis.py script
Date: Mon,  5 Dec 2022 15:40:49 +0000
Message-Id: <20221205154052.14191-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205154052.14191-1-luca.fancellu@arm.com>
References: <20221205154052.14191-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Add Cppcheck analysis to the xen-analysis.py script using the
arguments --run-cppcheck.

Now cppcheck analysis will build Xen while the analysis is performed
on the source files, it will produce a text report and an additional
html output when the script is called with --cppcheck-html.

With this patch cppcheck will benefit of platform configuration files
that will help it to understand the target of the compilation and
improve the analysis. These are XML files placed in
xen/tools/cppcheck-plat/, describing to cppcheck the length of basic
types to help it in the analysis.

To do so:
 - Update xen-analysis.py with the code to integrate cppcheck.
 - add platform configuration files for cppcheck..
 - add cppcheck-cc.sh script that is a wrapper for cppcheck and it's
   used as Xen compiler, it will intercept all flags given from the
   make build system and it will execute cppcheck on the compiled
   file together with the file compilation.
 - guarded hypercall-defs.c with CPPCHECK define because cppcheck
   gets confused as the file does not contain c code.
 - add false-positive-cppcheck.json file
 - update documentation.
 - update .gitignore

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes in v2:
 - changes to commit message (Jan)
 - changes to the cppcheck-cc.sh script and on
   platform XML files, fixed version handling
   in cppcheck_analysis.py (Stefano)
 - Move revert of Makefile and xen/tools/merge_cppcheck_reports.py
   to the following patch, modified .gitignore to handle the
   presence of both Makefile invoked cppcheck and this new method
   (Stefano)
---
---
 .gitignore                                    |   6 +
 docs/misra/cppcheck.txt                       |  27 +-
 docs/misra/documenting-violations.rst         |   7 +-
 docs/misra/false-positive-cppcheck.json       |  12 +
 docs/misra/xen-static-analysis.rst            |  42 ++-
 xen/include/hypercall-defs.c                  |   9 +
 xen/scripts/xen-analysis.py                   |  18 +-
 xen/scripts/xen_analysis/cppcheck_analysis.py | 273 ++++++++++++++++++
 .../xen_analysis/cppcheck_report_utils.py     | 130 +++++++++
 xen/scripts/xen_analysis/generic_analysis.py  |  21 +-
 xen/scripts/xen_analysis/settings.py          |  77 ++++-
 xen/scripts/xen_analysis/utils.py             |  21 +-
 xen/tools/cppcheck-cc.sh                      | 223 ++++++++++++++
 xen/tools/cppcheck-plat/arm32-wchar_t4.xml    |  17 ++
 xen/tools/cppcheck-plat/arm64-wchar_t2.xml    |  17 ++
 xen/tools/cppcheck-plat/x86_64-wchar_t2.xml   |  17 ++
 16 files changed, 860 insertions(+), 57 deletions(-)
 create mode 100644 docs/misra/false-positive-cppcheck.json
 create mode 100644 xen/scripts/xen_analysis/cppcheck_analysis.py
 create mode 100644 xen/scripts/xen_analysis/cppcheck_report_utils.py
 create mode 100755 xen/tools/cppcheck-cc.sh
 create mode 100644 xen/tools/cppcheck-plat/arm32-wchar_t4.xml
 create mode 100644 xen/tools/cppcheck-plat/arm64-wchar_t2.xml
 create mode 100644 xen/tools/cppcheck-plat/x86_64-wchar_t2.xml

diff --git a/.gitignore b/.gitignore
index f5a66f6194dd..39efe2933a33 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,8 +8,11 @@
 *.d
 *.d2
 *.c.cppcheck
+*.cppcheck.txt
+*.cppcheck.xml
 *.opic
 *.a
+*.c.json
 *.safparse
 *.so
 *.so.[0-9]*
@@ -282,9 +285,11 @@ xen/arch/*/efi/efi.h
 xen/arch/*/efi/pe.c
 xen/arch/*/efi/runtime.c
 xen/arch/*/include/asm/asm-offsets.h
+xen/build-dir-cppcheck/
 xen/common/config_data.S
 xen/common/config.gz
 xen/cppcheck-htmlreport/
+xen/cppcheck-report/
 xen/cppcheck-misra.*
 xen/include/headers*.chk
 xen/include/compat/*
@@ -315,6 +320,7 @@ xen/xsm/flask/xenpolicy-*
 tools/flask/policy/policy.conf
 tools/flask/policy/xenpolicy-*
 xen/xen
+xen/suppression-list.txt
 xen/xen-cppcheck.xml
 xen/xen-syms
 xen/xen-syms.map
diff --git a/docs/misra/cppcheck.txt b/docs/misra/cppcheck.txt
index 25d8c3050b72..f7b9f678b4d5 100644
--- a/docs/misra/cppcheck.txt
+++ b/docs/misra/cppcheck.txt
@@ -3,8 +3,7 @@ Cppcheck for Xen static and MISRA analysis
 
 Xen can be analysed for both static analysis problems and MISRA violation using
 cppcheck, the open source tool allows the creation of a report with all the
-findings. Xen has introduced the support in the Makefile so it's very easy to
-use and in this document we can see how.
+findings.
 
 The minimum version required for cppcheck is 2.7. Note that at the time of
 writing (June 2022), the version 2.8 is known to be broken [1].
@@ -38,27 +37,7 @@ Dependencies are listed in the readme.md of the project repository.
 Use cppcheck to analyse Xen
 ===========================
 
-Using cppcheck integration is very simple, it requires few steps:
-
- 1) Compile Xen
- 2) call the cppcheck make target to generate a report in xml format:
-    make CPPCHECK_MISRA=y cppcheck
- 3) call the cppcheck-html make target to generate a report in xml and html
-    format:
-    make CPPCHECK_MISRA=y cppcheck-html
-
-    In case the cppcheck binaries are not in the PATH, CPPCHECK and
-    CPPCHECK_HTMLREPORT variables can be overridden with the full path to the
-    binaries:
-
-    make -C xen \
-        CPPCHECK=/path/to/cppcheck \
-        CPPCHECK_HTMLREPORT=/path/to/cppcheck-htmlreport \
-        CPPCHECK_MISRA=y \
-        cppcheck-html
-
-The output is by default in a folder named cppcheck-htmlreport, but the name
-can be changed by passing it in the CPPCHECK_HTMLREPORT_OUTDIR variable.
-
+To analyse Xen using cppcheck, please refer to the document
+xen-static-analysis.rst, section "Analyse Xen with Cppcheck".
 
 [1] https://sourceforge.net/p/cppcheck/discussion/general/thread/bfc3ab6c41/?limit=25
diff --git a/docs/misra/documenting-violations.rst b/docs/misra/documenting-violations.rst
index 1d23447556d2..31dafd5d4ece 100644
--- a/docs/misra/documenting-violations.rst
+++ b/docs/misra/documenting-violations.rst
@@ -51,6 +51,7 @@ Here is an example to add a new justification in safe.json::
 |        {
 |            "id": "SAF-0-safe",
 |            "analyser": {
+|                "cppcheck": "misra-c2012-20.7",
 |                "coverity": "misra_c_2012_rule_20_7_violation",
 |                "eclair": "MC3R1.R20.7"
 |            },
@@ -77,9 +78,9 @@ Here is an explanation of the fields inside an object of the "content" array:
    It tells the tool to substitute a Xen in-code comment having this structure:
    /* SAF-0-safe [...] \*/
  - analyser: it is an object containing pair of key-value strings, the key is
-   the analyser, so it can be coverity or eclair, the value is the proprietary
-   id corresponding on the finding, for example when coverity is used as
-   analyser, the tool will translate the Xen in-code coment in this way:
+   the analyser, so it can be cppcheck, coverity or eclair, the value is the
+   proprietary id corresponding on the finding, for example when coverity is
+   used as analyser, the tool will translate the Xen in-code coment in this way:
    /* SAF-0-safe [...] \*/ -> /* coverity[misra_c_2012_rule_20_7_violation] \*/
    if the object doesn't have a key-value, then the corresponding in-code
    comment won't be translated.
diff --git a/docs/misra/false-positive-cppcheck.json b/docs/misra/false-positive-cppcheck.json
new file mode 100644
index 000000000000..5d4da2ce6170
--- /dev/null
+++ b/docs/misra/false-positive-cppcheck.json
@@ -0,0 +1,12 @@
+{
+    "version": "1.0",
+    "content": [
+        {
+            "id": "SAF-0-false-positive-cppcheck",
+            "violation-id": "",
+            "tool-version": "",
+            "name": "Sentinel",
+            "text": "Next ID to be used"
+        }
+    ]
+}
diff --git a/docs/misra/xen-static-analysis.rst b/docs/misra/xen-static-analysis.rst
index 5b886474d4a0..2712255db1b0 100644
--- a/docs/misra/xen-static-analysis.rst
+++ b/docs/misra/xen-static-analysis.rst
@@ -7,9 +7,8 @@ The Xen codebase integrates some scripts and tools that helps the developer to
 perform static analysis of the code, currently Xen supports three analysis tool
 that are eclair, coverity and cppcheck.
 The Xen tree has a script (xen-analysis.py) available to ease the analysis
-process and it integrates a way to suppress findings on these tools (only Eclair
-and Coverity are currently supported by the script), please check the
-documenting-violation.rst document to know more about it.
+process and it integrates a way to suppress findings on these tools, please
+check the documenting-violation.rst document to know more about it.
 
 Analyse Xen with Coverity or Eclair
 -----------------------------------
@@ -52,3 +51,40 @@ When invoking the script, the procedure below will be followed:
     this step, call the script adding the --no-clean argument, but before
     running again the script, call it with the --clean-only argument, that will
     execute only this cleaning step.
+
+
+Analyse Xen with Cppcheck
+-------------------------
+
+Cppcheck tool is integrated in xen-analysis.py script, when using the script,
+the tool will be called on every source file compiled by the make build system.
+Here how to start the analysis with Cppcheck:
+
+ - xen-analysis.py --run-cppcheck [--cppcheck-misra] [--cppcheck-html] --
+   [optional make arguments]
+
+The command above tells the script to prepare the codebase and use Cppcheck tool
+for the analysis.
+The optional argument --cppcheck-misra activates the analysis also for MISRA
+compliance.
+The optional argument --cppcheck-html instruct cppcheck to produce an additional
+HTML report.
+
+When invoking the script for Cppcheck analysis, the followed procedure is
+similar to the one above for Coverity or Eclair, but it has some additional
+steps:
+
+ 1. This step is the same as step 1 for Coverity/Eclair.
+ 2. The cppcheck dependency are created, build directory for cppcheck analysis
+    and an header file containing internal compiler macro
+    (include/generated/compiler-def.h) are generated
+ 3. Xen compilation starts using every <additional make parameters> supplied
+    at the script invocation, but because cppcheck is not able to intercept the
+    compiled files and flags on compiler invocation, a script (cppcheck-cc.sh)
+    is passed as CC to the make system, it is a wrapper for the compiler that
+    will also execute cppcheck on every compiled file.
+ 4. After the compilation and analysis, the cppcheck report will be created
+    putting together all the cppcheck report fragments for every analysed file.
+    Cppcheck will produce a text fragment and an additional XML report fragment
+    if the script is configured to produce the HTML output.
+ 5. This step is the same as step 3 for Coverity/Eclair.
diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
index 189612107402..41e1af01f6b2 100644
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -60,6 +60,13 @@
  * are possible.
  */
 
+/*
+ * Cppcheck thinks this file needs to be analysed because it is preprocessed by
+ * the compiler, but it gets confused because this file does not contains C
+ * code. Hence protect the code when CPPCHECK is used.
+ */
+#ifndef CPPCHECK
+
 #ifdef CONFIG_HVM
 #define PREFIX_hvm hvm
 #else
@@ -288,3 +295,5 @@ mca                                do       do       -        -        -
 #ifndef CONFIG_PV_SHIM_EXCLUSIVE
 paging_domctl_cont                 do       do       do       do       -
 #endif
+
+#endif /* !CPPCHECK */
diff --git a/xen/scripts/xen-analysis.py b/xen/scripts/xen-analysis.py
index b5d9ef1862c9..8e50c27cd898 100755
--- a/xen/scripts/xen-analysis.py
+++ b/xen/scripts/xen-analysis.py
@@ -1,28 +1,42 @@
 #!/usr/bin/env python3
 
 import sys
-from xen_analysis import settings, generic_analysis
+from xen_analysis import settings, generic_analysis, cppcheck_analysis
 from xen_analysis.generic_analysis import *
+from xen_analysis.cppcheck_analysis import *
+
+PhaseExceptions = (GetMakeVarsPhaseError, ParseTagPhaseError,
+                   CppcheckDepsPhaseError, BuildPhaseError,
+                   CppcheckReportPhaseError)
 
 
 def main(argv):
     ret_code = 0
     settings.parse_commandline(argv)
     try:
+        if settings.step_get_make_vars:
+            cppcheck_analysis.get_make_vars()
         if settings.step_parse_tags:
             generic_analysis.parse_xen_tags()
+        if settings.step_cppcheck_deps:
+            cppcheck_analysis.generate_cppcheck_deps()
         if settings.step_build_xen:
             generic_analysis.build_xen()
-    except (ParseTagPhaseError, BuildPhaseError) as e:
+        if settings.step_cppcheck_report:
+            cppcheck_analysis.generate_cppcheck_report()
+    except PhaseExceptions as e:
         print("ERROR: {}".format(e))
         if hasattr(e, "errorcode"):
             ret_code = e.errorcode
     finally:
         if settings.step_clean_analysis:
+            cppcheck_analysis.clean_analysis_artifacts()
             e = generic_analysis.clean_analysis_artifacts()
             if e:
                 print("ERROR: {}".format(e))
                 ret_code = 1
+        if settings.step_distclean_analysis:
+            cppcheck_analysis.clean_reports()
 
     sys.exit(ret_code)
 
diff --git a/xen/scripts/xen_analysis/cppcheck_analysis.py b/xen/scripts/xen_analysis/cppcheck_analysis.py
new file mode 100644
index 000000000000..0e952a169641
--- /dev/null
+++ b/xen/scripts/xen_analysis/cppcheck_analysis.py
@@ -0,0 +1,273 @@
+#!/usr/bin/env python3
+
+import os, re, shutil
+from . import settings, utils, cppcheck_report_utils
+
+class GetMakeVarsPhaseError(Exception):
+    pass
+
+class CppcheckDepsPhaseError(Exception):
+    pass
+
+class CppcheckReportPhaseError(Exception):
+    pass
+
+CPPCHECK_BUILD_DIR = "build-dir-cppcheck"
+CPPCHECK_HTMLREPORT_OUTDIR = "cppcheck-htmlreport"
+CPPCHECK_REPORT_OUTDIR = "cppcheck-report"
+cppcheck_extra_make_args = ""
+xen_cc = ""
+
+def get_make_vars():
+    global xen_cc
+    invoke_make = utils.invoke_command(
+            "make -C {} {} export-variable-CC"
+                .format(settings.xen_dir, settings.make_forward_args),
+            True, GetMakeVarsPhaseError,
+            "Error occured retrieving make vars:\n{}"
+        )
+
+    cc_var_regex = re.search('^CC=(.*)$', invoke_make, flags=re.M)
+    if cc_var_regex:
+        xen_cc = cc_var_regex.group(1)
+
+    if xen_cc == "":
+        raise GetMakeVarsPhaseError("CC variable not found in Xen make output")
+
+
+def __generate_suppression_list(out_file):
+    # The following lambda function will return a file if it contains lines with
+    # a comment containing "cppcheck-suppress[*]" on a single line.
+    grep_action = lambda x: utils.grep(x,
+                    r'^[ \t]*/\* cppcheck-suppress\[(.*)\] \*/$')
+    # Look for a list of .h files that matches the condition above
+    headers = utils.recursive_find_file(settings.xen_dir, r'.*\.h$',
+                                        grep_action)
+
+    try:
+        with open(out_file, "wt") as supplist_file:
+            # Add this rule to skip every finding in the autogenerated
+            # header for cppcheck
+            supplist_file.write("*:*generated/compiler-def.h\n")
+
+            for entry in headers:
+                filename = entry["file"]
+                try:
+                    with open(filename, "rt") as infile:
+                        header_content = infile.readlines()
+                except OSError as e:
+                    raise CppcheckDepsPhaseError(
+                            "Issue with reading file {}: {}"
+                                .format(filename, e)
+                          )
+                header_lines_len = len(header_content)
+                # line_num in entry will be header_content[line_num-1], here we
+                # are going to search the first line after line_num that have
+                # anything different from comments or empty line, because the
+                # in-code comment suppression is related to that line then.
+                for line_num in entry["matches"]:
+                    cppcheck_violation_id = ""
+                    tmp_line = line_num
+                    # look up to which line is referring the comment at
+                    # line_num (which would be header_content[tmp_line-1])
+                    comment_section = False
+                    while tmp_line < header_lines_len:
+                        line = header_content[tmp_line]
+                        # Matches a line with just optional spaces/tabs and the
+                        # start of a comment '/*'
+                        comment_line_starts = re.match('^[ \t]*/\*.*$', line)
+                        # Matches a line with text and the end of a comment '*/'
+                        comment_line_stops = re.match('^.*\*/$', line)
+                        if (not comment_section) and comment_line_starts:
+                            comment_section = True
+                        if (len(line.strip()) != 0) and (not comment_section):
+                            cppcheck_violation_id = entry["matches"][line_num][0]
+                            break
+                        if comment_section and comment_line_stops:
+                            comment_section = False
+                        tmp_line = tmp_line + 1
+
+                    if cppcheck_violation_id == "":
+                        raise CppcheckDepsPhaseError(
+                            "Error matching cppcheck comment in {} at line {}."
+                                .format(filename, line_num)
+                          )
+                    # Write [error id]:[filename]:[line]
+                    # tmp_line refers to the array index, so translated to the
+                    # file line (that begins with 1) it is tmp_line+1
+                    supplist_file.write(
+                            "{}:{}:{}\n".format(cppcheck_violation_id, filename,
+                                                (tmp_line + 1))
+                        )
+    except OSError as e:
+        raise CppcheckDepsPhaseError("Issue with writing file {}: {}"
+                                     .format(out_file, e))
+
+
+def generate_cppcheck_deps():
+    global cppcheck_extra_make_args
+
+    # Compile flags to pass to cppcheck:
+    # - include config.h as this is passed directly to the compiler.
+    # - define CPPCHECK as we use it to disable or enable some specific part of
+    #   the code to solve some cppcheck issues.
+    # - explicitely enable some cppcheck checks as we do not want to use "all"
+    #   which includes unusedFunction which gives wrong positives as we check
+    #   file per file.
+    # - Explicitly suppress warnings on compiler-def.h because cppcheck throws
+    #   an unmatchedSuppression due to the rule we put in suppression-list.txt
+    #   to skip every finding in the file.
+    #
+    # Compiler defines are in compiler-def.h which is included in config.h
+    #
+    cppcheck_flags="""
+--cppcheck-build-dir={}/{}
+ --max-ctu-depth=10
+ --enable=style,information,missingInclude
+ --template=\'{{file}}({{line}},{{column}}):{{id}}:{{severity}}:{{message}}\'
+ --relative-paths={}
+ --inline-suppr
+ --suppressions-list={}/suppression-list.txt
+ --suppress='unmatchedSuppression:*generated/compiler-def.h'
+ --include={}/include/xen/config.h
+ -DCPPCHECK
+""".format(settings.outdir, CPPCHECK_BUILD_DIR, settings.xen_dir,
+           settings.outdir, settings.xen_dir)
+
+    invoke_cppcheck = utils.invoke_command(
+            "{} --version".format(settings.cppcheck_binpath),
+            True, CppcheckDepsPhaseError,
+            "Error occured retrieving cppcheck version:\n{}\n\n{}"
+        )
+
+    version_regex = re.search('^Cppcheck (.*)$', invoke_cppcheck, flags=re.M)
+    # Currently, only cppcheck version >= 2.7 is supported, but version 2.8 is
+    # known to be broken, please refer to docs/misra/cppcheck.txt
+    if (not version_regex) or (not version_regex.group(1).startswith("2.7")):
+        raise CppcheckDepsPhaseError(
+                "Can't find cppcheck version or version is not 2.7"
+              )
+
+    # If misra option is selected, append misra addon and generate cppcheck
+    # files for misra analysis
+    if settings.cppcheck_misra:
+        cppcheck_flags = cppcheck_flags + " --addon=cppcheck-misra.json"
+
+        utils.invoke_command(
+            "{}/convert_misra_doc.py -i {}/docs/misra/rules.rst"
+            " -o {}/cppcheck-misra.txt -j {}/cppcheck-misra.json"
+                .format(settings.tools_dir, settings.repo_dir,
+                        settings.outdir, settings.outdir),
+            False, CppcheckDepsPhaseError,
+            "An error occured when running:\n{}"
+        )
+
+    # Generate compiler macros
+    os.makedirs("{}/include/generated".format(settings.outdir), exist_ok=True)
+    utils.invoke_command(
+            "{} -dM -E -o \"{}/include/generated/compiler-def.h\" - < /dev/null"
+                .format(xen_cc, settings.outdir),
+            False, CppcheckDepsPhaseError,
+            "An error occured when running:\n{}"
+        )
+
+    # Generate cppcheck suppression list
+    __generate_suppression_list(
+        "{}/suppression-list.txt".format(settings.outdir))
+
+    # Generate cppcheck build folder
+    os.makedirs("{}/{}".format(settings.outdir, CPPCHECK_BUILD_DIR),
+                exist_ok=True)
+
+    cppcheck_cc_flags = """--compiler={} --cppcheck-cmd={} {}
+ --cppcheck-plat={}/cppcheck-plat --ignore-path=tools/
+ --ignore-path=arch/x86/efi/check.c
+""".format(xen_cc, settings.cppcheck_binpath, cppcheck_flags,
+           settings.tools_dir)
+
+    if settings.cppcheck_html:
+        cppcheck_cc_flags = cppcheck_cc_flags + " --cppcheck-html"
+
+    # Generate the extra make argument to pass the cppcheck-cc.sh wrapper as CC
+    cppcheck_extra_make_args = "CC=\"{}/cppcheck-cc.sh {} --\"".format(
+                                        settings.tools_dir,
+                                        cppcheck_cc_flags
+                                    ).replace("\n", "")
+
+
+def generate_cppcheck_report():
+    # Prepare text report
+    # Look for a list of .cppcheck.txt files, those are the txt report
+    # fragments
+    fragments = utils.recursive_find_file(settings.outdir, r'.*\.cppcheck.txt$')
+    text_report_dir = "{}/{}".format(settings.outdir,
+                                        CPPCHECK_REPORT_OUTDIR)
+    report_filename = "{}/xen-cppcheck.txt".format(text_report_dir)
+    os.makedirs(text_report_dir, exist_ok=True)
+    try:
+        cppcheck_report_utils.cppcheck_merge_txt_fragments(fragments,
+                                                           report_filename,
+                                                           [settings.xen_dir])
+    except cppcheck_report_utils.CppcheckTXTReportError as e:
+        raise CppcheckReportPhaseError(e)
+
+    # If HTML output is requested
+    if settings.cppcheck_html:
+        # Look for a list of .cppcheck.xml files, those are the XML report
+        # fragments
+        fragments = utils.recursive_find_file(settings.outdir,
+                                              r'.*\.cppcheck.xml$')
+        html_report_dir = "{}/{}".format(settings.outdir,
+                                         CPPCHECK_HTMLREPORT_OUTDIR)
+        xml_filename = "{}/xen-cppcheck.xml".format(html_report_dir)
+        os.makedirs(html_report_dir, exist_ok=True)
+        try:
+            cppcheck_report_utils.cppcheck_merge_xml_fragments(fragments,
+                                                               xml_filename,
+                                                               settings.xen_dir,
+                                                               settings.outdir)
+        except cppcheck_report_utils.CppcheckHTMLReportError as e:
+            raise CppcheckReportPhaseError(e)
+        # Call cppcheck-htmlreport utility to generate the HTML output
+        utils.invoke_command(
+            "{} --file={} --source-dir={} --report-dir={}/html --title=Xen"
+                .format(settings.cppcheck_htmlreport_binpath, xml_filename,
+                        settings.xen_dir, html_report_dir),
+            False, CppcheckReportPhaseError,
+            "Error occured generating Cppcheck HTML report:\n{}"
+        )
+        # Strip src and obj path from *.html files
+        html_files = utils.recursive_find_file(html_report_dir, r'.*\.html$')
+        try:
+            cppcheck_report_utils.cppcheck_strip_path_html(html_files,
+                                                           (settings.xen_dir,
+                                                            settings.outdir))
+        except cppcheck_report_utils.CppcheckHTMLReportError as e:
+            raise CppcheckReportPhaseError(e)
+
+
+def clean_analysis_artifacts():
+    clean_files = ("suppression-list.txt", "cppcheck-misra.txt",
+                   "cppcheck-misra.json")
+    cppcheck_build_dir = "{}/{}".format(settings.outdir, CPPCHECK_BUILD_DIR)
+    if os.path.isdir(cppcheck_build_dir):
+        shutil.rmtree(cppcheck_build_dir)
+    artifact_files = utils.recursive_find_file(settings.outdir,
+                                r'.*\.(?:c\.json|cppcheck\.txt|cppcheck\.xml)$')
+    for file in clean_files:
+        file = "{}/{}".format(settings.outdir, file)
+        if os.path.isfile(file):
+            artifact_files.append(file)
+    for delfile in artifact_files:
+        os.remove(delfile)
+
+
+def clean_reports():
+    text_report_dir = "{}/{}".format(settings.outdir,
+                                     CPPCHECK_REPORT_OUTDIR)
+    html_report_dir = "{}/{}".format(settings.outdir,
+                                     CPPCHECK_HTMLREPORT_OUTDIR)
+    if os.path.isdir(text_report_dir):
+        shutil.rmtree(text_report_dir)
+    if os.path.isdir(html_report_dir):
+        shutil.rmtree(html_report_dir)
diff --git a/xen/scripts/xen_analysis/cppcheck_report_utils.py b/xen/scripts/xen_analysis/cppcheck_report_utils.py
new file mode 100644
index 000000000000..02440aefdfec
--- /dev/null
+++ b/xen/scripts/xen_analysis/cppcheck_report_utils.py
@@ -0,0 +1,130 @@
+#!/usr/bin/env python3
+
+import os
+from xml.etree import ElementTree
+
+class CppcheckHTMLReportError(Exception):
+    pass
+
+class CppcheckTXTReportError(Exception):
+    pass
+
+
+def __elements_equal(el1, el2):
+    if type(el1) != type(el2): return False
+
+    if el1.find('location') is None: return False
+    if el2.find('location') is None: return False
+
+    el1_location = str(el1.find('location').attrib)
+    el2_location = str(el2.find('location').attrib)
+
+    if el1_location != el2_location: return False
+
+    return True
+
+
+def __contain_element(new, lst):
+    for elem in lst:
+        if __elements_equal(new, elem):
+            return True
+    return False
+
+
+def __get_xml_root_file(filename):
+    try:
+        result_xml_root = ElementTree.parse(filename).getroot()
+    except ElementTree.ParseError as e:
+        raise CppcheckHTMLReportError(
+                    "XML parsing error in {}: {}".format(filename, e)
+                )
+    return result_xml_root
+
+
+def __sanitize_cppcheck_xml_path(xml_tree, src_path, obj_path):
+    # Some path are relative to the source tree but some others are generated
+    # in the obj tree, for cppcheck when using cppcheck-htmlreport we can pass
+    # only one source tree where the files will be fetched if relative path are
+    # found. So for every path that does not exists in src tree, we guess it
+    # comes from obj tree and we put explicit absolute path to it
+    error_item_root = xml_tree.findall("errors")[0]
+    for error_item in error_item_root:
+        for location_item in error_item.findall("location"):
+            path = location_item.attrib["file"]
+            new_obj_path = obj_path + "/" + path
+            new_src_path = src_path + "/" + path
+            if (path[0] != "/") and (not os.path.isfile(new_src_path)) \
+               and os.path.isfile(new_obj_path):
+                location_item.attrib["file"] = new_obj_path
+
+
+def cppcheck_merge_xml_fragments(fragments_list, out_xml_file, src_path,
+                                 obj_path):
+
+    result_xml = __get_xml_root_file(fragments_list[0])
+    insert_point = result_xml.findall("errors")[0]
+    for xml_file in fragments_list[1:]:
+        xml_root = __get_xml_root_file(xml_file)
+        curr_elem_list = list(insert_point)
+        new_elem_list = list(xml_root.findall("errors")[0])
+        for xml_error_elem in new_elem_list:
+            if not __contain_element(xml_error_elem, curr_elem_list):
+                insert_point.insert(1, xml_error_elem)
+
+    if result_xml is None:
+        return False
+
+    __sanitize_cppcheck_xml_path(result_xml, src_path, obj_path)
+
+    ElementTree.ElementTree(result_xml).write(out_xml_file)
+
+    return True
+
+
+def cppcheck_merge_txt_fragments(fragments_list, out_txt_file, strip_paths):
+    try:
+        with open(out_txt_file, "wt") as outfile:
+            # Using a set will remove automatically the duplicate lines
+            text_report_content = set()
+            for file in fragments_list:
+                try:
+                    with open(file, "rt") as infile:
+                        frag_lines = infile.readlines()
+                except OSError as e:
+                    raise CppcheckTXTReportError(
+                            "Issue with reading file {}: {}"
+                                .format(file, e)
+                            )
+                text_report_content.update(frag_lines)
+
+            # Back to modifiable list
+            text_report_content = list(text_report_content)
+            # Strip path from report lines
+            for i in list(range(0, len(text_report_content))):
+                for path in strip_paths:
+                    text_report_content[i] = text_report_content[i].replace(
+                                                                path + "/", "")
+            # Write the final text report
+            outfile.writelines(text_report_content)
+    except OSError as e:
+        raise CppcheckTXTReportError("Issue with writing file {}: {}"
+                                            .format(out_txt_file, e))
+
+
+def cppcheck_strip_path_html(html_files, strip_paths):
+    for file in html_files:
+        try:
+            with open(file, "rt") as infile:
+                html_lines = infile.readlines()
+        except OSError as e:
+            raise CppcheckHTMLReportError("Issue with reading file {}: {}"
+                                                            .format(file, e))
+        for i in list(range(0, len(html_lines))):
+            for path in strip_paths:
+                html_lines[i] = html_lines[i].replace(path + "/", "")
+        try:
+            with open(file, "wt") as outfile:
+                outfile.writelines(html_lines)
+        except OSError as e:
+            raise CppcheckHTMLReportError("Issue with writing file {}: {}"
+                                                            .format(file, e))
diff --git a/xen/scripts/xen_analysis/generic_analysis.py b/xen/scripts/xen_analysis/generic_analysis.py
index 0b470c4ecf7d..94122aebace0 100644
--- a/xen/scripts/xen_analysis/generic_analysis.py
+++ b/xen/scripts/xen_analysis/generic_analysis.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python3
 
-import os, subprocess
-from . import settings, utils, tag_database
+import os
+from . import settings, utils, tag_database, cppcheck_analysis
 
 class ParseTagPhaseError(Exception):
     pass
@@ -60,18 +60,13 @@ def parse_xen_tags():
 
 
 def build_xen():
-    try:
-        subprocess.run(
-            "make -C {} {} build"
-                .format(settings.xen_dir, settings.make_forward_args),
-            shell=True, check=True
+    utils.invoke_command(
+            "make -C {} {} {} build"
+                .format(settings.xen_dir, settings.make_forward_args,
+                        cppcheck_analysis.cppcheck_extra_make_args),
+            False, BuildPhaseError,
+            "Build error occured when running:\n{}"
         )
-    except (subprocess.CalledProcessError, subprocess.SubprocessError)  as e:
-        excp = BuildPhaseError(
-                "Build error occured when running:\n{}".format(e.cmd)
-            )
-        excp.errorcode = e.returncode if hasattr(e, 'returncode') else 1
-        raise excp
 
 
 def clean_analysis_artifacts():
diff --git a/xen/scripts/xen_analysis/settings.py b/xen/scripts/xen_analysis/settings.py
index 947dfa2d50af..bd1faafe79a3 100644
--- a/xen/scripts/xen_analysis/settings.py
+++ b/xen/scripts/xen_analysis/settings.py
@@ -7,14 +7,23 @@ xen_dir = os.path.realpath(module_dir + "/../..")
 repo_dir = os.path.realpath(xen_dir + "/..")
 tools_dir = os.path.realpath(xen_dir + "/tools")
 
+step_get_make_vars = False
 step_parse_tags = True
+step_cppcheck_deps = False
 step_build_xen = True
+step_cppcheck_report = False
 step_clean_analysis = True
+step_distclean_analysis = False
 
 target_build = False
 target_clean = False
+target_distclean = False
 
 analysis_tool = ""
+cppcheck_binpath = "cppcheck"
+cppcheck_html = False
+cppcheck_htmlreport_binpath = "cppcheck-htmlreport"
+cppcheck_misra = False
 make_forward_args = ""
 outdir = xen_dir
 
@@ -26,29 +35,47 @@ Usage: {} [OPTION] ... [-- [make arguments]]
 This script runs the analysis on the Xen codebase.
 
 Options:
-  --build-only    Run only the commands to build Xen with the optional make
-                  arguments passed to the script
-  --clean-only    Run only the commands to clean the analysis artifacts
-  -h, --help      Print this help
-  --no-build      Skip the build Xen phase
-  --no-clean      Don\'t clean the analysis artifacts on exit
-  --run-coverity  Run the analysis for the Coverity tool
-  --run-eclair    Run the analysis for the Eclair tool
+  --build-only          Run only the commands to build Xen with the optional
+                        make arguments passed to the script
+  --clean-only          Run only the commands to clean the analysis artifacts
+  --cppcheck-bin=       Path to the cppcheck binary (Default: {})
+  --cppcheck-html       Produce an additional HTML output report for Cppcheck
+  --cppcheck-html-bin=  Path to the cppcheck-html binary (Default: {})
+  --cppcheck-misra      Activate the Cppcheck MISRA analysis
+  --distclean           Clean analysis artifacts and reports
+  -h, --help            Print this help
+  --no-build            Skip the build Xen phase
+  --no-clean            Don\'t clean the analysis artifacts on exit
+  --run-coverity        Run the analysis for the Coverity tool
+  --run-cppcheck        Run the Cppcheck analysis tool on Xen
+  --run-eclair          Run the analysis for the Eclair tool
 """
-    print(msg.format(sys.argv[0]))
+    print(msg.format(sys.argv[0], cppcheck_binpath,
+                     cppcheck_htmlreport_binpath))
 
 
 def parse_commandline(argv):
     global analysis_tool
+    global cppcheck_binpath
+    global cppcheck_html
+    global cppcheck_htmlreport_binpath
+    global cppcheck_misra
     global make_forward_args
     global outdir
+    global step_get_make_vars
     global step_parse_tags
+    global step_cppcheck_deps
     global step_build_xen
+    global step_cppcheck_report
     global step_clean_analysis
+    global step_distclean_analysis
     global target_build
     global target_clean
+    global target_distclean
     forward_to_make = False
     for option in argv:
+        args_with_content_regex = re.match(r'^(--[a-z]+[a-z-]*)=(.*)$', option)
+
         if forward_to_make:
             # Intercept outdir
             outdir_regex = re.match("^O=(.*)$", option)
@@ -60,6 +87,18 @@ def parse_commandline(argv):
             target_build = True
         elif option == "--clean-only":
             target_clean = True
+        elif args_with_content_regex and \
+             args_with_content_regex.group(1) == "--cppcheck-bin":
+            cppcheck_binpath = args_with_content_regex.group(2)
+        elif option == "--cppcheck-html":
+            cppcheck_html = True
+        elif args_with_content_regex and \
+             args_with_content_regex.group(1) == "--cppcheck-html-bin":
+            cppcheck_htmlreport_binpath = args_with_content_regex.group(2)
+        elif option == "--cppcheck-misra":
+            cppcheck_misra = True
+        elif option == "--distclean":
+            target_distclean = True
         elif (option == "--help") or (option == "-h"):
             help()
             sys.exit(0)
@@ -69,6 +108,11 @@ def parse_commandline(argv):
             step_clean_analysis = False
         elif (option == "--run-coverity") or (option == "--run-eclair"):
             analysis_tool = option[6:]
+        elif (option == "--run-cppcheck"):
+            analysis_tool = "cppcheck"
+            step_get_make_vars = True
+            step_cppcheck_deps = True
+            step_cppcheck_report = True
         elif option == "--":
             forward_to_make = True
         else:
@@ -76,13 +120,23 @@ def parse_commandline(argv):
             help()
             sys.exit(1)
 
-    if target_build and target_clean:
-        print("--build-only is not compatible with --clean-only argument.")
+    if target_build and (target_clean or target_distclean):
+        print("--build-only is not compatible with --clean-only/--distclean "
+              "argument.")
         sys.exit(1)
 
+    if target_distclean:
+        # Implicit activation of clean target
+        target_clean = True
+
+        step_distclean_analysis = True
+
     if target_clean:
+        step_get_make_vars = False
         step_parse_tags = False
+        step_cppcheck_deps = False
         step_build_xen = False
+        step_cppcheck_report = False
         step_clean_analysis = True
         return
 
@@ -95,3 +149,4 @@ def parse_commandline(argv):
         step_parse_tags = False
         step_build_xen = True
         step_clean_analysis = False
+        step_cppcheck_report = False
diff --git a/xen/scripts/xen_analysis/utils.py b/xen/scripts/xen_analysis/utils.py
index a912d812c3df..1193e3f4631e 100644
--- a/xen/scripts/xen_analysis/utils.py
+++ b/xen/scripts/xen_analysis/utils.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python3
 
-import os, re
+import os, re, subprocess
 
 
 def grep(filepath, regex):
@@ -35,3 +35,22 @@ def recursive_find_file(path, filename_regex, action = None):
                         res.append(out)
 
     return res
+
+
+def invoke_command(command, needs_output, exeption_type = Exception,
+                   exeption_msg = ""):
+    try:
+        pipe_stdout = subprocess.PIPE if (needs_output == True) else None
+        output = subprocess.run(command, shell=True, check=True,
+                                stdout=pipe_stdout, stderr=subprocess.STDOUT,
+                                encoding='utf8')
+    except (subprocess.CalledProcessError, subprocess.SubprocessError) as e:
+        if needs_output == True:
+            exeption_msg = exeption_msg.format(e.cmd, output.stdout)
+        else:
+            exeption_msg = exeption_msg.format(e.cmd)
+        excp = exeption_type(exeption_msg)
+        excp.errorcode = e.returncode if hasattr(e, 'returncode') else 1
+        raise excp
+
+    return output.stdout
diff --git a/xen/tools/cppcheck-cc.sh b/xen/tools/cppcheck-cc.sh
new file mode 100755
index 000000000000..deb3a19918e9
--- /dev/null
+++ b/xen/tools/cppcheck-cc.sh
@@ -0,0 +1,223 @@
+#!/usr/bin/env bash
+
+set -e
+
+function help() {
+    cat <<EOF
+Usage: ${0} [OPTION] ... -- <compiler arguments>
+
+This script is a wrapper for cppcheck that enables it to analyse the files that
+are the target for the build, it is used in place of a selected compiler and the
+make process will run it on every file that needs to be built.
+All the arguments passed to the original compiler are forwarded to it without
+modification, furthermore, they are used to improve the cppcheck analysis.
+
+Options:
+  --compiler=       Use this compiler for the build
+  --cppcheck-cmd=   Command line for the cppcheck analysis.
+  --cppcheck-html   Prepare for cppcheck HTML output
+  --cppcheck-plat=  Path to the cppcheck platform folder
+  --ignore-path=    This script won't run cppcheck on the files having this
+                    path, the compiler will run anyway on them. This argument
+                    can be specified multiple times.
+  -h, --help        Print this help
+EOF
+}
+
+CC_FILE=""
+COMPILER=""
+CPPCHECK_HTML="n"
+CPPCHECK_PLAT_PATH=""
+CPPCHECK_TOOL=""
+CPPCHECK_TOOL_ARGS=""
+FORWARD_FLAGS=""
+IGNORE_PATH="n"
+IGNORE_PATH_LIST=""
+JDB_FILE=""
+OBJTREE_PATH=""
+
+# Variable used for arg parsing
+forward_to_cc="n"
+sm_tool_args="n"
+obj_arg_content="n"
+
+for OPTION in "$@"
+do
+    if [ "${forward_to_cc}" = "y" ]; then
+        if [[ ${OPTION} == *.c ]]
+        then
+            CC_FILE="${OPTION}"
+        elif [ "${OPTION}" = "-o" ]
+        then
+            # After -o there is the path to the obj file, flag it
+            obj_arg_content="y"
+        elif [ "${obj_arg_content}" = "y" ]
+        then
+            # This must be the path to the obj file, turn off flag and save path
+            OBJTREE_PATH="$(dirname "${OPTION}")"
+            obj_arg_content="n"
+        fi
+        # Forward any argument to the compiler
+        FORWARD_FLAGS="${FORWARD_FLAGS} ${OPTION}"
+        continue
+    fi
+    case ${OPTION} in
+        -h|--help)
+            help
+            exit 0
+            ;;
+        --compiler=*)
+            COMPILER="${OPTION#*=}"
+            sm_tool_args="n"
+            ;;
+        --cppcheck-cmd=*)
+            CPPCHECK_TOOL="${OPTION#*=}"
+            sm_tool_args="y"
+            ;;
+        --cppcheck-html)
+            CPPCHECK_HTML="y"
+            sm_tool_args="n"
+            ;;
+        --cppcheck-plat=*)
+            CPPCHECK_PLAT_PATH="${OPTION#*=}"
+            sm_tool_args="n"
+            ;;
+        --ignore-path=*)
+            IGNORE_PATH_LIST="${IGNORE_PATH_LIST} ${OPTION#*=}"
+            sm_tool_args="n"
+            ;;
+        --)
+            forward_to_cc="y"
+            sm_tool_args="n"
+            ;;
+        *)
+            if [ "${sm_tool_args}" = "y" ]; then
+                CPPCHECK_TOOL_ARGS="${CPPCHECK_TOOL_ARGS} ${OPTION}"
+            else
+                echo "Invalid option ${OPTION}"
+                exit 1
+            fi
+            ;;
+    esac
+done
+
+if [ "${COMPILER}" = "" ]
+then
+    echo "--compiler arg is mandatory."
+    exit 1
+fi
+
+function create_jcd() {
+    local line="${1}"
+    local arg_num=0
+    local same_line=0
+
+    {
+        echo -e -n "[\n"
+        echo -e -n "    {\n"
+        echo -e -n "        \"arguments\": [\n"
+
+        for arg in ${line}; do
+            # This code prevents to put comma in the last element of the list or
+            # on sequential lines that are going to be merged
+            if [ "${arg_num}" -ne 0 ] && [ "${same_line}" -eq 0 ]
+            then
+                echo -e -n ",\n"
+            fi
+            if [ "${same_line}" -ne 0 ]
+            then
+                echo -e -n "${arg}\""
+                same_line=0
+            elif [ "${arg}" = "-iquote" ] || [ "${arg}" = "-I" ]
+            then
+                # cppcheck doesn't understand -iquote, substitute with -I
+                echo -e -n "            \"-I"
+                same_line=1
+            else
+                echo -e -n "            \"${arg}\""
+            fi
+            arg_num=$(( arg_num + 1 ))
+        done
+        echo -e -n "\n"
+        echo -e -n "        ],\n"
+        echo -e -n "        \"directory\": \"$(pwd -P)\",\n"
+        echo -e -n "        \"file\": \"${CC_FILE}\"\n"
+        echo -e -n "    }\n"
+        echo -e -n "]\n"
+    } > "${JDB_FILE}"
+}
+
+
+# Execute compiler with forwarded flags
+# Shellcheck complains about missing quotes on FORWARD_FLAGS, but they can't be
+# used here
+# shellcheck disable=SC2086
+${COMPILER} ${FORWARD_FLAGS}
+
+if [ -n "${CC_FILE}" ];
+then
+    for path in ${IGNORE_PATH_LIST}
+    do
+        if [[ ${CC_FILE} == *${path}* ]]
+        then
+            IGNORE_PATH="y"
+            echo "${0}: ${CC_FILE} ignored by --ignore-path matching *${path}*"
+        fi
+    done
+    if [ "${IGNORE_PATH}" = "n" ]
+    then
+        JDB_FILE="${OBJTREE_PATH}/$(basename "${CC_FILE}".json)"
+
+        # Prepare the Json Compilation Database for the file
+        create_jcd "${COMPILER} ${FORWARD_FLAGS}"
+
+        out_file="${OBJTREE_PATH}/$(basename "${CC_FILE%.c}".cppcheck.txt)"
+
+        # Select the right target platform, ARCH is generated from Xen Makefile
+        case ${ARCH} in
+            arm64)
+                # arm64 has efi code compiled with -fshort-wchar
+                platform="${CPPCHECK_PLAT_PATH}/arm64-wchar_t2.xml"
+                ;;
+            arm32)
+                # arm32 has no efi code
+                platform="${CPPCHECK_PLAT_PATH}/arm32-wchar_t4.xml"
+                ;;
+            x86_64)
+                # x86_64 has efi code compiled with -fshort-wchar
+                platform="${CPPCHECK_PLAT_PATH}/x86_64-wchar_t2.xml"
+                ;;
+            *)
+                echo "ARCH: ${ARCH} not expected!"
+                exit 1
+                ;;
+        esac
+
+        if [ ! -f "${platform}" ]
+        then
+            echo "${platform} not found!"
+            exit 1
+        fi
+
+        # Shellcheck complains about missing quotes on CPPCHECK_TOOL_ARGS, but
+        # they can't be used here
+        # shellcheck disable=SC2086
+        ${CPPCHECK_TOOL} ${CPPCHECK_TOOL_ARGS} \
+            --project="${JDB_FILE}" \
+            --output-file="${out_file}" \
+            --platform="${platform}"
+
+        if [ "${CPPCHECK_HTML}" = "y" ]
+        then
+            # Shellcheck complains about missing quotes on CPPCHECK_TOOL_ARGS,
+            # but they can't be used here
+            # shellcheck disable=SC2086
+            ${CPPCHECK_TOOL} ${CPPCHECK_TOOL_ARGS} \
+                --project="${JDB_FILE}" \
+                --output-file="${out_file%.txt}.xml" \
+                --platform="${platform}" \
+                -q \
+                --xml
+        fi
+    fi
+fi
diff --git a/xen/tools/cppcheck-plat/arm32-wchar_t4.xml b/xen/tools/cppcheck-plat/arm32-wchar_t4.xml
new file mode 100644
index 000000000000..3aefa7ba5c98
--- /dev/null
+++ b/xen/tools/cppcheck-plat/arm32-wchar_t4.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<platform>
+  <char_bit>8</char_bit>
+  <default-sign>unsigned</default-sign>
+  <sizeof>
+    <short>2</short>
+    <int>4</int>
+    <long>4</long>
+    <long-long>8</long-long>
+    <float>4</float>
+    <double>8</double>
+    <long-double>8</long-double>
+    <pointer>4</pointer>
+    <size_t>4</size_t>
+    <wchar_t>4</wchar_t>
+  </sizeof>
+</platform>
diff --git a/xen/tools/cppcheck-plat/arm64-wchar_t2.xml b/xen/tools/cppcheck-plat/arm64-wchar_t2.xml
new file mode 100644
index 000000000000..b2dc2fb2cc50
--- /dev/null
+++ b/xen/tools/cppcheck-plat/arm64-wchar_t2.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<platform>
+  <char_bit>8</char_bit>
+  <default-sign>unsigned</default-sign>
+  <sizeof>
+    <short>2</short>
+    <int>4</int>
+    <long>8</long>
+    <long-long>8</long-long>
+    <float>4</float>
+    <double>8</double>
+    <long-double>16</long-double>
+    <pointer>8</pointer>
+    <size_t>8</size_t>
+    <wchar_t>2</wchar_t>
+  </sizeof>
+</platform>
diff --git a/xen/tools/cppcheck-plat/x86_64-wchar_t2.xml b/xen/tools/cppcheck-plat/x86_64-wchar_t2.xml
new file mode 100644
index 000000000000..0b3bb6e0fb8e
--- /dev/null
+++ b/xen/tools/cppcheck-plat/x86_64-wchar_t2.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<platform>
+  <char_bit>8</char_bit>
+  <default-sign>signed</default-sign>
+  <sizeof>
+    <short>2</short>
+    <int>4</int>
+    <long>8</long>
+    <long-long>8</long-long>
+    <float>4</float>
+    <double>8</double>
+    <long-double>16</long-double>
+    <pointer>8</pointer>
+    <size_t>8</size_t>
+    <wchar_t>2</wchar_t>
+  </sizeof>
+</platform>
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:41:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:41:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453954.711633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Dal-0004bk-J2; Mon, 05 Dec 2022 15:41:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453954.711633; Mon, 05 Dec 2022 15:41:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Dal-0004bL-ED; Mon, 05 Dec 2022 15:41:15 +0000
Received: by outflank-mailman (input) for mailman id 453954;
 Mon, 05 Dec 2022 15:41:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eIMq=4D=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p2Daj-0003Gt-9q
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:41:13 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 3e23b94c-74b3-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 16:41:11 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5231B1515;
 Mon,  5 Dec 2022 07:41:17 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 67C233F73D;
 Mon,  5 Dec 2022 07:41:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e23b94c-74b3-11ed-8fd2-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 5/5] xen: Justify linker script defined symbols in include/xen/kernel.h
Date: Mon,  5 Dec 2022 15:40:52 +0000
Message-Id: <20221205154052.14191-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221205154052.14191-1-luca.fancellu@arm.com>
References: <20221205154052.14191-1-luca.fancellu@arm.com>

Eclair and Coverity found violation of the MISRA rule 8.6 for the
symbols _start, _end, start, _stext, _etext, _srodata, _erodata,
_sinittext, _einittext which are declared in
xen/include/xen/kernel.h.
All those symbols are defined by the liker script so we can deviate
from the rule 8.6 for these cases.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v2 changes:
 - add R-by and Ack-by (Stefano, Jan)
---
---
 docs/misra/safe.json     | 9 +++++++++
 xen/include/xen/kernel.h | 4 ++++
 2 files changed, 13 insertions(+)

diff --git a/docs/misra/safe.json b/docs/misra/safe.json
index e079d3038120..e3c8a1d8eb36 100644
--- a/docs/misra/safe.json
+++ b/docs/misra/safe.json
@@ -3,6 +3,15 @@
     "content": [
         {
             "id": "SAF-0-safe",
+            "analyser": {
+                "eclair": "MC3R1.R8.6",
+                "coverity": "misra_c_2012_rule_8_6_violation"
+            },
+            "name": "Rule 8.6: linker script defined symbols",
+            "text": "It is safe to declare this symbol because it is defined in the linker script."
+        },
+        {
+            "id": "SAF-1-safe",
             "analyser": {},
             "name": "Sentinel",
             "text": "Next ID to be used"
diff --git a/xen/include/xen/kernel.h b/xen/include/xen/kernel.h
index 8cd142032d3b..f1a7713784fc 100644
--- a/xen/include/xen/kernel.h
+++ b/xen/include/xen/kernel.h
@@ -65,24 +65,28 @@
 	1;                                      \
 })
 
+/* SAF-0-safe */
 extern char _start[], _end[], start[];
 #define is_kernel(p) ({                         \
     char *__p = (char *)(unsigned long)(p);     \
     (__p >= _start) && (__p < _end);            \
 })
 
+/* SAF-0-safe */
 extern char _stext[], _etext[];
 #define is_kernel_text(p) ({                    \
     char *__p = (char *)(unsigned long)(p);     \
     (__p >= _stext) && (__p < _etext);          \
 })
 
+/* SAF-0-safe */
 extern const char _srodata[], _erodata[];
 #define is_kernel_rodata(p) ({                  \
     const char *__p = (const char *)(unsigned long)(p);     \
     (__p >= _srodata) && (__p < _erodata);      \
 })
 
+/* SAF-0-safe */
 extern char _sinittext[], _einittext[];
 #define is_kernel_inittext(p) ({                \
     char *__p = (char *)(unsigned long)(p);     \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:47:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:47:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.453996.711645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Dgy-00074Y-B9; Mon, 05 Dec 2022 15:47:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 453996.711645; Mon, 05 Dec 2022 15:47:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Dgy-00074R-75; Mon, 05 Dec 2022 15:47:40 +0000
Received: by outflank-mailman (input) for mailman id 453996;
 Mon, 05 Dec 2022 15:47:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ZybC=4D=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p2Dgw-00074L-Vs
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:47:39 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 24c6ff0f-74b4-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 16:47:38 +0100 (CET)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 942BE1F747;
 Mon,  5 Dec 2022 15:47:37 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id EEDB613326;
 Mon,  5 Dec 2022 15:47:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id b2+XOJgSjmMjPwAAGKfGzw
 (envelope-from <jgross@suse.com>); Mon, 05 Dec 2022 15:47:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24c6ff0f-74b4-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670255257; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=rpUTCoGuWWbuZm6F5Ym2L8Ib8whEx66qUw7I1eZbSC4=;
	b=p0WgwoQGsmVBdSnsmcU7qj3iqHPp2vcjDmy0ieFW25b78c2G2eyvRvh6DxeHDSHPZ/NSq2
	iM339T3C1jZvvCy9Zbw4VOpRsT8ZMtOXesFizWdYNSop9ZbHmNH7qgsV5Hg064xTeS7tpT
	YUz2RkLvxH+zUsGsT1lHHIEDwFpHPwE=
Message-ID: <395093cc-c0a0-0ec4-93b9-29dbf1158f84@suse.com>
Date: Mon, 5 Dec 2022 16:47:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH 4/6] xen: make remove callback of xen driver void returned
Content-Language: en-US
To: Dawei Li <set_pte_at@outlook.com>, gregkh@linuxfoundation.org
Cc: johannes@sipsolutions.net, robert.jarzmik@free.fr,
 sstabellini@kernel.org, oleksandr_tyshchenko@epam.com, roger.pau@citrix.com,
 srinivas.kandagatla@linaro.org, bgoswami@quicinc.com, mpe@ellerman.id.au,
 npiggin@gmail.com, christophe.leroy@csgroup.eu, kys@microsoft.com,
 haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
 alsa-devel@alsa-project.org, linuxppc-dev@lists.ozlabs.org,
 xen-devel@lists.xenproject.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org
References: <20221205153644.60909-1-set_pte_at@outlook.com>
 <TYCP286MB232333CB411691110A8B9D96CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <TYCP286MB232333CB411691110A8B9D96CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------PybxEFi1PpbX5Zgh6BVCbvw4"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------PybxEFi1PpbX5Zgh6BVCbvw4
Content-Type: multipart/mixed; boundary="------------qySa0HM0bP3H6XGxVri7vr4X";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Dawei Li <set_pte_at@outlook.com>, gregkh@linuxfoundation.org
Cc: johannes@sipsolutions.net, robert.jarzmik@free.fr,
 sstabellini@kernel.org, oleksandr_tyshchenko@epam.com, roger.pau@citrix.com,
 srinivas.kandagatla@linaro.org, bgoswami@quicinc.com, mpe@ellerman.id.au,
 npiggin@gmail.com, christophe.leroy@csgroup.eu, kys@microsoft.com,
 haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
 alsa-devel@alsa-project.org, linuxppc-dev@lists.ozlabs.org,
 xen-devel@lists.xenproject.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org
Message-ID: <395093cc-c0a0-0ec4-93b9-29dbf1158f84@suse.com>
Subject: Re: [PATCH 4/6] xen: make remove callback of xen driver void returned
References: <20221205153644.60909-1-set_pte_at@outlook.com>
 <TYCP286MB232333CB411691110A8B9D96CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
In-Reply-To: <TYCP286MB232333CB411691110A8B9D96CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>

--------------qySa0HM0bP3H6XGxVri7vr4X
Content-Type: multipart/mixed; boundary="------------epwI0maSCjDSX0EpgexZDRFe"

--------------epwI0maSCjDSX0EpgexZDRFe
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDUuMTIuMjIgMTY6MzYsIERhd2VpIExpIHdyb3RlOg0KPiBTaW5jZSBjb21taXQgZmM3
YTYyMDlkNTcxICgiYnVzOiBNYWtlIHJlbW92ZSBjYWxsYmFjayByZXR1cm4NCj4gdm9pZCIp
IGZvcmNlcyBidXNfdHlwZTo6cmVtb3ZlIGJlIHZvaWQtcmV0dXJuZWQsIGl0IGRvZXNuJ3QN
Cj4gbWFrZSBtdWNoIHNlbnNlIGZvciBhbnkgYnVzIGJhc2VkIGRyaXZlciBpbXBsZW1lbnRp
bmcgcmVtb3ZlDQo+IGNhbGxiYWxrIHRvIHJldHVybiBub24tdm9pZCB0byBpdHMgY2FsbGVy
Lg0KPiANCj4gVGhpcyBjaGFuZ2UgaXMgZm9yIHhlbiBidXMgYmFzZWQgZHJpdmVycy4NCj4g
DQo+IFNpZ25lZC1vZmYtYnk6IERhd2VpIExpIDxzZXRfcHRlX2F0QG91dGxvb2suY29tPg0K
DQpBY2tlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJn
ZW4NCg0K
--------------epwI0maSCjDSX0EpgexZDRFe
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------epwI0maSCjDSX0EpgexZDRFe--

--------------qySa0HM0bP3H6XGxVri7vr4X--

--------------PybxEFi1PpbX5Zgh6BVCbvw4
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOOEpgFAwAAAAAACgkQsN6d1ii/Ey/F
Fwf5Ac2MnBFVrTK+beDa4qm/z7lWPrYQfzeUwNi/0mEkZqR+b5AmDYuZf1nXBqHnG62xU/8PHOws
azH+TbKjw9WaRvrHQq0fJ8IFA5n7N8wIElW04qiCprcjOaCM2YJU8LseTCa9T6qfEaKeXwminoTh
+ppNrpvutz6EneAMGCUHKcB/C6ruGXxEX8hY4mzwNm1Z/6/gMFsx4qs/K8NxLHCmnB3r1rF3XgP0
LAzmcRx+dOhnFUwojBeMxOjhLNJImYtpZlvrkJFBeLY4R5lsyatGYl1o+pJHvpSB+JePMm8X8BZu
c/35o0t1kOj+Z2m53g34agFwUeZFi3S3LDWfPP9uIg==
=o/xs
-----END PGP SIGNATURE-----

--------------PybxEFi1PpbX5Zgh6BVCbvw4--


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 15:58:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 15:58:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454020.711655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DrD-0000kN-7y; Mon, 05 Dec 2022 15:58:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454020.711655; Mon, 05 Dec 2022 15:58:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DrD-0000kG-5L; Mon, 05 Dec 2022 15:58:15 +0000
Received: by outflank-mailman (input) for mailman id 454020;
 Mon, 05 Dec 2022 15:58:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2Zgi=4D=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2DrB-0000k8-TY
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 15:58:14 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20605.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f2697e8-74b5-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 16:58:13 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6776.eurprd04.prod.outlook.com (2603:10a6:20b:103::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Mon, 5 Dec
 2022 15:58:11 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 15:58:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f2697e8-74b5-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D+63MW8Wj94ip+a7FREeN1lsGNL9LxEVqzMVznn7LMdxvpE0C2rOe/RD0YOOo/gKfrq3lUCvNSh6voioDI0k2MCxxBozqZAQXcRglmdhk8aQnOhMfarRHC4fy7v+MGZNCjpCg9cok7fk6DUbczN4NglmBje466jls1i4PH+czpH4TkA3DLnrYpPhLrfYfJBwuokAzsk3I295NXYak4W0sDht+0cIl8Tq6XUI/wPKLFJJr97Uhxppoqcz4+bm48CDbB+WYK9y33dmkXMm7UfiC4nbDoyQS3IgG5RG4jREh9Ym0bCFFWhE8pXazXgxsibdT02CRJ7hzcTCOj3v76L9Aw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8E3Qu59BIRxRZxqx0qoCOp1o66VJrPenfE5gU8zuxvs=;
 b=aU3WUMkoBUUzfye43Tdhqvq1R8vs8R71akCmV36Ek8NtCXdSYrCGGJ3QtwfbA+SkDD99E8nEeHlWqpK/oreE8iVH+a2TDyiXSJGDiQTVVqPQr1qu4F+3V5z2jhgMZBfVXtbOq9Xx3csagbMZaFCJo2fz3pBYCghx5Ctjb0292clDPged3bBNwPwpFPr/fBkiYhmsazenXvohKPZGn3TZyKpFoIyJE63ZyZ8+TnkkItdhXTP4IZWe1NNZpEoTGcXKpgChIVINdg3H8TX4gz1YK6YFtw4Hx4qsfk16BNG6ouL8I/4fMo4mdrCGJZzAyX6RbOdu7Uvz89mo00a0cWLA4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8E3Qu59BIRxRZxqx0qoCOp1o66VJrPenfE5gU8zuxvs=;
 b=Zw3AZilOiqzQOVLieCBRIjZFUWcrSVfhqay4paZYJ5oy+4DcX3xc66rcYk6PWjMj6sTeLOKvOl9kzrBa1OQAsftuakjE18q7/2xkiFdHJ+ChatL0fCbicHYfKzRYfsxDLR8ft7KLuza4wVIjCapc6l4xF61RGshfY+h75zsDQFVXzOfmyfau574UZLsS6aRVVjj3MjmCLMsO/fXz+8E0LQSR/w/iL9Twdr5ALE36TOQH2wu0A+Pf/XpGHvsuiQyfFr/k8cjjwNm7ignpiMVVx5Towbef9pDbuJr/uPLmH2q3bgQPkyEHSpaaI5XScBumQyNoCyx2csa1EPLRRJl+rw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <45f4cef6-99ba-a37c-3e57-27b270d16f6f@suse.com>
Date: Mon, 5 Dec 2022 16:58:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2 3/5] xen/Makefile: remove Cppcheck invocation from the
 Makefile
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221205154052.14191-1-luca.fancellu@arm.com>
 <20221205154052.14191-4-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221205154052.14191-4-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0202.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB6776:EE_
X-MS-Office365-Filtering-Correlation-Id: 96a9dc7e-c887-4f68-b148-08dad6d9827b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	U2rs+vQVz59cl4t/+ZZrVSu/GRuiV02PfBnkGAZ2xbXLvTT54qW9uSrfxl5I46dxQGDXzEjiERDbuRVKc3iHlwJwz+whfrGEtc/UGl/UrS+w9n3EdHySryjBbBrUwpGMqZhu1GCquAv+vZcDiLbcN8jwBfBWicst/Fy30q6Qo9eO4Me9SzAZcZLhLxS0JfA8nNvUJuWjSVDrL/M+GiLBKxdZYHuB/V6sMZqOu3TXXDSeu2dCETem6c7icUkNJynsou5gLaV699FG9BTGDHp2ew/8kp7jw8++xIw5Pe9psRAhyNjfH9W97MGpfDMIfLbx4XFLnNAHeTAetJLH1RRlbOKj2SxBVue71jcb0lRGVfHQSip4umSdOQEHb4BCALbw0xeOxwhj419IEPLhPagpCtjxVofCUG/cXJ6zyTHm/glsxJcD9E3+Uc1dR6G9+Xn4xPmwRc1RSlITLsyfcYO7/nH+/ICjeY4yeQ8hB4PAIEO4IXqCbaaQSVVZaMy6FAzZA6LM8epSE9AvsYyxoB/AF9MVSOqTHHztaUWouQx8944LFyTfMm07Py1pjMeIsoKHl543TsQih/1HN2x51/xPtJGSsw5YFhTZUeqirOEeM4zKlKtmILMUVYyoat3zrlFOT6lT9ffsZTB5COcjlQ+cF9yEjHcDwcNSHKAtrrlwRDawiFIs5GClAtFXjUZLBUDEi2Av22nSyIpfr9VT6cnf+fFSh4dxXFkLzgIndDry6o4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(366004)(39850400004)(136003)(376002)(396003)(451199015)(31686004)(86362001)(31696002)(6486002)(6506007)(53546011)(478600001)(36756003)(26005)(2616005)(186003)(38100700002)(8676002)(4326008)(41300700001)(6512007)(5660300002)(8936002)(4744005)(66946007)(66476007)(66556008)(54906003)(2906002)(6916009)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YWxuWWJqNUVXN0NmZVp0dE92RFRhcVJrOEkvV0g0RWkwaUk3WEdSeFl3c1Q4?=
 =?utf-8?B?Uks1elVJeWJqQXBxa1NUdG5sSEZpL3N2UEZXY0gzZ1BDRzNib2FjOVkyZ0V0?=
 =?utf-8?B?OURLdnVHcE15N1dOWkdWUzhkdjk3UHJMTzN6MzNvczhnVnI0bTVRTUZlOG94?=
 =?utf-8?B?ZnFEVWYyYUlvcEcyZ0FJeWEwVjdJZXhqRnVUSVVQbXhXZUgzNzF3d3U1NzF0?=
 =?utf-8?B?SVBhcDFtMEpLZElzSVRBcmpzOFd3cmxvVk1EL3h4MGtCUTZWUlBRcW0ySi9U?=
 =?utf-8?B?TFVHb3ZTRVZ4NVlubVVrUHhmK0JXOEY3dzBLRDUyZitvTnpTZEEvbGtvZDJh?=
 =?utf-8?B?OVdnV21ITVhqanNwbG1hQlN3cm1BOW11NFNhRFhGYVg2WDVoWTFrUEpJbUgy?=
 =?utf-8?B?bGVFaDFQaWRpRTdlRnhZaHdpdHBJWXBzRVBpTHpJV0FTdTJpUEpPeFNNV2g5?=
 =?utf-8?B?M1RZVlU5U21Ic2xvU1dlNEFjTDI5NExDLzB6YWxJY2crMWgwWVhVRFpJaGhv?=
 =?utf-8?B?Sm03eHpCbmcvRGVVZnlNK0FGeVhZWWRBTnh1NnhIMzBBbnJrMXNhUTRCTFpV?=
 =?utf-8?B?NkpKSWZZTFVGTVpGNjJUbktUKzE5WU15R05JQWg4emptT05jU2lPdkpUR3pl?=
 =?utf-8?B?dUlJendJYzNlSGVoQllLNURPRFoxaDFBUU10VjJaMGlrWnRURVU1Rno1b0w5?=
 =?utf-8?B?RFlMMVdRV0VRZzNpZHZZTHBTSkhoTXdQUFl5RVM4WllFWnBFSVd1K2NtSDA0?=
 =?utf-8?B?SGsyWGQ0Q3RSdWtCY3AzNGpkVHNadVhtNDRuSWR1c2ExQzJaVm5ReFBrYWlv?=
 =?utf-8?B?b09HQnMrSUZ1L29KNEtCZ3gxQVhvTzBncUVucTRrVVVBbktqN1Rhc2s0QSt3?=
 =?utf-8?B?NDF5TVcybWtYUUMyelRnSURTR1hlQ0poYVMvRk10b2tkK2V6cE5hRDIzNlMx?=
 =?utf-8?B?bEIxakpod0ozOWw3SEY5OWwrbmVGaHVQQkt0WUtobU1jeHJrVWFZZXV3SzBO?=
 =?utf-8?B?ekNlSGU1UU5NUyttN1N1dmFUWDQzRUs0ZWV6L1c4RnBPVHdJa0dDQXFZRjRx?=
 =?utf-8?B?dERXcVpnK3JBamZ1a3k1WEQ3SUpBSGdMdHk2ZmFYcitOODF1RndGWWxZaW9H?=
 =?utf-8?B?ODJhWlFKeHpyUE9TU2NuOXVYRmFGRjVleFpNY0puaEhXd2xxR3orVVhXS3Zu?=
 =?utf-8?B?WHNnZkY2OUhjYXhncjlVOG5lcm80MVJMZG9jdzlFMlkyWnV2NHVHVndxNXYv?=
 =?utf-8?B?U2lWUlRpOWFkZTJxR0NxKzlSU3prd2NDbXUzMm81L2ZSOHJTMnp5RWl2L1M0?=
 =?utf-8?B?aWJHL1ZVZ243b2o4WFY0ditlT3RaNnRrMUc2YldrRFFXaTUwMlVueVliVW1S?=
 =?utf-8?B?ajArdlhIVUwrdEJwQlgzbllPeTFMTG9aaTZzTGMxa1VqSzBHSXVXbis1Zys5?=
 =?utf-8?B?bEtWdTdyVmV5S3lpeGpGak10RXJvVzJ5YWZncDhxZXhqejU0WmVOTDhRdkRu?=
 =?utf-8?B?OHU1THVSVmMvL28zVDE2cDhYS1ZMWVpjTDJManB6SDJkWEVBcHFLdTJLOERa?=
 =?utf-8?B?UkVvQ3pBQzJrSlJIV2FMYWNGZS9LN20xRDdOZHIxUjBZNlBBaERESStMZVlX?=
 =?utf-8?B?ZzBpVW1RSDVldWpXQm9aa3dPa1RnOGQ2cjFwNkp3OEZIOG1ZUTVBbXZSOEIz?=
 =?utf-8?B?RDYvbEs0dzFNeDdCTGduL2JGdEIxRDNoYmFmMlEwQlduQ0dWd3Q4aTVKTFhM?=
 =?utf-8?B?ZWFsMHhsT3htMFovaGJ2TmNISWszRUFiK3d1bnBRMzJtRXAzUzgwTHNrd1g5?=
 =?utf-8?B?aU85dEpQM1AyZlltT0NGekhMQ2NhNXZpNzBGejAwZzI3VXZxeHA2QXdqc1c0?=
 =?utf-8?B?aG83dVM1ME0xTUpRZTR5Ymticlo5Z3ZlVHJQNHRrVlJrS1ZqUXN3MkFVZ3Ry?=
 =?utf-8?B?dTJqUEM2QTJoYXJiNlJnM2JaUVd3cmNZSWpRSFpFZ2lxcFBUM0xIcDNTak5i?=
 =?utf-8?B?bHA5M3dBTGEzUmlsSiswTXZxVlhhQk1haVV4NmE3VG9qakJucDVSTG92MGQx?=
 =?utf-8?B?S09RaVBCWkhjUEx1T3F1Z3YrbE8rSE5zRTA1VnFDWWJmaXVhWWNuRXNreVhl?=
 =?utf-8?Q?ODMFNjf+crVWOh2u4QK5YA5Ra?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 96a9dc7e-c887-4f68-b148-08dad6d9827b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 15:58:11.2519
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xYC7sw+d1pzJaGIjxKpj10P6vgFRJi7K4tvmyjcU+YtmufujCt4r2T/hzbJF862asIOcP1FoU4iM653Ln25SAA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6776

On 05.12.2022 16:40, Luca Fancellu wrote:
> The script xen-analysis.py is going to be used for the analysis with
> cppcheck, so remove the rules from the Makefile
> 
> The python script xen/tools/merge_cppcheck_reports.py was used by the
> makefile rules, but its functionality is integrated in the
> xen-analysis.py script now, so it can be removed.
> 
> Remove some entry from the .gitignore related to Cppcheck invocation
> from Makefile
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

Is this a proper revert of one or more earlier patches? If so, you want
to say so, for being potentially relevant for (at least) review purposes.
If not, it would also help saying so to clarify what is being kept.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 16:01:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 16:01:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454025.711667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Dts-0002ic-N8; Mon, 05 Dec 2022 16:01:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454025.711667; Mon, 05 Dec 2022 16:01:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Dts-0002iV-K4; Mon, 05 Dec 2022 16:01:00 +0000
Received: by outflank-mailman (input) for mailman id 454025;
 Mon, 05 Dec 2022 16:00:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/AS2=4D=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1p2Dtr-0002iP-8j
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 16:00:59 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 015a57bb-74b6-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 17:00:57 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id BC54BB81144;
 Mon,  5 Dec 2022 16:00:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D945AC433B5;
 Mon,  5 Dec 2022 16:00:54 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 015a57bb-74b6-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1670256055;
	bh=trNrKrfKjsfA/iJHoM4RlcQMgCcsX15/LCiL4T/xuJ0=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=EXkPiPH9jpu2QDhpC1k592OE6zoYsvZ6Cm6TtkRBZj9flj8DPe/+/ck94MscE/Hy+
	 PVn+ynbqHg6LhzriIAOKH+7f1fPldEuUHPztcK+v0tQmwdicxIaCw7If8OtrPmpjh+
	 OYAzWhpAg9ucHwpcZ/6qG8GRvR0WojmPy76I8FYg=
Date: Mon, 5 Dec 2022 17:00:52 +0100
From: Greg KH <gregkh@linuxfoundation.org>
To: Dawei Li <set_pte_at@outlook.com>
Cc: johannes@sipsolutions.net, robert.jarzmik@free.fr, jgross@suse.com,
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
	roger.pau@citrix.com, srinivas.kandagatla@linaro.org,
	bgoswami@quicinc.com, mpe@ellerman.id.au, npiggin@gmail.com,
	christophe.leroy@csgroup.eu, kys@microsoft.com,
	haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
	alsa-devel@alsa-project.org, linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/6] Make remove() of any bus based driver void returned
Message-ID: <Y44VtN/rmjIU6sDC@kroah.com>
References: <TYCP286MB23234ABCCF40E3FC42FD09A4CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <TYCP286MB23234ABCCF40E3FC42FD09A4CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>

On Mon, Dec 05, 2022 at 11:36:38PM +0800, Dawei Li wrote:
> For bus-based driver, device removal is implemented as:
> device_remove() => bus->remove() => driver->remove()
> 
> Driver core needs no feedback from bus driver about the result of
> remove callback. In which case, commit fc7a6209d571 ("bus: Make
> remove callback return void") forces bus_type::remove be void-returned.
> 
> Now we have the situation that both 1st & 2nd part of calling chain
> are void returned, so it does not make much sense for the last one
> (driver->remove) to return non-void to its caller.
> 
> So the basic idea behind this patchset is making remove() callback of
> any bus-based driver to be void returned.
> 
> This patchset includes changes for drivers below:
> 1. hyperv
> 2. macio
> 3. apr
> 4. xen
> 5. ac87
> 6. soundbus

Then that should be 6 different patchsets going to 6 different
subsystems.  No need to make this seems like a unified set of patches at
all.

> Q: Why not platform drivers?
> A: Too many of them.(maybe 4K+)

That will have to be done eventually, right?

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 16:01:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 16:01:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454028.711678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DuM-00039Q-0J; Mon, 05 Dec 2022 16:01:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454028.711678; Mon, 05 Dec 2022 16:01:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DuL-00039J-Tg; Mon, 05 Dec 2022 16:01:29 +0000
Received: by outflank-mailman (input) for mailman id 454028;
 Mon, 05 Dec 2022 16:01:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2Zgi=4D=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2DuK-0002iP-IN
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 16:01:28 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on20623.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1329eb1b-74b6-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 17:01:27 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB9194.eurprd04.prod.outlook.com (2603:10a6:10:2f9::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Mon, 5 Dec
 2022 16:01:25 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 16:01:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1329eb1b-74b6-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=a33q+s502qMVPbgmBBw+0ne+8aIKzVbiGELxs0a7t3a3ok7KQfnvQTsxsDHL2VX/Ya6Y14NYPabBtywKNrlMJMIeoHZXwyjGnorjNUvNNXFH/DG8nfvfF/BVNYw3DbdQ7ngFye0Mt5ZdrtBlnuVC4/ONDYHyAH5aqR/v3LlZ74asgShelsZ+IWidyUqeWxmsIYaIfZ2PYAgTzOj/WYP/ewv40EjlatNLMb5mF/sPRomJdUALcoWz9wrUDY6V48Ced2LAp83hVoUFz55QyMLr2z/lkvYgCi4ijME7tUscsZPalpLzj7FL1FDi+4OmQAt87iNYB2CmF++lqb/3+fGQIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6Wx0EcCbIXoLY8ukf46jNQxdvux6JH0MbT37A0aXCnI=;
 b=eyItqa0rn2Imo91KhgZxC/JEli3X7TCa3gBUg2TnwnyiyR0Hq+op72dIgmCf2kyiekztAr9eVi+aYDYr1aPIZyCetjEl41dIkTfmIM/KtJEbHglrpTcCirruuTQnouBN1fyEQz2e9psQioqPlo9yT0c2ibPcvqOxv2USkCS3mG7fnH1u+1KKc8K4oAsH5hkFTmV26qvdw2LXoyFA8EEbORj5hoe+et2SS8l0NASJfcjA/W5Qjgb1hiU5jsXh8Q/vHAHTw8MS7GXRWuiIzIfa+98FqXX57NT4CmWfeIlbKF+Zi4EImTGaYFr788OfxQC7ipWIIJstS0UHzNLR1zvDfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6Wx0EcCbIXoLY8ukf46jNQxdvux6JH0MbT37A0aXCnI=;
 b=vsV3CXshXoa/B14WOepu3/Xh6WQ4ABNNV8Wjqh2IZElJbaThCfwb0fKO8t8KXdIjW+TuZuUHN8sSGjHmYrkfDqt6AB5R8IG2mn9QWC7Rt+4v9fxctZOTEOPkXGTpBlZZd8KdSdJtfpAH6Nr20z7CrYP22Kv9eL2juNqiW7RjGi1Olg7o+DKzfIv6fvhUcqP3C/MJKn1fJaaj1Dvc/NFl7lln0e4elHQsx3C99GH2fODmkqYny+GPoMYDdSU7iQQC5iKcIZtFzH2STR4YkN6gO2eQxTK5P27bG2hEhyxGJBC2QjqS5a0YvebSJUBZ9QJB4BdHnRvoIAPMzB+2p0cEKQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <90340815-41e4-d1cd-b3b4-f704b94e3467@suse.com>
Date: Mon, 5 Dec 2022 17:01:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 4/5] multiboot2: parse console= option when setting GOP
 mode
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: marmarek@invisiblethingslab.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Daniel Kiper <daniel.kiper@oracle.com>
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-5-roger.pau@citrix.com>
 <8f7e0393-8c0f-a924-7cee-25b9fca6f739@suse.com>
In-Reply-To: <8f7e0393-8c0f-a924-7cee-25b9fca6f739@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0087.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB9194:EE_
X-MS-Office365-Filtering-Correlation-Id: 98b443b3-20f9-4ef5-1f8a-08dad6d9f668
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ky2B1aALd0e70GZJ+1Lntlx2DsX/AA4muHjcd9XEBypwGa/NkKOg5pYMrFwpUZ2ZLaO4YlYhCGMPNMRgoBD/vJ0XOCL2LjdLFNC+1scdfCpH5s+MdMPOBM5x6M51WVIRovWqvjcZ3y8QzholwEhT8w7TUJqMKuSvpK4dVfrXW22E/lCuwMAwivFH0vgVrhmXVRd8v/ia9lrO45qEXlYO/n5s1fl8luEBKN+8T6q4XFQ3nQuUTF15t5a+3mmXudD6oquyN1Q1GtmDLFGmlqrHh8E0NkauLcy91mJTUc4frphrGnxjlPywJjCbueCRbWTPCt+U9i+t40pUeZy/KKeLeckrGb0vX7IFsMd9AEkpRWQDTGiaZ9xluCez8PDHPdStUPTMzN2F1TbjgzaP0e4LIUWcZWXdD/KrZJsMPjEBFVUn07hc9/smVfamBv98Hlxn6ndG7TV7uW9HC+aDN+pXyn/LqeqUDvzp1XcfCImDArhRDbbfwsLV72zb6WmFGEbBV5yr/lyHaVg9dnNqmAShJudlk7Ye2L0V5wa3q369nL0U3rLzNit2zlmd5mymGCkEBNZF1yx+riPei8/31fXnnhJwTDoUss6h8hS0LzFS+rjDy5MNdTLFZlKawG35nHJpTzqyQIovdMc1WE6E8AOygSzd7rFrQxR1sFTEQpxcy1fzxvYrY7t6mEGyNGItyrXXHzNcNJGrwwsVn/wt3JmuihBwir5kEFYhRYxnbjlseGM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(396003)(136003)(39850400004)(376002)(366004)(451199015)(2906002)(31696002)(86362001)(316002)(6506007)(53546011)(54906003)(6512007)(186003)(6486002)(26005)(6916009)(478600001)(5660300002)(8936002)(2616005)(41300700001)(4744005)(4326008)(38100700002)(31686004)(8676002)(66476007)(66946007)(66556008)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SWx4TThJQ0tod0Jyd1QzbDc3WFpZWU94QndvUGdLZWx5ZlhSL3diODZlb29s?=
 =?utf-8?B?OHFzbFg4eDFKRjQrRUlqaHJWOWxDNURvRUE3U1Vpd3hTV0JjZXdCbXU1UFBB?=
 =?utf-8?B?bTlDTDRlSERlVHpyRVZxZCsvek5GaENHbzNSeFZOQ1dhWkgzWFcrNGtUNmZt?=
 =?utf-8?B?b1VDNC9Eb2V1dklPOGlYUjlOOEtCb0FGQnN0SDAxNnRkU0F1TURtY2svWW1M?=
 =?utf-8?B?VnhKQXoydm1JbC9GQlQrNk5XSzVTZDBDQnV2YWJIbmlPUklOTTV6akYzYzJJ?=
 =?utf-8?B?d2dYMi9zclRHUlhsWFU5MysvRWE2YzNmS3VqbFF6cVVsaDlDc1JqSG1WNzAy?=
 =?utf-8?B?Zk1TMmhqeFBob3ROR01ObXRKY0pXMUZBcmdyZG91RE9OR0pEZW5EQzBHRFBl?=
 =?utf-8?B?UFV5QXYxRHhaWElab0tpWjdYVHZGUVU5RURzclpyV3Q3TkdYNGcyTVZvZVZy?=
 =?utf-8?B?alFoWmVzKzNUREYwY3FjY1JGc3lGeDQrdWJ5Wjd2cGNhZ1V3d3Ztdlh4a3Q5?=
 =?utf-8?B?TzhEaVoyOCt4VlpFc1Q1VFY1d280VDdTTDdLYjdDNVJXK3FZaytHditiQTZp?=
 =?utf-8?B?YmxNZDRibHhpOHd1TU42Ykh0Yk9KY2J5c282cEYvSmd0ZmNaaTU0ZnRHOWt0?=
 =?utf-8?B?TkJMbHVjYnk1ZG1sVHdlNkgzTStrT0JJWDFpQS95WmtLVkhNd3RMZmZGdkty?=
 =?utf-8?B?aEhXcWxVTFVjYjluck1ka1VKYkhEYzhUdjBqVGZxYkVVR3phTkNicEYvWERs?=
 =?utf-8?B?WUZBMElQRFl3Q1IyZXFQUlViYngxYUs4eEd2eVFlR1FjL3VMdWR0d1JhS096?=
 =?utf-8?B?Y1hUbkR5Q2ZvQjYwNFNBYm4xQUxyUmw0TFNKaDlrRTZUa0JzN2x0Y1dRUVI5?=
 =?utf-8?B?UjZjdFowM2Y2RXFua0JoY0xTeFZ0aURKTnUwblF3S2pqaWRXQllaOGZSOWZj?=
 =?utf-8?B?OVNqSHB1WXB6eUJqNVRETmt0cCsza3AyQktLVDk4RDFtUFFvT0tTZGI2emRx?=
 =?utf-8?B?VFJDQXIycnFvNVo2VFpVUGFZaDBqUnJuNDhjRkw2dGpSdTBJaW4wbDZ1RXRm?=
 =?utf-8?B?dFV6M1dHdVNsSXpWWjd6M2Q3NzJNRDUxMW9VQlREa3h5anhKeTJlQldsWk5S?=
 =?utf-8?B?cy9IZVZQdE9VUVozbFFHK2NTeWFXSzFGaFIvdVFCaTE5Q1U2Y0Z4cFVnQmhN?=
 =?utf-8?B?U1JIN3FTa0NFelMrWWs4MXNseDNFZDJQUUt6QkRYRTUybnI4VVhjOHBST3Jo?=
 =?utf-8?B?QUMwQ3prS1lBdDFQQW82V1poR0ovajVHTE1jTzY3YUxXdUlrYXZYSEhNNE5Q?=
 =?utf-8?B?Yy9Fd0tyUHRNUCtsSzlhNzBrN0ZwMWVhOC9uMnpzelU1clNNelAveTkrVDlM?=
 =?utf-8?B?ZXhManB0eWtHcUJteWZ1djZwNWdrZzV1ZGxwdFZXK3RVTXJPTEpmU1JHRU5w?=
 =?utf-8?B?ZjkrSTJzKzlTaVFOUStVTkhzMk9vakxIUXVhSTYvVlljS25kMGxHV0FUUkZj?=
 =?utf-8?B?UXZEMU5yVlNZY1dQZ2VjYVZkR0ZUMzJhU1ROVFlsdDRxYVU1eFRZbkNoWGZK?=
 =?utf-8?B?R0VtSU5VU3hNUnFSWGpWazRwc1dzQTV1L3ZYeUFpaVh4aHJpOEJQSkxYSTJN?=
 =?utf-8?B?YWxaUEd1Y2szSXVWYlpsV0k5T3VVUTY3RHN1NksrSXZ5dHlueTlGK0ZjRXNN?=
 =?utf-8?B?QVNkbCtoSHdVQU4yUFpvczJMR2dMWVBqVmUvMFI5T0RzMjhPWkFJbHRWeWVj?=
 =?utf-8?B?UXB0RnJUa2J3K0pobzY4UzFIM25FMmZEVmRjU0FHRDcvRXBCaTVqMjIxM09o?=
 =?utf-8?B?dHNZczdwMHRONUYxVmtBUHUvWnhueSs0TFA2MUVUV3FhcWFtWVd0ODVxN2dH?=
 =?utf-8?B?VkVwYzA4SlUwazVWVU9rVzZPSXpJSy92dFJ6MDRyM1IvMlp6TXU5MmszT2tn?=
 =?utf-8?B?bVVEdFJqVHh4ZkQ2S1RMSXJyVFZPcVdnLzFTVDZQQWpHUWlzWmRQbkNvT2xu?=
 =?utf-8?B?eVNZT0J3OCszb2lQWklpdkhMQVZJOGkwZU4zREZqWHd6M2RXU1FyTkYwcVNX?=
 =?utf-8?B?UDc4M0pBUjF3UUZMbkxtalJZRWp2VmdOOHRWMHR6U2JKQkdHOWJvSE5zRTI2?=
 =?utf-8?Q?Uxj8yaRGHcgPTeSad3ftx28qv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 98b443b3-20f9-4ef5-1f8a-08dad6d9f668
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 16:01:25.7862
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ociCW/3XDy/6mMscOQF7g5mrzVFuR2mMVXToJuVsC845/a6RiZ5DNhQwjUvedWmpyPKaf2swG8eSxxoRfHyJnw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9194

On 05.12.2022 16:10, Jan Beulich wrote:
> On 23.11.2022 16:45, Roger Pau Monne wrote:
>> @@ -807,7 +822,21 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable
>>  
>>      if ( gop )
>>      {
>> -        gop_mode = efi_find_gop_mode(gop, 0, 0, 0);
>> +        const char *opt = get_option(cmdline, "console=");
>> +        bool vga = false;
>> +
>> +        if ( opt )
>> +        {
>> +            const char *s = strstr(opt, "vga");
>> +
>> +            if ( s && s < strpbrk(opt, " \0"))
>> +                vga = true;
>> +        }
> 
> Don't you also want to find a "vga=gfx-..." option, to avoid ...

Apologies - I should have looked at the title of the next patch
before writing this.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Dec 05 16:02:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 16:02:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454037.711688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DvN-0003q9-EX; Mon, 05 Dec 2022 16:02:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454037.711688; Mon, 05 Dec 2022 16:02:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DvN-0003q2-Bz; Mon, 05 Dec 2022 16:02:33 +0000
Received: by outflank-mailman (input) for mailman id 454037;
 Mon, 05 Dec 2022 16:02:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/AS2=4D=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1p2DvM-0003pu-23
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 16:02:32 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 389b1333-74b6-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 17:02:31 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 822B661188;
 Mon,  5 Dec 2022 16:02:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 59369C433D6;
 Mon,  5 Dec 2022 16:02:28 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 389b1333-74b6-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1670256148;
	bh=fUCRk5umyyi3F3OQ84Ugjf+XIjegvMCAtqFGwoNUqqc=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=o8sllyzqWv2DzA+KUc9+w2ABl/BVpS0Lah/qIWLxT+W/phFpqpqdbXN1oOWepc2y6
	 1CM6I2RlaNDAfcFYCSOSYzTwNVhYoEmdiIQoSi0gEVkPf+sgz5otQ4QNZFNjb4x0YQ
	 NNzgKtGndHDakAGEC+w4etUgbRYKrSRN7qSWH+MA=
Date: Mon, 5 Dec 2022 17:02:26 +0100
From: Greg KH <gregkh@linuxfoundation.org>
To: Dawei Li <set_pte_at@outlook.com>
Cc: johannes@sipsolutions.net, robert.jarzmik@free.fr, jgross@suse.com,
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
	roger.pau@citrix.com, srinivas.kandagatla@linaro.org,
	bgoswami@quicinc.com, mpe@ellerman.id.au, npiggin@gmail.com,
	christophe.leroy@csgroup.eu, kys@microsoft.com,
	haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
	alsa-devel@alsa-project.org, linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 4/6] xen: make remove callback of xen driver void returned
Message-ID: <Y44WEkKh9tdNjMlW@kroah.com>
References: <20221205153644.60909-1-set_pte_at@outlook.com>
 <TYCP286MB232333CB411691110A8B9D96CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <TYCP286MB232333CB411691110A8B9D96CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>

On Mon, Dec 05, 2022 at 11:36:42PM +0800, Dawei Li wrote:
> Since commit fc7a6209d571 ("bus: Make remove callback return
> void") forces bus_type::remove be void-returned, it doesn't
> make much sense for any bus based driver implementing remove
> callbalk to return non-void to its caller.

Please wrap changelogs at 72 columns.

And this should go through the maintainers of the Xen bus code, not me,
right?

And why wasn't this attached to the 0/6 email properly?  Did you use
different tools?  If so, our tools can't find the link to keep them in
sync either :(

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 16:03:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 16:03:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454048.711700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DwV-0004cb-Og; Mon, 05 Dec 2022 16:03:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454048.711700; Mon, 05 Dec 2022 16:03:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2DwV-0004cU-Ly; Mon, 05 Dec 2022 16:03:43 +0000
Received: by outflank-mailman (input) for mailman id 454048;
 Mon, 05 Dec 2022 16:03:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/AS2=4D=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1p2DwU-0003p9-QG
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 16:03:42 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 636d0a22-74b6-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 17:03:42 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id B5497B81134;
 Mon,  5 Dec 2022 16:03:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8930C433D6;
 Mon,  5 Dec 2022 16:03:39 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 636d0a22-74b6-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1670256220;
	bh=mqFOwbVppYAcW5Cn5xUKN/wnrwuAAExaAVEWq0H9axM=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=ANi23BgakNxd3FkjR7VfG4ohH47l8+R8mpEFenDtWCftg3MQQ6IopoRzje2nL+HiQ
	 W/V3GUTObsYx+ERHGuN5QFLT8PU+TPVzYsCpUcCRWon3OTurNp0CBC//sQKoJd8wn0
	 kpdJ4IXJQ8tNES9c4Tr4Ag8Zvf352rtyo6Fh3oJ0=
Date: Mon, 5 Dec 2022 17:03:37 +0100
From: Greg KH <gregkh@linuxfoundation.org>
To: Dawei Li <set_pte_at@outlook.com>
Cc: johannes@sipsolutions.net, robert.jarzmik@free.fr, jgross@suse.com,
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
	roger.pau@citrix.com, srinivas.kandagatla@linaro.org,
	bgoswami@quicinc.com, mpe@ellerman.id.au, npiggin@gmail.com,
	christophe.leroy@csgroup.eu, kys@microsoft.com,
	haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
	alsa-devel@alsa-project.org, linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/6] ac97: make remove callback of ac97 driver void
 returned
Message-ID: <Y44WWZW5AK2q9s0q@kroah.com>
References: <20221205153644.60909-1-set_pte_at@outlook.com>
 <TYCP286MB2323207367F2D39D0D725828CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <TYCP286MB2323207367F2D39D0D725828CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>

On Mon, Dec 05, 2022 at 11:36:43PM +0800, Dawei Li wrote:
> Since commit fc7a6209d571 ("bus: Make remove callback return
> void") forces bus_type::remove be void-returned, it doesn't
> make much sense for any bus based driver implementing remove
> callbalk to return non-void to its caller.
> 
> This change is for ac97 bus based drivers.
> 
> Signed-off-by: Dawei Li <set_pte_at@outlook.com>
> ---
>  drivers/mfd/wm97xx-core.c  | 4 +---
>  include/sound/ac97/codec.h | 6 +++---
>  sound/ac97/bus.c           | 5 ++---
>  3 files changed, 6 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/mfd/wm97xx-core.c b/drivers/mfd/wm97xx-core.c
> index 9a2331eb1bfa..663acbb1854c 100644
> --- a/drivers/mfd/wm97xx-core.c
> +++ b/drivers/mfd/wm97xx-core.c
> @@ -319,13 +319,11 @@ static int wm97xx_ac97_probe(struct ac97_codec_device *adev)
>  	return ret;
>  }
>  
> -static int wm97xx_ac97_remove(struct ac97_codec_device *adev)
> +static void wm97xx_ac97_remove(struct ac97_codec_device *adev)
>  {
>  	struct wm97xx_priv *wm97xx = ac97_get_drvdata(adev);
>  
>  	snd_ac97_compat_release(wm97xx->ac97);
> -
> -	return 0;
>  }
>  
>  static const struct ac97_id wm97xx_ac97_ids[] = {
> diff --git a/include/sound/ac97/codec.h b/include/sound/ac97/codec.h
> index 9792d25fa369..a26e9e0082f6 100644
> --- a/include/sound/ac97/codec.h
> +++ b/include/sound/ac97/codec.h
> @@ -62,9 +62,9 @@ struct ac97_codec_device {
>   */
>  struct ac97_codec_driver {
>  	struct device_driver	driver;
> -	int			(*probe)(struct ac97_codec_device *);
> -	int			(*remove)(struct ac97_codec_device *);
> -	void			(*shutdown)(struct ac97_codec_device *);
> +	int			(*probe)(struct ac97_codec_device *dev);

Why did you change this line?

> +	void			(*remove)(struct ac97_codec_device *dev);
> +	void			(*shutdown)(struct ac97_codec_device *dev);

And this line?

Don't change things that you don't describe in your changelog and that
are not needed for your change.

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 16:08:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 16:08:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454067.711711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2E0e-0005Ye-8M; Mon, 05 Dec 2022 16:08:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454067.711711; Mon, 05 Dec 2022 16:08:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2E0e-0005YX-5c; Mon, 05 Dec 2022 16:08:00 +0000
Received: by outflank-mailman (input) for mailman id 454067;
 Mon, 05 Dec 2022 16:07:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/AS2=4D=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1p2E0d-0005YE-4j
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 16:07:59 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb3dff52-74b6-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 17:07:57 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 02AC9611B3;
 Mon,  5 Dec 2022 16:07:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DA843C433D6;
 Mon,  5 Dec 2022 16:07:54 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb3dff52-74b6-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1670256475;
	bh=Eu6yRxptwIjp+jobzTRehJVPk3s3l2rtPAWW3JDKriU=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=tGQk9MFX4LB7qvP2B2anJGqE6Z6d0L46ICiQtdTZRCj2bbx+sL1Qj6lDYAd796T73
	 krThdNV5BAuOVBcjlWHfKp1kVWotWO8++wS4g8SLIq/MBzEqMQLv0PWpHmDlNEYi2z
	 li2DvIFUErFDJ0iS5DzLus0ZVrozvfh9M06QC2jc=
Date: Mon, 5 Dec 2022 17:07:52 +0100
From: Greg KH <gregkh@linuxfoundation.org>
To: Dawei Li <set_pte_at@outlook.com>
Cc: johannes@sipsolutions.net, robert.jarzmik@free.fr, jgross@suse.com,
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
	roger.pau@citrix.com, srinivas.kandagatla@linaro.org,
	bgoswami@quicinc.com, mpe@ellerman.id.au, npiggin@gmail.com,
	christophe.leroy@csgroup.eu, kys@microsoft.com,
	haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
	alsa-devel@alsa-project.org, linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 6/6] soundbus: make remove callback of soundbus driver
 void returned
Message-ID: <Y44XWIqnKwE7ntPL@kroah.com>
References: <20221205153644.60909-1-set_pte_at@outlook.com>
 <TYCP286MB2323BBFCE929111043E60D3BCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <TYCP286MB2323BBFCE929111043E60D3BCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>

On Mon, Dec 05, 2022 at 11:36:44PM +0800, Dawei Li wrote:
> Since commit fc7a6209d571 ("bus: Make remove callback return
> void") forces bus_type::remove be void-returned, it doesn't
> make much sense for any bus based driver implementing remove
> callbalk to return non-void to its caller.
> 
> This change is for soundbus based drivers.
> 
> Signed-off-by: Dawei Li <set_pte_at@outlook.com>
> ---
>  sound/aoa/fabrics/layout.c    | 3 +--
>  sound/aoa/soundbus/soundbus.h | 6 +++---
>  2 files changed, 4 insertions(+), 5 deletions(-)
> 
> diff --git a/sound/aoa/fabrics/layout.c b/sound/aoa/fabrics/layout.c
> index ec4ef18555bc..850dc8c53e9b 100644
> --- a/sound/aoa/fabrics/layout.c
> +++ b/sound/aoa/fabrics/layout.c
> @@ -1094,7 +1094,7 @@ static int aoa_fabric_layout_probe(struct soundbus_dev *sdev)
>  	return -ENODEV;
>  }
>  
> -static int aoa_fabric_layout_remove(struct soundbus_dev *sdev)
> +static void aoa_fabric_layout_remove(struct soundbus_dev *sdev)
>  {
>  	struct layout_dev *ldev = dev_get_drvdata(&sdev->ofdev.dev);
>  	int i;
> @@ -1123,7 +1123,6 @@ static int aoa_fabric_layout_remove(struct soundbus_dev *sdev)
>  	kfree(ldev);
>  	sdev->pcmid = -1;
>  	sdev->pcmname = NULL;
> -	return 0;
>  }
>  
>  #ifdef CONFIG_PM_SLEEP
> diff --git a/sound/aoa/soundbus/soundbus.h b/sound/aoa/soundbus/soundbus.h
> index 3a99c1f1a3ca..230dfa1ba270 100644
> --- a/sound/aoa/soundbus/soundbus.h
> +++ b/sound/aoa/soundbus/soundbus.h
> @@ -184,10 +184,10 @@ struct soundbus_driver {
>  
>  	/* we don't implement any matching at all */
>  
> -	int	(*probe)(struct soundbus_dev* dev);
> -	int	(*remove)(struct soundbus_dev* dev);
> +	int	(*probe)(struct soundbus_dev *dev);

Why change this line too?

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 16:08:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 16:08:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454073.711722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2E1I-00063n-HQ; Mon, 05 Dec 2022 16:08:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454073.711722; Mon, 05 Dec 2022 16:08:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2E1I-00063g-E7; Mon, 05 Dec 2022 16:08:40 +0000
Received: by outflank-mailman (input) for mailman id 454073;
 Mon, 05 Dec 2022 16:08:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/AS2=4D=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1p2E1H-0005vJ-5V
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 16:08:39 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1361097d-74b7-11ed-91b6-6bf2151ebd3b;
 Mon, 05 Dec 2022 17:08:38 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D3C01611D6;
 Mon,  5 Dec 2022 16:08:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B7ED3C433D6;
 Mon,  5 Dec 2022 16:08:35 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1361097d-74b7-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1670256516;
	bh=2zTjxGImNhiKZkQVLYwU+D7sO9c/DELnBsQOLmxj5RM=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=t1aBQ5PwG5R+hRKkkXrH8ZTKVgOxRxmB/P6l1a7WOnp6bg1x+OclpQCfQnhw/5RV9
	 VWi7ElCSsHDX/U7BRQ1/TnpM9vFr8hQGRZDE9i4Y2GO9/XQcyWYoAD1bZDv9jDw4w5
	 KgmnSDvMOM5qBG6N1xQJdeSmTODNmVm+4pNvzk5Y=
Date: Mon, 5 Dec 2022 17:08:33 +0100
From: Greg KH <gregkh@linuxfoundation.org>
To: Dawei Li <set_pte_at@outlook.com>
Cc: johannes@sipsolutions.net, robert.jarzmik@free.fr, jgross@suse.com,
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
	roger.pau@citrix.com, srinivas.kandagatla@linaro.org,
	bgoswami@quicinc.com, mpe@ellerman.id.au, npiggin@gmail.com,
	christophe.leroy@csgroup.eu, kys@microsoft.com,
	haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
	alsa-devel@alsa-project.org, linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/6] macio: Make remove callback of macio driver void
 returned
Message-ID: <Y44XgS8nHgcJjQCL@kroah.com>
References: <20221205153644.60909-1-set_pte_at@outlook.com>
 <TYCP286MB2323FCDC7ECD87F8D97CB74BCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <TYCP286MB2323FCDC7ECD87F8D97CB74BCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>

On Mon, Dec 05, 2022 at 11:36:40PM +0800, Dawei Li wrote:
> Commit fc7a6209d571 ("bus: Make remove callback return
> void") forces bus_type::remove be void-returned, it doesn't
> make much sense for any bus based driver implementing remove
> callbalk to return non-void to its caller.
> 
> This change is for macio bus based drivers.
> 
> Signed-off-by: Dawei Li <set_pte_at@outlook.com>
> ---
>  arch/powerpc/include/asm/macio.h                | 12 ++++++------
>  drivers/ata/pata_macio.c                        |  4 +---
>  drivers/macintosh/rack-meter.c                  |  4 +---
>  drivers/net/ethernet/apple/bmac.c               |  4 +---
>  drivers/net/ethernet/apple/mace.c               |  4 +---
>  drivers/net/wireless/intersil/orinoco/airport.c |  4 +---
>  drivers/scsi/mac53c94.c                         |  5 +----
>  drivers/scsi/mesh.c                             |  5 +----
>  drivers/tty/serial/pmac_zilog.c                 |  7 ++-----
>  sound/aoa/soundbus/i2sbus/core.c                |  4 +---
>  10 files changed, 16 insertions(+), 37 deletions(-)
> 
> diff --git a/arch/powerpc/include/asm/macio.h b/arch/powerpc/include/asm/macio.h
> index ff5fd82d9ff0..f641c730c3b7 100644
> --- a/arch/powerpc/include/asm/macio.h
> +++ b/arch/powerpc/include/asm/macio.h
> @@ -124,15 +124,15 @@ static inline struct pci_dev *macio_get_pci_dev(struct macio_dev *mdev)
>   */
>  struct macio_driver
>  {
> -	int	(*probe)(struct macio_dev* dev, const struct of_device_id *match);
> -	int	(*remove)(struct macio_dev* dev);
> +	int	(*probe)(struct macio_dev *dev, const struct of_device_id *match);
> +	void	(*remove)(struct macio_dev *dev);

Again, you are changing lines you do not need to here.

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 16:09:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 16:09:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454080.711733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2E29-0006iU-QX; Mon, 05 Dec 2022 16:09:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454080.711733; Mon, 05 Dec 2022 16:09:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2E29-0006iN-NR; Mon, 05 Dec 2022 16:09:33 +0000
Received: by outflank-mailman (input) for mailman id 454080;
 Mon, 05 Dec 2022 16:09:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2E28-0006i7-Ak; Mon, 05 Dec 2022 16:09:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2E28-0003vF-8F; Mon, 05 Dec 2022 16:09:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2E27-00060a-NZ; Mon, 05 Dec 2022 16:09:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2E27-0005RP-N3; Mon, 05 Dec 2022 16:09:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/qPq2Bn8vdQf7dhfw3+G9PSQozK7d4pnjgb0ksf49v0=; b=Ma2M0khnx4dLDfg/XfanlOy8r+
	wZ/e8Z7wXQuDgRkHNiwE6lTOmjuLJOOQ+WuPpmWuAurLdLpGWuzhHPEKE9N2X6yVvreOyh65ZLQnM
	nBIh49SbL2HKjuAQLxFdk9PsEsDjtSgGZW6FCa/pynm+C1DoeibOjv6IxeRxnd2yJvWQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175046-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175046: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=76dcd734eca23168cb008912c0f69ff408905235
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 05 Dec 2022 16:09:31 +0000

flight 175046 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175046/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                76dcd734eca23168cb008912c0f69ff408905235
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   58 days
Failing since        173470  2022-10-08 06:21:34 Z   58 days  115 attempts
Testing same since   175046  2022-12-05 05:24:16 Z    0 days    1 attempts

------------------------------------------------------------
1951 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 187408 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 16:27:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 16:27:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454126.711744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2EJc-0001qc-EA; Mon, 05 Dec 2022 16:27:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454126.711744; Mon, 05 Dec 2022 16:27:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2EJc-0001qV-B3; Mon, 05 Dec 2022 16:27:36 +0000
Received: by outflank-mailman (input) for mailman id 454126;
 Mon, 05 Dec 2022 16:27:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=2Zgi=4D=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2EJa-0001qP-Vc
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 16:27:34 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060d.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a3192d93-74b9-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 17:26:57 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7874.eurprd04.prod.outlook.com (2603:10a6:20b:24d::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 5 Dec
 2022 16:26:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Mon, 5 Dec 2022
 16:26:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3192d93-74b9-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EQWApSRbRoWmwo3pLmnUUjr6iU+VWt7K6n/YBOCqDmQiK4m/IuS8oo1XNq59sBq/SBhLTF2aoKf7hhnfVLSxyaUMFTuTbgB4aX0CvryGq1v7axsiaG0xnrFN4p5wxFGumwxMK/qgSmv0Ag7skyt7TacF0K30o+oU4fmNcEDTaIEpHT03vIfw5UcaKNFtbV0GM9aYauVH3SvXGMRQQbuyEreFVKTAIITjyC7kmDi4SSEjQJFHdAMeBUbQBtJqwhDorIYCEWq/AVOm68pTMibZDd5xvLjEzxVflJ4DHJac6LOqGzrAM1u1WjcnBl67ejqfwrn9JUtfxQL7zcjHSKqVbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=24LELqyfJD0C6+zlgxp9fTxUORASAYHd7ipAN6jmsqI=;
 b=mdP2AGSyIy+FFK4+F4nC15rJMjMb1pmlMImFLzBD6U0BPpVkpZaldsFcNYmCCAKt8vnlszEz4ZhRU4aDeJhMGZEN5rad5UV7/umS2FGyzsH8zKT5tpll+IKeCR9AaC8GL+X4HVsU8QZzi7ACpjzknciJmr2Z8YmE4DyeIJxPp0UbO3pm6066mxY+EPxCRnHQOJjXSxONJfw87ItrKrxZW76do3cegYuDEsa19FZGhFhDOzJaNzdOu9bTZsU3aQKiiSQUUR7l0bB7vv+H/CgNaG38V7iYNGGzsrJhruMIs09TyX6LlCwJ04/Oe/tNQN5PCFrCJuk2lKzyn9hhDcZAng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=24LELqyfJD0C6+zlgxp9fTxUORASAYHd7ipAN6jmsqI=;
 b=GhTpT6ovZbKM5je6VRUqmHRHH6kz8Tw1+VLjIFzPom9ffxnTBuOYGxl4SFFS5C3QgnGNQJjL7PG8UBHQz2GgOyb3fJBDeCUK2d4D//zdDBYjID0oaVqYXz04y3dDO8dnVyM/3kt2OnZ5jgQz3nEWNvvPGnc9CRsIXupA9VWZ4CAaoZ2mcYgtYKRYTSmdCVvG0Z+zVxgeRZLOFzOH3k69pEkdfRN9EicUCGGufDKJ7SnBkk4PxOy6dwACwaU9XMGC5Esvl/5vMavoTVDb1dq5bUsXe0rXlWpk9uvGTpSwKv3TXf6kNHVNpkulo0GaYiBkDAj2hksgVHX1+ldJqyWIuA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <85a41edf-b7af-3c96-5d84-61c3c958327f@suse.com>
Date: Mon, 5 Dec 2022 17:26:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 5/5] multiboot2: parse vga= option when setting GOP mode
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: marmarek@invisiblethingslab.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-6-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221123154525.63068-6-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0136.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7874:EE_
X-MS-Office365-Filtering-Correlation-Id: b7b42af9-c6b2-4f98-0f02-08dad6dd85f2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PpZ6l+cVvwudLsDD+0ivnkllJZi3XaOjv37Pl6ZxoTdzEXVZmgle4hKbenxzmkrw8XzI4kpslzJGa7EHVJ9ffe4LHShckRATlG+YidMuqGAOujKYY7M1X67RstISd4IMLJoLI9NKz7crYdDoUXipnIKTPDw/J3p7yEiIT5AUzNkpiWY18vATgNxvzhf7gu/ASRuUsTphASZ4t/GYK8DRgGKgxE9ytvvndeLN4WQfzabM5uzxWUdS0kcbTsvG7pRfh1vECr+Qh6FlWLLrNvalDy4y9s9rsExeFOJMQBSuXGGGohaMqt9neU4nfpcrqX9Bx7t84b5/niGfILh4+ICdGtjODP0ZNughcTSRuM6F+xD8RU4PZuhdoALqk21T4mG6dDicUnzuO0EPIfT7iZDf9oA3hfh6j7shVtb5UiHl0QbSQu51hhfyyu+AcaUgAxoRGrUiVhgtYTk0fa12O+HzI2MpmlB9+9BylqalVml032oXWPPEi+jWUzjbF0JvBiq/biuqBa5PxcEhxxHvRe+Fy6+XK33CamDAopCf864+zqEmX3o3Uyk5in7vdS5OsE+012UU43nJsJIuUBdQ/fPQr26QeRO16y46x9o1+LBubscgYCjcU3cvOVpKuqZLLomEHf01Ftg6Ziwq8wzegW2M3yW16D5F+fFmEC8IMRZGmLkVS7wOWYq6BofNYYxzGVO1ZYYOfra22PFNHV7vm0hkkeR0xDbyqQwWSaKQ/Wb9aBc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(136003)(346002)(396003)(39860400002)(376002)(451199015)(36756003)(38100700002)(31696002)(86362001)(41300700001)(2906002)(8936002)(4326008)(5660300002)(4744005)(83380400001)(66556008)(478600001)(6486002)(66946007)(66476007)(316002)(54906003)(6916009)(2616005)(31686004)(8676002)(186003)(6512007)(53546011)(26005)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SC9DeXdwN1h3Mlo0cXoxd0w2UUxSYW1pbVhwR3hKdnNwNG5uUE5EanhuSEVz?=
 =?utf-8?B?aHBSNElyVmxscjR2V3pvbGV4dE81ZXFjZmtMTzc5UUtSRmFKbW16OUtodnMy?=
 =?utf-8?B?ajdER0ZiL0loUGlMcFYwclBDWndDeUF2SGYxZzdIazVUTzlhbGZvTTJJZi9p?=
 =?utf-8?B?OXI1NHZmMEcwcEdVdmlxMnMzdlczTWpqM3hteTJVNVZJU0grT1YwR1JmWGNr?=
 =?utf-8?B?Rzl1WEJ1NWZZVDdVMUEwWEpTWXZsODR3MUNlMkhtU0NDMnhsNlNVU0ZkeE0w?=
 =?utf-8?B?K0c5TmZvUVhGcmxobkIxUlh3VHFpaCswYWQ1aWxod2xleWhNNDNJQlBrOGdH?=
 =?utf-8?B?VUR3dVB1ZTFsRmxVMFArcmRXWk1lcXhtTVg1NkNxa1o4RmVFQXZ4MHdyRXhz?=
 =?utf-8?B?cWVkREVVZFRIZ0tKWVZsNEdVWjI1Yit0UHhqWE9sWXNtQ3kzUDVNYVU5b0RY?=
 =?utf-8?B?Q0xVbWdIMStpbzF5RmY1TmJRTG9jWTg5ejJsNGp1RzFSUFU1NE5ZM3BwL0Mw?=
 =?utf-8?B?U00wbSszWVpVMlhvcWs3K2JYclViOGljNWV5YnpkaDFUTUtIOFhtWmNaUGpW?=
 =?utf-8?B?MEpXQkcyT0RSUWJvbUhCbnplMHBxa0F3bGZUQ2ZZOStBUXJ0aTFNSC9XN2dt?=
 =?utf-8?B?dFg5SmVaNnhOZ29ueXI2N013dHNZdFBPWmZWTmlFNnoxeWlxNW5pU2lQOVV2?=
 =?utf-8?B?dUd5U3VNWVNmczkvYVErbGh4TEJxcmNpa0kzRXVUby91UTl0VFJGYUtDOHFW?=
 =?utf-8?B?c0JtRW1ndk5jNGlldG16M3licGMyL2N1djUzYWpRbTVUZUNDVU5qZHl4MjZY?=
 =?utf-8?B?eXcvUjVGSTV1K01wdHNjSVFqTEJsTkRRcmFtSjZtN3Voc0pHSzB3bDl2TldK?=
 =?utf-8?B?T0F0K29nSXgwQlFOK2JMMEFib09ITlFpYm5RTkpPMWpXUURVaGQ5SkVvYjM4?=
 =?utf-8?B?MHRBZENZSVc2UG4zcmUrdTBKK0FxWmlZWm16Y1oyK1QxUlZWMzFnU2w4czh2?=
 =?utf-8?B?YnUzNUpTeTZKaTQxb002YmsvL0RINFNndEplOHVXMEFvNTF4TjF0TGV3WVAv?=
 =?utf-8?B?VVpzQW5uSzVwdVBnWVhGS3pINExTaW42YmJ1MWYvZWNvMTR6QkpQck9IYzlI?=
 =?utf-8?B?WkJSem1DNGNJTmMxbkZmVnBFalYyaVF0RFRJRHFFU2lRcVg0YmZzUjdnMVRB?=
 =?utf-8?B?Snp0STgwU1pobEo5SFRlNG14MWJSVGF4dDc3Vk8vQURTYjRpTEVJYWJISS9p?=
 =?utf-8?B?LzM5Vi9zSWhhOVNWei9DRkcrWVBFNE1CRU8wbW53d2ZvNTQ3S2VEZnl4TUFR?=
 =?utf-8?B?UEhmUllYSTFudEtZNEx6ZEdNM0RVdzB3ZWY5ZVZHNzYwTzZ0MHVpQ0hRQUFs?=
 =?utf-8?B?aTBIYlk3QnROUUdGdzBBUjFlY2ZYZHg4akIrQVlZSlNSd3A0VFkxL2NUREtR?=
 =?utf-8?B?enFOOGxyclBSa055aUJzYmFobllhd0cwV2VCZFhHQVpGNkhLZXVkODFiVlI2?=
 =?utf-8?B?MnZUQjJHTmhRejRrZW8ybU16dFpCdWlOQUluem5GZWdxUktMUjAxK3RyYkVS?=
 =?utf-8?B?Z1RZTElua3doUzZ3Ry91Y2VHajloMUdKd2xCQUg3U2l6VElycHlYR3NheGZE?=
 =?utf-8?B?RFNyTWtwWi9NNnNlY2dVT1NGOVNSakdWSzVXOHJudm51U3JsWWZyUG5ERnV4?=
 =?utf-8?B?Qi9yc3JNOTJsVm1mTkIvNlJ3QXAvb1RuTjNleGZMeVgyMzVRRkFMbEU0U0hr?=
 =?utf-8?B?cjFScXpXcWJBdXJCMFo3Tnd4WDdZNmZxNjYrRlJXdnA5QkxhZjZhc2FHRTRV?=
 =?utf-8?B?OUg0UnRCTTFxSFhkRmFVMS9LQWNFNklHcHJTcldjZGNCRENjd2lvVW1zYzVa?=
 =?utf-8?B?ZWtKaVZBMU5CbFNBSmRkMHcrOEQ5R1RjRVpYS2xtR3BSM1F0RFA5L3FEd0ho?=
 =?utf-8?B?VlpGcFlWTGtYSW4rQkRsVmxxc2dFWVZsempqRjZOYnlpL0x0blpIN21TUVZB?=
 =?utf-8?B?cjBlaFZEQjU1TjlhR3FOcnRLV1lIMURockRSM096ZEdHcDdPUjBKU3E5b3di?=
 =?utf-8?B?a3BJbTNoM01kTmdSeG5lRHgwQkFYWFNDYlVuSFVaUHlDMFlScXBSL1FZTVcx?=
 =?utf-8?Q?8AotA0cMvPv2RjzNxv1EPBhcA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b7b42af9-c6b2-4f98-0f02-08dad6dd85f2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Dec 2022 16:26:55.1571
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qd7OTfsDB5UcuCCK0p1WsZAniOBg90e4UzApVue3ailwW3j+uYsY0SvSkzBsbpK7CM3FPd6eKObFsiApSEJ0nQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7874

On 23.11.2022 16:45, Roger Pau Monne wrote:
> Currently the vga command line gfx- option is ignored when booted
> using multboot2 and EFI, as the setting of the GOP mode is done way
> before the command line is processed.
> 
> Add support for parsing the vga gfx- selection if present in order to
> set the selected GOP mode.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
albeit personally I think this should be folded into the previous patch.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 17:48:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 17:48:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454156.711759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2FZF-0006Hl-AN; Mon, 05 Dec 2022 17:47:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454156.711759; Mon, 05 Dec 2022 17:47:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2FZF-0006He-7V; Mon, 05 Dec 2022 17:47:49 +0000
Received: by outflank-mailman (input) for mailman id 454156;
 Mon, 05 Dec 2022 17:47:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2FZE-0006HU-H3; Mon, 05 Dec 2022 17:47:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2FZE-0006Eg-Ey; Mon, 05 Dec 2022 17:47:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2FZD-000244-Ve; Mon, 05 Dec 2022 17:47:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2FZD-0006TD-Sf; Mon, 05 Dec 2022 17:47:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2WMdWjwzT9iMuucv6iP8X85uDrOe2iFaT7ahqw2QRZs=; b=0bPZP2gddToItPYmC8gjHODm0g
	/6hzXQc5TFbvTOzqujbXMB6j6NjPDvU9//MsoNTuEjlcZ/gzoJXrvQ2huelDSgeNfoxUIwfCOGJeP
	nKWO/sGQLLbfnQmHJlVX1sc8PKg+DavDPePktHiVYz1eD6zT/HMwBT4gZ9ytuBQUCsjQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175049-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175049: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9d67161388d8f611467660300bdf9715b7f110b0
X-Osstest-Versions-That:
    xen=15241c92677a027694e609b55a77ae5ba3616104
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 05 Dec 2022 17:47:47 +0000

flight 175049 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175049/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  9d67161388d8f611467660300bdf9715b7f110b0
baseline version:
 xen                  15241c92677a027694e609b55a77ae5ba3616104

Last test of basis   175048  2022-12-05 12:03:13 Z    0 days
Testing same since   175049  2022-12-05 15:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <julien@xen.org>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   15241c9267..9d67161388  9d67161388d8f611467660300bdf9715b7f110b0 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 21:43:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 21:43:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454198.711770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2JFP-0000VZ-Ro; Mon, 05 Dec 2022 21:43:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454198.711770; Mon, 05 Dec 2022 21:43:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2JFP-0000VS-Ox; Mon, 05 Dec 2022 21:43:35 +0000
Received: by outflank-mailman (input) for mailman id 454198;
 Mon, 05 Dec 2022 21:43:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mTDa=4D=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p2JFN-0000VE-U8
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 21:43:34 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db9b0daf-74e5-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 22:43:31 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 798A161477;
 Mon,  5 Dec 2022 21:43:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5CCDDC433B5;
 Mon,  5 Dec 2022 21:43:27 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db9b0daf-74e5-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670276609;
	bh=iaHKrSg73PpHOjJ6zCk6wiyDHxIolfRHsh55KV1syaY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=iTyP6RJPrHV6GIiNJMjWws7bmpE3qhchxYmW3RBE8c/FWev1cbNYOL+x+0kOzTndj
	 xjHLiBbANryfrOuM1bnFafEzmQF7z3b0/qY5YUSMGJVBN2ZLqVsCSzdSRy7Hl+9HDG
	 cK4R5d3JWgP7tr2zaY+po/BPW8SdvNONV4+V1x76CgVEOamCFblrD1APrbl3J3A9fm
	 AR3H5pdQmm2+cKH/EkxB8/BUigFtkjGW4ogkmm9KprMwCdJxLXaIKiN6Q7BRSwwBVB
	 UuukqdHSAsXX1kjlNgJMSiy9DkqB47HIUKVxr0zFpL//zr9YERA7nwb4FarBsT19Se
	 HMgAtuiM89kuQ==
Date: Mon, 5 Dec 2022 13:43:25 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Rahul Singh <rahul.singh@arm.com>, xen-devel@lists.xenproject.org, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, 
    Nick Rosbrook <rosbrookn@gmail.com>, Juergen Gross <jgross@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [RFC PATCH 00/21] Add SMMUv3 Stage 1 Support for XEN guests
In-Reply-To: <849cf3a4-e7b2-f555-d759-978170088a54@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212051342490.4039@ubuntu-linux-20-04-desktop>
References: <cover.1669888522.git.rahul.singh@arm.com> <849cf3a4-e7b2-f555-d759-978170088a54@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-105642208-1670276184=:4039"
Content-ID: <alpine.DEB.2.22.394.2212051336370.4039@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-105642208-1670276184=:4039
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2212051336371.4039@ubuntu-linux-20-04-desktop>

On Sat, 3 Dec 2022, Julien Grall wrote:
> On 01/12/2022 16:02, Rahul Singh wrote:
> > This patch series is sent as RFC to get the initial feedback from the
> > community. This patch series consists of 21 patches which is a big number
> > for
> > the reviewer to review the patches but to understand the feature end-to-end
> > we
> > thought of sending this as a big series. Once we will get initial feedback,
> > we
> > will divide the series into a small number of patches for review.
> 
> From the cover letter, it is not clear to me what sort of input you are
> expecting for the RFC. Is this about the design itself?
> 
> If so, I think it would be more helpful to write an high level document on how
> you plan to emulate the vIOMMU in Xen. So there is one place to
> read/agree/verify rather than trying to collate all the information from the
> 20+ patches.
> 
> Briefly skimming through I think the main things that need to be addressed in
> order of priority:
>   - How to secure the vIOMMU
>   - 1 vs multiple vIOMMU
> 
> The questions are very similar to the vITS because the SMMUv3 is based on a
> queue. And given you are selling this feature as a security one, I don't think
> we can go forward with the review without any understanding/agreement on what
> needs to be implemented in order to have a safe/secure vIOMMU.

I think we are all aligned here, but let me try to clarify further.

As the vIOMMU is exposed to the guest, and exposing a queue-based
interface to the guest is not simple, it would be good to clarify in a
document the following points:

- how is the queue exposed to the guest
- how are guest-inputs sanitized
- how do the virtual queue resources map to the physical queue
  resources
- lifecycle of the resource mappings
- any memory allocations triggered by guest actions and their lifecycle

It is difficult to extrapole these details from 21 patches. Having these
key detailed written down in the 0/21 email would greatly help with the
review. It would make the review go a lot faster.
--8323329-105642208-1670276184=:4039--


From xen-devel-bounces@lists.xenproject.org Mon Dec 05 22:55:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 05 Dec 2022 22:55:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454239.711785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2KND-0003BG-9Z; Mon, 05 Dec 2022 22:55:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454239.711785; Mon, 05 Dec 2022 22:55:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2KND-0003B9-60; Mon, 05 Dec 2022 22:55:43 +0000
Received: by outflank-mailman (input) for mailman id 454239;
 Mon, 05 Dec 2022 22:55:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hkki=4D=intel.com=lkp@srs-se1.protection.inumbo.net>)
 id 1p2KNA-0003B3-K4
 for xen-devel@lists.xenproject.org; Mon, 05 Dec 2022 22:55:41 +0000
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ebd5fe50-74ef-11ed-8fd2-01056ac49cbb;
 Mon, 05 Dec 2022 23:55:34 +0100 (CET)
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 05 Dec 2022 14:55:28 -0800
Received: from lkp-server01.sh.intel.com (HELO b3c45e08cbc1) ([10.239.97.150])
 by fmsmga001.fm.intel.com with ESMTP; 05 Dec 2022 14:55:21 -0800
Received: from kbuild by b3c45e08cbc1 with local (Exim 4.96)
 (envelope-from <lkp@intel.com>) id 1p2KMr-0000Oj-0f;
 Mon, 05 Dec 2022 22:55:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebd5fe50-74ef-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1670280934; x=1701816934;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=+XSJuYS+MeDLTsu/AAXu3ZVEi/xsSS3S3d0QmCeAyTI=;
  b=jwiuIdLSU/JnbbE7dOP7pqeCL2Pvi5/cn1O/5ouOksMqcF9s/8oqjLh3
   qgVdgfYvHp4SGbT5wZIj2B+XLBexJxc+YvTe0RnNqsWcmOG3MpdOSp2zK
   SweQdPd/QjIhdwMQNgklm9BvFEnm7/Iq92J5KMeyT1VuizqrgcHB+lG36
   H6KeyAsr7mI9P6urtLOr1f1K2EoLSNL7CiWHBcbHrPmYzhBJJIAA659LB
   czNxkmK33rR3FabBq0Jp1F7huxUCLkrVjXUXLLwxeurUIDXTRacKIfgwp
   230i916DPbe4vbI9TtLIW0K4g5ayMfK1i79Sqy/oMEx5vFKLcJqOG12zP
   w==;
X-IronPort-AV: E=McAfee;i="6500,9779,10552"; a="380777687"
X-IronPort-AV: E=Sophos;i="5.96,220,1665471600"; 
   d="scan'208";a="380777687"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10552"; a="788259813"
X-IronPort-AV: E=Sophos;i="5.96,220,1665471600"; 
   d="scan'208";a="788259813"
Date: Tue, 6 Dec 2022 06:55:08 +0800
From: kernel test robot <lkp@intel.com>
To: Dawei Li <set_pte_at@outlook.com>, gregkh@linuxfoundation.org
Cc: oe-kbuild-all@lists.linux.dev, johannes@sipsolutions.net,
	robert.jarzmik@free.fr, jgross@suse.com, sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com, roger.pau@citrix.com,
	srinivas.kandagatla@linaro.org, bgoswami@quicinc.com,
	mpe@ellerman.id.au, npiggin@gmail.com, christophe.leroy@csgroup.eu,
	kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
	decui@microsoft.com, alsa-devel@alsa-project.org,
	linuxppc-dev@lists.ozlabs.org, xen-devel@lists.xenproject.org,
	linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
	Dawei Li <set_pte_at@outlook.com>
Subject: Re: [PATCH 1/6] hyperv: Make remove callback of hyperv driver void
 returned
Message-ID: <202212060639.jSBVKEY6-lkp@intel.com>
References: <TYCP286MB232373567792ED1AC5E0849FCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="baj2StxQK9RotUfM"
Content-Disposition: inline
In-Reply-To: <TYCP286MB232373567792ED1AC5E0849FCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>


--baj2StxQK9RotUfM
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi Dawei,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on xen-tip/linux-next]
[also build test WARNING on linus/master v6.1-rc8 next-20221205]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Dawei-Li/hyperv-Make-remove-callback-of-hyperv-driver-void-returned/20221205-233927
base:   https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git linux-next
patch link:    https://lore.kernel.org/r/TYCP286MB232373567792ED1AC5E0849FCA189%40TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
patch subject: [PATCH 1/6] hyperv: Make remove callback of hyperv driver void returned
config: x86_64-rhel-8.3-syz
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
        # https://github.com/intel-lab-lkp/linux/commit/19dc60f1e539ba31e531b89e5f57b9ce584be2f1
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Dawei-Li/hyperv-Make-remove-callback-of-hyperv-driver-void-returned/20221205-233927
        git checkout 19dc60f1e539ba31e531b89e5f57b9ce584be2f1
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/pci/controller/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/pci/controller/pci-hyperv.c: In function 'hv_pci_remove':
>> drivers/pci/controller/pci-hyperv.c:3822:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
    3822 |         int ret;
         |             ^~~


vim +/ret +3822 drivers/pci/controller/pci-hyperv.c

17978524a636d00 drivers/pci/host/pci-hyperv.c       Dexuan Cui       2016-11-10  3812  
17978524a636d00 drivers/pci/host/pci-hyperv.c       Dexuan Cui       2016-11-10  3813  /**
17978524a636d00 drivers/pci/host/pci-hyperv.c       Dexuan Cui       2016-11-10  3814   * hv_pci_remove() - Remove routine for this VMBus channel
17978524a636d00 drivers/pci/host/pci-hyperv.c       Dexuan Cui       2016-11-10  3815   * @hdev:	VMBus's tracking struct for this root PCI bus
17978524a636d00 drivers/pci/host/pci-hyperv.c       Dexuan Cui       2016-11-10  3816   *
17978524a636d00 drivers/pci/host/pci-hyperv.c       Dexuan Cui       2016-11-10  3817   * Return: 0 on success, -errno on failure
17978524a636d00 drivers/pci/host/pci-hyperv.c       Dexuan Cui       2016-11-10  3818   */
19dc60f1e539ba3 drivers/pci/controller/pci-hyperv.c Dawei Li         2022-12-05  3819  static void hv_pci_remove(struct hv_device *hdev)
17978524a636d00 drivers/pci/host/pci-hyperv.c       Dexuan Cui       2016-11-10  3820  {
17978524a636d00 drivers/pci/host/pci-hyperv.c       Dexuan Cui       2016-11-10  3821  	struct hv_pcibus_device *hbus;
a8e37506e79a7a0 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2019-11-24 @3822  	int ret;
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3823  
17978524a636d00 drivers/pci/host/pci-hyperv.c       Dexuan Cui       2016-11-10  3824  	hbus = hv_get_drvdata(hdev);
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3825  	if (hbus->state == hv_pcibus_installed) {
94d22763207ac66 drivers/pci/controller/pci-hyperv.c Long Li          2021-05-12  3826  		tasklet_disable(&hdev->channel->callback_event);
94d22763207ac66 drivers/pci/controller/pci-hyperv.c Long Li          2021-05-12  3827  		hbus->state = hv_pcibus_removing;
94d22763207ac66 drivers/pci/controller/pci-hyperv.c Long Li          2021-05-12  3828  		tasklet_enable(&hdev->channel->callback_event);
94d22763207ac66 drivers/pci/controller/pci-hyperv.c Long Li          2021-05-12  3829  		destroy_workqueue(hbus->wq);
94d22763207ac66 drivers/pci/controller/pci-hyperv.c Long Li          2021-05-12  3830  		hbus->wq = NULL;
94d22763207ac66 drivers/pci/controller/pci-hyperv.c Long Li          2021-05-12  3831  		/*
94d22763207ac66 drivers/pci/controller/pci-hyperv.c Long Li          2021-05-12  3832  		 * At this point, no work is running or can be scheduled
94d22763207ac66 drivers/pci/controller/pci-hyperv.c Long Li          2021-05-12  3833  		 * on hbus-wq. We can't race with hv_pci_devices_present()
94d22763207ac66 drivers/pci/controller/pci-hyperv.c Long Li          2021-05-12  3834  		 * or hv_pci_eject_device(), it's safe to proceed.
94d22763207ac66 drivers/pci/controller/pci-hyperv.c Long Li          2021-05-12  3835  		 */
94d22763207ac66 drivers/pci/controller/pci-hyperv.c Long Li          2021-05-12  3836  
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3837  		/* Remove the bus from PCI's point of view. */
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3838  		pci_lock_rescan_remove();
418cb6c8e051119 drivers/pci/controller/pci-hyperv.c Arnd Bergmann    2021-07-27  3839  		pci_stop_root_bus(hbus->bridge->bus);
15becc2b56c6eda drivers/pci/controller/pci-hyperv.c Dexuan Cui       2019-03-04  3840  		hv_pci_remove_slots(hbus);
418cb6c8e051119 drivers/pci/controller/pci-hyperv.c Arnd Bergmann    2021-07-27  3841  		pci_remove_root_bus(hbus->bridge->bus);
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3842  		pci_unlock_rescan_remove();
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3843  	}
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3844  
a8e37506e79a7a0 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2019-11-24  3845  	ret = hv_pci_bus_exit(hdev, false);
deb22e5c84c884a drivers/pci/host/pci-hyperv.c       Vitaly Kuznetsov 2016-04-29  3846  
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3847  	vmbus_close(hdev->channel);
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3848  
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3849  	iounmap(hbus->cfg_addr);
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3850  	hv_free_config_window(hbus);
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3851  	hv_pci_free_bridge_windows(hbus);
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3852  	irq_domain_remove(hbus->irq_domain);
9e7f9178ab4943b drivers/pci/controller/pci-hyperv.c Boqun Feng       2021-07-27  3853  	irq_domain_free_fwnode(hbus->fwnode);
be700103efd1050 drivers/pci/controller/pci-hyperv.c Haiyang Zhang    2019-08-15  3854  
38c0d266dc80b81 drivers/pci/controller/pci-hyperv.c Boqun Feng       2021-07-27  3855  	hv_put_dom_num(hbus->bridge->domain_nr);
be700103efd1050 drivers/pci/controller/pci-hyperv.c Haiyang Zhang    2019-08-15  3856  
877b911a5ba0733 drivers/pci/controller/pci-hyperv.c Dexuan Cui       2019-11-24  3857  	kfree(hbus);
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3858  }
4daace0d8ce851f drivers/pci/host/pci-hyperv.c       Jake Oshins      2016-02-16  3859  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

--baj2StxQK9RotUfM
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=config

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 6.1.0-rc8 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc-11 (Debian 11.3.0-8) 11.3.0"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=110300
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
CONFIG_AS_VERSION=23900
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=23900
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=123
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_WERROR is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
# CONFIG_WATCH_QUEUE is not set
CONFIG_CROSS_MEMORY_ATTACH=y
# CONFIG_USELIB is not set
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_GENERIC_IRQ_INJECTION=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
CONFIG_IRQ_MSI_IOMMU=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
# end of IRQ subsystem

CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_INIT=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_CONTEXT_TRACKING=y
CONFIG_CONTEXT_TRACKING_IDLE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ_FULL=y
CONFIG_CONTEXT_TRACKING_USER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=100
# end of Timers subsystem

CONFIG_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y

#
# BPF subsystem
#
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT_DEFAULT_ON=y
CONFIG_BPF_UNPRIV_DEFAULT_OFF=y
# CONFIG_BPF_PRELOAD is not set
# CONFIG_BPF_LSM is not set
# end of BPF subsystem

CONFIG_PREEMPT_VOLUNTARY_BUILD=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_COUNT=y
# CONFIG_PREEMPT_DYNAMIC is not set
# CONFIG_SCHED_CORE is not set

#
# CPU/Task time and stats accounting
#
CONFIG_VIRT_CPU_ACCOUNTING=y
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_SCHED_AVG_IRQ=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
# CONFIG_PSI is not set
# end of CPU/Task time and stats accounting

CONFIG_CPU_ISOLATION=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
# CONFIG_RCU_EXPERT is not set
CONFIG_SRCU=y
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_TASKS_RUDE_RCU=y
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_NOCB_CPU=y
# CONFIG_RCU_NOCB_CPU_DEFAULT_ALL is not set
# end of RCU Subsystem

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_IKHEADERS is not set
CONFIG_LOG_BUF_SHIFT=20
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
# CONFIG_PRINTK_INDEX is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

#
# Scheduler features
#
# CONFIG_UCLAMP_TASK is not set
# end of Scheduler features

CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
CONFIG_GCC12_NO_ARRAY_BOUNDS=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_KMEM=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
# CONFIG_CGROUP_BPF is not set
# CONFIG_CGROUP_MISC is not set
# CONFIG_CGROUP_DEBUG is not set
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_TIME_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
# CONFIG_BOOT_CONFIG is not set
CONFIG_INITRAMFS_PRESERVE_MTIME=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_LD_ORPHAN_WARN=y
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_KCMP=y
CONFIG_RSEQ=y
# CONFIG_DEBUG_RSEQ is not set
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_GUEST_PERF_EVENTS=y
# CONFIG_PC104 is not set

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# end of Kernel Performance Events And Counters

CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
# end of General setup

CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_NR_GPIO=1024
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_AUDIT_ARCH=y
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_DYNAMIC_PHYSICAL_MASK=y
CONFIG_PGTABLE_LEVELS=5
CONFIG_CC_HAS_SANE_STACKPROTECTOR=y

#
# Processor type and features
#
CONFIG_SMP=y
CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
# CONFIG_GOLDFISH is not set
# CONFIG_X86_CPU_RESCTRL is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_NUMACHIP is not set
# CONFIG_X86_VSMP is not set
CONFIG_X86_UV=y
# CONFIG_X86_GOLDFISH is not set
# CONFIG_X86_INTEL_MID is not set
CONFIG_X86_INTEL_LPSS=y
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
CONFIG_IOSF_MBI=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_X86_HV_CALLBACK_VECTOR=y
CONFIG_XEN=y
# CONFIG_XEN_PV is not set
CONFIG_XEN_PVHVM=y
CONFIG_XEN_PVHVM_SMP=y
CONFIG_XEN_PVHVM_GUEST=y
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
# CONFIG_XEN_PVH is not set
CONFIG_KVM_GUEST=y
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
# CONFIG_PVH is not set
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_ACRN_GUEST is not set
CONFIG_INTEL_TDX_GUEST=y
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_IA32_FEAT_CTL=y
CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
# CONFIG_CPU_SUP_AMD is not set
# CONFIG_CPU_SUP_HYGON is not set
# CONFIG_CPU_SUP_CENTAUR is not set
# CONFIG_CPU_SUP_ZHAOXIN is not set
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_BOOT_VESA_SUPPORT=y
CONFIG_MAXSMP=y
CONFIG_NR_CPUS_RANGE_BEGIN=8192
CONFIG_NR_CPUS_RANGE_END=8192
CONFIG_NR_CPUS_DEFAULT=8192
CONFIG_NR_CPUS=8192
CONFIG_SCHED_CLUSTER=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_MC_PRIO=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCELOG_LEGACY=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=m

#
# Performance monitoring
#
CONFIG_PERF_EVENTS_INTEL_UNCORE=m
CONFIG_PERF_EVENTS_INTEL_RAPL=m
CONFIG_PERF_EVENTS_INTEL_CSTATE=m
# end of Performance monitoring

CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_X86_IOPL_IOPERM=y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
# CONFIG_MICROCODE_LATE_LOADING is not set
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_X86_5LEVEL=y
CONFIG_X86_DIRECT_GBPAGES=y
# CONFIG_X86_CPA_STATISTICS is not set
CONFIG_X86_MEM_ENCRYPT=y
CONFIG_NUMA=y
# CONFIG_AMD_NUMA is not set
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=10
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
# CONFIG_ARCH_MEMORY_PROBE is not set
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_X86_PMEM_LEGACY_DEVICE=y
CONFIG_X86_PMEM_LEGACY=m
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
# CONFIG_X86_KERNEL_IBT is not set
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
# CONFIG_X86_SGX is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_MIXED=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_KEXEC_FILE=y
CONFIG_ARCH_HAS_KEXEC_PURGATORY=y
# CONFIG_KEXEC_SIG is not set
CONFIG_CRASH_DUMP=y
CONFIG_KEXEC_JUMP=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
# CONFIG_RANDOMIZE_BASE is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_DYNAMIC_MEMORY_LAYOUT=y
CONFIG_HOTPLUG_CPU=y
CONFIG_BOOTPARAM_HOTPLUG_CPU0=y
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
# CONFIG_COMPAT_VDSO is not set
CONFIG_LEGACY_VSYSCALL_XONLY=y
# CONFIG_LEGACY_VSYSCALL_NONE is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE=""
CONFIG_MODIFY_LDT_SYSCALL=y
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
CONFIG_HAVE_LIVEPATCH=y
CONFIG_LIVEPATCH=y
# end of Processor type and features

CONFIG_CC_HAS_SLS=y
CONFIG_CC_HAS_RETURN_THUNK=y
CONFIG_SPECULATION_MITIGATIONS=y
CONFIG_PAGE_TABLE_ISOLATION=y
CONFIG_RETPOLINE=y
CONFIG_RETHUNK=y
CONFIG_CPU_IBRS_ENTRY=y
# CONFIG_SLS is not set
CONFIG_ARCH_HAS_ADD_PAGES=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
# CONFIG_SUSPEND_SKIP_SYNC is not set
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_PM_SLEEP_DEBUG=y
# CONFIG_DPM_WATCHDOG is not set
# CONFIG_PM_TRACE_RTC is not set
CONFIG_PM_CLK=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_ENERGY_MODEL is not set
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_FPDT is not set
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_EC_DEBUGFS=m
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=y
CONFIG_ACPI_TAD=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_IPMI=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_PLATFORM_PROFILE=m
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=y
CONFIG_ACPI_HOTPLUG_IOAPIC=y
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=y
# CONFIG_ACPI_CUSTOM_METHOD is not set
CONFIG_ACPI_BGRT=y
# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set
CONFIG_ACPI_NFIT=m
# CONFIG_NFIT_SECURITY_DEBUG is not set
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_HMAT is not set
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_PCIEAER=y
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
CONFIG_ACPI_APEI_EINJ=m
# CONFIG_ACPI_APEI_ERST_DEBUG is not set
# CONFIG_ACPI_DPTF is not set
CONFIG_ACPI_WATCHDOG=y
CONFIG_ACPI_EXTLOG=m
CONFIG_ACPI_ADXL=y
# CONFIG_ACPI_CONFIGFS is not set
# CONFIG_ACPI_PFRUT is not set
CONFIG_ACPI_PCC=y
CONFIG_PMIC_OPREGION=y
CONFIG_ACPI_PRMT=y
CONFIG_X86_PM_TIMER=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

#
# CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_PCC_CPUFREQ is not set
# CONFIG_X86_AMD_PSTATE is not set
# CONFIG_X86_AMD_PSTATE_UT is not set
CONFIG_X86_ACPI_CPUFREQ=m
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_P4_CLOCKMOD=m

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=m
# end of CPU Frequency scaling

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_CPU_IDLE_GOV_TEO is not set
# CONFIG_CPU_IDLE_GOV_HALTPOLL is not set
CONFIG_HALTPOLL_CPUIDLE=y
# end of CPU Idle

CONFIG_INTEL_IDLE=y
# end of Power management and ACPI options

#
# Bus options (PCI etc.)
#
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
CONFIG_MMCONF_FAM10H=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_ISA_BUS is not set
CONFIG_ISA_DMA_API=y
# end of Bus options (PCI etc.)

#
# Binary Emulations
#
CONFIG_IA32_EMULATION=y
# CONFIG_X86_X32_ABI is not set
CONFIG_COMPAT_32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
# end of Binary Emulations

CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_PFNCACHE=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQFD=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_DIRTY_RING=y
CONFIG_HAVE_KVM_DIRTY_RING_TSO=y
CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_KVM_XFER_TO_GUEST_WORK=y
CONFIG_HAVE_KVM_PM_NOTIFIER=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
# CONFIG_KVM_WERROR is not set
CONFIG_KVM_INTEL=m
# CONFIG_KVM_AMD is not set
# CONFIG_KVM_XEN is not set
CONFIG_KVM_EXTERNAL_WRITE_TRACKING=y
CONFIG_AS_AVX512=y
CONFIG_AS_SHA1_NI=y
CONFIG_AS_SHA256_NI=y
CONFIG_AS_TPAUSE=y

#
# General architecture-dependent options
#
CONFIG_CRASH_CORE=y
CONFIG_KEXEC_CORE=y
CONFIG_HAVE_IMA_KEXEC=y
CONFIG_HOTPLUG_SMT=y
CONFIG_GENERIC_ENTRY=y
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
# CONFIG_STATIC_CALL_SELFTEST is not set
CONFIG_OPTPROBES=y
CONFIG_KPROBES_ON_FTRACE=y
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_KRETPROBES=y
CONFIG_KRETPROBE_ON_RETHOOK=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_RUST=y
CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_MMU_GATHER_MERGE_VMAS=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
CONFIG_HAVE_OBJTOOL=y
CONFIG_HAVE_JUMP_LABEL_HACK=y
CONFIG_HAVE_NOINSTR_HACK=y
CONFIG_HAVE_NOINSTR_VALIDATION=y
CONFIG_HAVE_UACCESS_VALIDATION=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_VMAP_STACK=y
CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
CONFIG_ARCH_USE_MEMREMAP_PROT=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_ARCH_HAS_CC_PLATFORM=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_HAVE_STATIC_CALL_INLINE=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
CONFIG_DYNAMIC_SIGFRAME=y
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling

CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_GCC_PLUGINS=y
# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
# end of General architecture-dependent options

CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULE_SIG_FORMAT=y
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_MODULE_SIG=y
# CONFIG_MODULE_SIG_FORCE is not set
CONFIG_MODULE_SIG_ALL=y
# CONFIG_MODULE_SIG_SHA1 is not set
# CONFIG_MODULE_SIG_SHA224 is not set
CONFIG_MODULE_SIG_SHA256=y
# CONFIG_MODULE_SIG_SHA384 is not set
# CONFIG_MODULE_SIG_SHA512 is not set
CONFIG_MODULE_SIG_HASH="sha256"
CONFIG_MODULE_COMPRESS_NONE=y
# CONFIG_MODULE_COMPRESS_GZIP is not set
# CONFIG_MODULE_COMPRESS_XZ is not set
# CONFIG_MODULE_COMPRESS_ZSTD is not set
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
CONFIG_MODPROBE_PATH="/sbin/modprobe"
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLOCK_LEGACY_AUTOLOAD=y
CONFIG_BLK_CGROUP_RWSTAT=y
CONFIG_BLK_DEV_BSG_COMMON=y
CONFIG_BLK_ICQ=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_INTEGRITY_T10=y
# CONFIG_BLK_DEV_ZONED is not set
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_WBT=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_CGROUP_IOLATENCY is not set
# CONFIG_BLK_CGROUP_FC_APPID is not set
# CONFIG_BLK_CGROUP_IOCOST is not set
# CONFIG_BLK_CGROUP_IOPRIO is not set
CONFIG_BLK_DEBUG_FS=y
# CONFIG_BLK_SED_OPAL is not set
# CONFIG_BLK_INLINE_ENCRYPTION is not set

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
# CONFIG_ACORN_PARTITION is not set
# CONFIG_AIX_PARTITION is not set
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
# CONFIG_ATARI_PARTITION is not set
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
# CONFIG_LDM_PARTITION is not set
CONFIG_SGI_PARTITION=y
# CONFIG_ULTRIX_PARTITION is not set
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
# CONFIG_SYSV68_PARTITION is not set
# CONFIG_CMDLINE_PARTITION is not set
# end of Partition Types

CONFIG_BLOCK_COMPAT=y
CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_BLK_PM=y
CONFIG_BLOCK_HOLDER_DEPRECATED=y
CONFIG_BLK_MQ_STACKING=y

#
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
# CONFIG_BFQ_CGROUP_DEBUG is not set
# end of IO Schedulers

CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y
CONFIG_ASN1=y
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
CONFIG_INLINE_READ_UNLOCK=y
CONFIG_INLINE_READ_UNLOCK_IRQ=y
CONFIG_INLINE_WRITE_UNLOCK=y
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
CONFIG_FREEZER=y

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=m
CONFIG_COREDUMP=y
# end of Executable file formats

#
# Memory Management options
#
CONFIG_ZPOOL=y
CONFIG_SWAP=y
CONFIG_ZSWAP=y
# CONFIG_ZSWAP_DEFAULT_ON is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
CONFIG_ZBUD=y
# CONFIG_Z3FOLD is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSMALLOC_STAT=y

#
# SLAB allocator options
#
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_SLAB_MERGE_DEFAULT=y
CONFIG_SLAB_FREELIST_RANDOM=y
# CONFIG_SLAB_FREELIST_HARDENED is not set
# CONFIG_SLUB_STATS is not set
CONFIG_SLUB_CPU_PARTIAL=y
# end of SLAB allocator options

CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_NUMA_KEEP_MEMINFO=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_HOTPLUG=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MHP_MEMMAP_ON_MEMORY=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y
CONFIG_BALLOON_COMPACTION=y
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
CONFIG_DEVICE_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=m
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANTS_THP_SWAP=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_THP_SWAP=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_FRONTSWAP=y
# CONFIG_CMA is not set
CONFIG_GENERIC_EARLY_IOREMAP=y
CONFIG_DEFERRED_STRUCT_PAGE_INIT=y
CONFIG_PAGE_IDLE_FLAG=y
CONFIG_IDLE_PAGE_TRACKING=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
CONFIG_ARCH_HAS_PTE_DEVMAP=y
CONFIG_ARCH_HAS_ZONE_DMA_SET=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_ZONE_DEVICE=y
CONFIG_GET_FREE_REGION=y
CONFIG_DEVICE_PRIVATE=y
CONFIG_VMAP_PFN=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
CONFIG_ARCH_HAS_PKEYS=y
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_PERCPU_STATS is not set
# CONFIG_GUP_TEST is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_MAPPING_DIRTY_HELPERS=y
CONFIG_SECRETMEM=y
# CONFIG_ANON_VMA_NAME is not set
CONFIG_USERFAULTFD=y
CONFIG_HAVE_ARCH_USERFAULTFD_WP=y
CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y
CONFIG_PTE_MARKER=y
CONFIG_PTE_MARKER_UFFD_WP=y
# CONFIG_LRU_GEN is not set

#
# Data Access Monitoring
#
# CONFIG_DAMON is not set
# end of Data Access Monitoring
# end of Memory Management options

CONFIG_NET=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_SKB_EXTENSIONS=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=m
CONFIG_UNIX=y
CONFIG_UNIX_SCM=y
CONFIG_AF_UNIX_OOB=y
CONFIG_UNIX_DIAG=m
CONFIG_TLS=m
CONFIG_TLS_DEVICE=y
# CONFIG_TLS_TOE is not set
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_USER_COMPAT is not set
# CONFIG_XFRM_INTERFACE is not set
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_AH=m
CONFIG_XFRM_ESP=m
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
CONFIG_XDP_SOCKETS=y
# CONFIG_XDP_SOCKETS_DIAG is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IP_TUNNEL=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=m
CONFIG_NET_UDP_TUNNEL=m
# CONFIG_NET_FOU is not set
# CONFIG_NET_FOU_IP_TUNNELS is not set
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
# CONFIG_INET_ESPINTCP is not set
CONFIG_INET_IPCOMP=m
CONFIG_INET_TABLE_PERTURB_ORDER=16
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
CONFIG_INET_UDP_DIAG=m
CONFIG_INET_RAW_DIAG=m
# CONFIG_INET_DIAG_DESTROY is not set
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_NV=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_CONG_DCTCP=m
# CONFIG_TCP_CONG_CDG is not set
CONFIG_TCP_CONG_BBR=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_ESP_OFFLOAD=m
# CONFIG_INET6_ESPINTCP is not set
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
# CONFIG_IPV6_ILA is not set
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_IPV6_VTI=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_MULTIPLE_TABLES=y
# CONFIG_IPV6_SUBTREES is not set
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
# CONFIG_IPV6_SEG6_LWTUNNEL is not set
# CONFIG_IPV6_SEG6_HMAC is not set
# CONFIG_IPV6_RPL_LWTUNNEL is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
CONFIG_NETLABEL=y
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=m
CONFIG_MPTCP_IPV6=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=m

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_EGRESS=y
CONFIG_NETFILTER_SKIP_EGRESS=y
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NETFILTER_FAMILY_ARP=y
# CONFIG_NETFILTER_NETLINK_HOOK is not set
# CONFIG_NETFILTER_NETLINK_ACCT is not set
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_LOG_SYSLOG=m
CONFIG_NETFILTER_CONNCOUNT=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_BROADCAST=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CT_NETLINK_TIMEOUT=m
CONFIG_NF_CT_NETLINK_HELPER=m
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=m
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_SIP=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NETFILTER_SYNPROXY=m
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_NUMGEN=m
CONFIG_NFT_CT=m
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_REDIR=m
CONFIG_NFT_NAT=m
# CONFIG_NFT_TUNNEL is not set
CONFIG_NFT_OBJREF=m
CONFIG_NFT_QUEUE=m
CONFIG_NFT_QUOTA=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_REJECT_INET=m
CONFIG_NFT_COMPAT=m
CONFIG_NFT_HASH=m
CONFIG_NFT_FIB=m
CONFIG_NFT_FIB_INET=m
# CONFIG_NFT_XFRM is not set
CONFIG_NFT_SOCKET=m
# CONFIG_NFT_OSF is not set
# CONFIG_NFT_TPROXY is not set
# CONFIG_NFT_SYNPROXY is not set
CONFIG_NF_DUP_NETDEV=m
CONFIG_NFT_DUP_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_FIB_NETDEV=m
# CONFIG_NFT_REJECT_NETDEV is not set
# CONFIG_NF_FLOW_TABLE is not set
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XTABLES_COMPAT=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_SET=m

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_HMARK=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
# CONFIG_NETFILTER_XT_TARGET_LED is not set
CONFIG_NETFILTER_XT_TARGET_LOG=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_NAT=m
CONFIG_NETFILTER_XT_TARGET_NETMAP=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
CONFIG_NETFILTER_XT_TARGET_RATEEST=m
CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_BPF=m
CONFIG_NETFILTER_XT_MATCH_CGROUP=m
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ECN=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=m
# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
# CONFIG_NETFILTER_XT_MATCH_L2TP is not set
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
# CONFIG_NETFILTER_XT_MATCH_TIME is not set
# CONFIG_NETFILTER_XT_MATCH_U32 is not set
# end of Core Netfilter Configuration

CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=m
CONFIG_IP_SET_BITMAP_IPMAC=m
CONFIG_IP_SET_BITMAP_PORT=m
CONFIG_IP_SET_HASH_IP=m
CONFIG_IP_SET_HASH_IPMARK=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
CONFIG_IP_SET_HASH_IPMAC=m
CONFIG_IP_SET_HASH_MAC=m
CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETIFACE=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_VS=m
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_FO=m
CONFIG_IP_VS_OVF=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
# CONFIG_IP_VS_MH is not set
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
# CONFIG_IP_VS_TWOS is not set

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS MH scheduler
#
CONFIG_IP_VS_MH_TAB_INDEX=12

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PE_SIP=m

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_SOCKET_IPV4=m
CONFIG_NF_TPROXY_IPV4=m
CONFIG_NF_TABLES_IPV4=y
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_DUP_IPV4=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NF_TABLES_ARP=y
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_RPFILTER=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_SYNPROXY=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_MANGLE=m
# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_SECURITY=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
# end of IP: Netfilter Configuration

#
# IPv6: Netfilter Configuration
#
CONFIG_NF_SOCKET_IPV6=m
CONFIG_NF_TPROXY_IPV6=m
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NFT_DUP_IPV6=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
# CONFIG_IP6_NF_MATCH_SRH is not set
# CONFIG_IP6_NF_TARGET_HL is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_TARGET_SYNPROXY=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
CONFIG_IP6_NF_TARGET_NPT=m
# end of IPv6: Netfilter Configuration

CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_TABLES_BRIDGE=m
# CONFIG_NFT_BRIDGE_META is not set
CONFIG_NFT_BRIDGE_REJECT=m
# CONFIG_NF_CONNTRACK_BRIDGE is not set
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
# CONFIG_BPFILTER is not set
# CONFIG_IP_DCCP is not set
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_COOKIE_HMAC_MD5=y
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_INET_SCTP_DIAG=m
# CONFIG_RDS is not set
CONFIG_TIPC=m
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=m
# CONFIG_ATM_MPOA is not set
CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=m
CONFIG_L2TP_DEBUGFS=m
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=m
CONFIG_L2TP_ETH=m
CONFIG_STP=m
CONFIG_GARP=m
CONFIG_MRP=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
# CONFIG_BRIDGE_MRP is not set
# CONFIG_BRIDGE_CFM is not set
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_LLC=m
# CONFIG_LLC2 is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_PHONET is not set
CONFIG_6LOWPAN=m
# CONFIG_6LOWPAN_DEBUGFS is not set
# CONFIG_6LOWPAN_NHC is not set
CONFIG_IEEE802154=y
# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
CONFIG_IEEE802154_SOCKET=m
CONFIG_IEEE802154_6LOWPAN=m
CONFIG_MAC802154=y
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=m
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_ATM=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
# CONFIG_NET_SCH_CBS is not set
# CONFIG_NET_SCH_ETF is not set
# CONFIG_NET_SCH_TAPRIO is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_DSMARK=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
# CONFIG_NET_SCH_SKBPRIO is not set
CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=y
# CONFIG_NET_SCH_CAKE is not set
CONFIG_NET_SCH_FQ=m
CONFIG_NET_SCH_HHF=m
CONFIG_NET_SCH_PIE=m
# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_PLUG=m
# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_DEFAULT=y
# CONFIG_DEFAULT_FQ is not set
# CONFIG_DEFAULT_CODEL is not set
CONFIG_DEFAULT_FQ_CODEL=y
# CONFIG_DEFAULT_SFQ is not set
# CONFIG_DEFAULT_PFIFO_FAST is not set
CONFIG_DEFAULT_NET_SCH="fq_codel"

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_TCINDEX=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=m
CONFIG_NET_CLS_RSVP6=m
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_CLS_BPF=m
CONFIG_NET_CLS_FLOWER=m
CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
# CONFIG_NET_EMATCH_CANID is not set
CONFIG_NET_EMATCH_IPSET=m
# CONFIG_NET_EMATCH_IPT is not set
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_SAMPLE=m
# CONFIG_NET_ACT_IPT is not set
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
# CONFIG_NET_ACT_MPLS is not set
CONFIG_NET_ACT_VLAN=m
CONFIG_NET_ACT_BPF=m
# CONFIG_NET_ACT_CONNMARK is not set
# CONFIG_NET_ACT_CTINFO is not set
CONFIG_NET_ACT_SKBMOD=m
# CONFIG_NET_ACT_IFE is not set
CONFIG_NET_ACT_TUNNEL_KEY=m
# CONFIG_NET_ACT_GATE is not set
# CONFIG_NET_TC_SKB_EXT is not set
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=m
# CONFIG_BATMAN_ADV is not set
CONFIG_OPENVSWITCH=m
CONFIG_OPENVSWITCH_GRE=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKETS_DIAG=m
CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VMWARE_VMCI_VSOCKETS=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO_VSOCKETS_COMMON=m
CONFIG_HYPERV_VSOCKETS=m
CONFIG_NETLINK_DIAG=m
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=y
CONFIG_MPLS_ROUTING=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_NET_NSH=y
# CONFIG_HSR is not set
CONFIG_NET_SWITCHDEV=y
CONFIG_NET_L3_MASTER_DEV=y
# CONFIG_QRTR is not set
# CONFIG_NET_NCSI is not set
CONFIG_PCPU_DEV_REFCNT=y
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
CONFIG_NET_PKTGEN=m
CONFIG_NET_DROP_MONITOR=y
# end of Network testing
# end of Networking options

# CONFIG_HAMRADIO is not set
CONFIG_CAN=m
CONFIG_CAN_RAW=m
CONFIG_CAN_BCM=m
CONFIG_CAN_GW=m
# CONFIG_CAN_J1939 is not set
# CONFIG_CAN_ISOTP is not set
CONFIG_BT=y
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m
CONFIG_BT_HS=y
CONFIG_BT_LE=y
# CONFIG_BT_6LOWPAN is not set
# CONFIG_BT_LEDS is not set
# CONFIG_BT_MSFTEXT is not set
# CONFIG_BT_AOSPEXT is not set
CONFIG_BT_DEBUGFS=y
# CONFIG_BT_SELFTEST is not set

#
# Bluetooth device drivers
#
# CONFIG_BT_HCIBTUSB is not set
# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
# CONFIG_BT_HCIUART_INTEL is not set
# CONFIG_BT_HCIUART_AG6XX is not set
# CONFIG_BT_HCIBCM203X is not set
# CONFIG_BT_HCIBPA10X is not set
# CONFIG_BT_HCIBFUSB is not set
CONFIG_BT_HCIVHCI=y
CONFIG_BT_MRVL=m
# CONFIG_BT_MRVL_SDIO is not set
# CONFIG_BT_MTKSDIO is not set
# CONFIG_BT_VIRTIO is not set
# end of Bluetooth device drivers

# CONFIG_AF_RXRPC is not set
# CONFIG_AF_KCM is not set
CONFIG_STREAM_PARSER=y
# CONFIG_MCTP is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_CFG80211=y
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_CERTIFICATION_ONUS is not set
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
CONFIG_CFG80211_CRDA_SUPPORT=y
# CONFIG_CFG80211_WEXT is not set
CONFIG_MAC80211=y
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
# CONFIG_MAC80211_MESH is not set
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_NET_9P=y
CONFIG_NET_9P_FD=y
CONFIG_NET_9P_VIRTIO=y
# CONFIG_NET_9P_XEN is not set
# CONFIG_NET_9P_DEBUG is not set
# CONFIG_CAIF is not set
CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
# CONFIG_NFC is not set
CONFIG_PSAMPLE=m
# CONFIG_NET_IFE is not set
CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_SOCK_VALIDATE_XMIT=y
CONFIG_NET_SOCK_MSG=y
CONFIG_PAGE_POOL=y
# CONFIG_PAGE_POOL_STATS is not set
CONFIG_FAILOVER=m
CONFIG_ETHTOOL_NETLINK=y

#
# Device Drivers
#
CONFIG_HAVE_EISA=y
# CONFIG_EISA is not set
CONFIG_HAVE_PCI=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_PCIEAER=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIE_ECRC=y
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_PTM is not set
# CONFIG_PCIE_EDR is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_MSI_IRQ_DOMAIN=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
CONFIG_PCI_STUB=y
CONFIG_PCI_PF_STUB=m
CONFIG_PCI_ATS=y
CONFIG_PCI_LOCKLESS_CONFIG=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
# CONFIG_PCI_P2PDMA is not set
CONFIG_PCI_LABEL=y
CONFIG_PCI_HYPERV=m
# CONFIG_PCIE_BUS_TUNE_OFF is not set
CONFIG_PCIE_BUS_DEFAULT=y
# CONFIG_PCIE_BUS_SAFE is not set
# CONFIG_PCIE_BUS_PERFORMANCE is not set
# CONFIG_PCIE_BUS_PEER2PEER is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=64
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
# CONFIG_HOTPLUG_PCI_CPCI is not set
CONFIG_HOTPLUG_PCI_SHPC=y

#
# PCI controller drivers
#
CONFIG_VMD=y
CONFIG_PCI_HYPERV_INTERFACE=m

#
# DesignWare PCI Core Support
#
# CONFIG_PCIE_DW_PLAT_HOST is not set
# CONFIG_PCI_MESON is not set
# end of DesignWare PCI Core Support

#
# Mobiveil PCIe Core Support
#
# end of Mobiveil PCIe Core Support

#
# Cadence PCIe controllers support
#
# end of Cadence PCIe controllers support
# end of PCI controller drivers

#
# PCI Endpoint
#
# CONFIG_PCI_ENDPOINT is not set
# end of PCI Endpoint

#
# PCI switch controller drivers
#
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers

# CONFIG_CXL_BUS is not set
# CONFIG_PCCARD is not set
# CONFIG_RAPIDIO is not set

#
# Generic Driver Options
#
CONFIG_AUXILIARY_BUS=y
# CONFIG_UEVENT_HELPER is not set
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_DEVTMPFS_SAFE is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y

#
# Firmware loader
#
CONFIG_FW_LOADER=y
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_FW_LOADER_SYSFS=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
# CONFIG_FW_LOADER_COMPRESS is not set
CONFIG_FW_CACHE=y
# CONFIG_FW_UPLOAD is not set
# end of Firmware loader

CONFIG_ALLOW_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
CONFIG_SYS_HYPERVISOR=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP_SPI=m
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_DMA_FENCE_TRACE is not set
# end of Generic Driver Options

#
# Bus devices
#
# CONFIG_MHI_BUS is not set
# CONFIG_MHI_BUS_EP is not set
# end of Bus devices

CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y

#
# Firmware Drivers
#

#
# ARM System Control and Management Interface Protocol
#
# end of ARM System Control and Management Interface Protocol

CONFIG_EDD=m
# CONFIG_EDD_OFF is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=y
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT is not set
CONFIG_FW_CFG_SYSFS=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_SYSFB=y
# CONFIG_SYSFB_SIMPLEFB is not set
# CONFIG_GOOGLE_FIRMWARE is not set

#
# EFI (Extensible Firmware Interface) Support
#
CONFIG_EFI_ESRT=y
CONFIG_EFI_VARS_PSTORE=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
CONFIG_EFI_RUNTIME_MAP=y
# CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
CONFIG_EFI_RUNTIME_WRAPPERS=y
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_TEST is not set
CONFIG_EFI_DEV_PATH_PARSER=y
CONFIG_APPLE_PROPERTIES=y
# CONFIG_RESET_ATTACK_MITIGATION is not set
# CONFIG_EFI_RCI2_TABLE is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_EARLYCON=y
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
# CONFIG_EFI_DISABLE_RUNTIME is not set
# CONFIG_EFI_COCO_SECRET is not set
# end of EFI (Extensible Firmware Interface) Support

CONFIG_UEFI_CPER=y
CONFIG_UEFI_CPER_X86=y

#
# Tegra firmware driver
#
# end of Tegra firmware driver
# end of Firmware Drivers

# CONFIG_GNSS is not set
# CONFIG_MTD is not set
# CONFIG_OF is not set
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
# CONFIG_PARPORT_AX88796 is not set
CONFIG_PARPORT_1284=y
CONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_NULL_BLK=m
# CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION is not set
# CONFIG_BLK_DEV_FD is not set
CONFIG_CDROM=m
# CONFIG_PARIDE is not set
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
CONFIG_ZRAM=m
CONFIG_ZRAM_DEF_COMP_LZORLE=y
# CONFIG_ZRAM_DEF_COMP_LZO is not set
CONFIG_ZRAM_DEF_COMP="lzo-rle"
CONFIG_ZRAM_WRITEBACK=y
# CONFIG_ZRAM_MEMORY_TRACKING is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
# CONFIG_BLK_DEV_DRBD is not set
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_VIRTIO_BLK=m
CONFIG_BLK_DEV_RBD=m
# CONFIG_BLK_DEV_UBLK is not set

#
# NVME Support
#
CONFIG_NVME_CORE=m
CONFIG_BLK_DEV_NVME=m
CONFIG_NVME_MULTIPATH=y
# CONFIG_NVME_VERBOSE_ERRORS is not set
# CONFIG_NVME_HWMON is not set
CONFIG_NVME_FABRICS=m
CONFIG_NVME_FC=m
# CONFIG_NVME_TCP is not set
# CONFIG_NVME_AUTH is not set
CONFIG_NVME_TARGET=m
# CONFIG_NVME_TARGET_PASSTHRU is not set
CONFIG_NVME_TARGET_LOOP=m
CONFIG_NVME_TARGET_FC=m
CONFIG_NVME_TARGET_FCLOOP=m
# CONFIG_NVME_TARGET_TCP is not set
# CONFIG_NVME_TARGET_AUTH is not set
# end of NVME Support

#
# Misc devices
#
CONFIG_SENSORS_LIS3LV02D=m
# CONFIG_AD525X_DPOT is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
CONFIG_TIFM_CORE=m
CONFIG_TIFM_7XX1=m
# CONFIG_ICS932S401 is not set
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_SGI_XP=m
CONFIG_HP_ILO=m
CONFIG_SGI_GRU=m
# CONFIG_SGI_GRU_DEBUG is not set
CONFIG_APDS9802ALS=m
CONFIG_ISL29003=m
CONFIG_ISL29020=m
CONFIG_SENSORS_TSL2550=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_APDS990X=m
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
CONFIG_VMWARE_BALLOON=m
# CONFIG_LATTICE_ECP3_CONFIG is not set
# CONFIG_SRAM is not set
# CONFIG_DW_XDATA_PCIE is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
CONFIG_MISC_RTSX=m
# CONFIG_C2PORT is not set

#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_AT25 is not set
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
# CONFIG_EEPROM_IDT_89HPESX is not set
# CONFIG_EEPROM_EE1004 is not set
# end of EEPROM support

CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
CONFIG_CB710_DEBUG_ASSUMPTIONS=y

#
# Texas Instruments shared transport line discipline
#
# CONFIG_TI_ST is not set
# end of Texas Instruments shared transport line discipline

CONFIG_SENSORS_LIS3_I2C=m
CONFIG_ALTERA_STAPL=m
CONFIG_INTEL_MEI=m
CONFIG_INTEL_MEI_ME=m
# CONFIG_INTEL_MEI_TXE is not set
# CONFIG_INTEL_MEI_GSC is not set
# CONFIG_INTEL_MEI_HDCP is not set
# CONFIG_INTEL_MEI_PXP is not set
CONFIG_VMWARE_VMCI=m
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not set
# CONFIG_BCM_VK is not set
# CONFIG_MISC_ALCOR_PCI is not set
CONFIG_MISC_RTSX_PCI=m
# CONFIG_MISC_RTSX_USB is not set
# CONFIG_HABANA_AI is not set
# CONFIG_UACCE is not set
CONFIG_PVPANIC=y
# CONFIG_PVPANIC_MMIO is not set
# CONFIG_PVPANIC_PCI is not set
# CONFIG_GP_PCI1XXXX is not set
# end of Misc devices

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=m
CONFIG_SCSI_COMMON=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=m
CONFIG_CHR_DEV_SG=m
CONFIG_BLK_DEV_BSG=y
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_ENCLOSURE=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
# CONFIG_SCSI_SAS_ATA is not set
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SRP_ATTRS=m
# end of SCSI Transports

CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_CXGB4_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_HPSA is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_MPT3SAS is not set
# CONFIG_SCSI_MPT2SAS is not set
# CONFIG_SCSI_MPI3MR is not set
# CONFIG_SCSI_SMARTPQI is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_MYRB is not set
# CONFIG_SCSI_MYRS is not set
# CONFIG_VMWARE_PVSCSI is not set
# CONFIG_XEN_SCSI_FRONTEND is not set
CONFIG_HYPERV_STORAGE=m
# CONFIG_LIBFC is not set
# CONFIG_SCSI_SNIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_FDOMAIN_PCI is not set
# CONFIG_SCSI_ISCI is not set
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_EFCT is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_WD719X is not set
# CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
# CONFIG_SCSI_BFA_FC is not set
# CONFIG_SCSI_VIRTIO is not set
# CONFIG_SCSI_CHELSIO_FCOE is not set
CONFIG_SCSI_DH=y
CONFIG_SCSI_DH_RDAC=y
CONFIG_SCSI_DH_HP_SW=y
CONFIG_SCSI_DH_EMC=y
CONFIG_SCSI_DH_ALUA=y
# end of SCSI device support

CONFIG_ATA=y
CONFIG_SATA_HOST=y
CONFIG_PATA_TIMINGS=y
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_FORCE=y
CONFIG_ATA_ACPI=y
# CONFIG_SATA_ZPODD is not set
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=m
CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_AHCI_PLATFORM=m
# CONFIG_AHCI_DWC is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not set
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set

#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
# CONFIG_PATA_SCH is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_RZ1000 is not set

#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
CONFIG_ATA_GENERIC=y
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
# CONFIG_MD_MULTIPATH is not set
CONFIG_MD_FAULTY=m
CONFIG_MD_CLUSTER=m
# CONFIG_BCACHE is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=m
CONFIG_DM_DEBUG=y
CONFIG_DM_BUFIO=m
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_BIO_PRISON=m
CONFIG_DM_PERSISTENT_DATA=m
# CONFIG_DM_UNSTRIPED is not set
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
CONFIG_DM_WRITECACHE=m
# CONFIG_DM_EBS is not set
CONFIG_DM_ERA=m
# CONFIG_DM_CLONE is not set
CONFIG_DM_MIRROR=m
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_RAID=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_QL=m
CONFIG_DM_MULTIPATH_ST=m
# CONFIG_DM_MULTIPATH_HST is not set
# CONFIG_DM_MULTIPATH_IOA is not set
CONFIG_DM_DELAY=m
# CONFIG_DM_DUST is not set
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
CONFIG_DM_VERITY=m
# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set
# CONFIG_DM_VERITY_FEC is not set
CONFIG_DM_SWITCH=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_INTEGRITY=m
CONFIG_DM_AUDIT=y
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_TCM_USER2=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_ISCSI_TARGET=m
# CONFIG_SBP_TARGET is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
# CONFIG_FIREWIRE_NOSY is not set
# end of IEEE 1394 (FireWire) support

CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=y
CONFIG_NETDEVICES=y
CONFIG_NET_CORE=y
# CONFIG_BONDING is not set
# CONFIG_DUMMY is not set
# CONFIG_WIREGUARD is not set
# CONFIG_EQUALIZER is not set
# CONFIG_NET_FC is not set
# CONFIG_IFB is not set
# CONFIG_NET_TEAM is not set
# CONFIG_MACVLAN is not set
# CONFIG_IPVLAN is not set
# CONFIG_VXLAN is not set
# CONFIG_GENEVE is not set
# CONFIG_BAREUDP is not set
# CONFIG_GTP is not set
# CONFIG_AMT is not set
# CONFIG_MACSEC is not set
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=y
# CONFIG_TUN_VNET_CROSS_LE is not set
# CONFIG_VETH is not set
CONFIG_VIRTIO_NET=m
# CONFIG_NLMON is not set
# CONFIG_NET_VRF is not set
# CONFIG_VSOCKMON is not set
# CONFIG_ARCNET is not set
CONFIG_ATM_DRIVERS=y
# CONFIG_ATM_DUMMY is not set
# CONFIG_ATM_TCP is not set
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_IDT77252 is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E is not set
# CONFIG_ATM_HE is not set
# CONFIG_ATM_SOLOS is not set
CONFIG_ETHERNET=y
CONFIG_NET_VENDOR_3COM=y
# CONFIG_VORTEX is not set
# CONFIG_TYPHOON is not set
CONFIG_NET_VENDOR_ADAPTEC=y
# CONFIG_ADAPTEC_STARFIRE is not set
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_ET131X is not set
CONFIG_NET_VENDOR_ALACRITECH=y
# CONFIG_SLICOSS is not set
CONFIG_NET_VENDOR_ALTEON=y
# CONFIG_ACENIC is not set
# CONFIG_ALTERA_TSE is not set
CONFIG_NET_VENDOR_AMAZON=y
# CONFIG_ENA_ETHERNET is not set
# CONFIG_NET_VENDOR_AMD is not set
CONFIG_NET_VENDOR_AQUANTIA=y
# CONFIG_AQTION is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ASIX=y
# CONFIG_SPI_AX88796C is not set
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_ATL2 is not set
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
# CONFIG_ATL1C is not set
# CONFIG_ALX is not set
# CONFIG_CX_ECAT is not set
CONFIG_NET_VENDOR_BROADCOM=y
# CONFIG_B44 is not set
# CONFIG_BCMGENET is not set
# CONFIG_BNX2 is not set
# CONFIG_CNIC is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2X is not set
# CONFIG_SYSTEMPORT is not set
# CONFIG_BNXT is not set
CONFIG_NET_VENDOR_CADENCE=y
# CONFIG_MACB is not set
CONFIG_NET_VENDOR_CAVIUM=y
# CONFIG_THUNDER_NIC_PF is not set
# CONFIG_THUNDER_NIC_VF is not set
# CONFIG_THUNDER_NIC_BGX is not set
# CONFIG_THUNDER_NIC_RGX is not set
CONFIG_CAVIUM_PTP=y
# CONFIG_LIQUIDIO is not set
# CONFIG_LIQUIDIO_VF is not set
CONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_CHELSIO_T4 is not set
# CONFIG_CHELSIO_T4VF is not set
CONFIG_NET_VENDOR_CISCO=y
# CONFIG_ENIC is not set
CONFIG_NET_VENDOR_CORTINA=y
CONFIG_NET_VENDOR_DAVICOM=y
# CONFIG_DM9051 is not set
# CONFIG_DNET is not set
CONFIG_NET_VENDOR_DEC=y
# CONFIG_NET_TULIP is not set
CONFIG_NET_VENDOR_DLINK=y
# CONFIG_DL2K is not set
# CONFIG_SUNDANCE is not set
CONFIG_NET_VENDOR_EMULEX=y
# CONFIG_BE2NET is not set
CONFIG_NET_VENDOR_ENGLEDER=y
# CONFIG_TSNEP is not set
CONFIG_NET_VENDOR_EZCHIP=y
CONFIG_NET_VENDOR_FUNGIBLE=y
# CONFIG_FUN_ETH is not set
CONFIG_NET_VENDOR_GOOGLE=y
# CONFIG_GVE is not set
CONFIG_NET_VENDOR_HUAWEI=y
# CONFIG_HINIC is not set
CONFIG_NET_VENDOR_I825XX=y
CONFIG_NET_VENDOR_INTEL=y
# CONFIG_E100 is not set
CONFIG_E1000=y
# CONFIG_E1000E is not set
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_IXGB is not set
# CONFIG_IXGBE is not set
# CONFIG_IXGBEVF is not set
CONFIG_I40E=y
# CONFIG_I40E_DCB is not set
# CONFIG_I40EVF is not set
# CONFIG_ICE is not set
# CONFIG_FM10K is not set
# CONFIG_IGC is not set
CONFIG_NET_VENDOR_WANGXUN=y
# CONFIG_NGBE is not set
# CONFIG_TXGBE is not set
# CONFIG_JME is not set
CONFIG_NET_VENDOR_ADI=y
# CONFIG_ADIN1110 is not set
CONFIG_NET_VENDOR_LITEX=y
CONFIG_NET_VENDOR_MARVELL=y
# CONFIG_MVMDIO is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_OCTEON_EP is not set
# CONFIG_PRESTERA is not set
CONFIG_NET_VENDOR_MELLANOX=y
# CONFIG_MLX4_EN is not set
# CONFIG_MLX5_CORE is not set
# CONFIG_MLXSW_CORE is not set
# CONFIG_MLXFW is not set
CONFIG_NET_VENDOR_MICREL=y
# CONFIG_KS8842 is not set
# CONFIG_KS8851 is not set
# CONFIG_KS8851_MLL is not set
# CONFIG_KSZ884X_PCI is not set
CONFIG_NET_VENDOR_MICROCHIP=y
# CONFIG_ENC28J60 is not set
# CONFIG_ENCX24J600 is not set
# CONFIG_LAN743X is not set
CONFIG_NET_VENDOR_MICROSEMI=y
CONFIG_NET_VENDOR_MICROSOFT=y
# CONFIG_MICROSOFT_MANA is not set
CONFIG_NET_VENDOR_MYRI=y
# CONFIG_MYRI10GE is not set
# CONFIG_FEALNX is not set
CONFIG_NET_VENDOR_NI=y
# CONFIG_NI_XGE_MANAGEMENT_ENET is not set
CONFIG_NET_VENDOR_NATSEMI=y
# CONFIG_NATSEMI is not set
# CONFIG_NS83820 is not set
CONFIG_NET_VENDOR_NETERION=y
# CONFIG_S2IO is not set
CONFIG_NET_VENDOR_NETRONOME=y
# CONFIG_NFP is not set
CONFIG_NET_VENDOR_8390=y
# CONFIG_NE2K_PCI is not set
CONFIG_NET_VENDOR_NVIDIA=y
# CONFIG_FORCEDETH is not set
CONFIG_NET_VENDOR_OKI=y
# CONFIG_ETHOC is not set
CONFIG_NET_VENDOR_PACKET_ENGINES=y
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
CONFIG_NET_VENDOR_PENSANDO=y
# CONFIG_IONIC is not set
CONFIG_NET_VENDOR_QLOGIC=y
# CONFIG_QLA3XXX is not set
# CONFIG_QLCNIC is not set
# CONFIG_NETXEN_NIC is not set
# CONFIG_QED is not set
CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_BNA is not set
CONFIG_NET_VENDOR_QUALCOMM=y
# CONFIG_QCOM_EMAC is not set
# CONFIG_RMNET is not set
CONFIG_NET_VENDOR_RDC=y
# CONFIG_R6040 is not set
CONFIG_NET_VENDOR_REALTEK=y
# CONFIG_ATP is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
# CONFIG_R8169 is not set
CONFIG_NET_VENDOR_RENESAS=y
CONFIG_NET_VENDOR_ROCKER=y
# CONFIG_ROCKER is not set
CONFIG_NET_VENDOR_SAMSUNG=y
# CONFIG_SXGBE_ETH is not set
CONFIG_NET_VENDOR_SEEQ=y
CONFIG_NET_VENDOR_SILAN=y
# CONFIG_SC92031 is not set
CONFIG_NET_VENDOR_SIS=y
# CONFIG_SIS900 is not set
# CONFIG_SIS190 is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
# CONFIG_SFC is not set
# CONFIG_SFC_FALCON is not set
# CONFIG_SFC_SIENA is not set
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_EPIC100 is not set
# CONFIG_SMSC911X is not set
# CONFIG_SMSC9420 is not set
CONFIG_NET_VENDOR_SOCIONEXT=y
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_STMMAC_ETH is not set
CONFIG_NET_VENDOR_SUN=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NIU is not set
CONFIG_NET_VENDOR_SYNOPSYS=y
# CONFIG_DWC_XLGMAC is not set
CONFIG_NET_VENDOR_TEHUTI=y
# CONFIG_TEHUTI is not set
CONFIG_NET_VENDOR_TI=y
# CONFIG_TI_CPSW_PHY_SEL is not set
# CONFIG_TLAN is not set
CONFIG_NET_VENDOR_VERTEXCOM=y
# CONFIG_MSE102X is not set
CONFIG_NET_VENDOR_VIA=y
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_VELOCITY is not set
CONFIG_NET_VENDOR_WIZNET=y
# CONFIG_WIZNET_W5100 is not set
# CONFIG_WIZNET_W5300 is not set
CONFIG_NET_VENDOR_XILINX=y
# CONFIG_XILINX_EMACLITE is not set
# CONFIG_XILINX_AXI_EMAC is not set
# CONFIG_XILINX_LL_TEMAC is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_NET_SB1000 is not set
# CONFIG_PHYLIB is not set
# CONFIG_MICREL_KS8995MA is not set
# CONFIG_PSE_CONTROLLER is not set
CONFIG_CAN_DEV=m
CONFIG_CAN_VCAN=m
# CONFIG_CAN_VXCAN is not set
CONFIG_CAN_NETLINK=y
CONFIG_CAN_CALC_BITTIMING=y
# CONFIG_CAN_CAN327 is not set
# CONFIG_CAN_KVASER_PCIEFD is not set
CONFIG_CAN_SLCAN=m
CONFIG_CAN_C_CAN=m
CONFIG_CAN_C_CAN_PLATFORM=m
CONFIG_CAN_C_CAN_PCI=m
CONFIG_CAN_CC770=m
# CONFIG_CAN_CC770_ISA is not set
CONFIG_CAN_CC770_PLATFORM=m
# CONFIG_CAN_CTUCANFD_PCI is not set
# CONFIG_CAN_IFI_CANFD is not set
# CONFIG_CAN_M_CAN is not set
# CONFIG_CAN_PEAK_PCIEFD is not set
CONFIG_CAN_SJA1000=m
CONFIG_CAN_EMS_PCI=m
# CONFIG_CAN_F81601 is not set
CONFIG_CAN_KVASER_PCI=m
CONFIG_CAN_PEAK_PCI=m
CONFIG_CAN_PEAK_PCIEC=y
CONFIG_CAN_PLX_PCI=m
# CONFIG_CAN_SJA1000_ISA is not set
CONFIG_CAN_SJA1000_PLATFORM=m
CONFIG_CAN_SOFTING=m

#
# CAN SPI interfaces
#
# CONFIG_CAN_HI311X is not set
# CONFIG_CAN_MCP251X is not set
# CONFIG_CAN_MCP251XFD is not set
# end of CAN SPI interfaces

#
# CAN USB interfaces
#
# CONFIG_CAN_8DEV_USB is not set
# CONFIG_CAN_EMS_USB is not set
# CONFIG_CAN_ESD_USB is not set
# CONFIG_CAN_ETAS_ES58X is not set
# CONFIG_CAN_GS_USB is not set
# CONFIG_CAN_KVASER_USB is not set
# CONFIG_CAN_MCBA_USB is not set
# CONFIG_CAN_PEAK_USB is not set
# CONFIG_CAN_UCAN is not set
# end of CAN USB interfaces

# CONFIG_CAN_DEBUG_DEVICES is not set
# CONFIG_MDIO_DEVICE is not set

#
# PCS device drivers
#
# end of PCS device drivers

# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
CONFIG_USB_NET_DRIVERS=y
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_RTL8152 is not set
# CONFIG_USB_LAN78XX is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_HSO is not set
# CONFIG_USB_IPHETH is not set
CONFIG_WLAN=y
CONFIG_WLAN_VENDOR_ADMTEK=y
# CONFIG_ADM8211 is not set
CONFIG_WLAN_VENDOR_ATH=y
# CONFIG_ATH_DEBUG is not set
# CONFIG_ATH5K is not set
# CONFIG_ATH5K_PCI is not set
# CONFIG_ATH9K is not set
# CONFIG_ATH9K_HTC is not set
# CONFIG_CARL9170 is not set
# CONFIG_ATH6KL is not set
# CONFIG_AR5523 is not set
# CONFIG_WIL6210 is not set
# CONFIG_ATH10K is not set
# CONFIG_WCN36XX is not set
# CONFIG_ATH11K is not set
CONFIG_WLAN_VENDOR_ATMEL=y
# CONFIG_ATMEL is not set
# CONFIG_AT76C50X_USB is not set
CONFIG_WLAN_VENDOR_BROADCOM=y
# CONFIG_B43 is not set
# CONFIG_B43LEGACY is not set
# CONFIG_BRCMSMAC is not set
# CONFIG_BRCMFMAC is not set
CONFIG_WLAN_VENDOR_CISCO=y
# CONFIG_AIRO is not set
CONFIG_WLAN_VENDOR_INTEL=y
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200 is not set
# CONFIG_IWL4965 is not set
# CONFIG_IWL3945 is not set
# CONFIG_IWLWIFI is not set
CONFIG_WLAN_VENDOR_INTERSIL=y
# CONFIG_HOSTAP is not set
# CONFIG_HERMES is not set
# CONFIG_P54_COMMON is not set
CONFIG_WLAN_VENDOR_MARVELL=y
# CONFIG_LIBERTAS is not set
# CONFIG_LIBERTAS_THINFIRM is not set
# CONFIG_MWIFIEX is not set
# CONFIG_MWL8K is not set
CONFIG_WLAN_VENDOR_MEDIATEK=y
# CONFIG_MT7601U is not set
# CONFIG_MT76x0U is not set
# CONFIG_MT76x0E is not set
# CONFIG_MT76x2E is not set
# CONFIG_MT76x2U is not set
# CONFIG_MT7603E is not set
# CONFIG_MT7615E is not set
# CONFIG_MT7663U is not set
# CONFIG_MT7663S is not set
# CONFIG_MT7915E is not set
# CONFIG_MT7921E is not set
# CONFIG_MT7921S is not set
# CONFIG_MT7921U is not set
CONFIG_WLAN_VENDOR_MICROCHIP=y
# CONFIG_WILC1000_SDIO is not set
# CONFIG_WILC1000_SPI is not set
CONFIG_WLAN_VENDOR_PURELIFI=y
# CONFIG_PLFXLC is not set
CONFIG_WLAN_VENDOR_RALINK=y
# CONFIG_RT2X00 is not set
CONFIG_WLAN_VENDOR_REALTEK=y
# CONFIG_RTL8180 is not set
# CONFIG_RTL8187 is not set
CONFIG_RTL_CARDS=m
# CONFIG_RTL8192CE is not set
# CONFIG_RTL8192SE is not set
# CONFIG_RTL8192DE is not set
# CONFIG_RTL8723AE is not set
# CONFIG_RTL8723BE is not set
# CONFIG_RTL8188EE is not set
# CONFIG_RTL8192EE is not set
# CONFIG_RTL8821AE is not set
# CONFIG_RTL8192CU is not set
# CONFIG_RTL8XXXU is not set
# CONFIG_RTW88 is not set
# CONFIG_RTW89 is not set
CONFIG_WLAN_VENDOR_RSI=y
# CONFIG_RSI_91X is not set
CONFIG_WLAN_VENDOR_SILABS=y
# CONFIG_WFX is not set
CONFIG_WLAN_VENDOR_ST=y
# CONFIG_CW1200 is not set
CONFIG_WLAN_VENDOR_TI=y
# CONFIG_WL1251 is not set
# CONFIG_WL12XX is not set
# CONFIG_WL18XX is not set
# CONFIG_WLCORE is not set
CONFIG_WLAN_VENDOR_ZYDAS=y
# CONFIG_USB_ZD1201 is not set
# CONFIG_ZD1211RW is not set
CONFIG_WLAN_VENDOR_QUANTENNA=y
# CONFIG_QTNFMAC_PCIE is not set
CONFIG_MAC80211_HWSIM=y
# CONFIG_USB_NET_RNDIS_WLAN is not set
# CONFIG_VIRT_WIFI is not set
# CONFIG_WAN is not set
CONFIG_IEEE802154_DRIVERS=y
# CONFIG_IEEE802154_FAKELB is not set
# CONFIG_IEEE802154_AT86RF230 is not set
# CONFIG_IEEE802154_MRF24J40 is not set
# CONFIG_IEEE802154_CC2520 is not set
# CONFIG_IEEE802154_ATUSB is not set
# CONFIG_IEEE802154_ADF7242 is not set
# CONFIG_IEEE802154_CA8210 is not set
# CONFIG_IEEE802154_MCR20A is not set
CONFIG_IEEE802154_HWSIM=y

#
# Wireless WAN
#
# CONFIG_WWAN is not set
# end of Wireless WAN

CONFIG_XEN_NETDEV_FRONTEND=y
# CONFIG_VMXNET3 is not set
# CONFIG_FUJITSU_ES is not set
# CONFIG_HYPERV_NET is not set
# CONFIG_NETDEVSIM is not set
CONFIG_NET_FAILOVER=m
# CONFIG_ISDN is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_SPARSEKMAP=m
# CONFIG_INPUT_MATRIXKMAP is not set
CONFIG_INPUT_VIVALDIFMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
# CONFIG_KEYBOARD_APPLESPI is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1050 is not set
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CYPRESS_SF is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_BYD=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_FOCALTECH=y
CONFIG_MOUSE_PS2_VMMOUSE=y
CONFIG_MOUSE_PS2_SMBUS=y
CONFIG_MOUSE_SERIAL=m
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
CONFIG_MOUSE_CYAPA=m
CONFIG_MOUSE_ELAN_I2C=m
CONFIG_MOUSE_ELAN_I2C_I2C=y
CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_VSXXXAA=m
# CONFIG_MOUSE_GPIO is not set
CONFIG_MOUSE_SYNAPTICS_I2C=m
# CONFIG_MOUSE_SYNAPTICS_USB is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
CONFIG_RMI4_CORE=m
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SPI=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_F03=y
CONFIG_RMI4_F03_SERIO=m
CONFIG_RMI4_2D_SENSOR=y
CONFIG_RMI4_F11=y
CONFIG_RMI4_F12=y
CONFIG_RMI4_F30=y
CONFIG_RMI4_F34=y
# CONFIG_RMI4_F3A is not set
# CONFIG_RMI4_F54 is not set
CONFIG_RMI4_F55=y

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_PS2MULT is not set
CONFIG_SERIO_ARC_PS2=m
CONFIG_HYPERV_KEYBOARD=m
# CONFIG_SERIO_GPIO_PS2 is not set
# CONFIG_USERIO is not set
# CONFIG_GAMEPORT is not set
# end of Hardware I/O ports
# end of Input device support

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_LDISC_AUTOLOAD=y

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_EXAR=y
CONFIG_SERIAL_8250_NR_UARTS=64
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_DWLIB=y
CONFIG_SERIAL_8250_DW=y
# CONFIG_SERIAL_8250_RT288X is not set
CONFIG_SERIAL_8250_LPSS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_PERICOM=y

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=m
# CONFIG_SERIAL_LANTIQ is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
CONFIG_SERIAL_ARC=m
CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_FSL_LINFLEXUART is not set
# CONFIG_SERIAL_SPRD is not set
# end of Serial drivers

CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
CONFIG_SYNCLINK_GT=m
CONFIG_N_HDLC=m
CONFIG_N_GSM=m
CONFIG_NOZOMI=m
# CONFIG_NULL_TTY is not set
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_XEN=y
CONFIG_HVC_XEN_FRONTEND=y
# CONFIG_SERIAL_DEV_BUS is not set
# CONFIG_TTY_PRINTK is not set
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
CONFIG_PPDEV=m
CONFIG_VIRTIO_CONSOLE=m
CONFIG_IPMI_HANDLER=m
CONFIG_IPMI_DMI_DECODE=y
CONFIG_IPMI_PLAT_DATA=y
CONFIG_IPMI_PANIC_EVENT=y
CONFIG_IPMI_PANIC_STRING=y
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_SSIF=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_BA431 is not set
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=y
# CONFIG_HW_RANDOM_XIPHERA is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
CONFIG_DEVMEM=y
CONFIG_NVRAM=y
CONFIG_DEVPORT=y
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
# CONFIG_HPET_MMAP_DEFAULT is not set
CONFIG_HANGCHECK_TIMER=m
CONFIG_UV_MMTIMER=m
CONFIG_TCG_TPM=y
CONFIG_HW_RANDOM_TPM=y
CONFIG_TCG_TIS_CORE=y
CONFIG_TCG_TIS=y
# CONFIG_TCG_TIS_SPI is not set
# CONFIG_TCG_TIS_I2C is not set
# CONFIG_TCG_TIS_I2C_CR50 is not set
CONFIG_TCG_TIS_I2C_ATMEL=m
CONFIG_TCG_TIS_I2C_INFINEON=m
CONFIG_TCG_TIS_I2C_NUVOTON=m
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TCG_INFINEON=m
# CONFIG_TCG_XEN is not set
CONFIG_TCG_CRB=y
# CONFIG_TCG_VTPM_PROXY is not set
CONFIG_TCG_TIS_ST33ZP24=m
CONFIG_TCG_TIS_ST33ZP24_I2C=m
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
CONFIG_TELCLOCK=m
# CONFIG_XILLYBUS is not set
# CONFIG_XILLYUSB is not set
CONFIG_RANDOM_TRUST_CPU=y
CONFIG_RANDOM_TRUST_BOOTLOADER=y
# end of Character devices

#
# I2C support
#
CONFIG_I2C=y
CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_MUX=m

#
# Multiplexer I2C Chip support
#
# CONFIG_I2C_MUX_GPIO is not set
# CONFIG_I2C_MUX_LTC4306 is not set
# CONFIG_I2C_MUX_PCA9541 is not set
# CONFIG_I2C_MUX_PCA954x is not set
# CONFIG_I2C_MUX_REG is not set
CONFIG_I2C_MUX_MLXCPLD=m
# end of Multiplexer I2C Chip support

CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=m
CONFIG_I2C_ALGOBIT=m
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_I801=m
CONFIG_I2C_ISCH=m
CONFIG_I2C_ISMT=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NFORCE2_S4985=m
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
CONFIG_I2C_SIS96X=m
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m

#
# ACPI drivers
#
CONFIG_I2C_SCMI=m

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_DESIGNWARE_CORE=m
# CONFIG_I2C_DESIGNWARE_SLAVE is not set
CONFIG_I2C_DESIGNWARE_PLATFORM=m
# CONFIG_I2C_DESIGNWARE_AMDPSP is not set
CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_PCA_PLATFORM=m
CONFIG_I2C_SIMTEC=m
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_CP2615 is not set
CONFIG_I2C_PARPORT=m
# CONFIG_I2C_PCI1XXXX is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set

#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_MLXCPLD=m
# CONFIG_I2C_VIRTIO is not set
# end of I2C Hardware Bus support

CONFIG_I2C_STUB=m
# CONFIG_I2C_SLAVE is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# end of I2C support

# CONFIG_I3C is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
# CONFIG_SPI_MEM is not set

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_BUTTERFLY is not set
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DESIGNWARE is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_GPIO is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_MICROCHIP_CORE is not set
# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set
# CONFIG_SPI_LANTIQ_SSC is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PXA2XX is not set
# CONFIG_SPI_ROCKCHIP is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SIFIVE is not set
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_XCOMM is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_ZYNQMP_GQSPI is not set
# CONFIG_SPI_AMD is not set

#
# SPI Multiplexer support
#
# CONFIG_SPI_MUX is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPI_SLAVE is not set
CONFIG_SPI_DYNAMIC=y
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
CONFIG_PPS_CLIENT_PARPORT=m
CONFIG_PPS_CLIENT_GPIO=m

#
# PPS generators support
#

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_OPTIONAL=y

#
# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
#
CONFIG_PTP_1588_CLOCK_KVM=m
# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_VMW is not set
# end of PTP clock support

CONFIG_PINCTRL=y
CONFIG_PINMUX=y
CONFIG_PINCONF=y
CONFIG_GENERIC_PINCONF=y
# CONFIG_DEBUG_PINCTRL is not set
# CONFIG_PINCTRL_AMD is not set
# CONFIG_PINCTRL_CY8C95X0 is not set
# CONFIG_PINCTRL_MCP23S08 is not set
# CONFIG_PINCTRL_SX150X is not set

#
# Intel pinctrl drivers
#
CONFIG_PINCTRL_BAYTRAIL=y
# CONFIG_PINCTRL_CHERRYVIEW is not set
# CONFIG_PINCTRL_LYNXPOINT is not set
CONFIG_PINCTRL_INTEL=y
# CONFIG_PINCTRL_ALDERLAKE is not set
CONFIG_PINCTRL_BROXTON=m
CONFIG_PINCTRL_CANNONLAKE=m
CONFIG_PINCTRL_CEDARFORK=m
CONFIG_PINCTRL_DENVERTON=m
# CONFIG_PINCTRL_ELKHARTLAKE is not set
# CONFIG_PINCTRL_EMMITSBURG is not set
CONFIG_PINCTRL_GEMINILAKE=m
# CONFIG_PINCTRL_ICELAKE is not set
# CONFIG_PINCTRL_JASPERLAKE is not set
# CONFIG_PINCTRL_LAKEFIELD is not set
CONFIG_PINCTRL_LEWISBURG=m
# CONFIG_PINCTRL_METEORLAKE is not set
CONFIG_PINCTRL_SUNRISEPOINT=m
# CONFIG_PINCTRL_TIGERLAKE is not set
# end of Intel pinctrl drivers

#
# Renesas pinctrl drivers
#
# end of Renesas pinctrl drivers

CONFIG_GPIOLIB=y
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIO_ACPI=y
CONFIG_GPIOLIB_IRQCHIP=y
# CONFIG_DEBUG_GPIO is not set
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_CDEV_V1=y

#
# Memory mapped GPIO drivers
#
# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_EXAR is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
CONFIG_GPIO_ICH=m
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_AMD_FCH is not set
# end of Memory mapped GPIO drivers

#
# Port-mapped I/O GPIO drivers
#
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_IT87 is not set
# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_WINBOND is not set
# CONFIG_GPIO_WS16C48 is not set
# end of Port-mapped I/O GPIO drivers

#
# I2C GPIO expanders
#
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCA9570 is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_TPIC2810 is not set
# end of I2C GPIO expanders

#
# MFD GPIO expanders
#
# end of MFD GPIO expanders

#
# PCI GPIO expanders
#
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_PCI_IDIO_16 is not set
# CONFIG_GPIO_PCIE_IDIO_24 is not set
# CONFIG_GPIO_RDC321X is not set
# end of PCI GPIO expanders

#
# SPI GPIO expanders
#
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_XRA1403 is not set
# end of SPI GPIO expanders

#
# USB GPIO expanders
#
# end of USB GPIO expanders

#
# Virtual GPIO drivers
#
# CONFIG_GPIO_AGGREGATOR is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_VIRTIO is not set
# CONFIG_GPIO_SIM is not set
# end of Virtual GPIO drivers

# CONFIG_W1 is not set
CONFIG_POWER_RESET=y
# CONFIG_POWER_RESET_RESTART is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY_HWMON=y
# CONFIG_PDA_POWER is not set
# CONFIG_IP5XXX_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_CHARGER_ADP5061 is not set
# CONFIG_BATTERY_CW2015 is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SAMSUNG_SDI is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_MANAGER_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_LT3651 is not set
# CONFIG_CHARGER_LTC4162L is not set
# CONFIG_CHARGER_MAX77976 is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ2515X is not set
# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_BQ25980 is not set
# CONFIG_CHARGER_BQ256XX is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_BATTERY_GOLDFISH is not set
# CONFIG_BATTERY_RT5033 is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_BD99954 is not set
# CONFIG_BATTERY_UG3105 is not set
CONFIG_HWMON=y
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
# CONFIG_SENSORS_AD7314 is not set
CONFIG_SENSORS_AD7414=m
CONFIG_SENSORS_AD7418=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADT7X10=m
# CONFIG_SENSORS_ADT7310 is not set
CONFIG_SENSORS_ADT7410=m
CONFIG_SENSORS_ADT7411=m
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7475=m
# CONFIG_SENSORS_AHT10 is not set
# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
# CONFIG_SENSORS_AS370 is not set
CONFIG_SENSORS_ASC7621=m
# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_APPLESMC=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
# CONFIG_SENSORS_CORSAIR_CPRO is not set
# CONFIG_SENSORS_CORSAIR_PSU is not set
# CONFIG_SENSORS_DRIVETEMP is not set
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
CONFIG_SENSORS_DELL_SMM=m
# CONFIG_I8K is not set
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
CONFIG_SENSORS_FSCHMD=m
# CONFIG_SENSORS_FTSTEUTATES is not set
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_G760A=m
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_HIH6130 is not set
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_JC42=m
# CONFIG_SENSORS_POWR1220 is not set
CONFIG_SENSORS_LINEAGE=m
# CONFIG_SENSORS_LTC2945 is not set
# CONFIG_SENSORS_LTC2947_I2C is not set
# CONFIG_SENSORS_LTC2947_SPI is not set
# CONFIG_SENSORS_LTC2990 is not set
# CONFIG_SENSORS_LTC2992 is not set
CONFIG_SENSORS_LTC4151=m
CONFIG_SENSORS_LTC4215=m
# CONFIG_SENSORS_LTC4222 is not set
CONFIG_SENSORS_LTC4245=m
# CONFIG_SENSORS_LTC4260 is not set
CONFIG_SENSORS_LTC4261=m
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX127 is not set
CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
# CONFIG_SENSORS_MAX31722 is not set
# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31760 is not set
# CONFIG_SENSORS_MAX6620 is not set
# CONFIG_SENSORS_MAX6621 is not set
CONFIG_SENSORS_MAX6639=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_MAX6697=m
# CONFIG_SENSORS_MAX31790 is not set
CONFIG_SENSORS_MCP3021=m
# CONFIG_SENSORS_MLXREG_FAN is not set
# CONFIG_SENSORS_TC654 is not set
# CONFIG_SENSORS_TPS23861 is not set
# CONFIG_SENSORS_MR75203 is not set
# CONFIG_SENSORS_ADCXX is not set
CONFIG_SENSORS_LM63=m
# CONFIG_SENSORS_LM70 is not set
CONFIG_SENSORS_LM73=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
# CONFIG_SENSORS_NCT6683 is not set
CONFIG_SENSORS_NCT6775_CORE=m
CONFIG_SENSORS_NCT6775=m
# CONFIG_SENSORS_NCT6775_I2C is not set
# CONFIG_SENSORS_NCT7802 is not set
# CONFIG_SENSORS_NCT7904 is not set
# CONFIG_SENSORS_NPCM7XX is not set
# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
# CONFIG_SENSORS_NZXT_SMART2 is not set
CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_PMBUS=m
# CONFIG_SENSORS_ADM1266 is not set
CONFIG_SENSORS_ADM1275=m
# CONFIG_SENSORS_BEL_PFE is not set
# CONFIG_SENSORS_BPA_RS600 is not set
# CONFIG_SENSORS_DELTA_AHE50DC_FAN is not set
# CONFIG_SENSORS_FSP_3Y is not set
# CONFIG_SENSORS_IBM_CFFPS is not set
# CONFIG_SENSORS_DPS920AB is not set
# CONFIG_SENSORS_INSPUR_IPSPS is not set
# CONFIG_SENSORS_IR35221 is not set
# CONFIG_SENSORS_IR36021 is not set
# CONFIG_SENSORS_IR38064 is not set
# CONFIG_SENSORS_IRPS5401 is not set
# CONFIG_SENSORS_ISL68137 is not set
CONFIG_SENSORS_LM25066=m
# CONFIG_SENSORS_LT7182S is not set
CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC3815 is not set
# CONFIG_SENSORS_MAX15301 is not set
CONFIG_SENSORS_MAX16064=m
# CONFIG_SENSORS_MAX16601 is not set
# CONFIG_SENSORS_MAX20730 is not set
# CONFIG_SENSORS_MAX20751 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
# CONFIG_SENSORS_MP2888 is not set
# CONFIG_SENSORS_MP2975 is not set
# CONFIG_SENSORS_MP5023 is not set
# CONFIG_SENSORS_PIM4328 is not set
# CONFIG_SENSORS_PLI1209BC is not set
# CONFIG_SENSORS_PM6764TR is not set
# CONFIG_SENSORS_PXE1610 is not set
# CONFIG_SENSORS_Q54SJ108A2 is not set
# CONFIG_SENSORS_STPDDC60 is not set
# CONFIG_SENSORS_TPS40422 is not set
# CONFIG_SENSORS_TPS53679 is not set
# CONFIG_SENSORS_TPS546D24 is not set
CONFIG_SENSORS_UCD9000=m
CONFIG_SENSORS_UCD9200=m
# CONFIG_SENSORS_XDPE152 is not set
# CONFIG_SENSORS_XDPE122 is not set
CONFIG_SENSORS_ZL6100=m
# CONFIG_SENSORS_SBTSI is not set
# CONFIG_SENSORS_SBRMI is not set
CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SHT21=m
# CONFIG_SENSORS_SHT3x is not set
# CONFIG_SENSORS_SHT4x is not set
# CONFIG_SENSORS_SHTC1 is not set
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_EMC1403=m
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC2305 is not set
CONFIG_SENSORS_EMC6W201=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SCH56XX_COMMON=m
CONFIG_SENSORS_SCH5627=m
CONFIG_SENSORS_SCH5636=m
# CONFIG_SENSORS_STTS751 is not set
# CONFIG_SENSORS_SMM665 is not set
# CONFIG_SENSORS_ADC128D818 is not set
CONFIG_SENSORS_ADS7828=m
# CONFIG_SENSORS_ADS7871 is not set
CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_INA209=m
CONFIG_SENSORS_INA2XX=m
# CONFIG_SENSORS_INA238 is not set
# CONFIG_SENSORS_INA3221 is not set
# CONFIG_SENSORS_TC74 is not set
CONFIG_SENSORS_THMC50=m
CONFIG_SENSORS_TMP102=m
# CONFIG_SENSORS_TMP103 is not set
# CONFIG_SENSORS_TMP108 is not set
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
# CONFIG_SENSORS_TMP464 is not set
# CONFIG_SENSORS_TMP513 is not set
CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
# CONFIG_SENSORS_W83773G is not set
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
# CONFIG_SENSORS_W83795_FANCTRL is not set
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
# CONFIG_SENSORS_XGENE is not set

#
# ACPI drivers
#
CONFIG_SENSORS_ACPI_POWER=m
CONFIG_SENSORS_ATK0110=m
# CONFIG_SENSORS_ASUS_WMI is not set
# CONFIG_SENSORS_ASUS_EC is not set
CONFIG_THERMAL=y
# CONFIG_THERMAL_NETLINK is not set
# CONFIG_THERMAL_STATISTICS is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
CONFIG_THERMAL_GOV_FAIR_SHARE=y
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_BANG_BANG=y
CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_THERMAL_EMULATION is not set

#
# Intel thermal drivers
#
CONFIG_INTEL_POWERCLAMP=m
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_X86_PKG_TEMP_THERMAL=m
CONFIG_INTEL_SOC_DTS_IOSF_CORE=m
# CONFIG_INTEL_SOC_DTS_THERMAL is not set

#
# ACPI INT340X thermal drivers
#
CONFIG_INT340X_THERMAL=m
CONFIG_ACPI_THERMAL_REL=m
# CONFIG_INT3406_THERMAL is not set
CONFIG_PROC_THERMAL_MMIO_RAPL=m
# end of ACPI INT340X thermal drivers

CONFIG_INTEL_PCH_THERMAL=m
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_MENLOW is not set
# CONFIG_INTEL_HFI_THERMAL is not set
# end of Intel thermal drivers

CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
CONFIG_WATCHDOG_SYSFS=y
# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set

#
# Watchdog Pretimeout Governors
#
# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
CONFIG_WDAT_WDT=m
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
# CONFIG_MLX_WDT is not set
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
# CONFIG_MAX63XX_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
# CONFIG_EBC_C384_WDT is not set
# CONFIG_EXAR_WDT is not set
CONFIG_F71808E_WDT=m
# CONFIG_SP5100_TCO is not set
CONFIG_SBC_FITPC2_WATCHDOG=m
# CONFIG_EUROTECH_WDT is not set
CONFIG_IB700_WDT=m
CONFIG_IBMASR=m
# CONFIG_WAFER_WDT is not set
CONFIG_I6300ESB_WDT=m
CONFIG_IE6XX_WDT=m
CONFIG_ITCO_WDT=m
CONFIG_ITCO_VENDOR_SUPPORT=y
CONFIG_IT8712F_WDT=m
CONFIG_IT87_WDT=m
CONFIG_HP_WATCHDOG=m
CONFIG_HPWDT_NMI_DECODING=y
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
CONFIG_NV_TCO=m
# CONFIG_60XX_WDT is not set
# CONFIG_CPU5_WDT is not set
CONFIG_SMSC_SCH311X_WDT=m
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_TQMX86_WDT is not set
CONFIG_VIA_WDT=m
CONFIG_W83627HF_WDT=m
CONFIG_W83877F_WDT=m
CONFIG_W83977F_WDT=m
CONFIG_MACHZ_WDT=m
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
CONFIG_INTEL_MEI_WDT=m
# CONFIG_NI903X_WDT is not set
# CONFIG_NIC7018_WDT is not set
# CONFIG_MEN_A21_WDT is not set
CONFIG_XEN_WDT=m

#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=m
CONFIG_WDTPCI=m

#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=m
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
CONFIG_BCMA_HOST_PCI=y
# CONFIG_BCMA_HOST_SOC is not set
CONFIG_BCMA_DRIVER_PCI=y
CONFIG_BCMA_DRIVER_GMAC_CMN=y
CONFIG_BCMA_DRIVER_GPIO=y
# CONFIG_BCMA_DEBUG is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
# CONFIG_MFD_AS3711 is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_AAT2870_CORE is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_MADERA is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
# CONFIG_MFD_DLN2 is not set
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_MP2629 is not set
# CONFIG_HTC_PASIC3 is not set
# CONFIG_HTC_I2CPLD is not set
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
CONFIG_LPC_ICH=m
CONFIG_LPC_SCH=m
CONFIG_MFD_INTEL_LPSS=y
CONFIG_MFD_INTEL_LPSS_ACPI=y
CONFIG_MFD_INTEL_LPSS_PCI=y
# CONFIG_MFD_INTEL_PMC_BXT is not set
# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_MT6360 is not set
# CONFIG_MFD_MT6370 is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_OCELOT is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_RETU is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_SY7636A is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RT4831 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RT5120 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_SI476X_CORE is not set
CONFIG_MFD_SM501=m
CONFIG_MFD_SM501_GPIO=y
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TI_AM335X_TSCADC is not set
# CONFIG_MFD_LP3943 is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65910 is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912_SPI is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TQMX86 is not set
CONFIG_MFD_VX855=m
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_ARIZONA_SPI is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_MFD_INTEL_M10_BMC is not set
# end of Multifunction device drivers

# CONFIG_REGULATOR is not set
CONFIG_RC_CORE=m
CONFIG_LIRC=y
CONFIG_RC_MAP=m
CONFIG_RC_DECODERS=y
CONFIG_IR_IMON_DECODER=m
CONFIG_IR_JVC_DECODER=m
CONFIG_IR_MCE_KBD_DECODER=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IR_RC5_DECODER=m
CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_SANYO_DECODER=m
# CONFIG_IR_SHARP_DECODER is not set
CONFIG_IR_SONY_DECODER=m
# CONFIG_IR_XMP_DECODER is not set
CONFIG_RC_DEVICES=y
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
# CONFIG_IR_IGORPLUGUSB is not set
# CONFIG_IR_IGUANA is not set
# CONFIG_IR_IMON is not set
# CONFIG_IR_IMON_RAW is not set
CONFIG_IR_ITE_CIR=m
# CONFIG_IR_MCEUSB is not set
CONFIG_IR_NUVOTON=m
# CONFIG_IR_REDRAT3 is not set
CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_STREAMZAP is not set
# CONFIG_IR_TOY is not set
# CONFIG_IR_TTUSBIR is not set
CONFIG_IR_WINBOND_CIR=m
# CONFIG_RC_ATI_REMOTE is not set
# CONFIG_RC_LOOPBACK is not set
# CONFIG_RC_XBOX_DVD is not set

#
# CEC support
#
CONFIG_MEDIA_CEC_SUPPORT=y
# CONFIG_CEC_CH7322 is not set
# CONFIG_CEC_SECO is not set
# CONFIG_USB_PULSE8_CEC is not set
# CONFIG_USB_RAINSHADOW_CEC is not set
# end of CEC support

CONFIG_MEDIA_SUPPORT=m
# CONFIG_MEDIA_SUPPORT_FILTER is not set
# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set

#
# Media device types
#
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
CONFIG_MEDIA_PLATFORM_SUPPORT=y
CONFIG_MEDIA_TEST_SUPPORT=y
# end of Media device types

#
# Media core support
#
CONFIG_VIDEO_DEV=m
CONFIG_MEDIA_CONTROLLER=y
CONFIG_DVB_CORE=m
# end of Media core support

#
# Video4Linux options
#
CONFIG_VIDEO_V4L2_I2C=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
# end of Video4Linux options

#
# Media controller options
#
# CONFIG_MEDIA_CONTROLLER_DVB is not set
# end of Media controller options

#
# Digital TV options
#
# CONFIG_DVB_MMAP is not set
CONFIG_DVB_NET=y
CONFIG_DVB_MAX_ADAPTERS=16
CONFIG_DVB_DYNAMIC_MINORS=y
# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set
# CONFIG_DVB_ULE_DEBUG is not set
# end of Digital TV options

#
# Media drivers
#

#
# Media drivers
#
# CONFIG_MEDIA_USB_SUPPORT is not set
# CONFIG_MEDIA_PCI_SUPPORT is not set
CONFIG_RADIO_ADAPTERS=m
# CONFIG_RADIO_MAXIRADIO is not set
# CONFIG_RADIO_SAA7706H is not set
# CONFIG_RADIO_SHARK is not set
# CONFIG_RADIO_SHARK2 is not set
# CONFIG_RADIO_SI4713 is not set
# CONFIG_RADIO_TEA5764 is not set
# CONFIG_RADIO_TEF6862 is not set
# CONFIG_RADIO_WL1273 is not set
# CONFIG_USB_DSBR is not set
# CONFIG_USB_KEENE is not set
# CONFIG_USB_MA901 is not set
# CONFIG_USB_MR800 is not set
# CONFIG_USB_RAREMONO is not set
# CONFIG_RADIO_SI470X is not set
CONFIG_MEDIA_PLATFORM_DRIVERS=y
# CONFIG_V4L_PLATFORM_DRIVERS is not set
# CONFIG_SDR_PLATFORM_DRIVERS is not set
# CONFIG_DVB_PLATFORM_DRIVERS is not set
# CONFIG_V4L_MEM2MEM_DRIVERS is not set

#
# Allegro DVT media platform drivers
#

#
# Amlogic media platform drivers
#

#
# Amphion drivers
#

#
# Aspeed media platform drivers
#

#
# Atmel media platform drivers
#

#
# Cadence media platform drivers
#
# CONFIG_VIDEO_CADENCE_CSI2RX is not set
# CONFIG_VIDEO_CADENCE_CSI2TX is not set

#
# Chips&Media media platform drivers
#

#
# Intel media platform drivers
#

#
# Marvell media platform drivers
#

#
# Mediatek media platform drivers
#

#
# NVidia media platform drivers
#

#
# NXP media platform drivers
#

#
# Qualcomm media platform drivers
#

#
# Renesas media platform drivers
#

#
# Rockchip media platform drivers
#

#
# Samsung media platform drivers
#

#
# STMicroelectronics media platform drivers
#

#
# Sunxi media platform drivers
#

#
# Texas Instruments drivers
#

#
# Verisilicon media platform drivers
#

#
# VIA media platform drivers
#

#
# Xilinx media platform drivers
#

#
# MMC/SDIO DVB adapters
#
# CONFIG_SMS_SDIO_DRV is not set
# CONFIG_V4L_TEST_DRIVERS is not set
# CONFIG_DVB_TEST_DRIVERS is not set

#
# FireWire (IEEE 1394) Adapters
#
# CONFIG_DVB_FIREDTV is not set
CONFIG_VIDEOBUF2_CORE=m
CONFIG_VIDEOBUF2_V4L2=m
CONFIG_VIDEOBUF2_MEMOPS=m
CONFIG_VIDEOBUF2_VMALLOC=m
# end of Media drivers

#
# Media ancillary drivers
#
CONFIG_MEDIA_ATTACH=y
CONFIG_VIDEO_IR_I2C=m

#
# Camera sensor devices
#
# CONFIG_VIDEO_AR0521 is not set
# CONFIG_VIDEO_HI556 is not set
# CONFIG_VIDEO_HI846 is not set
# CONFIG_VIDEO_HI847 is not set
# CONFIG_VIDEO_IMX208 is not set
# CONFIG_VIDEO_IMX214 is not set
# CONFIG_VIDEO_IMX219 is not set
# CONFIG_VIDEO_IMX258 is not set
# CONFIG_VIDEO_IMX274 is not set
# CONFIG_VIDEO_IMX290 is not set
# CONFIG_VIDEO_IMX319 is not set
# CONFIG_VIDEO_IMX355 is not set
# CONFIG_VIDEO_MT9M001 is not set
# CONFIG_VIDEO_MT9M032 is not set
# CONFIG_VIDEO_MT9M111 is not set
# CONFIG_VIDEO_MT9P031 is not set
# CONFIG_VIDEO_MT9T001 is not set
# CONFIG_VIDEO_MT9T112 is not set
# CONFIG_VIDEO_MT9V011 is not set
# CONFIG_VIDEO_MT9V032 is not set
# CONFIG_VIDEO_MT9V111 is not set
# CONFIG_VIDEO_NOON010PC30 is not set
# CONFIG_VIDEO_OG01A1B is not set
# CONFIG_VIDEO_OV02A10 is not set
# CONFIG_VIDEO_OV08D10 is not set
# CONFIG_VIDEO_OV13858 is not set
# CONFIG_VIDEO_OV13B10 is not set
# CONFIG_VIDEO_OV2640 is not set
# CONFIG_VIDEO_OV2659 is not set
# CONFIG_VIDEO_OV2680 is not set
# CONFIG_VIDEO_OV2685 is not set
# CONFIG_VIDEO_OV2740 is not set
# CONFIG_VIDEO_OV5647 is not set
# CONFIG_VIDEO_OV5648 is not set
# CONFIG_VIDEO_OV5670 is not set
# CONFIG_VIDEO_OV5675 is not set
# CONFIG_VIDEO_OV5693 is not set
# CONFIG_VIDEO_OV5695 is not set
# CONFIG_VIDEO_OV6650 is not set
# CONFIG_VIDEO_OV7251 is not set
# CONFIG_VIDEO_OV7640 is not set
# CONFIG_VIDEO_OV7670 is not set
# CONFIG_VIDEO_OV772X is not set
# CONFIG_VIDEO_OV7740 is not set
# CONFIG_VIDEO_OV8856 is not set
# CONFIG_VIDEO_OV8865 is not set
# CONFIG_VIDEO_OV9640 is not set
# CONFIG_VIDEO_OV9650 is not set
# CONFIG_VIDEO_OV9734 is not set
# CONFIG_VIDEO_RDACM20 is not set
# CONFIG_VIDEO_RDACM21 is not set
# CONFIG_VIDEO_RJ54N1 is not set
# CONFIG_VIDEO_S5C73M3 is not set
# CONFIG_VIDEO_S5K4ECGX is not set
# CONFIG_VIDEO_S5K5BAF is not set
# CONFIG_VIDEO_S5K6A3 is not set
# CONFIG_VIDEO_S5K6AA is not set
# CONFIG_VIDEO_SR030PC30 is not set
# CONFIG_VIDEO_VS6624 is not set
# CONFIG_VIDEO_CCS is not set
# CONFIG_VIDEO_ET8EK8 is not set
# CONFIG_VIDEO_M5MOLS is not set
# end of Camera sensor devices

#
# Lens drivers
#
# CONFIG_VIDEO_AD5820 is not set
# CONFIG_VIDEO_AK7375 is not set
# CONFIG_VIDEO_DW9714 is not set
# CONFIG_VIDEO_DW9768 is not set
# CONFIG_VIDEO_DW9807_VCM is not set
# end of Lens drivers

#
# Flash devices
#
# CONFIG_VIDEO_ADP1653 is not set
# CONFIG_VIDEO_LM3560 is not set
# CONFIG_VIDEO_LM3646 is not set
# end of Flash devices

#
# Audio decoders, processors and mixers
#
# CONFIG_VIDEO_CS3308 is not set
# CONFIG_VIDEO_CS5345 is not set
# CONFIG_VIDEO_CS53L32A is not set
# CONFIG_VIDEO_MSP3400 is not set
# CONFIG_VIDEO_SONY_BTF_MPX is not set
# CONFIG_VIDEO_TDA7432 is not set
# CONFIG_VIDEO_TDA9840 is not set
# CONFIG_VIDEO_TEA6415C is not set
# CONFIG_VIDEO_TEA6420 is not set
# CONFIG_VIDEO_TLV320AIC23B is not set
# CONFIG_VIDEO_TVAUDIO is not set
# CONFIG_VIDEO_UDA1342 is not set
# CONFIG_VIDEO_VP27SMPX is not set
# CONFIG_VIDEO_WM8739 is not set
# CONFIG_VIDEO_WM8775 is not set
# end of Audio decoders, processors and mixers

#
# RDS decoders
#
# CONFIG_VIDEO_SAA6588 is not set
# end of RDS decoders

#
# Video decoders
#
# CONFIG_VIDEO_ADV7180 is not set
# CONFIG_VIDEO_ADV7183 is not set
# CONFIG_VIDEO_ADV7604 is not set
# CONFIG_VIDEO_ADV7842 is not set
# CONFIG_VIDEO_BT819 is not set
# CONFIG_VIDEO_BT856 is not set
# CONFIG_VIDEO_BT866 is not set
# CONFIG_VIDEO_KS0127 is not set
# CONFIG_VIDEO_ML86V7667 is not set
# CONFIG_VIDEO_SAA7110 is not set
# CONFIG_VIDEO_SAA711X is not set
# CONFIG_VIDEO_TC358743 is not set
# CONFIG_VIDEO_TVP514X is not set
# CONFIG_VIDEO_TVP5150 is not set
# CONFIG_VIDEO_TVP7002 is not set
# CONFIG_VIDEO_TW2804 is not set
# CONFIG_VIDEO_TW9903 is not set
# CONFIG_VIDEO_TW9906 is not set
# CONFIG_VIDEO_TW9910 is not set
# CONFIG_VIDEO_VPX3220 is not set

#
# Video and audio decoders
#
# CONFIG_VIDEO_SAA717X is not set
# CONFIG_VIDEO_CX25840 is not set
# end of Video decoders

#
# Video encoders
#
# CONFIG_VIDEO_AD9389B is not set
# CONFIG_VIDEO_ADV7170 is not set
# CONFIG_VIDEO_ADV7175 is not set
# CONFIG_VIDEO_ADV7343 is not set
# CONFIG_VIDEO_ADV7393 is not set
# CONFIG_VIDEO_ADV7511 is not set
# CONFIG_VIDEO_AK881X is not set
# CONFIG_VIDEO_SAA7127 is not set
# CONFIG_VIDEO_SAA7185 is not set
# CONFIG_VIDEO_THS8200 is not set
# end of Video encoders

#
# Video improvement chips
#
# CONFIG_VIDEO_UPD64031A is not set
# CONFIG_VIDEO_UPD64083 is not set
# end of Video improvement chips

#
# Audio/Video compression chips
#
# CONFIG_VIDEO_SAA6752HS is not set
# end of Audio/Video compression chips

#
# SDR tuner chips
#
# CONFIG_SDR_MAX2175 is not set
# end of SDR tuner chips

#
# Miscellaneous helper chips
#
# CONFIG_VIDEO_I2C is not set
# CONFIG_VIDEO_M52790 is not set
# CONFIG_VIDEO_ST_MIPID02 is not set
# CONFIG_VIDEO_THS7303 is not set
# end of Miscellaneous helper chips

#
# Media SPI Adapters
#
CONFIG_CXD2880_SPI_DRV=m
# CONFIG_VIDEO_GS1662 is not set
# end of Media SPI Adapters

CONFIG_MEDIA_TUNER=m

#
# Customize TV tuners
#
CONFIG_MEDIA_TUNER_E4000=m
CONFIG_MEDIA_TUNER_FC0011=m
CONFIG_MEDIA_TUNER_FC0012=m
CONFIG_MEDIA_TUNER_FC0013=m
CONFIG_MEDIA_TUNER_FC2580=m
CONFIG_MEDIA_TUNER_IT913X=m
CONFIG_MEDIA_TUNER_M88RS6000T=m
CONFIG_MEDIA_TUNER_MAX2165=m
CONFIG_MEDIA_TUNER_MC44S803=m
CONFIG_MEDIA_TUNER_MSI001=m
CONFIG_MEDIA_TUNER_MT2060=m
CONFIG_MEDIA_TUNER_MT2063=m
CONFIG_MEDIA_TUNER_MT20XX=m
CONFIG_MEDIA_TUNER_MT2131=m
CONFIG_MEDIA_TUNER_MT2266=m
CONFIG_MEDIA_TUNER_MXL301RF=m
CONFIG_MEDIA_TUNER_MXL5005S=m
CONFIG_MEDIA_TUNER_MXL5007T=m
CONFIG_MEDIA_TUNER_QM1D1B0004=m
CONFIG_MEDIA_TUNER_QM1D1C0042=m
CONFIG_MEDIA_TUNER_QT1010=m
CONFIG_MEDIA_TUNER_R820T=m
CONFIG_MEDIA_TUNER_SI2157=m
CONFIG_MEDIA_TUNER_SIMPLE=m
CONFIG_MEDIA_TUNER_TDA18212=m
CONFIG_MEDIA_TUNER_TDA18218=m
CONFIG_MEDIA_TUNER_TDA18250=m
CONFIG_MEDIA_TUNER_TDA18271=m
CONFIG_MEDIA_TUNER_TDA827X=m
CONFIG_MEDIA_TUNER_TDA8290=m
CONFIG_MEDIA_TUNER_TDA9887=m
CONFIG_MEDIA_TUNER_TEA5761=m
CONFIG_MEDIA_TUNER_TEA5767=m
CONFIG_MEDIA_TUNER_TUA9001=m
CONFIG_MEDIA_TUNER_XC2028=m
CONFIG_MEDIA_TUNER_XC4000=m
CONFIG_MEDIA_TUNER_XC5000=m
# end of Customize TV tuners

#
# Customise DVB Frontends
#

#
# Multistandard (satellite) frontends
#
CONFIG_DVB_M88DS3103=m
CONFIG_DVB_MXL5XX=m
CONFIG_DVB_STB0899=m
CONFIG_DVB_STB6100=m
CONFIG_DVB_STV090x=m
CONFIG_DVB_STV0910=m
CONFIG_DVB_STV6110x=m
CONFIG_DVB_STV6111=m

#
# Multistandard (cable + terrestrial) frontends
#
CONFIG_DVB_DRXK=m
CONFIG_DVB_MN88472=m
CONFIG_DVB_MN88473=m
CONFIG_DVB_SI2165=m
CONFIG_DVB_TDA18271C2DD=m

#
# DVB-S (satellite) frontends
#
CONFIG_DVB_CX24110=m
CONFIG_DVB_CX24116=m
CONFIG_DVB_CX24117=m
CONFIG_DVB_CX24120=m
CONFIG_DVB_CX24123=m
CONFIG_DVB_DS3000=m
CONFIG_DVB_MB86A16=m
CONFIG_DVB_MT312=m
CONFIG_DVB_S5H1420=m
CONFIG_DVB_SI21XX=m
CONFIG_DVB_STB6000=m
CONFIG_DVB_STV0288=m
CONFIG_DVB_STV0299=m
CONFIG_DVB_STV0900=m
CONFIG_DVB_STV6110=m
CONFIG_DVB_TDA10071=m
CONFIG_DVB_TDA10086=m
CONFIG_DVB_TDA8083=m
CONFIG_DVB_TDA8261=m
CONFIG_DVB_TDA826X=m
CONFIG_DVB_TS2020=m
CONFIG_DVB_TUA6100=m
CONFIG_DVB_TUNER_CX24113=m
CONFIG_DVB_TUNER_ITD1000=m
CONFIG_DVB_VES1X93=m
CONFIG_DVB_ZL10036=m
CONFIG_DVB_ZL10039=m

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_AF9013=m
CONFIG_DVB_CX22700=m
CONFIG_DVB_CX22702=m
CONFIG_DVB_CXD2820R=m
CONFIG_DVB_CXD2841ER=m
CONFIG_DVB_DIB3000MB=m
CONFIG_DVB_DIB3000MC=m
CONFIG_DVB_DIB7000M=m
CONFIG_DVB_DIB7000P=m
CONFIG_DVB_DIB9000=m
CONFIG_DVB_DRXD=m
CONFIG_DVB_EC100=m
CONFIG_DVB_L64781=m
CONFIG_DVB_MT352=m
CONFIG_DVB_NXT6000=m
CONFIG_DVB_RTL2830=m
CONFIG_DVB_RTL2832=m
CONFIG_DVB_RTL2832_SDR=m
CONFIG_DVB_S5H1432=m
CONFIG_DVB_SI2168=m
CONFIG_DVB_SP887X=m
CONFIG_DVB_STV0367=m
CONFIG_DVB_TDA10048=m
CONFIG_DVB_TDA1004X=m
CONFIG_DVB_ZD1301_DEMOD=m
CONFIG_DVB_ZL10353=m
CONFIG_DVB_CXD2880=m

#
# DVB-C (cable) frontends
#
CONFIG_DVB_STV0297=m
CONFIG_DVB_TDA10021=m
CONFIG_DVB_TDA10023=m
CONFIG_DVB_VES1820=m

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
CONFIG_DVB_AU8522=m
CONFIG_DVB_AU8522_DTV=m
CONFIG_DVB_AU8522_V4L=m
CONFIG_DVB_BCM3510=m
CONFIG_DVB_LG2160=m
CONFIG_DVB_LGDT3305=m
CONFIG_DVB_LGDT3306A=m
CONFIG_DVB_LGDT330X=m
CONFIG_DVB_MXL692=m
CONFIG_DVB_NXT200X=m
CONFIG_DVB_OR51132=m
CONFIG_DVB_OR51211=m
CONFIG_DVB_S5H1409=m
CONFIG_DVB_S5H1411=m

#
# ISDB-T (terrestrial) frontends
#
CONFIG_DVB_DIB8000=m
CONFIG_DVB_MB86A20S=m
CONFIG_DVB_S921=m

#
# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
#
CONFIG_DVB_MN88443X=m
CONFIG_DVB_TC90522=m

#
# Digital terrestrial only tuners/PLL
#
CONFIG_DVB_PLL=m
CONFIG_DVB_TUNER_DIB0070=m
CONFIG_DVB_TUNER_DIB0090=m

#
# SEC control devices for DVB-S
#
CONFIG_DVB_A8293=m
CONFIG_DVB_AF9033=m
CONFIG_DVB_ASCOT2E=m
CONFIG_DVB_ATBM8830=m
CONFIG_DVB_HELENE=m
CONFIG_DVB_HORUS3A=m
CONFIG_DVB_ISL6405=m
CONFIG_DVB_ISL6421=m
CONFIG_DVB_ISL6423=m
CONFIG_DVB_IX2505V=m
CONFIG_DVB_LGS8GL5=m
CONFIG_DVB_LGS8GXX=m
CONFIG_DVB_LNBH25=m
CONFIG_DVB_LNBH29=m
CONFIG_DVB_LNBP21=m
CONFIG_DVB_LNBP22=m
CONFIG_DVB_M88RS2000=m
CONFIG_DVB_TDA665x=m
CONFIG_DVB_DRX39XYJ=m

#
# Common Interface (EN50221) controller drivers
#
CONFIG_DVB_CXD2099=m
CONFIG_DVB_SP2=m
# end of Customise DVB Frontends

#
# Tools to develop new frontends
#
# CONFIG_DVB_DUMMY_FE is not set
# end of Media ancillary drivers

#
# Graphics support
#
CONFIG_APERTURE_HELPERS=y
# CONFIG_AGP is not set
CONFIG_INTEL_GTT=m
CONFIG_VGA_SWITCHEROO=y
CONFIG_DRM=m
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
CONFIG_DRM_KMS_HELPER=m
# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set
# CONFIG_DRM_DEBUG_MODESET_LOCK is not set
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_DISPLAY_HELPER=m
CONFIG_DRM_DISPLAY_DP_HELPER=y
CONFIG_DRM_DISPLAY_HDCP_HELPER=y
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_TTM=m
CONFIG_DRM_BUDDY=m
CONFIG_DRM_VRAM_HELPER=m
CONFIG_DRM_TTM_HELPER=m
CONFIG_DRM_GEM_SHMEM_HELPER=m

#
# I2C encoder or helper chips
#
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
# end of I2C encoder or helper chips

#
# ARM devices
#
# end of ARM devices

# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_NOUVEAU is not set
CONFIG_DRM_I915=m
CONFIG_DRM_I915_FORCE_PROBE=""
CONFIG_DRM_I915_CAPTURE_ERROR=y
CONFIG_DRM_I915_COMPRESS_ERROR=y
CONFIG_DRM_I915_USERPTR=y
CONFIG_DRM_I915_GVT=y
CONFIG_DRM_I915_GVT_KVMGT=m

#
# drm/i915 Debugging
#
CONFIG_DRM_I915_WERROR=y
# CONFIG_DRM_I915_DEBUG is not set
# CONFIG_DRM_I915_DEBUG_MMIO is not set
# CONFIG_DRM_I915_DEBUG_GEM is not set
# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set
# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set
# CONFIG_DRM_I915_DEBUG_GUC is not set
# CONFIG_DRM_I915_SELFTEST is not set
# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set
# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set
# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set
# end of drm/i915 Debugging

#
# drm/i915 Profile Guided Optimisation
#
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
CONFIG_DRM_I915_STOP_TIMEOUT=100
CONFIG_DRM_I915_TIMESLICE_DURATION=1
# end of drm/i915 Profile Guided Optimisation

# CONFIG_DRM_VGEM is not set
# CONFIG_DRM_VKMS is not set
CONFIG_DRM_VMWGFX=m
CONFIG_DRM_VMWGFX_FBCON=y
# CONFIG_DRM_VMWGFX_MKSSTATS is not set
CONFIG_DRM_GMA500=m
# CONFIG_DRM_UDL is not set
CONFIG_DRM_AST=m
CONFIG_DRM_MGAG200=m
CONFIG_DRM_QXL=m
CONFIG_DRM_VIRTIO_GPU=m
CONFIG_DRM_PANEL=y

#
# Display Panels
#
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
# end of Display Panels

CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y

#
# Display Interface Bridges
#
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# end of Display Interface Bridges

# CONFIG_DRM_ETNAVIV is not set
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_GM12U320 is not set
# CONFIG_DRM_PANEL_MIPI_DBI is not set
# CONFIG_DRM_SIMPLEDRM is not set
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9163 is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
# CONFIG_TINYDRM_ILI9486 is not set
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
# CONFIG_DRM_XEN_FRONTEND is not set
# CONFIG_DRM_VBOXVIDEO is not set
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_SSD130X is not set
# CONFIG_DRM_HYPERV is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
CONFIG_DRM_NOMODESET=y
CONFIG_DRM_PRIVACY_SCREEN=y

#
# Frame buffer Devices
#
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=m
CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_MODE_HELPERS is not set
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_SM501 is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_XEN_FBDEV_FRONTEND is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
CONFIG_FB_HYPERV=m
# CONFIG_FB_SIMPLE is not set
# CONFIG_FB_SSD1307 is not set
# CONFIG_FB_SM712 is not set
# end of Frame buffer Devices

#
# Backlight & LCD device support
#
CONFIG_LCD_CLASS_DEVICE=m
# CONFIG_LCD_L4F00242T03 is not set
# CONFIG_LCD_LMS283GF05 is not set
# CONFIG_LCD_LTV350QV is not set
# CONFIG_LCD_ILI922X is not set
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not set
CONFIG_LCD_PLATFORM=m
# CONFIG_LCD_AMS369FG06 is not set
# CONFIG_LCD_LMS501KF03 is not set
# CONFIG_LCD_HX8357 is not set
# CONFIG_LCD_OTM3225A is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_KTD253 is not set
# CONFIG_BACKLIGHT_PWM is not set
CONFIG_BACKLIGHT_APPLE=m
# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_GPIO is not set
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_BACKLIGHT_ARCXCNN is not set
# end of Backlight & LCD device support

CONFIG_HDMI=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
# end of Console display driver support

CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
# end of Graphics support

# CONFIG_SOUND is not set

#
# HID support
#
CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=m
CONFIG_HID_GENERIC=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=m
# CONFIG_HID_ACCUTOUCH is not set
CONFIG_HID_ACRUX=m
# CONFIG_HID_ACRUX_FF is not set
CONFIG_HID_APPLE=m
# CONFIG_HID_APPLEIR is not set
CONFIG_HID_ASUS=m
CONFIG_HID_AUREAL=m
CONFIG_HID_BELKIN=m
# CONFIG_HID_BETOP_FF is not set
# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HID_CHERRY=m
CONFIG_HID_CHICONY=m
# CONFIG_HID_CORSAIR is not set
# CONFIG_HID_COUGAR is not set
# CONFIG_HID_MACALLY is not set
CONFIG_HID_CMEDIA=m
# CONFIG_HID_CP2112 is not set
# CONFIG_HID_CREATIVE_SB0540 is not set
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
# CONFIG_DRAGONRISE_FF is not set
# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_ELAN is not set
CONFIG_HID_ELECOM=m
# CONFIG_HID_ELO is not set
CONFIG_HID_EZKEY=m
# CONFIG_HID_FT260 is not set
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_VIVALDI is not set
# CONFIG_HID_GT683R is not set
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
# CONFIG_HID_UCLOGIC is not set
CONFIG_HID_WALTOP=m
# CONFIG_HID_VIEWSONIC is not set
# CONFIG_HID_VRC2 is not set
# CONFIG_HID_XIAOMI is not set
CONFIG_HID_GYRATION=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LCPOWER=m
CONFIG_HID_LED=m
CONFIG_HID_LENOVO=m
# CONFIG_HID_LETSKETCH is not set
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_HID_LOGITECH_HIDPP=m
# CONFIG_LOGITECH_FF is not set
# CONFIG_LOGIRUMBLEPAD2_FF is not set
# CONFIG_LOGIG940_FF is not set
# CONFIG_LOGIWHEELS_FF is not set
CONFIG_HID_MAGICMOUSE=y
# CONFIG_HID_MALTRON is not set
# CONFIG_HID_MAYFLASH is not set
# CONFIG_HID_MEGAWORLD_FF is not set
# CONFIG_HID_REDRAGON is not set
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
# CONFIG_HID_NINTENDO is not set
CONFIG_HID_NTI=m
# CONFIG_HID_NTRIG is not set
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
# CONFIG_PANTHERLORD_FF is not set
# CONFIG_HID_PENMOUNT is not set
CONFIG_HID_PETALYNX=m
CONFIG_HID_PICOLCD=m
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
CONFIG_HID_PLANTRONICS=m
# CONFIG_HID_PXRC is not set
# CONFIG_HID_RAZER is not set
CONFIG_HID_PRIMAX=m
# CONFIG_HID_RETRODE is not set
# CONFIG_HID_ROCCAT is not set
CONFIG_HID_SAITEK=m
CONFIG_HID_SAMSUNG=m
# CONFIG_HID_SEMITEK is not set
# CONFIG_HID_SIGMAMICRO is not set
# CONFIG_HID_SONY is not set
CONFIG_HID_SPEEDLINK=m
# CONFIG_HID_STEAM is not set
CONFIG_HID_STEELSERIES=m
CONFIG_HID_SUNPLUS=m
CONFIG_HID_RMI=m
CONFIG_HID_GREENASIA=m
# CONFIG_GREENASIA_FF is not set
CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_SMARTJOYPLUS=m
# CONFIG_SMARTJOYPLUS_FF is not set
CONFIG_HID_TIVO=m
CONFIG_HID_TOPSEED=m
# CONFIG_HID_TOPRE is not set
CONFIG_HID_THINGM=m
CONFIG_HID_THRUSTMASTER=m
# CONFIG_THRUSTMASTER_FF is not set
# CONFIG_HID_UDRAW_PS3 is not set
# CONFIG_HID_U2FZERO is not set
# CONFIG_HID_WACOM is not set
CONFIG_HID_WIIMOTE=m
CONFIG_HID_XINMO=m
CONFIG_HID_ZEROPLUS=m
# CONFIG_ZEROPLUS_FF is not set
CONFIG_HID_ZYDACRON=m
CONFIG_HID_SENSOR_HUB=y
CONFIG_HID_SENSOR_CUSTOM_SENSOR=m
CONFIG_HID_ALPS=m
# CONFIG_HID_MCP2221 is not set
# end of Special HID drivers

#
# USB HID support
#
CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
# CONFIG_USB_HIDDEV is not set
# end of USB HID support

#
# I2C HID support
#
# CONFIG_I2C_HID_ACPI is not set
# end of I2C HID support

#
# Intel ISH HID support
#
CONFIG_INTEL_ISH_HID=m
# CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER is not set
# end of Intel ISH HID support

#
# AMD SFH HID Support
#
# CONFIG_AMD_SFH_HID is not set
# end of AMD SFH HID Support
# end of HID support

CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
# CONFIG_USB_LED_TRIG is not set
# CONFIG_USB_ULPI_BUS is not set
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_PCI=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_FEW_INIT_RETRIES is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_PRODUCTLIST is not set
# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
CONFIG_USB_LEDS_TRIGGER_USBPORT=y
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_MON=y

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_DBGCAP is not set
CONFIG_USB_XHCI_PCI=y
# CONFIG_USB_XHCI_PCI_RENESAS is not set
# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=y
# CONFIG_USB_EHCI_FSL is not set
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_FOTG210_HCD is not set
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PCI=y
# CONFIG_USB_OHCI_HCD_PLATFORM is not set
CONFIG_USB_UHCI_HCD=y
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_HCD_BCMA is not set
# CONFIG_USB_HCD_TEST_MODE is not set
# CONFIG_USB_XEN_HCD is not set

#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_REALTEK is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_STORAGE_ENE_UB6250 is not set
# CONFIG_USB_UAS is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USBIP_CORE is not set
# CONFIG_USB_CDNS_SUPPORT is not set
# CONFIG_USB_MUSB_HDRC is not set
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_DWC2 is not set
# CONFIG_USB_CHIPIDEA is not set
# CONFIG_USB_ISP1760 is not set

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_SIMPLE is not set
# CONFIG_USB_SERIAL_AIRCABLE is not set
# CONFIG_USB_SERIAL_ARK3116 is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_CH341 is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_CP210X is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_FTDI_SIO is not set
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_F81232 is not set
# CONFIG_USB_SERIAL_F8153X is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_IUU is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_METRO is not set
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
# CONFIG_USB_SERIAL_MXUPORT is not set
# CONFIG_USB_SERIAL_NAVMAN is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_QCAUX is not set
# CONFIG_USB_SERIAL_QUALCOMM is not set
# CONFIG_USB_SERIAL_SPCP8X5 is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
# CONFIG_USB_SERIAL_SYMBOL is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_OPTION is not set
# CONFIG_USB_SERIAL_OMNINET is not set
# CONFIG_USB_SERIAL_OPTICON is not set
# CONFIG_USB_SERIAL_XSENS_MT is not set
# CONFIG_USB_SERIAL_WISHBONE is not set
# CONFIG_USB_SERIAL_SSU100 is not set
# CONFIG_USB_SERIAL_QT2 is not set
# CONFIG_USB_SERIAL_UPD78F0730 is not set
# CONFIG_USB_SERIAL_XR is not set
CONFIG_USB_SERIAL_DEBUG=m

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_APPLE_MFI_FASTCHARGE is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_EHSET_TEST_FIXTURE is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_EZUSB_FX2 is not set
# CONFIG_USB_HUB_USB251XB is not set
# CONFIG_USB_HSIC_USB3503 is not set
# CONFIG_USB_HSIC_USB4604 is not set
# CONFIG_USB_LINK_LAYER_TEST is not set
# CONFIG_USB_CHAOSKEY is not set
# CONFIG_USB_ATM is not set

#
# USB Physical Layer drivers
#
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_USB_GPIO_VBUS is not set
# CONFIG_USB_ISP1301 is not set
# end of USB Physical Layer drivers

CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
# CONFIG_USB_GADGET_DEBUG_FILES is not set
# CONFIG_USB_GADGET_DEBUG_FS is not set
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2

#
# USB Peripheral Controller
#
# CONFIG_USB_FOTG210_UDC is not set
# CONFIG_USB_GR_UDC is not set
# CONFIG_USB_R8A66597 is not set
# CONFIG_USB_PXA27X is not set
# CONFIG_USB_MV_UDC is not set
# CONFIG_USB_MV_U3D is not set
# CONFIG_USB_M66592 is not set
# CONFIG_USB_BDC_UDC is not set
# CONFIG_USB_AMD5536UDC is not set
# CONFIG_USB_NET2272 is not set
# CONFIG_USB_NET2280 is not set
# CONFIG_USB_GOKU is not set
# CONFIG_USB_EG20T is not set
# CONFIG_USB_MAX3420_UDC is not set
# CONFIG_USB_DUMMY_HCD is not set
# end of USB Peripheral Controller

# CONFIG_USB_CONFIGFS is not set

#
# USB Gadget precomposed configurations
#
# CONFIG_USB_ZERO is not set
# CONFIG_USB_ETH is not set
# CONFIG_USB_G_NCM is not set
# CONFIG_USB_GADGETFS is not set
# CONFIG_USB_FUNCTIONFS is not set
# CONFIG_USB_MASS_STORAGE is not set
# CONFIG_USB_GADGET_TARGET is not set
# CONFIG_USB_G_SERIAL is not set
# CONFIG_USB_G_PRINTER is not set
# CONFIG_USB_CDC_COMPOSITE is not set
# CONFIG_USB_G_ACM_MS is not set
# CONFIG_USB_G_MULTI is not set
# CONFIG_USB_G_HID is not set
# CONFIG_USB_G_DBGP is not set
# CONFIG_USB_G_WEBCAM is not set
CONFIG_USB_RAW_GADGET=y
# end of USB Gadget precomposed configurations

CONFIG_TYPEC=y
# CONFIG_TYPEC_TCPM is not set
CONFIG_TYPEC_UCSI=y
# CONFIG_UCSI_CCG is not set
CONFIG_UCSI_ACPI=y
# CONFIG_UCSI_STM32G0 is not set
# CONFIG_TYPEC_TPS6598X is not set
# CONFIG_TYPEC_RT1719 is not set
# CONFIG_TYPEC_STUSB160X is not set
# CONFIG_TYPEC_WUSB3801 is not set

#
# USB Type-C Multiplexer/DeMultiplexer Switch support
#
# CONFIG_TYPEC_MUX_FSA4480 is not set
# CONFIG_TYPEC_MUX_PI3USB30532 is not set
# end of USB Type-C Multiplexer/DeMultiplexer Switch support

#
# USB Type-C Alternate Mode drivers
#
# CONFIG_TYPEC_DP_ALTMODE is not set
# end of USB Type-C Alternate Mode drivers

# CONFIG_USB_ROLE_SWITCH is not set
CONFIG_MMC=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_SDIO_UART=m
# CONFIG_MMC_TEST is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_IO_ACCESSORS=y
CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_PLTFM=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
# CONFIG_MMC_WBSD is not set
# CONFIG_MMC_TIFM_SD is not set
# CONFIG_MMC_SPI is not set
# CONFIG_MMC_CB710 is not set
# CONFIG_MMC_VIA_SDMMC is not set
# CONFIG_MMC_VUB300 is not set
# CONFIG_MMC_USHC is not set
# CONFIG_MMC_USDHI6ROL0 is not set
# CONFIG_MMC_REALTEK_PCI is not set
CONFIG_MMC_CQHCI=m
# CONFIG_MMC_HSQ is not set
# CONFIG_MMC_TOSHIBA_PCI is not set
# CONFIG_MMC_MTK is not set
# CONFIG_MMC_SDHCI_XENON is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
# CONFIG_LEDS_CLASS_FLASH is not set
# CONFIG_LEDS_CLASS_MULTICOLOR is not set
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set

#
# LED drivers
#
# CONFIG_LEDS_APU is not set
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM3532 is not set
# CONFIG_LEDS_LM3642 is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not set
CONFIG_LEDS_LP3944=m
# CONFIG_LEDS_LP3952 is not set
# CONFIG_LEDS_LP50XX is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_INTEL_SS4200=m
CONFIG_LEDS_LT3593=m
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_IS31FL319X is not set

#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
CONFIG_LEDS_BLINKM=m
CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_MLXREG is not set
# CONFIG_LEDS_USER is not set
# CONFIG_LEDS_NIC78BX is not set
# CONFIG_LEDS_TI_LMU_COMMON is not set

#
# Flash and Torch LED drivers
#

#
# RGB LED drivers
#

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
# CONFIG_LEDS_TRIGGER_DISK is not set
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
# CONFIG_LEDS_TRIGGER_CPU is not set
# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m

#
# iptables trigger is under Netfilter config (LED target)
#
CONFIG_LEDS_TRIGGER_TRANSIENT=m
CONFIG_LEDS_TRIGGER_CAMERA=m
# CONFIG_LEDS_TRIGGER_PANIC is not set
# CONFIG_LEDS_TRIGGER_NETDEV is not set
# CONFIG_LEDS_TRIGGER_PATTERN is not set
CONFIG_LEDS_TRIGGER_AUDIO=m
# CONFIG_LEDS_TRIGGER_TTY is not set

#
# Simple LED drivers
#
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
CONFIG_EDAC_LEGACY_SYSFS=y
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_GHES=y
CONFIG_EDAC_E752X=m
CONFIG_EDAC_I82975X=m
CONFIG_EDAC_I3000=m
CONFIG_EDAC_I3200=m
CONFIG_EDAC_IE31200=m
CONFIG_EDAC_X38=m
CONFIG_EDAC_I5400=m
CONFIG_EDAC_I7CORE=m
CONFIG_EDAC_I5000=m
CONFIG_EDAC_I5100=m
CONFIG_EDAC_I7300=m
CONFIG_EDAC_SBRIDGE=m
CONFIG_EDAC_SKX=m
# CONFIG_EDAC_I10NM is not set
CONFIG_EDAC_PND2=m
# CONFIG_EDAC_IGEN6 is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_SYSTOHC is not set
# CONFIG_RTC_DEBUG is not set
CONFIG_RTC_NVMEM=y

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_ABB5ZES3 is not set
# CONFIG_RTC_DRV_ABEOZ9 is not set
# CONFIG_RTC_DRV_ABX80X is not set
CONFIG_RTC_DRV_DS1307=m
# CONFIG_RTC_DRV_DS1307_CENTURY is not set
CONFIG_RTC_DRV_DS1374=m
# CONFIG_RTC_DRV_DS1374_WDT is not set
CONFIG_RTC_DRV_DS1672=m
CONFIG_RTC_DRV_MAX6900=m
CONFIG_RTC_DRV_RS5C372=m
CONFIG_RTC_DRV_ISL1208=m
CONFIG_RTC_DRV_ISL12022=m
CONFIG_RTC_DRV_X1205=m
CONFIG_RTC_DRV_PCF8523=m
# CONFIG_RTC_DRV_PCF85063 is not set
# CONFIG_RTC_DRV_PCF85363 is not set
CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_M41T80=m
CONFIG_RTC_DRV_M41T80_WDT=y
CONFIG_RTC_DRV_BQ32K=m
# CONFIG_RTC_DRV_S35390A is not set
CONFIG_RTC_DRV_FM3130=m
# CONFIG_RTC_DRV_RX8010 is not set
CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_RX8025=m
CONFIG_RTC_DRV_EM3027=m
# CONFIG_RTC_DRV_RV3028 is not set
# CONFIG_RTC_DRV_RV3032 is not set
# CONFIG_RTC_DRV_RV8803 is not set
# CONFIG_RTC_DRV_SD3078 is not set

#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_M41T93 is not set
# CONFIG_RTC_DRV_M41T94 is not set
# CONFIG_RTC_DRV_DS1302 is not set
# CONFIG_RTC_DRV_DS1305 is not set
# CONFIG_RTC_DRV_DS1343 is not set
# CONFIG_RTC_DRV_DS1347 is not set
# CONFIG_RTC_DRV_DS1390 is not set
# CONFIG_RTC_DRV_MAX6916 is not set
# CONFIG_RTC_DRV_R9701 is not set
CONFIG_RTC_DRV_RX4581=m
# CONFIG_RTC_DRV_RS5C348 is not set
# CONFIG_RTC_DRV_MAX6902 is not set
# CONFIG_RTC_DRV_PCF2123 is not set
# CONFIG_RTC_DRV_MCP795 is not set
CONFIG_RTC_I2C_AND_SPI=y

#
# SPI and I2C RTC drivers
#
CONFIG_RTC_DRV_DS3232=m
CONFIG_RTC_DRV_DS3232_HWMON=y
# CONFIG_RTC_DRV_PCF2127 is not set
CONFIG_RTC_DRV_RV3029C2=m
# CONFIG_RTC_DRV_RV3029_HWMON is not set
# CONFIG_RTC_DRV_RX6110 is not set

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
CONFIG_RTC_DRV_DS1286=m
CONFIG_RTC_DRV_DS1511=m
CONFIG_RTC_DRV_DS1553=m
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
CONFIG_RTC_DRV_DS1742=m
CONFIG_RTC_DRV_DS2404=m
CONFIG_RTC_DRV_STK17TA8=m
# CONFIG_RTC_DRV_M48T86 is not set
CONFIG_RTC_DRV_M48T35=m
CONFIG_RTC_DRV_M48T59=m
CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_BQ4802=m
CONFIG_RTC_DRV_RP5C01=m
CONFIG_RTC_DRV_V3020=m

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_FTRTC010 is not set

#
# HID Sensor RTC drivers
#
# CONFIG_RTC_DRV_GOLDFISH is not set
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_ACPI=y
# CONFIG_ALTERA_MSGDMA is not set
CONFIG_INTEL_IDMA64=m
# CONFIG_INTEL_IDXD is not set
# CONFIG_INTEL_IDXD_COMPAT is not set
CONFIG_INTEL_IOATDMA=m
# CONFIG_PLX_DMA is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=y
# CONFIG_DW_EDMA is not set
# CONFIG_DW_EDMA_PCIE is not set
CONFIG_HSU_DMA=y
# CONFIG_SF_PDMA is not set
# CONFIG_INTEL_LDMA is not set

#
# DMA Clients
#
CONFIG_ASYNC_TX_DMA=y
CONFIG_DMATEST=m
CONFIG_DMA_ENGINE_RAID=y

#
# DMABUF options
#
CONFIG_SYNC_FILE=y
# CONFIG_SW_SYNC is not set
# CONFIG_UDMABUF is not set
# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_DEBUG is not set
# CONFIG_DMABUF_SELFTESTS is not set
# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SYSFS_STATS is not set
# end of DMABUF options

CONFIG_DCA=m
# CONFIG_AUXDISPLAY is not set
# CONFIG_PANEL is not set
CONFIG_UIO=m
CONFIG_UIO_CIF=m
CONFIG_UIO_PDRV_GENIRQ=m
# CONFIG_UIO_DMEM_GENIRQ is not set
CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
CONFIG_UIO_PCI_GENERIC=m
# CONFIG_UIO_NETX is not set
# CONFIG_UIO_PRUSS is not set
# CONFIG_UIO_MF624 is not set
CONFIG_UIO_HV_GENERIC=m
CONFIG_VFIO=m
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO_VIRQFD=m
CONFIG_VFIO_NOIOMMU=y
CONFIG_VFIO_PCI_CORE=m
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI=m
# CONFIG_VFIO_PCI_VGA is not set
# CONFIG_VFIO_PCI_IGD is not set
CONFIG_VFIO_MDEV=m
CONFIG_IRQ_BYPASS_MANAGER=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=y
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
# CONFIG_VIRTIO_PMEM is not set
CONFIG_VIRTIO_BALLOON=m
# CONFIG_VIRTIO_MEM is not set
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO is not set
CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
# CONFIG_VDPA is not set
CONFIG_VHOST_IOTLB=m
CONFIG_VHOST=m
CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
# CONFIG_VHOST_SCSI is not set
CONFIG_VHOST_VSOCK=m
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set

#
# Microsoft Hyper-V guest support
#
CONFIG_HYPERV=m
CONFIG_HYPERV_TIMER=y
CONFIG_HYPERV_UTILS=m
CONFIG_HYPERV_BALLOON=m
# end of Microsoft Hyper-V guest support

#
# Xen driver support
#
# CONFIG_XEN_BALLOON is not set
CONFIG_XEN_DEV_EVTCHN=m
# CONFIG_XEN_BACKEND is not set
CONFIG_XENFS=m
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
# CONFIG_XEN_GNTDEV is not set
# CONFIG_XEN_GRANT_DEV_ALLOC is not set
# CONFIG_XEN_GRANT_DMA_ALLOC is not set
# CONFIG_XEN_PVCALLS_FRONTEND is not set
CONFIG_XEN_PRIVCMD=m
CONFIG_XEN_EFI=y
CONFIG_XEN_AUTO_XLATE=y
CONFIG_XEN_ACPI=y
# CONFIG_XEN_UNPOPULATED_ALLOC is not set
# CONFIG_XEN_VIRTIO is not set
# end of Xen driver support

# CONFIG_GREYBUS is not set
# CONFIG_COMEDI is not set
# CONFIG_STAGING is not set
# CONFIG_CHROME_PLATFORMS is not set
CONFIG_MELLANOX_PLATFORM=y
CONFIG_MLXREG_HOTPLUG=m
# CONFIG_MLXREG_IO is not set
# CONFIG_MLXREG_LC is not set
# CONFIG_NVSW_SN2201 is not set
CONFIG_SURFACE_PLATFORMS=y
# CONFIG_SURFACE3_WMI is not set
# CONFIG_SURFACE_3_POWER_OPREGION is not set
# CONFIG_SURFACE_GPE is not set
# CONFIG_SURFACE_HOTPLUG is not set
# CONFIG_SURFACE_PRO3_BUTTON is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACPI_WMI=m
CONFIG_WMI_BMOF=m
# CONFIG_HUAWEI_WMI is not set
# CONFIG_UV_SYSFS is not set
CONFIG_MXM_WMI=m
# CONFIG_PEAQ_WMI is not set
# CONFIG_NVIDIA_WMI_EC_BACKLIGHT is not set
# CONFIG_XIAOMI_WMI is not set
# CONFIG_GIGABYTE_WMI is not set
# CONFIG_YOGABOOK_WMI is not set
CONFIG_ACERHDF=m
# CONFIG_ACER_WIRELESS is not set
CONFIG_ACER_WMI=m
# CONFIG_AMD_PMF is not set
# CONFIG_AMD_PMC is not set
# CONFIG_ADV_SWBUTTON is not set
CONFIG_APPLE_GMUX=m
CONFIG_ASUS_LAPTOP=m
# CONFIG_ASUS_WIRELESS is not set
CONFIG_ASUS_WMI=m
CONFIG_ASUS_NB_WMI=m
# CONFIG_ASUS_TF103C_DOCK is not set
# CONFIG_MERAKI_MX100 is not set
CONFIG_EEEPC_LAPTOP=m
CONFIG_EEEPC_WMI=m
# CONFIG_X86_PLATFORM_DRIVERS_DELL is not set
CONFIG_AMILO_RFKILL=m
CONFIG_FUJITSU_LAPTOP=m
CONFIG_FUJITSU_TABLET=m
# CONFIG_GPD_POCKET_FAN is not set
CONFIG_HP_ACCEL=m
# CONFIG_WIRELESS_HOTKEY is not set
CONFIG_HP_WMI=m
# CONFIG_IBM_RTL is not set
CONFIG_IDEAPAD_LAPTOP=m
CONFIG_SENSORS_HDAPS=m
CONFIG_THINKPAD_ACPI=m
# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
# CONFIG_THINKPAD_ACPI_DEBUG is not set
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
# CONFIG_THINKPAD_LMI is not set
# CONFIG_INTEL_ATOMISP2_PM is not set
# CONFIG_INTEL_SAR_INT1092 is not set
CONFIG_INTEL_PMC_CORE=m

#
# Intel Speed Select Technology interface support
#
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
# end of Intel Speed Select Technology interface support

CONFIG_INTEL_WMI=y
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m

#
# Intel Uncore Frequency Control
#
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
# end of Intel Uncore Frequency Control

CONFIG_INTEL_HID_EVENT=m
CONFIG_INTEL_VBTN=m
# CONFIG_INTEL_INT0002_VGPIO is not set
CONFIG_INTEL_OAKTRAIL=m
# CONFIG_INTEL_ISHTP_ECLITE is not set
# CONFIG_INTEL_PUNIT_IPC is not set
CONFIG_INTEL_RST=m
# CONFIG_INTEL_SMARTCONNECT is not set
CONFIG_INTEL_TURBO_MAX_3=y
# CONFIG_INTEL_VSEC is not set
CONFIG_MSI_LAPTOP=m
CONFIG_MSI_WMI=m
# CONFIG_PCENGINES_APU2 is not set
# CONFIG_BARCO_P50_GPIO is not set
CONFIG_SAMSUNG_LAPTOP=m
CONFIG_SAMSUNG_Q10=m
CONFIG_TOSHIBA_BT_RFKILL=m
# CONFIG_TOSHIBA_HAPS is not set
# CONFIG_TOSHIBA_WMI is not set
CONFIG_ACPI_CMPC=m
CONFIG_COMPAL_LAPTOP=m
# CONFIG_LG_LAPTOP is not set
CONFIG_PANASONIC_LAPTOP=m
CONFIG_SONY_LAPTOP=m
CONFIG_SONYPI_COMPAT=y
# CONFIG_SYSTEM76_ACPI is not set
CONFIG_TOPSTAR_LAPTOP=m
# CONFIG_SERIAL_MULTI_INSTANTIATE is not set
CONFIG_MLX_PLATFORM=m
CONFIG_INTEL_IPS=m
# CONFIG_INTEL_SCU_PCI is not set
# CONFIG_INTEL_SCU_PLATFORM is not set
# CONFIG_SIEMENS_SIMATIC_IPC is not set
# CONFIG_WINMATE_FM07_KEYS is not set
CONFIG_P2SB=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
# CONFIG_LMK04832 is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_SI5341 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_XILINX_VCU is not set
CONFIG_HWSPINLOCK=y

#
# Clock Source drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
# end of Clock Source drivers

CONFIG_MAILBOX=y
CONFIG_PCC=y
# CONFIG_ALTERA_MBOX is not set
CONFIG_IOMMU_IOVA=y
CONFIG_IOASID=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y

#
# Generic IOMMU Pagetable Support
#
# end of Generic IOMMU Pagetable Support

# CONFIG_IOMMU_DEBUGFS is not set
# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_IOMMU_DMA=y
CONFIG_IOMMU_SVA=y
# CONFIG_AMD_IOMMU is not set
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_IRQ_REMAP=y
CONFIG_HYPERV_IOMMU=y
# CONFIG_VIRTIO_IOMMU is not set

#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
# end of Remoteproc drivers

#
# Rpmsg drivers
#
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not set
# end of Rpmsg drivers

# CONFIG_SOUNDWIRE is not set

#
# SOC (System On Chip) specific Drivers
#

#
# Amlogic SoC drivers
#
# end of Amlogic SoC drivers

#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers

#
# NXP/Freescale QorIQ SoC drivers
#
# end of NXP/Freescale QorIQ SoC drivers

#
# fujitsu SoC drivers
#
# end of fujitsu SoC drivers

#
# i.MX SoC drivers
#
# end of i.MX SoC drivers

#
# Enable LiteX SoC Builder specific drivers
#
# end of Enable LiteX SoC Builder specific drivers

#
# Qualcomm SoC drivers
#
# end of Qualcomm SoC drivers

# CONFIG_SOC_TI is not set

#
# Xilinx SoC drivers
#
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers

# CONFIG_PM_DEVFREQ is not set
# CONFIG_EXTCON is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
CONFIG_NTB=m
# CONFIG_NTB_MSI is not set
# CONFIG_NTB_AMD is not set
# CONFIG_NTB_IDT is not set
# CONFIG_NTB_INTEL is not set
# CONFIG_NTB_EPF is not set
# CONFIG_NTB_SWITCHTEC is not set
# CONFIG_NTB_PINGPONG is not set
# CONFIG_NTB_TOOL is not set
# CONFIG_NTB_PERF is not set
# CONFIG_NTB_TRANSPORT is not set
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_CLK is not set
# CONFIG_PWM_DWC is not set
CONFIG_PWM_LPSS=m
CONFIG_PWM_LPSS_PCI=m
CONFIG_PWM_LPSS_PLATFORM=m
# CONFIG_PWM_PCA9685 is not set

#
# IRQ chip support
#
# end of IRQ chip support

# CONFIG_IPACK_BUS is not set
# CONFIG_RESET_CONTROLLER is not set

#
# PHY Subsystem
#
# CONFIG_GENERIC_PHY is not set
# CONFIG_USB_LGM_PHY is not set
# CONFIG_PHY_CAN_TRANSCEIVER is not set

#
# PHY drivers for Broadcom platforms
#
# CONFIG_BCM_KONA_USB2_PHY is not set
# end of PHY drivers for Broadcom platforms

# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_INTEL_LGM_EMMC is not set
# end of PHY Subsystem

CONFIG_POWERCAP=y
CONFIG_INTEL_RAPL_CORE=m
CONFIG_INTEL_RAPL=m
# CONFIG_IDLE_INJECT is not set
# CONFIG_MCB is not set

#
# Performance monitor support
#
# end of Performance monitor support

CONFIG_RAS=y
# CONFIG_RAS_CEC is not set
# CONFIG_USB4 is not set

#
# Android
#
# CONFIG_ANDROID_BINDER_IPC is not set
# end of Android

CONFIG_LIBNVDIMM=m
CONFIG_BLK_DEV_PMEM=m
CONFIG_ND_CLAIM=y
CONFIG_ND_BTT=m
CONFIG_BTT=y
CONFIG_ND_PFN=m
CONFIG_NVDIMM_PFN=y
CONFIG_NVDIMM_DAX=y
CONFIG_NVDIMM_KEYS=y
CONFIG_DAX=y
CONFIG_DEV_DAX=m
CONFIG_DEV_DAX_PMEM=m
CONFIG_DEV_DAX_KMEM=m
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
# CONFIG_NVMEM_RMEM is not set

#
# HW tracing support
#
CONFIG_STM=m
# CONFIG_STM_PROTO_BASIC is not set
# CONFIG_STM_PROTO_SYS_T is not set
CONFIG_STM_DUMMY=m
CONFIG_STM_SOURCE_CONSOLE=m
CONFIG_STM_SOURCE_HEARTBEAT=m
CONFIG_STM_SOURCE_FTRACE=m
CONFIG_INTEL_TH=m
CONFIG_INTEL_TH_PCI=m
CONFIG_INTEL_TH_ACPI=m
CONFIG_INTEL_TH_GTH=m
CONFIG_INTEL_TH_STH=m
CONFIG_INTEL_TH_MSU=m
CONFIG_INTEL_TH_PTI=m
# CONFIG_INTEL_TH_DEBUG is not set
# end of HW tracing support

# CONFIG_FPGA is not set
# CONFIG_SIOX is not set
# CONFIG_SLIMBUS is not set
# CONFIG_INTERCONNECT is not set
# CONFIG_COUNTER is not set
# CONFIG_MOST is not set
# CONFIG_PECI is not set
# CONFIG_HTE is not set
# end of Device Drivers

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_VALIDATE_FS_PARSER is not set
CONFIG_FS_IOMAP=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_XFS_FS=m
CONFIG_XFS_SUPPORT_V4=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
CONFIG_XFS_ONLINE_SCRUB=y
# CONFIG_XFS_ONLINE_REPAIR is not set
CONFIG_XFS_DEBUG=y
CONFIG_XFS_ASSERT_FATAL=y
CONFIG_GFS2_FS=m
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCFS2_FS_STATS=y
CONFIG_OCFS2_DEBUG_MASKLOG=y
# CONFIG_OCFS2_DEBUG_FS is not set
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
# CONFIG_BTRFS_ASSERT is not set
# CONFIG_BTRFS_FS_REF_VERIFY is not set
# CONFIG_NILFS2_FS is not set
CONFIG_F2FS_FS=m
CONFIG_F2FS_STAT_FS=y
CONFIG_F2FS_FS_XATTR=y
CONFIG_F2FS_FS_POSIX_ACL=y
# CONFIG_F2FS_FS_SECURITY is not set
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
# CONFIG_F2FS_FS_COMPRESSION is not set
CONFIG_F2FS_IOSTAT=y
# CONFIG_F2FS_UNFAIR_RWSEM is not set
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_EXPORTFS_BLOCK_OPS=y
CONFIG_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_ENCRYPTION_ALGS=y
# CONFIG_FS_VERITY is not set
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
# CONFIG_VIRTIO_FS is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
# CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW is not set
# CONFIG_OVERLAY_FS_INDEX is not set
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
# CONFIG_OVERLAY_FS_METACOPY is not set

#
# Caches
#
CONFIG_NETFS_SUPPORT=m
CONFIG_NETFS_STATS=y
CONFIG_FSCACHE=m
CONFIG_FSCACHE_STATS=y
# CONFIG_FSCACHE_DEBUG is not set
CONFIG_CACHEFILES=m
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_ERROR_INJECTION is not set
# CONFIG_CACHEFILES_ONDEMAND is not set
# end of Caches

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
# end of CD-ROM/DVD Filesystems

#
# DOS/FAT/EXFAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
# CONFIG_FAT_DEFAULT_UTF8 is not set
# CONFIG_EXFAT_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS3_FS is not set
# end of DOS/FAT/EXFAT/NT Filesystems

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
CONFIG_PROC_VMCORE_DEVICE_DUMP=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_CHILDREN=y
CONFIG_PROC_PID_ARCH_STATUS=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set
CONFIG_MEMFD_CREATE=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=y
CONFIG_EFIVAR_FS=y
# end of Pseudo filesystems

CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ORANGEFS_FS is not set
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=m
CONFIG_CRAMFS_BLOCKDEV=y
CONFIG_SQUASHFS=m
# CONFIG_SQUASHFS_FILE_CACHE is not set
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SQUASHFS_LZ4 is not set
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
# CONFIG_SQUASHFS_ZSTD is not set
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS=y
# CONFIG_PSTORE_LZO_COMPRESS is not set
# CONFIG_PSTORE_LZ4_COMPRESS is not set
# CONFIG_PSTORE_LZ4HC_COMPRESS is not set
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
CONFIG_PSTORE_COMPRESS=y
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_FTRACE is not set
CONFIG_PSTORE_RAM=m
# CONFIG_PSTORE_BLK is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_EROFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
# CONFIG_NFS_V2 is not set
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=m
# CONFIG_NFS_SWAP is not set
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=m
CONFIG_PNFS_BLOCK=m
CONFIG_PNFS_FLEXFILE_LAYOUT=m
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_NFS_V4_SECURITY_LABEL=y
# CONFIG_ROOT_NFS is not set
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
CONFIG_NFS_DEBUG=y
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
# CONFIG_NFS_V4_2_READ_PLUS is not set
CONFIG_NFSD=m
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_PNFS=y
# CONFIG_NFSD_BLOCKLAYOUT is not set
CONFIG_NFSD_SCSILAYOUT=y
# CONFIG_NFSD_FLEXFILELAYOUT is not set
# CONFIG_NFSD_V4_2_INTER_SSC is not set
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_GRACE_PERIOD=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_NFS_V4_2_SSC_HELPER=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_RPCSEC_GSS_KRB5=m
# CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES is not set
CONFIG_SUNRPC_DEBUG=y
CONFIG_CEPH_FS=m
# CONFIG_CEPH_FSCACHE is not set
CONFIG_CEPH_FS_POSIX_ACL=y
# CONFIG_CEPH_FS_SECURITY_LABEL is not set
CONFIG_CIFS=m
CONFIG_CIFS_STATS2=y
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
# CONFIG_CIFS_SWN_UPCALL is not set
# CONFIG_CIFS_FSCACHE is not set
# CONFIG_SMB_SERVER is not set
CONFIG_SMBFS_COMMON=m
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
# CONFIG_9P_FS is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_CELTIC=m
CONFIG_NLS_MAC_CENTEURO=m
CONFIG_NLS_MAC_CROATIAN=m
CONFIG_NLS_MAC_CYRILLIC=m
CONFIG_NLS_MAC_GAELIC=m
CONFIG_NLS_MAC_GREEK=m
CONFIG_NLS_MAC_ICELAND=m
CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m
CONFIG_DLM=m
# CONFIG_DLM_DEPRECATED_API is not set
CONFIG_DLM_DEBUG=y
# CONFIG_UNICODE is not set
CONFIG_IO_WQ=y
# end of File systems

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_KEYS_REQUEST_CACHE is not set
CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_TRUSTED_KEYS=y
CONFIG_TRUSTED_KEYS_TPM=y
CONFIG_ENCRYPTED_KEYS=y
# CONFIG_USER_DECRYPTED_DATA is not set
# CONFIG_KEY_DH_OPERATIONS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITY_WRITABLE_HOOKS=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_NETWORK_XFRM=y
# CONFIG_SECURITY_PATH is not set
CONFIG_INTEL_TXT=y
CONFIG_LSM_MMAP_MIN_ADDR=65535
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_FORTIFY_SOURCE=y
# CONFIG_STATIC_USERMODEHELPER is not set
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1
CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_LOADPIN is not set
CONFIG_SECURITY_YAMA=y
# CONFIG_SECURITY_SAFESETID is not set
# CONFIG_SECURITY_LOCKDOWN_LSM is not set
# CONFIG_SECURITY_LANDLOCK is not set
CONFIG_INTEGRITY=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
CONFIG_INTEGRITY_TRUSTED_KEYRING=y
# CONFIG_INTEGRITY_PLATFORM_KEYRING is not set
CONFIG_INTEGRITY_AUDIT=y
CONFIG_IMA=y
# CONFIG_IMA_KEXEC is not set
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_LSM_RULES=y
CONFIG_IMA_NG_TEMPLATE=y
# CONFIG_IMA_SIG_TEMPLATE is not set
CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng"
CONFIG_IMA_DEFAULT_HASH_SHA1=y
# CONFIG_IMA_DEFAULT_HASH_SHA256 is not set
# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set
CONFIG_IMA_DEFAULT_HASH="sha1"
# CONFIG_IMA_WRITE_POLICY is not set
# CONFIG_IMA_READ_POLICY is not set
CONFIG_IMA_APPRAISE=y
# CONFIG_IMA_ARCH_POLICY is not set
# CONFIG_IMA_APPRAISE_BUILD_POLICY is not set
CONFIG_IMA_APPRAISE_BOOTPARAM=y
# CONFIG_IMA_APPRAISE_MODSIG is not set
CONFIG_IMA_TRUSTED_KEYRING=y
# CONFIG_IMA_BLACKLIST_KEYRING is not set
# CONFIG_IMA_LOAD_X509 is not set
CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y
CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y
# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
# CONFIG_IMA_DISABLE_HTABLE is not set
CONFIG_EVM=y
CONFIG_EVM_ATTR_FSUUID=y
# CONFIG_EVM_ADD_XATTRS is not set
# CONFIG_EVM_LOAD_X509 is not set
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor,bpf"

#
# Kernel hardening options
#

#
# Memory initialization
#
CONFIG_INIT_STACK_NONE=y
# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF is not set
# CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL is not set
# CONFIG_GCC_PLUGIN_STACKLEAK is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
# CONFIG_ZERO_CALL_USED_REGS is not set
# end of Memory initialization

CONFIG_RANDSTRUCT_NONE=y
# CONFIG_RANDSTRUCT_FULL is not set
# CONFIG_RANDSTRUCT_PERFORMANCE is not set
# end of Kernel hardening options
# end of Security options

CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_ASYNC_PQ=m
CONFIG_ASYNC_RAID6_RECOV=m
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_KPP=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
# CONFIG_CRYPTO_TEST is not set
CONFIG_CRYPTO_SIMD=y
# end of Crypto core or helper

#
# Public-key cryptography
#
CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_DH=m
# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set
CONFIG_CRYPTO_ECC=y
CONFIG_CRYPTO_ECDH=y
# CONFIG_CRYPTO_ECDSA is not set
# CONFIG_CRYPTO_ECRDSA is not set
# CONFIG_CRYPTO_SM2 is not set
# CONFIG_CRYPTO_CURVE25519 is not set
# end of Public-key cryptography

#
# Block ciphers
#
CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_AES_TI is not set
CONFIG_CRYPTO_ANUBIS=m
# CONFIG_CRYPTO_ARIA is not set
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_COMMON=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST_COMMON=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_SM4_GENERIC is not set
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
# end of Block ciphers

#
# Length-preserving ciphers and modes
#
# CONFIG_CRYPTO_ADIANTUM is not set
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_HCTR2 is not set
# CONFIG_CRYPTO_KEYWRAP is not set
CONFIG_CRYPTO_LRW=m
# CONFIG_CRYPTO_OFB is not set
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
# end of Length-preserving ciphers and modes

#
# AEAD (authenticated encryption with associated data) ciphers
#
# CONFIG_CRYPTO_AEGIS128 is not set
# CONFIG_CRYPTO_CHACHA20POLY1305 is not set
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ECHAINIV=m
CONFIG_CRYPTO_ESSIV=m
# end of AEAD (authenticated encryption with associated data) ciphers

#
# Hashes, digests, and MACs
#
CONFIG_CRYPTO_BLAKE2B=m
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
# CONFIG_CRYPTO_POLY1305 is not set
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=m
# CONFIG_CRYPTO_SM3_GENERIC is not set
# CONFIG_CRYPTO_STREEBOG is not set
CONFIG_CRYPTO_VMAC=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_XXHASH=m
# end of Hashes, digests, and MACs

#
# CRCs (cyclic redundancy checks)
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRC64_ROCKSOFT=y
# end of CRCs (cyclic redundancy checks)

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_842 is not set
# CONFIG_CRYPTO_LZ4 is not set
# CONFIG_CRYPTO_LZ4HC is not set
# CONFIG_CRYPTO_ZSTD is not set
# end of Compression

#
# Random number generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_JITTERENTROPY=y
# end of Random number generation

#
# Userspace interface
#
CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=y
CONFIG_CRYPTO_USER_API_RNG=y
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
CONFIG_CRYPTO_USER_API_AEAD=y
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
# CONFIG_CRYPTO_STATS is not set
# end of Userspace interface

CONFIG_CRYPTO_HASH_INFO=y

#
# Accelerated Cryptographic Algorithms for CPU (x86)
#
# CONFIG_CRYPTO_CURVE25519_X86 is not set
CONFIG_CRYPTO_AES_NI_INTEL=y
CONFIG_CRYPTO_BLOWFISH_X86_64=m
CONFIG_CRYPTO_CAMELLIA_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
CONFIG_CRYPTO_CAST5_AVX_X86_64=m
CONFIG_CRYPTO_CAST6_AVX_X86_64=m
CONFIG_CRYPTO_DES3_EDE_X86_64=m
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
# CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64 is not set
CONFIG_CRYPTO_TWOFISH_X86_64=m
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
# CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64 is not set
CONFIG_CRYPTO_CHACHA20_X86_64=m
# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set
# CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set
# CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set
# CONFIG_CRYPTO_BLAKE2S_X86 is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
# CONFIG_CRYPTO_POLY1305_X86_64 is not set
CONFIG_CRYPTO_SHA1_SSSE3=y
CONFIG_CRYPTO_SHA256_SSSE3=y
CONFIG_CRYPTO_SHA512_SSSE3=m
# CONFIG_CRYPTO_SM3_AVX_X86_64 is not set
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
# end of Accelerated Cryptographic Algorithms for CPU (x86)

CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
CONFIG_CRYPTO_DEV_PADLOCK_AES=m
CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
CONFIG_CRYPTO_DEV_CCP=y
CONFIG_CRYPTO_DEV_QAT=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_C3XXX=m
CONFIG_CRYPTO_DEV_QAT_C62X=m
# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m
CONFIG_CRYPTO_DEV_QAT_C62XVF=m
CONFIG_CRYPTO_DEV_NITROX=m
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
# CONFIG_CRYPTO_DEV_VIRTIO is not set
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
# CONFIG_FIPS_SIGNATURE_SELFTEST is not set

#
# Certificates for signature checking
#
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
# CONFIG_MODULE_SIG_KEY_TYPE_ECDSA is not set
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
# CONFIG_SYSTEM_REVOCATION_LIST is not set
# CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE is not set
# end of Certificates for signature checking

CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=m
CONFIG_RAID6_PQ_BENCHMARK=y
# CONFIG_PACKING is not set
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_CORDIC=m
# CONFIG_PRIME_NUMBERS is not set
CONFIG_RATIONAL=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_ARCH_USE_SYM_ANNOTATIONS=y

#
# Crypto library routines
#
CONFIG_CRYPTO_LIB_UTILS=y
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_ARC4=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
# CONFIG_CRYPTO_LIB_CHACHA is not set
# CONFIG_CRYPTO_LIB_CURVE25519 is not set
CONFIG_CRYPTO_LIB_DES=m
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
# CONFIG_CRYPTO_LIB_POLY1305 is not set
# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set
CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA256=y
# end of Crypto library routines

CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC64_ROCKSOFT=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC64=y
# CONFIG_CRC4 is not set
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_CRC8=m
CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_COMPRESS=m
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
# CONFIG_XZ_DEC_MICROLZMA is not set
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=m
CONFIG_REED_SOLOMON_ENC8=y
CONFIG_REED_SOLOMON_DEC8=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_INTERVAL_TREE=y
CONFIG_XARRAY_MULTI=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_ARCH_HAS_FORCE_DMA_UNENCRYPTED=y
CONFIG_SWIOTLB=y
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
CONFIG_SGL_ALLOC=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPUMASK_OFFSTACK=y
# CONFIG_FORCE_NR_CPUS is not set
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
CONFIG_CLZ_TAB=y
CONFIG_IRQ_POLL=y
CONFIG_MPILIB=y
CONFIG_SIGNATURE=y
CONFIG_OID_REGISTRY=y
CONFIG_UCS2_STRING=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_TIME_NS=y
CONFIG_FONT_SUPPORT=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_MEMREGION=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_STACKDEPOT=y
CONFIG_SBITMAP=y
# end of Library routines

CONFIG_ASN1_ENCODER=y

#
# Kernel hacking
#

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_PRINTK_CALLER=y
# CONFIG_STACKTRACE_BUILD_ID is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_DEBUG_CORE=y
CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_DEBUG_BUGVERBOSE=y
# end of printk and dmesg options

CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_MISC=y

#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
CONFIG_AS_HAS_NON_CONST_LEB128=y
# CONFIG_DEBUG_INFO_NONE is not set
# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
CONFIG_DEBUG_INFO_DWARF4=y
# CONFIG_DEBUG_INFO_DWARF5 is not set
# CONFIG_DEBUG_INFO_REDUCED is not set
# CONFIG_DEBUG_INFO_COMPRESSED is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
CONFIG_DEBUG_INFO_BTF=y
CONFIG_PAHOLE_HAS_SPLIT_BTF=y
CONFIG_DEBUG_INFO_BTF_MODULES=y
# CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set
# CONFIG_GDB_SCRIPTS is not set
CONFIG_FRAME_WARN=2048
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not set
# CONFIG_HEADERS_INSTALL is not set
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set
CONFIG_OBJTOOL=y
CONFIG_VMLINUX_MAP=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options

#
# Generic Kernel Debugging Instruments
#
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
# CONFIG_UBSAN is not set
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_HAVE_KCSAN_COMPILER=y
CONFIG_KCSAN=y
CONFIG_KCSAN_SELFTEST=y
CONFIG_KCSAN_EARLY_ENABLE=y
CONFIG_KCSAN_NUM_WATCHPOINTS=64
CONFIG_KCSAN_UDELAY_TASK=80
CONFIG_KCSAN_UDELAY_INTERRUPT=20
CONFIG_KCSAN_DELAY_RANDOMIZE=y
CONFIG_KCSAN_SKIP_WATCH=4000
CONFIG_KCSAN_SKIP_WATCH_RANDOMIZE=y
# CONFIG_KCSAN_INTERRUPT_WATCHER is not set
CONFIG_KCSAN_REPORT_ONCE_IN_MS=3000
# CONFIG_KCSAN_REPORT_RACE_UNKNOWN_ORIGIN is not set
# CONFIG_KCSAN_STRICT is not set
CONFIG_KCSAN_REPORT_VALUE_CHANGE_ONLY=y
CONFIG_KCSAN_ASSUME_PLAIN_WRITES_ATOMIC=y
# CONFIG_KCSAN_IGNORE_ATOMICS is not set
CONFIG_KCSAN_PERMISSIVE=y
# end of Generic Kernel Debugging Instruments

#
# Networking Debugging
#
# CONFIG_NET_DEV_REFCNT_TRACKER is not set
# CONFIG_NET_NS_REFCNT_TRACKER is not set
# CONFIG_DEBUG_NET is not set
# end of Networking Debugging

#
# Memory Debugging
#
# CONFIG_PAGE_EXTENSION is not set
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_SLUB_DEBUG=y
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_PAGE_OWNER is not set
# CONFIG_PAGE_TABLE_CHECK is not set
# CONFIG_PAGE_POISONING is not set
# CONFIG_DEBUG_PAGE_REF is not set
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_ARCH_HAS_DEBUG_WX=y
# CONFIG_DEBUG_WX is not set
CONFIG_GENERIC_PTDUMP=y
# CONFIG_PTDUMP_DEBUGFS is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SHRINKER_DEBUG is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
CONFIG_DEBUG_KMEMLEAK=y
CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
# CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not set
CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VM_PGTABLE is not set
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
# CONFIG_KASAN is not set
CONFIG_HAVE_ARCH_KFENCE=y
CONFIG_KFENCE=y
CONFIG_KFENCE_SAMPLE_INTERVAL=100
CONFIG_KFENCE_NUM_OBJECTS=255
# CONFIG_KFENCE_DEFERRABLE is not set
# CONFIG_KFENCE_STATIC_KEYS is not set
CONFIG_KFENCE_STRESS_TEST_FAULTS=0
CONFIG_HAVE_ARCH_KMSAN=y
# end of Memory Debugging

CONFIG_DEBUG_SHIRQ=y

#
# Debug Oops, Lockups and Hangs
#
CONFIG_PANIC_ON_OOPS=y
CONFIG_PANIC_ON_OOPS_VALUE=1
CONFIG_PANIC_TIMEOUT=0
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SOFTLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_WQ_WATCHDOG=y
# CONFIG_TEST_LOCKUP is not set
# end of Debug Oops, Lockups and Hangs

#
# Scheduler Debugging
#
CONFIG_SCHED_DEBUG=y
CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# end of Scheduler Debugging

# CONFIG_DEBUG_TIMEKEEPING is not set

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
# CONFIG_DEBUG_RWSEMS is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
CONFIG_DEBUG_ATOMIC_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_SCF_TORTURE_TEST is not set
# CONFIG_CSD_LOCK_WAIT_DEBUG is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)

# CONFIG_DEBUG_IRQFLAGS is not set
CONFIG_STACKTRACE=y
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set

#
# Debug kernel data structures
#
CONFIG_DEBUG_LIST=y
# CONFIG_DEBUG_PLIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
CONFIG_BUG_ON_DATA_CORRUPTION=y
# CONFIG_DEBUG_MAPLE_TREE is not set
# end of Debug kernel data structures

# CONFIG_DEBUG_CREDENTIALS is not set

#
# RCU Debugging
#
# CONFIG_RCU_SCALE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_REF_SCALE_TEST is not set
CONFIG_RCU_CPU_STALL_TIMEOUT=60
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
# end of RCU Debugging

# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
# CONFIG_LATENCYTOP is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_RETHOOK=y
CONFIG_RETHOOK=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_OBJTOOL_MCOUNT=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
CONFIG_BUILDTIME_MCOUNT_SORT=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_BOOTTIME_TRACING is not set
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y
# CONFIG_FPROBE is not set
CONFIG_FUNCTION_PROFILER=y
CONFIG_STACK_TRACER=y
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_SCHED_TRACER=y
CONFIG_HWLAT_TRACER=y
# CONFIG_OSNOISE_TRACER is not set
# CONFIG_TIMERLAT_TRACER is not set
# CONFIG_MMIOTRACE is not set
CONFIG_FTRACE_SYSCALLS=y
CONFIG_TRACER_SNAPSHOT=y
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_FTRACE_MCOUNT_RECORD=y
CONFIG_FTRACE_MCOUNT_USE_CC=y
CONFIG_TRACING_MAP=y
CONFIG_SYNTH_EVENTS=y
CONFIG_HIST_TRIGGERS=y
# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_FTRACE_RECORD_RECURSION is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_FTRACE_SORT_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_SYNTH_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_HIST_TRIGGERS_DEBUG is not set
# CONFIG_RV is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
CONFIG_STRICT_DEVMEM=y
# CONFIG_IO_STRICT_DEVMEM is not set

#
# x86 Debugging
#
CONFIG_EARLY_PRINTK_USB=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_DEBUG_TLBFLUSH is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
# CONFIG_DEBUG_ENTRY is not set
# CONFIG_DEBUG_NMI_SELFTEST is not set
# CONFIG_X86_DEBUG_FPU is not set
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_UNWINDER_ORC=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
# end of x86 Debugging

#
# Kernel Testing and Coverage
#
# CONFIG_KUNIT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
CONFIG_FUNCTION_ERROR_INJECTION=y
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
# CONFIG_FAIL_PAGE_ALLOC is not set
# CONFIG_FAULT_INJECTION_USERCOPY is not set
# CONFIG_FAIL_MAKE_REQUEST is not set
# CONFIG_FAIL_IO_TIMEOUT is not set
# CONFIG_FAIL_FUTEX is not set
CONFIG_FAULT_INJECTION_DEBUG_FS=y
# CONFIG_FAIL_FUNCTION is not set
# CONFIG_FAIL_MMC_REQUEST is not set
# CONFIG_FAIL_SUNRPC is not set
CONFIG_ARCH_HAS_KCOV=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
CONFIG_KCOV=y
CONFIG_KCOV_ENABLE_COMPARISONS=y
CONFIG_KCOV_INSTRUMENT_ALL=y
CONFIG_KCOV_IRQ_AREA_SIZE=0x40000
CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_LKDTM is not set
# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_DIV64 is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_TEST_REF_TRACKER is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_REED_SOLOMON_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PERCPU_TEST is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_TEST_HEXDUMP is not set
# CONFIG_STRING_SELFTEST is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_STRSCPY is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_SCANF is not set
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_UUID is not set
# CONFIG_TEST_XARRAY is not set
# CONFIG_TEST_MAPLE_TREE is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_TEST_SIPHASH is not set
# CONFIG_TEST_IDA is not set
# CONFIG_TEST_LKM is not set
# CONFIG_TEST_BITOPS is not set
# CONFIG_TEST_VMALLOC is not set
# CONFIG_TEST_USER_COPY is not set
# CONFIG_TEST_BPF is not set
# CONFIG_TEST_BLACKHOLE_DEV is not set
# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_SYSCTL is not set
# CONFIG_TEST_UDELAY is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_DYNAMIC_DEBUG is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_HMM is not set
# CONFIG_TEST_FREE_PAGES is not set
# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set
CONFIG_ARCH_USE_MEMTEST=y
# CONFIG_MEMTEST is not set
# CONFIG_HYPERV_TESTING is not set
# end of Kernel Testing and Coverage

#
# Rust hacking
#
# end of Rust hacking
# end of Kernel hacking

--baj2StxQK9RotUfM--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 00:16:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 00:16:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454256.711800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Lci-0007sY-E9; Tue, 06 Dec 2022 00:15:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454256.711800; Tue, 06 Dec 2022 00:15:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Lci-0007sR-BI; Tue, 06 Dec 2022 00:15:48 +0000
Received: by outflank-mailman (input) for mailman id 454256;
 Tue, 06 Dec 2022 00:15:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2Lch-0007sH-2X; Tue, 06 Dec 2022 00:15:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2Lch-0007Lb-04; Tue, 06 Dec 2022 00:15:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2Lcg-0000Ir-Ew; Tue, 06 Dec 2022 00:15:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2Lcg-0007if-Dz; Tue, 06 Dec 2022 00:15:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lV/HhY5XtRMz84gZYCiQDYdUCQFv/rjjHUQsgcaJo7E=; b=fZYKH3PXoaenIwS7loyZus29O5
	pcuCZYGv2q1xHjTdFGHnyf6GbzbeqscaTQZCflAtHUMsWLmVc8WsY0OW+V/zf4uLBtfZoYj7oIYMI
	xHQW7ftsIBe1WryhbxNwLmBwbLS0y3TX2uUi8Un45cOuTQYH0PiX/oayFbe5gyJPvw0A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175050-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175050: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-freebsd10-amd64:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-freebsd10-i386:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=15241c92677a027694e609b55a77ae5ba3616104
X-Osstest-Versions-That:
    xen=68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 06 Dec 2022 00:15:46 +0000

flight 175050 xen-unstable real [real]
flight 175053 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175050/
http://logs.test-lab.xenproject.org/osstest/logs/175053/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-freebsd10-amd64  7 xen-install      fail pass in 175053-retest
 test-amd64-i386-freebsd10-i386  7 xen-install       fail pass in 175053-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175044
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175044
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175044
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175044
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175044
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175044
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175044
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175044
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175044
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175044
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175044
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175044
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  15241c92677a027694e609b55a77ae5ba3616104
baseline version:
 xen                  68f551ec5fa9ad96397a62cd463a7ff7e4db72d0

Last test of basis   175044  2022-12-05 01:53:54 Z    0 days
Testing same since   175050  2022-12-05 15:07:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              fail    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   68f551ec5f..15241c9267  15241c92677a027694e609b55a77ae5ba3616104 -> master


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 01:02:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 01:02:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454274.711811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2MM8-0005b0-1h; Tue, 06 Dec 2022 01:02:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454274.711811; Tue, 06 Dec 2022 01:02:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2MM7-0005at-UT; Tue, 06 Dec 2022 01:02:43 +0000
Received: by outflank-mailman (input) for mailman id 454274;
 Tue, 06 Dec 2022 01:02:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2MM6-0005aj-Cz; Tue, 06 Dec 2022 01:02:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2MM6-0006dF-AD; Tue, 06 Dec 2022 01:02:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2MM5-0001Pn-Nf; Tue, 06 Dec 2022 01:02:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2MM5-0005OB-NE; Tue, 06 Dec 2022 01:02:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PZBDg7+IlLNWKAjyixbQflS/1fxk+OmWYdwkWWR4Bqw=; b=WD//MfJ0b8280YFcTT7nLPLMca
	iuLsW7zaZ3cMb9oWTvOHf+Nll6wKHEcCBtp4nPyHeYsVon194H7XKrSVm6h1oYZqq/sEMTMrmA9Dv
	Qgsw6iR9e0mCU4AfHIDirggXucA5xitsx1YJ+U4ixJkMDABFOSCOobm6JYxbQmN1UtK4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175051-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175051: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=edc93f455fa823a9a5fcb3a8da430104c7375a0a
X-Osstest-Versions-That:
    qemuu=aaf47c7e8b19e2f7093d565115713a9496d316d1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 06 Dec 2022 01:02:41 +0000

flight 175051 qemu-mainline real [real]
flight 175054 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175051/
http://logs.test-lab.xenproject.org/osstest/logs/175054/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail pass in 175054-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175043
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175043
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175043
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175043
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175043
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175043
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175043
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175043
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 qemuu                edc93f455fa823a9a5fcb3a8da430104c7375a0a
baseline version:
 qemuu                aaf47c7e8b19e2f7093d565115713a9496d316d1

Last test of basis   175043  2022-12-05 00:08:50 Z    1 days
Testing same since   175051  2022-12-05 16:40:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Song Gao <gaosong@loongson.cn>
  Stefan Hajnoczi <stefanha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   aaf47c7e8b..edc93f455f  edc93f455fa823a9a5fcb3a8da430104c7375a0a -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 02:09:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 02:09:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454285.711822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2NOQ-00073a-SW; Tue, 06 Dec 2022 02:09:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454285.711822; Tue, 06 Dec 2022 02:09:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2NOQ-00073T-P7; Tue, 06 Dec 2022 02:09:10 +0000
Received: by outflank-mailman (input) for mailman id 454285;
 Tue, 06 Dec 2022 02:09:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZZAw=4E=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p2NOP-00073N-2U
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 02:09:09 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5dfa23e-750a-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 03:09:06 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id CF9556150B;
 Tue,  6 Dec 2022 02:09:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E4F6EC433D6;
 Tue,  6 Dec 2022 02:09:02 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5dfa23e-750a-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670292544;
	bh=H2bO3LQ6ezULzxVdVBxlZcd0ZZzrWXtqyJErFWk1V+A=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=U3CiGoIlCwOU6kMizd2S9twPl8Rq6OQr6l2JumUfOZ/lUjj/HZh7uPrdxddQMdDiH
	 iwv2a9dNhP5PAOWhkvsgiMtWhxxVaEHjQGq5sT1ng04EnOLFc5hVqg0hKOATuj3kRM
	 ss1CKISg03u6rjlA66qmmqJ/pDrIL4heQOAFkTE2tom4b/sgN8hKCKhYmijEXOWR+N
	 BGgtvyF5mt0P8u7wfhH0pE622fqvdlGxZ1EJsUhGtHSOD80s99x3huYM+LjJ++oWw9
	 PSyHLQ73dmwRq0D5U8L/b0+3tRGmUYkY7f0dNdLOc7Wpi9OXrYtxFxIhPFFW6GVDkq
	 ScviabFodyV3w==
Date: Mon, 5 Dec 2022 18:09:01 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <luca.fancellu@arm.com>
cc: xen-devel@lists.xenproject.org, bertrand.marquis@arm.com, wei.chen@arm.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/5] xen/scripts: add xen-analysis.py for coverity
 and eclair analysis
In-Reply-To: <20221205154052.14191-2-luca.fancellu@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212051716410.4039@ubuntu-linux-20-04-desktop>
References: <20221205154052.14191-1-luca.fancellu@arm.com> <20221205154052.14191-2-luca.fancellu@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 5 Dec 2022, Luca Fancellu wrote:
> Add new script for coverity/eclair analysis tool that will enable
> the procedure to suppress findings when these tool are used.
> The procedure is documented in docs/misra/documenting-violations.rst
> and the script is documented in docs/misra/xen-static-analysis.rst.
> 
> Add in docs/misra/ the files safe.json and
> false-positive-{coverity,eclair}.json that are JSON files containing
> the data structures for the justifications, they are used by the
> analysis script to link the Xen tags to the proprietary tool comment.
> 
> Add docs/misra/documenting-violations.rst to explain how to add
> justifications.
> 
> Add docs/misra/xen-static-analysis.rst to explain how to use the
> script to analyse Xen.
> 
> Add analysis artifacts files to .gitignore.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

Hi Luca,

You can add my Tested-by to the entire series. I tested this series
successfully as is. Then I tried adding one cppcheck suppression
(shadowVariable) and everything worked as expected.  Very nice!


Also for this patch:

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> v2 changes:
>  - no change
> ---
> ---
>  .gitignore                                   |   1 +
>  docs/misra/documenting-violations.rst        | 191 +++++++++++++++++++
>  docs/misra/false-positive-coverity.json      |  12 ++
>  docs/misra/false-positive-eclair.json        |  12 ++
>  docs/misra/safe.json                         |  11 ++
>  docs/misra/xen-static-analysis.rst           |  54 ++++++
>  xen/scripts/xen-analysis.py                  |  31 +++
>  xen/scripts/xen_analysis/__init__.py         |   0
>  xen/scripts/xen_analysis/generic_analysis.py |  93 +++++++++
>  xen/scripts/xen_analysis/settings.py         |  97 ++++++++++
>  xen/scripts/xen_analysis/tag_database.py     | 109 +++++++++++
>  xen/scripts/xen_analysis/utils.py            |  37 ++++
>  12 files changed, 648 insertions(+)
>  create mode 100644 docs/misra/documenting-violations.rst
>  create mode 100644 docs/misra/false-positive-coverity.json
>  create mode 100644 docs/misra/false-positive-eclair.json
>  create mode 100644 docs/misra/safe.json
>  create mode 100644 docs/misra/xen-static-analysis.rst
>  create mode 100755 xen/scripts/xen-analysis.py
>  create mode 100644 xen/scripts/xen_analysis/__init__.py
>  create mode 100644 xen/scripts/xen_analysis/generic_analysis.py
>  create mode 100644 xen/scripts/xen_analysis/settings.py
>  create mode 100644 xen/scripts/xen_analysis/tag_database.py
>  create mode 100644 xen/scripts/xen_analysis/utils.py
> 
> diff --git a/.gitignore b/.gitignore
> index ea3243af9dde..f5a66f6194dd 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -10,6 +10,7 @@
>  *.c.cppcheck
>  *.opic
>  *.a
> +*.safparse
>  *.so
>  *.so.[0-9]*
>  *.bin
> diff --git a/docs/misra/documenting-violations.rst b/docs/misra/documenting-violations.rst
> new file mode 100644
> index 000000000000..1d23447556d2
> --- /dev/null
> +++ b/docs/misra/documenting-violations.rst
> @@ -0,0 +1,191 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +Documenting violations
> +======================
> +
> +Static analysers are used on the Xen codebase for both static analysis and MISRA
> +compliance.
> +There might be the need to suppress some findings instead of fixing them and
> +many tools permit the usage of in-code comments that suppress findings so that
> +they are not shown in the final report.
> +
> +Xen includes a tool capable of translating a specific comment used in its
> +codebase to the right proprietary in-code comment understandable by the selected
> +analyser that suppress its finding.
> +
> +In the Xen codebase, these tags will be used to document and suppress findings:
> +
> + - SAF-X-safe: This tag means that the next line of code contains a finding, but
> +   the non compliance to the checker is analysed and demonstrated to be safe.
> + - SAF-X-false-positive-<tool>: This tag means that the next line of code
> +   contains a finding, but the finding is a bug of the tool.
> +
> +SAF stands for Static Analyser Finding, the X is a placeholder for a positive
> +number that starts from zero, the number after SAF- shall be incremental and
> +unique, base ten notation and without leading zeros.
> +
> +Entries in the database shall never be removed, even if they are not used
> +anymore in the code (if a patch is removing or modifying the faulty line).
> +This is to make sure that numbers are not reused which could lead to conflicts
> +with old branches or misleading justifications.
> +
> +An entry can be reused in multiple places in the code to suppress a finding if
> +and only if the justification holds for the same non-compliance to the coding
> +standard.
> +
> +An orphan entry, that is an entry who was justifying a finding in the code, but
> +later that code was removed and there is no other use of that entry in the code,
> +can be reused as long as the justification for the finding holds. This is done
> +to avoid the allocation of a new entry with exactly the same justification, that
> +would lead to waste of space and maintenance issues of the database.
> +
> +The files where to store all the justifications are in xen/docs/misra/ and are
> +named as safe.json and false-positive-<tool>.json, they have JSON format, each
> +one has a different justification schema which shares some fields.
> +
> +Here is an example to add a new justification in safe.json::
> +
> +|{
> +|    "version": "1.0",
> +|    "content": [
> +|        {
> +|            "id": "SAF-0-safe",
> +|            "analyser": {
> +|                "coverity": "misra_c_2012_rule_20_7_violation",
> +|                "eclair": "MC3R1.R20.7"
> +|            },
> +|            "name": "R20.7 C macro parameters not used as expression",
> +|            "text": "The macro parameters used in this [...]"
> +|        },
> +|        {
> +|            "id": "SAF-1-safe",
> +|            "analyser": {},
> +|            "name": "Sentinel",
> +|            "text": "Next ID to be used"
> +|        }
> +|    ]
> +|}
> +
> +To document a finding in safe.json, just add another block {[...]} before the
> +sentinel block, using the id contained in the sentinel block and increment by
> +one the number contained in the id of the sentinel block.
> +
> +Here is an explanation of the fields inside an object of the "content" array:
> + - id: it is a unique string that is used to refer to the finding, many finding
> +   can be tagged with the same id, if the justification holds for any applied
> +   case.
> +   It tells the tool to substitute a Xen in-code comment having this structure:
> +   /* SAF-0-safe [...] \*/
> + - analyser: it is an object containing pair of key-value strings, the key is
> +   the analyser, so it can be coverity or eclair, the value is the proprietary
> +   id corresponding on the finding, for example when coverity is used as
> +   analyser, the tool will translate the Xen in-code coment in this way:
> +   /* SAF-0-safe [...] \*/ -> /* coverity[misra_c_2012_rule_20_7_violation] \*/
> +   if the object doesn't have a key-value, then the corresponding in-code
> +   comment won't be translated.
> + - name: a simple name for the finding
> + - text: a proper justification to turn off the finding.
> +
> +
> +Here is an example to add a new justification in false-positive-<tool>.json::
> +
> +|{
> +|    "version": "1.0",
> +|    "content": [
> +|        {
> +|            "id": "SAF-0-false-positive-<tool>",
> +|            "violation-id": "<proprietary-id>",
> +|            "tool-version": "<version>",
> +|            "name": "R20.7 [...]",
> +|            "text": "[...]"
> +|        },
> +|        {
> +|            "id": "SAF-1-false-positive-<tool>",
> +|            "violation-id": "",
> +|            "tool-version": "",
> +|            "name": "Sentinel",
> +|            "text": "Next ID to be used"
> +|        }
> +|    ]
> +|}
> +
> +To document a finding in false-positive-<tool>.json, just add another block
> +{[...]} before the sentinel block, using the id contained in the sentinel block
> +and increment by one the number contained in the id of the sentinel block.
> +
> +Here is an explanation of the fields inside an object of the "content" array:
> + - id: it has the same meaning as in the "safe" justification schema.
> +   It tells the tool to substitute a Xen in-code comment having this structure:
> +   /* SAF-0-false-positive-<tool> [...] \*/
> + - violation-id: its value is a string containing the proprietary id
> +   corresponding to the finding, for example when <tool> is coverity, the Xen
> +   tool will translate the Xen in-code coment in this way:
> +   /* SAF-0-false-positive-coverity [...] \*/ -> /* coverity[misra_c_2012_rule_20_7_violation] \*/
> +   if the object doesn't have a value, then the corresponding in-code comment
> +   won't be translated.
> + - tool-version: the version of the tool affected by the false positive, if it
> +   is discovered in more than one version, this string can be a range
> +   (eg. 2.7 - 3.0)
> + - name, text: they have the same meaning as in the "safe" justification schema.
> +
> +
> +Justification example
> +---------------------
> +
> +Here an example of the usage of the in-code comment tags to suppress a finding
> +for the Rule 8.6:
> +
> +Eclair reports it in its web report, file xen/include/xen/kernel.h, line 68:
> +
> +| MC3R1.R8.6 for program 'xen/xen-syms', variable '_start' has no definition
> +
> +Also coverity reports it, here is an extract of the finding:
> +
> +| xen/include/xen/kernel.h:68:
> +| 1. misra_c_2012_rule_8_6_violation: Function "_start" is declared but never
> + defined.
> +
> +The analysers are complaining because we have this in xen/include/xen/kernel.h
> +at line 68::
> +
> +| extern char _start[], _end[], start[];
> +
> +Those are symbols exported by the linker, hence we will need to have a proper
> +deviation for this finding.
> +
> +We will prepare our entry in the safe.json database::
> +
> +|{
> +|    "version": "1.0",
> +|    "content": [
> +|        {
> +|        [...]
> +|        },
> +|        {
> +|            "id": "SAF-1-safe",
> +|            "analyser": {
> +|                "eclair": "MC3R1.R8.6",
> +|                "coverity": "misra_c_2012_rule_8_6_violation"
> +|            },
> +|            "name": "Rule 8.6: linker script defined symbols",
> +|            "text": "It is safe to declare this symbol because it is defined in the linker script."
> +|        },
> +|        {
> +|            "id": "SAF-2-safe",
> +|            "analyser": {},
> +|            "name": "Sentinel",
> +|            "text": "Next ID to be used"
> +|        }
> +|    ]
> +|}
> +
> +And we will use the proper tag above the violation line::
> +
> +| /* SAF-1-safe R8.6 linker defined symbols */
> +| extern char _start[], _end[], start[];
> +
> +This entry will fix also the violation on _end and start, because they are on
> +the same line and the same "violation ID".
> +
> +Also, the same tag can be used on other symbols from the linker that are
> +declared in the codebase, because the justification holds for them too.
> diff --git a/docs/misra/false-positive-coverity.json b/docs/misra/false-positive-coverity.json
> new file mode 100644
> index 000000000000..462448414f80
> --- /dev/null
> +++ b/docs/misra/false-positive-coverity.json
> @@ -0,0 +1,12 @@
> +{
> +    "version": "1.0",
> +    "content": [
> +        {
> +            "id": "SAF-0-false-positive-coverity",
> +            "violation-id": "",
> +            "tool-version": "",
> +            "name": "Sentinel",
> +            "text": "Next ID to be used"
> +        }
> +    ]
> +}
> diff --git a/docs/misra/false-positive-eclair.json b/docs/misra/false-positive-eclair.json
> new file mode 100644
> index 000000000000..1d6ea5d7f045
> --- /dev/null
> +++ b/docs/misra/false-positive-eclair.json
> @@ -0,0 +1,12 @@
> +{
> +    "version": "1.0",
> +    "content": [
> +        {
> +            "id": "SAF-0-false-positive-eclair",
> +            "violation-id": "",
> +            "tool-version": "",
> +            "name": "Sentinel",
> +            "text": "Next ID to be used"
> +        }
> +    ]
> +}
> diff --git a/docs/misra/safe.json b/docs/misra/safe.json
> new file mode 100644
> index 000000000000..e079d3038120
> --- /dev/null
> +++ b/docs/misra/safe.json
> @@ -0,0 +1,11 @@
> +{
> +    "version": "1.0",
> +    "content": [
> +        {
> +            "id": "SAF-0-safe",
> +            "analyser": {},
> +            "name": "Sentinel",
> +            "text": "Next ID to be used"
> +        }
> +    ]
> +}
> diff --git a/docs/misra/xen-static-analysis.rst b/docs/misra/xen-static-analysis.rst
> new file mode 100644
> index 000000000000..5b886474d4a0
> --- /dev/null
> +++ b/docs/misra/xen-static-analysis.rst
> @@ -0,0 +1,54 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +Xen static analysis
> +===================
> +
> +The Xen codebase integrates some scripts and tools that helps the developer to
> +perform static analysis of the code, currently Xen supports three analysis tool
> +that are eclair, coverity and cppcheck.
> +The Xen tree has a script (xen-analysis.py) available to ease the analysis
> +process and it integrates a way to suppress findings on these tools (only Eclair
> +and Coverity are currently supported by the script), please check the
> +documenting-violation.rst document to know more about it.
> +
> +Analyse Xen with Coverity or Eclair
> +-----------------------------------
> +
> +The xen-analysis.py script has two arguments to select which tool is used for
> +the analysis:
> +
> + - xen-analysis.py --run-coverity -- [optional make arguments]
> + - xen-analysis.py --run-eclair -- [optional make arguments]
> +
> +For example when using Coverity to analyse a Xen build obtained by passing these
> +arguments to the make system: XEN_TARGET_ARCH=arm64
> +CROSS_COMPILE=aarch64-linux-gnu-, the optional make arguments passed to
> +xen-analysis.py must be the same and the command below should be passed to
> +Coverity in its build phase:
> +
> + - xen-analysis.py --run-coverity -- XEN_TARGET_ARCH=arm64
> +   CROSS_COMPILE=aarch64-linux-gnu-
> +
> +Which tells to the script to prepare the codebase for an analysis by Coverity
> +and forwards the make arguments to the make build invocation.
> +
> +When invoking the script, the procedure below will be followed:
> +
> + 1. Find which files among \*.c and \*.h has any in-code comment as
> +    /* SAF-X-[...] \*/, the meaning of these comments is explained in
> +    documenting-violation.rst.
> +    Save the files obtained as <file>.safparse and generate <file> files where
> +    the special in-code comments above are substituted with the proprietary
> +    in-code comment used by the selected analysis tool. The safe.json and
> +    false-positive-<tool>.json text file database are used to link each Xen tag
> +    to the right proprietary in-code comment.
> + 2. Now Xen compilation starts using every <additional make parameters> supplied
> +    at the script invocation. Coverity and Eclair are capable of intercepting
> +    the compiler running from make to perform their analysis without
> +    instrumenting the makefile.
> + 3. As final step every <file>.safparse file are reverted back as <file> and
> +    every artifact related to the analysis will be cleaned.
> +    This step is performed even in case any of the previous step fail, to skip
> +    this step, call the script adding the --no-clean argument, but before
> +    running again the script, call it with the --clean-only argument, that will
> +    execute only this cleaning step.
> diff --git a/xen/scripts/xen-analysis.py b/xen/scripts/xen-analysis.py
> new file mode 100755
> index 000000000000..b5d9ef1862c9
> --- /dev/null
> +++ b/xen/scripts/xen-analysis.py
> @@ -0,0 +1,31 @@
> +#!/usr/bin/env python3
> +
> +import sys
> +from xen_analysis import settings, generic_analysis
> +from xen_analysis.generic_analysis import *
> +
> +
> +def main(argv):
> +    ret_code = 0
> +    settings.parse_commandline(argv)
> +    try:
> +        if settings.step_parse_tags:
> +            generic_analysis.parse_xen_tags()
> +        if settings.step_build_xen:
> +            generic_analysis.build_xen()
> +    except (ParseTagPhaseError, BuildPhaseError) as e:
> +        print("ERROR: {}".format(e))
> +        if hasattr(e, "errorcode"):
> +            ret_code = e.errorcode
> +    finally:
> +        if settings.step_clean_analysis:
> +            e = generic_analysis.clean_analysis_artifacts()
> +            if e:
> +                print("ERROR: {}".format(e))
> +                ret_code = 1
> +
> +    sys.exit(ret_code)
> +
> +
> +if __name__ == "__main__":
> +    main(sys.argv[1:])
> diff --git a/xen/scripts/xen_analysis/__init__.py b/xen/scripts/xen_analysis/__init__.py
> new file mode 100644
> index 000000000000..e69de29bb2d1
> diff --git a/xen/scripts/xen_analysis/generic_analysis.py b/xen/scripts/xen_analysis/generic_analysis.py
> new file mode 100644
> index 000000000000..0b470c4ecf7d
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/generic_analysis.py
> @@ -0,0 +1,93 @@
> +#!/usr/bin/env python3
> +
> +import os, subprocess
> +from . import settings, utils, tag_database
> +
> +class ParseTagPhaseError(Exception):
> +    pass
> +
> +class BuildPhaseError(Exception):
> +    pass
> +
> +class CleanPhaseError(Exception):
> +    pass
> +
> +
> +def parse_xen_tags():
> +    # Load the database for the Xen tags
> +    subs_list = tag_database.load_tag_database(
> +        settings.analysis_tool,
> +        [settings.repo_dir + "/docs/misra/safe.json"]
> +    )
> +    subs_list = tag_database.load_tag_database(
> +        settings.analysis_tool,
> +        [settings.repo_dir + "/docs/misra/false-positive-{}.json"
> +                                .format(settings.analysis_tool)],
> +        subs_list,
> +        "false-positive"
> +    )
> +
> +    # Create outdir if it doesn't exists
> +    os.makedirs(settings.outdir, exist_ok=True)
> +
> +    # The following lambda function will return a file if it contains lines with
> +    # a comment containing "SAF-<number>-{safe|false-positive-<tool>}" on a
> +    # single line.
> +    grep_action = lambda x: utils.grep(x,
> +                                    tag_database.get_xen_tag_comment_regex(
> +                                                        settings.analysis_tool)
> +    )
> +    # Look for a list of .h/.c files that matches the condition above
> +    parse_file_list = utils.recursive_find_file(settings.xen_dir, r'.*\.[ch]$',
> +                                                grep_action)
> +
> +    for entry in parse_file_list:
> +        file = entry["file"]
> +        bkp_file = file + ".safparse"
> +        if os.path.isfile(bkp_file):
> +            raise ParseTagPhaseError(
> +                "Found {}, please check the integrity of {}"
> +                    .format(bkp_file,file)
> +                )
> +        os.rename(file, bkp_file)
> +        time_bkp_file = os.stat(bkp_file)
> +        # Create <file> from <file>.safparse but with the Xen tag parsed
> +        tag_database.substitute_tags(settings.analysis_tool, bkp_file, entry,
> +                                     subs_list)
> +        # Set timestamp for file equal to bkp_file, so that if the file is
> +        # modified during the process by the user, we can catch it
> +        os.utime(file, (time_bkp_file.st_atime, time_bkp_file.st_mtime))
> +
> +
> +def build_xen():
> +    try:
> +        subprocess.run(
> +            "make -C {} {} build"
> +                .format(settings.xen_dir, settings.make_forward_args),
> +            shell=True, check=True
> +        )
> +    except (subprocess.CalledProcessError, subprocess.SubprocessError)  as e:
> +        excp = BuildPhaseError(
> +                "Build error occured when running:\n{}".format(e.cmd)
> +            )
> +        excp.errorcode = e.returncode if hasattr(e, 'returncode') else 1
> +        raise excp
> +
> +
> +def clean_analysis_artifacts():
> +    safparse_files = utils.recursive_find_file(settings.xen_dir,
> +                                               r'.*.safparse$')
> +    for original_file in safparse_files:
> +        # This commands strips the .safparse extension, leaving <file>
> +        parsed_file_path = os.path.splitext(original_file)[0]
> +        mtime_original_file = os.stat(original_file).st_mtime
> +        mtime_parsed_file = os.stat(parsed_file_path).st_mtime
> +        if mtime_original_file != mtime_parsed_file:
> +            return CleanPhaseError(
> +                    "The file {} was modified during the analysis "
> +                    "procedure, it is impossible now to restore from the "
> +                    "content of {}, please handle it manually"
> +                    .format(parsed_file_path, original_file)
> +                )
> +        # Replace <file>.safparse to <file>
> +        os.replace(original_file, parsed_file_path)
> diff --git a/xen/scripts/xen_analysis/settings.py b/xen/scripts/xen_analysis/settings.py
> new file mode 100644
> index 000000000000..947dfa2d50af
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/settings.py
> @@ -0,0 +1,97 @@
> +#!/usr/bin/env python3
> +
> +import sys, re, os
> +
> +module_dir = os.path.dirname(os.path.realpath(__file__))
> +xen_dir = os.path.realpath(module_dir + "/../..")
> +repo_dir = os.path.realpath(xen_dir + "/..")
> +tools_dir = os.path.realpath(xen_dir + "/tools")
> +
> +step_parse_tags = True
> +step_build_xen = True
> +step_clean_analysis = True
> +
> +target_build = False
> +target_clean = False
> +
> +analysis_tool = ""
> +make_forward_args = ""
> +outdir = xen_dir
> +
> +
> +def help():
> +    msg="""
> +Usage: {} [OPTION] ... [-- [make arguments]]
> +
> +This script runs the analysis on the Xen codebase.
> +
> +Options:
> +  --build-only    Run only the commands to build Xen with the optional make
> +                  arguments passed to the script
> +  --clean-only    Run only the commands to clean the analysis artifacts
> +  -h, --help      Print this help
> +  --no-build      Skip the build Xen phase
> +  --no-clean      Don\'t clean the analysis artifacts on exit
> +  --run-coverity  Run the analysis for the Coverity tool
> +  --run-eclair    Run the analysis for the Eclair tool
> +"""
> +    print(msg.format(sys.argv[0]))
> +
> +
> +def parse_commandline(argv):
> +    global analysis_tool
> +    global make_forward_args
> +    global outdir
> +    global step_parse_tags
> +    global step_build_xen
> +    global step_clean_analysis
> +    global target_build
> +    global target_clean
> +    forward_to_make = False
> +    for option in argv:
> +        if forward_to_make:
> +            # Intercept outdir
> +            outdir_regex = re.match("^O=(.*)$", option)
> +            if outdir_regex:
> +                outdir = outdir_regex.group(1)
> +            # Forward any make arguments
> +            make_forward_args = make_forward_args + " " + option
> +        elif option == "--build-only":
> +            target_build = True
> +        elif option == "--clean-only":
> +            target_clean = True
> +        elif (option == "--help") or (option == "-h"):
> +            help()
> +            sys.exit(0)
> +        elif option == "--no-build":
> +            step_build_xen = False
> +        elif option == "--no-clean":
> +            step_clean_analysis = False
> +        elif (option == "--run-coverity") or (option == "--run-eclair"):
> +            analysis_tool = option[6:]
> +        elif option == "--":
> +            forward_to_make = True
> +        else:
> +            print("Invalid option: {}".format(option))
> +            help()
> +            sys.exit(1)
> +
> +    if target_build and target_clean:
> +        print("--build-only is not compatible with --clean-only argument.")
> +        sys.exit(1)
> +
> +    if target_clean:
> +        step_parse_tags = False
> +        step_build_xen = False
> +        step_clean_analysis = True
> +        return
> +
> +    if analysis_tool == "":
> +        print("Please specify one analysis tool.")
> +        help()
> +        sys.exit(1)
> +
> +    if target_build:
> +        step_parse_tags = False
> +        step_build_xen = True
> +        step_clean_analysis = False
> diff --git a/xen/scripts/xen_analysis/tag_database.py b/xen/scripts/xen_analysis/tag_database.py
> new file mode 100644
> index 000000000000..ca374bbb62dd
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/tag_database.py
> @@ -0,0 +1,109 @@
> +#!/usr/bin/env python3
> +
> +import re, json
> +
> +class TagDatabaseError(Exception):
> +    pass
> +
> +# This is the dictionary for the rules that translates to proprietary comments:
> +#  - cppcheck: /* cppcheck-suppress[id] */
> +#  - coverity: /* coverity[id] */
> +#  - eclair:   /* -E> hide id 1 "" */
> +# Add entries to support more analyzers
> +tool_syntax = {
> +    "cppcheck":"cppcheck-suppress[VID]",
> +    "coverity":"coverity[VID]",
> +    "eclair":"-E> hide VID 1 \"\""
> +}
> +
> +
> +def get_xen_tag_index_type_regex(tool):
> +    return r'^SAF-(\d+)-(safe|false-positive-' + tool + ')$'
> +
> +
> +def get_xen_tag_comment_regex(tool):
> +    return r'^[ \t]*/\* +(SAF-\d+-(?:safe|false-positive-' + tool + ')).*\*/$'
> +
> +
> +# Returns a data structure containing dictionaries for safe and false-positive-*
> +# Xen tags, the key is the unique index of the tag and the content is the
> +# proprietary in-code comment to be used when the tag is found in the codebase
> +def load_tag_database(tool, input_files, data_struct = None, schema = "safe"):
> +    ret = data_struct if data_struct is not None else {
> +        "safe": {},
> +        "false-positive-" + tool: {}
> +    }
> +    database = []
> +
> +    # Open all input files
> +    for file in input_files:
> +        try:
> +            with open(file, "rt") as handle:
> +                content = json.load(handle)
> +                database = database + content['content']
> +        except json.JSONDecodeError as e:
> +            raise TagDatabaseError("JSON decoding error in file {}: {}"
> +                                    .format(file, e))
> +        except Exception as e:
> +            raise TagDatabaseError("Can't open file {}: {}"
> +                                    .format(file, e))
> +
> +    for entry in database:
> +        # If the false-positive schema is used, check the proprietary id in the
> +        # 'violation-id' field, otherwise rely on the "safe" schema.
> +        if schema == "false-positive":
> +            proprietary_id = entry['violation-id']
> +        elif tool in entry['analyser']:
> +            proprietary_id = entry['analyser'][tool]
> +        else:
> +            proprietary_id = ""
> +        if proprietary_id != "":
> +            comment=tool_syntax[tool].replace("VID",proprietary_id)
> +            # Regex to capture the index of the Xen tag and the schema
> +            xen_tag = re.compile(get_xen_tag_index_type_regex(tool))\
> +                            .match(entry["id"])
> +            if xen_tag and xen_tag.group(1) and xen_tag.group(2):
> +                # Save in safe or false-positive-* the key {#id: "comment"}
> +                id_number = int(xen_tag.group(1))
> +                key = xen_tag.group(2)
> +                ret[key][id_number] = "/* {} */\n".format(comment)
> +            else:
> +                raise TagDatabaseError(
> +                        "Error in database file, entry {} has unexpected "
> +                        "format.".format(entry["id"])
> +                    )
> +
> +    return ret
> +
> +
> +def substitute_tags(tool, input_file, grep_struct, subs_rules):
> +    try:
> +        with open(grep_struct["file"], "wt") as outfile:
> +
> +            try:
> +                with open(input_file, "rt") as infile:
> +                    parsed_content = infile.readlines()
> +            except Exception as e:
> +                raise TagDatabaseError("Issue with reading file {}: {}"
> +                                       .format(input_file, e))
> +
> +            # grep_struct contains the line number where the comments are, the
> +            # line number starts from 1 but in the array the first line is zero.
> +            # For every line where there is a Xen tag comment, get the Xen tag
> +            # that is in the capture group zero, extract from the Xen tag the
> +            # unique index and the type (safe, false-positive-*) and with those
> +            # information access the subs_rules dictionary to see if there is
> +            # a match
> +            for line_number in grep_struct["matches"]:
> +                xen_tag = grep_struct["matches"][line_number][0]
> +                xen_tag_regex_obj = re.compile(
> +                            get_xen_tag_index_type_regex(tool)).match(xen_tag)
> +                id_number = int(xen_tag_regex_obj.group(1))
> +                key = xen_tag_regex_obj.group(2)
> +                if id_number in subs_rules[key]:
> +                    parsed_content[line_number-1] = subs_rules[key][id_number]
> +
> +            outfile.writelines(parsed_content)
> +    except Exception as e:
> +        raise TagDatabaseError("Issue with writing file {}: {}"
> +                               .format(grep_struct["file"], e))
> diff --git a/xen/scripts/xen_analysis/utils.py b/xen/scripts/xen_analysis/utils.py
> new file mode 100644
> index 000000000000..a912d812c3df
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/utils.py
> @@ -0,0 +1,37 @@
> +#!/usr/bin/env python3
> +
> +import os, re
> +
> +
> +def grep(filepath, regex):
> +    regObj = re.compile(regex)
> +    res = { "file": filepath, "matches": {} }
> +    try:
> +        with open(filepath, "rt") as f:
> +            line_number = 1
> +            for line in f:
> +                match = regObj.match(line)
> +                if match:
> +                    res["matches"][line_number] = match.groups()
> +                line_number = line_number + 1
> +    except Exception as e:
> +        print("WARNING: Can't open {}: {}".format(filepath, e))
> +
> +    # Return filename and line matches if there are
> +    return res if res["matches"] else {}
> +
> +
> +def recursive_find_file(path, filename_regex, action = None):
> +    filename_reg_obj = re.compile(filename_regex)
> +    res = []
> +    for root, dirs, fnames in os.walk(path):
> +        for fname in fnames:
> +            if filename_reg_obj.match(fname):
> +                if action is None:
> +                    res.append(os.path.join(root, fname))
> +                else:
> +                    out = action(os.path.join(root, fname))
> +                    if out:
> +                        res.append(out)
> +
> +    return res
> -- 
> 2.17.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 02:09:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 02:09:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454286.711833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2NOm-0007P4-8y; Tue, 06 Dec 2022 02:09:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454286.711833; Tue, 06 Dec 2022 02:09:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2NOm-0007Ox-5s; Tue, 06 Dec 2022 02:09:32 +0000
Received: by outflank-mailman (input) for mailman id 454286;
 Tue, 06 Dec 2022 02:09:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZZAw=4E=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p2NOk-00073N-Ta
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 02:09:31 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 037ae368-750b-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 03:09:28 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 4FCBCB811B1;
 Tue,  6 Dec 2022 02:09:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9718EC433D6;
 Tue,  6 Dec 2022 02:09:24 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 037ae368-750b-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670292566;
	bh=RtXoxepDCD8UbPs6tGmbO3asJD0YWvV8QC9sdQ9+Kbw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GpW+vwdwCN1nxWQQil+oP/eNr93TMLjrMZizENtCcBvUqFmR3jYuXqfZF4oEbbx1o
	 xNQPIhAR4gnKNV3fVFwTox4R8zl+8AgHWxJgc7LjfJJarDBVDhAMxdgS5dH0EVZH8H
	 EDL+z3kx9fPIGufxKEkEO3gWfF58stCtUKUR0H1ERG13bkK+nwPvZD/nIlHQDxjOEW
	 rzFjNgrUTtdllvgMU/DaJOWqMLAKUrvCTg58hPtpof4zB49MCykwbjtH3o3nUTNGGd
	 MOYVGU6sVcbXyKeg4vDpTd4ddfIWFftGhxx51aH8/rRWQYwEaWmFVw4dtBK8Hzl3tu
	 hdOK1rJ286KYA==
Date: Mon, 5 Dec 2022 18:09:23 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <luca.fancellu@arm.com>
cc: xen-devel@lists.xenproject.org, bertrand.marquis@arm.com, wei.chen@arm.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 2/5] xen/scripts: add cppcheck tool to the xen-analysis.py
 script
In-Reply-To: <20221205154052.14191-3-luca.fancellu@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212051650300.4039@ubuntu-linux-20-04-desktop>
References: <20221205154052.14191-1-luca.fancellu@arm.com> <20221205154052.14191-3-luca.fancellu@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-215932922-1670288592=:4039"
Content-ID: <alpine.DEB.2.22.394.2212051703301.4039@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-215932922-1670288592=:4039
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2212051703302.4039@ubuntu-linux-20-04-desktop>

On Mon, 5 Dec 2022, Luca Fancellu wrote:
> Add Cppcheck analysis to the xen-analysis.py script using the
> arguments --run-cppcheck.
> 
> Now cppcheck analysis will build Xen while the analysis is performed
> on the source files, it will produce a text report and an additional
> html output when the script is called with --cppcheck-html.
> 
> With this patch cppcheck will benefit of platform configuration files
> that will help it to understand the target of the compilation and
> improve the analysis. These are XML files placed in
> xen/tools/cppcheck-plat/, describing to cppcheck the length of basic
> types to help it in the analysis.
> 
> To do so:
>  - Update xen-analysis.py with the code to integrate cppcheck.
>  - add platform configuration files for cppcheck..
>  - add cppcheck-cc.sh script that is a wrapper for cppcheck and it's
>    used as Xen compiler, it will intercept all flags given from the
>    make build system and it will execute cppcheck on the compiled
>    file together with the file compilation.
>  - guarded hypercall-defs.c with CPPCHECK define because cppcheck
>    gets confused as the file does not contain c code.
>  - add false-positive-cppcheck.json file
>  - update documentation.
>  - update .gitignore
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> Changes in v2:
>  - changes to commit message (Jan)
>  - changes to the cppcheck-cc.sh script and on
>    platform XML files, fixed version handling
>    in cppcheck_analysis.py (Stefano)
>  - Move revert of Makefile and xen/tools/merge_cppcheck_reports.py
>    to the following patch, modified .gitignore to handle the
>    presence of both Makefile invoked cppcheck and this new method
>    (Stefano)
> ---
> ---
>  .gitignore                                    |   6 +
>  docs/misra/cppcheck.txt                       |  27 +-
>  docs/misra/documenting-violations.rst         |   7 +-
>  docs/misra/false-positive-cppcheck.json       |  12 +
>  docs/misra/xen-static-analysis.rst            |  42 ++-
>  xen/include/hypercall-defs.c                  |   9 +
>  xen/scripts/xen-analysis.py                   |  18 +-
>  xen/scripts/xen_analysis/cppcheck_analysis.py | 273 ++++++++++++++++++
>  .../xen_analysis/cppcheck_report_utils.py     | 130 +++++++++
>  xen/scripts/xen_analysis/generic_analysis.py  |  21 +-
>  xen/scripts/xen_analysis/settings.py          |  77 ++++-
>  xen/scripts/xen_analysis/utils.py             |  21 +-
>  xen/tools/cppcheck-cc.sh                      | 223 ++++++++++++++
>  xen/tools/cppcheck-plat/arm32-wchar_t4.xml    |  17 ++
>  xen/tools/cppcheck-plat/arm64-wchar_t2.xml    |  17 ++
>  xen/tools/cppcheck-plat/x86_64-wchar_t2.xml   |  17 ++
>  16 files changed, 860 insertions(+), 57 deletions(-)
>  create mode 100644 docs/misra/false-positive-cppcheck.json
>  create mode 100644 xen/scripts/xen_analysis/cppcheck_analysis.py
>  create mode 100644 xen/scripts/xen_analysis/cppcheck_report_utils.py
>  create mode 100755 xen/tools/cppcheck-cc.sh
>  create mode 100644 xen/tools/cppcheck-plat/arm32-wchar_t4.xml
>  create mode 100644 xen/tools/cppcheck-plat/arm64-wchar_t2.xml
>  create mode 100644 xen/tools/cppcheck-plat/x86_64-wchar_t2.xml
> 
> diff --git a/.gitignore b/.gitignore
> index f5a66f6194dd..39efe2933a33 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -8,8 +8,11 @@
>  *.d
>  *.d2
>  *.c.cppcheck
> +*.cppcheck.txt
> +*.cppcheck.xml
>  *.opic
>  *.a
> +*.c.json
>  *.safparse
>  *.so
>  *.so.[0-9]*
> @@ -282,9 +285,11 @@ xen/arch/*/efi/efi.h
>  xen/arch/*/efi/pe.c
>  xen/arch/*/efi/runtime.c
>  xen/arch/*/include/asm/asm-offsets.h
> +xen/build-dir-cppcheck/
>  xen/common/config_data.S
>  xen/common/config.gz
>  xen/cppcheck-htmlreport/
> +xen/cppcheck-report/
>  xen/cppcheck-misra.*
>  xen/include/headers*.chk
>  xen/include/compat/*
> @@ -315,6 +320,7 @@ xen/xsm/flask/xenpolicy-*
>  tools/flask/policy/policy.conf
>  tools/flask/policy/xenpolicy-*
>  xen/xen
> +xen/suppression-list.txt
>  xen/xen-cppcheck.xml
>  xen/xen-syms
>  xen/xen-syms.map
> diff --git a/docs/misra/cppcheck.txt b/docs/misra/cppcheck.txt
> index 25d8c3050b72..f7b9f678b4d5 100644
> --- a/docs/misra/cppcheck.txt
> +++ b/docs/misra/cppcheck.txt
> @@ -3,8 +3,7 @@ Cppcheck for Xen static and MISRA analysis
>  
>  Xen can be analysed for both static analysis problems and MISRA violation using
>  cppcheck, the open source tool allows the creation of a report with all the
> -findings. Xen has introduced the support in the Makefile so it's very easy to
> -use and in this document we can see how.
> +findings.
>  
>  The minimum version required for cppcheck is 2.7. Note that at the time of
>  writing (June 2022), the version 2.8 is known to be broken [1].
> @@ -38,27 +37,7 @@ Dependencies are listed in the readme.md of the project repository.
>  Use cppcheck to analyse Xen
>  ===========================
>  
> -Using cppcheck integration is very simple, it requires few steps:
> -
> - 1) Compile Xen
> - 2) call the cppcheck make target to generate a report in xml format:
> -    make CPPCHECK_MISRA=y cppcheck
> - 3) call the cppcheck-html make target to generate a report in xml and html
> -    format:
> -    make CPPCHECK_MISRA=y cppcheck-html
> -
> -    In case the cppcheck binaries are not in the PATH, CPPCHECK and
> -    CPPCHECK_HTMLREPORT variables can be overridden with the full path to the
> -    binaries:
> -
> -    make -C xen \
> -        CPPCHECK=/path/to/cppcheck \
> -        CPPCHECK_HTMLREPORT=/path/to/cppcheck-htmlreport \
> -        CPPCHECK_MISRA=y \
> -        cppcheck-html
> -
> -The output is by default in a folder named cppcheck-htmlreport, but the name
> -can be changed by passing it in the CPPCHECK_HTMLREPORT_OUTDIR variable.
> -
> +To analyse Xen using cppcheck, please refer to the document
> +xen-static-analysis.rst, section "Analyse Xen with Cppcheck".
>  
>  [1] https://sourceforge.net/p/cppcheck/discussion/general/thread/bfc3ab6c41/?limit=25
> diff --git a/docs/misra/documenting-violations.rst b/docs/misra/documenting-violations.rst
> index 1d23447556d2..31dafd5d4ece 100644
> --- a/docs/misra/documenting-violations.rst
> +++ b/docs/misra/documenting-violations.rst
> @@ -51,6 +51,7 @@ Here is an example to add a new justification in safe.json::
>  |        {
>  |            "id": "SAF-0-safe",
>  |            "analyser": {
> +|                "cppcheck": "misra-c2012-20.7",
>  |                "coverity": "misra_c_2012_rule_20_7_violation",
>  |                "eclair": "MC3R1.R20.7"
>  |            },
> @@ -77,9 +78,9 @@ Here is an explanation of the fields inside an object of the "content" array:
>     It tells the tool to substitute a Xen in-code comment having this structure:
>     /* SAF-0-safe [...] \*/
>   - analyser: it is an object containing pair of key-value strings, the key is
> -   the analyser, so it can be coverity or eclair, the value is the proprietary
> -   id corresponding on the finding, for example when coverity is used as
> -   analyser, the tool will translate the Xen in-code coment in this way:
> +   the analyser, so it can be cppcheck, coverity or eclair, the value is the
> +   proprietary id corresponding on the finding, for example when coverity is
> +   used as analyser, the tool will translate the Xen in-code coment in this way:
>     /* SAF-0-safe [...] \*/ -> /* coverity[misra_c_2012_rule_20_7_violation] \*/
>     if the object doesn't have a key-value, then the corresponding in-code
>     comment won't be translated.
> diff --git a/docs/misra/false-positive-cppcheck.json b/docs/misra/false-positive-cppcheck.json
> new file mode 100644
> index 000000000000..5d4da2ce6170
> --- /dev/null
> +++ b/docs/misra/false-positive-cppcheck.json
> @@ -0,0 +1,12 @@
> +{
> +    "version": "1.0",
> +    "content": [
> +        {
> +            "id": "SAF-0-false-positive-cppcheck",
> +            "violation-id": "",
> +            "tool-version": "",
> +            "name": "Sentinel",
> +            "text": "Next ID to be used"
> +        }
> +    ]
> +}

I think we need to add to the cppcheck document how to figure out the
cppcheck id for a given violation in the html report


> diff --git a/docs/misra/xen-static-analysis.rst b/docs/misra/xen-static-analysis.rst
> index 5b886474d4a0..2712255db1b0 100644
> --- a/docs/misra/xen-static-analysis.rst
> +++ b/docs/misra/xen-static-analysis.rst
> @@ -7,9 +7,8 @@ The Xen codebase integrates some scripts and tools that helps the developer to
>  perform static analysis of the code, currently Xen supports three analysis tool
>  that are eclair, coverity and cppcheck.
>  The Xen tree has a script (xen-analysis.py) available to ease the analysis
> -process and it integrates a way to suppress findings on these tools (only Eclair
> -and Coverity are currently supported by the script), please check the
> -documenting-violation.rst document to know more about it.
> +process and it integrates a way to suppress findings on these tools, please
> +check the documenting-violation.rst document to know more about it.
>  
>  Analyse Xen with Coverity or Eclair
>  -----------------------------------
> @@ -52,3 +51,40 @@ When invoking the script, the procedure below will be followed:
>      this step, call the script adding the --no-clean argument, but before
>      running again the script, call it with the --clean-only argument, that will
>      execute only this cleaning step.
> +
> +
> +Analyse Xen with Cppcheck
> +-------------------------
> +
> +Cppcheck tool is integrated in xen-analysis.py script, when using the script,
> +the tool will be called on every source file compiled by the make build system.
> +Here how to start the analysis with Cppcheck:
> +
> + - xen-analysis.py --run-cppcheck [--cppcheck-misra] [--cppcheck-html] --
> +   [optional make arguments]
> +
> +The command above tells the script to prepare the codebase and use Cppcheck tool
> +for the analysis.
> +The optional argument --cppcheck-misra activates the analysis also for MISRA
> +compliance.
> +The optional argument --cppcheck-html instruct cppcheck to produce an additional
> +HTML report.
> +
> +When invoking the script for Cppcheck analysis, the followed procedure is
> +similar to the one above for Coverity or Eclair, but it has some additional
> +steps:
> +
> + 1. This step is the same as step 1 for Coverity/Eclair.
> + 2. The cppcheck dependency are created, build directory for cppcheck analysis
> +    and an header file containing internal compiler macro
> +    (include/generated/compiler-def.h) are generated
> + 3. Xen compilation starts using every <additional make parameters> supplied
> +    at the script invocation, but because cppcheck is not able to intercept the
> +    compiled files and flags on compiler invocation, a script (cppcheck-cc.sh)
> +    is passed as CC to the make system, it is a wrapper for the compiler that
> +    will also execute cppcheck on every compiled file.
> + 4. After the compilation and analysis, the cppcheck report will be created
> +    putting together all the cppcheck report fragments for every analysed file.
> +    Cppcheck will produce a text fragment and an additional XML report fragment
> +    if the script is configured to produce the HTML output.
> + 5. This step is the same as step 3 for Coverity/Eclair.
> diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
> index 189612107402..41e1af01f6b2 100644
> --- a/xen/include/hypercall-defs.c
> +++ b/xen/include/hypercall-defs.c
> @@ -60,6 +60,13 @@
>   * are possible.
>   */
>  
> +/*
> + * Cppcheck thinks this file needs to be analysed because it is preprocessed by
> + * the compiler, but it gets confused because this file does not contains C
> + * code. Hence protect the code when CPPCHECK is used.
> + */
> +#ifndef CPPCHECK
> +
>  #ifdef CONFIG_HVM
>  #define PREFIX_hvm hvm
>  #else
> @@ -288,3 +295,5 @@ mca                                do       do       -        -        -
>  #ifndef CONFIG_PV_SHIM_EXCLUSIVE
>  paging_domctl_cont                 do       do       do       do       -
>  #endif
> +
> +#endif /* !CPPCHECK */
> diff --git a/xen/scripts/xen-analysis.py b/xen/scripts/xen-analysis.py
> index b5d9ef1862c9..8e50c27cd898 100755
> --- a/xen/scripts/xen-analysis.py
> +++ b/xen/scripts/xen-analysis.py
> @@ -1,28 +1,42 @@
>  #!/usr/bin/env python3
>  
>  import sys
> -from xen_analysis import settings, generic_analysis
> +from xen_analysis import settings, generic_analysis, cppcheck_analysis
>  from xen_analysis.generic_analysis import *
> +from xen_analysis.cppcheck_analysis import *
> +
> +PhaseExceptions = (GetMakeVarsPhaseError, ParseTagPhaseError,
> +                   CppcheckDepsPhaseError, BuildPhaseError,
> +                   CppcheckReportPhaseError)
>  
>  
>  def main(argv):
>      ret_code = 0
>      settings.parse_commandline(argv)
>      try:
> +        if settings.step_get_make_vars:
> +            cppcheck_analysis.get_make_vars()
>          if settings.step_parse_tags:
>              generic_analysis.parse_xen_tags()
> +        if settings.step_cppcheck_deps:
> +            cppcheck_analysis.generate_cppcheck_deps()
>          if settings.step_build_xen:
>              generic_analysis.build_xen()
> -    except (ParseTagPhaseError, BuildPhaseError) as e:
> +        if settings.step_cppcheck_report:
> +            cppcheck_analysis.generate_cppcheck_report()
> +    except PhaseExceptions as e:
>          print("ERROR: {}".format(e))
>          if hasattr(e, "errorcode"):
>              ret_code = e.errorcode
>      finally:
>          if settings.step_clean_analysis:
> +            cppcheck_analysis.clean_analysis_artifacts()
>              e = generic_analysis.clean_analysis_artifacts()
>              if e:
>                  print("ERROR: {}".format(e))
>                  ret_code = 1
> +        if settings.step_distclean_analysis:
> +            cppcheck_analysis.clean_reports()
>  
>      sys.exit(ret_code)
>  
> diff --git a/xen/scripts/xen_analysis/cppcheck_analysis.py b/xen/scripts/xen_analysis/cppcheck_analysis.py
> new file mode 100644
> index 000000000000..0e952a169641
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/cppcheck_analysis.py
> @@ -0,0 +1,273 @@
> +#!/usr/bin/env python3
> +
> +import os, re, shutil
> +from . import settings, utils, cppcheck_report_utils
> +
> +class GetMakeVarsPhaseError(Exception):
> +    pass
> +
> +class CppcheckDepsPhaseError(Exception):
> +    pass
> +
> +class CppcheckReportPhaseError(Exception):
> +    pass
> +
> +CPPCHECK_BUILD_DIR = "build-dir-cppcheck"
> +CPPCHECK_HTMLREPORT_OUTDIR = "cppcheck-htmlreport"
> +CPPCHECK_REPORT_OUTDIR = "cppcheck-report"
> +cppcheck_extra_make_args = ""
> +xen_cc = ""
> +
> +def get_make_vars():
> +    global xen_cc
> +    invoke_make = utils.invoke_command(
> +            "make -C {} {} export-variable-CC"
> +                .format(settings.xen_dir, settings.make_forward_args),
> +            True, GetMakeVarsPhaseError,
> +            "Error occured retrieving make vars:\n{}"
> +        )
> +
> +    cc_var_regex = re.search('^CC=(.*)$', invoke_make, flags=re.M)
> +    if cc_var_regex:
> +        xen_cc = cc_var_regex.group(1)
> +
> +    if xen_cc == "":
> +        raise GetMakeVarsPhaseError("CC variable not found in Xen make output")
> +
> +
> +def __generate_suppression_list(out_file):
> +    # The following lambda function will return a file if it contains lines with
> +    # a comment containing "cppcheck-suppress[*]" on a single line.
> +    grep_action = lambda x: utils.grep(x,
> +                    r'^[ \t]*/\* cppcheck-suppress\[(.*)\] \*/$')
> +    # Look for a list of .h files that matches the condition above
> +    headers = utils.recursive_find_file(settings.xen_dir, r'.*\.h$',
> +                                        grep_action)
> +
> +    try:
> +        with open(out_file, "wt") as supplist_file:
> +            # Add this rule to skip every finding in the autogenerated
> +            # header for cppcheck
> +            supplist_file.write("*:*generated/compiler-def.h\n")
> +
> +            for entry in headers:
> +                filename = entry["file"]
> +                try:
> +                    with open(filename, "rt") as infile:
> +                        header_content = infile.readlines()
> +                except OSError as e:
> +                    raise CppcheckDepsPhaseError(
> +                            "Issue with reading file {}: {}"
> +                                .format(filename, e)
> +                          )
> +                header_lines_len = len(header_content)
> +                # line_num in entry will be header_content[line_num-1], here we
> +                # are going to search the first line after line_num that have
> +                # anything different from comments or empty line, because the
> +                # in-code comment suppression is related to that line then.
> +                for line_num in entry["matches"]:
> +                    cppcheck_violation_id = ""
> +                    tmp_line = line_num
> +                    # look up to which line is referring the comment at
> +                    # line_num (which would be header_content[tmp_line-1])
> +                    comment_section = False
> +                    while tmp_line < header_lines_len:
> +                        line = header_content[tmp_line]
> +                        # Matches a line with just optional spaces/tabs and the
> +                        # start of a comment '/*'
> +                        comment_line_starts = re.match('^[ \t]*/\*.*$', line)
> +                        # Matches a line with text and the end of a comment '*/'
> +                        comment_line_stops = re.match('^.*\*/$', line)
> +                        if (not comment_section) and comment_line_starts:
> +                            comment_section = True
> +                        if (len(line.strip()) != 0) and (not comment_section):
> +                            cppcheck_violation_id = entry["matches"][line_num][0]
> +                            break
> +                        if comment_section and comment_line_stops:
> +                            comment_section = False
> +                        tmp_line = tmp_line + 1
> +
> +                    if cppcheck_violation_id == "":
> +                        raise CppcheckDepsPhaseError(
> +                            "Error matching cppcheck comment in {} at line {}."
> +                                .format(filename, line_num)
> +                          )
> +                    # Write [error id]:[filename]:[line]
> +                    # tmp_line refers to the array index, so translated to the
> +                    # file line (that begins with 1) it is tmp_line+1
> +                    supplist_file.write(
> +                            "{}:{}:{}\n".format(cppcheck_violation_id, filename,
> +                                                (tmp_line + 1))
> +                        )
> +    except OSError as e:
> +        raise CppcheckDepsPhaseError("Issue with writing file {}: {}"
> +                                     .format(out_file, e))
> +
> +
> +def generate_cppcheck_deps():
> +    global cppcheck_extra_make_args
> +
> +    # Compile flags to pass to cppcheck:
> +    # - include config.h as this is passed directly to the compiler.
> +    # - define CPPCHECK as we use it to disable or enable some specific part of
> +    #   the code to solve some cppcheck issues.
> +    # - explicitely enable some cppcheck checks as we do not want to use "all"
> +    #   which includes unusedFunction which gives wrong positives as we check
> +    #   file per file.
> +    # - Explicitly suppress warnings on compiler-def.h because cppcheck throws
> +    #   an unmatchedSuppression due to the rule we put in suppression-list.txt
> +    #   to skip every finding in the file.
> +    #
> +    # Compiler defines are in compiler-def.h which is included in config.h
> +    #
> +    cppcheck_flags="""
> +--cppcheck-build-dir={}/{}
> + --max-ctu-depth=10
> + --enable=style,information,missingInclude
> + --template=\'{{file}}({{line}},{{column}}):{{id}}:{{severity}}:{{message}}\'
> + --relative-paths={}
> + --inline-suppr
> + --suppressions-list={}/suppression-list.txt
> + --suppress='unmatchedSuppression:*generated/compiler-def.h'
> + --include={}/include/xen/config.h
> + -DCPPCHECK
> +""".format(settings.outdir, CPPCHECK_BUILD_DIR, settings.xen_dir,
> +           settings.outdir, settings.xen_dir)
> +
> +    invoke_cppcheck = utils.invoke_command(
> +            "{} --version".format(settings.cppcheck_binpath),
> +            True, CppcheckDepsPhaseError,
> +            "Error occured retrieving cppcheck version:\n{}\n\n{}"
> +        )
> +
> +    version_regex = re.search('^Cppcheck (.*)$', invoke_cppcheck, flags=re.M)
> +    # Currently, only cppcheck version >= 2.7 is supported, but version 2.8 is
> +    # known to be broken, please refer to docs/misra/cppcheck.txt
> +    if (not version_regex) or (not version_regex.group(1).startswith("2.7")):
> +        raise CppcheckDepsPhaseError(
> +                "Can't find cppcheck version or version is not 2.7"
> +              )
> +
> +    # If misra option is selected, append misra addon and generate cppcheck
> +    # files for misra analysis
> +    if settings.cppcheck_misra:
> +        cppcheck_flags = cppcheck_flags + " --addon=cppcheck-misra.json"
> +
> +        utils.invoke_command(
> +            "{}/convert_misra_doc.py -i {}/docs/misra/rules.rst"
> +            " -o {}/cppcheck-misra.txt -j {}/cppcheck-misra.json"
> +                .format(settings.tools_dir, settings.repo_dir,
> +                        settings.outdir, settings.outdir),
> +            False, CppcheckDepsPhaseError,
> +            "An error occured when running:\n{}"
> +        )
> +
> +    # Generate compiler macros
> +    os.makedirs("{}/include/generated".format(settings.outdir), exist_ok=True)
> +    utils.invoke_command(
> +            "{} -dM -E -o \"{}/include/generated/compiler-def.h\" - < /dev/null"
> +                .format(xen_cc, settings.outdir),
> +            False, CppcheckDepsPhaseError,
> +            "An error occured when running:\n{}"
> +        )
> +
> +    # Generate cppcheck suppression list
> +    __generate_suppression_list(
> +        "{}/suppression-list.txt".format(settings.outdir))
> +
> +    # Generate cppcheck build folder
> +    os.makedirs("{}/{}".format(settings.outdir, CPPCHECK_BUILD_DIR),
> +                exist_ok=True)
> +
> +    cppcheck_cc_flags = """--compiler={} --cppcheck-cmd={} {}
> + --cppcheck-plat={}/cppcheck-plat --ignore-path=tools/
> + --ignore-path=arch/x86/efi/check.c
> +""".format(xen_cc, settings.cppcheck_binpath, cppcheck_flags,
> +           settings.tools_dir)
> +
> +    if settings.cppcheck_html:
> +        cppcheck_cc_flags = cppcheck_cc_flags + " --cppcheck-html"
> +
> +    # Generate the extra make argument to pass the cppcheck-cc.sh wrapper as CC
> +    cppcheck_extra_make_args = "CC=\"{}/cppcheck-cc.sh {} --\"".format(
> +                                        settings.tools_dir,
> +                                        cppcheck_cc_flags
> +                                    ).replace("\n", "")
> +
> +
> +def generate_cppcheck_report():
> +    # Prepare text report
> +    # Look for a list of .cppcheck.txt files, those are the txt report
> +    # fragments
> +    fragments = utils.recursive_find_file(settings.outdir, r'.*\.cppcheck.txt$')
> +    text_report_dir = "{}/{}".format(settings.outdir,
> +                                        CPPCHECK_REPORT_OUTDIR)
> +    report_filename = "{}/xen-cppcheck.txt".format(text_report_dir)
> +    os.makedirs(text_report_dir, exist_ok=True)
> +    try:
> +        cppcheck_report_utils.cppcheck_merge_txt_fragments(fragments,
> +                                                           report_filename,
> +                                                           [settings.xen_dir])
> +    except cppcheck_report_utils.CppcheckTXTReportError as e:
> +        raise CppcheckReportPhaseError(e)
> +
> +    # If HTML output is requested
> +    if settings.cppcheck_html:
> +        # Look for a list of .cppcheck.xml files, those are the XML report
> +        # fragments
> +        fragments = utils.recursive_find_file(settings.outdir,
> +                                              r'.*\.cppcheck.xml$')
> +        html_report_dir = "{}/{}".format(settings.outdir,
> +                                         CPPCHECK_HTMLREPORT_OUTDIR)
> +        xml_filename = "{}/xen-cppcheck.xml".format(html_report_dir)
> +        os.makedirs(html_report_dir, exist_ok=True)
> +        try:
> +            cppcheck_report_utils.cppcheck_merge_xml_fragments(fragments,
> +                                                               xml_filename,
> +                                                               settings.xen_dir,
> +                                                               settings.outdir)
> +        except cppcheck_report_utils.CppcheckHTMLReportError as e:
> +            raise CppcheckReportPhaseError(e)
> +        # Call cppcheck-htmlreport utility to generate the HTML output
> +        utils.invoke_command(
> +            "{} --file={} --source-dir={} --report-dir={}/html --title=Xen"
> +                .format(settings.cppcheck_htmlreport_binpath, xml_filename,
> +                        settings.xen_dir, html_report_dir),
> +            False, CppcheckReportPhaseError,
> +            "Error occured generating Cppcheck HTML report:\n{}"
> +        )
> +        # Strip src and obj path from *.html files
> +        html_files = utils.recursive_find_file(html_report_dir, r'.*\.html$')
> +        try:
> +            cppcheck_report_utils.cppcheck_strip_path_html(html_files,
> +                                                           (settings.xen_dir,
> +                                                            settings.outdir))
> +        except cppcheck_report_utils.CppcheckHTMLReportError as e:
> +            raise CppcheckReportPhaseError(e)
> +
> +
> +def clean_analysis_artifacts():
> +    clean_files = ("suppression-list.txt", "cppcheck-misra.txt",
> +                   "cppcheck-misra.json")
> +    cppcheck_build_dir = "{}/{}".format(settings.outdir, CPPCHECK_BUILD_DIR)
> +    if os.path.isdir(cppcheck_build_dir):
> +        shutil.rmtree(cppcheck_build_dir)
> +    artifact_files = utils.recursive_find_file(settings.outdir,
> +                                r'.*\.(?:c\.json|cppcheck\.txt|cppcheck\.xml)$')
> +    for file in clean_files:
> +        file = "{}/{}".format(settings.outdir, file)
> +        if os.path.isfile(file):
> +            artifact_files.append(file)
> +    for delfile in artifact_files:
> +        os.remove(delfile)
> +
> +
> +def clean_reports():
> +    text_report_dir = "{}/{}".format(settings.outdir,
> +                                     CPPCHECK_REPORT_OUTDIR)
> +    html_report_dir = "{}/{}".format(settings.outdir,
> +                                     CPPCHECK_HTMLREPORT_OUTDIR)
> +    if os.path.isdir(text_report_dir):
> +        shutil.rmtree(text_report_dir)
> +    if os.path.isdir(html_report_dir):
> +        shutil.rmtree(html_report_dir)
> diff --git a/xen/scripts/xen_analysis/cppcheck_report_utils.py b/xen/scripts/xen_analysis/cppcheck_report_utils.py
> new file mode 100644
> index 000000000000..02440aefdfec
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/cppcheck_report_utils.py
> @@ -0,0 +1,130 @@
> +#!/usr/bin/env python3
> +
> +import os
> +from xml.etree import ElementTree
> +
> +class CppcheckHTMLReportError(Exception):
> +    pass
> +
> +class CppcheckTXTReportError(Exception):
> +    pass
> +
> +
> +def __elements_equal(el1, el2):
> +    if type(el1) != type(el2): return False
> +
> +    if el1.find('location') is None: return False
> +    if el2.find('location') is None: return False
> +
> +    el1_location = str(el1.find('location').attrib)
> +    el2_location = str(el2.find('location').attrib)
> +
> +    if el1_location != el2_location: return False
> +
> +    return True
> +
> +
> +def __contain_element(new, lst):
> +    for elem in lst:
> +        if __elements_equal(new, elem):
> +            return True
> +    return False
> +
> +
> +def __get_xml_root_file(filename):
> +    try:
> +        result_xml_root = ElementTree.parse(filename).getroot()
> +    except ElementTree.ParseError as e:
> +        raise CppcheckHTMLReportError(
> +                    "XML parsing error in {}: {}".format(filename, e)
> +                )
> +    return result_xml_root
> +
> +
> +def __sanitize_cppcheck_xml_path(xml_tree, src_path, obj_path):
> +    # Some path are relative to the source tree but some others are generated
> +    # in the obj tree, for cppcheck when using cppcheck-htmlreport we can pass
> +    # only one source tree where the files will be fetched if relative path are
> +    # found. So for every path that does not exists in src tree, we guess it
> +    # comes from obj tree and we put explicit absolute path to it
> +    error_item_root = xml_tree.findall("errors")[0]
> +    for error_item in error_item_root:
> +        for location_item in error_item.findall("location"):
> +            path = location_item.attrib["file"]
> +            new_obj_path = obj_path + "/" + path
> +            new_src_path = src_path + "/" + path
> +            if (path[0] != "/") and (not os.path.isfile(new_src_path)) \
> +               and os.path.isfile(new_obj_path):
> +                location_item.attrib["file"] = new_obj_path
> +
> +
> +def cppcheck_merge_xml_fragments(fragments_list, out_xml_file, src_path,
> +                                 obj_path):
> +
> +    result_xml = __get_xml_root_file(fragments_list[0])
> +    insert_point = result_xml.findall("errors")[0]
> +    for xml_file in fragments_list[1:]:
> +        xml_root = __get_xml_root_file(xml_file)
> +        curr_elem_list = list(insert_point)
> +        new_elem_list = list(xml_root.findall("errors")[0])
> +        for xml_error_elem in new_elem_list:
> +            if not __contain_element(xml_error_elem, curr_elem_list):
> +                insert_point.insert(1, xml_error_elem)
> +
> +    if result_xml is None:
> +        return False
> +
> +    __sanitize_cppcheck_xml_path(result_xml, src_path, obj_path)
> +
> +    ElementTree.ElementTree(result_xml).write(out_xml_file)
> +
> +    return True
> +
> +
> +def cppcheck_merge_txt_fragments(fragments_list, out_txt_file, strip_paths):
> +    try:
> +        with open(out_txt_file, "wt") as outfile:
> +            # Using a set will remove automatically the duplicate lines
> +            text_report_content = set()
> +            for file in fragments_list:
> +                try:
> +                    with open(file, "rt") as infile:
> +                        frag_lines = infile.readlines()
> +                except OSError as e:
> +                    raise CppcheckTXTReportError(
> +                            "Issue with reading file {}: {}"
> +                                .format(file, e)
> +                            )
> +                text_report_content.update(frag_lines)
> +
> +            # Back to modifiable list
> +            text_report_content = list(text_report_content)
> +            # Strip path from report lines
> +            for i in list(range(0, len(text_report_content))):
> +                for path in strip_paths:
> +                    text_report_content[i] = text_report_content[i].replace(
> +                                                                path + "/", "")
> +            # Write the final text report
> +            outfile.writelines(text_report_content)
> +    except OSError as e:
> +        raise CppcheckTXTReportError("Issue with writing file {}: {}"
> +                                            .format(out_txt_file, e))
> +
> +
> +def cppcheck_strip_path_html(html_files, strip_paths):
> +    for file in html_files:
> +        try:
> +            with open(file, "rt") as infile:
> +                html_lines = infile.readlines()
> +        except OSError as e:
> +            raise CppcheckHTMLReportError("Issue with reading file {}: {}"
> +                                                            .format(file, e))
> +        for i in list(range(0, len(html_lines))):
> +            for path in strip_paths:
> +                html_lines[i] = html_lines[i].replace(path + "/", "")
> +        try:
> +            with open(file, "wt") as outfile:
> +                outfile.writelines(html_lines)
> +        except OSError as e:
> +            raise CppcheckHTMLReportError("Issue with writing file {}: {}"
> +                                                            .format(file, e))
> diff --git a/xen/scripts/xen_analysis/generic_analysis.py b/xen/scripts/xen_analysis/generic_analysis.py
> index 0b470c4ecf7d..94122aebace0 100644
> --- a/xen/scripts/xen_analysis/generic_analysis.py
> +++ b/xen/scripts/xen_analysis/generic_analysis.py
> @@ -1,7 +1,7 @@
>  #!/usr/bin/env python3
>  
> -import os, subprocess
> -from . import settings, utils, tag_database
> +import os
> +from . import settings, utils, tag_database, cppcheck_analysis
>  
>  class ParseTagPhaseError(Exception):
>      pass
> @@ -60,18 +60,13 @@ def parse_xen_tags():
>  
>  
>  def build_xen():
> -    try:
> -        subprocess.run(
> -            "make -C {} {} build"
> -                .format(settings.xen_dir, settings.make_forward_args),
> -            shell=True, check=True
> +    utils.invoke_command(
> +            "make -C {} {} {} build"
> +                .format(settings.xen_dir, settings.make_forward_args,
> +                        cppcheck_analysis.cppcheck_extra_make_args),
> +            False, BuildPhaseError,
> +            "Build error occured when running:\n{}"
>          )
> -    except (subprocess.CalledProcessError, subprocess.SubprocessError)  as e:
> -        excp = BuildPhaseError(
> -                "Build error occured when running:\n{}".format(e.cmd)
> -            )
> -        excp.errorcode = e.returncode if hasattr(e, 'returncode') else 1
> -        raise excp

Any reason why we can't have utils.invoke_command directly in patch #1?

  
>  def clean_analysis_artifacts():
> diff --git a/xen/scripts/xen_analysis/settings.py b/xen/scripts/xen_analysis/settings.py
> index 947dfa2d50af..bd1faafe79a3 100644
> --- a/xen/scripts/xen_analysis/settings.py
> +++ b/xen/scripts/xen_analysis/settings.py
> @@ -7,14 +7,23 @@ xen_dir = os.path.realpath(module_dir + "/../..")
>  repo_dir = os.path.realpath(xen_dir + "/..")
>  tools_dir = os.path.realpath(xen_dir + "/tools")
>  
> +step_get_make_vars = False
>  step_parse_tags = True
> +step_cppcheck_deps = False
>  step_build_xen = True
> +step_cppcheck_report = False
>  step_clean_analysis = True
> +step_distclean_analysis = False
>  
>  target_build = False
>  target_clean = False
> +target_distclean = False
>  
>  analysis_tool = ""
> +cppcheck_binpath = "cppcheck"
> +cppcheck_html = False
> +cppcheck_htmlreport_binpath = "cppcheck-htmlreport"
> +cppcheck_misra = False
>  make_forward_args = ""
>  outdir = xen_dir
>  
> @@ -26,29 +35,47 @@ Usage: {} [OPTION] ... [-- [make arguments]]
>  This script runs the analysis on the Xen codebase.
>  
>  Options:
> -  --build-only    Run only the commands to build Xen with the optional make
> -                  arguments passed to the script
> -  --clean-only    Run only the commands to clean the analysis artifacts
> -  -h, --help      Print this help
> -  --no-build      Skip the build Xen phase
> -  --no-clean      Don\'t clean the analysis artifacts on exit
> -  --run-coverity  Run the analysis for the Coverity tool
> -  --run-eclair    Run the analysis for the Eclair tool
> +  --build-only          Run only the commands to build Xen with the optional
> +                        make arguments passed to the script
> +  --clean-only          Run only the commands to clean the analysis artifacts
> +  --cppcheck-bin=       Path to the cppcheck binary (Default: {})
> +  --cppcheck-html       Produce an additional HTML output report for Cppcheck
> +  --cppcheck-html-bin=  Path to the cppcheck-html binary (Default: {})
> +  --cppcheck-misra      Activate the Cppcheck MISRA analysis
> +  --distclean           Clean analysis artifacts and reports
> +  -h, --help            Print this help
> +  --no-build            Skip the build Xen phase
> +  --no-clean            Don\'t clean the analysis artifacts on exit
> +  --run-coverity        Run the analysis for the Coverity tool
> +  --run-cppcheck        Run the Cppcheck analysis tool on Xen
> +  --run-eclair          Run the analysis for the Eclair tool
>  """
> -    print(msg.format(sys.argv[0]))
> +    print(msg.format(sys.argv[0], cppcheck_binpath,
> +                     cppcheck_htmlreport_binpath))
>  
>  
>  def parse_commandline(argv):
>      global analysis_tool
> +    global cppcheck_binpath
> +    global cppcheck_html
> +    global cppcheck_htmlreport_binpath
> +    global cppcheck_misra
>      global make_forward_args
>      global outdir
> +    global step_get_make_vars
>      global step_parse_tags
> +    global step_cppcheck_deps
>      global step_build_xen
> +    global step_cppcheck_report
>      global step_clean_analysis
> +    global step_distclean_analysis
>      global target_build
>      global target_clean
> +    global target_distclean
>      forward_to_make = False
>      for option in argv:
> +        args_with_content_regex = re.match(r'^(--[a-z]+[a-z-]*)=(.*)$', option)
> +
>          if forward_to_make:
>              # Intercept outdir
>              outdir_regex = re.match("^O=(.*)$", option)
> @@ -60,6 +87,18 @@ def parse_commandline(argv):
>              target_build = True
>          elif option == "--clean-only":
>              target_clean = True
> +        elif args_with_content_regex and \
> +             args_with_content_regex.group(1) == "--cppcheck-bin":
> +            cppcheck_binpath = args_with_content_regex.group(2)
> +        elif option == "--cppcheck-html":
> +            cppcheck_html = True
> +        elif args_with_content_regex and \
> +             args_with_content_regex.group(1) == "--cppcheck-html-bin":
> +            cppcheck_htmlreport_binpath = args_with_content_regex.group(2)
> +        elif option == "--cppcheck-misra":
> +            cppcheck_misra = True
> +        elif option == "--distclean":
> +            target_distclean = True
>          elif (option == "--help") or (option == "-h"):
>              help()
>              sys.exit(0)
> @@ -69,6 +108,11 @@ def parse_commandline(argv):
>              step_clean_analysis = False
>          elif (option == "--run-coverity") or (option == "--run-eclair"):
>              analysis_tool = option[6:]
> +        elif (option == "--run-cppcheck"):
> +            analysis_tool = "cppcheck"
> +            step_get_make_vars = True
> +            step_cppcheck_deps = True
> +            step_cppcheck_report = True
>          elif option == "--":
>              forward_to_make = True
>          else:
> @@ -76,13 +120,23 @@ def parse_commandline(argv):
>              help()
>              sys.exit(1)
>  
> -    if target_build and target_clean:
> -        print("--build-only is not compatible with --clean-only argument.")
> +    if target_build and (target_clean or target_distclean):
> +        print("--build-only is not compatible with --clean-only/--distclean "
> +              "argument.")
>          sys.exit(1)
>  
> +    if target_distclean:
> +        # Implicit activation of clean target
> +        target_clean = True
> +
> +        step_distclean_analysis = True
> +
>      if target_clean:
> +        step_get_make_vars = False
>          step_parse_tags = False
> +        step_cppcheck_deps = False
>          step_build_xen = False
> +        step_cppcheck_report = False
>          step_clean_analysis = True
>          return
>  
> @@ -95,3 +149,4 @@ def parse_commandline(argv):
>          step_parse_tags = False
>          step_build_xen = True
>          step_clean_analysis = False
> +        step_cppcheck_report = False

I think that target_build should not say anything about
step_cppcheck_report.

- if one wants to just do a regular build, they can do "make xen"
- if one is calling xen-analysis.py --cppcheck-html --run-cppcheck
  --build-only, it means that they want the build done, not the cleaning
  done, not the tags substitution. If they also add --cppcheck-html and
  --run-cppcheck, then it means that they also want the cppcheck report
  produced. --build-only still makes sense because they don't want the
  cleaning done and don't want the tag substitution.

Does it make sense to you as well?


If it does, I think we also need to add a note in the help message from
xen_analysis because it is not clear. So basically:

<nothing>: tags, build, clean [, cppcheck]
--no-clean: tags, build [, cppcheck]
--build-only: build [, cppcheck]
--no-build: tags
--clean-only: clean

Did I get it right?



> diff --git a/xen/scripts/xen_analysis/utils.py b/xen/scripts/xen_analysis/utils.py
> index a912d812c3df..1193e3f4631e 100644
> --- a/xen/scripts/xen_analysis/utils.py
> +++ b/xen/scripts/xen_analysis/utils.py
> @@ -1,6 +1,6 @@
>  #!/usr/bin/env python3
>  
> -import os, re
> +import os, re, subprocess
>  
>  
>  def grep(filepath, regex):
> @@ -35,3 +35,22 @@ def recursive_find_file(path, filename_regex, action = None):
>                          res.append(out)
>  
>      return res
> +
> +
> +def invoke_command(command, needs_output, exeption_type = Exception,
> +                   exeption_msg = ""):
> +    try:
> +        pipe_stdout = subprocess.PIPE if (needs_output == True) else None
> +        output = subprocess.run(command, shell=True, check=True,
> +                                stdout=pipe_stdout, stderr=subprocess.STDOUT,
> +                                encoding='utf8')
> +    except (subprocess.CalledProcessError, subprocess.SubprocessError) as e:
> +        if needs_output == True:
> +            exeption_msg = exeption_msg.format(e.cmd, output.stdout)
> +        else:
> +            exeption_msg = exeption_msg.format(e.cmd)
> +        excp = exeption_type(exeption_msg)
> +        excp.errorcode = e.returncode if hasattr(e, 'returncode') else 1
> +        raise excp
> +
> +    return output.stdout
> diff --git a/xen/tools/cppcheck-cc.sh b/xen/tools/cppcheck-cc.sh
> new file mode 100755
> index 000000000000..deb3a19918e9
> --- /dev/null
> +++ b/xen/tools/cppcheck-cc.sh
> @@ -0,0 +1,223 @@
> +#!/usr/bin/env bash
> +
> +set -e
> +
> +function help() {
> +    cat <<EOF
> +Usage: ${0} [OPTION] ... -- <compiler arguments>
> +
> +This script is a wrapper for cppcheck that enables it to analyse the files that
> +are the target for the build, it is used in place of a selected compiler and the
> +make process will run it on every file that needs to be built.
> +All the arguments passed to the original compiler are forwarded to it without
> +modification, furthermore, they are used to improve the cppcheck analysis.
> +
> +Options:
> +  --compiler=       Use this compiler for the build
> +  --cppcheck-cmd=   Command line for the cppcheck analysis.
> +  --cppcheck-html   Prepare for cppcheck HTML output
> +  --cppcheck-plat=  Path to the cppcheck platform folder
> +  --ignore-path=    This script won't run cppcheck on the files having this
> +                    path, the compiler will run anyway on them. This argument
> +                    can be specified multiple times.
> +  -h, --help        Print this help
> +EOF
> +}
> +
> +CC_FILE=""
> +COMPILER=""
> +CPPCHECK_HTML="n"
> +CPPCHECK_PLAT_PATH=""
> +CPPCHECK_TOOL=""
> +CPPCHECK_TOOL_ARGS=""
> +FORWARD_FLAGS=""
> +IGNORE_PATH="n"
> +IGNORE_PATH_LIST=""
> +JDB_FILE=""
> +OBJTREE_PATH=""
> +
> +# Variable used for arg parsing
> +forward_to_cc="n"
> +sm_tool_args="n"
> +obj_arg_content="n"
> +
> +for OPTION in "$@"
> +do
> +    if [ "${forward_to_cc}" = "y" ]; then
> +        if [[ ${OPTION} == *.c ]]
> +        then
> +            CC_FILE="${OPTION}"
> +        elif [ "${OPTION}" = "-o" ]
> +        then
> +            # After -o there is the path to the obj file, flag it
> +            obj_arg_content="y"
> +        elif [ "${obj_arg_content}" = "y" ]
> +        then
> +            # This must be the path to the obj file, turn off flag and save path
> +            OBJTREE_PATH="$(dirname "${OPTION}")"
> +            obj_arg_content="n"
> +        fi
> +        # Forward any argument to the compiler
> +        FORWARD_FLAGS="${FORWARD_FLAGS} ${OPTION}"
> +        continue
> +    fi
> +    case ${OPTION} in
> +        -h|--help)
> +            help
> +            exit 0
> +            ;;
> +        --compiler=*)
> +            COMPILER="${OPTION#*=}"
> +            sm_tool_args="n"
> +            ;;
> +        --cppcheck-cmd=*)
> +            CPPCHECK_TOOL="${OPTION#*=}"
> +            sm_tool_args="y"
> +            ;;
> +        --cppcheck-html)
> +            CPPCHECK_HTML="y"
> +            sm_tool_args="n"
> +            ;;
> +        --cppcheck-plat=*)
> +            CPPCHECK_PLAT_PATH="${OPTION#*=}"
> +            sm_tool_args="n"
> +            ;;
> +        --ignore-path=*)
> +            IGNORE_PATH_LIST="${IGNORE_PATH_LIST} ${OPTION#*=}"
> +            sm_tool_args="n"
> +            ;;
> +        --)
> +            forward_to_cc="y"
> +            sm_tool_args="n"
> +            ;;
> +        *)
> +            if [ "${sm_tool_args}" = "y" ]; then
> +                CPPCHECK_TOOL_ARGS="${CPPCHECK_TOOL_ARGS} ${OPTION}"
> +            else
> +                echo "Invalid option ${OPTION}"
> +                exit 1
> +            fi
> +            ;;
> +    esac
> +done
> +
> +if [ "${COMPILER}" = "" ]
> +then
> +    echo "--compiler arg is mandatory."
> +    exit 1
> +fi
> +
> +function create_jcd() {
> +    local line="${1}"
> +    local arg_num=0
> +    local same_line=0
> +
> +    {
> +        echo -e -n "[\n"

Everywhere in this bash function: there is no point in passing -n and
then adding \n at the end. You might as well do this:

echo -e "["

Also, you'll find that in most cases, you don't need -e either, which
simplifies it to:

echo "["

That's better right? :-)  Of course feel free to use -e when you have
escape and -n when you don't want \n in the output


> +        echo -e -n "    {\n"
> +        echo -e -n "        \"arguments\": [\n"
> +
> +        for arg in ${line}; do
> +            # This code prevents to put comma in the last element of the list or
> +            # on sequential lines that are going to be merged
> +            if [ "${arg_num}" -ne 0 ] && [ "${same_line}" -eq 0 ]
> +            then
> +                echo -e -n ",\n"
> +            fi
> +            if [ "${same_line}" -ne 0 ]
> +            then
> +                echo -e -n "${arg}\""
> +                same_line=0
> +            elif [ "${arg}" = "-iquote" ] || [ "${arg}" = "-I" ]
> +            then
> +                # cppcheck doesn't understand -iquote, substitute with -I
> +                echo -e -n "            \"-I"
> +                same_line=1
> +            else
> +                echo -e -n "            \"${arg}\""
> +            fi
> +            arg_num=$(( arg_num + 1 ))
> +        done
> +        echo -e -n "\n"
> +        echo -e -n "        ],\n"
> +        echo -e -n "        \"directory\": \"$(pwd -P)\",\n"
> +        echo -e -n "        \"file\": \"${CC_FILE}\"\n"
> +        echo -e -n "    }\n"
> +        echo -e -n "]\n"
> +    } > "${JDB_FILE}"
> +}
> +
> +
> +# Execute compiler with forwarded flags
> +# Shellcheck complains about missing quotes on FORWARD_FLAGS, but they can't be
> +# used here
> +# shellcheck disable=SC2086
> +${COMPILER} ${FORWARD_FLAGS}
> +
> +if [ -n "${CC_FILE}" ];
> +then
> +    for path in ${IGNORE_PATH_LIST}
> +    do
> +        if [[ ${CC_FILE} == *${path}* ]]
> +        then
> +            IGNORE_PATH="y"
> +            echo "${0}: ${CC_FILE} ignored by --ignore-path matching *${path}*"
> +        fi
> +    done
> +    if [ "${IGNORE_PATH}" = "n" ]
> +    then
> +        JDB_FILE="${OBJTREE_PATH}/$(basename "${CC_FILE}".json)"
> +
> +        # Prepare the Json Compilation Database for the file
> +        create_jcd "${COMPILER} ${FORWARD_FLAGS}"
> +
> +        out_file="${OBJTREE_PATH}/$(basename "${CC_FILE%.c}".cppcheck.txt)"
> +
> +        # Select the right target platform, ARCH is generated from Xen Makefile
> +        case ${ARCH} in
> +            arm64)
> +                # arm64 has efi code compiled with -fshort-wchar
> +                platform="${CPPCHECK_PLAT_PATH}/arm64-wchar_t2.xml"
> +                ;;
> +            arm32)
> +                # arm32 has no efi code
> +                platform="${CPPCHECK_PLAT_PATH}/arm32-wchar_t4.xml"
> +                ;;
> +            x86_64)
> +                # x86_64 has efi code compiled with -fshort-wchar
> +                platform="${CPPCHECK_PLAT_PATH}/x86_64-wchar_t2.xml"
> +                ;;
> +            *)
> +                echo "ARCH: ${ARCH} not expected!"
> +                exit 1
> +                ;;
> +        esac
> +
> +        if [ ! -f "${platform}" ]
> +        then
> +            echo "${platform} not found!"
> +            exit 1
> +        fi
> +
> +        # Shellcheck complains about missing quotes on CPPCHECK_TOOL_ARGS, but
> +        # they can't be used here
> +        # shellcheck disable=SC2086
> +        ${CPPCHECK_TOOL} ${CPPCHECK_TOOL_ARGS} \
> +            --project="${JDB_FILE}" \
> +            --output-file="${out_file}" \
> +            --platform="${platform}"
> +
> +        if [ "${CPPCHECK_HTML}" = "y" ]
> +        then
> +            # Shellcheck complains about missing quotes on CPPCHECK_TOOL_ARGS,
> +            # but they can't be used here
> +            # shellcheck disable=SC2086
> +            ${CPPCHECK_TOOL} ${CPPCHECK_TOOL_ARGS} \
> +                --project="${JDB_FILE}" \
> +                --output-file="${out_file%.txt}.xml" \
> +                --platform="${platform}" \
> +                -q \
> +                --xml
> +        fi
> +    fi
> +fi
--8323329-215932922-1670288592=:4039--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 04:34:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 04:34:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454334.711876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Pf3-0005t2-F8; Tue, 06 Dec 2022 04:34:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454334.711876; Tue, 06 Dec 2022 04:34:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Pf3-0005sr-CK; Tue, 06 Dec 2022 04:34:29 +0000
Received: by outflank-mailman (input) for mailman id 454334;
 Tue, 06 Dec 2022 04:34:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2Pf1-0005MV-U1
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 04:34:28 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43c27aec-751f-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 05:34:27 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id BC38C32009F0;
 Mon,  5 Dec 2022 23:34:24 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Mon, 05 Dec 2022 23:34:25 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 5 Dec 2022 23:34:23 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43c27aec-751f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670301264; x=1670387664; bh=2DJbvlN3MtrCNxWUxmi7jS5GZRlwreYino7
	nE2TrQ8A=; b=pX4tF4v1k1eZYNu5zbN0bvxHj78cjeFoXlJnqzBOx+W5Q07E8Aw
	T4FFv51qysrQCghks8QTRzO2exdFD/G2czKEcUwPXmtIW+CUXJeJ+dVFrBRFYiMy
	uhb7eGRs8/UUiLT/oGOWix1GyTtbZ/Qaj5wAjWdasrR0tFLu9MrhVDAchrjsYhW8
	H9d0kh0/KNuS+zSFHzafTGuKQwFJlp1ISz4sXULk6oynyMeVgMRV9Yf9sZexP3I0
	o4Q/CW2UCIXsLw2bb480oBkpdhU02Sk60z7nrz14EpeCUkfHyoFYuPDqd2UV7HKd
	z4QNV28QARiY3JABsIPF3M28Gi+QrB4hmaA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm1; t=1670301264; x=1670387664; bh=2DJbvlN3MtrCN
	xWUxmi7jS5GZRlwreYino7nE2TrQ8A=; b=d7BWW/qi1soi+uBGNDBoALS9fwbuu
	13EbDAx/H4mzrcP/FA6mtdd96ZWTqP+NrAlRb4IESvR9HEj1dOGu4SRb2GxJKwyk
	x+GbqiTy109XkCw74JT3fzmPZYAcY8edJdqqhlSTDggFLzVJxuknRzv05/toTIdp
	EAQiqeSgRDE1tAAqTyRw9P0GCTPLXSeNeMnVwraOPfW5ErPChSCb/lJItKL62hl2
	qQDlZgEx9nIiRz7SxG2SUMNCG5zYAxobu+IMaiJrbZCg98pNWeUSfijMERwi1fQw
	4KFgDhDkNSCXXOQ1XqVYlwNqv6FdSLn50Z0N8Iww7QZ/ZqXGKpzcenQaA==
X-ME-Sender: <xms:UMaOY0CrFbSeoYUSs_BEP4XN8XSaSz75_6s-2Xn4JIrGKPNG-Uywgw>
    <xme:UMaOY2iGC8w_hi6zDHEvov8tNc-HisCU2yMEPHSHQniMrsRxuTPIMZ_52_AVI30Bm
    LknnzDob0JGs2A>
X-ME-Received: <xmr:UMaOY3kC6kpt-rHCzQL6HmslU9Ul0cI8Iw0iypGfFX7SpMXZVapQ4DhxkW_VWiVcZDf_T3B2VrVq>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudehgdejgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedvnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:UMaOY6wvS55fgjTgoGR3Tp9ZUjjKJsyBqeegPwXj3B4yzAoGWDDKiw>
    <xmx:UMaOY5SYq0lpCOa38MBD4i61cX6hh0JE5rgXOCpynefK04ydGlvJ1w>
    <xmx:UMaOY1aLewr65rrW4-vYCBPgSPC4-MwcHsfYQHesBBqzcjmLHx25SA>
    <xmx:UMaOY4FgRCkFd-2VQvjXBba4qz-jSXmvcGL7En0w8TfQKBsFsWASDQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH 3/8] x86/mm/shadow: avoid assuming a specific Xen PAT
Date: Mon,  5 Dec 2022 23:33:32 -0500
Message-Id: <8fba8137ea2aa4fb5c61102342ad42ed8a9d0f66.1670300446.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1670300446.git.demi@invisiblethingslab.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This makes the code easier to understand and more robust if Xen's PAT
ever changes.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm/shadow/multi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 2370b3060285fee895f335f2a82d3d22ca5d31ed..4e94fec3d50cde0e5a26ecb62ff4d00dd00f759d 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -629,8 +629,8 @@ _sh_propagate(struct vcpu *v,
     else if ( p2mt == p2m_mmio_direct &&
               rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn)) )
     {
-        sflags &= ~(_PAGE_RW | _PAGE_PAT);
-        sflags |= _PAGE_PCD | _PAGE_PWT;
+        sflags &= ~(_PAGE_RW | PAGE_CACHE_ATTRS);
+        sflags |= _PAGE_UC;
     }
 
     // protect guest page tables
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 04:34:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 04:34:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454331.711844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Peu-00055x-Q4; Tue, 06 Dec 2022 04:34:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454331.711844; Tue, 06 Dec 2022 04:34:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Peu-00055p-LI; Tue, 06 Dec 2022 04:34:20 +0000
Received: by outflank-mailman (input) for mailman id 454331;
 Tue, 06 Dec 2022 04:34:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2Pet-00055j-6A
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 04:34:19 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b4e7b0d-751f-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 05:34:17 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 1C9EB32009F0;
 Mon,  5 Dec 2022 23:34:10 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Mon, 05 Dec 2022 23:34:10 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 5 Dec 2022 23:34:08 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b4e7b0d-751f-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670301249; x=1670387649; bh=sDIVsyhTHVkyAU/+B/rKbDWZZDFGzrBj2hs
	PmB7MdLs=; b=PP7hXNbYj6YB8yBuOP8NB+PY5sWvCA8dpJM2CVRcfgkkxVitACS
	eGRTSvJTjHbNfDjJ2V8/iXRRWfmsZmfcXtCMsdB0rYzrpgXtMOPwmiSS59l6zUz0
	9n3VUX/Ti+6Ki26pXjK0GjQwuiXhm0G8VDwVQ/YIL1xRGdo4dQv7KSAruGcWuY9D
	NV4l+s2sL5WUVppgyx+VspcIsGxFrHodCiXu63Lmh+lYUMG6bO48Mv4xp/imzC8Z
	+bgvL0AUFEjohEFofCgqod3xYaCm/YCA0fK8qbLnjzxsJUXS9+uWo4qkUp8ioLH/
	Mw+D2WhHU5crKmLyjKPUKjGYOnzZ0zCbnRQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm1; t=1670301249; x=1670387649; bh=sDIVsyhTHVkyA
	U/+B/rKbDWZZDFGzrBj2hsPmB7MdLs=; b=fyzY2ZDbdSaEeMsBUarpVQ7LLACtW
	YkcabzqBX/2pOnbjAVFDsmhlx9jl/A2o9U9934TeLi8iA1ztaybuwUy1msbhtN+W
	amSYEJyWtcloNMa55ZPbnD+40h02mF54k2F2Z/tAmjR5QCoV4eJ30plz/ITKcNFa
	Lh5gDBekc9avIS883WczmFZGwVz0NefUTF//BVkjbTlVmiptm+y85cscgOgsPTFP
	YWyzzFkt2Rb58/+rb6Unubvkz7wVc3cr6lZP6nPpmtTKCp7D+QLpxf6Jh6bbbw4z
	XJLbeOYgtQ1XHH+IMvzQyAveRnwDUXVj08NpuB4Kzlc2JhltjS7j1iVAQ==
X-ME-Sender: <xms:QcaOY4qVyiy93iZksLKylrcRXeLRBpoPenWLAdyanYuD9wZDoKknMA>
    <xme:QcaOY-rDyeP1tI3C8jwOnpUVvDbL5_hifFCbckecZrIOLl_28xd0uM16gEq4bHo7b
    657xFAzKEFOGTg>
X-ME-Received: <xmr:QcaOY9P-BMIJ2kyvW75OZjyKkh4DqKNTG03d_mj7zTunjNYAE9b4PnDKH3OOuXchgzyKUx_tMGdD>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudehgdejgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomhepffgvmhhiucfo
    rghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomheqnecuggftrfgrthhtvghrnhephfeggfeiiedtieejgedutdekgfetgeeh
    heegteekvefhfefgudehtdevleegueegnecuvehluhhsthgvrhfuihiivgeptdenucfrrg
    hrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgr
    sgdrtghomh
X-ME-Proxy: <xmx:QcaOY_59eUL5txSEFEn1jyQEFKCtBLgru9qwkS0hqM3hWXh_i3pkLQ>
    <xmx:QcaOY36dWBvNKHb80WLs-4Xhv-rLp6IKueqQofrwRwaH1qANuigOuQ>
    <xmx:QcaOY_jeSDcV5KktgCHsVwqBWDuTg0lNWNBvsZ7vQvqiNMQkSGR1Sw>
    <xmx:QcaOY0txkCLQL-Pi9yOu8GZFKc8ZnlRG01ZsfNCGAA-YazT8RudUYA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH 0/8] Make PAT handling less brittle
Date: Mon,  5 Dec 2022 23:33:29 -0500
Message-Id: <cover.1670300446.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

While working on Qubes OS Marek found out that there were some PAT hacks
in the Linux i915 driver.  I decided to make Xen use Linux’s PAT to see
if it solved the graphics glitches that were observed; it did.  This
required a substantial amount of preliminary work that is useful even
without using Linux’s PAT.

Patches 1 through 7 are the preliminary work and I would like them to be
accepted into upstream Xen.  Patch 7 does technically break ABI by
rejecting the unused PAT entries in debug builds, but as release builds
are not impacted I suspect it is not a serious concern.  Patch 8
actually switches to Linux’s PAT and is NOT intended to be merged (at
least for now) as it would at a minimum break migration of PV guests
from hosts that do not have the patch.

Demi Marie Obenour (8):
  x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
  p2m-pt: Avoid hard-coding Xen's PAT
  x86/mm/shadow: avoid assuming a specific Xen PAT
  efi: Avoid hard-coding the various PAT constants
  x86/mm/shadow: do not open-code PAGE_CACHE_ATTRS
  x86: Derive XEN_MSR_PAT from its individual entries
  x86/mm: make code robust to future PAT changes
  Use Linux's PAT

 xen/arch/x86/include/asm/page.h      |  4 +-
 xen/arch/x86/include/asm/processor.h | 22 +++++++++-
 xen/arch/x86/mm.c                    | 65 ++++++++++++++++++++++++----
 xen/arch/x86/mm/p2m-pt.c             |  6 +--
 xen/arch/x86/mm/shadow/multi.c       |  8 ++--
 xen/common/efi/boot.c                | 10 ++---
 6 files changed, 91 insertions(+), 24 deletions(-)

-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 04:34:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 04:34:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454332.711855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Pf0-0005Mj-WA; Tue, 06 Dec 2022 04:34:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454332.711855; Tue, 06 Dec 2022 04:34:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Pf0-0005Mc-T7; Tue, 06 Dec 2022 04:34:26 +0000
Received: by outflank-mailman (input) for mailman id 454332;
 Tue, 06 Dec 2022 04:34:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2Pez-00055j-N1
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 04:34:25 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 421df95f-751f-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 05:34:24 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 7345C32009EF;
 Mon,  5 Dec 2022 23:34:22 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Mon, 05 Dec 2022 23:34:23 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 5 Dec 2022 23:34:21 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 421df95f-751f-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670301261; x=1670387661; bh=0QYKJqmbmxQ2VjZuUfTQ03pAcq4EP8MKf4w
	+fU+4RXw=; b=AjLxTJrLas+hiAl88t6W/GA7S314n8MsLVEYgtoJr9U3sv9ma8j
	5OR509gTyKf4tViRvkjZAxBgkKB16/1GJTcloksswi6eyaNMwoRcALChtACoGovH
	oYPljHGSAohMS1tQ285DWHGyx897dwo2/4EG2CuBT6fEnWTSUiAIEopVEN28yuKZ
	9EgM1TIQbJgdx08SO5rulSBKoeOqJzL8lf+Kb2OBUzgrH+BzSrQUD0wbpqlXv+dg
	s2hBoBAUrtyz9dLy8S8XY9Y7qomOqenr8ifK7Mxm/EtHdPdJn7PmeYwzimFsUl7r
	jq1TztJQDySMD3SQ6tAi78+Xpka6Crqq/7w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm1; t=1670301261; x=1670387661; bh=0QYKJqmbmxQ2V
	jZuUfTQ03pAcq4EP8MKf4w+fU+4RXw=; b=XNkFtiOSB7z0SPAeX7uFy5mOxTe33
	qmHWmpNynA//zBS6K5iC8XN0ORvLdtMd/7Bly9ilu4rK1u/GqIbVjNrXmW1fMIpV
	7sLRzqv7ypiqRQcR3v9gEc6+uV+JWaCLTN/+Q5DhhKQyrNYpwX/szRzENguP0HX8
	/xPNcHU2vyxmV4OyJgJWKtJGM5jO3CTOOf2gSTXpo05x53mSYVjkgnM2tBaRacjT
	CJbY4NKBA7xVNQa1UIOIG0iwKXqh7qr2olZqbBH0uDvNRMkACykthkdeFiGkFzA2
	IgPuj2wudZolUVoAYiKBvSJJWO+WTZ1mbfD99xx1o+pxTGwzUcwmuNhLg==
X-ME-Sender: <xms:TcaOY68X8vwEgQjpsnhkNyGG4gIqTgrySGO-jKsjoxacoXWVVzDaRQ>
    <xme:TcaOY6trpRNo4XqjjtFQOxI62f1Rux7034YlDaDJjSdVpi180gkodrtwu8M_ByZAR
    FN-66qAIPqbd_Y>
X-ME-Received: <xmr:TcaOYwDSLn9BBMZ29bl0x1X0a9vYr-ye_2Th2UFx5RNm7DE-seqQKak1PjHOVIQj-2MaPOOjh-rT>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudehgdejgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:TcaOYyfWfhSO14xG_zNZnFDy5RnhrADYd23trYCQSN9PQK_VOUObbA>
    <xmx:TcaOY_P8nyh6fjwxGoEFzzcpi-ykRw3k2hYGK5ZRs1yAvwYlslGUAA>
    <xmx:TcaOY8mhS3QrmuM-0FYuc1yX7oG9zMH9MDhEouEGp7wFaUb15tJ34Q>
    <xmx:TcaOY7DGYCR1eFc7Cjvj5lmZkz0r4AJe34iUZSML_a-TRJZTvTSqXw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH 2/8] p2m-pt: Avoid hard-coding Xen's PAT
Date: Mon,  5 Dec 2022 23:33:31 -0500
Message-Id: <94c76a8be13a592ef98c80525b6c016cee583e73.1670300446.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1670300446.git.demi@invisiblethingslab.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This makes the code much easier to understand.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm/p2m-pt.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index eaba2b0fb4e6830f52b7d112fba8175dfe6d2770..cd1af33b6772ab1016e8d4c3284a6bc5d282869d 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -99,13 +99,13 @@ static unsigned long p2m_type_to_flags(const struct p2m_domain *p2m,
         return flags | P2M_BASE_FLAGS | _PAGE_RW | _PAGE_NX_BIT;
     case p2m_mmio_direct:
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
-            flags |= _PAGE_RW;
+            flags |= _PAGE_RW | _PAGE_UCM;
         else
         {
-            flags |= _PAGE_PWT;
+            flags |= _PAGE_UC;
             ASSERT(!level);
         }
-        return flags | P2M_BASE_FLAGS | _PAGE_PCD;
+        return flags | P2M_BASE_FLAGS;
     }
 }
 
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 04:34:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 04:34:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454333.711866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Pf2-0005cy-9Z; Tue, 06 Dec 2022 04:34:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454333.711866; Tue, 06 Dec 2022 04:34:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Pf2-0005cp-4k; Tue, 06 Dec 2022 04:34:28 +0000
Received: by outflank-mailman (input) for mailman id 454333;
 Tue, 06 Dec 2022 04:34:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2Pf0-0005MV-W5
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 04:34:26 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40728b0f-751f-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 05:34:24 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 33F2132009EC;
 Mon,  5 Dec 2022 23:34:19 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Mon, 05 Dec 2022 23:34:20 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 5 Dec 2022 23:34:17 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 40728b0f-751f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670301258; x=1670387658; bh=zlnhba+jqrzVDvS+quM/AmBMchrjFNcXxGL
	gLEattQI=; b=nFaQ5l1IWz9DxPJTn5JP8Hs7JoaTE5YO3TXoSVCvC8kG+CsxIkG
	UH3MIXlrob/dE4Xn2XJBxBntU1fjUY/Rbb/z2txaMCl05jN2fzVCSX2CEmgWrYAk
	0dWL02Ab/Z4ZyyjT0MB/vjl6lj9g7DGiTIiep5FROjfAXU8RXot8XY5pB65u7ozP
	EkBburedsDc8qX7V1P+cvQrQDhIzlHKIsC3U3y6ExOaidYlGsdQUrEE/u5qqOtvz
	tDAFc+5/4SmWqOiIJJiTOSrs5cT2KK8/Eg4FBdotBFubRH8Kc0J5GbxlswqXh5b7
	mBgT23P4t+Tmy8rz8jsqecevI7bPUpywgIQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm1; t=1670301258; x=1670387658; bh=zlnhba+jqrzVD
	vS+quM/AmBMchrjFNcXxGLgLEattQI=; b=F7rEKa4oJCZrWhn1UuwJRc9zBEMau
	f3sCGZjh+OHA/9Butny+yuM6ja+V2/AuUNKdvtrkDISlL3jrASJgmXcfIF66mpZP
	Wcrf5V+gd4gc0pao8wIPki8YrD6yuWzWK5bEqvdGHZJGgPzlMzLx1qpNcw6P81Fu
	hF7feGcuSvSHqlE/kcXbyTUwGPcR4VB76WcyblwKWy+pCKnILahukNg2WVmc/gY6
	laO6xCod7gOP+dhwiVVNlRUBawbZeC/3PS2J6JXGySEDHOWXvRV6+7Kvw2p4FBdL
	GelVc4POd3JjfLUveOdrg676UfH6EpCxjmyvzbi4TMFyrrR6sI6tO/LwQ==
X-ME-Sender: <xms:SsaOYznOy5KmyaEcv87F541o70-iF3CcShGg-p_vJHcMP8T0GEEKwQ>
    <xme:SsaOY20gkG7yrqAbdzEQhsD0lHbDwCjTxRJpRntSgSxaycwk37ZfeXTQzV9xFlxLd
    TqWvM3VzUdFiK0>
X-ME-Received: <xmr:SsaOY5oUXPIUT-r5Z6QL0hBKDBcGBuhxjtTNdh-4TP5FZG876WET9h_kYm6s7Y6InWwJhPf8eFG7>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudehgdejgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:SsaOY7mNkrq7f0RSsOqMxiLyegPIjPCbFxboWxnq6viNiajmIZLSVQ>
    <xmx:SsaOYx1SimwO1LuAFSy-fzHr9SXv058t4YjYcRlj-KQMV-q78hCprg>
    <xmx:SsaOY6ugTdZQvyYShhl5Narj5jwgzbC_3yu8m0EK3vhqTbuA9PY8pg>
    <xmx:SsaOY7oznVo-HyQS5ypqFnDp-Qh5zvQHSPe7w8EMRP_KcFg-cv7TeQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH 1/8] x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
Date: Mon,  5 Dec 2022 23:33:30 -0500
Message-Id: <c70f4c4584cf28ff1da8f56e08d61ad0c406a4fd.1670300446.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1670300446.git.demi@invisiblethingslab.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This still hard-codes the assumption that the two spare values are
mapped to UC.  Removing this assumption would require a more complex
patch.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 78b1972e4170cacccc9c37c6e64e76e66a7da87f..5d05399c3a841bf03991a3bed63df9a815c1e891 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -961,13 +961,10 @@ get_page_from_l1e(
 
         switch ( l1f & PAGE_CACHE_ATTRS )
         {
-        case 0: /* WB */
-            flip |= _PAGE_PWT | _PAGE_PCD;
-            break;
-        case _PAGE_PWT: /* WT */
-        case _PAGE_PWT | _PAGE_PAT: /* WP */
-            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
-            break;
+        case _PAGE_WB:
+        case _PAGE_WT:
+        case _PAGE_WP:
+            flip |= (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC;
         }
 
         return flip;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 04:34:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 04:34:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454335.711888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Pf5-0006BC-Qa; Tue, 06 Dec 2022 04:34:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454335.711888; Tue, 06 Dec 2022 04:34:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Pf5-0006Aq-LL; Tue, 06 Dec 2022 04:34:31 +0000
Received: by outflank-mailman (input) for mailman id 454335;
 Tue, 06 Dec 2022 04:34:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2Pf4-00055j-Cj
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 04:34:30 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 44ebb0d0-751f-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 05:34:29 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 2C3A432009F5;
 Mon,  5 Dec 2022 23:34:27 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Mon, 05 Dec 2022 23:34:27 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 5 Dec 2022 23:34:25 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44ebb0d0-751f-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670301266; x=1670387666; bh=74iR55QTZEIoGrp/SIuOn2UKjLBB0nvCkho
	9p4QDUpk=; b=kZHF3htozvEjILFcNmghVOiwiPahaARZZQnYB3OuQ/ch06nSado
	yG6NGCo0bVBBOkqFcYbDNuN8woNHVSIVoJAekDNpejUV4z+p7Tn0MuABYOOto9Lb
	ciobsBYRt1mrbiqR1gkqKwGWDkzPI6sYnKW2fxGz0YFjE1qYMg8R88hEMeO/qwYc
	RNegB14AdeJvY/h86+/ILyEPDew23GpOPKHi5l15r6F9KLUBruR0eSY8wkQIfDet
	eh6x1jJDztvZyR0WrDtoj02rTfehAZZH8MOuili0YEPJDsrT016eaYgpHRP3wXiw
	nE/IoM+hL/5GHy0wjENcpkvTaoViDzlYByA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm1; t=1670301266; x=1670387666; bh=74iR55QTZEIoG
	rp/SIuOn2UKjLBB0nvCkho9p4QDUpk=; b=rzwdaqZhIFWzdkO3L3vAIMiVKkza+
	PvpV0SK0/QZ98K6juLjx8KgH/WOj2E57lpPvOeMue8fyC4ffDDSo/FTU9je/7oJL
	0ijXbB36LW+VT1evFWFQZX9hFxnqfJ3O+7mOHsC/z6kIISyqLb41ugTE5T7vt3Aj
	xKgKmZExEVbAyUDOOQuFfFPBIVJv3fXbanETr4FvE5AQN87g85O5abduXDCnzqfP
	vGHRDqpGD6m+Zp5vfXnb3VLmEOsBU3525KqxE+M5Uxd2uo1kGtAT063VzdlJY0eR
	QkwA6uRieCHnvo2fcpNMjDeowdQJcfWwVaqy+WpN4uFjzB+cMM+NmgcGg==
X-ME-Sender: <xms:UsaOY5hWmEKxfCenBJRCS0FS0XNaVkEnrI92hEnpv4ioEP2PR4fWRw>
    <xme:UsaOY-CKvyTZeqKx4NmoAF2uKoRwi7otBcCupwBxu3QYxWdien7cC0o5m_Pgi7YXL
    441SabDblMAbws>
X-ME-Received: <xmr:UsaOY5G5M_r_XhVYHnM4oJc0OGqwi5GjYY5eZ0dHopl2P90cgj7H4gxh59Rv9qxemP_J1LQDaFbK>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudehgdejfecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:UsaOY-S0TRX7e4NxA86J4vt-XOXV-NNzO5JK8K-jBXoqz5eroHMy-g>
    <xmx:UsaOY2yhDpldn6uugV00Sj_XFKJ0TmclOD4ysJXKI3sFj_9iNR8XXw>
    <xmx:UsaOY05fuEg2Pyun5oi5fTO9XUUN_pyClb45fGb-slQJwQmgztOUhg>
    <xmx:UsaOY9mRqAEq32jfb3HYbzLBLYwY7ehSnGyfJKm5pdOj306lrUSLng>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH 4/8] efi: Avoid hard-coding the various PAT constants
Date: Mon,  5 Dec 2022 23:33:33 -0500
Message-Id: <ea32e526153a40837484ba9c64a7d157804b6c27.1670300446.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1670300446.git.demi@invisiblethingslab.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This makes the code much easier to understand, and avoids problems if
Xen's PAT ever changes in the future.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/common/efi/boot.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index 8e880fe30c7541a202dec3e665300d6549953aa3..260997b251b09dae4b48c1b1db665778e02d760a 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -1746,21 +1746,21 @@ void __init efi_init_memory(void)
         if ( desc->Attribute & EFI_MEMORY_WB )
             /* nothing */;
         else if ( desc->Attribute & EFI_MEMORY_WT )
-            prot |= _PAGE_PWT | MAP_SMALL_PAGES;
+            prot |= _PAGE_WT | MAP_SMALL_PAGES;
         else if ( desc->Attribute & EFI_MEMORY_WC )
-            prot |= _PAGE_PAT | MAP_SMALL_PAGES;
+            prot |= _PAGE_WC | MAP_SMALL_PAGES;
         else if ( desc->Attribute & (EFI_MEMORY_UC | EFI_MEMORY_UCE) )
-            prot |= _PAGE_PWT | _PAGE_PCD | MAP_SMALL_PAGES;
+            prot |= _PAGE_UC | MAP_SMALL_PAGES;
         else if ( efi_bs_revision >= EFI_REVISION(2, 5) &&
                   (desc->Attribute & EFI_MEMORY_WP) )
-            prot |= _PAGE_PAT | _PAGE_PWT | MAP_SMALL_PAGES;
+            prot |= _PAGE_WP | MAP_SMALL_PAGES;
         else
         {
             printk(XENLOG_ERR "Unknown cachability for MFNs %#lx-%#lx%s\n",
                    smfn, emfn - 1, efi_map_uc ? ", assuming UC" : "");
             if ( !efi_map_uc )
                 continue;
-            prot |= _PAGE_PWT | _PAGE_PCD | MAP_SMALL_PAGES;
+            prot |= _PAGE_UC | MAP_SMALL_PAGES;
         }
 
         if ( desc->Attribute & (efi_bs_revision < EFI_REVISION(2, 5)
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 04:34:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 04:34:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454336.711899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Pf8-0006VT-8D; Tue, 06 Dec 2022 04:34:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454336.711899; Tue, 06 Dec 2022 04:34:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Pf8-0006VG-4H; Tue, 06 Dec 2022 04:34:34 +0000
Received: by outflank-mailman (input) for mailman id 454336;
 Tue, 06 Dec 2022 04:34:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2Pf6-0005MV-NJ
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 04:34:32 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46925a2f-751f-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 05:34:31 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 7636E32009ED;
 Mon,  5 Dec 2022 23:34:29 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Mon, 05 Dec 2022 23:34:30 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 5 Dec 2022 23:34:28 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46925a2f-751f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670301269; x=1670387669; bh=78iOTcLznyqVPzoEL9+P1QeIqoDr0D4mDgx
	uOJLHvyA=; b=mb+ZKJoBLlLQBUZp7OYLSBpBR50HvPmg/rxtbJyjmd41Wsl7290
	+6ZSXrsjfu4ms8u6jOVsqOa10kWfy6TkRdh/FDFKfPy3WrT6NEDeqMYZbYGanPNS
	Dcb74+ahLONwoEDI6uhsg4tjiUAPKFLwfIWdTiHw4bE0vvpHtnCKGYCCqWGJGK15
	MYtjgqDrzoSt2PKNej70oONKCZXIe92Z3vMu7TuTM0ZSMRmgSF/xludl4ZCKxYvM
	PYK1Yqk9/sC+SK83qnVaFIA8stvLyhMOpUZS2CwmihCooXchGVl87mAoXvn6zm+R
	PR4nsoojQfnF9tJiW78wYYmptBGTeyG83Kg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm1; t=1670301269; x=1670387669; bh=78iOTcLznyqVP
	zoEL9+P1QeIqoDr0D4mDgxuOJLHvyA=; b=OvWfbvRkBEGn+zvGrNGEUNi+eH01S
	te6mERJm3kOGumqu5wEoLdGSIf5EqF4m6LC58nh6/TproNyCY8NhsSsEzGAG3G/M
	yMBaWvTDQKYXax7A06t1HVaXkoGdemfw4sHlWDYNSPGIgaXG+u62H7T2m3w0xhH+
	fAqjL1HD+zOHGfa2bVbiSBEzmIIQA9zLoQ41UuT2j3tB/s1TpymXvZ/WLIrlvcfn
	Dlr/EOjKDFtqGI4b8uKH8mmIT9uhB2+1OT58xLdifDmuYQ/uRWxkqRsU5W1TyMYl
	XCs5J9hA+D+p2kPPauLilP0ktGYsaDh2JpLuMeT4Tq4OdQCrbl0L4a7Ig==
X-ME-Sender: <xms:VMaOY2rH1AwEE-VnUHkNslY8FDc2ydkjxGF9HL-PyQBUQAdjJKci5w>
    <xme:VMaOY0pAcKtBLEkCin7aTZBTBFVFMalSus8lkHvyjks8N9hsEeF8_NOf4Tut6g0hv
    Dc3OKTPP5b4_XI>
X-ME-Received: <xmr:VMaOY7MzJkALhGhOxcmA3eznWHZnrY2LsuPXUVL4bMyOfUEgU1jr6rwJf1HMNwxf7uXiwwVGAIFq>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudehgdejgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:VMaOY15Bnsq5befxFIuqqKmX5KnXpDw43wHqJXmo-U0-4JmeQOx0LA>
    <xmx:VMaOY14NCHdf35SCloh5iEVLvl2xMn3CzoCUhRASoOYDNH1y8-ZBKQ>
    <xmx:VMaOY1jB_kEnMk3JXfBGkQWrTvrqjk6utgcRfim14Z9xrqr3dsOv5Q>
    <xmx:VcaOYyvbCrNRTULLimBSdjiu8Ds3b1cFyZW1cCLCZDCXCspk7_wBYw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH 5/8] x86/mm/shadow: do not open-code PAGE_CACHE_ATTRS
Date: Mon,  5 Dec 2022 23:33:34 -0500
Message-Id: <52d04f14daca91597f78f60e3a16cce4069bf32f.1670300446.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1670300446.git.demi@invisiblethingslab.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This makes the code easier to understand.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm/shadow/multi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 4e94fec3d50cde0e5a26ecb62ff4d00dd00f759d..6bb564b0145285afc93b72a60b7797fcfe8696dc 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -535,7 +535,7 @@ _sh_propagate(struct vcpu *v,
     if ( guest_nx_enabled(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
     if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
-        pass_thru_flags |= _PAGE_PAT | _PAGE_PCD | _PAGE_PWT;
+        pass_thru_flags |= PAGE_CACHE_ATTRS;
     sflags = gflags & pass_thru_flags;
 
     /*
@@ -548,7 +548,7 @@ _sh_propagate(struct vcpu *v,
     {
         int type;
 
-        ASSERT(!(sflags & (_PAGE_PAT | _PAGE_PCD | _PAGE_PWT)));
+        ASSERT(!(sflags & PAGE_CACHE_ATTRS));
 
         /* compute the PAT index for shadow page entry when VT-d is enabled
          * and device assigned.
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 04:34:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 04:34:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454337.711910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2PfA-0006ou-FR; Tue, 06 Dec 2022 04:34:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454337.711910; Tue, 06 Dec 2022 04:34:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2PfA-0006of-C4; Tue, 06 Dec 2022 04:34:36 +0000
Received: by outflank-mailman (input) for mailman id 454337;
 Tue, 06 Dec 2022 04:34:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2Pf9-0005MV-37
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 04:34:35 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4801db77-751f-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 05:34:34 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id DCE3232009F0;
 Mon,  5 Dec 2022 23:34:31 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Mon, 05 Dec 2022 23:34:32 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 5 Dec 2022 23:34:30 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4801db77-751f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670301271; x=1670387671; bh=7lJWDKXrQS1OHkVX4MNh9xF7acm6KU1f8nX
	60aLC2AY=; b=FXoGyWGbu8ukOOMXW7SDT6Zp4wfM7Wz0PjvmGgudbPZL8WuF2Lk
	hFNlf/xqUD2RXkc4Ma0T/AX87VFdXudmCg5IEknWURFAYhcS8G5l63kycRCDxTuM
	sIW5jjKa7TAjhyNPPib6KlYjWIsXJBcVRqqeI9/T6rW8V9oVySKrRXbNitlR+9A9
	UKgtwICXA2HZVqjaZEfFkWDNFpFegnF179PbWJ1vKioangaVRFZYCBU2aZkshPsI
	lNZdQDpidWr0b0bpFESSWihvm6+L89cdtnReOclxAAPL5tSBvyJNdMw/7kstC+oW
	9yz3j7MYRAzh6HI2yO5xU23Znwxaz2mYc6w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm1; t=1670301271; x=1670387671; bh=7lJWDKXrQS1OH
	kVX4MNh9xF7acm6KU1f8nX60aLC2AY=; b=SXcYAt2A2Lw3XEMWMyxyHFgyfSI7O
	TejRkzGRaY2rMGexP5FqCUGr0Fns4aJ+fk6pwX+V5QTv3V19vi5s+KUqL18DaI+t
	BEOC4li7JvUR/7ys4pIJFzuloD/ouYnKugI2AnxMj8cLTPgS0MjWCjMBDGjnDgNO
	YvmsKSRwA5Pobh7383QRh1URp/RileedV0d/lJvsJD75gRPjrABnTwnd4o1EdHnB
	8L3J99vA2HMvughqN8FloSVwTvc55+3mPk2qjYvh3uhS8xXrOeeLD/rQrCxwYuhj
	ZHWgUyvvA2a967MAkLmgryj3zvmk/Rmq7tmA3uUxF0u4+/LxqmOyWbxzw==
X-ME-Sender: <xms:V8aOY02fFj7WBZ9F0akv__sQA6UBxg9GGuJkzzTssJdDlxw1V2u7_g>
    <xme:V8aOY_Eds6t8R0WK2u16uLnwbA5kXdfgQ2Txf-g3K9zwBqmIgk9uHK02-nbixwEgh
    LT_4mggg1Lvbm4>
X-ME-Received: <xmr:V8aOY86dtpdfxPyoGakSQIeV_B7iBi7BH6mJ1srp92yuXc-8uufHqguBlRasSLtN4_iPWiD3Tk7t>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudehgdejgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:V8aOY92wUw0ICP1_Gj85rinu0i7Pb6AB7aXy2UiFwl6BTz3rJtQevg>
    <xmx:V8aOY3GgiMvurMh1YVR1aj7_CC6_9iCOLOT0g-saogfasp9CBUqa4A>
    <xmx:V8aOY29yZNAvbzSsoV3f_3gjoccZQLqTbwZ0sc37NUrV1aK6khaodg>
    <xmx:V8aOY85xTqvJTMIxKaDTsyngtUbVccVlwOd-3gilD0V6TAtHXrZjRw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH 6/8] x86: Derive XEN_MSR_PAT from its individual entries
Date: Mon,  5 Dec 2022 23:33:35 -0500
Message-Id: <5ddd32a453b098f277f2d4aa9e044a40183d4bff.1670300446.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1670300446.git.demi@invisiblethingslab.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This avoids it being a magic constant that is difficult for humans to
decode.  Use a _Static_assert to check that the old and new values are
identical.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/include/asm/processor.h | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 8e2816fae9b97bd4e153a30cc3802971fe0355af..64b75e444947c64e2e5eba457deec92a873d7a63 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -92,13 +92,33 @@
                           X86_EFLAGS_NT|X86_EFLAGS_DF|X86_EFLAGS_IF|    \
                           X86_EFLAGS_TF)
 
+/* Individual entries in IA32_CR_PAT */
+#define MSR_PAT_UC  _AC(0x00, ULL)
+#define MSR_PAT_WC  _AC(0x01, ULL)
+#define MSR_PAT_RESERVED_1  _AC(0x02, ULL)
+#define MSR_PAT_RESERVED_2  _AC(0x03, ULL)
+#define MSR_PAT_WT  _AC(0x04, ULL)
+#define MSR_PAT_WP  _AC(0x05, ULL)
+#define MSR_PAT_WB  _AC(0x06, ULL)
+#define MSR_PAT_UCM _AC(0x07, ULL)
+
 /*
  * Host IA32_CR_PAT value to cover all memory types.  This is not the default
  * MSR_PAT value, and is an ABI with PV guests.
  */
-#define XEN_MSR_PAT _AC(0x050100070406, ULL)
+#define XEN_MSR_PAT (MSR_PAT_WB  << 0x00 | \
+                     MSR_PAT_WT  << 0x08 | \
+                     MSR_PAT_UCM << 0x10 | \
+                     MSR_PAT_UC  << 0x18 | \
+                     MSR_PAT_WC  << 0x20 | \
+                     MSR_PAT_WP  << 0x28 | \
+                     MSR_PAT_UC  << 0x30 | \
+                     MSR_PAT_UC  << 0x38 | \
+                     0)
 
 #ifndef __ASSEMBLY__
+_Static_assert(XEN_MSR_PAT == 0x050100070406ULL,
+               "wrong XEN_MSR_PAT breaks PV guests");
 
 struct domain;
 struct vcpu;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 04:34:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 04:34:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454338.711921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2PfC-00078u-PI; Tue, 06 Dec 2022 04:34:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454338.711921; Tue, 06 Dec 2022 04:34:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2PfC-00078V-Lw; Tue, 06 Dec 2022 04:34:38 +0000
Received: by outflank-mailman (input) for mailman id 454338;
 Tue, 06 Dec 2022 04:34:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2PfB-0005MV-ES
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 04:34:37 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 495bd197-751f-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 05:34:36 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 29CEA32009EC;
 Mon,  5 Dec 2022 23:34:34 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Mon, 05 Dec 2022 23:34:34 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 5 Dec 2022 23:34:32 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 495bd197-751f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670301273; x=1670387673; bh=T0aIZzrDadhvtD5mn+zJFIJWFtiX5Pwc1wj
	o5NMXh6Y=; b=XWGDwmRGgv4X9ujc8J/B1bh8ZHZGgJnfenvzQ/pLXlTtGreDGiR
	DmrJHeTgYwKCaOykGxGDiFbtvPzc/B+9585OfNyIYskEGpVfIvgNweJsNCeNkcSx
	engG+MVH/TzexeDEp/20kWi+2bktePcZzALSyN4M96EfZY9pDS15NNqRd8K/Gkkk
	4T3D3BiP4LzXeUJLXtTZukGVbRjvoLCKaRca/TFS9s010zW05q3D8JQ4TaRjRUYT
	gRV9cp5JU12z99fynPr0Hf4gistz9iky3hF+sumk6wjOkFTt+ip3mrtcyUPDztqO
	7K50pVadSK4dCmarEWUixab8rPang62dFrg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm1; t=1670301273; x=1670387673; bh=T0aIZzrDadhvt
	D5mn+zJFIJWFtiX5Pwc1wjo5NMXh6Y=; b=MF+VpGM5Ugdy4jY8PXPP+4q7BCrPN
	Eezq3kVESbyXNxD2d3Nmw641a1LgaQ5W+iYyhLF6a+NY/kyhTBT8dLfxLYJSS2KH
	fm5MTFDWFrN21lQXsm3eTOPJnNqz/PIVoRy2loQsvSiyV1sOJuhdRL6oLbUnmioB
	nCfLEuoWoxCbCCuODbeMAMOlPAr94mTvPRKzmYJAIANZQvGD7Qi3f+APWE2/5Am2
	S5PNNF/Y2HoZN/0J5QMpEYUEYjmU93nkNfyxE2ELPxx9H0Mc8vhQbFN4hFgj/258
	QKgaXqcMo7DImZlE0R1uboX/dKDxLjJ/XNjvXEVQM7w6XP5rek/16uDNA==
X-ME-Sender: <xms:WcaOYyFlfSgIGU5ccjbW18BvAoMOI9cI-1y60Uk-9spHEBQoXJiFfA>
    <xme:WcaOYzXRoQZWJvgmbu-4W64fpPUcp1uLAU3BJgdWJyq1cSdIdUba4LsKnokveOzzi
    At8kiAJsC7VACA>
X-ME-Received: <xmr:WcaOY8IJGP_x1DMPGRqurC_qu6inYC-k_Kk8NGF5ca5xvrBRnw82UxfWxwKr03OYV47V40i-olWX>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudehgdejfecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedunecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:WcaOY8Hfu7Wp_C2tQylS7RF5ilAd4mnD1ek42OMfHUj_0wbIEF3TEQ>
    <xmx:WcaOY4VvNQxY7mG3q-UUJoS0bDtxEdb5Ui06luU9ijpGtEY0IITDwA>
    <xmx:WcaOY_OVdNpJQVfy9UIvqGZ7GfRLeXTXAACh_GeAQvVkPO1NAoFYOw>
    <xmx:WcaOY6JUAiHwOW3fDwxu2-JZWC3cFfGWJBXHMQycWO2UAyxMg9MJ6g>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH 7/8] x86/mm: make code robust to future PAT changes
Date: Mon,  5 Dec 2022 23:33:36 -0500
Message-Id: <33f3896ba4cdf50ceb0377f071682ac5d3f576c4.1670300446.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1670300446.git.demi@invisiblethingslab.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It may be desirable to change Xen's PAT for various reasons.  This
requires changes to several _PAGE_* macros as well.  Add static
assertions to check that XEN_MSR_PAT is consistent with the _PAGE_*
macros.

Additionally, Xen has two unused entries in the PAT.  Currently these
are UC, but this will change if the hardware ever supports additional
memory types.  To avoid future problems, this adds a check in debug
builds that injects #GP into a guest that tries to use one of these
entries, along with returning -EINVAL from the hypercall.  Future
versions of Xen will refuse to use these entries even in release builds.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm.c | 58 +++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 54 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 5d05399c3a841bf03991a3bed63df9a815c1e891..517fccee699b2a673ba537e47933aefc80017aa5 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -849,6 +849,45 @@ static int cf_check print_mmio_emul_range(
 }
 #endif
 
+static void __init __maybe_unused build_assertions(void)
+{
+    /* A bunch of static assertions to check that the XEN_MSR_PAT is valid
+     * and consistent with the _PAGE_* macros */
+#define PAT_VALUE(v) (0xFF & (XEN_MSR_PAT >> (8 * (v))))
+#define BAD_VALUE(v) ((v) < 0 || (v) > 7 ||                                    \
+                      (v) == MSR_PAT_RESERVED_1 || (v) == MSR_PAT_RESERVED_2)
+#define BAD_PAT_VALUE(v) BUILD_BUG_ON(BAD_VALUE(PAT_VALUE(v)))
+    BAD_PAT_VALUE(0);
+    BAD_PAT_VALUE(1);
+    BAD_PAT_VALUE(2);
+    BAD_PAT_VALUE(3);
+    BAD_PAT_VALUE(4);
+    BAD_PAT_VALUE(5);
+    BAD_PAT_VALUE(6);
+    BAD_PAT_VALUE(7);
+#undef BAD_PAT_VALUE
+#undef BAD_VALUE
+#define PAT_SHIFT(page_value) (((page_value) & _PAGE_PAT) >> 5 |               \
+                               ((page_value) & (_PAGE_PCD | _PAGE_PWT)) >> 3)
+#define CHECK_PAGE_VALUE(page_value) do {                                      \
+    /* Check that the _PAGE_* macros only use bits from PAGE_CACHE_ATTRS */    \
+    BUILD_BUG_ON(((_PAGE_##page_value) & PAGE_CACHE_ATTRS) !=                  \
+                  (_PAGE_##page_value));                                       \
+    /* Check that the _PAGE_* are consistent with XEN_MSR_PAT */               \
+    BUILD_BUG_ON(PAT_VALUE(PAT_SHIFT(_PAGE_##page_value)) !=                   \
+                 (MSR_PAT_##page_value));                                      \
+} while (0)
+    CHECK_PAGE_VALUE(WT);
+    CHECK_PAGE_VALUE(WB);
+    CHECK_PAGE_VALUE(WC);
+    CHECK_PAGE_VALUE(UC);
+    CHECK_PAGE_VALUE(UCM);
+    CHECK_PAGE_VALUE(WP);
+#undef CHECK_PAGE_VALUE
+#undef PAT_SHIFT
+#undef PAT_VALUE
+}
+
 /*
  * get_page_from_l1e returns:
  *   0  => success (page not present also counts as such)
@@ -961,13 +1000,24 @@ get_page_from_l1e(
 
         switch ( l1f & PAGE_CACHE_ATTRS )
         {
-        case _PAGE_WB:
+        default:
+#ifndef NDEBUG
+            printk(XENLOG_G_WARNING
+                   "d%d: Guest tried to use bad cachability attribute %u for MFN %lx\n",
+                   l1e_owner->domain_id, l1f & PAGE_CACHE_ATTRS, mfn);
+            pv_inject_hw_exception(TRAP_gp_fault, 0);
+            return -EINVAL;
+#endif
         case _PAGE_WT:
         case _PAGE_WP:
-            flip |= (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC;
+        case _PAGE_WB:
+            /* Force this to be uncachable */
+            return flip | ( (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC );
+        case _PAGE_WC:
+        case _PAGE_UC:
+        case _PAGE_UCM:
+            return flip;
         }
-
-        return flip;
     }
 
     if ( unlikely((real_pg_owner != pg_owner) &&
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 04:34:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 04:34:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454339.711932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2PfG-0007Ya-4b; Tue, 06 Dec 2022 04:34:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454339.711932; Tue, 06 Dec 2022 04:34:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2PfF-0007Xf-UO; Tue, 06 Dec 2022 04:34:41 +0000
Received: by outflank-mailman (input) for mailman id 454339;
 Tue, 06 Dec 2022 04:34:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2PfD-00055j-Mm
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 04:34:39 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4a7720c1-751f-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 05:34:38 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 7687032009EF;
 Mon,  5 Dec 2022 23:34:36 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Mon, 05 Dec 2022 23:34:37 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 5 Dec 2022 23:34:35 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a7720c1-751f-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1670301276; x=1670387676; bh=eaRrvP4SZe
	AXAQhX3z3ddqTteySVMlc1fYZ86aRBSug=; b=n/JCDB2wJOvkbd7PJGVcRW8HTH
	P3W4jzApLDJdY0PCC6zeqMIsLr/V9FoSgyLaXdJIWwK0FtAjeLfl9leOFjm95Qbf
	WuNgMexdnAKM58ItXNWzqsEvPLycvHYMTCH9wJqsj8+4dFU5p6+Uj3UD0ZMXBXJp
	1bRnhv/tsythoP9cw6P5aWdJv+p9waA5z/036Gzj3BbK3YPS0jYiXwfzA7JQnmF2
	ErB2g1jXrhFb7G7Yj9E4fygFx1l2Ho/elKdCnCIXYiorXkSJLuXmnK0TbDZgfEQo
	qWffm+aSaPI4WuArlODzf1q10bn3MuyUhUYpkTX1tBzUIHRwLS4WJVVS0XkA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1670301276; x=
	1670387676; bh=eaRrvP4SZeAXAQhX3z3ddqTteySVMlc1fYZ86aRBSug=; b=w
	vv61OGSx32RYIPS9Sb3D/JZM+QsAFBdROhnlTxT8uRgn1idjAF8psZnCU8TrfPdJ
	quUU3NN/3KqYpJuKCRI1epSYEs4FYF/k+F/wU8jI3a8QaRtJs1SMJTqvwJGophWx
	eks14YpxAxNxTJHWnHOm4nrXpKB6/1HehVZJ8+lfAnX1jqefifo8Roq2PswO9vr1
	wXECQJZcH3lZA25rn+1vvmEEljkNTvopG10P8mZJHwdoQbjY8cf0XnrOngeqghyY
	VyuYDvOSdx2kIm059egNQgiDVV98pSQq+Pggk8oB586p+ijgZBcqZF20XP4MXgcy
	Qc/XoQyoKamPDd6ahtyjw==
X-ME-Sender: <xms:W8aOYyZZjbuHt69UppBOSMhREPkouFYA5vrq3DUurZaXKcNm2EOUJg>
    <xme:W8aOY1Y1RUR3pQjMdcRSY9WYl6zWWhxtCrfAIay96OOuQ_RnIriZFx_M9_IvkHSVp
    IIi61hCGYuSqgM>
X-ME-Received: <xmr:W8aOY89RC_aiP94p4Oh3wOz63Fg7qasL5wuKmN78jXGMGSSSgwmzM6RV8IlILTpdieVJPZZ5ihZ7>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudehgdejfecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepledukeelleejkeevkeefgefhffeg
    vdeigeelieegjefffeeiveeivdejgeevteeinecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:W8aOY0o7CSC83Nn9gxo6jIBRoZDqdFundwNT71ymilFf9RfAXYu_nw>
    <xmx:W8aOY9p-rv_Yj_lT8olyUKeD42IdM7bRhVpveFRgthaOf3H2tgmgJA>
    <xmx:W8aOYyR7IiFRFV2z-pKRRbfIAJ-5kZHa_AzF8SWro7WQCExvKoio5g>
    <xmx:XMaOY-dTOwoHlpC3LhUTjOp2zaea-2b_3vepeHIEOc7zXSJ-2qLkjQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [RFC PATCH 8/8] Use Linux's PAT
Date: Mon,  5 Dec 2022 23:33:37 -0500
Message-Id: <9f0bd911ba6c7fe1b7285f232154d42807145ced.1670300446.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1670300446.git.demi@invisiblethingslab.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is purely for testing, to see if it works around a bug in i915.  It
is not intended to be merged.

NOT-signed-off-by: DO NOT MERGE
---
 xen/arch/x86/include/asm/page.h      |  4 ++--
 xen/arch/x86/include/asm/processor.h | 12 ++++++------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/include/asm/page.h b/xen/arch/x86/include/asm/page.h
index b585235d064a567082582c8e92a4e8283fd949ca..ab9b46f1d0901e50a83fd035ff28d1bda0b781a2 100644
--- a/xen/arch/x86/include/asm/page.h
+++ b/xen/arch/x86/include/asm/page.h
@@ -333,11 +333,11 @@ void efi_update_l4_pgtable(unsigned int l4idx, l4_pgentry_t);
 
 /* Memory types, encoded under Xen's choice of MSR_PAT. */
 #define _PAGE_WB         (                                0)
-#define _PAGE_WT         (                        _PAGE_PWT)
+#define _PAGE_WC         (                        _PAGE_PWT)
 #define _PAGE_UCM        (            _PAGE_PCD            )
 #define _PAGE_UC         (            _PAGE_PCD | _PAGE_PWT)
-#define _PAGE_WC         (_PAGE_PAT                        )
 #define _PAGE_WP         (_PAGE_PAT |             _PAGE_PWT)
+#define _PAGE_WT         (_PAGE_PAT | _PAGE_PCD | _PAGE_PWT)
 
 /*
  * Debug option: Ensure that granted mappings are not implicitly unmapped.
diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 64b75e444947c64e2e5eba457deec92a873d7a63..7a27d19d1dc8aa9c102683985c30fb85864303fa 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -107,18 +107,18 @@
  * MSR_PAT value, and is an ABI with PV guests.
  */
 #define XEN_MSR_PAT (MSR_PAT_WB  << 0x00 | \
-                     MSR_PAT_WT  << 0x08 | \
+                     MSR_PAT_WC  << 0x08 | \
                      MSR_PAT_UCM << 0x10 | \
                      MSR_PAT_UC  << 0x18 | \
-                     MSR_PAT_WC  << 0x20 | \
+                     MSR_PAT_WB  << 0x20 | \
                      MSR_PAT_WP  << 0x28 | \
-                     MSR_PAT_UC  << 0x30 | \
-                     MSR_PAT_UC  << 0x38 | \
+                     MSR_PAT_UCM << 0x30 | \
+                     MSR_PAT_WT  << 0x38 | \
                      0)
 
 #ifndef __ASSEMBLY__
-_Static_assert(XEN_MSR_PAT == 0x050100070406ULL,
-               "wrong XEN_MSR_PAT breaks PV guests");
+_Static_assert(XEN_MSR_PAT == 0x0407050600070106ULL,
+               "wrong XEN_MSR_PAT breaks i915 driver on PV Linux");
 
 struct domain;
 struct vcpu;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 04:44:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 04:44:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454405.711943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2PoI-0003JL-Uq; Tue, 06 Dec 2022 04:44:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454405.711943; Tue, 06 Dec 2022 04:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2PoI-0003JE-RI; Tue, 06 Dec 2022 04:44:02 +0000
Received: by outflank-mailman (input) for mailman id 454405;
 Tue, 06 Dec 2022 04:44:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2PoH-0003J4-Hf; Tue, 06 Dec 2022 04:44:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2PoH-0003n1-EP; Tue, 06 Dec 2022 04:44:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2PoH-0005L0-00; Tue, 06 Dec 2022 04:44:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2PoG-0000eM-SD; Tue, 06 Dec 2022 04:44:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CcGNHxb5+0TWDbhtq5VOkOVdy55tocPleMc0oF/B53s=; b=LuLnqJKfHJ1zeJlghMMVjpz1DR
	952Zj+D1Oj7Rm7u5tbLceV+wyeu4Du1wQE9BldLdTrH8kOW1dxYS8unGzZXFN0WOJHp+hlVFC+cY2
	hld0u5d3Si0hVq5BeehoPgSOn/8lSxIb+baxR4SmnS6rIJWVs3ZiJxlpBIFYz8KUWBxY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175052-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175052: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=76dcd734eca23168cb008912c0f69ff408905235
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 06 Dec 2022 04:44:00 +0000

flight 175052 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175052/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-qcow2 19 guest-start/debian.repeat fail pass in 175046

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                76dcd734eca23168cb008912c0f69ff408905235
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   59 days
Failing since        173470  2022-10-08 06:21:34 Z   58 days  116 attempts
Testing same since   175046  2022-12-05 05:24:16 Z    0 days    2 attempts

------------------------------------------------------------
1951 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 187408 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 05:44:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 05:44:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454422.711954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2QkR-0004e7-Dk; Tue, 06 Dec 2022 05:44:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454422.711954; Tue, 06 Dec 2022 05:44:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2QkR-0004e0-An; Tue, 06 Dec 2022 05:44:07 +0000
Received: by outflank-mailman (input) for mailman id 454422;
 Tue, 06 Dec 2022 05:36:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RuqV=4E=ust.com=Sandeep.Gupta2@srs-se1.protection.inumbo.net>)
 id 1p2Qco-0003Cy-KG
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 05:36:15 +0000
Received: from esa1.hc251-67.ap.iphmx.com (esa1.hc251-67.ap.iphmx.com
 [139.138.42.201]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e1d065c5-7527-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 06:36:10 +0100 (CET)
Received: from mail-sgaapc01lp2109.outbound.protection.outlook.com (HELO
 APC01-SG2-obe.outbound.protection.outlook.com) ([104.47.26.109])
 by ob1.hc251-67.ap.iphmx.com with ESMTP; 06 Dec 2022 11:06:04 +0530
Received: from PU1PR03MB2715.apcprd03.prod.outlook.com (2603:1096:803:23::22)
 by TY0PR03MB6632.apcprd03.prod.outlook.com (2603:1096:400:211::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 05:36:02 +0000
Received: from PU1PR03MB2715.apcprd03.prod.outlook.com
 ([fe80::a5c9:8183:6812:9673]) by PU1PR03MB2715.apcprd03.prod.outlook.com
 ([fe80::a5c9:8183:6812:9673%3]) with mapi id 15.20.5880.013; Tue, 6 Dec 2022
 05:36:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1d065c5-7527-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=ust.com; i=@ust.com; q=dns/txt; s=ust.com;
  t=1670304969; x=1701840969;
  h=from:to:subject:date:message-id:references:in-reply-to:
   mime-version;
  bh=R8grWms+WPLtj8KDNch9Z0cFzMcJoxYTazox6rFntoU=;
  b=cMwN5u92mpfwhKGgSCvnyNL3+EWpJZZQdms+249M72yxVhpbE/FMwLuU
   g5i0exlkrSgMwD6TYaVCSiUa/SHPM7KiynJbmPJnpljss9dvM/8YF8wQ3
   gkNZbvgSVcRocX3dqw3MGj2fosNOxZaaRbxyngNfsR9PHGjfRCA9d+nVL
   MDDuUEqB2/4ariqrwi/iXX1F1xJVKB2Mfna18FRIiq7ML2J0f8aUMWTCk
   cgJwD8darm9moOnukFNPe8+iSeqIOyqgE1cyx4NhZStaVnR4jtJTv6uPm
   iYcNGnKYi8gZiieRkWrFEu5t6CII7mzwa6FVfsfg3DdfTr2LjOa0u5fbq
   g==;
X-IPAS-Result: =?us-ascii?q?A2H2AAD1045j/20aL2haHQEBAQEJARIBBQUBQIE+BQELA?=
 =?us-ascii?q?YEpgQOBAwK2eQ8BAQENAkQEAQGFBQKFECY3Bg4BAQEZAQEGAQIBAQEEBgEBA?=
 =?us-ascii?q?oEZhS9GgjUihAcCAQMtMgweAgEIBEIyJQEBBAEaFIJjghaBDKJfAYsYgTSBA?=
 =?us-ascii?q?YIUBJ8mgUABiQWIEoJQgViCZz6BBQGDFSuEDoIuBIxzii6BAQc2A0QdQAMLb?=
 =?us-ascii?q?QpFNQYFEUwiCRwbB4EMKgkfFQMEBAMCBhMDIAINKDEUBCkHDA0rJm0JAgMhY?=
 =?us-ascii?q?QUDAwQoLAMJIAQcBxURJjwHVg4EJQEEAwIPIDgGAwkDAh9UfiUmBQMLFSUIB?=
 =?us-ascii?q?UkECDcFBlMSAgoREg8GJkUOSD45FgYncg4OEwNdgWkEM0iBMwJbnRqBboEQA?=
 =?us-ascii?q?ZISjU2JCpkKBgEDg2mgdhaDeIxWmEyRSoV1IKcxAgQCBAUCDgiBPzmCAHCBb?=
 =?us-ascii?q?oFKURkPnDMBPIEwAgcLAQEDCYdGglkBAQ?=
IronPort-PHdr: A9a23:3jfg/BH1op5yxGzHjgqtUJ1Gf0lIhN3EVzX9CrIZgr5DOp6u447ld
 BSGo6k30RmQAM6LtroE07OQ7/q8HzRYoN6oizMrTt9lb1c9k8IYnggtUoauKHbQC7rUVRE8B
 9lIT1R//nu2YgB/Ecf6YEDO8DXptWZBUhrwOhBoKevrB4Xck9q41/yo+53Ufg5EmCexbal9I
 RmorQjdrNQajIttJqsyyhbCv39Ed/hLyW9yKl+fgRnx6t2s8JJ/9ihbpu4s+dNHXajmcKs0S
 qBVAi47OG4v/s3rshfDTQqL5nQCV2gdjwRFDQvY4hzkR5n9qiT1uPZz1ymcJs32UKs7WS++4
 KdxSR/nkzkIOjgk+2zKkMNwjaZboBW8pxxjxoPffY+YOOZicq7bYNgXQ3dKUMRMWCxbGo6yb
 5UBAfcdPehWrIf9qVkBogexCgS3Huzj1iNEi2Xq0aEmzegsFxzN0gw6H9IJtXTZtNv5OroIX
 uCz0abH0yvMb+tL0jn89YjIagwhruuIUb1+bMTf11EjGQDdgFmVp4DuIjSY2PkXvGid8uVvS
 /ygi3Y9pw9wvziv3tsshZPXio8O11DE7jl5zJwpKt2/TU52eNipG4ZfuC+GLYV5WN8iQ312t
 yYgzL0LoZq2cSsXxZkk2hLSafyKfoyG7B79VOucPzl2in15dLywiRu//lWsx+L9W8e7zFpEo
 SpLnNnQun0QyxDf9siJR/9780y82jiPzxje5vxYLU07j6bWJJwszqQumpcSq0jPAzP6lUHug
 KOId0go5ual5uH6brn6opKRNop5hwLiPqkgn8GzH+o1Pw0LUmSF5+ix0qDo81fjT7VQlPI2l
 7HUsJXdJcsGuKG0GxRV0oM/6xanCDemzcgYkWEHLF1bfBKHiJDkNk3ULv3mEfuznk2gnipqy
 fzYJ7HhBY7CIWbZnLfmYLZ991VTyA0uzdBZ+p1YEKkBIOj0Wk/tqtPXEgM5Mw2zw+bhEtl90
 Z4eWX6LAq+eN6PSskWE6f4oI+mJfIMVuTD9JOY55/P2kHM1hVAQcbOm0JYVcny0APVrL1+Eb
 XbwhtoNCWIKsRA/TOzuhl2CSzlTZ3OqUqwh/D47Dp+pApndSYC1mrCP3Tq7HoVKZm9cFFyBC
 mrod56YW/sWdC2SJcphniQCVbe6U4Ahzw2htBfmy7p7KerZ4iwVuYr51Ndp/+3TiQ0y9TtsA
 sWSzW6NSXh4kX4WSD8owq9/pVdwylOC0ahjn/xYDsZf5vxXXQc8LZ7c1et6C9LsVQ3dYteFU
 lGmQs+pAT0pVNI+38cOY1phG9Wllh3D2C6qDKEWl7yQHpM09L/T32LpKMlnzXbJybMhj0Q9Q
 stPKWKmhrBw9w7QB47OiEiWib6qer4Z3CLX6GiDym+OsFlCUAFsSaXFQWwfZkzOoNT+4kPNU
 byuCa89PQtH1MGCMLNFasHpjFVdRPfsJNTebHy3m2ezAhaF3a2DbJLwdGUYxinSFE8EkwUL8
 XacKQc+Hjuho37ZDDF2F1LvbFns8e5lqHOgVUI01ByKb1Z/2Lav5hEVgvmcR+sJ3r0YoCcht
 yl0HFGl0t3NDNqAvQthfL5GbdM6+1dHyXjZtwtjPpy7LKBjhkUTcwNtv0z0yxp3DptPndI2o
 3MtyQp+MbiY309ZdzOEwZDwPaXaJ3Ts8xC1d67WwEvR0NCL9asV7/o3sU/jvBi0Fkoj6HVqy
 MNa02GZ5pnQEAUSVpfxAQ4L8E0wt7zcJyUw+Y7Q/XltKrWv9C/P3cozA+kowQrmeM1QeuvQB
 AL0VsEXGcWqAOgrgESyKAIJOvhI86w5NN/gcOGJjurjduFkkTG9hGJL+rd01E6W6jF8Qe7F2
 ZUC6/yA1w7BXDD5xh/1tcT6mptNYz0IKWO5xTL5H45aZqB0foEjBH+nJou8wdAow9anXHpV9
 0WqAV8c79O4YhqZb1H73gp42FwepDqsni7yh2hzlzwqtaOZ0Db53/X5dBEHN2hIQ0FvlV7pZ
 4OzioZeFAKqYBIujwCN/lvhyu5Qo6E1Zz3RTl1PZDPeNHx5X+27sb/UJ4YF4pQysD4RV/+ge
 1eEUb3sixwA2ijnEi1VwzVxP2WgvY/4hFp9k36HK2hor2vxftt5zhPSotfbQKgVlnAsSTNkk
 zDRCh6ZNsOw4NSPv57Zt6a1UGfrHsl5fDP314qGuG2e7HdzHBykt/mpn5vsFg1sggHh0Nw/H
 x7Bqhrxb5Gj+LmiLesnQ3JUQH7aqoAyTrp3lIc9iYlW9mUCmpzP1WccjSH4NtANivG2V2YEW
 TNem42d2wPiwkA2dhphj6r1VXSYl81mYdTyImYbwTk04M0CDqCIpKdFki14rhvdz0rRbPFxk
 y1bxa4o73gX0O0MsRAmmyOaBL1aFEJEPCvqwhKP6d32rKheaGu1N7aq008rgMu9SrqFp1I0Z
 Q==
IronPort-Data: A9a23:OsBdRqpuWVVb2VdR9Xj0/+l7dMJeBmKcZBIvgKrLsJaIsI4StFCzt
 garIBmAO6uJZTb2Lt4gbNvn/RtXucTWm9M2SlQ+pXxhHn4TpOPIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZmO6gS1LPjvyB94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRuukoPD8fwXG8M49m/c3+d/
 /0W3XC4YV9B0qQhA43xWTEAe811FfUuFLMqvRFTGCFcpqHLWyKE/hlgMK05FbAXyMJXPXlsz
 N5bNxBWMQuJgbvq2ovuH4GAhux7RCXqFKonkSk5iAr2V7MhS52FRLjW79hF2jt2ntpJAfvVe
 8seb3xocQjEZBpMfFwQDfrSns/x3iW5L2Ie8gzT/PJmi4TQ5FUZPLzFC9PTdtGHXYN6g16Er
 zju4n/lRBodMbRzzBLZrCP82rSXxEsXXqoIKeGX3aVSjWHM4TcKUTI0VAOhnP+m3xvWt9V3b
 hZ8FjAVhbg/8gmnQ8fwWzW8oWWYpVgMVtxICeo45QqRjK3O7G6xAWwJTSVIbtA8g8YwSSY3z
 V+Cn97vBjtHvaWcTDSW8bL8hTS2NCsOJGkOfxgYXBAF6NnupoI0ph/XR9MlG6mw5vX3Fiv32
 CuitzUlivMYistj/6+851HcxTW3uoLOUBU29y3QRGuu6g4/b4mgD6SC5ELH9/9GIMC8R0OYo
 Xkfs8GE6aYFCpTlqcCWaOAEHbXs/PmMOSXX2QdrB8N4r2Xr/GO/d4dN5j04PF1uLssPZT7uZ
 gnUpB9V45hQenCtaMebfr6MNijj9oC4ffyNaxweRoMmjkRZHONfwBxTWA==
IronPort-HdrOrdr: A9a23:stJtwKPxp9L298BcT1z155DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE8Qr5K0tQ4exoWZPwN080mqQFhLX5UY3NYOCighrPEGgA1/qq/9SDIVybygc178
 4JH8dD4Z/LfD9HZK3BgDVQZuxQouVvh5rY5ts2oU0NcShaL4VbqytpAAeSFUN7ACNcA4AiKZ
 aa7s1b4xK9ZHU+dK2AdzI4dtmGg+eOuIPtYBYACRJiwhKJlymU5LnzFAXd9gsCUglI3awp/Q
 H+4kbED+SYwryGIy3npiDuBqdt6ZXcIxx4dY2xY/0uW3nRY8CTFcRcsvO5zXMISaqUmS0XeZ
 H30m0d1oJImjvslyiO0GbQ8hil3zA053D4z1iExXPlvMziXTo/T9FMnIRDb3Limj8dVfxHod
 F2NliixuhqJAKFmD6468nDVhlsmEbxqX0+kfQLh3gaVYcFcrdeoYEW4UsQSf47bVXHwZFiFP
 MrANDX5f5Qf1/fZ3fFvnN3yNjpWngoBB+JTkULp8TQ2TlLm3JyyVce2aUk7wM93YN4T4MB6/
 XPM6xumr0LRsgKbbhlDONEWsezAnyle2O9DItTGyWXKEgqAQOyl3es2sRI2AiDQu128KcP
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="5.96,220,1665426600"; 
   d="scan'208,217";a="46984301"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mt9e2Apnri92QXyFt7+Q92Z/cgrnrTqHQK8MYmIxb+lDj9GJMvyxKg1azH38Uii/Rzv9CyJr+yJNntWeP5kLM1bN9IOjJRg9HX1kvDQwesAfYobveGc9LU5wXbPaj3798ut1RtL/GzDc9AmINv2cKqmPro0L3GCic0EW6iqHqzZx6d0MQIih10Y69b3PfoKacMO05xEktrAawaYYi0ON8IefI82LUIvvtFSCPc/k9Z2XmEhlmzb1e9pqjl0cMJBM32QtBkCQPyOY1qUxRnNl/B5s5BlJVescgKb1jW5ToKd3/hnjbr0s6fQtlwrb5b4Duxbe1fWctABjmJvQST0/+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UO8wvGuMxuMAVcUZZi2vQLA5tcnTFh4PL8Bx164OGSk=;
 b=a/vD6x5Jpgw29YIxkcF/wb4ARtRb0165SsWHWftGxR98ELSe+CArRHQhaHxryeDthMxRVw907BdCullM5QQFxnBAxD/a/OgMraxaMOlV3BoRtGsANa5JoLKh/Sjit0yOxx15engdxIl123Xb880tcG5ecxDQGxfsYkfwNRxKMe7UCaGgMmrV5qo/ltkgHrovUkr6Hi6crbYmOxQT0wsb8F7JMbMjKsimnV5HEDUG24bMe2FYetVR+NYu+ZHRT6XTF6VV9NQyyHZBoSGtAKQ0M5KkCwQGCA/c21LuCZK3ShbQZLZh/px93HnOy4Ewd6VFkDiM5yXDCLfG9ZIQXqT0SA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=ust.com; dmarc=pass action=none header.from=ust.com; dkim=pass
 header.d=ust.com; arc=none
From: "Sandeep Gupta(UST,IN)" <Sandeep.Gupta2@ust.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"oleksandr_andrushchenko@epam.com" <oleksandr_andrushchenko@epam.com>,
	"oleksandr_tyshchenko@epam.com" <oleksandr_tyshchenko@epam.com>,
	"jgross@suse.com" <jgross@suse.com>, "boris.ostrovsky@oracle.com"
	<boris.ostrovsky@oracle.com>, "Bertrand.Marquis@arm.com"
	<Bertrand.Marquis@arm.com>
Subject: RE: information and training on Xen Hypervisor
Thread-Topic: information and training on Xen Hypervisor
Thread-Index: AdkIqgEPNUSf2mCOSkGfNmxCHFHtKQAijVEQ
Date: Tue, 6 Dec 2022 05:36:02 +0000
Message-ID:
 <PU1PR03MB2715C5D656A2FD6B543B98CCC41B9@PU1PR03MB2715.apcprd03.prod.outlook.com>
References:
 <PU1PR03MB2715442B1C64B30AD867A0EFC4189@PU1PR03MB2715.apcprd03.prod.outlook.com>
In-Reply-To:
 <PU1PR03MB2715442B1C64B30AD867A0EFC4189@PU1PR03MB2715.apcprd03.prod.outlook.com>
Accept-Language: en-IN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=ust.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PU1PR03MB2715:EE_|TY0PR03MB6632:EE_
x-ms-office365-filtering-correlation-id: 22ede7f1-b607-4e80-572f-08dad74bc381
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 c7fw/m+KKJfbA+fd7hhJ+2spuDe1Kg7lutPuDVGbZ2qKqye3NVQLl4bhgUKjC0xEapLGAY21dbPjSTqKBO7dvpbOyyimqlie67TqmbYc6HIFiWXbJAhIx1Bn40oekyrkbHb3E9cyzwrxlqgxM86pmrF8ZmHpiq6l4GGdvkKYHCG8klGz5f0zUjxqJyEBbfQ7VHLD0hMsoLNnlUlNG98ByoYBX6qK3uLjaJ0E4P0aCIGu8oXNlkQq70SmarWoMj55e0q6n5mjkySSnbZHy7wQMu2/OqwPzxT21S7yYnCSPxQEDbxsfyLtHNXuqi1Va5tdId4DtyAy+v32UyDbYfrYt/fMHF8M401tu6Z3C4kXtEkkk4QeiVEZEVD463W4Mrgcsv0e6l7v6fvOm45EfiVeTNMexVD4iZ1AfZ+H4FW24Wwgt20IZ0Dqv/xG1sA7I8mIr4a3pUuUpQXt/YcqHZzfTcf05iIRVfhOADoIB8P+SRh16WIPzZhEYzNPiIf75PKMzAzNCCZ97/MwSHIk/Dk7iTStYSAJlor1ZvMHyz3qoNIgM7iqcCEQU61kMPhVM8zPb4wDAsAIe5oQKEZ63TrYgagOwPZlkyGQnrjht8JHC/O388WNU+GUqR+l+7P+fcMapIucrTvV+w1gAICq2IeqElArZwG50a1A7e4a7JPUjZpWFDWuq1Pow8Js4Mrk2MGNz+xibccvvIdvNtvCrgl/VFmwg07cwS9K1+gSUDiJ2R7uL1RUI3hXng+wCYyXMrmw
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PU1PR03MB2715.apcprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(366004)(396003)(136003)(39860400002)(451199015)(2906002)(71200400001)(38100700002)(6506007)(110136005)(5660300002)(316002)(122000001)(86362001)(7696005)(55016003)(38070700005)(9686003)(41300700001)(26005)(83380400001)(186003)(52536014)(8936002)(4744005)(33656002)(76116006)(8676002)(66446008)(66556008)(478600001)(66476007)(66946007)(9326002)(64756008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?wHrefK+n/yxIrPL/gLK8G6zDw0wNDPgUkUdzPtYumD2rTccNuBs8Qefa429F?=
 =?us-ascii?Q?qi2RxMk7JvjPYzdgaQUR54MrA3s5PuhO5bzi4p3YuSGWppunwN9dYUX7KD1l?=
 =?us-ascii?Q?+xp9DymmEJ4XJTjaMoc4EYZ/7zCmCd4muzDTaP2SnHgHTofex++IxkUN9XLB?=
 =?us-ascii?Q?XewiTZawLM5LGIA2m95lo/PurnJ5Vxfx4OnTRLtf6EN8aHVQYN01oLP6wI4H?=
 =?us-ascii?Q?IJ5jfdntqcmD6B1N8iKRYvsOIemeOeTN04zzFw0Wh8WZA36bBteB9Qrk9f/+?=
 =?us-ascii?Q?StlzleiIpEBTE2JcFwN64FFln9fKcT2zCt1NCff21lMm7lAdTVAMGP0hVwoC?=
 =?us-ascii?Q?RaGf6Xrm2VXoPcc6dbPZ75sh0EoNTOSlPh528AGOI7ESRPMXsP4QT3qzUiaP?=
 =?us-ascii?Q?T7DjzDIHuHKDbJWqvXmqHul9WzWxewM+qn9A0yqzzAih//wpH8fgd+QkGWVE?=
 =?us-ascii?Q?gyJv7I45EP00B0J698lwI3caQvzPmBm08QmeAItoI0enU0znnbcTgs2je4sn?=
 =?us-ascii?Q?AA5kJtDLchLc1vB4V8KGpOxhZlOSHMKj1RpN7S75hP6PL5oV1b0wTwAWrCxa?=
 =?us-ascii?Q?l9qrQPPlqtaw3kY25fYBCEUjwS8uMKLW+Kqo3/3TGzhmxnGTPtyo3d+BSCzH?=
 =?us-ascii?Q?tPxMQ7sERYHJDSInUwc1HRbxghbWLOTPoshJBEzpBZyLUI1+Mcuj3FDhsx2n?=
 =?us-ascii?Q?HsfwpIR95lHTtkFFeF1IMD/4IWFvAuV7MJWAqSro24TFFOBMyjCKTP8+RvFp?=
 =?us-ascii?Q?iBW9TajFKPjGnmpnn9MlVM9QVg65iRtxP9Gh4+z3Q6Gshd2GKcq7oAJyrr8j?=
 =?us-ascii?Q?XS0mTF6Lo7Zw6df/FTrDM2pdu01aQ4AQ5OWRG8jcZohfNVZwGRauBbb2Qe0O?=
 =?us-ascii?Q?zNqXYI8OUI/OZtvmb+J6G+pof98h9AI1QYrAcEoxqN9ERjjOIsi6lKzMB3wX?=
 =?us-ascii?Q?gfMI7aks5D5bTLMu8QzRhRiUg9hB006/4J33CxduZ7s1f62i0KYq+UckOUDi?=
 =?us-ascii?Q?amvvbwenohloTbbLh6xGsXuWkW/Rdm6XA+tQRQCiFZlR343xPoJkqqqGch+d?=
 =?us-ascii?Q?mHP12xeq+sRR6Q2IWc4J8RNm0DBF/oVr6cTFLJ7LpZc21SJdfH/VPnGZ+1hA?=
 =?us-ascii?Q?7tpx+/euI+Ha9l5rPz2KOpdA0QbsEqI5w+r2Arfc1pTh5qdqJ2bxCI1jbZG9?=
 =?us-ascii?Q?gFTs1ABbDEP74Tv4mHv47iTWnS8f3ss47c9GWlOumGR92K+XHAxWs+uutLgZ?=
 =?us-ascii?Q?Kfe7r9JFg64rn9FGZ2Rg03qaa9SwKiZE/EI4kJn8CQC3Nt8BLac1T5TxjGjN?=
 =?us-ascii?Q?2JSW7OHyfBsf2fDCdkGx7QncP4mCwdUw4CJA9N6rR+fVeOaemqr/IDUeyLey?=
 =?us-ascii?Q?Lyp3SNdrVjEl0nGwdPJAUNRGtDWOEwWlFhK7Al/bPNyMgw2JuI3P4n2gLkXf?=
 =?us-ascii?Q?6ZOqr46qEceML+1dYTARzLiiSRp/gqtzu5AgDIG/RzKPMe6Q2b4E801b6eSg?=
 =?us-ascii?Q?8lolcoKQceGljg7f4zUuK3bDvGtUbXTZe3cEkJtS6IjMIXwFXcUcTKlKdiIE?=
 =?us-ascii?Q?9Tro4xDgH1C7F9XCcovD4oUG9ZH0RjIXrLvED0XB?=
Content-Type: multipart/alternative;
	boundary="_000_PU1PR03MB2715C5D656A2FD6B543B98CCC41B9PU1PR03MB2715apcp_"
MIME-Version: 1.0
X-OriginatorOrg: UST.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PU1PR03MB2715.apcprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 22ede7f1-b607-4e80-572f-08dad74bc381
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 05:36:02.8430
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a4431f4b-c207-4733-9530-34c08a9b2b8d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: HX3l6FACubryp4ykD+HnHm3wXYRyXzOkITNq7XdrJWFst0EjdBtdePDilO9yjehLBhM3HKUNRnu+b1Dn4cQZQw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TY0PR03MB6632

--_000_PU1PR03MB2715C5D656A2FD6B543B98CCC41B9PU1PR03MB2715apcp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hi All,

We are planning to use xen hypervisor for one of our in-house development o=
f project. Since this is in-house project we have limited budget. We are fa=
cing some difficulties to bring-up drivers since we are new to the hypervis=
or.

Can you please suggest me some sought of training or support from the exper=
t who can support us within our budget and who can train the team on Xen to=
 overcome some difficulties.

Thanks and Regards,
Sandeep


--_000_PU1PR03MB2715C5D656A2FD6B543B98CCC41B9PU1PR03MB2715apcp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:EN-US;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-IN" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:=
break-word">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Hi All,<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">We are planning to use xen hypervisor for one of our=
 in-house development of project. Since this is in-house project we have li=
mited budget. We are facing some difficulties to bring-up drivers since we =
are new to the hypervisor.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Can you please suggest me some sought of training or=
 support from the expert who can support us within our budget and who can t=
rain the team on Xen to overcome some difficulties.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Thanks and Regards,<o:p></o:p></p>
<p class=3D"MsoNormal">Sandeep<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;<o:p></o:p></p>
</div>
</body>
</html>

--_000_PU1PR03MB2715C5D656A2FD6B543B98CCC41B9PU1PR03MB2715apcp_--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 06:47:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 06:47:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454442.711997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2RjH-000656-2i; Tue, 06 Dec 2022 06:46:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454442.711997; Tue, 06 Dec 2022 06:46:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2RjG-00064z-V0; Tue, 06 Dec 2022 06:46:58 +0000
Received: by outflank-mailman (input) for mailman id 454442;
 Tue, 06 Dec 2022 06:46:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2RjF-00064p-UA; Tue, 06 Dec 2022 06:46:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2RjF-0006r8-RU; Tue, 06 Dec 2022 06:46:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2RjF-00042o-D8; Tue, 06 Dec 2022 06:46:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2RjF-0003gL-Ce; Tue, 06 Dec 2022 06:46:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9KlozLLOXmENf7kQN9pORdv5WILY4sGoESIUMmevxp8=; b=iRQTiboac+Amc7HuD0nZ/3fnyl
	XAd6WLe/BWC+ZrJt42tpHXXTPicqYimMfrtBgzg3EQC6V2hnWHIKQw3jm3YJ1vrLMrQWp+B9RHZjg
	IcX0UedQSfDXw5iD7mPOFVnxdBYzPlvDJGQSIyqhylzE19UAeGXOI4CPpOswYEqESkYY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175055-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175055: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9d67161388d8f611467660300bdf9715b7f110b0
X-Osstest-Versions-That:
    xen=15241c92677a027694e609b55a77ae5ba3616104
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 06 Dec 2022 06:46:57 +0000

flight 175055 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175055/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175050
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175050
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175050
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175050
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175050
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175050
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175050
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175050
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175050
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175050
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175050
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175050
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  9d67161388d8f611467660300bdf9715b7f110b0
baseline version:
 xen                  15241c92677a027694e609b55a77ae5ba3616104

Last test of basis   175050  2022-12-05 15:07:06 Z    0 days
Testing same since   175055  2022-12-06 00:38:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <julien@xen.org>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   15241c9267..9d67161388  9d67161388d8f611467660300bdf9715b7f110b0 -> master


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 07:25:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 07:25:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454459.712007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2SKh-0004DJ-3u; Tue, 06 Dec 2022 07:25:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454459.712007; Tue, 06 Dec 2022 07:25:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2SKh-0004DC-1C; Tue, 06 Dec 2022 07:25:39 +0000
Received: by outflank-mailman (input) for mailman id 454459;
 Tue, 06 Dec 2022 07:25:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ecPl=4E=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p2SKg-0004D3-3F
 for xen-devel@lists.xen.org; Tue, 06 Dec 2022 07:25:38 +0000
Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com
 [2607:f8b0:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c8148c0-7537-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 08:25:37 +0100 (CET)
Received: by mail-pl1-x62c.google.com with SMTP id m4so6181011pls.4
 for <xen-devel@lists.xen.org>; Mon, 05 Dec 2022 23:25:35 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 m17-20020a170902db1100b00172951ddb12sm4718350plx.42.2022.12.05.23.25.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 05 Dec 2022 23:25:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c8148c0-7537-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Za+dh89Sg6l7PfVqjmQ5knr2ZRecNLpXHCNPpgP8qvk=;
        b=iAkK/Cq4XJu+lIbsNflxy+DhSeDwb7YvE24aK7yVfcmOMgEFPELPJ5DlAGcymNyczY
         eHMxK7JAIeZzbbv+JpgszQbEjvulL/E2l4NNRSzTWEh2r0eZapyUg5M6Au66E8fGc/mw
         4TcQEq4pbovV1UYZU+h2cT7Qz4DFHQN2SbO8pNwfbvQEqRaEgaYLDo3DCqSkK2rzUbOK
         4sl441MyMmhmeFrel/cgbWgLE8DSMZAfj0hGamtutNkJOJAOJofVkAnX4py3vy/xEJ/a
         Y8C7GOGytTYq35B/FAJRUG9VVy1zXenvEyKNQPZi8me63+7Yealvb4BZzNLE4BOz3zWS
         RNZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Za+dh89Sg6l7PfVqjmQ5knr2ZRecNLpXHCNPpgP8qvk=;
        b=y5lISU75t4L/lR0emJzGDYa48W3lseg/Rh04zLEub0UK1DPlmK9X5PqDuHqR102ew7
         nb1pVjlz2noER2HChlcR1VlVqpCoSrFBq/BfGRSxblX3qPBem+dfKLSrw5OaALm3Xf5D
         mRC03LIn1FK5SE7/Elaj4hlcI4gfHXM46e8/o+ViSeygXDkku3jlngyRWZSx5yM8aclD
         xhHO/5anKMpdsZgf886U9XoIK2tC42EnT/TRgxnEBkqv8dUeXT2yZ4swH7CfQ2T8ely5
         fQQcNzD6TrCCyUu9M/Oy1N/t2D01LtF8q5MOHyHoIVBTUVYZaTl+Wn9DAy/NVcB/bHsD
         4wiw==
X-Gm-Message-State: ANoB5pnAm/2HMSzoiumMBIV0R+NJRYHp5b8yLGYTVgsbbHNAY3JRuQ4Z
	NqSSrY1pCcsqqB2r7sQu4p0XOaJhPlhenSQQ
X-Google-Smtp-Source: AA0mqf5RUt+OnA9SE4wbv1QUX7bSAk5vjHUGxgrgtSWjt1C263C6EBHsEHIflwvk2pTX55hD5+SVZw==
X-Received: by 2002:a17:902:bd81:b0:189:d342:c421 with SMTP id q1-20020a170902bd8100b00189d342c421mr9688443pls.174.1670311534236;
        Mon, 05 Dec 2022 23:25:34 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [PATCH] tools: Fix removal of COPYING and .gitignore
Date: Tue,  6 Dec 2022 12:55:24 +0530
Message-Id: <9f8818c9fe3f3ed43aa42bd0a06645af69c46034.1670311329.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The Makefile continues to remove the entire tools/include/xen/ directory
on "make clean", which isn't the right thing to do anymore since this
file contains files like COPYING and .gitignore now.

Since there are only two files at the moment, use "xen/[a-z]*" regex to
remove everything else.

Fixes: 4ea75e9a9058 ("Rework COPYING installed in /usr/include/xen/, due to several licences")
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
I got into trouble as my build script does a "make clean" before building
everything again and so build fails without the COPYING file.

Based of:

https://xenbits.xen.org/gitweb/?p=people/julieng/xen-unstable.git;a=shortlog;h=refs/heads/for-next/4.18

 tools/include/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/include/Makefile b/tools/include/Makefile
index f838171e8cd5..2ca344cba521 100644
--- a/tools/include/Makefile
+++ b/tools/include/Makefile
@@ -84,7 +84,7 @@ install: all
 
 .PHONY: clean
 clean:
-	rm -rf xen xen-xsm acpi
+	rm -rf xen/[a-z]* xen-xsm acpi
 	$(MAKE) -C xen-foreign clean
 	rm -f _*.h
 
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 07:45:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 07:45:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454470.712019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Se0-0007me-OR; Tue, 06 Dec 2022 07:45:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454470.712019; Tue, 06 Dec 2022 07:45:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Se0-0007mX-Lf; Tue, 06 Dec 2022 07:45:36 +0000
Received: by outflank-mailman (input) for mailman id 454470;
 Tue, 06 Dec 2022 07:45:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=A06j=4E=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p2Sdz-0007mR-67
 for xen-devel@lists.xen.org; Tue, 06 Dec 2022 07:45:35 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7213083-7539-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 08:45:34 +0100 (CET)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 917961F8D4;
 Tue,  6 Dec 2022 07:45:33 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 5F99813326;
 Tue,  6 Dec 2022 07:45:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id uuAVFh3zjmOeWQAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 06 Dec 2022 07:45:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7213083-7539-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670312733; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=GZWkAmfEbYJbEsWTwv/nxqbNMUj3Lt5eEGinR1/P7AM=;
	b=ncVjf85O67C/qzDrYi4HPy6xgAZDKNMDC6PoRtVUpWPZ2EqbOc4tO3uHUEa9+rUJiR5Eag
	soECWmj6pNq9Fe7taXkxuMc2QXlHJnj6UEDWl/Mu3QbSwTPtd4uhSMfYz9mk7pK7R4x9J1
	v9PmhAbkMM5jiaJq1IdDz5x6/h7ZG2s=
Message-ID: <664444f9-2e82-8b15-2613-4bc29bfb4e86@suse.com>
Date: Tue, 6 Dec 2022 08:45:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>, xen-devel@lists.xen.org,
 Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
References: <9f8818c9fe3f3ed43aa42bd0a06645af69c46034.1670311329.git.viresh.kumar@linaro.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] tools: Fix removal of COPYING and .gitignore
In-Reply-To: <9f8818c9fe3f3ed43aa42bd0a06645af69c46034.1670311329.git.viresh.kumar@linaro.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------htBj77fTTPP63yyddnOPAp0M"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------htBj77fTTPP63yyddnOPAp0M
Content-Type: multipart/mixed; boundary="------------a02f6cs0Px8gbmaY1gLCc3Ma";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Viresh Kumar <viresh.kumar@linaro.org>, xen-devel@lists.xen.org,
 Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>
Message-ID: <664444f9-2e82-8b15-2613-4bc29bfb4e86@suse.com>
Subject: Re: [PATCH] tools: Fix removal of COPYING and .gitignore
References: <9f8818c9fe3f3ed43aa42bd0a06645af69c46034.1670311329.git.viresh.kumar@linaro.org>
In-Reply-To: <9f8818c9fe3f3ed43aa42bd0a06645af69c46034.1670311329.git.viresh.kumar@linaro.org>

--------------a02f6cs0Px8gbmaY1gLCc3Ma
Content-Type: multipart/mixed; boundary="------------Rb010cWYl0k0y0RrFn54JP0T"

--------------Rb010cWYl0k0y0RrFn54JP0T
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDYuMTIuMjIgMDg6MjUsIFZpcmVzaCBLdW1hciB3cm90ZToNCj4gVGhlIE1ha2VmaWxl
IGNvbnRpbnVlcyB0byByZW1vdmUgdGhlIGVudGlyZSB0b29scy9pbmNsdWRlL3hlbi8gZGly
ZWN0b3J5DQo+IG9uICJtYWtlIGNsZWFuIiwgd2hpY2ggaXNuJ3QgdGhlIHJpZ2h0IHRoaW5n
IHRvIGRvIGFueW1vcmUgc2luY2UgdGhpcw0KPiBmaWxlIGNvbnRhaW5zIGZpbGVzIGxpa2Ug
Q09QWUlORyBhbmQgLmdpdGlnbm9yZSBub3cuDQoNCkkgZG9uJ3Qgc2VlIGEgLmdpdGlnbm9y
ZSBmaWxlIGluIHRvb2xzL2luY2x1ZGUveGVuLCBhbmQgdGhlIENPWVBJTkcgZmlsZQ0KaXMg
Y3JlYXRlZCBieSB0b29scy9pbmNsdWRlL01ha2VmaWxlIHdoZW4gY3JlYXRpbmcgdG9vbHMv
aW5jbHVkZS94ZW4uDQoNCj4gU2luY2UgdGhlcmUgYXJlIG9ubHkgdHdvIGZpbGVzIGF0IHRo
ZSBtb21lbnQsIHVzZSAieGVuL1thLXpdKiIgcmVnZXggdG8NCj4gcmVtb3ZlIGV2ZXJ5dGhp
bmcgZWxzZS4NCj4gDQo+IEZpeGVzOiA0ZWE3NWU5YTkwNTggKCJSZXdvcmsgQ09QWUlORyBp
bnN0YWxsZWQgaW4gL3Vzci9pbmNsdWRlL3hlbi8sIGR1ZSB0byBzZXZlcmFsIGxpY2VuY2Vz
IikNCj4gU2lnbmVkLW9mZi1ieTogVmlyZXNoIEt1bWFyIDx2aXJlc2gua3VtYXJAbGluYXJv
Lm9yZz4NCg0KTkFLLg0KDQo+IC0tLQ0KPiBJIGdvdCBpbnRvIHRyb3VibGUgYXMgbXkgYnVp
bGQgc2NyaXB0IGRvZXMgYSAibWFrZSBjbGVhbiIgYmVmb3JlIGJ1aWxkaW5nDQo+IGV2ZXJ5
dGhpbmcgYWdhaW4gYW5kIHNvIGJ1aWxkIGZhaWxzIHdpdGhvdXQgdGhlIENPUFlJTkcgZmls
ZS4NCg0KVGhpcyBpcyB3b3JraW5nIGp1c3QgZmluZSBmb3IgbWUuDQoNCj4gQmFzZWQgb2Y6
DQo+IA0KPiBodHRwczovL3hlbmJpdHMueGVuLm9yZy9naXR3ZWIvP3A9cGVvcGxlL2p1bGll
bmcveGVuLXVuc3RhYmxlLmdpdDthPXNob3J0bG9nO2g9cmVmcy9oZWFkcy9mb3ItbmV4dC80
LjE4DQoNCk1heWJlIGluIHRoZSB0cmVlIHlvdSBhcmUgdXNpbmcgY29tbWl0IDI1YjU1Njg4
ZTFmMjBlYmIgaXMgbWlzc2luZz8NCg0KDQpKdWVyZ2VuDQo=
--------------Rb010cWYl0k0y0RrFn54JP0T
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------Rb010cWYl0k0y0RrFn54JP0T--

--------------a02f6cs0Px8gbmaY1gLCc3Ma--

--------------htBj77fTTPP63yyddnOPAp0M
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOO8xwFAwAAAAAACgkQsN6d1ii/Ey9q
1gf/f98oGmjbkYlSK9E4KwM2RVR6zDZ7iB+wosgkp0TQNsSaaFXf32/bWjdLBu7plBIyh2+3rBWn
iwFL0F9j01bcsvZkPTn+D2sxyUGVNcH1g0zeyrWPDfEF4FCuB5HTuUVSeA9KisJdMvkJ+1BqRCON
7y9Pm8wAZl0vgrOiuKnU64ddd34NiZ2id8V4jwIaXF7yGkcTI5mI1kr6S4wHAuiMaYJyl+Jn8DEa
lQ52gro9yUzi5+CSqtJQI21XymJKyKiJ8KORuGZQsAhRW85FjrWNhbmpWZmWT61Es/buuhrBfk4w
d/zXNgn8HMqq6mZ4GLrY34UmWB77SDgBRN45up7vhg==
=tTGx
-----END PGP SIGNATURE-----

--------------htBj77fTTPP63yyddnOPAp0M--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 08:44:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 08:44:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454486.712029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2TYc-0000mn-Bx; Tue, 06 Dec 2022 08:44:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454486.712029; Tue, 06 Dec 2022 08:44:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2TYc-0000mg-9D; Tue, 06 Dec 2022 08:44:06 +0000
Received: by outflank-mailman (input) for mailman id 454486;
 Tue, 06 Dec 2022 08:44:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ecPl=4E=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p2TYa-0000ma-Hk
 for xen-devel@lists.xen.org; Tue, 06 Dec 2022 08:44:04 +0000
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com
 [2607:f8b0:4864:20::1034])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20f1f0e1-7542-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 09:44:03 +0100 (CET)
Received: by mail-pj1-x1034.google.com with SMTP id o12so13759457pjo.4
 for <xen-devel@lists.xen.org>; Tue, 06 Dec 2022 00:44:01 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 i16-20020a17090332d000b00182d25a1e4bsm11982247plr.259.2022.12.06.00.43.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 06 Dec 2022 00:43:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20f1f0e1-7542-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=pEQf2u41sCivTRb7oOIHwvK+IurBtEE64RyFm4GQ9Do=;
        b=rvHy2VSOBqLia/A09Bp/LjhFBTUBLiZk+hw7OvnAOwqDNQVONZ4XQYvUT/oBaQo3YL
         Fd73B8BAYSEdKaBBUAgeSPMr7fjn30dXJS9o9AhY8MkB1XtBtP1vrdBTIq66DUQnwHnV
         fD3CDuOqW1ZYQSJavtVnq1kqrSnzirk+CaZ1utfBiZY3p1NC79wfMbTEv6E/0FT581w1
         b2w668aIQrEqhR//YbEm11ENsUUSiIUsLiq/r6ZrHVrjjG75YqUBaxqSAJ8wnKF/Athv
         xHaqABRjMdbxwyqLEWM67keNOnB6GWVuD2B6PJBp1rcylnUhslxxHcazAjXy0aQDciJr
         2cAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pEQf2u41sCivTRb7oOIHwvK+IurBtEE64RyFm4GQ9Do=;
        b=iaJae7SNPyMwD/f1m0Di4R3EzTQ1VEvPIeLpRrJL+mtqWkasWvAEHyFKtV8D0NHbmq
         Ll/0Rnz9TBKsBCVsvxbZljVYOPwoGnkbsZ9XyLbTtsCHe5Td4o4P48mGTBBFyPFwv+W8
         ZLlCtt+E0swymsguT4LRJf0YHt+yWYvIoriUZ6X3/ij+lJGKm7tIImn1+8pBQshh1JRn
         +kDawgSFXeVMk/vLsHEq+sPLNWtnSa/525UJh3wiiHheCTEzihZYUcRoz++hDc6jSill
         QnLSewkaxBkJIbGIGhpgF+w/phi/KmBlYfboQOFHzwZsJLkB9LGguGGu6f+5TYZZRCi3
         7xKw==
X-Gm-Message-State: ANoB5pnd0V3mapvp7MIRGFw777Ptxm303SlE1Zo+2z+FV37OhOnOf54/
	lb984+2iB1HV9fmKjSNYUu7GnQ==
X-Google-Smtp-Source: AA0mqf41Hyh/6Mqa4LHMKbxQGBcxJQ/gQopEfmf4NwV0/lDFgsVmbR2+ItNwlbuN1G9moPWVDvG2sg==
X-Received: by 2002:a17:90a:bd01:b0:21a:557:bb72 with SMTP id y1-20020a17090abd0100b0021a0557bb72mr567168pjr.46.1670316239370;
        Tue, 06 Dec 2022 00:43:59 -0800 (PST)
Date: Tue, 6 Dec 2022 14:13:55 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xen.org, Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: Re: [PATCH] tools: Fix removal of COPYING and .gitignore
Message-ID: <20221206084355.jtmq4fejshobkie6@vireshk-i7>
References: <9f8818c9fe3f3ed43aa42bd0a06645af69c46034.1670311329.git.viresh.kumar@linaro.org>
 <664444f9-2e82-8b15-2613-4bc29bfb4e86@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <664444f9-2e82-8b15-2613-4bc29bfb4e86@suse.com>

On 06-12-22, 08:45, Juergen Gross wrote:
> Maybe in the tree you are using commit 25b55688e1f20ebb is missing?

Yes, that's the missing part I think.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 09:15:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 09:15:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454517.712040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2U2N-0005qT-Aa; Tue, 06 Dec 2022 09:14:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454517.712040; Tue, 06 Dec 2022 09:14:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2U2N-0005qM-7u; Tue, 06 Dec 2022 09:14:51 +0000
Received: by outflank-mailman (input) for mailman id 454517;
 Tue, 06 Dec 2022 09:14:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2U2L-0005qC-Fo; Tue, 06 Dec 2022 09:14:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2U2L-0002Fp-Ce; Tue, 06 Dec 2022 09:14:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2U2K-0002mi-SV; Tue, 06 Dec 2022 09:14:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2U2K-00079t-PT; Tue, 06 Dec 2022 09:14:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OH3+OB3qB4HmqMiq2Nzl/OKamId+am1EvxFNELFmBOc=; b=6pvfGZVrpuuLI7VDG6lKvFAI+n
	7lByPSxO/8uPFQfnciMUgihdMPBWqEcnbiSwHPsocY08FB49yY2Ev6nJ8z0FhMAJCQ+FDJVlwoETv
	BlwiU0o0ns4lxoG7h42IYMSni1RZV5ZAXKZGKlq83Fi8GIXWuz10MZsW+CZ5Dn3R8BWY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175056-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175056: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=7a2034127010598b91fa576f72f330baf50c1085
X-Osstest-Versions-That:
    libvirt=22766a1a5371ce20579c503363e0d9b27091e393
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 06 Dec 2022 09:14:48 +0000

flight 175056 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175056/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175032
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175032
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175032
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              7a2034127010598b91fa576f72f330baf50c1085
baseline version:
 libvirt              22766a1a5371ce20579c503363e0d9b27091e393

Last test of basis   175032  2022-12-03 04:20:15 Z    3 days
Testing same since   175056  2022-12-06 04:21:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@redhat.com>
  Peter Krempa <pkrempa@redhat.com>
  Shaleen Bathla <shaleen.bathla@oracle.com>
  Yang Yulin <yylteam@icloud.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   22766a1a53..7a20341270  7a2034127010598b91fa576f72f330baf50c1085 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 09:26:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 09:26:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454534.712051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2UDA-0007v5-CB; Tue, 06 Dec 2022 09:26:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454534.712051; Tue, 06 Dec 2022 09:26:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2UDA-0007uy-9F; Tue, 06 Dec 2022 09:26:00 +0000
Received: by outflank-mailman (input) for mailman id 454534;
 Tue, 06 Dec 2022 09:25:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WiLW=4E=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p2UD8-0007us-Em
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 09:25:58 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20602.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fc783140-7547-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 10:25:56 +0100 (CET)
Received: from BN0PR02CA0045.namprd02.prod.outlook.com (2603:10b6:408:e5::20)
 by SN7PR12MB8148.namprd12.prod.outlook.com (2603:10b6:806:351::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 09:25:52 +0000
Received: from BN8NAM11FT079.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:e5:cafe::f4) by BN0PR02CA0045.outlook.office365.com
 (2603:10b6:408:e5::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Tue, 6 Dec 2022 09:25:52 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT079.mail.protection.outlook.com (10.13.177.61) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.14 via Frontend Transport; Tue, 6 Dec 2022 09:25:52 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 03:25:51 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 03:25:51 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 6 Dec 2022 03:25:50 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc783140-7547-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NmMHWnAU5ulN32EflgjcDCvA99B7G17GUtRwMrVgsrh/nbCc4a/5anzHKIOAsZayHC05ssMModfF6GHJCrePyR2b9i79GT9n5zgug74qtf5aoW0vvAqIExppokKMia8x25OSXXEsgQKv8JmVxM6FSmXgdV5fvvxlm8DmcLjLKNeQmCTmoFGrjgrnbovrBO7luJ3sWzNlcibmVmRj0kpaqY8qxq2pIRkeTqgedk90eampD0H2qdWFNHuU8Li6KtSzfRyxZyDJgGzY3T7Lpx8yoaBc27BMcXuzCW/3hZTaGc+zDkQSXvzz4BGDeFCrdLIjrYUjvH144YGRUHXeLADXTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=buATqeLXomRaHJbmFn68VCG6QjCL30fcfI0q/aUJGak=;
 b=Ub2LNwfYc6RQhMa6FCTic1FLPDr259pjPWLj+VzjZasM+xyKpwwRGoJ0v62H8z9nBvhUDXKXbb69igtWSN/5td6AG3v2j4CvXnVNKDFtNWKVpbfwLnKeySLu8NeBi7+21/VDEV6dApwzmJDYoLpnCxkK1DuXdwxvTGsRF5Xgh3yVEYBq4peTNDBB9jLHCQtm/tXk+tAv6zfQqPwAZ0a4RG59GAh+q4XTAXbpAyEiCKIgxPmALrEcZCmOTRf3kTHcRnA9TjzZgqSItAa8+ClCP+SfPjdPMZv7ekjdiz1Y4aMXaYve5rl7kuquIr4HEpElv3p/FuoMe/DrMSUlZ9veNg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=buATqeLXomRaHJbmFn68VCG6QjCL30fcfI0q/aUJGak=;
 b=bOUmlnlPxDcD6mOWD69Vj0nkEudANP1yuuSK8Ov6h70TmZAFFeAyvvNyCfsNdV74nE82yi1pa9HySJp1a7FfzMSGIhBooB5RrzDJqDP0VaTxOyP1HENUWGww+UHEwfnQSacJLxQDObw4iq16ORfdzUAKfgabmrQ05w5s/PHtjK0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <806fb37c-37fe-d27a-4b44-f97c0f80b8da@amd.com>
Date: Tue, 6 Dec 2022 10:25:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 10/21] xen/arm: vsmmuv3: Add support for command
 CMD_CFGI_STE
To: Rahul Singh <rahul.singh@arm.com>, <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <d08de970e285221cb9a2e4dd0dfd4bf07bfdbba2.1669888522.git.rahul.singh@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <d08de970e285221cb9a2e4dd0dfd4bf07bfdbba2.1669888522.git.rahul.singh@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT079:EE_|SN7PR12MB8148:EE_
X-MS-Office365-Filtering-Correlation-Id: 597a56d2-9649-4d56-6544-08dad76bdea5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RjT5MwPV29L/VRQwGM5Czn1b7EPy5DJ/QgwPVPXfJfAgjIbr/VDV2bpY7upPVOOeVoC+YtI40rjJy3c9WHg4NDkHlfUGpXuj0Rk80VEi1B9MeTv2qiCWsqOOBcqhw+wFRSfwi01oy13SFOZWSfb5HhUlw3r0p/rTztgncbSy3gtZ/9kpBHZ2RHV7SsjYPiQuPJ4VbCo6YFlodNM0vTWL9/woWzAWCp9p2jpW9VbIkuQVVB0p2Oq50aFRiRTb0ehpiEsRqQhgx53swRea6yjbzw6gc3d4KvRI1XJdv3GUMSjXNdoIsFMfYlFleFtQ4ijmMatiAtYD1jEgbTRBM70PqaTaqWVTHyPrWlIsIQ+cVJSJO/KXVPbFipUjccbuMeKSB0i75trcJvZsNeYKYmtmMg5Zuf0bj5jyyk92zk58WpGDZpDk6lvILoO4pPOZjTh602UY+hyjVRIEFFtdMaIAdL6EPnPnx2kMoEtKCCfs+3V6wfQ5kpB7Dq6CBf80NXTVzeQbyQcaExZSkaFr95ICVaRaMCi6vDzXXmWTAd0R2N+ba2xVYj58hhSKl521GPAVjFHhfii3PMkEjDKv8Cd3sR4M4b+bHQxfaufOmZcBuXZLrONCoKCkeDVrd76OwSMCnWWyjT7wQ8AKiddHn2DFVWOpK3VjDjHKDLenMsvc0so1s7liMSAw0DrnlLJ3r7lWkfEJp1E8KXTQE1ag8O8bIUqBndBaRFvmNJC1cI2A+O67PTGLV7qI5py4IS9k+99g74OHGerlELBMbaa0EC8KFluvrjrEbmXbyN0nCTH4YEgoyH3PWuiyW+HE1LAye7nz
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(136003)(39860400002)(396003)(451199015)(46966006)(36840700001)(40470700004)(54906003)(110136005)(44832011)(316002)(16576012)(8676002)(70206006)(4326008)(70586007)(41300700001)(426003)(8936002)(36756003)(5660300002)(83380400001)(47076005)(2616005)(82740400003)(336012)(356005)(81166007)(186003)(36860700001)(40460700003)(31696002)(82310400005)(53546011)(86362001)(40480700001)(478600001)(26005)(2906002)(31686004)(36900700001)(43740500002)(414714003)(473944003);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 09:25:52.2731
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 597a56d2-9649-4d56-6544-08dad76bdea5
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT079.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8148

Hi Rahul,

On 01/12/2022 17:02, Rahul Singh wrote:
> 
> 
> CMD_CFGI_STE is used to invalidate/validate the STE. Emulated vSMMUv3
> driver in XEN will read the STE from the guest memory space and capture
> the Stage-1 configuration required to support nested translation.
> 
> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> ---
>  xen/drivers/passthrough/arm/vsmmu-v3.c | 148 +++++++++++++++++++++++++
>  1 file changed, 148 insertions(+)
> 
> diff --git a/xen/drivers/passthrough/arm/vsmmu-v3.c b/xen/drivers/passthrough/arm/vsmmu-v3.c
> index cc651a2dc8..916b97b8a2 100644
> --- a/xen/drivers/passthrough/arm/vsmmu-v3.c
> +++ b/xen/drivers/passthrough/arm/vsmmu-v3.c
> @@ -44,6 +44,21 @@ extern const struct viommu_desc __read_mostly *cur_viommu;
>  /* Helper Macros */
>  #define smmu_get_cmdq_enabled(x)    FIELD_GET(CR0_CMDQEN, x)
>  #define smmu_cmd_get_command(x)     FIELD_GET(CMDQ_0_OP, x)
> +#define smmu_cmd_get_sid(x)         FIELD_GET(CMDQ_PREFETCH_0_SID, x)
> +#define smmu_get_ste_s1cdmax(x)     FIELD_GET(STRTAB_STE_0_S1CDMAX, x)
> +#define smmu_get_ste_s1fmt(x)       FIELD_GET(STRTAB_STE_0_S1FMT, x)
> +#define smmu_get_ste_s1stalld(x)    FIELD_GET(STRTAB_STE_1_S1STALLD, x)
> +#define smmu_get_ste_s1ctxptr(x)    FIELD_PREP(STRTAB_STE_0_S1CTXPTR_MASK, \
> +                                    FIELD_GET(STRTAB_STE_0_S1CTXPTR_MASK, x))
> +
> +/* stage-1 translation configuration */
> +struct arm_vsmmu_s1_trans_cfg {
> +    paddr_t s1ctxptr;
> +    uint8_t s1fmt;
> +    uint8_t s1cdmax;
> +    bool    bypassed;             /* translation is bypassed */
> +    bool    aborted;              /* translation is aborted */
> +};
> 
>  /* virtual smmu queue */
>  struct arm_vsmmu_queue {
> @@ -90,6 +105,138 @@ static void dump_smmu_command(uint64_t *command)
>      gdprintk(XENLOG_ERR, "cmd 0x%02llx: %016lx %016lx\n",
>               smmu_cmd_get_command(command[0]), command[0], command[1]);
>  }
> +static int arm_vsmmu_find_ste(struct virt_smmu *smmu, uint32_t sid,
> +                              uint64_t *ste)
> +{
> +    paddr_t addr, strtab_base;
> +    struct domain *d = smmu->d;
> +    uint32_t log2size;
> +    int strtab_size_shift;
> +    int ret;
> +
> +    log2size = FIELD_GET(STRTAB_BASE_CFG_LOG2SIZE, smmu->strtab_base_cfg);
> +
> +    if ( sid >= (1 << MIN(log2size, SMMU_IDR1_SIDSIZE)) )
> +        return -EINVAL;
> +
> +    if ( smmu->features & STRTAB_BASE_CFG_FMT_2LVL )
> +    {
> +        int idx, max_l2_ste, span;
> +        paddr_t l1ptr, l2ptr;
> +        uint64_t l1std;
> +
> +        strtab_size_shift = MAX(5, (int)log2size - smmu->sid_split - 1 + 3);
> +        strtab_base = smmu->strtab_base & STRTAB_BASE_ADDR_MASK &
> +                        ~GENMASK_ULL(strtab_size_shift, 0);
> +        idx = (sid >> STRTAB_SPLIT) * STRTAB_L1_DESC_DWORDS;
> +        l1ptr = (paddr_t)(strtab_base + idx * sizeof(l1std));
> +
> +        ret = access_guest_memory_by_ipa(d, l1ptr, &l1std,
> +                                         sizeof(l1std), false);
> +        if ( ret )
> +        {
> +            gdprintk(XENLOG_ERR,
> +                     "Could not read L1PTR at 0X%"PRIx64"\n", l1ptr);
> +            return ret;
> +        }
> +
> +        span = FIELD_GET(STRTAB_L1_DESC_SPAN, l1std);
> +        if ( !span )
> +        {
> +            gdprintk(XENLOG_ERR, "Bad StreamID span\n");
> +            return -EINVAL;
> +        }
> +
> +        max_l2_ste = (1 << span) - 1;
> +        l2ptr = FIELD_PREP(STRTAB_L1_DESC_L2PTR_MASK,
> +                    FIELD_GET(STRTAB_L1_DESC_L2PTR_MASK, l1std));
> +        idx = sid & ((1 << smmu->sid_split) - 1);
> +        if ( idx > max_l2_ste )
> +        {
> +            gdprintk(XENLOG_ERR, "idx=%d > max_l2_ste=%d\n",
> +                     idx, max_l2_ste);
> +            return -EINVAL;
> +        }
> +        addr = l2ptr + idx * sizeof(*ste) * STRTAB_STE_DWORDS;
> +    }
> +    else
> +    {
> +        strtab_size_shift = log2size + 5;
> +        strtab_base = smmu->strtab_base & STRTAB_BASE_ADDR_MASK &
> +                      ~GENMASK_ULL(strtab_size_shift, 0);
> +        addr = strtab_base + sid * sizeof(*ste) * STRTAB_STE_DWORDS;
> +    }
> +    ret = access_guest_memory_by_ipa(d, addr, ste, sizeof(*ste), false);
> +    if ( ret )
> +    {
> +        gdprintk(XENLOG_ERR,
> +                "Cannot fetch pte at address=0x%"PRIx64"\n", addr);
> +        return -EINVAL;
> +    }
> +
> +    return 0;
> +}
> +
> +static int arm_vsmmu_decode_ste(struct virt_smmu *smmu, uint32_t sid,
> +                                struct arm_vsmmu_s1_trans_cfg *cfg,
> +                                uint64_t *ste)
> +{
> +    uint64_t val = ste[0];
> +
> +    if ( !(val & STRTAB_STE_0_V) )
> +        return -EAGAIN;
> +
> +    switch ( FIELD_GET(STRTAB_STE_0_CFG, val) )
> +    {
> +    case STRTAB_STE_0_CFG_BYPASS:
> +        cfg->bypassed = true;
> +        return 0;
> +    case STRTAB_STE_0_CFG_ABORT:
> +        cfg->aborted = true;
> +        return 0;
> +    case STRTAB_STE_0_CFG_S1_TRANS:
> +        break;
> +    case STRTAB_STE_0_CFG_S2_TRANS:
> +        gdprintk(XENLOG_ERR, "vSMMUv3 does not support stage 2 yet\n");
> +        goto bad_ste;
> +    default:
> +        BUG(); /* STE corruption */
> +    }
> +
> +    cfg->s1ctxptr = smmu_get_ste_s1ctxptr(val);
> +    cfg->s1fmt = smmu_get_ste_s1fmt(val);
> +    cfg->s1cdmax = smmu_get_ste_s1cdmax(val);
> +    if ( cfg->s1cdmax != 0 )
> +    {
> +        gdprintk(XENLOG_ERR,
> +                 "vSMMUv3 does not support multiple context descriptors\n");
> +        goto bad_ste;
> +    }
> +
> +    return 0;
> +
> +bad_ste:
> +    return -EINVAL;
> +}
> +
> +static int arm_vsmmu_handle_cfgi_ste(struct virt_smmu *smmu, uint64_t *cmdptr)
> +{
> +    int ret;
> +    uint64_t ste[STRTAB_STE_DWORDS];
Do we really need to have an array here to represent the complete STE, even though we are only interested in
the first DWORD containing S1ContextPtr? We do not care about other DWORDS and also in arm_vsmmu_find_ste,
you access a single DWORD by doing:
ret = access_guest_memory_by_ipa(d, addr, ste, sizeof(*ste), false);
instead of:
ret = access_guest_memory_by_ipa(d, addr, ste, sizeof(*ste) * STRTAB_STE_DWORDS, false);

So to me, we could just do:
uint64_t ste;
and we would be covered.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 09:33:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 09:33:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454543.712063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2UKH-0001WL-8m; Tue, 06 Dec 2022 09:33:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454543.712063; Tue, 06 Dec 2022 09:33:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2UKH-0001WE-4J; Tue, 06 Dec 2022 09:33:21 +0000
Received: by outflank-mailman (input) for mailman id 454543;
 Tue, 06 Dec 2022 09:33:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WiLW=4E=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p2UKF-0001W8-VT
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 09:33:19 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 03e4b011-7549-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 10:33:18 +0100 (CET)
Received: from MW4P222CA0014.NAMP222.PROD.OUTLOOK.COM (2603:10b6:303:114::19)
 by CY8PR12MB8316.namprd12.prod.outlook.com (2603:10b6:930:7a::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 09:33:15 +0000
Received: from CO1NAM11FT052.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:114:cafe::59) by MW4P222CA0014.outlook.office365.com
 (2603:10b6:303:114::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Tue, 6 Dec 2022 09:33:15 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT052.mail.protection.outlook.com (10.13.174.225) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.14 via Frontend Transport; Tue, 6 Dec 2022 09:33:15 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 03:33:14 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 6 Dec 2022 03:33:12 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03e4b011-7549-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ETg39m5ZD+nmSV/qE7R98P/kPurBtCwMWBqJ1jbNhXQZjJZtdfLCr/JM/YPtafwRcUVfcjDYzv2CDB9FiFxZJU6pCuZX0FPkaA6ecxxhgzBVSWS4/8J3w9hrWe138K9lM99YdSX9TopgiDW283FT6gEpAJNAmTinxw46Phey3yMAOhzJ91rYszwap76rausTWqYKv3PtvnZ3+0Q4wvVR80Dmobs6fXaTrR0WAGhxNP2kRtz24Fbzlu8aKpD9MIVPuMpImWVLF1cTJAlvNngwN23QVY2RoVM6sfVgebHsRGCBCKbeWJanlicJAQ21ik1pjHFs1OvMj0m/HcIoTyRmpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bf+Sq0FPc1ixEn1ZuUtMi3LDydTHtRj/LMTJTc8RBG8=;
 b=NwTaGjVzmCjVO93WcsJYbUD5Vf9FZjDJn60TnPLUZg2zJo7AMh8OKOmd5puIdnHLCDLl9TW6rkFZLcAYSkMTmn9KTD5RQcRtkvrb4dhhh06hsKTiA0+D3OqC+QejA+bhFqZzMlWvkJgfq6vb+rG4gHXLY89hS7EpuuAYM5SNcu9WW5Vd7W3ggx8YifrpYc+FswtYAv/RquZDA3ukhefEa2g2hM6J2bsa4sITjJ1C5kgrIAynN6Iu4jHSH9JPTVo1RrNCvqILNANmRaqfJWJNeng/EsJx0q2Q10C59XhFayegM2SG/CIVpCV3HRNDVCVOYq0rsPa6VBk8C+z1UdFUPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Bf+Sq0FPc1ixEn1ZuUtMi3LDydTHtRj/LMTJTc8RBG8=;
 b=NTp284cy/+qzz9WNjHbrxp2ltpVrf4/AkExZrxlfj0nIENz44RkS9EQhe7+1gOJFgxC95BgMAm7MGXGoHt9pFzjQ7zJZ2phf+Oqzp/Z99q3ktUVggv88kWfZzY16qAUeVwqFhNqyz9g51sIr33avnQtqVtsrOXWqbOfRhc3lI3g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <2ea634df-bb2a-6921-a8e0-7ab73fbd3276@amd.com>
Date: Tue, 6 Dec 2022 10:33:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 00/21] Add SMMUv3 Stage 1 Support for XEN guests
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
To: Rahul Singh <rahul.singh@arm.com>, <xen-devel@lists.xenproject.org>
CC: Bertrand Marquis <bertrand.marquis@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, Paul Durrant
	<paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei
 Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, Juergen
 Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <ede99a96-cbf8-f388-0484-7b176d07742e@amd.com>
In-Reply-To: <ede99a96-cbf8-f388-0484-7b176d07742e@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT052:EE_|CY8PR12MB8316:EE_
X-MS-Office365-Filtering-Correlation-Id: 88fd66d0-5a56-4798-8880-08dad76ce6f7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5LZIAO1ftKKCSjIw1secsEp0a3OGagNIyIzY6qRBSpHbDJCDkzZQMbw9S32O9SohNCB1cuhQ4Qi2NsC7OTgd1yR0X3ioGv0y6i5NKABbJ8/J551hhvqcPJRF8f0gQDAI+3Va6dL4Hlh6YpAdvtK+JlfSejHk0Db8bEgWcT6xKHWKDVzXhfUpIRECAUdMi4PfewK1WTKiEqO8ZGW/mc9e7pUGAV6FoUbVWpqffJMi/NxyywEC1ZjSBiaDH2b9x4HLsSo4sVmtlvR3xZUAe8ub4pqoPF8GBKJfoPgthHs77TTIBJM1WcIF5+mffm3SF+RMEpblW34sXbOyZPRR5+PNfWxcx9P+z625wuAJRBZo/NaSU0v11ElshzD/0c6XNVZABiwgFW2XrpAPgVjtTVO5D/vbaBYGNG50AXAJbiheXOQ6mnvEQ9Zop49H58rmXq+rLsTTft69afNk2rTXB1F+4V8IivId/dDnGxya6+EiYtj557pPlU9HlIncfiIdihduSFYX+9joAhyKun7EkHaUqoxyrjIuUmP4zvnhrswYYXJYJ5HNG+jiAYIlOkL/Qsx/VkLkeLQHCICCHb8WhdFWl7anO8gsWNqEECcnatg7c791lrUKAkUKGxHHafk2doQN0zl7ikIjUv8UPLMUDc+1oyonilNd3V1Y3Eqp32f8aaXniThdaGYX41Nyy8BvNYls95id8iRa4ZMszcMb4jvffJnsvgx6sxIlGhl4nAaaQzGotHjLuWATnUOcHGuAzlV2XaJJjIJKnsVMwmxCEuCuGGssVyK31RgNt6V2dBr9leueVMjwWutv5AKoHJREA2sSOUeDdXpElfVlDtFxph5KDA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(376002)(39860400002)(396003)(451199015)(36840700001)(46966006)(40470700004)(36756003)(31686004)(82740400003)(31696002)(356005)(86362001)(81166007)(8936002)(41300700001)(44832011)(2906002)(40460700003)(4326008)(7416002)(5660300002)(36860700001)(83380400001)(70586007)(478600001)(316002)(70206006)(110136005)(2616005)(16576012)(45080400002)(54906003)(40480700001)(82310400005)(8676002)(966005)(336012)(47076005)(426003)(186003)(26005)(53546011)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 09:33:15.6362
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 88fd66d0-5a56-4798-8880-08dad76ce6f7
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT052.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8316

Hi Rahul,

On 02/12/2022 11:59, Michal Orzel wrote:
> Hi Rahul,
> 
> On 01/12/2022 17:02, Rahul Singh wrote:
>>
>>
>> The SMMUv3 supports two stages of translation. Each stage of translation can be
>> independently enabled. An incoming address is logically translated from VA to
>> IPA in stage 1, then the IPA is input to stage 2 which translates the IPA to
>> the output PA.
>>
>> Stage 1 is intended to be used by a software entity to provide isolation or
>> translation to buffers within the entity, for example DMA isolation within an
>> OS. Stage 2 is intended to be available in systems supporting the
>> Virtualization Extensions and is intended to virtualize device DMA to guest VM
>> address spaces. When both stage 1 and stage 2 are enabled, the translation
>> configuration is called nested.
>>
>> Stage 1 translation support is required to provide isolation between different
>> devices within OS. XEN already supports Stage 2 translation but there is no
>> support for Stage 1 translation. The goal of this work is to support Stage 1
>> translation for XEN guests. Stage 1 has to be configured within the guest to
>> provide isolation.
>>
>> We cannot trust the guest OS to control the SMMUv3 hardware directly as
>> compromised guest OS can corrupt the SMMUv3 configuration and make the system
>> vulnerable. The guest gets the ownership of the stage 1 page tables and also
>> owns stage 1 configuration structures. The XEN handles the root configuration
>> structure (for security reasons), including the stage 2 configuration.
>>
>> XEN will emulate the SMMUv3 hardware and exposes the virtual SMMUv3 to the
>> guest. Guest can use the native SMMUv3 driver to configure the stage 1
>> translation. When the guest configures the SMMUv3 for Stage 1, XEN will trap
>> the access and configure hardware.
>>
>> SMMUv3 Driver(Guest OS) -> Configure the Stage-1 translation ->
>> XEN trap access -> XEN SMMUv3 driver configure the HW.
>>
>> SMMUv3 driver has to be updated to support the Stage-1 translation support
>> based on work done by the KVM team to support Nested Stage translation:
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Feauger%2Flinux%2Fcommits%2Fv5.11-stallv12-2stage-v14&amp;data=05%7C01%7Cmichal.orzel%40amd.com%7Cecb9075a29974c8f5ad608dad3b5916f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638055074068482160%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=PdK4%2Bsps3%2FdXYJUDv3iCy%2Byaqbh1bOVb1AFzTtx1nts%3D&amp;reserved=0
>> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flwn.net%2FArticles%2F852299%2F&amp;data=05%7C01%7Cmichal.orzel%40amd.com%7Cecb9075a29974c8f5ad608dad3b5916f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638055074068482160%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=5Kp7023HiA4Qbfi28wcPL20JyC2xLwwiyEUZcxTSCOA%3D&amp;reserved=0
>>
>> As the stage 1 translation is configured by XEN on behalf of the guest,
>> translation faults encountered during the translation process need to be
>> propagated up to the guest and re-injected into the guest. When the guest
>> invalidates stage 1 related caches, invalidations must be forwarded to the
>> SMMUv3 hardware.
>>
>> This patch series is sent as RFC to get the initial feedback from the
>> community. This patch series consists of 21 patches which is a big number for
>> the reviewer to review the patches but to understand the feature end-to-end we
>> thought of sending this as a big series. Once we will get initial feedback, we
>> will divide the series into a small number of patches for review.
> 
> Due to the very limited availability of the board we have, that is equipped with
> DMA platform devices and SMMUv3 (I know that you tested PCI use case thoroughly),
> I managed for now to do the testing on dom0 only.
> 
> By commenting out the code in Linux responsible for setting up Xen SWIOTLB DMA ops, I was able
> to successfully verify the nested SMMU working properly for DMA platform devices on the
> example of using ZDMA. Both the upstream dmatest client app as well as the VFIO user space driver
> that I wrote for ZDMA passed the test!
> 
> I added some logs to verify the sync up between Linux and Xen during a VFIO test:
> 
> LINUX: SMMUv3: Setting the STE S1 Config 0x1405c000 for SID=0x210
> XEN: vSMMUv3: guest config=ARM_SMMU_DOMAIN_NESTED
> XEN: SMMUv3: Setting the STE S1 Config 0x1405c000 for SID=0x210
> 
> Before transfer example:
>  src value: 0xdb71faf
>  dst value: 0
> Waiting for transfer completion...
> After transfer example:
>  src value: 0xdb71faf
>  dst value: 0xdb71faf
> TEST RESULT: PASS
> 
> LINUX: SMMUv3: Setting the STE S1 Config 0x12502000 for SID=0x210
> XEN: vSMMUv3: guest config=ARM_SMMU_DOMAIN_NESTED
> XEN: SMMUv3: Setting the STE S1 Config 0x12502000 for SID=0x210

I finished testing this series by also covering dom0less and xl domUs.
Tests passed so good job!
I do not have access to any board with more than one IOMMU so I could not validate
this behavior.

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 09:55:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 09:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454567.712074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Uf2-0004zr-V2; Tue, 06 Dec 2022 09:54:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454567.712074; Tue, 06 Dec 2022 09:54:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Uf2-0004zk-SM; Tue, 06 Dec 2022 09:54:48 +0000
Received: by outflank-mailman (input) for mailman id 454567;
 Tue, 06 Dec 2022 09:54:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZfYr=4E=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p2Uf0-0004w5-Ru
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 09:54:47 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20631.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0062be2c-754c-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 10:54:43 +0100 (CET)
Received: from FR0P281CA0141.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:96::12)
 by PR3PR08MB5593.eurprd08.prod.outlook.com (2603:10a6:102:84::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Tue, 6 Dec
 2022 09:54:38 +0000
Received: from VI1EUR03FT048.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:96:cafe::2b) by FR0P281CA0141.outlook.office365.com
 (2603:10a6:d10:96::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5901.8 via Frontend
 Transport; Tue, 6 Dec 2022 09:54:38 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT048.mail.protection.outlook.com (100.127.144.182) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.14 via Frontend Transport; Tue, 6 Dec 2022 09:54:37 +0000
Received: ("Tessian outbound 73ab5f36653e:v130");
 Tue, 06 Dec 2022 09:54:37 +0000
Received: from 3eb40ba41ca2.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4A12B028-4EBF-44EE-8BF3-FB32EE15FD5E.1; 
 Tue, 06 Dec 2022 09:54:26 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3eb40ba41ca2.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 06 Dec 2022 09:54:26 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DB9PR08MB9612.eurprd08.prod.outlook.com (2603:10a6:10:45e::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 09:54:14 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 09:54:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0062be2c-754c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Dl0xvX1OoPPektWZwP94wkxOWre4IosRu6T9p/pBDIU=;
 b=SDjsR8WGfd3vMA7PzVrP/yaLyBesyH1HBehjSmN81fh46Edkb2T6kUa2CxqIumDRYoyraWF0IRSexhFyHJIJWny/DS17k6JFsfB3XrU2/VC4/zpEDocr/M3ruau2xz6VKOHy46mriO4W7ywAWvUT1TGdFFB8U6oYb0PNf1Q7j14=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 2ba2ffa26b9dd997
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F8bHqTSYh2H8YlRq4kluDH8URvQkewDpZ7Zm8RGzCyYICXzGRqP06+Qv6B7hje5zSbF9/Os+V7pGu+0K61TbrWIsPmPet9ZbOIQh338Pvkl+WNlSCsZwdfBvymWPXgj+XimejPdbCpYW/mjEyB9WwEOhmPzY0V3pQ5ElvldP9DmW+av6t8saJuT0kG8PJVNYAHqv8ZwZI0oA8LwCG0CBhULP9FLuw7U2LPjhoqpusWpowqGT883nr5qeIe+MZIm/4u4F0/I7m2mdeB8bV1wjUQW3DLpXQCItRLaMy0boSZvnVoa9FwQFD/SS40G7wxsMJpwd2/ACZQksDaaw9DzRoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Dl0xvX1OoPPektWZwP94wkxOWre4IosRu6T9p/pBDIU=;
 b=XlbzyfaUARTcSY3bwP5FoNYfPgTJagYCfkv19srrw2E2D/uE0IAIZEZV1r9Au8zwUmoLgtgjiIWoROoukDA3/a6mE67nebpct5lRRkFEFWGNrdr0EXMjRLYZvBChSHb4Fikm9ZkCK+ZDvuWhltZ+y7d+iEdV6Kskk5+Sg9VRDRCbt5lUT3NmZOKLrNsrqyRRviaPqWZxfRjX2dO4XyUa69NyhD2TnhcTazJ/tQRE3plE4eUZw6G2Oxx/wsVg3xUt9hskoxBPU35hFeqIIePX1+XI6TRnuqLIv+nIzmzx7YxZ/j8Xz0w3CSOMdCNGSwQBK2eBFh0h/haX3s7zjlWCWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Dl0xvX1OoPPektWZwP94wkxOWre4IosRu6T9p/pBDIU=;
 b=SDjsR8WGfd3vMA7PzVrP/yaLyBesyH1HBehjSmN81fh46Edkb2T6kUa2CxqIumDRYoyraWF0IRSexhFyHJIJWny/DS17k6JFsfB3XrU2/VC4/zpEDocr/M3ruau2xz6VKOHy46mriO4W7ywAWvUT1TGdFFB8U6oYb0PNf1Q7j14=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen developer discussion <xen-devel@lists.xenproject.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, Paul Durrant
	<paul@xen.org>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, George
 Dunlap <george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>,
	Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [RFC PATCH 00/21] Add SMMUv3 Stage 1 Support for XEN guests
Thread-Topic: [RFC PATCH 00/21] Add SMMUv3 Stage 1 Support for XEN guests
Thread-Index: AQHZBZ5+Ng+vzjZ4EEiQHhlU/SEGMa5abvCAgAYxVoCAAAXUgA==
Date: Tue, 6 Dec 2022 09:54:13 +0000
Message-ID: <02001AD0-351A-4F2B-86D9-4C1912AB66FE@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <ede99a96-cbf8-f388-0484-7b176d07742e@amd.com>
 <2ea634df-bb2a-6921-a8e0-7ab73fbd3276@amd.com>
In-Reply-To: <2ea634df-bb2a-6921-a8e0-7ab73fbd3276@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7158:EE_|DB9PR08MB9612:EE_|VI1EUR03FT048:EE_|PR3PR08MB5593:EE_
X-MS-Office365-Filtering-Correlation-Id: fdffc0d6-141e-44eb-657d-08dad76fe335
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 nOIZlIrwmlQMpYs+5Ze69/s92KE5KsTXk3VVqmnQsNiV1nqsQkaxDEaSiYR+doLxMfk6YiwSqhQtLs4v/4t3o+VdlqcUaTQBQhyPO+FutfF7XUPZ+VuIZ2dSbJykIM2sKPJV8g/5DoKH4E3umdsHdNuiiIIE37dz5G23b2E1+9zJBA/UITyqqatWHImWvwR37tLvlO8m/UY927gK1WKUvdnWTmwEqsxTolt99SOPzWB8bJnQtwYJbHT+01P1A87RStTPpIGUln6vWCMNvisjOu99IBFcUmczg0we+4qTpKrCzrD3TCeX9dkJM5Lui96svPAtm/vwK7t1FDM/aPg9T6Jhq2a8t/VwxPF+FgNV8Y+1fYpuaaNBeXxevEGfpWvIEuk0KCTmGjKe/369nBUjQVdkvzxmaugdy4uKEDwNHkj7l1w7O8YMdaXeCQ9MpSSx2zIFFQQW3h295zrjwG6ziynhsIj9AqDVUVhcJLP2nxacpPCw2uz5QUUNAPxGrQpeXWHnkUiGOpo1eyAMWVhkuRLB8t7h2g+DjtkwZvOMoTsSutyIRi/2Dhx0JI/Xv78ZWHFRf/CPFjCYdVDZNpQ3Dj31ZZDsU/QyPrC4Yuld+OS1G0MPwwq2HLUwBpfQS2aMEQDzJgOGIIfR7+VWDAJthSE7IBIH+EKyJIPdea0wET3a7Z4/R0RV9Wh7IswheCZISEKXmNyTm5r74XmcEICW54nZOy0EnjObdElK+0ZqbtiREzn1Ub4QsTO82Z3k0sXB+qKN3THH7isJwHd0tCvhLj0VFGM9rG0HZi5ruqnT+IU=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(136003)(39860400002)(366004)(396003)(451199015)(478600001)(38070700005)(316002)(966005)(6486002)(5660300002)(2616005)(7416002)(45080400002)(6506007)(53546011)(2906002)(186003)(33656002)(26005)(6512007)(6916009)(36756003)(54906003)(71200400001)(86362001)(41300700001)(83380400001)(38100700002)(91956017)(8676002)(4326008)(8936002)(66946007)(66556008)(76116006)(122000001)(66446008)(64756008)(66476007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <7225EDEE6CEF8948A329A82D060BCD70@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9612
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VI1EUR03FT048.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e0d14116-3d0c-46e2-ac0c-08dad76fd4f0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	50VXtfTGIqkS6gIaawKlzZAKRIFF89Kkicyy6QleRcUQ40bGcOzBJJaTvntANc1GljmuMxAzmjsc83NYGKgB97XqBvAeFnoG4ZgNXwGdExie+NfIeKclPfrSYP1E9YXUTxgDiqDyPIbS11iNPhsrxEXGanLltSdFZwthPyAZqo0PODU0RBQM+jjFfMDrkKE7mQJR9rR8ZNeMQetlO9MZ6jAPtA+dL+naZVu8BPg6ONO8SnfWRNtPu1+PnIKynbZwgEyV0De3odQ95xX+UkO48s/srlq+9kGTanVFrvnO+ToSt6e+mrxxg7WWgBxP1KXWZ4tVY/7+NqT9Xr+lysbx03yv/G273zlxTtrtcGc7ppBkffKz6lbbMdGT14+lL0El+iLAAmcDVohE889dB3mCPJ/+4+G02dvTK4r2CaQWZAYD6iR6G0XDsXmTVqydrN9pLpLZrjHxl/n0PHJTRunml0SZrQBIyHt99xkDDsvgvra5HLASODvUCIdvICJYCvK7H8wClJmA+T77Cwhpln/QX2yvSrrmB1mYQTgrZP67sG7A1XysBnX8BRpHto1j+QiGlwqIgnOc6qxpYtwvxqCikDXp2HuE8Q2i2/JgvduxNO6OEchTHdSAN6kPt0cxXOpinbRzwP9VWLLrH2Lou5BxoEwQBKqCXEib9lEw0ACkh6r10KcQUCQQl18vz/dtxIOIJDWtwnx8lT7JlPbu+0nHXXXP5PuAycZVZBsGBu5e+vurNqk0Fi7C7mtRHKmD3+dJ2GUNuxH5MTRQ3Plii0bdSw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(346002)(376002)(136003)(451199015)(36840700001)(46966006)(40470700004)(82310400005)(36860700001)(33656002)(54906003)(53546011)(4326008)(82740400003)(81166007)(356005)(86362001)(70206006)(8676002)(70586007)(40460700003)(41300700001)(316002)(8936002)(5660300002)(83380400001)(47076005)(336012)(186003)(2906002)(2616005)(6506007)(107886003)(40480700001)(478600001)(966005)(6486002)(45080400002)(6512007)(6862004)(26005)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 09:54:37.8053
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fdffc0d6-141e-44eb-657d-08dad76fe335
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VI1EUR03FT048.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5593

Hi Michal,

> On 6 Dec 2022, at 9:33 am, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Hi Rahul,
>=20
> On 02/12/2022 11:59, Michal Orzel wrote:
>> Hi Rahul,
>>=20
>> On 01/12/2022 17:02, Rahul Singh wrote:
>>>=20
>>>=20
>>> The SMMUv3 supports two stages of translation. Each stage of translatio=
n can be
>>> independently enabled. An incoming address is logically translated from=
 VA to
>>> IPA in stage 1, then the IPA is input to stage 2 which translates the I=
PA to
>>> the output PA.
>>>=20
>>> Stage 1 is intended to be used by a software entity to provide isolatio=
n or
>>> translation to buffers within the entity, for example DMA isolation wit=
hin an
>>> OS. Stage 2 is intended to be available in systems supporting the
>>> Virtualization Extensions and is intended to virtualize device DMA to g=
uest VM
>>> address spaces. When both stage 1 and stage 2 are enabled, the translat=
ion
>>> configuration is called nested.
>>>=20
>>> Stage 1 translation support is required to provide isolation between di=
fferent
>>> devices within OS. XEN already supports Stage 2 translation but there i=
s no
>>> support for Stage 1 translation. The goal of this work is to support St=
age 1
>>> translation for XEN guests. Stage 1 has to be configured within the gue=
st to
>>> provide isolation.
>>>=20
>>> We cannot trust the guest OS to control the SMMUv3 hardware directly as
>>> compromised guest OS can corrupt the SMMUv3 configuration and make the =
system
>>> vulnerable. The guest gets the ownership of the stage 1 page tables and=
 also
>>> owns stage 1 configuration structures. The XEN handles the root configu=
ration
>>> structure (for security reasons), including the stage 2 configuration.
>>>=20
>>> XEN will emulate the SMMUv3 hardware and exposes the virtual SMMUv3 to =
the
>>> guest. Guest can use the native SMMUv3 driver to configure the stage 1
>>> translation. When the guest configures the SMMUv3 for Stage 1, XEN will=
 trap
>>> the access and configure hardware.
>>>=20
>>> SMMUv3 Driver(Guest OS) -> Configure the Stage-1 translation ->
>>> XEN trap access -> XEN SMMUv3 driver configure the HW.
>>>=20
>>> SMMUv3 driver has to be updated to support the Stage-1 translation supp=
ort
>>> based on work done by the KVM team to support Nested Stage translation:
>>> https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fgit=
hub.com%2Feauger%2Flinux%2Fcommits%2Fv5.11-stallv12-2stage-v14&amp;data=3D0=
5%7C01%7Cmichal.orzel%40amd.com%7Cecb9075a29974c8f5ad608dad3b5916f%7C3dd896=
1fe4884e608e11a82d994e183d%7C0%7C0%7C638055074068482160%7CUnknown%7CTWFpbGZ=
sb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3=
000%7C%7C%7C&amp;sdata=3DPdK4%2Bsps3%2FdXYJUDv3iCy%2Byaqbh1bOVb1AFzTtx1nts%=
3D&amp;reserved=3D0
>>> https://nam11.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Flwn=
.net%2FArticles%2F852299%2F&amp;data=3D05%7C01%7Cmichal.orzel%40amd.com%7Ce=
cb9075a29974c8f5ad608dad3b5916f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%=
7C638055074068482160%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2=
luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=3D5Kp7023HiA=
4Qbfi28wcPL20JyC2xLwwiyEUZcxTSCOA%3D&amp;reserved=3D0
>>>=20
>>> As the stage 1 translation is configured by XEN on behalf of the guest,
>>> translation faults encountered during the translation process need to b=
e
>>> propagated up to the guest and re-injected into the guest. When the gue=
st
>>> invalidates stage 1 related caches, invalidations must be forwarded to =
the
>>> SMMUv3 hardware.
>>>=20
>>> This patch series is sent as RFC to get the initial feedback from the
>>> community. This patch series consists of 21 patches which is a big numb=
er for
>>> the reviewer to review the patches but to understand the feature end-to=
-end we
>>> thought of sending this as a big series. Once we will get initial feedb=
ack, we
>>> will divide the series into a small number of patches for review.
>>=20
>> Due to the very limited availability of the board we have, that is equip=
ped with
>> DMA platform devices and SMMUv3 (I know that you tested PCI use case tho=
roughly),
>> I managed for now to do the testing on dom0 only.
>>=20
>> By commenting out the code in Linux responsible for setting up Xen SWIOT=
LB DMA ops, I was able
>> to successfully verify the nested SMMU working properly for DMA platform=
 devices on the
>> example of using ZDMA. Both the upstream dmatest client app as well as t=
he VFIO user space driver
>> that I wrote for ZDMA passed the test!
>>=20
>> I added some logs to verify the sync up between Linux and Xen during a V=
FIO test:
>>=20
>> LINUX: SMMUv3: Setting the STE S1 Config 0x1405c000 for SID=3D0x210
>> XEN: vSMMUv3: guest config=3DARM_SMMU_DOMAIN_NESTED
>> XEN: SMMUv3: Setting the STE S1 Config 0x1405c000 for SID=3D0x210
>>=20
>> Before transfer example:
>> src value: 0xdb71faf
>> dst value: 0
>> Waiting for transfer completion...
>> After transfer example:
>> src value: 0xdb71faf
>> dst value: 0xdb71faf
>> TEST RESULT: PASS
>>=20
>> LINUX: SMMUv3: Setting the STE S1 Config 0x12502000 for SID=3D0x210
>> XEN: vSMMUv3: guest config=3DARM_SMMU_DOMAIN_NESTED
>> XEN: SMMUv3: Setting the STE S1 Config 0x12502000 for SID=3D0x210
>=20
> I finished testing this series by also covering dom0less and xl domUs.
> Tests passed so good job!
> I do not have access to any board with more than one IOMMU so I could not=
 validate
> this behavior.
>=20

Thank you much appreciated for testing the series as it helps a lot to conf=
irm that this feature is
working as expected.

Regards,
Rahul



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 09:56:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 09:56:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454575.712085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Uh7-0005g8-FJ; Tue, 06 Dec 2022 09:56:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454575.712085; Tue, 06 Dec 2022 09:56:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Uh7-0005g1-BX; Tue, 06 Dec 2022 09:56:57 +0000
Received: by outflank-mailman (input) for mailman id 454575;
 Tue, 06 Dec 2022 09:56:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZfYr=4E=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p2Uh6-0005eR-2U
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 09:56:56 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20624.outbound.protection.outlook.com
 [2a01:111:f400:7d00::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 069b7cf4-754c-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 10:54:51 +0100 (CET)
Received: from FR0P281CA0087.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::12)
 by GV1PR08MB8744.eurprd08.prod.outlook.com (2603:10a6:150:3d::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 6 Dec
 2022 09:56:47 +0000
Received: from VI1EUR03FT017.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:1e:cafe::6a) by FR0P281CA0087.outlook.office365.com
 (2603:10a6:d10:1e::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5901.10 via Frontend
 Transport; Tue, 6 Dec 2022 09:56:46 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT017.mail.protection.outlook.com (100.127.145.12) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.14 via Frontend Transport; Tue, 6 Dec 2022 09:56:46 +0000
Received: ("Tessian outbound f394866f3f2b:v130");
 Tue, 06 Dec 2022 09:56:45 +0000
Received: from d5b75a4754e6.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1C8B7797-BFD3-4166-819D-B83D2AB0F1E4.1; 
 Tue, 06 Dec 2022 09:56:39 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d5b75a4754e6.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 06 Dec 2022 09:56:39 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AM7PR08MB5462.eurprd08.prod.outlook.com (2603:10a6:20b:10b::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 09:56:37 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 09:56:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 069b7cf4-754c-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X76SZbhbNN2Lux8ISxBg/1QoARoFPsLobLK9q31qVPQ=;
 b=APGSTwZQRAIow6LSMqI2W0HXIoN+gJxLwSeQLvD7YgQwP/efbFrBVT7184F4BEtYoIVm6NP7dfKatARPgG23Hm6x8TR5TZi5OOGfk4ESBWRlSBTpRXk9i3P2nameJsqromnceMNsCPYUOt7Savt10oZYSHZ6JfC6R+A3wplTJKg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 19fbab1ca3911510
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lrVCRCT/yhaS6cDnZOyfjOOTQaZ6OMJaBJc6FiUcmYUkuKi38KIi9bq+1/KT3nfrIfG4e9nIEbAxiDuuHyA/zE+lPYt0H5LuF+8ESAIioSV502NePVklbV8MtFP8WMVXeDI8bXel8vY96drwN5QwPiUsl8VSwwkKIlgGXU+fOAXSNx9Bfi0yaUkBBpEBYCxWTSo4LbqI2sB0oERpFbCxj7KBpkok2GFCaz6gEYjziv/l6LMULBEEaJ8TCmwtJFn4+oj217ue31IeV0kOcZk+oX2y1J/WUeLYlkKGFHTGjk+t+i3TANTQEWN9dd9GRlTpMl6V2Yqh2Q36pg+KKf2ssw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X76SZbhbNN2Lux8ISxBg/1QoARoFPsLobLK9q31qVPQ=;
 b=EsWIUkEjl/7pfdaYD4/McPFPuPkVrhdDbsKyiKk406dZqNtG0JqqV6e1lyoO+PA7Zuuya6gm0Yq3lTeqtw0/fobqIWMam8UF+ZmqnmtLSpV6V01fvmIvzEmKVqijm3lOAm2ckfVl9uXnx7vk4VeVxjVUskWhESMX/noRjn5JGVv8Hl1P8LLnqXyQTQ26Qy+6lhGOft8WqQq/nAnnCm/1LvVm6zA/fYZX++eDbnREBpNSiJEM+XCWSYW4wYyN+TCOGTMcTe4TUvUC+urJDQ6xAggWFiP9Nd7wR+0ukPl67n0mBy3JN6BkngdsXpFDlz6O++AWC/00sOonVahzlltnLQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X76SZbhbNN2Lux8ISxBg/1QoARoFPsLobLK9q31qVPQ=;
 b=APGSTwZQRAIow6LSMqI2W0HXIoN+gJxLwSeQLvD7YgQwP/efbFrBVT7184F4BEtYoIVm6NP7dfKatARPgG23Hm6x8TR5TZi5OOGfk4ESBWRlSBTpRXk9i3P2nameJsqromnceMNsCPYUOt7Savt10oZYSHZ6JfC6R+A3wplTJKg=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: Michal Orzel <michal.orzel@amd.com>, Xen developer discussion
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Jan Beulich
	<jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
Thread-Topic: [RFC PATCH 04/21] xen/arm: vIOMMU: add generic vIOMMU framework
Thread-Index: AQHZBZ7dBYCbekoSiE+Vqn2CZKLLUK5e+1eAgABbRACAAAkRgIAAD0UAgAE30wA=
Date: Tue, 6 Dec 2022 09:56:36 +0000
Message-ID: <742E1F89-45AC-4EC2-B363-6AA503E5CAFF@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <505b4566579b65afa0696c3a8772416a4c7cf59f.1669888522.git.rahul.singh@arm.com>
 <345d7d3c-e090-356b-1b4e-a9b491a146b5@amd.com>
 <4D9FBC4E-CF83-4D45-B657-A58041EAFCAB@arm.com>
 <2739e776-6bd6-6f35-d46e-9e1223b3d6ef@amd.com>
 <2a062390-ea9a-7458-2411-0d89b5309523@xen.org>
In-Reply-To: <2a062390-ea9a-7458-2411-0d89b5309523@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7158:EE_|AM7PR08MB5462:EE_|VI1EUR03FT017:EE_|GV1PR08MB8744:EE_
X-MS-Office365-Filtering-Correlation-Id: 1edd79c4-2617-42b2-6082-08dad7702fb2
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 ZnszM19CcSjnxyo8oXQ4/3wrrnZI+sVyID3z6MXFiiXZeQniFqUp5Ww68nzTk8PuVrDOycvQsBh0gyw8C+LA9andIP8njXvkTYzdh8YLJxxuyNC/WOLAxONsbYcvvl4UhGbnGHvmwSgZdPdeLQeyUhTjRYeM/XIVExssNzGPjGv5/Ty/I874/inA7r6O9Q92lOhZvyoHGcRwExkL6zFgvM2RkzCvVX2jvWieTS0bNnzFReAym52ben8Qgql3r9RXFIj2XYeiWi+m9v1/cMV0DhERnrIUPh4d0bRcEkYvgO1ZQ8Zgmq/+9OuhaMBY5JGX+4gQZ8WPq8uWYjIkRkMFmKrpnWJoD4/L1HiEpN+Sm3zqoK/rOBEOGcEJMMxGP5bwfEoZWwy9WVapOaxdyMAhmyUWLay41MiyAw5zneciQi59MbLQMul7kQ9DXlgp6LT7H44eGV/F2Y46YvDZInYpfjw27tZ15jNE8mZKvk7GeGc9V1x8WWMEHtGgiF0fvzE1cInWL7Og5y0PkFGQmlnI1OQh0dqGJ1HTF8gqjl3VbHmezVPnpGyTv45Z0tVa3tiUWYCsufv9Mg6/xuJz7Ronxjt3naub1D7bs5mPFVvDRiBeFU33LPZAU1FiALF/l1Acquq9ayXJtrSifvRNwOVyzeYhxoTnBPNb0gyYX4/fk0jMwZnxD7rKA5RFoihCICBmm+S7KYNVUP+yUDTvj3AN4c4u++EdBZ97nUeMFPM+UbJ86I0Xx+649IUnJqcnRwi5
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(376002)(136003)(396003)(346002)(39860400002)(451199015)(26005)(53546011)(316002)(76116006)(6486002)(6506007)(478600001)(6512007)(6916009)(54906003)(71200400001)(66556008)(66446008)(91956017)(66946007)(4326008)(66476007)(8676002)(64756008)(186003)(5660300002)(2906002)(41300700001)(122000001)(2616005)(36756003)(8936002)(38100700002)(38070700005)(86362001)(33656002)(41533002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <CB29A064F9CE96419E52E2D0352A6263@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5462
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VI1EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f8f0f1cc-05e5-4713-797b-08dad77029e8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9/D+KRn27PQHayGeWYx5twx9aO72Qd9LkRNkA3x5FUhcUmwCPNVNArhxpjg785qLeukvItCN2FAPj145ckoXdBK0KtP1u5t5Rc6RgsjrL4ANv1cNqgFPUvaQUIguZzEKlWbc4HORNHv0Pk/zDYNlF/AmO09EcdfCL7+Qc1G/auZhTNmkCojw3rbY/BPf2Zuy4mp+g3oCvmYQnN0CZiTXkKx5MHOuPmq1JYFAj6xDl4wtlS9lsb9bMmhuaZ5od7m4u5mPMNleI2HGYvmZj2S/jeV1JJwIJFTuPtMSOnA7ZaQBX7mZ8fW7a5ccUWjM3PD2zKJMn971dt+es7iK37ZXXLAJzoH89yAJMLuUvWXPG2qCsKNYsVXo1OJ5fAfLfdyehlb9FM4OE21JJIy7bN588SI9XH18Etcc5fN2jSDVnGaUcziSbmvetZG2ExXe15Af8Ke5oHvqma/NQW9lxVA395z6dDcRcu1iQtXHdSaM1lGkqXO4qwiq3IUw8npcO+bor20zQ/VuSbUE+dlYwbcLnr+jzRHwHsiP/tFcMfBe0bUjIVJN2ypIsDcjUjRHiw2AjaWmWsN4X9ZBpM6VnXF791BLnIkqDs1yx7AV5ntNfOhVT9NNXCeNtRNH88WUofeReKD6kyLZPC0friSLF6XJrXc36gRzdhhKCko1RJqOb/+dRoQdjFYUCdViH7vDTvCi8M8+hMbg0GKxOJ+rsPehLS24wEcTFvI0xK5ssZ7b90c=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(376002)(396003)(39860400002)(451199015)(36840700001)(46966006)(40470700004)(107886003)(478600001)(6486002)(53546011)(6506007)(26005)(82740400003)(2906002)(4326008)(40460700003)(8676002)(2616005)(186003)(8936002)(336012)(36756003)(5660300002)(6862004)(47076005)(6512007)(41300700001)(54906003)(33656002)(81166007)(316002)(40480700001)(356005)(36860700001)(86362001)(70586007)(70206006)(82310400005)(41533002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 09:56:46.1937
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1edd79c4-2617-42b2-6082-08dad7702fb2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VI1EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8744

Hi Julien,

> On 5 Dec 2022, at 3:20 pm, Julien Grall <julien@xen.org> wrote:
>=20
> On 05/12/2022 14:25, Michal Orzel wrote:
>>>>> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-=
arm.h
>>>>> index 1528ced509..33d32835e7 100644
>>>>> --- a/xen/include/public/arch-arm.h
>>>>> +++ b/xen/include/public/arch-arm.h
>>>>> @@ -297,10 +297,14 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>>>>> #define XEN_DOMCTL_CONFIG_TEE_NONE      0
>>>>> #define XEN_DOMCTL_CONFIG_TEE_OPTEE     1
>>>>>=20
>>>>> +#define XEN_DOMCTL_CONFIG_VIOMMU_NONE   0
>>>>> +
>>>>> struct xen_arch_domainconfig {
>>>>>     /* IN/OUT */
>>>>>     uint8_t gic_version;
>>>>>     /* IN */
>>>>> +    uint8_t viommu_type;
>>>> this should be uint16_t and not uint8_t
>>>=20
>>> I will modify the in viommu_type to uint8_t in "arch/arm/include/asm/vi=
ommu.h" and will
>>> also fix  everywhere the viommu_type to uint8_t.
>> Also I think that you need to bump XEN_DOMCTL_INTERFACE_VERSION due to t=
he change
>> in struct xen_arch_domainconfig.
>=20
> We only need to bump the domctl version once per release. So if this is t=
he first modification of domctl.h in 4.18 then yes.
>=20
> That said, I am not sure whether this is necessary here as you are using =
a padding.
>=20
> @Rahul, BTW, I think you may need to regenerate the bindings for OCaml an=
d Go.

Ack. I will check this before sending the v2.

Regards,
Rahul



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 10:33:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 10:33:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454587.712096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VGG-0003aX-6b; Tue, 06 Dec 2022 10:33:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454587.712096; Tue, 06 Dec 2022 10:33:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VGG-0003aQ-3o; Tue, 06 Dec 2022 10:33:16 +0000
Received: by outflank-mailman (input) for mailman id 454587;
 Tue, 06 Dec 2022 10:33:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vYNa=4E=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1p2VGE-0003aJ-93
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 10:33:14 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0602.outbound.protection.outlook.com
 [2a01:111:f400:fe02::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 61f1cb17-7551-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 11:33:12 +0100 (CET)
Received: from DB6P192CA0002.EURP192.PROD.OUTLOOK.COM (2603:10a6:4:b8::12) by
 AS4PR08MB7432.eurprd08.prod.outlook.com (2603:10a6:20b:4e4::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec
 2022 10:33:05 +0000
Received: from DBAEUR03FT046.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:b8:cafe::32) by DB6P192CA0002.outlook.office365.com
 (2603:10a6:4:b8::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13 via Frontend
 Transport; Tue, 6 Dec 2022 10:33:05 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT046.mail.protection.outlook.com (100.127.142.67) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.14 via Frontend Transport; Tue, 6 Dec 2022 10:33:05 +0000
Received: ("Tessian outbound 2ff13c8f2c05:v130");
 Tue, 06 Dec 2022 10:33:05 +0000
Received: from a5b5416ec086.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 66400E67-CA1C-4311-B0BD-0607D786439A.1; 
 Tue, 06 Dec 2022 10:32:54 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a5b5416ec086.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 06 Dec 2022 10:32:54 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS8PR08MB8492.eurprd08.prod.outlook.com (2603:10a6:20b:565::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 6 Dec
 2022 10:32:52 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda%3]) with mapi id 15.20.5880.008; Tue, 6 Dec 2022
 10:32:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61f1cb17-7551-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=g4g3tADY78ShnnetgrSSov7CLviBM2mlbzHU1NJTcnA=;
 b=yE9S+h1PQ8umeQZMeOE50hLf5Hx/LLcdsp1Eoc7d1jqccwJr8aQ2UEVtLi7+oCTT7Za5wWJBuuPahuYyp6UerBeB4Ci3U5cV63tSzyJtNcU0bseVRSoK8Mx1OpPO/POobLZcvJCGF9dskEpSfL2cN2v3VyuoA0POEdXxz+3XMhE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 414b8aae23d98948
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b6tiQd8a2GCuhCwMb/PCcD1++YTi8YdBmXckaWh+z5lXxxRQApR/LJZX0dYeP5NHEKmZclmOnUyQwdN8I51JGd9127ArgzZk7g7rx0GHqtoKXgz297rGuKBFR8+LVD0rrwUtZYvK2VYuhsZPtSoZPOddGL8OvrV9C71FwPkdaH7H1y0OWZ41bb/cSz6Pn+UND22/QCnMQwwQGKEbbmSo9TK73yxock/wjEduw7967P7N08quwiNbWdKtZnHQ0UDEWS0mc/KEAieGj85R4jywmT0apmxT1P1ThiDtxXD4rvmPNtC0wCzXMQbuADHjXB9g/VzW0XoOWaizGf9CtbW8pg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g4g3tADY78ShnnetgrSSov7CLviBM2mlbzHU1NJTcnA=;
 b=HAxettZYRbVkLyTkwv8vTrE0nwqBTPwmKJZe+fgsPqstQ/2IZo2yjsw2ouqtYc+TOSwXTeFJFC3HGWtAzsIFmu3QZSSJh6RVXX3VnpzM9B6X3wBN17AYbHCHUHWnT3kJZezbXDB73bWRlR7jU4ROMS/QMHC63qH+pCAHfHEi3EhzPv0gdJeDF0G5DZ/new0QbX2LgG4JKf9kCExWBSroIeXRM7ZfRwvN9/kYhQNdnesAksV7iv0DmzO3eU+/mm73Glc0BSJSzukjweOeVWJqK7V95cb+bFCZ6MCwPoZrK5cggqOpJa41Lj9Am7EEJtRQqxdYrm8v38fUN1CemSsEog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=g4g3tADY78ShnnetgrSSov7CLviBM2mlbzHU1NJTcnA=;
 b=yE9S+h1PQ8umeQZMeOE50hLf5Hx/LLcdsp1Eoc7d1jqccwJr8aQ2UEVtLi7+oCTT7Za5wWJBuuPahuYyp6UerBeB4Ci3U5cV63tSzyJtNcU0bseVRSoK8Mx1OpPO/POobLZcvJCGF9dskEpSfL2cN2v3VyuoA0POEdXxz+3XMhE=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH v2 2/5] xen/scripts: add cppcheck tool to the
 xen-analysis.py script
Thread-Topic: [PATCH v2 2/5] xen/scripts: add cppcheck tool to the
 xen-analysis.py script
Thread-Index: AQHZCMAPGFj9uv1WcUCpzSvQ+LlZ+65gHgSAgACMnQA=
Date: Tue, 6 Dec 2022 10:32:51 +0000
Message-ID: <E67F8041-D3D1-4A8A-9A8F-319C522CB0D5@arm.com>
References: <20221205154052.14191-1-luca.fancellu@arm.com>
 <20221205154052.14191-3-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2212051650300.4039@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2212051650300.4039@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS8PR08MB8492:EE_|DBAEUR03FT046:EE_|AS4PR08MB7432:EE_
X-MS-Office365-Filtering-Correlation-Id: 17f4abff-e17a-4a37-91f0-08dad7754273
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 1d55T6V7ZUGXSBUwo/uJ9VLUkNyqlyD2HHN9kLycTQvFKDbhXFXItV1Bp/CdaGVss3iTaprK3uOg5/7HQ+Q5xi1FSwjWNElsRiTAYOB3dxNcKncZAmJW1zqCGguu+hDcN1E/j2i4dNh9MSVyMPM/rBzIYzYZoDFSnOBx+C8jZm93OIn/z3m4YdFNGqYogitQZhcRUZkOx8PutnbnzHxj/COMN+JQTpPzhhbLUy33TsodfpTrR2mvm4angFX1jWWmVkyS2YYt0NDUTjzb8a7sgJjL7t6sxrZbMgLYneWgAVpImJPSbGRSd+W0lFpT/X4sr0wUu25sfrAMhs3ojaDjKFQj4PgWztV5UVBlimyNJMm6kpOVY8fgWhX4vvtzwsmLie5uuZuW6M2ZsRnZoY8sLiREgABbeGU7WYTDrLvwAPXj2A7SDlhg5kr9JVhGyePwJJw3nHO2Udbllw+nWOELDCeB2riyAV8cCtvVoT8NfWl/w2GnI1jx215sII4sly6HUCNRjjg3+2Ulsi1cEdgkyRpgotpnGPBPtnh7RrNZ937c0b/Iv6AD3mujuFeswc6IYsrWQghx2qybL8GaowILmsTKenFJx5my/DBYlO+b8Op2IWqEzVXThUeZYZkZu5mL7Nyl4Nz48AAjAs1ey5QXAV/MekyRHKgMU0CC7m4xJaS8pFY84pNwG2abpVh/FI3dxWnu8iVZQoMtEyx/L8SgSkzic/E6e3s32GIa/+qahH0=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(366004)(376002)(346002)(136003)(39860400002)(451199015)(2906002)(86362001)(33656002)(316002)(54906003)(6512007)(6506007)(6916009)(186003)(26005)(6486002)(2616005)(71200400001)(5660300002)(478600001)(91956017)(8936002)(41300700001)(38070700005)(4326008)(66556008)(38100700002)(66446008)(66946007)(122000001)(66476007)(64756008)(8676002)(76116006)(83380400001)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <CDFB3B05AE608241B6F3E14E7617DA26@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8492
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT046.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2bf2c0be-c4dc-487e-18e6-08dad7753a4d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y/BHgduAl1SZ3EGUf0Rz63sh25ArEALSH1EKiRZu8YlIBZC0C/UwyfWm0W1kfz0Hc6gg0itbgQKIzp/gvv+0moYmvfWNwEGoziIIua4X8ruXOGti8z3n0L+w5TtQuwY6p35kK0Ewnqo4qw6wfQyrd61VZ4mKahULdNV3RSuupfzgrQaoqULoEgGBfvLwZd+ozBhVzLOQa/ecoOr2Z84kxe2sjhKbNN1xTUbYG++FN98Q2JQ3HpPWNZ2tt2kLfZ7T7hHpU31m+ByQKtazn7OMd++fBnsok+iNG6JpVxuFJpHnyKHPsY3HTGf3mra3SJiu0xQ/CBBcVoelyp6kgQSNiwabsREqNonr3yQrlzKfSUqfvyQ0dHbK6ID+p3kG5iyO5DFbxQRXiNuD5rgGVjxthLHHv4ft6vKjw/PzTRXMBNAqznLFC4L7+hc9B8U/T7fIOAg1C9bV6MqYKNqbScExOIc4FhmRb6MCFF/tCS1WJAF46Jy+bTMmzGq6e8/q2GqzmLq12WkHj8EK2nj+umFt7Zju5PmPV+UzE4F8b5ztUQhPS1cyt1N1sRasZKB06mHWyKAo4G5+kbHtkCdBIVX0DgElPb3yK2H7pQC205bbV/yfIAPTHKxYu0LWkN6cv4Z6yUAEBP7iAneS3hmJgqmAhEOf1UV53AmGiYGSut1qmS/K2sBt209WlphsbZjWZ0Y+SOZnZ4tRgAB5D/fjSOio1g==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(376002)(39860400002)(346002)(451199015)(46966006)(36840700001)(40470700004)(70586007)(316002)(54906003)(81166007)(356005)(478600001)(40480700001)(70206006)(8936002)(40460700003)(41300700001)(36756003)(4326008)(6862004)(33656002)(6486002)(82740400003)(8676002)(47076005)(5660300002)(336012)(2616005)(86362001)(6512007)(26005)(2906002)(6506007)(83380400001)(186003)(82310400005)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 10:33:05.2362
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 17f4abff-e17a-4a37-91f0-08dad7754273
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT046.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7432

DQpIaSBTdGVmYW5vLA0KDQo+PiANCj4+ICsrKyBiL2RvY3MvbWlzcmEvZmFsc2UtcG9zaXRpdmUt
Y3BwY2hlY2suanNvbg0KPj4gQEAgLTAsMCArMSwxMiBAQA0KPj4gK3sNCj4+ICsgICAgInZlcnNp
b24iOiAiMS4wIiwNCj4+ICsgICAgImNvbnRlbnQiOiBbDQo+PiArICAgICAgICB7DQo+PiArICAg
ICAgICAgICAgImlkIjogIlNBRi0wLWZhbHNlLXBvc2l0aXZlLWNwcGNoZWNrIiwNCj4+ICsgICAg
ICAgICAgICAidmlvbGF0aW9uLWlkIjogIiIsDQo+PiArICAgICAgICAgICAgInRvb2wtdmVyc2lv
biI6ICIiLA0KPj4gKyAgICAgICAgICAgICJuYW1lIjogIlNlbnRpbmVsIiwNCj4+ICsgICAgICAg
ICAgICAidGV4dCI6ICJOZXh0IElEIHRvIGJlIHVzZWQiDQo+PiArICAgICAgICB9DQo+PiArICAg
IF0NCj4+ICt9DQo+IA0KPiBJIHRoaW5rIHdlIG5lZWQgdG8gYWRkIHRvIHRoZSBjcHBjaGVjayBk
b2N1bWVudCBob3cgdG8gZmlndXJlIG91dCB0aGUNCj4gY3BwY2hlY2sgaWQgZm9yIGEgZ2l2ZW4g
dmlvbGF0aW9uIGluIHRoZSBodG1sIHJlcG9ydA0KDQpJ4oCZbSBwbGFubmluZyB0byBzZW5kIHNv
bWUgcGF0Y2hlcyB3aXRoIGNwcGNoZWNrIGZhbHNlIHBvc2l0aXZlIGZpeGVzLCB3b3VsZCB0aGVt
IGJlIGVub3VnaD8NCg0KV2UgYWxyZWFkeSBoYXZlIGEgc2VjdGlvbiBpbiBkb2N1bWVudGluZy12
aW9sYXRpb24ucnN0IG9uIGhvdyB0byBkb2N1bWVudCB0aGUgZmluZGluZywgZm9yDQpjcHBjaGVj
ayBpdOKAmXMganVzdCBhIG1hdHRlciB0byBnZXQgdGhlIHRleHQgcmVwb3J0LCBkbyB5b3UgdGhp
bmsgaXTigJlzIGJldHRlciB0byBhZGQgYSBwYXJ0IHRvIHRoYXQgc2VjdGlvbg0Kb24gaG93IHRv
IGxvY2F0ZSB0aGUgY3BwY2hlY2sgdmlvbGF0aW9uIGlkIGZyb20gaXRzIHRleHQgcmVwb3J0Pw0K
DQoNCj4+IA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9zY3JpcHRzL3hlbl9hbmFseXNpcy9nZW5lcmlj
X2FuYWx5c2lzLnB5IGIveGVuL3NjcmlwdHMveGVuX2FuYWx5c2lzL2dlbmVyaWNfYW5hbHlzaXMu
cHkNCj4+IGluZGV4IDBiNDcwYzRlY2Y3ZC4uOTQxMjJhZWJhY2UwIDEwMDY0NA0KPj4gLS0tIGEv
eGVuL3NjcmlwdHMveGVuX2FuYWx5c2lzL2dlbmVyaWNfYW5hbHlzaXMucHkNCj4+ICsrKyBiL3hl
bi9zY3JpcHRzL3hlbl9hbmFseXNpcy9nZW5lcmljX2FuYWx5c2lzLnB5DQo+PiBAQCAtMSw3ICsx
LDcgQEANCj4+ICMhL3Vzci9iaW4vZW52IHB5dGhvbjMNCj4+IA0KPj4gLWltcG9ydCBvcywgc3Vi
cHJvY2Vzcw0KPj4gLWZyb20gLiBpbXBvcnQgc2V0dGluZ3MsIHV0aWxzLCB0YWdfZGF0YWJhc2UN
Cj4+ICtpbXBvcnQgb3MNCj4+ICtmcm9tIC4gaW1wb3J0IHNldHRpbmdzLCB1dGlscywgdGFnX2Rh
dGFiYXNlLCBjcHBjaGVja19hbmFseXNpcw0KPj4gDQo+PiBjbGFzcyBQYXJzZVRhZ1BoYXNlRXJy
b3IoRXhjZXB0aW9uKToNCj4+ICAgICBwYXNzDQo+PiBAQCAtNjAsMTggKzYwLDEzIEBAIGRlZiBw
YXJzZV94ZW5fdGFncygpOg0KPj4gDQo+PiANCj4+IGRlZiBidWlsZF94ZW4oKToNCj4+IC0gICAg
dHJ5Og0KPj4gLSAgICAgICAgc3VicHJvY2Vzcy5ydW4oDQo+PiAtICAgICAgICAgICAgIm1ha2Ug
LUMge30ge30gYnVpbGQiDQo+PiAtICAgICAgICAgICAgICAgIC5mb3JtYXQoc2V0dGluZ3MueGVu
X2Rpciwgc2V0dGluZ3MubWFrZV9mb3J3YXJkX2FyZ3MpLA0KPj4gLSAgICAgICAgICAgIHNoZWxs
PVRydWUsIGNoZWNrPVRydWUNCj4+ICsgICAgdXRpbHMuaW52b2tlX2NvbW1hbmQoDQo+PiArICAg
ICAgICAgICAgIm1ha2UgLUMge30ge30ge30gYnVpbGQiDQo+PiArICAgICAgICAgICAgICAgIC5m
b3JtYXQoc2V0dGluZ3MueGVuX2Rpciwgc2V0dGluZ3MubWFrZV9mb3J3YXJkX2FyZ3MsDQo+PiAr
ICAgICAgICAgICAgICAgICAgICAgICAgY3BwY2hlY2tfYW5hbHlzaXMuY3BwY2hlY2tfZXh0cmFf
bWFrZV9hcmdzKSwNCj4+ICsgICAgICAgICAgICBGYWxzZSwgQnVpbGRQaGFzZUVycm9yLA0KPj4g
KyAgICAgICAgICAgICJCdWlsZCBlcnJvciBvY2N1cmVkIHdoZW4gcnVubmluZzpcbnt9Ig0KPj4g
ICAgICAgICApDQo+PiAtICAgIGV4Y2VwdCAoc3VicHJvY2Vzcy5DYWxsZWRQcm9jZXNzRXJyb3Is
IHN1YnByb2Nlc3MuU3VicHJvY2Vzc0Vycm9yKSAgYXMgZToNCj4+IC0gICAgICAgIGV4Y3AgPSBC
dWlsZFBoYXNlRXJyb3IoDQo+PiAtICAgICAgICAgICAgICAgICJCdWlsZCBlcnJvciBvY2N1cmVk
IHdoZW4gcnVubmluZzpcbnt9Ii5mb3JtYXQoZS5jbWQpDQo+PiAtICAgICAgICAgICAgKQ0KPj4g
LSAgICAgICAgZXhjcC5lcnJvcmNvZGUgPSBlLnJldHVybmNvZGUgaWYgaGFzYXR0cihlLCAncmV0
dXJuY29kZScpIGVsc2UgMQ0KPj4gLSAgICAgICAgcmFpc2UgZXhjcA0KPiANCj4gQW55IHJlYXNv
biB3aHkgd2UgY2FuJ3QgaGF2ZSB1dGlscy5pbnZva2VfY29tbWFuZCBkaXJlY3RseSBpbiBwYXRj
aCAjMT8NCg0KVGhlcmUgd2FzIG9ubHkgb25lIGludm9jYXRpb24sIHNvIEkgbGVmdCB0aGF0IGFz
IGl0IHdhcywgbm93IGlmIEkgY2hhbmdlIGl0IEkgdGhpbmsgSSB3aWxsIGxvc3QgeW91cg0KVGVz
dGVkLWJ5IGFuZCBhY2ssIGRvIHlvdSB3YW50IG1lIHRvIHB1dCBhbHNvIGluIHRoZSBmaXJzdCBw
YXRjaD8NCg0KPiANCj4gDQo+PiBkZWYgY2xlYW5fYW5hbHlzaXNfYXJ0aWZhY3RzKCk6DQo+PiBk
aWZmIC0tZ2l0IGEveGVuL3NjcmlwdHMveGVuX2FuYWx5c2lzL3NldHRpbmdzLnB5IGIveGVuL3Nj
cmlwdHMveGVuX2FuYWx5c2lzL3NldHRpbmdzLnB5DQo+PiBpbmRleCA5NDdkZmEyZDUwYWYuLmJk
MWZhYWZlNzlhMyAxMDA2NDQNCj4+IC0tLSBhL3hlbi9zY3JpcHRzL3hlbl9hbmFseXNpcy9zZXR0
aW5ncy5weQ0KPj4gKysrIGIveGVuL3NjcmlwdHMveGVuX2FuYWx5c2lzL3NldHRpbmdzLnB5DQo+
PiBAQCAtNywxNCArNywyMyBAQCB4ZW5fZGlyID0gb3MucGF0aC5yZWFscGF0aChtb2R1bGVfZGly
ICsgIi8uLi8uLiIpDQo+PiByZXBvX2RpciA9IG9zLnBhdGgucmVhbHBhdGgoeGVuX2RpciArICIv
Li4iKQ0KPj4gdG9vbHNfZGlyID0gb3MucGF0aC5yZWFscGF0aCh4ZW5fZGlyICsgIi90b29scyIp
DQo+PiANCj4+ICtzdGVwX2dldF9tYWtlX3ZhcnMgPSBGYWxzZQ0KPj4gc3RlcF9wYXJzZV90YWdz
ID0gVHJ1ZQ0KPj4gK3N0ZXBfY3BwY2hlY2tfZGVwcyA9IEZhbHNlDQo+PiBzdGVwX2J1aWxkX3hl
biA9IFRydWUNCj4+ICtzdGVwX2NwcGNoZWNrX3JlcG9ydCA9IEZhbHNlDQo+PiBzdGVwX2NsZWFu
X2FuYWx5c2lzID0gVHJ1ZQ0KPj4gK3N0ZXBfZGlzdGNsZWFuX2FuYWx5c2lzID0gRmFsc2UNCj4+
IA0KPj4gdGFyZ2V0X2J1aWxkID0gRmFsc2UNCj4+IHRhcmdldF9jbGVhbiA9IEZhbHNlDQo+PiAr
dGFyZ2V0X2Rpc3RjbGVhbiA9IEZhbHNlDQo+PiANCj4+IGFuYWx5c2lzX3Rvb2wgPSAiIg0KPj4g
K2NwcGNoZWNrX2JpbnBhdGggPSAiY3BwY2hlY2siDQo+PiArY3BwY2hlY2tfaHRtbCA9IEZhbHNl
DQo+PiArY3BwY2hlY2tfaHRtbHJlcG9ydF9iaW5wYXRoID0gImNwcGNoZWNrLWh0bWxyZXBvcnQi
DQo+PiArY3BwY2hlY2tfbWlzcmEgPSBGYWxzZQ0KPj4gbWFrZV9mb3J3YXJkX2FyZ3MgPSAiIg0K
Pj4gb3V0ZGlyID0geGVuX2Rpcg0KPj4gDQo+PiBAQCAtMjYsMjkgKzM1LDQ3IEBAIFVzYWdlOiB7
fSBbT1BUSU9OXSAuLi4gWy0tIFttYWtlIGFyZ3VtZW50c11dDQo+PiBUaGlzIHNjcmlwdCBydW5z
IHRoZSBhbmFseXNpcyBvbiB0aGUgWGVuIGNvZGViYXNlLg0KPj4gDQo+PiBPcHRpb25zOg0KPj4g
LSAgLS1idWlsZC1vbmx5ICAgIFJ1biBvbmx5IHRoZSBjb21tYW5kcyB0byBidWlsZCBYZW4gd2l0
aCB0aGUgb3B0aW9uYWwgbWFrZQ0KPj4gLSAgICAgICAgICAgICAgICAgIGFyZ3VtZW50cyBwYXNz
ZWQgdG8gdGhlIHNjcmlwdA0KPj4gLSAgLS1jbGVhbi1vbmx5ICAgIFJ1biBvbmx5IHRoZSBjb21t
YW5kcyB0byBjbGVhbiB0aGUgYW5hbHlzaXMgYXJ0aWZhY3RzDQo+PiAtICAtaCwgLS1oZWxwICAg
ICAgUHJpbnQgdGhpcyBoZWxwDQo+PiAtICAtLW5vLWJ1aWxkICAgICAgU2tpcCB0aGUgYnVpbGQg
WGVuIHBoYXNlDQo+PiAtICAtLW5vLWNsZWFuICAgICAgRG9uXCd0IGNsZWFuIHRoZSBhbmFseXNp
cyBhcnRpZmFjdHMgb24gZXhpdA0KPj4gLSAgLS1ydW4tY292ZXJpdHkgIFJ1biB0aGUgYW5hbHlz
aXMgZm9yIHRoZSBDb3Zlcml0eSB0b29sDQo+PiAtICAtLXJ1bi1lY2xhaXIgICAgUnVuIHRoZSBh
bmFseXNpcyBmb3IgdGhlIEVjbGFpciB0b29sDQo+PiArICAtLWJ1aWxkLW9ubHkgICAgICAgICAg
UnVuIG9ubHkgdGhlIGNvbW1hbmRzIHRvIGJ1aWxkIFhlbiB3aXRoIHRoZSBvcHRpb25hbA0KPj4g
KyAgICAgICAgICAgICAgICAgICAgICAgIG1ha2UgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgc2Ny
aXB0DQo+PiArICAtLWNsZWFuLW9ubHkgICAgICAgICAgUnVuIG9ubHkgdGhlIGNvbW1hbmRzIHRv
IGNsZWFuIHRoZSBhbmFseXNpcyBhcnRpZmFjdHMNCj4+ICsgIC0tY3BwY2hlY2stYmluPSAgICAg
ICBQYXRoIHRvIHRoZSBjcHBjaGVjayBiaW5hcnkgKERlZmF1bHQ6IHt9KQ0KPj4gKyAgLS1jcHBj
aGVjay1odG1sICAgICAgIFByb2R1Y2UgYW4gYWRkaXRpb25hbCBIVE1MIG91dHB1dCByZXBvcnQg
Zm9yIENwcGNoZWNrDQo+PiArICAtLWNwcGNoZWNrLWh0bWwtYmluPSAgUGF0aCB0byB0aGUgY3Bw
Y2hlY2staHRtbCBiaW5hcnkgKERlZmF1bHQ6IHt9KQ0KPj4gKyAgLS1jcHBjaGVjay1taXNyYSAg
ICAgIEFjdGl2YXRlIHRoZSBDcHBjaGVjayBNSVNSQSBhbmFseXNpcw0KPj4gKyAgLS1kaXN0Y2xl
YW4gICAgICAgICAgIENsZWFuIGFuYWx5c2lzIGFydGlmYWN0cyBhbmQgcmVwb3J0cw0KPj4gKyAg
LWgsIC0taGVscCAgICAgICAgICAgIFByaW50IHRoaXMgaGVscA0KPj4gKyAgLS1uby1idWlsZCAg
ICAgICAgICAgIFNraXAgdGhlIGJ1aWxkIFhlbiBwaGFzZQ0KPj4gKyAgLS1uby1jbGVhbiAgICAg
ICAgICAgIERvblwndCBjbGVhbiB0aGUgYW5hbHlzaXMgYXJ0aWZhY3RzIG9uIGV4aXQNCj4+ICsg
IC0tcnVuLWNvdmVyaXR5ICAgICAgICBSdW4gdGhlIGFuYWx5c2lzIGZvciB0aGUgQ292ZXJpdHkg
dG9vbA0KPj4gKyAgLS1ydW4tY3BwY2hlY2sgICAgICAgIFJ1biB0aGUgQ3BwY2hlY2sgYW5hbHlz
aXMgdG9vbCBvbiBYZW4NCj4+ICsgIC0tcnVuLWVjbGFpciAgICAgICAgICBSdW4gdGhlIGFuYWx5
c2lzIGZvciB0aGUgRWNsYWlyIHRvb2wNCj4+ICIiIg0KPj4gLSAgICBwcmludChtc2cuZm9ybWF0
KHN5cy5hcmd2WzBdKSkNCj4+ICsgICAgcHJpbnQobXNnLmZvcm1hdChzeXMuYXJndlswXSwgY3Bw
Y2hlY2tfYmlucGF0aCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICBjcHBjaGVja19odG1scmVw
b3J0X2JpbnBhdGgpKQ0KPj4gDQo+PiANCj4+IGRlZiBwYXJzZV9jb21tYW5kbGluZShhcmd2KToN
Cj4+ICAgICBnbG9iYWwgYW5hbHlzaXNfdG9vbA0KPj4gKyAgICBnbG9iYWwgY3BwY2hlY2tfYmlu
cGF0aA0KPj4gKyAgICBnbG9iYWwgY3BwY2hlY2tfaHRtbA0KPj4gKyAgICBnbG9iYWwgY3BwY2hl
Y2tfaHRtbHJlcG9ydF9iaW5wYXRoDQo+PiArICAgIGdsb2JhbCBjcHBjaGVja19taXNyYQ0KPj4g
ICAgIGdsb2JhbCBtYWtlX2ZvcndhcmRfYXJncw0KPj4gICAgIGdsb2JhbCBvdXRkaXINCj4+ICsg
ICAgZ2xvYmFsIHN0ZXBfZ2V0X21ha2VfdmFycw0KPj4gICAgIGdsb2JhbCBzdGVwX3BhcnNlX3Rh
Z3MNCj4+ICsgICAgZ2xvYmFsIHN0ZXBfY3BwY2hlY2tfZGVwcw0KPj4gICAgIGdsb2JhbCBzdGVw
X2J1aWxkX3hlbg0KPj4gKyAgICBnbG9iYWwgc3RlcF9jcHBjaGVja19yZXBvcnQNCj4+ICAgICBn
bG9iYWwgc3RlcF9jbGVhbl9hbmFseXNpcw0KPj4gKyAgICBnbG9iYWwgc3RlcF9kaXN0Y2xlYW5f
YW5hbHlzaXMNCj4+ICAgICBnbG9iYWwgdGFyZ2V0X2J1aWxkDQo+PiAgICAgZ2xvYmFsIHRhcmdl
dF9jbGVhbg0KPj4gKyAgICBnbG9iYWwgdGFyZ2V0X2Rpc3RjbGVhbg0KPj4gICAgIGZvcndhcmRf
dG9fbWFrZSA9IEZhbHNlDQo+PiAgICAgZm9yIG9wdGlvbiBpbiBhcmd2Og0KPj4gKyAgICAgICAg
YXJnc193aXRoX2NvbnRlbnRfcmVnZXggPSByZS5tYXRjaChyJ14oLS1bYS16XStbYS16LV0qKT0o
LiopJCcsIG9wdGlvbikNCj4+ICsNCj4+ICAgICAgICAgaWYgZm9yd2FyZF90b19tYWtlOg0KPj4g
ICAgICAgICAgICAgIyBJbnRlcmNlcHQgb3V0ZGlyDQo+PiAgICAgICAgICAgICBvdXRkaXJfcmVn
ZXggPSByZS5tYXRjaCgiXk89KC4qKSQiLCBvcHRpb24pDQo+PiBAQCAtNjAsNiArODcsMTggQEAg
ZGVmIHBhcnNlX2NvbW1hbmRsaW5lKGFyZ3YpOg0KPj4gICAgICAgICAgICAgdGFyZ2V0X2J1aWxk
ID0gVHJ1ZQ0KPj4gICAgICAgICBlbGlmIG9wdGlvbiA9PSAiLS1jbGVhbi1vbmx5IjoNCj4+ICAg
ICAgICAgICAgIHRhcmdldF9jbGVhbiA9IFRydWUNCj4+ICsgICAgICAgIGVsaWYgYXJnc193aXRo
X2NvbnRlbnRfcmVnZXggYW5kIFwNCj4+ICsgICAgICAgICAgICAgYXJnc193aXRoX2NvbnRlbnRf
cmVnZXguZ3JvdXAoMSkgPT0gIi0tY3BwY2hlY2stYmluIjoNCj4+ICsgICAgICAgICAgICBjcHBj
aGVja19iaW5wYXRoID0gYXJnc193aXRoX2NvbnRlbnRfcmVnZXguZ3JvdXAoMikNCj4+ICsgICAg
ICAgIGVsaWYgb3B0aW9uID09ICItLWNwcGNoZWNrLWh0bWwiOg0KPj4gKyAgICAgICAgICAgIGNw
cGNoZWNrX2h0bWwgPSBUcnVlDQo+PiArICAgICAgICBlbGlmIGFyZ3Nfd2l0aF9jb250ZW50X3Jl
Z2V4IGFuZCBcDQo+PiArICAgICAgICAgICAgIGFyZ3Nfd2l0aF9jb250ZW50X3JlZ2V4Lmdyb3Vw
KDEpID09ICItLWNwcGNoZWNrLWh0bWwtYmluIjoNCj4+ICsgICAgICAgICAgICBjcHBjaGVja19o
dG1scmVwb3J0X2JpbnBhdGggPSBhcmdzX3dpdGhfY29udGVudF9yZWdleC5ncm91cCgyKQ0KPj4g
KyAgICAgICAgZWxpZiBvcHRpb24gPT0gIi0tY3BwY2hlY2stbWlzcmEiOg0KPj4gKyAgICAgICAg
ICAgIGNwcGNoZWNrX21pc3JhID0gVHJ1ZQ0KPj4gKyAgICAgICAgZWxpZiBvcHRpb24gPT0gIi0t
ZGlzdGNsZWFuIjoNCj4+ICsgICAgICAgICAgICB0YXJnZXRfZGlzdGNsZWFuID0gVHJ1ZQ0KPj4g
ICAgICAgICBlbGlmIChvcHRpb24gPT0gIi0taGVscCIpIG9yIChvcHRpb24gPT0gIi1oIik6DQo+
PiAgICAgICAgICAgICBoZWxwKCkNCj4+ICAgICAgICAgICAgIHN5cy5leGl0KDApDQo+PiBAQCAt
NjksNiArMTA4LDExIEBAIGRlZiBwYXJzZV9jb21tYW5kbGluZShhcmd2KToNCj4+ICAgICAgICAg
ICAgIHN0ZXBfY2xlYW5fYW5hbHlzaXMgPSBGYWxzZQ0KPj4gICAgICAgICBlbGlmIChvcHRpb24g
PT0gIi0tcnVuLWNvdmVyaXR5Iikgb3IgKG9wdGlvbiA9PSAiLS1ydW4tZWNsYWlyIik6DQo+PiAg
ICAgICAgICAgICBhbmFseXNpc190b29sID0gb3B0aW9uWzY6XQ0KPj4gKyAgICAgICAgZWxpZiAo
b3B0aW9uID09ICItLXJ1bi1jcHBjaGVjayIpOg0KPj4gKyAgICAgICAgICAgIGFuYWx5c2lzX3Rv
b2wgPSAiY3BwY2hlY2siDQo+PiArICAgICAgICAgICAgc3RlcF9nZXRfbWFrZV92YXJzID0gVHJ1
ZQ0KPj4gKyAgICAgICAgICAgIHN0ZXBfY3BwY2hlY2tfZGVwcyA9IFRydWUNCj4+ICsgICAgICAg
ICAgICBzdGVwX2NwcGNoZWNrX3JlcG9ydCA9IFRydWUNCj4+ICAgICAgICAgZWxpZiBvcHRpb24g
PT0gIi0tIjoNCj4+ICAgICAgICAgICAgIGZvcndhcmRfdG9fbWFrZSA9IFRydWUNCj4+ICAgICAg
ICAgZWxzZToNCj4+IEBAIC03NiwxMyArMTIwLDIzIEBAIGRlZiBwYXJzZV9jb21tYW5kbGluZShh
cmd2KToNCj4+ICAgICAgICAgICAgIGhlbHAoKQ0KPj4gICAgICAgICAgICAgc3lzLmV4aXQoMSkN
Cj4+IA0KPj4gLSAgICBpZiB0YXJnZXRfYnVpbGQgYW5kIHRhcmdldF9jbGVhbjoNCj4+IC0gICAg
ICAgIHByaW50KCItLWJ1aWxkLW9ubHkgaXMgbm90IGNvbXBhdGlibGUgd2l0aCAtLWNsZWFuLW9u
bHkgYXJndW1lbnQuIikNCj4+ICsgICAgaWYgdGFyZ2V0X2J1aWxkIGFuZCAodGFyZ2V0X2NsZWFu
IG9yIHRhcmdldF9kaXN0Y2xlYW4pOg0KPj4gKyAgICAgICAgcHJpbnQoIi0tYnVpbGQtb25seSBp
cyBub3QgY29tcGF0aWJsZSB3aXRoIC0tY2xlYW4tb25seS8tLWRpc3RjbGVhbiAiDQo+PiArICAg
ICAgICAgICAgICAiYXJndW1lbnQuIikNCj4+ICAgICAgICAgc3lzLmV4aXQoMSkNCj4+IA0KPj4g
KyAgICBpZiB0YXJnZXRfZGlzdGNsZWFuOg0KPj4gKyAgICAgICAgIyBJbXBsaWNpdCBhY3RpdmF0
aW9uIG9mIGNsZWFuIHRhcmdldA0KPj4gKyAgICAgICAgdGFyZ2V0X2NsZWFuID0gVHJ1ZQ0KPj4g
Kw0KPj4gKyAgICAgICAgc3RlcF9kaXN0Y2xlYW5fYW5hbHlzaXMgPSBUcnVlDQo+PiArDQo+PiAg
ICAgaWYgdGFyZ2V0X2NsZWFuOg0KPj4gKyAgICAgICAgc3RlcF9nZXRfbWFrZV92YXJzID0gRmFs
c2UNCj4+ICAgICAgICAgc3RlcF9wYXJzZV90YWdzID0gRmFsc2UNCj4+ICsgICAgICAgIHN0ZXBf
Y3BwY2hlY2tfZGVwcyA9IEZhbHNlDQo+PiAgICAgICAgIHN0ZXBfYnVpbGRfeGVuID0gRmFsc2UN
Cj4+ICsgICAgICAgIHN0ZXBfY3BwY2hlY2tfcmVwb3J0ID0gRmFsc2UNCj4+ICAgICAgICAgc3Rl
cF9jbGVhbl9hbmFseXNpcyA9IFRydWUNCj4+ICAgICAgICAgcmV0dXJuDQo+PiANCj4+IEBAIC05
NSwzICsxNDksNCBAQCBkZWYgcGFyc2VfY29tbWFuZGxpbmUoYXJndik6DQo+PiAgICAgICAgIHN0
ZXBfcGFyc2VfdGFncyA9IEZhbHNlDQo+PiAgICAgICAgIHN0ZXBfYnVpbGRfeGVuID0gVHJ1ZQ0K
Pj4gICAgICAgICBzdGVwX2NsZWFuX2FuYWx5c2lzID0gRmFsc2UNCj4+ICsgICAgICAgIHN0ZXBf
Y3BwY2hlY2tfcmVwb3J0ID0gRmFsc2UNCj4gDQo+IEkgdGhpbmsgdGhhdCB0YXJnZXRfYnVpbGQg
c2hvdWxkIG5vdCBzYXkgYW55dGhpbmcgYWJvdXQNCj4gc3RlcF9jcHBjaGVja19yZXBvcnQuDQo+
IA0KPiAtIGlmIG9uZSB3YW50cyB0byBqdXN0IGRvIGEgcmVndWxhciBidWlsZCwgdGhleSBjYW4g
ZG8gIm1ha2UgeGVuIg0KPiAtIGlmIG9uZSBpcyBjYWxsaW5nIHhlbi1hbmFseXNpcy5weSAtLWNw
cGNoZWNrLWh0bWwgLS1ydW4tY3BwY2hlY2sNCj4gIC0tYnVpbGQtb25seSwgaXQgbWVhbnMgdGhh
dCB0aGV5IHdhbnQgdGhlIGJ1aWxkIGRvbmUsIG5vdCB0aGUgY2xlYW5pbmcNCj4gIGRvbmUsIG5v
dCB0aGUgdGFncyBzdWJzdGl0dXRpb24uIElmIHRoZXkgYWxzbyBhZGQgLS1jcHBjaGVjay1odG1s
IGFuZA0KPiAgLS1ydW4tY3BwY2hlY2ssIHRoZW4gaXQgbWVhbnMgdGhhdCB0aGV5IGFsc28gd2Fu
dCB0aGUgY3BwY2hlY2sgcmVwb3J0DQo+ICBwcm9kdWNlZC4gLS1idWlsZC1vbmx5IHN0aWxsIG1h
a2VzIHNlbnNlIGJlY2F1c2UgdGhleSBkb24ndCB3YW50IHRoZQ0KPiAgY2xlYW5pbmcgZG9uZSBh
bmQgZG9uJ3Qgd2FudCB0aGUgdGFnIHN1YnN0aXR1dGlvbi4NCj4gDQo+IERvZXMgaXQgbWFrZSBz
ZW5zZSB0byB5b3UgYXMgd2VsbD8NCj4gDQo+IA0KPiBJZiBpdCBkb2VzLCBJIHRoaW5rIHdlIGFs
c28gbmVlZCB0byBhZGQgYSBub3RlIGluIHRoZSBoZWxwIG1lc3NhZ2UgZnJvbQ0KPiB4ZW5fYW5h
bHlzaXMgYmVjYXVzZSBpdCBpcyBub3QgY2xlYXIuIFNvIGJhc2ljYWxseToNCj4gDQo+IDxub3Ro
aW5nPjogdGFncywgYnVpbGQsIGNsZWFuIFssIGNwcGNoZWNrXQ0KPiAtLW5vLWNsZWFuOiB0YWdz
LCBidWlsZCBbLCBjcHBjaGVja10NCj4gLS1idWlsZC1vbmx5OiBidWlsZCBbLCBjcHBjaGVja10N
Cj4gLS1uby1idWlsZDogdGFncw0KPiAtLWNsZWFuLW9ubHk6IGNsZWFuDQo+IA0KPiBEaWQgSSBn
ZXQgaXQgcmlnaHQ/DQoNCk9rIEkgY2FuIGxlYXZlIHRoZSByZXBvcnQgZ2VuZXJhdGlvbiB3aXRo
IHRoZSBidWlsZC1vbmx5LCBJIHdpbGwgYWxzbyBleHBsYWluIGJldHRlcg0KSW4gdGhlIGhlbHAN
Cg0KPj4gDQo+PiArDQo+PiArZnVuY3Rpb24gY3JlYXRlX2pjZCgpIHsNCj4+ICsgICAgbG9jYWwg
bGluZT0iJHsxfSINCj4+ICsgICAgbG9jYWwgYXJnX251bT0wDQo+PiArICAgIGxvY2FsIHNhbWVf
bGluZT0wDQo+PiArDQo+PiArICAgIHsNCj4+ICsgICAgICAgIGVjaG8gLWUgLW4gIltcbiINCj4g
DQo+IEV2ZXJ5d2hlcmUgaW4gdGhpcyBiYXNoIGZ1bmN0aW9uOiB0aGVyZSBpcyBubyBwb2ludCBp
biBwYXNzaW5nIC1uIGFuZA0KPiB0aGVuIGFkZGluZyBcbiBhdCB0aGUgZW5kLiBZb3UgbWlnaHQg
YXMgd2VsbCBkbyB0aGlzOg0KPiANCj4gZWNobyAtZSAiWyINCj4gDQo+IEFsc28sIHlvdSdsbCBm
aW5kIHRoYXQgaW4gbW9zdCBjYXNlcywgeW91IGRvbid0IG5lZWQgLWUgZWl0aGVyLCB3aGljaA0K
PiBzaW1wbGlmaWVzIGl0IHRvOg0KPiANCj4gZWNobyAiWyINCj4gDQo+IFRoYXQncyBiZXR0ZXIg
cmlnaHQ/IDotKSAgT2YgY291cnNlIGZlZWwgZnJlZSB0byB1c2UgLWUgd2hlbiB5b3UgaGF2ZQ0K
PiBlc2NhcGUgYW5kIC1uIHdoZW4geW91IGRvbid0IHdhbnQgXG4gaW4gdGhlIG91dHB1dA0KDQpZ
ZWFoIEkgZ3Vlc3MgdGhleSBjb21lIGZyb20gY29weSBwYXN0ZSwgSSBjYW4gdXNlIHRoZSByaWdo
dCBhcmd1bWVudHMgd2hlbiBuZWVkZWQNCg0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 10:42:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 10:42:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454598.712107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VP7-0005S7-6J; Tue, 06 Dec 2022 10:42:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454598.712107; Tue, 06 Dec 2022 10:42:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VP7-0005S0-3V; Tue, 06 Dec 2022 10:42:25 +0000
Received: by outflank-mailman (input) for mailman id 454598;
 Tue, 06 Dec 2022 10:42:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XkKw=4E=citrix.com=prvs=332b12f58=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p2VP6-0005Ru-1m
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 10:42:24 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a8ffcef9-7552-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 11:42:22 +0100 (CET)
Received: from mail-mw2nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Dec 2022 05:42:19 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MW5PR03MB6982.namprd03.prod.outlook.com (2603:10b6:303:1a9::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 10:42:17 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 10:42:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8ffcef9-7552-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670323341;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=7Ie5RyXg0MEsKkind6zQitmYXBZLnudyyal6kmb51/I=;
  b=CmkdqZ/QszqyeQNV9ckYnjIT2y7Pbbz7MUcq61YnGwWbQZzSDuRo1F4D
   W76Ji9GPWhNpzJ7q/z+vFRW78xU0FFrwVKowPR/pLXEZf3ZSVlLqPunxO
   iGY7x+xz/PHoiaaHun+2r8RssCiaIa/FaNi80kA8EyB1lTUP40Cdkc+bb
   M=;
X-IronPort-RemoteIP: 104.47.55.105
X-IronPort-MID: 86806574
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:2qYwg6NsRtB0GkDvrR1SlsFynXyQoLVcMsEvi/4bfWQNrUog1jZWz
 WNKUWrQaayPZzP9fd1+O461oxsCvMPRndNlHQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5gJmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0uZWJGES7
 9EYFBBXY0qfwNyVxLi/SeY506zPLOGzVG8ekldJ6GiBSNMZG9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PdxujCOpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8efw3OjBt9NSNVU8NY1jm2X3VJQNiErbl+3i8eEu3WbRY1Af
 hl8Fi0G6PJaGFaQZtXwWhyQoXiavwUdUd5dD+077g6WzqPepQ2eAwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxRu3MDIQJHUPZgcFSxUE+NjppIwvjhPJQc1nGaTzhdrwcRnyy
 T2XqCk1h50IkNUGka68+DjvnDaEtpXPCAkv6W3/QmOgxhN0YsiifYPA1LTAxfNJLYLcS0bbu
 nEBwpCa9LpXVczLkzGRSuIQGr3v/+yCLDDXnV9oGd8m6iip/HmgO4tX5VmSOXtUDyrNQhexC
 Ge7hO+bzMY70KeCBUOvX7+MNg==
IronPort-HdrOrdr: A9a23:5dmShaFcHjHubBmZpLqEP8eALOsnbusQ8zAXPiFKOGNom6mj/P
 xG88576faKskd1ZJhNo7+90dC7MBHhHMdOkPEs1NSZLXXbUQmTTL2KtrGSugEIcheWntK16Z
 0QEJSWY+edMbEVt6jHCNfSKbwdKOnrys2VbDblvhBQpZoBUdAH0+7TMHf+LqVLKTM2f6bQK/
 enl7F6TwTMQwVrUviG
X-IronPort-AV: E=Sophos;i="5.96,222,1665460800"; 
   d="scan'208";a="86806574"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=llxLmS4fjzOwP4Vc8ApXGKZtiyVcN4+zxeuve+Xo/GLl1+wupaTiZ8DKoBGWGIaElmKhJjNaSkkerxl2z2By8CFpYu79rg1qIrk6lYwRYKNc83DNwNWkyAhBIjjCdZNlfkAgffatjo23xLh83PxXR60pQIDN7l/QrRamyobPi6UKmzELT+c+MNovTn2C4riqNuoCxRbvNbwKYelJo4BWFrl6R8zgoJHaByixQG/8r2N8j8KmCCIPF49rZpMox8NYA+5YRVWrTWaiWQquCI4Qos1zX5dommtChcZLXJvVlbSCWK9W/BOAKkVf9PIA+UamGrRGTyQVO1r+3vMPL1tIcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7Ie5RyXg0MEsKkind6zQitmYXBZLnudyyal6kmb51/I=;
 b=mzMeSGqLxfmi5KDxojMnSPqHW5sbF+IMI2NeI1Ix3iglVKnUzNds5UFUaiChJ3bn1QYQu8fIKytFElRScEwXtHu+Y9brQXGI+TiVL3ndekqCdLWlKQ6vk4+4alH1TvG3m6MdqejjcO+QQSKUWm9FrtxAb/zAu+Run0mbNbmVUKnTcyHWXvcbq43K3Fv7gtirfk0+TJ0AJ3UdOd9zgq5SowWF2q9LBAL1WlPDfVR4aJ5d5SLOvJBGiiLFDxUQArVrjvO7zf2P9THdFI5jwhNj3nFcWDZixEYhu/eA6zd2edE01uRHqn73Bvi0zmCdN3hirENS1wqLqw50mn8b7iyZEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7Ie5RyXg0MEsKkind6zQitmYXBZLnudyyal6kmb51/I=;
 b=pKkLYmnfn9E5Ft8N4wvquRwZaLbBlKCWP5YvXTRUTtmyAiRUArNJTvggLO7ElJ4BptAK05Sm194Rd0qCcgWfeNEkhJbCAaA/dWMj/CdhOKe0dgWmMJCpRnFg/SmRd/7T4YzIUippjsyU7Xo3JaBSpEC2dYp+SP0wOOam8wv3FcY=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: =?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>, Roger Pau
 Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 1/8] x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
Thread-Topic: [PATCH 1/8] x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
Thread-Index: AQHZCSwEQSYJzNne4E+4skvqTeJ6SK5grHgA
Date: Tue, 6 Dec 2022 10:42:16 +0000
Message-ID: <e66f8611-2df5-31b6-186a-d35ec555c605@citrix.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <c70f4c4584cf28ff1da8f56e08d61ad0c406a4fd.1670300446.git.demi@invisiblethingslab.com>
In-Reply-To:
 <c70f4c4584cf28ff1da8f56e08d61ad0c406a4fd.1670300446.git.demi@invisiblethingslab.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|MW5PR03MB6982:EE_
x-ms-office365-filtering-correlation-id: 2af0445d-fb0c-4962-6a6e-08dad7768b46
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 GLqSfVJ0QL1bHWT0ZHiEHBHvARZuZbudBswNAhejdOcNxDhG3Ug/GX67mOI5heZ5ZSk24j57TAbwhpwUeNesFGYcZJfwmBc+9RqLXwvv51YPvleNwQDAfnjJ+eA84l939NpSGUUGmwP4ErZ2VkV9QoKPi1i0jhAb5qlPLGiuT0w41G6aJZAcDrUgMHfgSc50SJWbIvafE989tAMnR4sY/uDJHMcCZMjcFXTePRiVnd+GvO8oIiH6v7BPTsH1w8iqLkbJZ+NQYdgnAPJGN5cQMJGByzQQ+N/kKSFUyXo0zOdPvtsIZp+n7fPC5a7FySOFwa25Z1N57Iun7e7OtpQtbn6KmP+8ASQ2bp0c/+Jyouedrwdm2lm212lm68BNoSxLYIH5uUV7CYjF/tBURqCfX6EL9jCZJ0WcR781KH1f6WzwESml5r/vMHPM25jHAHbNK9/hQsar+x44j1CNyJaLb2MORwYlkMuxNO6ZnQuI9mKrD15MxaiNydxCUjcFYdGNExS+cvzXXedm8T0ruMfuro7PnGxgxC/N3RTPsYD1yqptcmG6zF7Yt/IMwwrq9B7eamyUH9Hi5n99dP3iEm1EkvA8kQLYLdWByP+hgKcDAuPGzqo8tPJeiQd9uM7VakSljxPeLg4sBg0N6EabBCV/v/uwoXjyYPc88MIbi0CLs+tmPWMXV63kpDLDo/ixZB77Dg6/MXstvJYkOSrOL78aDQP1Mz2yReJQLZ6Otny8aze+Xm8AAP1jTkToFOG0np/yt7ukAJdsZDiJBW8aLiEchQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(376002)(346002)(366004)(39860400002)(451199015)(38070700005)(36756003)(26005)(31696002)(86362001)(6506007)(71200400001)(478600001)(6486002)(53546011)(66446008)(5660300002)(41300700001)(8676002)(6512007)(4326008)(8936002)(110136005)(2906002)(54906003)(64756008)(316002)(66946007)(66476007)(66556008)(76116006)(91956017)(83380400001)(38100700002)(186003)(122000001)(82960400001)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?TFVYT3VkeC9UN3l6Wmdwc3B3cWkzM1UwM3RGTTgvSEluRExJTkUzRG03S3JN?=
 =?utf-8?B?Wm16eUdRazRnanNKOEVucit3eS9nTG9PRWlMTzhydkhRbmVmT1hkVjRDbkxG?=
 =?utf-8?B?THY0RmNCeHVmMHVoR2VFSDFrdnBiK0hLaUZJSzlyTWR6TjE0TEl6T01BbFMr?=
 =?utf-8?B?bUI1cjQ3djBVNlZacHlqSUVtM2g0WkVwdnRQeEt5VW5PL3pFYUxWZCt1ZFJE?=
 =?utf-8?B?dFFRT1QwenY5Y0piYStZVHlNV0w1TFRiR2xHanY3SEttOFdxdXdvQlFJTlBq?=
 =?utf-8?B?ZENzQ0N6S0JmVGYrYXNEa2JrZ0pDVUFuUGZFMVgzaC93MTg1TGp0SnpEdDlW?=
 =?utf-8?B?cmVQcFJzeWxQNHpBS3EzRVJzWk10VmlHUDhoRStYS2VZQnpBeEFKNnVaZ3pj?=
 =?utf-8?B?NzRETzhFSTBTTWFZdmMyKzRocVkyUFQwcGJHOEE5VmlEcm14ZXhBWThaeDJk?=
 =?utf-8?B?UjRwemdUVlZBSGRHN2pxaFhNWnB6VCtrVG1EdFdYWjFsbzFCQlpVTHNnYXh4?=
 =?utf-8?B?ellpZVc2QUZOYVpMVWpKbEs5VVVEcXRrcEtiNTNtZmhvRGpKM1NwT0xUWHdE?=
 =?utf-8?B?SHRUYVdqRzdpOEd4bUNqNElXMSt5ZTdkS0F5OUpYbTNGVVpIQXBBenVHbUVj?=
 =?utf-8?B?NFI1OFJiUXo0VzcyaG5meWhxR2RkYWZOWUpPTnhrWktRY291SkFYcER2ZzBm?=
 =?utf-8?B?V1F4aEwxK08xRytOdW81bEpVZDIvQXRFS3VsM0l2VWpPSXdacTR4dWRlYkNX?=
 =?utf-8?B?UFYwVHR1dEtMUXRNNnU1MzY5cGZINmd4cFJxNkFOR082aVV3aXpVbXcrMkU5?=
 =?utf-8?B?cmpCZkxHQ0FJOGFEZXU5NmJKRGVoZ041UjNUS2hSanhuQnROc2VNSFhXQWJz?=
 =?utf-8?B?eGRneVpBaDJXQktyWVUxamtjVzZlNVBVRzB3cGRGbmV1czF6ZGVTWjBxaS9x?=
 =?utf-8?B?WnFMemdDZ2VBWXIwKy9ScHFnQU5kNUxSclFtTVFibXlaT3hVNlp4RDNGWkh6?=
 =?utf-8?B?VlJWVGMyVHk2MUlFMFE5Wm9EZUVGQm1lWm1iVjRGamt2cSs1Y05teEZ4RERm?=
 =?utf-8?B?R21Famw0dTNqOU9lVDB5WjF0dHc3T01Vd1dLMEF4V09UcVZtVEhPU3VnNlRw?=
 =?utf-8?B?VnJNWSt0QTZ3R1VDMDJUWnJheVg2TEl3Vm1GVDU5eEl6Zis0bWwycklNT0Iv?=
 =?utf-8?B?bXZwdEhUVlhaREZaMms3UTROTXkxaTVkYW5va3JPV0tYRG5XV2FjVDVIcmdJ?=
 =?utf-8?B?UUtoc1Y3QS9DMnFmQ1pSdW5LakJPT1h3QWpyb2lvc3UySW5tTWM0MFRoYmc2?=
 =?utf-8?B?dTBoaE5uU0x6SmhGVmlzTXJiQVZtUks0dEUyc2ZUQlJWWU9jRUtIVHNoRElp?=
 =?utf-8?B?cTQ3K2o2d1QxVXRPU1FqZW0xQ2V4UDVRZjV1UXF4SXZqVG14cTRhM3NxTkdn?=
 =?utf-8?B?QWd1eVFkUDErMVZQUGZpVjJ1dlprdUp5YmpEdTdURytQRWlQa3JKb3RNOTEy?=
 =?utf-8?B?UzN3TjVBaUduRE8rNjExRXdwN0FUMjdad0NFZGRQaHlVd0h6cVlaRHZJVXBq?=
 =?utf-8?B?UjFOaU9SWkt4KzlseXNVV1d5UzlpM1pnME5kZEpnWU1aUVhtK2Zmb2l5TnZH?=
 =?utf-8?B?K29YSUFVamNVejhLTFNYQUxmV2VwejAxQ3N3K2VVbjRnMStkNVpUaDJGS1RF?=
 =?utf-8?B?bExRbUxEdHZDK0EycGgvaDlRRlUvWlU4Zm9rSnNidGM2Y2FJazdQZWxtQlFS?=
 =?utf-8?B?MnJPa3FiRURNNUNTV2U3dy9uQnNvMzV4RHc3WkkrTHlDeFhuSnd6N3pJdzBT?=
 =?utf-8?B?cTE0b001Q3N6d1BUNjVxZnpQaFh1YXBrUlkyZDNqcXlBTlo5dmtwYi9PbFhG?=
 =?utf-8?B?MnRyQkVuV3NBN05uV2pZK0k5UzZIQmZGaEhjbkpUZ3VqWmN1UnYyekk0UDVG?=
 =?utf-8?B?QzB0UUMrcnhWMnFtdU1jK3MwV3c3dXJ2empYTnB4TzllNXlJa21NMkNPcXlo?=
 =?utf-8?B?TUFCZ2g2VlltemNLZ3JhSkFTeElvQUY5enBUMHJ3TkpmY1NSV3RWU09IVk5C?=
 =?utf-8?B?Zkd5UERZYWh5T2JXVG14UFhmSkxMNnhsYnBkOXFHa1c3M2dWNXFiOVEzdnd3?=
 =?utf-8?Q?stkRaa7DoVNtyjlzzvoq5Hjyq?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <5AF71790E9157C4DB81CB2ED5418DB1D@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?dGlHYXdha1lSRWVyZGNKQmUzZkJsaDZuVXJuV1M4VldNdHFXWTlzVm1naVBp?=
 =?utf-8?B?a1oxaVptdnp4MG1JWVpVUUhoUjNXNDhLQUhGZlp5MCtJVFMzZnFiR1h4enNp?=
 =?utf-8?B?NmlvTWcwUjhEM3U4UHNEUnNQdHBTbSs4WWJXY3hxdnJrcHdhclA3ZnBLT3U5?=
 =?utf-8?B?RUdLaFI2bEdNajZicnR3Y2ZVV3BUODBSNjdoMTVIU09PWFZ0SlJZQXlpL2po?=
 =?utf-8?B?MGZMaW5ndkJ2TTFYMkpXYWZFeGxhclljdzBxZDNneTJMQi9KdFp0TENGTDRi?=
 =?utf-8?B?RWphS1JkZVdpWitHbHNjSHM5Q1hsbkxwajdrM2hGU3Rrc0w5UXNlcDU2OG5R?=
 =?utf-8?B?V0RMMUQ0ai9NVTZXbjMzbmhFa3dWbW5SVUN1czgyOWlGRVI0emd3RGxWU2xr?=
 =?utf-8?B?Y2Y0ZUhmOVYxam5mNjRIVXdXUndiczNCRXUyNGJFOEVRT2NkYjBSM3F1NHF3?=
 =?utf-8?B?WUY0NFVOa0k5UUtWcmZCRVVqZGppL1pCRkU1NmNGdjZSeWhUU1BQTGNydi9Z?=
 =?utf-8?B?cUR6MWxTbTBRT0d0WU5BVGdLRDkySTU0a3hiYlM4a24xRWdscHlGVzdkb1kv?=
 =?utf-8?B?VGM1ckdUdVpZY2pJZ2VsR1BoTXJrakxEbWdwM3RVZGFCeTVJdnpqSWFiTTZk?=
 =?utf-8?B?RmtqaC9VejNYbnBBQ2FMa1NZZnVOUERWN3Jmazc5dmd6cVVqT21JR0daNkY2?=
 =?utf-8?B?Qjd1eThVcjNqcy9scjV2Tm12YTRPMmNCTHVuU1V0ZHZtNGtyOEVsVHdzbEc3?=
 =?utf-8?B?TlVaU0Y4V2liaHZQaS8xYmNHYXU1c0xOejVaMkt4ZUkwY3cxWWhKRnowL1pW?=
 =?utf-8?B?dEM3MDYzOU9meFJoQklpcVRTUHR4V3Q1Ny9lNksrbmt0eVVQb2dNcjNTZWg2?=
 =?utf-8?B?NGhCekU2UDJSKzFZanpsaHBBNUhKbnpVOStyZFNzSW1keUZtd3Y2RlEyZTU4?=
 =?utf-8?B?eU1NaHNoK0NSaDJzTExRbzFWZHZuZkNCSEdUMkNNREdxWmhrYXdGcVBQR2RO?=
 =?utf-8?B?UWdXVXNYZ2ZIVjQrNlBmR2c4cVNmNUtEUUl0WXcvb215VnIzdTY0VThHeGNB?=
 =?utf-8?B?QkhESmlxMmp6T05kVW94TFB3Z1pGTVZuNUEyWDVhTWJhWlpYZ2JtUFpDMXcy?=
 =?utf-8?B?QzBHSWZCbUl4OENpa3RWSlBuL2UzYkVhdHlnOStyeXM5aDQ1MXNJaWtVSFBJ?=
 =?utf-8?B?NVNwZ1ZIQVphajJrOGwvMHB1MGk0T1Z5NFVjbHpINGlkYTErWXZqQU9aKy93?=
 =?utf-8?B?eXlwajkvUzJWT0NtUUhLR25CUENEcnY3dEpHSDZ2WXdBQzd0UT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2af0445d-fb0c-4962-6a6e-08dad7768b46
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 10:42:16.8638
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: mV+boGADU8a+jlohJQ/+nMG59gTWNl6/CEEgDiAbauGpu8Fj6ob9EUZMF37Qx+nhcT21tRQUkVfqWkC1gK93kNZ6LYu8Tde1oNFsxkAFkQ8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR03MB6982

T24gMDYvMTIvMjAyMiAwNDozMywgRGVtaSBNYXJpZSBPYmVub3VyIHdyb3RlOg0KPiBUaGlzIHN0
aWxsIGhhcmQtY29kZXMgdGhlIGFzc3VtcHRpb24gdGhhdCB0aGUgdHdvIHNwYXJlIHZhbHVlcyBh
cmUNCj4gbWFwcGVkIHRvIFVDLiAgUmVtb3ZpbmcgdGhpcyBhc3N1bXB0aW9uIHdvdWxkIHJlcXVp
cmUgYSBtb3JlIGNvbXBsZXgNCj4gcGF0Y2guDQo+DQo+IFNpZ25lZC1vZmYtYnk6IERlbWkgTWFy
aWUgT2Jlbm91ciA8ZGVtaUBpbnZpc2libGV0aGluZ3NsYWIuY29tPg0KDQpSZXZpZXdlZC1ieTog
QW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCg0KPiAtLS0NCj4gIHhl
bi9hcmNoL3g4Ni9tbS5jIHwgMTEgKysrKy0tLS0tLS0NCj4gIDEgZmlsZSBjaGFuZ2VkLCA0IGlu
c2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pDQo+DQo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94
ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jDQo+IGluZGV4IDc4YjE5NzJlNDE3MGNhY2NjYzlj
MzdjNmU2NGU3NmU2NmE3ZGE4N2YuLjVkMDUzOTljM2E4NDFiZjAzOTkxYTNiZWQ2M2RmOWE4MTVj
MWU4OTEgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNoL3g4Ni9tbS5jDQo+ICsrKyBiL3hlbi9hcmNo
L3g4Ni9tbS5jDQo+IEBAIC05NjEsMTMgKzk2MSwxMCBAQCBnZXRfcGFnZV9mcm9tX2wxZSgNCj4g
IA0KDQpBcyB5b3Ugbm90ZWQgdGhhdCB0aGlzIGRlc3BlcmF0ZWx5IG5lZWRzIGEgY29tbWVudCwg
aG93IGFib3V0DQoNCi8qIEZvcmNlIGNhY2hlYWJsZSBtZW10eXBlcyB0byBVQywgKi8NCg0KaGVy
ZT/CoCBDYW4gZml4IHVwIG9uIGNvbW1pdC4NCg0KfkFuZHJldw0KDQo+ICAgICAgICAgIHN3aXRj
aCAoIGwxZiAmIFBBR0VfQ0FDSEVfQVRUUlMgKQ0KPiAgICAgICAgICB7DQo+IC0gICAgICAgIGNh
c2UgMDogLyogV0IgKi8NCj4gLSAgICAgICAgICAgIGZsaXAgfD0gX1BBR0VfUFdUIHwgX1BBR0Vf
UENEOw0KPiAtICAgICAgICAgICAgYnJlYWs7DQo+IC0gICAgICAgIGNhc2UgX1BBR0VfUFdUOiAv
KiBXVCAqLw0KPiAtICAgICAgICBjYXNlIF9QQUdFX1BXVCB8IF9QQUdFX1BBVDogLyogV1AgKi8N
Cj4gLSAgICAgICAgICAgIGZsaXAgfD0gX1BBR0VfUENEIHwgKGwxZiAmIF9QQUdFX1BBVCk7DQo+
IC0gICAgICAgICAgICBicmVhazsNCj4gKyAgICAgICAgY2FzZSBfUEFHRV9XQjoNCj4gKyAgICAg
ICAgY2FzZSBfUEFHRV9XVDoNCj4gKyAgICAgICAgY2FzZSBfUEFHRV9XUDoNCj4gKyAgICAgICAg
ICAgIGZsaXAgfD0gKGwxZiAmIFBBR0VfQ0FDSEVfQVRUUlMpIF4gX1BBR0VfVUM7DQo+ICAgICAg
ICAgIH0NCj4gIA0KPiAgICAgICAgICByZXR1cm4gZmxpcDsNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 10:43:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 10:43:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454604.712118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VQY-00060C-Ie; Tue, 06 Dec 2022 10:43:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454604.712118; Tue, 06 Dec 2022 10:43:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VQY-000605-FF; Tue, 06 Dec 2022 10:43:54 +0000
Received: by outflank-mailman (input) for mailman id 454604;
 Tue, 06 Dec 2022 10:43:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WlZ+=4E=citrix.com=prvs=3329fe38d=Per.Bilse@srs-se1.protection.inumbo.net>)
 id 1p2VQX-0005zw-BY
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 10:43:53 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id deb97941-7552-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 11:43:51 +0100 (CET)
Received: from mail-dm6nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Dec 2022 05:43:49 -0500
Received: from BN6PR03MB3378.namprd03.prod.outlook.com (2603:10b6:405:42::30)
 by SJ0PR03MB5517.namprd03.prod.outlook.com (2603:10b6:a03:279::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 10:43:47 +0000
Received: from BN6PR03MB3378.namprd03.prod.outlook.com
 ([fe80::b47b:e121:d2c1:1e4a]) by BN6PR03MB3378.namprd03.prod.outlook.com
 ([fe80::b47b:e121:d2c1:1e4a%5]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 10:43:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: deb97941-7552-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670323431;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=vAWf+ifIjwxHSFIPq0aoWYCUpeD4/zwsmJJWYemYdhM=;
  b=IL4cFHS1WZrey+79SyJ5mTX6y9o7z01KXRGA3RTeQG6nkBJ5Pfajcrw3
   QlZJNeriOXFgkS13HcpE6Gt+gaQAHBQq+UOxkBs8bEV5YG09+XB2+8NJp
   jG3AZw7J8fKzOU3FsMgtOvkl3RZ61J0TzSEelxvbArZLqoYxi8RAsIa9I
   c=;
X-IronPort-RemoteIP: 104.47.58.105
X-IronPort-MID: 86806812
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:gJAE6aqafSoL3aq8preQEtWlz1ZeBmLdZBIvgKrLsJaIsI4StFCzt
 garIBmCaanYN2byc94nPIvk9x8C6sfSnIUwQQVu+CA9RHsU+ZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzydNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXACsmVQuNqumw+p7hY+lhuOc+dNHXPbpK7xmMzRmBZRonabbqZvySoPN9gnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeiraYKIEjCJbZw9ckKwn
 m/cuU74BgoXHNee1SCE4jSngeqncSbTCNxCTOPor6QCbFu75EAiBTM5dmGH/rrnkXyVBZFFI
 n025X97xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L8+w+EAkAUQzgHb8Yp3OcpQRQ62
 1nPmMnmbRRtrbmURHS15rqS6zSoNkA9PWIEICMJUwYBy93iu50oyALCSM55F6y4hcGzHiv/q
 w1mtwA7jrQXyMIOiaOy+Amfhyr2/8CUCAko+g/QQ2SpqBtjY5KobJCp7l6d6utcKIGeTR+Ku
 31sd9Wi0d3ixKqlzESlKNjh1pnzjxpZGFUwWWJSIqQ=
IronPort-HdrOrdr: A9a23:8ZIFpKM4RP6EYsBcTvyjsMiBIKoaSvp033AB3UoZc20zTiX+ra
 yTdZUguiMc7Qx7ZJhOo7690cW7IE80l6QFgrX5TI3DYOCOggLBRuxfBODZsl/d8kPFh4pg/J
 YlX69iCMDhSXhW5PyKhjVQyuxQpeW6zA==
X-IronPort-AV: E=Sophos;i="5.96,222,1665460800"; 
   d="scan'208";a="86806812"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Lug4Mk13t02kYbz4PjczHXeg5BpkoUBVJcXC6Wu9VY0V1zd3RwacHcl+TOZMQyIW8Wj3oH9vl1WRDwJTKalSh0spJ2igX0Op1QqUmyBGxKyusXEGYhaqyQYtQ8IcPSq/weefC0NchJi3Do448V6tVDn4Z/8h0XuPOVhHVBXkwk0bhzp5igS6/4cDLjrS2xeyunfY3Ei1pfiLOI9FqwzNEBbojVDJ2dijhAgjVp+wU+gsE5m9/EoBt2CpioqkEfaI/wLBYrICcQy60NRZBlDXoPg81dVSo3AlpNz0bE2eaZXK4d//xySHxQHBQvglzgZ5TdAXjUHUQZdh03nkXpLYsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vAWf+ifIjwxHSFIPq0aoWYCUpeD4/zwsmJJWYemYdhM=;
 b=VubZeE1NTl4WKGtRFwcInWrB/CIjmWJGQbXXFISIIlXz/DdAY+pqDFw8hx3ZO6ems1u/QKm2zpL+RISoyLyHXCojUZWM1W8FRoOMDAChoKycP22W3FgdD5LR7IJChXFRlamUyolath0LUAgnuc2cUi4cPHgcfvXSDc0v3Q/MwG2av/7QBtpfb6fGEzfdBE1+/bPyGYaCpCmeNIRMMCDvh+i/pg/3lDP1ZB55n69J6tqN8tFfcGMFvBUkLLPpHGKzMGzZgukYkl4p42ry0foVq7NIttoybOYo4fPh1X6VNN6hv2s79SpOcngB6P5u1GjoWylUAwHJ239YeHei0ABf3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vAWf+ifIjwxHSFIPq0aoWYCUpeD4/zwsmJJWYemYdhM=;
 b=GTgcg6ylVvwLIlRlJHqU74kmAvEXmbRyL4OEbnm1tuQBVA4EtsSTckm5jiBxRzFFxZVznq6EUV71tpXVYu00Jejs3AZe+Q+46pR0zUxjybnUYIhXg7Vjq43LTtI23EQKuLDwe4+A5rY68TEG27i2eQcyO8xvc7t1t7bdhFzgvtw=
From: "Per Bilse (3P)" <Per.Bilse@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Paul Durrant <paul@xen.org>, Andrew Cooper <Andrew.Cooper3@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] ioreq_broadcast(): accept partial broadcast success
Thread-Topic: [PATCH] ioreq_broadcast(): accept partial broadcast success
Thread-Index: AQHZCV+dQ5gC8MSrQkutQViuEWIcyQ==
Date: Tue, 6 Dec 2022 10:43:46 +0000
Message-ID: <a41a580d-b4e4-2b2b-d58f-7ecdf3f98f56@citrix.com>
References:
 <06ad4b3a67a15192fc986b35e3f2fcd35b2f4c2f.1669383767.git.per.bilse@citrix.com>
 <d7a42f21-6dd3-108e-9278-74d756d941e6@xen.org>
 <fdc2eb93-2b8a-f3c9-82b0-5d4e90ecda9c@suse.com>
In-Reply-To: <fdc2eb93-2b8a-f3c9-82b0-5d4e90ecda9c@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN6PR03MB3378:EE_|SJ0PR03MB5517:EE_
x-ms-office365-filtering-correlation-id: f68471f5-ca14-489b-decf-08dad776c0da
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 GHI+T/feG7uWEIKhni5BPKiY4Euzn4C0GkVzpHQxrVtvFl8KOcypHeAH7t+/f6hfrhVUkrkTbib6TLoELWtxfHnh9LbTTqSZeZ9nZH4rjut3nADUQ7EWSjRWL/3TaGQhMIg4zuKCqdU6DMxluAbOW3K5tWloqV5RGyq3OInlJ3eDm1Gm8KghNwMa7g3JOAogRgo/Fg+YVGLynK86u8baNmAvnWNlEaMIJtlLGhWxaQUfX1mhJa2pO3kscbHZYvMOzTuylA1ELpHhX/9ffq3CCRGCioE1FYplLgLVHZW6tMc/O2ZtfeZVV11WGOSAgaCEB9qeIzkEZfFF5cmq3hgZYOt0oYU0FdrAKrk/SH8nCr1B7yfWN2gEKOdjOKvH7i6scfAr4EsP1Cx0bsL2bWE4EG7YxYxuF4NDyOBIKVBJ/kLDir+g2mO+uUWnbnAw35lky2DKHcDOGyu5gwr6E7jy0ctdOlcB+9wTj6NtiZn9KaJbZy1rTJ0P4uk7gNgz1IhDcJC8mc+hXYk5Loo13WACTQUa+qXijU4fsI/oi/BC3mqFKmjaRz5OjK3fEC8B/3+C0VUfqxwO2sJniZoDl3GjbNoHFwoRv9b4RYLaj/P+kXL1gVTWXI9hx8pkf7Yoi34+A92erf+JC74KAO9OLvCL1vQeeIji86+nU8tK8utAO/3pFgKd5lIIJqvbXf2jv8pPk7jBG97IKhdRQfTut/H7FlZfhqWM5gJg900o73tmsuA=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR03MB3378.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(366004)(136003)(39860400002)(396003)(451199015)(36756003)(6486002)(31686004)(38100700002)(31696002)(41300700001)(86362001)(4326008)(38070700005)(8936002)(2906002)(5660300002)(122000001)(83380400001)(66476007)(478600001)(76116006)(66946007)(6916009)(66556008)(2616005)(54906003)(91956017)(71200400001)(316002)(82960400001)(8676002)(66446008)(6512007)(186003)(53546011)(64756008)(6506007)(26005)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RTZ4Uk4yNVN5Q3haTzNkRTlBRG5RK1NSZVZhNlFFeExzZm5KbXdWb1BkcXNG?=
 =?utf-8?B?aVlCYk1VNzZpWU50RllZNzZxWE5aeWpMKzhqd00vRkpXczRjWEZHQm1uQXBI?=
 =?utf-8?B?NFp4eUdVcmRYcWlYYy9nTnVwZ1dPM2VYdXhEUS94c3hkS0dHTWNGY3RHWXAx?=
 =?utf-8?B?T0tRMnRvZ3UzaUR2Rjc3c1Vrb3plNzc1VEZ6WkIreklSb3hWNG9SRXgzb2xv?=
 =?utf-8?B?eGpsWlNvSVpNYUtYdXBXMW0yeXRzU3RQNHd2ZCsyakFQRTJ3YlV0VjRNYkZX?=
 =?utf-8?B?d0RtejNYTHBBU3ZIOEdoZ1RTU29yRVgvcWpzVWR0cU82NjlrbEpEaGpuVjhw?=
 =?utf-8?B?M0VkRXhFMjJVQThsQmRJdzhjVVFhZG9CTzZBWDdwcXBDenJXWTdtQlM4Yy9v?=
 =?utf-8?B?WFJ1Y2VTRGlZUXZaQk9NWlZ6eGU5b3BpK2N2c0pBRDFsVmlQaVZJYkc2cHJz?=
 =?utf-8?B?SGJ3bmt5TkJqMU9ycUx2VGpheWFhMFZZN1lXTGlxZVBpblcrRkVHZGVrS1hQ?=
 =?utf-8?B?d1djaE4yUmdvUTdyVXlpeURMclM3elBLTk8rUnZ2anpUU015TkNIcVRhN0No?=
 =?utf-8?B?V1cybHpsdDFmVlRoNFdtR0cvR1EzUk82QkdWcEM0QUt5aWttLzJFbVZUOVo2?=
 =?utf-8?B?dUZhWDFNUDZ6Z2U5MW9rK25qUWJxbktEM2dFVDUxZkZGWG9ZUnEvb2VVS09F?=
 =?utf-8?B?bStHTjN6Nm80RUVyVzlTak5mNjZlY1FyeWFlV2F6Y3BkNER0OGxDVXdEVm9G?=
 =?utf-8?B?MC9iVzcwWEtNSGV0ckZyUlEzVWZId2IxYTJHYVRBZVlNaW9KM0dlNURheW03?=
 =?utf-8?B?aXY5R0tZLzJvUUQ2d1cyQ2t2UmtKa3ZycGt0alVqWHcxdE5RZWhROVlQRHFH?=
 =?utf-8?B?RGMrN0lvaDNrazkzc2FsT2JuZmhsQXFoSnh6WWNSS21PWjgrcWVFTVlGeDJl?=
 =?utf-8?B?TVRqSmtML05HZDhrUllGOGFTeCt1ZWJ3OHBnZHhPaThncDdjaDc3Z3ZrRCt2?=
 =?utf-8?B?WFhVSThKVGpMVDRzSTBHV2pabmZwblh3N2M5dHYyclE0ZnZUZFRVSlZJUGRN?=
 =?utf-8?B?WjQ4ek5LNnN0bFh2aDhPWWRPaGhnL1dJZWhqTnEwdEtHYittZ3UzVnp3UTBL?=
 =?utf-8?B?K09Zd0ZJWTAxZUVBc0V4S1J0bUZwdEJtVmk2bDVLelpiZTdKLzUwSDd4am8r?=
 =?utf-8?B?cDQ5Vm1CcStuTGNieGdGRkFnMXRwcEVrdkJNK2VMN2dxeEN4TjdLQVg0MHla?=
 =?utf-8?B?RXNTMlUyZjY4cGZ4ZmNnWlJOMnlLbGJkTmZjR3FZV2JnWlVqcnlMTll4SVhm?=
 =?utf-8?B?Q3Q5ejloYUIzWHB5SnQ3R0pjdjFvcGdua0JjMGI2RGwzTHJxN1RWcG05RU1J?=
 =?utf-8?B?VDFxNWFJYUFad3o4TVZGUGVmRk1DK2lxWFJHSi91NWVHVkJZdlI1N3RoNXFG?=
 =?utf-8?B?R3BWTFAxeDZ0VHl6Zm5jRjMvK3c5WVVNdUtpdUVVYXB1c2c3amZzYm93elF0?=
 =?utf-8?B?RG9Vb1EzVlZTZEhqeGxJVGd3YUVyTWNzTEg4MVZVOEdEejBUV3BxZ1VUd0Ux?=
 =?utf-8?B?dXJ2NkhSZldVTGhCaEMzalBYVFFxYmpZajVWeSsvL1ljbTZUTG9jcXRMSjkx?=
 =?utf-8?B?MGtLMnhtZ3gvUXhXbTNUWmFjcEk2eUhuMkdiZU9lQlg1NHQ5aThVcHhLTlJR?=
 =?utf-8?B?RGdhNmxHcThKL1pOMEVJU0FxMDBMZXliTWU5QndLUGZaK0grcGRKYmx5d1BP?=
 =?utf-8?B?QWRVYnhNQkN6bjgxNTk2dEVaejhMbk1wdlNYSytHL0xubmo4bDVSbHpLTGEx?=
 =?utf-8?B?NTAveXh2NkhFOG9vRVZ1SThycGN2SktuZ0MyQ1lISFhhbEMwSFhESTA2NDQr?=
 =?utf-8?B?L1pRcmJDeWVjbW1zVzIxREc4ako0RDdMWXFma0xwVVduTmdtS21SejlGalYr?=
 =?utf-8?B?TVJPNDlub25zbVROWjFLTzU4eFpUM3g0NUlWYWZ4aE5maXlhSGlnR1IwQlVz?=
 =?utf-8?B?M1V5a0tnRTY5NWNXZ0twWjUrMDlIdnZaeUtHMmpSTmIyOXJqMkJVaUpTQ0py?=
 =?utf-8?B?K2N0WEdVaCtqS2x1b3ZaRXhXYXBSWk9hc3k2MmRaOWRwM0JRbVJzT3Z5UlAy?=
 =?utf-8?Q?Iuxox1j2ka/VIKo+M9x+4T1It?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <20A975C1CF5891469D2CC010CA5C6C1A@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	9tr3jZNdmX4qyFA6Fk4B2ltRKv0iPYEo4vgXyI4SdkduIJyLFhecnFcygJ9Y6edvLmbK2wK1pmLpQuWRDbtYwIQxZtPHZJh78bE624TDAZ4JquClEV3uGesWV+7MgxFl+k9PIN2h0jC0wa0zn3YxWlWRWMXja2JKOLzZEoporoANOJdCZ/ufHidsieGUezOGTA0qW2VsIP052zK56U5zTMaygITw6FNG9r2hsZoeA3ocSGT/M3bMv4lT1nciuOUn1TeFyJjyD1obWvyqat4GKO8p0fPKl+GnqXL51i0ryrb6YxKm83YoZ0CLwKDoDb0r9WrOnjKhNPRLMkrpPnFKkY17oZzDg2pt2SQcbWF5qdW5cm2DdaDPE8JcMHzTTOF5tMpuTqKdoq4CIjPvoLcHybX0rLztprvgns9W8KLOi+dzuMVri1EnbBwIxadgvEBwxIoAg9PEKqylVlUuSIO5X2RdxbOLffRX3YcrPMLylVNvqmk5XUNDmdpnC80bnwelajyJV6YbzsTh2etHlRhTsIBVuWkXIndF9jd1adquYfxQz9J0xdZivOIyCjWBH3r847vXtkOz/dD8O1uFam0iQj+X+1ylkxvxZJ00UD4fns5eBfpK6cxlkwxYkTFLud4DbBhbqJLs+/29JjxgK6VGdnkdaoflP5H/1Ct9TrZTiUceraCaaMMqZXRC2FDDgXZDA30hHBRMf+kZ+i2jQD5TXa4S8TefrW2zuLe4DJFhGqP/m5yYkabN5hzmC5HjlIkYDXT+cBO4BDKAGDypYfhRWIrlkkzYWGBXMN9DTU2oPzUiKfGxFPcnbKJ2Sd9KJLJShdQgjfTbB1/NOS+s2/6hnNH/q0rbzS0UNVGw0jzuI4SwjRkIcKq1TinyCcHeM/Bt
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN6PR03MB3378.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f68471f5-ca14-489b-decf-08dad776c0da
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 10:43:46.7872
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: HR3NFyBxBD6HWx5spULSqyd0dNl17N9CCMWv3hQbvdoM+hOjL9QNGmOi4oGySSEsaDqSrJzPjc7DYR4yOskf9g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5517

T24gMjgvMTEvMjAyMiAwODoyMSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IEluIGFkZGl0aW9uIEkg
dGhpbmsgaWdub3JpbmcgZmFpbHVyZSAoYW5kLCBhcyBzYWlkIGJ5IEp1bGllbiwgb25seSBiZWNh
dXNlDQo+IG9mIG5vIGJ1ZmlvcmVxIGJlaW5nIHJlZ2lzdGVyZWQpIGlzIChraW5kIG9mIGltcGxp
Y2l0bHkpIHZhbGlkIG9ubHkgZm9yDQo+IGJ1ZmZlcmVkIHJlcXVlc3RzLiBIZW5jZSBJJ20gdW5j
b252aW5jZWQgb2YgdGhlIG5lZWQgb2YgYSBuZXcgYm9vbGVhbg0KPiBmdW5jdGlvbiBwYXJhbWV0
ZXIuIEluc3RlYWQgSSB0aGluayB3ZSBuZWVkIGEgbmV3IElPUkVRX1NUQVRVU18uLi4gdmFsdWUN
Cj4gcmVwcmVzZW50aW5nIHRoZSAibm90IHJlZ2lzdGVyZWQiIGNhc2UuIEFuZCB0aGF0IGNvdWxk
IHRoZW4gYmUgdXNlZCBieQ0KPiBpb3JlcV9icm9hZGNhc3QoKSB0byBza2lwIGluY3JlbWVudGlu
ZyBvZiAiZmFpbGVkIi4NCg0KSSB0aGluayBJIGhhdmUgYmVlbiB0aGlua2luZyBhYm91dCB0aGlz
IHRoZSB3cm9uZyB3YXkuICBNeSB0aGlua2luZyBoYXMNCmJlZW4gdGhhdCBkcm9wcGluZyBhbiB1
cGRhdGUgKGJ1ZmZlcmVkIG9yIG5vdCkgd291bGQgYmUgY29ycmVjdCBvbmx5DQppbiBzcGVjaWFs
IGNhc2VzIHN1Y2ggYXMgdGltZW9mZnNldCwgYW5kIGl0IHdvdWxkIHRoZXJlZm9yZSBnZW5lcmFs
bHkNCmJlIGFuIGVycm9yIGlmIGEgYnVmZmVyZWQgdXBkYXRlIHdhcyBkaXJlY3RlZCB0byBhIGhh
bmRsZXIgdGhhdCBoYWRuJ3QNCnJlZ2lzdGVyZWQgZm9yIGJ1ZmZlcmVkIHVwZGF0ZXMuICBUaGUg
dGhpbmtpbmcgaW4gdGhpcyBwcm9wb3NhbCBzdWdnZXN0cw0KdGhhdCBoYW5kbGVycyBhcmUgZ2Vu
ZXJhbGx5IGZyZWUgdG8gY2hvb3NlIHdoZXRoZXIgb3Igbm90IHRvIGFjY2VwdA0KYnVmZmVyZWQg
dXBkYXRlcy4gIEkgd291bGRuJ3QgaGF2ZSBzdXNwZWN0ZWQgdGhpcywgYnV0IEkgYXNzdW1lIHRo
ZW4NCnRoYXQgdGhpcyBpcyBwZXJmZWN0bHkgcmVhc29uYWJsZSBpbiB0aGUgY29udGV4dCBvZiBY
ZW4gSU8gaGFuZGxpbmcsIHNvDQpJJ2xsIGdvIHdpdGggdGhhdC4NCg0KQmVzdCwNCg0KICAgLS0g
UGVyDQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 10:59:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 10:59:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454613.712129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VfX-0007s7-Qa; Tue, 06 Dec 2022 10:59:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454613.712129; Tue, 06 Dec 2022 10:59:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VfX-0007s0-N7; Tue, 06 Dec 2022 10:59:23 +0000
Received: by outflank-mailman (input) for mailman id 454613;
 Tue, 06 Dec 2022 10:59:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XkKw=4E=citrix.com=prvs=332b12f58=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p2VfV-0007ru-SW
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 10:59:22 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05eeae33-7555-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 11:59:17 +0100 (CET)
Received: from mail-co1nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Dec 2022 05:59:11 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO3PR03MB6759.namprd03.prod.outlook.com (2603:10b6:303:179::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Tue, 6 Dec
 2022 10:59:10 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 10:59:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05eeae33-7555-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670324357;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=/2AzkgF4a+9AJ7YOzwxj2q0kZigtMfhoQ0TvOO2fbSU=;
  b=ZMLWzCzh44nY6tQvvicwqff/wpEUU2KY/0lo0gsAQkNN0xRIM3puv9wJ
   8WURPBeMltZpLsWuU+BIxsK47e7mb3tJo/8sqEO4tGDASMuoyT82Kz2Ew
   dry6It54Pkf+3Q6hfqJ4kuvgDZFDL+4UMPLyEbjerY1oSmtj5KLte0XmA
   8=;
X-IronPort-RemoteIP: 104.47.56.176
X-IronPort-MID: 86346851
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:KtP+H6oVY3o6V9hfEmukDps56/BeBmLvZBIvgKrLsJaIsI4StFCzt
 garIBmBOPiLMWfwf9EkOoW2/R4O75CEyYJhTQVtrCkwFCNH85uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzydNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAGAEMC2gl+Sx+7iyT8c23e57dcbNLapK7xmMzRmBZRonabbqZvyToPR/hXI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jearaYWLEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXoqKU23g3OnwT/DjUIWBiSusm0oHXlWsMBB
 2oSpTErsJAtoRnDot7VGkfQTGS/lhIRXtt4Eusk6RqMwK7Z/waYAGcfSjdLLtchsaceVTEsk
 1OEgd7tLThuq6GOD2KQ8K+OqjG/MjRTKnUNDQcBRBEA6sPuo6kyiAzOVddpFKOpjtzzFir0y
 jrMpy87750Rh8MW06Sw/Xjcnimh4JPOS2Yd+QH/Tm+jqARja+aNe42twUjW67BHNonxc7Wal
 H0Nmszb5+dXC5iIzXWJWL9UQ+/v4OuZOjrBh1IpB4Mm6zmm53+ke8ZX/S16I0BqdM0DfFcFf
 XPuhO+Y37cLVFPCUEO9S9vZ5xgCpUQ4KenYaw==
IronPort-HdrOrdr: A9a23:7LojkarXP9FCDma7st1xJ0gaV5sFLNV00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssSkb6Ku90KnpewK+yXbsibNhcYtKLzOWwldAS7sSorcKogeQVhEWk9Qw6U
 4OSdkYNDSdNzlHZIPBkXGF+rUbsZe6GcKT9IHjJh5WJGkEBZ2IrT0JczpzeXcGJjWucKBJcK
 Z0kfA3wgZIF052Uu2LQl0+G8TTrdzCk5zrJTYAGh4c8QGLyR+49bLgFBCc/xEGFxdC260r/2
 TpmxHwovzLiYD69jbsk0voq7hGktrozdVOQOSKl8guMz3pziq4eYh7XLWGnTYt5MWi8kwjnt
 Xgqwope+5z93TSVGeopgaF4Xig7B8er1vZjXOIi3rqpsL0ABggDdBauI5fehzFr2I9odBVys
 twriCknqsSKSmFsDX25tDOWR0vvFGzu2AenekaiGEaeZcCaYVWsZcU8CpuYdI99WPBmcQa+d
 tVfYfhDcVtAAqnhrfizzFSKemXLzMO99G9MxM/U4KuomJrdTtCvjYlLYQk7ws9HdQGOtp5Dq
 3/Q9pVfPsldL5oUYttQOgGWse5EWrLXFbFN3+TO03uEOUdN2vKsIOf2sR82AgEQu178HIeou
 W2bLpjjx96R2v+TcmVmJFb+BHER2uwGTzr18FF/pB8/rnxXqDiPyGPQE0n15LImYRUPuTLH/
 KofJ5GCf7qKmXjXY5Pwg3lQpFXbX0TStcctNo3U0+H5sjLNorpvOrGd+u7HsunLR80HmfkRn
 cTVjn6I8tNqkitR3/jmRDUH2jgf0TulKgAZ5QyP9JjvLTlGrc8wTT9027Jl/1jAQcywpAebQ
 95PK7tlL+9qC2/4XvIhl8ZTyZgMg==
X-IronPort-AV: E=Sophos;i="5.96,222,1665460800"; 
   d="scan'208";a="86346851"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T77HbFJ0metX9KTLqmAwbcmaMcRvFmn/b/YYwmrY++y5Y87PLTdylNC7StLXPz51zpzDn6iBip2cZoX3f4Cm2rD5beO4MXWxS8Wdrp6W+QTHeZ3+zmoBHKyDxTGHrno5rrC0shVpUzLVZpj0a+wQX7UWsQ+sDuOIUJvu1d3Hakl8zcwy5cF8gn1YnVwxRNC9s38wR7BsFQWiRXzZxy4ovnQkmYtDCjO651Y6mrmfWv6uoku/5S1j7v7Y+lGr6qFaPjeTpuO8CdBBXxKwbD6phYAZIgkC2o+EyYLoexOH6rU4Ezj7A/QVSbqISDPAt/vA1keeE4haycrLnXHOry/pug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/2AzkgF4a+9AJ7YOzwxj2q0kZigtMfhoQ0TvOO2fbSU=;
 b=N60ejX7L0nKTGsgXaM5y0ZCPCxLPHQixI4PnV119MLAAlfGdW4aSlgXoTqyTMubGI5AXW0se7gc0tWpkxnckysoognsbOjIOoYHyyiN59uKQUYxGK09Ts1xlpQn3yq+/FOgqfr5Y24L8XY2yYJNnmldAD5Mw0tfdqPYlrbKXFZ91LKLxYnvuqoPSyVbbWxJaaTpapLqk184s1VW8HLpXlvBm8rElhAG16unbp1uVLFztnfhDlhdtqOZwjrfwplz3uML2tnfoGWsrFY4U+bZoV3ZK8QnOXBCkjoQdeymSdwv1X23InxycF7tfJWhCGWPkPinANRGhMc2O/zmsM//a2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/2AzkgF4a+9AJ7YOzwxj2q0kZigtMfhoQ0TvOO2fbSU=;
 b=jSDaRCMJ9RCbNv9lN1AK+bUEVp5aGFUpdF3TqddPYvynSP4fgICjGgOic6yXdnGoNsql5+XHS4KP2eBBBU6kfuZptfwUuuCUrKnTyGp6aLwnGzkDjztpLtEfZHFt7YiHfUCA0cFq03dbGXCnU8SQjMotROFqLbWMOTWDen6HWR4=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: =?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>, Roger Pau
 Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 2/8] p2m-pt: Avoid hard-coding Xen's PAT
Thread-Topic: [PATCH 2/8] p2m-pt: Avoid hard-coding Xen's PAT
Thread-Index: AQHZCSwIzli/2Ant/U6BsahXUdEmfK5gsTCA
Date: Tue, 6 Dec 2022 10:59:09 +0000
Message-ID: <cea0b80f-6fca-9dcd-8d04-2e7ce943118a@citrix.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <94c76a8be13a592ef98c80525b6c016cee583e73.1670300446.git.demi@invisiblethingslab.com>
In-Reply-To:
 <94c76a8be13a592ef98c80525b6c016cee583e73.1670300446.git.demi@invisiblethingslab.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|CO3PR03MB6759:EE_
x-ms-office365-filtering-correlation-id: 708c9a2e-be80-471e-459a-08dad778e704
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 xa7fWOKyycc9MKUzqyUapxtjrnypSih4dA4Lblrpy+MbBvOtBfh7AUYPoe68yvxTw8ISbeOqUD+T0fYvtPjEdAlmBnLOffX5EsDsNOhp+kftKkUaV6mukIcQTTdoOk5WDI8pORXnj2Owb6gXht9Tf4H+k47zhAsoW3vFsaRxPhvvt9jlT+1ZMmmswhQ6ejxMxGQxSoq32gjPvXyEbescVgHyois+AC5E3+/kMiQiN8uyQaYBYh+gfcW1TnFenr3XnjBXzhFCfmudiTo0PZxUjoJGsY8rUW1ZY6fXAirZsqhwgKmhhC4EPTwUw9MZGTv5mrawr49t7P4VnmDs/d9TqiNlOyDDgkgsSNLBeK7ci5DBLKa5A3eMgVUw08Sk0c9K1gG7fb/tBVsaWZmC/4gk3K88igo8lXT+y8oB406c2PNu6bAHZPn4zLD0aZeAkIoNHkiAcW5XA7g0IMSoiHF08vMORekDAoZRuRLG6RRLWJatTzU7Lux0MzLdsUzbTm/BLvsagLjM7wCaynXOYRlyJfTOp8GhGQ1bYLcmWuxp0uWA3fmet8J0lUVrapxKvv/+qg+d9bmXQjWk+C4I0m6KC3xAq5F05Njc4Nsd46R2Rh3Ou/YOUcFVg4MjnSoGvqLOxrBQt4Q2e65o0yHpfg2sa1JEW0+Yq+tJNXPgUxFWSqc3uY0wICnDZNejXLXvB0EEvAQogwsCvzPwbE/TZ6KZAzR1rBaQzKKRsRF14qpT89na1kZD5VO8JUHokKUUcPoKOFfmZ2wa1ZPxcHFYdMdGTw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(39860400002)(346002)(376002)(366004)(451199015)(83380400001)(186003)(31696002)(86362001)(2616005)(38070700005)(38100700002)(122000001)(82960400001)(316002)(36756003)(110136005)(54906003)(2906002)(91956017)(76116006)(66476007)(66556008)(64756008)(41300700001)(66946007)(31686004)(66446008)(4326008)(8676002)(8936002)(5660300002)(53546011)(71200400001)(6506007)(26005)(6512007)(6486002)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dW40bHV1dEd3QTc3VFUvRlliS28xYU1yYXBiL2E5SWlVL3J4RHpvOFIycHVh?=
 =?utf-8?B?RnpwK2hrUVJpOVBvUk9yWjZxd0s0Qk9pMTZvR0wwQjNpZlZGcTdSc3o5MXcx?=
 =?utf-8?B?YklzY0p1N0pySC8xNXNxUEowKzVSU1dPWnZjOVhCb3AzYkZRaEMvMkhFQnVW?=
 =?utf-8?B?N0dPVVA2T2wvNTJ0OWVOblZYT2JSc2xSQTZYQ3JLYVJkV0NuQ0RTNkNJY0R0?=
 =?utf-8?B?VkNUeDlKaTk1N3lVdURCK2grM3N2SnhQWC9EZTBoRG9BR2x5SHdLU1VEN2Jm?=
 =?utf-8?B?Vjlyajg0SmR4eTlzbkthMkpHVHJkQVJacTZRc2luZlh5TW9kU0VVZWZ0OVV3?=
 =?utf-8?B?U0d6ZzVETXNaOFl4ZVRJN2tXS2xWZS9mZjJMRHFGaWthbXNFVlRYeWNaQjlN?=
 =?utf-8?B?Nk05cy93V2RMaVQ4QmZTYWlndm5SL2I5ZEJiTEJORG5Hbk0wT0JBUXB1eUlz?=
 =?utf-8?B?R3JxUU9kNmhOMWtNL0g2bGR6cjFsSnY2L01uQVpJNklvbHk4QUJGQ1RWbzlK?=
 =?utf-8?B?YVR6aDcxYVFXYXVFQURzVDZ6emFBd2FtdFkzUnhyTnpud2NKNmhPaWh5V2py?=
 =?utf-8?B?U0FFU2lQN0JxQzNvekdDcmYwQytNN2tIU0NScGFRbXpUem5uNjJaMUR6aXlO?=
 =?utf-8?B?cnE0OEh6akJzaFBMMHpvUmZzcFgvU2pteVdsS0RkbjFJVW1ZK3RrOEN1aDB5?=
 =?utf-8?B?YjgrVnJ5RnFQUE0waGpTcEw4NGg2RCtwazduMEx2T2xQQjZYNHlSbGgwT3Y0?=
 =?utf-8?B?ckNkVkpqNlNNeEpzU1oyZXlEeW4zNndacFNrSnJjNHQ3aTZBQjJKUGIzM0JH?=
 =?utf-8?B?anlNQ0phcElEdnZsdE5QekR5Y2pmYTJDVDZDTlNWMldDVEk3dlhMcmlkL1hI?=
 =?utf-8?B?SWpDbHNManorODdjZ25aNDhSZ3JNUVRGY1RoUEdreUFPWG56eVNVU1ZLbjQy?=
 =?utf-8?B?VVZZZng5Yy9ibkRzM3R2R2VUMUVVbDJXZTFpWlBHSElNa0EwQTdXMDdCbUVx?=
 =?utf-8?B?UDlESjhXRzhReGZkczMwcUQ3RlhRUi9YRHFDSFdWZm1QOVFFbHdxSXo0NWV5?=
 =?utf-8?B?MEp1RUNvSG9lT1BMc3BoNzI1NzZ1Z3ZHUEpZUzR3NGF2SEhMeWJ1dE8xalY1?=
 =?utf-8?B?WlppVHFSbitydGRrZXdxbmtiYjNxMFJBWUVvaGlNR1ZwK3A5RStadlE5OVpX?=
 =?utf-8?B?VDN1cFlMNjllV3VCTjVrTU1TbTRGMW43UHd0U09pNXlETkkvRWRYb3VGMVAx?=
 =?utf-8?B?Y1VQemE3MTVhRlFHMm5KbEFYMWRoU1c0R05VaGpYVkdkK0gxNlJZTUgveGtx?=
 =?utf-8?B?cE9MY0VDdytZZVRmbTJaWjQ5UHdKNWx5ZzhscHM2Y1VXTUlxajJCVDZtQXV6?=
 =?utf-8?B?MFZMK2h4ZFJHcVhsSUFUa29MODZCT0RFbjJ1emh0MG5Fb2JPL1VZS09MOGIy?=
 =?utf-8?B?NWVWcGFoWGw5ci8zRDRKdzNDUjE1MzB1Z2E3UE9vMy9LakJSVnUzNlpEY0xL?=
 =?utf-8?B?K2FGSldNUnQ2bDV0eURPL0dpZkM1Mk9yOU5yby9Xc3VaUGJhOHkyZGxCYTlu?=
 =?utf-8?B?YitvWjN0QTVVUmJuUEh6RzMrZnNHaGhUUEtQWXNnVU9sM1ZkRnd3KzVKanFh?=
 =?utf-8?B?dHBidWdQQ2tNUHN1SjhpMm96NWNRSnNyejdhSlNOTDY1ekE1SENIemRLcTh3?=
 =?utf-8?B?VzZzRllVenJJTnJtd1E0YmtoRXVVdjdvNThVendjT0JhNEZTV1V5MkpOcUFJ?=
 =?utf-8?B?MFllcVEvcnUrUGRyR3RyZXdSbVMxMk1SelNzSzN3Uk5RVWVmcXNBMXh3ZnQr?=
 =?utf-8?B?b3FvbG5BVEhJd0RZUEVpQlMvYUFWZ3o2NXBnVzdDWXVlRjNKUWxkbWU4SFlu?=
 =?utf-8?B?QlROZk1wbWFraWVJdzZBMnBXcW1JRjlUNklRY0JxR2tDRmYxdGRPbjBzS1li?=
 =?utf-8?B?UDVZTHV6UXAveWRrbFJMUkc5OGV3eENmQ1ZxeVl0OGxXNHpNRWk2SHlqRWlU?=
 =?utf-8?B?ejJzWUhvaUg3Q2Rya0pGMGdNM3V0WnZ6Q1ZHc0YrR1hPWUc1VE0reWVibEU2?=
 =?utf-8?B?aHFzMmxGa2NtenNRRDI0cHhJRzNrRGtHVVRWVjcveGk4N2ovK0IxQW1BaHA1?=
 =?utf-8?Q?R/H1r0STMjB2eekvkxk3OUjR4?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <1AD30B738082EA4EAC139A0DEFF412EF@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?b3pSd21hdVdlK2NzUlVibllEOU1IL1pwdjBCN3VDcUxXS1FVaWNMdDNBSzhu?=
 =?utf-8?B?ZlZML3A3ZFpsd0VLNDhlKzlpaVp3Z0VLanRWcmZMMjRidTdmVGJHSGZBbUtk?=
 =?utf-8?B?RTdBNVhhYTRsS2dueG1JdkdsQVMyMHFnVU9MV0lDOFJGckkxNnE0VHFXT3ZS?=
 =?utf-8?B?Ym5jQXdVT095RFFodjhQVFdSajVMMzhsTk8zTDNNVEZDUUdEakNLMFZtTUZN?=
 =?utf-8?B?YlIrM242VlhvMG9Kck9FNXM4Ync4NlgyUFZpSjZXYnlhbmdiZGNuSzhHTmF0?=
 =?utf-8?B?ejhOalNwMVV4Rk9ZVS9jMUV4TFVjNEtwUFdKRWUyNFRNcjF5Ni9mUFZEdyt5?=
 =?utf-8?B?RFpKN2FMemtYYnduMXUzTE0xU2Q3ZTdyaEJvbGxqMTJLU05rZ20zK0ZrL0to?=
 =?utf-8?B?MnRjeExqQjYzOWkvd3JDQlNtbThycDgrNmVmWkpyNWlkcHovZHJ4bmh1S0ZB?=
 =?utf-8?B?Q2hyTjRZZk5KY0dVOElkM2k3cXdJZ0pSZmVacVpDYTgyMTVOekhNdFZnNEJW?=
 =?utf-8?B?cnJyU3JIRGtwY2dlUytRN04vSk5YZEtGUi9SNElORDBYQlR3YUx2TEQ3ODln?=
 =?utf-8?B?cVRpczVVMmRNYkxLdXdhV0pGRkNJRUhRdkVSa21ud2JOb1ZWNEt0Rmc3Skxy?=
 =?utf-8?B?S1VVeTZ5bkwwcGtra0EydG9XZHpnd25LNWczMzRzQm53R09lZlkweHdRRVZD?=
 =?utf-8?B?OEJkRnFRU1lleE5GYWVGd2dHVC92M3dZNm15dVBFVG5KQUp5SE9QTWtMWWJk?=
 =?utf-8?B?V2tpVGhHL0pJWVpDSlVEYjMwdXAyOW9jYm4zUjUvQ3M0MjRuY1F5VUh4Q1Bk?=
 =?utf-8?B?eGlWbDA4OHNNYTFPZnpOTkxjbUpKZTVWQjRZODFUMFdqcm9CUzliYkVzNFpX?=
 =?utf-8?B?OUVDZUxRSlNjTVRNRm9JdTNKemNCTGtpMmIxWVNib3NGOWRkVWJqRHVRZW1u?=
 =?utf-8?B?a25xbC9ablFyaUtKUDhpaHk2R1NOK2I5LzZTS2FXejlVMm90Y3VwQWo2QTdz?=
 =?utf-8?B?SEN1UjVDWi9xV0xsNjlCcEZLNjZWcXpnUUpQUXpOb29ONEQ5OW5BbFNYUGJ4?=
 =?utf-8?B?R1Bjck1yWXNJNUFQSVVEc2dkUG1VRlpRekdBV0N6RWdMeUZDeVI0TW0yNzRN?=
 =?utf-8?B?NXQ5VE90by9oM1RLZ2I1TWZ0RjhnK1hnZTg1SlNtY0ZrS3JKMWtNaDdCTEI5?=
 =?utf-8?B?TFRyZEFTY2dqOGM1STg4MVNUbzRhcWJlaTZGVUxvSjBEL2tUUUowTmRJcGFq?=
 =?utf-8?B?em44b3FvMVZLemVoNVd3Wk5namRpTmZSb2hWQkxVZjVzdHZmZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 708c9a2e-be80-471e-459a-08dad778e704
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 10:59:09.7898
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: BY4T2crai0NAEhG++0DqP81EOtjuG/Com0D7qn2fAX+PSYs127pVkmUrMwxahQZIQH/ouuYIkfmQFKbIMIVRjM+7IHqrLsUDVVpeiAHIc+I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR03MB6759

T24gMDYvMTIvMjAyMiAwNDozMywgRGVtaSBNYXJpZSBPYmVub3VyIHdyb3RlOg0KPiBUaGlzIG1h
a2VzIHRoZSBjb2RlIG11Y2ggZWFzaWVyIHRvIHVuZGVyc3RhbmQuDQo+DQo+IFNpZ25lZC1vZmYt
Ynk6IERlbWkgTWFyaWUgT2Jlbm91ciA8ZGVtaUBpbnZpc2libGV0aGluZ3NsYWIuY29tPg0KPiAt
LS0NCj4gIHhlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYyB8IDYgKysrLS0tDQo+ICAxIGZpbGUgY2hh
bmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEv
eGVuL2FyY2gveDg2L21tL3AybS1wdC5jIGIveGVuL2FyY2gveDg2L21tL3AybS1wdC5jDQo+IGlu
ZGV4IGVhYmEyYjBmYjRlNjgzMGY1MmI3ZDExMmZiYTgxNzVkZmU2ZDI3NzAuLmNkMWFmMzNiNjc3
MmFiMTAxNmU4ZDRjMzI4NGE2YmM1ZDI4Mjg2OWQgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNoL3g4
Ni9tbS9wMm0tcHQuYw0KPiArKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMNCj4gQEAgLTk5
LDEzICs5OSwxMyBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyBwMm1fdHlwZV90b19mbGFncyhjb25z
dCBzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLA0KPiAgICAgICAgICByZXR1cm4gZmxhZ3MgfCBQMk1f
QkFTRV9GTEFHUyB8IF9QQUdFX1JXIHwgX1BBR0VfTlhfQklUOw0KPiAgICAgIGNhc2UgcDJtX21t
aW9fZGlyZWN0Og0KPiAgICAgICAgICBpZiAoICFyYW5nZXNldF9jb250YWluc19zaW5nbGV0b24o
bW1pb19yb19yYW5nZXMsIG1mbl94KG1mbikpICkNCj4gLSAgICAgICAgICAgIGZsYWdzIHw9IF9Q
QUdFX1JXOw0KPiArICAgICAgICAgICAgZmxhZ3MgfD0gX1BBR0VfUlcgfCBfUEFHRV9VQ007DQo+
ICAgICAgICAgIGVsc2UNCj4gICAgICAgICAgew0KPiAtICAgICAgICAgICAgZmxhZ3MgfD0gX1BB
R0VfUFdUOw0KPiArICAgICAgICAgICAgZmxhZ3MgfD0gX1BBR0VfVUM7DQo+ICAgICAgICAgICAg
ICBBU1NFUlQoIWxldmVsKTsNCj4gICAgICAgICAgfQ0KPiAtICAgICAgICByZXR1cm4gZmxhZ3Mg
fCBQMk1fQkFTRV9GTEFHUyB8IF9QQUdFX1BDRDsNCj4gKyAgICAgICAgcmV0dXJuIGZsYWdzIHwg
UDJNX0JBU0VfRkxBR1M7DQoNCkkgYWdyZWUgdGhhdCB0aGlzIGlzIGEgY29ycmVjdCB0cmFuc2Zv
cm1hdGlvbiBvZiB0aGUgbG9naWMsIGJ1dCB0aGUNCmxvZ2ljIGNhbm5vdCBwb3NzaWJseSBiZSBj
b3JyZWN0IGluIHRoZSBmaXJzdCBwbGFjZS4NCg0KVGhlIHJlYWQtb25seS1uZXNzIG9mIHRoZSBN
TUlPIHJhbmdlIGhhcyBubyBsZWdpdGltYXRlIGJlYXJpbmcgb24gVUMgdnMNClVDLS7CoCBJIGhh
dmUgYSBmZWVsaW5nIHRoaXMgaXMgYW5vdGhlciBhdHRlbXB0IHRvIGNvbnRyb2wgbWl4ZWQNCmNh
Y2hlYWJpbGl0eSAtIHRoZSBIVk0gc2lkZSBjbGVhbnVwIGZyb20gWFNBLTQwMiBpcyBzdGlsbCB2
ZXJ5IG11Y2ggcGVuZGluZy4NCg0KSSdtIHRlbXB0ZWQgdG8gUi1ieSBhbmQgY29tbWl0IHRoZSBw
YXRjaCwgd2l0aCBhIG5vdGUgaW4gdGhlIGNvbW1pdA0KbWVzc2FnZSBzYXlpbmcgdGhhdCB0aGUg
dHJhbnNmb3JtYXRpb24gaXMgY29ycmVjdCBidXQgdGhhdCBpdCBoaWdobGlnaHRzDQp0aGF0IHRo
ZSBwcmUtZXhpc3RpbmcgbG9naWMgaXMgc3VzcGVjdC4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:00:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:00:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454620.712140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VgQ-0000r8-5t; Tue, 06 Dec 2022 11:00:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454620.712140; Tue, 06 Dec 2022 11:00:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VgQ-0000r1-35; Tue, 06 Dec 2022 11:00:18 +0000
Received: by outflank-mailman (input) for mailman id 454620;
 Tue, 06 Dec 2022 11:00:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WiLW=4E=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p2VgO-0008Lp-Dl
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:00:16 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e88::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 283d67ce-7555-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 12:00:14 +0100 (CET)
Received: from DM6PR18CA0021.namprd18.prod.outlook.com (2603:10b6:5:15b::34)
 by IA1PR12MB6185.namprd12.prod.outlook.com (2603:10b6:208:3e7::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 11:00:11 +0000
Received: from DS1PEPF0000E653.namprd02.prod.outlook.com
 (2603:10b6:5:15b:cafe::f0) by DM6PR18CA0021.outlook.office365.com
 (2603:10b6:5:15b::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10 via Frontend
 Transport; Tue, 6 Dec 2022 11:00:10 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000E653.mail.protection.outlook.com (10.167.18.9) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Tue, 6 Dec 2022 11:00:09 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 05:00:08 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 03:00:08 -0800
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 6 Dec 2022 05:00:06 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 283d67ce-7555-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d6BEw25Fb1Suhxtxf3v8I4nRwBCTSss3mrBHyA81NtbMEuNwSJ6wH7VeJzUfVYxUiIsk20Cotnt+39LSSeJp0ZC1vG2J9Y+UtVrEq0PH2R2bPD9bbeWSxtnBsMksYx6FcnGhJ54jZIRYXB3FOda7yj+ZZ35YQqJVbmT3z6VJCZru/gtlP7FugWeFumxXrHUJG5HjPvRSCXK6fdb/NeS+k6nzZr9n++uviKxWBWixKxRz1ECBjJ3Gsnohm8v5c8NrYLt76Uaj4W8nrFAU4zyJmswLvSjAR9D9uBPmOyHocfNw47yThDNq2oUyslU0zcXthEJWb3xpywWeW+GgydgKDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nQlsIuPGflrfKCFCyLL4FnXhfAoqAKmZs+EZWtXsvIE=;
 b=W6s3PmQUxUhTtv0Wnsnt/0gxBvKQdhGZF1jMzUkPe/S5WPYmyrmyS3Qv6ZFzYvGd/WtHX3upntvnN0nqxh0vD0QQEoSY3mOjw1mokyhyvaNzKiJ7jtahRJYGdJpNAIi+cE3Cy2oEOZDxJw9PHozF+wJsjkwyD9s7gwc4rG8mlEitmLscnndEwol6KJkoMZDthSTo8XxEfrZcIZTbZwE6yFguFYei65TI57uNWhgPKdMQdgiM1/ju2MMGLUWGU/uTkHqPeJQ4Lg6vo61AslHxmRCK9UOy1e0yD5Vi6qN8SL/lOnpsqSSSsKeQ+ly8JPq63oubX9PNSUrvEHjomG2Mag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nQlsIuPGflrfKCFCyLL4FnXhfAoqAKmZs+EZWtXsvIE=;
 b=Y+eYVjs8ImxnWvjUZAdip1lHjVgpSnDli5bsHvmsls213+lJxkHKyRBEnwvJdDgocduDC0KuSKJZxeajxXBrVJM2xl2A049TM1mw9GlirrsT5XN9t++uR06mmednmJtBTIKa2KJGKkrBesPWZomXp2NozAI0ymtECdrJq/nIkBw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] xen: Remove trigraphs from comments
Date: Tue, 6 Dec 2022 11:59:32 +0100
Message-ID: <20221206105932.11855-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E653:EE_|IA1PR12MB6185:EE_
X-MS-Office365-Filtering-Correlation-Id: f79398e9-ab25-4ac0-237e-08dad7790b0b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lF1yN+DXSRi5cMIcUZYtwmyJLg7+/uYJ1yzzddbXIipqPeFVNwj6+zLdauOxRlpE/PFLTEOWmvP3wEpkSInBQv6XDzgfzR7zDVDAw4ilUsT34rN4q+KRxp6r3zNOf7tvBgQMvkZivBR49wkQOx2Lfa4M5p012sPXNm4WfVjd9rsJhPf8Usd/pI9V58t6+LfR40n/iM+mHn3O0D9IzVmgsrP0rqvcHaLAhG9lXLnWFj4TDDT/YFBfthH4+wc/BiEWQmM/rGjdQPwWivpn/JAwF4g67RPaAc33o0ZO0uQdOBTLrKhxsoOo0pokhgwJbUOFNfbz0GvzusYUBESkdRK1hgQxObbhaWjK+hgKB4rv6sM8tCCBvFiHjFWqw4iw9pZBIkKeaYiE57Q80F3jNVwTWfZy6g6f+3scSfSoeJBwh+5+VoViUr1m/CstwvXRdxIcBvIItwPwfcKSvVT16bxIvOxV6PUitDPOAAOtpkxcwqZZDvu5ceEK1zVSeX9Y1eZicdt75cwK1F+AOgKyrBonMADnQxCs9sIm3+8phrtY5xu06MEuDh9bvaHdhaS2jY6aXLOtKzMNpyGcftErYoL+oenzytgMrgJJRCjqwHrOy9h82dqp3TWT8MVZI69VNbV7rLgv5ui/hxGZ6wXRxU+BBUCPWemWy7oNBLnssWedF704Cce2ThhKxdUBU8YS4y9azwSkqKzGe7Ktkbl2Me/uHmKkZZuFPodQetCsGkh0BEk=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(39860400002)(376002)(346002)(451199015)(40470700004)(36840700001)(46966006)(478600001)(6666004)(40480700001)(86362001)(70586007)(70206006)(26005)(186003)(54906003)(316002)(6916009)(8676002)(4326008)(2616005)(356005)(81166007)(36756003)(36860700001)(1076003)(41300700001)(5660300002)(44832011)(426003)(47076005)(40460700003)(82740400003)(83380400001)(2906002)(8936002)(336012)(82310400005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 11:00:09.7640
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f79398e9-ab25-4ac0-237e-08dad7790b0b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E653.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6185

MISRA C rule 4.2 states that trigraphs (sequences of two question marks
followed by a specified third character [=/'()!<>-]) should not be used.
This applies to both code and comments. Thankfully, we do not use them
in the code, but still there are some comments where they are
accidentally used. Fix it.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/x86/x86_emulate/x86_emulate.h |  2 +-
 xen/include/public/arch-x86_64.h       |  2 +-
 xen/include/xen/pci_regs.h             | 12 ++++++------
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index 4732855c40ed..bb7af967ffee 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -228,7 +228,7 @@ struct x86_emulate_ops
      * All functions:
      *  @ctxt:  [IN ] Emulation context info as passed to the emulator.
      * All memory-access functions:
-     *  @seg:   [IN ] Segment being dereferenced (specified as x86_seg_??).
+     *  @seg:   [IN ] Segment being dereferenced (specified as x86_seg_?).
      *  @offset:[IN ] Offset within segment.
      *  @p_data:[IN ] Pointer to i/o data buffer (length is @bytes)
      * Read functions:
diff --git a/xen/include/public/arch-x86_64.h b/xen/include/public/arch-x86_64.h
index 5db52de69584..1c3567a20217 100644
--- a/xen/include/public/arch-x86_64.h
+++ b/xen/include/public/arch-x86_64.h
@@ -22,5 +22,5 @@
  * A similar callback occurs if the segment selectors are invalid.
  * failsafe_address is used as the value of eip.
  *
- * On x86_64, event_selector and failsafe_selector are ignored (???).
+ * On x86_64, event_selector and failsafe_selector are ignored (?).
  */
diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
index ee8e82be36b4..a90aff1712ba 100644
--- a/xen/include/xen/pci_regs.h
+++ b/xen/include/xen/pci_regs.h
@@ -246,13 +246,13 @@
 #define  PCI_PM_CTRL_STATE_MASK	0x0003	/* Current power state (D0 to D3) */
 #define  PCI_PM_CTRL_NO_SOFT_RESET	0x0008	/* No reset for D3hot->D0 */
 #define  PCI_PM_CTRL_PME_ENABLE	0x0100	/* PME pin enable */
-#define  PCI_PM_CTRL_DATA_SEL_MASK	0x1e00	/* Data select (??) */
-#define  PCI_PM_CTRL_DATA_SCALE_MASK	0x6000	/* Data scale (??) */
+#define  PCI_PM_CTRL_DATA_SEL_MASK	0x1e00	/* Data select (?) */
+#define  PCI_PM_CTRL_DATA_SCALE_MASK	0x6000	/* Data scale (?) */
 #define  PCI_PM_CTRL_PME_STATUS	0x8000	/* PME pin status */
-#define PCI_PM_PPB_EXTENSIONS	6	/* PPB support extensions (??) */
-#define  PCI_PM_PPB_B2_B3	0x40	/* Stop clock when in D3hot (??) */
-#define  PCI_PM_BPCC_ENABLE	0x80	/* Bus power/clock control enable (??) */
-#define PCI_PM_DATA_REGISTER	7	/* (??) */
+#define PCI_PM_PPB_EXTENSIONS	6	/* PPB support extensions (?) */
+#define  PCI_PM_PPB_B2_B3	0x40	/* Stop clock when in D3hot (?) */
+#define  PCI_PM_BPCC_ENABLE	0x80	/* Bus power/clock control enable (?) */
+#define PCI_PM_DATA_REGISTER	7	/* (?) */
 #define PCI_PM_SIZEOF		8
 
 /* AGP registers */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:00:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:00:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454626.712151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Vh1-0001Nk-En; Tue, 06 Dec 2022 11:00:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454626.712151; Tue, 06 Dec 2022 11:00:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Vh1-0001Nd-Bz; Tue, 06 Dec 2022 11:00:55 +0000
Received: by outflank-mailman (input) for mailman id 454626;
 Tue, 06 Dec 2022 11:00:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XkKw=4E=citrix.com=prvs=332b12f58=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p2Vh0-0001Ko-IJ
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:00:54 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3fbf31ff-7555-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 12:00:53 +0100 (CET)
Received: from mail-co1nam11lp2173.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Dec 2022 06:00:51 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO3PR03MB6759.namprd03.prod.outlook.com (2603:10b6:303:179::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Tue, 6 Dec
 2022 11:00:49 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 11:00:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3fbf31ff-7555-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670324453;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=f3gDGFXbKh5iIuURx2764aIMCzMUjL+ckzSfafXLaDU=;
  b=SnnGPvtEl3gw9l7PwoMiohPjnJKuN4wxcHisVUtwPCFtDDrNG7vqneAv
   vKqwQLlkskM0yg0Chi0UP57CJHh7aC4URR2zWT7kix1QX6/UoGO+KVsDv
   jDR8MFH1R62Zs6Bjq+MQO0nJX19Wknsg2WIt+T7vIQxoT9gHCP24M2tHV
   U=;
X-IronPort-RemoteIP: 104.47.56.173
X-IronPort-MID: 86809322
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:1RPSFaDN08oI7BVW/97iw5YqxClBgxIJ4kV8jS/XYbTApD4jgzJWz
 zBODDjUaP2OZWDyfIgiPYi2oUgGvZPdnd5jQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlA4ARkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw8clOOXBsz
 +MkNHMkZz2am/2RxLu8Vbw57igjBJGD0II3nFhFlGicJtF/BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI++xuvDO7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prr+RzXuqA9hIfFG+3tN0w0TUl0FIMwEXUVS2nNWUoXSyA80Kf
 iT4/QJr98De7neDQtT4XjW5pmCFpR8WX9dME+w85xqJw6CS6AGcbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8hTa7Iy0cN2IBTS4CUwoe4tPnrZ0zjxTAVdJqGui+ididMTP6z
 i2OrSM+r64OlsNN3KK+lXjYhxq8q56PSRQ6ji3LX2eN/g5/Iom/aOSVBUPz6P9BKMOSSQCHt
 X1dwsyGtrlRVteKiTCHR/gLEPex/fGZPTbAgFlpWZ486zCq/H3ldodViN1jGHpU3g8/UWeBS
 CfuVcl5uPe/4FPCgXdLXr+M
IronPort-HdrOrdr: A9a23:KvPDRKyWVf77ijD+QLTHKrPxaeskLtp133Aq2lEZdPU1SL3sqy
 nKpp906faaslYssQ4b6Ky90cW7IE80lqQFkrX5Q43SPjUO0VHAROtfBODZsl7d8kPFh4tgPa
 wJSdkANDWZZ2IXsS6QijPWLz7uquPrzImYwd77i1NRZUVSbadkhj0JeDpy0CdNNXd77V5SLu
 vt2iKDzQDQCEj/Ff7LYkUtbqz4vtjWk5CjSQcebiRXkTWmvHeT8bvnFBrd9QsfVj4n+8ZezU
 H11zbh47mlsbWdwhvRvlWjiKh+qZ/a095eA87JrNYTJi6EsHfPWK1RH4eauSwzoqWUyHtCqq
 i1nz4Qe/5r7m/XfCWOrQDz1xLG2DIjgkWSsmOwsD/YuMnkQzB/NMZbn4JedXLimjAdgO0=
X-IronPort-AV: E=Sophos;i="5.96,222,1665460800"; 
   d="scan'208";a="86809322"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R7XWRkEc8/hK249qxqJ2nI30PKKgM1b14ZGuKQkmdSfgEbiF4B+PCpjr6c2H16OWD5HMcazyCoZVUiRu9j8Pd7Uhoe0IFWlDPQ5UwQRYOlmcvy66TnsU7tp31ACw0xvl10BnlMrI2GUgDLJ/bCr1r1jJOtnqIThu8NG36dkMwBJnD0TME7x+Fx1G19M4MnvXEXCVrqFWywPMdkHZs4sj6efR+Mv2M26DwOCNSC2vH17+K/cADwKt7suYP7+MNnl/547fWCuv56GtdwGsN10V3q0p4W3eLVDNxFdEwzRjhiD2hgRQcGu2iTZTKFBaOIg02luYJU2Q0ZlWlce9MeoPqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f3gDGFXbKh5iIuURx2764aIMCzMUjL+ckzSfafXLaDU=;
 b=YVSyyCagwi7WbWoYgFhDCa/mqLp4qAAQE+hhpRj4Ve8rCe0dNbukiRZSOZuDJbxOCBL9aEY3R0EcftlRyFT528uYcO5nokzp+i0noIyb0v/NVp7Be4XvZCogeCc+rGuUdSe67eVbeNUUT4/qSzzMFR2s0FM18M/4Ce9i1bRcFZo/Kgdo8sqHDFGFlerF+J/b714qQJDQeQlCus+p2Sp2HLkt9BcgHTJNErYNxqYCLCHJnODHIlTS/t+AipMgsz4cFpv6cvaK7Z7zwB/3vXKq5Hs07IrvYLphOQpkvndXVtk6yZhJ565EcJeUPM3OPgDFg5dS7CI8UD+lAZl9t8HSfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=f3gDGFXbKh5iIuURx2764aIMCzMUjL+ckzSfafXLaDU=;
 b=vH1GGad5IkCkfxiJOIIGQBbuhx2mbNAyhjiorHcDmcr2Gmzn0IuhlbfN0Qn28b8pfhu7a5zqc5jHjivx3jLwmZfAUw8tp7C8o/XQ3B+HEFssFIKBY01jYG0gLuU5XFH6SMABenItxcvrJY5ezDxd8/0gSRTAVAveBXTPNeD1XlA=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: =?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>, Roger Pau
 Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 3/8] x86/mm/shadow: avoid assuming a specific Xen PAT
Thread-Topic: [PATCH 3/8] x86/mm/shadow: avoid assuming a specific Xen PAT
Thread-Index: AQHZCSwIvWwu4GpFLE2OKubGvNfAxK5gsaeA
Date: Tue, 6 Dec 2022 11:00:49 +0000
Message-ID: <33e6df53-42cb-7090-dc11-b685d5b8ec5e@citrix.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <8fba8137ea2aa4fb5c61102342ad42ed8a9d0f66.1670300446.git.demi@invisiblethingslab.com>
In-Reply-To:
 <8fba8137ea2aa4fb5c61102342ad42ed8a9d0f66.1670300446.git.demi@invisiblethingslab.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|CO3PR03MB6759:EE_
x-ms-office365-filtering-correlation-id: 2eb3592d-9387-4069-3665-08dad7792299
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 hmpqS7JqxGahiL5nNwrg/MWEQG8PW73QCkhlCrypHrY7TdUylFsWWiLvu7m8X2FoKZSp0js7NGh/7aRnhEP0OgE8/O5cig900tMSHjwIDqlIqUfYJxXN/1KIlaF6AQfsQkJ6GJmLNB0V2bo5zQE4AVbyqa7bblH19bpvZSCFdqGoRfDA4lSyRG0C5M1KarWc4AfUDTr5qez9fU5VKJO0JIhm9iM9IiN0/4BAcIToCOsn1/1QnL8hHMJ4taKe2WbDNsdLL1zcr90MXnWLojonltaOID+Qd+G8b/p4c1BooG8MI2L/BM7m2nrYOWuPrLWouU0vmYX0aqffyeq04ih+QH5/jTLHSr3gMRXfysYkSWVJO8YuHV/YCQ9DmXH9f668NqDevmWDYRKzi0Rj9tvjBtXYtUaxSaR/+qGxh+8IWby4wj/zpyN4qeixtFle6tCLF6a+VEP3UlsdhzYz0UzCgEyE6OZaW0aruuycjiK9MdvoXlJHUqr8kRkg8OKV3nL11eMiBtOrBgar51wT5tQtUTSyX8OMczj+L0Yb3BnrAfywmMWo1raAOPkI916h0VXE7sVko2T4WNT/MeSTZfXrZHnpAhDVWUiJq++CF18p/Bb+F9K201qEJN25dQmMjGTeI06sVNNDl56GAWDaHyWZe5BO18/v/OHziVZXj0H9t6JbpuJF/GvEjCVALoIvz4ieThVCxxdg6o6ZzMDxmVZc9qVXSNpd1V2CXItQPHQw4LST7Y0szMs/+Nb460naSHm1s9pKy1ViL9mOzUG+UXJHSA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(39860400002)(346002)(376002)(366004)(451199015)(186003)(31696002)(86362001)(2616005)(38070700005)(38100700002)(122000001)(82960400001)(558084003)(316002)(36756003)(110136005)(54906003)(2906002)(91956017)(76116006)(66476007)(66556008)(64756008)(41300700001)(66946007)(31686004)(66446008)(4326008)(8676002)(8936002)(5660300002)(53546011)(71200400001)(6506007)(26005)(6512007)(6486002)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YzlaNmVlSTVWTkR4K0M4SDZvWStRNzFXNk9lNjRBRG5xaWdCdHFHSExlSWtq?=
 =?utf-8?B?elZuSkozTFlJQ2RCejNpL08vWU9LUm1wcnMyODNjMlJsVzl2blJxaXF3ZmY0?=
 =?utf-8?B?UFhOeElMVG5pbDFFTWJJbzZXdkQyQXZ1VHBEbG5JcS9pc0xIWHdkUXZ2M01U?=
 =?utf-8?B?ZEJlRUlzRTdxM0Q0Z0F2WG10eFdsRHhKQnFxR25TWUFPbVcybkFEQk8vUkd5?=
 =?utf-8?B?blRYWnA1RXpLUUJWT0tvemFTV2g5enRBdDk3d2lQbFJ6bU15a21LUXk5TFl3?=
 =?utf-8?B?TlM2eDVhSWE4bWJUWWhUSVlqWEI3Y1h4QUMyemtrNVI2REpMQUNETW4rRUNJ?=
 =?utf-8?B?TmFpdERHOFFDZ1Q3a29HdGM4Vm1VdHB4V0pKNlRERW5oWENjS1JoVFBaa0Uw?=
 =?utf-8?B?d2xBQVIza0N1WjB2RExQTDM1OWFQN0VTblFEVENWK2cwdFRHNjRkVEN1OHZl?=
 =?utf-8?B?U1hEU3c3TWVac2RFeDlHUXdaWXBNb2RYUkxMY2ZPT2xFbC8vNmR5b2dKMVpp?=
 =?utf-8?B?eTRtWmtqWW01TktwalBpZXM4dS9RYzVDTnlWQ3NuOU9Uc2hjKzRITHBXNWlP?=
 =?utf-8?B?TmE1S2RiNGxSVGN5U1ZHOVUxMEdVaXdLelRtcEppTVRhdlNCTHoybjFvZ3Rj?=
 =?utf-8?B?aEJNUkJXZkhtWU1pQmkxQ3pqcFl2TzJlSDBURGYxL2VjbUVRbXV4UVVkQ2xO?=
 =?utf-8?B?ZTBSeDVzTjhzV1Q0dmM5K3JYakhKY05sZjFFODNYaUtTZVp4djhpTFROaFFS?=
 =?utf-8?B?dUJ5eG5lRktWeFdEQmI4blNyT1RNZm9hbkVUd3R4aDg1RU9EUTltK0ZqQWw2?=
 =?utf-8?B?V3J0Mm5qSXNvNngvcmM3cFBOS0tTQXlnbEVObnQydjRXNnc3N25xZ05JcnYv?=
 =?utf-8?B?ZWJHMmcyc0F5MGtPRmtSQzNUNCtRT2d4d1huQ3l6S1hONHBZcndpL1dITXF0?=
 =?utf-8?B?a2k5NVMySGpSckhVajJJbWxhWVpYOW1YbzBMdjVISmFITGNLZW82R1U1cTVK?=
 =?utf-8?B?eTBoZjY5ZTRUaTdFQWdBYmdqbWlsTHB3NXFZSkNxMmhYMXBrRkIzRVNNaGlx?=
 =?utf-8?B?QzYyMndwL3Rud2hPSmYzSWVKVTlhM3dEWWdqTGx0Wjc2RllMVGhxZnlvWmc1?=
 =?utf-8?B?OStPMkszMm9SLy84NkwxWitEb0QvcFlqT2sxcndVTVJwY0V4aE9ldDkyYnJr?=
 =?utf-8?B?SWsvWWNSTXZuUUs3WS8wdmhpQUhBd052RXpRaVhycG5XOHFjWXhULzMvV1VH?=
 =?utf-8?B?M0VpbjJScnNuazljUDFpdVdZWTNLK0ZHYjJtbUNsNVZIY3BXcEZpdW1BeHlk?=
 =?utf-8?B?aGpTNUVMNnRLaVBnUFdWcHBlTUdKcm0vdzZUK0lEZHFvZFR4d0d1bG5KeTF1?=
 =?utf-8?B?UnpnUGY0K2ZJUEFrQklMa0NnUERyRTlUVlkyWjVGelNKeG14OWc4V0IzM3px?=
 =?utf-8?B?eDlHUUJMdW53SkdrVHp4M0dTM1RqdFJqY2NSSWdOT1RhMlJpZXBDNTFieGtu?=
 =?utf-8?B?MzRxZVk1cUFuMlB1Z3BGNlk5azJ3dEJ2YkxySVgvQTFUNjJza2ZqTm5UOUM5?=
 =?utf-8?B?WXdlZ2JPUG5lQm80NnR1NWdoWDlBcnp4dnY0NDRXdWhEcVFya1dDeE9ZM2F4?=
 =?utf-8?B?TlhRQnZMczV3R2huSUJUN1BsUHIyczFlODFQYXhlYW4wTGRWOFV0QUZYL0Za?=
 =?utf-8?B?anAyTnFEL0M3R2FOQ2JYcG03ZjdPQlI2ejh0NnFSWEJoNmhIc0Y5U3A2Z1pT?=
 =?utf-8?B?UXlaa3dLZnAvdk5ZRXZMZHJMWEJOWE5QLy8yZ1hpOGV2QVM3R040dExGc1ZQ?=
 =?utf-8?B?SUw3QTdxNHpMS0hEc2xlSXE5blcwVFFzaVR1WU5DWkFqWGtKa051cU1qYkJB?=
 =?utf-8?B?dEZ3VUhWNm5oWG1KZXlMRGtoeGRwQ1dzOHlsNlZmQ25GSjZxbmozZmxrbnFZ?=
 =?utf-8?B?ckZFTFZjSnhBdm1YYjlaM1lXcWJ0S2ZLQ1h3MVptc2ZXU3BHRTNJNWIrWWZS?=
 =?utf-8?B?akZEeVlJSzg3NUZ5SkJwVVY1blY2VDRGa3BHUHJsUFV1Sitxb2d3NHpscVYx?=
 =?utf-8?B?WDdtcm9EZ0QrT0I3em1EOVBZdmdPblZLUzVHOUlTYjVmdThUY2FMUXBKN1Rp?=
 =?utf-8?Q?NVXAhl+jF2TozUzo7S09mlDWR?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <480092AE075E124A856EE982E1B082C7@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?bnNFWDloUGJ4bVF3T1RtODhTSUVKbUczYUdMYWo2ZE5GRGt2dUlFc0VjdXY3?=
 =?utf-8?B?UDZLWVI1VWhrSVpGbEtjNVlkL2xSazN5dFJNbDlNd1RVd0lUelFzQ0p0OFdy?=
 =?utf-8?B?L2ZDV3ZCU3ozck1nM21vLzUyZVVBMW5jTUZzOUlDVFBaaDJhamZFdlpEYm5o?=
 =?utf-8?B?QlJyaU0xMnlkYVpnanZjYmk5KzNJYnZ1eTNqcmloQ0FGSWFxeXhPSEFVdVJZ?=
 =?utf-8?B?Y1F5dDhJM0ZqUmJOYjhSU21pQjh1emZRa3JaV0dmdm01YTJQMDJMTDVyUDhK?=
 =?utf-8?B?OHdLeG5pTXNuTmVKSDd1eDFiL1Q2UjN1eDR4NnFIR3IyNytMc1VxQVVNNWhS?=
 =?utf-8?B?TFpHZ2pZenBqbDhzcERGVEsvNkR5NFdBZUpNcGZkaGp5S0U4eTQ4MzcxdEtl?=
 =?utf-8?B?TUlVK0liR01EK2FwcVBMVmdMSDJiUTZBQnNEYUtOb0Vvam1icHJQNjltQjdC?=
 =?utf-8?B?TVZha0xwL3ZpcGdJa2VFNk40bDJIZVlCVTFKTGRwUXkyaGViZ1JwUnlJakJ0?=
 =?utf-8?B?Nk9VOEpRT1dJNDZzbUxWMFhDaTlLZ2dxRVphbDZaOEVRajNWNTk2a29KVVc2?=
 =?utf-8?B?Y3NLeW1RZEd0MTI0R0dwVWNWNU5XZklSWjdzcERhTjJYMXB1RG5qWjJIaklM?=
 =?utf-8?B?ckhvTDZsMGNMY1FXNVhKbnFqdFNqWk5VckxiSU5xUUtNYlFhaXVsbWtpMlVF?=
 =?utf-8?B?WWVYalU3bTVtZ2crRGlxZHVVVm41Q0NRR2pURnVIK1Fqc0MwNFV0K1MrcVRR?=
 =?utf-8?B?TjR2ZEJYbFVPSjM4VitncEFlZTg0enRnb2tCSVNqRnhORk9laVZRV0FPVnNR?=
 =?utf-8?B?ZG1jaWRNS1FVaVRpRzRITGp0Y0lQWUw0TVM0OEQveG9OOFk2R1M0UXQ5a3Nl?=
 =?utf-8?B?ZlVCVmY5VmdESU9RMWxTUjJOUTlvQnZIcklNcG5kaXQ3Ylp0MENDQzJRMmVk?=
 =?utf-8?B?WHU0Z2RaYWt3MGpCMkxDMWdQUEwvUno1ZDFCeUVySkUzZ0tEUmsxT0ZZTnV5?=
 =?utf-8?B?OUpqLzRvVWlzSUN3azlhUnBJbjd1SGFYSHFxR2Zxd1RiSXRZckFPVzdwQVZ6?=
 =?utf-8?B?Z0RDRUFVV0wzRGRkQUZoM3pHaWNmSEg5cm41Lzh5T2hLMHdiNTM0OGNMLzR5?=
 =?utf-8?B?aEdYTXYzL2JkbTVnOU5KenJQeHhGM0ZiZjYxVHhTY1VnUG1PaUlDZnhvZmhw?=
 =?utf-8?B?c0tlWjBzM1ZjdTBxbzV2a2t2dFgyd0h3OWVMTW5lNkVWR0czMlIwVWorRGdq?=
 =?utf-8?B?UVY4NzU0UmhQckw2V2Q2TmcyRVphVy9ER3hicS8waE5TNEdRdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2eb3592d-9387-4069-3665-08dad7792299
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 11:00:49.7514
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: jREXUmSRcLtEp9fJbRKI/fqk7sM/aKcH534Zq8SjNLhIsAURRFYCZjH+s0NFAz28Zz8+oTts3TLTiXdRZMHffnE4E+RTidHvc5wXr4gbCvo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR03MB6759

T24gMDYvMTIvMjAyMiAwNDozMywgRGVtaSBNYXJpZSBPYmVub3VyIHdyb3RlOg0KPiBUaGlzIG1h
a2VzIHRoZSBjb2RlIGVhc2llciB0byB1bmRlcnN0YW5kIGFuZCBtb3JlIHJvYnVzdCBpZiBYZW4n
cyBQQVQNCj4gZXZlciBjaGFuZ2VzLg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBEZW1pIE1hcmllIE9i
ZW5vdXIgPGRlbWlAaW52aXNpYmxldGhpbmdzbGFiLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEFuZHJl
dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo=


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:06:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:06:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454641.712162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Vlu-0002Be-2c; Tue, 06 Dec 2022 11:05:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454641.712162; Tue, 06 Dec 2022 11:05:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Vlt-0002BX-W7; Tue, 06 Dec 2022 11:05:57 +0000
Received: by outflank-mailman (input) for mailman id 454641;
 Tue, 06 Dec 2022 11:05:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2Vlt-0002BR-8Q
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:05:57 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2082.outbound.protection.outlook.com [40.107.7.82])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4de62b9-7555-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 12:05:56 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB9247.eurprd04.prod.outlook.com (2603:10a6:102:2a2::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 11:05:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 11:05:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4de62b9-7555-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UiM9AUSezCgoNhmEJ6W1EcllcCFnsersspIWQFQpnsF+KNGevRjz2bDBy6NchSVw4xy9IAWaSRB9eWFsvZSvCFawfMFlmuWKV2xmiCsWVZ6Pap9CxLaKJsIyDh2+ecmk5gWPfVqd5YxwYkvxXG93Iqy1Digc+Xa4lCbAOpw7TMyEYAj2k9EmyDl/Wg7s3A8D6EXK+uqf2FhNVUdofGlxK2rk1gmEAQIoJF9ko0BX6M4zrbEIw3xef7uDh8E085j8sw9bXpqjIBb5fyB0Mb59p7hR0hB0do2tAtxXVSxFblRDyPTY5lzr2mJ67gF3L9PxlRfQAMhJ9Vg1UwKaYdH2tg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=T327dELQqzTVBqY4x4ou4K3D838C5HStDz5tDe6GBOU=;
 b=atrFXKDfRjNAtgayDTrG6I/yUK5FAZR3Lkgrxt2nEXnNh5sqKqah++tLXs7AutAwZbNPrttGewVj6yVFcIAvZHCkc0wv4NR0Atham5pcpVlKJOafhDAEgk/sCa51noy+PtscGTTM7plKCoRrCHyQ6+iawPkj7v1muScXcNA3CQSqRL1i8jgtPk6KV5vKZaWvX0c6S90e0NxIF9QZg0vIBartJEW0phMlzlRt1oDqcz5nJ4crvkIsZAQ16VOycsaDgHlilIjPykSmUA8vU3Ot1ouL1bowuGYl4WRtR0pkhj2JHAanQD2rlBA80tT1GynMFuPhzoNn8Df2AAEa3Ht++Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=T327dELQqzTVBqY4x4ou4K3D838C5HStDz5tDe6GBOU=;
 b=nbaiDxvEyZVrrFisxWlbBGUFWuVEsd69rxYUG4x7yFZczfyJwun0FyH6RjMK7mBg6lAbCtkwVxEuP7PskbL3zUuEIPqrzK4iyuELln8ELQEfXH8ijVRsDYkCFGJO92QwUqeCbEge9nq3YIp6uouBWCo69MM6+72HWOfyUbkuq//9s9b0RpdWP7gAFQf+P9rntBqmpjgWZ12POCPIr/BM0U6nl3UFvyY9cEaGrsSkNQ6+LckdjXlg93CClTqxLWRnURmzKeX9P0ILCF4HE3TONMVH2F1fzgg8mTugEnWDMwHhDwEgNU3L3nFHk4KqS1WpO6q0lu1tAXK1Bn9oA3GJuQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <78d4164c-adef-cedc-fb83-803150f64d11@suse.com>
Date: Tue, 6 Dec 2022 12:05:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 1/8] x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <c70f4c4584cf28ff1da8f56e08d61ad0c406a4fd.1670300446.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c70f4c4584cf28ff1da8f56e08d61ad0c406a4fd.1670300446.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0017.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB9247:EE_
X-MS-Office365-Filtering-Correlation-Id: 1881acdd-5d80-4af7-93a4-08dad779c7b4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ad/dHvjYTWLq8WQyf1vz3R42lXXaM6cFnmtHDeKb9KfwAKhSb9h+MBtIiTPEefM2bBjgeV7ADmV4MX698CAanUBZXQGtsTwvQ8V0hHwFM/dcGJUpyS3Cf7muxlo873lM1930ObAELcQB99mlRKctmRGaSmJ0hB89Cgkmb/IiPHyySX8EBUg5Nkyy2HZGwJF98ncAH3to1Pcts+tur+1c0H0w8bvW4iFeRXasJW6ZfukgS0GlPqG8uL5lLqQudjxgOJtAHxw+F9cKzbhidHOgIy2F34nmyJ2M+JGy/dkAgkySeBv5dKewtxqdqhK9iXafWLnAXsBrvDQAAU3OY9R8Ki99eaYf1N5LzFdw6Go34QhftkWTfIzb+IFqAmMIOtqpUWlIp2RL4DwXqglA3AWH268vgILGScvHrw8mSAtGaI6TlNZRbwyWRoJ+6y5zTto4oVXIaPgTMApspQd/i6fVktiiIrU/9EqAW9yvq9SwPPyRQMN7/b/LpIXvhbPFz2AD/MAx5TDMbXZOWgde57mwLj5eHS4/nlPVnThpbe1DU6/XPuLb9ik4DvBzOGE77oJGxlFo+rKIxgqqcfYAkaB0Ku/yJHoZb8pDvJmfaITmUyWSKdnj8jnEHJQogNT0GaMbN0OD2sjwJB438pEfSA6Vxo2Kjj5Zw1yLddJcP/djkxe5qVZkumZxvn2CDmHhSFx5ZdtDKUfIllp7HeczAUyQTlYN262S+cFlfPwBH0VViJo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(136003)(346002)(396003)(376002)(39860400002)(451199015)(478600001)(66946007)(53546011)(6486002)(31686004)(6506007)(6512007)(4326008)(6916009)(316002)(54906003)(31696002)(86362001)(66476007)(8676002)(66556008)(26005)(2906002)(186003)(41300700001)(38100700002)(2616005)(8936002)(83380400001)(36756003)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cHU3bFV6U1BEd0wrajB5OVFFcXBoSmhEY2dzdDVvZGlveW5aUWJldTZkVlF5?=
 =?utf-8?B?U0pMdlNoaFdrZStlN3RiWDVSdFBrYlY0SkZERGc2Y2QrSFNSWGppMjJScWJj?=
 =?utf-8?B?TzlpTDVFbndlNjEzY0NBcjlXZW93YS9hOWxMdHRrNUpoR0hFdHhGQ0tZeHR4?=
 =?utf-8?B?blJMaDZqME9KVFh4bld0N2lhSHZ2SFpzUkZoUURtQzQvRzdsM3o0ZWlOTUk1?=
 =?utf-8?B?WTcyRFp6YVR0emNFZnhpQU1xUG4ybnpKdVJKMjZYbmtoOWNJLzh0YmlHNnVD?=
 =?utf-8?B?UDhNNHEzdGd1NHEvQ2xwdnJoNDFFSHdrbzljTWlvSzlIOXRoN1dvNDZabEQx?=
 =?utf-8?B?V0t5bGNLMFBhdmNhdXpsY251b291TGpnUVhoM0dTUEVrTWQ4RFlvTUpLa2lp?=
 =?utf-8?B?Vm5nQnNuN1NrSU1vYVJtelc5N0ordldVc2dDWkZtdW11NERxQk9LTHNkVG4v?=
 =?utf-8?B?Zm0vM2ZqZDk1THIrdWZUa1FTd3B5VmdiNjFDbUJyWWJjMmlGQUd0YVAvbFlh?=
 =?utf-8?B?MExaWThOcmNRUFBHc3U0b2JMSzFQbWdTc2Y3VlB0YnEzbHhvbkRPZ2Y5TlpM?=
 =?utf-8?B?VFhsQnpXbjlZeENRejFFNHk1K2tnM202c0ltS3hZQ2ttQTNYenVtREM0dS83?=
 =?utf-8?B?ZW5vSGtnT1M4RXZJdG9pdnNWNjBwcURneUtQWXFmeUFxM2hvKzRCbnlOK2xB?=
 =?utf-8?B?U3hpbEFoNzFPMnFlR29ZbGhweTkvRUlSeUlaOVVtano3akdZYUNBMzFPT2dm?=
 =?utf-8?B?OEM2aHk2VlVHVUloeTZ3SFZLMjJ1ajF4TktYaVVJV0Q5V20wTVZhUE10ZFl1?=
 =?utf-8?B?VXA4eWF2anQzeUVTNWpsMG5PY0x3QmFPblhGeXJZK0R0SHRhaTJ0amhFTjk0?=
 =?utf-8?B?RDVBd0t4aHdqc1FneUVZWGFkNGhlM0ZPeHBuZGtrbXRvcDRPVGV4OVptU1My?=
 =?utf-8?B?QXo1ekNNOGVkRTk5NGZNSzNVeDV3SkRDdmNXQVFPL1BJa1VQMzY2dG0vajln?=
 =?utf-8?B?U1pXWHJhZy92TnRLU0RzQ0I3bU9vVkkvMFRiRDZ4ZUhtblFoejJwZi9DcHlt?=
 =?utf-8?B?VVpjK0U3M2JEdi9DNGRGcHhneWhkRWZ3a0t4S2dFdm8yc0xucEV5aFdtNHhi?=
 =?utf-8?B?SEVlMFc0dzc2ZEpRY0s0dVc0MFNkVzFFcVRwVlZQZ1NjalpHZ0c4aUVCeG5w?=
 =?utf-8?B?TFdSZVMwWjVTTzBRWThvR0s1TDQ4YlNRbkRpMnpBWk94VkFjTDQ0UExINks0?=
 =?utf-8?B?ejlpeUNQNmU3bzRlK2VuRytHM3ljZHR3a25HNExvN3Q2VVJpdTA3SHBPdS9n?=
 =?utf-8?B?MVoyclJJTzhlU25ZSGdicXFEZUJJSitJdnRvUVhkRzA2eUE3cWcyRlFyd29C?=
 =?utf-8?B?N0VjaHJSUC84Mnh0TGE1OU9zVFhZYUxOUk1xUSs2cDU2SXNVMmFjM0hNU1lC?=
 =?utf-8?B?MmdZTHBRdlBxK3pJWHB1cU1PR0JadmRJUnoxNHZyMUFEdVZadjI2cXVwcEJM?=
 =?utf-8?B?eUVPeVYwdEtXUEQzWmNOVEh1anJvcXVVa0YwTWREcmk4aDdUd21PQmZzWHJY?=
 =?utf-8?B?OE9LN0pCa2N1eEJCUWwrdkxya1UzTEJxaVNSVUxjN0dqQ1pkNTUydkZIbERX?=
 =?utf-8?B?VlRmV1djVFdoRWZ2SGthdHg2aEhqOEd6L1ZlS1JUeC9jcFJTYWZDN3hDUlU3?=
 =?utf-8?B?WHhiNTZiS3hETVFvZHcwODBPVUhlZUxkcVpUbmJKODMzbzVSUWFIc01oZTk1?=
 =?utf-8?B?Zk9KbFJDSXc0ZFJDVEVsa0tKWHRMTW0xQTMraTVpeUU5MXhRZkh6MXJQYzRU?=
 =?utf-8?B?THBYa2NRVGdWWHNpUUlzbVBTTGFSaVIrNStDNHNnUU5qOG1zMHVKdk1mZmZ4?=
 =?utf-8?B?TmJpYWJOWGdMckl6dFhGemUwOGRoUkw0T2tHOWlZT01RakE4NFVmMXBaNk5h?=
 =?utf-8?B?c1M4YXJ5T2d3WXRGdWs1eGhmTWtxcVhPNGhkNUIwLzdxUmFZZmcyNkZmRXd3?=
 =?utf-8?B?N3crWHB3clNHdytBby9QWklVaHFJMEd1aU1EQTBic2R2TWk0aEhyMG0yK00w?=
 =?utf-8?B?Wi9XVmhoVjNJM0xaeXpaNTFCdVBFMzZFb0NIeUgwL3cwUHFDMUU0NzYyUXdD?=
 =?utf-8?Q?DaoSpjHVuvrB5ShpZkczJdJWE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1881acdd-5d80-4af7-93a4-08dad779c7b4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 11:05:26.8798
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9sm+pASVVjL0MkyzfSsW5ASAjf4BFcN9vXFxab2vIW+Priamo7ZfId8wI3Yp6gNmKRfzK/Xdv1NZai+qfQNvGw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9247

On 06.12.2022 05:33, Demi Marie Obenour wrote:
> This still hard-codes the assumption that the two spare values are
> mapped to UC.  Removing this assumption would require a more complex
> patch.
> 
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

You eliminate some assumptions at the price of introducing new ones.
With that I consider the description insufficient; really there isn't
any description here, just a statement on something you do _not_ do.

> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -961,13 +961,10 @@ get_page_from_l1e(
>  
>          switch ( l1f & PAGE_CACHE_ATTRS )
>          {
> -        case 0: /* WB */
> -            flip |= _PAGE_PWT | _PAGE_PCD;
> -            break;
> -        case _PAGE_PWT: /* WT */
> -        case _PAGE_PWT | _PAGE_PAT: /* WP */
> -            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
> -            break;
> +        case _PAGE_WB:
> +        case _PAGE_WT:
> +        case _PAGE_WP:
> +            flip |= (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC;
>          }

Please never drop "break" from case blocks, even if it's (at a given
point in time) the last in its switch(). That's a recipe for someone
else then forgetting to add it when another case block is added.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:08:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:08:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454653.712173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VoI-0002ro-KV; Tue, 06 Dec 2022 11:08:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454653.712173; Tue, 06 Dec 2022 11:08:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VoI-0002rh-I1; Tue, 06 Dec 2022 11:08:26 +0000
Received: by outflank-mailman (input) for mailman id 454653;
 Tue, 06 Dec 2022 11:08:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2VoH-0002rZ-Ae
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:08:25 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2073.outbound.protection.outlook.com [40.107.7.73])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4cad54b3-7556-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 12:08:23 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7449.eurprd04.prod.outlook.com (2603:10a6:102:86::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 6 Dec
 2022 11:07:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 11:07:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cad54b3-7556-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gPy4QeECFK9X8WV7JSFdFMdcIp0B5KIM2YZoAO6MCv+KluVIxWZKGkjOR28IweuBRraZXWJfgmU5NCH4v4VuEp89oNFTR7R1k1emBA2SiSU5ePTNxxOztOQTUYQB3x3KnXuRaH6nCziqk4f+uctFV236BbvVqyNGuDqPn4RdBNxgk93DicgsDEsFp5w/nqfF2tOmWpBeSKfiOjomuu6kLsl1gSoR4z6jHK5NXAIUO1UHJpXLLuRoO9jAM2r309n6BgNxn8CEAwQ7AT7apOerw1Khgy7KDqFwnIYsnFZEpeFHJq+2vV3RJBBm6SQATcq8S0oQWbGWnx9uHVUUHOeD6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f21hIBnvjdpCSssyREkyq4ksAWaZ0ZhSaml5UfIOdmk=;
 b=F8Bd7WUzhQDt2jFiMmuMfHMZqRWpNHcq8cDp7F+XzHvCgv6Xu1J45FvlJZlpSPMw7+gabLtAe5TQYR/rl6BM5YdIP8WZCu9WmYoRfvb+vTA6ihRQW21PFMXrhtSBADm85IT9K0xpV+FeXV+FstXwa6j217UBLws2HuYVQqnKFJ2pRwZfeTs+352HGy45GGycZSaRhzpEdstn1w1NqO4hWoT+p4HtvtQcUq+5DuaV7b7Jlcy0BjggAYzjgzEN3BkDfR/2dmbmmMwOGBRT4CNcO7eUDBnZN0u5qdUnDFtVqJvIG+7Cqs+hYWriMvKdrNfH0f98oMz147J4cZOM3qFDcA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=f21hIBnvjdpCSssyREkyq4ksAWaZ0ZhSaml5UfIOdmk=;
 b=blJTz9f7Tx554q15l/ofvaO8M9C1rYe0+1fsVtyNgTDEoaL6qcBMYtWwxFbNi9mX649zC5iGiCeoXBvFVwR9S6mjYJ0fPX5psUgwxJaukeDLXgYBVZsMfLC9CD9YxQne1i/t96YxFY+l8XwD2qM7EZFl97Dn8vhuBmioxnPXDlO/rUC3un4aG76yO3awc4mzQH/DoFYfLOg0Yni2Hla1Q8qHnoid+IvwH0hXukr7pGgiMHP6/SzUMor1hfj/7yEvlJKUXq/PACt6Y84dLuGoBdMwZcICLsuIadzxFRKIhW4PIQqk86NrCEZgRElMMcUNRWiukFOQyEj8oud57G9niw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <59c3ba9d-2c47-c59e-3dc0-932eaf11782a@suse.com>
Date: Tue, 6 Dec 2022 12:07:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 1/8] x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, George Dunlap <George.Dunlap@citrix.com>,
 "Tim (Xen.org)" <tim@xen.org>,
 Demi Marie Obenour <demi@invisiblethingslab.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <c70f4c4584cf28ff1da8f56e08d61ad0c406a4fd.1670300446.git.demi@invisiblethingslab.com>
 <e66f8611-2df5-31b6-186a-d35ec555c605@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e66f8611-2df5-31b6-186a-d35ec555c605@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7449:EE_
X-MS-Office365-Filtering-Correlation-Id: 1936c4ba-5bd8-4afd-a9dd-08dad77a1ddd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/K7rm99E/6Ckm2v/sPBRJFS1O5WFEszmLuqBz4H1cU7a1FsSbL2TusfZ1Tujn84nXRu2GNmd6CRUg1LNKOvlN2Rx/7SiDy29ZSeUXlIz9u07wkeJAJ+XChGb8RPVYk22H1ukIahqAXtfrNUvb1JNS4B6uMo87S9uqIFSVAh5VWCaDeuF3x+ZldrsySUwCIPm+2PKWMi3kmGHVEUxr4mvsN9afnpuFOIKP7IBZ26yiFT9UpkJNn1dowJDJws7U/1za10lNeu3Ke2aZcKCeqkQ/7g8wxvwyLoBD3voY6rcgX512kFugepUKZrXH+cOFi/d9obifmk/MFsAKfvDahF0eOP3xTjZ1BWymLLQhiAKbi8Y9wXfPJCrAKnlZKPjsvGi0As2Vhv7rNB/uWOwKSrnceUfQ7EZgm6i+DJLFnSpbNLMY1ttSojtC7yKz+4CccDAb450lNvONxdbMJIWpLQdbT6aL6qS2Y3lBekPIrhEzjhv7HSZK+pvSBQtV71OPATSxiPiui5rD06eSYzB/9FUG6e7USUx9YGHW99zcuoEDXmUck/f5VRvifED/Ly9owqprJ1fG8ZThtshCZGU0QPvBNGqgQmwNuNFVzwiAXG65iHhMPcOuswAnUt1mAYS6DnDRvqW3EmBRa+v1/SbA3vgDvszWcxbAiwnR31iEEc+YBmANcRE59j+agdSGmvbwXEYr0KnuUDDbi/Mg6gLag+YwpCBdDIo7IUfmRgCHcnGhKs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(376002)(39860400002)(396003)(366004)(451199015)(83380400001)(86362001)(5660300002)(31696002)(38100700002)(4744005)(4326008)(8936002)(2906002)(41300700001)(8676002)(26005)(6506007)(6512007)(186003)(53546011)(54906003)(2616005)(66556008)(316002)(66946007)(478600001)(66476007)(6486002)(31686004)(6916009)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YzBhOXoyY2pEQTc2c0tTeVJzeSt6UDBFcms4RlRSRk14eUxweTRzT0xEdm5m?=
 =?utf-8?B?dG5Ga25lVHdYUlArTFU3WWtCMkNKUGtxUGZkMmJaU1F4WG5FNUJ2ejdycUtQ?=
 =?utf-8?B?Z0tkblZ1TVoyNjBIdTMzUndmTWExZG9DdHR0WWg0U2VYcEk3Q3V2endMSlpo?=
 =?utf-8?B?SEorNno4WnZ2TDlCN3FxTkErbWd3VTQvRmdlb2d5T0JSdEx1M0FONjFBcG9P?=
 =?utf-8?B?NGZZeTFLM0c1V3BtUkpJSUt2Y2F3SFpqWmwzNGg5d0kxLytFVkRxekZqK1pC?=
 =?utf-8?B?NVg1cnNwbHAxSHB1T0w3WEJaVkdCOU4ySlEvN3d3MDhnUUpjNnRvRjJDTzNo?=
 =?utf-8?B?K3dLdjF0SU9KSzREVmdHN1BaM1AzN0E3SHdhOW5xejJmZ0kvaEpuNkVONVhL?=
 =?utf-8?B?S20yYXNhUHhHM1B4Ykphek5BMXg4WXVPdWxYQTJUZmY1cjA4SFI5YytVb3dx?=
 =?utf-8?B?YkVwcC8ydE5uOURQclhTZ1B2eEM3b2o2QmkwcmY0c3puYlFjaWdJU21oVldt?=
 =?utf-8?B?aXBodjQzUHRqTDZ2REpKMGVhZEt4QzFxMG9xbVMwRnRzby9yUWhrOVdrM1Qx?=
 =?utf-8?B?M3RIOU1hTlcvQ3hJL3dzMUM4U1F0SGhiRUFEVDBFS3BpUkNCUDVnUEswS2J5?=
 =?utf-8?B?RTJWYThKRnY5aW9pR2N4NFR5cmJWenQ4dVRxZElOQXQyVWNkbDI3ZlJFOVl0?=
 =?utf-8?B?dlVFTGtxcWRQU3dVYzVBTTNwN0VkMHBLdlRHaGY3N3pUN1ArVmdJTlhydTRh?=
 =?utf-8?B?cGxtSkNndmtyNzdjVEVockx3Ly9Gb1FhNkt5U1p1a1BkMU9zc1kvbldWdHR2?=
 =?utf-8?B?V2grOEQ5SWYwNFZmTW44RzUxbXF5RWh1Y3ZUbjBQODNWYW9GOGltdURRRlVQ?=
 =?utf-8?B?R1ExbFEzdWNoZ3BxcnAvOGQ1QTJtWjVSZlcwOEwrVDU3RXA1OWV2c0FRR3lw?=
 =?utf-8?B?WndpcGZmenB2aXVGRXdGaFpyeGFRQnp3eTVyUzd5M21hNExhTEpZQ2tmeDdQ?=
 =?utf-8?B?SXIwb1FQYmpoaDBhcjNZUzNLdVh5eDhmWENnd1JMelJHWS9xQXRVczJsNFor?=
 =?utf-8?B?Wldzb2p5L0hvaEpXK1dZUkROMTh3RzNYbXdySWRLK0dvNUgrQ2c1QXVXR1Bn?=
 =?utf-8?B?aU1vSVhRMVh5U3JqQlB5aUVVY3ZDN2pYNGltRzliOS9qMHNVVGdUOWIvMWZZ?=
 =?utf-8?B?bkxnTjBrNUNJWWpLRTdzdHJLWDA5ZERiT0MvUk5XRXd6TGMyaEcwNW5GRDh2?=
 =?utf-8?B?KzdCanRBV28xbHRPRDJDTU5EZHJwamtkYm9yQmgwbDNuT0VHbkdZaUNrZDV1?=
 =?utf-8?B?TkJNR3NmeE42bWlSU2hmR25jdlNEOHpZL2wzMTNBRUluWDVqMStaYkt5dDBK?=
 =?utf-8?B?ZlZON1N6eXpGTFR4T1JyMUdac2lqcnYrVDliUW9NUVdZYzUwcUFyQkVYek9r?=
 =?utf-8?B?TDVwclVSYTUrV29nczBDM3huYUdQei94TjRISDlORTd2UHNoTjRwMUsyWHRV?=
 =?utf-8?B?eE8xV3pubTZYWUlaTDRKWHNOczNVZEN3YWtFbXg2Y2p4SEtMU1RJbzhOcENr?=
 =?utf-8?B?YVFxTkdGZCtaUGxmZkxmZmpaOFU4QzJmZ2NoTUREUkh4U3loMHFvb2RSZEJF?=
 =?utf-8?B?L2k0UTgxQis4Yjh5ODNXTVNyeFc5UWFTbCsyNFZUMHdOcFFxOFZVY0pkV25J?=
 =?utf-8?B?RWJReFFQL3lpaWVham1hVUFYaFZqTlF1YzM4NDBsUE1HNHVNMjluNksxNmJC?=
 =?utf-8?B?U2FYYmNiYU9ZYWRzMnAwL1EySGl5ZThkNGRZTTg1MVFmN1A5ankrakpwbGND?=
 =?utf-8?B?RldGUVF2OGRhQnhzclA3QU4rdEhOalVIRWttWjFTTDQrMzVRMk9Gb1RVY21i?=
 =?utf-8?B?dFEwNXRxK0E5U3lmRkwreTZqeEI2bjB2eHFXeU9mYi9UcEVyckxXRitRN3Vq?=
 =?utf-8?B?ZFEzNkt6MnY0bytOVVZjMWQrNlhaWU5jN2pqOGllanhMRVdkY0NONEhoQVE2?=
 =?utf-8?B?Vkg4ZVJQTXpsd3hudzNJZlRLR3U0S3pMNlc2ZFBuZTA5Sk9PUGt4Y0pXamho?=
 =?utf-8?B?eUJ5RFhpTCtnQUVmSlRWclFkSC93QlpSMEhBaW9BWDVlaERWdHZhUDdsbkFo?=
 =?utf-8?Q?rbM9ZtLjh0Qwxf6GGBBm1yLTG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1936c4ba-5bd8-4afd-a9dd-08dad77a1ddd
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 11:07:51.4332
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rg8KtU/a7Y42JAYl1qIoBdKPbzOsEwstpfmFqgE0ssS4xXkbd2Gtd3w+4Kp+wzpfNDycMlyzQN83mdF+klPWBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7449

On 06.12.2022 11:42, Andrew Cooper wrote:
>> --- a/xen/arch/x86/mm.c
>> +++ b/xen/arch/x86/mm.c
>> @@ -961,13 +961,10 @@ get_page_from_l1e(
>>  
> 
> As you noted that this desperately needs a comment, how about
> 
> /* Force cacheable memtypes to UC, */
> 
> here?

The comment you appear to be missing is actually there, just perhaps a
bit too far ahead:

            /* MMIO pages must not be mapped cachable unless requested so. */

In any event the comment you suggest to add merely re-states in different
words what this earlier one already says.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:09:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:09:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454662.712184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Vpl-0003X2-Vq; Tue, 06 Dec 2022 11:09:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454662.712184; Tue, 06 Dec 2022 11:09:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Vpl-0003Wv-SU; Tue, 06 Dec 2022 11:09:57 +0000
Received: by outflank-mailman (input) for mailman id 454662;
 Tue, 06 Dec 2022 11:09:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vYNa=4E=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1p2Vpk-0003Wp-8G
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:09:56 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 82f8a0b9-7556-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 12:09:54 +0100 (CET)
Received: from AM6PR04CA0031.eurprd04.prod.outlook.com (2603:10a6:20b:92::44)
 by DB9PR08MB6651.eurprd08.prod.outlook.com (2603:10a6:10:26e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 11:09:51 +0000
Received: from AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:92:cafe::25) by AM6PR04CA0031.outlook.office365.com
 (2603:10a6:20b:92::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Tue, 6 Dec 2022 11:09:51 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT017.mail.protection.outlook.com (100.127.140.184) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.14 via Frontend Transport; Tue, 6 Dec 2022 11:09:51 +0000
Received: ("Tessian outbound b4aebcc5bc64:v130");
 Tue, 06 Dec 2022 11:09:50 +0000
Received: from 9baa55093dc4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0BAE4B81-A7C9-4B65-B2C2-B0AD077D9847.1; 
 Tue, 06 Dec 2022 11:09:43 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9baa55093dc4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 06 Dec 2022 11:09:43 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAVPR08MB9793.eurprd08.prod.outlook.com (2603:10a6:102:31d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 6 Dec
 2022 11:09:42 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda%3]) with mapi id 15.20.5880.008; Tue, 6 Dec 2022
 11:09:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 82f8a0b9-7556-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8NkYmRwVXu3wBQfoRDjrQrBGKtF/ev1ry2PuycJ+fuU=;
 b=m5ycK4r09zAtgQ/JkuyV2CMF/EZ1/bgvUcSrQ2ytlIELOFKZeGft6B0GFSn2r3nJ1DBFTczh9tdlViqMQLJapUwoKZZ4sP3Ii6josKTOlqHHE9MiuQNZzVflH/1k1v6r7h7XGq1+v1LfvMdEpc68MuOETHjS9bJ/3CgbCd2SUJw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: f1c73f0fd9571ef6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dHUCKD4VP26Y4pc05MpRDzM8mirYSDu59AZai9VXuC509RXP3PkBjgWxaxreKzw+NPoxRrgglU11rFp0b5iYbvtiDCJ0e1cdQW+F2hdznB7UN/1j7/4I/+7OUkeLDT6P8EZp6BWeBk70kdHrz6XlZSlcsCBZspRCzEE0qcZZuyZdYGX5GM1HK+ktsW+fHRXrxD/FW0yOtnKvRl5gVDBQJ6RBv/az561tm1SjrjXl/LNMF/d5DqkUSJcw43h70GWRQiH5Y3XI2sX8kl1u3Qh3yguw5ht2MtUVVZuZS8AeFpoa8SE0AF/QjhStj5+ASvVenJVTwB0HcMMp83sgRrY8HA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8NkYmRwVXu3wBQfoRDjrQrBGKtF/ev1ry2PuycJ+fuU=;
 b=DDFJAhhJ0u3Bo35R1h3TISCLf8Pq49I8aUYdOOZsANsbbeGsW4PHb4qvvlnbgTLLTzKmpRiFi/xiLtrIKScWSOgox/kCy3WS5wt0OQPP34JFcW4p8FE5W9TG8SW5qmEXDJW+nKQfqr9pzanmwzaVCZxOtJCTItdm0OWOZj5tUV+TVGzpTZfZH711gqLtCyC+EUw79AZpS8UyEgytw2UESBb3X3OhmbRACvsnXyhXJ2RFoxzhTuAgU9rQDA38J2R0AwiRLqxK9h1BBvcc6Z6Nvmcayl8u35YrL0znV1sX0bmiqFT8FvRZslaU8Wj1JIl6U/AmiYTf3d7qExwhfECokw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8NkYmRwVXu3wBQfoRDjrQrBGKtF/ev1ry2PuycJ+fuU=;
 b=m5ycK4r09zAtgQ/JkuyV2CMF/EZ1/bgvUcSrQ2ytlIELOFKZeGft6B0GFSn2r3nJ1DBFTczh9tdlViqMQLJapUwoKZZ4sP3Ii6josKTOlqHHE9MiuQNZzVflH/1k1v6r7h7XGq1+v1LfvMdEpc68MuOETHjS9bJ/3CgbCd2SUJw=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] xen: Remove trigraphs from comments
Thread-Topic: [PATCH] xen: Remove trigraphs from comments
Thread-Index: AQHZCWINLKlK6tI5CE6qpK6tmjbd665gs6gA
Date: Tue, 6 Dec 2022 11:09:41 +0000
Message-ID: <0818F0DA-A29A-4C02-9F55-36D0F6F3B78B@arm.com>
References: <20221206105932.11855-1-michal.orzel@amd.com>
In-Reply-To: <20221206105932.11855-1-michal.orzel@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAVPR08MB9793:EE_|AM7EUR03FT017:EE_|DB9PR08MB6651:EE_
X-MS-Office365-Filtering-Correlation-Id: bad4d94e-687d-4a7f-9879-08dad77a6559
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 pgZmFqnPR2E0tTKSeQ6clHQorRSene+BvM9PmsbJDyFv1E8T4e75sNIlpYiq5SQQjP8/uMf2QF+FVosDZLriIytePo6rQ+4MUg4Npi810Ln1Grj0rNE/do0So7suUth1zUieekxaNbUe26mB86gpeloS/GceNXnsfkfzed3upS1BFUEZ0uX0hTS/VwMqr4pW7yB6K3TYwssjTQylv8X34iUn20QZT0AXH+CLxXN/LE9eqIC3HQf85RCoAmj+0edBcn1oWJmnvHbYo1dUVe4CzIh3l6Ef6yQRODgX7cA5qAekEm2AHufisLzGh4BS9I4L+I4rVumIi3uNGsso513Ho4quZHEIVnhnEyF7YCPXR6VRAFYZn/6+2nvA26G3lP2iOCFM3lgy/KSXZmtARcKgfjBbg8pPDci9b6bvkGW/jWaU+J1mLtBGTOZ/wONuZW5wngBBw6NiCLR1j5lehTIdJ7BQA5OzMgkGygeji/cKWRxlGAdTCVHyA3NJQYVzLczqze2nUUC1wkTP1xIF5Q3yS9h6A8ziZ39WiEhfV51MOZ7mcdQgwMh/K4Y+wqotMiUTFOLy4Cybs8ipuN8jmjeYZitcx70ZBBcveWSD1+UlJEu5dZcl/Y7JipSS7waUWsfAJCxl1v2qf6YaLZ7pUNDSmCKq91jddC/yURjqjlauKpWqEWrLERJpZlt4DqYpmYwm9k/AV/21znldcKJ/ZFUh3jhvtk31XDNDtxHSJC/5l2Q=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(396003)(346002)(376002)(366004)(451199015)(36756003)(316002)(83380400001)(54906003)(6506007)(6486002)(6916009)(53546011)(6512007)(26005)(186003)(2906002)(33656002)(86362001)(64756008)(76116006)(66446008)(4326008)(122000001)(66556008)(66476007)(71200400001)(38100700002)(8676002)(478600001)(66946007)(2616005)(5660300002)(38070700005)(41300700001)(8936002)(91956017)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <291B711E36DB7449B1B036C9C952C8E4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9793
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0fdf77b2-3ea5-4d65-9686-08dad77a5f7c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QeaEpfu50sFGQH9NN5Nxw3M97J1aJ2kobeurw8NvBAbQhtBc6s4ueWTvjXo6aBUdqqUlNP6KygtVKntIzZmQsQqNF9oBluDickNmyjSDYrSchdpQyyZbSq3Y77PK44Bw1nddI5SfKzy4hWxUx8m9HVzvGsTJHN7/o2ZW9N0hYRxCWNtzlk2KuSkX16VXIOnHZHvyY8CWxkgZPnh3aSEsHrdUetupS7G2LbnlJPMw2+aoMaUmLrZMyOVNjf9ejAXEt4pdxHmCL2ZqhF1U0ROGboyaPW/sCMfN5dzU9Uxj3k3TyrCEabZIqAADESSyPy9fVRPC78wSt+edY33zEI+hifPfmFfB6QwSWtqQbWnJHsbTthkDBB+wzpU0tAFg8OZ3VisTk+oJbWgfEF/iQlPKg8czm6PW6RK7agqVvfgTRzJaGkjgiv5caKx4tQ6FZU8c0TlwafwRwy0fU6mk3iBulyeCVTl9gAHHOEvKMkM0w/PnYueVfBcnvKwYJAtmm9cuI7rs1HnK1YhfpGzxkAfuCv2W9fCsB9GMWoeLB9wKbHqFDYyVun6oRmmCNy+wWg4DeLJ0S+3ul9wbV9qcq3usLXOYK3syeeCozRITGRbbvYOhyZB7GzX2Kr1VLkZufXZ7Tg1DiSxsLp4i/3KJT4wnVy1io71NQZZ6+gbvjJ/Txf86y3qJf9FinNngQiUAjdpy5tbt3gpf1Eo3iWHn0vknQA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(376002)(39860400002)(136003)(451199015)(36840700001)(46966006)(40470700004)(54906003)(86362001)(316002)(41300700001)(8676002)(4326008)(70206006)(33656002)(70586007)(8936002)(478600001)(36756003)(6862004)(5660300002)(47076005)(83380400001)(82740400003)(81166007)(2616005)(36860700001)(186003)(356005)(336012)(40460700003)(82310400005)(6512007)(40480700001)(26005)(53546011)(6486002)(6506007)(107886003)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 11:09:51.2074
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bad4d94e-687d-4a7f-9879-08dad77a6559
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6651



> On 6 Dec 2022, at 10:59, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> MISRA C rule 4.2 states that trigraphs (sequences of two question marks
> followed by a specified third character [=3D/'()!<>-]) should not be used=
.
> This applies to both code and comments. Thankfully, we do not use them
> in the code, but still there are some comments where they are
> accidentally used. Fix it.
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

> ---
> xen/arch/x86/x86_emulate/x86_emulate.h |  2 +-
> xen/include/public/arch-x86_64.h       |  2 +-
> xen/include/xen/pci_regs.h             | 12 ++++++------
> 3 files changed, 8 insertions(+), 8 deletions(-)
>=20
> diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_em=
ulate/x86_emulate.h
> index 4732855c40ed..bb7af967ffee 100644
> --- a/xen/arch/x86/x86_emulate/x86_emulate.h
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.h
> @@ -228,7 +228,7 @@ struct x86_emulate_ops
>      * All functions:
>      *  @ctxt:  [IN ] Emulation context info as passed to the emulator.
>      * All memory-access functions:
> -     *  @seg:   [IN ] Segment being dereferenced (specified as x86_seg_?=
?).
> +     *  @seg:   [IN ] Segment being dereferenced (specified as x86_seg_?=
).
>      *  @offset:[IN ] Offset within segment.
>      *  @p_data:[IN ] Pointer to i/o data buffer (length is @bytes)
>      * Read functions:
> diff --git a/xen/include/public/arch-x86_64.h b/xen/include/public/arch-x=
86_64.h
> index 5db52de69584..1c3567a20217 100644
> --- a/xen/include/public/arch-x86_64.h
> +++ b/xen/include/public/arch-x86_64.h
> @@ -22,5 +22,5 @@
>  * A similar callback occurs if the segment selectors are invalid.
>  * failsafe_address is used as the value of eip.
>  *
> - * On x86_64, event_selector and failsafe_selector are ignored (???).
> + * On x86_64, event_selector and failsafe_selector are ignored (?).
>  */
> diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
> index ee8e82be36b4..a90aff1712ba 100644
> --- a/xen/include/xen/pci_regs.h
> +++ b/xen/include/xen/pci_regs.h
> @@ -246,13 +246,13 @@
> #define  PCI_PM_CTRL_STATE_MASK 0x0003 /* Current power state (D0 to D3) =
*/
> #define  PCI_PM_CTRL_NO_SOFT_RESET 0x0008 /* No reset for D3hot->D0 */
> #define  PCI_PM_CTRL_PME_ENABLE 0x0100 /* PME pin enable */
> -#define  PCI_PM_CTRL_DATA_SEL_MASK 0x1e00 /* Data select (??) */
> -#define  PCI_PM_CTRL_DATA_SCALE_MASK 0x6000 /* Data scale (??) */
> +#define  PCI_PM_CTRL_DATA_SEL_MASK 0x1e00 /* Data select (?) */
> +#define  PCI_PM_CTRL_DATA_SCALE_MASK 0x6000 /* Data scale (?) */
> #define  PCI_PM_CTRL_PME_STATUS 0x8000 /* PME pin status */
> -#define PCI_PM_PPB_EXTENSIONS 6 /* PPB support extensions (??) */
> -#define  PCI_PM_PPB_B2_B3 0x40 /* Stop clock when in D3hot (??) */
> -#define  PCI_PM_BPCC_ENABLE 0x80 /* Bus power/clock control enable (??) =
*/
> -#define PCI_PM_DATA_REGISTER 7 /* (??) */
> +#define PCI_PM_PPB_EXTENSIONS 6 /* PPB support extensions (?) */
> +#define  PCI_PM_PPB_B2_B3 0x40 /* Stop clock when in D3hot (?) */
> +#define  PCI_PM_BPCC_ENABLE 0x80 /* Bus power/clock control enable (?) *=
/
> +#define PCI_PM_DATA_REGISTER 7 /* (?) */
> #define PCI_PM_SIZEOF 8
>=20
> /* AGP registers */
> --=20
> 2.25.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:11:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:11:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454667.712195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VrA-0004uc-9l; Tue, 06 Dec 2022 11:11:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454667.712195; Tue, 06 Dec 2022 11:11:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VrA-0004uV-6j; Tue, 06 Dec 2022 11:11:24 +0000
Received: by outflank-mailman (input) for mailman id 454667;
 Tue, 06 Dec 2022 11:11:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2Vr9-0004uP-IC
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:11:23 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2078.outbound.protection.outlook.com [40.107.7.78])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6f955c0-7556-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 12:11:21 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8802.eurprd04.prod.outlook.com (2603:10a6:20b:42d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec
 2022 11:10:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 11:10:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6f955c0-7556-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YgSe79hBPGM2UNim2Tv7dVd/a0dtGazZX7dbw8PouE1ak51c+slM2yF0EWI4On2Bkrw3I5pkdD9mh/vF2T9eFd5gwV6Cokzda+KoiaCm0OhNnHoGMTfP+uOuC/iNWRMkud8PTJvSCb8nWfijRKRC718i4K82N7wtr242+lVQUChOSWKfNA7kAbWbUxEl7h11BpV+Zr/eGUDTqEyiW3IBKYVDFWA79UyqP0d8MVHTS9fwL4vGATxo3055TJYpqfn2joWWtmeSLjsj0csvjhaCicQwONeC+mtikHvFN0JnwTg/HdpbWn7ze0xGakzfwgi/PTbfo0eAMkEI/4TCg7274A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F4eBDWBRgj7UQ4odhOT2Orz0l9PloJ/4EeyaDRtqh2o=;
 b=NAf5mlcHWLJAkPtUsOvFC1X1oomnpkgfqwNMU88MXp49xmumkFWI5ZZ721SjTZ9u+o37XeKtcLi8LamIpvgNZdsTiS1PJoPSiih2Io8gg4y3K+ijlDWQjFAZcKxLLe60NIm2pfN3ox2WmCxn7BEFn+atybuqp3YLUjW/y3KHgvgGAbojuy6+RLt8bbQwfNewQftYJ5HHwcqgl8r1dexpDTVfeIFzq88hk+qkPqa/Usucd43pm3uwFnq0VqQFwDlE9nxGpC7wW5V858fmjcoLmZYsO5lbBvYdY5gV5MDVw2UCPxBKxwUO76Io+516EN36R2yZhRXEdaszV5zgbJ13uQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F4eBDWBRgj7UQ4odhOT2Orz0l9PloJ/4EeyaDRtqh2o=;
 b=GEeyvKQiOT0Go7+LRbX89xjWpyda0fNLOuwc3XLt5prj9Y8Lt/0uWfS47lItr2FDXCX6oZkky0THzvhrm0wCu3ejXG7swaWQzHUf7DM4SNqgrBpeAfbibJ04tF84ePWZgdzO06Ck06PaoXkXgkKlCyx9iiX6SGm8LGDH/eViJQTmrHLsCdK2cR1p1UFCxr4rRStki3vKYuZIt8lB8RVR/MzKdenZnxiAK1axR+yyDljDM1svYkIIblolfSK6xWLURvyrfcFyD9oqo+GLrCtLPv9vIAABliwDeOTQSEcXTl/ijGPWRcwtixTjGzrnowP2K5c4MPaq0Vqf6SaubrGBQA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <30188282-729f-c0a8-a650-f2b3f4c040e0@suse.com>
Date: Tue, 6 Dec 2022 12:10:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 2/8] p2m-pt: Avoid hard-coding Xen's PAT
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, George Dunlap <George.Dunlap@citrix.com>,
 "Tim (Xen.org)" <tim@xen.org>,
 Demi Marie Obenour <demi@invisiblethingslab.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <94c76a8be13a592ef98c80525b6c016cee583e73.1670300446.git.demi@invisiblethingslab.com>
 <cea0b80f-6fca-9dcd-8d04-2e7ce943118a@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cea0b80f-6fca-9dcd-8d04-2e7ce943118a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0083.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8802:EE_
X-MS-Office365-Filtering-Correlation-Id: 34cc15c6-1331-439b-2380-08dad77a8a33
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CsfIA+/3ylnK1ax1H2zjT2md9+luIrufEULSPYhJAUR6LymtiOZlbvBZqkxZ+WDk9qN0FWMwV1eDovrryzPAY9nQ1KwAqQfkZjVo7LYSPbe2Fym7sRr7fz6h7gsHWGR0EeettBVtxYitUX4t2e8wxS9rBCcynk3oM05NFF+h2Av9b82YnXjFTptl132fS4YEFcsqOTTp0x6YCxdk8NkEpM/mFmEMUL39r0V5fUPcPLkJOoGyXi9wfDGDvwPRCKOwHJdnQm3DjvwEIAVc+s9zbynxXVHnglRQ6afq197qA8+LrH/DU9Jj3z0jyWHRRzHaaZfU8djne70akmZD/ppiF8MZy9UjQKVoIjoTyJzB987lmsoiFmSa6RnPAzvWteO/kd2+PEJAmVvnkrQInMaAzxiRttT4xxoC1cvtbZwn6Dmh8lnftR+0Q81st7tBjR487ZN31cvfmFW7VprXx+e6sSduQIw4piKt3+rsBlK1oS0AIi4oxwki6rCV87kxhHxyDV0/MBwuY85N9GUrkY02nAIkHGvUI9y1HDWdlaNsmUrWvAzT+YDFpHrNnbJDS+XLqByqdvH38zUL7vLuPNEVTUGg8rgc4EKNw1VcQYEPVS5ogehFTtHdUHOYVvLFS+4X0WfH/2o1kwqvA5pZzVejazyYM9139d9nXoHuPE+osiLSxVCa5A/cYQtrppGHVY+Ta2gygqaBe/wq86A6+L7a2Xh4PHHntAkuztmHzBMcJj8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(366004)(396003)(346002)(39860400002)(376002)(451199015)(36756003)(38100700002)(31696002)(86362001)(41300700001)(8936002)(2906002)(4326008)(5660300002)(83380400001)(478600001)(66476007)(54906003)(6486002)(316002)(66946007)(2616005)(66556008)(6916009)(31686004)(8676002)(53546011)(6506007)(26005)(6512007)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YVJ1TGtKOHZ3QlF4U3I1VExZcDJ3ekRIUDJVaXJNejRXcVhLVjdJczEwMWdC?=
 =?utf-8?B?UDNVeit4NU9xdTA5UHlXZzlibUdYQUx0OE04eU11R1hkR21ua09Wc3U4Tjgx?=
 =?utf-8?B?aW9ydW5KNWFueEpZS1UzbStYNmhNenNwOHFlQzBBNHVDNC9VeU1pclU4Y3BV?=
 =?utf-8?B?ZVlPR2s3OG5sTzhNcHA5MXdwa1BmODJpcHpUb2g1NC8zNE90NkhXOXNPYzVT?=
 =?utf-8?B?SDVpZnNjNElOTzhXTHNHb3MyZnFEM21ydG1wNmhFajVUNjUwQldwVVhYOFl2?=
 =?utf-8?B?eDlqU1hBLzNzWjAzTjFuZDRaaXc0ellMTVQ2N0pBMHFmTjRCWTdVcHYyUmNk?=
 =?utf-8?B?V0RXZmdpb2x6QmN5NTZISGN4Rkx2cmxMdUdCS3ZOS0pCclVndGEzMXlmSTdC?=
 =?utf-8?B?Y001bmlBdjZRUjFQY21MemF0YUd6VnBEaFlEQ2R6RWVERU1PZE1lVS9CLzgr?=
 =?utf-8?B?WlJURnpFWHc5WGNVZDhWU0RmbGk4RDNIaTlGaXVhQi9kVkJGOVBGclNKNDM0?=
 =?utf-8?B?VmxleEhsc2txQ1NObGt6UWJPWGlXeXJDYXR6bjYrYmJqbE5XN0o0TVFqaDVW?=
 =?utf-8?B?QVB0WGJKZ0R3STBZUnlSczBhZmFyMEpST09naWJTd2VCUCsvL1BieHYyVm1C?=
 =?utf-8?B?OENIaGx5aktVdHpHdG5LbGFIMGo2MlpJSC8yOS85SGFFVFdnS01oeGxwQWxC?=
 =?utf-8?B?dXBYVUErRGRxWTI1amdaMnRZTmZabFFXdGkwVnJJeGNsTmdHYzJBZGlSWkdB?=
 =?utf-8?B?d1B0OFdEWmk4bUsraU5TbW11V2lyNU93QkRQbDBNR1FZTlY4bkIzTmgyVzJ5?=
 =?utf-8?B?NW9aNU81YkRieW8yS3o3eUw1R0I4bk1kTmdxekZ5OGxBaFZWcVk2a1l6REt4?=
 =?utf-8?B?UkZ4eStnMWk1aEhZcERROW9udEo3MFFYbHMrUERVSmtKaEY3ODZYMjJXSzhG?=
 =?utf-8?B?cExya2MwZzRudlJMMWI5azBvVDhuV2drdkNKSVRER1BDWWlnTkVUYmRieGpk?=
 =?utf-8?B?VmtGeGJmL2xLTU9UQ3g4WkpZNWdkTzRDRjEvSGN5Vk5jREg4Z1JxeTZEMmxq?=
 =?utf-8?B?eXVtQ3JDRlRrQis1VGpTVFptT0tYRmF6NTBBcS9RQVF4SzNON0pLMmFXN3lC?=
 =?utf-8?B?SmtBZWRyTzBINmxEQkNXTGZaczlhTnRLeVFpdTh1R1JzWnZsekRzUTBHUlNh?=
 =?utf-8?B?KzNUa3Y5cVZtL2kyMFhFblBGTk5mNzRveC9LR2ZHb3dJUG1RT1QxRlc5OWE0?=
 =?utf-8?B?dkk4ZE5paTdHelg0aVhkSHA1YjFidm9SKzd0ZEZkUndvSVFyaGhiT2VPWEdo?=
 =?utf-8?B?WGs3M0g2TlcvamZZQ3BNNzVidGxMellucE4zcUhHNFVzOXhyV0FIMHB1YjEw?=
 =?utf-8?B?SUN1UzBvVmdlQkRCRmkvdjdKYXFySGV2VFJKWTNnUVU3dUFsS2lYL2tINFAz?=
 =?utf-8?B?bjRUb3dFMm5ZNElPR1lVWitRMUVORzZIQTkwaHlGMjFLSFpwcUE5NCtHOFBt?=
 =?utf-8?B?a0xqOTFJUGdqYXE5d3ZZeFQxSm9vcXVYVDdmOUNMeWtDUVk3d2NRMjhaeDdt?=
 =?utf-8?B?eUtVYUgzZXZrVm5FY1VEcm1ldm03bGNGays4aSt1T3lvN1dNTEMwZGpXVmdz?=
 =?utf-8?B?aFZGRzFTZlppNHdvcWp2dGhUQmNkQjk0aGtvdVkybmpFMFB0WkhibkQvN2pG?=
 =?utf-8?B?R0pHUy84RlhFKzFXKzRCVkxpS3QyN04zVmdLdFN3YXE3cHNYQk9jbGpkLzRs?=
 =?utf-8?B?Rm5QdmRmbVlha2V4eFZvazVkUGVySmpHQlltUkdySysrajl4VkRzSzZ6R2xm?=
 =?utf-8?B?WGs0Uk1MRk5MVG14UlE2K2ZUcnVVNWF4b2dvaGsybTJEY0o3MjNPSm9TTnVJ?=
 =?utf-8?B?OTYxZDc0MXgvMXd0SVBKNmoxc1VhSVdtWldHVFNRYVVTd0NRamxvbnVXM3ZS?=
 =?utf-8?B?eVJMVXZ2REZQeVpCMVc2ajZxdnk4WGtTK3hTMDJoV0NZNEg2OWhKYXVnQ2kv?=
 =?utf-8?B?UjlQNGN1NG0wRTkxYyszVndud09tRXAxWUw2SEJVNXZuQ2xRNjN1UDRWQjVr?=
 =?utf-8?B?OVBFM0RVbW5iSlFGZG81OUFlUHVqMFBzdTNBWlpCMFZjVXZiNVhRVjRtM00z?=
 =?utf-8?Q?JyixBLBBhZ/p2x+GcAACnp90U?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 34cc15c6-1331-439b-2380-08dad77a8a33
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 11:10:53.2029
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0MMj92e40pP9VjvTFavt625hxPPOLi0I5kKRM6iad+BgwedyLN+LTqYG1HM1rPpw+hgMe+uOyTFgP3A2z+Y1Fw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8802

On 06.12.2022 11:59, Andrew Cooper wrote:
> On 06/12/2022 04:33, Demi Marie Obenour wrote:
>> This makes the code much easier to understand.
>>
>> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
>> ---
>>  xen/arch/x86/mm/p2m-pt.c | 6 +++---
>>  1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
>> index eaba2b0fb4e6830f52b7d112fba8175dfe6d2770..cd1af33b6772ab1016e8d4c3284a6bc5d282869d 100644
>> --- a/xen/arch/x86/mm/p2m-pt.c
>> +++ b/xen/arch/x86/mm/p2m-pt.c
>> @@ -99,13 +99,13 @@ static unsigned long p2m_type_to_flags(const struct p2m_domain *p2m,
>>          return flags | P2M_BASE_FLAGS | _PAGE_RW | _PAGE_NX_BIT;
>>      case p2m_mmio_direct:
>>          if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
>> -            flags |= _PAGE_RW;
>> +            flags |= _PAGE_RW | _PAGE_UCM;
>>          else
>>          {
>> -            flags |= _PAGE_PWT;
>> +            flags |= _PAGE_UC;
>>              ASSERT(!level);
>>          }
>> -        return flags | P2M_BASE_FLAGS | _PAGE_PCD;
>> +        return flags | P2M_BASE_FLAGS;
> 
> I agree that this is a correct transformation of the logic, but the
> logic cannot possibly be correct in the first place.
> 
> The read-only-ness of the MMIO range has no legitimate bearing on UC vs
> UC-.  I have a feeling this is another attempt to control mixed
> cacheability

I think so, yes - at the time the goal was to disallow cachability other
than the one used by Xen for those pages where we know Xen has a mapping.

Jan

> - the HVM side cleanup from XSA-402 is still very much pending.
> 
> I'm tempted to R-by and commit the patch, with a note in the commit
> message saying that the transformation is correct but that it highlights
> that the pre-existing logic is suspect.
> 
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:15:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:15:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454681.712205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Vva-0005xE-0H; Tue, 06 Dec 2022 11:15:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454681.712205; Tue, 06 Dec 2022 11:15:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VvZ-0005x7-Th; Tue, 06 Dec 2022 11:15:57 +0000
Received: by outflank-mailman (input) for mailman id 454681;
 Tue, 06 Dec 2022 11:15:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2VvY-0005x1-ML
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:15:56 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20618.outbound.protection.outlook.com
 [2a01:111:f400:fe16::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a268a0a-7557-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 12:15:55 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8604.eurprd04.prod.outlook.com (2603:10a6:20b:43b::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 6 Dec
 2022 11:15:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 11:15:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a268a0a-7557-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DL2YEghoZuRQSftS2nAWyxAX6rtF72P+MO810nWDTsGzovc7AR9KR2BiVD8Sr/fABwihnUAxYnDh1+61J6Axu+ZBve/bz8zFzLYMILH5x00g+sRqP+J1mSuO3mqkTf1wWRXftEYQI4/2c3ZEM1t7xI/rlffnvXDhsFm+bfmDjhh+gHUtO9QV8MYCVnv6UP2DxP0fDZNICygpwXXMnlmTNOKDY3stB5BFfnsUflShuUuDzHE6XgxkFvr0tMhwcv+LisGE0WH/5FCR9yYzIMBk2KrIZSubgRSl/fKdF1pCg9+J8QFs5rbhkLG3L6ruaqK4C/LrBP9WGTGaRq2WO7TvqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UGbyUn0XJdketXB8fylRv0lxICYA7CPIh8bLXhxvOt0=;
 b=NmGsu2si228VrPigmGcDW9LEpu93fNo1+nX/iSkRuzWU4/S7k56hERGbGCHUupkYJjVtDpksGrcV4XTwBeqcdxIwMYHSl0N4A76RLQgjAB7v0sjQip66x+j0UJvzOINojRQxq3PZ4KH479m4Bc6fuXeS7BjTGZlEL6Pix2ItRVbPiUGGTEXhHWJouI6J+Er3/g4wwQCBbnav0mvji6g1keSYfHUvcJgqR2G7LgOyRPGB0N6Wrltjw7Q8lMTrMqtzyy0zKsUgXWo/oPPpLUMiMU2f+9eh3ap58iAaez9NQfHro+XKPuL5z0eaCAhzwQ01SSMh3W2yq4zwBiCNyHA3rw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UGbyUn0XJdketXB8fylRv0lxICYA7CPIh8bLXhxvOt0=;
 b=5e8d5BONWV2XtAvmHNIBoeNBp6trqZy9e6hNiEGS91j6GF6ll1Z/aPji1hsewfXx2vShJwT/wtiOrqF8ET/RnLubWboBPTST0h6znqpm3IVfLba3zMubZLtL/UocHtPawzjQwK0dMeg9BF1iwCdB4V+fc6u/DaTR48E8NFmUDBvmjoaDh7DqOOGPzRmwIAqCb83tJ+of+nF5u+ywoRSe8CpXw9l1sXHgGXlOJoKsO4lcs0UjwT85dnDgy/szwX685T/OVVJaCTkxkd/YROs5XunqzoQ6qs9mHlJgyMw7jMbw4m8Qe57tW4/rzn8GYYD41gx7qB8+1g8an7bGmApXTw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <29d6a8a8-1c18-8e50-f8ee-18f161031954@suse.com>
Date: Tue, 6 Dec 2022 12:15:52 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 4/8] efi: Avoid hard-coding the various PAT constants
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <ea32e526153a40837484ba9c64a7d157804b6c27.1670300446.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ea32e526153a40837484ba9c64a7d157804b6c27.1670300446.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0001.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8604:EE_
X-MS-Office365-Filtering-Correlation-Id: 67b666fa-b13a-48df-c8ac-08dad77b3db5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	su1WqPseEONJnkFadvMX6uDOQMU5hnss0CldwLdo93mjF12QyJMH4OtZyiIwOXD2EdEMOGzByCAtYQYvxOtL0b3ncE2pML4r6WIvvwCegB6LP2F18nVxrQUO2+BXLudd7FICLdNBw7y24rGWr71Z+EuSVjOEspvC8kGxTQ0Cv5ml3WaBtwRq4mwP7D1VuaRzzDvt4HNYyh78DH+a5wTD3vaNBEBW/8fMGtiAL1lhX4DUJirdrgTJ9ibyRpWkpUpcD1oa9nNm2Iym7VZd5xxh2Q1sqs5gQBCWmDIsKX5n119hufzteka3TzfCEfl9mopuYNx6dLI7cCMQHKhdZLi7jPdK9shAWgUBLfN9f2wk2XwNMGyYGR4opoOAxYSdjI3Ow4hHgVA58htx45B2E0RpUpfXJl4t9aGfD19iAUHol3N8wn/J5CsiNnKOI2reSdtvqlFulsyP5feUfIFoO8S6c7lbZQ767ANxqhoB0m7YY5VwLM8KJHxutgaZ+8aM944Mb3Pi1Q9fiVzsV57S4Gfct+UCiYoYmMR6Cup1lhJBknR/GwTGNGQnRbARuoMrPqGzWvaLi2svHcHFq1k3BfWhdYzdVFF6O2eDkNyVXQK6RqCEypw2nrrVWTSbA38XKrul3q3aUwY7Ov3LOvgVHZpv5IhCkk/NIc2CnrKYueW3FvNuIbH0G/scXyoHIwdQ/fBjVAK9HIR8R1WSxLDbnoNVZGbfc23aiffblEvpdFCIQGQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(136003)(396003)(366004)(346002)(376002)(451199015)(86362001)(31696002)(558084003)(6486002)(53546011)(478600001)(6506007)(36756003)(6512007)(26005)(5660300002)(41300700001)(8936002)(54906003)(2906002)(6916009)(66556008)(66476007)(66946007)(8676002)(316002)(4326008)(186003)(38100700002)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bkF2bkE1Z1NlTWs1UUVYOGIwRHk3d2xLMHBrTXBZV3VzSEFaQjJ5NFBQYS8r?=
 =?utf-8?B?OVN1enhBQjE0RmRGMVI3bUhRVDRUTUt3SFZkRWNOL2lSbHhNeUVqYm9WS1lj?=
 =?utf-8?B?NVg0eVE4NG1Ib01JcFZiUVAxdC8yODVsL0tQTC8yQ1Irc2wzYUpuNk9LcnNt?=
 =?utf-8?B?cS85QkFReGhMQytQd0RRcHdFWFZEeFV5NmJONjN5cHpOOXE4dXV1UTlHZWFv?=
 =?utf-8?B?Z2lDWDQxbFNTd2xNbVRNWWJreWdadS9NRnFxTlZDVEMzR1BWdDZRS0h0YWtZ?=
 =?utf-8?B?eTFxbVJpTzlyc3ZOUFQwbVo1R2pIeGxRdi9zaWY0eFBCUDRsWlNkQmpFaS9o?=
 =?utf-8?B?MS9BWC90TUVsNWNtdmMydFJnWE93VldOWm5DZGJvMjhnOXgxSnhKN3BTdXQ3?=
 =?utf-8?B?VFp4VHUrOStVVkpKTnFCZU9nK3RocDBCUytKNzZ4Y0VaLytYay9wMmRPeHpE?=
 =?utf-8?B?dmQydmtnK2tFSFhBOVdScGptN0pmbW55QVA0cE5pWVdwWThpUGttYUQrVmtH?=
 =?utf-8?B?UnVRVlBLdnpKVUt1TXZNYndhbWkxZGgrV1FNWmJzWHNVVHUvclhQMkdjV3gz?=
 =?utf-8?B?OTQ3LzIyWjVHaHg2dGhvTVVacWgvbTkzYXo3TTY5dEtGSi9wcFR0am5zRW5R?=
 =?utf-8?B?ZlFPUVd2N3JhS1NEWTd5bVhnRHFXbFo0SWxoalI2OFNFUHliK2xLc3pVWnJK?=
 =?utf-8?B?ek4xMzZEbzhuL242T1RhTkd3a1NOb3JkRXBoSk9GNUpMNnByeVlwSlFOZW9o?=
 =?utf-8?B?NERPbFp3Sk80dlN3WnpKZzZ2aUU0dExkMktmTkhmb0piMWJncVEvb0xrUTQz?=
 =?utf-8?B?WFNNb04rYVh3WTJtbEtyODRId3RVUGVxRkNKb0hva3p1MDlHeExBeDV2WG8v?=
 =?utf-8?B?TngzTm10TVNBdXRZUUVlWm5SZUpIaXd5RjY2ZnFwNlhjeFhEMnVzMkJjSWp5?=
 =?utf-8?B?UGhNblhXYXR5a21qVVRaSUdRSGYzRUh2TXErLzJqV21KSUZnRE5pb000RmRk?=
 =?utf-8?B?MjBQNzdMbG1aL0hHT2hZL3JURk80dGpVejRyWlpZWktoVk5XcSs1cEFIcHQy?=
 =?utf-8?B?QVlBV3lwaVhrbTF2NFQreG45SG8vRlIycmpZS2NKMjdBZVZpR2MrUnVhZTRI?=
 =?utf-8?B?VkVBQ1VuSmkxcVIxZFNXRXozYmdlcHBreXlyMFkxcDFQdjNNZFVicXNUZkNr?=
 =?utf-8?B?WDFKSm9ZdEczYi9FQWpEaTR1a2JPR2psZ2d5ZHJuY3FXUHpsK2wybEQ0d1Fu?=
 =?utf-8?B?eHo3aEs1VVB5dmc4S3U3RkJSdWV4bUdWSVZqYm50WE9MWWw5b3FCb2hDQkNJ?=
 =?utf-8?B?cXdZbEZOWkFWdlJHSjFrNXA1OE0xQ2JNUEhqQWluME1MUlFuQzJWbnpFVHor?=
 =?utf-8?B?Nk8zcDU1STBlM3NQck9SWm1NWjJhMUJOcGNMTUQ1K3ZzTzlOUklGNytVOHdW?=
 =?utf-8?B?K2w4OWdmVmNLMy9hclRIcVJLRE1LWldOT0VySE5tVWZxdUU4OVJ6YU1iM3g4?=
 =?utf-8?B?VVVMRFg0ZGM0K3hwVXlIb0t4blNNQlpnYWV2TUx4Nml1ODhmVytDQlc4YUtQ?=
 =?utf-8?B?UDRkQmlNLzBkbXIybkxQZHRqMVRmWWtDYmIvTUxyOGd3dXljeDU4TjJ4MFF0?=
 =?utf-8?B?cUl3QlU1RG5Ob3FEY1FPN3RtMk5lM1lpdkZDMDIzbDJHZTFmUHFQRURFaGx1?=
 =?utf-8?B?UmtXV2ovQWQ4cjlDOEVPRkhKR2VuY0plVXZxN0Jxd0RabzFBOTZVSjRsM2J6?=
 =?utf-8?B?bXRYaTZ3OXFyT0lGd1I5Z1dyYnV5MG51K2JNWWVXYWs2WWNrVUIraE0wMVgz?=
 =?utf-8?B?blpkK3NidXBwaXdTWHFKQks1M3BoQW9PVkhVeWI0TCtrQU5oYzNpMnEwVWhM?=
 =?utf-8?B?TlpMMWJvRzRIcmx6ZkpGbko1UDAwVnRJcnVrbU5rNDMzM2Q2ME1oSHJSQU1K?=
 =?utf-8?B?NkVPSnhweDNLVEhDclIrdk5td09lYittcUp6SjhjSWV6R21TREZycDVMVnVr?=
 =?utf-8?B?aEl2UTRDK3VFeU9XOS9paENTZHl1N3p3T2VKV2NKd3p0YkhCQnAvVVdqTCt5?=
 =?utf-8?B?ejErSEdhTnNUaWxSbk5ZQXRiaS9sejJ1c2x4dGE0ZHJzZmsvd2tseVdLM3I2?=
 =?utf-8?Q?lSZWx/2shjND2pbOtqe+xcvbq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 67b666fa-b13a-48df-c8ac-08dad77b3db5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 11:15:54.4337
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sNq1Y/IlhkJ2An1nOg97IwW59gQnZvmUV7uIutqrytfVTIQ/bdGES4tpA+oCculbDz8Zs8AHdk4yrR0KmLMynQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8604

On 06.12.2022 05:33, Demi Marie Obenour wrote:
> This makes the code much easier to understand, and avoids problems if
> Xen's PAT ever changes in the future.
> 
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:17:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:17:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454688.712216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VxO-0006Ud-CP; Tue, 06 Dec 2022 11:17:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454688.712216; Tue, 06 Dec 2022 11:17:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2VxO-0006UW-9K; Tue, 06 Dec 2022 11:17:50 +0000
Received: by outflank-mailman (input) for mailman id 454688;
 Tue, 06 Dec 2022 11:17:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XkKw=4E=citrix.com=prvs=332b12f58=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p2VxN-0006UK-3I
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:17:49 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b5bb8d8-7557-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 12:17:46 +0100 (CET)
Received: from mail-bn7nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Dec 2022 06:17:23 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6771.namprd03.prod.outlook.com (2603:10b6:510:122::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 11:17:21 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 11:17:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b5bb8d8-7557-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670325467;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=cgZ3Dj8B35qbojfRKqT1U/D6T4YNMa0xnYNA9hGyJB8=;
  b=iY2j10zw++tPuHrUOeOv3Wgh7XDIgdKopkwiqEokHAYwbwiXAOsxZHG2
   50Jx3w8vc87QbV5IAov64Fg8mCghTH8zde5+EbDulYIsU2Ol5cgkuoBqu
   dcL+azFyqOn1zNONtBYRcBGHxL8XTQz1xDLGCY48Wxe/heoAx133APcNO
   I=;
X-IronPort-RemoteIP: 104.47.70.101
X-IronPort-MID: 87208391
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ecaauK3wO1nz3dyEH/bD5SVwkn2cJEfYwER7XKvMYLTBsI5bpzwOm
 mQeUGGFb/uOMTT2eot1bty39B4CvcfVzNA1SQY5pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZmO6gR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfGXtM7
 qIgOTkxTDehlc6f+72ecNVSmZF2RCXrFNt3VnBI6xj8VK5ja7acBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxouy6KlFUZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXOkAtpCT+zhnhJsqEC8l003UENRaVCYjem0lEyffPsOD
 2VBr0LCqoB3riRHVOLVUxC9oVaFuAAdQNtaF+Am6ACLxbHQ6gzfDW8BJhZRZdpjuMIoSDgC0
 l6Sg8ivFTFpqKeSS3+W6vGTtzzaES0cN2oLfyIHZQoD/dj4oYs3gw7PT9BsC6q8hJv+HjSY6
 zKAoTU6hr4TpdUWzKj99lfC6xqzorDZQwhz4R/YNkq57wZRdIOjIYuy5jDmAe1oKY+YShyLu
 icCks3HtOQWV8jVzWqKXfkHG6yv67CdKjrAjFVzHp4nsTOw53qkeoMW6zZ7TKt0Dvs5lfbSS
 Be7kWtsCFV7YCPCgXNfC25pN/kX8A==
IronPort-HdrOrdr: A9a23:oFEzxKrDd4l7Ti/qZbyjagEaV5sFLNV00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssSkb6Ku90KnpewK+yXbsibNhcYtKLzOWwldAS7sSorcKogeQVhEWk9Qw6U
 4OSdkYNDSdNzlHZIPBkXGF+rUbsZe6GcKT9IHjJh5WJGkEBZ2IrT0JczpzeXcGJjWucKBJcK
 Z0kfA3wgZIF052Uu2LQl0+G8TTrdzCk5zrJTYAGh4c8QGLyR+49bLgFBCc/xEGFxdC260r/2
 TpmxHwovzLiYD69jbsk0voq7hGktrozdVOQOSKl8guMz3pziq4eYh7XLWGnTYt5MWi8kwjnt
 Xgqwope+5z93TSVGeopgaF4Xig7B8er1vZjXOIi3rqpsL0ABggDdBauI5fehzFr2I9odBVys
 twriCknqsSKSmFsDX25tDOWR0vvFGzu2AenekaiGEaeZcCaYVWsZcU8CpuYdI99WPBmcQa+d
 tVfYfhDcVtAAqnhrfizzFSKemXLzMO99G9MxM/U4KuomJrdTtCvjYlLYQk7ws9HdQGOtp5Dq
 3/Q9pVfPsldL5oUYttQOgGWse5EWrLXFbFN3+TO03uEOUdN2vKsIOf2sR82AgEQu178HIeou
 W2bLpjjx96R2v+TcmVmJFb+BHER2uwGTzr18FF/pB8/rnxXqDiPyGPQE0n15LImYRUPuTLH/
 KofJ5GCf7qKmXjXY5Pwg3lQpFXbX0TStcctNo3U0+H5sjLNorpvOrGd+u7HsunLR80HmfkRn
 cTVjn6I8tNqkitR3/jmRDUH2jgf0TulKgAZ5QyP9JjvLTlGrc8wTT9027Jl/1jAQcywpAebQ
 95PK7tlL+9qC2/4XvIhl8ZTyZgMg==
X-IronPort-AV: E=Sophos;i="5.96,222,1665460800"; 
   d="scan'208";a="87208391"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EIWbDNH12tvw+LmhaRxFaXRVO8HyyGDbr/aT/re/QXZ1ccDIVmA67NV6GI93f9/TrIlHAD143spBKUmHT/xXpBBPtyvwT6xN9GfZnDQaxqHDCc1urrRk7ChVxUPndQZSng0mNVHeEonahBy34dvQHCdpO9QqJe3KYCXbr/Yec1GoqTpqj/kINmOeqrZ5sO4naAr1KNvSSr0LD53/ON7180mVExre4kXCuXuwXAWcE+cF0oEMCBmc3KNssi87Gc1jutNSZvxg2cuqGH3HO6uYt48WN1xTGEHkRLS32LEOoKD1kivEo8ILDV39BKMo0X05ITNBJc5GAkZJ0m0Yj0bjbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cgZ3Dj8B35qbojfRKqT1U/D6T4YNMa0xnYNA9hGyJB8=;
 b=XzvYSPSmfKsyKpnqB3wD0mPG31LIQVWopxPTDCxAtX3bKOek/alYBYuZTByTSAkjsYwVJ6gKf+Ilnw++sfTTeMUQtzu0ImgJK7OtcNOVzyQyfpt5eFG3kVZWNLdgCwu+yqbPfFWs9dLATu4r/XmwC15nv377q1ttIxyHOpGYB1w+yQHh4Ne7XHhSBCOaPKjZNgtxmTuOuXTIfMyJa3UKKfAaheyfxZcefSXn56vwHpG0DIVCR5VsmVCbIWiBA+OpBbexpNC4IW98vuv5WUABhnGzmfQcYmkWzd61PrwrmnNixvRcOult/AvYyvW6Ox3ckTE1Ppp3/A7uF931GNpGdw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cgZ3Dj8B35qbojfRKqT1U/D6T4YNMa0xnYNA9hGyJB8=;
 b=ZeBfiPUvXyvIey+1CBYmNMveBCuOCPNjhsL0P5O71FEehiS9mjNignV1L6ezOVjw7IkUmhwBl/Hm2b+jzKEeEdqSLwFIbgj8C2k1OwEGty7kRSfQesEawX0x5hThPFQCbjtuH1Ouuv5E0zZxAU53Qd4zposGt7Px0NxSU3wklI0=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: =?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>, Roger Pau
 Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 4/8] efi: Avoid hard-coding the various PAT constants
Thread-Topic: [PATCH 4/8] efi: Avoid hard-coding the various PAT constants
Thread-Index: AQHZCSwMd4skGdRrykKG8ZrCNpXFUa5gtkQA
Date: Tue, 6 Dec 2022 11:17:20 +0000
Message-ID: <4f34f039-b0b9-1761-b5d0-936f25e8a50a@citrix.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <ea32e526153a40837484ba9c64a7d157804b6c27.1670300446.git.demi@invisiblethingslab.com>
In-Reply-To:
 <ea32e526153a40837484ba9c64a7d157804b6c27.1670300446.git.demi@invisiblethingslab.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|PH0PR03MB6771:EE_
x-ms-office365-filtering-correlation-id: 39298e3f-ccb2-4d87-3f51-08dad77b7171
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 knadLWwBexsgJFLOprre/bWOL7Gbm+ggCYw4UcPxTo2jtgJcX8QAkG0Y5bscNVq8VrukqKrMkRVuGKn7kprdyOgyn3ipTAcbQMnbjNKClUNAnbZkhYw8EfxpzsB+9wyQtHrleS9aVCMtfbZkCvoiptroK8YBYOEZoU7wwOth3cnXa+3pWgSfPvQyJhLa4WZRF6YwkHBexLBR8Sic9gTQPGJAsrig2Et2n3fpXS71PQtoTjF1eWJOFagiKoO760jNNDsI1gnbd5G+qDuduQH/vlt6AmgfB4gFAvMFiZhgvl/UQTrVtcTpEc58u5jvQ4cR2X3UxVfxTZfnoJoCGL4Pq5QivZdTw9x7+fxkarZLEwLJL+ePZtCjhmSA3xYgUQbPAiaNwTSmAa8pKc9ewpbXLSk4Swb/SGF122ieSsvrP452G7CUU4cqeqA0mnB+YJ5Kdglf9qg7r9jMgxW+4T/ht/7ydq/IK5MrorNg3dZ2kEnzZMjUq1crrrSqumgaQ6tpTYAPMVuYRg+pcyATL1xRFmlaQUsXllWNXiraz1YYtkH1C0XPKCs2SYf8JTcxSsZoHS7z9dy/YfsdgvzqcLdy4+N0McFzKeiEvJs/2t+A2a3MUqw7nKTLvsXHA05IR4yXvO8BzNjtaxwnxvUBQFe1OTv/jrZ0uz+6xAHfuCAj7/Wi5KXzpt9az9cldYnrnEkkPE1TiHgRSwG0KI5kyTL8ByAjhBAHmdqcw2QrqhM4K3IToTmhLCBeV1gY9JmMqTL4zvUzBqdCyy+gOtLDNCPYRA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(376002)(136003)(39860400002)(346002)(366004)(451199015)(38070700005)(36756003)(26005)(31696002)(86362001)(6506007)(71200400001)(478600001)(6486002)(53546011)(66446008)(5660300002)(41300700001)(8676002)(6512007)(4326008)(8936002)(110136005)(2906002)(54906003)(64756008)(316002)(66946007)(66476007)(66556008)(76116006)(91956017)(83380400001)(38100700002)(186003)(122000001)(82960400001)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UEFzVnFsOWppaVhlM0dDdHY0elV0ZlJQOWtzcjFtT3BNWmlMWW5JMFNOV1Er?=
 =?utf-8?B?V1pGblY5ZDBWOFNuY1BtZmkvN0N3eXJZbnhEbnFpakxEWXh2VjNRMmhjN0pu?=
 =?utf-8?B?SlpUbEMrQVM4Wk0yZ3c4eVFIcUNzWFZ0Wkh3TjB5WXRLU3NORG52NS9JSHRF?=
 =?utf-8?B?blZxZ1luY0dtV21HMWRobzZvK2tISmk0RWEzLzBCR3ZYZG9sdWZNQ2VwMlFT?=
 =?utf-8?B?Y0JUTXZHNjRDNmo0WVJCdlJZcHVKWFVjZXZjRHpYU0JUYStad0FLbFl6NUhM?=
 =?utf-8?B?ZW5BNXZhRm04d2laYmY2SVVYemhDRHZaYzJ4amh4Q2lpZ1dhMXhndlRFdTZQ?=
 =?utf-8?B?Wi91V09yYXNNUnBmbXdSZGxMaVBVL3p1NUVocXB3Y0kvZzlEUWR5SnlFUUVY?=
 =?utf-8?B?Z3JKOWwybzVrQmhidWM2ZDBWN2ZxNGNZejRod0VKbmZqZUtaWUxrWmViRTFC?=
 =?utf-8?B?eWU4djFNNU9ta3FNbjFES3ZFcVZRRlBIbTd5VjZqbm1DVXkrb2QwRzUvQnRR?=
 =?utf-8?B?dHg5Qm1POFhQSk9XK1l2VkpvWGhOQm9NT2hRSTlWRDBsOGtrRDBoVUF1dTA3?=
 =?utf-8?B?UDYzdlV3YzM5ZG96Njdna0xWWHNlamZydC9wVzJrcVk0ZjE1TUY4Q2ppK0VX?=
 =?utf-8?B?MnExRjlNWUcxYjRteTNEallLNGpXSlNzNTNZdzJXNWJtK1VvckUzallzSmZS?=
 =?utf-8?B?SHdIY0ZvVFU4UkNhWlgxdVVyVzgwbys1alNMTWdtNGc1azhHODJKaDNFcWRl?=
 =?utf-8?B?SnRVelpVd0U3MlJKMFl0WkZFb0xOcVJycWw0Y1lCOStKS1h4T2p4dHBYclZo?=
 =?utf-8?B?MmlYbVFxSThEbEY2ald3QzNxdzlKd2JDZDlSMDFhNlVHMTJTeXRlbElOKzJI?=
 =?utf-8?B?ZEhjUjErZG1oWjVBNG04YUZ4TEsxOGVLZUVSbmIwd3dlNk5LNlAwakt6TVk3?=
 =?utf-8?B?dS9NaE85TU90aCtTNWJyZFBtZW00U1RHK1FTZnk0RGZBNEpUQjEzWGZoTlVn?=
 =?utf-8?B?MjZvR2tHN0hicWt1anljM0pZQmp3K1VLVU5kNTNaR2FJZzYzeEtaTUROZGhV?=
 =?utf-8?B?L0lXaURrS3MvMERGSzJoa244UkNaSlBGYkZwdE4wdUozU0RIRURnQ1lGTXZ4?=
 =?utf-8?B?d1RMZGh2RnlvdmtqOHVsZ1Q2SHVYaTZLMDBtRkZLTmtKMTVMUS9JaHh1aDdv?=
 =?utf-8?B?c09lL29uMHZjbkJsRk84VXlYMVZjZXJQRmVINGZaRjBGYzlCVjUxWHUyN3pT?=
 =?utf-8?B?OXJzNEJxYmViSWI4ckxrYytCQWtJWk40ZG43bm5pdjRKUnh2ajFESnFrbnRF?=
 =?utf-8?B?MlpzeW1RenR0UkRYN3AreDFuQjJ0ZGFFWUhyTkFOZGtpa21HdHFSQnU5M05h?=
 =?utf-8?B?UzVueDc1MEo0UXpaMmtYMmlsMEJDdHFhZExRZ1R4Q1FCOWhaU0tRYW0zRlNs?=
 =?utf-8?B?bUJ5YmdUcVZvQTB3c2Fvdmhrd2NEVFRkckYvKzZGdlBMNzQ3ZXYrdmFTVFd5?=
 =?utf-8?B?d0RNR1pZYzl6TGVEQXFvcjhnU1Q5THFvSG03STlKQ291N0xoSWJpMzA1N1J4?=
 =?utf-8?B?S2N6MWMvTTBKOUFtSmVNUWplWWEydXJPcDlMaTlobEQ4VDAxTEJMYWxIMlRj?=
 =?utf-8?B?VGFGK2lrZ0xqMEZLVjZhQzB2RERBd3BnNzEvT3F3WFJlVzhPcnVmYnFIbVc0?=
 =?utf-8?B?Z1RxbUtOK1hHVHNHdHYyZVVaQld5b0dnZDZ0MGhUVFBOZkUvME1ZK2F5bytG?=
 =?utf-8?B?eThLdW1iK3lic1FsYlpMKzhGL01Ic3h1ZFNab1pzNGRKOUNQZnRLQ3JnUTZn?=
 =?utf-8?B?Q0J2UUxRUFkxNExUbXdJRVdNMmt6WjFWdXh5S05xREpaeW1hK0FIR0R2cUNq?=
 =?utf-8?B?cXVucWZVcW9iV1dwVnJ3dzFHZ1h0TDQ2NzhCOENkYndtZXFOQTFhZmcyMDBT?=
 =?utf-8?B?dWFGQVZvRUNxTU5HNDRndU5tNlhsdjA1Z1lQZ1pxRGlCTnF2V3h4ZERYRmlR?=
 =?utf-8?B?bjYrdjJrbWRaa0REVWRicDNMR1gwTUhwYTMwa0FmYjNvd3FXa295Y0JiWkkx?=
 =?utf-8?B?djI5cGU5Q0gzZUgzL2pKeWJFQ2YyaXdpbWJkWEMxRHJsQlB2cVM2WWtVcUdT?=
 =?utf-8?Q?6tD0044DkvIEZ0Wv1pkN+eEJy?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <0BCF88AB47A5B84CAC34706378998F90@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?LzlDQUI1SlRnWVdYVGxSNkZkOVB1VExQYm1FOTFXV3BSYXgvR1F5RHcrMDcw?=
 =?utf-8?B?RXF1VlF5eUE3UlhIS1U2aGx1YzlFNzAzY0F2OHY0Mlk2TnRJWGFkRmx4NTRn?=
 =?utf-8?B?Uzl0QzArR3Q0RC9ucTUwT2JlalA2U1FhL1IrY2J5UUsxTUhBWThCSGVORFl4?=
 =?utf-8?B?L3VraGZTS0l3TWdreEZkeC9GK0VSalh6ZldGVC9QMjJNM0xNekZkU0ptZTk1?=
 =?utf-8?B?Z3l2M3I2emo0OFAzRkxTYW1peGxqRitFTGJtTUxEeHlrdWl5U0lRNFR1SkZ2?=
 =?utf-8?B?bHJocHYxQTl5Z1RqNkdPNlV3TDJBUFdKd3plY1MzVitPVy94bUpGN1FjQW5z?=
 =?utf-8?B?eVVWZ2tVM3orREY2MG8xekJFSDJQOE0xbkF6bzVteFZKc0xHM3YydzRiVWZz?=
 =?utf-8?B?aW5VTXB5NmlkQ3NGRjFJdk05RjhNclV4dzlrbXlPYjgyMmRBV0Vra1RtMW1i?=
 =?utf-8?B?NjF1MW1uOGdCNERKYS9ZRFJVc29YZFU2YVVhMmxNRy80bHUzeGVraEtvUWhU?=
 =?utf-8?B?ZDlSaGl1dlNHNi9mbDFqRjRrR2IvekNvVXdQdGhKRGtaSW9FOWRpV0E1dFdr?=
 =?utf-8?B?aXZ0U3R2UWRjMFQyK3dFRDBlamdxQnU1WS9nZVgrY0FvdzBQN3dpZEJKazly?=
 =?utf-8?B?Sk4zS2ozK2NDWWZlU243T1RycXZ0YjM1cm9DenJxRDR6YW5QMzFscXdvbWlq?=
 =?utf-8?B?T0gvWUo3TjJudkltODRTVTlWYTd2Q2VYcmMzYkZBNEU0eUw1NjJHdnYrd3RP?=
 =?utf-8?B?SjRtZ1g0V2V0bzVjek0xYjZEZEtqQk14Z1dTc1dLNmRleUlRSlBNQmxHZG8z?=
 =?utf-8?B?SGVuN0RDNEl1cXViOXRuWGErMEt1Wmc3WXJTS3puVUQ2b00vRnErMmlmZmgz?=
 =?utf-8?B?M2NrZVc2ZnU2MVNpcUJtbVNiQWxwelJrWVJmZVFTdFFPdTBOYjZySFRWMFVN?=
 =?utf-8?B?MFcyV2E4cFFVQURtVU9TNXFlbVQvRDZmOEJKQUVJK2d1dVdqMUdteUdZMFhK?=
 =?utf-8?B?TjRXTWE4d3d3dDRqZU02SmthQTdOaEdSUWdOSnhQSFBGazRMU3ZzcWNUSGFu?=
 =?utf-8?B?b0VJSHR4dk93MlJyZUYxT3V4cVR0aW05UktLSUljTCs3SXJPclJUQTNIWXo3?=
 =?utf-8?B?K0Z2dEcwWmUrSS9ONlBtU3Y4WGdINU1ROGVHeW5TYVliWmNUSEZ2T0FWeVht?=
 =?utf-8?B?Z3kvQVRHdGVtRGtlT0dtS3VKOUs4dlEvSW9xWFdZZTd0bDY2ZFNmQ0pMMVhl?=
 =?utf-8?B?MmErWi9NeW14ODhvZTV3MjhIUW5TdDFlbCtZb3hDb0hnVFZrZz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 39298e3f-ccb2-4d87-3f51-08dad77b7171
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 11:17:20.9917
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: tNFhyHnEBAPNY6/N62wS+JGmtYEJ7j6NbdwXgEQzYFLcTjgJ+x6V1De5oFoJERM3kuWiPJ6Ew8WfH7ydm2EpVg6VnJY7dvFjZcUF+kJU6ws=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6771

T24gMDYvMTIvMjAyMiAwNDozMywgRGVtaSBNYXJpZSBPYmVub3VyIHdyb3RlOg0KPiBUaGlzIG1h
a2VzIHRoZSBjb2RlIG11Y2ggZWFzaWVyIHRvIHVuZGVyc3RhbmQsIGFuZCBhdm9pZHMgcHJvYmxl
bXMgaWYNCj4gWGVuJ3MgUEFUIGV2ZXIgY2hhbmdlcyBpbiB0aGUgZnV0dXJlLg0KPg0KPiBTaWdu
ZWQtb2ZmLWJ5OiBEZW1pIE1hcmllIE9iZW5vdXIgPGRlbWlAaW52aXNpYmxldGhpbmdzbGFiLmNv
bT4NCj4gLS0tDQo+ICB4ZW4vY29tbW9uL2VmaS9ib290LmMgfCAxMCArKysrKy0tLS0tDQo+ICAx
IGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQ0KPg0KPiBkaWZm
IC0tZ2l0IGEveGVuL2NvbW1vbi9lZmkvYm9vdC5jIGIveGVuL2NvbW1vbi9lZmkvYm9vdC5jDQo+
IGluZGV4IDhlODgwZmUzMGM3NTQxYTIwMmRlYzNlNjY1MzAwZDY1NDk5NTNhYTMuLjI2MDk5N2Iy
NTFiMDlkYWU0YjQ4YzFiMWRiNjY1Nzc4ZTAyZDc2MGEgMTAwNjQ0DQo+IC0tLSBhL3hlbi9jb21t
b24vZWZpL2Jvb3QuYw0KPiArKysgYi94ZW4vY29tbW9uL2VmaS9ib290LmMNCj4gQEAgLTE3NDYs
MjEgKzE3NDYsMjEgQEAgdm9pZCBfX2luaXQgZWZpX2luaXRfbWVtb3J5KHZvaWQpDQo+ICAgICAg
ICAgIGlmICggZGVzYy0+QXR0cmlidXRlICYgRUZJX01FTU9SWV9XQiApDQo+ICAgICAgICAgICAg
ICAvKiBub3RoaW5nICovOw0KDQpUaGlzIGlzIGFuIGltcGxpY2l0IDAgY2FzZSB3aGljaCB3YW50
cyBjaGFuZ2luZyB0byBfUEFHRV9XQi4NCg0KPiAgICAgICAgICBlbHNlIGlmICggZGVzYy0+QXR0
cmlidXRlICYgRUZJX01FTU9SWV9XVCApDQo+IC0gICAgICAgICAgICBwcm90IHw9IF9QQUdFX1BX
VCB8IE1BUF9TTUFMTF9QQUdFUzsNCj4gKyAgICAgICAgICAgIHByb3QgfD0gX1BBR0VfV1QgfCBN
QVBfU01BTExfUEFHRVM7DQo+ICAgICAgICAgIGVsc2UgaWYgKCBkZXNjLT5BdHRyaWJ1dGUgJiBF
RklfTUVNT1JZX1dDICkNCj4gLSAgICAgICAgICAgIHByb3QgfD0gX1BBR0VfUEFUIHwgTUFQX1NN
QUxMX1BBR0VTOw0KPiArICAgICAgICAgICAgcHJvdCB8PSBfUEFHRV9XQyB8IE1BUF9TTUFMTF9Q
QUdFUzsNCj4gICAgICAgICAgZWxzZSBpZiAoIGRlc2MtPkF0dHJpYnV0ZSAmIChFRklfTUVNT1JZ
X1VDIHwgRUZJX01FTU9SWV9VQ0UpICkNCj4gLSAgICAgICAgICAgIHByb3QgfD0gX1BBR0VfUFdU
IHwgX1BBR0VfUENEIHwgTUFQX1NNQUxMX1BBR0VTOw0KPiArICAgICAgICAgICAgcHJvdCB8PSBf
UEFHRV9VQyB8IE1BUF9TTUFMTF9QQUdFUzsNCj4gICAgICAgICAgZWxzZSBpZiAoIGVmaV9ic19y
ZXZpc2lvbiA+PSBFRklfUkVWSVNJT04oMiwgNSkgJiYNCj4gICAgICAgICAgICAgICAgICAgIChk
ZXNjLT5BdHRyaWJ1dGUgJiBFRklfTUVNT1JZX1dQKSApDQo+IC0gICAgICAgICAgICBwcm90IHw9
IF9QQUdFX1BBVCB8IF9QQUdFX1BXVCB8IE1BUF9TTUFMTF9QQUdFUzsNCj4gKyAgICAgICAgICAg
IHByb3QgfD0gX1BBR0VfV1AgfCBNQVBfU01BTExfUEFHRVM7DQoNClVucmVsYXRlZCB0byB0aGUg
dHJhbnNmb3JtYXRpb24uIEknbSB1bmNvbnZpbmNlZCBhYm91dCB0aGUgY29ycmVjdG5lc3MNCm9m
IHVzaW5nIE1BUF9TTUFMTF9QQUdFUyBoZXJlLsKgIFRoZXJlJ3Mgbm90aGluZyB3cm9uZyB3aXRo
IGxhcmdlIHBhZ2VzDQpvZiByZWR1Y2VkIGNhY2hlLWFiaWxpdHksIGFuZCB0aGUgZnJhbWVidWZm
ZXIgaXMgZ29pbmcgdG8gbGl2ZSBpbiBvbmUgb2YNCnRoZXNlIHJlZ2lvbnMsIHByb2JhYmx5IGEg
V0Mgb25lLi4uDQoNCn5BbmRyZXcNCg0KPiAgICAgICAgICBlbHNlDQo+ICAgICAgICAgIHsNCj4g
ICAgICAgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJVbmtub3duIGNhY2hhYmlsaXR5IGZvciBN
Rk5zICUjbHgtJSNseCVzXG4iLA0KPiAgICAgICAgICAgICAgICAgICAgIHNtZm4sIGVtZm4gLSAx
LCBlZmlfbWFwX3VjID8gIiwgYXNzdW1pbmcgVUMiIDogIiIpOw0KPiAgICAgICAgICAgICAgaWYg
KCAhZWZpX21hcF91YyApDQo+ICAgICAgICAgICAgICAgICAgY29udGludWU7DQo+IC0gICAgICAg
ICAgICBwcm90IHw9IF9QQUdFX1BXVCB8IF9QQUdFX1BDRCB8IE1BUF9TTUFMTF9QQUdFUzsNCj4g
KyAgICAgICAgICAgIHByb3QgfD0gX1BBR0VfVUMgfCBNQVBfU01BTExfUEFHRVM7DQo+ICAgICAg
ICAgIH0NCj4gIA0KPiAgICAgICAgICBpZiAoIGRlc2MtPkF0dHJpYnV0ZSAmIChlZmlfYnNfcmV2
aXNpb24gPCBFRklfUkVWSVNJT04oMiwgNSkNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:18:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:18:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454690.712227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Vxb-0006oH-JO; Tue, 06 Dec 2022 11:18:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454690.712227; Tue, 06 Dec 2022 11:18:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Vxb-0006oA-GQ; Tue, 06 Dec 2022 11:18:03 +0000
Received: by outflank-mailman (input) for mailman id 454690;
 Tue, 06 Dec 2022 11:18:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2VxZ-0006nB-Tk
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:18:01 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2071.outbound.protection.outlook.com [40.107.7.71])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4fa58a1-7557-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 12:18:01 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8924.eurprd04.prod.outlook.com (2603:10a6:20b:40b::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec
 2022 11:17:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 11:17:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4fa58a1-7557-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GvKlS9qX4Kbi7cM8fAkiKMy7sQn2XE2ZJXKvefprll9fM5J0FpFQB0Fpup/diUiemsYBuJhLnPhg16B0edJiLAzbMbKqBf15EsundJdiA+QeXshNwAsCIW2FACXTP7O4W3sULMTzhyrRm/L9zGLnebj/x4hQUZPHya+sMzTOvqUfM5JJn3K61hXwQ0t0HPlH+fUOW2S0Eeu8rZefU84pOWS/JL/rDge4YthomjNNYY1o1q8TClCfxcG9ypL0gZXIi5Wdtxa2cc3gmPdeggGNY1kZOrY2l1yBhDKF8OHWNb1F9vTqCS3MrKiANtGaXUNmxcbQCS5qFAr9GUFW1YN77g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8kyp5PWz4fa3PEVn7ok5//hxGEDzO2ejmUFKrVCrohg=;
 b=GK0XGRVck4sbY3Ddm97EGD2J7ajLlZ+Y4PLqteIzGnYxNtabR8GthMS7fo4Yp8zfCBH1aO7U23oa4C4mG47kArNyeK3GMXZiZXk3O+fM0xLgugtGWkfEDJVu8sZ7RrLPxB0CCKNz3FFAnntCPgu9jU0yNDF2grYvbZH9k6fNNpINlyhNkjQ1tmSz/9/+0my4tawHZbEd8+nDG5SKxb+S8UXlH0U4Z+s37kTHbXf/EWv6pQg8X6YVpfdlXSxfALyj3n+HOsO/4Ai4PD4rK1oV/gik1JOapIJPHeHZhjT8DF5stxlDntHPzG6kSsvnQ6/TJM/m+4jggu4A1tW9Gdg1iQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8kyp5PWz4fa3PEVn7ok5//hxGEDzO2ejmUFKrVCrohg=;
 b=1xwNMu7aohHMfI3hDQ65e7bBZqlRMLsAAO2QgCB88/tmCN5GAvlvVQDq0HtgELkY8XnQGsSqAt4VOCOh5594UtuXBmzQM+Kk55aATPu6SoPYMU/BIEcqmJjQWeW1Fq62Y36hWQiPxjcHYAaH6cvwVr0E5NqM9DKRksRFDytE8tlGErYyg2pXLiXWyk/wIDtEK9Xo2ythmjmwCodt0ZkLHALBByk+cYtmglTt3ifRNPyY8KK4IDRy+5wW4wR4LEqHCGnrxLUhE4o50hIIb9Qi3LoLLE8Ri0nOgltcRZarEV+SlFSR2UA1ff5KKyj4QHxzS7w0C9sqPbgZEERWwHH0/w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3318fddc-5ca5-15cb-d67c-a0de06f4dda8@suse.com>
Date: Tue, 6 Dec 2022 12:17:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 5/8] x86/mm/shadow: do not open-code PAGE_CACHE_ATTRS
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <52d04f14daca91597f78f60e3a16cce4069bf32f.1670300446.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <52d04f14daca91597f78f60e3a16cce4069bf32f.1670300446.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0018.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8924:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e9604f6-c088-4bde-77e2-08dad77b77e0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nA2T4m1JWgXt3X+VKsuaM/0dxJDZEVEVc7rU3Wy54Jy+RGNT1ug5jiIUZpMOWht2ErNfxClXXUbwEPF8TOq69GWTUR5bZcldLZW6ZntmJPD64hnkrEVrhz8TPhWH4I8Je0FWDawgj6Lp586lV51V+hMPnVaaYdPiGm+cfQ3RInujmpkFILiQYIYO+aB8WwOryvDa/x8AopNz6uVl56kySKpM9QfzptSJ90w8bg4bN7T2JTrnfK8Pm3GXogZhpnm01eEzkYrCOzRhAv9vt//2oX/E9SUDmZkliTEWWWbV7JP1P58wiUMzV38GVT2ddZm+n83BbqBYEY1egi6zHyZrV9pwsSj4EgkbTG9J0HJKf4SZCBezZC2IgodnUcpGRCyRTmeR5Z/A9FmpPqhZWccxLuXC+XGeTShBZUqrCMWLgMy0aTimL5g6ZCqYEnRgDgftkjLRYjFGcZcAuZjhTjH+5k/B8IgyGgy+hcKdP8gGDaovSzIV8Mi+QQFVbBPc6xAflWXlVRxC+4exM66kusQwE52KSdsymI+0YAwSLcwpWllNt+hMlSayAx5m8xEbfWLjvW9HzUEP4oXIwcTm78+/pNFOGs2XjjfhsChuwbRN14Z3FHVOTN9ikUO+k9iNbEpdwoBgJkQyJAgNovxyqz/NPzRm1Avw0F8CtXQ9MzkuH91OY56S8IAinH75MkQsMFlzsr7/LBFnacMEjhwjvqGUraEeTEH8i4p/GeJT+Jg7/Tw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(366004)(396003)(346002)(39860400002)(376002)(451199015)(36756003)(38100700002)(31696002)(86362001)(41300700001)(8936002)(2906002)(4326008)(5660300002)(4744005)(478600001)(66476007)(54906003)(6486002)(316002)(66946007)(2616005)(66556008)(6916009)(31686004)(8676002)(53546011)(6506007)(26005)(6512007)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OWhhaG1QWTJVOWFjWHNlMnBOY1NhMjhIdURuRkNrZEpLdVpSZUxWQzVUem85?=
 =?utf-8?B?ZE1CbVlLKzlaUWJnRy9ZR0xlZGpMZTluZTVVemF3ZElHK1BUZlZrNzdWNFFq?=
 =?utf-8?B?Tk02L1htSCs3K1hLV1JzS3ZuUHh6U3FuNlNSUHpsa3MzbVVTdGs5UWFzUW1U?=
 =?utf-8?B?UENaanFrS0J0UWZEcEEyRHVSVkFKellZdDdaN2JYZld6dmVYWUpob1J1V0F0?=
 =?utf-8?B?OXRMMEJZV1FMeW13VURIV1NCQjBqcm1PZndYRTBRWkUyMno2czMraUtxUmhu?=
 =?utf-8?B?aDhOVmZPWDdtbVhvalo1MEMyTlViNlRIZ2tqZ25HZmZXUndBYXRDd0g4TE5k?=
 =?utf-8?B?OHZDVFhjcXdVZ3hLODJXN3NaRzd1ODZpYlFXelRxUHZjZVFPWTB5ZDlsN1F4?=
 =?utf-8?B?YlVjc1VBaVljMVJHOUdGdml3bHB0UDFaQ3dxNUdCR2hQQTdNak1Yc05Xbm9G?=
 =?utf-8?B?aERzL280cHcxS25OZHk0UVp2YU9zNFB1U2l6d1ZJNmkvZkFrVm80ZXQrUjZ1?=
 =?utf-8?B?SjBrbFBpcWVibWZ5c05COS9CWjBKVWoybkxOVlN6VnRmZkZGOXh1a2xuQ3My?=
 =?utf-8?B?ZjROZzdhbmtOQy82ejZaSzJkQUhvNEJobTJKOHR1Mjc5dzh4V2orVGYvaUlw?=
 =?utf-8?B?V3RmSFNJdW1aSFQ1VXg1aUxpN3lNZ3FURmpXTlVlN2l3Mkt1VXNzYm91bkR0?=
 =?utf-8?B?L3c4eHRremZzUHBLcUN6ZE02b2Jwd1NPbjlNcGIrcVlma3p5UDdKL3BJM2FT?=
 =?utf-8?B?N2VWZXcxSXlKTDZtaHFCNWg3ZkpQNmZyaXlDYW94M0xZYnlaMUw5bWdrd0pl?=
 =?utf-8?B?UUY3NXZLNEx0T1dkUCtnMGdxSFdETDkwaDdyeVoyc3Uxamk5RGx3MEo0QThP?=
 =?utf-8?B?K2tIYWo0ZWxCS3hlSDNMRDN1OHVKbXVXZUVkWUE3NEJrVXFBVVk5K1AvTE9q?=
 =?utf-8?B?YWxoZGw3OEo0SGNBNDZ0RzlwQXNNVUI4WlJXbFQ0WEh0UThER043M1AwZWd5?=
 =?utf-8?B?cDhqcEtFSXcrNWc2aFMvZGlqYXdjYXFmUFlQbmtONUczenQ0RWh3WVVSYXlw?=
 =?utf-8?B?LzdPeXlJNnhzdE8ydTdwaUZRbGJDY2hsSlN2RTZwdWhucGhlaGd3OVBTRnMw?=
 =?utf-8?B?bzVmb3JNeG9UbmtNa1hSY3RkUGVkSEE3Zllrb0R5dXBzWVhBTVhJeFdQNGR3?=
 =?utf-8?B?bHg0MG5oUVpLQ0NLRjNUZ1JkVytRNThUdFRJbU1lN3FxcFpLdGhQNDlFWnFv?=
 =?utf-8?B?SDZGOEJrempQdWZtSEFkZkFnT3NQU3NqYXdPY09kVGswZys0NVVteWx6aUJ3?=
 =?utf-8?B?VUhKUFJvUEpacDJXZ0JwZFpjcE9zMDY0blB4Q2ZlM0k2bmwzendHOWsrSGRl?=
 =?utf-8?B?MS9TKzNHTEppaittQUcrbjd0SmpvbjhIakdmckVHZE9pQ1M5QUdBNFJjOHd2?=
 =?utf-8?B?YlBNQnhzeExGYVh1ZHpQN3d6cFJQMDNsc1ZxWVh5Z0tFck5uSVcvOW1KTkZS?=
 =?utf-8?B?SFhxL2Q4TFJCc0tOeUlMM1hkbStKbzcyNENCNFBjamoyWThyTEdMNWZYZU0z?=
 =?utf-8?B?Q3IyazE4SDJmZGxSM0VNd3JvcEVqbmpJTWZHeUpES21POXFUZnpLN3lMb1ds?=
 =?utf-8?B?YWVxRm9uL2pYRFY1YWNncllBamZvUG9lL29DVTJNVmMyRzNpZEtUZXNBa0hk?=
 =?utf-8?B?RzgxN1BEa2h5VkNXUGtUMVVlNjh4bTJhNThqalplVEFDOEQxS1g3eUU4R21w?=
 =?utf-8?B?TmRuNlNwSWtYaVF6ZkhzRkErdlVIbENrQTVjVStkUkZUZ2hmbWNVNFNOYWR6?=
 =?utf-8?B?Q1lXYy9qeDZUN0dLRXdqV1pTS20wcVpKLzRraDVlRi9UWUJyZU80RzI0TVcv?=
 =?utf-8?B?TUZ5OWNEUi9KSExUYUtSR1hoZHdUem1JcnNkTVRWR0JaSDNhUldYaThJaDlX?=
 =?utf-8?B?K1N2WFpFNWJxM1g5WVRTU3JjRHRMbWVHV3pGZ01DTmsrcnZEUnh3ckUrYW1H?=
 =?utf-8?B?S0VaNEFDNU1GMnMza3RxbWZPajBoWnpGcDJyMVErYVRQOWlUM0s0WkF6K211?=
 =?utf-8?B?aWkrUzhRU1NqQ0tHandTMWMvWHh2b05lU0FxV0Y4OVZKZzJuSzAzMDFDVWhx?=
 =?utf-8?Q?KJnLJh7nuppkqMPs/2FDeUDj5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e9604f6-c088-4bde-77e2-08dad77b77e0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 11:17:32.0526
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LbXsMtVbNfzEsKlSHCgMjxIlCascmB5sSKZlJyO6bqL5DLk7SRFKRDiCleOqT4blywLMVUz9r0pn90+W3XvtHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8924

On 06.12.2022 05:33, Demi Marie Obenour wrote:
> This makes the code easier to understand.

Personally I'm not entirely sure about this, but the elimination of
open-coding is worthwhile in any event.

> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:32:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:32:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454712.712239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WBk-0001ut-1P; Tue, 06 Dec 2022 11:32:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454712.712239; Tue, 06 Dec 2022 11:32:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WBj-0001um-Uo; Tue, 06 Dec 2022 11:32:39 +0000
Received: by outflank-mailman (input) for mailman id 454712;
 Tue, 06 Dec 2022 11:32:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XkKw=4E=citrix.com=prvs=332b12f58=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p2WBj-0001ug-ED
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:32:39 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aeb0a8b3-7559-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 12:32:37 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Dec 2022 06:32:19 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6716.namprd03.prod.outlook.com (2603:10b6:a03:407::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 11:32:17 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 11:32:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aeb0a8b3-7559-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670326357;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=JjUYSVyH0tA5nppj98/TjOV1I1SvOk2ZvH7PUo6C4BY=;
  b=b4MOmMHk+gaZpzHBVv9mtk9UlkKS15n1dQm62V9vUwayezD4XQegqjrZ
   OhQx7hCy2arHC2K24Wn1qoULSmOk8XUQH1V973YSG7cWiKfHbAAY7awv9
   iJlRsQmTNBfbDztkVT5MRGrOEm0XAtF2S+7mdrLRTgbxo/D/6+HfAwq3s
   U=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 87210266
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:wMMOVa3gjmuJ039lWvbD5SVwkn2cJEfYwER7XKvMYLTBsI5bp2EFx
 zMfCGCAafjZM2ugLY0lbI+/o05VvJGBydMwQQVkpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZmO6gR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfASZ8x
 OA9IzI3NiuDxNiH55yUV9FSv5F2RCXrFNt3VnBI6xj8VK9ja7aTBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqsy6Kkl0ZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXOkAttKTuPmnhJsqE2e9zcQFjoLbnTh/aWm1Gy5Uoh/b
 FNBr0LCqoB3riRHVOLVUxC9oVaFuAAdQNtaF+Am6ACLxbHQ6gzfDW8BJhZRZdpjuMIoSDgC0
 l6Sg8ivFTFpqKeSS3+W6vGTtzzaES0cN2oLfyIHZQoD/dj4oYs3gw7PT9BsC6q8hJv+HjSY6
 zKAoTU6hr4TpdUWzKj99lfC6xqzorDZQwhz4R/YNkq57wZRdIOjIYuy5jDmAe1oKY+YShyLu
 igCks3HteQWV8jTxWqKXfkHG6yv67CdKjrAjFVzHp4nsTOw53qkeoMW6zZ7TKt0Dvs5lfbSS
 Be7kWtsCFV7ZSfCgXNfC25pN/kX8A==
IronPort-HdrOrdr: A9a23:I/+KRqHP5wyjf2lnpLqFxpLXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskdrZJkh8erwW5Vp2RvnhNJICPoqTM2ftW7dySSVxeBZnMbfKljbdxEWmdQtsp
 uIH5IeNDS0NykDsS+Y2nj3Lz9D+qjgzEnAv463oBlQpENRGthdBmxCe2Sm+zhNNW177O0CZf
 +hD6R8xwaISDAyVICWF3MFV+/Mq5nik4/nWwcPA1oK+RSDljSh7Z/9Cly90g0FWz1C7L8++S
 yd+jaJppmLgrWe8FvxxmXT55NZlJ/IzcZCPtWFjow4OyjhkQGhYaVmQvmnsCouqO+ixV42mJ
 3nogsmPe5093TNF1vF4CfF6k3F6nID+nXiwViXjT/IusriXg83DMJHmMZwbgbZw1BIhqA/7I
 t7m0ai87ZHBxLJmyrwo/LSUQtxq0ayqX0+1cYOkn1kV5cEYrM5l/1bwKoVKuZFIMvJ0vFgLA
 BcNrCE2B+QSyLDU5nthBgp/DVrZAVpIv7JeDlZhiXf6UkqoJkw9Tpl+CVYpAZCyHt1ceg72w
 yPWJ4Y641mX4sYa7lwC/wGRtbyAmvRQQjUOGbXOlj/ErobUki946IfT49Flt1CVaZ4uqfaoq
 6xGW9wpCo3YQbjGMeO1JpE/lTER3i8Ry3kzoVb64JisrPxSbL3OWnbIWpe2feIsrEaGInWSv
 yzMJVZD7vqKnbvA59A20n7V4NJIXcTXcUJspIwWk6IoMjMNor239arO8r7Nf7oC3IpS2n/Cn
 wMUHz6I9hB9FmiXjvijB3YSxrWCzvCFFJLYdznFsQoufsw39d3w3koYHyCl7G2ACwHtLAqd0
 1jJ76imr+npACNjBP101k=
X-IronPort-AV: E=Sophos;i="5.96,222,1665460800"; 
   d="scan'208";a="87210266"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B6lxCMgGDnsPLtgJr4E042qVx33a80kMkJGyK26cV7Yw67d/JRr0El0mzgPM4JvaFGbxYUc70eFvkWit8YF5OJWJAcfrLXXB3MTX1nmPvoUpwO46mIhqTNbK9lpcxBGV0XUJ3cGPNOo//9yS48jOZqqCnVm7PJQufk8Ms0R81LqOo+eUMsdWre68XNbXLBg2qi7SMkEI5zntkSm4DCmwfJzt7cphE44+u1NUGPj4t4KvsknhzyY/PlubQiLzLKhjJR2tfmppOF3HfLlIv6PcoM6g5FrS7DWejDxg0mryek3JREaUgHdbshX07byX/JXbit+eA4qZjgkkHD/iqlfqXQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JjUYSVyH0tA5nppj98/TjOV1I1SvOk2ZvH7PUo6C4BY=;
 b=XiA0PBRGNicC9W6629yBCBeRj8xtUZI3rP6WfGlSrmMO2LVlgECcQo+y9df9jhTGiNqHihO/3H17YdV5AEQJOK0SFgse71A00ySzh3XPw8sa3DZ7kjxoVT6hLo6sE14vTuNzRulWZr4XAaJ4y3d9b6su5HD6ZsHi9xAAzXbPSb9dhs9Q35Ytt1+g7Y2GNCaNXUUqocZJ8XQE71hNOu+ykXR/Gf7KbLZO1ujsEHpoqNI2L1boB1Wxu7JgGzP2SjltI2OPthOw38j3df/JgN6wxMF9qiZkoj+BRv951ox97i5qqCYvZNvA8l/wT1UASNPIfN1pUVAISqT98KaDUrix3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JjUYSVyH0tA5nppj98/TjOV1I1SvOk2ZvH7PUo6C4BY=;
 b=fVdYjry8dLy0UiqfuFoIUWTSiPgRn62hleErceY/925l3KEhPK9PPClTZiPDhw7oydX+RtuPzYxlL/SUlsooQo5g2zp/Nu56n9Fb840cbKeJ+mt/OeRjHDpti6gg9/K1k5Hj2R2eEzUoas4xXbV7h84bpf9Ae3uYWHDBxTONOhQ=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: =?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>, Roger Pau
 Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 6/8] x86: Derive XEN_MSR_PAT from its individual entries
Thread-Topic: [PATCH 6/8] x86: Derive XEN_MSR_PAT from its individual entries
Thread-Index: AQHZCSwLt8pWvQpnJE2aMagXMCMCdq5gunAA
Date: Tue, 6 Dec 2022 11:32:16 +0000
Message-ID: <ac0605b2-5c1c-09f2-9526-1aa7e777e7dc@citrix.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <5ddd32a453b098f277f2d4aa9e044a40183d4bff.1670300446.git.demi@invisiblethingslab.com>
In-Reply-To:
 <5ddd32a453b098f277f2d4aa9e044a40183d4bff.1670300446.git.demi@invisiblethingslab.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6716:EE_
x-ms-office365-filtering-correlation-id: 5209f5c8-9e5f-4bc2-40fd-08dad77d8771
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 RQ0Q4I+MVTk4Wzxrp4/4JvY31T9GZi7H2J7CmyHEDSkhFy5muQQzWxEZJ6OgpEi2WpBGayB8EDgRYUjAb5OYDRQW4dFI2/4zZkVX2Djud7aN2vYI15gUdDhPdtcym2xRM5gLbuDCTN30wHmuYG85/GRaQ4r05t/j9E9GChslexLpYB9XOdJuTyNRMrLkh1hUCUbPCFEP2rGCShABFJTm9qt+aij+3wshqKN82S6vtMmQKtZdYgdPd0QQ+3lbk5EqDL+nRXil3yamCoOzHYWqHpWt186ybU575Wjwl5w20fKkVQGTkRQ/vRlnLwUXoUTq/eIgLA2vpClNY05WjylhknPwILblH3M5AIqfXDGFk4krq79Z/oxNPtriAGHorvpj4a5+Yp2M333AzZvPn8wAxaZERlNiPYA6YKw9Ja/CHLwXgAg0FUfT/oFB1UwJbEObtgakDpI/SdR0dP5PVQilQ9A2ZUnEGl/Q7HO+CuXEx3+BzUxGEs8i7Y9CfmVKTSmiMQCrN5/DH3UQLctim0+SqLm0HVg0S6zSW0wUNIAIOyF2ji8/rVDNyrB8pXiQ6ArbKp9Fr9zdpmyM/t0Uho8yRLvI9lRDYCw0bM4JrnbGWXydEhvvd2RNGmgYWXXr3g2TLe6DnQn6YEImUrgtnX95Fk2JxYyPcx88z+8iz7n5mri/7Q4eWt1VIqKNgsbEfPop9/ks+geZw4MGptBjaXY+5+nmIEQPVXSOfuYmrkWWT5OaGglijRSuN51OglxqZYpQLZwg7ozpPNPPOHhBmAr+lg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(366004)(346002)(376002)(136003)(451199015)(83380400001)(122000001)(86362001)(31696002)(8936002)(82960400001)(5660300002)(38070700005)(4326008)(2906002)(41300700001)(478600001)(8676002)(26005)(186003)(53546011)(64756008)(6506007)(6512007)(110136005)(66946007)(2616005)(66556008)(66446008)(6486002)(91956017)(54906003)(316002)(76116006)(66476007)(38100700002)(71200400001)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aFdycjEyK08vL21USGk1TTh6U05YVGpjMk9ldjFmbEdiY2ZIc3JEQUtETTdr?=
 =?utf-8?B?aU5CVk9QRHdsWHNpYkJUOUppSHVtRURQd0l2clMwN3d3dUhGOVh6bWhJdFdB?=
 =?utf-8?B?dVlsbURYaGNMTzRhTStKZjRoUTVYeFNCSmVMSVpkOFljUjE1Qk9Rd21TbG54?=
 =?utf-8?B?WDFtTExjV2h3c0MwMDJXcDZKV2syc0ptZjdQTXFPN2pLU3U5TUplNWwxdTNY?=
 =?utf-8?B?T1NRMnBTbnJhdlF3emdSS0Q2aFNzZlo3aVJjYzQ5Q3dkUlM5VlBvTWhRSDQr?=
 =?utf-8?B?b0doQlNxZHV3NnAyL3BIQXMwZHpuc0tBOC9ncXVRYW41c29qejgvWFI3bW9l?=
 =?utf-8?B?eFBnaWo2c0VyZ3Q3ZzdDaUdTODBTM0J0di83ZVBpLy9TU0sxYTVIZkwyREpP?=
 =?utf-8?B?SUh4UUU4ZXNxZG9sU053TlhJZGZ0SXZJU3M4T0daVkZWcGt3UVE1MUQyTU1L?=
 =?utf-8?B?Nmh3TUtxMkdjdzdobWlLaGNXTnlmeVR0YU9ObnJkaWtTaG5qVUc5d3ZuZmJO?=
 =?utf-8?B?dXRtdDJESEFWditvM2hCYVZKWEZyUVZmb1B5ZGs5ZjhWbG4ycTVnaE84R0tq?=
 =?utf-8?B?U2h0ank0MW9LM2trTEZEQzJpcmMwd2RaOVhWTjdWZ1NKOFBmb2cydkc1NThE?=
 =?utf-8?B?MG1Ga2JDOHZieGZNUUJWL2VIWEc3WmZFZjVReUdVWDBiaVRaUzNrSlRka2wv?=
 =?utf-8?B?SXpVTXptblpmSk9OVUF1UCtVUkpQa2h5b1g2cmFqTWlqb2JGb3pDbDFudVNY?=
 =?utf-8?B?VWljazJGWGRYSUdBV0RhOFJaY3hGa2Rud1RlUHpyRWlDaVorcnVyWldOclk0?=
 =?utf-8?B?ZHVZVmtaU2lueldZQ2pVOXdCOFNkblhtNjBmY01GNDU0bldKV2FIQlpmdkk1?=
 =?utf-8?B?ZnJ0VXlWZTQwckVrMTlka2pJV3lwWW5SYTJPYUtPS1RPR2dqSitCRWEvTFRF?=
 =?utf-8?B?TkVjK1Fsd0dTRWRVSzdGbG1IWTQwMUtwbEdLK0VZbVptUi9XU0VrQ0IyZy85?=
 =?utf-8?B?S0szdnNwTWs3UEVCOHZGMlpucitOdVVzbHFGSmZiMXRFZmFnQTZhbGFkMjdu?=
 =?utf-8?B?L1hKT0s3b3NpQ1hROW5TQWNPMlFqS1BMMEx4TDA0NE1pOXZhSDFQUVRpdXZa?=
 =?utf-8?B?SW1FUWFHREI5dXk2Zzh5YjNzTVpoK3d2MmdWaXJ6bldlaERkNUZTVGNiRmJG?=
 =?utf-8?B?OXFUQ3o4dFFobmc0d0x2RXpudHE5U2pmTmFYa2gydXNHVGFjc3NXOGRNejd5?=
 =?utf-8?B?ZTlUdHo1WS9oMXVNQUtzUUtDYmRJNlNiMi9lbElRZU5vRjhpbHhwZ3NVYm9H?=
 =?utf-8?B?bEZRdXJJWFI5VEdNalhIeDFjVUtHSXIxVEJta1pPOW1wYVZFRW52NU5GNGpq?=
 =?utf-8?B?Y0VqaFpqdVBXd2xaMUg2bDhjMnNEd2x2bVdPZVVRZndWdnJ4M01wTW00ZmxY?=
 =?utf-8?B?NXYwa01QNzRIazVicG0wTHdxd290WXJvNmZ0UGVKeWtwVys5My94YlRqVzh5?=
 =?utf-8?B?Y2svMk9PVXNUbUZjRzRMeWNkUkFoL0pWODAxejJhalk5dmZEV1ZkU1JCL2k1?=
 =?utf-8?B?MXVlM1pybk9IWFpvcUEzMzFZMzVnZU5rdlg2aVpiNFp1Rm12NGRmb1FsUzJN?=
 =?utf-8?B?M09mWGVveUpSenJsdW9BdTN5RmdEU3JvUUpRa1oreUZwMWJyQTZMNit4YVdm?=
 =?utf-8?B?TTVqVVJuUytqSFBxaDlacGtiaFFrVE5zOEVydnhuZmdkUEUwbXRCQnRwdzBC?=
 =?utf-8?B?Qm5MQk9SUGxqdEYvLzhpQmdraEJCb29LTTluNEwvejBuWGxoUDNGZjJwNVFw?=
 =?utf-8?B?bnNlaDJzYXJYVFV1VStQWjRoVVZIWXYwU0xtNG0xZU10QndqamMrd2IwaEhi?=
 =?utf-8?B?cC91cUpmQ0ZueGo5TEJPMWZ1TS95M0lVSlViMm5VbzNGaHFhVXdtb1ozN0xh?=
 =?utf-8?B?VHJFYjhpMTVhbzR2NEFJZm9IZkpXb01KNFdqclhIbzVHaFRPNlpydVU3OUFy?=
 =?utf-8?B?TzBwMlRtdms1VnpMYUVlMHhabEFaQVdlb1ZpeVNNUzBoYklXVFNnK0NmNzJ6?=
 =?utf-8?B?ZEhCRWV3aVBZejVCMzg4U0poc3hYbTVidEFhL2dNOEJEVk9uT3ZLbktwYlVD?=
 =?utf-8?Q?kG3TeDltTCw00KQ0Xx2MRUhk8?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D86DCA167AE01A4DB90C2F9D334DD7B7@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?azUxaDhCMHZGR1g4eDU1Ulc2SEYwZjJZWHJDQkZ1dkgyb25jNWFuOTJTa29w?=
 =?utf-8?B?ak1OVjdhcUxJaCtQN3A5dTRsbmo4d2ZPZDhBbU41TStOSjR2K1pRblN2VGxC?=
 =?utf-8?B?OGlEcGZOUVVYdHhqbFhSVFd2MGpMM29uem41THE2Mnordk45SXBpT1FXdU0x?=
 =?utf-8?B?TGlBaEtlUG9iU1BTSGpnd2UzN0xNZVVMT29RWCt4MTB5STZJUUdYdGg3Z3pl?=
 =?utf-8?B?a2dSZVQzc0xCY0Y2RXVjK0ozVXpMWlI2N243cS9qa21RaDJtT0JVY0dwellW?=
 =?utf-8?B?d3h2cTUrTjFZbnF5UWxKSktybTdkbE81MW5DOHBpZGpmMFlLdng2V1diOEh2?=
 =?utf-8?B?RFJwUWN4cjZnT0VKNmcrdFBxVnNWZWRRdUg3V2hmYnRpZTNtcWh6U0x6aWpW?=
 =?utf-8?B?blhQazljK0ZtK2RRN3RWYnh1OVFTOTkwYTdySDJXZEIvNTBnVDZaNUgxNEN3?=
 =?utf-8?B?VGxuMlRVcE9XMWdhZ2ZEa0VWaHMxNUVwTmxDd081SzBuKzZmYTF4cERSL3Bw?=
 =?utf-8?B?a1JlWWRiQmxkLzF1bkdHcWhGZG1sY2YvQVVMQS9ZWkxTK1pnY1pBSWkwbitw?=
 =?utf-8?B?WlFHeWRVYXowTGVFN1hzaG1tdkVoOVZlMjdkOUVJUG5qRjkxZU80SXpWaTBX?=
 =?utf-8?B?NnBVakdhQlN4dW1VaHZRUzhoNjZxa01VaUhSN1I0NFd0MWtLL0xicVdSM05S?=
 =?utf-8?B?RklyeUF1WndzajhBVzRJdVlyY1ZzQWNaZ09TOU9Bd0VMdUVNMEZLK2kxY1pX?=
 =?utf-8?B?MlZ2STM5VGVXelJmbCs1d0E1UkhEUzVMK0Y4QXhVWUJ2akpJaHlCZnpiNEdE?=
 =?utf-8?B?QWcrVGlabWU0aXExVzg5ck4veG1BZmFtZVNsc0NpUXkrSEx3Q1Z1WnR0YnVm?=
 =?utf-8?B?WGZJcEZsbTd6ZlFpYThwdUF1MGtTa0MzWlVxQ1RIV0pQUkJkMWNIUU9tbU8v?=
 =?utf-8?B?K0tjK3pmaitJd1JTbjFzb0pNMUZWcTFBVUY1UUFjcDh4Z044aFBaNVQ1NkJC?=
 =?utf-8?B?VW5ndm0rQldXZlpFZHhWTTBZb3VvTjdWWWQ2MGh4YnUrWEZKZ1A0ZlpPUXNX?=
 =?utf-8?B?bkdZV05PYVZSamhOMHNONUZ2RzZKWlZsdDZFWkQ0cUg2S0J3R2lFWTIvUDla?=
 =?utf-8?B?Z2JvVHhIQW9LdlJ5U20ydWZhSWwvcndQOEhPTkN5alVhTklKc3dhQXFFQWEx?=
 =?utf-8?B?ZmhQMUxWWFA4ZDF2UGhoMm4yR3d6dG43VzkwbUMxbnlVZ2ZzS0VmYVNQM0dH?=
 =?utf-8?B?ZHJhbjY3bnBxMDQ1Q3NSMGhEWURDK0hjR2p2WWhGYjZHLysxUT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5209f5c8-9e5f-4bc2-40fd-08dad77d8771
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 11:32:16.9107
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 9YVwCIaynfv8WEhNZ063ErUKR5pGJmL0W3GnoXCXg6EfVoqNjXwzqdy7I0ACJkuBtPwSssDmuh3cWe2UMozt8pj+S8OYBKIrin5xiUo2yFc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6716

T24gMDYvMTIvMjAyMiAwNDozMywgRGVtaSBNYXJpZSBPYmVub3VyIHdyb3RlOg0KPiBUaGlzIGF2
b2lkcyBpdCBiZWluZyBhIG1hZ2ljIGNvbnN0YW50IHRoYXQgaXMgZGlmZmljdWx0IGZvciBodW1h
bnMgdG8NCj4gZGVjb2RlLiAgVXNlIGEgX1N0YXRpY19hc3NlcnQgdG8gY2hlY2sgdGhhdCB0aGUg
b2xkIGFuZCBuZXcgdmFsdWVzIGFyZQ0KPiBpZGVudGljYWwuDQo+DQo+IFNpZ25lZC1vZmYtYnk6
IERlbWkgTWFyaWUgT2Jlbm91ciA8ZGVtaUBpbnZpc2libGV0aGluZ3NsYWIuY29tPg0KPiAtLS0N
Cj4gIHhlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaCB8IDIyICsrKysrKysrKysr
KysrKysrKysrKy0NCj4gIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0
aW9uKC0pDQo+DQo+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vcHJvY2Vz
c29yLmggYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgNCj4gaW5kZXggOGUy
ODE2ZmFlOWI5N2JkNGUxNTNhMzBjYzM4MDI5NzFmZTAzNTVhZi4uNjRiNzVlNDQ0OTQ3YzY0ZTJl
NWViYTQ1N2RlZWM5MmE4NzNkN2E2MyAxMDA2NDQNCj4gLS0tIGEveGVuL2FyY2gveDg2L2luY2x1
ZGUvYXNtL3Byb2Nlc3Nvci5oDQo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wcm9j
ZXNzb3IuaA0KPiBAQCAtOTIsMTMgKzkyLDMzIEBADQo+ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFg4Nl9FRkxBR1NfTlR8WDg2X0VGTEFHU19ERnxYODZfRUZMQUdTX0lGfCAgICBcDQo+ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFg4Nl9FRkxBR1NfVEYpDQo+ICANCj4gKy8qIEluZGl2
aWR1YWwgZW50cmllcyBpbiBJQTMyX0NSX1BBVCAqLw0KPiArI2RlZmluZSBNU1JfUEFUX1VDICBf
QUMoMHgwMCwgVUxMKQ0KPiArI2RlZmluZSBNU1JfUEFUX1dDICBfQUMoMHgwMSwgVUxMKQ0KPiAr
I2RlZmluZSBNU1JfUEFUX1JFU0VSVkVEXzEgIF9BQygweDAyLCBVTEwpDQo+ICsjZGVmaW5lIE1T
Ul9QQVRfUkVTRVJWRURfMiAgX0FDKDB4MDMsIFVMTCkNCj4gKyNkZWZpbmUgTVNSX1BBVF9XVCAg
X0FDKDB4MDQsIFVMTCkNCj4gKyNkZWZpbmUgTVNSX1BBVF9XUCAgX0FDKDB4MDUsIFVMTCkNCj4g
KyNkZWZpbmUgTVNSX1BBVF9XQiAgX0FDKDB4MDYsIFVMTCkNCj4gKyNkZWZpbmUgTVNSX1BBVF9V
Q00gX0FDKDB4MDcsIFVMTCkNCg0KVGhpcyBpc24ndCByZWFsbHkgY29ycmVjdC7CoCBDb25zdGFu
dHMgZm9yIE1TUnMgdHlwaWNhbGx5IGxpdmUgaW4NCm1zci1pbmRleC5oLCBidXQgdGhlc2UgYXJl
IGFyY2hpdGVjdHVyYWwgeDg2IG1lbW9yeSB0eXBlcy4NCg0KVGhlc2Ugb3VnaHQgYmUNCg0KI2Rl
ZmluZSBYODZfTVRfJFggLi4uwqAgKHNraXBwaW5nIHRoZSB0d28gcmVzZXJ2ZWQgdmFsdWVzKQ0K
DQppbiB4ODYtZGVmbnMuaCwgYW5kIHRoZSBQQVRfVFlQRV8qLCBNVFJSX1RZUEVfKiBhbmQgRVBU
X0VNVF8qIGNvbnN0YW50cw0Kd2FudCByZW1vdmluZy4NCg0KVGhlcmUgYXJlIHR3byBtaW5vciBy
ZXN0cmljdGlvbnMgKEVQVCBjYW4ndCBoYXZlIFVDTSwgTVRSUiBjYW4ndCBoYXZlDQpXQyksIGJ1
dCB0aGV5IGFyZSBhbGwgb3BlcmF0aW5nIGluIHRlcm1zIG9mIGFyY2hpdGVjdHVyYWwgbWVtb3J5
IHR5cGUNCnZhbHVlcywgYW5kIHRoZSBjb2RlIG91Z2h0IHRvIHJlZmxlY3QgdGhpcy4NCg0KPiAr
DQo+ICAvKg0KPiAgICogSG9zdCBJQTMyX0NSX1BBVCB2YWx1ZSB0byBjb3ZlciBhbGwgbWVtb3J5
IHR5cGVzLiAgVGhpcyBpcyBub3QgdGhlIGRlZmF1bHQNCj4gICAqIE1TUl9QQVQgdmFsdWUsIGFu
ZCBpcyBhbiBBQkkgd2l0aCBQViBndWVzdHMuDQo+ICAgKi8NCj4gLSNkZWZpbmUgWEVOX01TUl9Q
QVQgX0FDKDB4MDUwMTAwMDcwNDA2LCBVTEwpDQo+ICsjZGVmaW5lIFhFTl9NU1JfUEFUIChNU1Jf
UEFUX1dCICA8PCAweDAwIHwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgTVNSX1BBVF9XVCAg
PDwgMHgwOCB8IFwNCj4gKyAgICAgICAgICAgICAgICAgICAgIE1TUl9QQVRfVUNNIDw8IDB4MTAg
fCBcDQo+ICsgICAgICAgICAgICAgICAgICAgICBNU1JfUEFUX1VDICA8PCAweDE4IHwgXA0KPiAr
ICAgICAgICAgICAgICAgICAgICAgTVNSX1BBVF9XQyAgPDwgMHgyMCB8IFwNCj4gKyAgICAgICAg
ICAgICAgICAgICAgIE1TUl9QQVRfV1AgIDw8IDB4MjggfCBcDQo+ICsgICAgICAgICAgICAgICAg
ICAgICBNU1JfUEFUX1VDICA8PCAweDMwIHwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgTVNS
X1BBVF9VQyAgPDwgMHgzOCB8IFwNCj4gKyAgICAgICAgICAgICAgICAgICAgIDApDQo+ICANCj4g
ICNpZm5kZWYgX19BU1NFTUJMWV9fDQo+ICtfU3RhdGljX2Fzc2VydChYRU5fTVNSX1BBVCA9PSAw
eDA1MDEwMDA3MDQwNlVMTCwNCj4gKyAgICAgICAgICAgICAgICJ3cm9uZyBYRU5fTVNSX1BBVCBi
cmVha3MgUFYgZ3Vlc3RzIik7DQoNClRoaXMgd2FudHMgdG8gYmUgaW4gdGhlIGJ1aWxkX2Fzc2Vy
dGlvbnMoKSB0aGF0IHlvdSBpbnRyb2R1Y2UgaW4gdGhlDQpuZXh0IHBhdGNoLCBhbmQgYSBCVUlM
RF9CVUdfT04oKS7CoCBXZSBzdGlsbCBzdXBwb3J0IGNvbXBpbGVycyB3aGljaA0KZG9uJ3Qga25v
dyBfU3RhdGljX2Fzc2VydCgpLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:35:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:35:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454718.712250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WEP-0002Vl-Hb; Tue, 06 Dec 2022 11:35:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454718.712250; Tue, 06 Dec 2022 11:35:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WEP-0002Ve-Cc; Tue, 06 Dec 2022 11:35:25 +0000
Received: by outflank-mailman (input) for mailman id 454718;
 Tue, 06 Dec 2022 11:35:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2WEO-0002VX-C8
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:35:24 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on20600.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10cb1380-755a-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 12:35:21 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7408.eurprd04.prod.outlook.com (2603:10a6:800:1b3::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 6 Dec
 2022 11:35:20 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 11:35:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10cb1380-755a-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TN88ulWReG57cIBdspCxfZmZ4nsNR3hfALw+iJ0uI0GcIo93fspzYg7fmWS1rmCzwPOernbW7f3y6dhZCWzAGRm/VzO3ih3UF1Gm1WJbH1C1z1bh0ZNLEUST+1jPW735eKk05m/5ZH2M0odKYn6dAQb4sl3zI6DGeH7F0RHWxGMRGKrFsn/KOtSAf/xIi087NclPh0v7rZRufPIyz3YZrtkY5XfWSKP6sF5nf4D+vnDxjr0GKG0LTr8uxxMPquhHDKQNA+g9ijpD4+bKMkNyXo3ht21XmRL3mUtJnq6iVZsxsJQcqy1bh/QSz2XRlPp+3eMHFAD6rMRE4E49R1JK1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fnVwvD+eJz1Fx52kASVUIyFemFrwo6Ora9AstzYyLPM=;
 b=QTZG5CyfHYpAlfyEw/JvdZhNQ3vLLhlplDxjPI53/jPq5BHLld3ZYHQtOimXkgZSLGOLuaOn8q3dVntVc8fBsMAyhS/xrVrMrH7eAcr4MlLBQ2kDESZFCwLvUTzpyofPRNDKydLkoyT4PC0lDr+rFQO15wUtv4Qg4bhgTH2QWQjn3g6HBmzbFnnvWUWp/vUpmYFATAiiVtvGrdpiBAQx4up5JktakSnQAlxks4CpjRF5V3aJnca17vXs23XVOFKB2UbcstHFHsAXpQFI7S40TzvTvl5wINYsrHgBfY3HK6hccw1sUeY7L07Uj/BTdtHlDsQwhlk/8DGlkSFaEQ0pig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fnVwvD+eJz1Fx52kASVUIyFemFrwo6Ora9AstzYyLPM=;
 b=x9ea2ErdVwqAzaa3ZloKlNAhlv/pCJq9qAI1AD8AfgkUn4YDdNhjs0lXPTEyNMbYF+6ID2Vq6lQLkyODPnMq/piK0POjbZCW685dj8Iwc+u2sZ6jL/ntMyxtmncqhCvUDrRugR2Ty6Vcqg//TCG7mlDReVqyv2TIvhLSXOtbixlaj14ED9YaF9VQXITPHqpnNX+U93Q9sQEOL1IjEPVQvz2CcAB5epG2r1Y08ayZChidWFb31JJuQ/U6ReWxfavrCNwBEK7YsJwQyoEdhKjJd8XnB0CqrBCSuvJhNATAqMZxDSSg/qaCwEkOgZgGiQv3AwtS0v5HyBxY9GAwWo/rqg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9a06b44f-533b-1975-93ce-60937f19f8d2@suse.com>
Date: Tue, 6 Dec 2022 12:35:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 6/8] x86: Derive XEN_MSR_PAT from its individual entries
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <5ddd32a453b098f277f2d4aa9e044a40183d4bff.1670300446.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5ddd32a453b098f277f2d4aa9e044a40183d4bff.1670300446.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0204.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7408:EE_
X-MS-Office365-Filtering-Correlation-Id: 7c3eaf93-d48a-4b35-6122-08dad77df4d0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2asHdungWvVKMlC1VIYkJv1bJtfRwohZIxNmwH1aykNxCNpz5cEQ3aU60yHZb5tM6wwqIrNF6+26S7ZPUXXr7WXRZ1rscj11kLX249I7+7F7QXhVi573+OaZDckeiaBCuQ6qywAypxuOAwiNy+YL3tOSBYjbUUB1/1mJdy5uwDjbgL8B+Z76bIymPYsnzPazLAbiVxA4dS47IVb+YdTt5xewufAcicedpMv+Z8bVAcVRuQlIrfTM/OR5/QIwnHrEyNgxwFcJ5IcK1RnMLDQ7QCqvrjv+1zW5tlRl9pYVCSWAECEtqzWM/cIjsWCqJ8o6s114W0v1fdb9+kAalz6y0mcSrf54zusa95WgC9vyn0jirH12eQqLzNeHRIwk4RuGWHDO0y1AWGP61CjDR3xzX1tKJtgir8Vc792olyhhIyDj5OL/CmrxvRNkBEGf/Ok6yuk88J1zRbd+w5JCPjW0A+I7QTY4bkcKgQxl+uYiJeCCqOSIhMZAGoh74djSN8G513Zo2B+bcprkKJPn9KyT4KqNEvacPOMQ7B2hxB1HOzw1Xpi5N6rw7beK8VOgJso+DSHXrL9t20r8CWwMFQCTHBqC8Ng5bspYAuCrmKPU9/WskI662Z7Y04pbL6vLa431cEWFjwJAC8f9FLPuu9oO/7ZNTV/QKV+9KzbPToYutsZpqx4OjngDVSiYLC4mVXPoSbSdRXCB+OfZHuawlNloKkRRfx8/H62VcWKARKklq3s=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(136003)(396003)(366004)(346002)(376002)(451199015)(86362001)(31696002)(6486002)(53546011)(478600001)(6506007)(36756003)(6512007)(26005)(5660300002)(41300700001)(8936002)(54906003)(2906002)(6916009)(66556008)(66476007)(66946007)(8676002)(316002)(4326008)(186003)(38100700002)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bUgvMzBXWnZpaEREVW0rM1BZSTFVbU5NTENWL1htdlR3WWZSZ2JaZHp2N09H?=
 =?utf-8?B?Q2pzUEtsNzNXMlU5T2FSWWlycGJqd2NUdSswZ3p6UDUwK01WRFQwSWFPWkhK?=
 =?utf-8?B?UFFvMEJiQi9HWmRUbnFmbWZOZjJNako5aGs1WmcxcC9BNVRlZXF4dzh1eUhj?=
 =?utf-8?B?MXpmK2NpV0xXMnZsOFRSYWNaM05EaEVZUUliZmpMSHcxUUUyMzFoWnlFU1lh?=
 =?utf-8?B?YzBYTkIyN0FFQllBckh3dmgwNVFWSzlKTWhwYk9OUFFCbzJFcmt2ZWVXUGtC?=
 =?utf-8?B?cHFQVDNFek5uRTJmNlZ0SkxzUk92dGxUbTdkVW1WUWdjRGJZTUFXMHpoNG1m?=
 =?utf-8?B?L0l0TWYxVnRPMkJ1dlFtc2d3M3hZV3BLRkNwNCswZjR1NGZDbksxNkhWUDhX?=
 =?utf-8?B?RFdCSFB6NDJSbmo0WDZyUGtZb0pZeW9iRGFSanB6S0dYN0JqajFCTlB4QzhN?=
 =?utf-8?B?Mi9rcWUrZEFYSVAybE43enN2R3g0bmNtWlR0dDNGK0hWZFhUYkVQZnNKZWlE?=
 =?utf-8?B?aW1SN042WCtUUzM4YVZma1dlWUVvL3BSNDZTRG94TmR1YTlRYWEwdTBURFJL?=
 =?utf-8?B?L0c5MFNsQ1QwakN2TThWVHhXTUJRQ0pGVVBOTitMQjdZL09BRG1Ca3puOG1n?=
 =?utf-8?B?MGU5QkdrcFJaT3FsMGs1b1hZczNGWEswZk9WT1A2N2ZOOW53aXFwMFBpMnBw?=
 =?utf-8?B?TzlIdFlDUkRFdnY4STBvdWwvM1dlU041NWRWSExsajlYVkhnU1RzOFJTMHo1?=
 =?utf-8?B?MjBFTnQ0bHlMWGVxbWVUWFJhYjlLSDUzQUpsTlNkZ0V2Q0NBcnpRWkNjNnNK?=
 =?utf-8?B?YVhJR3A4UnlEZFZJSjkrTzVqV05TQWliOElnZmhneGhFV2lYNjF1cW1idWN2?=
 =?utf-8?B?Q3ZBMDJxdWZUdGZCd3NXZFNvQk12NE1xa0RhR0hVSHZlWitzOUc4cXFRME1Y?=
 =?utf-8?B?cVhSUTRqSXErL3E4WnFVS0NuRDBxSktYbU1BSWVWNkk5VGhpazZrYWxYN3J5?=
 =?utf-8?B?T2JXRjJ6TW1xTEFyQ2MzUE5WcmVQb29Rd1VEN2ZZSk1VczNrQUgxZ2ozSUw0?=
 =?utf-8?B?MFp6R1hDZmRscjFYRGhpNnBmcGFHTGdqME9vYjU4U2JjeklMVkRDemNoU25k?=
 =?utf-8?B?L2lud1ZHOHdBWGdHbkhla0JlMmRkUzRmQXcvLy9ncTJiZldUMFRyMUNWVUJx?=
 =?utf-8?B?dlJVdW5EZ2JPaWJvSG1MN25zSitwNjZUS0g0WUhsNTE0STdLY3lPR2wxSCtC?=
 =?utf-8?B?dEhkQjZnaHFJc1Fkc0ZocnYvd2VXaDNmeUZGRTdtVVNQQUUwcHozTkNqektS?=
 =?utf-8?B?YVBjUnFQVndhcXE1dGtGcTVPdTlJSnBWQk5Na3phRllpbncxN3Y2d3lvVTlX?=
 =?utf-8?B?QUtyc2dzc3o1WHdtbm91Ky9kVTczNVBEaHRkeDBaemdiSGNnTmxBeFlNY1RO?=
 =?utf-8?B?b2swNXd4NnRRRDFLUlZ3YlZ0TUUrbmNQeWRQN0VVZk1JYmxNaktUM3c2L0p5?=
 =?utf-8?B?NGRHSUxQR293QjUvL1VFVmlVd1NRbmE5R2NlT3pSUFNLY1E5L1gxREhtZHhL?=
 =?utf-8?B?T1VETGNMZnk1N3FsSlF1R1d1UzYyNzhUNmg4a1RobERqYVYwL01qdUk3czdq?=
 =?utf-8?B?a1YwVlpONkRzbFA3QTRTd0wwODFaWG5HUVhZMU9mRW9lU1c4WFZVWjcwbSta?=
 =?utf-8?B?ZytURVJ2MHNjOVR4bXFQYmFrbXZBRVp6SUFtNHd3bldaWTFMaUdRZGNCN3pM?=
 =?utf-8?B?Q2doR1QwYTlRcnNSMUNIOFUwb1h3S3JPZkwrV0JZc3U0UWFlNmk2ZXBTb3dw?=
 =?utf-8?B?M2hBeUlLY2Zmd2pkTUFnRmdJQThWaVZVSy80cUlHeXEyL01QeWxGeFlZT2tq?=
 =?utf-8?B?RWtISlUxSklNT0g5VDNGZVBZMFpiRVhmQlZJM2ZIcmQvczJ3QnB1NUQ4eGh6?=
 =?utf-8?B?TDdJWXpCVC92YmZEOGhzOHJxRWpsVzJZQit2Z0Q0ajFlL20wRzNMb2lVUXBO?=
 =?utf-8?B?aFpoT2RtSGx6SUMyTmk3THhQNWxtL25CT2I1TkJkVm1ic2tZZkZFbTVlcnBh?=
 =?utf-8?B?R3drbXlCd25tNTJkTzEzT2dCNEFZdzc1L2p2Y0ZDVTA5aEs3SGR4Ykowa2Zm?=
 =?utf-8?Q?uugnlVka/HaHcxCiAge23jSEc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c3eaf93-d48a-4b35-6122-08dad77df4d0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 11:35:20.6246
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6M/+lI9Jyj7/3fk3eMduwhhG933TUvoVPVCVoL+/vzb1jx1Qt71yHuOBzTKhSsJQHjI3B5BIvJYfavdiAecETA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7408

On 06.12.2022 05:33, Demi Marie Obenour wrote:
> --- a/xen/arch/x86/include/asm/processor.h
> +++ b/xen/arch/x86/include/asm/processor.h
> @@ -92,13 +92,33 @@
>                            X86_EFLAGS_NT|X86_EFLAGS_DF|X86_EFLAGS_IF|    \
>                            X86_EFLAGS_TF)
>  
> +/* Individual entries in IA32_CR_PAT */
> +#define MSR_PAT_UC  _AC(0x00, ULL)
> +#define MSR_PAT_WC  _AC(0x01, ULL)
> +#define MSR_PAT_RESERVED_1  _AC(0x02, ULL)
> +#define MSR_PAT_RESERVED_2  _AC(0x03, ULL)
> +#define MSR_PAT_WT  _AC(0x04, ULL)
> +#define MSR_PAT_WP  _AC(0x05, ULL)
> +#define MSR_PAT_WB  _AC(0x06, ULL)
> +#define MSR_PAT_UCM _AC(0x07, ULL)

This would be the at least 4th instance of these constants in our tree
(see xen/arch/x86/include/asm/mtrr.h, xen/include/public/domctl.h, and
xen/include/public/hvm/dm_op.h). Since they're part of the public
interface, I'm inclined to suggest to use those. If that faces
opposition, the next best approach would apparently be to move mtrr.h's
into x86-defns.h (including the largely identical MTRR values), thus
then also allowing hvmloader sources (which currently open-code the
MTRR values in cacheattr.c).

>  /*
>   * Host IA32_CR_PAT value to cover all memory types.  This is not the default
>   * MSR_PAT value, and is an ABI with PV guests.
>   */
> -#define XEN_MSR_PAT _AC(0x050100070406, ULL)
> +#define XEN_MSR_PAT (MSR_PAT_WB  << 0x00 | \
> +                     MSR_PAT_WT  << 0x08 | \
> +                     MSR_PAT_UCM << 0x10 | \
> +                     MSR_PAT_UC  << 0x18 | \
> +                     MSR_PAT_WC  << 0x20 | \
> +                     MSR_PAT_WP  << 0x28 | \
> +                     MSR_PAT_UC  << 0x30 | \
> +                     MSR_PAT_UC  << 0x38 | \
> +                     0)
>  
>  #ifndef __ASSEMBLY__
> +_Static_assert(XEN_MSR_PAT == 0x050100070406ULL,
> +               "wrong XEN_MSR_PAT breaks PV guests");

I'm afraid this won't compile on all gcc versions we support; see
xen/include/xen/lib.h's conditional use thereof for BUILD_BUG_ON().
You really want to use BUILD_BUG_ON() here instead of partly open-
coding it. (Yes, it requires to be put where a statement can be
put, not just a declaration, but the check doesn't strictly need
to live in a header file, so that's reasonably easy to accommodate
for.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:37:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:37:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454728.712260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WGR-00039m-VJ; Tue, 06 Dec 2022 11:37:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454728.712260; Tue, 06 Dec 2022 11:37:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WGR-00039f-Sj; Tue, 06 Dec 2022 11:37:31 +0000
Received: by outflank-mailman (input) for mailman id 454728;
 Tue, 06 Dec 2022 11:37:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UjLg=4E=gmail.com=wei.liu.linux@srs-se1.protection.inumbo.net>)
 id 1p2WGQ-00039W-Cj
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:37:30 +0000
Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com
 [209.85.221.52]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c3d102d-755a-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 12:37:27 +0100 (CET)
Received: by mail-wr1-f52.google.com with SMTP id h7so17033638wrs.6
 for <xen-devel@lists.xenproject.org>; Tue, 06 Dec 2022 03:37:29 -0800 (PST)
Received: from liuwe-devbox-debian-v2 ([51.145.34.42])
 by smtp.gmail.com with ESMTPSA id
 q17-20020a05600000d100b0024207ed4ce0sm16635553wrx.58.2022.12.06.03.37.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 06 Dec 2022 03:37:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c3d102d-755a-11ed-8fd2-01056ac49cbb
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2dEEPgYHWLWGN87zsbE4biUqCxTkyL0Hp4s+LmxL1OA=;
        b=KsPuvk5Be9LGlHOEzAH9ky2LMwC8NnFLKOq2UzLa212RVxbMV9ZBEFYRsC7x5wFKLo
         eXmC/C0HLaQFixOUPxGfT7SdoG2hlDwFAd1UZ700ojTJV0MP0ZJ5VPc6GIXe1YSD3zfl
         JvWkLyj71ddGXZZMeWK1g383Av8g4ptqLSs+Kwzwg1VKIcLb75PS6AlRt0i10eZqX5CX
         AsAiizraB0juM4aFIJcuk7Dbq0+tgd8eHbqsATo6pi8ouT7BCOWGCEFqfOJuxjxtSp9K
         8HIeEY8rlzQ5Ael6w9T1sUDy4DJUnKt+qCDohSxgk/vFek68msGYi6xCainvkmCdDnWE
         nV0w==
X-Gm-Message-State: ANoB5pnqsTp72tYLz9T0atP17+Yzp76OmDg/XNLGR8tlhbSPrqWvH39+
	Z7ajRBQPiiz+KEgCBziynw4=
X-Google-Smtp-Source: AA0mqf5IQao7pI3S55ozIZ3UILwG0zwLXEWSh3JhE8Rsg0wuM8pdCGyXY1E8JKqEYaIaMJ9EdjlENQ==
X-Received: by 2002:a5d:5385:0:b0:242:f8d:fcee with SMTP id d5-20020a5d5385000000b002420f8dfceemr27418643wrv.86.1670326648777;
        Tue, 06 Dec 2022 03:37:28 -0800 (PST)
Date: Tue, 6 Dec 2022 11:37:26 +0000
From: Wei Liu <wei.liu@kernel.org>
To: Dawei Li <set_pte_at@outlook.com>
Cc: gregkh@linuxfoundation.org, johannes@sipsolutions.net,
	robert.jarzmik@free.fr, jgross@suse.com, sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com, roger.pau@citrix.com,
	srinivas.kandagatla@linaro.org, bgoswami@quicinc.com,
	mpe@ellerman.id.au, npiggin@gmail.com, christophe.leroy@csgroup.eu,
	kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
	decui@microsoft.com, alsa-devel@alsa-project.org,
	linuxppc-dev@lists.ozlabs.org, xen-devel@lists.xenproject.org,
	linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/6] hyperv: Make remove callback of hyperv driver void
 returned
Message-ID: <Y48pdr9DEmXShhFR@liuwe-devbox-debian-v2>
References: <20221205153644.60909-1-set_pte_at@outlook.com>
 <TYCP286MB232373567792ED1AC5E0849FCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <TYCP286MB232373567792ED1AC5E0849FCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>

On Mon, Dec 05, 2022 at 11:36:39PM +0800, Dawei Li wrote:
> Since commit fc7a6209d571 ("bus: Make remove callback return
> void") forces bus_type::remove be void-returned, it doesn't
> make much sense for any bus based driver implementing remove
> callbalk to return non-void to its caller.
> 
> This change is for hyperv bus based drivers.
> 
> Signed-off-by: Dawei Li <set_pte_at@outlook.com>
[...]
> -static int netvsc_remove(struct hv_device *dev)
> +static void netvsc_remove(struct hv_device *dev)
>  {
>  	struct net_device_context *ndev_ctx;
>  	struct net_device *vf_netdev, *net;
> @@ -2603,7 +2603,6 @@ static int netvsc_remove(struct hv_device *dev)
>  	net = hv_get_drvdata(dev);
>  	if (net == NULL) {
>  		dev_err(&dev->device, "No net device to remove\n");
> -		return 0;

This is wrong. You are introducing a NULL pointer dereference.

>  	}
>  
>  	ndev_ctx = netdev_priv(net);
> @@ -2637,7 +2636,6 @@ static int netvsc_remove(struct hv_device *dev)
>  
>  	free_percpu(ndev_ctx->vf_stats);
>  	free_netdev(net);
> -	return 0;
>  }
>  
>  static int netvsc_suspend(struct hv_device *dev)
> diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c
> index ba64284eaf9f..3a09de70d6ea 100644
> --- a/drivers/pci/controller/pci-hyperv.c
> +++ b/drivers/pci/controller/pci-hyperv.c
> @@ -3756,7 +3756,7 @@ static int hv_pci_bus_exit(struct hv_device *hdev, bool keep_devs)
>   *
>   * Return: 0 on success, -errno on failure
>   */

This comment is no longer needed in the new world.

But, are you sure you're modifying the correct piece of code?

hv_pci_remove is not a hook in the base bus type. It is used in struct
hv_driver.

The same comment applies to all other modifications.

Thanks,
Wei.


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:38:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:38:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454735.712272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WHE-0003hI-A9; Tue, 06 Dec 2022 11:38:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454735.712272; Tue, 06 Dec 2022 11:38:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WHE-0003hB-6B; Tue, 06 Dec 2022 11:38:20 +0000
Received: by outflank-mailman (input) for mailman id 454735;
 Tue, 06 Dec 2022 11:38:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XkKw=4E=citrix.com=prvs=332b12f58=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p2WHC-0003fc-K3
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:38:18 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 78e642ca-755a-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 12:38:17 +0100 (CET)
Received: from mail-dm3nam02lp2042.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.42])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Dec 2022 06:38:07 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5070.namprd03.prod.outlook.com (2603:10b6:208:1a4::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 11:38:03 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 11:38:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78e642ca-755a-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670326697;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=gQgt10He7KzTAaYMqaXCjtZGC5//rXfD8vz6ludIS7o=;
  b=TH/O9c8FH/XLwB65qkRb5Q0TpWJG7jTlBccVDc0TldWQC0feRnjyxDCv
   C4cVz+8IrrbK3NB3d0at4zInofiEIyBs5p4WS98GVQJ9ztDYw8VXGtr25
   mNpD6Xw5WFN7yrGDU3pjNzIdKwCzNQsElJlVZD1WJJclkaw6xkbRrh7py
   M=;
X-IronPort-RemoteIP: 104.47.56.42
X-IronPort-MID: 86814856
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:SOqgJq5mpH7nnFLw77HkFgxRtL7GchMFZxGqfqrLsTDasY5as4F+v
 jFOCD+AO6uDNmTzftwnao6w/EgCu5PSm4AwGQo6+XtjHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoT4geE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m6
 +UIKBAzci65wOfp+46LVOtAmt4YBZy+VG8fkikIITDxK98DGcqGb4CRoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkkotitABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTCNxCTeHoq6ACbFu73GAZUU0ZWXmAq/j+hgmQavFzI
 Ewe9X97xUQ13AnxJjXnZDW0rXuFlh8aRdtLEuc+5R2Ny6zb+AKQDC4PSTspQMwrsoo6SCIn0
 neNnsj1Hnp/vbuNU3Wf+7yI6zSoNkA9KGYYYCYeQAgt4t/9oZoyhBbCUtZiFqGuitT/Xzr3x
 liiriIzmrEShs4jzLig8BbMhDfEjofNZh444EPQRG3Nxh94Yaa1aoru7kLUhd5CI5yeVUKpp
 2Uflo6V6+VmMH2WvCmEQeFIELTy4f+AaGfYmQQ3Q8Nn8Cmx8Xm+e4wW+Ct5OEpiLscDf3nuf
 VPXvgRSopRUORNGcJNKXm54MOxypYCIKDgvfqyPBjaSSvCdrDO6wRw=
IronPort-HdrOrdr: A9a23:kHhLOaC1UsSd8/DlHeiCsseALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPEfP+U0ssHFJo6HiBEEZKUmsuaKdkrNhR4tKOzOW91dATbsSoLcKpgeNJ8SQzJ876U
 4NSclD4ZjLfCBHZKXBkUeF+rQbsb+6GcmT7I+woUuFDzsaEp2IhD0JaDpzZ3cGIDWucqBJca
 Z0iPAmmxOQPVAsKuirDHgMWObO4/XNiZLdeBYDQzI39QWUijusybjiVzyVxA0XXT9jyaortT
 GtqX242oyT99WAjjPM3W7a6Jpb3PPn19t4HcSJzuQFNzn2jQ6sRYJ5H5mPpio8ru2D4Esj1P
 PMvxAjFcJu7G65RBD1nTLdny3blBo+4X7rzlGVxVH5p9bieT48A81dwapEbxrw8SMbzZNB+Z
 MO+1jcm4tcDBvGkii4zcPPTQtWmk29pmdnufIPjkZYTZAVZNZq3MkiFQJuYdM99RDBmcYa+d
 pVfZjhDTFtAAunhkXizy5SKRqXLy8O91m9MxI/U4euokVrdThCvjclLYok7zQ9HdsGOud5D6
 6vCNUWqJheCsARdq5zH+EHXI++DXHMWwvFNCaILU3gD7xvAQOEl3dZ2sRG2AiGQu1/8HIJou
 WJbHpI8WopP07+A8yH25NGthjLXWWmRDzojsVT/YJwtLHwTKfidXTrciFlr+Kw5/EERsHLUf
 e6P5xbR/flMGv1AI5MmwnzQYNbJ3USWNAc/tw7R1WNqMTWLZCCjJ2RTN/DYL72VTo0UGL2BX
 UOGDD1OcVb90iuHmT1hRDAMkmdDXAXPagAZJQy09Jju7TlbLc8wzT9oW7Jlv2jOHlFrrE8el
 d4Lffujr67zFPGiFr10w==
X-IronPort-AV: E=Sophos;i="5.96,222,1665460800"; 
   d="scan'208";a="86814856"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OB73ocq9pkp6h7qSMdAegoUj/sRGu3K9FfdcmctKYyD8njOrp3pPbHmq/YamlyLTrGk10aKediLmAMhTEB1OlC+qHc2uPBxok6sSWUq0yeVsZFdJoYhsMnAD66e3J19MBVFZDy/pvQhmMsQYVV+jZ/HkJKgTyxYHA0KrToTQl6Wrl3SfZ9PqZDbgbANIg+TFf/M7+CKD+OZ/OlONXVzyLbq2HjdZqZpmPdZT4uJJhQPFrkcmAq7Mk0rmOP/SPiY1XaxyOmL9qJyVPVWQDbVqy+BCTPD9wrtF+LdSaKo8iP/a3/Qqdun/V0eNE2cFg6SymudGsOW1AyaX8uWYpuj07Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gQgt10He7KzTAaYMqaXCjtZGC5//rXfD8vz6ludIS7o=;
 b=keK4fqRT0YsB+VNEwVhMSzhmhVBvlkwKbtRWYtPxPtMVMt0ns6a05Lj6Z5XLopfu22VkKHecSOR8SCwjzacwqIJIqeR9YgwZsI0lzfiumxMyxfwUVmqX5EIx/Wf7SRmyRy+iXRusk32fenSQh87MIWqcsN2ftwNjYDbh3oGeABZCsI0BnH5xrZ9ZMvlJc5paf8loz+W6mnTuYz4s4e3f5MQxjZWu74pNxeefAdOwiWUkE0JCBnPiVEWpNCV1vazXwhBA0ExNCvJDu6CZq2S5hW+SFk77sMPX3ekz46eBFRzwhuXNzJblXOnJCmKVngb6dD/5yVKFLVynhXAe6/zvqw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gQgt10He7KzTAaYMqaXCjtZGC5//rXfD8vz6ludIS7o=;
 b=wl25F2Z1FLVWGNF7NSXJEh19kuDmZO3B8QikoD+JXBnYT7dcm1d+eHRZKfHOXI6TG6A/klt6Ex6pV1WgQNOzFRkMf87kCFodw33c1KO6qzXIKoy5rZMGKRVPnr0fSXnnP/+tDkFqO2rpuxiIb5CQCpJ/zroeKbROMkRj3UtdJzQ=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: =?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>, Roger Pau
 Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>, Juergen Gross
	<jgross@suse.com>
Subject: Re: [RFC PATCH 8/8] Use Linux's PAT
Thread-Topic: [RFC PATCH 8/8] Use Linux's PAT
Thread-Index: AQHZCSwR5y5i/dykvEaDhCh4UTMiXq5gvA6A
Date: Tue, 6 Dec 2022 11:38:03 +0000
Message-ID: <4b2a87e1-89d1-b5fb-bd92-b891c8cea98a@citrix.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <9f0bd911ba6c7fe1b7285f232154d42807145ced.1670300446.git.demi@invisiblethingslab.com>
In-Reply-To:
 <9f0bd911ba6c7fe1b7285f232154d42807145ced.1670300446.git.demi@invisiblethingslab.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|MN2PR03MB5070:EE_
x-ms-office365-filtering-correlation-id: 5c72a1d4-016a-4ede-2406-08dad77e5608
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 5uskS4LfoNVpQd4jjb83a96iWOdy6PQko1SOgi63YoQWT+kB9gnOAocUOlz0dyim6qxZZH5YkR+e1NQjUjTzuEAlaaFaA4KRjCWlWj8AWUFjJ0o+IPDdmeToA0o88UHMxCn0C3ou1XWD+7qE12hB65lOr32ewzscLAfVYZ22MWtnRIp8spV8EnYfKavAJiAFmDPXqtPIZkQnPebmaCry6H4yXMfPi9WaTKVUQ9ywLSMCA7/tIJnTGcf3ukdvXPW2p0yX5sHJdtuIU+F2Yv9N8Y06Rarma9K5k6GyPIDncu8FiKPf/LZqYGK8fC3YM3qq5drIxISHgjdNp4QfYYCfk3uwaL1kdQGOAOIdBxHKxg2LEIakrUvSassL8wBVxvm9DdhGvKneFaNBCc3SSvEIzqqMl0+/e8u2a4yt43KUo5glt9fKK44IIohF6q3AZrGtBnVjSH4ND9hnATBnXRujXuod6Px8JJUsfXjSHMK01J3X0OlYme5swL0ilUpJufhqd1emXzzYDyXwzF6I9NKA2ma4JMlfzrQ83sBlfjlDMUyd1iVIZTz/P2d10u1MArq/3RdW7t4K6d7C1rWhsd908ZFh1VFafdRvTC0gDWljK7ZAf3lGWTh3UcMujKrhGrmDhu9HUylW5aMtkXjRELiirJeL/1Oe/3JwPJPLDPIgvgDDINmzWzp8KIJWgQgsnAvacsGe96gzjUUPXlqNCm4oK5vu8vOv33qztvenu2DDZd/nVA3ujIBjx0UoP7ptK5BzMNxrsRb72iihoiqMLmTxWg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(396003)(346002)(366004)(39860400002)(376002)(451199015)(31686004)(186003)(316002)(6486002)(54906003)(478600001)(71200400001)(38070700005)(82960400001)(86362001)(31696002)(36756003)(38100700002)(6512007)(122000001)(26005)(6506007)(2616005)(110136005)(53546011)(5660300002)(2906002)(8676002)(41300700001)(4744005)(4326008)(66446008)(66476007)(66946007)(91956017)(8936002)(66556008)(76116006)(64756008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aUlncWMyK3hhclpkOEtkMzZzcEdzdEF2UGEwM3FLeWN3YmdoVzZjLzhpMWNC?=
 =?utf-8?B?ejNoMHBwL3F5eS9pY3l6RTdmNmFjbG9Jd0ZiT1lMVnMxWmE4aHNXcmF4ZmN3?=
 =?utf-8?B?czFiRmZhMS94NjVDRmRQTmM0U3cyWUFOdWlmclVLUW00bVZrbTZGVlFqdmdv?=
 =?utf-8?B?NHlyNmdHYUdqTjVlRklUTldiSEVZb2ZWaU1hZGFKb3RmR1dUUkoyeVpsbEU5?=
 =?utf-8?B?NldnNVRkeGRqQkQwOWlDYm5jM2ZUZjZpNHdGSVRRRWpRMUo3YUpWQTVMUjND?=
 =?utf-8?B?R25GbDRmRWc3aHp5YlcrUkhzMzIzYnAyY0tzaDlYVUJhSlpkcGxGVHExT0Jn?=
 =?utf-8?B?cXpIdHhnRUNmRHluTjh0WkxoN0Rza0JGaEtPNE0rSHhUa2c2Vmc1OVJ0ZEk1?=
 =?utf-8?B?Z2Z0cTBUUzUwYm5SdUV6TFlNbG1Zb3d1bXZMbHBzRWdNbWVvYUI1WUxHRkZY?=
 =?utf-8?B?L3U4M01lNHVXeGVoUm03RkwxYkRLN3NTY01QV0V5WW9SVEd6dU44WDJtSFNu?=
 =?utf-8?B?ajEyblV0a2QyYlF1SjdHeloyQmltTnoybU96ZEdVNy9ubTZNbUpjVE5kNFJ1?=
 =?utf-8?B?eWNHQ2tPRUR5QkkwTE9TSXZSVjEvMEluRllicXdBZ0RwL3BxcndrQW1VZHo1?=
 =?utf-8?B?VTM3bW11ejYxdmtLdlBOTjNJYnc2VEo1TXovL0JFeHpTaFoyWTdLb0NKenVK?=
 =?utf-8?B?UU50N2hzUG5vaGVteHA1WSt0bEVaK2hsT3hDSnl2M3RuTWliczFtSklvQnND?=
 =?utf-8?B?ZXFWOUpVZ0poMFVLSVVZNDEySEtPbmNBU3d5VWE3YTZCa242UlNQNC9wOXIx?=
 =?utf-8?B?bkRQWHZVZWM3b2RUbllsUTdSNEpaS2s2Nlh6ZkZ3WFNGYnUvcmhmb1Q3Rjlv?=
 =?utf-8?B?NHZyVEQyMXFqWkxCdUZhaXNYZDJYbDg2M2RyYzBwMTd0SFhPVG1TV3Y3NEpH?=
 =?utf-8?B?S2JNV2NPeS9BeUVhU2hNWXplYTFtOFpmUHZQdUNBL20yc1pzZmVrWWJkUXVs?=
 =?utf-8?B?SFBkbHUxc3Y1WGh5dThSckswcmNhR1Y4WG9ZVUJIUG8xajNLYXIyS3J3aVdO?=
 =?utf-8?B?eFZOdlpKOUZqdG5wTDdVN0hiKy9lZ1BzRGhpRmxNVTR5RHkyc0M4NW9zZEpl?=
 =?utf-8?B?WE1SUHc2RU9mR2w1V0Y3NXRiSDg2QlVSbnlEeUdzc1E4WUZ0ZXZiWTI5eUtx?=
 =?utf-8?B?cnY3c1NnczJyMmRPZTE0RjIvc2JVdERkb1FFWktJZmhQcVRYYXpPckhtU0ZJ?=
 =?utf-8?B?OE9jd2kxZ0czcGl5bFBOdnpRcmxGbUxBek02SSthZE9ob1NNVndJTHBjU2VP?=
 =?utf-8?B?ZENneE1Sb1FmYXJ3d2NLaXFjRk4ybm8yWG9LQjQ0djRrbWpKdDlCeDZiQitl?=
 =?utf-8?B?OHI4REhzRWdUSnZ3T3FWWjJzV25jcDE2Sy9xemE1Ylc1RkRBT0VidkluY0dH?=
 =?utf-8?B?T0NxeDdqNnBYNUJjR3hxTHpPazg4WFhiK056TUF5UEkyeXBrQmN2bDlzY1R5?=
 =?utf-8?B?SjNGQy9QYnU0SW5PYVlPeUFHWjJZQjRHVmk3WTFkUzBaNXhsQUhFYnkzRGN4?=
 =?utf-8?B?ZVRXVnlRQkFhTWsyRVJ3MjYzMzhSUXZUbHlUc1IvaTlqUXNPWW5NTlc0bTdS?=
 =?utf-8?B?eUZXU0U0QU53Y2toVXc0ZXY2TzZ1MDBWY3dkb2hkTjI0VkJyUzVCZGxRQUFM?=
 =?utf-8?B?QXR3bEhjUzFseitzSmxDOW1CT1VjNk1LVWNuMDlQeSs2TDVPb1dxeHRmY1Zm?=
 =?utf-8?B?NWg5elBuV0YrYmpQdjhxN0tLYzVLYmJXSzByVW1xeEI4bVZHazUyNWM4bkRk?=
 =?utf-8?B?SjEzTDNuSm91YVdHK08wVDlTaE9GMFc5Ri9SZHJqdmtrWjZRemJGTG9WRXJT?=
 =?utf-8?B?N1E3cWRiQUlWb1JIMjl3Mkp2UEEvVUVqZkljRTlQRzg2QkF4dGh6V20zamNV?=
 =?utf-8?B?QkxwbzZ2c2hYUnE2dHUwbnVxYStPWHBlZVRtYXR4RWo3ZDVka0NtTE1DMDJp?=
 =?utf-8?B?ZnI0NTZ5TThoVXdMYklnOUR1enZhZjdEdStmbTRUamVvMllndGt2VVUwTnFh?=
 =?utf-8?B?WnJMOHZLc3FkYkdiWnhYUDkycm9SVXhSdXBENHhYSDBHYnZWTUp2dWxCMEls?=
 =?utf-8?Q?BWlSbstqicb1WedMDy7hafVPa?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <CF1B8A5159F52D4EA17F27FE26048BF0@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?N1UzaTlXRGpkSG1kdkk2NXRDaDN4aFlkYm41dmlQd0VUQWxDSXBNcERGNjNE?=
 =?utf-8?B?djRrMzBkM0JtREpodUdhNDM4WE9OL2xjQXVSNkFvV2dLYmJjRFB2U2x6NUtX?=
 =?utf-8?B?K3Npd1dPSC9pbHBkVmg4aEtoUGNBOWppYkdFTnNiN1pobldNbVoxcU1ReVpj?=
 =?utf-8?B?bHFudVlob2lMZ2cyNHFkb1BwL05idmtVK0loM2RWYVg0bkh3aEZYSVpFYUdi?=
 =?utf-8?B?K2FiTGJ3S2x3Vk0zcVd4RnZWdVd1MUJaaUp3aC9QdXhhdTFCaDlXY1p0ZkRD?=
 =?utf-8?B?V3RQNVFzREQ5Qk15SDRIUE51ZkNOdmYwaHhVcVlxSzE3UVF1K0RDc0ZmY3pz?=
 =?utf-8?B?bjBVQ1QxOXorNklPQlVGdW9BaW1VRG1XYklDVHBOWmtzblZ6TXZwSTNxOVM1?=
 =?utf-8?B?b3FuSjY4dGU3Zy9wL0ZQVFAvZllzeVFFdWUwZmJFbEIybzlIdUNKQ1dMazVV?=
 =?utf-8?B?WnFLQTlrQ3JRakZTYmxFN2ZzbVVTWlZrR3pabXlMamI4TGc0WDVnZC83am9C?=
 =?utf-8?B?OXNSVEhvQnZWTElDTGwxNlVlMWxUYW8zRnFJRG54aVFMdkZxNUlyR1JGSkh0?=
 =?utf-8?B?ZkhLL3c2QUhhOFhNTy9wZ2pnTVpIMjUwN0pQL2taN3NXOFFNTjZxaTZVc0JS?=
 =?utf-8?B?YmdZN1ZaSlFUOUJHbEZGVVhBM0hoL3hkdC9BeWNua0hXdDg3bjVxQ2xJbkZZ?=
 =?utf-8?B?a2cvdzEvQ3FnZlJHdGgxd3RxeEVqcVhwakUybTBUWk01dHpSamRmSXFuZ2ZM?=
 =?utf-8?B?cmhBQTJmaVlVSldlelBOR3pYZ1JpZFMyL3dMVDV2NjdiUitkaEdUdEt0Y3FT?=
 =?utf-8?B?TXZuUDRMTys1Z1Y3TTMveG9oQVBQOHR6MWYvYmJnUmVVZFUweHNKL08rNFB5?=
 =?utf-8?B?NWVUc0E4bS9FeXI3RWtja0swcVR1YWtYNzVOQXB3b0xxZkY5VUlOVzFXWEVY?=
 =?utf-8?B?Qzgyd3dqUzZRc1lsYWY0ZlZma1FtbzZWeml2dEdKOHRjZ3N2cTBBajJ3WHk1?=
 =?utf-8?B?dGRhcHUvQzlKS2xVOVVNZkVjOFFoOHZqYlBNSTFYN0M1Q2lkV3JiYzlVNE8x?=
 =?utf-8?B?NkxtRDBhOTNzWHJGZ0ZPWnBxUVBwcENXdmpUeWsxZzVZOUNORlFoRjdpUjlI?=
 =?utf-8?B?UFJpMi9Ld1BlK3ZHbHVEMUtsNEI1S29tczEvb3ZaVXFuV0J4VGIvU05OVi9w?=
 =?utf-8?B?TTRIRXJwQWVieWtmbGhVUGZJMktTU2EvNDRBSVlpUE9HV1hiVVBabm9OZHRm?=
 =?utf-8?B?a3ZSU0wzVzdyN2F4ZlF1QjdwejFrZTRQWkp3S1NVMk5FMTJZdEwzZGVXS2Zn?=
 =?utf-8?Q?e4ds4TaaHp6x8=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c72a1d4-016a-4ede-2406-08dad77e5608
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 11:38:03.5103
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: bXvOu1mIEGLNYe5tuHcMpNXuv1+l4tG/M9vw1nCEy7gu4kz4LAwWpWRmdp62kmBZXIlRajdjMCu2f/9PkQrJS7ZJ7e9/ce0wphR9U5on7GI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5070

T24gMDYvMTIvMjAyMiAwNDozMywgRGVtaSBNYXJpZSBPYmVub3VyIHdyb3RlOg0KPiBUaGlzIGlz
IHB1cmVseSBmb3IgdGVzdGluZywgdG8gc2VlIGlmIGl0IHdvcmtzIGFyb3VuZCBhIGJ1ZyBpbiBp
OTE1LiAgSXQNCj4gaXMgbm90IGludGVuZGVkIHRvIGJlIG1lcmdlZC4NCj4NCj4gTk9ULXNpZ25l
ZC1vZmYtYnk6IERPIE5PVCBNRVJHRQ0KDQpGb2xsb3dpbmcgdXAgb24gTWFyZWsncyByZXBvcnQg
b24gSVJDL01hdHJpeCwgeW91J3JlIHNheWluZyB0aGF0IHRoaXMNCmNoYW5nZSBkb2VzIGFjdHVh
bGx5IGZpeCBzY3JlZW4gY29ycnVwdGlvbiBpc3N1ZXMgb24gQWxkZXJMYWtlLCBhbmQNCnNvbWV0
aGluZyBvbiBUaWdlckxha2UgdG9vPw0KDQpJZiB0aGF0IGlzIGFjdHVhbGx5IHRoZSBjYXNlLCB0
aGVuIG9uZSBvZiB0d28gdGhpbmdzIGlzIGhhcHBlbmluZy7CoCBFaXRoZXIsDQoNCjEpIERyaXZl
cnMgaW4gTGludXggYXJlIGJ5cGFzc2luZyB0aGUgcmVndWxhciBjYWNoaW5nIEFQSXMsIG9yDQoy
KSBUaGUgdHJhbnNsYXRpb24gbG9naWMgYmV0d2VlbiBMaW51eCdzIGlkZWEgb2YgY2FjaGVhYmls
aXR5IGFuZCBYZW4ncw0KUEFUIHZhbHVlcyBpcyBidWdneS4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:40:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:40:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454742.712282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WJ9-000573-KF; Tue, 06 Dec 2022 11:40:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454742.712282; Tue, 06 Dec 2022 11:40:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WJ9-00056w-HR; Tue, 06 Dec 2022 11:40:19 +0000
Received: by outflank-mailman (input) for mailman id 454742;
 Tue, 06 Dec 2022 11:40:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2WJ8-00056l-Oq
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:40:18 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2060d.outbound.protection.outlook.com
 [2a01:111:f400:fe13::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1afcb8f-755a-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 12:40:17 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8600.eurprd04.prod.outlook.com (2603:10a6:10:2db::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec
 2022 11:40:14 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 11:40:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1afcb8f-755a-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iOXr6zIlmvhHp4G7qbgd0a2zhv0ACW3eJtuikeeMRYuCknCtyMipFtBMiZPfF1RT/P87O9WMpw/e1/cKUmE4IkrpIhcy26hGWoEbdVAOepida+QGitm957RIG54Ezt8LZxnRn+SZD6EPEknZ01Iy3GQ8MQTzJDwSR7veVmDYjIPe7yvPfutnrx922rNjoc031GWAYXxMSSDdfNn1CZx1f4Fj3Zh8wSkwI+tIy52gsTbnnt4NX8sGeXqob13UND1MHk8VztVm+tC7w0LIf2OQ70z1xjol30wVly0hpx94SGUkSKV/oDvoY4GpRb+SkxY+2JV4mJFwfKHfSfR9Nql1gA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sCeKnA6H7N/iGSGcWedIhNbrmd2hJNWv5GVJcrelivU=;
 b=AfM/aobO+j4/rDci1n1KG4HahcWBxcTd/0WFUTX9EdMS77d9A8qW713hGlOA6N+Xv8soOV8U6RjNcQGdCAv4/SknFecOLykUqZ6JbyaEkcR2xKMXNNhCGFABjpvyMqYOlwdGS4erNYgKo0zHBSQCkBXGBAU0KkQ3wX1jx6WYdXF2C3S9xnyjihVM+gliB3Isch+wftGziWFf+cRnrEFG613IpyNhA8cfjoqORjt3PsktNIc4pwXMhiAy7lsQTwnnT4aGNC6ezuUrjYSCiGtdpgN7aVYJppljRNl99HY1hB2YlC+vSvCnlC1XybbAfQS2Awm/P8Tv1Kkz7EwqgogLcg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sCeKnA6H7N/iGSGcWedIhNbrmd2hJNWv5GVJcrelivU=;
 b=D+tjcAtlkH1k0DEVKTb2mg1rTwwoERpszhJco0vYKR5Yz3I+FnauDmbJ5czDRt9QKVKixY8c3XPiXnbg17qxp92jdpxv+trBWgUSljehBNAD5nt5AoVAXQbkDNB3Nw/Zqay93mWqYkLlNALeTU7Lup8oDvG8CAJ+Yiro+OJnBMNdCBJUDLKGrIVg9CMeSNQhm6LRwJmgrYah0Bet2WS1Y6ErY9ieWv4h5ZAZWRJpIoT9SjducxQS3ZZV7M6NyqACk3xzodpUKOjOgSfu7mmBtjTgyFX6AAt9mZ+C47sGDX40oWmmE/h13C3BbwQ3AhaWgOrKCj/OX9hRjst9O6bBew==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <265bd946-b0a0-f9bc-becf-afff7f67511d@suse.com>
Date: Tue, 6 Dec 2022 12:40:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 4/8] efi: Avoid hard-coding the various PAT constants
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, George Dunlap <George.Dunlap@citrix.com>,
 "Tim (Xen.org)" <tim@xen.org>,
 Demi Marie Obenour <demi@invisiblethingslab.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <ea32e526153a40837484ba9c64a7d157804b6c27.1670300446.git.demi@invisiblethingslab.com>
 <4f34f039-b0b9-1761-b5d0-936f25e8a50a@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4f34f039-b0b9-1761-b5d0-936f25e8a50a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0052.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8600:EE_
X-MS-Office365-Filtering-Correlation-Id: 97635269-2ef9-4689-9604-08dad77ea3e1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WSV86HJ3LjC1w6S3sttO1qJv4uBKJTQXhj0MxCPn2WIKIsENJ4zrvNmXZSDB6I+K5rcZ85tS6QmdtrTIjWEQfLXXQ6ofMWzMc3XZmYMwY/P9y1nLL3m0Det5xMhQL+317J+rNMRq9bCm2MCEp6pVNomD+/aUecgV2B5bXdZrxcnMOGimxh9iQq8lzivpy9k1LyqKJYNR4JjxnMRwtSE0OmKO43dhD/3fq/L70D10E6Rc7LkC4cFNDIigYk6aIrCR918V73bQhFO8F1qn9cxrhLvc3gNjuyXXDEpBQs3fCWbCkYk7hoR+rQtbUToSlbgLpP7632D+A9XzPFFVJxtA8Wr5AW1vY1gpWZAHX9HGJWDlfMetFtea0kbZvyQL050mM9dPhzk/nNUqUTeEJ3rE61jTxFC7xEw/zRTqHIjcnfpeOEZY5cXW0Atv/gFPTjMp9Pcksl9fPnGf8QM8MUv63mmlnoV/gddLuMc56Pzhzdc6tXOjseXnPqJSMqhGyPPmGKo86ohgH9zGTNiX0qM/NAEp0JQjxllKXI5MuKe8mVQz0UHhvlHP/eMsmGmRQGraM353yDBrzp+9MktILEynM3fvqd05X1+oxpk51tT195Tk1g7lMxAKMNEuW9Z7V/YvfrtMxAEvQwEkBtVzFBgyhdL/LS/9Dg3euU+7uq739lcvVO4hGNlhLSq2dvRwvdnOhXWwEGj6lBJjFS/foZnzZQPwAMdZkiRa9iBKE1piUHs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(366004)(376002)(39860400002)(396003)(136003)(451199015)(31686004)(478600001)(31696002)(86362001)(53546011)(6506007)(6486002)(36756003)(186003)(38100700002)(2616005)(26005)(41300700001)(5660300002)(8676002)(4326008)(6512007)(66476007)(66556008)(8936002)(66946007)(6916009)(54906003)(316002)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MEoyK2FyQyt3V0FVVmtXa3dScHB3ZHdtUVBveFlYR1IyM3l1dzYybkFNYlln?=
 =?utf-8?B?VnA2V3ZnMEJ0VlFHaHZZckN1U2hzZ3RhOUJjeWZHbVN1Qkh5SWwwY3NqYmxH?=
 =?utf-8?B?aGJGZWlUc3VMM2I2cFpWNVA5SjB3djZKVzFndkYyZWdpSGc3dXhCK2lGeGxW?=
 =?utf-8?B?UWI0SnAwSVYxZ2JFY2ZDVzluS0V2aGZMY1BkVmNES0NjaDJLUGt0M1h4bkYx?=
 =?utf-8?B?Qjdzd1FmWk1PbDBnb1o0MVk5cXFObkhSWGRaWGQ1QTNSNEx1aWhTQ3d5M1Fl?=
 =?utf-8?B?QVRIWGJCRXExV213bDBYN21TQVFyU0owSU0rS0o1b25rWFJZWndzS2k0WlZS?=
 =?utf-8?B?dFZncWF5b0xQaDlkT1dyaTAwTXBrZEFQV0hpTyt2OUM4bXJZbmdKamhVSDBq?=
 =?utf-8?B?Wm9qSG1DMHg3SmNtbXJDT1VkYjBhUlk3aUIrQWZGRHIvTlhtZjY4NFJ1SWs0?=
 =?utf-8?B?TklwRFhSSTFWaDYxUVlZMjdPTVhSdUl3MW9oOWNRUjVFRllaZ0w1WkdTUXYr?=
 =?utf-8?B?blRmQi9YUHk1SysxbkF4VTdFTVo3SWpaSm5VbTViN3dxNnErWjIrTExkZlRE?=
 =?utf-8?B?Tm5ZTVprc1RBRnAweWlnN0lOZGR4OE5sRklaRHlYUDZyVXJ3dEI4ZmdmbWZG?=
 =?utf-8?B?WmQ0aEtXcCtaclA3S250ekxrNXhiRVVPUjBrcWtiV2JWamxKd1NUUTFkZDhh?=
 =?utf-8?B?V0pLZ1VhSTBiZERuSW1NTHpDTTB5Smd5bGQ0SXlWN0dYcUdVdEx3UU51Q01M?=
 =?utf-8?B?VnlxbmtlWDhWSG9mNVZjUFE4cmMzTk1Lc21LYVdHT3k4ZEpmbEFnenlNWlMw?=
 =?utf-8?B?RSs4aEJhUDJINWp0TjlZNk5QaE50WGFoRkJmdFRmVGJVZWZmZWtNNXpZN09M?=
 =?utf-8?B?eldWQnpFWHhYVHFiMEt3WGhjbmNVWEpoWkk1bm9oL04yT2NGaHdzNlJOSXR6?=
 =?utf-8?B?WVJkZDViQW5hSm1LYi9mY3laeVFORTMrTVM4bEkyMUVKVW91MDZBTzE1Lzdn?=
 =?utf-8?B?LzJUNzVPaDYyd1VoZjlNM1NZRXY2NWRNNXYvaHRqU0dFU0VpLytZM010SjQw?=
 =?utf-8?B?eDhsUW5MVU1uV1l6WGU5Z01xVG8rempvTlVra1hBWk1tUzNScXNJTld1N3Fr?=
 =?utf-8?B?NlVCL2lhNTNad3pFTWExNzQwOGdTcFFmQzJDcHVCRGM0am9zelhqK2I3T3lt?=
 =?utf-8?B?dnpIdmxJSlpZUVg3cjNuNFdFR0pFL2x5WnJWRTFrK2NUUVQvUkNLWGRScm9t?=
 =?utf-8?B?VDgyeHBxL3VpTkFSemRzbHZzTEFmZWxrTnRXdmNnSmZXcFdFZnY0QUU5UGZy?=
 =?utf-8?B?QXp3VkZIdmJNYk9LK3o0L0hxRngzUnF1ckpMSW5ld2xneHNQSEQxVmExRHky?=
 =?utf-8?B?Z2N0RW1hUnBOK3FMdDFYWTN3QnlibmJCUEV4ZzVMTU9kM0x6aWZ0YUE1dkNO?=
 =?utf-8?B?UTV0cm50bTVYUkc3ZTRwbVNkWHRGcURRUHIwK28xQ09GRFRaUnVCZVhMZjMw?=
 =?utf-8?B?enhuV0F2VENtYUk0bnhNV2VJTVpIMDcyV0JzakJaUHFaQWc0MFpFTktUVG5R?=
 =?utf-8?B?MzF1aHJxVTRRbXp4M3FBT3VWSUh2dTNXcXlOY0o0S3p5RVpuWEhNTXVXMDFm?=
 =?utf-8?B?dEdRUG1zL3RWYWNiTFhpY1hEZHBrR1BVQ1M2bTdQRHBncWd4RUtZK1c0T0pS?=
 =?utf-8?B?ZURPdmVWYjgwTFNUNE1KSEJkb2ZmUUhqZnl4a3lobUJXRVFvQ2gwTWRGQkNj?=
 =?utf-8?B?WTJyMEVtSHNBZjUvdnhiTXZPQm5vR2NuWjBXc2t5aG9PNkpYNUgxN2JNajdi?=
 =?utf-8?B?a090NU5ySzU2cDdxb204OXUyTnc3VFE3NTJBNVJZWUxPeHFqNUdKWWZtUEZP?=
 =?utf-8?B?clhMUFE5NTQxWkQyTjhGaWtYeUpoVmZyeGt3cE5HZWdkaUljNkpTc0w5RU9E?=
 =?utf-8?B?dTNQbFN1eGF4K25QS1ppM3docFo2aVdVZVBrZzBTeGtJMHhkeHErY1BoRHZU?=
 =?utf-8?B?aWpTdzRFYlIwSlNway9JWnJ2anlHMnFGWGp2NlRHR3duV3ZJTU9jZi96RHVp?=
 =?utf-8?B?NFZmMjgxWEFoVDlqUHVPejA2bEhsRXBwdHZ4Z3J0ckhRTnBPMHJwK3NDSmpG?=
 =?utf-8?Q?pEmIycYKuoBBL0tlKMqNNlAt0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 97635269-2ef9-4689-9604-08dad77ea3e1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 11:40:14.2761
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HBCJ1V0/2gYwckixjCys7rgPPl0WOJ3aFehAHORD/LoMVUHkYZpAcK/mo7blOvGxmLP67zfsimSysgy+OGJicQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8600

On 06.12.2022 12:17, Andrew Cooper wrote:
> On 06/12/2022 04:33, Demi Marie Obenour wrote:
>> --- a/xen/common/efi/boot.c
>> +++ b/xen/common/efi/boot.c
>> @@ -1746,21 +1746,21 @@ void __init efi_init_memory(void)
>>          if ( desc->Attribute & EFI_MEMORY_WB )
>>              /* nothing */;
> 
> This is an implicit 0 case which wants changing to _PAGE_WB.

Oh, yes. Demi, feel free to retain my R-b with the adjustment.

>>          else if ( desc->Attribute & EFI_MEMORY_WT )
>> -            prot |= _PAGE_PWT | MAP_SMALL_PAGES;
>> +            prot |= _PAGE_WT | MAP_SMALL_PAGES;
>>          else if ( desc->Attribute & EFI_MEMORY_WC )
>> -            prot |= _PAGE_PAT | MAP_SMALL_PAGES;
>> +            prot |= _PAGE_WC | MAP_SMALL_PAGES;
>>          else if ( desc->Attribute & (EFI_MEMORY_UC | EFI_MEMORY_UCE) )
>> -            prot |= _PAGE_PWT | _PAGE_PCD | MAP_SMALL_PAGES;
>> +            prot |= _PAGE_UC | MAP_SMALL_PAGES;
>>          else if ( efi_bs_revision >= EFI_REVISION(2, 5) &&
>>                    (desc->Attribute & EFI_MEMORY_WP) )
>> -            prot |= _PAGE_PAT | _PAGE_PWT | MAP_SMALL_PAGES;
>> +            prot |= _PAGE_WP | MAP_SMALL_PAGES;
> 
> Unrelated to the transformation. I'm unconvinced about the correctness
> of using MAP_SMALL_PAGES here.  There's nothing wrong with large pages
> of reduced cache-ability,

Hmm, back in the 32-bit days we needed to be afraid of hardware issues
in that area. Hence we had a global policy of never allowing non-WB
large pages. Maybe we don't need to be concerned anymore ...

> and the framebuffer is going to live in one of these regions, probably
> a WC one...

I very much hope it won't live anywhere there, unless you think of non-
PCI devices supplying framebuffers. As long as it's described by a BAR,
it better wouldn't be covered by a memory map entry.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:43:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:43:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454754.712294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WMB-00068a-7A; Tue, 06 Dec 2022 11:43:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454754.712294; Tue, 06 Dec 2022 11:43:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WMB-00068T-3f; Tue, 06 Dec 2022 11:43:27 +0000
Received: by outflank-mailman (input) for mailman id 454754;
 Tue, 06 Dec 2022 11:43:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2WMA-00068N-GI
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:43:26 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20626.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3181bacf-755b-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 12:43:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB7109.eurprd04.prod.outlook.com (2603:10a6:20b:117::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 6 Dec
 2022 11:43:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 11:43:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3181bacf-755b-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YPLBREYmmENATGioee0gmXtLZGlu9OS1pAnu+EJ4uhKUBneiIQiDO3JAkDh8DJrQbAdpawkkPwG6v13HPy7b7W/bi3cCEq8T4SDzKCSUuHKSlszqlsLm9Tk9+Xoj7m0P0jpgw+Dqb7t7ISKwfs84xzoPaA2HxRh0lBZMJH/I7WneVUtu5Y0ImC23mupcWevLcdAtdFP6HeJm0FdGM6L6enNI4o+47z6YkKdYyoNsXuEcRUrF7CRpE6Bp3lkCCWegItM/Qf+gYs4ZAJz+jO8M9tjFQto9V92CWdkrXMIKvBxe7+V11li6ejjoL503puUw69M7H6cmVMMdrkFjrQxZmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pe7AtQLNKWCZhEndLa+dlDjAQaD97SDOwq53gWxLKlE=;
 b=Z3Kae0vtpkoMkJe46ZKl/Ctq7n181Aj5sQ2V3uRl+ElQks7pVyVeQRc1XYUOIPCCkm/9h32Vq1lpZT9vmq4dcvXuQ5nL1v0aKQOaZxUFI0pmJ7aY4lIOJ5kwb5zCEDWZIWnOo7ueN10ZMyS2n/7ZpYj2zvW1Ly7LdkxWqhmJm95pKxKtytoyWvzn/okA9fXhUs03Tck6rv6I12uACNxgniNn+TX+YuKF4Ahb0c6AlomCDRgr2bea2GFpnLsm60zvARIO6tVycZNUadgTGSFb/tGSjy4ll5Y8JWvcYK6wDFYdA30kATeR1jgonBvzeJSRzZByu1+39SKqaH4rLpKX8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pe7AtQLNKWCZhEndLa+dlDjAQaD97SDOwq53gWxLKlE=;
 b=w718GAaxPmMmXi3xQjtkpc0c/NiezurSdF6lcbBFh48jx9ShmGkjyp8+hhdHQgPFHOkj6IwxhV9tO2BIDwhbXGDO2tplYjgAbT4/UmDzDvr1irN2d/O6hNT4Y/AuV4EvPmFTKP2GHrYHbtKCoFVrZP6RGkYJsgTJGS0SfHVa2v5gJf7b6TaZlbq4EP0f1sDzM/QjiWkJ4O7TYQD8xscGd2nI0VLej1R2Ryn3XXhRRTEQbBilkS3LrkKQq+gBINvo+vXa1jPfbo8/1MWouneqWw7gV3MryMxBwFe1a2+iRD4NgbyI+5nZyFcHAzT5qT1Y14tXsz76e+jAhgbQPXNXGA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7213b37b-63a0-2d45-7f7b-bfb6fcce0f46@suse.com>
Date: Tue, 6 Dec 2022 12:43:22 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 6/8] x86: Derive XEN_MSR_PAT from its individual entries
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, George Dunlap <George.Dunlap@citrix.com>,
 "Tim (Xen.org)" <tim@xen.org>,
 Demi Marie Obenour <demi@invisiblethingslab.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <5ddd32a453b098f277f2d4aa9e044a40183d4bff.1670300446.git.demi@invisiblethingslab.com>
 <ac0605b2-5c1c-09f2-9526-1aa7e777e7dc@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ac0605b2-5c1c-09f2-9526-1aa7e777e7dc@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0058.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7109:EE_
X-MS-Office365-Filtering-Correlation-Id: ace430fc-a001-4a9c-157c-08dad77f14f2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Rn/Ip41W6x7MF1F8G7Ny0PBsWjNNGDctIyefpi7LE+GHvANWStQFKdzjPWqeh8JDXZ2BHgCinkHlyE1nYB1E6KrYc5Df6rWWT7D2/kiHXukp1pgsiRowXt5amrwlDeLvd5sAnKhFjz68NXFFCO8JxoviSfJwf5cTSna26phwzV1Hr/s/2rDU7iuJK8IM/KppNACuMOPKbOEdIU0YivpYGIXJUsNsEuHm8sksBmGvepAaE8wpVMyyVSRN0Zr2FPAimmeyZOp+MgQuGHTYOel7hZDCVaP5FwMpEI02HS2lq+gQ7YZuUlD9hLEovVFAuqMFXnq1Ed2LqomHzf+OpwLuG0EV+u7oAYJ182iaLDsP2psG/MFSi+TBTkuIN6UKNhVzdFpuiODGDu2kUVsXgUKDGwO8Fn7qFzNx7QJJG9v2V2/bgh6meIeinFPF2vc1ntTvEFQUPm7CxV8XZvY/Y+4ULED4dZqCGrt+acDImIcbSuLi8s54HwvZcziBGheaGMNOVzNRh+QpeVTNNoaFDUzVu8MY0FZFKeN+4CjqUFO8d4TIGSBMCs8iEDItznDHsgcVPt9pEXlzgfAG3U+jHnlcNN6qHDby8n9Igu7yn2mu61szP6uNqb1N7BT5cNRA1/Twz8Uf5Mt+6WtZ1LvjUhmPt8Cz0useQ6NSbZKHbkJ6u4/wz/OPQoHuuiMZj0SJVsxugG0u3q0WMNMklczU3QlEagLfCGbxmJ4jP9h6z3DO1vE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(136003)(396003)(366004)(346002)(376002)(451199015)(86362001)(31696002)(6486002)(53546011)(478600001)(6506007)(36756003)(6512007)(26005)(5660300002)(41300700001)(8936002)(54906003)(2906002)(6916009)(66556008)(66476007)(66946007)(8676002)(316002)(4326008)(186003)(38100700002)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YVBvc0pFMkxkcTNsbmluNkkyZEk4OHVyYVlzU0JsbDBOVGtBcm1zaUxsSjdM?=
 =?utf-8?B?RFgxVXplUXF0bXNyMllqYWMyUTh0b2w2V0lFSzY4OEpaQ1FpYkFkN2lUMXRS?=
 =?utf-8?B?N1A0UEtBNmpNaFFxanJLQytPT21naVBVamxrS21FamJKMWRYRzcyRnZuMlE4?=
 =?utf-8?B?MFhUUzJZM3U3RUZybVY2S1VtUXdKUTQxYzVxZ2EyQkpDVDZML3NqU0xQNFp4?=
 =?utf-8?B?TGxvTy92d2lwcE5ZKzgxbkdOWlp2TUl3b0orMXdOdHkrdkU5d1hrNmJ5SWV6?=
 =?utf-8?B?NEp5VFNIZmFtcGV6YXRPV3djeU54QmE0ZUxPNzdnR0o0WTBWM2pJRGk0Q2wv?=
 =?utf-8?B?OVFJS2Z2ZjR6RWhxYUNBZ2pCRTNoenMyS05kMEZLOHd6NXFGUGkrZk1JVHgz?=
 =?utf-8?B?Q2NzbW0xYnNBYlNKd1NuaGJUZGdqRWNMcWRLUnpjWTlERkY1dWhRb0NtbHJn?=
 =?utf-8?B?V0ZGcUgycGprRkRjbjc3bm1VckdBU2JXMW5DK3F2a2Z3WVZHRUdnMUtzVERK?=
 =?utf-8?B?SnRMa3NaREdmRGZXTnplWDhLWHNlNDFwQnJmU3doOG1HUlBDZk01SnVwYURk?=
 =?utf-8?B?ZXNwNk1pZzl3Zks1UnVIUCthM0FKZmF0S1h6THBXbkFHajJrR25JaU1STFFX?=
 =?utf-8?B?YStlUWlWY1VsS2NVcVMraE5oeEtWMTV5WWcrMUdVempGb3g4QjB5NnY5Z21i?=
 =?utf-8?B?RlVyN1BNcG52WnZ3Z1N5VEJ3R1NXS3lJY0pFdDVoWjhsTDRGeWZLZTd6QWxV?=
 =?utf-8?B?ME5odnE3THdCRWh6dkhZYThVWERtN21Bd2xtbm1NWmdpUlVQbGhDV2FPbG03?=
 =?utf-8?B?NVd4SktNaXVHK1ZDSE40N2tHUW5qZ3ZlOWpaaFFOSGdOU0VmeGxDMkE3QS8w?=
 =?utf-8?B?Z1NJTEFwcWdaWksvb3lQYW1LNmU2c01TZE5Pa3hrM3ZMOHVFcHl4K1h5Z3Ja?=
 =?utf-8?B?cGZ3SjlHK1B0azlWck5GOENCRW0zYVd4R2tKMVhleTE5QUZjWFJiTTlNQ0V0?=
 =?utf-8?B?Y1JpUUN1RFFCdUNKUU1XTjgzNndUWFpUOVd0M0ovbWlKSkNWWjlKQS9DeGM3?=
 =?utf-8?B?UEJucDJ6RmkwbEpZNUd2TFpxbFhJMWcxTVljTEFFQVc5WlZocFFRWVRVTnAr?=
 =?utf-8?B?TmtRTFNVWlJpTDBYMzVQVWFZYlVqL1M2UnpZUlFieldmYWpzdStSd1dJSEh2?=
 =?utf-8?B?STFsWUhublorNm9iV2VBZUlTQ1hQVXFKd09VYkFhanc0NmJKaEVKZVR2VnBj?=
 =?utf-8?B?dWlXcGhPVFpFaitBS0wzUWc4UHVhL2p4TGxJNXVrNXducldzUFVNRzM1c3Yx?=
 =?utf-8?B?UUloMDhhVlI1dzF4Z1J6NkJPa3VnNFhzN2JCVkhZRlpONmdZNzhZd2VVNmdq?=
 =?utf-8?B?MTBXNDNZcFV6ejZPWXhKTm40ai8wc3dXSTJtVGZRR0svbnl4VjRrbzNlY0tx?=
 =?utf-8?B?RVRTQ2hqU01rcTNvd1VSR2VDL05zVkRqenQ0aFAyREdnTDhjT2RwZUFrWmRM?=
 =?utf-8?B?QzZWQ0J1aFhrVUxUM0FmZDE0b2tJUzJBajlkY0pGZFlYZWVESW90WmU3bGQv?=
 =?utf-8?B?aHJPd1JiRWJGQnZpanV6dzVJbG4xdGhBUExXWHY4T0k1NmdTdndleTJmb3hj?=
 =?utf-8?B?UkZlNWpoaElMN1hXcXVKL2tZR0F6eWJudmhMbEQwSHY4OUdFNmpuWUJldlJv?=
 =?utf-8?B?TTIycjBLNFBqa0I2QnFaNzFXTnF3dnJndFcwYWRKK2x2OXJRdlo4WFZlTHBh?=
 =?utf-8?B?MkYzMXhERUExdTZPMlBrM0lwcHluWGZJR2ZsVFdHSjNBeitzVWZsRnNBWDNn?=
 =?utf-8?B?U21yenB0OTJxYXMxTXBZVi9WdHBYQUN4dzh3MDlwYzFYQkYwdDVralJkdkJx?=
 =?utf-8?B?bVh1Y3R3YkN6Z2pFVjdoeHJvQnNISkZvMko3S3phRmIwRERIdDRaY1BYU05n?=
 =?utf-8?B?N3FSM2FNTXZGV2NjSVFKd2N3UGpML080RllYSmVCb2x4UmJZbm0wTkU4Wmpv?=
 =?utf-8?B?cTE5Q0VoN1ZhMmtnWXlHd3g1UjZucHZzZzBpcDk3cFgySWs5R0RIKzFua0p1?=
 =?utf-8?B?UkRkS3lzQ3lEbzBMdW1vcGZDV3R1dDFjTENrcFh3SDFkRHBURkw2c21RK05X?=
 =?utf-8?Q?EkY9t9I897EkL61+WKnuWG/qY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ace430fc-a001-4a9c-157c-08dad77f14f2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 11:43:23.9511
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mvNFOhjpJ+/3Ss0TQR0vl7Kjz5r3Wo4e39ABAmt+Bzu6dEkTJn1V7Aq3L/SzLP1HaRtGGSJza3OzRBNWYoKyoQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7109

On 06.12.2022 12:32, Andrew Cooper wrote:
> On 06/12/2022 04:33, Demi Marie Obenour wrote:
>> --- a/xen/arch/x86/include/asm/processor.h
>> +++ b/xen/arch/x86/include/asm/processor.h
>> @@ -92,13 +92,33 @@
>>                            X86_EFLAGS_NT|X86_EFLAGS_DF|X86_EFLAGS_IF|    \
>>                            X86_EFLAGS_TF)
>>  
>> +/* Individual entries in IA32_CR_PAT */
>> +#define MSR_PAT_UC  _AC(0x00, ULL)
>> +#define MSR_PAT_WC  _AC(0x01, ULL)
>> +#define MSR_PAT_RESERVED_1  _AC(0x02, ULL)
>> +#define MSR_PAT_RESERVED_2  _AC(0x03, ULL)
>> +#define MSR_PAT_WT  _AC(0x04, ULL)
>> +#define MSR_PAT_WP  _AC(0x05, ULL)
>> +#define MSR_PAT_WB  _AC(0x06, ULL)
>> +#define MSR_PAT_UCM _AC(0x07, ULL)
> 
> This isn't really correct.  Constants for MSRs typically live in
> msr-index.h, but these are architectural x86 memory types.
> 
> These ought be
> 
> #define X86_MT_$X ...  (skipping the two reserved values)
> 
> in x86-defns.h, and the PAT_TYPE_*, MTRR_TYPE_* and EPT_EMT_* constants
> want removing.
> 
> There are two minor restrictions (EPT can't have UCM, MTRR can't have
> WC), but they are all operating in terms of architectural memory type
> values, and the code ought to reflect this.

The unavailability of UCM is common to MTRR and EPT's EMT. WC, at the
same time, is a valid type to use in both. Which makes sense - EMT
after all merely is replacing what otherwise is expressed by MTRRs.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 11:50:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 11:50:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454761.712305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WSR-0006mU-SN; Tue, 06 Dec 2022 11:49:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454761.712305; Tue, 06 Dec 2022 11:49:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WSR-0006mN-Pa; Tue, 06 Dec 2022 11:49:55 +0000
Received: by outflank-mailman (input) for mailman id 454761;
 Tue, 06 Dec 2022 11:49:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZfYr=4E=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p2WSQ-0006mH-6k
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 11:49:54 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2062f.outbound.protection.outlook.com
 [2a01:111:f400:fe13::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1760d173-755c-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 12:49:51 +0100 (CET)
Received: from DB9PR02CA0005.eurprd02.prod.outlook.com (2603:10a6:10:1d9::10)
 by PA4PR08MB6271.eurprd08.prod.outlook.com (2603:10a6:102:eb::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 11:49:40 +0000
Received: from DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1d9:cafe::1) by DB9PR02CA0005.outlook.office365.com
 (2603:10a6:10:1d9::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10 via Frontend
 Transport; Tue, 6 Dec 2022 11:49:39 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT014.mail.protection.outlook.com (100.127.143.22) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.14 via Frontend Transport; Tue, 6 Dec 2022 11:49:39 +0000
Received: ("Tessian outbound 58faf9791229:v130");
 Tue, 06 Dec 2022 11:49:39 +0000
Received: from b98325164b99.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D5ADFF7E-29C6-40F2-BF9B-F52933D67648.1; 
 Tue, 06 Dec 2022 11:49:31 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b98325164b99.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 06 Dec 2022 11:49:31 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by GV1PR08MB8083.eurprd08.prod.outlook.com (2603:10a6:150:95::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Tue, 6 Dec
 2022 11:49:27 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 11:49:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1760d173-755c-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X6+jHMFw/gB8nLK3z+xYtUntAvpnbHMSCLei1hpOzfk=;
 b=CEKzoLgzsVQIaU/9ZE5OgMm3fL4XqJGdf3U8X71QnWtF1RNhKGQVaI5JktQMLKok9f03kX1UxdrOO5SHv0SqxBkcoqj981je3v+49UmUiaUra1Wu1CXfZrYMCfjRjG55m6ENmhVOLJugP2vS1NEfTLczB678NwcLVCaXKqNi+ZU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 30c6bf89309ca8d5
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g0VzPBbIKvcQZGKgCFt/DqfxB0XQ2IqyrFE+n3khf/i8mqSzMReM4BhGGIL5Isw8Sc/0qbGy8kalHqylcQMIb7a2APUj83WeaBO0Bg0vQNhCCCnH3tW9Qk/Pt29+EcpZI8hU1faSifOYcP2IhJCsojTHL3Of57AqdWt01RCduLVjnpTda/drKK9yY4/juOExbW9c89ZvfFQpphTXyAMu1+0vSTaGcSjmGPf8E/aPrVvVt/SpZCiaTSxJAo1E23FrndXhcqhtniIQiZvcDcPKF8Hy3GdF50qz4yEZhB2E9AnwWpKfEtWg4fHhAXl1FVYcVd+CH/PCdPNW+c4LjVn+zw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X6+jHMFw/gB8nLK3z+xYtUntAvpnbHMSCLei1hpOzfk=;
 b=NrhssJMkVbXEDFEVIMSQkDF3Pr64Y6NhYRpQ16lyfkmyTA9sMSj9PphkfwaOGSq2Uu0QnHUK45GLi70uRLwuwUxuxi0BYNQ4Onxy8qClegFWeQv2jP1doQiLTXa7ZB6qzRHJxBSHFzPME+cNrFpqouuxOnPO3U3AJaB1YUkys7N51QLoEtju43GsdLEC9RYSAv1AMFIszLlXI7iewECgBSo8USAmjq6xhEqD5oK8M9rrWUdaB5IHsB7Pc2lkjYXXR/yUGoskj0oB8O6Zy9XOyt9oahQil5B2YT6j5kcnU/2pXvouUI4OlINnh8915lm25VZVYLuonNVQdv7wjfU1tg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X6+jHMFw/gB8nLK3z+xYtUntAvpnbHMSCLei1hpOzfk=;
 b=CEKzoLgzsVQIaU/9ZE5OgMm3fL4XqJGdf3U8X71QnWtF1RNhKGQVaI5JktQMLKok9f03kX1UxdrOO5SHv0SqxBkcoqj981je3v+49UmUiaUra1Wu1CXfZrYMCfjRjG55m6ENmhVOLJugP2vS1NEfTLczB678NwcLVCaXKqNi+ZU=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>, Xen developer discussion
	<xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, Juergen
 Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [RFC PATCH 00/21] Add SMMUv3 Stage 1 Support for XEN guests
Thread-Topic: [RFC PATCH 00/21] Add SMMUv3 Stage 1 Support for XEN guests
Thread-Index: AQHZBZ5+Ng+vzjZ4EEiQHhlU/SEGMa5cu/uAgAMd/ICAAOxSAA==
Date: Tue, 6 Dec 2022 11:49:25 +0000
Message-ID: <5EFEFA00-945E-4797-B5B3-264788B890A0@arm.com>
References: <cover.1669888522.git.rahul.singh@arm.com>
 <849cf3a4-e7b2-f555-d759-978170088a54@xen.org>
 <alpine.DEB.2.22.394.2212051342490.4039@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2212051342490.4039@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7158:EE_|GV1PR08MB8083:EE_|DBAEUR03FT014:EE_|PA4PR08MB6271:EE_
X-MS-Office365-Filtering-Correlation-Id: 48cc5f60-98e6-4b68-5860-08dad77ff4b9
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 pOYDNIbhGbXSFtmrDeSj2/85nfgyLIfeQTVLhVv6YCCtlXiSkXEpC4oxgHlnnAgaQAgQahvwOjMl4zQNnOabMbFV+6zdKU5JEQg/0PgBbtYIBFunL+/EbqB4UDQYt0cBpT2ih8gHHRndZZOWKr9z6ekzl8dJsGbmHiWjBTkwHSRKwRfFduWpgWb5sfNLynkGjVi+XyO7bBM0ZLN7Q0XVsrvSX6hxjfPslMFzT1QNb/sXIFz4z5Y5eksKZAoAT8wJuGeEsOtVjh+7RutlrDhMs6PsZCyuKHLAFHXPRWhbj4khBKSqkqeUUCoONvN1OGzWfnB02ZFsoO3YClBxP0sNn0oMoTfy0syODOeZ9Oo7nCwrgu7p9bPtt4P7VRSP9C7Foba6AQXDIps7itslpr37YcWU4Ohz9q7KKrxiBcZv567MOHgLDNSvmxM2aAnPQDFhEl9P3F9Kev8uRMWJ81zMEIQLVZNWSU6wqs/kKtJreJUlT4QewHw8M84qtJrj8r+oxu7vPg+V0SbOPOZS4cG1JR6tn1iAUrFZcDg6lA+FodZ4aC5SO1IaiS7L408oW1wSShYqmcR8/AHvTKhtDxLoYnXW409VxuzQDTfZ6Hl27nAUdgqZGORH9fVmdzzl8DNmTNbBiJx03Rjkld+S57c8QBfYFuxfdTzCPdDtGR+xxgO5mZ1Og3jywH75SkTE64Db+6McxARBcjOEe5WhTCfX+igaJsH1Nm/H6IdTrmaLyKE=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(346002)(366004)(396003)(136003)(451199015)(2616005)(66446008)(64756008)(2906002)(66946007)(66476007)(8676002)(66556008)(6486002)(186003)(4326008)(316002)(33656002)(122000001)(38100700002)(83380400001)(6916009)(38070700005)(54906003)(8936002)(7416002)(36756003)(91956017)(41300700001)(5660300002)(26005)(86362001)(76116006)(478600001)(6512007)(6506007)(71200400001)(53546011)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <AC6EFB812266284DBBB24D3A4D0633AC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8083
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d05a3669-c78a-47f6-a624-08dad77fec58
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xMq29vM/zY288gP7B6VRo8GlC2QcgCCz0BU0ypwE8Ea49G7Xfxb0BsYzz+s6g4+D5fIfnaI6t9SgDPS70fU5ZQSMBhxwhlOyutvdbPAAPgLBul713LOqlR1Oms4wu/lG5xhsSgmghd02tIbaqCkoE12KQSwV2v2OSX04hH0SpRKLjAZMs3iSUO74I020B3bhbuAtlotah1E03CaSeXoPo3x9s+RslKzInMAelgto0pI+feelt0/RS+bIzVdYQ+22jmP+QfRxwL2JX0DpmbhTueZljaKNgcmDwRsqqVc36eQhNa7Dt3lCnzPNr2yQT9U9O/ROZkpuaefhSxEyhMCJRHghr3NsXJ03KCMI5lbsIEVh/4ZGKRaJNXhGJtvWyWGbhtQ2G69odVH9SLAju1/yi+hxocYttx97J8VnNlKMv+LftGtkMsE629/XEKFpwS77f9SziIQ5fmEhhaef/Mu+vJ4f6a8WVmNqK6jU86VusIpii8BXiSPM85OggCysnB+5uB+nLRNouyK6733cvy1XsSjkNKL8HvTCFqYELwTLOchlzL3Wkl12NJeZl9WijPGkVNqIVkcAvLM5IKGu/Tym7hNDLs/nNwVWSRCQj+GEPZoePhHvjEErzQA30Pzf8Hd/nnd4KRBNoOYRsaYJANKA3Xbaudj8Yiti3iEZKwb/XI/LHiZ5u7g1nj6vLj1PLTahR7JKapapfAzbh13eBb038A==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(376002)(346002)(396003)(451199015)(40470700004)(46966006)(36840700001)(4326008)(70586007)(70206006)(40480700001)(8676002)(41300700001)(6862004)(86362001)(54906003)(316002)(356005)(81166007)(36860700001)(26005)(6512007)(2616005)(82740400003)(6506007)(2906002)(6486002)(47076005)(33656002)(40460700003)(8936002)(478600001)(83380400001)(5660300002)(53546011)(36756003)(107886003)(186003)(82310400005)(336012);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 11:49:39.2952
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 48cc5f60-98e6-4b68-5860-08dad77ff4b9
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6271

Hi Stefano,Julien

> On 5 Dec 2022, at 9:43 pm, Stefano Stabellini <sstabellini@kernel.org> wr=
ote:
>=20
> On Sat, 3 Dec 2022, Julien Grall wrote:
>> On 01/12/2022 16:02, Rahul Singh wrote:
>>> This patch series is sent as RFC to get the initial feedback from the
>>> community. This patch series consists of 21 patches which is a big numb=
er
>>> for
>>> the reviewer to review the patches but to understand the feature end-to=
-end
>>> we
>>> thought of sending this as a big series. Once we will get initial feedb=
ack,
>>> we
>>> will divide the series into a small number of patches for review.
>>=20
>> From the cover letter, it is not clear to me what sort of input you are
>> expecting for the RFC. Is this about the design itself?
>>=20
>> If so, I think it would be more helpful to write an high level document =
on how
>> you plan to emulate the vIOMMU in Xen. So there is one place to
>> read/agree/verify rather than trying to collate all the information from=
 the
>> 20+ patches.
>>=20
>> Briefly skimming through I think the main things that need to be address=
ed in
>> order of priority:
>>  - How to secure the vIOMMU
>>  - 1 vs multiple vIOMMU
>>=20
>> The questions are very similar to the vITS because the SMMUv3 is based o=
n a
>> queue. And given you are selling this feature as a security one, I don't=
 think
>> we can go forward with the review without any understanding/agreement on=
 what
>> needs to be implemented in order to have a safe/secure vIOMMU.
>=20
> I think we are all aligned here, but let me try to clarify further.
>=20
> As the vIOMMU is exposed to the guest, and exposing a queue-based
> interface to the guest is not simple, it would be good to clarify in a
> document the following points:
>=20
> - how is the queue exposed to the guest
> - how are guest-inputs sanitized
> - how do the virtual queue resources map to the physical queue
>  resources
> - lifecycle of the resource mappings
> - any memory allocations triggered by guest actions and their lifecycle
>=20
> It is difficult to extrapole these details from 21 patches. Having these
> key detailed written down in the 0/21 email would greatly help with the
> review. It would make the review go a lot faster.

Ack. I will send the design docs by next week that will include all the req=
uested
information.

Regards.
Rahul




From xen-devel-bounces@lists.xenproject.org Tue Dec 06 12:01:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 12:01:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454777.712316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Wdi-00017G-4J; Tue, 06 Dec 2022 12:01:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454777.712316; Tue, 06 Dec 2022 12:01:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Wdi-000179-1R; Tue, 06 Dec 2022 12:01:34 +0000
Received: by outflank-mailman (input) for mailman id 454777;
 Tue, 06 Dec 2022 12:01:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2Wdf-000171-TZ
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 12:01:31 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5509867-755d-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 13:01:28 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8160.eurprd04.prod.outlook.com (2603:10a6:102:1cb::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Tue, 6 Dec
 2022 12:01:25 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 12:01:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5509867-755d-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JDTkH4X5dNfTJqq6IaT9SUXQDcmClyMKLvrT9Ew+wTNTDuVleITFd37L+4g/ybhJb0hKc4bSfS94W2q+stuxUCll0eMWfZGMO50BrH6u80SMiVidhYZumyFb8ZbyXpkQF/hTom82JHpDW/bgZs6P2XMbS+0e8+w11KYv8zv8L728Vw5a0wipqsiRqbWHAPP1s5+Uo/G0DtBDVIvGDNNnvUw15snAV8Ss47+F3GBLkWfntZRGvy/J9WXawZeXO2jFvqdKxrQbh2gM/874hVVGKxgiRsDlKWwLHHFiNKz1z/eFTR6EJHOJGiw/5e+EtEYvmXtznzKObgJxhHoa8AgL0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DoY87jEFrRBVuQpgbqbODO6pHjU/qO2mO0O8WFa5o50=;
 b=Dr9a507KWxqMzpFvrJVTPSRO0bdrUDAWJOen0ch0LxSu0hKXLMPtsC3/7lf7WvbETZmY7zBjUFwCdpXGV4zJKZlFq9XPBdRUDVaWY+Lx3HDCQY15BygOf45ApOlU/OE1DtkODTRDt0jzzSBhP7Gmmfk5tR4CpXyBH/yhXkjBb7iTPgpAps+excVQQCLz4vkmc89RsPC/Qw+o2paBbsDOqmqBuC/SQEulDCsig+Xy3M6YmM9065i0NExmWIqOL3Z9BU+8IkfWx5rP6ns+zY2/QIpJqADe3z+7wducURSCK8k75IPdGkLahYwNItDYgqkS2MCmw9O3TJevy5Wm6t+E+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DoY87jEFrRBVuQpgbqbODO6pHjU/qO2mO0O8WFa5o50=;
 b=wZzJjv+AGbqosmb5t+QOAhT1ecY3kXZLnHEWoRfjTTJRaReWk18LddM+CJ2eh5b6oVTpQKz2bl2enrST71xwNe3TKSvyBlBWha+YeqOz23Dh3Zap9eM3fNr4uOaP6/3HNe61bYgCoHQtPFHOsoef7MMF6trEkjQjUCnfosKT/S4UdrNGAQSkMLZvr8mrDLvglQYcuGw5ht+idrJDqnIgXMPXXwZNEjY7DJY3zQoTFs8iSrUpTXLmPMWlXP/l0l+HPR/staDbzeo7B85HDeIrqILBIRHInaFidvHzUhvwM01pGgzV6APlrBI/IfWrYJuuHm9S4PAQ62V5XRg2ozr9WA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <32ca18e0-273e-8410-22e9-1a3016d23f0b@suse.com>
Date: Tue, 6 Dec 2022 13:01:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 7/8] x86/mm: make code robust to future PAT changes
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <33f3896ba4cdf50ceb0377f071682ac5d3f576c4.1670300446.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <33f3896ba4cdf50ceb0377f071682ac5d3f576c4.1670300446.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0124.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8160:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f98a3fb-3de5-40c2-d9ba-08dad78199bd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VRHeDDsTDGzYXkXCHExstgFEwSbMf2P+YrCEiWC0Pljs8ObFB5hqXq/IUNVp5YbV13tka8D75TDdL2XngbDgLsWGhLX8C00dXz98vVpFty+fSoOES5Eqw2mkiCDKqMRbOe/f4IT65pw6neHnTg7rNjQUKuLbNJwGyZ9OmYlcP66srTXkCcULmpT9nwbKjd5oHHQu9f8CLKUzbRkjbLo5FBGXlFhcTUvXMIOpIMLdkmHtGTV/K9TPgWv36OvRNJRyUVYJ6txRqE/G1LfcxRK7/ZNzPfpEGX2zZz9Yi+5W5s6RBLMb8z1SJ1Hf5MSPPM+1D2Im0JNbMcgmrrHnZlXrnUz54Pu1QfZ6igSbiaW4HZ/+oN5rORGtDkm5KrHOWHAGqewehcd0cDO7f48anejr83eVJUcPN1K7N1bspY+2B+Yj7aQqrcS2qF+9fHBVfcSCIbAv3dMaJIBMvkF7I948eo8i5EKyWOvbYr3q6KCEN5ffdypwwUie5wogabvpcxn/h84s3NFF8m5iCd3RU3u/39soUyQiqzTshRwXcr0tOMSkmY9VyP6yrDSfCBW8oxTDpg6qJa+8AyZXtYMptsaQPt3n6Bw2acJpXm0w2RoZBdkHhWg7RIME7A9A1eEW57O3QlpkzQwU+6wLMZZpFlLnezQd+urBEocKdLgkXTA+b3YtBod+k89/IBJ9pJXNRJAx5nwEGXeKzr1kbdBdjBEgugaPZrCc7yty/TZ/zrLHv+o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(396003)(39860400002)(346002)(366004)(136003)(451199015)(31686004)(31696002)(86362001)(6506007)(53546011)(6486002)(478600001)(36756003)(38100700002)(186003)(83380400001)(2616005)(5660300002)(8936002)(4326008)(26005)(8676002)(41300700001)(6512007)(66946007)(66556008)(66476007)(6916009)(316002)(54906003)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b3BONkYrcC8wS21IRGoybE4xL1V5emF1SWd2N2dSN2FFMGkxUWVXYWNQVEln?=
 =?utf-8?B?ZmxpQjcvcUlwRkhJbXdxelJLT29vWjdqNGZTZ0xFR0x5OHdiS0Z3blVQWmk3?=
 =?utf-8?B?R1M0ZS9MSWVBbzlDRjRXR1lYY1BzdnNqcWRtYXNjK05na0VETlppeGFBektK?=
 =?utf-8?B?eEovSS9vcmxHbFNiK2xaZ1pTVkVYVEtjLzFZbGRBRG85ZWRxczZ1RmRneGg2?=
 =?utf-8?B?ZHBDUm8zTDVhSU14N1I3M3FYOGlrL25TaWJCV2pRYnhwcXdMTmZJamNvczlI?=
 =?utf-8?B?SU9laUo5YnZUbUYybWJocGJBQkhKWGdJNUxyUGdiSXlaYXZ6QXNzbzZjWmxk?=
 =?utf-8?B?N09oY0JXZ2hHR0ZqcmJEb2dBUFUrcy84QXdNR3pmMzNiSDZtZkdVYkdwdWoy?=
 =?utf-8?B?UjVhYnliRHBvZlRPNHpTazJ0MXhhVUpNcDEvZWZQUHpmUlJNQkRQSVE3NTNM?=
 =?utf-8?B?VmpaQ1haVUVrTTlKbG1sQUUwOXYzUm5DNmdkMVZDc2JHeFdCVHVoOEpteWov?=
 =?utf-8?B?Z1lZRlVidkEvOU5qV2JlSTd0NWl1c2JiZmU3d1JQTElWN3BMUGtXRGZoZHIy?=
 =?utf-8?B?MTQrdkdxVXJWTjNROFdxbDdKZ0Z5RnRDL0w4QmcyRUZRYzFHeEVLVlRiVzFC?=
 =?utf-8?B?VU1sTUpQRFRaTURtWGN1bHpUaEZSSGtXYlA2YjRaYnhNWWtuUWhUUzNFTUt6?=
 =?utf-8?B?VUdTNlJMRVpieWsyNnNoNmg2ckkyMG5KbFhmM25ySkFpRVlYdHRoSFB0VktO?=
 =?utf-8?B?T09ySjZETFN4cXFsVjRraExjMGZUV0lodVhYUHZLYWxIRk9FeEFySUg4MXZq?=
 =?utf-8?B?WFkwc2s4NXVaMjJaRmM2bThHTEVQZThqaGFEdXdEeG02U1VUSGlxQW8xVWNG?=
 =?utf-8?B?dlN1TTNETjE1NFp4UGliODVZZjhHT09OTjFjU242UHJRMmI0RHV2bkFxZ2xj?=
 =?utf-8?B?elh2TGZDaDdZUVlkdE81alBUTjJRVngwc1NSYmdqZ2RqVmZVVVBaQTZ3dTFu?=
 =?utf-8?B?SmdHS1hVdHQ3SHV0OHpvSXBYVEFvak9vSm1TM2hha3RkNEJoSngvTEhJcFMv?=
 =?utf-8?B?YXFaOUNyVXJWUFd1ZWl2NkRBWHZIeHRCMHdhTW00cUVRajVvMHAreFpPMkVV?=
 =?utf-8?B?aUpHMS9uR0NlbTBPemk0RitUcTBkMjJ6M0Q4N0JuSWQxa1NOR1lURnN4dUgr?=
 =?utf-8?B?NFpxaTRudm9aZ0hBM1FhZ1p3SFhVZnFGR01NUmpVY1BoK0dEYW55eXFCMWxG?=
 =?utf-8?B?NDlCY3JzOGVMNGU3RlJKUy9OY0M1RDBRVFNSYm5GSjhDOVZDTEJNdHZ2aS9j?=
 =?utf-8?B?eFZCbmdCbUl3aEc0azBxcW5EeklzUDNORlZGd0tuOEJ1WlZheUd5ZDNlUEpU?=
 =?utf-8?B?b0U5RXZITkN2MW45RWR3RUJTUnNOMmJtdDI1WGJGWFZlMUlWdDJqTGpsYVRF?=
 =?utf-8?B?RGF4VTFuMVIyL3QzTjZJVlBjMEpsdkl5WjdMcUNQd0NwRC82a0RQNkNjUXo0?=
 =?utf-8?B?RjVJV2pURGlpNGNqSUo1dXpER1Rna1h2b3NTQmxka3NWTXNGeDY0MzRtRzBx?=
 =?utf-8?B?bWdFODRVVmp4cWtvM1ZtMG1OQmdzZDN4anhqM25zK1REcThqd3BUaHpwVys0?=
 =?utf-8?B?bFM2cUJyTDcrQlJDRytaT2kvZGRaMXNSVCtXUDYzMkZEQ2dLdk5GczA4NjhT?=
 =?utf-8?B?c2xtZm1TSDRQRE02N2pvMk10KzcxK1BFd0txZnpxWlgxa0p6RXhMUjNMeUhL?=
 =?utf-8?B?TUFwcWx1cVcrM0F6VW1wQVNFdTR6eXBUcnVlc29Ta2ZrN2RTQUcvM1pjb3E4?=
 =?utf-8?B?eFRFNU5lcGpkRTBDYU9WWElvTjZ1UW5BR0RqSFpvQjkvdE1kVitFbzZoOHNF?=
 =?utf-8?B?VXUrelJlOUdYeFVpdnZGWnhOY2kwdHZtNzNvMlhPNFR1TmREWi9LVEVkZ1FJ?=
 =?utf-8?B?UWREN2lnSy84c0I4OGlkQnVycmFKdi9kUTF5QVB6clp0VERobnJreHc2MFNV?=
 =?utf-8?B?VmY3RC9ZaVBWMXdObExiMGc1ckxhV0JhaHNicFY3TWF4YWhTZHk3VloreHp3?=
 =?utf-8?B?L1lsZ0RuTFhhOEphc0g5djMwRVMyRGtsRXN4cXA0WGQwUUY0VHZoV2VRQWhL?=
 =?utf-8?Q?QgnCuY9sYhc+y3rCS3jtNhR4s?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f98a3fb-3de5-40c2-d9ba-08dad78199bd
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 12:01:25.7549
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0Ej7ITl2D81zphzT//msvZ/DJ6UHYaQFfKjGZD1PIWFeHs3V8dPzgQ4zjdEDjgYknlQDj8AqnUK0NB78GMgwXg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8160

On 06.12.2022 05:33, Demi Marie Obenour wrote:
> It may be desirable to change Xen's PAT for various reasons.  This
> requires changes to several _PAGE_* macros as well.  Add static
> assertions to check that XEN_MSR_PAT is consistent with the _PAGE_*
> macros.
> 
> Additionally, Xen has two unused entries in the PAT.  Currently these
> are UC, but this will change if the hardware ever supports additional
> memory types.  To avoid future problems, this adds a check in debug
> builds that injects #GP into a guest that tries to use one of these

I realize we already have a case of injecting of #GP from a hypercall
handling path, but I'm afraid this isn't really sane. _If_ #GP was
possible at all for any hypercall, it should imo be raised on the
syscall instruction (or the int $0x82 for compat guests), not on the
instruction following it. Plus, as a major difference, in the
existing case there's no other means to return an error indication.

> entries, along with returning -EINVAL from the hypercall.  Future
> versions of Xen will refuse to use these entries even in release builds.

Mind me asking where you're taking "will" from? (I might view "may" as
appropriate here.)

> @@ -961,13 +1000,24 @@ get_page_from_l1e(
>  
>          switch ( l1f & PAGE_CACHE_ATTRS )
>          {
> -        case _PAGE_WB:
> +        default:
> +#ifndef NDEBUG
> +            printk(XENLOG_G_WARNING
> +                   "d%d: Guest tried to use bad cachability attribute %u for MFN %lx\n",
> +                   l1e_owner->domain_id, l1f & PAGE_CACHE_ATTRS, mfn);
> +            pv_inject_hw_exception(TRAP_gp_fault, 0);
> +            return -EINVAL;
> +#endif
>          case _PAGE_WT:
>          case _PAGE_WP:
> -            flip |= (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC;
> +        case _PAGE_WB:
> +            /* Force this to be uncachable */
> +            return flip | ( (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC );
> +        case _PAGE_WC:
> +        case _PAGE_UC:
> +        case _PAGE_UCM:
> +            return flip;
>          }
> -
> -        return flip;
>      }

May I ask that you leave the basic structure here as is, merely adding
the default block you care about and the three case labels which you
need to add to compensate? Also please use %pd in new code logging
domain IDs. I'm also not convinced l1e_owner is the most appropriate
domain to actually blame here, at least with the wording you've chosen
to use.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 12:06:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 12:06:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454785.712327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WiX-000232-NA; Tue, 06 Dec 2022 12:06:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454785.712327; Tue, 06 Dec 2022 12:06:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2WiX-00022v-Jj; Tue, 06 Dec 2022 12:06:33 +0000
Received: by outflank-mailman (input) for mailman id 454785;
 Tue, 06 Dec 2022 12:06:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XkKw=4E=citrix.com=prvs=332b12f58=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p2WiW-00022p-NU
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 12:06:33 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 68ec32f8-755e-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 13:06:28 +0100 (CET)
Received: from mail-co1nam11lp2172.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Dec 2022 07:06:26 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5039.namprd03.prod.outlook.com (2603:10b6:208:1a8::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 12:06:24 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 12:06:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68ec32f8-755e-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670328390;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=juAU0LQputKk7+KCB/CQaLGDslap6uGcpR1wVrHO+lA=;
  b=haeezQ7SUVV0EKAItUbhQLF0wbZ4olBi8rn9Om4Lp4Aa+uv2g22vE1BK
   0lMQJdx5rBQ39wHwcaEipIDIEI2bWf3l8jHFTYJRaT03CvB7yrWeeZPK5
   75MIegs9O0x34NRcaeUGDEh/TtPdhEVaVGQIZOu+vT00qX0zJpbeXDpQR
   E=;
X-IronPort-RemoteIP: 104.47.56.172
X-IronPort-MID: 86819434
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:t2ONXKkb0jDYRNplMUdeYuHo5gx2J0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIcDWqOO6zfZGqnetsnOdjlpkkHvZ6Hy4M3GlY9/yk0RCMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icf3grHmeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aqaVA8w5ARkP6kR5AGGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 eMhFyFOaAzdvefsyoi/dNZPq+0FPsa+aevzulk4pd3YJdAPZMmaBo7tvJpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVI3iee3WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapCSu3hp6Ix3DV/wEQ8CR8Ofn6cpcCJqUH5BvheB
 kYewxMH+P1aGEuDC4OVsweDiHKJux80WtxOEvY74gWA1qrV5QmCAmEOCDVGbbQOpMIwADAny
 FKNt9foHiB09q2YT2qH8bWZpi/0PjIaRUcHbDUBRBEI4PHipp8ylRPFStt/EK+zgcbxEDu2y
 DePxAA8jbgOic8A142g4EvKxTmro/DhUQod9gjRGGW/4WtReI+gT5yl7x7c9/koEWqCZlyIv
 XxBkM/H6ukLVMiJjHbUH79LG6y17fGYNjGamURoA5Qq6zWq/TikYJxU5zZ9YkxuN67oZAPUX
 aMagisJjLc7AZdgRfUfj16ZYyjy8ZXdKA==
IronPort-HdrOrdr: A9a23:+B7yiqqMojdmgTwT0TfZ/fwaV5oUeYIsimQD101hICG9vPbo7v
 xG/c5rrSMc7Qx6ZJhOo6HkBEDtewK/yXcx2/hzAV7AZmjbUQmTXeVfBOLZqlWKJ8S9zI5gPM
 xbAs9D4bPLfD5HZAXBjDVQ0exM/DBKys+VbC7loUtQcQ==
X-IronPort-AV: E=Sophos;i="5.96,222,1665460800"; 
   d="scan'208";a="86819434"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nwa2rCwUnaUW1LqHbmzCsjh7mFILd0M2vjKEsPuDygYK5u4WsfbkcMFb11iVoZIFhiSopH35iVXVm2yoHZ0o8+ZZBX23M6Z+f9bvieDnNAUP2UZgvcvXL/SsgV8nft80DlbWT1BpCVEPsKHsPZKg7y+zHyp5Kh4PB5S6dIQ4FRm3GYa85sXD/gvLF15XOtEOHzsFYqUPLoZNkUy/rHr5hG4Y1xGWk8AUCvkVNTfhQ69hlRptzsrC8GWPRxIURO5OUz5UkJt5UzUcd8nWqJuhhq0wj69uZLwzzEpGSbOstWhlan+VRiOy0Co7RUnRaX8JdaAGFg+0Y1qDVInKvE33EA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=juAU0LQputKk7+KCB/CQaLGDslap6uGcpR1wVrHO+lA=;
 b=S4Sboh7EET6GLN1hBN4zZI88mJ6wWL8K9GzxqTKc8apWq1icqruDAxukFPcsvoq8pRPcoKUbty5bIBtZc1xi9Ma3j92pni2wDpb877KrX3tTmpCPrCO6W2iHkmjgMB6Wr+Tv5L4nTHotIsDBsfQPuhuub/d6JrZors+RVjiKGyY1WyBWp+GOeYILInwKtRmuaBu09CYOni0vVDIY4PCYvX8TDMLJ1yAzeoFkdgP59wkxfP7LIqGedNC8IBCGAUfGunYYjSoVyGDpZDZTOhw0kGoX8u+6rnuJPfSV+D3AzBTTPoUKcurlMKW6bYR64JD8oY0zSVJdpcec619yHeOGGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=juAU0LQputKk7+KCB/CQaLGDslap6uGcpR1wVrHO+lA=;
 b=JiN4X+oZ20KOKJySmqKm5vee7RGwoHVphkKebKA5MByaBczFWmSDBFNtePOt39R+uab6poz15PEov9PwWkpUEt0lXyl7MpWD1uz1t+s3P71y+m/v1GwD/lqJhhJMY5cvH85NYuwuEN8jm8rwAfmipweccgmPfTE2gHQw8vevPLw=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: =?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>, Roger Pau
 Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 7/8] x86/mm: make code robust to future PAT changes
Thread-Topic: [PATCH 7/8] x86/mm: make code robust to future PAT changes
Thread-Index: AQHZCSwNNVwbw+XjekWbbMfdFBpGtK5gw/oA
Date: Tue, 6 Dec 2022 12:06:24 +0000
Message-ID: <9bb20bca-34af-bff6-b9f0-0c2ce38d2a46@citrix.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <33f3896ba4cdf50ceb0377f071682ac5d3f576c4.1670300446.git.demi@invisiblethingslab.com>
In-Reply-To:
 <33f3896ba4cdf50ceb0377f071682ac5d3f576c4.1670300446.git.demi@invisiblethingslab.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|MN2PR03MB5039:EE_
x-ms-office365-filtering-correlation-id: c71afab4-1cb6-453d-0181-08dad7824bed
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 wCsNTBH6SdaCgKENGJzESXoWl2w2wvdzGqo7LyhixwkOFfg0Qak9v6gKRN4QMkQavD18+Ka4fSR0HzrbwK0CIPfjqAU5a4II9nEtog4/owKrDmgdZLQRpnBf+0OYSBVMFy/GPXcV+oQEdrdux19zVnAhhP4jY4m0dirMcHZ4MiKDwIsdkPSaFAC/0Wb+yQwdYdVPJnaRGU1z/TCjX/IDp4w00VmUuwg3nzUw5Ugvj85QXbS8yaDoWfS0uYEDNMZBNRw2CCKOxdwMKpVnROBCdePAunFfnNGMhxYe+YWDQruciTjxty9tp5ZKgcLvR8VzFAN/V4yteE5fmLi18Ypt1k6jfDwSjtLZrkGJkW5TJHowrib7YywpkGumIqpUKqTtBDcn9exZxS2DN0UL7KGkrAq+LHy6ywz9FXT8JNFsa628ZJklRwASwhwupZSAR9mruu+EhHRWQ7iZXgFcW4oGP+YV8+rOmgyA8IjtMgXYHr/XvwftDD7Z7IAflaoW93C+V99mbdAkJPKgwmft5wgVuGoB7hJlPmwrvEytRLvriUhCXyBqPKPzqHsvbpz4VxPch4xw2bu5ancDtoYdRIHJ9fdiGR+wPZrdyDvJoxJPrdPsgHrgaJBMm5rW6dfOCSVujQVWQR4mvz9Wo3MGQqxNcGvuU2FeSQn05ZVNG4baJwKO6D35dH7cA30P3crOAFiiIsFHmwN7E5zuesJOL1QEHGfX7B8BQjxrDrtuQ8E8XSLFubRVSulpSfk5cCguRmQtwapfFb+NY+N4UNUF3ush2g==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(136003)(366004)(39860400002)(346002)(451199015)(41300700001)(6486002)(478600001)(86362001)(31696002)(122000001)(31686004)(2616005)(38100700002)(83380400001)(54906003)(316002)(110136005)(53546011)(6506007)(38070700005)(4326008)(71200400001)(82960400001)(6512007)(8676002)(36756003)(8936002)(2906002)(26005)(5660300002)(66446008)(186003)(64756008)(76116006)(66946007)(66476007)(66556008)(91956017)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WEFVUjJSUTZ4dVBNU0FXaC9oWkxSWFRRQ0tUN0JoS1Q2SHowOFYzc2ZrZ2xE?=
 =?utf-8?B?NjFLcW02WkJ4ZVVLbXRoRFNsQUhEZzZETXBoTE84UUUvSFFKVEdPeW4zZE4r?=
 =?utf-8?B?d0FFTmMzeTZQeVIydmRSMWREUkEyU2pNSXZUTXI1aTVjdVU3OXhvQm81djBU?=
 =?utf-8?B?L0tsdkZ0bzVVR0ZOZ1V3eFFKaDMxckJjRklOeVl1MFJDRERFSlRGZFdvRFNM?=
 =?utf-8?B?c1YyYjVNRWdFazZiUHZ3VlJoNHl6ckFpWkN3MXFvQkFoU3lnb3p3OWdqNHls?=
 =?utf-8?B?N2djV2c1RWM0VHFwQzBGa2Z0eXQrQ3VyWkNHUlFlVHJoSFpPVVR0YnF5aVFk?=
 =?utf-8?B?SnozTTJMZkJGM1ZHdCtNOFpQQldnRlhCYXJNR0ZsZnNwWVc3WDNzdlRjb3BE?=
 =?utf-8?B?SkNhWnh5ZmRHK1ZURzE2WVdQSUNLMXdhYzlDS2wzR0tsYW56b1JCMzE5OUx3?=
 =?utf-8?B?a1Npa0JpTlFwSFR3VzRzeEF0cXR6ampYdEpCR2EyZDNmeVoxTnp1K213SVJj?=
 =?utf-8?B?UzViUXdLY2pKOHpPMjFQQUVhOGtCcUt5bkREZmlxVWdYalZnT2ttSlEzNExF?=
 =?utf-8?B?dnhlNDN4NjNEeWFCMDBvWGZzMlZoaUludVpzNCtEbFNXcnRmdVk0RDlHaGUw?=
 =?utf-8?B?eDZoWXNOd0ExeDg1YTc4VVNzRngxcFJiNFBHNmFrMVlJUll2WTYxbzRJNCth?=
 =?utf-8?B?VERJTmdEZS84UFJ5ZWlGNW8wa2plWTkwR3R2a1J6OThPRENtS0owajh1K1I2?=
 =?utf-8?B?Mk9nVktYMUdaSC9HdGt0VlIvblR3Q01WQVlNeTJDNC9BUTQzcEN0YnBuK25Y?=
 =?utf-8?B?QXAzSkFZQlhaWjhUMW9SZXhWenVCN0owcVJCbnpnWXVkMnhHeGpZOGV4cG5r?=
 =?utf-8?B?bEtQcXVrb25JSllBSEpjQ0s2dFZCS2p5VW14aldxYUtBZ1hqaXA4cVFhT1cw?=
 =?utf-8?B?MElFTUl6eldNdTV0bHpTV1Z1aC9vS2ZnWGFaV2JReHFVTnhGU3UyUVFDOGZU?=
 =?utf-8?B?QlpmSkQ4NnY0dm4vSW00WUl1RjQrd1JDaVQrcVQyUXBhOXcwSEV4MVZnb0Vz?=
 =?utf-8?B?L1YvMU1XTjkxdTZCYWFLd0txejBsREdEdjJTSWtjdFJEd0JoV0NHdytJZlhs?=
 =?utf-8?B?d25aU0UrVXFMcDQ4OVBrdWlDYlU5eUo4WWRnQTRQWWF3aDFtcEQyK3pheU5w?=
 =?utf-8?B?dUtYVzlOa0xiRERSZGFxZk5QZWZ4Z21KVWEwdTNZS0tjU0kveno2a3QzcEdV?=
 =?utf-8?B?L2V0MlJmbWJxaE95K3U5dGJVdzBSNzJvZFZDOUhsNkw5aG5yOEJLa0VWaTI1?=
 =?utf-8?B?RitNNmxzMEczNjRyNU05UUJTanZWNUhidXQvN05pWkJVN0JYSC9vUU9vM2o0?=
 =?utf-8?B?S3NwQWFlQnNMSlVITkNwakg1OUpYcnB6K05QNVBWRmhKT0FER2N5NHdZSjB0?=
 =?utf-8?B?bGQ4QU8zR0k2bTM3QVFuYllJNDUrM2h4RWhwbndUb2dTODArV2k0K0RkaW5x?=
 =?utf-8?B?S3dWWVhIK0JNazZud0U0MUFQVDVVQ1BZWjBtUzJMeHdyTUJCZUhLU0oyV0dO?=
 =?utf-8?B?dm5pSFNLVGRyMDBTL3VZb2w5NVdlemdQTnJBWmpYR1A3UjZUVDYya1VpQUdn?=
 =?utf-8?B?TnRQYjZ3L0VRR0szU3NDSnlrYWpNakhnM3BHQVQrV2Q1R1RqV1RWbTd2aVBF?=
 =?utf-8?B?a2FhcWxNNVgzaFFwSFFyaGVtZXJ2eEZ3R2Z6alJNWFU1MDVtM25hODNheUpL?=
 =?utf-8?B?MXFlVEtCaFhQSlA3WlJ3L05qU0U1eHVNK3pYVnRRdUdyNUxBbXI5R1Q5RUFC?=
 =?utf-8?B?cStsNk1KU0N3eEpMU0VudExnVS9SR2NyVlVicWFWT2ozc0haTzYyNTBWWXo2?=
 =?utf-8?B?anRCUnJocHBrdVUwL1VmOExPQW9WVzVDaTBweWJ5VDQrS2l5MU1tWktzM1J4?=
 =?utf-8?B?REo1Y2U4b1BrRnVuek55ZlFWM0FkSXhLYUtpOERidFB0ZkpIVTVTNklaNWh6?=
 =?utf-8?B?MGV1ZUFLa2FPd2ZwYzRMVW0wWG9INDdQVk51UDhTcCtqSnMwOHJBQ1Nyem5j?=
 =?utf-8?B?REs2bFJYUlpTcC9sY3FvY1hmNzVNb0x4aEYvKytMMXIrUEEzU0VSM1M5WnA3?=
 =?utf-8?Q?VBf14dOaSrImnh7sfuHfJ1yTA?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <27858D9F412A7248B0B1CCE9D2855226@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?Z3FXekJ2ZUNIbUljWUlmQXN6WmhsVDNwandGbVJTMDRNZk45TTVhamJtQ0Uy?=
 =?utf-8?B?NlY1WC8zWk9pc0JTZ1VXcm9Od2ZmRjlJd0dtNGxvZVlKR1pEMDFDNlU4eFlM?=
 =?utf-8?B?RzJ1aVoxREFVQ3ZYR0cvL0JvbGRRZHV6dkRFekVXc0NxU0ViaTVlOU9BdkJI?=
 =?utf-8?B?QlZkQXg0NkUvWURkNXk1Q1BNbW1hU084RFJrNkN6bzJVYm45QUdrN2xPTThq?=
 =?utf-8?B?UmFEb3YvZTlESWpLaEd6SUczMXZSbEF0S29zMENXdmtyYUMzRHhVMUJFZnRH?=
 =?utf-8?B?aWsrVzliZGQzdm02Y0hoSXlRanBQRzRZK1gxZDl6R2gvdDA4VzZYUGY0aHd2?=
 =?utf-8?B?ek5aQ0grMGZVUUdEbjhRdzAwNUxFVjQwVExYQ21ETWtrdFFOdnV2Rm1LSjR6?=
 =?utf-8?B?L2hsdEhlZzZMSkN6bXRsZXJsK2VLcTR3bHZlL0ZiY1MwcGNueFpDU1BXSDhx?=
 =?utf-8?B?cmp0dWxsclhrZEhHd0pHZVo5cHhFTFBia1NucklqZnEwTkN1UEE5NGFObHlB?=
 =?utf-8?B?Rk1IRUgzT0pueWN5bWc3V0pNZ2tFSHRzazJRcUhxbEZDZ29QbE9VMDJ6andY?=
 =?utf-8?B?ckZleTVxYkswNS9iTUE3NStGemdoWDA2ZkZ2ZWQwMGM2ZEhzcG02b3VCeXM1?=
 =?utf-8?B?UGs3S1BoSW1JV2hmLzk2bkVXa203V0RGdDNNSW9Vb245bkNkNnB0MUVrY0lh?=
 =?utf-8?B?c1kvNUt3WTIxNjhyeDVBWTRVSjlhU0RPUld0VVRPZ2NPYVY3TkhrRXhkWXd5?=
 =?utf-8?B?bjQ0V2FDUXVYeFA1dVFJTU03NnEyUldFTU1lMDFHN3AxYXlGcmRaTFJMdkRz?=
 =?utf-8?B?OWRBb2NTV1NQNXh2YW43OUt4UlRFV3ZpQ2IrUjh5djIwckoweFZiM3YrcWhQ?=
 =?utf-8?B?WVRXSjM3KzdaY1ByNnpHZFhiNll2NDRUekl0SkdNbEY2QWlVWGJtVVo5QitJ?=
 =?utf-8?B?WnhwTG9uOVZaY3cwc1h2bnhXTnlmOGlMRzd1eXpWdEszUTJIQWJaSjVRU05B?=
 =?utf-8?B?T3NPbGhvcW5jQzE0d0tRWk1BcUwyem01bjRLT0pDNmZwblVETE01QlhXSG5D?=
 =?utf-8?B?SU5qYmQ1QlhDWkJTZ1NqOXdLYnNkdU5VdExsV2JNSytBeDBJRVJwTGcyU0Rn?=
 =?utf-8?B?b1htTmpCRlh1UjRFTkN0bjI3V2phSjRCZlJCQTY2SEs4MnF1S3dxa0JQc2pC?=
 =?utf-8?B?b1BhcmdOQXRLeFNXMm1VZU55L0lGQi9kRTc2dlpTOG0yUHhLWWd3cFBqcDEz?=
 =?utf-8?B?MWQ1R3VLdHRoTVZHQ0RSUThqcHhYVnFVWi9jdmZONFZiWDRZdz09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c71afab4-1cb6-453d-0181-08dad7824bed
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 12:06:24.5265
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: urE6FJiTUKk6m+UdzhGAZ5wvFIll2x03efJUsStLeZPIaw3kL0JTygkPXUZNIgmP2S6Y8PrtyvBxQyZXPMnRpqClkysjVoLaqxzSx/fYqQw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5039

T24gMDYvMTIvMjAyMiAwNDozMywgRGVtaSBNYXJpZSBPYmVub3VyIHdyb3RlOg0KPiBJdCBtYXkg
YmUgZGVzaXJhYmxlIHRvIGNoYW5nZSBYZW4ncyBQQVQgZm9yIHZhcmlvdXMgcmVhc29ucy4gIFRo
aXMNCj4gcmVxdWlyZXMgY2hhbmdlcyB0byBzZXZlcmFsIF9QQUdFXyogbWFjcm9zIGFzIHdlbGwu
ICBBZGQgc3RhdGljDQo+IGFzc2VydGlvbnMgdG8gY2hlY2sgdGhhdCBYRU5fTVNSX1BBVCBpcyBj
b25zaXN0ZW50IHdpdGggdGhlIF9QQUdFXyoNCj4gbWFjcm9zLg0KPg0KPiBBZGRpdGlvbmFsbHks
IFhlbiBoYXMgdHdvIHVudXNlZCBlbnRyaWVzIGluIHRoZSBQQVQuICBDdXJyZW50bHkgdGhlc2UN
Cj4gYXJlIFVDLCBidXQgdGhpcyB3aWxsIGNoYW5nZSBpZiB0aGUgaGFyZHdhcmUgZXZlciBzdXBw
b3J0cyBhZGRpdGlvbmFsDQo+IG1lbW9yeSB0eXBlcy4gIFRvIGF2b2lkIGZ1dHVyZSBwcm9ibGVt
cywgdGhpcyBhZGRzIGEgY2hlY2sgaW4gZGVidWcNCj4gYnVpbGRzIHRoYXQgaW5qZWN0cyAjR1Ag
aW50byBhIGd1ZXN0IHRoYXQgdHJpZXMgdG8gdXNlIG9uZSBvZiB0aGVzZQ0KPiBlbnRyaWVzLCBh
bG9uZyB3aXRoIHJldHVybmluZyAtRUlOVkFMIGZyb20gdGhlIGh5cGVyY2FsbC4gIEZ1dHVyZQ0K
PiB2ZXJzaW9ucyBvZiBYZW4gd2lsbCByZWZ1c2UgdG8gdXNlIHRoZXNlIGVudHJpZXMgZXZlbiBp
biByZWxlYXNlIGJ1aWxkcy4NCj4NCj4gU2lnbmVkLW9mZi1ieTogRGVtaSBNYXJpZSBPYmVub3Vy
IDxkZW1pQGludmlzaWJsZXRoaW5nc2xhYi5jb20+DQo+IC0tLQ0KPiAgeGVuL2FyY2gveDg2L21t
LmMgfCA1OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQ0K
PiAgMSBmaWxlIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pDQo+DQo+
IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jDQo+IGlu
ZGV4IDVkMDUzOTljM2E4NDFiZjAzOTkxYTNiZWQ2M2RmOWE4MTVjMWU4OTEuLjUxN2ZjY2VlNjk5
YjJhNjczYmE1MzdlNDc5MzNhZWZjODAwMTdhYTUgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNoL3g4
Ni9tbS5jDQo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jDQo+IEBAIC04NDksNiArODQ5LDQ1IEBA
IHN0YXRpYyBpbnQgY2ZfY2hlY2sgcHJpbnRfbW1pb19lbXVsX3JhbmdlKA0KPiAgfQ0KPiAgI2Vu
ZGlmDQo+ICANCj4gK3N0YXRpYyB2b2lkIF9faW5pdCBfX21heWJlX3VudXNlZCBidWlsZF9hc3Nl
cnRpb25zKHZvaWQpDQoNClRoaXMgd2FudHMgdG8gYmUgYXQgdGhlIHZlcnkgYm90dG9tIG9mIHRo
ZSBmaWxlLsKgIChBbmQgYWxzbyBpbiB0aGUNCnByZXZpb3VzIHBhdGNoIHRvIHJlbW92ZSB0aGUg
X1N0YXRpY19hc3NlcnQoKSkNCg0KPiArew0KPiArICAgIC8qIEEgYnVuY2ggb2Ygc3RhdGljIGFz
c2VydGlvbnMgdG8gY2hlY2sgdGhhdCB0aGUgWEVOX01TUl9QQVQgaXMgdmFsaWQNCj4gKyAgICAg
KiBhbmQgY29uc2lzdGVudCB3aXRoIHRoZSBfUEFHRV8qIG1hY3JvcyAqLw0KPiArI2RlZmluZSBQ
QVRfVkFMVUUodikgKDB4RkYgJiAoWEVOX01TUl9QQVQgPj4gKDggKiAodikpKSkNCj4gKyNkZWZp
bmUgQkFEX1ZBTFVFKHYpICgodikgPCAwIHx8ICh2KSA+IDcgfHwgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBcDQo+ICsgICAgICAgICAgICAgICAgICAgICAgKHYpID09IE1TUl9Q
QVRfUkVTRVJWRURfMSB8fCAodikgPT0gTVNSX1BBVF9SRVNFUlZFRF8yKQ0KPiArI2RlZmluZSBC
QURfUEFUX1ZBTFVFKHYpIEJVSUxEX0JVR19PTihCQURfVkFMVUUoUEFUX1ZBTFVFKHYpKSkNCj4g
KyAgICBCQURfUEFUX1ZBTFVFKDApOw0KPiArICAgIEJBRF9QQVRfVkFMVUUoMSk7DQo+ICsgICAg
QkFEX1BBVF9WQUxVRSgyKTsNCj4gKyAgICBCQURfUEFUX1ZBTFVFKDMpOw0KPiArICAgIEJBRF9Q
QVRfVkFMVUUoNCk7DQo+ICsgICAgQkFEX1BBVF9WQUxVRSg1KTsNCj4gKyAgICBCQURfUEFUX1ZB
TFVFKDYpOw0KPiArICAgIEJBRF9QQVRfVkFMVUUoNyk7DQo+ICsjdW5kZWYgQkFEX1BBVF9WQUxV
RQ0KPiArI3VuZGVmIEJBRF9WQUxVRQ0KDQpHaXZlbiB0aGF0IHlvdSd2ZSByZXdvcmtlZCB0aGUg
UEFUIGRlY2xhcmF0aW9uIHRvIGJlIG9mIHRoZSBmb3JtIChNVCA8PA0Kc2hpZnQpLCBJJ20gbm90
IHN1cmUgaG93IG11Y2ggdmFsdWUgdGhpcyBjaGVjayBpcy4NCg0KPiArI2RlZmluZSBQQVRfU0hJ
RlQocGFnZV92YWx1ZSkgKCgocGFnZV92YWx1ZSkgJiBfUEFHRV9QQVQpID4+IDUgfCAgICAgICAg
ICAgICAgIFwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKHBhZ2VfdmFsdWUp
ICYgKF9QQUdFX1BDRCB8IF9QQUdFX1BXVCkpID4+IDMpDQoNCnB0ZV9mbGFnc190b19jYWNoZWF0
dHIoKQ0KDQo+ICsjZGVmaW5lIENIRUNLX1BBR0VfVkFMVUUocGFnZV92YWx1ZSkgZG8geyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgIC8qIENoZWNrIHRoYXQg
dGhlIF9QQUdFXyogbWFjcm9zIG9ubHkgdXNlIGJpdHMgZnJvbSBQQUdFX0NBQ0hFX0FUVFJTICov
ICAgIFwNCj4gKyAgICBCVUlMRF9CVUdfT04oKChfUEFHRV8jI3BhZ2VfdmFsdWUpICYgUEFHRV9D
QUNIRV9BVFRSUykgIT0gICAgICAgICAgICAgICAgICBcDQo+ICsgICAgICAgICAgICAgICAgICAo
X1BBR0VfIyNwYWdlX3ZhbHVlKSk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXA0KPiArICAgIC8qIENoZWNrIHRoYXQgdGhlIF9QQUdFXyogYXJlIGNvbnNpc3RlbnQgd2l0
aCBYRU5fTVNSX1BBVCAqLyAgICAgICAgICAgICAgIFwNCj4gKyAgICBCVUlMRF9CVUdfT04oUEFU
X1ZBTFVFKFBBVF9TSElGVChfUEFHRV8jI3BhZ2VfdmFsdWUpKSAhPSAgICAgICAgICAgICAgICAg
ICBcDQo+ICsgICAgICAgICAgICAgICAgIChNU1JfUEFUXyMjcGFnZV92YWx1ZSkpOyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArfSB3aGlsZSAoMCkNCj4gKyAgICBD
SEVDS19QQUdFX1ZBTFVFKFdUKTsNCj4gKyAgICBDSEVDS19QQUdFX1ZBTFVFKFdCKTsNCj4gKyAg
ICBDSEVDS19QQUdFX1ZBTFVFKFdDKTsNCj4gKyAgICBDSEVDS19QQUdFX1ZBTFVFKFVDKTsNCj4g
KyAgICBDSEVDS19QQUdFX1ZBTFVFKFVDTSk7DQo+ICsgICAgQ0hFQ0tfUEFHRV9WQUxVRShXUCk7
DQo+ICsjdW5kZWYgQ0hFQ0tfUEFHRV9WQUxVRQ0KPiArI3VuZGVmIFBBVF9TSElGVA0KPiArI3Vu
ZGVmIFBBVF9WQUxVRQ0KPiArfQ0KPiArDQo+ICAvKg0KPiAgICogZ2V0X3BhZ2VfZnJvbV9sMWUg
cmV0dXJuczoNCj4gICAqICAgMCAgPT4gc3VjY2VzcyAocGFnZSBub3QgcHJlc2VudCBhbHNvIGNv
dW50cyBhcyBzdWNoKQ0KPiBAQCAtOTYxLDEzICsxMDAwLDI0IEBAIGdldF9wYWdlX2Zyb21fbDFl
KA0KPiAgDQo+ICAgICAgICAgIHN3aXRjaCAoIGwxZiAmIFBBR0VfQ0FDSEVfQVRUUlMgKQ0KPiAg
ICAgICAgICB7DQo+IC0gICAgICAgIGNhc2UgX1BBR0VfV0I6DQo+ICsgICAgICAgIGRlZmF1bHQ6
DQo+ICsjaWZuZGVmIE5ERUJVRw0KPiArICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX1dBUk5J
TkcNCj4gKyAgICAgICAgICAgICAgICAgICAiZCVkOiBHdWVzdCB0cmllZCB0byB1c2UgYmFkIGNh
Y2hhYmlsaXR5IGF0dHJpYnV0ZSAldSBmb3IgTUZOICVseFxuIiwNCj4gKyAgICAgICAgICAgICAg
ICAgICBsMWVfb3duZXItPmRvbWFpbl9pZCwgbDFmICYgUEFHRV9DQUNIRV9BVFRSUywgbWZuKTsN
Cg0KJXBkLsKgIFlvdSBhYnNvbHV0ZWx5IHdhbnQgdG8gY29udmVydCB0aGUgUFRFIGJpdHMgdG8g
YSBQQVQgdmFsdWUgYmVmb3JlDQpwcmluaXRpbmcgKGRlY2ltYWwgb24gYSBQVEUgdmFsdWUgaXMg
dXNlbGVzcyksIGFuZCAlUFJJX21mbi4NCg0KPiArICAgICAgICAgICAgcHZfaW5qZWN0X2h3X2V4
Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwKTsNCg0KQXMgSSBzYWlkIG9uIElSQywgd2UgZG8gd2Fu
dCB0aGlzLCBidXQgSSdtIG5vdCBjZXJ0YWluIGlmIHdlIGNhbiBnZXQNCmF3YXkgd2l0aCBqdXN0
IGVuYWJsaW5nIGl0IGluIGRlYnVnIGJ1aWxkcy7CoCBfUEFHRV9HTlRUQUIgd2FzIG9rIGJlY2F1
c2UNCml0IGhhcyBhbHdheXMgYmVlbiBsaWtlIHRoYXQsIGJ1dCB0aGVyZSdzIGEgbm9uLXRyaXZp
YWwgY2hhbmNlIHRoYXQNCnRoZXJlIGFyZSBleGlzdGluZyBkb20wIGtlcm5lbHMgd2hpY2ggdmlv
bGF0ZSB0aGlzIGNvbnN0cmFpbnQuDQoNCj4gKyAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0K
PiArI2VuZGlmDQo+ICAgICAgICAgIGNhc2UgX1BBR0VfV1Q6DQo+ICAgICAgICAgIGNhc2UgX1BB
R0VfV1A6DQo+IC0gICAgICAgICAgICBmbGlwIHw9IChsMWYgJiBQQUdFX0NBQ0hFX0FUVFJTKSBe
IF9QQUdFX1VDOw0KPiArICAgICAgICBjYXNlIF9QQUdFX1dCOg0KPiArICAgICAgICAgICAgLyog
Rm9yY2UgdGhpcyB0byBiZSB1bmNhY2hhYmxlICovDQo+ICsgICAgICAgICAgICByZXR1cm4gZmxp
cCB8ICggKGwxZiAmIFBBR0VfQ0FDSEVfQVRUUlMpIF4gX1BBR0VfVUMgKTsNCj4gKyAgICAgICAg
Y2FzZSBfUEFHRV9XQzoNCj4gKyAgICAgICAgY2FzZSBfUEFHRV9VQzoNCj4gKyAgICAgICAgY2Fz
ZSBfUEFHRV9VQ006DQo+ICsgICAgICAgICAgICByZXR1cm4gZmxpcDsNCj4gICAgICAgICAgfQ0K
PiAtDQo+IC0gICAgICAgIHJldHVybiBmbGlwOw0KDQpUaGlzIHdhbnRzIHJld29ya2luZyBvdmVy
IEphbidzIHN1Z2dlc3Rpb24gaW4gcGF0Y2ggMSwgYW5kIG1vZGlmeWluZyB0bw0KcmVkdWNlIGNo
dXJuLsKgIChLZWVwIF9QQUdFX1dCIGluIHRoZSBzYW1lIG9yZGVyIFdSVCBfUEFHRV9XVCwgdGhl
DQp1bmNhY2hlZCBtZW1vcnkgdHlwZXMgc2hvdWxkIHNpbXBseSBicmVhaywgYW5kIGRlZmF1bHQg
c2hvdWxkIGJlIGF0IHRoZQ0KZW5kLikNCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 12:37:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 12:37:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454796.712337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2XC3-0006PA-4h; Tue, 06 Dec 2022 12:37:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454796.712337; Tue, 06 Dec 2022 12:37:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2XC3-0006P3-1o; Tue, 06 Dec 2022 12:37:03 +0000
Received: by outflank-mailman (input) for mailman id 454796;
 Tue, 06 Dec 2022 12:37:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vYNa=4E=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1p2XC1-0006Ov-H0
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 12:37:01 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061f.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a414c6fa-7562-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 13:36:44 +0100 (CET)
Received: from FR3P281CA0190.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a4::8) by
 AS8PR08MB6197.eurprd08.prod.outlook.com (2603:10a6:20b:294::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Tue, 6 Dec
 2022 12:36:56 +0000
Received: from VI1EUR03FT048.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:a4:cafe::97) by FR3P281CA0190.outlook.office365.com
 (2603:10a6:d10:a4::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5901.8 via Frontend
 Transport; Tue, 6 Dec 2022 12:36:56 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT048.mail.protection.outlook.com (100.127.144.182) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.14 via Frontend Transport; Tue, 6 Dec 2022 12:36:55 +0000
Received: ("Tessian outbound b4aebcc5bc64:v130");
 Tue, 06 Dec 2022 12:36:55 +0000
Received: from 9fca5d255827.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 636B1791-33BC-4B71-8459-D44817D941A1.1; 
 Tue, 06 Dec 2022 12:36:45 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9fca5d255827.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 06 Dec 2022 12:36:45 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM9PR08MB5891.eurprd08.prod.outlook.com (2603:10a6:20b:2da::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 12:36:42 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda%3]) with mapi id 15.20.5880.008; Tue, 6 Dec 2022
 12:36:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a414c6fa-7562-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jmuujFdJHmxkOO2QXwGOMXKNJTrnAflI5gRLPmamlQY=;
 b=otiVuzPq58LaGV485coucYP59CtrVGcMP4bPqaGlYW17Y3DJZEd3/4JL0mIxEssSwYKfQd4biEe3xHiJNUyLTGy7AEhQ00Hu3YuKtPY1ul+GO5D5iy7IwAAO81K1W/K8fHiGCZ67+E4OZqVxc7CJRqGuFTAOw04hLEmXjtKwt34=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: bdded2db3b63076f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hP0UzH7s/HulhiCELiTFFEg+9klvjkq1ip7x+CAvnB+x9LeTWGi6Ze9GHAx+V+3dxXHEqR39dibD6seDSUu7gglIP7CmDEeqshof+z/o0GJGk7Xk9Dj8gxTRj5dOzBvlfSdNtH503z7AdjmV1w5y2zUYiac/6GxzBWxs6fibHCYma3ucCTDletofxXB7Jv/Z2bY6Hecz/M7eB7mIG6wTRJp/Djgfeu+Wrj3oKYeGQ5D9JBJBcvctlztBrE7nFxC7QATw+KfRxTqi+5KaztA/b+5R0giSWYQvOJIHwMQ8ODT4WFcE/xf8Em8DuM3BoUITdj8WOgRrWvL+n2QXdW0lgQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jmuujFdJHmxkOO2QXwGOMXKNJTrnAflI5gRLPmamlQY=;
 b=oJrSiwQCZAgZEOv9jFi39WyfOeiq88QqKhy1dKKPUjPKBo+WwoW8AVSJ8aNHrwboqFoSJ11jFzDyFq/zwXYjOKJUR3NHESbUsg+GZb54DnR+sJkmfIZRi93rfHwCjIyQJhR3evRMkws8We9usGQXmXg+m0Q7uJzSgZ7qRfCbb3GHvZu8VKQTWOoyIv91VizbTO4dT2+cUIXxJn0inXXjwJXbSLrhTPOUqcLTZ3rGFcy1Uj84oS01iHEtzYHjV7CQRUrudgshjvQ+6sVrE+gQbajBvnuxJjGucWsjw8jaJJ496w3Zgk5J99O3poROmCx/OFC7/tHh8mchKb2GcSzBUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jmuujFdJHmxkOO2QXwGOMXKNJTrnAflI5gRLPmamlQY=;
 b=otiVuzPq58LaGV485coucYP59CtrVGcMP4bPqaGlYW17Y3DJZEd3/4JL0mIxEssSwYKfQd4biEe3xHiJNUyLTGy7AEhQ00Hu3YuKtPY1ul+GO5D5iy7IwAAO81K1W/K8fHiGCZ67+E4OZqVxc7CJRqGuFTAOw04hLEmXjtKwt34=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 3/5] xen/Makefile: remove Cppcheck invocation from the
 Makefile
Thread-Topic: [PATCH v2 3/5] xen/Makefile: remove Cppcheck invocation from the
 Makefile
Thread-Index: AQHZCMAWOgBUls/3J0ScrSjGl4ZC6a5fcz2AgAFZ8IA=
Date: Tue, 6 Dec 2022 12:36:42 +0000
Message-ID: <A07F7DB8-6237-47D6-A643-C96FB371C1C2@arm.com>
References: <20221205154052.14191-1-luca.fancellu@arm.com>
 <20221205154052.14191-4-luca.fancellu@arm.com>
 <45f4cef6-99ba-a37c-3e57-27b270d16f6f@suse.com>
In-Reply-To: <45f4cef6-99ba-a37c-3e57-27b270d16f6f@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AM9PR08MB5891:EE_|VI1EUR03FT048:EE_|AS8PR08MB6197:EE_
X-MS-Office365-Filtering-Correlation-Id: 67a42c35-2dd4-4395-c9aa-08dad7868f98
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 TAQN0GPEfd1XhKUDAFxsQ2bLP6236RYtfn46QkKknUpqw7epIB3Rs/PY9mfHOQB504TMMnID4gZFXqFuLF24+UkJQfWDuKlYSSUspf7cPWnCZLiyuJ3wB4TFP0jYtXSbVVXtF/xmhK8zDP0y6KBfIAhVLsStnhM9NaY1M6giarKIzmFzTILYu7mf0RK1uU3JgLFiN//iuh2EIoKPSJTfr1FyogpaLbHCWxJX9oFIj4TtOVHKfSwzatmGAa6DYV2Bowi+edhuMlKmZKVHmQ6lJb6y42Dvr2EKtV5ux/vsRHQMbIVxVRnFqmj6RLjTe2wmviOX7hk1Q2W9IaZd0B05B7oZoZX+JOCIW6PsAMxBjw+6iWFJaae+qhJq+0mOqMnesLYU8yEAgi1DscloSQaig1x3Rul9sXmVj98+9RE3p00FOxTKGHi31Bs40PqOq3BqczA2yG/U0FB2wDONcZymTLcz95/gYCHMOPbsZMSTjprnvtekTCJdlJ/tMe7Eei5hhJVSaOQg6CruHp+AJLKzuGsFXKxK/jHWxpSgL3QPt3B0LkvsQH3nzeE0JVDZlRDalVOe50PVR/uTrPB7wFy6aGMk83nofMLD+bjjeSzRaI8ynqc5gtLBtAG37fBj36b2eonLPDNf/ScUC+SgPYwVWh+wgazG11l6+AcCLki22fw0UnCculLYLkuJLZRjPvV0630NU8S4Y9RR/8E5/F0zTUTabpvB5kIeGsQwZ+EjbuU=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(366004)(396003)(39860400002)(376002)(451199015)(2906002)(83380400001)(36756003)(66946007)(33656002)(76116006)(41300700001)(186003)(86362001)(66556008)(91956017)(38100700002)(6512007)(26005)(38070700005)(4744005)(2616005)(4326008)(8936002)(122000001)(66446008)(66476007)(64756008)(71200400001)(8676002)(6916009)(478600001)(316002)(54906003)(6486002)(6506007)(5660300002)(53546011)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <EA71E69343D1254D8B473641E19359B3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB5891
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VI1EUR03FT048.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4b866d1a-5d91-45e5-6578-08dad786879e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fIMaYebA+LdHye2qzo6TM62EdhwC2VqtnbUmKc6WgrYtGerkC4gF4sLuao+1sXSfWLzV9F0IkineN5vt36jYJIXKJfTaz652LHTNHSwiqsS0rW0i6Gm+4wfV392WTwjuBS8zINs6rEhQlv9NPyUI0W6LjPhNizpFe3q9rhUEt9iR1Avdec/2EhVJ2l6PydiPVGLNUwyrRv1cDeHg1kfM8pvmPDuGuOHmbhLhQBNCU5E5FVi163oO4qI2LeGFxAfj6M8QM4JMs2dIX38fXofMh39nj24dOmaThX6UVOx8UKH9l6/Dkk62+xFINgVE+owbnTnx6u2vBez1IZm0euaW8oNUVPCo7amfGywiJCMSjrNWSsS8oLQljXCUQTyLaqltrXa3zVwWh9X8Tx46hG31jMIbJI4cIKEiRNiYTuUdL7KliCPnbYgneJTcx21kY5IRz5+5i8AoRRzmbrmz/Uw5n0a21739Trj7qFaROlKtPLVWHjfOOJg4WtIGgn2017KIngHUYt28NyAv5r+a8lXAjDemj7qAGAs70HazMpVqQQtN6qzueaGPilr0aFB+gTvGEAMvWaioh7KO++mkkJccOfD+V8VnnOWdcQeSGHWB41Gpu7VonKqy0x4D7K1BDADRJBRJC2IU3A+3XH5q+oTt0zlkwnG6KH3X5+dC4ZotJD93C5RLt7wMvY49Uu76gq/JZSZG7PxQJTaYUjE9mQIhuw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(396003)(376002)(39860400002)(451199015)(46966006)(36840700001)(40470700004)(2906002)(83380400001)(36860700001)(36756003)(186003)(40480700001)(41300700001)(70206006)(33656002)(336012)(70586007)(86362001)(40460700003)(6512007)(5660300002)(26005)(356005)(82740400003)(82310400005)(81166007)(8676002)(2616005)(4326008)(6862004)(8936002)(54906003)(316002)(478600001)(53546011)(47076005)(6506007)(6486002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 12:36:55.9997
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 67a42c35-2dd4-4395-c9aa-08dad7868f98
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VI1EUR03FT048.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6197

DQoNCj4gT24gNSBEZWMgMjAyMiwgYXQgMTU6NTgsIEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl
LmNvbT4gd3JvdGU6DQo+IA0KPiBPbiAwNS4xMi4yMDIyIDE2OjQwLCBMdWNhIEZhbmNlbGx1IHdy
b3RlOg0KPj4gVGhlIHNjcmlwdCB4ZW4tYW5hbHlzaXMucHkgaXMgZ29pbmcgdG8gYmUgdXNlZCBm
b3IgdGhlIGFuYWx5c2lzIHdpdGgNCj4+IGNwcGNoZWNrLCBzbyByZW1vdmUgdGhlIHJ1bGVzIGZy
b20gdGhlIE1ha2VmaWxlDQo+PiANCj4+IFRoZSBweXRob24gc2NyaXB0IHhlbi90b29scy9tZXJn
ZV9jcHBjaGVja19yZXBvcnRzLnB5IHdhcyB1c2VkIGJ5IHRoZQ0KPj4gbWFrZWZpbGUgcnVsZXMs
IGJ1dCBpdHMgZnVuY3Rpb25hbGl0eSBpcyBpbnRlZ3JhdGVkIGluIHRoZQ0KPj4geGVuLWFuYWx5
c2lzLnB5IHNjcmlwdCBub3csIHNvIGl0IGNhbiBiZSByZW1vdmVkLg0KPj4gDQo+PiBSZW1vdmUg
c29tZSBlbnRyeSBmcm9tIHRoZSAuZ2l0aWdub3JlIHJlbGF0ZWQgdG8gQ3BwY2hlY2sgaW52b2Nh
dGlvbg0KPj4gZnJvbSBNYWtlZmlsZQ0KPj4gDQo+PiBTaWduZWQtb2ZmLWJ5OiBMdWNhIEZhbmNl
bGx1IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+DQoNCkhpIEphbiwNCg0KPiANCj4gSXMgdGhpcyBh
IHByb3BlciByZXZlcnQgb2Ygb25lIG9yIG1vcmUgZWFybGllciBwYXRjaGVzPyBJZiBzbywgeW91
IHdhbnQNCj4gdG8gc2F5IHNvLCBmb3IgYmVpbmcgcG90ZW50aWFsbHkgcmVsZXZhbnQgZm9yIChh
dCBsZWFzdCkgcmV2aWV3IHB1cnBvc2VzLg0KPiBJZiBub3QsIGl0IHdvdWxkIGFsc28gaGVscCBz
YXlpbmcgc28gdG8gY2xhcmlmeSB3aGF0IGlzIGJlaW5nIGtlcHQuDQoNCkl0IGlzIGEgcGFydGlh
bCByZXZlcnQgb2YgY29tbWl0cyA1N2NhYTUzNzUzMjEyIGFuZCA0M2FhM2Y2ZTcyZDM0LCBJ4oCZ
dmUNCnJldmVydGVkIG9ubHkgdGhlIE1ha2VmaWxlIGNoYW5nZXMsIHRoZSB4ZW4vdG9vbHMvbWVy
Z2VfY3BwY2hlY2tfcmVwb3J0cy5weQ0Kc2NyaXB0IGFuZCBzb21lIGVudHJpZXMgaW4gLmdpdGln
bm9yZS4NCg0KU2hvdWxkIEkgcHV0IHRoaXMgaW4gdGhlIGNvbW1pdCBtZXNzYWdlPw0KDQoNCj4g
DQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 12:37:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 12:37:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454797.712349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2XCK-0006iG-E6; Tue, 06 Dec 2022 12:37:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454797.712349; Tue, 06 Dec 2022 12:37:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2XCK-0006i9-A2; Tue, 06 Dec 2022 12:37:20 +0000
Received: by outflank-mailman (input) for mailman id 454797;
 Tue, 06 Dec 2022 12:37:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2XCI-0006hZ-Ul; Tue, 06 Dec 2022 12:37:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2XCI-0006oN-RQ; Tue, 06 Dec 2022 12:37:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2XCI-0003Ir-C4; Tue, 06 Dec 2022 12:37:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2XCI-0000hM-Bd; Tue, 06 Dec 2022 12:37:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EKeJnOWN8S+qbWcIopjnCA46jwtd2NdurohaKmVI6lw=; b=D0aYNtPOr12t6chDC6IgEQ0rDo
	vYJe1l3SS/0Uet7XwLgVG/EvUOp4BPJlwoldNM2wX65fnyWwIM8TXAXwA49WV6Mdi+DOpOVP/MSni
	1mojZENIjGmoSkIdS7OOVVOzlXfwcZ6eoZ+MmezyBjCLNINr7Ycke0j+HPbv1Pxy3hjY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175059-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175059: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a639248bd0dd1f1ea0b020dd16aab8a7bb76ddd2
X-Osstest-Versions-That:
    ovmf=7bee2498910a9034faaf90802c49188afb7582dc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 06 Dec 2022 12:37:18 +0000

flight 175059 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175059/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a639248bd0dd1f1ea0b020dd16aab8a7bb76ddd2
baseline version:
 ovmf                 7bee2498910a9034faaf90802c49188afb7582dc

Last test of basis   175047  2022-12-05 05:40:43 Z    1 days
Testing same since   175059  2022-12-06 10:43:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  MarsX Lin <marsx.lin@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   7bee249891..a639248bd0  a639248bd0dd1f1ea0b020dd16aab8a7bb76ddd2 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 12:43:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 12:43:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454814.712360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2XHq-0000If-1x; Tue, 06 Dec 2022 12:43:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454814.712360; Tue, 06 Dec 2022 12:43:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2XHp-0000IY-VM; Tue, 06 Dec 2022 12:43:01 +0000
Received: by outflank-mailman (input) for mailman id 454814;
 Tue, 06 Dec 2022 12:43:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2XHo-0000IR-IJ
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 12:43:00 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0602.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8340a1d1-7563-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 13:42:58 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU0PR04MB9693.eurprd04.prod.outlook.com (2603:10a6:10:322::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Tue, 6 Dec
 2022 12:42:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 12:42:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8340a1d1-7563-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fbYznsmAC4Inor1X1CigEQUFrc/rvrc33HnAoVb0M22tWNxRMTTXM2HmNYIJoFsW4Ze5mmR7qQEP4buAdNxLLQORAxYfjCwx8BdQvTUiqn2wVkolx8H8GjhilsZIRBEflGrTD0rw+ua9E6ChQmWJtZtC4hubkfmB1zFg7NOQEsKeU+Vy9XGXiVrFpfBbgHZdb7D8DrjBsAsuDBseSV20KJZNR3Nm64b1xVKM07pD5jVvDgGdLihy2OZEsCO28YNgJewxo4k4MhlVTk6Ms97nY/Z6/9ihbtwYxqqxJr5Te1huefrAZD+WdbQ+8sF4Guz7X7VzcZ1JBIbB7iPawwb47A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Cq+3cPuAIh6ha3JvbHeSayWTcEfl07kbwc/ma9eUPNM=;
 b=O1BaHBKlnYAfqVkpK5f3zzxHYr7OYCGO12fZt7i+gbjCs13nxRW3B76IPE4SJDKqbtMzrSRqUCQsW/fuhmt4MT9r2Ah4VzjAx9ekNhHu3DW05g2KY9R9i4N4lDf6rASxPiwUqFLYOAUVl9lt2OvmdYNuPx3/4VmaLPncXgO67gKh4Hr5CTgjyh3QlWu05vBNFUn0Cv2Npluhq5PyFUX8TsY8hrBNnCJSs904LufdNh4Gv1WoqlD0p0RmktxmTzBe6f6OWzogVLJ2v3ITEjbVHKohKhe2FIQnmCuZx++A2LHKM1N7rLq3hoxixImn1xs87KrcEbgOJGnTt03OjnNtcQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Cq+3cPuAIh6ha3JvbHeSayWTcEfl07kbwc/ma9eUPNM=;
 b=KpO3oK+R54zzCPuypIj+vOSq3/A3I62CnMuC+I0QD+hMj/q60FNEXmjPa+wTeBTfktYwpRwYHO6sJtKzjQncSdGwv7WSGMuPA2G2taUfdiEKKP1pxpbp/rmvPOvq6XAVyR7UOGgc6ZCSKBgqxGYMThH6Umk3KwNS/hiG39ncX2nUJ8u7CbuWE3XWZNN5zlN1dOToE69z76Uoc/k6+WhNm/+l6nfwubONRPL3U7fpJ1yMbzNv95HjfH2wXaadBo6AZHgaNG3lbRpyuNO8fEQaDuVBZ9lD+r67Ucb/062w4KloWRIbHheTIY2LZBhNaHo3di0VTbgvZckMvC6/Y6H+Xw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0bfa1b1b-7ae0-03c9-0291-5ce3f6877693@suse.com>
Date: Tue, 6 Dec 2022 13:42:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] xen: Remove trigraphs from comments
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20221206105932.11855-1-michal.orzel@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221206105932.11855-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0174.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU0PR04MB9693:EE_
X-MS-Office365-Filtering-Correlation-Id: 498430e3-177b-4c53-b49b-08dad787663d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WKeceRssAs+jTbocch3v7/XgU6YB6IHPiTPmyPMTc/7eMGHAIE7Cjnc/BsIoz3gKh3IyEzq6h/sKGrf2CP84jMYgXWzbfuSgksiEAFiU8XRSV63ch9DBnNx0n31YKyypzN9bKmgwy4UXKzSt+GnQMy8PmmlljrKNDOzCoQQ+LIyYYIXgDUtxKql5QY/ISeDVtETdsiaU0C6ggT1jZjI6Ag5ArtL9Hjxu5VXUapoB/uafEm8SSV2RD7LSgZ08HDbEiVgVJ5jJFCzvVUDyM8kYT0o13+Q0uFa4YGXdOHqqVVwuKTjonOPq+3UJXHGs3GvWztt6vzpR7HXLe3OPnOdx1OqzYTdCkA9DxQFlYhqOx5LqbYIf7vXks+43vylyPqpp7RcyzHDP8bfCXjCstvsQZ25Dl9VYVuXwbzUlidSgyiBsSTLVLHZvbuBhV8LPlFh1ivowtJEfbwOp/F6cG7O2/2ZeQtzFiXC1TMghZ4sD2CVqe1IDZ+jxqiSRcQj7YOVgt9tBjWTa8ONfWhvldYwZY1Wy+Kovbav0clWrgK5Uw/hSfLGnYu7Spn70vHx9QYbvJdtHMgJ34+uLarhK2lzru/zozSjn9hiCiJYVWelW7QGR5JoZqZ027KRZiksXJVlkZ0jbBHF3uD0x7B6CvNpMsYqnwZfnQkHqOvR77xmtIC4jeITgeUGnbFNx7rRY9jxQT63obB4CHjC2ryozcaOEHeOtIixjF7I/oiVEjqrcQdg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(136003)(39860400002)(396003)(346002)(376002)(451199015)(6506007)(8936002)(83380400001)(5660300002)(4326008)(8676002)(66476007)(66946007)(2616005)(41300700001)(66556008)(6512007)(36756003)(38100700002)(2906002)(26005)(53546011)(31696002)(86362001)(31686004)(66899015)(54906003)(316002)(6486002)(478600001)(186003)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NWllRXUwRE8rdWlTOXIxaFcvby84YnhHcVlKTUVWeHZrK2pLWVBrbGJvNGlM?=
 =?utf-8?B?ajRPZU03QXZZSCt6N01BbU9Kd3Y4eEdSZ2ZXRXZCQytxbkh3cDBuQi9lNWM5?=
 =?utf-8?B?QysxazJDMVhiaXhaSXVyWVpHVGxEVTFxNmZPSEpvSnNLYUczTkVVMlMxVEpU?=
 =?utf-8?B?eEh2cktWc1RGM3p0MVZZaU12NTlqeXZndVFWU3VPRmFHNkdLZURsSnliTXZ2?=
 =?utf-8?B?TEZSa2xRRHNrb2VxNENLc25JNE5rcWRtSitPY2lPQjBVdDJQSVExRWhRSjRw?=
 =?utf-8?B?dGdGZ2FLNHVwbEo1V2paeDB0WWx1b21CK0NnVkJVb3dUcVg5ZFNrak9UbFV6?=
 =?utf-8?B?Qnc1dXdWSzh3N1cxTFZaOFhFWGwxT0txdFljTW1LeTM1WUljV3M2MzR6a1ZX?=
 =?utf-8?B?bWdJc3ExNHhoWDJ6L1dTdHgxdEFBbmFRQ2dhc1kvYTVBUXNRaVg2MEt0dGFL?=
 =?utf-8?B?R2JOdGJicVN0ZmFsYXM3NkJOdzYwYXMyQlZ0VXdxWUVIQ3pPWUl0ZnQ2cmd4?=
 =?utf-8?B?NFp0dFEwVHNSQ091bGhMLy9ZbmxBeDluOXo3RXpHeFUyYnZlRi9zWXMwc1hV?=
 =?utf-8?B?QVAyTngrMmhQNy80ODFmeUlMNFlwMWhvMXR2QlZGZmNoUkhRN0FqYVFPb0Ju?=
 =?utf-8?B?c2I1bTBMTExSK2dzYjJWMHRTdGtidVlvY2JUdXJSSjI5REo1di8yQXZNRGdl?=
 =?utf-8?B?SnBMV0xrSkFlckpxbEtaNnZmRi9SVnFDVjRNczYxYmJZcytiTExzbnpBT2dk?=
 =?utf-8?B?VXo0TWUySVJkSjVyUzhwTHBxSERJVjNUNHBhd3BJVWFZSGd3T1R0b2kzZk5S?=
 =?utf-8?B?ejdOM1VKWlN2dS90Qm1ZNTFnWG1qOE8vQ09uUXdxSzBVbFc3WDcrRit2N0RZ?=
 =?utf-8?B?eE1BZHBUejBlMDFXMFdicHIyc0N2VGJjb2E0QUpKWWZTTjJQT1RqaURXM2pT?=
 =?utf-8?B?cERBTGUya1lpRDAwSi9UMjh4MG54MmgwZU54ZVB4WDh3WnV4bTA1THowSUlH?=
 =?utf-8?B?cllQVVJ2Uk1QKzNrdTdRSmhMR0diL0cyYjQ3WTBJRU5WR2JqSE1icGJrS2k3?=
 =?utf-8?B?SnI0UXIrL25FV0dKaFgzbGtheXEzOU40QUpDdlRlbnFwZ0hxamFEOHk5QUJk?=
 =?utf-8?B?MkNzTXBVYW5ja01sS2xTZXRVQkN0NGNhRjlKK2VjdjdrRXUwMjE1TzN0aS9O?=
 =?utf-8?B?emhMMUxOV2drbnhwZWhBLzV2YVJlWWE1MzUzNDlrYjFRRnBqWXpIWTBpNzZU?=
 =?utf-8?B?cW1wV05WREFJbk5kZFo5Vm1rNUpBeHZyQWpIcHpXbGREalFFWXo4YjkvazNF?=
 =?utf-8?B?YzMwYkpJNzQ5YWpUV1VsZ3hGVkpHbG9IaExzVDFJbHFwSHFuRU9ZOFVlclh1?=
 =?utf-8?B?bVJWRjBkWUZXbCtRWHZ6WXNQeXNpMSs2TTN6WjlYZXFZZlR3VDZROHZCdzBY?=
 =?utf-8?B?ZlVXTGNydGJhSjR5bHpaY3FNTnFma0xsb3NiN3FKMDVtQm8wWFJiS1JGK2ZD?=
 =?utf-8?B?OW55YkptcnBxQ2UvbFRKRXMrTG5EaTRKWTVpQTVJK2RrLzBkemtqMUJsL3FR?=
 =?utf-8?B?RHhWTWFJaWxQNm9BQ244WUFXNFBrNXRGVEVZbTd3aTFxaGZQMGRuZTN6WWgx?=
 =?utf-8?B?aVNSNmVCaU5WRVlTS2U4UXgveStsQXFBU1g1bG5yTnRIcEFNODdBMDg1dWJj?=
 =?utf-8?B?N1c4WlhwWGZLbjJWLzFFVHhWMWxpS2IyaXhYaG5PNVdwblFNVHZ0NHFhK2ZE?=
 =?utf-8?B?WXp5elFscHp1ZXY1UktNQ01qUk5PU2VESUFyeCtsaUYzbkRHZCtRak1hZ1BQ?=
 =?utf-8?B?dDMzN1dBNzBpWmQ2M0o5OWc5SC9ySldheDcrdXZ1T0VBcGUwNE50QVU1UmlN?=
 =?utf-8?B?WktmVlNyUE90K0U1UEpiUFpXUlY5OEpwZngxVXpxaWRqNXQvVzdSRmxlWkE1?=
 =?utf-8?B?Qm80RlhzZ2NkSm9JcXlPTnJVdGdkb0htSVhzMy9ibXdIREd1bTBaV2FkbzVZ?=
 =?utf-8?B?c0FLb0dUSys3MXgvRnBoaGU2Q2tUQUhIejNMV29RSEVQT0s4N202ODg0UjlT?=
 =?utf-8?B?Q2NPcEgwRDFCRlpISFRtSnJFbkkzZ0dOL0tFY0NmaU1YaDZoZWJ5MWxKTENN?=
 =?utf-8?Q?vSrDbmNPaBdT3L02llNnhju8y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 498430e3-177b-4c53-b49b-08dad787663d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 12:42:56.3473
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LveIj5hqTlnOG9ra2tS78FEZ45S/ZitksKphH9yPzslDKM2uFswiiLQq7YxOn0v6jdslhY3miBTETpqyXZoVeg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9693

On 06.12.2022 11:59, Michal Orzel wrote:
> --- a/xen/include/public/arch-x86_64.h
> +++ b/xen/include/public/arch-x86_64.h
> @@ -22,5 +22,5 @@
>   * A similar callback occurs if the segment selectors are invalid.
>   * failsafe_address is used as the value of eip.
>   *
> - * On x86_64, event_selector and failsafe_selector are ignored (???).
> + * On x86_64, event_selector and failsafe_selector are ignored (?).

May I ask that this become (?!?) instead?

> --- a/xen/include/xen/pci_regs.h
> +++ b/xen/include/xen/pci_regs.h
> @@ -246,13 +246,13 @@
>  #define  PCI_PM_CTRL_STATE_MASK	0x0003	/* Current power state (D0 to D3) */
>  #define  PCI_PM_CTRL_NO_SOFT_RESET	0x0008	/* No reset for D3hot->D0 */
>  #define  PCI_PM_CTRL_PME_ENABLE	0x0100	/* PME pin enable */
> -#define  PCI_PM_CTRL_DATA_SEL_MASK	0x1e00	/* Data select (??) */
> -#define  PCI_PM_CTRL_DATA_SCALE_MASK	0x6000	/* Data scale (??) */
> +#define  PCI_PM_CTRL_DATA_SEL_MASK	0x1e00	/* Data select (?) */
> +#define  PCI_PM_CTRL_DATA_SCALE_MASK	0x6000	/* Data scale (?) */
>  #define  PCI_PM_CTRL_PME_STATUS	0x8000	/* PME pin status */
> -#define PCI_PM_PPB_EXTENSIONS	6	/* PPB support extensions (??) */
> -#define  PCI_PM_PPB_B2_B3	0x40	/* Stop clock when in D3hot (??) */
> -#define  PCI_PM_BPCC_ENABLE	0x80	/* Bus power/clock control enable (??) */
> -#define PCI_PM_DATA_REGISTER	7	/* (??) */
> +#define PCI_PM_PPB_EXTENSIONS	6	/* PPB support extensions (?) */
> +#define  PCI_PM_PPB_B2_B3	0x40	/* Stop clock when in D3hot (?) */
> +#define  PCI_PM_BPCC_ENABLE	0x80	/* Bus power/clock control enable (?) */
> +#define PCI_PM_DATA_REGISTER	7	/* (?) */
>  #define PCI_PM_SIZEOF		8

We've inherited all of these from Linux, and I notice Linux still has it
this same way. Ideally Linux would change first, but I'd be okay with a
sentence added to the description clarifying that we knowingly accept
the divergence.

With the adjustments:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 12:44:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 12:44:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454820.712371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2XJT-0000r0-Ch; Tue, 06 Dec 2022 12:44:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454820.712371; Tue, 06 Dec 2022 12:44:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2XJT-0000qt-9o; Tue, 06 Dec 2022 12:44:43 +0000
Received: by outflank-mailman (input) for mailman id 454820;
 Tue, 06 Dec 2022 12:44:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2XJS-0000qn-1a
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 12:44:42 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2061d.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7c3ff16-7563-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 13:44:26 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8109.eurprd04.prod.outlook.com (2603:10a6:102:1c2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec
 2022 12:44:39 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 12:44:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7c3ff16-7563-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xxl/pM8kscnw16SFRva3tAmIINE/WYViaosIm9Z4gDnzoaLavWEsICqhyHAYcudKFQZz8ShodJ2m5IiL1RH0BGa2naczij+c5aP/5BNFHOjg+o9XGdSRk1C1Sp7yqwRGVjH/38JQqGIKCBFOb/q7Ug6VwRZLC2Xc0DLmXIM+jEROX1tzEEHT6hNomCCYBuDFxAaQOh+oxVD+Gu7z56VhiOBMSa0DciDfmpAnbmc9BiLqrpq/qM1s4+lLp/xeq9n4neGHZoQ99REruNxVV9rn9Y73Fnj7GQJuPLAKqsVeHL00ngiRVxF9hnX9X6DdUNM6thl5JoiC0am2GuzwULes7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=B+7o+XQPnfiubpfrXDvLjxyBS5xWTsFO8ZApZbBkb2I=;
 b=KZANppFMLktpixX/S6aL61KLLj6XUeHHOW3RQy7SQkD2CdBbDwUkUguSSfhzWR31jGBUIL4iZnP/WwP4hO3/nFNMsg0IAQ98xKWuSi9W8lhmQrJkWyhBSvLhVN09Lk6cR7lpKXnW4mP8q/3LHrhn+jMrAbfGv2712TZo8J76wCtJRT3CrSGWWjj+KG6hQMFfm0qUAfrptlFaBYvP+Robd9pR5D2qBgNTlaCJ3b46IFE5wPkBfucncfL9/+kx/Imr5fpI+02fpHbFADpw8i1SZYqz6ERvUqrD9HQ7WMR6XtRy/OWbDavGtDN6PzricSjBg4TSJbx45wvbJSnZ/TBqsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=B+7o+XQPnfiubpfrXDvLjxyBS5xWTsFO8ZApZbBkb2I=;
 b=z4BPckOMmEFoxMLTeAmKTVawyHQpNZP/s5Xy/WMgOl6SFh0OWFj2U2mepP9ALPwtQKfpnhDBudUSpif90pVkWOvwtiHnKEXgCUQ/FJslB+zrZAEy5tQzRj2bxLzjJCVQafT64wXdcQ1jVTeTcVjk4kjHDlYKT2M6VcEcIfFhR/ICxFGaY3oqrJBBHmT2HTQ2jyuvbCALIC1JHh6Jo5xpM5SzgGijG6BmpcWSL2M1KyV8kQqLV023GkdosFtsJ/wx4Iv8sw4lTPmh75i54S5hsK+wRRZPwUDG7tOKcoGoEhQOcMRld4B+eb80Tg4XcOQ40VvoJWXoQ1hHPoTlrRwtRA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3f175af4-a17e-930f-84ed-7750077987a7@suse.com>
Date: Tue, 6 Dec 2022 13:44:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2 3/5] xen/Makefile: remove Cppcheck invocation from the
 Makefile
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20221205154052.14191-1-luca.fancellu@arm.com>
 <20221205154052.14191-4-luca.fancellu@arm.com>
 <45f4cef6-99ba-a37c-3e57-27b270d16f6f@suse.com>
 <A07F7DB8-6237-47D6-A643-C96FB371C1C2@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <A07F7DB8-6237-47D6-A643-C96FB371C1C2@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0146.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8109:EE_
X-MS-Office365-Filtering-Correlation-Id: ab36bbc5-80b2-4d6f-2712-08dad787a3c5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+j7DQehm06eDaTq89z25Feo7lVVLyc44tFmYIu4vBUoq+8FuyJJcat0Vk+LYG+gcBEhtEFx89bAERIcs1JWNS2+WlBsiPFZAoXDEZJeYr1JYdCDmkl4o8i/U4R5kLxEXTlq4ApTDf4LhLpws1IB12UP1fTK43rF4fqJ8Hk2Dp7GcEbH+v26XpEK/mfPNH1sfjLQZdw69EBFOYTYd7Nx+c1KuD9rkWU/QEjtYjl6TcYrfReu27OPVJjblofwze7Ka6iqbANvJMBeMW5qGEvWSws6fYzPKDvzcw0Wb0NXJxeKYCvOFIujYRuWiz39znpOUwDfO2B4KuqGCzYX96EpuSz6wQfRmlY7KgOmv6Xag3cbfTnTBN9cyCd+sKDextXaZCq01t8E4V6qdxw+9k4y9HVk2u9dpCE+4K+Z4gF/nRn0vNf9OQNxlNu4MrlrVhT0bSuirNadQHw51U8rhyg23w0KpiGda7Roi3bh0guJPdtSTBwTGk6IlzOVitiZJXXg1jlYcI7YhtS3b3kBXNBDe5MdTkfgbq0NZpGU2aCTStR7KXd+NEvBNjOSPBAh/jU0vJrmFm2JCJUezaIKURgN92zIvxEl+iYdigVmW7s5F17LINQlsUdbYjqoM2l+Lcwfs4tf+JAxnr/xXKKy4NAkeD0izC9gErYYN9RE0jG236njmgfArfGp7dhAxKP0qffIimm7XOzFOcPlIyOHo2ubcSFWsCvTuJvBrc7gNhxRh0Xk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(346002)(396003)(366004)(136003)(451199015)(83380400001)(86362001)(41300700001)(31696002)(5660300002)(4326008)(8936002)(2906002)(8676002)(6506007)(26005)(186003)(6512007)(53546011)(316002)(2616005)(66946007)(66476007)(54906003)(6486002)(478600001)(31686004)(66556008)(6916009)(38100700002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c0V6U3NYS2R2eVh6amhpOGNhOFNiQU56NUYyZ3pIamdiVHJNa3FjQjBNL0Fk?=
 =?utf-8?B?WTFWVXFFSUFOUWprTTBpYjRPVzl3aTZsQS9OcTVGblRURWphVGJzOFBsQWdD?=
 =?utf-8?B?VnNyV0FhMXpPSjRKM2JpckV5WkFkSWJvbzNPKzRMUUlPMmFsWGZURTB2Rnpv?=
 =?utf-8?B?SW92YmJQcGFOT29IV1Mzak8vVlNSUVZVUUNvbGtIWjl0UFI4VXFKVS9XQVhN?=
 =?utf-8?B?cUwxVnZ4eTJnaXV3ZUZZY3JzZzVCRHRtYnhMalhac1pXbUVRc1pRZURwMTFE?=
 =?utf-8?B?QWJTRXNRQ3duTWhuS2c4QThmTEdGOG1mU3RxcStuMVJva2tnNmJuYnBabVcz?=
 =?utf-8?B?QVk5OEdaUjNKZTFmU2NKV0hOd1JBc0lDaGdlamJ4cDBjTTdWR3gza0N1SS9I?=
 =?utf-8?B?YU9Ub1lrOFgyMFZpSHQwcE1QWkhxZDErbzlFKzRzZTdHN3l4dktSWStoNnZF?=
 =?utf-8?B?YkJlczVFNGFwN2FMREw5cXQ3N2N0S2c4b283cVMxWGRGL01CZ01pMmZwWkhZ?=
 =?utf-8?B?Y1hEeE5zOTZVcS9JR0ExOUZneURJdHhGdHU3YXBrZkxHeVBGNEV0QkRvVnlD?=
 =?utf-8?B?c1ZlR1ltU3ZJQTJDRzgzT2ZJWk5DR3NwQ0dlZE1MU0NzaWROc2w1dFpuZEVZ?=
 =?utf-8?B?dXJSNXU5eGZqTy93aEhoMzlGU3F1V0JvYm9mZWZ2bStmcnNYcFZxL29MaUM5?=
 =?utf-8?B?OFZZSWpQVEVrR21MQzRLSWI1cFM0aXRRdUxNQkgxQUZ3QTFJK0xNRHRGckt5?=
 =?utf-8?B?N1lLTVB0SmR2enFZYmE2ak9zRGdFUHVSdm4wbEJyQ2tkK2NKcFRTVWlSQUs0?=
 =?utf-8?B?bjJzWVdBQitNL3E1USt2S1hZQ3ZhTnFmMk1SbVNyUEtoenFnQ21KSEg5MzdV?=
 =?utf-8?B?NEM4bDJCMDNYRWoyVHhteEFGOWRvUTJCMXdOZVJrbitTRFpvSHpwczJWekJx?=
 =?utf-8?B?RjgvWitqSmtxV0FkY3RSc2l3N0ZtdlJEVWwrSzc4WWt1eW1wWVdZOVI0YlNq?=
 =?utf-8?B?NUF2NmZENHBMenowYlIybS9aaU85aTNrSlNSV2xDQ0xWcllIRXoyak1VMWtC?=
 =?utf-8?B?bk1ERFBjZWNvbXgwVXB2UkFKb2V0M1cvK0J6NlBmcjl4dmc0Ym5ibXBEcnBJ?=
 =?utf-8?B?RTRNMVE2TjJlTC8vMEh2RmxvK0pYYXdBdFIyZ0pWeFBHdXUzWlN5dEZrOC9l?=
 =?utf-8?B?TURFaEgxbk5UMU5WWlFiVENmUmFsV0orMk1KSDlFRVRGeGw4dzhsTjBiNk5P?=
 =?utf-8?B?dHhNK2cyc0VZVDJyWTNvYWFRYm9MUVVuSVltSWFZNGxMSEhZQWk1SXoyNmZy?=
 =?utf-8?B?azh2RWtGYkcwRER0S3Y5RUJHUm00NE9OS3U5NFFicER0TXVTY3dreWptK3NS?=
 =?utf-8?B?MmY2bkl5QzNYaFhUVDdNc1RGZ1UyZVFTaEk1em0rV2U3WEVqclh1MVk5S3d1?=
 =?utf-8?B?OFRYc1A5dDRJdW5HbFZxdkkybTVkRlE5TUh5TmNhT3M4dUxoUHhodWNXcTBs?=
 =?utf-8?B?bEhpNERleFNySldOMHlETnFsbi9KZnBPTWd1dUFqN0d3VmFVVUIzMmJhQVUx?=
 =?utf-8?B?bkNZdS9GVTZqc25tcHUzOE1CeXU0dGdqSktBYUhmaFdxR1VNaXZWK2ZTYUps?=
 =?utf-8?B?OEN4ZG9RdkpNb0c2SUpkaG9ON2JQSm1NRllsWTFvdkZ0WUpiblhmS0MzeDJF?=
 =?utf-8?B?ME1FRGw2dTU5a0RnanJBcnNlOGJ4WnhNbGNhVVZDYysrL2hIM2ppb05iQ0Vt?=
 =?utf-8?B?SDhOb1FNUHVDakFOOVRiblFNdlN4dkNtUThFMjBHcEszc1VwYy9WT1FINWho?=
 =?utf-8?B?Z0wrdVQ1cUkyOHhFcmZuNGF5clRCMWp4eVBHbmRTZTd1U2FnMS8ramxDKzhY?=
 =?utf-8?B?a2dnZkFEdWJnMVhkNGw1elVBd21BRXB1TGZzb3ZURzJ2NWZrZXlURVk5cjZP?=
 =?utf-8?B?UEp0aUExUG5rNXdjblJPc2gxK05uS0hjc1RTWUZINXRNTnBNbGpnUFgvdmQz?=
 =?utf-8?B?Ry9ncG8vUi9Ob2Vuc0VLUy96TWJsT2VmMU5SWHBqZk9ZWTlYYzZkdVI5ZlRw?=
 =?utf-8?B?bFh5aHhTQS9WOTVZSXhBbVdvR2dGOTR1Y2o2UytGdGhRK25KanFZbVlTZU5x?=
 =?utf-8?Q?C2mLzd24cqYa/8kYeJoXu3Drg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ab36bbc5-80b2-4d6f-2712-08dad787a3c5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 12:44:39.5916
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UapzQqQnQDbdCS/MDUh3Olxbk/zP5Ym1zBJTHDhHQPWgXiq4hklY6Oue7Y+k7rK1xU1k744uTfhVeD4mwmQt/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8109

On 06.12.2022 13:36, Luca Fancellu wrote:
>> On 5 Dec 2022, at 15:58, Jan Beulich <jbeulich@suse.com> wrote:
>> On 05.12.2022 16:40, Luca Fancellu wrote:
>>> The script xen-analysis.py is going to be used for the analysis with
>>> cppcheck, so remove the rules from the Makefile
>>>
>>> The python script xen/tools/merge_cppcheck_reports.py was used by the
>>> makefile rules, but its functionality is integrated in the
>>> xen-analysis.py script now, so it can be removed.
>>>
>>> Remove some entry from the .gitignore related to Cppcheck invocation
>>> from Makefile
>>>
>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>
>> Is this a proper revert of one or more earlier patches? If so, you want
>> to say so, for being potentially relevant for (at least) review purposes.
>> If not, it would also help saying so to clarify what is being kept.
> 
> It is a partial revert of commits 57caa53753212 and 43aa3f6e72d34, I’ve
> reverted only the Makefile changes, the xen/tools/merge_cppcheck_reports.py
> script and some entries in .gitignore.
> 
> Should I put this in the commit message?

Well, if it's a partial revert, then - as said - it would be helpful to
clarify what pieces are kept (and then also why).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 13:00:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 13:00:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454832.712382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2XYQ-0003dC-Qs; Tue, 06 Dec 2022 13:00:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454832.712382; Tue, 06 Dec 2022 13:00:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2XYQ-0003d5-O1; Tue, 06 Dec 2022 13:00:10 +0000
Received: by outflank-mailman (input) for mailman id 454832;
 Tue, 06 Dec 2022 13:00:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2XYP-0003cz-Jb
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:00:09 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e0380403-7565-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 13:59:53 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS1PR04MB9504.eurprd04.prod.outlook.com (2603:10a6:20b:4d2::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 13:00:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 13:00:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0380403-7565-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SPsoZGiqjMT/WL/tNk9X914l0ikxfyNR4rCwaG3Oqch+OcdzUoz7CAZd/BwC19y02mktArfIwoDhNDYIkGtlaBjqb/Rgs/zAY7AQkwo1V8Qrqot4OzQOSYtgl5d0Ym++QezNwPSyzPQrWEOs7sZTwIAMRdUIStgm+AJP8KGX6eWBYoYZt81lJZu0Nc2HU9DY/lYgpxK35kM8/O9KphOraGSLkYE1SGh3y7+5de3y86YR9lkvWQMK5LVqrnPUIeyh7s8EUdQD56CehqCX0blenaPXhNlOqugZFJPtx2bx4Bc+BlU5gBTbklqQdWCbSlTHvefvQG//WlcOH72CRktJ9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Uo1HI2wxCeGOb4dkJghuzUxBu03Az2/vKx/ZOpRpwB4=;
 b=Z+Gs+8qg59/QhPH4GJja6VBGY04IlZ7hIqIcOaoiCDt9jOvNIEo28gRRvk8S5Rual4NN69QKkecvckjs65sfuSdR+E9Xd4O51SmTgvb+3dnSNrvaJQ1qmCvsVHZC4rRCdcGaINmwTPOBxUgefJ+aBSc9GJP0wX2J72jWH1s7hw4f5x2tK1zJW6Kr3TjRB3qV9xAr1kCjgStH1BRWop2Wkc/jAqizH7kFOKCFDp6/PGC/pAIcA7YytZ9mxjNismSXyloQwcyP6ZQe7BDGB99JIt/CXjLpeVsqUm+M4zLvSpaK7R58mytTbnz1i9fqzVhFBxxmaBC5fGFSspf1Jqfc3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Uo1HI2wxCeGOb4dkJghuzUxBu03Az2/vKx/ZOpRpwB4=;
 b=SgS4RAPl/NZh1F1LTWTCz6SlFbZ+HwCNIscG1sQbncHj47Yip/n50aERyfNH8qd3jcholx5moH4kmP+jLrcmuyY82J11GwuySVEmE84ilu084JckuwV5vx13NmybxCwPXyJ2PyS7UaXCSdqlb0641saq4obOi1OtHbmGDps5R8fBNj8VGnsl2p3mNF8d3PX/kWkQULZup/siKFJF3IaP8k2xdjzHvoX0NeoZwSS1B5HQ1z1juQNdcm/Lt69AeX070pDWjPNlwWy72AAG+HdB0fb7u3NhVkFElF6OdAGCftaw7EuDnTypHnvbefujXfgBKTrxvutw8ca35yiBUo/9Iw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8462a401-17db-1b34-de7c-d0407ffd92e1@suse.com>
Date: Tue, 6 Dec 2022 14:00:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86/HVM: drop stale check from hvm_load_cpu_msrs()
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0071.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS1PR04MB9504:EE_
X-MS-Office365-Filtering-Correlation-Id: 51b71944-7f73-48fb-a447-08dad789cbe3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PJR5xsBM14HFCAZH1T5UhlDbFCquWXcj2zNK3QczjoANSZ/Ks3L91vdAwzvn1/PcwgqO81RRgDlkXTMN2LehDeZzQu4ErZLvxuYcvkFuQvvYkPsGkHZOXqA6YqSCsFZ9f0CIWD6Qg+UFErXIp6F3ybIpO2hI+nAFVFRhu13A+377Cc+qIUIXOHkBp19F6E3vulwTLOoGpE7ZlYmK6HM+XlMqNLniQwoFXVAFRQkZovjJNBsUC9DJwLutF7xRbMTi/ljTu8PtDAra1KeZCfXw3nC4tOH8CBocWpGlXhl0H2mWu5soRkGxTJbDwDdOfZxxI/qxwYQgJ/2+bpyFKubWD7n9IjSCP++cYMj0aGwMP0kUHlx84t0+0bBVRY2OqUt4uZrs+6NWfVpZJdr0M7NgZFouijhnbusJWU8+NnglRtAweP/1geMTPfyaEx5ELkUApCLtW4q8VeUSRpepAHFSX4CfaU9JmA7U2h0JGGJiTgO4iRbVqbTCgWElCkYTgZOeFLFayWaZUTKluWoz9wSYr0yx2CiamLGnOPQMXdyNXgGT/jf0wPUSjyZFQDD+JRVHE3MMHP2NnB4E1J6FstH8Gyv3qFhVi6fUyK4iD1xv6znwhAB0Ead0UpsP2itimTRCF5OuqPwnl9mFP3GQRHhDRUx7f6gr+NOm9uGJJKeIUWezqLbjIpfUtQo8IwZ6cfBAdRXqnOKamQ4qF6RUcCcsDt5ypDvMLp4FV5FIQmwFL4w=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(136003)(366004)(39860400002)(396003)(451199015)(86362001)(41300700001)(31686004)(31696002)(38100700002)(5660300002)(4326008)(8936002)(2906002)(8676002)(6506007)(186003)(26005)(6512007)(6916009)(54906003)(66556008)(2616005)(6486002)(66476007)(478600001)(66946007)(316002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dTAvUU9ROTZ6NUlFTlRRajE2Y1BBYndFQ0dUT2tUQjZiM3VUY3ViRllZdEZu?=
 =?utf-8?B?WGh6UWVta0xCVmxuMnBWZUVxblByaEdoMVRBQ1c0dWpwSkRFeTd0emp4WjZp?=
 =?utf-8?B?NFdQc0F2YlZyRFJyM2g5Y0p0SjZOcm1wT1ZFM21ia0VDdCt6S0p3Ym1qVFNj?=
 =?utf-8?B?Zk5xY2tSQnQ3Qm1NandqQkQvM2Qyc3VOeUxGeEQ4enBFQmlsbzZnbmQwY01j?=
 =?utf-8?B?MEdnS3hzZ2Q5eWVHTHN5aE9Hb0Y3Y0JhRW16REEzVnJWZXBlcVVZUnR6c1BV?=
 =?utf-8?B?dWJWakNCS2FMVnJOMThzL0FwK1ZZWVV3bDFIaUdMTk9wZlVXTWplSkkrejNX?=
 =?utf-8?B?WUNUdkJHUnU4dU1aVno2VFRmZXo5S3RiS0E4U3JvK1BpejFYUXpKME96NVd0?=
 =?utf-8?B?VG9KaVRjeGdZWmRPb09iMHZYaDJ3OEkvZUJNZVlFN0hsUm15UStIMFlTdjh1?=
 =?utf-8?B?Y3AxdmtIellCMFk3UXVGcVYrSjNpTHRWYkJLMmpKeE03SldML1ZrM0ptbEJs?=
 =?utf-8?B?MU1kSnBpNTdPZ3h1ejBnWEplS1Yva2pUOUF1clZjcitqclhsZXRoZElWT1Z1?=
 =?utf-8?B?RktKRUpWVTBmYjZ4V2Mrd3lGa1k3NTZxTFc5K3BzTTRVUEZGVTA0YWI0QTd5?=
 =?utf-8?B?Qk53VXFkb2V4bmltclZzQ09qd2F1YkM0U21KQ3d2T2xhcUJKeHNKRVpoL0U3?=
 =?utf-8?B?elJtaXRlVDYybjJrb0VaSks2NWlvYjROSi91VXVHL1hNTnl5dVREbUdlK1N4?=
 =?utf-8?B?VVdTVDF6TWh2ZFAxTTk1dUV5bitWOWRYRVBZUDJiZVJ1RlM2aDNFcG91WHFH?=
 =?utf-8?B?cW02Y2ZJcjJmQWl3N05qM3B5SE5va0Y5YXFab2R0WC8rTnN4RUFrRk91bE0r?=
 =?utf-8?B?OHlEQ01CQk9WdlF6Z1FRVmxraFRSdHNsbkJkVmI0QUVtZ0NPaXFpOEt2K1Mx?=
 =?utf-8?B?SDJwQUY3MkgxdDJISUw2RTh1UU1qMkEreENQZkxBMTVqN2M5U2htcGREVTZV?=
 =?utf-8?B?MVVCQVdHaEpOM3hsOTgvWFpQZFUwc1lsekdkdTY0MDVZaVM1UDhLSWdvNW1E?=
 =?utf-8?B?Ykg0aTdDdWVWc004T3Q1dGMvMUo5OWRzZmY2NzZhWkpxMEl0ZHNSa0VRWUN0?=
 =?utf-8?B?MlFBWXJWRlp4RE5UcTF0MCtKL3h3bC8xYnZMVEZBVFBhMUprUjFRSlk3eEJj?=
 =?utf-8?B?bjNiNTdTZ0M5aDFYT0xKL0lzVEV2c3dFbFU2Q1RyZjUrN2NMbjE5ZVpuSkMw?=
 =?utf-8?B?cHlZbUQ5Qlc4dU9UK1UwNWNQSHNWcFV1TmdvOEFraEIxNTkyajNBakI3MGNC?=
 =?utf-8?B?eFlucnkyUjBHZHlUb2tkai9aU2lWZXpIaDM2RDhWVkREangwQnVsY3Rwd3N4?=
 =?utf-8?B?RUFnU09reVl1dUl3YkpPZE9IZFQwcmhiYXF1NWEzZEtvWTBXTS9wT1QxaXp5?=
 =?utf-8?B?ZjQ3Nk1naHFNdkd1djVCNUpCZFVWTFJLWU13QVJQKzVCQkNUL1ZVcjRMV2Nj?=
 =?utf-8?B?c3FVN2FLWmh4WENaQ2JDQUdkNmJmd1IzQ0NoNG5RVUVFdmlic1k3czV3VUZN?=
 =?utf-8?B?RjgySlBJMUxDWUFIbEZKSlI5Y0RCaEN2NVJRWjlSWUxneU9qdnFkZ2ttTU9s?=
 =?utf-8?B?dVFDa3dWRHZ1cFF4bXIxS01Rc2grSzd5TE5TNGJrNmVqZUZQbUUyc0dzL2pB?=
 =?utf-8?B?M1JzdEJzVGZUTlpFYmZvMXU1ZGc1d3k3RTgzQXB1NUNLQVNOY29QTUFWYisz?=
 =?utf-8?B?SkpubnBuN2VVWFpuZDhodGZBUlB3RHhXeG1HTjNBN0hmRUlFVzRYZzNyM2Fn?=
 =?utf-8?B?ekcvcm91ekZkeDJaQXI5dWUzVTRnMkFZMEx2WUxvMnlleGd3dXBoQmVJYVI2?=
 =?utf-8?B?T2FVbFFpb2RSQlpaVE1TeGg1dkhnS3Rza2FCYWVsUjRhbGFnS2IrRUNpMEwr?=
 =?utf-8?B?c3RjdUI0b0VqZEtkdjVxRzkzOHU2NHI3ZUNoV3FMbGxGNlMraW1vUUFXaE1W?=
 =?utf-8?B?cGhaekN5bmFKNFRqeHRaYnJ3b2R3YkYxbUI5dDEwcUVxYi9rMVpST1J3MEJQ?=
 =?utf-8?B?MUI4bUViMFF5cW1Bb3R4SEI4TFM1d3pmSjYzdC8zdzFJNjljNlpCQ1lMTFU5?=
 =?utf-8?Q?4yaOAL6GTHwnzJ1UjMPMjWFyk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 51b71944-7f73-48fb-a447-08dad789cbe3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:00:05.8625
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TyuPCdJZKQPvY5CjE9ppyCXozTCh/xJ3aZx5PeoTaoEgsVhz2cs3E40GOn1SoxabZGBOUIkGDMAIQ/AZ8Y7Fcg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9504

Up until f61685a66903 ("x86: remove defunct init/load/save_msr()
hvm_funcs") the check of the _rsvd field served as an error check for
the earlier hvm_funcs.save_msr() invocation. With that invocation gone
the check makes no sense anymore: It is effectively dead code due to the
checking of the field in the earlier loop.

While dropping the conditional also eliminate the "err" local variable
(using a non-standard name anyway), replaced by suitable new/adjusted
"return" statements.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Remove "err". Amend description.

--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1428,7 +1428,6 @@ static int cf_check hvm_load_cpu_msrs(st
     struct vcpu *v;
     const struct hvm_save_descriptor *desc;
     struct hvm_msr *ctxt;
-    int err = 0;
 
     if ( vcpuid >= d->max_vcpus || (v = d->vcpu[vcpuid]) == NULL )
     {
@@ -1479,7 +1478,7 @@ static int cf_check hvm_load_cpu_msrs(st
             return -EOPNOTSUPP;
     /* Checking finished */
 
-    for ( i = 0; !err && i < ctxt->count; ++i )
+    for ( i = 0; i < ctxt->count; ++i )
     {
         switch ( ctxt->msr[i].index )
         {
@@ -1495,17 +1494,15 @@ static int cf_check hvm_load_cpu_msrs(st
             rc = guest_wrmsr(v, ctxt->msr[i].index, ctxt->msr[i].val);
 
             if ( rc != X86EMUL_OKAY )
-                err = -ENXIO;
+                return -ENXIO;
             break;
 
         default:
-            if ( !ctxt->msr[i]._rsvd )
-                err = -ENXIO;
-            break;
+            return -ENXIO;
         }
     }
 
-    return err;
+    return 0;
 }
 
 /* We need variable length data chunks for XSAVE area and MSRs, hence


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 13:06:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 13:06:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454842.712392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Xdz-0004c9-FA; Tue, 06 Dec 2022 13:05:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454842.712392; Tue, 06 Dec 2022 13:05:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Xdz-0004c2-CZ; Tue, 06 Dec 2022 13:05:55 +0000
Received: by outflank-mailman (input) for mailman id 454842;
 Tue, 06 Dec 2022 13:05:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WiLW=4E=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p2Xdy-0004bw-8K
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:05:54 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e89::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b4f42b15-7566-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 14:05:51 +0100 (CET)
Received: from BN0PR03CA0017.namprd03.prod.outlook.com (2603:10b6:408:e6::22)
 by DM4PR12MB5117.namprd12.prod.outlook.com (2603:10b6:5:390::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 13:05:47 +0000
Received: from BN8NAM11FT015.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:e6:cafe::4e) by BN0PR03CA0017.outlook.office365.com
 (2603:10b6:408:e6::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Tue, 6 Dec 2022 13:05:47 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT015.mail.protection.outlook.com (10.13.176.90) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.14 via Frontend Transport; Tue, 6 Dec 2022 13:05:47 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 07:05:46 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 07:05:45 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 6 Dec 2022 07:05:44 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4f42b15-7566-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UGnt13D0MO5gT7ScwuUqMnhn7l2CjR6FXpczi31IWxemhqKzBLGBHmjE4CAkVCuCNgkPfphsksfPKUYsxgmiXm3F6nK6ztSovfc3Thhtpkk8ayLKLJlfbPaUKO3O3qIbVZA5ypueZtMjmqarzqG0mUPJXuytJAVuKrR9nOefROPZ9OmVREeK5XVotZ1plyj+kZZplcSnImqQqtO+rk2ML5lwQeMhrQt8ahEyHCRi8a/e05UrdHYWZrhhcCi9SxOjOb9AHwHwKyEKdxQQjS1UTUEUPDVGR7wEpMejBiFvfT/4btIFvHz3oX3AZQOPAGqdpynXy2gZ37CLenka8TvYaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8xAtgQeu/IEzuKbgUcGM0xxREArL7ZhQj8cAmn4U3VU=;
 b=g6h+ygWNssx8/J2YDO53SSIZfshQIFgx8TDEPYb8hKyVX81rgSJzX5L3Ssn81zGnU+QH46PUJDshSaJbZiSQ4lMh5G2n6ZSrwzMYgjFPr3jqzdPmEA/o/LDe/Et/oXCUFismXNmdV622yvTOvZbc/qwdhS76aa2KThQMTwk1w2GMb6H5GYukwEv3+FMf1gAagbaLvlt19TiH3rpVLsV5R72smLRJiXTfx1LVVGz5AvTVog+wdar0rB+yfINVnIVvMHjuVDRVpMfU63yJFsMI89SLCnqGbZgP77PmiCSwaqVEnps+ix1+boFAQUErOU9a8rRFzcQ6oBG1DaKCLkYXfA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8xAtgQeu/IEzuKbgUcGM0xxREArL7ZhQj8cAmn4U3VU=;
 b=PWcMEdn+6UB4oFJJDzvVM/eRq7plEUgNCVeawF4sd15CXfYHeCanQ8nDN9Q0KkDn77YTbT0TqOnMo8yQSW3t5t6VWNbDsw6T3OG9EQ6o8q1a8wkG9uHBbxGGkJlqQ+lgV90lHEpwvFhdLs+Hdk3ZbguXiOBm+Fi5oXwfczz5yPs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <92cc2cf3-4c95-1395-be2c-d076fa5d397b@amd.com>
Date: Tue, 6 Dec 2022 14:05:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] xen: Remove trigraphs from comments
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
References: <20221206105932.11855-1-michal.orzel@amd.com>
 <0bfa1b1b-7ae0-03c9-0291-5ce3f6877693@suse.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <0bfa1b1b-7ae0-03c9-0291-5ce3f6877693@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT015:EE_|DM4PR12MB5117:EE_
X-MS-Office365-Filtering-Correlation-Id: 00101c77-e793-4495-52c6-08dad78a9761
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zcOLfvgmaJjXP8gVag0fibYV/TtGA/zehJCaOi0wrnSMAylu/tYpB/3HEwFCV6fG8w4fjVkjJMMmtISDSSiFH3uYNSW+g9kzjfE9BOJEXvTW0O8birV++q6eaL5ENHqxxWORpTt2ReGVDKr7PO3NFbjP/tnk1/ZCipyxpuwJFBiaJ3HwYTYELtPjVsQiblOkwHkqC7TwvYNis7fXTge2BCwjh4+YBx3uGJPnNEP+HodzC9h5Ucl8V+yR/lX880nRuGa8I5j4jqeqIrfjyuCOw1lojOVfZF7zkpc5soQM1cKjTCY6x8ML9CSH461Uyg0ci+J8RtCj7A+jc6KvofY7RYK9wBNWY4YZfUkVtJEKKGrbGXaMgk7/HO+EbTn47Qj3nj/GGYG7yVu149yXiuIJwYKvQCm7RgL3We6nmfYQMNhV4/8mVGu/O6NWLmFb493ODWpmjM03xj63ZkqJlp+8UniLKzeoBQFFZvED/PgVZuHNq0J2X1mhO85zzVjJDsbmSuBfYpj2f3LgH2sFDbNfRt5XAtwAkkwBP/Miui4zBsyUlEmDA6iPrz6UoMsL/RY261vMRjv7dBS2E9yCTVFbmYKQVJCopYLNODEZ1iBtcd4u5sqZn9VnWYoEOPdbJsT7503TqgMB+YPaWti1wOpTF1yFlhpmECML4G0BPMniCumsZZdfF6o4k6uJIDPhvWi/jhecN6hFeA7HM0i9Z9RQ9UC0sqIDOX92hBnB5Gyw5Im8DA8U45IuE5BEhOVWRE0+VuVplX+noE3ihXX5auDm9A==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(396003)(346002)(39860400002)(376002)(451199015)(40470700004)(36840700001)(46966006)(66899015)(36756003)(82740400003)(5660300002)(31696002)(86362001)(81166007)(356005)(8936002)(44832011)(2906002)(40460700003)(4326008)(41300700001)(36860700001)(83380400001)(54906003)(70586007)(316002)(70206006)(6916009)(2616005)(16576012)(31686004)(40480700001)(8676002)(478600001)(82310400005)(426003)(47076005)(53546011)(336012)(186003)(26005)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:05:47.1074
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 00101c77-e793-4495-52c6-08dad78a9761
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT015.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5117

Hi Jan,

On 06/12/2022 13:42, Jan Beulich wrote:
> 
> 
> On 06.12.2022 11:59, Michal Orzel wrote:
>> --- a/xen/include/public/arch-x86_64.h
>> +++ b/xen/include/public/arch-x86_64.h
>> @@ -22,5 +22,5 @@
>>   * A similar callback occurs if the segment selectors are invalid.
>>   * failsafe_address is used as the value of eip.
>>   *
>> - * On x86_64, event_selector and failsafe_selector are ignored (???).
>> + * On x86_64, event_selector and failsafe_selector are ignored (?).
> 
> May I ask that this become (?!?) instead?
Sure.

> 
>> --- a/xen/include/xen/pci_regs.h
>> +++ b/xen/include/xen/pci_regs.h
>> @@ -246,13 +246,13 @@
>>  #define  PCI_PM_CTRL_STATE_MASK      0x0003  /* Current power state (D0 to D3) */
>>  #define  PCI_PM_CTRL_NO_SOFT_RESET   0x0008  /* No reset for D3hot->D0 */
>>  #define  PCI_PM_CTRL_PME_ENABLE      0x0100  /* PME pin enable */
>> -#define  PCI_PM_CTRL_DATA_SEL_MASK   0x1e00  /* Data select (??) */
>> -#define  PCI_PM_CTRL_DATA_SCALE_MASK 0x6000  /* Data scale (??) */
>> +#define  PCI_PM_CTRL_DATA_SEL_MASK   0x1e00  /* Data select (?) */
>> +#define  PCI_PM_CTRL_DATA_SCALE_MASK 0x6000  /* Data scale (?) */
>>  #define  PCI_PM_CTRL_PME_STATUS      0x8000  /* PME pin status */
>> -#define PCI_PM_PPB_EXTENSIONS        6       /* PPB support extensions (??) */
>> -#define  PCI_PM_PPB_B2_B3    0x40    /* Stop clock when in D3hot (??) */
>> -#define  PCI_PM_BPCC_ENABLE  0x80    /* Bus power/clock control enable (??) */
>> -#define PCI_PM_DATA_REGISTER 7       /* (??) */
>> +#define PCI_PM_PPB_EXTENSIONS        6       /* PPB support extensions (?) */
>> +#define  PCI_PM_PPB_B2_B3    0x40    /* Stop clock when in D3hot (?) */
>> +#define  PCI_PM_BPCC_ENABLE  0x80    /* Bus power/clock control enable (?) */
>> +#define PCI_PM_DATA_REGISTER 7       /* (?) */
>>  #define PCI_PM_SIZEOF                8
> 
> We've inherited all of these from Linux, and I notice Linux still has it
> this same way. Ideally Linux would change first, but I'd be okay with a
> sentence added to the description clarifying that we knowingly accept
> the divergence.
This file already diverged and we are not in sync with Linux as well.
Also there is no functional change being made by this patch so it is ok
to change Xen and not Linux in this case (which has quite a lot of trigraphs all over the place).

> 
> With the adjustments:
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Jan

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 13:46:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 13:46:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454853.712404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YGz-0001kG-H6; Tue, 06 Dec 2022 13:46:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454853.712404; Tue, 06 Dec 2022 13:46:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YGz-0001k9-EG; Tue, 06 Dec 2022 13:46:13 +0000
Received: by outflank-mailman (input) for mailman id 454853;
 Tue, 06 Dec 2022 13:46:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2YGx-0001k3-S5
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:46:11 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20617.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ce26e80-756c-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 14:45:53 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS1PR04MB9654.eurprd04.prod.outlook.com (2603:10a6:20b:476::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Tue, 6 Dec
 2022 13:46:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 13:46:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ce26e80-756c-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ddZ91rCTqgxY7yZ86oFWqtPQ//hHgz7+cCCPKVlbW7iJpSvfRB8FfJdQYKpv+LQ0A37R8ATz3GWmHsSFRBGBFN6gVfbem9NNh6WgfyQpn+FYWybbrA82MVaX5dtdPhjBsBrtAQyWu2L89fq2WtT5sBN0arOcZUYy3uXkNshfeL3p8rPvVlAoTIwG4p7WACXdUEeNqhx2FBibUvBngyvuNKo6lkKpqDYNB2qV8V4Js4xGE81gbW75QpvAfaVtabL477bJj0abhhW62KK4uMFWN2YPKN6vFFl9fOyU+iaWRG3+yQ5E07EnPGPth/HCU71LZjKk9cvVap8+tgC1lH7Pbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=duFnB/IwvJt5wp9SXSqzjxVVxW21ojMLD7177JkGJ10=;
 b=W/ffVA4IsPqm/Z8kvYX/8vyWdDX1iP2KtJh3Uiz4ZI+U7gVMnSVVV+RDBXidLB5uNr6nHiFWwyDWi+QLstJQHNuLDFKjZ3w++mvdo1lXrFuuhzxtuGyfzZ+lFA1O0Wi9UjmCgktZPKrHR6MZ2HTNdbIt7g40hgJ+UUox3whaE50B3MY1keKOgpW7ghNGZp3GzRtirz5tTCG5hxojxNDja17opH0f1i3Pmo3OtMrNv+nonq6sSDHnk+FiDZPKB2yDe+aHU3lMAdUqIdI0fu622i1sAseQafGhSXkKkiQMwvk3G8zklxzo75SBGMTm99r1oG56srKb50mRqfMrs3J5jQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=duFnB/IwvJt5wp9SXSqzjxVVxW21ojMLD7177JkGJ10=;
 b=4nJjGG3qeYys8uXyEybYHsMUXsfwFfKn9u6/AaAhXtoaqHKvBV6eQrD3GIjkOoGtP86szvzHr3LrnMARwIYxH/1CICiDmHp8pJoyFtBH14v59qGZ0ZnFVeTcHXzhdRVlaA4LiUsD3+qd4z9gEkj2I0gTOFANJof6BJ0hklg68N+1CjuDH3gokXmzAHSasPH9rGOpDufCfL3uz8QXGrC9fsNNkYclnis+JbRyUZWqTZ/QdNhX3FwVAgR3GOJ+wTorMpohqANEuoHI/oO2PPPpK+lUWac+cdU6Be96bADkFqsNOgjcZbrpLkmjgG0exKKj33GYax9kr+Y723bn7jBPtA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cf7f8deb-ec5c-c6ec-ba5b-b7099830fcb9@suse.com>
Date: Tue, 6 Dec 2022 14:46:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] xen: Remove trigraphs from comments
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20221206105932.11855-1-michal.orzel@amd.com>
 <0bfa1b1b-7ae0-03c9-0291-5ce3f6877693@suse.com>
 <92cc2cf3-4c95-1395-be2c-d076fa5d397b@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <92cc2cf3-4c95-1395-be2c-d076fa5d397b@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0018.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::28)
 To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS1PR04MB9654:EE_
X-MS-Office365-Filtering-Correlation-Id: 03d01b72-b87e-4cdc-7588-08dad79038d1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KrqwSfU2/phx1G5Xw8UHxKzU9cJcRiULYaVztwWWKbO9ZXqnWQno/Vtl2wE/fLgSJA8SLRFUm4zZ3T4j67ZedpdVwwu+E57XPGJK+/GATGWZ2IlHX5MBn8BEyERF6NhOc/zkBKF14CcbFtQ45LONUZZEyC1trKR4gVVqAGpBSzNN+VJ/ddPP4cBhL1IPh7guAMN831jhPm5oQTAKTHI4GeqHk1zqHwv5OEfUzgP9d7Z09JRnug+H4b2UC+0+yU/H4JgDiRoUmS/JAIvitNChEiK1VNgH313DGBq0PIMPkOUWeojveQVsGsRJu5Z8bPcDNeJzmeXi/YKxJi+5fUG5NjfqN8SKnP+Klwff2XBY+icl3lskkLv8SHSuu3wLoacwT0Qm1/0ugWdb5ao9cRJ1bXEG2nBtNKtPhLNNED20tCq6EhL3GI+f1uOKQFFGL7WomZVKDRsAMjCtBl09TepwUACSKAniYWDjVfXBlEJzYkUbx1vpIF/Rt05z6su8IOvsIUGY5mzMvGz9cJKFoeSDYLmSvHP1C/kpIaU1bocAYKVQhqRBVDlPevNaIYqxq5DrnfKtjSKxj+stU5+etN7WjJwWV0p7IIIGk1JKk4rKZOAf0n+jtYMKtetQt5jOotQxTNCCSu7Zndu6GppmcUNa7Ub28QyhaezWUfDTKT63Nmbrx4t2SOkIJiKQD8nMPdW2aUtmPJH27uHQxW1x01drOD/4Lo3XllDHabJfWR4ojQA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(396003)(39860400002)(366004)(376002)(451199015)(8936002)(41300700001)(36756003)(2616005)(31696002)(86362001)(8676002)(316002)(6916009)(66556008)(66946007)(4326008)(54906003)(83380400001)(5660300002)(38100700002)(53546011)(2906002)(478600001)(66476007)(6486002)(66899015)(6506007)(31686004)(186003)(6512007)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?THNxeENrV1FrVS92OGk2dExicncySE1xQ0w4ZWpZWEZRcjFFY0RZbVRtR2tM?=
 =?utf-8?B?R010Wnd0cE5mOHp6dnNQODVvVEN5WEdnSDc2UGFEdVZpcDNDeHNKcEFLUHli?=
 =?utf-8?B?c1Z5M1krZ1pKdW9qR3VOd0tGS1ZPd2FoQzlOOWhsVVhXTGRZUER2Tm9aYVZj?=
 =?utf-8?B?M2FMOWRrdUFPQTY5bWFGSG1lYjZlTmsrM3BwSit2dzd5WXhvcnhjKzBtSitl?=
 =?utf-8?B?OHBYYnlYS3dYN3MvK1FRemVFaWtaN0ZjeThiV1Uva3F0UjVQVDRuMGNkcFFp?=
 =?utf-8?B?SEpmdldDTS80V2VndDNTVElQVVNNM3cyZEM1czNnazUvOEdzZXU5SE1xN3Zj?=
 =?utf-8?B?MytsQmVTb0FxckttQ2xyRVAyMnR4SzRpVFJmSHlQaUhna2pobko4T0s5aHgy?=
 =?utf-8?B?UlVTdzhOSlhOTlliVjY2dGRDRCtUUVF0NCtuVk5uRVQyTU1nTG1TTlQ4dlFr?=
 =?utf-8?B?U2RyOXlpVExDaW0rYlVMaWFTSmh5VDdvV1NyeEE0bE1wVWtFbU0rdXJrdGVT?=
 =?utf-8?B?YWVqczhlUmx3QlZoSE1XakROc2N3cnlZSUxBaUhPWEpwdHlpOEtJc2x2WEhM?=
 =?utf-8?B?SmorOWN0SHZhMGI4eGxJT2pkWEJEQ1hDdVpyNmJBL1FhNUV1MXM0QTVTb1ZY?=
 =?utf-8?B?Vm1hbmtNU3hIdk1FSlZza09PeEhnZVQxV0hUalpYSTh1amhrSSs5ZU1DTHRT?=
 =?utf-8?B?RHBUczBvS1lkVytlL3h5QmViYnVPYVpsZXhubmNnQ0lCbFhTck5wS0NyWEpU?=
 =?utf-8?B?cTArU3kxZ1UrZEVaMDczaS9vWExOa3JkNERjMEdaTWV4UWgxemxZNk1BM3g3?=
 =?utf-8?B?STkwWG5haUg0MFV1dHpFSE1ScjlTUnFtQ01FU1lpTnViTENqMlE0MkZibkNY?=
 =?utf-8?B?Szl3WmNmS3ZSMG45WnV2YU5NS1FmMjhUOWVrSndzd0pwTk81QUxwUlU3aldU?=
 =?utf-8?B?TW4xRnlHY2w4Tlc1UlJ1QkxIYm1WQlhzZGVOK2o4NmgzQVVDZ2ppNWJzelFJ?=
 =?utf-8?B?QnpKb0lMdHV2am1vaU5BMkRGbjZXcEt3WGJpNEpNQjdKWVZYRndTU2xUaFpv?=
 =?utf-8?B?V3F6SDhpTWc5ekNVYWNSTFJ0L0ZBd0dkeDQ5N0dqalkrTzYyQitpYW0rWHdF?=
 =?utf-8?B?QW8xMFFpSmQwSzk1SGg5SmFHQ1lTLzNHTjVHZDlLcDFCeVpTN2VMSFNtcXFI?=
 =?utf-8?B?Yyt2YTllSEU1MGgxM0NTUWo0NWxURXM4LzhoY3YxaC9UUkFxU3VZRHpSaDBU?=
 =?utf-8?B?RFFmdzhvMlFocmdVNTF6NzZMTGJrRlNwR0w1bS85dGVvT3Z0MzVFcE1FeXJ3?=
 =?utf-8?B?V1JqZEVzQmgrNXA5TFQ4MXJCdUc4bkVvcjVqS29WVm5UUGk4YXFVQnJpZElt?=
 =?utf-8?B?b2ZSam40ZG0xemFaUVd5b0JabUNmYVZ5Z1krbTV2ZmcreWtycVFsblQ2UGJk?=
 =?utf-8?B?WHl0M3dYM095dlN0aURJZGNITkU3STdHVWNkZlNTc0pqVUZKVldPZTNKZEJz?=
 =?utf-8?B?NTFsM0svMHJCZm1LaldqOEVoNHNwRFIrK2EyMjArUUc4Uk9qWG5oSUp4N0Vi?=
 =?utf-8?B?c282Nm1ydTJBYVdpWEdmY0w3cHpNQ1R0NGI4eGhNVzJ0VWpCcXNvQnB6Uy9h?=
 =?utf-8?B?UW1tdmlvbVJaNjRaK1d1UmFuczNlU0g2UThhQ2UxMXVBc3JNVFl6MzJRNTZx?=
 =?utf-8?B?VENycWt2VTBWQVhHcXJqcHJkc2N6amhXRHJ0aVJNVVluZW5mcnlFNUtyYjQ5?=
 =?utf-8?B?akhodnJpZ0FrUG5td2lEeGhVRlAzMFNBaWs4N3IwYTgxR3dVdk5qTkxDK0tV?=
 =?utf-8?B?N0ZYakg2QXJBcFZwa2RaRHhQOEE1UFQxdEQ1OFB3MmxxZjhqV3hUblNNNUZ3?=
 =?utf-8?B?K0NlRHhSUHoreTBNNzFGbjJGREgyaGhjZDE5eVJqVEdFbFpuMVJuY2lsa0pY?=
 =?utf-8?B?YVZXV3ZReDdCa3cxZ3RkbkR3TUc0Q2JHU0QzR3VQUlRUZjB5cGQ2cFg0Uk4x?=
 =?utf-8?B?N2x4R1M0ZjdWQUx6b05BKzhQWnVFZXEzSCswU1JwTGVlVWxqVjV1SDNtU0N0?=
 =?utf-8?B?dlJVQWNnZm55ekhYcy95dkVkSWlkK0dNM2pMaUpvbUJxUkFWWUIxT3E4YUNx?=
 =?utf-8?Q?DymywU45n4cMFnp71t0/jrewt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 03d01b72-b87e-4cdc-7588-08dad79038d1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:46:05.6735
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vzJTgQddp6NMCXuHzMCfCmmlSNJ+RYeHLgtlNb2/BHh6GuMU6aXA8GGp2O34LDWPWJSSQfyY6Lk40A+jT4wgsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9654

On 06.12.2022 14:05, Michal Orzel wrote:
> On 06/12/2022 13:42, Jan Beulich wrote:
>> On 06.12.2022 11:59, Michal Orzel wrote:
>>> --- a/xen/include/xen/pci_regs.h
>>> +++ b/xen/include/xen/pci_regs.h
>>> @@ -246,13 +246,13 @@
>>>  #define  PCI_PM_CTRL_STATE_MASK      0x0003  /* Current power state (D0 to D3) */
>>>  #define  PCI_PM_CTRL_NO_SOFT_RESET   0x0008  /* No reset for D3hot->D0 */
>>>  #define  PCI_PM_CTRL_PME_ENABLE      0x0100  /* PME pin enable */
>>> -#define  PCI_PM_CTRL_DATA_SEL_MASK   0x1e00  /* Data select (??) */
>>> -#define  PCI_PM_CTRL_DATA_SCALE_MASK 0x6000  /* Data scale (??) */
>>> +#define  PCI_PM_CTRL_DATA_SEL_MASK   0x1e00  /* Data select (?) */
>>> +#define  PCI_PM_CTRL_DATA_SCALE_MASK 0x6000  /* Data scale (?) */
>>>  #define  PCI_PM_CTRL_PME_STATUS      0x8000  /* PME pin status */
>>> -#define PCI_PM_PPB_EXTENSIONS        6       /* PPB support extensions (??) */
>>> -#define  PCI_PM_PPB_B2_B3    0x40    /* Stop clock when in D3hot (??) */
>>> -#define  PCI_PM_BPCC_ENABLE  0x80    /* Bus power/clock control enable (??) */
>>> -#define PCI_PM_DATA_REGISTER 7       /* (??) */
>>> +#define PCI_PM_PPB_EXTENSIONS        6       /* PPB support extensions (?) */
>>> +#define  PCI_PM_PPB_B2_B3    0x40    /* Stop clock when in D3hot (?) */
>>> +#define  PCI_PM_BPCC_ENABLE  0x80    /* Bus power/clock control enable (?) */
>>> +#define PCI_PM_DATA_REGISTER 7       /* (?) */
>>>  #define PCI_PM_SIZEOF                8
>>
>> We've inherited all of these from Linux, and I notice Linux still has it
>> this same way. Ideally Linux would change first, but I'd be okay with a
>> sentence added to the description clarifying that we knowingly accept
>> the divergence.
> This file already diverged and we are not in sync with Linux as well.

Of course - that's the case for the majority of files we've taken from
somewhere. But a Linux patch dropping the (??) parts of the comment
(perhaps once whoever had put them there convinced themselves that the
names of the constants and/or the comments are valid / applicable)
would then no longer apply cleanly if we wanted to carry it over.
Hence my request for amending the description.

> Also there is no functional change being made by this patch so it is ok
> to change Xen and not Linux in this case (which has quite a lot of trigraphs all over the place).

Based on what criteria are you saying this is ok (unconditionally)?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 13:51:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 13:51:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454863.712415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YLp-0003Y1-80; Tue, 06 Dec 2022 13:51:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454863.712415; Tue, 06 Dec 2022 13:51:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YLp-0003Xu-5F; Tue, 06 Dec 2022 13:51:13 +0000
Received: by outflank-mailman (input) for mailman id 454863;
 Tue, 06 Dec 2022 13:51:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2YLn-0003Xn-Eh
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:51:11 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0623.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0106df9f-756d-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 14:50:55 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB8034.eurprd04.prod.outlook.com (2603:10a6:20b:249::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec
 2022 13:51:07 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 13:51:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0106df9f-756d-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NN7F64TOvjTZuKcQ4TZ4hveZrFRIcbqfPY/BXMrTLWJqXD74wNQnZIqbxvrH8IicfW4PvJa1szoaGcJXJ8OW1zv80IbJLaFaLmKrE+cz95OGDchvRIztlZSEBts843jwwcx+fmLcJCuyILbPQaXYyb3uxKDyu+u+6yuYNM8qZjpHjOcAxUZRU5MYTLlEhj91C+waB7jtYrLfJ6ZumWU6PB2LIwm+PxAJ7p6jpZpmRuP38Hgmx502WjfpZVmV85691wE/t/XHu/b8+8iNkP+HeLHk0GeP5oEkiaJfuqXE3Yo49TCv7KogxdJdpRg+s8YpvWB+tndWz3YS+872AGonbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zitPA9vA+4VoArL5sjEXotRF1OCfzd/8VEUiklva12w=;
 b=ZDXAz/ljvF7ptLud/wI+xMkPOKKKcX+clq+SOjpHjk9snmKmtPqNQNF8SL4eOvpVtcRAC9eJv37s/dN5rKnY478T4Obsm7r8zmk1jd8Bb7pLu8YMssrFwvDZ5ESFxL/zG2AkOObxlgPQuWtOA+Ik1Ave1CFvSkc+jCxkA8XliR7JnpSVMIwY2CVQoivT2cmc/hBu37ZfPUToSrL3seaBlub/gV3UWZZW1ObSaIfz8+3mBHylap4RfM8/IPUNLuNVVIuCoiHFWd5MuQhqH7bhDobzmXBHytq2YuW5c/aaIk08p10qnnAcw13HK1UD7E0v2G0WOsdGBQ/YqXsIdVN2MA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zitPA9vA+4VoArL5sjEXotRF1OCfzd/8VEUiklva12w=;
 b=mS27SIWeCCux+AAcFpaxjr5kfzhDD9Q7+Ip3xRUMeirjUqKBbmOiz5uCBK07l8wkipfUFJWdmjjdC9Bl7fqKgLyjrY2o4KKa6hZ2C1Zweq+n+AA3e/2CDob226OV0ukzVq5FkyyuZUYmqfjCexpn2QPdmmkjVJzxz/69J9AgRGN2bWF66dJMyF96zqU4PcIn5qygRXDDC8I26AB62OH7QDtsYyZjySe45a3aUhAxDMMihH/XxayXAqRaWY7Nd95gqVVHI05nAolpV5XiXUM9QtQxa4Lwm6ULpyc7s6a8jU2WyEpohWViIdxKiF0bhWe+andt0I8S6o6fTforBALVsQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
Date: Tue, 6 Dec 2022 14:51:06 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/5] x86: follow-on to XSA-408
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0177.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB8034:EE_
X-MS-Office365-Filtering-Correlation-Id: 30e6fffa-047c-4fc5-b56f-08dad790ecec
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lA5rg3bOxJLuObpmZru/Nj/KW6w2ByP5wh3sHVlrSie68uFSziHHicGwHRwj7xsFg5yxDvkXp6HLr67IbTzOwJ0piATS1rZl/EVMKQfXmLJXn8ilVyMareoOFZq5da2EQ4p8n01Gn6vlPrxg8bGDYNTVvGPtY6KKBxax0uo5oeQFgqTMl+SlPVfwb1tbneRWGuambE8WcgMy9IxswkTRbGdqe/flyeOzggCyua/EJigK/oVa+tzTeVQgX55RqqJnowvIRTMz3orELBZDa0q1GJOqC6N3+SBOLwrxmJvbOZGS7wUy5jVktqcG3xh76VtU+Q9xZtERnRvt0VxZSLQLtCtQavwrpMMfFYga801GoUz5tQ3QMfUeEIFfejdkkXI25Or9ZBMQEKBtFTDbIMwwp0qnz73AMg2fEZSLXnBK93W0TH+Raz9y22tzz4GPHczzyLwmF7ejPqKTpUm4aqTAVvh0EKMg5ILaveWyuA+sz0n+NauxNZkjDUcp1pNHAG9p0aCVgchziIDANr3tpk6rnNRPptyJ4Lu7K2E+fIXZb6FDi+LCuOTZ59yyvMBcWtahfn7CzzijsF9S+7ctEu5C/IkidhO+gRPhoGPnzMVnuWH7wqNgYYKIyzDp+QBDF0AtXmRjBycP7E5OXMENtLyZ+Gtv3J56apcrsvxPUCLBank5W1Js/rVFW5OSaCPctU1X3Ssv2zC8xwJyHUkd7YfB2DxkrF4YScasGskdzfDtVJA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(366004)(136003)(39860400002)(396003)(376002)(451199015)(38100700002)(36756003)(31686004)(86362001)(31696002)(2906002)(41300700001)(5660300002)(4326008)(4744005)(8936002)(8676002)(478600001)(66556008)(6486002)(54906003)(316002)(2616005)(66946007)(66476007)(6916009)(6512007)(186003)(6506007)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a2FwaXBsd1NlUXExbHNvR2UvQUoxOWtKTkg5Rm5jcWdWeUtGTnhKRUxvWnkr?=
 =?utf-8?B?RzBFZEpUSTFaVEw2MXZra3l2K0R4N0lua1hxMENqaGl2d3N4OFdXMk5Ua2tQ?=
 =?utf-8?B?V1hBdDRKVzkwNGZxUVdTamZ1MjVvVkwxdW9lQmFVYTUzbXRYZEU1N0xXMzVL?=
 =?utf-8?B?eXN5dFZzaU1FbC8vYWdvdFdoT2pMODRzMEUzbXNFZEdHemFlOW91MGcyMjdN?=
 =?utf-8?B?K0lhK3kvVHdEVE9uMDhSTDNUVFJWWFUxVzFtRm1ST0tqeGRqMEQyc2xvaGg2?=
 =?utf-8?B?WVlyaDdDblhZMGZxYS9UaHBHLzFDNFUwQ0tJemFaMWhMMWtkK2JoUEhieUtZ?=
 =?utf-8?B?ZFdzRytvTitFM0FuZWlINUd5VnZsSnBqL096NmhlWWVxMFhucTRmTUJrYmQ2?=
 =?utf-8?B?RlQ5K3lkdmhMYnpWSnl3QXhmVVQwa3FTdTEwKytTRTVoZkd2TkF1NGtpV3hZ?=
 =?utf-8?B?SjJFQ3MwMFA4SVNGZnAvdGNSK25BenZmdzRWWkR1dHEzQ0tYeE9nNWtHRUFx?=
 =?utf-8?B?Mm83WWt6L3pPVFR2WnJJL2gwRVdHSm5sbUt2VFhYU1BKYW1EdGoxak50bFUy?=
 =?utf-8?B?WGRFZWRzMVNiclpndERXV3NCUlRtVkRUOFN2OFo2NTkrVXZSbWlDWnc4VVJu?=
 =?utf-8?B?QnJuM1VOSWtsWmc2a3I4dll1OU9hcy9NOGpYbmh1bUxXaW1TSjBPWEtMTlFr?=
 =?utf-8?B?Q2g4eFlZdDRScGQyNHU2ZjB5ZjFrVGJ2WGFsWXAza3IwT1EvcEpEckhuYmdJ?=
 =?utf-8?B?akxNWVIrNVliZjdpMjJWTG1mbk0rdVYxakIwUW0wUGRRbXNnTHUxa2RXc3dN?=
 =?utf-8?B?NzZyTXFKOGZsZitvUTBnaFdGZlV2N21RdmowQm42RlgyejRHSHBHaUxzejhp?=
 =?utf-8?B?cWVRNThSRTNTMlYyb1lwRGVXOTNSN3VMWUhvYXRuOG5yd0s2RkR2a2NUYkpQ?=
 =?utf-8?B?QXJOSjBDeTRiT2dRNTNiUFR5aFpSSzROM3FuQU5hSGo2Y2xiTGhmM1pueXFs?=
 =?utf-8?B?dlRKVkVORmk1bnNjNWNHSzlGUDhOY1loTjJlQXl2cTE5amUzb0JZRmZCMkJN?=
 =?utf-8?B?SUdGS1lqa1h6SHJicDBSMDB2SVRPQWdkQnBmN3V1Q0cwS1c1OHdjVHJkUGlt?=
 =?utf-8?B?U0J4N21ZUGQ1bmVTTW41cjMwTUNhdVIrUUxUVjk4amFqVnVoT29HVVYyYmFQ?=
 =?utf-8?B?OCtXTm9jRktMaTNPWU1iYXA2K0VUaUNmY1VyQTBPYUhxL1hCaGFqRy9rSDY1?=
 =?utf-8?B?TG12Y21kb2E0aS83UzZBb0dXbk4xSW5CdlU1MTRVZFFmREVvZG9sdHFHeTBR?=
 =?utf-8?B?SjhWbGw5UHNtWmtzNWNSK1JBTlljL3pGeWNQMjVSbnZaMkdsOWRLN0Jwd2Q4?=
 =?utf-8?B?UDNGcGV6SDBGWm9QYS9nendYOEhRT0FaS284Lzl3a1ZLSytvc1lMRHlRbGRL?=
 =?utf-8?B?T2pYWTdkcHBlMzVLenhsTEgrTmNlM3FmQldSMDFvR2lDWGZ4bEtTanNBcWds?=
 =?utf-8?B?cGU0Ri9ZZ0lKZm9RVkVhMElMMEVwRk1seEhrQ2xUUjZwQmExQVJhaW9mWTRN?=
 =?utf-8?B?SE5Wblk3SHIyR1ErRjViUkZvRFpNZnRKc25GaHVwNWxiMjdOajFobVAzTVcr?=
 =?utf-8?B?RXpDdWM4ZmVtUFZ5UFVCMVRpZ1Q3WlExVHFIbjNiQVkwYm5TUGlxMUkvV2I4?=
 =?utf-8?B?dFRCUmhwU0NPV2FuTGJTWWR5b3UwMkE5cVkwQnYyRXpCRkhSbWJVL0x2QkY2?=
 =?utf-8?B?bnppYm91L1ZOdTRxQ0VQcGJuVFlVcXJMc3k3MmxpODJ6RjRBYi8ra0c4b1FH?=
 =?utf-8?B?WEJkSE5lUEtNeXhlVWJ5LzFJQ1F0a05ZNVNCb3h3WDJzVnM0d0NCSkx5VFp3?=
 =?utf-8?B?ZXFFdGxFdmdFaEJlOFp0SzEzd2NKaGJRMm53bmkreldJQ3MwK09KbDhLbU1z?=
 =?utf-8?B?RTViVzZSbTNHQ0dON0dKaWQvOU5MakJWUVQ5ekgzeGo4a1pmNGRMY0hFcFND?=
 =?utf-8?B?bERnak12TW9wci9QMWJIMUhhd20vV2dwblJyVnpPYUV6R25UWWQwSHRIaEN5?=
 =?utf-8?B?dUJ0bmJISVpmcFZacGdpTXYrYnZsSkhxdnJpRmY5ZlZkVzhQYjJaTVp1T1Jn?=
 =?utf-8?Q?K6XqLVD7y4EaSR5uILqDV3EKv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30e6fffa-047c-4fc5-b56f-08dad790ecec
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:51:07.8107
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: w3T6JMZHx4TNQvvzhSx9xLazf2quMdwjr6Gvk3VHsuZfjbTpO29Rl1B+iSfBs7q64WyNEi9y9Vp4FIdHLB6Lcg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8034

Originally just a single patch (#3 in this series) plus an observation,
this has now grown to five patches, largely as a result of discussing
both.

1: tboot: drop failed attempt to hash shadow page tables
2: mm: rename PGC_page_table to PGC_shadowed_pt
3: mm: PGC_shadowed_pt is used by shadow code only
4: tboot: correct IOMMU (VT-d) interaction
5: tboot: actually wipe contexts

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 13:53:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 13:53:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454870.712426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YNv-00049t-JG; Tue, 06 Dec 2022 13:53:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454870.712426; Tue, 06 Dec 2022 13:53:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YNv-00049m-GT; Tue, 06 Dec 2022 13:53:23 +0000
Received: by outflank-mailman (input) for mailman id 454870;
 Tue, 06 Dec 2022 13:53:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2YNu-00049e-Tc
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:53:22 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20628.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 57db0e25-756d-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 14:53:21 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB8020.eurprd04.prod.outlook.com (2603:10a6:20b:244::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec
 2022 13:53:20 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 13:53:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57db0e25-756d-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YlhwWD2Xjv1f9wf5oMlKDKGvS2O82vBvJMMHNC4Bqh7E02qyr+6ogqfpndaNa+vVhorjvJgdPgDu/89tbRSicq63zVRHdGP9E80GfS8JCXP4/+uLouT8sj1YOF2BEdY3x+kFw7hWkfIxONHJd5uQ0ybTpq1ZrQwiJYYlBF2HqaxdfKhywsrxYKGMy0nF06G0rEuoScyX6tSap3S0DMkbKQs2BE+6m45qT/Z6M9Mcpz/E+gaRwjyor6ovn1Opz+0+VNPG+n9RLJiLEGPbUQNKYxtP935Miho7r/jLhotbIkNMRTjypOuiaBH48X5RuUALGT+Gukn71W8G1G376J/sNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RJ9MikagtSu0p0ylnNCQKQnatGD4lZkmVnVsnHpUchQ=;
 b=dBhp9OxWY85ifQn4uoSdw0/1WDvLfaKmxpEJAYg9Q+rO3izV2Tlpn9wh3yHOqgXTMJDlBDOO0ZLWQbeKiAKdYhjq0cjmGqfdE1t0RV7WFglVliweK7Mt7+0rftAM85NjqEbyMeLE6wQwLf97lq//6QOr90OM28V1eKOYs4TdwHeH/wEIrTypWa1X6BdtmkGRAm1JFOgTyUulBN2ApL2E8TrFWAxfJuB88a9JirKowiJS6Nst9uzGSGIHBJcBQ2jZ/nnde/e81uL5xSmxeRNqMcMwEBMzj/Abq8/XiIFcrKEaY4ZgneFPhr1a9qEpO3RZIEspubzO+NKu3EGgHi+pRw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RJ9MikagtSu0p0ylnNCQKQnatGD4lZkmVnVsnHpUchQ=;
 b=pOhq+HkpN7NsSJM3sNoTmGx2vLQyJBOOghBQMCHKZrgOYXNI+297KjIicYvHII1JAznO9sobPCQNiSSCmRSXApQp7iByd4YuS2RqaOUKI0TpT4YiuSqX9pJ5ge3mfbIaPX0+5nMuNEI433kBevhrw6eS1qqjoXvRLDGdvVRVQ64R5VSSGlz6q9i0nLYKvAar3KiyH1SnX1PXKXJHsXzlV54lI/rfFl0L+R0skSG+z5fDxbamiSRpUsQpdj0lcZZp6eLroKlpoWrG460UhOLERifBMR4TqtZCdVEwEBICpaQ8mLmEhmdvHTM+uNjRPNuX+Wt+3itv+3UAVkdTEZETBw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <83f510bd-9a9c-3063-27dd-d894b1e8031c@suse.com>
Date: Tue, 6 Dec 2022 14:53:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: [PATCH 1/5] x86/tboot: drop failed attempt to hash shadow page tables
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
In-Reply-To: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0016.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB8020:EE_
X-MS-Office365-Filtering-Correlation-Id: 09bd3dd8-3148-493e-63b5-08dad7913bc6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	H91zhsey8d2YUcNgTKjhJ0ROU2680zUWNSfW8UirUNT6kHP/KqBgt1dvqRC81SvWxa3ZeSWouiz43S32fwfom0vVc4SbLe6GHaLx5Y4gUHnPW2gQkzKQXQgHG7Jtk+iDetuXUFeMGCyAGeLC2Uoq52EcbeehJnlIvBi2uaFFni/ctz9vxBGtmA/Gnc1+U6NuZC+r4yzZmfNaYa6dPKQZgnqkMcYNCWgS/lHRfkEYkE/O/87/u5LRMLIlcVQagbQq/s4s8FALGjSFJncqKxU/OoBD5xQzLl9syG9hluo/8OnuK2OeEgQ52g32liax4kYW/lM8cjAdfLAoPlu3D/yt2Psu1NNimyK8vfyGKY3H4supxmPzDNK/aOFFNd87fbcPzwVu17+tXudcv19oH4cbqg+HmNuXiZXpsfu1L3PIE8sHvMJyTeNVzrslfXEmKKwq3Ht6Sw1ITql7rrwARBmT+fIyLkSjCsCelCut2OhNFWkF9oGQIA7+8XCY5XfEpiARaIPjPYvATmyoqibkFVDEABpZUMAeWQeTwxwnJfvTxAQhqB0DVqyUSpV3cOwgFQ1+UrTPqR61C1DXnSB1XLBDYbbm7wfGwoQlaKA6zpdBXwyrJcJVHa+syoNY94u229sKm72dOnBLZ060MRnjHDwqUhJvQQ/u674XyPBYuqWBQNlJ+S3SHH8rOMbRB29hKvDxY6LEI2V3gzLCU4b8D8M7PFSqOpD8AtS0O3hmSLAQ29c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(39860400002)(366004)(376002)(396003)(451199015)(31686004)(186003)(6486002)(6916009)(316002)(54906003)(478600001)(31696002)(86362001)(36756003)(38100700002)(83380400001)(6506007)(2616005)(6512007)(26005)(2906002)(4326008)(5660300002)(41300700001)(8936002)(66556008)(8676002)(66476007)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aC9LMEZDTk5XaVF4TG1ZMm5qWlRxRVladWV3MEo0bU85TGJiOWpkMVpNRkRP?=
 =?utf-8?B?TTNUc2tnWlNhVmdGV3UvVjVreEozK2R1Z1Z4eENiWU1sd3M3L2QvUkhYdDVz?=
 =?utf-8?B?T1NsM2RINnpXVE1Vdm9ia1ROMHl3UXk5bC9DS2hvMFFYU2tCVHltTzY3UW54?=
 =?utf-8?B?SEpWOEY3WG4xMzJIZWRTVVNlQUZJZ0x6MEhMUmdLSjlGbW1GUE96VldhZ2pn?=
 =?utf-8?B?NjN5UnRvVHJsb0Zaa2N6VXQyVCszc0J1bnNaczNJaHp4bUlUaGtBbWk2OUFL?=
 =?utf-8?B?RmRuT1hpbjAxckJ3YTJRcTR1MTlZaGY5ZE5wSmxDVEs4NlRXcHNJZllwYzh1?=
 =?utf-8?B?dklqU3FGM0t6ZmR4L2cydVIyUWptOTJXSHR4U3Z2eXcvRGliV3ZFSG5uTzdp?=
 =?utf-8?B?d3JoN0xSVzhoaXFxMjV6OE04NkpPVFBFWHQ0MVc4UEQ3MVEyYmkrMVAxNFBL?=
 =?utf-8?B?MGt2QUJiM05iWktYTGJXZ0U0V1B3WUZJSnpCSXloYXVGNFduNllEVWF1WS9z?=
 =?utf-8?B?emNBS2Z1UUlVMXJVWUZXZ3hrc1g3VEdnZndLM1ZVUWhOZW53ekdWK1hVQ1Np?=
 =?utf-8?B?K0dLMU54c1hVdms3TUY5QjFUbEJJdFM4TzRkUUhjRTJNL254dFc1aEd3cXp0?=
 =?utf-8?B?NzJGQ0ZxMElYZ1dFanA4c3gwL2xxUDVVQ3VkTkw2bjlrNm5JaXp1OUNoeCt0?=
 =?utf-8?B?WmlXWUpsUkkzUmFqU2NiaHIvRUYyUXhCaldtb1ByQmI2dm41UFJmNk5kYWJl?=
 =?utf-8?B?RFVjeXVTbUNFUDJwbmJJWXNjc0tuYURTOUJkdFRET0NLNWhsVkU4eFR2dEtO?=
 =?utf-8?B?ZFRLcDY1UWx0S0VaZlZBaHc3WW5BU3YvTjhFd01JY1A2OVdsWkNqbE8xZTlj?=
 =?utf-8?B?OHdTMU1hY0xERGQ1NVpqaVlkUzNNSDZjT2ZqSXBDQVpOcDlCUjVqMVhPeHpS?=
 =?utf-8?B?S01BNGc2eGZyNFVTaGxKQU9ienFoSnB0S21PWUVKQWhoZ1NvWFBDKzVlVkNE?=
 =?utf-8?B?MUJaVXBrYllaVDVhZ3FpVWM4TlZGT0lqNnR4S1lwNVZqbmRna0kvQ0NIbEJj?=
 =?utf-8?B?VlY1Y3I4UmozT0hTRTdlMzhia3lOeTFCK3RFaVFLNmJXcmtEeld0OHF4RlRI?=
 =?utf-8?B?bE5ISU9kRFcxWW1ZcUNJR3B4ejRsOURnUFhXeFdiMWJacFJhQzFRQ041R3Bq?=
 =?utf-8?B?RDZJOVJSbldBQlFqRDFZaTg3aURoNTE2dDBmWFQ4M0xuTnJTOUZ3VDkxa1o5?=
 =?utf-8?B?ejNyb05hQ0NQZk90UjdPMmhGeTdLSEJ1eFpVUUtIRmlCUGczVjd0VE5nRitX?=
 =?utf-8?B?R3JOb2VZRFB1ejUvRStOeVRyb2RLTS9aQW5SdnY5ZnZic1hQdEtweVJaNmEv?=
 =?utf-8?B?Q1FUNjN0OHJNYy8zQmVWdzVaOWxoVllXUUx5Uzl3aHNFUFkrN1ZzNDhtOEdZ?=
 =?utf-8?B?ekdaNG9SNEU0alFyNW84QXV5RVZXU09hTFJEaFpHbHR3VVVtM3RJT29uenY1?=
 =?utf-8?B?UUtvOHVwdGNSRVBzUUZObHo3c2g5OStpWHl0c2xNdjJXYVZlZ2U3YTlYbEpH?=
 =?utf-8?B?dEpZNXlvbU9JaE1CUFdvZmg0UmxjNlJ1aS9nK1NvdFJHZWNYQ1JTeEFhQTI1?=
 =?utf-8?B?RW53L09KUWc3RjNtcFJpSlc5aFl1cjdmaDJmd0NlNjBvMDU1aEVwTTJsZlJQ?=
 =?utf-8?B?QlNFV2F1Q1FhZ1h2OXVwSFdlRTRtUkFmY0IxN3JRdExhcEI2dFR3RkZWK1J0?=
 =?utf-8?B?MzQxQUg0Y2hpOHM2eWNFZEgwRVNUcEZxcndIbHBYM0FnUFgvN0tGWk5FeVhT?=
 =?utf-8?B?NU1FT3VhWExjdWNDZE05eXpWQ2lpSCtidEtWK2RBcGJaa004bDhkUi9jMk5l?=
 =?utf-8?B?MUwyb1VaalVVODZrbnFuQTUzK1hZS1ZjVVpmWjM3RmxDM0pDUzFtTkVBNWEv?=
 =?utf-8?B?WEdqUy9HUjU5ZjJwUFpieFVyUFJ5ZnpRRVZPZWVGVHVTY2lZYmt6bkZIL1BD?=
 =?utf-8?B?UUhabFdKK0lwZGhEdzNTZnJ4dkdDSzdFYTRSVmpVOURwWDVRVk9LMTkwZS9I?=
 =?utf-8?B?ZTBMZkVxaWtVWUc0cEhZS25BNm1qcFplcEFPMHkvdFZRUHhBalh6c20zN1NK?=
 =?utf-8?Q?DA5n/CTcG84HnBJ+TkUmD2TmD?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 09bd3dd8-3148-493e-63b5-08dad7913bc6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:53:20.0839
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: M00zbxXOAgLqdWZriLoLs7ORhkr/Bzb6jNr30jSQRdsAhPcGklpRMy35xScMf96eGyiFtv9CZug4L+XkWhVAmA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8020

While plausible to do what was intended based on the name of the flag
(PGC_page_table), that name was misleading and is going to be changed.
It marks page tables pages _having_ a shadow, not shadows of page table
pages. The attempt also didn't cover the HAP case at all, and it
constituted a potentially very long loop doing nothing when
!SHADOW_PAGING. Instead leave a comment of what actually wants doing
there (which then also may need to account for e.g. the risk of A/D bits
becoming set behind our backs).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/tboot.c
+++ b/xen/arch/x86/tboot.c
@@ -177,29 +177,6 @@ static void update_iommu_mac(vmac_ctx_t
 #define is_page_in_use(page) \
     (page_state_is(page, inuse) || page_state_is(page, offlining))
 
-static void update_pagetable_mac(vmac_ctx_t *ctx)
-{
-    unsigned long mfn;
-
-    for ( mfn = 0; mfn < max_page; mfn++ )
-    {
-        struct page_info *page = mfn_to_page(_mfn(mfn));
-
-        if ( !mfn_valid(_mfn(mfn)) )
-            continue;
-        if ( is_page_in_use(page) && !is_special_page(page) )
-        {
-            if ( page->count_info & PGC_page_table )
-            {
-                void *pg = map_domain_page(_mfn(mfn));
-
-                vmac_update(pg, PAGE_SIZE, ctx);
-                unmap_domain_page(pg);
-            }
-        }
-    }
-}
- 
 static void tboot_gen_domain_integrity(const uint8_t key[TB_KEY_SIZE],
                                        vmac_t *mac)
 {
@@ -233,8 +210,7 @@ static void tboot_gen_domain_integrity(c
         }
     }
 
-    /* MAC all shadow page tables */
-    update_pagetable_mac(&ctx);
+    /* TODO: MAC all shadow / HAP page tables */
 
     *mac = vmac(NULL, 0, nonce, NULL, &ctx);
 



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 13:53:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 13:53:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454874.712437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YOS-0004fj-UC; Tue, 06 Dec 2022 13:53:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454874.712437; Tue, 06 Dec 2022 13:53:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YOS-0004fc-PV; Tue, 06 Dec 2022 13:53:56 +0000
Received: by outflank-mailman (input) for mailman id 454874;
 Tue, 06 Dec 2022 13:53:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2YOR-0004Xd-Pl
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:53:56 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63148b5c-756d-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 14:53:39 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB8020.eurprd04.prod.outlook.com (2603:10a6:20b:244::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec
 2022 13:53:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 13:53:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63148b5c-756d-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cORUnGF9deRLXrgyuyL4xBcbJerVE/LWz20fXZUs7h2hTiLLFnak4Kv1W3OUqVQjWL1ST5HzHWe+Kw4hjiIzE2YRO15oZsDd1po6kH0YR89BNSkatafcuKcQ/3ggVBKPOvCrgOqqQN5WxEOyuF+uzvfJjrPD+if6gjKs7IyuRm4jjiN9HRq/FggswCh05QI8VlgPLPb+E6OiCQrsf+3FuwZ4PSqIjk7IVzeDQPR3CH2sZZq88oLX+c07dqC4OnpAgutOeRnrh9OwsXyEg/0JTJOEem7zHaBEfKmBJ3w59/ZINrGiZNT43BEULTI/h6O2Pvtrjy5AauDx3eJcSEv+5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HaQX7UlAJBNN43bq2jRmVma+04kX6t3hW9mNWKDJ9Vo=;
 b=EwOvfci4s43d7I5LHRr1nemztja+khOJGAlcrNEGApQsiFdcQTCLcmlNGtQzWxXwPu0W8w6ccmljHMYJZxLIssk7+LTF91j0NUzhClExncgzNDGL4IslRggGNbyt/HaZi+SpoTb+z7twRWgHtUA0KGeHAxRKiIwKu3PWHex6sA7XFiFl95sMiRS0ALsG39LFQUBkcQcAEJ/2kgRZExs54v13aqzeV6960wacFOCyfFT6VBGnT7NCvrXF9Oa+ZRcz072Jo0KwyHIOK9E/4i8r5BI61/oaBd3CaiLmPMoGI/D8WuUKSih1wUViVpS1myUlO9agEbLZVvuaO1e/B/qyZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HaQX7UlAJBNN43bq2jRmVma+04kX6t3hW9mNWKDJ9Vo=;
 b=XzxsoEfHHSsizSeXB/gJ0elwJf1GXdCHrzIQOw6Gn0iLJ7g05J9ShzUc1q2Q8wYKmASitEompuQL0OTlMgOLD7zA2Iwg7w1E2CaMLoUhVmT4BeUQZjkTtNjMAflIz+kS5me4OwkH+jff69aS7Dc7m4NXcoPNaef0ruzRgkj5EbOSateHVu6JEBYXEpKLYGtU+cFI/av34qZB2hO9FmY1m3IeluRYg7n5cM4lzi/ME4AvPQbRdvNkjpMa2+ISloHIn/lV8LgrwBdB2BpxF7CIaEP2WtaT7aQfEaFO1mEs/VlM/jUQUMijsbgrKJd0YoT4bE8Ck1hr9CzuB4MIn5W/Dw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cb8f6cad-99bf-1656-4a2f-12a281481a65@suse.com>
Date: Tue, 6 Dec 2022 14:53:52 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: [PATCH 2/5] x86/mm: rename PGC_page_table to PGC_shadowed_pt
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
In-Reply-To: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0010.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB8020:EE_
X-MS-Office365-Filtering-Correlation-Id: 02e03e88-48b1-4faa-ee0c-08dad7914fa5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Pifqih2YAZrpZ5iByxrPizIqXz4WfC2dEP/1MAuaYlGNhih8y1nOuheP7ovFGxBS8uoly2LQcEOI52htu9N6DrmLYkmpe+/gZ2mFVi9eVS9dYKkESh8PY/s8PUwDfQ43qTvofgdmcohemTqBanGKo+bKw8i5dV+UkieE04Y/AVQxcusfTxrf0MEo0Hd7iggjqKiPnlTTW/8W0J+5daENapoOfCFA7o6fvlZF389ilnv5gu4LyoYrpGsc1dkSq1U22Atf8ckzUQYoa80OeJp4I+acMA5Oi7l/vYtwVZY8uunS7yGPM+W1SYr+eLRWIZEhYDrBE7RM8Ag7WGIIs9O/0TiPLvvaFjqecFj99+qDuc1oxgzR4yzdfwnYnSF1p9F54NGhp1dglxtVzW3DDcgtqbuNjylju+JmXHs7LirUQZOhB4ijpK0wGxDc7vmRc98mDQwj/ite8RIjP/MvIe3WHlU7fWHTFvgkTjtRSyG+Awqq84qCvkfIt0mu7ZI6ug8/E+GJc/QbrGnkjstib4hKf7JdPw11mAIPRpDpofxPq/Zxn68DVTjvRq0oe3zMhJCfXNzJk4uOBu9sao3XqqSEbZ4sSn28Z7cbxd7B/7nbm7oBBOyqBfUjB5mYD54FD+QeJmpzE9LPjoHS3RtSs1YNJDvsh9JenfzJ12cBV2GS9eIij5a3YpFh+iVvQ/X5cP2vSbtJIuzRcY+Vhj0kPcnnnKwhznLfzhDzUreECxNXcpQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(39860400002)(366004)(376002)(396003)(451199015)(31686004)(186003)(6486002)(6916009)(316002)(54906003)(478600001)(31696002)(86362001)(36756003)(38100700002)(83380400001)(6506007)(2616005)(6512007)(26005)(2906002)(4326008)(5660300002)(41300700001)(8936002)(66556008)(8676002)(66476007)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OFRKb3VESVNIdGduMkJoRGtoVVJDQkFnbGFSSHJDRGNLdCtJcmNEM0NBOEwv?=
 =?utf-8?B?cGszSGRtZmsyclBXMzlmNEZwWjRtaXZ3Z2d1QjlVSTg2ZjFtREozS3pDTzZP?=
 =?utf-8?B?b2NFSjE5TS85NEJLOFR2Y0FGYUtkY1p0aEQ5SEFkQXdFaVJyOWQ1aVNlb3lQ?=
 =?utf-8?B?Sk1pNmpWNE10QWM4QURFSlE4cHYyRXpyVCs3OFpRRi9qZmU0cVVzaUtzN3pk?=
 =?utf-8?B?bm43N0lkZ290Ukdiam42M2FNd2ZlVEdjSnNQQUE2Y1ppVTJYeFhKUGxhZDBH?=
 =?utf-8?B?djY0ZURjTmZ2SFRqbXZkQXFzMkY2QkVMcXVNcFpPelBpeWUycDRiRXUwTG9t?=
 =?utf-8?B?MHR0cTVoRDJLYVI4QmkxVlFyTk5WODhhNEd6NVVaSC96dWlpUUhpMTdPT3B0?=
 =?utf-8?B?WE4vY0pvZjl4T1Erb20rRW9iNjhUQm1UWDF1Z2I2c2U3MXVmOC9vbjZZUjdh?=
 =?utf-8?B?dUNTdHE4M3N5cWlRVlg3RUlUaEhPVXJwRi9nbE1jY3FUazhHandZOU9DWXll?=
 =?utf-8?B?RkZlZlZ5a29zMUJ6UkVrcEJEVGFWaUpPTnNGYTlPNXRZTUdkZXp1d0tabFVS?=
 =?utf-8?B?bWJJQk05K0EyTWdUOWtXckVQRndLTEJYOTBoQWp2SDFwS2t0aGtrV0pTRVhk?=
 =?utf-8?B?c3FSZVpwQWtTTFh4d2hEZmFJYWFIaHNMdjdIa2x4dGlzWTJUYXJ2bXdDRVVx?=
 =?utf-8?B?NVE3dWZucHA2RFhrRktaOFk5RGZ6NUNib2xITGZBT2dpQXhXb1M0Sys3bkVv?=
 =?utf-8?B?NEw0cGgxZDhtS3R6eG9KOUNFY0c3OHAwYzNWa2t6VU1hR0FQWGk2cEVKbEha?=
 =?utf-8?B?anEvN2JDZU43S21YNFZheCtyY0NVampNVnFRUTM1b3laZmFwUEVtL2xMUW9T?=
 =?utf-8?B?eTFzc1FWWWR6dlBQRk03bDY0ZG5WU2h1M3BGcVBIQWl4bFhIejMwOTNMb0lE?=
 =?utf-8?B?cHZPSzZDTDdlcXgzaWpmdldHcmJldjBqY0FNQXM2S1hCcG10T3BXTDZtOWx1?=
 =?utf-8?B?UnUvTlpWNy82d0c1QzFvNU1TNzZCQmVwRDhEb0ZjMVRaZEczVUxKWE5zSHJW?=
 =?utf-8?B?OW1hTUJHZUtTZUlsQlRQekZFWW1oTjF4RmhEMlNmTDlTZmljK0Y4RXMvWENN?=
 =?utf-8?B?WTc5VTFxQ1VlemJVaVd2bmJtUU9OZTIzR3Fjak11cndFZVRTcnJ2VEduWllh?=
 =?utf-8?B?Y3k3OHpQMFFYeVN4dFBNenFHNVJCTEx2dUtHNmYwNzFnY1lrVUVUdkRXbHNK?=
 =?utf-8?B?d3FJaDAxeGJON3YzQXlDV2FLMVlmSEtNektyamJscHJTazdEenRpa1pNdGpq?=
 =?utf-8?B?MWlVWG9wN0VSMWplUFpjZ3ZnM2ZKendHTml0UVY0WTVCaDJBSEltZmlHZk5Z?=
 =?utf-8?B?YTBsSHdQZ1F0cGk1NFVaeGRQZGZpR3Y3UlhtUHBianp2T3RQNjlyN2lHZFJV?=
 =?utf-8?B?K1NQcTJkcjZXNEVHTUZmKzlXeFNUQWttWE9vK1BaTkdqSkMrU2lCUllBRWFq?=
 =?utf-8?B?VnFnYkdZMksvVGduNThmYXdwUGJLVWIxNXBEZkhHaG5ER2cvUFBOUjFYcjdE?=
 =?utf-8?B?eHhweVYzV0ZFWkY4K2U2aWh2dUl3U21TQlVJMzB1aUVybzJlVTRnb0FuOUNr?=
 =?utf-8?B?NkRNREd3dWdqN1M5YjF1NGJ1NWZNRGVFNWV6akNScThudkZpK1N0QmVkb2lZ?=
 =?utf-8?B?eVloTXYrdXdGZkkxb3ZqRTBEb0JRV0VnTXlMbG5VSmJtam1RZG9RM2J3bTlF?=
 =?utf-8?B?MjhnVUh3ZTc1OGpGQWlLbzk5d0hxY3pIUS91VVlvT0xuVE51YktGZFZmKzF5?=
 =?utf-8?B?OXBuMjB2QVU5QUVyc2hwemtVa0NJcTNIeW9RVVFiVTlTVitzY21UanIvcmJZ?=
 =?utf-8?B?L0tEajFQTVJRbGc0R3Q1OHJnNS90ZXB1MUYxWGJBOCs0bXZ6dnJVZTZHcVpp?=
 =?utf-8?B?RmlGKys0UHA4REgzOTlFM0tYMzY3emRZcHZpTEI5UXd1YVljNFNSQW9IZHJY?=
 =?utf-8?B?Q3FaaDdVdm1Fd25oR2NpblhQL0lqelN2UUxKcWVKTVhscjNjMHpnUTk3MnpN?=
 =?utf-8?B?empJc21xQzRxR3NCSkpEbnRHRWswcXBRbmQyVVBNaks3RE8rb004dVNwcE5i?=
 =?utf-8?Q?4xzTEII1oJoPTeypHI2MfZYpK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 02e03e88-48b1-4faa-ee0c-08dad7914fa5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:53:53.4100
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BYMDL7R5oaeQLQrQC9gRQHUz6knvCUzszzxbEPa7dEG009I3oyyQKgTDBr1hFjqxQBJqDMPBX85wyVz8AYWXuA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8020

The original name didn't express the purpose of the flag: It is being
set once a page table page obtains a shadow, and it is removed when the
last shadow of a page was destroyed.

In set_tlbflush_timestamp() also remove the 2nd half of the condition as
being redundant (PGC_shadowed_pt can't be set on a page without shadow
mode being enabled on the owning domain).

Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -70,9 +70,9 @@
  /* Page is Xen heap? */
 #define _PGC_xen_heap     PG_shift(2)
 #define PGC_xen_heap      PG_mask(1, 2)
- /* Set when is using a page as a page table */
-#define _PGC_page_table   PG_shift(3)
-#define PGC_page_table    PG_mask(1, 3)
+ /* Set when a page table page has been shadowed. */
+#define _PGC_shadowed_pt  PG_shift(3)
+#define PGC_shadowed_pt   PG_mask(1, 3)
  /* Page is broken? */
 #define _PGC_broken       PG_shift(4)
 #define PGC_broken        PG_mask(1, 4)
--- a/xen/arch/x86/mm/p2m-pod.c
+++ b/xen/arch/x86/mm/p2m-pod.c
@@ -803,7 +803,7 @@ p2m_pod_zero_check_superpage(struct p2m_
         for ( k = 0, page = mfn_to_page(mfn); k < n; ++k, ++page )
             if ( is_special_page(page) ||
                  !(page->count_info & PGC_allocated) ||
-                 (page->count_info & PGC_page_table) ||
+                 (page->count_info & PGC_shadowed_pt) ||
                  (page->count_info & PGC_count_mask) > max_ref )
                 goto out;
     }
@@ -946,7 +946,7 @@ p2m_pod_zero_check(struct p2m_domain *p2
 
             if ( !is_special_page(pg) &&
                  (pg->count_info & PGC_allocated) &&
-                 !(pg->count_info & PGC_page_table) &&
+                 !(pg->count_info & PGC_shadowed_pt) &&
                  ((pg->count_info & PGC_count_mask) <= max_ref) )
                 map[i] = map_domain_page(mfns[i]);
         }
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -185,7 +185,7 @@ static void sh_oos_audit(struct domain *
                 BUG();
             }
             pg = mfn_to_page(oos[idx]);
-            if ( !(pg->count_info & PGC_page_table) )
+            if ( !(pg->count_info & PGC_shadowed_pt) )
             {
                 printk("%s: idx %x gmfn %lx not a pt (count %lx)\n",
                        __func__, idx, mfn_x(oos[idx]), pg->count_info);
@@ -716,7 +716,7 @@ void shadow_promote(struct domain *d, mf
            || d->is_shutting_down);
 
     /* Is the page already shadowed? */
-    if ( !test_and_set_bit(_PGC_page_table, &page->count_info) )
+    if ( !test_and_set_bit(_PGC_shadowed_pt, &page->count_info) )
     {
         page->shadow_flags = 0;
 #ifdef CONFIG_HVM
@@ -734,7 +734,7 @@ void shadow_demote(struct domain *d, mfn
 {
     struct page_info *page = mfn_to_page(gmfn);
 
-    ASSERT(test_bit(_PGC_page_table, &page->count_info));
+    ASSERT(test_bit(_PGC_shadowed_pt, &page->count_info));
     ASSERT(page->shadow_flags & (1u << type));
 
     page->shadow_flags &= ~(1u << type);
@@ -748,7 +748,7 @@ void shadow_demote(struct domain *d, mfn
             oos_hash_remove(d, gmfn);
         }
 #endif
-        clear_bit(_PGC_page_table, &page->count_info);
+        clear_bit(_PGC_shadowed_pt, &page->count_info);
     }
 
     TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_DEMOTE);
@@ -779,7 +779,7 @@ sh_validate_guest_entry(struct vcpu *v,
     // Ditto for L2s before L3s, etc.
     //
 
-    if ( !(page->count_info & PGC_page_table) )
+    if ( !(page->count_info & PGC_shadowed_pt) )
         return 0;  /* Not shadowed at all */
 
     if ( page->shadow_flags & SHF_L1_32 )
@@ -2266,7 +2266,7 @@ void sh_remove_shadows(struct domain *d,
     SHADOW_PRINTK("d%d gmfn=%"PRI_mfn"\n", d->domain_id, mfn_x(gmfn));
 
     /* Bail out now if the page is not shadowed */
-    if ( (pg->count_info & PGC_page_table) == 0 )
+    if ( !(pg->count_info & PGC_shadowed_pt) )
     {
         paging_unlock(d);
         return;
@@ -2283,7 +2283,7 @@ void sh_remove_shadows(struct domain *d,
      */
 #define DO_UNSHADOW(_type) do {                                         \
     t = (_type);                                                        \
-    if ( !(pg->count_info & PGC_page_table) ||                          \
+    if ( !(pg->count_info & PGC_shadowed_pt) ||                         \
          !(pg->shadow_flags & (1 << t)) )                               \
         break;                                                          \
     smfn = shadow_hash_lookup(d, mfn_x(gmfn), t);                       \
@@ -2299,7 +2299,7 @@ void sh_remove_shadows(struct domain *d,
     else if ( sh_type_has_up_pointer(d, t) )                            \
         sh_remove_shadow_via_pointer(d, smfn);                          \
     if ( !fast &&                                                       \
-         (pg->count_info & PGC_page_table) &&                           \
+         (pg->count_info & PGC_shadowed_pt) &&                          \
          (pg->shadow_flags & (1 << t)) )                                \
     {                                                                   \
         HASH_CALLBACKS_CHECK(SHF_page_type_mask);                       \
@@ -2322,7 +2322,7 @@ void sh_remove_shadows(struct domain *d,
 #undef DO_UNSHADOW
 
     /* If that didn't catch the shadows, something is wrong */
-    if ( !fast && all && (pg->count_info & PGC_page_table) )
+    if ( !fast && all && (pg->count_info & PGC_shadowed_pt) )
     {
         printk(XENLOG_G_ERR "can't find all shadows of mfn %"PRI_mfn
                " (shadow_flags=%04x)\n", mfn_x(gmfn), pg->shadow_flags);
@@ -2339,7 +2339,7 @@ void sh_remove_shadows(struct domain *d,
 void shadow_prepare_page_type_change(struct domain *d,
                                      const struct page_info *page)
 {
-    if ( !(page->count_info & PGC_page_table) )
+    if ( !(page->count_info & PGC_shadowed_pt) )
         return;
 
 #if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC)
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -320,7 +320,7 @@ static inline void sh_terminate_list(str
 static inline int sh_page_has_multiple_shadows(struct page_info *pg)
 {
     u32 shadows;
-    if ( !(pg->count_info & PGC_page_table) )
+    if ( !(pg->count_info & PGC_shadowed_pt) )
         return 0;
     shadows = pg->shadow_flags & SHF_page_type_mask;
     /* More than one type bit set in shadow-flags? */
@@ -332,7 +332,7 @@ static inline int sh_page_has_multiple_s
  * domain is translated, &c */
 static inline int page_is_out_of_sync(struct page_info *p)
 {
-    return (p->count_info & PGC_page_table)
+    return (p->count_info & PGC_shadowed_pt)
         && (p->shadow_flags & SHF_out_of_sync);
 }
 
@@ -343,7 +343,7 @@ static inline int mfn_is_out_of_sync(mfn
 
 static inline int page_oos_may_write(struct page_info *p)
 {
-    return (p->count_info & PGC_page_table)
+    return (p->count_info & PGC_shadowed_pt)
         && (p->shadow_flags & SHF_oos_may_write);
 }
 
@@ -545,7 +545,7 @@ sh_mfn_is_a_page_table(mfn_t gmfn)
 
     owner = page_get_owner(page);
     if ( owner && shadow_mode_refcounts(owner)
-         && (page->count_info & PGC_page_table) )
+         && (page->count_info & PGC_shadowed_pt) )
         return 1;
 
     type_info = page->u.inuse.type_info & PGT_type_mask;
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -593,8 +593,7 @@ static inline void set_tlbflush_timestam
      *  2. Shadow mode reuses this field for shadowed page tables to store
      *     flags info -- we don't want to conflict with that.
      */
-    if ( !(page->count_info & PGC_page_table) ||
-         !shadow_mode_enabled(page_get_owner(page)) )
+    if ( !(page->count_info & PGC_shadowed_pt) )
         page_set_tlbflush_timestamp(page);
 }
 



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 13:54:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 13:54:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454885.712447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YPB-0005JY-8R; Tue, 06 Dec 2022 13:54:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454885.712447; Tue, 06 Dec 2022 13:54:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YPB-0005JR-5v; Tue, 06 Dec 2022 13:54:41 +0000
Received: by outflank-mailman (input) for mailman id 454885;
 Tue, 06 Dec 2022 13:54:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2YP9-00049e-CZ
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:54:39 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85bf16fe-756d-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 14:54:37 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB8020.eurprd04.prod.outlook.com (2603:10a6:20b:244::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec
 2022 13:54:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 13:54:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85bf16fe-756d-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lXFtEmNDgQGGnQJmLMj5JXYE1ZDmBbBALsIBXP3miDAJ7OkOh+bIiXgfswwj5tksnhZET3q169nMAaP5/uexGUfymYvAYulS3/MTbyeabNLs5Ay/xedfMdLBfyiHPzgd867l6grMwY460gEmLEOnniM8Yk4J5WtZxHEfdJSPdodLjyebZF7ldKxQgOw285YAIFt2DWLsL5QI1RSw0BB4ihn5XknD4G57dUi+XEk37eEBXaLGn8OrXA+ar1HEhUSezvEoI3Dxp5Ze8AFGxKAyoRlxoHTm9LwKT32hHToantLBJQeVbds729InM/hyU9eXo4dylw6LU8nWsB+2rTkVUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Et5DDpshzeK44IkvBaMK0477F0uL2qhRcpoZlCJ7Gkc=;
 b=NQw1M8FPCoahntbsBKPfZafUBCqe1cew5aEj7EJx+Nyduz3PiT0g73/7yzQa99bKtxJvWGUcq39oGTJLzP8nPDm3QuuqgnFT+L7uS85JOPfejDgLZ1bRlx5HC7kd9Q+SYfgvARmi8aZgPSnnS0Y+3ITgCSnHVooTOnuxGSNYKt3ckLmKetAgT4HJ5i1UBhD4+nHUzaoT4ebHA8CulxNHcgicioWm2MvvXnTxNSEvdTA4Ck3sKeF2xnsUJ3TzHO5zV7r6lvgwIXpqesbspbGGXgePjHetTl0MSRdDbZFw9+G1IH2uynAQPss+HiopMic5SB7C3JjeGZiPPa2D8v2O/Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Et5DDpshzeK44IkvBaMK0477F0uL2qhRcpoZlCJ7Gkc=;
 b=CZojMhJ4BEo3H4tRFQiAtvGF2E/Rex8b5d7TWub/axgthu9528JXFzCJs2NoiVkePA3zkOr6Wh4r3emxxYEPkR5IqbvvD52QJ/KCx0vmaoseUsSer6MgLuaoNrBq3QlxMEwkoS1natEt0cFacIPTMIbjCdOmfeVu8gWk6rdLxnef/iixPulHhOMzVzI6bcz6Ryk5IgXcz5iewL7nY2qWdtZEWwvuZBflEANVv0Hj2HdYCf8uoO4WwUgOkkBxH1sp0MnCfmZ71zZreYCyx+5Xaq1/UMsxMADZNnzV/E4Ns6kV8BMrjk5A6N5jF9kGQs3qBk8/WFVJYIgcfSeqYvIuQQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <512cfa7e-00b8-6efa-89d1-c850ade61231@suse.com>
Date: Tue, 6 Dec 2022 14:54:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: [PATCH 3/5] x86/mm: PGC_shadowed_pt is used by shadow code only
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
In-Reply-To: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0205.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB8020:EE_
X-MS-Office365-Filtering-Correlation-Id: 2229dd76-1f17-4761-ed3c-08dad79169c9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3uPvBrTZCXWrbQuOVrbXC0hIOwtnTThJTX5pJggZeSH7DgtjjAWnVNqixmBknYFpRIXmSABSz7AxZc7NPrTUXxy7Vy6eXkYnPUJkoyfjHqjKyCR8DEhgha71UPOQP7B+QZcgJj8tGcHJF6bd6V92N+3f/oOMjG7TNOBd+J2bA3sVYpsl4VMKPSvcAXxlejQ2NeJOPAPDm6tbmdtpBvJbcL6T4lco0HgNMxSfI67mGwYZ2miuV2J2QfMtyGNlKD2mN3Rp54etTH3JQr7HODR2wADImWUagFrn61AnxmhYNCTPaYKgrbghbZLss0jlumo2+dmAZ8C/hCTIHe5maCztM5T60y1uqMzz5oax23+UihNRLp/p34l3wzeZ6MJ4qrqscs7WGLdTtkX0OaW7KRbTEhUnMVYjqq8EuW5kRUNX8bjaqt2ysxnAhDPECYDpRs7My5BubbFJNj81eQexkS/Oi3U36qEy60sbK0BqnqrXRORluCxEeYKiF7e0dOeAO8cLMfDODZEkOWVzPi8W2K5S99Ukb970wo7wZpniIXdi8zZyGBq2ZRj+TDJv6bFFDwja5y9X5b8Hr+3mWWshb7Yc6mjfpZL+vfojCRKrSeah1mD2gOqimEzFZE3Ab/a7ayohp8gyCM9VyDtyemL03yqjduqF59ThNoeSfgIhBSbd7sXRGE3LQwcxUUwi1tf7aFg7mIvm6O2HetYZ4T6E4YWW1WAYRn+9+2X0YuAG6N62buU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(39860400002)(366004)(376002)(396003)(451199015)(31686004)(186003)(6486002)(6916009)(316002)(54906003)(478600001)(31696002)(86362001)(36756003)(38100700002)(6506007)(2616005)(6512007)(26005)(2906002)(4326008)(5660300002)(41300700001)(8936002)(66556008)(8676002)(66476007)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a2VtSVJielhURndJbDBGdTdTN3dIMnJiWTlpRmRZTWpnWVZwMmpQZDZjTkVo?=
 =?utf-8?B?c2I5K0p1ZDNPbi9qQVlTWjdjRXN6NXJTckp2YmxJSVhYeEo5WnNvaEtjeWZk?=
 =?utf-8?B?SmxoZkFvaHhiNE0rSnc5L2J5RWxPR0s0M2phTnVzMVllOWl0SExpV0xua1hL?=
 =?utf-8?B?bTNjdTlEaFpBdWFsRFJ5angxUFd2OG9DdGFTWXBnQitKMlBHZU5zenpmY0cx?=
 =?utf-8?B?QmMveE5yMlpXa1VLajlLdFczOVBhaUhKdHRFT3lObm42VE9ybGlDUHI4ckpT?=
 =?utf-8?B?c0RpRWFEMkMrMHhKUjdiZ3YrSmpYOFN0N0hGNk03Y0NlcXZpbEk2VktWVHdn?=
 =?utf-8?B?K0tOOUFnK05iUmkzbGhOOG9OTUh3QWZqSm5tTFMyUFpUVUZ1Ym5JN2FUcW5t?=
 =?utf-8?B?emtBUjhGejZISWhKQ3Rxd280cFh3MlBoZVJMWmRFZlA5blNGdjlXcUdjenUr?=
 =?utf-8?B?TTd3ZCtCb0xlV2UrMm5lT3JCeUxCcy91bG9sYnIyRlpQSzF1ckxLeEFRakNm?=
 =?utf-8?B?aVZBYUduS3g4Y3VrUzR3bHpWaERlQlhaV3QyV2hqNlZRNkg1SkJGVFNTY2dp?=
 =?utf-8?B?V0h6NEg5cDhhVDlTMEprUTZLOSttYkVUdllLQm01RC93UWRiKzZhRmlFTFdT?=
 =?utf-8?B?OWlRTTZJdkdmSE5BNGJTL3ZmeUtuckp0Nmg3QzkvWjB3VUJXTi94bldSTWdV?=
 =?utf-8?B?dHhUenpUeE5sdEhBdXUrbVFxN0FLWVM3eWcvQ0xjTERKWTA1TkZPN3FPb1dW?=
 =?utf-8?B?NDdpOG54VlV1VTdsMmdGVWM1c2w2RHJ3WDJCcnhVODA0RkROaHhvajVJRGxa?=
 =?utf-8?B?U2twZkdwa29WZlprSnIzK0ZVLzVWWHJSMGhaYkt4MmIwMmV6MDQvZzVMOEpj?=
 =?utf-8?B?bm1ZL2VvWXhTSy9zMFBBbFhTMUlMVmFSSnhLNHM0T2tIc2plSjh4VzVWNUFE?=
 =?utf-8?B?alVlL2xVZTFUY3RqdGwyUWZOQnRPMzlVMllBMTZ0dCsvNkhHQjFpSStQTHl5?=
 =?utf-8?B?QlhoMzRZd2duYSszSlNzVVcwMTJTN0FROXZnM1g0TXhIWXhlckRCdWRkZ0pW?=
 =?utf-8?B?b3ovL2JKYXIrbkRCZTlKeDV0SXo1RTJ6VTJoVUpaUkczdnFoUHZueGdMeTJG?=
 =?utf-8?B?RG5xVDhsSEJpODBDeDB1ZHFzdnVZSDRicmxhS1F2SXNZdmJwS1REL0ViR25q?=
 =?utf-8?B?c29yb1BuTnR3bmNNY3pMUU85N3NTMWt2N1ZzZ1FuSHZwS0dUTDZlM3JacHFD?=
 =?utf-8?B?R3hDeUJaeTR3dWdKcFh4NmF2OUNYZTRtMmZacDQra21CNkF2L1pPd3dwWExL?=
 =?utf-8?B?cE16dWVydUdzSGZQTjdDRnNVRS84UjU1UURFZi9saUJQZkZWckpZZWF2WFlj?=
 =?utf-8?B?SVlBalBac1MzcHFnZS9EaVdYeU9hUDlXcWhXM3VHeXZaQlJEVXl3aVFGNzd3?=
 =?utf-8?B?QXlSSDdac24yVUVyaWpub0FxVjJvV05jSW9CdUJuREtSaVEzVXlZWEQ5QUJu?=
 =?utf-8?B?c1FXL1p0VW45TDE2d0V0TnYvQ0dTcnBXNFlBdVN5SEtrSWxhNnJ1L2tNWk1s?=
 =?utf-8?B?d0hzSDlmVHNlWmd4NEpTU0IrQmFCTDhGZXExM0lGcTRkOTduaGZOMUZaVjcv?=
 =?utf-8?B?eGZ4UE1Vc2NNQnpmakJjQ3JEdVVFbTVHdWdGUzg2NEFIN0doNWpvc2ZVTkhm?=
 =?utf-8?B?UVJFSGcyKzRZeW83d0RmSVBnazFMYndpblVSM0JVaFBzOUZuR0k3NE1DMlYz?=
 =?utf-8?B?Q2tVQmU1RXgzVkhsaUZLWE40R25hbjRZTXlnODZ5WWo1RjFyekpVakNVWjRW?=
 =?utf-8?B?UVFhSFhIMzRvajBqdUhBbEhGNS8ybUZoZkdHeVkvSXNKeEkzSGgwZUVmbjVO?=
 =?utf-8?B?Tk1TKzd4OWh6NlVqOE54SzFldUtzZ0MxVXkyRzRkYXVnTllYeW8ycFAya09j?=
 =?utf-8?B?M0hPeGZVVFVDb21KWHRkdGduSk1xMGtZZFJXUHNVd2VZRGlEZVQrdTBBR3RT?=
 =?utf-8?B?L2pGLy9aeUlYSHdaZC96cXFkR2V4cFRPVVg5dWY5RWRRNWFma0swS3BlTHVo?=
 =?utf-8?B?NExVcEdYbUZTWURGcnNYZlZGdjZ6N3RQRyt4T1ZsS3pSTmRpWkc5WE55WGth?=
 =?utf-8?Q?EzO/7x19FYKHjK4jj90KclBNw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2229dd76-1f17-4761-ed3c-08dad79169c9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:54:37.2511
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gZczWVMiH1kaeze1aBlz3cjsuxeyEO6rsznBlC11Ff42oBzG+c80KS2G5PlRsLPIitqweOlFl7PYKebtDOehRw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8020

By defining the constant to zero when !SHADOW_PAGING we give compilers
the chance to eliminate a little more dead code elsewhere in the tree.
Plus, as a minor benefit, the general reference count can be one bit
wider. (To simplify things, have PGC_shadowed_pt change places with
PGC_extra.)

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -70,9 +70,9 @@
  /* Page is Xen heap? */
 #define _PGC_xen_heap     PG_shift(2)
 #define PGC_xen_heap      PG_mask(1, 2)
- /* Set when a page table page has been shadowed. */
-#define _PGC_shadowed_pt  PG_shift(3)
-#define PGC_shadowed_pt   PG_mask(1, 3)
+ /* Page is not reference counted */
+#define _PGC_extra        PG_shift(3)
+#define PGC_extra         PG_mask(1, 3)
  /* Page is broken? */
 #define _PGC_broken       PG_shift(4)
 #define PGC_broken        PG_mask(1, 4)
@@ -83,12 +83,20 @@
 #define PGC_state_offlined  PG_mask(2, 6)
 #define PGC_state_free      PG_mask(3, 6)
 #define page_state_is(pg, st) (((pg)->count_info&PGC_state) == PGC_state_##st)
-/* Page is not reference counted */
-#define _PGC_extra        PG_shift(7)
-#define PGC_extra         PG_mask(1, 7)
+#ifdef CONFIG_SHADOW_PAGING
+ /* Set when a page table page has been shadowed. */
+#define _PGC_shadowed_pt  PG_shift(7)
+#define PGC_shadowed_pt   PG_mask(1, 7)
+#else
+#define PGC_shadowed_pt   0
+#endif
 
 /* Count of references to this frame. */
+#if PGC_shadowed_pt
 #define PGC_count_width   PG_shift(7)
+#else
+#define PGC_count_width   PG_shift(6)
+#endif
 #define PGC_count_mask    ((1UL<<PGC_count_width)-1)
 
 /*



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 13:56:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 13:56:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454890.712459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YQc-0005wU-LT; Tue, 06 Dec 2022 13:56:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454890.712459; Tue, 06 Dec 2022 13:56:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YQc-0005wN-II; Tue, 06 Dec 2022 13:56:10 +0000
Received: by outflank-mailman (input) for mailman id 454890;
 Tue, 06 Dec 2022 13:56:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2YQb-0005wD-AD
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:56:09 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0625.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bbc92098-756d-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 14:56:08 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8670.eurprd04.prod.outlook.com (2603:10a6:102:21d::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec
 2022 13:56:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 13:56:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bbc92098-756d-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hyPlGV8dX/tnNGnoMmJYL9xDZbKyE4moXoTdRMWBfihBxXtIYJAxdltot3faedhjh62SOII5LvpYYThvWm5HyKxRy59K2eygNUaQZ4wM0Dc492RMvNzHYcXejeWkCkBkedwDkHsYucuXekZrciHWTih5tFlL7tlBg/7I81xCy4IibOuy5ngsCQ+ot11emGolqAyov/qSZGOleyVq75j75ymFBpTU5v+I8wMoUQ3CZO4QITrSi2TyDSX5ZXXfCWZ2JPyCpMIkKPsICujygDQ7HZMmAFGgiImBURALvoc+VBAgpIwXu2j5go6gqvyeTqkx+G2LViv4kmBgi/z5TCRoFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8k9Cg9eVliAtip8iorn3Xux77iG61ZlTqy6/GtyMv9o=;
 b=YJG0Qxd5BfLvxYyhoUZosTVrQVtFoLqstzghpboucA1i9PQC7mqygASANApNw2TKXpnuXQPERR65Zpxcz+HbPpFpmyfWWqlObERgsoILvPYuzKzmo9NVjT5CpESq+ZWGPg94Ac87gyczLI4kl3rdV/xzTAMkZAodIEDL3ljUgy4zIkPlvb8mS5pRmcq8RLwrfujiDZP6u1KaWqKzdMgaqd6R3+aenH/ip2iE7aCP2/ZikIC/FySmYtWRpw/ImJGlsvQK5plA/X4kB8mvlnK2z6U+2MPQUvRPgdAerkd+F3975HXd2aBOKDEr5pVPFIUlhjzfEjQNV/g7vD1XpXmNMA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8k9Cg9eVliAtip8iorn3Xux77iG61ZlTqy6/GtyMv9o=;
 b=pOSPqAKsBakrtZ/uHI2lTyLBAH1Hwvkx52/12HwstX0bbu2PyuiYS5EOfwhSBNQkLVa5JrXVpuBmBOx0nCKXIppl7gEKGq+Cy9HAYm0asBnLslDuW3AcL8yCOJDC2FH2o3zTUD6RlwPlQCHNfmXu7K9Lt+7flNb8QUZpfZZ+dmzHfd4q0z7nAvV6021PPGoTnhGcGSCMlxAFLkoNiFyUymov/XMVgxOEwUcnwPBmiyC2r1Ur5F+aAmjJCzGc+OLhafwOx1kPBMsMSfPMlbC0THJIP1RDcYvi9b7PwvaLC9AZWF5qNCKwVRYIBKajIsz7lJK6Cn0dFUp8sxVmQM2Zmg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bae74b9b-eeb6-76d9-b4d4-55c9a4fb2835@suse.com>
Date: Tue, 6 Dec 2022 14:56:03 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: [PATCH 4/5] x86/tboot: correct IOMMU (VT-d) interaction
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Lukasz Hawrylko <lukasz@hawrylko.pl>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>
References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
In-Reply-To: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0166.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8670:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ead8991-e37a-43c5-c6fe-08dad7919dcc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zF2NeH2QFHYGf1V0dqa3VfRfDDg2pYkxWxIxF6emNFx8jETssaFVDhYz8fbKonNS7ofOLN0tmNP+Q92Jqm+gWx6G3GiEVMMCx3fERwpohfoA8Y7yMcPPbGlOyDsAty3t23fta2qLX5Pt3LwbtjUNVCUnvWETz3065jcwu/VHyFLy9+aNE7rDOIMcwoJnPuONTq8YTVd6pYhelGNQ3jg8Ek/AuA+7ykK4OV891m8RiFzb7v9WIsnhx+cOJ7IJRhfVrcGp4VMTUloq1Bn1ZMR0aD4J/hnipobqaqc71lIZi0ThCIQiij11Crd7vcxuST75KkNo9wg+ENdlUv/aRkoUC6nIzsMlxWwCuSTgv1//nA5QsnExMcOfor4sDr6LUaJ1ESIHbNTtIrdVnG+PG3ZiNK7eFXjh8AyNUqf6suPfd2h2/nq4u8+6RxsmQthJb7nObnQkFhYa2SKHCmDc/Bw4nTAQcoqmQH7Sn5NmByt/LARhScCxHnLK0B36JJQdXcrv66fDw7LE0lxIu6/PpLa6SVQLRNIN7g6Wdm39IQ9rkraL0qn1o9alE8hvr7v2bK1cqvMnM+CyNjHYTzF9yjpW6y99P6robqxzAw0L6Mscr2pjzo94FMUfZZyZ07vnNTSQpR96vvXx8RpP0vi7XnPIPL939usalooPJ5X2PzmFK1Q2qo2mNXBP+aauTWC06mKY/Gt7+mRi1s45cQwdBiPKhwghbyWxo/Yi7vM6PCYXod4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(366004)(376002)(39860400002)(396003)(451199015)(36756003)(31686004)(38100700002)(5660300002)(86362001)(31696002)(8936002)(2906002)(4326008)(41300700001)(83380400001)(478600001)(66556008)(54906003)(6486002)(66476007)(6916009)(2616005)(316002)(66946007)(8676002)(186003)(26005)(6512007)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cU1heWxya3JuUkhXK09sWDZodHNCUmx5aHo5TTR6SFlmbVZ1SWp5UzVsZnQw?=
 =?utf-8?B?dFpUTXJ1L3JLM3RubnhQclFyK1BXOUhZQytyR0RSUi9vOTVuQTFabmhlMzJG?=
 =?utf-8?B?NUQwSUJXRXloVTlKTWhFVFdtZWpiT0tOUHI1Sm9CYXNJeHhQQjRqdkZ4SXZ6?=
 =?utf-8?B?QldGOWFJdVlZYkNhSlNiZHZPN2RkbnVsK2NxR3BJM3hqYUxoS3hXL0FueFh3?=
 =?utf-8?B?WCtGU2pESDhLMFZ4WDRRMDA2UGJhcjF1WVdhckFneHU1UCtrR0NMeWVTak90?=
 =?utf-8?B?Tkc2WUd5dGN4UHJKU3pzNkJXblpsWCtEcHNCL2xxNTVYSldmcWR6amo0bi9o?=
 =?utf-8?B?RURGR1AyTUZmMDJqNGpBenlaeHZwUFcrckpmUW41VDlqYkJKVk10cGVIdU93?=
 =?utf-8?B?TEk1bGVnZ2ZYbmd5eldCT0NhUDdHMjd6WXFsSVJ5L3lVZmE5dFl3UERwQVVi?=
 =?utf-8?B?cUlOdEJlU3B4YnRGdzZiQXFqZ3lUQ0tkQUpseTQvVnI0dUQ0SzdYeVNFZk9y?=
 =?utf-8?B?cE81T3V3SE9lQVozR1BOcVh1bHBUZUVMeVN2L2pWbTVQVlJtK3VkL29jUWcz?=
 =?utf-8?B?NnVCODcvcDhVV0QzNXhXdFpIV3BxcDJsT21ueE9xdUNxSmRtMllxajJXNUdT?=
 =?utf-8?B?VlpVU1lrN3pLVUVPYVZkYi9SejRPS3l0YzZQVzZRNkVyNEh3Y0FGRFJiRUpR?=
 =?utf-8?B?aVNMcmtHbmxXMzFyOC92V1FXZXhaR3Z4YWZwYXNsbUMrOE5qbHA4Ulpzdys2?=
 =?utf-8?B?UnYwZGVDMHhuUkNYbllxVWdwZGRVSXN2WHFDcmpmSTZjSVVHNDVHVHk1Rkly?=
 =?utf-8?B?b0lxYldQZmxvQURxelZBQ2w3cjl0Zys1WmF1NnUyRWlnUGZxeVpGYmVXSDhH?=
 =?utf-8?B?Sk43dTBzZ3RSVzhkNFJ5NENRVFdhc3F4bzlCSEk1ZUpZUDZmbUNOWFJxT2th?=
 =?utf-8?B?MTJWSkMxTFhNWFo1OFIvY2s0NE8zWWFTWWlub1daaTZyLzVjUlQ3N3VTaFJN?=
 =?utf-8?B?YkVCd0x3OEFkY1drdERlY3ZRUWhXNHhtazlZV20yaUVUR24yRWtWdkUvZU5p?=
 =?utf-8?B?M0NxZzZYL0JtN0FLMGZxOGxpRy94YkpKMEc2ZmJHSzNKcTNaTzlvUjRkWmV5?=
 =?utf-8?B?WmdsTFFGT3lYRk5nVUxEekc3Y1crSytvQjdqeUVHeXAvN2lVMUVZV3BYbmdD?=
 =?utf-8?B?dVhobHh6SUsvWmRBbVpxYWdWKzQrL2xZSUViTnRETUl1TVdpR3ZqQmZ3ZXF1?=
 =?utf-8?B?TEFSLzdiMUJXZk4vN3gvTFk5QU0yeTZMRmJMK1VqVGFjQWQ4TXpQV2ovNk9n?=
 =?utf-8?B?ZU9ITkpwTnRSck9kK1kzSU8yVUM2K0pEWlVhQVNwZHBMejVoRk4xZ0VhVWpZ?=
 =?utf-8?B?NXJVOUZBOE52RUVnRCtFbDRVSVc1a1JxeCs0VkdTWE1qOHhEdlMvbkVSYTNV?=
 =?utf-8?B?Nm5aR0YwdTFnWER1YS9kaXY5d3VNT2p6RGwzeS9TYml5S0YrZFVEQUtibUxx?=
 =?utf-8?B?MTRWcVVyVWh4SGRML2FIc1k1bktEYzE0cEFUMVdCZVFpd3FINWROR2I3RHRH?=
 =?utf-8?B?bzh0OVRrTFZvUUttU1g2RFlMSHYrTXFsSmVXZG1vc1lhSGJ1SEFDcEFUcFF6?=
 =?utf-8?B?am5LWlpUK1BncW1kUEVBMHZLZE5oaFVTNlQ4cnhheXg3Vkp4aHVlTmhocnp1?=
 =?utf-8?B?WjI5MXNURHd2SkJLQ3ZGTm12TTd1MUVPc3Blbk8vMGtHT0dOZ3A2UjdPRlNq?=
 =?utf-8?B?R2JEZnpBbEMvVlBJM1FnL0J0UEE4d0hnNEE0SDNISGVmL3lPWmtoTlpPUita?=
 =?utf-8?B?TTlxS0VHOVJQSVk3VmtIdlpCckhwaDZrbjdNM3ZZT0hybTBPOTRuU29hSDBo?=
 =?utf-8?B?a3pmYkNmeW01Y1FBN096NUJyYnVwYmtISCthUjZSUDdOZUF1VlNvdUVqOUQ4?=
 =?utf-8?B?YnR4UjZzMkxld0hZQm9VZEtsM2UrYnVYZWdkWDdZWlJ0eDJUQWd3NDR4YUtE?=
 =?utf-8?B?VVdQYTJVaHJHNmh5T1FnUUxTVitaeGdFTGhBc3VHV2FsMkV6Y2V1M1NKbllF?=
 =?utf-8?B?YlRCU3JmS2JTWDJZcGd3UWJ4Q3Mwb2pZaHNmalFIaUUzZXYrSElFRDdwVnk4?=
 =?utf-8?Q?DzFnFf+oimaE4pqwCueWK8RmP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ead8991-e37a-43c5-c6fe-08dad7919dcc
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:56:04.5269
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TyiK2i1GuH3pNeD1f0Ma6VfNt/q+GKnxC3L2g+fUXAY1NZQ57ITGvmvqGF4W2kEjOxFJO0+lYY57HNo6Wo039Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8670

First of all using is_idle_domain() on the subject domain in the body of
for_each_domain() is pointless. Replace that conditional by one checking
that a domain actually has IOMMU support enabled for it, and that we're
actually on a VT-d system (both are largely cosmetic / documentary with
how things work elsewhere, but still).

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/tboot.c
+++ b/xen/arch/x86/tboot.c
@@ -31,6 +31,8 @@ static vmac_t frametable_mac; /* MAC for
 static uint64_t __initdata txt_heap_base, __initdata txt_heap_size;
 static uint64_t __initdata sinit_base, __initdata sinit_size;
 
+static bool __ro_after_init is_vtd;
+
 /*
  * TXT configuration registers (offsets from TXT_{PUB, PRIV}_CONFIG_REGS_BASE)
  */
@@ -201,7 +203,7 @@ static void tboot_gen_domain_integrity(c
         }
         spin_unlock(&d->page_alloc_lock);
 
-        if ( !is_idle_domain(d) )
+        if ( is_iommu_enabled(d) && is_vtd )
         {
             const struct domain_iommu *dio = dom_iommu(d);
 
@@ -444,6 +446,8 @@ int __init cf_check tboot_parse_dmar_tab
     if ( txt_heap_base == 0 )
         return 1;
 
+    is_vtd = true;
+
     /* walk heap to SinitMleData */
     pa = txt_heap_base;
     /* skip BiosData */



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 13:57:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 13:57:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454897.712470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YRk-0006Wr-Vn; Tue, 06 Dec 2022 13:57:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454897.712470; Tue, 06 Dec 2022 13:57:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YRk-0006Wk-Sb; Tue, 06 Dec 2022 13:57:20 +0000
Received: by outflank-mailman (input) for mailman id 454897;
 Tue, 06 Dec 2022 13:57:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2YRj-0006We-Sy
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:57:19 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0604.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dc822b37-756d-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 14:57:03 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8670.eurprd04.prod.outlook.com (2603:10a6:102:21d::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec
 2022 13:57:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 13:57:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc822b37-756d-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D/pyHkZZIu4T3K+8/r8ATdkXsupm0H9aEMV2ikEKf3wTXcRzbIVLQsGmTJ+mnwUnF65cDePIkQSmn0ZWQ/sCFpCr1si2dSB2Q2rbA3qnD3ZPDTo4uPd57yoOD1NHqScEizEG21xlYQCzAg/4pQ7BK1za6ZjN5XVspRMjNTLWsyBFNs4HFKD+2nLh00rIbFxbOw03WlIICQzUGGEX7yNg9FrJnTxTwZ8SyRDA5d4aK93+IBDoTwWoiKj68GrjJjijpWdjGmm2/XfXAcMyZ3F7E/fMmZIq84oTMHP3X3hP3YV2Ka2l2RD6HkBM6/tFVUQDZ/5ZwDVOw+TXxkpPZiYsFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8P+ZvvlWseJQ7rCEbvxjpP5fORRzmdqcqG4aQ2OAwuE=;
 b=JUEirW6I2jC3S9g3jYj7Ou9pNPy8R1U6MlSmy5RnWYbG+U9+Z0k9cQFgXeXwl0NAYSjFBj0f16g0RVS/1NEb0jWrBl34bgIoEaZV+2L8FCIyFFl+9nGiM+e4N4uCnicGs4II7yVGDaKVqkGIfz1KMkNOrnN7u6gJ/GFcnGVGMzypZVch3QZrPtdxOK/5aZ38V6uojyZ+hcBkaxuwj3kKS1t3VXLtVt3qrpvCF82t3+HbDqP8UgA4Z9Hyd5I9/doJh3kGv+IofgKDqOgADnSo90I4aoxudYD0GizbripIZPBUi/LcRdbMSPJjX7+mm/Zhb4K16KwU2VIvma1dHJyZyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8P+ZvvlWseJQ7rCEbvxjpP5fORRzmdqcqG4aQ2OAwuE=;
 b=tZZqIK2PdlwKp5Ik6UAudZBEhg5JTkqPNev939K0znnpzz00HMlYqs+cAw9ak7rdPrm3LabtZ9gBnSaXa/HVl5/Y0docGq6jG8eUY3aGD2egunQGoUUJyz7UqMRhL1S8lfTJPtnIZBXDumxYkD8aY3mTDEb/U4WEd5LmM3Qo8Ub5qU84LSeT5fPG0UBFprbRZSpHzdP04SqaVaWLNGwmDRZV7xqFCbbCOvvuqrMTU+ERvowf6EYNuqPIi9zVwFxW2yWQDMpPsd7qVRAkMQDzG0fIBZMPgkD8rGYmTD52LvyXRHOyv2teZWtq6hJSX41MnHVmAzZSf3o4ylFaardynQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <028fc34e-8a39-b0b5-34bb-2c96a82fa452@suse.com>
Date: Tue, 6 Dec 2022 14:57:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: [PATCH 5/5] x86/tboot: actually wipe contexts
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Lukasz Hawrylko <lukasz@hawrylko.pl>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>
References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
In-Reply-To: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0011.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8670:EE_
X-MS-Office365-Filtering-Correlation-Id: 3f977624-e6ab-40dd-6566-08dad791c913
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8NO7GVKCIvj9aYXP+YKxIqqmeis+dFmLKUJYYX2/LVZyXx2c5IiPXinF8myi9fE91edbRJCJ6iBPnFsTaM7dlzQFKNe7t9sjFN4AmEARlCkM6UsRfzEbwxnv4Eo5uN/ytReX8F2uYpZiL8rI89Gc2eQdFMdSfjYr7vIAzpJPE0ZDsRnDGWRjJKy2p88eKjd53bofqztbih7Yo/Ji5u4Jjp4FBAwOJEw5GJ1uOVgpSFP5rE21RVlB8QdM1Sq6El3F3bRMtzI31E+EVouHRv2ihqcRg+2PQDEH3/ejz3qp8y01O0V734I0ghYiIwDpqyfsEQEn2w6JWiVJwwQw4bwpTcPwl8MzUV5H+mkbdUgyhJmAfUIAhIM/QsSbizfvtnSuDKRH2xwD5fp+b5QtEFcCnEBY3pZbPps6wCWglLX55IafS2Mt/TC6Amx+/Od9zMLPM3RytJ9kERmN/LBW8ZADv+hTY2gpD1tsNZpuT8ZqeDJl17f9oNVy4GEGLTExu21UmsbImZ2kB9S+MD8waY5K1J9won+y6JFNKjdg3f7obcBRJqYPbFkEMdo8qkGxPfWLZHnZTBAH52OXvil4QNx80bGEY9nBC/S8uL4+F7BvmKqhhljdya7q+HuqpKNUZ98ULZwi0tltJKVZknWi0MdMNmMtv5nJ5xblcIHuMf7qEbLUF06Kf9YkjI+/FVnCeqxfi2IeLJPgIsTpb72iAUruB9FKXLIrWPrzrrAsDulfbqU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(366004)(376002)(39860400002)(396003)(451199015)(36756003)(31686004)(38100700002)(5660300002)(86362001)(31696002)(8936002)(2906002)(4326008)(41300700001)(83380400001)(478600001)(66556008)(54906003)(6486002)(66476007)(6916009)(2616005)(316002)(66946007)(8676002)(186003)(26005)(6512007)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QmlGQWJ6ZTBQbUluZ1piMkN5ZnlrYVRJL0ZxNFJpTmRSZm1GTUtmTXpsbkIx?=
 =?utf-8?B?WDNMd25qSlA0VUZkeGlXK0lwNlB1NFA0MGFrVFBHV0xMaDhKZzl6SzNmRTcv?=
 =?utf-8?B?TWNzQnczREhYcWtCSVZiUnBzUXVab25mOWhET0szWktEY25POHRiOG1KOXNa?=
 =?utf-8?B?T2UyR3k0Vk1QWDU3YkJDUThlN0hOYm55Q0FMRnc4S3dHa0NyUzZJWnZPL29l?=
 =?utf-8?B?b3FLNjBaZUN2eS8wK3d2OS9tRXd3T0hNeklKOTRvWmpSVUZjTG91L3p3UmlC?=
 =?utf-8?B?c1RVN1h2eThKRzFtakgvNlgyQjRKYlhyVXNSSzd5RjFiUGtJT3BzMEJybmJ1?=
 =?utf-8?B?RzRmd0lYR3I5aHBQVWRVcHEwWGZkeHdRSU1jaGpoMUowWm1wMVZXcWg0dy9q?=
 =?utf-8?B?N3k2eWRmZVIxQ3RmNzA1UExlVHROeXY4ZzVNZmdMSmxjdkcwWWFWY29iV3dT?=
 =?utf-8?B?NDVOQitLOVQyeUtncCtTVjZzNDVYR2I2MHdKelN1cWgvSHhMcjhzSTZqZ05Y?=
 =?utf-8?B?U3Z3enJuMFhQL3pacWl5OGJtQWtOcS80SjRMRThJcVZhZm9tM3ZFQUZLaGx3?=
 =?utf-8?B?QmFJYnFrS0t4VWV4V3JTNW9xczNsVUlYYlBtcHZ5V3VYeC91VFVoQ1hvZFg5?=
 =?utf-8?B?bnBiV25GTEhqU2Q0S0k2YWpNRkVxMVdJUFRiY0h0bkdRMlhzK3RITjF5L0F4?=
 =?utf-8?B?VU1aQnVqaWZvQTc5V2xoWHVRMzRBc2s5ZTFGZDVqY3lkTzRUV21wcUhZaVRl?=
 =?utf-8?B?NERUWXF6NnA0WW1YQUh3bmY5ZFJDTCtnaS9aY2NTZ2pEZWJFOXd2Qi81ZWtx?=
 =?utf-8?B?eE84SWU5VDk5SzY3TzV5eHhIMTYyMmw5WkFlMGZVYk1FVzQ3RE8xTU9ya3lC?=
 =?utf-8?B?WmhMeVBCYkViV2lCM0gxd2VuNVk2cDJaN3B0LzNUVHQ1dnlDTmF1SnRZY1Rz?=
 =?utf-8?B?ZWhIeE84ODhUU0JSc2hNbnhPWW1IQnkrSjYyMFZWNGFYa1dBK0g0cXB3dU5S?=
 =?utf-8?B?NUl4MW44NEVHa3cwNzJ3SGUzblBrdTJuZG1YdGRUSWUzb05JaWVHN0ZXa0Jo?=
 =?utf-8?B?ekNaOWM3dDZmNHZDSGVJRE9pbmN0bk8zMmJ2ZHkxUUI2Yit0ditmM0NhemVX?=
 =?utf-8?B?MEVzTUVjQWdCVzFtbUxXYXBRS1AxREY2Tm1VK2EyQm5iM2lmN2h3UCsvV3dy?=
 =?utf-8?B?WmRVU2V1WlpURERYUnFXWUFsOXMrcXRUUWswZG9wZWNmMlhZY05vWHRHNnFE?=
 =?utf-8?B?bVdsRCsvMmIrQ1RBRkNVYUxWYndCb3hiTW1wUStpL2MvNEFQRUVGbUhtcU4y?=
 =?utf-8?B?cy9SejBKRFlyK1dQQTY3eVMyd2RTbTR0QTlrdXB0VThyTG9LblhSTVRaN0FS?=
 =?utf-8?B?aUs3R2dGRXN5c2hYSHFjK0JJcjNPa0VjZTJYMjVuVmx3UXM2cDRzNHpZNTNt?=
 =?utf-8?B?d01hR3hFWG9DdzVCamJLeVo5QlpZMEJqb01EN0N0Mk9NTU5XcGc3Z29kdDRU?=
 =?utf-8?B?enV6WGlzOU9Ia2RmZ1BMeTVBSitzKzhaREhINXA2cTFDRFQwSytiQnZPWEJX?=
 =?utf-8?B?S1M0amNrWDNkT1NjRkJUOVlHZHJ3Tjl6OHR6ODV3OHFQVkJqTnpHaXZRREZv?=
 =?utf-8?B?QklVKythOFZraFVBdFBQMXdFdjZNU2JBdmR2V1VFcEhvRkZINkRiZHRQOUNI?=
 =?utf-8?B?OG5YVS9UbXRRUkxwbzdyQnZmbWM2cXVCRHVkQjNLb0Z4azhSbTdWOEJtMmcw?=
 =?utf-8?B?eVFWenZZTGJwaE9XMER2b0M4N1ZOQi91TFpOVXZiYlhaMFBZazBISVZhRWsw?=
 =?utf-8?B?OVdZbExDZ0Nua0grMlo0NFAxRnlKT3ZEdWtQL0FaNHBhbnJhb3dkWXRsakd2?=
 =?utf-8?B?dkRHelo0SFBqeHFaWDZGK0Y2bUZubEhGaGFSekhFWmVJTzNGTk5mSU5DMitW?=
 =?utf-8?B?d3ZZWjFMelZxY2ppaU0vcXpnNDBGSHZJTDNsUnczY1libGkvSVNsa2VBcENp?=
 =?utf-8?B?Z3RkTTFLWnRrMk14STFBck5kenlXdGtlSVY2UUlBQm9kVmFKdVJCSFV5TkVk?=
 =?utf-8?B?ZDFLcGpaVWJsQmZ3RERWb2NKem42aHVUazV6emdHcE5Yblh5NFkrTjdpUjkr?=
 =?utf-8?Q?p6ZQCldUPTia7bFifT7g91PId?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f977624-e6ab-40dd-6566-08dad791c913
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:57:17.1161
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: X1Ilni8cgFkT1XgRAqQlHiu6PphGos4Os2Tp4ZplSAenOb8Z6mIbSENak2nhMSOlMYZ2L4FuZjTpzOboa0lU8w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8670

Especially with our use of __builtin_memset() to implement memset() the
compiler is free to eliminate instances when it can prove that the
affected object is dead. Introduce a small helper function accompanying
the memset() with a construct forcing the compiler to retain the
clearing of (stack) memory.

Fixes: c021c95498d9 ("x86: Replace our own specialised versions of memset and memcpy with")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The Fixes: tag names the commit which broke the wrong assumption made by
6deab1ae316b ("txt: perform per-domain (and frametable and xenheap) MAC
on entry into").

--- a/xen/arch/x86/tboot.c
+++ b/xen/arch/x86/tboot.c
@@ -179,6 +179,17 @@ static void update_iommu_mac(vmac_ctx_t
 #define is_page_in_use(page) \
     (page_state_is(page, inuse) || page_state_is(page, offlining))
 
+/* Wipe ctx to ensure key is not left in memory. */
+static void wipe_ctx(vmac_ctx_t *ctx)
+{
+    memset(ctx, 0, sizeof(*ctx));
+    /*
+     * Make sure the compiler won't optimize out the memset(), for the local
+     * variable (at the call sites) going out of scope right afterwards.
+     */
+    asm volatile ( "" :: "m" (*ctx) );
+}
+
 static void tboot_gen_domain_integrity(const uint8_t key[TB_KEY_SIZE],
                                        vmac_t *mac)
 {
@@ -216,8 +227,7 @@ static void tboot_gen_domain_integrity(c
 
     *mac = vmac(NULL, 0, nonce, NULL, &ctx);
 
-    /* wipe ctx to ensure key is not left in memory */
-    memset(&ctx, 0, sizeof(ctx));
+    wipe_ctx(&ctx);
 }
 
 /*
@@ -278,8 +288,7 @@ static void tboot_gen_xenheap_integrity(
     }
     *mac = vmac(NULL, 0, nonce, NULL, &ctx);
 
-    /* wipe ctx to ensure key is not left in memory */
-    memset(&ctx, 0, sizeof(ctx));
+    wipe_ctx(&ctx);
 }
 
 static void tboot_gen_frametable_integrity(const uint8_t key[TB_KEY_SIZE],
@@ -307,8 +316,7 @@ static void tboot_gen_frametable_integri
 
     *mac = vmac(NULL, 0, nonce, NULL, &ctx);
 
-    /* wipe ctx to ensure key is not left in memory */
-    memset(&ctx, 0, sizeof(ctx));
+    wipe_ctx(&ctx);
 }
 
 void tboot_shutdown(uint32_t shutdown_type)



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 13:58:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 13:58:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454905.712481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YSl-000795-CC; Tue, 06 Dec 2022 13:58:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454905.712481; Tue, 06 Dec 2022 13:58:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YSl-00078y-9S; Tue, 06 Dec 2022 13:58:23 +0000
Received: by outflank-mailman (input) for mailman id 454905;
 Tue, 06 Dec 2022 13:58:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2YSk-00078q-Km
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 13:58:22 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0625.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 02091161-756e-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 14:58:06 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8670.eurprd04.prod.outlook.com (2603:10a6:102:21d::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 6 Dec
 2022 13:58:20 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 13:58:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02091161-756e-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OHACVKA919VXuVrNKLn/WmavLCDS5mN5oCuc1r/yAHUO/vl5ouMxPuQJT/A5e/pRzSXflhDyIrXyGBXgzSD3iKWCwPPrnCFvk3zDubRq60+56Gpq3J1xZrRLHPJ8x9w8O4DxTi/s9TfDB4cBZZLImVSOCH6vnAHSZfDB8bT/ZNunhiP+HqMxE4Apm0xPDPTBv1Dns7tUM8H6t+3R48MTMP9nsdR0gFiJjbBlTP8RfiJt7r4jBL3i9j5ScXgkDwbpKdGm7Gn/tteybhooxn83Udw6c56Z2sinjo39l6+7rPQrCL0iY/t3de8yyUhPl9T7rm76+eo3snXbjrRif1t1JQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WodNBYfIE6V7S2xRgR9bLeRTZMdP6q8X3QuEMlQdKK4=;
 b=J2YPKugnDRfbLZODpQtIq3mjIiosl/R2cHIo+qOXlywnvaGp3SXORDnhm/IcTnyqNodmdEscSXai3edW1FKkChOaWZ0lnchAZc0lCqEbll4Fr0Ak8aATdxZsNuR0UFn0oRN4kiW7TLbVBBDZRSgjKsqU8sYQx5rq1ZbDHduu+CX8QZQgGbHWmxdOJ6UIRFYa0VZv7t+R4ocXW1oph7lJLhzEm6a3qBAOLVnB6UW7GYQD5kguaxWaHnPO6a+P2byII3TobrBbD4phawXBS/A2/BvhsI0KFAQEo7f1AXbm1ioUP8lXZWJrGW2J3auadaCSgTWyhOiMD+rwdg48Mk3lAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WodNBYfIE6V7S2xRgR9bLeRTZMdP6q8X3QuEMlQdKK4=;
 b=WwkftNxzAFXQdIbo+rE7N1ZQmlupFFPpMcBQTpzSh7sE0D6QRlePL5ide5AlGSjX5nvQpnuQrMqkVT2FUq5eYOckvQ4Ea7MQkNeHsOOWY17YEEzt4rXZ7P492pKLDpP95zq5saSiyhAuVbozPYi89YPeu6/I9oqNW12tU1j8ABaLCwo8ib1SmTvE8dyhramPZeXGaAYRNSjwSmmNeqTMzqBbFF6P5Fm+mvW3ig53VEsjPduvPrIUinzcZXrX69/rKr+TV37ElUsQ6tUgOvb0PiZ1XZe3B03qZYer84svNiHGNeC40kePXhe+Yf300NzO+6pkL/NbS3fxojnHB8slBA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a9050eac-21b0-c736-31a3-d6920080d82f@suse.com>
Date: Tue, 6 Dec 2022 14:58:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 1/5] x86/tboot: drop failed attempt to hash shadow page
 tables
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Lukasz Hawrylko <lukasz@hawrylko.pl>, =?UTF-8?Q?Mateusz_M=c3=b3wka?=
 <mateusz.mowka@intel.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
 <83f510bd-9a9c-3063-27dd-d894b1e8031c@suse.com>
In-Reply-To: <83f510bd-9a9c-3063-27dd-d894b1e8031c@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0008.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8670:EE_
X-MS-Office365-Filtering-Correlation-Id: 2ba1b851-5948-44bc-d489-08dad791ee9f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Bh+uuBzlPqX9oPyTKTOqYPZsyB1wo0+NKZuZ8TBCyhGhEMz1hTwBf1yf3IY7ahzifKn6zCBls9a9Y2D3rt6gzwMv6ctBiCiQERGbOHEOOP1mV7VQDl8vrjPzYuS9L7hOhPJ7isnG5U/ZvNCgpv1lDKkds2c+KYqiLdaO3qYPLUEHQSgIc9nJYWkSQhQk4qwKIELHGqFcfDNoxbRMkpaXTAjUN6x/4k6crB7qJyawoklL6ZyGEszwFHt9B8bM0/Vt+MYeiulSWHuP2ykmcs7yWHzA1J4queMaDdactiVuGgcfwnk2ZDoSCmcRyJzOgwnb8Vm/lywKkocXv6LYgF8sUzyx8gPvIFsqfXDAzdKumR7lxtn4omdb80sree5MQIRESzlGzofCEboQUJW75Nj0jL0P/LBE1KK8o0AdX1cPncR6UY2RjsP4zdPE5wLZOGGnGRUqAMkxJ1Jy+SjOpjDc6ljKUFYPXyplq4kFRKCeGDh4KY5ZnnINSTwkLawrQXOcQWA3ORl7qkwlUwU/sH/jNiyTjBuPwi889WXhINhRvrjOXjiTpevQICtcPsu8HReTvjya8XyQLujY3/hevM3Z47MjB1n8GExSw8iAtZ9FgCA0E5gGkKb830gnMWB7ZN1DhAKMgsRaQaBAiQBbMNAwzAP9uCsPcC3ru4MbAh8TrjUduJ6jXPdKCEyZXPQWZbJoWqJ6DG5Um3RKF40HpUiM/MOBi8lzg2oLhGVVuTjccoA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(366004)(376002)(39860400002)(396003)(451199015)(36756003)(31686004)(38100700002)(5660300002)(86362001)(31696002)(8936002)(2906002)(4326008)(41300700001)(83380400001)(478600001)(66556008)(54906003)(6486002)(66476007)(6916009)(2616005)(316002)(66946007)(8676002)(53546011)(186003)(26005)(6512007)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZXg1QVRvcXExRXVDRzUwS0hEc1JqclorLzMvK3lpZmQ5QzQwaW0zcXExZE82?=
 =?utf-8?B?WnZXenB5U3hlWkxTMS9JREorSmhON2ZWR0wxWXJzSkMrZG9EaklMWGdVQjN1?=
 =?utf-8?B?RjI2bm1KUVlYak1za25ubTkrTUF2Z2JZYW1nOUlOdDZjZTVRVmhWUHZkekg3?=
 =?utf-8?B?UHRCTGhFbEFhVzhWTWNHQmZKWGRTY0NIUVFab09taU8yMHBGdk1xbGFUUmRS?=
 =?utf-8?B?cDQwR0FVVGRCMlJ5QkMyUW52SEFUSzlHN09yQ1dweDE1K1FkY0ZnNTE0RjFi?=
 =?utf-8?B?N2M0blJYOWNqQytYOE9OVDNFelJaR3pXSzRCWXRLcXFoejhnd2xNc3dNRFJC?=
 =?utf-8?B?NTUvSUtzREI5cnJlVy9iWjRuTit5bndGcEpORy90L3NjUFBOYjNkNTFGZmZn?=
 =?utf-8?B?djZXL1EwZUJlSkd5ajNzQ2hMM091WjZkN3Q5Vnh0MVk0Qk1iYmgzUDRmVkJN?=
 =?utf-8?B?dk8zaFFWcGxUV1luamJJQVlFY1Z4TmlLOThqL3k5eEFQZWpHRWpwb2ZIYXlZ?=
 =?utf-8?B?bGxFamtGQ0VBVWdaZ3E2NHBrT3FZY2tic3ZmbUVmN3g5MDljcC9Gb2Z5TVdB?=
 =?utf-8?B?LzN3VEVqSU9CbkNIalNOdFlGTXQwVlNrQWpqU1lEVitqQnJrZFFhN2hJZUZ5?=
 =?utf-8?B?YVJIekRuRXQxaWMvWW9VeG83NVFzemlkV0hYbmlZRithbVdKZ1dvQmFvNW50?=
 =?utf-8?B?VjNqcVVmOWVZZ0h2a3BFbnhQWldoMkphNGJKRi85MjRVSmk5ZW1VTk4xS1c1?=
 =?utf-8?B?TXhNWVBkQmV3c3Y1OWRRUFIxa1lIT211Vkp6bFdvck8yd1FON2FJcy90UjIr?=
 =?utf-8?B?QkM4KzJEMFA4T0JSUXYzZE1FMmx6M1FCNjVUR1UzODBLMGlKL2Mwb2FFYVNu?=
 =?utf-8?B?UWtwWHJLWWswWEk2K0VHT0hKd2Y4ZkE5cXg4UzBUY2dYZEdOVFRoLzQ4ZXoz?=
 =?utf-8?B?ZUpFcjNUbXRXL0tRZXlHSk1LRmFBZkRacytrRi9zaEhlTzZwc04raUtlYkNY?=
 =?utf-8?B?WHBLdDkxcVMxTjVCQThTb2JFOWxVZVJMSmRlQ2FxcTk3Wm9yN3V2UkhFNXQv?=
 =?utf-8?B?M1hPek10Vm9oZ0NqUkhyemVlYWY5aTZsQ09IQXY4OXo1ZG5RTVpXcEtydEI5?=
 =?utf-8?B?OWMxQm9NaUtTK2ZrQWFERzNyWTluaDdpMnVEMlFsN3dOQm13YjM5V3pKMnRT?=
 =?utf-8?B?M0Mxb0dhWU0wM09MQVVzNHNUYXFjVWw3RWdYUWUrT0ZGKzlFanduN2dmOEY0?=
 =?utf-8?B?VlV6VE9DeW1Ia2dwWEFsNEhyaWdVNWgwdDZkMWI2ZXl2cjQ1QWxKeFZkK2Fk?=
 =?utf-8?B?eldWUjRydGZJYmRwM2NLa2dQNlRvMFFjWTNlQXBSek82eWRUN2F6bThhakhV?=
 =?utf-8?B?VEpyOU9KZXNCYzF6MHF6aHJ6UVVaUWVFZ0NMdDF0M3B5UkJrSVlQZXdnbnFx?=
 =?utf-8?B?STU0Z1lodC9Udyt0MTA3WHZhQ0ZYOTVPMmJmeERyMHhpM3FRemIrcU1OUEpR?=
 =?utf-8?B?YyswWmRKa2d0c3pqd0NiQldBMlIrckxBUnphMDY4WTI5UDljdHlWRUJMOGlP?=
 =?utf-8?B?emRSZ1c4YzhqU21mQWcrWnVQRTBtUWgvVm03eldXN3BRVnJlR3ErbGZzaFM5?=
 =?utf-8?B?OVVZOEswQmdoNDYzTFZQYVFhR0g1cEdjdkdxT0hpRHZYZzI5TjUwY1UvdGVH?=
 =?utf-8?B?S1ppSHlxZlVSNU9UMVQ1ZURyZVEzUWFyRm0yS0V1cW14ZXFHZSthN2lJQ0gz?=
 =?utf-8?B?Ny9HUHBXSEhUZVg0bmdoRXVmS2twMXdUSythUFJmRkdqeFc5QmcrSm9PSU1B?=
 =?utf-8?B?ZG5rMUN0NDZjSGtwNWF5S0tUUGNpVDR0Z2t0eTFoRWZHUlFvblZFOTUwTHpK?=
 =?utf-8?B?WXcxc3JSeTRFWnRNclBzTWswNGZ3TlZnWWYwaHNKcFhYNVhvd0tmSXRZQnZ1?=
 =?utf-8?B?dTA0ZEJGdnRnR3ljWVNYbzlZS1h0aUNVNW41MGxOZ3YyS242Tnk3emJjUGlI?=
 =?utf-8?B?VWRkUUxUeTRFbnJJazU4Zm1MYytQVkZPQkhZZlMyQ1hVa2lZeDRkT3pwK0Zu?=
 =?utf-8?B?Z3o0VkFlU05JY2E5NTFiYytJU0I0ZzZzTzZwdFNmcUU0RERWRkNvWUV4VlZL?=
 =?utf-8?Q?GMdSIWAadE1Y3M/woGEL/2Bfj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2ba1b851-5948-44bc-d489-08dad791ee9f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 13:58:20.1122
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: k3g1789X6I0t5FerEY+4McOsDDx626M4joYsREB7bRQGtbxzLh2du2w3KUpjgw9FYkRqKWZJWgFtQxzs//Jk5w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8670

On 06.12.2022 14:53, Jan Beulich wrote:
> While plausible to do what was intended based on the name of the flag
> (PGC_page_table), that name was misleading and is going to be changed.
> It marks page tables pages _having_ a shadow, not shadows of page table
> pages. The attempt also didn't cover the HAP case at all, and it
> constituted a potentially very long loop doing nothing when
> !SHADOW_PAGING. Instead leave a comment of what actually wants doing
> there (which then also may need to account for e.g. the risk of A/D bits
> becoming set behind our backs).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

I'm sorry, I should have Cc-ed tboot reviewers here as well.

Jan

> --- a/xen/arch/x86/tboot.c
> +++ b/xen/arch/x86/tboot.c
> @@ -177,29 +177,6 @@ static void update_iommu_mac(vmac_ctx_t
>  #define is_page_in_use(page) \
>      (page_state_is(page, inuse) || page_state_is(page, offlining))
>  
> -static void update_pagetable_mac(vmac_ctx_t *ctx)
> -{
> -    unsigned long mfn;
> -
> -    for ( mfn = 0; mfn < max_page; mfn++ )
> -    {
> -        struct page_info *page = mfn_to_page(_mfn(mfn));
> -
> -        if ( !mfn_valid(_mfn(mfn)) )
> -            continue;
> -        if ( is_page_in_use(page) && !is_special_page(page) )
> -        {
> -            if ( page->count_info & PGC_page_table )
> -            {
> -                void *pg = map_domain_page(_mfn(mfn));
> -
> -                vmac_update(pg, PAGE_SIZE, ctx);
> -                unmap_domain_page(pg);
> -            }
> -        }
> -    }
> -}
> - 
>  static void tboot_gen_domain_integrity(const uint8_t key[TB_KEY_SIZE],
>                                         vmac_t *mac)
>  {
> @@ -233,8 +210,7 @@ static void tboot_gen_domain_integrity(c
>          }
>      }
>  
> -    /* MAC all shadow page tables */
> -    update_pagetable_mac(&ctx);
> +    /* TODO: MAC all shadow / HAP page tables */
>  
>      *mac = vmac(NULL, 0, nonce, NULL, &ctx);
>  
> 
> 



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:05:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:05:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454915.712491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YZV-0000e4-2b; Tue, 06 Dec 2022 14:05:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454915.712491; Tue, 06 Dec 2022 14:05:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YZV-0000dx-00; Tue, 06 Dec 2022 14:05:21 +0000
Received: by outflank-mailman (input) for mailman id 454915;
 Tue, 06 Dec 2022 14:05:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WiLW=4E=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p2YZT-0000dq-Kn
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 14:05:19 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7e88::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f9a71288-756e-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 15:05:02 +0100 (CET)
Received: from MW4PR04CA0219.namprd04.prod.outlook.com (2603:10b6:303:87::14)
 by PH0PR12MB8176.namprd12.prod.outlook.com (2603:10b6:510:290::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 14:05:14 +0000
Received: from CO1NAM11FT065.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:87:cafe::3e) by MW4PR04CA0219.outlook.office365.com
 (2603:10b6:303:87::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Tue, 6 Dec 2022 14:05:14 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT065.mail.protection.outlook.com (10.13.174.62) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.14 via Frontend Transport; Tue, 6 Dec 2022 14:05:13 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 08:05:12 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 6 Dec 2022 08:05:11 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9a71288-756e-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ve9Nn3tyWuz92B+iGmIMMWxEggLXjmjx5cYf3efo9W9QDUiX5/gGuw6j8LPBIh/suvnxoasPdzxRS75CtRAHWD35URwNKOeJFInmTCk3Ppdi3aGgK6rApKUmqY7cZXxOVhHeYAcYESw2j0eQen32unW3LQszDTFRJoJnb5iNuUlhveTj+ZmFmr+Np38/nUOZ4l4iYFj3SGzbnjiJGNfsB3L9JenyFQk0kKou172zLR/2vBtQ/z5AY3SDuSbkLpqswEYrqxvo400xKKpAEd0pfaYTF6Oo7GU6p4oYPT5a6BwVn742/fpRODfUpLu/bIkaZKglt4yiEsA9rTbYkE25Kg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OcAUhPy/S5Mr9wVdGuYBDm8qNnl/JIQ5QIVBIN4OJSg=;
 b=GbYnRbhKqu1OjZGN8rYLaLoJc/n2IqORWTrTr3ZNOmKHR63yrclVVvLFDUsC55zeQu2q9iueB+7RXcm4ew6Tma/YdWPFC8pqUpMcVrUo/1ZbvGvUMEiCCWA3l3QNqEpSjO0kPx4gQbPhR1ZLFE/Hv41OOds4OMKFBGcEWna17AiUooxwYDI1vnZQjLsJBiEd4mijbY+F5LT5vWJ6FC597Zdg7kTOQFn25RXCAksjpaybAWo2FMag0qPtz9sGl8ZuYryppwZrSPKaP/W7SuoxOSLSPcUYlHGnHAulfrGUxD2MooW2MNjYQv4u2mSv6dvtPa9/lHexEQFaNJRBDcaMFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OcAUhPy/S5Mr9wVdGuYBDm8qNnl/JIQ5QIVBIN4OJSg=;
 b=rJ1rkXd+zTmtR8NpVXNkh8qdcPtc6TSik+z1Z22RNlI3IDj6hELot4SPWUjouXoGPILMnpNLFxR3QMpdeXakJbLrguhL5i6qeN63hf1jun2MRjsakGMFBBNibhcnAJLsPst1mW5FaQPiWGvVg1IPGUB5R4+fdxlyDlNsLEfCqNo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <4adcb0d7-1f94-231e-9dc2-41dc3b45f949@amd.com>
Date: Tue, 6 Dec 2022 15:05:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] xen: Remove trigraphs from comments
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
References: <20221206105932.11855-1-michal.orzel@amd.com>
 <0bfa1b1b-7ae0-03c9-0291-5ce3f6877693@suse.com>
 <92cc2cf3-4c95-1395-be2c-d076fa5d397b@amd.com>
 <cf7f8deb-ec5c-c6ec-ba5b-b7099830fcb9@suse.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <cf7f8deb-ec5c-c6ec-ba5b-b7099830fcb9@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT065:EE_|PH0PR12MB8176:EE_
X-MS-Office365-Filtering-Correlation-Id: b331c1ec-abf9-4f50-5862-08dad792e577
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vC6mPvcevBda/D12wjbRY9PPOuzEGSezjw8NoztuCJ7dSZkxj8DLC4gdvYogbsug9hl0xxF1pixjJlELRfYcz9iRDEOEWqn/ya4U+9bszrC2t/iT84OcqB5M/tMlI5dlBpKjNqkPddIF/pUqTVVxqkCE40dZM2aajiK8NyG9gNTrjm27F9MjcecWuC6fWDzFj/MT8D4wkYoT6/GjjLSp3FC9S6ec9uXiw6PGI3g2EGDqM6xGj/Z9ZmLj5CNp9TsnFmOww5ARwf3zJEIYrNHltKTtrEWhxoMObkyb3VCQmtZpz+gZ8q7eGa1dfToBB85sZgRuijxZdiD5xGaPngH0dj1wXBa8kpMEJwr9pQFt1pQRptAecsipRLd9/N1Dp4IPo8PW0oaLctFTxLsQAgI/qV2nOAVHt5w4db7vsBCSNfgOfzmEN6/z+8TJQhoSVUEuO2SHzsHaP5MrgL8Hl92xZXrYRWIe9IyfsLtAJxlGb+4lQCDzYq9izrznc5EmWL9QX2MOrwjVuqcooJKTuL//CYPkoeGwUMrrA4wun49ke9oO1oJT7DTTXdIaVxPPpMqLJzdx6ZVlEHMPDUzH87mUQBxywXShaggCElmBraZlDicQGCvRKOz5fC1EPybmVR/KayKsUOFdWUjZJc5WusufmHVPSXF3ffm9FDSxRPWuUXRpVErxTMqu4g6EzDS/Sz0FLJTj8w+TZaesj1bvF5t5XLAcmAcCT9xwfvV6xblSh3cuPspLI4vgRBl6RnUrb6CgfYFw/Lk6LRQAZnPsS0rTcA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(396003)(136003)(39860400002)(451199015)(46966006)(36840700001)(40470700004)(41300700001)(2616005)(426003)(47076005)(82310400005)(186003)(82740400003)(5660300002)(8676002)(4326008)(36756003)(86362001)(336012)(83380400001)(70586007)(356005)(81166007)(478600001)(31696002)(40460700003)(40480700001)(54906003)(26005)(6916009)(316002)(53546011)(16576012)(36860700001)(70206006)(2906002)(66899015)(31686004)(44832011)(8936002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 14:05:13.9628
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b331c1ec-abf9-4f50-5862-08dad792e577
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT065.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8176



On 06/12/2022 14:46, Jan Beulich wrote:
> 
> 
> On 06.12.2022 14:05, Michal Orzel wrote:
>> On 06/12/2022 13:42, Jan Beulich wrote:
>>> On 06.12.2022 11:59, Michal Orzel wrote:
>>>> --- a/xen/include/xen/pci_regs.h
>>>> +++ b/xen/include/xen/pci_regs.h
>>>> @@ -246,13 +246,13 @@
>>>>  #define  PCI_PM_CTRL_STATE_MASK      0x0003  /* Current power state (D0 to D3) */
>>>>  #define  PCI_PM_CTRL_NO_SOFT_RESET   0x0008  /* No reset for D3hot->D0 */
>>>>  #define  PCI_PM_CTRL_PME_ENABLE      0x0100  /* PME pin enable */
>>>> -#define  PCI_PM_CTRL_DATA_SEL_MASK   0x1e00  /* Data select (??) */
>>>> -#define  PCI_PM_CTRL_DATA_SCALE_MASK 0x6000  /* Data scale (??) */
>>>> +#define  PCI_PM_CTRL_DATA_SEL_MASK   0x1e00  /* Data select (?) */
>>>> +#define  PCI_PM_CTRL_DATA_SCALE_MASK 0x6000  /* Data scale (?) */
>>>>  #define  PCI_PM_CTRL_PME_STATUS      0x8000  /* PME pin status */
>>>> -#define PCI_PM_PPB_EXTENSIONS        6       /* PPB support extensions (??) */
>>>> -#define  PCI_PM_PPB_B2_B3    0x40    /* Stop clock when in D3hot (??) */
>>>> -#define  PCI_PM_BPCC_ENABLE  0x80    /* Bus power/clock control enable (??) */
>>>> -#define PCI_PM_DATA_REGISTER 7       /* (??) */
>>>> +#define PCI_PM_PPB_EXTENSIONS        6       /* PPB support extensions (?) */
>>>> +#define  PCI_PM_PPB_B2_B3    0x40    /* Stop clock when in D3hot (?) */
>>>> +#define  PCI_PM_BPCC_ENABLE  0x80    /* Bus power/clock control enable (?) */
>>>> +#define PCI_PM_DATA_REGISTER 7       /* (?) */
>>>>  #define PCI_PM_SIZEOF                8
>>>
>>> We've inherited all of these from Linux, and I notice Linux still has it
>>> this same way. Ideally Linux would change first, but I'd be okay with a
>>> sentence added to the description clarifying that we knowingly accept
>>> the divergence.
>> This file already diverged and we are not in sync with Linux as well.
> 
> Of course - that's the case for the majority of files we've taken from
> somewhere. But a Linux patch dropping the (??) parts of the comment
> (perhaps once whoever had put them there convinced themselves that the
> names of the constants and/or the comments are valid / applicable)
> would then no longer apply cleanly if we wanted to carry it over.
> Hence my request for amending the description.
I'm totally fine to add an extra sentence.

> 
>> Also there is no functional change being made by this patch so it is ok
>> to change Xen and not Linux in this case (which has quite a lot of trigraphs all over the place).
> 
> Based on what criteria are you saying this is ok (unconditionally)?

I said that it is ok to change Xen and not Linux because this file already diverged,
so we cannot assume that future backports will apply cleanly. If we change a file
that did not diverge, then we are required to modify the origin first and then
do the backport.

> 
> Jan

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:07:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:07:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454920.712503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Yb0-0001B5-Da; Tue, 06 Dec 2022 14:06:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454920.712503; Tue, 06 Dec 2022 14:06:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Yb0-0001Ay-Aa; Tue, 06 Dec 2022 14:06:54 +0000
Received: by outflank-mailman (input) for mailman id 454920;
 Tue, 06 Dec 2022 14:06:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=d2tL=4E=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1p2Yay-0001Aq-DW
 for xen-devel@lists.xen.org; Tue, 06 Dec 2022 14:06:52 +0000
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com
 [2607:f8b0:4864:20::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a54676b-756f-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 15:06:51 +0100 (CET)
Received: by mail-pl1-x62d.google.com with SMTP id b21so13995738plc.9
 for <xen-devel@lists.xen.org>; Tue, 06 Dec 2022 06:06:50 -0800 (PST)
Received: from [10.17.77.118] (ll-22.209.223.85.sovam.net.ua. [85.223.209.22])
 by smtp.gmail.com with ESMTPSA id
 h13-20020a170902680d00b00189c62eac37sm6749498plk.32.2022.12.06.06.06.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 06 Dec 2022 06:06:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a54676b-756f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=fP5xJavYfw+udVxdse618vFGR2H6vGrEn/ZNEsRsWpE=;
        b=ltxTTIg7eItZRNuUsj3XFlbMXW567ZyrwHYtpYFareAihiRMy39SU/stMFjnqrnKAJ
         nuhfxOFevWOQGTcVaGv7S++kC6mkeCYqG/LcXtnfrFo/wD3vjbTgSh6ptVmR/YL+KngR
         5bl9H4w1eIK//hwsTKRwuiJixFo++6BZjtvldDOeke8q2HUCLJH18Y+V9J/vNMfMxUqu
         KvUEefPHXy+K/maudeR9oDUhJ4MwsNWVqPSjJ0axio5h+ihnkOm9OfKqoprEZ33osl4o
         YIpoM4hJKcXg340l8owGiPqqKvGhaufHg+B2wAASL62nFj6VUThW++jj1fn0gOcYFGUt
         L4XA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=fP5xJavYfw+udVxdse618vFGR2H6vGrEn/ZNEsRsWpE=;
        b=iYKxtUR3rAPj3SE6/LO0LZrB47BA89swx2HRa0sJ5NeQmujMgb3hwhf03aNhWUaVYj
         ZImScADJWKZBYGFUobeMNBAZoWv/eJEIi7ir3qR6VD60X3gihIm4mqa3A5FIgZHHriDV
         yY8tFKx4w4pvHLxYyM8zgmiZTVyOF7joDMbBMq4iQTxOwahzRLSbLoyux2ctp/EWwTAI
         EJFLd5Sz7B8/uh9cm9n5tGhGenuukQWK9pLFb5NNXfaltJx38fYtHGgod7jdZiBUcdsm
         RsW/Ot/Yos7T/NYd6+6VUHzctt0PZe6+h3i3u6nFfr6NuzZK02Dum5l24UPBMUhpUg9v
         dLBg==
X-Gm-Message-State: ANoB5pkBK0FTNS0aSglCgVK1rAszibBQL0hqrin8Jau2rYgTbXrPnSSD
	BUtHDg6y5ToY6VGq1GHVi7s=
X-Google-Smtp-Source: AA0mqf7jre/E5aj71ikn01xnR3XnQlnYIbCwodJZw4YG1XwBb36m2Qbr5AEStrRD1Pw2SUtWf+YfFg==
X-Received: by 2002:a17:902:e415:b0:189:e924:e27d with SMTP id m21-20020a170902e41500b00189e924e27dmr4042391ple.167.1670335609164;
        Tue, 06 Dec 2022 06:06:49 -0800 (PST)
Message-ID: <4261f3f1-09f6-9d63-b085-a7ae58b242e5@gmail.com>
Date: Tue, 6 Dec 2022 16:06:30 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [PATCH V6 1/3] libxl: Add support for generic virtio device
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xen.org, Julien Grall
 <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <f1dc91669df27705c25a1f3018427c2db77b32a6.1667906228.git.viresh.kumar@linaro.org>
 <6a546552-d71d-a262-5981-8058dc37ae26@gmail.com>
 <20221205061518.l2i4kqkzcivpxaxl@vireshk-i7>
Content-Language: en-US
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <20221205061518.l2i4kqkzcivpxaxl@vireshk-i7>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 05.12.22 08:15, Viresh Kumar wrote:
> Hi Oleksandr,


Hello Viresh

> 
> On 02-12-22, 16:52, Oleksandr Tyshchenko wrote:
>>> This patch adds basic support for configuring and assisting generic
>>> Virtio backend which could run in any domain.
>>>
>>> An example of domain configuration for mmio based Virtio I2C device is:
>>> virtio = ["type=virtio,device22,transport=mmio"]
>>>
>>> Also to make this work on Arm, allocate Virtio MMIO params (IRQ and
>>> memory region) and pass them to the backend. Update guest device-tree as
>>> well to create a DT node for the Virtio devices.
>>
>>
>> Some NITs regarding the commit description:
>> 1. Besides making generic things current patch also adds i2c/gpio device
>> nodes, I would mention that in the description.
>> 2. I assume current patch is not enough to make this work on Arm, at least
>> the subsequent patch is needed, I would mention that as well.
>> 3. I understand where "virtio,device22"/"virtio,device29" came from, but I
>> think that links to the corresponding device-tree bindings should be
>> mentioned here (and/or maybe in the code).
> 
> Agree to all.
>   
>>> +static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt, uint64_t base,
>>> +                                        uint32_t irq, const char *type,
>>> +                                        uint32_t backend_domid)
>>> +{
>>> +    int res, len = strlen(type);
>>> +
>>> +    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
>>> +    if (res) return res;
>>> +
>>> +    /* Add device specific nodes */
>>> +    if (!strncmp(type, "virtio,device22", len)) {
>>> +        res = make_virtio_mmio_node_i2c(gc, fdt);
>>> +        if (res) return res;
>>> +    } else if (!strncmp(type, "virtio,device29", len)) {
>>> +        res = make_virtio_mmio_node_gpio(gc, fdt);
>>> +        if (res) return res;
>>> +    } else {
>>> +        LOG(ERROR, "Invalid type for virtio device: %s", type);
>>> +        return -EINVAL;
>>> +    }
>>
>> I am not sure whether it is the best place to ask, but I will try anyway. So
>> I assume that with the whole series applied it would be possible to
>> configure only two specific device types ("22" and "29").
> 
> Right.
> 
>> But what to do if user, for example, is interested in usual virtio device
>> (which doesn't require specific device-tree sub node with specific
>> compatible in it). For these usual virtio devices just calling
>> make_virtio_mmio_node_common() would be enough.
>>
>>
>> Maybe we should introduce something like type "common" which would mean we
>> don't need any additional device-tree sub nodes?
>>
>> virtio = ["type=common,transport=mmio"]
> 
> I am fine with this. Maybe, to keep it aligned with compatibles, we
> can write it as
>   
> virtio = ["type=virtio,device,transport=mmio"]
> 
> and document that "virtio,device" type is special and we won't add
> compatible property to the DT node.


Personally I am fine with this.


> 
>>> diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
>>> index 612eacfc7fac..15a32c75c045 100644
>>> --- a/tools/libs/light/libxl_create.c
>>> +++ b/tools/libs/light/libxl_create.c
>>> @@ -1802,6 +1802,11 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
>>>                                  &d_config->vkbs[i]);
>>>            }
>>> +        for (i = 0; i < d_config->num_virtios; i++) {
>>> +            libxl__device_add(gc, domid, &libxl__virtio_devtype,
>>> +                              &d_config->virtios[i]);
>>> +        }
>>
>>
>> I am wondering whether this is the best place to put this call. This gets
>> called for LIBXL_DOMAIN_TYPE_PV and LIBXL_DOMAIN_TYPE_PVH (our Arm case),
>> and not for LIBXL_DOMAIN_TYPE_HVM. Is it what we want?
> 
> Can you suggest where should I move this ?


I am not 100% sure, but I think if this whole enabling work is supposed 
to be indeed generic,
I would move this out of "switch (d_config->c_info.type)" at least.

>   
>>> +libxl_virtioinfo = Struct("virtioinfo", [
>>> +    ("backend", string),
>>> +    ("backend_id", uint32),
>>> +    ("frontend", string),
>>> +    ("frontend_id", uint32),
>>> +    ("devid", libxl_devid),
>>> +    ("state", integer),
>>> +    ], dir=DIR_OUT)
>>
>> I failed to find where libxl_virtioinfo is used within the series. Why do we
>> need it?
> 
> Looks like leftover that I missed. Will remove it.
>   
>>> +static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
>>> +                                       libxl_devid devid,
>>> +                                       libxl_device_virtio *virtio)
>>> +{
>>> +    const char *be_path, *fe_path, *tmp;
>>> +    libxl__device dev;
>>> +    int rc;
>>> +
>>> +    virtio->devid = devid;
>>> +
>>> +    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
>>> +                                  GCSPRINTF("%s/backend", libxl_path),
>>> +                                  &be_path);
>>> +    if (rc) goto out;
>>> +
>>> +    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
>>> +                                  GCSPRINTF("%s/frontend", libxl_path),
>>> +                                  &fe_path);
>>> +    if (rc) goto out;
>>
>> fe_path is not used anywhere down the code even within the series, why do we
>> need it? Or we just read it to make sure that corresponding entry is present
>> in Xenstore (some kind of sanity check)?
> 
> I copied it from libxl_vkb.c and it isn't using it either. So I assume
> it is a sanity check, though can be removed if that's what makes
> sense.
>   
>>> +
>>> +    rc = libxl__backendpath_parse_domid(gc, be_path, &virtio->backend_domid);
>>> +    if (rc) goto out;
>>> +
>>> +    rc = libxl__parse_backend_path(gc, be_path, &dev);
>>> +    if (rc) goto out;
>>
>> The same question for dev variable.
> 
> Hmm, this we aren't using at all, which KBD does use it. Maybe we
> should even call libxl__parse_backend_path() ?


 From the code I see that KBD uses "dev.backend_kind" afterwards, so for 
that purpose it calls libxl__parse_backend_path() to fill in dev's 
fields, but here we do not need it. I would drop this call together with 
dev variable.


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:09:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:09:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454928.712513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Yd5-0001qG-0E; Tue, 06 Dec 2022 14:09:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454928.712513; Tue, 06 Dec 2022 14:09:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Yd4-0001q9-TQ; Tue, 06 Dec 2022 14:09:02 +0000
Received: by outflank-mailman (input) for mailman id 454928;
 Tue, 06 Dec 2022 14:09:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XkKw=4E=citrix.com=prvs=332b12f58=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p2Yd3-0001q1-Hb
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 14:09:01 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86ca096d-756f-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 15:08:59 +0100 (CET)
Received: from mail-sn1nam02lp2048.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.48])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Dec 2022 09:08:23 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5326.namprd03.prod.outlook.com (2603:10b6:208:1f0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 14:08:19 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 14:08:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86ca096d-756f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670335739;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=dar9TCF7YOt3nmlXKnGyINH4asMo4QDeYVUuUx8s4ow=;
  b=HFqujGbnD+73TwcSRKQg0wq3ebE3l3lK7QZpAEEEZvPL6yvp9P8oJaYM
   ceE/ab+oKrbSJYx02+vQY4uCA42pBtS/LEy0/9EdwVxy4ZS8IszAiBK0E
   LK+kZOAOavz+V8R0SKPbW7lI3pYKzkMDbWHeaAAz9aMNz33guueiizyqd
   Y=;
X-IronPort-RemoteIP: 104.47.57.48
X-IronPort-MID: 89347222
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:6tSZm6y4zAeeAqnhzLR6t+caxyrEfRIJ4+MujC+fZmUNrF6WrkUOn
 TRNCjyGOqqJamP0KNl+bd+3o0kF7cTXytJrTAM/+CAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPa4T5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KVlT1
 vgdGXccVBaeg/unzemqRthRlO12eaEHPKtH0p1h5RfwKK58BKvlGuDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjeVkFwZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXOqA95NTufinhJsqAWYxF5QCwAoaQTliqKbknLiUugHE
 GVBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9Vna15rqS6zSoNkAowXQqYCYFSU4e5YDlqYRr1BbXFI4/QOiyk8H/Hiz2z
 3aSti8iir4PjMkNkaKm4VTAhDHqrZ/MJuIo2jjqsquexlsRTOaYi0aAsAGFhRqcBO51lmW8g
 UU=
IronPort-HdrOrdr: A9a23:4vZFaqhpp9YAu0D0zuVJsPKzI3BQXh4ji2hC6mlwRA09TyX5ra
 2TdZUgpHrJYVMqMk3I9uruBEDtex3hHP1OkOss1NWZPDUO0VHARO1fBOPZqAEIcBeOldK1u5
 0AT0B/YueAd2STj6zBkXSF+wBL+qj6zEiq792usEuEVWtRGsVdB58SMHfiLqVxLjM2YqYRJd
 6nyedsgSGvQngTZtTTPAh/YwCSz+e78q4PeHQ9dmca1DU=
X-IronPort-AV: E=Sophos;i="5.96,222,1665460800"; 
   d="scan'208";a="89347222"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d59hEJSJwWya66AIaBvV5GjRCDxzAGHgwBGJ7Pd5YM6+Egt7Ry7/sC+cpyP05fLUuyAb7jYDJQBCvZ4LQ2owMY/n90LcavukxPpBqfn5oQ8cL8rNVB5p64fku9hMWE92GOT/zea+KkUTPRGH3SIoJrYTxNrI91eDDa7vBtNItLSn9+mFO9yuDEYzfxA54pLx1q0qOta89LFkmAZa4XV+YjO6WuRreRztQnUbxoXHuCD2cEosFjc95eK8Vk2AleKnrUjInlg1beX/JLhdo7dZc+NEScyMpSk2Im3Ye91kK4ADER6Jm1IObLioPDh+AOt+GjmykxBFGbdWxc7vLjdg3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dar9TCF7YOt3nmlXKnGyINH4asMo4QDeYVUuUx8s4ow=;
 b=Tvd1aQpQYw8sZyHCBO/QnByYqoFthtwjnhxYfdaZ208jyv6/WrkfCHt1G0KPO3QiS/k+SPRDTsjWk37lLoMnBzLyIKwULe9BXvujW0geouzmqL5JVM+BUUQWlGsjaFiFugZO5Cb++6+/xgk+QfXBljeSYDfXEIlOkgjvZgkwjPvv+9QFsjjK5Qd7bBUTWjNLPwvq/cuM28arunw8tGH2nmv5qWmlhL4fajIztmDgFWt0HfvNrOQzlnJ+D7pCN34IWx92esKys1ioStXMt3mpSE02Eu+vaKeF1oF1EQg1sA2khGhmMKMKC3W96GyhHNbo54f2O0QTVl/3slB2xcnPPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dar9TCF7YOt3nmlXKnGyINH4asMo4QDeYVUuUx8s4ow=;
 b=KI7egetlTgLZvFTGphrn4XnHkN/HEOxM7jn/XqfgKUFyem/aSaHqvjPzu++f9FKRGoYSkkbY2DxDFxtZPpf4YiQN9y7/AjTAZ6Ln22wKp8s6345MhpXpjJCeAmzDuAk6kPNvwXc5PvEFLLpIDV/ziO2g81vyBuUEvyGvYE+PUs8=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, George
 Dunlap <George.Dunlap@citrix.com>
Subject: Re: [PATCH 2/5] x86/mm: rename PGC_page_table to PGC_shadowed_pt
Thread-Topic: [PATCH 2/5] x86/mm: rename PGC_page_table to PGC_shadowed_pt
Thread-Index: AQHZCXoxJf3WjWoKeUi55I26RpBTwq5g5W2A
Date: Tue, 6 Dec 2022 14:08:19 +0000
Message-ID: <12e07d49-b8ec-1c8c-0560-a34cbe895642@citrix.com>
References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
 <cb8f6cad-99bf-1656-4a2f-12a281481a65@suse.com>
In-Reply-To: <cb8f6cad-99bf-1656-4a2f-12a281481a65@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|MN2PR03MB5326:EE_
x-ms-office365-filtering-correlation-id: 606c88ee-98dd-4b35-3f0b-08dad793540f
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 bKtMe2rLLmpciJw10+EBCCKOpyLFZ6CtuXmDRRxekg/YNFUAIssDwBbyQlt46X5Z+gzxhMwHyD1jIY9SVCsuJce6lmVx9AMvuohpWDYSuGVsYnsh14jrVuijbL7nRP9HznbSHFH9godYDHWjGV4AJPt61h2awPdSRzEuR2XOgcnoGh/pDLh1LGtk7X6hoon1NU6lcIesP2tRvP3VyVyk8hHtlUCbD5AFiCUVxjVakx6vp3XNUmXJ9vraBGZjqDoK3EllYyfXEtyNvlF0kQgjLrg5Ug+xKm4WRUCtLrH1o4Mg8XF3T6RmYjqr20qpKFRkgKGQUkTBDXFVH/bp0lBhmYs8qA85yoRPWnny1/ChQBRO1Iz779yfTSjHieZWOj1PHsadGyh1OOcmW8y8xI27k5MC2tqHyW5qhcdRY0OCB4n186rZk8EI1W9uDezLURBypMiUm01jPNAVlo10zIXhfOBd4WKN+P72gtVuG0CnskrrB2v7U8OHvGKy/UCD77yUiE2ZnNnlWrc2G4z7AGwYDSgBGJnt6vt19WhWECVb6gX5HazrQarBP9EusoNha4R7Lg9C4E88/FJJ6R4KHFrcaJY1wF/m/EC2i/ztjuBq0KN1CkDwYFT+9e0HRM6hwaCWIC1DrFvwJIQXj6Jk+N9GWckL0OqxY7CiWTT+eirVeo1Rjg8L4I6B6+BbzK9P/Dp/ltRbDKB4CdvMs9Ptgk84Ea2XbCFeLLZPcXWuq2XQ2yta12ovFQ3h6PaD/m03OqvKz5V4ThMk1Ier2UsMhkSLCg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(451199015)(66946007)(71200400001)(6486002)(53546011)(31686004)(6506007)(91956017)(6512007)(26005)(316002)(110136005)(54906003)(4326008)(31696002)(86362001)(66556008)(76116006)(8676002)(64756008)(66476007)(66446008)(38070700005)(82960400001)(2906002)(38100700002)(41300700001)(2616005)(4744005)(186003)(478600001)(107886003)(83380400001)(8936002)(36756003)(122000001)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?c0liamovcUQrYUI2RFlOK1RiZTBzRVdYcFFVZm1wSmVnRldXcWpzeHNRZE8z?=
 =?utf-8?B?QTV4NlpEN3JqdU52bVkwWE1NR0V6SGl6UG9WUWR0OXc0L1J4bXdxTDNVRWJV?=
 =?utf-8?B?Rk5aWFZGdFUzQUxjY0hYNUh6Z3JoOGcyU2lsZ3BZSkVTNCs2d2llWEIzNTZv?=
 =?utf-8?B?YVdzNW9LMFp4c3pZK0U4dXFXcmt4UUpYeGtxWmc3Z1N2WUZRbVdLMFpZYndL?=
 =?utf-8?B?TUMrWXg1aUVJbytITUozTHA3dklMVzQvNTFFNWRhaVFZcmZ4Z2tlYjhZUE9U?=
 =?utf-8?B?RTlxd3huWndXak00MFlIMjdzNmhueFJiaDRHSENMQ0VuRUFHYlZ0MDVHTmZx?=
 =?utf-8?B?VTAyVkt2em9nbDBnLzNhc1BNYUI0bEFsWGpFUkVpazQvT3NKTlM0aHJHQXgr?=
 =?utf-8?B?Qmk0NmxqVzNZaDYyd212TXUvODN5NTBLRWs4a0ZIM1FSakxCbGZwaUNzL0ZE?=
 =?utf-8?B?UldqZDJqcGxxVmJISGx5ckd4L3k1VXVsYjVKb1ZNM1VVU3RBbGljT2dnb1pO?=
 =?utf-8?B?UUYwV2NTT09RYldzK2ZwRVpnNmV3RkdsNHplczVRYXQ3cUw0Mmk5cnNMZjBY?=
 =?utf-8?B?T0ZPK2RrcCtraUpCVFdJWGJHL3dqbTVLU1BRWXh1OVFxa09JYWpSYUFtMldt?=
 =?utf-8?B?S3kvaWhZMTBBaHpib1NmdHlNV0M0ZVU3clhVV2dDT1ljZ0ZyVTNkU3o3TzlJ?=
 =?utf-8?B?RTdpOEU2bGxBbk5FcTBna3BGMkpERmZ3WllwOXFoWmFCd1RqRmpFYS9BVDdH?=
 =?utf-8?B?SVJZMUx5VDdLZEE1anlneEViZDFnRUx6M0VwYitGa0JWWDVVU2I0dVpTMnBJ?=
 =?utf-8?B?YW9aeUtoMGdhYVJGVWNJYXZxeDFMQjNnOW1DaU9kS1BGeWlZWjRhYTgycVBp?=
 =?utf-8?B?ckFiallybFZONGVrVFpobGhKYkF5T0FmNlpHZXlMZHN1YlRQbGxhajV4Szhj?=
 =?utf-8?B?MUlrZ3JPd09YdHh2MmdQazlxYitxdW8xVHFiR284eFU4TGNVQkFNS1MvM01a?=
 =?utf-8?B?QnNQbG5PRS9COWd4ZlR5YkVnMGVzL0V1NytJSzdSMnlMTFV6NHdLNGFLVkZh?=
 =?utf-8?B?NVpVN0NRdDdRUW5mTWpGbzl2ZWxLN29zTlc1SGhmT1NHajdVVDFFZ0NBUi96?=
 =?utf-8?B?UjdUMXJpWWpERUEzVlR2U2F1akhuWGRFNkZSZnZmaGx4K1BDNGdod1psRmtQ?=
 =?utf-8?B?NmFlOXkxM0huQVhSc2dyd2p6OEhSUjkzL2VuN0pSQjhBWDN3WnRmM3ZBTmdY?=
 =?utf-8?B?SWt6cUVvRGpJSTZ0UDYzSTVaMTdRYnlYQ3RSa0gxOG1pRUJxdVFTa1RRLzJF?=
 =?utf-8?B?cnJuaE5lcENsU1lzbjBmMTZONEJzUmkxTkdsaDFWVHNKVGNRdHhzK1lMSEhW?=
 =?utf-8?B?L2NxMVI3S01PTTl6RjBTa3Vub3AzVHkxZG9QRUYyUkhZSHc2alpENU44SFBP?=
 =?utf-8?B?L3d6SUpMazBwOUF6bHhUWmdGMlN2T20xNVhlaHV3dUZwMmQwSFVSZG9uc1hn?=
 =?utf-8?B?QU9NaU83VTNhb2djeGN6MlJGcUsweDRXRzduTGNnejJKc0FxemVLUnhrbVIx?=
 =?utf-8?B?VGV2VDNMdjNvL1lyY1FVeEc5dGt6dmxRN2h0K21nQTJxc1J0SjlRTHlnaGlr?=
 =?utf-8?B?Ty9GSHJxRk9HcGxZRWVDNmM4dVVKeFpRc3Y4cU9aQW53L2h4elVQL3NtWTFV?=
 =?utf-8?B?Nm00QmMvN0FPaUhEbmRXZFpLZEQzR2Fndml0Wk5Bb2dxMzFnRGRvTFdWTFp0?=
 =?utf-8?B?ZXZ6TmFpd3U4dzNMQmNpQ3ZuTXpzd1BtM0IzdXRYUjVCUXRldnE5eTIzL0da?=
 =?utf-8?B?Qmo5bDNCRVlqZnR2WkZITjA2d3RKbU52Tk9tRWdBaDdpcjhwWWVmQk1HelBI?=
 =?utf-8?B?NnI1ZGxTV3QyZWhrZndXdm5tc1VaWXFNdy94VWZkanJwNlZOOEVLRXE4V2tZ?=
 =?utf-8?B?ZHJsdlU2ekpCZUZlcEtLQk0xTW1PUDYzcncrNzAwUFB0eFp5cTNBaUphR1Y5?=
 =?utf-8?B?NnprR2lPMUtzbno0VnR3R1dveldOdnl2c2RTeTdxSHRhdWhjT3doV3FFVGtq?=
 =?utf-8?B?V2haYnVVSVRuSlkzUnVVUmx3UUJZdE9zQlRQOGNLb09jdjU3RVB6amhYTkg1?=
 =?utf-8?Q?Ndp6fF/phJvC5gyT/69uiePqD?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D1228DF2BD1A0A47B88A0C4F8E188F0D@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	0ndskARl8G25PZfEmCvj4nt8fWhnU45LTwMC3DEeuk7iTLisr77g9ZsCKOlIwpA2jBTGBadyrDez2/AbiFel2WsjF3OElEJeGTxwaRIuWU0te0z2GHkhlKHFku/oIwILuSn4CcPVnMByDoqoT96MB1qOW+aXfJEJFqM33Dh9NPpZ8zZJmFoDnlBRTpzSgpkskDYF5tp2FKchtyteVFTK2onJw5c5/SwTVtL27L/NhHgctml6HNnkSomj1N6F8nRNCWzu1Ln+CUPNRPUi2bD7WIOrCzXkgnig7QdMkONpW3/oAht5VRhU3qVoKc5yPSOr7Ea4cserEhgOIYSBoOhSfkHSe7m50mqFE0S/ViEj2qhW+bYBqPaITI1WHgqZdispJj//8ChZOhRSAzD+ewJj4RL8lPYpLJTD03Zza5rZoWKy5tcPE3/Va+4fAa7wA06uaHnMvtoHNFPDnbJGG1ffwEkEPNnfB/LmggPw5fCn2olxmnjUB0ntfN2Wz0iMfmcTgTlPQGNlvjOwzwZeSVvzKg3CWOngQXzscOZWD3Hng9FTuDwgN2GPrAFVhvSILKYAo992CncDULJ4BWzgqCIRkpSPyIfyVmocApvFicWYPEHvaF9LCrAHqPyevzPu6sUdEKt5i1aek9KZ7/5VacT9Zrip59kuBKSn3mizKp2v/5S02rbXalaCZKtNb2NY5wNxU7VzD0iglRZlF3HidZFJK24GgTS0yjKKNUmNBzjrW1xUO35CM9VV1Y//b8S4gXqMIaYZBvNWU6Pg2sesL6nnd/Z4JrNVD19KN1fqbCVDesnL+rar6Rjc3Nw9NHgRe33s
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 606c88ee-98dd-4b35-3f0b-08dad793540f
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 14:08:19.6483
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: nhGMGOsguenzFRjCTvXNfXMAvERfwH55u1Yr4GfNOW2oefZ5BQhXGSyDZugJpNHOlwzU2mxDPr+MVW89WIQ5DftOt1/QMPCh2hvgvvuc/5c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5326

T24gMDYvMTIvMjAyMiAxMzo1MywgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFRoZSBvcmlnaW5hbCBu
YW1lIGRpZG4ndCBleHByZXNzIHRoZSBwdXJwb3NlIG9mIHRoZSBmbGFnOiBJdCBpcyBiZWluZw0K
PiBzZXQgb25jZSBhIHBhZ2UgdGFibGUgcGFnZSBvYnRhaW5zIGEgc2hhZG93LCBhbmQgaXQgaXMg
cmVtb3ZlZCB3aGVuIHRoZQ0KPiBsYXN0IHNoYWRvdyBvZiBhIHBhZ2Ugd2FzIGRlc3Ryb3llZC4N
Cj4NCj4gSW4gc2V0X3RsYmZsdXNoX3RpbWVzdGFtcCgpIGFsc28gcmVtb3ZlIHRoZSAybmQgaGFs
ZiBvZiB0aGUgY29uZGl0aW9uIGFzDQo+IGJlaW5nIHJlZHVuZGFudCAoUEdDX3NoYWRvd2VkX3B0
IGNhbid0IGJlIHNldCBvbiBhIHBhZ2Ugd2l0aG91dCBzaGFkb3cNCj4gbW9kZSBiZWluZyBlbmFi
bGVkIG9uIHRoZSBvd25pbmcgZG9tYWluKS4NCj4NCj4gUmVxdWVzdGVkLWJ5OiBBbmRyZXcgQ29v
cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1
bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNClJldmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxh
bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0K


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:09:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:09:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454929.712525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Yd8-00026S-8r; Tue, 06 Dec 2022 14:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454929.712525; Tue, 06 Dec 2022 14:09:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Yd8-00026F-4d; Tue, 06 Dec 2022 14:09:06 +0000
Received: by outflank-mailman (input) for mailman id 454929;
 Tue, 06 Dec 2022 14:09:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2Yd6-0001q1-Vf
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 14:09:05 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0614.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a1b1acd-756f-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 15:09:04 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBAPR04MB7398.eurprd04.prod.outlook.com (2603:10a6:10:1a0::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 6 Dec
 2022 14:08:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 14:08:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a1b1acd-756f-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xv6/uRAbary8Kd+aR1bT/bMe/6jpBVbP/cifv9tBmSFgJh/bBGEFUEV+AjAHwHNiCDZk7/5M9cXxGpSFwu2P4KZFDg8ALfP8jWbuLbPy75GzRZe8qvPl8hRQRnoBqxK5Xjx8JXZ4aZJj33gAQwZzJ4ilpJ3syGUZL6//khtAtiOevzJ2S5xxJrEkVOhAbaBxuTbiYO3IqoFPGnkBv+qSDUi+BBFZywnxiRoSgIIel3zdllq7d9OFnv72LSNH7HY/twMSINm6JKxrQHUqGhjWlKqg4YVN8NvwuKz4J+Lj3uK7YAvenGGUmsH5zUPdb58JDsVIGX3GJIfsf99DSYA+pQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5hxERaxNNSTSSoFJdRk1K9m7CRtM30+s/CnjYtwso9c=;
 b=YOcvLl1vvkLKQWIEpF4QvIfkn+KXeNwt4MGFNYTyR7vsMv5Tcys3BBJpZqGTmLgvvfdf3gbX9Lq4V8LC4hlnhlMcI75cVASV0+vBA7c9f0EtDIp02bXHuh+8uoPiY6xeP+9f4Pb9Cb09ispunFHw/NYzoQA7txfK7C5O3lqMggaobjMkY17U8UO+y20e6nIxRLKCXDunFF+09sKx/Z+qg7sR0zINYEpOXH5AkZOxJHKIZ6ZPI6W55DSn+ipEg96noCZL56Vh8WgH0R1fDm9VZAmaLNciol9UTwD5SM8NRf+0vgB87FUfrZYS6G6Pm6kB/I3zwRcFrDTTlPXl/fCWTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5hxERaxNNSTSSoFJdRk1K9m7CRtM30+s/CnjYtwso9c=;
 b=d/32mnM6zNuJodJalE8dgv3IcHVlCmsYgi6TKJJJFN7qbysDXtoCUI9BZovKvwMs45hrS/rLrg2qMPT/odE+9X4ia7jwBsqgtvRHtV17L/mp+YpyyOBfQ759lDgIaX0mnJUmFZvvFlRiqy3FgIsxfewf8YuIShOsYvBplG/uwcNVxqy/LdLcfstLqMklgzoGuFna/QvAv0Tbn5MLvAlhwBc97mqJ7kmiwwBSsFTN/wvR6dbEjfi0gSwunQ7yGNwLFz4dBJ16MBgDX3WK7Zwbjjul0bYpddZ3+ClPJZLZCG/vSthk0bEtulz1CDF9LayJcq0zKHhrlQG7QbCI2tSfsw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1d548ee9-dbb4-6570-7a6d-eeec03a69be5@suse.com>
Date: Tue, 6 Dec 2022 15:08:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] xen: Remove trigraphs from comments
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20221206105932.11855-1-michal.orzel@amd.com>
 <0bfa1b1b-7ae0-03c9-0291-5ce3f6877693@suse.com>
 <92cc2cf3-4c95-1395-be2c-d076fa5d397b@amd.com>
 <cf7f8deb-ec5c-c6ec-ba5b-b7099830fcb9@suse.com>
 <4adcb0d7-1f94-231e-9dc2-41dc3b45f949@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4adcb0d7-1f94-231e-9dc2-41dc3b45f949@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0127.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBAPR04MB7398:EE_
X-MS-Office365-Filtering-Correlation-Id: 185e1380-53ca-4d79-d4aa-08dad7936af3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	H2ytLuKmNg/+rpH7kgbTwOBZZ8d5bqcBxG+94zq3eBFGGcS0q05xQfVtsEVo1onWW3gFMRphRRKnbckMeukZLEUJU46VkpPCr9hJ1cBxJ9XI43Uhbj/Dsf0qP6tWJJ2t1xjML5RYDLhAy7F92kWYRIu7KE6psYGrihliEjX0R/oQfMEc0S4Xuv/sKXWZgYF6iuBPNnN3YW6q5DAJ/VFNmZw8tv6QsnrrpN6HaHR33XKDBiqnwNDLkZtLRuqCZoDbdshIY6lt3Lk9aDWwP8XVOzDNbiNqUA6TzGOY01tHQnwXasgs3ZepEqGrQYBdpE7kfwWpdzug2XvG+6OeH6SSrKDQKvHFDd7rn/7qd/UnJfdVX0s2FIH2Zf5j4hHSOAcg15lETdeSQo/0CY8N62IRyDUhUSPi/4D6VVjV78vegA9iN7AB0G1/0dywwHLcoeBB6fnJz7ZKVzIFvcgX/9xy0ZZfczsHBO16ASZakO9F32u924VlTkJ5EC7V02VhxRyT7wNj6U9xM/JGCmR8h9MZ5M+n7FsvZLVFHwYoBtT1JjpoZnitnR2g2/s1ZT1VRvXWyicTBosFRY1PNqd4WUni+bx2kf1Y2ytatz90MT+Knf6I1re4/tggr/ACl2T8YS5v2frj42ilA0ZbkuhMZbocQTNFIS1LdJXAOsIliqoQnjCBPJ2kgp3iOVkDNct/qnbilG+rwng+cOC37DLuXZm2euQ8bW8BMvTPF2Cy9HB+lZA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(376002)(396003)(39850400004)(136003)(451199015)(83380400001)(38100700002)(86362001)(31696002)(4744005)(66946007)(8676002)(4326008)(66556008)(66476007)(8936002)(2906002)(41300700001)(5660300002)(53546011)(6512007)(6506007)(26005)(186003)(6916009)(316002)(2616005)(478600001)(6486002)(54906003)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dDVPWDROZDIwVDJzdWdNTURRbGo4ZTg4WmpqVWZXMG8vdlBCVS9IMzVUaVo1?=
 =?utf-8?B?SkVOMDROWXFiMDNRZHNHZGtLcGRsSFZ1NDlJMDRrL1kzYlJyMld0Yll1OGRE?=
 =?utf-8?B?dUJOMndUWC80QTNMOHNWMFRUaXB3bExUcUVlRmRtWkJvU1hBOE8vLzZ1T0Nv?=
 =?utf-8?B?TXRTWGVrcDhVWFJ2eFVVaHdnOWZBOVo3ZU5IRllEWmhLQzhmM3Rsbzc5ZktI?=
 =?utf-8?B?MTU1MklaWGY4d0xLUGwwSmg3Qi91SXdoQjJvd29hbVlKb1NFWUJlVXNNMFdM?=
 =?utf-8?B?NkZJZjlsY055RE5rT1pxUDhJQVBNY2oxdUgyMGN4bU4rblk3OHl1TEtqK0c3?=
 =?utf-8?B?TE81N2ZuM2sydnd5Z041ZE5ya0M2SUx1QUdHRHNhU2hVd0lUbUMyY3N1eFlx?=
 =?utf-8?B?emJxZEt1WUFvaW8zKzhLMXRKUGdUTUd0V1QyMWd0dHJZMlNGZ0JIM0pjZVFv?=
 =?utf-8?B?N3VuS24xd3pVTlR5RFdGK2xveVBFUUYyT0w0WW1JUE1aeWFFL0tuVGUweUJN?=
 =?utf-8?B?eDNUcjhkWkpFazFLU0tCcmlSaXVsY09pK3ZFYkh5WVU4UE13Tmp4R3A0Q0Js?=
 =?utf-8?B?NjdiZk9hSE9TZnc5OU4wYjBoWE5oSXdmNjRjTVFvbnBJdy9yTHp4OUovNmZS?=
 =?utf-8?B?alhtVVd2RFIvQnVSNFAyS3FVK1lCRzhKNXJ0WWVYZk1aK1J0THFldnRkOHVY?=
 =?utf-8?B?RTE2QVVvcXN1VVRQcDFMd1dJcitPd3hzczcrYnZaNEcyRDB2RmJmZFhxZnAx?=
 =?utf-8?B?OWZxcFdVZldSYjZJT0xhS0cyYVRCUUdRRlpYUEhFQmdxeSt0TkpHVmdJRDBB?=
 =?utf-8?B?S1ZYQkE4dDE1WkFWWmdvMnl1TXVuK2FDUlEvNjF2R1JkeVlUUU5XZ29ZaDZC?=
 =?utf-8?B?NytOdmMva0lQQ2hpeGk0MXYwc2hROWtyNXJodDA5RmZwMEM2S0tlL2RyTkNE?=
 =?utf-8?B?RVVZOHBRdDdsdGJwYkFpeTFpaVlrRG1QY0drK1ZSbis1TCthcmExUGhuQzFr?=
 =?utf-8?B?RzlOaldyd25MUmNlUTJQOHlnNEhYT0w2QUh5SWpidXJsR200d2wwN1pOTmdx?=
 =?utf-8?B?azhOQ0JEWjRpZlppTEQwRGs5cDQ4RFJDcE9SeHNOUGdWd2NsZ29zaG1aT1oz?=
 =?utf-8?B?Q2FIM2V0ZC9jejR4Rm55R1dDSFhIRjBFa20yT0FUaEVCRm9DMWdlSEp6cmJE?=
 =?utf-8?B?dVJIRVJaSVVIa3p1VnNzUkFJNWlUeENUN1JtSVdpZEkzY29ncE5wTmlic3dX?=
 =?utf-8?B?TWRaUnJIRFBaWVM1Y2l6Zkk0UnZlaGZ3dmliL2JYREFUNDBnVG9VcUs0bzJF?=
 =?utf-8?B?ZGJWVFhjdnBPZW5JOXA0Q1ZyZHpFNHFKNzZwTWZ6UFFoV0JUVzhYZWZwY3lV?=
 =?utf-8?B?c1VFQXRkU0xxV2pqVlllYVRybkN5cHYxRlQrSk0rbjRpVjBkWG1NSUpnUU1N?=
 =?utf-8?B?NWVuaS9VSkZJOVk5eUFHempHU2RxaEc2aW1FVkNnZ0hFVGhycE4vd2NDNmRi?=
 =?utf-8?B?YVBqeDRqcWd2M2NKeEJvZC9RRW1EaVhxMlBrek5CcGd4akRiUFBxK2tLUHZn?=
 =?utf-8?B?VEdySGpMZS9ISCtwVis3L1lOZlVQeWtDTDAvYVUvV0xCbVJmcmtCd0RZMVNO?=
 =?utf-8?B?WGVEbmhGSkV5VGkvWE9LMXBrMFFCY2RJdTB0MTdoR1FqcTRNV09CVGRvZThz?=
 =?utf-8?B?SzJiNTdteFRjL01WdzMxOXhhdXAvQjFJb3BLbERseWpSeUR0b0wycW80WW9X?=
 =?utf-8?B?dDMrMjlBYTNlQmZLRTJXNnNVN2dqYXRjZVdtNURSaXhYWXJVeE93R3ZaVVA5?=
 =?utf-8?B?MXNzeVI1cTkwTjZLeFlld3FMZW13cFJ5bHlNdE05SkpLSmJzRmlhd2hJajM4?=
 =?utf-8?B?bDN3eDRIWG12cm1wcEN5ZVFvSUFLQ2RTa3h6SGtoSDM2SG14RTVZaTZpQzFn?=
 =?utf-8?B?S0lUT25iaVVTbU1JbEVoMGFjVERpdXl4aHFqR2V2UTRoTlNwTklEaWJJRGla?=
 =?utf-8?B?T24yazBMalhlSld1QjVKWDhNREl3d2g0Y29ueDdxejhDSFhLc0VYQ1ZXcmRP?=
 =?utf-8?B?THNpQUVROEttN0Jrd2VoQWdYMmM0VkhnOWk4T3BQMzk5S2JaM0w1VWtjSmVh?=
 =?utf-8?Q?leQ9HrofALEL/DsvhAAYGXaPh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 185e1380-53ca-4d79-d4aa-08dad7936af3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 14:08:58.1971
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: svGemJv2aOzI1SROMZXRcmp0FKwukV7S+F/VmYQTauIw61zIfQ2vI22Zm3y9gO7Jdyvh5EDw08erJl9jYTIbMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7398

On 06.12.2022 15:05, Michal Orzel wrote:
> On 06/12/2022 14:46, Jan Beulich wrote:
>> On 06.12.2022 14:05, Michal Orzel wrote:
>>> Also there is no functional change being made by this patch so it is ok
>>> to change Xen and not Linux in this case (which has quite a lot of trigraphs all over the place).
>>
>> Based on what criteria are you saying this is ok (unconditionally)?
> 
> I said that it is ok to change Xen and not Linux because this file already diverged,
> so we cannot assume that future backports will apply cleanly. If we change a file
> that did not diverge, then we are required to modify the origin first and then
> do the backport.

A file might have diverged, yet commits to be pulled in from the original
tree may still apply cleanly. That why, in the general case, we aim at
limiting the amount of divergence, and we prefer to pull in changes bringing
us back closer to the (meanwhile evolved) original file.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:11:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454942.712535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YfY-0003mk-MR; Tue, 06 Dec 2022 14:11:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454942.712535; Tue, 06 Dec 2022 14:11:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YfY-0003md-Jn; Tue, 06 Dec 2022 14:11:36 +0000
Received: by outflank-mailman (input) for mailman id 454942;
 Tue, 06 Dec 2022 14:11:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XkKw=4E=citrix.com=prvs=332b12f58=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p2YfX-0003mO-2b
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 14:11:35 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d854e778-756f-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 15:11:17 +0100 (CET)
Received: from mail-dm6nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Dec 2022 09:11:28 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5326.namprd03.prod.outlook.com (2603:10b6:208:1f0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 14:11:25 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 14:11:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d854e778-756f-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670335892;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=c+m0npt4QPyeDUEqio/9UYts7YZIW4XOwko6on8dO3o=;
  b=V3Wb//LGaxJLqpFj9D51bulQzHYKnjUJ8JcYhrVKvYG6GznvpSzZkuDy
   zA7i+8lUhY+CSKEpkHSRFVdxXt5IEfQSYWfUa9qMHRsTcorrUkEVgMbE8
   K/h0OEw1TYYvvNIb4DlTT5td/i+ardDrY+Om1X9HZnjuw9Eq28+yEG3Ev
   g=;
X-IronPort-RemoteIP: 104.47.57.176
X-IronPort-MID: 86834801
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:cRZ6a6siAEh3q6o40Ecp7Ot+LOfnVHRfMUV32f8akzHdYApBsoF/q
 tZmKW7VM/aOamryfI8gao3i8kIO7JCBx9IxGgpsrH82Qi0a+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWGySFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwOTIDKQu7gciP0LuLWPRIqskZAtjJFdZK0p1g5Wmx4fcOZ7nmGvyPyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osj/60b4S9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPO3mpqU20AXKroAVIBNGW3ufvKWBs02/GI5fD
 U5K+DIripFnoSRHSfG4BXVUukWsvBQRRt5RGO0S8xyWx+zf5APxLngJSHtNZcIrsOcyRCc2z
 RmZktXxHzttvbaJD3WH+d+8sjeaKSUTa2gYakc5oRAt5tDipMQ/i0zJR9M6Saqt1ISqR3f33
 iyAqzU4i/MLl8kX2q6n/FfBxTWxupzOSQ1z7QLSNo640j5EiEeeT9TAwTDmATxode51knHpU
 KA4pvWj
IronPort-HdrOrdr: A9a23:tP1+5qg1lTwVl7hPvN0yBYGM3nBQX/R23DAbv31ZSRFFG/FwyP
 rCoB1L73XJYWgqM03IwerwQ5VpQRvnhP1ICRF4B8bvYOCUghrTEGgE1/qs/9SAIVyyygc578
 tdmsdFebrN5DRB7PoSpTPIa+rIo+P3vpxA592uqUuFJDsCA84P0+46MHfjLqQcfnglOXNNLu
 v52iMxnUvERZ14VKSGL0hAe9KGi8zAlZrgbxJDLxk76DOWhTftxK/mHwOe1hI+VSoK5bs562
 DKnyHw+63m6piAu1/h/l6Wy64TtMrqy9NFCsDJos8JKg/0ggLtSJV9V6aEtDUVpvjqzFoxit
 HDrzopIsw2wXLMeWOepwfrxmDboXcTwk6n7WXdrWrooMT/Sj5/IdFGn5hlfhzQ7FdllM1g0Y
 pQtljp9aZ/PFflpmDQ9tLIXxZlmg6funw5i9MeiHRZTM83dKJRl4oC50lYea1wWR4SqbpXVN
 WGPvusosq+QmnqNkwxeVMfmOBEa05DWStuhHJy4fB9nQImxkyRhHFoufD31k1wiK7VDaM0pN
 gse54Y6o2nBKUtHN1ALfZETs2tBmPXRxXQdGqUPFT8DakCf2nAspjt/dwOlamXkTMzvekPcb
 n6ISVlXFQJCgvTINzL2IcO/gHGQW27UziowsZC54Jhsrm5QLbwKyWMRF0njsPl+pwkc4fmcu
 f2PIgTD+7oLGPoF4oM1wriW4NKIX1bVMEOoN40V1+Hv8qOIIz3se7QdurVOdPWYH0Zc3K6Bm
 FGUCn4Jc1G4EzuUnjkgALJU3eoYUD79YIYKtmswwHS8vl4CmRhiHlntb3i3LD7FdRriN1HQG
 JuZLX6j6i8uW66uW7V8mQBAGspMnpo
X-IronPort-AV: E=Sophos;i="5.96,222,1665460800"; 
   d="scan'208";a="86834801"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NTYG5Cm91ZvTLvdn82F5BH/1Hm3VoL9iTSrsCJfNXuQgi6mOlUmSQG9KnKuKBAwJHuFEJfzUP53Ho4sUxa0AWPkRUhKJOcA6EfL8S/W4cWMPmcGg4EHhDqQc6hOVrKenTu5x5+LGnCNaLYk2uXEiJEGHF7IK8pbaingCOCsBIGN57e/N/hKFblTuxQQuUl/e5b/bY3rc4i+uTkthK5yR2C64cFYisDMdBlew1/sak9cwW97PQC0CF23OGZKxxUVFgFsiKIhLNz95pwJRnVQ48Rs83nqvffKCQBypc+dsAq7QDEoAOjSI5Tt9ljYD/9efE0036MzWW1XmPRDQDwD48g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c+m0npt4QPyeDUEqio/9UYts7YZIW4XOwko6on8dO3o=;
 b=nrEYylHZRTiD4nLmE3AJJVYoAAXp3yTHVa56Njwy0X8EUBr/JuxBCnzJ03lAqQ6XFnf0Wquvd/IlCEjHPbcwP/ILAeyIf1qNJrkkpJ2dsRiuQHnrsfP9l4atzS4uxMZMUFP2hphALuf3cLw2cNuEUxeoyfxT2bVNN2s/MpF6hrpjSArC5Ch9cmqS9uK3ui2PhGufSfcfpZcoUMcuLmhLrFmhVshgAlgL0dawqGcGT7tTr4HYqobmyJsPW87v+aZbn4wJ5hHhi/SmwWpbXo/cMrdjFUAyf98500BH5PUu+5CNxXHvfaUIBT8s1SiEGqLxdxJ2cfbKgFAZP0lZRzxykA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c+m0npt4QPyeDUEqio/9UYts7YZIW4XOwko6on8dO3o=;
 b=hmkFZKgmpvHdjpaX4AVsXSJpBoKKnml7IsimlBoLLnUOdYiU7DU0YyQeQrgvZXz1E3bosmHt/Ub+bHjmERZWF0jS6WLD1yYUz1BUDRfAY/4i+c95l1dYZM4knpopr7xjmM57TaQ6FdxSCqXkh79Eooh8fbP5at3iY3uvOkDsors=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>
Subject: Re: [PATCH v2] x86/HVM: drop stale check from hvm_load_cpu_msrs()
Thread-Topic: [PATCH v2] x86/HVM: drop stale check from hvm_load_cpu_msrs()
Thread-Index: AQHZCXKwXDE1jnevJUKUK9JuHADt765g5lqA
Date: Tue, 6 Dec 2022 14:11:25 +0000
Message-ID: <38c1b465-c2ef-ebf7-151d-3de32453df5d@citrix.com>
References: <8462a401-17db-1b34-de7c-d0407ffd92e1@suse.com>
In-Reply-To: <8462a401-17db-1b34-de7c-d0407ffd92e1@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|MN2PR03MB5326:EE_
x-ms-office365-filtering-correlation-id: dffe43f6-0cdf-42ac-4c1d-08dad793c2c4
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 +Aj+gwTOuC0O+/3tMcEiKLIUXO9frvSGGiGOBvQhBye+pefOYZciL6XuD4leoF51rffmDprfNTo7Zm/v7Ornb+hhMooOTQWIZpBh94yNxqMW1PtLzgwZ4IK6koS06h6T11jJpYeI74zT5Blbks+SqTmi1TvBXsp6f8M+aQs/hV+canxrzHLlrqEPgfUcv0LlhP8V5XrnoDkHKYg8MPL1/AOHg9CtSFkpxwmWMBEBV4e3PSjsaRW8XGGgzSGLezhCPUQi6Vn7XifcxsUjyA/a/z0GDz++eFB0Bml6YCP6kokQdHE6LOhPuBmZyKlBys9fxGeJ8xhOUhdZxuiyiYBJTXBpx3074DrLjX2GHUXHXrsKsdkMMp6IKYXqxkhKPt43xmr19VI1drnFw61RZCfZr2N0/xxCh+W8keGfW+nQaq+yuKkzcdeFrUyB0vwTs+5XBF9fXGIUgYZwyyd7FX7RH1VqoKMRvOIjivEWKv49B8wxuA/IhIzy67nrgQ4FACsxes/EEkVLe4/CzhGGcS1fOSa+oLkdUsRpru3IKDrLYHLtMGvgi+QFILwvp1K7FeHu6hwt3ZyjvTh+JBgsRmibYM4OqMeIagUfLpg/d++jf5Df/s5KpTMFvsslsniTjuFMEJhqme1GAloL0DgEAtzg16Rd0NrYwX8DnTb1Fs4o91q7ShTJVS1Kf25dtghl2OFoa0XXwymzSj8xH9qrFKoP4S2vU5R8H5dEJyFV0U9ox4pbykR/Z0QXLsTNBLKgZ+Jx+w15b+InkoE2btDIwdXPkA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(451199015)(66946007)(71200400001)(6486002)(53546011)(31686004)(6506007)(91956017)(6512007)(26005)(316002)(110136005)(54906003)(4326008)(31696002)(86362001)(66556008)(76116006)(8676002)(64756008)(66476007)(66446008)(38070700005)(82960400001)(2906002)(38100700002)(41300700001)(2616005)(4744005)(186003)(478600001)(107886003)(8936002)(36756003)(122000001)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aHErcGJ4dVdybEEzTjRhQ0VkOEl5UGV4SzlicVdjOEhTZkVKZEpITWpmL05i?=
 =?utf-8?B?K0tXVm1XQUlyUkNzNEJDNjlvb01DSHhRcWNtQUtjbnNMMXlhN1VZQ1cxVlEy?=
 =?utf-8?B?L21LT2VuSHpFSjlqbnBoOHFKZ3psb3lvWDNmMzJwczA5dHJpb2ZDVzhTb3l1?=
 =?utf-8?B?WEFZM1RrSzQ1bG9iL2lLcjdUU0Y2Z3RFdm9VQytVTW9aQ1BGdEdjQXIzd0Mw?=
 =?utf-8?B?enduU3FDd0ZBSVNSNG9aR1pmcnYrNFp1S3hZUEtqbVRyMGFVNmpwcy81YXF0?=
 =?utf-8?B?dGZYdDdMdjVGZVR3dG90MFdzMDh0TU8vRTIxemZRektrZzlIdHJQR29Rd3BV?=
 =?utf-8?B?dVJhWTNOZElBRFF3bjNkTVo0OU5SaW5XOUY4OWFLTDFjUFJsSFRBQjlFcitN?=
 =?utf-8?B?L2xrTnNiRk9YbzREWEJVcmMvQ3ppZ2gwVUlLU1F6Tk9RN0NQZVo3eThVZzZ4?=
 =?utf-8?B?N1c3NnJoQUtBcjR5WVNhZ3lTTEFzVjkxNjAzY2l0MTlQbkh5YmlyTlJZWnBx?=
 =?utf-8?B?Y0J2dDZ2ZHo0LzlnM3ZQZWthMzZCSm96VDRlRWgzRzhUWm5oVUVuOEt1RnNG?=
 =?utf-8?B?RU9vd0NTZnJDdGhTU3RPMEhiZ3dMalBqZmUwZGNxZWVsejBncUd1MzdiOFBo?=
 =?utf-8?B?NHphY1M3L2hFYWQ1NDAzaTJZV3NweGc1bHRWWmkwZU0xSW5JRGNsTnRjeHRW?=
 =?utf-8?B?NEczVnhQbDRFN3ZzQXFGUmhFWmJTQXN1Y0ZrV1pna3hETmQydHFncjhFdUVT?=
 =?utf-8?B?NjlHL0VJYmVvT1pmUVNoZXdCamxFZkJnUmxsTDkyRzJjM01KSGxLaWUyTGNP?=
 =?utf-8?B?bk11VFZoeTFTSHIwU1BHVDBjMUhpZGFvWFdZb2RDSXltZnl6dmkrVXRWUUU0?=
 =?utf-8?B?ejlQUUdwQ2l0Y3RyOXdJU2lyRnhxbk5IR3dYaUNnRW1MYnZYaWc5TndDdWZH?=
 =?utf-8?B?MnE0VVRSdy95REVkV1o1cCtwYTJtUzk3WUZmYTI2Mk1xL1g4R1BwcHhMZEJV?=
 =?utf-8?B?ZElCQVhweFlUc3dzKzRNTXZjOXdLQWU3WUloNEd3T0wvaXlwTWEwWDlwRjM2?=
 =?utf-8?B?cm9ROHVqQ3I1aEx6Sm5pODVUcGFXNTdUQWZPM2RxQ2YzWHkzckFDMGRFOTAz?=
 =?utf-8?B?eHJFdVUrMldWMU8yUGJ2Y29kRmtIRkxoUFF6VTBrRXAxYmE1Snc5bjN2VE50?=
 =?utf-8?B?R0FjQjhITks1OVNNLzk2RHM2d3l0QlBEeHJLSkNqcWJKMDJPVUZ4b1VMNS9k?=
 =?utf-8?B?WHRUSHV0bmdjaVBRWjRGaGZxbXlTWmJXanhTVGdFYkU1a2U1MnpKSVpWTDc1?=
 =?utf-8?B?eklabWhBNWErKzZTd2huT050cVI5ekxseUlYNmVCbHVPaEUzaE1YMVFpVWlS?=
 =?utf-8?B?N0QxTmZZV09aQ2xiMEE3RGlkOENxM0tQQjhkbUVORG5FR1hDTzBIM2NyaW9F?=
 =?utf-8?B?emhXNnhGeE1qcWs0MHNRRDhrS3hUTEJTL2ZrcFdQVm9xY1pmdkt6ZFdoMWVo?=
 =?utf-8?B?bnIwbFZxMGdRNzZPMVJaZ2tkRm5PL0R4cVZmb0ZRSm51L3g4UjUyUnFNK3p0?=
 =?utf-8?B?c3RhVWwzWnpxV3FFRi84dUVOc2dVVzlQaXNmRkJrZG1saGFqdjVkSEhZTWxl?=
 =?utf-8?B?WWdZSGNOZGc2SXp5TzVEdUNLY3RncTFZOWlwdk9qYXhnL3puY0JnNHRiMU14?=
 =?utf-8?B?aXd3MGFxbUZ0R1hidHc5Z2d3SjdQY04wVHE5Ny9Ga0RNM2R3bjdGNEI0bmRz?=
 =?utf-8?B?eVZzbnI4MnVGaWk1WmxVNkJNekJZRDZ4Qk9IeHZBTWhZYnlLM2Z1TmNqeEhV?=
 =?utf-8?B?TGtwRnVvTUhHWm5EajBDeDNtNlYweDJVZXAzVFlUbnBUTExDYWpHT3k2bE56?=
 =?utf-8?B?cTQzbE1EL2F2Tkxsa2xZd2VUYUtBVDlMeXhSSWR4a3VHZnhVNXEvOE1IZ29Y?=
 =?utf-8?B?dnV5L3RXRGRONDBHc3VKZmt4N05BTlROdXJ3blM1ZnhrbUg2NnVBZmF3ZldZ?=
 =?utf-8?B?ZEFyUXVxQ1dKcVNGcmdjVWFCa2FJbWY2aU56K2ZyMTArdkR1aFl4VEFlaUJY?=
 =?utf-8?B?ZjJXNmdLWS9MSWlCQVF4RG83dXFXeFRWaHdnWDl4OHJ6dXdlT3p1Q095RC9R?=
 =?utf-8?Q?TRGxjqGokToaHSq25z0fVW5HU?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <2CF94C420286A84EA7D5E554D6A61AE4@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	4kbK8KRP6u8LS8WSj/YXb39gzMioW9ZF0WxlBXVX0YwsRyEbOtz2I/rka7aJJKkNVTgHa70h8S9eDBDMyf+YDC3gLzk1whysCNUlQ+OlzJB247WzBz7PKmPYan9/KcxSaRcvLRPOUkGyAXkKJtU2vRZn8dgk7ERrDLRChjJc7bRcB8Kc+Ak0UyEai5OLu3fnQm7iXe1W0kCAMA6R2sIeW//xKg8qwbsTav1VuIjzYOhYDARcPMXnmL9F3xsznnPd8EVLswn5P0IpqVeRZsgn59MVnpEXAzE64wPoaYiaunPZ5eUECcjs3FucuHZHEzfwClb2FcqVDnFDIdpIR09qjmkbGPlTq4Sn41pgabVtIqh8qb0HwXqn7EfM18MollwIdq4QTXtj/BykD+sIitf0jE3H736f3VDYvn7ZkvcdEiU/OEpvfLRQbHQUPq/K1IHwMl21OlCfH9o+D0OATX0/Je8/RJ5amZxzk4CgKz16/rp6qtbMOiL4lSC51dTaHiU1KnkrIeThn3YXKDdnXJIwtAXRcXArklue552MGUSXEiNOCZkB/n4bg7L1heSiwWPBoIHrM6BQUnm/a1aKJvsJvHrirMd1SjtpyP7AjGpI0/XXSRuQKkGhEbgmEGmPaAN4xIjjGK+9NLpHNv7MtW3QTxuVGJ1Ihztq1IU/5k0HA8Pvr4Ca+JZTvjHPLJcqMKN3lmmoTisArGAR79MMZGiv1WVDRLm7ZLkJxxf7EbtBX6dX2Gc3SFb45AuISJIw0USVgXWbuJ/SeMrBsJ2hQT2SdO8jxqw7lOG5ejZrLhh1sTz1pQbRKoNvwyMSFbEXW4Bg
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dffe43f6-0cdf-42ac-4c1d-08dad793c2c4
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 14:11:25.3686
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: yZlcmFXuwAvpGoLv/TIyLMgojpj4OwLCLsqpohI0tFr/vQG8iSKVXiayoGRsJqvvr8SoIBRxZ05o4A8o8tDGVljDMf+6ThDZqjDJppS58Vc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5326

T24gMDYvMTIvMjAyMiAxMzowMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFVwIHVudGlsIGY2MTY4
NWE2NjkwMyAoIng4NjogcmVtb3ZlIGRlZnVuY3QgaW5pdC9sb2FkL3NhdmVfbXNyKCkNCj4gaHZt
X2Z1bmNzIikgdGhlIGNoZWNrIG9mIHRoZSBfcnN2ZCBmaWVsZCBzZXJ2ZWQgYXMgYW4gZXJyb3Ig
Y2hlY2sgZm9yDQo+IHRoZSBlYXJsaWVyIGh2bV9mdW5jcy5zYXZlX21zcigpIGludm9jYXRpb24u
IFdpdGggdGhhdCBpbnZvY2F0aW9uIGdvbmUNCj4gdGhlIGNoZWNrIG1ha2VzIG5vIHNlbnNlIGFu
eW1vcmU6IEl0IGlzIGVmZmVjdGl2ZWx5IGRlYWQgY29kZSBkdWUgdG8gdGhlDQo+IGNoZWNraW5n
IG9mIHRoZSBmaWVsZCBpbiB0aGUgZWFybGllciBsb29wLg0KPg0KPiBXaGlsZSBkcm9wcGluZyB0
aGUgY29uZGl0aW9uYWwgYWxzbyBlbGltaW5hdGUgdGhlICJlcnIiIGxvY2FsIHZhcmlhYmxlDQo+
ICh1c2luZyBhIG5vbi1zdGFuZGFyZCBuYW1lIGFueXdheSksIHJlcGxhY2VkIGJ5IHN1aXRhYmxl
IG5ldy9hZGp1c3RlZA0KPiAicmV0dXJuIiBzdGF0ZW1lbnRzLg0KPg0KPiBTaWduZWQtb2ZmLWJ5
OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNClJldmlld2VkLWJ5OiBBbmRyZXcg
Q29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0K


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:18:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:18:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454959.712546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Ylr-0004tV-Fy; Tue, 06 Dec 2022 14:18:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454959.712546; Tue, 06 Dec 2022 14:18:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Ylr-0004tO-DO; Tue, 06 Dec 2022 14:18:07 +0000
Received: by outflank-mailman (input) for mailman id 454959;
 Tue, 06 Dec 2022 14:18:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jFbS=4E=outlook.com=set_pte_at@srs-se1.protection.inumbo.net>)
 id 1p2Ylp-0004tI-4R
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 14:18:05 +0000
Received: from JPN01-TYC-obe.outbound.protection.outlook.com
 (mail-tycjpn01olkn2082e.outbound.protection.outlook.com
 [2a01:111:f403:7010::82e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ca90bd17-7570-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 15:18:03 +0100 (CET)
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:152::9)
 by TYWP286MB2317.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:13d::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 14:17:57 +0000
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605]) by TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605%5]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 14:17:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca90bd17-7570-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kdaQ7q72Lj2Sg5wreW+FEbshBRAeAtO+XQB/Ib18vIM9i8X8a0PUdtiA75YVvUKtQj49GUXgM7+LRkkT9BlN7+8xPyFZ/a3EIUH6xGkrvKlN/3t+uuWflnQHzQfLiwSdkrNFBj703mERGio0ST7j9KZaEtMYHzvjwLkCVGaQpNIRsasem1YEUgD9IGbFzhAUQenMe14bGE7ysny6pkb793x/e43x4A/0hY5y2zsqwzIrenHFjfq7O/oFvAsP3+XmTLYN5j9lb7/XWJ9KbavIke82hzSo1Li3iP4yFTcC6KDb3clIZjYWaFBM7DcxfVD0SSfQ1lLuuAwloGSUxllJ2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JWS56LCTfrTyPjDhEbJz0+BgnjIr9N35uxhEGoU9JFA=;
 b=XQpmyoI3kreYZIiIxHbq6aGhYU5j95aTHj7PuObJUgxh+nRHQZ/mPExDOpK31F/6+27ANjfRfzRjkSagvuqNpmVmQJiLcM3Z+xIJjqhPTqc+ETSkWhA4OohgEbKRCgebfuHznmM84qIT6J+3UZN9YF4qqR3oH2Gf2pGMCUVS0+36++PtVmd7DR4zM8bO+kIH/QZIznWNDVLdLr8hnZcl+UtmUv4fIEE+q+7sMeQ3w4zjD4mLTkuRxcYdwP9FpsppfsRRLWdTBQfDMWwbJ4ui2xqNEPRil72D8dOO4to1CmGpgzgl13RexAxkBAdCH9+Cx5lS8hbzgBjShg10jyAN9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JWS56LCTfrTyPjDhEbJz0+BgnjIr9N35uxhEGoU9JFA=;
 b=RFUbxY272nXbQJtnElxW1pstjDKyKxDOIbMQ0aGhNQ7otEp24bueigB1G/iFCa9PKC+cbDW6EG6qXte8G9E1a3PRfW7WC68NPvvSERPB9K7FvFt4mKa+dYbAyzfBHPaBVZdTRwizqF+vjHFjndEqBEaPih7Ifqmir3xtPEoLbjhCTj00SZ/wdydfQWPBDZ4Bx/p6kxxziFbOogzVmSM4f6DmrYlt+VqKCKmszWi5CyotIA8uLSNmlscSdfmaVpIbRL5NgiMPTsjmrUMDfenCiXbzNp20pFeLysUbBr9KSoc6D32/89SjEaqD28LvR1vVMpN9qhbC9D2+YEhqUbjqgQ==
Date: Tue, 6 Dec 2022 22:17:53 +0800
From: Dawei Li <set_pte_at@outlook.com>
To: Wei Liu <wei.liu@kernel.org>
Cc: gregkh@linuxfoundation.org, johannes@sipsolutions.net,
	robert.jarzmik@free.fr, jgross@suse.com, sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com, roger.pau@citrix.com,
	srinivas.kandagatla@linaro.org, bgoswami@quicinc.com,
	mpe@ellerman.id.au, npiggin@gmail.com, christophe.leroy@csgroup.eu,
	kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com,
	alsa-devel@alsa-project.org, linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/6] hyperv: Make remove callback of hyperv driver void
 returned
Message-ID:
 <TYCP286MB232352B671291649EB81F33BCA1B9@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
References: <20221205153644.60909-1-set_pte_at@outlook.com>
 <TYCP286MB232373567792ED1AC5E0849FCA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
 <Y48pdr9DEmXShhFR@liuwe-devbox-debian-v2>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Y48pdr9DEmXShhFR@liuwe-devbox-debian-v2>
X-TMN: [5AWq+o4mcznM6BkaCRMdDIYjM9WRghia]
X-ClientProxiedBy: TYCPR01CA0060.jpnprd01.prod.outlook.com
 (2603:1096:405:2::24) To TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:152::9)
X-Microsoft-Original-Message-ID: <20221206141753.GA176233@wendao-VirtualBox>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: TYCP286MB2323:EE_|TYWP286MB2317:EE_
X-MS-Office365-Filtering-Correlation-Id: 58920e56-fefd-42b5-6f1a-08dad794ab14
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MUz5EFxAW9Kz9XsG63PupaquIUGIs7wYl7y60YI8UmQDQ9YV4bVoUnanW9J9JoZUm1DhsEzV+9hfosjpVNtk1Ywkwr3gH3oQjhn1NHhLcoKtLgE2r1Iq0VipqEcNZTU6d6aZOBu3DYNc1BvlBW2P5OFOwGADmodkJ2XJmAlJX+5WlFky51TxvVEwW/0KtT/80RH0VCENSzIvSjjgMHu6108jddWx7nOdnejIR4VBVc/bm5B2d3l4TDrFbyViGVRriALl04/CpB/y6IuPV8tKutwMrv7wAWlT2ALtp+/tUk28Mxxig93m2XtmZfaIOQA8nOEv3PlGdEp0sUEBitVrW+zn/q3EEh4orqoQUtb/jsJF8bqgfF1zPOxMQ2oLiPSzbci9d40zheMyJPmQrN8IcIesC6GCQbM3NaRGAtq8yH0DSDJsZlvfAL3uz0QYZsCXG/UbKTjMbIS0z6BiLyWfhjWSuY14doNCFSon5V9W3KvbNLO4e1btYOdCYvQEyNsy0CQ2LoDXeTnIr1SgujSK9IMZ7ip1edCzo33y//5c2CgzhIQ+dt4rX5KNXv5V6D+uOnizsLtgS6ZqhQ/dGzgh8dbX2qSyQcjERjr5cJ+r0O0F68keljywQlTQ8bHn0C/7ayGWZNNXTsKvBVciX7PliQ==
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?M6JwybxQXH6HWJkHpkh0mbuH2znRmgTVfoxoRkaMWkj9xCiThIjLMnPTWrHL?=
 =?us-ascii?Q?ZY3waU6XZvEdDfv4/MhowUtD+kaVCqv6uGq4OD4NBgiwmSvaFcjKxnsLEj/k?=
 =?us-ascii?Q?NZg6uiIWz3S44iZS1o6pL52LjNXlggx287DSGEHw82Y5TuiDovdH1Q299GAb?=
 =?us-ascii?Q?T0okFiNlatolUTvV85ZdsEiiYbRRZvJDxye3XVqbSlNeavTvS8Z3cWdwfTA3?=
 =?us-ascii?Q?j8TtRocTwZUL7xUP7zHgevWTht0Q1beiyhckuVFoYjkvVgirndEN04HvXs8j?=
 =?us-ascii?Q?65tDOUTWIJy7bww/aqOegxKfBCVdwYzViIHOLLYO8OVbauH9+ZAQxqPf+iOY?=
 =?us-ascii?Q?zm6ej6m/A/oz74m3MzeQmAxk0hNo6cZRQPjwXJ3uahTlUJx2l45obUzHXR58?=
 =?us-ascii?Q?K8azt/77lk8LWG4QSq+BMJO0ReJY0awkqev6tEiKQ+/8ilqS/EFcoeF8vu3J?=
 =?us-ascii?Q?sEPTJoocjN8xLbEWo/7eiZGBIIOFwAa7pl1o9MCgslOpwoDRDX9pd7kAiarh?=
 =?us-ascii?Q?/ODgFnsWy8Qh+cmh0fI9B1BVseZyylpyNqI8bNprzuB88GfXm2hyhmMHBUfL?=
 =?us-ascii?Q?WimcWPpnGo4J/Y4//ZMv3+KUlG+57ZHQmfULpYl9fL/pkQkI5ptrHU/Jc13U?=
 =?us-ascii?Q?32PbrhVK81/LOi1Z6AfOONVUESu05GYQS2u9MX93VU0seKdWZSi3WJmUZGf6?=
 =?us-ascii?Q?y1z8QOEzQ0HNjdFVfn4Q3/uSD9fOK4o4C3wvk28CUltiCurHIEBIDiYdB5FB?=
 =?us-ascii?Q?5S2hAd2Smgqdb2vqPCTABm1LrlcJTzUW+s05o6BP188PNGYgJf9pVH5pwp/V?=
 =?us-ascii?Q?UH85+dMNj3cFgveYK/Cz2ZbZF4W6ghteAygcjjvNIGnwBNQcGDrx6SZ6OWN8?=
 =?us-ascii?Q?EUUyisHdTY/5FbEOqsdD5j+/qPObk5JWJ6rB0skgCBdFivROWTTzebbUJz4P?=
 =?us-ascii?Q?FX5Iz7XXa7ENL179LtKFwhQ6tpQ12e1Xi8snNrrpKLyYDx/fE29cj0oWKRIQ?=
 =?us-ascii?Q?Hp+3bhgvkoeuhoRkd2dOupf9+m3ffTIggHstE95+O5OzRr+0MlnoWUGHH1+J?=
 =?us-ascii?Q?29n1uqbwzoAbpJypiKnL5HEEJzu9LHPcURjFS2yrczGe4mQHaO7OeDDXyOqC?=
 =?us-ascii?Q?9cLq3X43s2uECbOQJz1E6wPiNetWNAhn8GBuXumwdKvAY4gYzY8aqOW0LOsX?=
 =?us-ascii?Q?TRl4w/0O1Sc9rC60ExRouyorw7jgaqm4QG2pMHBhDmFa6EKApXeOc3BJgRfF?=
 =?us-ascii?Q?2TLauBO42icbb/sAKxN6pFksIoOvMhXpRKqIiTg2Ig=3D=3D?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 58920e56-fefd-42b5-6f1a-08dad794ab14
X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 14:17:57.2354
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
	00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWP286MB2317

On Tue, Dec 06, 2022 at 11:37:26AM +0000, Wei Liu wrote:
> On Mon, Dec 05, 2022 at 11:36:39PM +0800, Dawei Li wrote:
> > Since commit fc7a6209d571 ("bus: Make remove callback return
> > void") forces bus_type::remove be void-returned, it doesn't
> > make much sense for any bus based driver implementing remove
> > callbalk to return non-void to its caller.
> > 
> > This change is for hyperv bus based drivers.
> > 
> > Signed-off-by: Dawei Li <set_pte_at@outlook.com>
> [...]

Hi Wei:
Thanks for the review.

> > -static int netvsc_remove(struct hv_device *dev)
> > +static void netvsc_remove(struct hv_device *dev)
> >  {
> >  	struct net_device_context *ndev_ctx;
> >  	struct net_device *vf_netdev, *net;
> > @@ -2603,7 +2603,6 @@ static int netvsc_remove(struct hv_device *dev)
> >  	net = hv_get_drvdata(dev);
> >  	if (net == NULL) {
> >  		dev_err(&dev->device, "No net device to remove\n");
> > -		return 0;
> 
> This is wrong. You are introducing a NULL pointer dereference.
Nice catch, will fix it.

> 
> >  	}
> >  
> >  	ndev_ctx = netdev_priv(net);
> > @@ -2637,7 +2636,6 @@ static int netvsc_remove(struct hv_device *dev)
> >  
> >  	free_percpu(ndev_ctx->vf_stats);
> >  	free_netdev(net);
> > -	return 0;
> >  }
> >  
> >  static int netvsc_suspend(struct hv_device *dev)
> > diff --git a/drivers/pci/controller/pci-hyperv.c b/drivers/pci/controller/pci-hyperv.c
> > index ba64284eaf9f..3a09de70d6ea 100644
> > --- a/drivers/pci/controller/pci-hyperv.c
> > +++ b/drivers/pci/controller/pci-hyperv.c
> > @@ -3756,7 +3756,7 @@ static int hv_pci_bus_exit(struct hv_device *hdev, bool keep_devs)
> >   *
> >   * Return: 0 on success, -errno on failure
> >   */
> 
> This comment is no longer needed in the new world.
> 
> But, are you sure you're modifying the correct piece of code?
> 
> hv_pci_remove is not a hook in the base bus type. It is used in struct
> hv_driver.
> 
> The same comment applies to all other modifications.
Sorry about the confusion.
In short, the point of this commit is making remove() of _driver_ void returned.

For bus-based driver, device removal is implemented as:
1 device_remove() =>
  2 bus->remove() =>
    3 driver->remove()

1 is void. 
For 2, commit fc7a6209d571 ("bus: Make remove callback return void") forces
bus_type::remove be void-returned, which applies for hv_bus(vmbus) too.
So it doesn't make sense for 3(driver->remove) to return non-void, in this case it's hv_driver. 

Thanks,
      Dawei

> 
> Thanks,
> Wei.


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:26:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:26:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454969.712557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Ytq-0006iL-8n; Tue, 06 Dec 2022 14:26:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454969.712557; Tue, 06 Dec 2022 14:26:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Ytq-0006iE-6C; Tue, 06 Dec 2022 14:26:22 +0000
Received: by outflank-mailman (input) for mailman id 454969;
 Tue, 06 Dec 2022 14:26:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2Ytp-0006i8-6Y
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 14:26:21 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20606.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f34d8e50-7571-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 15:26:19 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8464.eurprd04.prod.outlook.com (2603:10a6:10:2c1::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Tue, 6 Dec
 2022 14:26:18 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 14:26:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f34d8e50-7571-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hWHYAddB+mfpN2LEiD279u5cRnHhYoRPI7Tp2TEzLNtMPcoGcdabd9AXFoF5rDy9d6AuWAwqbZHj2wq212cnYahJyIEgBiF5GqqxOgqVGpmUKQLvGUv9wcP1NgKL72FHXdvv1L09CQC3YEBeZawA912TxkIxKa5XBqu8JZD9+xLE26Kvneu7uAnTkxyQKaVaEVgTaO0gkVwdvwPIb0a7nEReuUMPy6F9q0dFHhFfz42eW6wYYHh3F/VsEdXoKgMA8tKF8xDg0Yt0Z747kOK6HT8uVLRE2Dnx0bQSfzb19N6dgN/7XXml4CJbxCecxGb+9nhAbHCS4BhylhwSfnVHfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WSlEmWA38sY0/etdzhn0OHg7z6XftIae09vFRbgZHKw=;
 b=V2CXan0Z7COxjgCsU5amH7YqhQoDIzWRlcTpNZ6Klbr0nHqJY2T0r+dUi0ArapCk4g8pnqd7CJGEqIo5Rc96E2z+Fc68dONyf2A/7m19NWn4xlBKo/04F1Yvrn62Q3rPmLxaa+B+5lRDIB0lg7PiGkqKSa3O/9QppGDPaEKT0vfHRaHQ0qhYyDQOPkQeE0AmytL0hXx5n4+hVkwLgK+/o6CI44e/HT3jGU2vUwOi3c0gD15o5o43GwvM/072cJpvyVrnmTyD1NysLTGrSJB3bSjVWS/TqKjaw2SA3QiMqn1DeCVwfYgALNHp9WQeOavyn21aeolm/4oQTQiYQjU4ow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WSlEmWA38sY0/etdzhn0OHg7z6XftIae09vFRbgZHKw=;
 b=e8o4sdUVWrF421dfGheEd+asxreGjdViE6TP+5YELBEM4yGwnIKjTS7wOkz8pHvwqmf7echSFVWqfoC0gLzUiZR/3szxM5wPAlpo0ARztze8TiuatOUn/4PVZwBqDDqv/AotDdDWGKg0q4e/YBBR7K5Gx3+80gxZqs/7osnhMvmcvYkccIAejEqenwXXUGLCMop5LKY7R2m6oTGV1IFCpeNrX3l9wzDepa5YkqvYOv+VGmpJDaK1wj90ZspJCcvLg1QOCG810rEPQGu+Lh8TNd7bX6W0LtIsWpmta8VBy7K1h+ihcG/Cz75/13s9nrzJsDCLgd02x1jy08c0ho3ukA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
Date: Tue, 6 Dec 2022 15:26:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/3] x86/pv-shim: configuring / building re-arrangements
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0032.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8464:EE_
X-MS-Office365-Filtering-Correlation-Id: 6b8a5bed-26a5-4d4e-aa0a-08dad795d701
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	148gELDYsCciq/cpsp+JsR2Lcs8VY4jFjbi4LeB62+IG/HKaqsUYGaBjfGTY3jjJH76dE9PzZGEkrtI90y45V14K1cZVv6uqid1ALFCiDBf74hujq3qber3td2qo5iu7uNgaaRrjl9xuQ4Tpv7cRhKxpo/KMPhoPJbUm8dko1tVOpj5Lm5sp66qP5ZMkqgCoGcT4IYbvUSThR1tNFyqf2wrRUhAwy98qQ8ig/LGgLAG3zlAQCT5mGPi4FzQueAzxY61BlyIC6rsLvhEoh8XTDj3CSCGZ6Hhzxf6I7aH0lCQthZcYWcdR4L47x44e939HwrMUITN22ULKBAibf0klB3/wO4FG8Tz/KTRDxoXqrHCXF3qsDA7n3gVw/U94Cojklw2RpBMABsQkgljj4VCKLCuIS6Hool7mWr6luM4DjPUj0bpBfEKkvB+LrNTvwDk7kGh9uj/GSqjiVDOUE922Ze6YXrIzay5Sf92QKaHq6vBjmi4dcg8GEMKxR6tIaCt2BibsnJWoZTYptNzPlV/pkpa8IgbUFCkfrVY1wuyqCLR7HQ8+YCMAPr2gbRFMalYEhPnFA4FLn3Fo/+2omTLHuPoPndp5LcQXpLSIKdOQZyrwBh15E/b37o3leKpC9IIHPbUvKvZUuEce+G1ECSeEAGLc5CeDsoF4jzFcQJ+pLGbfxBfhfUM+Ub7K1mlulu+WrTtnaTa9j+m/dmDoz7nuYrAU2sRyFXnXsqDsXTsCjm4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(136003)(366004)(346002)(376002)(396003)(451199015)(38100700002)(36756003)(86362001)(31696002)(2906002)(41300700001)(5660300002)(4326008)(4744005)(8936002)(83380400001)(8676002)(6486002)(66556008)(478600001)(54906003)(316002)(2616005)(66946007)(66476007)(31686004)(6916009)(6512007)(186003)(6506007)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S2Jybk8vL2lDcmtYUk0reGZMcUhaemRZQStJVjlTRnllUHhBaEltN3F4aDlv?=
 =?utf-8?B?VFBJUlRFVnFZRDhOSW9rQkpWR2N6MitPVDVtV0R6ZWJIYkR4b2pXRkhhNUVo?=
 =?utf-8?B?OVNQTG5ncFE2MjJPdFVzNVJJakx4eUVOM2s1YllWL3ZpdHFPcTYvZE9PUDlK?=
 =?utf-8?B?T0JEL2NHbXRhbWMxYmRWVkRZQzVuK0dDOUFKRE1QU29oZXVzdkVTNUVIODFp?=
 =?utf-8?B?QU5DUy8zbkZrN3ZFNmxnRys2YytkZ01SbUhOdHZOOUkxbmdWeTU1K2xJTk44?=
 =?utf-8?B?M2V5NjhqRXV2SFRTZzM4Vi8wQ0FBdThieXZrVlMzL3BDVDNVMG15NngvVlhs?=
 =?utf-8?B?ZHVqVng3YUhJS096WnppL0ZQeERPa3VMSm5FbTh3ckdHU0dTWEY0R2tFTjZM?=
 =?utf-8?B?b3ZJMFJzRnlZdDR4MnJjS3FQY2Q1UXFlczh4cUpNWGpNTzQ1bFRQNEJLR0RR?=
 =?utf-8?B?MSt4c1VxM0UvQkdFWllLOEhGWWxlL3VzVzhMKzd0TzF0R0JWVlhUSzN2NFNT?=
 =?utf-8?B?UWZuZEhaK1c2bDlVN09GeGFJYXk4WXNBM05aUWNobDErTzRPdEJjT1IrQmpn?=
 =?utf-8?B?SXlIWCtvamk5TTFGaGhpTUdqUzVXaUJhQmZQKzZGajZCbngveDRZSzlLRWt4?=
 =?utf-8?B?UElQVmZ0Z0JBakhTbFI3UXBEK1dUZEZrcVF6aUdzNjVWKzlNN3JpWHdJaDhT?=
 =?utf-8?B?d0dia0F4NmwxWnVDc1RVYmx2eGhLcXlNRjlQRWU5M3JZTlVBNHpoeHdKRFYw?=
 =?utf-8?B?UDliWW1HeklFeWRBRzBGamN6aDJQdEtuSnBKeUtjZG00SVJCQVZJYlMySWps?=
 =?utf-8?B?aURLUGlldDcvNGtTdnI0OXA3SFRBcHBJak1kRXN3eFkwTlg2Wit5T3h3TmZW?=
 =?utf-8?B?QWdacHRNNVkra1hFWFljRlFXNWtYbTZJWXRteDkxU1dzLzlXdTFLNXpZd0l0?=
 =?utf-8?B?bzlJeUJjN1FnTGlVR0dJVmV4VWgrb2U4VlhFcXBDTHgwdFNDcHVTcTVJZGE1?=
 =?utf-8?B?ZVZyTjUwQUdWcm00bnVEbVUxRWdzNlVWVndxcHMxb0pCanQ2RDJGdGlGLzFm?=
 =?utf-8?B?d2FJUmdZZklnemx6Rk1XRXA0RGJEQkljWm1HRFAxT2lTY0ZjOWtwSUwwN3hQ?=
 =?utf-8?B?RWtlUWtjT3dtSnB0b0poNDdORzM3ZFRlaVVlaDVLMTQyaDJUVUt0WmdQdElH?=
 =?utf-8?B?TkQ4aDFVa091VnNRcFR2Q0tmVlNUMVNQZFE3QkdCOU96UDZ6S1U4bGNnN3FI?=
 =?utf-8?B?c1ZRak8xUzVRTVo0d2RoTVZOUEhKOTRLZmJIWHJwK1VyT2J0Q2hycUdOeHRJ?=
 =?utf-8?B?S3kwdnVnUDVZdkdTYWZ5UFNGSmJwcHVGRW92SmNuNklxMkxUYk9RV1Y4NURn?=
 =?utf-8?B?MEIrWG1URklVbzJYbUV1cEVadlp5K3FQaHF1aXlsL1FSV1hYRDhaQmVNRy8x?=
 =?utf-8?B?ekJpTEpuZmIwazE1TWxmU2Znc2VTMXI3Qm1NUUd1bCsyVzZ2K2oyek5nSzJx?=
 =?utf-8?B?WURkd3JUaFU2d3pDZjU4WGc1U0k1T25XUTA2VU1pSGNhQlRMYXFZSHEzc0Uz?=
 =?utf-8?B?SzhhMDFKZzhVd3R6OHdZM2Y5eVFuK24wRjdpd0pOVmR6WG95UHBjK3podTM1?=
 =?utf-8?B?clRpeUNDTlhjdGRUZVN1eVh4Vm5RWnR4R3M4ZUJBZnFDcFNpTVplM0JJdHQy?=
 =?utf-8?B?TEdPZThzeTBtSmgvQVc2YnRFcDZ1cEFsRFlReGNOMUR0SEdzTkRLVUhScXZh?=
 =?utf-8?B?eTlHYmgwM1g0WENSU0V6SWY5cDBZaXB5V1Y5U25uV1AyOXgyTXhzOXlUZFUw?=
 =?utf-8?B?Mm9jUnFjM2Vxd2RUOXB5NjlBWW40UEh3V3F5Wi96ZlBkenNyTmJuTUUydG9m?=
 =?utf-8?B?TTFEWjMzemVudURLaHZvcFliSTIyb1Z0TDl4ZG1iL2NUWHVwV2w3OXRKWE9D?=
 =?utf-8?B?V2tSc2lMZ29ZcW51V0p0UlluYmZLRTRXcTNQMjJuMHJlWC9GTk4yZGNGNFZZ?=
 =?utf-8?B?b2ZyUWQzbzFCajlZa3ZwLzVyZmMwLy9hR2JwZlVTOXFneW1rWnZTK3Z6NTBF?=
 =?utf-8?B?TUVEZlNScCtiTDQyMnFXT0NEaGZPaWluaTJ5WXd5ZVRvRFJMdmJWdUJHZTdL?=
 =?utf-8?Q?CYfeInMI4IbDyKaTnP5g9irGv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b8a5bed-26a5-4d4e-aa0a-08dad795d701
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 14:26:18.4905
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vdCKlLuNkOd9/r2I11dJo/ZHDacMeSTKBG/kVaJcrkpRVQyAn+rbc4PJw52n5gjqNqehuJl8DGk6V+rLzvdzaw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8464

The first patch, while being the main piece here, and while fixing a
bug kind of as a side effect, is partly RFC; see there. The other two
changes are really minor adjustments for aspects noticed while putting
together the main change.

1: common: reduce PV shim footprint
2: don't even allow enabling GRANT_TABLE
3: suppress core-parking logic

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:28:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:28:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454975.712570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YvW-0007IA-Nj; Tue, 06 Dec 2022 14:28:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454975.712570; Tue, 06 Dec 2022 14:28:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YvW-0007I3-Ip; Tue, 06 Dec 2022 14:28:06 +0000
Received: by outflank-mailman (input) for mailman id 454975;
 Tue, 06 Dec 2022 14:28:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=d2tL=4E=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1p2YvV-0007Hw-BV
 for xen-devel@lists.xen.org; Tue, 06 Dec 2022 14:28:05 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31dda876-7572-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 15:28:04 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id f18so23701500wrj.5
 for <xen-devel@lists.xen.org>; Tue, 06 Dec 2022 06:28:04 -0800 (PST)
Received: from [10.17.77.118] (ll-22.209.223.85.sovam.net.ua. [85.223.209.22])
 by smtp.gmail.com with ESMTPSA id
 co16-20020a0560000a1000b00241b6d27ef1sm17477046wrb.104.2022.12.06.06.28.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 06 Dec 2022 06:28:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 31dda876-7572-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=itSi0aHZ4tkKMhRYukQK5MNx0W0zDwdwKQzeAkw7qAg=;
        b=e63t5Br/L+kFJqYDjDbor1YatU3hbK8weuO09xyyhI4MGEiAce4uRDwZZegpowIGr/
         sdHc0Dnp3Uv7hdz7D9UZzLglFT+yH/KjC3I8uHvD0SpW0sZ1bTlFGZpM4rPNEwslvtg7
         DxhKZbV7VLhlg2vT1INYxooVY3IgJfk1NKNZN9la/Oep2/nxQDVX+YhrL31qWy4rJ/sG
         B6qGNIWoN1KPU10dVRaFn4hqou0qLmLzQaEQAXQ+XZaTOy6o8ewtHeOn/dKDU2tw0m1D
         3fI9fvTZVojhMwb9aDY5IGdZfBGGbySNAB3oXU2A82Lop6UUKJS6sEF9jupaZBLlmwAb
         D3jA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=itSi0aHZ4tkKMhRYukQK5MNx0W0zDwdwKQzeAkw7qAg=;
        b=JP7bSmRLLvJFzmNlFzXJS3si+YZM2i/6Z5+5jMMhckvEsshi0o+Yf1SH65yuZTDeS+
         SO7jX+w0BtJ6Go/CsqTX0UqxM3y3jrWzKmxi2FsZJ2xl4vd6gcLte8pnJ8ujm1NIV0L7
         MVjBp7ZzGqa/cN/PQimiHWXkW4llmkLqUbspUrqjKTNOtdn+BcIAm46Rd2iyX1ZmpGoR
         +if1kah+W8FdlXecQwAXWhpHzicjmAAkxTpIVH7nwcHqgmCe6mdiPQ49Gaab3ujDPqMx
         oVh2bb8gWPiXAQS6zEwA9jZnp97Eq7JDhQliJIbnffLLjdyBk9dqdJHbsG7TWDSxhvfi
         5h8Q==
X-Gm-Message-State: ANoB5pmaVzgIILKdS0MNxArjkr/39YfErh2ytlulB5BuosjM3XD6VjVr
	AY383aIogT84YxTc9vBPA2o=
X-Google-Smtp-Source: AA0mqf7+LIaB+fh5JtqU/BJoul9D5nwE9fD8YTjKXpp6z6g5iuOXZCQAgSV64sqnP6idcgcI8368rg==
X-Received: by 2002:a5d:4564:0:b0:242:4e1e:98ec with SMTP id a4-20020a5d4564000000b002424e1e98ecmr8976708wrc.247.1670336883744;
        Tue, 06 Dec 2022 06:28:03 -0800 (PST)
Message-ID: <5584001f-9f20-def3-84b5-a6689d4bf9d3@gmail.com>
Date: Tue, 6 Dec 2022 16:28:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [PATCH V6 2/3] xl: Add support to parse generic virtio device
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xen.org,
 Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <73663851c5223b99ed0f23a163a0d44cba0ebe29.1667906228.git.viresh.kumar@linaro.org>
 <4a355c28-9596-cfbd-ffd2-2f8d9dde9938@gmail.com>
 <20221205062047.yuv3hyrkpumry7wn@vireshk-i7>
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <20221205062047.yuv3hyrkpumry7wn@vireshk-i7>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 05.12.22 08:20, Viresh Kumar wrote:

Hello Viresh

> On 02-12-22, 19:16, Oleksandr Tyshchenko wrote:
>> Interesting, I see you allow user to configure virtio-mmio params (irq and
>> base), as far as I remember for virtio-disk these are internal only
>> (allocated by tools/libs/light/libxl_arm.c).
> 
> It is a mistake. Will drop it.


ok, good. Please don't forget to add a note to idl file that virtio-mmio 
params are internal only.


libxl_device_virtio = Struct("device_virtio", [
     ...

     # Note that virtio-mmio parameters (irq and base) are for internal
     # use by libxl and can't be modified.
     ("irq", uint32),
     ("base", uint64)
     ])


> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:29:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:29:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454981.712580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YwV-0007qa-0Z; Tue, 06 Dec 2022 14:29:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454981.712580; Tue, 06 Dec 2022 14:29:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YwU-0007qT-TT; Tue, 06 Dec 2022 14:29:06 +0000
Received: by outflank-mailman (input) for mailman id 454981;
 Tue, 06 Dec 2022 14:29:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2YwT-0007cz-HW
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 14:29:05 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20618.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 55717727-7572-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 15:29:04 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9105.eurprd04.prod.outlook.com (2603:10a6:102:225::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.13; Tue, 6 Dec
 2022 14:29:02 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 14:29:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55717727-7572-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IXbDsqyibzf+D08ZyLRop+Cex6nSYvHOEYkGjyMzXHffdpo1oSA5D6IxQlNynHHtfShRMaJVvcww0SbW23/j8oNeviGVoT3UQhMLFLRxz7EYslI9yzMd7tr8eXHXUf4EFz+//eckqbRuR2YcEmWIh/DhWmKihxGcaJPDqDPjhJMm9Z7f5dZmdg6NzcdY9nbXw8EjTCwjZ1qr0thupkPBoeT+oSb5quP0QdhtkusASc7KRvErOJEEtie4ThsZEa7LvrztTruufCezn/DWyiMyHaJTIYNCdsnouk8ALTRxi+VKB3oDE5HAVBOzFzMZy/t7ND8QohNWJD3F/aL7HkN8Yg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DyqpzDT7ddgLuTyJ8LCdvZqSXAQOB28REr3pHpSd2aU=;
 b=Gosa4eAIQ/Sl5f7uzo6ibfbsk8mdvWaDoBQCTouUYtSpnnnlZ6MbUURh7MVzJ0rloQ3OI9r+z0zdA1c18k1FZ7PkmCGFruMOovJMoWV5Ua4jupQB3IUORZVngE/bJio+85HWtHHycmNV+Iurv2YlcBJQaS4za0+ZXceUD6eFjxIbEFwMwtUK3jkTDgFDNNjDIK0zpK0lfhtWBWKf48MVsQwCVpJPwtCedGzH4+mPMB2g1zPr8dnbMe3BhuWFwWZYlRz3b85OVA/S8yflRppz6H7qmLH1vVofKAu47vMCDTrZnVDofG3Vq1fW+TFCiUfeKTX6JDgb363eqnj1nAB0qA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DyqpzDT7ddgLuTyJ8LCdvZqSXAQOB28REr3pHpSd2aU=;
 b=hT0GXen303QdnAVFEanKWuaHNWCrQAUHvhorutlDtdi5LOBttP5EkgopxkFciX6vg8xTx6cVdKinn5JFiNUKBGgVIJBJFIjCad+5cl1AZbxssWwIr/SRYdcrtN84ZbFqNrjGg+9MSfE+BnlpbpbGguiTmn4pXCk5G20lL0IldbFb0XCXsDwEviuW5rbjzri5il8d6mLigRJrmEOBY+bB0/VEwXwFnSxHYrgsUG6HRAKtvujod38J3jq+3N/pYdFyieFCBEIggKKgOHQcGp/U4Cmgckmh57CRCaDQvV1c+IkbdM9ocqMsPOV1Bp94c6ISE70m6eESB9GQZVNW+VcYvw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b00a93e0-9845-7d2d-0a5d-3b2afa41943f@suse.com>
Date: Tue, 6 Dec 2022 15:29:00 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: [PATCH 1/3] common: reduce PV shim footprint
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
In-Reply-To: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0186.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9105:EE_
X-MS-Office365-Filtering-Correlation-Id: a146b696-144b-4f3c-7fa4-08dad79638c0
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	T+qmPSPE0jJmXC1QFB8+mC7bHE0pvSEtjoq2H1Fil0Lk1LNwCsaAg6zro7VGI2l/oAOTV9hgo6aBYy6LDMc4QRhNVYk95VBmH9Z/bLfirjCIeVe/akjAGIYthg0vqeZq56Wt2dLNZrfpRQQ+jtSkOIbjfPk/CL5ysCMj0LOO9bnhuwGO2d1TbDUB2QXLIZ+KtpPFeXU9nmiKBWFgZsHVjowWRCHsCGSvA+skXie+aDD/rqnBoZegt1isOIOkpPW2FL5ay1UgX6hlkQh/nIzgJ+Mh4VAIV4k57P0zxVlzZnwnykNpQ3n4RypP4dmtvKoNkUHPj6bGFaTgSKE9cXMMDGuoZqSR4ceDx31cQ1UlC0yxv/FFUoKTU3/LiQm6GDJ3OqL277GR4bRnZ4kZj054y5rm6kQ9svSNoOFi0QoQo29pzHSdcpfWFh0PBhHA+NiYwaQnszEagIkgtYFIvrbMzWn91vd3KHFRLPN9a+Cxg21VxFVC5XYgZgq2mrh6NNS9wlPajB051eGiUS15rXRvQzqYAUVW1Ik0M8adE1tL19oyYBx1xnUJzphmHAI/uNZx7eZSUUPzgQrUwbJQqAZ8L/wfDMfJGg//4hW+upXDkL0nU90TWwjeL9jB2g/TrWqRgQWzy9+qNN9Lpbg+S2/tCNa0FMiw5gnbGl5UJu5c8PZ5uTi8T/81DonScKzITOgHKiVKjZaW30bBcYNFUuRNEK+IbP2Dxhcp+//bHO4ujLQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(376002)(396003)(366004)(39860400002)(451199015)(6512007)(6916009)(26005)(6506007)(36756003)(6486002)(83380400001)(2616005)(54906003)(86362001)(38100700002)(186003)(31696002)(66556008)(4326008)(8676002)(66946007)(5660300002)(66476007)(8936002)(41300700001)(316002)(31686004)(478600001)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?alIxMm5NWm5OdjA5dzdDbDN4V3M3azRiYnlQRCsvTGo2aXdndVVkeCtyQUlj?=
 =?utf-8?B?cTIxeDVHZEdqRUp6ejNFcEtTWWRmTXZQUmZXQ3RuVGN6UTR3QTViRWIwNWds?=
 =?utf-8?B?RnJvZXU4VHYyazd4R3NVWnE5b3JXYjJZc2RhZCtHMVpNRGdJUGV6S0ZxMUxB?=
 =?utf-8?B?NkhNY3AzYmZiaFpPZEVkVXd6eGN6bEVzWU5FMEovRjE1eVFkeDBkSFQwRE5S?=
 =?utf-8?B?YlBjZURMNlBuTDVVbFFqdGhrK3RjN0w1UlJjUXNOTUJvVGo2eENKOXAydzFl?=
 =?utf-8?B?TFV6OUREemsvdHc4a1IydW5DUlB5cWpHRWhBL0wvSlNWQkM4V0VLNVpJRy9E?=
 =?utf-8?B?SzVKUDdPTnc2cWtsZnUvNUtKMmhzNTB3NENNeUVObjJJd1AwMkxqUExYdTRJ?=
 =?utf-8?B?SThrUEFaN2gyYjBMRmtBeDJCdFV2SVlTemNsdkRXN1ZTbVlkYjFTeTE3aUhv?=
 =?utf-8?B?d0IzcGhxaVIvQUNockFEVEh0Y3MrYWNOdUVXUXpuTXUzYU9CVVBCd2I0RURZ?=
 =?utf-8?B?QjhNL2V3U3lzYjJMcnBuZktSb01Qd0g1RldxV2J5N2xVaElYMVZuRHBHKzhK?=
 =?utf-8?B?N0t1a3o0dnQ1WCtiVFhaZ3VmOUIweG5xOFNwTW80NU93cWxwZ3hvbkxzVHlw?=
 =?utf-8?B?WS9xeFZKdGFaZGtmbTdkNzFITDBsU3pUcEJPM3B2MEljcnNHazI4RUVwTisw?=
 =?utf-8?B?UlpsSkpNM05nZFpLWmVhYlVzNkovNm8vMzNKaFcrNGsyL1FLTCtJU1lvQ1hN?=
 =?utf-8?B?VmgzTm01U0V2djNxdDJ4bTJvcDhwYW84WEN2cDN0REZOd2RqWGIxUVRZb1Zy?=
 =?utf-8?B?NXQxZE85disxMEJlWGpPRXc1YjNVNFF4d2NSNXlDbTJwN1Z4MnNDa2pHdUt3?=
 =?utf-8?B?dU5LL1RDMzRqQVRxdVFmQ2NEL0RoYzNQY0ZYaVI1KzVpbzdCVjJLUmU5YzJG?=
 =?utf-8?B?MVJjazZrMTlmc2ozZzFleWhJUUM0UjhNZ1NKK21HR08zWDl4QWpWNVpBMzNH?=
 =?utf-8?B?WklxeXA4dTRUVGJVTjBlYys4RzdjcjBIVVJoRlNXVEpReWk2UW5ocmVXblVV?=
 =?utf-8?B?Y0t1eUkxcE1WOEhFcVlPMjFrdHBhNUNCbEpVNUVuZzF5ZjB6RlhibzFGeFJs?=
 =?utf-8?B?b0oyMUh5Q3d0eFNxdFZ1UTVxU3Q4cUdXSVdLOTRtaUJ0M1V6dC8zNVc3NEtQ?=
 =?utf-8?B?dTJZV0k2S2x1Nkc0bzJORGN0SDhBbjFLdXRvZnJhUDQrUnFmZVNvcjRPVlN2?=
 =?utf-8?B?MVo1RmpMbVN0aklHMWlNaVg3T0pkNkRBRlhXYlBGZmNyVE1oYWJ2MzJzTFVj?=
 =?utf-8?B?YVJCQm1YQ0o4QWNYM2FrQVRLVC81RitvKzdMUFUvVmc0YjNGYTc0eG9Tem1k?=
 =?utf-8?B?b1E4SGFmWWl4aHhBbEYrVTJrMjlOcm5xQ3pDS0ZxZHRzbTUva09nMGV4QVFj?=
 =?utf-8?B?OUhDQ1ZGZngvbnVmRTR6Mnc5UUF3dXVkVEt3R2VVaEY2U1ZMVGVvU0tPeDZt?=
 =?utf-8?B?eHBQSFVUS1ZQTlA4S2dhWWsyN2dva0UvenBIK0VvZTRCS2M5UENYSEo1NXpr?=
 =?utf-8?B?eW51M0k0N2FHMVVpVDE1cWtxY3diVEVLcXpoMnBCZ0pqTDdORVI2REREQWpz?=
 =?utf-8?B?dkR2ZFZaR00wS3c3YklpZ0Z6LzlwNTltTzFONlh2Rld2YWZvME81Ylhwd2Rp?=
 =?utf-8?B?NjBYZEcyeXF6RHp6NW5NenhPMFBubmM3d04wOWd0OFVWbTB0MmM1bTY3Wmh0?=
 =?utf-8?B?Wlp4TStkUHY1WVhxSE5CY2RIbEt1YittQnZnUGNCcjdSckUxQnFwODdJZmxJ?=
 =?utf-8?B?aUNmVXZYZ21YZXppTitCeVBkcHhzWVJjME1uT1Y1MHNEa3pNZkFUVERDbVhF?=
 =?utf-8?B?RHBaTU43bXY1N0R4UHlON3BUVU0xUGtYQWc4UnY1MUJ5VGdRbDNVaXFDbXBa?=
 =?utf-8?B?dHc2eFlTYTVlRVRhSy9kcFdpdk1DeU5iVWdINXFGeGM4WER4RnFIT09BbUtx?=
 =?utf-8?B?MklqNkgrUnl4YmJyRXo1aGxZWEJqRG54LzhmMjBneTFtcjVPWnJFMWR3NzJV?=
 =?utf-8?B?QlY2VGN2cTZwbkFSTVlxMUpDNVVoTm5SUENKSDBiUzRpMitwOUh0VGpERjRl?=
 =?utf-8?Q?Bxv3nAAgcrGLgN8jjPaNIm3Mw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a146b696-144b-4f3c-7fa4-08dad79638c0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 14:29:02.4958
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EDVAdnYpij4tZs2o1ZWWO0xPoORB5c/nWIL4EjxR96zKCu8OqIjervTe0H4JPu7MiJe4RwcY80i04EoEqC1WoQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9105

Having CONFIG_PV_SHIM conditionals in common code isn't really nice.
Utilize that we're no longer invoking hypercall handlers via indirect
calls through a table of function vectors. With the use of direct calls
from the macros defined by hypercall-defs.h, we can simply define
overriding macros for event channel and grant table ops handling. All
this requires is arrangement for careful double inclusion of
asm/hypercall.h out of xen/hypercall.h. Such double inclusion is
required because hypercall-defs.h expects certain definitions to be in
place, while the new handling (placed in pv/shim.h, which is now
included from asm/hypercall.h despite the apparent cyclic dependency)
requires prototypes from hypercall-defs.h to be available already.

Note that this makes it necessary to further constrain the stubbing of
pv_shim from common/sched/core.c, and allows removing the inclusion of
asm/guest.h there as well. Since this is actually part of the overall
goal, leverage the mechanism to also get rid of the similar construct in
xsm/flask/hooks.c, including xen/hypercall.h instead.

Note further that kind of as a side effect this fixes grant table
handling for 32-bit shim guests when GRANT_TABLE=y, as the non-stub
compat_grant_table_op() did not redirect to pv_shim_grant_table_op().

A downside of this is that now do_{event_channel,grant_table}_op() are
built in full again when PV_SHIM_EXCLUSIVE=y, despite all the code
actually being dead in that case.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: Sadly I had to restore the two "#define pv_shim false", for Arm to
     continue to build. Originally I was hoping to get rid of that
     #ifdef-ary altogether. Would it be acceptable to put a single,
     central #define in e.g. xen/sched.h or xen/hypercall.h?

--- a/xen/arch/x86/include/asm/hypercall.h
+++ b/xen/arch/x86/include/asm/hypercall.h
@@ -6,14 +6,23 @@
 #error "asm/hypercall.h should not be included directly - include xen/hypercall.h instead"
 #endif
 
-#ifndef __ASM_X86_HYPERCALL_H__
-#define __ASM_X86_HYPERCALL_H__
-
 #include <xen/types.h>
+#include <public/xen.h>
 #include <public/physdev.h>
-#include <public/event_channel.h>
 #include <public/arch-x86/xen-mca.h> /* for do_mca */
+
+#ifdef CONFIG_COMPAT
+#include <compat/arch-x86/xen.h>
+#include <compat/physdev.h>
+#include <compat/platform.h>
+#endif
+
+#if !defined(__ASM_X86_HYPERCALL_H__) && \
+    (!defined(CONFIG_PV_SHIM) || defined(hypercall_args_pv64))
+#define __ASM_X86_HYPERCALL_H__
+
 #include <asm/paging.h>
+#include <asm/pv/shim.h>
 
 #define __HYPERVISOR_paging_domctl_cont __HYPERVISOR_arch_1
 
@@ -33,10 +42,6 @@ void pv_ring3_init_hypercall_page(void *
 
 #ifdef CONFIG_COMPAT
 
-#include <compat/arch-x86/xen.h>
-#include <compat/physdev.h>
-#include <compat/platform.h>
-
 extern int
 compat_common_vcpu_op(
     int cmd, struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
--- a/xen/arch/x86/include/asm/pv/shim.h
+++ b/xen/arch/x86/include/asm/pv/shim.h
@@ -49,6 +49,22 @@ const struct platform_bad_page *pv_shim_
 typeof(do_event_channel_op) pv_shim_event_channel_op;
 typeof(do_grant_table_op) pv_shim_grant_table_op;
 
+#ifdef CONFIG_PV_SHIM_EXCLUSIVE
+#define REVECTOR(pfx, op, args...) pv_shim_ ## op(args)
+#else
+#define REVECTOR(pfx, op, args...) ({ \
+    likely(!pv_shim) \
+    ? pfx ## _ ## op(args) \
+    : pv_shim_ ## op(args); \
+})
+#endif
+
+#define do_event_channel_op(args...) REVECTOR(do, event_channel_op, args)
+#define do_grant_table_op(args...) REVECTOR(do, grant_table_op, args)
+#ifdef CONFIG_COMPAT
+#define compat_grant_table_op(args...) REVECTOR(compat, grant_table_op, args)
+#endif
+
 #else
 
 static inline void pv_shim_setup_dom(struct domain *d, l4_pgentry_t *l4start,
--- a/xen/arch/x86/pv/shim.c
+++ b/xen/arch/x86/pv/shim.c
@@ -822,9 +822,9 @@ long pv_shim_grant_table_op(unsigned int
     return rc;
 }
 
-#ifndef CONFIG_GRANT_TABLE
+#if !defined(CONFIG_GRANT_TABLE) && !defined(CONFIG_PV_SHIM_EXCLUSIVE)
 /* Thin wrapper(s) needed. */
-long do_grant_table_op(
+long (do_grant_table_op)(
     unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) uop, unsigned int count)
 {
     if ( !pv_shim )
@@ -834,7 +834,7 @@ long do_grant_table_op(
 }
 
 #ifdef CONFIG_PV32
-int compat_grant_table_op(
+int (compat_grant_table_op)(
     unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) uop, unsigned int count)
 {
     if ( !pv_shim )
--- a/xen/common/compat/grant_table.c
+++ b/xen/common/compat/grant_table.c
@@ -56,7 +56,7 @@ CHECK_gnttab_swap_grant_ref;
 CHECK_gnttab_cache_flush;
 #undef xen_gnttab_cache_flush
 
-int compat_grant_table_op(
+int (compat_grant_table_op)(
     unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) cmp_uop, unsigned int count)
 {
     int rc = 0;
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -32,10 +32,6 @@
 #include <public/event_channel.h>
 #include <xsm/xsm.h>
 
-#ifdef CONFIG_PV_SHIM
-#include <asm/guest.h>
-#endif
-
 #define ERROR_EXIT(_errno)                                          \
     do {                                                            \
         gdprintk(XENLOG_WARNING,                                    \
@@ -1222,15 +1218,10 @@ static int evtchn_set_priority(const str
     return ret;
 }
 
-long do_event_channel_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
+long (do_event_channel_op)(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 {
     int rc;
 
-#ifdef CONFIG_PV_SHIM
-    if ( unlikely(pv_shim) )
-        return pv_shim_event_channel_op(cmd, arg);
-#endif
-
     switch ( cmd )
     {
     case EVTCHNOP_alloc_unbound: {
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -45,10 +45,6 @@
 #include <asm/flushtlb.h>
 #include <asm/guest_atomics.h>
 
-#ifdef CONFIG_PV_SHIM
-#include <asm/guest.h>
-#endif
-
 /* Per-domain grant information. */
 struct grant_table {
     /*
@@ -3563,17 +3559,12 @@ gnttab_cache_flush(XEN_GUEST_HANDLE_PARA
     return 0;
 }
 
-long do_grant_table_op(
+long (do_grant_table_op)(
     unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) uop, unsigned int count)
 {
     long rc;
     unsigned int opaque_in = cmd & GNTTABOP_ARG_MASK, opaque_out = 0;
 
-#ifdef CONFIG_PV_SHIM
-    if ( unlikely(pv_shim) )
-        return pv_shim_grant_table_op(cmd, uop, count);
-#endif
-
     if ( (int)count < 0 )
         return -EINVAL;
 
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -40,9 +40,7 @@
 
 #include "private.h"
 
-#ifdef CONFIG_XEN_GUEST
-#include <asm/guest.h>
-#else
+#ifndef CONFIG_X86
 #define pv_shim false
 #endif
 
--- a/xen/include/xen/hypercall.h
+++ b/xen/include/xen/hypercall.h
@@ -24,6 +24,9 @@
 /* Needs to be after asm/hypercall.h. */
 #include <xen/hypercall-defs.h>
 
+/* Include a 2nd time, for x86'es PV shim. */
+#include <asm/hypercall.h>
+
 extern long
 arch_do_domctl(
     struct xen_domctl *domctl, struct domain *d,
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -19,6 +19,7 @@
 #include <xen/cpumask.h>
 #include <xen/errno.h>
 #include <xen/guest_access.h>
+#include <xen/hypercall.h>
 #include <xen/xenoprof.h>
 #include <xen/iommu.h>
 #ifdef CONFIG_HAS_PCI_MSI
@@ -38,9 +39,7 @@
 #include <conditional.h>
 #include "private.h"
 
-#ifdef CONFIG_X86
-#include <asm/pv/shim.h>
-#else
+#ifndef CONFIG_X86
 #define pv_shim false
 #endif
 



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:30:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454989.712591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Yxl-0001D5-Dq; Tue, 06 Dec 2022 14:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454989.712591; Tue, 06 Dec 2022 14:30:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Yxl-0001Cy-AX; Tue, 06 Dec 2022 14:30:25 +0000
Received: by outflank-mailman (input) for mailman id 454989;
 Tue, 06 Dec 2022 14:30:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2Yxj-00018I-Qr
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 14:30:23 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 843a65fe-7572-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 15:30:22 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7777.eurprd04.prod.outlook.com (2603:10a6:20b:236::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 6 Dec
 2022 14:30:21 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 14:30:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 843a65fe-7572-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fzJCu66DFxBies2HHkP7UAeJ9kVEhYZoWoH936ZfjJZVtuxM5ZH3vlLXxcQav/5TPxB+YHH8Ekfh4wV0MLUbKGLoBdqihYOt9vHq62d07XbSqtUqhqHrce0sn6KITkRUi+yWadsgInkXCTQHvjbLAwl6TnqeFegmldrSGL9kCodBaAzaSLETENtnVz8l6Jg6VN5ebklxqcjLKvN5yfEwH0Ne0xHL1b45zOFcTz1AJj8rE/CUFH69/EHikAB++6MjkjSMsCCJkAKfhnVN+h6eioUwDH67qEE4GnghSRk8bTlgL2xJBrbAuIvi8rYnqJj9wqkRERieC8FP9pDtAzI5DA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jyu2+YfJV0EpE2YDnKXKJULDV8ySfKA8696Hu52AWbs=;
 b=jBv6GZAo7RzJJTuGA7ErFjLKixWZVHo4HliMRPVXabl6OaIRswCb9bzJgVjAIZKMKFocFW7fcpow4bcuo2E7CtNB9T+EuCPJOIFfI3oK0IlPnCS1r/JhTjX5pVZ2KXEL3aXaarrAgRPxtaBVsy99R1yF30HuannBlEu0ZKj37A3SkuEzUkgbCgIko0w8S54dKJvGodxcvIej1ucaP3jHfZe2qa1GsOFyD4CQwlwQgYac+KOu3eU9oTxtypjpkSmUv4AnGmgrXllc5nz8qC7y0NQ5oovz+48HbB6l1A3Yrw8iY1lNR1Mc9ipK1iZ9gk+msU8MeJ6dtoDWVDmb3X280A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jyu2+YfJV0EpE2YDnKXKJULDV8ySfKA8696Hu52AWbs=;
 b=klrcxAHU0CN6eTNPOpUL1f3shx4YMReFhrMbhQUuPGj5VGauIhN1QYLSErBIx8umCIoWVkVKD5GqzzK4yabe40ZL4CHBI0dYq9pn5/H82xbs0rKNq4UDq+agwspLQNUscvhGsxN5NroIlIp2U1+yA7qmTA/IpkDbLBNQz8K4hFtIfjNLohKE5t/ObJKv0uWoL1sCc5NDm6FBnujvQefRG/9NUn8dMhjoObfnnQmS2r607vvoFyDXgY+c1NMjErNV8/pCcrYnStOhZ9pBTHR7TukdFsDExy+aI8Ij/1QKmjTKFHBkCNi+a7P+KTccUX3/k1yDa9IhMpumpISpQeM0mw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5fd43248-225e-99c0-7bbb-65e7cf7f08d1@suse.com>
Date: Tue, 6 Dec 2022 15:30:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: [PATCH 2/3] x86/pv-shim: don't even allow enabling GRANT_TABLE
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
In-Reply-To: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0130.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7777:EE_
X-MS-Office365-Filtering-Correlation-Id: 8391832f-4087-47ef-5a6e-08dad7966780
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XyiAPu/vDqTg0Zd22S+hqA+KQ+Clf5KfpQKrQo41TuCc6O+/9vdKzPDmZ4OkKbWn+ZV/lpwcITaA6vA/gGhsTu2W0XyUuyKpq1VwoldRMMsMZYEnvb/Lie4s+LoQy+f8+HNy7NNIr1BV9agXKtWJcdy4mn44ZDtYO0dE6x12C+8f4U0cSq1O/rMU/2yqjDoRTauE0xy/vbgak5PbsjVpmd90NeMu15Mp5jhif+IdIFMHKt5rQOXi5o0YdokWB6xY1BO1zGyBdjfztZGi5tcQrb/4lpiDZWNG9YfvGjtkDZ9XLVuWD1VIPDq2VvBvT3qyfMuRUr6PmNJHZ1owv3/DTe8OupM+fKRjLt6fPFfBzMBU894MamWZirRQr77Yf2S31nzuBqF/VdlWEymvr6gUY7vm3GD3tBhyyCKjB1VvlCupYXjoJ7fgJagzoIzgw5ZjRPHA7LAMD84g0gNuySl+HshFk3aFo3VbOuKPzrLN2ssakQL0WS6xRyVDmPmUark9e3ExqMSQDCVrzvvOcHZ6q37SGEYMR8Dh1TO7NnDM9wBRJosa5CvP3zUmXNbWWiCqjs9l7OM0ocOzo2y8WVFpSIiKJYe2PcF/Wgl9aN83b5uVLXD7Vf8F6pn/i8ELrEFjdLOSvjRVbKu7fU3rujDsMGG81XU8vK5x+pCXrxyzdQmV7UjrJqH6GH3G/e3A6S2EndqmoZ88Eu0A8u2bOIFt8cgl8eRUSYLWi4YYvKipf9s=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(366004)(396003)(346002)(39860400002)(136003)(451199015)(8936002)(41300700001)(38100700002)(5660300002)(31686004)(4744005)(66946007)(4326008)(66556008)(8676002)(66476007)(186003)(6486002)(2616005)(36756003)(2906002)(26005)(31696002)(6512007)(6506007)(316002)(478600001)(6916009)(86362001)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QjluSXlBU0tCRDNqNVpFbDZtMXhVRUREbXl6SnIxZnBxQXI4bGVVS0NqTFRG?=
 =?utf-8?B?V3loQlJlUE00YThiL3oxaWlnQ2xyT1FOajdNYlhGcXNMMitqOGFRcmRuY3VL?=
 =?utf-8?B?VXBtcnNrbXUxTERGN05KSXpmODlPNDZIeGlpbGJySlhYMkJySVV6dHVxZEl2?=
 =?utf-8?B?b2NRdFlzTlRIRHZCTHJ0ei9VWG0yckhrYkxuZ3Q1TnU4bCtQSG1hZG1GZ3NL?=
 =?utf-8?B?V0FKd0twTENmc1IrRkVmUm85bFozcjFLR1dHMjBXUlV4dlhQWEhrdzdrN1Ji?=
 =?utf-8?B?ZXpES2ZIQTZaYXlaUXdyREZhUDhiUjFEckhKdWViQXFlVkRvVXpqYVQ4TnNN?=
 =?utf-8?B?bUxTSGd6OGlOZ2duUlhVcVFGenFsaDhVTWxEN0N5aG0yR0xMdUU2a2QzaEYw?=
 =?utf-8?B?ZGRRWGV2VWViaENFRUhmL3VLbVNtK3d1YWJwNjlaaXUwS29Rd2V3RXpuejY2?=
 =?utf-8?B?YkhDd0QvSm81ejdSbGJPNDAvYlZsWXhsQmNyeVlQV0liU2pZL29tNkFoRVdx?=
 =?utf-8?B?Zkt2eXZubyt0VTRTSHlzeU5hUnN3d042R2c5UHVudngzcjJFZ2UvT1QxSkFW?=
 =?utf-8?B?dTNaeS9tdkJwSFJoNHZFaDdxK25ZQVdja21MUDNIRGJ1eko1cmFhLy8vOUlr?=
 =?utf-8?B?K01BaUhtcHZncDd3Ty83bE1jb1dJdVBkWUF0R3liUi9oK3hJOUJZNmhoSDJH?=
 =?utf-8?B?WXA0RTE2U1FIVWVvSm00c295R09HYVhBTFVpWEdwOWtmVWF6dFErY0JpUmtp?=
 =?utf-8?B?MmhKMmdHcXVhbnNaVDBmU2pCcDBsNmtpS3NSb0NpbitpcW1hSHYyYVJuMEtm?=
 =?utf-8?B?bWYvVVRSclNPOUZGdzBwcTVBMjBMUWN0MkVHVmh1cVoxWXdRTFNsdnpRdmVr?=
 =?utf-8?B?VDE2TkdhQXNHSXRDZlFkektlRnpmYzJMVWsyN3hqVk5wK0lsZTlkaGFqcGFp?=
 =?utf-8?B?dVBVVjhxWStkb1ZuRllTaHhRTC8wZ2podkM2TTMvdEJrS2U3VjBLa2NVNnFY?=
 =?utf-8?B?MFREMGhUdHZ6R0k2NUZDbjRWWm5Scks2QkpvU2cwbVg4bTU2T3JlbzR0QUcx?=
 =?utf-8?B?bXdBMmZ2NG1BS0xnWUIrQWRTWkJRSm40dEJpYit6dDNGTkpPYTBSdDJrRER6?=
 =?utf-8?B?VjVkZkJMS3VhWm9hbEJhcHV1RVUyL2lvZmJWUkRtWVp4MGFvclpFcjR5WU5Q?=
 =?utf-8?B?M3lRaU1JbGN0YUtlcjY3blV1aHFOSGtoYmdPUXBhZkNWeUt6OTAxdHV2ZExO?=
 =?utf-8?B?UGJ5RVg2b05IOUFIVytHZkFibzF2ejQ3UjBFL0Nkc29JaEdwZm5GNEdBRFJI?=
 =?utf-8?B?NVZSQTI1MEVqMkJzejNDSE5DbU9QNHN1WUtlL2t6OGpOVFRZOFcvSjBCMnlm?=
 =?utf-8?B?V3N0M2lsMWdjbEhYZ2xLbUtOUkd1QnZIZCs3UWlPNmt0UW94bmJ6Y1lML0V0?=
 =?utf-8?B?OEdldU03R2x5Qmp5S2VWTW1xajdibEN6Um9kL1hJaTlRZlAzZW5RdlQ1N29j?=
 =?utf-8?B?a3lVOTFkaVFQMUxLckFHaW0rd1R0T3ovMjR2ZkU2RjBZdkdmbFFBc1R2Qm9Y?=
 =?utf-8?B?N1hnQStpTlNWc1djdnBTRm11eHZ6MmFVak1FblRHU2dFd2RNaXZCU2VKMDZm?=
 =?utf-8?B?Zk15YnBsaXZwRWlnL1dvNGh6VGFrSnpXU2VjRS9UQ05BdHlmQ0U5YkorRDBx?=
 =?utf-8?B?Y3RGUEZrYUpST1hKZkl3bGpNanRoUXlsK1UvZmdEWG1tV09MNnRmR3ZPVStC?=
 =?utf-8?B?YkdsVW5OU2tXK3QxUTBJSXNlOUQ0R1BQWWh1NjE1Z0hQQU5UZE1KNlMzcElr?=
 =?utf-8?B?MEdJK2crSUJJWTVLc3FBZnhIWWd0TEFSYThiQzNHbm53UWRqSHovNTRjYzNz?=
 =?utf-8?B?UUtWaHozb1NON3d5WnVCeXN1VW1na2pBWVpxQnV2dnpTejB3NXp4WGJnajZF?=
 =?utf-8?B?R3ovSkVrcUo1bEo4SE1oLzcxNTZXOG42Q2tqcEwxcGhmcHo5S3ZabUtCV0Fm?=
 =?utf-8?B?TzdrdGJQdnJHd3RHOHNtRkp5VUM2cUQ5Q0M5a3o3MFVsUlFhOGE5MW5hcXFK?=
 =?utf-8?B?ZEIwUVZjYk5SemRWTGwybWhEWlFHR0V6SGJpV0NNRWdJSFBMdVVkeW1nZHFR?=
 =?utf-8?Q?6+v1+LFmwo6kQ+jSeQA5euWDr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8391832f-4087-47ef-5a6e-08dad7966780
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 14:30:20.9127
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: I36oY7F6mmFurbhEZ8IaI1OPCKU7fEyzjsHA3ZPb4mO4UO2QNQv7ObfPSmN69Qse1PEPPzfZm/+iNWsi/MS1rA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7777

Grant table code is unused in shim mode, so there's no point in
building it in the first place for shim-exclusive mode.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/configs/pvshim_defconfig
+++ b/xen/arch/x86/configs/pvshim_defconfig
@@ -9,7 +9,6 @@ CONFIG_EXPERT=y
 # Disable features not used by the PV shim
 # CONFIG_XEN_SHSTK is not set
 # CONFIG_XEN_IBT is not set
-# CONFIG_GRANT_TABLE is not set
 # CONFIG_HYPFS is not set
 # CONFIG_BIGMEM is not set
 # CONFIG_KEXEC is not set
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -14,6 +14,7 @@ config CORE_PARKING
 config GRANT_TABLE
 	bool "Grant table support" if EXPERT
 	default y
+	depends on !PV_SHIM_EXCLUSIVE
 	---help---
 	  Grant table provides a generic mechanism to memory sharing
 	  between domains. This shared memory interface underpins the



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:31:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:31:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.454994.712601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YyL-0001iw-Nj; Tue, 06 Dec 2022 14:31:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 454994.712601; Tue, 06 Dec 2022 14:31:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2YyL-0001ip-KU; Tue, 06 Dec 2022 14:31:01 +0000
Received: by outflank-mailman (input) for mailman id 454994;
 Tue, 06 Dec 2022 14:31:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vOWa=4E=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2YyK-0001UP-9C
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 14:31:00 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20617.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a3d264c-7572-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 15:30:59 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7777.eurprd04.prod.outlook.com (2603:10a6:20b:236::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 6 Dec
 2022 14:30:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 14:30:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a3d264c-7572-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JeUB6TRMxLE1kqMmMMiGHWEtfugNz5w9KjGusNNijIZJDr5NzsO7S9wTwU9WpXWDtD4opSSGn/OYI3sqcszLq8R+Kqp2B1Yws3pY2iX7upt3GKiNBkj43tuHCMuDX+6UXoE32HyOBvHl5UM87Bvev+zE46bkj4efleU08grJ5ll48Hc6lCPrDV/DmsHVTrrsqcu7dRFe7ZaLsprJqFeYBclm30xriMvje+ScEZz5xdx4UbyeZ2PTb3SqCysTyaR7L5cPQdRtmQwAB04NC7erGMcliWNzqal9oCebEwfr64WAfJ03MsiCdunZNltBxPnsJJoyuPaAaNdPFoMj+fZRpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eQ0cKDf1wQu9lbiq2UBIF0gkVWSNaxD+TG1S5rB1UXU=;
 b=AMIx2dgtP1NRreexgM2LfFssu0O3+36f2sX3YAd/iZw+g4A0MHgXdwR7V2QCTuotK4AUX/wC2fKQHPj0WexbS/1ZA58jKn918oAodVmec6qc6m2LAliJbqpDIsZdNFyIyxDXYYC5QGSjwR93y7GgWJVGqCiS9DQSawlxnwG6UH54REQMCeOO98uno0B9e5o2W5CqBisbcrT8KcJnlay3r9tN8tVoCXRqmLL1+F2PFgkXl6HiinzIZ1VyQ7JRBZMn2QOwrxjn8HQVTrMSbgs/Ngfz19+Ib7tmTldUS6byjs8W563WpwKQoXfAWJJKEw7enxbfcksIZaxhzS1HzIQOQA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eQ0cKDf1wQu9lbiq2UBIF0gkVWSNaxD+TG1S5rB1UXU=;
 b=eq9MdmrupY/+wctkyBni/S2A5h+KN6PCzYYdeeFk5DPeZqvDBnxsLS2dFIx1S2B/NZan5T5dpT9ck672D6MX1FWa1qqbFCDCa9dp//LSenxOeY6XV0QkrzfiSvOSrk2f1DpsBixPkSlSJuacIgIFjmCSdJKQaEW14OviDjLTJqgqphv7xKpm2UKjtr7kXTNnyl4HbtWl38SatKMte3wz5c43GEalZreHyXhSvCJ/czunbLEKBJRkj+uAZA3qCd/XttUbFt3qohy0GhoJD6pOTCav2oJW12jnvbJRrXjcXCaD3D53S8zW9Vrm6ev/NklM1twNY7IXouP92JF9HAQCDA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <958b3fc2-705b-ac93-9a3a-ab1bdeecf752@suse.com>
Date: Tue, 6 Dec 2022 15:30:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: [PATCH 3/3] x86/pv-shim: suppress core-parking logic
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
In-Reply-To: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0131.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7777:EE_
X-MS-Office365-Filtering-Correlation-Id: 8ff10567-edd9-4614-f6d5-08dad7967dc6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xVc2xtXrbY6p40IsJtFB2gdfy84rd82FGKeNnIdDug8HoUmuVCQg7OHDvVVWYr8sD7JsLhINJ5Gn5xcUnwAzmfVoXu64l7XQqbsX/xLF3E2htbqF4K3X/I8ki5smn0DxyTM1fG0KmFQ80Wy/sAOUe9nNyiRHcUj6JakHqpTMoywaF5JhlwuOkfo18JDBqCHCbXTwJGiDnT+CNrrAsFXXmsCRD1wnVchDRpCMwFAkNFT3sD3tGHXNYmROdj3IEnlNQoX7GJvhvWb9HA91ZyzA2lVrVkU8v7H4JDwrTU9f1k8SpFXCRialT+QMK+R+sy/nJ+uYSoTT1eXYoIzS8TMYJ9BtsDbNkyCa0oXdAmbHCkHoo0peFJw3prv0MPyOsSQv0JHi6idfluBGdEgGZT0YgZpL6lFSKRmne2Qo19ZuiNA0FhLKjN3sST6m+NIlg78RPTQ7G0aLtVfCAyyCO2XWKmc6VKugO75AK55TO1SoKvQzPLzsRs5lI9/4PIJzpyUqzF7gqxCtmg+pkQ1bBXeqR9dAAAP9woR8O2Zr4SIOedre+jYJElYrQZ1h9yZM1DUKTbpKsF+nCmZadakbV3ysfenwNHDnaSblJ4ZwhSODkvFOIEppEJ19gjNGZlG0CtdulYJtRyps5p6pK7HTBMkbpN7uy4voAKvvHL1a8ltHL6BbMf/uKyW3WYktLR5sY1AnRviS/5tkoW7UEBX31qj0Tcf4GY/wEeNdXeUIkmUbn6U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(366004)(396003)(346002)(39860400002)(136003)(451199015)(8936002)(41300700001)(38100700002)(5660300002)(31686004)(4744005)(66946007)(4326008)(66556008)(8676002)(66476007)(186003)(6486002)(2616005)(36756003)(2906002)(26005)(31696002)(6512007)(6506007)(316002)(478600001)(6916009)(86362001)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1pBTzJiWC91dk1WbEFMRTUzYUEveGxJV3JMTUlVRW9sTzVSUHhyMklXYThY?=
 =?utf-8?B?SllyWWNKQU5HYVIzTXhNU21TWEs0TjhTa1lTQXhiMUcxRG9BakUrazRsT2lE?=
 =?utf-8?B?ekZlVnBsVzRyamduY1k0MmgxQVRzTUM0NkJia1Q1cjFWWlI2SHhEbDJXbGVE?=
 =?utf-8?B?aTY2NCswWGlxeEticDVSRzhIZC9PN1BKZ2pxQXQrRldlQUw4NUtISjZhMEdB?=
 =?utf-8?B?ZlJHRm5VaUlLT2c3eXg1MkJmd1Y2SWpaOGZnbDNqUUxUUWhUd3h4OGlSeW1v?=
 =?utf-8?B?dW5iYWkwRFhueVJIWndXdEFBS3NpV3V1dk9YMllhWk1KYm5CVkMyZnBGUExt?=
 =?utf-8?B?ZGtGc2NOV29yckhNaUVZZFNxcW5jbUFRcCtGVEU5Z0xldS9DRXI1OGhFOFRF?=
 =?utf-8?B?RG9kajJ3QlhRYWdUQVBuZDd5c3dhd09JZ1NSWDR5eHFodnpaT09HV0JoTThn?=
 =?utf-8?B?YUh2NnVEVDZRdkJud1FhTWNtTXRoTldEbzIwSGdMT05jWjErWDlOQnJsRGdU?=
 =?utf-8?B?LzlkeXRGUXJwTVZsT2c3Z0t1eWZwVFF6NkFiMkQzRVk2RmFRTlQvbmc5bGlU?=
 =?utf-8?B?VjVINmN2N0FCSHNwWGpPNEhzdy9HRThYQ3FmRzc0NjhpdGtDNDNySW5LSDMx?=
 =?utf-8?B?VnNCVy9vSDhjRG93SFBSKzAvYUFCdHkrMXpuQW9RbkwzU3JmcW9xTEc5SWFR?=
 =?utf-8?B?M2huWE04WDJtT0NNTnNQSityMVRtRFFEbVBEVHc1UmxMNjZIVmtaT3pXYTNU?=
 =?utf-8?B?TFN2VEpNSEc2aDFCWmR5UExuNnh3VFBJeWZFaVNiVU0zRjBnMGQ3TGJkSzdo?=
 =?utf-8?B?MlZ6UU44ZnE3YzZQYUxkYVZqaFljciszM3YxU3NUNHk5K2lJTVNSb0luZGRM?=
 =?utf-8?B?aTFIQ1dnWVRTalpuNnVWelpSTkJtdlRUWXEyVVhlL3lkU1J5VUY3YmJxcnBm?=
 =?utf-8?B?a1d6a2FIUXJaditkUnI5SkpQNjNJRU1yZWdaWTR4WTIwWnFObDBJeWt3cUdY?=
 =?utf-8?B?bi9RUmNhQmo3OWxTTWd2SXljZkN4bHA0ZXNrakpwcjhqbFdXNWJmNlZObXZX?=
 =?utf-8?B?RndmbmFVeExkWUtPc3d3dFVMU0p5ZENrbS92Q21xTUdES2hsRFJxZ2FOd25r?=
 =?utf-8?B?VlRhVFdnYytXc0ZkbUNwU2ZmbExROVM3Wk9SOHZDaWNHNTlpVExKY09wSk9G?=
 =?utf-8?B?MElldmpheTBQT2o5SCtoNGoyNHFwTkFReDdkYVBaK2xnTVNlbXBKc09vekZF?=
 =?utf-8?B?ZG5IYnFmRTBGVHRPOVJ1dDZLc3BQbSt0WUJaQ3BhbXhscEZ2emtXa0hFa3pC?=
 =?utf-8?B?RHdVVjZ2Y3lQejdsYm9QdnNscGQxTk83SEJ5aUtSOGJQR2JVZC9jZ1dLaTlz?=
 =?utf-8?B?Q08zWllIcFRUTHJhSmllaGQvUzdjazN6bVdKc1czYmNNbUNKdVdLdTl2V1ZG?=
 =?utf-8?B?ZVlYaEk0ZEpaOE1ZMUFlb05sdGt5VVBmaUdxMXhKSHVPRGU5a3VRZjBvSm54?=
 =?utf-8?B?WU5TcTh1dDFaUk13aWExaUdONk13ZDIrdy9PVGIycmNkMlFjM1dieHJlLzhY?=
 =?utf-8?B?djFRcitxM3VyTW9qK0hLaVZNZGN2RkVrUEVTNFo1N3JtZXBLRWpmY0VwRDYy?=
 =?utf-8?B?RmU0UVBGaEtabWJRSzJXTnpPZVN5Nk9ldUU5WjFnbXlWMDJidUJ1Q2NkV2dh?=
 =?utf-8?B?M1ZhZkY0TlNNb29DWTVzUlJpK1IwYmlVV2tIeXdTdHFZMm9CWGVYN2FpN0FP?=
 =?utf-8?B?cjM3cjI2TEZmNkptZktXSGVYbW9ONXo0dHY0REhNRy9kelRtSFphS2J3VW1C?=
 =?utf-8?B?QmU4bXlyUjg0dEcwV0J3MDRXMGxFRnZkdEk0cy8xaGRZK2plOWZvdlc3S0N3?=
 =?utf-8?B?Q1B2SnlBZkhybzNVcGE3MklQUjJzTVV5YzZmK2doK24xMkd0Z0JyWnpTbkN0?=
 =?utf-8?B?S0p0UDFUM1FoSVZqeWpPYTZvM2hmRGJhcXYzbzBFYTM1WnR0VHZRL2NwdjEw?=
 =?utf-8?B?UmgwL1M1M2w4aDFBT2tCZHBqUWs3QngvTGVDMzQ4c3RFclllVmczVkNDMHhq?=
 =?utf-8?B?Y2VyVytDb1pGaUcwQ2FPZlNhOU5vT2lnMWJjOUZ6cCtVUE0wekR1eXdZUGx2?=
 =?utf-8?Q?6zoW46RfRvcd/QJ33gxT3MW2L?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ff10567-edd9-4614-f6d5-08dad7967dc6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 14:30:58.3166
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sGD/m3FaPbyhiB5IT41RqeQOOX210ApIsFZ9csvmn/GO0c4sQL6y3V3TcK8bIZS8SrTOol3t7Lwxm3kRMJnDNg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7777

This is all dead code in shim-exclusive mode, so there's no point in
building it.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Contextually depends on "core-parking: fix build with gcc12 and NR_CPUS=1"

--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -10,7 +10,7 @@ config X86
 	select ALTERNATIVE_CALL
 	select ARCH_MAP_DOMAIN_PAGE
 	select ARCH_SUPPORTS_INT128
-	select CORE_PARKING if NR_CPUS > 1
+	select CORE_PARKING if NR_CPUS > 1 && !PV_SHIM_EXCLUSIVE
 	select HAS_ALTERNATIVE
 	select HAS_COMPAT
 	select HAS_CPUFREQ



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:34:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:34:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455005.712613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Z1Q-0002PD-5r; Tue, 06 Dec 2022 14:34:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455005.712613; Tue, 06 Dec 2022 14:34:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Z1Q-0002P6-2Q; Tue, 06 Dec 2022 14:34:12 +0000
Received: by outflank-mailman (input) for mailman id 455005;
 Tue, 06 Dec 2022 14:34:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jFbS=4E=outlook.com=set_pte_at@srs-se1.protection.inumbo.net>)
 id 1p2Z1O-0002P0-Dz
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 14:34:10 +0000
Received: from JPN01-OS0-obe.outbound.protection.outlook.com
 (mail-os0jpn01olkn20802.outbound.protection.outlook.com
 [2a01:111:f403:700c::802])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a51b4d7-7573-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 15:34:09 +0100 (CET)
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:152::9)
 by OSZP286MB1967.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:182::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 14:34:00 +0000
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605]) by TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605%5]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 14:34:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a51b4d7-7573-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L5Xr7yttFZ6IKWmoDWIHQwulWLcEktykBS6I8Qpbl8ohoPnMJ1I+DYrOm/0vYtkMGoaDqnVFHVcvKSLKTtfg8hZDZVAXu+asmPQETvsPgsaVY7SInYgKNiE5RTQ6kqvF3X7Grk2aIgBemD3mKQTS0C2VHrcZSMtW1xpJyhk6Fin2fv2jrQv9t59OaC1QqoQXu+dkVuIMeUpDWCw/w+rRgqqVZEQXGwe7+rSJYmLJWZRPxssuiPmAojIvhw2WLC5GbJI2x9WzMeHxa9jG2nHrvEGmh8NAVlUTfPy8lUf0CI3dr6mNmmnmM+k9JFZN5t1lksV6uaAF+kYRy12K2dZU7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=712H7lgui7y6JKIT38YiTq73OPMRMvLDDcUE25Lr6eo=;
 b=jfWz0NmFUhMsCvzTSd/KEx65x1IrkKWO0Vj2RN1Bt5zpbtesRdJ++FL47Z/jafNjEHlbRP6OHTOADGT74aI0fJjmWPzsPlfqmb4wHbFzR5II1Xx2j28rdPVz7XcGY5QUno6lQ4OFDZ7ZiweMDBcDgHcmXuA8TMlG/xN05dPYFVSZx3hvMt28E7Irqzq6t2ZVAvJH6N9C/xxOCEUdKdy7nTLUUKUiiLhwcYEbmY+F3Xzm2Tpprbm6CvxgWKshZGrQqpsq1/p5I4KGqBFHOfVG94Xby6ibL7F3kSG3omb9rZvBMgXDArUsA2Vnuhj6TbQWvermIipDgyqyOgEopXladQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=712H7lgui7y6JKIT38YiTq73OPMRMvLDDcUE25Lr6eo=;
 b=EeUMisWfAdi6DvMN0DEAGB0jXZG+5B5xuZDDFsj1NDoxPAdqoZrncQrh5jGZ65MFWjrdOHZoUZwYYK9gGDicmNLAMdZcxrYvU1WhPsLIfzyC7zY+OocrOgiQApkA5/HlUSza+7viB1NGVovldx2vCwQpYFgXLCtQcUp1mxNBX5qWu6TFzaQmnM0cxe0l3EokWlp+Uc89t+94s0L/HZDXFfXb+aK+uUsqNqPhS7za0AL+U0CLtJIuxZodHvFUdiqTnD3TTZZL5KAcfmP3Ck/YvsehyFwyD3ls2e6TGR6mpUBd8n9zhlNjb3AFxYWevDO9jThDQ4u5i/kYs8MkZViI0Q==
Date: Tue, 6 Dec 2022 22:33:56 +0800
From: Dawei Li <set_pte_at@outlook.com>
To: Greg KH <gregkh@linuxfoundation.org>
Cc: johannes@sipsolutions.net, robert.jarzmik@free.fr, jgross@suse.com,
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
	roger.pau@citrix.com, srinivas.kandagatla@linaro.org,
	bgoswami@quicinc.com, mpe@ellerman.id.au, npiggin@gmail.com,
	christophe.leroy@csgroup.eu, kys@microsoft.com,
	haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
	alsa-devel@alsa-project.org, linuxppc-dev@lists.ozlabs.org,
	xen-devel@lists.xenproject.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/6] Make remove() of any bus based driver void returned
Message-ID:
 <TYCP286MB2323467DEE64E8CE2F8DD212CA1B9@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
References: <TYCP286MB23234ABCCF40E3FC42FD09A4CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
 <Y44VtN/rmjIU6sDC@kroah.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Y44VtN/rmjIU6sDC@kroah.com>
X-TMN: [8Vq7ns3UEdT1MKuNI1EnmVRTFckh+vr7]
X-ClientProxiedBy: SG2PR02CA0013.apcprd02.prod.outlook.com
 (2603:1096:3:17::25) To TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 (2603:1096:400:152::9)
X-Microsoft-Original-Message-ID: <20221206143356.GA176413@wendao-VirtualBox>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: TYCP286MB2323:EE_|OSZP286MB1967:EE_
X-MS-Office365-Filtering-Correlation-Id: 93999e8e-2faa-414d-67c0-08dad796ea1f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hSx0dzw/06nyY9YBvPt9lioT3Whlld0i+vanwf0UzirwW0h6UFOgLoS+AtinIVyfRKUUByJp+BsRdrm+r82FOUPRZpYUtncHwXGyD+6BtZGTToT0bU0FvrAZMaWBt/YFuTma/ojojC0AirZQWWukR/Akf1d8C4pJeVOBh4IY4HCSOjwxfdUHGLgLfeqZ3/vMW0xJEbL/eTLuVc1f6alHCOZ6+td3ciQhpZiOfxOEduqKgRD55/n85XXufGi9xeIXSazh+qReon6r109XvtXb2eM4yglxC0PcgI5ytRDJddwaTJ8KIXMJwelfYUnR/Sc4wRfT4OVUbQL8fmdzrYkY4o5gwo5LYITYyrCW3qrrGNIdIB5YEb7H2n0DXGn+inRJKtILNTr7yzManVcULtlgJAAz/pcFd6kyBIcQg8Se6TRkUDryng7x68IOCIe9OHiQeXcdGWgvFMDQRxTD9oSHG4l4QsgYlg197zHzujab7PYrlM6EI7QXXifbh7hhEs556USuj9joxn8i2Kxm6W5Jo+ut0+Mdlv/5jctNfgD14CmFOre6r/hUU1DdJi4xOIosJErFaqNJSoTM57m16Nl4OrwRfxi/oRufap5CtGPxFtv578XC8cZ/f9t1NTKoLYZ6tYng+opO9zn1xvi9m8+ZNA==
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?W4KM73/N0iVboquVZ75JvxrNVpwmX+upDIClAbR/V5uLzWUoVFMgXvCDkYvd?=
 =?us-ascii?Q?KJAp4izY1pXDksrxoHUYwVq5VYISVKLX+XFHXQi7svJ9NHm5+WUHOjsi6Rvd?=
 =?us-ascii?Q?V8rqqicsALu/q2//JLxYNCoR5nNKzJbQjv1mdxPqzHHK+voorHMhn4FETcrE?=
 =?us-ascii?Q?/PJiojtCEW4dWg7NototcYFZuPEEjyPMooAnS026OCqV6PwYO3SDNGbvh3nN?=
 =?us-ascii?Q?90vXySTzMB3z5DFGPhvpEr7dElRUmF+odyRqVT5HZs5Tq/G/YS0ir+JR0JRB?=
 =?us-ascii?Q?aejNuTH02NsxX8sCH7wZ35Y9w0GNehFtSKiMVit33xJ1jyAPuGgUKBz0Uf+R?=
 =?us-ascii?Q?tmWqIY/3MB71nlwGsLXEdbCV7ToB9g6qI+E+g+dTdtYA0kEhArFgYj0jW0j7?=
 =?us-ascii?Q?e8qnHCKJHw2gZdiLZhA8hwCHDzKgbY62iws4X7lnjtfS4P1WbNH+3KEA5QGe?=
 =?us-ascii?Q?UUP5bh0fLZ7Om1AXGQSrzmKdwOL6XLHBKsZETcW0L2nF5u4x8bMWYiNPkL3W?=
 =?us-ascii?Q?Iwq/s7xrwxl3T7OI+v64kmY9TS+fu1w5h8QfMkwg69b1amijG7z4D3t8+Ksn?=
 =?us-ascii?Q?4CaZiGN8SZQgA06722EDZ9hCZCZzzaS6loAOjR6SVzQg+aFhk6pRa+oH3XTt?=
 =?us-ascii?Q?XyG383bFv5hlj9LqvObJbfcV22ihwAuFoKiqYY/tZrM/ug/WSZ4OctiJTX9c?=
 =?us-ascii?Q?pZ2eLStO79n/Yo7BrBF5Juxhyv4I8XluzKfZCe+jKirmCe/Mnu0ErWqMVssG?=
 =?us-ascii?Q?CRLBeaTpXhZ/FmSLAcre89tiu9k7NOjIwl8xpR8vAKHi7xK3pCLylF3pPFt7?=
 =?us-ascii?Q?bJ+gtSiDrr3p0GnSRwvt7wYk47cUH8l54F26CIlpfcu6G5agvaLPNTyruGDR?=
 =?us-ascii?Q?S7ze1MMti5wrVRv2muGqNbT3aZn3j3ohMbfzsHRaJvGOP5Gl6cfZE9ZS2sUA?=
 =?us-ascii?Q?hp+z9aIFa8JnlDpfHXEXHn84IgzD683x2ZlZQ33lyR8vpD+JTMuONvPg2lnR?=
 =?us-ascii?Q?hz8exlgXmb+LOqAqd617ovbwpr13OpMuKkVCXYd6iSOsMLN/P41QCA8ol29U?=
 =?us-ascii?Q?MQBSyazfF++ZEG/vNqTG2zPKEGpBIKorrGDMTvP9TmTv5IWKERONe29/0CXG?=
 =?us-ascii?Q?QyAX5JZHvk7Lbl/a38thFgw48Y98961o17THYmA6oRiTqryBugGT+gpEyjHs?=
 =?us-ascii?Q?fIOe3QxQiBZpbWZPG9Fy4u3t8gAyx3yMKq4JZDRFnyV5ZOjyMzJGvbRtVu+W?=
 =?us-ascii?Q?rYdMtOdwYP4aZlTsdO2Hv9VK7GV8EXX0CF5HEH0TEA=3D=3D?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 93999e8e-2faa-414d-67c0-08dad796ea1f
X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 14:34:00.2620
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
	00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: OSZP286MB1967

On Mon, Dec 05, 2022 at 05:00:52PM +0100, Greg KH wrote:
> On Mon, Dec 05, 2022 at 11:36:38PM +0800, Dawei Li wrote:
> > For bus-based driver, device removal is implemented as:
> > device_remove() => bus->remove() => driver->remove()
> > 
> > Driver core needs no feedback from bus driver about the result of
> > remove callback. In which case, commit fc7a6209d571 ("bus: Make
> > remove callback return void") forces bus_type::remove be void-returned.
> > 
> > Now we have the situation that both 1st & 2nd part of calling chain
> > are void returned, so it does not make much sense for the last one
> > (driver->remove) to return non-void to its caller.
> > 
> > So the basic idea behind this patchset is making remove() callback of
> > any bus-based driver to be void returned.
> > 
> > This patchset includes changes for drivers below:
> > 1. hyperv
> > 2. macio
> > 3. apr
> > 4. xen
> > 5. ac87
> > 6. soundbus

Hi Greg:
Thanks for the reviewing.
> 
> Then that should be 6 different patchsets going to 6 different
> subsystems.  No need to make this seems like a unified set of patches at
> all.
Right, will fix all the issues for this patchset and resend them in 6
independent patches.

Thanks
      Dawei

> 
> > Q: Why not platform drivers?
> > A: Too many of them.(maybe 4K+)
> 
> That will have to be done eventually, right?
> 
> thanks,
> 
> greg k-h


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:48:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:48:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455017.712624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ZF8-0004Hj-CM; Tue, 06 Dec 2022 14:48:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455017.712624; Tue, 06 Dec 2022 14:48:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ZF8-0004Hc-9W; Tue, 06 Dec 2022 14:48:22 +0000
Received: by outflank-mailman (input) for mailman id 455017;
 Tue, 06 Dec 2022 14:48:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WiLW=4E=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p2ZF7-0004HW-BM
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 14:48:21 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 053adf4a-7575-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 15:48:19 +0100 (CET)
Received: from MW4PR04CA0368.namprd04.prod.outlook.com (2603:10b6:303:81::13)
 by PH7PR12MB6809.namprd12.prod.outlook.com (2603:10b6:510:1af::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 14:48:13 +0000
Received: from CO1NAM11FT016.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:81:cafe::bb) by MW4PR04CA0368.outlook.office365.com
 (2603:10b6:303:81::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Tue, 6 Dec 2022 14:48:13 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT016.mail.protection.outlook.com (10.13.175.141) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.14 via Frontend Transport; Tue, 6 Dec 2022 14:48:12 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 08:48:11 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 08:48:10 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 6 Dec 2022 08:48:09 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 053adf4a-7575-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SCZNoB8n3kwWwc1NFUNzBUd4SrgD8SDX5LEURpHo9E2gcFyMaJStfW7ZOhlhtPq2WaDobCRlwsPlGklUyHClM5kwsSvLWcKK/lleWewLu2KogiUZhcWe1QDoInBFn7sbfeNKPZz1zdaHtq6pHOUly6E1WqHZ6aLjHc5TCcglns7SQf4XzybzYRWVde9+E33/UDRj0jAluHq/zby8S4fSF4annZYHntZD4pDKKetesXDZd0Ipn5jlZZFuReGlJi1W9tAalNir3k2n3MEU812Fa4XUJ4Cb47L3ArZqKXHSAb/4H1FBuR9dW6UCGK62/FuibHeG1jRp7UU4a3PLQ5jSDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YMgsUGZcTH9H1zLR51QtRCIVqYFpPya6BUzh8wnlwzI=;
 b=jQWzJD/8cz98sAMQCmndnHpHfi/72xNwQQ9hAfGB6RWiV6Mb4inWSGcyiNsnpypF7OHJ0iRoJbrKoilOhesHyrtyvfbjw6m3KDl7hUbP527tz6AwUP8kNQErP1aup91M1auR0gvuY03cDpbeOwSc1hNU08bGZbpaXadrhg9WJwy0ld8dU2Bk8OFl7SrKjJGUA01+3f+F4c5bKq2+BaBWnjhKny+ZJjaT3vQ+Rx107YW2rtgeHms/AsuB+OcMynw2vPC4Yzas+iNSqveiKDaLQqFvz/Lw4u/MkER8RgDMp3/isJ7KPm1Su/QXlcFv4eOlmCv2vKUP4nylpzcfASpDTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YMgsUGZcTH9H1zLR51QtRCIVqYFpPya6BUzh8wnlwzI=;
 b=Fq4uz7thbcKlEM2fLTGdxasYk++6o9jrJHfdJV1CZMHxjg9pGmj5qEuPxUMMbIFLnlaSsFL7lNv9LzDZv9ZO5xBgW11x0dwSgRlVSRjVvs8PSeJPJHE5HCaJDr/PE5AH6//lfv1OLDR+SQIQMVBmDIT0tsuGejzUGaB0pIuzlkA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2] xen: Remove trigraphs from comments
Date: Tue, 6 Dec 2022 15:48:06 +0100
Message-ID: <20221206144806.23139-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT016:EE_|PH7PR12MB6809:EE_
X-MS-Office365-Filtering-Correlation-Id: 083068e9-b53b-47b8-36b1-08dad798e62b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DLZ5nGal5R2cm0BfFwA3gpvxastLujcXlEOGJflm4e7ibqM7srAFpul8yWMFM5m93ON+hrXrKFEBSVLr6Co25bUuuEayyGP33PjyYUUSJdMAB7fnmo7NLwssUVN5YcuclItBDVJf0dj3eDIXetNsR3Uo4wZMT1ePfRGm0pHzlenyWWcPDs2WRlLzvZgCh6JmIz2xSOoKDqam5ZNRW8U8V+OZSo8KoHI2Yi+kfMsVH+bwRetWZwOUcgN18ehCoSeIZ1mh6acXSrDrwoQI9S7RuKiCro2Q17SztBH9js3DlpclyhhHpqpD4lpNjHFFhJ/7jdwUCYvsZ9zNyJipKQCziF92LiPCvyBeECreQGCaYwFcGadgRrLqv9QgBCsNU8vfkUpBuex1SSMoxzC7EYd6jpFFMg1Ea8/1OAooFQk+6XbfIcEzm2LAcvV0lDuHUgJiMr9UVxpD9pqLCGejA980R3a6r8VTVsBQ1nXxV/9n2UOrnmvFOs3rs/IgYpc6soWyKsG/sVBdxPeJgha5ZjlAnq35QzTsaCnekBdrexi5OQFl1nxYHucwQwoIz0prqP8thlWbP0579D1bIJaEmlXqdoRXjojqQutCWVyIVKonLOCiVyRDfmoAnE+4DBWJ9d0IDqweK3yLb+6XBATIfzBHOfw4XY9TISVMBHD5cJ28Rb4rpJjnihSdAZw4cfOplrPtpzf34OsDZCsqtlQrVAzFjeuIQq6iXaFdYEiW807wrng=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(396003)(376002)(136003)(39860400002)(451199015)(36840700001)(40470700004)(46966006)(4326008)(70206006)(6916009)(26005)(40460700003)(2616005)(8676002)(82740400003)(70586007)(478600001)(36860700001)(86362001)(40480700001)(356005)(81166007)(316002)(54906003)(82310400005)(36756003)(6666004)(2906002)(83380400001)(44832011)(336012)(1076003)(8936002)(426003)(41300700001)(47076005)(5660300002)(186003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 14:48:12.1532
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 083068e9-b53b-47b8-36b1-08dad798e62b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT016.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6809

MISRA C rule 4.2 states that trigraphs (sequences of two question marks
followed by a specified third character [=/'()!<>-]) should not be used.
This applies to both code and comments. Thankfully, we do not use them
in the code, but still there are some comments where they are
accidentally used. Fix it.

With regards to the comments and respective macros in pci_regs.h, these
were inherited from Linux. Let's knowingly accept the divergence.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v2:
 - use (?!?) for arch-x86_64.h
 - add a note in commit msg that pci_regs.h originated from Linux and we
   knowingly accept the divergence
---
 xen/arch/x86/x86_emulate/x86_emulate.h |  2 +-
 xen/include/public/arch-x86_64.h       |  2 +-
 xen/include/xen/pci_regs.h             | 12 ++++++------
 3 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index 4732855c40ed..bb7af967ffee 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -228,7 +228,7 @@ struct x86_emulate_ops
      * All functions:
      *  @ctxt:  [IN ] Emulation context info as passed to the emulator.
      * All memory-access functions:
-     *  @seg:   [IN ] Segment being dereferenced (specified as x86_seg_??).
+     *  @seg:   [IN ] Segment being dereferenced (specified as x86_seg_?).
      *  @offset:[IN ] Offset within segment.
      *  @p_data:[IN ] Pointer to i/o data buffer (length is @bytes)
      * Read functions:
diff --git a/xen/include/public/arch-x86_64.h b/xen/include/public/arch-x86_64.h
index 5db52de69584..acf705f25e7a 100644
--- a/xen/include/public/arch-x86_64.h
+++ b/xen/include/public/arch-x86_64.h
@@ -22,5 +22,5 @@
  * A similar callback occurs if the segment selectors are invalid.
  * failsafe_address is used as the value of eip.
  *
- * On x86_64, event_selector and failsafe_selector are ignored (???).
+ * On x86_64, event_selector and failsafe_selector are ignored (?!?).
  */
diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
index ee8e82be36b4..a90aff1712ba 100644
--- a/xen/include/xen/pci_regs.h
+++ b/xen/include/xen/pci_regs.h
@@ -246,13 +246,13 @@
 #define  PCI_PM_CTRL_STATE_MASK	0x0003	/* Current power state (D0 to D3) */
 #define  PCI_PM_CTRL_NO_SOFT_RESET	0x0008	/* No reset for D3hot->D0 */
 #define  PCI_PM_CTRL_PME_ENABLE	0x0100	/* PME pin enable */
-#define  PCI_PM_CTRL_DATA_SEL_MASK	0x1e00	/* Data select (??) */
-#define  PCI_PM_CTRL_DATA_SCALE_MASK	0x6000	/* Data scale (??) */
+#define  PCI_PM_CTRL_DATA_SEL_MASK	0x1e00	/* Data select (?) */
+#define  PCI_PM_CTRL_DATA_SCALE_MASK	0x6000	/* Data scale (?) */
 #define  PCI_PM_CTRL_PME_STATUS	0x8000	/* PME pin status */
-#define PCI_PM_PPB_EXTENSIONS	6	/* PPB support extensions (??) */
-#define  PCI_PM_PPB_B2_B3	0x40	/* Stop clock when in D3hot (??) */
-#define  PCI_PM_BPCC_ENABLE	0x80	/* Bus power/clock control enable (??) */
-#define PCI_PM_DATA_REGISTER	7	/* (??) */
+#define PCI_PM_PPB_EXTENSIONS	6	/* PPB support extensions (?) */
+#define  PCI_PM_PPB_B2_B3	0x40	/* Stop clock when in D3hot (?) */
+#define  PCI_PM_BPCC_ENABLE	0x80	/* Bus power/clock control enable (?) */
+#define PCI_PM_DATA_REGISTER	7	/* (?) */
 #define PCI_PM_SIZEOF		8
 
 /* AGP registers */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 14:54:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 14:54:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455032.712634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ZL3-00068d-4T; Tue, 06 Dec 2022 14:54:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455032.712634; Tue, 06 Dec 2022 14:54:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ZL3-00068W-1v; Tue, 06 Dec 2022 14:54:29 +0000
Received: by outflank-mailman (input) for mailman id 455032;
 Tue, 06 Dec 2022 14:54:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2ZL1-00068M-2S; Tue, 06 Dec 2022 14:54:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2ZL0-0001ef-WF; Tue, 06 Dec 2022 14:54:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2ZL0-0007rV-EZ; Tue, 06 Dec 2022 14:54:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2ZL0-0002pj-EA; Tue, 06 Dec 2022 14:54:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JWk0+rRAL6TicgOj1Gcse8Ft+/Rm3Caik+JWUFAIU0U=; b=ogXKaKKOc3CYQTPttXeZ7ThrKC
	3MtBq/BIoeItQztjKKG+HSPBea4bTP/8tvZgvAGhC1FOdNzmoaBUb2O+l0dyWOd5/Xl3l1lVQUssc
	BUYPa2jqHdemnbTiKOTR6uBiCf/2TMOqhqxgt+RMRUp0r9xoJmvFJdRQF9KLpAdNRcss=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175057-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175057: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt-raw:<job status>:broken:regression
    linux-linus:test-armhf-armhf-libvirt-raw:host-install(5):broken:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=bce9332220bd677d83b19d21502776ad555a0e73
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 06 Dec 2022 14:54:26 +0000

flight 175057 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175057/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-libvirt-raw    <job status>                 broken
 test-armhf-armhf-libvirt-raw  5 host-install(5)        broken REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                bce9332220bd677d83b19d21502776ad555a0e73
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   59 days
Failing since        173470  2022-10-08 06:21:34 Z   59 days  117 attempts
Testing same since   175057  2022-12-06 04:47:18 Z    0 days    1 attempts

------------------------------------------------------------
1951 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 broken  
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-libvirt-raw broken
broken-step test-armhf-armhf-libvirt-raw host-install(5)

Not pushing.

(No revision log; it would be 187486 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 15:17:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 15:17:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455048.712651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Zhd-0000v6-7g; Tue, 06 Dec 2022 15:17:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455048.712651; Tue, 06 Dec 2022 15:17:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Zhd-0000uz-4W; Tue, 06 Dec 2022 15:17:49 +0000
Received: by outflank-mailman (input) for mailman id 455048;
 Tue, 06 Dec 2022 15:17:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Anb0=4E=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1p2Zhb-0000rw-1r
 for xen-devel@lists.xen.org; Tue, 06 Dec 2022 15:17:47 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 20962fc8-7579-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 16:17:45 +0100 (CET)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1p2ZhM-0002EK-HA; Tue, 06 Dec 2022 15:17:32 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1p2ZhM-0005Wc-FV; Tue, 06 Dec 2022 15:17:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20962fc8-7579-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Date:Message-Id:Subject:CC:From:To:MIME-Version:
	Content-Transfer-Encoding:Content-Type;
	bh=CHTDlzgPJ/rUa/O8rInlgx9BEEW0QE8kC90nX0IeAic=; b=ZL2gYAN0ixOZyNsQ3XrQgXIts+
	+1+bbmm7vN9FmasyhQC81hxkftWITZbhvKEgRc4CtFYCdHRgQGpWSzOSz2sCwAd1jMk+SapYumN20
	h047O3RdyzOR3fbTyLYPlHizangzjUxxc0TrMlmlMybFwVUE4dvdLoFCfn6HoerbCnkg=;
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 423 v1 (CVE-2022-3643) - Guests can trigger
 NIC interface reset/abort/crash via netback
Message-Id: <E1p2ZhM-0005Wc-FV@xenbits.xenproject.org>
Date: Tue, 06 Dec 2022 15:17:32 +0000

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2022-3643 / XSA-423

    Guests can trigger NIC interface reset/abort/crash via netback

ISSUE DESCRIPTION
=================

It is possible for a guest to trigger a NIC interface reset/abort/crash in
a Linux based network backend by sending certain kinds of packets.

It appears to be an (unwritten?) assumption in the rest of the Linux network
stack that packet protocol headers are all contained within the linear
section of the SKB and some NICs behave badly if this is not the case.

This has been reported to occur with Cisco (enic) and Broadcom NetXtrem II
BCM5780 (bnx2x) though it may be an issue with other NICs/drivers as well.

In case the frontend is sending requests with split headers, netback will
forward those violating above mentioned assumption to the networking core,
resulting in said misbehavior.

IMPACT
======

An unprivileged guest can cause network Denial of Service (DoS) of the
host by sending network packets to the backend causing the related
physical NIC to reset, abort, or crash.

Data corruption or privilege escalation seem unlikely but have not been
ruled out.

VULNERABLE SYSTEMS
==================

All systems using a Linux based network backend with kernel 3.19 and
newer are vulnerable. Systems using other network backends are not
known to be vulnerable.

Systems using Cisco (enic driver) and Broadcom NetXtrem II BCM5780
(bnx2x driver) NICs for guest network access are known to be vulnerable.
Systems using other NICs for guest network access cannot be ruled out
to be vulnerable.

MITIGATION
==========

Using another PV network backend (e.g. the qemu based "qnic" backend)
will mitigate the problem.

Using a dedicated network driver domain per guest will mitigate the
problem.

NOTE REGARDING LACK OF EMBARGO
==============================

This issue was discussed in public already.

RESOLUTION
==========

Applying the attached patch resolves this issue.

xsa423-linux.patch           Linux 4.14 - 6.1-rc

$ sha256sum xsa423*
6b11934a428ca990ee870b793c700064342b8d83bd6632a4c417de05d5c95dad  xsa423-linux.patch
$

-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmOPXKAMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZptEIAI2kIbKXbZNr3k0riwXxH2tV4i6Ja9ad7to7CrGN
VSCOG8S5+wBhI92RnVjkifFyA4FGdHaob7AYw7X5R43rLsFKEzw06R4pP0elsGoz
w/ieETiUrdwmzIA3wx0p14kLIZdT2MWPtjuczbBYTWXVN9LGvUkIkuXLwZLOK5O5
HT2oAJhvgemcW8ThBBK0kI5Y1GxBlJ32hbQGBi6Wut6LUprZ+b3No3+/ylOfHRQG
y0vgJ5TtjdIBcJ+xY97mgmMbIRW4lI54ju4G7D6QrGl3IAPD666y2u97QwefuK4V
YigMIXIv2+PsCdo/6Vv/Fwt5g5C2PiFDr6Lx+pRNZcVIRl4=
=pbpP
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa423-linux.patch"
Content-Disposition: attachment; filename="xsa423-linux.patch"
Content-Transfer-Encoding: base64

RnJvbSAwZjA1ZDE3YjZlZDBiYTVlNzFiOGVhNzMxNmIxZmU1ZDcwZDVjNzkx
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb3NzIExhZ2Vyd2Fs
bCA8cm9zcy5sYWdlcndhbGxAY2l0cml4LmNvbT4KRGF0ZTogVHVlLCAyMiBO
b3YgMjAyMiAwOToxNjo1OSArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIHhlbi9u
ZXRiYWNrOiBFbnN1cmUgcHJvdG9jb2wgaGVhZGVycyBkb24ndCBmYWxsIGlu
IHRoZQogbm9uLWxpbmVhciBhcmVhCgpJbiBzb21lIGNhc2VzLCB0aGUgZnJv
bnRlbmQgbWF5IHNlbmQgYSBwYWNrZXQgd2hlcmUgdGhlIHByb3RvY29sIGhl
YWRlcnMKYXJlIHNwcmVhZCBhY3Jvc3MgbXVsdGlwbGUgc2xvdHMuIFRoaXMg
d291bGQgcmVzdWx0IGluIG5ldGJhY2sgY3JlYXRpbmcKYW4gc2tiIHdoZXJl
IHRoZSBwcm90b2NvbCBoZWFkZXJzIHNwaWxsIG92ZXIgaW50byB0aGUgbm9u
LWxpbmVhciBhcmVhLgpTb21lIGRyaXZlcnMgYW5kIE5JQ3MgZG9uJ3QgaGFu
ZGxlIHRoaXMgcHJvcGVybHkgcmVzdWx0aW5nIGluIGFuCmludGVyZmFjZSBy
ZXNldCBvciB3b3JzZS4KClRoaXMgaXNzdWUgd2FzIGludHJvZHVjZWQgYnkg
dGhlIHJlbW92YWwgb2YgYW4gdW5jb25kaXRpb25hbCBza2IgcHVsbCBpbgp0
aGUgdHggcGF0aCB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLiAgRml4IHRoaXMg
d2l0aG91dCByZWludHJvZHVjaW5nIHRoZQpwdWxsIGJ5IHNldHRpbmcgdXAg
Z3JhbnQgY29weSBvcHMgZm9yIGFzIG1hbnkgc2xvdHMgYXMgbmVlZGVkIHRv
IHJlYWNoCnRoZSBYRU5fTkVUQkFDS19UWF9DT1BZX0xFTiBzaXplLiBBZGp1
c3QgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgdG8gaGFuZGxlCm11bHRpcGxlIGNv
cHkgb3BlcmF0aW9ucyBwZXIgc2tiLgoKVGhpcyBpcyBYU0EtNDIzIC8gQ1ZF
LTIwMjItMzY0My4KCkZpeGVzOiA3ZTVkNzc1Mzk1NmIgKCJ4ZW4tbmV0YmFj
azogcmVtb3ZlIHVuY29uZGl0aW9uYWwgX19wc2tiX3B1bGxfdGFpbCgpIGlu
IGd1ZXN0IFR4IHBhdGgiKQpTaWduZWQtb2ZmLWJ5OiBSb3NzIExhZ2Vyd2Fs
bCA8cm9zcy5sYWdlcndhbGxAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IFBh
dWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgpTaWduZWQtb2ZmLWJ5OiBKdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQogZHJpdmVycy9uZXQv
eGVuLW5ldGJhY2svbmV0YmFjay5jIHwgMjIzICsrKysrKysrKysrKysrKyst
LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEyMyBpbnNlcnRpb25z
KCspLCAxMDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u
ZXQveGVuLW5ldGJhY2svbmV0YmFjay5jIGIvZHJpdmVycy9uZXQveGVuLW5l
dGJhY2svbmV0YmFjay5jCmluZGV4IDNkMjA4MWJiYmM4Ni4uMDU0YWMwZTg5
N2Y2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9uZXRi
YWNrLmMKKysrIGIvZHJpdmVycy9uZXQveGVuLW5ldGJhY2svbmV0YmFjay5j
CkBAIC0zMzIsMTAgKzMzMiwxMyBAQCBzdGF0aWMgaW50IHhlbnZpZl9jb3Vu
dF9yZXF1ZXN0cyhzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwKIAogCiBz
dHJ1Y3QgeGVudmlmX3R4X2NiIHsKLQl1MTYgcGVuZGluZ19pZHg7CisJdTE2
IGNvcHlfcGVuZGluZ19pZHhbWEVOX05FVEJLX0xFR0FDWV9TTE9UU19NQVgg
KyAxXTsKKwl1OCBjb3B5X2NvdW50OwogfTsKIAogI2RlZmluZSBYRU5WSUZf
VFhfQ0Ioc2tiKSAoKHN0cnVjdCB4ZW52aWZfdHhfY2IgKikoc2tiKS0+Y2Ip
CisjZGVmaW5lIGNvcHlfcGVuZGluZ19pZHgoc2tiLCBpKSAoWEVOVklGX1RY
X0NCKHNrYiktPmNvcHlfcGVuZGluZ19pZHhbaV0pCisjZGVmaW5lIGNvcHlf
Y291bnQoc2tiKSAoWEVOVklGX1RYX0NCKHNrYiktPmNvcHlfY291bnQpCiAK
IHN0YXRpYyBpbmxpbmUgdm9pZCB4ZW52aWZfdHhfY3JlYXRlX21hcF9vcChz
dHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwKIAkJCQkJICAgdTE2IHBlbmRp
bmdfaWR4LApAQCAtMzcwLDMxICszNzMsOTMgQEAgc3RhdGljIGlubGluZSBz
dHJ1Y3Qgc2tfYnVmZiAqeGVudmlmX2FsbG9jX3NrYih1bnNpZ25lZCBpbnQg
c2l6ZSkKIAlyZXR1cm4gc2tiOwogfQogCi1zdGF0aWMgc3RydWN0IGdudHRh
Yl9tYXBfZ3JhbnRfcmVmICp4ZW52aWZfZ2V0X3JlcXVlc3RzKHN0cnVjdCB4
ZW52aWZfcXVldWUgKnF1ZXVlLAotCQkJCQkJCXN0cnVjdCBza19idWZmICpz
a2IsCi0JCQkJCQkJc3RydWN0IHhlbl9uZXRpZl90eF9yZXF1ZXN0ICp0eHAs
Ci0JCQkJCQkJc3RydWN0IGdudHRhYl9tYXBfZ3JhbnRfcmVmICpnb3AsCi0J
CQkJCQkJdW5zaWduZWQgaW50IGZyYWdfb3ZlcmZsb3csCi0JCQkJCQkJc3Ry
dWN0IHNrX2J1ZmYgKm5za2IpCitzdGF0aWMgdm9pZCB4ZW52aWZfZ2V0X3Jl
cXVlc3RzKHN0cnVjdCB4ZW52aWZfcXVldWUgKnF1ZXVlLAorCQkJCXN0cnVj
dCBza19idWZmICpza2IsCisJCQkJc3RydWN0IHhlbl9uZXRpZl90eF9yZXF1
ZXN0ICpmaXJzdCwKKwkJCQlzdHJ1Y3QgeGVuX25ldGlmX3R4X3JlcXVlc3Qg
KnR4ZnJhZ3MsCisJCQkgICAgICAgIHVuc2lnbmVkICpjb3B5X29wcywKKwkJ
CSAgICAgICAgdW5zaWduZWQgKm1hcF9vcHMsCisJCQkJdW5zaWduZWQgaW50
IGZyYWdfb3ZlcmZsb3csCisJCQkJc3RydWN0IHNrX2J1ZmYgKm5za2IsCisJ
CQkJdW5zaWduZWQgaW50IGV4dHJhX2NvdW50LAorCQkJCXVuc2lnbmVkIGlu
dCBkYXRhX2xlbikKIHsKIAlzdHJ1Y3Qgc2tiX3NoYXJlZF9pbmZvICpzaGlu
Zm8gPSBza2Jfc2hpbmZvKHNrYik7CiAJc2tiX2ZyYWdfdCAqZnJhZ3MgPSBz
aGluZm8tPmZyYWdzOwotCXUxNiBwZW5kaW5nX2lkeCA9IFhFTlZJRl9UWF9D
Qihza2IpLT5wZW5kaW5nX2lkeDsKLQlpbnQgc3RhcnQ7CisJdTE2IHBlbmRp
bmdfaWR4OwogCXBlbmRpbmdfcmluZ19pZHhfdCBpbmRleDsKIAl1bnNpZ25l
ZCBpbnQgbnJfc2xvdHM7CisJc3RydWN0IGdudHRhYl9jb3B5ICpjb3AgPSBx
dWV1ZS0+dHhfY29weV9vcHMgKyAqY29weV9vcHM7CisJc3RydWN0IGdudHRh
Yl9tYXBfZ3JhbnRfcmVmICpnb3AgPSBxdWV1ZS0+dHhfbWFwX29wcyArICpt
YXBfb3BzOworCXN0cnVjdCB4ZW5fbmV0aWZfdHhfcmVxdWVzdCAqdHhwID0g
Zmlyc3Q7CisKKwlucl9zbG90cyA9IHNoaW5mby0+bnJfZnJhZ3MgKyAxOwor
CisJY29weV9jb3VudChza2IpID0gMDsKKworCS8qIENyZWF0ZSBjb3B5IG9w
cyBmb3IgZXhhY3RseSBkYXRhX2xlbiBieXRlcyBpbnRvIHRoZSBza2IgaGVh
ZC4gKi8KKwlfX3NrYl9wdXQoc2tiLCBkYXRhX2xlbik7CisJd2hpbGUgKGRh
dGFfbGVuID4gMCkgeworCQlpbnQgYW1vdW50ID0gZGF0YV9sZW4gPiB0eHAt
PnNpemUgPyB0eHAtPnNpemUgOiBkYXRhX2xlbjsKKworCQljb3AtPnNvdXJj
ZS51LnJlZiA9IHR4cC0+Z3JlZjsKKwkJY29wLT5zb3VyY2UuZG9taWQgPSBx
dWV1ZS0+dmlmLT5kb21pZDsKKwkJY29wLT5zb3VyY2Uub2Zmc2V0ID0gdHhw
LT5vZmZzZXQ7CisKKwkJY29wLT5kZXN0LmRvbWlkID0gRE9NSURfU0VMRjsK
KwkJY29wLT5kZXN0Lm9mZnNldCA9IChvZmZzZXRfaW5fcGFnZShza2ItPmRh
dGEgKworCQkJCQkJICAgc2tiX2hlYWRsZW4oc2tiKSAtCisJCQkJCQkgICBk
YXRhX2xlbikpICYgflhFTl9QQUdFX01BU0s7CisJCWNvcC0+ZGVzdC51Lmdt
Zm4gPSB2aXJ0X3RvX2dmbihza2ItPmRhdGEgKyBza2JfaGVhZGxlbihza2Ip
CisJCQkJICAgICAgICAgICAgICAgLSBkYXRhX2xlbik7CisKKwkJY29wLT5s
ZW4gPSBhbW91bnQ7CisJCWNvcC0+ZmxhZ3MgPSBHTlRDT1BZX3NvdXJjZV9n
cmVmOwogCi0JbnJfc2xvdHMgPSBzaGluZm8tPm5yX2ZyYWdzOworCQlpbmRl
eCA9IHBlbmRpbmdfaW5kZXgocXVldWUtPnBlbmRpbmdfY29ucyk7CisJCXBl
bmRpbmdfaWR4ID0gcXVldWUtPnBlbmRpbmdfcmluZ1tpbmRleF07CisJCWNh
bGxiYWNrX3BhcmFtKHF1ZXVlLCBwZW5kaW5nX2lkeCkuY3R4ID0gTlVMTDsK
KwkJY29weV9wZW5kaW5nX2lkeChza2IsIGNvcHlfY291bnQoc2tiKSkgPSBw
ZW5kaW5nX2lkeDsKKwkJY29weV9jb3VudChza2IpKys7CisKKwkJY29wKys7
CisJCWRhdGFfbGVuIC09IGFtb3VudDsKIAotCS8qIFNraXAgZmlyc3Qgc2ti
IGZyYWdtZW50IGlmIGl0IGlzIG9uIHNhbWUgcGFnZSBhcyBoZWFkZXIgZnJh
Z21lbnQuICovCi0Jc3RhcnQgPSAoZnJhZ19nZXRfcGVuZGluZ19pZHgoJnNo
aW5mby0+ZnJhZ3NbMF0pID09IHBlbmRpbmdfaWR4KTsKKwkJaWYgKGFtb3Vu
dCA9PSB0eHAtPnNpemUpIHsKKwkJCS8qIFRoZSBjb3B5IG9wIGNvdmVyZWQg
dGhlIGZ1bGwgdHhfcmVxdWVzdCAqLworCisJCQltZW1jcHkoJnF1ZXVlLT5w
ZW5kaW5nX3R4X2luZm9bcGVuZGluZ19pZHhdLnJlcSwKKwkJCSAgICAgICB0
eHAsIHNpemVvZigqdHhwKSk7CisJCQlxdWV1ZS0+cGVuZGluZ190eF9pbmZv
W3BlbmRpbmdfaWR4XS5leHRyYV9jb3VudCA9CisJCQkJKHR4cCA9PSBmaXJz
dCkgPyBleHRyYV9jb3VudCA6IDA7CisKKwkJCWlmICh0eHAgPT0gZmlyc3Qp
CisJCQkJdHhwID0gdHhmcmFnczsKKwkJCWVsc2UKKwkJCQl0eHArKzsKKwkJ
CXF1ZXVlLT5wZW5kaW5nX2NvbnMrKzsKKwkJCW5yX3Nsb3RzLS07CisJCX0g
ZWxzZSB7CisJCQkvKiBUaGUgY29weSBvcCBwYXJ0aWFsbHkgY292ZXJlZCB0
aGUgdHhfcmVxdWVzdC4KKwkJCSAqIFRoZSByZW1haW5kZXIgd2lsbCBiZSBt
YXBwZWQuCisJCQkgKi8KKwkJCXR4cC0+b2Zmc2V0ICs9IGFtb3VudDsKKwkJ
CXR4cC0+c2l6ZSAtPSBhbW91bnQ7CisJCX0KKwl9CiAKLQlmb3IgKHNoaW5m
by0+bnJfZnJhZ3MgPSBzdGFydDsgc2hpbmZvLT5ucl9mcmFncyA8IG5yX3Ns
b3RzOwotCSAgICAgc2hpbmZvLT5ucl9mcmFncysrLCB0eHArKywgZ29wKysp
IHsKKwlmb3IgKHNoaW5mby0+bnJfZnJhZ3MgPSAwOyBzaGluZm8tPm5yX2Zy
YWdzIDwgbnJfc2xvdHM7CisJICAgICBzaGluZm8tPm5yX2ZyYWdzKyssIGdv
cCsrKSB7CiAJCWluZGV4ID0gcGVuZGluZ19pbmRleChxdWV1ZS0+cGVuZGlu
Z19jb25zKyspOwogCQlwZW5kaW5nX2lkeCA9IHF1ZXVlLT5wZW5kaW5nX3Jp
bmdbaW5kZXhdOwotCQl4ZW52aWZfdHhfY3JlYXRlX21hcF9vcChxdWV1ZSwg
cGVuZGluZ19pZHgsIHR4cCwgMCwgZ29wKTsKKwkJeGVudmlmX3R4X2NyZWF0
ZV9tYXBfb3AocXVldWUsIHBlbmRpbmdfaWR4LCB0eHAsCisJCQkJICAgICAg
ICB0eHAgPT0gZmlyc3QgPyBleHRyYV9jb3VudCA6IDAsIGdvcCk7CiAJCWZy
YWdfc2V0X3BlbmRpbmdfaWR4KCZmcmFnc1tzaGluZm8tPm5yX2ZyYWdzXSwg
cGVuZGluZ19pZHgpOworCisJCWlmICh0eHAgPT0gZmlyc3QpCisJCQl0eHAg
PSB0eGZyYWdzOworCQllbHNlCisJCQl0eHArKzsKIAl9CiAKIAlpZiAoZnJh
Z19vdmVyZmxvdykgewpAQCAtNDE1LDcgKzQ4MCw4IEBAIHN0YXRpYyBzdHJ1
Y3QgZ250dGFiX21hcF9ncmFudF9yZWYgKnhlbnZpZl9nZXRfcmVxdWVzdHMo
c3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVlCiAJCXNrYl9zaGluZm8oc2tiKS0+
ZnJhZ19saXN0ID0gbnNrYjsKIAl9CiAKLQlyZXR1cm4gZ29wOworCSgqY29w
eV9vcHMpID0gY29wIC0gcXVldWUtPnR4X2NvcHlfb3BzOworCSgqbWFwX29w
cykgPSBnb3AgLSBxdWV1ZS0+dHhfbWFwX29wczsKIH0KIAogc3RhdGljIGlu
bGluZSB2b2lkIHhlbnZpZl9ncmFudF9oYW5kbGVfc2V0KHN0cnVjdCB4ZW52
aWZfcXVldWUgKnF1ZXVlLApAQCAtNDUxLDcgKzUxNyw3IEBAIHN0YXRpYyBp
bnQgeGVudmlmX3R4X2NoZWNrX2dvcChzdHJ1Y3QgeGVudmlmX3F1ZXVlICpx
dWV1ZSwKIAkJCSAgICAgICBzdHJ1Y3QgZ250dGFiX2NvcHkgKipnb3BwX2Nv
cHkpCiB7CiAJc3RydWN0IGdudHRhYl9tYXBfZ3JhbnRfcmVmICpnb3BfbWFw
ID0gKmdvcHBfbWFwOwotCXUxNiBwZW5kaW5nX2lkeCA9IFhFTlZJRl9UWF9D
Qihza2IpLT5wZW5kaW5nX2lkeDsKKwl1MTYgcGVuZGluZ19pZHg7CiAJLyog
VGhpcyBhbHdheXMgcG9pbnRzIHRvIHRoZSBzaGluZm8gb2YgdGhlIHNrYiBi
ZWluZyBjaGVja2VkLCB3aGljaAogCSAqIGNvdWxkIGJlIGVpdGhlciB0aGUg
Zmlyc3Qgb3IgdGhlIG9uZSBvbiB0aGUgZnJhZ19saXN0CiAJICovCkBAIC00
NjIsMjQgKzUyOCwzNyBAQCBzdGF0aWMgaW50IHhlbnZpZl90eF9jaGVja19n
b3Aoc3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUsCiAJc3RydWN0IHNrYl9z
aGFyZWRfaW5mbyAqZmlyc3Rfc2hpbmZvID0gTlVMTDsKIAlpbnQgbnJfZnJh
Z3MgPSBzaGluZm8tPm5yX2ZyYWdzOwogCWNvbnN0IGJvb2wgc2hhcmVkc2xv
dCA9IG5yX2ZyYWdzICYmCi0JCQkJZnJhZ19nZXRfcGVuZGluZ19pZHgoJnNo
aW5mby0+ZnJhZ3NbMF0pID09IHBlbmRpbmdfaWR4OworCQkJCWZyYWdfZ2V0
X3BlbmRpbmdfaWR4KCZzaGluZm8tPmZyYWdzWzBdKSA9PQorCQkJCSAgICBj
b3B5X3BlbmRpbmdfaWR4KHNrYiwgY29weV9jb3VudChza2IpIC0gMSk7CiAJ
aW50IGksIGVycjsKIAotCS8qIENoZWNrIHN0YXR1cyBvZiBoZWFkZXIuICov
Ci0JZXJyID0gKCpnb3BwX2NvcHkpLT5zdGF0dXM7Ci0JaWYgKHVubGlrZWx5
KGVycikpIHsKLQkJaWYgKG5ldF9yYXRlbGltaXQoKSkKLQkJCW5ldGRldl9k
YmcocXVldWUtPnZpZi0+ZGV2LAotCQkJCSAgICJHcmFudCBjb3B5IG9mIGhl
YWRlciBmYWlsZWQhIHN0YXR1czogJWQgcGVuZGluZ19pZHg6ICV1IHJlZjog
JXVcbiIsCi0JCQkJICAgKCpnb3BwX2NvcHkpLT5zdGF0dXMsCi0JCQkJICAg
cGVuZGluZ19pZHgsCi0JCQkJICAgKCpnb3BwX2NvcHkpLT5zb3VyY2UudS5y
ZWYpOwotCQkvKiBUaGUgZmlyc3QgZnJhZyBtaWdodCBzdGlsbCBoYXZlIHRo
aXMgc2xvdCBtYXBwZWQgKi8KLQkJaWYgKCFzaGFyZWRzbG90KQotCQkJeGVu
dmlmX2lkeF9yZWxlYXNlKHF1ZXVlLCBwZW5kaW5nX2lkeCwKLQkJCQkJICAg
WEVOX05FVElGX1JTUF9FUlJPUik7CisJZm9yIChpID0gMDsgaSA8IGNvcHlf
Y291bnQoc2tiKTsgaSsrKSB7CisJCWludCBuZXdlcnI7CisKKwkJLyogQ2hl
Y2sgc3RhdHVzIG9mIGhlYWRlci4gKi8KKwkJcGVuZGluZ19pZHggPSBjb3B5
X3BlbmRpbmdfaWR4KHNrYiwgaSk7CisKKwkJbmV3ZXJyID0gKCpnb3BwX2Nv
cHkpLT5zdGF0dXM7CisJCWlmIChsaWtlbHkoIW5ld2VycikpIHsKKwkJCS8q
IFRoZSBmaXJzdCBmcmFnIG1pZ2h0IHN0aWxsIGhhdmUgdGhpcyBzbG90IG1h
cHBlZCAqLworCQkJaWYgKGkgPCBjb3B5X2NvdW50KHNrYikgLSAxIHx8ICFz
aGFyZWRzbG90KQorCQkJCXhlbnZpZl9pZHhfcmVsZWFzZShxdWV1ZSwgcGVu
ZGluZ19pZHgsCisJCQkJCQkgICBYRU5fTkVUSUZfUlNQX09LQVkpOworCQl9
IGVsc2UgeworCQkJZXJyID0gbmV3ZXJyOworCQkJaWYgKG5ldF9yYXRlbGlt
aXQoKSkKKwkJCQluZXRkZXZfZGJnKHF1ZXVlLT52aWYtPmRldiwKKwkJCQkJ
ICAgIkdyYW50IGNvcHkgb2YgaGVhZGVyIGZhaWxlZCEgc3RhdHVzOiAlZCBw
ZW5kaW5nX2lkeDogJXUgcmVmOiAldVxuIiwKKwkJCQkJICAgKCpnb3BwX2Nv
cHkpLT5zdGF0dXMsCisJCQkJCSAgIHBlbmRpbmdfaWR4LAorCQkJCQkgICAo
KmdvcHBfY29weSktPnNvdXJjZS51LnJlZik7CisJCQkvKiBUaGUgZmlyc3Qg
ZnJhZyBtaWdodCBzdGlsbCBoYXZlIHRoaXMgc2xvdCBtYXBwZWQgKi8KKwkJ
CWlmIChpIDwgY29weV9jb3VudChza2IpIC0gMSB8fCAhc2hhcmVkc2xvdCkK
KwkJCQl4ZW52aWZfaWR4X3JlbGVhc2UocXVldWUsIHBlbmRpbmdfaWR4LAor
CQkJCQkJICAgWEVOX05FVElGX1JTUF9FUlJPUik7CisJCX0KKwkJKCpnb3Bw
X2NvcHkpKys7CiAJfQotCSgqZ29wcF9jb3B5KSsrOwogCiBjaGVja19mcmFn
czoKIAlmb3IgKGkgPSAwOyBpIDwgbnJfZnJhZ3M7IGkrKywgZ29wX21hcCsr
KSB7CkBAIC01MjYsMTQgKzYwNSw2IEBAIHN0YXRpYyBpbnQgeGVudmlmX3R4
X2NoZWNrX2dvcChzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwKIAkJaWYg
KGVycikKIAkJCWNvbnRpbnVlOwogCi0JCS8qIEZpcnN0IGVycm9yOiBpZiB0
aGUgaGVhZGVyIGhhdmVuJ3Qgc2hhcmVkIGEgc2xvdCB3aXRoIHRoZQotCQkg
KiBmaXJzdCBmcmFnLCByZWxlYXNlIGl0IGFzIHdlbGwuCi0JCSAqLwotCQlp
ZiAoIXNoYXJlZHNsb3QpCi0JCQl4ZW52aWZfaWR4X3JlbGVhc2UocXVldWUs
Ci0JCQkJCSAgIFhFTlZJRl9UWF9DQihza2IpLT5wZW5kaW5nX2lkeCwKLQkJ
CQkJICAgWEVOX05FVElGX1JTUF9PS0FZKTsKLQogCQkvKiBJbnZhbGlkYXRl
IHByZWNlZGluZyBmcmFnbWVudHMgb2YgdGhpcyBza2IuICovCiAJCWZvciAo
aiA9IDA7IGogPCBpOyBqKyspIHsKIAkJCXBlbmRpbmdfaWR4ID0gZnJhZ19n
ZXRfcGVuZGluZ19pZHgoJnNoaW5mby0+ZnJhZ3Nbal0pOwpAQCAtODAzLDcg
Kzg3NCw2IEBAIHN0YXRpYyB2b2lkIHhlbnZpZl90eF9idWlsZF9nb3BzKHN0
cnVjdCB4ZW52aWZfcXVldWUgKnF1ZXVlLAogCQkJCSAgICAgdW5zaWduZWQg
KmNvcHlfb3BzLAogCQkJCSAgICAgdW5zaWduZWQgKm1hcF9vcHMpCiB7Ci0J
c3RydWN0IGdudHRhYl9tYXBfZ3JhbnRfcmVmICpnb3AgPSBxdWV1ZS0+dHhf
bWFwX29wczsKIAlzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCAqbnNrYjsKIAlpbnQg
cmV0OwogCXVuc2lnbmVkIGludCBmcmFnX292ZXJmbG93OwpAQCAtODg1LDgg
Kzk1NSwxMiBAQCBzdGF0aWMgdm9pZCB4ZW52aWZfdHhfYnVpbGRfZ29wcyhz
dHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwKIAkJCWNvbnRpbnVlOwogCQl9
CiAKKwkJZGF0YV9sZW4gPSAodHhyZXEuc2l6ZSA+IFhFTl9ORVRCQUNLX1RY
X0NPUFlfTEVOKSA/CisJCQlYRU5fTkVUQkFDS19UWF9DT1BZX0xFTiA6IHR4
cmVxLnNpemU7CisKIAkJcmV0ID0geGVudmlmX2NvdW50X3JlcXVlc3RzKHF1
ZXVlLCAmdHhyZXEsIGV4dHJhX2NvdW50LAogCQkJCQkgICAgdHhmcmFncywg
d29ya190b19kbyk7CisKIAkJaWYgKHVubGlrZWx5KHJldCA8IDApKQogCQkJ
YnJlYWs7CiAKQEAgLTkxMiw5ICs5ODYsOCBAQCBzdGF0aWMgdm9pZCB4ZW52
aWZfdHhfYnVpbGRfZ29wcyhzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwK
IAkJaW5kZXggPSBwZW5kaW5nX2luZGV4KHF1ZXVlLT5wZW5kaW5nX2NvbnMp
OwogCQlwZW5kaW5nX2lkeCA9IHF1ZXVlLT5wZW5kaW5nX3JpbmdbaW5kZXhd
OwogCi0JCWRhdGFfbGVuID0gKHR4cmVxLnNpemUgPiBYRU5fTkVUQkFDS19U
WF9DT1BZX0xFTiAmJgotCQkJICAgIHJldCA8IFhFTl9ORVRCS19MRUdBQ1lf
U0xPVFNfTUFYKSA/Ci0JCQlYRU5fTkVUQkFDS19UWF9DT1BZX0xFTiA6IHR4
cmVxLnNpemU7CisJCWlmIChyZXQgPj0gWEVOX05FVEJLX0xFR0FDWV9TTE9U
U19NQVggLSAxICYmIGRhdGFfbGVuIDwgdHhyZXEuc2l6ZSkKKwkJCWRhdGFf
bGVuID0gdHhyZXEuc2l6ZTsKIAogCQlza2IgPSB4ZW52aWZfYWxsb2Nfc2ti
KGRhdGFfbGVuKTsKIAkJaWYgKHVubGlrZWx5KHNrYiA9PSBOVUxMKSkgewpA
QCAtOTI1LDggKzk5OCw2IEBAIHN0YXRpYyB2b2lkIHhlbnZpZl90eF9idWls
ZF9nb3BzKHN0cnVjdCB4ZW52aWZfcXVldWUgKnF1ZXVlLAogCQl9CiAKIAkJ
c2tiX3NoaW5mbyhza2IpLT5ucl9mcmFncyA9IHJldDsKLQkJaWYgKGRhdGFf
bGVuIDwgdHhyZXEuc2l6ZSkKLQkJCXNrYl9zaGluZm8oc2tiKS0+bnJfZnJh
Z3MrKzsKIAkJLyogQXQgdGhpcyBwb2ludCBzaGluZm8tPm5yX2ZyYWdzIGlz
IGluIGZhY3QgdGhlIG51bWJlciBvZgogCQkgKiBzbG90cywgd2hpY2ggY2Fu
IGJlIGFzIGxhcmdlIGFzIFhFTl9ORVRCS19MRUdBQ1lfU0xPVFNfTUFYLgog
CQkgKi8KQEAgLTk4OCw1NCArMTA1OSwxOSBAQCBzdGF0aWMgdm9pZCB4ZW52
aWZfdHhfYnVpbGRfZ29wcyhzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwK
IAkJCQkJICAgICB0eXBlKTsKIAkJfQogCi0JCVhFTlZJRl9UWF9DQihza2Ip
LT5wZW5kaW5nX2lkeCA9IHBlbmRpbmdfaWR4OwotCi0JCV9fc2tiX3B1dChz
a2IsIGRhdGFfbGVuKTsKLQkJcXVldWUtPnR4X2NvcHlfb3BzWypjb3B5X29w
c10uc291cmNlLnUucmVmID0gdHhyZXEuZ3JlZjsKLQkJcXVldWUtPnR4X2Nv
cHlfb3BzWypjb3B5X29wc10uc291cmNlLmRvbWlkID0gcXVldWUtPnZpZi0+
ZG9taWQ7Ci0JCXF1ZXVlLT50eF9jb3B5X29wc1sqY29weV9vcHNdLnNvdXJj
ZS5vZmZzZXQgPSB0eHJlcS5vZmZzZXQ7Ci0KLQkJcXVldWUtPnR4X2NvcHlf
b3BzWypjb3B5X29wc10uZGVzdC51LmdtZm4gPQotCQkJdmlydF90b19nZm4o
c2tiLT5kYXRhKTsKLQkJcXVldWUtPnR4X2NvcHlfb3BzWypjb3B5X29wc10u
ZGVzdC5kb21pZCA9IERPTUlEX1NFTEY7Ci0JCXF1ZXVlLT50eF9jb3B5X29w
c1sqY29weV9vcHNdLmRlc3Qub2Zmc2V0ID0KLQkJCW9mZnNldF9pbl9wYWdl
KHNrYi0+ZGF0YSkgJiB+WEVOX1BBR0VfTUFTSzsKLQotCQlxdWV1ZS0+dHhf
Y29weV9vcHNbKmNvcHlfb3BzXS5sZW4gPSBkYXRhX2xlbjsKLQkJcXVldWUt
PnR4X2NvcHlfb3BzWypjb3B5X29wc10uZmxhZ3MgPSBHTlRDT1BZX3NvdXJj
ZV9ncmVmOwotCi0JCSgqY29weV9vcHMpKys7Ci0KLQkJaWYgKGRhdGFfbGVu
IDwgdHhyZXEuc2l6ZSkgewotCQkJZnJhZ19zZXRfcGVuZGluZ19pZHgoJnNr
Yl9zaGluZm8oc2tiKS0+ZnJhZ3NbMF0sCi0JCQkJCSAgICAgcGVuZGluZ19p
ZHgpOwotCQkJeGVudmlmX3R4X2NyZWF0ZV9tYXBfb3AocXVldWUsIHBlbmRp
bmdfaWR4LCAmdHhyZXEsCi0JCQkJCQlleHRyYV9jb3VudCwgZ29wKTsKLQkJ
CWdvcCsrOwotCQl9IGVsc2UgewotCQkJZnJhZ19zZXRfcGVuZGluZ19pZHgo
JnNrYl9zaGluZm8oc2tiKS0+ZnJhZ3NbMF0sCi0JCQkJCSAgICAgSU5WQUxJ
RF9QRU5ESU5HX0lEWCk7Ci0JCQltZW1jcHkoJnF1ZXVlLT5wZW5kaW5nX3R4
X2luZm9bcGVuZGluZ19pZHhdLnJlcSwKLQkJCSAgICAgICAmdHhyZXEsIHNp
emVvZih0eHJlcSkpOwotCQkJcXVldWUtPnBlbmRpbmdfdHhfaW5mb1twZW5k
aW5nX2lkeF0uZXh0cmFfY291bnQgPQotCQkJCWV4dHJhX2NvdW50OwotCQl9
Ci0KLQkJcXVldWUtPnBlbmRpbmdfY29ucysrOwotCi0JCWdvcCA9IHhlbnZp
Zl9nZXRfcmVxdWVzdHMocXVldWUsIHNrYiwgdHhmcmFncywgZ29wLAotCQkJ
CSAgICAgICAgICBmcmFnX292ZXJmbG93LCBuc2tiKTsKKwkJeGVudmlmX2dl
dF9yZXF1ZXN0cyhxdWV1ZSwgc2tiLCAmdHhyZXEsIHR4ZnJhZ3MsIGNvcHlf
b3BzLAorCQkJCSAgICBtYXBfb3BzLCBmcmFnX292ZXJmbG93LCBuc2tiLCBl
eHRyYV9jb3VudCwKKwkJCQkgICAgZGF0YV9sZW4pOwogCiAJCV9fc2tiX3F1
ZXVlX3RhaWwoJnF1ZXVlLT50eF9xdWV1ZSwgc2tiKTsKIAogCQlxdWV1ZS0+
dHgucmVxX2NvbnMgPSBpZHg7CiAKLQkJaWYgKCgoZ29wLXF1ZXVlLT50eF9t
YXBfb3BzKSA+PSBBUlJBWV9TSVpFKHF1ZXVlLT50eF9tYXBfb3BzKSkgfHwK
KwkJaWYgKCgqbWFwX29wcyA+PSBBUlJBWV9TSVpFKHF1ZXVlLT50eF9tYXBf
b3BzKSkgfHwKIAkJICAgICgqY29weV9vcHMgPj0gQVJSQVlfU0laRShxdWV1
ZS0+dHhfY29weV9vcHMpKSkKIAkJCWJyZWFrOwogCX0KIAotCSgqbWFwX29w
cykgPSBnb3AgLSBxdWV1ZS0+dHhfbWFwX29wczsKIAlyZXR1cm47CiB9CiAK
QEAgLTExMTQsOSArMTE1MCw4IEBAIHN0YXRpYyBpbnQgeGVudmlmX3R4X3N1
Ym1pdChzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSkKIAl3aGlsZSAoKHNr
YiA9IF9fc2tiX2RlcXVldWUoJnF1ZXVlLT50eF9xdWV1ZSkpICE9IE5VTEwp
IHsKIAkJc3RydWN0IHhlbl9uZXRpZl90eF9yZXF1ZXN0ICp0eHA7CiAJCXUx
NiBwZW5kaW5nX2lkeDsKLQkJdW5zaWduZWQgZGF0YV9sZW47CiAKLQkJcGVu
ZGluZ19pZHggPSBYRU5WSUZfVFhfQ0Ioc2tiKS0+cGVuZGluZ19pZHg7CisJ
CXBlbmRpbmdfaWR4ID0gY29weV9wZW5kaW5nX2lkeChza2IsIDApOwogCQl0
eHAgPSAmcXVldWUtPnBlbmRpbmdfdHhfaW5mb1twZW5kaW5nX2lkeF0ucmVx
OwogCiAJCS8qIENoZWNrIHRoZSByZW1hcCBlcnJvciBjb2RlLiAqLwpAQCAt
MTEzNSwxOCArMTE3MCw2IEBAIHN0YXRpYyBpbnQgeGVudmlmX3R4X3N1Ym1p
dChzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSkKIAkJCWNvbnRpbnVlOwog
CQl9CiAKLQkJZGF0YV9sZW4gPSBza2ItPmxlbjsKLQkJY2FsbGJhY2tfcGFy
YW0ocXVldWUsIHBlbmRpbmdfaWR4KS5jdHggPSBOVUxMOwotCQlpZiAoZGF0
YV9sZW4gPCB0eHAtPnNpemUpIHsKLQkJCS8qIEFwcGVuZCB0aGUgcGFja2V0
IHBheWxvYWQgYXMgYSBmcmFnbWVudC4gKi8KLQkJCXR4cC0+b2Zmc2V0ICs9
IGRhdGFfbGVuOwotCQkJdHhwLT5zaXplIC09IGRhdGFfbGVuOwotCQl9IGVs
c2UgewotCQkJLyogU2NoZWR1bGUgYSByZXNwb25zZSBpbW1lZGlhdGVseS4g
Ki8KLQkJCXhlbnZpZl9pZHhfcmVsZWFzZShxdWV1ZSwgcGVuZGluZ19pZHgs
Ci0JCQkJCSAgIFhFTl9ORVRJRl9SU1BfT0tBWSk7Ci0JCX0KLQogCQlpZiAo
dHhwLT5mbGFncyAmIFhFTl9ORVRUWEZfY3N1bV9ibGFuaykKIAkJCXNrYi0+
aXBfc3VtbWVkID0gQ0hFQ0tTVU1fUEFSVElBTDsKIAkJZWxzZSBpZiAodHhw
LT5mbGFncyAmIFhFTl9ORVRUWEZfZGF0YV92YWxpZGF0ZWQpCkBAIC0xMzMy
LDcgKzEzNTUsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgeGVudmlmX3R4X2Rl
YWxsb2NfYWN0aW9uKHN0cnVjdCB4ZW52aWZfcXVldWUgKnF1ZXVlKQogLyog
Q2FsbGVkIGFmdGVyIG5ldGZyb250IGhhcyB0cmFuc21pdHRlZCAqLwogaW50
IHhlbnZpZl90eF9hY3Rpb24oc3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUs
IGludCBidWRnZXQpCiB7Ci0JdW5zaWduZWQgbnJfbW9wcywgbnJfY29wcyA9
IDA7CisJdW5zaWduZWQgbnJfbW9wcyA9IDAsIG5yX2NvcHMgPSAwOwogCWlu
dCB3b3JrX2RvbmUsIHJldDsKIAogCWlmICh1bmxpa2VseSghdHhfd29ya190
b2RvKHF1ZXVlKSkpCi0tIAoyLjM1LjMKCg==

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 15:17:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 15:17:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455053.712716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Zhi-0002L2-Om; Tue, 06 Dec 2022 15:17:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455053.712716; Tue, 06 Dec 2022 15:17:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Zhi-0002Jl-IG; Tue, 06 Dec 2022 15:17:54 +0000
Received: by outflank-mailman (input) for mailman id 455053;
 Tue, 06 Dec 2022 15:17:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Anb0=4E=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1p2Zhh-0000rk-UG
 for xen-devel@lists.xen.org; Tue, 06 Dec 2022 15:17:54 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2523dc8d-7579-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 16:17:51 +0100 (CET)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1p2ZhW-0002F4-HL; Tue, 06 Dec 2022 15:17:42 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1p2ZhW-0005Xe-FG; Tue, 06 Dec 2022 15:17:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2523dc8d-7579-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Date:Message-Id:Subject:CC:From:To:MIME-Version:
	Content-Transfer-Encoding:Content-Type;
	bh=hd8QhOCTIJExTLVLEAatGfJ4X1SBeDr2UlJZh/kN5Ok=; b=Lfb2+tYbV4KFM3+xBbC+vwqW9Q
	Gr3R2JpEEK2aZJjdbKryaFrgHTxwh+Btg2B91ih/OvxIo/ut5BfbAOM0nE+jvSkI/dxHVTOnLVTov
	PeCv3hLET6vE2lk5nu61mhDjEPDSKWfN8UGYLLIYx0dk8+Y/tCB1qsoLM3VULeXzcKhw=;
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 424 v1 (CVE-2022-42328,CVE-2022-42329) -
 Guests can trigger deadlock in Linux netback driver
Message-Id: <E1p2ZhW-0005Xe-FG@xenbits.xenproject.org>
Date: Tue, 06 Dec 2022 15:17:42 +0000

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

     Xen Security Advisory CVE-2022-42328,CVE-2022-42329 / XSA-424

          Guests can trigger deadlock in Linux netback driver

ISSUE DESCRIPTION
=================

The patch for XSA-392 introduced another issue which might result in
a deadlock when trying to free the SKB of a packet dropped due to
the XSA-392 handling (CVE-2022-42328).

Additionally when dropping packages for other reasons the same
deadlock could occur in case of netpoll being active for the interface
the xen-netback driver is connected to (CVE-2022-42329).

IMPACT
======

A malicious guest could cause Denial of Service (DoS) of the host via
the paravirtualized network interface.

VULNERABLE SYSTEMS
==================

All systems using the Linux kernel based network backend xen-netback
are vulnerable.

MITIGATION
==========

Using another PV network backend (e.g. the qemu based "qnic" backend)
will mitigate the problem.

Using a dedicated network driver domain per guest will mitigate the
problem.

NOTE REGARDING LACK OF EMBARGO
==============================

This issue was discussed in public already.

RESOLUTION
==========

Applying the attached patch resolves this issue.

xsa424-linux.patch     Linux 6.0, 6.1-rc

$ sha256sum xsa424*
89db7cad9694f498c4ac450356932fb69fb514162e07aea0343776effa821fc8  xsa424-linux.patch
$

-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmOPXKYMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZ30IH/1GZwPXXAqMjN3d1n7BotiDLfmDiNp8e92wvQvmh
cXgsBtvTZ+oDzI7J+Xr/42c4IN41s34fWl0hmNbdrw4lwrOSoj0rnCP73Bn22oUT
jbv3bmFOHytCs5crvVrA4S7dCNcdpoEmfOoSaz1cBPhMecotlgTQo7M2Cagv3O9a
a9fR+KGMk9EBDGdo2wBJyEcD9ApASPEV+LJgLoTOuYFIStCO/+TTBfJx5H7T/vgK
Dqxsq1nULCSBc5Z5wrmtF49G3asBrAbPTkRhpyp9giXU+UV0QNJclnc+IJPdLIOe
jISAvpHQ3Fkb7Q25jaBg+c0bf9KzT3ekBOaf1RofgA84Jg0=
=4J/5
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa424-linux.patch"
Content-Disposition: attachment; filename="xsa424-linux.patch"
Content-Transfer-Encoding: base64

RnJvbSBjZmRmOGZkODE4NDU3MzRiNjE1MmI0NjE3NzQ2YzExMjdlYzUyMjI4
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWVyZ2VuIEdyb3Nz
IDxqZ3Jvc3NAc3VzZS5jb20+CkRhdGU6IFR1ZSwgNiBEZWMgMjAyMiAwODo1
NDoyNCArMDEwMApTdWJqZWN0OiBbUEFUQ0hdIHhlbi9uZXRiYWNrOiBkb24n
dCBjYWxsIGtmcmVlX3NrYigpIHdpdGggaW50ZXJydXB0cyBkaXNhYmxlZAoK
SXQgaXMgbm90IGFsbG93ZWQgdG8gY2FsbCBrZnJlZV9za2IoKSBmcm9tIGhh
cmR3YXJlIGludGVycnVwdApjb250ZXh0IG9yIHdpdGggaW50ZXJydXB0cyBi
ZWluZyBkaXNhYmxlZC4gU28gcmVtb3ZlIGtmcmVlX3NrYigpCmZyb20gdGhl
IHNwaW5fbG9ja19pcnFzYXZlKCkgc2VjdGlvbiBhbmQgdXNlIHRoZSBhbHJl
YWR5IGV4aXN0aW5nCiJkcm9wIiBsYWJlbCBpbiB4ZW52aWZfc3RhcnRfeG1p
dCgpIGZvciBkcm9wcGluZyB0aGUgU0tCLiBBdCB0aGUKc2FtZSB0aW1lIHJl
cGxhY2UgdGhlIGRldl9rZnJlZV9za2IoKSBjYWxsIHRoZXJlIHdpdGggYSBj
YWxsIG9mCmRldl9rZnJlZV9za2JfYW55KCksIGFzIHhlbnZpZl9zdGFydF94
bWl0KCkgY2FuIGJlIGNhbGxlZCB3aXRoCmRpc2FibGVkIGludGVycnVwdHMu
CgpUaGlzIGlzIFhTQS00MjQgLyBDVkUtMjAyMi00MjMyOCAvIENWRS0yMDIy
LTQyMzI5LgoKRml4ZXM6IGJlODE5OTJmOTA4NiAoInhlbi9uZXRiYWNrOiBk
b24ndCBxdWV1ZSB1bmxpbWl0ZWQgbnVtYmVyIG9mIHBhY2thZ2VzIikKUmVw
b3J0ZWQtYnk6IFlhbmcgWWluZ2xpYW5nIDx5YW5neWluZ2xpYW5nQGh1YXdl
aS5jb20+ClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0Bz
dXNlLmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz
dXNlLmNvbT4KLS0tCiBkcml2ZXJzL25ldC94ZW4tbmV0YmFjay9jb21tb24u
aCAgICB8IDIgKy0KIGRyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL2ludGVyZmFj
ZS5jIHwgNiArKysrLS0KIGRyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL3J4LmMg
ICAgICAgIHwgOCArKysrKy0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNl
cnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl
cnMvbmV0L3hlbi1uZXRiYWNrL2NvbW1vbi5oIGIvZHJpdmVycy9uZXQveGVu
LW5ldGJhY2svY29tbW9uLmgKaW5kZXggMTU0NWNiZWU3N2E0Li4zZGJmYzhh
NjkyNGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL2Nv
bW1vbi5oCisrKyBiL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL2NvbW1vbi5o
CkBAIC0zODYsNyArMzg2LDcgQEAgaW50IHhlbnZpZl9kZWFsbG9jX2t0aHJl
YWQodm9pZCAqZGF0YSk7CiBpcnFyZXR1cm5fdCB4ZW52aWZfY3RybF9pcnFf
Zm4oaW50IGlycSwgdm9pZCAqZGF0YSk7CiAKIGJvb2wgeGVudmlmX2hhdmVf
cnhfd29yayhzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwgYm9vbCB0ZXN0
X2t0aHJlYWQpOwotdm9pZCB4ZW52aWZfcnhfcXVldWVfdGFpbChzdHJ1Y3Qg
eGVudmlmX3F1ZXVlICpxdWV1ZSwgc3RydWN0IHNrX2J1ZmYgKnNrYik7Citi
b29sIHhlbnZpZl9yeF9xdWV1ZV90YWlsKHN0cnVjdCB4ZW52aWZfcXVldWUg
KnF1ZXVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKTsKIAogdm9pZCB4ZW52aWZf
Y2Fycmllcl9vbihzdHJ1Y3QgeGVudmlmICp2aWYpOwogCmRpZmYgLS1naXQg
YS9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9pbnRlcmZhY2UuYyBiL2RyaXZl
cnMvbmV0L3hlbi1uZXRiYWNrL2ludGVyZmFjZS5jCmluZGV4IDY1MGZhMTgw
MjIwZi4uZjNmMmMwNzQyM2E2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC94
ZW4tbmV0YmFjay9pbnRlcmZhY2UuYworKysgYi9kcml2ZXJzL25ldC94ZW4t
bmV0YmFjay9pbnRlcmZhY2UuYwpAQCAtMjU0LDE0ICsyNTQsMTYgQEAgeGVu
dmlmX3N0YXJ0X3htaXQoc3RydWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5l
dF9kZXZpY2UgKmRldikKIAlpZiAodmlmLT5oYXNoLmFsZyA9PSBYRU5fTkVU
SUZfQ1RSTF9IQVNIX0FMR09SSVRITV9OT05FKQogCQlza2JfY2xlYXJfaGFz
aChza2IpOwogCi0JeGVudmlmX3J4X3F1ZXVlX3RhaWwocXVldWUsIHNrYik7
CisJaWYgKCF4ZW52aWZfcnhfcXVldWVfdGFpbChxdWV1ZSwgc2tiKSkKKwkJ
Z290byBkcm9wOworCiAJeGVudmlmX2tpY2tfdGhyZWFkKHF1ZXVlKTsKIAog
CXJldHVybiBORVRERVZfVFhfT0s7CiAKICBkcm9wOgogCXZpZi0+ZGV2LT5z
dGF0cy50eF9kcm9wcGVkKys7Ci0JZGV2X2tmcmVlX3NrYihza2IpOworCWRl
dl9rZnJlZV9za2JfYW55KHNrYik7CiAJcmV0dXJuIE5FVERFVl9UWF9PSzsK
IH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQveGVuLW5ldGJhY2svcngu
YyBiL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL3J4LmMKaW5kZXggOTMyNzYy
MTc3MTEwLi4wYmE3NTRlYmM1YmEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0
L3hlbi1uZXRiYWNrL3J4LmMKKysrIGIvZHJpdmVycy9uZXQveGVuLW5ldGJh
Y2svcnguYwpAQCAtODIsOSArODIsMTAgQEAgc3RhdGljIGJvb2wgeGVudmlm
X3J4X3Jpbmdfc2xvdHNfYXZhaWxhYmxlKHN0cnVjdCB4ZW52aWZfcXVldWUg
KnF1ZXVlKQogCXJldHVybiBmYWxzZTsKIH0KIAotdm9pZCB4ZW52aWZfcnhf
cXVldWVfdGFpbChzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwgc3RydWN0
IHNrX2J1ZmYgKnNrYikKK2Jvb2wgeGVudmlmX3J4X3F1ZXVlX3RhaWwoc3Ry
dWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUsIHN0cnVjdCBza19idWZmICpza2Ip
CiB7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKKwlib29sIHJldCA9IHRydWU7
CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmcXVldWUtPnJ4X3F1ZXVlLmxvY2ss
IGZsYWdzKTsKIApAQCAtOTIsOCArOTMsNyBAQCB2b2lkIHhlbnZpZl9yeF9x
dWV1ZV90YWlsKHN0cnVjdCB4ZW52aWZfcXVldWUgKnF1ZXVlLCBzdHJ1Y3Qg
c2tfYnVmZiAqc2tiKQogCQlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gcXVl
dWUtPnZpZi0+ZGV2OwogCiAJCW5ldGlmX3R4X3N0b3BfcXVldWUobmV0ZGV2
X2dldF90eF9xdWV1ZShkZXYsIHF1ZXVlLT5pZCkpOwotCQlrZnJlZV9za2Io
c2tiKTsKLQkJcXVldWUtPnZpZi0+ZGV2LT5zdGF0cy5yeF9kcm9wcGVkKys7
CisJCXJldCA9IGZhbHNlOwogCX0gZWxzZSB7CiAJCWlmIChza2JfcXVldWVf
ZW1wdHkoJnF1ZXVlLT5yeF9xdWV1ZSkpCiAJCQl4ZW52aWZfdXBkYXRlX25l
ZWRlZF9zbG90cyhxdWV1ZSwgc2tiKTsKQEAgLTEwNCw2ICsxMDQsOCBAQCB2
b2lkIHhlbnZpZl9yeF9xdWV1ZV90YWlsKHN0cnVjdCB4ZW52aWZfcXVldWUg
KnF1ZXVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCX0KIAogCXNwaW5fdW5s
b2NrX2lycXJlc3RvcmUoJnF1ZXVlLT5yeF9xdWV1ZS5sb2NrLCBmbGFncyk7
CisKKwlyZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgc3RydWN0IHNrX2J1ZmYg
KnhlbnZpZl9yeF9kZXF1ZXVlKHN0cnVjdCB4ZW52aWZfcXVldWUgKnF1ZXVl
KQotLSAKMi4zNS4zCgo=

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 15:21:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 15:21:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455182.712738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Zl7-000714-4t; Tue, 06 Dec 2022 15:21:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455182.712738; Tue, 06 Dec 2022 15:21:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2Zl7-00070x-22; Tue, 06 Dec 2022 15:21:25 +0000
Received: by outflank-mailman (input) for mailman id 455182;
 Tue, 06 Dec 2022 15:21:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=A06j=4E=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p2Zl6-0006Tv-FK
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 15:21:24 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4d61173-7579-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 16:21:23 +0100 (CET)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 43FCE21C4D;
 Tue,  6 Dec 2022 15:21:23 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 1565F13326;
 Tue,  6 Dec 2022 15:21:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id g/n8A/Ndj2P8QQAAGKfGzw
 (envelope-from <jgross@suse.com>); Tue, 06 Dec 2022 15:21:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4d61173-7579-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670340083; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=kPuCccgoTLlFNCJvR/fqktliZ98ALKfAAhpa4hrTvpI=;
	b=W10qM1Mqu2DObaVhOl6OVXFJfm86NMEOvU4mPtU8/ZaIShyoImwOh9J8JIV2WTR7eGz5Qg
	bIRVp7ODMpcQyLFLjbmPnFQ8PhMmpPGqov/tiNaNKo8zMmhb9WuM4DSfSnNbiqESbQUMcJ
	wYighZ8Mx91Y2hVB8jWiua0MAwOFrR8=
From: Juergen Gross <jgross@suse.com>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	sstabellini@kernel.org
Subject: [GIT PULL] xen: branch for v6.1-rc9
Date: Tue,  6 Dec 2022 16:21:22 +0100
Message-Id: <20221206152122.17024-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-xsa-6.1-rc9-tag

xen: 2 0-day security fixes for xen-netback driver

It contains 2 zero.day fixes for the xen-netback driver (XSA-423 and
XSA-424).


Thanks.

Juergen

 drivers/net/xen-netback/common.h    |   2 +-
 drivers/net/xen-netback/interface.c |   6 +-
 drivers/net/xen-netback/netback.c   | 223 ++++++++++++++++++++----------------
 drivers/net/xen-netback/rx.c        |   8 +-
 4 files changed, 133 insertions(+), 106 deletions(-)

Juergen Gross (1):
      xen/netback: don't call kfree_skb() with interrupts disabled

Ross Lagerwall (1):
      xen/netback: Ensure protocol headers don't fall in the non-linear area


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 15:53:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 15:53:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455303.712749 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2aGJ-0003c4-AF; Tue, 06 Dec 2022 15:53:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455303.712749; Tue, 06 Dec 2022 15:53:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2aGJ-0003bx-7Y; Tue, 06 Dec 2022 15:53:39 +0000
Received: by outflank-mailman (input) for mailman id 455303;
 Tue, 06 Dec 2022 15:53:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=d2tL=4E=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1p2aGH-0003br-G3
 for xen-devel@lists.xen.org; Tue, 06 Dec 2022 15:53:37 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 24ccd528-757e-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 16:53:36 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 h8-20020a1c2108000000b003d1efd60b65so1123103wmh.0
 for <xen-devel@lists.xen.org>; Tue, 06 Dec 2022 07:53:36 -0800 (PST)
Received: from [10.17.77.118] (ll-22.209.223.85.sovam.net.ua. [85.223.209.22])
 by smtp.gmail.com with ESMTPSA id
 n22-20020a7bc5d6000000b003c6c5a5a651sm21420231wmk.28.2022.12.06.07.53.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 06 Dec 2022 07:53:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24ccd528-757e-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=vzXsgDvi7hObpjeRqijy9CsI9/OavsVlrCeP/8GtI74=;
        b=DbM/GO460jfqXPVMMlqYtic6iLYzMzau1aKBvjUcA/7S+TWCTdU/8vh+Pu5KH9n7H1
         jWjAy9MQr6eBYuEs9izIUoA3ibOXwAY5OvJjF62oY71jPTsWXTA92YChkFoP/To/pdnl
         cVVluLRsaQzCjQVGvmT3Gdgipi8SIokx9aoDlLGdBoCoEEDppRkyoKhAGRNW7AxmqA44
         TWmN6WjR/vmpQGvtAMe32ra9Zvh6AsXEOytoVwdSC+qU2E0B8wJvDcgwMxEcIMi6CCXl
         3w4GkDAEGXBVYubtK8QRaQo2jy/jcshaNgMTY6nGT41WAOxTFMzQ37neu6Kinxq4eqhY
         9fiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=vzXsgDvi7hObpjeRqijy9CsI9/OavsVlrCeP/8GtI74=;
        b=ij9G6b4YKBHtKux/WDlU2+fxByBRf8+p98//m0sd2d8wpMKQdNLo8hZY0h8XdUdQJb
         FHuQ+jyC9IJZaYGpEEJr1IsFh/zq+8wTxTlUSocmCWCK6LsGcNo1ysnxpkq36J638rMZ
         nRZngjM8kNudtOcO1EKayhryQJ0Ub3LUcLcXP9FFkAw4eEkuaYyPzhiHpO03kNeX40Vy
         ST3CpbW4AGNkodVH9++WZ6uQY4Ii0NnVB0cbTh5Acaf8HXNmv41usuazGjShn3w3POMr
         +hr1DafBT0zcXphoTZ1gNBfYnx+UKMlrRe9X7UZ9vta0I7waBq7A7yWFI5v0cZGT3Unz
         c0oQ==
X-Gm-Message-State: ANoB5pl3HKwa6RwIOmbhJ5P1J48cz4l06njsSLUB2LdS1EPud3szIYR3
	AE0xtwI6O7w2vlwiEGtmmNU=
X-Google-Smtp-Source: AA0mqf4KOZIKU3GxdPlk+i/7ThkRqVrWQbWPMsacJVHGFSK75tHxP4wTXP1IrySkvwHAtTUizHOwKg==
X-Received: by 2002:a05:600c:3501:b0:3c7:4f0:77b3 with SMTP id h1-20020a05600c350100b003c704f077b3mr49414752wmq.93.1670342015663;
        Tue, 06 Dec 2022 07:53:35 -0800 (PST)
Message-ID: <71a281c6-78df-a107-15e6-a06cd93413a6@gmail.com>
Date: Tue, 6 Dec 2022 17:53:33 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [PATCH V6 3/3] docs: Add documentation for generic virtio devices
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xen.org, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <24a0278313ea9a9e6c093880dead835184025734.1667906228.git.viresh.kumar@linaro.org>
 <4fbe5c89-4468-9ad4-e391-2f51ceaa5b67@gmail.com>
 <20221205091118.lttaot42hcidb7gj@vireshk-i7>
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <20221205091118.lttaot42hcidb7gj@vireshk-i7>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 05.12.22 11:11, Viresh Kumar wrote:


Hello Viresh

> On 04-12-22, 20:52, Oleksandr Tyshchenko wrote:
>> So as I understand current series adds support for two virtio devices
>> (i2c/gpio) that require specific device-tree sub node with specific
>> compatible in it [1]. Those backends are standalone userspace applications
>> (daemons) that do not require any additional configuration parameters from
>> the toolstack other than just virtio-mmio irq and base (please correct me if
>> I am wrong).
> 
> For now, yes. But we may want to link these devices with other devices
> in DT, like GPIO line consumers. I am not pushing a half informed
> solution for that right now and that can be taken up later.

I got it, ok.

> 
>> Well, below just some thoughts (which might be wrong) regarding the possible
>> extensions for future use. Please note, I do not suggest the following to be
>> implemented right now (I mean within the context of current series):
>>
>> 1. For supporting usual virtio devices that don't require specific
>> device-tree sub node with specific compatible in it [2] we would probably
>> need to either make "compatible" (or type?) string optional or to reserve
>> some value for it ("common" for the instance).
> 
> I agree. Maybe we can use "virtio,device" without a number for the
> device in this case.


Fine with me.


> 
>> 2. For supporting Qemu based virtio devices we would probably need to add
>> "backendtype" string (with "standalone" value for daemons like yours and
>> "qemu" value for Qemu backends).
> 
> Hmm, I realize now that my patch did define a new type for this,
> libxl_virtio_backend, which defines STANDALONE already, but it isn't
> used currently. Maybe I should remove it too.
> 
> And I am not sure sure how to use these values, STANDALONE or QEMU.
> Should the DT nodes be created only for STANDALONE and never for QEMU
> ?

If we expose virtio-mmio device to the guest via device-tree on Arm, 
then I think the DT nodes should be always created here, no matter where 
the corresponding virtio backend is located itself (either STANDALONE or 
QEMU).

> 
> Maybe we can add these fields and a config param, once someone wants
> to reuse this stuff for QEMU ?


I don't know what to suggest here, sorry.

On the one hand, it is an extra work for you trying to add functionality 
you don't need at the moment. On the other hand if we add "backendtype" 
config param right now with default to STANDALONE it might simplify work 
for someone who ends up adding other type (in particular, the QEMU). 
Let's see what the maintainers will say.



> 
>> 3. For supporting additional configuration parameters for Qemu based virtio
>> devices we could probably reuse "device_model_args" (although it is not
>> clear to me what alternative to use for daemons).
> 
> I would leave it for the person who will make use of this eventually,
> as then we will have more information on the same.

Sure, these are just thoughts for now.

> 
>>> +=item B<compatible=STRING>
>>
>> Shouldn't it be "type" instead (the parsing code is looking for type and the
>> example below suggests the type)?
> 
> Yes.
> 
>>> +Specifies the compatible string for the specific Virtio device. The same will be
>>> +written in the Device Tree compatible property of the Virtio device. For
>>> +example, "type=virtio,device22" for the I2C device > +
>>> +=item B<transport=STRING>
>>> +
>>> +Specifies the transport mechanism for the Virtio device, like "mmio" or "pci".
>>> +
>>> +=back
>>> +
>>>    =item B<tee="STRING">
>>>    B<Arm only.> Set TEE type for the guest. TEE is a Trusted Execution
>>
>> Also the commit description for #1/3 mentions that Virtio backend could run
>> in any domain. So looks like the "backend" string is missing here. I would
>> add the following:
>>
>> =item B<backend=domain-id>
>>
>> Specify the backend domain name or id, defaults to dom0.
> 
> I haven't used the backend in any other domain for now, just Dom0, but
> the idea is definitely there to run backends in separate user domains.


ok, good. My point is the following: if backend domain is configurable 
then it should be documented here.

> 
>> P.S. I am wondering do i2c/gpio virtio backends support Xen grant mappings
>> for the virtio?
> 
> Not yet, we haven't made much progress in that area until now, but it
> is very much part of what we intend to do.


Thanks for the information.

> 
>> Have you tried to run the backends in non-hardware domain
>> with CONFIG_XEN_VIRTIO=y in Linux?
> 
> Not yet.

ok

> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 16:08:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 16:08:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455313.712759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2aU9-00064c-Kb; Tue, 06 Dec 2022 16:07:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455313.712759; Tue, 06 Dec 2022 16:07:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2aU9-00064U-Hq; Tue, 06 Dec 2022 16:07:57 +0000
Received: by outflank-mailman (input) for mailman id 455313;
 Tue, 06 Dec 2022 16:07:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2aU9-00064L-7w; Tue, 06 Dec 2022 16:07:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2aU9-0003qv-3s; Tue, 06 Dec 2022 16:07:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2aU8-0001Be-QT; Tue, 06 Dec 2022 16:07:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2aU8-00078L-Pp; Tue, 06 Dec 2022 16:07:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Jo/frq61gbIknBmRj6ZZ7KVjrY2F+bEFBg1EWCtO/uo=; b=y+15RHIAw0eG9baXVbU1ze3lVp
	FWjQJKtgxn2K8xF5fDi7aIlYsGdg8rzY70LcldA8/DCwyKpLtwhjoZjJ7YZxIgfdnVRxHzRIMTWE8
	rLd5y6RHMIMHXyLAnrs//CIpWE/oFJDG19/vVW+T+kKaI80tohmiq3SHnv9FbpSu8L4A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175058-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175058: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9d67161388d8f611467660300bdf9715b7f110b0
X-Osstest-Versions-That:
    xen=9d67161388d8f611467660300bdf9715b7f110b0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 06 Dec 2022 16:07:56 +0000

flight 175058 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175058/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175055
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175055
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175055
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175055
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175055
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175055
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175055
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175055
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175055
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175055
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175055
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175055
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  9d67161388d8f611467660300bdf9715b7f110b0
baseline version:
 xen                  9d67161388d8f611467660300bdf9715b7f110b0

Last test of basis   175058  2022-12-06 06:50:52 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 16:09:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 16:09:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455320.712771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2aVF-0006cL-2q; Tue, 06 Dec 2022 16:09:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455320.712771; Tue, 06 Dec 2022 16:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2aVE-0006cE-W3; Tue, 06 Dec 2022 16:09:04 +0000
Received: by outflank-mailman (input) for mailman id 455320;
 Tue, 06 Dec 2022 16:09:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=d2tL=4E=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1p2aVE-0006bO-CP
 for xen-devel@lists.xen.org; Tue, 06 Dec 2022 16:09:04 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4d5bb5d5-7580-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 17:09:03 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id bs21so24166732wrb.4
 for <xen-devel@lists.xen.org>; Tue, 06 Dec 2022 08:09:03 -0800 (PST)
Received: from [10.17.77.118] (ll-22.209.223.85.sovam.net.ua. [85.223.209.22])
 by smtp.gmail.com with ESMTPSA id
 w6-20020adfec46000000b0022efc4322a9sm17417250wrn.10.2022.12.06.08.09.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 06 Dec 2022 08:09:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d5bb5d5-7580-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ROAHbu9VIU8NX8eYeMy/eJdQkrp6evWVJFWXmDsaG2Q=;
        b=Uaad/ff4HgftQ9QbYZQ+VyY4d5Ccc1gMRbLYP2nw9eQqYyrdYbLYsAnmARlWqMCLby
         D12Cf31Ajv8CxPIXSvxRbuPRhEND3fSB02POJ3sUUrc3FF9UXGHAEyUacw7ASbd14XM/
         SCyCSd2WEMxb371E1HGgL0882reJZ0dpX1AoADJlT9v4baiK+fIVYZq5Oty9pmhYFlWV
         saIBgDnnpuWMJ0kfBjS/gPDuLEYbO4f93G7UjcnwuUZDqB7qblxOh4t3j4BRkriUbhHI
         nIieMN8gTYH2/qxAwnPHRvByQ362zivBMd9sUdUlfApmtvtubfUY8a42qQzGzD2kPFHL
         VoJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ROAHbu9VIU8NX8eYeMy/eJdQkrp6evWVJFWXmDsaG2Q=;
        b=FfzCuGNEVRa+/7p0Mwjd0Jiv9KM1WwPXkjhuUrfe6HKIyXom80u8rJDWk0aIITGvAI
         TpEC0jys3XC35268a+JBJ2vUVGl/s1eOSP/wcisYCdVkBMANmCarL+ANUJONQ5pSpPa1
         /T9mOwxaSuSylt6JR5n7vmirFH0K5UyE0yM4y99l0VTGvK9FXFdHiVCe/cwphn7GAv2G
         g2a+z96PGTdlh/ORU/kP2HVC293mJGPqGfNJGryGTdUsahTsSaVavLLWYmf42J3SM8nn
         JMzLvGZYMoGcyBsWxyGzgGfeZNHuOcfElXxCbPm1ZEA6EfjpyG+dU0aFNkgx8tce2t6r
         1KQw==
X-Gm-Message-State: ANoB5pnZqS03tvXBKY3eXhzrfoN3TrriZK+fLEvk4EJI5c7CKJOnXhMs
	tjFbhXmj2Q/T7R3Ofu0j98A=
X-Google-Smtp-Source: AA0mqf6AGvo+JkSbOf7URA85tWL7l6N40y55elCGK71s569G01+h6HbT1OXzuGRRHHvO3VHsYZuPVg==
X-Received: by 2002:adf:db01:0:b0:242:3ddc:2b36 with SMTP id s1-20020adfdb01000000b002423ddc2b36mr13513734wri.288.1670342942988;
        Tue, 06 Dec 2022 08:09:02 -0800 (PST)
Message-ID: <2555ed5c-4576-7c73-588b-181d1f98bb4d@gmail.com>
Date: Tue, 6 Dec 2022 18:09:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [PATCH V6 1/3] libxl: Add support for generic virtio device
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xen.org, Julien Grall
 <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <f1dc91669df27705c25a1f3018427c2db77b32a6.1667906228.git.viresh.kumar@linaro.org>
 <6a546552-d71d-a262-5981-8058dc37ae26@gmail.com>
 <20221205061518.l2i4kqkzcivpxaxl@vireshk-i7>
 <20221205112946.qwa647k35uv7eyqr@vireshk-i7>
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <20221205112946.qwa647k35uv7eyqr@vireshk-i7>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 05.12.22 13:29, Viresh Kumar wrote:

Hello Viresh

> On 05-12-22, 11:45, Viresh Kumar wrote:
>>>> +    rc = libxl__backendpath_parse_domid(gc, be_path, &virtio->backend_domid);
>>>> +    if (rc) goto out;
>>>> +
>>>> +    rc = libxl__parse_backend_path(gc, be_path, &dev);
>>>> +    if (rc) goto out;
>>>
>>> The same question for dev variable.
>>
>> Hmm, this we aren't using at all, which KBD does use it. Maybe we
>> should even call libxl__parse_backend_path() ?
> 
> Removing it works just fine for me.


Perfect. We will be able to add it when it is *really* needed.

> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 16:39:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 16:39:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455339.712781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ay2-0002eH-Cw; Tue, 06 Dec 2022 16:38:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455339.712781; Tue, 06 Dec 2022 16:38:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ay2-0002eA-AD; Tue, 06 Dec 2022 16:38:50 +0000
Received: by outflank-mailman (input) for mailman id 455339;
 Tue, 06 Dec 2022 16:38:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2ay0-0002e0-Sx; Tue, 06 Dec 2022 16:38:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2ay0-0004WN-QS; Tue, 06 Dec 2022 16:38:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2ay0-0002UR-B8; Tue, 06 Dec 2022 16:38:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2ay0-0005x5-Ag; Tue, 06 Dec 2022 16:38:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=T6ZehiggJxqDCXjkwx31wW2Mz9XZaVD0ufVACp3SXu4=; b=6X3UYOsWJx4YEB38HHFQz2OHil
	fLhlxpCo2EDkt0blQyBz0/CV77wjHQKh3q+8Jh5BcP8ou8p9YgWBEM0uZLroKQw05JrI99iTWEnRc
	sFxtEQpjTkkFPJvTkkrmzCDxWP+tGgVoCssz4+/w9iSXdb1dLlY9E70JAr0e1aQgIjR4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175060-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175060: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a6da84524ceaf24ff997d03407b93f60c12857f3
X-Osstest-Versions-That:
    xen=9d67161388d8f611467660300bdf9715b7f110b0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 06 Dec 2022 16:38:48 +0000

flight 175060 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175060/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  a6da84524ceaf24ff997d03407b93f60c12857f3
baseline version:
 xen                  9d67161388d8f611467660300bdf9715b7f110b0

Last test of basis   175049  2022-12-05 15:00:25 Z    1 days
Testing same since   175060  2022-12-06 13:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   9d67161388..a6da84524c  a6da84524ceaf24ff997d03407b93f60c12857f3 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 16:46:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 16:46:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455350.712793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2b5m-0004T0-7f; Tue, 06 Dec 2022 16:46:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455350.712793; Tue, 06 Dec 2022 16:46:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2b5m-0004St-3u; Tue, 06 Dec 2022 16:46:50 +0000
Received: by outflank-mailman (input) for mailman id 455350;
 Tue, 06 Dec 2022 16:46:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZZAw=4E=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p2b5k-0004Sm-Rl
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 16:46:48 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9305f2ad-7585-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 17:46:47 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 36EEEB81ABD;
 Tue,  6 Dec 2022 16:46:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BECF0C433C1;
 Tue,  6 Dec 2022 16:46:44 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9305f2ad-7585-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670345206;
	bh=CgMeKbwfJFsPkgSGTN+eSNXuolIOiHJwmwmcbYgVXaM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mPCanATaYz5FjUwUATFFeCFZD8nYODg4hhrbG/36sSUH1J6+UoBm5Qnd2OHu+YrAQ
	 4UqCF8+qjy22I3Ag/WpFUTcmg5dUEZN+yIsQ1PK7sR31CEk8pSQymOxXrfe1DX/Yfx
	 H1TcfNogdMmpP4kugyZ6ps//TqZvzQh8ufZxdS9OMVHIJ99QDnOMPzXX/8e1reIB5J
	 sV95psRQsBT426lXsidqXBagAxq6R8YRfYQ0waZVlvnLooKFcpTnM06aKD+OWzypFj
	 xGZy2Vfk+ja4g6lv26v+N8r0x45UiaEsh83QC/Od3/HN+m5plPM4MiiG/nizs016Jr
	 OUU21rhvVHVfA==
Date: Tue, 6 Dec 2022 08:46:43 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2] xen: Remove trigraphs from comments
In-Reply-To: <20221206144806.23139-1-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2212060846290.4039@ubuntu-linux-20-04-desktop>
References: <20221206144806.23139-1-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 6 Dec 2022, Michal Orzel wrote:
> MISRA C rule 4.2 states that trigraphs (sequences of two question marks
> followed by a specified third character [=/'()!<>-]) should not be used.
> This applies to both code and comments. Thankfully, we do not use them
> in the code, but still there are some comments where they are
> accidentally used. Fix it.
> 
> With regards to the comments and respective macros in pci_regs.h, these
> were inherited from Linux. Let's knowingly accept the divergence.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes in v2:
>  - use (?!?) for arch-x86_64.h
>  - add a note in commit msg that pci_regs.h originated from Linux and we
>    knowingly accept the divergence
> ---
>  xen/arch/x86/x86_emulate/x86_emulate.h |  2 +-
>  xen/include/public/arch-x86_64.h       |  2 +-
>  xen/include/xen/pci_regs.h             | 12 ++++++------
>  3 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
> index 4732855c40ed..bb7af967ffee 100644
> --- a/xen/arch/x86/x86_emulate/x86_emulate.h
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.h
> @@ -228,7 +228,7 @@ struct x86_emulate_ops
>       * All functions:
>       *  @ctxt:  [IN ] Emulation context info as passed to the emulator.
>       * All memory-access functions:
> -     *  @seg:   [IN ] Segment being dereferenced (specified as x86_seg_??).
> +     *  @seg:   [IN ] Segment being dereferenced (specified as x86_seg_?).
>       *  @offset:[IN ] Offset within segment.
>       *  @p_data:[IN ] Pointer to i/o data buffer (length is @bytes)
>       * Read functions:
> diff --git a/xen/include/public/arch-x86_64.h b/xen/include/public/arch-x86_64.h
> index 5db52de69584..acf705f25e7a 100644
> --- a/xen/include/public/arch-x86_64.h
> +++ b/xen/include/public/arch-x86_64.h
> @@ -22,5 +22,5 @@
>   * A similar callback occurs if the segment selectors are invalid.
>   * failsafe_address is used as the value of eip.
>   *
> - * On x86_64, event_selector and failsafe_selector are ignored (???).
> + * On x86_64, event_selector and failsafe_selector are ignored (?!?).
>   */
> diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
> index ee8e82be36b4..a90aff1712ba 100644
> --- a/xen/include/xen/pci_regs.h
> +++ b/xen/include/xen/pci_regs.h
> @@ -246,13 +246,13 @@
>  #define  PCI_PM_CTRL_STATE_MASK	0x0003	/* Current power state (D0 to D3) */
>  #define  PCI_PM_CTRL_NO_SOFT_RESET	0x0008	/* No reset for D3hot->D0 */
>  #define  PCI_PM_CTRL_PME_ENABLE	0x0100	/* PME pin enable */
> -#define  PCI_PM_CTRL_DATA_SEL_MASK	0x1e00	/* Data select (??) */
> -#define  PCI_PM_CTRL_DATA_SCALE_MASK	0x6000	/* Data scale (??) */
> +#define  PCI_PM_CTRL_DATA_SEL_MASK	0x1e00	/* Data select (?) */
> +#define  PCI_PM_CTRL_DATA_SCALE_MASK	0x6000	/* Data scale (?) */
>  #define  PCI_PM_CTRL_PME_STATUS	0x8000	/* PME pin status */
> -#define PCI_PM_PPB_EXTENSIONS	6	/* PPB support extensions (??) */
> -#define  PCI_PM_PPB_B2_B3	0x40	/* Stop clock when in D3hot (??) */
> -#define  PCI_PM_BPCC_ENABLE	0x80	/* Bus power/clock control enable (??) */
> -#define PCI_PM_DATA_REGISTER	7	/* (??) */
> +#define PCI_PM_PPB_EXTENSIONS	6	/* PPB support extensions (?) */
> +#define  PCI_PM_PPB_B2_B3	0x40	/* Stop clock when in D3hot (?) */
> +#define  PCI_PM_BPCC_ENABLE	0x80	/* Bus power/clock control enable (?) */
> +#define PCI_PM_DATA_REGISTER	7	/* (?) */
>  #define PCI_PM_SIZEOF		8
>  
>  /* AGP registers */
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 17:06:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 17:06:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455357.712804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2bOo-0007bQ-Pe; Tue, 06 Dec 2022 17:06:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455357.712804; Tue, 06 Dec 2022 17:06:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2bOo-0007bJ-Mg; Tue, 06 Dec 2022 17:06:30 +0000
Received: by outflank-mailman (input) for mailman id 455357;
 Tue, 06 Dec 2022 17:06:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZZAw=4E=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p2bOm-0007bD-Ty
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 17:06:28 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 514d8df4-7588-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 18:06:27 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 717EE617A2;
 Tue,  6 Dec 2022 17:06:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8AED0C433D6;
 Tue,  6 Dec 2022 17:06:23 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 514d8df4-7588-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670346384;
	bh=d+cpkOXLD8/5FKjPjQ0oXVqJEVTCfqYe6QpLlGntUmk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=g56hvde1vyxgSCACWBBnHaAfsGxywrmxMeX+M+b8qicg2dqonoz2c2IJmCS9q3gVH
	 sem0lN4NFw/8uQJMWWNYwoKyluu7iFwOYY4OyYIXgTYXxDKCjVHWdipmj403nRlr6L
	 xVXiHJ2uWrJeVMUgMwYM5doQU/2pZRiwK/quw4QeOfbMFHv3ruPTCBpyv1EOEIR63P
	 h+Vn6iqv7c0VCn98/m/P0DY8uu+Wom8C+I9LcEfFQrMkDtOFUQVV8H5B5Nw59WF2Fy
	 kjVTO3owc/QQGYpa/n85Rza3UIReFhzWqyj3dfq1D3cGV6Rkf7ZJU+sJ0IPVDXiAuU
	 wMgjl5cIaKo/A==
Date: Tue, 6 Dec 2022 09:06:22 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 2/5] xen/scripts: add cppcheck tool to the xen-analysis.py
 script
In-Reply-To: <E67F8041-D3D1-4A8A-9A8F-319C522CB0D5@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212060858180.4039@ubuntu-linux-20-04-desktop>
References: <20221205154052.14191-1-luca.fancellu@arm.com> <20221205154052.14191-3-luca.fancellu@arm.com> <alpine.DEB.2.22.394.2212051650300.4039@ubuntu-linux-20-04-desktop> <E67F8041-D3D1-4A8A-9A8F-319C522CB0D5@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1303052128-1670346384=:4039"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1303052128-1670346384=:4039
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 6 Dec 2022, Luca Fancellu wrote:
> Hi Stefano,
> >> 
> >> +++ b/docs/misra/false-positive-cppcheck.json
> >> @@ -0,0 +1,12 @@
> >> +{
> >> +    "version": "1.0",
> >> +    "content": [
> >> +        {
> >> +            "id": "SAF-0-false-positive-cppcheck",
> >> +            "violation-id": "",
> >> +            "tool-version": "",
> >> +            "name": "Sentinel",
> >> +            "text": "Next ID to be used"
> >> +        }
> >> +    ]
> >> +}
> > 
> > I think we need to add to the cppcheck document how to figure out the
> > cppcheck id for a given violation in the html report
> 
> I’m planning to send some patches with cppcheck false positive fixes, would them be enough?
> 
> We already have a section in documenting-violation.rst on how to document the finding, for
> cppcheck it’s just a matter to get the text report, do you think it’s better to add a part to that section
> on how to locate the cppcheck violation id from its text report?

Examples would certainly help a lot. Looking at the html results it
wasn't clear to me what the violation-id actually was. It took me a few
tries to understand that "shadowVariable" was the cppcheck violation-id.

Maybe just add: look under the column "Defect ID" amoung the html
results to find the violation-id, such as "variableScope".

 
> >> diff --git a/xen/scripts/xen_analysis/generic_analysis.py b/xen/scripts/xen_analysis/generic_analysis.py
> >> index 0b470c4ecf7d..94122aebace0 100644
> >> --- a/xen/scripts/xen_analysis/generic_analysis.py
> >> +++ b/xen/scripts/xen_analysis/generic_analysis.py
> >> @@ -1,7 +1,7 @@
> >> #!/usr/bin/env python3
> >> 
> >> -import os, subprocess
> >> -from . import settings, utils, tag_database
> >> +import os
> >> +from . import settings, utils, tag_database, cppcheck_analysis
> >> 
> >> class ParseTagPhaseError(Exception):
> >>     pass
> >> @@ -60,18 +60,13 @@ def parse_xen_tags():
> >> 
> >> 
> >> def build_xen():
> >> -    try:
> >> -        subprocess.run(
> >> -            "make -C {} {} build"
> >> -                .format(settings.xen_dir, settings.make_forward_args),
> >> -            shell=True, check=True
> >> +    utils.invoke_command(
> >> +            "make -C {} {} {} build"
> >> +                .format(settings.xen_dir, settings.make_forward_args,
> >> +                        cppcheck_analysis.cppcheck_extra_make_args),
> >> +            False, BuildPhaseError,
> >> +            "Build error occured when running:\n{}"
> >>         )
> >> -    except (subprocess.CalledProcessError, subprocess.SubprocessError)  as e:
> >> -        excp = BuildPhaseError(
> >> -                "Build error occured when running:\n{}".format(e.cmd)
> >> -            )
> >> -        excp.errorcode = e.returncode if hasattr(e, 'returncode') else 1
> >> -        raise excp
> > 
> > Any reason why we can't have utils.invoke_command directly in patch #1?
> 
> There was only one invocation, so I left that as it was, now if I change it I think I will lost your
> Tested-by and ack, do you want me to put also in the first patch?

Yes I think it is fine. I plan to test again your next version anyway


> >> def clean_analysis_artifacts():
> >> diff --git a/xen/scripts/xen_analysis/settings.py b/xen/scripts/xen_analysis/settings.py
> >> index 947dfa2d50af..bd1faafe79a3 100644
> >> --- a/xen/scripts/xen_analysis/settings.py
> >> +++ b/xen/scripts/xen_analysis/settings.py
> >> @@ -7,14 +7,23 @@ xen_dir = os.path.realpath(module_dir + "/../..")
> >> repo_dir = os.path.realpath(xen_dir + "/..")
> >> tools_dir = os.path.realpath(xen_dir + "/tools")
> >> 
> >> +step_get_make_vars = False
> >> step_parse_tags = True
> >> +step_cppcheck_deps = False
> >> step_build_xen = True
> >> +step_cppcheck_report = False
> >> step_clean_analysis = True
> >> +step_distclean_analysis = False
> >> 
> >> target_build = False
> >> target_clean = False
> >> +target_distclean = False
> >> 
> >> analysis_tool = ""
> >> +cppcheck_binpath = "cppcheck"
> >> +cppcheck_html = False
> >> +cppcheck_htmlreport_binpath = "cppcheck-htmlreport"
> >> +cppcheck_misra = False
> >> make_forward_args = ""
> >> outdir = xen_dir
> >> 
> >> @@ -26,29 +35,47 @@ Usage: {} [OPTION] ... [-- [make arguments]]
> >> This script runs the analysis on the Xen codebase.
> >> 
> >> Options:
> >> -  --build-only    Run only the commands to build Xen with the optional make
> >> -                  arguments passed to the script
> >> -  --clean-only    Run only the commands to clean the analysis artifacts
> >> -  -h, --help      Print this help
> >> -  --no-build      Skip the build Xen phase
> >> -  --no-clean      Don\'t clean the analysis artifacts on exit
> >> -  --run-coverity  Run the analysis for the Coverity tool
> >> -  --run-eclair    Run the analysis for the Eclair tool
> >> +  --build-only          Run only the commands to build Xen with the optional
> >> +                        make arguments passed to the script
> >> +  --clean-only          Run only the commands to clean the analysis artifacts
> >> +  --cppcheck-bin=       Path to the cppcheck binary (Default: {})
> >> +  --cppcheck-html       Produce an additional HTML output report for Cppcheck
> >> +  --cppcheck-html-bin=  Path to the cppcheck-html binary (Default: {})
> >> +  --cppcheck-misra      Activate the Cppcheck MISRA analysis
> >> +  --distclean           Clean analysis artifacts and reports
> >> +  -h, --help            Print this help
> >> +  --no-build            Skip the build Xen phase
> >> +  --no-clean            Don\'t clean the analysis artifacts on exit
> >> +  --run-coverity        Run the analysis for the Coverity tool
> >> +  --run-cppcheck        Run the Cppcheck analysis tool on Xen
> >> +  --run-eclair          Run the analysis for the Eclair tool
> >> """
> >> -    print(msg.format(sys.argv[0]))
> >> +    print(msg.format(sys.argv[0], cppcheck_binpath,
> >> +                     cppcheck_htmlreport_binpath))
> >> 
> >> 
> >> def parse_commandline(argv):
> >>     global analysis_tool
> >> +    global cppcheck_binpath
> >> +    global cppcheck_html
> >> +    global cppcheck_htmlreport_binpath
> >> +    global cppcheck_misra
> >>     global make_forward_args
> >>     global outdir
> >> +    global step_get_make_vars
> >>     global step_parse_tags
> >> +    global step_cppcheck_deps
> >>     global step_build_xen
> >> +    global step_cppcheck_report
> >>     global step_clean_analysis
> >> +    global step_distclean_analysis
> >>     global target_build
> >>     global target_clean
> >> +    global target_distclean
> >>     forward_to_make = False
> >>     for option in argv:
> >> +        args_with_content_regex = re.match(r'^(--[a-z]+[a-z-]*)=(.*)$', option)
> >> +
> >>         if forward_to_make:
> >>             # Intercept outdir
> >>             outdir_regex = re.match("^O=(.*)$", option)
> >> @@ -60,6 +87,18 @@ def parse_commandline(argv):
> >>             target_build = True
> >>         elif option == "--clean-only":
> >>             target_clean = True
> >> +        elif args_with_content_regex and \
> >> +             args_with_content_regex.group(1) == "--cppcheck-bin":
> >> +            cppcheck_binpath = args_with_content_regex.group(2)
> >> +        elif option == "--cppcheck-html":
> >> +            cppcheck_html = True
> >> +        elif args_with_content_regex and \
> >> +             args_with_content_regex.group(1) == "--cppcheck-html-bin":
> >> +            cppcheck_htmlreport_binpath = args_with_content_regex.group(2)
> >> +        elif option == "--cppcheck-misra":
> >> +            cppcheck_misra = True
> >> +        elif option == "--distclean":
> >> +            target_distclean = True
> >>         elif (option == "--help") or (option == "-h"):
> >>             help()
> >>             sys.exit(0)
> >> @@ -69,6 +108,11 @@ def parse_commandline(argv):
> >>             step_clean_analysis = False
> >>         elif (option == "--run-coverity") or (option == "--run-eclair"):
> >>             analysis_tool = option[6:]
> >> +        elif (option == "--run-cppcheck"):
> >> +            analysis_tool = "cppcheck"
> >> +            step_get_make_vars = True
> >> +            step_cppcheck_deps = True
> >> +            step_cppcheck_report = True
> >>         elif option == "--":
> >>             forward_to_make = True
> >>         else:
> >> @@ -76,13 +120,23 @@ def parse_commandline(argv):
> >>             help()
> >>             sys.exit(1)
> >> 
> >> -    if target_build and target_clean:
> >> -        print("--build-only is not compatible with --clean-only argument.")
> >> +    if target_build and (target_clean or target_distclean):
> >> +        print("--build-only is not compatible with --clean-only/--distclean "
> >> +              "argument.")
> >>         sys.exit(1)
> >> 
> >> +    if target_distclean:
> >> +        # Implicit activation of clean target
> >> +        target_clean = True
> >> +
> >> +        step_distclean_analysis = True
> >> +
> >>     if target_clean:
> >> +        step_get_make_vars = False
> >>         step_parse_tags = False
> >> +        step_cppcheck_deps = False
> >>         step_build_xen = False
> >> +        step_cppcheck_report = False
> >>         step_clean_analysis = True
> >>         return
> >> 
> >> @@ -95,3 +149,4 @@ def parse_commandline(argv):
> >>         step_parse_tags = False
> >>         step_build_xen = True
> >>         step_clean_analysis = False
> >> +        step_cppcheck_report = False
> > 
> > I think that target_build should not say anything about
> > step_cppcheck_report.
> > 
> > - if one wants to just do a regular build, they can do "make xen"
> > - if one is calling xen-analysis.py --cppcheck-html --run-cppcheck
> >  --build-only, it means that they want the build done, not the cleaning
> >  done, not the tags substitution. If they also add --cppcheck-html and
> >  --run-cppcheck, then it means that they also want the cppcheck report
> >  produced. --build-only still makes sense because they don't want the
> >  cleaning done and don't want the tag substitution.
> > 
> > Does it make sense to you as well?
> > 
> > 
> > If it does, I think we also need to add a note in the help message from
> > xen_analysis because it is not clear. So basically:
> > 
> > <nothing>: tags, build, clean [, cppcheck]
> > --no-clean: tags, build [, cppcheck]
> > --build-only: build [, cppcheck]
> > --no-build: tags
> > --clean-only: clean
> > 
> > Did I get it right?
> 
> Ok I can leave the report generation with the build-only, I will also explain better
> In the help

Thank you


> >> +
> >> +function create_jcd() {
> >> +    local line="${1}"
> >> +    local arg_num=0
> >> +    local same_line=0
> >> +
> >> +    {
> >> +        echo -e -n "[\n"
> > 
> > Everywhere in this bash function: there is no point in passing -n and
> > then adding \n at the end. You might as well do this:
> > 
> > echo -e "["
> > 
> > Also, you'll find that in most cases, you don't need -e either, which
> > simplifies it to:
> > 
> > echo "["
> > 
> > That's better right? :-)  Of course feel free to use -e when you have
> > escape and -n when you don't want \n in the output
> 
> Yeah I guess they come from copy paste, I can use the right arguments when needed
--8323329-1303052128-1670346384=:4039--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 17:11:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 17:11:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455366.712815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2bTZ-0000h4-HJ; Tue, 06 Dec 2022 17:11:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455366.712815; Tue, 06 Dec 2022 17:11:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2bTZ-0000gx-Dp; Tue, 06 Dec 2022 17:11:25 +0000
Received: by outflank-mailman (input) for mailman id 455366;
 Tue, 06 Dec 2022 17:11:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vYNa=4E=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1p2bTY-0000gr-FE
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 17:11:24 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0629.outbound.protection.outlook.com
 [2a01:111:f400:fe02::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 01904e93-7589-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 18:11:22 +0100 (CET)
Received: from AM6PR01CA0044.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:e0::21) by PR3PR08MB5611.eurprd08.prod.outlook.com
 (2603:10a6:102:85::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 17:11:19 +0000
Received: from AM7EUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:e0:cafe::24) by AM6PR01CA0044.outlook.office365.com
 (2603:10a6:20b:e0::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Tue, 6 Dec 2022 17:11:19 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT007.mail.protection.outlook.com (100.127.140.242) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.14 via Frontend Transport; Tue, 6 Dec 2022 17:11:18 +0000
Received: ("Tessian outbound 0800d254cb3b:v130");
 Tue, 06 Dec 2022 17:11:17 +0000
Received: from 30fa596eac2d.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6DF5FB8C-B755-43F5-B458-D3047FDEDF99.1; 
 Tue, 06 Dec 2022 17:11:06 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 30fa596eac2d.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 06 Dec 2022 17:11:06 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS4PR08MB8072.eurprd08.prod.outlook.com (2603:10a6:20b:58b::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 17:11:03 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda%3]) with mapi id 15.20.5880.008; Tue, 6 Dec 2022
 17:11:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01904e93-7589-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HNAad+jdURn6peMVL+11rrw42C9nRHnnXvq9zr93KUk=;
 b=Buk1A+IWHlx2HbVFVsGfEfPotrb+EpX5sdfpcja0N2JMxG7RMoUOBoKjP9ENWn4KJSC0k1XsNHfTlyHK5IxNr0a8MStR4YD+Y7JTD9/vPSr4DI9Bgcyg/tBVbMCYb0mNLQJLwl2Srj6Zes97VfshqqGMh81aT+pX4MpLa22sBSQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 02a79e2646989be0
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VJ9s4PJE7mrlyfVXmXXezA6mmfXWDHTnKiH1GzMrZ6LegYiR8B0R+SddbO9CTtcAdW/FL6dAYq9O1Tze9V8E/FiJ51/lnc4kLo7Xj5Xvf+dwUUt03iLTl04vfHujapB/efXL8KygQiuG4//MOmCzgaqPXAT78EmtSMAzj+W+6YL+BM8tOKq0OO2xTlRuCRrkoMiAzmk74DN95sOUGTdBR4hqS2yvCwoQVAAZRyXAZU6wvXChPZdGbgjr4nPwYoRzd0wvTnAxrdg1xr1LaMJDaJu3DjWb7DQVPkeFwgr/YfcIoQ3Qf1ho/VN3O9CWRQM7HxxOIKw0AGgEK6J/HPlC+Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HNAad+jdURn6peMVL+11rrw42C9nRHnnXvq9zr93KUk=;
 b=C538K64IyU/OhiiMtmi+YHsz1GAHTeVf5hLY8v8NrbHCH0MMLR5KqryZc2q1ylHK1dYm5LguG2SWJbpE289ZWE4BbRx5zJSSdU91azr0+ac00QEH5li+RLMknXiZCD8SI/ZzNeAulEls6mBzTJwKul852yv7vLosKKPI2EgfIdIejVBmPUAp7bJB8HfpXK+DkEqKPXe4GXyx5C7MrBjUOymETWEnz5E5sgVBowTxXr98XPFcCIMYWPychGaHi16jSx40Ku0TV4Rap9Zotu1Y11Nrj/gCP1Xs2KncmJTeBJcsQGCSskSBN95MZXSwaVfzY5z4MCeKta1M/1nBqq5m0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HNAad+jdURn6peMVL+11rrw42C9nRHnnXvq9zr93KUk=;
 b=Buk1A+IWHlx2HbVFVsGfEfPotrb+EpX5sdfpcja0N2JMxG7RMoUOBoKjP9ENWn4KJSC0k1XsNHfTlyHK5IxNr0a8MStR4YD+Y7JTD9/vPSr4DI9Bgcyg/tBVbMCYb0mNLQJLwl2Srj6Zes97VfshqqGMh81aT+pX4MpLa22sBSQ=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH v2 2/5] xen/scripts: add cppcheck tool to the
 xen-analysis.py script
Thread-Topic: [PATCH v2 2/5] xen/scripts: add cppcheck tool to the
 xen-analysis.py script
Thread-Index: AQHZCMAPGFj9uv1WcUCpzSvQ+LlZ+65gHgSAgACMnQCAAG4AAIAAAUIA
Date: Tue, 6 Dec 2022 17:11:03 +0000
Message-ID: <40F42492-9DFF-46DA-BF1A-7393CE29202C@arm.com>
References: <20221205154052.14191-1-luca.fancellu@arm.com>
 <20221205154052.14191-3-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2212051650300.4039@ubuntu-linux-20-04-desktop>
 <E67F8041-D3D1-4A8A-9A8F-319C522CB0D5@arm.com>
 <alpine.DEB.2.22.394.2212060858180.4039@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2212060858180.4039@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS4PR08MB8072:EE_|AM7EUR03FT007:EE_|PR3PR08MB5611:EE_
X-MS-Office365-Filtering-Correlation-Id: b721fe09-e596-43ba-60f1-08dad7ace3e5
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 PSZv0AelZN9PrajFTtE2oTqsnGp6YbfA0CA25wclhJaaD+bFqJap2UNw7ngwsLNUrLC/UqbtAtc/3JeCLGHYKaR+4b3dFX+D3scER/Gd/Mjc+RZQx5c54H1XM71njAgMtldIiWql5Pn9Nblhj3le63ZEWiNr8NXzu+hMQEZ/wCbfbO+gjsTswEm++Tsm5eBlEuOImJRyRw5g7KUeDF/84J5AvJJM/Wc1SDaz0NvHJkqAkEX+/SqizwbC9SqzWUvj5HTQpmDIRHjKWobFwwOGeE9tTiUJDBcfg7M4sXpCcuKASE0Cr8kmsx9GZsQIqOxrAZ+p4dkpgvipxBWn92YXz8SSU4hFfwz9WUNdhAR4wgLfL51Qp/1GAoHKRjj+Kqa3UFOoGV+1TMNS5S1LadsKxDv923qzbmxZ8BJyWd9ereXcjDmZxsS+xITJ2Q4m/weSecXOUBsqHcQHco/GFSF+WU2zL5HsVvjYxlDxNrGcbTumh3LWabakV3ERdm5lGlBzX2CQZJEPBXcp1junZO1OjRnm/kXaL3tQtAaubNL5HpfEneegh0TvccKUj7syE6MHQO3zHaS/VmuVPMfwIRNtMf0+Y0q8GID3pcNZZB20pX9liKZlJFe5rodRF6u6w9b3dSZdXor3MSA3G7M+qY9lo43YBKEW3W7QOfr+b7gCyULbUP58fPjJwXwhGv6WDY3cNbIOqe3AUnHdxU70SoiIkeITaV+xJNIXOLdzeSS5O9g=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(376002)(396003)(366004)(346002)(451199015)(33656002)(86362001)(36756003)(83380400001)(91956017)(6916009)(54906003)(316002)(76116006)(5660300002)(64756008)(30864003)(66946007)(66446008)(26005)(4326008)(71200400001)(6506007)(6512007)(53546011)(8676002)(186003)(478600001)(66556008)(6486002)(2616005)(38070700005)(41300700001)(66476007)(8936002)(38100700002)(2906002)(122000001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <F2EFDD97502A5D4EB4B966E04DD25837@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8072
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d0417841-08ee-4d1e-b8c7-08dad7acdade
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4emKYm1LV/xQG4jLYvRK+yLnZR2UMYDWomFoqpDFXGlzu3pNCqgMdZ8YB3br0bmYzOReBfigltlx3ue1BT1eKknY+KBGafShww/PLS6bP5fwIrdgUkKZD29cwbBl0UmA8rrAF6kthyGyI00bw2bcnima6RjdRuPA3Mmr+fvN5j6T6One+bkJb+AauvgJtVWGDF9UHgaZqY/DkJtzQn1kQjVjBKfUvheOLqvZJKukkyvbYlhkRUs5Y+7XTp31GICIY3+rqt33cpe8fjXvdA5mD5ejiqY7hhMDu5io9zmRTTv1dV8z3a+8tVNE5XrtwIvgh5YmkJpZPhZ12i8K1zU+V6oY8AUlkHs/K8qcMcKgERU4YuYupiR4FvgxZb8Kke0IHRsnzzfiinBy2IjNJZs476Hpz2WqSvEXMsDITrSLagcys3EtQF0yI/GwgBDM5/XfjuRFNjzOTrbrh8K125AwTEZiBgTIOFYdU6SENOr2Bd/vprOaGoJNmCEyMKzx+s0CMHsRdo9CYsiT3lGCqLcg2sXxnscJQMjRsfIl1JNjrt8pwjb2Ntid1l8R/6pk4R1e++uzuqQiIwHkMxijCtJy+m3r6eSNPSMt+YGDtX1yWuVgTxrWpNhSq87pLId6+02ClPkEqgBCqITDEvt2xXoVwAoYykZyhkTTzc/OOO94TWliM87hj1Aefukz8kUnAX3pARmDA3GFsAtsrcilePNPkQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(396003)(346002)(136003)(451199015)(40470700004)(46966006)(36840700001)(40460700003)(40480700001)(70586007)(8676002)(4326008)(41300700001)(70206006)(6862004)(30864003)(86362001)(54906003)(356005)(316002)(81166007)(8936002)(6512007)(36860700001)(26005)(6506007)(53546011)(82740400003)(2906002)(47076005)(33656002)(2616005)(478600001)(5660300002)(6486002)(36756003)(83380400001)(336012)(186003)(82310400005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2022 17:11:18.3372
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b721fe09-e596-43ba-60f1-08dad7ace3e5
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5611

DQoNCj4gT24gNiBEZWMgMjAyMiwgYXQgMTc6MDYsIFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJl
bGxpbmlAa2VybmVsLm9yZz4gd3JvdGU6DQo+IA0KPiBPbiBUdWUsIDYgRGVjIDIwMjIsIEx1Y2Eg
RmFuY2VsbHUgd3JvdGU6DQo+PiBIaSBTdGVmYW5vLA0KPj4+PiANCj4+Pj4gKysrIGIvZG9jcy9t
aXNyYS9mYWxzZS1wb3NpdGl2ZS1jcHBjaGVjay5qc29uDQo+Pj4+IEBAIC0wLDAgKzEsMTIgQEAN
Cj4+Pj4gK3sNCj4+Pj4gKyAgICAidmVyc2lvbiI6ICIxLjAiLA0KPj4+PiArICAgICJjb250ZW50
IjogWw0KPj4+PiArICAgICAgICB7DQo+Pj4+ICsgICAgICAgICAgICAiaWQiOiAiU0FGLTAtZmFs
c2UtcG9zaXRpdmUtY3BwY2hlY2siLA0KPj4+PiArICAgICAgICAgICAgInZpb2xhdGlvbi1pZCI6
ICIiLA0KPj4+PiArICAgICAgICAgICAgInRvb2wtdmVyc2lvbiI6ICIiLA0KPj4+PiArICAgICAg
ICAgICAgIm5hbWUiOiAiU2VudGluZWwiLA0KPj4+PiArICAgICAgICAgICAgInRleHQiOiAiTmV4
dCBJRCB0byBiZSB1c2VkIg0KPj4+PiArICAgICAgICB9DQo+Pj4+ICsgICAgXQ0KPj4+PiArfQ0K
Pj4+IA0KPj4+IEkgdGhpbmsgd2UgbmVlZCB0byBhZGQgdG8gdGhlIGNwcGNoZWNrIGRvY3VtZW50
IGhvdyB0byBmaWd1cmUgb3V0IHRoZQ0KPj4+IGNwcGNoZWNrIGlkIGZvciBhIGdpdmVuIHZpb2xh
dGlvbiBpbiB0aGUgaHRtbCByZXBvcnQNCj4+IA0KPj4gSeKAmW0gcGxhbm5pbmcgdG8gc2VuZCBz
b21lIHBhdGNoZXMgd2l0aCBjcHBjaGVjayBmYWxzZSBwb3NpdGl2ZSBmaXhlcywgd291bGQgdGhl
bSBiZSBlbm91Z2g/DQo+PiANCj4+IFdlIGFscmVhZHkgaGF2ZSBhIHNlY3Rpb24gaW4gZG9jdW1l
bnRpbmctdmlvbGF0aW9uLnJzdCBvbiBob3cgdG8gZG9jdW1lbnQgdGhlIGZpbmRpbmcsIGZvcg0K
Pj4gY3BwY2hlY2sgaXTigJlzIGp1c3QgYSBtYXR0ZXIgdG8gZ2V0IHRoZSB0ZXh0IHJlcG9ydCwg
ZG8geW91IHRoaW5rIGl04oCZcyBiZXR0ZXIgdG8gYWRkIGEgcGFydCB0byB0aGF0IHNlY3Rpb24N
Cj4+IG9uIGhvdyB0byBsb2NhdGUgdGhlIGNwcGNoZWNrIHZpb2xhdGlvbiBpZCBmcm9tIGl0cyB0
ZXh0IHJlcG9ydD8NCj4gDQo+IEV4YW1wbGVzIHdvdWxkIGNlcnRhaW5seSBoZWxwIGEgbG90LiBM
b29raW5nIGF0IHRoZSBodG1sIHJlc3VsdHMgaXQNCj4gd2Fzbid0IGNsZWFyIHRvIG1lIHdoYXQg
dGhlIHZpb2xhdGlvbi1pZCBhY3R1YWxseSB3YXMuIEl0IHRvb2sgbWUgYSBmZXcNCj4gdHJpZXMg
dG8gdW5kZXJzdGFuZCB0aGF0ICJzaGFkb3dWYXJpYWJsZSIgd2FzIHRoZSBjcHBjaGVjayB2aW9s
YXRpb24taWQuDQo+IA0KPiBNYXliZSBqdXN0IGFkZDogbG9vayB1bmRlciB0aGUgY29sdW1uICJE
ZWZlY3QgSUQiIGFtb3VuZyB0aGUgaHRtbA0KPiByZXN1bHRzIHRvIGZpbmQgdGhlIHZpb2xhdGlv
bi1pZCwgc3VjaCBhcyAidmFyaWFibGVTY29wZSIuDQoNCkkgd2FzIHRoaW5raW5nIGFib3V0IHNo
b3dpbmcgd2hlcmUgdG8gbG9jYXRlIHRoZSB2aW9sYXRpb24gSUQgZnJvbSB0aGUgdGV4dCByZXBv
cnQsIGRvIHlvdSB0aGluayBpdOKAmXMgYmV0dGVyDQp0byBnaXZlIGFuIGV4YW1wbGUgZnJvbSB0
aGUgSFRNTCByZXBvcnQgaW5zdGVhZD8NCg0KU28gZmFyIEkgaGF2ZSBhZGRlZCB0aGlzIHBhcnQg
dG8gdGhlIGJvdHRvbSBvZiBkb2N1bWVudGluZy12aW9sYXRpb25zLnJzdDoNCg0KQWxzbywgdGhl
IHNhbWUgdGFnIGNhbiBiZSB1c2VkIG9uIG90aGVyIHN5bWJvbHMgZnJvbSB0aGUgbGlua2VyIHRo
YXQgYXJlDQpkZWNsYXJlZCBpbiB0aGUgY29kZWJhc2UsIGJlY2F1c2UgdGhlIGp1c3RpZmljYXRp
b24gaG9sZHMgZm9yIHRoZW0gdG9vLg0KDQpBIHBvc3NpYmxlIHZpb2xhdGlvbiBmb3VuZCBieSBD
cHBjaGVjayBjYW4gYmUgaGFuZGxlZCBpbiB0aGUgc2FtZSB3YXksIGZyb20gdGhlDQpjcHBjaGVj
ayByZXBvcnQgaXQgaXMgcG9zc2libGUgdG8gaWRlbnRpZnkgdGhlIHZpb2xhdGlvbiBpZDoNCg0K
fCBpbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oKDIyNiwwKTptaXNyYS1jMjAxMi0yMC43OnN0eWxl
OkV4cHJlc3Npb25zIHJlc3VsdGluZyBmcm9tIHRoZSBleHBhbnNpb24gb2YgbWFjcm8gcGFyYW1l
dGVycyBzaGFsbCBiZSBlbmNsb3NlZCBpbiBwYXJlbnRoZXNlcyAoTWlzcmEgcnVsZSAyMC43KQ0K
DQpHaXZlbiB0aGUgdmlvbGF0aW9uIGlkICJtaXNyYS1jMjAxMi0yMC43Iiwgd2UgY2FuIGZvbGxv
dyB0aGUgcHJvY2VkdXJlIGFib3ZlIHRvDQpqdXN0aWZ5IHRoZSBmaW5kaW5nLg0KDQoNCg0KPiAN
Cj4gDQo+Pj4+IGRpZmYgLS1naXQgYS94ZW4vc2NyaXB0cy94ZW5fYW5hbHlzaXMvZ2VuZXJpY19h
bmFseXNpcy5weSBiL3hlbi9zY3JpcHRzL3hlbl9hbmFseXNpcy9nZW5lcmljX2FuYWx5c2lzLnB5
DQo+Pj4+IGluZGV4IDBiNDcwYzRlY2Y3ZC4uOTQxMjJhZWJhY2UwIDEwMDY0NA0KPj4+PiAtLS0g
YS94ZW4vc2NyaXB0cy94ZW5fYW5hbHlzaXMvZ2VuZXJpY19hbmFseXNpcy5weQ0KPj4+PiArKysg
Yi94ZW4vc2NyaXB0cy94ZW5fYW5hbHlzaXMvZ2VuZXJpY19hbmFseXNpcy5weQ0KPj4+PiBAQCAt
MSw3ICsxLDcgQEANCj4+Pj4gIyEvdXNyL2Jpbi9lbnYgcHl0aG9uMw0KPj4+PiANCj4+Pj4gLWlt
cG9ydCBvcywgc3VicHJvY2Vzcw0KPj4+PiAtZnJvbSAuIGltcG9ydCBzZXR0aW5ncywgdXRpbHMs
IHRhZ19kYXRhYmFzZQ0KPj4+PiAraW1wb3J0IG9zDQo+Pj4+ICtmcm9tIC4gaW1wb3J0IHNldHRp
bmdzLCB1dGlscywgdGFnX2RhdGFiYXNlLCBjcHBjaGVja19hbmFseXNpcw0KPj4+PiANCj4+Pj4g
Y2xhc3MgUGFyc2VUYWdQaGFzZUVycm9yKEV4Y2VwdGlvbik6DQo+Pj4+ICAgIHBhc3MNCj4+Pj4g
QEAgLTYwLDE4ICs2MCwxMyBAQCBkZWYgcGFyc2VfeGVuX3RhZ3MoKToNCj4+Pj4gDQo+Pj4+IA0K
Pj4+PiBkZWYgYnVpbGRfeGVuKCk6DQo+Pj4+IC0gICAgdHJ5Og0KPj4+PiAtICAgICAgICBzdWJw
cm9jZXNzLnJ1bigNCj4+Pj4gLSAgICAgICAgICAgICJtYWtlIC1DIHt9IHt9IGJ1aWxkIg0KPj4+
PiAtICAgICAgICAgICAgICAgIC5mb3JtYXQoc2V0dGluZ3MueGVuX2Rpciwgc2V0dGluZ3MubWFr
ZV9mb3J3YXJkX2FyZ3MpLA0KPj4+PiAtICAgICAgICAgICAgc2hlbGw9VHJ1ZSwgY2hlY2s9VHJ1
ZQ0KPj4+PiArICAgIHV0aWxzLmludm9rZV9jb21tYW5kKA0KPj4+PiArICAgICAgICAgICAgIm1h
a2UgLUMge30ge30ge30gYnVpbGQiDQo+Pj4+ICsgICAgICAgICAgICAgICAgLmZvcm1hdChzZXR0
aW5ncy54ZW5fZGlyLCBzZXR0aW5ncy5tYWtlX2ZvcndhcmRfYXJncywNCj4+Pj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgIGNwcGNoZWNrX2FuYWx5c2lzLmNwcGNoZWNrX2V4dHJhX21ha2VfYXJn
cyksDQo+Pj4+ICsgICAgICAgICAgICBGYWxzZSwgQnVpbGRQaGFzZUVycm9yLA0KPj4+PiArICAg
ICAgICAgICAgIkJ1aWxkIGVycm9yIG9jY3VyZWQgd2hlbiBydW5uaW5nOlxue30iDQo+Pj4+ICAg
ICAgICApDQo+Pj4+IC0gICAgZXhjZXB0IChzdWJwcm9jZXNzLkNhbGxlZFByb2Nlc3NFcnJvciwg
c3VicHJvY2Vzcy5TdWJwcm9jZXNzRXJyb3IpICBhcyBlOg0KPj4+PiAtICAgICAgICBleGNwID0g
QnVpbGRQaGFzZUVycm9yKA0KPj4+PiAtICAgICAgICAgICAgICAgICJCdWlsZCBlcnJvciBvY2N1
cmVkIHdoZW4gcnVubmluZzpcbnt9Ii5mb3JtYXQoZS5jbWQpDQo+Pj4+IC0gICAgICAgICAgICAp
DQo+Pj4+IC0gICAgICAgIGV4Y3AuZXJyb3Jjb2RlID0gZS5yZXR1cm5jb2RlIGlmIGhhc2F0dHIo
ZSwgJ3JldHVybmNvZGUnKSBlbHNlIDENCj4+Pj4gLSAgICAgICAgcmFpc2UgZXhjcA0KPj4+IA0K
Pj4+IEFueSByZWFzb24gd2h5IHdlIGNhbid0IGhhdmUgdXRpbHMuaW52b2tlX2NvbW1hbmQgZGly
ZWN0bHkgaW4gcGF0Y2ggIzE/DQo+PiANCj4+IFRoZXJlIHdhcyBvbmx5IG9uZSBpbnZvY2F0aW9u
LCBzbyBJIGxlZnQgdGhhdCBhcyBpdCB3YXMsIG5vdyBpZiBJIGNoYW5nZSBpdCBJIHRoaW5rIEkg
d2lsbCBsb3N0IHlvdXINCj4+IFRlc3RlZC1ieSBhbmQgYWNrLCBkbyB5b3Ugd2FudCBtZSB0byBw
dXQgYWxzbyBpbiB0aGUgZmlyc3QgcGF0Y2g/DQo+IA0KPiBZZXMgSSB0aGluayBpdCBpcyBmaW5l
LiBJIHBsYW4gdG8gdGVzdCBhZ2FpbiB5b3VyIG5leHQgdmVyc2lvbiBhbnl3YXkNCg0KT2sgSeKA
mWxsIGRvIHRoZSBtb2RpZmljYXRpb24NCg0KPiANCj4gDQo+Pj4+IGRlZiBjbGVhbl9hbmFseXNp
c19hcnRpZmFjdHMoKToNCj4+Pj4gZGlmZiAtLWdpdCBhL3hlbi9zY3JpcHRzL3hlbl9hbmFseXNp
cy9zZXR0aW5ncy5weSBiL3hlbi9zY3JpcHRzL3hlbl9hbmFseXNpcy9zZXR0aW5ncy5weQ0KPj4+
PiBpbmRleCA5NDdkZmEyZDUwYWYuLmJkMWZhYWZlNzlhMyAxMDA2NDQNCj4+Pj4gLS0tIGEveGVu
L3NjcmlwdHMveGVuX2FuYWx5c2lzL3NldHRpbmdzLnB5DQo+Pj4+ICsrKyBiL3hlbi9zY3JpcHRz
L3hlbl9hbmFseXNpcy9zZXR0aW5ncy5weQ0KPj4+PiBAQCAtNywxNCArNywyMyBAQCB4ZW5fZGly
ID0gb3MucGF0aC5yZWFscGF0aChtb2R1bGVfZGlyICsgIi8uLi8uLiIpDQo+Pj4+IHJlcG9fZGly
ID0gb3MucGF0aC5yZWFscGF0aCh4ZW5fZGlyICsgIi8uLiIpDQo+Pj4+IHRvb2xzX2RpciA9IG9z
LnBhdGgucmVhbHBhdGgoeGVuX2RpciArICIvdG9vbHMiKQ0KPj4+PiANCj4+Pj4gK3N0ZXBfZ2V0
X21ha2VfdmFycyA9IEZhbHNlDQo+Pj4+IHN0ZXBfcGFyc2VfdGFncyA9IFRydWUNCj4+Pj4gK3N0
ZXBfY3BwY2hlY2tfZGVwcyA9IEZhbHNlDQo+Pj4+IHN0ZXBfYnVpbGRfeGVuID0gVHJ1ZQ0KPj4+
PiArc3RlcF9jcHBjaGVja19yZXBvcnQgPSBGYWxzZQ0KPj4+PiBzdGVwX2NsZWFuX2FuYWx5c2lz
ID0gVHJ1ZQ0KPj4+PiArc3RlcF9kaXN0Y2xlYW5fYW5hbHlzaXMgPSBGYWxzZQ0KPj4+PiANCj4+
Pj4gdGFyZ2V0X2J1aWxkID0gRmFsc2UNCj4+Pj4gdGFyZ2V0X2NsZWFuID0gRmFsc2UNCj4+Pj4g
K3RhcmdldF9kaXN0Y2xlYW4gPSBGYWxzZQ0KPj4+PiANCj4+Pj4gYW5hbHlzaXNfdG9vbCA9ICIi
DQo+Pj4+ICtjcHBjaGVja19iaW5wYXRoID0gImNwcGNoZWNrIg0KPj4+PiArY3BwY2hlY2tfaHRt
bCA9IEZhbHNlDQo+Pj4+ICtjcHBjaGVja19odG1scmVwb3J0X2JpbnBhdGggPSAiY3BwY2hlY2st
aHRtbHJlcG9ydCINCj4+Pj4gK2NwcGNoZWNrX21pc3JhID0gRmFsc2UNCj4+Pj4gbWFrZV9mb3J3
YXJkX2FyZ3MgPSAiIg0KPj4+PiBvdXRkaXIgPSB4ZW5fZGlyDQo+Pj4+IA0KPj4+PiBAQCAtMjYs
MjkgKzM1LDQ3IEBAIFVzYWdlOiB7fSBbT1BUSU9OXSAuLi4gWy0tIFttYWtlIGFyZ3VtZW50c11d
DQo+Pj4+IFRoaXMgc2NyaXB0IHJ1bnMgdGhlIGFuYWx5c2lzIG9uIHRoZSBYZW4gY29kZWJhc2Uu
DQo+Pj4+IA0KPj4+PiBPcHRpb25zOg0KPj4+PiAtICAtLWJ1aWxkLW9ubHkgICAgUnVuIG9ubHkg
dGhlIGNvbW1hbmRzIHRvIGJ1aWxkIFhlbiB3aXRoIHRoZSBvcHRpb25hbCBtYWtlDQo+Pj4+IC0g
ICAgICAgICAgICAgICAgICBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBzY3JpcHQNCj4+Pj4gLSAg
LS1jbGVhbi1vbmx5ICAgIFJ1biBvbmx5IHRoZSBjb21tYW5kcyB0byBjbGVhbiB0aGUgYW5hbHlz
aXMgYXJ0aWZhY3RzDQo+Pj4+IC0gIC1oLCAtLWhlbHAgICAgICBQcmludCB0aGlzIGhlbHANCj4+
Pj4gLSAgLS1uby1idWlsZCAgICAgIFNraXAgdGhlIGJ1aWxkIFhlbiBwaGFzZQ0KPj4+PiAtICAt
LW5vLWNsZWFuICAgICAgRG9uXCd0IGNsZWFuIHRoZSBhbmFseXNpcyBhcnRpZmFjdHMgb24gZXhp
dA0KPj4+PiAtICAtLXJ1bi1jb3Zlcml0eSAgUnVuIHRoZSBhbmFseXNpcyBmb3IgdGhlIENvdmVy
aXR5IHRvb2wNCj4+Pj4gLSAgLS1ydW4tZWNsYWlyICAgIFJ1biB0aGUgYW5hbHlzaXMgZm9yIHRo
ZSBFY2xhaXIgdG9vbA0KPj4+PiArICAtLWJ1aWxkLW9ubHkgICAgICAgICAgUnVuIG9ubHkgdGhl
IGNvbW1hbmRzIHRvIGJ1aWxkIFhlbiB3aXRoIHRoZSBvcHRpb25hbA0KPj4+PiArICAgICAgICAg
ICAgICAgICAgICAgICAgbWFrZSBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBzY3JpcHQNCj4+Pj4g
KyAgLS1jbGVhbi1vbmx5ICAgICAgICAgIFJ1biBvbmx5IHRoZSBjb21tYW5kcyB0byBjbGVhbiB0
aGUgYW5hbHlzaXMgYXJ0aWZhY3RzDQo+Pj4+ICsgIC0tY3BwY2hlY2stYmluPSAgICAgICBQYXRo
IHRvIHRoZSBjcHBjaGVjayBiaW5hcnkgKERlZmF1bHQ6IHt9KQ0KPj4+PiArICAtLWNwcGNoZWNr
LWh0bWwgICAgICAgUHJvZHVjZSBhbiBhZGRpdGlvbmFsIEhUTUwgb3V0cHV0IHJlcG9ydCBmb3Ig
Q3BwY2hlY2sNCj4+Pj4gKyAgLS1jcHBjaGVjay1odG1sLWJpbj0gIFBhdGggdG8gdGhlIGNwcGNo
ZWNrLWh0bWwgYmluYXJ5IChEZWZhdWx0OiB7fSkNCj4+Pj4gKyAgLS1jcHBjaGVjay1taXNyYSAg
ICAgIEFjdGl2YXRlIHRoZSBDcHBjaGVjayBNSVNSQSBhbmFseXNpcw0KPj4+PiArICAtLWRpc3Rj
bGVhbiAgICAgICAgICAgQ2xlYW4gYW5hbHlzaXMgYXJ0aWZhY3RzIGFuZCByZXBvcnRzDQo+Pj4+
ICsgIC1oLCAtLWhlbHAgICAgICAgICAgICBQcmludCB0aGlzIGhlbHANCj4+Pj4gKyAgLS1uby1i
dWlsZCAgICAgICAgICAgIFNraXAgdGhlIGJ1aWxkIFhlbiBwaGFzZQ0KPj4+PiArICAtLW5vLWNs
ZWFuICAgICAgICAgICAgRG9uXCd0IGNsZWFuIHRoZSBhbmFseXNpcyBhcnRpZmFjdHMgb24gZXhp
dA0KPj4+PiArICAtLXJ1bi1jb3Zlcml0eSAgICAgICAgUnVuIHRoZSBhbmFseXNpcyBmb3IgdGhl
IENvdmVyaXR5IHRvb2wNCj4+Pj4gKyAgLS1ydW4tY3BwY2hlY2sgICAgICAgIFJ1biB0aGUgQ3Bw
Y2hlY2sgYW5hbHlzaXMgdG9vbCBvbiBYZW4NCj4+Pj4gKyAgLS1ydW4tZWNsYWlyICAgICAgICAg
IFJ1biB0aGUgYW5hbHlzaXMgZm9yIHRoZSBFY2xhaXIgdG9vbA0KPj4+PiAiIiINCj4+Pj4gLSAg
ICBwcmludChtc2cuZm9ybWF0KHN5cy5hcmd2WzBdKSkNCj4+Pj4gKyAgICBwcmludChtc2cuZm9y
bWF0KHN5cy5hcmd2WzBdLCBjcHBjaGVja19iaW5wYXRoLA0KPj4+PiArICAgICAgICAgICAgICAg
ICAgICAgY3BwY2hlY2tfaHRtbHJlcG9ydF9iaW5wYXRoKSkNCj4+Pj4gDQo+Pj4+IA0KPj4+PiBk
ZWYgcGFyc2VfY29tbWFuZGxpbmUoYXJndik6DQo+Pj4+ICAgIGdsb2JhbCBhbmFseXNpc190b29s
DQo+Pj4+ICsgICAgZ2xvYmFsIGNwcGNoZWNrX2JpbnBhdGgNCj4+Pj4gKyAgICBnbG9iYWwgY3Bw
Y2hlY2tfaHRtbA0KPj4+PiArICAgIGdsb2JhbCBjcHBjaGVja19odG1scmVwb3J0X2JpbnBhdGgN
Cj4+Pj4gKyAgICBnbG9iYWwgY3BwY2hlY2tfbWlzcmENCj4+Pj4gICAgZ2xvYmFsIG1ha2VfZm9y
d2FyZF9hcmdzDQo+Pj4+ICAgIGdsb2JhbCBvdXRkaXINCj4+Pj4gKyAgICBnbG9iYWwgc3RlcF9n
ZXRfbWFrZV92YXJzDQo+Pj4+ICAgIGdsb2JhbCBzdGVwX3BhcnNlX3RhZ3MNCj4+Pj4gKyAgICBn
bG9iYWwgc3RlcF9jcHBjaGVja19kZXBzDQo+Pj4+ICAgIGdsb2JhbCBzdGVwX2J1aWxkX3hlbg0K
Pj4+PiArICAgIGdsb2JhbCBzdGVwX2NwcGNoZWNrX3JlcG9ydA0KPj4+PiAgICBnbG9iYWwgc3Rl
cF9jbGVhbl9hbmFseXNpcw0KPj4+PiArICAgIGdsb2JhbCBzdGVwX2Rpc3RjbGVhbl9hbmFseXNp
cw0KPj4+PiAgICBnbG9iYWwgdGFyZ2V0X2J1aWxkDQo+Pj4+ICAgIGdsb2JhbCB0YXJnZXRfY2xl
YW4NCj4+Pj4gKyAgICBnbG9iYWwgdGFyZ2V0X2Rpc3RjbGVhbg0KPj4+PiAgICBmb3J3YXJkX3Rv
X21ha2UgPSBGYWxzZQ0KPj4+PiAgICBmb3Igb3B0aW9uIGluIGFyZ3Y6DQo+Pj4+ICsgICAgICAg
IGFyZ3Nfd2l0aF9jb250ZW50X3JlZ2V4ID0gcmUubWF0Y2gocideKC0tW2Etel0rW2Etei1dKik9
KC4qKSQnLCBvcHRpb24pDQo+Pj4+ICsNCj4+Pj4gICAgICAgIGlmIGZvcndhcmRfdG9fbWFrZToN
Cj4+Pj4gICAgICAgICAgICAjIEludGVyY2VwdCBvdXRkaXINCj4+Pj4gICAgICAgICAgICBvdXRk
aXJfcmVnZXggPSByZS5tYXRjaCgiXk89KC4qKSQiLCBvcHRpb24pDQo+Pj4+IEBAIC02MCw2ICs4
NywxOCBAQCBkZWYgcGFyc2VfY29tbWFuZGxpbmUoYXJndik6DQo+Pj4+ICAgICAgICAgICAgdGFy
Z2V0X2J1aWxkID0gVHJ1ZQ0KPj4+PiAgICAgICAgZWxpZiBvcHRpb24gPT0gIi0tY2xlYW4tb25s
eSI6DQo+Pj4+ICAgICAgICAgICAgdGFyZ2V0X2NsZWFuID0gVHJ1ZQ0KPj4+PiArICAgICAgICBl
bGlmIGFyZ3Nfd2l0aF9jb250ZW50X3JlZ2V4IGFuZCBcDQo+Pj4+ICsgICAgICAgICAgICAgYXJn
c193aXRoX2NvbnRlbnRfcmVnZXguZ3JvdXAoMSkgPT0gIi0tY3BwY2hlY2stYmluIjoNCj4+Pj4g
KyAgICAgICAgICAgIGNwcGNoZWNrX2JpbnBhdGggPSBhcmdzX3dpdGhfY29udGVudF9yZWdleC5n
cm91cCgyKQ0KPj4+PiArICAgICAgICBlbGlmIG9wdGlvbiA9PSAiLS1jcHBjaGVjay1odG1sIjoN
Cj4+Pj4gKyAgICAgICAgICAgIGNwcGNoZWNrX2h0bWwgPSBUcnVlDQo+Pj4+ICsgICAgICAgIGVs
aWYgYXJnc193aXRoX2NvbnRlbnRfcmVnZXggYW5kIFwNCj4+Pj4gKyAgICAgICAgICAgICBhcmdz
X3dpdGhfY29udGVudF9yZWdleC5ncm91cCgxKSA9PSAiLS1jcHBjaGVjay1odG1sLWJpbiI6DQo+
Pj4+ICsgICAgICAgICAgICBjcHBjaGVja19odG1scmVwb3J0X2JpbnBhdGggPSBhcmdzX3dpdGhf
Y29udGVudF9yZWdleC5ncm91cCgyKQ0KPj4+PiArICAgICAgICBlbGlmIG9wdGlvbiA9PSAiLS1j
cHBjaGVjay1taXNyYSI6DQo+Pj4+ICsgICAgICAgICAgICBjcHBjaGVja19taXNyYSA9IFRydWUN
Cj4+Pj4gKyAgICAgICAgZWxpZiBvcHRpb24gPT0gIi0tZGlzdGNsZWFuIjoNCj4+Pj4gKyAgICAg
ICAgICAgIHRhcmdldF9kaXN0Y2xlYW4gPSBUcnVlDQo+Pj4+ICAgICAgICBlbGlmIChvcHRpb24g
PT0gIi0taGVscCIpIG9yIChvcHRpb24gPT0gIi1oIik6DQo+Pj4+ICAgICAgICAgICAgaGVscCgp
DQo+Pj4+ICAgICAgICAgICAgc3lzLmV4aXQoMCkNCj4+Pj4gQEAgLTY5LDYgKzEwOCwxMSBAQCBk
ZWYgcGFyc2VfY29tbWFuZGxpbmUoYXJndik6DQo+Pj4+ICAgICAgICAgICAgc3RlcF9jbGVhbl9h
bmFseXNpcyA9IEZhbHNlDQo+Pj4+ICAgICAgICBlbGlmIChvcHRpb24gPT0gIi0tcnVuLWNvdmVy
aXR5Iikgb3IgKG9wdGlvbiA9PSAiLS1ydW4tZWNsYWlyIik6DQo+Pj4+ICAgICAgICAgICAgYW5h
bHlzaXNfdG9vbCA9IG9wdGlvbls2Ol0NCj4+Pj4gKyAgICAgICAgZWxpZiAob3B0aW9uID09ICIt
LXJ1bi1jcHBjaGVjayIpOg0KPj4+PiArICAgICAgICAgICAgYW5hbHlzaXNfdG9vbCA9ICJjcHBj
aGVjayINCj4+Pj4gKyAgICAgICAgICAgIHN0ZXBfZ2V0X21ha2VfdmFycyA9IFRydWUNCj4+Pj4g
KyAgICAgICAgICAgIHN0ZXBfY3BwY2hlY2tfZGVwcyA9IFRydWUNCj4+Pj4gKyAgICAgICAgICAg
IHN0ZXBfY3BwY2hlY2tfcmVwb3J0ID0gVHJ1ZQ0KPj4+PiAgICAgICAgZWxpZiBvcHRpb24gPT0g
Ii0tIjoNCj4+Pj4gICAgICAgICAgICBmb3J3YXJkX3RvX21ha2UgPSBUcnVlDQo+Pj4+ICAgICAg
ICBlbHNlOg0KPj4+PiBAQCAtNzYsMTMgKzEyMCwyMyBAQCBkZWYgcGFyc2VfY29tbWFuZGxpbmUo
YXJndik6DQo+Pj4+ICAgICAgICAgICAgaGVscCgpDQo+Pj4+ICAgICAgICAgICAgc3lzLmV4aXQo
MSkNCj4+Pj4gDQo+Pj4+IC0gICAgaWYgdGFyZ2V0X2J1aWxkIGFuZCB0YXJnZXRfY2xlYW46DQo+
Pj4+IC0gICAgICAgIHByaW50KCItLWJ1aWxkLW9ubHkgaXMgbm90IGNvbXBhdGlibGUgd2l0aCAt
LWNsZWFuLW9ubHkgYXJndW1lbnQuIikNCj4+Pj4gKyAgICBpZiB0YXJnZXRfYnVpbGQgYW5kICh0
YXJnZXRfY2xlYW4gb3IgdGFyZ2V0X2Rpc3RjbGVhbik6DQo+Pj4+ICsgICAgICAgIHByaW50KCIt
LWJ1aWxkLW9ubHkgaXMgbm90IGNvbXBhdGlibGUgd2l0aCAtLWNsZWFuLW9ubHkvLS1kaXN0Y2xl
YW4gIg0KPj4+PiArICAgICAgICAgICAgICAiYXJndW1lbnQuIikNCj4+Pj4gICAgICAgIHN5cy5l
eGl0KDEpDQo+Pj4+IA0KPj4+PiArICAgIGlmIHRhcmdldF9kaXN0Y2xlYW46DQo+Pj4+ICsgICAg
ICAgICMgSW1wbGljaXQgYWN0aXZhdGlvbiBvZiBjbGVhbiB0YXJnZXQNCj4+Pj4gKyAgICAgICAg
dGFyZ2V0X2NsZWFuID0gVHJ1ZQ0KPj4+PiArDQo+Pj4+ICsgICAgICAgIHN0ZXBfZGlzdGNsZWFu
X2FuYWx5c2lzID0gVHJ1ZQ0KPj4+PiArDQo+Pj4+ICAgIGlmIHRhcmdldF9jbGVhbjoNCj4+Pj4g
KyAgICAgICAgc3RlcF9nZXRfbWFrZV92YXJzID0gRmFsc2UNCj4+Pj4gICAgICAgIHN0ZXBfcGFy
c2VfdGFncyA9IEZhbHNlDQo+Pj4+ICsgICAgICAgIHN0ZXBfY3BwY2hlY2tfZGVwcyA9IEZhbHNl
DQo+Pj4+ICAgICAgICBzdGVwX2J1aWxkX3hlbiA9IEZhbHNlDQo+Pj4+ICsgICAgICAgIHN0ZXBf
Y3BwY2hlY2tfcmVwb3J0ID0gRmFsc2UNCj4+Pj4gICAgICAgIHN0ZXBfY2xlYW5fYW5hbHlzaXMg
PSBUcnVlDQo+Pj4+ICAgICAgICByZXR1cm4NCj4+Pj4gDQo+Pj4+IEBAIC05NSwzICsxNDksNCBA
QCBkZWYgcGFyc2VfY29tbWFuZGxpbmUoYXJndik6DQo+Pj4+ICAgICAgICBzdGVwX3BhcnNlX3Rh
Z3MgPSBGYWxzZQ0KPj4+PiAgICAgICAgc3RlcF9idWlsZF94ZW4gPSBUcnVlDQo+Pj4+ICAgICAg
ICBzdGVwX2NsZWFuX2FuYWx5c2lzID0gRmFsc2UNCj4+Pj4gKyAgICAgICAgc3RlcF9jcHBjaGVj
a19yZXBvcnQgPSBGYWxzZQ0KPj4+IA0KPj4+IEkgdGhpbmsgdGhhdCB0YXJnZXRfYnVpbGQgc2hv
dWxkIG5vdCBzYXkgYW55dGhpbmcgYWJvdXQNCj4+PiBzdGVwX2NwcGNoZWNrX3JlcG9ydC4NCj4+
PiANCj4+PiAtIGlmIG9uZSB3YW50cyB0byBqdXN0IGRvIGEgcmVndWxhciBidWlsZCwgdGhleSBj
YW4gZG8gIm1ha2UgeGVuIg0KPj4+IC0gaWYgb25lIGlzIGNhbGxpbmcgeGVuLWFuYWx5c2lzLnB5
IC0tY3BwY2hlY2staHRtbCAtLXJ1bi1jcHBjaGVjaw0KPj4+IC0tYnVpbGQtb25seSwgaXQgbWVh
bnMgdGhhdCB0aGV5IHdhbnQgdGhlIGJ1aWxkIGRvbmUsIG5vdCB0aGUgY2xlYW5pbmcNCj4+PiBk
b25lLCBub3QgdGhlIHRhZ3Mgc3Vic3RpdHV0aW9uLiBJZiB0aGV5IGFsc28gYWRkIC0tY3BwY2hl
Y2staHRtbCBhbmQNCj4+PiAtLXJ1bi1jcHBjaGVjaywgdGhlbiBpdCBtZWFucyB0aGF0IHRoZXkg
YWxzbyB3YW50IHRoZSBjcHBjaGVjayByZXBvcnQNCj4+PiBwcm9kdWNlZC4gLS1idWlsZC1vbmx5
IHN0aWxsIG1ha2VzIHNlbnNlIGJlY2F1c2UgdGhleSBkb24ndCB3YW50IHRoZQ0KPj4+IGNsZWFu
aW5nIGRvbmUgYW5kIGRvbid0IHdhbnQgdGhlIHRhZyBzdWJzdGl0dXRpb24uDQo+Pj4gDQo+Pj4g
RG9lcyBpdCBtYWtlIHNlbnNlIHRvIHlvdSBhcyB3ZWxsPw0KPj4+IA0KPj4+IA0KPj4+IElmIGl0
IGRvZXMsIEkgdGhpbmsgd2UgYWxzbyBuZWVkIHRvIGFkZCBhIG5vdGUgaW4gdGhlIGhlbHAgbWVz
c2FnZSBmcm9tDQo+Pj4geGVuX2FuYWx5c2lzIGJlY2F1c2UgaXQgaXMgbm90IGNsZWFyLiBTbyBi
YXNpY2FsbHk6DQo+Pj4gDQo+Pj4gPG5vdGhpbmc+OiB0YWdzLCBidWlsZCwgY2xlYW4gWywgY3Bw
Y2hlY2tdDQo+Pj4gLS1uby1jbGVhbjogdGFncywgYnVpbGQgWywgY3BwY2hlY2tdDQo+Pj4gLS1i
dWlsZC1vbmx5OiBidWlsZCBbLCBjcHBjaGVja10NCj4+PiAtLW5vLWJ1aWxkOiB0YWdzDQo+Pj4g
LS1jbGVhbi1vbmx5OiBjbGVhbg0KPj4+IA0KPj4+IERpZCBJIGdldCBpdCByaWdodD8NCj4+IA0K
Pj4gT2sgSSBjYW4gbGVhdmUgdGhlIHJlcG9ydCBnZW5lcmF0aW9uIHdpdGggdGhlIGJ1aWxkLW9u
bHksIEkgd2lsbCBhbHNvIGV4cGxhaW4gYmV0dGVyDQo+PiBJbiB0aGUgaGVscA0KPiANCj4gVGhh
bmsgeW91DQo+IA0KPiANCj4+Pj4gKw0KPj4+PiArZnVuY3Rpb24gY3JlYXRlX2pjZCgpIHsNCj4+
Pj4gKyAgICBsb2NhbCBsaW5lPSIkezF9Ig0KPj4+PiArICAgIGxvY2FsIGFyZ19udW09MA0KPj4+
PiArICAgIGxvY2FsIHNhbWVfbGluZT0wDQo+Pj4+ICsNCj4+Pj4gKyAgICB7DQo+Pj4+ICsgICAg
ICAgIGVjaG8gLWUgLW4gIltcbiINCj4+PiANCj4+PiBFdmVyeXdoZXJlIGluIHRoaXMgYmFzaCBm
dW5jdGlvbjogdGhlcmUgaXMgbm8gcG9pbnQgaW4gcGFzc2luZyAtbiBhbmQNCj4+PiB0aGVuIGFk
ZGluZyBcbiBhdCB0aGUgZW5kLiBZb3UgbWlnaHQgYXMgd2VsbCBkbyB0aGlzOg0KPj4+IA0KPj4+
IGVjaG8gLWUgIlsiDQo+Pj4gDQo+Pj4gQWxzbywgeW91J2xsIGZpbmQgdGhhdCBpbiBtb3N0IGNh
c2VzLCB5b3UgZG9uJ3QgbmVlZCAtZSBlaXRoZXIsIHdoaWNoDQo+Pj4gc2ltcGxpZmllcyBpdCB0
bzoNCj4+PiANCj4+PiBlY2hvICJbIg0KPj4+IA0KPj4+IFRoYXQncyBiZXR0ZXIgcmlnaHQ/IDot
KSAgT2YgY291cnNlIGZlZWwgZnJlZSB0byB1c2UgLWUgd2hlbiB5b3UgaGF2ZQ0KPj4+IGVzY2Fw
ZSBhbmQgLW4gd2hlbiB5b3UgZG9uJ3Qgd2FudCBcbiBpbiB0aGUgb3V0cHV0DQo+PiANCj4+IFll
YWggSSBndWVzcyB0aGV5IGNvbWUgZnJvbSBjb3B5IHBhc3RlLCBJIGNhbiB1c2UgdGhlIHJpZ2h0
IGFyZ3VtZW50cyB3aGVuIG5lZWRlZA0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 17:24:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 17:24:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455379.712826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2bg6-0002rU-NU; Tue, 06 Dec 2022 17:24:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455379.712826; Tue, 06 Dec 2022 17:24:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2bg6-0002rN-JS; Tue, 06 Dec 2022 17:24:22 +0000
Received: by outflank-mailman (input) for mailman id 455379;
 Tue, 06 Dec 2022 17:24:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZZAw=4E=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p2bg5-0002rH-Er
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 17:24:21 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d19be49a-758a-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 18:24:20 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 7F6E8B81714;
 Tue,  6 Dec 2022 17:24:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C1929C433C1;
 Tue,  6 Dec 2022 17:24:16 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d19be49a-758a-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670347458;
	bh=3D4r97ph0scMN694s1arrM5jaJ2W/XQZ6eF/9JRyiHQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=uhWZZyCo0aR82x7Tkew/wrK0piYMApUbSdGUrSNErgkUG/6Cu99SP10KAoEdr+LRe
	 JxH+jLUxCU1tDqCMGOGTHzKna2jp7EbpOFljdTq7GGsBuFY2suY7YOSrGkLoNyysOP
	 BaRG66mCERvBpyO79cmh+0pv0pNM7WlZWP2j20fVgdJriV6VRPMai9FrdKJ9/qY++7
	 ZJQTC555ibRLS+Y/OXHGEzxKkDcHDUYAgh87Pv7Tp8Dp9QogT2kBR4SogRIdYEL9/8
	 dEnbzko2MNc2wQQaqxkaS9U4j8kI1ibkcbEiv0rKB29G7j+46b434ccTS2ZAZoA3C1
	 VMYiiQDMip6gg==
Date: Tue, 6 Dec 2022 09:24:15 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 2/5] xen/scripts: add cppcheck tool to the xen-analysis.py
 script
In-Reply-To: <40F42492-9DFF-46DA-BF1A-7393CE29202C@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212060922230.4039@ubuntu-linux-20-04-desktop>
References: <20221205154052.14191-1-luca.fancellu@arm.com> <20221205154052.14191-3-luca.fancellu@arm.com> <alpine.DEB.2.22.394.2212051650300.4039@ubuntu-linux-20-04-desktop> <E67F8041-D3D1-4A8A-9A8F-319C522CB0D5@arm.com> <alpine.DEB.2.22.394.2212060858180.4039@ubuntu-linux-20-04-desktop>
 <40F42492-9DFF-46DA-BF1A-7393CE29202C@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1764806118-1670347458=:4039"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1764806118-1670347458=:4039
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 6 Dec 2022, Luca Fancellu wrote:
> > On 6 Dec 2022, at 17:06, Stefano Stabellini <sstabellini@kernel.org> wrote:
> > On Tue, 6 Dec 2022, Luca Fancellu wrote:
> >> Hi Stefano,
> >>>> 
> >>>> +++ b/docs/misra/false-positive-cppcheck.json
> >>>> @@ -0,0 +1,12 @@
> >>>> +{
> >>>> +    "version": "1.0",
> >>>> +    "content": [
> >>>> +        {
> >>>> +            "id": "SAF-0-false-positive-cppcheck",
> >>>> +            "violation-id": "",
> >>>> +            "tool-version": "",
> >>>> +            "name": "Sentinel",
> >>>> +            "text": "Next ID to be used"
> >>>> +        }
> >>>> +    ]
> >>>> +}
> >>> 
> >>> I think we need to add to the cppcheck document how to figure out the
> >>> cppcheck id for a given violation in the html report
> >> 
> >> I’m planning to send some patches with cppcheck false positive fixes, would them be enough?
> >> 
> >> We already have a section in documenting-violation.rst on how to document the finding, for
> >> cppcheck it’s just a matter to get the text report, do you think it’s better to add a part to that section
> >> on how to locate the cppcheck violation id from its text report?
> > 
> > Examples would certainly help a lot. Looking at the html results it
> > wasn't clear to me what the violation-id actually was. It took me a few
> > tries to understand that "shadowVariable" was the cppcheck violation-id.
> > 
> > Maybe just add: look under the column "Defect ID" amoung the html
> > results to find the violation-id, such as "variableScope".
> 
> I was thinking about showing where to locate the violation ID from the text report, do you think it’s better
> to give an example from the HTML report instead?

I haven't used the text report, only the HTML report, so far. Maybe you
could document both.


> So far I have added this part to the bottom of documenting-violations.rst:
> 
> Also, the same tag can be used on other symbols from the linker that are
> declared in the codebase, because the justification holds for them too.
> 
> A possible violation found by Cppcheck can be handled in the same way, from the
> cppcheck report it is possible to identify the violation id:
> 
> | include/public/arch-arm.h(226,0):misra-c2012-20.7:style:Expressions resulting from the expansion of macro parameters shall be enclosed in parentheses (Misra rule 20.7)
> 
> Given the violation id "misra-c2012-20.7", we can follow the procedure above to
> justify the finding.

Yes that makes sense, and maybe add something similar for the html
report
--8323329-1764806118-1670347458=:4039--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 17:38:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 17:38:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455388.712837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2btr-0004nl-1l; Tue, 06 Dec 2022 17:38:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455388.712837; Tue, 06 Dec 2022 17:38:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2btq-0004ne-UX; Tue, 06 Dec 2022 17:38:34 +0000
Received: by outflank-mailman (input) for mailman id 455388;
 Tue, 06 Dec 2022 17:38:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2btp-0004nY-IF
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 17:38:33 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb735672-758c-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 18:38:30 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id DF2B63200916;
 Tue,  6 Dec 2022 12:38:26 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Tue, 06 Dec 2022 12:38:27 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 6 Dec 2022 12:38:25 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb735672-758c-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670348306; x=
	1670434706; bh=V2nKmtARX8y3Galthxhhq6hUM5pjvz4rWj2KWQTxA3s=; b=t
	InGqcOPPt1J4IJS/PtQgxWV3kPeRDDJTwhGACtBhIXrJqp6yzLEcAsasfHN6oYC7
	lX3F9poTfwiUQw2GRSkDeJo7tXG86u9lh/L/p+3fTX1cVnJl1TKEkE9PDpqFQfZC
	OAiNQkfRDeK8wAdKdjxCtdidKS1UeGZnx6xE9Ood7E4HcerBm2I0eBiQ5WOS9YZA
	5eqZFh7mN+nT8raIZlKU1qz7FzymrXWL4zjTtxY8PnVlGVb5A3snwe4lJI1CXqp2
	gCf2MqhwElAwK5sE/okeFUg1uuVKXo/zMRK91+DLsMV9YdvBL2psGyNWK4v/dhiX
	SO08Vog6cu3CE0jwsEVfw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1670348306; x=1670434706; bh=V2nKmtARX8y3Galthxhhq6hUM5pj
	vz4rWj2KWQTxA3s=; b=jZk2cnjYvqcIxDwRoKq/RLnE9KneL3onRo8RLdLgMV4b
	fVULeJIu0bbA0+ZXStXZMF065syeeXWK+at0TJATHC6maYfe/2u66WLoGYJ1iBXx
	9rpOLXedUhwgchT6AZRIUYjO6suw7rqclLmOvboG1TwbA1w5NcqCiYflG8b6/RFr
	rJ8n9RbxpsS/4R3adQQmr3AiJKrgWxkfAokEZcHUQRYcagBunpWzeJo2gUm1DYHl
	3HTVH1lkoH60/rPOLiDL0vgX4CjMOwTKMnli2TswhndZx5lnldmNkTnp3F75CYJX
	luR4HQMtbONX18lYOeJwaH2aIf3EqvtSL28AAAjJbg==
X-ME-Sender: <xms:En6PYz8TN64ZufiFwhkDrxdrs3MJx5f9ERIIvrT6-S0bjqTqEAakkg>
    <xme:En6PY_vnx1BuBQDwXGK-cNvFNe5iAuuSn9qebcxWMXRgjOlzk6Hyg_ZMovscG0mVd
    Uts47mur0cre2U>
X-ME-Received: <xmr:En6PYxCgTXx78GPJQn8Vhfjwbc7Skr56tsl6KRFEELo4BhLrBX4uTT1tbdsm>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudeigddutdefucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepvdejteegkefhteduhffgteffgeff
    gfduvdfghfffieefieekkedtheegteehffelnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:En6PY_fyfl7pLpgzA7BJpLKo4uTntiFCtTsYaIjJTQQ4RpF3Kk7ugg>
    <xmx:En6PY4MhT7Sv6GjdwxGpKG3ORl167PK3WdButZgqBYAO_ht29AcGsw>
    <xmx:En6PYxmTd91zXMqSwxicUtuuSNeyEZ9gqPdJfOB74P2uq7A-x39cHw>
    <xmx:En6PY32iVGO818INr4auMuJx1C8FpUBqNxipVrkDm6hPjp6H82kf7Q>
Feedback-ID: iac594737:Fastmail
Date: Tue, 6 Dec 2022 12:38:19 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 4/8] efi: Avoid hard-coding the various PAT constants
Message-ID: <Y49+DyuzcLU2PxLt@itl-email>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <ea32e526153a40837484ba9c64a7d157804b6c27.1670300446.git.demi@invisiblethingslab.com>
 <4f34f039-b0b9-1761-b5d0-936f25e8a50a@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="vnZ8zmPhSWM/Qsr8"
Content-Disposition: inline
In-Reply-To: <4f34f039-b0b9-1761-b5d0-936f25e8a50a@citrix.com>


--vnZ8zmPhSWM/Qsr8
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 6 Dec 2022 12:38:19 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 4/8] efi: Avoid hard-coding the various PAT constants

On Tue, Dec 06, 2022 at 11:17:20AM +0000, Andrew Cooper wrote:
> On 06/12/2022 04:33, Demi Marie Obenour wrote:
> > This makes the code much easier to understand, and avoids problems if
> > Xen's PAT ever changes in the future.
> >
> > Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> > ---
> >  xen/common/efi/boot.c | 10 +++++-----
> >  1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
> > index 8e880fe30c7541a202dec3e665300d6549953aa3..260997b251b09dae4b48c1b=
1db665778e02d760a 100644
> > --- a/xen/common/efi/boot.c
> > +++ b/xen/common/efi/boot.c
> > @@ -1746,21 +1746,21 @@ void __init efi_init_memory(void)
> >          if ( desc->Attribute & EFI_MEMORY_WB )
> >              /* nothing */;
>=20
> This is an implicit 0 case which wants changing to _PAGE_WB.

Good catch!  I will make this change in v2, but I also will add
BUILD_BUG_ON(_PAGE_WB), as at least Linux assumes that _PAGE_WB is 0.

> >          else if ( desc->Attribute & EFI_MEMORY_WT )
> > -            prot |=3D _PAGE_PWT | MAP_SMALL_PAGES;
> > +            prot |=3D _PAGE_WT | MAP_SMALL_PAGES;
> >          else if ( desc->Attribute & EFI_MEMORY_WC )
> > -            prot |=3D _PAGE_PAT | MAP_SMALL_PAGES;
> > +            prot |=3D _PAGE_WC | MAP_SMALL_PAGES;
> >          else if ( desc->Attribute & (EFI_MEMORY_UC | EFI_MEMORY_UCE) )
> > -            prot |=3D _PAGE_PWT | _PAGE_PCD | MAP_SMALL_PAGES;
> > +            prot |=3D _PAGE_UC | MAP_SMALL_PAGES;
> >          else if ( efi_bs_revision >=3D EFI_REVISION(2, 5) &&
> >                    (desc->Attribute & EFI_MEMORY_WP) )
> > -            prot |=3D _PAGE_PAT | _PAGE_PWT | MAP_SMALL_PAGES;
> > +            prot |=3D _PAGE_WP | MAP_SMALL_PAGES;
>=20
> Unrelated to the transformation. I'm unconvinced about the correctness
> of using MAP_SMALL_PAGES here.=C2=A0 There's nothing wrong with large pag=
es
> of reduced cache-ability, and the framebuffer is going to live in one of
> these regions, probably a WC one...

I can make that a separate patch.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--vnZ8zmPhSWM/Qsr8
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOPfg8ACgkQsoi1X/+c
IsEJMQ//XOXQbEYaPL6XgfY/SQhZccnCqSgjPX+pxmqHXFaFOw0SvUrhIY5sOMBV
C7MFKum9xS9QlvoNZ1Czk8aak1uGMmiRLJ3y10SKqspAkm5+aqPhfwIE5gGpA883
JtpFg0CMXkop8sJdtTLKSYZDmCO/k/0ji8RmUOBjVmGR66A6d1oXGsJtR4Av9csJ
GwU+aPUmp9hxh/2Yo4zplPQwOP6k8ojP7Jtu6SpxWY4PjQa6lnaeC0XwAOTXVqu0
NG9VelMmwZlSME3pVFWKBjTbZOvoLwNdPfK9f7IOkdt2UtDQVlzNeCRo7HRxcDNm
RJNs3w66O8Xg7tJNx6WWNUqwZntQ3l4xT3o4XN/Ns5zUtBHM9ZLkiPu8IS6k6IT6
6uAEbNlDARczzR5tHT+oWEu+9Lj6cvIQwHxZ+69oP78z1HIA0u3VKKzHtCNTaUrF
W6wz8jO1fTzyetsmBhHU75ivBZXXeGjJKLcf6uMHl6+Y+yRgH5mciOb19ErIE9gi
+5Fh3eBcuhzxA2e4SEj2Ip4tu/E1YKEP1YVS5dJeLxJbYOkeI+Xg3XH51JB8m1yo
CO7B5fQFEEJ9nWirJsIYHdwhmzENqX2Jp7o4EQWAQYDGhS+jTr+pvEvw9h+8xODo
KVNUrMJxuhUc/Qp8Aaoo23h+WfJkAyTgIJNBnIPkFCh49t8qtkM=
=uMcZ
-----END PGP SIGNATURE-----

--vnZ8zmPhSWM/Qsr8--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 17:44:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 17:44:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455396.712847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2bzq-0006ab-Lr; Tue, 06 Dec 2022 17:44:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455396.712847; Tue, 06 Dec 2022 17:44:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2bzq-0006aU-JC; Tue, 06 Dec 2022 17:44:46 +0000
Received: by outflank-mailman (input) for mailman id 455396;
 Tue, 06 Dec 2022 17:44:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2bzp-0006aO-8M
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 17:44:45 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a95ddfa4-758d-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 18:44:43 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 39EB832000D7;
 Tue,  6 Dec 2022 12:44:39 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Tue, 06 Dec 2022 12:44:39 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 6 Dec 2022 12:44:37 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a95ddfa4-758d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670348678; x=
	1670435078; bh=tUHwzAYdFynBoWNTayYlb2OFmj2e3mDaT11ayfBr6Ik=; b=I
	QoOxUycZ3mm5SV+54MrFUDqS95EnYR5kkUtay256horx5DvvVA3lQ3H8sWXxhzwG
	D48N7P7lnugjzkcV4+rYASq+aX12xh2QYrnWMx4M/AsgQNQNYhHqPK58Wy6M5ntc
	LralyMOKR9Zs/lTNsSP5rQq9gOUjj0VgOE5mOkyA0fUnhadjq09Yn3qt71QuVNNM
	hHlnoBSbcQGtsZnRL4ETbV4AD8DQehuv4eeLbjWFjbe7kV4pcwhuQqF5MBuzp0gg
	bxpg55+W70wHmgD6sFjcUVPa7s/3u96Z2HjKFF0MKMOtHug7ssZohw81gfqVb3CJ
	BvnRfOtZin0AT7Eb/TMJw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1670348678; x=1670435078; bh=tUHwzAYdFynBoWNTayYlb2OFmj2e
	3mDaT11ayfBr6Ik=; b=Qf+5Agjmn0tEOwWOlt8zdvegfl1DARw0/ymyHWso6u4t
	keunNBw4XWtvY5QXRkrb/4Sy28HKOSmWu/zLNhIP1xzx2NWgHi6OTfvwjHOY7SOQ
	yF5NbxrP02ZZC9DmnS6eMFT6EQUJMKBTdpcf4EXJF8l4+YDXBGTtMg3k7d3Ax2Il
	eENDXMIBhGjNVo2KtEfi/H11mhx0YLn1QwhLBN9v2JJj6j5JpV433JjvqiXApYgb
	Qum7dyzsYzFCMWG7oR/Ykq6wjshAkrhHSw/w+t4vaCk0Yod5of6Bu6HSYQpa2UtM
	BczlqgR1CwOQIBV3VwuPGpEa0DAcenDS+Tts0+ot9Q==
X-ME-Sender: <xms:hn-PYxQP2cv5I7WXhQMjdvsT8xBf-E2LaD11MzGqOr6ykqjmodkk4g>
    <xme:hn-PY6x_XVXEoAGHZm176IW7JGi2ybHI9QjUmoRdGV501mYJ-V9Wop5TOqVQS0LXF
    56aJlNrr4Qhahg>
X-ME-Received: <xmr:hn-PY208dCt6kLCDMlWVkIt4ugDMX1ywoLcbCUtbyASJuSAlxj4XfeGZY9Y4>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudeigddutdegucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepvdejteegkefhteduhffgteffgeff
    gfduvdfghfffieefieekkedtheegteehffelnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:hn-PY5AUJ243jFtrgNE5QfgBkyIyjrwfar52_IK4cCg0Hh6acW_-Mw>
    <xmx:hn-PY6jlIBS71dGFVhOm01qgbcNN5BZC2kYR-z56IZxwUeOAX4HqhQ>
    <xmx:hn-PY9pUHQi1W4HCdeSUJQaSkliypjRi7-P6bNIJzMld4sjfraUAdw>
    <xmx:hn-PY8ZgR89ge_U2dupECXv-qOF5lbF-QkYKay3zSgjtcOvh-pvdDQ>
Feedback-ID: iac594737:Fastmail
Date: Tue, 6 Dec 2022 12:44:32 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 6/8] x86: Derive XEN_MSR_PAT from its individual entries
Message-ID: <Y49/hCC2nrAhlJNo@itl-email>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <5ddd32a453b098f277f2d4aa9e044a40183d4bff.1670300446.git.demi@invisiblethingslab.com>
 <ac0605b2-5c1c-09f2-9526-1aa7e777e7dc@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="sfmSyrCM+UV609es"
Content-Disposition: inline
In-Reply-To: <ac0605b2-5c1c-09f2-9526-1aa7e777e7dc@citrix.com>


--sfmSyrCM+UV609es
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 6 Dec 2022 12:44:32 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 6/8] x86: Derive XEN_MSR_PAT from its individual entries

On Tue, Dec 06, 2022 at 11:32:16AM +0000, Andrew Cooper wrote:
> On 06/12/2022 04:33, Demi Marie Obenour wrote:
> > This avoids it being a magic constant that is difficult for humans to
> > decode.  Use a _Static_assert to check that the old and new values are
> > identical.
> >
> > Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> > ---
> >  xen/arch/x86/include/asm/processor.h | 22 +++++++++++++++++++++-
> >  1 file changed, 21 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/includ=
e/asm/processor.h
> > index 8e2816fae9b97bd4e153a30cc3802971fe0355af..64b75e444947c64e2e5eba4=
57deec92a873d7a63 100644
> > --- a/xen/arch/x86/include/asm/processor.h
> > +++ b/xen/arch/x86/include/asm/processor.h
> > @@ -92,13 +92,33 @@
> >                            X86_EFLAGS_NT|X86_EFLAGS_DF|X86_EFLAGS_IF|  =
  \
> >                            X86_EFLAGS_TF)
> > =20
> > +/* Individual entries in IA32_CR_PAT */
> > +#define MSR_PAT_UC  _AC(0x00, ULL)
> > +#define MSR_PAT_WC  _AC(0x01, ULL)
> > +#define MSR_PAT_RESERVED_1  _AC(0x02, ULL)
> > +#define MSR_PAT_RESERVED_2  _AC(0x03, ULL)
> > +#define MSR_PAT_WT  _AC(0x04, ULL)
> > +#define MSR_PAT_WP  _AC(0x05, ULL)
> > +#define MSR_PAT_WB  _AC(0x06, ULL)
> > +#define MSR_PAT_UCM _AC(0x07, ULL)
>=20
> This isn't really correct.

Do you mean that this in and of itself is buggy, or that the code ought
to be structured differently?

> Constants for MSRs typically live in
> msr-index.h, but these are architectural x86 memory types.
>=20
> These ought be
>=20
> #define X86_MT_$X ...=C2=A0 (skipping the two reserved values)

I will use the reserved values in BUILD_BUG_ON()s, so I would prefer to
keep (possibly defined somewhere else) if that is okay.

> in x86-defns.h, and the PAT_TYPE_*, MTRR_TYPE_* and EPT_EMT_* constants
> want removing.

This seems like a larger refactor that might belong in a separate patch.

> There are two minor restrictions (EPT can't have UCM, MTRR can't have
> WC), but they are all operating in terms of architectural memory type
> values, and the code ought to reflect this.

That makes sense.

> > +
> >  /*
> >   * Host IA32_CR_PAT value to cover all memory types.  This is not the =
default
> >   * MSR_PAT value, and is an ABI with PV guests.
> >   */
> > -#define XEN_MSR_PAT _AC(0x050100070406, ULL)
> > +#define XEN_MSR_PAT (MSR_PAT_WB  << 0x00 | \
> > +                     MSR_PAT_WT  << 0x08 | \
> > +                     MSR_PAT_UCM << 0x10 | \
> > +                     MSR_PAT_UC  << 0x18 | \
> > +                     MSR_PAT_WC  << 0x20 | \
> > +                     MSR_PAT_WP  << 0x28 | \
> > +                     MSR_PAT_UC  << 0x30 | \
> > +                     MSR_PAT_UC  << 0x38 | \
> > +                     0)
> > =20
> >  #ifndef __ASSEMBLY__
> > +_Static_assert(XEN_MSR_PAT =3D=3D 0x050100070406ULL,
> > +               "wrong XEN_MSR_PAT breaks PV guests");
>=20
> This wants to be in the build_assertions() that you introduce in the
> next patch, and a BUILD_BUG_ON().=C2=A0 We still support compilers which
> don't know _Static_assert().

That=E2=80=99s fair
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--sfmSyrCM+UV609es
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOPf4QACgkQsoi1X/+c
IsF8XQ//cBj03+MCaFs6v1uijbgcgXtzZ9Esaum+KhCeognesnq7aHjCfm3o+7tK
bDjEdFGegRQz+3LvPc/nUzb2GVDKmg7dtqOT7cNtbS2ulnzpeQq3ghBLihudPop8
37QXXmLBd1FrR0z91JEDEpTex+VxVOuuVZDnWYNmxNhJbIkYye5ewtzNrjS77Sgg
eIONBNBWngbFrMlhdlTvRhHTedwztvZVrlFuV9CPx0N0sf30DGDD1BIUcJViep6G
bahiQCj5ALGNWX/0TL2U6ML0/p59EnfoJOi0LPyiFd5LZw/E8xbd92lONL5tFpwa
5X3Qt70fxMjzu2Q+B/EXpRuB2XA/bq0jMClKTLNFp15Wd/9mY0ra3bJMCnVb6wCk
ZDDuhEJdOnxDWlFp248vcwwlBluo4g/E/rJHdUYT5t5SeJqlzs25Y3GIJt2Jx2Bz
CJLiXx45v+OAEBtPwUkzGX4/6Gm/i6DYoxnmfAmdXVDujb6aiAQga+Lfbfk8SspK
PzFT3ONjd9QsWGjH64rsjGpB/rPuABH7tcVrvDcEHteIGRRTRymxSfCXMVD+ivUn
ejeu0zZ/uYwGF4FppRXXhhTyTzVpPZYPI2yZsN0T09p6FgJfFNzNqa/WWlR3LmjF
j9UXiV9JK+nml6OwZv+n+eYTVPAYMjbir6Lfh3UU1IvQSCheyN8=
=8QCt
-----END PGP SIGNATURE-----

--sfmSyrCM+UV609es--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 17:52:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 17:52:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455406.712858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2c7g-0008PS-FJ; Tue, 06 Dec 2022 17:52:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455406.712858; Tue, 06 Dec 2022 17:52:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2c7g-0008PL-CM; Tue, 06 Dec 2022 17:52:52 +0000
Received: by outflank-mailman (input) for mailman id 455406;
 Tue, 06 Dec 2022 17:52:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WlZ+=4E=citrix.com=prvs=3329fe38d=Per.Bilse@srs-se1.protection.inumbo.net>)
 id 1p2c7e-0008PF-Rh
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 17:52:50 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cae3ae9b-758e-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 18:52:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cae3ae9b-758e-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670349169;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=eAy052LVGQXRjHRas9sGiJLX5hwm2vKQ2T06dwe1Hts=;
  b=JL8QjHoaXTvvclMumA3SyNFtWXicB5X1S2C7TnMh6l4Am6l2NLE1F4PX
   ZRzDUON3PAZkECyhBb6Z3aP5C93y/Lc6aHwop7ig4qzeLVJiLgL+MNt6C
   ATf6GcPGfxiblIF9D6xWK0qNNe8swKBgh9UDgG/tYIO/J5dCBMTsNMtza
   k=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87290543
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:leJbGq5KCfeYVIulPpwK1QxRtETHchMFZxGqfqrLsTDasY5as4F+v
 jAdXGyEOvjZajf9cotzOtjj/RwHuZLcnNVnGQs4rCBmHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoT4geF/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m2
 MQIDjIicwi5lcm5/u6WG+pBl8YeM5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJU0UUrsUIMtWcOOAvnTlNRdZrEmYjaE2/3LS3Ep6172F3N/9KoPQFJ0Iwh3wS
 mTupSOnLEwoZfOmjiuqzWKR2NHCswT3cddHfFG/3qEz2wDCroAJMzUOXEa/iem0jAi5Qd03A
 1wZ/G8ioLY/8GSvT8LhRFuorXicpBkeVtFMVeog52mwJrH8uljDQDJeF3gYNYJg5JReqSEWO
 kGhsuv5Iz5AraWvW1mSyOu5/DCfKCooMjpXDcMbdjct797mqYA1qxvASNd/DaK45uHI9SHML
 yOi93Zn2ehK5SIf/+DipA2c3WrwznTcZlRtjjg7SF5J+e+QiGSNQ4WzoWbW4v9bRGpyZgnQ5
 SNU8yRyAQ1nMH1sqMBvaL9UdF1Kz6zfWNE5vbKIN8dJythV0yT/Fb28GRknTKuTDu4KeCXyf
 GjYsh5L6ZlYMROCNPEoO9jvVp17nfe7SrwJs8w4ifIXMvBMmPKvpnkyNSZ8IUiy+KTTrU3PE
 cjCKpv9ZZrrIa9m0CC3V48gPUwDn0gDKZfobcmjlXyPiOPODEN5vJ9ZaDNimMhltvLbyOgUm
 v4DX/a3J+J3DbWnPXeGrdZNRb3IRFBiba3LRwVsXrbrCmJb9KsJUpc9HZtJl1RZoplo
IronPort-HdrOrdr: A9a23:WVjtTKENRVJzoS6cpLqFRJHXdLJyesId70hD6qkvc31om52j+f
 xGws516fatskdqZJjvo6HYBEDyewKgyXcV2/hbAV7GZmnbUQSTXflfBOfZsljd8k7Fh6RgPM
 VbAtND4bTLZDAQ56qKg3jbLz9K+qjhzEncv5am854bd3ANV0gP1XYcNu+cKCBLbTgDIaB8OI
 uX58JBqTblU28QdN6HCn4MWPWGj8HXlbr9CCR2SyIP2U2rt3eF+bT6Gx+X0lM1SDVU24ov9m
 DDjkjQ+rijifem0RXRvlWjoKi+2eGRhOerNvb8yvT9GQ+cyTpAo74RGYFqiQpF4d1HLmxa1e
 Uk7S1Qe/iboEmhAl1d6SGdpDUIlgxepkMLgTKj8CDeSYeVfkNjNyIJ6LgpNCcwoScbzYtBON
 on5RPfi3MfN2K/oA3to9fPTB1kjUyyvD4rlvMSlWVWVc8EZKZWtpF3xjIiLH4sJlOP1GkcKp
 gYMOjMoPJNNV+KZXHQuWdihNSqQ3QoBx+DBkwPoNac3TRalG1wixJw/r1Wol4QsJYmD5VU7e
 XNNapl0LlIU88NdKp4QOMMW9G+BGDBSQ/FdGiSPVPkHqcaPG+lke+/3JwloOWxPJAYxpo7n5
 rMFFteqG4pYkrrTdaD2ZVamyq9NVlVnQ6duP22y6IJyYEUHoCbQBFrYGpe4/ednw==
X-IronPort-AV: E=Sophos;i="5.96,223,1665460800"; 
   d="scan'208";a="87290543"
From: Per Bilse <per.bilse@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Per Bilse <per.bilse@citrix.com>, Paul Durrant <paul@xen.org>
Subject: [PATCH v2] ioreq_broadcast(): accept partial broadcast success
Date: Tue, 6 Dec 2022 17:52:09 +0000
Message-ID: <9cc56d01a09fcf6e1e3e9d48e60420f435fa34c3.1670348481.git.per.bilse@citrix.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Avoid incorrectly triggering an error when a broadcast buffered ioreq
is not handled by all registered clients, as long as the failure is
strictly because the client doesn't handle buffered ioreqs.

Signed-off-by: Per Bilse <per.bilse@citrix.com>
---
v2: Complete rethink with better information. A lot of simplicity was added.
---
 xen/common/ioreq.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/common/ioreq.c b/xen/common/ioreq.c
index 4617aef29b..568e7aea91 100644
--- a/xen/common/ioreq.c
+++ b/xen/common/ioreq.c
@@ -1317,7 +1317,8 @@ unsigned int ioreq_broadcast(ioreq_t *p, bool buffered)
 
     FOR_EACH_IOREQ_SERVER(d, id, s)
     {
-        if ( !s->enabled )
+        if ( !s->enabled || (buffered &&
+                    s->bufioreq_handling == HVM_IOREQSRV_BUFIOREQ_OFF) )
             continue;
 
         if ( ioreq_send(s, p, buffered) == IOREQ_STATUS_UNHANDLED )
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 17:56:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 17:56:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455412.712870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cAj-0000a8-TK; Tue, 06 Dec 2022 17:56:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455412.712870; Tue, 06 Dec 2022 17:56:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cAj-0000a1-QP; Tue, 06 Dec 2022 17:56:01 +0000
Received: by outflank-mailman (input) for mailman id 455412;
 Tue, 06 Dec 2022 17:56:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2cAj-0000Zt-4g
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 17:56:01 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d0dc415-758f-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 18:55:59 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 7F72432002FB;
 Tue,  6 Dec 2022 12:55:56 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Tue, 06 Dec 2022 12:55:57 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 6 Dec 2022 12:55:55 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d0dc415-758f-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670349356; x=
	1670435756; bh=QkFZdBpSGmdlZka3qInHdD0LIUYcTy1vUs1QtcW3bOc=; b=H
	RiilUDKU9XDuC9GehxHUbo0eU1kHVEBW/KpAGWHQmYpuq4Cc6d+dj8sFoNEa3ws3
	HaN0JHjCkr0NskYtOb+79U8NbVUrraPnFv+ot7YZuAH/2xRgl7s8T6c6t/bsEvmB
	nmHp4qtANmd7bqVTBTWXgJE7bw/O2M9yqgNEyMUnmix7IcJtjIGYW+3TyPuZxoH6
	lzIW/mUVzVqeq2U3J+3IDautriqvyiuXFTMHZZ1dS4KSpalV3yueKU4G81c2EAtr
	fh7z/8qcPDsW3FpEyrYJiMVeFhPx5ill4cBUJneg/RlStzf/AqW2JNoAyYdkRxKK
	yjXLrIvAFgSjK7clX+20g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1670349356; x=1670435756; bh=QkFZdBpSGmdlZka3qInHdD0LIUYc
	Ty1vUs1QtcW3bOc=; b=xWhdKCEkFlPCFh7xkkfEmnah8vtG9qt1dHzD1EnQoCJo
	fKew7GjvV86f8zRmQsfC1K1HwS+yCJuIe4XXdPh1Lcp1miTuooQA/6g/V+9hrLl8
	XONiw6Tac7qT3rasuQD/OGWvfqFd9GkvHjMh6fc60a6qK6X3l/wkIPoWZzWe1L6b
	EviKmr46O7cxlOEUQjcoRGZZ22cbQrZD1ocYJnGEZRs5dMXXbO1TGaQ7krjkaTdd
	syWEAm7neyA+wvRNNIstjurYCmQTtUvmXf1v8VwpkPYIEhCbBHJVHCWj5iGoefAg
	eQpFl016NH4C7FrDMNSowq53yrJrUdubHYO7Wddo4w==
X-ME-Sender: <xms:K4KPY8xKZ43yI7tfq6zerzQ5t9qmaswKyzMgUJxzMm6k7SIhLKQyxQ>
    <xme:K4KPYwQ9NCYs3t5UKjr4VdrO8S6-ImJKox3pXQr6U25VuRTYjAeGrjsIx9nOF1ygo
    knhRd5QrpyvWkA>
X-ME-Received: <xmr:K4KPY-XqH-IKGwoCfrooJWhVGjdpwxPEmiuihGovvMZ_Qz3EL3tueRCf1EKT>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudeigddutdejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepvdejteegkefhteduhffgteffgeff
    gfduvdfghfffieefieekkedtheegteehffelnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:K4KPY6gtoFqpYgCSxVlSomecyOmj2-1FFJqSVUfUy_W_0bJBW6akzQ>
    <xmx:K4KPY-AkXIIlhj_7v5kBNxmOgONT2MrbsTM6n-7zHbTu5oSAx__6jQ>
    <xmx:K4KPY7KPwwmgo3ghaJeyrbUbo9nbAcbrXQblgNttDR4ILGQs_uDYkA>
    <xmx:LIKPY16uGDSC7NxGQ9XK4L8CrBp9gub71EiXny93gP_3YP0aspt3PQ>
Feedback-ID: iac594737:Fastmail
Date: Tue, 6 Dec 2022 12:55:49 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 7/8] x86/mm: make code robust to future PAT changes
Message-ID: <Y4+CKb0slxo9hJW3@itl-email>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <33f3896ba4cdf50ceb0377f071682ac5d3f576c4.1670300446.git.demi@invisiblethingslab.com>
 <9bb20bca-34af-bff6-b9f0-0c2ce38d2a46@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="EsYAO/NB8XBy4tV/"
Content-Disposition: inline
In-Reply-To: <9bb20bca-34af-bff6-b9f0-0c2ce38d2a46@citrix.com>


--EsYAO/NB8XBy4tV/
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 6 Dec 2022 12:55:49 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 7/8] x86/mm: make code robust to future PAT changes

On Tue, Dec 06, 2022 at 12:06:24PM +0000, Andrew Cooper wrote:
> On 06/12/2022 04:33, Demi Marie Obenour wrote:
> > It may be desirable to change Xen's PAT for various reasons.  This
> > requires changes to several _PAGE_* macros as well.  Add static
> > assertions to check that XEN_MSR_PAT is consistent with the _PAGE_*
> > macros.
> >
> > Additionally, Xen has two unused entries in the PAT.  Currently these
> > are UC, but this will change if the hardware ever supports additional
> > memory types.  To avoid future problems, this adds a check in debug
> > builds that injects #GP into a guest that tries to use one of these
> > entries, along with returning -EINVAL from the hypercall.  Future
> > versions of Xen will refuse to use these entries even in release builds.
> >
> > Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> > ---
> >  xen/arch/x86/mm.c | 58 +++++++++++++++++++++++++++++++++++++++++++----
> >  1 file changed, 54 insertions(+), 4 deletions(-)
> >
> > diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> > index 5d05399c3a841bf03991a3bed63df9a815c1e891..517fccee699b2a673ba537e=
47933aefc80017aa5 100644
> > --- a/xen/arch/x86/mm.c
> > +++ b/xen/arch/x86/mm.c
> > @@ -849,6 +849,45 @@ static int cf_check print_mmio_emul_range(
> >  }
> >  #endif
> > =20
> > +static void __init __maybe_unused build_assertions(void)
>=20
> This wants to be at the very bottom of the file.=C2=A0 (And also in the
> previous patch to remove the _Static_assert())
>=20
> > +{
> > +    /* A bunch of static assertions to check that the XEN_MSR_PAT is v=
alid
> > +     * and consistent with the _PAGE_* macros */
> > +#define PAT_VALUE(v) (0xFF & (XEN_MSR_PAT >> (8 * (v))))
> > +#define BAD_VALUE(v) ((v) < 0 || (v) > 7 ||                           =
         \
> > +                      (v) =3D=3D MSR_PAT_RESERVED_1 || (v) =3D=3D MSR_=
PAT_RESERVED_2)
> > +#define BAD_PAT_VALUE(v) BUILD_BUG_ON(BAD_VALUE(PAT_VALUE(v)))
> > +    BAD_PAT_VALUE(0);
> > +    BAD_PAT_VALUE(1);
> > +    BAD_PAT_VALUE(2);
> > +    BAD_PAT_VALUE(3);
> > +    BAD_PAT_VALUE(4);
> > +    BAD_PAT_VALUE(5);
> > +    BAD_PAT_VALUE(6);
> > +    BAD_PAT_VALUE(7);
> > +#undef BAD_PAT_VALUE
> > +#undef BAD_VALUE
>=20
> Given that you've reworked the PAT declaration to be of the form (MT <<
> shift), I'm not sure how much value this check is.

One of my goals with this patch set is that it should be possible to
choose *any* value for XEN_MSR_PAT and for the PAT-related _PAGE_*, with
all bad values caught at compile-time.  This would allow making it a
Kconfig option.

> > +#define PAT_SHIFT(page_value) (((page_value) & _PAGE_PAT) >> 5 |      =
         \
> > +                               ((page_value) & (_PAGE_PCD | _PAGE_PWT)=
) >> 3)
>=20
> pte_flags_to_cacheattr()

That=E2=80=99s a function, not a macro (and for good reason), so it can=E2=
=80=99t be
used in BUILD_BUG_ON().

> > +#define CHECK_PAGE_VALUE(page_value) do {                             =
         \
> > +    /* Check that the _PAGE_* macros only use bits from PAGE_CACHE_ATT=
RS */    \
> > +    BUILD_BUG_ON(((_PAGE_##page_value) & PAGE_CACHE_ATTRS) !=3D       =
           \
> > +                  (_PAGE_##page_value));                              =
         \
> > +    /* Check that the _PAGE_* are consistent with XEN_MSR_PAT */      =
         \
> > +    BUILD_BUG_ON(PAT_VALUE(PAT_SHIFT(_PAGE_##page_value)) !=3D        =
           \
> > +                 (MSR_PAT_##page_value));                             =
         \
> > +} while (0)
> > +    CHECK_PAGE_VALUE(WT);
> > +    CHECK_PAGE_VALUE(WB);
> > +    CHECK_PAGE_VALUE(WC);
> > +    CHECK_PAGE_VALUE(UC);
> > +    CHECK_PAGE_VALUE(UCM);
> > +    CHECK_PAGE_VALUE(WP);
> > +#undef CHECK_PAGE_VALUE
> > +#undef PAT_SHIFT
> > +#undef PAT_VALUE
> > +}
> > +
> >  /*
> >   * get_page_from_l1e returns:
> >   *   0  =3D> success (page not present also counts as such)
> > @@ -961,13 +1000,24 @@ get_page_from_l1e(
> > =20
> >          switch ( l1f & PAGE_CACHE_ATTRS )
> >          {
> > -        case _PAGE_WB:
> > +        default:
> > +#ifndef NDEBUG
> > +            printk(XENLOG_G_WARNING
> > +                   "d%d: Guest tried to use bad cachability attribute =
%u for MFN %lx\n",
> > +                   l1e_owner->domain_id, l1f & PAGE_CACHE_ATTRS, mfn);
>=20
> %pd.=C2=A0 You absolutely want to convert the PTE bits to a PAT value bef=
ore
> priniting (decimal on a PTE value is useless), and %PRI_mfn.

I=E2=80=99ll have to look at the rest of the Xen tree to see how to use thi=
s.

> > +            pv_inject_hw_exception(TRAP_gp_fault, 0);
>=20
> As I said on IRC, we do want this, but I'm not certain if we can get
> away with just enabling it in debug builds.=C2=A0 _PAGE_GNTTAB was ok bec=
ause
> it has always been like that, but there's a non-trivial chance that
> there are existing dom0 kernels which violate this constraint.

I chose this approach because it is very simple to implement.  Anything
more complex ought to be in a separate patch, IMO.

> > +            return -EINVAL;
> > +#endif
> >          case _PAGE_WT:
> >          case _PAGE_WP:
> > -            flip |=3D (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC;
> > +        case _PAGE_WB:
> > +            /* Force this to be uncachable */
> > +            return flip | ( (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC );
> > +        case _PAGE_WC:
> > +        case _PAGE_UC:
> > +        case _PAGE_UCM:
> > +            return flip;
> >          }
> > -
> > -        return flip;
>=20
> This wants reworking over Jan's suggestion in patch 1, and modifying to
> reduce churn.=C2=A0 (Keep _PAGE_WB in the same order WRT _PAGE_WT, the
> uncached memory types should simply break, and default should be at the
> end.)

I put the default in the middle to keep the preprocessor conditionals
simple and avoid duplication.  I will have the default be treated as
cachable memory.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--EsYAO/NB8XBy4tV/
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOPgikACgkQsoi1X/+c
IsEHmg/+KkfApDQcDu8jO9oRgKA45L/MnbvMRdAp18CEXTB9DjgzpooaAN58C0Pm
W926ML9uIZNYyA58OCf8JBHgQsCE2J5LiTBhiUWbL4SRmiYFqDQZZmINcBv1cVpu
WCVPnjUVMO6KTCbasSlBIuricwiN6W+T89RHvY9Zklzi0lF8keu2xNM/DZAdyE/L
n5xehFitZ/h4nhxRtZwHzR5uercMygSbCEzoaXFLVoMKljvhjm09dcGdc3VwG2Dd
ltc11WWGjXxaI/OqtD6CGyN1h04Rr0DuT/SZ/707nLAkNKz0quXMxgrqmDpm0jbx
O/gHI0s/LYvuDaM/dmv99hzqTueqf1cBpxJuhKfKPVYUXR70x22S4tsYYm0PCVL3
KAf30tYJYThpn/LSqN4klIF0VmG3Y/h0UxQBe2AyPB9wYFb/VHwWBXJUsBOLmMYq
W9OoaMD/3guB6C7P8mQkvgItW9o9z4FgWM8YHqrLPEVidK7FuSxu7yHGwxbjsGDv
jgje6mcZxgpVltHOTMBJ/rtnxAhYfYCRj6svIDSLnmagv+F/NBzQ0sNTinq0DQC9
DGa4xX9nRfbclsWLJgEmAdp8BzM9OsYNoe8dKwsBEXBrNoLfH4yDuWXjydwpDtqi
mdeFeNjHp9SFqvPaHXp9KFJDJ/kkvdTFxOVPfys4nNUmcdVmWi8=
=zx1h
-----END PGP SIGNATURE-----

--EsYAO/NB8XBy4tV/--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 17:59:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 17:59:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455422.712881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cDw-0001G8-H6; Tue, 06 Dec 2022 17:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455422.712881; Tue, 06 Dec 2022 17:59:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cDw-0001G1-EF; Tue, 06 Dec 2022 17:59:20 +0000
Received: by outflank-mailman (input) for mailman id 455422;
 Tue, 06 Dec 2022 17:59:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kJTX=4E=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1p2cDv-0001Fv-0T
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 17:59:19 +0000
Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com
 [2a00:1450:4864:20::42c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b3de6486-758f-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 18:59:18 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id f18so24625739wrj.5
 for <xen-devel@lists.xenproject.org>; Tue, 06 Dec 2022 09:59:17 -0800 (PST)
Received: from [192.168.30.135] (54-240-197-239.amazon.com. [54.240.197.239])
 by smtp.gmail.com with ESMTPSA id
 o17-20020a05600c511100b003cfa3a12660sm4008834wms.1.2022.12.06.09.59.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 06 Dec 2022 09:59:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3de6486-758f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:from:to:cc:subject:date:message-id:reply-to;
        bh=lUzDM7H2KDEIFFscK9MDxEBIqDsEuT+fHTKG9361m/k=;
        b=MAUOeA0fDttWfrGwU016toCJeuAAXGrA0SbQX84v+xWUxxijIE6pybxUiZ8SHC4O5C
         ndXjDEzZCcg4WhWRZuFoBerjpaTBLUhvYAeL34h5simPe3vX/Jzk1qJyp2GD8/9NTfe+
         I3rG5yGlpafJmO5c1fPAhTUVW74fKVwiuwF1YWL0YJE5fkRF1elftHCvBAk1Z9fyHWCJ
         KbfJgu7NxnNKyjHec+M4GeU2p59sdKEWRtjYICho34gIhIuihBLhXeH9fTVwN805k5HN
         rXm5EIAYZE7B6fzi6x5l0L8aMW39IJcj2fN24Nj5+F4HXNy1JD/FBVagdjac4OMdccTj
         K4PQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=lUzDM7H2KDEIFFscK9MDxEBIqDsEuT+fHTKG9361m/k=;
        b=PnOOgGzcjNE0HHuG5JaUU0S2s6qLy7v7lYQZ6lj/GVz5VqIO83STzRiBdbVGBz3rsq
         m9FklgDEuC3B9lVXituNzYv8crPqESng9Z2IcFL7VCymcHUntFmJVsGIFcW+ZrKavWQN
         un18wbIsfrQyqwygffcEKW6tIfM4wZK1mXO7Cykw5v3VtoIfLYGeLdP5JtlhANnvSHI7
         N824POrYA7qvlmdVVFhMttqgtPbdBNsFtvT0OXvqE0CTWSJ8HtK0rdZjZEq/mYf7tX8a
         DtPQ9KICUQGMyJcoLzA581fP5dW1T9beyE3ivSNqWoLZzM3KDrCN/LMRiKTE6L7Z01vN
         g/rA==
X-Gm-Message-State: ANoB5pkH0icIy/xikiW+7HMDOAHd5zWytZh90TD2P2Qxi436FrYt+fuR
	7vRotZCXbKz0rtnqezF9cPuVBAcjMky79w==
X-Google-Smtp-Source: AA0mqf5/Ux85+FCN0VFdr1yyra8tA0QhuIvaawPQgCNeP3pooLEd2d6HfeFuhlig3K2P0hUvEKTmfQ==
X-Received: by 2002:adf:f946:0:b0:242:24a7:c7eb with SMTP id q6-20020adff946000000b0024224a7c7ebmr20294062wrr.150.1670349557235;
        Tue, 06 Dec 2022 09:59:17 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <1cde2d10-fa86-bab7-d1dd-9b94bdad5fe2@xen.org>
Date: Tue, 6 Dec 2022 17:59:12 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2] ioreq_broadcast(): accept partial broadcast success
Content-Language: en-US
To: Per Bilse <per.bilse@citrix.com>, xen-devel@lists.xenproject.org
References: <9cc56d01a09fcf6e1e3e9d48e60420f435fa34c3.1670348481.git.per.bilse@citrix.com>
Organization: Xen Project
In-Reply-To: <9cc56d01a09fcf6e1e3e9d48e60420f435fa34c3.1670348481.git.per.bilse@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 06/12/2022 17:52, Per Bilse wrote:
> Avoid incorrectly triggering an error when a broadcast buffered ioreq
> is not handled by all registered clients, as long as the failure is
> strictly because the client doesn't handle buffered ioreqs.
> 
> Signed-off-by: Per Bilse <per.bilse@citrix.com>
> ---
> v2: Complete rethink with better information. A lot of simplicity was added.
> ---

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Dec 06 18:01:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 18:01:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455429.712892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cGQ-00034U-TX; Tue, 06 Dec 2022 18:01:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455429.712892; Tue, 06 Dec 2022 18:01:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cGQ-00034N-QN; Tue, 06 Dec 2022 18:01:54 +0000
Received: by outflank-mailman (input) for mailman id 455429;
 Tue, 06 Dec 2022 18:01:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2cGP-00034H-Kd
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 18:01:53 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f315dfe-7590-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 19:01:52 +0100 (CET)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.west.internal (Postfix) with ESMTP id E106232000E5;
 Tue,  6 Dec 2022 13:01:48 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Tue, 06 Dec 2022 13:01:49 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 6 Dec 2022 13:01:47 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f315dfe-7590-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670349708; x=
	1670436108; bh=7TKPutgfX1qVC7yoQqpbumrlzzl0+7KLDJGInnylJvM=; b=R
	lwLtwXwBei9J6KKTQhVYpj/KESabPru0cMotyfekx24gNzjkqLaSiaLo8mwwe2ci
	nFO3q/z0ITPC5b8qfScHVGHGdup0ElqgHMQElOQp+6RyHId+xUJXOEJMu1W93w5o
	rgnRm1G7MjGtVaedY437F3giFO/oaN2aqf4dZBAsiEgOqNitRQFQLhcuC9U18+IB
	UlY4SCtwqYIcVQ1v/DQ/ZxxQWfseUwTX7BKN0kJnFhyxXaE8q6eut+pP7TZIiMWK
	xEWVbRuI/yHOhS2ZeynmcjcesrlcL3ztn3nnzo2EumvXTlcyR4OvCnH6Lr6ZWcED
	pXUp2nuVRg7Ovlvj79eDg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1670349708; x=1670436108; bh=7TKPutgfX1qVC7yoQqpbumrlzzl0
	+7KLDJGInnylJvM=; b=vUAiWqSlEUdqFpnpwEBkTS38u7G8N4bsqHS0rzCzr9yW
	4TxoBgwCQT72y8vlwKfZoQlsjNtx/9zDWrX/a6Al1RuOeuDhY/xSJ8JVrcNsJBSE
	JPOsstk85NK6tQZBElF2+qMjba3hsH1wAq56A+L/sa3IlX4GVmNzt4TDi/tDJtsx
	nXzvkVJZPuwzSu1EnJgCxGfRycnrJVGvXNvYw/CK6HXdHunoSEbyjo5BoRpjO7Tx
	pYa6UcVMJ80p7lhXdF+UKTcQa8rpRHnRhd5yOFcSOcTwvn1+wibitrZ1UQ5Z/BkX
	yTszXhvTfzT3ndFbVh134OPkDG/xGGFvOBsrdSFTNg==
X-ME-Sender: <xms:i4OPYwvrMfZDHkhxtrk_0bvbQSsJ8oRDH_sTUIbOph-n07sFl9d2Tw>
    <xme:i4OPY9cRhyxQsP6m78CkX2p5SEdhhe6OLvTHBHK4A5SqEHGYCaXwMJh6bFJ9bH0f5
    Mo6tg8JKfcjxVg>
X-ME-Received: <xmr:i4OPY7waHisdhfaEK6IY8MMtMrJuOW-_QWXKvVFwYnDyO_3KbeElMArlSe6A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudeigddutdekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepvdejteegkefhteduhffgteffgeff
    gfduvdfghfffieefieekkedtheegteehffelnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:jIOPYzO2CVoObFM5ulruPzUdMKwAWDIXBBu0daP7_QDqMTYmbn-38A>
    <xmx:jIOPYw8qHH3yNnQnJa7Pxv6RE5e4481ZRT23i0VsdFCnCaidqJsIXw>
    <xmx:jIOPY7X-gdt-BUMrRXP6Z6Xn-a33PXGE2IuVmE0AAZDrkJqYv6mrwg>
    <xmx:jIOPYwwp7DIJYYJ0i8JyMEAW3FDWwuTDUOA-SNqHdGDIu27WQFIKWQ>
Feedback-ID: iac594737:Fastmail
Date: Tue, 6 Dec 2022 13:01:41 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 8/8] Use Linux's PAT
Message-ID: <Y4+Die8lcZUwwGmK@itl-email>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <9f0bd911ba6c7fe1b7285f232154d42807145ced.1670300446.git.demi@invisiblethingslab.com>
 <4b2a87e1-89d1-b5fb-bd92-b891c8cea98a@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="NUHuSEMEyFXVxeJM"
Content-Disposition: inline
In-Reply-To: <4b2a87e1-89d1-b5fb-bd92-b891c8cea98a@citrix.com>


--NUHuSEMEyFXVxeJM
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 6 Dec 2022 13:01:41 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 8/8] Use Linux's PAT

On Tue, Dec 06, 2022 at 11:38:03AM +0000, Andrew Cooper wrote:
> On 06/12/2022 04:33, Demi Marie Obenour wrote:
> > This is purely for testing, to see if it works around a bug in i915.  It
> > is not intended to be merged.
> >
> > NOT-signed-off-by: DO NOT MERGE
>=20
> Following up on Marek's report on IRC/Matrix, you're saying that this
> change does actually fix screen corruption issues on AlderLake, and
> something on TigerLake too?

Correct

> If that is actually the case, then one of two things is happening.=C2=A0 =
Either,
>=20
> 1) Drivers in Linux are bypassing the regular caching APIs, or

This would not surprise me at all.

> 2) The translation logic between Linux's idea of cacheability and Xen's
> PAT values is buggy.

How could I check for this?
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--NUHuSEMEyFXVxeJM
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOPg4kACgkQsoi1X/+c
IsH6mQ/+N2W/QbFTLcZd7JvOxLTMLOQvCpFUoZK/5zYLYzRuvkG5J0QMHdeVYLL1
6m0wwavvQX3wz9qjaaeB1D71325dPFn24HhGLJsskUCBRtw+gK0vhc9GhMcDGIiY
KOfeMqqtwjQOYxsbCl5y9HXMhVHYK2ExEqhY1t1gT0JgCJFlZZXIqseh0PT2CMDa
aViNs0FRAsBZyuHhLPL+xwzJ8bJEvUZZvM8OJyIJp+//JAyrwe24Jku4STUoMJkr
Yg7k96RHEzDxSDXXKMFzwDc1eaLXWn+Zk2BwPRbgmDN9JyUtlvqYzNINcWlT35Id
8V9/HHrNCppFE6q7adGgiw4u1xmpbzS5P3/d/fbfX+C6JpYG1OvdiD62On8232Vb
jn1epZnBuxcqCo8OcZrAzPjuiO43KBlbjIX0PhDCrI+sOUVZfuIGrIcEyEAbZ049
YFeFThqKOieV78NMMHvQSJ6YHBipzAU4SxAvhnJmMGbOi6kuvpiekQX8bnKZafBC
xPGZ5pjMyt7LNA8MKBNItFxcSde15xjIpQq9RyofvsPu6Tk3pY55r/dJiS3ugZla
GQNK10I8UKWI1sLqGvLha/pYHqVYzefsaKt9lyOXpcAf3WgieS75DBzJ3wAnFVs1
+uZpMR9ZzV2xVasxoH2/ac3pRKH9f++5bFKzqp8SNZu57hygW3M=
=sFqD
-----END PGP SIGNATURE-----

--NUHuSEMEyFXVxeJM--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 18:12:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 18:12:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455438.712903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cQT-0004vN-TJ; Tue, 06 Dec 2022 18:12:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455438.712903; Tue, 06 Dec 2022 18:12:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cQT-0004vG-QT; Tue, 06 Dec 2022 18:12:17 +0000
Received: by outflank-mailman (input) for mailman id 455438;
 Tue, 06 Dec 2022 18:12:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mhi9=4E=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1p2cQS-0004v9-5y
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 18:12:16 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8277f950-7591-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 19:12:15 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id C64B632008C3;
 Tue,  6 Dec 2022 13:12:11 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Tue, 06 Dec 2022 13:12:12 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 6 Dec 2022 13:12:09 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8277f950-7591-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670350331; x=
	1670436731; bh=IqyEmswc1g3rzfC3h2fIpwFqo4emiUgxmfSKyN57Bmo=; b=h
	MEOSh6cVGCXo2/A3vAUVs3FyZbzyRZYtj2QT9XNjehXc0yE/3rEpDbX80qu72IOi
	WKumOld6iDYBsEV+ZiKKhvY0usvrzjXeSvvvtpnZ4uTNy/r85qDc1ALc9Hu5g8ol
	hK3Z+r6vcyhEnBAHOiy72FexyT7xyc02ureF/avuPIsNcMpa7jC1mVJuV4DplwfW
	5cI733vJ7CKVkGBjVra/25bES+/Std1PpJaZxhlHrn8Ve8YCrjixU29jlKl4a3MI
	P7FJNv/0L5sBubcEnS8YN86jIe8G9bzgvYDQ6KSCvd1qbALI/GM23I2TDBO79Nq1
	NkIoF0ANoNbCX2la2VkAw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1670350331; x=1670436731; bh=IqyEmswc1g3rzfC3h2fIpwFqo4em
	iUgxmfSKyN57Bmo=; b=qP1ZdpyNWmLvk551LewC9g5FcbS40Ded0BtXmVIEgB3p
	FSKVfTGvKRF9fzGLSaUwYy0wQSV8U549vl/CTemu2Hoy7vWVlnGXLiDU0+u4gxmB
	nNKQFdOKr5HxQmSsT/hNwq1Vf5Kdk8/TtCfXzUeS6sXyjd2WkswN7pvsyzxfvxGi
	ndgOwnRJhjN8BBJ7/GCkap94hBvgl64u7VhMgv1mwzBAt5RWb8ykgfkHEmcjsQI6
	heRHxyCki2hYSMTYzk99do+gE/NivsoXL6iQ7nT5RZHB2Q2Kq9p+F2GxAgfENbnT
	4Agg9x85875VonXaDLL91DFPWAm0BpFT3uxGOhrZKw==
X-ME-Sender: <xms:-4WPY4gQBqrajtE8WHWHJszTn_FDDEzU1mO41fGP4YuviJ11U_LpRA>
    <xme:-4WPYxBWxUwABWf6BMZmuIGWKSIWyd3527J79O5Lhl1e0mQJlVIjYiI0Mcfy1MPQs
    edJqIFbg1Q8rg>
X-ME-Received: <xmr:-4WPYwFdeCl4CrouzTwJlhQydzW4naclv30l9EY4NYJG4x-a96uq1hjmRM0HMjoVtU7T3mINQ7GsdHewDWC7JURnVkjSz_I3aw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudeigddutdelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:-4WPY5TrnasQiNduovKYuAycJJd43Fyq-N8ymHeVIB8FNuq2Y4zl9w>
    <xmx:-4WPY1wKmLRFSj8LOHLNMNuanDocfIVD8sNWZv2U0ON8y0X3pCpABg>
    <xmx:-4WPY36twVP7Yr1fFG5-6Vq6n8vRaQkgM3Ov4hsp51EDtYoL6Z6_OQ>
    <xmx:-4WPY8mnuGBxH-x-2hFiQ5F1xOL7F-eF9tiVrqbmTEuBFNeVEVs-7Q>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 6 Dec 2022 19:12:06 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 8/8] Use Linux's PAT
Message-ID: <Y4+F9iujzOmoOAVe@mail-itl>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <9f0bd911ba6c7fe1b7285f232154d42807145ced.1670300446.git.demi@invisiblethingslab.com>
 <4b2a87e1-89d1-b5fb-bd92-b891c8cea98a@citrix.com>
 <Y4+Die8lcZUwwGmK@itl-email>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="rYRF28xWz3K770gH"
Content-Disposition: inline
In-Reply-To: <Y4+Die8lcZUwwGmK@itl-email>


--rYRF28xWz3K770gH
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 6 Dec 2022 19:12:06 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 8/8] Use Linux's PAT

On Tue, Dec 06, 2022 at 01:01:41PM -0500, Demi Marie Obenour wrote:
> On Tue, Dec 06, 2022 at 11:38:03AM +0000, Andrew Cooper wrote:
> > On 06/12/2022 04:33, Demi Marie Obenour wrote:
> > > This is purely for testing, to see if it works around a bug in i915. =
 It
> > > is not intended to be merged.
> > >
> > > NOT-signed-off-by: DO NOT MERGE
> >=20
> > Following up on Marek's report on IRC/Matrix, you're saying that this
> > change does actually fix screen corruption issues on AlderLake, and
> > something on TigerLake too?
>=20
> Correct
>=20
> > If that is actually the case, then one of two things is happening.=C2=
=A0 Either,
> >=20
> > 1) Drivers in Linux are bypassing the regular caching APIs, or
>=20
> This would not surprise me at all.
>=20
> > 2) The translation logic between Linux's idea of cacheability and Xen's
> > PAT values is buggy.
>=20
> How could I check for this?

See Andy's unit test idea on #xendevel:

    as a pretty simple "unit" test in dom0, it might be a good idea to
    have a module which watches the PTE in question, and cycles through
    various of the memremap_*() APIs and checks the raw PTE that gets
    written after Linux and Xen are done fighting with it

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--rYRF28xWz3K770gH
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmOPhfcACgkQ24/THMrX
1ywR9gf/VnJy5XbHiFGOloFmTa5fTOhJ6O/hLcfubRva3WtUKtovyZmFRV0aAKkJ
TUvFnFhLoidxDOjQ+eqCJvWjJSCOuZ7VRAvj1TJq3uWNA6d2xZSZcDB0Ptj69vr7
7vpHkOojQlGkEnqKnBqsWYaRX6+xe7YVkzkOaUJdZYnDd5JSiHdKW0rXOIMWuQW0
BtlfiMJ8wpywhoC1Uk3w87Fg/HvHa3xaxDLr0j3lW7YGqfRo0i+IFYd9dwvHCOtb
dnZEZBbR4ELdQ8WzrICuzjdpQlBeOu/ffNHEEsKRGg+fofFGJlNXdgUrnY51/Djx
YiF8BJajnyRmvlArvCJD1qUgImAXnw==
=FiSR
-----END PGP SIGNATURE-----

--rYRF28xWz3K770gH--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 18:18:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 18:18:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455446.712914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cWK-0005ZV-Jj; Tue, 06 Dec 2022 18:18:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455446.712914; Tue, 06 Dec 2022 18:18:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cWK-0005ZG-FY; Tue, 06 Dec 2022 18:18:20 +0000
Received: by outflank-mailman (input) for mailman id 455446;
 Tue, 06 Dec 2022 18:18:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2cWJ-0005ZA-Nh
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 18:18:19 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2cWH-0006y1-3E; Tue, 06 Dec 2022 18:18:17 +0000
Received: from [54.239.6.185] (helo=[192.168.22.87])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2cWG-0003SM-TX; Tue, 06 Dec 2022 18:18:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=GIxIjfPd7U4GxRGuEgO0YGWz1JnagpYLJBgXjghuzNI=; b=2w0Wrn9uXgRNdag3Kyzl+bm6fq
	YhPa8zzStG7MKWMfT/ZdkiSl6RZmAiB11PXyU/vQqg0F0Agcv7B8npxivbD7a9Ll/kT7oWOe3oRlm
	SQHR7HNlFiYWHj609aDENz7FEb2pM09XoJAaRioNcb4L2GwZfG1easIjox2YXtAwuoK0=;
Message-ID: <fc1de779-48e5-6526-02cc-f1fdc468e2bb@xen.org>
Date: Tue, 6 Dec 2022 18:18:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: preparations for 4.16.3
Content-Language: en-US
From: Julien Grall <julien@xen.org>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <2c4c605e-f8c5-abbb-db85-89465b7e10a6@suse.com>
 <1f3d3a05-fe11-b156-da93-03913be687de@xen.org>
In-Reply-To: <1f3d3a05-fe11-b156-da93-03913be687de@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

@Stefano, gentle ping. Jan said he wanted to have 4.16 cut before the 
holidays.

On 01/12/2022 15:19, Julien Grall wrote:
> Hi Jan & Stefano,
> 
> On 28/11/2022 10:50, Jan Beulich wrote:
>> All,
>>
>> the release is due in a couple of weeks time; ideally we'd get it out
>> before the year end break.
>>
>> Please point out backports you find missing from the respective staging
>> branch, but which you consider relevant.
> 
> I have just one backport request:
> 
> db8fa01c61db0317a9ee947925226234c65d48e8 "xen/arm: Correct the p2m pool 
> size calculations"

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 18:22:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 18:22:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455453.712926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cZt-0007KS-3Y; Tue, 06 Dec 2022 18:22:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455453.712926; Tue, 06 Dec 2022 18:22:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cZs-0007KL-VX; Tue, 06 Dec 2022 18:22:00 +0000
Received: by outflank-mailman (input) for mailman id 455453;
 Tue, 06 Dec 2022 18:21:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2cZr-0007KF-NP
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 18:21:59 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2cZr-00072V-8j; Tue, 06 Dec 2022 18:21:59 +0000
Received: from [54.239.6.185] (helo=[192.168.22.87])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2cZr-0003Wu-2l; Tue, 06 Dec 2022 18:21:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=lGZYx/PoYXTAgI1I/5gJZi2SQsgXcVeIbp0Q8gp47ZE=; b=l0xBhcU7ZGM21LTCX/AJmgfZgy
	5KtjsnCkVhBq7Y1On9B/Oa6/wDuu0++yNiIjCfv1EBUus+Lb98MPGunLh0KgbWFk4crGTDZ87qjCM
	Ghzdm7fwXvHlzy5D929e7vFo1udHQGRnMjFPcuciP/SFA1kQA6vf0VBLJjDEBHRbYQZA=;
Message-ID: <56584174-ffe6-1f35-4da8-251ff67b2112@xen.org>
Date: Tue, 6 Dec 2022 18:21:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v5 1/2] xen/arm: vpl011: emulate non-SBSA registers as
 WI/RAZ
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>, Jiamei Xie <jiamei.xie@arm.com>,
 xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221205072640.2092473-1-jiamei.xie@arm.com>
 <20221205072640.2092473-2-jiamei.xie@arm.com>
 <6ab96cd0-9b9a-6ad4-50b1-ed5e02812696@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <6ab96cd0-9b9a-6ad4-50b1-ed5e02812696@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 05/12/2022 12:39, Michal Orzel wrote:
> On 05/12/2022 08:26, Jiamei Xie wrote:
>>
>>
>> When the guest kernel enables DMA engine with "CONFIG_DMA_ENGINE=y",
>> Linux SBSA PL011 driver will access PL011 DMACR register in some
>> functions. As chapter "B Generic UART" in "ARM Server Base System
>> Architecture"[1] documentation describes, SBSA UART doesn't support
>> DMA. In current code, when the kernel tries to access DMACR register,
>> Xen will inject a data abort:
>> Unhandled fault at 0xffffffc00944d048
>> Mem abort info:
>>    ESR = 0x96000000
>>    EC = 0x25: DABT (current EL), IL = 32 bits
>>    SET = 0, FnV = 0
>>    EA = 0, S1PTW = 0
>>    FSC = 0x00: ttbr address size fault
>> Data abort info:
>>    ISV = 0, ISS = 0x00000000
>>    CM = 0, WnR = 0
>> swapper pgtable: 4k pages, 39-bit VAs, pgdp=0000000020e2e000
>> [ffffffc00944d048] pgd=100000003ffff803, p4d=100000003ffff803, pud=100000003ffff803, pmd=100000003fffa803, pte=006800009c090f13
>> Internal error: ttbr address size fault: 96000000 [#1] PREEMPT SMP
>> ...
>> Call trace:
>>   pl011_stop_rx+0x70/0x80
>>   tty_port_shutdown+0x7c/0xb4
>>   tty_port_close+0x60/0xcc
>>   uart_close+0x34/0x8c
>>   tty_release+0x144/0x4c0
>>   __fput+0x78/0x220
>>   ____fput+0x1c/0x30
>>   task_work_run+0x88/0xc0
>>   do_notify_resume+0x8d0/0x123c
>>   el0_svc+0xa8/0xc0
>>   el0t_64_sync_handler+0xa4/0x130
>>   el0t_64_sync+0x1a0/0x1a4
>> Code: b9000083 b901f001 794038a0 8b000042 (b9000041)
>> ---[ end trace 83dd93df15c3216f ]---
>> note: bootlogd[132] exited with preempt_count 1
>> /etc/rcS.d/S07bootlogd: line 47: 132 Segmentation fault start-stop-daemon
>>
>> As discussed in [2], this commit makes the access to non-SBSA registers
>> RAZ/WI as an improvement.
>>
>> [1] https://developer.arm.com/documentation/den0094/c/?lang=en
>> [2] https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2211161552420.4020@ubuntu-linux-20-04-desktop/
>>
>> Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
> As I wrote in v4:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 18:22:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 18:22:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455459.712936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2caa-0007rU-BJ; Tue, 06 Dec 2022 18:22:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455459.712936; Tue, 06 Dec 2022 18:22:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2caa-0007rN-7u; Tue, 06 Dec 2022 18:22:44 +0000
Received: by outflank-mailman (input) for mailman id 455459;
 Tue, 06 Dec 2022 18:22:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2caY-0007rH-Pd
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 18:22:42 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2caY-00073N-GW; Tue, 06 Dec 2022 18:22:42 +0000
Received: from [54.239.6.185] (helo=[192.168.22.87])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2caY-0003hi-B4; Tue, 06 Dec 2022 18:22:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=tObuIcrjLD6o6vAQDSNfgTDWeJwle1NyYs3bnPiTumA=; b=CIvvZq/n7acJFxvz11ZI0tFTrB
	G4odU07Bv2A/BMr84Cg3aduYtARv47BKO8NdAOHPzybzvPGPvJAOBRpfPEDX7HE/p+ov8a+keUdPk
	t8VfTpkiqGuRA3XRw3C4A7fSTBuGMf8nkx1sUpC7jzOZPeqQn8SbqGZpg0tpz3aoQb4I=;
Message-ID: <4c98b129-4935-f5ba-1b56-1bdd3c8710dc@xen.org>
Date: Tue, 6 Dec 2022 18:22:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v5 2/2] xen/arm: vpl011: add ASSERT_UNREACHABLE in
 vpl011_mmio_read
Content-Language: en-US
To: Jiamei Xie <jiamei.xie@arm.com>, xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221205072640.2092473-1-jiamei.xie@arm.com>
 <20221205072640.2092473-3-jiamei.xie@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221205072640.2092473-3-jiamei.xie@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 05/12/2022 07:26, Jiamei Xie wrote:
> In vpl011_mmio_read switch block, all cases should have a return. Add
> ASSERT_UNREACHABLE to catch case where the return is not added.
> 
> Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 18:27:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 18:27:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455469.712947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cfM-00009h-2J; Tue, 06 Dec 2022 18:27:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455469.712947; Tue, 06 Dec 2022 18:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cfL-00009a-VM; Tue, 06 Dec 2022 18:27:39 +0000
Received: by outflank-mailman (input) for mailman id 455469;
 Tue, 06 Dec 2022 18:27:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2cfK-00009U-H2
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 18:27:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2cfI-00078w-Qe; Tue, 06 Dec 2022 18:27:36 +0000
Received: from [54.239.6.185] (helo=[192.168.22.87])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2cfI-0003oc-Ko; Tue, 06 Dec 2022 18:27:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=nRVXz0iGu7R9CNf1yC7vJkFqKb2VttHAanboPMO18/s=; b=JDI9LrFkrFXTtRa9a+ofemfQu3
	UfA58QnFRYOYCAOs2glT/mebLJCbxo2c6xybNoQCHbN9RBxkyuzvt33nIiNLq8SYWdpLWRk2rZjEo
	ggrJmxMy8zGWTvBPZLkjF5fEnuhP9LkLEicCcWYaeHWaJodB52TgOCbMmHwQ7rHFOlu4=;
Message-ID: <7a66f7f3-174d-a9ce-ff5a-582de82843fb@xen.org>
Date: Tue, 6 Dec 2022 18:27:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH RFC 07/10] domain: map/unmap GADDR based shared guest
 areas
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <5a571fd9-b0c2-216e-a444-102397a22ca0@suse.com>
 <f1229a27-f92c-a0dc-928e-1d78b928fdd0@xen.org>
 <c8f79867-42b3-a23f-6fe0-de8b698c6b0c@suse.com>
 <ceb28c2f-d4c6-3190-ea84-d6f7c9acb4ad@xen.org>
 <d8ba56a3-3b3f-788c-620e-823d4e2e38ea@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <d8ba56a3-3b3f-788c-620e-823d4e2e38ea@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 29/11/2022 14:02, Jan Beulich wrote:
> On 29.11.2022 09:40, Julien Grall wrote:
>> On 28/11/2022 10:01, Jan Beulich wrote:
>>> On 24.11.2022 22:29, Julien Grall wrote:
>>>> On 19/10/2022 09:43, Jan Beulich wrote:
>>>>> --- a/xen/common/domain.c
>>>>> +++ b/xen/common/domain.c
>>>>> @@ -1563,7 +1563,82 @@ int map_guest_area(struct vcpu *v, paddr
>>>>>                        struct guest_area *area,
>>>>>                        void (*populate)(void *dst, struct vcpu *v))
>>>>>     {
>>>>> -    return -EOPNOTSUPP;
>>>>> +    struct domain *currd = v->domain;
>>>>> +    void *map = NULL;
>>>>> +    struct page_info *pg = NULL;
>>>>> +    int rc = 0;
>>>>> +
>>>>> +    if ( gaddr )
>>>>
>>>> 0 is technically a valid (guest) physical address on Arm.
>>>
>>> I guess it is everywhere; it certainly also is on x86. While perhaps a
>>> little unfortunate in ordering, the public header changes coming only
>>> in the following patches was the best way I could think of to split
>>> this work into reasonable size pieces. There the special meaning of 0
>>> is clearly documented. And I don't really see it as a meaningful
>>> limitation to not allow guests to register such areas at address zero.
>> I would expect an OS to allocate the region using the generic physical
>> allocator. This allocator may decide that '0' is a valid address and
>> return it.
>>
>> So I think your approach could potentially complicate the OS
>> implementation. I think it would be better to use an all Fs value as
>> this cannot be valid for this hypercall (we require at least 4-byte
>> alignment).
> 
> Valid point, yet my avoiding of an all-Fs value was specifically with
> compat callers in mind - the values would be different for these and
> native ones, which would make the check more clumsy (otherwise it
> could simply be "if ( ~gaddr )").

Ah I forgot about compat. How about converting the 32-bit Fs to a 64-bit 
Fs in the compat code?

This will avoid to add restriction in the hypercall interface just 
because of compat.

> 
>>>>> @@ -1573,6 +1648,22 @@ int map_guest_area(struct vcpu *v, paddr
>>>>>      */
>>>>>     void unmap_guest_area(struct vcpu *v, struct guest_area *area)
>>>>>     {
>>>>> +    struct domain *d = v->domain;
>>>>> +    void *map;
>>>>> +    struct page_info *pg;
>>>>
>>>> AFAIU, the assumption is the vCPU should be paused here.
>>>
>>> Yes, as the comment ahead of the function (introduced by an earlier
>>> patch) says.
>>
>> Ah, I missed that. Thanks!
>>
>>>
>>>> Should we add an ASSERT()?
>>>
>>> I was going from unmap_vcpu_info(), which had the same requirement,
>>> while also only recording it by way of a comment. I certainly could
>>> add an ASSERT(), but besides this being questionable as to the rules
>>> set forth in ./CODING_STYLE I also view assertions of "paused" state
>>> as being of limited use - the entity in question may become unpaused
>>> on the clock cycle after the check was done.
>>
>> That's correct. However, that race you mention is unlikely to happen
>> *every* time. So there are a very high chance the ASSERT() will hit if
>> miscalled.
>>
>>> (But yes, such are no
>>> different from e.g. the fair number of spin_is_locked() checks we
>>> have scattered around, which don't really provide guarantees either.)
>> And that's fine to not provide the full guarantee. You are still
>> probably going to catch 95% (if not more) of the callers that forgot to
>> call it with the spin lock held.
>>
>> At least for me, those ASSERTs() were super helpful during development
>> in more than a few cases.
> 
> Okay, I'll add one then, but in the earlier patch, matching the comment
> that's introduced there.

Thanks! I still owe you a review for the rest of the series.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 18:29:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 18:29:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455475.712958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cgl-0000ir-D5; Tue, 06 Dec 2022 18:29:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455475.712958; Tue, 06 Dec 2022 18:29:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2cgl-0000ik-AH; Tue, 06 Dec 2022 18:29:07 +0000
Received: by outflank-mailman (input) for mailman id 455475;
 Tue, 06 Dec 2022 18:29:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2cgk-0000ie-Ud
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 18:29:06 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2cgk-0007AV-Tp
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 18:29:06 +0000
Received: from [54.239.6.185] (helo=[192.168.22.87])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2cgk-0003pc-Nb; Tue, 06 Dec 2022 18:29:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=xZ/c85VhZG4I31RWWo3ctKQDGsUcpXuZjLnFRhNg5HA=; b=4KZRBnOrOmEclrqou2/FxlE/Tb
	w2uBbNUEaGaOqbbe0z0MEY5fTOReSVEY5s1On1seYAu5w9n31hcR4QZYeY9u8oPgMLFWXttblTOc5
	/e/a53EtJ2oGucymm5+o3/DoXK0SIauqQ0hFIAF4QjDgx1x23PLW+uiFvvwtN7KbV0XA=;
Message-ID: <9987952b-2256-a9f6-8ca7-49c24cf16fe2@xen.org>
Date: Tue, 6 Dec 2022 18:29:04 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [RFC v2 04/12] xen/arm32: head: Remove restriction where to load
 Xen
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 "marco.solieri@minervasys.tech" <marco.solieri@minervasys.tech>,
 "lucmiccio@gmail.com" <lucmiccio@gmail.com>,
 "carlo.nonato@minervasys.tech" <carlo.nonato@minervasys.tech>,
 Julien Grall <jgrall@amazon.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221022150422.17707-1-julien@xen.org>
 <20221022150422.17707-5-julien@xen.org>
 <F7ED0618-C95F-45FE-932C-A27D75DC8206@arm.com>
 <8624949e-6198-1aa3-152f-4294534d6d86@xen.org>
 <62EDCEBA-B8B6-4869-99A3-3A430BF9D637@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <62EDCEBA-B8B6-4869-99A3-3A430BF9D637@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Luca,

On 25/11/2022 15:50, Luca Fancellu wrote:
> 
> 
>> On 17 Nov 2022, at 20:18, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Luca,
>>
>> On 25/10/2022 12:56, Luca Fancellu wrote:
>>>> On 22 Oct 2022, at 16:04, Julien Grall <julien@xen.org> wrote:
>>>>
>>>> From: Julien Grall <jgrall@amazon.com>
>>>>
>>>> At the moment, bootloaders can load Xen anywhere in memory but the
>>>> region 2MB - 4MB. While I am not aware of any issue, we have no way
>>>> to tell the bootloader to avoid that region.
>>>>
>>>> In addition to that, in the future, Xen may grow over 2MB if we
>>>> enable feature like UBSAN or GCOV. To avoid widening the restriction
>>>> on the load address, it would be better to get rid of it.
>>>>
>>>> When the identity mapping is clashing with the Xen runtime mapping,
>>>> we need an extra indirection to be able to replace the identity
>>>> mapping with the Xen runtime mapping.
>>>>
>>>> Reserve a new memory region that will be used to temporarily map Xen.
>>>> For convenience, the new area is re-using the same first slot as the
>>>> domheap which is used for per-cpu temporary mapping after a CPU has
>>>> booted.
>>>>
>>>> Furthermore, directly map boot_second (which cover Xen and more)
>>>> to the temporary area. This will avoid to allocate an extra page-table
>>>> for the second-level and will helpful for follow-up patches (we will
>>>> want to use the fixmap whilst in the temporary mapping).
>>>>
>>>> Lastly, some part of the code now needs to know whether the temporary
>>>> mapping was created. So reserve r12 to store this information.
>>>>
>>>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>>>> ----
>>>>
>>>>     Changes in v2:
>>>>         - Patch added
>>>> ---
>>> Hi Julien,
>>> I’m hitting an assert with this one, tested on qemu and fvp:
>>
>> Thanks for testing the series!
>>
>>> Xen 4.17-rc
>>> (XEN) Xen version 4.17-rc (user@hostname) (arm-poky-linux-gnueabi-gcc (GCC) 11.3.0) debug=y Tue Oct 25 10:51:06 UTC 2022
>>> (XEN) Latest ChangeSet:
>>> (XEN) build-id: ab143b13f4394ced5331d6ff1cedebdb2ffadc07
>>> (XEN) Processor: 412fc0f1: "ARM Limited", variant: 0x2, part 0xc0f,rev 0x1
>>> (XEN) 32-bit Execution:
>>> (XEN)   Processor Features: 00001131:00011001
>>> (XEN)     Instruction Sets: AArch32 A32 Thumb Thumb-2 ThumbEE Jazelle
>>> (XEN)     Extensions: GenericTimer
>>> (XEN)   Debug Features: 02010555
>>> (XEN)   Auxiliary Features: 00000000
>>> (XEN)   Memory Model Features: 10201105 20000000
>>> (XEN)                          01240000 02102211
>>> (XEN)   ISA Features: 02101110 13112111 21232041
>>> (XEN)                 11112131 10011142 00000000
>>> (XEN) Using SMC Calling Convention v1.0
>>> (XEN) Using PSCI v0.2
>>> (XEN) SMP: Allowing 4 CPUs
>>> (XEN) Generic Timer IRQ: phys=30 hyp=26 virt=27 Freq: 62500 KHz
>>> (XEN) GICv2m extension register frame:
>>> (XEN)         gic_v2m_addr=0000000008020000
>>> (XEN)         gic_v2m_size=0000000000001000
>>> (XEN)         gic_v2m_spi_base=80
>>> (XEN)         gic_v2m_num_spis=64
>>> (XEN) GICv2 initialization:
>>> (XEN)         gic_dist_addr=0000000008000000
>>> (XEN)         gic_cpu_addr=0000000008010000
>>> (XEN)         gic_hyp_addr=0000000008030000
>>> (XEN)         gic_vcpu_addr=0000000008040000
>>> (XEN)         gic_maintenance_irq=25
>>> (XEN) GICv2: 288 lines, 4 cpus (IID 00000000).
>>> (XEN) XSM Framework v1.0.1 initialized
>>> (XEN) Initialising XSM SILO mode
>>> (XEN) Using scheduler: SMP Credit Scheduler rev2 (credit2)
>>> (XEN) Initializing Credit2 scheduler
>>> (XEN)  load_precision_shift: 18
>>> (XEN)  load_window_shift: 30
>>> (XEN)  underload_balance_tolerance: 0
>>> (XEN)  overload_balance_tolerance: -3
>>> (XEN)  runqueues arrangement: socket
>>> (XEN)  cap enforcement granularity: 10ms
>>> (XEN) load tracking window length 1073741824 ns
>>> (XEN) Allocated console ring of 32 KiB.
>>> (XEN) VFP implementer 0x41 architecture 4 part 0x30 variant 0xf rev 0x0
>>> (XEN) CPU0: Guest atomics will try 1 times before pausing the domain
>>> (XEN) Bringing up CPU1
>>> (XEN) Assertion '!lpae_is_valid(*entry)' failed at arch/arm/domain_page.c:69
>>
>> So this is asserting because, so far, for secondary CPUs, we are copying the content of the CPU0 root table to the secondary CPU root table and then update the entry.
>>
>> So the entry would logical be valid. This is fine to be valid because the root able is not yet live.
>>
>> I have follow-up patches (not yet sent) where the root table for secondary CPUs would also be live. I probably mistakenly tested with those patches.
>>
>> Anyway, the ASSERT() here doesn't make sense in the context of this patch because we are still switching the CPU0 root table. So I will drop the ASSERT() for now.
>>
>> I will re-introduce it in a follow-up series.
>>
>> Before I send a new version, do you have any comments for the rest of the patches?
> 
> Hi Julien,
> 
> Yes as you pointed out, the assert was not right in that context and it can be removed without issues, I’ve had a look on the serie and the changes looks ok to me, I’ve also tested
> that it works on arm64 and arm32 using FVP.

Thanks! I will aim to respin the series this week.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 19:07:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 19:07:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455489.712968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2dHb-0006Rn-9o; Tue, 06 Dec 2022 19:07:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455489.712968; Tue, 06 Dec 2022 19:07:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2dHb-0006Rg-76; Tue, 06 Dec 2022 19:07:11 +0000
Received: by outflank-mailman (input) for mailman id 455489;
 Tue, 06 Dec 2022 19:07:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BzP2=4E=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1p2dHa-0006RV-7K
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 19:07:10 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2dad76fe-7599-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 20:07:08 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 18DBF618A9;
 Tue,  6 Dec 2022 19:07:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id 6B297C43150;
 Tue,  6 Dec 2022 19:07:05 +0000 (UTC)
Received: from aws-us-west-2-korg-oddjob-1.ci.codeaurora.org
 (localhost.localdomain [127.0.0.1])
 by aws-us-west-2-korg-oddjob-1.ci.codeaurora.org (Postfix) with ESMTP id
 58461C395E5; Tue,  6 Dec 2022 19:07:05 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2dad76fe-7599-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670353625;
	bh=+b/pJi2je6YKdPh3OUgHKvSpTMv4Xdf06lM3v3wcTBw=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=Qf3cvOZSxsWFk01o9eCbUsqiV1iymtMgkddiX76ugH00BFbCGJ7jXKgOBS4yzlOTI
	 4sz8/cDCCnkB4SWjyitLIc6Y5Guso1JnrcCUKXwf493achriAwwref89yqmN8JNjtQ
	 E2EsgZJ0WqiZYAiMmOXz4lyNzHhIw64b/oIUG46AlN4jVrzkRTKtR/o3bi2968p0sU
	 x9zT30JsBYLkswLVrHjOsX18exYQrl/0WSdxfuFAfJbNt2xAXCqwziic39haCKXaJe
	 uNuATQIOfkpwa+J/WyTBMWly0X2PW78BIznmbXVHbyZu+V842mEcGnsrbY5M7lbkVe
	 MKDU3m+pwnW/A==
Subject: Re: [GIT PULL] xen: branch for v6.1-rc9
From: pr-tracker-bot@kernel.org
In-Reply-To: <20221206152122.17024-1-jgross@suse.com>
References: <20221206152122.17024-1-jgross@suse.com>
X-PR-Tracked-List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
X-PR-Tracked-Message-Id: <20221206152122.17024-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-xsa-6.1-rc9-tag
X-PR-Tracked-Commit-Id: 74e7e1efdad45580cc3839f2a155174cf158f9b5
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: b71101d6ae7b1149123b0479ea21e9ad391fdd49
Message-Id: <167035362535.3568.13770896981748795941.pr-tracker-bot@kernel.org>
Date: Tue, 06 Dec 2022 19:07:05 +0000
To: Juergen Gross <jgross@suse.com>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, sstabellini@kernel.org

The pull request you sent on Tue,  6 Dec 2022 16:21:22 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-xsa-6.1-rc9-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/b71101d6ae7b1149123b0479ea21e9ad391fdd49

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 19:48:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 19:48:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455500.712980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2dv2-0003jf-Eb; Tue, 06 Dec 2022 19:47:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455500.712980; Tue, 06 Dec 2022 19:47:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2dv2-0003jY-AG; Tue, 06 Dec 2022 19:47:56 +0000
Received: by outflank-mailman (input) for mailman id 455500;
 Tue, 06 Dec 2022 19:47:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2dv1-0003jS-Iw
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 19:47:55 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de97188f-759e-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 20:47:53 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 6E2CF320091F;
 Tue,  6 Dec 2022 14:47:49 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Tue, 06 Dec 2022 14:47:50 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 6 Dec 2022 14:47:47 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de97188f-759e-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670356068; x=
	1670442468; bh=7PxGH++ZXOjCgYUoyhqV4Jse7kIymLpDVATOiFKB5Pw=; b=v
	a4cGxqCf93Ox4NEStC30qK/YTL8MG2ho9yAQWhY0KN+vJXKFdnFcz6+9hOJpaDaG
	k9yyxR8ONmGKKi0Snki0s29DhIWYW1qtG3Kz4FR++ulcAzmtyiZ83njMEUnb/1pX
	mNUzKa8SPZQAL7o0E3IslkBzlQ4scMaeJjIaWWOCfmNAo7UMZz6iHn6K0P2Z9+7M
	US15vPvFzSZkP7kYOxIzGFPsor3ZkWSBwOCt1ccxENfkZZJmyxgzKDvmR2G0ls5E
	aFvn9H4agpXrueZE3Zxl9jobOBAFf5gZ3fHmDczSrMQxHRYRdonFhYfJkJMjRGV7
	LfYpVDou3PW90i6CLvIKA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1670356068; x=1670442468; bh=7PxGH++ZXOjCgYUoyhqV4Jse7kIy
	mLpDVATOiFKB5Pw=; b=MSg432abCvOWSCFezPjXwBgUcJ5RPLoA4C+RrM/04k64
	1oeJ1h/GF9pOwCnfHqFWHGbsS7GT8l74SK514NSvBZETdozsNmZgt2pvnf+VjG3G
	bsQ0q+onay+hkDKiZD6P/VFDfuphBpN3sqbhkFvieKt4cFqerMHOwvJROer5d7iL
	6K9y0yZ2Cpt6koNpV/8128PT8szKXxJ2dM+Z4hS5aSHA+uKXMSgS3oiUFYLoSi9W
	8orRNZ5xxrPMp6WyzFS4cWATJXNARcuxIn+r0b4/OkA/ifDBX0RFgx513VDflNYH
	egCAuPr9/edV9ty+4nSzae4NW6fF49rOwrm2FIetjA==
X-ME-Sender: <xms:ZJyPY-jSRwqOijRoOxmLeFFHrsRfHelsbT7mxEDCrqMDpMoL9jyF6Q>
    <xme:ZJyPY_BY5826Y2P5t9nE8Mu1UqUNxGaCUtuJVvrGbRRkH3I0cIlGzh7k-wK-GugUA
    _KTMAvwJfXr2Tg>
X-ME-Received: <xmr:ZJyPY2HWCJpf6LG7w0-82_21LfSkXRD4PUwLUHV0ULpjC-HzgYT1uYIPOwJF>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudeigdduvdelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepvdejteegkefhteduhffgteffgeff
    gfduvdfghfffieefieekkedtheegteehffelnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:ZJyPY3TZrYrSyr0usu1TJZSDnpiO-Ecb1TjGRqPoENvcOH9LS0VNjw>
    <xmx:ZJyPY7ySl4jiAeiXkDtLii95ZVkpSfwrRv9Fg7VXWoixDAnCJqJLsQ>
    <xmx:ZJyPY17-lCSuYbWn7JNjtUBoXwLFmpm2JQ5gHFQUagCcFKpZcjSmBg>
    <xmx:ZJyPYynCb2j2Bh1trBBdyMZqoh79Ar-KF2a47P68PHxSaNAYc4KCcg>
Feedback-ID: iac594737:Fastmail
Date: Tue, 6 Dec 2022 14:47:42 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 8/8] Use Linux's PAT
Message-ID: <Y4+cYuLNfIbKGN+X@itl-email>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <9f0bd911ba6c7fe1b7285f232154d42807145ced.1670300446.git.demi@invisiblethingslab.com>
 <4b2a87e1-89d1-b5fb-bd92-b891c8cea98a@citrix.com>
 <Y4+Die8lcZUwwGmK@itl-email>
 <Y4+F9iujzOmoOAVe@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="kuuIfO5fhwcHDiCZ"
Content-Disposition: inline
In-Reply-To: <Y4+F9iujzOmoOAVe@mail-itl>


--kuuIfO5fhwcHDiCZ
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 6 Dec 2022 14:47:42 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 8/8] Use Linux's PAT

On Tue, Dec 06, 2022 at 07:12:06PM +0100, Marek Marczykowski-G=C3=B3recki w=
rote:
> On Tue, Dec 06, 2022 at 01:01:41PM -0500, Demi Marie Obenour wrote:
> > On Tue, Dec 06, 2022 at 11:38:03AM +0000, Andrew Cooper wrote:
> > > On 06/12/2022 04:33, Demi Marie Obenour wrote:
> > > > This is purely for testing, to see if it works around a bug in i915=
=2E  It
> > > > is not intended to be merged.
> > > >
> > > > NOT-signed-off-by: DO NOT MERGE
> > >=20
> > > Following up on Marek's report on IRC/Matrix, you're saying that this
> > > change does actually fix screen corruption issues on AlderLake, and
> > > something on TigerLake too?
> >=20
> > Correct
> >=20
> > > If that is actually the case, then one of two things is happening.=C2=
=A0 Either,
> > >=20
> > > 1) Drivers in Linux are bypassing the regular caching APIs, or
> >=20
> > This would not surprise me at all.
> >=20
> > > 2) The translation logic between Linux's idea of cacheability and Xen=
's
> > > PAT values is buggy.
> >=20
> > How could I check for this?
>=20
> See Andy's unit test idea on #xendevel:
>=20
>     as a pretty simple "unit" test in dom0, it might be a good idea to
>     have a module which watches the PTE in question, and cycles through
>     various of the memremap_*() APIs and checks the raw PTE that gets
>     written after Linux and Xen are done fighting with it

Which PTEs should I check?
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--kuuIfO5fhwcHDiCZ
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOPnGIACgkQsoi1X/+c
IsEC0A/9HBar7mnTgzBekHJajmP+RACDwnQVhk/eOtvDuke8JiIt14w/eenr2Wz3
NserhjprZP5G6e3vZlY0C779HYE7azwpnQCjpO7a5/WhyvmsppYKyRhRXwg+raNt
egiLsVKHGGh++XGl69159t/YLwOFyHJZl8pRFhNtjyf1YNxRV45CxQIWP6ImTYMl
/v0UC8C3XqZhX4uDZ6EfkuuGSIYc/7kdsYlX9Nq8QxCNFt2RavEarD7pMySFyhi4
oVpa4yBanBT7wWIKGqzvhIL0cpGuqu9/6TOq5xhGkTHIC80s+uQEJ9f3TOmwymyc
ZDNybgLg4tp5tCrCA5lecAilRk/nR5K4giKhLygpayU3HqzFPz6wnZs2ZfZ8flb7
o0qF2LQxa0bj26rbN/y8Y8P2D3j7STNY9g8cXVIr16nrb/MdZ2vjPbzZae5CKzXd
awRELdSEl5LTEDVrXcZMFNz/jJ7elSLI6qEsnPtGIjkbHtiWZXn2m7wMsEHYQsR/
SrMNGjTwGpCsHPVk3rd0oCLtEllU2KvIxs7DLcd9XJO6gKhWPZI75ajQeUtEQ9FS
xzXme7HxnaMbnbIEqA7niqRye9cFpqAvxneatyVaSxSm5dqYZKh+LvtkZsr1kfsA
GeXmk0rAzqk71hCEcRln/qpXnNRh8E4Oft7QDdQMhNc5JQ2Ge30=
=i33P
-----END PGP SIGNATURE-----

--kuuIfO5fhwcHDiCZ--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 20:26:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 20:26:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455513.712991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2eWJ-00016X-B0; Tue, 06 Dec 2022 20:26:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455513.712991; Tue, 06 Dec 2022 20:26:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2eWJ-00016Q-8E; Tue, 06 Dec 2022 20:26:27 +0000
Received: by outflank-mailman (input) for mailman id 455513;
 Tue, 06 Dec 2022 20:26:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XkKw=4E=citrix.com=prvs=332b12f58=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p2eWI-00016K-8m
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 20:26:26 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3fe65ea2-75a4-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 21:26:24 +0100 (CET)
Received: from mail-dm6nam12lp2176.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Dec 2022 15:26:13 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB5300.namprd03.prod.outlook.com (2603:10b6:a03:223::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Tue, 6 Dec
 2022 20:26:11 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.014; Tue, 6 Dec 2022
 20:26:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3fe65ea2-75a4-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670358383;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=GfBuhpMhHEEvlFTIwfh6wXQGgFcjZmbQ8Jk261YuVYk=;
  b=CECHNlxpTujsOSkx6f0hwfQmCSGAXUTSO6ncBXnecHaTo8wtGSPryLui
   D6sEgfFa8ar3uOV0Dndg2waZvjISZuuURkzhSys2bj7ObbTVm7GBByox1
   tMD5zAeopVdivmlR0FRTf2dKu0omsuN24/dvw5+2LIFQKkAc0JfKlJETM
   k=;
X-IronPort-RemoteIP: 104.47.59.176
X-IronPort-MID: 89426590
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:PRyUnKAFhXkjrxVW/+Piw5YqxClBgxIJ4kV8jS/XYbTApGkrg2YDm
 2VNWT2DPK2Da2X8f98jboS/pEwP6JOAz4UxQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlA4ARlDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwvfZJIUgRx
 aYjASEjVyq6pKHq7Oz4Rbw57igjBJGD0II3nFhFlGucIdN4BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI9OxuvDa7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prr+ewXmlBdNKfFG+3q5v33+2+GATMRgHZ3zjv9P+h0SsW+sKf
 iT4/QJr98De7neDTNPwQhm5q36spQMHVpxbFOhSwBGAzO/Y7hiUAkAATyVdc5o2uckuXzso2
 1SV2dTzClRHsqCRSH+b3qeZq3W1Iyd9BXQZeSYOQA8B4t/iiII+lBTCSpBkCqHdpsLxMSH9x
 XaNtidWulkIpcsC1qH+8VWZhTup/8LNVlRsuVuRWX+55ARkYoLjf5av9VXQ8fdHKsCeU0WFu
 38H3cOZ6YjiEK2wqcBEe81VdJnB2hpPGGe0bYJHd3X5ywmQxg==
IronPort-HdrOrdr: A9a23:lrgAf6BCwO27/EvlHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-IronPort-AV: E=Sophos;i="5.96,223,1665460800"; 
   d="scan'208";a="89426590"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=axW2UUNXRNzWCXSh49gExk/LU9Du7siNxS+DDZjLojXtxhtWKUbbgyCik30sSABZNTNsZQcBZywgGTz0wkIdLnpO27G2JZbON0eex6JbJZxNSheXmcXzpTJjpPSjj20ayL0PSI7T4d3XT1rZAXk2DFu8V4sHb6jlGgxCzrDGYMFUY0wvkGkLLgXr5F0TW9hMhXF+U6fx7dKpPeYtXkbkCmUaFwukklWQDlcftOTjGlttTqg4kAkbSMHuVk46b6mudvCvii7CltmLsq7hgxOtu6DMGAjudiQUg8vyvwJqv4csQU9c43FcKOI9k9EfvRxBTVLccwhJXgnCnTfExTD3JQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GfBuhpMhHEEvlFTIwfh6wXQGgFcjZmbQ8Jk261YuVYk=;
 b=Ya2fhWwztz9MwJ3LtLdyDgCG1Hsrpc5Ci6hHaiwplle5/zYbMTLDVgle0hGsGgffMZqMCS8IUyUpQbFYJfIA6kx+IhthwoyskqPfVMuKmAGP2ZGTy4ZoVQVrmCI1sDSJnLb20ZvF4AoMNSGzcPkBlrIMhceVlQgGwyvcMd6ekTv3cx/ZOR1Izwpc2zWRUm278yz1mdbOdCYjueAY6f4WIXvjYVNxWU8Z4zv5F0/hJr2gnYqNmX9cpDk0q/9KRWjIKPNE61lZ9fgov4IIGIhuXLZmJx6xOOxg4Ani5NI95Pb6Bpib8y8mYg8dzbDnnVX2Q6EVI7D1g34tklKYbRImYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GfBuhpMhHEEvlFTIwfh6wXQGgFcjZmbQ8Jk261YuVYk=;
 b=pCouVteshGpE/Gr3ILQmlFFJwVFdr9ESMg1xPzcE5XZm8eY11SI4lllPqs/e13pGfcnPZyrn1iMCswXCCXkXo78H5VeLw9KolUfgN/cIXomGyu3k9ME83NeTOcbouWW8d1WphgpvUExBFRgyTcALGuYsUanDlf4hJCxUIBudWos=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Roger Pau
 Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 2/3] x86/pv-shim: don't even allow enabling GRANT_TABLE
Thread-Topic: [PATCH 2/3] x86/pv-shim: don't even allow enabling GRANT_TABLE
Thread-Index: AQHZCX9NIrDy49JalkChlMsM+HKSta5hTvUA
Date: Tue, 6 Dec 2022 20:26:11 +0000
Message-ID: <5c934e1d-c785-d330-f0e1-acaaef700265@citrix.com>
References: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
 <5fd43248-225e-99c0-7bbb-65e7cf7f08d1@suse.com>
In-Reply-To: <5fd43248-225e-99c0-7bbb-65e7cf7f08d1@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BY5PR03MB5300:EE_
x-ms-office365-filtering-correlation-id: 82754e19-dfff-4ca5-220c-08dad7c81d63
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 MiKFW0fepV7HVaxu1mmn22EVn5xC4J/HRU+mO8vTw2bejYfIHLrMIzJOQQ6nfgFlBMkCvyNoMkx4w6Ri30IGPw5Zz+fsguDH7nuvzWOAh71h5K4hQzYvRVh5r99tGkHsU2sd3sAOfhOSyxT4aKpyDgyn+1zPSBad1GrAYoAaYOhIRjfGjsSEWOwIlvkCc9/VVR+Pdb5M9m5rMNw/ceZFSrUvKT41UfzXWOgUONrnaRroICIqONRzq6Asn6cxXLt8wKC3IcmfZmh3c0RsTpbyQkwyhnjDbcIPorXLeQCttJZvZnpu0If/nq3eauwFm8y9UyHqQqXhbK5JrfKJCmCzH7YOmEIAZcLNYxyf3cjnaOCVwjDqwhxQVlZwnoWx8UnVFjmpM5EPHdCSmuB0PN5SxNg/EFBhoehz7N2dqu87niAdh/Jgv0OXyQIO5iWxgt0PbW1hBtd50G4Q4KhKOQPbiXNZ7VOm73CFO1o6kZ6tyL326GZvOZB3MLVxlY26ByIJneK82LkodAHOJKkMr0pgohmMNdB8jwPqhQ8xJmXAlNGDgpmsinTM+xSrpkx5d+Aa6lan+OnPKWcEfq4Y1qxa0es+hxsLi8L5CV001NG3zQ16zonIOpi3VoIBRvqAOca+i3+d9LCUdoystgaGG36vmTXwIY4ViAZ+BH71SUDi+cdTfzDFwAsa37FkqGA+6Z00OqVqy+MvXZyxnWJFf0QrK1bOiqXAR+d5wQM6JegEcLHWHHhbfZ02gYCt/LzD+z2Yz78qErWITwjUpWWasCSUfw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(366004)(39860400002)(376002)(396003)(136003)(451199015)(36756003)(31686004)(38070700005)(86362001)(31696002)(4326008)(8936002)(91956017)(66446008)(2906002)(66476007)(66946007)(76116006)(41300700001)(66556008)(8676002)(4744005)(64756008)(38100700002)(122000001)(110136005)(316002)(2616005)(82960400001)(6486002)(54906003)(5660300002)(478600001)(186003)(107886003)(6506007)(53546011)(26005)(6512007)(71200400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NHMzc1RJbnZWV0Y0bWN0YUVDbTdlcTVZelFFWmsxQ21RaEZxWk8wUUxNUk91?=
 =?utf-8?B?S0d6SklFWkN0VjRxT2RYRDRxak5qS0d4TndCV0VCcDNvNlg5MWt1dk8zcUxC?=
 =?utf-8?B?SVdkdHNQOGFnTS9ubld3N2lvUzZRWmM0czJUQVlhTGw2ajl2YUR4UHVsZy9M?=
 =?utf-8?B?d0J5S3doS3BPNVF4NjNRZlh5K0YwZ1RIWXFIdWUzUVIxNkJEUEV3Zk96cEVy?=
 =?utf-8?B?WHhrSlA2M0hWWEpCdFI0b2NYOHo1ckdvSWgrdkFybGRhTEJmejJoUzRlQlMy?=
 =?utf-8?B?RUJKOWpPUXJYZHVuSjhsZXFwKzFERVZrTlZHUloyWGU5ZUIzOS9yeFI2L2p6?=
 =?utf-8?B?aWxrU2ZnclFkcmhwc3NrSWR2KzB5SVdFWmpXREZJLzdOdkprc1JuRGlNaEJj?=
 =?utf-8?B?R3p5emh0SFF0RWt1TmdiWlNCUEcrT3NMTXRnTDBqUlVzUmd5WjdzVE5rS3dU?=
 =?utf-8?B?WXNZai9aMUZIUmdHWnVQTlZDcWo0NEhnMkRJbHZ6UTQ3SEF4N1hyYlkrTG56?=
 =?utf-8?B?aTNKQ3RiR1VzVW9jZ1ZUVEdJdFpxeHo0TEUySDg3RGJZYlM1b1NKanhsOEt4?=
 =?utf-8?B?UmVmaElLMWYybm1HRVJQMHVCUWNzOHJiZlZRY2I1dy93dXpvbEZCSmtObUoz?=
 =?utf-8?B?aEl0QXR2cDJQeHB0dnczZmpaTTUzLzRSbHlCeTBzVmMvZXY3RFhWRnA5dHE5?=
 =?utf-8?B?c3VaQ1RIaVJuVVgrdU9rMitkUjNjMDBtYlR1Mm9YRkFIUE5HYzIyWTFqNEI2?=
 =?utf-8?B?dmN3NWJySjh2OEd0TnVONzVuLzRZS01lK3k0VTFPRGkyZ2dkdmFZaU0rUTFo?=
 =?utf-8?B?RkJhN0RsQ0pONjZOT2Q5bFVEVkNUS243c0VabG45dGVHNndIczdFUGo2QjFN?=
 =?utf-8?B?a0w2Z21aUElFdmtpbGJPVk1GNTUvQ2VvSURLQ2s1ckJwbFBoYXF3MXhmTHhK?=
 =?utf-8?B?OXFneHBmNnFzdExXN2UzYmZPME1LeHFYcFpDUm11ZWJ1QmN0bEFwaHpYRjhB?=
 =?utf-8?B?UmRKK1BnM1hMNkUxVzVMZlIyWWhQZjNkUmZCV1lxK29KQUZzaDJxT3NIcjlm?=
 =?utf-8?B?bFZDUnJQQjdZSVQ5aGFJZmlURDhDTnRudUdmL1BZQStiNUttMGdmZ2RqWDJF?=
 =?utf-8?B?cGhHdkZjaEhBRU9jVWlwd2NlTldVVEtuaE16MEJCUS9lOWZqaFg1MVpXZjlK?=
 =?utf-8?B?TzRLLzE5NmhEbDVGZDA5anFKNXVicUdZMEowZ3QreGRoNjI5VkF0aUlmd2RY?=
 =?utf-8?B?c3NXTWxFUmN2dk9hK25SbE1wcGEyS2hPTkVSSG9xK0xFa3hsYjIvVmxVaXcx?=
 =?utf-8?B?bzRJOStlaEdFRUo5YkNUNHZ3cm0rdDhYVXNySGpTT0VNNUlZQTZGTlltZ0tx?=
 =?utf-8?B?UkJkdEd1cVpZUlU3RG4xTXEva0VvbFFmMWpydzZRN0s5amdpT1hNZ2tTRFF2?=
 =?utf-8?B?aE80azhXR0Uwc3p1S2wwekU1ZFFBMnJaeTVBNTRRUkdzTitobTc0d3lveks4?=
 =?utf-8?B?bi81SkVWd0orRjNuYW1vZVp1SzBmWGJuend6SnNJcmtIdGdXVi9kQVRVVlVR?=
 =?utf-8?B?UjdCMTBLTEduR2d5bWErSnRzcEZhU3dHbEd4T3BEc1kxWEI2NXR4SVVGclhB?=
 =?utf-8?B?YXdHM20zUUJMa0VHdC9oRkgvczhEVHptcWNDRWpudU1vUmNXaFBXa2RZVDk3?=
 =?utf-8?B?ZjVMbnc0Qm10ZERhRlk4T2Fmck9neU9IcXE5TExKQVJpOUFVbjBSYktBVGYv?=
 =?utf-8?B?SGs2ZDlia3FqRml0UkZPWk51WHQxZTdsT0JkU1BYcUNVcGJkNGU2ekp4OERD?=
 =?utf-8?B?ZEpvUEUvNENrZXNaZEhNWWtZWXFxU2xIWlNkekJadXFudHV4VHFmc0N4cXpH?=
 =?utf-8?B?TndpMVNacEtuR29pbmVraDRZYk4wdFdwcGU5VldxaTY1N1hoQlh2OHdlNS9S?=
 =?utf-8?B?VDcxMTBrb2lWT25qM0QvYVhoSVl3WmxjTjVrT3VtTThzYVVVMVFyUE9kMGI5?=
 =?utf-8?B?aWNVT1hUSnhIT0Ntemswc1lzZWljUVpDcENta0V2L0FnVHNoMVJhOXZkR1A4?=
 =?utf-8?B?VUFxaXFUZWpSbGVnZEZhTzhodmttRHN2UGpqL3ZSVjRVRkNzTlFiV1RvazVx?=
 =?utf-8?Q?s6rvlPUxofI0X0VnSP9TsYSzH?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <EC21465CAEEB934D92DC06758E0F1E84@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	yWbP2KZNDQTX0gV+bPUJAwMye1dz9rUrXKBK1E4g+f1Vy0qenKL0jM8zLQr1osAZIqiFNTIvTmR8EwUDRczB5YdXW/+3rIPRZmW38MrtIC23SRqblXr4uRuMFiLY2CrY6drjGEpAr1TGAmoKAvnehmjm3U2YzqthXhcuACKwN597YWRT2wMbTXl1TYgms94qeSU0XHRyHeH2oIofvOqS4IcC/hu4vIZtiSCcXpe/2/44bc/PtmziscDgWNb0BS91jwxDpFbaukx/+j/wVqGQ+eT8gYSBMSfOPo5r9oWoRypqP7zuQk8MdYITvIMsu9Mbe67jSKhhn4vMtoO/GwXEC6QGonzvpAxq59EB/j8tnKwAnOA421mTVtJdvnrv5g3tkRnJdS94SAjg1VlWw69fkeHq0IU/zlN0eN/I5ewLgJtcXfmOqlavnY8mPym9oSq865tC8OS7euwSR9qK9e5HK+t/d1FdXFCIuBxXWJZ2Fg2xgHLmA8d8VxY8ngsUWYRZBwPa0IgthIXipWrilssJt0wLHw5woK0V+AwT8j6nVuwK0MlGSqcFyQPSy7Ey71cOagAFcxZ4wBXjrKV/mjV0XTd1ADuGgp+COYYFo7SyTp8/MgqVtUymQcAw02TW8mnRkRPRuSyRy3Mu8lA7NeIyG0JiDRsDZcZ4BpuCH3dsMCxHLx6l0/194JcXjFP6d5mkZMcRpC2aEW4Z/71b+KQuFsElXW6ISYg3LzTq9CBGYn6Ful4p4wyBfLXdQAODbN5Ks66tl5IJGmSOCjMUNTL1GGcs3h2OBTHATj2mIK6uWmKenBqvf9yBowxlf7hUVhsieuSYR4vOKyWT/PmDZU+aUd8kkrr3pptaGMgLZasOUN9jZMjhuRUutFZDkh+5kz3W
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82754e19-dfff-4ca5-220c-08dad7c81d63
X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Dec 2022 20:26:11.2344
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: YkuE7awl7Jdrolrcg3PZdAqmNGF5z82vWdsnr+9u3MnDD+7xfE2XYYWl05IaIp9BgBTIZ1cSPVMey3NanP97eHE8hb2HpwqniexTDExoJSQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5300

T24gMDYvMTIvMjAyMiAxNDozMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IEdyYW50IHRhYmxlIGNv
ZGUgaXMgdW51c2VkIGluIHNoaW0gbW9kZSwgc28gdGhlcmUncyBubyBwb2ludCBpbg0KPiBidWls
ZGluZyBpdCBpbiB0aGUgZmlyc3QgcGxhY2UgZm9yIHNoaW0tZXhjbHVzaXZlIG1vZGUuDQo+DQo+
IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KbmFjay4N
Cg0KVGhpcyBpcyBib2d1cywgYXMgaXMgZXZlcnkgb3RoZXIgImRlcGVuZHMgb24gIVBWX1NISU1f
RVhDTFVTSVZFIi4NCg0KVGhlIG9ubHkgcmVhc29uIEkgaGF2ZW4ndCByZXZlcnRpbmcgdGhlIG90
aGVycyBzbyBgbWFrZSBhbGx5ZXNjb25maWdgDQpkb2Vzbid0IGRpc2FibGUgQ09ORklHX0hWTSwg
aXMgYmVjYXVzZSBJIGhhdmVuJ3QgaGFkIHRpbWUuwqAgVGhpcyBjaGFuZ2UNCmZ1cnRoZXIgYnJl
YWtzIGFsbHllc2NvbmZpZyBieSBkaXNhYmxpbmcgR1JBTlRfVEFCTEUgdG9vLg0KDQpQVl9TSElN
X0VYQ0xVU0lWRSBpcyBhIHNpbXBsZSBvcHRpb24gZm9yIGEgYml0IG9mIGRlYWQgY29kZQ0KZWxp
bWluYXRpb24uwqAgSXQgaXMgbm90IHZhbGlkIHRvIGJlIHVzZWQgbGlrZSB0aGlzLg0KDQp+QW5k
cmV3DQo=


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 20:32:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 20:32:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455522.713002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ec3-0002xF-5C; Tue, 06 Dec 2022 20:32:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455522.713002; Tue, 06 Dec 2022 20:32:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ec3-0002x8-1g; Tue, 06 Dec 2022 20:32:23 +0000
Received: by outflank-mailman (input) for mailman id 455522;
 Tue, 06 Dec 2022 20:32:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2ec1-0002x2-OG
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 20:32:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2ec0-0001Zx-Ij; Tue, 06 Dec 2022 20:32:20 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2ec0-0000Ee-CH; Tue, 06 Dec 2022 20:32:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=M5saToTnZSTFDjMAb30/BVdrvc0n0AcaM3qD1/EZaII=; b=kmkPUurOF28++ONVNlpPw1b98f
	aXncdTi/iCad2wSKXIrmWk56Xkdy9DsTt5pIDOIm0Iu9YIPdk87YLmUv2aglLlAPsCIQYevUkt1iB
	dxDS3ME/cNunFr5hcq7JCGDDyrLee2YYTujoMHTue0RnhpSj8ore0JD7VO4QIRKrhgT8=;
Message-ID: <1af48fce-b234-1f08-3882-8f071893dc3c@xen.org>
Date: Tue, 6 Dec 2022 20:32:18 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
 Dario Faggioli <dfaggioli@suse.com>
References: <cover.1665128335.git.mykyta_poturai@epam.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH 00/19] xen/arm64: Suspend to RAM support for Xen
In-Reply-To: <cover.1665128335.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/10/2022 14:08, Mykyta Poturai wrote:
> This is a series from Mirela Simonovic. Ported to 4.16 and with
> added changes suggested here
> https://lore.kernel.org/all/CAKPH-NjmaZENb8gT=+FobrAycRF01_--6GuRA2ck9Di5wiudhA@mail.gmail.com
> 
> This series contains support for suspend to RAM (in the following text just
> 'suspend') for Xen on arm64. The implementation is aligned with the design
> specification that has been proposed on xen-devel list:
> https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01574.html
> 
> At a high-level the series contains:
> 1) Support for suspending guests via virtual PSCI SYSTEM_SUSPEND call
> 2) Support for resuming a guest on an interrupt targeted to that guest
> 3) Support for suspending Xen after dom0 finalizes the suspend
> 4) Support for resuming Xen on an interrupt that is targeted to a guest

 From the previous discussion, there were a few dubious code in 
cpu_disable() (e.g. mdelay()). So did you go through the code to confirm 
it is fully Arm compliant?

> 
> 
> --------------------------------------------------------------------------------
> In more details:
> 
> *** About suspending/resuming guests
> 
> The patches included in this series allow PSCI compliant guests that have
> support for suspend to RAM (e.g. echo mem > /sys/power/state in Linux) to
> suspend and resume on top of Xen without any EL1 code changes.

What's the mechanism to tell the guest to suspend?

> 
> During their suspend procedure guests will hot-unplug their secondary CPUs,
> triggering Xen's virtual CPU_OFF PSCI implementation, and then finalize the
> suspend from their boot CPU, triggering Xen's virtual SYSTEM_SUSPEND PSCI.
> Guests will save/restore their own EL1 context on suspend/resume.
> 
> A guest is expected to leave enabled interrupts that are considered to be its
> wake-up sources. Those interrupts will be able to wake up the guest. This holds
> regardless of the state of the underlying software layers, i.e. whether Xen gets
> suspended or not doesn't affect the ability of the guest to wake up.
> 
> First argument of SYSTEM_SUSPEND PSCI call is a resume entry point, from which
> the guest assumes to start on resume. On resume, guests assume to be running in
> an environment whose state matches the CPU state after reset, e.g. with reset
> register values, MMU disabled, etc. To ensure this, Xen has to 'reset' the
> VCPU context and save the resume entry point into program counter before the
> guest's VCPU gets scheduled in on resume. This is done when the guest resumes.
> Xen also needs to take care that the guest's view of GIC and timer gets saved.
> Also, while a guest is suspended its watchdogs are paused, in order to avoid
> watchdog triggered shutdown of a guest that has been asleep for a period of time
> that is longer than the watchdog period.
> 
> After this point, from Xen's point of view a suspended guest has one VCPU
> blocked, waiting for an interrupt. When such an interrupt comes, Xen will
> unblock the VCPU of the suspended domain, which results in the guest
> resuming.
> 
> *** About suspending/resuming Xen
> 
> Xen starts its own suspend procedure once dom0 is suspended. Dom0 is
> considered to be the decision maker for EL1 and EL2.

Can you explain why dom0 is the decision maker here? Also, what about 
cases where there is no dom0?

> On suspend, Xen will first freeze all domains. Then, Xen disables physical
> secondary CPUs, which leads to physical CPU_OFF to be called by each secondary
> CPU. After that Xen finalizes the suspend from the boot CPU.
> 
> This consists of suspending the timer, i.e. suppressing its interrupts (we don't
> want to be woken up by a timer, there is no VCPU ready to be scheduled). Then
> the state of GIC is saved, console is suspended, and CPU context is saved. The
> saved context tells where Xen needs to continue execution on resume.
> Since Xen will resume with MMU disabled, the first thing to do in resume is to
> resume memory management in order to be able to access the context that needs to
> be restored (we know virtual address of the context data). Finally Xen calls
> SYSTEM_SUSPEND PSCI to the EL3.
> 
> When resuming, all the steps done in suspend need to be reverted. This is
> completed by unblocking dom0's VCPU, because we always want the dom0 to
> resume,
> regardless of the target domain whose interrupt woke up Xen.
> 
> *** Handling of unprivileged guests during Xen suspend/resume
> 
> Any domU that is not suspended when dom0 suspends will be frozen,
Wouldn't this mess up with the timers in the guest OS?

> domUs that are
> already suspended remain suspended. On resume the suspended domUs still remain
> suspended (unless their wake interrupt caused Xen to wake) while the
> others will be thawed.
> 
> For more details please refer to patches or the design specification:
> https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01574.html

This is a 5 years old design and there were some comments on it. So I 
think it would be best if a new version is sent.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 20:36:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 20:36:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455529.713012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2egS-0003Zr-L8; Tue, 06 Dec 2022 20:36:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455529.713012; Tue, 06 Dec 2022 20:36:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2egS-0003Zk-IT; Tue, 06 Dec 2022 20:36:56 +0000
Received: by outflank-mailman (input) for mailman id 455529;
 Tue, 06 Dec 2022 20:36:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2egR-0003Ze-8Z
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 20:36:55 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2egO-0001fG-MK; Tue, 06 Dec 2022 20:36:52 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2egO-0000XG-Hd; Tue, 06 Dec 2022 20:36:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=TQeE9We7ZtVdlcZH6cDKAsIse3P0yNznHDK8hktbePU=; b=6nZ3ECd2y24wEBVWTS4X6c6kE4
	g7fhDsnvSGsl/lggqe0Q38JdKw9OUE0wGgoM92lsGu7y0GESPSqrp4yo0wQCw/iJcJdCXOlLDi1/h
	JV0lqHIOyR2/9loRcjlVG55TPqjHSCt7fMouLvO/BD79uEbLdHYwLWI6TXUzCsQyPAHY=;
Message-ID: <86b15c22-de90-fbbe-43ce-4f500b3ba5af@xen.org>
Date: Tue, 6 Dec 2022 20:36:50 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 05/19] xen/x86: Move freeze/thaw_domains into common files
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Mirela Simonovic <mirela.simonovic@aggios.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>
References: <cover.1665137247.git.mykyta_poturai@epam.com>
 <931418d761e47eee7847e6bd559e02597cbab1b6.1665137247.git.mykyta_poturai@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <931418d761e47eee7847e6bd559e02597cbab1b6.1665137247.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/10/2022 11:32, Mykyta Poturai wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> These functions will be reused by suspend/resume support for ARM.
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>

Your Signed-off-by is missing.

> ---
>   xen/common/domain.c     | 29 +++++++++++++++++++++++++++++

The title suggests that there will be code movement. However... I only 
see addition here. Did you intend to remove the functions from 
arch/x86/acpi/power.c?

>   xen/include/xen/sched.h |  3 +++
>   2 files changed, 32 insertions(+)
> 
> diff --git a/xen/common/domain.c b/xen/common/domain.c
> index 56d47dd664..5e5894c468 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -1884,6 +1884,35 @@ int continue_hypercall_on_cpu(
>       return 0;
>   }
>   
> +
> +void freeze_domains(void)
> +{
> +    struct domain *d;
> +
> +    rcu_read_lock(&domlist_read_lock);
> +    /*
> +     * Note that we iterate in order of domain-id. Hence we will pause dom0
> +     * first which is required for correctness (as only dom0 can add domains to
> +     * the domain list). Otherwise we could miss concurrently-created domains.
> +     */
> +    for_each_domain ( d )
> +        domain_pause(d);
> +    rcu_read_unlock(&domlist_read_lock);
> +}
> +
> +void thaw_domains(void)
> +{
> +    struct domain *d;
> +
> +    rcu_read_lock(&domlist_read_lock);
> +    for_each_domain ( d )
> +    {
> +        restore_vcpu_affinity(d);
> +        domain_unpause(d);
> +    }
> +    rcu_read_unlock(&domlist_read_lock);
> +}
> +
>   /*
>    * Local variables:
>    * mode: C
> diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
> index 00a939aa01..c8ddfdd51c 100644
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -978,6 +978,9 @@ static inline struct vcpu *domain_vcpu(const struct domain *d,
>       return vcpu_id >= d->max_vcpus ? NULL : d->vcpu[idx];
>   }
>   
> +void freeze_domains(void);
> +void thaw_domains(void);
> +
>   void cpu_init(void);
>   
>   /*

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 20:47:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 20:47:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455536.713024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2eqX-0005Rk-IP; Tue, 06 Dec 2022 20:47:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455536.713024; Tue, 06 Dec 2022 20:47:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2eqX-0005Rd-Fj; Tue, 06 Dec 2022 20:47:21 +0000
Received: by outflank-mailman (input) for mailman id 455536;
 Tue, 06 Dec 2022 20:47:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2eqW-0005RX-DS
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 20:47:20 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2eqV-00020Q-Ua; Tue, 06 Dec 2022 20:47:19 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2eqV-00019a-PS; Tue, 06 Dec 2022 20:47:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=YKKNoXYa1p3wKYvI/2eMeNw1pASuWvWHlaHeQECnDwY=; b=6Zz9HxTaXsoWVOoaxxvasPCYOr
	6wMmPk4yq4vP3EWGAnUjM4db203mwg606M0Oj2R55Aj+YbjTABBZmp+DxziVlsD4DwHbtJ+SKvX5P
	R8P1BkfwkWZazN5qU3WpOr5APhsQlUIImK08gO+jffCbn6eD4eysUj3XtQIAFmXxOOIE=;
Message-ID: <b8bdb09b-5d27-1c9f-b805-d4906cec87f6@xen.org>
Date: Tue, 6 Dec 2022 20:47:18 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Mirela Simonovic <mirela.simonovic@aggios.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>
References: <cover.1665137247.git.mykyta_poturai@epam.com>
 <4cbdda3b5c6cce54724a505da14ce968010d0958.1665137247.git.mykyta_poturai@epam.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH 06/19] xen/arm: Freeze domains on suspend and thaw them on
 resume
In-Reply-To: <4cbdda3b5c6cce54724a505da14ce968010d0958.1665137247.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/10/2022 11:32, Mykyta Poturai wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> Freeze and thaw of domains is reused as implemented for x86. In
> addition, system_state variable is updated to represent the actual
> state of the system.
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>

Your signed-off-by is missing.

> ---
>   xen/arch/arm/suspend.c | 8 ++++++++
>   1 file changed, 8 insertions(+)
> 
> diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
> index b09bf319d0..2b94816b63 100644
> --- a/xen/arch/arm/suspend.c
> +++ b/xen/arch/arm/suspend.c
> @@ -137,6 +137,14 @@ static long system_suspend(void *data)

So this is something I already hinted in the original series. But I will 
repeat here.

I find quite difficult to review the code in system_suspend() when this 
introduced in piece meal. For instance, patch #8 is fixing a bug 
introduced by patch #7.

Patch #7 adds barrier after code your added here...

So I would much prefer if we introduce the helpers in a few patches and 
then have one patch that will in system_suspend().

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 20:54:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 20:54:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455543.713035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ex3-0007FW-7S; Tue, 06 Dec 2022 20:54:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455543.713035; Tue, 06 Dec 2022 20:54:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ex3-0007F6-4X; Tue, 06 Dec 2022 20:54:05 +0000
Received: by outflank-mailman (input) for mailman id 455543;
 Tue, 06 Dec 2022 20:54:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mhi9=4E=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1p2ex2-0007F0-4J
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 20:54:04 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1bf7a823-75a8-11ed-8fd2-01056ac49cbb;
 Tue, 06 Dec 2022 21:54:02 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 2685C3200681;
 Tue,  6 Dec 2022 15:53:58 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Tue, 06 Dec 2022 15:53:59 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 6 Dec 2022 15:53:55 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1bf7a823-75a8-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670360037; x=
	1670446437; bh=AkgBJ3qAkEQO/DsyaJo9CWlLvoHIge8ZXPlKrw+Xs+s=; b=m
	xp8nTJIfbdhGk760i+9NAQ36Dju7mC4wtnMl3EYi3u/zzUNEFQeAUOzjZGI7dUP1
	mslkBkPj+6VhBn+9iGLTSV3i8S6h46G8nDQ2Ehzjx9VIoMle5MrEbFZ2BEZd2YeI
	tPIzeppTy920kyqVzfhOnwFe9qKpqzOH6UouFfVXN9+cmuficfNb3spCHf3zZ6kS
	JhyLnLKRwZKH6MdFn1PNjj2SMn6+3McwoWMRpJhUSSkxwSOaH8pCko0l04KOaSoE
	WKpWkK+DwNuSNmMhk8/QUkbyTf/aUkg3HWNJSC2JS0+AWWaBqpmis3NadnmVHi7Y
	uUKAmvyBKy7LJCce4FOxw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1670360037; x=1670446437; bh=AkgBJ3qAkEQO/DsyaJo9CWlLvoHI
	ge8ZXPlKrw+Xs+s=; b=LCsuCs6hdPpz8BnEGt+6fDY5Dn9a9c6C4gYLmIIBZDxj
	w0sLqWSkkXFEW7Df/IPzR3sPVdUsKH9yxaldTB+IzEOIYv0CsEfFAKHSSFRfGJJg
	ghRRFIf7iJx1bPI5j96nbPPWMDYUg68Xr1OpYn8W7sGcP1oFfjn43tDuLyJeVLaA
	ZxeYkxS0e5Kid9arln/oUlLPuRSMUPrrs5KSzjW9wTBh/d7FTpL01RRBdVeYi8Dm
	EiDUwwSI4QH4z/+L9FqnE8UhUD3KOqRwVnwbCDr9Ol8x1tjg7+ZxwcVAVerkgsze
	2lrcOB+eVnMVkO32DHEO3ZacKXYKr/nkTwweGBkI8g==
X-ME-Sender: <xms:5auPY-2Kr0sneLfy9J1IBsb9oJlJhOGf5TVnBll5W60-ELmYgxGXkA>
    <xme:5auPYxExAdGtU4F4b__HEtA2AtYC1CXxYX0PnXbbn9WjUBT25R277qUF8zneY-qpw
    6WG-x-86UiKQw>
X-ME-Received: <xmr:5auPY26CowCVGb28dVLppTQT671dY9g89I0mFuZfypFJquXkOB1G1pBLdx9zJE-jlz3DbWM3ubm0O_pGWv3GLo0_qVEOcj3FPA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudeigddugedvucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:5auPY_3IGBOj9d8fP4i29je44p73jykzSjXiv0Lp33ot-ayWU6gP9A>
    <xmx:5auPYxGmoFFFmJT9tEJ2ss4Rl9BSX0A1q_hyn7BXYVluvH4KrwOciA>
    <xmx:5auPY4-XLG1bJXXW7e5SlYw71SsQbkSPC2hBrwd4Yb03MEUvqvPnpw>
    <xmx:5auPY26FeRUYZpLvQ4kAVhKspJXt4QlKfgvgRbP_QWZz16eStrN00Q>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 6 Dec 2022 21:53:53 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 8/8] Use Linux's PAT
Message-ID: <Y4+r4Wphip1+yhlr@mail-itl>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <9f0bd911ba6c7fe1b7285f232154d42807145ced.1670300446.git.demi@invisiblethingslab.com>
 <4b2a87e1-89d1-b5fb-bd92-b891c8cea98a@citrix.com>
 <Y4+Die8lcZUwwGmK@itl-email>
 <Y4+F9iujzOmoOAVe@mail-itl>
 <Y4+cYuLNfIbKGN+X@itl-email>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="6lQh8AuYuEEEtM/P"
Content-Disposition: inline
In-Reply-To: <Y4+cYuLNfIbKGN+X@itl-email>


--6lQh8AuYuEEEtM/P
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 6 Dec 2022 21:53:53 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 8/8] Use Linux's PAT

On Tue, Dec 06, 2022 at 02:47:42PM -0500, Demi Marie Obenour wrote:
> On Tue, Dec 06, 2022 at 07:12:06PM +0100, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > On Tue, Dec 06, 2022 at 01:01:41PM -0500, Demi Marie Obenour wrote:
> > > On Tue, Dec 06, 2022 at 11:38:03AM +0000, Andrew Cooper wrote:
> > > > 2) The translation logic between Linux's idea of cacheability and X=
en's
> > > > PAT values is buggy.
> > >=20
> > > How could I check for this?
> >=20
> > See Andy's unit test idea on #xendevel:
> >=20
> >     as a pretty simple "unit" test in dom0, it might be a good idea to
> >     have a module which watches the PTE in question, and cycles through
> >     various of the memremap_*() APIs and checks the raw PTE that gets
> >     written after Linux and Xen are done fighting with it
>=20
> Which PTEs should I check?

The ones adjusted by the memremap_*() call.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--6lQh8AuYuEEEtM/P
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmOPq+AACgkQ24/THMrX
1yxyrQgAhllxa7uz08a3QlN4jzBh7zfAbkEC8x/fLssXpz79V22VRIJHBn8T8ltj
x/bRBC6YuTFmHunzCw5EwNb0UD8EgtTRBHLXiTOK/x34ZqYU4tyLT7XeKU5BxIfY
QdaazDQleH1ZY0YrC0RVFgO2RutkHRxxz6zKvq4RuBaHv/9WthJMntqyM0gx8ULe
7yndTIAvTcB9GLOOS2i/eWPHWQhjZhEs7nO3cTSBIltBFEjwwPwNLODwau3nvlMC
3+UW9mtCf9a2zJvIHRaDEU4mR1yoqFgDaKFOaQfQ6EB8Hekn5je8obbco6zJEg9W
UrQfO1xsg0LQiojPr3tM9M8olZC0oA==
=DhcA
-----END PGP SIGNATURE-----

--6lQh8AuYuEEEtM/P--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 21:01:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 21:01:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455551.713045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2f3e-0000sY-Vp; Tue, 06 Dec 2022 21:00:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455551.713045; Tue, 06 Dec 2022 21:00:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2f3e-0000sR-T7; Tue, 06 Dec 2022 21:00:54 +0000
Received: by outflank-mailman (input) for mailman id 455551;
 Tue, 06 Dec 2022 21:00:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2f3d-0000sL-Ce
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 21:00:53 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2f3c-0002Gr-Up; Tue, 06 Dec 2022 21:00:52 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2f3c-0001hE-Pt; Tue, 06 Dec 2022 21:00:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=M1wGMplVaSrVyos3PR8SOS4SkDZfkWpDaiJyGWdNaQU=; b=BO/QsMEX8UddO/9MOgwfY6b4Ao
	n/Uk8skO9tXFu0S8dPYHq5Xi3B/1/aqDIL0wRLdSzvYHlJfI0PAzK55rv1AiaMmRx6m6BWlJ07cMu
	bxocPZoQLpY61ZO8MahpVvRrHtUl5aclH7bW9Ik/7M2LQYAEYGj3yn0f1d7EfHmHYDeg=;
Message-ID: <84edf8ea-4067-0059-3d93-3b7db4ba0a7e@xen.org>
Date: Tue, 6 Dec 2022 21:00:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 07/19] xen/arm: Disable/enable non-boot physical CPUs on
 suspend/resume
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Mirela Simonovic <mirela.simonovic@aggios.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>
References: <cover.1665137247.git.mykyta_poturai@epam.com>
 <74bf02f1c6c5280f2d79b9cd60515895e8ba3319.1665137247.git.mykyta_poturai@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <74bf02f1c6c5280f2d79b9cd60515895e8ba3319.1665137247.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/10/2022 11:32, Mykyta Poturai wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> Non-boot CPUs have to be disabled on suspend and enabled on resume
> (hotplug-based mechanism). Disabling non-boot CPUs will lead to PSCI
> CPU_OFF to be called by each non-boot CPU. Depending on the underlying
> platform capabilities, this may lead to the physical powering down of
> CPUs. Tested on Xilinx Zynq Ultrascale+ MPSoC (including power down of
> each non-boot CPU).
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
> ---
>   xen/arch/arm/suspend.c | 15 ++++++++++++++-
>   1 file changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
> index 2b94816b63..0784979e4f 100644
> --- a/xen/arch/arm/suspend.c
> +++ b/xen/arch/arm/suspend.c
> @@ -13,6 +13,7 @@
>    */
>   
>   #include <xen/sched.h>
> +#include <xen/cpu.h>
>   #include <asm/cpufeature.h>
>   #include <asm/event.h>
>   #include <asm/psci.h>
> @@ -135,17 +136,29 @@ void vcpu_resume(struct vcpu *v)
>   /* Xen suspend. Note: data is not used (suspend is the suspend to RAM) */
>   static long system_suspend(void *data)
>   {
> +    int status;
> +
>       BUG_ON(system_state != SYS_STATE_active);
>   
>       system_state = SYS_STATE_suspend;
>       freeze_domains();
>   
> +    status = disable_nonboot_cpus();
> +    if ( status )
> +    {
> +        system_state = SYS_STATE_resume;
> +        goto resume_nonboot_cpus;
> +    }
> +
>       system_state = SYS_STATE_resume;
>   
> +resume_nonboot_cpus:
> +    enable_nonboot_cpus();
>       thaw_domains();
>       system_state = SYS_STATE_active;
> +    dsb(sy);

Please document what is this dsb() for.

>   
> -    return -ENOSYS;
> +    return status;
>   }
>   
>   int32_t domain_suspend(register_t epoint, register_t cid)

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 21:18:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 21:18:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455558.713056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2fKf-0002of-D6; Tue, 06 Dec 2022 21:18:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455558.713056; Tue, 06 Dec 2022 21:18:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2fKf-0002oY-9v; Tue, 06 Dec 2022 21:18:29 +0000
Received: by outflank-mailman (input) for mailman id 455558;
 Tue, 06 Dec 2022 21:18:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2fKd-0002oO-O7
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 21:18:27 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2fKd-0002iI-33; Tue, 06 Dec 2022 21:18:27 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2fKc-0002PS-Sh; Tue, 06 Dec 2022 21:18:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=RxCEfGIeF8njfvjtcwmA81V/s7qbcjJvJOOevnk4Qsc=; b=ZTFy+233vrczlq5uSEQEzFRMGr
	iL9+lrqfiBmZp4uomM11PKOpg2qTj0/N2QkwFZFiGcjbzFsTJg79e7AjhN0Fdi1uHPCxpfGI6OprP
	TeLKPAhrZAYb86Xoq6h+aPYp7OEm50oSPYDpeTODtfxi6FfRGYHyaiuILRylWZxvKeCI=;
Message-ID: <7b686c56-b90d-5acd-2622-08aed2d28173@xen.org>
Date: Tue, 6 Dec 2022 21:18:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Mirela Simonovic <mirela.simonovic@aggios.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>
References: <cover.1665137247.git.mykyta_poturai@epam.com>
 <0f1bebffe29c96c5b66c83b62b0c67752114c53a.1665137247.git.mykyta_poturai@epam.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH 09/19] xen/arm: Implement GIC suspend/resume functions
 (gicv2 only)
In-Reply-To: <0f1bebffe29c96c5b66c83b62b0c67752114c53a.1665137247.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/10/2022 11:32, Mykyta Poturai wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> System suspend may lead to a state where GIC would be powered down.
> Therefore, Xen should save/restore the context of GIC on suspend/resume.
> Note that the context consists of states of registers which are
> controlled by the hypervisor. Other GIC registers which are accessible
> by guests are saved/restored on context switch.
> Tested on Xilinx Ultrascale+ MPSoC with (and without) powering down
> the GIC.
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>

Your signed-off-by is missing.

> ---
>   xen/arch/arm/gic-v2.c     | 138 +++++++++++++++++++++++++++++++++++++-
>   xen/arch/arm/gic.c        |  27 ++++++++
>   xen/include/asm-arm/gic.h |   8 +++
>   3 files changed, 172 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
> index b2adc8ec9a..b077b66d92 100644
> --- a/xen/arch/arm/gic-v2.c
> +++ b/xen/arch/arm/gic-v2.c
> @@ -123,6 +123,23 @@ static DEFINE_PER_CPU(u8, gic_cpu_id);
>   /* Maximum cpu interface per GIC */
>   #define NR_GIC_CPU_IF 8
>   
> +/* GICv2 registers to be saved/restored on system suspend/resume */
> +struct gicv2_context {
> +    /* GICC context */
> +    uint32_t gicc_ctlr;
> +    uint32_t gicc_pmr;
> +    uint32_t gicc_bpr;
> +    /* GICD context */
> +    uint32_t gicd_ctlr;
> +    uint32_t *gicd_isenabler;
> +    uint32_t *gicd_isactiver;
> +    uint32_t *gicd_ipriorityr;
> +    uint32_t *gicd_itargetsr;
> +    uint32_t *gicd_icfgr;
> +};
> +
> +static struct gicv2_context gicv2_context;
> +
>   static inline void writeb_gicd(uint8_t val, unsigned int offset)
>   {
>       writeb_relaxed(val, gicv2.map_dbase + offset);
> @@ -1251,6 +1268,40 @@ static void __init gicv2_acpi_init(void)
>   static void __init gicv2_acpi_init(void) { }
>   #endif
>   
> +static int gicv2_alloc_context(struct gicv2_context *gc)
> +{
> +    uint32_t n = gicv2_info.nr_lines;
> +
> +    gc->gicd_isenabler = xzalloc_array(uint32_t, DIV_ROUND_UP(n, 32));
> +    if ( !gc->gicd_isenabler )
> +        goto err_free;
> +
> +    gc->gicd_isactiver = xzalloc_array(uint32_t, DIV_ROUND_UP(n, 32));
> +    if ( !gc->gicd_isactiver )
> +        goto err_free;
> +
> +    gc->gicd_itargetsr = xzalloc_array(uint32_t, DIV_ROUND_UP(n, 4));
> +    if ( !gc->gicd_itargetsr )
> +        goto err_free;
> +
> +    gc->gicd_ipriorityr = xzalloc_array(uint32_t, DIV_ROUND_UP(n, 4));
> +    if ( !gc->gicd_ipriorityr )
> +        goto err_free;
> +
> +    gc->gicd_icfgr = xzalloc_array(uint32_t, DIV_ROUND_UP(n, 16));
> +    if ( !gc->gicd_icfgr )
> +        goto err_free;
> +
> +    return 0;
> +err_free:
> +    xfree(gc->gicd_icfgr);
> +    xfree(gc->gicd_ipriorityr);
> +    xfree(gc->gicd_itargetsr);
> +    xfree(gc->gicd_isactiver);
> +    xfree(gc->gicd_isenabler);

Please add a newline.

> +    return -ENOMEM;
> +}
> +
>   static int __init gicv2_init(void)
>   {
>       uint32_t aliased_offset = 0;
> @@ -1318,7 +1369,8 @@ static int __init gicv2_init(void)
>   
>       spin_unlock(&gicv2.lock);
>   
> -    return 0;
> +    /* Allocate memory to be used for saving GIC context during the suspend */
> +    return gicv2_alloc_context(&gicv2_context);
As I pointed out in the previous version, suspend/resume is not going to 
be widely used. So I don't think we should prevent booting if we can't 
allocate the memory.

In addition to that, I think we should consider to have:
   * a command line option to avoid wasting memory if the feature is not 
going to be used
   * ifdef the suspend/resume code to allow an integrator to compile out 
any related code.

>   }
>   
>   static void gicv2_do_LPI(unsigned int lpi)
> @@ -1327,6 +1379,88 @@ static void gicv2_do_LPI(unsigned int lpi)
>       BUG();
>   }
>   
> +static int gicv2_suspend(void)
> +{
> +    int i;

This should be unsigned int.

> +
> +    ASSERT(gicv2_context.gicd_isenabler);
> +    ASSERT(gicv2_context.gicd_isactiver);
> +    ASSERT(gicv2_context.gicd_ipriorityr);
> +    ASSERT(gicv2_context.gicd_itargetsr);
> +    ASSERT(gicv2_context.gicd_icfgr);
> +
> +    /* Save GICC configuration */
> +    gicv2_context.gicc_ctlr = readl_gicc(GICC_CTLR);
> +    gicv2_context.gicc_pmr = readl_gicc(GICC_PMR);
> +    gicv2_context.gicc_bpr = readl_gicc(GICC_BPR);
> +
> +    /* Save GICD configuration */
> +    gicv2_context.gicd_ctlr = readl_gicd(GICD_CTLR);
> +
> +    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 32); i++ )
> +        gicv2_context.gicd_isenabler[i] = readl_gicd(GICD_ISENABLER + i * 4);
> +
> +    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 32); i++ )
> +        gicv2_context.gicd_isactiver[i] = readl_gicd(GICD_ISACTIVER + i * 4);
> +
> +    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 4); i++ )
> +        gicv2_context.gicd_ipriorityr[i] = readl_gicd(GICD_IPRIORITYR + i * 4);
> +
> +    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 4); i++ )
> +        gicv2_context.gicd_itargetsr[i] = readl_gicd(GICD_ITARGETSR + i * 4);
> +
> +    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 16); i++ )
> +        gicv2_context.gicd_icfgr[i] = readl_gicd(GICD_ICFGR + i * 4);
> +
> +    return 0;
> +}
> +
> +static void gicv2_resume(void)
> +{
> +    int i;

Ditto.

> +
> +    ASSERT(gicv2_context.gicd_isenabler);
> +    ASSERT(gicv2_context.gicd_isactiver);
> +    ASSERT(gicv2_context.gicd_ipriorityr);
> +    ASSERT(gicv2_context.gicd_itargetsr);
> +    ASSERT(gicv2_context.gicd_icfgr);
> +
> +    /* Disable CPU interface and distributor */
> +    writel_gicc(0, GICC_CTLR);
> +    writel_gicd(0, GICD_CTLR);

We don't need those two lines during boot. So why do you need them 
during resume?

> +
> +    /* Restore GICD configuration */
> +    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 32); i++ ) {
> +        writel_gicd(0xffffffff, GICD_ICENABLER + i * 4);
> +        writel_gicd(gicv2_context.gicd_isenabler[i], GICD_ISENABLER + i * 4);
> +    }
> +
> +    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 32); i++ ) {
> +        writel_gicd(0xffffffff, GICD_ICACTIVER + i * 4);
> +        writel_gicd(gicv2_context.gicd_isactiver[i], GICD_ISACTIVER + i * 4);
> +    }
> +
> +    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 4); i++ )
> +        writel_gicd(gicv2_context.gicd_ipriorityr[i], GICD_IPRIORITYR + i * 4);
> +
> +    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 4); i++ )
> +        writel_gicd(gicv2_context.gicd_itargetsr[i], GICD_ITARGETSR + i * 4);
> +
> +    for ( i = 0; i < DIV_ROUND_UP(gicv2_info.nr_lines, 16); i++ )
> +        writel_gicd(gicv2_context.gicd_icfgr[i], GICD_ICFGR + i * 4);
> +
> +    /* Make sure all registers are restored and enable distributor */

The first part reads like there is a missing barrier.

> +    writel_gicd(gicv2_context.gicd_ctlr | GICD_CTL_ENABLE, GICD_CTLR);
> +
> +    /* Restore GIC CPU interface configuration */
> +    writel_gicc(gicv2_context.gicc_pmr, GICC_PMR);
> +    writel_gicc(gicv2_context.gicc_bpr, GICC_BPR);
> +
> +    /* Enable GIC CPU interface */
> +    writel_gicc(gicv2_context.gicc_ctlr | GICC_CTL_ENABLE | GICC_CTL_EOI,
> +                GICC_CTLR);
> +}
> +
>   const static struct gic_hw_operations gicv2_ops = {
>       .info                = &gicv2_info,
>       .init                = gicv2_init,
> @@ -1361,6 +1495,8 @@ const static struct gic_hw_operations gicv2_ops = {
>       .map_hwdom_extra_mappings = gicv2_map_hwdown_extra_mappings,
>       .iomem_deny_access   = gicv2_iomem_deny_access,
>       .do_LPI              = gicv2_do_LPI,
> +    .suspend             = gicv2_suspend,
> +    .resume              = gicv2_resume,
>   };
>   
>   /* Set up the GIC */
> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
> index 3b0331b538..e9feb1fd3b 100644
> --- a/xen/arch/arm/gic.c
> +++ b/xen/arch/arm/gic.c
> @@ -467,6 +467,33 @@ int gic_iomem_deny_access(const struct domain *d)
>       return gic_hw_ops->iomem_deny_access(d);
>   }
>   
> +int gic_suspend(void)
> +{
> +    /* Must be called by boot CPU#0 with interrupts disabled */
> +    ASSERT(!local_irq_is_enabled());
> +    ASSERT(!smp_processor_id());
> +
> +    if ( !gic_hw_ops->suspend || !gic_hw_ops->resume )
> +        return -ENOSYS;
> +
> +    gic_hw_ops->suspend();
> +
> +    return 0;
> +}
> +
> +void gic_resume(void)
> +{
> +    /*
> +     * Must be called by boot CPU#0 with interrupts disabled after gic_suspend
> +     * has returned successfully.
> +     */
> +    ASSERT(!local_irq_is_enabled());
> +    ASSERT(!smp_processor_id());
> +    ASSERT(gic_hw_ops->resume);
> +
> +    gic_hw_ops->resume();
> +}
> +
>   static int cpu_gic_callback(struct notifier_block *nfb,
>                               unsigned long action,
>                               void *hcpu)
> diff --git a/xen/include/asm-arm/gic.h b/xen/include/asm-arm/gic.h
> index c7f0c343d1..113e39460d 100644
> --- a/xen/include/asm-arm/gic.h
> +++ b/xen/include/asm-arm/gic.h
> @@ -275,6 +275,10 @@ extern int gicv_setup(struct domain *d);
>   extern void gic_save_state(struct vcpu *v);
>   extern void gic_restore_state(struct vcpu *v);
>   
> +/* Suspend/resume */
> +extern int gic_suspend(void);
> +extern void gic_resume(void);
> +
>   /* SGI (AKA IPIs) */
>   enum gic_sgi {
>       GIC_SGI_EVENT_CHECK,
> @@ -390,6 +394,10 @@ struct gic_hw_operations {
>       int (*iomem_deny_access)(const struct domain *d);
>       /* Handle LPIs, which require special handling */
>       void (*do_LPI)(unsigned int lpi);
> +    /* Save GIC configuration due to the system suspend */
> +    int (*suspend)(void);
> +    /* Restore GIC configuration due to the system resume */
> +    void (*resume)(void);
>   };
>   
>   extern const struct gic_hw_operations *gic_hw_ops;

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 21:20:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 21:20:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455567.713068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2fMy-0004OK-Tj; Tue, 06 Dec 2022 21:20:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455567.713068; Tue, 06 Dec 2022 21:20:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2fMy-0004OD-Qi; Tue, 06 Dec 2022 21:20:52 +0000
Received: by outflank-mailman (input) for mailman id 455567;
 Tue, 06 Dec 2022 21:20:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2fMx-0004O7-Mp
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 21:20:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2fMx-0002lv-4A; Tue, 06 Dec 2022 21:20:51 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2fMw-0002Rv-Vk; Tue, 06 Dec 2022 21:20:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=5EKspq5CNSz1IgXvPO/LH0VWNT/7SkTxw1w6M3GWNzA=; b=7ISxvCH5tItfxGK8/7oovKJiFU
	SdPfeNI0/tdoHROO0fK0gMX+fdBmMTxVAVoPlQtTQZ4ceFukRioMrwnh7eVkShAvdMZlx7mwHTTMU
	kw4kJujnXaQCqVXpyY2P//1fBNHoJQhV0N9MJQoCJ5UFZeO4/kVTxPkH8QuNZz9hDTx4=;
Message-ID: <188e8784-b033-8fba-e7f7-df194cbcff2e@xen.org>
Date: Tue, 6 Dec 2022 21:20:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 10/19] xen/arm: Suspend/resume GIC on system
 suspend/resume
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Mirela Simonovic <mirela.simonovic@aggios.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>
References: <cover.1665137247.git.mykyta_poturai@epam.com>
 <99a4fc0ff6732482152389a0813769fcfbdb379c.1665137247.git.mykyta_poturai@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <99a4fc0ff6732482152389a0813769fcfbdb379c.1665137247.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/10/2022 11:32, Mykyta Poturai wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> GIC state is saved on system suspend by calling gic_suspend
> (this function does not change current state of the GIC but only
> saves the values of configuration registers).
> The state of GIC has to be restored by calling gic_resume, but only
> if the gic_suspend has succeeded. If gic_suspend fails, we'll just
> restore interrupts configuration and abort suspend.
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
> ---
>   xen/arch/arm/gic.c     |  4 +---
>   xen/arch/arm/suspend.c | 14 ++++++++++++++
>   2 files changed, 15 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
> index e9feb1fd3b..ef90664929 100644
> --- a/xen/arch/arm/gic.c
> +++ b/xen/arch/arm/gic.c
> @@ -476,9 +476,7 @@ int gic_suspend(void)
>       if ( !gic_hw_ops->suspend || !gic_hw_ops->resume )
>           return -ENOSYS;
>   
> -    gic_hw_ops->suspend();
> -
> -    return 0;
> +    return gic_hw_ops->suspend();

This should be part of the previous patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 21:23:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 21:23:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455576.713079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2fPR-0005Ee-Aj; Tue, 06 Dec 2022 21:23:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455576.713079; Tue, 06 Dec 2022 21:23:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2fPR-0005EX-7S; Tue, 06 Dec 2022 21:23:25 +0000
Received: by outflank-mailman (input) for mailman id 455576;
 Tue, 06 Dec 2022 21:23:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2fPQ-0005EL-LB; Tue, 06 Dec 2022 21:23:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2fPQ-0002oH-KT; Tue, 06 Dec 2022 21:23:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2fPQ-0002cN-5q; Tue, 06 Dec 2022 21:23:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2fPQ-0000QD-55; Tue, 06 Dec 2022 21:23:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=r/mr6DOjvTyqTG+TFC9lq2srH3NTVH5K3aQSqMQMdfE=; b=R3oH+rbuQvb2Jr7YqYAW4efMWY
	xQDqyw3qjZd1IQFDvAdngWW9UAxUxgbQKoMCbQVcH6S+4Jfb3N+qj7LsByOEyTDffuRYZ7ERB7JWU
	DFH95zFlhBfL+u+B+hTni6scNHZZvlswcjUmdGIG2Tb1BseLMQaTaCvOAa+t8Tsc0U/0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175063-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175063: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=b926dbcccaa92831dda37576f768ddab9ec8a701
X-Osstest-Versions-That:
    xen=a6da84524ceaf24ff997d03407b93f60c12857f3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 06 Dec 2022 21:23:24 +0000

flight 175063 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175063/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  b926dbcccaa92831dda37576f768ddab9ec8a701
baseline version:
 xen                  a6da84524ceaf24ff997d03407b93f60c12857f3

Last test of basis   175060  2022-12-06 13:00:26 Z    0 days
Testing same since   175063  2022-12-06 19:00:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Ayan Kumar Halder <ayankuma@amd.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien@xen.org>
  Michal Orzel <michal.orzel@amd.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   a6da84524c..b926dbccca  b926dbcccaa92831dda37576f768ddab9ec8a701 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 21:26:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 21:26:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455585.713090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2fS8-0005rM-NC; Tue, 06 Dec 2022 21:26:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455585.713090; Tue, 06 Dec 2022 21:26:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2fS8-0005rF-K7; Tue, 06 Dec 2022 21:26:12 +0000
Received: by outflank-mailman (input) for mailman id 455585;
 Tue, 06 Dec 2022 21:26:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2fS6-0005r7-U9
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 21:26:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2fS5-0002ru-TG; Tue, 06 Dec 2022 21:26:09 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2fS5-0002hB-Kv; Tue, 06 Dec 2022 21:26:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=KwzGXX09l4ohziPxc9xX7H0c2GRkqVO1+8OfuSqEMaA=; b=xKugV26xWdvs318YAtoLpHB7mS
	s5y24q/dwGZWh4lsu887/WaAJv318bp5m6VJ0IW3XLzQUsniWrSU9UfbSUMNGEDK2lFvL+mELmMnw
	WfNXv+sY2T/mgUEsMbtjZLOeGacJBzbNCLCxQAl1Qb3/bcxkbVlRAVoCHQn+0e+Pam2w=;
Message-ID: <b2779158-0143-d85e-abd6-6dca97e88517@xen.org>
Date: Tue, 6 Dec 2022 21:26:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 00/19] xen/arm64: Suspend to RAM support for Xen
From: Julien Grall <julien@xen.org>
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
 Dario Faggioli <dfaggioli@suse.com>
References: <cover.1665128335.git.mykyta_poturai@epam.com>
 <1af48fce-b234-1f08-3882-8f071893dc3c@xen.org>
In-Reply-To: <1af48fce-b234-1f08-3882-8f071893dc3c@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 06/12/2022 20:32, Julien Grall wrote:
> Hi,
> 
> On 07/10/2022 14:08, Mykyta Poturai wrote:
>> This is a series from Mirela Simonovic. Ported to 4.16 and with
>> added changes suggested here
>> https://lore.kernel.org/all/CAKPH-NjmaZENb8gT=+FobrAycRF01_--6GuRA2ck9Di5wiudhA@mail.gmail.com
>>
>> This series contains support for suspend to RAM (in the following text 
>> just
>> 'suspend') for Xen on arm64. The implementation is aligned with the 
>> design
>> specification that has been proposed on xen-devel list:
>> https://lists.xenproject.org/archives/html/xen-devel/2017-12/msg01574.html
>>
>> At a high-level the series contains:
>> 1) Support for suspending guests via virtual PSCI SYSTEM_SUSPEND call
>> 2) Support for resuming a guest on an interrupt targeted to that guest
>> 3) Support for suspending Xen after dom0 finalizes the suspend
>> 4) Support for resuming Xen on an interrupt that is targeted to a guest
> 
>  From the previous discussion, there were a few dubious code in 
> cpu_disable() (e.g. mdelay()). So did you go through the code to confirm 
> it is fully Arm compliant?

Another missing pieces is that we don't free anything related to the CPU 
that is been powered down. But AFAICT, we will end up to allocate the 
memory again for things like page tables, per-cpu...

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 21:29:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 21:29:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455592.713100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2fVJ-0006SN-5K; Tue, 06 Dec 2022 21:29:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455592.713100; Tue, 06 Dec 2022 21:29:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2fVJ-0006SG-2D; Tue, 06 Dec 2022 21:29:29 +0000
Received: by outflank-mailman (input) for mailman id 455592;
 Tue, 06 Dec 2022 21:29:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2fVI-0006SA-DT
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 21:29:28 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2fVH-0002uU-So; Tue, 06 Dec 2022 21:29:27 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2fVH-0002kq-ND; Tue, 06 Dec 2022 21:29:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=bsp1/+MJYkE/neZ1p03WojXRQ3KHa1ZGrnGe2ZZmTOA=; b=R8Zx4PCDPF8ZYsXHsDfzsvC6TJ
	/mNVukyPa47AfuXUSKFw4ERWDeMvAArxJXqKRE4SUgxdhhsO+T/Dr9wfA04j5aqgvV2NJLI/QFQ0l
	nqXULwcaywm9jzCSnReqsb5hgNJYgE2oqfXTJPeV9JbW8KE1oIn4KOZeZDf4sOTe3jEY=;
Message-ID: <f26c3bc2-1bc5-b33d-9922-74c5b829feb2@xen.org>
Date: Tue, 6 Dec 2022 21:29:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 11/19] xen/arm: Suspend/resume timer interrupt generation
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Mirela Simonovic <mirela.simonovic@aggios.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>
References: <cover.1665137247.git.mykyta_poturai@epam.com>
 <63e5551cc906d8603abfbe9596403fdd8107c849.1665137247.git.mykyta_poturai@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <63e5551cc906d8603abfbe9596403fdd8107c849.1665137247.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/10/2022 11:32, Mykyta Poturai wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> Timer interrupts have to be disabled while the system is in suspend.
> Otherwise, a timer interrupt would fire and wake-up the system.
> Suspending the timer interrupts consists of disabling physical EL1
> and EL2 timers. The resume consists only of raising timer softirq,
> which will trigger the generic timer code to reprogram the EL2 timer
> as needed. Enabling of EL1 physical timer will be triggered by an
> entity which uses it.
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
> ---
>   xen/arch/arm/suspend.c     |  4 ++++
>   xen/arch/arm/time.c        | 22 ++++++++++++++++++++++
>   xen/include/asm-arm/time.h |  3 +++
>   3 files changed, 29 insertions(+)
> 
> diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
> index b94a6df86d..05c43ce502 100644
> --- a/xen/arch/arm/suspend.c
> +++ b/xen/arch/arm/suspend.c
> @@ -151,6 +151,8 @@ static long system_suspend(void *data)
>           goto resume_nonboot_cpus;
>       }
>   
> +    time_suspend();
> +
>       local_irq_save(flags);
>       status = gic_suspend();
>       if ( status )
> @@ -166,6 +168,8 @@ static long system_suspend(void *data)
>   resume_irqs:
>       local_irq_restore(flags);
>   
> +    time_resume();
> +
>   resume_nonboot_cpus:
>       rcu_barrier();
>       enable_nonboot_cpus();
> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
> index dec53b5f7d..ca54bcfe68 100644
> --- a/xen/arch/arm/time.c
> +++ b/xen/arch/arm/time.c
> @@ -363,6 +363,28 @@ void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds)
>       /* XXX update guest visible wallclock time */
>   }
>   
> +void time_suspend(void)
> +{
> +    /* Disable physical EL1 timer */
> +    WRITE_SYSREG(0, CNTP_CTL_EL0);
> +
> +    /* Disable hypervisor's timer */
> +    WRITE_SYSREG(0, CNTHP_CTL_EL2);
> +    isb();
> +}
> +
> +void time_resume(void)
> +{
> +    /*
> +     * Raising timer softirq will trigger generic timer code to reprogram_timer
> +     * with the correct timeout value (which is not known here). There is no
> +     * need to do anything else in order to recover the time keeping from power
> +     * down, because the system counter is not affected by the power down (it
> +     * resides out of the ARM's cluster in an always-on part of the SoC).
> +     */

Can you point me to the section in the Arm Arm stating the system 
counter is in an always-on part of the SoC?

> +    raise_softirq(TIMER_SOFTIRQ);

My expectation is that the time_resume() would closely match the x86 
version (aside the arch specific part). I can't see the raise_softirq(). 
So why do we need it here?

Also, there is a missing call to do_settime() and update_vcpu_system_time().

> +}
> +
>   static int cpu_time_callback(struct notifier_block *nfb,
>                                unsigned long action,
>                                void *hcpu)
> diff --git a/xen/include/asm-arm/time.h b/xen/include/asm-arm/time.h
> index 4b401c1110..ded93b490a 100644
> --- a/xen/include/asm-arm/time.h
> +++ b/xen/include/asm-arm/time.h
> @@ -107,6 +107,9 @@ void preinit_xen_time(void);
>   
>   void force_update_vcpu_system_time(struct vcpu *v);
>   
> +void time_suspend(void);
> +void time_resume(void);
> +
>   #endif /* __ARM_TIME_H__ */
>   /*
>    * Local variables:

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 21:34:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 21:34:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455600.713112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2faO-0008G0-Q4; Tue, 06 Dec 2022 21:34:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455600.713112; Tue, 06 Dec 2022 21:34:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2faO-0008Ft-Ll; Tue, 06 Dec 2022 21:34:44 +0000
Received: by outflank-mailman (input) for mailman id 455600;
 Tue, 06 Dec 2022 21:34:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2faN-0008Fn-QA
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 21:34:43 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2faN-00030L-BV; Tue, 06 Dec 2022 21:34:43 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2faN-00030Q-3T; Tue, 06 Dec 2022 21:34:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=b+t3yx9lyzlLOTLkmm87s27yuFrb9eclXRTa92z4XYg=; b=IsyxDgzz+EORvc2Ugbp34cvMk/
	R8LQFvgr8f4SLTk9vtW5sMCll6Sz8vg1G61MBpwcezuO0E6UtUCpo4gWVDrfM0EUVx/6mAwL/uiuU
	OxxcZ9hGytBTuet20JxfKMFtkx2Bm1A/U55d4bZBTRtPM/wQTDzPn1SUhxYL3aGFl2A8=;
Message-ID: <e64c0224-5ab8-b758-1756-a0beae872d28@xen.org>
Date: Tue, 6 Dec 2022 21:34:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 12/19] xen/arm: Implement PSCI SYSTEM_SUSPEND call
 (physical interface)
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Mirela Simonovic <mirela.simonovic@aggios.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>
References: <cover.1665137247.git.mykyta_poturai@epam.com>
 <3c5ec1f22e9ae6bac7ee98f63a0a700d7c3ec11f.1665137247.git.mykyta_poturai@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3c5ec1f22e9ae6bac7ee98f63a0a700d7c3ec11f.1665137247.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/10/2022 11:32, Mykyta Poturai wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> PSCI system suspend function shall be invoked to finalize Xen suspend
> procedure. Resume entry point, which needs to be passed via 1st argument
> of PSCI system suspend call to the EL3, is hyp_resume. For now, hyp_resume
> is just a placeholder that will be implemented in assembly. Context ID,
> which is 2nd argument of system suspend PSCI call, is unused, as in Linux.
> 
> Update: moved hyp_resume to head.S to place it near the rest of the
> start code
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> ---
>   xen/arch/arm/arm64/head.S     |  3 +++
>   xen/arch/arm/psci.c           | 16 ++++++++++++++++
>   xen/arch/arm/suspend.c        |  4 ++++
>   xen/include/asm-arm/psci.h    |  1 +
>   xen/include/asm-arm/suspend.h |  1 +
>   5 files changed, 25 insertions(+)
> 
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index aa1f88c764..8857955699 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -957,6 +957,9 @@ ENTRY(efi_xen_start)
>           b     real_start_efi
>   ENDPROC(efi_xen_start)
>   
> +ENTRY(hyp_resume)
> +        b .

This needs to be part of the idmap. At the moment, this will only cover 
up to _end_boot.

> +
>   /*
>    * Local variables:
>    * mode: ASM
> diff --git a/xen/arch/arm/psci.c b/xen/arch/arm/psci.c
> index 0c90c2305c..43a67eb345 100644
> --- a/xen/arch/arm/psci.c
> +++ b/xen/arch/arm/psci.c
> @@ -25,6 +25,7 @@
>   #include <asm/cpufeature.h>
>   #include <asm/psci.h>
>   #include <asm/acpi.h>
> +#include <asm/suspend.h>
>   
>   /*
>    * While a 64-bit OS can make calls with SMC32 calling conventions, for
> @@ -68,6 +69,21 @@ void call_psci_cpu_off(void)
>       }
>   }
>   
> +int call_psci_system_suspend(void)
> +{
> +#ifdef CONFIG_ARM_64
> +    struct arm_smccc_res res;
> +
> +    /* 2nd argument (context ID) is not used */
> +    arm_smccc_smc(PSCI_1_0_FN64_SYSTEM_SUSPEND, __pa(hyp_resume), &res);
> +
> +    return PSCI_RET(res);
> +#else
> +    /* not supported */
> +    return 1;
> +#endif
> +}
> +
>   void call_psci_system_off(void)
>   {
>       if ( psci_ver > PSCI_VERSION(0, 1) )
> diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
> index 05c43ce502..a0258befc9 100644
> --- a/xen/arch/arm/suspend.c
> +++ b/xen/arch/arm/suspend.c
> @@ -161,6 +161,10 @@ static long system_suspend(void *data)
>           goto resume_irqs;
>       }
>   
> +    status = call_psci_system_suspend();
> +    if ( status )
> +        dprintk(XENLOG_ERR, "PSCI system suspend failed, err=%d\n", status);
> +
>       system_state = SYS_STATE_resume;
>   
>       gic_resume();
> diff --git a/xen/include/asm-arm/psci.h b/xen/include/asm-arm/psci.h
> index 26462d0c47..9f6116a224 100644
> --- a/xen/include/asm-arm/psci.h
> +++ b/xen/include/asm-arm/psci.h
> @@ -20,6 +20,7 @@ extern uint32_t psci_ver;
>   
>   int psci_init(void);
>   int call_psci_cpu_on(int cpu);
> +int call_psci_system_suspend(void);
>   void call_psci_cpu_off(void);
>   void call_psci_system_off(void);
>   void call_psci_system_reset(void);
> diff --git a/xen/include/asm-arm/suspend.h b/xen/include/asm-arm/suspend.h
> index fbaa414f0c..29420e27fa 100644
> --- a/xen/include/asm-arm/suspend.h
> +++ b/xen/include/asm-arm/suspend.h
> @@ -3,6 +3,7 @@
>   
>   int32_t domain_suspend(register_t epoint, register_t cid);
>   void vcpu_resume(struct vcpu *v);
> +void hyp_resume(void);
>   
>   #endif
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 21:52:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 21:52:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455607.713122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2frE-0002ww-4w; Tue, 06 Dec 2022 21:52:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455607.713122; Tue, 06 Dec 2022 21:52:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2frE-0002wp-2I; Tue, 06 Dec 2022 21:52:08 +0000
Received: by outflank-mailman (input) for mailman id 455607;
 Tue, 06 Dec 2022 21:52:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2frC-0002wj-UN
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 21:52:06 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2frC-0003U6-GA; Tue, 06 Dec 2022 21:52:06 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2frC-0003ag-Al; Tue, 06 Dec 2022 21:52:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=YHHIAWiZJz9+aky9OfP2qR7uY8Rr++QcRDmif+5d/bw=; b=UWok0XmvUv/8qlOhW2Z48/z1+Y
	khpnW7jK4uFH80tKv+j7LB/dbeZbN4j2S5DuFgetjgBHQCylPDKoDbTcIbAARUv8vk5nkB9t3BPOc
	2wkR0sFufWQrAvzIOkSSSyRmVUwjg1/frZ1125/TcZkyaLzocGetIlO2x5L8N3OmSBCA=;
Message-ID: <e225cf3f-ac77-7bf9-79ad-91bf9a09c8ff@xen.org>
Date: Tue, 6 Dec 2022 21:52:04 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Mirela Simonovic <mirela.simonovic@aggios.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>
References: <cover.1665137247.git.mykyta_poturai@epam.com>
 <c4716207f7f269b8adf7ed1b1928558cfc1d3bc8.1665137247.git.mykyta_poturai@epam.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH 13/19] xen/arm: Resume memory management on Xen resume
In-Reply-To: <c4716207f7f269b8adf7ed1b1928558cfc1d3bc8.1665137247.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/10/2022 11:32, Mykyta Poturai wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> The MMU needs to be enabled in the resume flow before the context
> can be restored (we need to be able to access the context data by
> virtual address in order to restore it). The configuration of system
> registers prior to branching to the routine that sets up the page
> tables is copied from xen/arch/arm/arm64/head.S.
> After the MMU is enabled, the content of TTBR0_EL2 is changed to
> point to init_ttbr (page tables used at runtime).

This is not Arm Arm compliant. Please look at the series [1] to see how 
you can safely switch the MMU on and use the page tables.

> 
> At boot the init_ttbr variable is updated when a secondary CPU is
> hotplugged. In the scenario where there is only one physical CPU in
> the system, the init_ttbr would not be initialized for the use in
> resume flow. To get the variable initialized in all scenarios in this
> patch we add that the boot CPU updates init_ttbr after it sets the
> page tables for runtime.
> 
> After the memory management is resumed, the SCTLR_WXN in SCTLR_EL2
> has to be set in order to configure that a mapping cannot be both
> writable and executable (this was configured prior to suspend).
> This is done using an existing function (mmu_init_secondary_cpu).
> 
> Update: moved hyp_resume to head.S to place it near the rest of the
> start code
> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> ---
>   xen/arch/arm/arm64/entry.S      |  2 ++
>   xen/arch/arm/arm64/head.S       | 30 ++++++++++++++++++++++++++++++
>   xen/arch/arm/mm.c               |  1 +
>   xen/arch/arm/suspend.c          |  6 ++++++
>   xen/include/asm-arm/processor.h | 22 ++++++++++++++++++++++
>   5 files changed, 61 insertions(+)
> 
> diff --git a/xen/arch/arm/arm64/entry.S b/xen/arch/arm/arm64/entry.S
> index fc3811ad0a..f49f1daf46 100644
> --- a/xen/arch/arm/arm64/entry.S
> +++ b/xen/arch/arm/arm64/entry.S
> @@ -1,4 +1,6 @@
>   #include <asm/current.h>
> +#include <asm/macros.h>
> +#include <asm/page.h>
>   #include <asm/regs.h>
>   #include <asm/alternative.h>
>   #include <asm/smccc.h>
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 8857955699..82d83214dc 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -958,6 +958,36 @@ ENTRY(efi_xen_start)
>   ENDPROC(efi_xen_start)
>   
>   ENTRY(hyp_resume)
> +        msr   DAIFSet, 0xf           /* Disable all interrupts */
> +
> +        tlbi  alle2
> +        dsb   sy                     /* Ensure completion of TLB flush */
> +        isb

Please explain what this TLB is for.

> +
> +        ldr   x0, =start
> +        adr   x19, start             /* x19 := paddr (start) */
> +        sub   x20, x19, x0           /* x20 := phys-offset */
> +
> +        mov   x22, #0                /* x22 := is_secondary_cpu */

x22 is not hold the is_secondary_cpu anymore.

> +
> +        bl    check_cpu_mode
> +        bl    cpu_init
> +        bl    create_page_tables
> +        bl    enable_mmu
> +
> +        ldr   x0, =mmu_resumed      /* Explicit vaddr, not RIP-relative */
> +        br    x0                    /* Get a proper vaddr into PC */
> +
> +mmu_resumed:
> +        ldr   x4, =init_ttbr         /* VA of TTBR0_EL2 stashed by CPU 0 */
> +        ldr   x4, [x4]               /* Actual value */
> +        dsb   sy
> +        msr   TTBR0_EL2, x4
> +        dsb   sy
> +        isb
> +        tlbi  alle2
> +        dsb   sy                     /* Ensure completion of TLB flush */
> +        isb
>           b .
>   
>   /*
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index eea926d823..29cdaff3bf 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -708,6 +708,7 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
>       switch_ttbr(ttbr);
>   
>       xen_pt_enforce_wnx();
> +    init_secondary_pagetables(0);

This function is used to prepare the page tables for the secondary CPUs. 
This may allocate memory. So this is incorrect to call for CPU0.

In this case, I think it would be better if the code to suspend sets 
init_ttbr and clear the boot pages tables. This could be done by split 
init_secondary_pagetables() in two:
  1) Allocate memory for the page tables
  2) Clear the boot page tables and the init_ttbr

>   
>   #ifdef CONFIG_ARM_32
>       per_cpu(xen_pgtable, 0) = cpu0_pgtable;
> diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
> index a0258befc9..aa5ee4714b 100644
> --- a/xen/arch/arm/suspend.c
> +++ b/xen/arch/arm/suspend.c
> @@ -167,6 +167,12 @@ static long system_suspend(void *data)
>   
>       system_state = SYS_STATE_resume;
>   
> +    /*
> +     * SCTLR_WXN needs to be set to configure that a mapping cannot be both
> +     * writable and executable. This is done by mmu_init_secondary_cpu.
> +     */

Let's avoid to describe what a function does in the caller. This can be 
easily rot.

> +    mmu_init_secondary_cpu();

I dislike the idea of using this function here. It is meant to be used 
by secondary CPUs, not CPU0.

If you want to use it here, then it should be renamed to reflect how the 
function is used.

> +
>       gic_resume();
>   
>   resume_irqs:
> diff --git a/xen/include/asm-arm/processor.h b/xen/include/asm-arm/processor.h
> index 8ab2940f68..ecf97f1ab4 100644
> --- a/xen/include/asm-arm/processor.h
> +++ b/xen/include/asm-arm/processor.h
> @@ -133,6 +133,28 @@
>   #define TTBCR_PD1       (_AC(1,U)<<5)
>   
>   /* SCTLR System Control Register. */
> +/* HSCTLR is a subset of this. */
> +#define SCTLR_TE        (_AC(1,U)<<30)
> +#define SCTLR_AFE       (_AC(1,U)<<29)
> +#define SCTLR_TRE       (_AC(1,U)<<28)
> +#define SCTLR_NMFI      (_AC(1,U)<<27)
> +#define SCTLR_EE        (_AC(1,U)<<25)
> +#define SCTLR_VE        (_AC(1,U)<<24)
> +#define SCTLR_U         (_AC(1,U)<<22)
> +#define SCTLR_FI        (_AC(1,U)<<21)
> +#define SCTLR_WXN       (_AC(1,U)<<19)
> +#define SCTLR_HA        (_AC(1,U)<<17)
> +#define SCTLR_RR        (_AC(1,U)<<14)
> +#define SCTLR_V         (_AC(1,U)<<13)
> +#define SCTLR_I         (_AC(1,U)<<12)
> +#define SCTLR_Z         (_AC(1,U)<<11)
> +#define SCTLR_SW        (_AC(1,U)<<10)
> +#define SCTLR_B         (_AC(1,U)<<7)
> +#define SCTLR_C         (_AC(1,U)<<2)
> +#define SCTLR_A         (_AC(1,U)<<1)
> +#define SCTLR_M         (_AC(1,U)<<0)
> +
> +#define HSCTLR_BASE     _AC(0x30c51878,U)

I don't see any use of SCTLR_* and HSCTLR_* here. What why do you need 
to define them?

>   
>   /* Bits specific to SCTLR_EL1 for Arm32 */
>   

Cheers,

[2] https://lore.kernel.org/all/20221022150422.17707-1-julien@xen.org/

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 22:10:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 22:10:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455616.713133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2g8X-0004zI-Rh; Tue, 06 Dec 2022 22:10:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455616.713133; Tue, 06 Dec 2022 22:10:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2g8X-0004zB-Ok; Tue, 06 Dec 2022 22:10:01 +0000
Received: by outflank-mailman (input) for mailman id 455616;
 Tue, 06 Dec 2022 22:10:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2g8W-0004z5-Db
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 22:10:00 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2g8W-0003oz-B2
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 22:10:00 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2g8W-0004Pv-42; Tue, 06 Dec 2022 22:10:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=4Usd5Xz806pgc0L0C0Ni/deS65EzWeNxfewjaFM2mHg=; b=WP/Ud4J6cN/jihNX5NEqQqaPPl
	d9XojiQ/L1HWyxsOL9IWHzAoXzLbxUOzyv/XH6bPKj3bNXjCEbgsAEyrgHuc8lKKzboNEQ6BCB2Nd
	YDnUzx9W0VFTS5hVLKk7yqbDoY0O5Qyqgt8H+eoLm7Jq//2TuMWJn8cN1wgnSfVEMLRA=;
Message-ID: <597c89c5-9e2a-3174-9bae-29b721caa153@xen.org>
Date: Tue, 6 Dec 2022 22:09:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Mirela Simonovic <mirela.simonovic@aggios.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>
References: <cover.1665137247.git.mykyta_poturai@epam.com>
 <dcd3e1ae475a478cd6f639c528565492b10e0f22.1665137247.git.mykyta_poturai@epam.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH 14/19] xen/arm: Save/restore context on suspend/resume
In-Reply-To: <dcd3e1ae475a478cd6f639c528565492b10e0f22.1665137247.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/10/2022 11:32, Mykyta Poturai wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> The context of CPU general purpose and system control registers
> has to be saved on suspend and restored on resume. This is
> implemented in hyp_suspend and before the return from hyp_resume
> function. The hyp_suspend is invoked just before the PSCI system > suspend call is issued to the ATF.
The software handling the PSCI call may not be ATF. It could be another 
vendor specific firmware or even another hypervisor (if running in 
nested environment). So let's avoid mention it.

> The hyp_suspend has to return a
> non-zero value so that the calling 'if' statement evaluates to true,
> causing the system suspend to be invoked. > Upon the resume, context
> saved on suspend will be restored, including the link register.
> Therefore, after restoring the context the control flow will
> return to the address pointed by the saved link register, which
> is the place from which the hyp_suspend was called. To ensure
> that the calling 'if' statement doesn't again evaluate to true
> and initiate system suspend, hyp_resume has to return a zero value
> after restoring the context.
> Note that the order of saving register context into cpu_context
> structure has to match the order of restoring.
> Since the suspend/resume is supported only for arm64, we define
> a null cpu_context structure so arm32 could compile.
> 
> Update: moved hyp_resume to head.S to place it near the rest of the
> start code

hyp_resume() is not moved in this patch. But this looks like more a 
changelog rather than something that should be part of the commit message.

> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>
> Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
> ---
>   xen/arch/arm/arm64/head.S     | 90 ++++++++++++++++++++++++++++++++++-
>   xen/arch/arm/suspend.c        | 25 ++++++++--
>   xen/include/asm-arm/suspend.h | 22 +++++++++
>   3 files changed, 133 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 82d83214dc..e2c46a864c 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -957,6 +957,53 @@ ENTRY(efi_xen_start)
>           b     real_start_efi
>   ENDPROC(efi_xen_start)
>   
> +/*
> + * void hyp_suspend(struct cpu_context *ptr)

This prototype doesn't match the code nor the commit message.

> + *
> + * x0 - pointer to the storage where callee's context will be saved
> + *
> + * CPU context saved here will be restored on resume in hyp_resume function.
> + * hyp_suspend shall return a non-zero value. Upon restoring context
> + * hyp_resume shall return value zero instead. From C code that invokes
> + * hyp_suspend, the return value is interpreted to determine whether the context
> + * is saved (hyp_suspend) or restored (hyp_resume).
> + */
> +ENTRY(hyp_suspend)
> +        /* Store callee-saved registers */
> +        stp     x19, x20, [x0], #16
> +        stp     x21, x22, [x0], #16
> +        stp     x23, x24, [x0], #16
> +        stp     x25, x26, [x0], #16
> +        stp     x27, x28, [x0], #16
> +        stp     x29, lr, [x0], #16
> +
> +        /* Store stack-pointer */
> +        mov     x2, sp
> +        str     x2, [x0], #8
> +
> +        /* Store system control registers */
> +        mrs     x2, VBAR_EL2
> +        str     x2, [x0], #8
> +        mrs     x2, VTCR_EL2
> +        str     x2, [x0], #8
> +        mrs     x2, VTTBR_EL2
> +        str     x2, [x0], #8
> +        mrs     x2, TPIDR_EL2
> +        str     x2, [x0], #8
> +        mrs     x2, MDCR_EL2
> +        str     x2, [x0], #8
> +        mrs     x2, HSTR_EL2
> +        str     x2, [x0], #8
> +        mrs     x2, CPTR_EL2
> +        str     x2, [x0], #8
> +        mrs     x2, HCR_EL2
> +        str     x2, [x0], #8
> +
> +        /* hyp_suspend must return a non-zero value */
> +        mov     x0, #1
> +        ret
> +
> +
>   ENTRY(hyp_resume)
>           msr   DAIFSet, 0xf           /* Disable all interrupts */
>   
> @@ -988,7 +1035,48 @@ mmu_resumed:
>           tlbi  alle2
>           dsb   sy                     /* Ensure completion of TLB flush */
>           isb
> -        b .
> +
> +        /* Now we can access the cpu_context, so restore the context here */
> +        ldr     x0, =cpu_context
> +
> +        /* Restore callee-saved registers */
> +        ldp     x19, x20, [x0], #16
> +        ldp     x21, x22, [x0], #16
> +        ldp     x23, x24, [x0], #16
> +        ldp     x25, x26, [x0], #16
> +        ldp     x27, x28, [x0], #16
> +        ldp     x29, lr, [x0], #16
> +
> +        /* Restore stack pointer */
> +        ldr     x2, [x0], #8
> +        mov     sp, x2
> +
> +        /* Restore system control registers */
> +        ldr     x2, [x0], #8
> +        msr     VBAR_EL2, x2
> +        ldr     x2, [x0], #8
> +        msr     VTCR_EL2, x2
> +        ldr     x2, [x0], #8
> +        msr     VTTBR_EL2, x2
> +        ldr     x2, [x0], #8
> +        msr     TPIDR_EL2, x2
> +        ldr     x2, [x0], #8
> +        msr     MDCR_EL2, x2
> +        ldr     x2, [x0], #8
> +        msr     HSTR_EL2, x2
> +        ldr     x2, [x0], #8
> +        msr     CPTR_EL2, x2
> +        ldr     x2, [x0], #8
> +        msr     HCR_EL2, x2
> +        isb
> +
> +        /* Since context is restored return from this function will appear as

I can't parse it.

> +         * return from hyp_suspend. To distinguish a return from hyp_suspend
> +         * which is called upon finalizing the suspend, as opposed to return
> +         * from this function which executes on resume, we need to return zero
> +         * value here. */
Coding style. Multi-line comments looks like:

/*
  * Foo
  * Bar
  */

> +        mov x0, #0
> +        ret
>   
>   /*
>    * Local variables:
> diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
> index aa5ee4714b..13d1aba658 100644
> --- a/xen/arch/arm/suspend.c
> +++ b/xen/arch/arm/suspend.c
> @@ -133,6 +133,11 @@ void vcpu_resume(struct vcpu *v)
>       clear_bit(_VPF_suspended, &v->pause_flags);
>   }
>   
> +#ifndef CONFIG_ARM_64
> +/* not supported on ARM_32 */
> +int32_t hyp_suspend(struct cpu_context *ptr) { return 1; }
> +#endif
> +

It would be better if suspend.c is compiled out. So we avoid introduce 
hyp_suspend().

>   /* Xen suspend. Note: data is not used (suspend is the suspend to RAM) */
>   static long system_suspend(void *data)
>   {
> @@ -161,9 +166,23 @@ static long system_suspend(void *data)
>           goto resume_irqs;
>       }
>   
> -    status = call_psci_system_suspend();
> -    if ( status )
> -        dprintk(XENLOG_ERR, "PSCI system suspend failed, err=%d\n", status);
> +    if ( hyp_suspend(&cpu_context) )
> +    {
> +        status = call_psci_system_suspend();
> +        /*
> +         * If suspend is finalized properly by above system suspend PSCI call,
> +         * the code below in this 'if' branch will never execute. Execution
> +         * will continue from hyp_resume which is the hypervisor's resume point.
> +         * In hyp_resume CPU context will be restored and since link-register is
> +         * restored as well, it will appear to return from hyp_suspend. The
> +         * difference in returning from hyp_suspend on system suspend versus
> +         * resume is in function's return value: on suspend, the return value is
> +         * a non-zero value, on resume it is zero. That is why the control flow
> +         * will not re-enter this 'if' branch on resume.
> +         */
> +        if ( status )
> +            dprintk(XENLOG_ERR, "PSCI system suspend failed, err=%d\n", status);
> +    }
>   
>       system_state = SYS_STATE_resume;
>   
> diff --git a/xen/include/asm-arm/suspend.h b/xen/include/asm-arm/suspend.h
> index 29420e27fa..70dbf4e208 100644
> --- a/xen/include/asm-arm/suspend.h
> +++ b/xen/include/asm-arm/suspend.h
> @@ -1,9 +1,31 @@
>   #ifndef __ASM_ARM_SUSPEND_H__
>   #define __ASM_ARM_SUSPEND_H__
>   
> +#ifdef CONFIG_ARM_64
> +struct cpu_context {
> +    uint64_t callee_regs[12];
> +    uint64_t sp;
> +    uint64_t vbar_el2;
> +    uint64_t vtcr_el2;
> +    uint64_t vttbr_el2;
> +    uint64_t tpidr_el2;
> +    uint64_t mdcr_el2;
> +    uint64_t hstr_el2;
> +    uint64_t cptr_el2;
> +    uint64_t hcr_el2;
> +} __aligned(16);
> +#else
> +struct cpu_context {
> +    uint8_t pad;
> +};
> +#endif
> +
> +extern struct cpu_context cpu_context;
> +
>   int32_t domain_suspend(register_t epoint, register_t cid);
>   void vcpu_resume(struct vcpu *v);
>   void hyp_resume(void);
> +int32_t hyp_suspend(struct cpu_context *ptr);
>   
>   #endif
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 22:13:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 22:13:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455622.713144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2gBQ-0006hQ-8R; Tue, 06 Dec 2022 22:13:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455622.713144; Tue, 06 Dec 2022 22:13:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2gBQ-0006hJ-5q; Tue, 06 Dec 2022 22:13:00 +0000
Received: by outflank-mailman (input) for mailman id 455622;
 Tue, 06 Dec 2022 22:12:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2gBP-0006hD-Dx
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 22:12:59 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2gBP-00042w-2z; Tue, 06 Dec 2022 22:12:59 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2gBO-0004dZ-Tn; Tue, 06 Dec 2022 22:12:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=1hUVjlni7gnHjwBbpL6HcCrYwESqVaZzC+eTjr4bMrE=; b=FkBR9QD6d60Ik5iaN4sBoPROfW
	GZX5Ux9UY8klV4nc+Hgy6xQegbk7NGB5XknV4H6qviZCM16N+ooeeGVM67VisZsKgb+56FBDNvSD0
	SOvYMihLDgJyk9g7oog7hedYv36hI1MoCzfBCj4LA9iQbv2sEaI04krdEk0FQ5ThnudE=;
Message-ID: <1f9f127c-12de-fe4f-6280-8bd77c5da04e@xen.org>
Date: Tue, 6 Dec 2022 22:12:56 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 16/19] xen/arm: Suspend/resume console on Xen
 suspend/resume
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Mirela Simonovic <mirela.simonovic@aggios.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>
References: <cover.1665137247.git.mykyta_poturai@epam.com>
 <a3dc2fe24f8f474a3976f4b307a693e359e910d5.1665137247.git.mykyta_poturai@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <a3dc2fe24f8f474a3976f4b307a693e359e910d5.1665137247.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/10/2022 11:32, Mykyta Poturai wrote:
> From: Mirela Simonovic <mirela.simonovic@aggios.com>
> 
> This is done using generic console_suspend/resume functions that cause
> uart driver specific suspend/resume handlers to be called for each
> initialized port (if the port has suspend/resume driver handlers
> implemented).

Looking at the UART driver for Arm, most of them (if not all) implement 
suspend/resume with BUG(). So don't you need to properly implement them?

> 
> Signed-off-by: Mirela Simonovic <mirela.simonovic@aggios.com>
> Signed-off-by: Saeed Nowshadi <saeed.nowshadi@xilinx.com>

Your signed-off-by is missing.

> ---
>   xen/arch/arm/suspend.c | 14 ++++++++++++++
>   1 file changed, 14 insertions(+)
> 
> diff --git a/xen/arch/arm/suspend.c b/xen/arch/arm/suspend.c
> index 4a690eac3b..cf3aab0099 100644
> --- a/xen/arch/arm/suspend.c
> +++ b/xen/arch/arm/suspend.c
> @@ -14,6 +14,7 @@
>   
>   #include <xen/sched.h>
>   #include <xen/cpu.h>
> +#include <xen/console.h>
>   #include <asm/cpufeature.h>
>   #include <asm/event.h>
>   #include <asm/psci.h>
> @@ -166,6 +167,15 @@ static long system_suspend(void *data)
>           goto resume_irqs;
>       }
>   
> +    dprintk(XENLOG_DEBUG, "Suspend\n");
> +    status = console_suspend();
> +    if ( status )
> +    {
> +        dprintk(XENLOG_ERR, "Failed to suspend the console, err=%d\n", status);
> +        system_state = SYS_STATE_resume;
> +        goto resume_console;
> +    }
> +
>       if ( hyp_suspend(&cpu_context) )
>       {
>           status = call_psci_system_suspend();
> @@ -192,6 +202,10 @@ static long system_suspend(void *data)
>        */
>       mmu_init_secondary_cpu();
>   
> +resume_console:
> +    console_resume();
> +    dprintk(XENLOG_DEBUG, "Resume\n");
> +
>       gic_resume();
>   
>   resume_irqs:

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 22:14:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 22:14:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455630.713156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2gCx-0007Gq-KD; Tue, 06 Dec 2022 22:14:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455630.713156; Tue, 06 Dec 2022 22:14:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2gCx-0007Gj-H0; Tue, 06 Dec 2022 22:14:35 +0000
Received: by outflank-mailman (input) for mailman id 455630;
 Tue, 06 Dec 2022 22:14:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2gCw-0007Gb-5I
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 22:14:34 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2gCv-00044O-KN; Tue, 06 Dec 2022 22:14:33 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2gCv-0004ep-Ed; Tue, 06 Dec 2022 22:14:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=QPmQ7GaqsWWa3z7cgsWzMFnnaYSMse4NZTaoqnPMEpw=; b=oKzh9EYr+migoVODrJtJGaFMgU
	XttYtgrzpppZiTG4cZLyk3SilBQdw1KfxH7J8gmAdnVKycpJ0jiv7BdjsFSHxmZQOpqSdWRJYReDD
	aDMeAgN3figsQ1g/5Nx5GeZECgTyIWM1yFcLgYP+sUk0XUFNAw2s2AxNi/y13tW0UemM=;
Message-ID: <c1d22063-2953-f5cb-366a-eb2d04206a33@xen.org>
Date: Tue, 6 Dec 2022 22:14:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 16/19] xen/arm: Suspend/resume console on Xen
 suspend/resume
From: Julien Grall <julien@xen.org>
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Mirela Simonovic <mirela.simonovic@aggios.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Saeed Nowshadi <saeed.nowshadi@xilinx.com>
References: <cover.1665137247.git.mykyta_poturai@epam.com>
 <a3dc2fe24f8f474a3976f4b307a693e359e910d5.1665137247.git.mykyta_poturai@epam.com>
 <1f9f127c-12de-fe4f-6280-8bd77c5da04e@xen.org>
In-Reply-To: <1f9f127c-12de-fe4f-6280-8bd77c5da04e@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 06/12/2022 22:12, Julien Grall wrote:
> Hi,
> 
> On 07/10/2022 11:32, Mykyta Poturai wrote:
>> From: Mirela Simonovic <mirela.simonovic@aggios.com>
>>
>> This is done using generic console_suspend/resume functions that cause
>> uart driver specific suspend/resume handlers to be called for each
>> initialized port (if the port has suspend/resume driver handlers
>> implemented).
> 
> Looking at the UART driver for Arm, most of them (if not all) implement 
> suspend/resume with BUG(). So don't you need to properly implement them?

I forgot to clarify. No need to implement for every driver. I am just 
puzzled how this was actually tested. What UART are you using on your 
platform?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 22:17:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 22:17:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455637.713167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2gFu-0007yq-1g; Tue, 06 Dec 2022 22:17:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455637.713167; Tue, 06 Dec 2022 22:17:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2gFt-0007yj-UG; Tue, 06 Dec 2022 22:17:37 +0000
Received: by outflank-mailman (input) for mailman id 455637;
 Tue, 06 Dec 2022 22:17:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2gFs-0007yY-3d
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 22:17:36 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2gFr-00049Z-OW; Tue, 06 Dec 2022 22:17:35 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2gFr-0004iP-JD; Tue, 06 Dec 2022 22:17:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=YoZs3nTSDzJFjR3T0cyHZleJfMeq+DcRM8XyF6iEc/s=; b=tydCmNNPJS/rJN2fRRfOiVdYQL
	IMrY5W51nYozfMkwUtYHbmy1dmbOP+7cKnklQ3N+zumuiqejBVbe97e8dSQoAyVXNGrhJqYzoTNVn
	fZSwfwmCt/K8Du9LaQLqL3wNYQKU9pom5XX8vDN4eGjZrfuSi3hs0EuFSXvmr1BCSz3Y=;
Message-ID: <142b39dd-0c1b-b98f-91af-a06d5f34112d@xen.org>
Date: Tue, 6 Dec 2022 22:17:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 19/19] Fix misleading indentation gcc warning
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <cover.1665137247.git.mykyta_poturai@epam.com>
 <3575d33c0520d3117e1d12af91f1b1e31a2571c2.1665137247.git.mykyta_poturai@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3575d33c0520d3117e1d12af91f1b1e31a2571c2.1665137247.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/10/2022 11:32, Mykyta Poturai wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> percpu.c: In function 'cpu_percpu_callback':
> percpu.c:61:7: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
>         if ( system_state != SYS_STATE_resume )
>         ^~
> percpu.c:63:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
>           break;
>           ^~~~~
> percpu.c:67:7: error: this 'if' clause does not guard... [-Werror=misleading-indentation]
>         if ( system_state != SYS_STATE_suspend )
>         ^~
> percpu.c:69:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
>           break;
>           ^~~~~
> 
> Fixes: c3109b76d967 ("xen: don't free percpu areas during suspend")

This commit hash doesn't seem to exist upstream. But it sounds like you 
are fixing a bug that was introduced by this series.

In general, patch within a series should be able to compile without any 
follow-up requirement. Similarly, we should not bug fix a patch within 
the same series.

Instead, this should be folded in the patch that introduced the problem.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 22:19:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 22:19:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455643.713178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2gHr-00006J-Ca; Tue, 06 Dec 2022 22:19:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455643.713178; Tue, 06 Dec 2022 22:19:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2gHr-00006C-9b; Tue, 06 Dec 2022 22:19:39 +0000
Received: by outflank-mailman (input) for mailman id 455643;
 Tue, 06 Dec 2022 22:19:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2gHq-000064-9A
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 22:19:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2gHo-0004BH-Vp; Tue, 06 Dec 2022 22:19:36 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2gHo-0004jQ-Ot; Tue, 06 Dec 2022 22:19:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=6H4zowFRj0dcGo/Dh2rtIje78mf9Xu2exZ3ot2JrWHQ=; b=R5bShYLQFq9Q6KqlXl4vnNYJvN
	q+Ty3cYcv6hdsYde4saVaTPf2uH5VU+NQjBAaEYx1xLgPUapuM8ZP6rmA3GpODhyhowJpHGZfhcXD
	tNFDD99a+H74LQ6eGy240fT0I/J6ZkhCciGR4sjPB3oPliVIsQFF6cEOTB1FjvxAV+tM=;
Message-ID: <8c186d60-c4c8-dac2-68bb-adad0f93e4ec@xen.org>
Date: Tue, 6 Dec 2022 22:19:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 18/19] timers: Don't migrate timers during suspend
To: Mykyta Poturai <Mykyta_Poturai@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Ian Jackson <iwj@xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <cover.1665137247.git.mykyta_poturai@epam.com>
 <babd4e0c615c7f61c10b53ad884c68c85641ce7c.1665137247.git.mykyta_poturai@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <babd4e0c615c7f61c10b53ad884c68c85641ce7c.1665137247.git.mykyta_poturai@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/10/2022 11:32, Mykyta Poturai wrote:
> Migrating timers during suspend causes Dom0 to freeze after resume.

This wants a bit more details such as why dom0 will freeze. But looking 
at upstream, there might be some patches that (e.g. 37f82facd62f 
"xen/sched: migrate timers to correct cpus after suspend") could have 
solved a similar problem.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 22:37:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 22:37:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455654.713188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2gYv-0003Iw-Qv; Tue, 06 Dec 2022 22:37:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455654.713188; Tue, 06 Dec 2022 22:37:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2gYv-0003Ip-OL; Tue, 06 Dec 2022 22:37:17 +0000
Received: by outflank-mailman (input) for mailman id 455654;
 Tue, 06 Dec 2022 22:37:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2gYt-0003Ic-JD; Tue, 06 Dec 2022 22:37:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2gYt-0004Tw-Gj; Tue, 06 Dec 2022 22:37:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2gYt-00059P-5x; Tue, 06 Dec 2022 22:37:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2gYt-0007cW-5S; Tue, 06 Dec 2022 22:37:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jVFGlRCHQQjcx7RlfrMkmkvX+MW+dS4+9oQ41329fu4=; b=V00szKfWDAoiGR8TDfeV3Xb0/0
	mXfrX1x7KLiMBfFA89l/XPB3SrOfBEin+bGByV8LthKzQuCzKlqAEGXJGJgpFuJSLOXKPrtPdj4t5
	cyAWFsb06uEOqn0xkN4cvBKyInI9gJb+9VmppVriLb5IEX1lmmemvR7E97Y7o/u6W+O0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175064-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175064: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=ca33daafc630a7952de482813dccd5202f005dbf
X-Osstest-Versions-That:
    ovmf=a639248bd0dd1f1ea0b020dd16aab8a7bb76ddd2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 06 Dec 2022 22:37:15 +0000

flight 175064 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175064/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 ca33daafc630a7952de482813dccd5202f005dbf
baseline version:
 ovmf                 a639248bd0dd1f1ea0b020dd16aab8a7bb76ddd2

Last test of basis   175059  2022-12-06 10:43:56 Z    0 days
Testing same since   175064  2022-12-06 20:42:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michael D Kinney <michael.d.kinney@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   a639248bd0..ca33daafc6  ca33daafc630a7952de482813dccd5202f005dbf -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 22:51:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 22:51:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455667.713199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2gn1-0006Tf-7W; Tue, 06 Dec 2022 22:51:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455667.713199; Tue, 06 Dec 2022 22:51:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2gn1-0006TY-4o; Tue, 06 Dec 2022 22:51:51 +0000
Received: by outflank-mailman (input) for mailman id 455667;
 Tue, 06 Dec 2022 22:51:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2gn0-0006TS-F5
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 22:51:50 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8f15ac9f-75b8-11ed-91b6-6bf2151ebd3b;
 Tue, 06 Dec 2022 23:51:47 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 60DB93200936;
 Tue,  6 Dec 2022 17:51:43 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Tue, 06 Dec 2022 17:51:44 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 6 Dec 2022 17:51:41 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f15ac9f-75b8-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670367102; x=
	1670453502; bh=GcGTpWsmbLN0msWZ5WctFoRPFFvXbua/V5/2oTrIoUg=; b=n
	snUBETS/RunnQyk8LMf7kordCf4blnOEb+lYJ1k02OIoaqqhAPRdEwicDgHW74zY
	sVZ7AR511HvA53Wk92fUvzKMLqasymFdqKgRHfVP5jTe/PmyW5MgYlxfn5jSEtzG
	zB/q7BZCuCzer6x5Zxrzo74qgCiDq+N9o67dJAvAs7ayGidX9wnzteS//C6uNTjR
	+FwVKXRkEuXZRRtfIb8neue2Bh8aHriMgNdqCcbnVo66yC88SUSe1fV/iKNs76zP
	3OUkIv6rKo+HVxX0kcb82P1rnvNwSmpP1Bawoate8AC5JrtYy4F9YpjsGedtZrFV
	TsilkcYSO5cVRcuEygBcQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1670367102; x=1670453502; bh=GcGTpWsmbLN0msWZ5WctFoRPFFvX
	bua/V5/2oTrIoUg=; b=VyNhc+JtrE4LT/n1oYRmiNGEHrGRm3z/s5DsAexduleZ
	bXlBMySPX5wBPEQS1Lxj4Exf1lfM5MzM2WIsxsZE0eO3Qzv0lPPYk+B1YKPlJs1J
	Mps63ScU4U8uRd6sujlg87/T836tlTJbqdFT80z5nP9LYcJ9RinS2c9i5GJPLE45
	DPGjK7j39VDw59QbkdjkLugo0tDbl1swj+CtBAKFd6Ter7DhaGvE+BbQxR8aiIDN
	PL5frGp5YLrLJeX1ycUxoIfHG8JqIH3CIVnbf/5ZB47PJd7krWRV2gAsY0+LzCEl
	sZ4jaEhqaGTLlVaRKptWk1eTn6dawcWejkFhfNG6oQ==
X-ME-Sender: <xms:fsePY2Lr1_y2aFTc_HbNEoFmEHKC6ofrOIN9Mv5VaBnPrK0eeFQtCg>
    <xme:fsePY-Jgt-fLGT6joUnAuQNNcNeuGTepTjpTaeyBPhDuzJOucaCWemBjg9D0HaHhw
    uC-ZtmCDQqM5p0>
X-ME-Received: <xmr:fsePY2uk161ZljY46Hf0lm6etRxoWkI9737tMh-c8sssqQBDzk7PnNtEwIXo>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudejgddtfecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffegfffg
    uddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:fsePY7aPEGT7On0Wbt0AcUz1DD4u2iz_Lq_HPALYAexX4tZjAncyig>
    <xmx:fsePY9Z4NgjVEFJlv-mA9sHne_yAvJCXbA2Eu4bbLNj5W42wMG9-yw>
    <xmx:fsePY3BT8Onruupuaq4dUcxACVfvJa_c29Ybc7rjuyMNCZQm8p_YAA>
    <xmx:fsePYwzTVtV8tQddVt-kfTpwGP0AHL8rMshJOIaIa5ykSXv5vl-G-w>
Feedback-ID: iac594737:Fastmail
Date: Tue, 6 Dec 2022 17:51:20 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 6/8] x86: Derive XEN_MSR_PAT from its individual entries
Message-ID: <Y4/HfLMVPLOmiphM@itl-email>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <5ddd32a453b098f277f2d4aa9e044a40183d4bff.1670300446.git.demi@invisiblethingslab.com>
 <ac0605b2-5c1c-09f2-9526-1aa7e777e7dc@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="ycs0g1ZNwaql4PIb"
Content-Disposition: inline
In-Reply-To: <ac0605b2-5c1c-09f2-9526-1aa7e777e7dc@citrix.com>


--ycs0g1ZNwaql4PIb
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 6 Dec 2022 17:51:20 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 6/8] x86: Derive XEN_MSR_PAT from its individual entries

On Tue, Dec 06, 2022 at 11:32:16AM +0000, Andrew Cooper wrote:
> On 06/12/2022 04:33, Demi Marie Obenour wrote:
> > This avoids it being a magic constant that is difficult for humans to
> > decode.  Use a _Static_assert to check that the old and new values are
> > identical.
> >
> > Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> > ---
> >  xen/arch/x86/include/asm/processor.h | 22 +++++++++++++++++++++-
> >  1 file changed, 21 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/includ=
e/asm/processor.h
> > index 8e2816fae9b97bd4e153a30cc3802971fe0355af..64b75e444947c64e2e5eba4=
57deec92a873d7a63 100644
> > --- a/xen/arch/x86/include/asm/processor.h
> > +++ b/xen/arch/x86/include/asm/processor.h
> > @@ -92,13 +92,33 @@
> >                            X86_EFLAGS_NT|X86_EFLAGS_DF|X86_EFLAGS_IF|  =
  \
> >                            X86_EFLAGS_TF)
> > =20
> > +/* Individual entries in IA32_CR_PAT */
> > +#define MSR_PAT_UC  _AC(0x00, ULL)
> > +#define MSR_PAT_WC  _AC(0x01, ULL)
> > +#define MSR_PAT_RESERVED_1  _AC(0x02, ULL)
> > +#define MSR_PAT_RESERVED_2  _AC(0x03, ULL)
> > +#define MSR_PAT_WT  _AC(0x04, ULL)
> > +#define MSR_PAT_WP  _AC(0x05, ULL)
> > +#define MSR_PAT_WB  _AC(0x06, ULL)
> > +#define MSR_PAT_UCM _AC(0x07, ULL)
>=20
> This isn't really correct.=C2=A0 Constants for MSRs typically live in
> msr-index.h, but these are architectural x86 memory types.
>=20
> These ought be
>=20
> #define X86_MT_$X ...=C2=A0 (skipping the two reserved values)
>=20
> in x86-defns.h, and the PAT_TYPE_*, MTRR_TYPE_* and EPT_EMT_* constants
> want removing.
>=20
> There are two minor restrictions (EPT can't have UCM, MTRR can't have
> WC),

The code seems to indicate otherwise: it behaves as if both EPT and MTRR
cannot have UCM.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--ycs0g1ZNwaql4PIb
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOPx3wACgkQsoi1X/+c
IsFoIQ//QqHTAOvXjOL5lzEVGsGJqSeD0OorRSSIP86joTGEIusMzRzdKBbP4uv1
3aMnBXlWCBAkutG+KdM9DMNjGEpSEQOnZKuiOKpMetCYjOGZtxwOXHuxoZHYCPFg
AnAOzlM3cphYJ9eOJ4K/tL7fodbd/YtcQ4ji3u40t0gnJM3w8UAbj2Tn0AxarU3o
6e3nx4OHcSQj3Bd2kkmdRGDUHGZ+vL1hDE+8nf/WtLp179YGJkQeGuDdCg2j44Ui
IS1FgzL5kHA85GcrcH+901xi9BZdqW92BB6utWc7b8L/lSiEUj8nJmro2YLS0u31
wbXugO3OirXKafVGExkQGWvAnXsCtsm+8UlGczuykbud4nb7uYROZHddGzynU9ZX
oGmQFNkAtQiBAJRBpEmhtCr6FFSNh64gQDCmbri0NiZBgBy0kwGpJ3GW9jZyYox3
ty9wcbu+sTdvi39OezkhYBEkuw7x6M22MK7pY8LRDL1MKxsAPTrLpgJAc9QdgNwM
PmFDe31iR5EnWvODWPuWxbj3s2+4RMuSwavWG4+rmhzm/wBKdKAOSQ2S8q9FP2yT
h6IFdHEEtQzktdBV+jy2O6V+zHj1akLyW9CWSXmtheOX8bqvfMKc9pIyJDxF/Avo
agsgbtN5X/XW1DUTOjihgtUbEKQrRhWEm4WobWciUYnXWgxDHh4=
=rcLB
-----END PGP SIGNATURE-----

--ycs0g1ZNwaql4PIb--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 22:59:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 22:59:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455675.713211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2gul-00078N-1j; Tue, 06 Dec 2022 22:59:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455675.713211; Tue, 06 Dec 2022 22:59:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2guk-00078G-US; Tue, 06 Dec 2022 22:59:50 +0000
Received: by outflank-mailman (input) for mailman id 455675;
 Tue, 06 Dec 2022 22:59:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2guk-000786-3b; Tue, 06 Dec 2022 22:59:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2guj-00051O-Vv; Tue, 06 Dec 2022 22:59:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2guj-0005mO-H5; Tue, 06 Dec 2022 22:59:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2guj-00035J-Gd; Tue, 06 Dec 2022 22:59:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nIzqNNDuLytONI5X4VLmaqXicVF5r8tqhToMbNM74EE=; b=GjVQtPgCzj3JwqpNoSogd++Eqq
	t2tX8n/OHVte8PaLSjZeXN/vKXEDhn+itKZNUoLOcspaaKirGBJe3iTAxNhKn4C/yccIbvdbkGzTI
	oOK55/nBKYlHbY+NKl2xHXP8h3W83IRBTg8YuebmPQ91EP3tmQN0+xn62dH3sYNZQEDk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175061-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175061: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=bce9332220bd677d83b19d21502776ad555a0e73
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 06 Dec 2022 22:59:49 +0000

flight 175061 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175061/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                bce9332220bd677d83b19d21502776ad555a0e73
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   60 days
Failing since        173470  2022-10-08 06:21:34 Z   59 days  118 attempts
Testing same since   175057  2022-12-06 04:47:18 Z    0 days    2 attempts

------------------------------------------------------------
1951 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 187486 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 23:19:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 23:19:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455684.713221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2hDi-0001y1-LL; Tue, 06 Dec 2022 23:19:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455684.713221; Tue, 06 Dec 2022 23:19:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2hDi-0001xu-Ic; Tue, 06 Dec 2022 23:19:26 +0000
Received: by outflank-mailman (input) for mailman id 455684;
 Tue, 06 Dec 2022 23:19:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2hDh-0001xo-8P
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 23:19:25 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6adbbf0c-75bc-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 00:19:23 +0100 (CET)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.west.internal (Postfix) with ESMTP id 26F613200951;
 Tue,  6 Dec 2022 18:19:20 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Tue, 06 Dec 2022 18:19:21 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 6 Dec 2022 18:19:18 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6adbbf0c-75bc-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670368759; x=
	1670455159; bh=rkkLUDnPS0FoZRsSkbO54KMARkn+y+gsDF3JLs8f2pM=; b=H
	zKv5upLZ47GBmhQMTAPZSO1XzChLhWPnqUvDPKqSP7mMErrdGcVs/x4P50rvD3gt
	R10DJjOLLtQCFHmfV1yfes8m+5WyxY6b1ROr7SmzNkBwE4z2+m6RRpDLPACp4bxs
	X4h6yzqWs/1T1SXLn1ROnNkqxTWlA1qsekkeoxnGgJ/dJ9tg4pF+myhCKh1JZHZV
	ouLYm9IYqk3U3iNsXEWC6UTLLvLFMm91CjrtJ6DRWBZGHzEcC8ISwhs+kEG8jQdt
	+OLkqDzbvLCL4srV37NCAWfgcQ75FCjHIs543VyYf0PtEPxWXNWyq4xhzjZ4tB+g
	tOODsJXi4nR/FmfwHn2Jw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1670368759; x=1670455159; bh=rkkLUDnPS0FoZRsSkbO54KMARkn+
	y+gsDF3JLs8f2pM=; b=Ar4PeWWgpPIJEiVDNf7mWbNeFN7ViJpSzqO1pmxJ68Ae
	IPW/Q1VMJHmRw2HtNSStSVsJUKYfpxSY0ofU1G8du0D6ABRyG6ORBMeJzQB65r3p
	7bb8hx1yWvo5QB21DYzybPdsahqmlNo28OsF+ImxKnbleILwhnE7JSPUEqATFoHw
	Tur7FR7GU5QON2uXVs9YQmsCsUdh+Plbx/U1sdzVJ4s95H17MDMZSzlbEkjomzLE
	Ce5AruK8Hjugbx/JV6f0P20qC6EJij3C0KhJeWZnL+MY/ScspvCWXVgWEJS0lqaS
	boOJWD7fdbBq9gF9bAkSX7hf55t1H7YqMgugXZ4OCA==
X-ME-Sender: <xms:9s2PY-RPiMt5T69xpRurCAgHys2d-042fHQL8dM1vmyIFhHZevhewQ>
    <xme:9s2PYzz49sYne5g9HLkc1jTDZ_UgIQS0htzvQR3M5M9mDQSo3OOJefxKt3hVfCn2T
    PPVK8GGdz5fCR8>
X-ME-Received: <xmr:9s2PY73x3XAPGcFhueJEurpdAj0EN0c6xIUWfRY_q3sXR2axa42Oonrxc940>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudejgddtlecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeduieelfeeutedvleehueetffejgeej
    geffkeelveeuleeukeejjeduffetjeekteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:9s2PY6Anz3rsRLhI3T_pwP9dNlu0bovHLiu_3UVPY-yCEZnwQTSJHw>
    <xmx:9s2PY3hjkeuIwgEksYRgD-aFhH4z0eYjjl-9rD-CEVlP1fdm53zdRQ>
    <xmx:9s2PY2rGyy949l-8dH_tsBlPVQX8s5zs41ddkRmJNhEEd5Rzalc_-Q>
    <xmx:982PY2Nwfd7hSu1tRpEaRy4dYy0a3mf2X2E0t1HlLoE2d_mfn7U-2w>
Feedback-ID: iac594737:Fastmail
Date: Tue, 6 Dec 2022 18:19:15 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Ard Biesheuvel <ardb@kernel.org>, linux-efi@vger.kernel.org
Cc: xen-devel@lists.xenproject.org, Peter Jones <pjones@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Kees Cook <keescook@chromium.org>,
	Anton Vorontsov <anton@enomsg.org>,
	Colin Cross <ccross@android.com>, Tony Luck <tony.luck@intel.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: [PATCH v2 6/6] efi: Apply allowlist to EFI configuration tables
 when running under Xen
Message-ID: <Y4/N9N8CrNmZYb/M@itl-email>
References: <20221003112625.972646-1-ardb@kernel.org>
 <20221003112625.972646-7-ardb@kernel.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="yFL3xKiDvU6MCqho"
Content-Disposition: inline
In-Reply-To: <20221003112625.972646-7-ardb@kernel.org>


--yFL3xKiDvU6MCqho
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 6 Dec 2022 18:19:15 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Ard Biesheuvel <ardb@kernel.org>, linux-efi@vger.kernel.org
Cc: xen-devel@lists.xenproject.org, Peter Jones <pjones@redhat.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Kees Cook <keescook@chromium.org>,
	Anton Vorontsov <anton@enomsg.org>,
	Colin Cross <ccross@android.com>, Tony Luck <tony.luck@intel.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: [PATCH v2 6/6] efi: Apply allowlist to EFI configuration tables
 when running under Xen

On Mon, Oct 03, 2022 at 01:26:25PM +0200, Ard Biesheuvel wrote:
> As it turns out, Xen does not guarantee that EFI bootservices data
> regions in memory are preserved, which means that EFI configuration
> tables pointing into such memory regions may be corrupted before the
> dom0 OS has had a chance to inspect them.
>=20
> Demi Marie reports that this is causing problems for Qubes OS when it
> attempts to perform system firmware updates, which requires that the
> contents of the ESRT configuration table are valid when the fwupd user
> space program runs.
>=20
> However, other configuration tables such as the memory attributes
> table or the runtime properties table are equally affected, and so we
> need a comprehensive workaround that works for any table type.
>=20
> So when running under Xen, check the EFI memory descriptor covering the
> start of the table, and disregard the table if it does not reside in
> memory that is preserved by Xen.
>=20
> Co-developed-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
>  drivers/firmware/efi/efi.c |  7 ++++++
>  drivers/xen/efi.c          | 24 ++++++++++++++++++++
>  include/linux/efi.h        |  2 ++
>  3 files changed, 33 insertions(+)
>=20
> diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c
> index 2c12b1a06481..0a4583c13a40 100644
> --- a/drivers/firmware/efi/efi.c
> +++ b/drivers/firmware/efi/efi.c
> @@ -560,6 +560,13 @@ static __init int match_config_table(const efi_guid_=
t *guid,
> =20
>  	for (i =3D 0; efi_guidcmp(table_types[i].guid, NULL_GUID); i++) {
>  		if (!efi_guidcmp(*guid, table_types[i].guid)) {
> +			if (IS_ENABLED(CONFIG_XEN_EFI) &&
> +			    !xen_efi_config_table_is_usable(guid, table)) {
> +				if (table_types[i].name[0])
> +					pr_cont("(%s=3D0x%lx) ",
> +						table_types[i].name, table);
> +				return 1;
> +			}
>  			*(table_types[i].ptr) =3D table;
>  			if (table_types[i].name[0])
>  				pr_cont("%s=3D0x%lx ",
> diff --git a/drivers/xen/efi.c b/drivers/xen/efi.c
> index 74f3f6d8cdc8..c275a9c377fe 100644
> --- a/drivers/xen/efi.c
> +++ b/drivers/xen/efi.c
> @@ -326,3 +326,27 @@ int efi_mem_desc_lookup(u64 phys_addr, efi_memory_de=
sc_t *out_md)
> =20
>          return 0;
>  }
> +
> +bool __init xen_efi_config_table_is_usable(const efi_guid_t *guid,
> +					   unsigned long table)
> +{
> +	efi_memory_desc_t md;
> +	int rc;
> +
> +	if (!efi_enabled(EFI_PARAVIRT))
> +		return true;
> +
> +	rc =3D efi_mem_desc_lookup(table, &md);
> +	if (rc)
> +		return false;
> +
> +	switch (md.type) {
> +	case EFI_RUNTIME_SERVICES_CODE:
> +	case EFI_RUNTIME_SERVICES_DATA:
> +	case EFI_ACPI_RECLAIM_MEMORY:
> +	case EFI_RESERVED_TYPE:

Some firmware uses EFI_ACPI_MEMORY_NVS to store ACPI tables, so this
needs to be added to the allowlist.  Otherwise affected systems will not
boot.  Xen treats EFI_ACPI_MEMORY_NVS the way it treats
EFI_ACPI_RECLAIM_MEMORY, so this is safe.

> +		return true;
> +	}
> +
> +	return false;
> +}
> diff --git a/include/linux/efi.h b/include/linux/efi.h
> index e0ee6f6da4b4..b0cba86352ce 100644
> --- a/include/linux/efi.h
> +++ b/include/linux/efi.h
> @@ -1352,4 +1352,6 @@ struct linux_efi_initrd {
>  /* Header of a populated EFI secret area */
>  #define EFI_SECRET_TABLE_HEADER_GUID	EFI_GUID(0x1e74f542, 0x71dd, 0x4d66=
,  0x96, 0x3e, 0xef, 0x42, 0x87, 0xff, 0x17, 0x3b)
> =20
> +bool xen_efi_config_table_is_usable(const efi_guid_t *, unsigned long ta=
ble);
> +
>  #endif /* _LINUX_EFI_H */
> --=20
> 2.35.1
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--yFL3xKiDvU6MCqho
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOPzfQACgkQsoi1X/+c
IsHZ7Q/+JBs5ynGubAFJvx5kyi83tgpkjIadoLi9c/79upH+rZbuMh9ZGDJI7iT0
MSnAiR4sq1LiHOdJP7YsgJ38ueXthUNu/dOYqVrxIAIwnT+LwJGX8xBaJYIVeGIX
qCZlG79QINtMEzjOiDfqX/NBPPt4TebgWFcIEDxP000me1yLFTOjW84sHzt1diAa
BDGNCdc7Cf/V+keVdqJdN6mGf1b1i64ZHQTD1ImBamLPrXsNWPGJPEDdItb21DSq
QFSeQSgs50yDWjq+nXj99xutymTAbMM2RvcsgFAXqmfYKpO1bvRFNgLxORBVBJps
kdRiNBAt88+itifXs2pfdurEFOuWZO0up0YhgeTNgB6TrcLPUPJ8LJHbOrUufZXO
+RXVe4S7VJ7hXRqILlvhG+IpauX44GxKi4Gm0ZQWW7IUD7GuffBkDldwYZseFZwk
A70ASRFfUKfb9UKCJgRvou8TKCQdAgJpZh0i2GLigZJIgOtQfHKd6OUUv6/Dn5r8
p00PbOq7mlI15NdYTLE+9ELMkWIaCG6X6o/3THsS1GB+ZwoKFn5GsHSd61zqcld/
reyu3J8snKDlUZ3azyDVsgLz1vUiJXeeuyobrJEI5b4Fn4KrNZcH+G1bXgxz7RKV
At5gPBO6x9+fdhlUCVsjfcdmTDqii0gJ+oPHY9Ldguscll+dCTQ=
=2I76
-----END PGP SIGNATURE-----

--yFL3xKiDvU6MCqho--


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 23:27:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 23:27:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455694.713233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2hLg-0003sY-JN; Tue, 06 Dec 2022 23:27:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455694.713233; Tue, 06 Dec 2022 23:27:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2hLg-0003sR-GA; Tue, 06 Dec 2022 23:27:40 +0000
Received: by outflank-mailman (input) for mailman id 455694;
 Tue, 06 Dec 2022 23:27:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2hLf-0003sL-EF
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 23:27:39 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 90cec592-75bd-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 00:27:37 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id C8CC83200A59;
 Tue,  6 Dec 2022 18:27:33 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Tue, 06 Dec 2022 18:27:34 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 6 Dec 2022 18:27:32 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90cec592-75bd-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:message-id:mime-version:reply-to
	:sender:subject:subject:to:to; s=fm1; t=1670369253; x=
	1670455653; bh=h4rpXV54xviy9PXu8HIU+FM+wV4xFpwC7kRcpMZ3ATI=; b=e
	1TktEsBBtzKOn9XhnR54+2Hh5zZuNFBa38/m+y+eoe20G7wWxC13+flzdmC5T3/O
	WBJm6AmUTGJmDyVY4Z4s71DdYnLS6F2APB1Yu7K6tXmfSBKSeCcnscupnoCz66Ez
	+iROF2hGiIXlik9ynRpR77hLNgiA13nDpqX04sFOIZLHqCe5SnnJvo0VyLYWVH5n
	L829zpNAF+LyqPaLGQPcRs7ViltDmrgLxmq2giGaP7RJF58b7p8GmNEd3jYMWAp+
	D6Dk/RPdFKJks++GGxBB1d0Qvqmmp1DQfrbtM7Xp2xf5j6nEaIn4T954k2b6+xIQ
	A4lLbtu1bJAY0+3IcHLnQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=
	1670369253; x=1670455653; bh=h4rpXV54xviy9PXu8HIU+FM+wV4xFpwC7kR
	cpMZ3ATI=; b=sGbPFA1C8KvHzsrj2xoEaJsCnC04mqop+hlBMdMM9agNZ3auKtH
	zgLHdFHNeRJeTP9pHiRfVSgsEbxpoZOPGq+U/v9HqPkCzeEPjnSejVreISECLQS/
	H4NTqR6Uo/DmxptE/cQgKE7UkeaspIOQqQwQYcG6U+G52UZ+1+NXwf6A6O8jWf5c
	vddxjidg5MHeGzgGNwXfdkAAyE5egYTZFS/RUZL8ow3l+OxXDty2myXYmny7b0vM
	dzezzyfWcZcYvCVI8pOKQQkX+7SxXcZsosZ30oneQ948usxtsOXFbbsOc8Jpz45j
	8RkGm2BZbwOc5eR/k1wh9gkVtzE4lSMCtMw==
X-ME-Sender: <xms:5M-PY_vJTKa27xb7ZTezUv89531qA4OSE_EVLffB48CRLMcB0UYb2w>
    <xme:5M-PYweeg_HTXMYZa6CdX13JSOiS8rOiqfWzWFT3Zh5sqaXCtmapYVwVW9lMiQag8
    jWDv3mXE6Mj1HQ>
X-ME-Received: <xmr:5M-PYyzr2MzPggmev1JlHa71DR3VLIy4HbiEj_8-kng84mg30tfLockFJGD-fUyOH349dOtYpPaj>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudejgdduudcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffoggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcuofgr
    rhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgshhlrg
    gsrdgtohhmqeenucggtffrrghtthgvrhhnpeehgeeuhffftdetvdegvdelhfeffeehgeel
    ueekveeuudfhtdejteefjefgfeehieenucffohhmrghinhepgigvnhhprhhojhgvtghtrd
    horhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhep
    uggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:5c-PY-MVGVW_YdddzR330m_q7iSEF-Uk9yWkc8NFOSJ7q7SFaPPNoA>
    <xmx:5c-PY_8H4Aj83FTDZdppL3gwFAm_HlvMgFsShcSKXWv_WshbJ3NYAw>
    <xmx:5c-PY-UdjRDBn2YWu6BqrebO_S_042yEYNzlAWJA9p00x8N5SRKAyg>
    <xmx:5c-PYyZ7gzqSAuW6bfMLnxwNV2qoDQP-szIG-orSj1mu20aRfwQnlw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Xen developer discussion <xen-devel@lists.xenproject.org>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Ard Biesheuval <ardb@kernel.org>,
	Henry Wang <Henry.Wang@arm.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v2] Use EfiACPIReclaimMemory for ESRT
Date: Tue,  6 Dec 2022 18:27:17 -0500
Message-Id: <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A previous patch tried to get Linux to use the ESRT under Xen if it is
in memory of type EfiRuntimeServicesData.  However, this turns out to be
a bad idea.  Ard Biesheuvel pointed out that EfiRuntimeServices* memory
winds up fragmenting both the EFI page tables and the direct map, and
that EfiACPIReclaimMemory is a much better choice for this purpose.

Link: https://lists.xenproject.org/archives/html/xen-devel/2022-09/msg01365.html
Fixes: dc7da0874ba4 ("EFI: preserve the System Resource Table for dom0")
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Should this be included in 4.17?  It is a bug fix for a feature new to
4.17, so I suspect yes, but it is ultimately up to Henry Wang.

 xen/common/efi/boot.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index db0340c8e2628314226c618dda11ede4c62fdf3b..b3de1011ee58a67a82a94da050eb1343f4e37faa 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -601,11 +601,14 @@ static size_t __init get_esrt_size(const EFI_MEMORY_DESCRIPTOR *desc)
     if ( physical_start > esrt || esrt - physical_start >= len )
         return 0;
     /*
-     * The specification requires EfiBootServicesData, but accept
-     * EfiRuntimeServicesData, which is a more logical choice.
+     * The specification requires EfiBootServicesData, but also accept
+     * EfiRuntimeServicesData (for compatibility with buggy firmware)
+     * and EfiACPIReclaimMemory (which will contain the tables after
+     * successful kexec).
      */
     if ( (desc->Type != EfiRuntimeServicesData) &&
-         (desc->Type != EfiBootServicesData) )
+         (desc->Type != EfiBootServicesData) &&
+         (desc->Type != EfiACPIReclaimMemory) )
         return 0;
     available_len = len - (esrt - physical_start);
     if ( available_len <= offsetof(EFI_SYSTEM_RESOURCE_TABLE, Entries) )
@@ -1144,18 +1147,19 @@ static void __init efi_relocate_esrt(EFI_SYSTEM_TABLE *SystemTable)
     for ( i = 0; i < info_size; i += mdesc_size )
     {
         /*
-         * ESRT needs to be moved to memory of type EfiRuntimeServicesData
+         * ESRT needs to be moved to memory of type EfiACPIReclaimMemory
          * so that the memory it is in will not be used for other purposes.
          */
         void *new_esrt = NULL;
-        size_t esrt_size = get_esrt_size(memory_map + i);
+        const EFI_MEMORY_DESCRIPTOR *desc = memory_map + i;
+        size_t esrt_size = get_esrt_size(desc);
 
         if ( !esrt_size )
             continue;
-        if ( ((EFI_MEMORY_DESCRIPTOR *)(memory_map + i))->Type ==
-             EfiRuntimeServicesData )
+        if ( desc->Type == EfiRuntimeServicesData ||
+             desc->Type == EfiACPIReclaimMemory )
             break; /* ESRT already safe from reuse */
-        status = efi_bs->AllocatePool(EfiRuntimeServicesData, esrt_size,
+        status = efi_bs->AllocatePool(EfiACPIReclaimMemory, esrt_size,
                                       &new_esrt);
         if ( status == EFI_SUCCESS && new_esrt )
         {
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 23:41:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 23:41:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455702.713244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2hZC-0006pk-O9; Tue, 06 Dec 2022 23:41:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455702.713244; Tue, 06 Dec 2022 23:41:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2hZC-0006pd-Ka; Tue, 06 Dec 2022 23:41:38 +0000
Received: by outflank-mailman (input) for mailman id 455702;
 Tue, 06 Dec 2022 23:41:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2hZA-0006pT-KH; Tue, 06 Dec 2022 23:41:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2hZA-00060l-H4; Tue, 06 Dec 2022 23:41:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2hZA-0006ld-4x; Tue, 06 Dec 2022 23:41:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2hZA-0006gJ-4V; Tue, 06 Dec 2022 23:41:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qeIXBxRW1O67nVPGHW+AaMpDiWNUf3YZU9eO7R5HZDo=; b=KMniIf3at1OSqBJFvhTm8ljKtt
	5PlaYw/+FzPzYToQyj4701VxGWfbC+mQZp6sQAIYPaH3CdSvr8dprTlncnBC3a0kZ0Qy+224Etlnd
	EyddxQlm/EjcPelzLqejYtx1dAhOtNN1Bf85NQLMiWcpO7pPt32kQRKxeQLJ0XHmo5mo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175062-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175062: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a6da84524ceaf24ff997d03407b93f60c12857f3
X-Osstest-Versions-That:
    xen=9d67161388d8f611467660300bdf9715b7f110b0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 06 Dec 2022 23:41:36 +0000

flight 175062 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175062/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175058
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175058
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175058
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175058
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175058
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175058
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175058
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175058
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175058
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175058
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175058
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175058
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  a6da84524ceaf24ff997d03407b93f60c12857f3
baseline version:
 xen                  9d67161388d8f611467660300bdf9715b7f110b0

Last test of basis   175058  2022-12-06 06:50:52 Z    0 days
Testing same since   175062  2022-12-06 17:10:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   9d67161388..a6da84524c  a6da84524ceaf24ff997d03407b93f60c12857f3 -> master


From xen-devel-bounces@lists.xenproject.org Tue Dec 06 23:57:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 06 Dec 2022 23:57:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455717.713271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2hoX-0000g3-7q; Tue, 06 Dec 2022 23:57:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455717.713271; Tue, 06 Dec 2022 23:57:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2hoX-0000fw-5B; Tue, 06 Dec 2022 23:57:29 +0000
Received: by outflank-mailman (input) for mailman id 455717;
 Tue, 06 Dec 2022 23:57:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=7Feu=4E=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2hoW-0000fq-Hr
 for xen-devel@lists.xenproject.org; Tue, 06 Dec 2022 23:57:28 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9f103a6-75c1-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 00:57:26 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 939C332009EE;
 Tue,  6 Dec 2022 18:57:20 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Tue, 06 Dec 2022 18:57:21 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 6 Dec 2022 18:57:19 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9f103a6-75c1-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:message-id:mime-version:reply-to
	:sender:subject:subject:to:to; s=fm1; t=1670371040; x=
	1670457440; bh=74tFtoc2xdgaWldrUmrrZlyEh7aah/d9NCutqcAeZ6E=; b=L
	6jUePHclGI1J7+c+K6GQFpqyjL4g1lbeZc55oXk7MgatDGT+kTMiphSrPdZG05k5
	WlnacG/OvlKjwGgdhpzA/lrNXq7A3TQflBM3NN8YdUpGZVPPxLKMmfc1afCFIyvY
	POoe28zSiGJN8x1+Ly3gzAezsSIrAQm9kBVqwM8dnAbYW9VUYOTmj0DvyAendVSd
	QwUtemSjkckhr5fQRBaq2yg6KLPHqc94Ey6e6EkKaxi7EMp6W/LffaLYwlD4M3uF
	S4UVllVqVzgPNa4/1LchK1eJm8OOGaXjBP3uTAmTv7NY5lXzdL6yyBM0bH//mdkg
	mc21wS3XekoH2AN6mK3Tg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=
	1670371040; x=1670457440; bh=74tFtoc2xdgaWldrUmrrZlyEh7aah/d9NCu
	tqcAeZ6E=; b=cRnYkeZYzNTecnlsftgyYbJlPkLGzYpn9eKtcBQ44PzynwZQYip
	cm3S8t5MojyfQiA+cKcCwd08aR2/vd3otJoPQuUeq1q/7+wl/zyYhwyKAkAHHm2F
	B8PGlr0HDKIHgn0Z/+LS0OINwnoYcDYKuEOUnl6Kv2GcAX5rF7vOST5N+c5OHMS8
	h1YsTKA6w5Ff0zu2EOJJ1DrzBc8Kpkdxcv6m3tVF1mNdq9RtznGwRKLS/+nTN8T1
	UQgvbeFLmfkoFfgZTDPOUA4zCwl1632wH2cJQomg7oN+KH7Xw/m/EBsnZwjSsVlv
	DAt0os3ZuK5313i1UobCqigmMt+HhUMIPzQ==
X-ME-Sender: <xms:39aPY8zueMo4IXzTmRSiwvJUEecO48TQABxporNrMbQ3mCFUtJhHag>
    <xme:39aPYwQRDzCLIZWoeid4tC4m64NtyHQJJ7oYIbdADtgVR23asTRFNWqGj38em2gU_
    qH8d9qA26lfWPY>
X-ME-Received: <xmr:39aPY-UuxB5nePlZKRutKgP7xzaUEMC1ktPuOEZkJCeyNELBzm7cSHsYAcn9h_k9FSCL5Qze9UVh>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudejgddujecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffoggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcuofgr
    rhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgshhlrg
    gsrdgtohhmqeenucggtffrrghtthgvrhhnpedvfeegkedvkefgffegkefhieejtdffkeeh
    hfelheefjeeutefgleeggfdtveeileenucevlhhushhtvghrufhiiigvpedtnecurfgrrh
    grmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhlrggs
    rdgtohhm
X-ME-Proxy: <xmx:39aPY6ghqXEdNkGqFrKKY-83nFc1np51L0riHB2lFfopdpNDgSKHmg>
    <xmx:39aPY-AIZExkcbMqFkyQOQmY1X4N96nVulxSDTvC1ORq3hlYpZSJ9A>
    <xmx:39aPY7Kj91WoQm1OdvbFM7-hgMDWMq7pPtjS3XnGM9hiiqs4gEMX0A>
    <xmx:4NaPY0DkLnr5powfyFqscg2Rh83r6EMO-QoTNpHn4eCSDbHBRsVO-g>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Ard Biesheuvel <ardb@kernel.org>
Subject: [PATCH] Validate EFI memory descriptors
Date: Tue,  6 Dec 2022 18:57:08 -0500
Message-Id: <6936d67461716d8ba37ea8cc78743035c3e54e2d.1668832785.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It turns out that these can be invalid in various ways.  Based on code
Ard Biesheuvel contributed for Linux.

Co-developed-by: Ard Biesheuvel <ardb@kernel.org>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 xen/common/efi/boot.c    | 11 +++++------
 xen/common/efi/efi.h     | 14 ++++++++++++++
 xen/common/efi/runtime.c | 13 ++++++-------
 xen/include/xen/types.h  |  1 +
 4 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index b3de1011ee58a67a82a94da050eb1343f4e37faa..dd0376fdf930c2fee35e79a2f2821361c5e15d33 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -591,15 +591,14 @@ static UINTN __initdata esrt = EFI_INVALID_TABLE_ADDR;
 
 static size_t __init get_esrt_size(const EFI_MEMORY_DESCRIPTOR *desc)
 {
-    size_t available_len, len;
+    UINT64 available_len, len = efi_memory_descriptor_len(desc);
     const UINTN physical_start = desc->PhysicalStart;
     const EFI_SYSTEM_RESOURCE_TABLE *esrt_ptr;
 
-    len = desc->NumberOfPages << EFI_PAGE_SHIFT;
     if ( esrt == EFI_INVALID_TABLE_ADDR )
-        return 0;
+        return 0; /* invalid ESRT */
     if ( physical_start > esrt || esrt - physical_start >= len )
-        return 0;
+        return 0; /* ESRT not in this memory region */
     /*
      * The specification requires EfiBootServicesData, but also accept
      * EfiRuntimeServicesData (for compatibility with buggy firmware)
@@ -609,10 +608,10 @@ static size_t __init get_esrt_size(const EFI_MEMORY_DESCRIPTOR *desc)
     if ( (desc->Type != EfiRuntimeServicesData) &&
          (desc->Type != EfiBootServicesData) &&
          (desc->Type != EfiACPIReclaimMemory) )
-        return 0;
+        return 0; /* memory region cannot contain ESRT */
     available_len = len - (esrt - physical_start);
     if ( available_len <= offsetof(EFI_SYSTEM_RESOURCE_TABLE, Entries) )
-        return 0;
+        return 0; /* ESRT header does not fit in memory region */
     available_len -= offsetof(EFI_SYSTEM_RESOURCE_TABLE, Entries);
     esrt_ptr = (const EFI_SYSTEM_RESOURCE_TABLE *)esrt;
     if ( (esrt_ptr->FwResourceVersion !=
diff --git a/xen/common/efi/efi.h b/xen/common/efi/efi.h
index c9aa65d506b14de69c90b6538c934747fcf0fb80..f4875138415c23eac42616131a738b7f8e33e56b 100644
--- a/xen/common/efi/efi.h
+++ b/xen/common/efi/efi.h
@@ -51,3 +51,17 @@ void free_ebmalloc_unused_mem(void);
 
 const void *pe_find_section(const void *image_base, const size_t image_size,
                             const CHAR16 *section_name, UINTN *size_out);
+
+static inline UINT64
+efi_memory_descriptor_len(const EFI_MEMORY_DESCRIPTOR *desc)
+{
+    uint64_t remaining_space = UINT64_MAX - desc->PhysicalStart;
+
+    if ( desc->PhysicalStart & (EFI_PAGE_SIZE - 1) )
+        return 0; /* misaligned start address */
+
+    if ( desc->NumberOfPages > (remaining_space >> EFI_PAGE_SHIFT) )
+        return 0; /* too big */
+
+    return desc->NumberOfPages << EFI_PAGE_SHIFT;
+}
diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index 13b0975866e3a80c46a7e37788012a716a455b6a..b99de230a5464c46b0b6c19b073685b4e0298343 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -270,18 +270,17 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
         for ( i = 0; i < efi_memmap_size; i += efi_mdesc_size )
         {
             EFI_MEMORY_DESCRIPTOR *desc = efi_memmap + i;
-            u64 len = desc->NumberOfPages << EFI_PAGE_SHIFT;
+            uint64_t size, len = efi_memory_descriptor_len(desc);
 
             if ( info->mem.addr >= desc->PhysicalStart &&
-                 info->mem.addr < desc->PhysicalStart + len )
+                 info->mem.addr - desc->PhysicalStart < len )
             {
                 info->mem.type = desc->Type;
                 info->mem.attr = desc->Attribute;
-                if ( info->mem.addr + info->mem.size < info->mem.addr ||
-                     info->mem.addr + info->mem.size >
-                     desc->PhysicalStart + len )
-                    info->mem.size = desc->PhysicalStart + len -
-                                     info->mem.addr;
+                size = desc->PhysicalStart + len - info->mem.addr;
+                if ( info->mem.size > size )
+                    info->mem.size = size;
+
                 return 0;
             }
         }
diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
index 03f0fe612ed96118614505c39d0e33b946288d6c..255f5a3c91c6be3e8ba4584902563c11bee7f98d 100644
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -25,6 +25,7 @@
 #define UINT8_MAX       (255)
 #define UINT16_MAX      (65535)
 #define UINT32_MAX      (4294967295U)
+#define UINT64_MAX      (0xFFFFFFFFFFFFFFFFULL)
 
 #define INT_MAX         ((int)(~0U>>1))
 #define INT_MIN         (-INT_MAX - 1)
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 00:21:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 00:21:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455727.713282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2iC1-0005YT-De; Wed, 07 Dec 2022 00:21:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455727.713282; Wed, 07 Dec 2022 00:21:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2iC1-0005YM-As; Wed, 07 Dec 2022 00:21:45 +0000
Received: by outflank-mailman (input) for mailman id 455727;
 Wed, 07 Dec 2022 00:21:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QqWv=4F=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p2iC0-0005YG-MW
 for xen-devel@lists.xen.org; Wed, 07 Dec 2022 00:21:44 +0000
Received: from mail-pg1-x535.google.com (mail-pg1-x535.google.com
 [2607:f8b0:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1fd0d1ad-75c5-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 01:21:43 +0100 (CET)
Received: by mail-pg1-x535.google.com with SMTP id s196so14852042pgs.3
 for <xen-devel@lists.xen.org>; Tue, 06 Dec 2022 16:21:43 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 n2-20020a622702000000b00575467891besm8590343pfn.136.2022.12.06.16.21.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 06 Dec 2022 16:21:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1fd0d1ad-75c5-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=gmKSXzYaWuqWi0vndGsNYD8jskOqYOcLpfPluMuhPq8=;
        b=kjT2+KimRkRzbeIMcxUKrPUecD/3AAIXLNpKKTlM9aInpDS73K+UBRK+xMJmA0TNAB
         bvZ01H2vGrAPTMICdSeliaJ0PzbbEscrtWl/tFS5gYDn57Lu1X9A1tRevfOUBNrzkRrH
         vpfRkl0LrgmWgK0pI/14C5ad55ZapZClIGQXoydG2QB8+jACCCX0RIxpUZiYvxwoe4YG
         E2c++zgh74SjRhfEPtfP7CC0YV2MAAyeH2XJcfmmSGK4/uUV8Vn2SK0/nepvdVmf7WAv
         2OW3P2TPxSOWM87bFWfabYHcAIg9nN+ZXQuakk8oPVdIcwafx+4TpMGMlghCpJvT0ro3
         i2WA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gmKSXzYaWuqWi0vndGsNYD8jskOqYOcLpfPluMuhPq8=;
        b=vEgYbx4OWfWhJKOROV81ocPtHh5qzrjx+EZz5fIXY3ZejsLfJyige1UDxRAM/Rc7+a
         Z7q+GEo1BPmqPkgG5Tda8Y3On1gmdX62yJEjGJtII1eNOHrON+ZFSYenyx+BCcqQboxZ
         9048BrOB8glxov5C9h183GPp7hgVmfBhdloTCZKR5BBGjqfzS4T8O8v+/niDbrnTqU66
         HovzyMqkP6yE7pJKzlBaX+VSBYMR4MfXls9q1/9wodta/pO98GfRPzrG4CJQAKqtwwU4
         nyIcFeXQwiQqtkoPuZS/P91QtSRtO2E5CJpQ9WiauW85FDnOH0Y6tvvjGT0vLXx/0zfM
         Ln5Q==
X-Gm-Message-State: ANoB5pn4LNlbMO9DQtGk1vV6bz7OYWFipWXJMJeQGKr7NLV7TUinCAQg
	4zD2Ge0lMPFTkZXbA1+J2T0ObQ==
X-Google-Smtp-Source: AA0mqf40KA5i0MhQcXAaTa7YIqw0IAn7ekRi9iID1PGNUAxPegYpjaNks+uqzAz0m9ugflxU+T+QBA==
X-Received: by 2002:a63:f406:0:b0:477:cc1f:204 with SMTP id g6-20020a63f406000000b00477cc1f0204mr54779368pgi.592.1670372501401;
        Tue, 06 Dec 2022 16:21:41 -0800 (PST)
Date: Wed, 7 Dec 2022 05:51:38 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xen.org
Subject: Re: Virtio-disk updates for latest Xen ?
Message-ID: <20221207002138.qulrlav3z3heozk4@vireshk-i7>
References: <CAKohpo=u7qp4URjRRAMM4xEytmZoKZAJOZLw4v0HTk13BrK-fw@mail.gmail.com>
 <CAPD2p-kfhaygmNNutUdk-mApR7z1YDSTYCEhtLgLsXi+-wbv8A@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAPD2p-kfhaygmNNutUdk-mApR7z1YDSTYCEhtLgLsXi+-wbv8A@mail.gmail.com>

+list

On 06-12-22, 13:40, Oleksandr Tyshchenko wrote:
> On Tue, Dec 6, 2022 at 1:15 PM Viresh Kumar <viresh.kumar@linaro.org> wrote:
> > Hi Oleksandr,
> Hello Viresh
> >
> > I found that my rust counterpart [1] of virtio-disk repository broke
> > with this commit:
> >
> > commit 3a96013a3e17 ("tools/xenstore: reduce number of watch events")
> >
> > And so was wondering if you have already fixed that for
> > virtio-disk or not. And I can just copy what you have changed :)
> >
> 
> Interesting, I am not aware of that issue. I haven't tried virtio-disk with
> recent (latest) Xen, I was mostly playing with Qemu backends. Thanks for
> letting me know, I will re-check once I have access to my hardware again.

Hmm, moved a little closer :)

We look at the watch events here [2] one by one and wait for the
directory one to come ("backend/disk" in your case I think, it is
"backend/virtio" with my latest patches). This is the second directory
event which used to come after the directory is finalized.

Earlier the events were read for following paths:

"backend/virtio"
"backend/virtio/1/0"
"backend/virtio/1"
"backend/virtio"

and on the last event, we used to go ahead and look at the directory
to find the FE domid.

With the new changes, the events I am getting are:

[src/xs.rs:164] &name = "backend/virtio"
[src/xs.rs:164] &name = "backend/virtio/1/0"
[src/xs.rs:164] &name = "backend/virtio/1/0/frontend"
[src/xs.rs:164] &name = "backend/virtio/1/0/frontend-id"
[src/xs.rs:164] &name = "backend/virtio/1/0/online"
[src/xs.rs:164] &name = "backend/virtio/1/0/state"
[src/xs.rs:164] &name = "backend/virtio/1/0/irq"
[src/xs.rs:164] &name = "backend/virtio/1/0/base"
[src/xs.rs:164] &name = "backend/virtio/1/0/type"
[src/xs.rs:164] &name = "backend/virtio/1/0/transport"

Here the second event for "backend/virtio" never comes and so we fail.

I am not sure how to get this working, as there is no finalizing event
for the directory. Maybe our design is broken from the start and we
need to do it properly in some recommended way ?
 
> >
> > The guest kernel crashes for me during boot, while
> > accessing MMIO registers, because the backend side isn't
> > properly initialized now with changes in the watch events
> > due to above commit.
> >
> > Thanks in advance.
> >
> > --
> > Viresh
> >
> > [1] https://github.com/vireshk/xen-vhost-frontend
> 
> -- 
> Regards,
> 
> Oleksandr Tyshchenko

-- 
viresh

[2] https://github.com/otyshchenko1/virtio-disk/blob/virtio_grant/xs_dev.c#L424


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 01:06:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 01:06:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455739.713293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2itW-0001Rc-PV; Wed, 07 Dec 2022 01:06:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455739.713293; Wed, 07 Dec 2022 01:06:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2itW-0001RV-Mr; Wed, 07 Dec 2022 01:06:42 +0000
Received: by outflank-mailman (input) for mailman id 455739;
 Wed, 07 Dec 2022 01:06:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CKq1=4F=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p2itV-0001RP-7j
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 01:06:41 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 676cda75-75cb-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 02:06:39 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id B93E0B81B91;
 Wed,  7 Dec 2022 01:06:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6B0ACC433D6;
 Wed,  7 Dec 2022 01:06:36 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 676cda75-75cb-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670375197;
	bh=NbvUZ+pjAlAts2YAm2+s060kvZkhNflT8J8Q5QyG/Vk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=a0BJ1ZHZGMzFI+TSjxKaKmfttpw5KOQngEc4wlvuha86CZXbG3L+dU6GpC5NZo8Ep
	 PuidGvoF9WBlduSF48a4KaFd/g9AuokIVuA4TJOfjYwwBLF/ktOumtWZFjGh9Oxg3q
	 jzb65u90ennxYmocO19V3aU5WNUwALKdy9/cwNObinUDiZyt84PzCoQaBxk1+Reriq
	 Qx0WFTIYfYD1f4GgdxGWr+C3IpFBp5CgoE+fPa2ZC9rCiZQp5IvWF6/jsz5ZNRjUsf
	 4VwK6vX12FB3J/oRckjjc/hg1OxiUaOqlbQe90ozbOa/U/BIW09NPIyCGEaNpjlDTU
	 jRasH4peXtNmg==
Date: Tue, 6 Dec 2022 17:06:34 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    Anthony Perard <anthony.perard@citrix.com>, 
    Jan Beulich <jbeulich@suse.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: preparations for 4.16.3
In-Reply-To: <fc1de779-48e5-6526-02cc-f1fdc468e2bb@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212061706220.4039@ubuntu-linux-20-04-desktop>
References: <2c4c605e-f8c5-abbb-db85-89465b7e10a6@suse.com> <1f3d3a05-fe11-b156-da93-03913be687de@xen.org> <fc1de779-48e5-6526-02cc-f1fdc468e2bb@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Done, and thanks for the ping

On Tue, 6 Dec 2022, Julien Grall wrote:
> @Stefano, gentle ping. Jan said he wanted to have 4.16 cut before the
> holidays.
> 
> On 01/12/2022 15:19, Julien Grall wrote:
> > Hi Jan & Stefano,
> > 
> > On 28/11/2022 10:50, Jan Beulich wrote:
> > > All,
> > > 
> > > the release is due in a couple of weeks time; ideally we'd get it out
> > > before the year end break.
> > > 
> > > Please point out backports you find missing from the respective staging
> > > branch, but which you consider relevant.
> > 
> > I have just one backport request:
> > 
> > db8fa01c61db0317a9ee947925226234c65d48e8 "xen/arm: Correct the p2m pool size
> > calculations"
> 
> Cheers,
> 
> -- 
> Julien Grall
> 


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 01:37:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 01:37:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455748.713314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2jN6-0006Ad-Ef; Wed, 07 Dec 2022 01:37:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455748.713314; Wed, 07 Dec 2022 01:37:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2jN6-0006AT-Be; Wed, 07 Dec 2022 01:37:16 +0000
Received: by outflank-mailman (input) for mailman id 455748;
 Wed, 07 Dec 2022 01:37:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CKq1=4F=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p2jN5-000639-23
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 01:37:15 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id acb28fe3-75cf-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 02:37:13 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 88EC2B81BE5;
 Wed,  7 Dec 2022 01:37:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C22DC433C1;
 Wed,  7 Dec 2022 01:37:10 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: acb28fe3-75cf-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670377031;
	bh=YmzgsYSRm8amxnF1lYrxWSDz1sx9jD4opvG+UwgVJ/c=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=i0zstzILqlWokIIb9wMt2s8jwE+Ga2PLzA+3KqkQua6pQ5U39qRVdaakhLQsVbcsL
	 mgwK5skwmQYnMqbwSEwRtZoTnu3DRXoQuu/AdZR2Ukd4iN9Z6CtJ+S1t2m6jSpiFOD
	 9C+cFYs+gz1S2g1OyjkSFs7ImlUR5qDIkNh6GseEr75Ci9er7Z2LpyZo8vxrVK/keV
	 /bao4PBjJw+2a9+VkwWlX9NIkOH0M0e+YmBHwHaDlTpi03vQWGB+qVc6UoIs64s9BL
	 ZX8Hn3g6A/YZBJcAamKLSzoUjFyiQ2A3RnkYvytGkxRQkwE08buhZtdzd8Fx6vj4hB
	 Y9oh8nHwMGQUw==
Date: Tue, 6 Dec 2022 17:37:08 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Henry Wang <Henry.Wang@arm.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/3] xen/arm: Add memory overlap check for
 bootinfo.reserved_mem
In-Reply-To: <20221205025753.2178965-2-Henry.Wang@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212061716170.4039@ubuntu-linux-20-04-desktop>
References: <20221205025753.2178965-1-Henry.Wang@arm.com> <20221205025753.2178965-2-Henry.Wang@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 5 Dec 2022, Henry Wang wrote:
> As we are having more and more types of static region, and all of
> these static regions are defined in bootinfo.reserved_mem, it is
> necessary to add the overlap check of reserved memory regions in Xen,
> because such check will help user to identify the misconfiguration in
> the device tree at the early stage of boot time.
> 
> Currently we have 3 types of static region, namely (1) static memory,
> (2) static heap, (3) static shared memory. (1) and (2) are parsed by
> the function `device_tree_get_meminfo()` and (3) is parsed using its
> own logic. Therefore, to unify the checking logic for all of these
> types of static region, this commit firstly introduces a helper
> `check_reserved_regions_overlap()` to check if an input physical
> address range is overlapping with the existing reserved memory regions
> defined in bootinfo. After that, use this helper in
> `device_tree_get_meminfo()` to do the overlap check of (1) and (2)
> and replace the original overlap check of (3) with this new helper.
> 
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>

I wonder if the check should only be done #ifdef DEBUG. The idea would
be that a given static configuration should be validated and corrected
before going into production. By the time you go in production, it is
too late to do checks anyway. Especially the panic below.

Julien, Bertrand, what do you think about this?


> ---
>  xen/arch/arm/bootfdt.c           | 13 ++++----
>  xen/arch/arm/include/asm/setup.h |  2 ++
>  xen/arch/arm/setup.c             | 52 ++++++++++++++++++++++++++++++++
>  3 files changed, 60 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> index 6014c0f852..b31379b9ac 100644
> --- a/xen/arch/arm/bootfdt.c
> +++ b/xen/arch/arm/bootfdt.c
> @@ -91,6 +91,9 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
>      for ( i = 0; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
>      {
>          device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
> +        if ( mem == &bootinfo.reserved_mem &&
> +             check_reserved_regions_overlap(start, size) )
> +            return -EINVAL;
>          /* Some DT may describe empty bank, ignore them */
>          if ( !size )
>              continue;
> @@ -485,7 +488,9 @@ static int __init process_shm_node(const void *fdt, int node,
>                  return -EINVAL;
>              }
>  
> -            if ( (end <= mem->bank[i].start) || (paddr >= bank_end) )
> +            if ( check_reserved_regions_overlap(paddr, size) )
> +                return -EINVAL;
> +            else
>              {
>                  if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
>                      continue;
> @@ -496,12 +501,6 @@ static int __init process_shm_node(const void *fdt, int node,
>                      return -EINVAL;
>                  }
>              }
> -            else
> -            {
> -                printk("fdt: shared memory region overlap with an existing entry %#"PRIpaddr" - %#"PRIpaddr"\n",
> -                        mem->bank[i].start, bank_end);
> -                return -EINVAL;
> -            }
>          }
>      }
>  
> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
> index fdbf68aadc..6a9f88ecbb 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -143,6 +143,8 @@ void fw_unreserved_regions(paddr_t s, paddr_t e,
>  size_t boot_fdt_info(const void *fdt, paddr_t paddr);
>  const char *boot_fdt_cmdline(const void *fdt);
>  
> +int check_reserved_regions_overlap(paddr_t region_start, paddr_t region_size);
> +
>  struct bootmodule *add_boot_module(bootmodule_kind kind,
>                                     paddr_t start, paddr_t size, bool domU);
>  struct bootmodule *boot_module_find_by_kind(bootmodule_kind kind);
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 4395640019..94d232605e 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -270,6 +270,42 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
>      cb(s, e);
>  }
>  
> +static int __init overlap_check(void *bootinfo_type,
> +                                paddr_t region_start, paddr_t region_end)
> +{
> +    unsigned int i, num = 0;
> +    paddr_t bank_start = INVALID_PADDR, bank_end = 0;
> +    char *type_str = "NONAME";
> +
> +    if ( bootinfo_type == &bootinfo.reserved_mem )
> +    {
> +        num = bootinfo.reserved_mem.nr_banks;
> +        type_str = "reserved_mem";
> +    }
> +    else
> +        panic("Invalid bootinfo type passed to overlap check\n");
> +
> +    for ( i = 0; i < num; i++ )
> +    {
> +        if ( bootinfo_type == &bootinfo.reserved_mem )
> +        {
> +            bank_start = bootinfo.reserved_mem.bank[i].start;
> +            bank_end = bank_start + bootinfo.reserved_mem.bank[i].size;
> +        }
> +
> +        if ( region_end <= bank_start || region_start >= bank_end )
> +            continue;
> +        else
> +        {
> +            printk("%s: Region %#"PRIpaddr" - %#"PRIpaddr" overlapping with bank[%u] %#"PRIpaddr" - %#"PRIpaddr"\n",
> +                   type_str, region_start, region_end, i, bank_start, bank_end);
> +            return -EINVAL;
> +        }
> +    }
> +
> +    return 0;
> +}

As much as I dislike MACROs in general I think this function should be
written as a MACRO so that we can write it once for all use cases. The
below in not compiled and not tested, just for explanation purposes.
Look how much simpler the code becomes.

#define overlap_check(bootinfo,     \
                      num,          \
                      region_start, \
                      region_end)   \
({  \
    unsigned int i, ret; \
    paddr_t bank_start = INVALID_PADDR, bank_end = 0; \
    \
    for ( i = 0; i < num; i++ ) \
    { \
        bank_start = bootinfo->start; \
        bank_end = bank_start + bootinfo->size; \
    \
        if ( region_end <= bank_start || region_start >= bank_end ) \
            continue; \
        else \
        { \
            printk("Region %#"PRIpaddr" - %#"PRIpaddr" overlapping with bank[%u] %#"PRIpaddr" - %#"PRIpaddr"\n", \
                   region_start, region_end, i, bank_start, bank_end); \
            ret = -EINVAL; \
            break; \
        } \
    } \
    \
    retval = 0; \
    retval;\
})


And the caller:

check_reserved_regions_overlap(&bootinfo.reserved_mem,
                               bootinfo.reserved_mem.nr_banks,
                               start, size);


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 01:37:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 01:37:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455747.713304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2jN4-0005ux-45; Wed, 07 Dec 2022 01:37:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455747.713304; Wed, 07 Dec 2022 01:37:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2jN4-0005uq-0l; Wed, 07 Dec 2022 01:37:14 +0000
Received: by outflank-mailman (input) for mailman id 455747;
 Wed, 07 Dec 2022 01:37:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2jN2-0005uj-JB
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 01:37:12 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20624.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9adcb09-75cf-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 02:37:09 +0100 (CET)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by DM4PR12MB6011.namprd12.prod.outlook.com (2603:10b6:8:6b::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Wed, 7 Dec
 2022 01:37:05 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb%5]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 01:37:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9adcb09-75cf-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YokgNHXX1dx8ZQscRevoZ6SHT9DPoulXwKfwQe3RI83y5Oz1fXugouG20FQsQUtIgdZzAzea4EX2H61JhdMgVQ3XbaSsCJ9blm24kfkrYI120nPII5bE14FkJnwAbKm44OwlUx8JJTMs3ffE+tuiUAixbpTsiO9CwDq9ZEeWaa2aFCpmTX0UQnsyn6fGZ6YruVaXdI3938WZ2GIMX0AOcUPh4XFKFPEU0bHPxuehwFkGNIM81cPJW7pKh/nFJPGe7WHz5wgidtgql/KJ3bqfi3dzr08MNsZTsfIMnOD01DwtDGJKQ6jnW0luCPgEAXau5vRRGPls+25NqqwxeJlfDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TJ14V4JqXCjsGSC/COVZ/z+YxdNMJgLT7pqs5qR/zoM=;
 b=Bcs+sG6yECtaDQJjgc0JIJTMg54Fl2CorRIY4Y5QtIxCOfqVLmdIuggRSerK9ciJiHS8/nsT4/dQU3wCrDSO4tn23wKO9/zjCC3xqZN7Mupn2FWKpx/UP/PuOw65tDt79kLR6w1ySLf7q8bZV7+1J/3wWubszHkbAyvJ14p3XV0EHrROy6UAYFssOCBCnEebkJbpTVOEVPIpuoqdnl6CAmozYorFVGJiM2dfgMbXNiN0GYh4oJooZ9U5dPRCoPUWMFxoT3Vm9xdGrIbXywWNdVsaiA4fzhQiyXa4Xxy8kOBL74FsOgjDBgz2wlBwafwkVMsdBZdYIP8vpN0MyBRl/Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TJ14V4JqXCjsGSC/COVZ/z+YxdNMJgLT7pqs5qR/zoM=;
 b=lSa2sQuN8r7Obk8syrvTstOmTD+E+1IJEXQwbdfmh/zRXecwRI1UkwKEOEllFc2EWL5PueFOV1jpCFiI33O+QukFMg8Rjzmf8SBaqBYy3IMAMCZYv2kQ92AWk7LKU8tM0W/CKE37DGE33yTpjq/baph+odFE4Qsh2gwsRWa6jfk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <e5876e70-740c-74ad-f6ef-c6afe955199d@amd.com>
Date: Tue, 6 Dec 2022 17:37:02 -0800
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
From: Vikram Garhwal <vikram.garhwal@amd.com>
Subject: Re: [XEN][RFC PATCH v3 10/14] xen/arm: Implement device tree node
 removal functionalities
To: Julien Grall <julien@xen.org>, Vikram Garhwal <fnu.vikram@xilinx.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, bertrand.marquis@arm.com,
 volodymyr_babchuk@epam.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>
References: <20220308194704.14061-1-fnu.vikram@xilinx.com>
 <20220308194704.14061-11-fnu.vikram@xilinx.com>
 <f00fa29e-d59a-471a-ef05-4f72787ad8e8@xen.org>
Content-Language: en-US
In-Reply-To: <f00fa29e-d59a-471a-ef05-4f72787ad8e8@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BYAPR06CA0070.namprd06.prod.outlook.com
 (2603:10b6:a03:14b::47) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|DM4PR12MB6011:EE_
X-MS-Office365-Filtering-Correlation-Id: 75570588-ce85-4a5f-d98e-08dad7f38c04
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/L4X1mGckU8jWakkEqxTF5eMdJWxUTXACVwPNUXYtCv117QTNHtOMlV7qUcQ47/knktQcGYc4mGK79t8XO8iTIRoj27vYI6niUwbXT5D78VrDXZJXcTIHOIkKv+mZmsXqkjT4J6k5dKJuVFtHh9D+JSqhoCKwSP7EcSvFAP8zAju6KSNmnH3sSRb4JUBAE7xBbQWIiAASR41V+JgUMp6wjq10OmqSqIzr0yyGuBaMz7r6sv/wcZO37TUBL6Pf7AuUKgMqvo+H99C9pBQllebUtxWWw0290NApkzggFuTVuZ9lxddF6jH+6eIPH510whiA7r4husNxssmY0G0hAJt60w9EMznVaf6AO5bfvgLnObhwKqFQAzHaACQsl8UTAX1Db4Jry+lIYpbDM1Aasf6g6OgT1y3W/ERVScZ5T0stXxwjyN4r5OxoiHmPBwsLvx4TxZw8J2BWwahnB3QRN4qusQM0gTx09O9tuNCqHO6vRcXJ2QSHfkSyKLTXJy7fhHH/T84C+YX/Hxh1JZ/2vmHAEFm2DSmPnVgPpxYLoXvZ20qq8xJc9X+dqMGW+pFJ8dhcwCIQmvTtFNdvxHrAvr5BE97kGqVSTTrGThCoIrzarjal4gsQqm+MmdTDWNB14H1KrbvZTZG5HJ0Ubh+fK8sKXX9oEaj9omxmPdX/L+kyObVwk35YR09M+XLpZ1nL144WZpWT97zdYTUquUGsjogpCENw96KGmKZTZe1JPdcCYI53Tm9LsS+deucnsV42Sau7a6TmPiemXGFyrsyCjFxPA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(136003)(346002)(376002)(396003)(451199015)(83380400001)(36756003)(86362001)(31696002)(53546011)(6506007)(6486002)(478600001)(66946007)(26005)(44832011)(316002)(54906003)(8936002)(5660300002)(41300700001)(6666004)(4326008)(2906002)(6512007)(8676002)(110136005)(30864003)(66556008)(66476007)(38100700002)(2616005)(186003)(31686004)(403724002)(2004002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z2l5eHQ0V2s5aEFGR0ptUFRPaDNuYWFvUzNSdFZMZlRJV1Y4WEUrQ24zazBL?=
 =?utf-8?B?QzRScGxMdXhaaVhSY0tSRmk0QzVqYTl4VWY2RDBvbWV6d0lqUGVUV0Nwc0Vj?=
 =?utf-8?B?aUJSWXVCcHdyOUp3dmdEZk5IU3VQd3Z0S0tqY2FqWjRqbkdaOUpBaHk5UFY4?=
 =?utf-8?B?aUQzbjV3Vmlxb0l5OXI4czNkbDkrQmdzc2VQdTc4RmlScXliK1JyLzBQejlQ?=
 =?utf-8?B?OXZlOTZsOHI3NVlrQlBwYXRONXF5ZE8zSjRLbE10Qlo5VGhvRnFCUmc0MDVE?=
 =?utf-8?B?WHVnd0krckN0QnBRclNRMVpCSGJMWFB6bUN4TDVYdU1vZDIvMnRRUmtjdHRI?=
 =?utf-8?B?KzloSjk4bmp2L3B6dklSd1lIelliM0hMYXJyakZYTWszeElNelVNMVFtV2RJ?=
 =?utf-8?B?d2ttQ3AxeW9LMUJoK3NuTnJpTUxraThhYXpvQzNXWVA0UnBheloyNXNqaGJj?=
 =?utf-8?B?M0cvQk9WUUFFdGwrS0dVTllUbVJmeE43OXhrN0tNcHk3VkMxR1B5UDB4a2po?=
 =?utf-8?B?Tzh0S0wrN2V5V2ZNU0dUa3dQUk9SWnFEOE5lUUt3VVV0QlJmWFp4b2gyeHZ4?=
 =?utf-8?B?L1JWQW1CZjB6NVc5Q3NPM3FmVG5iQ2RhMzFxRm96Z2VwbEgzZ3pnMmp3T1Z3?=
 =?utf-8?B?Z3FZZkFBTEliR0RGVjVpQXBabWZSUURzWFBGTmFPQk9URjV6MjhHMWcyOVlU?=
 =?utf-8?B?QUFFRHFrampCT0p1MWE4VkpnSXpNT1RXaFV4WTFGT2g2VDIreWNYU3FQYlhQ?=
 =?utf-8?B?Zk5TeVhRaStPaTdaaWJqNVlNSC9tdjFZdzRXeDUzcXYvNDFDUDEyYjNneXl5?=
 =?utf-8?B?bWZzNDJQeVhDWUZ3TVdkRytCV09nM2wyalBRRnhwaWxoOHpYcnlBRW5YaHRl?=
 =?utf-8?B?cldqSWlndnF4Q0lKdzNUT2NWYlBweFM0QzlDVWFINnBrR1o4QkNOOFdnV090?=
 =?utf-8?B?SkFGdVIzeEFHRVZ6bUhDSEV6MXFaWURQNnR5Y201TlFQRGxCYk1IeUpVdjEr?=
 =?utf-8?B?SkxQN08vS3ZoYllhR1hnM0tibU5JUG9EYSs1bXIwaEE3ajdmQlhrYll1VlpH?=
 =?utf-8?B?SzFWdVR2QzM3UHl2QWdDdCtUYzRvZTdQOXFzdVgrd25MWDVuU1hTczFTR3J5?=
 =?utf-8?B?bHFnMFY2MXdjbGt0ZWNQcTQvYzZQMERWSlFmeDZuOXVJU1BUdlVvOTFoQ1Yr?=
 =?utf-8?B?SWhuc2J1dUd6NXg4RkdtQjArNEFxR3ppbnlYY3ExOGFCc3VOT1krMWVKM2pk?=
 =?utf-8?B?NmR0elMxR3ArTDBtbTlWNTVLVjRhYjkvRm9EdjR1OGFlRjBkcnQrV25GK1Na?=
 =?utf-8?B?cS9RNTlFS1dLZUI5ZDN6UmRWNDhjaXJmOG84TzNLZllpakoxVXVNVWpyd24z?=
 =?utf-8?B?M05CYWM4VXlkTXIyUGNKSEwzQUxUa1U1dVBvKzFJemlMNzR4MFNVNDIvQThU?=
 =?utf-8?B?c25UUU9PMFp2OE94OE9PdFJhcmN6eTgxVEo2b3RJcCt4eC9FZE5Jb2ErR2cx?=
 =?utf-8?B?UjJQVk5MQkY2eWRRZGlVRFo2bmlzcG9KYytrK1c3TnBlOE94Q05KekUwQk5L?=
 =?utf-8?B?a1Urb0M4M2x4YVJVZXFsNnJqZjg0ZWowSXoyWlpCLzJMdE5oUkN3U0JPTVdS?=
 =?utf-8?B?eWdZL2V1eS9OSVQ0aXN5R3dNNk9reVN1cVNaMnhhSE5kWmRMZVZ3Z054Q01Y?=
 =?utf-8?B?QUtaTGJQRkNlOVZWMjdQNkY5SGtHZjhIbkF4RUplMUk2TVVya0dpSTNEMXcz?=
 =?utf-8?B?L0h3RC9qVzNENWw1a1l5ZmNBU1VsMzBPQ1lFa3VNUlBYMGhwYWpXZ25vL1o0?=
 =?utf-8?B?dVFDVG1xcHVqeUpOY015L3l5bHNCdkVzQllENXZrVk9XcVZ3alZPUHlDYkRu?=
 =?utf-8?B?eklNQW5salZnMEFKTFNQSHVwUVREY2tuNVpwWDBBZmhnQmYxOUhiUHdPZVpX?=
 =?utf-8?B?OTczVUszSGlQTXF0L0JQUzZ2RHBRVElCWFVYMGtoUk5UeDRqRWJ1T2NvSk1s?=
 =?utf-8?B?aTYyZHZod1hCTnpHTEdEVnByTnQrR3BDeXFuQUg1ZVJJc1FMMUFZR2VBQ1RC?=
 =?utf-8?B?VFV1Mk1JUHBOSExpS0FJVDhlbjBycXVpMWpOMS90L3A5M3lwMWNNRytIVTI1?=
 =?utf-8?Q?RKhpxRYC1oivX/VCUnYbpvRB3?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 75570588-ce85-4a5f-d98e-08dad7f38c04
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 01:37:05.3905
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HYR6MmceWC+/F4i29AyGU8qJhEpiAs4vS2zWeMPgr+3HjBfaCtA4+dff7o9WtMNF3n03OUq1bhOMnLrf+aJyRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6011

Hi Julien & Luca,

Sorry for so long delay on the this patch series. I was stuck with 
internal work and then had to go on a long leave.

I prepared v4 and will send it shortly. Addressed all the feedback. I 
have few comments. Please see them inline below.

On 5/18/22 11:31 AM, Julien Grall wrote:
> CAUTION: This message has originated from an External Source. Please 
> use proper judgment and caution when opening attachments, clicking 
> links, or responding to this email.
>
>
> Hi Vikram,
>
> On 08/03/2022 19:47, Vikram Garhwal wrote:
>> Introduce sysctl XEN_SYSCTL_dt_overlay to remove device-tree nodes 
>> added using
>> device tree overlay.
>>
>> xl overlay remove file.dtbo:
>>      Removes all the nodes in a given dtbo.
>>      First, removes IRQ permissions and MMIO accesses. Next, it finds 
>> the nodes
>>      in dt_host and delete the device node entries from dt_host.
>>
>>      The nodes get removed only if it is not used by any of dom0 or 
>> domio.
>>
>> Also, added overlay_track struct to keep the track of added node 
>> through device
>> tree overlay. overlay_track has dt_host_new which is unflattened form 
>> of updated
>> fdt and name of overlay nodes. When a node is removed, we also free 
>> the memory
>> used by overlay_track for the particular overlay node.
>>
>> Signed-off-by: Vikram Garhwal <fnu.vikram@xilinx.com>
>> ---
>>   xen/common/Makefile          |   1 +
>>   xen/common/dt_overlay.c      | 447 +++++++++++++++++++++++++++++++++++
>>   xen/common/sysctl.c          |  10 +
>>   xen/include/public/sysctl.h  |  18 ++
>>   xen/include/xen/dt_overlay.h |  47 ++++
>>   5 files changed, 523 insertions(+)
>>   create mode 100644 xen/common/dt_overlay.c
>>   create mode 100644 xen/include/xen/dt_overlay.h
>>
>> diff --git a/xen/common/Makefile b/xen/common/Makefile
>> index dc8d3a13f5..2eb5734f8e 100644
>> --- a/xen/common/Makefile
>> +++ b/xen/common/Makefile
>> @@ -54,6 +54,7 @@ obj-y += wait.o
>>   obj-bin-y += warning.init.o
>>   obj-$(CONFIG_XENOPROF) += xenoprof.o
>>   obj-y += xmalloc_tlsf.o
>> +obj-$(CONFIG_OVERLAY_DTB) += dt_overlay.o
>>
>>   obj-bin-$(CONFIG_X86) += $(foreach n,decompress bunzip2 unxz unlzma 
>> lzo unlzo unlz4 unzstd earlycpio,$(n).init.o)
>>
>> diff --git a/xen/common/dt_overlay.c b/xen/common/dt_overlay.c
>> new file mode 100644
>> index 0000000000..fcb31de495
>> --- /dev/null
>> +++ b/xen/common/dt_overlay.c
>> @@ -0,0 +1,447 @@
>> +/*
>> + * xen/common/dt_overlay.c
>> + *
>> + * Device tree overlay support in Xen.
>> + *
>> + * Copyright (c) 2021 Xilinx Inc.
>> + * Written by Vikram Garhwal <fnu.vikram@xilinx.com>
>> + *
>> + * This program is free software; you can redistribute it and/or
>> + * modify it under the terms and conditions of the GNU General Public
>> + * License, version 2, as published by the Free Software Foundation.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
>> + */
>> +#include <xen/iocap.h>
>> +#include <xen/xmalloc.h>
>> +#include <asm/domain_build.h>
>> +#include <xen/dt_overlay.h>
>> +#include <xen/guest_access.h>
>> +
>> +static LIST_HEAD(overlay_tracker);
>> +static DEFINE_SPINLOCK(overlay_lock);
>> +
>> +static int dt_overlay_remove_node(struct dt_device_node *device_node)
>> +{
>> +    struct dt_device_node *np;
>> +    struct dt_device_node *parent_node;
>> +    struct dt_device_node *current_node;
>> +
>> +    parent_node = device_node->parent;
>> +
>> +    current_node = parent_node;
>> +
>> +    if ( parent_node == NULL )
>> +    {
>> +        dt_dprintk("%s's parent node not found\n", device_node->name);
>> +        return -EFAULT;
>> +    }
>> +
>> +    np = parent_node->child;
>> +
>> +    if ( np == NULL )
>> +    {
>> +        dt_dprintk("parent node %s's not found\n", parent_node->name);
>> +        return -EFAULT;
>> +    }
>> +
>> +    /* If node to be removed is only child node or first child. */
>> +    if ( !dt_node_cmp(np->full_name, device_node->full_name) )
>> +    {
>> +        current_node->allnext = np->allnext;
>
> While reviewing the previous patches, I realized that we have nothing to
> prevent someone to browse the device-tree while it is modified.
>
> I am not sure this can be solved with just refcounting (like Linux
> does). So maybe we need a read-write-lock. I am open to other
> suggestions here.
Added read_locks for all dt_host access funtions.
>> +
>> +        /* If node is first child but not the only child. */
>> +        if ( np->sibling != NULL )
>> +            current_node->child = np->sibling;
>> +        else
>> +            /* If node is only child. */
>> +            current_node->child = NULL;
>
> Those 4 lines can be replaced with one line:
>
> current_node->child = np->sibling;
>
>> +        return 0;
>> +    }
>> +
>> +    for ( np = parent_node->child; np->sibling != NULL; np = 
>> np->sibling )
>> +    {
>> +        current_node = np;
>> +        if ( !dt_node_cmp(np->sibling->full_name, 
>> device_node->full_name) )
>> +        {
>> +            /* Found the node. Now we remove it. */
>> +            current_node->allnext = np->allnext->allnext;
>
> I find this code quite confusing to read. AFAICT, 'np' and
> 'current_node' are exactly the same here. Why do you use different name
> to access it?
>
>> +
>> +            if ( np->sibling->sibling )
>> +                current_node->sibling = np->sibling->sibling;
>> +            else
>> +                current_node->sibling = NULL;
>
> Same here. This could be replaced with:
>
> current_node->child = nb->sibling->sibling;
>
>> +
>> +            break;
>> +        }
>> +    }
>> +
>> +    return 0;
>> +}
>> +
>> +/* Basic sanity check for the dtbo tool stack provided to Xen. */
>> +static int check_overlay_fdt(const void *overlay_fdt, uint32_t 
>> overlay_fdt_size)
>> +{
>> +    if ( (fdt_totalsize(overlay_fdt) != overlay_fdt_size) ||
>> +          fdt_check_header(overlay_fdt) )
>> +    {
>> +        printk(XENLOG_ERR "The overlay FDT is not a valid Flat 
>> Device Tree\n");
>> +        return -EINVAL;
>> +    }
>> +
>> +    return 0;
>> +}
>> +
>> +static unsigned int overlay_node_count(void *fdto)
>> +{
>> +    unsigned int num_overlay_nodes = 0;
>> +    int fragment;
>> +
>> +    fdt_for_each_subnode(fragment, fdto, 0)
>> +    {
>> +
>> +        int subnode;
>> +        int overlay;
>> +
>> +        overlay = fdt_subnode_offset(fdto, fragment, "__overlay__");
>> +
>> +        /*
>> +         * Overlay value can be < 0. But fdt_for_each_subnode() loop 
>> checks for
>> +         * overlay >= 0. So, no need for a overlay>=0 check here.
>> +         */
>> +
>> +        fdt_for_each_subnode(subnode, fdto, overlay)
>> +        {
>> +            num_overlay_nodes++;
>> +        }
>> +    }
>> +
>> +    return num_overlay_nodes;
>> +}
>> +
>> +/*
>> + * overlay_get_nodes_info will get the all node's full name with 
>> path. This is
>> + * useful when checking node for duplication i.e. dtbo tries to add 
>> nodes which
>> + * already exists in device tree.
>> + */
>
> AFAIU the code below will only retrieve one level of nodes. So if you 
> have
>
> foo {
>   bar {
>   }
> }
>
> Only foo will be part of the nodes_full_path. Is it correct?

Added support for adding children nodes too.

>
>
>> +static int overlay_get_nodes_info(const void *fdto, char 
>> ***nodes_full_path,
>> +                                  unsigned int num_overlay_nodes)
>> +{
>> +    int fragment;
>> +    unsigned int node_num = 0;
>> +
>> +    *nodes_full_path = xmalloc_bytes(num_overlay_nodes * sizeof(char 
>> *));
>> +
>> +    if ( *nodes_full_path == NULL )
>> +        return -ENOMEM;
>> +    memset(*nodes_full_path, 0x0, num_overlay_nodes * sizeof(char *));
>> +
>> +    fdt_for_each_subnode(fragment, fdto, 0)
>> +    {
>> +        int target;
>> +        int overlay;
>> +        int subnode;
>> +        const char *target_path;
>> +
>> +        target = fdt_overlay_target_offset(device_tree_flattened, fdto,
>> +                                           fragment, &target_path);
>> +        if ( target < 0 )
>> +            return target;
>> +
>> +        overlay = fdt_subnode_offset(fdto, fragment, "__overlay__");
>> +
>> +        /*
>> +         * Overlay value can be < 0. But fdt_for_each_subnode() loop 
>> checks for
>> +         * overlay >= 0. So, no need for a overlay>=0 check here.
>> +         */
>> +        fdt_for_each_subnode(subnode, fdto, overlay)
>> +        {
>> +            const char *node_name = NULL;
>> +            unsigned int node_name_len = 0;
>> +            unsigned int target_path_len = strlen(target_path);
>> +            unsigned int node_full_name_len = 0;
>> +
>> +            node_name = fdt_get_name(fdto, subnode, &node_name_len);
>> +
>> +            if ( node_name == NULL )
>> +                return -EINVAL;
>> +
>> +            /*
>> +             * Magic number 2 is for adding '/'. This is done to 
>> keep the
>> +             * node_full_name in the correct full node name format.
>> +             */
>> +            node_full_name_len = target_path_len + node_name_len + 2;
>> +
>> +            (*nodes_full_path)[node_num] = 
>> xmalloc_bytes(node_full_name_len);
>> +
>> +            if ( (*nodes_full_path)[node_num] == NULL )
>> +                return -ENOMEM;
>> +
>> +            memcpy((*nodes_full_path)[node_num], target_path, 
>> target_path_len);
>> +
>> +            (*nodes_full_path)[node_num][target_path_len] = '/';
>> +
>> +            memcpy((*nodes_full_path)[node_num] + target_path_len + 
>> 1, node_name,
>> +                   node_name_len);
>> +
>> +            (*nodes_full_path)[node_num][node_full_name_len - 1] = 
>> '\0';
>> +
>> +            node_num++;
>> +        }
>> +    }
>> +
>> +    return 0;
>> +}
>> +
>> +/* Remove nodes from dt_host. */
>> +static int remove_nodes(char **full_dt_node_path, int **nodes_irq,
>> +                        int *node_num_irq, unsigned int num_nodes)
>
> Most of the information above are stored in overlay_track. So can we
> pass a pointer to the overlay_track?
>
> Also, I think most of the parameter (include overlay track) should not
> be modified here. So please use const.
>
>> +{
>> +    struct domain *d = hardware_domain;
>> +    int rc = 0;
>> +    struct dt_device_node *overlay_node;
>> +    unsigned int naddr;
>> +    unsigned int i, j, nirq;
>> +    u64 addr, size;
>> +    domid_t domid = 0;
>> +
>> +    for ( j = 0; j < num_nodes; j++ )
>> +    {
>> +        dt_dprintk("Finding node %s in the dt_host\n", 
>> full_dt_node_path[j]);
>> +
>> +        overlay_node = dt_find_node_by_path(full_dt_node_path[j]);
>> +
>> +        if ( overlay_node == NULL )
>
> This error (and some below) may happen because we partially removed the
> DTBO but stopped because on error. So on the next run, it is possible
> that "overlay_node" will be NULL and therefore you will not be able to
> remove the node.
>
> In your use-case, are you planning to ask the admin to reboot if you
> can't remove a node?
Yeah. What is error case where it may happen?

We are checking if dtbo is same as it was added and also expect user to 
remove the nodes only iff the nodes aren't

used by any domain.

>
>> +        {
>> +            printk(XENLOG_ERR "Device %s is not present in the tree. 
>> Removing nodes failed\n",
>> +                   full_dt_node_path[j]);
>> +            return -EINVAL;
>> +        }
>> +
>> +        domid = dt_device_used_by(overlay_node);
>> +
>> +        dt_dprintk("Checking if node %s is used by any domain\n",
>> +                   full_dt_node_path[j]);
>> +
>> +        /* Remove the node iff it's assigned to domain 0 or domain 
>> io. */
>> +        if ( domid != 0 && domid != DOMID_IO )
>
> I think I asked before, but I have seen no answer on that. What will
> prevent the device to not be assigned after this check?

So, here for removal we assume that user removed all on-going ops on the 
dtbo nodes which they wants to remove.

>
>
> Also, in general, I think it would be helpful if you answer on the ML
> questions. This would at least confirm that you have seen them and we
> agree on what to do.
Will keep this in mind and reply.
>
>> +        {
>> +            printk(XENLOG_ERR "Device %s as it is being used by 
>> domain %d. Removing nodes failed\n",
>> +                   full_dt_node_path[j], domid);
>> +            return -EINVAL;
>> +        }
>> +
>> +        dt_dprintk("Removing node: %s\n", full_dt_node_path[j]);
>> +
>> +        nirq = node_num_irq[j];
>> +
>> +        /* Remove IRQ permission */
>> +        for ( i = 0; i < nirq; i++ )
>> +        {
>> +            rc = nodes_irq[j][i];
>> +            /*
>> +             * TODO: We don't handle shared IRQs for now. So, it is 
>> assumed that
>> +             * the IRQs was not shared with another domain.
>> +             */
>
> This is not what I meant in v2. Interrupts cannot be shared between
> domain on Arm. However, interrupts can be shared between devices.
>
> This is the latter part that needs a TODO.
>
> In addition to that, as I wrote, an IRQ can be assigned to a *single*
> domain without the device been assigned to that domain. So I think this
> needs to be checked possibly by using the information stored in "desc"
> to know where the IRQ was routed to.
>
>> +            rc = irq_deny_access(d, rc);
>> +            if ( rc )
>> +            {
>> +                printk(XENLOG_ERR "unable to revoke access for irq 
>> %u for %s\n",
>> +                       i, dt_node_full_name(overlay_node));
>> +                return rc;
>> +            }
>> +        }
>> +
>> +        rc = iommu_remove_dt_device(overlay_node);
>> +        if ( rc != 0 && rc != -ENXIO )
>> +            return rc;
>> +
>> +        naddr = dt_number_of_address(overlay_node);
>> +
>> +        /* Remove mmio access. */
>> +        for ( i = 0; i < naddr; i++ )
>> +        {
>> +            rc = dt_device_get_address(overlay_node, i, &addr, &size);
>> +            if ( rc )
>> +            {
>> +                printk(XENLOG_ERR "Unable to retrieve address %u for 
>> %s\n",
>> +                       i, dt_node_full_name(overlay_node));
>> +                return rc;
>> +            }
>> +
>> +            rc = iomem_deny_access(d, paddr_to_pfn(addr),
>> +                                   paddr_to_pfn(PAGE_ALIGN(addr + 
>> size - 1)));
>
> I think you missed my comment here. Similar to the IRQs, you are asking
> for trouble to parse the device-tree again. It would be better to store
> the information using a rangeset (see include/xen/rangeset.h).
>
> I also think the double array for the IRQs should be converted to a
> rangeset as this would simplify the code.
>
Keeping rangeset will work if we only parse one-level nodes. But if 
there are descendant nodes, then its looking complicated to get info 
using rangeset. While adding, we have to add parent first and then it's 
descendant. But while remove, we will need to remove descendants first 
and the parent node lastly.

I am unable to comeup with easy way to use rangeset to store information 
in this way for add and remove.

> Furthemore, you are removing the permission but not the mapping in the
> P2M. Can you clarify why?
We are not actually mapping the nodes here.
>
>
>> +            if ( rc )
>> +            {
>> +                printk(XENLOG_ERR "Unable to remove dom%d access to"
>> +                        " 0x%"PRIx64" - 0x%"PRIx64"\n",
>> +                        d->domain_id,
>> +                        addr & PAGE_MASK, PAGE_ALIGN(addr + size) - 1);
>> +                return rc;
>> +            }
>> +        }
>> +
>> +        rc = dt_overlay_remove_node(overlay_node);
>> +        if ( rc )
>> +            return rc;
>> +    }
>> +
>> +    return rc;
>> +}
>
> [...]
>
>> + * overlay_node_track describes information about added nodes 
>> through dtbo.
>> + * @entry: List pointer.
>> + * @dt_host_new: Pointer to the updated dt_host_new unflattened 
>> 'updated fdt'.
>> + * @fdt: Stores the fdt.
>> + * @nodes_fullname: Stores the full name of nodes.
>> + * @nodes_irq: Stores the IRQ added from overlay dtb.
>> + * @node_num_irq: Stores num of IRQ for each node in overlay dtb.
>> + * @num_nodes: Stores total number of nodes in overlay dtb.
>> + */
>> +struct overlay_track {
>> +    struct list_head entry;
>> +    struct dt_device_node *dt_host_new;
>> +    void *fdt;
>> +    char **nodes_fullname;
>
> Looking at the code, the main use for the fullname are to check the FDT
> match and looking up in the DT.
>
> In order to check the DT, you could use memcmp() to confirm both the
> stored FDT and the one provided by the user match.
>
> For the lookup, you could avoid it by storing a pointer to the root of
> the new subtrees.
>
> Please let me know if you disagree with this approach.
>
If I understood correctly: just keeping the root of new overlay subtree 
will not work for all case. It will work only if the nodes added are 
adjacent to each other i.e. have the same parent then it will work as we 
add all overlay nodes as the last child of their parent. But If two 
subnodes have different parents, they may or may not be 
nearby(node->allnext won't work) then we will issues removing the node 
from this approach.

I did following small modification to your suggestion:
Keep FDT( do memcmp) for match and also keep address for all added nodes 
at one-level( we can find children info if we know the top one-level 
nodes. Please check overlay_node_count()). This will take 8bytes * num 
of nodes in one-level space which is lot less space than keeping 
nodes_fullname.


I will send v4 this week.

>> +    int **nodes_irq;
>> +    int *node_num_irq;
>> +    unsigned int num_nodes;
>> +};
>> +
>> +long dt_sysctl(struct xen_sysctl *op);
>> +#endif
>
> Cheers,
>
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 02:12:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 02:12:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455767.713325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2juw-0004Dy-2J; Wed, 07 Dec 2022 02:12:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455767.713325; Wed, 07 Dec 2022 02:12:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2juv-0004Dr-W6; Wed, 07 Dec 2022 02:12:13 +0000
Received: by outflank-mailman (input) for mailman id 455767;
 Wed, 07 Dec 2022 02:12:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CKq1=4F=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p2jut-0004Dl-TD
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 02:12:11 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e5bb331-75d4-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 03:12:10 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 28DD1B81BED;
 Wed,  7 Dec 2022 02:12:09 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8454C433C1;
 Wed,  7 Dec 2022 02:12:06 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e5bb331-75d4-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670379127;
	bh=KaNQjCOoCnKyAJXKABah3u2RfjuN2EZvKuzl4FDxLmA=;
	h=Date:From:To:cc:Subject:From;
	b=ogJPSAMWgZNaESRZQ42WPHirTudk3dZdnzreyQ0m5aba3FjZy+Is7ahOljqNx9tYy
	 atAqutulgJ2u40VV4c2iHTUjwcy54+uLGHkXP3GOP6wguf9Fu0WxuSD3cG4TgKXEtO
	 uQIBzVAAwVhMOkulQtxWls4QBmBtLk7JQS5dozx1Ansp0CGGdU34ecEsJZAjXaiOnO
	 u9UR3vLukaGinh5+dNiRoCKAmor98hZR8SVd6PfnEY6veVGxwtKYI9auj0XHG04xJt
	 ASevjSGcBwEEol0KT9F1CIz6hjx5lI6S93ryL2YxbaxjFN9g6s+8P4TToo25SYHcld
	 /HUb0D2d9Xjgw==
Date: Tue, 6 Dec 2022 18:12:05 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, dpsmith@apertussolutions.com
Subject: [PATCH] xsm: misra rule 8.4 fix
Message-ID: <alpine.DEB.2.22.394.2212061808570.4039@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Fix two MISRA Issues Rule 8.4 ("A compatible declaration shall be
visible when an object or function with external linkage is defined")
found by cppcheck affecting xen/xsm/flask/ss/services.c.

Fix the first issue by making policydb_loaded_version static and the
second issue by declaring ss_initialized in a proper header.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

diff --git a/xen/xsm/flask/flask_op.c b/xen/xsm/flask/flask_op.c
index d319466c6b..b866e8d05f 100644
--- a/xen/xsm/flask/flask_op.c
+++ b/xen/xsm/flask/flask_op.c
@@ -56,8 +56,6 @@ static int bool_num = 0;
 static int *bool_pending_values = NULL;
 static int flask_security_make_bools(void);
 
-extern int ss_initialized;
-
 static int __init cf_check parse_flask_param(const char *s)
 {
     if ( !strcmp(s, "enforcing") )
diff --git a/xen/xsm/flask/private.h b/xen/xsm/flask/private.h
index 429f213cce..2e0e65489c 100644
--- a/xen/xsm/flask/private.h
+++ b/xen/xsm/flask/private.h
@@ -6,4 +6,6 @@
 long cf_check do_flask_op(XEN_GUEST_HANDLE_PARAM(void) u_flask_op);
 int cf_check compat_flask_op(XEN_GUEST_HANDLE_PARAM(void) u_flask_op);
 
+extern int ss_initialized;
+
 #endif /* XSM_FLASK_PRIVATE */
diff --git a/xen/xsm/flask/ss/services.c b/xen/xsm/flask/ss/services.c
index dab07b5f60..4665f3b007 100644
--- a/xen/xsm/flask/ss/services.c
+++ b/xen/xsm/flask/ss/services.c
@@ -53,7 +53,7 @@
 #include "conditional.h"
 #include "mls.h"
 
-unsigned int policydb_loaded_version;
+static unsigned int policydb_loaded_version;
 
 static DEFINE_RWLOCK(policy_rwlock);
 #define POLICY_RDLOCK read_lock(&policy_rwlock)


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 02:44:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 02:44:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455776.713337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2kQC-0000H3-H9; Wed, 07 Dec 2022 02:44:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455776.713337; Wed, 07 Dec 2022 02:44:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2kQC-0000Gw-Cs; Wed, 07 Dec 2022 02:44:32 +0000
Received: by outflank-mailman (input) for mailman id 455776;
 Wed, 07 Dec 2022 02:44:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gfh3=4F=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p2kQA-0000Gq-6F
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 02:44:30 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on060f.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1155ee9d-75d9-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 03:44:28 +0100 (CET)
Received: from DB9PR05CA0015.eurprd05.prod.outlook.com (2603:10a6:10:1da::20)
 by VI1PR08MB10103.eurprd08.prod.outlook.com (2603:10a6:800:1ce::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 02:44:19 +0000
Received: from DBAEUR03FT052.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1da:cafe::de) by DB9PR05CA0015.outlook.office365.com
 (2603:10a6:10:1da::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Wed, 7 Dec 2022 02:44:19 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT052.mail.protection.outlook.com (100.127.142.144) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.14 via Frontend Transport; Wed, 7 Dec 2022 02:44:19 +0000
Received: ("Tessian outbound b4aebcc5bc64:v130");
 Wed, 07 Dec 2022 02:44:19 +0000
Received: from 008aa5f9031f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3882E733-C1D5-4890-BA22-9B456096FD15.1; 
 Wed, 07 Dec 2022 02:44:13 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 008aa5f9031f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 07 Dec 2022 02:44:13 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB8636.eurprd08.prod.outlook.com (2603:10a6:20b:562::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 02:44:11 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%8]) with mapi id 15.20.5880.011; Wed, 7 Dec 2022
 02:44:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1155ee9d-75d9-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EYQ6HmsflV0eXxZLbEdw2i8k7IELWSST3d07XYunoFw=;
 b=IXtcxo5KVqB531NvQCFAe8oyAF5cNUapd7YBJEyLb+B/2ZaQGferJGGeDIs7NICpJvcZBvS2cuVgiJ7U36w7iDvvYmbf4mNTmVgpBAFj6b7O+Q3dWN4dLYJ17jxNwy4LNbH/MXv5ehA++DzsGj6sNWTmll6Iw+xk4J922aDC/rY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mP97M6UsOJb8VxTpBqqFulx1UuEbWlaogjEQJXFibqoFUWib8niy3UwkNS5Q3T8Ioc/WBI7HQpvfuUcPP/BQrTtJ78worChiTvs56kIBY0Lp7Cbb/ixaoBwcgkdEOx5g2OgVsWZlnncK4Exj0/oeA3rNMVFuNHUjpZe1wXIplF6Yid9ql+n8joK92amefKP7MlsHuPbU/njWhTwjdZLBzOiCinlaaGKoUHxYeHM9Dj88Huzt+9ytpkTizXv66L8IJXFney3w1DOCwsyI0mNJwbKaNiLZr74NdfyKyC/dXxLFXdABtbv741f/fwowqQuJ8ewznVIJw2viuBqcpwYKpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EYQ6HmsflV0eXxZLbEdw2i8k7IELWSST3d07XYunoFw=;
 b=gt/YmYmyK/gcyOCBkXmO6kNj4p8zSynGWOzTCfW9CWe55Am+dcLcXJOKHl3d8NFamAwHDJhNMBYkddc30BAsuS18yN9tqzgYXcNjeGyuvBdBg4ghPVs6q+gOwbxfKVPH5QJsJ4BJgeHx9nD42fZ2ei84L1DxTcqoInz8QyEg90wdLapdWLP2rI/cUe3zbpldiZVFE9H2zmq2vIeiXqdDmk6R0xovXqVpB1snSTg4yDSpHD/VAihwM1Id80cWVxKmDsvFZeNz/JTqvXGZFUIKczbQEljSDtpVgE/jK4DIoYfYQHVHD6d4ORlHxgVrDxd4x8nj56WNmgO1PsctBP+tJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EYQ6HmsflV0eXxZLbEdw2i8k7IELWSST3d07XYunoFw=;
 b=IXtcxo5KVqB531NvQCFAe8oyAF5cNUapd7YBJEyLb+B/2ZaQGferJGGeDIs7NICpJvcZBvS2cuVgiJ7U36w7iDvvYmbf4mNTmVgpBAFj6b7O+Q3dWN4dLYJ17jxNwy4LNbH/MXv5ehA++DzsGj6sNWTmll6Iw+xk4J922aDC/rY=
From: Henry Wang <Henry.Wang@arm.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>, Jan Beulich
	<jbeulich@suse.com>
CC: Ard Biesheuval <ardb@kernel.org>, Xen developer discussion
	<xen-devel@lists.xenproject.org>,
	=?iso-8859-1?Q?Marek_Marczykowski-G=F3recki?=
	<marmarek@invisiblethingslab.com>, Julien Grall <julien@xen.org>
Subject: RE: [PATCH v2] Use EfiACPIReclaimMemory for ESRT
Thread-Topic: [PATCH v2] Use EfiACPIReclaimMemory for ESRT
Thread-Index: AQHY3SOE4Yny0gXZiEK8Iho+g/cvja5iEUeQ
Date: Wed, 7 Dec 2022 02:44:11 +0000
Message-ID:
 <AS8PR08MB7991DA43144C61A4B5D50DF7921A9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References:
 <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
In-Reply-To:
 <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 365B185E254EF044B1D11977DA8A18D0.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB8636:EE_|DBAEUR03FT052:EE_|VI1PR08MB10103:EE_
X-MS-Office365-Filtering-Correlation-Id: 42c1fdb1-c449-44e9-f708-08dad7fcf074
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 seDVVc1Yc5QZbY4TauOpxoAFr6GUX5RiN3MHywIcLDNQpon+1JKl6AF4r9Pxyy1ecLdTQI/Di5xBNOitfIrAHXqE7FFcjArumsZ7w96EXL7MmyERbwQYXkRWpDZB055Xq2x41cirofV7JfXBgZkHG+TeqNSuY+MQ99bHmjc8N+8LbslNEnnApm3tkvKagwI2Q6O3SWnJXnwJXWQOhZi22xaor+UaEWAGZXC54E7ObohPbGXWKN6qkAP2n9IHwSaL6hkWEHjYoibVsPyCGxegUcqxbk/KMxdtEe0mME1rOpO0GTGAlP4ZPfRqBPIoDXZbRKGxHg2/PzOSF2zYdSgipbWrDOPXTW/lak3dQK3bcI84Cy1VQnbMero5IDzFwlvCoyaC8mTsWHl4iyf97uZHG4AUNuDvW5N07r9c5fxfdSqwwsGJE3aIflbq3FWPKUe5x5QR9J9iFvLBcVRHlRHg1WU317QBVemkdz3hbvzhyAeytRYETnCmL+XCcQBpGlJvXBs0K8nVNDYpO+pD1KLgEF9o5dI79jYMFWCZVjxb6jAYSz/4hwYa8vfXWU8qj1QsnmH0Pe+Ig3A9MUaGaLFZbuxp7vOX+QvQ0JW6My4LtyhA3AY++fAK0YgWKx9w/3i6znLMYMqgVKvM2ISJ3syjy9C6ze/oUaOpnpXCT3R9VNLpGTmZZpjl672L90TwqCDlO95M7lwT/k2o+SAXIqXMkQlfOIUJW0Vd3QxeF177k2c=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(396003)(346002)(376002)(366004)(451199015)(478600001)(966005)(71200400001)(66446008)(86362001)(7696005)(55016003)(66556008)(66946007)(64756008)(9686003)(6506007)(33656002)(26005)(66476007)(110136005)(8676002)(54906003)(316002)(76116006)(4326008)(2906002)(38100700002)(186003)(38070700005)(5660300002)(83380400001)(41300700001)(122000001)(8936002)(52536014);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8636
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cb6865a9-e0b8-4ded-9f06-08dad7fceb9d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lFbugNi3h2YH4E/schOnZq8f7Lo1McMzoXdNx7v4E6cAFjkzSLg9G/T+VlYrJb7Oyfi/qcg2CVyZ/4MWwck64+mQaSuZS0u8LgGSGklzb0I0omJpK5jZmtZ5Db5k/B2MbhzQZueLPSvFxkgrQLuvGZqSwMppZanEEcFNxyurAkYQWIBdcBw0UxblMrGzgm2BdcSgQnQU4j96uVIQERxxbNYT1W8PcBCm7SXl0yJmpAwvgNGkCZ8GQObh+kq0GpdsC5hWrDlthWY/kXTywx5HL6peHruBt5N1F8whQLNeiRbNIOSkJcEiv9GTitQG+w6MSHy9yrKyIohigWOmiq+iRT7L6PNm+RzKwiTPOQ99LDTg1ndc12TX3xuYdIqsHsG2G+Ys5Rh7Qti1HFACsfsaDzrCBlVUNO1pI6urq09Kecngfl1/ywmEqOCSRzDFeHw3N2rxdY1PtZJEMZ5E8DM8xCjI4Q0YAfnZhCnHS+SJ3xetHjyCHX9ovbeSUKbJBntSW9IqnuQaneJVHgz8Yzf8X1+qdFeMU7Fh5wB+ouRAPZB0PfAY1H/op9J3osPGtoXRlusHKZb0mmhNDpjWY1Z/55caGtszCyLRZG0CcR6lttgudhlGRL+jWcXQP8yXpZ8THWGsvsJDPj2QxhMD1cDrSMYgcvtiIFZ5q9GRbBiJogI9ecXe0q0GvC1WmDHq2Inoo0pIAf+1N5R1UUHXQMhkEz3eHyQentI/+xCrXvnr5jM=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199015)(36840700001)(40470700004)(46966006)(40480700001)(86362001)(55016003)(40460700003)(33656002)(2906002)(966005)(478600001)(9686003)(6506007)(7696005)(26005)(70586007)(70206006)(186003)(8676002)(4326008)(110136005)(316002)(54906003)(8936002)(5660300002)(52536014)(41300700001)(82310400005)(81166007)(82740400003)(356005)(47076005)(83380400001)(336012)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 02:44:19.2274
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 42c1fdb1-c449-44e9-f708-08dad7fcf074
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT052.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10103

Hi Demi,

(+Julien for his info since I am replying below about the 4.17 stuff)

> -----Original Message-----
> From: Demi Marie Obenour <demi@invisiblethingslab.com>
> Subject: [PATCH v2] Use EfiACPIReclaimMemory for ESRT
>=20
> A previous patch tried to get Linux to use the ESRT under Xen if it is
> in memory of type EfiRuntimeServicesData.  However, this turns out to be
> a bad idea.  Ard Biesheuvel pointed out that EfiRuntimeServices* memory
> winds up fragmenting both the EFI page tables and the direct map, and
> that EfiACPIReclaimMemory is a much better choice for this purpose.
>=20
> Link: https://lists.xenproject.org/archives/html/xen-devel/2022-
> 09/msg01365.html
> Fixes: dc7da0874ba4 ("EFI: preserve the System Resource Table for dom0")
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> ---
> Should this be included in 4.17?  It is a bug fix for a feature new to
> 4.17, so I suspect yes, but it is ultimately up to Henry Wang.

I am planning to start the process of tagging the 4.17 so we can catch the
release date next Monday before the holiday season in Europe.

That said, if the EFI maintainer (Jan) is happy about including this in 4.1=
7,
I don't object it if this patch can land in the stable-4.17 branch before t=
he
end of Thursday (Dec. 8). Note that OSSTest probably needs ~1 day to do the
sync from the staging-4.17 branch.

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 02:52:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 02:52:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455783.713348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2kXi-00029p-8s; Wed, 07 Dec 2022 02:52:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455783.713348; Wed, 07 Dec 2022 02:52:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2kXi-00029i-5p; Wed, 07 Dec 2022 02:52:18 +0000
Received: by outflank-mailman (input) for mailman id 455783;
 Wed, 07 Dec 2022 02:52:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sV5z=4F=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p2kXg-00029c-MJ
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 02:52:16 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 26e7643d-75da-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 03:52:14 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 991D632002B6;
 Tue,  6 Dec 2022 21:52:11 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Tue, 06 Dec 2022 21:52:12 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 6 Dec 2022 21:52:10 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26e7643d-75da-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670381531; x=
	1670467931; bh=JIgRaLMR8BHLP5UMHKuKoI+i17RA3kmh8+27In+GQg4=; b=c
	FJlkWnDCtCfqTjdqKejfm3xF8wvttXvknvkJ3AawekoecQ+B23FJL3j+cT99L51w
	EXfHvsjEdq8Z9YAyF0t9c41K6tqrRyDhe1WSlUkp7FtSQqjdgMdAxXqIUwngc/nG
	JA0iUBS2BvGHuuI7RpX+9STeZ82h7VwnTBtrtvbXEE/JDp5Ec+NmLYQoUUOJnEl6
	VQ3nHvSnfnuaetxMuOFKyXBGbSk2M9ONyfRCTbOPpTWijdgJ7AJpp1d4sHMcMJaV
	xXU/LLCv4qBBywWFpLqdNi+riLZWs6gBC4VjgrHNLFROS1CZxhIBRKE8zSHQqbdY
	B3m5Ui0o3tIYrdcqlAw0A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1670381531; x=1670467931; bh=JIgRaLMR8BHLP5UMHKuKoI+i17RA
	3kmh8+27In+GQg4=; b=qp2CZXgxGGHUK0HiwJi/XghBkwR6UvHOTdwBzRAcFFQ/
	BzoMFgJ00dsvOeEaTOjP2G7KO/SOD2luGOigGDyhXi4FtVGjdGNrAE/Ra55zPB1N
	RvzombF0OBqpofkhZJd5bQSu5Zb3fW38WhpnGYFEQGNMLJhmNDWTKm3zAtEuXmVP
	2zMqdZJeSojmWx2nILd13Xk7w4ZsodRqN+iuiheyio12rXGM2uL1+oc2NRG3dCZX
	Ykx6eN/AxHm4P1LMlRiGDnrN//C7CMScJKDlGGE45MDdnqaixTGRlM/x1YdfNaNs
	SzQxpELescbGW1HCv2mNnxcylntGnYajIic/Na507g==
X-ME-Sender: <xms:2v-PY_4TA-T71MDhCZsJrv-w9BNUnaBoXyDBjJuY6m1P6x3Ina-aFQ>
    <xme:2v-PY07TY9OziYJYCkXuNGEoH-VQ8tK2xURxDlJn-2Qr-aAS1VXX5y_apA4reO6ig
    rqk2_8-56-sd_I>
X-ME-Received: <xmr:2v-PY2dkoRhncls5zNRD7ELeIRUWV-yrkeNVPLIGbnJO6GoET1vOhD_uAaKT>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudejgdehvdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvuedtgefhffffvdegtedtkedthfdu
    ffdtudeigeeugfejieekueffueekgfevgeenucffohhmrghinhepgigvnhhprhhojhgvtg
    htrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho
    mhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:2v-PYwK2w6L2M2MjNdpXwranm6TS2HHSD13xkx4-XwWA8OYk7EY3Yw>
    <xmx:2v-PYzIP9uSxHqGuz1V-fyuAk2rp_JzFE7PpwgrI2b_s4CZ7QSLLvQ>
    <xmx:2v-PY5wAam39yeGOH5JYpNovA2s2pqm8CkIjIMCSjCH15RLtPSmKXQ>
    <xmx:2_-PY71dP9GNfFISs0Zv5TukamtKrNGvdhjlqtEkknoalUudB7eD2w>
Feedback-ID: iac594737:Fastmail
Date: Tue, 6 Dec 2022 21:52:04 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Henry Wang <Henry.Wang@arm.com>, Jan Beulich <jbeulich@suse.com>
Cc: Ard Biesheuval <ardb@kernel.org>,
	Xen developer discussion <xen-devel@lists.xenproject.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Julien Grall <julien@xen.org>
Subject: Re: [PATCH v2] Use EfiACPIReclaimMemory for ESRT
Message-ID: <Y4//2IuCg2qeN87B@itl-email>
References: <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
 <AS8PR08MB7991DA43144C61A4B5D50DF7921A9@AS8PR08MB7991.eurprd08.prod.outlook.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="EVW3wVBPc995n+yT"
Content-Disposition: inline
In-Reply-To: <AS8PR08MB7991DA43144C61A4B5D50DF7921A9@AS8PR08MB7991.eurprd08.prod.outlook.com>


--EVW3wVBPc995n+yT
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 6 Dec 2022 21:52:04 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Henry Wang <Henry.Wang@arm.com>, Jan Beulich <jbeulich@suse.com>
Cc: Ard Biesheuval <ardb@kernel.org>,
	Xen developer discussion <xen-devel@lists.xenproject.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Julien Grall <julien@xen.org>
Subject: Re: [PATCH v2] Use EfiACPIReclaimMemory for ESRT

On Wed, Dec 07, 2022 at 02:44:11AM +0000, Henry Wang wrote:
> Hi Demi,
>=20
> (+Julien for his info since I am replying below about the 4.17 stuff)
>=20
> > -----Original Message-----
> > From: Demi Marie Obenour <demi@invisiblethingslab.com>
> > Subject: [PATCH v2] Use EfiACPIReclaimMemory for ESRT
> >=20
> > A previous patch tried to get Linux to use the ESRT under Xen if it is
> > in memory of type EfiRuntimeServicesData.  However, this turns out to be
> > a bad idea.  Ard Biesheuvel pointed out that EfiRuntimeServices* memory
> > winds up fragmenting both the EFI page tables and the direct map, and
> > that EfiACPIReclaimMemory is a much better choice for this purpose.
> >=20
> > Link: https://lists.xenproject.org/archives/html/xen-devel/2022-
> > 09/msg01365.html
> > Fixes: dc7da0874ba4 ("EFI: preserve the System Resource Table for dom0")
> > Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> > ---
> > Should this be included in 4.17?  It is a bug fix for a feature new to
> > 4.17, so I suspect yes, but it is ultimately up to Henry Wang.
>=20
> I am planning to start the process of tagging the 4.17 so we can catch the
> release date next Monday before the holiday season in Europe.

> That said, if the EFI maintainer (Jan) is happy about including this in 4=
=2E17,
> I don't object it if this patch can land in the stable-4.17 branch before=
 the
> end of Thursday (Dec. 8). Note that OSSTest probably needs ~1 day to do t=
he
> sync from the staging-4.17 branch.

That=E2=80=99s fine, thanks!
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--EVW3wVBPc995n+yT
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOP/9gACgkQsoi1X/+c
IsE5vhAAwtDXHFGGSGPf1AC8RIm5tSWJ4cZELkcSr9JvIvpYA8l0RzZ+Wue+YEVj
GkjR+WKneipzxzpUs+ga+46JvgAQw0+i6P20v0ay048sQxiIpWtEhphj7E1G8uoF
/qWCQa+bVSZjosYicIjIRcIDB9B11H9huVA/rWriT1DRiLPwBPUwTQLixz3Zx2fe
UndEHfMbWH+COaJIuc7VRqYMcMaLaiz9k/+Ob5GRULdCCikUbz4lztpIQw/liH6z
50GTKz1I3w05oKJPwQLlvo9jazNgIRCvLwQcKoPgoOxZQfei2pWJ2KW4inyptmo+
8ZwYQL25PHyp5zi6RUqWC6njzUhXxFMvNSR9TVUfvI4Qoqw3apabcbnB8WhPkPoF
1hUOdSHUg1dBjZa4ziztGVQyfpIpdZZjITozO8AR1pXZlxH8+XOpPQGKhNkhd3XW
jSpZo+APNb4k+zVeF/XY7wxKl3mn5SZz8C/7iy0YfMrWQD4S7jM0Xd+/B6OwHN/k
+DPlyeH/VW1XNa8wGX1ntyP9g36RVWoNEBPZxmUKCvasOqgpu+JbXIskIBmqAdhd
HejaLDntKjs3pKkPyg+feWb4OdNbg24pihkB/Arsc2fORUEMxNjtuLYpDcWY/jno
AhNFLwc0mpmuw5Z/GCNRZvf+R9dkoVH4yspWSrrg8JMZvj03WMk=
=IfK+
-----END PGP SIGNATURE-----

--EVW3wVBPc995n+yT--


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 03:59:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 03:59:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455794.713359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2lah-0002KR-5E; Wed, 07 Dec 2022 03:59:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455794.713359; Wed, 07 Dec 2022 03:59:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2lah-0002KK-2O; Wed, 07 Dec 2022 03:59:27 +0000
Received: by outflank-mailman (input) for mailman id 455794;
 Wed, 07 Dec 2022 03:59:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QqWv=4F=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p2laf-0002KE-BA
 for xen-devel@lists.xen.org; Wed, 07 Dec 2022 03:59:25 +0000
Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com
 [2607:f8b0:4864:20::1030])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8889b849-75e3-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 04:59:23 +0100 (CET)
Received: by mail-pj1-x1030.google.com with SMTP id
 e7-20020a17090a77c700b00216928a3917so290574pjs.4
 for <xen-devel@lists.xen.org>; Tue, 06 Dec 2022 19:59:23 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 p2-20020a170902780200b001869394a372sm889140pll.201.2022.12.06.19.59.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 06 Dec 2022 19:59:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8889b849-75e3-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=XIfsQ2d/pYC4OxWF+U4GDK/PMoG6GsV2XxfKhI2zJrQ=;
        b=NwXSi2ZByuVmBPjk8Di09voXTg+lUItpqfIKK+ItpqKaedATgHoKb65SaTK7fgrHwZ
         DEdo8wxzjdmIsCRH5mxDRnE5E424/VUAAWo6Ub8j6pXxQu2CzvBIln0UT6iVJjfawN3w
         4ZLM23zQDhQr8gYqf5m3AsdOHeMFja5Fsgo9VcHIZilAyKZSTXKxOtC8bfUJPbBbVgLL
         YQru3i42b/X2cO5zjvvClm51TtrQUJxMUp+YyKQ6HGOtjAc0+vZFR3J9bPNXN5VVKzq4
         F/6DeT7zWHjhv2u18GiLkEgniFCWwbTBJ57XWAm5lD7Q+GuskxEJ2NeHqjQNyucrV4MX
         MGpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XIfsQ2d/pYC4OxWF+U4GDK/PMoG6GsV2XxfKhI2zJrQ=;
        b=0YdtLOLqYCG0ntSHQfXBat0o0g0pibI/5iyp2Jv3PTfXySrkGGMW9Uk2ol3GJgupHu
         P2dUPaPSUFL/wviGFsXC3DPnFAt5YzGY/X2e7R9X1ZWmzMvhHgDtHaK/SlFlYIB+VknQ
         S+Akm0/TcIMsoBTcr8KOoqnTlX12QQWPiPU14tnq2buvG9RhBtEDJrfXL3I2M/YC6m32
         db+L59/p4ilRgmpixDn64JoNMr7xDEkFTc6NFoA40fftljnjqZff/suol7l/Il0EjJ2U
         uDCgySMucqX5hV8qAMv6Zi4HYkjuefkqOFnVb+8Gnxlddw9d30xw7EGd1J4t6li0z+fD
         zw1Q==
X-Gm-Message-State: ANoB5pnFnCQhiEcc6PUETVFGrMn61tsGFc8D66opeWu1vXOzGVGjbN2C
	tGqXU9RszRx/yG1lMLgxEfFxTQ==
X-Google-Smtp-Source: AA0mqf5LNiq5+bs1di8KQT+ywimFSN2JAu4sY++dnlji4UcP76zi1ZQkngNyw/vbC8S8nZvhn+eSDA==
X-Received: by 2002:a17:902:b20f:b0:189:a50d:2a33 with SMTP id t15-20020a170902b20f00b00189a50d2a33mr35473221plr.17.1670385561974;
        Tue, 06 Dec 2022 19:59:21 -0800 (PST)
Date: Wed, 7 Dec 2022 09:29:18 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xen.org
Subject: Re: Virtio-disk updates for latest Xen ?
Message-ID: <20221207035918.amzgrybqub632dyc@vireshk-i7>
References: <CAKohpo=u7qp4URjRRAMM4xEytmZoKZAJOZLw4v0HTk13BrK-fw@mail.gmail.com>
 <CAPD2p-kfhaygmNNutUdk-mApR7z1YDSTYCEhtLgLsXi+-wbv8A@mail.gmail.com>
 <20221207002138.qulrlav3z3heozk4@vireshk-i7>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20221207002138.qulrlav3z3heozk4@vireshk-i7>

On 07-12-22, 05:51, Viresh Kumar wrote:
> I am not sure how to get this working, as there is no finalizing event
> for the directory. Maybe our design is broken from the start and we
> need to do it properly in some recommended way ?

For now this is what I have done to make it work:

diff --git a/xs_dev.c b/xs_dev.c
index a6c8403cfe84..4643394a52a2 100755
--- a/xs_dev.c
+++ b/xs_dev.c
@@ -413,20 +413,7 @@ static int xenstore_get_fe_domid(struct xs_dev *dev)
 
 static int xenstore_poll_be_watch(struct xs_dev *dev)
 {
-    unsigned int num;
-    char **vec;
-    int rc = 0;
-
-    vec = xs_read_watch(dev->xsh, &num);
-    if (!vec)
-        return -1;
-
-    if (!strcmp(vec[XS_WATCH_PATH], dev->path))
-        rc = xenstore_get_fe_domid(dev);
-
-    free(vec);
-
-    return rc;
+    return xenstore_get_fe_domid(dev);
 }

This rns xenstore_get_fe_domid() for each event in the path
"backend/virtio", and in my case it passes with the second event
itself, which came for "backend/virtio/1/0" and this code doesn't run
after that.

Note that I have tested this with my rust counterpart which received a
similar change, I didn't test virtio-disk directly.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 04:48:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 04:48:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455801.713370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2mML-0001DB-QJ; Wed, 07 Dec 2022 04:48:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455801.713370; Wed, 07 Dec 2022 04:48:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2mML-0001D4-Mb; Wed, 07 Dec 2022 04:48:41 +0000
Received: by outflank-mailman (input) for mailman id 455801;
 Wed, 07 Dec 2022 04:48:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QqWv=4F=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p2mMK-0001Cy-Ec
 for xen-devel@lists.xen.org; Wed, 07 Dec 2022 04:48:40 +0000
Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com
 [2607:f8b0:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69dba24d-75ea-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 05:48:38 +0100 (CET)
Received: by mail-pg1-x532.google.com with SMTP id f9so15231617pgf.7
 for <xen-devel@lists.xen.org>; Tue, 06 Dec 2022 20:48:38 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 u9-20020a17090a6a8900b00216df8f03fdsm212803pjj.50.2022.12.06.20.48.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 06 Dec 2022 20:48:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69dba24d-75ea-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=VKbc7XJkLbZ+Csl96s6Aj6/DqsZlncX1H3vjDvBAqTw=;
        b=BD4kjrqnCvm+Uyyrz+iyPYyM3+qdZtOSrNAIPVb9rYTlZNyd8hd365oOeRZMGaF01K
         A92XhrSfwhphkKBMVuSiLq62XrGHxSt2wFHv81oat5v2FtzbMns7E1Hj56Hn5nsjplSJ
         NbshQXwYMpJ8AOWl0JBIyPNrw3U0lTDVs5B7/Z/AZ/ZBviBr2vPwf+OZk6GUt46vMd6v
         SIGaUmE4P5ZYRovc/FQNWcz/ndqX73GWNNyp12ayYPCnA4UM8WIAJuxyo3L6Rji4/+V4
         rDZF7Ae4//4Pj376SVnwgk28xDs8uEuenyPZvNeSJY1HBhoaNQGP2MHj7by9UB3zQyxZ
         XjDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VKbc7XJkLbZ+Csl96s6Aj6/DqsZlncX1H3vjDvBAqTw=;
        b=g2Dnh5+C8kQJtrA2Uh93Ch27gbGBwvb/4QE4Osk5xXHzCnZgTYQe/sNQezbnTJAd9K
         j2m11nm9U/hzFQgVYSNbctwk3HLfGFqgk7lDgUxM7a5bRy47ROaE3BtZRVDeHps9EyQ9
         WB6HALvrph0pMU4ZpvctxQomPdEL01fUaecbz023XE9ZBKQcmfBep7p8r2lPObLpPP4L
         cLFfDeGDpZaGuZN2L2CqgHDNygogQKQqCqEWQXAlxmsoianqqX9MJ49tBR93RB98kCcO
         NPW577GT4POmrwNZrzTGfkM5FemjqDwPS40CXF8D5ahaaM0nVVc9t73NjoAvc6UpEFBm
         wudA==
X-Gm-Message-State: ANoB5pnjvgJdIu/GoJbEbX7U5PEefgmnQFn+YvemTFEZziNZMdo6sKXa
	Ggm++3/TTVlK8tkF6BcrqksSEA==
X-Google-Smtp-Source: AA0mqf7QJTLywMsCpgFR6ZeVou2SUOdfrPz1kG7D1TrjyGpt7BFevwAuCn07tzwIwC9Je7BQmCk6CQ==
X-Received: by 2002:a63:164f:0:b0:477:f9fa:2a1e with SMTP id 15-20020a63164f000000b00477f9fa2a1emr45821014pgw.87.1670388517153;
        Tue, 06 Dec 2022 20:48:37 -0800 (PST)
Date: Wed, 7 Dec 2022 10:18:34 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>, Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>, xen-devel@lists.xen.org,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH V6 3/3] docs: Add documentation for generic virtio devices
Message-ID: <20221207044834.ouqdev3z3ro2mh64@vireshk-i7>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <24a0278313ea9a9e6c093880dead835184025734.1667906228.git.viresh.kumar@linaro.org>
 <4fbe5c89-4468-9ad4-e391-2f51ceaa5b67@gmail.com>
 <20221205091118.lttaot42hcidb7gj@vireshk-i7>
 <71a281c6-78df-a107-15e6-a06cd93413a6@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <71a281c6-78df-a107-15e6-a06cd93413a6@gmail.com>

On 06-12-22, 17:53, Oleksandr Tyshchenko wrote:
> On 05.12.22 11:11, Viresh Kumar wrote:
> > Maybe we can add these fields and a config param, once someone wants
> > to reuse this stuff for QEMU ?
> 
> 
> I don't know what to suggest here, sorry.
> 
> On the one hand, it is an extra work for you trying to add functionality you
> don't need at the moment. On the other hand if we add "backendtype" config
> param right now with default to STANDALONE it might simplify work for
> someone who ends up adding other type (in particular, the QEMU). Let's see
> what the maintainers will say.

The extra work is minimal and that isn't something that worries me.
What worries me, based on past experience, is adding code that _may_
be required in future, and is never used eventually. And for that I
always vouch for not adding something unless we are sure we need it
and there is some code which makes use of that configuration right
away.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 05:11:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 05:11:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455765.713381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2mi7-0005Y8-LB; Wed, 07 Dec 2022 05:11:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455765.713381; Wed, 07 Dec 2022 05:11:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2mi7-0005Y1-HA; Wed, 07 Dec 2022 05:11:11 +0000
Received: by outflank-mailman (input) for mailman id 455765;
 Wed, 07 Dec 2022 02:09:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Sspr=4F=zlw.email=sisyphean@srs-se1.protection.inumbo.net>)
 id 1p2jsY-0002zO-0K
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 02:09:46 +0000
Received: from mail.zlw.email (unknown [112.49.95.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30dd74a5-75d4-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 03:09:41 +0100 (CET)
Received: from localhost (unknown [127.0.0.1])
 by mail.zlw.email (Postfix) with ESMTP id 272E314D334
 for <xen-devel@lists.xenproject.org>; Wed,  7 Dec 2022 02:04:26 +0000 (UTC)
Received: from mail.zlw.email ([127.0.0.1])
 by localhost (mail.zlw.email [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id vIm5IYE4yEUS for <xen-devel@lists.xenproject.org>;
 Wed,  7 Dec 2022 10:04:23 +0800 (CST)
Received: from [192.168.66.233] (OpenWrt.lan [192.168.66.1])
 by mail.zlw.email (Postfix) with ESMTPSA id 5549214D324
 for <xen-devel@lists.xenproject.org>; Wed,  7 Dec 2022 10:04:23 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30dd74a5-75d4-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zlw.email; h=
	content-transfer-encoding:content-type:content-type:subject
	:subject:from:from:to:content-language:user-agent:mime-version
	:date:date:message-id; s=dkim; t=1670378663; x=1672970664; bh=pP
	E4vNWbukArjwuN3BDMvZv0YIse63lD0PSReJ6VxuI=; b=EU08Pw2D8HHzwvK5Ji
	00DXJ8r1JY1XqShmubRI6ajmNHSHUBr2AQKtPNeyePYMUNqENS3GN7UWLEXUBwQP
	iioppLLD1pMGB66MHbovgSwP8lsoPHebYxKQE2MXOsTRv/xztnddDlLjfjNnatIo
	ZG5bczZaKARy5b9LiLlpf3ndw=
X-Virus-Scanned: amavisd-new at zlw.email
Message-ID: <e1e0e347-6530-7b68-92f7-ef52defa55ac@zlw.email>
Date: Wed, 7 Dec 2022 10:04:26 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Content-Language: en-US
To: xen-devel@lists.xenproject.org
From: sisyphean <sisyphean@zlw.email>
Subject: [BUG]SMMU-V3 queue need no-cache memory
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

     I try to run XEN on my ARM board(Sorry, for some commercial 
reasons, I can't tell you
     on which platform I run XEN)  and enable SMMU-V3, but all cmds in 
cmdq failed when XEN started.

     After using the debugger to track debugging, the reason for this 
problem is that
     the queue in the smmu-v3 driver is not no-cache, so after the 
function arm_smmu_cmdq_build_cmd
     is executed, the cmd is still in cache.Therefore, the SMMU-V3 
hardware cannot obtain the correct cmd
     from the memory for execution.

     The temporary solution I use is to execute function clean_dcache 
every time cmd is copied to cmdq
     in function queue_write. But it is obvious that this will seriously 
affect the efficiency.
     I have not found the method of malloc no-cache memory in XEN. Is 
this method not implemented?

     The XEN version I am running is RELEASE-4.16.2.

     English is not my native language; please excuse typing errors.

Cheers,

-- 
Sisyphean



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 05:21:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 05:21:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455815.713391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2mrq-0007ce-HA; Wed, 07 Dec 2022 05:21:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455815.713391; Wed, 07 Dec 2022 05:21:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2mrq-0007cX-ER; Wed, 07 Dec 2022 05:21:14 +0000
Received: by outflank-mailman (input) for mailman id 455815;
 Wed, 07 Dec 2022 05:21:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2mro-0007cR-Ee
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 05:21:12 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20600.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f393fa3e-75ee-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 06:21:10 +0100 (CET)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by DM4PR12MB6038.namprd12.prod.outlook.com (2603:10b6:8:ab::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 05:21:03 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb%5]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 05:21:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f393fa3e-75ee-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LvOVchZ/k9oKpzB/SMGo3pjsQovbPCKr3Hk10g8WRGa6rNoywZHvYXW2F4LFdzh3UGrBRD4W4Xlsbd9AGUjvyl3kFdWkw5HEBd77Y3RvAbCSG9p2DJhtTO0+OZaX2Ow59sXpqoDELDCdnOHwBeXRg7yy6mhFyNDkpckTkyPMv5FWT3WHVmYltQAAbh5Ucttg8t4UorBcF1eEIZnLzHlX3XPwu7VmPFV3HOkQ0nTRzI43HYv2jlzVC8+A7dADufQYtm+6YaIv4s3xA+eUoPknhxow5D0UzoPOHg2hSEBWEgQBdbnVeHfAgiKLDBf++iV2GeaNvdPvcTtNeel1cflHtw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rryMa14I1C131iXC0ZAtvzKPFOl6B0v4Uugv0BHQAKo=;
 b=hsiWTo1CCQhPDlzf+kglHwuy5ZB/4nKMGbSt8a9eSpI6zf5xNjY9oaJRjmKiBev7PUychnf1tR97zeEviK6Pofx2mvvW7/w3iZ9jR/ks9kcCeGk4SXLpF/JOsBAAt9U0L5veZ7+mDO4XK4AoGpOcYTNTYncgR9LWVWrEgV8rGMtALkTHQoKYTbmJBDzdr+zYkdK3wWA4O1DhON6ZBAh75Nuo3Bp6SQmefr3PhHUXC+9LB3nsau7+WLp82Ou52p/z5Rdae9bPSlCEF5eRh9Toh595akmGiF5XkSLS3eTEwVkVfAlTiZaevrPPhCokU/YpV19MK5LJKatYO6cLtYhXVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rryMa14I1C131iXC0ZAtvzKPFOl6B0v4Uugv0BHQAKo=;
 b=EwHJHW9Pn+Ugxc1LU7ExgtDtH4HFC8rQqQ+QFATlbDTxKzbbyLyc/39BSix9MUMp/tqi2LJpzspICAxEZxyBRo3t32L9y9GiZMVA1/SdTfTEjPADyBjr85GGeL/nlKl8V+clvj6q2qSoJiKr4+SNVo0KA9HzCsybg/HcPgnR5X0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <3827140c-2d50-053b-afde-62db34c8c76d@amd.com>
Date: Tue, 6 Dec 2022 21:21:00 -0800
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN][RFC PATCH v3 09/14] xen/iommu: Introduce
 iommu_remove_dt_device()
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>,
 Vikram Garhwal <fnu.vikram@xilinx.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 "sstabellini@kernel.org" <sstabellini@kernel.org>,
 "julien@xen.org" <julien@xen.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 "volodymyr_babchuk@epam.com" <volodymyr_babchuk@epam.com>,
 Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>
References: <20220308194704.14061-1-fnu.vikram@xilinx.com>
 <20220308194704.14061-10-fnu.vikram@xilinx.com>
 <996B7C26-0D15-40FC-BE58-84B4A1F51A62@arm.com>
From: Vikram Garhwal <vikram.garhwal@amd.com>
In-Reply-To: <996B7C26-0D15-40FC-BE58-84B4A1F51A62@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: SJ0PR03CA0004.namprd03.prod.outlook.com
 (2603:10b6:a03:33a::9) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|DM4PR12MB6038:EE_
X-MS-Office365-Filtering-Correlation-Id: 221b8bb2-0f1c-4429-045c-08dad812d569
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XHCXzmULG2Wbiq8IPNA2JW+MIROGGfm4y8g/ca/9Py0aIsY0oZRJVE0TAdXoTgAFBJMHd7OWz3pc5kUFc6tImwO9Qv5u9avVGeV3khS39BbmSl29Cnl4TuijXFeoUZjxXxZj7AGBVnK65faKn1qn6EgQicJIRRRUxbXhy67mLPkh1dGihPkB71D48HIde4uDppRQ21K8MFXXYeEnvM49YFz6QehIQZrtSEv3HkBZOSMcLRx759OJpsvLgpDbbuGi4yWMQvfbR8o6wYzw+mMyzk5AIEeIqmAbryOA6eRruppI+ddESFGR9kxa3LCg55hfd+3g0SPSdmi+v4410gb0xlsNe297jaAL9wgxztZraKZ0Labu/wO8v3JK9Ys63L3zBX0FjRU1Km+21c/WW7nJYnd61ZM0J/8vaqQLC+iGkuMFFDiHeBgwrhAVgsPQW/YUbqcMPMcIe2rqk6jO7IjkEa3ewdabUa/kjQBC81JO8V3xTkNOKsPp+tpqlEYCYFD63WEqmq8w2pwFPjN/folLPmPQ+MG/kKmc1dOLGPilh0oTROdnxek1qr8cMxcZYR9iSmyUbXxf+R7spX4VciDeD04K04BlXZQXMrl7k+FlPfwxrXHnt0rJi+NLPnvZwNmCtPbfv36noceChE0I2e0/QOd1bCcmhWljMQZ4wcN/N3HhdVidvhPyLnRLdQCspnN9f3tKi8Lh67Vkm2kaZgbNfs4MyTiNXOyBGmFAZqcTqHg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(396003)(136003)(39860400002)(366004)(451199015)(2906002)(83380400001)(31686004)(36756003)(66946007)(41300700001)(186003)(86362001)(31696002)(66556008)(38100700002)(26005)(6512007)(110136005)(4326008)(8936002)(4744005)(2616005)(66476007)(44832011)(8676002)(54906003)(316002)(478600001)(53546011)(6486002)(6506007)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?anVzNHEvLzRTZjErU3doOTdRNnhqQkc2dEllN2VJSXFFR3dHdEM3RzlBaWpH?=
 =?utf-8?B?dDgwQXRHS29UZFMxaWNKTW5RNVAvOGFHd1hRNTMraHJNK0p3UzNCZGRoMUdq?=
 =?utf-8?B?Y3lkcUZtQTNXQXlRQ0djNzlJTzNjUm5DODg1dGx5S1pnRkJvZzVYRmJkaFJN?=
 =?utf-8?B?RDBsOTFzdjVKLzlYL0ZkU3RSS3JlaVZoc3lQS1hIS2ZKQVVOcVJKdjlCd1Jo?=
 =?utf-8?B?c1BRYkwremJrbTFRNk5RNFYxZW5WajJLYUxyVEdTYXJYM05QTHlxaURlQlll?=
 =?utf-8?B?N1VSZWo3NnltV1hYeGZIK3JCM1N6ayt5dmxBMTVVczJ6S2dtWVFndGxGcy80?=
 =?utf-8?B?QUJSOFVWQjNWRUVqY0orUCt1SFZIbE8zRVNTcGlpQVZQWk1hOGk4VGFXdCtL?=
 =?utf-8?B?dGRmYUNzUFJGbi9zeUFVd1lwRzdQaHFsYWpocWJWSEgxc2tkV0h6Nk1ocjVn?=
 =?utf-8?B?N3hlZmFWT2EzY2Q0OFpYK01RbmJ6N0xrYU1EWmo5NXhsYm01OTdJUUFnRnBy?=
 =?utf-8?B?OEpQaVAzaTQrQ3cydFJMT1Y5dkl1WlJvZzJIajY4RHJPcXZTUy84WGliWXRP?=
 =?utf-8?B?ZkdhRHVubWE5dmJyZ0daS0U4RnRDbUFjQmtXWHkycnBZdzBOeFNKS1NreU5h?=
 =?utf-8?B?cDFIOVUvbi9hMUJGRVNpdXZZMExrKzhEd3VJWEphcDh5M3JZYU1iMHNWUGU3?=
 =?utf-8?B?UmQySFpaTXlFNDhyM25hbFl3N04wS2tZMVR0dFZWRlRybW5YRnNRUmprK2J0?=
 =?utf-8?B?ZTJJbE95akFxN3FOVGdJWks5MVRZK0o2ZnhpcFduOE5JOUJBb2k3Vi9ET0o4?=
 =?utf-8?B?YUQvTkdYL3lsZkdwWGsvVnNxY1pNb0pWZzBNOFdBYmFuQ0NvVElCSE1ieHFV?=
 =?utf-8?B?VklBdzVscjdoZXJVTUJvWDNQeTEyaFkxaFFDazJ2bGdKM2U2STdtOWp0VFMr?=
 =?utf-8?B?OUVTUDFiMXJ0VDErQjk4dGRVREtUenV2MytlNmd0ZnJYQ1F1VEl0TWF2OWdD?=
 =?utf-8?B?bmN4ZlF4bTRwSGJYZ2pTVzB2eWdiL200TWdEdDhHSEZFZGl0VENuQmhOdElY?=
 =?utf-8?B?Q0svRmQzUU1hbG9mTEswYjJZVzBqM3VyMmpqT2pENHluaDJ6WXFuSWVsRkM2?=
 =?utf-8?B?eTNqK2JyZUNtdHZ1UHF4blFLdzhzMXJKcGtVN0hsVmora25LOVBKbXZqcTFM?=
 =?utf-8?B?MHFiYkhocll5NTUxMGpsSzhRSTNmaTJYTXFjY284eTF2SFN6R2dYWm1iVXJh?=
 =?utf-8?B?R1RzLzNwVktsQkxHdU15bHpid1dkTkVvckxjMXdmWlBEZWlNZ3o0bVdpMnZQ?=
 =?utf-8?B?Y09wN1B6Q1BZNThUdjBVQ2toaFZpRDZpM09zYklGZHRjTEJCb3c1SmhNblBW?=
 =?utf-8?B?RUU0T3NmNVhDTXVHWmJHSDRNY2pnT2lQRnRVSTN1d2lXR2xWYlpnUTU2MTNp?=
 =?utf-8?B?ZFhrcEVsQTdDMVh1dXFwcFhJWnY3eU8wTk5IVGJqdnJKQi95elMxN3hTazdR?=
 =?utf-8?B?RXF2ZHhhODVJajFFWmVPWWNxRGJVTWRSVWx0cUZMRHYrc2NybGdHR0VCeTBX?=
 =?utf-8?B?ejFjcGNOVjhNK2dKUkt3enlxWmx3bURHZDBLTWdzc2FOTlFZb0E0K3dFc2NQ?=
 =?utf-8?B?dHZDaHg5aHRrdmNYSStiR2V6bVpWUnRzMlZJN3Y4WGpucnkvUXF6UFN4OXky?=
 =?utf-8?B?YnVIR3JjNTdMcVc0QlA5eXJvNjM2SkFwQ1lzTHRDZkxKV2hFaDRZQVhlNzlS?=
 =?utf-8?B?bHduVytnN216UkdidUVEQlJiNGtJTHkyOXVhL25KVERVU05qeUdGZlE3c2Jh?=
 =?utf-8?B?ZnpQZ2tWdTNzNTljODhpU29XeitHcnBKTHZDTjNndGlmajhvQXNUNTUzaDE1?=
 =?utf-8?B?UHdNbm05OHczKzdLRytPWXNqVUJIaXV6a1N0TEZDZE5lbjc3MGJxKzZ1L3pr?=
 =?utf-8?B?K3hTU3lodThGdHhKR1V4OGEySXY4L2x2NWhzOWo0ejRacWx2ZEROUXFMUFM1?=
 =?utf-8?B?UlNYRWdrRFJrYmlveGFSdmh1YkZ4a1VHbXlneGtnMW1zNDBlOU5sMExGL1Yv?=
 =?utf-8?B?QnV0WTN2T0hkZFpKQzl3WWFpNytXUVdjeU5YUnFIOUwreTJBQ1o1cmgxSEpo?=
 =?utf-8?Q?VMCSAZQ1/WsLrTVhguzIqJazA?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 221b8bb2-0f1c-4429-045c-08dad812d569
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 05:21:02.9192
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QzUU6wt4Q6/huCee6cZVdwlUupgizMXijMIZSPzHHutnofOs3Ab2Sp/UrCCgPOlf4y7hT1Ojk4VwlY26732Ckw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6038

Hi Luca,

On 3/14/22 10:50 AM, Luca Fancellu wrote:
>> +int iommu_remove_dt_device(struct dt_device_node *np)
>> +{
>> +    const struct iommu_ops *ops = iommu_get_ops();
>> +    struct device *dev = dt_to_dev(np);
>> +    int rc;
>> +
>> +    if ( !ops )
>> +        return -EOPNOTSUPP;
> Here we have that the counterpart iommu_add_dt_device returns EINVAL here and...
> I add EINVAL here in v1 but Julien suggested to change it ot EOPNOTSUPP.
>> +
>> +    spin_lock(&dtdevs_lock);
>> +
>> +    if ( iommu_dt_device_is_assigned_lock(np) ) {
>> +        rc = -EBUSY;
>> +        goto fail;
>> +    }
>> +
>> +    /*
>> +     * The driver which supports generic IOMMU DT bindings must have
>> +     * these callback implemented.
>> +     */
>> +    if ( !ops->remove_device ) {
>> +        rc = -EOPNOTSUPP;
> … here (for !ops->add_device), so I’m wondering if there is a mistake.
>
>> +        goto fail;
>> +    }
>> +


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:16:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:16:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455823.713403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nin-0006e9-GK; Wed, 07 Dec 2022 06:15:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455823.713403; Wed, 07 Dec 2022 06:15:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nin-0006e2-CY; Wed, 07 Dec 2022 06:15:57 +0000
Received: by outflank-mailman (input) for mailman id 455823;
 Wed, 07 Dec 2022 06:15:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2nim-0006dw-Ig
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:15:56 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99fad750-75f6-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 07:15:54 +0100 (CET)
Received: from BN9PR03CA0171.namprd03.prod.outlook.com (2603:10b6:408:f4::26)
 by SA1PR12MB7295.namprd12.prod.outlook.com (2603:10b6:806:2b6::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:15:50 +0000
Received: from BN8NAM11FT053.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:f4:cafe::69) by BN9PR03CA0171.outlook.office365.com
 (2603:10b6:408:f4::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:15:49 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT053.mail.protection.outlook.com (10.13.177.209) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.15 via Frontend Transport; Wed, 7 Dec 2022 06:15:49 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:15:49 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:15:48 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99fad750-75f6-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FWTrLGzyqe7tLU26crQmCWs7WOwvCrlzHhz8oAdtfMCnt0//ZsPBaUlZouW+FkkHJrRTgn+GpC2/vcD+2GbtyhvdhyE6+b/6nkO107mAH+dG9LRcbqzA0dLdEcuvGaIPnEpVuUb7MErIXIcgVtLWq2UL9ZYU9/e6kXRgCQJ6mMfTf/DaFyRKWQlJTH6B52j5Gf6I9xRjhpJOYgUDNBveSZ1X0V1LnGVkwu6opY57F2g12m3gHfkXHAt0/0bi64JtRYirxR1/1aQkcFI/tTyoxqwLgKzt/r4lXjEfgc8V7kKjdAJ/mMoONYM2wjdAilIUiknhOogXKEg4XHpvTC3kQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xLfenOq4zf3HWvCp9YLWQ6ypMmC4nPEz7OkOviRTSnM=;
 b=mkEx0vJVs1REjxkistvPHbXyJvcYkR1VZCWnsWP8a/l1O9f8D/f2hoveGfRW4Uqgq69WGtpd2fYB9JD2brcarVDq7WeBoYCLfiIR1Dev92E/PdrvrlkUjiT5x1SOgJqwk61PKtQsxklOGavOno9BhI+slp8CzywGhoYaeQR+A3mQhnk4kErFxUuKY/+zBKgOaaVTff+2wFy2Zl9CPD8K+BwIu7Tzaqhabpspqoa4IDLtSJIePMHX9zRAgplE2aiQjFt9AYhidkq/REC49uHpF9/MXiSEagI33gGIqFO0y+jMJS6HKr2gII1pgl3DOvO8HO355NabCkgXLPPVAVzZLg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xLfenOq4zf3HWvCp9YLWQ6ypMmC4nPEz7OkOviRTSnM=;
 b=z97hIy9jHakU+4vw/aXb8qAaMfqkGEwNUtwf/aclRWVyJeFpFyH1j5kZGwrB4EbIt25wKUuq8+fZXbCTzTG+Sq3UsPzAJ7monmUszdu9siY8GSNeWTXww0tfmtdCS2C+7/8BtxluolqxZEGQVmhCWp3ScTWKh0ZSkQWnPxQL6/Y=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>
Subject: [XEN][RFC PATCH v4 00/16] dynamic node programming using overlay dtbo
Date: Tue, 6 Dec 2022 22:15:21 -0800
Message-ID: <20221207061537.7266-1-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT053:EE_|SA1PR12MB7295:EE_
X-MS-Office365-Filtering-Correlation-Id: e247bc39-5d98-4368-55a3-08dad81a7c7c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ADM7piHr1D8EHshvPRw5mSs72r36G8CgjH6VrizdsgQL8uzz+A1TE1hOwxPti0i6qg6MD4FxCLF0Ha0VSCH+xycfFeIaQIHUozQ580+NEJqPOm+bY75sFJCAXaJiq1zajeM2z8+wCq2bIqwHjQMfVk2gl5UEqmk3PN4xt3oasS0rcoLFsYFaE9Bu8OLsHKsXFWTf5r/IN5znMRoGxoM4xYtfxJjGRm0ryKCTpTQ8z3mfg3Y3HM9Ir5GUrraZbeyfHfSy6Sb7p4lS0CXz7GV/9IFeFcLtYVKXjXINSpyeZFUXSN94mL9IJd+AzUSTgO9DMjbfdjrq6gWETACjbk3V009lunTmS5UuZjViX+8aFTOky0Gtao2nM3ZSIHeHhF7wAsvLyhPPdSvgal43btUgVz36sy7C7r8R+SdTaA9yMvoj8rAFKsISBizpOHWRYu1MyxjvOl7n2c0Gp5MqPJoi6YBHtVr3c8JwQkHaAxwAF1CfTvXoIUd/UV73ryA3+C2ihe2nCJEH149RZsjVzPr3aDcp/YyXvNXRwHH+pWvwasgqXcUcyzWzTVCzkixMHUhEy6iunKPPRRT2HVzJ76VTZxvuYgasQ4poGi+FAomhSPkyl909WeVX5b09oGTsv2PcZlfc2UW87Vo1wTjIWcQugIL+ICuvyFCDYv9hObRsG+pNhGp/bWFCmwO2e9Ge7Z2Rhz/hiHv51O6TshHHwKIi90kvvvzjNX9aLPYaQHf0KJiEnk7f9rEWe/elIe0Pm45PEOt5N+o19KhT2Enmz4ItP78WBKLHlOH/6eaa069lGeQ=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(376002)(346002)(136003)(39860400002)(451199015)(36840700001)(40470700004)(46966006)(36860700001)(83380400001)(356005)(81166007)(82740400003)(86362001)(44832011)(2906002)(8936002)(5660300002)(4326008)(40460700003)(41300700001)(82310400005)(8676002)(40480700001)(6666004)(26005)(336012)(186003)(47076005)(426003)(1076003)(2616005)(316002)(70586007)(6916009)(54906003)(70206006)(478600001)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:15:49.5150
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e247bc39-5d98-4368-55a3-08dad81a7c7c
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT053.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7295

Hi,
This RFC patch series is for introducing dynamic programming i.e. add/remove the
devices during run time. Using "xl dt_overlay" a device can be added/removed
with dtbo.

For adding a node using dynamic programming:
    1. flatten device tree overlay node will be added to a fdt
    2. Updated fdt will be unflattened to a new dt_host_new
    3. Extract the newly added node information from dt_host_new
    4. Add the added node under correct parent in original dt_host.
    3. Map/Permit interrupt and iomem region as required.

For removing a node:
    1. Find the node with given path.
    2. Check if the node is used by any of domus. Removes the node only when
        it's not used by any domain.
    3. Removes IRQ permissions and MMIO access.
    5. Find the node in dt_host and delete the device node entry from dt_host.
    6. Free the overlay_tracker entry which means free dt_host_new also(created
in adding node step).

Change Log:
 v3 -> v4:
    Add support for adding node's children.
    Add rwlock to dt_host functions.
    Corrected fdt size issue when applying overlay into it.
    Add memory allocation fail handling for unflatten_device_tree().
    Changed xl overlay to xl dt_overlay.
    Correct commit messages.
    Addressed code issue from v3 review.

 v2 -> v3:
    Moved overlay functionalities to dt_overlay.c file.
    Renamed XEN_SYSCTL_overlay to XEN_SYSCTL_dt_overlay.
    Add dt_* prefix to overlay_add/remove_nodes.
    Added dtdevs_lock to protect iommu_add_dt_device().
    For iommu, moved spin_lock to caller.
    Address code issue from v2 review.

 v1 -> v2:
    Add support for multiple node addition/removal using dtbo.
    Replaced fpga-add and fpga-remove with one hypercall overlay_op.
    Moved common domain_build.c function to device.c
    Add OVERLAY_DTB configuration.
    Renamed overlay_get_target() to fdt_overlay_get_target().
    Split remove_device patch into two patches.
    Moved overlay_add/remove code to sysctl and changed it from domctl to sysctl.
    Added all overlay code under CONFIG_OVERLAY_DTB
    Renamed all tool domains fpga function to overlay
    Addressed code issues from v1 review.

Regards,
Vikram

Vikram Garhwal (16):
  xen/arm/device: Remove __init from function type
  xen/arm: Add CONFIG_OVERLAY_DTB
  libfdt: Keep fdt functions after init for CONFIG_OVERLAY_DTB.
  libfdt: overlay: change overlay_get_target()
  xen/device-tree: Add _dt_find_node_by_path() to find nodes in device
    tree
  xen/smmu: Add remove_device callback for smmu_iommu ops
  xen/iommu: Move spin_lock from iommu_dt_device_is_assigned to caller
  xen/iommu: protect iommu_add_dt_device() with dtdevs_lock
  xen/iommu: Introduce iommu_remove_dt_device()
  asm/smp.h: move cpu related function to asm/cpu.h
  common/device_tree: Add rwlock for dt_host
  xen/arm: Implement device tree node removal functionalities
  xen/arm: Implement device tree node addition functionalities
  tools/libs/ctrl: Implement new xc interfaces for dt overlay
  tools/libs/light: Implement new libxl functions for device tree
    overlay ops
  tools/xl: Add new xl command overlay for device tree overlay support

 tools/include/libxl.h                 |   8 +
 tools/include/xenctrl.h               |   3 +
 tools/libs/ctrl/Makefile.common       |   1 +
 tools/libs/ctrl/xc_dt_overlay.c       |  51 ++
 tools/libs/light/Makefile             |   3 +
 tools/libs/light/libxl_dt_overlay.c   |  72 +++
 tools/xl/xl.h                         |   1 +
 tools/xl/xl_cmdtable.c                |   6 +
 tools/xl/xl_vmcontrol.c               |  48 ++
 xen/arch/arm/Kconfig                  |   5 +
 xen/arch/arm/device.c                 | 145 +++++
 xen/arch/arm/domain_build.c           | 142 -----
 xen/arch/arm/efi/efi-boot.h           |   1 +
 xen/arch/arm/include/asm/cpu.h        |  35 +
 xen/arch/arm/include/asm/domain.h     |   1 +
 xen/arch/arm/include/asm/psci.h       |   1 +
 xen/arch/arm/include/asm/setup.h      |   3 +
 xen/arch/arm/include/asm/smp.h        |  24 -
 xen/common/Makefile                   |   1 +
 xen/common/device_tree.c              |  59 +-
 xen/common/dt_overlay.c               | 876 ++++++++++++++++++++++++++
 xen/common/libfdt/Makefile            |   4 +
 xen/common/libfdt/fdt_overlay.c       |  29 +-
 xen/common/libfdt/version.lds         |   1 +
 xen/common/sysctl.c                   |   5 +
 xen/drivers/passthrough/arm/smmu.c    |  56 ++
 xen/drivers/passthrough/device_tree.c |  70 +-
 xen/include/public/sysctl.h           |  19 +
 xen/include/xen/cpu.h                 |   4 +
 xen/include/xen/device_tree.h         |  27 +-
 xen/include/xen/dt_overlay.h          |  55 ++
 xen/include/xen/iommu.h               |   2 +
 xen/include/xen/libfdt/libfdt.h       |  18 +
 xen/include/xen/softirq.h             |   4 +
 34 files changed, 1573 insertions(+), 207 deletions(-)
 create mode 100644 tools/libs/ctrl/xc_dt_overlay.c
 create mode 100644 tools/libs/light/libxl_dt_overlay.c
 create mode 100644 xen/arch/arm/include/asm/cpu.h
 create mode 100644 xen/common/dt_overlay.c
 create mode 100644 xen/include/xen/dt_overlay.h

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:16:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:16:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455824.713414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2niy-0006vt-RS; Wed, 07 Dec 2022 06:16:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455824.713414; Wed, 07 Dec 2022 06:16:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2niy-0006vm-Oa; Wed, 07 Dec 2022 06:16:08 +0000
Received: by outflank-mailman (input) for mailman id 455824;
 Wed, 07 Dec 2022 06:16:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2nix-0006dw-EH
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:16:07 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a127ef5c-75f6-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 07:16:05 +0100 (CET)
Received: from DM6PR07CA0130.namprd07.prod.outlook.com (2603:10b6:5:330::22)
 by DM6PR12MB4960.namprd12.prod.outlook.com (2603:10b6:5:1bc::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:16:01 +0000
Received: from DS1PEPF0000E652.namprd02.prod.outlook.com
 (2603:10b6:5:330:cafe::8) by DM6PR07CA0130.outlook.office365.com
 (2603:10b6:5:330::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:16:01 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000E652.mail.protection.outlook.com (10.167.18.8) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Wed, 7 Dec 2022 06:16:00 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:15:58 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 22:15:57 -0800
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:15:57 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a127ef5c-75f6-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DYiug1ac1Tf1VuR2CXydiKM2Gk6ZFwmItFObYldMFHZdIfy/X/jfv3+SULDL8jSOkDXDnZ3U8Lnajz7KDD1hlbr+DG4sEjMUhE8/1hoBLZ30ZlvavyFDI4BDx9dZUCfuM9KoWQ7BxiWUsNVyDSipQmwGP0wuBUvyLYdU5SosMgqgTk2BztDy5nW72/KSef3l0Tj7lVLW5NzktGD3+WYl+yd3aEd1UzbC0UCAobEbEZ/2CQaSjHELD8tn5rZFz4WEqHr4O9RDY0GTA3nm75VHoB+NdOovPheNDafwj+5x5kDn4EkvRt+03052SR48WNTkvXU/1M/e9fkBJwRem+9elg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DS/nF2bIfjgp31HI6UzUoMJVBvMsV8pu8GheBmaD6q4=;
 b=js01XpdZqv0bKHrDrgV7ZmbNTcq15BmxJtiAGII4XkzjTs1tEGziLgM0cfPm+fcRp9S69AE8lPtpo4RVkqf9nnIrghFsn2TGOIXb3QawbhIHF4QfkGCQ8jZkxVS23BlCa4L1Wm/WiliS2l5lbSDdQ3pj0lIdgo+xaP34WGgAebjoab8onwM1+WVFLN8VtWKO3DHXm2ZY2ngDy0LhPOALS486nuwuMZpSC7yZjs1ZJ47fTy1TarJXy1tbXc+fhTSV4nDs7LK28ZtVSGPXna3SPYy22Nnfe6TWYbJfiAfy1FOT9I3T6uQ7B+pne6if/bg8lZYE3TwM0DnGu9jL14ApjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DS/nF2bIfjgp31HI6UzUoMJVBvMsV8pu8GheBmaD6q4=;
 b=WFlRl/7QwMrvV/rE3S7uJTjoqGUj/6QbOs1AudiAzHncPihGizaLhk/6vxOyG/UEMsQss6sKx1EDjNq4alPUXjwdIrAtXhjlWggUrqJJKY8nR+XtFJ8muTVFQPg7YVp3kBY9riME/L5mkJJsEwKSoymZ3PQ9YlHbyRX/gfkz/ZU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: [XEN][RFC PATCH v4 01/16] xen/arm/device: Remove __init from function type
Date: Tue, 6 Dec 2022 22:15:22 -0800
Message-ID: <20221207061537.7266-2-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061537.7266-1-vikram.garhwal@amd.com>
References: <20221207061537.7266-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E652:EE_|DM6PR12MB4960:EE_
X-MS-Office365-Filtering-Correlation-Id: 7884a8d5-e52b-445f-f0ec-08dad81a8317
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1iq7w3dl102B2XC1NS3jM5BQ9l6xtCEq/8YSqexstkAmySsAUsSQ8UHUmsc+rqUA2Hyiu9JS2GItmuoN3INeACCT21Fj0wNuGjE0KYAGeheJOzeUMGaQ30NjfvWcQuejjKXN76p2/iMwzYay7B5+fmS5JhEOXYRE+8u3s3MOt99xZE1YiYr1f8RG/cWTUQbwdg3VyBxu5GacqiwIa4hBROCjdY/vivy/pdikOWKsuISi2+/WpvwMlfZSaAdv6e9TZsXW3/7QB24oCZIxgIDG+eg14j1OW359W+Spn6NelM8bQJdc0TW2cdix9MpOGbIguVuiF/vrBQnRHGfkMDhPtExKsUZLOawkrugyDE4EDYKqBa90PuPxZm9NzqMbDLPLij+2wumaI50LuCbm4egoE1Qd19MHVM7Zp/uGQgvZoWLsKdu13K0pfHyihrv3FVNH6GLxmHEfiPp348YXbbq4KgsfPVYY3/HVL03kBqO/ilsVIUbYC1j6Gp4jQBizuO9qQMgvIY7gvk64MtMcT9gDiKGNCejkQGKJg235fPt9j28LoQIKOUeOXMv6ZiJRCHHFKVsd79GO9XciFmlxCIgGMCnl+2lmnIfgyR+XwXKAqcZ4Wp9+q0rMYOVqbOHLIbObXFBJO7t46/3nFwFUmeAkfL1LxEuYS2R0QZ8I1bsexwbgp/QS0i3WZbWfxzBkqWRYm51K4OgEGUKqlShqQJlHQtNGK3h6hc0OC2u1DQ9ZAWI=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(136003)(376002)(346002)(451199015)(46966006)(36840700001)(40470700004)(30864003)(2906002)(44832011)(41300700001)(82740400003)(478600001)(81166007)(40460700003)(356005)(82310400005)(4326008)(8676002)(86362001)(40480700001)(8936002)(5660300002)(47076005)(70206006)(36756003)(70586007)(426003)(54906003)(26005)(186003)(1076003)(336012)(2616005)(6916009)(6666004)(83380400001)(316002)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:16:00.5542
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7884a8d5-e52b-445f-f0ec-08dad81a8317
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E652.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4960

Change function type of following function to access during runtime:
    1. map_irq_to_domain()
    2. handle_device_interrupt()
    3. map_range_to_domain()
    4. unflatten_dt_node()
    5. unflatten_device_tree()

Move map_irq_to_domain(), handle_device_interrupt() and map_range_to_domain() to
device.c.

unflatten_device_tree(): Add handling of memory allocation failure.

These changes are done to support the dynamic programming of a nodes where an
overlay node will be added to fdt and unflattened node will be added to dt_host.
Furthermore, IRQ and mmio mapping will be done for the added node.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 xen/arch/arm/device.c            | 145 +++++++++++++++++++++++++++++++
 xen/arch/arm/domain_build.c      | 142 ------------------------------
 xen/arch/arm/include/asm/setup.h |   3 +
 xen/common/device_tree.c         |  27 +++---
 xen/include/xen/device_tree.h    |   5 ++
 5 files changed, 170 insertions(+), 152 deletions(-)

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 70cd6c1a19..d299c04e62 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -21,6 +21,9 @@
 #include <xen/errno.h>
 #include <xen/init.h>
 #include <xen/lib.h>
+#include <xen/iocap.h>
+#include <asm/domain_build.h>
+#include <asm/setup.h>
 
 extern const struct device_desc _sdevice[], _edevice[];
 extern const struct acpi_device_desc _asdevice[], _aedevice[];
@@ -84,6 +87,148 @@ enum device_class device_get_class(const struct dt_device_node *dev)
     return DEVICE_UNKNOWN;
 }
 
+int map_irq_to_domain(struct domain *d, unsigned int irq,
+                      bool need_mapping, const char *devname)
+{
+    int res;
+
+    res = irq_permit_access(d, irq);
+    if ( res )
+    {
+        printk(XENLOG_ERR "Unable to permit to dom%u access to IRQ %u\n",
+               d->domain_id, irq);
+        return res;
+    }
+
+    if ( need_mapping )
+    {
+        /*
+         * Checking the return of vgic_reserve_virq is not
+         * necessary. It should not fail except when we try to map
+         * the IRQ twice. This can legitimately happen if the IRQ is shared
+         */
+        vgic_reserve_virq(d, irq);
+
+        res = route_irq_to_guest(d, irq, irq, devname);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to map IRQ%"PRId32" to dom%d\n",
+                   irq, d->domain_id);
+            return res;
+        }
+    }
+
+    dt_dprintk("  - IRQ: %u\n", irq);
+    return 0;
+}
+
+int map_range_to_domain(const struct dt_device_node *dev,
+                        u64 addr, u64 len, void *data)
+{
+    struct map_range_data *mr_data = data;
+    struct domain *d = mr_data->d;
+    int res;
+
+    /*
+     * reserved-memory regions are RAM carved out for a special purpose.
+     * They are not MMIO and therefore a domain should not be able to
+     * manage them via the IOMEM interface.
+     */
+    if ( strncasecmp(dt_node_full_name(dev), "/reserved-memory/",
+                     strlen("/reserved-memory/")) != 0 )
+    {
+        res = iomem_permit_access(d, paddr_to_pfn(addr),
+                paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to permit to dom%d access to"
+                   " 0x%"PRIx64" - 0x%"PRIx64"\n",
+                   d->domain_id,
+                   addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1);
+            return res;
+        }
+    }
+
+    if ( !mr_data->skip_mapping )
+    {
+        res = map_regions_p2mt(d,
+                               gaddr_to_gfn(addr),
+                               PFN_UP(len),
+                               maddr_to_mfn(addr),
+                               mr_data->p2mt);
+
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to map 0x%"PRIx64
+                   " - 0x%"PRIx64" in domain %d\n",
+                   addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1,
+                   d->domain_id);
+            return res;
+        }
+    }
+
+    dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
+               addr, addr + len, mr_data->p2mt);
+
+    return 0;
+}
+
+/*
+ * handle_device_interrupts retrieves the interrupts configuration from
+ * a device tree node and maps those interrupts to the target domain.
+ *
+ * Returns:
+ *   < 0 error
+ *   0   success
+ */
+int handle_device_interrupts(struct domain *d,
+                             struct dt_device_node *dev,
+                             bool need_mapping)
+{
+    unsigned int i, nirq;
+    int res;
+    struct dt_raw_irq rirq;
+
+    nirq = dt_number_of_irq(dev);
+
+    /* Give permission and map IRQs */
+    for ( i = 0; i < nirq; i++ )
+    {
+        res = dt_device_get_raw_irq(dev, i, &rirq);
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
+        }
+
+        /*
+         * Don't map IRQ that have no physical meaning
+         * ie: IRQ whose controller is not the GIC
+         */
+        if ( rirq.controller != dt_interrupt_controller )
+        {
+            dt_dprintk("irq %u not connected to primary controller. Connected to %s\n",
+                       i, dt_node_full_name(rirq.controller));
+            continue;
+        }
+
+        res = platform_get_irq(dev, i);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Unable to get irq %u for %s\n",
+                   i, dt_node_full_name(dev));
+            return res;
+        }
+
+        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
+        if ( res )
+            return res;
+    }
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 4fb5c20b13..acde8e714e 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2229,41 +2229,6 @@ int __init make_chosen_node(const struct kernel_info *kinfo)
     return res;
 }
 
-int __init map_irq_to_domain(struct domain *d, unsigned int irq,
-                             bool need_mapping, const char *devname)
-{
-    int res;
-
-    res = irq_permit_access(d, irq);
-    if ( res )
-    {
-        printk(XENLOG_ERR "Unable to permit to dom%u access to IRQ %u\n",
-               d->domain_id, irq);
-        return res;
-    }
-
-    if ( need_mapping )
-    {
-        /*
-         * Checking the return of vgic_reserve_virq is not
-         * necessary. It should not fail except when we try to map
-         * the IRQ twice. This can legitimately happen if the IRQ is shared
-         */
-        vgic_reserve_virq(d, irq);
-
-        res = route_irq_to_guest(d, irq, irq, devname);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to map IRQ%"PRId32" to dom%d\n",
-                   irq, d->domain_id);
-            return res;
-        }
-    }
-
-    dt_dprintk("  - IRQ: %u\n", irq);
-    return 0;
-}
-
 static int __init map_dt_irq_to_domain(const struct dt_device_node *dev,
                                        const struct dt_irq *dt_irq,
                                        void *data)
@@ -2295,57 +2260,6 @@ static int __init map_dt_irq_to_domain(const struct dt_device_node *dev,
     return 0;
 }
 
-int __init map_range_to_domain(const struct dt_device_node *dev,
-                               u64 addr, u64 len, void *data)
-{
-    struct map_range_data *mr_data = data;
-    struct domain *d = mr_data->d;
-    int res;
-
-    /*
-     * reserved-memory regions are RAM carved out for a special purpose.
-     * They are not MMIO and therefore a domain should not be able to
-     * manage them via the IOMEM interface.
-     */
-    if ( strncasecmp(dt_node_full_name(dev), "/reserved-memory/",
-                     strlen("/reserved-memory/")) != 0 )
-    {
-        res = iomem_permit_access(d, paddr_to_pfn(addr),
-                paddr_to_pfn(PAGE_ALIGN(addr + len - 1)));
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to permit to dom%d access to"
-                    " 0x%"PRIx64" - 0x%"PRIx64"\n",
-                    d->domain_id,
-                    addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1);
-            return res;
-        }
-    }
-
-    if ( !mr_data->skip_mapping )
-    {
-        res = map_regions_p2mt(d,
-                               gaddr_to_gfn(addr),
-                               PFN_UP(len),
-                               maddr_to_mfn(addr),
-                               mr_data->p2mt);
-
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to map 0x%"PRIx64
-                   " - 0x%"PRIx64" in domain %d\n",
-                   addr & PAGE_MASK, PAGE_ALIGN(addr + len) - 1,
-                   d->domain_id);
-            return res;
-        }
-    }
-
-    dt_dprintk("  - MMIO: %010"PRIx64" - %010"PRIx64" P2MType=%x\n",
-               addr, addr + len, mr_data->p2mt);
-
-    return 0;
-}
-
 /*
  * For a node which describes a discoverable bus (such as a PCI bus)
  * then we may need to perform additional mappings in order to make
@@ -2373,62 +2287,6 @@ static int __init map_device_children(const struct dt_device_node *dev,
     return 0;
 }
 
-/*
- * handle_device_interrupts retrieves the interrupts configuration from
- * a device tree node and maps those interrupts to the target domain.
- *
- * Returns:
- *   < 0 error
- *   0   success
- */
-static int __init handle_device_interrupts(struct domain *d,
-                                           struct dt_device_node *dev,
-                                           bool need_mapping)
-{
-    unsigned int i, nirq;
-    int res;
-    struct dt_raw_irq rirq;
-
-    nirq = dt_number_of_irq(dev);
-
-    /* Give permission and map IRQs */
-    for ( i = 0; i < nirq; i++ )
-    {
-        res = dt_device_get_raw_irq(dev, i, &rirq);
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to retrieve irq %u for %s\n",
-                   i, dt_node_full_name(dev));
-            return res;
-        }
-
-        /*
-         * Don't map IRQ that have no physical meaning
-         * ie: IRQ whose controller is not the GIC
-         */
-        if ( rirq.controller != dt_interrupt_controller )
-        {
-            dt_dprintk("irq %u not connected to primary controller. Connected to %s\n",
-                      i, dt_node_full_name(rirq.controller));
-            continue;
-        }
-
-        res = platform_get_irq(dev, i);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Unable to get irq %u for %s\n",
-                   i, dt_node_full_name(dev));
-            return res;
-        }
-
-        res = map_irq_to_domain(d, res, need_mapping, dt_node_name(dev));
-        if ( res )
-            return res;
-    }
-
-    return 0;
-}
-
 /*
  * For a given device node:
  *  - Give permission to the guest to manage IRQ and MMIO range
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index fdbf68aadc..ec050848aa 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -163,6 +163,9 @@ void device_tree_get_reg(const __be32 **cell, u32 address_cells,
 u32 device_tree_get_u32(const void *fdt, int node,
                         const char *prop_name, u32 dflt);
 
+int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
+                             bool need_mapping);
+
 int map_range_to_domain(const struct dt_device_node *dev,
                         u64 addr, u64 len, void *data);
 
diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 6c9712ab7b..6518eff9b0 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -1811,12 +1811,12 @@ int dt_count_phandle_with_args(const struct dt_device_node *np,
  * @allnextpp: pointer to ->allnext from last allocated device_node
  * @fpsize: Size of the node path up at the current depth.
  */
-static unsigned long __init unflatten_dt_node(const void *fdt,
-                                              unsigned long mem,
-                                              unsigned long *p,
-                                              struct dt_device_node *dad,
-                                              struct dt_device_node ***allnextpp,
-                                              unsigned long fpsize)
+static unsigned long unflatten_dt_node(const void *fdt,
+                                       unsigned long mem,
+                                       unsigned long *p,
+                                       struct dt_device_node *dad,
+                                       struct dt_device_node ***allnextpp,
+                                       unsigned long fpsize)
 {
     struct dt_device_node *np;
     struct dt_property *pp, **prev_pp = NULL;
@@ -2047,7 +2047,7 @@ static unsigned long __init unflatten_dt_node(const void *fdt,
 }
 
 /**
- * __unflatten_device_tree - create tree of device_nodes from flat blob
+ * unflatten_device_tree - create tree of device_nodes from flat blob
  *
  * unflattens a device-tree, creating the
  * tree of struct device_node. It also fills the "name" and "type"
@@ -2056,8 +2056,7 @@ static unsigned long __init unflatten_dt_node(const void *fdt,
  * @fdt: The fdt to expand
  * @mynodes: The device_node tree created by the call
  */
-static void __init __unflatten_device_tree(const void *fdt,
-                                           struct dt_device_node **mynodes)
+int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes)
 {
     unsigned long start, mem, size;
     struct dt_device_node **allnextp = mynodes;
@@ -2079,6 +2078,12 @@ static void __init __unflatten_device_tree(const void *fdt,
     /* Allocate memory for the expanded device tree */
     mem = (unsigned long)_xmalloc (size + 4, __alignof__(struct dt_device_node));
 
+    if ( mem == 0 )
+    {
+        printk(XENLOG_ERR "Cannot allocate memory for unflatten device tree\n");
+        return -ENOMEM;
+    }
+
     ((__be32 *)mem)[size / 4] = cpu_to_be32(0xdeadbeef);
 
     dt_dprintk("  unflattening %lx...\n", mem);
@@ -2095,6 +2100,8 @@ static void __init __unflatten_device_tree(const void *fdt,
     *allnextp = NULL;
 
     dt_dprintk(" <- unflatten_device_tree()\n");
+
+    return 0;
 }
 
 static void dt_alias_add(struct dt_alias_prop *ap,
@@ -2179,7 +2186,7 @@ dt_find_interrupt_controller(const struct dt_device_match *matches)
 
 void __init dt_unflatten_host_device_tree(void)
 {
-    __unflatten_device_tree(device_tree_flattened, &dt_host);
+    unflatten_device_tree(device_tree_flattened, &dt_host);
     dt_alias_scan();
 }
 
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index a28937d12a..bde46d7120 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -181,6 +181,11 @@ int device_tree_for_each_node(const void *fdt, int node,
  */
 void dt_unflatten_host_device_tree(void);
 
+/**
+ * unflatten any device tree.
+ */
+int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes);
+
 /**
  * IRQ translation callback
  * TODO: For the moment we assume that we only have ONE
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:16:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:16:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455826.713424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2njE-0007Ln-3l; Wed, 07 Dec 2022 06:16:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455826.713424; Wed, 07 Dec 2022 06:16:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2njE-0007Lg-12; Wed, 07 Dec 2022 06:16:24 +0000
Received: by outflank-mailman (input) for mailman id 455826;
 Wed, 07 Dec 2022 06:16:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2njC-0007Hl-Qb
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:16:22 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20614.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aa6642ed-75f6-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 07:16:21 +0100 (CET)
Received: from BN9PR03CA0375.namprd03.prod.outlook.com (2603:10b6:408:f7::20)
 by SJ0PR12MB5407.namprd12.prod.outlook.com (2603:10b6:a03:3ac::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:16:18 +0000
Received: from BN8NAM11FT009.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:f7:cafe::a6) by BN9PR03CA0375.outlook.office365.com
 (2603:10b6:408:f7::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:16:18 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT009.mail.protection.outlook.com (10.13.176.65) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.15 via Frontend Transport; Wed, 7 Dec 2022 06:16:17 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:16:14 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:16:03 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:16:02 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa6642ed-75f6-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RUqnlUKBpcbzFMIwKi5B2qTHIzC89kxejfaLTzD/Wo+c9WtuFob8hbGy5aPVnQj5kLcJ4XhIk9hxoLtfPWUa9DirDHnkvvsQcn03W9C61XPJOYsdInNEl0ivvKNWTeCyBNHDdWD4dty7MoKC7DmObPsiv9jaaGR5nW9PWRwxR4AKlIOwLONgCrizBMAryENGrsP0RgTSlQEq1dfE7ZTNhcYn5OcC8aFct/nbhp/kMlXb/v0yd6rG2ApBPWWe0nwYMdqmcSRKXNUtcQYMYB6PVIQpnFG7ZGpZxGOv31kqFFP9YPCWON70/hi+3vbuej0wA500zxIq+Wuz4YEw2nGyRA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QdobsI7I1s2xg3QPC/xfjvXO6m4sMLz8hqEk31lxd+A=;
 b=IQqfNuzqbZLvYfoXeHu2BoSww1PPfyvpQx6p3dkSLDXBuBAXH9lObrRxImvcZHYzFNDUQlgM3V4BcFkkBP/yHg3nlyty19AvtFyMSBCR2XRW/p4UdIv1drZRjsxfyxWbWAKk4L9ZMIg6mxvEMQHM8EMQdpuxMYXTWHDMMA77+xfVrs5/JLGj5h4kw8ZZjmqjeEW19Sr8HlpDh016I9Umefb5JFKbWGo6Ux76a312oEUAffmP7l/zj1IdOHAyv5kzqQniQek13jT8TKODORJ9bgpOqLjeJSVjahIXkpWCQTD04Xc2DTsi2407g1VIs2LxXa11dAz9XYgTeRJ9f7RIeg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QdobsI7I1s2xg3QPC/xfjvXO6m4sMLz8hqEk31lxd+A=;
 b=FORrxHQwYwLQqTiGzkJYtwluLXZM83TMwCoyzMufpf6FZGRAyLMajDaLI/fzhNszlYb5eW35jBPT2U45taOhGuEKjNLy0skbwziUUZWNb9ZisqnFC7t5afDnjjjKfC1pZplDWMWRMqoJ9bbaDg0BGMfEZopFpJAwtdK7L/bs5l4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>
Subject: [XEN][RFC PATCH v4 03/16] libfdt: Keep fdt functions after init for CONFIG_OVERLAY_DTB.
Date: Tue, 6 Dec 2022 22:15:24 -0800
Message-ID: <20221207061537.7266-4-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061537.7266-1-vikram.garhwal@amd.com>
References: <20221207061537.7266-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT009:EE_|SJ0PR12MB5407:EE_
X-MS-Office365-Filtering-Correlation-Id: 3ae02cc4-7871-4517-2525-08dad81a8d2b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sqyht156BaGaeryzYwSQVhGTlUi5YiDKcSO3OF1rAqQOI+9ZXQe4dkw9wF1hGxz6RzQYjeasGTPtnrsljPoZ5WufjhyFBOsP9jX9Nl1gCA53ncRMcNVmYuJZtP7JiokQCMQz87tCK/ZNfId/bm6xn1+r4SzVEME+eoMAdlAegqdsVamUDOZlROtFT8Q2oeur3CwyADXC5m/1fA1PNeeueaYgqFga6i01SehJIuOrDEQuYngd0mu4kDYDUYFpKtaEMU8gOXMQxmO58WcyMYn1DD+3Dfq6Ht2OfGX/oebp+i0laDC//mNkB0SeiGqTx49uA+4cBMUSHqP3YbFhSbqEFvz0dWMpbOpwhw9E6W3J6M0BgBQeNThccZEM53I7ZRpSmhO/6AO3RZi9R6Bc+kaD84o5gQSeZ1FP70H+PLHayqMwJtqKJAieEfBlcjD+1Yt8k/2s0pFC/sesaMa2LEMGRFmcJVTQHzSj24JfZI4F01TeGLR2xz/34xAJq0X30Hg82uVgGVxYgTJ49pzTC0E7fdFsc6Thc4kCfkxPy5bL5cQd87cpymzOjAJibDGrfVUVJqVNjGKz00lLWae1+vfW7Gv53xUkPhqpgyMA9tyBgHzPnUr7o8gWYVuSPApoUI69dcx0mqa7ntgij4DzHiKHk1834WnTvMc4Lz9AWx0r/Yb30ZJaBbFJUkAK8BpyBHdOZw5V5jiq3Cu/tsUJtGALcR9kld/XTNal10vNN99ns9E=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(346002)(376002)(396003)(451199015)(46966006)(40470700004)(36840700001)(86362001)(36756003)(40460700003)(70206006)(82310400005)(40480700001)(186003)(41300700001)(1076003)(70586007)(336012)(44832011)(8676002)(8936002)(47076005)(4744005)(4326008)(426003)(2616005)(5660300002)(6916009)(54906003)(316002)(6666004)(478600001)(26005)(356005)(81166007)(82740400003)(83380400001)(2906002)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:16:17.5042
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ae02cc4-7871-4517-2525-08dad81a8d2b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT009.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB5407

This is done to access fdt library function which are required for adding device
tree overlay nodes for dynamic programming of nodes.

Acked-by: Julien Grall <jgrall@amazon.com>
Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 xen/common/libfdt/Makefile | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/common/libfdt/Makefile b/xen/common/libfdt/Makefile
index 75aaefa2e3..d50487aa6e 100644
--- a/xen/common/libfdt/Makefile
+++ b/xen/common/libfdt/Makefile
@@ -1,7 +1,11 @@
 include $(src)/Makefile.libfdt
 
 SECTIONS := text data $(SPECIAL_DATA_SECTIONS)
+
+# For CONFIG_OVERLAY_DTB, libfdt functionalities will be needed during runtime.
+ifneq ($(CONFIG_OVERLAY_DTB),y)
 OBJCOPYFLAGS := $(foreach s,$(SECTIONS),--rename-section .$(s)=.init.$(s))
+endif
 
 obj-y += libfdt.o
 nocov-y += libfdt.o
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:16:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:16:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455827.713436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2njF-0007da-Hh; Wed, 07 Dec 2022 06:16:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455827.713436; Wed, 07 Dec 2022 06:16:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2njF-0007dA-DB; Wed, 07 Dec 2022 06:16:25 +0000
Received: by outflank-mailman (input) for mailman id 455827;
 Wed, 07 Dec 2022 06:16:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2njD-0007Hl-Qi
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:16:23 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20624.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aaa68031-75f6-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 07:16:21 +0100 (CET)
Received: from BN9PR03CA0760.namprd03.prod.outlook.com (2603:10b6:408:13a::15)
 by SJ0PR12MB5675.namprd12.prod.outlook.com (2603:10b6:a03:42d::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:16:16 +0000
Received: from BN8NAM11FT050.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:13a:cafe::a6) by BN9PR03CA0760.outlook.office365.com
 (2603:10b6:408:13a::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:16:16 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT050.mail.protection.outlook.com (10.13.177.5) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.15 via Frontend Transport; Wed, 7 Dec 2022 06:16:16 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:16:14 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 22:16:00 -0800
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:15:59 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aaa68031-75f6-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cnTKUcW6EFX7valtywuUlqVjDGeonhx8XKMlsQvckoFrIOac3qVva9f2xA75yGqvekDLeMB+UP5lwaLIzDbgwXkLOguwuSBDDDQ+3ok3oMyX4xSv45ReaqEtMn/Op8Fhw4DYnrKfdqM8dJ/7J+KE3aS5QAmuxlajaU9gzslo95Ry8/iJnn+JBqX9VomHjhJDs9rQ5xqNZf1xyQBmMX5XCHOGuKDT7hvwkbASISjsqDySpILKwqT2wB5J4k0cer4eI37x3JRuX6ClvM6QO+ANW5jLr039vmdpl4zvPD9LfEKrl41v36LEXjX09DVZVupqr57V1JUqU0+djbWyMPySzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EfET4ZlUmPQkBgdnYzJx7GKoPrXNKYIDQQVVWcgL9M0=;
 b=G/O8GechKu+S3MYny45KGB1nddhopjUpD0gyMoP1HfCpzAKR+/atVbwELb3gTGvRIZdGep5nQOIJh1KJAZUWehG/YmQebo7TdIa6v6TotaRcXHAbf4/i2W9/XXDH1mTilhSwOSXUCCvhj7HIoDXBrMxbSnBWvE7dkJV3SsVkT5FG0+zpCAzzCErm1EA2c+ImkSlYu8B6ndVDWAdUksS0RrHlO6U5/HBFBOyOenuKDiK/jum2aS9LWIDmjTfblxiqQqYUqtBmNAmIl5Zc5hU5oPaOoH2v19saek8ERu5Es1yUtIrZf4fbP0eU7aLHHQQvts9HDF5mBuv/sW2fttKUoQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EfET4ZlUmPQkBgdnYzJx7GKoPrXNKYIDQQVVWcgL9M0=;
 b=xyVu2ZM2/IeTdwnWMcjUWDwoBpv9RHRN6ZPVnYWJ3/Bz9N7frmFcx/M3M8VOVes0KOwmE8nyuz1Oolv0f3hiLDcgA7zjpjesSVRJg4YKUJArsZj/kIJzvFxre8sg5M/zs9CDusUf1MuaaDsz8qidwD0LDuseAIFj1GOwzJG92is=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: [XEN][RFC PATCH v4 02/16] xen/arm: Add CONFIG_OVERLAY_DTB
Date: Tue, 6 Dec 2022 22:15:23 -0800
Message-ID: <20221207061537.7266-3-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061537.7266-1-vikram.garhwal@amd.com>
References: <20221207061537.7266-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT050:EE_|SJ0PR12MB5675:EE_
X-MS-Office365-Filtering-Correlation-Id: 76b09ed3-9a35-4e97-1382-08dad81a8c6b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HHwkqMXL9Bat02fhRoEPr/Lp1aFUIFU2okWjUFTuiQJjqrxH5vNhOrJx4m8298uLdYlEV4ZPUo0hpWon3igkc9AzMAJAI3enwq/P3LvFB4arTgtrAiFdUgxVmfCbTpGcjpJqoqXQJk7dowX1g97zPuBfZMCPmieioaUOtOVwsmtEowcCfSS2O8OH0fosIgn7kM5se5Fhs9yPXgkT5+d9TnLDhS2AC9zjv380IFViuG04iochp84sp7X6ZCcnO06/m3RBZ8D2nOQsDeoaN+NP3LLDAhnwrHkP2KRrMlz3XPXNzPGE56sihcUFy1KmRSijFjbzsUkVSAmKzXGnvMh3ArIOo9QhJOePvHS5sYVRRU3UKoZWCRosATcKmWezUpKxfnWJLs3lB91hYlLydzIV242jWLKE1iVL9h7+teB7UWoQkZBjPqXlhs18YXKIgrDs6uuFPtYvK9tiOPOC+AAV6tIzLlS4oCATZ2IjwFIX+SLr/Sqjqo7FI7v7xWFuoB731ckVs7X4NCQI5kdSOeptu1VgnQKNbPsSai9tUAoRLVhMfbgygJfW1l98gAro1krSDDvD2uLI4cUpeZS0uiuOmAwTJW1AP7EUiw1BYKYYE6GVu3Fr4f8BQMLP0Rb/ZHVy55OL0gCSypqHG26u4WnG20H8pP7wkfysTxNSuqrKFMpWXbtNyHjST5SBZlzzashyLPrI68yISerj3tadSchm4CMufmXRLlt3lQ6KYtpuEco=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(376002)(396003)(136003)(451199015)(36840700001)(40470700004)(46966006)(81166007)(86362001)(36756003)(40480700001)(4326008)(40460700003)(478600001)(26005)(8676002)(5660300002)(6666004)(4744005)(41300700001)(8936002)(316002)(70586007)(6916009)(44832011)(70206006)(54906003)(2906002)(36860700001)(426003)(356005)(186003)(47076005)(2616005)(82740400003)(336012)(1076003)(82310400005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:16:16.2454
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 76b09ed3-9a35-4e97-1382-08dad81a8c6b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT050.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB5675

Introduce a config option where the user can enable support for adding/removing
device tree nodes using a device tree binary overlay.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 xen/arch/arm/Kconfig | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 1fe5faf847..ae2ebf1697 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -52,6 +52,11 @@ config HAS_ITS
         bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORTED
         depends on GICV3 && !NEW_VGIC
 
+config OVERLAY_DTB
+    bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
+    help
+    Dynamic addition/removal of Xen device tree nodes using a dtbo.
+
 config HVM
         def_bool y
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:16:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:16:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455838.713446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2njZ-0008Tc-PY; Wed, 07 Dec 2022 06:16:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455838.713446; Wed, 07 Dec 2022 06:16:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2njZ-0008TU-Ma; Wed, 07 Dec 2022 06:16:45 +0000
Received: by outflank-mailman (input) for mailman id 455838;
 Wed, 07 Dec 2022 06:16:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2njY-0007Hl-Ui
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:16:45 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20612.outbound.protection.outlook.com
 [2a01:111:f400:7e88::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7b32493-75f6-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 07:16:43 +0100 (CET)
Received: from DS7PR03CA0024.namprd03.prod.outlook.com (2603:10b6:5:3b8::29)
 by DM4PR12MB6208.namprd12.prod.outlook.com (2603:10b6:8:a5::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:16:40 +0000
Received: from DS1PEPF0000E64E.namprd02.prod.outlook.com
 (2603:10b6:5:3b8:cafe::2b) by DS7PR03CA0024.outlook.office365.com
 (2603:10b6:5:3b8::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:16:40 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000E64E.mail.protection.outlook.com (10.167.18.4) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Wed, 7 Dec 2022 06:16:39 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:16:18 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 22:16:17 -0800
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:16:17 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7b32493-75f6-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DQr3GLA+FDgw6wbm/yN9MUDG2l1ZRJDz3KFWJER+1rrW8BFIYIfBgQuz2trTwvXPjKrUtg4W50N20OHsJolgO2b5kcL5p0WPsVSFM8o0gbT95+yYOFKYmaC5BIJ3VHbeiJlgudJcUG7mUi0tcwtaabKwBqDJtdIbCOe735RimX8ANRmIlolCo9x2Whi3NkDr7Jkk2NNiO04IQ+vvZEzkHNVBqGPtj7ZUbzIR8nAZkrVkF+v/HNwYcesk6jRszFUTD3WjJ38U6XKcVuhLcbU/Ln2MjHC75weEpCPNpmXAwyTvoSnqCo+gp+XOwGsu4IX9SlZjpk9/+w68PuqqyDU1WQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g6KtYvddfVW+GCdGKl8QzCqK7RXkmTVgJchJNwSNoN4=;
 b=AzESfRdXMJXQUfcbbVF/Dmr0G/7pO6ABftIMJN/6oFWC2iQFxrPsBEznTAiKjhJXU16aGNTx2JlLKx2ZjYAO5p7fiCPYiMEfXx80hA/0gdV/+V7Sux3c6LLfQ2Dm7ONgZDFj0eSwu+tBurMv3ba066ZXBGVaZnpi4S2JbVlcPqYe1ExkIjoUKithrONFRePIPK17+W4tA+tSMlFZfxNgVeD6xqCMXibIb1SvZj/xcEd1bfACsOu0G1thQ2BktBe6fxDlsdBjXH2YyCNgiLVsRGFTXEkTC9ELYK9PsxRWdkbOMyIL9MofQyj+WtlQCULlc1fPZ9CKZ247hZfyk5I/yA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=g6KtYvddfVW+GCdGKl8QzCqK7RXkmTVgJchJNwSNoN4=;
 b=v5mroyvYtjC6nez3wp+bbTwU45xdgTA4sKGJ2oeB34Q9xOTplHRhwrOeqxzepz08K9o0tPFlIVUDkejw9RxMxHRMwIwPC4IX/MmUR366AnX8lp8YSXwCeJvS1rpgUqhsEPdgZmJSzqU/hh+l9jT/iOzIS93JP3wfgBiTDXiFz40=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>
Subject: [XEN][RFC PATCH v4 04/16] libfdt: overlay: change overlay_get_target()
Date: Tue, 6 Dec 2022 22:15:25 -0800
Message-ID: <20221207061537.7266-5-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061537.7266-1-vikram.garhwal@amd.com>
References: <20221207061537.7266-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E64E:EE_|DM4PR12MB6208:EE_
X-MS-Office365-Filtering-Correlation-Id: 842a9634-8217-41d8-4022-08dad81a9a63
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZL+pOnjaKC91xIm0LPMLFE9MldlgvHBAXhvMlrmYHbsJ1hXPPwRc+8Yes2K1574P8kVJdUdjPKZTsXOrAG92ykTHtpUCFxDKX41i1FzyBYQ6rYN4pX6ShGAJRwp8wI2ZDW0hwZNRYUCm1nfkmRN6+AUQsTIKF/yI6x5tTrVulWi/4YblcM7xNjTeMtFOOXhaILoAab4y6CUjrYw+hPwhcypS77i4FSpYPo8fWV2/k83bHqCyKWYCaw3EWIHOMjjSNThjH5eGBchr1f/maZv9mf6R5FL/VVxieKc3dqk95cufAb32PLJ+wVMEZwHtzWhUI7Jrs9kdrhSaJPCxACCbBMEUYnQCiIMTN+s5aeruq4LTDPScbj6zbswEIeiAuKxBOt52GmhNBjiixtdCwxg3MASLL7m+x1kE4gb/HCFneutITTiCTtaCAXEaQ5OINMSs5xqTgMFMJJE/vsLxKZnCIBpshEJgXFKIV3IctdsimroCpgT7oAiyGfzu3IfF2sSO1LZBuVmOaGBZDZ/Up6nPKcT9gmCkfxFOHc/VjxPmQOUx15Bf7avDMK9pd2mgXbJ1PKYLKHOhxivHQP5wAoZGOFz7E642TiumG7EBcekjKgOm/hCClZx9HL8KYt77uNdUjpPbhXfZTVFhXnVRAU9JnULBUSJ1NEcj0V4VcrBrkOsEYnbIqzW29wT7tzqqUyrUu1vQejPX/9OvB0Ic95IxIz57RIo1SC1BueQ3gG1K7yX71/cXSzcKV2QFcbgSkYNto1SHX10BIZYJWnzmXqLtnQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(376002)(396003)(39860400002)(451199015)(40470700004)(36840700001)(46966006)(1076003)(41300700001)(2616005)(186003)(70206006)(70586007)(478600001)(36860700001)(82310400005)(336012)(6666004)(47076005)(356005)(40460700003)(44832011)(81166007)(26005)(966005)(8936002)(5660300002)(316002)(36756003)(2906002)(40480700001)(86362001)(4326008)(8676002)(426003)(83380400001)(82740400003)(54906003)(6916009)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:16:39.6354
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 842a9634-8217-41d8-4022-08dad81a9a63
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E64E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6208

Rename overlay_get_target() to fdt_overlay_target_offset() and remove static
function type.

This is done to get the target path for the overlay nodes which is very useful
in many cases. For example, Xen hypervisor needs it when applying overlays
because Xen needs to do further processing of the overlay nodes, e.g. mapping of
resources(IRQs and IOMMUs) to other VMs, creation of SMMU pagetables, etc.

Origin: https://github.com/dgibson/dtc 45f3d1a095dd

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Message-Id: <1637204036-382159-2-git-send-email-fnu.vikram@xilinx.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
---
 xen/common/libfdt/fdt_overlay.c | 29 +++++++----------------------
 xen/common/libfdt/version.lds   |  1 +
 xen/include/xen/libfdt/libfdt.h | 18 ++++++++++++++++++
 3 files changed, 26 insertions(+), 22 deletions(-)

diff --git a/xen/common/libfdt/fdt_overlay.c b/xen/common/libfdt/fdt_overlay.c
index 7b95e2b639..acf0c4c2a6 100644
--- a/xen/common/libfdt/fdt_overlay.c
+++ b/xen/common/libfdt/fdt_overlay.c
@@ -41,37 +41,22 @@ static uint32_t overlay_get_target_phandle(const void *fdto, int fragment)
 	return fdt32_to_cpu(*val);
 }
 
-/**
- * overlay_get_target - retrieves the offset of a fragment's target
- * @fdt: Base device tree blob
- * @fdto: Device tree overlay blob
- * @fragment: node offset of the fragment in the overlay
- * @pathp: pointer which receives the path of the target (or NULL)
- *
- * overlay_get_target() retrieves the target offset in the base
- * device tree of a fragment, no matter how the actual targeting is
- * done (through a phandle or a path)
- *
- * returns:
- *      the targeted node offset in the base device tree
- *      Negative error code on error
- */
-static int overlay_get_target(const void *fdt, const void *fdto,
-			      int fragment, char const **pathp)
+int fdt_overlay_target_offset(const void *fdt, const void *fdto,
+			      int fragment_offset, char const **pathp)
 {
 	uint32_t phandle;
 	const char *path = NULL;
 	int path_len = 0, ret;
 
 	/* Try first to do a phandle based lookup */
-	phandle = overlay_get_target_phandle(fdto, fragment);
+	phandle = overlay_get_target_phandle(fdto, fragment_offset);
 	if (phandle == (uint32_t)-1)
 		return -FDT_ERR_BADPHANDLE;
 
 	/* no phandle, try path */
 	if (!phandle) {
 		/* And then a path based lookup */
-		path = fdt_getprop(fdto, fragment, "target-path", &path_len);
+		path = fdt_getprop(fdto, fragment_offset, "target-path", &path_len);
 		if (path)
 			ret = fdt_path_offset(fdt, path);
 		else
@@ -638,7 +623,7 @@ static int overlay_merge(void *fdt, void *fdto)
 		if (overlay < 0)
 			return overlay;
 
-		target = overlay_get_target(fdt, fdto, fragment, NULL);
+		target = fdt_overlay_target_offset(fdt, fdto, fragment, NULL);
 		if (target < 0)
 			return target;
 
@@ -781,7 +766,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
 			return -FDT_ERR_BADOVERLAY;
 
 		/* get the target of the fragment */
-		ret = overlay_get_target(fdt, fdto, fragment, &target_path);
+		ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
 		if (ret < 0)
 			return ret;
 		target = ret;
@@ -803,7 +788,7 @@ static int overlay_symbol_update(void *fdt, void *fdto)
 
 		if (!target_path) {
 			/* again in case setprop_placeholder changed it */
-			ret = overlay_get_target(fdt, fdto, fragment, &target_path);
+			ret = fdt_overlay_target_offset(fdt, fdto, fragment, &target_path);
 			if (ret < 0)
 				return ret;
 			target = ret;
diff --git a/xen/common/libfdt/version.lds b/xen/common/libfdt/version.lds
index 7ab85f1d9d..cbce5d4a8b 100644
--- a/xen/common/libfdt/version.lds
+++ b/xen/common/libfdt/version.lds
@@ -77,6 +77,7 @@ LIBFDT_1.2 {
 		fdt_appendprop_addrrange;
 		fdt_setprop_inplace_namelen_partial;
 		fdt_create_with_flags;
+		fdt_overlay_target_offset;
 	local:
 		*;
 };
diff --git a/xen/include/xen/libfdt/libfdt.h b/xen/include/xen/libfdt/libfdt.h
index c71689e2be..fabddbee8c 100644
--- a/xen/include/xen/libfdt/libfdt.h
+++ b/xen/include/xen/libfdt/libfdt.h
@@ -2109,6 +2109,24 @@ int fdt_del_node(void *fdt, int nodeoffset);
  */
 int fdt_overlay_apply(void *fdt, void *fdto);
 
+/**
+ * fdt_overlay_target_offset - retrieves the offset of a fragment's target
+ * @fdt: Base device tree blob
+ * @fdto: Device tree overlay blob
+ * @fragment_offset: node offset of the fragment in the overlay
+ * @pathp: pointer which receives the path of the target (or NULL)
+ *
+ * fdt_overlay_target_offset() retrieves the target offset in the base
+ * device tree of a fragment, no matter how the actual targeting is
+ * done (through a phandle or a path)
+ *
+ * returns:
+ *      the targeted node offset in the base device tree
+ *      Negative error code on error
+ */
+int fdt_overlay_target_offset(const void *fdt, const void *fdto,
+			      int fragment_offset, char const **pathp);
+
 /**********************************************************************/
 /* Debugging / informational functions                                */
 /**********************************************************************/
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:17:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:17:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455843.713458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nk5-0000uT-2o; Wed, 07 Dec 2022 06:17:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455843.713458; Wed, 07 Dec 2022 06:17:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nk4-0000uM-VZ; Wed, 07 Dec 2022 06:17:16 +0000
Received: by outflank-mailman (input) for mailman id 455843;
 Wed, 07 Dec 2022 06:17:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2nk3-0008Ff-Ku
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:17:15 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2062b.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ca88b0cd-75f6-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 07:17:14 +0100 (CET)
Received: from BN9PR03CA0642.namprd03.prod.outlook.com (2603:10b6:408:13b::17)
 by SA3PR12MB7879.namprd12.prod.outlook.com (2603:10b6:806:306::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:17:11 +0000
Received: from BN8NAM11FT043.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:13b:cafe::e6) by BN9PR03CA0642.outlook.office365.com
 (2603:10b6:408:13b::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:17:11 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT043.mail.protection.outlook.com (10.13.177.218) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Wed, 7 Dec 2022 06:17:11 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:17:10 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:17:10 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:17:09 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca88b0cd-75f6-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nlh/fb8KJ7GauHf27g/W1ggiylT5IKHq9ctZy/cvm4a9T6X03EeypBBbjXzRIa8NF/9h9MfEaf01leui1z5GZPs3V81p24O9lCsQAEjwRtrQK3bRPda9ibF+V/Y92JdnSkcEKQGjn+148/P9HgdrELY0vDE9yTci4hpg04dV14qIf3xA8MMFsgqEJqUOxnCoeh/NhCQ+wj1jRx9XJTW3QZqFHTQdlJl8gSuMjZDs17stclpGmZ9GmM1tq0LLi7Ia5wZZRX0Fc/nFvml/IAYAAsVULOVQCYMsgxja40e4sji9RkK2n5Ujddznz+LSVxDyC+WwH/MRvXuo4UQIFQTQ9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SvjprfsFjT2q+G0BBsMISOBPht18qx5Ov6rcUISgUjE=;
 b=U4/akz42Wqp+igCe0Vw2nCKK4JFqhGrpcVfR2U+G9LN7PtAgq3PIM51tDoKcVSVRHylp+yyoDhCteBs61CpwYs+NkTDPm8lrw4A32tvYa1mdAOvZfjjFTebbJJI28WAGq3Ab0FFdPQllzRUepKFtF26uUQmAlVcAhyvfTS8JGHGpDNybeN26rpqG6THnTpaydJq/5QPC2pDCPFj9Rb0Y5KhnAfy9anktIdAwYIk/0+6/IqyGx6IiFPl43Nw21WjyRqjZNQzu2ijEQyHMDsgHM0fCTEQ7WxGipfuh4F70nuVVNE/eDhM3RGhW+AgTAvSYPZkOZGpn1wE7ex5i1fgLeA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SvjprfsFjT2q+G0BBsMISOBPht18qx5Ov6rcUISgUjE=;
 b=VpRIKaNXuiCO/Ze7iyq6lgsToYXfAIHRY9G0K3CCm3ywkBOdLwdvGzOvBYOP5/c1eKQiJcJjpg6WVYFQxJ/7V1TO70BVJi0c02q0/ZkXov1+BHLqKJ44jH2KQVUhRK2hKuEadTQm3pfK7q+QnL9i6Xj+tumYG9AYwaD9oSW1eFw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	Rahul Singh <rahul.singh@arm.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN][RFC PATCH v4 06/16] xen/smmu: Add remove_device callback for smmu_iommu ops
Date: Tue, 6 Dec 2022 22:15:27 -0800
Message-ID: <20221207061537.7266-7-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061537.7266-1-vikram.garhwal@amd.com>
References: <20221207061537.7266-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT043:EE_|SA3PR12MB7879:EE_
X-MS-Office365-Filtering-Correlation-Id: c125e758-315f-4ea2-3bfe-08dad81aad16
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	t+4o159JBUmQ5ybNeBngZPrEGaNHTGn4PTSSy+sxBIPqXZJh/jLe6bCDa8gS65SVdW8iZCywsAMp5PzftxfX7u6Mq1cM17/4FkpcE78gPBjDhiLzxVSUEMeJyKLoXqLZd8iuHEVRetqJuWpXzYBGeisffw5AQztPnVYc/MxSalap3nosTM+Jbl9EQ/Qb3Klx1ECkgmbebqVgwLdY+kAkVUlz/1hna1I8AezCBtnTYPtD7GlXNHNF4QuGJls6zsYnki+U/iOf/P0AbvvVPwuW5exegdrfYTn3VgmGFS24egwyuEPuofR1S/klMk/QyKrGd/7WcYfKLDY86FxJMPU3EGohuCjvKmJWEju42EJc+9bmoQv2MjW072v6IO3SP/bJ2mGGZ7QVMn/orHp9IoJOEJHGXcgZT71nvepZG466bNNAIaDPafkU6DX0zOA6evGZjRQ98rF3H3yFmf7ZGuQ2G5KptXLtIs7xoTDGS5rd47gH5CvyyXrITS6WQseOZA4A5pT03rOd85QUEggOiMtFfu6m1P8++krT/LWxZPi83WL9jdmzVjKGkUzUhImQD5qhnliq4xzedWbVQbn/n2/4RH8W/qjeTFdOu/n++ZceEGSmr4xftTgd+3DYPPyTtDWA5rT9sWy/T3TUVDsKpbn07GOHGZkt85BkChWLxmQbzRGb9RNvYqqLad0YamiU14HJUuoINqT+XGX56cJv3FDvT3rS7dW3nxVI0Dfh7cvPiZ0=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(396003)(376002)(136003)(451199015)(36840700001)(46966006)(40470700004)(36860700001)(41300700001)(86362001)(81166007)(356005)(70206006)(44832011)(4326008)(8676002)(8936002)(70586007)(2906002)(478600001)(82310400005)(40480700001)(186003)(5660300002)(26005)(426003)(336012)(47076005)(6666004)(54906003)(40460700003)(2616005)(316002)(1076003)(6916009)(82740400003)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:17:11.0542
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c125e758-315f-4ea2-3bfe-08dad81aad16
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT043.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7879

Add remove_device callback for removing the device entry from smmu-master using
following steps:
1. Find if SMMU master exists for the device node.
2. Remove the SMMU master

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/drivers/passthrough/arm/smmu.c | 56 ++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index 0a514821b3..14e15f1bc6 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -816,6 +816,19 @@ static int insert_smmu_master(struct arm_smmu_device *smmu,
 	return 0;
 }
 
+static int remove_smmu_master(struct arm_smmu_device *smmu,
+			      struct arm_smmu_master *master)
+{
+	if (!smmu->masters.rb_node) {
+		ASSERT_UNREACHABLE();
+		return -ENOENT;
+	}
+
+	rb_erase(&master->node, &smmu->masters);
+
+	return 0;
+}
+
 static int arm_smmu_dt_add_device_legacy(struct arm_smmu_device *smmu,
 					 struct device *dev,
 					 struct iommu_fwspec *fwspec)
@@ -853,6 +866,32 @@ static int arm_smmu_dt_add_device_legacy(struct arm_smmu_device *smmu,
 	return insert_smmu_master(smmu, master);
 }
 
+static int arm_smmu_dt_remove_device_legacy(struct arm_smmu_device *smmu,
+					 struct device *dev)
+{
+	struct arm_smmu_master *master;
+	struct device_node *dev_node = dev_get_dev_node(dev);
+	int ret;
+
+	master = find_smmu_master(smmu, dev_node);
+	if (master == NULL) {
+		dev_err(dev,
+			"No registrations found for master device %s\n",
+			dev_node->name);
+		return -EINVAL;
+	}
+
+	ret = remove_smmu_master(smmu, master);
+
+	if (ret)
+		return ret;
+
+	dev_node->is_protected = false;
+
+	kfree(master);
+	return 0;
+}
+
 static int register_smmu_master(struct arm_smmu_device *smmu,
 				struct device *dev,
 				struct of_phandle_args *masterspec)
@@ -876,6 +915,22 @@ static int register_smmu_master(struct arm_smmu_device *smmu,
 					     fwspec);
 }
 
+static int arm_smmu_dt_remove_device_generic(u8 devfn, struct device *dev)
+{
+	struct arm_smmu_device *smmu;
+	struct iommu_fwspec *fwspec;
+
+	fwspec = dev_iommu_fwspec_get(dev);
+	if (fwspec == NULL)
+		return -ENXIO;
+
+	smmu = find_smmu(fwspec->iommu_dev);
+	if (smmu == NULL)
+		return -ENXIO;
+
+	return arm_smmu_dt_remove_device_legacy(smmu, dev);
+}
+
 static int arm_smmu_dt_add_device_generic(u8 devfn, struct device *dev)
 {
 	struct arm_smmu_device *smmu;
@@ -2858,6 +2913,7 @@ static const struct iommu_ops arm_smmu_iommu_ops = {
     .init = arm_smmu_iommu_domain_init,
     .hwdom_init = arch_iommu_hwdom_init,
     .add_device = arm_smmu_dt_add_device_generic,
+    .remove_device = arm_smmu_dt_remove_device_generic,
     .teardown = arm_smmu_iommu_domain_teardown,
     .iotlb_flush = arm_smmu_iotlb_flush,
     .assign_device = arm_smmu_assign_dev,
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:18:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:18:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455848.713469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlF-0001eJ-Ih; Wed, 07 Dec 2022 06:18:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455848.713469; Wed, 07 Dec 2022 06:18:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlF-0001eC-Ea; Wed, 07 Dec 2022 06:18:29 +0000
Received: by outflank-mailman (input) for mailman id 455848;
 Wed, 07 Dec 2022 06:18:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2nlE-0001e0-44
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:18:28 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20608.outbound.protection.outlook.com
 [2a01:111:f400:fe59::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f527b47a-75f6-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 07:18:27 +0100 (CET)
Received: from DM6PR07CA0065.namprd07.prod.outlook.com (2603:10b6:5:74::42) by
 CY5PR12MB6430.namprd12.prod.outlook.com (2603:10b6:930:3a::12) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.14; Wed, 7 Dec 2022 06:18:23 +0000
Received: from DS1PEPF0000E651.namprd02.prod.outlook.com
 (2603:10b6:5:74:cafe::6a) by DM6PR07CA0065.outlook.office365.com
 (2603:10b6:5:74::42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:18:23 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E651.mail.protection.outlook.com (10.167.18.7) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Wed, 7 Dec 2022 06:18:23 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:21 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:21 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:18:20 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f527b47a-75f6-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FXpJu77SjgdaGmTxdjRm4pHr2gCN/9RKNqXc4rMU8T4zMjO4fttqrlMZj183kyphRxkX2Q2/RSd3MjvJqNy1oJFmYkT9xVyErQwfsQBtr+dU4BfNOPT7Wj4jNaLeiIxjhDlszkr7Ip3tFHRtZdYVCkiFSJWyyBgDw5l9IwsKGkbKHUdtlQ5LBLZzpFV3/0/VJZgAHcxqjc4VVu8Elswf45wVpLBUtdE33NdkaeUZk22v68KZ7Ku9hC7j8l/YFtOUnM8O64S4rK7MQiqs2FuAAV1tA65G9bVR2HP5dIa0muhoTZkhDkhftPnm9TgkzG4TYZFSsFY1uWSdVjj4qRh+3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hbn+9h9tF7QZlww7kr6YoDzwWCRUPyZKofdb3QDs5Ls=;
 b=PQ+OzqXXeimtDKzjKu6YYvcKwF5RB8639RurEeEMf3Cas3X5BXtylALYlOcvgofWJMAOwCowLAA0E2/aektL2cgHprSsrDVtxq98CGLB3NLD1K1cUD7ZjH5XvOTFue/n/bO2PCOXeq3k7LnB3oB3lYmSIgTaLJrpBbP0Jot0OMQrjxoxY3UGQkm9QtNinaZKwqUoLzMPXZGvrwDTzGwmCZUeSsaHkvQdNip7RYuGsJ5R0nY5+Da9SuIIC7tJ2GZNPp5Wl2Ldi75SNKxv2wRNHWYDty7zE8JqdFkDeb47XIPkjZMkBbB5ZOk+CFODLywIt1Z1egsDgPE6pHT93xc2jA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hbn+9h9tF7QZlww7kr6YoDzwWCRUPyZKofdb3QDs5Ls=;
 b=dJDKp1Xg2ds0MDYyyUYiLAXURH3O+vH/q+qkI8HUiyoHVFo8RrRE78lOB+ysJQvp79xY85cBPQXh+xKzSOQ6foK7c8QdWzWUWWMrMiJbqFn91sBuf8NlnNs0n70xzUiW1jU6zCrlWxlr46DOxlocjwUdtgOQuwSAlUNOYGqodQI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	<Luca.Fancellu@arm.com>
Subject: [XEN][RFC PATCH v4 07/16] xen/iommu: Move spin_lock from iommu_dt_device_is_assigned to caller
Date: Tue, 6 Dec 2022 22:18:06 -0800
Message-ID: <20221207061815.7404-1-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E651:EE_|CY5PR12MB6430:EE_
X-MS-Office365-Filtering-Correlation-Id: b7b05a9c-5245-40b5-122c-08dad81ad804
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DvYPUn6sy3wVFri0HvA7SwtWb4o2YBcFtWhH0sEg4tOStYH9k7BUUbOhMve0ddh2ObvkNnBZkwkLerpDi0+A7iu/IAvCMoD8sbOwmWTtyCL3beasb+p2a6wgaRQ3lYAFZ8IzxIvZanFLpZ8CHJgLUysUpR2eMWxIIIY6wgpaRrWL4JWufgz0AlMQqSjIsjiBLQ8Plc50Ww64p4Glh897LSm/ce81l+fm152alsL3yvEc9226qPB/gqkDE06COYIPV5URLl2vEOZnGGIvbxnGK+tsfE8BpquNrGsx4qUVCjc4Y3E5UaWuc0w5MudGpuE/vqPblhDlBaQsfsYQeUs0mQbNQnAATUqMgUQecHOtsZyQTaN0biDVEu0WduHq0AFJL8jPMVYKj+3Mig39cCbf9x6H3ANKLUzi7HNsuuZtFxHBIODVF1lllfSVuJQuzLCSP0XztXx2MW1TL+ZzdoDHpWsaoAx6t4p/N7jIzMzagyXcSduVmEik1jXbazb9/f79mL16xtGUnaO/Yj9zIAplr/Uf9f0gud6WILtApEoKuRtI37ZkV5z8pb4H3fx5uPmL8octoN/3o3Rw17tr4kty7nBWwwC/o/J+WNfCrw8cSNYXQ7FJkoOXUTzgh0kyaXba7bjXMoR4AYcvhI86cG78jlbqRa2h+A4s7W8sc3ucLgiZglcxUUeoywM2YymwpME/y05XwMzqQSEk2yc1VVPnmihUglTdmw8tFGdBOYSTsNM=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(396003)(39860400002)(376002)(451199015)(36840700001)(40470700004)(46966006)(70586007)(70206006)(186003)(4326008)(8676002)(41300700001)(1076003)(6666004)(2906002)(82740400003)(478600001)(40460700003)(40480700001)(36756003)(2616005)(81166007)(36860700001)(356005)(47076005)(8936002)(336012)(44832011)(82310400005)(426003)(5660300002)(6916009)(54906003)(316002)(26005)(86362001)(83380400001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:18:23.0459
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b7b05a9c-5245-40b5-122c-08dad81ad804
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E651.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6430

Rename iommu_dt_device_is_assigned() to iommu_dt_device_is_assigned_lock().

Moving spin_lock to caller was done to prevent the concurrent access to
iommu_dt_device_is_assigned while doing add/remove/assign/deassign.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/drivers/passthrough/device_tree.c | 23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 1c32d7b50c..bb4cf7784d 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -83,16 +83,15 @@ fail:
     return rc;
 }
 
-static bool_t iommu_dt_device_is_assigned(const struct dt_device_node *dev)
+static bool_t
+    iommu_dt_device_is_assigned_locked(const struct dt_device_node *dev)
 {
     bool_t assigned = 0;
 
     if ( !dt_device_is_protected(dev) )
         return 0;
 
-    spin_lock(&dtdevs_lock);
     assigned = !list_empty(&dev->domain_list);
-    spin_unlock(&dtdevs_lock);
 
     return assigned;
 }
@@ -213,27 +212,43 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
         if ( (d && d->is_dying) || domctl->u.assign_device.flags )
             break;
 
+        spin_lock(&dtdevs_lock);
+
         ret = dt_find_node_by_gpath(domctl->u.assign_device.u.dt.path,
                                     domctl->u.assign_device.u.dt.size,
                                     &dev);
         if ( ret )
+        {
+            spin_unlock(&dtdevs_lock);
+
             break;
+        }
 
         ret = xsm_assign_dtdevice(XSM_HOOK, d, dt_node_full_name(dev));
         if ( ret )
+        {
+            spin_unlock(&dtdevs_lock);
+
             break;
+        }
 
         if ( domctl->cmd == XEN_DOMCTL_test_assign_device )
         {
-            if ( iommu_dt_device_is_assigned(dev) )
+
+            if ( iommu_dt_device_is_assigned_locked(dev) )
             {
                 printk(XENLOG_G_ERR "%s already assigned.\n",
                        dt_node_full_name(dev));
                 ret = -EINVAL;
             }
+
+            spin_unlock(&dtdevs_lock);
+
             break;
         }
 
+        spin_unlock(&dtdevs_lock);
+
         if ( d == dom_io )
             return -EINVAL;
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:18:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:18:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455849.713480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlI-0001w5-Rw; Wed, 07 Dec 2022 06:18:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455849.713480; Wed, 07 Dec 2022 06:18:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlI-0001vv-NY; Wed, 07 Dec 2022 06:18:32 +0000
Received: by outflank-mailman (input) for mailman id 455849;
 Wed, 07 Dec 2022 06:18:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2nlG-0001rE-MQ
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:18:30 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2061d.outbound.protection.outlook.com
 [2a01:111:f400:fe59::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f6d01796-75f6-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 07:18:29 +0100 (CET)
Received: from DM6PR07CA0066.namprd07.prod.outlook.com (2603:10b6:5:74::43) by
 SJ1PR12MB6241.namprd12.prod.outlook.com (2603:10b6:a03:458::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:18:26 +0000
Received: from DS1PEPF0000E651.namprd02.prod.outlook.com
 (2603:10b6:5:74:cafe::6b) by DM6PR07CA0066.outlook.office365.com
 (2603:10b6:5:74::43) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:18:26 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E651.mail.protection.outlook.com (10.167.18.7) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Wed, 7 Dec 2022 06:18:26 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:24 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:18:24 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6d01796-75f6-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=COXahS98tM4FADTgTRdCU6PTsyCqJ90PakUz/8fXKjZw5LsbiM6Wuj+SHG0lWu79gwATRYIpEMMP4lqE4mfNw9juwYBBl69Vv1HdisG1hIiHeVkzER0NKpw/LXALWsX7OI34v/YSLIk7DLQACK1d/FmcU0Ep006hHn67WCxsKWFlG+RFwRtuf2TdwNArnT3c0NSunt0HNKCLXS2ixaWf2p+Bm1LQkcLVp1RF6bCD8vS2Rqj1UoZBNo++Ss/1E6UqoCffmUkg40CnRna3IV/eKBc0VQ3nocsxbHoIhOWXCDPCwLLo6yZgqfweiDHdlgC0+Zpkf3JQZ9tKAOdw5NiFOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qd0QFdZvzHUGWrw0BfIrEu3cWkp8jWSV4vPT9FURuHE=;
 b=hikzcibQ0nJOOKfCK5FgUvIPTCOdqHLUb/xiWwNXEa1M3jUmktZctPe1ByZF0GVsk/+0BM1XDum5OosYsGUJJEDT5v8w8jubwt+gtuHFiX1QEy1yErWKZWSgC3I23cuXA1u5PB/XJ2I+1eIli5kfzIHRRO+BnSbqvi5v5EVoDJPQ4cPYiKVZA8i/xgpVxAjs7OxbSE2Cq3N1rUW/NdtqaaFquIv1L/C5uvlNIG2Huh/54Bd18dldS8P+MqBwP4wrCJJpNThevjKJqK16/RUm6swkwVxzo8JkFZxxdxNdPhIvMuZq9wtoCDsRUpq0EnYJYH/8g8gk6wDFJdvo0CKZxw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qd0QFdZvzHUGWrw0BfIrEu3cWkp8jWSV4vPT9FURuHE=;
 b=xNiVNLih/dhMiVdLuKF4gDjHAxUTDns4Rxu5GfACJjnCZUis5L7cNKcQM5hrOb8xXC0uiXAWcrm5hgrP5a20sgdSch9aUxu9Je6NCPO/lM+jfaF5n4TTgLG6pAB4k3DVgSJIKLmSfvyoC3k0M/jfjpzFvJ49OZpLp4eyIPL1Nlg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	<Luca.Fancellu@arm.com>
Subject: [XEN][RFC PATCH v4 08/16] xen/iommu: protect iommu_add_dt_device() with dtdevs_lock
Date: Tue, 6 Dec 2022 22:18:07 -0800
Message-ID: <20221207061815.7404-2-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061815.7404-1-vikram.garhwal@amd.com>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E651:EE_|SJ1PR12MB6241:EE_
X-MS-Office365-Filtering-Correlation-Id: c6125904-23d9-4acf-0acd-08dad81ada07
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PFFaUz3KDhfbBWArza2pLzmf/uod3NHSSW+oJFGi1oSmQdGYKaw4EzNrfAJhAeTJXPnp4MXLLV+JzIbjxzE71vevsQw40gbP6YHTJF99EOBg9HcCBbNKXSIN+sXTcfA7QhwDV3vhsrcdj81Tp+Zfy6nGibejsIvilKvQ5ezIgIuvzT0BerP5MBOxNU3rVA9es8dbvMJ8cKVLH3sYKVApNbPoiTGn1MyQVrkFab5SiTwyuuviWouVw+Nobx31J1sntqxOnGfQzHQ1BeKzyqd7pBXOStPtT3l/eWOgbtNQSNdWIwU0TUOXEfDCituQgCMLXpmkyUa5ytZoyDLtXx6uXNfuskMdPsApeGF9phSJPcEudYUDn+dpAxW4FsbJ1trMLVorVP/tXOgTq9loxXTSjq5JNafz5qqRax+n0e2bWCFhVSKwjECPZthLasX2FPQdw87SBavkIJw7SdY5MzS4Ro0eCU419HGk7Fcg3H+wk8yNz3sJvXH7iopq80vRrHGM2k7+Cu4jIhiNR8YAVzJgW9TBSyq73zGTIbEKu5jt8bAaMA2+5cMQA76jvA7p4NFRdEbCYlR0iAO4XyGVeTQtN/aLxK1YViYt1Lh8kFs/9uysJqzzjA1OEism2X1ctIlqTCvkm9vldfiiBrg8erWAGBJtOw38brVBbdBafx+AlEK423g85eg12AOkZ/t5wNm3sxsJ2rCXfL3d6I5xZyopaVXGmthd4uojG91iuZLQ5jc=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(396003)(136003)(376002)(39860400002)(451199015)(40470700004)(36840700001)(46966006)(40480700001)(356005)(82740400003)(82310400005)(81166007)(36756003)(86362001)(40460700003)(316002)(478600001)(54906003)(6916009)(36860700001)(44832011)(4326008)(2906002)(5660300002)(41300700001)(8676002)(70586007)(8936002)(70206006)(83380400001)(26005)(426003)(6666004)(2616005)(47076005)(336012)(186003)(1076003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:18:26.4209
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c6125904-23d9-4acf-0acd-08dad81ada07
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E651.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6241

Protect iommu_add_dt_device() with dtdevs_lock to prevent concurrent access add.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/drivers/passthrough/device_tree.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index bb4cf7784d..457df333a0 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -146,6 +146,8 @@ int iommu_add_dt_device(struct dt_device_node *np)
     if ( dev_iommu_fwspec_get(dev) )
         return 0;
 
+    spin_lock(&dtdevs_lock);
+
     /*
      * According to the Documentation/devicetree/bindings/iommu/iommu.txt
      * from Linux.
@@ -158,7 +160,10 @@ int iommu_add_dt_device(struct dt_device_node *np)
          * these callback implemented.
          */
         if ( !ops->add_device || !ops->dt_xlate )
-            return -EINVAL;
+        {
+            rc = -EINVAL;
+            goto fail;
+        }
 
         if ( !dt_device_is_available(iommu_spec.np) )
             break;
@@ -189,6 +194,8 @@ int iommu_add_dt_device(struct dt_device_node *np)
     if ( rc < 0 )
         iommu_fwspec_free(dev);
 
+fail:
+    spin_unlock(&dtdevs_lock);
     return rc;
 }
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:18:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:18:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455852.713490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlP-0002Hb-3o; Wed, 07 Dec 2022 06:18:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455852.713490; Wed, 07 Dec 2022 06:18:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlP-0002HK-0p; Wed, 07 Dec 2022 06:18:39 +0000
Received: by outflank-mailman (input) for mailman id 455852;
 Wed, 07 Dec 2022 06:18:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2nlN-0001rE-UX
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:18:38 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id faccc05a-75f6-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 07:18:36 +0100 (CET)
Received: from DS7PR03CA0015.namprd03.prod.outlook.com (2603:10b6:5:3b8::20)
 by SA0PR12MB4557.namprd12.prod.outlook.com (2603:10b6:806:9d::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:18:31 +0000
Received: from DS1PEPF0000E64E.namprd02.prod.outlook.com
 (2603:10b6:5:3b8:cafe::1a) by DS7PR03CA0015.outlook.office365.com
 (2603:10b6:5:3b8::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:18:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E64E.mail.protection.outlook.com (10.167.18.4) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Wed, 7 Dec 2022 06:18:31 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:31 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:30 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:18:29 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: faccc05a-75f6-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mXOzTNpk/5BMKH+TTIPgyuM2zRgpk8eUMR+vB2kT4ztNRkDbpzX0gwX9UCramvCpFcX9In3nH7nuuNVDMFqjWk45KMDjsdglKOSw7dUiPgUK68dxNK5lbObABq4rMP1YiSrAz5r0sLbpsJsZWUULxjfBvm+jHMyI1ZYlHjp5oeB/44CLy/TbTvwbmzbaiDrK63p86ChJoRCHi1yuBTL98MOX+J+BbgHDPOFm6k972WFdaZIF7eKEW2+B/mgnX6WmYgd/3rn/s23/Q/Zl240hTyqQRJ0bZxSEj1CCHKUYtrxZgjpKr9exSM49Liy/R6I7Gi6pSnMyCHaRc6q8Ac6lPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w+Sq6+5nUDNMD9hP99qzhfGlSEZu9BK2xepwW4V56QI=;
 b=Fniblm45wnL1kmFFwur/0YAlBRFG3GPO+PR/zBSKIXi96RP9UjEUMMqAKN3mos5CNCtDNMCIlQc2m5rIjpXIl6D3X3wy88cdYNr2aO6qbSDmKvhvC1tvTCSUblJnSNHymKjmtpRZue0tu/ih+ejlqSDOEzewIbv4zdCeLb/g9AR5Tikk/xiNT6Yv313y8vG4qtpTCkIiUdVW6PAN5ieK+6px3qOIULZT+f0RVF3cf0nlOoWizbZiV3KmyggT/pMLFziT2ctffY33++MFw3nrUl8vhbtX9yMfkODp4LJZvAmKuOBl4IB8BqF+Nh2IPW8LUUCffpivxdeldIvBY1rpvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w+Sq6+5nUDNMD9hP99qzhfGlSEZu9BK2xepwW4V56QI=;
 b=glWZSJrpo1cLTqRtVolAKHS4df9fe3+5jGNFmFdcPMoKSCohYXbfDM1ZoehuYxMmKf7eY+ZDfz1ECW52KrCl0K3mW29JT8Jm5VQUYlCzG5s1SpTyztI6IuXXae5EsrtlaR6YGVQUmETHcoQ70O/K5GvycaOa3nDYRWWssqpWhOA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	<Luca.Fancellu@arm.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: [XEN][RFC PATCH v4 10/16] asm/smp.h: move cpu related function to asm/cpu.h
Date: Tue, 6 Dec 2022 22:18:09 -0800
Message-ID: <20221207061815.7404-4-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061815.7404-1-vikram.garhwal@amd.com>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E64E:EE_|SA0PR12MB4557:EE_
X-MS-Office365-Filtering-Correlation-Id: d33989e8-047b-45dd-23ce-08dad81add06
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HB8RbFd9C4NWZvnmbm2ClJBErG2zjMZnocH4Ep/flRhEVjkJawutEtvNXyhHaT0euQLbTpbPqu9b4wisFxSAqKQ5h3qbBdjDBZ8CMfNNbp1xUcSYkomwUmIAUJR8CsBpP8d/ekbiFfwoPvv2Q9ZBqfanvA9vkVORTg0+9nPII6VkNcm3M+51aiHCYdWqNP6Brk9Rf6oInosz0oWWLxHbg/KEa2XGK+4zETiTNk+NcF1/ZZ+YyXkbi/xMtj4uR5tNab/zFN0/c/1Gt307RB3YgZtuNl9AGblg1VCLu/MP4y4dD7ve/OmUNCOwjfsZlm4YT3RswqwnMEPYCVRcBEL4gl3PknXi32WOXKzP22FMBHtVdSoawk+dh4j+VbEv2TbmGXUyaX7G7T420KmQaQiOK0SfnuIn3+BKADudqUcNatH9zSdhWhYGFiZmt7ezYBzmUlPahX6hpuqStTSfwwNbnDtQEC5hJ/RhuEQgd1kjYeAc9pEJeMakiF1KT5qb4okA1zaNVtQqD22VgpQCEkx+ZrPmw/jtK8tUmh6JdoleGVpq/9l/4npDndxyELT/e6CftrHYgT1rancU74E+QBwLzDzbk+bEyx7iMujzUcAkowEWPFiVRGtd0HrWyCCmWQWh7y1g8xkvvurwspCf6uCtZ3+wJ6H5lkY1+r02fSMyK10jD6TXnA3EEtU305owf6TMYoYhrODR2yCQxE3+8Mx9T5/pNRHc6Ep4+7IvYJLJrlg=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(136003)(376002)(39860400002)(451199015)(36840700001)(40470700004)(46966006)(41300700001)(36860700001)(86362001)(478600001)(6666004)(1076003)(2616005)(82740400003)(81166007)(83380400001)(6916009)(316002)(40460700003)(54906003)(356005)(4326008)(336012)(8676002)(186003)(7416002)(8936002)(36756003)(2906002)(40480700001)(26005)(47076005)(5660300002)(426003)(44832011)(70586007)(70206006)(82310400005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:18:31.4325
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d33989e8-047b-45dd-23ce-08dad81add06
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E64E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4557

Dynamic programming ops will modify the dt_host and there might be other
function which are browsing the dt_host at the same time. To avoid the race
conditions, adding rwlock for browsing the dt_host. But adding rwlock in
device_tree.h causes following circular dependency:
    device_tree.h->rwlock.h->smp.h->asm/smp.h->device_tree.h

Inside arch/arm/include/asm/smp.h, there is one function which needs
device_tree.h, moved the cpu related function to a new file:
arch/arm/include/asm/cpu.h

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 xen/arch/arm/efi/efi-boot.h       |  1 +
 xen/arch/arm/include/asm/cpu.h    | 35 +++++++++++++++++++++++++++++++
 xen/arch/arm/include/asm/domain.h |  1 +
 xen/arch/arm/include/asm/psci.h   |  1 +
 xen/arch/arm/include/asm/smp.h    | 24 ---------------------
 xen/include/xen/cpu.h             |  4 ++++
 xen/include/xen/softirq.h         |  4 ++++
 7 files changed, 46 insertions(+), 24 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/cpu.h

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 43a836c3a7..ca40c6f73f 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -5,6 +5,7 @@
  */
 #include <xen/device_tree.h>
 #include <xen/libfdt/libfdt.h>
+#include <asm/cpu.h>
 #include <asm/setup.h>
 #include <asm/smp.h>
 
diff --git a/xen/arch/arm/include/asm/cpu.h b/xen/arch/arm/include/asm/cpu.h
new file mode 100644
index 0000000000..4df80ca1b5
--- /dev/null
+++ b/xen/arch/arm/include/asm/cpu.h
@@ -0,0 +1,35 @@
+#ifndef __ASM_CPU_H
+#define __ASM_CPU_H
+
+#ifndef __ASSEMBLY__
+#include <xen/cpumask.h>
+#include <xen/device_tree.h>
+#include <asm/current.h>
+#endif
+
+DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
+DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
+
+#define cpu_is_offline(cpu) unlikely(!cpu_online(cpu))
+
+/*
+ * Do we, for platform reasons, need to actually keep CPUs online when we
+ * would otherwise prefer them to be off?
+ */
+#define park_offline_cpus false
+
+extern void noreturn stop_cpu(void);
+
+extern int arch_cpu_init(int cpu, struct dt_device_node *dn);
+extern int arch_cpu_up(int cpu);
+
+int cpu_up_send_sgi(int cpu);
+
+/* Secondary CPU entry point */
+extern void init_secondary(void);
+
+#define cpu_physical_id(cpu) cpu_logical_map(cpu)
+
+#endif
+
+
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 2ce6764322..f9440e5c7e 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -3,6 +3,7 @@
 
 #include <xen/cache.h>
 #include <xen/timer.h>
+#include <asm/cpu.h>
 #include <asm/page.h>
 #include <asm/p2m.h>
 #include <asm/vfp.h>
diff --git a/xen/arch/arm/include/asm/psci.h b/xen/arch/arm/include/asm/psci.h
index 832f77afff..74c1bc6368 100644
--- a/xen/arch/arm/include/asm/psci.h
+++ b/xen/arch/arm/include/asm/psci.h
@@ -1,6 +1,7 @@
 #ifndef __ASM_PSCI_H__
 #define __ASM_PSCI_H__
 
+#include <asm/cpu.h>
 #include <asm/smccc.h>
 
 /* PSCI return values (inclusive of all PSCI versions) */
diff --git a/xen/arch/arm/include/asm/smp.h b/xen/arch/arm/include/asm/smp.h
index 8133d5c295..76944b07f7 100644
--- a/xen/arch/arm/include/asm/smp.h
+++ b/xen/arch/arm/include/asm/smp.h
@@ -3,40 +3,16 @@
 
 #ifndef __ASSEMBLY__
 #include <xen/cpumask.h>
-#include <xen/device_tree.h>
 #include <asm/current.h>
 #endif
 
-DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
-DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
-
-#define cpu_is_offline(cpu) unlikely(!cpu_online(cpu))
-
 #define smp_processor_id() get_processor_id()
 
-/*
- * Do we, for platform reasons, need to actually keep CPUs online when we
- * would otherwise prefer them to be off?
- */
-#define park_offline_cpus false
-
-extern void noreturn stop_cpu(void);
-
 extern int arch_smp_init(void);
-extern int arch_cpu_init(int cpu, struct dt_device_node *dn);
-extern int arch_cpu_up(int cpu);
-
-int cpu_up_send_sgi(int cpu);
-
-/* Secondary CPU entry point */
-extern void init_secondary(void);
 
 extern void smp_init_cpus(void);
 extern void smp_clear_cpu_maps (void);
 extern unsigned int smp_get_max_cpus(void);
-
-#define cpu_physical_id(cpu) cpu_logical_map(cpu)
-
 #endif
 
 /*
diff --git a/xen/include/xen/cpu.h b/xen/include/xen/cpu.h
index e8eeb217a0..ce93eb0003 100644
--- a/xen/include/xen/cpu.h
+++ b/xen/include/xen/cpu.h
@@ -5,6 +5,10 @@
 #include <xen/spinlock.h>
 #include <xen/notifier.h>
 
+#ifdef CONFIG_ARM
+#include <asm/cpu.h>
+#endif
+
 /* Safely access cpu_online_map, cpu_present_map, etc. */
 bool get_cpu_maps(void);
 void put_cpu_maps(void);
diff --git a/xen/include/xen/softirq.h b/xen/include/xen/softirq.h
index 1f6c4783da..cc98a65287 100644
--- a/xen/include/xen/softirq.h
+++ b/xen/include/xen/softirq.h
@@ -19,6 +19,10 @@ enum {
 #include <asm/hardirq.h>
 #include <asm/softirq.h>
 
+#ifdef CONFIG_ARM
+#include <asm/cpu.h>
+#endif
+
 #define NR_SOFTIRQS (NR_COMMON_SOFTIRQS + NR_ARCH_SOFTIRQS)
 
 typedef void (*softirq_handler)(void);
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:18:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:18:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455853.713502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlR-0002a9-FM; Wed, 07 Dec 2022 06:18:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455853.713502; Wed, 07 Dec 2022 06:18:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlR-0002Zz-Bv; Wed, 07 Dec 2022 06:18:41 +0000
Received: by outflank-mailman (input) for mailman id 455853;
 Wed, 07 Dec 2022 06:18:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2nlP-0001rE-Vb
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:18:40 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e88::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc63c4cc-75f6-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 07:18:39 +0100 (CET)
Received: from DS7PR03CA0146.namprd03.prod.outlook.com (2603:10b6:5:3b4::31)
 by MW4PR12MB6924.namprd12.prod.outlook.com (2603:10b6:303:207::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:18:30 +0000
Received: from DS1PEPF0000E653.namprd02.prod.outlook.com
 (2603:10b6:5:3b4:cafe::f8) by DS7PR03CA0146.outlook.office365.com
 (2603:10b6:5:3b4::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:18:30 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000E653.mail.protection.outlook.com (10.167.18.9) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Wed, 7 Dec 2022 06:18:28 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:28 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:27 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:18:27 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc63c4cc-75f6-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jzyVu5um2w5rSj+rvsgptU6As5+M7Tzp/dIcujowhLL8k17tzNCZ42D9oyja8PLzP1u69wMlfAmXXmYx1hzrjLF8xIdiA+xYI64kBz59CB7DG5o+VKgKSzacLivwPJM61vrrhJGmqjGXDZMme4Q3+uxYm/FED+NELi5+MniGL+ZWUjOIcpmwRIn2cjhOPBJTPqlrRbI3Fe5sjCAz+F5uqxv7AVjvsUYhYKbkJujJmx1dN3q54gf6TNx05zmcUWfuTzL51PL36tWuRhD7tq5Z9GkQz14rHJYPvPMD5vgAKZ+2N8jkJHbfpHP6ch7yuEQpvh5RxokCZqru8oFPxwlJcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+LUe0w+LpO5tERWdII/zFZViW4K+Jr8pdOMefoNdmlg=;
 b=JOgLJWRc3AmI2MK9NkKY+TaK9mhNFrQTGJ8DZc6KAgm4nVhB4b96u0EPU/2YiqPmGdOsfVTm0fQRKujUSLBy/TV0PUS3FdHpRDQ48JaZxsH4MVd31c1LvoS1GtyLohkeyaukvDJiLWE4wxD2TMUPnjXrGzWEv+xrvRqB83AbOHu2VjA6sd7nCLEQLexyPzNgHfRjsNoIKLN0RF0Yk10wOABV2tpqrXzh2bgVPuIhGLqcXnCX/y1PkGSyFGsVOY5pl+1ufWmpMN6PAtO4v57qGLg7zxsXXqzIau4wDzNhaRiZjDsJSvejGFdG5xKPP6pSN3bcbQ9AHDjWeJmDKiNx8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+LUe0w+LpO5tERWdII/zFZViW4K+Jr8pdOMefoNdmlg=;
 b=UwOPF03jEgllGUo3PbJeO6MaZbzIiyOJX8Xumxpt6HAUYSVLotbVskRIVK7SBu2sCokYjTbqGCRct/CGrS6QI1ltM+6++qSwXJv5QWBc9blseyItuzjSq0KxPgo2JRrOxj9KHxVG7JBv2JMTdgW2AiMpKcI3gtWNvoDEm7h3Th0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	<Luca.Fancellu@arm.com>, Jan Beulich <jbeulich@suse.com>, Paul Durrant
	<paul@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN][RFC PATCH v4 09/16] xen/iommu: Introduce iommu_remove_dt_device()
Date: Tue, 6 Dec 2022 22:18:08 -0800
Message-ID: <20221207061815.7404-3-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061815.7404-1-vikram.garhwal@amd.com>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E653:EE_|MW4PR12MB6924:EE_
X-MS-Office365-Filtering-Correlation-Id: b0e85081-b8f3-47d8-5bbf-08dad81adb3e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZNEtA9ZYKzx7T+6ftIUAC1dkwZ8SZXZbe68Xlz4pfxOp+OFhrRObrIfLDZq4sWcggZUxuYj6e6rtiW0g0sQ/si5BK/uargVusQYwVbwYlcLKR75D1J6XRTlU4KyuYh0PlHmu+5y3qISXFr0e4DmHhO+n+3PBTjGsKdAYE/dNpTrGhvWFk+baDXzEAAmqz9wed3Cmlp5KsGuVZUahGRiuKYCA87WkWjEHATVs9aevnrJNgow0k20v2zzNHp1R6Ztj/XEQaCCvUpWu/cq3obpy0VnBLkYlULTGwDsBeJZsLf6I+CUQcm7Go8T23Nu+z7aCBACeRds/bvp5SQhWy6pGD+5iy7CV1dJ/b4HVr7bVFzDwkpcsua1WsxPKFscOzUvuUp53vdD9Puxfzk1PtM/T8mX3DMILRDNi7dSCqmWTGRx7FqesUt4jjzEc1mJz6mIGfGlyVG5MxF0/UhPNevQdbwbiXbc589IqoZ/fUH7USYaQ9mU5DEEvYOdG5X5Xx9o9VLD/v/T+IVrlhloVuzduXIsyfDghOrDU0PRw+DU9sI/XznoQG75o0eCW4e59Ojv13CMSqPsa5FgFB1X1lNhFe63vjwWY8CIkFS1SF81B7Bi+gdw/j0zOFXi9syGT0wzTPMYCyP7EYet37HFMFCkQ46DZn6CFe2YVRgBiJf1veesUSdSeN4FOiHNyzhgFw6At45Zu3hLFKYf3ojf4knEDpF86IzdHKDV5vS/M+fta1PI=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(396003)(346002)(376002)(39860400002)(451199015)(46966006)(40470700004)(36840700001)(70206006)(70586007)(478600001)(8676002)(44832011)(81166007)(4326008)(6666004)(82740400003)(2906002)(40460700003)(356005)(316002)(54906003)(6916009)(36756003)(40480700001)(86362001)(83380400001)(47076005)(426003)(1076003)(8936002)(5660300002)(2616005)(336012)(186003)(41300700001)(26005)(36860700001)(82310400005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:18:28.4455
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b0e85081-b8f3-47d8-5bbf-08dad81adb3e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E653.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6924

Remove master device from the IOMMU.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 xen/drivers/passthrough/device_tree.c | 38 +++++++++++++++++++++++++++
 xen/include/xen/iommu.h               |  2 ++
 2 files changed, 40 insertions(+)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 457df333a0..a8ba0b0d17 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -126,6 +126,44 @@ int iommu_release_dt_devices(struct domain *d)
     return 0;
 }
 
+int iommu_remove_dt_device(struct dt_device_node *np)
+{
+    const struct iommu_ops *ops = iommu_get_ops();
+    struct device *dev = dt_to_dev(np);
+    int rc;
+
+    if ( !ops )
+        return -EOPNOTSUPP;
+
+    spin_lock(&dtdevs_lock);
+
+    if ( iommu_dt_device_is_assigned_locked(np) ) {
+        rc = -EBUSY;
+        goto fail;
+    }
+
+    /*
+     * The driver which supports generic IOMMU DT bindings must have
+     * these callback implemented.
+     */
+    if ( !ops->remove_device ) {
+        rc = -EOPNOTSUPP;
+        goto fail;
+    }
+
+    /*
+     * Remove master device from the IOMMU if latter is present and available.
+     */
+    rc = ops->remove_device(0, dev);
+
+    if ( rc == 0 )
+        iommu_fwspec_free(dev);
+
+fail:
+    spin_unlock(&dtdevs_lock);
+    return rc;
+}
+
 int iommu_add_dt_device(struct dt_device_node *np)
 {
     const struct iommu_ops *ops = iommu_get_ops();
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 4f22fc1bed..1b36c0419d 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -225,6 +225,8 @@ int iommu_release_dt_devices(struct domain *d);
  */
 int iommu_add_dt_device(struct dt_device_node *np);
 
+int iommu_remove_dt_device(struct dt_device_node *np);
+
 int iommu_do_dt_domctl(struct xen_domctl *, struct domain *,
                        XEN_GUEST_HANDLE_PARAM(xen_domctl_t));
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:18:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:18:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455855.713513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlV-0002yW-RB; Wed, 07 Dec 2022 06:18:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455855.713513; Wed, 07 Dec 2022 06:18:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlV-0002yL-LD; Wed, 07 Dec 2022 06:18:45 +0000
Received: by outflank-mailman (input) for mailman id 455855;
 Wed, 07 Dec 2022 06:18:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2nlU-0001rE-AA
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:18:44 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fefb935c-75f6-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 07:18:43 +0100 (CET)
Received: from DS7PR03CA0315.namprd03.prod.outlook.com (2603:10b6:8:2b::10) by
 LV2PR12MB5941.namprd12.prod.outlook.com (2603:10b6:408:172::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:18:39 +0000
Received: from DS1PEPF0000E654.namprd02.prod.outlook.com
 (2603:10b6:8:2b:cafe::8c) by DS7PR03CA0315.outlook.office365.com
 (2603:10b6:8:2b::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:18:38 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E654.mail.protection.outlook.com (10.167.18.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Wed, 7 Dec 2022 06:18:38 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:34 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:18:33 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fefb935c-75f6-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jj0Lw93vBrmJv1JDJ/ATBpJAjMfpQBXXfYddtM+oTlePkqhEzM2P2P8vXKHweoVdNyPVrgl5HHpKIvE6oVRcdVdVsUgz75x+KK6yf6nF8IWJf0KUjaa0OeX2xRQfJpPilISnU9vu5XOSIGrUxwrKkHzua3XbyfQDAP6u994zMS4CJoAKMj2yhAR1y76utetYv2ofrQwd7f2vFc0OKqMTxYt3Ov0ovxIAJfPuIDYn7QRRSlPHM/1GIDsBHb8Bx/ap4urSz8WyS40Ve3lAz+L95a2q9+m4Krzm1HAig0ZXY9jMiNrWOCXzCl0oeE9pqCkb98iOrnOmAH71t2gOddXv7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7ti07e7HwAD9XqBya0RpIypdK+xP18bQKOLyxyXTyac=;
 b=U2rIoRkqre6KI2ht5G3fjCozSmiXPFkqEqy5Wr2f+/1kcXv/0UAZ6vh99PGoxmLfaVwog7ofstHnM71zyvUrTgJx3Re8OdKRX0/9ZbvlYfhnSYVQr9WvWqS4vUM5oDC4QLygJXcUNjdXokuguEbqmWofbZ1M3MBu8cfqFTS/JDVQ/CkL092GIrtAczQdjlj9UpCleLXIsMJPoGNBaJqgQ136AlCfcMeM1u//zuWX3QCrIEUefM6jMMIxyKIauaiuxIKmV8n/vyECsblLERIx20PJyMZPvd6Miehfnzn4J9POyzFLsKzsTZwAfEOQ/RFLGJEuoSRSSH2LqGWb6bMyAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7ti07e7HwAD9XqBya0RpIypdK+xP18bQKOLyxyXTyac=;
 b=ESSXY+RZ/KveE4VcWx/gEfYn3COpB7cOLPvWU+nkj0Q0unBH87gn19VZHvgUiO7+achjTCTKr4zj/w/zdSeHMb10Fmh5X5yiiarRutlceRCi6XKvnZe0D8YAplClYPO1DPNp9ak79cl7aG+mqorfgq8buXpHfgsLF2R8YYeS3Ug=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	<Luca.Fancellu@arm.com>
Subject: [XEN][RFC PATCH v4 11/16] common/device_tree: Add rwlock for dt_host
Date: Tue, 6 Dec 2022 22:18:10 -0800
Message-ID: <20221207061815.7404-5-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061815.7404-1-vikram.garhwal@amd.com>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E654:EE_|LV2PR12MB5941:EE_
X-MS-Office365-Filtering-Correlation-Id: eeb2441c-a59f-48b6-12ab-08dad81ae15d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1qb/anIJYWohn+XfNoKDoVRNnlQcPeXjA2zS5G3QxmRoaWTm/YN+XLcFBgvPNvF6D2ejTzgy76aykf1V7md55uUN473tn/YhVthPHf+VS8Zbyej0wUjhLKX245DriJ+eBFwdS2npHckfcovSnbnYALElUIFxpYod/MiTwIwHSDAZzU9l6yona4I+URQh+q7/KL0oWfioD0KBrYGTm4kHg9mH0c0XkrS2INGzs6v6i5CphmWqgyQu8zRM/ljxWeQR6bU3CQm7gysq8YgSchkDCb3LRD+vweakIRwa0mdGJihRt/aU98P94P00zQCUZXMAf5mqtucKdGE2wm5pxkwrftNX45FLnGU+k8Kt/XccOkaMlGMz7nQBOoos5TyJTZ3D16I4iWgM6XVzCOLBoqKlpwgdbVFPqYolVT+yvn9Ji0656obdTAj36+XWjQdRHgr0OfjUKDwQfy4dJv7QJ4XMyrJkF8vbasXx4zKN5XDG1S1dQ48tah8UzCWlWrkXPLwrPXW16JfBrnKe+BL6UfXZ5CrvsS6rygSBZlv7WDtK8KJvWLAMxdZW4yjDN9hcwxeQDmXmY5/rUwS/AX08VU0Hw5stnUHRUWbsDZTiP3cs3TlE4G0XL5vLI7aR36+HaoZv87VNbrtV5psMijW1t8WAlks8SjeEHumghkHu2a8mVjbtlWmvCL9Ege4Nfk5Y+OmotlTvAgkMDxrMuOx6C7RJ1Vrqi35HjJ8Z/g5SU8o1s7c=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(346002)(136003)(396003)(451199015)(40470700004)(46966006)(36840700001)(36756003)(86362001)(356005)(81166007)(8676002)(2906002)(70586007)(44832011)(8936002)(36860700001)(83380400001)(70206006)(316002)(4326008)(478600001)(2616005)(40460700003)(47076005)(336012)(426003)(186003)(6916009)(54906003)(1076003)(40480700001)(41300700001)(82740400003)(26005)(6666004)(5660300002)(82310400005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:18:38.7131
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eeb2441c-a59f-48b6-12ab-08dad81ae15d
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E654.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5941

 Dynamic programming ops will modify the dt_host and there might be other
 function which are browsing the dt_host at the same time. To avoid the race
 conditions, adding rwlock for browsing the dt_host.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 xen/common/device_tree.c      | 27 +++++++++++++++++++++++++++
 xen/include/xen/device_tree.h |  6 ++++++
 2 files changed, 33 insertions(+)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index acf26a411d..51ee2a5edf 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -140,6 +140,8 @@ const struct dt_property *dt_find_property(const struct dt_device_node *np,
     if ( !np )
         return NULL;
 
+    read_lock(&dt_host->lock);
+
     for ( pp = np->properties; pp; pp = pp->next )
     {
         if ( dt_prop_cmp(pp->name, name) == 0 )
@@ -150,6 +152,7 @@ const struct dt_property *dt_find_property(const struct dt_device_node *np,
         }
     }
 
+    read_unlock(&dt_host->lock);
     return pp;
 }
 
@@ -336,11 +339,14 @@ struct dt_device_node *dt_find_node_by_name(struct dt_device_node *from,
     struct dt_device_node *np;
     struct dt_device_node *dt;
 
+    read_lock(&dt_host->lock);
+
     dt = from ? from->allnext : dt_host;
     dt_for_each_device_node(dt, np)
         if ( np->name && (dt_node_cmp(np->name, name) == 0) )
             break;
 
+    read_unlock(&dt_host->lock);
     return np;
 }
 
@@ -350,11 +356,14 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
     struct dt_device_node *np;
     struct dt_device_node *dt;
 
+    read_lock(&dt_host->lock);
+
     dt = from ? from->allnext : dt_host;
     dt_for_each_device_node(dt, np)
         if ( np->type && (dt_node_cmp(np->type, type) == 0) )
             break;
 
+    read_unlock(&dt_host->lock);
     return np;
 }
 
@@ -363,10 +372,13 @@ struct dt_device_node *device_tree_find_node_by_path(struct dt_device_node *dt,
 {
     struct dt_device_node *np;
 
+    read_lock(&dt_host->lock);
+
     dt_for_each_device_node(dt, np)
         if ( np->full_name && (dt_node_cmp(np->full_name, path) == 0) )
             break;
 
+    read_unlock(&dt_host->lock);
     return np;
 }
 
@@ -450,6 +462,8 @@ dt_find_compatible_node(struct dt_device_node *from,
     struct dt_device_node *np;
     struct dt_device_node *dt;
 
+    read_lock(&dt_host->lock);
+
     dt = from ? from->allnext : dt_host;
     dt_for_each_device_node(dt, np)
     {
@@ -460,6 +474,7 @@ dt_find_compatible_node(struct dt_device_node *from,
             break;
     }
 
+    read_unlock(&dt_host->lock);
     return np;
 }
 
@@ -470,13 +485,19 @@ dt_find_matching_node(struct dt_device_node *from,
     struct dt_device_node *np;
     struct dt_device_node *dt;
 
+    read_lock(&dt_host->lock);
+
     dt = from ? from->allnext : dt_host;
     dt_for_each_device_node(dt, np)
     {
         if ( dt_match_node(matches, np) )
+        {
+            read_unlock(&dt_host->lock);
             return np;
+        }
     }
 
+    read_unlock(&dt_host->lock);
     return NULL;
 }
 
@@ -1052,10 +1073,13 @@ struct dt_device_node *dt_find_node_by_phandle(dt_phandle handle)
 {
     struct dt_device_node *np;
 
+    read_lock(&dt_host->lock);
+
     dt_for_each_device_node(dt_host, np)
         if ( np->phandle == handle )
             break;
 
+    read_unlock(&dt_host->lock);
     return np;
 }
 
@@ -2102,6 +2126,9 @@ int unflatten_device_tree(const void *fdt, struct dt_device_node **mynodes)
 
     dt_dprintk(" <- unflatten_device_tree()\n");
 
+    /* Init r/w lock for host device tree. */
+    rwlock_init(&dt_host->lock);
+
     return 0;
 }
 
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 51e251b0b4..bafc898f1c 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -18,6 +18,7 @@
 #include <xen/string.h>
 #include <xen/types.h>
 #include <xen/list.h>
+#include <xen/rwlock.h>
 
 #define DEVICE_TREE_MAX_DEPTH 16
 
@@ -106,6 +107,11 @@ struct dt_device_node {
     struct list_head domain_list;
 
     struct device dev;
+
+    /*
+     * Lock that protects r/w updates to unflattened device tree i.e. dt_host.
+     */
+    rwlock_t lock;
 };
 
 #define dt_to_dev(dt_node)  (&(dt_node)->dev)
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:18:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:18:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455857.713524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlX-0003GU-4p; Wed, 07 Dec 2022 06:18:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455857.713524; Wed, 07 Dec 2022 06:18:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlW-0003FW-Vl; Wed, 07 Dec 2022 06:18:46 +0000
Received: by outflank-mailman (input) for mailman id 455857;
 Wed, 07 Dec 2022 06:18:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2nlV-0001e0-G8
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:18:45 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20616.outbound.protection.outlook.com
 [2a01:111:f400:fe59::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff479659-75f6-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 07:18:43 +0100 (CET)
Received: from MW4PR03CA0074.namprd03.prod.outlook.com (2603:10b6:303:b6::19)
 by PH7PR12MB7210.namprd12.prod.outlook.com (2603:10b6:510:205::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:18:40 +0000
Received: from CO1NAM11FT111.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b6:cafe::c1) by MW4PR03CA0074.outlook.office365.com
 (2603:10b6:303:b6::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:18:40 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT111.mail.protection.outlook.com (10.13.174.61) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.15 via Frontend Transport; Wed, 7 Dec 2022 06:18:39 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:38 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 22:18:38 -0800
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:18:37 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff479659-75f6-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iHjg41A5jbp5+CaLhktJqQGbB/zs2y3zqHDMnW5BDTLEA0THQKch2X+z2V4c54ZYspMBE3I57vBCZ9T/6fDHDurtqCf0bfogUNKU0uQhkve+CCuqk4AU1dXSkYARg2CrJevxm+Ulouh+xdoylcZqxClD/B5W/pkNz5R/rI9jwmHXBVp09krNzzTThpEXypSYjCmhSsIn5rXthuXi/yFX+NzdYNOTXHlQj1BBqcC7nNO0UUQ5iokfuUJgF03sP5RNhQxZgL8P54j3vGigboooLpm6m7CkA6YTdjuKrKt+h1N2AgrhfBTgaohJDGSKg7MuB/0zMHbra5EH9O8PS3gKvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GshHSMMJR5sgvqnRBFWDW+JaPUeWwgv68C3b1I7NOss=;
 b=eXwdyU7f6elrVR0jEwglOlpYZbcsrZCQCPPW/BPvAHNFIZPjnSIYlhiDCM4vNRBaxV6i0gXkQvQwII6wpSliEoQa5Oi0hfDSVel1j0MOHospV1jBA/Ifl5lINHKSRf51L0l0MMYFArp5wD1KJlBo6zUr12fQKDjgS1aBV06WKuB/DmxtOWhWYUToAMWju2iNew0DZtIldkNssKQruBIu3zCzCqb7WWoXgHg1jAiV/bJ+6p6+ZlUrQABQt82aRON91R1Y+t4caKlmUJSQUwvXP3cFHVB7ExzCG5IJi869td1eOk5fPKlxKlPdV+WCihcyzJZPyIXlYYbMRsUmNEtYJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GshHSMMJR5sgvqnRBFWDW+JaPUeWwgv68C3b1I7NOss=;
 b=ngkRp+p3Eed2Jsl+X5qWDztdyMEHjmBYIr7NVweoLlG0Dvuq093TksJKJP9/M3u1tPljqr4l2XGuNG3onLARgHHxoGk4idfLlmZCU/oYxQEr6yivoDgmFQ9sVnqdvwockB/t0j+krdaKZsPTalCr+nQr7M8TbXuICMpJiJPt++o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	<Luca.Fancellu@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "George
 Dunlap" <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Wei Liu
	<wl@xen.org>
Subject: [XEN][RFC PATCH v4 12/16] xen/arm: Implement device tree node removal functionalities
Date: Tue, 6 Dec 2022 22:18:11 -0800
Message-ID: <20221207061815.7404-6-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061815.7404-1-vikram.garhwal@amd.com>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT111:EE_|PH7PR12MB7210:EE_
X-MS-Office365-Filtering-Correlation-Id: 57cfdc65-127b-439c-cafe-08dad81ae1b5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yLZhAjp0lEBRWb5nMY1TRjBi9e9muVFTpyR+75qqg5iX0yHm6dHxdAKPiez1qM2H7tqxUStiLTr3ssPt2ehoC1wtJ7l5UIVe69J8E48STJEhtYz+unFpd2qhsuOtcTZ+8chIR6j3lkRRMz8f01ltcmZizbWMpQEEcjePm4nsMv/XU24tejeTz4Q8zSobaBMFdN+G9o4ggnib7MMQ/RqpYtIDs24nFSgAkVdI7Ek2BXfe/9GwjLLY1KUdtW4/SfceQ5jlOeL9hXuyzpgi8XGIIKP2Q3ySc3Pu3wB3hmRd+Q+doJfVJ6yjGJd/VzhZ34hEHTdEFgnHARPs84rAE345lnO1F0auMhzKGbJpDg87E23+ygYiSh040wkVS8grUGQbA8/zaYt8hcjC11kKZ58GgVIadPbV13N8O7gniM4l4Zf+cSe2nINXraGtamwg0IlZQbOrpgSExNvBWPjejWMufvzogO/Q06XqRaLZyJKC84ZDZgqyJZ0wVah1t8k7MeWe+KU1q0b1UXKI40uH0HQjzQzBTyMP0LJZZ4dgfdmvDj5mUJJc2rTmT5fr48YvG1HqzLVq4LwR8Vzdy9zLVR5kPVw4Hn8aLN9zRwzKuwK6JIWUwjj26BgJZReec9pT8akNAe0+GMwXioUj8SO0KcAa3XvEjocsojyQKqq+ZpCSM1kvMXz/AurNuRbvj/nmaKRlUT01KePm1uuFYGTet2bEaJx9K2aDAjhjEdv9UaDX2SKDNj8jrwHvMnLRrSwNCHkYEAqki29NtvfI7ANbkny5S6tv2u5GC5AFk0cKzYN57xw=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(346002)(396003)(39860400002)(451199015)(46966006)(40470700004)(36840700001)(47076005)(478600001)(40460700003)(86362001)(26005)(40480700001)(426003)(81166007)(36756003)(356005)(336012)(82740400003)(82310400005)(186003)(1076003)(83380400001)(2616005)(30864003)(44832011)(41300700001)(5660300002)(8676002)(4326008)(36860700001)(70586007)(6666004)(316002)(70206006)(54906003)(6916009)(8936002)(2906002)(403724002)(2004002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:18:39.2477
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 57cfdc65-127b-439c-cafe-08dad81ae1b5
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT111.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7210

Introduce sysctl XEN_SYSCTL_dt_overlay to remove device-tree nodes added using
device tree overlay.

xl dt_overlay remove file.dtbo:
    Removes all the nodes in a given dtbo.
    First, removes IRQ permissions and MMIO accesses. Next, it finds the nodes
    in dt_host and delete the device node entries from dt_host.

    The nodes get removed only if it is not used by any of dom0 or domio.

Also, added overlay_track struct to keep the track of added node through device
tree overlay. overlay_track has dt_host_new which is unflattened form of updated
fdt and name of overlay nodes. When a node is removed, we also free the memory
used by overlay_track for the particular overlay node.

Nested overlay removal is supported in sequential manner only i.e. if
overlay_child nests under overlay_parent, it is assumed that user first removes
overlay_child and then removes overlay_parent.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 xen/common/Makefile          |   1 +
 xen/common/dt_overlay.c      | 411 +++++++++++++++++++++++++++++++++++
 xen/common/sysctl.c          |   5 +
 xen/include/public/sysctl.h  |  19 ++
 xen/include/xen/dt_overlay.h |  55 +++++
 5 files changed, 491 insertions(+)
 create mode 100644 xen/common/dt_overlay.c
 create mode 100644 xen/include/xen/dt_overlay.h

diff --git a/xen/common/Makefile b/xen/common/Makefile
index 3baf83d527..58a35f55b2 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -7,6 +7,7 @@ obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
 obj-$(CONFIG_HAS_DEVICE_TREE) += device_tree.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
 obj-y += domain.o
+obj-$(CONFIG_OVERLAY_DTB) += dt_overlay.o
 obj-y += event_2l.o
 obj-y += event_channel.o
 obj-y += event_fifo.o
diff --git a/xen/common/dt_overlay.c b/xen/common/dt_overlay.c
new file mode 100644
index 0000000000..477341f0aa
--- /dev/null
+++ b/xen/common/dt_overlay.c
@@ -0,0 +1,411 @@
+/*
+ * xen/common/dt_overlay.c
+ *
+ * Device tree overlay support in Xen.
+ *
+ * Copyright (c) 2022 AMD Inc.
+ * Written by Vikram Garhwal <vikram.garhwal@amd.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms and conditions of the GNU General Public
+ * License, version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+#include <xen/iocap.h>
+#include <xen/xmalloc.h>
+#include <asm/domain_build.h>
+#include <xen/dt_overlay.h>
+#include <xen/guest_access.h>
+
+static LIST_HEAD(overlay_tracker);
+static DEFINE_SPINLOCK(overlay_lock);
+
+/* Find last descendants of the device_node. */
+static struct dt_device_node *find_last_descendants_node(
+                                            struct dt_device_node *device_node)
+{
+    struct dt_device_node *child_node;
+
+    for ( child_node = device_node->child; child_node->sibling != NULL;
+          child_node = child_node->sibling )
+    {
+    }
+
+    /* If last child_node also have children. */
+    if ( child_node->child )
+        child_node = find_last_descendants_node(child_node);
+    return child_node;
+}
+
+static int dt_overlay_remove_node(struct dt_device_node *device_node)
+{
+    struct dt_device_node *np;
+    struct dt_device_node *parent_node;
+    struct dt_device_node *device_node_last_descendant = device_node->child;
+
+    parent_node = device_node->parent;
+
+    if ( parent_node == NULL )
+    {
+        dt_dprintk("%s's parent node not found\n", device_node->name);
+        return -EFAULT;
+    }
+
+    np = parent_node->child;
+
+    if ( np == NULL )
+    {
+        dt_dprintk("parent node %s's not found\n", parent_node->name);
+        return -EFAULT;
+    }
+
+    /* If node to be removed is only child node or first child. */
+    if ( !dt_node_cmp(np->full_name, device_node->full_name) )
+    {
+        parent_node->child = np->sibling;
+
+        /*
+         * Iterate over all child nodes of device_node. Given that we are
+         * removing parent node, we need to remove all it's descendants too.
+         */
+        if ( device_node_last_descendant )
+        {
+            device_node_last_descendant =
+                                        find_last_descendants_node(device_node);
+            parent_node->allnext = device_node_last_descendant->allnext;
+        }
+        else
+            parent_node->allnext = np->allnext;
+
+        return 0;
+    }
+
+    for ( np = parent_node->child; np->sibling != NULL; np = np->sibling )
+    {
+        if ( !dt_node_cmp(np->sibling->full_name, device_node->full_name) )
+        {
+            /* Found the node. Now we remove it. */
+            np->sibling = np->sibling->sibling;
+
+            if ( np->child )
+                np = find_last_descendants_node(np);
+
+            /*
+             * Iterate over all child nodes of device_node. Given that we are
+             * removing parent node, we need to remove all it's descendants too.
+             */
+            if ( device_node_last_descendant )
+                device_node_last_descendant =
+                                        find_last_descendants_node(device_node);
+
+            if ( device_node_last_descendant )
+                np->allnext = device_node_last_descendant->allnext;
+            else
+                np->allnext = np->allnext->allnext;
+
+            break;
+        }
+    }
+
+    return 0;
+}
+
+/* Basic sanity check for the dtbo tool stack provided to Xen. */
+static int check_overlay_fdt(const void *overlay_fdt, uint32_t overlay_fdt_size)
+{
+    if ( (fdt_totalsize(overlay_fdt) != overlay_fdt_size) ||
+          fdt_check_header(overlay_fdt) )
+    {
+        printk(XENLOG_ERR "The overlay FDT is not a valid Flat Device Tree\n");
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+/* Count number of nodes till one level of __overlay__ tag. */
+static unsigned int overlay_node_count(void *fdto)
+{
+    unsigned int num_overlay_nodes = 0;
+    int fragment;
+
+    fdt_for_each_subnode(fragment, fdto, 0)
+    {
+        int subnode;
+        int overlay;
+
+        overlay = fdt_subnode_offset(fdto, fragment, "__overlay__");
+
+        /*
+         * overlay value can be < 0. But fdt_for_each_subnode() loop checks for
+         * overlay >= 0. So, no need for a overlay>=0 check here.
+         */
+        fdt_for_each_subnode(subnode, fdto, overlay)
+        {
+            num_overlay_nodes++;
+        }
+    }
+
+    return num_overlay_nodes;
+}
+
+static int handle_remove_irq_iommu(struct dt_device_node *device_node)
+{
+    int rc = 0;
+    struct domain *d = hardware_domain;
+    domid_t domid = 0;
+    unsigned int naddr, len;
+    unsigned int i, nirq;
+    u64 addr, size;
+
+    domid = dt_device_used_by(device_node);
+
+    dt_dprintk("Checking if node %s is used by any domain\n",
+               device_node->full_name);
+
+    /* Remove the node iff it's assigned to domain 0 or domain io. */
+    if ( domid != 0 && domid != DOMID_IO )
+    {
+        printk(XENLOG_ERR "Device %s as it is being used by domain %d. Removing nodes failed\n",
+               device_node->full_name, domid);
+        return -EINVAL;
+    }
+
+    dt_dprintk("Removing node: %s\n", device_node->full_name);
+
+    nirq = dt_number_of_irq(device_node);
+
+    /* Remove IRQ permission */
+    for ( i = 0; i < nirq; i++ )
+    {
+        rc = platform_get_irq(device_node, i);;
+
+        if ( irq_access_permitted(d, rc) == false )
+        {
+            printk(XENLOG_ERR "IRQ %d is not routed to domain %d\n", rc,
+                   domid);
+            return -EINVAL;
+        }
+        /*
+         * TODO: We don't handle shared IRQs for now. So, it is assumed that
+         * the IRQs was not shared with another devices.
+         */
+        rc = irq_deny_access(d, rc);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "unable to revoke access for irq %u for %s\n",
+                   i, device_node->full_name);
+            return rc;
+        }
+    }
+
+    /* Check if iommu property exists. */
+    if ( dt_get_property(device_node, "iommus", &len) )
+    {
+
+        rc = iommu_remove_dt_device(device_node);
+        if ( rc != 0 && rc != -ENXIO )
+            return rc;
+    }
+
+    naddr = dt_number_of_address(device_node);
+
+    /* Remove mmio access. */
+    for ( i = 0; i < naddr; i++ )
+    {
+        rc = dt_device_get_address(device_node, i, &addr, &size);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
+                   i, dt_node_full_name(device_node));
+            return rc;
+        }
+
+        rc = iomem_deny_access(d, paddr_to_pfn(addr),
+                               paddr_to_pfn(PAGE_ALIGN(addr + size - 1)));
+        if ( rc )
+        {
+            printk(XENLOG_ERR "Unable to remove dom%d access to"
+                   " 0x%"PRIx64" - 0x%"PRIx64"\n",
+                   d->domain_id,
+                   addr & PAGE_MASK, PAGE_ALIGN(addr + size) - 1);
+            return rc;
+        }
+
+    }
+
+    return rc;
+}
+
+/* Removes all descendants of the given node. */
+static int remove_all_descendant_nodes(struct dt_device_node *device_node)
+{
+    int rc = 0;
+    struct dt_device_node *child_node;
+
+    for ( child_node = device_node->child; child_node != NULL;
+         child_node = child_node->sibling )
+    {
+        if ( child_node->child )
+            remove_all_descendant_nodes(child_node);
+
+        rc = handle_remove_irq_iommu(child_node);
+        if ( rc )
+            return rc;
+    }
+
+    return rc;
+}
+
+/* Remove nodes from dt_host. */
+static int remove_nodes(const struct overlay_track *tracker)
+{
+    int rc = 0;
+    struct dt_device_node *overlay_node;
+    unsigned int j;
+
+    for ( j = 0; j < tracker->num_nodes; j++ )
+    {
+        overlay_node = (struct dt_device_node *)tracker->nodes_address[j];
+        if ( overlay_node == NULL )
+        {
+            printk(XENLOG_ERR "Device %s is not present in the tree. Removing nodes failed\n",
+                   overlay_node->full_name);
+            return -EINVAL;
+        }
+
+        rc = remove_all_descendant_nodes(overlay_node);
+
+        /* All children nodes are unmapped. Now remove the node itself. */
+        rc = handle_remove_irq_iommu(overlay_node);
+        if ( rc )
+            return rc;
+
+        read_lock(&dt_host->lock);
+
+        rc = dt_overlay_remove_node(overlay_node);
+        if ( rc )
+        {
+            read_unlock(&dt_host->lock);
+
+            return rc;
+        }
+
+        read_unlock(&dt_host->lock);
+    }
+
+    return rc;
+}
+
+/*
+ * First finds the device node to remove. Check if the device is being used by
+ * any dom and finally remove it from dt_host. IOMMU is already being taken care
+ * while destroying the domain.
+ */
+static long handle_remove_overlay_nodes(void *overlay_fdt,
+                                        uint32_t overlay_fdt_size)
+{
+    int rc = 0;
+    struct overlay_track *entry, *temp, *track;
+    bool found_entry = false;
+
+    rc = check_overlay_fdt(overlay_fdt, overlay_fdt_size);
+    if ( rc )
+        return rc;
+
+    if ( overlay_node_count(overlay_fdt) == 0 )
+        return -ENOMEM;
+
+    spin_lock(&overlay_lock);
+
+    /*
+     * First check if dtbo is correct i.e. it should one of the dtbo which was
+     * used when dynamically adding the node.
+     * Limitation: Cases with same node names but different property are not
+     * supported currently. We are relying on user to provide the same dtbo
+     * as it was used when adding the nodes.
+     */
+    list_for_each_entry_safe( entry, temp, &overlay_tracker, entry )
+    {
+        if ( memcmp(entry->overlay_fdt, overlay_fdt, overlay_fdt_size) == 0 )
+        {
+            track = entry;
+            found_entry = true;
+            break;
+        }
+    }
+
+    if ( found_entry == false )
+    {
+        rc = -EINVAL;
+
+        printk(XENLOG_ERR "Cannot find any matching tracker with input dtbo."
+               " Removing nodes is supported for only prior added dtbo. Please"
+               " provide a valid dtbo which was used to add the nodes.\n");
+        goto out;
+
+    }
+
+    rc = remove_nodes(entry);
+
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Removing node failed\n");
+        goto out;
+    }
+
+    list_del(&entry->entry);
+
+    xfree(entry->dt_host_new);
+    xfree(entry->fdt);
+    xfree(entry->overlay_fdt);
+
+    xfree(entry->nodes_address);
+
+    xfree(entry);
+
+out:
+    spin_unlock(&overlay_lock);
+    return rc;
+}
+
+long dt_sysctl(struct xen_sysctl_dt_overlay *op)
+{
+    long ret = 0;
+    void *overlay_fdt;
+
+    if ( op->overlay_fdt_size <= 0 || op->overlay_fdt_size > 500000 )
+        return -EINVAL;
+
+    overlay_fdt = xmalloc_bytes(op->overlay_fdt_size);
+
+    if ( overlay_fdt == NULL )
+        return -ENOMEM;
+
+    ret = copy_from_guest(overlay_fdt, op->overlay_fdt, op->overlay_fdt_size);
+    if ( ret )
+    {
+        gprintk(XENLOG_ERR, "copy from guest failed\n");
+        xfree(overlay_fdt);
+
+        return -EFAULT;
+    }
+
+    switch ( op->overlay_op )
+    {
+    case XEN_SYSCTL_DT_OVERLAY_REMOVE:
+        ret = handle_remove_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
+        xfree(overlay_fdt);
+
+        break;
+
+    default:
+        break;
+    }
+
+    return ret;
+}
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index 02505ab044..bb338b7c27 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -28,6 +28,7 @@
 #include <xen/pmstat.h>
 #include <xen/livepatch.h>
 #include <xen/coverage.h>
+#include <xen/dt_overlay.h>
 
 long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
 {
@@ -482,6 +483,10 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
             copyback = 1;
         break;
 
+    case XEN_SYSCTL_dt_overlay:
+        ret = dt_sysctl(&op->u.dt_overlay);
+        break;
+
     default:
         ret = arch_do_sysctl(op, u_sysctl);
         copyback = 0;
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 5672906729..4bc76bbe27 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -1079,6 +1079,23 @@ typedef struct xen_sysctl_cpu_policy xen_sysctl_cpu_policy_t;
 DEFINE_XEN_GUEST_HANDLE(xen_sysctl_cpu_policy_t);
 #endif
 
+#define XEN_SYSCTL_DT_OVERLAY_ADD                   1
+#define XEN_SYSCTL_DT_OVERLAY_REMOVE                2
+
+/*
+ * XEN_SYSCTL_dt_overlay
+ * Performs addition/removal of device tree nodes under parent node using dtbo.
+ * This does in three steps:
+ *  - Adds/Removes the nodes from dt_host.
+ *  - Adds/Removes IRQ permission for the nodes.
+ *  - Adds/Removes MMIO accesses.
+ */
+struct xen_sysctl_dt_overlay {
+    XEN_GUEST_HANDLE_64(void) overlay_fdt;
+    uint32_t overlay_fdt_size;  /* Overlay dtb size. */
+    uint8_t overlay_op; /* Add or remove. */
+};
+
 struct xen_sysctl {
     uint32_t cmd;
 #define XEN_SYSCTL_readconsole                    1
@@ -1109,6 +1126,7 @@ struct xen_sysctl {
 #define XEN_SYSCTL_livepatch_op                  27
 /* #define XEN_SYSCTL_set_parameter              28 */
 #define XEN_SYSCTL_get_cpu_policy                29
+#define XEN_SYSCTL_dt_overlay                    30
     uint32_t interface_version; /* XEN_SYSCTL_INTERFACE_VERSION */
     union {
         struct xen_sysctl_readconsole       readconsole;
@@ -1139,6 +1157,7 @@ struct xen_sysctl {
 #if defined(__i386__) || defined(__x86_64__)
         struct xen_sysctl_cpu_policy        cpu_policy;
 #endif
+        struct xen_sysctl_dt_overlay        dt_overlay;
         uint8_t                             pad[128];
     } u;
 };
diff --git a/xen/include/xen/dt_overlay.h b/xen/include/xen/dt_overlay.h
new file mode 100644
index 0000000000..30f4b86586
--- /dev/null
+++ b/xen/include/xen/dt_overlay.h
@@ -0,0 +1,55 @@
+/*
+ * xen/common/dt_overlay.h
+ *
+ * Device tree overlay support in Xen.
+ *
+ * Copyright (c) 2022 AMD Inc.
+ * Written by Vikram Garhwal <vikram.garhwal@amd.com>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms and conditions of the GNU General Public
+ * License, version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+#ifndef __XEN_DT_SYSCTL_H__
+#define __XEN_DT_SYSCTL_H__
+
+#include <xen/list.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/device_tree.h>
+#include <xen/rangeset.h>
+
+/*
+ * overlay_node_track describes information about added nodes through dtbo.
+ * @entry: List pointer.
+ * @dt_host_new: Pointer to the updated dt_host_new unflattened 'updated fdt'.
+ * @fdt: Stores the fdt.
+ * @nodes_fullname: Stores the full name of nodes.
+ * @nodes_irq: Stores the IRQ added from overlay dtb.
+ * @node_num_irq: Stores num of IRQ for each node in overlay dtb.
+ * @num_nodes: Stores total number of nodes in overlay dtb.
+ */
+struct overlay_track {
+    struct list_head entry;
+    struct dt_device_node *dt_host_new;
+    void *fdt;
+    void *overlay_fdt;
+    unsigned long *nodes_address;
+    unsigned int num_nodes;
+};
+
+struct xen_sysctl_dt_overlay;
+
+#ifdef CONFIG_OVERLAY_DTB
+long dt_sysctl(struct xen_sysctl_dt_overlay *op);
+#else
+static inline long dt_sysctl(struct xen_sysctl_dt_overlay *op)
+{
+    return -ENOSYS;
+}
+#endif
+#endif
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:18:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:18:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455861.713535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlc-0003s0-Il; Wed, 07 Dec 2022 06:18:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455861.713535; Wed, 07 Dec 2022 06:18:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nlc-0003rk-FV; Wed, 07 Dec 2022 06:18:52 +0000
Received: by outflank-mailman (input) for mailman id 455861;
 Wed, 07 Dec 2022 06:18:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2nlb-0001e0-0d
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:18:51 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20627.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 027862e7-75f7-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 07:18:48 +0100 (CET)
Received: from DS7PR03CA0154.namprd03.prod.outlook.com (2603:10b6:5:3b2::9) by
 DM6PR12MB4105.namprd12.prod.outlook.com (2603:10b6:5:217::18) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.13; Wed, 7 Dec 2022 06:18:45 +0000
Received: from DS1PEPF0000E652.namprd02.prod.outlook.com
 (2603:10b6:5:3b2:cafe::6e) by DS7PR03CA0154.outlook.office365.com
 (2603:10b6:5:3b2::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:18:45 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E652.mail.protection.outlook.com (10.167.18.8) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Wed, 7 Dec 2022 06:18:45 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:45 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:18:44 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 027862e7-75f7-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gl9zA5Rlw6Z18406/kvz9L6rxskXGoVieYrESwNAT9FGrO17EIYKr3qD5Hh93U7dg3j5OdXrcpNJbMJpwVuchm0bRquWUfFcwyQ/3DVMJHNsyVQ7mChOXovHFqm6E8gwN5INEsnwqQZByDUdTxLOyKUHI5jcP/jQC1fI9F3sAjAh4iOD7dzgbpCRG3XL6moj1+5AwWg3+1B/PPcsYpj2EHopOVG/bqNYT47C+/CKdpK5wIlErHyGaRG1FKTC9EIkYA0t8adMQ2gq19ky6u7mbecqW4UumL2xfCLfwI9sL5wLIlnExdqRC56XwusKShEkDH+5365lX3H5y3iRZ2JL9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JOPPAvQXWI6mBEMr+gwu+U1QiIWcZR6lM0h0oeP5Sao=;
 b=ee2Tk4HAwaQ9cqfiAlRY7yeiOnycD83/2kEdWajTm5S5QzdKHktLmrbmdB+QgU06p4CGOMSf07RGFeqYPv3oDCsSimNmyr78i0H0SFtTjT2zjjNKc6owb329vhHggdkuz3bftB8aw997KkQjBEQzrZIuEDu0s6jTUEK2lxjflz/jVAW0YVegjY+brapXq3bMz/oyGHegt1RoUZZ+BC7hzocawqP1ElC4xItHQSeXIUzQWBKqSQKN61CDj3VwnxQFV4Pkn2/fUWFC8MAVI/b8MaFH7Cy1aj5Koxmrizj9Z8IVs62jGV04wFiCnly5PJ6hvFteWiS9k2oJbp32KZkJKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JOPPAvQXWI6mBEMr+gwu+U1QiIWcZR6lM0h0oeP5Sao=;
 b=4bvf5nmqnRYkljZdCWjjctvzN4ZMW0P5h23MHs2YnQRWjX18XifbUtrYEjcZq629x1s/CtIs68FWP2CZXFiVtrP/2DlUTpaC0syZdBrnsTvMquElOAnNbRDrFfv86ba9RdMJ5/9GNkXD0OsZJU6UpHERQO4nwrv8Aj8Zs1xPlbw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	<Luca.Fancellu@arm.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [XEN][RFC PATCH v4 15/16] tools/libs/light: Implement new libxl functions for device tree overlay ops
Date: Tue, 6 Dec 2022 22:18:14 -0800
Message-ID: <20221207061815.7404-9-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061815.7404-1-vikram.garhwal@amd.com>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E652:EE_|DM6PR12MB4105:EE_
X-MS-Office365-Filtering-Correlation-Id: 2e5429a2-6bb2-40cc-58cb-08dad81ae590
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uQYnwTJBZzzsIDxJKS00fctYfhKUCWfH+75jtjPY809tsXrPz8uqlvA5YwyId370pOzr2fv9Z7koJuuynbp3cNRsn05b17KgKcOPz6xtoYum66NSw8BNxZ0oG6cJ+E3pgckLdUXR9+lQJV8rcznSW1koAr+meuJsSkXMbqm39MaDePOSAgQLy69nhF97pOimj0c8L3AQh+XTCkKcZ3rBg5rWkJiYqLcNCQFQPY47tmqXezdNAGXUfo19FUYXOMG1I2ZdFcYsRJaCBMd60cHOi9d+9dIvztLX2LugYDLIU9NtRQv8PesleLQ9sBSw6ZFXM9JOgJTpjRsFZdWVZego+LiZjXhY3piruPjzCWUUXrN4VY7L4o3dK/FPWblZXCnL6nPNmmsK9JSzzU0y33X0QAJg2REO8ARh0p6h53sRh13CMmNNGG35bR308b7C7uS/vMwKfWPJBDR/LYpq8BHIBaO8ONAZjph9X3XD/Mu2VSSUHr1myz7h5LYRwNvWf20rIgCsMzvsrQD9/48yV1A2n9lC528zTKRiDP4rPXcGs/olPVhT27SABICQCWvZ9s4PdCR4ZN32OY9irg639t1/AMtdDwcICtfPWsQaHvkoqXgqOAJ1ntwU9h7ZJ1k/wcIt6UcH6K5/+/yJgUQMffrKb2VUekjRmPOy0CiygGdsijP7TOMkk7ygGeB+XvC3sl/BWlHfRd/msrlAI67AVdlfXS95Afxy2tyRkqepRsnlwKksbH12AQJGZSleD/BSIdDo
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(39860400002)(376002)(396003)(451199015)(46966006)(40470700004)(36840700001)(36756003)(40460700003)(316002)(5660300002)(81166007)(6916009)(54906003)(426003)(336012)(41300700001)(86362001)(2616005)(47076005)(356005)(82310400005)(82740400003)(36860700001)(186003)(6666004)(40480700001)(478600001)(8936002)(26005)(2906002)(8676002)(4326008)(70206006)(1076003)(70586007)(44832011)(2004002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:18:45.7444
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2e5429a2-6bb2-40cc-58cb-08dad81ae590
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E652.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4105

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
---
 tools/include/libxl.h               |  8 ++++
 tools/libs/light/Makefile           |  3 ++
 tools/libs/light/libxl_dt_overlay.c | 72 +++++++++++++++++++++++++++++
 3 files changed, 83 insertions(+)
 create mode 100644 tools/libs/light/libxl_dt_overlay.c

diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 2321a648a5..82fc7ce6b9 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -245,6 +245,11 @@
  */
 #define LIBXL_HAVE_DEVICETREE_PASSTHROUGH 1
 
+/**
+ * This means Device Tree Overlay is supported.
+ */
+#define LIBXL_HAVE_DT_OVERLAY 1
+
 /*
  * libxl_domain_build_info has device_model_user to specify the user to
  * run the device model with. See docs/misc/qemu-deprivilege.txt.
@@ -2448,6 +2453,9 @@ libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid,
                                         int *num);
 void libxl_device_pci_list_free(libxl_device_pci* list, int num);
 
+int libxl_dt_overlay(libxl_ctx *ctx, void *overlay,
+                     uint32_t overlay_size, uint8_t overlay_op);
+
 /*
  * Turns the current process into a backend device service daemon
  * for a driver domain.
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 374be1cfab..2fde58246e 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -111,6 +111,9 @@ OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
 OBJS-y += _libxl_types_internal.o
 
+# Device tree overlay is enabled only for ARM architecture.
+OBJS-$(CONFIG_ARM) += libxl_dt_overlay.o
+
 ifeq ($(CONFIG_LIBNL),y)
 CFLAGS_LIBXL += $(LIBNL3_CFLAGS)
 endif
diff --git a/tools/libs/light/libxl_dt_overlay.c b/tools/libs/light/libxl_dt_overlay.c
new file mode 100644
index 0000000000..38cab880a0
--- /dev/null
+++ b/tools/libs/light/libxl_dt_overlay.c
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2021 Xilinx Inc.
+ * Author Vikram Garhwal <fnu.vikram@xilinx.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_osdeps.h" /* must come before any other headers */
+#include "libxl_internal.h"
+#include <libfdt.h>
+#include <xenguest.h>
+#include <xenctrl.h>
+
+static int check_overlay_fdt(libxl__gc *gc, void *fdt, size_t size)
+{
+    int r;
+
+    if (fdt_magic(fdt) != FDT_MAGIC) {
+        LOG(ERROR, "Overlay FDT is not a valid Flat Device Tree");
+        return ERROR_FAIL;
+    }
+
+    r = fdt_check_header(fdt);
+    if (r) {
+        LOG(ERROR, "Failed to check the overlay FDT (%d)", r);
+        return ERROR_FAIL;
+    }
+
+    if (fdt_totalsize(fdt) > size) {
+        LOG(ERROR, "Overlay FDT totalsize is too big");
+        return ERROR_FAIL;
+    }
+
+    return 0;
+}
+
+int libxl_dt_overlay(libxl_ctx *ctx, void *overlay_dt, uint32_t overlay_dt_size,
+                     uint8_t overlay_op)
+{
+    int rc;
+    int r;
+    GC_INIT(ctx);
+
+    if (check_overlay_fdt(gc, overlay_dt, overlay_dt_size)) {
+        LOG(ERROR, "Overlay DTB check failed");
+        rc = ERROR_FAIL;
+        goto out;
+    } else {
+        LOG(DEBUG, "Overlay DTB check passed");
+        rc = 0;
+    }
+
+    r = xc_dt_overlay(ctx->xch, overlay_dt, overlay_dt_size, overlay_op);
+
+    if (r) {
+        LOG(ERROR, "%s: Adding/Removing overlay dtb failed.", __func__);
+        rc = ERROR_FAIL;
+    }
+
+out:
+    GC_FREE;
+    return rc;
+}
+
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:18:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:18:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455862.713546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nld-0004CF-Tl; Wed, 07 Dec 2022 06:18:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455862.713546; Wed, 07 Dec 2022 06:18:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nld-0004Bh-Ol; Wed, 07 Dec 2022 06:18:53 +0000
Received: by outflank-mailman (input) for mailman id 455862;
 Wed, 07 Dec 2022 06:18:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2nlc-0001rE-64
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:18:52 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe59::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03d11df2-75f7-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 07:18:51 +0100 (CET)
Received: from DS7PR03CA0021.namprd03.prod.outlook.com (2603:10b6:5:3b8::26)
 by CY8PR12MB8298.namprd12.prod.outlook.com (2603:10b6:930:7c::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:18:48 +0000
Received: from DS1PEPF0000E64E.namprd02.prod.outlook.com
 (2603:10b6:5:3b8:cafe::9b) by DS7PR03CA0021.outlook.office365.com
 (2603:10b6:5:3b8::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:18:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E64E.mail.protection.outlook.com (10.167.18.4) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Wed, 7 Dec 2022 06:18:48 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:47 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 22:18:47 -0800
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:18:46 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03d11df2-75f7-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e1fb3yvNkfoPTHLSJ5CDiIpmRT84v6oW3L0EN8V6n5/+aFJcM+kzYe+eyeLMBVA8Q6ZbLQAMJGaydUGteV3OmGEdgEi2ngNaDs7fq0UHW1gBy38G0A39tbJh2bX+tp0W+C6WbGx1uiOOLoMRiJcPt9NcHsN5fVyt8NAwcGBy4T12JW78sGaF9rFxvOd/juB5tlIWd9d6EdxyrsThXW4EfoSUEsTziqoEh2HBQT1LXQHIrsqYYR5YnhuHnVSBD/IPZ545YmWEM+jRPBquxtyUzQ2JTguPpM4k09ijoyzNsqYNncDD3lr65M+WBMJErgFb4/LJexsNGy2vWsTwB6HYBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BuoYa3ejdKptzo6evNtz7S4dZu6LLa77J+UAHvefdHA=;
 b=duVyDuB00dbJugGCzltfibeIiRVsSX8dLnHMzSHL8lEY4NgYXrBK+T/xM/1cSFdaB/oQpttntjYyQOr5h799RXvDDen+7beAisAugXOWqF/Z97rFnQPVOyUQNOXlEZxXgzfHMomSPqnlwrW2JCjqJ3PpW2WuSQq9kKPKgq/4IbpZHtte3rkVtd8LvJ4DVO9TKWL7nLVez6ohnrHeDAPLrmiCRCN1iu6/gpEftX+g3rNbajY8XmfzTlT45A5UuXcf/Kl1JsbXLRKpjmJIdtVXuzLwR3+y1zLu090VydaaNsbYhMJC1Ix/iK0BsvFpvN2n/db8uskQ97+vbC6WMoGg8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BuoYa3ejdKptzo6evNtz7S4dZu6LLa77J+UAHvefdHA=;
 b=eeoiBpzM/bO6s03305AX6O1r1dyJZjR0bHjbd0vO1mOMvpT7RrHVXjHpZwW50VahklK4fJCalDRZe5jIwwsmMPkaxMCtM82BOOKvjkjZ4iK53bxRsF74BAd3nhYMIIyyRvyVauJu2nQKd69YwLP8EVCgGExzPSzTizMxLQGzSYw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	<Luca.Fancellu@arm.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>
Subject: [XEN][RFC PATCH v4 16/16] tools/xl: Add new xl command overlay for device tree overlay support
Date: Tue, 6 Dec 2022 22:18:15 -0800
Message-ID: <20221207061815.7404-10-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061815.7404-1-vikram.garhwal@amd.com>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E64E:EE_|CY8PR12MB8298:EE_
X-MS-Office365-Filtering-Correlation-Id: bbc46c4d-5228-43bc-2a95-08dad81ae6f6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+ETeav/QZDjQl6TGBYBcr2zgceIcDIq0XGk29itftJU8gHReJthJsOag8RnuRIjfDIMhNNl9DLnCwDwxiNxHkvCD4jxsDvDcPlxY1pfaiWDrs85E2nSYpd6rK+CxnpTf6Xtq4qsM6kiSXZPRZrBIyZFidWGaaWH1qPeM87xBhCYZTbJTnSllJJwjMUwUkSO8+qX6TQPY80L0oa9ASaCx8W/AzxZOOqIcx0Z2Sk3MokKfq2ggQvADK0vOvTitODxJQUsxsdDg8VZd0nf/erajBXPnAGi90U7Ai1ZTTOVKJcyxj0LX1iEOzeYq7Azxs2cYaqysIdSadahRMXYcBXqK2R+C/1hxakYJrHNK4ot2dYN6NQ5UdeuUTukqDtKo9ks58lvXNY2V+ayRTclPOOe357uzkpDlomUc2igzyJMNzZv4V/t9MfWZ0kKQOBtx8bAiXiziWYy1kYru0aNUmBuYaHt0iSQU/y6EU6mhz4/Gb3ZgWpX/XG/88IE6th0El0lIsHDo8lW2Ps2/x6wTBFvw1X6M4obAWPQSFRggJWBdxlEjXRZ8oczetoPYtFnDcHSTw9fFYhocgy8yy/rZpWgXZaFn+9YJ3SOD1UPmaKIb6bfXe9oTLB28H/Qt9ORO0wPlSVR4C37Hmfx20bcUdnzRCfLd+XgNHs0G/pycFpwJw6M1euYTkwS/FVTvXEf9tfW/rLjD8BBuwx9db5YhzO5Pl+VujUeq5xaHbEadclhlXcA=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(346002)(396003)(376002)(451199015)(40470700004)(46966006)(36840700001)(36860700001)(83380400001)(356005)(40460700003)(86362001)(81166007)(8936002)(44832011)(5660300002)(2906002)(4326008)(41300700001)(478600001)(186003)(40480700001)(82310400005)(26005)(336012)(1076003)(426003)(6666004)(47076005)(2616005)(6916009)(54906003)(70206006)(70586007)(316002)(8676002)(82740400003)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:18:48.1050
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bbc46c4d-5228-43bc-2a95-08dad81ae6f6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E64E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8298

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 tools/xl/xl.h           |  1 +
 tools/xl/xl_cmdtable.c  |  6 ++++++
 tools/xl/xl_vmcontrol.c | 48 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 55 insertions(+)

diff --git a/tools/xl/xl.h b/tools/xl/xl.h
index 7c9aff6ad7..6e95dfe6ea 100644
--- a/tools/xl/xl.h
+++ b/tools/xl/xl.h
@@ -138,6 +138,7 @@ int main_shutdown(int argc, char **argv);
 int main_reboot(int argc, char **argv);
 int main_list(int argc, char **argv);
 int main_vm_list(int argc, char **argv);
+int main_dt_overlay(int argc, char **argv);
 int main_create(int argc, char **argv);
 int main_config_update(int argc, char **argv);
 int main_button_press(int argc, char **argv);
diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
index 35182ca196..868364c58d 100644
--- a/tools/xl/xl_cmdtable.c
+++ b/tools/xl/xl_cmdtable.c
@@ -630,6 +630,12 @@ const struct cmd_spec cmd_table[] = {
       "Issue a qemu monitor command to the device model of a domain",
       "<Domain> <Command>",
     },
+    { "dt_overlay",
+      &main_dt_overlay, 0, 1,
+      "Add/Remove a device tree overlay",
+      "add/remove <.dtbo>"
+      "-h print this help\n"
+    },
 };
 
 const int cmdtable_len = ARRAY_SIZE(cmd_table);
diff --git a/tools/xl/xl_vmcontrol.c b/tools/xl/xl_vmcontrol.c
index 5518c78dc6..b5f04e2741 100644
--- a/tools/xl/xl_vmcontrol.c
+++ b/tools/xl/xl_vmcontrol.c
@@ -1265,6 +1265,54 @@ int main_create(int argc, char **argv)
     return 0;
 }
 
+int main_dt_overlay(int argc, char **argv)
+{
+    const char *overlay_ops = NULL;
+    const char *overlay_config_file = NULL;
+    void *overlay_dtb = NULL;
+    int rc;
+    uint8_t op;
+    int overlay_dtb_size = 0;
+    const int overlay_add_op = 1;
+    const int overlay_remove_op = 2;
+
+    if (argc < 2) {
+        help("dt_overlay");
+        return EXIT_FAILURE;
+    }
+
+    overlay_ops = argv[1];
+    overlay_config_file = argv[2];
+
+    if (strcmp(overlay_ops, "add") == 0)
+        op = overlay_add_op;
+    else if (strcmp(overlay_ops, "remove") == 0)
+        op = overlay_remove_op;
+    else {
+        fprintf(stderr, "Invalid dt overlay operation\n");
+        return ERROR_FAIL;
+    }
+
+    if (overlay_config_file) {
+        rc = libxl_read_file_contents(ctx, overlay_config_file,
+                                      &overlay_dtb, &overlay_dtb_size);
+
+        if (rc) {
+            fprintf(stderr, "failed to read the overlay device tree file %s\n",
+                    overlay_config_file);
+            free(overlay_dtb);
+            return ERROR_FAIL;
+        }
+    } else {
+        fprintf(stderr, "overlay dtbo file not provided\n");
+        return ERROR_FAIL;
+    }
+
+    rc = libxl_dt_overlay(ctx, overlay_dtb, overlay_dtb_size, op);
+
+    free(overlay_dtb);
+    return rc;
+}
 /*
  * Local variables:
  * mode: C
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:18:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:18:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455864.713551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nle-0004Gn-CA; Wed, 07 Dec 2022 06:18:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455864.713551; Wed, 07 Dec 2022 06:18:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nle-0004G2-5m; Wed, 07 Dec 2022 06:18:54 +0000
Received: by outflank-mailman (input) for mailman id 455864;
 Wed, 07 Dec 2022 06:18:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2nld-0001e0-13
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:18:53 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20625.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 02ab86e9-75f7-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 07:18:49 +0100 (CET)
Received: from MW4PR03CA0177.namprd03.prod.outlook.com (2603:10b6:303:8d::32)
 by MW3PR12MB4457.namprd12.prod.outlook.com (2603:10b6:303:2e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:18:42 +0000
Received: from CO1NAM11FT022.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:8d:cafe::cd) by MW4PR03CA0177.outlook.office365.com
 (2603:10b6:303:8d::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:18:42 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT022.mail.protection.outlook.com (10.13.175.199) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.14 via Frontend Transport; Wed, 7 Dec 2022 06:18:42 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:41 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:41 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:18:40 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02ab86e9-75f7-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cu9sv2pmwQtVrKGOBIJrtcGkKZSoRjsJUKo0P7TUNLyiksoRIDXbzxMlTPKUTkmrNs6b/sdjBEjGpZKXy2TDeWtl2iY+qOb9qgO1kZTGyQS8RBjjRpALlbyeovW2/rNZok6897MZHy5GsS0NkNBWvU5ra1LIJSrmHvP43VUIJnbg8YD8sFTN3p8K/hmpo1+v8HngaDzaIoG0UhtKtqLH9R3xyk0Yo/ugtDrNup3XMffKMdUryi4jnCxsKvI4v2n5NxaAx8i2kSVp4X0W934hjsKAf8tiYEdRqqbRVjh7i3jd3MPJR+HSzbCCGm/jtNZfhk67LvCCpJE4+ESdLRp/Qg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=K37W2xBZWHNKyU8WFAoV3vosjD3ABc6TdacNZiA/BmU=;
 b=AdWMclY4MWLB7f658pF5WT79TPBJA0VUUekFzr36z4igIKWkFrtrmWkhRjgzAnw4RROD7oMZF17QqBlnFGkrXVrZQ59tb/GWcOXkH458n02K6RBvMEXo45jAT5ScJ8XypEoExFPAz4RCgd1wdGHescx/dpj2ViZlAHmBwGNfiCpmBwFvTAyDq+3svMrlPMCpYI8YEda2kN0r0qJ70i0koYDoDZj3/oHbCUEZaZnYsqbgVPw2OU58vKZk7+5Kwc+21ayN43TC/lHIJvtSGhPhF9sd8riqApd3eMD1tPoxwlwI7zEFBHwFzOneBHnWwKEavEHLwCv6zEQaRs4MEUPj7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K37W2xBZWHNKyU8WFAoV3vosjD3ABc6TdacNZiA/BmU=;
 b=c93feq9udmz5nVUDcb5N3+KMtmkcq+XABN5YcOiojzQgVOar90TelQY2av6FP7UZM1U4ykADqmj2vdpKIAT0GKkYVrFBmjzXv5v6Bqj03trrksV52jzc3C/56qamag7qAAi3vpL8bYyde0TXnX9Io3zTC4VxL6r4Pv6hl3ogNSU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	<Luca.Fancellu@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "George
 Dunlap" <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Wei Liu
	<wl@xen.org>
Subject: [XEN][RFC PATCH v4 13/16] xen/arm: Implement device tree node addition functionalities
Date: Tue, 6 Dec 2022 22:18:12 -0800
Message-ID: <20221207061815.7404-7-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061815.7404-1-vikram.garhwal@amd.com>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT022:EE_|MW3PR12MB4457:EE_
X-MS-Office365-Filtering-Correlation-Id: 921af667-2afa-4fda-e9a9-08dad81ae375
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Nv50eSh/1et9UdT522j+pt8atIpKrwmbKjPYr2Bymg9CvBY5HceUdeuloI9oq5qcOFNZ1bQngo1nT9Agt4Z6dB2pj2O21SE0WJ7Zq9Jw3edLy+Z35pcqcb5uSZN01QfBRucJb8CjoHlZeEMmlCsA0nFtxPBPr/2RFUEwDAXdaJ+yteCG1rAwscyTuNcfJIhFY5ufoczkZi+XvPbEfF5gb0F3LYQCIb+FRz8OxcSHt0ghMVxsv5RFnMX/oiGBbTcLdcpxJxfoMoGICy8q9SxLDoKafQU+/CxQClg/GNKPf9lpQB3sO8By6pkmiWa+hSKFkQ5FHyn27DUA2BQXy/05yQykDm2gy2y70V5ehJ9EbJ1YTQENIWtgHJmIie+hjwD3wNr9zwBNutw5SxKwD05eFmCLBDBOZnIkia9To21pzrYs8u9NiP5BZT/It92l/pS4NZMpS6cMXbKp5xTRX6TTvntG24x9d2WzI5fAki0Yy3cuEY8YhCrapKJN9qvJWi+/ZeoDmgkQJK2dru259F2QkD4G5/2zay8b1Ugj9PasNs8+mTDNpBImXz8bEa0PUtT4HSMAqOkXiE9PLC8YcgT1CTIoJPpMMpZsM2J6dOJZ0bem9i6A6Mo6A/2FrKuxGyQuQNVP8A1c/QzvP8hx30ZHftlNn+BpE7rrNhNK/kELq8oRcIQjT2rRXdyP2ZkjOPssniBLOrKxqGxKh4F8orM8dlkkjZM2M+VySOJDA2Jc8EM=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(396003)(39860400002)(136003)(451199015)(40470700004)(36840700001)(46966006)(426003)(47076005)(83380400001)(186003)(41300700001)(336012)(82310400005)(26005)(36860700001)(1076003)(8936002)(2616005)(5660300002)(82740400003)(30864003)(2906002)(8676002)(44832011)(81166007)(4326008)(6666004)(40460700003)(478600001)(70206006)(70586007)(356005)(86362001)(54906003)(36756003)(6916009)(316002)(40480700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:18:42.1532
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 921af667-2afa-4fda-e9a9-08dad81ae375
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT022.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4457

Update sysctl XEN_SYSCTL_dt_overlay to enable support for dtbo nodes addition
using device tree overlay.

xl dt_overlay add file.dtbo:
    Each time overlay nodes are added using .dtbo, a new fdt(memcpy of
    device_tree_flattened) is created and updated with overlay nodes. This
    updated fdt is further unflattened to a dt_host_new. Next, it checks if any
    of the overlay nodes already exists in the dt_host. If overlay nodes doesn't
    exist then find the overlay nodes in dt_host_new, find the overlay node's
    parent in dt_host and add the nodes as child under their parent in the
    dt_host. The node is attached as the last node under target parent.

    Finally, add IRQs, add device to IOMMUs, set permissions and map MMIO for the
    overlay node.

When a node is added using overlay, a new entry is allocated in the
overlay_track to keep the track of memory allocation due to addition of overlay
node. This is helpful for freeing the memory allocated when a device tree node
is removed.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 xen/common/dt_overlay.c | 465 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 465 insertions(+)

diff --git a/xen/common/dt_overlay.c b/xen/common/dt_overlay.c
index 477341f0aa..f5426b9dab 100644
--- a/xen/common/dt_overlay.c
+++ b/xen/common/dt_overlay.c
@@ -38,9 +38,29 @@ static struct dt_device_node *find_last_descendants_node(
     /* If last child_node also have children. */
     if ( child_node->child )
         child_node = find_last_descendants_node(child_node);
+
     return child_node;
 }
 
+/*
+ * Returns next node to the input node. If node has children then return
+ * last descendant's next node.
+*/
+static struct dt_device_node *dt_find_next_node(struct dt_device_node *dt,
+                                                struct dt_device_node *node)
+{
+    struct dt_device_node *np;
+
+    dt_for_each_device_node(dt, np)
+        if ( np == node )
+            break;
+
+    if ( np->child )
+        np = find_last_descendants_node(np);
+
+    return np->allnext;
+}
+
 static int dt_overlay_remove_node(struct dt_device_node *device_node)
 {
     struct dt_device_node *np;
@@ -114,6 +134,74 @@ static int dt_overlay_remove_node(struct dt_device_node *device_node)
     return 0;
 }
 
+static int dt_overlay_add_node(struct dt_device_node *device_node,
+                               const char *parent_node_path)
+{
+    struct dt_device_node *parent_node;
+    struct dt_device_node *np, *np_last_descendant;
+    struct dt_device_node *next_node;
+    struct dt_device_node *device_node_last_descendant;
+
+    parent_node = dt_find_node_by_path(parent_node_path);
+
+    if ( parent_node == NULL )
+    {
+        dt_dprintk("Node not found. Overlay node will not be added\n");
+        return -EINVAL;
+    }
+
+    /* If parent has no child. */
+    if ( parent_node->child == NULL )
+    {
+        next_node = parent_node->allnext;
+        device_node->parent = parent_node;
+        parent_node->allnext = device_node;
+        parent_node->child = device_node;
+    }
+    else
+    {
+        /* If parent has at least one child node.
+         * Iterate to the last child node of parent.
+         */
+        for ( np = parent_node->child; np->sibling != NULL; np = np->sibling )
+        {
+        }
+
+        /* Iterate over all child nodes of np node. */
+        if ( np->child )
+        {
+            np_last_descendant = find_last_descendants_node(np);
+
+            next_node = np_last_descendant->allnext;
+            np_last_descendant->allnext = device_node;
+        }
+        else
+        {
+            next_node = np->allnext;
+            np->allnext = device_node;
+        }
+
+        device_node->parent = parent_node;
+        np->sibling = device_node;
+        np->sibling->sibling = NULL;
+    }
+
+    /* Iterate over all child nodes of device_node to add children too. */
+    if ( device_node->child )
+    {
+        device_node_last_descendant = find_last_descendants_node(device_node);
+        /* Plug next_node at the end of last children of device_node. */
+        device_node_last_descendant->allnext = next_node;
+    }
+    else
+    {
+        /* Now plug next_node at the end of device_node. */
+        device_node->allnext = next_node;
+    }
+
+    return 0;
+}
+
 /* Basic sanity check for the dtbo tool stack provided to Xen. */
 static int check_overlay_fdt(const void *overlay_fdt, uint32_t overlay_fdt_size)
 {
@@ -153,6 +241,79 @@ static unsigned int overlay_node_count(void *fdto)
     return num_overlay_nodes;
 }
 
+/*
+ * overlay_get_nodes_info will get full name with path for all the nodes which
+ * are in one level of __overlay__ tag. This is useful when checking node for
+ * duplication i.e. dtbo tries to add nodes which already exists in device tree.
+ */
+static int overlay_get_nodes_info(const void *fdto, char ***nodes_full_path,
+                                  unsigned int num_overlay_nodes)
+{
+    int fragment;
+    unsigned int node_num = 0;
+
+    *nodes_full_path = xzalloc_bytes(num_overlay_nodes * sizeof(char *));
+
+    if ( *nodes_full_path == NULL )
+        return -ENOMEM;
+
+    fdt_for_each_subnode(fragment, fdto, 0)
+    {
+        int target;
+        int overlay;
+        int subnode;
+        const char *target_path;
+
+        target = fdt_overlay_target_offset(device_tree_flattened, fdto,
+                                           fragment, &target_path);
+        if ( target < 0 )
+            return target;
+
+        overlay = fdt_subnode_offset(fdto, fragment, "__overlay__");
+
+        /*
+         * overlay value can be < 0. But fdt_for_each_subnode() loop checks for
+         * overlay >= 0. So, no need for a overlay>=0 check here.
+         */
+        fdt_for_each_subnode(subnode, fdto, overlay)
+        {
+            const char *node_name = NULL;
+            int node_name_len = 0;
+            unsigned int target_path_len = strlen(target_path);
+            unsigned int node_full_name_len = 0;
+
+            node_name = fdt_get_name(fdto, subnode, &node_name_len);
+
+            if ( node_name == NULL )
+                return -EINVAL;
+
+            /*
+             * Magic number 2 is for adding '/'. This is done to keep the
+             * node_full_name in the correct full node name format.
+             */
+            node_full_name_len = target_path_len + node_name_len + 2;
+
+            (*nodes_full_path)[node_num] = xmalloc_bytes(node_full_name_len);
+
+            if ( (*nodes_full_path)[node_num] == NULL )
+                return -ENOMEM;
+
+            memcpy((*nodes_full_path)[node_num], target_path, target_path_len);
+
+            (*nodes_full_path)[node_num][target_path_len] = '/';
+
+            memcpy((*nodes_full_path)[node_num] + target_path_len + 1,
+                    node_name, node_name_len);
+
+            (*nodes_full_path)[node_num][node_full_name_len - 1] = '\0';
+
+            node_num++;
+        }
+    }
+
+    return 0;
+}
+
 static int handle_remove_irq_iommu(struct dt_device_node *device_node)
 {
     int rc = 0;
@@ -373,6 +534,302 @@ out:
     return rc;
 }
 
+/*
+ * Handles IRQ and IOMMU mapping for the overlay_node and all descendants of the
+ * overlay_nodes.
+ */
+static int handle_add_irq_iommu(struct domain *d,
+                                struct dt_device_node *overlay_node)
+{
+    int rc = 0;
+    unsigned int naddr, i, len;
+    u64 addr, size;
+    struct dt_device_node *np;
+
+    /* First let's handle the interrupts. */
+    rc = handle_device_interrupts(d, overlay_node, false);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Interrupt failed\n");
+        return rc;
+    }
+
+    /* Check if iommu property exists. */
+    if ( dt_get_property(overlay_node, "iommus", &len) )
+    {
+
+        /* Add device to IOMMUs. */
+        rc = iommu_add_dt_device(overlay_node);
+        if ( rc < 0 )
+        {
+            printk(XENLOG_ERR "Failed to add %s to the IOMMU\n",
+                   dt_node_full_name(overlay_node));
+            return rc;
+        }
+    }
+
+    /* Set permissions. */
+    naddr = dt_number_of_address(overlay_node);
+
+    dt_dprintk("%s passthrough = %d naddr = %u\n",
+               dt_node_full_name(overlay_node), false, naddr);
+
+    /* Give permission for map MMIOs */
+    for ( i = 0; i < naddr; i++ )
+    {
+        struct map_range_data mr_data = { .d = d,
+                                          .p2mt = p2m_mmio_direct_c,
+                                          .skip_mapping = true };
+
+        rc = dt_device_get_address(overlay_node, i, &addr, &size);
+        if ( rc )
+        {
+            printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
+                   i, dt_node_full_name(overlay_node));
+            return rc;
+        }
+
+        rc = map_range_to_domain(overlay_node, addr, size, &mr_data);
+        if ( rc )
+            return rc;
+    }
+
+    /* Map IRQ and IOMMU for overlay_node's children. */
+    for ( np = overlay_node->child; np != NULL; np = np->sibling)
+    {
+        rc = handle_add_irq_iommu(d, np);
+    }
+
+    return rc;
+}
+
+/*
+ * Adds device tree nodes under target node.
+ * We use tr->dt_host_new to unflatten the updated device_tree_flattened. This
+ * is done to avoid the removal of device_tree generation, iomem regions mapping
+ * to hardware domain done by handle_node().
+ */
+static long handle_add_overlay_nodes(void *overlay_fdt,
+                                     uint32_t overlay_fdt_size)
+{
+    int rc = 0, j = 0, i;
+    struct dt_device_node *overlay_node, *prev_node, *next_node;
+    struct domain *d = hardware_domain;
+    struct overlay_track *tr = NULL;
+    char **nodes_full_path = NULL;
+    unsigned int new_fdt_size;
+
+    tr = xzalloc(struct overlay_track);
+    if ( tr == NULL )
+    {
+        return -ENOMEM;
+    }
+
+    new_fdt_size = fdt_totalsize(device_tree_flattened) +
+                                 fdt_totalsize(overlay_fdt);
+
+    tr->fdt = xzalloc_bytes(new_fdt_size);
+    if ( tr->fdt == NULL )
+        return -ENOMEM;
+
+    tr->num_nodes = overlay_node_count(overlay_fdt);
+    if ( tr->num_nodes == 0 )
+    {
+        xfree(tr->fdt);
+        return -ENOMEM;
+    }
+
+    tr->nodes_address = xzalloc_bytes(tr->num_nodes * sizeof(unsigned long));
+    if ( tr->nodes_address == NULL )
+    {
+        xfree(tr->fdt);
+        return -ENOMEM;
+    }
+
+    rc = check_overlay_fdt(overlay_fdt, overlay_fdt_size);
+    if ( rc )
+    {
+        xfree(tr->fdt);
+        return rc;
+    }
+
+    /*
+     * Keep a copy of overlay_fdt as fdt_overlay_apply will change the input
+     * overlay's content(magic) when applying overlay.
+     */
+    tr->overlay_fdt = xzalloc_bytes(overlay_fdt_size);
+    if ( tr->overlay_fdt == NULL )
+    {
+        xfree(tr->fdt);
+        return -ENOMEM;
+    }
+
+    memcpy(tr->overlay_fdt, overlay_fdt, overlay_fdt_size);
+
+    spin_lock(&overlay_lock);
+
+    memcpy(tr->fdt, device_tree_flattened,
+           fdt_totalsize(device_tree_flattened));
+
+    /* Open tr->fdt with more space to accommodate the overlay_fdt. */
+    fdt_open_into(tr->fdt, tr->fdt, new_fdt_size);
+
+    /*
+     * overlay_get_nodes_info is called to get the node information from dtbo.
+     * This is done before fdt_overlay_apply() because the overlay apply will
+     * erase the magic of overlay_fdt.
+     */
+    rc = overlay_get_nodes_info(overlay_fdt, &nodes_full_path,
+                                tr->num_nodes);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Getting nodes information failed with error %d\n",
+               rc);
+        goto err;
+    }
+
+    rc = fdt_overlay_apply(tr->fdt, overlay_fdt);
+    if ( rc )
+    {
+        printk(XENLOG_ERR "Adding overlay node failed with error %d\n", rc);
+        goto err;
+    }
+
+    /*
+     * Check if any of the node already exists in dt_host. If node already exits
+     * we can return here as this overlay_fdt is not suitable for overlay ops.
+     */
+    for ( j = 0; j < tr->num_nodes; j++ )
+    {
+        overlay_node = dt_find_node_by_path(nodes_full_path[j]);
+        if ( overlay_node != NULL )
+        {
+            printk(XENLOG_ERR "node %s exists in device tree\n",
+                   nodes_full_path[j]);
+            rc = -EINVAL;
+            goto err;
+        }
+    }
+
+    /* Unflatten the tr->fdt into a new dt_host. */
+    rc = unflatten_device_tree(tr->fdt, &tr->dt_host_new);
+    if ( rc < 0 )
+        goto err;
+
+    for ( j = 0; j < tr->num_nodes; j++ )
+    {
+        dt_dprintk("Adding node: %s\n", nodes_full_path[j]);
+
+        /* Find the newly added node in tr->dt_host_new by it's full path. */
+        overlay_node = device_tree_find_node_by_path(tr->dt_host_new,
+                                                     nodes_full_path[j]);
+        if ( overlay_node == NULL )
+        {
+            dt_dprintk("%s node not found\n", nodes_full_path[j]);
+            rc = -EFAULT;
+            goto remove_node;
+        }
+
+        /*
+         * Find previous and next node to overlay_node in dt_host_new. We will
+         * need these nodes to fix the dt_host_new mapping. When overlay_node is
+         * take out of dt_host_new tree and added to dt_host, link between
+         * previous node and next_node is broken. We will need to refresh
+         * dt_host_new with correct linking for any other overlay nodes
+         * extraction in future.
+         */
+        dt_for_each_device_node(tr->dt_host_new, prev_node)
+            if ( prev_node->allnext == overlay_node )
+                break;
+
+        next_node = dt_find_next_node(tr->dt_host_new, overlay_node);
+
+        read_lock(&dt_host->lock);
+
+        /* Add the node to dt_host. */
+        rc = dt_overlay_add_node(overlay_node, overlay_node->parent->full_name);
+        if ( rc )
+        {
+            read_unlock(&dt_host->lock);
+
+            /* Node not added in dt_host. */
+            goto remove_node;
+        }
+
+        read_unlock(&dt_host->lock);
+
+        prev_node->allnext = next_node;
+
+        overlay_node = dt_find_node_by_path(overlay_node->full_name);
+        if ( overlay_node == NULL )
+        {
+            /* Sanity check. But code will never come here. */
+            ASSERT_UNREACHABLE();
+            goto remove_node;
+        }
+
+        rc = handle_add_irq_iommu(d, overlay_node);
+
+        /* Keep overlay_node address in tracker. */
+        tr->nodes_address[j] = (unsigned long)overlay_node;
+    }
+
+    INIT_LIST_HEAD(&tr->entry);
+    list_add_tail(&tr->entry, &overlay_tracker);
+
+    spin_unlock(&overlay_lock);
+
+    if ( nodes_full_path != NULL )
+    {
+        for ( i = 0; i < tr->num_nodes && nodes_full_path[i] != NULL;
+              i++ )
+        {
+            xfree(nodes_full_path[i]);
+        }
+        xfree(nodes_full_path);
+    }
+
+    return rc;
+
+/*
+ * Failure case. We need to remove the nodes, free tracker(if tr exists) and
+ * tr->dt_host_new.
+ */
+remove_node:
+    tr->num_nodes = j;
+    rc = remove_nodes(tr);
+
+    if ( rc )
+    {
+        /* If removing node fails, this may cause memory leaks. */
+        printk(XENLOG_ERR "Removing node failed.\n");
+        spin_unlock(&overlay_lock);
+        return rc;
+    }
+
+err:
+    spin_unlock(&overlay_lock);
+
+    xfree(tr->dt_host_new);
+    xfree(tr->fdt);
+    xfree(tr->overlay_fdt);
+    xfree(tr->nodes_address);
+
+    if ( nodes_full_path != NULL )
+    {
+        for ( i = 0; i < tr->num_nodes && nodes_full_path[i] != NULL;
+              i++ )
+        {
+            xfree(nodes_full_path[i]);
+        }
+        xfree(nodes_full_path);
+    }
+
+    xfree(tr);
+
+    return rc;
+}
+
 long dt_sysctl(struct xen_sysctl_dt_overlay *op)
 {
     long ret = 0;
@@ -397,6 +854,14 @@ long dt_sysctl(struct xen_sysctl_dt_overlay *op)
 
     switch ( op->overlay_op )
     {
+    case XEN_SYSCTL_DT_OVERLAY_ADD:
+        ret = handle_add_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
+
+        if ( ret )
+            xfree(overlay_fdt);
+
+        break;
+
     case XEN_SYSCTL_DT_OVERLAY_REMOVE:
         ret = handle_remove_overlay_nodes(overlay_fdt, op->overlay_fdt_size);
         xfree(overlay_fdt);
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:18:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:18:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455865.713555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nle-0004LB-UI; Wed, 07 Dec 2022 06:18:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455865.713555; Wed, 07 Dec 2022 06:18:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2nle-0004KI-IR; Wed, 07 Dec 2022 06:18:54 +0000
Received: by outflank-mailman (input) for mailman id 455865;
 Wed, 07 Dec 2022 06:18:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2nld-0001rE-66
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:18:53 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 04af1d4a-75f7-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 07:18:51 +0100 (CET)
Received: from MW4PR02CA0013.namprd02.prod.outlook.com (2603:10b6:303:16d::13)
 by PH7PR12MB6811.namprd12.prod.outlook.com (2603:10b6:510:1b5::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 06:18:49 +0000
Received: from CO1NAM11FT018.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:16d:cafe::1) by MW4PR02CA0013.outlook.office365.com
 (2603:10b6:303:16d::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:18:48 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT018.mail.protection.outlook.com (10.13.175.16) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.15 via Frontend Transport; Wed, 7 Dec 2022 06:18:48 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:18:43 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 6 Dec
 2022 22:18:43 -0800
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:18:42 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04af1d4a-75f7-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b0AdmDvBPLBmoY07TZlWdAedXk4v6Y/sHS2JD/1MXwZRrKWpOCxFJqzXedQdGYNMqCO+Vl7cvdH0hxbGBFm0pDhfWYuRwh60aFGHPr/kEE+tDB+izWrMvlIyZg0m1dgUggx86KjaKqXzZklkt7G/swkX/VA3s6nelWcMaA1xW2emVohVuhfDZDNq5je3nOpxS6cJ4e9k+ME20FGaIFeQB3NlZrGMJx0FykC6t/fMzq7XbeI11Ej4Srom82stNriHe8hBbDI1rtXK9Ca4GVbP3/qM4G7zVvh4oVtJotqFWmLIwOPfbY6lm5qjT86+Kuy80zggSC6wQKIR1Zh7eidGTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=goLWEVa+AtelixIUgdIy7KMIuSqD1uMsMPZgQBv8oUg=;
 b=nM3rwMsCnVbvHf7SJnSqrtjzYrLS2CvC2p8HzU6MgokKF4B4NBCfzWyM9KxTRAKb3ZqyTLgYhO1bh2cfoosZPixzveJ7Bc5G102nvS8tLgSmXB80CX48NECYGXG2DMuRZQ8YSP9ZuTnLOE1p/wS8BhLgDbwt+j4OeKnBhAkJw+keprw3yjniB67X9oCyoNOj8AcjGWfXpEBVYjzYKdKY0qUG39IVl5c0I05MMsPbQ2tzN0nn/RCZGh51r0NgSEQue2dPyQdzjiAgCCitdQ2uYgGZrS3AF94NsCW950XITassvb3pweScZZwgXNG82/KTp7C7Z6kyXg1rmmBnvlsR5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=goLWEVa+AtelixIUgdIy7KMIuSqD1uMsMPZgQBv8oUg=;
 b=oAt7mPaMtzFOSb7vNNgL26FZkxX9ERs6kbMdC3/cDpU/ed1DVGnXN4wZ0pgZm0LBG4XHSr0JX9arcVkmrSkX/iwtfVmxkSRbu2kwMV7CH+RFFGL42uj+5HyvLL2lseiyoNx1/Nj3aFTr9ZszdMLp3OyXuoAslJ93MM6J5pZTvmw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>,
	<Luca.Fancellu@arm.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [XEN][RFC PATCH v4 14/16] tools/libs/ctrl: Implement new xc interfaces for dt overlay
Date: Tue, 6 Dec 2022 22:18:13 -0800
Message-ID: <20221207061815.7404-8-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061815.7404-1-vikram.garhwal@amd.com>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT018:EE_|PH7PR12MB6811:EE_
X-MS-Office365-Filtering-Correlation-Id: 02b244a0-2337-488b-cff3-08dad81ae6fc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	woF9ihQWiczNhFh8OM3ZTckui71eSo9l7wG8mrrycsCFv55BmDqZgpf1QUs2NKZnia8pvXPB4aVSrEQcZKyY5soJmumteRQnSmep54D9bpvrmhPfvikuNIb2lVjs/NNbLNhuX8ys6Wmav1P2JWp0S6cmhUu9Idzr/FszRPDW0AYkpi+yT1br/UthxAbDpAAs9E0gfLqYuKoS2nPnTIKxO6zcEvx1D7Kb1O47plcid6nXiu62mGYAKCPsxm3fTQjvtl9qpiut4bV7Zn5YAOGoT9l8ay2gLohabYD6KMQI5R/BmXfYEiUAxX/EF7ad+kGp/jgMhWLihTtCESIGhnfqh5aVpf1Dgiy6FrDklJ+PbmFNmHRhdhEccSl6+EBbFUSGRnpTw0zJv6RjgsZf6wARZATqwtm67aesF8mlfXbVm9wBFFTS/P0iyNWtsuaj35/XHmltSjvWLIgYEuU/JUegO/aYh1EhkhcYtW8Qsy6k5S8eTLHXbynU259nX7/LJwBBkZmkVbRHpXw2XOdaCN5M2Urf09juLHRFR2glU0OND15w2u4Txeo70qzZSrljT2bYzjyCE+Y6QNTlQJczrv883gceHjqj6ZmN5BgY3yLNY5skdsqq6pG21hKgx6347XU9XjuB9CYTEeGmhtzyvbh83gS76KUsEi8JYlpO3NgxEXmcUaF12iMQDXPyN3qZ9tlj/eEwMHIh/zgVPRWN8XXU1IHUqUY3CtRZ3XpMWE0PBSc+RCPfOJQqW5oUeQ2lTE4cjtUX7nttrr5tviaze4ieFf2xKT5LQ6aiOW5N8xWtAas=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(396003)(376002)(39860400002)(451199015)(36840700001)(46966006)(40470700004)(36756003)(70586007)(54906003)(356005)(86362001)(8936002)(41300700001)(81166007)(2906002)(40460700003)(44832011)(4326008)(5660300002)(36860700001)(478600001)(70206006)(316002)(2616005)(6916009)(82740400003)(40480700001)(82310400005)(8676002)(1076003)(47076005)(336012)(426003)(6666004)(186003)(26005)(2004002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:18:48.0705
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 02b244a0-2337-488b-cff3-08dad81ae6fc
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT018.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6811

xc_dt_overlay() sends the device tree binary overlay, size of .dtbo and overlay
operation type i.e. add or remove to xen.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 tools/include/xenctrl.h         |  3 ++
 tools/libs/ctrl/Makefile.common |  1 +
 tools/libs/ctrl/xc_dt_overlay.c | 51 +++++++++++++++++++++++++++++++++
 3 files changed, 55 insertions(+)
 create mode 100644 tools/libs/ctrl/xc_dt_overlay.c

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 0c8b4c3aa7..a71bc0bb1d 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2633,6 +2633,9 @@ int xc_livepatch_replace(xc_interface *xch, char *name, uint32_t timeout, uint32
 int xc_domain_cacheflush(xc_interface *xch, uint32_t domid,
                          xen_pfn_t start_pfn, xen_pfn_t nr_pfns);
 
+int xc_dt_overlay(xc_interface *xch, void *overlay_fdt,
+                  uint32_t overlay_fdt_size, uint8_t overlay_op);
+
 /* Compat shims */
 #include "xenctrl_compat.h"
 
diff --git a/tools/libs/ctrl/Makefile.common b/tools/libs/ctrl/Makefile.common
index 0a09c28fd3..247afbe5f9 100644
--- a/tools/libs/ctrl/Makefile.common
+++ b/tools/libs/ctrl/Makefile.common
@@ -24,6 +24,7 @@ OBJS-y       += xc_hcall_buf.o
 OBJS-y       += xc_foreign_memory.o
 OBJS-y       += xc_kexec.o
 OBJS-y       += xc_resource.o
+OBJS-$(CONFIG_ARM)  += xc_dt_overlay.o
 OBJS-$(CONFIG_X86) += xc_psr.o
 OBJS-$(CONFIG_X86) += xc_pagetab.o
 OBJS-$(CONFIG_Linux) += xc_linux.o
diff --git a/tools/libs/ctrl/xc_dt_overlay.c b/tools/libs/ctrl/xc_dt_overlay.c
new file mode 100644
index 0000000000..325c9ef4c0
--- /dev/null
+++ b/tools/libs/ctrl/xc_dt_overlay.c
@@ -0,0 +1,51 @@
+/*
+ *
+ * Device Tree Overlay functions.
+ * Copyright (C) 2021 Xilinx Inc.
+ * Author Vikram Garhwal <fnu.vikram@xilinx.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "xc_bitops.h"
+#include "xc_private.h"
+#include <xen/hvm/hvm_op.h>
+#include <libfdt.h>
+
+int xc_dt_overlay(xc_interface *xch, void *overlay_fdt,
+                  uint32_t overlay_fdt_size, uint8_t overlay_op)
+{
+    int err;
+    DECLARE_SYSCTL;
+
+    DECLARE_HYPERCALL_BOUNCE(overlay_fdt, overlay_fdt_size,
+                             XC_HYPERCALL_BUFFER_BOUNCE_IN);
+
+    if ( (err = xc_hypercall_bounce_pre(xch, overlay_fdt)) )
+        goto err;
+
+    sysctl.cmd = XEN_SYSCTL_dt_overlay;
+    sysctl.u.dt_overlay.overlay_op = overlay_op;
+    sysctl.u.dt_overlay.overlay_fdt_size = overlay_fdt_size;
+
+    set_xen_guest_handle(sysctl.u.dt_overlay.overlay_fdt, overlay_fdt);
+
+    if ( (err = do_sysctl(xch, &sysctl)) != 0 )
+        PERROR("%s failed", __func__);
+
+err:
+    xc_hypercall_bounce_post(xch, overlay_fdt);
+
+    return err;
+}
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 06:22:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 06:22:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455912.713579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2noc-0000Mh-T7; Wed, 07 Dec 2022 06:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455912.713579; Wed, 07 Dec 2022 06:21:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2noc-0000Ma-PO; Wed, 07 Dec 2022 06:21:58 +0000
Received: by outflank-mailman (input) for mailman id 455912;
 Wed, 07 Dec 2022 06:21:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p2njr-0007Hl-7e
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 06:17:03 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20602.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c2e756e5-75f6-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 07:17:02 +0100 (CET)
Received: from DS7PR03CA0289.namprd03.prod.outlook.com (2603:10b6:5:3ad::24)
 by DM4PR12MB5216.namprd12.prod.outlook.com (2603:10b6:5:398::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Wed, 7 Dec
 2022 06:16:59 +0000
Received: from DS1PEPF0000E654.namprd02.prod.outlook.com
 (2603:10b6:5:3ad:cafe::71) by DS7PR03CA0289.outlook.office365.com
 (2603:10b6:5:3ad::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 06:16:59 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000E654.mail.protection.outlook.com (10.167.18.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Wed, 7 Dec 2022 06:16:58 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:16:57 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 00:16:45 -0600
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 00:16:45 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2e756e5-75f6-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jpy825VLUYfE4H2lD6b/aQbb32tWiSlUvcJakqRcQOAqQ3Q3AAibepNS38zp9iob2pkpjaDohtZi0EVKcQ5wg5QO69RYpQEpY9TwxXbZH15WR8kz8Q8tF0uNb/FQrfAD4Np8tTmG9L/ki+1RaaQ5LCaZJvYdmOVlURrjyeDUzrxh5bmsdsdjZfyfhsUhWZ7yaCYOwOscqHbX7YS9q4nFBCXUhC4gyy2eDfkd/MjZuviofeqcY+bZaC74Ic+0P9iiJYzQr9c9cVg+H0C9fIQTOa2x+jcJToFoiJTewsms/p+U9cgSNRzE/OBjAOjrng1Wqk8LcGVlRNLU2fCgUW0fmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XLhSLOJ5pm1JyR9SwI48LW3Gv+ml3wGq6nn4glAMwVw=;
 b=mZdyUSw+gduU+S4Bmklwp/3OCIq7d1m3l+82Ct/ZJ7QQfyCdyq4uXPytuv5iXdTY4kYsygJVyM+/z8cNRnxsKW//bj/b1Onj9HKTZdGIkrEKO1lkD87El76izF2csDpHZelOE+lSw4vxxHmGx8JOqIljB4hJNjQN82ReTrX1TlieZjvkMWXnWZomciUFGmBVyrMY4t93Z5+O5Q1wfiEGghSpcF69u8RqbozTcP6qPdUayAGhXTsFuvxww4/Tn9WmRDHyEatx9UVmn0WBnIo/zxjLSb6k0hO2WgEkwZUA36tTGvkTweEm45PNnSgmsiwTrxmyY25X2QxmiHdxQmdGpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XLhSLOJ5pm1JyR9SwI48LW3Gv+ml3wGq6nn4glAMwVw=;
 b=48DgmdHw/fs9ymW0IwuKa93kAS655+wM/S2taaiOWOQmDvH2JvvTVOomumVONakYO5UrVqblD0q5x6WtROOa2zDs7/Hg9N9LCydJbionWQd0BMHKOMxN0cmG+U/q77XyvxSyDZC8JPxJXKGYwH8u5h4FtVPzSBm22ycP8wRa3Ek=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <vikram.garhwal@amd.com>
Subject: [XEN][RFC PATCH v4 05/16] xen/device-tree: Add _dt_find_node_by_path() to find nodes in device tree
Date: Tue, 6 Dec 2022 22:15:26 -0800
Message-ID: <20221207061537.7266-6-vikram.garhwal@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207061537.7266-1-vikram.garhwal@amd.com>
References: <20221207061537.7266-1-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E654:EE_|DM4PR12MB5216:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b5055bc-cb43-4343-a874-08dad81aa5ea
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MshKseY3RAeYO9mGzT4vjUU/v2dV7DarewLsM++3JkgY60D2EMjI0aZvl6kZlEWkVbyanuozXyiJtBogz8hmFoVgAQYNgcoVvwt0RjY7TNk6SbUZy+GOmfqnMf2Z/6hi30PLacuEO7AQgeWLIlhw4PgZjr17qavT4UHIRdbNWMR2som63cEnqoyEHL4UIRljQLtR90QMqD6YgGXIQs4o151PmJAr3aGCjvGL4scWLdtD9GLbXMZvhRjLjsA/O5fJtEx7/KWga6JiRKKOzrXttTVyy0iNMQwia1DyrsFUwcBNVVenGHGu/N9XmIxM6BKL14ns/s1dTFk5BnKQkBZ0KsWTOob0OMMcG8gSYHqaX8UWTzc3xXtApgdOCPSiRGvdTpU9w4k+OvkYRHVy5GA4Ik6MOMNzBdvSAL/AHDIvrfGa9nLn+UxYWaYYb/YpQCdjyoPBwJDH2PDX8pz59NqxcU1gjyTG68j9CUJzP78JTmKQO5rO5mSwYXLRXX6hgwfhKSGLechjJVIu5HOe/fVbKfIli3Tv8vpb/+jEDaqLdjtflBm0s/60mt6q0XQFVsfis5q91SIx2oSdDBxaRI3ziqe7O3ro+C7yogSo1l72t+Do5KSEaYtboFXyXEWlSlA74ybeBBpFjoeINGMbzdb2ydFFUk9AXmTKzyyXCQLnuY1VtNGFDXIAmL+eWJxUXh66iIbjYW3UEFbZZ5u0YNrrohqEOsqGdKnN2AQ0HCO/Eibr0O8xEEgVB4W0aUSxB9MdSV1MPqO0sQUpRrZ0HMLqMg==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(396003)(39860400002)(136003)(451199015)(40470700004)(46966006)(36840700001)(8936002)(4326008)(356005)(82310400005)(8676002)(5660300002)(41300700001)(82740400003)(81166007)(44832011)(6916009)(36756003)(316002)(36860700001)(2906002)(26005)(83380400001)(70586007)(70206006)(40460700003)(6666004)(1076003)(54906003)(40480700001)(478600001)(186003)(2616005)(336012)(47076005)(426003)(86362001)(37363002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 06:16:58.9777
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b5055bc-cb43-4343-a874-08dad81aa5ea
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E654.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5216

Add _dt_find_by_path() to find a matching node with path for a dt_device_node.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 xen/common/device_tree.c      |  5 +++--
 xen/include/xen/device_tree.h | 16 ++++++++++++++--
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 6518eff9b0..acf26a411d 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -358,11 +358,12 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
     return np;
 }
 
-struct dt_device_node *dt_find_node_by_path(const char *path)
+struct dt_device_node *device_tree_find_node_by_path(struct dt_device_node *dt,
+                                                     const char *path)
 {
     struct dt_device_node *np;
 
-    dt_for_each_device_node(dt_host, np)
+    dt_for_each_device_node(dt, np)
         if ( np->full_name && (dt_node_cmp(np->full_name, path) == 0) )
             break;
 
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index bde46d7120..51e251b0b4 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -537,13 +537,25 @@ struct dt_device_node *dt_find_node_by_type(struct dt_device_node *from,
 struct dt_device_node *dt_find_node_by_alias(const char *alias);
 
 /**
- * dt_find_node_by_path - Find a node matching a full DT path
+ * device_tree_find_node_by_path - Find a node matching a full DT path
+ * @dt_node: The device tree to search
  * @path: The full path to match
  *
  * Returns a node pointer.
  */
-struct dt_device_node *dt_find_node_by_path(const char *path);
+struct dt_device_node *device_tree_find_node_by_path(struct dt_device_node *dt,
+                                                     const char *path);
 
+/**
+ * dt_find_node_by_path - Find a node matching a full DT path
+ * @path: The full path to match
+ *
+ * Returns a node pointer.
+ */
+static inline struct dt_device_node *dt_find_node_by_path(const char *path)
+{
+    return device_tree_find_node_by_path(dt_host, path);
+}
 
 /**
  * dt_find_node_by_gpath - Same as dt_find_node_by_path but retrieve the
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 07:21:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 07:21:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455950.713623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2okC-00018A-5X; Wed, 07 Dec 2022 07:21:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455950.713623; Wed, 07 Dec 2022 07:21:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2okC-00017t-1L; Wed, 07 Dec 2022 07:21:28 +0000
Received: by outflank-mailman (input) for mailman id 455950;
 Wed, 07 Dec 2022 07:21:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QqWv=4F=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p2okA-000163-UT
 for xen-devel@lists.xen.org; Wed, 07 Dec 2022 07:21:27 +0000
Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com
 [2607:f8b0:4864:20::102e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1bbead4-75ff-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 08:21:25 +0100 (CET)
Received: by mail-pj1-x102e.google.com with SMTP id
 3-20020a17090a098300b00219041dcbe9so713081pjo.3
 for <xen-devel@lists.xen.org>; Tue, 06 Dec 2022 23:21:25 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 d12-20020a170903230c00b0016c9e5f291bsm13906758plh.111.2022.12.06.23.21.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 06 Dec 2022 23:21:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1bbead4-75ff-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QtyL97ZsTK2W0CUWHc0FlTdX6j6w9VTCHVaWxxe6Vdw=;
        b=WAHJ4J+76Avgpkzbn4uZOEtu5mZKvfgFBpe8VDSNRyUXfSNRPXavp1FBES6j8j6PQ5
         jFiZmanERdeDF/0agF4EB5a9LAN9UO6MTtaTinetQ4Sw2P4RWBC8Xhr/24uluR8+kPbB
         TdIBfdaKUcqhyv2/4GYNRglgLQKCDh7dxJLJUEB2sN82t+1dDHfbULeVU4RsOMxAO/2i
         U0kQgB9nj/K9Etv7b9pZQ0z/prG0uq2+wwd3Ty4GbWcxrLjfhLfu2ls8QsPgM4zNAJh9
         uleKt8b8Pv1WBJYxAXeGl1Rr4shKnedqlVQpHDkxf1wRlizkRgkIzJ/QZxMzxMpH3x90
         Gtzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=QtyL97ZsTK2W0CUWHc0FlTdX6j6w9VTCHVaWxxe6Vdw=;
        b=Av5wWTex/NiO5Yt2nWiis5khoDqsa2IHeRHzhZ12JgFh2UPnpVnAJ0IDX38LD5Eb7A
         ILEtEQWKrdZB4JJyaBkR1YS8vc+G4TWopcNnxGpHC7WO0Mynw44PC3IhM7HD5Ig44xRJ
         Vc2tb6EolyC1K0VluOws/nAXhzuBARS0Qzole8PtFgxn3A5LJhD59gUQvPkCWzyy5JJf
         iQu0NN9IMpgkAbkxe0UVVpiq2b7ZSC8iLttTyG6H6TV8lRRyEzIM0Rhb7GhKUcOHayFV
         qXcONyKpD9uUW7jL/5r8I8KF3VYng4Y2EV4Nxh79rS/DM+gviOuPVbDrx2cfc9jjnNxc
         hVQw==
X-Gm-Message-State: ANoB5pkAo9W/iA0XZFcqe8Iqt6TwG2DRRsYTDDE5BvXSagyvEUdbyKQL
	U4+6RUUs4FZvG3VYtdCMWly8JKC2Mcda6tOZ
X-Google-Smtp-Source: AA0mqf6yPkmadsBp2stSGC3yfxws9kC98cJCo0t0jW3TNHyhONu7YaG09jvtPdhwbAxaWfS7KD52xg==
X-Received: by 2002:a17:902:9889:b0:182:e9dd:936d with SMTP id s9-20020a170902988900b00182e9dd936dmr75466284plp.6.1670397684108;
        Tue, 06 Dec 2022 23:21:24 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH V7 3/3] docs: Add documentation for generic virtio devices
Date: Wed,  7 Dec 2022 12:50:44 +0530
Message-Id: <7376c617d457ffd402cd6518a7fd6c71552e9ec8.1670396758.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1670396758.git.viresh.kumar@linaro.org>
References: <cover.1670396758.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch updates xl.cfg man page with details of generic Virtio device
related information.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 docs/man/xl.cfg.5.pod.in | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index ec444fb2ba79..2523027ea54c 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -1585,6 +1585,34 @@ Set maximum height for pointer device.
 
 =back
 
+=item B<virtio=[ "VIRTIO_DEVICE_STRING", "VIRTIO_DEVICE_STRING", ...]>
+
+Specifies the Virtio devices to be provided to the guest.
+
+Each B<VIRTIO_DEVICE_STRING> is a comma-separated list of C<KEY=VALUE>
+settings from the following list:
+
+=over 4
+
+=item B<backend=domain-id>
+
+Specifies the backend domain name or id, defaults to dom0.
+
+=item B<type=STRING>
+
+Specifies the compatible string for the specific Virtio device. The same will be
+written in the Device Tree compatible property of the Virtio device. For
+example, "type=virtio,device22" for the I2C device, whose device-tree binding is
+present here:
+
+L<https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml>
+
+=item B<transport=STRING>
+
+Specifies the transport mechanism for the Virtio device, like "mmio" or "pci".
+
+=back
+
 =item B<tee="STRING">
 
 B<Arm only.> Set TEE type for the guest. TEE is a Trusted Execution
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 07:21:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 07:21:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455948.713601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ok7-0000aa-Gs; Wed, 07 Dec 2022 07:21:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455948.713601; Wed, 07 Dec 2022 07:21:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ok7-0000aT-DR; Wed, 07 Dec 2022 07:21:23 +0000
Received: by outflank-mailman (input) for mailman id 455948;
 Wed, 07 Dec 2022 07:21:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QqWv=4F=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p2ok5-0000L8-E1
 for xen-devel@lists.xen.org; Wed, 07 Dec 2022 07:21:21 +0000
Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com
 [2607:f8b0:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be4f055a-75ff-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 08:21:19 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id 4so16280229pli.0
 for <xen-devel@lists.xen.org>; Tue, 06 Dec 2022 23:21:19 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 u7-20020a170902714700b00189f69c1aa0sm777536plm.270.2022.12.06.23.21.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 06 Dec 2022 23:21:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be4f055a-75ff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1tEEje84lGgl0v1NGWerkxYBkg541ag5TPJoOqd0frI=;
        b=KYHZWKozTQM9i1wrXlEcB9KSDux+pHNXKY31FkYYY2UJauTDE76ipkp29TQ0H9EQ3o
         N58pWPGrr0MZyX8suDWEfDqA9iuzZSJ/8ckgd9D2r0Jz8Vevpm+rECrfa2+CbiCcQVSc
         3uXkG8unMVsTIxD6m9EdU2lzkXXDvbnqP+gb7acaZ9bqMl7/nH3rUioLH+x8dS3F/EYC
         dNI/iS3auJ6WDFVuZcceUKMXCkBvTof6RcxLfyk3b0BHvTiFz8g1iFURlQPUgys8TOwA
         qohnv+h5wYrvtNgiWrBe7dhAc9HnjthzOqYhuiUihJUaLUQX7k3GT3xRroopaQ6At8io
         1Blg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=1tEEje84lGgl0v1NGWerkxYBkg541ag5TPJoOqd0frI=;
        b=0Pk9CNQqRHTEYPFyzLSqbAIyhet8T13t5+Au4SP+i81cttWZJuwNT9p4mEZB1sIYTn
         jvbcSRSFsCD32I3nxvTcogPH1/pm2kxlj6sGSCO2m/KMshxFcALHTRd1TSANPwPjjIpy
         Gsdnaq84lBtefVqp9g1VcfJgBQvc4Ecoj2NltmmlDbdYBrYNquPtZAOjBqh7faS5l4xp
         Stjw+GeDhXZaNhS9CTE5iDi9nBWoEO8AQHN80L+jq4gqujjSGMZG6N9W8BgEEBM21b2i
         VnLbfli5r/hqtUnRDVZ29cTjDP5Got3D+iEaiLoZ49dMSw0pm2H/wlV84YglCfOPCTu7
         3sgA==
X-Gm-Message-State: ANoB5pn3GprJvPNWdkAgFiIDlad/s/930W5aFbQu1wCJolOnLBFGHrjd
	eT226QzU9rGOkBYyIfc20OBNqQQ+DDEXW8Cb
X-Google-Smtp-Source: AA0mqf70eYM3oL0eeIQVmtICl4G1/fSFiGGqSPDK3OovThTFyxBt3t7fxM92yDno1Xga6H7H+01Jbw==
X-Received: by 2002:a17:902:a616:b0:189:46b1:fe0b with SMTP id u22-20020a170902a61600b0018946b1fe0bmr67618418plq.117.1670397678198;
        Tue, 06 Dec 2022 23:21:18 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH V7 1/3] libxl: Add support for generic virtio device
Date: Wed,  7 Dec 2022 12:50:42 +0530
Message-Id: <903506db6c7dadb2a5304e9894950c673e308f41.1670396758.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1670396758.git.viresh.kumar@linaro.org>
References: <cover.1670396758.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for configuring and assisting generic
Virtio backends, which could run in any domain.

An example of domain configuration for mmio based Virtio I2C device is:
virtio = ["type=virtio,device22,transport=mmio"]

To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
region) and pass them to the backend and update guest device-tree to
create a DT node for the Virtio devices.

Add special support for I2C and GPIO devices, which require the
"compatible" DT property to be set, among other device specific
properties. Support for generic virtio devices is also added, which just
need a MMIO node but not any special DT properties, for such devices the
user needs to pass "virtio,devices" in the "type" string.

The parsing of generic virtio device configurations will be done in a
separate commit.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_arm.c              | 103 ++++++++++++++++
 tools/libs/light/libxl_create.c           |   4 +
 tools/libs/light/libxl_internal.h         |   1 +
 tools/libs/light/libxl_types.idl          |  18 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/libs/light/libxl_virtio.c           | 144 ++++++++++++++++++++++
 7 files changed, 272 insertions(+)
 create mode 100644 tools/libs/light/libxl_virtio.c

diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 374be1cfab25..4fddcc6f51d7 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -106,6 +106,7 @@ OBJS-y += libxl_vdispl.o
 OBJS-y += libxl_pvcalls.o
 OBJS-y += libxl_vsnd.o
 OBJS-y += libxl_vkb.o
+OBJS-y += libxl_virtio.o
 OBJS-y += libxl_genid.o
 OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index fa3d61f1e882..ab3668b3b8a3 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -113,6 +113,19 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         }
     }
 
+    for (i = 0; i < d_config->num_virtios; i++) {
+        libxl_device_virtio *virtio = &d_config->virtios[i];
+
+        if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
+            continue;
+
+        rc = alloc_virtio_mmio_params(gc, &virtio->base, &virtio->irq,
+                                      &virtio_mmio_base, &virtio_mmio_irq);
+
+        if (rc)
+            return rc;
+    }
+
     /*
      * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
      * present, make sure that we allocate enough SPIs for them.
@@ -956,6 +969,82 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *fdt, uint64_t base,
     return fdt_end_node(fdt);
 }
 
+/*
+ * The DT bindings for GPIO device are present here:
+ *
+ * https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml
+ */
+static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt)
+{
+    int res;
+
+    res = fdt_begin_node(fdt, "i2c");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, "virtio,device22");
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
+/*
+ * The DT bindings for GPIO device are present here:
+ *
+ * https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml
+ */
+static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt)
+{
+    int res;
+
+    res = fdt_begin_node(fdt, "gpio");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, "virtio,device29");
+    if (res) return res;
+
+    res = fdt_property(fdt, "gpio-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#gpio-cells", 2);
+    if (res) return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 2);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
+static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt, uint64_t base,
+                                        uint32_t irq, const char *type,
+                                        uint32_t backend_domid)
+{
+    int res, len = strlen(type);
+
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
+    if (res) return res;
+
+    /* Add device specific nodes */
+    if (!strncmp(type, "virtio,device22", len)) {
+        res = make_virtio_mmio_node_i2c(gc, fdt);
+        if (res) return res;
+    } else if (!strncmp(type, "virtio,device29", len)) {
+        res = make_virtio_mmio_node_gpio(gc, fdt);
+        if (res) return res;
+    } else if (!strncmp(type, "virtio,device", len)) {
+        /* Generic Virtio Device */
+        res = fdt_end_node(fdt);
+        if (res) return res;
+    } else {
+        LOG(ERROR, "Invalid type for virtio device: %s", type);
+        return -EINVAL;
+    }
+
+    return fdt_end_node(fdt);
+}
+
 static const struct arch_info *get_arch_info(libxl__gc *gc,
                                              const struct xc_dom_image *dom)
 {
@@ -1277,6 +1366,20 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
             }
         }
 
+        for (i = 0; i < d_config->num_virtios; i++) {
+            libxl_device_virtio *virtio = &d_config->virtios[i];
+
+            if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
+                continue;
+
+            if (virtio->backend_domid != LIBXL_TOOLSTACK_DOMID)
+                iommu_needed = true;
+
+            FDT( make_virtio_mmio_node_device(gc, fdt, virtio->base,
+                                              virtio->irq, virtio->type,
+                                              virtio->backend_domid) );
+        }
+
         /*
          * The iommu node should be created only once for all virtio-mmio
          * devices.
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 612eacfc7fac..beec3f6b6fec 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -1752,6 +1752,10 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
         libxl__device_add(gc, domid, &libxl__pvcallsif_devtype,
                           &d_config->pvcallsifs[i]);
 
+    for (i = 0; i < d_config->num_virtios; i++)
+        libxl__device_add(gc, domid, &libxl__virtio_devtype,
+                          &d_config->virtios[i]);
+
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
     {
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index a7c447c10e5f..cdd155d925c1 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -4003,6 +4003,7 @@ static inline int *libxl__device_type_get_num(
 
 extern const libxl__device_type libxl__vfb_devtype;
 extern const libxl__device_type libxl__vkb_devtype;
+extern const libxl__device_type libxl__virtio_devtype;
 extern const libxl__device_type libxl__disk_devtype;
 extern const libxl__device_type libxl__nic_devtype;
 extern const libxl__device_type libxl__vtpm_devtype;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 9e3d33cb5a59..0cfad8508dbd 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -278,6 +278,11 @@ libxl_vkb_backend = Enumeration("vkb_backend", [
     (2, "LINUX")
     ])
 
+libxl_virtio_transport = Enumeration("virtio_transport", [
+    (0, "UNKNOWN"),
+    (1, "MMIO"),
+    ])
+
 libxl_passthrough = Enumeration("passthrough", [
     (0, "default"),
     (1, "disabled"),
@@ -703,6 +708,18 @@ libxl_device_vkb = Struct("device_vkb", [
     ("multi_touch_num_contacts", uint32)
     ])
 
+libxl_device_virtio = Struct("device_virtio", [
+    ("backend_domid", libxl_domid),
+    ("backend_domname", string),
+    ("type", string),
+    ("transport", libxl_virtio_transport),
+    ("devid", libxl_devid),
+    # Note that virtio-mmio parameters (irq and base) are for internal
+    # use by libxl and can't be modified.
+    ("irq", uint32),
+    ("base", uint64)
+    ])
+
 libxl_device_disk = Struct("device_disk", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
@@ -980,6 +997,7 @@ libxl_domain_config = Struct("domain_config", [
     ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
     ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
     ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
+    ("virtios", Array(libxl_device_virtio, "num_virtios")),
     ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
     ("p9s", Array(libxl_device_p9, "num_p9s")),
     ("pvcallsifs", Array(libxl_device_pvcallsif, "num_pvcallsifs")),
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index fb0f4f23d7c2..e24288f1a59e 100644
--- a/tools/libs/light/libxl_types_internal.idl
+++ b/tools/libs/light/libxl_types_internal.idl
@@ -33,6 +33,7 @@ libxl__device_kind = Enumeration("device_kind", [
     (15, "VSND"),
     (16, "VINPUT"),
     (17, "VIRTIO_DISK"),
+    (18, "VIRTIO"),
     ])
 
 libxl__console_backend = Enumeration("console_backend", [
diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virtio.c
new file mode 100644
index 000000000000..64cec989c674
--- /dev/null
+++ b/tools/libs/light/libxl_virtio.c
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_internal.h"
+
+static int libxl__device_virtio_setdefault(libxl__gc *gc, uint32_t domid,
+                                           libxl_device_virtio *virtio,
+                                           bool hotplug)
+{
+    return libxl__resolve_domid(gc, virtio->backend_domname,
+                                &virtio->backend_domid);
+}
+
+static int libxl__device_from_virtio(libxl__gc *gc, uint32_t domid,
+                                     libxl_device_virtio *virtio,
+                                     libxl__device *device)
+{
+    device->backend_devid   = virtio->devid;
+    device->backend_domid   = virtio->backend_domid;
+    device->devid           = virtio->devid;
+    device->domid           = domid;
+
+    device->backend_kind    = LIBXL__DEVICE_KIND_VIRTIO;
+    device->kind            = LIBXL__DEVICE_KIND_VIRTIO;
+
+    return 0;
+}
+
+static int libxl__set_xenstore_virtio(libxl__gc *gc, uint32_t domid,
+                                      libxl_device_virtio *virtio,
+                                      flexarray_t *back, flexarray_t *front,
+                                      flexarray_t *ro_front)
+{
+    const char *transport = libxl_virtio_transport_to_string(virtio->transport);
+
+    flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->irq));
+    flexarray_append_pair(back, "base", GCSPRINTF("%lu", virtio->base));
+    flexarray_append_pair(back, "type", GCSPRINTF("%s", virtio->type));
+    flexarray_append_pair(back, "transport", GCSPRINTF("%s", transport));
+
+    flexarray_append_pair(front, "irq", GCSPRINTF("%u", virtio->irq));
+    flexarray_append_pair(front, "base", GCSPRINTF("%lu", virtio->base));
+    flexarray_append_pair(front, "type", GCSPRINTF("%s", virtio->type));
+    flexarray_append_pair(front, "transport", GCSPRINTF("%s", transport));
+
+    return 0;
+}
+
+static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
+                                       libxl_devid devid,
+                                       libxl_device_virtio *virtio)
+{
+    const char *be_path, *tmp = NULL;
+    int rc;
+
+    virtio->devid = devid;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/backend", libxl_path),
+                                  &be_path);
+    if (rc) goto out;
+
+    rc = libxl__backendpath_parse_domid(gc, be_path, &virtio->backend_domid);
+    if (rc) goto out;
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/irq", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        virtio->irq = strtoul(tmp, NULL, 0);
+    }
+
+    tmp = NULL;
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/base", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        virtio->base = strtoul(tmp, NULL, 0);
+    }
+
+    tmp = NULL;
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/transport", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        if (!strncmp(tmp, "mmio", strlen(tmp))) {
+            virtio->transport = LIBXL_VIRTIO_TRANSPORT_MMIO;
+        } else if (!strncmp(tmp, "unknown", strlen(tmp))) {
+            virtio->transport = LIBXL_VIRTIO_TRANSPORT_UNKNOWN;
+        } else {
+            return ERROR_INVAL;
+        }
+    }
+
+    tmp = NULL;
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/type", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        if (!strncmp(tmp, "virtio,device", strlen("virtio,device"))) {
+            virtio->type = strdup(tmp);
+        } else {
+            return ERROR_INVAL;
+        }
+    }
+
+out:
+    return rc;
+}
+
+static LIBXL_DEFINE_UPDATE_DEVID(virtio)
+
+#define libxl__add_virtios NULL
+#define libxl_device_virtio_compare NULL
+
+DEFINE_DEVICE_TYPE_STRUCT(virtio, VIRTIO, virtios,
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_virtio,
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__virtio_from_xenstore,
+    .skip_attach = 1
+);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 07:21:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 07:21:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455949.713612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ok8-0000qB-TM; Wed, 07 Dec 2022 07:21:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455949.713612; Wed, 07 Dec 2022 07:21:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ok8-0000q4-Px; Wed, 07 Dec 2022 07:21:24 +0000
Received: by outflank-mailman (input) for mailman id 455949;
 Wed, 07 Dec 2022 07:21:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QqWv=4F=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p2ok7-0000L8-M9
 for xen-devel@lists.xen.org; Wed, 07 Dec 2022 07:21:23 +0000
Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com
 [2607:f8b0:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c00ca0cc-75ff-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 08:21:22 +0100 (CET)
Received: by mail-pl1-x629.google.com with SMTP id g10so16224352plo.11
 for <xen-devel@lists.xen.org>; Tue, 06 Dec 2022 23:21:22 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 188-20020a6218c5000000b00574c54423d3sm13213557pfy.145.2022.12.06.23.21.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 06 Dec 2022 23:21:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c00ca0cc-75ff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ND3qwRTlESbG0h9MPuamFiuGez3I98pIZuewodood4A=;
        b=Ti4GTg3WG8pmiCrO/UQb9tywbSmb/ICkWJHfFjC8d84M2Kl/8zHK6bWOYR7pxiMhIv
         sb8F9fdDFJOCrzv8+Sz1Zdkm3c5KDKANE0/I7SgTg30ZjnvNTgEMX29TXhOL428qm3yr
         6w3IAsjQYK2XoIYalBGM1/bK8YmJhUF7ULPNlUlLMZxEUYc57ZH52NkuBtt2CB4auCds
         xmNlvSXBmkPO183CWuMVI6GlVDIJ0GaVe5pLxsVgYyJzLQi2LPzDUbc5tK65Ct7ccqIH
         fu5fFRkKm9J/xQdxjPnsQb1JdsU/vrZuIZOcW3gpFDTHldEWgRRp7EHOog+oGG52PhRZ
         aJuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ND3qwRTlESbG0h9MPuamFiuGez3I98pIZuewodood4A=;
        b=yQPe7z0hV5VmRpMalksFv8066grU7tduqWjA34oOJPZuOt1ZhjSPQEBURp7jUbh7T8
         pofR2hpOxjVI4DBfc+PW1snhZkz2Gr3ady7geGg129/wMyVQMC3pX/C0hod+nHWQMbi6
         lwK//2NXAFli+OyJ1jwoLzBx1tx9GExphr9z+tGBF0NCGBn1zViXf67/U+a/J81RgACR
         D8XaJiUymuUGNQz0wjOGKrQsv3R6rblSBm/Mk8cUjLXft1VIPi1zTofrEecAzyL9yZ/g
         /ne9fp2TGHJ1SQU4Ys/9YcoZ/TUvl9N6svrwbj6ZPDOzOCN+yeTl7DDr6+hSyeET5C43
         Fagw==
X-Gm-Message-State: ANoB5pmAdG4S8rCg4/3Gryecqm6tfi4pOX70crkUSQO2J6fLMEWXQXEH
	VXsYxM7RtPwQeqG1jiQsFLDIn8VQkZ2THmYp
X-Google-Smtp-Source: AA0mqf4LAtr/czGQrzym2Ydo4x8uogfFoiS9LOslEJiClo3+DH+s4ACEEsrwgbhppaDO52ZBd2341w==
X-Received: by 2002:a17:90a:b38e:b0:218:79d8:1a2d with SMTP id e14-20020a17090ab38e00b0021879d81a2dmr94083488pjr.229.1670397681188;
        Tue, 06 Dec 2022 23:21:21 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH V7 2/3] xl: Add support to parse generic virtio device
Date: Wed,  7 Dec 2022 12:50:43 +0530
Message-Id: <cdb5048066fedf71fb81dd54728326d8046ff3c6.1670396758.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1670396758.git.viresh.kumar@linaro.org>
References: <cover.1670396758.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for parsing generic Virtio backend.

An example of domain configuration for mmio based Virtio I2C device is:
virtio = ["type=virtio,device22,transport=mmio"]

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/ocaml/libs/xl/genwrap.py       |  1 +
 tools/ocaml/libs/xl/xenlight_stubs.c |  1 +
 tools/xl/xl_parse.c                  | 80 ++++++++++++++++++++++++++++
 3 files changed, 82 insertions(+)

diff --git a/tools/ocaml/libs/xl/genwrap.py b/tools/ocaml/libs/xl/genwrap.py
index 7bf26bdcd831..b188104299b1 100644
--- a/tools/ocaml/libs/xl/genwrap.py
+++ b/tools/ocaml/libs/xl/genwrap.py
@@ -36,6 +36,7 @@ DEVICE_LIST =      [ ("list",           ["ctx", "domid", "t list"]),
 functions = { # ( name , [type1,type2,....] )
     "device_vfb":     DEVICE_FUNCTIONS,
     "device_vkb":     DEVICE_FUNCTIONS,
+    "device_virtio":     DEVICE_FUNCTIONS,
     "device_disk":    DEVICE_FUNCTIONS + DEVICE_LIST +
                       [ ("insert",         ["ctx", "t", "domid", "?async:'a", "unit", "unit"]),
                         ("of_vdev",        ["ctx", "domid", "string", "t"]),
diff --git a/tools/ocaml/libs/xl/xenlight_stubs.c b/tools/ocaml/libs/xl/xenlight_stubs.c
index 45b8af61c74a..8e54f95da7c7 100644
--- a/tools/ocaml/libs/xl/xenlight_stubs.c
+++ b/tools/ocaml/libs/xl/xenlight_stubs.c
@@ -707,6 +707,7 @@ DEVICE_ADDREMOVE(disk)
 DEVICE_ADDREMOVE(nic)
 DEVICE_ADDREMOVE(vfb)
 DEVICE_ADDREMOVE(vkb)
+DEVICE_ADDREMOVE(virtio)
 DEVICE_ADDREMOVE(pci)
 _DEVICE_ADDREMOVE(disk, cdrom, insert)
 
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 644ab8f8fd36..a187cd26e595 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1208,6 +1208,83 @@ static void parse_vkb_list(const XLU_Config *config,
     if (rc) exit(EXIT_FAILURE);
 }
 
+static int parse_virtio_config(libxl_device_virtio *virtio, char *token)
+{
+    char *oparg;
+    int rc;
+
+    if (MATCH_OPTION("backend", token, oparg)) {
+        virtio->backend_domname = strdup(oparg);
+    } else if (MATCH_OPTION("type", token, oparg)) {
+        virtio->type = strdup(oparg);
+    } else if (MATCH_OPTION("transport", token, oparg)) {
+        rc = libxl_virtio_transport_from_string(oparg, &virtio->transport);
+        if (rc) return rc;
+    } else {
+        fprintf(stderr, "Unknown string \"%s\" in virtio spec\n", token);
+        return -1;
+    }
+
+    return 0;
+}
+
+static void parse_virtio_list(const XLU_Config *config,
+                              libxl_domain_config *d_config)
+{
+    XLU_ConfigList *virtios;
+    const char *item;
+    char *buf = NULL, *oparg, *str = NULL;
+    int rc;
+
+    if (!xlu_cfg_get_list (config, "virtio", &virtios, 0, 0)) {
+        int entry = 0;
+        while ((item = xlu_cfg_get_listitem(virtios, entry)) != NULL) {
+            libxl_device_virtio *virtio;
+            char *p;
+
+            virtio = ARRAY_EXTEND_INIT(d_config->virtios, d_config->num_virtios,
+                                       libxl_device_virtio_init);
+
+            buf = strdup(item);
+
+            p = strtok(buf, ",");
+            while (p != NULL)
+            {
+                while (*p == ' ') p++;
+
+                // Type may contain a comma, do special handling.
+                if (MATCH_OPTION("type", p, oparg)) {
+                    if (!strncmp(oparg, "virtio", strlen("virtio"))) {
+                        char *p2 = strtok(NULL, ",");
+                        str = malloc(strlen(p) + strlen(p2) + 2);
+
+                        strcpy(str, p);
+                        strcat(str, ",");
+                        strcat(str, p2);
+                        p = str;
+                    }
+                }
+
+                rc = parse_virtio_config(virtio, p);
+                if (rc) goto out;
+
+                free(str);
+                str = NULL;
+                p = strtok(NULL, ",");
+            }
+
+            entry++;
+            free(buf);
+        }
+    }
+
+    return;
+
+out:
+    free(buf);
+    if (rc) exit(EXIT_FAILURE);
+}
+
 void parse_config_data(const char *config_source,
                        const char *config_data,
                        int config_len,
@@ -2309,8 +2386,10 @@ void parse_config_data(const char *config_source,
 
     d_config->num_vfbs = 0;
     d_config->num_vkbs = 0;
+    d_config->num_virtios = 0;
     d_config->vfbs = NULL;
     d_config->vkbs = NULL;
+    d_config->virtios = NULL;
 
     if (!xlu_cfg_get_list (config, "vfb", &cvfbs, 0, 0)) {
         while ((buf = xlu_cfg_get_listitem (cvfbs, d_config->num_vfbs)) != NULL) {
@@ -2752,6 +2831,7 @@ void parse_config_data(const char *config_source,
     }
 
     parse_vkb_list(config, d_config);
+    parse_virtio_list(config, d_config);
 
     xlu_cfg_get_defbool(config, "xend_suspend_evtchn_compat",
                         &c_info->xend_suspend_evtchn_compat, 0);
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 07:21:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 07:21:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455947.713590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ok6-0000LQ-9Z; Wed, 07 Dec 2022 07:21:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455947.713590; Wed, 07 Dec 2022 07:21:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ok6-0000LJ-6M; Wed, 07 Dec 2022 07:21:22 +0000
Received: by outflank-mailman (input) for mailman id 455947;
 Wed, 07 Dec 2022 07:21:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QqWv=4F=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p2ok4-0000L8-8W
 for xen-devel@lists.xen.org; Wed, 07 Dec 2022 07:21:21 +0000
Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com
 [2607:f8b0:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bc697c6e-75ff-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 08:21:17 +0100 (CET)
Received: by mail-pf1-x433.google.com with SMTP id x66so16784262pfx.3
 for <xen-devel@lists.xen.org>; Tue, 06 Dec 2022 23:21:16 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 pt18-20020a17090b3d1200b00219dab2d7a0sm535988pjb.9.2022.12.06.23.21.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 06 Dec 2022 23:21:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc697c6e-75ff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ZvB2yLNDseNVSGkxkv45nD49xzh0oEoPx/y3WchbdGE=;
        b=lrujVVZDOnamNjCsUGG9JfN8dlHh15OC7lO7IVSHGuhTurCiIwxcFINV2Xgx5H9Jl4
         IUy7hswtITgXRIJ9QwBDY2E1Jfmatcq996IfSzZ7065u6I6USpcjyT7LcVuNRSlYp+PA
         44VOiKqFEidXHDmaymoenP7mg3SLslYSRtDMofv7MQYiLcAcZvja5BrqNH5EX4QafRn0
         yJChgmOfK0NpFsEoZQkua32vsGBhWzdz5ou9HrLjwo7IEQnzFS4PJMNUVAZ+ei8/OU3h
         9nnUAduCOio8EVRZzdWWoL1ojmx5JKeqUceqybr5UB3wU0v3BS/aUY7YR3tH8DUu78xB
         4G3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ZvB2yLNDseNVSGkxkv45nD49xzh0oEoPx/y3WchbdGE=;
        b=phZxtFlIpDCb7kPnwkghOGfU+cbgqOP4mlsto4AXMFy+ZUfrsN8Ay+fXeMzywi4DB1
         pHYki/VpvP0sV5fzH/YqrJaxDhlYtHtSg/EXaykxVqdXssslVqB6a6AxPHAEOD5bo+qK
         oO7Qi8WFREJPLRzpK6DLuQXyr/b08lq62Sc8Z9jtOmbgKduXg9J2Gf3s347da0z2FpZV
         vD5hnk6JkM41eeR7B8SlgQemPONVzDq1kBMjg3YE2Q61Lv/iYI+vfLLCxG9COxIqmh6y
         q/zJLwu+W4fJ9oNr80+v7yfKb48RLmMLR40/OqmY7FPEkELms3RiAOOF+SVDkYNbcnUg
         geWg==
X-Gm-Message-State: ANoB5plJ+Owh813ibaHMci2lsZTLve9QMrIC4NTorl98OTtGN/C+5ZNP
	+2gpPFeIYIpOqdhNIyfy71K3Z2JL+dnZBR1z
X-Google-Smtp-Source: AA0mqf5kAtmj9A6e1juL15hCLizbUPvEPO35b0ps2D/WLs7J0qdD7K8bTwSgPQI/HEyfEkGsXMpJUw==
X-Received: by 2002:a63:3c5:0:b0:478:9cf7:44fe with SMTP id 188-20020a6303c5000000b004789cf744femr16284465pgd.68.1670397674983;
        Tue, 06 Dec 2022 23:21:14 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH V7 0/3] toolstack support for generic virtio devices on Arm
Date: Wed,  7 Dec 2022 12:50:41 +0530
Message-Id: <cover.1670396758.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hello,

This patchset adds toolstack support for I2C, GPIO and generic virtio devices.
This is inspired from the work done by Oleksandr for the Disk device.

This is developed as part of Linaro's Project Stratos, where we are working
towards Hypervisor agnostic Rust based backends [1].

This is based of Julien's for-next/4.18 branch [2].

V6->V7:
- Support generic virtio devices too. They are passed with type=virtio,device,
  and we only create the MMIO DT node for them.
- Add links to DT bindings of I2C and GPIO, in code and documentation.
- Call libxl__device_add() for all hypervisor types.
- Add (0, "UNKNOWN") for libxl_virtio_transport.
- Removed libxl_virtio_backend and libxl_virtioinfo, as they were unused.
- Remove unnecessary stuff from libxl__virtio_from_xenstore() and add support
  for type and transport.
- Add backend=domid in documentation and replace compatible with type.
- Improved commit logs.

V5->V6:
- The cleanup patches are sent separately [2].
- We don't add I2C or GPIO specific device changes anymore, rather we create
  generic "virtio" devices. The "type" of a virtio devices helps us identify the
  right device, and create an entry in the DT node. The same can be used for all
  Virtio devices now.
- Update man page xl.cfg.

V4->V5:
- Fixed indentation at few places.
- Removed/added blank lines.
- Added few comments.
- Added review tags from Oleksandr.
- Rebased over latest staging branch.

V3->V4:
- Update virtio_enabled independently of all devices, so we don't miss setting
  it to true.

- Add iommu handling for i2c/gpio and move it as part of
  make_virtio_mmio_node_common(), which gets backend_domid parameter as a
  result.

V2->V3:
- Rebased over latest tree and made changes according to changes in Oleksandr's
  patches from sometime back.
- Minor cleanups.

V1->V2:
- Patches 3/6 and 4/6 are new.
- Patches 5/6 and 6/6 updated based on the above two patches.
- Added link to the bindings for I2C and GPIO.
- Rebased over latest master branch.


Thanks.

--
Viresh

[1] https://lore.kernel.org/xen-devel/20220414092358.kepxbmnrtycz7mhe@vireshk-i7/
[2] https://xenbits.xen.org/gitweb/?p=people/julieng/xen-unstable.git;a=shortlog;h=refs/heads/for-next/4.18

Viresh Kumar (3):
  libxl: Add support for generic virtio device
  xl: Add support to parse generic virtio device
  docs: Add documentation for generic virtio devices

 docs/man/xl.cfg.5.pod.in                  |  28 +++++
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_arm.c              | 103 ++++++++++++++++
 tools/libs/light/libxl_create.c           |   4 +
 tools/libs/light/libxl_internal.h         |   1 +
 tools/libs/light/libxl_types.idl          |  18 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/libs/light/libxl_virtio.c           | 144 ++++++++++++++++++++++
 tools/ocaml/libs/xl/genwrap.py            |   1 +
 tools/ocaml/libs/xl/xenlight_stubs.c      |   1 +
 tools/xl/xl_parse.c                       |  80 ++++++++++++
 11 files changed, 382 insertions(+)
 create mode 100644 tools/libs/light/libxl_virtio.c

-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 07:21:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 07:21:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455953.713634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2okV-0001y5-D7; Wed, 07 Dec 2022 07:21:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455953.713634; Wed, 07 Dec 2022 07:21:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2okV-0001xv-AA; Wed, 07 Dec 2022 07:21:47 +0000
Received: by outflank-mailman (input) for mailman id 455953;
 Wed, 07 Dec 2022 07:21:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2okT-0000L8-Rz
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 07:21:46 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7d00::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd76b244-75ff-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 08:21:44 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8585.eurprd04.prod.outlook.com (2603:10a6:20b:438::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Wed, 7 Dec
 2022 07:21:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 07:21:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd76b244-75ff-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lmvdRQZ/k4wXVOSEt/Lx6dQkcx9MfOylWz+SJL6ZFcTrZmGeOfe9IXus3EIGfDqj7MxADdAxvmI++ywzTra2F/TmjaBgnEla0M/5xgHkJCXq1LPTedqZN8rnSKOJ/cmVV/79ascVXWgWsP/O7cF8geAlzkuL/yiCzbRX1s5JA9fgzbZweeBKg1BNbHwposDjkSZAf87a8oICLFv3uomxsdTOoklFfKf1YMSoBh7vg480E11z46OTwQB+3zYjpLqV3nBRnZSqmdn5BkUl7Wok7VvGSuoMLk2Q83fLGo11ZU+gY/qZ51EH5p5c35ji7+d04YKDu170rQms0sgnhxBcTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Aae2oNc6SwZ7Ne852HQ9+2mfyLhFNsg/ooqdacaySck=;
 b=j1su1yBNRXFLVNQqxTgTeWSJScyt4rRmtfCFkjrUg/gfmaoUVPh1OXo26HWRcIcnliPbHApRB+HOjkz91qmwPwLfpYFnSsuIuFkCboaAlGWjTFTn+KLejQUOYVv+ThbkFHXVCKRFSTwVHYISuePszQ/Z6PkjOl6ArPM28n6AflWBbjbW0zsttj+LW6rj3sGx8VIEMWAoLF/x6O4VNxFdPEz2GZXT/rNT8ki8xYL8xHhEY5J9uDbmevVtsuQKPA9V3iQArJ0Sa9NRRcuupikxTMwA9g7uHNJ1qvTSeWkWjYAqmv8lf6E3DOdjhSJgRVCdylRdtKXrgQoqHSjN4L6Xjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Aae2oNc6SwZ7Ne852HQ9+2mfyLhFNsg/ooqdacaySck=;
 b=2/ZLTEPWYQN74YjTs2sae64H7GG3JeGw7J3xf9HxnRsgzthmxO4O2h1JU9l4NG+oU1UCNPnwIbsa6unr4UqXjRQUqn0vKx8Wkb+fZ7cw/+ZeMEyDUOFxkHBqdXXz0wjGN4yeMKEGWKzV6tZB9NUNk5NZcUsH1zbDuvH29QNapmOJpeO+wC5pZMrEoG9l4Jvf7QIE8eaje46mSlGyKxDHsZEh0mnDtJU8V3LXP/fFgb9KVMu5xPksJv4LjSTZIKe9Kaox97I/CWR8unBF/a5ryX7v3YWhX4D+4V0NGVYA3QFSxlVEImGh2Mta+vyO2oLJCHGdM+pEfPdV9dvduhg7cg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <606aff14-8abe-1788-6bc7-f3b279db8106@suse.com>
Date: Wed, 7 Dec 2022 08:21:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 2/3] x86/pv-shim: don't even allow enabling GRANT_TABLE
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
 <5fd43248-225e-99c0-7bbb-65e7cf7f08d1@suse.com>
 <5c934e1d-c785-d330-f0e1-acaaef700265@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5c934e1d-c785-d330-f0e1-acaaef700265@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0069.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8585:EE_
X-MS-Office365-Filtering-Correlation-Id: 0259d3e0-0cc5-4426-8dca-08dad823b0b8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jPWoXumFrdPlDQMIvhmmCA32aWaKYmUxvmnVJ8Yn5R+X+NYkS8zHm9YJmFfywTL1BawLmPoTo0r+zpjitSukEj7wRJc86svxRYlB8OIGMsiZQ6sZzh1t3iR/St25DV12gXvtR+GEOSQarft3suy5yL1HQITBdWUeOlJWIfp/Pr3sd9GR4pqx7DcOPoMtVIMGi8PF1Evd3q8UQpFHnUpT8WVI5OGDjTCyXGa7mVMZcEja7JBnihcjgU6v0t09NRRrnepi4S2pSTPb8zTNO/0I4pCbmRXuwCDaqsLQSyehz40qBjliERaDVoMYeLox3U/gxbVgUBbdeYBDv6rXuQFuTImExsZYmgXsNX+W2QiCllWQBrOxAEz9LzExNrfLL8bsW44A24nPheXgmz/3u+BY1RjNzs0AjGJyO4X3YaOvIJe02d3jf3gvrxfhdU8AayIJLUiWihlxkNrpeMjGJSrwN+gyPjVhBF6Bgdzo6787LtlfjsGnN0Zlie/sMPHxwZO+QOkZu3kEBgtw/Hr+GbyuaexNE5/wnqhBMr/KmeuPiS4jWqmFprnfhzSvjeayOM3oNrLMt3oqaclQKr/2oZLxsTDipKrHNEMKUEe0ZZlzDjQH1Db2LoniFQlF3RD77ywi8kffMnld0oDlbFUiOeiUYikHlpmg1Orc2Fecs/4ZQfeXVi1h0NLxz9R0NoAt88OIT707EL377HjH4OD21XeE0gXc7vbu4AJL12GzU90829w=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(396003)(39860400002)(346002)(366004)(376002)(451199015)(31686004)(186003)(6486002)(6916009)(54906003)(478600001)(316002)(86362001)(31696002)(36756003)(38100700002)(6506007)(53546011)(6512007)(2616005)(26005)(4326008)(5660300002)(41300700001)(8936002)(2906002)(8676002)(66946007)(66476007)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cWlWcWwvSElPU1RTTzJHYXJHUkpkU1ZNLyt5T3hVclRLZ0pIZEFGWEMwV0RO?=
 =?utf-8?B?eXhWYXhsUVdZNkZiVDRuSGIzSnJnNU9zSzIyVi9NTE0ralZJWWZRYnFGZ05a?=
 =?utf-8?B?TXh2NmZxaWdOVFFVUHVoV1Zpbks4cGVSTGp1Y2pCdGZSQkpERlIrRmJTLzFl?=
 =?utf-8?B?bUowWkovdmtVbG5sQkY1R1pKVEVXeTgwZkFDWWJWbWkyY24yOGRRYWFwTGRF?=
 =?utf-8?B?UGZCUjdXSHBMV3g2ZzNaYU1ka1VLL21EcEpRV0tEVGJpQlVZazFndnpYSXZ1?=
 =?utf-8?B?ZTI4UHNWZ1hBRG0rOXp2Q0dmZmhDK290ZmQvVEJqejhZdE8vSFk5aFhTTXl6?=
 =?utf-8?B?cmM4ck0veUhNR3E0eEVIazF5SE53Y0dSS25vL1FucWdzWXMvZU5mSVdSZXFF?=
 =?utf-8?B?UXZjWWlGcXVuaCtYSm5xRVBlb0pTcHRjM254Rm40SWFQdlN1NExnZVlwZmRz?=
 =?utf-8?B?UWFxam5hZHk0YzllS1dnK1pSRFhuM1lzTkRlUGI2YzFMSmVMSU1RR3ZQTEtN?=
 =?utf-8?B?dDAzSWtUUEVHNXlKMjRQNnEramNnOFNkZm9XWkJTang2RGV5UzBlc2cwWjlE?=
 =?utf-8?B?QXRwd2I3b3VBU2tiSW1wMFB5aUxMYVZab0xvYk1pMXlHdmdDWUV0dndZRElm?=
 =?utf-8?B?dGpEeVR5YXJ4cHZ0N1I5SUJKVWVlTXFzbit3Si9td1VUK2Q3L05NMFdsTFV2?=
 =?utf-8?B?cXdNMzNVV0dvandPam5SMjd2VnlKcGtqZjBna1FqbXhnWFBhNXlDbHloTUNP?=
 =?utf-8?B?b1N6akdvVkJOOENGWE5jbjBWNzBCb2Mwc3F0YjcrUEsrc0d6UGRiL09CNVJT?=
 =?utf-8?B?NkQzdUhWRFlWdDh6NlkyZzZZbzg0VDJpNlVHcTZDUFJzUnFEUGZsWVhUMFNy?=
 =?utf-8?B?VWd3ZHlRU3BtTXdFSjh4MlpYRmlZVG1ua24wZHYyT0lJNndvRUVwbjQ2dDlq?=
 =?utf-8?B?V0dzK25Wa1N3c1I4VHlveFpPTTYwaWhPbmtldlZ1MzhZQWhXNlRGRmdXR2M1?=
 =?utf-8?B?SDNEd2JVbGM1QTBwblNWR0MrSk9CME40bnVEc2dqblRpaUM4aG1LOGJTK2hP?=
 =?utf-8?B?Si9qS21uYklMKzViZE1Ba2t0N1haenRxdE9EWk5uaU9pRVRkaWw1Mllramhl?=
 =?utf-8?B?N1BzZVU2M0pjUm16WG9yempEVVovU3V6Q1E3QjdOWFBBa3cxd1RxTTZoRzV3?=
 =?utf-8?B?VU1KZjYweVZLSG9TMGxJd1g2Mm8xTTh3Q2p6V3RZUDJYa2s5SFhPaEtVSlVp?=
 =?utf-8?B?UHF0WHBLMnZIRkRuakozUWJpbnRzejV2dHQzM1ZzRzlaM25KRS9sdGF6WjJl?=
 =?utf-8?B?MVhJQnFoL1FOUnBDV2YvOTU2cVVzMGx0Yk9rc2NycHBsSFFTVTZrNnhpa0tk?=
 =?utf-8?B?MU9vSUI4V0dUZEM5VHdqUU1YN29zTjhnNHlJZFRuS01oZm1BSS9xMWJ3ckU2?=
 =?utf-8?B?L0g4QVJ1UEQvUWtCL3lYR2lYbFJFSTgrb0hlKzNFK0VreEVNRXhXaGhtSWVX?=
 =?utf-8?B?Z1ZKOTI5bSthdlRjcXdhY3hhNDZad3JYK2RrSWtHS3A0MFk3cHY0Z2JXQnJl?=
 =?utf-8?B?enE0Nk8vdkVLL0Z0a25JckwycVNJdU9xalAvQU4xVkl0YVI0QXNicFd6Wm1L?=
 =?utf-8?B?NkRkVzhPRGo2ZFVPQ2VpYWlhdDdndXFRWk9ONkh2Q0ZSWVowOTFJNnlxL2hT?=
 =?utf-8?B?U3hvT0d0NFRNTHZ3NzFwZkE5cCtKdkdYM1ErU2llQ3VIVllqT0oxd2dNUkY2?=
 =?utf-8?B?QVBTdlNYS3p2T1ZZMEtIWVpuU09MQ3VOdmdOby9xeUhVbkN2Zk9xcVVTRE01?=
 =?utf-8?B?MmF6MGtRQmpRMU8rY3kvUVRLVzJwbGNiMzU0bk5pUWRpdnBPcm9uY3QrdWF0?=
 =?utf-8?B?citBOU1scmNpYnVOdENKOGhOSlFHUjczTVF6R05nQUY3OG5FNEFybFZ6TUk4?=
 =?utf-8?B?eS9TUHZlS0hIemxsdXpnZ3lna2V4M2hzM1U0Tm80b3lXVzRGU3crckY3aEJT?=
 =?utf-8?B?d3lCdnFJQlFQcmFkT1FzU2FhQWh3dzlTS0JYUEh2eVpJTjZ1bmNaRlRCOEVw?=
 =?utf-8?B?SThGbXJUeGY5YnFiR1RvUC9Iem9mY3duVTRTQkc1aVpUbFE3a2tTMExxa001?=
 =?utf-8?Q?D5kXqx/GuEPc5OK51xP4rncAa?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0259d3e0-0cc5-4426-8dca-08dad823b0b8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 07:21:42.7936
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ylTKdnc51YHObrrTv0f747pRCeeapG+ojD5NeXrhJpDWgBTdMnnqptY3ckvN/nQqfcPddpoOarqT8sXeXsF8rg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8585

On 06.12.2022 21:26, Andrew Cooper wrote:
> On 06/12/2022 14:30, Jan Beulich wrote:
>> Grant table code is unused in shim mode, so there's no point in
>> building it in the first place for shim-exclusive mode.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> nack.
> 
> This is bogus, as is every other "depends on !PV_SHIM_EXCLUSIVE".

But why? Doing things like this in Kconfig is exactly ...

> The only reason I haven't reverting the others so `make allyesconfig`
> doesn't disable CONFIG_HVM, is because I haven't had time.  This change
> further breaks allyesconfig by disabling GRANT_TABLE too.
> 
> PV_SHIM_EXCLUSIVE is a simple option for a bit of dead code
> elimination.  It is not valid to be used like this.

... for the purpose of dead code elimination. By nack-ing a change like
this (and by having voiced opposition to earlier ones) you simply call
for yet more entirely unhelpful #ifdef-ary. See the last paragraph of
the description of patch 1, half of which this change rectifies. The
solution on the evtchn side, unfortunately, looks to be #ifdef-ary,
short of there being a suitable Kconfig option.

Furthermore Kconfig, in my view, is specifically intended to allow to
prevent the user from selecting entirely bogus option combinations
(and even more so suggest entirely bogus configurations by bogus
default settings). If you disagree, then I'm afraid we have a 2nd
Kconfig usage topic which we need to settle on in a project-wide
manner. If only we ever made any progress on such ...

As to allyesconfig - I can see your point there, but then arrangements
need to be invented to avoid this kind of unhelpful behavior.

Which raises two questions then: Would you view

 config GRANT_TABLE
 	bool "Grant table support" if EXPERT
 	default y if !PV_SHIM_EXCLUSIVE

as acceptable? I could accept this as a (perhaps) temporary compromise,
until the general aspect was settled. And what about the different kind
of change in patch 3, where allyesconfig isn't affected (afaict)?

Also, as a wider scope remark: In general - and this particularly
applies to cases where you feel like nack-ing things - comments on
patches want to be constructive (and thus actionable, pointing out
possible ways for the author to re-work things such they would become
acceptable while achieving the same goal; see the first of the two
questions above for a possible example). There's nothing constructive
in your response here, nor was there ever (afair) in earlier nacks that
I received from you.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 07:24:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 07:24:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455972.713645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ome-0003Nn-Py; Wed, 07 Dec 2022 07:24:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455972.713645; Wed, 07 Dec 2022 07:24:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2ome-0003Ng-NK; Wed, 07 Dec 2022 07:24:00 +0000
Received: by outflank-mailman (input) for mailman id 455972;
 Wed, 07 Dec 2022 07:23:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ywWV=4F=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p2omc-0003Ix-Qu
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 07:23:58 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1cdb0e4d-7600-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 08:23:57 +0100 (CET)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3F2D821C24;
 Wed,  7 Dec 2022 07:23:57 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id E8F08136B4;
 Wed,  7 Dec 2022 07:23:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id uRpoN4w/kGPuLAAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 07 Dec 2022 07:23:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1cdb0e4d-7600-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670397837; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=8z7/YudCGGKCXhaRYUEabm0CJvk7asrQBPAqjkCdK1A=;
	b=JqFhNl/HgV93fIyw5L1DM8x9B/PUZf+bk70tC2kJ78oA38eB+MUhdsv6IrF0KwXrzXTiU9
	s7jWV24du+vMIFJSIc7E5lDpoJtwCrgDAzCldKvixun7J1PNk1YgV0Mn65L1jxJrL2gZYn
	066f6AQx0C41SQrKdTPASsx1Su23lNc=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH] xen/netback: fix build warning
Date: Wed,  7 Dec 2022 08:23:49 +0100
Message-Id: <20221207072349.28608-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Commit ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in
the non-linear area") introduced a (valid) build warning.

Fix it.

Fixes: ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in the non-linear area")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/net/xen-netback/netback.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 054ac0e897f6..bf627af723bf 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -530,7 +530,7 @@ static int xenvif_tx_check_gop(struct xenvif_queue *queue,
 	const bool sharedslot = nr_frags &&
 				frag_get_pending_idx(&shinfo->frags[0]) ==
 				    copy_pending_idx(skb, copy_count(skb) - 1);
-	int i, err;
+	int i, err = 0;
 
 	for (i = 0; i < copy_count(skb); i++) {
 		int newerr;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 08:11:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 08:11:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.455991.713656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2pWF-00035n-P6; Wed, 07 Dec 2022 08:11:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 455991.713656; Wed, 07 Dec 2022 08:11:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2pWF-00035g-Lt; Wed, 07 Dec 2022 08:11:07 +0000
Received: by outflank-mailman (input) for mailman id 455991;
 Wed, 07 Dec 2022 08:11:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2pWE-00035W-Kk; Wed, 07 Dec 2022 08:11:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2pWE-0001go-HT; Wed, 07 Dec 2022 08:11:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2pWE-0004oL-43; Wed, 07 Dec 2022 08:11:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2pWE-0002c0-3c; Wed, 07 Dec 2022 08:11:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8WMbbxWTQFm6sMRVVfwmgymBNKU99jo3Hl9tnhsLtL8=; b=UTCIqDs6YmULKUaP2duYTY25OY
	lGbB+M3HEoOgwjZRxWhHxrzFdFSqNVcMQVCBTtoVWBh7YkdFGEDHU4EgcU7j/NMpQXm0UUbXJJTSz
	gRti6ftziFlz5LSDFX/ZJHqmq4nwXWTmCVEVKd2G9Vr2Zqu/6oYRUxKLdnEh4ok4shPU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175065-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175065: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=8ed710da2873c2aeb3bb805864a699affaf1d03b
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 07 Dec 2022 08:11:06 +0000

flight 175065 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175065/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2  14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 173462
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1  14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 173462
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 173462
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-pair        25 guest-start/debian      fail blocked in 173462
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                8ed710da2873c2aeb3bb805864a699affaf1d03b
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   60 days
Failing since        173470  2022-10-08 06:21:34 Z   60 days  119 attempts
Testing same since   175065  2022-12-06 23:13:06 Z    0 days    1 attempts

------------------------------------------------------------
1953 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 187707 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 08:29:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 08:29:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456008.713667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2poI-00055J-8R; Wed, 07 Dec 2022 08:29:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456008.713667; Wed, 07 Dec 2022 08:29:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2poI-00055C-5s; Wed, 07 Dec 2022 08:29:46 +0000
Received: by outflank-mailman (input) for mailman id 456008;
 Wed, 07 Dec 2022 08:29:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2poH-00054y-4j
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 08:29:45 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2062a.outbound.protection.outlook.com
 [2a01:111:f400:fe12::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b002deb-7609-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 09:29:44 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9452.eurprd04.prod.outlook.com (2603:10a6:10:367::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 08:29:36 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 08:29:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b002deb-7609-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AqySMr5ka049nBWue1VKIE+apXEJKquYh69bIHLrPTUyW9DPxG/bKVNmdVwplDqnDf2pEQGCo52LUjQaM0dgic0m6JZW3ORca5G2WKAORkM/HR+Uk8aJEu9qpABOk1al+jHypH/J4b/Ksfk3/dyh5WN3dBdfaSDBz+WepaKFwtwcC01P8Bsf8nTg/UcvZtQQGHlqxZ8iUaZX7aT06OXcxV44PbfgPJOHVmIyV2N7dn6xLmx8tC9yFPQaVmaRMWeLNC0ristPGjsvmbf4hevOdzabYZIMf9VQx61ycTmG/z+POTBEi74Ht2qBDL+dBtIv9g3I85S1dclv04syKs9YEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u4BBpC1Rz+JerOJ/aGsEdT3EPUunWupe+T0vKq4CyTI=;
 b=dEwlU/5m/OX0D8BZWJbGVOHTDJydnje5GKrH55hZGSg53BAXvmnKnjMf28Vkt0BPAOluilf2raWDOtbT4HgaizSRI1KDOXxGz9zugLOdKN4TmieVGEvrvu6Tx2BM8IiIbRFqQYHHx6ePw8NdIq2FLWFbG+3yDs4XKopflaAuMgwCMFirRoU2fQ/A42elyFAzzJm5Pey/BuH+6kylSrSD8bqqR64GAx0cV962D/EfY8GPAKrkXp2EwFpGgbVuwP3p/lbDs2oOoqjSkGnRdi89ABcqqFewqOgIetqRtonwUfQMBvIuQ6LA+CZV4fZQ+P6CLGDzm5d2JvxGGxiUwGUpGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=u4BBpC1Rz+JerOJ/aGsEdT3EPUunWupe+T0vKq4CyTI=;
 b=GBqsJRl97Ktp2UkDqAH7vniXwNoRdG+JlpQZXpIgLZgjnZXZAaMo3VvHKb5wEziSO88/0DI7vq79UGQ3MVG4xvh7kgpUSlXeku/tcd17D1DMKSnPRl2E6B8FO/ma2ga+9oBxZGf/W0vuMzEUgvcN8buLIZzMYc+ZIwFP6JPUn+noaUSHWgsLVGw3vSF8bZKBEuJ9TErVR67xVCp+7vYyOpwGh9RCTyS8k3sjSgwkLk5+57R16mfreJteeXZl1l9LbzV0YmM76DtXD0OhlbqVHpdVwmxEwIH1PF00cqTAM6onhvJubo+7E5bYbFtFrEliK4ON8C1gNT4YtBPuH+sBBg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d811bc39-6de8-5365-8d7e-e81f35eaf652@suse.com>
Date: Wed, 7 Dec 2022 09:29:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH RFC 07/10] domain: map/unmap GADDR based shared guest
 areas
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <5a571fd9-b0c2-216e-a444-102397a22ca0@suse.com>
 <f1229a27-f92c-a0dc-928e-1d78b928fdd0@xen.org>
 <c8f79867-42b3-a23f-6fe0-de8b698c6b0c@suse.com>
 <ceb28c2f-d4c6-3190-ea84-d6f7c9acb4ad@xen.org>
 <d8ba56a3-3b3f-788c-620e-823d4e2e38ea@suse.com>
 <7a66f7f3-174d-a9ce-ff5a-582de82843fb@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7a66f7f3-174d-a9ce-ff5a-582de82843fb@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0134.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9452:EE_
X-MS-Office365-Filtering-Correlation-Id: 7437ccfe-bee9-43d3-8954-08dad82d2c88
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Y8vywOUyBK6305aLxI1O1iTNXCUv4m4Em3oO4bPA0WjYBxLj/vvHe31LY9pGPofHgKQz+F+G48ADEojQ8JHlBrJgFcRviyeiW2IiWcl1ndWBSSvP1VWogjZRqePr98YPvw59Jt8tcBPyK7fNxmMMv1RzekMJxYMue+0bjzEaK1pOHg77ZhHR0mTszLcxA3h8iT2YlYuT+wTJVcFeDcdTLYAeZMwJZ5YCUSPKv5SNQB/C2PIu06rZ/aqo04QDlqucTpinSTHlDii83ACXXJi4R7hJXnByLbQR7nBBQUW5B14c8TJ8HvP3Xb7hIJbRVEPtcaxeVmehG5/zAMgfifCrEKgHTdR6/mQfoagsxn3szlWP/DINN/4S1OVHwgjT9QHEL0jeJlbL5GDnBC48cGq+3wJc9GGONd9oA7YNq9FkmcuynhxQrGK8Bv0JjzpaYYPRotzXpDb7LffBG93vJAH7Qd9RkHwC4jXD0acHyL6oVn4C7V5OPYC8RVIjwG/uFTN6YBr0qCwyhe0rmpcSIh/mArsp1fTFPgq6H0AGzXHbrYtlntOQYsKrQHv/ipZbwFK0MMQrIdujRAjZ1Kjo2L8PBtyufP3BAPZxxF+cOjGycDU6Mz4Lx6FjWKwem2QBTtsXvhvdquiNP7w6d/JEp1kkzWUZQkHVG/vCHtf0+y+ljYm7pM+kUE86a6nM1fKJj4IbXYtonFS7+ZJLOiQ3VzTaLg2FSXfpGjhp6iisJlxpe/w=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(39860400002)(396003)(376002)(366004)(451199015)(6486002)(6506007)(478600001)(66899015)(6512007)(53546011)(26005)(316002)(66476007)(6916009)(54906003)(66556008)(8676002)(4326008)(66946007)(186003)(83380400001)(2906002)(38100700002)(41300700001)(2616005)(5660300002)(86362001)(31696002)(31686004)(36756003)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eTNNUUswb1BSaitZQlN3dkJwc0dhM0U4WDdwTi83clRFaC9GeHNSRU5QVnV3?=
 =?utf-8?B?clgvaUVDb1ZIRUdHR0ZIeG93cHhPTHNlNlZ5N1RQejQ2QStWOUd5anNpRFFI?=
 =?utf-8?B?bDBBSGw3ZWEzZTR6THhydEpRbHI3UVl2bDZuaVVzU3o1dU5wZ3d5bklCOUtY?=
 =?utf-8?B?SVlzN3lLNFRvM3NSNVdwdGxvbmNiak92bkFsc3lYV2FWeWVUNlBkeCtDQnRC?=
 =?utf-8?B?c0IyVUcvS3l2WVlYTWhnQk04MWVyTDJoSGpRZ3V4TTJwdGhTTS9qVEQ5WGVZ?=
 =?utf-8?B?QUpPUnc0ZHRoZXNxY0FHMUZFdHp4OEJab1JQWG5qNGZtZFg5UWpqUWsrYlRH?=
 =?utf-8?B?T1RvZ012ajZCOHp4aDZZMEFPNUhoZWorKzNEZ2FIWHVqR3VkTWJLSWpwOXZS?=
 =?utf-8?B?NUxYaExaNHJ5TWhjbThVZFFIVEtEVEttTmZyYzVFT0VWRmFERXZ2OWhkRS9k?=
 =?utf-8?B?SnUvK1MvZnJyUUdBU1hYaFZwK01JNE1iVGVEVGRrNCtJaDJWTXdtdGw3ekNq?=
 =?utf-8?B?cmtkakgzK21iR1BpcW5KNi9QcXNqUnF1MllDZThGZVRoMFp6dkNLQ05oYUxY?=
 =?utf-8?B?cHpMRFkvRnpKdVNIRnFiQSt6UnI3UnRMT1pkWU9FdUI0bE1FMGswSWd2bkdu?=
 =?utf-8?B?NUNheTRESnJnMk1FL1BTc3VNTTVjNjBpNGdCOGVsV3VBNmNkR21OMTRqWDBD?=
 =?utf-8?B?LzlhV3JPTmlkRUpVT3p4Yk1WMmswZmo3MDJ6bVZkS3V2YXdEb1JWcTNBbUNl?=
 =?utf-8?B?eXhmd1p1VGpsU3crNVZMQjVWN1MrTmhmaDN2Y0c2c3lBRFE0WHBtN3VZRk54?=
 =?utf-8?B?ckxOUWtOV3QvMUhwOThoaFNtcXRKRUN0L3dlNkRVZkJzZ3FRKy9IMDBwNjBX?=
 =?utf-8?B?c2FzSCt5UlVodWJkUC9NWXJ5OGlOY3dvVytGcTdhc0xBTzBuR2dHRVhIZkhN?=
 =?utf-8?B?OVNaU3VWQUZTV0dLbWJZL3JlSE1paGlFZE0zN1hyOExqZldES0gwa3NEU0FE?=
 =?utf-8?B?Z3ZCckV0MzI4RnJrYStHbnNhb0twbS85M3FNays5ZEJ6Q1YraVpieGlqd2k0?=
 =?utf-8?B?UEN5NkdCUVl3OGlVb2phMGJ5S25iUVlKRHRONTJoYW96SXVIS1pubUYwb0Q2?=
 =?utf-8?B?MEhZb0w1MVlJMm1MM2ZnQUFpNFRsVlg3Z0J6dFd1YnUzTW1RVDQ0V3VLbzNU?=
 =?utf-8?B?ZzNSYWo1RlhQN3JLQXoyakNPaFF5QnB2dlFtL3RkZHlYRkI1NGxpRzlseU9r?=
 =?utf-8?B?NXJ4MWpmY3MzdzNKSFJEQzBDOTdkYk84NTNDQzIyT1g3bSs4bFhTNUQxNzhn?=
 =?utf-8?B?OWo1cXJUdGFsekxLL25xWU5Xd3N5UThhT25xbDEwTllSdzVwRXlqL2JOdkZw?=
 =?utf-8?B?QlpobUJWeW44bHpMRXJ4K2I3OUQwYmttNkJ1TFBEeExSYm9LREt6REpta2J4?=
 =?utf-8?B?NXhzck1yRHUzNmdYWlZ6aHd3R2dmemtrVGhEajk1T0pCV0cvUXRLalBTWG5t?=
 =?utf-8?B?eGFiZHBuQUdRQTl1Qk9tMTl3bEYwMXVUMFk2U016STFxYTJuVml6SENLam53?=
 =?utf-8?B?Vyt2YkcxSGtvQ2xCQWVQWHNsR2ZOY3R2M1hEOFg2L04xZjhQb204dTB0MlFW?=
 =?utf-8?B?VEN2Y1Y4ZEFucnl4b2VZSzB5WkYxVEFpck8zREw3YU51VTVRaVZlb0hORUZB?=
 =?utf-8?B?eXV1cW5CRjZZL3dPamlId3BXVXUvNjNQYUwyc2xGNGNFOWE4Z01ES2VRSG5V?=
 =?utf-8?B?TzZzWkJmNHdKc1JWbDVyVGpJZ1MwSXN1Ujd0VE53RDhqek5qeWhmQjlUU1R6?=
 =?utf-8?B?WTN3cXlYYWlqVDlQYUZmeHJEZUVMUjNxMnBXbXd6anVyRE1oa05STDk5Uk9L?=
 =?utf-8?B?cnZGM0lPZlpYd0QrRGZod1JweDh0djZuRWE2RXlFSXhwdzh3R2lmRWdadDZt?=
 =?utf-8?B?VEpTZURwWHR5d0R3elZqeGd2LzBUK3c2LzJnYzJlMmxsck9tS1cwRnBVbytH?=
 =?utf-8?B?bG9sTlNqdDV6Q0JtM25TS1RqV0c0SDhGd0pGek50UkV0ZnNEYjF4cEJXYWtK?=
 =?utf-8?B?SytnZkF3c2c4T0lwbFdpN3A0RTVJQWZJeUtzcURkTk1NcUJpbHNiNjE4cnBI?=
 =?utf-8?Q?RBs14FPU4h14178aGcOD+Ucef?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7437ccfe-bee9-43d3-8954-08dad82d2c88
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 08:29:36.0182
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H7gvHn66JbP2EvllAKv0nZ//40AsV+lqiRAE8dAdDq9ghL2WZWS+ESq0DVt58DXxv71pyv7mWWBVqqnJsmnfig==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9452

On 06.12.2022 19:27, Julien Grall wrote:
> On 29/11/2022 14:02, Jan Beulich wrote:
>> On 29.11.2022 09:40, Julien Grall wrote:
>>> On 28/11/2022 10:01, Jan Beulich wrote:
>>>> On 24.11.2022 22:29, Julien Grall wrote:
>>>>> On 19/10/2022 09:43, Jan Beulich wrote:
>>>>>> --- a/xen/common/domain.c
>>>>>> +++ b/xen/common/domain.c
>>>>>> @@ -1563,7 +1563,82 @@ int map_guest_area(struct vcpu *v, paddr
>>>>>>                        struct guest_area *area,
>>>>>>                        void (*populate)(void *dst, struct vcpu *v))
>>>>>>     {
>>>>>> -    return -EOPNOTSUPP;
>>>>>> +    struct domain *currd = v->domain;
>>>>>> +    void *map = NULL;
>>>>>> +    struct page_info *pg = NULL;
>>>>>> +    int rc = 0;
>>>>>> +
>>>>>> +    if ( gaddr )
>>>>>
>>>>> 0 is technically a valid (guest) physical address on Arm.
>>>>
>>>> I guess it is everywhere; it certainly also is on x86. While perhaps a
>>>> little unfortunate in ordering, the public header changes coming only
>>>> in the following patches was the best way I could think of to split
>>>> this work into reasonable size pieces. There the special meaning of 0
>>>> is clearly documented. And I don't really see it as a meaningful
>>>> limitation to not allow guests to register such areas at address zero.
>>> I would expect an OS to allocate the region using the generic physical
>>> allocator. This allocator may decide that '0' is a valid address and
>>> return it.
>>>
>>> So I think your approach could potentially complicate the OS
>>> implementation. I think it would be better to use an all Fs value as
>>> this cannot be valid for this hypercall (we require at least 4-byte
>>> alignment).
>>
>> Valid point, yet my avoiding of an all-Fs value was specifically with
>> compat callers in mind - the values would be different for these and
>> native ones, which would make the check more clumsy (otherwise it
>> could simply be "if ( ~gaddr )").
> 
> Ah I forgot about compat. How about converting the 32-bit Fs to a 64-bit 
> Fs in the compat code?
> 
> This will avoid to add restriction in the hypercall interface just 
> because of compat.

Possible, but ugly: Since we're using the uint64_t field of the interface
structure, no translation is presently necessary for
VCPUOP_register_vcpu_time_phys_area (we do have the layer for
VCPUOP_register_runstate_phys_area, because of the size of the pointed
to area being different). Hence what you ask for would mean adding compat
code somewhere. In which case we could as well make the above check
itself depend on whether we're dealing with a compat domain. Which is
what I've named "clumsy" above; still that would seem better to me than
to add actual compat translation code.

Then again, looking at the last patch, switching to what you suggest
would (largely) address one of the RFC remarks there as well. So I guess
I'll make the change to that if() plus associated adjustments elsewhere
(in particular in the last patch there is a similar check which needs to
remain in sync).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 08:38:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 08:38:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456018.713678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2pwr-00072q-9f; Wed, 07 Dec 2022 08:38:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456018.713678; Wed, 07 Dec 2022 08:38:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2pwr-00072j-6t; Wed, 07 Dec 2022 08:38:37 +0000
Received: by outflank-mailman (input) for mailman id 456018;
 Wed, 07 Dec 2022 08:38:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2pwq-00072Z-1h
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 08:38:36 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8959ee48-760a-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 09:38:34 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7971.eurprd04.prod.outlook.com (2603:10a6:20b:234::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 7 Dec
 2022 08:38:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 08:38:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8959ee48-760a-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hOTBfYqFPsQCTi2PgehOpGHgbXpYIOezers0Y81zJtl2nYMSukTXrgaNBN9vfXV19LAGGSHsuhF2hvltLlPClLhV4hlBLgMZoEokYtSmmQTmTjP7fF6SuERP5gT4V2ce2S7wgmyYFHkdOWyz7RsYBmTeM1IoViCYzE5wGOyaW4gH10jipQtblgIqRWmFrEY8yCmr2sYFhp4kqbj8oFgkcEOlKd4r9b3ToKiSDKJgMA/SkookJ9eLZkh4zeQpWU1tRnJZtQfD1GdMexJzMayYo/iABaeZsIAPzPnwFc8RxsWroonWA8ZOKTJ3zhKJfTgXee0aVx/LpUvldh4QpTn9jg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Gl9icOvadYcBfPefK8H1y4p6Jsmqe2EENwuaB/xJsWc=;
 b=nRI02HF+YzCy09Tln6okbLM8K2j1kxH94OUr+FwJ+ugqKmC61ZiRieOlA38jCHRJ7d7m3sa4RL0YoNG92pSTMGkM3BSvo32Zc/1w7i/WZ0YehcAiiwxz0aWd3bvxZRPEsbH+DZSuNHA2Agy/QexYgfuiXL+Lm5ftKNmIV8ecyBuVOt0HMjKypq6h6/Xs1DtiXmjnLUbcYAfCzTYdKFfmNJyG6qXWk2FJCxS4ZKy/BNYvGAj05ghdB7vbHQ7csXMIlNPLC0KWN9zI0muhgTEgexwikE6r+HPpWbiPqlu5w+btlp6uzHC/aGlrxRaH5L8ThfWErz5TSOiDagWfo9zYnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Gl9icOvadYcBfPefK8H1y4p6Jsmqe2EENwuaB/xJsWc=;
 b=tp/7HYGG1quo9ZuHf1OeuX+gnymUazGw0a/sP/j/J/HhLZqetmQHgAduyci/57v6k9fZ5/O4GNquNAQzrfZOg43wXIz8m4zt/Dn9se1oKkmJ6Uj21hoQf8tyPtweH5KlQdreapaND3IQUqQ49/+k5cmEF+oG9xaRYbVSRB26Hl7pXSQltwxZ6VLgrROBdFKcNfEx6YA1uB2d0dSN3L7vuZH/vhVShiMh7jHos06JpdIYYYzd7RgMgfmsUqDs4MwJjoCYzsik671bHEZvDfAGNvAsb+hM8QCaI9Eh6q24yG0vJNtNBlHtxmgZf4eOqwYSi9kJuhMtxjqCogEI6x1CFA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c9fa2474-c7d8-fc76-0d26-97ad147502ea@suse.com>
Date: Wed, 7 Dec 2022 09:38:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [XEN][RFC PATCH v4 10/16] asm/smp.h: move cpu related function to
 asm/cpu.h
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: sstabellini@kernel.org, julien@xen.org, Luca.Fancellu@arm.com,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
 <20221207061815.7404-4-vikram.garhwal@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221207061815.7404-4-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0073.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7971:EE_
X-MS-Office365-Filtering-Correlation-Id: bdb5c1b6-b92d-4ffd-dd87-08dad82e6cec
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9TBtpdPgge/3xWWqu+X6onERBnPpMjfvcbuThvdPrfTjctY45g2tA2GVSzWtWlXTGqxowsXbhdCmJKW1IF11altobWCKdYF3zfEKh4lAjjj27TefbHjjo0DVOGi4kZAdM59qHNbc5259uL+bRhdVMwQGWSMUz1B/FC80DphVyWBO+48+IZ+2VevRmqTiVo4GjuF/O0vZvEHaauF5RHcMlo6ivcqZfcxet1M7xl785X0KvC5prBOOmlJu5yN3kzCJG5pxY991GqS7b2DzfBW9Hhzr5zTAF/ZoTvhMa182KrgkBsM20WFwD+6SEhIUhMNTc4DhKUbQRgwyZ7DaP7rMULMIhWmlpW/AmJ2HZ5rBRxmT6dY/cJRfr8Mq19mbO11FNXk7g1LhQ6zEBgrGnP8yfnBsdOAyUZAvfL39aD2nQkIQGH3rZZ1C+IHVt+lX7f1F1QZGqLSF2CGuAlH5nbaJLgxCFaJH365/I2HDQyzxX+4S2krJ6Hi4Russ14fIj/eF69oDAWdUGqRoDEdzvxZaEFok2WNYGuEmF+nS/FR58DajvNPyMm/1oMZEYra69DoL2C+0wYLsOmuQzaAxwTUS3kniweZxFFZPfwLfa0UdM1xC+Z1b0scuPUd0cJI2BxsBUTTH6nYVdwCRHUh79d98pJ02K4IIAICYzOVvhuOKYqAzo8QG46d6pkIF48ENHzKZR3XPfxGfj9iUgYDpvradToQ59UyPd6q0yH9eSlWtpz4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(39860400002)(396003)(136003)(376002)(366004)(451199015)(31686004)(36756003)(31696002)(2906002)(41300700001)(86362001)(38100700002)(83380400001)(4744005)(6486002)(478600001)(66946007)(316002)(54906003)(2616005)(8676002)(7416002)(8936002)(66556008)(66476007)(5660300002)(6916009)(4326008)(186003)(26005)(53546011)(6506007)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aWZyMVV6UmVSbTNja3BWSlZiQjl0dDlnQnNITUQ5ckVuaUVYUkNqT0hDOHR2?=
 =?utf-8?B?RzNaOURlVThwRXhiQ3hIcm5WbFl3Kzhyd2ZDU2pXeEhDWks5VDNLL20weFls?=
 =?utf-8?B?TjZzUmZyZHk0bWlkMERSZ3o2UlZaMGZRV1U1NlFCR1JaNTdBNy9IbjQzeGpj?=
 =?utf-8?B?aXM2aDcyMCtYYUlSczhFT3NNRTk0ZEdmS29vNC9BUys3dXFrUWptQ2I0b3Bj?=
 =?utf-8?B?TEViaktSZGp6ZmFXRTZZT3lTZ3NlUm1yVkhlL04zOVhCTlRUUFMvbEZqSTZr?=
 =?utf-8?B?aTJ0TVkzK0NlVGkzZElPWUV5ZUk2YzFvajA5ZnQySENhcHp6V0hXQzRJMk5k?=
 =?utf-8?B?cUlIOEIxVzU3U1BDL2VTUGlMRWpMVnV4d2hweUp5Z09SKzA1UjJGWlBOTW5s?=
 =?utf-8?B?YUF2SUh2cmpvckp6U1YrWW1BYkdFRWFmU1BGbUF0Z0RZMUxBbTFQWW1Cajg3?=
 =?utf-8?B?S2VWTk9KbG8rREQ5bGpmaE9pLzVndmFrZVlCdlh0TFk1T1dSeFlldFQwZlJm?=
 =?utf-8?B?aXlHS3I1T0tMSHNRdnpMd1dCSFJ1QkEzQm5EdTJla3FSRXlkaWdpSTBidEdX?=
 =?utf-8?B?eGpvSlNrNFhLdW9mdGdYR00rV3U2UnFUS1VFdTF4Vm0vd3FiU3JLZkgwMDZz?=
 =?utf-8?B?Ukk0d3NFS0pkcnRBVnl6ZDh6WXFWbFV0VEdXUkIrYVNsN0QzL1VxMlc0SFNl?=
 =?utf-8?B?QzdWRzhUcVlTSmxxbmtVWlE5VEhIbjhlV1R1MlBmVGxKM013SFl0NVBXNStn?=
 =?utf-8?B?cS9Hd3krek9neE9pbjRwd3JtOVFpbS9WdVFMM1pLS3E4RStsVEVZeDh0OXBU?=
 =?utf-8?B?NEdYTW9MaHduZWlqdzd3T2ZJNlo4WDMzZ1BiakxRN0x1bEZLTUxYNWJ3cmJC?=
 =?utf-8?B?N05vNkMyeWhIeG0yMGdjdWtrZGtkM2I4OHRPQnJPQjN3Z2FheXVCbzdFNkxp?=
 =?utf-8?B?cHVLSW9vbWlNWHFmZFBUejkzRHo0NWdGdi9PaDlGdFVEbjdVa1FFRGJ1eEEx?=
 =?utf-8?B?Q3A3STFNUFJDWWhjcTNkZC9ReU5FSjl3MVl2ejFxYW5nLy9tME1IK0pHd0xm?=
 =?utf-8?B?aS9jY09WeDZRcW12N3FvV3NISXNNU1ZxSTJNVG1sVk53WjZtU3lRRjJJaWY0?=
 =?utf-8?B?QnZ2WEpteUVXUzNVSFFrbmRxbUxkT3dVQldZTDZzVWMyYkFDUzNia3U3QWwz?=
 =?utf-8?B?bW1hc0FmUmJtVGhvTHNHb1dVbjV6UENOR1NnbWJCYjkvKzdHOWowdW9TYmRa?=
 =?utf-8?B?emtHd1JGOGVadnZKVHRrOC8ydUYvTTNtSHJTK29DT2VQTWdrelAwdWk3eUs5?=
 =?utf-8?B?eFZEWG90RGxwTGtoeXVGVXNqQzd0V0VwVXRITFVWQmVRdjRIYjZDUWsxeDlU?=
 =?utf-8?B?eFBad2M5TWhvMFVrMlBLaE1vU08wek92aWwzbko3WVJPRWV5MUpONVlRVm53?=
 =?utf-8?B?UkY0cGJIV0tta21QYVZOL1dYTkYvdEZQb1hsSDRhYndkd1JmS0FqVnFDWll1?=
 =?utf-8?B?RjAyL25JMDd0SmQyaTlHWlBTeUNrVzNmeFh6aWtCRGI3M1ZXcjBQcEZSQ3lv?=
 =?utf-8?B?UUtUYVlzejljREsxZ0tvVFFTTWJWTWFXeW5Xc1dOaU0xek9GKzdQSFdIWFlu?=
 =?utf-8?B?OExOTDNmRmtpSmxwZ1o0NDUvOVNSYmJLMUgrNHpadzZobXVGdHFxZk9wdDBl?=
 =?utf-8?B?RkIwTTFablBrQVhJOUUwNjhaY2hFdDA4VWpHOVh4bzY2OFViNm01UDVkWHov?=
 =?utf-8?B?QjF1R0lYT3FtbEROOTNKVGMzQWxKQXhzWWhYMGxxbGVzU3JGS0ZZdVlYK1dL?=
 =?utf-8?B?Rmp3MlNGRS92aFdPRDlFUXA4K2liZzlwVkEwVGhYejNqbHBpL2pRU2MxS0U4?=
 =?utf-8?B?UHBna2thU21ndGZUVk1LQ3dsTEM5R3VwZHBvekdITUxrWnZsejVibDZRN3ZH?=
 =?utf-8?B?bk1ZZmFDdDdtVmF3Q2xyVHJaWSszTEcxOWpSeUFQOWVvL1ROcGpoTWZzK2t2?=
 =?utf-8?B?TmdUeHd0U2tZTGVBUGh0TlFLYWZ0M0RPaFJ4UFJTQ1QrUnl4RXJhZitJejRo?=
 =?utf-8?B?NUt0QXZvVWluWkJmVndzRUd3b0tOaUQ5dmZiSks1NitVQ3RCRngzNFpoZkN2?=
 =?utf-8?Q?kLCVe+N8NKMaaSzpYSHHw/7i4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bdb5c1b6-b92d-4ffd-dd87-08dad82e6cec
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 08:38:33.4997
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vh8jrED0jt0TxyLMLoNjzC9TUnyo1gb3gs0xqGt6xzWJWlTBf3/WXvFRRHUJovBFCWuPQTrEv2ggUBV3ZSIsFA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7971

On 07.12.2022 07:18, Vikram Garhwal wrote:
> --- a/xen/include/xen/cpu.h
> +++ b/xen/include/xen/cpu.h
> @@ -5,6 +5,10 @@
>  #include <xen/spinlock.h>
>  #include <xen/notifier.h>
>  
> +#ifdef CONFIG_ARM
> +#include <asm/cpu.h>
> +#endif
> +
>  /* Safely access cpu_online_map, cpu_present_map, etc. */
>  bool get_cpu_maps(void);
>  void put_cpu_maps(void);
> --- a/xen/include/xen/softirq.h
> +++ b/xen/include/xen/softirq.h
> @@ -19,6 +19,10 @@ enum {
>  #include <asm/hardirq.h>
>  #include <asm/softirq.h>
>  
> +#ifdef CONFIG_ARM
> +#include <asm/cpu.h>
> +#endif

We generally try to avoid such #ifdef-ary whenever possible, so the
description wants to justify these if they cannot be avoided.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 08:41:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 08:41:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456023.713688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2pzQ-0000QV-Mi; Wed, 07 Dec 2022 08:41:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456023.713688; Wed, 07 Dec 2022 08:41:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2pzQ-0000QO-K1; Wed, 07 Dec 2022 08:41:16 +0000
Received: by outflank-mailman (input) for mailman id 456023;
 Wed, 07 Dec 2022 08:41:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2pzP-0000QI-FP
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 08:41:15 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e89225f8-760a-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 09:41:14 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8485.eurprd04.prod.outlook.com (2603:10a6:20b:418::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Wed, 7 Dec
 2022 08:41:13 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 08:41:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e89225f8-760a-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e+gsPTs/7a+8F/H1e8hA4muwmypd24zekouiGWKnHeWups5lFQ3nSA1pORb5jxV66hWcktb6Bd6n2mWxpbctPi0SIOwU/o+spFcE3xoXjAacfgrME3m8/IloARK8F0MNwbJcPIsYu6cK+wuztCsuEqkcrJV9U5iTlWPJBLcdp5EVJTYiCvo+dGgD0JBOveuR8gJSihecZA6hJu5/12Q4RKvDGj98zHYf3uOSb1Sk8vaxPfb9UiwBUQFG/G/t4MOM88NXH1Fg+0QCjUcd9EqeOMUI5BVkVHlARzZVVZw2rJvJIkheE/Bnsz9J7p2keJCYrowQ4FRU2gOC+guDp6IXJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+Scj/x4Nf690HEGqPvfqmvtwry33pCAMvh6lg30CODo=;
 b=cyrwDKyrsKNgfGtpet5YAQZ/CCIV4rE34pUlRRCE7sm0/J3KL0KQA0i0bpgDozHhlaEp6KtNGfJRsP7AxS/T2exYW8PjCkFaTc5ZWdMkq817f45j8RoRosx+IsQolyXCli+EUEgihF1HB+8wIVHDKaPME/yvkW2p3SJaJ1eBBomrunAYj5HcB0lnBPylBQbSPLjE3AftXRAJIep92H/Xr0X8ZfDz1K44gkODDt5Wp9BuM8/JPfQ4tCBYTsUQu1WMX2NftzDZLv65zUyHYtowRIhc9gvBQUkPnyfCDpEgopvbeAdAHOgTb+ehB9xXBSK77fMwuudHBMQJ4HV1WpA2BA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+Scj/x4Nf690HEGqPvfqmvtwry33pCAMvh6lg30CODo=;
 b=ksSAtR99iE3/Smx2ZTioR/k9HW12yNL9+0qUsCjFf+v6HJTFdxTeDrUdXBM6Y91WSzF2EmgpnNejEU/AE3Fn6IuxwBg9cOpllzUie2siRPLU3Ii4wuqwn+J5Y7TFC+S30Zq/1YCY3rT+X9jGjQ8oOxbcpBoGxM+T4iR+V0b/Mo8nYBcLSFWVp8eJzhKEtKt7Y+5C9u4aYwL74uZJLh69cc6avQ4XDuNr3Jo9q0YRcXrIai1OFunnScDbP8ZbMYpe3dPULSngelr+1fz1r+MT1xDDEYYwAziaQ7v+S7oo9jm7yKaIuwdp/g1CBQpXcRd0sufnABcZzbOJmQzcG4cItg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <786addf7-2698-5a18-26c4-b6b88bba1d67@suse.com>
Date: Wed, 7 Dec 2022 09:41:10 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [XEN][RFC PATCH v4 12/16] xen/arm: Implement device tree node
 removal functionalities
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: sstabellini@kernel.org, julien@xen.org, Luca.Fancellu@arm.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
 <20221207061815.7404-6-vikram.garhwal@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221207061815.7404-6-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0195.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8485:EE_
X-MS-Office365-Filtering-Correlation-Id: c2d89f60-ef91-4c2e-a286-08dad82ecc06
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Hx6+tu9gl7lcIWROVONu5FMlou6LkXiRQgHbNBonAr6/3ewv8/oefrsCBjsoddswn8o5czFVd7/fS6fNxVZZq53J7ogxpcIeojH5VprgI8MNdk4X0luWr5WW4+O3Cc1pqhWvbcLERLBBPZ+7ndWhC1T5456srFhnh4IIWSFsZ4ZxT92biyp672lD3/qJF65ZhbNMY/Tk42UHXDYr3b4sZxOxXYXYtpp2adjXZg3sZb5xKDrqoGVb6y8shv75xtBoBLghUAOjpz9HqIxh42reByJEHWMZQixCAprIeCO2jdGL1yb75mWI2DrFvC+tLUal75Ugciegz6zHwHD9kHRXE0Zf088JUZDxDMXC9cl4zIfgOcZRs8qh3TdE5SL3/4EGFv9dlmSf4jTFcQ028jxCWdUxay+YmxXxKq0PY/R18bp6ZtfDCZicYSYtmYgbHESA7BMDZRA2/ialIG0d6ePizYyMFh+W7NXAw7SPIXUGa+a/b+mG8ftmpMuiLl1FrkwUq9qUFBH5xeWv9AhOLeHoK4mjvDhiitdTxI5kFFBg285c7440qMOoD75gi4Wt5JMQ/W7kQwd1PnpkMNvW6PCEZmN9pG0ovuu2v07VJh/kpoAACvQbez7MCaLz7ZIdzDB7fFxZCenW3ewg1SVg40lEkKax/s+VPE4TbcorO3xSuwmTV0iVGuhggqB/m5SwutewuPFlxRDX8CwrhpRVzBI7uCu+Skx1qkNU+aLoTFyV4N4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(396003)(136003)(39860400002)(366004)(346002)(451199015)(53546011)(6506007)(36756003)(2906002)(41300700001)(31696002)(26005)(186003)(38100700002)(8936002)(66946007)(66556008)(66476007)(4326008)(5660300002)(8676002)(86362001)(6512007)(316002)(2616005)(54906003)(6916009)(6486002)(478600001)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bG9rMnBVSUYvZ0VDZzRKTnhLRVRtWmk5bWw1MUhJL0tDYTBxclFPcWJmQmZG?=
 =?utf-8?B?eWovSHkxalVLMWZMOUVEdjQrMWlXaDlVc252TmJiMjdVMHE5Z2pmaEZOcWI3?=
 =?utf-8?B?T04zNkdaRG1WQU1VNHprakFTMW1HN0VWT3VDeGo1U3NXMjJ3RzZtWE9Qa2Ux?=
 =?utf-8?B?ZldGYXVQSVpFOTBVajBncWN0aW1sRE43MU82S0E2SHViZnc5eHdQUzFnOUNT?=
 =?utf-8?B?K3UzQ1hQRnFSUUwwN2MvZ0FMZkR2aS8zM3h2MjQ5bVdSRlR1N2pNQUNoK2xW?=
 =?utf-8?B?Qk9qM2hJT1loUHA1T0puTS9ha1dvcjBUNDZjTlY4RUlrUGxocTdhWnlyN3V2?=
 =?utf-8?B?TEtSdlMwcG1aRTZhZVhIU0lVZGk5NGxtTmpOZVVaTTA1THRBOVpYcXlaRjBC?=
 =?utf-8?B?dWZCN3YvUkgxY2V3M3JUeklSeTFWV0lBTFNnakQyd2syd0pIK1VwSHIwMWsy?=
 =?utf-8?B?MmF6T1lhdVlZK0xxaVRFZ1BkaFlWaTJETGFjMHJTUngwdXVwSTcwR0UrTXhG?=
 =?utf-8?B?cG43Mytwa1RhYVlvb2hmck82UGdENGJJVHhXUmllTVZNZXhsTGs1UFhmMW0r?=
 =?utf-8?B?VUVxZ1FaNUJmSU5FWkFSTWUvL3NrRlgvdmozdjhjbmM4dEJiL0VDdncwWmh1?=
 =?utf-8?B?QTRPaGg0dkVPQXhRNnU1anpsZm5FOXZVakI0NGV5MGsvcFh2cTZOMkFOYXdW?=
 =?utf-8?B?NGM5Ym1FazdEbGNuL2VxcXVSRUY2US9RMlJhNTBTQVhNVVRjZ2hYRFJtS3dE?=
 =?utf-8?B?UWZNSlgrbW01ZVdRdXRXTm90UmFBSXVTZDhkcG9PYmZqcG1YcXVSREtNSXdT?=
 =?utf-8?B?UVJtRll2TmZONUh4TUd4YWpYbmtHZlpFci9rN202SDBIbVhZd1MwZjlaN1dX?=
 =?utf-8?B?Q2RvZ1JKWnFGV3d3MjJBUERYWjJINDloSGRBVFNLcVI2V0MwL2dZeHhtS3JZ?=
 =?utf-8?B?MlRYcDN0UHROTzRzcGpLdzZJTGlFT2pzZkZiUjcvazR4djJXNWVqbmR1eUh1?=
 =?utf-8?B?YURGdXlPVTZnVUwxM0xZM05CbXBlYmVNN1czWU8xOUQ0NnFZN0ZpczIzcFNs?=
 =?utf-8?B?dy9Pd2FkNERsSjJTYzF6cFpYUFhTeGtlNnk5c1BhTlA0bjJXcnZYdlF2UnNQ?=
 =?utf-8?B?d0hjM0xBbDIxVEJzTjB2aEwzSXBkRk5xeWVZenV2R1c1RTZxODNsdXhxVWxr?=
 =?utf-8?B?dVNvTk9mWUpqdURYM01iOU41SmJYQmxkaitYUEF3V09CWlZROGczTXVvU2t4?=
 =?utf-8?B?cGFOTGlPbVhNT1FWMENrNng3REo0MTVOS0U2VFl1YUdZQm5pVkFWQ1d0QnVB?=
 =?utf-8?B?K2tUNEJRcTR2TDZpalZLQTNlMUdDT0xkTmFobTlnQU5MVi8rZ2pFeEVia0ZT?=
 =?utf-8?B?SFNrejlTYy9aZVFXSThqZXhzVjJZMW9MeFJOS1RqM0RTSmh4c1kvQmFqQ0lM?=
 =?utf-8?B?bVgydENFd0RRVjBZYjZ2TjV4bWw2dzgyUEN4SW9URWpWRktoQ0h1dHJwTjJG?=
 =?utf-8?B?YnVab29NS2NpZE1WQnJHWi84VTBWbk5jd0tDQXh0S2VLZkdBcURjbWd5RHVt?=
 =?utf-8?B?YkRKTkFQQVF1SlVkMUFxYVpxVlZMNFhZbzJpRGRxMnh1U09OTHoxbjBHZ08w?=
 =?utf-8?B?VWU0RGx5VGl1MExyc0VhY3ZWUWV5VzRMclRkY2JBcVBaUVNCcVUwVEY0RzFw?=
 =?utf-8?B?bS81bEdyVnlCL1luL2MwMHhrU3ptUzFsRmMySk4vVWRPN1k5Ynk1N3BCMURZ?=
 =?utf-8?B?VXNEWUlYb0VPbkdzMTBKaWt6WDBxNDZNR3d2V0RmTmhsWkdhTFFWUmhSWWhh?=
 =?utf-8?B?NWNhK1RtY0NkcHVZeCs0c0NJajJhVStrN1cyQ0ltY2hWN05kVDVDRHFjak1r?=
 =?utf-8?B?dGE0YTZnQ1VZOTVPS0lMR3h4ZWdFci8yWERzV0FscWNORWJmZnh1QXIwdnBz?=
 =?utf-8?B?MFkvQm9zamk3M01Hd2hCbTRwcGcwV1N5TWhmbFJ1dmM2ZlJlUFZ2TkJtZWRj?=
 =?utf-8?B?cjZ1a1dtdUlCK0gzT2s3Q2x6UGZZVmJpWDYzWGM3cHZ0S1VSMTdDMk5BRXc0?=
 =?utf-8?B?S1ByeXFOQWlQdTFJMXArK0plK3JDYlFEWkt6ZW9IV2sxcmllYlVqenhkVW02?=
 =?utf-8?Q?QzN9/mro9/L0wika4I0a76xPt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c2d89f60-ef91-4c2e-a286-08dad82ecc06
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 08:41:13.0522
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hEw0EaRHFwNeJCYfW54Cn7mKRzXuAjWiqM+aQnSzFVr1M86/xYLzlBWe6WfIdTj2cEdUVHwrefVBjwoB7YC1cA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8485

On 07.12.2022 07:18, Vikram Garhwal wrote:
> --- a/xen/include/public/sysctl.h
> +++ b/xen/include/public/sysctl.h
> @@ -1079,6 +1079,23 @@ typedef struct xen_sysctl_cpu_policy xen_sysctl_cpu_policy_t;
>  DEFINE_XEN_GUEST_HANDLE(xen_sysctl_cpu_policy_t);
>  #endif
>  
> +#define XEN_SYSCTL_DT_OVERLAY_ADD                   1
> +#define XEN_SYSCTL_DT_OVERLAY_REMOVE                2
> +
> +/*
> + * XEN_SYSCTL_dt_overlay
> + * Performs addition/removal of device tree nodes under parent node using dtbo.
> + * This does in three steps:
> + *  - Adds/Removes the nodes from dt_host.
> + *  - Adds/Removes IRQ permission for the nodes.
> + *  - Adds/Removes MMIO accesses.
> + */
> +struct xen_sysctl_dt_overlay {
> +    XEN_GUEST_HANDLE_64(void) overlay_fdt;
> +    uint32_t overlay_fdt_size;  /* Overlay dtb size. */
> +    uint8_t overlay_op; /* Add or remove. */
> +};
> +
>  struct xen_sysctl {
>      uint32_t cmd;
>  #define XEN_SYSCTL_readconsole                    1
> @@ -1109,6 +1126,7 @@ struct xen_sysctl {
>  #define XEN_SYSCTL_livepatch_op                  27
>  /* #define XEN_SYSCTL_set_parameter              28 */
>  #define XEN_SYSCTL_get_cpu_policy                29
> +#define XEN_SYSCTL_dt_overlay                    30
>      uint32_t interface_version; /* XEN_SYSCTL_INTERFACE_VERSION */
>      union {
>          struct xen_sysctl_readconsole       readconsole;
> @@ -1139,6 +1157,7 @@ struct xen_sysctl {
>  #if defined(__i386__) || defined(__x86_64__)
>          struct xen_sysctl_cpu_policy        cpu_policy;
>  #endif
> +        struct xen_sysctl_dt_overlay        dt_overlay;

For now your additions are Arm-only, aren't they? You want to use
#ifdef-ary similar to what you see in context in this last hunk then,
to avoid undue exposure.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 08:53:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 08:53:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456039.713700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qAh-0002OS-SC; Wed, 07 Dec 2022 08:52:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456039.713700; Wed, 07 Dec 2022 08:52:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qAh-0002OL-NM; Wed, 07 Dec 2022 08:52:55 +0000
Received: by outflank-mailman (input) for mailman id 456039;
 Wed, 07 Dec 2022 08:52:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2qAh-0002OB-B0; Wed, 07 Dec 2022 08:52:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2qAh-0002ks-7n; Wed, 07 Dec 2022 08:52:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2qAg-0007FH-Pm; Wed, 07 Dec 2022 08:52:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2qAg-0006Z1-P9; Wed, 07 Dec 2022 08:52:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=q4HVZVahVDxx5oKmvzUUpEcBSwxDhAuyY1HPMV++2pA=; b=bUGItk3D8Rc8b16vKA/82FMlcZ
	3S+VeLP9fTHrjPb+sGiyiG6F3eZNQOKPDEwN7Ir/lqyoi0DqoDWXihp1+moA7oGKXJiN2cyZrc7sC
	ZaLfAwxPq6kFdZMHNFhSKfo7r0gUPPsEJsrd6bkc9wleEn8Fa8nqevkmy/DZn/WlkwUE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175066-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175066: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=b926dbcccaa92831dda37576f768ddab9ec8a701
X-Osstest-Versions-That:
    xen=a6da84524ceaf24ff997d03407b93f60c12857f3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 07 Dec 2022 08:52:54 +0000

flight 175066 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175066/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175062
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175062
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175062
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175062
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175062
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175062
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175062
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175062
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175062
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175062
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175062
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175062
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  b926dbcccaa92831dda37576f768ddab9ec8a701
baseline version:
 xen                  a6da84524ceaf24ff997d03407b93f60c12857f3

Last test of basis   175062  2022-12-06 17:10:21 Z    0 days
Testing same since   175066  2022-12-07 00:09:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Ayan Kumar Halder <ayankuma@amd.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien@xen.org>
  Michal Orzel <michal.orzel@amd.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   a6da84524c..b926dbccca  b926dbcccaa92831dda37576f768ddab9ec8a701 -> master


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 08:55:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 08:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456050.713719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qCy-00036c-El; Wed, 07 Dec 2022 08:55:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456050.713719; Wed, 07 Dec 2022 08:55:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qCy-00036V-C6; Wed, 07 Dec 2022 08:55:16 +0000
Received: by outflank-mailman (input) for mailman id 456050;
 Wed, 07 Dec 2022 08:55:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2qCx-00036F-Nx
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 08:55:15 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on062a.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd06e2d0-760c-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 09:55:14 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB9511.eurprd04.prod.outlook.com (2603:10a6:20b:44b::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.15; Wed, 7 Dec
 2022 08:55:12 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 08:55:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd06e2d0-760c-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hBd13YxHZ9b3iLgMQjle57aFbdGR0rrpEf2B0FqK5XGbjomqWp1/C0Jd8ZyOVyeVp3y/MRNfVnJ6u+fvtA4XGYkBfrryltOzI9hMoJjLU/01ijwUNQveemwvexAEamFgoPcp8gRcNORNNylOi+xcDtmWj5rKDcse5/rhHmJKRL8ogBYTKLyAOn/CkEWg/6ZX0ZC1E5rYg7oY8asBCv/E1BPOBeH4JeE4CdIkmDpcd+Ru7E9DWqhXdQrnyateFnK9m6BwjfrQsrnlceAMdDzWkURhLa4Lo5y5ozm7lQ08l1SvwgBXW9qBZnqfn0opPc71i+dcYYGIHmbLP633Xi/2iQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S0SiVVkenMwwdvRBzDzm2WkKit2FbadK9ucCjjABKJE=;
 b=enM98HQ2hYsxT/qPizXR1ERR2QSj4RhMyKZlRmCo736duc1uNKUTRaqlHw3qeRs8iPjht0c91JhgOCDZ69qZUrtnqFwalFTuiOGqY/yfxuIxQrWK1Hdnhe0qiux4OnFAZJ5wnGRzlOgIZhBWvYV4i6DrwMoWC9kRhgGrNrHj9IIgQiPKJ1kvY/rFB5TKxYiOpFwr73KF+GF6OoPJ5WIFacerpmspXE8DF2VFKW7piqRqFdjFgFLWJPKu749HFM2PJuAQJl3Pgd1yvbjmGmQcrep3Qxl2ElneZy/z0tr38gQG9bnfGIiA7GY6k1Zu987iex7UpWhMo/GZUdNdY5RQrw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S0SiVVkenMwwdvRBzDzm2WkKit2FbadK9ucCjjABKJE=;
 b=fO/gPzM1mAKSRo+QECaaNv5z1GHNPHgA1aUEIcPj7lZO14XyOrM5mCrvYerkQOUopZjDE7I/MX67WnExN+rRQYn1hJsvChRwRN251vJRWi+a8rYkeAoaP3a6pK3EsBxHA7sxqDG203HNJCVFrk5V5oCzP0JcCLG128eZwssJJwMp993hu5GM3HuoxGMI9zqPozQHiwtqRicexnmNZzPYpIqA4RWI5LZStKFoNPS1V3OPlSCXznOb3ENeBc81UD9/sX/drlzijkj0gg5Wq3hA6j08ew4ovuFaEp7OVs+bxtbciGlUTCoXqNfaV6guS+DwzRH9EUoO890QJe2cPuuLOw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5bde8110-bdc8-e5f6-8677-8ae23f4990c4@suse.com>
Date: Wed, 7 Dec 2022 09:55:10 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 2/3] x86/pv-shim: don't even allow enabling GRANT_TABLE
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
 <5fd43248-225e-99c0-7bbb-65e7cf7f08d1@suse.com>
 <5c934e1d-c785-d330-f0e1-acaaef700265@citrix.com>
 <606aff14-8abe-1788-6bc7-f3b279db8106@suse.com>
In-Reply-To: <606aff14-8abe-1788-6bc7-f3b279db8106@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0141.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB9511:EE_
X-MS-Office365-Filtering-Correlation-Id: 29e4c894-84b0-4edd-1fb7-08dad830c035
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0rJzsFhtuUJZvmRky0vqW9IswkKtivnO2541dMUk554mpoDA6vpvS52QtiuzSUKT0ulauwc3RL6XZJ/RLdKWEBZNL/iFYTg2yMZeSk/IWo0WwvC8frjA4DnZc0xM8mcRjcZ10giWcim0PKRKHPdm4wP9R2UOQgm0TvRWSilsDzqCOTuVQHGuu60eIa6Vhz1cgfGS55PbzsTIztxPZ6++L2An8yZrDu6A1cTS0sPf/61081cMw+cu0gUZb+KYAChP8KKEQCU0lku2mpEtgyQBoi2tAwg3SaIwJH2XypHaG4xQHq8rHTUEPAO7xsXpblWj71mKAhP9Bno0prkOarSWmwhddQ49FVE0zO9LAQtas/8hEiZqKxKJHZZaOcJRMwezgV3e5BemPnPED5k4HFA1DjnWCAYimnQ5eoWV8vBiVOFA4NKpp4T8rjIvewP3dGqlScNFxKIZUoE/feZKwc6qrpb8TqlA5YYCQHIlPuVnlNFcG9FSi8e6qQ3eITDVsZ1rpCfbKlpnfCYf24SHDDecZC7xfBuWbQr8Z8qRTILshK98hs8TjREZvm1DnkxA1Qmei0YFXhMt7qVv6cK9k6OTPtXb0Q24kqwmKTAc8LlGNnVATFLmXY4pGHqVCK5Gzu3shUoNzhuNhwb7Iir9Sb9qQ9P2C/4I6p6p2ZX+NlXA7EB6wGis0kK2xyjQbRxL0dWTg6IAS+OgdTENjaDkMAhmVDU7KxTZ48xhfuYXIdeLPMU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(366004)(376002)(39860400002)(396003)(136003)(451199015)(31696002)(4326008)(41300700001)(66899015)(6512007)(6506007)(66476007)(26005)(66946007)(66556008)(8676002)(53546011)(86362001)(6916009)(316002)(8936002)(31686004)(5660300002)(186003)(54906003)(478600001)(2906002)(6486002)(2616005)(38100700002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eTNXQnN0eVQ2ZGlJNmtmNHFIaHR1YmhaMDJlcnhxSHRIT0JvaGxFVUZidmdL?=
 =?utf-8?B?L2Q4U2lQaGpna20rNGQrZFEvRU81c0dSS2J6MXM0WndiUDhhRlhYSGR1SGYw?=
 =?utf-8?B?WnFvOTk2cHA0UXBGY3ZXdnd3d2JSN2d2MEpDcmRtUVR2bndHM1A1cmFORE8v?=
 =?utf-8?B?Nyt5NVowQmY1S1NZeGFWQk9jd1pVcHd6RlFOanV2NFZOZTdWZzdHRFBSbXI4?=
 =?utf-8?B?VzQ3M0NjNXVwVWtidm1XMzd3bU5qNVFXRXdXVWhvT1ZYREs1ekg4NkJQTXB5?=
 =?utf-8?B?ZENXd3IrNURBcEVEdnVVb3NVTjNGRTcyaHhyeGxZRGpTb25tUk1uVUNEL2FK?=
 =?utf-8?B?Ni9hZmJQb3NpM1ZRWTNIdmRFR21sMkpwL1cyeHBsemZ0UGtRV1VUcGNuZWRv?=
 =?utf-8?B?MDA3Qmd3RUdnRXZZU2hScmhCYmFxdkI2ejlOZHFld1h6WHc5eEgveVYxQ3Z0?=
 =?utf-8?B?YkNqN3ZQNnRGRjZsK1ZzZVhqdVlFWTB1NVRDcWlyOUowcEF2WE5ubWFheDF2?=
 =?utf-8?B?UDJCRDRTUjY4S3VyK2VtQ0VxcFAzNC9jbmxSNmt0VXVYUUZYUUQxeG9KdUhx?=
 =?utf-8?B?WXJnT3BsTzdwTmlZNmcwQzVHZVlyVmZUcU5EcGRUMGlqY3ZpQ3hDejY2ekky?=
 =?utf-8?B?ZCtOMW51STNxOU9PWlF4VXhvT25hYlpnNm5CUzROSWN5TW5xK3NiZ2F3QTF1?=
 =?utf-8?B?QnFMNUJVVGZHcnp2ckU4bFVzWVpRMUlyWGh4OUlxV2R4ZWpQVTROaUNsU3J4?=
 =?utf-8?B?VS8rbktaMTU3NDZzaEVEMW50bzljMU04Y05ESEpWcHFxSDRBcXhWb2NKN2h5?=
 =?utf-8?B?VjZ1VVRQUjNWaXVlbzNXL1RncFluWnVwR3hjdGptWWptVVFkSEVOSGJ0ejFD?=
 =?utf-8?B?RmhhR1pMcDVLVlNKZXlsMjR2UjRNd0tuUU5xQVlhcEt1Y2hKdkVma09qNDFp?=
 =?utf-8?B?RnVVNnlNejdUbDRGb042OCtQQjNHZXhmdE5DMnFJU2hpcE9Jd3JYUGw0RHM0?=
 =?utf-8?B?QXNiYWp5anJacXE4VnBHNU43eFRsSENzell3bk0wdXd3aFJUQ2liT3NlTjNq?=
 =?utf-8?B?VWNTczNZZGpkU25SNzVCK2xGNUp1N0tEWnVzREhZRFFFSmMrNm1WY3ZNaG02?=
 =?utf-8?B?MWJWRVVCUjlPblE1TUxuUG5jbnZjY3NjWTBGRXlxa1lRejhSU0grNzJjeTJv?=
 =?utf-8?B?RExrSUVQNWhtRU5zQ0w5QWwxeUYzSlU0TFV4SWdKcVZxSmxxZWNJUU45WGFr?=
 =?utf-8?B?b2lLRnlyVFlzY3RnMDJOQ0NJQTNtOXZVR3ZTTGh4NUlWOFpDcWgrb1JBUmd3?=
 =?utf-8?B?K1A4TENJTEl3OCs5OFU1aUdaajNCWFpRdTdnZFc4emN4S0Nrb1ZCb0x1amxa?=
 =?utf-8?B?VnB6cWNtTU5KVUpXWC9MUlBxakhpM2JKZktKMmt4Y3M4N1lZSDVVaVJhMzlE?=
 =?utf-8?B?dmJ6OHd2RU1zOUp4TTRWNmJleVU5MDFNOUpqaG01dEZIc0ZkTkI0ZG1VMlFZ?=
 =?utf-8?B?cFJscTJWNm5UVU9jcFFKck0rUmlPd2xmRmgzMExDME5EQUVyZXZCOU01MFdn?=
 =?utf-8?B?SWloN0RPb3k4bDV3QnhGdlIxR0JXWjdiSUE0R0JtWUUramIvVFlkdWczSUwv?=
 =?utf-8?B?RU95OFNNbEwzbWFnQktZRzdqbDROUHJSd1hDU0RTMXU1WFZwNVJlYVczQ2Vn?=
 =?utf-8?B?QitpKzE0SWlKVWc1SWlob1BiL1FTYXVqYU5qM09oR1YremQrdktpcTN2Wmdi?=
 =?utf-8?B?M1RSR2o2ZzFaY0VpWktBNnVsaWVoVW05MEVlZXlKTjR0NVZBSkVxczMxMDdY?=
 =?utf-8?B?NXFEWG1kOHZ2aTRSUC9idnJuNXdoOVNUa3Z3NFppUmR4eHAxeFp0NUxzd1l5?=
 =?utf-8?B?SFRWeXc2ZzZRVlQvQUV0eVU5eSs0RGZNNUNzdCsrbDdZNHNneEJFZHk4Tml6?=
 =?utf-8?B?Nmw2Q2tDZExJQmx2ZWJBd3lYWVludmljeGZSNklrNkwyQm9SbWFlWGtNYXU0?=
 =?utf-8?B?Q0xiZUJ2ZzNwUURzdEV0K1lYQnFPK1Z4QUUxV1ZGS1ZHSUVSYmRXbG1UWmph?=
 =?utf-8?B?czFQbUNvQit1bXdNc3c5a0tKb29BcEFXNmNNV0lJdXB5TDVXSVFQYXVjeUFp?=
 =?utf-8?Q?2UAvyO4IJaPnQn5cXR7MKjmXs?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 29e4c894-84b0-4edd-1fb7-08dad830c035
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 08:55:12.3583
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Z+vuc4Ub83ermRzbuj6H2SVlRmw1WiS/qWIlgLEPFsGqUOm0C8Dh5qJHb4bWLqlTx/DRWlaVF+t2XKSX46a1cg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9511

On 07.12.2022 08:21, Jan Beulich wrote:
> On 06.12.2022 21:26, Andrew Cooper wrote:
>> On 06/12/2022 14:30, Jan Beulich wrote:
>>> Grant table code is unused in shim mode, so there's no point in
>>> building it in the first place for shim-exclusive mode.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> nack.
>>
>> This is bogus, as is every other "depends on !PV_SHIM_EXCLUSIVE".
> 
> But why? Doing things like this in Kconfig is exactly ...
> 
>> The only reason I haven't reverting the others so `make allyesconfig`
>> doesn't disable CONFIG_HVM, is because I haven't had time.  This change
>> further breaks allyesconfig by disabling GRANT_TABLE too.
>>
>> PV_SHIM_EXCLUSIVE is a simple option for a bit of dead code
>> elimination.  It is not valid to be used like this.
> 
> ... for the purpose of dead code elimination. By nack-ing a change like
> this (and by having voiced opposition to earlier ones) you simply call
> for yet more entirely unhelpful #ifdef-ary. See the last paragraph of
> the description of patch 1, half of which this change rectifies. The
> solution on the evtchn side, unfortunately, looks to be #ifdef-ary,
> short of there being a suitable Kconfig option.
> 
> Furthermore Kconfig, in my view, is specifically intended to allow to
> prevent the user from selecting entirely bogus option combinations
> (and even more so suggest entirely bogus configurations by bogus
> default settings). If you disagree, then I'm afraid we have a 2nd
> Kconfig usage topic which we need to settle on in a project-wide
> manner. If only we ever made any progress on such ...
> 
> As to allyesconfig - I can see your point there, but then arrangements
> need to be invented to avoid this kind of unhelpful behavior.

Thinking more about it, if allyesconfig is meant to be useful, then
any "depends on !..." (other than for base architecture identifiers)
would be wrong (see e.g. COVERAGE depending on !LIVEPATCH or
ARM_SMMU_V3 depending on !ACPI). And this would extend to Linux as
well - how do they deal with that?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 09:06:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 09:06:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456066.713757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qNk-0005QH-PD; Wed, 07 Dec 2022 09:06:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456066.713757; Wed, 07 Dec 2022 09:06:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qNk-0005QA-MX; Wed, 07 Dec 2022 09:06:24 +0000
Received: by outflank-mailman (input) for mailman id 456066;
 Wed, 07 Dec 2022 09:06:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2qNj-0005Q4-8A
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 09:06:23 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2081.outbound.protection.outlook.com [40.107.7.81])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b114dcc-760e-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 10:06:21 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8377.eurprd04.prod.outlook.com (2603:10a6:10:25c::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 7 Dec
 2022 09:05:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 09:05:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b114dcc-760e-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mmZZTerTcveT47wvS1VAvEsXEsBZGekV0BXAY+ATm2623ek9F09Nt9ExOpTS/0UJy3JfL9T8LZYVeh5A/owcg51dHIR7wFwYCSeCZd5t2LSLn/vNtPLxnVje60WK8o5SZNvqxAzUxodGkN46naNd/cQcre2+DtjIkvuOXEI+GlDgd8N+LihMjW1uvEyENBUs4kRiVFP6XoBQ+j1tu84FzKPBZQD9blHD5N8mQBvfuM6rmVzxmXP1oMlGE/zlGOLpO2vr+2exra4ZaRII8/w4Ul1g5nv3Z1iJ3s9dZCZN927FaqWaiVNeV9AbhC4sqdhvGN8vvgsLS/e0P+R10ZrVhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8NnTJrIX9yVfzKsX7gi8eQ/oYaq8/R9FEhj+m/cfizA=;
 b=hj/gh34BkzLEorhwusvIOsidXWYw94y5JRXFwNewrXNKcpHQFrvVSKzZI8FU5hk8LHy/+jyOI2aljyWFxxLj2ZpO586BgwqiGNJTRrvH3/ZK58xf5D/zSRx4gS2aVRiodzZ2vRKMx9VC0jZGWzBUy/ThGBEt6gAiyhmGM3E/+ixKDs33+SZSVHNNGLZIdD9xOQapShJVZTBgiN5Mzj6ukAnIy/XobO56wUFiFyfb6UTxThnAAbABUjGLRqsdOqCFlbr2vgmN/TXryjo6D4Edt2FQO9PPiFvYmdGFg3yAx/9YJhfI6R4RUInUCwVQgilC6Vl8DqkoMBunIvyoKrS1Qw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8NnTJrIX9yVfzKsX7gi8eQ/oYaq8/R9FEhj+m/cfizA=;
 b=X4oq2y+tiBZ+lCXrF1Tt4gaILk+/QjTetduaKVFdzTanjKOgkf1SPQDZ/puXVV8Um242ik7FFfUSFlZgXCbwXHls4FasEhDTNPwZzFf4GdvRaXnGpZLyMOh0vrTreEXrGMNkwDhOX0KEyjhMoN98Y3vu90Pg+T6eu4eEPIPRzWZm7pBsgyn0s3McxbRwK/WLbN+xs83PjkHteoTz3OCHmSWbc9NA5DDdTdXCXk+5XBboYfZBplr2TLuzKTKGZFdAlG4uY9SqUJ06DWSNdAAVxgpHlKLFVTZ0RGQkZ+Dk/2r/Lhrlh7LAdjeXjujgFuw+jgtGeUMzAQf3RT3Ep4tmOg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <397a24e0-e143-6a8a-571c-ea20ca4ccb63@suse.com>
Date: Wed, 7 Dec 2022 10:05:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2] ioreq_broadcast(): accept partial broadcast success
Content-Language: en-US
To: Per Bilse <per.bilse@citrix.com>
Cc: Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <9cc56d01a09fcf6e1e3e9d48e60420f435fa34c3.1670348481.git.per.bilse@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9cc56d01a09fcf6e1e3e9d48e60420f435fa34c3.1670348481.git.per.bilse@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0111.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8377:EE_
X-MS-Office365-Filtering-Correlation-Id: e9922be3-9abc-420a-e1ee-08dad8323d3b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jzdHPJkwiQSelT6EAvH6W1DgQ1rZvBL68xKYlFqKC5kbgQKKZQK8hYfIhxq/exY4f7b/b1c95O3v0rJRiIKCMBc568GqgVGkepgnb/tQeaL9pQkfRf6i3WUzy/pREEOkXw82/vvNOzP2rbgcHlp+CoKBwNbWOJJQRMWqYGty6sMUfORLTtE8tWeRFfK0oRzOugKgjntcGU7vzK1JpsqctEENOhI/yn6wH97WTjbQP0ljtELWTAY87FbJOmxRMzYktU8/QEqig5FMm9PWerQjD7ZVt/jzzVt0rBeHEFqVDieAwYaabK8SM2JlH4hwsVxr7Kr66ztsDJ+tzoR5u349NbDoyIavaPTxV2Yb7AH52rpjdGxh+xOqNpYFbt5h3tTgOyyRtLAxl+22el21iPCscrzeL3yv0SyBAXCmXWrnpYwvIwBZltEM8dce+pdVKps0dKV1wdHuG3Q6RkTmH0lahKbhU0rmGLTTSWOJ5gMNJ5NGV1EpIKbYBemqjUm7ctnowMsDxSoAs0a/6F504D90SdXww2SA+ZQxY6Dw6egZypNod72DhKdIaNn4tN9Kjrk1cGnNSLLYQQ6kMasc0z6aD0j45sVezS4jtb9haujUnVd66nWA4RtJT9xnTL/HWPAXgsT7feezD3ivdCGYhgZr5YqwxJu5naxv7poQQ7+axGEPDlV9Ufy332OED7aLOL6RDVIxcFf/8LLGnPJfhjf6ME/QLQTuDIgvY/hNztKrcVQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(376002)(396003)(136003)(366004)(39860400002)(451199015)(41300700001)(86362001)(31686004)(4744005)(478600001)(31696002)(4326008)(5660300002)(8936002)(2906002)(8676002)(26005)(53546011)(6512007)(186003)(6506007)(2616005)(66946007)(6486002)(316002)(66476007)(66556008)(6916009)(38100700002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NGpoUHpCUDRlOHF4Slp6Rk1OcnhzdGZhVjA0UGg2OTcxK3lXaXZiT0txUzlr?=
 =?utf-8?B?aCt4YnE1NmordlNlQVNJOGg4UEtHUjJRQUtCaENLYlZCWGpGeTAzMEkvdmt0?=
 =?utf-8?B?YjY3UWRZeTVqRGM1RU0xaXhlQVlENmFoNTN0clptR2pxQ2ZFdit1VS9TUS9r?=
 =?utf-8?B?QjE3YjVwK3VjaWptN1o0cG9MSkRTa3ViL2cyWnJkcElERHo5YUxRakxFT1ZO?=
 =?utf-8?B?RER6WjJ5TmFhR1NGMForWmFYTlUyT3Z5eTNBZUJMbGRJZ2FHZmYzbjErYm9w?=
 =?utf-8?B?VG5FVVloV01UMGJFVkdWbWduOStSMDRiVHJ5OWpqWHVMRExTVm53aXFIMDlm?=
 =?utf-8?B?cFFhYS9TUUVJdldlOFdwR0tQQm92RmE2V3RLdU5lcUpnUVZJWUxrVUwrVzFn?=
 =?utf-8?B?Z0Erc0JVb2Ezcmx2TG1qMXJ6aStUNFRBZ04xZm9acXFlYjhQbHUvMGRrN01v?=
 =?utf-8?B?VEJTQUNZVTBIOFFaVVkwcWhKSUlXTnRvcEEvZ2RGcElHSkZzTEtxK1B1MWZ2?=
 =?utf-8?B?SU0xQjJUaStTbDhvVHJOK1Z5RHNhZFRiaitJdGpBRDRIc3p2ejNqVi9XMzhR?=
 =?utf-8?B?cE5SNE9hVnVKSDBTSnJpampuTzlHOXBTSHBpcSsxWVJobkg3dmpQcEkxK3pv?=
 =?utf-8?B?U00xcXRINzhSS1Vyd2IzK0dtSWk4U3dVQ1JxOTZLVFVGcmRVSWc0NmROeE9z?=
 =?utf-8?B?M0NlY01rWTN1K053eldFMFcwNWliK1dUck00Yktha1p3ZG04M1VtMHJEKzlU?=
 =?utf-8?B?VjlTVVZvR2dhZjRlU1B1eHluQ3QvbHNMN0huZElVWVVPMWJFL0pLalVhdnVO?=
 =?utf-8?B?TXlTeEdITzhUL0FYdjgwYUNORjNiUHdNTDdXQUo5Yng4d1YvR3h6LzYrczlD?=
 =?utf-8?B?dzIwSWxMcDZ5M2lqbXNYeHRkOVo2enFXaE0wS3htRk51elIzTG5oTHc3ZDM5?=
 =?utf-8?B?V0tVRHQvS05EV3RCUVJXbEpNLzBsakNETnNKTmZDZmJ5VjE0c3BmNlhoT3kw?=
 =?utf-8?B?ZFJhK1ROK2tEL1VRL0F3RVVpU0ZIaHo4YmNhYStyOWJHMlFBVi94NXRiVUI0?=
 =?utf-8?B?Wk85akMybHRiL1ZiRSs2YlZ1S1NZQXRNVW1NRFNUcXQxYmhlVUI4NnJDb3NT?=
 =?utf-8?B?TW9hamxuTGdNcHNmSFdHaFdlRnRDdkNpeDVUekpUQmFpZEtRWDl0KzJCT3Jm?=
 =?utf-8?B?QllicnpuRDc1Z1F3T3VmODZyaU9rS3pmMldSQ1RrbmxBS2FhZnRvU2ZVNjVq?=
 =?utf-8?B?V3crdncyVWxvellqU1p2bW1JM1ZJNis3UUNLT3hzRmtmdWU1SzBqcGtCL0pG?=
 =?utf-8?B?aGEwL3Z2eG96c3puN2dNSjU4TjhKV3djUGNwbUlGUmIyaHFhRTYyYTA3TmYw?=
 =?utf-8?B?enVFdzFtMUw4ZjVYVTFWcm1XanFWenZvQmlJelFEUWhTQVRUYXVLcXZoeVdJ?=
 =?utf-8?B?U0o0QnhQcHk5cDM4aDE2Y1A1aHNPOENtTU9Qc0JFeGk1Ty9rbFhRS1d3RENF?=
 =?utf-8?B?eklRMGlKak0zRVdYd3FzbTVDTC81dmxVY2VaemxOc2JRVDdZaXRHS0QrMGNP?=
 =?utf-8?B?eVhOS1BPZERhNnpTZ1BCSGZOS1h0OXVrdC96aTF2YytIMEZzbldRUjFoWkJE?=
 =?utf-8?B?b3lvODgrS2lpZHZqS29SSlpRSUZDMUplWTZTY3BZWHh3dG94dVlnNURFSnlK?=
 =?utf-8?B?c2Z2Y3hsVUNCUUpoTTBuYmpTZ3UxeUNac1B1UzhnZ3RoVm50SERBdDYwRTEy?=
 =?utf-8?B?ZW9FQ0NnM2F1bmNYR2xPWkdtK3kwMzRWK3pBbVdJNDNpS1phTW9YVC9uc1lP?=
 =?utf-8?B?R0dpU1ppRENvaU1iUS9DUHZ1Q01ET05kbjVjR3BxOGNIem94R1RGa1FwdW1T?=
 =?utf-8?B?UlZvOW1HMm1nb3UzQnQxOHNCZENHZ3BTV0tzNWtBN0pxWndzVy82ZEZrQXBy?=
 =?utf-8?B?S2RtcUdsUnpvS3ZPM24vcTVsOFhLNzJ0bUYrejU5ZFN0WlV5a29pVFk5Vk1n?=
 =?utf-8?B?YUlySExuaHhIOElmbm10SUt5M08rZWp2WHdVYnRKd0YwS3IvOVh2bW01MVJQ?=
 =?utf-8?B?OGVwWU1ScFRBSzBRMU4zUEE1SWswSGZrM0FHS3VuaEZKektYa2NEN2dBdmVk?=
 =?utf-8?Q?Yb3Suliiu3DIK8d9jzpZ/lP1q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e9922be3-9abc-420a-e1ee-08dad8323d3b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 09:05:51.8488
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CAyniZ+8SP275ypGTKVfv83Dw2POAG34joyRfzcfrIsfI08BVnXWD7kffJba2k8pD4dclDkFIRFP/92CjN9fRw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8377

On 06.12.2022 18:52, Per Bilse wrote:
> --- a/xen/common/ioreq.c
> +++ b/xen/common/ioreq.c
> @@ -1317,7 +1317,8 @@ unsigned int ioreq_broadcast(ioreq_t *p, bool buffered)
>  
>      FOR_EACH_IOREQ_SERVER(d, id, s)
>      {
> -        if ( !s->enabled )
> +        if ( !s->enabled || (buffered &&
> +                    s->bufioreq_handling == HVM_IOREQSRV_BUFIOREQ_OFF) )

Nit: Bad indentation. Since inserting the missing blanks would make
the line too long, the expression wants re-wrapping. Can certainly
be done while committing.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 09:12:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 09:12:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456073.713769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qT4-0006wE-F1; Wed, 07 Dec 2022 09:11:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456073.713769; Wed, 07 Dec 2022 09:11:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qT4-0006w7-Bb; Wed, 07 Dec 2022 09:11:54 +0000
Received: by outflank-mailman (input) for mailman id 456073;
 Wed, 07 Dec 2022 09:11:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ywWV=4F=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p2qT2-0006vz-Mt
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 09:11:52 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f53ce3b-760f-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 10:11:51 +0100 (CET)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E0B241FDEF;
 Wed,  7 Dec 2022 09:11:50 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 8F645134CD;
 Wed,  7 Dec 2022 09:11:50 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id dUFPIdZYkGP/YgAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 07 Dec 2022 09:11:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f53ce3b-760f-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670404310; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=htPrc76l+zy+mgKybJzD3g5ztXTI5xWfmLJegnWOUmI=;
	b=Av/8LmCuhz3IzFibumHhILDZtQXW9BALBv822ZStEeY9lEPOpqZ5+W/dKKbYfWoKjMal55
	4xtuXlycQJ3Jt3Z/KCkruw3ZhnqseLEFqp+Tt7RBCbt/6ZONVCRZu1uFuNbF0GwWWURk34
	968C5aJpZeFVGUSdyQlG2WqjAQuudEE=
Message-ID: <e5fa33d5-a82a-606c-2ab0-013a9ed72c08@suse.com>
Date: Wed, 7 Dec 2022 10:11:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH 2/3] x86/pv-shim: don't even allow enabling GRANT_TABLE
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
 <5fd43248-225e-99c0-7bbb-65e7cf7f08d1@suse.com>
 <5c934e1d-c785-d330-f0e1-acaaef700265@citrix.com>
 <606aff14-8abe-1788-6bc7-f3b279db8106@suse.com>
 <5bde8110-bdc8-e5f6-8677-8ae23f4990c4@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <5bde8110-bdc8-e5f6-8677-8ae23f4990c4@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------AU0vXA1wv4eONdYx0lpuAdjC"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------AU0vXA1wv4eONdYx0lpuAdjC
Content-Type: multipart/mixed; boundary="------------LqVQqEOm9oOJ8Yu904NXpTlf";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <e5fa33d5-a82a-606c-2ab0-013a9ed72c08@suse.com>
Subject: Re: [PATCH 2/3] x86/pv-shim: don't even allow enabling GRANT_TABLE
References: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
 <5fd43248-225e-99c0-7bbb-65e7cf7f08d1@suse.com>
 <5c934e1d-c785-d330-f0e1-acaaef700265@citrix.com>
 <606aff14-8abe-1788-6bc7-f3b279db8106@suse.com>
 <5bde8110-bdc8-e5f6-8677-8ae23f4990c4@suse.com>
In-Reply-To: <5bde8110-bdc8-e5f6-8677-8ae23f4990c4@suse.com>

--------------LqVQqEOm9oOJ8Yu904NXpTlf
Content-Type: multipart/mixed; boundary="------------ei0G3vehQ01Xt7P1oilgmO0B"

--------------ei0G3vehQ01Xt7P1oilgmO0B
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDcuMTIuMjIgMDk6NTUsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNy4xMi4yMDIy
IDA4OjIxLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+IE9uIDA2LjEyLjIwMjIgMjE6MjYsIEFu
ZHJldyBDb29wZXIgd3JvdGU6DQo+Pj4gT24gMDYvMTIvMjAyMiAxNDozMCwgSmFuIEJldWxp
Y2ggd3JvdGU6DQo+Pj4+IEdyYW50IHRhYmxlIGNvZGUgaXMgdW51c2VkIGluIHNoaW0gbW9k
ZSwgc28gdGhlcmUncyBubyBwb2ludCBpbg0KPj4+PiBidWlsZGluZyBpdCBpbiB0aGUgZmly
c3QgcGxhY2UgZm9yIHNoaW0tZXhjbHVzaXZlIG1vZGUuDQo+Pj4+DQo+Pj4+IFNpZ25lZC1v
ZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4+Pg0KPj4+IG5hY2su
DQo+Pj4NCj4+PiBUaGlzIGlzIGJvZ3VzLCBhcyBpcyBldmVyeSBvdGhlciAiZGVwZW5kcyBv
biAhUFZfU0hJTV9FWENMVVNJVkUiLg0KPj4NCj4+IEJ1dCB3aHk/IERvaW5nIHRoaW5ncyBs
aWtlIHRoaXMgaW4gS2NvbmZpZyBpcyBleGFjdGx5IC4uLg0KPj4NCj4+PiBUaGUgb25seSBy
ZWFzb24gSSBoYXZlbid0IHJldmVydGluZyB0aGUgb3RoZXJzIHNvIGBtYWtlIGFsbHllc2Nv
bmZpZ2ANCj4+PiBkb2Vzbid0IGRpc2FibGUgQ09ORklHX0hWTSwgaXMgYmVjYXVzZSBJIGhh
dmVuJ3QgaGFkIHRpbWUuwqAgVGhpcyBjaGFuZ2UNCj4+PiBmdXJ0aGVyIGJyZWFrcyBhbGx5
ZXNjb25maWcgYnkgZGlzYWJsaW5nIEdSQU5UX1RBQkxFIHRvby4NCj4+Pg0KPj4+IFBWX1NI
SU1fRVhDTFVTSVZFIGlzIGEgc2ltcGxlIG9wdGlvbiBmb3IgYSBiaXQgb2YgZGVhZCBjb2Rl
DQo+Pj4gZWxpbWluYXRpb24uwqAgSXQgaXMgbm90IHZhbGlkIHRvIGJlIHVzZWQgbGlrZSB0
aGlzLg0KPj4NCj4+IC4uLiBmb3IgdGhlIHB1cnBvc2Ugb2YgZGVhZCBjb2RlIGVsaW1pbmF0
aW9uLiBCeSBuYWNrLWluZyBhIGNoYW5nZSBsaWtlDQo+PiB0aGlzIChhbmQgYnkgaGF2aW5n
IHZvaWNlZCBvcHBvc2l0aW9uIHRvIGVhcmxpZXIgb25lcykgeW91IHNpbXBseSBjYWxsDQo+
PiBmb3IgeWV0IG1vcmUgZW50aXJlbHkgdW5oZWxwZnVsICNpZmRlZi1hcnkuIFNlZSB0aGUg
bGFzdCBwYXJhZ3JhcGggb2YNCj4+IHRoZSBkZXNjcmlwdGlvbiBvZiBwYXRjaCAxLCBoYWxm
IG9mIHdoaWNoIHRoaXMgY2hhbmdlIHJlY3RpZmllcy4gVGhlDQo+PiBzb2x1dGlvbiBvbiB0
aGUgZXZ0Y2huIHNpZGUsIHVuZm9ydHVuYXRlbHksIGxvb2tzIHRvIGJlICNpZmRlZi1hcnks
DQo+PiBzaG9ydCBvZiB0aGVyZSBiZWluZyBhIHN1aXRhYmxlIEtjb25maWcgb3B0aW9uLg0K
Pj4NCj4+IEZ1cnRoZXJtb3JlIEtjb25maWcsIGluIG15IHZpZXcsIGlzIHNwZWNpZmljYWxs
eSBpbnRlbmRlZCB0byBhbGxvdyB0bw0KPj4gcHJldmVudCB0aGUgdXNlciBmcm9tIHNlbGVj
dGluZyBlbnRpcmVseSBib2d1cyBvcHRpb24gY29tYmluYXRpb25zDQo+PiAoYW5kIGV2ZW4g
bW9yZSBzbyBzdWdnZXN0IGVudGlyZWx5IGJvZ3VzIGNvbmZpZ3VyYXRpb25zIGJ5IGJvZ3Vz
DQo+PiBkZWZhdWx0IHNldHRpbmdzKS4gSWYgeW91IGRpc2FncmVlLCB0aGVuIEknbSBhZnJh
aWQgd2UgaGF2ZSBhIDJuZA0KPj4gS2NvbmZpZyB1c2FnZSB0b3BpYyB3aGljaCB3ZSBuZWVk
IHRvIHNldHRsZSBvbiBpbiBhIHByb2plY3Qtd2lkZQ0KPj4gbWFubmVyLiBJZiBvbmx5IHdl
IGV2ZXIgbWFkZSBhbnkgcHJvZ3Jlc3Mgb24gc3VjaCAuLi4NCj4+DQo+PiBBcyB0byBhbGx5
ZXNjb25maWcgLSBJIGNhbiBzZWUgeW91ciBwb2ludCB0aGVyZSwgYnV0IHRoZW4gYXJyYW5n
ZW1lbnRzDQo+PiBuZWVkIHRvIGJlIGludmVudGVkIHRvIGF2b2lkIHRoaXMga2luZCBvZiB1
bmhlbHBmdWwgYmVoYXZpb3IuDQo+IA0KPiBUaGlua2luZyBtb3JlIGFib3V0IGl0LCBpZiBh
bGx5ZXNjb25maWcgaXMgbWVhbnQgdG8gYmUgdXNlZnVsLCB0aGVuDQo+IGFueSAiZGVwZW5k
cyBvbiAhLi4uIiAob3RoZXIgdGhhbiBmb3IgYmFzZSBhcmNoaXRlY3R1cmUgaWRlbnRpZmll
cnMpDQo+IHdvdWxkIGJlIHdyb25nIChzZWUgZS5nLiBDT1ZFUkFHRSBkZXBlbmRpbmcgb24g
IUxJVkVQQVRDSCBvcg0KPiBBUk1fU01NVV9WMyBkZXBlbmRpbmcgb24gIUFDUEkpLiBBbmQg
dGhpcyB3b3VsZCBleHRlbmQgdG8gTGludXggYXMNCj4gd2VsbCAtIGhvdyBkbyB0aGV5IGRl
YWwgd2l0aCB0aGF0Pw0KDQpJc24ndCBhbGx5ZXNjb25maWcgZm9yIG5ldyBvcHRpb25zIG9u
bHk/IEF0IGxlYXN0IGluIExpbnV4IGl0IGlzDQpkb2N1bWVudGVkIHRoaXMgd2F5Lg0KDQpP
dGhlcndpc2Ugb3B0aW9ucyBsaWtlIENPTkZJR19YODZfMzIgKHdoaWNoIGRlcGVuZHMgb24g
IVg4Nl82NCkgd291bGQgbWFrZQ0Kbm8gc2Vuc2UgZWl0aGVyLg0KDQpTbyB0aGUgd2F5IHRv
IGdvIHNlZW1zIHRvIGhhdmUgc29tZSBkZWZhdWx0IG1pbmltYWwgY29uZmlncyAoaW4gb3Vy
IGNhc2UNCmUuZy4gc2hpbSBhbmQgbm8tc2hpbSksIHdoaWNoIGNhbiB0aGVuIGJlIGV4cGFu
ZGVkIHZpYSBhbGx5ZXNjb25maWcgb3INCmFsbG5vY29uZmlnLg0KDQoNCkp1ZXJnZW4NCg==

--------------ei0G3vehQ01Xt7P1oilgmO0B
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------ei0G3vehQ01Xt7P1oilgmO0B--

--------------LqVQqEOm9oOJ8Yu904NXpTlf--

--------------AU0vXA1wv4eONdYx0lpuAdjC
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOQWNYFAwAAAAAACgkQsN6d1ii/Ey/0
uggAkm57ttZUfcOrNfxt8tvxF1YnmWuQmFOWvH6NG6YKpJg8HASvz84BTFJZaA2IXB+nUItb9bnF
1MJROGXWAXRxosE+DssyXEgy6wmJPSSQCdDpLCkahZA8VupbLiaUUAWp0SrWaIbaZstOXYGL1tEX
D6OYwDC4Ai0uq5M62nxJJYEM9RaVMBo2b/R3FzxsVa3qp59NibmciOyLcrwSvtDIpgiWYayo3Fao
fU0X80MnbbslyNE+Lrtf1WWJcCh536Rdb0lTvKxIcsbeONkMIb1MQ4K6EeRT5y83KAOyPfxBNJNf
sN+OHsDF6BxdzOndC7SaL9E89DMRB8mXJqci3cs6Ig==
=X97z
-----END PGP SIGNATURE-----

--------------AU0vXA1wv4eONdYx0lpuAdjC--


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 09:25:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 09:25:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456087.713780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qgG-0000uW-RD; Wed, 07 Dec 2022 09:25:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456087.713780; Wed, 07 Dec 2022 09:25:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qgG-0000uP-Ny; Wed, 07 Dec 2022 09:25:32 +0000
Received: by outflank-mailman (input) for mailman id 456087;
 Wed, 07 Dec 2022 09:25:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2qgF-0000uJ-NB
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 09:25:31 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1763c6d4-7611-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 10:25:30 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7347.eurprd04.prod.outlook.com (2603:10a6:20b:1d0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Wed, 7 Dec
 2022 09:25:28 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 09:25:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1763c6d4-7611-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O7IYUOQqASEPZnhTEQb4SXyNr8qpD6T8ZJujLMXSXd/V1oIG2NoFHN8sPLdMHrRQ3UIGpLprA/SjsCpjqv/zdOj/s24ZCbikfVwSC4B0X8GN31qlV9+9QaP4XF+NFRpsJW/ZTGHCe0dLIg/9wBvRlLdOApOvU2lgOjFte6JBRBDTikiCVVENstrFhNaEvODFoSRDr6A184t321n0P94fxwiRtylgIceGZY4OWc5aCrvAyvi5xYmmMsvuhgU8kLOgQ8uorF+allDLuo0/azHthCfiEwekuXgpmzFcNUTQXumNICiZ+T88UUSim6EeCzXIXyfF4k1k/9zwKuhwCkrU1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=befQWy8Fikc/t+cK+SzIW+b6RViL3BWxejfV8faWEN8=;
 b=HoGpRt8T0mhzihFcdamLjoWaHIfPtuiwB1pwu7D1KSuyLsP8avxA7ozyGm4rxWbbUY+UJOCezwu2AUtsYFKKR0spcwq4AvM8ngs/ugzAL2r5uPioWDw937LdvYI2OZXLKDT1FIXzFksbLv6+HwAAfSS/EBDirVw9EeAWWkah8NZjUU3qmmoiTX03CQRGrPEtN05WiysiN8JHVaQvTenyPUvzkpD1Jq7kl3vCc3brqMYJkHgZELuwg8mHC39ZQv4xoSkwrDXcvjPnKaI43ZloBuhEJ22o7YNMI+ZlxmLmDPaoNrbfxRxPJEA04786gt6ZMkjyJGPlUyfzLIcn4hDn9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=befQWy8Fikc/t+cK+SzIW+b6RViL3BWxejfV8faWEN8=;
 b=pir02oW5IUl2bRVUeQMZX8iPRhLLnGdRQklPDY3DMoAcUuRPcnwVYcKTO4L2VyF4DIZsSOUHrtxH/CnLFJv7YKSLnTh6uWnYp8z56uEaShvRX9jGpJlFGd1CEndHVEDnQxpD5VAfrh9EsXKfe1t5DR53VIE75/2HDIkxsyPxd70p7pjJFa0LY2FgDhXx3lSQg02CQdw/sR5iB73Pm50Mwd/JmjIOlRXnOAjih1GTjri37xEQ1kzrRaq57pAIA9ezBUBJKI/CJtAh9BAQwdvvqkdXR5uUJqfG5fhU261ZMT2Wv2bsFQKSg99U3CuD9FAPgpL5nonrW85YtyuWrjHVqg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <46128e5c-f616-38c5-0ab2-1825e72985a8@suse.com>
Date: Wed, 7 Dec 2022 10:25:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] xen/netback: fix build warning
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 netdev@vger.kernel.org, Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20221207072349.28608-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221207072349.28608-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0014.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::24)
 To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7347:EE_
X-MS-Office365-Filtering-Correlation-Id: 58b3a9b2-64d1-44bc-db36-08dad834fa80
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qJgMDle8pNgWKMu6ZLAl0sfEc42MwlnpbFUQVQGTq817hIYwAjNgDsZvznHjUiRZdRjpGtJaPaxtuOCcrylG6GwBK8xUsWCCV71YHHwFLsc3zBF1etbKw9nr6uRueM+YrEIZDB2qjHcOAyt5zpb3RkezZXGOya7ObOg+rfo0qWb3/xZA5uCHc+QjsAIVkqc9Ut1Uxga8OALOUYif/Fi1oagQ+MFvo2RITHQ2kNBg8gu3qFdPu56yPhAmCDwRYQVaPNlFMR4LWnflvtePTzKktpHmGGiA44ZmJH9Da0qs/2Xp9wLNTl1d4XkMXAByOISov/r671lpFCyGACA9JGFW1KC7Pfwqgf4m1DkvRqXrFF3BPf/LGxf+71DqcJGE1WZbNQoZWm1juUES80JRayo35/3HNb5vteclDewQmc1VTZG/718206mIdWHIMjSmhs3d7yzxosZwSQGV2mMsMT8pnaZr6S5autJjNJlb3HMSHhLapO1ceX0eLUEoYqGEzUutdHAYCGpxkDDeIDUUDf2t4OmN5xlqfzodN8xsmlbf/0KABsVw8nVecDreQCnIffeQ+Kzf5toMDPNDU2fdLszhlmwsQezThBq2LD1FXk62MwfYDu8gusolsFniKOHNuTXzZxt++yh18LZ5JYBqSUrJ07fucwzUKQTQyQauhblHNLl0XJvMDDW5zol7aVoDMmeYFcImLzX7ntKw5BqV1Q0YeFynxH0L95sa0G5V+YHOAro=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(346002)(376002)(136003)(39860400002)(366004)(451199015)(36756003)(86362001)(31696002)(478600001)(6506007)(53546011)(6486002)(6512007)(8936002)(41300700001)(7416002)(6636002)(54906003)(6862004)(66476007)(8676002)(2906002)(4326008)(37006003)(66946007)(5660300002)(316002)(66556008)(83380400001)(38100700002)(186003)(26005)(2616005)(31686004)(66899015)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K202U05ic0RqdUxaVjl4bVFxd1k3MXhCMG5XWE85akprbCtJelphcHZYV3pK?=
 =?utf-8?B?YnhwK2VobEUxdzZWMVFGMndnaDFjNlovSE0zdDNJUCtQZ1M1b0dhbHBUUmFW?=
 =?utf-8?B?dUd1ZjNXTGF5b0poeVhVVDV0blkwM1RXUVFUeThwZkpDd2pFSE84NjI3dUEr?=
 =?utf-8?B?SHJ5OWNRelR1c0JVdzcrMDlnOFgzcWpFQUVENXpsK0RaNjNvcUFJQ2o3TWJK?=
 =?utf-8?B?L3JpY205ay80RkVJdFBSYUIvanFtMXdjQ1A1SUlCakpqYjhyNGI2TWJpWGZY?=
 =?utf-8?B?bUs4RGJEcloyMGZNS0ViSzI4QVJoQThqejA2VHFCT0dnQmhIWEtzRUMzUjh2?=
 =?utf-8?B?SldZVTY5TWt2ckZSQW1naFFLcFJNY1RJRldSaENsMjBMSjBxM3g2ZDBWR3dj?=
 =?utf-8?B?TkRSZkY1Z1dPWWRBTFFETUExcGcvRUViM3FSMjB2UVVFejRJSlJ1V3FTRkdX?=
 =?utf-8?B?NCt2SUdwRFY3N0pTVlFWM2xwc3FCVUp0SkJrc09la2p6VUxpYnRyVVdVeUZi?=
 =?utf-8?B?cER4aGpObXhleDRlMTRhT1JPK3FVWlVOYjhtNkdPVGl4Yi9sOGhaYnQ5Vk85?=
 =?utf-8?B?em9DNGVWRWkrMXRaTG9tb1pFbzVyTUNDbHJaQ3VuVENqRkIrNUFjbzR0cEh6?=
 =?utf-8?B?dVZuckx0NStlWi9qNkcxOG9iMmtnSTZMZmx0T3V3djZlUkwvcGdwL0V4aGRq?=
 =?utf-8?B?OFV2R3V1NmFRaFZqUFlqb3JScmNYL2F4NzNiZ2QxMDY0VzZBc0ZuOGx5eTZE?=
 =?utf-8?B?T2NsQTU1UWtFWDF4V0lDbXp0dDJpQm1YMEFGNUdha3FFZjQxM2tQMEJnR0dL?=
 =?utf-8?B?VmEyaDFnNXpibW54L20yVXl0eGd5d1N0R2cxWDhWMmVOMTN2dW9JTTY5VFEz?=
 =?utf-8?B?VkJWcFlNdnRjSWFoTHhLYmVvZXpkVlNTaHExVG9DY1YzY2VDNzMzMHdxaXFh?=
 =?utf-8?B?d0pQbVBxam9tNG40bk95UDBVTFg5M3YybzRGREJwblk0OExIeGRUMXBWdnAz?=
 =?utf-8?B?RGpLSFBxSDY4L1h5bVhKbTRGR3plM2taNUZxNnVqbEJQQmlpdWM1dThFcnBP?=
 =?utf-8?B?bHEwUENnN3gvdGxCa0FZa3Z5U2IwYzlKUWMwek5HUkFVczI5N2xPeGJEWFBH?=
 =?utf-8?B?RGk4MzlvUXdOcEtram1YWkpsMkQvT3JDMDNja01Ha2FaZzFWcmRIbmtFdnVq?=
 =?utf-8?B?M1FyRVZwLzNVbjM2UUZXcEhob0sxU2gwd3lQZHhSU1RvY2pzcHV0a05FRHZN?=
 =?utf-8?B?Y2RmdFRxVzN1dGhnTDB5cDhMdFljNXdhSUE3cis0dWJEcVZ5UHJrUXZMV0xU?=
 =?utf-8?B?UVU1UEpqUEduZzdKMjhRamxDelB3UW5tbHg0Y1RUbVdYaHFNUmpUQmYrcWxF?=
 =?utf-8?B?a3JVV25LZ3ZGWHRuZmxTa3lWNm9Icjg1OW5YNXBwTGxYelIzRGFZK3RsMXh6?=
 =?utf-8?B?cWIzUGh2eUZjL3Z2OWZDcC9jWitHcUFjaUl4QXllajg0QnZPdWdNbUk4NVBM?=
 =?utf-8?B?NGw2VmpIQVJnVTF1R3Z5c2pGa0dZVzlWYUo2bHo3KzJGdDNlSmlIR3pXOW9i?=
 =?utf-8?B?V2VQVWF5TzRLT1hTSzJsYU5xZzB1NnZaa3RHS3JqdzNpY3lSUUFpQ0VuWFBK?=
 =?utf-8?B?YW5iZGZoNnNURTdyR1ZTRWQyLzdHMVhYOU04TnJPWjhIVFhvODNBZEwxaUp5?=
 =?utf-8?B?Rm5BdnNhNnlIV1hTVlZFcWZRS2RlUm1hcUtmTUdscTJ1MXBSbmtka1FCdUY4?=
 =?utf-8?B?VnpZWVFjejNLb1UrbnB5anVCdVczaEZjNVFwc2xNelBEQi9MTVBPU2hjZVd6?=
 =?utf-8?B?enJHaURPc2tvNEtNTllGRTZOVTYyVWs4bm5sZWNlRHE4UTZTOVNINDNKVlF0?=
 =?utf-8?B?bmRxZlJlWEpsSFZBUkViOVF2ZHM0NUxlcVJTSnp5eWVpQWc0cmhCNklvNXps?=
 =?utf-8?B?d2lSSCtPenRFQ2RhTlg0U2xWSVM4QzBxU2VuSDRRcEZYVFRnN1NpNmtsTk13?=
 =?utf-8?B?RllidGVUWXlBcnU4RVNmMjhhS2hTb3ROd2VQamUzYjhwZGpTV21OUGR5aWsw?=
 =?utf-8?B?SklhSFcxSE5UNXorV1JBeThsSm9adytSYjBhMDhGMVFQSE51dGRMdi9wNExj?=
 =?utf-8?Q?brqmR6pnE71Kly4RvJmiTXYUt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 58b3a9b2-64d1-44bc-db36-08dad834fa80
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 09:25:28.0869
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xzeC4iZSoaCSMogRXjFz2zBWEfFH0y5BIu+xRyWTGLBNhNO8KmgThuuFIRThkMYqTMn09YBKMQo4fJHa6Sn3fA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7347

On 07.12.2022 08:23, Juergen Gross wrote:
> Commit ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in
> the non-linear area") introduced a (valid) build warning.
> 
> Fix it.
> 
> Fixes: ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in the non-linear area")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> --- a/drivers/net/xen-netback/netback.c
> +++ b/drivers/net/xen-netback/netback.c
> @@ -530,7 +530,7 @@ static int xenvif_tx_check_gop(struct xenvif_queue *queue,
>  	const bool sharedslot = nr_frags &&
>  				frag_get_pending_idx(&shinfo->frags[0]) ==
>  				    copy_pending_idx(skb, copy_count(skb) - 1);
> -	int i, err;
> +	int i, err = 0;
>  
>  	for (i = 0; i < copy_count(skb); i++) {
>  		int newerr;

I'm afraid other logic (below here) is now slightly wrong as well, in
particular 

				/* If the mapping of the first frag was OK, but
				 * the header's copy failed, and they are
				 * sharing a slot, send an error
				 */
				if (i == 0 && !first_shinfo && sharedslot)
					xenvif_idx_release(queue, pending_idx,
							   XEN_NETIF_RSP_ERROR);
				else
					xenvif_idx_release(queue, pending_idx,
							   XEN_NETIF_RSP_OKAY);

which looks to be intended to deal with _only_ failure of the one shared
part of the header, whereas "err" now can indicate an error on any earlier
part as well.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 09:35:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 09:35:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456094.713791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qpp-0002q9-Op; Wed, 07 Dec 2022 09:35:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456094.713791; Wed, 07 Dec 2022 09:35:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qpp-0002q2-Lm; Wed, 07 Dec 2022 09:35:25 +0000
Received: by outflank-mailman (input) for mailman id 456094;
 Wed, 07 Dec 2022 09:35:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2qpo-0002pw-2X
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 09:35:24 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on20600.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 789a745f-7612-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 10:35:22 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8086.eurprd04.prod.outlook.com (2603:10a6:20b:3f6::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 7 Dec
 2022 09:35:20 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 09:35:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 789a745f-7612-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mXcTDaxh8UHHgmJTfbaAcHYa5drXz1Q8iRs+MseC1cMjURDXkAXCAODYrAfBHiFngGit6NZzoRAvi6KfiE44IGOX8BFYIh1SUSUFeh7941/zd8Cylo0kWs/Pwg0l5m09lecZzG3pw0ybR49A8YVNtIRMKIPA51uwuF87BM6TW14v1/6NN0LebXA8FhoixsnMC2To+YEb835L47eE4mwkAINKbN+ZLK5gKvXVKiND/efCrQLaUWOjMTlsYyCPbGhJp4B58xuqGcYDE/ECNaWVkbIvTdsJPXtoYjXsrJdjzgggZ/iuoNJFCNCKbFv4m9JbRG+1iYlKw+mbPdtJdJtIqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nxae1yATAp6N379dC+tQtCC7DRi5ZvGkIdqojpxhE5A=;
 b=Ds6dQ903qLANkiBhgJxJNZi8ux0UUGcFU+X/vya1Z5xpC2WtFK0qiVsUP8q9XMpaFR/WOtpTZ7v8PMYyg5Uo7+iRrRopVJie5ScDS9RyXxfpYx7jlN0WbNmVSlqqQud+RWhsv+8lOOl3XGc6aJgcLrh9aW98llGBDp9RVmVMBo5XpQ8Q1bRTS5cRJkXWRuFMLJJcekOcxPJBnckdEa0rsOWuFspOjWlw6yY3Qzijatbk8NjVSdcz+IKQzCvDHVpaBzBr3m5i9W4XuCkkp2Et6Wnx1+X3LJD8LGrlQiRaHLAZ20mEFSG+tP9ZMNeb44FWxLO2dBCXmRSOFVIOAVOZZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nxae1yATAp6N379dC+tQtCC7DRi5ZvGkIdqojpxhE5A=;
 b=35lbKcojGJuO1teWRQta09kAltVkirnJ/jdThlgMV2mygawRjNIG1yYJBDZD/JTmUxUJ6VPpRNc+ZKNaJI9unQsd7gWgxJy9oYv6dxiSMtmXBz1eOVg/HcJumoM5COhiqMBR13wlpUf2ulaNBnR4krZXOjFQfay9M+rB8x8wdwEjZjv86UdmUgaKb9dVFidX+LiS3ajgP6/jWL6Kd9TyE4PnurY22MDd4RbZIZvmsPxzXSjGRLxr+pa4nTwsL5/RP7uztTI6IEG9Gjfhips6dWc4u26tFPOhRcPJhzMhNMaPy3zGYR/aubvx442GpEImEcQ7b+IYct1oYGKb9AIrrA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <780ba615-a375-f32c-705d-64560133085b@suse.com>
Date: Wed, 7 Dec 2022 10:35:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 2/3] x86/pv-shim: don't even allow enabling GRANT_TABLE
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
 <5fd43248-225e-99c0-7bbb-65e7cf7f08d1@suse.com>
 <5c934e1d-c785-d330-f0e1-acaaef700265@citrix.com>
 <606aff14-8abe-1788-6bc7-f3b279db8106@suse.com>
 <5bde8110-bdc8-e5f6-8677-8ae23f4990c4@suse.com>
 <e5fa33d5-a82a-606c-2ab0-013a9ed72c08@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e5fa33d5-a82a-606c-2ab0-013a9ed72c08@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0096.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8086:EE_
X-MS-Office365-Filtering-Correlation-Id: 0d071622-e42d-4fb2-cf2a-08dad8365b54
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JRj5yZKH+SzQkAtL+iMd2mBVOm7+DqktqmdykCMIQPHWgy9pAYhkbCRnHlNShZOmNOTx34AhQeJ1Ku3QkZ8FcCPinEi9j+FDJT2wRUYACy5a1kp53axH78+KZsDOEc7mVQGnXSP8Vs/LlKkjOCXo4IWpHFXjlaG7+bJ2gfM23nxYMvwbuTYoetOB7y9EkEEYqVlpiyWYm4FkqXY+dlJer/OspOo+42kELIENkb+ZU6CPWy/GPh1pmro5q2CUg4CUxOeFDtvIKibobNYueQ8u8XwHWaVZwlsLzhmT2wxtP0p8CpEZS82UR1ts839XQ87IHj8KjBzePdtCrYEC4lIP5EhWHV/C1YwLvK7iO+dpvmAQjbT9pe0u/Pi86DROP2ZPzLiZx0j3Xv82FX2E76W6y9B3LTRAL2RW/8tJElHPy6ThuEPrK6RLkLt4RY6C+FRe4GSFOclz5KXGdbtaNzJkDDe0pmee4F/WAZxVfCO40S2Z+UGuH5GT4bH3TgUWDKe+0afYoJvOl7Sxqw7AT30fd6sHyOWQZuBVHPjdRQLMqe4joSze/6HgOSKg+mkurZBhV/ToTfP2mRO2KhcpI5xiy9INorYfEX/mxfQ7JO8yK0nODlOOJY2CiFTsUxTeDtL5AzTxbu6Sg4OwzJ6STAp9IGvzeSFtFVU7XKdwlySPhyEaW2dz2vv+unfRf3fA/O+gY8GIsmUdxoCi0rkBbVb+v4FGdqWX/jTTIEDfYc9FYP3TQRw8oLxyRQNzF57QupcwNOyW/bqPC/SfZG/XwlZrXGkQQ2SkVuJqTuDTHHLSlK0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(396003)(136003)(376002)(366004)(346002)(451199015)(36756003)(66899015)(316002)(31696002)(38100700002)(41300700001)(86362001)(31686004)(8936002)(2906002)(4326008)(5660300002)(83380400001)(66476007)(6486002)(66556008)(2616005)(54906003)(478600001)(110136005)(8676002)(53546011)(6512007)(26005)(186003)(66946007)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QWlkOUZoOWNud2kwcDE0U3JPdWhZNTRJamhId2ZiN25WSXlabm5IMlgzS3Zt?=
 =?utf-8?B?UmVyRW9lTlRBaFovOVpwczk2enhxSHJWTHNQYVVjV0NBcUsyOTk2dHV1YUY0?=
 =?utf-8?B?VHhlK0hGblhhQUtFc2U3WUVVcUF5MWhVa2c1TUEzYlVaNzRiU2FDNlBRb3JM?=
 =?utf-8?B?YndBNjhxV0Q0Z0puLzNGaU1HNzVCTnJ6Qy9jazlhWi9nYjhIRFFZYlMyUkxN?=
 =?utf-8?B?R3VhN256K3U0dXY3djkrL1pEN0IyVklubjkxRXFkN1NkL0x3b0lQRHcyT1NS?=
 =?utf-8?B?YTJkNGRyZEdLdURad0NjSzJwbEphbVdkUlBFbDYzQVNlcW1SdUk0ZlN1WTZr?=
 =?utf-8?B?cjNjalBUWG9JZnFVZjZSZ1BYazdFUndON0gya0sxVUFCbUJVanltUzJLengr?=
 =?utf-8?B?NnBOcHRQdlB0MjgzV0RjNjI2Um1ibloycERJUTVDdHdpdlpKWm9vMkdIV0NH?=
 =?utf-8?B?bXBycDJ1aUNEMkh5NmlXekNvQnBmV3JCc1dWVlJuNUJvek05dTdSRk1WeEk4?=
 =?utf-8?B?elF5RjFMcCtYazdYd2E1aTRObldTRmZET0dPcjQ0ZExtRnpXampOWjV0ZzhE?=
 =?utf-8?B?ejBmRFNtWDVBeHAvYVhpWE5WTEM0NWZTZEcrZ3lpclNLd0NYb1JrbXhrem9p?=
 =?utf-8?B?N1Y2RkdjdzVWZ2lVVERUU3c0M0cvSnA5MSt2djhKd3EwNDdxN1MvTmpKQ0xU?=
 =?utf-8?B?WXVhcHBEL3M0V2k1VWlpdFdGbmxoTEdobkY5NU1GZFVzVVpwZko4aFVLN2RZ?=
 =?utf-8?B?RmdlQXoyTkl6NTdTZXQ0SksvN3ZPWC9kYWlhd3JwaGEzeFVoSmd2d0lKNXBS?=
 =?utf-8?B?azVQSnFrOGg2KzdtaXdORGFrR3l5d3ZtbmRja05OSXh5U2xodEp0eHBoMFVX?=
 =?utf-8?B?RVdKbHkyOFp4QW1hM1RvV1BBaEg4UE9KL2xGSmlZS3BhNjNVcXUvOEhiUklQ?=
 =?utf-8?B?UTc1U3RhcjJnODc2QWpPalFObkp3Sno2a0FRSWpRSk9VcDlQaW5OYWJKbHRq?=
 =?utf-8?B?dmo2bUhSb3R1NGJmcXArS2IzNjFOK2Fwb0RXdkJGeE1LYW9HelhaRUxjYU5N?=
 =?utf-8?B?K0tGOUdqeXE2dHBtb0JRWnNMMHcyWVZFa3BQNkxRZHlSLzVzRXc1YzlmeVcv?=
 =?utf-8?B?Q0RBQjhOUGhwY0lQRFgxVGg1RW92QkhJTi9oOFk0Tm9jbFMxUTlqelNKWjJM?=
 =?utf-8?B?aDJEMUJrSWF5VTNOOTdiMDRxR21wakVBNEpwRW9mN3IvajBBZTF2QmttSVky?=
 =?utf-8?B?K0pNek03dTZsb04ySTlrQzB1bWFvQ1dtNEZQOEFWa1VrTWE5ZTdFQlRIRGJH?=
 =?utf-8?B?dHR6WGlBWlFpQVhHNERqS0FEQXgxTXJYLzZnOHdHcXliY1RuVzFDVU9uaFA2?=
 =?utf-8?B?MDJEajcwU0ZKQW5PNkE1a05yaitlbFJDVTNIb3hCSHdJWk9UUmYwMi81Wk1i?=
 =?utf-8?B?UlQrek1oSU1qeXIvcG9zYkZKUlF1aWlndWZJWWdqWHdOV0Y2dHJBYzFMbEMw?=
 =?utf-8?B?ZHo2VGxLbmRGSzlKbGtjZzVHbXg3UHdHSlhwc1VDb3gzdENNbnlTS1lTenJy?=
 =?utf-8?B?WUtoU2dlcmordDVQSHZBUkJqdDJEZ2FveTVtempqb094UXpBL1FWUnlWOU9E?=
 =?utf-8?B?cXF3MzRBOTBpallpQ3MyblZkbW5YaFBBSUxNREtSUTFZcjI2ZnA2R09hYWoy?=
 =?utf-8?B?RUwwSnZQOUVaM0NxdDR1NUxmTnhmYWlSa2tndTZqVUFWdkRucS9oME5lT3Q0?=
 =?utf-8?B?RkdGZGl4d3Q0MDN5Um93eHQvU2Q0S2xxVFBGUk0yUEt4cWw2SndhT0pZcUlL?=
 =?utf-8?B?MlEvK0pBbTg1OXJGWWFjamF3Q0NhendiZ1VpNlhJcFROL3pCKyswZXM3NzJm?=
 =?utf-8?B?QW1SWTFkU1F4RjVvN0svQTVSRzNxS0dIUUJSaHhJcXhDait3YU9tVm5nZ3JF?=
 =?utf-8?B?ZEZWOXVGLzZsM0pxOURKcW14U1YyTUphUXE3WjA2amxtNm9IVUtHOTRuMDVX?=
 =?utf-8?B?cGlENTVaN1NCT2oycHpUOXJqV3NIWHJSYTVkeG5rYmVOZUtGczU0REFDWWt1?=
 =?utf-8?B?Z3pCcXUzbWNaZzFPMmFSSFZuL04yRkxHc25yN3IxS25sMFhhTm13eTRENEh3?=
 =?utf-8?Q?1jd4KfS5x1tkmkfx1aza2dy9M?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d071622-e42d-4fb2-cf2a-08dad8365b54
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 09:35:20.0495
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8wQSoCvDCyqMlRJG5BAypkz/BRhgz4fLZpAPMHFr6EWXMhPHBkRWq1AjEgAbeETBJf7sxNPqN7aGdJa3NF6lKg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8086

On 07.12.2022 10:11, Juergen Gross wrote:
> On 07.12.22 09:55, Jan Beulich wrote:
>> On 07.12.2022 08:21, Jan Beulich wrote:
>>> On 06.12.2022 21:26, Andrew Cooper wrote:
>>>> On 06/12/2022 14:30, Jan Beulich wrote:
>>>>> Grant table code is unused in shim mode, so there's no point in
>>>>> building it in the first place for shim-exclusive mode.
>>>>>
>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>
>>>> nack.
>>>>
>>>> This is bogus, as is every other "depends on !PV_SHIM_EXCLUSIVE".
>>>
>>> But why? Doing things like this in Kconfig is exactly ...
>>>
>>>> The only reason I haven't reverting the others so `make allyesconfig`
>>>> doesn't disable CONFIG_HVM, is because I haven't had time.  This change
>>>> further breaks allyesconfig by disabling GRANT_TABLE too.
>>>>
>>>> PV_SHIM_EXCLUSIVE is a simple option for a bit of dead code
>>>> elimination.  It is not valid to be used like this.
>>>
>>> ... for the purpose of dead code elimination. By nack-ing a change like
>>> this (and by having voiced opposition to earlier ones) you simply call
>>> for yet more entirely unhelpful #ifdef-ary. See the last paragraph of
>>> the description of patch 1, half of which this change rectifies. The
>>> solution on the evtchn side, unfortunately, looks to be #ifdef-ary,
>>> short of there being a suitable Kconfig option.
>>>
>>> Furthermore Kconfig, in my view, is specifically intended to allow to
>>> prevent the user from selecting entirely bogus option combinations
>>> (and even more so suggest entirely bogus configurations by bogus
>>> default settings). If you disagree, then I'm afraid we have a 2nd
>>> Kconfig usage topic which we need to settle on in a project-wide
>>> manner. If only we ever made any progress on such ...
>>>
>>> As to allyesconfig - I can see your point there, but then arrangements
>>> need to be invented to avoid this kind of unhelpful behavior.
>>
>> Thinking more about it, if allyesconfig is meant to be useful, then
>> any "depends on !..." (other than for base architecture identifiers)
>> would be wrong (see e.g. COVERAGE depending on !LIVEPATCH or
>> ARM_SMMU_V3 depending on !ACPI). And this would extend to Linux as
>> well - how do they deal with that?
> 
> Isn't allyesconfig for new options only? At least in Linux it is
> documented this way.

Is it? I only find

     "make allyesconfig"
                        Create a ./.config file by setting symbol
                        values to 'y' as much as possible.

and a couple of instances of "New config where all options are accepted
with yes". What you refer to ...

> Otherwise options like CONFIG_X86_32 (which depends on !X86_64) would make
> no sense either.
> 
> So the way to go seems to have some default minimal configs (in our case
> e.g. shim and no-shim), which can then be expanded via allyesconfig or
> allnoconfig.

... looks to be optional behavior with KCONFIG_ALLCONFIG (which of
course we could leverage for our CI in order to avoid introducing
restrictions on what may be used in "depends on").

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 09:41:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 09:41:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456101.713801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qvR-0004cc-DB; Wed, 07 Dec 2022 09:41:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456101.713801; Wed, 07 Dec 2022 09:41:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2qvR-0004cV-9d; Wed, 07 Dec 2022 09:41:13 +0000
Received: by outflank-mailman (input) for mailman id 456101;
 Wed, 07 Dec 2022 09:41:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2qvP-0004cN-KN
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 09:41:11 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20612.outbound.protection.outlook.com
 [2a01:111:f400:fe16::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47e99c32-7613-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 10:41:10 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9375.eurprd04.prod.outlook.com (2603:10a6:102:2b3::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 09:41:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 09:41:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47e99c32-7613-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AdKr9S46yXlcswAuNviYRmf9P7AjjywmLs8o+kVptuoBdMWvvVwlM6BCvxgzHwCovUrR1fXQmhGqIcEHCHLOexHtplE0ouymJDvDid09LLq23I0IkMWs516cAYu0wsKSRQB6sO1DKoA/ycLcv5SR0Uk+CpPoip4X3O8zE0bsE6SdHf7gqPHtpbhvxTtN4GcSYizJJSj0wUbZWhCHUTDRQOs5YLObDwoifcOTpZXdwuQIODveNvbwJaZPTnUBqGXqBS2ar0wU79fn2rUE+c4V/SG7srismh5L+0aY5Ppqrivi6ZLECOrkZOA8KFQx13D0z7y5grHIoTRdW0QG8KOIKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aKSEHUhX2jtai0/iJM5juOrzpSze192SuhzIki+6c6Q=;
 b=Riync7m2t/Gnk/pEJqPj6MfcoP7mpmlC1FNt2AkySXwinXX7oSs2vHh6y2VzvnDyO/6dQ6U48I4SMfZ+J7sv2Jv+QZgPsG8rWY9kH/SF/6fODCuMW23PRb8oPQNc7NzanUovx93xi7cvtly8T9DXelvn0xzeTvNA5zyKZxta5aeY2npE0etLn0mllkPXsjeUVjIPRCfHArTxSECSFrWYbCfZ2nOtqywePqECqZl75dwgmlpL+zk2Cmj67yK1BFt0oNnei37Ena8VQyocxgNBULFeYRGSUU+Jbu3nnOBHRps+tDTGzCOwzw5CsWGO0A8nT+HWRpXYFbFn/g5d+8VrVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aKSEHUhX2jtai0/iJM5juOrzpSze192SuhzIki+6c6Q=;
 b=ShmpZ8BJVp+0mEat31y1vj02d9Zb8rzEQBefOaxw0CQJvliSQheJErfagqS7skhJUNZmG26bhmwuxcfu+2Sq7wX0BVOlLJYwaIGKWaTN9YaxY+/dt52GaeepEeWnKtzky9QsC3xeVftf36VQb9j0C2RCvrU5U+1K6yyoUn5wm/jboDYwi00W54e0dgUPEhaCNIcf7JwwtuhXCYXPGoMGpuiRUIuLwcCZ4yka7k4QHiKBuDKPFfyOXAauzA7rc65cyUKHQng0dOkdcONJWvFFNAD8fWrqq6/2dXYRCZotmFfk3B9FNfAc5PA7LGhPs50QuC1jhX9f77XbXnoJ2/1lBQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <775a5d15-b3f1-ff82-0970-9ecfe7986f90@suse.com>
Date: Wed, 7 Dec 2022 10:41:06 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 7/8] x86/mm: make code robust to future PAT changes
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, George Dunlap <George.Dunlap@citrix.com>,
 "Tim (Xen.org)" <tim@xen.org>, Andrew Cooper <Andrew.Cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <33f3896ba4cdf50ceb0377f071682ac5d3f576c4.1670300446.git.demi@invisiblethingslab.com>
 <9bb20bca-34af-bff6-b9f0-0c2ce38d2a46@citrix.com>
 <Y4+CKb0slxo9hJW3@itl-email>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Y4+CKb0slxo9hJW3@itl-email>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0170.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9375:EE_
X-MS-Office365-Filtering-Correlation-Id: 38a423e2-8ee9-4ee4-9e1d-08dad8372b18
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dlJMgCW8jjzOaLXh8+gKx3FXoBvZScItXXOXQ98AnRjNpWEdzd96SuQkXkkiZeXuREYLQltrmFI+3ruKWu5CWXwBMT0qQxBtmE6HCmtOCQ/fQ2Z0/VTyFNQg9UXgFd73STh9jEdt8ZLCn7ESRF5ft9LbxCvcZ0RUSVExej+OYZvfHzEu9BgFhW94gE7QhY8IALquUkU2epjJoMHnX/2tJHvqsm2OMBYyOuJOojtPHmzXASlOYLRmbumgNzjPD42hGS4pEnldhnCDhsYwRR1VPFpT763Ag2OdBCSxFwSNVcZL6GUAovxVSoRcWiaJP/Yi2Fd9Usv8QQ/NcPbgCe17m/a1TZIGi0ZqxVcIOGjiSOD9rZnyahUB0AMxlPTDu7cPBBxQwwIRDjTx9sYQUKC0UE23ViCzD9GjtQBHdS3zJ2QkxQBbK42OjDN98bh7k+jLxgh2YnwwRiz11yUm5hUFUvXJ70AKbPuOReDJr/+B8fVXQvEFWlzosozKhw7kQRp6RtOj5ZodtAwWf94HxTzdjiDwQlnkM9GYU9OC/vDi6ptebIZCV70nqPoNWN5bDt/+JyCSn879CYtPbrg/DCH2iFzzBJNDQZq3MQ1ELohvkkO0yDaWeIEE3Gc7nGU8lhj/DpAQ1vl31cDga08ppuY+8vECp1ck+VpRddO8TWMDTObWVWxxNHn1oek84c74QZdwIpVY2KQV697Wuv9DGDSad9Il3X5ln/DJHSTyPMcT6bE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(376002)(396003)(136003)(366004)(39860400002)(451199015)(83380400001)(6486002)(5660300002)(8936002)(31696002)(86362001)(2906002)(4326008)(41300700001)(186003)(26005)(53546011)(6506007)(478600001)(6512007)(66946007)(2616005)(8676002)(66556008)(6916009)(54906003)(66476007)(316002)(38100700002)(31686004)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bzlxL3dqdW1SWngzYlV0WTBhUzYxR1hnSjZiYVZSL29UMUZqWVFGU3puZm1k?=
 =?utf-8?B?NzRYQXRXY2NHbm1RdEd0RVNQRU5vbzU2bDNTOUkwNVAwK2NFeGQ5ZDc1Z1d5?=
 =?utf-8?B?VWxseXg0RHFqdGc4WWsreXBiOXZCOGVGOUJtd3dQMTFtZnZVRlZDL3VoNGNx?=
 =?utf-8?B?R241M3Y0N0FNVUNNK0VKS3JzNGk1UEVBUENyMGVSTnBIQjRiWkp2eHNSWUlN?=
 =?utf-8?B?cFZHeXgzWkdXTmlOc0tnUXlJU1Zid1ZwWVk2d0tFVTIxQitodUh2cmJSVVpL?=
 =?utf-8?B?N2tCUkszUkN4SzRweFZHSWY2L3NvbnFRMG9CVzhaVEptT0ZWYk9qUG5WYVRV?=
 =?utf-8?B?Vmp1cWJHN3lodk5kNlhhWXN2eVBMZTNMWGZ0NVN2NHJPZHEzaWVTVzlFMEky?=
 =?utf-8?B?MjRKOFhsV3FBQW4zelk0WENzMHdFSU8vT1VieU02Qnc0MzhZUWIxanlCbkV5?=
 =?utf-8?B?bnBzbTAyUFhDZGQwcC9mMlN0WExTYUd2cE9pWElMVXdhdUhzcUpNdDk4L3Q2?=
 =?utf-8?B?QitFenJUZWc2MGdOZ1NBd1ZNa2lkMEFDMFNXakl2VHNkOWNvMzB3SDZWelFz?=
 =?utf-8?B?NmxQYUZQbHRWVlNUVzNtWjY5U2hEL3M4WXF4MC82d21qUFdoWXlqVjV4Um0y?=
 =?utf-8?B?ZUZEQUF2a3FNWE1QaTd6YnViTFYwY0d2OFNWaTV1SEZvaU5vdDBFd0psYkJE?=
 =?utf-8?B?MkNMR2x0ZkxTeVVlTEVZdVpLUzNIRWQwN243ekt3MzdHcE0ydUp6UE9hTmZt?=
 =?utf-8?B?YW1aOWdDZUcvODAxTjZhbHF5UGVJaXZLVWRBY1BCMStMdmtUamRUZlF0cTNq?=
 =?utf-8?B?azhWa1pPakhZd1ZVQ2N3MzBpMm9tZGlKY21GaFNYcStNRUVHNlNBd2ZEci9j?=
 =?utf-8?B?VHJlMmlkYThvajlPcHNkWERjUi9BQ2MzVzA4R2U4UUNZT3BwMWd3WkM2azFx?=
 =?utf-8?B?ZndkVGRkdC9HZkdWN0pvb3BrUzVGTHgxNEdNMGxEelNnY1poRk1rbndvUGRi?=
 =?utf-8?B?Nk12QlNIWmhlMXFzMHFqVXQxY2h4R2dRQ1lhazlpR2tlM25SNFE0QXpQVmFl?=
 =?utf-8?B?c2Vod2VVYjhScS9aYkkyeUw1d3ZvSGs3OENzL2lZUjEyOXlhRGhqQzJ5ZTRP?=
 =?utf-8?B?VjVQM0ZWaHloeGNEejVYU3p4dkZVN0FLNXhkR1c5N2R3SHY4Wmlrc3JZWVpL?=
 =?utf-8?B?eEdSYmVPalZ2TytHNmlQNDhDVDhvcHFWRXQ5NEF0cVRPcWx1UTBhb3lXdUxC?=
 =?utf-8?B?ZHgrb01STUlOM1B5Nk1maDNGaDFnNEsvTm9HV1NNR01TUW1wRUU5K1BRaTMz?=
 =?utf-8?B?YVNoSmNtTEFmV0daNnpWbThvWHFUM2RQUWtDbmJERG1hKzJOZi9mMHBXOHVB?=
 =?utf-8?B?NHk2dlBNY0dPRklGdTBWTFZhSGFGTnhUQlhRdEFsNjRjUVQrVVoyMEg2TzJz?=
 =?utf-8?B?bXEzdTdXKzRWVWU3Qk1RNjVRM2pMci9oWVdZc1lNR1U5WDJvRWkwZ0twQS9O?=
 =?utf-8?B?aFNDRVI4YUlHSFQzSVpyVlJCVy9USlNZczZvdFdyVXdDbEFYVzM2enNJMGJ5?=
 =?utf-8?B?VXFTSEhaTWVHOWFmdGI2ZTlOL21DVkNjNE5hc0xEc0tHQUJuQnhjZExpbnBH?=
 =?utf-8?B?TnVLNEh4bHB1dWdBdVlhMGdaRXE3aEh6S0tNRUd5WHF3b0RIa1JOdGlZRlA2?=
 =?utf-8?B?M1BZd005TkJGVjdaMGlKeXViM3g5a1QyQWYvNnd4NTFNbHdnUEFRb3EvZFFG?=
 =?utf-8?B?cHdGNFlWV242Y0dIcWtFc1B6UGFhOWc5UllpSHk3LytMQmpPRXV4ZFVXU3M0?=
 =?utf-8?B?Mi83SzhubURJaGpUSVUwRmhQMlZxQ1U0WUtCNkxmSVBiTU1xbXJvMk9sNlZS?=
 =?utf-8?B?RDJEZkFIbUR0WGIrdkU5am9RSEtDVkR4WkNNb0o0RTNIWDFzajN1dTVKVnk0?=
 =?utf-8?B?TFkwVVBkOFMzLzVqMHY0L1dOb1RxT1VtN3RLeUY2RnZsMGRyMWVTYU5IQlBn?=
 =?utf-8?B?Tll2bFI2MG9YaVNMSk5rNWsyZFZlNHpQc1JZYXpnbkMyT240aFJxOG1obWVx?=
 =?utf-8?B?b2tTa1N3SFRjMTV5cGhJRmJTK0NucEZmeVQ1Z0ZvRU9STGdXUVYwbFp2VnJv?=
 =?utf-8?Q?bM5lY2MwJnRYMqzjhbYM8hmoo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 38a423e2-8ee9-4ee4-9e1d-08dad8372b18
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 09:41:08.6055
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XRppbEpMEeFmVUqDidLyiUJO64orK+2nTXTZvnu+g8SNZxWNYqst00CCJLXeUUQtIVqkjds/ZoDZlfaGK/wWDQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9375

On 06.12.2022 18:55, Demi Marie Obenour wrote:
> On Tue, Dec 06, 2022 at 12:06:24PM +0000, Andrew Cooper wrote:
>> On 06/12/2022 04:33, Demi Marie Obenour wrote:
>>> @@ -961,13 +1000,24 @@ get_page_from_l1e(
>>>  
>>>          switch ( l1f & PAGE_CACHE_ATTRS )
>>>          {
>>> -        case _PAGE_WB:
>>> +        default:
>>> +#ifndef NDEBUG
>>> +            printk(XENLOG_G_WARNING
>>> +                   "d%d: Guest tried to use bad cachability attribute %u for MFN %lx\n",
>>> +                   l1e_owner->domain_id, l1f & PAGE_CACHE_ATTRS, mfn);
>>
>> %pd.  You absolutely want to convert the PTE bits to a PAT value before
>> priniting (decimal on a PTE value is useless), and %PRI_mfn.
> 
> I’ll have to look at the rest of the Xen tree to see how to use this.
> 
>>> +            pv_inject_hw_exception(TRAP_gp_fault, 0);
>>
>> As I said on IRC, we do want this, but I'm not certain if we can get
>> away with just enabling it in debug builds.  _PAGE_GNTTAB was ok because
>> it has always been like that, but there's a non-trivial chance that
>> there are existing dom0 kernels which violate this constraint.
> 
> I chose this approach because it is very simple to implement.  Anything
> more complex ought to be in a separate patch, IMO.
> 
>>> +            return -EINVAL;
>>> +#endif

As to "complex": Just the "return -EINVAL" would be yet less complex.
Irrespective of the remark my understanding of Andrew's response is that
the concern extends to the error return as well.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 09:48:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 09:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456110.713813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2r26-0005Oz-96; Wed, 07 Dec 2022 09:48:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456110.713813; Wed, 07 Dec 2022 09:48:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2r26-0005Os-60; Wed, 07 Dec 2022 09:48:06 +0000
Received: by outflank-mailman (input) for mailman id 456110;
 Wed, 07 Dec 2022 09:48:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2r24-0005Om-UC
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 09:48:04 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7d00::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3e31299b-7614-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 10:48:03 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7767.eurprd04.prod.outlook.com (2603:10a6:20b:288::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Wed, 7 Dec
 2022 09:48:01 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 09:48:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e31299b-7614-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A1gmlEqtXqa9ce3MoYWs9AFMsaQa/vR+OyiISqIfb/pTbzYxZy4Fxqxu6AYlBvNyLqHxMs6S6mloWbrtTwVKwWSN1SMw7SgpyZqG+CcyDh59PmbkeARKNMvJcEBHBwIE1CbLhaL9T3E9LvrCIHMIOLF5c85IHrRSpmZT1ciSo39BVaS6q5yYDm5CT15fLnWr3i7pftjncIfiNLXpPFzhoQGXAGxzESNnxDBruicoadnsfJ+e1gi0KWHGJB6GNCZMmG25UIJ8wDnDOo7YPcq+g9ck0PVT0j23EJiW38ft3hogZw8VUd5lYJr17T4zL9wpnbEXxC6nyA9ELQIgmWl/6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P0Y2FkX8sGUPj/P9upfIH4pegaBReVkV48iHOylcdWQ=;
 b=Vf42axXuA+g9I4QhCcf2LWbIjAuj9c5sk97Q9r+LKlzcMaiGKapfB3ko4jB6QTYZXrfXVMc3OOWZpB3PUB6Kneihfwicok09ZfpgL8dfqqnCEus36jO5HwDeRHKJk1x4wK3FAGSF6VDWeQ1744NfjKmZGx6fkk8SnE05vS8RIRd9iB3DDZjA2Nc5pXwIU8wFO4rlKCDI29z0J0xaEG4NZVKBftZKU5TkMBqO8TorLrJbijQLaXegjqgsQki0VGHZz8XnlbNdhLdgKrk4WX01CjdIRFOS0yjBJ4o/CMOwyX8okCtrR5aXBmEybByCzp/Le4ijK+KWtK/jbPJfUfwr4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=P0Y2FkX8sGUPj/P9upfIH4pegaBReVkV48iHOylcdWQ=;
 b=z23uwxVPObrDGLNfDAJg+vzopB2Ln5OUeU0kPhhZPUDctLzXS4fXAzlWWDqkLa3VKLnw8z9jMRn4xh17QILN0B6p30pZv6P+5CWuD7hcFhnxDPRp67DSNusmA0LIdR2tPzAZVGdiGi9neUJfRDfTp+pVXEYw4x9sE0iXYOKKanc0vjE+oS/SklGoeY2IQyrxX27jZZMYXNbCzTGov/Ak6WbOSWOeVlJkOr+oiFomSSD0VvVdsmgvzyii2CTAeA20zeKdg1K/TPS+6z67Vwl34gKx937bDA1VkPFhah1ksjs+5DoqPDlF5N4L+e8qLlNpUS9vyee77ystZ1OOp6PhVQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e3b7b6e8-55e7-f88e-26d0-7e2052cca1f0@suse.com>
Date: Wed, 7 Dec 2022 10:47:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] xsm: misra rule 8.4 fix
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: dpsmith@apertussolutions.com, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2212061808570.4039@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2212061808570.4039@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0105.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7767:EE_
X-MS-Office365-Filtering-Correlation-Id: 5f0add55-c58f-4ff4-a4fa-08dad83820fc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yfeDW1/Zac/p44NRu3t3vQim15EybMQtjUvUKjSlpirWz9i7szhOkCXSrdKI4hzB++wp49iNeU4TU+YwdpHB1cuHX3LMsyqV5opjBPN+HLmn7xmRS46Ni2+HOVm1gucU3Ywl6TBP9NVRv9cR8pqM6q9eNjXzCUnptQe3xHvqrxF/FDi1qUrOHxwFN69isygUJYBCegTdq/TvYwiNUk5vT7kt0hh85PQ97Rh4UrPe4ahf3AAvlxsdSsjkF1AclugOLdgk5k1V2YO40pVvVwFnFdXYwWAoM7CTmlM1c4SXVxmXVI+lgPTzdwQrm9O/5UeLntKRusvQG3DA3Q+w3B2c33VKt7PIlY7sxLfk1LhDhcgy6xfWRMI7Z+aFRWybJPW3hcHygK+yiZYcayI5QXasqbEXw8tTP21w3Er4+cmmSfInONtjEjPkA0RSeQ05hsj4QbofaM4z/KIrYZVoQoYygxjNGEV+5Pp/4e+vdzCw78h+mjrlOQE4nooYKcKB2PqIvo2/7zq1IIFEH0hLN6CVLs22ZI73ZX+9JEi6ztxyhxAqVd9Z0/iIKw2t5veb5ykW950rZUaBxewMmoMydobtmADlh7UaC7ZmPGOovtM7TAKJ47mhyQRiURO2TpL+8hFN5F5fgrWijTzSsLrqOKK3VD4GjDMMt5LHj94JXDd1uOAdBs3j21i0n9yEVf+FKg1bLOzLKixDwJvpuq8gHiWza6QbZRAgX3qPbvxWRY94x4I=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(346002)(376002)(396003)(366004)(136003)(451199015)(38100700002)(36756003)(2906002)(4326008)(5660300002)(41300700001)(4744005)(8936002)(83380400001)(31696002)(8676002)(478600001)(316002)(66556008)(6486002)(2616005)(66946007)(31686004)(86362001)(66476007)(6916009)(26005)(186003)(6512007)(53546011)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QVJMZ05kNHZJa0hWcjJncEU1U1NIMy9jSFZ3RmRRbGFYa1hIOVNtVXVGUTFn?=
 =?utf-8?B?QktMSTYweTRpZUFnc1NTdXJQRGtCTzk5WXh6b1NkbHVOM2xWQUtPbVgzUGk3?=
 =?utf-8?B?ZzUvTUltUjhQY0lyZ0VTdmtKcGNqSjRXRXdWV0pUZnJ1eTE2SUR2VVRzZFpk?=
 =?utf-8?B?ZHhadDBqQjFQcXQ0bnFkTWdCU3ZOeXhPdUp6MUVsVnUrTnNXb1F0L2NscUZJ?=
 =?utf-8?B?czA0N3ZoU2RsMVozS2tLbU5Nai8ydGFkdGRYbUdjaTJEcjZiTGlaSnlKVUJO?=
 =?utf-8?B?MHRzM3RZNC9uNkpBdjEwQ21kbjBRanFmbm9CakoxVEdrdUJ2OW5IQ1Q2NmpX?=
 =?utf-8?B?ZzBWUEM1VjZKNGdEcGFvRURuQThLamp5Y2RQVnYweEd1cTlYR09TSVUxUzN2?=
 =?utf-8?B?VzdteVlOR3l6QUlBdi9kR2diUFA0azhSeFBENE0rTS9xaWN5OUUzYVlJRGQ3?=
 =?utf-8?B?aWxiQW5EOWxId0Z2VkJEWG1oWHZheWU2T2MxbnVtdWExV3JEUko5cGo2VlpY?=
 =?utf-8?B?dFB1VElzNDdkcnRLNWZCMm9YZVJ2Ym8vejJSMlR0ZDdwcnExRzlMMmhhMU16?=
 =?utf-8?B?RFUzSS9nMEorUWtoSVRoemhXQVBKc21idUxEYVJISWZ2emxhZTQ0UDVwRWR1?=
 =?utf-8?B?Ty9jb2JmQUg0UUpnNHZBa2taYXIzUDNGSGZ0TVRTa1FCK25IUmhNbmgrRlY4?=
 =?utf-8?B?VG9FemVTK2lwVGIyaUFObjAxamQvQ2FGNEFFQjlLdk1rSk4yMzV3ZktrcHFM?=
 =?utf-8?B?MEpSU0VXMHMzZVhtaVpsaFZTQ05LNjJaZXJZeEJqbTdKQmplUWU2VTFZWGwx?=
 =?utf-8?B?Y0RjNTFxeUpUd0R4OWNJTVFGb1VSditlVFFCRE5neVJGK0NYTjRDNkRqcklq?=
 =?utf-8?B?elQwZk9ycW5BUGlCWGtmdWp2NG8yRU1XRlJOS1R3ZERGOFJ2QTRQQVNoYjNi?=
 =?utf-8?B?N1I0VFNYaTcvVnRRY3A2Qmw5OGxzU2NrQ1EwWHIwamptYTVEck0wMkhWamNt?=
 =?utf-8?B?RDBjdDNPbmx0c1NVZGVMZGxjQ2lCcUxhV1NEa2EzVU9CSWxDMTlkRmVkSGEy?=
 =?utf-8?B?WGN4TVk1RHdRS2Vmek5ickUxMEZuWG1NTjRmVnp4YTl6dG40WG50V3FaTS9D?=
 =?utf-8?B?d0h5bmZVbWp3Ny9hRUhCQVkzdmljdlNWM2UrUmo0blV2NldKQUIxV3ozaVFz?=
 =?utf-8?B?MmE4ajdiUTFYZEV1em5NaE1Wa0hnR0hKbWxVMW9oOXFrT3JSSFhDUGhnbkdz?=
 =?utf-8?B?aGR6K0hPem9YZzhSRUkwcjVWNjR1OC9NUDRrdXJ5UzROSTBkTzdVVUxiUWJO?=
 =?utf-8?B?a1VaSENTa3Z6VkIzSlFTSWU1UWJaam02cUk2QndGMjNCNW5CWjQ2ckVGMFJK?=
 =?utf-8?B?YnRzWkZjU2drRUE0aDF6SStkeThzeEtCczdYYUdIUGx6ZGd5Y2FlaHB6aFI1?=
 =?utf-8?B?K0RhK2REOFM1a01sUGNvdGNkaVR0enlrcGp4NGVibWlkTnZhWnVYT285a1Jm?=
 =?utf-8?B?d2V4a2llYm5BZGVnOTFhMTFSWVprSXlZdWtVMDdrZzNOZ0xFajF6eDJWcXc4?=
 =?utf-8?B?ZDVqQ1lNVStEK1hqSTZONTBmWXdTWmx4VlZseEhTU29LUFZCSW1CWlBueFFu?=
 =?utf-8?B?eGx0RUFMM3djYWswMUV4aWNGQ1Y5Z2wweDNjUDEwQUY0NFFOSlFuZmFlZW5G?=
 =?utf-8?B?UDJVRTlCNHNnT2VzbVlPbGhrWElBRDdWMlZ1WDNTMzFIVmljaW15YkN3MFJP?=
 =?utf-8?B?djJyOFRyUUFQZm0xY1doWDdQaHRhTU1QY25zZnFmZUgxcCthOHF3aVRFYzZu?=
 =?utf-8?B?UDN6aXBqeHpLaHB0YWszaUdIMlFRVnNJak01d1IvOWIxbjJnaFgveWJQQmdn?=
 =?utf-8?B?SjJEY1VlUlBFc3lwbUMxSVhCYlFhNU00dmF5UHBaNThDQXl1Wjc3Z3NTOW9m?=
 =?utf-8?B?UXZXVG85eHBVSkgxaHJxc3JUVlVGRkx3eEMwKzZqdHF0L3NBQzRlRThqY1d2?=
 =?utf-8?B?VWRYcWpNQWZUdDVKalk3MkJuR1NDOW5WdFpuVk85YzVxa1V2bnIxQ2UxMksz?=
 =?utf-8?B?a3BWL2xhbFhNS2cvRWZySUU2TFlIcCsvT29JZUdrQnhhYnRmSEZlSk5zcysx?=
 =?utf-8?Q?MdZpMaSG4Xd5UYpcrmklfUNVA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5f0add55-c58f-4ff4-a4fa-08dad83820fc
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 09:48:01.4073
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aIMhQJ/jwV9a6olGm+umYdzGeMKcjydzKdNl9OJvpLi8bjcWx3ROqXWy4DCRa6OQo2erdogHSYHO/JRV80/H+w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7767

On 07.12.2022 03:12, Stefano Stabellini wrote:
> Fix two MISRA Issues Rule 8.4 ("A compatible declaration shall be
> visible when an object or function with external linkage is defined")
> found by cppcheck affecting xen/xsm/flask/ss/services.c.
> 
> Fix the first issue by making policydb_loaded_version static

This variable is only ever written to afaics, so perhaps better simply
drop it?

> and the
> second issue by declaring ss_initialized in a proper header.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

As to the title: The changes are contained to Flask, so xsm: really
is too wide a prefix.

> --- a/xen/xsm/flask/flask_op.c
> +++ b/xen/xsm/flask/flask_op.c
> @@ -56,8 +56,6 @@ static int bool_num = 0;
>  static int *bool_pending_values = NULL;
>  static int flask_security_make_bools(void);
>  
> -extern int ss_initialized;

What about the 2nd one in flask/ss/policydb.c?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 10:00:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 10:00:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456117.713824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rDq-0008Ee-Df; Wed, 07 Dec 2022 10:00:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456117.713824; Wed, 07 Dec 2022 10:00:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rDq-0008EX-A7; Wed, 07 Dec 2022 10:00:14 +0000
Received: by outflank-mailman (input) for mailman id 456117;
 Wed, 07 Dec 2022 10:00:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ywWV=4F=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p2rDp-0008Db-G1
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 10:00:13 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef98576a-7615-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 11:00:12 +0100 (CET)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 4899921CA3;
 Wed,  7 Dec 2022 10:00:10 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 00D6913732;
 Wed,  7 Dec 2022 10:00:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id +fzXOSlkkGMcfQAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 07 Dec 2022 10:00:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef98576a-7615-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670407210; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=f0NdNa7EL/MamKpASJtNe8nod+Zve0iBy/vQmu6jfhI=;
	b=K2VpWwAsYfiIJs/cr8XGC8g2xw8HAo/wilX78zBEHRP++ymSdf4yW5hdJq+XxT/XIo9jeV
	94nPxH9RFf1IW3vX/Mqmokc4pkg3MdkN9i3x7rTa5AYHsOmdvJIBQ8Vy739Ga2UPMKGqSm
	BUv1QfuMU8UFW+rt//uIsOuTDsLq6wE=
Message-ID: <b64a4445-b634-4c85-1a0d-ef00fa018c0c@suse.com>
Date: Wed, 7 Dec 2022 11:00:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
 <5fd43248-225e-99c0-7bbb-65e7cf7f08d1@suse.com>
 <5c934e1d-c785-d330-f0e1-acaaef700265@citrix.com>
 <606aff14-8abe-1788-6bc7-f3b279db8106@suse.com>
 <5bde8110-bdc8-e5f6-8677-8ae23f4990c4@suse.com>
 <e5fa33d5-a82a-606c-2ab0-013a9ed72c08@suse.com>
 <780ba615-a375-f32c-705d-64560133085b@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 2/3] x86/pv-shim: don't even allow enabling GRANT_TABLE
In-Reply-To: <780ba615-a375-f32c-705d-64560133085b@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------GYRvcwGu3tuwc0Hj61t5uc9l"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------GYRvcwGu3tuwc0Hj61t5uc9l
Content-Type: multipart/mixed; boundary="------------333z0lnea2erQB9s2V6J0iq1";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <b64a4445-b634-4c85-1a0d-ef00fa018c0c@suse.com>
Subject: Re: [PATCH 2/3] x86/pv-shim: don't even allow enabling GRANT_TABLE
References: <e5833b09-0ce3-b991-111e-07e64dfcc85a@suse.com>
 <5fd43248-225e-99c0-7bbb-65e7cf7f08d1@suse.com>
 <5c934e1d-c785-d330-f0e1-acaaef700265@citrix.com>
 <606aff14-8abe-1788-6bc7-f3b279db8106@suse.com>
 <5bde8110-bdc8-e5f6-8677-8ae23f4990c4@suse.com>
 <e5fa33d5-a82a-606c-2ab0-013a9ed72c08@suse.com>
 <780ba615-a375-f32c-705d-64560133085b@suse.com>
In-Reply-To: <780ba615-a375-f32c-705d-64560133085b@suse.com>

--------------333z0lnea2erQB9s2V6J0iq1
Content-Type: multipart/mixed; boundary="------------OhZvUxJBPI9QFQ4zge1SoTxn"

--------------OhZvUxJBPI9QFQ4zge1SoTxn
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDcuMTIuMjIgMTA6MzUsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNy4xMi4yMDIy
IDEwOjExLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMDcuMTIuMjIgMDk6NTUsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDA3LjEyLjIwMjIgMDg6MjEsIEphbiBCZXVsaWNo
IHdyb3RlOg0KPj4+PiBPbiAwNi4xMi4yMDIyIDIxOjI2LCBBbmRyZXcgQ29vcGVyIHdyb3Rl
Og0KPj4+Pj4gT24gMDYvMTIvMjAyMiAxNDozMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+Pj4+
Pj4gR3JhbnQgdGFibGUgY29kZSBpcyB1bnVzZWQgaW4gc2hpbSBtb2RlLCBzbyB0aGVyZSdz
IG5vIHBvaW50IGluDQo+Pj4+Pj4gYnVpbGRpbmcgaXQgaW4gdGhlIGZpcnN0IHBsYWNlIGZv
ciBzaGltLWV4Y2x1c2l2ZSBtb2RlLg0KPj4+Pj4+DQo+Pj4+Pj4gU2lnbmVkLW9mZi1ieTog
SmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPj4+Pj4NCj4+Pj4+IG5hY2suDQo+
Pj4+Pg0KPj4+Pj4gVGhpcyBpcyBib2d1cywgYXMgaXMgZXZlcnkgb3RoZXIgImRlcGVuZHMg
b24gIVBWX1NISU1fRVhDTFVTSVZFIi4NCj4+Pj4NCj4+Pj4gQnV0IHdoeT8gRG9pbmcgdGhp
bmdzIGxpa2UgdGhpcyBpbiBLY29uZmlnIGlzIGV4YWN0bHkgLi4uDQo+Pj4+DQo+Pj4+PiBU
aGUgb25seSByZWFzb24gSSBoYXZlbid0IHJldmVydGluZyB0aGUgb3RoZXJzIHNvIGBtYWtl
IGFsbHllc2NvbmZpZ2ANCj4+Pj4+IGRvZXNuJ3QgZGlzYWJsZSBDT05GSUdfSFZNLCBpcyBi
ZWNhdXNlIEkgaGF2ZW4ndCBoYWQgdGltZS7CoCBUaGlzIGNoYW5nZQ0KPj4+Pj4gZnVydGhl
ciBicmVha3MgYWxseWVzY29uZmlnIGJ5IGRpc2FibGluZyBHUkFOVF9UQUJMRSB0b28uDQo+
Pj4+Pg0KPj4+Pj4gUFZfU0hJTV9FWENMVVNJVkUgaXMgYSBzaW1wbGUgb3B0aW9uIGZvciBh
IGJpdCBvZiBkZWFkIGNvZGUNCj4+Pj4+IGVsaW1pbmF0aW9uLsKgIEl0IGlzIG5vdCB2YWxp
ZCB0byBiZSB1c2VkIGxpa2UgdGhpcy4NCj4+Pj4NCj4+Pj4gLi4uIGZvciB0aGUgcHVycG9z
ZSBvZiBkZWFkIGNvZGUgZWxpbWluYXRpb24uIEJ5IG5hY2staW5nIGEgY2hhbmdlIGxpa2UN
Cj4+Pj4gdGhpcyAoYW5kIGJ5IGhhdmluZyB2b2ljZWQgb3Bwb3NpdGlvbiB0byBlYXJsaWVy
IG9uZXMpIHlvdSBzaW1wbHkgY2FsbA0KPj4+PiBmb3IgeWV0IG1vcmUgZW50aXJlbHkgdW5o
ZWxwZnVsICNpZmRlZi1hcnkuIFNlZSB0aGUgbGFzdCBwYXJhZ3JhcGggb2YNCj4+Pj4gdGhl
IGRlc2NyaXB0aW9uIG9mIHBhdGNoIDEsIGhhbGYgb2Ygd2hpY2ggdGhpcyBjaGFuZ2UgcmVj
dGlmaWVzLiBUaGUNCj4+Pj4gc29sdXRpb24gb24gdGhlIGV2dGNobiBzaWRlLCB1bmZvcnR1
bmF0ZWx5LCBsb29rcyB0byBiZSAjaWZkZWYtYXJ5LA0KPj4+PiBzaG9ydCBvZiB0aGVyZSBi
ZWluZyBhIHN1aXRhYmxlIEtjb25maWcgb3B0aW9uLg0KPj4+Pg0KPj4+PiBGdXJ0aGVybW9y
ZSBLY29uZmlnLCBpbiBteSB2aWV3LCBpcyBzcGVjaWZpY2FsbHkgaW50ZW5kZWQgdG8gYWxs
b3cgdG8NCj4+Pj4gcHJldmVudCB0aGUgdXNlciBmcm9tIHNlbGVjdGluZyBlbnRpcmVseSBi
b2d1cyBvcHRpb24gY29tYmluYXRpb25zDQo+Pj4+IChhbmQgZXZlbiBtb3JlIHNvIHN1Z2dl
c3QgZW50aXJlbHkgYm9ndXMgY29uZmlndXJhdGlvbnMgYnkgYm9ndXMNCj4+Pj4gZGVmYXVs
dCBzZXR0aW5ncykuIElmIHlvdSBkaXNhZ3JlZSwgdGhlbiBJJ20gYWZyYWlkIHdlIGhhdmUg
YSAybmQNCj4+Pj4gS2NvbmZpZyB1c2FnZSB0b3BpYyB3aGljaCB3ZSBuZWVkIHRvIHNldHRs
ZSBvbiBpbiBhIHByb2plY3Qtd2lkZQ0KPj4+PiBtYW5uZXIuIElmIG9ubHkgd2UgZXZlciBt
YWRlIGFueSBwcm9ncmVzcyBvbiBzdWNoIC4uLg0KPj4+Pg0KPj4+PiBBcyB0byBhbGx5ZXNj
b25maWcgLSBJIGNhbiBzZWUgeW91ciBwb2ludCB0aGVyZSwgYnV0IHRoZW4gYXJyYW5nZW1l
bnRzDQo+Pj4+IG5lZWQgdG8gYmUgaW52ZW50ZWQgdG8gYXZvaWQgdGhpcyBraW5kIG9mIHVu
aGVscGZ1bCBiZWhhdmlvci4NCj4+Pg0KPj4+IFRoaW5raW5nIG1vcmUgYWJvdXQgaXQsIGlm
IGFsbHllc2NvbmZpZyBpcyBtZWFudCB0byBiZSB1c2VmdWwsIHRoZW4NCj4+PiBhbnkgImRl
cGVuZHMgb24gIS4uLiIgKG90aGVyIHRoYW4gZm9yIGJhc2UgYXJjaGl0ZWN0dXJlIGlkZW50
aWZpZXJzKQ0KPj4+IHdvdWxkIGJlIHdyb25nIChzZWUgZS5nLiBDT1ZFUkFHRSBkZXBlbmRp
bmcgb24gIUxJVkVQQVRDSCBvcg0KPj4+IEFSTV9TTU1VX1YzIGRlcGVuZGluZyBvbiAhQUNQ
SSkuIEFuZCB0aGlzIHdvdWxkIGV4dGVuZCB0byBMaW51eCBhcw0KPj4+IHdlbGwgLSBob3cg
ZG8gdGhleSBkZWFsIHdpdGggdGhhdD8NCj4+DQo+PiBJc24ndCBhbGx5ZXNjb25maWcgZm9y
IG5ldyBvcHRpb25zIG9ubHk/IEF0IGxlYXN0IGluIExpbnV4IGl0IGlzDQo+PiBkb2N1bWVu
dGVkIHRoaXMgd2F5Lg0KPiANCj4gSXMgaXQ/IEkgb25seSBmaW5kDQo+IA0KPiAgICAgICAi
bWFrZSBhbGx5ZXNjb25maWciDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGUg
YSAuLy5jb25maWcgZmlsZSBieSBzZXR0aW5nIHN5bWJvbA0KPiAgICAgICAgICAgICAgICAg
ICAgICAgICAgdmFsdWVzIHRvICd5JyBhcyBtdWNoIGFzIHBvc3NpYmxlLg0KDQpIbW0sIHN0
cmFuZ2UuIEkgc2VlbSB0byBoYXZlIGVpdGhlciBsb29rZWQgYXQgc29tZXRoaW5nIGVsc2Us
IG9yIEkgaGF2ZW4ndA0KcmVhZCBpdCBjb3JyZWN0bHkuDQoNClNvcnJ5IGZvciB0aGUgbm9p
c2UuDQoNCkFuZCBwcm9iYWJseSB0aW1lIGZvciBtb3JlIGNvZmZlZS4NCg0KDQpKdWVyZ2Vu
DQo=
--------------OhZvUxJBPI9QFQ4zge1SoTxn
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------OhZvUxJBPI9QFQ4zge1SoTxn--

--------------333z0lnea2erQB9s2V6J0iq1--

--------------GYRvcwGu3tuwc0Hj61t5uc9l
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOQZCkFAwAAAAAACgkQsN6d1ii/Ey93
LAf+OcI0E/IzINzTfKuVta+i6AtUx69eI+mhC8PnisS27Fz+6t49ZzghGr6Ud7ovJeSHtvaGt4dJ
nzt6v4fAehLYdve1AJQpbfO0vdmHavOhVvRTss7KgyWUmy4co6WJehxDoG2BT3QO2Y0PKCoSV1Z9
TuTr5F1dTt0kE0p2NAV9UCMk4VlNBc6J7oqSLouWeeCdsO0CbFYBw5JKxp9BMAM7hZiv+f5bcjj0
2aOu8NLybijE9VHT6CnCEqeqdKk+oWd1lzOycNjfaE1ENaeUnXl8JkzqErBXM2BrqQK1nkdHYLgo
XmKt4AIDxJEVUMqJPyM+QB1FD5At/nlrliFqF2IEWw==
=0qG6
-----END PGP SIGNATURE-----

--------------GYRvcwGu3tuwc0Hj61t5uc9l--


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 10:04:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 10:04:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456123.713835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rHf-0000ui-Tf; Wed, 07 Dec 2022 10:04:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456123.713835; Wed, 07 Dec 2022 10:04:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rHf-0000ub-Qv; Wed, 07 Dec 2022 10:04:11 +0000
Received: by outflank-mailman (input) for mailman id 456123;
 Wed, 07 Dec 2022 10:04:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2rHe-0000uT-PR
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 10:04:10 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on062d.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7dbf1ef5-7616-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 11:04:09 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6941.eurprd04.prod.outlook.com (2603:10a6:803:12e::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Wed, 7 Dec
 2022 10:04:07 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 10:04:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7dbf1ef5-7616-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PaeE3QT57zafLa4PKQm2RzDhEAp4cU+hjfTB0XB5EfanxRCk8bGfsg/Z1+jakhgAh8JBwlU3YmE75Ia59qCw7e/OdN4uwoeVIXC/hrYSc5YEoPeFKiJYRZzm3aHcjqLPeXBHv2Rr5qUmWIKmuwI02uwwFvV2Zw6rYFnmVwtd5CrV7e7GBvJ/ZpRPBerpRxP+Qvp6m78kjtjJx6I8q/r5qfA+QMcJcNHPNCr8XhrlS9PfDSOj79dYCrrUnVZoW7Un5AZgRLSM4YjXMnGAySRb/BgtzfMcrOGuVObFS8RUBSuwvb7rMi5/8YXvoexmzsjFSh6hOPEFBtFnn984oy69lw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9W44+Vr5Q5I7ofD36VobmN+J163vj3KTNRk/9DZujEI=;
 b=PI2GjEYhkYHBWBBBvx/SYWCUKzfVkiIimSN1czvzX/tb+FebW8cyLACu+JwpVnsJh4+H1edi+Htbqal4rNMHXCQt/ui9pG/CHOv0vrcGVbvNsVjqW2UmCTs+SWj9idoYR/xHVjmrCj6x3MftkWpoHH9BUJD+H6tOVhznsgbOWlpHWfapqzsXoXrmrdl/Uheyt0NwywP+RfidCtno+4MxrwwxMR5TnmCJJc/Rtx3n9PxTK4sYq2H9R7VnoB/Ba/otsAYy+DQtLAVZ2VnLTnbnKH/anCayAXNdjplrCs7Ic3BNw4TtIVcIodnc+lmZrHJJkErh5P59s0cyUdRQ7fGslg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9W44+Vr5Q5I7ofD36VobmN+J163vj3KTNRk/9DZujEI=;
 b=b7UdjdcBOzhf10a8vlhDa3HpebG6IgdXwnP8JFEA9K/XM5jJbyO9Q0sjYdKQjcXY6O5SR2DIlm8irfKCLJJL/VYFgbKZYUTcgkSp2axod4L5U8Obc6VIDsYnRAfU5dABBNQh4j0+j1NgMGcKAjcJPoGpMDquVaEQroN+fVWc36FoPrDqa4TWPlO+ou3igCwmzFkjKEDFBkvax7Oiw80daffB8OO2LPYUFcQS43WS77W+Sjx7LYCL+48A7qK80ZZ/D05v7Qri/TMid3KVLAuKPxPD7swJVLtie1G2PiZNX4rZqvFSMjb57jtHp4UwmO4z1MdNOhnEJ7n57I4uTF5mow==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <24a8fb2d-b2a7-b319-ffa9-c5f4e0eca06c@suse.com>
Date: Wed, 7 Dec 2022 11:04:05 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] Validate EFI memory descriptors
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Ard Biesheuvel <ardb@kernel.org>,
 xen-devel@lists.xenproject.org
References: <6936d67461716d8ba37ea8cc78743035c3e54e2d.1668832785.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6936d67461716d8ba37ea8cc78743035c3e54e2d.1668832785.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0169.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB6941:EE_
X-MS-Office365-Filtering-Correlation-Id: 819747e0-e58e-43f3-8fcc-08dad83a60dc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zbb8Qy0ijJhMde6kc5bh58GCiqBnyelRLPgVOqqrPzDKW5hpga6fBAET/2ky+WSyqceQ6pAjXy9QqZYqJuI9tlm6d8lIOTaP73rtpsnqY0AmqooeBJp+SfIHz+ySAbmfGBVQqohxYkRzdN4FBtV5VDjOfvcBq1YPTeq9exX+AnGnWn44Sd8Bwy52tBlDBz2U0NfwqVegE7bucocmBoIujOtLDTFgpRkAxwp5ITjXN56ccvu822bZpFjzZX8B/wagpV8i2SSoSinifNZVDwBkRbyaLD8kMECzYMEaC0akS4OajQcmBHfC108676mbqFdgZ36TQBqpCzsViu6h8v+97eeU7aVuPn2OYhn7R9MVaBNH0d7NbnSACG2mkIFNGR8k+dY9zzXTe6qQtnpP0MHMA0BFGEx2C2Mv8zKEqld+86Q4Za4qsuAfNNT4cBVgFDV+aq9K6lQ7YFPoFHlZSNUf+yYUmUqwxDo+HhYrbx62Hs5oC1tgHE7Pz904Lx0yepKptQLyVMavt2D4zi2zi4Zbd7rxSRYkjaRsy/HpUyARb2jQtHjsfcH49suns5dHhE7pdckEalZ+9S3lIrTXxTQ0mp2VYj2s/QgNepflXVOp/1eiidAVBjKiyp35EDyK2xkkKyVzY/utxNqS6SADnG7mAU7Nargjcvta5K4OxBhocHF+D0lh6jHK9g05Fr9HRPjXEwThDoTyX4+e037TNEwm3M7eoQh9TZPkFbriufUSEgk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(396003)(376002)(366004)(136003)(39860400002)(451199015)(31686004)(86362001)(6506007)(6486002)(31696002)(53546011)(478600001)(36756003)(2616005)(38100700002)(66946007)(83380400001)(186003)(41300700001)(4326008)(26005)(8676002)(5660300002)(6512007)(8936002)(2906002)(66476007)(66556008)(6916009)(54906003)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U3MyQWx2MXhJUWZURXdFOTg2Vzg2R3hJYXBNN0RjckVkcGNVTWc2TWhBdCtH?=
 =?utf-8?B?bWozQy8rMTZqUnppeU9vekY4YmdoekhkQUh6a0ZzbWJzZXVxb2g4OHFRSlo4?=
 =?utf-8?B?Ni9CdURiaEZiVE4vTDBOUGlPUk53QVhUbk1rZTFzUjF3QUR2eDUweHBzUSsx?=
 =?utf-8?B?cG1aWHh2TUFXQzNKenRsYmhKTUVHcXFtRjNPcWNtK00walVmZE5ZRGR1MlVW?=
 =?utf-8?B?c0prNitSYjdyb1ZmWWFtVU9hTGYrVElJVDdFQ3UyeXZEd29ZeWxwVXJRUEtR?=
 =?utf-8?B?cTY5NFBKazhmSnRVdWZPOWZ5cGtoaDJzVXlKZ2QxbVZWcE5oeG1sdFNnaW93?=
 =?utf-8?B?cjV1WlErcjlWQ003Q2JJU0pEck1WMXMrQWVDMEhwejgreHBlaGJVbnhBNTFB?=
 =?utf-8?B?TDJLakxqVnpaMURCNndadmN5TzkwN20xV0lqTklmVnl1VkpFc0c0ZkZWbGhC?=
 =?utf-8?B?UHpKN2hFRWtNUGxwMklJZ1dnZElVKzE1bk5XTlB4UGYvL0wyM01yOVJ3SVRV?=
 =?utf-8?B?QjhmSUg3OHo5OXQ5YUt4cGlvaVYvc3BlM3AxbW1rcHg5VHowQ1huOXZBa2tP?=
 =?utf-8?B?NHdpR1hCcjFEMGJjSGcxUW5yc0xVWkJGM0hSa0x4Tlo3RXRURlZ1R2JOK2NI?=
 =?utf-8?B?OUxSYjBWK0NjOFphSGlleDl0dm1SVzJOaTZPcFUvZVRRc05vUmkzanRTclVa?=
 =?utf-8?B?Szd5dDdpVDl3RmErZTRqRmI5bFFjOWU5ekpWVndIOFhleWtBN0lVbmkxVE5E?=
 =?utf-8?B?RG5FVU9PRnZKSGJ2WW51VVNxOFJ3aFZ5eHE4SFA1WFdGWTYrQlVaQ3dGRUlH?=
 =?utf-8?B?THEvS1lsMytxM2JiSmRCaUdmSzNlL2tGTXNXSzhuRTNpQ2hYZGpUV2NnWVlZ?=
 =?utf-8?B?bmV5VzhYdjdhVFlwMmRBRDlML3VNU3RaUnNCZURQUWlTMk5sV3J4L1dSUmpt?=
 =?utf-8?B?Y3huM3doNm01OW4vYTZxd2k3U3hjZXRCbWNINUo3TVF6bEtFUmd3MkV1TWox?=
 =?utf-8?B?czh0VHFYRmhUSUFPSW90NVZseDByZ3BIZk1UeGNGR0hvbEVkWWxkMVl5VzAr?=
 =?utf-8?B?ZEpEOWZ4NjJyUEVnbHcya09lZDJxVXNTTFkweXFaYm9QaWxEMFlnZzJTRVhN?=
 =?utf-8?B?L2lQVHZFNHl6NlNLTU5VUkJQeHlXNlRzTW5nOCtxT2M3U3FEYXpqUGJPNng3?=
 =?utf-8?B?cGE4MldYclJ4UlRNa2FvbVUzMlQ3dTlEekRjd0tKRjJKTkVSU1RQUzY2UDNk?=
 =?utf-8?B?TFZaWDRNWVpQMVdiZVowbTFxUGlENjZ4TWF6c2lhSzc2YkFSYjcyb3F1Nk9p?=
 =?utf-8?B?Z2I4VHEydHRFdTVrVGk3NTkzUUpFNGsvdms5amg1RWNuSlJwRk1jSk5WTXpW?=
 =?utf-8?B?b3JTei9sczFlUVY5N3cvU1hqNHZ0M2hhTG5WV0RlOGNoM0VDZ3NvYWN6UHc5?=
 =?utf-8?B?Tld3WncyRGlNRTBWMENOSFJSNWQycHVmdXdYYk1EajNNSE90NnhWbERESjlE?=
 =?utf-8?B?L3I1MW1XUUlyQW8vNVdad3Z6Y3FwUHZvdDFIMXlVWDBIclppeVhESllyNXQ5?=
 =?utf-8?B?d05FMnRGVEpncC9qZUlxSlRBYndKV3pKN0Q4YkVVaUZLSVlpSjlBRWhOZHlX?=
 =?utf-8?B?NDZ6bXdRbm1wZGJkdmhWb2d6UVdHbG1wb0xnOHpJUjFNVVNBdzkxRENkY2c5?=
 =?utf-8?B?REpza0VlT1U3OTkxY3pmWWlRelFTZHdlem5MaXE4U040VllTUlczWEtnTUQw?=
 =?utf-8?B?NS84YlUxMkR5Mk9tZzRGbWFmbGZycVo3NnN4eDNoUllIUHJGenpNa0NJWVIz?=
 =?utf-8?B?K1lmQzluS2gxaWJXbyt1WWRFTEFEWnU3SmkxTEQzWDNJTEdEREZleXp4dUdG?=
 =?utf-8?B?ZGZNbmNPQ0toK2JnVzZRM0NzZUdYZXdtcC80V3R4UHdnUHQrUE1lSUlYTDBk?=
 =?utf-8?B?c2N3c0JicldGcDNZQ1dpdHBTeDN6YVVFSjRIdVRiQkl1SXR0c0FmMStmTks5?=
 =?utf-8?B?Umwrc1B1czdDczQ0YmdTZ01vZmhWaVp6aE1WTXBjbElFV3BFSjFPdTZNZFVX?=
 =?utf-8?B?WjZ3WkJ5MnJXU0wySThYaGJDTE1OVVlYQlJaSWxlTXNSc1NCUVB4TGRGQWFU?=
 =?utf-8?Q?VsyempJ+0AhU8uv/asgG523Pl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 819747e0-e58e-43f3-8fcc-08dad83a60dc
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 10:04:07.2522
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TJccc/OwbRSQ/elGQo9MQES6na8SHFdX2ofnGn1JwZ9jzKxdolqsKVy8j/2c2HmgPBUDoODm+8NjH2iTFZ7Y7g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6941

On 07.12.2022 00:57, Demi Marie Obenour wrote:
> It turns out that these can be invalid in various ways.  Based on code
> Ard Biesheuvel contributed for Linux.
> 
> Co-developed-by: Ard Biesheuvel <ardb@kernel.org>
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>

This comes with the risk of breaking something that was previously working,
despite a descriptor being bogus. This _may_ be deemed acceptable, but it
needs calling out and reasoning about in the description. Even more so that
elsewhere we're aiming at relaxing things (by default or via command line
overrides) to remain compatible with all kinds of flawed implementations.

> --- a/xen/common/efi/efi.h
> +++ b/xen/common/efi/efi.h
> @@ -51,3 +51,17 @@ void free_ebmalloc_unused_mem(void);
>  
>  const void *pe_find_section(const void *image_base, const size_t image_size,
>                              const CHAR16 *section_name, UINTN *size_out);
> +
> +static inline UINT64
> +efi_memory_descriptor_len(const EFI_MEMORY_DESCRIPTOR *desc)
> +{
> +    uint64_t remaining_space = UINT64_MAX - desc->PhysicalStart;

This wants to derive from PADDR_BITS (or even paddr_bits) rather than
using UINT64_MAX.

> --- a/xen/common/efi/runtime.c
> +++ b/xen/common/efi/runtime.c
> @@ -270,18 +270,17 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
>          for ( i = 0; i < efi_memmap_size; i += efi_mdesc_size )
>          {
>              EFI_MEMORY_DESCRIPTOR *desc = efi_memmap + i;
> -            u64 len = desc->NumberOfPages << EFI_PAGE_SHIFT;
> +            uint64_t size, len = efi_memory_descriptor_len(desc);
>  
>              if ( info->mem.addr >= desc->PhysicalStart &&
> -                 info->mem.addr < desc->PhysicalStart + len )
> +                 info->mem.addr - desc->PhysicalStart < len )

With what efi_memory_descriptor_len() does I don't see why this expression
would need transformation - there's no overflow possible anymore.

>              {
>                  info->mem.type = desc->Type;
>                  info->mem.attr = desc->Attribute;
> -                if ( info->mem.addr + info->mem.size < info->mem.addr ||

This overflow check is not superseded by the use of
efi_memory_descriptor_len(), so if you think it is not (or no longer)
needed, you will need to justify that in the description.

> -                     info->mem.addr + info->mem.size >
> -                     desc->PhysicalStart + len )
> -                    info->mem.size = desc->PhysicalStart + len -
> -                                     info->mem.addr;
> +                size = desc->PhysicalStart + len - info->mem.addr;
> +                if ( info->mem.size > size )
> +                    info->mem.size = size;
> +
>                  return 0;
>              }

Is there any functional change in here that I'm overlooking, or are you
merely converting this code to meet your personal taste? In the latter
case I'd prefer if you left the code untouched, with the 2nd best option
being to split it to a separate (style only) patch, and the 3rd option
being to at least mention this as a no-op (style only) transformation in
the description.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 10:11:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 10:11:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456133.713846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rP3-0002zI-PS; Wed, 07 Dec 2022 10:11:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456133.713846; Wed, 07 Dec 2022 10:11:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rP3-0002zB-Lu; Wed, 07 Dec 2022 10:11:49 +0000
Received: by outflank-mailman (input) for mailman id 456133;
 Wed, 07 Dec 2022 10:11:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2rP2-0002z5-AH
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 10:11:48 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8eafef26-7617-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 11:11:47 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8118.eurprd04.prod.outlook.com (2603:10a6:20b:3f2::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Wed, 7 Dec
 2022 10:11:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 10:11:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8eafef26-7617-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C99zVsvAMCbjdqDLUA/zQaaZlEDne2MS8e9MIaznT0MrxeXC4DamurIYu7eQu6BmjxCmSPmWRbw5HLCXGr/bJ89AQI0zL4pVj/0lrWUdWi7+amjcNOwzzOyqS7jZLHvB/HGgPYpQuJUYAE80SCyMlRr5MkBkVkrwf7fu/gQCO6GgT2hTzZquvtuP53FMwZ8zyojScXJ1YHYM9baS1TnpYI9XtLjCUW694LpROJ912ZdIRHvqCK0muSrDzVINwovRt4SnEQhy2CIF3hMYaG+pP2C02T7GI/DsNrf+bdlBBXM9pOUbbNuhgeb7A7MoJg+QvGRPbm2Xz7AMqAqbAF8Ypg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TroBOdUX5HfBGqTjb4GCit156LcMDpVDMRjHzR3YSVU=;
 b=Ww/91U0w3L+VG7pAiZTO+zqEObZpHP5pncnDN7cjfs9Vj/miCLxfFdGLuNaESuEOGLfvJ+RNy2z/M9xdeBKtmIvENDHzAW9mJI3kMbEyefv47knNaZc0DJZZqEjjA2sbEYCjK41pgVBqCBgDiLGyK8TZVfiQUcIhWQ0bOZ0+YHWR+hfC8OrivusUdhfrkf+kzso3tgu6plF7JXBtibNpffIvxeaRfA7WbEjvziGrEbkS0MqkzkNYnNaxR3mOErTHmV4IlSPNK1QbcRIq32frTtZF5YXhq/6GL9K9/FBFbonX3VV0/Z8/7wwPrltzuVvQw0Raxq636vQyjMGWadsmkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TroBOdUX5HfBGqTjb4GCit156LcMDpVDMRjHzR3YSVU=;
 b=2eHpgqUy2D3jafoLxoN7OaWYqt61Rx3TFC5fFo4mb36P6x710rSgM+Mf3tcuv8YtslqC21v2RW4kr7FLNsbfXd+WtMYQJucF6I4nN/qzrKVSYJ/BKbRl/Bf6BAg+p5eUDwrepwrW07jsQ1KI+jOl+sffJgw4JsjFrMG1pes0DXVhH2XhZwjQs6u1s9PxPHI0iWImR6j8R+4bX9qbRHk37QwrkvaTqDydQvmD2/kGWuQbag2YLl2s3Bwio/vi2nfIXPC4S2bk/ClloiQhEggVgTTGjXzlvAfzrzUZFzxZf5NICnaiz+1qqWhpSBX0a7V6rlsbjvHz4x3PjU0gBr0aLQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <678b618d-335a-fc9d-97f2-2c6e0e05ed79@suse.com>
Date: Wed, 7 Dec 2022 11:11:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2] Use EfiACPIReclaimMemory for ESRT
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Ard Biesheuval <ardb@kernel.org>, Henry Wang <Henry.Wang@arm.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Xen developer discussion <xen-devel@lists.xenproject.org>
References: <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0126.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8118:EE_
X-MS-Office365-Filtering-Correlation-Id: 0fef9a77-de41-49ad-fdd6-08dad83b70e6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	p4AaAjCR4QPj/gcQcxv+rc3qXjzExg4W4yVaWOW58IZRQH8itIFEllOHoWkjb2HjgJt4TJGM9m8WR+NkKxppsMETi2k3Lyc+5Q6uh/0DqSB8DDafK7CopM0+0xBJlXQKYBLt9nhQweWqgRnVPgOuqjcCT7vTDa0wMAlHaX2m7tKuJVyf+F/z65FyCwlvP3q3Bohh6NUjRQe9mxo0qozVjgF7FPNxuQ1f3OosqpJweFYGjT6liKPGuk6qeyzbH3+34xRk9wSTVZLc/CEB2B0uVtlQJyvrqN7Z3PHqd0/8Xqd7/5hqrWoNSWIDTxuxZq6GaTcYdB9zbl9GP4/Yff3YURveH4BNgIS5CzRqutecf2C/yDI+RvYOLiIGfZyac5MQLLnMjsVNIJKxnx4IokMgk9S3jFYLYOeWkE/ffJPHy58KFh3975mYHjxUDIJDhI5hy86DlRGepGoKkBGJ9XlddvlgFUahg33rR5cKf7kcy6Qh/mQVbqbOX/1lwxuXoMAkGwlLVj8BZo1OsselivtK7U9oGNOTRIxAJw8QDgoc9N668+0KE053XcpdYQPW9/RPa0vUTM3/MLDdwlXmpANGa4f8RHIn1moMRrnCV0Omzw6rNQaLlq3tSlb5BS5Me5/uy5Nz9mVo20bAezfyqfC71VcOPNgfruY45zHe5FzJF530zazDAeQ6RDPwCV4dcDvbkqHIiWn5jBux0kpgZiiUsQBQa9yydWS0e0B3drAuqTJWvs1SXdXes/4cWKh6+cHMu+C9aa+ZJs5PgxdFwbEdtQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(366004)(396003)(39860400002)(376002)(451199015)(2906002)(83380400001)(31686004)(41300700001)(186003)(36756003)(66946007)(86362001)(31696002)(66476007)(4326008)(38100700002)(6512007)(8676002)(26005)(66556008)(2616005)(966005)(53546011)(6506007)(478600001)(8936002)(316002)(6666004)(6916009)(54906003)(6486002)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVdHMHAzTFNud2hlWEV1ZWVFZkZyWWI5VHZUQVk1TzFGYm9odUtIdyttSEJZ?=
 =?utf-8?B?bXBwUVNodjRPdzdhOE1jd0hqeHNBSlNkcWR3VDJKVmFXM1IzdUpJeWtTMXc0?=
 =?utf-8?B?MGxGLy8rdTR5ekdFeDlnUENIT09HZmpLWmZQcmNWUEpwZ3VESENDRjY1NDRj?=
 =?utf-8?B?V0NOWWozRWZGekowaUptcnhjcTZzWUErVFBqSGFycHhzcy85Tk1nUk56UlFX?=
 =?utf-8?B?c0JYekRjU0xNbUwvbUU4TmFMZFQrOGxPOUVGNWZZZi9vZGZERFAwQUY2UzVO?=
 =?utf-8?B?OHNMNzd3cVFyNEZ6c1VDaE9oOXp2clFqVVVLN1ppelhnVjIvME1SQnBFZmds?=
 =?utf-8?B?Tlh4dUJWKzNnVHR3S1VsQ2t4S0t6enZUdlRWNWttWTc0SU91V0MyZ1g5MzdP?=
 =?utf-8?B?ZjJPaXdNMkpzUE5kWXg3eVVtUEdFVGwvczdiMzJneDhpSmpQOXFwQmFQSU8z?=
 =?utf-8?B?UmVXclA0N3BBcXNEUWRQVThuNXBjNTdqVWtkbzZ1d2g1L01NcVJTclYreDNX?=
 =?utf-8?B?cTRrQXlSSUNNQmJsVjFBVVREU0srZk8xamJRcUVuaHlmMGt1WTQzcFlvdWZ5?=
 =?utf-8?B?U0gyaDl1ZlhiOW50Tk9QWVNsdlRrNlJKYVQ5RmwvbFhPVEhMVmxudkN0a01Q?=
 =?utf-8?B?cFFMRWNRS21tamlHdXNVbnhGSE50UUlKbjdSM21vL0ZHeXVmdWdpSVNYZmFr?=
 =?utf-8?B?TVRBZlJ5cUNOc1hFUldLUzdXZThoMkdVWHhRWTdkbkZJeVBrRmYrVEd4R0lH?=
 =?utf-8?B?NzNsajhhVW56L01jT05rSW5OYXo5UlNZYVNLMVFZYnZLVU5SMHVicjVkQlBN?=
 =?utf-8?B?VFRuME84R1lRVyt2RGNEK3pBMmNyRXpTcjdoWXlONjc0REdxMjZlRFpWN2Nz?=
 =?utf-8?B?VUJCQzgzMzdGTFE3bS92d2VOWEp3K210VTE2VzJMSklCL1l2NUZESjdQKzl5?=
 =?utf-8?B?T0h6RFp0eUQ1WXZ1VEJpeUpqd1lpSmEwWXdWVjQ1QmJKWmVzNXl2Rk4zUXNy?=
 =?utf-8?B?bU1Wc1ZSRWpoT3hrSW1OMnlhQUZIQWpMSHNONFAxb1FvNFluMXR6VGZjYWtF?=
 =?utf-8?B?OXRkYTg0V3RuTkVPVWlTNGlSWGNCRlZJQWExQmprOG5HaFBBWWppZUprcWMv?=
 =?utf-8?B?bXhGREV6d3NlcnZIVUhOR01xYUtlaE5WcXFUR3U3Z0c3cEpkOFEzVE5XajdC?=
 =?utf-8?B?dUxRYjJHSi82S3Jqd29DeXVZeHhnUnFoWENjMXpTQkFyYmR1Vm9VRWhmWk03?=
 =?utf-8?B?c0h0aWtqakozQ3hreDhSWjFtRDY3Zk10S0hlK2RQbWZFL1Y4UW1qZnBQUlVI?=
 =?utf-8?B?Wml3ajRTYkYrbHF0WWZrS29ZSWE3eHI0RjlvZTFJRTlJYTdRdGwxanJJeXFO?=
 =?utf-8?B?RXZ0NTQrcGNvU1JVZk5YZVRUazRDRklzTy9PTm04REI2cmxlR3BsNDE1TTV5?=
 =?utf-8?B?c3JVaGM0TlUyWGVxL0hPMnRhY2dFc2x2bUNDQk5RcjV4VDkvd1pWRWh2OCtF?=
 =?utf-8?B?L1hXRk5aOTNDK1FOcE1ybHh2cW9sdUV0Z3VqNXJkY1dCUVZORkVlaDNvb3lF?=
 =?utf-8?B?WEg4U2dCT2szODdVT1U3YndrN21HWTlpbzQzVXBvNk5Ba0xFOFpCQTU4Y0tC?=
 =?utf-8?B?SlNvZTlyOWlqRUJWdkV3WWlJeHFaUzc5Ny9FV2h1VG5HSnoycDk5QlFYelpk?=
 =?utf-8?B?aFl2aTIzMzU3RWZkb2J4c2x0TU13a3FsSmN0OGdsTnVtNFhMeDBmQjViUDUw?=
 =?utf-8?B?YVZQeTdJOXYySzA0QlhVRmpxUWhNOUJJYzJNajhCQ2F6THZXY0RhaG9QUnBy?=
 =?utf-8?B?dHdSa2ViNHZPYzZJcitDcERQSlp5Y2tuOEw2V3N0UnFjM0xUTTFLUDBrOCta?=
 =?utf-8?B?cmRWWmg5SWN2VndhVyt1OGozajREZ0YwNDQ5K0w1ZUo4Ry9mQlVhZ0tZaHlQ?=
 =?utf-8?B?V2t5d3VlYUZPcjdUWXVHVTJzU1pyengrV2UyL3pTazBoNXQ0VnlnaW5IQXRS?=
 =?utf-8?B?SkZ1UE5PZU1WMXJjeUQ5QzY1cUpkQU9WSEx4V0pmUlR4azZFTDdXcmRQUmp5?=
 =?utf-8?B?R1g4RXFJeU9CRGFicWZSUEdTZ0VjcERYTXliNTNpdkNySTl3QjY0QUNMOEVP?=
 =?utf-8?Q?KUSNvFfH6bWKpjFxhpwbwCBCh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0fef9a77-de41-49ad-fdd6-08dad83b70e6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 10:11:44.0515
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mfSHALlpuzXMuHtHbqK2jzBemfsKQnTeCZfYyUouqPahPvCzS6nyq80r0ChdW7kUA0WRkxi5AQcgM7h5d8kHLA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8118

On 07.12.2022 00:27, Demi Marie Obenour wrote:
> A previous patch tried to get Linux to use the ESRT under Xen if it is
> in memory of type EfiRuntimeServicesData.  However, this turns out to be
> a bad idea.  Ard Biesheuvel pointed out that EfiRuntimeServices* memory
> winds up fragmenting both the EFI page tables and the direct map, and
> that EfiACPIReclaimMemory is a much better choice for this purpose.
> 
> Link: https://lists.xenproject.org/archives/html/xen-devel/2022-09/msg01365.html
> Fixes: dc7da0874ba4 ("EFI: preserve the System Resource Table for dom0")
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> ---
> Should this be included in 4.17?  It is a bug fix for a feature new to
> 4.17, so I suspect yes, but it is ultimately up to Henry Wang.

First I was surprised this is numbered v2. But it indeed looks to be a
plain re-submission, merely with Henry Cc-ed. You didn't address my
comments; you didn't even incorporate the one adjustment where you
suggested alternative wording and where I did signal my agreement. All
this form of plain re-submission (without any kind of remark in that
direction) did is that I spent (wasted) time checking what the earlier
variant had, what was requested to be changed, and whether any of the
changes were actually carried out.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 10:19:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 10:19:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456140.713857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rW2-0003dh-Fq; Wed, 07 Dec 2022 10:19:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456140.713857; Wed, 07 Dec 2022 10:19:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rW2-0003da-Cp; Wed, 07 Dec 2022 10:19:02 +0000
Received: by outflank-mailman (input) for mailman id 456140;
 Wed, 07 Dec 2022 10:19:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ywWV=4F=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p2rW0-0003dU-Ks
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 10:19:00 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9058bb17-7618-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 11:18:59 +0100 (CET)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 01F8721CBC;
 Wed,  7 Dec 2022 10:18:59 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id A702B136B4;
 Wed,  7 Dec 2022 10:18:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id /KslJ5JokGMVCAAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 07 Dec 2022 10:18:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9058bb17-7618-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670408339; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=VTns5mAfIBsPHe6SwxUnoyr3mxRi46aBRRYfefLkl8I=;
	b=SsswVE3VQg2fo2LdE5t48/DI4b2sVSHmk4iFjwNAK3DrOo/9zZAehgjYaSQfxtS4vCJXAG
	vUptvu4qSuxoLyf1fT1sUhRbOmkaDJ66NUC+Hq6/bnJuVtItjrw6YlgTeIU2SgS0QU03js
	qvDa6CQRrqFiLhFJBi/9ZMfTCghw1f8=
Message-ID: <f1c89855-22d4-8605-e73e-6658aef148f9@suse.com>
Date: Wed, 7 Dec 2022 11:18:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH] xen/netback: fix build warning
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 netdev@vger.kernel.org, Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20221207072349.28608-1-jgross@suse.com>
 <46128e5c-f616-38c5-0ab2-1825e72985a8@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <46128e5c-f616-38c5-0ab2-1825e72985a8@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------X9s9CczSxgpT0DRZthLtv02v"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------X9s9CczSxgpT0DRZthLtv02v
Content-Type: multipart/mixed; boundary="------------PO1myFOge2RPMAYvTrRVDX0K";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 netdev@vger.kernel.org, Ross Lagerwall <ross.lagerwall@citrix.com>
Message-ID: <f1c89855-22d4-8605-e73e-6658aef148f9@suse.com>
Subject: Re: [PATCH] xen/netback: fix build warning
References: <20221207072349.28608-1-jgross@suse.com>
 <46128e5c-f616-38c5-0ab2-1825e72985a8@suse.com>
In-Reply-To: <46128e5c-f616-38c5-0ab2-1825e72985a8@suse.com>

--------------PO1myFOge2RPMAYvTrRVDX0K
Content-Type: multipart/mixed; boundary="------------sIQofQieghq4Lzrazwt0fPcm"

--------------sIQofQieghq4Lzrazwt0fPcm
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDcuMTIuMjIgMTA6MjUsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNy4xMi4yMDIy
IDA4OjIzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gQ29tbWl0IGFkN2Y0MDJhZTRmNCAo
Inhlbi9uZXRiYWNrOiBFbnN1cmUgcHJvdG9jb2wgaGVhZGVycyBkb24ndCBmYWxsIGluDQo+
PiB0aGUgbm9uLWxpbmVhciBhcmVhIikgaW50cm9kdWNlZCBhICh2YWxpZCkgYnVpbGQgd2Fy
bmluZy4NCj4+DQo+PiBGaXggaXQuDQo+Pg0KPj4gRml4ZXM6IGFkN2Y0MDJhZTRmNCAoInhl
bi9uZXRiYWNrOiBFbnN1cmUgcHJvdG9jb2wgaGVhZGVycyBkb24ndCBmYWxsIGluIHRoZSBu
b24tbGluZWFyIGFyZWEiKQ0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdy
b3NzQHN1c2UuY29tPg0KPiANCj4gUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGlj
aEBzdXNlLmNvbT4NCj4gDQo+PiAtLS0gYS9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9uZXRi
YWNrLmMNCj4+ICsrKyBiL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL25ldGJhY2suYw0KPj4g
QEAgLTUzMCw3ICs1MzAsNyBAQCBzdGF0aWMgaW50IHhlbnZpZl90eF9jaGVja19nb3Aoc3Ry
dWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUsDQo+PiAgIAljb25zdCBib29sIHNoYXJlZHNsb3Qg
PSBucl9mcmFncyAmJg0KPj4gICAJCQkJZnJhZ19nZXRfcGVuZGluZ19pZHgoJnNoaW5mby0+
ZnJhZ3NbMF0pID09DQo+PiAgIAkJCQkgICAgY29weV9wZW5kaW5nX2lkeChza2IsIGNvcHlf
Y291bnQoc2tiKSAtIDEpOw0KPj4gLQlpbnQgaSwgZXJyOw0KPj4gKwlpbnQgaSwgZXJyID0g
MDsNCj4+ICAgDQo+PiAgIAlmb3IgKGkgPSAwOyBpIDwgY29weV9jb3VudChza2IpOyBpKysp
IHsNCj4+ICAgCQlpbnQgbmV3ZXJyOw0KPiANCj4gSSdtIGFmcmFpZCBvdGhlciBsb2dpYyAo
YmVsb3cgaGVyZSkgaXMgbm93IHNsaWdodGx5IHdyb25nIGFzIHdlbGwsIGluDQo+IHBhcnRp
Y3VsYXINCj4gDQo+IAkJCQkvKiBJZiB0aGUgbWFwcGluZyBvZiB0aGUgZmlyc3QgZnJhZyB3
YXMgT0ssIGJ1dA0KPiAJCQkJICogdGhlIGhlYWRlcidzIGNvcHkgZmFpbGVkLCBhbmQgdGhl
eSBhcmUNCj4gCQkJCSAqIHNoYXJpbmcgYSBzbG90LCBzZW5kIGFuIGVycm9yDQo+IAkJCQkg
Ki8NCj4gCQkJCWlmIChpID09IDAgJiYgIWZpcnN0X3NoaW5mbyAmJiBzaGFyZWRzbG90KQ0K
PiAJCQkJCXhlbnZpZl9pZHhfcmVsZWFzZShxdWV1ZSwgcGVuZGluZ19pZHgsDQo+IAkJCQkJ
CQkgICBYRU5fTkVUSUZfUlNQX0VSUk9SKTsNCj4gCQkJCWVsc2UNCj4gCQkJCQl4ZW52aWZf
aWR4X3JlbGVhc2UocXVldWUsIHBlbmRpbmdfaWR4LA0KPiAJCQkJCQkJICAgWEVOX05FVElG
X1JTUF9PS0FZKTsNCj4gDQo+IHdoaWNoIGxvb2tzIHRvIGJlIGludGVuZGVkIHRvIGRlYWwg
d2l0aCBfb25seV8gZmFpbHVyZSBvZiB0aGUgb25lIHNoYXJlZA0KPiBwYXJ0IG9mIHRoZSBo
ZWFkZXIsIHdoZXJlYXMgImVyciIgbm93IGNhbiBpbmRpY2F0ZSBhbiBlcnJvciBvbiBhbnkg
ZWFybGllcg0KPiBwYXJ0IGFzIHdlbGwuDQoNClRoZSBjb21tZW50IGF0IHRoZSBlbmQgb2Yg
dGhhdCBsb29wIHNlZW1zIHRvIGltcGx5IHRoaXMgaXMgdGhlIGRlc2lyZWQNCmJlaGF2aW9y
Og0KDQoJCS8qIFJlbWVtYmVyIHRoZSBlcnJvcjogaW52YWxpZGF0ZSBhbGwgc3Vic2VxdWVu
dCBmcmFnbWVudHMuICovDQoJCWVyciA9IG5ld2VycjsNCgl9DQoNCg0KSnVlcmdlbg0KDQo=

--------------sIQofQieghq4Lzrazwt0fPcm
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------sIQofQieghq4Lzrazwt0fPcm--

--------------PO1myFOge2RPMAYvTrRVDX0K--

--------------X9s9CczSxgpT0DRZthLtv02v
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOQaJIFAwAAAAAACgkQsN6d1ii/Ey9B
Hwf/eK8jqoi004SJmfl+VLO0L9yoLn6D1oGCXg/IAzUD3MVa1x574MEBdFt/8icScTQcU9bsrZOy
WOA/nkMeO+dZe/oETnke+y8mOm+49i+DUF23bxTEemXzvPtkS592p81P7Zd9P+HiO+DZ2sYI5j23
096TlPbJgMZXM3pesCqafkexbnnQrFZ9KNnLZT9ghpSl6R1zE5fj1X+BjG8Ueal9HyzvNMJXdFsm
jjjP+/TxQ3pmP+mPSNYzt3A3eXtcJCUcQ9aQLBukTA3lWKURy382a7841ZnFh4mlqPz5dSIiY0JJ
5Qre3TCA06kkWwlfqSj1I41yINd2KDEoTQSSLM5+Ew==
=wD3C
-----END PGP SIGNATURE-----

--------------X9s9CczSxgpT0DRZthLtv02v--


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 10:25:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 10:25:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456147.713868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rbz-0005YH-5L; Wed, 07 Dec 2022 10:25:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456147.713868; Wed, 07 Dec 2022 10:25:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rbz-0005YA-1q; Wed, 07 Dec 2022 10:25:11 +0000
Received: by outflank-mailman (input) for mailman id 456147;
 Wed, 07 Dec 2022 10:25:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VSrc=4F=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p2rby-0005Y2-Es
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 10:25:10 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2047.outbound.protection.outlook.com [40.107.7.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c148885-7619-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 11:25:08 +0100 (CET)
Received: from DUZPR01CA0030.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:46b::19) by PAXPR08MB6367.eurprd08.prod.outlook.com
 (2603:10a6:102:15b::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 10:24:39 +0000
Received: from DBAEUR03FT008.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:46b:cafe::ba) by DUZPR01CA0030.outlook.office365.com
 (2603:10a6:10:46b::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 10:24:39 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT008.mail.protection.outlook.com (100.127.142.107) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.14 via Frontend Transport; Wed, 7 Dec 2022 10:24:38 +0000
Received: ("Tessian outbound 2ff13c8f2c05:v130");
 Wed, 07 Dec 2022 10:24:38 +0000
Received: from 63426c14dccd.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5298E9EB-EF7A-48D0-8A6F-48E46DC605DC.1; 
 Wed, 07 Dec 2022 10:24:30 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 63426c14dccd.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 07 Dec 2022 10:24:30 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by PAWPR08MB9445.eurprd08.prod.outlook.com (2603:10a6:102:2e1::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 7 Dec
 2022 10:24:29 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 10:24:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c148885-7619-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GJZS1IVI6fv4hWohCsorFnxW7Fbo5KKmpvO2jdUKRuw=;
 b=5ZIADmInggH2iGIo5PLDLIO/tO3OzS88NoFjNzUvlXWZ8Ysbf+5OuU3CY/eDkclRmyP+9oLaHQZWZL11ugzwFzXTsONRiuNjWr74CeIugdPVG++7aoTD6EBSXI9tdBGVghiD0fiBIrWv+y+MalMb2VEzYjnwMJ8GEWOWbWZ4Jec=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: fdbeaf332f4b1a4c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LfJGgGUhUYzsgJ3SonsV2fNtT76KwKdP+/X/dnNMG43oQSgDJ/udRG/nnjxXJbqj+YfRsRSdnsXse54dD4WS43XUJkTxRWqFjuXLJvwl4AG9Z1J1sDHyPcRceGp6azgRmlMO0OOZBpDnfxlo6IrSi+YISEgeA47KUutp2szmfBfpP8a6r7drMBKU57OCSuH58DFzWs/c+01DsnemzN4n1M26vPkCYRG06R4z1vu8sM9W629YUg5VIe5dtew1Ki3SiSHOdvjgSBcKIBNynWqdM7Ee25D4A9/l5KkhoyyFZ4Rb71AdDovmYACWVeP9ekoFxfB5Q2NObJY88vnS8+hyjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GJZS1IVI6fv4hWohCsorFnxW7Fbo5KKmpvO2jdUKRuw=;
 b=T4a9gtmFNpMutlVt5LX7R9GM+Bdj0ngbdi3M+Th+rq1p64EHBmW2BkLOsFEoRZ4CetJbEonxnRuH3EFmj5125etLAexrqEof9tS7jHhiF0E4PRNAS6bdyln/COpD5dXf/KaK06y96SjkXEGrCkHucbFF7Rdc3zH5i9lbyAZVqkGNX62FG7JburV1FQcVjOztginByw94I6jDHcXoFwBEC1qWm+vidbhnj3T9MwWF5OnBtOYnGgsyOWV+349hInTW6i5gdVfn5fjGnBasHoAmkOhQtWcp4J9GS8t/tT/Se/WSkceuoTkJW055MVJBR4CZe+M6+X8Ikm8GWJMGJIVP+g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GJZS1IVI6fv4hWohCsorFnxW7Fbo5KKmpvO2jdUKRuw=;
 b=5ZIADmInggH2iGIo5PLDLIO/tO3OzS88NoFjNzUvlXWZ8Ysbf+5OuU3CY/eDkclRmyP+9oLaHQZWZL11ugzwFzXTsONRiuNjWr74CeIugdPVG++7aoTD6EBSXI9tdBGVghiD0fiBIrWv+y+MalMb2VEzYjnwMJ8GEWOWbWZ4Jec=
From: Rahul Singh <Rahul.Singh@arm.com>
To: sisyphean <sisyphean@zlw.email>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [BUG]SMMU-V3 queue need no-cache memory
Thread-Topic: [BUG]SMMU-V3 queue need no-cache memory
Thread-Index: AQHZCfprdLwUdaBZYka2kYynmoAiD65iOCsA
Date: Wed, 7 Dec 2022 10:24:28 +0000
Message-ID: <75D89B2C-BBE4-419A-80B7-FEE39445ABB2@arm.com>
References: <e1e0e347-6530-7b68-92f7-ef52defa55ac@zlw.email>
In-Reply-To: <e1e0e347-6530-7b68-92f7-ef52defa55ac@zlw.email>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7158:EE_|PAWPR08MB9445:EE_|DBAEUR03FT008:EE_|PAXPR08MB6367:EE_
X-MS-Office365-Filtering-Correlation-Id: 2d57e0df-78b6-4587-acc6-08dad83d3eba
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 mCOmUK1IHByyNmM0xdJWHelaAs4YqrqRwrFkn+U5E834xCc77q9C7dpQQz1i/xdOXhcRZj87i7fNpgzRswgnIPxunuOG+59yKY/t9yFcbvc0FZS19Q9fgOEn6gP9faQWYrGS2vLjXcKdkXE6PL0yjhTCZVUI/IpoSrfgqkhFCfgpU5Dv7R4WjYxhp/qDFdti/jNui5gBOTlPqdAsvkGkWzYiqLcpJlpOc7maR/gZkxrsovQOsnNBlbBdjcFrJujrHfpgHzKheCOyP2Uh0VNcVkEbsAGkrAPa3FZf7+zgIMdf3mtW4Htz4IPqmbsjGmyvHOjoWUHPk2hlaToJb1+K/TJcu7cT3ABTvxrnn2lq396eqnpkcY9G8sEE74MfaIrvRVxPNAHgsU4wQEGjeUzoDXF6/cKqbwRErhkIcf466p97f/dZ54xSLfWL0SzwSOKeIM5N2DkN7xuA5aKTZDb9jpJlMnuwbcaJiQpjzyozn0tTv1QMX6KGJ/ZhgZMuIrJ5IhsdEDZhw/1acT8J2FtzXk6GuwXc3aEfsRM9wSxHLAEVNrCN3IXqQbUf0TaUUXnJEQEyB1NeWVphyS1zGxQ6zGj/BllJ7roDu/9s7S+BJ1FMKCR8YQuu80LLdL1ulMCtfHGj/Zf5FHKyuMQRHVG7m/ler5OtVQ5sSPsRoJfgBaw6kjJHcymaTOFhBVj/nh9AqVrNpELiUnL1zNxc9WZGMVCKdKgAAUvYnnZBRPwMw9Y=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(39860400002)(136003)(366004)(396003)(451199015)(122000001)(38100700002)(2906002)(8936002)(36756003)(86362001)(186003)(33656002)(83380400001)(478600001)(2616005)(6916009)(6486002)(66556008)(316002)(76116006)(41300700001)(64756008)(66446008)(38070700005)(91956017)(53546011)(66946007)(71200400001)(26005)(4326008)(8676002)(5660300002)(6506007)(6512007)(66476007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <BFE600A665338949BFFFE370A6B3FDE4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9445
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ea9fafca-ee64-4c34-bbd3-08dad83d391e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LM8fiVxKcXEQte4TG5ZKnmy25KnWHsZwjw5wIh5RZVQbsndohfNbplPUcxK3Zpnwihfc9GilQKZ/m2mcjibNDgNhRPKPm4UX7kXodPnwGypKh3VviKNxzbO6+AjGgh43V0MlNJj53IsnFgpS4YibCPvOaQwj2Xlcn9XiZY1WRmvxi5bOBLA5QG3jtAny3oLkpl6PEiWA500XZfX5tALUyL5hqYqNQpymU9GlJURZoA7zJ1NDmW1cho5HbWgfLmCq3xe4YS3EiTcvceEnOyIxJugmlSsG4E61aeQ8l8cpxWT6hwVCRf/92KAkIbjFmA8m2fzLQaks5gAHXeMONGYLKgGHgPYXgh7Y+iv0Oz8U1BYSVnLmLIIoW1/xf54BsObGOdhx39UC2DTA2YpXhBcbt1XZMyYJyiPAxwObeoUJN7IltFYX4A78oy6pg4sZuaftwF6/Ihqkrn0UoZ5HeWulryTbWL2BQZsQiMabgQlPWqJMk1R1Qi1pKXuhgV6C+IG2389JpMFuyole+FXjoLzIN/7ktRmofo3E3l6DXaIi8AmJW3muQ7pPAWTGP2PRPHqVPE04J5hEthpcnk68wiEXLpy8Mb5bkfsjszqq7m2wxij0cKp7mFHRxWJ28gHLKL1hWFxA7B2MMB1aDvaXjTtIsBq0HjV+zn3tRzevQafFFc/irb62biDzVSiyYfY2TRwy4hDFPkupRzBvSBSwpAu+mQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(396003)(39860400002)(136003)(451199015)(40470700004)(46966006)(36840700001)(186003)(356005)(336012)(2616005)(33656002)(40480700001)(81166007)(36756003)(36860700001)(40460700003)(82740400003)(86362001)(47076005)(83380400001)(316002)(6862004)(82310400005)(70586007)(5660300002)(70206006)(41300700001)(4326008)(8676002)(8936002)(2906002)(26005)(6506007)(53546011)(6512007)(6486002)(478600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 10:24:38.3216
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2d57e0df-78b6-4587-acc6-08dad83d3eba
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6367

SGkgU2lzeXBoZWFuLA0KDQo+IE9uIDcgRGVjIDIwMjIsIGF0IDI6MDQgYW0sIHNpc3lwaGVhbiA8
c2lzeXBoZWFuQHpsdy5lbWFpbD4gd3JvdGU6DQo+IA0KPiBIaSwNCj4gDQo+ICAgICBJIHRyeSB0
byBydW4gWEVOIG9uIG15IEFSTSBib2FyZChTb3JyeSwgZm9yIHNvbWUgY29tbWVyY2lhbCByZWFz
b25zLCBJIGNhbid0IHRlbGwgeW91DQo+ICAgICBvbiB3aGljaCBwbGF0Zm9ybSBJIHJ1biBYRU4p
ICBhbmQgZW5hYmxlIFNNTVUtVjMsIGJ1dCBhbGwgY21kcyBpbiBjbWRxIGZhaWxlZCB3aGVuIFhF
TiBzdGFydGVkLg0KPiANCj4gICAgIEFmdGVyIHVzaW5nIHRoZSBkZWJ1Z2dlciB0byB0cmFjayBk
ZWJ1Z2dpbmcsIHRoZSByZWFzb24gZm9yIHRoaXMgcHJvYmxlbSBpcyB0aGF0DQo+ICAgICB0aGUg
cXVldWUgaW4gdGhlIHNtbXUtdjMgZHJpdmVyIGlzIG5vdCBuby1jYWNoZSwgc28gYWZ0ZXIgdGhl
IGZ1bmN0aW9uIGFybV9zbW11X2NtZHFfYnVpbGRfY21kDQo+ICAgICBpcyBleGVjdXRlZCwgdGhl
IGNtZCBpcyBzdGlsbCBpbiBjYWNoZS5UaGVyZWZvcmUsIHRoZSBTTU1VLVYzIGhhcmR3YXJlIGNh
bm5vdCBvYnRhaW4gdGhlIGNvcnJlY3QgY21kDQo+ICAgICBmcm9tIHRoZSBtZW1vcnkgZm9yIGV4
ZWN1dGlvbi4NCg0KWWVzIHlvdSBhcmUgcmlnaHQgYXMgb2Ygbm93IHdlIGFyZSBhbGxvY2F0aW5n
IHRoZSBtZW1vcnkgZm9yIGNtZHF1ZXVlIHZpYSBfeHphbGxvYygpIHdoaWNoIGlzIGNhY2hlZA0K
bWVtb3J5IGJlY2F1c2Ugb2YgdGhhdCB5b3UgYXJlIG9ic2VydmluZyB0aGUgaXNzdWUuIFdlIGhh
dmUgdGVzdGVkIHRoZSBYZW4gU01NVXYzIGRyaXZlciBvbiBTT0MNCndoZXJlIFNNTVV2MyBIVyBp
cyBpbiB0aGUgY29oZXJlbmN5IGRvbWFpbiwgYW5kIGJlY2F1c2Ugb2YgdGhhdCB3ZSBoYXZlIG5v
dCBlbmNvdW50ZXJlZCB0aGlzIGlzc3VlLg0KDQpJIHRoaW5rIEluIHlvdXIgY2FzZSBTTU1VdjMg
SFcgaXMgbm90IGluIHRoZSBjb2hlcmVuY3kgZG9tYWluLiBQbGVhc2UgY29uZmlybSBmcm9tIHlv
dXIgc2lkZSBpZiB0aGUNCiJkbWEtY29oZXJlbnTigJ0gcHJvcGVydHkgaXMgbm90IHNldCBpbiBE
VC4NCg0KSSB0aGluayB0aGVyZSBpcyBubyBmdW5jdGlvbiBhdmFpbGFibGUgYXMgb2Ygbm93IHRv
IHJlcXVlc3QgWGVuIHRvIGFsbG9jYXRlIG1lbW9yeSB0aGF0IGlzIG5vdCBjYWNoZWQuDQoNCkBK
dWxpZW4gYW5kIEBTdGVmYW5vIGRvIHlvdSBoYXZlIGFueSBzdWdnZXN0aW9uIG9uIGhvdyB3ZSBj
YW4gcmVxdWVzdCBtZW1vcnkgZnJvbSBYZW4gdGhhdCBpcyBub3QNCmNhY2hlZCBzb21ldGhpbmcg
bGlrZSBkbWFfYWxsb2NfY29oZXJlbnQoKSBpbiBMaW51eC4NCg0KUmVnYXJkcywNClJhaHVs


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 10:27:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 10:27:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456156.713880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rdz-0006CT-Me; Wed, 07 Dec 2022 10:27:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456156.713880; Wed, 07 Dec 2022 10:27:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rdz-0006CM-HQ; Wed, 07 Dec 2022 10:27:15 +0000
Received: by outflank-mailman (input) for mailman id 456156;
 Wed, 07 Dec 2022 10:27:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2rdy-0006By-Jb
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 10:27:14 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2079.outbound.protection.outlook.com [40.107.7.79])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5eced41-7619-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 11:27:12 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB9511.eurprd04.prod.outlook.com (2603:10a6:20b:44b::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.15; Wed, 7 Dec
 2022 10:26:41 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 10:26:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5eced41-7619-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=guof3MgiT45x6NbqIP76EMqDx1RJGXf1Pqk3k914FQe4aWG/dbYn0tmtvj3snJa6omgbsBfFOphQZuCiOM5EqTtZZN5pwsMN5WqUAOANlPcpdQxxywb2KZbLAqeIWSm82s+77us0aM6JekTfe1P173WyR7wcMp31ag2Z25mQMMPgDQIqeE/J5q07ad9FQ6UMNy6XZtBpJBvfMsmjKCZgHHeL44ijKC8jj8KTB4AWtvpWiWsNrztkbmtxjkCmp6NbtUWcUFsMEN0y/GLyQBItbkM+I69zwrOIfpOF2Z5g+lEsVqGHgsc2+oCWocyS5TJDafraN1MFucrbTZiUs/Ufbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Gp3l8pTrimm7zWLxA86ncTUcquifyA1VTZB+N9mGHYE=;
 b=XVO/2mu1M3/rCN/BjTYjyN6qFeTgbv+qK32o+yrvkCdD3Fzdt6hxCaoflLy5esfQ5hdBOjolwxiJojvTpAXymRiN/hfwHhTgWslMzmfgOGAWzwbeQN8vkaFNyfhNthImRBRXxQITbPePlVkylw/msS60maYWFu71g27ULam/1J/7SH/g8BpavtZ9XP3vi+MH+kJBYT9DskEL4xrtMvJI+noWkeVUPQBUF6XvLGp7YfPDwGLqrJrYNiQmKv7AwzVe8FVN+JXgqTtOYMU7QTRpqLRqBMUOAxce7o2pUzuXyhpOwYTgsTmqsyGmC/psgRzPJSZCRg2PnPs97SmZZ1rxUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Gp3l8pTrimm7zWLxA86ncTUcquifyA1VTZB+N9mGHYE=;
 b=JXcKREEn999SJoJmEdQz/1UHROD0bu5J9Y53KL5okCKx3soCWbrzV7/ETo3lx4uY97mdgKwp3nM/3KRWDrxxXAljyDClPDUsO46iKkpbG1rEOuqjGjJFSxEiX25Mb1sSFPY+eHSAND+RxKFOF+wWnyJc8rsRfTTxT1QVWmIpgJ0HiCoOQOfonr4f4Av8a6YqjwCDHjxiudOn7r/j7njgGUSMJnIi6sjgCGZj9jznebhZzrj211G4s7rwbmPzdI2+FHCr/ucBayKUlLrKZZ4XhBitBm4XEBQzz2YsazfngSlVKO2qBgPOPc/62yqbDpULk0p9o2FoqglSYQV0NqPqPA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0074a007-23a7-f2ff-0b85-47e4263c4d3f@suse.com>
Date: Wed, 7 Dec 2022 11:26:39 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] xen/netback: fix build warning
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 netdev@vger.kernel.org, Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20221207072349.28608-1-jgross@suse.com>
 <46128e5c-f616-38c5-0ab2-1825e72985a8@suse.com>
 <f1c89855-22d4-8605-e73e-6658aef148f9@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f1c89855-22d4-8605-e73e-6658aef148f9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0166.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB9511:EE_
X-MS-Office365-Filtering-Correlation-Id: 35004ae4-5d8a-407b-9827-08dad83d87a4
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zpNHuNVv72EgZIyI6PP578If4nPg0Dj45IaKUL3l7Fovpo7QlvShbufv+ua4i8uiBwGMH7bpuDawbiKSPgTLK3FVY9rvfp04ycBOVeIRtCir+I+LHUqD2iycT5JrJJiDAD1Jn3ZobMS6BrZ/5TDTHbQZu6+ilpaLUOmJMT2xP0iRso+6FXIWvphdBuAp2OUcI0JUKAzZVEMMryg+74zvrxZ3RH9JA9n3DAwRv5ib7uNlXH9S+vMXJ+/lgSMFQgssOfJsYS5cGgRNZNMymIIl7IVpf4D6Z9KP94ywXgEKCVz04uDrmGzZS3omIDYCa8xQZt74Q6UB15uXVm0xTQHhtbmEJy7BfC3pByfgdbh0Scq/PbfpCXpWHkXrW2IqGJvEh4L0g4S5g9IQIYm1oIB/njAZcveVck+vP8oIAAF4eBirbf42Bjbpu7SWilSxgGRjIRlXv6/r2aatQ5gdn0aUdzwuKKCZNXdmH31Cb6TpgGyBIco3DdYodQ/LHGJ5gjVVPLb82ynjSpYyLSxeos4yqfyKYB/NGTODPjzj6FJc/vAU6IGeDgziIuqBYfXi0Fc2L56Os/66qS7N0nu3vuJFf7z9nsk4VOXLra8PkjHGogZfoJvJ42d4PB/3pidBKIb+jv1/M29CCZfn1cnG4CcRCP1AxGUtpLVKNxBIyawyM2+x80zs1PGloRhYpWYVzZ9dBvmJz+su8WwkgFIaUTs/+Bh9yN5/tZYtWTAyASFy3M8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(376002)(39860400002)(396003)(136003)(366004)(451199015)(31696002)(4326008)(41300700001)(66899015)(6512007)(6506007)(66476007)(26005)(66946007)(66556008)(8676002)(53546011)(37006003)(86362001)(316002)(83380400001)(8936002)(6862004)(7416002)(31686004)(5660300002)(186003)(6636002)(54906003)(478600001)(2906002)(6486002)(2616005)(38100700002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WDB1b1pCY2haeG1zYWlxNlAyTGRYZlBtR1g4SVNvbU9CakZ5K01Ec1lMNFJ1?=
 =?utf-8?B?dDRyU0RvbnJhQmxUT0JFdUdHOUI2dFMyQ2tMOEMwdENKRFlKWmczTTh2RUsy?=
 =?utf-8?B?OTBDSFFSbnE5NWJBQWMxOWdnd3hoSjQvcUVkL01HR2IvRG05ako3Zm1nd0Yr?=
 =?utf-8?B?Sk02S0MySXFuNjlOeWU2d0trWC9XVGp5RStuVkZidFhGN2xhckFBQmE0QlF0?=
 =?utf-8?B?THZGUHJFK3RDNFpQYllsdkhiamJKbGUzLzh4WmdtWVVUbUc3RzE4cDY3QSts?=
 =?utf-8?B?dW9Cb2QzVmdRSlBIRTZuMkNNUnQ1WEc2YkM0RlRoUlUyekdGUk83OTR1Z1h1?=
 =?utf-8?B?VnpHa2Z2cXJYUVIrTkRwZU5URUNyNDJJbEhhVkRiUU5VRVlKSVpMYTNyZWlo?=
 =?utf-8?B?T1ZxSFRMakZTSFJpaEEwa0tCUm9HUU5VZzZ0a1pCLzgxMjdkeXplS2QraFd4?=
 =?utf-8?B?VWVQSmo0a3V0MUtKRVlyWU9ueE1KNnRYbTBiZHRONGdDMDhBbWF6Q01BeUx3?=
 =?utf-8?B?RVJRTWNhSGFCYVcxaWNUQlRkMDZxM2tBYjhQRVJyWU9KSE83WWN5Y2hQTGN6?=
 =?utf-8?B?dDFkVG5qMmpZODYzYmZhY0dnM0FjWDN6YnBmamZhdm1lbGxDMU5hSnV1SjB0?=
 =?utf-8?B?ZTF1dnhmaGUxbnJUUVIyU0xORk1DWXYwZUQ0cjR5R1hxK1BiRURjRTFCVzhK?=
 =?utf-8?B?dittSTZ0ayt0Y01vNWFHY2FjS2tOMHNHNmk1b1JLNGxJNk9Da0pPZEhVQSs4?=
 =?utf-8?B?VHB3YUQ4UlJJUzM1T01iQW4xOStYWXZ0MklCcmtTa2JZNWVqZldZWWl2NHFm?=
 =?utf-8?B?NDBzbk5teUpaNUxhZUp4VW9RcSszM2dhbkJXZFNjWmJGZ3lRd1Y3a1BnWGxv?=
 =?utf-8?B?VGllRnlLUkN6NnpNSTFZY2FGMC9QVGVVZUR0U3U0NWtuZkh6OFN0aWw3NmMz?=
 =?utf-8?B?K2hMeDNSSTFFUTF2bW1qQTNKcngvUUxzSmowWCtDeDhhdEVkZnVjSHA5VzI0?=
 =?utf-8?B?aGFuQ0xVczY3bE51anBoN2VYUnJGemhGVjVVQW4rRkZCK0JpL1RmaWhYVEhZ?=
 =?utf-8?B?cjRBMGNSRk9sTXoxajJmN0dXV2VOaSsyMDArbSsyd1hnUm5OMnFjVmNlWUk5?=
 =?utf-8?B?aW5SbDdGREYyUUpKSHozNGUvMWdwWlJzSjYxY24yRi9HcEJPN29wZmZlcFRv?=
 =?utf-8?B?MTNGdnNlcHpjWExibkVScjZVeThFQlNsV2VFakJIdXR3RXRaeStwZ2pOUlgv?=
 =?utf-8?B?bktPU2pyL1IzeVltV1RxbEpiRFQ5N0txcEVZUnhBeE13RUZHdlN1YzM1SFU5?=
 =?utf-8?B?WFZBU0h5eFdkVlVjY0luL0ZSTlI1c0NBRHpSUTVEdUlNZ3BDREhINkR6Zjda?=
 =?utf-8?B?K0Ird3hsWmxtb2xPV25XMTBiWG84VXV4ZEpUWTNudGpiNTA0YVJjNS9VSjZa?=
 =?utf-8?B?ZktBSDE5QzdUNCtmeDVoR1VYb0k5c2RPc2tMRWF0Z0JsbHZSclMrTyt5RjV5?=
 =?utf-8?B?WmhUWEdmNjVBZFNVUEltWDY3WUoyWjYydG9WeXBrTlgwcFhVVkVtc2NYMzZo?=
 =?utf-8?B?N282Nk9teDJUS0Ewd2RqVU9rME14V1VuMkV6VThzY25hYW8yVDVySElBSEhM?=
 =?utf-8?B?MHdpNVFGcjFZWWRLY3BMbGRWWm1KLzY3YmxyMG05ZFdHYkY0cGpHSVVYTVY5?=
 =?utf-8?B?Vks3SnRuWUE4SDRhS2hkSDhrditKL1crSW14N3o2R2YvTDNONEhGcXZ6OCtz?=
 =?utf-8?B?UUZybzJRaU0wMGRLbHBpcCtoUmxSeVNkV3JHUVk0K2U2SElFbkJJd0h4L0do?=
 =?utf-8?B?bVdrVFpXYWpuZmRBZVh1blFHK0ROWmtiQzlkU1hSRlRXWENWQmRyQ01ZcFB6?=
 =?utf-8?B?Y0pmb0RmdGhPSW9GYjBLOHdncWZNZFF4aDBIV0FBcjMvUGhvZkIzejZYeTMx?=
 =?utf-8?B?YXFVMXVGM0VMRVc0bEFUaHkrTCthZHRZb3JlUzkrWEphN2xTMUl1TVJCblJh?=
 =?utf-8?B?cmtWTy83NUxJZllGS0d6S1NzZ3RWeDZoczZpQXRKVUZodDhTWXExQkY1QjJE?=
 =?utf-8?B?THc2N2YyM0hhbW5GU0xHVTlLV2UwLytaT25GTUlDNWJvSWp4Q0VvWCtibktZ?=
 =?utf-8?Q?YkEzdVXg8ipN+SDoU5fPoT2FC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 35004ae4-5d8a-407b-9827-08dad83d87a4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 10:26:41.0255
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IAQLOsfK3agoBJ/n59erewJYr1HQ/glJ+gDqRhUNbKkUhaUp397p9s3E29dlNrEdKZ/LBc291LAXAGDy6qlXFg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9511

On 07.12.2022 11:18, Juergen Gross wrote:
> On 07.12.22 10:25, Jan Beulich wrote:
>> On 07.12.2022 08:23, Juergen Gross wrote:
>>> Commit ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in
>>> the non-linear area") introduced a (valid) build warning.
>>>
>>> Fix it.
>>>
>>> Fixes: ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in the non-linear area")
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>
>>> --- a/drivers/net/xen-netback/netback.c
>>> +++ b/drivers/net/xen-netback/netback.c
>>> @@ -530,7 +530,7 @@ static int xenvif_tx_check_gop(struct xenvif_queue *queue,
>>>   	const bool sharedslot = nr_frags &&
>>>   				frag_get_pending_idx(&shinfo->frags[0]) ==
>>>   				    copy_pending_idx(skb, copy_count(skb) - 1);
>>> -	int i, err;
>>> +	int i, err = 0;
>>>   
>>>   	for (i = 0; i < copy_count(skb); i++) {
>>>   		int newerr;
>>
>> I'm afraid other logic (below here) is now slightly wrong as well, in
>> particular
>>
>> 				/* If the mapping of the first frag was OK, but
>> 				 * the header's copy failed, and they are
>> 				 * sharing a slot, send an error
>> 				 */
>> 				if (i == 0 && !first_shinfo && sharedslot)
>> 					xenvif_idx_release(queue, pending_idx,
>> 							   XEN_NETIF_RSP_ERROR);
>> 				else
>> 					xenvif_idx_release(queue, pending_idx,
>> 							   XEN_NETIF_RSP_OKAY);
>>
>> which looks to be intended to deal with _only_ failure of the one shared
>> part of the header, whereas "err" now can indicate an error on any earlier
>> part as well.
> 
> The comment at the end of that loop seems to imply this is the desired
> behavior:
> 
> 		/* Remember the error: invalidate all subsequent fragments. */
> 		err = newerr;
> 	}

This says "subsequent", whereas I was describing a situation where e.g.
the first piece of header copying failed, the 2nd (shared part) succeeded,
and the mapping of the rest of the shared part also succeeded. At the
very least the comment in the code fragment I did quote then has become
stale. Furthermore, if "all subsequent" really meant all, then in the
new first loop this isn't followed either - an error response is sent
only for the pieces where copying failed.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 10:29:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 10:29:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456161.713889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rg5-0006mr-0E; Wed, 07 Dec 2022 10:29:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456161.713889; Wed, 07 Dec 2022 10:29:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rg4-0006mk-Ts; Wed, 07 Dec 2022 10:29:24 +0000
Received: by outflank-mailman (input) for mailman id 456161;
 Wed, 07 Dec 2022 10:29:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9USZ=4F=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p2rg3-0006mZ-CQ
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 10:29:23 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20616.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 029f606e-761a-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 11:29:21 +0100 (CET)
Received: from BN8PR03CA0028.namprd03.prod.outlook.com (2603:10b6:408:94::41)
 by SJ0PR12MB5503.namprd12.prod.outlook.com (2603:10b6:a03:37f::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 10:29:17 +0000
Received: from BN8NAM11FT086.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:94:cafe::e1) by BN8PR03CA0028.outlook.office365.com
 (2603:10b6:408:94::41) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 10:29:17 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT086.mail.protection.outlook.com (10.13.176.220) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.16 via Frontend Transport; Wed, 7 Dec 2022 10:29:17 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 04:29:16 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Wed, 7 Dec 2022 04:29:15 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 029f606e-761a-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G6ZCS4+xDwZANG+TIYMBVb99bvGGfJHREIJ8NC3PlUfP3s/2tfHpyu5Xmd3BOCTecyFrswQR9gSWGWxfWGSvs4AUtNSkby9Zp1dNYf0VKQV9+czNphg7sxN948OKfI0tFb9FCXGjGNpuERF86rlNDLomELiGMtNvwXIPwTaZ4AKMzq+nAQAa/FtHrR7eBPw6X4I56njI7ZnOssPZA+FhGVtxdK4GMtuMlbj0kta0m6HWYsVFXqFLm0AzkmZ0mFy681sFUPy/Fhwwxo41rcw86XvfiiDLW8MJPW528tWITdKL5ulpzE8pXd6ROHBZYvxHGJpicv/WoSqA3Re7I4JoMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SzCm0T8TgsnX/v1lIUm06IzvzdKhH6rJ3JrNtijnIMQ=;
 b=bcRtr4rXq0JPMnI+5QgTiJZrmd6XlBPKKHZYQQomUIcqNT6NZwupzAzF7YXS/BUSO3Ndj/BK8ORB2/3Z1w9qGtMwdr0PHFG9ii9gvOqmpB4Y5jG14pK3D930gP6Z77j/sxPZNGvXmdkWzGoFU6fAiTiP2Au1JVlXwmNm0cuqLZ8jLHY2BhFA6FI/5qyNL/pOwGO4w2QCTyia8M9TRKeMts8/eqlHRHPYBbFNow6HnTytskW39IrvJwhS92ljyLIar/QgTrM71iDPq+/86D5eOJQnaOLAwyT4ANlSqMdwg8ZD3e4zDiYbKVL2BNv1f49GRGLylhHP5hdBfio+KofdIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SzCm0T8TgsnX/v1lIUm06IzvzdKhH6rJ3JrNtijnIMQ=;
 b=vP5XPTvLjfWJCclUaV/mvCdHthwBB4GmH4UzGlNj+6XjVAAXvRUPrkCnBJgM8XEmiVTvAbx6xO+9+qG7SD4oBlbqkiI/VJvmKIac7VC/ppCJVhFVOoHJDBUp3/pURxfkgKc6qjRAlkOwoj+I0SOsemZNWe40mtyY2ASmQMZST+4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH] x86/platform: Protect XENPF_get_dom0_console if CONFIG_VIDEO not set
Date: Wed, 7 Dec 2022 11:29:09 +0100
Message-ID: <20221207102909.17794-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT086:EE_|SJ0PR12MB5503:EE_
X-MS-Office365-Filtering-Correlation-Id: 9f1989bd-57b5-4117-1930-08dad83de4fb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JGH++aZC0uS2CQkY/wFfarrZ5/8+hfFt4VUUYYrWAbK4/uZGbjjaJBsIeptzIs1dDwp++HalIyZIrFMG6uoS/2jQYUfqnLqOk3wEV/jnTf0SNdpn0UxoEsuyoJR9kefpuwN/f8E4foY0JoxDMvER+ZV3Bfw1wGkIz9vvL9YiJ4KqwS2h+yKiV5XgPM+udsHZbGj8GlMNG/vfUp/jVMlMz+PzI4UaBXfUEWi0/0AXqv6Q1V2KxDCPTP3Uk5OOexDcqGtgfgRW00mliLE21i46saUyjHPNrTWUl3EMIumjP0/40N2ZLgT3A4azL+IsAj9+8+M1aI0amCvoxtwlfYRo+QIJYhiX7gmqadwQe/4TSn75kfTtruYipIcLLT0OYrkwzwpfuWAm2y3fLaqSM7zk4oUG0FiStC1Ut/uL0kV5bxX++pbWUE3mknll8ux1kqX7PBD422rAYjieLiy5K1Z1bmKNJ1hvoDn40UO5Jsude8qih9kPCYoEWFYVZCG3gxxy0LvU1Pvk7aYpCFY7T1d1lVsnpOxWe1d2wAVseEs66DA5JyDyXI/69yB9vkwFI07XveBQp6OGh7dB2ynbPaQ6v4tp5T6wQPfIJWnWkJHWxk5wci5eM4lpJz0ZDzCT1Vx55QnKjgNUkD21520k5c4bEzSJ3RQRH3VnU9ExhSKChATMMKRvBFh8kCKSOLPu3erSZ9YicUMLvzZ1SV+UOEmFJNBHIXpbcjDusfAyFzQEwgu36yPKnlnU9YsTdEeG4fFTS4MSlldlb2Z+rgkINcYgVA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(39860400002)(376002)(136003)(451199015)(46966006)(36840700001)(40470700004)(26005)(966005)(4326008)(6916009)(40460700003)(70586007)(2616005)(82740400003)(8676002)(70206006)(36756003)(36860700001)(86362001)(40480700001)(81166007)(316002)(54906003)(478600001)(6666004)(82310400005)(356005)(2906002)(83380400001)(44832011)(336012)(1076003)(8936002)(426003)(41300700001)(5660300002)(47076005)(186003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 10:29:17.2143
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f1989bd-57b5-4117-1930-08dad83de4fb
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT086.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB5503

A build failure [1] is observed if CONFIG_VGA (and thus CONFIG_VIDEO) is
not set. This is because XENPF_get_dom0_console cmd of platform hypercall
makes a call to fill_console_start_info, which is defined in video/vga.c
and built only if CONFIG_VGA is set.

To fix this issue, protect XENPF_get_dom0_console with CONFIG_VIDEO
ifdefery.

[1]:
ld: prelink.o: in function `do_platform_op':
(.text.do_platform_op+0x1a7): undefined reference to `fill_console_start_info'

Fixes: 4dd160583c79 ("x86/platform: introduce hypercall to get initial video console settings")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
CI job failure:
https://gitlab.com/xen-project/xen/-/jobs/3430825994
---
 xen/arch/x86/platform_hypercall.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 3f0d0389af44..08ab2fea622c 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -839,6 +839,7 @@ ret_t do_platform_op(
     }
     break;
 
+#ifdef CONFIG_VIDEO
     case XENPF_get_dom0_console:
         if ( !fill_console_start_info(&op->u.dom0_console) )
         {
@@ -849,6 +850,7 @@ ret_t do_platform_op(
         if ( copy_field_to_guest(u_xenpf_op, op, u.dom0_console) )
             ret = -EFAULT;
         break;
+#endif
 
     default:
         ret = -ENOSYS;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 10:31:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 10:31:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456168.713901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rhi-0008AQ-C2; Wed, 07 Dec 2022 10:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456168.713901; Wed, 07 Dec 2022 10:31:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rhi-0008AJ-8N; Wed, 07 Dec 2022 10:31:06 +0000
Received: by outflank-mailman (input) for mailman id 456168;
 Wed, 07 Dec 2022 10:31:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2rhg-0008AD-9A
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 10:31:04 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0609.outbound.protection.outlook.com
 [2a01:111:f400:fe02::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3fa6187e-761a-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 11:31:03 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 7 Dec
 2022 10:31:01 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 10:31:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3fa6187e-761a-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qw02Du5KTXwScvaZqaquBWwKhIncEOqPNT2Y71e/sl7I1t5toyTiqwoIu+X+zxmXr6y71ZsKZv3SHac2U4/2IloHj+5bKfX6IIMn9XHDfh40P+KxaJMRTehJSmmvuG/PYS/kmyj38bhEAFdHGZjEZ+5pptqViMrf4M/k/+heOg1H+Y9BZSb2LVkQjVOB5anftLyBvEA381gV61/85bWcvW83tELmn/CflPbBSf5awxepK3Emkg3r247pAmQ1D4QeNmbSzwnmgvYnij8ERSebZnOEnP7nzENY1mMN11WJcjDq6bL8ebuzh5mFiwFkph+cJzTktjh0Jjekz5fVAwr7tQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8+po0AMZoktsY6y8iiX/ERyRQq4nHJe7TQHPdXfc9CI=;
 b=I0Mfg4GmrRTnohOLY/hAobzfKVMYl2xuNHjJkzlhpNxy+BGG6qswnUbFWbZMiB0DqF/b4/EZd76E9u3wQf4OoxskE5raOcPhDQcn7FRSgwOMVKl12crcAP4IFtoQm4Mkyx2bP75YR4HI1RwfJm5SjY1uUp/9jT195r3IqnBA5mRT2Q7TAwO7E3D4PcTQ8ukEcTmJ+vqnyZX4KrZbb2i735V0NNk5VbaVo5Xfb//aM9yX319jMhzMR4YgAisNwHpCht1FmUc5OChusJtGOPKc4TXo/Z4TLrFyg5oauTckvDpa8FoiMJEAdSjTcLaA1tAmbpzXDs7vKMrxhr5hGBtwNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8+po0AMZoktsY6y8iiX/ERyRQq4nHJe7TQHPdXfc9CI=;
 b=ItQIbGXcGXEx/B4NTy563xoWmBaaksNf6W+TCOGlY28nOlWDzk1v3ZJfxHC2ZUTPShE4oLRsAWXDnDHV7oA7ezPPXGPTqrITk66ZawFhyI/oyyBnx9obhk/ws/t0vl44jVZQI1MyYu8m0hwPruw4u0y8WiEtQ/ZA4mK4u70h5UhNqDV2z/OqJ754ft7dZgX9+arqSJF9E9IxDcoBwzXqK1U2fFpZZqMGvTMwVoXUrcXim+IsaItAZtlLfIxco35Cqiv74q8AWOex7gqK3q39KWcNIUfMtoXPfUhuv5uQyO4NRwhzkea8psYSXUbCAUgHJIbHc+8aMHHEwYkoa8y2/g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ae3fb691-ee52-221b-e73c-28560e480b4d@suse.com>
Date: Wed, 7 Dec 2022 11:30:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2] ioreq_broadcast(): accept partial broadcast success
Content-Language: en-US
To: "Per Bilse (3P)" <Per.Bilse@citrix.com>
References: <9cc56d01a09fcf6e1e3e9d48e60420f435fa34c3.1670348481.git.per.bilse@citrix.com>
 <397a24e0-e143-6a8a-571c-ea20ca4ccb63@suse.com>
 <312a88dd-0207-dfc1-8200-e5d399ac12b5@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <312a88dd-0207-dfc1-8200-e5d399ac12b5@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0124.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7500:EE_
X-MS-Office365-Filtering-Correlation-Id: d860e74b-a950-47fe-5d55-08dad83e22ee
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Hf04xhA4GnTTKluEuPvBtwQmMzSfuopz5dbXAa9z02F1v8K2RUm1i+6IL/iIR9wBTWCm0uvAQN7tAochK07a+6Ci/VgO2Bl0cuaNluw54CNHjkQ8biR+ThooiKTzbpwYLiRzBkJTd6v7ZZZc3S+D6gzcSIsa0br3SvFLC6cPq+EqJ7cLxqJiFosnuSX5YOdbohu3Q3kx2pYZJUUfMF/jQCSDBK15KQSABEIof4uak1OWiA46Kh6p8PwWeSoAJ4NzcNyj63GaGhphz8eGnCK1iF0QqjDBDqfASwlBX3esTew4yOYw+s0AJEH4iCVmJTDQp6fYggRVS8Rz72LkN4Q05Vse1AuNE3sZjrmWkbWK5hX+rng6JrEUMvWy9La7eRG1wcPeaEL/ct5kNsvlAo6FDS6RwCrY41E2Wl+aT0x6UJgSfyuTUkgZM6MY/BtvRFxdWFFsWdIRdmEYO6iZmyuSNUfnQShMD4pyVSB0rTEnFbZ3FMWQkoa1J8lzTe1J5vzwRMd6K6mA831pr9ibAjcB4qnbCVmHnystpEfmoGMqVtz4e9rFyEzagX0mFgvKDggnH8dhL7vE1Cw+r41FfFpkR6wFeD+grBOWzFalV6XXruAAFAFaDfZDR7vS//TcebgmY6zFApKJn8gDtkJ3zKBRi1eAyoW3apzfbJFYVJk/rhCki35MHgv20b7AlLcaUG3GOx6FoTo7CE8VMnbhRkVuGSXUQV6b8+66Yci3DZBtQ5Q=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(136003)(39860400002)(346002)(376002)(451199015)(6486002)(86362001)(38100700002)(41300700001)(31696002)(2906002)(6916009)(5660300002)(6512007)(6506007)(53546011)(4326008)(26005)(186003)(66476007)(2616005)(316002)(478600001)(66946007)(66556008)(8936002)(8676002)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R2ljQ1FGbmNYRm1NQVFxQzZDWmV4ck9GQkNWRzNZNzcxZkYxS3hEK3NmVWdQ?=
 =?utf-8?B?cFAyT1FONkZ5VkZCR1pIMlIrUHlhSi82UDFySFFhUVVpanJib1UrU3R2bXhp?=
 =?utf-8?B?blh2Z2plR2xxWEJhZWdIOG0xWGRJUTdrSDQwYXVkUCtzY3NTclI0YUUxWXhY?=
 =?utf-8?B?RXE4OTcvN2oxYnhmWlZBV2Y5Q2VpQ2xmM3J4S0NYSmFTYUFIQmhZUldWU0Uv?=
 =?utf-8?B?ZWVTNEM0WlowbmIzWExldnIwRFNGcHhtS1FtRVlvR05IRnQxdjFRQzArQk0w?=
 =?utf-8?B?S2pNK0RhVjFvcDNoRFhPNjJwZkUwM3krZVJrZ3BTVlk1Q0M3Z0lLN2dCVUxT?=
 =?utf-8?B?cCtDeitzMnFpQUhhbkpLWHREdytGdnVaZW1KQ0cvclNkbHN2MmpaSE9HL28r?=
 =?utf-8?B?VFI0Skl6WUVLc3ZINHpYRkF0cDhxSHJRaDFQRW1vc05ReDFsOXVFaU1zVEtn?=
 =?utf-8?B?czIybUQ3Tm9QOGdwNjN3UkpwRkxlTlYrekZoN1RaZ0hrWkRERXYwU0JDcENR?=
 =?utf-8?B?Q0hLd2ZyZjBEdllkR2c2YnkzcmZzQkFmYTlJVlhVRHkzb0lTcU1aaUJnN3dz?=
 =?utf-8?B?SkloS2dZSlQ5eGRlc2ZjdkVTek5VckR1M1pnWEsxeDFOb1YxdW55UlZPeUpH?=
 =?utf-8?B?bjgwU0JseXIwS054aWFFVjdDMHdTNHl1U1FGTUIyT0VqbTdFbUFkcENKVmtB?=
 =?utf-8?B?TlBkU2NYVGJxZGs2UVdRZzRiNG44ekNVa2NWYkpYVHdZY2hhY3hnMDBTUEtC?=
 =?utf-8?B?WVZGcWFORUpOVjNxLysvY09zU3p1Z00vVmF2V1pKd2hPc0c4YTNGdWxSUmtT?=
 =?utf-8?B?c0pkYlk0c0s2cUJMUWcybitrK1FRYVVRVFVReTR2dTFsdFhhRHdmUjFFY0VT?=
 =?utf-8?B?eERPUFV2c01KMUlQUGZhT2p1UzZRdFFycHBxTEloSkhRNVBwbDM1NTlmcjZG?=
 =?utf-8?B?L3IzbC9vb0dpem9hRjVKaHRVYW5mUW9MbWVCVWw1bnlhY1hYaUg0emdYRXI3?=
 =?utf-8?B?THNENWsvbnJ5ZmpXbWpXMTZoay9uWlp5bzJBeDVaRUwrN0l0L01XTW9pMk90?=
 =?utf-8?B?YnFOaVBIQVhYTGlvcnhRWjVINGowWk9DeWNuVW90aitqbnY3UU5FRGhoVk1X?=
 =?utf-8?B?dzNlRTJQaFFyVGtSb3R2TU9qQytTMlNDYnNoK1BBYVZyZmhRMnlveGJ0a1li?=
 =?utf-8?B?ZURCMnNUcHpUdXdHaU5hWXRGaWxUTlVaL0Z1aGtQN2NObU5FWUlNYS9ZNjE4?=
 =?utf-8?B?MGJFVnMvalVGNmkwYWplcStXOW5JTjNDVEEySVhER2FkM0Irc3gzc2dacHBz?=
 =?utf-8?B?VUpHTzdiamRkeXlCWTU1MEZwampJZkRMTlpOMjV1d1NoeGpRR29hNlZLaExM?=
 =?utf-8?B?MG1GbWJsUWxUY2U4emFGTkdyTUdhRGFCbnBsWXVtU3I3NGk5VXFFTEVrOEdz?=
 =?utf-8?B?OSttQzZHKzRhMGxVT3dLN1FseGt1dEpnRFF6NGE5LzdIWWh0OTZxZDduc0pa?=
 =?utf-8?B?TERlRnFPZVg4eHE4aENzSnZ1TlduT3VKR1BKU3dpT3NOcEpCVFZFeXloSldN?=
 =?utf-8?B?TTVoWktGcnRFbEtRTjVlQ2Y0N3pyV3pTUFlBZzM2OElMelhqbGhWUWxwdlhl?=
 =?utf-8?B?dTJ4enlYY3laeVFKVFNXbzhzZnJmcWdoazhGeGJqM3RySGtFUS94QzJ1S1V6?=
 =?utf-8?B?VC9wbXBTSmpXK2ZWZGZKbmtqQm45ckVtU25oRm1KdWtubmxiL3FwWU9LMzFx?=
 =?utf-8?B?SFA4d3NJbGpiSWFDaVI4MjNOUE9YMkJHcVp6ZllDTmlySFVKZmhQNm9mc21P?=
 =?utf-8?B?LzZwSXVpclRvb0diRkZQYVBTQlBxZWhDbXpDRk1SL1UwMEJ0SjY2MjFtTWor?=
 =?utf-8?B?UDU4Z09XUG53dk94WUR3cktVTmNKNmt5bHZlV3V6SGV0VFdnQmNOTGZGc1p0?=
 =?utf-8?B?MXpQK3dYSlFCSndVNmZReUFldWFuRFdkRjNDaVNGSDZvZWRqWTF3NjVQUEUr?=
 =?utf-8?B?ZjA5a1NMN2tMSkNXZ0hndk5ySWdaZlNNc2RFVmZ2UGtERWg4R3U5bElEenor?=
 =?utf-8?B?MS9kcjZlMEtPZU12Kyt6N00rWGwxVnMwWFl0NUlVUVQrWkcyQ1F0bklvNExs?=
 =?utf-8?Q?afyygIo0mk1qGclZajOavcBZ1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d860e74b-a950-47fe-5d55-08dad83e22ee
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 10:31:01.3527
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: On2zrNAX0q4qfr383Rb0ktYd+r/a4DJ87sjESLq2LQj5cPaHrJJt0eqimOVXy8xlzfM11uIL0cpo/X+q0eKHPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7500

(Cc to xen-devel@ re-added; I don't see why it was dropped)

On 07.12.2022 11:25, Per Bilse (3P) wrote:
> On 07/12/2022 09:05, Jan Beulich wrote:
>> On 06.12.2022 18:52, Per Bilse wrote:
>>> +        if ( !s->enabled || (buffered &&
>>> +                    s->bufioreq_handling == HVM_IOREQSRV_BUFIOREQ_OFF) )
>>
>> Nit: Bad indentation. Since inserting the missing blanks would make
>> the line too long, the expression wants re-wrapping. Can certainly
>> be done while committing.
> 
> Thanks for the feedback, but what should the indentation be (and where 
> would I find the information)?  I checked the coding style and it simply 
> says "Long line should be split at sensible places and the trailing 
> portions indented."

You'll find ample examples throughout the tree. Indentation of pieces
of expressions should be such that related pieces align. Hence in the
case here it could be

        if ( !s->enabled || (buffered &&
                             s->bufioreq_handling == HVM_IOREQSRV_BUFIOREQ_OFF) )

but since that's too long a line it'll want to be e.g.

        if ( !s->enabled ||
             (buffered && s->bufioreq_handling == HVM_IOREQSRV_BUFIOREQ_OFF) )

or

        if ( !s->enabled ||
             (buffered &&
              s->bufioreq_handling == HVM_IOREQSRV_BUFIOREQ_OFF) )

(of which I prefer the former, and that's what I'll convert to if I
end up committing this change).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 10:35:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 10:35:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456178.713912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rlS-0000rt-Va; Wed, 07 Dec 2022 10:34:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456178.713912; Wed, 07 Dec 2022 10:34:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rlS-0000rm-SV; Wed, 07 Dec 2022 10:34:58 +0000
Received: by outflank-mailman (input) for mailman id 456178;
 Wed, 07 Dec 2022 10:34:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2rlS-0000rg-3k
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 10:34:58 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cb250dc9-761a-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 11:34:57 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7500.eurprd04.prod.outlook.com (2603:10a6:10:1f4::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 7 Dec
 2022 10:34:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 10:34:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb250dc9-761a-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dTt76jCvPt8/rkOgHytOGdIgp3k4sd16EZDqPxAjS7wVfqxDpF+NWJYwVXgYi0ppJGuWQetfvV90Fbiamcx14GZ8KaeIk3q3TBOObRcP3Vba57WJiVXGKqRYv/3Kf2X5corXeeKQRjZ0mfaA72nyVl6jRBPssb3NVI4JUG1zsmbLt4zMwCeYxnTjW2ANTvRyYULm2GuSVN8+OpUUUU8Xaiky7X8QiQqgoIB7wROJO9Y8L3kYA2hVj23789t7pADUKi1dEAElUyD3BDJ2z+wlPBWsD3MOOC7LqN3JtQVegnfW4S8yVY3DrBwx6gfCBKTzrFHwMdlviSaRg5uqWbHTfA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EViIsttzuBz87+5roiA9RndG9rc2ZEUOwOwQxck2v0s=;
 b=CE6xyWIxD70YGv6LBSdhSj1zoSt3iC1ctUkfdqNpY4UuSYdJas72OI7OWpjCqlvgwOEt7CHTeKZ0luzqjgO/8dI4U7thHOujzLhaWlIixtG4/xP4uxWjt7HBdHllALzV72S2dZgD53FOXPmhBLddGtS/EDfXP5nU21ecQpnmzn9zaG8mHvIOKy0isBm78xM/0CvB8IeIcM+ZcJ3NCtryJRingLjSC1Z9peyENAG5tkAlRpBovm+Rf+fUNtPukvN0kIPjcMPt1FIeiZDVPzdX9wAuoN6WnWc9jTwlTQYKht8vS9SVXF42uB7LnOwr/TGI7E0Tct6RKrEvbOoyyjbTRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EViIsttzuBz87+5roiA9RndG9rc2ZEUOwOwQxck2v0s=;
 b=hyyECrp/VGcgHCKr5BkMN1evIFC6uy/Afv/WbNvx7lorjEQOKU1oj5/Obfzzth641ya5B/M8ooI6kJi9vYnSR3qRydX04T1XOn+5qPNnt9h4aIWYIKnzY3yB0rQ02JJQlztjUISIGWa19oaTAdGSh0LzBnnGRUJh91tEkKHR8bRM0rtPvbaRZ61/gvSLGnvdHR/sMSyvwCAt2qQQnr02lSls7bYelTHAAP/uqDZbhY8qWc4SVZpIEP17w0RaDALase7upOTEZ5oqVGYEhNfifZqjyr8xYZXMExQ1+Zs8iqirxNaEiEFbByerbCoaUp5J6YvvrOPf3yyc9BAH7Ktcmw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9d85524d-5c97-e216-4d78-2e5ec02fe321@suse.com>
Date: Wed, 7 Dec 2022 11:34:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] x86/platform: Protect XENPF_get_dom0_console if
 CONFIG_VIDEO not set
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20221207102909.17794-1-michal.orzel@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221207102909.17794-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0138.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7500:EE_
X-MS-Office365-Filtering-Correlation-Id: a87f4bde-5c04-4433-09e3-08dad83eae87
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	41YTbUzX3VVgNnTn+V+Z3TL18sf7Ly3LDXawQIb1u9vnsrQ997lN/OVifbMwP6F831+ryKa4RuCUW9vL+ROlyZ90aVBCATHSUUpo9fgujsO4UfFyGWmpMMkN/WyZzHFlsFai7+DEvMPG6CjODlyhAUcdPsEPf+Lz0BFDALXm6eZ0pi+4GIb+JPOOlSM3/vUwziAHuYcXLFhxO4ggC1I1QJxxUqFPqqmtuimpOjgL46KlMc5daz30Bb55Le2HNvhopYTQrCpSNEHS2O8AA67ppl326F/ff6uIC0A1non+SN3/6xDQqWFczQiUaUwlD3RzESsdmm3G+ngz2uRFofbolOkU13b2flpQJhGXC/3cmjuaOzgDuR2QjpxOupVfbFTo2ai6ERUHfYHezgK83zJgECR7bpy06WOSNPg2VGhQ5yMgREH4xM8YWsoNq4lL2KB7ERGH/lJ4WRpVEyx1ajypP38SW1fUsJ3Fh+/qNpoJ+VYitN3GGJ7AAaLUBcLXedZaPEZ5jVo2xpsxpaqJKX+0i4zdAEPMpcUJlSfuX9KEsN45nRWMtOEglLPX+Tm0rvVhWOQ16QQl+gsEB6sltxNNGqJj24dmhnfc+sYDJoc11DT7Porp2WX/cErzLTdR3vp3JZQK5OuYnOHQ+gE7IpTd+hbJ8fxJRW9YvGI/7Kqe37J0Ewa3LXxDWr6Wb9ahUUtGQKDqoJdTnMOi8I+qhY30pzrgnNar3iKmqrAjCeUWHsg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(136003)(39860400002)(346002)(376002)(451199015)(6486002)(86362001)(38100700002)(41300700001)(31696002)(2906002)(4744005)(83380400001)(6916009)(5660300002)(6512007)(6506007)(53546011)(4326008)(26005)(186003)(66476007)(54906003)(2616005)(316002)(478600001)(66946007)(66556008)(8936002)(8676002)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Nk12ekJsSEk2cnI4VXVEYmtsa1lkVVR4ZG5TQ3Q0RjlPZ3RpdVduQXBIN2w4?=
 =?utf-8?B?cnNTRDBLa1pJOGJsZEhBdE9Wd05UTjQ1TFAzMlFjMDhGWXRKVEZCSzc3cGNP?=
 =?utf-8?B?cnFDOGg0WTBTdWZVYkhQaytwaE02ZkdaVXkzMk9qU3haU2tjVVZjTW1hbTQ0?=
 =?utf-8?B?MVp6enZTTzJxQ2xLZ1ZxZS85b2o5emVWWmNKV1VJdkhsbXczTUdrL3hBU1ZK?=
 =?utf-8?B?N0xLTXdkRlVIT3c3YjZRL3laWEFoK1A4WUoyUy9kTFMvSi9hcmVUMVZMNUxT?=
 =?utf-8?B?WHlIWUJmNzIyNXVSSThoc1NLODBBbFpJaHdlZ2hyYkpvNEZEOXB6eUVudm50?=
 =?utf-8?B?S3c0ekhYRWtuWlJvUXoyMnBJYzF3TFVUcjRZM1dVWkhCVkJ4OE5Nd3VJRVpN?=
 =?utf-8?B?YWJQeEpDKzF3RkRIaGVERUd1V0VoOFh2WHRLZTI2RGlFRG0vQlhaYk1HKzgv?=
 =?utf-8?B?RW55M0U0dm54bzNXeUUxNFRTM3pGMTFXTlh2OUNSYTA3dzBtbWFJRzlMNHlM?=
 =?utf-8?B?TmtkKzVML1VPY0hLQUhRTSt6eEZtd29vcCtYdlVQKzNlRTlEdmozdFRHSk5m?=
 =?utf-8?B?NWNkS2F6d3ljRk1INVpLWXlPbEIzWXNadk1EMWg3c2ZNTi9wK3JHQnZWcDI4?=
 =?utf-8?B?R0lwdXU1cU9EQTdvMmNxMVJ5WC91Y0hPTVZ0YkVGZk02Tk1yZFpjRHFIRmx6?=
 =?utf-8?B?V2Z4QU9vbU5GZnN3cnA5TUxTT1cyV0JmNTd0QXhVN1l4MTFuemlYUWNXWm5L?=
 =?utf-8?B?NkFBajZWZUhaR2ljSThUaXNTbDhnanVnQWdPZWR0NVRGNllWQVRYYnEyY256?=
 =?utf-8?B?MjBkaVFIVlBNVDlBWmhhcGFTaFJVcG95UjdqcjJKUmN6WG9IbU9HajBiTTRu?=
 =?utf-8?B?Zno1blNWT044MmJTZlpudEgxV05aLzNxUWFGY2xBUm5HWE0vM1Mzc1lkcmYz?=
 =?utf-8?B?blJacmNtellpdGVvZVlmWHFWMXhxY0xXNk1vSkY5Z1U5L00ydWdWVmk5RitU?=
 =?utf-8?B?ZUx3N1VqZzRmVjZXZTZYMjBiMGFVd0g3UmlmbWJXQWliOEE5dEFydzVhaTdx?=
 =?utf-8?B?aWJqVWhkVVJjY3AyaGtsNWhCUjc3Rk80RVdlNW5MaXBxTFRobkVIazJzWEZs?=
 =?utf-8?B?VjNjRGUxT1ZUbmhtMDI0ME9nYlhvZElENmZOdUtzMm9qRWo3T3NBMk4wQmZH?=
 =?utf-8?B?Tk5ybGdUL2N0K2QyM05URnhobGd6a3hMNzF2MkdWYjJ3T2VibUVPakJjaXBK?=
 =?utf-8?B?YzlUR3REWmkxbVVhWWpKNW54Ynl1OWsrbHJpdXArS3NHZkdXcHlVVXZQVWE0?=
 =?utf-8?B?My9hZXZtRXNDb1YwNmVWVy9lN3p6a2pmL2pwNkw0YzNCMnFIQVFUOURSdklZ?=
 =?utf-8?B?NTlka3FNL1pUck1waWttZEZ4YldYL0x3R3VVWUU0Q2IyVDAwcEJTelBTdkxn?=
 =?utf-8?B?NWJqditmNTYyN0Y1MVZmWXQ3Q1I2dEJFMVhTYTVTSkZORjFveG5VdzVFUElP?=
 =?utf-8?B?SFdIcTNKQnNmNHNmZGtkU2k3dFFwaW1RM2gzZGo5SzZCc3JEZ2dhS2diOEpx?=
 =?utf-8?B?Yk9jUXRJZmE1TzlDVUF5SWdzZU90TnRpOERhVnkyRGg1WFMvM1pEMTVlWVZK?=
 =?utf-8?B?NThzU3QxaWx1dElyTVQxbUFZR3ZTTFc1c2xMeG9CbG1wRmJDWGJ2RVZFVnNm?=
 =?utf-8?B?L0wwVzF0SWVLRXJ1bGtvQVJzYWx3elV4VTVOREoraVVhWEZtL2swTDFnTXhX?=
 =?utf-8?B?cVhHRENJWUI4enNxeE9MVmVCSU9FdDhwM3hWVWh4VVJEbjh0cXlGNnp5Mmhi?=
 =?utf-8?B?VEtPS0pDSDNxWXM4Q2JoYTU4cGxKem51U3R4QmczenhqWG4vaHNOTkFKeW42?=
 =?utf-8?B?UlEycEZjTTFRWVJQWE1XTUM5anlUUXRsY2FEUUhZMS9Oa1JpcHNkUVlCVnRC?=
 =?utf-8?B?cDVQeVRTbDlVVW5qVFg0ZGZMQmZrL09BTHpzU3F4Nmdmb2ZKRTQ3dWwwRUdt?=
 =?utf-8?B?YUFQMC9MNkgzaWNWZmlGbFh6M0NOL1R1ZCtibEpoZVVMT0liUE1kQzkzV0ZF?=
 =?utf-8?B?VHFGczdsSVpqZmdvL0o3ZVBOeXorRi9JMTlNa092UzB4ZytzaHQ5eS9keUpL?=
 =?utf-8?Q?YiK2mXXz9QiquDbGpCDwQt099?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a87f4bde-5c04-4433-09e3-08dad83eae87
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 10:34:55.5566
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mWBG6dUNy/MV37N89+wXA/v6+TrrJyt92pkMaj4jyzM+zeXqrTbeHQ6cypvdmjG8rN01HER8i0paC5RS5YqG4A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7500

On 07.12.2022 11:29, Michal Orzel wrote:
> A build failure [1] is observed if CONFIG_VGA (and thus CONFIG_VIDEO) is
> not set. This is because XENPF_get_dom0_console cmd of platform hypercall
> makes a call to fill_console_start_info, which is defined in video/vga.c
> and built only if CONFIG_VGA is set.

Which means to use ...

> --- a/xen/arch/x86/platform_hypercall.c
> +++ b/xen/arch/x86/platform_hypercall.c
> @@ -839,6 +839,7 @@ ret_t do_platform_op(
>      }
>      break;
>  
> +#ifdef CONFIG_VIDEO

... CONFIG_VGA here, unless fill_console_start_info() was moved to a file
that's built dependent upon CONFIG_VIDEO.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 10:38:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 10:38:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456185.713923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rot-0001UI-EY; Wed, 07 Dec 2022 10:38:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456185.713923; Wed, 07 Dec 2022 10:38:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2rot-0001UB-Bf; Wed, 07 Dec 2022 10:38:31 +0000
Received: by outflank-mailman (input) for mailman id 456185;
 Wed, 07 Dec 2022 10:38:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9USZ=4F=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p2ros-0001Tz-1N
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 10:38:30 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20601.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 48f07253-761b-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 11:38:28 +0100 (CET)
Received: from MW4PR03CA0129.namprd03.prod.outlook.com (2603:10b6:303:8c::14)
 by DM6PR12MB4974.namprd12.prod.outlook.com (2603:10b6:5:1bb::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 10:38:25 +0000
Received: from CO1NAM11FT106.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:8c:cafe::9b) by MW4PR03CA0129.outlook.office365.com
 (2603:10b6:303:8c::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 10:38:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT106.mail.protection.outlook.com (10.13.175.44) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.15 via Frontend Transport; Wed, 7 Dec 2022 10:38:25 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 04:38:24 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 02:38:24 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 04:38:23 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48f07253-761b-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NQbKYhTzB/05/ytD3XJ3mXqlHrezbqHnLGAIfa9M0Rw567cU+BPkafPUX6PHhTyrgj9bBQBiHziNsA62rUY+mGe7HlH87hGoNl4LnvBCZ4RPaGoNNgz2JCg+oy6wh9AjNVzbvsZYR/lwEw8N3TLa2JsUc454Bq5f8ZMoa4Ebjs2kkemY6Pg2FR1beD7+s5dqBI69uIBMhtt0Xjyll48mQ8x9uP5bNNpT3Mo8GRDtGnn4l3F3FSObzrKR7ET/MKUZe6mFFZakQBOMlQXQ56LcMlYRLCoeSNWFI9FGsb+8ntAmkmYzGmrcFB0NvVJ6ekd9i1SZsJhPAWrobh6zbKHIug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0Tjiam8AlnfbRzfX8LFol6aNNmjXt13tDY9B19T8WZ4=;
 b=h/X8JoxBe6bXwAtEXa9E1UA2NwzOFeOpTRPeyedeM+xTjro8bmB0TAvrZu75GDu/QCLVBragogWNtVu75DyWaza6wuYJfrB+qQ8jA/5kOmpzQYIhOYX1Bh7pATVyNrvors4FGtBuvJUXYdzSxEBg3hqpehlJWOo9QlmwZzrRD1mMCANQMemsGAJkEFC5lYbMtzcjnoc69V/mO3Y8kf1vYNFhsDHbGZ5Q9fr7bs3c9fhw47SYZ3oNOfpsip30vd5xAKkBnlMTOA1KxVZqqsJ61E4v1sHNeVGUhPsHjqbYxl2eAjiztQrWOR6hCeV4yYMyJOW8zpo/us3xfcdUnDtGgA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0Tjiam8AlnfbRzfX8LFol6aNNmjXt13tDY9B19T8WZ4=;
 b=1DozcQ0TcEBCUgI25OtrFm+BLrN5rHzBokCFS4DpC8OLD0QSPZz5L48ImmsQA4CQKwUE+FOS3s5bWdREJwlYsEJB5eIFDn9pSgrAosmzcFVENPl1FiTu8x3dynJ282gkVjM5mTP94X0fFWT+zVYOhbaVY5gMWcoFfbF1pQ39ixY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <22afcad8-49c5-6e85-43db-f16bad001e37@amd.com>
Date: Wed, 7 Dec 2022 11:38:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] x86/platform: Protect XENPF_get_dom0_console if
 CONFIG_VIDEO not set
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, <xen-devel@lists.xenproject.org>
References: <20221207102909.17794-1-michal.orzel@amd.com>
 <9d85524d-5c97-e216-4d78-2e5ec02fe321@suse.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <9d85524d-5c97-e216-4d78-2e5ec02fe321@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT106:EE_|DM6PR12MB4974:EE_
X-MS-Office365-Filtering-Correlation-Id: 77c70e5c-8cf8-4b75-b772-08dad83f2bb8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tKV+TJfjmHQ+U4/dBrLoRuTCHqWnK5CW0XljS9nH4YOfEUKo0U9mzIgCTqrYSze2YFK0/Qh8cUuoV8qpLhBuq/6LcATVQxBOdrf+bOKBLg9sDVgxi+Jp9+jJgpz15rm+nOZ+VIItLSLYiz9NP6y7uyQXiZ4IAtc7IIdvnRFt35mFZvMl0Ti4kI4vRUM5FQni/euYTulAMSwRIkZ5SUuPtWcDXI3W6usTEFXsxBIltmStxr1falBjMacWIDLinVHEaParU6wGNoqxV/IjOtrgk43R+L92i+8wTfF1Zhjrplul2kgzveZVT9cilI0JsobhQW8SgBed580UcFmejMFNjd3/pUV+4HdoKehAQsqSqcRTXQz0MVLqXcF6O/B6/S0z0g2HkWby/KdIF9N9E8NAbIawoRx4JAytGxX95S1M1Tn/8rA5tvPr8i4Gi5KGM4r0gIRbHuEy4YYxlLd5PQ9pTRVw/utsC3noQnftc7laLvUWOtgKvpbzzwS8ae7M4xb27Q2GvhJp3UPF3Ll2BPiT76zpumxfSmVarvVkRv/sxrUMuURWVal6KI9xhWDrBxVS/T3Bzs2At8CaeGcTe0d3JiIfwxCtGOClHxpCCCNro8zUTRXmIxIS3+T7q4dryBYidWwvmYxUXQT11JQ4KbQax+P3hSZS6CmqGDDdnQ5LFMqfvTNVM2NmAOWI22WzIVGmLj4TX3UZE0iBX8jqx/3QFyZZ3fXDc8klZlDPIt1IqIeMCgZeIhg8NnBcOi2/cyFfLA9S4xb0rV8WZuAy8pOAkg==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199015)(36840700001)(46966006)(40470700004)(2906002)(478600001)(41300700001)(8676002)(70206006)(8936002)(4326008)(426003)(81166007)(82740400003)(5660300002)(83380400001)(47076005)(4744005)(6916009)(54906003)(86362001)(31696002)(316002)(16576012)(36756003)(44832011)(53546011)(82310400005)(40460700003)(31686004)(2616005)(70586007)(40480700001)(336012)(186003)(26005)(356005)(36860700001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 10:38:25.2849
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 77c70e5c-8cf8-4b75-b772-08dad83f2bb8
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT106.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4974

Hi Jan,

On 07/12/2022 11:34, Jan Beulich wrote:
> 
> 
> On 07.12.2022 11:29, Michal Orzel wrote:
>> A build failure [1] is observed if CONFIG_VGA (and thus CONFIG_VIDEO) is
>> not set. This is because XENPF_get_dom0_console cmd of platform hypercall
>> makes a call to fill_console_start_info, which is defined in video/vga.c
>> and built only if CONFIG_VGA is set.
> 
> Which means to use ...
> 
>> --- a/xen/arch/x86/platform_hypercall.c
>> +++ b/xen/arch/x86/platform_hypercall.c
>> @@ -839,6 +839,7 @@ ret_t do_platform_op(
>>      }
>>      break;
>>
>> +#ifdef CONFIG_VIDEO
> 
> ... CONFIG_VGA here, unless fill_console_start_info() was moved to a file
> that's built dependent upon CONFIG_VIDEO.
The one and only reason of using CONFIG_VIDEO and not CONFIG_VGA is that all the
calls in existing codebase to fill_console_start_info are protected by CONFIG_VIDEO
and not CONFIG_VGA. That is why I choose to stick to the current behavior.

> 
> Jan

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 11:07:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 11:07:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456196.713934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2sH8-0006D7-MB; Wed, 07 Dec 2022 11:07:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456196.713934; Wed, 07 Dec 2022 11:07:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2sH8-0006D0-JT; Wed, 07 Dec 2022 11:07:42 +0000
Received: by outflank-mailman (input) for mailman id 456196;
 Wed, 07 Dec 2022 11:07:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2sH7-0006Cu-3q
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 11:07:41 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0621.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ccc24e2-761f-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 12:07:39 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7553.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 7 Dec
 2022 11:07:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 11:07:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ccc24e2-761f-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J0noXjTTa81yLokuEEAVSbMLVwBlRw4GnRbsTUsqAuDGmsEUsotfJRPzyIzbPdxjkVIjiiQap9EPpWRCpo371otqOGoXve1hPxcwxSINjdYWFxa7JKwjuIrg/mYtVtVUAZve/Mmv/HzOotrBH09VbNsxF3pzWKcNcqnueJfXRYcl/MYG4EJdqNsVirPn1f0+xGQ7mu9aCfS/2eM7dFU/PS994kQpUuFPiH6Hlz1Qb6e+7JaB4iVyS40t0zNHXCyezIn7cXC40CyCfYPKi9w4JhupFJEdh3MgGkJ6ebY7rVYku4eNO8o6aQHIpRfN2WTM04cWZH6wFay9jX8VtxfsUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W4jagkVD4BsT45UU0L9uMOR4TH1D+wYI5al6Tj+wLFY=;
 b=I9ocOInDlQIl/nRJJ5TqbLho5Gqh692c+vggLKQFdB63UecvaKi3x2QvsOHyPjVliBovhG03i4kzimmr1Q5A3sa4EbHscVC9Yng7NamP3UJtJFx7SWGz4LoCEarITnKEZg+bB7kk1IZck6T1fa2+SVjCxYLv4THL2Brw5hWm+aTsQSXtRgy+v+DPQmHMNl7y+w+dXCkH7GonRddl/XOUbigAsG9dlhUdST61hz8/SkPqprNcpX15w8XqRBwq5JH+W5lLFQtXovL/jyOf9keindoYXKhMOdnj2V3endi0ZfteEkZvZRdIeWkNsRbZFC3oCtKjzexhox+U0d552xEFVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=W4jagkVD4BsT45UU0L9uMOR4TH1D+wYI5al6Tj+wLFY=;
 b=zuwE5tNoSzyIg+23MoI0xIu7U5QXpFATW0uTnHyFi30GIBePMiZ5VT+LXfDjpKwBz7XfUJFz6iJ0Td0WF+astFg+EcO/YCaatcFSG+cD5dlq75cIZTuglEliZZVkyay4MAwNh4QHTveHkVy4OBOOZgax6ebyexgpnpmBkEAIHxaF/b7q2JhcfBIEjBXGYIgnSfoTc96Yk4hKE+d+qw0wf+AdHCJRRiQrVtwFCsnoGoix88nHT5Ecn7cCfOumN/h0JCxT/T94Lx04t/amP0nK7b7BQWmOQlBfCTn+9uThqVz3GEue133n+bOEr/8hRT3eBMw6PWE8lx7xxTuc72mtLQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1e227c1e-56d1-6715-cff4-33b99df3e212@suse.com>
Date: Wed, 7 Dec 2022 12:07:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] x86/platform: Protect XENPF_get_dom0_console if
 CONFIG_VIDEO not set
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20221207102909.17794-1-michal.orzel@amd.com>
 <9d85524d-5c97-e216-4d78-2e5ec02fe321@suse.com>
 <22afcad8-49c5-6e85-43db-f16bad001e37@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <22afcad8-49c5-6e85-43db-f16bad001e37@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0098.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7553:EE_
X-MS-Office365-Filtering-Correlation-Id: 887cfd3e-b087-448d-4661-08dad8433fea
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e8yeNGwqut7nPQj2CqZAvbFOH1T0twRkvKbk5IeLgZrZSx/8vXo2QwPpQLWHdD/4pYOOXrG9l0XIq3o9ee21hwCihSnOSlJc9eJvKQAm47DPMBBUo/5XgINYoPripETFeSav48ZnaljmuOaI6jafDsSNn3iJdcySAqdZDkdUnF1bJ8PPX6EobhZTZFNJe4zImH4dEhmMl7/Jv6uMh4m1IiDKwMUJ7LvOEGGfy3YmN59HWVrqcwtz9dFw/rb3wAc4WxiCIuUDm5z5rs4qjwnHx73aRL7I7Yy7FyHVlXRSpsB1dZ3ER53N0e7Pume5NmvN49f/+1BJvitwgaYnqs7U2kWqvLm8EmjwAgpB2DBI+qb2cASq5HjlREkq771g6Xlz7jWFpeoEsEw6n+D3/l2eE7kd66dcMCGI1E4XvFvXJNjWDwVDLh8L3HRxZART89RBQCBSzAD37S8IRfvuRsxzkqBZwDPzDFaoAakxO7ems+RddVt37q4LAF9iTY5MoEdBVcv3ys1DiNiu9wB9CVxKWSAloz0/IeCGdsyzGywooc/OO3HRSDd1L3kJSmmYS5R5j5h7NbAm+xQmM/3lJldPA3EQuQNPoE41XCm1t1jWoeIP5/DDZ30R3Uw8DEznwEBDlLSzL+ZwHwvef/tLvjn6YE94BuSKlz7f+Ybiffd+tShhGdPjncZaUJqkprzfJzXS4fPBYe3XHZoymuoDIThFHsHIXPpzULgocmJyRh55DSU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(376002)(136003)(346002)(39860400002)(451199015)(41300700001)(83380400001)(31696002)(86362001)(186003)(26005)(6512007)(6506007)(53546011)(36756003)(8936002)(316002)(38100700002)(2906002)(6486002)(478600001)(4326008)(8676002)(2616005)(31686004)(6916009)(5660300002)(54906003)(66556008)(66946007)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RWp4Nm1kcVZ0VWtyTWNPd3FJN3liUlZTU0M5Z3V1QWxKbGRGaWtaRG5CSCtC?=
 =?utf-8?B?WG1MVTVLc2NzL2UrenNaMFdCWDkvSjF6aDBwMWhHcVorMnZQOCtJbmhlZ2xD?=
 =?utf-8?B?K2JPU1pDZ3lCRVBnb3VBQWZiWTJBbmNGWU9vd0ZoR1ViZGgzU1VFVk9Ic1A0?=
 =?utf-8?B?Unh3TzlxV21DOWtpL0ZueXQ0eW40VDlicXlhUHVUbzJQUWJmNTNCcmwrQS8z?=
 =?utf-8?B?ejVUT1FkTC8zdlBBWnZNeXUvendOOXFPK1g4bEhLcVZBOGU0bXJFSDZiVzVj?=
 =?utf-8?B?c01wL3ZsdFl4NUN5VGYwY25RNHUvaHNNT2UzMXhLUm80WlRCcWRSdkZEcnl4?=
 =?utf-8?B?WWtTOXhubkxyWkdCSTZKQWNRTGNJZklTQll1T2lXM2JZb0NXK3RHMjhjcmJB?=
 =?utf-8?B?dnJYYTBaRE13eUVaMm5jUWgxNmVCYXpaZS94UFBaa3lOclB1Uk82NEl3RHRi?=
 =?utf-8?B?TWVhUFJiYm55dzJaV0FqRHFkcjNQUzVxTC9KaEFFWnVPNlRGR0pwdHR4aFdp?=
 =?utf-8?B?WHpERGFoWGNza3dwTXFGUkVXRHZsNGtZVWtWMTRPWDBKVUk1RVVRS2JiclBK?=
 =?utf-8?B?UlRFVDZmOWhmRXhWVGU5N00xRytoK2ZpdmcvVlRLRFVJeVZPeUUzU1E3ekFk?=
 =?utf-8?B?UUNFS2xrTUgwN01SaElJZ3pKU3g2SStSWDY1QWVNbXUwWVZQdGpmTzB2elAv?=
 =?utf-8?B?R1BJTlRNRE1yeFJuZndxNmpnZzE5cTlmdWo5M1JoWEJaZUcwU3RmTjhoaDN3?=
 =?utf-8?B?Y2k1RlZPZW1nQVI0Z3VyWHU1MXRpSmxvMk5GOUhnc3JJaTFrVmJaR2ViM2Zy?=
 =?utf-8?B?RzJqUkJ5WThySUpxeWJudFRsRDI4MTlTRlhraDBRWjR3SmVwWVJJYUMyeng4?=
 =?utf-8?B?M01lQytvUVNjVHplU1hLYzRXdXBpT3hnREFHcDRQdVF3aTYycysvQjVQWXF5?=
 =?utf-8?B?cXBBbU9GQ3hxdUNGd0NBRFlVV0hSQ1V6TlJ0b1hveUJITVlCOG9NSWdOeDJo?=
 =?utf-8?B?K1JUdm1LZE9vQ2p4dzM1bHMxM3RueXA1ZUpSK2tvVDRmb0NYWjM4aUZoWXNJ?=
 =?utf-8?B?ZHVBajVCYndEc0J4ZkUrSnhzK3M5cVBpWkdmUHhNdUZNT05ZQmlINEhzRE91?=
 =?utf-8?B?MzhPMEdvUTRxOVUvQ2dUYjBJY01oaXJ1TmhCcENxRWdwMkxHT1VocVRNbWRS?=
 =?utf-8?B?T05CSDdLdlFVMjdyaFBoV3lVWVpWQVlGeENBdGRsNGZZcHFaUFJHdWtVeUtz?=
 =?utf-8?B?S0VYQ0RoYlZXdFliK3N1b3BTL0VXRWxhM2xqSTE3dlpFV2pVUnlwRlBLREda?=
 =?utf-8?B?bXg0bmFSdkFiaVRmMWJWMWtxY3V3UDRxQ1VCcEk2RSs4TXZDRjAwUGxTT09h?=
 =?utf-8?B?OGIxWlV1dUJZWkwyWUVSa3ZyZHIyWHpSMjJUNzVBTk95SEdvQWdxS0hZUjRm?=
 =?utf-8?B?ZFg3QlBkbHhibmFEdkFRSmIzeXNyc29zQ2tROTBMTlorR1JSSCtuSjkvem5C?=
 =?utf-8?B?c1lNY0o3TUtBV2k1aVhPSXM3NnlHME1JUmtNZkFUODdDaXF2cS90K3hrK3g4?=
 =?utf-8?B?aWxJSDlPR2xYMzRaaDlXZ3loemthMVlvZTN5OXRzOFpBV1FvOVpCQjZaK0VO?=
 =?utf-8?B?a0hHVnp6S0ZmR1JUTnpSNlByK3NsRHpKSU1FVXNMajlIMDZ5bk1DT0hYY1N5?=
 =?utf-8?B?SXJPZURteFVveTcvUllNWjhKTmJJRlRDUFlTc0FDZmNIVTd0VmhwYldNOXYy?=
 =?utf-8?B?THU0MHUweTJCTmdwQ3VVNTFGK1ZrdGY2ZUZ5bURlN3M5bkoxRFltRkw2THdH?=
 =?utf-8?B?TFZCMG95U1ZycElPWWQ4emo1Ui9SbW5Ea3ZDSElsMWZRV0kwcjV1RDBHdVNK?=
 =?utf-8?B?UFpOdGZOaHBTL0grcUFyNGxiRGdSTXFJenU5amI4dVRQbHhCRjFYeExSS2Nl?=
 =?utf-8?B?SzlIcGlnN0JTb2N4ZEZrNTNiLzRXUFhDaGJOMWpVajVJY2NpaXpHVGxvdkJI?=
 =?utf-8?B?UFVPNEJNQ3c5b0IwWk5OVHpwYzVEcUkvWitsQnQraUdnczV0NmZYSS9ZV2dR?=
 =?utf-8?B?Q1ZDN0M0M0RmaUpIT2dSVDllRlpkTGwyWmc3TjBiL29HWkFqT1B4VkwzWUNW?=
 =?utf-8?Q?AjbErvJhQApe1YTiv1L3FCUVP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 887cfd3e-b087-448d-4661-08dad8433fea
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 11:07:37.5260
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EgMRhf7wOpXwCA+juoNoaKTrZtu9E42X0NrRYf6ec2znGFoMOx/joByKtxpjx/T3/c6WQN7HOIZxwz/u76dMcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7553

On 07.12.2022 11:38, Michal Orzel wrote:
> Hi Jan,
> 
> On 07/12/2022 11:34, Jan Beulich wrote:
>>
>>
>> On 07.12.2022 11:29, Michal Orzel wrote:
>>> A build failure [1] is observed if CONFIG_VGA (and thus CONFIG_VIDEO) is
>>> not set. This is because XENPF_get_dom0_console cmd of platform hypercall
>>> makes a call to fill_console_start_info, which is defined in video/vga.c
>>> and built only if CONFIG_VGA is set.
>>
>> Which means to use ...
>>
>>> --- a/xen/arch/x86/platform_hypercall.c
>>> +++ b/xen/arch/x86/platform_hypercall.c
>>> @@ -839,6 +839,7 @@ ret_t do_platform_op(
>>>      }
>>>      break;
>>>
>>> +#ifdef CONFIG_VIDEO
>>
>> ... CONFIG_VGA here, unless fill_console_start_info() was moved to a file
>> that's built dependent upon CONFIG_VIDEO.
> The one and only reason of using CONFIG_VIDEO and not CONFIG_VGA is that all the
> calls in existing codebase to fill_console_start_info are protected by CONFIG_VIDEO
> and not CONFIG_VGA. That is why I choose to stick to the current behavior.

"All" is interesting as a statement when there's just one. But yes, I
can see that the issue is broader - 2b8a95a2961b ("xen/x86: make VGA
support selectable") didn't really get the #ifdef-s right. I guess the
change then is okay as is:
Acked-by: Jan Beulich <jbeulich@suse.com>
and we'll need to touch all of that again (or move code around) if some
2nd way of selecting VIDEO appears.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 11:29:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 11:29:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456207.713944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2scP-0001BQ-IX; Wed, 07 Dec 2022 11:29:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456207.713944; Wed, 07 Dec 2022 11:29:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2scP-0001BJ-Fz; Wed, 07 Dec 2022 11:29:41 +0000
Received: by outflank-mailman (input) for mailman id 456207;
 Wed, 07 Dec 2022 11:29:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ywWV=4F=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p2scN-0001BD-SM
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 11:29:40 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6eed8c2e-7622-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 12:29:38 +0100 (CET)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id BBF3921C89;
 Wed,  7 Dec 2022 11:29:37 +0000 (UTC)
Received: from imap1.suse-dmz.suse.de (imap1.suse-dmz.suse.de [192.168.254.73])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap1.suse-dmz.suse.de (Postfix) with ESMTPS id 6B96F136B4;
 Wed,  7 Dec 2022 11:29:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap1.suse-dmz.suse.de with ESMTPSA id l7DXGCF5kGOELQAAGKfGzw
 (envelope-from <jgross@suse.com>); Wed, 07 Dec 2022 11:29:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6eed8c2e-7622-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670412577; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=B6/MUL8+YhqEtagH9ry1Ud9uwkf4BBWke+fEs0I52tk=;
	b=npIma8zKH4E2Md4vP8d/1R/IKdIPtiWRpFxZt2oIrVFutvGkkOh/Fb55s248aQ2Z5YWhbO
	8C5nxzVmlCg5qSA5gbHvccxZm975AnSD5KfJsghz/jj324uxD5CT1Htc9HQOvafkxm2Fdh
	5dCxqxIObPXe81PVc31cAgFjkR7/KKg=
Message-ID: <681773dd-6264-63ac-a3b5-a9182b9e0cc1@suse.com>
Date: Wed, 7 Dec 2022 12:29:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 netdev@vger.kernel.org, Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20221207072349.28608-1-jgross@suse.com>
 <46128e5c-f616-38c5-0ab2-1825e72985a8@suse.com>
 <f1c89855-22d4-8605-e73e-6658aef148f9@suse.com>
 <0074a007-23a7-f2ff-0b85-47e4263c4d3f@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] xen/netback: fix build warning
In-Reply-To: <0074a007-23a7-f2ff-0b85-47e4263c4d3f@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Crfd7rMN0I0V5EpI2yrGWOsW"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Crfd7rMN0I0V5EpI2yrGWOsW
Content-Type: multipart/mixed; boundary="------------wJMfhOjf2rSnSxwjhZfb96d6";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 netdev@vger.kernel.org, Ross Lagerwall <ross.lagerwall@citrix.com>
Message-ID: <681773dd-6264-63ac-a3b5-a9182b9e0cc1@suse.com>
Subject: Re: [PATCH] xen/netback: fix build warning
References: <20221207072349.28608-1-jgross@suse.com>
 <46128e5c-f616-38c5-0ab2-1825e72985a8@suse.com>
 <f1c89855-22d4-8605-e73e-6658aef148f9@suse.com>
 <0074a007-23a7-f2ff-0b85-47e4263c4d3f@suse.com>
In-Reply-To: <0074a007-23a7-f2ff-0b85-47e4263c4d3f@suse.com>

--------------wJMfhOjf2rSnSxwjhZfb96d6
Content-Type: multipart/mixed; boundary="------------dyRWZUoS1gz9002x4H40BYgb"

--------------dyRWZUoS1gz9002x4H40BYgb
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDcuMTIuMjIgMTE6MjYsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNy4xMi4yMDIy
IDExOjE4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMDcuMTIuMjIgMTA6MjUsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDA3LjEyLjIwMjIgMDg6MjMsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IENvbW1pdCBhZDdmNDAyYWU0ZjQgKCJ4ZW4vbmV0YmFjazogRW5z
dXJlIHByb3RvY29sIGhlYWRlcnMgZG9uJ3QgZmFsbCBpbg0KPj4+PiB0aGUgbm9uLWxpbmVh
ciBhcmVhIikgaW50cm9kdWNlZCBhICh2YWxpZCkgYnVpbGQgd2FybmluZy4NCj4+Pj4NCj4+
Pj4gRml4IGl0Lg0KPj4+Pg0KPj4+PiBGaXhlczogYWQ3ZjQwMmFlNGY0ICgieGVuL25ldGJh
Y2s6IEVuc3VyZSBwcm90b2NvbCBoZWFkZXJzIGRvbid0IGZhbGwgaW4gdGhlIG5vbi1saW5l
YXIgYXJlYSIpDQo+Pj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0Bz
dXNlLmNvbT4NCj4+Pg0KPj4+IFJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+DQo+Pj4NCj4+Pj4gLS0tIGEvZHJpdmVycy9uZXQveGVuLW5ldGJhY2svbmV0
YmFjay5jDQo+Pj4+ICsrKyBiL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL25ldGJhY2suYw0K
Pj4+PiBAQCAtNTMwLDcgKzUzMCw3IEBAIHN0YXRpYyBpbnQgeGVudmlmX3R4X2NoZWNrX2dv
cChzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwNCj4+Pj4gICAgCWNvbnN0IGJvb2wgc2hh
cmVkc2xvdCA9IG5yX2ZyYWdzICYmDQo+Pj4+ICAgIAkJCQlmcmFnX2dldF9wZW5kaW5nX2lk
eCgmc2hpbmZvLT5mcmFnc1swXSkgPT0NCj4+Pj4gICAgCQkJCSAgICBjb3B5X3BlbmRpbmdf
aWR4KHNrYiwgY29weV9jb3VudChza2IpIC0gMSk7DQo+Pj4+IC0JaW50IGksIGVycjsNCj4+
Pj4gKwlpbnQgaSwgZXJyID0gMDsNCj4+Pj4gICAgDQo+Pj4+ICAgIAlmb3IgKGkgPSAwOyBp
IDwgY29weV9jb3VudChza2IpOyBpKyspIHsNCj4+Pj4gICAgCQlpbnQgbmV3ZXJyOw0KPj4+
DQo+Pj4gSSdtIGFmcmFpZCBvdGhlciBsb2dpYyAoYmVsb3cgaGVyZSkgaXMgbm93IHNsaWdo
dGx5IHdyb25nIGFzIHdlbGwsIGluDQo+Pj4gcGFydGljdWxhcg0KPj4+DQo+Pj4gCQkJCS8q
IElmIHRoZSBtYXBwaW5nIG9mIHRoZSBmaXJzdCBmcmFnIHdhcyBPSywgYnV0DQo+Pj4gCQkJ
CSAqIHRoZSBoZWFkZXIncyBjb3B5IGZhaWxlZCwgYW5kIHRoZXkgYXJlDQo+Pj4gCQkJCSAq
IHNoYXJpbmcgYSBzbG90LCBzZW5kIGFuIGVycm9yDQo+Pj4gCQkJCSAqLw0KPj4+IAkJCQlp
ZiAoaSA9PSAwICYmICFmaXJzdF9zaGluZm8gJiYgc2hhcmVkc2xvdCkNCj4+PiAJCQkJCXhl
bnZpZl9pZHhfcmVsZWFzZShxdWV1ZSwgcGVuZGluZ19pZHgsDQo+Pj4gCQkJCQkJCSAgIFhF
Tl9ORVRJRl9SU1BfRVJST1IpOw0KPj4+IAkJCQllbHNlDQo+Pj4gCQkJCQl4ZW52aWZfaWR4
X3JlbGVhc2UocXVldWUsIHBlbmRpbmdfaWR4LA0KPj4+IAkJCQkJCQkgICBYRU5fTkVUSUZf
UlNQX09LQVkpOw0KPj4+DQo+Pj4gd2hpY2ggbG9va3MgdG8gYmUgaW50ZW5kZWQgdG8gZGVh
bCB3aXRoIF9vbmx5XyBmYWlsdXJlIG9mIHRoZSBvbmUgc2hhcmVkDQo+Pj4gcGFydCBvZiB0
aGUgaGVhZGVyLCB3aGVyZWFzICJlcnIiIG5vdyBjYW4gaW5kaWNhdGUgYW4gZXJyb3Igb24g
YW55IGVhcmxpZXINCj4+PiBwYXJ0IGFzIHdlbGwuDQo+Pg0KPj4gVGhlIGNvbW1lbnQgYXQg
dGhlIGVuZCBvZiB0aGF0IGxvb3Agc2VlbXMgdG8gaW1wbHkgdGhpcyBpcyB0aGUgZGVzaXJl
ZA0KPj4gYmVoYXZpb3I6DQo+Pg0KPj4gCQkvKiBSZW1lbWJlciB0aGUgZXJyb3I6IGludmFs
aWRhdGUgYWxsIHN1YnNlcXVlbnQgZnJhZ21lbnRzLiAqLw0KPj4gCQllcnIgPSBuZXdlcnI7
DQo+PiAJfQ0KPiANCj4gVGhpcyBzYXlzICJzdWJzZXF1ZW50Iiwgd2hlcmVhcyBJIHdhcyBk
ZXNjcmliaW5nIGEgc2l0dWF0aW9uIHdoZXJlIGUuZy4NCj4gdGhlIGZpcnN0IHBpZWNlIG9m
IGhlYWRlciBjb3B5aW5nIGZhaWxlZCwgdGhlIDJuZCAoc2hhcmVkIHBhcnQpIHN1Y2NlZWRl
ZCwNCj4gYW5kIHRoZSBtYXBwaW5nIG9mIHRoZSByZXN0IG9mIHRoZSBzaGFyZWQgcGFydCBh
bHNvIHN1Y2NlZWRlZC4gQXQgdGhlDQo+IHZlcnkgbGVhc3QgdGhlIGNvbW1lbnQgaW4gdGhl
IGNvZGUgZnJhZ21lbnQgSSBkaWQgcXVvdGUgdGhlbiBoYXMgYmVjb21lDQo+IHN0YWxlLiBG
dXJ0aGVybW9yZSwgaWYgImFsbCBzdWJzZXF1ZW50IiByZWFsbHkgbWVhbnQgYWxsLCB0aGVu
IGluIHRoZQ0KPiBuZXcgZmlyc3QgbG9vcCB0aGlzIGlzbid0IGZvbGxvd2VkIGVpdGhlciAt
IGFuIGVycm9yIHJlc3BvbnNlIGlzIHNlbnQNCj4gb25seSBmb3IgdGhlIHBpZWNlcyB3aGVy
ZSBjb3B5aW5nIGZhaWxlZC4NCg0KSGF2aW5nIHN0YXJlZCBhdCB0aGUgY29kZSBmb3IgcXVp
dGUgc29tZSB0aW1lIG5vdywgSSB0aGluayB0aGVyZSBpcyBzb21lDQpyb29tIGZvciBjb25m
dXNpb246ICJpbnZhbGlkYXRpbmciIHRoZSBmcmFncyBzZWVtcyBub3QgdG8gYmUgdGhlIHNh
bWUgYXMNCnNldHRpbmcgdGhlIHJlbGF0ZWQgaWR4IHRvIGhhdmUgYW4gZXJyb3IuDQoNClhF
Tl9ORVRJRl9SU1BfRVJST1Igc2VlbXMgdG8gYmUgc2V0IG9ubHkgZm9yIHRoZSBpZHggd2hp
Y2ggcmVhbGx5IGhhZCBhbg0KZXJyb3IsIHdoaWxlIGlmIGFueSBvZiB0aGVtIGhhZCBvbmUs
IGFsbCBpZHgtZXMgbXVzdCBiZSB1bm1hcHBlZCwgaGF2ZSBhDQpzdGF0dXMgc2V0LCBhbmQg
cmV0dXJuZWQgdG8gdGhlIGZyb250ZW5kLg0KDQpBbmQgSSB0aGluayB0aGUgY29kZSBpcyBk
b2luZyB0aGlzIHF1aXRlIGZpbmUuDQoNClRoZSBjb21tZW50cyBfY291bGRfIG5lZWQgc29t
ZSBpbXByb3ZlbWVudHMsIHRob3VnaC4NCg0KQW5kIHNvbWUgbW9yZSByZXN0cnVjdHVyaW5n
IGNvdWxkIGhlbHAsIHRvbyAoYXQgbGVhc3QgSSB0aGluayB0aGF0IHRoZQ0KImdvdG8gY2hl
Y2tfZnJhZ3MiIGlzIGEgcmF0aGVyIGNsdW1zeSBjb25zdHJ1Y3QgLSBJJ2QgcHJlZmVyIHNw
bGl0dGluZw0KeGVudmlmX3R4X2NoZWNrX2dvcCgpIGludG8gc29tZSBoZWxwZXIgZnVuY3Rp
b25zIGFuZCBhIHJhdGhlciBzbWFsbA0KYm9keSBjYWxsaW5nIHRob3NlIHdpdGggZS5nLiBk
aWZmZXJlbnQgc2hpbmZvIHZhbHVlcykuDQoNCg0KSnVlcmdlbg0K
--------------dyRWZUoS1gz9002x4H40BYgb
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------dyRWZUoS1gz9002x4H40BYgb--

--------------wJMfhOjf2rSnSxwjhZfb96d6--

--------------Crfd7rMN0I0V5EpI2yrGWOsW
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOQeSEFAwAAAAAACgkQsN6d1ii/Ey+5
tQf/VDHM9RBbhSuy0Ou4XEL6aO/x242Oj+kdt7wbSNVnE+xF77onHAgxX5Rl1cFf6q3myM6X8Tbe
jIV1bkIVRGwGeOL9qsbXSLFC6JOlSUmM8N7HP9ArXp4iDKR4OXT7rJD9SdxaRuivHH5Km+cP51wM
gaCf02oOUysLd9jL+7AdZMyw/Y9Ub4kwVHpLWyZkeT9Ao5gphPBollAs3TC74DwoZeAUnAf46ru0
gPqaQ4xB5A3OBxnB0GYeOVhifLa050xRKz6aw1QjqfVQ1SlaAY0aRuPK7p3VL0SoKFlHZNeJBxJq
IOf8m2B3ztXlzDf7Xj7YpaRLxpBoHmuRqgx03AVB3g==
=B3Lv
-----END PGP SIGNATURE-----

--------------Crfd7rMN0I0V5EpI2yrGWOsW--


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 11:41:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 11:41:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456216.713956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2so1-0004Pr-K1; Wed, 07 Dec 2022 11:41:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456216.713956; Wed, 07 Dec 2022 11:41:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2so1-0004Pk-HL; Wed, 07 Dec 2022 11:41:41 +0000
Received: by outflank-mailman (input) for mailman id 456216;
 Wed, 07 Dec 2022 11:41:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2snz-0004Pe-Pe
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 11:41:39 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1c49b7d7-7624-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 12:41:38 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7377.eurprd04.prod.outlook.com (2603:10a6:20b:1de::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 7 Dec
 2022 11:41:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 11:41:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c49b7d7-7624-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h0t7EvRR4eaDFoysf7Le1XO/IfeMfyMWV29+vhmMBkZH3tK6Up1Sbg/miOQ/LZUOjm+5tjcBxyjOSPJ38I1tJzvnktNgQT+Ii1Iilkdfo62XkRB4y1FXbq5zO7VR/RRd1YqVv4/fAobY65Bd/JP2Oio6Fp3ticwAi3eBmSpXS9O94POZHLAaPK0wyh0giB2C00ywVch9ssQvdvWEvg2rlaMEl5Mxf55vHnkAHooxrjIlbg1DKYhgShfEqYY+8TR87GAzMnVB8vKSFtjBr8IT+JKrqEIb63hxwM2o8xY/ZjphJid4I7luVzxEzi7Gzpt40LpoNFg7zlUer/u6SwPfLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Qeye4Yp9faDNp0AuKR7PsZOBMxJmqTN0aF0drAqZHzE=;
 b=N+5xUZIoDYrop9dPrL9/fz2F2NG2eLi1hPEE5iGQ4fvlx1KaQsiPqupeDgiqgj/jp//t6lRN+knMe39aNARUaMI5gIWnKvJVFZ3rlMaCmm6TYWPv5Q5EZb4e8gb+H2Z0oPufTZ6d6qKXofn0u5wRS44Sx65KcX00CRUOqA1aEQhVZbRzFZmqkZ8icOlYQ78kS30dzwefD0dV+0hD8u8n1+roankBTZOfFwXx3iXPX1o4yU2pGGvETjykSK+jDSb4LMrC7qY1VbTq/fG+1gwlfvShvrofkp3jW9w1GNOHZautmDbcWWlZSh1olwEWDMfL7wAlEfbRpB7dbD06ePW4Zw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Qeye4Yp9faDNp0AuKR7PsZOBMxJmqTN0aF0drAqZHzE=;
 b=kb8eybaTWLfTzqPHyszuCXqBjH4kTiB3Svx3K++aBKzNnB7wAVLAo4tQOVOn9qaRtGcIJVLtGHTC1SUvspT6lFctX4LOzDGbJRGpvIfnVnU7j6EC9cA4Uod8ofJYTdaBtvy9YLHjn+UMJSpyZM0TCUch5lNObU2pGIe3pNLr06ZoEgRVPXwzpUOCPvcz6Yuh9SPKWWyO4o0x0kU7c2AUkoR8xptx8Dma9RPNQCyTE44U1AmnLl4LrHy9kBPncNIW/ngKHdvBUIaW3OI7bhxTEWMDRKl7Vs3h0F9TH3GFqPXq1LFFGhDjOWtsT5uY7pWoayALLEi9aQHwUBYPpecQaQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7f453f08-0bc5-04f8-02aa-0beb0f0f3b5f@suse.com>
Date: Wed, 7 Dec 2022 12:41:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Ping: [PATCH v2] xen: credit2: respect credit2_runqueue=all when
 arranging runqueues
Content-Language: en-US
To: Dario Faggioli <dfaggioli@suse.com>,
 George Dunlap <george.dunlap@citrix.com>
Cc: Juergen Gross <jgross@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <20221003162158.2042-1-marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221003162158.2042-1-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0077.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7377:EE_
X-MS-Office365-Filtering-Correlation-Id: c08d26cc-8f81-4ec3-bfeb-08dad847feb3
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Qcw0qASZZoYrDegP7z1NhycrASeIZzJoKGhw78OtYSJuDWkYWHn9Nrmk4Oz3Ac83bhlxztVN7Cxo5ydfH486xEnexzkNjl2OFYHCdmNyQDnw9kb/blHn5tN7phi1KPi+wk39KnqFy91AaitA/xlRBYB+9KMIddjf5da2vfsk07pV7vWqT7pHh1pIDTQN8sZ36mazg+pMWqFHB1FP5OUCFOXzQlq8vQyO2egobXKcDQudSiVWjhiiPClLacxaXSvpp4FguKkj3mVi2kUOIepFQbWzxu4T/HF8tUQ8rQYa9BRL+r+LCieLMr0TRx8xYg/rt+Nc2X83sVwSxSUTVETyfoqa7f8dnLeGD+wuBTNR34iHQgEnXF+0GZEMA25XX46tuoCVLtjRa4pfeqJ/dyS1PPPXsHzCFY5qL8VijRACKPgemqhKSA8/2DsnZ2q6tDpbrTQz0jrEZ2AR2zoWCtsVuCq/06TaEsUGrHF7D0NqC4jFRbsSWl3A1E8/B2RDwx/mmRUeW5PN0rx2GC42fKqVCYOaBjMXv6J1cj8erow5XczOQJaIbv5QKwy94C6cjdwhMFZr6NMyjniGt3/+jmvhuOqMJuhgwRATCJD6p/rhjh2YDAkFI3QkIf1u6BcUhHypcRSg36LCLNoh90pCuCAOeP8jg87AgwjJcNtdND3k0GljPDPMssf97a/FjaYIPkkFNeLDCi9VcqyWigOOv+rkuX0+l+4tO/RDHzWr93M932M=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(346002)(396003)(39860400002)(366004)(451199015)(6486002)(83380400001)(86362001)(5660300002)(4326008)(66574015)(41300700001)(2906002)(8936002)(8676002)(26005)(6506007)(6512007)(186003)(53546011)(2616005)(110136005)(316002)(54906003)(31696002)(66556008)(478600001)(66946007)(66476007)(31686004)(36756003)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmpzcGhlYyt6K2pMV250QTVvWnl0VG9ocW03SnBveXBSdGFUVVN4endJUVMw?=
 =?utf-8?B?OGFFWnJtbzF3RjZRN1VaQTVHNG82Zk9jZmdTS1I4T0JXdjhjclI2b0F4TlR5?=
 =?utf-8?B?aFBjMFc3WncrWmkwQ2RvTU1nSkxuNDJEeE96bDA5c1lkREM0ODNHQWpGVHJ2?=
 =?utf-8?B?NTF3ZFlPa2JhQWRqYWdGeXk0bTRCcG9Ya3RqK3NUTDg3V3RyUmtpZFZkSnZ5?=
 =?utf-8?B?VXVPeVFKTFZsc1lYelp4NEN6dGJvcUJEVG9lQjdHMDhaTHo4VnE2QnZDVDVz?=
 =?utf-8?B?QndpbDVvM0RUUFk0ZGllYnVDL01nN0ZLbzFFVTNJNXBybU00YWZGZ09kenBZ?=
 =?utf-8?B?dmwyUUZUNU1aNWZmQkNobDJLS0hvUHJUUmpWbTBhMWJBMFY2ZDVhTUpNdnZi?=
 =?utf-8?B?TGl2Tnl1YU9oSVZidERtcXZ5Nlc2WFRDZEtiYUQxRVJYK0UzOFNJTjhSTTJV?=
 =?utf-8?B?NVNpRWR1WHdkUE0vTjNqdzM2MCtHdnpaZE9nakp0Wk5QSEZYSzhFdGNmRWF3?=
 =?utf-8?B?bGIrVk9CT0p3WmJ5L21UL2JCN3dxVm9rd3NjZDJZdW4yL1FMcVFpYmo3RS9t?=
 =?utf-8?B?MDRKakY4WmlYWVZBbEpJL1Bld0R5NEZNeTQ1elhsN3YzY1RjYWxIYU9KcWRR?=
 =?utf-8?B?RkMrcnNoZ09wRFNzbFpmQVJOQWNqOUN5Q0g5R3pIK3ZYMmVvZjlENzU2dTR6?=
 =?utf-8?B?VVFHWDU4UHJsWktjMm10eHd6aFlld1dKSkJOemxyc1RsUThiejYrdmFpcFBw?=
 =?utf-8?B?Z1FVNWF0Y1d5Ri9uMzVQZGZaY1B5eldNcmR2R2Z2cWlUcGcwRk5YalEyT3pk?=
 =?utf-8?B?TURMZ0UrK2YwdnBzY1dzMHlWKzBjMFlYRStVSFdUZXpYYmJTbnpsdi9EYlI5?=
 =?utf-8?B?THNpdUg2aFo0a2I5YlVraTl0eWFuaWk2dHNydEhZT0o0T0hQV3RXZUVEUXha?=
 =?utf-8?B?dWJpaURtSEpLYS9DeHhmZU9iRjl2ZkViWVdZNkIya2VYamxXTFFNSFBSZ2I4?=
 =?utf-8?B?QjhKRHZyOG10QWVwdFFQdFdYd283Y05ibVp6Ni9hSEgrRVNMaHJWNkVzU0VF?=
 =?utf-8?B?R0JYek9RV3J0ZFVCREgyNWlLZHY1b0ZiRTBvNTFiLy9vOUxPM004WlBvYkwr?=
 =?utf-8?B?R1Q4VXJ3RDRhVEdYZVNKeDB5bi8rLzhiNnd6M1FJcStrb2pCMmR2SjVSZWlG?=
 =?utf-8?B?S1c2NFA3VW9XNDVTUktQU0k3VDMwUjNZNkJqb3ZUTkZhYVlleHlrQUNEUEpu?=
 =?utf-8?B?ZzJZV0Q3WmpXV2VpcEViZk1pYlBJbW9WcVBpQ3pNc2xyM2xkZFVZK21qcFFB?=
 =?utf-8?B?aEg2WFE1TXprSXk5M1ZkTG5tdGpXNi9JdFc0S1l1Rytzbk1xZ0lEOUs5dTN4?=
 =?utf-8?B?c3E1RUlsVGtiV0tpZTRsSjVZUmNvUElzbjBlR2VndHdPR01yd2I2eWVZNU8w?=
 =?utf-8?B?dS8ycmx1ckgwYkJleXRzbi95SzJxZVFPZmQrbFk2eFZPbS8ybGRmWHZyQnpN?=
 =?utf-8?B?MUN6d2lDaUM2djVpOUQvT2pkOFhaQWFyNk1mSjlNZ2o2UnNSMnBwUzBOWjlO?=
 =?utf-8?B?TWE4RW0xL0p4UklIZkc0Mjh4dnFpckRBUlZPZ3Q3L2hMNjRwRFp2aVJUVU14?=
 =?utf-8?B?UHp4OWE2MWlMS3dRZGtkR0dZTGNQN3l0bHdEZWE3RnJhYkFJRXhMVTdLTG5s?=
 =?utf-8?B?STdNVi9CY2FNcTk3ZjVYVHRReFNJcHk0bXl0TXNCWHROb1dtMG1tOUo0ZjlL?=
 =?utf-8?B?WmNrWVQwM3djdHFzbUt2V1AzTkpPSjJuZ1ZMZW1kTW5ROWIzNHoxL2V0UGpz?=
 =?utf-8?B?QVorSEhuQTJvRU9YRGcwYTMrcGRZSHRzTjJRSU5zZW0wQWZkTDNqd0NxL00z?=
 =?utf-8?B?S3dHSDFzNGo5Z09vWGVUT2g5d0lFTVhNN3ZhVUZ3TDNyRUFTUU0yRE5IMzRY?=
 =?utf-8?B?WWlFZFl5L0ErQ2xPekdzTCtvYThRbWpoYVNTL29pT1F2TnZxTG1rZitMUHhT?=
 =?utf-8?B?dXdhbGcraDRNbGVxVmZpYy9hZ21ER3dTaFowMnV6ZVk2TkpFMkJnbzJqMEFQ?=
 =?utf-8?B?VllGOUxkK283VEVvTUdVWUlsdHlkVVQ3RUxRTEpYNitWVHpZQk13MzZjV0Zy?=
 =?utf-8?Q?/ZgAz8cImZsY5K1Fev2RpqNdp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c08d26cc-8f81-4ec3-bfeb-08dad847feb3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 11:41:35.5691
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1DB6+X4jE8wT5fnlYhTsD68HiP9N2NYDpw/sCpmdaWfY5yLEC7QHXNd4zq0MxdJzd/CdOHVaUrqOalQLOy7yPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7377

On 03.10.2022 18:21, Marek Marczykowski-Górecki wrote:
> Documentation for credit2_runqueue=all says it should create one queue
> for all pCPUs on the host. But since introduction
> sched_credit2_max_cpus_runqueue, it actually created separate runqueue
> per socket, even if the CPUs count is below
> sched_credit2_max_cpus_runqueue.
> 
> Adjust the condition to skip syblink check in case of
> credit2_runqueue=all.
> 
> Fixes: 8e2aa76dc167 ("xen: credit2: limit the max number of CPUs in a runqueue")
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> Reviewed-by: Juergen Gross <jgross@suse.com>
> ---
> Changes in v2:
>  - fix indentation
>  - adjust doc
> 
> The whole thing is under cpu_runqueue_match() already, so maybe
> cpu_runqueue_siblings_match() isn't needed at all?
> ---
>  docs/misc/xen-command-line.pandoc | 5 +++++
>  xen/common/sched/credit2.c        | 9 +++++++--
>  2 files changed, 12 insertions(+), 2 deletions(-)

George, Dario - any chance of an ack (or reasons not to)?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 11:48:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 11:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456223.713967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2suD-00053F-9h; Wed, 07 Dec 2022 11:48:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456223.713967; Wed, 07 Dec 2022 11:48:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2suD-000538-6W; Wed, 07 Dec 2022 11:48:05 +0000
Received: by outflank-mailman (input) for mailman id 456223;
 Wed, 07 Dec 2022 11:48:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2suC-000532-GX
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 11:48:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2suC-0007Af-5j; Wed, 07 Dec 2022 11:48:04 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.0.175]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2suB-0004YQ-T5; Wed, 07 Dec 2022 11:48:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=aCay1+xEav4dreMy9XtJGw7/QDI0rSergn3efGwgx1w=; b=Gnv5Kp8OCxJSYMazN3PLW6XDzv
	MA3DfCjvIELPkC3DzNahoUUgmK1Z7doDz3SSW1Qi13nEuEEJQVBR9tKr98lw+pbp1PhxdCfFM/FPI
	OLqGkqZiJOlO+ZwGRQUou6890YyEjbpImN+Mr3v/ECJicHx+L+zSKweu+4e9Vb6RzBSA=;
Message-ID: <8e635354-fdf4-a37f-0dba-c4b29063e152@xen.org>
Date: Wed, 7 Dec 2022 11:48:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 1/3] xen/arm: Add memory overlap check for
 bootinfo.reserved_mem
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Henry Wang <Henry.Wang@arm.com>
Cc: xen-devel@lists.xenproject.org,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221205025753.2178965-1-Henry.Wang@arm.com>
 <20221205025753.2178965-2-Henry.Wang@arm.com>
 <alpine.DEB.2.22.394.2212061716170.4039@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2212061716170.4039@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 07/12/2022 01:37, Stefano Stabellini wrote:
> On Mon, 5 Dec 2022, Henry Wang wrote:
>> As we are having more and more types of static region, and all of
>> these static regions are defined in bootinfo.reserved_mem, it is
>> necessary to add the overlap check of reserved memory regions in Xen,
>> because such check will help user to identify the misconfiguration in
>> the device tree at the early stage of boot time.
>>
>> Currently we have 3 types of static region, namely (1) static memory,
>> (2) static heap, (3) static shared memory. (1) and (2) are parsed by
>> the function `device_tree_get_meminfo()` and (3) is parsed using its
>> own logic. Therefore, to unify the checking logic for all of these
>> types of static region, this commit firstly introduces a helper
>> `check_reserved_regions_overlap()` to check if an input physical
>> address range is overlapping with the existing reserved memory regions
>> defined in bootinfo. After that, use this helper in
>> `device_tree_get_meminfo()` to do the overlap check of (1) and (2)
>> and replace the original overlap check of (3) with this new helper.
>>
>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> 
> I wonder if the check should only be done #ifdef DEBUG. The idea would
> be that a given static configuration should be validated and corrected
> before going into production. By the time you go in production, it is
> too late to do checks anyway. Especially the panic below.
> 
> Julien, Bertrand, what do you think about this?

The integrator may be a different person (or even a different company) 
than the one building Xen.

So I think, the new check shoudl not be protected by CONFIG_DEBUG.

That said, any output in bootfd will only printed when earlyprintk is 
enabled. I think we should consider to support dynamic early printk. 
Anyway, that's something that doesn't need to be handled in this series.

>  >
>> ---
>>   xen/arch/arm/bootfdt.c           | 13 ++++----
>>   xen/arch/arm/include/asm/setup.h |  2 ++
>>   xen/arch/arm/setup.c             | 52 ++++++++++++++++++++++++++++++++
>>   3 files changed, 60 insertions(+), 7 deletions(-)
>>
>> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
>> index 6014c0f852..b31379b9ac 100644
>> --- a/xen/arch/arm/bootfdt.c
>> +++ b/xen/arch/arm/bootfdt.c
>> @@ -91,6 +91,9 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
>>       for ( i = 0; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
>>       {
>>           device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
>> +        if ( mem == &bootinfo.reserved_mem &&
>> +             check_reserved_regions_overlap(start, size) )
>> +            return -EINVAL;
>>           /* Some DT may describe empty bank, ignore them */
>>           if ( !size )
>>               continue;
>> @@ -485,7 +488,9 @@ static int __init process_shm_node(const void *fdt, int node,
>>                   return -EINVAL;
>>               }
>>   
>> -            if ( (end <= mem->bank[i].start) || (paddr >= bank_end) )
>> +            if ( check_reserved_regions_overlap(paddr, size) )
>> +                return -EINVAL;
>> +            else
>>               {
>>                   if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
>>                       continue;
>> @@ -496,12 +501,6 @@ static int __init process_shm_node(const void *fdt, int node,
>>                       return -EINVAL;
>>                   }
>>               }
>> -            else
>> -            {
>> -                printk("fdt: shared memory region overlap with an existing entry %#"PRIpaddr" - %#"PRIpaddr"\n",
>> -                        mem->bank[i].start, bank_end);
>> -                return -EINVAL;
>> -            }
>>           }
>>       }
>>   
>> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
>> index fdbf68aadc..6a9f88ecbb 100644
>> --- a/xen/arch/arm/include/asm/setup.h
>> +++ b/xen/arch/arm/include/asm/setup.h
>> @@ -143,6 +143,8 @@ void fw_unreserved_regions(paddr_t s, paddr_t e,
>>   size_t boot_fdt_info(const void *fdt, paddr_t paddr);
>>   const char *boot_fdt_cmdline(const void *fdt);
>>   
>> +int check_reserved_regions_overlap(paddr_t region_start, paddr_t region_size);
>> +
>>   struct bootmodule *add_boot_module(bootmodule_kind kind,
>>                                      paddr_t start, paddr_t size, bool domU);
>>   struct bootmodule *boot_module_find_by_kind(bootmodule_kind kind);
>> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
>> index 4395640019..94d232605e 100644
>> --- a/xen/arch/arm/setup.c
>> +++ b/xen/arch/arm/setup.c
>> @@ -270,6 +270,42 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
>>       cb(s, e);
>>   }
>>   
>> +static int __init overlap_check(void *bootinfo_type,
>> +                                paddr_t region_start, paddr_t region_end)
>> +{
>> +    unsigned int i, num = 0;
>> +    paddr_t bank_start = INVALID_PADDR, bank_end = 0;
>> +    char *type_str = "NONAME";
>> +
>> +    if ( bootinfo_type == &bootinfo.reserved_mem )
>> +    {
>> +        num = bootinfo.reserved_mem.nr_banks;
>> +        type_str = "reserved_mem";
>> +    }
>> +    else
>> +        panic("Invalid bootinfo type passed to overlap check\n");
>> +
>> +    for ( i = 0; i < num; i++ )
>> +    {
>> +        if ( bootinfo_type == &bootinfo.reserved_mem )
>> +        {
>> +            bank_start = bootinfo.reserved_mem.bank[i].start;
>> +            bank_end = bank_start + bootinfo.reserved_mem.bank[i].size;
>> +        }
>> +
>> +        if ( region_end <= bank_start || region_start >= bank_end )
>> +            continue;
>> +        else
>> +        {
>> +            printk("%s: Region %#"PRIpaddr" - %#"PRIpaddr" overlapping with bank[%u] %#"PRIpaddr" - %#"PRIpaddr"\n",
>> +                   type_str, region_start, region_end, i, bank_start, bank_end);
>> +            return -EINVAL;
>> +        }
>> +    }
>> +
>> +    return 0;
>> +}
> 
> As much as I dislike MACROs in general I think this function should be
> written as a MACRO so that we can write it once for all use cases. The
> below in not compiled and not tested, just for explanation purposes.
> Look how much simpler the code becomes.

I agree the duplication is not nice. But it is not clear to me why a 
static inline function cannot be used.
> 
> #define overlap_check(bootinfo,     \
>                        num,          \
>                        region_start, \
>                        region_end)   \
> ({  \
>      unsigned int i, ret; \
>      paddr_t bank_start = INVALID_PADDR, bank_end = 0; \
>      \
>      for ( i = 0; i < num; i++ ) \
>      { \
>          bank_start = bootinfo->start; \
>          bank_end = bank_start + bootinfo->size; \
>      \
>          if ( region_end <= bank_start || region_start >= bank_end ) \
>              continue; \
>          else \
>          { \
>              printk("Region %#"PRIpaddr" - %#"PRIpaddr" overlapping with bank[%u] %#"PRIpaddr" - %#"PRIpaddr"\n", \
>                     region_start, region_end, i, bank_start, bank_end); \
>              ret = -EINVAL; \
>              break; \
>          } \
>      } \
>      \
>      retval = 0; \
>      retval;\
> })
> 
> 
> And the caller:
> 
> check_reserved_regions_overlap(&bootinfo.reserved_mem,
>                                 bootinfo.reserved_mem.nr_banks,
>                                 start, size);

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 11:52:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 11:52:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456232.713977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2syX-0006z0-UC; Wed, 07 Dec 2022 11:52:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456232.713977; Wed, 07 Dec 2022 11:52:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2syX-0006yt-RS; Wed, 07 Dec 2022 11:52:33 +0000
Received: by outflank-mailman (input) for mailman id 456232;
 Wed, 07 Dec 2022 11:52:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y8gL=4F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p2syW-0006Zm-9B
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 11:52:32 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20612.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9fe06638-7625-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 12:52:31 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7564.eurprd04.prod.outlook.com (2603:10a6:10:1f7::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Wed, 7 Dec
 2022 11:52:25 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 11:52:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9fe06638-7625-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ibFLcO6L2Nt5hN84WozKbD8lgmNGN96tzPqf9eLQhiBANGecRlzZ+nXGyWANH3+2zgBXUQ+hZMITLvo+QgipVT4lKOkQrVRJOLgW1RjzqHYwp1B+v1gULqgNOUZKaM3wKFXONXB/NpA0TMC0EjbIBwtJqIzIjSchuDrEMgiLAsDI/eeZehkhDQvI5n1IN0VWvQsUaTNNjABdd2Di2TqXUZtqVSU5/3MEwxUo+hiD1XRac3c6adi7azMBllvLC/KZ/N8blloYZj2RT7/9yyS5PAPNTuIJrfolCjNPVmHBz4LG95A0YZGknQDLlIeiGjo/MbIgcu2f/8pV2OcBX+yzlA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0ajysnE3BKNpAVI201jl8o5QZOBMmIPAaJcGcfOItTo=;
 b=U9v9lDJc0vlNm3ys+psGvuUDpQw2Vj5Rv1S/Dg/I36l10nJV/ry/RpuCI11ni2cZpF9xtqgQvVxlShJNNc41y5fDpF/1W+F7ERT1ao8thRGCb3X8+uQeHj/pHPzgb6i9DxFGYMRFZa1T/+5UNI6DctVE7f2Pn3eFuOcNUw+08AoGSylZjZUc2LPYYEgM5Y0EhM4bPl/nErnSu4ghZuprufwCOAdLoYHwqLJs42Bo0mJITkmB7dV0xgHFOQRIrBHCsWwVveFpiprTcy9+DzGEj01GgHESZpmqK9vcXd67emUsifMt2VcRQajO5K3sMac/fMgHHikafXKkopzKnkmUvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0ajysnE3BKNpAVI201jl8o5QZOBMmIPAaJcGcfOItTo=;
 b=FVuLIUBnLC9tOwoy4CQ/+LH+OorjM8gn531cQAtBWOFjidJzrAPFt1Raae6Gu7QExDHMaWzuyA1PkC56xrjI4+39AbnD2R06xXHrj3ytgB6leuFD9hYmTN2MlEth8jGVDEZRsA93LKJnXVZSemZ/+pG+8UfG6zbV/BjNnckBVsXTpqUeIjU6LZCrvouutnMfJC8l4yzNMD3PF3thkZxuev9SDuZzMrNF4ezNot0d/ioQdZz9LNNqCGraIgCzN3zi5j2MLYSN8unj5nUlCv0cxCyr1PYOYSiyKOKJ6MB9ePgRCjH/D3CpEH4hFiF69GF+E338LiFWaAMHQ+SsbyRfwg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <13a149a3-9b7c-bb8b-afed-2805000e9c48@suse.com>
Date: Wed, 7 Dec 2022 12:52:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH] xen/common: cache colored buddy allocator for domains
Content-Language: en-US
To: Carlo Nonato <carlo.nonato@minervasys.tech>
Cc: marco.solieri@unimore.it, andrea.bastoni@minervasys.tech,
 lucmiccio@gmail.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221022160837.8497-1-carlo.nonato@minervasys.tech>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221022160837.8497-1-carlo.nonato@minervasys.tech>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0196.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7564:EE_
X-MS-Office365-Filtering-Correlation-Id: 1609f21e-a4d5-4fdc-ea73-08dad8498229
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+FPlZsW5UmlcyNxoYaPh14TGaOJsacfCKGEhpeFA9V1EN/y5/PzhQCMF9WTysA7ApLNBmtqrFEl2WDuurfAR3UYSncP6XIMlnDxEdU4hR45BhYqE0MBX2sqLYIASIIMHi/6XoOGdQRWQxGUp7hYUHgRlqvCRZZ/8Njkr1BiKHFL6maJvVV2SA5Y5wxnPd69X4QGo5/N2c7sJy+IlyKpd7JxVBCK66q/a9tRVAFWp/7pzPtzg48HI0CGcPJ/z7Aif0PLF8UQPAfrk8OiKiPaTMo5+igMKPX9phj4ospw3S7X9k9AvrZRah5K4Ssyl3BTuHOogYrq/4t/MrGZfdjB/havq2oci0P/pTrRjV/ANsUy5Ac7FqZmsmNDHM0K5Un/ng0dOjFHKs7rXd6a3231RgGnFZ1J+LWKcIjJehqlyB8Xbo5f+4UJi9W7RnSJfBe0Ju9K3b6ltwI9WZTkh4q9O6gBs5YRe54LiPeaciMHGLDXIHJ1zWrySnRupvVBK8gpIyiQoBIhmRcYAJxTHg29+6DQlHXrwZvrw2s5cmlQVJcfhGh6dyiBka0ztnIQMTdW3oHrcKJimNOyCmZP2OCpiO/7vsUWBZ/zVFW8JqsRYECp1SX+zYG/Vg/TTn7mi4nJLlcg9HE9LhRZD6Fo0DKhalrVgkgfykvfPX30ggfynfCF9TRL3C+kikkyYKRNRpnyZ2ECDHZcumgOQENukFJyP2F+HNRSmYP2BPvWvKYk0wNH+pQlPOfmPMMMwvwBCQR8/9EdaykJHrduincYokit2xQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(136003)(396003)(39860400002)(346002)(376002)(451199015)(38100700002)(36756003)(6916009)(31686004)(86362001)(41300700001)(8936002)(2906002)(5660300002)(31696002)(4326008)(83380400001)(478600001)(6486002)(316002)(66476007)(66946007)(2616005)(66556008)(7416002)(8676002)(54906003)(26005)(53546011)(6512007)(186003)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TDlDNkd5RlRBUGtRVnZEdE1NTmdzVEN0R1dvWWFhZ2k2QlhzZTJSSUxEVWR5?=
 =?utf-8?B?OEp4K0RYaHdobXd5cXVxVkFSK0hIWTJHZHBvS3ZPSEVHd3NIN3l3dEM0dGdU?=
 =?utf-8?B?Z09HSC9JSjJzcmRRSk1VSHIvdUtmZUVYQzZIbWpOaERtdFZzU0ZkTENuckhw?=
 =?utf-8?B?UmZ2dGQ4NFVwTzU4RHNSa2RkT2t4bVhwaStMV2FpN0lRa2pKWUNvL2YvWVlS?=
 =?utf-8?B?ejlKRUY3Y0cyb2VydVZ6UWpqZjdlVWZuYzhwc2lOT01JL0NTSkZCODlaQ0FY?=
 =?utf-8?B?dWVXYWdvVlc4dHZOVEdhUGQrTUZtL2xZNWVpcGxiNjZMblRhMmNocFFkN3Bq?=
 =?utf-8?B?dnM3MmFDczdtakdwbGlaWkNyU1IzQzVXZllXTzRqV1NZMlpqOFMzRk55MU1X?=
 =?utf-8?B?aWNnWkNaa3M2RHJudjhjWTNTaVpzd1cwWTJSVnNFNk84YkVsT09YQkgwZi80?=
 =?utf-8?B?UjR6NjFOZWgxdHdNNkMvM1QreGFuNTBpdlhNZmxlT1AxWDYxazBNN0RGMGdj?=
 =?utf-8?B?QktCMnc1WHFXVElaMjVwaXBvRktVb3ByS3FCaHdlSWFOdmpCbnJoMUxiSFJ3?=
 =?utf-8?B?TDBnZGlFQk9UZk45cncxSlBtNU56czVWNU1WS2tzR3d3ME54RG9VNWZSOTQ4?=
 =?utf-8?B?bDRmTWgveHNMb1kyR1BmKzJlZDVuaXZ0NXFnbVFVQlluem0veGRwOVE5b3pm?=
 =?utf-8?B?Sy8xbDBSK3VNWTR1ZWJ3T0MrS05icFZyamptYnFRc0dwaC9BdFBOVml0RCtu?=
 =?utf-8?B?TDJzRnh1L0tJWFlDclZxMkFBeVdqU0gvWGpUYWtNUHAyVEdQcFQwTTlDdnNa?=
 =?utf-8?B?SGc0bGVzcCsrU1VSU1lBZUViQmorc3lON29GdDRXQ2FQd3hKVllMZVJIQ0ZS?=
 =?utf-8?B?Y0xNUUw5STl0blllMm5ab0lyOHRWZW5YMVFEYkdVMHAvSkVtVnh1WVlnemVk?=
 =?utf-8?B?ZjBlZ2lVZkdCdzczS0Y1NU9STDh6SGk1aGwwNFVpZnY4SXBzaGpRUmlyZmhI?=
 =?utf-8?B?V3drdk1VVmE3cERuOEdaZXZ5OUExUFkzWUVVWVlDazlsYlQxSitxNmgzN3kw?=
 =?utf-8?B?S25DR1ljb1phbkJZOFJwVll6YVpSdGYwOWt6Mzd6OG9yV2YxektpQy9lR092?=
 =?utf-8?B?N0NzaURxRjQvNVVqSVVVUHN3WHk5L2xtR2VRbTk2bjJIYWhJemM5OFZJUDNv?=
 =?utf-8?B?cVp4c0NrOGZRS3pKbEF5dmxXcmIrM2VWcVVDRkdnbWMyTFRxaDc4SDlJTjNw?=
 =?utf-8?B?bm9COGhHQ0w4aTV5Q2xpZStiSE5hOXpSSmZpK0hMVzMyU1UxTk1YTS9PM0lh?=
 =?utf-8?B?UG14TGhha1dUcDVEcVUwNGZ4TmpSeVVtYmlBRFJkR0w0UWxzRHVrbjZUdGc5?=
 =?utf-8?B?aTU3SDQzWHpIUGdoaURnQ2ttajNDTjFqcFMvalc5RzVMVVlWL3RJdjhGVHFE?=
 =?utf-8?B?blRmZG1WdHBGQVY5aWd2UEMwODVoRmYyVitzNUZiMzBOVVZGV1BoMHlkVy9u?=
 =?utf-8?B?YmUxRFIrd2srUGVFVkRsVjlJNWo1UHRZd0xCdlVYMmJZSXBYa2FiWmZxZVpr?=
 =?utf-8?B?dGI1OWFyT2djNVpyeUhUVnc5ZDZRUkEyVXJYWDdFRDJkYTB3YXpvMDRzQ0Np?=
 =?utf-8?B?T1JpNG1nVkV4Vk16YlJsMSttbnM0N3pja0lVb1h0OUpmbmlwR2dOb0Qzek44?=
 =?utf-8?B?eXZrajkvKzdYVVlxTEVHZklCV2xITndFUG1wNjUwTGlCZnJNWkxVUnEwb1V4?=
 =?utf-8?B?Z1UxazdlWWJ0dzNWWW1TY1krcFY3RlE5QnZSbGlkSzFLb2hMSGdKdkpyckh3?=
 =?utf-8?B?L25SK0NpUXk2bHpuQ1gzRm5xR1cvdjJsZGxoRHBJL0FWN1BTZDc5b2dFV1c2?=
 =?utf-8?B?N2pBR0xPdnQ0cURnVWF5M3NtYUk2QXRvYzBubHU5K0UyV1FvZklYQ2N6QjdP?=
 =?utf-8?B?MFJ6THRva1A0d0ZhWmpBY2lwbThXeEdVM1NjTm5hS2ZJaHpQN1RLMFl1SXYr?=
 =?utf-8?B?OGpGZFkyNW9aRkJuNUNqZ3FjUWJBc1Y2S1Y3QzlRQjNqOGNJSFFtTENJUzZh?=
 =?utf-8?B?c3h3ZCtGNy9zdVRDSmJOSU5VRnNhV3VtbDFCVUx2Qy9lR0M1ZWoyWE1BTWoy?=
 =?utf-8?Q?YWMeCRaASbMlhiXHEpeAXNHSa?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1609f21e-a4d5-4fdc-ea73-08dad8498229
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 11:52:25.6218
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3rHoP0YSI1Qrrezu89avvLRGrNqfm0dug59rmITos6FrFBdvjN5/+0AP1Zx17K/5/r8+q6dng0j3KBwT57OvBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7564

On 22.10.2022 18:08, Carlo Nonato wrote:
> This commit replaces the colored allocator for domains with a simple buddy
> allocator indexed also by colors, so that it can allocate pages based on
> some coloring configuration.
> 
> It applies on top of Arm cache coloring (v3) as sent to the mailing list.
> 
> This has two benefits:
>  - order can now be greater than 0 if the color config contains a
>    sufficient number of adjacent colors starting from an order aligned
>    one;

But still not large enough to reach the order needed for large page
mappings, aiui?

>  - same benefits of the normal buddy: constant time alloc and free
>    (constant with respect to the number of pages, not for the number of
>    colors);
> 
> But also one "big" cons:
>  - given the way Xen queries the allocator, it can only serve larger pages
>    first and only when a domain runs out of those, it can go with the smaller
>    ones. Let's say that domain 0 has 31 colors out of 32 total (0-30 out of
>    0-31). The order-4 pages (0-15) are allocated first and then the order-3
>    (16-23, since 0-7 and 8-15 are all already allocated), and then order-2
>    and so on. The result is... the domain practically uses only one half of
>    the colors that it should.

What's unclear to me is how big of a con this is, i.e. how reasonable it is
for someone to configure a domain to use all except one of the colors (and
not, say, half of them).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 12:01:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 12:01:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456242.713989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2t6w-0000d6-7p; Wed, 07 Dec 2022 12:01:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456242.713989; Wed, 07 Dec 2022 12:01:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2t6w-0000cx-4K; Wed, 07 Dec 2022 12:01:14 +0000
Received: by outflank-mailman (input) for mailman id 456242;
 Wed, 07 Dec 2022 12:01:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+KZT=4F=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1p2t6u-0000cp-NE
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 12:01:12 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d51996dd-7626-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 13:01:09 +0100 (CET)
Received: from [10.10.1.138] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1670414462789518.7643685690938;
 Wed, 7 Dec 2022 04:01:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d51996dd-7626-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; t=1670414465; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=A7lSo00Ydku8DrTvixBpI/Mj7gCD0rH9I2s46tT0EQu7GwLOXd2ccLr8Mom5r0gsJ4j4jsiNf5wfrmsocipCQhtY/fEoDIlwIZStOSUHlBJtveTrbrbzxbMqEu3NOUI5ktMDbEPweAMGx6cXsca05c66LY4ipgsfJ1G0zn8+Ggs=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1670414465; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=5YotxaEBrKiaJvbD4JVHAtO1OLm+J/w+QEp318twkTY=; 
	b=XaEf+S1LPBfRM/WyyWisxeqp8Hom7/T7hzH5QabvQlv2MSsP6exQWoPHyttupL2X4B56lAtDWF4Zt9lezIM3KLmuxCcRsyO2aGKO569GwMFXISfa1YawD5NkoffeN2kKzlgu06OekJp1/UD6OXtcE8vQHjea9szcUiS0xx6bqTI=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1670414465;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=5YotxaEBrKiaJvbD4JVHAtO1OLm+J/w+QEp318twkTY=;
	b=ud50v5nTd8eRTdnQVIW5djGQw1OIb9gYcPmSFZTDqZoVkydb9vtyeyu3TR1cmWYC
	Bk4Na4v4Oe43fAoLoybDq9bC/xwaMyGNZjsREgP10lN4r+dXQId4C1e8sk/OerY8G9Z
	8l8I1NKbNtMG0xl2FPnYqo32jernWZ592olG9Lvo=
Message-ID: <42d21770-342b-4279-6ebc-c5be4807362f@apertussolutions.com>
Date: Wed, 7 Dec 2022 07:01:01 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH] xsm: misra rule 8.4 fix
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2212061808570.4039@ubuntu-linux-20-04-desktop>
 <e3b7b6e8-55e7-f88e-26d0-7e2052cca1f0@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <e3b7b6e8-55e7-f88e-26d0-7e2052cca1f0@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 12/7/22 04:47, Jan Beulich wrote:
> On 07.12.2022 03:12, Stefano Stabellini wrote:
>> Fix two MISRA Issues Rule 8.4 ("A compatible declaration shall be
>> visible when an object or function with external linkage is defined")
>> found by cppcheck affecting xen/xsm/flask/ss/services.c.
>>
>> Fix the first issue by making policydb_loaded_version static
> 
> This variable is only ever written to afaics, so perhaps better simply
> drop it?

I agree, I would ack a patch with this dropped.

>> and the
>> second issue by declaring ss_initialized in a proper header.
>>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> As to the title: The changes are contained to Flask, so xsm: really
> is too wide a prefix.
> 
>> --- a/xen/xsm/flask/flask_op.c
>> +++ b/xen/xsm/flask/flask_op.c
>> @@ -56,8 +56,6 @@ static int bool_num = 0;
>>   static int *bool_pending_values = NULL;
>>   static int flask_security_make_bools(void);
>>   
>> -extern int ss_initialized;
> 
> What about the 2nd one in flask/ss/policydb.c?
> 
> Jan


dps


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 12:14:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 12:14:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456255.713999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2tJA-0002h8-BJ; Wed, 07 Dec 2022 12:13:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456255.713999; Wed, 07 Dec 2022 12:13:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2tJA-0002h1-8f; Wed, 07 Dec 2022 12:13:52 +0000
Received: by outflank-mailman (input) for mailman id 456255;
 Wed, 07 Dec 2022 12:13:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2tJ9-0002gv-NW
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 12:13:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2tJ5-0007nx-Jd; Wed, 07 Dec 2022 12:13:47 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.0.175]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2tJ5-0005dd-BM; Wed, 07 Dec 2022 12:13:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Bt9jBtdA86eEbn44qVhnnA7hAundP3ljTYB7RUh9vOc=; b=lpcYMn6oRfWtqWiWns6DgE1a2k
	Gtn7E4UTfNhOZvMuvLoNh3s5JidvX1YVGTokuqS0lX7SvGy4T4pwJ8kbAfVbynKYC/tgIFmXsT0cl
	BLZvT1hEXiVWVDEs7TeTY+08EvmcbrtVS+VcRMr+ohbEqdEuObc7WQOHxE8h9v6VtlaQ=;
Message-ID: <fe0f90fa-84aa-54b2-1e12-98baff7fcaf7@xen.org>
Date: Wed, 7 Dec 2022 12:13:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [BUG]SMMU-V3 queue need no-cache memory
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>, sisyphean <sisyphean@zlw.email>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <e1e0e347-6530-7b68-92f7-ef52defa55ac@zlw.email>
 <75D89B2C-BBE4-419A-80B7-FEE39445ABB2@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <75D89B2C-BBE4-419A-80B7-FEE39445ABB2@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

I only noticed this e-mail because I was skimming xen-devel. If you want 
to get our attention, then I would suggest to CC both of us because I 
(and I guess Stefano) have filter rules so those e-mails land directly 
in my inbox.

On 07/12/2022 10:24, Rahul Singh wrote:
>> On 7 Dec 2022, at 2:04 am, sisyphean <sisyphean@zlw.email> wrote:
>>
>> Hi,
>>
>>      I try to run XEN on my ARM board(Sorry, for some commercial reasons, I can't tell you
>>      on which platform I run XEN)  and enable SMMU-V3, but all cmds in cmdq failed when XEN started.
>>
>>      After using the debugger to track debugging, the reason for this problem is that
>>      the queue in the smmu-v3 driver is not no-cache, so after the function arm_smmu_cmdq_build_cmd
>>      is executed, the cmd is still in cache.Therefore, the SMMU-V3 hardware cannot obtain the correct cmd
>>      from the memory for execution.
> 
> Yes you are right as of now we are allocating the memory for cmdqueue via _xzalloc() which is cached
> memory because of that you are observing the issue. We have tested the Xen SMMUv3 driver on SOC
> where SMMUv3 HW is in the coherency domain, and because of that we have not encountered this issue.
> 
> I think In your case SMMUv3 HW is not in the coherency domain. Please confirm from your side if the
> "dma-coherent” property is not set in DT.
> 
> I think there is no function available as of now to request Xen to allocate memory that is not cached.

You are correct.

> 
> @Julien and @Stefano do you have any suggestion on how we can request memory from Xen that is not
> cached something like dma_alloc_coherent() in Linux.

At the moment all the RAM is mapped cacheable in Xen. So it will require 
some work to have some memory uncacheable.

There are two options:
  1) Allocate a pool of memory at boot time that will be mapped with 
different memory attribute. This means we would need a separate pool and 
the user will have to size it.
  2) Modify after the allocation the caching attribute in the memory and 
then revert back after freeing. The cons is we would end up to shatter 
superpage. We also can't re-create superpage (yet), but that might be 
fine if the memory is never freed.

Option two would probably the best. But before going that route I have 
one question...

 > The temporary solution I use is to execute function clean_dcache every
 > time cmd is copied to cmdq in function queue_write. But it is obvious
 > that this will seriously affect the efficiency.

I agree you will see some performance impact in micro-benchmark. But I 
am not sure about normal use-cases. How often do you expect the command 
queue to be used?

Also, I am a bit surprised you are seing issue with the command queue 
but not with the stage-2 page-tables. Does your SMMU support coherent 
walk but cannot snoop for the command queue?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 12:15:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 12:15:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456261.714010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2tKO-0003EJ-Lm; Wed, 07 Dec 2022 12:15:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456261.714010; Wed, 07 Dec 2022 12:15:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2tKO-0003EC-J7; Wed, 07 Dec 2022 12:15:08 +0000
Received: by outflank-mailman (input) for mailman id 456261;
 Wed, 07 Dec 2022 12:15:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eywS=4F=citrix.com=prvs=333a73d03=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p2tKM-00038K-KI
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 12:15:06 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c6b32f16-7628-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 13:15:04 +0100 (CET)
Received: from mail-mw2nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 07 Dec 2022 07:15:01 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MW4PR03MB6634.namprd03.prod.outlook.com (2603:10b6:303:129::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 7 Dec
 2022 12:14:58 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 12:14:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6b32f16-7628-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670415304;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=kfjaaFPr9qgIK24GxosCHUID4h8ezX3uAoK8NINR+es=;
  b=HOBPnEKAknM0gj9FcOsNGTHVXfDcg0koeJypj1IhalH+3Pm4HN6Oxqon
   pcO4pD8IQ6siJUYKtoAZlyfkeNNIsaRgW3yzdhby7xav71kbGZep0/IB7
   VXsIz4Pf11Jxh3mjzlGl0zYKh/ZlfEnjORHL7D934jXSHVqeD8T7k+zMO
   Y=;
X-IronPort-RemoteIP: 104.47.55.108
X-IronPort-MID: 87045634
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:COKRFqofxrqROcTsWekjyYTryGpeBmLvZBIvgKrLsJaIsI4StFCzt
 garIBnTOamDa2r0eo10PNi0ph4O6JXWzt5lTVdv+Cs9EHgQ9JuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzyZNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXABM3Y0i52O+S+Ymqd+8vg/k6NebJLZxK7xmMzRmBZRonabbqZvySoPpnhnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeWraYKFEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXoqaY23QPImgT/DjUnegec+eu0mHeYeMJxO
 VMV2zItq5Y9oRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAIQztAQN0gqs4tRDYu2
 0OJntXmHjhmuvueTnf13rKdtza7IyUWBW4Eey4fTAEB7sXjoYc8lRbGRJBoF6vdpsLxMSH9x
 XaNtidWr6kSiOYb2qP9+krI6xq8q56MQgMr6wH/WmO+8hg/dIOjf5av61XQ8bBHNonxc7Wal
 H0Nmszb6f9UC5iIzXSJWL9UROHv4OuZOjrBh1IpB4Mm6zmm53+ke8ZX/S16I0BqdM0DfFcFf
 XPuhO+Y37cLVFPCUEO9S97Z5xgCpUQ4KenYaw==
IronPort-HdrOrdr: A9a23:iDmVOqxBAXXo2ZExnmYaKrPwKr1zdoMgy1knxilNoH1uA6qlfq
 WV98jzuiWatN98Yh8dcLO7Scq9qBHnlKKdiLN5Vd3OMDUO3lHYTr2KhrGD/9SPIVybysdtkY
 tmbqhiGJnRIDFB/KHHCdCDYrMd/OU=
X-IronPort-AV: E=Sophos;i="5.96,225,1665460800"; 
   d="scan'208";a="87045634"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mY7jcwyZRDe4L/FUzyc8CtQUYeBq256OkgTokosvr94hnnobbx9SLh4M3WgyaJIXfv0yrdE1Xt+FEeL/GWXL2avndpvbFrsCYQ91W5ZwnufrhF9jPJ4mSurkt6yjNcXF6A7/4VgilMJtaRLL2JY1nx50L5ukE3vXit2e8TELGeO485Zzv1IeSniRvhcwlwogkdjIY7BdphuTBkMPFSL4MiC9URb8v+boFSktze6tPdj9yudMmVZmJUVjA6VrVTMFeNafSKLFXxG/6i/6W//nmVosiyLqzpdyH4KnigFo+Gl2/rPMbVM6ekwyEqFjG2R6rqvXynhSRqwpbJwjC4qD9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kfjaaFPr9qgIK24GxosCHUID4h8ezX3uAoK8NINR+es=;
 b=U7viJugYOCv5uj0ctwogq4WuPlNQptwYmwa+3LtFMs6/ko1e5Cvjumv43xBIdrHYcrOUfmVZ9VnFgem7XacasjmJBt9QZ1OTdOFGMw4NxuuEYwHPyJ/D8LLbT1M6+XLMnE9sOtVUvUa5uaraLu6qSSwWLGEQvy8Yp+h57EOAZ/eYMCmSbTE7dwJrFljaetX5qVRmAOZ2U202h0JOzSnhVwR8+FsifOPwSIWJyQ06nPN0kZZXmJL1yJxPX3lCj328C+7R2cKIU3FSwXWQPds7g/pqno09o/qVfCYNWrrOzxgKiZ9zFbigYgIK/iymFZAWEJPGW+9TAMLGu+VqmVwHxw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kfjaaFPr9qgIK24GxosCHUID4h8ezX3uAoK8NINR+es=;
 b=oxG9lVEs7+es2HttJDJYzkdMR9Lnz2Mtw7nCpjkp6/IKXAURfWdB8V5aFuLXo2YhOXWnTujscG2WfldZPUp0f0fizfwYqHT2DE7MIvoz8HwOh9lFre2gBB260HqI9s/rAwDcxlXpRi4rXIWyKy8//cnLcEUlPDIKIRLLGfGFfOA=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, Demi Marie Obenour
	<demi@invisiblethingslab.com>
CC: =?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, George Dunlap <George.Dunlap@citrix.com>, "Tim
 (Xen.org)" <tim@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 7/8] x86/mm: make code robust to future PAT changes
Thread-Topic: [PATCH 7/8] x86/mm: make code robust to future PAT changes
Thread-Index: AQHZCSwNNVwbw+XjekWbbMfdFBpGtK5gw/oAgABhoICAAQgcAIAAKvyA
Date: Wed, 7 Dec 2022 12:14:58 +0000
Message-ID: <52b63509-8549-4bc5-be10-6ebb54b739d7@citrix.com>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <33f3896ba4cdf50ceb0377f071682ac5d3f576c4.1670300446.git.demi@invisiblethingslab.com>
 <9bb20bca-34af-bff6-b9f0-0c2ce38d2a46@citrix.com>
 <Y4+CKb0slxo9hJW3@itl-email> <775a5d15-b3f1-ff82-0970-9ecfe7986f90@suse.com>
In-Reply-To: <775a5d15-b3f1-ff82-0970-9ecfe7986f90@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|MW4PR03MB6634:EE_
x-ms-office365-filtering-correlation-id: 8e418e45-66a1-40f1-5e6a-08dad84ca88b
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 fIFVxrE2/5qWIrzHlAgeqRbc2zHpK/fZrpiXj0l3qKM0xnHz+zDSoajSHyA+SlDyPDUXnIOE+zLU0Cqz9Qs2y1JRDx2LtPvvNQYXJt0TThHcxZ8tny/N5SVAF4YCZ9035YZq37ztzpjvn5Vtd46MNiX2JtveyR/1gPMfvkDAsymTAmRA49kF1sYvzvVy6r4D9jacHaNcbmrxf3154IP4x6Yyz6r5bUXeI3MXI3gXwPmBjbZqYxJL8rwO2ESVpHV+vz9ooqtu8QrfbPgXmI9mNWDOxAQsAjjrX+dIs2Ak0/K5Y7YFsopJTCKTNaEuO5I3Y4nQvJF7JVuwG9jBKTezxmiP2lrhTKIhe+Rpgtmcwo9/0ari6wTSOUuX3GV15EOZBwyxgxKmDfjvDRs7FCfZkgYXlR5GZ7v2NYKsfNA2wGtUG1AovBKb2XJBa7d5p8Y7ZobnIGVdSDr+OTh8F0FbyfMH+fNf0BiLMSy0Sjk7G1GDw901b3IugOmkU6fEaoRg8DVdTpf5cH94fb+/tf/ncSpagua90wXCmawAp6MFkuoHxGfDIqLHhemnyg9RsM4VDjvpbs1c7ib5Nj3IGI0UD0OhHwyRxkOeRqHna+8cyOi6XR+yN9Isp5Vg5j39uJeuSNWR9ih/8xaodbiDsAlAkIr+WaypJOZ5Tn7+3mw3zjrzFE5pNHD4HRhqji4vMFUBC+md7OlNB21Zd2i3wdWziAGRrjhGBPD0N+iLPEKmUttBag0AuczQ//zJ8A/Wy9GsqdH3EHsY+p2Vy+2CmLJi3A==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(396003)(366004)(39860400002)(346002)(376002)(451199015)(2906002)(76116006)(91956017)(82960400001)(64756008)(8676002)(66556008)(66476007)(316002)(66946007)(66446008)(8936002)(6512007)(5660300002)(2616005)(186003)(83380400001)(26005)(36756003)(54906003)(41300700001)(38100700002)(110136005)(4326008)(31686004)(53546011)(6506007)(38070700005)(6486002)(31696002)(478600001)(122000001)(71200400001)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?RTE3ZVFJT2hVQ1ZNWkp5TndFMFFEcncwL0F0SWtyZkZvS2xhakZVZWgwU0lE?=
 =?utf-8?B?YjV1SWZZaWJjbTEwNE5FVDdSdUVlN3hUNUNKb2Y4YWZRNWpHblUxaW5JbXdw?=
 =?utf-8?B?MkFEQmZPYTdOdlFha3QwNXY5dzRiWWVlWElPMVUwODRvNjZvSmN5RGJvWjRG?=
 =?utf-8?B?U0N0STJndS9TZ0h2R3k0TCswbEMzSkE4TGNPV1hoZk1qSTZYcFlsbDRJMXR4?=
 =?utf-8?B?cUNyYTIwdzNnR2pkUWRHNTlqL21NU3UwU3Fya3h5SGhhZmF0UThTb002UFN3?=
 =?utf-8?B?eG1saWwrUGJBQkYrWGc1SWd3Z2NCZGhoUHZheFhuT1puZmpFOW1zSFZNM0t5?=
 =?utf-8?B?YkVDWGtUT1Z0a1FhSDkzUEpjOTZhYXhrSHRpZUpjK1RzZzcvSmI3RVNoeGha?=
 =?utf-8?B?RSszSXJERmhjVFowTy90ZDFJbDhweFk4V3hGS1lJUU9OUDU5SmFQL3dlUGhu?=
 =?utf-8?B?em5qVHUvYkVuVVdOc2o0dks0VjhWSFFFaWRtSndsdHRTUzlkckJoTjNUV1NZ?=
 =?utf-8?B?aU9SZkxvZGN3QUN6OTJ0ODJLQmdIQk1qMTFYck9vbjZ1TEVCSVJGUXdvUGZ2?=
 =?utf-8?B?VGIyR1pLUEV0WDB3RGFIc3ZkaDMvN0NRckhtank3Mk9SNmNlQW9CYVloR2Nv?=
 =?utf-8?B?c0RISDFJdE1CWE1jRFMyR1RNWTdHWVVSdFA3MS9odGRXWFNvVWdvcmJWZGFY?=
 =?utf-8?B?Y080UVg1V0FlMmJObnNTMHhBUWkvVVlNM1E4KzFXcU11NFk4dGtIM1d1Y2dK?=
 =?utf-8?B?U05LUm5XNURkaEI1VmpCWTNTVEVyZzV4L2RxRENpTWRmbC9SaXRWa3pheEZz?=
 =?utf-8?B?azBrK1VpZlkwbnBFVWc4ZkFaL2MxS2p6ODFGaG9UQzFtUEwzanRRcVVtTW9X?=
 =?utf-8?B?OGRTYkxYeFhSQmxVdHRXQVZpeHJPaGNBNy95d20zYk5UVHJKZUoyeDYwMUd2?=
 =?utf-8?B?TW5maUx6T0JJNmNTY0o2NGdtYkZ4Z2JqYjhvelN0Sk9vNUhRK1IreFVUR29H?=
 =?utf-8?B?WVhEQklCYXU3UzBKODBSTFJxQ25VaUFIK0lVMnMrUXU0NGgrTlp1K3JGSHJu?=
 =?utf-8?B?amFUckNMZTlTZkcvZHhQSGVDM09TMkdvcUVHMEM5Wk0yMzl4ay9jcGpkVkxx?=
 =?utf-8?B?ejRwTDNpcjJyak91UHF1SmtkcTg1T0JOcCtUV2Z3WXNldUsrWFRQQjV2dDlS?=
 =?utf-8?B?VU9ZdFBqY3dCaWwzNnk3b0ZrRnNTMU1uWjBja3M0QUMrNkY4TjhXMkhCSzFn?=
 =?utf-8?B?TmJUUkczcW5MMGw0eEljQVI4TDBJNy8yclF0SGROQnlxakloc2VTWUVFUEY4?=
 =?utf-8?B?ZGYrVDV4QVhzYk5BRks0MldvSEd3OTNyVEZsbDlSaiswS2gyaUFoVDVEaE5W?=
 =?utf-8?B?bG4yeFBxdUh4YWplWUQ3MjIvY2xLQllvNjY3SEhoRHF0UytwTUZpM04yU2JW?=
 =?utf-8?B?VGN0MlBBQlZVZU5DZDZBeDlLbkwvUG1GMGMvekd1a1BRMFVKc0JoMUZVWHNv?=
 =?utf-8?B?dGxDTWhFNk52UGV2UjgvL1JjR1RlNHZQTEFGa2dnWUVLSHpDeGYvN1B4ZGhI?=
 =?utf-8?B?Z1dxdFBqQ2t3VmhJNTVmc2JJbzBrQmw5eFU4NmZ2T3hiNWZxaUZmNXlNUmdy?=
 =?utf-8?B?VHQ5WlQ1dFpxVVZrRk5ROGFrcVBPdEZNVXZyZFdKOUtsRkpnQzNIek1sOGxT?=
 =?utf-8?B?NUZnQW5FUURORVJzdExQVDEvYktzTXJCbFNaZTBzNFBVS3BwblVvdDJ5eVh1?=
 =?utf-8?B?SU1VQ0p2dTlqN1kwVFhxaER3aXBsNFg5YzlNaU9FNW56UG8yZ2lEN2haME95?=
 =?utf-8?B?SzRCRlJYTG1LRUtvSldORkhpYVhVUXpQNjZWYmpHZDNlSzFTR3czRXVnQnl3?=
 =?utf-8?B?UHMvbndiVldmTnMzUnpSRGpZaEpxaUdtNGgwMU05Wk5WVTZSN3FCRUVoREJr?=
 =?utf-8?B?eUpWMnlzWlZ2b09MTEU1S2NGMjI4eXN3bi9oaVEwbFIzc1d6VFI3b3J0Q1B2?=
 =?utf-8?B?cTFEZ0pmanFPWkhieURISm9ETFRldkhkd3d2TCtVN1BWYjdWLzhLaGF6KzVj?=
 =?utf-8?B?TkdmUmpmaUNRWFh3UUtmR1c0VW54bXlhN1dQQm9nbFByeS9peEVyck5CS3lt?=
 =?utf-8?Q?JdGirctrGszlfqjnONEG9OBdC?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <C8A1E4DE1B45B44791D5192BC932C991@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?azVUTHZDRkt0TENpb3NYS2w1QVJMT3I0UnFYbnlWU2ZJd1FGL3NoZ29XMnZH?=
 =?utf-8?B?WDdmV3F6cFVzbm5KYXpEenJkU2E5ejhhMFhGYnYxVVoycXdrT1pCdGFEOG13?=
 =?utf-8?B?M1hQMytBbG5ZMUMxYmdMQytlemFGNENOb3RsUnFoRlo1SUYzN2JneVpFY0RT?=
 =?utf-8?B?dThmeXJPQWJsdEVKdFlsb21CUXNid1Z2UEo3SHR6RkFtWjRuZ3pEcXZzOTYz?=
 =?utf-8?B?VzFTMFVZT1dLY21SajVIcFhnbG1uMmZRREF4QnU4Yms4Vng4bkhtaHFwU2Mw?=
 =?utf-8?B?SmY3ZENUMm1mTVVmb25yYzJ4cHJFZWQrWGdHcHBKVE52ZUpqQllHUnE4VkpU?=
 =?utf-8?B?Wm1rckExUUFxcUxJa0lSelI4S3ZoY0xzdTRSeGFEOWpYSDR6TjJ5OTNIR3ZG?=
 =?utf-8?B?bGRYZTlsZGpKazJuT2R3RmhDd1pwMWFlY2VYMk1MUGlJVGdIQkQ3OUJTbWRE?=
 =?utf-8?B?Q1E1L3QwMGJPTkVmY21RdUxlTHMrWHdZcU9MS2RuSDNiZUxzdVE1aUJ4a0hI?=
 =?utf-8?B?SHgrS21CRTRIcXd2NXlvbTdubURvbU9Jc2UrRWtvZjAwN3hZQm1OQzNLZVRQ?=
 =?utf-8?B?OWlRMkhOQmtSODMzWmpmSDdWYjBYUkU0VjJDVkxVYXBNT0t0ZEVOcm1QVWs2?=
 =?utf-8?B?dUt1cjR4OUttOUJQK2g5OURJOW0rdTNEeTlpM0E0cWFqbjF3dEdNN0tRbUJZ?=
 =?utf-8?B?ZFVTb1ArOVBDL01henJNNjVWaytGL24zNlFrcS9GNHV2WElKZ1pQdyswY1Fw?=
 =?utf-8?B?Slp0aCtXWm5YQnNqdkR5OURVQ1o5VVBBeGxhSFMxejkvTmNmWEt6NXBoZGZO?=
 =?utf-8?B?TVFEK3J3ejJDa3h4SVRqZG5BNG9oZWovcVV0V3JJVENXK1EzQzgxeXQ5Ly9t?=
 =?utf-8?B?ZFBsOE1hQ2xmM2x0YkFqNTFJRENKclErYURLRy9vWTBLZGlDOHhFR1U0SWU0?=
 =?utf-8?B?eXdTZDF4TXpGSzcvWmNLOTA5QkZRR09aU1hzMkJJOWFOWllnMGdEMXB5VXBU?=
 =?utf-8?B?SGxtS1VlYkxOOGtXWnRYMS9vTmhKcU5CNFNWbzB4VHNaaU03d2QwU3RsVmV3?=
 =?utf-8?B?KzBoeEt3QTBrVDhjN251VlZzREN1YVNZRWc5cDB1OXRaYXFPakV5UHFRSEl3?=
 =?utf-8?B?ZjY3aW9UYWw4YkN1WjhIaTJEK0NRTjFsK3pSQXdZV3RVeldMZ3FJNFprZkdv?=
 =?utf-8?B?TmlFbi9wbnR1R2dqMHdLQmZ2ZjMzV3IyTk1COEppU2NYWE82cFNES3dlNUpl?=
 =?utf-8?B?MCt0ZEN6ck01Ylc0ODZvSDBsWmNkekZFeEdpd1dqVjVBb1JGQT09?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8e418e45-66a1-40f1-5e6a-08dad84ca88b
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Dec 2022 12:14:58.2854
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /oyQd3Zp4CpPHC/MYZmMDAC0/yNbp0Voo4mV0vKYgaxV7PC+eAiMfonJuNqbs6a8BJf5LeWO1l/gcFVlMQH2v40P1FzGdNWog7u/gaSaTFc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6634

T24gMDcvMTIvMjAyMiAwOTo0MSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDA2LjEyLjIwMjIg
MTg6NTUsIERlbWkgTWFyaWUgT2Jlbm91ciB3cm90ZToNCj4+IE9uIFR1ZSwgRGVjIDA2LCAyMDIy
IGF0IDEyOjA2OjI0UE0gKzAwMDAsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+Pj4gT24gMDYvMTIv
MjAyMiAwNDozMywgRGVtaSBNYXJpZSBPYmVub3VyIHdyb3RlOg0KPj4+PiBAQCAtOTYxLDEzICsx
MDAwLDI0IEBAIGdldF9wYWdlX2Zyb21fbDFlKA0KPj4+PiAgDQo+Pj4+ICAgICAgICAgIHN3aXRj
aCAoIGwxZiAmIFBBR0VfQ0FDSEVfQVRUUlMgKQ0KPj4+PiAgICAgICAgICB7DQo+Pj4+IC0gICAg
ICAgIGNhc2UgX1BBR0VfV0I6DQo+Pj4+ICsgICAgICAgIGRlZmF1bHQ6DQo+Pj4+ICsjaWZuZGVm
IE5ERUJVRw0KPj4+PiArICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX1dBUk5JTkcNCj4+Pj4g
KyAgICAgICAgICAgICAgICAgICAiZCVkOiBHdWVzdCB0cmllZCB0byB1c2UgYmFkIGNhY2hhYmls
aXR5IGF0dHJpYnV0ZSAldSBmb3IgTUZOICVseFxuIiwNCj4+Pj4gKyAgICAgICAgICAgICAgICAg
ICBsMWVfb3duZXItPmRvbWFpbl9pZCwgbDFmICYgUEFHRV9DQUNIRV9BVFRSUywgbWZuKTsNCj4+
PiAlcGQuwqAgWW91IGFic29sdXRlbHkgd2FudCB0byBjb252ZXJ0IHRoZSBQVEUgYml0cyB0byBh
IFBBVCB2YWx1ZSBiZWZvcmUNCj4+PiBwcmluaXRpbmcgKGRlY2ltYWwgb24gYSBQVEUgdmFsdWUg
aXMgdXNlbGVzcyksIGFuZCAlUFJJX21mbi4NCj4+IEnigJlsbCBoYXZlIHRvIGxvb2sgYXQgdGhl
IHJlc3Qgb2YgdGhlIFhlbiB0cmVlIHRvIHNlZSBob3cgdG8gdXNlIHRoaXMuDQo+Pg0KPj4+PiAr
ICAgICAgICAgICAgcHZfaW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2dwX2ZhdWx0LCAwKTsNCj4+
PiBBcyBJIHNhaWQgb24gSVJDLCB3ZSBkbyB3YW50IHRoaXMsIGJ1dCBJJ20gbm90IGNlcnRhaW4g
aWYgd2UgY2FuIGdldA0KPj4+IGF3YXkgd2l0aCBqdXN0IGVuYWJsaW5nIGl0IGluIGRlYnVnIGJ1
aWxkcy7CoCBfUEFHRV9HTlRUQUIgd2FzIG9rIGJlY2F1c2UNCj4+PiBpdCBoYXMgYWx3YXlzIGJl
ZW4gbGlrZSB0aGF0LCBidXQgdGhlcmUncyBhIG5vbi10cml2aWFsIGNoYW5jZSB0aGF0DQo+Pj4g
dGhlcmUgYXJlIGV4aXN0aW5nIGRvbTAga2VybmVscyB3aGljaCB2aW9sYXRlIHRoaXMgY29uc3Ry
YWludC4NCj4+IEkgY2hvc2UgdGhpcyBhcHByb2FjaCBiZWNhdXNlIGl0IGlzIHZlcnkgc2ltcGxl
IHRvIGltcGxlbWVudC4gIEFueXRoaW5nDQo+PiBtb3JlIGNvbXBsZXggb3VnaHQgdG8gYmUgaW4g
YSBzZXBhcmF0ZSBwYXRjaCwgSU1PLg0KPj4NCj4+Pj4gKyAgICAgICAgICAgIHJldHVybiAtRUlO
VkFMOw0KPj4+PiArI2VuZGlmDQo+IEFzIHRvICJjb21wbGV4IjogSnVzdCB0aGUgInJldHVybiAt
RUlOVkFMIiB3b3VsZCBiZSB5ZXQgbGVzcyBjb21wbGV4Lg0KPiBJcnJlc3BlY3RpdmUgb2YgdGhl
IHJlbWFyayBteSB1bmRlcnN0YW5kaW5nIG9mIEFuZHJldydzIHJlc3BvbnNlIGlzIHRoYXQNCj4g
dGhlIGNvbmNlcm4gZXh0ZW5kcyB0byB0aGUgZXJyb3IgcmV0dXJuIGFzIHdlbGwuDQoNCkl0J3Mg
YSB0cmFkZW9mZi4NCg0KRnJvbSBhIGRlYnVnZ2luZyBwb2ludCBvZiB2aWV3LCAjR1AgaXMgYWJz
b2x1dGVseSB0aGUgd2F5IHRvIGdvLCBiZWNhdXNlDQp5b3UgZ2V0IGEgZnVsbCBiYWNrdHJhY2Ug
b3V0IGluIExpbnV4LsKgIEl0IGRvZXNuJ3QgbWF0dGVyIGluIHRoZQ0Kc2xpZ2h0ZXN0IHdoaWNo
IHNpZGUgb2YgdGhlIFNZU0NBTEwgaW5zdHJ1Y3Rpb24gaXQgcG9pbnRzIGF0LCBiZWNhdXNlDQp0
aGF0J3Mgbm90IHRoZSBpbnRlcmVzdGluZyBpbmZvcm1hdGlvbiB0byBsb29rIGF0Lg0KDQpSZXR1
cm5pbmcgLUVJTlZBTCBzdG9wcyB0aGUgcHJvYmxlbWF0aWMgY2FjaGUgYXR0cmlidXRlcyBmcm9t
IGJlaW5nDQp1c2VkLCBidXQgaXMgZmFyIG1vcmUgdmFyaWFibGUgaW4gdGVybXMgb2Ygbm90aWNl
YWJsZSBjaGFuZ2UgaW5zaWRlDQpMaW51eC7CoCBJdCByYW5nZXMgZnJvbSBoaXR0aW5nIGEgQlVH
KCksIHRvIGhhdmluZyB0aGUgcmV0dXJuIGNvZGUgbG9zdC4NCg0KDQpJbiB0aGlzIGNhc2UsIEkn
ZCBlcnIgb24gdGhlIHNpZGUgb2YgYSAjR1AgZmF1bHQgYmVjYXVzZSBpdCBpcyBhDQpkZWZpbml0
ZSBlcnJvciBpbiB0aGUgZ3Vlc3QgbmVlZGluZyBkZWJ1Z2dpbmcgYW5kIGZpeGluZy7CoCBCdXQg
YXMgSSBzYWlkDQpvcmlnaW5hbGx5LCBpdCBwcm9iYWJseSBuZWVkcyB0byBiZSBvbi1ieS1kZWZh
dWx0IHdpdGggYSBrbm9iIHRvIGRpc2FibGUuDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 12:24:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 12:24:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456270.714022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2tTF-0005CZ-IE; Wed, 07 Dec 2022 12:24:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456270.714022; Wed, 07 Dec 2022 12:24:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2tTF-0005CS-EY; Wed, 07 Dec 2022 12:24:17 +0000
Received: by outflank-mailman (input) for mailman id 456270;
 Wed, 07 Dec 2022 12:24:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wyfm=4F=citrix.com=prvs=3337e39c6=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1p2tTD-0005C3-KZ
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 12:24:15 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0e56da7d-762a-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 13:24:13 +0100 (CET)
Received: from mail-co1nam11lp2174.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 07 Dec 2022 07:24:08 -0500
Received: from DM6PR03MB5372.namprd03.prod.outlook.com (2603:10b6:5:24f::15)
 by SA2PR03MB5931.namprd03.prod.outlook.com (2603:10b6:806:119::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 12:24:07 +0000
Received: from DM6PR03MB5372.namprd03.prod.outlook.com
 ([fe80::acc3:67c:60ef:bf99]) by DM6PR03MB5372.namprd03.prod.outlook.com
 ([fe80::acc3:67c:60ef:bf99%4]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 12:24:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e56da7d-762a-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670415853;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=NuVeA9jBOsba946Ns2ab3ycurirFl8Qf6pAOL0nL5mY=;
  b=fk1VIeFqYJE1ParEMewcA9fs8jYkFVoY4YLpITtU7sH8YxxIbKmj7kuX
   wG+4vv0YGbCoyKT4vxKa14GlQvpWtRk8rso0wUDGE8JxWTQQ8KtLhUZar
   gRvWy3/mFvpLgtFMWVQ0WWM0yo3jhPlCPtnTBgT4z2hmpUrmDfRXJzOnl
   A=;
X-IronPort-RemoteIP: 104.47.56.174
X-IronPort-MID: 86044776
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:4CsJ16D5KmP8ORVW/5Piw5YqxClBgxIJ4kV8jS/XYbTApDsr1TUHy
 zEeXjiFbvqCMGvxKo0ibN638E5XscLXyYJkQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlA4QRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw49pMXDpLy
 OEjMDFdUCndvc+onaK6Rbw57igjBJGD0II3nFhFlGicJtF/BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI++xuvDS7IA9ZidABNPLPfceRA8FckUuCu
 WvC+0zyAw0ANczZwj2Amp6prr+RxX+nB91MfFG+3vJrw1+45WUJMg0LbXq/o/LgmlaBS90Kf
 iT4/QJr98De7neDTNbnWAajiGWZpRNaUN1Ve8U+6QeQ2u/X7hyfC2wsUDFMcpoludUwSDhs0
 UWG9/vvCCBjvaO9V32Q7PGXoCm0NCxTKnUNDQcbQApD59j+iII+lBTCSpBkCqHdpsX8BDXY0
 z2M6i8kiN07gccV2qCT8VnZjjeooZbVCAg4+m3/U2646wpraZKNaIuv5lzWq/1HKe6xTUSLt
 VAHltKY4eRICouC/ASVSe8AGrCB/fuJMDTAx1VoGvEJ5zmrvnKuY41UyDV/P1tydNYJfyfzZ
 03esh8X44VcVEZGdodyaoO1Ts8tlK7pEI28UuiON4USJJ9saAWA4SdiI1aK2Hzgm1Qtlqd5P
 oqHdcGrDjARDqEPICeKetrxGIQDnkgWrV4/j7iip/h7+dJyvEKodIo=
IronPort-HdrOrdr: A9a23:imjZpaDibRpc7ELlHekX55DYdb4zR+YMi2TDGXoRdfUzSL3/qy
 nOpoV96faQslwssR4b9OxoVJPtfZqYz+8X3WH+VY3SIDUO+1HYUb2L1OPZskLd8lTFh5BgPM
 VbE5SWeeeAaWSS1vyKmTVQeuxIqLK6GeKT9IXjJhFWIj2CAJsQijuRZDz0LqRefng2ObMJUL
 Sd++tarH6adXwMaMPTPAh+Y8Hz4/PKibP7alo8CxQm8QmDii7A0s+ALzGomjkfThJSyvMY/W
 LEigz04bjmm/y30RPHzQbonuRrseqk5NtfJdCGzvIYLTjhkW+TFfxcZ4E=
X-IronPort-AV: E=Sophos;i="5.96,225,1665460800"; 
   d="scan'208";a="86044776"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IoFxOLizeRYZKxhK4euNCWLv6NCVc/t0LkndeFlbyfYjXGnvf1S74SKzjg3mCsYmj3fbeqYTXE2OEj8xRfxp+Zz446YdOtbpNdX0lshGihYe1XvBeBI8zKK9q0Kkn9Ykep5eG9yCajCFS1kovjhQubBa6dASnq5cyib7/eQPk+dIZh+D58Am0XraxRO6Qd23fRuRADGSsIN9WkmngKwOolLf1ETIH6+//FggUlqEaWxU2PDisyU9M2D3b0bOnKVeiMpHpDgk/0iK+XFYQ4HXyyuSeFfX8hA+xBNU7VaCEfEamBfJLByXU8oAmaDwJJwGUX5f32ZxvgsLtXaxv5qi9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NuVeA9jBOsba946Ns2ab3ycurirFl8Qf6pAOL0nL5mY=;
 b=hy0lAxHO/TCIBfXjZ0xYo0gV3HxvN+TYbrNIHPI3g/XDUYQVQbKqm/O4MdlPMvF9Uc06IlD/AQkPYlQGqhxzjwgL1LX6MtV4V8qHrRRWmIKsV2EbQtOKcTZVG1ZEIvEKGl3HSXbfQ0LH+/LEQWSskztnhMOXCxeCSlJBS39WMIvptJ/1RMVnompMcrM868mbVIOS7HIkmUx287mI9m7JHbBOq/nEUmSRVi6dLiOGJIT+83c+Cwx3CgcfGcZb7wmQCtI9UPJybmXcIPizfpd91dD4NwnyYKEJ+BiZZR+HwhvNlVj2rrbjM+uUqQpBsIA2fUBFFNMGUXH9hhu5XYAdvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NuVeA9jBOsba946Ns2ab3ycurirFl8Qf6pAOL0nL5mY=;
 b=ki2rY1Edfj6J3mb/t2/2fXLJx/o0NPN3WGXYQGhijpbDvv56fnN//pvz0ccM3HwhoeqYm/5retjSYJ29ewZ72r86e+v4VLGzVsUGFGxu1259ndUh63GWLn+PHxdx55sPIlPOoKvp4AAip7rWScl/Nf5SBX+FZRVpOYN31rDDfjY=
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: Juergen Gross <jgross@suse.com>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>, "netdev@vger.kernel.org"
	<netdev@vger.kernel.org>
CC: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>, "David S.
 Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub
 Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] xen/netback: fix build warning
Thread-Topic: [PATCH] xen/netback: fix build warning
Thread-Index: AQHZCgz9SnYWXgdp6UKlNSlfWigTB65iWQxA
Date: Wed, 7 Dec 2022 12:24:06 +0000
Message-ID:
 <DM6PR03MB537213DE848B611A61BE38DEF01A9@DM6PR03MB5372.namprd03.prod.outlook.com>
References: <20221207072349.28608-1-jgross@suse.com>
In-Reply-To: <20221207072349.28608-1-jgross@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB5372:EE_|SA2PR03MB5931:EE_
x-ms-office365-filtering-correlation-id: 32c68fc1-a682-4132-1ea7-08dad84def8e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 AUHaHywPiXB4CBP3ha370IVME3nqsxrUx3/aIEbMnhSFzBWKGEa50JvSVW1v5YhjbGfrYDXIgnrldnMywpyrTR7n97lw0EWDYXc6BNmdHv6t3S7roHcOhy1lsj5FfmivKBy74ekQZ4jalF911PAsZZfL/kfQY/lp3UFqV0U5g+Zy2M1XVMrjTtkdHhw+EG1BceroFjRW7+8pEztq2mdk+UX1mbqTgty415QWJNSyGIYgTa6l0ww7jGDi25PP9w4QcNZv+j0FbxHn5Dc3euz/DDmpgCwII8S6SRlKOUrh9lIXNYOjDxwWWjc6mC7cRG2HWzJrjbELQjHvDsKGeYFc4Y6zYRG2g6wO343I3Fz6ZWKYxtMMU8n5polU76HYvZmqSs5RVu66pmatkJnMaxlkxvBEy9ehAe81YxLRQPs/6jkCHtc20o6K5LVaIdUMdP48Oj78QHIOzx3ou0t2+AiRhplNjD93krBWY1Be0H2VbJrUUiUeTLrJsvyMkz15RtHtTcQwhK3wVgY40gfJkaeIhtqWnrNAK4bwypnqNO7QfvOm/Ef2iXcZFW915rAAgr+GJEWxuUs6cZkpVdIS7O8bxEc4lGcB1CnLyBMBXTBB0UHFnknE/VTaMWBHt9/fnRr3tCHmccSAUNBecoWwBKjNVoYDoGjB1FrFSqDi70JCizLWoSvugR2r4ljPYnnhWvm2cIaM4kZJ7iNV0GpM1G7Adw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB5372.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(366004)(376002)(39860400002)(396003)(136003)(451199015)(38100700002)(5660300002)(44832011)(86362001)(2906002)(122000001)(33656002)(41300700001)(4326008)(8936002)(7416002)(82960400001)(38070700005)(4744005)(66476007)(83380400001)(8676002)(66556008)(76116006)(66946007)(91956017)(316002)(54906003)(110136005)(71200400001)(478600001)(55016003)(9686003)(66446008)(64756008)(26005)(52536014)(53546011)(186003)(6506007)(7696005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?iso-8859-1?Q?JOOHRyWuF6IJDgDmeb6powv4X915HOAgA/4lY0Wqe2rpzDYjP15XTh2xA6?=
 =?iso-8859-1?Q?mP7f+kWO4UqZtLMGdSwGDNiZukjNx+cYrRm68S1sBRWgaa/KgWuzewlpw9?=
 =?iso-8859-1?Q?NJsgTd1e4/DVJ9nOfTFysFI+ozqFV13zr15VOXD4h2YKMf5ZumZou8Jqz6?=
 =?iso-8859-1?Q?AXtKYYJeMp/LRS366ZJuRv9NEjttFt/2gnE1aZ63YJKqYqfhw5IH+8XC45?=
 =?iso-8859-1?Q?So9qoM1dxKaUkv3iZjUXtY4Rd6+kK210DxMdfg4DEEsKm644vL80JYcdj7?=
 =?iso-8859-1?Q?t+/+aUxzBq/wp1Yy4pQQzuHw/kEJwNyHO2nK7foAv2UltF4OSz/PhABC+H?=
 =?iso-8859-1?Q?W19+z7Z6lXA3CfNrI4KepjV5aCWUsmLhknhpQ7jqnR5mcc/UWySujXkroe?=
 =?iso-8859-1?Q?xEjb3/oCBaDQJs9/FexvR0Mz/tpn55AEQUCoU7wmEk697/6WdTUi6rPpxT?=
 =?iso-8859-1?Q?ZD1nDlWUhmHqVTC0vlsTFEEwPg5mpxJnNPc5VQVUGddIZGH0fNaytQp7Xz?=
 =?iso-8859-1?Q?rPamh3CGhXMrF7xt9lsmRxmohki43WlrOPnrRC9oOede5ei98hzbQwMOOy?=
 =?iso-8859-1?Q?GLnYLljYitfQyypJLNC8bmcUa1P9HK9xoTfjgrM62V1xkThDsRhvB718DX?=
 =?iso-8859-1?Q?745K7oxrFMevHP2bwAh+yB+tiTGmm2RQykKmcHz0SH36iT2d+gecvhT0Vp?=
 =?iso-8859-1?Q?sdiFoYcFjy1PKgGyMtM0isR9ltkBQ/uxLK5VSh207sSLjnTV4DBSCP4xCV?=
 =?iso-8859-1?Q?+1RPfydizLJVMe54+YHp5n6ww6HWgqFQ93ufoHnMMjgns3WQYCvURBZz2h?=
 =?iso-8859-1?Q?rokb1sUEwB6tuQ8R1R5mSjToUzXr9uQB/l3Jdi/xO51LVoghr7MhqLgAbK?=
 =?iso-8859-1?Q?V7UEKwkJbaRz35PTeLDqnrVUS8XPmjG++DykkWPXEgfSK4PydPCb0mQeuQ?=
 =?iso-8859-1?Q?oxBL4nZ+G2KZuC0xBxz4qKW8ch8NBB3DcTMW92u2w4eVo5U9QwYVYw5/Vf?=
 =?iso-8859-1?Q?Zl/dwhcLaawN+CbIJzodnJe8qyaLAnqFbdTg0xf8XqmlthmiyMTZIjn/fr?=
 =?iso-8859-1?Q?LGjfE74f50nVYVFoiXmULoIOY7UnF+iOk/C2wkxSlbLRJwSuslgBhCG/Y4?=
 =?iso-8859-1?Q?McwCyXE9rzmsDNsbsY8sx4R6133/NjzfDEVyGJyk2Z2EnwlyKx2oCfAOFP?=
 =?iso-8859-1?Q?bgkJi9OIeOl0xYuMLGvRuwxz8DDthjD6Pq0TGZRFn4LacvzLw/At11cada?=
 =?iso-8859-1?Q?fVWioztPUWP+tV5FyjMCSXB4K3jhYU1ZO9q0vBNtwNUyc+tjIn0IBwBdGR?=
 =?iso-8859-1?Q?Zsh0qoxVH9zK83theIMp1rcpeHyXR+xcKs3wp4rp7MQQ4OZfxhL7yxJ+gY?=
 =?iso-8859-1?Q?hYSYz8whXoIEtJdLbC+5JGF1TrhAaUKcWorAnhbFtk2Ixe7OPha+AO3Sa9?=
 =?iso-8859-1?Q?u0gTd/f43RKTX+TcmfWyzLQGqBRJvgQFuxNZXVIkPaStjX0WzS184daFUz?=
 =?iso-8859-1?Q?L+VtfvYos8pfCrOIIO2UzjDPENGt2p0DZzu0YANMEkqdYnEOkCf9bsDY9A?=
 =?iso-8859-1?Q?W/ieN9ChBj4g7Iacb7WnYNVsNTA6ZVmjnKu5/2PWLXRgLRYSBlP1AeeTp2?=
 =?iso-8859-1?Q?phdsv3yE+qsqrhx7MrFbaj+7xVwYkT47YN?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?iso-8859-1?Q?McmoRfAYXTgnCljxJKHH0ciGduq6PPTeXRVk3ra/SFqQPB1EMC7YXOxMAK?=
 =?iso-8859-1?Q?7VciPiVh9nOiu6bhG40Nj+2KujZXFouqPiRk2kDwy8GI1eawidOP3alYVw?=
 =?iso-8859-1?Q?4qeZpeWt8yA/aTYtS8T28kpGNAZPGEagu9rWLPs5o59qTsOIU3CCPZncaM?=
 =?iso-8859-1?Q?e2afh/AHCndlQvvmFfmY95xRsYRyw7b7f/ljFhLB/2492rjIhPAw80Mw6D?=
 =?iso-8859-1?Q?aOekenwsN0P/qbzn6W9+QzQdUo5llFXwsehor1AX7NKtCIP9tDF3+tgLX8?=
 =?iso-8859-1?Q?oZfzIbS48LLpkxuuAAe46wIk4kMQSGfx61IEbx/FNnpoKN/L8z+oYDXFJw?=
 =?iso-8859-1?Q?9WQMq8DC2EdpegP6KfXtcgDBZZLNorhxNJeRZ9sdfc2XtoVvkEvwvlT0rN?=
 =?iso-8859-1?Q?8z6pZrq1TLulAwRPZti3ASsD2RDo3liq0V2CNdNNkPCuwH3VU09cqjeY/m?=
 =?iso-8859-1?Q?WFlP6vfyuY/eg7NxyBtdfK81GZXCppq/eoO5EJ0KjE96HtVtarjKKqU+Fm?=
 =?iso-8859-1?Q?dYYlrY77ddpBB48nJlrQrdL901kDpJ7l4AYI+J5LZwc4Pbm5kOs/dUXLhL?=
 =?iso-8859-1?Q?ef0Mhp9w/rcGCwKWScX2SiUK4dd81sw7NqTUPqw7uRMRHsumswStD+4XfV?=
 =?iso-8859-1?Q?64nCxZ/zyDFG+qwRBu7/buqRzc2UfRe6Q2FOUW1W3CRGjTqDpSriLm+fYK?=
 =?iso-8859-1?Q?dUn0Tg1Ig8xsQNN7FwUKcYR15a/Q4aJ3VmSgP/YH1ZshIwp8rIJZriIziM?=
 =?iso-8859-1?Q?tP6yUOAU3/1wV4eanoNTYiNKIQGXbPWSYv1k1qAnFPDQQdTq0U8W0OXa0K?=
 =?iso-8859-1?Q?8WLMCfhO0owGZgtDqkoHUF/l5rCt1mBU54KW7V27TLV/ntfjpivYBQif+O?=
 =?iso-8859-1?Q?2QU/NmbfpkLs898GFbT8sn1IzdTRk9F/xqsebMWusnLycIXN58M+GLX7Ww?=
 =?iso-8859-1?Q?bIvAlVZKdJVF7nnVYZiXv2L8G+m0xkEd1HzlmpnDpaq8/fdrTxNvcFF2YP?=
 =?iso-8859-1?Q?FzqXPkQTEbvKHYJCw4eBgAKwm2FFHwy79CjuIkngwfZaVlMQb5+fOMnR4m?=
 =?iso-8859-1?Q?dbPDm8WS9edwOipkrcjOwH07mkjsw0hVjA3yHOghIsLX?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB5372.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 32c68fc1-a682-4132-1ea7-08dad84def8e
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Dec 2022 12:24:06.8871
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ITFv0njD3xXENB9a4DCEZw1nSFVC2H6x2VjKKqea5Es8B57H8wu7pmyyW4k8EcaaC8dOCYDKxjJgIfU2MDkTHLlIHNEzIiLk4IZD3X/HVKQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5931

> From: Xen-devel <xen-devel-bounces@lists.xenproject.org> on behalf of Jue=
rgen Gross <jgross@suse.com>=0A=
> Sent: Wednesday, December 7, 2022 7:23 AM=0A=
> To: linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>; netdev@v=
ger.kernel.org <netdev@vger.kernel.org>=0A=
> Cc: Juergen Gross <jgross@suse.com>; Wei Liu <wei.liu@kernel.org>; Paul D=
urrant <paul@xen.org>; David S. Miller <davem@davemloft.net>; Eric Dumazet =
<edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni <paben=
i@redhat.com>; xen-devel@lists.xenproject.org <xen-devel@lists.xenproject.o=
rg>=0A=
> Subject: [PATCH] xen/netback: fix build warning =0A=
> =A0=0A=
> Commit ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in=
=0A=
> the non-linear area") introduced a (valid) build warning.=0A=
> =0A=
> Fix it.=0A=
> =0A=
> Fixes: ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in =
the non-linear area")=0A=
> Signed-off-by: Juergen Gross <jgross@suse.com>=0A=
=0A=
Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>=


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 12:27:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 12:27:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456278.714032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2tWR-0005rn-3j; Wed, 07 Dec 2022 12:27:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456278.714032; Wed, 07 Dec 2022 12:27:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2tWR-0005rd-14; Wed, 07 Dec 2022 12:27:35 +0000
Received: by outflank-mailman (input) for mailman id 456278;
 Wed, 07 Dec 2022 12:27:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2tWQ-0005rT-Lv; Wed, 07 Dec 2022 12:27:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2tWQ-00082X-EV; Wed, 07 Dec 2022 12:27:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2tWP-0002sH-VL; Wed, 07 Dec 2022 12:27:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2tWP-0000YX-Uq; Wed, 07 Dec 2022 12:27:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LfU+TKAnfNp7Q9KUY55a+3K9jqUuCMQUbGG/V8ZwXZ8=; b=xpjSbjcteGkHr5GNKpVNyEsuPM
	iuoMa3XSE36owXFRDwJw0Yrwrha1jeZauDtDsoaxvB9KedYyYnDbOSx+8sDeiPOYYnvFCItkYEK+5
	a3jt6iueIwdPFCsbQrdW63IpTXixdgGH8bLzS1jwT/FsQ4/MQUZ/9iNadv9QH5LJ9f9A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175067-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 175067: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=042a5b7024e7b27f5806914b9d42099a48c8f893
X-Osstest-Versions-That:
    xen=4320b31106efe4cf78867e1da379f7534e1c5c34
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 07 Dec 2022 12:27:33 +0000

flight 175067 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175067/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 174981
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 174981
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 174981
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 174981
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 174981
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 174981
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 174981
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 174981
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 174981
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 174981
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 174981
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 174981
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  042a5b7024e7b27f5806914b9d42099a48c8f893
baseline version:
 xen                  4320b31106efe4cf78867e1da379f7534e1c5c34

Last test of basis   174981  2022-11-28 11:09:49 Z    9 days
Testing same since   175067  2022-12-07 01:08:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   4320b31106..042a5b7024  042a5b7024e7b27f5806914b9d42099a48c8f893 -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 12:33:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 12:33:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456289.714047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2tcI-0007np-QD; Wed, 07 Dec 2022 12:33:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456289.714047; Wed, 07 Dec 2022 12:33:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2tcI-0007ni-NU; Wed, 07 Dec 2022 12:33:38 +0000
Received: by outflank-mailman (input) for mailman id 456289;
 Wed, 07 Dec 2022 12:33:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9USZ=4F=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p2tcG-0007nc-Re
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 12:33:37 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20600.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ce8d952-762b-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 13:33:34 +0100 (CET)
Received: from MW4PR04CA0202.namprd04.prod.outlook.com (2603:10b6:303:86::27)
 by CY8PR12MB7292.namprd12.prod.outlook.com (2603:10b6:930:53::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 7 Dec
 2022 12:33:31 +0000
Received: from CO1NAM11FT011.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:86:cafe::7f) by MW4PR04CA0202.outlook.office365.com
 (2603:10b6:303:86::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 12:33:31 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT011.mail.protection.outlook.com (10.13.175.186) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.15 via Frontend Transport; Wed, 7 Dec 2022 12:33:31 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 06:33:26 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 06:33:26 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 06:33:25 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ce8d952-762b-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fsoH+8mQ1rvqWyMkWt1B/SgOPqiJALruk+WTN9LS67vU5gYN0MASAfu2thzd+BT0QFZt1Blt9wj4fazOBRn+/nR4GKcGTvplW+R/rtxqZKoZCUQDZKbAAA/K7/UecAh6pEwmV8jiIEpugelxCTS/ksht+WssSBIlwuyLoeHIkUnPusPJMM+GS8+V3XkcqqjYe6s3etjzCPW+kbnAI2QaADNSZb14koejslUtz0I6ycxbYooV1kIzORjyy1usxLGfwFYQYnz2W+cO/N7MfWH63Jen8H7W8mld/xNX8CTK5ztcHYWOY656znPhFnhyQNefS4EtpXoPvaZneQSlUVVOeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nBWhfeSt4SfbMufp38iIBdJ6FQhv/mSDx8J7idlk9LI=;
 b=YuP/G86HUMS8w9n05yZgMjNytvxmBN+00dptAkqRJ60BQhMcLk7w2KNLelQoDXXV0J1IHSFQagFNdmSnyfpAfWV7sgXaQHGTWtUgHWPQJh2RsPbGRXn7uymr0hLy9dMix1wyPxbaqWy9Motakzfw+pgV9qtTcoHyCUbQH7Z/LO/6PoDZ46oHzW3YLBAVJvuMIdX+gzrHlh7o744rynan/0XSWqQFiRk2BwFeyZJOTsx62fgjjirzcPbF+9chL1ZXqSu38ynxmv1phVq+nlk0s8/0mDvhAx1Xhf3SnXXV97sArlkqHKqW9pybBkEZipSqmSC/OX35n8f+Lv+3PdEpwQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nBWhfeSt4SfbMufp38iIBdJ6FQhv/mSDx8J7idlk9LI=;
 b=OP0X8IlLTaLohgIJQqOQlLoH419STrFJw6kcQzOpqjl6btSWKc7YqL+R1tBOimJYil8GpBMNznpn1tAqB1osvLQ+LaMYY+ylRweXHcWOhHoZueCSTcN8u7MqsX8p5GNPPDAjwJBmpsB4t2fEocUASsHiH94irCMN8ph96SshFXQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <d9ea8f69-8cbe-abda-4ca5-b71b502a3fb7@amd.com>
Date: Wed, 7 Dec 2022 13:33:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] xsm: misra rule 8.4 fix
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
CC: <dpsmith@apertussolutions.com>
References: <alpine.DEB.2.22.394.2212061808570.4039@ubuntu-linux-20-04-desktop>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2212061808570.4039@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT011:EE_|CY8PR12MB7292:EE_
X-MS-Office365-Filtering-Correlation-Id: cf6b6c9c-5931-40d1-1d91-08dad84f3fe2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n5vBUGV17fIPEoQNd+rNOuoj2nq4LWoU1jGjmymVv1GeoLj+QpEXchk7uZbMvUUMqZONMUXVkW3xGrKx106pfKG9znS+50zC/dluhJQuWGkLLm6x5NYfIzhyyTx0jyONqSYY2COHd6syqnWAuyXqNwlRsGGoxjhRtOfSH3qe+d2W704IQv7yuZuNLsD9yX0SLBaoc71cItIS6nANmgtrDVs5YLBZC1xi+QQG1oP7JgHNp97ID3bqeX34KIUCcRuYaCkOYqheECRsyfHZj4630ZiTNYIzB01bXF0TWVCdrjnpRW/Hc2pm4L8cXyrPA1Ge8L+o3d+/SwS1JOkcbSDhtMp9Mfddu3Acbcx5KwPpxHqTKioPRf+PdfJ3mOdLf/RTkW/jA3mXCxCnUlH6km8qbi1q2fZPXmzgwRHkrrRrwnSvEg0pT7lO6uynsBkFKgY0RL52c69fYpTF9Lbi387rlKwA9U1yTheMDL3icHJf20Y70ShyzP6Og9CUMinE91jvyItbxB63Cj7hsgiCZ4eT673ekL+dbMXRyMXjmaEchWI+BbjdpJKft/3+9BqE+8jz8FxOxvifFQuVQuWCwKQqhTohmdohEXxIMIb/JKOYg5gOHdSZrkoDSmOEzlQweNAOBFUvtVdJ10Ap+WVvfxRFX2K9Ihvh/Z0v3v0tvdPYYdhLHoxBQGZ/+GgywdOmsBo9/+pb8zVTiCdMgNXRwuN1hIfPZSce/Fo/870mm4H8Y4slmLofIjVSRm+E2nX7Y6DnnTtTYid2oD2t6MhhWdPsvQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(346002)(396003)(39860400002)(451199015)(36840700001)(40470700004)(46966006)(2906002)(44832011)(31686004)(5660300002)(41300700001)(8936002)(81166007)(356005)(4326008)(8676002)(70586007)(36756003)(70206006)(82740400003)(16576012)(110136005)(316002)(36860700001)(478600001)(53546011)(2616005)(40480700001)(336012)(186003)(82310400005)(86362001)(31696002)(426003)(40460700003)(47076005)(26005)(83380400001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 12:33:31.0583
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cf6b6c9c-5931-40d1-1d91-08dad84f3fe2
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT011.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7292

Hi Stefano,

On 07/12/2022 03:12, Stefano Stabellini wrote:
> 
> 
> Fix two MISRA Issues Rule 8.4 ("A compatible declaration shall be
> visible when an object or function with external linkage is defined")
> found by cppcheck affecting xen/xsm/flask/ss/services.c.
> 
> Fix the first issue by making policydb_loaded_version static and the
> second issue by declaring ss_initialized in a proper header.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

cppcheck also reports findings for rule 8.4 with regards to the following functions:
- security_get_bools
- security_set_bools
- security_get_bool_value
- security_get_bool_name

The prototypes for them are stored in xen/xsm/flask/include/conditional.h,
but services.c only does:
#include "conditional.h"

This include refers to xen/xsm/flask/ss/conditional.h and not to xen/xsm/flask/include/conditional.h.
This means that we should also explicitly do:
#include <conditional.h>

This way we will fix all the findings in this file for the rule 8.4.

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 13:07:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 13:07:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456298.714058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2u8r-0004Cl-Gp; Wed, 07 Dec 2022 13:07:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456298.714058; Wed, 07 Dec 2022 13:07:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2u8r-0004Ce-EE; Wed, 07 Dec 2022 13:07:17 +0000
Received: by outflank-mailman (input) for mailman id 456298;
 Wed, 07 Dec 2022 13:07:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xbZ5=4F=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p2u8q-0004CY-6a
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 13:07:16 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 11131a73-7630-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 14:07:14 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BBD2E23A;
 Wed,  7 Dec 2022 05:07:19 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C7A4B3F73D;
 Wed,  7 Dec 2022 05:07:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11131a73-7630-11ed-8fd2-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 0/5] Static analyser finding deviation
Date: Wed,  7 Dec 2022 13:06:59 +0000
Message-Id: <20221207130704.20573-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1

This serie introduces a way to suppress a static analyser finding providing a
proper justification for it.
The process is explained in the docs/misra/documenting-violations.rst document
that this serie will provide.
The tools currently supported are eclair, coverity and cppcheck, but the design
is open to support many other static analysis tool.

The changes are split between the first two patches to reduce the review effort,
the first patch is introducing the deviation process for the eclair and coverity
tools, this is because their analysis system is similar.

The second patch is introducing the same deviation process for cppcheck,
modifying the current way it is called from the makefile and improving its
analysis.

The third is reverting cppcheck in the makefile.

The fourth patch is a fix for a tool used for cppcheck and the fifth patch
is an example of how a deviation can be applied for some MISRA findings.

---
This serie was pushed as RFC and collected many feedbacks, thank you for the
review.
In this serie to analyse the codebase, a script is used instead of integrating
the process into the makefile.
---

Luca Fancellu (5):
  xen/scripts: add xen-analysis.py for coverity and eclair analysis
  xen/scripts: add cppcheck tool to the xen-analysis.py script
  xen/Makefile: remove Cppcheck invocation from the Makefile
  tools/misra: fix skipped rule numbers
  xen: Justify linker script defined symbols in include/xen/kernel.h

 .gitignore                                    |   9 +-
 docs/misra/cppcheck.txt                       |  27 +-
 docs/misra/documenting-violations.rst         | 212 ++++++++++++++
 docs/misra/false-positive-coverity.json       |  12 +
 docs/misra/false-positive-cppcheck.json       |  12 +
 docs/misra/false-positive-eclair.json         |  12 +
 docs/misra/safe.json                          |  20 ++
 docs/misra/xen-static-analysis.rst            |  90 ++++++
 xen/Makefile                                  | 116 +-------
 xen/include/hypercall-defs.c                  |   9 +
 xen/include/xen/kernel.h                      |   4 +
 xen/scripts/xen-analysis.py                   |  45 +++
 xen/scripts/xen_analysis/__init__.py          |   0
 xen/scripts/xen_analysis/cppcheck_analysis.py | 273 ++++++++++++++++++
 .../xen_analysis/cppcheck_report_utils.py     | 130 +++++++++
 xen/scripts/xen_analysis/generic_analysis.py  |  88 ++++++
 xen/scripts/xen_analysis/settings.py          | 169 +++++++++++
 xen/scripts/xen_analysis/tag_database.py      | 109 +++++++
 xen/scripts/xen_analysis/utils.py             |  56 ++++
 xen/tools/convert_misra_doc.py                |  32 +-
 xen/tools/cppcheck-cc.sh                      | 223 ++++++++++++++
 xen/tools/cppcheck-plat/arm32-wchar_t4.xml    |  17 ++
 xen/tools/cppcheck-plat/arm64-wchar_t2.xml    |  17 ++
 xen/tools/cppcheck-plat/x86_64-wchar_t2.xml   |  17 ++
 xen/tools/merge_cppcheck_reports.py           |  86 ------
 25 files changed, 1561 insertions(+), 224 deletions(-)
 create mode 100644 docs/misra/documenting-violations.rst
 create mode 100644 docs/misra/false-positive-coverity.json
 create mode 100644 docs/misra/false-positive-cppcheck.json
 create mode 100644 docs/misra/false-positive-eclair.json
 create mode 100644 docs/misra/safe.json
 create mode 100644 docs/misra/xen-static-analysis.rst
 create mode 100755 xen/scripts/xen-analysis.py
 create mode 100644 xen/scripts/xen_analysis/__init__.py
 create mode 100644 xen/scripts/xen_analysis/cppcheck_analysis.py
 create mode 100644 xen/scripts/xen_analysis/cppcheck_report_utils.py
 create mode 100644 xen/scripts/xen_analysis/generic_analysis.py
 create mode 100644 xen/scripts/xen_analysis/settings.py
 create mode 100644 xen/scripts/xen_analysis/tag_database.py
 create mode 100644 xen/scripts/xen_analysis/utils.py
 create mode 100755 xen/tools/cppcheck-cc.sh
 create mode 100644 xen/tools/cppcheck-plat/arm32-wchar_t4.xml
 create mode 100644 xen/tools/cppcheck-plat/arm64-wchar_t2.xml
 create mode 100644 xen/tools/cppcheck-plat/x86_64-wchar_t2.xml
 delete mode 100755 xen/tools/merge_cppcheck_reports.py

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 13:07:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 13:07:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456299.714070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2u8t-0004Rz-O1; Wed, 07 Dec 2022 13:07:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456299.714070; Wed, 07 Dec 2022 13:07:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2u8t-0004Rs-LB; Wed, 07 Dec 2022 13:07:19 +0000
Received: by outflank-mailman (input) for mailman id 456299;
 Wed, 07 Dec 2022 13:07:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xbZ5=4F=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p2u8s-0004EJ-1u
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 13:07:18 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 11f907cb-7630-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 14:07:15 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6394AD6E;
 Wed,  7 Dec 2022 05:07:21 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3CCB63F73D;
 Wed,  7 Dec 2022 05:07:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11f907cb-7630-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 1/5] xen/scripts: add xen-analysis.py for coverity and eclair analysis
Date: Wed,  7 Dec 2022 13:07:00 +0000
Message-Id: <20221207130704.20573-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207130704.20573-1-luca.fancellu@arm.com>
References: <20221207130704.20573-1-luca.fancellu@arm.com>

Add new script for coverity/eclair analysis tool that will enable
the procedure to suppress findings when these tool are used.
The procedure is documented in docs/misra/documenting-violations.rst
and the script is documented in docs/misra/xen-static-analysis.rst.

Add in docs/misra/ the files safe.json and
false-positive-{coverity,eclair}.json that are JSON files containing
the data structures for the justifications, they are used by the
analysis script to link the Xen tags to the proprietary tool comment.

Add docs/misra/documenting-violations.rst to explain how to add
justifications.

Add docs/misra/xen-static-analysis.rst to explain how to use the
script to analyse Xen.

Add analysis artifacts files to .gitignore.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v3 changes:
 - improved help content in the script (Stefano)
 - used utils.invoke_command from this patch (Stefano)
v2 changes:
 - no change
---
---
 .gitignore                                   |   1 +
 docs/misra/documenting-violations.rst        | 191 +++++++++++++++++++
 docs/misra/false-positive-coverity.json      |  12 ++
 docs/misra/false-positive-eclair.json        |  12 ++
 docs/misra/safe.json                         |  11 ++
 docs/misra/xen-static-analysis.rst           |  54 ++++++
 xen/scripts/xen-analysis.py                  |  31 +++
 xen/scripts/xen_analysis/__init__.py         |   0
 xen/scripts/xen_analysis/generic_analysis.py |  87 +++++++++
 xen/scripts/xen_analysis/settings.py         | 111 +++++++++++
 xen/scripts/xen_analysis/tag_database.py     | 109 +++++++++++
 xen/scripts/xen_analysis/utils.py            |  56 ++++++
 12 files changed, 675 insertions(+)
 create mode 100644 docs/misra/documenting-violations.rst
 create mode 100644 docs/misra/false-positive-coverity.json
 create mode 100644 docs/misra/false-positive-eclair.json
 create mode 100644 docs/misra/safe.json
 create mode 100644 docs/misra/xen-static-analysis.rst
 create mode 100755 xen/scripts/xen-analysis.py
 create mode 100644 xen/scripts/xen_analysis/__init__.py
 create mode 100644 xen/scripts/xen_analysis/generic_analysis.py
 create mode 100644 xen/scripts/xen_analysis/settings.py
 create mode 100644 xen/scripts/xen_analysis/tag_database.py
 create mode 100644 xen/scripts/xen_analysis/utils.py

diff --git a/.gitignore b/.gitignore
index ea3243af9dde..f5a66f6194dd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@
 *.c.cppcheck
 *.opic
 *.a
+*.safparse
 *.so
 *.so.[0-9]*
 *.bin
diff --git a/docs/misra/documenting-violations.rst b/docs/misra/documenting-violations.rst
new file mode 100644
index 000000000000..1d23447556d2
--- /dev/null
+++ b/docs/misra/documenting-violations.rst
@@ -0,0 +1,191 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Documenting violations
+======================
+
+Static analysers are used on the Xen codebase for both static analysis and MISRA
+compliance.
+There might be the need to suppress some findings instead of fixing them and
+many tools permit the usage of in-code comments that suppress findings so that
+they are not shown in the final report.
+
+Xen includes a tool capable of translating a specific comment used in its
+codebase to the right proprietary in-code comment understandable by the selected
+analyser that suppress its finding.
+
+In the Xen codebase, these tags will be used to document and suppress findings:
+
+ - SAF-X-safe: This tag means that the next line of code contains a finding, but
+   the non compliance to the checker is analysed and demonstrated to be safe.
+ - SAF-X-false-positive-<tool>: This tag means that the next line of code
+   contains a finding, but the finding is a bug of the tool.
+
+SAF stands for Static Analyser Finding, the X is a placeholder for a positive
+number that starts from zero, the number after SAF- shall be incremental and
+unique, base ten notation and without leading zeros.
+
+Entries in the database shall never be removed, even if they are not used
+anymore in the code (if a patch is removing or modifying the faulty line).
+This is to make sure that numbers are not reused which could lead to conflicts
+with old branches or misleading justifications.
+
+An entry can be reused in multiple places in the code to suppress a finding if
+and only if the justification holds for the same non-compliance to the coding
+standard.
+
+An orphan entry, that is an entry who was justifying a finding in the code, but
+later that code was removed and there is no other use of that entry in the code,
+can be reused as long as the justification for the finding holds. This is done
+to avoid the allocation of a new entry with exactly the same justification, that
+would lead to waste of space and maintenance issues of the database.
+
+The files where to store all the justifications are in xen/docs/misra/ and are
+named as safe.json and false-positive-<tool>.json, they have JSON format, each
+one has a different justification schema which shares some fields.
+
+Here is an example to add a new justification in safe.json::
+
+|{
+|    "version": "1.0",
+|    "content": [
+|        {
+|            "id": "SAF-0-safe",
+|            "analyser": {
+|                "coverity": "misra_c_2012_rule_20_7_violation",
+|                "eclair": "MC3R1.R20.7"
+|            },
+|            "name": "R20.7 C macro parameters not used as expression",
+|            "text": "The macro parameters used in this [...]"
+|        },
+|        {
+|            "id": "SAF-1-safe",
+|            "analyser": {},
+|            "name": "Sentinel",
+|            "text": "Next ID to be used"
+|        }
+|    ]
+|}
+
+To document a finding in safe.json, just add another block {[...]} before the
+sentinel block, using the id contained in the sentinel block and increment by
+one the number contained in the id of the sentinel block.
+
+Here is an explanation of the fields inside an object of the "content" array:
+ - id: it is a unique string that is used to refer to the finding, many finding
+   can be tagged with the same id, if the justification holds for any applied
+   case.
+   It tells the tool to substitute a Xen in-code comment having this structure:
+   /* SAF-0-safe [...] \*/
+ - analyser: it is an object containing pair of key-value strings, the key is
+   the analyser, so it can be coverity or eclair, the value is the proprietary
+   id corresponding on the finding, for example when coverity is used as
+   analyser, the tool will translate the Xen in-code coment in this way:
+   /* SAF-0-safe [...] \*/ -> /* coverity[misra_c_2012_rule_20_7_violation] \*/
+   if the object doesn't have a key-value, then the corresponding in-code
+   comment won't be translated.
+ - name: a simple name for the finding
+ - text: a proper justification to turn off the finding.
+
+
+Here is an example to add a new justification in false-positive-<tool>.json::
+
+|{
+|    "version": "1.0",
+|    "content": [
+|        {
+|            "id": "SAF-0-false-positive-<tool>",
+|            "violation-id": "<proprietary-id>",
+|            "tool-version": "<version>",
+|            "name": "R20.7 [...]",
+|            "text": "[...]"
+|        },
+|        {
+|            "id": "SAF-1-false-positive-<tool>",
+|            "violation-id": "",
+|            "tool-version": "",
+|            "name": "Sentinel",
+|            "text": "Next ID to be used"
+|        }
+|    ]
+|}
+
+To document a finding in false-positive-<tool>.json, just add another block
+{[...]} before the sentinel block, using the id contained in the sentinel block
+and increment by one the number contained in the id of the sentinel block.
+
+Here is an explanation of the fields inside an object of the "content" array:
+ - id: it has the same meaning as in the "safe" justification schema.
+   It tells the tool to substitute a Xen in-code comment having this structure:
+   /* SAF-0-false-positive-<tool> [...] \*/
+ - violation-id: its value is a string containing the proprietary id
+   corresponding to the finding, for example when <tool> is coverity, the Xen
+   tool will translate the Xen in-code coment in this way:
+   /* SAF-0-false-positive-coverity [...] \*/ -> /* coverity[misra_c_2012_rule_20_7_violation] \*/
+   if the object doesn't have a value, then the corresponding in-code comment
+   won't be translated.
+ - tool-version: the version of the tool affected by the false positive, if it
+   is discovered in more than one version, this string can be a range
+   (eg. 2.7 - 3.0)
+ - name, text: they have the same meaning as in the "safe" justification schema.
+
+
+Justification example
+---------------------
+
+Here an example of the usage of the in-code comment tags to suppress a finding
+for the Rule 8.6:
+
+Eclair reports it in its web report, file xen/include/xen/kernel.h, line 68:
+
+| MC3R1.R8.6 for program 'xen/xen-syms', variable '_start' has no definition
+
+Also coverity reports it, here is an extract of the finding:
+
+| xen/include/xen/kernel.h:68:
+| 1. misra_c_2012_rule_8_6_violation: Function "_start" is declared but never
+ defined.
+
+The analysers are complaining because we have this in xen/include/xen/kernel.h
+at line 68::
+
+| extern char _start[], _end[], start[];
+
+Those are symbols exported by the linker, hence we will need to have a proper
+deviation for this finding.
+
+We will prepare our entry in the safe.json database::
+
+|{
+|    "version": "1.0",
+|    "content": [
+|        {
+|        [...]
+|        },
+|        {
+|            "id": "SAF-1-safe",
+|            "analyser": {
+|                "eclair": "MC3R1.R8.6",
+|                "coverity": "misra_c_2012_rule_8_6_violation"
+|            },
+|            "name": "Rule 8.6: linker script defined symbols",
+|            "text": "It is safe to declare this symbol because it is defined in the linker script."
+|        },
+|        {
+|            "id": "SAF-2-safe",
+|            "analyser": {},
+|            "name": "Sentinel",
+|            "text": "Next ID to be used"
+|        }
+|    ]
+|}
+
+And we will use the proper tag above the violation line::
+
+| /* SAF-1-safe R8.6 linker defined symbols */
+| extern char _start[], _end[], start[];
+
+This entry will fix also the violation on _end and start, because they are on
+the same line and the same "violation ID".
+
+Also, the same tag can be used on other symbols from the linker that are
+declared in the codebase, because the justification holds for them too.
diff --git a/docs/misra/false-positive-coverity.json b/docs/misra/false-positive-coverity.json
new file mode 100644
index 000000000000..462448414f80
--- /dev/null
+++ b/docs/misra/false-positive-coverity.json
@@ -0,0 +1,12 @@
+{
+    "version": "1.0",
+    "content": [
+        {
+            "id": "SAF-0-false-positive-coverity",
+            "violation-id": "",
+            "tool-version": "",
+            "name": "Sentinel",
+            "text": "Next ID to be used"
+        }
+    ]
+}
diff --git a/docs/misra/false-positive-eclair.json b/docs/misra/false-positive-eclair.json
new file mode 100644
index 000000000000..1d6ea5d7f045
--- /dev/null
+++ b/docs/misra/false-positive-eclair.json
@@ -0,0 +1,12 @@
+{
+    "version": "1.0",
+    "content": [
+        {
+            "id": "SAF-0-false-positive-eclair",
+            "violation-id": "",
+            "tool-version": "",
+            "name": "Sentinel",
+            "text": "Next ID to be used"
+        }
+    ]
+}
diff --git a/docs/misra/safe.json b/docs/misra/safe.json
new file mode 100644
index 000000000000..e079d3038120
--- /dev/null
+++ b/docs/misra/safe.json
@@ -0,0 +1,11 @@
+{
+    "version": "1.0",
+    "content": [
+        {
+            "id": "SAF-0-safe",
+            "analyser": {},
+            "name": "Sentinel",
+            "text": "Next ID to be used"
+        }
+    ]
+}
diff --git a/docs/misra/xen-static-analysis.rst b/docs/misra/xen-static-analysis.rst
new file mode 100644
index 000000000000..5b886474d4a0
--- /dev/null
+++ b/docs/misra/xen-static-analysis.rst
@@ -0,0 +1,54 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Xen static analysis
+===================
+
+The Xen codebase integrates some scripts and tools that helps the developer to
+perform static analysis of the code, currently Xen supports three analysis tool
+that are eclair, coverity and cppcheck.
+The Xen tree has a script (xen-analysis.py) available to ease the analysis
+process and it integrates a way to suppress findings on these tools (only Eclair
+and Coverity are currently supported by the script), please check the
+documenting-violation.rst document to know more about it.
+
+Analyse Xen with Coverity or Eclair
+-----------------------------------
+
+The xen-analysis.py script has two arguments to select which tool is used for
+the analysis:
+
+ - xen-analysis.py --run-coverity -- [optional make arguments]
+ - xen-analysis.py --run-eclair -- [optional make arguments]
+
+For example when using Coverity to analyse a Xen build obtained by passing these
+arguments to the make system: XEN_TARGET_ARCH=arm64
+CROSS_COMPILE=aarch64-linux-gnu-, the optional make arguments passed to
+xen-analysis.py must be the same and the command below should be passed to
+Coverity in its build phase:
+
+ - xen-analysis.py --run-coverity -- XEN_TARGET_ARCH=arm64
+   CROSS_COMPILE=aarch64-linux-gnu-
+
+Which tells to the script to prepare the codebase for an analysis by Coverity
+and forwards the make arguments to the make build invocation.
+
+When invoking the script, the procedure below will be followed:
+
+ 1. Find which files among \*.c and \*.h has any in-code comment as
+    /* SAF-X-[...] \*/, the meaning of these comments is explained in
+    documenting-violation.rst.
+    Save the files obtained as <file>.safparse and generate <file> files where
+    the special in-code comments above are substituted with the proprietary
+    in-code comment used by the selected analysis tool. The safe.json and
+    false-positive-<tool>.json text file database are used to link each Xen tag
+    to the right proprietary in-code comment.
+ 2. Now Xen compilation starts using every <additional make parameters> supplied
+    at the script invocation. Coverity and Eclair are capable of intercepting
+    the compiler running from make to perform their analysis without
+    instrumenting the makefile.
+ 3. As final step every <file>.safparse file are reverted back as <file> and
+    every artifact related to the analysis will be cleaned.
+    This step is performed even in case any of the previous step fail, to skip
+    this step, call the script adding the --no-clean argument, but before
+    running again the script, call it with the --clean-only argument, that will
+    execute only this cleaning step.
diff --git a/xen/scripts/xen-analysis.py b/xen/scripts/xen-analysis.py
new file mode 100755
index 000000000000..b5d9ef1862c9
--- /dev/null
+++ b/xen/scripts/xen-analysis.py
@@ -0,0 +1,31 @@
+#!/usr/bin/env python3
+
+import sys
+from xen_analysis import settings, generic_analysis
+from xen_analysis.generic_analysis import *
+
+
+def main(argv):
+    ret_code = 0
+    settings.parse_commandline(argv)
+    try:
+        if settings.step_parse_tags:
+            generic_analysis.parse_xen_tags()
+        if settings.step_build_xen:
+            generic_analysis.build_xen()
+    except (ParseTagPhaseError, BuildPhaseError) as e:
+        print("ERROR: {}".format(e))
+        if hasattr(e, "errorcode"):
+            ret_code = e.errorcode
+    finally:
+        if settings.step_clean_analysis:
+            e = generic_analysis.clean_analysis_artifacts()
+            if e:
+                print("ERROR: {}".format(e))
+                ret_code = 1
+
+    sys.exit(ret_code)
+
+
+if __name__ == "__main__":
+    main(sys.argv[1:])
diff --git a/xen/scripts/xen_analysis/__init__.py b/xen/scripts/xen_analysis/__init__.py
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/xen/scripts/xen_analysis/generic_analysis.py b/xen/scripts/xen_analysis/generic_analysis.py
new file mode 100644
index 000000000000..372ff3566442
--- /dev/null
+++ b/xen/scripts/xen_analysis/generic_analysis.py
@@ -0,0 +1,87 @@
+#!/usr/bin/env python3
+
+import os, subprocess
+from . import settings, utils, tag_database
+
+class ParseTagPhaseError(Exception):
+    pass
+
+class BuildPhaseError(Exception):
+    pass
+
+class CleanPhaseError(Exception):
+    pass
+
+
+def parse_xen_tags():
+    # Load the database for the Xen tags
+    subs_list = tag_database.load_tag_database(
+        settings.analysis_tool,
+        [settings.repo_dir + "/docs/misra/safe.json"]
+    )
+    subs_list = tag_database.load_tag_database(
+        settings.analysis_tool,
+        [settings.repo_dir + "/docs/misra/false-positive-{}.json"
+                                .format(settings.analysis_tool)],
+        subs_list,
+        "false-positive"
+    )
+
+    # Create outdir if it doesn't exists
+    os.makedirs(settings.outdir, exist_ok=True)
+
+    # The following lambda function will return a file if it contains lines with
+    # a comment containing "SAF-<number>-{safe|false-positive-<tool>}" on a
+    # single line.
+    grep_action = lambda x: utils.grep(x,
+                                    tag_database.get_xen_tag_comment_regex(
+                                                        settings.analysis_tool)
+    )
+    # Look for a list of .h/.c files that matches the condition above
+    parse_file_list = utils.recursive_find_file(settings.xen_dir, r'.*\.[ch]$',
+                                                grep_action)
+
+    for entry in parse_file_list:
+        file = entry["file"]
+        bkp_file = file + ".safparse"
+        if os.path.isfile(bkp_file):
+            raise ParseTagPhaseError(
+                "Found {}, please check the integrity of {}"
+                    .format(bkp_file,file)
+                )
+        os.rename(file, bkp_file)
+        time_bkp_file = os.stat(bkp_file)
+        # Create <file> from <file>.safparse but with the Xen tag parsed
+        tag_database.substitute_tags(settings.analysis_tool, bkp_file, entry,
+                                     subs_list)
+        # Set timestamp for file equal to bkp_file, so that if the file is
+        # modified during the process by the user, we can catch it
+        os.utime(file, (time_bkp_file.st_atime, time_bkp_file.st_mtime))
+
+
+def build_xen():
+    utils.invoke_command(
+            "make -C {} {} build"
+                .format(settings.xen_dir, settings.make_forward_args),
+            False, BuildPhaseError,
+            "Build error occured when running:\n{}"
+        )
+
+
+def clean_analysis_artifacts():
+    safparse_files = utils.recursive_find_file(settings.xen_dir,
+                                               r'.*.safparse$')
+    for original_file in safparse_files:
+        # This commands strips the .safparse extension, leaving <file>
+        parsed_file_path = os.path.splitext(original_file)[0]
+        mtime_original_file = os.stat(original_file).st_mtime
+        mtime_parsed_file = os.stat(parsed_file_path).st_mtime
+        if mtime_original_file != mtime_parsed_file:
+            return CleanPhaseError(
+                    "The file {} was modified during the analysis "
+                    "procedure, it is impossible now to restore from the "
+                    "content of {}, please handle it manually"
+                    .format(parsed_file_path, original_file)
+                )
+        # Replace <file>.safparse to <file>
+        os.replace(original_file, parsed_file_path)
diff --git a/xen/scripts/xen_analysis/settings.py b/xen/scripts/xen_analysis/settings.py
new file mode 100644
index 000000000000..e8d474eaf378
--- /dev/null
+++ b/xen/scripts/xen_analysis/settings.py
@@ -0,0 +1,111 @@
+#!/usr/bin/env python3
+
+import sys, re, os
+
+module_dir = os.path.dirname(os.path.realpath(__file__))
+xen_dir = os.path.realpath(module_dir + "/../..")
+repo_dir = os.path.realpath(xen_dir + "/..")
+tools_dir = os.path.realpath(xen_dir + "/tools")
+
+step_parse_tags = True
+step_build_xen = True
+step_clean_analysis = True
+
+target_build = False
+target_clean = False
+
+analysis_tool = ""
+make_forward_args = ""
+outdir = xen_dir
+
+
+def help():
+    msg="""
+Usage: {} [OPTION] ... [-- [make arguments]]
+
+This script runs the analysis on the Xen codebase.
+
+The phases for the analysis are <tags>, <build>, <clean>
+
+Depending on the options below, only some phases will run:
+
+<no options>: tags, build, clean
+--build-only: build
+--clean-only: clean
+--no-build:   tags, clean
+--no-clean:   tags, build
+
+--no-build/--no-clean can be passed together to avoid both clean and build
+phases.
+Tags and build phases need to specify --run-coverity or --run-eclair.
+
+Options:
+  --build-only    Run only the commands to build Xen with the optional make
+                  arguments passed to the script
+  --clean-only    Run only the commands to clean the analysis artifacts
+  -h, --help      Print this help
+  --no-build      Skip the build Xen phase
+  --no-clean      Don\'t clean the analysis artifacts on exit
+  --run-coverity  Run the analysis for the Coverity tool
+  --run-eclair    Run the analysis for the Eclair tool
+"""
+    print(msg.format(sys.argv[0]))
+
+
+def parse_commandline(argv):
+    global analysis_tool
+    global make_forward_args
+    global outdir
+    global step_parse_tags
+    global step_build_xen
+    global step_clean_analysis
+    global target_build
+    global target_clean
+    forward_to_make = False
+    for option in argv:
+        if forward_to_make:
+            # Intercept outdir
+            outdir_regex = re.match("^O=(.*)$", option)
+            if outdir_regex:
+                outdir = outdir_regex.group(1)
+            # Forward any make arguments
+            make_forward_args = make_forward_args + " " + option
+        elif option == "--build-only":
+            target_build = True
+        elif option == "--clean-only":
+            target_clean = True
+        elif (option == "--help") or (option == "-h"):
+            help()
+            sys.exit(0)
+        elif option == "--no-build":
+            step_build_xen = False
+        elif option == "--no-clean":
+            step_clean_analysis = False
+        elif (option == "--run-coverity") or (option == "--run-eclair"):
+            analysis_tool = option[6:]
+        elif option == "--":
+            forward_to_make = True
+        else:
+            print("Invalid option: {}".format(option))
+            help()
+            sys.exit(1)
+
+    if target_build and target_clean:
+        print("--build-only is not compatible with --clean-only argument.")
+        sys.exit(1)
+
+    if target_clean:
+        step_parse_tags = False
+        step_build_xen = False
+        step_clean_analysis = True
+        return
+
+    if analysis_tool == "":
+        print("Please specify one analysis tool.")
+        help()
+        sys.exit(1)
+
+    if target_build:
+        step_parse_tags = False
+        step_build_xen = True
+        step_clean_analysis = False
diff --git a/xen/scripts/xen_analysis/tag_database.py b/xen/scripts/xen_analysis/tag_database.py
new file mode 100644
index 000000000000..ca374bbb62dd
--- /dev/null
+++ b/xen/scripts/xen_analysis/tag_database.py
@@ -0,0 +1,109 @@
+#!/usr/bin/env python3
+
+import re, json
+
+class TagDatabaseError(Exception):
+    pass
+
+# This is the dictionary for the rules that translates to proprietary comments:
+#  - cppcheck: /* cppcheck-suppress[id] */
+#  - coverity: /* coverity[id] */
+#  - eclair:   /* -E> hide id 1 "" */
+# Add entries to support more analyzers
+tool_syntax = {
+    "cppcheck":"cppcheck-suppress[VID]",
+    "coverity":"coverity[VID]",
+    "eclair":"-E> hide VID 1 \"\""
+}
+
+
+def get_xen_tag_index_type_regex(tool):
+    return r'^SAF-(\d+)-(safe|false-positive-' + tool + ')$'
+
+
+def get_xen_tag_comment_regex(tool):
+    return r'^[ \t]*/\* +(SAF-\d+-(?:safe|false-positive-' + tool + ')).*\*/$'
+
+
+# Returns a data structure containing dictionaries for safe and false-positive-*
+# Xen tags, the key is the unique index of the tag and the content is the
+# proprietary in-code comment to be used when the tag is found in the codebase
+def load_tag_database(tool, input_files, data_struct = None, schema = "safe"):
+    ret = data_struct if data_struct is not None else {
+        "safe": {},
+        "false-positive-" + tool: {}
+    }
+    database = []
+
+    # Open all input files
+    for file in input_files:
+        try:
+            with open(file, "rt") as handle:
+                content = json.load(handle)
+                database = database + content['content']
+        except json.JSONDecodeError as e:
+            raise TagDatabaseError("JSON decoding error in file {}: {}"
+                                    .format(file, e))
+        except Exception as e:
+            raise TagDatabaseError("Can't open file {}: {}"
+                                    .format(file, e))
+
+    for entry in database:
+        # If the false-positive schema is used, check the proprietary id in the
+        # 'violation-id' field, otherwise rely on the "safe" schema.
+        if schema == "false-positive":
+            proprietary_id = entry['violation-id']
+        elif tool in entry['analyser']:
+            proprietary_id = entry['analyser'][tool]
+        else:
+            proprietary_id = ""
+        if proprietary_id != "":
+            comment=tool_syntax[tool].replace("VID",proprietary_id)
+            # Regex to capture the index of the Xen tag and the schema
+            xen_tag = re.compile(get_xen_tag_index_type_regex(tool))\
+                            .match(entry["id"])
+            if xen_tag and xen_tag.group(1) and xen_tag.group(2):
+                # Save in safe or false-positive-* the key {#id: "comment"}
+                id_number = int(xen_tag.group(1))
+                key = xen_tag.group(2)
+                ret[key][id_number] = "/* {} */\n".format(comment)
+            else:
+                raise TagDatabaseError(
+                        "Error in database file, entry {} has unexpected "
+                        "format.".format(entry["id"])
+                    )
+
+    return ret
+
+
+def substitute_tags(tool, input_file, grep_struct, subs_rules):
+    try:
+        with open(grep_struct["file"], "wt") as outfile:
+
+            try:
+                with open(input_file, "rt") as infile:
+                    parsed_content = infile.readlines()
+            except Exception as e:
+                raise TagDatabaseError("Issue with reading file {}: {}"
+                                       .format(input_file, e))
+
+            # grep_struct contains the line number where the comments are, the
+            # line number starts from 1 but in the array the first line is zero.
+            # For every line where there is a Xen tag comment, get the Xen tag
+            # that is in the capture group zero, extract from the Xen tag the
+            # unique index and the type (safe, false-positive-*) and with those
+            # information access the subs_rules dictionary to see if there is
+            # a match
+            for line_number in grep_struct["matches"]:
+                xen_tag = grep_struct["matches"][line_number][0]
+                xen_tag_regex_obj = re.compile(
+                            get_xen_tag_index_type_regex(tool)).match(xen_tag)
+                id_number = int(xen_tag_regex_obj.group(1))
+                key = xen_tag_regex_obj.group(2)
+                if id_number in subs_rules[key]:
+                    parsed_content[line_number-1] = subs_rules[key][id_number]
+
+            outfile.writelines(parsed_content)
+    except Exception as e:
+        raise TagDatabaseError("Issue with writing file {}: {}"
+                               .format(grep_struct["file"], e))
diff --git a/xen/scripts/xen_analysis/utils.py b/xen/scripts/xen_analysis/utils.py
new file mode 100644
index 000000000000..1193e3f4631e
--- /dev/null
+++ b/xen/scripts/xen_analysis/utils.py
@@ -0,0 +1,56 @@
+#!/usr/bin/env python3
+
+import os, re, subprocess
+
+
+def grep(filepath, regex):
+    regObj = re.compile(regex)
+    res = { "file": filepath, "matches": {} }
+    try:
+        with open(filepath, "rt") as f:
+            line_number = 1
+            for line in f:
+                match = regObj.match(line)
+                if match:
+                    res["matches"][line_number] = match.groups()
+                line_number = line_number + 1
+    except Exception as e:
+        print("WARNING: Can't open {}: {}".format(filepath, e))
+
+    # Return filename and line matches if there are
+    return res if res["matches"] else {}
+
+
+def recursive_find_file(path, filename_regex, action = None):
+    filename_reg_obj = re.compile(filename_regex)
+    res = []
+    for root, dirs, fnames in os.walk(path):
+        for fname in fnames:
+            if filename_reg_obj.match(fname):
+                if action is None:
+                    res.append(os.path.join(root, fname))
+                else:
+                    out = action(os.path.join(root, fname))
+                    if out:
+                        res.append(out)
+
+    return res
+
+
+def invoke_command(command, needs_output, exeption_type = Exception,
+                   exeption_msg = ""):
+    try:
+        pipe_stdout = subprocess.PIPE if (needs_output == True) else None
+        output = subprocess.run(command, shell=True, check=True,
+                                stdout=pipe_stdout, stderr=subprocess.STDOUT,
+                                encoding='utf8')
+    except (subprocess.CalledProcessError, subprocess.SubprocessError) as e:
+        if needs_output == True:
+            exeption_msg = exeption_msg.format(e.cmd, output.stdout)
+        else:
+            exeption_msg = exeption_msg.format(e.cmd)
+        excp = exeption_type(exeption_msg)
+        excp.errorcode = e.returncode if hasattr(e, 'returncode') else 1
+        raise excp
+
+    return output.stdout
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 13:07:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 13:07:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456300.714081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2u8w-0004ik-4t; Wed, 07 Dec 2022 13:07:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456300.714081; Wed, 07 Dec 2022 13:07:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2u8w-0004ia-0c; Wed, 07 Dec 2022 13:07:22 +0000
Received: by outflank-mailman (input) for mailman id 456300;
 Wed, 07 Dec 2022 13:07:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xbZ5=4F=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p2u8t-0004EJ-MP
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 13:07:20 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 12de07bd-7630-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 14:07:16 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E84E6ED1;
 Wed,  7 Dec 2022 05:07:22 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DB9CD3F73D;
 Wed,  7 Dec 2022 05:07:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12de07bd-7630-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 2/5] xen/scripts: add cppcheck tool to the xen-analysis.py script
Date: Wed,  7 Dec 2022 13:07:01 +0000
Message-Id: <20221207130704.20573-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207130704.20573-1-luca.fancellu@arm.com>
References: <20221207130704.20573-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Add Cppcheck analysis to the xen-analysis.py script using the
arguments --run-cppcheck.

Now cppcheck analysis will build Xen while the analysis is performed
on the source files, it will produce a text report and an additional
html output when the script is called with --cppcheck-html.

With this patch cppcheck will benefit of platform configuration files
that will help it to understand the target of the compilation and
improve the analysis. These are XML files placed in
xen/tools/cppcheck-plat/, describing to cppcheck the length of basic
types to help it in the analysis.

To do so:
 - Update xen-analysis.py with the code to integrate cppcheck.
 - add platform configuration files for cppcheck..
 - add cppcheck-cc.sh script that is a wrapper for cppcheck and it's
   used as Xen compiler, it will intercept all flags given from the
   make build system and it will execute cppcheck on the compiled
   file together with the file compilation.
 - guarded hypercall-defs.c with CPPCHECK define because cppcheck
   gets confused as the file does not contain c code.
 - add false-positive-cppcheck.json file
 - update documentation.
 - update .gitignore

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v3 changes:
 - used right argument on echo command in cppcheck-cc.sh (Stefano)
 - improved help in the script, now --build-only will generate
   also cppcheck report when cppcheck is called (Stefano)
 - add a comment in documenting-violation.rst to show how to locate
   the proprietary violation id of cppcheck in its reports (Stefano)
v2 changes:
 - changes to commit message (Jan)
 - changes to the cppcheck-cc.sh script and on
   platform XML files, fixed version handling
   in cppcheck_analysis.py (Stefano)
 - Move revert of Makefile and xen/tools/merge_cppcheck_reports.py
   to the following patch, modified .gitignore to handle the
   presence of both Makefile invoked cppcheck and this new method
   (Stefano)
---
---
 .gitignore                                    |   6 +
 docs/misra/cppcheck.txt                       |  27 +-
 docs/misra/documenting-violations.rst         |  27 +-
 docs/misra/false-positive-cppcheck.json       |  12 +
 docs/misra/xen-static-analysis.rst            |  42 ++-
 xen/include/hypercall-defs.c                  |   9 +
 xen/scripts/xen-analysis.py                   |  18 +-
 xen/scripts/xen_analysis/cppcheck_analysis.py | 273 ++++++++++++++++++
 .../xen_analysis/cppcheck_report_utils.py     | 130 +++++++++
 xen/scripts/xen_analysis/generic_analysis.py  |   9 +-
 xen/scripts/xen_analysis/settings.py          |  88 +++++-
 xen/tools/cppcheck-cc.sh                      | 223 ++++++++++++++
 xen/tools/cppcheck-plat/arm32-wchar_t4.xml    |  17 ++
 xen/tools/cppcheck-plat/arm64-wchar_t2.xml    |  17 ++
 xen/tools/cppcheck-plat/x86_64-wchar_t2.xml   |  17 ++
 15 files changed, 864 insertions(+), 51 deletions(-)
 create mode 100644 docs/misra/false-positive-cppcheck.json
 create mode 100644 xen/scripts/xen_analysis/cppcheck_analysis.py
 create mode 100644 xen/scripts/xen_analysis/cppcheck_report_utils.py
 create mode 100755 xen/tools/cppcheck-cc.sh
 create mode 100644 xen/tools/cppcheck-plat/arm32-wchar_t4.xml
 create mode 100644 xen/tools/cppcheck-plat/arm64-wchar_t2.xml
 create mode 100644 xen/tools/cppcheck-plat/x86_64-wchar_t2.xml

diff --git a/.gitignore b/.gitignore
index f5a66f6194dd..39efe2933a33 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,8 +8,11 @@
 *.d
 *.d2
 *.c.cppcheck
+*.cppcheck.txt
+*.cppcheck.xml
 *.opic
 *.a
+*.c.json
 *.safparse
 *.so
 *.so.[0-9]*
@@ -282,9 +285,11 @@ xen/arch/*/efi/efi.h
 xen/arch/*/efi/pe.c
 xen/arch/*/efi/runtime.c
 xen/arch/*/include/asm/asm-offsets.h
+xen/build-dir-cppcheck/
 xen/common/config_data.S
 xen/common/config.gz
 xen/cppcheck-htmlreport/
+xen/cppcheck-report/
 xen/cppcheck-misra.*
 xen/include/headers*.chk
 xen/include/compat/*
@@ -315,6 +320,7 @@ xen/xsm/flask/xenpolicy-*
 tools/flask/policy/policy.conf
 tools/flask/policy/xenpolicy-*
 xen/xen
+xen/suppression-list.txt
 xen/xen-cppcheck.xml
 xen/xen-syms
 xen/xen-syms.map
diff --git a/docs/misra/cppcheck.txt b/docs/misra/cppcheck.txt
index 25d8c3050b72..f7b9f678b4d5 100644
--- a/docs/misra/cppcheck.txt
+++ b/docs/misra/cppcheck.txt
@@ -3,8 +3,7 @@ Cppcheck for Xen static and MISRA analysis
 
 Xen can be analysed for both static analysis problems and MISRA violation using
 cppcheck, the open source tool allows the creation of a report with all the
-findings. Xen has introduced the support in the Makefile so it's very easy to
-use and in this document we can see how.
+findings.
 
 The minimum version required for cppcheck is 2.7. Note that at the time of
 writing (June 2022), the version 2.8 is known to be broken [1].
@@ -38,27 +37,7 @@ Dependencies are listed in the readme.md of the project repository.
 Use cppcheck to analyse Xen
 ===========================
 
-Using cppcheck integration is very simple, it requires few steps:
-
- 1) Compile Xen
- 2) call the cppcheck make target to generate a report in xml format:
-    make CPPCHECK_MISRA=y cppcheck
- 3) call the cppcheck-html make target to generate a report in xml and html
-    format:
-    make CPPCHECK_MISRA=y cppcheck-html
-
-    In case the cppcheck binaries are not in the PATH, CPPCHECK and
-    CPPCHECK_HTMLREPORT variables can be overridden with the full path to the
-    binaries:
-
-    make -C xen \
-        CPPCHECK=/path/to/cppcheck \
-        CPPCHECK_HTMLREPORT=/path/to/cppcheck-htmlreport \
-        CPPCHECK_MISRA=y \
-        cppcheck-html
-
-The output is by default in a folder named cppcheck-htmlreport, but the name
-can be changed by passing it in the CPPCHECK_HTMLREPORT_OUTDIR variable.
-
+To analyse Xen using cppcheck, please refer to the document
+xen-static-analysis.rst, section "Analyse Xen with Cppcheck".
 
 [1] https://sourceforge.net/p/cppcheck/discussion/general/thread/bfc3ab6c41/?limit=25
diff --git a/docs/misra/documenting-violations.rst b/docs/misra/documenting-violations.rst
index 1d23447556d2..0d02a8e6f905 100644
--- a/docs/misra/documenting-violations.rst
+++ b/docs/misra/documenting-violations.rst
@@ -51,6 +51,7 @@ Here is an example to add a new justification in safe.json::
 |        {
 |            "id": "SAF-0-safe",
 |            "analyser": {
+|                "cppcheck": "misra-c2012-20.7",
 |                "coverity": "misra_c_2012_rule_20_7_violation",
 |                "eclair": "MC3R1.R20.7"
 |            },
@@ -77,9 +78,9 @@ Here is an explanation of the fields inside an object of the "content" array:
    It tells the tool to substitute a Xen in-code comment having this structure:
    /* SAF-0-safe [...] \*/
  - analyser: it is an object containing pair of key-value strings, the key is
-   the analyser, so it can be coverity or eclair, the value is the proprietary
-   id corresponding on the finding, for example when coverity is used as
-   analyser, the tool will translate the Xen in-code coment in this way:
+   the analyser, so it can be cppcheck, coverity or eclair, the value is the
+   proprietary id corresponding on the finding, for example when coverity is
+   used as analyser, the tool will translate the Xen in-code coment in this way:
    /* SAF-0-safe [...] \*/ -> /* coverity[misra_c_2012_rule_20_7_violation] \*/
    if the object doesn't have a key-value, then the corresponding in-code
    comment won't be translated.
@@ -189,3 +190,23 @@ the same line and the same "violation ID".
 
 Also, the same tag can be used on other symbols from the linker that are
 declared in the codebase, because the justification holds for them too.
+
+A possible violation found by Cppcheck can be handled in the same way, from the
+cppcheck text report it is possible to identify the violation id:
+
+| include/public/arch-arm.h(226,0):misra-c2012-20.7:style:Expressions resulting from the expansion of macro parameters shall be enclosed in parentheses (Misra rule 20.7)
+
+The violation id can be located also in the HTML report, opening index.html from
+the browser, the violations can be filtered by id in the left side panel, under
+the column "Defect ID". On the right there will be a list of files with the type
+of violation and the violation line number, for the same violation above, there
+will be an entry like the following and the violation id will be in the column
+"Id":
+
+| include/public/arch-arm.h
+| [...]
+| 226 misra-c2012-20.7  style Expressions resulting from the expansion of macro parameters shall be enclosed in parentheses (Misra rule 20.7)
+| [...]
+
+Given the violation id "misra-c2012-20.7", the procedure above can be followed
+to justify this finding.
diff --git a/docs/misra/false-positive-cppcheck.json b/docs/misra/false-positive-cppcheck.json
new file mode 100644
index 000000000000..5d4da2ce6170
--- /dev/null
+++ b/docs/misra/false-positive-cppcheck.json
@@ -0,0 +1,12 @@
+{
+    "version": "1.0",
+    "content": [
+        {
+            "id": "SAF-0-false-positive-cppcheck",
+            "violation-id": "",
+            "tool-version": "",
+            "name": "Sentinel",
+            "text": "Next ID to be used"
+        }
+    ]
+}
diff --git a/docs/misra/xen-static-analysis.rst b/docs/misra/xen-static-analysis.rst
index 5b886474d4a0..2712255db1b0 100644
--- a/docs/misra/xen-static-analysis.rst
+++ b/docs/misra/xen-static-analysis.rst
@@ -7,9 +7,8 @@ The Xen codebase integrates some scripts and tools that helps the developer to
 perform static analysis of the code, currently Xen supports three analysis tool
 that are eclair, coverity and cppcheck.
 The Xen tree has a script (xen-analysis.py) available to ease the analysis
-process and it integrates a way to suppress findings on these tools (only Eclair
-and Coverity are currently supported by the script), please check the
-documenting-violation.rst document to know more about it.
+process and it integrates a way to suppress findings on these tools, please
+check the documenting-violation.rst document to know more about it.
 
 Analyse Xen with Coverity or Eclair
 -----------------------------------
@@ -52,3 +51,40 @@ When invoking the script, the procedure below will be followed:
     this step, call the script adding the --no-clean argument, but before
     running again the script, call it with the --clean-only argument, that will
     execute only this cleaning step.
+
+
+Analyse Xen with Cppcheck
+-------------------------
+
+Cppcheck tool is integrated in xen-analysis.py script, when using the script,
+the tool will be called on every source file compiled by the make build system.
+Here how to start the analysis with Cppcheck:
+
+ - xen-analysis.py --run-cppcheck [--cppcheck-misra] [--cppcheck-html] --
+   [optional make arguments]
+
+The command above tells the script to prepare the codebase and use Cppcheck tool
+for the analysis.
+The optional argument --cppcheck-misra activates the analysis also for MISRA
+compliance.
+The optional argument --cppcheck-html instruct cppcheck to produce an additional
+HTML report.
+
+When invoking the script for Cppcheck analysis, the followed procedure is
+similar to the one above for Coverity or Eclair, but it has some additional
+steps:
+
+ 1. This step is the same as step 1 for Coverity/Eclair.
+ 2. The cppcheck dependency are created, build directory for cppcheck analysis
+    and an header file containing internal compiler macro
+    (include/generated/compiler-def.h) are generated
+ 3. Xen compilation starts using every <additional make parameters> supplied
+    at the script invocation, but because cppcheck is not able to intercept the
+    compiled files and flags on compiler invocation, a script (cppcheck-cc.sh)
+    is passed as CC to the make system, it is a wrapper for the compiler that
+    will also execute cppcheck on every compiled file.
+ 4. After the compilation and analysis, the cppcheck report will be created
+    putting together all the cppcheck report fragments for every analysed file.
+    Cppcheck will produce a text fragment and an additional XML report fragment
+    if the script is configured to produce the HTML output.
+ 5. This step is the same as step 3 for Coverity/Eclair.
diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
index 189612107402..41e1af01f6b2 100644
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -60,6 +60,13 @@
  * are possible.
  */
 
+/*
+ * Cppcheck thinks this file needs to be analysed because it is preprocessed by
+ * the compiler, but it gets confused because this file does not contains C
+ * code. Hence protect the code when CPPCHECK is used.
+ */
+#ifndef CPPCHECK
+
 #ifdef CONFIG_HVM
 #define PREFIX_hvm hvm
 #else
@@ -288,3 +295,5 @@ mca                                do       do       -        -        -
 #ifndef CONFIG_PV_SHIM_EXCLUSIVE
 paging_domctl_cont                 do       do       do       do       -
 #endif
+
+#endif /* !CPPCHECK */
diff --git a/xen/scripts/xen-analysis.py b/xen/scripts/xen-analysis.py
index b5d9ef1862c9..8e50c27cd898 100755
--- a/xen/scripts/xen-analysis.py
+++ b/xen/scripts/xen-analysis.py
@@ -1,28 +1,42 @@
 #!/usr/bin/env python3
 
 import sys
-from xen_analysis import settings, generic_analysis
+from xen_analysis import settings, generic_analysis, cppcheck_analysis
 from xen_analysis.generic_analysis import *
+from xen_analysis.cppcheck_analysis import *
+
+PhaseExceptions = (GetMakeVarsPhaseError, ParseTagPhaseError,
+                   CppcheckDepsPhaseError, BuildPhaseError,
+                   CppcheckReportPhaseError)
 
 
 def main(argv):
     ret_code = 0
     settings.parse_commandline(argv)
     try:
+        if settings.step_get_make_vars:
+            cppcheck_analysis.get_make_vars()
         if settings.step_parse_tags:
             generic_analysis.parse_xen_tags()
+        if settings.step_cppcheck_deps:
+            cppcheck_analysis.generate_cppcheck_deps()
         if settings.step_build_xen:
             generic_analysis.build_xen()
-    except (ParseTagPhaseError, BuildPhaseError) as e:
+        if settings.step_cppcheck_report:
+            cppcheck_analysis.generate_cppcheck_report()
+    except PhaseExceptions as e:
         print("ERROR: {}".format(e))
         if hasattr(e, "errorcode"):
             ret_code = e.errorcode
     finally:
         if settings.step_clean_analysis:
+            cppcheck_analysis.clean_analysis_artifacts()
             e = generic_analysis.clean_analysis_artifacts()
             if e:
                 print("ERROR: {}".format(e))
                 ret_code = 1
+        if settings.step_distclean_analysis:
+            cppcheck_analysis.clean_reports()
 
     sys.exit(ret_code)
 
diff --git a/xen/scripts/xen_analysis/cppcheck_analysis.py b/xen/scripts/xen_analysis/cppcheck_analysis.py
new file mode 100644
index 000000000000..0e952a169641
--- /dev/null
+++ b/xen/scripts/xen_analysis/cppcheck_analysis.py
@@ -0,0 +1,273 @@
+#!/usr/bin/env python3
+
+import os, re, shutil
+from . import settings, utils, cppcheck_report_utils
+
+class GetMakeVarsPhaseError(Exception):
+    pass
+
+class CppcheckDepsPhaseError(Exception):
+    pass
+
+class CppcheckReportPhaseError(Exception):
+    pass
+
+CPPCHECK_BUILD_DIR = "build-dir-cppcheck"
+CPPCHECK_HTMLREPORT_OUTDIR = "cppcheck-htmlreport"
+CPPCHECK_REPORT_OUTDIR = "cppcheck-report"
+cppcheck_extra_make_args = ""
+xen_cc = ""
+
+def get_make_vars():
+    global xen_cc
+    invoke_make = utils.invoke_command(
+            "make -C {} {} export-variable-CC"
+                .format(settings.xen_dir, settings.make_forward_args),
+            True, GetMakeVarsPhaseError,
+            "Error occured retrieving make vars:\n{}"
+        )
+
+    cc_var_regex = re.search('^CC=(.*)$', invoke_make, flags=re.M)
+    if cc_var_regex:
+        xen_cc = cc_var_regex.group(1)
+
+    if xen_cc == "":
+        raise GetMakeVarsPhaseError("CC variable not found in Xen make output")
+
+
+def __generate_suppression_list(out_file):
+    # The following lambda function will return a file if it contains lines with
+    # a comment containing "cppcheck-suppress[*]" on a single line.
+    grep_action = lambda x: utils.grep(x,
+                    r'^[ \t]*/\* cppcheck-suppress\[(.*)\] \*/$')
+    # Look for a list of .h files that matches the condition above
+    headers = utils.recursive_find_file(settings.xen_dir, r'.*\.h$',
+                                        grep_action)
+
+    try:
+        with open(out_file, "wt") as supplist_file:
+            # Add this rule to skip every finding in the autogenerated
+            # header for cppcheck
+            supplist_file.write("*:*generated/compiler-def.h\n")
+
+            for entry in headers:
+                filename = entry["file"]
+                try:
+                    with open(filename, "rt") as infile:
+                        header_content = infile.readlines()
+                except OSError as e:
+                    raise CppcheckDepsPhaseError(
+                            "Issue with reading file {}: {}"
+                                .format(filename, e)
+                          )
+                header_lines_len = len(header_content)
+                # line_num in entry will be header_content[line_num-1], here we
+                # are going to search the first line after line_num that have
+                # anything different from comments or empty line, because the
+                # in-code comment suppression is related to that line then.
+                for line_num in entry["matches"]:
+                    cppcheck_violation_id = ""
+                    tmp_line = line_num
+                    # look up to which line is referring the comment at
+                    # line_num (which would be header_content[tmp_line-1])
+                    comment_section = False
+                    while tmp_line < header_lines_len:
+                        line = header_content[tmp_line]
+                        # Matches a line with just optional spaces/tabs and the
+                        # start of a comment '/*'
+                        comment_line_starts = re.match('^[ \t]*/\*.*$', line)
+                        # Matches a line with text and the end of a comment '*/'
+                        comment_line_stops = re.match('^.*\*/$', line)
+                        if (not comment_section) and comment_line_starts:
+                            comment_section = True
+                        if (len(line.strip()) != 0) and (not comment_section):
+                            cppcheck_violation_id = entry["matches"][line_num][0]
+                            break
+                        if comment_section and comment_line_stops:
+                            comment_section = False
+                        tmp_line = tmp_line + 1
+
+                    if cppcheck_violation_id == "":
+                        raise CppcheckDepsPhaseError(
+                            "Error matching cppcheck comment in {} at line {}."
+                                .format(filename, line_num)
+                          )
+                    # Write [error id]:[filename]:[line]
+                    # tmp_line refers to the array index, so translated to the
+                    # file line (that begins with 1) it is tmp_line+1
+                    supplist_file.write(
+                            "{}:{}:{}\n".format(cppcheck_violation_id, filename,
+                                                (tmp_line + 1))
+                        )
+    except OSError as e:
+        raise CppcheckDepsPhaseError("Issue with writing file {}: {}"
+                                     .format(out_file, e))
+
+
+def generate_cppcheck_deps():
+    global cppcheck_extra_make_args
+
+    # Compile flags to pass to cppcheck:
+    # - include config.h as this is passed directly to the compiler.
+    # - define CPPCHECK as we use it to disable or enable some specific part of
+    #   the code to solve some cppcheck issues.
+    # - explicitely enable some cppcheck checks as we do not want to use "all"
+    #   which includes unusedFunction which gives wrong positives as we check
+    #   file per file.
+    # - Explicitly suppress warnings on compiler-def.h because cppcheck throws
+    #   an unmatchedSuppression due to the rule we put in suppression-list.txt
+    #   to skip every finding in the file.
+    #
+    # Compiler defines are in compiler-def.h which is included in config.h
+    #
+    cppcheck_flags="""
+--cppcheck-build-dir={}/{}
+ --max-ctu-depth=10
+ --enable=style,information,missingInclude
+ --template=\'{{file}}({{line}},{{column}}):{{id}}:{{severity}}:{{message}}\'
+ --relative-paths={}
+ --inline-suppr
+ --suppressions-list={}/suppression-list.txt
+ --suppress='unmatchedSuppression:*generated/compiler-def.h'
+ --include={}/include/xen/config.h
+ -DCPPCHECK
+""".format(settings.outdir, CPPCHECK_BUILD_DIR, settings.xen_dir,
+           settings.outdir, settings.xen_dir)
+
+    invoke_cppcheck = utils.invoke_command(
+            "{} --version".format(settings.cppcheck_binpath),
+            True, CppcheckDepsPhaseError,
+            "Error occured retrieving cppcheck version:\n{}\n\n{}"
+        )
+
+    version_regex = re.search('^Cppcheck (.*)$', invoke_cppcheck, flags=re.M)
+    # Currently, only cppcheck version >= 2.7 is supported, but version 2.8 is
+    # known to be broken, please refer to docs/misra/cppcheck.txt
+    if (not version_regex) or (not version_regex.group(1).startswith("2.7")):
+        raise CppcheckDepsPhaseError(
+                "Can't find cppcheck version or version is not 2.7"
+              )
+
+    # If misra option is selected, append misra addon and generate cppcheck
+    # files for misra analysis
+    if settings.cppcheck_misra:
+        cppcheck_flags = cppcheck_flags + " --addon=cppcheck-misra.json"
+
+        utils.invoke_command(
+            "{}/convert_misra_doc.py -i {}/docs/misra/rules.rst"
+            " -o {}/cppcheck-misra.txt -j {}/cppcheck-misra.json"
+                .format(settings.tools_dir, settings.repo_dir,
+                        settings.outdir, settings.outdir),
+            False, CppcheckDepsPhaseError,
+            "An error occured when running:\n{}"
+        )
+
+    # Generate compiler macros
+    os.makedirs("{}/include/generated".format(settings.outdir), exist_ok=True)
+    utils.invoke_command(
+            "{} -dM -E -o \"{}/include/generated/compiler-def.h\" - < /dev/null"
+                .format(xen_cc, settings.outdir),
+            False, CppcheckDepsPhaseError,
+            "An error occured when running:\n{}"
+        )
+
+    # Generate cppcheck suppression list
+    __generate_suppression_list(
+        "{}/suppression-list.txt".format(settings.outdir))
+
+    # Generate cppcheck build folder
+    os.makedirs("{}/{}".format(settings.outdir, CPPCHECK_BUILD_DIR),
+                exist_ok=True)
+
+    cppcheck_cc_flags = """--compiler={} --cppcheck-cmd={} {}
+ --cppcheck-plat={}/cppcheck-plat --ignore-path=tools/
+ --ignore-path=arch/x86/efi/check.c
+""".format(xen_cc, settings.cppcheck_binpath, cppcheck_flags,
+           settings.tools_dir)
+
+    if settings.cppcheck_html:
+        cppcheck_cc_flags = cppcheck_cc_flags + " --cppcheck-html"
+
+    # Generate the extra make argument to pass the cppcheck-cc.sh wrapper as CC
+    cppcheck_extra_make_args = "CC=\"{}/cppcheck-cc.sh {} --\"".format(
+                                        settings.tools_dir,
+                                        cppcheck_cc_flags
+                                    ).replace("\n", "")
+
+
+def generate_cppcheck_report():
+    # Prepare text report
+    # Look for a list of .cppcheck.txt files, those are the txt report
+    # fragments
+    fragments = utils.recursive_find_file(settings.outdir, r'.*\.cppcheck.txt$')
+    text_report_dir = "{}/{}".format(settings.outdir,
+                                        CPPCHECK_REPORT_OUTDIR)
+    report_filename = "{}/xen-cppcheck.txt".format(text_report_dir)
+    os.makedirs(text_report_dir, exist_ok=True)
+    try:
+        cppcheck_report_utils.cppcheck_merge_txt_fragments(fragments,
+                                                           report_filename,
+                                                           [settings.xen_dir])
+    except cppcheck_report_utils.CppcheckTXTReportError as e:
+        raise CppcheckReportPhaseError(e)
+
+    # If HTML output is requested
+    if settings.cppcheck_html:
+        # Look for a list of .cppcheck.xml files, those are the XML report
+        # fragments
+        fragments = utils.recursive_find_file(settings.outdir,
+                                              r'.*\.cppcheck.xml$')
+        html_report_dir = "{}/{}".format(settings.outdir,
+                                         CPPCHECK_HTMLREPORT_OUTDIR)
+        xml_filename = "{}/xen-cppcheck.xml".format(html_report_dir)
+        os.makedirs(html_report_dir, exist_ok=True)
+        try:
+            cppcheck_report_utils.cppcheck_merge_xml_fragments(fragments,
+                                                               xml_filename,
+                                                               settings.xen_dir,
+                                                               settings.outdir)
+        except cppcheck_report_utils.CppcheckHTMLReportError as e:
+            raise CppcheckReportPhaseError(e)
+        # Call cppcheck-htmlreport utility to generate the HTML output
+        utils.invoke_command(
+            "{} --file={} --source-dir={} --report-dir={}/html --title=Xen"
+                .format(settings.cppcheck_htmlreport_binpath, xml_filename,
+                        settings.xen_dir, html_report_dir),
+            False, CppcheckReportPhaseError,
+            "Error occured generating Cppcheck HTML report:\n{}"
+        )
+        # Strip src and obj path from *.html files
+        html_files = utils.recursive_find_file(html_report_dir, r'.*\.html$')
+        try:
+            cppcheck_report_utils.cppcheck_strip_path_html(html_files,
+                                                           (settings.xen_dir,
+                                                            settings.outdir))
+        except cppcheck_report_utils.CppcheckHTMLReportError as e:
+            raise CppcheckReportPhaseError(e)
+
+
+def clean_analysis_artifacts():
+    clean_files = ("suppression-list.txt", "cppcheck-misra.txt",
+                   "cppcheck-misra.json")
+    cppcheck_build_dir = "{}/{}".format(settings.outdir, CPPCHECK_BUILD_DIR)
+    if os.path.isdir(cppcheck_build_dir):
+        shutil.rmtree(cppcheck_build_dir)
+    artifact_files = utils.recursive_find_file(settings.outdir,
+                                r'.*\.(?:c\.json|cppcheck\.txt|cppcheck\.xml)$')
+    for file in clean_files:
+        file = "{}/{}".format(settings.outdir, file)
+        if os.path.isfile(file):
+            artifact_files.append(file)
+    for delfile in artifact_files:
+        os.remove(delfile)
+
+
+def clean_reports():
+    text_report_dir = "{}/{}".format(settings.outdir,
+                                     CPPCHECK_REPORT_OUTDIR)
+    html_report_dir = "{}/{}".format(settings.outdir,
+                                     CPPCHECK_HTMLREPORT_OUTDIR)
+    if os.path.isdir(text_report_dir):
+        shutil.rmtree(text_report_dir)
+    if os.path.isdir(html_report_dir):
+        shutil.rmtree(html_report_dir)
diff --git a/xen/scripts/xen_analysis/cppcheck_report_utils.py b/xen/scripts/xen_analysis/cppcheck_report_utils.py
new file mode 100644
index 000000000000..02440aefdfec
--- /dev/null
+++ b/xen/scripts/xen_analysis/cppcheck_report_utils.py
@@ -0,0 +1,130 @@
+#!/usr/bin/env python3
+
+import os
+from xml.etree import ElementTree
+
+class CppcheckHTMLReportError(Exception):
+    pass
+
+class CppcheckTXTReportError(Exception):
+    pass
+
+
+def __elements_equal(el1, el2):
+    if type(el1) != type(el2): return False
+
+    if el1.find('location') is None: return False
+    if el2.find('location') is None: return False
+
+    el1_location = str(el1.find('location').attrib)
+    el2_location = str(el2.find('location').attrib)
+
+    if el1_location != el2_location: return False
+
+    return True
+
+
+def __contain_element(new, lst):
+    for elem in lst:
+        if __elements_equal(new, elem):
+            return True
+    return False
+
+
+def __get_xml_root_file(filename):
+    try:
+        result_xml_root = ElementTree.parse(filename).getroot()
+    except ElementTree.ParseError as e:
+        raise CppcheckHTMLReportError(
+                    "XML parsing error in {}: {}".format(filename, e)
+                )
+    return result_xml_root
+
+
+def __sanitize_cppcheck_xml_path(xml_tree, src_path, obj_path):
+    # Some path are relative to the source tree but some others are generated
+    # in the obj tree, for cppcheck when using cppcheck-htmlreport we can pass
+    # only one source tree where the files will be fetched if relative path are
+    # found. So for every path that does not exists in src tree, we guess it
+    # comes from obj tree and we put explicit absolute path to it
+    error_item_root = xml_tree.findall("errors")[0]
+    for error_item in error_item_root:
+        for location_item in error_item.findall("location"):
+            path = location_item.attrib["file"]
+            new_obj_path = obj_path + "/" + path
+            new_src_path = src_path + "/" + path
+            if (path[0] != "/") and (not os.path.isfile(new_src_path)) \
+               and os.path.isfile(new_obj_path):
+                location_item.attrib["file"] = new_obj_path
+
+
+def cppcheck_merge_xml_fragments(fragments_list, out_xml_file, src_path,
+                                 obj_path):
+
+    result_xml = __get_xml_root_file(fragments_list[0])
+    insert_point = result_xml.findall("errors")[0]
+    for xml_file in fragments_list[1:]:
+        xml_root = __get_xml_root_file(xml_file)
+        curr_elem_list = list(insert_point)
+        new_elem_list = list(xml_root.findall("errors")[0])
+        for xml_error_elem in new_elem_list:
+            if not __contain_element(xml_error_elem, curr_elem_list):
+                insert_point.insert(1, xml_error_elem)
+
+    if result_xml is None:
+        return False
+
+    __sanitize_cppcheck_xml_path(result_xml, src_path, obj_path)
+
+    ElementTree.ElementTree(result_xml).write(out_xml_file)
+
+    return True
+
+
+def cppcheck_merge_txt_fragments(fragments_list, out_txt_file, strip_paths):
+    try:
+        with open(out_txt_file, "wt") as outfile:
+            # Using a set will remove automatically the duplicate lines
+            text_report_content = set()
+            for file in fragments_list:
+                try:
+                    with open(file, "rt") as infile:
+                        frag_lines = infile.readlines()
+                except OSError as e:
+                    raise CppcheckTXTReportError(
+                            "Issue with reading file {}: {}"
+                                .format(file, e)
+                            )
+                text_report_content.update(frag_lines)
+
+            # Back to modifiable list
+            text_report_content = list(text_report_content)
+            # Strip path from report lines
+            for i in list(range(0, len(text_report_content))):
+                for path in strip_paths:
+                    text_report_content[i] = text_report_content[i].replace(
+                                                                path + "/", "")
+            # Write the final text report
+            outfile.writelines(text_report_content)
+    except OSError as e:
+        raise CppcheckTXTReportError("Issue with writing file {}: {}"
+                                            .format(out_txt_file, e))
+
+
+def cppcheck_strip_path_html(html_files, strip_paths):
+    for file in html_files:
+        try:
+            with open(file, "rt") as infile:
+                html_lines = infile.readlines()
+        except OSError as e:
+            raise CppcheckHTMLReportError("Issue with reading file {}: {}"
+                                                            .format(file, e))
+        for i in list(range(0, len(html_lines))):
+            for path in strip_paths:
+                html_lines[i] = html_lines[i].replace(path + "/", "")
+        try:
+            with open(file, "wt") as outfile:
+                outfile.writelines(html_lines)
+        except OSError as e:
+            raise CppcheckHTMLReportError("Issue with writing file {}: {}"
+                                                            .format(file, e))
diff --git a/xen/scripts/xen_analysis/generic_analysis.py b/xen/scripts/xen_analysis/generic_analysis.py
index 372ff3566442..94122aebace0 100644
--- a/xen/scripts/xen_analysis/generic_analysis.py
+++ b/xen/scripts/xen_analysis/generic_analysis.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python3
 
-import os, subprocess
-from . import settings, utils, tag_database
+import os
+from . import settings, utils, tag_database, cppcheck_analysis
 
 class ParseTagPhaseError(Exception):
     pass
@@ -61,8 +61,9 @@ def parse_xen_tags():
 
 def build_xen():
     utils.invoke_command(
-            "make -C {} {} build"
-                .format(settings.xen_dir, settings.make_forward_args),
+            "make -C {} {} {} build"
+                .format(settings.xen_dir, settings.make_forward_args,
+                        cppcheck_analysis.cppcheck_extra_make_args),
             False, BuildPhaseError,
             "Build error occured when running:\n{}"
         )
diff --git a/xen/scripts/xen_analysis/settings.py b/xen/scripts/xen_analysis/settings.py
index e8d474eaf378..a8502e554e95 100644
--- a/xen/scripts/xen_analysis/settings.py
+++ b/xen/scripts/xen_analysis/settings.py
@@ -7,14 +7,23 @@ xen_dir = os.path.realpath(module_dir + "/../..")
 repo_dir = os.path.realpath(xen_dir + "/..")
 tools_dir = os.path.realpath(xen_dir + "/tools")
 
+step_get_make_vars = False
 step_parse_tags = True
+step_cppcheck_deps = False
 step_build_xen = True
+step_cppcheck_report = False
 step_clean_analysis = True
+step_distclean_analysis = False
 
 target_build = False
 target_clean = False
+target_distclean = False
 
 analysis_tool = ""
+cppcheck_binpath = "cppcheck"
+cppcheck_html = False
+cppcheck_htmlreport_binpath = "cppcheck-htmlreport"
+cppcheck_misra = False
 make_forward_args = ""
 outdir = xen_dir
 
@@ -25,44 +34,66 @@ Usage: {} [OPTION] ... [-- [make arguments]]
 
 This script runs the analysis on the Xen codebase.
 
-The phases for the analysis are <tags>, <build>, <clean>
+The phases for the analysis are <tags>, <build>, <clean>, <cppcheck report>
 
 Depending on the options below, only some phases will run:
 
-<no options>: tags, build, clean
---build-only: build
+<no options>: tags, build, [cppcheck report], clean
+--build-only: build, [cppcheck report]
 --clean-only: clean
+--distclean:  clean, [destroy cppcheck report]
 --no-build:   tags, clean
 --no-clean:   tags, build
 
 --no-build/--no-clean can be passed together to avoid both clean and build
 phases.
-Tags and build phases need to specify --run-coverity or --run-eclair.
+Tags and build phases need to specify --run-coverity, --run-eclair or
+--run-cppcheck.
+Cppcheck report creation phase runs only when --run-cppcheck is passed to the
+script.
 
 Options:
-  --build-only    Run only the commands to build Xen with the optional make
-                  arguments passed to the script
-  --clean-only    Run only the commands to clean the analysis artifacts
-  -h, --help      Print this help
-  --no-build      Skip the build Xen phase
-  --no-clean      Don\'t clean the analysis artifacts on exit
-  --run-coverity  Run the analysis for the Coverity tool
-  --run-eclair    Run the analysis for the Eclair tool
+  --build-only          Run only the commands to build Xen with the optional
+                        make arguments passed to the script
+  --clean-only          Run only the commands to clean the analysis artifacts
+  --cppcheck-bin=       Path to the cppcheck binary (Default: {})
+  --cppcheck-html       Produce an additional HTML output report for Cppcheck
+  --cppcheck-html-bin=  Path to the cppcheck-html binary (Default: {})
+  --cppcheck-misra      Activate the Cppcheck MISRA analysis
+  --distclean           Clean analysis artifacts and reports
+  -h, --help            Print this help
+  --no-build            Skip the build Xen phase
+  --no-clean            Don\'t clean the analysis artifacts on exit
+  --run-coverity        Run the analysis for the Coverity tool
+  --run-cppcheck        Run the Cppcheck analysis tool on Xen
+  --run-eclair          Run the analysis for the Eclair tool
 """
-    print(msg.format(sys.argv[0]))
+    print(msg.format(sys.argv[0], cppcheck_binpath,
+                     cppcheck_htmlreport_binpath))
 
 
 def parse_commandline(argv):
     global analysis_tool
+    global cppcheck_binpath
+    global cppcheck_html
+    global cppcheck_htmlreport_binpath
+    global cppcheck_misra
     global make_forward_args
     global outdir
+    global step_get_make_vars
     global step_parse_tags
+    global step_cppcheck_deps
     global step_build_xen
+    global step_cppcheck_report
     global step_clean_analysis
+    global step_distclean_analysis
     global target_build
     global target_clean
+    global target_distclean
     forward_to_make = False
     for option in argv:
+        args_with_content_regex = re.match(r'^(--[a-z]+[a-z-]*)=(.*)$', option)
+
         if forward_to_make:
             # Intercept outdir
             outdir_regex = re.match("^O=(.*)$", option)
@@ -74,6 +105,18 @@ def parse_commandline(argv):
             target_build = True
         elif option == "--clean-only":
             target_clean = True
+        elif args_with_content_regex and \
+             args_with_content_regex.group(1) == "--cppcheck-bin":
+            cppcheck_binpath = args_with_content_regex.group(2)
+        elif option == "--cppcheck-html":
+            cppcheck_html = True
+        elif args_with_content_regex and \
+             args_with_content_regex.group(1) == "--cppcheck-html-bin":
+            cppcheck_htmlreport_binpath = args_with_content_regex.group(2)
+        elif option == "--cppcheck-misra":
+            cppcheck_misra = True
+        elif option == "--distclean":
+            target_distclean = True
         elif (option == "--help") or (option == "-h"):
             help()
             sys.exit(0)
@@ -83,6 +126,11 @@ def parse_commandline(argv):
             step_clean_analysis = False
         elif (option == "--run-coverity") or (option == "--run-eclair"):
             analysis_tool = option[6:]
+        elif (option == "--run-cppcheck"):
+            analysis_tool = "cppcheck"
+            step_get_make_vars = True
+            step_cppcheck_deps = True
+            step_cppcheck_report = True
         elif option == "--":
             forward_to_make = True
         else:
@@ -90,13 +138,23 @@ def parse_commandline(argv):
             help()
             sys.exit(1)
 
-    if target_build and target_clean:
-        print("--build-only is not compatible with --clean-only argument.")
+    if target_build and (target_clean or target_distclean):
+        print("--build-only is not compatible with --clean-only/--distclean "
+              "argument.")
         sys.exit(1)
 
+    if target_distclean:
+        # Implicit activation of clean target
+        target_clean = True
+
+        step_distclean_analysis = True
+
     if target_clean:
+        step_get_make_vars = False
         step_parse_tags = False
+        step_cppcheck_deps = False
         step_build_xen = False
+        step_cppcheck_report = False
         step_clean_analysis = True
         return
 
diff --git a/xen/tools/cppcheck-cc.sh b/xen/tools/cppcheck-cc.sh
new file mode 100755
index 000000000000..f6728e4c1084
--- /dev/null
+++ b/xen/tools/cppcheck-cc.sh
@@ -0,0 +1,223 @@
+#!/usr/bin/env bash
+
+set -e
+
+function help() {
+    cat <<EOF
+Usage: ${0} [OPTION] ... -- <compiler arguments>
+
+This script is a wrapper for cppcheck that enables it to analyse the files that
+are the target for the build, it is used in place of a selected compiler and the
+make process will run it on every file that needs to be built.
+All the arguments passed to the original compiler are forwarded to it without
+modification, furthermore, they are used to improve the cppcheck analysis.
+
+Options:
+  --compiler=       Use this compiler for the build
+  --cppcheck-cmd=   Command line for the cppcheck analysis.
+  --cppcheck-html   Prepare for cppcheck HTML output
+  --cppcheck-plat=  Path to the cppcheck platform folder
+  --ignore-path=    This script won't run cppcheck on the files having this
+                    path, the compiler will run anyway on them. This argument
+                    can be specified multiple times.
+  -h, --help        Print this help
+EOF
+}
+
+CC_FILE=""
+COMPILER=""
+CPPCHECK_HTML="n"
+CPPCHECK_PLAT_PATH=""
+CPPCHECK_TOOL=""
+CPPCHECK_TOOL_ARGS=""
+FORWARD_FLAGS=""
+IGNORE_PATH="n"
+IGNORE_PATH_LIST=""
+JDB_FILE=""
+OBJTREE_PATH=""
+
+# Variable used for arg parsing
+forward_to_cc="n"
+sm_tool_args="n"
+obj_arg_content="n"
+
+for OPTION in "$@"
+do
+    if [ "${forward_to_cc}" = "y" ]; then
+        if [[ ${OPTION} == *.c ]]
+        then
+            CC_FILE="${OPTION}"
+        elif [ "${OPTION}" = "-o" ]
+        then
+            # After -o there is the path to the obj file, flag it
+            obj_arg_content="y"
+        elif [ "${obj_arg_content}" = "y" ]
+        then
+            # This must be the path to the obj file, turn off flag and save path
+            OBJTREE_PATH="$(dirname "${OPTION}")"
+            obj_arg_content="n"
+        fi
+        # Forward any argument to the compiler
+        FORWARD_FLAGS="${FORWARD_FLAGS} ${OPTION}"
+        continue
+    fi
+    case ${OPTION} in
+        -h|--help)
+            help
+            exit 0
+            ;;
+        --compiler=*)
+            COMPILER="${OPTION#*=}"
+            sm_tool_args="n"
+            ;;
+        --cppcheck-cmd=*)
+            CPPCHECK_TOOL="${OPTION#*=}"
+            sm_tool_args="y"
+            ;;
+        --cppcheck-html)
+            CPPCHECK_HTML="y"
+            sm_tool_args="n"
+            ;;
+        --cppcheck-plat=*)
+            CPPCHECK_PLAT_PATH="${OPTION#*=}"
+            sm_tool_args="n"
+            ;;
+        --ignore-path=*)
+            IGNORE_PATH_LIST="${IGNORE_PATH_LIST} ${OPTION#*=}"
+            sm_tool_args="n"
+            ;;
+        --)
+            forward_to_cc="y"
+            sm_tool_args="n"
+            ;;
+        *)
+            if [ "${sm_tool_args}" = "y" ]; then
+                CPPCHECK_TOOL_ARGS="${CPPCHECK_TOOL_ARGS} ${OPTION}"
+            else
+                echo "Invalid option ${OPTION}"
+                exit 1
+            fi
+            ;;
+    esac
+done
+
+if [ "${COMPILER}" = "" ]
+then
+    echo "--compiler arg is mandatory."
+    exit 1
+fi
+
+function create_jcd() {
+    local line="${1}"
+    local arg_num=0
+    local same_line=0
+
+    {
+        echo "["
+        echo "    {"
+        echo "        \"arguments\": ["
+
+        for arg in ${line}; do
+            # This code prevents to put comma in the last element of the list or
+            # on sequential lines that are going to be merged
+            if [ "${arg_num}" -ne 0 ] && [ "${same_line}" -eq 0 ]
+            then
+                echo ","
+            fi
+            if [ "${same_line}" -ne 0 ]
+            then
+                echo -n "${arg}\""
+                same_line=0
+            elif [ "${arg}" = "-iquote" ] || [ "${arg}" = "-I" ]
+            then
+                # cppcheck doesn't understand -iquote, substitute with -I
+                echo -n "            \"-I"
+                same_line=1
+            else
+                echo -n "            \"${arg}\""
+            fi
+            arg_num=$(( arg_num + 1 ))
+        done
+        echo ""
+        echo "        ],"
+        echo "        \"directory\": \"$(pwd -P)\","
+        echo "        \"file\": \"${CC_FILE}\""
+        echo "    }"
+        echo "]"
+    } > "${JDB_FILE}"
+}
+
+
+# Execute compiler with forwarded flags
+# Shellcheck complains about missing quotes on FORWARD_FLAGS, but they can't be
+# used here
+# shellcheck disable=SC2086
+${COMPILER} ${FORWARD_FLAGS}
+
+if [ -n "${CC_FILE}" ];
+then
+    for path in ${IGNORE_PATH_LIST}
+    do
+        if [[ ${CC_FILE} == *${path}* ]]
+        then
+            IGNORE_PATH="y"
+            echo "${0}: ${CC_FILE} ignored by --ignore-path matching *${path}*"
+        fi
+    done
+    if [ "${IGNORE_PATH}" = "n" ]
+    then
+        JDB_FILE="${OBJTREE_PATH}/$(basename "${CC_FILE}".json)"
+
+        # Prepare the Json Compilation Database for the file
+        create_jcd "${COMPILER} ${FORWARD_FLAGS}"
+
+        out_file="${OBJTREE_PATH}/$(basename "${CC_FILE%.c}".cppcheck.txt)"
+
+        # Select the right target platform, ARCH is generated from Xen Makefile
+        case ${ARCH} in
+            arm64)
+                # arm64 has efi code compiled with -fshort-wchar
+                platform="${CPPCHECK_PLAT_PATH}/arm64-wchar_t2.xml"
+                ;;
+            arm32)
+                # arm32 has no efi code
+                platform="${CPPCHECK_PLAT_PATH}/arm32-wchar_t4.xml"
+                ;;
+            x86_64)
+                # x86_64 has efi code compiled with -fshort-wchar
+                platform="${CPPCHECK_PLAT_PATH}/x86_64-wchar_t2.xml"
+                ;;
+            *)
+                echo "ARCH: ${ARCH} not expected!"
+                exit 1
+                ;;
+        esac
+
+        if [ ! -f "${platform}" ]
+        then
+            echo "${platform} not found!"
+            exit 1
+        fi
+
+        # Shellcheck complains about missing quotes on CPPCHECK_TOOL_ARGS, but
+        # they can't be used here
+        # shellcheck disable=SC2086
+        ${CPPCHECK_TOOL} ${CPPCHECK_TOOL_ARGS} \
+            --project="${JDB_FILE}" \
+            --output-file="${out_file}" \
+            --platform="${platform}"
+
+        if [ "${CPPCHECK_HTML}" = "y" ]
+        then
+            # Shellcheck complains about missing quotes on CPPCHECK_TOOL_ARGS,
+            # but they can't be used here
+            # shellcheck disable=SC2086
+            ${CPPCHECK_TOOL} ${CPPCHECK_TOOL_ARGS} \
+                --project="${JDB_FILE}" \
+                --output-file="${out_file%.txt}.xml" \
+                --platform="${platform}" \
+                -q \
+                --xml
+        fi
+    fi
+fi
diff --git a/xen/tools/cppcheck-plat/arm32-wchar_t4.xml b/xen/tools/cppcheck-plat/arm32-wchar_t4.xml
new file mode 100644
index 000000000000..3aefa7ba5c98
--- /dev/null
+++ b/xen/tools/cppcheck-plat/arm32-wchar_t4.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<platform>
+  <char_bit>8</char_bit>
+  <default-sign>unsigned</default-sign>
+  <sizeof>
+    <short>2</short>
+    <int>4</int>
+    <long>4</long>
+    <long-long>8</long-long>
+    <float>4</float>
+    <double>8</double>
+    <long-double>8</long-double>
+    <pointer>4</pointer>
+    <size_t>4</size_t>
+    <wchar_t>4</wchar_t>
+  </sizeof>
+</platform>
diff --git a/xen/tools/cppcheck-plat/arm64-wchar_t2.xml b/xen/tools/cppcheck-plat/arm64-wchar_t2.xml
new file mode 100644
index 000000000000..b2dc2fb2cc50
--- /dev/null
+++ b/xen/tools/cppcheck-plat/arm64-wchar_t2.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<platform>
+  <char_bit>8</char_bit>
+  <default-sign>unsigned</default-sign>
+  <sizeof>
+    <short>2</short>
+    <int>4</int>
+    <long>8</long>
+    <long-long>8</long-long>
+    <float>4</float>
+    <double>8</double>
+    <long-double>16</long-double>
+    <pointer>8</pointer>
+    <size_t>8</size_t>
+    <wchar_t>2</wchar_t>
+  </sizeof>
+</platform>
diff --git a/xen/tools/cppcheck-plat/x86_64-wchar_t2.xml b/xen/tools/cppcheck-plat/x86_64-wchar_t2.xml
new file mode 100644
index 000000000000..0b3bb6e0fb8e
--- /dev/null
+++ b/xen/tools/cppcheck-plat/x86_64-wchar_t2.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<platform>
+  <char_bit>8</char_bit>
+  <default-sign>signed</default-sign>
+  <sizeof>
+    <short>2</short>
+    <int>4</int>
+    <long>8</long>
+    <long-long>8</long-long>
+    <float>4</float>
+    <double>8</double>
+    <long-double>16</long-double>
+    <pointer>8</pointer>
+    <size_t>8</size_t>
+    <wchar_t>2</wchar_t>
+  </sizeof>
+</platform>
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 13:07:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 13:07:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456301.714087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2u8w-0004mS-HR; Wed, 07 Dec 2022 13:07:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456301.714087; Wed, 07 Dec 2022 13:07:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2u8w-0004mH-CL; Wed, 07 Dec 2022 13:07:22 +0000
Received: by outflank-mailman (input) for mailman id 456301;
 Wed, 07 Dec 2022 13:07:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xbZ5=4F=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p2u8u-0004CY-6F
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 13:07:20 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 1485c9e6-7630-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 14:07:19 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C48A013D5;
 Wed,  7 Dec 2022 05:07:25 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D2F173F73D;
 Wed,  7 Dec 2022 05:07:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1485c9e6-7630-11ed-8fd2-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 4/5] tools/misra: fix skipped rule numbers
Date: Wed,  7 Dec 2022 13:07:03 +0000
Message-Id: <20221207130704.20573-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207130704.20573-1-luca.fancellu@arm.com>
References: <20221207130704.20573-1-luca.fancellu@arm.com>

MISRA rules are in the format Rule X.Y, currently the script
convert_misra_doc.py is using two nested loop through range(1,22) to
enumerate rules that needs to be skipped, using combination of X.Y in
that range, however there are two issues in the code:
 - rule 22 is never included because the range(1,22) produces a range
   in [1..21]
 - the second issue is that the code is producing invalid MISRA C 2012
   rules, for example 1.21 and so on

Fix the issue using a dictionary that list the rules in misra c2012.

Fixes: 57caa5375321 ("xen: Add MISRA support to cppcheck make rule")
Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v3 changes:
 - none
Changes in v2:
 - modified commit message, add R-by (Stefano)
---
---
 xen/tools/convert_misra_doc.py | 32 ++++++++++++++++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/xen/tools/convert_misra_doc.py b/xen/tools/convert_misra_doc.py
index caa4487f645f..13074d8a2e91 100755
--- a/xen/tools/convert_misra_doc.py
+++ b/xen/tools/convert_misra_doc.py
@@ -14,6 +14,34 @@ Usage:
 
 import sys, getopt, re
 
+# MISRA rule are identified by two numbers, e.g. Rule 1.2, the main rule number
+# and a sub-number. This dictionary contains the number of the MISRA rule as key
+# and the maximum sub-number for that rule as value.
+misra_c2012_rules = {
+    1:4,
+    2:7,
+    3:2,
+    4:2,
+    5:9,
+    6:2,
+    7:4,
+    8:14,
+    9:5,
+    10:8,
+    11:9,
+    12:5,
+    13:6,
+    14:4,
+    15:7,
+    16:7,
+    17:8,
+    18:8,
+    19:2,
+    20:14,
+    21:21,
+    22:10
+}
+
 def main(argv):
     infile = ''
     outfile = ''
@@ -142,8 +170,8 @@ def main(argv):
     skip_list = []
 
     # Search for missing rules and add a dummy text with the rule number
-    for i in list(range(1,22)):
-        for j in list(range(1,22)):
+    for i in misra_c2012_rules:
+        for j in list(range(1,misra_c2012_rules[i]+1)):
             if str(i) + '.' + str(j) not in rule_list:
                 outstr.write('Rule ' + str(i) + '.' + str(j) + '\n')
                 outstr.write('No description for rule ' + str(i) + '.' + str(j)
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 13:07:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 13:07:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456303.714103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2u8x-000593-Lj; Wed, 07 Dec 2022 13:07:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456303.714103; Wed, 07 Dec 2022 13:07:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2u8x-00055z-CI; Wed, 07 Dec 2022 13:07:23 +0000
Received: by outflank-mailman (input) for mailman id 456303;
 Wed, 07 Dec 2022 13:07:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xbZ5=4F=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p2u8v-0004CY-Rf
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 13:07:21 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 15678740-7630-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 14:07:21 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 38A87D6E;
 Wed,  7 Dec 2022 05:07:27 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 46FA73F73D;
 Wed,  7 Dec 2022 05:07:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15678740-7630-11ed-8fd2-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 5/5] xen: Justify linker script defined symbols in include/xen/kernel.h
Date: Wed,  7 Dec 2022 13:07:04 +0000
Message-Id: <20221207130704.20573-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207130704.20573-1-luca.fancellu@arm.com>
References: <20221207130704.20573-1-luca.fancellu@arm.com>

Eclair and Coverity found violation of the MISRA rule 8.6 for the
symbols _start, _end, start, _stext, _etext, _srodata, _erodata,
_sinittext, _einittext which are declared in
xen/include/xen/kernel.h.
All those symbols are defined by the liker script so we can deviate
from the rule 8.6 for these cases.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v3 changes:
 - none
v2 changes:
 - add R-by and Ack-by (Stefano, Jan)
---
---
 docs/misra/safe.json     | 9 +++++++++
 xen/include/xen/kernel.h | 4 ++++
 2 files changed, 13 insertions(+)

diff --git a/docs/misra/safe.json b/docs/misra/safe.json
index e079d3038120..e3c8a1d8eb36 100644
--- a/docs/misra/safe.json
+++ b/docs/misra/safe.json
@@ -3,6 +3,15 @@
     "content": [
         {
             "id": "SAF-0-safe",
+            "analyser": {
+                "eclair": "MC3R1.R8.6",
+                "coverity": "misra_c_2012_rule_8_6_violation"
+            },
+            "name": "Rule 8.6: linker script defined symbols",
+            "text": "It is safe to declare this symbol because it is defined in the linker script."
+        },
+        {
+            "id": "SAF-1-safe",
             "analyser": {},
             "name": "Sentinel",
             "text": "Next ID to be used"
diff --git a/xen/include/xen/kernel.h b/xen/include/xen/kernel.h
index 8cd142032d3b..f1a7713784fc 100644
--- a/xen/include/xen/kernel.h
+++ b/xen/include/xen/kernel.h
@@ -65,24 +65,28 @@
 	1;                                      \
 })
 
+/* SAF-0-safe */
 extern char _start[], _end[], start[];
 #define is_kernel(p) ({                         \
     char *__p = (char *)(unsigned long)(p);     \
     (__p >= _start) && (__p < _end);            \
 })
 
+/* SAF-0-safe */
 extern char _stext[], _etext[];
 #define is_kernel_text(p) ({                    \
     char *__p = (char *)(unsigned long)(p);     \
     (__p >= _stext) && (__p < _etext);          \
 })
 
+/* SAF-0-safe */
 extern const char _srodata[], _erodata[];
 #define is_kernel_rodata(p) ({                  \
     const char *__p = (const char *)(unsigned long)(p);     \
     (__p >= _srodata) && (__p < _erodata);      \
 })
 
+/* SAF-0-safe */
 extern char _sinittext[], _einittext[];
 #define is_kernel_inittext(p) ({                \
     char *__p = (char *)(unsigned long)(p);     \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 13:07:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 13:07:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456302.714095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2u8w-0004vB-UY; Wed, 07 Dec 2022 13:07:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456302.714095; Wed, 07 Dec 2022 13:07:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2u8w-0004uE-Nh; Wed, 07 Dec 2022 13:07:22 +0000
Received: by outflank-mailman (input) for mailman id 456302;
 Wed, 07 Dec 2022 13:07:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xbZ5=4F=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p2u8u-0004EJ-EO
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 13:07:20 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 13ca6521-7630-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 14:07:18 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5C34823A;
 Wed,  7 Dec 2022 05:07:24 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6ACA63F73D;
 Wed,  7 Dec 2022 05:07:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13ca6521-7630-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 3/5] xen/Makefile: remove Cppcheck invocation from the Makefile
Date: Wed,  7 Dec 2022 13:07:02 +0000
Message-Id: <20221207130704.20573-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221207130704.20573-1-luca.fancellu@arm.com>
References: <20221207130704.20573-1-luca.fancellu@arm.com>

The script xen-analysis.py is going to be used for the analysis with
cppcheck, so remove the rules from the Makefile.

The python script xen/tools/merge_cppcheck_reports.py was used by the
makefile rules, but its functionality is integrated in the
xen-analysis.py script now, so it can be removed.

Remove some entry from the .gitignore related to Cppcheck invocation
from Makefile.

This is a partial revert of commit 43aa3f6e72d34 where the entry
xen/xen-cppcheck.xml from .gitignore is reverted because its path has
changed, *.c.cppcheck entry is not needed anymore either,
merge_cppcheck_reports.py script is reverted for the reason above,
all makefile changes are reverted.
Every other change to processor.h, config.h, kconfig.h is kept because
they are used with the new process.

This is a partial revert of commit 57caa53753212 where Makefile changes
are reverted, convert_misra_doc.py script is kept as it is used with the
new process.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
v3 changes:
 - add information on reverted commits (Jan)
v2 changes:
 - new patch
---
---
 .gitignore                          |   2 -
 xen/Makefile                        | 116 ++--------------------------
 xen/tools/merge_cppcheck_reports.py |  86 ---------------------
 3 files changed, 6 insertions(+), 198 deletions(-)
 delete mode 100755 xen/tools/merge_cppcheck_reports.py

diff --git a/.gitignore b/.gitignore
index 39efe2933a33..68566d0c2587 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,7 +7,6 @@
 *.o
 *.d
 *.d2
-*.c.cppcheck
 *.cppcheck.txt
 *.cppcheck.xml
 *.opic
@@ -321,7 +320,6 @@ tools/flask/policy/policy.conf
 tools/flask/policy/xenpolicy-*
 xen/xen
 xen/suppression-list.txt
-xen/xen-cppcheck.xml
 xen/xen-syms
 xen/xen-syms.map
 xen/xen.*
diff --git a/xen/Makefile b/xen/Makefile
index e55fb98e11ee..2d55bb9401f4 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -457,7 +457,7 @@ endif # need-config
 
 __all: build
 
-main-targets := build install uninstall clean distclean MAP cppcheck cppcheck-html
+main-targets := build install uninstall clean distclean MAP
 .PHONY: $(main-targets)
 ifneq ($(XEN_TARGET_ARCH),x86_32)
 $(main-targets): %: _% ;
@@ -566,18 +566,16 @@ _clean:
 	$(Q)$(MAKE) $(clean)=tools/kconfig
 	find . \( -name "*.o" -o -name ".*.d" -o -name ".*.d2" \
 		-o -name ".*.o.tmp" -o -name "*~" -o -name "core" \
-		-o -name '*.lex.c' -o -name '*.tab.[ch]' -o -name '*.c.cppcheck' \
-		-o -name "*.gcno" -o -name ".*.cmd" -o -name "lib.a" \) -exec rm -f {} \;
+		-o -name '*.lex.c' -o -name '*.tab.[ch]' -o -name "*.gcno" \
+		-o -name ".*.cmd" -o -name "lib.a" \) -exec rm -f {} \;
 	rm -f include/asm $(TARGET) $(TARGET).gz $(TARGET)-syms $(TARGET)-syms.map
 	rm -f $(TARGET).efi $(TARGET).efi.map $(TARGET).efi.stripped
 	rm -f asm-offsets.s arch/*/include/asm/asm-offsets.h
 	rm -f .banner .allconfig.tmp include/xen/compile.h
-	rm -f cppcheck-misra.* xen-cppcheck.xml
 
 .PHONY: _distclean
 _distclean: clean
 	rm -f tags TAGS cscope.files cscope.in.out cscope.out cscope.po.out GTAGS GPATH GRTAGS GSYMS .config source
-	rm -rf $(CPPCHECK_HTMLREPORT_OUTDIR)
 
 $(TARGET).gz: $(TARGET)
 	gzip -n -f -9 < $< > $@.new
@@ -651,111 +649,9 @@ cloc:
 	    done; \
 	done | cloc --list-file=-
 
-# What cppcheck command to use.
-# To get proper results, it is recommended to build cppcheck manually from the
-# latest source and use CPPCHECK to give the full path to the built version.
-CPPCHECK ?= cppcheck
-
-# What cppcheck-htmlreport to use.
-# If you give the full path to a self compiled cppcheck, this should be set
-# to the full path to cppcheck-html in the htmlreport directory of cppcheck.
-# On recent distribution, this is available in the standard path.
-CPPCHECK_HTMLREPORT ?= cppcheck-htmlreport
-
-# By default we generate the report in cppcheck-htmlreport directory in the
-# build directory. This can be changed by giving a directory in this variable.
-CPPCHECK_HTMLREPORT_OUTDIR ?= cppcheck-htmlreport
-
-# By default we do not check misra rules, to enable pass "CPPCHECK_MISRA=y" to
-# make command line.
-CPPCHECK_MISRA ?= n
-
-# Compile flags to pass to cppcheck:
-# - include directories and defines Xen Makefile is passing (from CFLAGS)
-# - include config.h as this is passed directly to the compiler.
-# - define CPPCHECK as we use to disable or enable some specific part of the
-#   code to solve some cppcheck issues.
-# - explicitely enable some cppcheck checks as we do not want to use "all"
-#   which includes unusedFunction which gives wrong positives as we check file
-#   per file.
-#
-# Compiler defines are in compiler-def.h which is included in config.h
-#
-CPPCHECKFLAGS := -DCPPCHECK --max-ctu-depth=10 \
-                 --enable=style,information,missingInclude \
-                 --include=$(srctree)/include/xen/config.h \
-                 -I $(srctree)/xsm/flask/include \
-                 -I $(srctree)/include/xen/libfdt \
-                 $(filter -D% -I%,$(CFLAGS))
-
-# We need to find all C files (as we are not checking assembly files) so
-# we find all generated .o files which have a .c corresponding file.
-CPPCHECKFILES := $(wildcard $(patsubst $(objtree)/%.o,$(srctree)/%.c, \
-                 $(filter-out $(objtree)/tools/%, \
-                 $(shell find $(objtree) -name "*.o"))))
-
-# Headers and files required to run cppcheck on a file
-CPPCHECKDEPS := $(objtree)/include/generated/autoconf.h \
-                $(objtree)/include/generated/compiler-def.h
-
-ifeq ($(CPPCHECK_MISRA),y)
-    CPPCHECKFLAGS += --addon=cppcheck-misra.json
-    CPPCHECKDEPS += cppcheck-misra.json
-endif
-
-quiet_cmd_cppcheck_xml = CPPCHECK $(patsubst $(srctree)/%,%,$<)
-cmd_cppcheck_xml = $(CPPCHECK) -v -q --xml $(CPPCHECKFLAGS) \
-                   --output-file=$@ $<
-
-quiet_cmd_merge_cppcheck_reports = CPPCHECK-MERGE $@
-cmd_merge_cppcheck_reports = $(PYTHON) $(srctree)/tools/merge_cppcheck_reports.py $^ $@
-
-quiet_cmd_cppcheck_html = CPPCHECK-HTML $<
-cmd_cppcheck_html = $(CPPCHECK_HTMLREPORT) --file=$< --source-dir=$(srctree) \
-                    --report-dir=$(CPPCHECK_HTMLREPORT_OUTDIR) --title=Xen
-
-PHONY += _cppcheck _cppcheck-html cppcheck-version
-
-_cppcheck-html: xen-cppcheck.xml
-	$(call if_changed,cppcheck_html)
-
-_cppcheck: xen-cppcheck.xml
-
-xen-cppcheck.xml: $(patsubst $(srctree)/%.c,$(objtree)/%.c.cppcheck,$(CPPCHECKFILES))
-ifeq ($(CPPCHECKFILES),)
-	$(error Please build Xen before running cppcheck)
-endif
-	$(call if_changed,merge_cppcheck_reports)
-
-$(objtree)/%.c.cppcheck: $(srctree)/%.c $(CPPCHECKDEPS) | cppcheck-version
-	$(call if_changed,cppcheck_xml)
-
-cppcheck-version:
-	$(Q)if ! which $(CPPCHECK) > /dev/null 2>&1; then \
-		echo "Cannot find cppcheck executable: $(CPPCHECK)"; \
-		exit 1; \
-	fi
-	$(Q)if [ "$$($(CPPCHECK) --version | awk '{print ($$2 < 2.7)}')" -eq 1 ]; then \
-		echo "Please upgrade your cppcheck to version 2.7 or greater"; \
-		exit 1; \
-	fi
-
-# List of Misra rules to respect is written inside a doc.
-# In order to have some helpful text in the cppcheck output, generate a text
-# file containing the rules identifier, classification and text from the Xen
-# documentation file. Also generate a json file with the right arguments for
-# cppcheck in json format including the list of rules to ignore.
-#
-# convert_misra_doc.py, producing both targets at the same time, should be
-# executed only once. Utilize a pattern rule to achieve this effect, with the
-# stem kind of arbitrarily chosen to be "cppcheck".
-.PRECIOUS: %-misra.json
-%-misra.txt %-misra.json: $(XEN_ROOT)/docs/misra/rules.rst $(srctree)/tools/convert_misra_doc.py
-	$(Q)$(PYTHON) $(srctree)/tools/convert_misra_doc.py -i $< -o $*-misra.txt -j $*-misra.json
-
-# Put this in generated headers this way it is cleaned by include/Makefile
-$(objtree)/include/generated/compiler-def.h:
-	$(Q)$(CC) -dM -E -o $@ - < /dev/null
+# Target used by xen-analysis.sh script to retrieve Xen build system variables
+export-variable-%:
+	$(info $*=$($*))
 
 endif #config-build
 endif # need-sub-make
diff --git a/xen/tools/merge_cppcheck_reports.py b/xen/tools/merge_cppcheck_reports.py
deleted file mode 100755
index 1c1b63ba56b8..000000000000
--- a/xen/tools/merge_cppcheck_reports.py
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/usr/bin/env python
-
-"""
-This script acts as a tool to merge XML files created by cppcheck.
-Usage:
-    merge_cppcheck_reports.py [FILES] [OUTPUT]
-
-    FILES  - list of XML files with extension .cppcheck
-    OUTPUT - file to store results (with .xml extension).
-             If not specified, the script will print results to stdout.
-"""
-
-import sys
-from xml.etree import ElementTree
-
-def elements_equal(el1, el2):
-    if type(el1) != type(el2): return False
-
-    if el1.find('location') is None: return False
-    if el2.find('location') is None: return False
-
-    el1_location = str(el1.find('location').attrib)
-    el2_location = str(el2.find('location').attrib)
-
-    if el1_location != el2_location: return False
-
-    return True
-
-def contain_element(new, lst):
-    for elem in lst:
-        if elements_equal(new, elem):
-            return True
-    return False
-
-def merge(files):
-    try:
-        result_xml_root = ElementTree.parse(files[0]).getroot()
-    except:
-        print("Xml parsing error in %s\n" % (files[0]))
-        print("Please upgrade your cppcheck to version 2.7 or greater")
-        sys.exit(1)
-    insert_point = result_xml_root.findall("errors")[0]
-    curr = 1
-    total = len(files)
-    numelem = len(insert_point)
-    for xml_file in files[1:]:
-        try:
-            xml_root = ElementTree.parse(xml_file).getroot()
-        except:
-            print("Xml parsing error in %s\n" % (xml_file))
-            print("Please upgrade your cppcheck to version 2.7 or greater")
-            sys.exit(1)
-        curr_elem_list = list(insert_point)
-        new_elem_list = list(xml_root.findall("errors")[0])
-        for xml_error_elem in new_elem_list:
-            if not contain_element(xml_error_elem, curr_elem_list):
-                insert_point.insert(1,xml_error_elem)
-                numelem = numelem + 1
-        curr = curr + 1
-        sys.stdout.write('\r')
-        sys.stdout.write(" %d / %d" % (curr,total))
-        sys.stdout.flush()
-
-    sys.stdout.write('\r\n')
-    print("Done: %d elements" % (numelem))
-    return result_xml_root
-
-def run():
-    files = []
-    output = None
-    for i in sys.argv[1:]:
-        output = i if '.xml' in i else None
-        files.append(i) if '.cppcheck' in i else None
-
-    result = merge(files)
-
-    if result is None:
-        return
-
-    if output is not None:
-        ElementTree.ElementTree(result).write(output)
-    else:
-        print(ElementTree.tostring(result).decode('utf-8'))
-
-if __name__ == '__main__':
-    run()
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 13:19:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 13:19:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456349.714125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2uKw-0000gU-MF; Wed, 07 Dec 2022 13:19:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456349.714125; Wed, 07 Dec 2022 13:19:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2uKw-0000gN-JU; Wed, 07 Dec 2022 13:19:46 +0000
Received: by outflank-mailman (input) for mailman id 456349;
 Wed, 07 Dec 2022 13:19:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2uKv-0000gD-GX; Wed, 07 Dec 2022 13:19:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2uKv-0000tP-DO; Wed, 07 Dec 2022 13:19:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2uKv-0006U3-3R; Wed, 07 Dec 2022 13:19:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2uKv-0006f4-2q; Wed, 07 Dec 2022 13:19:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jAaT8WfUTUnwrIs+pDdcu2kVjA6wDhB5oU26JIgmiFM=; b=d9l7J5LL9Q3rBzd6N/JjEySE6F
	GMspuTW3XRUuPQSRwyMFYGoQMW1R1+LRw9egbbKmEZvheI+G/8gM8vzh6jq1HX96PEWIPnUQ4yJhf
	r8FeJzPul7AT7dV/uugcP0fAcaoKi69+f4e0AOecX2aixu4QD6kXo1werqYIYGwlr0Qo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175068-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175068: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ea3a008d2d9ced9c4f93871c823baee237047f93
X-Osstest-Versions-That:
    qemuu=edc93f455fa823a9a5fcb3a8da430104c7375a0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 07 Dec 2022 13:19:45 +0000

flight 175068 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175068/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175051
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175051
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat    fail  like 175051
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175051
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175051
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175051
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175051
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175051
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175051
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 qemuu                ea3a008d2d9ced9c4f93871c823baee237047f93
baseline version:
 qemuu                edc93f455fa823a9a5fcb3a8da430104c7375a0a

Last test of basis   175051  2022-12-05 16:40:17 Z    1 days
Testing same since   175068  2022-12-07 01:08:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Stefan Hajnoczi <stefanha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   edc93f455f..ea3a008d2d  ea3a008d2d9ced9c4f93871c823baee237047f93 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 13:21:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 13:21:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456358.714136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2uMN-00027v-77; Wed, 07 Dec 2022 13:21:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456358.714136; Wed, 07 Dec 2022 13:21:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2uMN-00027o-3h; Wed, 07 Dec 2022 13:21:15 +0000
Received: by outflank-mailman (input) for mailman id 456358;
 Wed, 07 Dec 2022 13:21:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9USZ=4F=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p2uML-00027g-MJ
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 13:21:13 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 02b9ea6b-7632-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 14:21:09 +0100 (CET)
Received: from DM6PR03CA0010.namprd03.prod.outlook.com (2603:10b6:5:40::23) by
 MW3PR12MB4474.namprd12.prod.outlook.com (2603:10b6:303:2e::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.13; Wed, 7 Dec 2022 13:21:06 +0000
Received: from DM6NAM11FT110.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:40:cafe::5b) by DM6PR03CA0010.outlook.office365.com
 (2603:10b6:5:40::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Wed, 7 Dec 2022 13:21:06 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT110.mail.protection.outlook.com (10.13.173.205) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.14 via Frontend Transport; Wed, 7 Dec 2022 13:21:05 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 07:21:03 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 7 Dec
 2022 05:20:39 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 7 Dec 2022 07:20:38 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02b9ea6b-7632-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Mn7Q/7Li6j+iGCw71+a60Eh8d03vSGjiJihW+gKIxmkdgfmPLzJhe1a0SIqvq53M8iV/Dkx804I7K+B1XlSGRtLQei/a7M99LtdhVg+A7PYkhb3Z7rIJdwZQCgvI+NaW4oftKpMQJWfUnZZjF8kih5xnDgUe9BgrjHkOLY/uXyh7qqIJVrgGwDUsV/tNQaLmX/AuJ/2sKCC4KYzspBhEx7g9aLs4gjeketdlnptazD6PvGwfDWSvmF7yDe1TDzNCFzdS4gvwmFScNiwY9jNBXKXnhm08bhpl/19HoBr9vfuLH1t6OOoKKFdgXp5cfbF63TxOQYs5xMpCmJ+4q0xa2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hPQM8q8YR6+SolRrXS8+ZTH3xi8j6Ddc3vXmOYJTCHA=;
 b=oKi/b6vM+yHqQQGTh6TIdjpkd2ceN/IGJaVpIWIAfXYQmzCvnbE0xckN7mm+86Tea8tTCBB28WkWLTQ1dauP8EP0L4w3Q2br4mZfjGcva/afp3a6kVk+LsHWwCWSs0gFSxsRmiKZyZDNNzEJynPcBex0SQA+VYvCFbTMuFTnHf3A2S8OioCJGNzlR6iebUT3bvVAox38gke4g8nYWLQnu3Tmw7w9uH3MCuOiqdeXnRC35fuzfMPRkjItqy+qp2xuAih91+L4XWJudeSeKgDiyLt8GCRorBoWK//QEMzZNPTQuCo2DseOD7xf+CucMqMzB1vk5y9k0WV+i+D26AQGUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hPQM8q8YR6+SolRrXS8+ZTH3xi8j6Ddc3vXmOYJTCHA=;
 b=t5v/TfHq3g1ERPHi4cTi2O5o2Vc+CNUWwpWTQW6O1VxRTVThTQ706YEDPiesnvc/sLQkPzX5YY1bD+Vc7sk8ZToUonQVTrI/nckOHIcQFTLg7IDI5kWsQwos5+UzRqmV3qbB3zY2zRoX9Y7AyMRShuicQpgJ7aUvZjspUtejeBA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <99163b1f-a08e-36d1-2316-08c9da9164d2@amd.com>
Date: Wed, 7 Dec 2022 14:20:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC] docs/misra: List files in Xen originated from external
 sources
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>, Jan Beulich
	<jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
	<wl@xen.org>, <xen-devel@lists.xenproject.org>
References: <20221116092032.4423-1-michal.orzel@amd.com>
 <93736488-8e0c-282a-2e5f-db0cf9419183@suse.com>
 <88a04b63-04ba-ef03-771d-1f2d11ea8549@amd.com>
 <dfa1eb96-5538-e3f2-250b-3cf17a6e50fd@suse.com>
 <alpine.DEB.2.22.394.2211170752060.4020@ubuntu-linux-20-04-desktop>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2211170752060.4020@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT110:EE_|MW3PR12MB4474:EE_
X-MS-Office365-Filtering-Correlation-Id: 5c3f4bc2-b921-453a-6c1c-08dad855e574
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vuJXpoOIo9apG40xI9m2DGa6RrTC/cxheIg7g2FLgma6brU3SN3K7IQib5yltH6uSx58BbToW1e3RAlf/OQith7DoXSPFIAOlCULZenGPlLpx4k4mn1EXxwXKBVhUnuZOZ/9nSD9w9bp/sjHhruMsjHKkbXIy8wF+mqyUUScJlqnkPz0lDiqaFLA6pvGq5vo4ZePeNJHHcw+wq5mVdMC4p6oO1SygY9ktFYB6E84GOM9vDoqjjYeVfwkh8RIZA4ockcg830HOYEqmWpy30z3fvEAKZL1gpl4sAwSDWcEg8UmZliXR21ukUA3g1m7qIW9ZnrKCfwwH+RUNoLKLWht1XaDTxaO7+wMbO0QE2IvS4ACc8/bpNyehFHABqn6QPdMt9PBSJdyFtDCIcorgE7K2t4gwjEULJCt47aspEvD7n/1At9+ZbGWSQMgwxV43DHMSOfwL8g3j4l5YDZzupORHi9p6HwrjoaLUN9kAc75Nj0OsZcRnn6TQC788jIkilTmP2pryROwqyrbXyGGdpN1ggBPxUM1w5Ql480dM9KQKDdyv142QSs/Z4eteL/dCEwADvbr6dit4/sLsXWQ2/vKPvX8uYHK6Z03AnYNgMcSiRwPx3dk/iFjLRAvjiCA5q2qhjj4tx85+LNqlp8TwX7VCxL5652DM1YFVSRyBlyagQAWCS8xKZ6v1Sqe/7TShf2YNW8oyDv04wLFBnbIuEtXByDDwxHNHMFNuMZp7oh5LWJRGJ0UunSjvX1CzbEdRYoy73+/5KSVFW2WLFA6pHLkug==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(396003)(39860400002)(346002)(451199015)(46966006)(40470700004)(36840700001)(16576012)(36756003)(40460700003)(5660300002)(110136005)(54906003)(356005)(316002)(41300700001)(478600001)(426003)(82740400003)(83380400001)(36860700001)(82310400005)(81166007)(40480700001)(53546011)(336012)(86362001)(31696002)(8936002)(47076005)(2616005)(186003)(26005)(2906002)(4326008)(31686004)(70206006)(70586007)(8676002)(30864003)(44832011)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 13:21:05.8997
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c3f4bc2-b921-453a-6c1c-08dad855e574
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT110.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4474



On 17/11/2022 22:15, Stefano Stabellini wrote:
> 
> 
> On Thu, 17 Nov 2022, Jan Beulich wrote:
>> On 17.11.2022 11:39, Michal Orzel wrote:
>>> On 17/11/2022 11:03, Jan Beulich wrote:
>>>> On 16.11.2022 10:20, Michal Orzel wrote:
>>>>> --- /dev/null
>>>>> +++ b/docs/misra/external-files.txt
>>>>> @@ -0,0 +1,70 @@
>>>>> +External files in Xen
>>>>> +=====================
>>>>> +
>>>>> +The following table lists files present in the Xen codebase that originated
>>>>> +from external sources e.g. Linux kernel. The purpose of this table is to:
>>>>> + - keep track of the external files in the Xen codebase,
>>>>> + - help with the review process (e.g. changes done to the files that did not
>>>>> +   diverge, shall be first submitted to the external projects and then
>>>>> +   backported to Xen),
>>>>> + - act as a base for listing files to exclude from MISRA checkers.
>>>>> +
>>>>> +NOTES:
>>>>> +1) The files shall be listed in alphabetical order.
>>>>
>>>> But then you don't?
>>> True, it is alphabetical order with directories having a precedence.
>>
>> Which is kind of surprising and, at least for me, confusing.
>>
>>>>> +2) The origin of the files derived from the projects other than Linux, shall
>>>>> +   be specified within the () placed next to the path.
>>>>
>>>> Might it be more generally useful to have another column, then not only
>>>> stating the project but also the path it lives at there (or lived at the
>>>> time of cloning)?
>>> We though about it. Would be a good idea but can be quite challenging for files
>>> that appeared in Xen before switching to git (difficult to establish the time of cloning in such cases).
>>>
>>>>
>>>>> +3) The table shall be updated when importing new files from external projects.
>>>>> +4) At the moment, only the source files are listed in the table.
>>>>> +
>>>>> +| Relative path to xen/                     | Diverged from | Subject to       |
>>>>> +|                                           | origin? [Y/N] | backports? [Y/N] |
>>>>> ++-------------------------------------------+---------------+------------------+
>>>>> +| arch/arm/arm64/cpufeature.c               | N             | Y                |
>>>>> +| arch/arm/arm64/insn.c                     | N             | Y                |
>>>>> +| arch/arm/arm64/lib/find_next_bit.c        | N             | Y                |
>>>>> +| arch/x86/acpi/boot.c                      | Y             | ?                |
>>>>> +| arch/x86/acpi/lib.c                       | ?             | ?                |
>>>>
>>>> This was simply split off from boot.c, which I'd be inclined to take to
>>>> mean Y in the "diverged" column. In the backports column I'd prefer to
>>>> keep ? for both, or any other indicator taken to mean "maybe / uncertain".
>>>>
>>>> What about arch/x86/acpi/cpufreq/* and other stuff in arch/x86/acpi/?
>>>>
>>>>> +| arch/x86/cpu/mcheck/mce-apei.c            | N             | Y                |
>>>>> +| arch/x86/cpu/mcheck/non-fatal.c           | ?             | Y                |
>>>>
>>>> Even before disappearing in 2.6.32 the file was different from Linux'es,
>>>> simply because we don't have anything like schedule_delayed_work(). So
>>>> it's pretty clearly Y for "diverged".
>>>>
>>>>> +| arch/x86/cpu/mtrr/*                       | Y             | N                |
>>>>> +| arch/x86/cpu/amd.c                        | Y             | N                |
>>>>> +| arch/x86/cpu/centaur.c                    | Y             | N                |
>>>>> +| arch/x86/cpu/common.c                     | Y             | N                |
>>>>> +| arch/x86/cpu/hygon.c                      | Y             | N                |
>>>>> +| arch/x86/cpu/intel_cacheinfo.c            | Y             | Y                |
>>>>> +| arch/x86/cpu/intel.c                      | Y             | N                |
>>>>> +| arch/x86/cpu/mwait-idle.c                 | Y             | Y                |
>>>>> +| arch/x86/genapic/*                        | Y             | N                |
>>>>> +| arch/x86/x86_64/mmconf-fam10h.c           | N             | Y                |
>>>>> +| arch/x86/dmi_scan.c                       | Y             | ?                |
>>>>> +| arch/x86/mpparse.c                        | Y             | ?                |
>>>>
>>>> Like above I'd like to keep ? (or alike) here, as neither Y nor N are
>>>> fully accurate.
>>>>
>>>>> +| arch/x86/srat.c                           | Y             | N                |
>>>>
>>>> What about common/cpu.c?
>>>>
>>>>> +| common/libfdt/* (libfdt)                  | N             | Y                |
>>>>> +| common/lz4/decompress.c                   | N             | Y                |
>>>>> +| common/ubsan/ubsan.c                      | Y             | Y                |
>>>>> +| common/xz/*                               | N             | Y                |
>>>>> +| common/zstd/*                             | N             | Y                |
>>>>> +| common/bitmap.c                           | N             | Y                |
>>>>> +| common/bunzip2.c                          | N             | Y                |
>>>>> +| common/earlycpio.c                        | N             | Y                |
>>>>> +| common/inflate.c                          | N             | Y                |
>>>>
>>>> What about common/notifier.c?
>>>>
>>>>> +| common/radix-tree.c                       | N             | Y                |
>>>>
>>>> What about common/rcupdate.c? (Stopping at this in this regard:
>>>> It's unclear by what criteria you have gone. Even as simple an
>>>> indicator as "Copyright (C) ... Linus Torvalds" was apparently not
>>> Please see [1]
>>>
>>>> used. Similarly mentioning criteria for considering a file
>>>> "diverged" would be very helpful to spell out, even if there's
>>>> likely some fuzziness involved there.)
>>>
>>> We would need to pre-define some criteria to avoid having a long justifications.
>>> Any ideas?
>>
>> Well, changing just #include-s to fit Xen's model shouldn't count as
>> divergence. But coding style conversion already may. I'm afraid
>> criteria here depend very much on the purpose, and hence I don't
>> feel qualified to suggest any.
> 
> Hi Jan,
> 
> These two columns are not for MISRA's benefit. They are for our own
> benefit as maintainers of this code. We can define them the way we want
> to.
> 
> MISRA doesn't allow us to make any exceptions to our coding guidelines
> for files originating from external sources (unless they are a proper
> library we link against, I don't think that even libfdt qualifies from
> what I understand.) We'll have to figure out what to do about that, but
> it is not something this patch is trying to solve. It is just trying to
> identify the external files.
> 
> So the two columns are just for us as maintainers. It is only to help
> us, not to help with MISRA or with safety. So if you think we should
> word the first column differently, or even remove the first column
> entirely, we could.
> 
> Maybe a better criteria for the first column would be: "do we accept
> changes to this file?" (direct changes, not backports)
> 
> 
>>>>> +| common/un*.c                              | N             | Y                |
>>>>> +| crypto/rijndael.c (OpenBSD)               | N             | Y                |
>>>>> +| crypto/vmac.c (public domain)             | N             | Y                |
>>>>> +| drivers/acpi/apei/*                       | N             | Y                |
>>>>
>>>> I'm not sure of the N here.
>>>>
>>>>> +| drivers/acpi/tables/*                     | N             | Y                |
>>>>> +| drivers/acpi/utilities/*                  | N             | Y                |
>>>>> +| drivers/acpi/hwregs.c                     | N             | Y                |
>>>>> +| drivers/acpi/numa.c                       | ?             | Y                |
>>>>
>>>> Y
>>>>
>>>>> +| drivers/acpi/osl.c                        | Y             | Y                |
>>>>> +| drivers/acpi/reboot.c                     | N             | Y                |
>>>>> +| drivers/acpi/tables.c                     | ?             | Y                |
>>>>
>>>> Y
>>>>
>>>> What about drivers/cpufreq/*, drivers/char/ehci-dbgp.c,
>>>> drivers/char/xhci-dbc.c, and drivers/video/font*? What about some of
>>>> the stuff under tools/, especially tools/kconfig/?
>>>
>>> [1]
>>> For the first shot, the criteria was to list files using different coding style than Xen,
>>> especially the ones using tabs instead of spaces. As I indicated before, the list may not be
>>> completed, hence a gentle ask to list the missing ones. Some of the files you mentioned
>>> use Xen coding style + there is no information in the git history that they originated from
>>> external sources. This is why, the maintainers who are the addressee of this RFC should have
>>> a better knowledge of the origin of such files.
>>
>> Hmm. Please forgive me being blunt, but to me this then looks like
>> offloading work to people who shouldn't be required to invest
>> meaningful amounts of time. But maybe that's just me viewing it this
>> way ... Yet this is particularly relevant if ...
>>
>>> As for the files under tools/, FWICS they are being filtered-out from MISRA checks, hence I
>>> did not list them.
>>
>> ... the goal here then indeed is use for MISRA alone. I did e.g. ask
>> whether it wouldn't be worthwhile to more precisely describe the
>> origin of files because at some point in the past it was also
>> proposed to arrange for some more automatic monitoring of changes
>> being applied at their origins for files we have cloned. Which
>> obviously first of all requires establishing an association between
>> our files and their origins.
> 
> One of the goals has certainly to do with MISRA, but I think we would
> want to know which files are not conforming to the Xen coding style and
> coding guidelines anyway? For example, we need it to automate coding
> style checks for new patches with scripts like checkpatch.
> 
> And you are right, also adding the origin of the files to help with
> backports and monitoring is a great idea.
> 
> On the extra work: some of us in the community have been around for a
> long time. Without having to do any research, there are things you might
> remember on top of your head. If you don't remember, that's fine and we
> can try to do some investigation/archeology.

I managed to extend the list with additional 21 files (+alphabetization done)
thanks to Jan's suggestions, checking for Linux copyright and using a black magic
(e.g. for common/cpu.c it was almost impossible to deduct that it originated from Linux).
The table looks as follows for now (I put ? in the second column for new files):

| arch/arm/arm64/cpufeature.c               | N             | Y                |
| arch/arm/arm64/insn.c                     | N             | Y                |
| arch/arm/arm64/lib/find_next_bit.c        | N             | Y                |
| arch/x86/acpi/boot.c                      | Y             | ?                |
| arch/x86/acpi/cpu_idle.c                  | Y             | ?                |
| arch/x86/acpi/cpufreq/cpufreq.c           | Y             | ?                |
| arch/x86/acpi/cpuidle_menu.c              | Y             | ?                |
| arch/x86/acpi/lib.c                       | Y             | ?                |
| arch/x86/acpi/power.c                     | Y             | ?                |
| arch/x86/cpu/amd.c                        | Y             | N                |
| arch/x86/cpu/centaur.c                    | Y             | N                |
| arch/x86/cpu/common.c                     | Y             | N                |
| arch/x86/cpu/hygon.c                      | Y             | N                |
| arch/x86/cpu/intel.c                      | Y             | N                |
| arch/x86/cpu/intel_cacheinfo.c            | Y             | Y                |
| arch/x86/cpu/mcheck/mce-apei.c            | N             | Y                |
| arch/x86/cpu/mcheck/non-fatal.c           | Y             | Y                |
| arch/x86/cpu/mtrr/*                       | Y             | N                |
| arch/x86/cpu/mwait-idle.c                 | Y             | Y                |
| arch/x86/delay.c                          | Y             | ?                |
| arch/x86/dmi_scan.c                       | Y             | ?                |
| arch/x86/domain.c                         | Y             | ?                |
| arch/x86/genapic/*                        | Y             | N                |
| arch/x86/i387.c                           | Y             | ?                |
| arch/x86/irq.c                            | Y             | ?                |
| arch/x86/mpparse.c                        | Y             | ?                |
| arch/x86/srat.c                           | Y             | N                |
| arch/x86/time.c                           | Y             | ?                |
| arch/x86/traps.c                          | Y             | ?                |
| arch/x86/usercopy.c                       | Y             | ?                |
| arch/x86/x86_64/mmconf-fam10h.c           | N             | Y                |
| common/bitmap.c                           | N             | Y                |
| common/bunzip2.c                          | N             | Y                |
| common/cpu.c                              | Y             | ?                |
| common/earlycpio.c                        | N             | Y                |
| common/inflate.c                          | N             | Y                |
| common/libfdt/* (libfdt)                  | N             | Y                |
| common/lz4/decompress.c                   | N             | Y                |
| common/notifier.c                         | Y             | ?                |
| common/radix-tree.c                       | N             | Y                |
| common/rcupdate.c                         | Y             | ?                |
| common/softirq.c                          | Y             | ?                |
| common/tasklet.c                          | Y             | ?                |
| common/ubsan/ubsan.c                      | Y             | Y                |
| common/un*.c                              | N             | Y                |
| common/vsprintf.c                         | Y             | ?                |
| common/xz/*                               | N             | Y                |
| common/zstd/*                             | N             | Y                |
| crypto/rijndael.c (OpenBSD)               | N             | Y                |
| crypto/vmac.c (public domain)             | N             | Y                |
| drivers/acpi/apei/*                       | Y             | Y                |
| drivers/acpi/hwregs.c                     | N             | Y                |
| drivers/acpi/numa.c                       | Y             | Y                |
| drivers/acpi/osl.c                        | Y             | Y                |
| drivers/acpi/reboot.c                     | N             | Y                |
| drivers/acpi/tables.c                     | Y             | Y                |
| drivers/acpi/tables/*                     | N             | Y                |
| drivers/acpi/utilities/*                  | N             | Y                |
| drivers/char/ehci-dbgp.c                  | Y             | ?                |
| drivers/char/xhci-dbc.c                   | Y             | ?                |
| drivers/cpufreq/*                         | Y             | ?                |
| drivers/passthrough/arm/smmu-v3.c         | Y             | N                |
| drivers/passthrough/arm/smmu.c            | Y             | N                |
| drivers/video/font_*                      | Y             | ?                |
| lib/list-sort.c                           | N             | Y                |
| lib/mem*.c                                | N             | Y                |
| lib/rbtree.c                              | N             | Y                |
| lib/str*.c                                | N             | Y                |
| lib/xxhash32.c                            | N             | Y                |
| lib/xxhash64.c                            | N             | Y                |

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 13:46:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 13:46:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456367.714147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2uko-00061r-7b; Wed, 07 Dec 2022 13:46:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456367.714147; Wed, 07 Dec 2022 13:46:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2uko-00061k-4X; Wed, 07 Dec 2022 13:46:30 +0000
Received: by outflank-mailman (input) for mailman id 456367;
 Wed, 07 Dec 2022 13:46:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=efXR=4F=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1p2ukm-00061e-OD
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 13:46:28 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ba25d46-7635-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 14:46:26 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id gh17so14102748ejb.6
 for <xen-devel@lists.xenproject.org>; Wed, 07 Dec 2022 05:46:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ba25d46-7635-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=Qg6rscjarIENb4Y9pQnBfqSpVruaA4pKa5wywW78TI4=;
        b=MwsUVjDJmC4I5yYHV3kpu4xgCzlCzOFBqxQqhUcHYF0flutztZmp2Ao8JSgL6XZz2c
         mHIBqvcy7GSh1vrlCBtisgJtOnExtYO/3eAPdgXMUzK8b7VzgL/jacOOE4kUWRxvTdXQ
         KQffjyuNqWFBQcbiUoYJe7PHxELJ1BrgznpaWEFdsrJKWtmtv6SqeiehdqBFWcLtwLJt
         Ug9di9bdrmQ6Tv/yi/3AuaNGYaIlXL6Sfij3RMjYRRfjK0Qkc133Y++DVroVKFXEEuol
         MNa9UocHoAbWsSL9ajSwdoJpPuj57h8iMv9ouOaRWJbpJep4uGMK+nKoT2Diefjig+WU
         pOfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Qg6rscjarIENb4Y9pQnBfqSpVruaA4pKa5wywW78TI4=;
        b=TZ1zPKEmCVpcJjMTAMhMQUksB9TjmyxOJ7dp5sKS/+wbdgn3sPFsFU3eVLOluJFZso
         tAtIW9CbutEqiZv6gBM8Lrzybbfjp1/W5NV+0K/1j3w6pmt1Ug6ZFuUOOgnmC+VUj88r
         fgtgnVPC1S9aG3oWI7VYiRygqb7Ao0OFhBnki+wXku2JAEcWsPYjRoQxM+5OiiokcEel
         MOxUC9A56MKYmF0hwMHy6fovyZAjW/SYy3zS7ZG4CfSmGvY3lg4SCxFcbzvBmOY+suWo
         yYlttpbeu3yhgb0WIWoYkLHLZ3w1zHmmsYSl+vkwoziul+RRmEDH1vGXznSQtJLWHWa9
         1P5g==
X-Gm-Message-State: ANoB5plm0hQjNgJ5HQC+ZkkfDgNlPwXjawQYe13EHDvdVzh15QjoAi05
	hRBKYrX/63Di5o1z4VUZbaJlVz3obADKaxH0DkE=
X-Google-Smtp-Source: AA0mqf5t0KjwzPyZvRZG7MLQbFpXbjxFzDGeMwNmpXfyClD31KDpdah+3VFvdek87O6hyLYA7X3zt1TVPTTh+UVTHDI=
X-Received: by 2002:a17:906:ad86:b0:7c0:7e90:ec98 with SMTP id
 la6-20020a170906ad8600b007c07e90ec98mr7717890ejb.537.1670420786209; Wed, 07
 Dec 2022 05:46:26 -0800 (PST)
MIME-Version: 1.0
References: <20221207072349.28608-1-jgross@suse.com>
In-Reply-To: <20221207072349.28608-1-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 7 Dec 2022 08:46:14 -0500
Message-ID: <CAKf6xpu5tCeV4P5TUjDiHfupctwYHsnLUGT+TB5Wxgs9riRQ6A@mail.gmail.com>
Subject: Re: [PATCH] xen/netback: fix build warning
To: Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, 
	Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>, 
	"David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, 
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

On Wed, Dec 7, 2022 at 2:24 AM Juergen Gross <jgross@suse.com> wrote:
>
> Commit ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in
> the non-linear area") introduced a (valid) build warning.
>
> Fix it.
>
> Fixes: ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in the non-linear area")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Tested-by: Jason Andryuk <jandryuk@gmail.com>

I applied ad7f402ae4f4 to 5.15.y and 5.4.y and it broke networking
with my driver domains.  The frontend failed to DHCP an address and it
didn't look like any packets were getting through.  This patch fixed
networking with 5.15.y and 5.4.y.

I think the commit message is worth expanding that this is more than
just a build warning.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 15:10:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 15:10:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456392.714168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2w3w-0002DS-CX; Wed, 07 Dec 2022 15:10:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456392.714168; Wed, 07 Dec 2022 15:10:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2w3w-0002DL-7t; Wed, 07 Dec 2022 15:10:20 +0000
Received: by outflank-mailman (input) for mailman id 456392;
 Wed, 07 Dec 2022 15:10:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WFC7=4F=kernel.org=patchwork-bot+netdevbpf@srs-se1.protection.inumbo.net>)
 id 1p2w3v-0002DF-Dq
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 15:10:19 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 42709b2e-7641-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 16:10:18 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 38F8FB81E7C;
 Wed,  7 Dec 2022 15:10:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id D76B8C433D7;
 Wed,  7 Dec 2022 15:10:15 +0000 (UTC)
Received: from aws-us-west-2-korg-oddjob-1.ci.codeaurora.org
 (localhost.localdomain [127.0.0.1])
 by aws-us-west-2-korg-oddjob-1.ci.codeaurora.org (Postfix) with ESMTP id
 B8BB1C5C7C6; Wed,  7 Dec 2022 15:10:15 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42709b2e-7641-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670425815;
	bh=VHBDCsJSmzg0xhhb4uYdwZabrgTaZtH2k7KBPqAy7fU=;
	h=Subject:From:Date:References:In-Reply-To:To:Cc:From;
	b=L/7EY53bN8ofZuRbWsiKukJWr5bA1f+MOCHIHXBdNI53XB8E2muX8UUBwdYecQxzd
	 q7g1gM+/O0oVwhZBgMM5qj3aa4uB13UHroDhdQVsMK4fjz70UiTD2WeBpaf3VBQk3N
	 RlXg1SYjjC5ONpkGyhlueN1ClnGlBTku2nuTt2rq3ak2pGCybR+0mAK/14BpXgTq14
	 zhGLTse//ECOrZ+OIHkrWvM4QDqfFXWhM32QOMph9tq7IR6Qh41SxKnpU0GFXEAS39
	 M5cWflFEM9LV9ClIvXl544dIfYU9QZpRmXO+/VEToEYNtD6nR/Zy00pjN9YIZ2qJvk
	 K/Rj9CJ5uztXg==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Re: [PATCH net] xen/netback: don't call kfree_skb() under
 spin_lock_irqsave()
From: patchwork-bot+netdevbpf@kernel.org
Message-Id: 
 <167042581575.18211.14598449425594429155.git-patchwork-notify@kernel.org>
Date: Wed, 07 Dec 2022 15:10:15 +0000
References: <20221205141333.3974565-1-yangyingliang@huawei.com>
In-Reply-To: <20221205141333.3974565-1-yangyingliang@huawei.com>
To: Yang Yingliang <yangyingliang@huawei.com>
Cc: xen-devel@lists.xenproject.org, netdev@vger.kernel.org,
 wei.liu@kernel.org, paul@xen.org, davem@davemloft.net, edumazet@google.com,
 kuba@kernel.org, pabeni@redhat.com, jbeulich@suse.com, jgross@suse.com

Hello:

This patch was applied to netdev/net.git (master)
by Paolo Abeni <pabeni@redhat.com>:

On Mon, 5 Dec 2022 22:13:33 +0800 you wrote:
> It is not allowed to call kfree_skb() from hardware interrupt
> context or with interrupts being disabled. So replace kfree_skb()
> with dev_kfree_skb_irq() under spin_lock_irqsave().
> 
> Fixes: be81992f9086 ("xen/netback: don't queue unlimited number of packages")
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> 
> [...]

Here is the summary with links:
  - [net] xen/netback: don't call kfree_skb() under spin_lock_irqsave()
    https://git.kernel.org/netdev/net/c/9e6246518592

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html




From xen-devel-bounces@lists.xenproject.org Wed Dec 07 15:23:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 15:23:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456401.714179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2wGN-0004ic-JB; Wed, 07 Dec 2022 15:23:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456401.714179; Wed, 07 Dec 2022 15:23:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2wGN-0004iV-FV; Wed, 07 Dec 2022 15:23:11 +0000
Received: by outflank-mailman (input) for mailman id 456401;
 Wed, 07 Dec 2022 15:23:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NsCr=4F=citrix.com=prvs=333ae5379=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p2wGL-0004iP-PZ
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 15:23:09 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0c47adf4-7643-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 16:23:07 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c47adf4-7643-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670426587;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=1SskvU+UKp/+GvzUEJ43cXHCi0V/xqV1sS9n7CwSkFg=;
  b=INBuaXJBANyP9NgehzXL2xWEIDLAMYVFD+lzQxHQvHQumQDtVllqXuns
   Afy1hzRdTTbpyROJAOyjDT2XIEc31CpdcObCRS7OBsFfewU6T1aSaSOJx
   uX8xY91Uzx8gIfAAmzH+JqyGisrYCnov/7nWBCodz/VmaY8b9brLSxFpT
   4=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87080960
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:7GaMKatvu/ZAas89YwfCBBWB5+fnVGBeMUV32f8akzHdYApBsoF/q
 tZmKW+CPvfeYGXze4twaojg80hXu8TTz9UwQFNkrH0wFipD+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWGyCFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMweQ8Vc0qfiOaK2OyyUdQ0xcYIC9LAFdZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfAdMYH49tL7Aan3XejtEqFWTtOwv7nLa1gBZ27nxKtvFPNeNQK25m27I+
 TqWpzWnWnn2MvSl6jqm3C6LudTrgGDKcrlNBZyx1t1T1Qj7Kms7V0RNCArTTeOCoky3Xd5FO
 lEX0iUrpKk2skesS7HVQBmQsHOC+BkGVLJ4FuQg7QiXx6n84gCHB3MFRDpMdNwnssAtQTUgk
 FSOmrvBFTFp9bGYV3+Z3rOVti+pfzgYK3cYYi0JRhdD5MPsyLzflTqWEIwlSvTsyISoR3egm
 FhmsRTSmZ1CstYWjbm0+Wzf3Tu3m8CKTCUS/S7+CzfNAhxCWKapYImh6F7+5PlGLZqEQlTpg
 EXoi/Ry/8hVU8jTyXXlrPElWejwuq3baGG0bUtHRcFJyti7x5K0kWm8ChlaLVwhDMsLcCSBj
 KT76VIIv8870JdHgMZKj2ON5yYCl/CI+TfNDKq8gj9yjn9ZKme6ENlGPxL44owUuBFEfVsDE
 Zmaa92wKn0RFL5qyjG7L89Ej+BznX1nmzuKG8imp/hC7VZ5TCfEIYrpzXPUNrxphE96iFq9H
 ylj2zuilEwEDbyWjtj/+o8PN1EaRUXX9rivw/G7gtWre1I8cEl4Uq+5/F/UU9A990ijvruSr
 y7Vt44x4AaXuEAr3i3QNSA6Oe2wAcsnxZ/5VAR1VWuVN7EYSd7HxM8im1EfJOlPGDBLpRKsc
 8Q4Rg==
IronPort-HdrOrdr: A9a23:8urx3KOKRJhM7MBcTnqjsMiBIKoaSvp037Dk7SFMoHtuA6qlfq
 GV7ZMmPHrP4gr5N0tMpTntAsW9qDbnhP1ICWd4B8bfYOCkghrUEGlahbGSvAEIYheOiNK1t5
 0BT0EOMqyVMbEgt7eC3ODQKb9Jq+VvsprY59s2qU0DcegAUdAE0+4WMGim+2RNNXh7LKt8Op
 qAx9ZN4wGtcW4Qaa2AdwM4dtmGid3XtY7sJSULDR4/6AWIkFqTmcXHOind8BcCci9FhYwv+2
 jdkwD/++GKvvyhxgXHvlWjn6h+qZ/OysZjGMfJsMQTJzn24zzYHLhcZw==
X-IronPort-AV: E=Sophos;i="5.96,225,1665460800"; 
   d="scan'208";a="87080960"
Date: Wed, 7 Dec 2022 15:22:46 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?=
	<marmarek@invisiblethingslab.com>
CC: <xen-devel@lists.xenproject.org>, Jason Andryuk <jandryuk@gmail.com>, "Wei
 Liu" <wl@xen.org>
Subject: Re: [PATCH 1/2] vchan-socket-proxy: add reconnect marker support
Message-ID: <Y5CvxjkqB2qIKVz3@perard.uk.xensource.com>
References: <20220905135019.3749982-1-marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220905135019.3749982-1-marmarek@invisiblethingslab.com>

On Mon, Sep 05, 2022 at 03:50:18PM +0200, Marek Marczykowski-Grecki wrote:
> +                reconnect_marker_value = atoi(optarg);

atoi() isn't great, if there's garbage it just return 0, which is
validated below.

Would there be value here in using strtol() which can detect input
error? To at least help with maybe hard to debug issues?

> +                if (reconnect_marker_value < 0 || reconnect_marker_value > 255) {
> +                    fprintf(stderr, "invalid argument for --reconnect-marker, "
> +                                    "must be a number between 0 and 255\n");
> +                    usage(argv);
> +                }
> +                break;
>              case '?':
>                  usage(argv);
>          }
> @@ -509,6 +549,15 @@ int main(int argc, char **argv)
>                  ret = 1;
>                  break;
>              }
> +            if (reconnect_marker_value != -1) {
> +                const char marker_buf[] = { reconnect_marker_value };
> +
> +                if (libxenvchan_write(state.ctrl, marker_buf, sizeof(marker_buf))
> +                        != sizeof(marker_buf)) {
> +                    fprintf(stderr, "failed to send reconnect marker\n");

Is this an expected failure? If so, maybe adding "(ignored)" might be
valuable to someone reading the logs?

> +                    break;
> +                }
> +            }
>              if (data_loop(&state) != 0)
>                  break;
>              /* don't reconnect if output was stdout */


Otherwise, the patch looks fine. Even if kept as is:
Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 15:24:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 15:24:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456409.714199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2wHo-0005MY-96; Wed, 07 Dec 2022 15:24:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456409.714199; Wed, 07 Dec 2022 15:24:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2wHo-0005Le-5G; Wed, 07 Dec 2022 15:24:40 +0000
Received: by outflank-mailman (input) for mailman id 456409;
 Wed, 07 Dec 2022 15:24:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wre3=4F=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1p2wHm-0005GV-LR
 for xen-devel@lists.xen.org; Wed, 07 Dec 2022 15:24:38 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40bf8ebe-7643-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 16:24:36 +0100 (CET)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1p2wHZ-0003t1-N3; Wed, 07 Dec 2022 15:24:25 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1p2wHZ-00055M-Lo; Wed, 07 Dec 2022 15:24:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 40bf8ebe-7643-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Date:Message-Id:Subject:CC:From:To:MIME-Version:
	Content-Transfer-Encoding:Content-Type;
	bh=TqJTv9ugBqSkfUB5+ZdF2+Hcb2sIC21XiV8S8h85UvQ=; b=02ACHGPTpkG6FlniTYPXIctb1+
	vUibvKrViTU4B2M+AqoMOJ/tv2bV4ufI0fbl8Hy08tGDaTtE0eKC4yrJfl6ftuvF3DsC2erFnm/72
	hEVi6wZK5mwS9+UTqQUC+Jeyw3Oc4bQY2ZWUfaHCCEYc/VL51c6WUkSQyIPDmTvugN7g=;
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 423 v2 (CVE-2022-3643) - Guests can trigger
 NIC interface reset/abort/crash via netback
Message-Id: <E1p2wHZ-00055M-Lo@xenbits.xenproject.org>
Date: Wed, 07 Dec 2022 15:24:25 +0000

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2022-3643 / XSA-423
                              version 2

    Guests can trigger NIC interface reset/abort/crash via netback

UPDATES IN VERSION 2
====================

Patch updated.

ISSUE DESCRIPTION
=================

It is possible for a guest to trigger a NIC interface reset/abort/crash in
a Linux based network backend by sending certain kinds of packets.

It appears to be an (unwritten?) assumption in the rest of the Linux network
stack that packet protocol headers are all contained within the linear
section of the SKB and some NICs behave badly if this is not the case.

This has been reported to occur with Cisco (enic) and Broadcom NetXtrem II
BCM5780 (bnx2x) though it may be an issue with other NICs/drivers as well.

In case the frontend is sending requests with split headers, netback will
forward those violating above mentioned assumption to the networking core,
resulting in said misbehavior.

IMPACT
======

An unprivileged guest can cause network Denial of Service (DoS) of the
host by sending network packets to the backend causing the related
physical NIC to reset, abort, or crash.

Data corruption or privilege escalation seem unlikely but have not been
ruled out.

VULNERABLE SYSTEMS
==================

All systems using a Linux based network backend with kernel 3.19 and
newer are vulnerable. Systems using other network backends are not
known to be vulnerable.

Systems using Cisco (enic driver) and Broadcom NetXtrem II BCM5780
(bnx2x driver) NICs for guest network access are known to be vulnerable.
Systems using other NICs for guest network access cannot be ruled out
to be vulnerable.

MITIGATION
==========

Using another PV network backend (e.g. the qemu based "qnic" backend)
will mitigate the problem.

Using a dedicated network driver domain per guest will mitigate the
problem.

NOTE REGARDING LACK OF EMBARGO
==============================

This issue was discussed in public already.

RESOLUTION
==========

Applying the attached patch resolves this issue.

xsa423-linux.patch           Linux 4.14 - 6.1-rc

$ sha256sum xsa423*
e26ab5aa05cad09a26ebf12ef6e6197145937d5ae2ada6f6bb824af81ddf3916  xsa423-linux.patch
$

-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmOQr+IMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZP1MIAL6GhGU7LQrsi1w9DC4NbnbYMJ7uwEz0k6w0++n6
IEB3+5k0Di20TdWJC7fhdi4GZMEfqfs6vJ5nN4oy3m1hsy2fU3CtEcrknba91NL/
7O9N+z6tN4Sy163Mhe/LHaaYLt/R1L98HiQQnGNaTeybJDVhrEByucKhCum7Tasr
AKcMK7M2/nevciOsbwnuAtoz9o+WQJBkVevMfjIL5NMg1wHevDM6BEzZ9bhQakY+
YIf2rSVNuEzQ84dhwa+vzvjv9Ywvwyo1iNNnavUiEtqn0ZeZkuqcL/o3g6v/WjKC
Rm4+Kc3RGSlw8i5/MB46Zq91kf9H3ccW2hyzred1byAy07g=
=x7us
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa423-linux.patch"
Content-Disposition: attachment; filename="xsa423-linux.patch"
Content-Transfer-Encoding: base64

RnJvbSAwZjA1ZDE3YjZlZDBiYTVlNzFiOGVhNzMxNmIxZmU1ZDcwZDVjNzkx
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb3NzIExhZ2Vyd2Fs
bCA8cm9zcy5sYWdlcndhbGxAY2l0cml4LmNvbT4KRGF0ZTogVHVlLCAyMiBO
b3YgMjAyMiAwOToxNjo1OSArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIHhlbi9u
ZXRiYWNrOiBFbnN1cmUgcHJvdG9jb2wgaGVhZGVycyBkb24ndCBmYWxsIGlu
IHRoZQogbm9uLWxpbmVhciBhcmVhCgpJbiBzb21lIGNhc2VzLCB0aGUgZnJv
bnRlbmQgbWF5IHNlbmQgYSBwYWNrZXQgd2hlcmUgdGhlIHByb3RvY29sIGhl
YWRlcnMKYXJlIHNwcmVhZCBhY3Jvc3MgbXVsdGlwbGUgc2xvdHMuIFRoaXMg
d291bGQgcmVzdWx0IGluIG5ldGJhY2sgY3JlYXRpbmcKYW4gc2tiIHdoZXJl
IHRoZSBwcm90b2NvbCBoZWFkZXJzIHNwaWxsIG92ZXIgaW50byB0aGUgbm9u
LWxpbmVhciBhcmVhLgpTb21lIGRyaXZlcnMgYW5kIE5JQ3MgZG9uJ3QgaGFu
ZGxlIHRoaXMgcHJvcGVybHkgcmVzdWx0aW5nIGluIGFuCmludGVyZmFjZSBy
ZXNldCBvciB3b3JzZS4KClRoaXMgaXNzdWUgd2FzIGludHJvZHVjZWQgYnkg
dGhlIHJlbW92YWwgb2YgYW4gdW5jb25kaXRpb25hbCBza2IgcHVsbCBpbgp0
aGUgdHggcGF0aCB0byBpbXByb3ZlIHBlcmZvcm1hbmNlLiAgRml4IHRoaXMg
d2l0aG91dCByZWludHJvZHVjaW5nIHRoZQpwdWxsIGJ5IHNldHRpbmcgdXAg
Z3JhbnQgY29weSBvcHMgZm9yIGFzIG1hbnkgc2xvdHMgYXMgbmVlZGVkIHRv
IHJlYWNoCnRoZSBYRU5fTkVUQkFDS19UWF9DT1BZX0xFTiBzaXplLiBBZGp1
c3QgdGhlIHJlc3Qgb2YgdGhlIGNvZGUgdG8gaGFuZGxlCm11bHRpcGxlIGNv
cHkgb3BlcmF0aW9ucyBwZXIgc2tiLgoKVGhpcyBpcyBYU0EtNDIzIC8gQ1ZF
LTIwMjItMzY0My4KCkZpeGVzOiA3ZTVkNzc1Mzk1NmIgKCJ4ZW4tbmV0YmFj
azogcmVtb3ZlIHVuY29uZGl0aW9uYWwgX19wc2tiX3B1bGxfdGFpbCgpIGlu
IGd1ZXN0IFR4IHBhdGgiKQpTaWduZWQtb2ZmLWJ5OiBSb3NzIExhZ2Vyd2Fs
bCA8cm9zcy5sYWdlcndhbGxAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IFBh
dWwgRHVycmFudCA8cGF1bEB4ZW4ub3JnPgpTaWduZWQtb2ZmLWJ5OiBKdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQogZHJpdmVycy9uZXQv
eGVuLW5ldGJhY2svbmV0YmFjay5jIHwgMjIzICsrKysrKysrKysrKysrKyst
LS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEyMyBpbnNlcnRpb25z
KCspLCAxMDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u
ZXQveGVuLW5ldGJhY2svbmV0YmFjay5jIGIvZHJpdmVycy9uZXQveGVuLW5l
dGJhY2svbmV0YmFjay5jCmluZGV4IDNkMjA4MWJiYmM4Ni4uMDU0YWMwZTg5
N2Y2IDEwMDY0NAotLS0gYS9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9uZXRi
YWNrLmMKKysrIGIvZHJpdmVycy9uZXQveGVuLW5ldGJhY2svbmV0YmFjay5j
CkBAIC0zMzIsMTAgKzMzMiwxMyBAQCBzdGF0aWMgaW50IHhlbnZpZl9jb3Vu
dF9yZXF1ZXN0cyhzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwKIAogCiBz
dHJ1Y3QgeGVudmlmX3R4X2NiIHsKLQl1MTYgcGVuZGluZ19pZHg7CisJdTE2
IGNvcHlfcGVuZGluZ19pZHhbWEVOX05FVEJLX0xFR0FDWV9TTE9UU19NQVgg
KyAxXTsKKwl1OCBjb3B5X2NvdW50OwogfTsKIAogI2RlZmluZSBYRU5WSUZf
VFhfQ0Ioc2tiKSAoKHN0cnVjdCB4ZW52aWZfdHhfY2IgKikoc2tiKS0+Y2Ip
CisjZGVmaW5lIGNvcHlfcGVuZGluZ19pZHgoc2tiLCBpKSAoWEVOVklGX1RY
X0NCKHNrYiktPmNvcHlfcGVuZGluZ19pZHhbaV0pCisjZGVmaW5lIGNvcHlf
Y291bnQoc2tiKSAoWEVOVklGX1RYX0NCKHNrYiktPmNvcHlfY291bnQpCiAK
IHN0YXRpYyBpbmxpbmUgdm9pZCB4ZW52aWZfdHhfY3JlYXRlX21hcF9vcChz
dHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwKIAkJCQkJICAgdTE2IHBlbmRp
bmdfaWR4LApAQCAtMzcwLDMxICszNzMsOTMgQEAgc3RhdGljIGlubGluZSBz
dHJ1Y3Qgc2tfYnVmZiAqeGVudmlmX2FsbG9jX3NrYih1bnNpZ25lZCBpbnQg
c2l6ZSkKIAlyZXR1cm4gc2tiOwogfQogCi1zdGF0aWMgc3RydWN0IGdudHRh
Yl9tYXBfZ3JhbnRfcmVmICp4ZW52aWZfZ2V0X3JlcXVlc3RzKHN0cnVjdCB4
ZW52aWZfcXVldWUgKnF1ZXVlLAotCQkJCQkJCXN0cnVjdCBza19idWZmICpz
a2IsCi0JCQkJCQkJc3RydWN0IHhlbl9uZXRpZl90eF9yZXF1ZXN0ICp0eHAs
Ci0JCQkJCQkJc3RydWN0IGdudHRhYl9tYXBfZ3JhbnRfcmVmICpnb3AsCi0J
CQkJCQkJdW5zaWduZWQgaW50IGZyYWdfb3ZlcmZsb3csCi0JCQkJCQkJc3Ry
dWN0IHNrX2J1ZmYgKm5za2IpCitzdGF0aWMgdm9pZCB4ZW52aWZfZ2V0X3Jl
cXVlc3RzKHN0cnVjdCB4ZW52aWZfcXVldWUgKnF1ZXVlLAorCQkJCXN0cnVj
dCBza19idWZmICpza2IsCisJCQkJc3RydWN0IHhlbl9uZXRpZl90eF9yZXF1
ZXN0ICpmaXJzdCwKKwkJCQlzdHJ1Y3QgeGVuX25ldGlmX3R4X3JlcXVlc3Qg
KnR4ZnJhZ3MsCisJCQkgICAgICAgIHVuc2lnbmVkICpjb3B5X29wcywKKwkJ
CSAgICAgICAgdW5zaWduZWQgKm1hcF9vcHMsCisJCQkJdW5zaWduZWQgaW50
IGZyYWdfb3ZlcmZsb3csCisJCQkJc3RydWN0IHNrX2J1ZmYgKm5za2IsCisJ
CQkJdW5zaWduZWQgaW50IGV4dHJhX2NvdW50LAorCQkJCXVuc2lnbmVkIGlu
dCBkYXRhX2xlbikKIHsKIAlzdHJ1Y3Qgc2tiX3NoYXJlZF9pbmZvICpzaGlu
Zm8gPSBza2Jfc2hpbmZvKHNrYik7CiAJc2tiX2ZyYWdfdCAqZnJhZ3MgPSBz
aGluZm8tPmZyYWdzOwotCXUxNiBwZW5kaW5nX2lkeCA9IFhFTlZJRl9UWF9D
Qihza2IpLT5wZW5kaW5nX2lkeDsKLQlpbnQgc3RhcnQ7CisJdTE2IHBlbmRp
bmdfaWR4OwogCXBlbmRpbmdfcmluZ19pZHhfdCBpbmRleDsKIAl1bnNpZ25l
ZCBpbnQgbnJfc2xvdHM7CisJc3RydWN0IGdudHRhYl9jb3B5ICpjb3AgPSBx
dWV1ZS0+dHhfY29weV9vcHMgKyAqY29weV9vcHM7CisJc3RydWN0IGdudHRh
Yl9tYXBfZ3JhbnRfcmVmICpnb3AgPSBxdWV1ZS0+dHhfbWFwX29wcyArICpt
YXBfb3BzOworCXN0cnVjdCB4ZW5fbmV0aWZfdHhfcmVxdWVzdCAqdHhwID0g
Zmlyc3Q7CisKKwlucl9zbG90cyA9IHNoaW5mby0+bnJfZnJhZ3MgKyAxOwor
CisJY29weV9jb3VudChza2IpID0gMDsKKworCS8qIENyZWF0ZSBjb3B5IG9w
cyBmb3IgZXhhY3RseSBkYXRhX2xlbiBieXRlcyBpbnRvIHRoZSBza2IgaGVh
ZC4gKi8KKwlfX3NrYl9wdXQoc2tiLCBkYXRhX2xlbik7CisJd2hpbGUgKGRh
dGFfbGVuID4gMCkgeworCQlpbnQgYW1vdW50ID0gZGF0YV9sZW4gPiB0eHAt
PnNpemUgPyB0eHAtPnNpemUgOiBkYXRhX2xlbjsKKworCQljb3AtPnNvdXJj
ZS51LnJlZiA9IHR4cC0+Z3JlZjsKKwkJY29wLT5zb3VyY2UuZG9taWQgPSBx
dWV1ZS0+dmlmLT5kb21pZDsKKwkJY29wLT5zb3VyY2Uub2Zmc2V0ID0gdHhw
LT5vZmZzZXQ7CisKKwkJY29wLT5kZXN0LmRvbWlkID0gRE9NSURfU0VMRjsK
KwkJY29wLT5kZXN0Lm9mZnNldCA9IChvZmZzZXRfaW5fcGFnZShza2ItPmRh
dGEgKworCQkJCQkJICAgc2tiX2hlYWRsZW4oc2tiKSAtCisJCQkJCQkgICBk
YXRhX2xlbikpICYgflhFTl9QQUdFX01BU0s7CisJCWNvcC0+ZGVzdC51Lmdt
Zm4gPSB2aXJ0X3RvX2dmbihza2ItPmRhdGEgKyBza2JfaGVhZGxlbihza2Ip
CisJCQkJICAgICAgICAgICAgICAgLSBkYXRhX2xlbik7CisKKwkJY29wLT5s
ZW4gPSBhbW91bnQ7CisJCWNvcC0+ZmxhZ3MgPSBHTlRDT1BZX3NvdXJjZV9n
cmVmOwogCi0JbnJfc2xvdHMgPSBzaGluZm8tPm5yX2ZyYWdzOworCQlpbmRl
eCA9IHBlbmRpbmdfaW5kZXgocXVldWUtPnBlbmRpbmdfY29ucyk7CisJCXBl
bmRpbmdfaWR4ID0gcXVldWUtPnBlbmRpbmdfcmluZ1tpbmRleF07CisJCWNh
bGxiYWNrX3BhcmFtKHF1ZXVlLCBwZW5kaW5nX2lkeCkuY3R4ID0gTlVMTDsK
KwkJY29weV9wZW5kaW5nX2lkeChza2IsIGNvcHlfY291bnQoc2tiKSkgPSBw
ZW5kaW5nX2lkeDsKKwkJY29weV9jb3VudChza2IpKys7CisKKwkJY29wKys7
CisJCWRhdGFfbGVuIC09IGFtb3VudDsKIAotCS8qIFNraXAgZmlyc3Qgc2ti
IGZyYWdtZW50IGlmIGl0IGlzIG9uIHNhbWUgcGFnZSBhcyBoZWFkZXIgZnJh
Z21lbnQuICovCi0Jc3RhcnQgPSAoZnJhZ19nZXRfcGVuZGluZ19pZHgoJnNo
aW5mby0+ZnJhZ3NbMF0pID09IHBlbmRpbmdfaWR4KTsKKwkJaWYgKGFtb3Vu
dCA9PSB0eHAtPnNpemUpIHsKKwkJCS8qIFRoZSBjb3B5IG9wIGNvdmVyZWQg
dGhlIGZ1bGwgdHhfcmVxdWVzdCAqLworCisJCQltZW1jcHkoJnF1ZXVlLT5w
ZW5kaW5nX3R4X2luZm9bcGVuZGluZ19pZHhdLnJlcSwKKwkJCSAgICAgICB0
eHAsIHNpemVvZigqdHhwKSk7CisJCQlxdWV1ZS0+cGVuZGluZ190eF9pbmZv
W3BlbmRpbmdfaWR4XS5leHRyYV9jb3VudCA9CisJCQkJKHR4cCA9PSBmaXJz
dCkgPyBleHRyYV9jb3VudCA6IDA7CisKKwkJCWlmICh0eHAgPT0gZmlyc3Qp
CisJCQkJdHhwID0gdHhmcmFnczsKKwkJCWVsc2UKKwkJCQl0eHArKzsKKwkJ
CXF1ZXVlLT5wZW5kaW5nX2NvbnMrKzsKKwkJCW5yX3Nsb3RzLS07CisJCX0g
ZWxzZSB7CisJCQkvKiBUaGUgY29weSBvcCBwYXJ0aWFsbHkgY292ZXJlZCB0
aGUgdHhfcmVxdWVzdC4KKwkJCSAqIFRoZSByZW1haW5kZXIgd2lsbCBiZSBt
YXBwZWQuCisJCQkgKi8KKwkJCXR4cC0+b2Zmc2V0ICs9IGFtb3VudDsKKwkJ
CXR4cC0+c2l6ZSAtPSBhbW91bnQ7CisJCX0KKwl9CiAKLQlmb3IgKHNoaW5m
by0+bnJfZnJhZ3MgPSBzdGFydDsgc2hpbmZvLT5ucl9mcmFncyA8IG5yX3Ns
b3RzOwotCSAgICAgc2hpbmZvLT5ucl9mcmFncysrLCB0eHArKywgZ29wKysp
IHsKKwlmb3IgKHNoaW5mby0+bnJfZnJhZ3MgPSAwOyBzaGluZm8tPm5yX2Zy
YWdzIDwgbnJfc2xvdHM7CisJICAgICBzaGluZm8tPm5yX2ZyYWdzKyssIGdv
cCsrKSB7CiAJCWluZGV4ID0gcGVuZGluZ19pbmRleChxdWV1ZS0+cGVuZGlu
Z19jb25zKyspOwogCQlwZW5kaW5nX2lkeCA9IHF1ZXVlLT5wZW5kaW5nX3Jp
bmdbaW5kZXhdOwotCQl4ZW52aWZfdHhfY3JlYXRlX21hcF9vcChxdWV1ZSwg
cGVuZGluZ19pZHgsIHR4cCwgMCwgZ29wKTsKKwkJeGVudmlmX3R4X2NyZWF0
ZV9tYXBfb3AocXVldWUsIHBlbmRpbmdfaWR4LCB0eHAsCisJCQkJICAgICAg
ICB0eHAgPT0gZmlyc3QgPyBleHRyYV9jb3VudCA6IDAsIGdvcCk7CiAJCWZy
YWdfc2V0X3BlbmRpbmdfaWR4KCZmcmFnc1tzaGluZm8tPm5yX2ZyYWdzXSwg
cGVuZGluZ19pZHgpOworCisJCWlmICh0eHAgPT0gZmlyc3QpCisJCQl0eHAg
PSB0eGZyYWdzOworCQllbHNlCisJCQl0eHArKzsKIAl9CiAKIAlpZiAoZnJh
Z19vdmVyZmxvdykgewpAQCAtNDE1LDcgKzQ4MCw4IEBAIHN0YXRpYyBzdHJ1
Y3QgZ250dGFiX21hcF9ncmFudF9yZWYgKnhlbnZpZl9nZXRfcmVxdWVzdHMo
c3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVlCiAJCXNrYl9zaGluZm8oc2tiKS0+
ZnJhZ19saXN0ID0gbnNrYjsKIAl9CiAKLQlyZXR1cm4gZ29wOworCSgqY29w
eV9vcHMpID0gY29wIC0gcXVldWUtPnR4X2NvcHlfb3BzOworCSgqbWFwX29w
cykgPSBnb3AgLSBxdWV1ZS0+dHhfbWFwX29wczsKIH0KIAogc3RhdGljIGlu
bGluZSB2b2lkIHhlbnZpZl9ncmFudF9oYW5kbGVfc2V0KHN0cnVjdCB4ZW52
aWZfcXVldWUgKnF1ZXVlLApAQCAtNDUxLDcgKzUxNyw3IEBAIHN0YXRpYyBp
bnQgeGVudmlmX3R4X2NoZWNrX2dvcChzdHJ1Y3QgeGVudmlmX3F1ZXVlICpx
dWV1ZSwKIAkJCSAgICAgICBzdHJ1Y3QgZ250dGFiX2NvcHkgKipnb3BwX2Nv
cHkpCiB7CiAJc3RydWN0IGdudHRhYl9tYXBfZ3JhbnRfcmVmICpnb3BfbWFw
ID0gKmdvcHBfbWFwOwotCXUxNiBwZW5kaW5nX2lkeCA9IFhFTlZJRl9UWF9D
Qihza2IpLT5wZW5kaW5nX2lkeDsKKwl1MTYgcGVuZGluZ19pZHg7CiAJLyog
VGhpcyBhbHdheXMgcG9pbnRzIHRvIHRoZSBzaGluZm8gb2YgdGhlIHNrYiBi
ZWluZyBjaGVja2VkLCB3aGljaAogCSAqIGNvdWxkIGJlIGVpdGhlciB0aGUg
Zmlyc3Qgb3IgdGhlIG9uZSBvbiB0aGUgZnJhZ19saXN0CiAJICovCkBAIC00
NjIsMjQgKzUyOCwzNyBAQCBzdGF0aWMgaW50IHhlbnZpZl90eF9jaGVja19n
b3Aoc3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUsCiAJc3RydWN0IHNrYl9z
aGFyZWRfaW5mbyAqZmlyc3Rfc2hpbmZvID0gTlVMTDsKIAlpbnQgbnJfZnJh
Z3MgPSBzaGluZm8tPm5yX2ZyYWdzOwogCWNvbnN0IGJvb2wgc2hhcmVkc2xv
dCA9IG5yX2ZyYWdzICYmCi0JCQkJZnJhZ19nZXRfcGVuZGluZ19pZHgoJnNo
aW5mby0+ZnJhZ3NbMF0pID09IHBlbmRpbmdfaWR4OworCQkJCWZyYWdfZ2V0
X3BlbmRpbmdfaWR4KCZzaGluZm8tPmZyYWdzWzBdKSA9PQorCQkJCSAgICBj
b3B5X3BlbmRpbmdfaWR4KHNrYiwgY29weV9jb3VudChza2IpIC0gMSk7Ci0J
aW50IGksIGVycjsKKwlpbnQgaSwgZXJyID0gMDsKIAotCS8qIENoZWNrIHN0
YXR1cyBvZiBoZWFkZXIuICovCi0JZXJyID0gKCpnb3BwX2NvcHkpLT5zdGF0
dXM7Ci0JaWYgKHVubGlrZWx5KGVycikpIHsKLQkJaWYgKG5ldF9yYXRlbGlt
aXQoKSkKLQkJCW5ldGRldl9kYmcocXVldWUtPnZpZi0+ZGV2LAotCQkJCSAg
ICJHcmFudCBjb3B5IG9mIGhlYWRlciBmYWlsZWQhIHN0YXR1czogJWQgcGVu
ZGluZ19pZHg6ICV1IHJlZjogJXVcbiIsCi0JCQkJICAgKCpnb3BwX2NvcHkp
LT5zdGF0dXMsCi0JCQkJICAgcGVuZGluZ19pZHgsCi0JCQkJICAgKCpnb3Bw
X2NvcHkpLT5zb3VyY2UudS5yZWYpOwotCQkvKiBUaGUgZmlyc3QgZnJhZyBt
aWdodCBzdGlsbCBoYXZlIHRoaXMgc2xvdCBtYXBwZWQgKi8KLQkJaWYgKCFz
aGFyZWRzbG90KQotCQkJeGVudmlmX2lkeF9yZWxlYXNlKHF1ZXVlLCBwZW5k
aW5nX2lkeCwKLQkJCQkJICAgWEVOX05FVElGX1JTUF9FUlJPUik7CisJZm9y
IChpID0gMDsgaSA8IGNvcHlfY291bnQoc2tiKTsgaSsrKSB7CisJCWludCBu
ZXdlcnI7CisKKwkJLyogQ2hlY2sgc3RhdHVzIG9mIGhlYWRlci4gKi8KKwkJ
cGVuZGluZ19pZHggPSBjb3B5X3BlbmRpbmdfaWR4KHNrYiwgaSk7CisKKwkJ
bmV3ZXJyID0gKCpnb3BwX2NvcHkpLT5zdGF0dXM7CisJCWlmIChsaWtlbHko
IW5ld2VycikpIHsKKwkJCS8qIFRoZSBmaXJzdCBmcmFnIG1pZ2h0IHN0aWxs
IGhhdmUgdGhpcyBzbG90IG1hcHBlZCAqLworCQkJaWYgKGkgPCBjb3B5X2Nv
dW50KHNrYikgLSAxIHx8ICFzaGFyZWRzbG90KQorCQkJCXhlbnZpZl9pZHhf
cmVsZWFzZShxdWV1ZSwgcGVuZGluZ19pZHgsCisJCQkJCQkgICBYRU5fTkVU
SUZfUlNQX09LQVkpOworCQl9IGVsc2UgeworCQkJZXJyID0gbmV3ZXJyOwor
CQkJaWYgKG5ldF9yYXRlbGltaXQoKSkKKwkJCQluZXRkZXZfZGJnKHF1ZXVl
LT52aWYtPmRldiwKKwkJCQkJICAgIkdyYW50IGNvcHkgb2YgaGVhZGVyIGZh
aWxlZCEgc3RhdHVzOiAlZCBwZW5kaW5nX2lkeDogJXUgcmVmOiAldVxuIiwK
KwkJCQkJICAgKCpnb3BwX2NvcHkpLT5zdGF0dXMsCisJCQkJCSAgIHBlbmRp
bmdfaWR4LAorCQkJCQkgICAoKmdvcHBfY29weSktPnNvdXJjZS51LnJlZik7
CisJCQkvKiBUaGUgZmlyc3QgZnJhZyBtaWdodCBzdGlsbCBoYXZlIHRoaXMg
c2xvdCBtYXBwZWQgKi8KKwkJCWlmIChpIDwgY29weV9jb3VudChza2IpIC0g
MSB8fCAhc2hhcmVkc2xvdCkKKwkJCQl4ZW52aWZfaWR4X3JlbGVhc2UocXVl
dWUsIHBlbmRpbmdfaWR4LAorCQkJCQkJICAgWEVOX05FVElGX1JTUF9FUlJP
Uik7CisJCX0KKwkJKCpnb3BwX2NvcHkpKys7CiAJfQotCSgqZ29wcF9jb3B5
KSsrOwogCiBjaGVja19mcmFnczoKIAlmb3IgKGkgPSAwOyBpIDwgbnJfZnJh
Z3M7IGkrKywgZ29wX21hcCsrKSB7CkBAIC01MjYsMTQgKzYwNSw2IEBAIHN0
YXRpYyBpbnQgeGVudmlmX3R4X2NoZWNrX2dvcChzdHJ1Y3QgeGVudmlmX3F1
ZXVlICpxdWV1ZSwKIAkJaWYgKGVycikKIAkJCWNvbnRpbnVlOwogCi0JCS8q
IEZpcnN0IGVycm9yOiBpZiB0aGUgaGVhZGVyIGhhdmVuJ3Qgc2hhcmVkIGEg
c2xvdCB3aXRoIHRoZQotCQkgKiBmaXJzdCBmcmFnLCByZWxlYXNlIGl0IGFz
IHdlbGwuCi0JCSAqLwotCQlpZiAoIXNoYXJlZHNsb3QpCi0JCQl4ZW52aWZf
aWR4X3JlbGVhc2UocXVldWUsCi0JCQkJCSAgIFhFTlZJRl9UWF9DQihza2Ip
LT5wZW5kaW5nX2lkeCwKLQkJCQkJICAgWEVOX05FVElGX1JTUF9PS0FZKTsK
LQogCQkvKiBJbnZhbGlkYXRlIHByZWNlZGluZyBmcmFnbWVudHMgb2YgdGhp
cyBza2IuICovCiAJCWZvciAoaiA9IDA7IGogPCBpOyBqKyspIHsKIAkJCXBl
bmRpbmdfaWR4ID0gZnJhZ19nZXRfcGVuZGluZ19pZHgoJnNoaW5mby0+ZnJh
Z3Nbal0pOwpAQCAtODAzLDcgKzg3NCw2IEBAIHN0YXRpYyB2b2lkIHhlbnZp
Zl90eF9idWlsZF9nb3BzKHN0cnVjdCB4ZW52aWZfcXVldWUgKnF1ZXVlLAog
CQkJCSAgICAgdW5zaWduZWQgKmNvcHlfb3BzLAogCQkJCSAgICAgdW5zaWdu
ZWQgKm1hcF9vcHMpCiB7Ci0Jc3RydWN0IGdudHRhYl9tYXBfZ3JhbnRfcmVm
ICpnb3AgPSBxdWV1ZS0+dHhfbWFwX29wczsKIAlzdHJ1Y3Qgc2tfYnVmZiAq
c2tiLCAqbnNrYjsKIAlpbnQgcmV0OwogCXVuc2lnbmVkIGludCBmcmFnX292
ZXJmbG93OwpAQCAtODg1LDggKzk1NSwxMiBAQCBzdGF0aWMgdm9pZCB4ZW52
aWZfdHhfYnVpbGRfZ29wcyhzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwK
IAkJCWNvbnRpbnVlOwogCQl9CiAKKwkJZGF0YV9sZW4gPSAodHhyZXEuc2l6
ZSA+IFhFTl9ORVRCQUNLX1RYX0NPUFlfTEVOKSA/CisJCQlYRU5fTkVUQkFD
S19UWF9DT1BZX0xFTiA6IHR4cmVxLnNpemU7CisKIAkJcmV0ID0geGVudmlm
X2NvdW50X3JlcXVlc3RzKHF1ZXVlLCAmdHhyZXEsIGV4dHJhX2NvdW50LAog
CQkJCQkgICAgdHhmcmFncywgd29ya190b19kbyk7CisKIAkJaWYgKHVubGlr
ZWx5KHJldCA8IDApKQogCQkJYnJlYWs7CiAKQEAgLTkxMiw5ICs5ODYsOCBA
QCBzdGF0aWMgdm9pZCB4ZW52aWZfdHhfYnVpbGRfZ29wcyhzdHJ1Y3QgeGVu
dmlmX3F1ZXVlICpxdWV1ZSwKIAkJaW5kZXggPSBwZW5kaW5nX2luZGV4KHF1
ZXVlLT5wZW5kaW5nX2NvbnMpOwogCQlwZW5kaW5nX2lkeCA9IHF1ZXVlLT5w
ZW5kaW5nX3JpbmdbaW5kZXhdOwogCi0JCWRhdGFfbGVuID0gKHR4cmVxLnNp
emUgPiBYRU5fTkVUQkFDS19UWF9DT1BZX0xFTiAmJgotCQkJICAgIHJldCA8
IFhFTl9ORVRCS19MRUdBQ1lfU0xPVFNfTUFYKSA/Ci0JCQlYRU5fTkVUQkFD
S19UWF9DT1BZX0xFTiA6IHR4cmVxLnNpemU7CisJCWlmIChyZXQgPj0gWEVO
X05FVEJLX0xFR0FDWV9TTE9UU19NQVggLSAxICYmIGRhdGFfbGVuIDwgdHhy
ZXEuc2l6ZSkKKwkJCWRhdGFfbGVuID0gdHhyZXEuc2l6ZTsKIAogCQlza2Ig
PSB4ZW52aWZfYWxsb2Nfc2tiKGRhdGFfbGVuKTsKIAkJaWYgKHVubGlrZWx5
KHNrYiA9PSBOVUxMKSkgewpAQCAtOTI1LDggKzk5OCw2IEBAIHN0YXRpYyB2
b2lkIHhlbnZpZl90eF9idWlsZF9nb3BzKHN0cnVjdCB4ZW52aWZfcXVldWUg
KnF1ZXVlLAogCQl9CiAKIAkJc2tiX3NoaW5mbyhza2IpLT5ucl9mcmFncyA9
IHJldDsKLQkJaWYgKGRhdGFfbGVuIDwgdHhyZXEuc2l6ZSkKLQkJCXNrYl9z
aGluZm8oc2tiKS0+bnJfZnJhZ3MrKzsKIAkJLyogQXQgdGhpcyBwb2ludCBz
aGluZm8tPm5yX2ZyYWdzIGlzIGluIGZhY3QgdGhlIG51bWJlciBvZgogCQkg
KiBzbG90cywgd2hpY2ggY2FuIGJlIGFzIGxhcmdlIGFzIFhFTl9ORVRCS19M
RUdBQ1lfU0xPVFNfTUFYLgogCQkgKi8KQEAgLTk4OCw1NCArMTA1OSwxOSBA
QCBzdGF0aWMgdm9pZCB4ZW52aWZfdHhfYnVpbGRfZ29wcyhzdHJ1Y3QgeGVu
dmlmX3F1ZXVlICpxdWV1ZSwKIAkJCQkJICAgICB0eXBlKTsKIAkJfQogCi0J
CVhFTlZJRl9UWF9DQihza2IpLT5wZW5kaW5nX2lkeCA9IHBlbmRpbmdfaWR4
OwotCi0JCV9fc2tiX3B1dChza2IsIGRhdGFfbGVuKTsKLQkJcXVldWUtPnR4
X2NvcHlfb3BzWypjb3B5X29wc10uc291cmNlLnUucmVmID0gdHhyZXEuZ3Jl
ZjsKLQkJcXVldWUtPnR4X2NvcHlfb3BzWypjb3B5X29wc10uc291cmNlLmRv
bWlkID0gcXVldWUtPnZpZi0+ZG9taWQ7Ci0JCXF1ZXVlLT50eF9jb3B5X29w
c1sqY29weV9vcHNdLnNvdXJjZS5vZmZzZXQgPSB0eHJlcS5vZmZzZXQ7Ci0K
LQkJcXVldWUtPnR4X2NvcHlfb3BzWypjb3B5X29wc10uZGVzdC51LmdtZm4g
PQotCQkJdmlydF90b19nZm4oc2tiLT5kYXRhKTsKLQkJcXVldWUtPnR4X2Nv
cHlfb3BzWypjb3B5X29wc10uZGVzdC5kb21pZCA9IERPTUlEX1NFTEY7Ci0J
CXF1ZXVlLT50eF9jb3B5X29wc1sqY29weV9vcHNdLmRlc3Qub2Zmc2V0ID0K
LQkJCW9mZnNldF9pbl9wYWdlKHNrYi0+ZGF0YSkgJiB+WEVOX1BBR0VfTUFT
SzsKLQotCQlxdWV1ZS0+dHhfY29weV9vcHNbKmNvcHlfb3BzXS5sZW4gPSBk
YXRhX2xlbjsKLQkJcXVldWUtPnR4X2NvcHlfb3BzWypjb3B5X29wc10uZmxh
Z3MgPSBHTlRDT1BZX3NvdXJjZV9ncmVmOwotCi0JCSgqY29weV9vcHMpKys7
Ci0KLQkJaWYgKGRhdGFfbGVuIDwgdHhyZXEuc2l6ZSkgewotCQkJZnJhZ19z
ZXRfcGVuZGluZ19pZHgoJnNrYl9zaGluZm8oc2tiKS0+ZnJhZ3NbMF0sCi0J
CQkJCSAgICAgcGVuZGluZ19pZHgpOwotCQkJeGVudmlmX3R4X2NyZWF0ZV9t
YXBfb3AocXVldWUsIHBlbmRpbmdfaWR4LCAmdHhyZXEsCi0JCQkJCQlleHRy
YV9jb3VudCwgZ29wKTsKLQkJCWdvcCsrOwotCQl9IGVsc2UgewotCQkJZnJh
Z19zZXRfcGVuZGluZ19pZHgoJnNrYl9zaGluZm8oc2tiKS0+ZnJhZ3NbMF0s
Ci0JCQkJCSAgICAgSU5WQUxJRF9QRU5ESU5HX0lEWCk7Ci0JCQltZW1jcHko
JnF1ZXVlLT5wZW5kaW5nX3R4X2luZm9bcGVuZGluZ19pZHhdLnJlcSwKLQkJ
CSAgICAgICAmdHhyZXEsIHNpemVvZih0eHJlcSkpOwotCQkJcXVldWUtPnBl
bmRpbmdfdHhfaW5mb1twZW5kaW5nX2lkeF0uZXh0cmFfY291bnQgPQotCQkJ
CWV4dHJhX2NvdW50OwotCQl9Ci0KLQkJcXVldWUtPnBlbmRpbmdfY29ucysr
OwotCi0JCWdvcCA9IHhlbnZpZl9nZXRfcmVxdWVzdHMocXVldWUsIHNrYiwg
dHhmcmFncywgZ29wLAotCQkJCSAgICAgICAgICBmcmFnX292ZXJmbG93LCBu
c2tiKTsKKwkJeGVudmlmX2dldF9yZXF1ZXN0cyhxdWV1ZSwgc2tiLCAmdHhy
ZXEsIHR4ZnJhZ3MsIGNvcHlfb3BzLAorCQkJCSAgICBtYXBfb3BzLCBmcmFn
X292ZXJmbG93LCBuc2tiLCBleHRyYV9jb3VudCwKKwkJCQkgICAgZGF0YV9s
ZW4pOwogCiAJCV9fc2tiX3F1ZXVlX3RhaWwoJnF1ZXVlLT50eF9xdWV1ZSwg
c2tiKTsKIAogCQlxdWV1ZS0+dHgucmVxX2NvbnMgPSBpZHg7CiAKLQkJaWYg
KCgoZ29wLXF1ZXVlLT50eF9tYXBfb3BzKSA+PSBBUlJBWV9TSVpFKHF1ZXVl
LT50eF9tYXBfb3BzKSkgfHwKKwkJaWYgKCgqbWFwX29wcyA+PSBBUlJBWV9T
SVpFKHF1ZXVlLT50eF9tYXBfb3BzKSkgfHwKIAkJICAgICgqY29weV9vcHMg
Pj0gQVJSQVlfU0laRShxdWV1ZS0+dHhfY29weV9vcHMpKSkKIAkJCWJyZWFr
OwogCX0KIAotCSgqbWFwX29wcykgPSBnb3AgLSBxdWV1ZS0+dHhfbWFwX29w
czsKIAlyZXR1cm47CiB9CiAKQEAgLTExMTQsOSArMTE1MCw4IEBAIHN0YXRp
YyBpbnQgeGVudmlmX3R4X3N1Ym1pdChzdHJ1Y3QgeGVudmlmX3F1ZXVlICpx
dWV1ZSkKIAl3aGlsZSAoKHNrYiA9IF9fc2tiX2RlcXVldWUoJnF1ZXVlLT50
eF9xdWV1ZSkpICE9IE5VTEwpIHsKIAkJc3RydWN0IHhlbl9uZXRpZl90eF9y
ZXF1ZXN0ICp0eHA7CiAJCXUxNiBwZW5kaW5nX2lkeDsKLQkJdW5zaWduZWQg
ZGF0YV9sZW47CiAKLQkJcGVuZGluZ19pZHggPSBYRU5WSUZfVFhfQ0Ioc2ti
KS0+cGVuZGluZ19pZHg7CisJCXBlbmRpbmdfaWR4ID0gY29weV9wZW5kaW5n
X2lkeChza2IsIDApOwogCQl0eHAgPSAmcXVldWUtPnBlbmRpbmdfdHhfaW5m
b1twZW5kaW5nX2lkeF0ucmVxOwogCiAJCS8qIENoZWNrIHRoZSByZW1hcCBl
cnJvciBjb2RlLiAqLwpAQCAtMTEzNSwxOCArMTE3MCw2IEBAIHN0YXRpYyBp
bnQgeGVudmlmX3R4X3N1Ym1pdChzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1
ZSkKIAkJCWNvbnRpbnVlOwogCQl9CiAKLQkJZGF0YV9sZW4gPSBza2ItPmxl
bjsKLQkJY2FsbGJhY2tfcGFyYW0ocXVldWUsIHBlbmRpbmdfaWR4KS5jdHgg
PSBOVUxMOwotCQlpZiAoZGF0YV9sZW4gPCB0eHAtPnNpemUpIHsKLQkJCS8q
IEFwcGVuZCB0aGUgcGFja2V0IHBheWxvYWQgYXMgYSBmcmFnbWVudC4gKi8K
LQkJCXR4cC0+b2Zmc2V0ICs9IGRhdGFfbGVuOwotCQkJdHhwLT5zaXplIC09
IGRhdGFfbGVuOwotCQl9IGVsc2UgewotCQkJLyogU2NoZWR1bGUgYSByZXNw
b25zZSBpbW1lZGlhdGVseS4gKi8KLQkJCXhlbnZpZl9pZHhfcmVsZWFzZShx
dWV1ZSwgcGVuZGluZ19pZHgsCi0JCQkJCSAgIFhFTl9ORVRJRl9SU1BfT0tB
WSk7Ci0JCX0KLQogCQlpZiAodHhwLT5mbGFncyAmIFhFTl9ORVRUWEZfY3N1
bV9ibGFuaykKIAkJCXNrYi0+aXBfc3VtbWVkID0gQ0hFQ0tTVU1fUEFSVElB
TDsKIAkJZWxzZSBpZiAodHhwLT5mbGFncyAmIFhFTl9ORVRUWEZfZGF0YV92
YWxpZGF0ZWQpCkBAIC0xMzMyLDcgKzEzNTUsNyBAQCBzdGF0aWMgaW5saW5l
IHZvaWQgeGVudmlmX3R4X2RlYWxsb2NfYWN0aW9uKHN0cnVjdCB4ZW52aWZf
cXVldWUgKnF1ZXVlKQogLyogQ2FsbGVkIGFmdGVyIG5ldGZyb250IGhhcyB0
cmFuc21pdHRlZCAqLwogaW50IHhlbnZpZl90eF9hY3Rpb24oc3RydWN0IHhl
bnZpZl9xdWV1ZSAqcXVldWUsIGludCBidWRnZXQpCiB7Ci0JdW5zaWduZWQg
bnJfbW9wcywgbnJfY29wcyA9IDA7CisJdW5zaWduZWQgbnJfbW9wcyA9IDAs
IG5yX2NvcHMgPSAwOwogCWludCB3b3JrX2RvbmUsIHJldDsKIAogCWlmICh1
bmxpa2VseSghdHhfd29ya190b2RvKHF1ZXVlKSkpCi0tIAoyLjM1LjMKCg==

--=separator--


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 15:26:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 15:26:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456434.714235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2wJQ-0007OB-20; Wed, 07 Dec 2022 15:26:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456434.714235; Wed, 07 Dec 2022 15:26:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2wJP-0007O4-VC; Wed, 07 Dec 2022 15:26:19 +0000
Received: by outflank-mailman (input) for mailman id 456434;
 Wed, 07 Dec 2022 15:26:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NsCr=4F=citrix.com=prvs=333ae5379=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p2wJO-0007Km-Dn
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 15:26:18 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7bfbd079-7643-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 16:26:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7bfbd079-7643-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670426775;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=8zOgQZAGMxgVnZgOxCUGdMt5RDn6BEWB6LaksDvuMTg=;
  b=bXqlm45jVYrecLWj9C+5qIoGZ6CcmxMLLcbuW6gJUgP+/vXFKEXDtysj
   fiTqCkmskuoC5awZg1AMmeuHVnucMTh9BYG5e3vZwhHIiZAIxJBzcfUPc
   5Y4VY3ntmdVlXLJx0TGjesUmpdVtE4uGqHQYJOuu0grs5MylTfbmlAP6p
   k=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87473511
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:sZdQeKIWSJYf6L6WFE+RF5UlxSXFcZb7ZxGr2PjKsXjdYENShmFRy
 2YWDzjTPKuPamagedl1PIuzoB8AucDTyYQyQAFlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5ARhPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5WLmpD+
 M4pBQpXZ0iGl8my+aq8WrBz05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpPE+ojx5nYz/7DLo3mvuogX/uNSVVsluPqYI84nTJzRw327/oWDbQUozVGZoOwx/Bz
 o7A12H8LSwHZdia8GWmzV2XmcjRxwT8BatHQdVU8dY12QbOlwT/EiY+Sl+TsfS/zEmkVLp3K
 UMO/TE1hbMv70HtRd74NzW6qXiIpA8BWPJfFuQ77EeGza+8ywOQHG0NVDNCQN0gqs4tRDYu2
 0OJntXmHjhmuvueTnf13qeZq3a+NDYYKUcGZDQYVk0V7t/7uoYxgxnTCNF5H8aIYsbdQG+qh
 WrQ9W5n2utV3ZVjO7iHEU7voh2nq5X7fyMPvAyPW3KO6jphY578eNn9gbTE1spoIIGcR1iHm
 XELncmC8ewDZa2weDyxrPYlR+/wuavcWNHIqRs2RsR6qWzxk5K2VdoIiAySMnuFJSrtldXBR
 EbI8T1c65ZIVJdBRf8mOtnhYyjGIEWJKDgEahw2RoAWCnSSXFXdlM2LWaJ39z6FraTUuftjU
 ap3iO71ZZrgNYxpzSCtW8AW2qIxyyY1yAv7HM6kl0/6iOTGPSDNFN/p1Wdiichgvcu5TPj9q
 Y4DZ6NmNT0AOAEBXsUn2dFKdg1bRZTKLZv3t9ZWZoa+zvlOQQkc5wvq6ep5IeRNxv0F/tokC
 1nhAie0PnKj3yyYQehLA1g/AI7SsWFX9y1rZH1yYgr1gxDOo++Htc8iSnf+RpF/nMQL8BK+Z
 6VtlxmoahiXdgn6xg==
IronPort-HdrOrdr: A9a23:BqTOGqEYI+eT4xp/pLqENMeALOsnbusQ8zAXPiFKOGdom6mj/P
 xG88506faZslsssTIb6LW90dC7IE80rKQU3WBzB8bBYOCFghrREGgK1+KLqQEIfReOj9K1vp
 0OT0ERMrHN5BdB/KLHCaSDYrEd6cjC2pqBwc3Zy25pTQlsYa0l1QFkEQyWe3cGJzWuQaBJcq
 ah2g==
X-IronPort-AV: E=Sophos;i="5.96,225,1665460800"; 
   d="scan'208";a="87473511"
Date: Wed, 7 Dec 2022 15:26:09 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?=
	<marmarek@invisiblethingslab.com>
CC: <xen-devel@lists.xenproject.org>, Jason Andryuk <jandryuk@gmail.com>, Wei
 Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 2/2] tools/libxl: enable in-band reconnect marker for
 stubdom QMP proxy
Message-ID: <Y5CwkZPizLKguGls@perard.uk.xensource.com>
References: <20220905135019.3749982-1-marmarek@invisiblethingslab.com>
 <20220905135019.3749982-2-marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20220905135019.3749982-2-marmarek@invisiblethingslab.com>

On Mon, Sep 05, 2022 at 03:50:19PM +0200, Marek Marczykowski-Grecki wrote:
> This enables stubdom reliably detect when it needs to reconnect QMP
> socket. It is critical, as otherwise QEMU will not send its handshake,
> and so libxl will timeout while waiting on one. When it happens during
> domain startup, it can result in error like this:
> 
> libxl: libxl_pci.c:1772:device_pci_add_done: Domain 3:libxl__device_pci_add failed for PCI device 0:0:14.0 (rc -9)
> libxl: libxl_create.c:1904:domcreate_attach_devices: Domain 3:unable to add pci devices
> 
> See vchan-socket-proxy commit message for details about this reconnect
> corner case.
> 
> Stubdomain side needs to use --reconnect-marker=1 option too.
> 
> Signed-off-by: Marek Marczykowski-Grecki <marmarek@invisiblethingslab.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 16:01:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 16:01:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456487.714246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2wr4-00065E-8g; Wed, 07 Dec 2022 16:01:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456487.714246; Wed, 07 Dec 2022 16:01:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2wr4-000657-4j; Wed, 07 Dec 2022 16:01:06 +0000
Received: by outflank-mailman (input) for mailman id 456487;
 Wed, 07 Dec 2022 16:01:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2wr2-00064x-ME; Wed, 07 Dec 2022 16:01:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2wr2-0005G8-Jm; Wed, 07 Dec 2022 16:01:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2wr1-0004bp-TZ; Wed, 07 Dec 2022 16:01:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2wr1-0002cB-T7; Wed, 07 Dec 2022 16:01:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=x5Q1eMYWLMZjrdiiyzHCGocBXLch5u7qbnKwF5TrU00=; b=TXagNV0MQtTKSDf/70XvEoLoW9
	KUU9N5SApdPpGsLEGlCBXMyXije+Pl5GMsT/q5+5JBKXTVfxsSoojBCx0xXvgdlEZbhOJ/lddepwu
	ODaWl9XvFpb8Zi9ZnZ3oz2VYlc4idexk/6gjjh79EVvtjIRsRABJW+rKPGLBQ0FM9TGk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175072-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175072: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-start/debianhvm.repeat:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=11b4ff64841efd9724e5c1fce81ec2b5484b8d57
X-Osstest-Versions-That:
    xen=b926dbcccaa92831dda37576f768ddab9ec8a701
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 07 Dec 2022 16:01:03 +0000

flight 175072 xen-unstable-smoke real [real]
flight 175073 xen-unstable-smoke real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175072/
http://logs.test-lab.xenproject.org/osstest/logs/175073/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 20 guest-start/debianhvm.repeat fail REGR. vs. 175063

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  11b4ff64841efd9724e5c1fce81ec2b5484b8d57
baseline version:
 xen                  b926dbcccaa92831dda37576f768ddab9ec8a701

Last test of basis   175063  2022-12-06 19:00:28 Z    0 days
Testing same since   175072  2022-12-07 12:02:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Per Bilse <per.bilse@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 11b4ff64841efd9724e5c1fce81ec2b5484b8d57
Author: Michal Orzel <michal.orzel@amd.com>
Date:   Wed Dec 7 12:18:36 2022 +0100

    x86/platform: protect XENPF_get_dom0_console if CONFIG_VIDEO not set
    
    A build failure [1] is observed if CONFIG_VGA (and thus CONFIG_VIDEO) is
    not set. This is because XENPF_get_dom0_console cmd of platform hypercall
    makes a call to fill_console_start_info, which is defined in video/vga.c
    and built only if CONFIG_VGA is set.
    
    To fix this issue, protect XENPF_get_dom0_console with CONFIG_VIDEO
    ifdefery.
    
    [1]:
    ld: prelink.o: in function `do_platform_op':
    (.text.do_platform_op+0x1a7): undefined reference to `fill_console_start_info'
    
    Fixes: 4dd160583c79 ("x86/platform: introduce hypercall to get initial video console settings")
    Signed-off-by: Michal Orzel <michal.orzel@amd.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit a44734df6c24fadbdb001f051cc5580c467caf7d
Author: Per Bilse <per.bilse@citrix.com>
Date:   Wed Dec 7 12:17:30 2022 +0100

    ioreq_broadcast(): accept partial broadcast success
    
    Avoid incorrectly triggering an error when a broadcast buffered ioreq
    is not handled by all registered clients, as long as the failure is
    strictly because the client doesn't handle buffered ioreqs.
    
    Signed-off-by: Per Bilse <per.bilse@citrix.com>
    Reviewed-by: Paul Durrant <paul@xen.org>

commit 51c5b8b9afe9c6c63f6f2a55f467118c40cff976
Author: Michal Orzel <michal.orzel@amd.com>
Date:   Wed Dec 7 12:16:49 2022 +0100

    xen: remove trigraphs from comments
    
    MISRA C rule 4.2 states that trigraphs (sequences of two question marks
    followed by a specified third character [=/'()!<>-]) should not be used.
    This applies to both code and comments. Thankfully, we do not use them
    in the code, but still there are some comments where they are
    accidentally used. Fix it.
    
    With regards to the comments and respective macros in pci_regs.h, these
    were inherited from Linux. Let's knowingly accept the divergence.
    
    Signed-off-by: Michal Orzel <michal.orzel@amd.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>

commit 60737ee9c590bea87c190a9421f2c19a41224c4a
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Dec 7 12:16:08 2022 +0100

    x86/HVM: drop stale check from hvm_load_cpu_msrs()
    
    Up until f61685a66903 ("x86: remove defunct init/load/save_msr()
    hvm_funcs") the check of the _rsvd field served as an error check for
    the earlier hvm_funcs.save_msr() invocation. With that invocation gone
    the check makes no sense anymore: It is effectively dead code due to the
    checking of the field in the earlier loop.
    
    While dropping the conditional also eliminate the "err" local variable
    (using a non-standard name anyway), replaced by suitable new/adjusted
    "return" statements.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 16:28:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 16:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456497.714259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2xHX-00015c-CK; Wed, 07 Dec 2022 16:28:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456497.714259; Wed, 07 Dec 2022 16:28:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2xHX-00015V-9S; Wed, 07 Dec 2022 16:28:27 +0000
Received: by outflank-mailman (input) for mailman id 456497;
 Wed, 07 Dec 2022 16:28:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2xHW-00015P-MS
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 16:28:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2xHV-0005rH-An; Wed, 07 Dec 2022 16:28:25 +0000
Received: from [15.248.2.156] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2xHV-0001If-2e; Wed, 07 Dec 2022 16:28:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=JMhRux5lJsxnPEOa8YQAoN5PZrKdrKcrJ8/O4HBN+3Q=; b=i1HBHMLY0snheD3B8a+GtBT/K8
	yGW/rYf+WdZ5+Qm4kkwzgLWeWI1IUFPsMC8KMD/IHMhSi3//1P7id5JMFfCj1250H7iTxYg6EjGn1
	g76oHzcwCdC1XmhXwe4sujBp65dOe5afpRe+OtgFj6eJ8Ht8TZLGkdH1zGLaHlnAHLaM=;
Message-ID: <7cb6475e-0ab4-a7e2-8049-04c66588229f@xen.org>
Date: Wed, 7 Dec 2022 16:28:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN][RFC PATCH v4 10/16] asm/smp.h: move cpu related function to
 asm/cpu.h
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, Luca.Fancellu@arm.com,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
 <20221207061815.7404-4-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221207061815.7404-4-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Vikram,

On 07/12/2022 06:18, Vikram Garhwal wrote:
> Dynamic programming ops will modify the dt_host and there might be other
> function which are browsing the dt_host at the same time. To avoid the race
> conditions, adding rwlock for browsing the dt_host. But adding rwlock in
> device_tree.h causes following circular dependency:
>      device_tree.h->rwlock.h->smp.h->asm/smp.h->device_tree.h
> 
> Inside arch/arm/include/asm/smp.h, there is one function which needs
> device_tree.h, moved the cpu related function to a new file:
> arch/arm/include/asm/cpu.h

Given there is only one function, I don't really see the benefits of 
splitting smp.h and then adding #ifdef CONFIG_ARM in the common code.

Instead, it would be better if we don't include device_tree.h in the 
header but in the c files that need to call arch_cpu_init() and forward 
declare dt_device_node.

Another potential approach is to move out the percpu_rwlock helpers in a 
separate header. The advantage with this approach is we would reduce the 
number of definition included everywhere (there are not many use of the 
percpu rwlock).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 16:31:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 16:31:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456503.714270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2xKQ-0002y7-PF; Wed, 07 Dec 2022 16:31:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456503.714270; Wed, 07 Dec 2022 16:31:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2xKQ-0002y0-MX; Wed, 07 Dec 2022 16:31:26 +0000
Received: by outflank-mailman (input) for mailman id 456503;
 Wed, 07 Dec 2022 16:31:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2xKP-0002xu-Iu
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 16:31:25 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2xKP-0005vZ-8a; Wed, 07 Dec 2022 16:31:25 +0000
Received: from [15.248.2.156] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2xKP-0001Kw-46; Wed, 07 Dec 2022 16:31:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=RoQu4/AJanUoI8qjxyhgfU2D9h8mDWZVnaKVo9TfFk0=; b=QU6ewhdbDE+lBQyy0FNq6zbbfR
	YS245V3tn7+0Hhr/f1nvotoYS03ntTsuBLZyyYNqrxz2sTEt2eLE4R1Jnth1FVB2c7wxHLOd8e3lc
	ZOQ6MeIz7GpuezsJY03Y231mBGfPnmoOD2Ol09hPImLfIUqlbSSqtrs0h2PD6ycDM+8I=;
Message-ID: <9560a124-020c-6a5c-d4ce-c26e52413bd2@xen.org>
Date: Wed, 7 Dec 2022 16:31:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN][RFC PATCH v4 11/16] common/device_tree: Add rwlock for
 dt_host
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, Luca.Fancellu@arm.com
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
 <20221207061815.7404-5-vikram.garhwal@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221207061815.7404-5-vikram.garhwal@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Vikram,

On 07/12/2022 06:18, Vikram Garhwal wrote:
>   Dynamic programming ops will modify the dt_host and there might be other
>   function which are browsing the dt_host at the same time. To avoid the race
>   conditions, adding rwlock for browsing the dt_host.

Looking at the user below, it is not entirely clear what the lock is 
actually protecting. For instance...

> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
> ---
>   xen/common/device_tree.c      | 27 +++++++++++++++++++++++++++
>   xen/include/xen/device_tree.h |  6 ++++++
>   2 files changed, 33 insertions(+)
> 
> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> index acf26a411d..51ee2a5edf 100644
> --- a/xen/common/device_tree.c
> +++ b/xen/common/device_tree.c
> @@ -140,6 +140,8 @@ const struct dt_property *dt_find_property(const struct dt_device_node *np,
>       if ( !np )
>           return NULL;
>   
> +    read_lock(&dt_host->lock);
> +
>       for ( pp = np->properties; pp; pp = pp->next )
>       {
>           if ( dt_prop_cmp(pp->name, name) == 0 )
> @@ -150,6 +152,7 @@ const struct dt_property *dt_find_property(const struct dt_device_node *np,
>           }
>       }
>   
> +    read_unlock(&dt_host->lock);
>       return pp;
>   }
>   
> @@ -336,11 +339,14 @@ struct dt_device_node *dt_find_node_by_name(struct dt_device_node *from,
>       struct dt_device_node *np;
>       struct dt_device_node *dt;
>   
> +    read_lock(&dt_host->lock);
> +
>       dt = from ? from->allnext : dt_host;
>       dt_for_each_device_node(dt, np)
>           if ( np->name && (dt_node_cmp(np->name, name) == 0) )
>               break;
>   
> +    read_unlock(&dt_host->lock);
>       return np;

... I was expecting the read lock to also protect the value returned 
from being freed. But this is not the case.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 16:36:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 16:36:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456511.714282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2xP3-0003c9-A0; Wed, 07 Dec 2022 16:36:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456511.714282; Wed, 07 Dec 2022 16:36:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2xP3-0003c2-7B; Wed, 07 Dec 2022 16:36:13 +0000
Received: by outflank-mailman (input) for mailman id 456511;
 Wed, 07 Dec 2022 16:36:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=peuN=4F=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1p2xP1-0003bw-2n
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 16:36:11 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3e975f41-764d-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 17:36:07 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id BB99932009EF;
 Wed,  7 Dec 2022 11:36:03 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Wed, 07 Dec 2022 11:36:04 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 7 Dec 2022 11:36:02 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e975f41-764d-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670430963; x=
	1670517363; bh=axhUXMA34HA+Q1j97/dwkpqUsNJUM/48DcRDMKvPUN4=; b=L
	2E9c8LkJrg0CNJ8n2mXEHYcRzbJ3/ZHKnwMJ9GyQn/+Y3vuK7MJnnxVyfSdlUxXt
	iQtaF3Lk5PWMf3nj1SH8k3YZaie6enbRLofb6Eg6mpxPuhX7n4ti51QVoKxUF3Xo
	qMElbe6FIykKyaNvmLv5VFqiR6t/CYdOF9XyRe275cOrr5tuI9UIji4ipDXxQYQs
	jTeCnnuU2d7dV7Jsn/dZSLYUifcA7rYUJkOJdN1u6aETERkqazPC0j08mjWIOQSQ
	H+k0Luzzp+aRwnEFv2bHBw2WRuu+iAtkp8IQAtIlO6zaSGrmuZDtqxtZRMhpINje
	g21grB005iDSJcMLyTYIg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1670430963; x=1670517363; bh=axhUXMA34HA+Q1j97/dwkpqUsNJU
	M/48DcRDMKvPUN4=; b=mFearBLiVx53W5gteYjDFezL2WkZKq9QixokEWPLoU/H
	js6Qxyi+BcmGBJJLGxegSNljyHFsmfzlloE88eJKeCoCCxWZZE5meOmSSE4xOrxK
	0JTxxsK8PrwjNa9iibx+G0UC5qvOQDV8kpS62dkMKb6EpajOfl1HjSNcgAeQX8oc
	VzNKD3fyIiVKRT5DGZESzheTpoEbv1lBYgiJK0RHzAne2cO2UnvYXQ6hTayPSvil
	tn8zMjTl8hhJHw8Mo4jNsmLwRjcc+V30Ihqz4leGq8vl4smuvD9K7CnXxdU8rFGZ
	VAiuGAVctjYdQKEu63ehgb4do9+GiOlvsiaDmWyf8Q==
X-ME-Sender: <xms:88CQYxqfAHRYDut-CQ915UxSt-mDf-5FxI2IFicRDOBIKd-vgMTf1g>
    <xme:88CQYzo2I3NvIA-GDlmhb7hBROnGmO_9P0BQTM4NgwiJoQRoauNvc_fQXPwZP_OrL
    k1hrRg6XvT2bA>
X-ME-Received: <xmr:88CQY-OKjuk7NQLoZGmTHh8J-q2nXHtLSCY1kPo35rIQxlIYbOH1jRGz6FNVzeUkcEkl4ozTLeOv9SvjF79dkqaTsIhdpt620Q>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudekgdeltdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefgudel
    teefvefhfeehieetleeihfejhfeludevteetkeevtedtvdegueetfeejudenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:88CQY86AoKqZfEfiRy7-mznXvyXoggUi3vu4QK6vQE1vPQZYBWWZyA>
    <xmx:88CQYw6wO3gnrL-KBbmr-s09suUzXNJqPdOhgDMRE9VwrGYKSuwt_g>
    <xmx:88CQY0gmZcPZ1WSVTxzbDemzdJq796ZKJZ_5Ct3LdBf3MRsKyf2xqQ>
    <xmx:88CQY-SXzVnlH7W4QwzpXfbN12XNL_ATUb8PRvhjc4fw1KCMDXU7_A>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 7 Dec 2022 17:35:57 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/2] vchan-socket-proxy: add reconnect marker support
Message-ID: <Y5DA7VqkvJ1kvoBj@mail-itl>
References: <20220905135019.3749982-1-marmarek@invisiblethingslab.com>
 <Y5CvxjkqB2qIKVz3@perard.uk.xensource.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="jgA1g4YBcMUBxEuj"
Content-Disposition: inline
In-Reply-To: <Y5CvxjkqB2qIKVz3@perard.uk.xensource.com>


--jgA1g4YBcMUBxEuj
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 7 Dec 2022 17:35:57 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/2] vchan-socket-proxy: add reconnect marker support

On Wed, Dec 07, 2022 at 03:22:46PM +0000, Anthony PERARD wrote:
> On Mon, Sep 05, 2022 at 03:50:18PM +0200, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > +                reconnect_marker_value =3D atoi(optarg);
>=20
> atoi() isn't great, if there's garbage it just return 0, which is
> validated below.
>=20
> Would there be value here in using strtol() which can detect input
> error? To at least help with maybe hard to debug issues?

I'll send v2 with this changed.

> > +                if (reconnect_marker_value < 0 || reconnect_marker_val=
ue > 255) {
> > +                    fprintf(stderr, "invalid argument for --reconnect-=
marker, "
> > +                                    "must be a number between 0 and 25=
5\n");
> > +                    usage(argv);
> > +                }
> > +                break;
> >              case '?':
> >                  usage(argv);
> >          }
> > @@ -509,6 +549,15 @@ int main(int argc, char **argv)
> >                  ret =3D 1;
> >                  break;
> >              }
> > +            if (reconnect_marker_value !=3D -1) {
> > +                const char marker_buf[] =3D { reconnect_marker_value };
> > +
> > +                if (libxenvchan_write(state.ctrl, marker_buf, sizeof(m=
arker_buf))
> > +                        !=3D sizeof(marker_buf)) {
> > +                    fprintf(stderr, "failed to send reconnect marker\n=
");
>=20
> Is this an expected failure? If so, maybe adding "(ignored)" might be
> valuable to someone reading the logs?

No, it isn't, it may mean server is gone or other fatal communication
error. The break below will terminate the process (after performing
cleanup).

> > +                    break;
> > +                }
> > +            }
> >              if (data_loop(&state) !=3D 0)
> >                  break;
> >              /* don't reconnect if output was stdout */
>=20
>=20
> Otherwise, the patch looks fine. Even if kept as is:
> Acked-by: Anthony PERARD <anthony.perard@citrix.com>
>=20
> Thanks,
>=20
> --=20
> Anthony PERARD

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--jgA1g4YBcMUBxEuj
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmOQwO0ACgkQ24/THMrX
1yzgGQf9GZ+23jXZ8qdXjug4ekZHOVIF7LJtd19EyzzgMBtE3xjolN9ZL6inTFWg
2PuGqIpBqIYdT0DxWHYAj13F0/B9xmwBSDchDmz+p5j/ISikWMPyGbCMvGqkoKUH
EYk+UeQrK/q0hldXuo3LxtaOFtunXZ+p33sxavKpA2qgVMly89fJ84XE0eDLN38Q
H/LI8UN00iHnQd8vGOHcCikbqMmDAPVcUnai548SH6SoANrDazxM+ndz6H3OG6lC
P0m/0So5pqVgN8aNVCDL/39jEm0hZ1X5fOcQst0IAXQS1Q01B0J7lKWfVCAWCy5x
qMeelFuVfivga3WLpB67l7RSKNXM0g==
=jruy
-----END PGP SIGNATURE-----

--jgA1g4YBcMUBxEuj--


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 16:45:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 16:45:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456520.714292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2xY1-0005a4-6P; Wed, 07 Dec 2022 16:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456520.714292; Wed, 07 Dec 2022 16:45:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2xY1-0005Zx-3c; Wed, 07 Dec 2022 16:45:29 +0000
Received: by outflank-mailman (input) for mailman id 456520;
 Wed, 07 Dec 2022 16:45:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2xXz-0005Zm-K0; Wed, 07 Dec 2022 16:45:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2xXz-0006Kr-FU; Wed, 07 Dec 2022 16:45:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p2xXz-0005le-5O; Wed, 07 Dec 2022 16:45:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p2xXz-00081j-4w; Wed, 07 Dec 2022 16:45:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VBfTHPnDmY2DHSKjfdvULtp1OXQFUp01VFc41GIaXtM=; b=1WId5tNt/0kemDdn0TOjVVCuFg
	TyrdyPv+s2BTwcEIBXDUQS2hHjshhEMx+umWDJutuEhlj/zk6MYzDUvkLRDelK4ndb/G/T47ltPJz
	XYJjzRysrImWUyn6ogUluWSaJFPI8kAa6w2MT5A4EC4eQyvMNh+n5IMI+sJb7mmNHBWU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175069-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175069: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=7edea0d27b0aaca29b9c21205ab0acc49bce5139
X-Osstest-Versions-That:
    libvirt=7a2034127010598b91fa576f72f330baf50c1085
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 07 Dec 2022 16:45:27 +0000

flight 175069 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175069/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175056
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175056
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175056
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              7edea0d27b0aaca29b9c21205ab0acc49bce5139
baseline version:
 libvirt              7a2034127010598b91fa576f72f330baf50c1085

Last test of basis   175056  2022-12-06 04:21:46 Z    1 days
Testing same since   175069  2022-12-07 04:20:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Ján Tomko <jtomko@redhat.com>
  Kristina Hanicova <khanicov@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   7a20341270..7edea0d27b  7edea0d27b0aaca29b9c21205ab0acc49bce5139 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 16:50:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 16:50:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456531.714304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2xck-0007E1-TJ; Wed, 07 Dec 2022 16:50:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456531.714304; Wed, 07 Dec 2022 16:50:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2xck-0007Du-QL; Wed, 07 Dec 2022 16:50:22 +0000
Received: by outflank-mailman (input) for mailman id 456531;
 Wed, 07 Dec 2022 16:50:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2xci-00073N-Nt
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 16:50:20 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2xcf-0006Pm-NT; Wed, 07 Dec 2022 16:50:17 +0000
Received: from [15.248.2.156] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2xcf-0002PA-GF; Wed, 07 Dec 2022 16:50:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=z8Q5b1N8Jz9euipTZvbGNA47AUluIUZY8hK2/XGVOjI=; b=rZ+3hlds5xx/W9V3WtaZ8oGTNk
	LQMZfHXd7DNifTUbqc/W3dXajvMbJ79cJWpoGKeyoIdsLO/GJVHBM0RWq/9pPqSG1li6whHZBxx9b
	GMzTQUMytlFo7dSWEm5aAIOEZH8eG/bZeWwZ/jKHDXGw6D99cgg1bmDoLcElkGj5yY7M=;
Message-ID: <478d4c20-31b7-e98d-25c1-4b4e9afe7e0a@xen.org>
Date: Wed, 7 Dec 2022 16:50:14 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN][RFC PATCH v3 10/14] xen/arm: Implement device tree node
 removal functionalities
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>,
 Vikram Garhwal <fnu.vikram@xilinx.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, bertrand.marquis@arm.com,
 volodymyr_babchuk@epam.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>
References: <20220308194704.14061-1-fnu.vikram@xilinx.com>
 <20220308194704.14061-11-fnu.vikram@xilinx.com>
 <f00fa29e-d59a-471a-ef05-4f72787ad8e8@xen.org>
 <e5876e70-740c-74ad-f6ef-c6afe955199d@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e5876e70-740c-74ad-f6ef-c6afe955199d@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 07/12/2022 01:37, Vikram Garhwal wrote:
>> In your use-case, are you planning to ask the admin to reboot if you
>> can't remove a node?
> Yeah. What is error case where it may happen?

The code below have many possible failures. I would suggest to test by 
throwing an error on the second node and check what happen if you try to 
remove again.

> 
> We are checking if dtbo is same as it was added and also expect user to 
> remove the nodes only iff the nodes aren't
> 
> used by any domain.
> 
>>
>>> +        {
>>> +            printk(XENLOG_ERR "Device %s is not present in the tree. 
>>> Removing nodes failed\n",
>>> +                   full_dt_node_path[j]);
>>> +            return -EINVAL;
>>> +        }
>>> +
>>> +        domid = dt_device_used_by(overlay_node);
>>> +
>>> +        dt_dprintk("Checking if node %s is used by any domain\n",
>>> +                   full_dt_node_path[j]);
>>> +
>>> +        /* Remove the node iff it's assigned to domain 0 or domain 
>>> io. */
>>> +        if ( domid != 0 && domid != DOMID_IO )
>>
>> I think I asked before, but I have seen no answer on that. What will
>> prevent the device to not be assigned after this check?
> 
> So, here for removal we assume that user removed all on-going ops on the 
> dtbo nodes which they wants to remove.
Please don't make any assumption on what the user is doing even if it is 
dom0. So the hypervisor code should be hardened.

>>> +        {
>>> +            printk(XENLOG_ERR "Device %s as it is being used by 
>>> domain %d. Removing nodes failed\n",
>>> +                   full_dt_node_path[j], domid);
>>> +            return -EINVAL;
>>> +        }
>>> +
>>> +        dt_dprintk("Removing node: %s\n", full_dt_node_path[j]);
>>> +
>>> +        nirq = node_num_irq[j];
>>> +
>>> +        /* Remove IRQ permission */
>>> +        for ( i = 0; i < nirq; i++ )
>>> +        {
>>> +            rc = nodes_irq[j][i];
>>> +            /*
>>> +             * TODO: We don't handle shared IRQs for now. So, it is 
>>> assumed that
>>> +             * the IRQs was not shared with another domain.
>>> +             */
>>
>> This is not what I meant in v2. Interrupts cannot be shared between
>> domain on Arm. However, interrupts can be shared between devices.
>>
>> This is the latter part that needs a TODO.
>>
>> In addition to that, as I wrote, an IRQ can be assigned to a *single*
>> domain without the device been assigned to that domain. So I think this
>> needs to be checked possibly by using the information stored in "desc"
>> to know where the IRQ was routed to.
>>
>>> +            rc = irq_deny_access(d, rc);
>>> +            if ( rc )
>>> +            {
>>> +                printk(XENLOG_ERR "unable to revoke access for irq 
>>> %u for %s\n",
>>> +                       i, dt_node_full_name(overlay_node));
>>> +                return rc;
>>> +            }
>>> +        }
>>> +
>>> +        rc = iommu_remove_dt_device(overlay_node);
>>> +        if ( rc != 0 && rc != -ENXIO )
>>> +            return rc;
>>> +
>>> +        naddr = dt_number_of_address(overlay_node);
>>> +
>>> +        /* Remove mmio access. */
>>> +        for ( i = 0; i < naddr; i++ )
>>> +        {
>>> +            rc = dt_device_get_address(overlay_node, i, &addr, &size);
>>> +            if ( rc )
>>> +            {
>>> +                printk(XENLOG_ERR "Unable to retrieve address %u for 
>>> %s\n",
>>> +                       i, dt_node_full_name(overlay_node));
>>> +                return rc;
>>> +            }
>>> +
>>> +            rc = iomem_deny_access(d, paddr_to_pfn(addr),
>>> +                                   paddr_to_pfn(PAGE_ALIGN(addr + 
>>> size - 1)));
>>
>> I think you missed my comment here. Similar to the IRQs, you are asking
>> for trouble to parse the device-tree again. It would be better to store
>> the information using a rangeset (see include/xen/rangeset.h).
>>
>> I also think the double array for the IRQs should be converted to a
>> rangeset as this would simplify the code.
>>
> Keeping rangeset will work if we only parse one-level nodes. But if 
> there are descendant nodes, then its looking complicated to get info 
> using rangeset. While adding, we have to add parent first and then it's 
> descendant. But while remove, we will need to remove descendants first 
> and the parent node lastly.

I am not sure I understand the problem here. If you use a rangeset, then 
you don't need to go through every node one by one to apply/revert the 
permissions. You could simply apply/revert all the permission in one call.

>> Furthemore, you are removing the permission but not the mapping in the
>> P2M. Can you clarify why?
> We are not actually mapping the nodes here.
The remove function should be the inverse of the add function. AFAICT, 
you are calling mapping the P2M (see call to map_range_to_domain()). So 
this removal function *have* to remove the entry from the P2Ms.

If you disagree with that, then please explain who is going to remove 
the P2M mappings.

±>>
>>
>>> +            if ( rc )
>>> +            {
>>> +                printk(XENLOG_ERR "Unable to remove dom%d access to"
>>> +                        " 0x%"PRIx64" - 0x%"PRIx64"\n",
>>> +                        d->domain_id,
>>> +                        addr & PAGE_MASK, PAGE_ALIGN(addr + size) - 1);
>>> +                return rc;
>>> +            }
>>> +        }
>>> +
>>> +        rc = dt_overlay_remove_node(overlay_node);
>>> +        if ( rc )
>>> +            return rc;
>>> +    }
>>> +
>>> +    return rc;
>>> +}
>>
>> [...]
>>
>>> + * overlay_node_track describes information about added nodes 
>>> through dtbo.
>>> + * @entry: List pointer.
>>> + * @dt_host_new: Pointer to the updated dt_host_new unflattened 
>>> 'updated fdt'.
>>> + * @fdt: Stores the fdt.
>>> + * @nodes_fullname: Stores the full name of nodes.
>>> + * @nodes_irq: Stores the IRQ added from overlay dtb.
>>> + * @node_num_irq: Stores num of IRQ for each node in overlay dtb.
>>> + * @num_nodes: Stores total number of nodes in overlay dtb.
>>> + */
>>> +struct overlay_track {
>>> +    struct list_head entry;
>>> +    struct dt_device_node *dt_host_new;
>>> +    void *fdt;
>>> +    char **nodes_fullname;
>>
>> Looking at the code, the main use for the fullname are to check the FDT
>> match and looking up in the DT.
>>
>> In order to check the DT, you could use memcmp() to confirm both the
>> stored FDT and the one provided by the user match.
>>
>> For the lookup, you could avoid it by storing a pointer to the root of
>> the new subtrees.
>>
>> Please let me know if you disagree with this approach.
>>
> If I understood correctly: just keeping the root of new overlay subtree 
> will not work for all case. It will work only if the nodes added are 
> adjacent to each other i.e. have the same parent then it will work as we 
> add all overlay nodes as the last child of their parent. But If two 
> subnodes have different parents, they may or may not be 
> nearby(node->allnext won't work) then we will issues removing the node 
> from this approach.

Thanks for the explanation.

> 
> I did following small modification to your suggestion:
> Keep FDT( do memcmp) for match and also keep address for all added nodes 
> at one-level( we can find children info if we know the top one-level 
> nodes. Please check overlay_node_count()). This will take 8bytes * num 
> of nodes in one-level space which is lot less space than keeping 
> nodes_fullname.

This seems to match my thoughts after your explanation above. I will 
have a look at the next version.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 18:14:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 18:14:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456549.714320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2yvg-0001g5-4g; Wed, 07 Dec 2022 18:14:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456549.714320; Wed, 07 Dec 2022 18:14:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p2yvg-0001fy-22; Wed, 07 Dec 2022 18:14:00 +0000
Received: by outflank-mailman (input) for mailman id 456549;
 Wed, 07 Dec 2022 18:13:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p2yve-0001fs-US
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 18:13:58 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2yvc-0008O9-NL; Wed, 07 Dec 2022 18:13:56 +0000
Received: from [15.248.2.156] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p2yvc-0002SW-I3; Wed, 07 Dec 2022 18:13:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=GRqcOsblXh//rT0CWkV7crWk9v6qLlnNbHA+HbgivhE=; b=opHHxhCnDHvNFp7Yvmv5m8cfpN
	CZEohJb2SjF9QJ6/r9UrH/BW4MOQqkdNbfkJ/G6yTRdEqw2n+j49Mi+iTq4M2VlzQNnTLvfK4Ejjo
	dAA0a0iINI1is/EYL45Osmei49EdmyOEOn7TSHBrvZqqbtZoRPPsx3KPRgKsv8LS5z2k=;
Message-ID: <cf78fd74-2ef2-2abd-2417-56f01b324296@xen.org>
Date: Wed, 7 Dec 2022 18:13:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH for-4.17 v6 1/2] CHANGELOG: Set 4.17 release date and tag
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Community Manager <community.manager@xenproject.org>
References: <20221201113910.1984744-1-Henry.Wang@arm.com>
 <20221201113910.1984744-2-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221201113910.1984744-2-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 01/12/2022 11:39, Henry Wang wrote:
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 19:39:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 19:39:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456571.714337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p30GY-0003CU-A6; Wed, 07 Dec 2022 19:39:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456571.714337; Wed, 07 Dec 2022 19:39:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p30GY-0003CN-7Z; Wed, 07 Dec 2022 19:39:38 +0000
Received: by outflank-mailman (input) for mailman id 456571;
 Wed, 07 Dec 2022 19:39:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FP08=4F=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1p30GW-0003CH-Mj
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 19:39:37 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20613.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df2b3bf9-7666-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 20:39:33 +0100 (CET)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by SA3PR12MB7879.namprd12.prod.outlook.com (2603:10b6:806:306::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 19:39:29 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::b955:9b0b:3b7e:40bb%5]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 19:39:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df2b3bf9-7666-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b+APP9YtAW6I6MDtyk2DlLNTupR6bhXiDw+hbqfH0pg18F6E9CTLEWblQVITMUp46Y9IK/t4DF2Cr6b3eruMCWuNeD9myXgllSsc+MOefO3A0+ezJelj30oVx3ca0cs+zfXVuAN4QprOsP3xjtgFhl0kaon6BjHqv5XM4eneEWXSGu43+P406OKp62g0QQk4lq4vLWjh/aGIX7HUBvdU1i64ki5IB5PVCO+Z+goo7352qLGKrDj9uvAQJAPAzjmxW+pT79Mf3eTJs6tDuQDG1wmX1qO1nbe+I+vs4nodPbNKvjOSixIHyWQAb+bcdZp5riK7NYCDrHMk7lFakZPqWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Cle5Buqi8EAK/iXeHAAT+ZnQsRZuKEFr1CgDAmdunvc=;
 b=Z3yNffW9tdTMTfDDEbqlqKZa1SC3RlyNmerBYZ38IFikYHtSMNzt+jAOi2tNqL14dF2R3mpZL5xsYPlcOT+smEEctARfBIx+wm5/TynKLoPq/LWM0X3qhYSaOxiuLBVn2IYOVfxV4xXuY3S8cd6R9VzRJPbRGTMZ+bERNzzNlRrSxl9Y3sjYVpnd5zyLqpD4M0+te+amVzh/RuAbrpa/F82jNDXTxMuIc7G/icTlPP15wW+4up0K/eMGMyoN8fY8d+T18wkVBhzFMW0ZK2CzQOcoJHp2xU15YV63jsiCwWZbwci/EoSZ0G6G9WBqiUd4jQEOB0zpzBun9uQ/IWTu4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Cle5Buqi8EAK/iXeHAAT+ZnQsRZuKEFr1CgDAmdunvc=;
 b=CVK3w+lDLwErZ3gwpvZHO+byoTa7R2PKpbGtU0u0Ifz42lyAnEx/07sUfQrBv2cTol5X6HbTAT0EiELIauKrdaxw4fv5ZQokyC47ONzQtTWljOKqRtjrQWCPJB6Cqo5Bnyf7JlnVvy0JPRXDEphTU3gEuFS5O80N5rDyLCwOUSc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <a441cd07-8659-afbb-000c-43494718a10b@amd.com>
Date: Wed, 7 Dec 2022 11:39:27 -0800
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN][RFC PATCH v4 10/16] asm/smp.h: move cpu related function to
 asm/cpu.h
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, Luca.Fancellu@arm.com,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
 <20221207061815.7404-4-vikram.garhwal@amd.com>
 <7cb6475e-0ab4-a7e2-8049-04c66588229f@xen.org>
From: Vikram Garhwal <vikram.garhwal@amd.com>
In-Reply-To: <7cb6475e-0ab4-a7e2-8049-04c66588229f@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SJ0PR13CA0044.namprd13.prod.outlook.com
 (2603:10b6:a03:2c2::19) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|SA3PR12MB7879:EE_
X-MS-Office365-Filtering-Correlation-Id: 8006727e-e747-49c3-c186-08dad88ac1d2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	h+AyrCi/Afy81T6Nk8PBXSgz+VuwCsqxQb5urR1/3ek7lkCWv6bshBtdXgtR4YO2csQoizDjvhcnv3H8p4Og9bjvsTY/rz+t+LAH+fokQKhha8OJasHTJrnUotBxcsXS31I8TtCtM4cp4zNg+iIJ3iNlY59BAkTvB6MPeJ0SrN3nDe0a5KLnvIJA4nKyCiO2Z7PZNn0bEWmm6pq9xwTOQeHlVd5z0YTMksUtQL44Vq21YCMsHudWdz1iT4YJpB1UQM8KTHH3FiNr9un/BXF0PkB+/+88eVC/QLv2mlC89s9p0AYEPe2+Wpf9uHZI2V/fYWFlCz0PFbXFEk3XJyQXhHBdhhg4YmlsF978+ZFwC8TbDz3Ye6nVw37Q2P+SapfSHCooaJPap1ugtYYaKplAg3JPFZmj9MCZxfKoDusNcA9szSv6JwoPxzo0C8ogfdZz2JFeSdjiUS1eM/6WXZezXfkYTfgmAqxy4gwhV0gwjWyax1ztMcXPQXxdEV6UCmHpcXOhgNTty7J87g/5yHuWe6eOztBAFNAzjj33nh+lEo0R+46KSvPCXfqMYCKEFzp8jP/NUFPdrJAnLe6bcVj5QCpFlMub477VP4UPvc08j9OkWo1wL4AgvY+pOuWSq1fxFj5NbM2uUswLeUt3gRgjfgDW1T4eVG5F/iwmxhiShyfykYfHHjr75iCRCNhR8teFIv4raNGzAf3EkfJZnnI0GdSUQx5V9emOGKdG5neTBhU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(39860400002)(396003)(136003)(376002)(366004)(451199015)(38100700002)(83380400001)(7416002)(41300700001)(31696002)(44832011)(2906002)(8936002)(66476007)(66946007)(4326008)(8676002)(66556008)(478600001)(186003)(5660300002)(6512007)(26005)(6506007)(53546011)(54906003)(2616005)(316002)(6486002)(86362001)(31686004)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RGcvdHM2MDNXa1F0MVVPU1BIVW9qM0VBcUxscHV2LzJ0am5TZlVmWWJZWlEy?=
 =?utf-8?B?SGxhN2V0ODRuSFp6a2xUaE1IMTJZQTRGV0lTckJXSThJeWp4VXREWnYwNjQ0?=
 =?utf-8?B?UGw0RzZLdmo0RlZFa1cyb2lLVGlaOXdYS3R1Mk1YTmVzNEV0YzRaampSSDhB?=
 =?utf-8?B?MVp4VTQ0MCtsV29lanFFSWZETnN1ai93ZjQ2NURaZUJ4S3RqNWhuN3dtUFB3?=
 =?utf-8?B?cmpQRllMOGsxRXJ2bjBWMWtZc2NWaDVWblFnaGlnNCtCTTNiU1duMXozUzJx?=
 =?utf-8?B?OTIzY0VwR3FMd2gxMDZkL3p2ck9CQU1SL0pqVEI5REZ3eXdiRU0zWC9POERW?=
 =?utf-8?B?WnNSSkg0RFJMVllXclp6dkgwUnp2TU5Hc2NGRDVmWW9lUXZPb1p4dzdXeXNn?=
 =?utf-8?B?eUh5UTMzallFd3J6VzV5SU0zRVJVekRPejlkVE91MVMxWXBRWUFCUEI4bStr?=
 =?utf-8?B?TGNWOE1VSUx0WXYyV1lFdDkxRmVmUVdlTVFUVEllYVVSaFdKeE1VQTkyeno2?=
 =?utf-8?B?ZUw1eDhIeEUxOVN1TE1uR0ptdTlVbUM2TGtyQ09GTDRwcWs1UC9OTC9PVk9I?=
 =?utf-8?B?RmNlWDV1U1JxUkluQlRJbGh4ZHRHK2h3b0h4VUtNWE5mSXdnOCszVlBMN3py?=
 =?utf-8?B?VVZqOEJNejUxQkJuck9jWXA1U09sNUN2VU1iZ05scHBOOTBhVzJPVlJmT1pD?=
 =?utf-8?B?NTNObS8xTGFIaDF5WkR3Z2RUOWZwL0twZUJUT2xMTmdvZjB0WkJyc3NMc0dx?=
 =?utf-8?B?STM0NWZnZzdKdXFvQmtVQURuWEVBN09FaHpVd1pkOTc0TWRGWUIzUmtMaHhP?=
 =?utf-8?B?Q0U4Y3p5ZHpuUlg4NURVYkQ5TFhhN1hTTkZYTlowdHF3N2ZNTTNheUVXSG0w?=
 =?utf-8?B?TEZMU0JtWmtSdksyQ1g1ZjNBd0w4V0thYkg4UEFFZXBxZU5BOGxDWnFtVnBL?=
 =?utf-8?B?eDJTZVB2YlpWcXY1SGlvYlQxQ3IvR3dhZUhIRkZnUk1PdjFZVkdjM0o3MEdU?=
 =?utf-8?B?aEptVUQ4SEE0bHN1N3RGcXhFY0hLSytGbmYwcmgzTHM5L1A1dGRhWlJMSWx1?=
 =?utf-8?B?UGhJRE96NDY4Z3k3MC9KOE5LajFEb1JSMzBXaU1GU2oveGwzVTU2TUhlb3Vr?=
 =?utf-8?B?eXladjBjRjkzSzBVNVlqTXQ5YXJ3Ukc1eHhIWXRLZFNPaHhRUkxGT2RuRXE5?=
 =?utf-8?B?Z3Q5bjNULzlXUHVDSXpOZXQvNWNyQzNPV1ZvVnRCWGtlYWlpU2RSTlM2azB1?=
 =?utf-8?B?WUYvYmV0bkNvcXZVcUpJRjRFYWNSOHM0ZVZ4ZUE3YzVKcWlFcnNEdkJuaWVW?=
 =?utf-8?B?WDRkejRkY05ia01lMjhINVFHNGIyQWVKbVNPR1VQQ0pCTThCamg2VEo4Vlg4?=
 =?utf-8?B?SHphcUpIRDdtcjN2NnFheWZwV0xycExlbnN4Wi8xWkl1Q0piUWpHSFpoOUV2?=
 =?utf-8?B?RU8zbGQ1WjEyd201VnhHeWtIMmlGTVpwbUJQejNNd3loVzJ0NmdHemVjWFBl?=
 =?utf-8?B?WWhlMlNRZHlWVGNWYytwWFFUMXRDR1V6enhzR3oyK1NNMndvaGM1bGdHLzFu?=
 =?utf-8?B?Y3lVOWN5U1FEckhiV0QyMUNtZ3VKc1ZKZjdBa2lNWSsxU0RmYTFXS0lNNmph?=
 =?utf-8?B?TzFCTzBzVWZTNDFaekZzS3B1U0owV0s2bHFjbUJDTWVyOFVRMy9QUWlGSzI1?=
 =?utf-8?B?K2JLTEZJWjhtUnNIUDlMTnpwTitITlZ5TFZ2QzE0SE1jNWR3SUttL04yUDlp?=
 =?utf-8?B?Q0FobFFnNFNEU3hEQy9EQmhJNVVxYlRhS0pydHNKZmxmZWRUYk5GS0lBaWRh?=
 =?utf-8?B?QmQzcmxxYWNtTGFJbTkyZnZXYTh1MzNnZHIzSllCbHA3RStvTEJpeHB2TDJj?=
 =?utf-8?B?dGFlc3haSmRhVHhJUzI0azVTdUg4S3lMN25vOUZMV2JWZ1M2OW1Oc3F0cHB4?=
 =?utf-8?B?d1VJOXNKZ3JzSUVmRW5Md1k5QnpUM1plYzQrK0paSjhQcTYwY1VuL2FZUSty?=
 =?utf-8?B?R3NrZHBldW4wdldqOWF5OGJOelB0M0xUL3p1NG14M1JHVktHejVldzRJRnhl?=
 =?utf-8?B?cDRBcCswTFpXZEtxdkhQOWVPbWZQVzhaS0Z1Qkc3eHV2U0M4MUIyQzVjZVBz?=
 =?utf-8?Q?uhuNiX9fyQM5Oz1HoVWP4UZF+?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8006727e-e747-49c3-c186-08dad88ac1d2
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Dec 2022 19:39:29.6341
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: K7O911krPwstq6Cmc5u/w17iZB+FkKQYyD79XgKOPKZx6PSFAnlNNR/LGMSH8qM6RgqTn4hweDKiXYInyRHz1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7879

Hi Julien

On 12/7/22 8:28 AM, Julien Grall wrote:
> Hi Vikram,
>
> On 07/12/2022 06:18, Vikram Garhwal wrote:
>> Dynamic programming ops will modify the dt_host and there might be other
>> function which are browsing the dt_host at the same time. To avoid 
>> the race
>> conditions, adding rwlock for browsing the dt_host. But adding rwlock in
>> device_tree.h causes following circular dependency:
>> device_tree.h->rwlock.h->smp.h->asm/smp.h->device_tree.h
>>
>> Inside arch/arm/include/asm/smp.h, there is one function which needs
>> device_tree.h, moved the cpu related function to a new file:
>> arch/arm/include/asm/cpu.h
>
> Given there is only one function, I don't really see the benefits of 
> splitting smp.h and then adding #ifdef CONFIG_ARM in the common code.
>
> Instead, it would be better if we don't include device_tree.h in the 
> header but in the c files that need to call arch_cpu_init() and 
> forward declare dt_device_node.
>
This was my initial approach also and there were less changes(compare to 
my v4) but then though someone might have issues with forward 
declaration of dt_device_node in smp.h.

> Another potential approach is to move out the percpu_rwlock helpers in 
> a separate header. The advantage with this approach is we would reduce 
> the number of definition included everywhere (there are not many use 
> of the percpu rwlock).

Will check this option.

Thank you suggestions!

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 19:59:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 19:59:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456580.714348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p30Zc-00066E-SJ; Wed, 07 Dec 2022 19:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456580.714348; Wed, 07 Dec 2022 19:59:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p30Zc-000667-Pi; Wed, 07 Dec 2022 19:59:20 +0000
Received: by outflank-mailman (input) for mailman id 456580;
 Wed, 07 Dec 2022 19:59:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p30Zb-00065l-Gl
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 19:59:19 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p30Za-0002CJ-RS; Wed, 07 Dec 2022 19:59:18 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p30Za-0006SV-JM; Wed, 07 Dec 2022 19:59:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=1/152VQvFP1hpMt3cCHYlPuCC82zG2jG+7TSqT/0TCA=; b=L4d7MO
	nuyaJu35j8sTMQnV22GtZtgEQhPAy3sBxRoNNNE1tZLFzTZRXZ1TAJEmLeudG7l3hQyJXmc2PW2Fm
	2u0a/WFpMAEqi5pwGfCCj0d8YGaV1s7673k5KsSFICK1dC+Z90kl7V99OpDOgUVca/Vlj9QL3h3Cl
	gXC6axyswTk=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	Julien Grall <julien@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH for-4.17] SUPPORT.md: Define support lifetime
Date: Wed,  7 Dec 2022 19:59:07 +0000
Message-Id: <20221207195907.23606-1-julien@xen.org>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Julien Grall <julien@xen.org>
---
 SUPPORT.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/SUPPORT.md b/SUPPORT.md
index 765dd15685..cb504eec1e 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -10,9 +10,9 @@ for the definitions of the support status levels etc.
 # Release Support
 
     Xen-Version: 4.17
-    Initial-Release: n/a
-    Supported-Until: TBD
-    Security-Support-Until: Unreleased - not yet security-supported
+    Initial-Release: 2022-12-12
+    Supported-Until: 2024-06-12
+    Security-Support-Until: 2025-12-12
 
 Release Notes
 : <a href="https://wiki.xenproject.org/wiki/Xen_Project_4.17_Release_Notes">RN</a>
-- 
2.37.1 (Apple Git-137.1)



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 20:16:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 20:16:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456592.714363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p30qX-0000bo-Cx; Wed, 07 Dec 2022 20:16:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456592.714363; Wed, 07 Dec 2022 20:16:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p30qX-0000bh-9u; Wed, 07 Dec 2022 20:16:49 +0000
Received: by outflank-mailman (input) for mailman id 456592;
 Wed, 07 Dec 2022 20:16:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p30qW-0000bb-B2
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 20:16:48 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p30qU-0002kt-5G; Wed, 07 Dec 2022 20:16:46 +0000
Received: from [15.248.2.156] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p30qT-0007Kg-Vi; Wed, 07 Dec 2022 20:16:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=dI0mo9z6D8dGUJF6r+EjmJe1cgN1Kjh0sCGnT6gA2EM=; b=aqNmU4HbkP21lzeTkFK2o7E0dm
	rSJwiEL4ZepgXR0Y5I7sfJDW/jpAx89eYS3DP01FsBendJFBTrdXPj5h+NdVob/vV3u/z2ubZYQZZ
	ExB+rDJN0nmn+jIMkexq5YDY+/FvSJ3HFE/Fqx3oZut2Z0BHpyfRv1IiAIvAveKrAqao=;
Message-ID: <7724f0e2-4e38-9c49-b49b-16df28743d8a@xen.org>
Date: Wed, 7 Dec 2022 20:16:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v6 0/2] Final changelog changes for 4.17
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Community Manager <community.manager@xenproject.org>
References: <20221201113910.1984744-1-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221201113910.1984744-1-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 01/12/2022 11:39, Henry Wang wrote:
> Hi all,
> 
> These two patches should be the final changelog changes for 4.17.
> 
> The first patch sets the release date and tag of 4.17 release and
> should be "backported" to the staging/stable-4.17.
> 
> The second patch starts a new unstable section, so should be in
> unstable master/staging only.
> 
> Thanks.
> 
> Henry
> 
> Henry Wang (2):
>    CHANGELOG: Set 4.17 release date and tag
>    CHANGELOG: Start new "unstable" section

I have committed the two to staging and only the first one to staging-4.17.

I have also tagged all QEMU-trad, QEMU and Mini-OS tree in preparation 
for the release.

The Xen tree only need the patch [1] and then I can tag after a last 
push to stable.

Cheers,

[1] 
https://lore.kernel.org/xen-devel/20221207195907.23606-1-julien@xen.org/T/#u


-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 21:31:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 21:31:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456612.714382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p320p-00021Q-1p; Wed, 07 Dec 2022 21:31:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456612.714382; Wed, 07 Dec 2022 21:31:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p320o-00021J-V8; Wed, 07 Dec 2022 21:31:30 +0000
Received: by outflank-mailman (input) for mailman id 456612;
 Wed, 07 Dec 2022 21:31:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p320n-000219-Kr; Wed, 07 Dec 2022 21:31:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p320n-0004Jh-Jm; Wed, 07 Dec 2022 21:31:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p320n-0004Rp-9G; Wed, 07 Dec 2022 21:31:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p320n-0000ND-8l; Wed, 07 Dec 2022 21:31:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mcIXKHbgnmH77dJx4HEwzjGqn1m0jcNXu4jUBPbb9+4=; b=yCiLIXIV3z1ueTE3CxKQicXr39
	dPTg5LlQKzN4uoopDehVjLetLinxaelukrW3y328oDa9HO68DonERNrfpmLkI5WMyVGHAyDJEpz3k
	oUetKn3M+hYrYNR1RLD80BlhPcnZMLr0Q+u5TDWEWNjc3M/ZTcLGlk/mNvwL2y770UVc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175075-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175075: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=11b4ff64841efd9724e5c1fce81ec2b5484b8d57
X-Osstest-Versions-That:
    xen=b926dbcccaa92831dda37576f768ddab9ec8a701
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 07 Dec 2022 21:31:29 +0000

flight 175075 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175075/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  11b4ff64841efd9724e5c1fce81ec2b5484b8d57
baseline version:
 xen                  b926dbcccaa92831dda37576f768ddab9ec8a701

Last test of basis   175063  2022-12-06 19:00:28 Z    1 days
Testing same since   175072  2022-12-07 12:02:01 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Per Bilse <per.bilse@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   b926dbccca..11b4ff6484  11b4ff64841efd9724e5c1fce81ec2b5484b8d57 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 21:34:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 21:34:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456620.714394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p323G-0002a0-G9; Wed, 07 Dec 2022 21:34:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456620.714394; Wed, 07 Dec 2022 21:34:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p323G-0002Zt-BR; Wed, 07 Dec 2022 21:34:02 +0000
Received: by outflank-mailman (input) for mailman id 456620;
 Wed, 07 Dec 2022 21:34:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p323F-0002Zj-84; Wed, 07 Dec 2022 21:34:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p323F-0004Ls-4q; Wed, 07 Dec 2022 21:34:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p323E-0004WT-Jr; Wed, 07 Dec 2022 21:34:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p323E-0000SV-JN; Wed, 07 Dec 2022 21:34:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nIQJ5W7yeWfjwHwXf7WkrttbXXdtRE5emhc83ACoqUA=; b=BQlfk5zYTUER0jxLcg4Ew547H6
	oWduoq3tCg9FhV4GtFni7Fobe9OwKv/SPgY0U5j+DPXig/G52/ZUQ9ySv32PO/8sWCWBtYPFt48xH
	sgBPfWRAYU8mHDwsapZ44o9JGF7EmCzo9mcOcxxk3FWY+ZgScHnXheMwVmsL4t8koDp8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175070-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175070: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-armhf-armhf-xl-cubietruck:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=8ed710da2873c2aeb3bb805864a699affaf1d03b
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 07 Dec 2022 21:34:00 +0000

flight 175070 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175070/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2  14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 173462
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1  14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 173462
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 173462

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-cubietruck 18 guest-start/debian.repeat fail pass in 175065

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 173462
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-pair        25 guest-start/debian      fail blocked in 173462
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                8ed710da2873c2aeb3bb805864a699affaf1d03b
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   61 days
Failing since        173470  2022-10-08 06:21:34 Z   60 days  120 attempts
Testing same since   175065  2022-12-06 23:13:06 Z    0 days    2 attempts

------------------------------------------------------------
1953 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               fail    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 187707 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 21:42:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 21:42:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456631.714405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p32Bp-0004Jr-9Q; Wed, 07 Dec 2022 21:42:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456631.714405; Wed, 07 Dec 2022 21:42:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p32Bp-0004Jk-6n; Wed, 07 Dec 2022 21:42:53 +0000
Received: by outflank-mailman (input) for mailman id 456631;
 Wed, 07 Dec 2022 21:42:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q5L1=4F=eikelenboom.it=linux@srs-se1.protection.inumbo.net>)
 id 1p32Bn-0004Je-Lx
 for xen-devel@lists.xen.org; Wed, 07 Dec 2022 21:42:51 +0000
Received: from server.eikelenboom.it (server.eikelenboom.it [91.121.65.215])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1834a3c2-7678-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 22:42:49 +0100 (CET)
Received: from 131-195-250-62.ftth.glasoperator.nl ([62.250.195.131]:37498
 helo=[172.16.1.50])
 by server.eikelenboom.it with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <linux@eikelenboom.it>)
 id 1p32Cr-00080a-64; Wed, 07 Dec 2022 22:43:57 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1834a3c2-7678-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=eikelenboom.it; s=20180706; h=Content-Transfer-Encoding:Content-Type:
	Subject:Cc:To:From:MIME-Version:Date:Message-ID:Sender:Reply-To:Content-ID:
	Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
	:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:
	List-Subscribe:List-Post:List-Owner:List-Archive;
	bh=pnyuZgFg+xcx2S/BcdnBd13596bj5i02+Xe9V15Zwwk=; b=hPSvu2SMPFMrCBWzQxVSPHyrXR
	0bDNGNoTgJbGkbcTTvEzH6E1G0lfO16Yi9l4Pu1UAyfXKNjKUGwi+gxPSEAs8RgH0p0BGOuoEQhq3
	Yg1bbRfT/3PuhUcgBo6WwVIZnTWEyWlbI9wpAcvoq9H8erI44n8bUlV6sNHRwP2vd8tA=;
Message-ID: <2f364567-3598-2d86-ae3d-e0fabad4704a@eikelenboom.it>
Date: Wed, 7 Dec 2022 22:42:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Content-Language: nl-NL, en-US
From: Sander Eikelenboom <linux@eikelenboom.it>
To: Ross Lagerwall <ross.lagerwall@citrix.com>,
 Juergen Gross <jgross@suse.com>, Xen-devel <xen-devel@lists.xen.org>,
 Paul Durrant <paul@xen.org>
Cc: linux-kernel@vger.kernel.org, netdev <netdev@vger.kernel.org>
Subject: Xen + linux 6.1.0-rc8, network to guest VM not working after commit
 ad7f402ae4f466647c3a669b8a6f3e5d4271c84a fixing XSA-423
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ross / Juergen,

I just updated my linux kernel to the latest of Linus his tree which included commit ad7f402ae4f466647c3a669b8a6f3e5d4271c84a fixing XSA-423.

Unfortunately when using this kernel I can't SSH anymore into the Xen guest I start, but I don't see any apparent failures either.
A straight revert of the commit ad7f402ae4f466647c3a669b8a6f3e5d4271c84a makes networking function normally again.

I have added some of the logging below, perhaps it at gives some idea off the state around the Xen network front and backend.

Any ideas or a test patch that I could run to shed some more light on what is going on ?

--
Sander




Some of the logging from dom0 dmesg:

[  149.520585] xen_bridge: port 1(vif1.0) entered blocking state
[  149.520594] xen_bridge: port 1(vif1.0) entered disabled state
[  149.520678] device vif1.0 entered promiscuous mode
[  151.221975] xen-blkback: backend/vbd/1/51712: using 1 queues, protocol 1 (x86_64-abi) persistent grants
[  151.601458] vif vif-1-0 vif1.0: Guest Rx ready
[  151.601476] xen_bridge: port 1(vif1.0) entered blocking state
[  151.601478] xen_bridge: port 1(vif1.0) entered forwarding state


output xenstore-ls regarding vif for the Guest:

     vif = ""
      1 = ""
       0 = ""
        bridge = "xen_bridge"
        feature-ctrl-ring = "1"
        feature-dynamic-multicast-control = "1"
        feature-gso-tcpv4 = "1"
        feature-gso-tcpv6 = "1"
        feature-ipv6-csum-offload = "1"
        feature-multicast-control = "1"
        feature-rx-copy = "1"
        feature-rx-flip = "0"
        feature-sg = "1"
        feature-split-event-channels = "1"
        feature-xdp-headroom = "1"
        frontend = "/local/domain/1/device/vif/0"
        frontend-id = "1"
        handle = "0"
        hotplug-status = "connected"
        ip = "192.168.1.6"
        mac = "00:16:3e:49:0e:fa"
        multi-queue-max-queues = "8"
        online = "1"
        script = "/etc/xen/scripts/vif-bridge"
        state = "4"
        type = "vif"

     vif = ""
      0 = ""
       backend = "/local/domain/0/backend/vif/1/0"
       backend-id = "0"
       event-channel-rx = "9"
       event-channel-tx = "8"
       feature-gso-tcpv4 = "1"
       feature-gso-tcpv6 = "1"
       feature-ipv6-csum-offload = "1"
       feature-rx-notify = "1"
       feature-sg = "1"
       handle = "0"
       mac = "00:16:3e:49:0e:fa"
       mtu = "1500"
       multi-queue-num-queues = "1"
       request-rx-copy = "1"
       rx-ring-ref = "524"
       state = "4"
       trusted = "1"
       tx-ring-ref = "523"
       xdp-headroom = "0"


ifconfig output for the guest interface on dom0 side:

vif1.0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
         ether fe:ff:ff:ff:ff:ff  txqueuelen 32  (Ethernet)
         RX packets 0  bytes 0 (0.0 B)
         RX errors 0  dropped 0  overruns 0  frame 0
         TX packets 49  bytes 2058 (2.0 KiB)
         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 22:15:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 22:15:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456646.714416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p32h6-0008OH-R0; Wed, 07 Dec 2022 22:15:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456646.714416; Wed, 07 Dec 2022 22:15:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p32h6-0008OA-MO; Wed, 07 Dec 2022 22:15:12 +0000
Received: by outflank-mailman (input) for mailman id 456646;
 Wed, 07 Dec 2022 22:15:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p32h4-0008NF-Sh; Wed, 07 Dec 2022 22:15:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p32h4-0005OM-Os; Wed, 07 Dec 2022 22:15:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p32h4-000739-Gs; Wed, 07 Dec 2022 22:15:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p32h4-0003OW-GO; Wed, 07 Dec 2022 22:15:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=W9s5EEh9My00a9rUvU+kDea1Hd42aFtIIblJF7kIwrk=; b=yHvWYeld9RCrWFiE6ptbPrfkpW
	X5JIUb9t58TuX0jUISUsZevy19ZWCG4Jh0yaAxfGb6hzIEU2deWwlNntwLYoe/TjXLIH/qIBuDO5G
	l756EtURrNDwpJObtXMCs5Uo74qEXnKzvsSBDXaz+yGPkX2Ep7cfGrRzFHs/Pjcs/n3I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175071-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175071: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=b926dbcccaa92831dda37576f768ddab9ec8a701
X-Osstest-Versions-That:
    xen=b926dbcccaa92831dda37576f768ddab9ec8a701
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 07 Dec 2022 22:15:10 +0000

flight 175071 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175071/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install    fail pass in 175066

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop fail in 175066 blocked in 175071
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175066
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175066
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175066
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175066
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175066
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175066
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175066
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175066
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175066
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175066
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175066
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  b926dbcccaa92831dda37576f768ddab9ec8a701
baseline version:
 xen                  b926dbcccaa92831dda37576f768ddab9ec8a701

Last test of basis   175071  2022-12-07 08:57:12 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Wed Dec 07 22:22:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 22:22:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456658.714430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p32oF-0001l8-PT; Wed, 07 Dec 2022 22:22:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456658.714430; Wed, 07 Dec 2022 22:22:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p32oF-0001l1-Ld; Wed, 07 Dec 2022 22:22:35 +0000
Received: by outflank-mailman (input) for mailman id 456658;
 Wed, 07 Dec 2022 22:22:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CKq1=4F=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p32oF-0001kt-0y
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 22:22:35 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4e05830-767d-11ed-8fd2-01056ac49cbb;
 Wed, 07 Dec 2022 23:22:33 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 462CC61CCC;
 Wed,  7 Dec 2022 22:22:32 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E5129C433D7;
 Wed,  7 Dec 2022 22:22:30 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4e05830-767d-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670451751;
	bh=iPpYzhbp/o4m8YJReB493RBO9tzVlgCvxW1PUlDshJE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=o2yrIrsOvxI4qRMfmV9aqiA1Ak2qe0lwmiwoGW9O7nRHTQvGDxDe3eAiCv9dNcXY3
	 haoLBIucNPIoZWsxO3wifR3fZUf+KWiIa1iPJQnFGnOEiZNa8mL/AeFC1jnEFQW15z
	 aKXW+znltiD2HDgPedcofnYHdLeVgSGPMOHrqQEizGLRvPPOTKel/LML8VsdmuJQn4
	 gqqh9RXMqUfN6KMHg5vUGX1f5pgMAJSB7ag49uxzY5zdIlV0no4j4jyd9+O2YZ0nYN
	 VAdSuKP748oAUhvuJsnUumLhr/U1jAztuqlNjFecMiakjY1BBvDBDQaE/CYoCFD5cM
	 qv/YOGKIPFuqg==
Date: Wed, 7 Dec 2022 14:22:29 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Rahul Singh <Rahul.Singh@arm.com>, sisyphean <sisyphean@zlw.email>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [BUG]SMMU-V3 queue need no-cache memory
In-Reply-To: <fe0f90fa-84aa-54b2-1e12-98baff7fcaf7@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212071418570.4039@ubuntu-linux-20-04-desktop>
References: <e1e0e347-6530-7b68-92f7-ef52defa55ac@zlw.email> <75D89B2C-BBE4-419A-80B7-FEE39445ABB2@arm.com> <fe0f90fa-84aa-54b2-1e12-98baff7fcaf7@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-239578259-1670451751=:4039"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-239578259-1670451751=:4039
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 7 Dec 2022, Julien Grall wrote:
> Hi,
> 
> I only noticed this e-mail because I was skimming xen-devel. If you want to
> get our attention, then I would suggest to CC both of us because I (and I
> guess Stefano) have filter rules so those e-mails land directly in my inbox.
> 
> On 07/12/2022 10:24, Rahul Singh wrote:
> > > On 7 Dec 2022, at 2:04 am, sisyphean <sisyphean@zlw.email> wrote:
> > > 
> > > Hi,
> > > 
> > >      I try to run XEN on my ARM board(Sorry, for some commercial reasons,
> > > I can't tell you
> > >      on which platform I run XEN)  and enable SMMU-V3, but all cmds in
> > > cmdq failed when XEN started.
> > > 
> > >      After using the debugger to track debugging, the reason for this
> > > problem is that
> > >      the queue in the smmu-v3 driver is not no-cache, so after the
> > > function arm_smmu_cmdq_build_cmd
> > >      is executed, the cmd is still in cache.Therefore, the SMMU-V3
> > > hardware cannot obtain the correct cmd
> > >      from the memory for execution.
> > 
> > Yes you are right as of now we are allocating the memory for cmdqueue via
> > _xzalloc() which is cached
> > memory because of that you are observing the issue. We have tested the Xen
> > SMMUv3 driver on SOC
> > where SMMUv3 HW is in the coherency domain, and because of that we have not
> > encountered this issue.
> > 
> > I think In your case SMMUv3 HW is not in the coherency domain. Please
> > confirm from your side if the
> > "dma-coherent” property is not set in DT.
> > 
> > I think there is no function available as of now to request Xen to allocate
> > memory that is not cached.
> 
> You are correct.
> 
> > 
> > @Julien and @Stefano do you have any suggestion on how we can request memory
> > from Xen that is not
> > cached something like dma_alloc_coherent() in Linux.
> 
> At the moment all the RAM is mapped cacheable in Xen. So it will require some
> work to have some memory uncacheable.
> 
> There are two options:
>  1) Allocate a pool of memory at boot time that will be mapped with different
> memory attribute. This means we would need a separate pool and the user will
> have to size it.
>  2) Modify after the allocation the caching attribute in the memory and then
> revert back after freeing. The cons is we would end up to shatter superpage.
> We also can't re-create superpage (yet), but that might be fine if the memory
> is never freed.
> 
> Option two would probably the best. But before going that route I have one
> question...
> 
> > The temporary solution I use is to execute function clean_dcache every
> > time cmd is copied to cmdq in function queue_write. But it is obvious
> > that this will seriously affect the efficiency.
> 
> I agree you will see some performance impact in micro-benchmark. But I am not
> sure about normal use-cases. How often do you expect the command queue to be
> used?

That is a good question. But even for the micro-benchmark, is the
difference significant? 

My gut feeling (to be discussed and confirmed) is that for this use-case
it might not be worth to do option 1) or option 2) above. Clean_dcache
as needed might be good enough?


> Also, I am a bit surprised you are seing issue with the command queue but not
> with the stage-2 page-tables. Does your SMMU support coherent walk but cannot
> snoop for the command queue?

--8323329-239578259-1670451751=:4039--


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 22:25:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 22:25:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456664.714441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p32qg-0002KE-6Y; Wed, 07 Dec 2022 22:25:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456664.714441; Wed, 07 Dec 2022 22:25:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p32qg-0002K7-3o; Wed, 07 Dec 2022 22:25:06 +0000
Received: by outflank-mailman (input) for mailman id 456664;
 Wed, 07 Dec 2022 22:25:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sV5z=4F=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p32qe-0002Jz-Lm
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 22:25:04 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc0d4bb4-767d-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 23:25:02 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.nyi.internal (Postfix) with ESMTP id B9BA05C0193;
 Wed,  7 Dec 2022 17:24:58 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Wed, 07 Dec 2022 17:24:58 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 7 Dec 2022 17:24:57 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc0d4bb4-767d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670451898; x=
	1670538298; bh=YCrBg7+FJXj+8+PsDfNntjcnGfyViKRN/i3g3VvzRoU=; b=b
	NaX6TgqKM35LEfiHikpKZP5ATr03U/FLVquaM31jG5fAICKpfOJ7C9NiqK0JHp5H
	/4hlaICZg0gDYwEjDJLFby4Z7BHC+0VkjZIs7Rjr1g/JvHQYk59yvHA/pqdWWRJJ
	TZmA3cgUk/nUzG4zbmPDG55FEFPUvt+gPgDVRSnie9DSjhtev6Bk5NWXwcUqp50u
	w76a+rd4EJRiOfwpyEQl5eJiTxJ71QOo6ECyrd4EIG8zeEN69a1uDayQYPnLh+9K
	hUa2wyvpo++VqxDRHrd/QgwDEqmluHcTUpAqXe85xEPpmkD50HrE7OYvV0M2t3Cd
	pnv4LscIJ5FrAzLxz85GA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1670451898; x=1670538298; bh=YCrBg7+FJXj+8+PsDfNntjcnGfyV
	iKRN/i3g3VvzRoU=; b=xLDpMHLgF+EVXJ6p4x8QsRyIX2k183FvGPUhuBpt+t9X
	wBdvuJpBXygejLKYttb163t3PdklN6xUvYx99jUgmPLEZ34nzJpOLkAQB2KZGF0Z
	spWadySXGxJ5SO27WExwMoup8DEfjOWpskD0Viwbdxic7+f8VXlJjsg3A/cZdS9F
	1QbQZTYVmA0e9fr+xvze2vvziuAqaqIFcC2Dl7t/lyvCgiD+NgcfvHJIQHPqkmCt
	3w6GpaYTBofxUwPieBwAZdd31n2cVywn9TEkXgPSh6aaJpzJxR627rag+eQFU6x7
	JHCDZ9mIvq0SjGd69OpQYFitTDfMglzdTw8eRC5hYA==
X-ME-Sender: <xms:uhKRY3KNsHlNvGkI7N4UMUqGpFCLb90ETzIMVq7Vg2D_QjaUNCPG5g>
    <xme:uhKRY7LBTvi8pMVNw7EbE-D1kmQDNop3eelKxU2AfiWsrLdhTWc2D1GT0vuwZWh-P
    tquvloWINtv_Pc>
X-ME-Received: <xmr:uhKRY_u8Bl99FZRPoVOF8O_TqcGmJPP7tTPCdpMLBqZFhoX1rLuHlwKHK-RE>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudekgdduiedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepvdejteegkefhteduhffgteffgeff
    gfduvdfghfffieefieekkedtheegteehffelnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:uhKRYwZl76nkJRD3EBb_VaaVi3_N5VzSI7cfbwW8ZJifSRETNI2kwA>
    <xmx:uhKRY-YrfQEru3RBdQwwwBnmA1TgWwQR1s5plBu-7p5_k83pIs-WHg>
    <xmx:uhKRY0DxqoTfQ8BETnwpgWfudAsl5b-g9oXPGHsGJ--0dL4StdobhA>
    <xmx:uhKRYzMzBMrUYgiqmO-s7zdJ8TmhOiBCZ0zajIaQfVipOmyt56_P0Q>
Feedback-ID: iac594737:Fastmail
Date: Wed, 7 Dec 2022 17:23:49 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Ard Biesheuvel <ardb@kernel.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] Validate EFI memory descriptors
Message-ID: <Y5ESt70ylfow4WcQ@itl-email>
References: <6936d67461716d8ba37ea8cc78743035c3e54e2d.1668832785.git.demi@invisiblethingslab.com>
 <24a8fb2d-b2a7-b319-ffa9-c5f4e0eca06c@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="LY+QlSqvdJc8beX4"
Content-Disposition: inline
In-Reply-To: <24a8fb2d-b2a7-b319-ffa9-c5f4e0eca06c@suse.com>


--LY+QlSqvdJc8beX4
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 7 Dec 2022 17:23:49 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Ard Biesheuvel <ardb@kernel.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] Validate EFI memory descriptors

On Wed, Dec 07, 2022 at 11:04:05AM +0100, Jan Beulich wrote:
> On 07.12.2022 00:57, Demi Marie Obenour wrote:
> > It turns out that these can be invalid in various ways.  Based on code
> > Ard Biesheuvel contributed for Linux.
> >=20
> > Co-developed-by: Ard Biesheuvel <ardb@kernel.org>
> > Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> > Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
>=20
> This comes with the risk of breaking something that was previously workin=
g,
> despite a descriptor being bogus. This _may_ be deemed acceptable, but it
> needs calling out and reasoning about in the description. Even more so th=
at
> elsewhere we're aiming at relaxing things (by default or via command line
> overrides) to remain compatible with all kinds of flawed implementations.

I decided to match Ard=E2=80=99s kernel patch, except for ignoring (as oppo=
sed
to using) descriptors that cover the entire 64-bit address space (and
thus have a length in bytes that overflows uint64_t).

What do you propose Xen do instead?  A broken memory map is a rather
serious problem; it means that the actual physical address space is
unknown.  For Linux I am considering tainting the kernel (with
TAINT_FIRMWARE_WORKAROUND) if it detects an invalid memory descriptor.

> > --- a/xen/common/efi/efi.h
> > +++ b/xen/common/efi/efi.h
> > @@ -51,3 +51,17 @@ void free_ebmalloc_unused_mem(void);
> > =20
> >  const void *pe_find_section(const void *image_base, const size_t image=
_size,
> >                              const CHAR16 *section_name, UINTN *size_ou=
t);
> > +
> > +static inline UINT64
> > +efi_memory_descriptor_len(const EFI_MEMORY_DESCRIPTOR *desc)
> > +{
> > +    uint64_t remaining_space =3D UINT64_MAX - desc->PhysicalStart;
>=20
> This wants to derive from PADDR_BITS (or even paddr_bits) rather than
> using UINT64_MAX.

paddr_bits is not available yet, but I can use PADDR_BITS.  That does
require an explicit overflow check, but that is fine.

> > --- a/xen/common/efi/runtime.c
> > +++ b/xen/common/efi/runtime.c
> > @@ -270,18 +270,17 @@ int efi_get_info(uint32_t idx, union xenpf_efi_in=
fo *info)
> >          for ( i =3D 0; i < efi_memmap_size; i +=3D efi_mdesc_size )
> >          {
> >              EFI_MEMORY_DESCRIPTOR *desc =3D efi_memmap + i;
> > -            u64 len =3D desc->NumberOfPages << EFI_PAGE_SHIFT;
> > +            uint64_t size, len =3D efi_memory_descriptor_len(desc);
> > =20
> >              if ( info->mem.addr >=3D desc->PhysicalStart &&
> > -                 info->mem.addr < desc->PhysicalStart + len )
> > +                 info->mem.addr - desc->PhysicalStart < len )
>=20
> With what efi_memory_descriptor_len() does I don't see why this expression
> would need transformation - there's no overflow possible anymore.

You are correct, but the new version is more idiomatic, IMO.

> >              {
> >                  info->mem.type =3D desc->Type;
> >                  info->mem.attr =3D desc->Attribute;
> > -                if ( info->mem.addr + info->mem.size < info->mem.addr =
||
>=20
> This overflow check is not superseded by the use of
> efi_memory_descriptor_len(), so if you think it is not (or no longer)
> needed, you will need to justify that in the description.

The justification is that info->mem.size is no longer used except in
comparison and assignment, so the overflow check is now redundant.

> > -                     info->mem.addr + info->mem.size >
> > -                     desc->PhysicalStart + len )
> > -                    info->mem.size =3D desc->PhysicalStart + len -
> > -                                     info->mem.addr;
> > +                size =3D desc->PhysicalStart + len - info->mem.addr;
> > +                if ( info->mem.size > size )
> > +                    info->mem.size =3D size;
> > +
> >                  return 0;
> >              }
>=20
> Is there any functional change in here that I'm overlooking, or are you
> merely converting this code to meet your personal taste? In the latter
> case I'd prefer if you left the code untouched, with the 2nd best option
> being to split it to a separate (style only) patch, and the 3rd option
> being to at least mention this as a no-op (style only) transformation in
> the description.

There should be no functional change here, but IMO the new version is
much easier to read: first compute the actual size, and if the provided
size is larger, clamp it.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--LY+QlSqvdJc8beX4
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmORErcACgkQsoi1X/+c
IsG9sA/9HM3GTy6dx+ZdtZjxpUhX1z8pacDI+ASVDnL65IsY4X/8wVVlzLmSg53r
rrjtIGBk3riFSlwj9kMy1OKxz528zNLHq806ml1o7VxJ5ctrtgyiw8FknSY1EtGP
ep/FUb+/SwQ1Ktf3l7KqCbfIdk2nXwtC8Zca9WcPQkDzyVjzcPjErFeV11h5S11f
Pe4gpQlR+zz0ogT4eiQ+q758QmNMtIWbi0h4W0lBKs8uCwEtCgVV+6G2GbvOg73j
t33Mkgsx6dNjjIMqoK4VBcJH5sjHH6XSIRKNxGzDjAV8AiKkS/uTgvvopb87hx3Y
nY1B7UAjYlhFYcfPwh45qpgoz2HBRkd4emfIlUgr115bivo8YN1YpuqnqZw10AIr
8PfmKSwulE9vlQ5shC5e/i0fnvFFpzLjStDmxLWCaYrhwQy2q7k2JOgmvWGJGivJ
j2fhdeKlmG/li6eEerK4B4WebVGzBy5g3Phc9Qtelnn+804qoN5u1fXeWa0PrU4o
/2gISoEePv1EhDfj85GURlHm7+4bn8buI7SE2r5FOLucPjTENb0wgtR1TVuEugd8
9MmatNey8DshIVJuroXD39VMkVDWm9M9rqdR6NZClCmGjojm7XqVzD/i0nVzvl1i
gP7Mlg1plLoySHHSw1ZefttmZWJY//uA0mD9JwHbGa54LktTz9Y=
=ST60
-----END PGP SIGNATURE-----

--LY+QlSqvdJc8beX4--


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 22:28:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 22:28:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456672.714451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p32tW-0002wO-Kb; Wed, 07 Dec 2022 22:28:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456672.714451; Wed, 07 Dec 2022 22:28:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p32tW-0002wH-HL; Wed, 07 Dec 2022 22:28:02 +0000
Received: by outflank-mailman (input) for mailman id 456672;
 Wed, 07 Dec 2022 22:28:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CKq1=4F=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p32tV-0002w6-Kk
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 22:28:01 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 67c3fa66-767e-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 23:28:00 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 2FFB5B8218D;
 Wed,  7 Dec 2022 22:27:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 044E7C433D6;
 Wed,  7 Dec 2022 22:27:56 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67c3fa66-767e-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670452077;
	bh=tgPQ2mWMzxgSkGzvglQ1jFn5k21sCkirOeqVwzNCPt0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ZWjDzpJOj7W+YxRU22IEsBjo0qVy4F1Y2Rz3j5hbFVxhVqoaOr8ZzQhK69aCYIpae
	 h3kdSixX4bRhiG2PhvXeVzztwrt7AOi71JRJ7jg2az5I9C7d63Rxhb8SYIW9XsuHjd
	 uoQrl/xmErz+ZF3NoYuYiF21cxqBvmr17NrddTnN1R7ex4izWkHcSmzcfrZcjIB7bM
	 d4R4PK1QA8esfT5vb7665Veq/xJA6Pi2UisIbujGw4uqwE7gGZc0uQJJ0AFReBE2Hi
	 Br3yysEyFaGiDLpdZZHwXAFlthWLp9yqRjw0yQDni1IDiyOeHEBAwGScWE5XB8SB2x
	 nxdMnxA0nIDOw==
Date: Wed, 7 Dec 2022 14:27:55 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/3] xen/arm: Add memory overlap check for
 bootinfo.reserved_mem
In-Reply-To: <8e635354-fdf4-a37f-0dba-c4b29063e152@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212071424060.4039@ubuntu-linux-20-04-desktop>
References: <20221205025753.2178965-1-Henry.Wang@arm.com> <20221205025753.2178965-2-Henry.Wang@arm.com> <alpine.DEB.2.22.394.2212061716170.4039@ubuntu-linux-20-04-desktop> <8e635354-fdf4-a37f-0dba-c4b29063e152@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 7 Dec 2022, Julien Grall wrote:
> Hi Stefano,
> 
> On 07/12/2022 01:37, Stefano Stabellini wrote:
> > On Mon, 5 Dec 2022, Henry Wang wrote:
> > > As we are having more and more types of static region, and all of
> > > these static regions are defined in bootinfo.reserved_mem, it is
> > > necessary to add the overlap check of reserved memory regions in Xen,
> > > because such check will help user to identify the misconfiguration in
> > > the device tree at the early stage of boot time.
> > > 
> > > Currently we have 3 types of static region, namely (1) static memory,
> > > (2) static heap, (3) static shared memory. (1) and (2) are parsed by
> > > the function `device_tree_get_meminfo()` and (3) is parsed using its
> > > own logic. Therefore, to unify the checking logic for all of these
> > > types of static region, this commit firstly introduces a helper
> > > `check_reserved_regions_overlap()` to check if an input physical
> > > address range is overlapping with the existing reserved memory regions
> > > defined in bootinfo. After that, use this helper in
> > > `device_tree_get_meminfo()` to do the overlap check of (1) and (2)
> > > and replace the original overlap check of (3) with this new helper.
> > > 
> > > Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> > 
> > I wonder if the check should only be done #ifdef DEBUG. The idea would
> > be that a given static configuration should be validated and corrected
> > before going into production. By the time you go in production, it is
> > too late to do checks anyway. Especially the panic below.
> > 
> > Julien, Bertrand, what do you think about this?
> 
> The integrator may be a different person (or even a different company) than
> the one building Xen.
> 
> So I think, the new check shoudl not be protected by CONFIG_DEBUG.

It is almost like we need something else to say "this is really a
production build, disable all checks, I want it to go fast and be as
small as possible". Maybe it would be better as a new kconfig option?

In any case, this patch is OK as is.


> That said, any output in bootfd will only printed when earlyprintk is enabled.
> I think we should consider to support dynamic early printk. Anyway, that's
> something that doesn't need to be handled in this series.

+1


> > > ---
> > >   xen/arch/arm/bootfdt.c           | 13 ++++----
> > >   xen/arch/arm/include/asm/setup.h |  2 ++
> > >   xen/arch/arm/setup.c             | 52 ++++++++++++++++++++++++++++++++
> > >   3 files changed, 60 insertions(+), 7 deletions(-)
> > > 
> > > diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> > > index 6014c0f852..b31379b9ac 100644
> > > --- a/xen/arch/arm/bootfdt.c
> > > +++ b/xen/arch/arm/bootfdt.c
> > > @@ -91,6 +91,9 @@ static int __init device_tree_get_meminfo(const void
> > > *fdt, int node,
> > >       for ( i = 0; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
> > >       {
> > >           device_tree_get_reg(&cell, address_cells, size_cells, &start,
> > > &size);
> > > +        if ( mem == &bootinfo.reserved_mem &&
> > > +             check_reserved_regions_overlap(start, size) )
> > > +            return -EINVAL;
> > >           /* Some DT may describe empty bank, ignore them */
> > >           if ( !size )
> > >               continue;
> > > @@ -485,7 +488,9 @@ static int __init process_shm_node(const void *fdt,
> > > int node,
> > >                   return -EINVAL;
> > >               }
> > >   -            if ( (end <= mem->bank[i].start) || (paddr >= bank_end) )
> > > +            if ( check_reserved_regions_overlap(paddr, size) )
> > > +                return -EINVAL;
> > > +            else
> > >               {
> > >                   if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
> > >                       continue;
> > > @@ -496,12 +501,6 @@ static int __init process_shm_node(const void *fdt,
> > > int node,
> > >                       return -EINVAL;
> > >                   }
> > >               }
> > > -            else
> > > -            {
> > > -                printk("fdt: shared memory region overlap with an
> > > existing entry %#"PRIpaddr" - %#"PRIpaddr"\n",
> > > -                        mem->bank[i].start, bank_end);
> > > -                return -EINVAL;
> > > -            }
> > >           }
> > >       }
> > >   diff --git a/xen/arch/arm/include/asm/setup.h
> > > b/xen/arch/arm/include/asm/setup.h
> > > index fdbf68aadc..6a9f88ecbb 100644
> > > --- a/xen/arch/arm/include/asm/setup.h
> > > +++ b/xen/arch/arm/include/asm/setup.h
> > > @@ -143,6 +143,8 @@ void fw_unreserved_regions(paddr_t s, paddr_t e,
> > >   size_t boot_fdt_info(const void *fdt, paddr_t paddr);
> > >   const char *boot_fdt_cmdline(const void *fdt);
> > >   +int check_reserved_regions_overlap(paddr_t region_start, paddr_t
> > > region_size);
> > > +
> > >   struct bootmodule *add_boot_module(bootmodule_kind kind,
> > >                                      paddr_t start, paddr_t size, bool
> > > domU);
> > >   struct bootmodule *boot_module_find_by_kind(bootmodule_kind kind);
> > > diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> > > index 4395640019..94d232605e 100644
> > > --- a/xen/arch/arm/setup.c
> > > +++ b/xen/arch/arm/setup.c
> > > @@ -270,6 +270,42 @@ static void __init dt_unreserved_regions(paddr_t s,
> > > paddr_t e,
> > >       cb(s, e);
> > >   }
> > >   +static int __init overlap_check(void *bootinfo_type,
> > > +                                paddr_t region_start, paddr_t region_end)
> > > +{
> > > +    unsigned int i, num = 0;
> > > +    paddr_t bank_start = INVALID_PADDR, bank_end = 0;
> > > +    char *type_str = "NONAME";
> > > +
> > > +    if ( bootinfo_type == &bootinfo.reserved_mem )
> > > +    {
> > > +        num = bootinfo.reserved_mem.nr_banks;
> > > +        type_str = "reserved_mem";
> > > +    }
> > > +    else
> > > +        panic("Invalid bootinfo type passed to overlap check\n");
> > > +
> > > +    for ( i = 0; i < num; i++ )
> > > +    {
> > > +        if ( bootinfo_type == &bootinfo.reserved_mem )
> > > +        {
> > > +            bank_start = bootinfo.reserved_mem.bank[i].start;
> > > +            bank_end = bank_start + bootinfo.reserved_mem.bank[i].size;
> > > +        }
> > > +
> > > +        if ( region_end <= bank_start || region_start >= bank_end )
> > > +            continue;
> > > +        else
> > > +        {
> > > +            printk("%s: Region %#"PRIpaddr" - %#"PRIpaddr" overlapping
> > > with bank[%u] %#"PRIpaddr" - %#"PRIpaddr"\n",
> > > +                   type_str, region_start, region_end, i, bank_start,
> > > bank_end);
> > > +            return -EINVAL;
> > > +        }
> > > +    }
> > > +
> > > +    return 0;
> > > +}
> > 
> > As much as I dislike MACROs in general I think this function should be
> > written as a MACRO so that we can write it once for all use cases. The
> > below in not compiled and not tested, just for explanation purposes.
> > Look how much simpler the code becomes.
> 
> I agree the duplication is not nice. But it is not clear to me why a static
> inline function cannot be used.

You mean a macro generating static inline functions?

It cannot be a single static inline function because the bootinfo
arguments are of three different types, it just happens that all three
have a "start" and "size" struct member so it works great with a macro,
but doesn't for a function.


> > 
> > #define overlap_check(bootinfo,     \
> >                        num,          \
> >                        region_start, \
> >                        region_end)   \
> > ({  \
> >      unsigned int i, ret; \
> >      paddr_t bank_start = INVALID_PADDR, bank_end = 0; \
> >      \
> >      for ( i = 0; i < num; i++ ) \
> >      { \
> >          bank_start = bootinfo->start; \
> >          bank_end = bank_start + bootinfo->size; \
> >      \
> >          if ( region_end <= bank_start || region_start >= bank_end ) \
> >              continue; \
> >          else \
> >          { \
> >              printk("Region %#"PRIpaddr" - %#"PRIpaddr" overlapping with
> > bank[%u] %#"PRIpaddr" - %#"PRIpaddr"\n", \
> >                     region_start, region_end, i, bank_start, bank_end); \
> >              ret = -EINVAL; \
> >              break; \
> >          } \
> >      } \
> >      \
> >      retval = 0; \
> >      retval;\
> > })
> > 
> > 
> > And the caller:
> > 
> > check_reserved_regions_overlap(&bootinfo.reserved_mem,
> >                                 bootinfo.reserved_mem.nr_banks,
> >                                 start, size);


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 22:38:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 22:38:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456681.714463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p333H-0004eh-IP; Wed, 07 Dec 2022 22:38:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456681.714463; Wed, 07 Dec 2022 22:38:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p333H-0004ea-FY; Wed, 07 Dec 2022 22:38:07 +0000
Received: by outflank-mailman (input) for mailman id 456681;
 Wed, 07 Dec 2022 22:38:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sV5z=4F=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p333F-0004eU-H1
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 22:38:05 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfa237b1-767f-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 23:38:04 +0100 (CET)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id 2C9DE5C00EE;
 Wed,  7 Dec 2022 17:38:03 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Wed, 07 Dec 2022 17:38:03 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 7 Dec 2022 17:38:02 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfa237b1-767f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670452683; x=
	1670539083; bh=5jvlZKAc1GkFb1E2a6lBpTO6lLObZ/xQoHLfWhmhXPg=; b=d
	QsxjSR2+11JYkS3Iy7CegPEh9x80Tvvfqx0IfV14vQvCGdRh+2WxZs4dnky1R5Eu
	mre4NYHGerGTvv01YIkNcgvEQH/gGb5o9dmqS+lW3+qHU03s9IWBG30vETRgNNGw
	OUQFOuCJo8aVmaH5560vmGMFF4Pdd1MAX4OmTKhsAT/cLju0qhlOX5frYGOIeo9l
	C9aZcRN6RUS3+URxW283bEIzaQmCtJrNyG0L74o1pUnyRCE9gzQxno2b5ZWD+SfE
	fpCtvIZzqjmFzuKTMGrL8AipNMYjgb+rqPWgMBoMMUVZuz+xzqFj+neM4AZxovZ4
	3ij0TF2XIEj+1AtbBVUhQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm1; t=1670452683; x=1670539083; bh=5jvlZKAc1GkFb1E2a6lBpTO6lLOb
	Z/xQoHLfWhmhXPg=; b=slqIqjWsx1nlvYe2KIQswdxqC1+OSKisV3C3+6B53r2G
	5wNhSPLe79CPCDIWBoUr2kLpC+49cCae8Byjy2QxEvJoR8ZaxC8Ob8UkT8D0cnHn
	6RwJzTmoDyL2Xzjmh5Owgt4HFNbtN4F4iI9cVN6ss/HZPD8ARGFD1TC5JpyjYLDW
	3FozBivTSzPafHzlrZ39G2pmSBIa7YvItxo9fTcYc/Q6AM5H5BoCwfS3j++ux+wO
	U6nsLLXtucr3CJvYhI3BmIaCIIf4W9OZbTwdZv1udGpu4GTKsyslV2Iwugy3E8pL
	OwdS9SawhFNlE2bnAK+IYC+u9cbIPYmvqQEeK+kT8w==
X-ME-Sender: <xms:yhWRYwIwSLy56s-iD_Zr_ZMap9VHE_LYlUYQML8wQFFYcesVCrOTzA>
    <xme:yhWRYwJZrEtvD6fxNfeuf_9cb8xx-5GI21PyrVjD8ptvDZ-hJZ6za6Yi53VaJRCoU
    en50DG682sXXwc>
X-ME-Received: <xmr:yhWRYwsKktEuzQukg7vMKJUHQSTEURxf0D7dJZvlRC0XvaC89RTbWuXlOH69>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudelgddtudcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeehtdehffelieehtdettedtledvuedt
    keeifefgvdehtdelteffudfhkefhheeiteenucffohhmrghinhepgigvnhhprhhojhgvtg
    htrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho
    mhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:yhWRY9aUO4G73UY8xe_4o00lWGiYlZHT4LszKRbqnnhKTCbzjxU6Zw>
    <xmx:yhWRY3ZnopP5BqK7M_3pZlObOisE12M81CXiAEb5U4Q2bGTQia8nAw>
    <xmx:yhWRY5CtyPr14oCOYfMbSEDxaAadLdvvWySclNIqIAH8RKnOKZ1hMg>
    <xmx:yxWRY2mtCuHC4w2fz9iGI_Xu664VMmge4R3umy2Ej2jd-K3x4pujxg>
Feedback-ID: iac594737:Fastmail
Date: Wed, 7 Dec 2022 17:37:58 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Ard Biesheuval <ardb@kernel.org>, Henry Wang <Henry.Wang@arm.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] Use EfiACPIReclaimMemory for ESRT
Message-ID: <Y5EVyHv2Wg+AjgGE@itl-email>
References: <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
 <678b618d-335a-fc9d-97f2-2c6e0e05ed79@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="MASToXsrZ+jaYO4q"
Content-Disposition: inline
In-Reply-To: <678b618d-335a-fc9d-97f2-2c6e0e05ed79@suse.com>


--MASToXsrZ+jaYO4q
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 7 Dec 2022 17:37:58 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Ard Biesheuval <ardb@kernel.org>, Henry Wang <Henry.Wang@arm.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] Use EfiACPIReclaimMemory for ESRT

On Wed, Dec 07, 2022 at 11:11:40AM +0100, Jan Beulich wrote:
> On 07.12.2022 00:27, Demi Marie Obenour wrote:
> > A previous patch tried to get Linux to use the ESRT under Xen if it is
> > in memory of type EfiRuntimeServicesData.  However, this turns out to be
> > a bad idea.  Ard Biesheuvel pointed out that EfiRuntimeServices* memory
> > winds up fragmenting both the EFI page tables and the direct map, and
> > that EfiACPIReclaimMemory is a much better choice for this purpose.
> >=20
> > Link: https://lists.xenproject.org/archives/html/xen-devel/2022-09/msg0=
1365.html
> > Fixes: dc7da0874ba4 ("EFI: preserve the System Resource Table for dom0")
> > Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> > ---
> > Should this be included in 4.17?  It is a bug fix for a feature new to
> > 4.17, so I suspect yes, but it is ultimately up to Henry Wang.
>=20
> First I was surprised this is numbered v2. But it indeed looks to be a
> plain re-submission, merely with Henry Cc-ed. You didn't address my
> comments; you didn't even incorporate the one adjustment where you
> suggested alternative wording and where I did signal my agreement. All
> this form of plain re-submission (without any kind of remark in that
> direction) did is that I spent (wasted) time checking what the earlier
> variant had, what was requested to be changed, and whether any of the
> changes were actually carried out.

Whoops, sorry about that.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--MASToXsrZ+jaYO4q
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmORFcgACgkQsoi1X/+c
IsGWXRAAn7Kz8IA914xqsfiKj4i8+46lTz5U2MGpeItZYB9SWPMF94Mwxvw9W+1r
mHiX+iKDuznULK2Km+QENzHyiPCu/6QD/iks1oM48mAFSrM9OQLAVAF7hg1yJQ2x
e8upj1LtLMugdCCvPEMetmUrj8bVqgV+6yxLKXufh0Og9iwFA1VM4gci7LrPNYGp
ozWgPIa1BrFmxnNriKpG/XZbiMhcYB+PSk3sH4c+vkQ+hBKg7u/Yv7hJ/tnz80P6
D3T6lfWbDK9mJKwhSDAyUHBgiro2n1OLkVRML3sPLtntt6QVlcp5fr5ziqlJRA0a
VP57+pb+lEnTuJcl/xC3DnP79Fg/j9uraY+J18zBfKVjBorYnip5+PjmT2UWVnak
cGvI4AxcXZLos2usdgD3VOxdXX0tlVw0+GmsNBcOMOQfoSC+KCq5KdIGXWznK61o
XAVqLN5R7Lys4UpbeDMLoKZKNhf3cQWavQZZtKhX5NWX+JQEOjpMp1FqD6x+JSi/
Ih0iXfA0iSminVQjSQtI7qZCiDmWNdY3+XfJHns1XOtmN+js+mQ1GqJIzbPM5P0G
jknvSPYitDVv9D7+HYju/6yAMeHSBOqLK19gFkODjenyksqjQSSxVCZZWozPG0g4
2CmZy9WJ7j2mE4cUSPDTq13l/4eOZBaQT/A9se6HrpFyE+t/taE=
=udHZ
-----END PGP SIGNATURE-----

--MASToXsrZ+jaYO4q--


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 22:42:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 22:42:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456692.714473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p337M-0006MZ-7b; Wed, 07 Dec 2022 22:42:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456692.714473; Wed, 07 Dec 2022 22:42:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p337M-0006MS-4H; Wed, 07 Dec 2022 22:42:20 +0000
Received: by outflank-mailman (input) for mailman id 456692;
 Wed, 07 Dec 2022 22:42:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sV5z=4F=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p337L-0006MM-KD
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 22:42:19 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 67509cf3-7680-11ed-91b6-6bf2151ebd3b;
 Wed, 07 Dec 2022 23:42:18 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id C502F5C00EB;
 Wed,  7 Dec 2022 17:42:17 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Wed, 07 Dec 2022 17:42:17 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 7 Dec 2022 17:42:17 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67509cf3-7680-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:message-id:mime-version:reply-to
	:sender:subject:subject:to:to; s=fm1; t=1670452937; x=
	1670539337; bh=JXJ/aYg9pvsjAhKHgg6ks0+NTz6WwePXt39oZO6w6UM=; b=i
	YOXY4iTREWynd/X806trb16t98GsspiUvOasaJxAq6n+6FhaCf8mI8RQVWriRceH
	76OZwcDISQcJFhqXMITxbYrwguvOR9A0UKXrN6BqUBa8JgjcOG1cF96ObwZinRCc
	7rLE9uazHn3gx9z3LjoWEb3TZkcyUQzCTBvY9NU8kErywc3rBfw1lHjPqzUt778Y
	4cWJT3huXJGAWbekOLBkYh/ws0NC2ittCw28rfSBM1ECfMTLKicQdIdmH+Fymj4b
	j0UlR99uRuibR2zDLzP3EQpQikOQWBM1h1If0TS5EexgtI/jkEKWWFFwRYynZ+88
	nkl8RlmkycZiqlJZ8qPNQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=
	1670452937; x=1670539337; bh=JXJ/aYg9pvsjAhKHgg6ks0+NTz6WwePXt39
	oZO6w6UM=; b=I60NmaJ/xKR5hPA8XdllIUrSEMDori5gBNWDkOTQAYlGt4XD+dt
	QVYfAtIDd+cyM6qsgACT0vq070MTkVGhAIvSBFJwIzvD/n/RJ4Uyi78fB32Z9dga
	q3hVEFVe4iomsr9JuvuvP9zl0/MPa9AWA0edxOEPRMAQeiyYqiW+baokIPQncyni
	gW49VMUoKiPo5n/2NVsomhjymgKopZ75icgZYADhX1S4ogEP+IJU/N36gS/T2Z43
	h1kNV1fG/roEDUXMLNrDXoyFq0FwKE6uDX1CtZdsQcLLi3vZqLF+K5dhp/9JlpuD
	lElmGdncePEa4O4H/GKXFag7A1NqC7FXJcw==
X-ME-Sender: <xms:yRaRYz7FLb6ugTxEuevYVsDPxg4qYXpwKSFlDRG0e8VfdPmW4fLRow>
    <xme:yRaRY47L0Pl6wNZDSNQbOGCNdyiDA-Pb_9k5009C1sraKZwB9DgMgvEwwdpUNA4xW
    RAuvnwnsqmEG9w>
X-ME-Received: <xmr:yRaRY6eXELeC_vY1DWp1aWxj4Pns-BuVqY0M_wa5y1Eov7Rhl0qgbgyfnSr81NMxXPIzeyrrl1gU>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudelgddtfecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffoggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcuofgr
    rhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgshhlrg
    gsrdgtohhmqeenucggtffrrghtthgvrhhnpeehgeeuhffftdetvdegvdelhfeffeehgeel
    ueekveeuudfhtdejteefjefgfeehieenucffohhmrghinhepgigvnhhprhhojhgvtghtrd
    horhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhep
    uggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:yRaRY0IIKL-tJ3UumReSY_bIf04OQZakHCviQjC-7Rng5iC5WGPUsw>
    <xmx:yRaRY3KUknD93T_kmihHZ4c0SIg4BI7boYCisssbLUHVjEkv8eALkA>
    <xmx:yRaRY9w8xtU_WHZsx5YeZyk88lVznze03J1MS8ka-8DBwSvqWu9llw>
    <xmx:yRaRY_3hzgMylRjc8jSd_pHbGsMntoCKhs36H1SnBHwDpeHz6DCVUw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Xen developer discussion <xen-devel@lists.xenproject.org>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Ard Biesheuval <ardb@kernel.org>,
	Henry Wang <Henry.Wang@arm.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
Date: Wed,  7 Dec 2022 17:42:12 -0500
Message-Id: <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A previous patch tried to get Linux to use the ESRT under Xen if it is
in memory of type EfiRuntimeServicesData.  However, EfiRuntimeServices*
memory needs to be included in the EFI page tables, so it is best to
minimize the amount of memory of this type.  Since EFI runtime services
do not need access to the ESRT, EfiACPIReclaimMemory is a better choice.

Link: https://lists.xenproject.org/archives/html/xen-devel/2022-09/msg01365.html
Fixes: dc7da0874ba4 ("EFI: preserve the System Resource Table for dom0")
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Should this be included in 4.17?  It is a bug fix for a feature new to
4.17, so I suspect yes, but it is ultimately up to Henry Wang.  The code
is identical to v2, but I have improved the commit message.

 xen/common/efi/boot.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index db0340c8e2628314226c618dda11ede4c62fdf3b..b3de1011ee58a67a82a94da050eb1343f4e37faa 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -601,11 +601,14 @@ static size_t __init get_esrt_size(const EFI_MEMORY_DESCRIPTOR *desc)
     if ( physical_start > esrt || esrt - physical_start >= len )
         return 0;
     /*
-     * The specification requires EfiBootServicesData, but accept
-     * EfiRuntimeServicesData, which is a more logical choice.
+     * The specification requires EfiBootServicesData, but also accept
+     * EfiRuntimeServicesData (for compatibility with buggy firmware)
+     * and EfiACPIReclaimMemory (which will contain the tables after
+     * successful kexec).
      */
     if ( (desc->Type != EfiRuntimeServicesData) &&
-         (desc->Type != EfiBootServicesData) )
+         (desc->Type != EfiBootServicesData) &&
+         (desc->Type != EfiACPIReclaimMemory) )
         return 0;
     available_len = len - (esrt - physical_start);
     if ( available_len <= offsetof(EFI_SYSTEM_RESOURCE_TABLE, Entries) )
@@ -1144,18 +1147,19 @@ static void __init efi_relocate_esrt(EFI_SYSTEM_TABLE *SystemTable)
     for ( i = 0; i < info_size; i += mdesc_size )
     {
         /*
-         * ESRT needs to be moved to memory of type EfiRuntimeServicesData
+         * ESRT needs to be moved to memory of type EfiACPIReclaimMemory
          * so that the memory it is in will not be used for other purposes.
          */
         void *new_esrt = NULL;
-        size_t esrt_size = get_esrt_size(memory_map + i);
+        const EFI_MEMORY_DESCRIPTOR *desc = memory_map + i;
+        size_t esrt_size = get_esrt_size(desc);
 
         if ( !esrt_size )
             continue;
-        if ( ((EFI_MEMORY_DESCRIPTOR *)(memory_map + i))->Type ==
-             EfiRuntimeServicesData )
+        if ( desc->Type == EfiRuntimeServicesData ||
+             desc->Type == EfiACPIReclaimMemory )
             break; /* ESRT already safe from reuse */
-        status = efi_bs->AllocatePool(EfiRuntimeServicesData, esrt_size,
+        status = efi_bs->AllocatePool(EfiACPIReclaimMemory, esrt_size,
                                       &new_esrt);
         if ( status == EFI_SUCCESS && new_esrt )
         {
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 23:01:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 23:01:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456700.714485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p33Pb-0000a8-Ql; Wed, 07 Dec 2022 23:01:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456700.714485; Wed, 07 Dec 2022 23:01:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p33Pb-0000a1-NN; Wed, 07 Dec 2022 23:01:11 +0000
Received: by outflank-mailman (input) for mailman id 456700;
 Wed, 07 Dec 2022 23:01:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eywS=4F=citrix.com=prvs=333a73d03=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p33Pa-0000Zv-Cs
 for xen-devel@lists.xen.org; Wed, 07 Dec 2022 23:01:10 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05f86d12-7683-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 00:01:04 +0100 (CET)
Received: from mail-dm6nam04lp2047.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.47])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 07 Dec 2022 18:00:55 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5245.namprd03.prod.outlook.com (2603:10b6:208:1e6::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 7 Dec
 2022 23:00:53 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.014; Wed, 7 Dec 2022
 23:00:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 05f86d12-7683-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670454064;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=tzxusobkMnozhNQd63olUUZOBScuP1brmk1e3vK3Guo=;
  b=QkXta3+ztTFLxW9U79tvwYWsvJ/cCx+rUr1QVfqYke9mzf7AZyfo50FA
   0KVC4YA/PcXP/Y10ULKLXEaSpsl4pYLg98OVnXxMXu2HZid6MRCLcQtY9
   Yt+rJO10xZYQEePCgZeSEDtFudzGResm5CiXX/m5AD42BueXHpkLI2Bnj
   A=;
X-IronPort-RemoteIP: 104.47.73.47
X-IronPort-MID: 86161264
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:o/IhF6uC9NqMcjWr9P0ZKT5xvufnVLhfMUV32f8akzHdYApBsoF/q
 tZmKWzXb6mLazb9L9h3YY6z8EhQscODztAxTVQ4rC03Rn4W+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWGyCFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwCDNRSCC/l9qK2OilGvNCp/1/deW1BdZK0p1g5Wmx4fcOZ7nmG/mPyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0oui/6xb7I5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6ROPhqKcw3gH7Kmo7Fx4mBGSSp6mFkU+mffd8N
 hct6jMQhP1nnKCsZpynN/Gim1aAvxgBS/JdEu437AyLwK3T5kCYGgAsTDFbb8c9nNQrXjFs3
 ViM9/v5CDoqvLCLRHa18raPsSj0KSUTa2gYakcsVQIY5/HzrYd1iQjAJv5nEaionpj2FCv2z
 jSisicznfMQgNQN2qH9+krI6xqqq4TFQxAd+AraRCSm4xl/aYrjYJangWU39t5FJYedC1WE4
 n4NnpDC6PhUVc3S0iuQXO8KAbeloe6fNyHRikJuGJ9n8Cmx/3mkfsZb5zQWyFpVD/vosATBO
 Cf70T69LrcKVJd2Rcebu76MNvk=
IronPort-HdrOrdr: A9a23:zUAFaqxMDrXEUghDL/PuKrPwPb1zdoMgy1knxilNoH1uH/Bw8v
 rE9sjzuiWE6wr5J0tQ++xoVJPvfZq+z/JICOsqXYtKNTOO0FdAR7sM0WKN+Vzd8iTFh4tg6Z
 s=
X-IronPort-AV: E=Sophos;i="5.96,225,1665460800"; 
   d="scan'208";a="86161264"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hudyhsSvIAx0/vaDKY0m+eZChiCGNann4HpAwVznuufgCEphmInnt5kSSksAp8EHD9P2cQ5s3KMcslpj4iyRZtufUZY/4GUJiRGCyeCL2e/D9hEfx6hZJUH9mUzNGb2mvmfj7/EoZBm9GNuNmuyjP1pj6nCq1K4M/pIazoMyQTRqgqzm9AAKMvmzof2k+TEGXIy8ebred97aqBMY3YXe7y5fiTvEgsE6RPsdxJSBBdjXV5908/LO/NjT3wHepyDbLE5JGF3trOH9dgO8zMwKqQizINiaLtwzPJcNwjXP9Nz2m5/udjaLbzzY0yY0veC7peMb8o+seou6TUWKGLeHwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tzxusobkMnozhNQd63olUUZOBScuP1brmk1e3vK3Guo=;
 b=QkNduR5OjumtanWYpFB5RxKU1xecbrmZKM1JcPdMUsXmm/fLd2moYi54xqQ8xGuj0CitlPFX0OcBGw+Sdt1HqyXpLiKpS5lJGXGZ2lIJ2lh6o8J73JHKegayocz3mPOD9x1cKCvNaffa+DHDga34KTYyDj03hwczbwWRaWoOg8YulmxY7GFKfJlMa49y+lKLpyzJL+WdsxeQxzeyCkVaDri1O8AQJPMQx0T7v++tSgaA7vRBRgX/MPEVeBiWi0JaTtCkZw5wenzHatP1rQCJ37Ez0UxPGjihBuw1pa1IJI+BRuSo0pWRiL/1r9oZsLwxIp2UMofOK+Ukrc7tD3pC7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tzxusobkMnozhNQd63olUUZOBScuP1brmk1e3vK3Guo=;
 b=VFXA85PO63dGZ19ASrzNUIecbaYG0mzkfzDm/F69UQcDJKciPSr7SSOu4MTVn0IUPSbEp9CgyJ5aq24XNqecWdnR5FfsB5LwSVb5AHod9t1QFbTyRD9FCl8TrWhiTG66E3e3CYi1OJPw2qnatrTgHURiWovL23ys6JHv1LF2nLk=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Sander Eikelenboom <linux@eikelenboom.it>, Ross Lagerwall
	<ross.lagerwall@citrix.com>, Juergen Gross <jgross@suse.com>, Xen-devel
	<xen-devel@lists.xen.org>, Paul Durrant <paul@xen.org>
CC: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, netdev
	<netdev@vger.kernel.org>
Subject: Re: Xen + linux 6.1.0-rc8, network to guest VM not working after
 commit ad7f402ae4f466647c3a669b8a6f3e5d4271c84a fixing XSA-423
Thread-Topic: Xen + linux 6.1.0-rc8, network to guest VM not working after
 commit ad7f402ae4f466647c3a669b8a6f3e5d4271c84a fixing XSA-423
Thread-Index: AQHZCoTvgsRUlGOV1k6xRNsUUF4cHa5jCngA
Date: Wed, 7 Dec 2022 23:00:52 +0000
Message-ID: <56054539-4a02-5310-b93f-6baacaf8e007@citrix.com>
References: <2f364567-3598-2d86-ae3d-e0fabad4704a@eikelenboom.it>
In-Reply-To: <2f364567-3598-2d86-ae3d-e0fabad4704a@eikelenboom.it>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|MN2PR03MB5245:EE_
x-ms-office365-filtering-correlation-id: 3d740aef-8089-4394-95e4-08dad8a6e410
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 FW6K2neMlNBGFM+YIkflKw2tY7L4AFwWig5LMLnh6oIysPmJ8xl1NuY77NNU8GDJm4I9lK7rfhnjwdbd8hZVMwsouhOLcP7Fc0ewDM0KKAh7cuMzg53QtsvLg/9wR3ieUX6C3fLv9Ag/rFoJx+0eKsBfAyK1GL4weUSZqFbT6xCw+phwfSPDhsuGFpFtxFJynkfOEulNcdM1ysIAQaLrsZG35V28nWfLylgQs/qAiz2ARYKUWQkhvn0htRmbToc4ZOipEwbJKlGb+tvcNSI2MklGqe7GqBW6KZ3j/PA4vw0GqDODUWbAPQ0FUryYMqsF9Eci5g0aGe2RWAMe01VbS2scM8c4Ejon0Yb/n7MnZ9B2UHSPqmCeBDVo5tNI5EeeAAhZlsX2a1ZuLU7FpEfRTaQoYhdMCC8eXunngHqJszCrYfLXvgw/nnvSBILaQB0eFAj8fUMWBGFx1qqpt8nQAyZt1BdKScgyChgLCoBKUV8ckXMUgOla+4hv8xJ1nDW6nYptR9YAcCZggNgsJx8aSApy/GsOtbvz2TbJOfpzvWtKvsf1xrEbtAZDtQAD43tEt9dQ78kKLSlv/obWHEEbUgu0Fu5KYxelpGrIrFhhfdnacX5MvrDBdg3pSHJXMnbKwOgr49OLOq/pKPQMP+eMvKoN+2I2IyDbogarjIgE4UqTbCIMyAODgWHn/jxNuwaYgdDNOIl8MFSPCzhwHGwQtmofZR9chLBjYuseKYnxkfdinxMDsIZa5L6HjryAbLvi5nNqTQxJpdq9LCSAdOqvuFZ/S3IwhRzYBMz3NhUOjbE=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(366004)(376002)(346002)(39860400002)(136003)(451199015)(36756003)(31686004)(4744005)(5660300002)(31696002)(86362001)(82960400001)(38070700005)(2906002)(8936002)(4326008)(41300700001)(122000001)(83380400001)(66446008)(91956017)(66556008)(966005)(66476007)(6486002)(66946007)(478600001)(316002)(2616005)(76116006)(110136005)(54906003)(71200400001)(38100700002)(8676002)(186003)(6506007)(6512007)(53546011)(26005)(64756008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bmg5TUJ1bFJ4UzMybmlKLzVPSzVHVXY0bWNoRGxJTFRVTjgrVjhmNVBJU1dq?=
 =?utf-8?B?bmtTblFxUTNhdFo5d0NlVXMycnFVd0g5dThub1FyK2RLT0djQTZ2REdQRU5r?=
 =?utf-8?B?NHY0ZW5HaU9lZ0ZsenZpRXlNbGtZVXE4WDFrblJ4ZDJHSyswcU1TdnMwdkZU?=
 =?utf-8?B?Y244YjA3cGpkY1RmYTJjRlhQdnZTelEyWEFhbG1lNFZVZ0VaM1QzVk4yNGY4?=
 =?utf-8?B?THdqd3NYVVdEMGgzMjFhZHdzU1MvZVZZc3kxVEI3YmVXSzlNbFd0Y3ZjK2Fi?=
 =?utf-8?B?Mnc5LytJTkw2Vm1USG02OURCVzg0ZldGbWl5RDUxaG1wc0RqYkZ0S3l3UXd0?=
 =?utf-8?B?a3dTWlJEdWZmOXNFSnhaWVdadHk5Q2prUnc5YnI2VG52dGg4YkYwWUY2YW9j?=
 =?utf-8?B?dE5pSG5ybE0zZmdSdVVPTjFHRGpvWmhscmdvYjVmM0hKN2xiM3U4N3F1Q1k2?=
 =?utf-8?B?WVpiQWRiOTM3MUVjZG9xM0ZUOWZzWFNGNVdEMlA3aDlqcTY1Qk95MzFtMy9S?=
 =?utf-8?B?NFVkaVpObkZQL2VDR1NmZlBDTVM0eXVVZDNZVXVWRTBiOG1BbmllUi93b1cx?=
 =?utf-8?B?N1JUWkNya0dNSXlLTEwxTVhnUG5uc25KZHNjQnNwTWUrZUYvcjRYVW5ZajFy?=
 =?utf-8?B?bzJvTWl5MU8yQ0hYZTYwREhNQ3kvdXNCa2JRWUpwbTF6Q3ZTWlZValRHUC9w?=
 =?utf-8?B?TmhZSDd0ZzJkUVJXaUtkSUxqRVdvSmRUbG9adHRMNGs5bFN5RGRGbEo0OWVO?=
 =?utf-8?B?MDJOd3BVVWNEd3BsUVpsb01oV0p2WFdzVHdsdUxxUzRldmxKRkdPT3lVVWRs?=
 =?utf-8?B?eG43SlBHMVJUVWE2N1lvNVY0OVA3TkZZVmp5QVBKMHErVlhYOGhPSEFqMTh1?=
 =?utf-8?B?MG84b3h4Z3hOb3FUVjNrQ2FMb1NaMllBOTRzR0dhV25tN2p4VmhmQWtrZC9M?=
 =?utf-8?B?a2RtN0s5WmZHVnhJUEh2aklXZlVLVHgwdFM5RkVVa2tFSE5OcklCYTNIYUEv?=
 =?utf-8?B?aWhoZzE5QURVL1A2anRiRStzbXcyQUUxR0ViNmlZRm9Qb1poTGZhOVZCZVZR?=
 =?utf-8?B?RG5HR0xpSllmQTF2TGZ0UnMvQTJjWit2VlVwSHVuUXRVd0VNQ3JlS25EdXBy?=
 =?utf-8?B?NWFlRk5ZMW54a296VlZ4OE05WnVnc3NnWGZxWGVXeHdqL1k3V0xneTRiOHU4?=
 =?utf-8?B?M1RvLzM1Sy9pWG9JWTB1QWlWMHJkd25GS05RQm1IN2lLemRiQzhPT0EwUXFv?=
 =?utf-8?B?d3phVmlZQVY0MENHaW1abjlGVTlWTVFzT0owQjloLy8xSm11MGNRWlFDVFhp?=
 =?utf-8?B?bk1XSVB0WXN1TFR6ZWNKQmtHY1AwdEJUdjdmbU5mL21BdDZBZnhhUVdRanV5?=
 =?utf-8?B?dTIxeC96WVppRjFycHFud20wcUVzWU5wd01mVE95cFoxK3lwOHJzSlZQbHVs?=
 =?utf-8?B?bUJhVlVJRmJmcW4vWjdra0ZLRzJINGR5UUNucGM3UmZQMXhsMVl2NkdIRmdn?=
 =?utf-8?B?dEFxYTlKSXR5STZvM25Yd2t4NzFVSVBZQmhmZGdxOC8zV3J3aW5sMkl0aUR6?=
 =?utf-8?B?RnJ6eFRQOUZ0dUZuV0VFem1MM2JLa1NGWTJIc1Y1WmhCZjV5eGxsb2Z6dDJj?=
 =?utf-8?B?c2VWK1h3dER1QVlLMW55OHg5VlhCb25Fc1FGQ0ZPT3JUbW9Qa1F6ZUNQOHlT?=
 =?utf-8?B?K1ltem1QL3pZbVlZSnl0UmNKQ1VCQzVrMHd4VXBUdzM4M1AvSVMveE5uc2U3?=
 =?utf-8?B?SXpkeCtneEFFSTV5WXJGVDExOHZtWnJndnUzT1Bzcys3L0c2Rm1uRGlrbkVa?=
 =?utf-8?B?dFhmYWlSY3orREJWb1NmQ05sZmErMzhDYjRDK3pXN3ZHZC94WjBHTlVuR1NW?=
 =?utf-8?B?UEkzbHZqR3U3Ni82Z05LL1pHMXRYeFFPc2RpTGNKK2hVZW1ocTRGakVTNTV4?=
 =?utf-8?B?dFAyRnZYY2svV05razRjKzdwVjhJZGJQazcrYkk2NjN3dVk3M3ZkZFVERnFW?=
 =?utf-8?B?bEpNeWN2RnpWK05XUFFnaDZTNTRBN3greXpibUVHczdnSDlDa0ozK0phODRm?=
 =?utf-8?B?clNxV0QyZ3ZaY2Z0YUxJeE9iK2tOYVM3VlkxK2lSQ2l1RUFNQ09oekd3VHZR?=
 =?utf-8?Q?FpTPWlZcOFenxUoL920cl7EeC?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <05B6E0BCE5A54146B982884531C7FA19@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d740aef-8089-4394-95e4-08dad8a6e410
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Dec 2022 23:00:52.8340
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 1sGoN4IfqUFFCK0IiqrHCiywv6TF5yuC9fosUJD8d7ZrRlePIZchyjWutGzGJLv0NdbABIiYUMlm+l3bSYQOe007cOHgpuO6UVF9BoGKZng=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5245

T24gMDcvMTIvMjAyMiAyMTo0MiwgU2FuZGVyIEVpa2VsZW5ib29tIHdyb3RlOg0KPiBIaSBSb3Nz
IC8gSnVlcmdlbiwNCj4NCj4gSSBqdXN0IHVwZGF0ZWQgbXkgbGludXgga2VybmVsIHRvIHRoZSBs
YXRlc3Qgb2YgTGludXMgaGlzIHRyZWUgd2hpY2gNCj4gaW5jbHVkZWQgY29tbWl0IGFkN2Y0MDJh
ZTRmNDY2NjQ3YzNhNjY5YjhhNmYzZTVkNDI3MWM4NGEgZml4aW5nIFhTQS00MjMuDQo+DQo+IFVu
Zm9ydHVuYXRlbHkgd2hlbiB1c2luZyB0aGlzIGtlcm5lbCBJIGNhbid0IFNTSCBhbnltb3JlIGlu
dG8gdGhlIFhlbg0KPiBndWVzdCBJIHN0YXJ0LCBidXQgSSBkb24ndCBzZWUgYW55IGFwcGFyZW50
IGZhaWx1cmVzIGVpdGhlci4NCj4gQSBzdHJhaWdodCByZXZlcnQgb2YgdGhlIGNvbW1pdA0KPiBh
ZDdmNDAyYWU0ZjQ2NjY0N2MzYTY2OWI4YTZmM2U1ZDQyNzFjODRhIG1ha2VzIG5ldHdvcmtpbmcg
ZnVuY3Rpb24NCj4gbm9ybWFsbHkgYWdhaW4uDQo+DQo+IEkgaGF2ZSBhZGRlZCBzb21lIG9mIHRo
ZSBsb2dnaW5nIGJlbG93LCBwZXJoYXBzIGl0IGF0IGdpdmVzIHNvbWUgaWRlYQ0KPiBvZmYgdGhl
IHN0YXRlIGFyb3VuZCB0aGUgWGVuIG5ldHdvcmsgZnJvbnQgYW5kIGJhY2tlbmQuDQo+DQo+IEFu
eSBpZGVhcyBvciBhIHRlc3QgcGF0Y2ggdGhhdCBJIGNvdWxkIHJ1biB0byBzaGVkIHNvbWUgbW9y
ZSBsaWdodCBvbg0KPiB3aGF0IGlzIGdvaW5nIG9uID8NCg0KWFNBLTQyMyB3YXMgYnVnZ3kuwqAg
Rml4IGFuZCBkaXNjdXNzaW9uIGF0Og0KDQpodHRwczovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2
ZWwvNjgxNzczZGQtNjI2NC02M2FjLWEzYjUtYTkxODJiOWUwY2MxQHN1c2UuY29tL1QvI3QNCg0K
fkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 23:05:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 23:05:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456706.714496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p33Tl-0001RC-B2; Wed, 07 Dec 2022 23:05:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456706.714496; Wed, 07 Dec 2022 23:05:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p33Tl-0001R5-8S; Wed, 07 Dec 2022 23:05:29 +0000
Received: by outflank-mailman (input) for mailman id 456706;
 Wed, 07 Dec 2022 23:05:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p33Tk-0001Qy-2v
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 23:05:28 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p33Tj-0006Py-NH; Wed, 07 Dec 2022 23:05:27 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p33Tj-00062c-I5; Wed, 07 Dec 2022 23:05:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=0e3vZMQMkJhfDwrzQwgJCKvkEJgXgtf2HodRwrea2kI=; b=ZDN56wdrD697P93ZxABJsFcsvJ
	aOfUijnQM5bTbXPZ0LSgJiWFtRZyt6ZdwIfK/hV4OgV2TVrw/6MZfuNvf1ctyHGfEcj6nNmR9UQuT
	9KczYIwoEHFXcX/Mr0S2cUlWugUnEgB63Zuk957jXNoHB9RIQ+Na3SGQd90tyv7tfx3w=;
Message-ID: <556d4b3f-3983-a336-f299-ce6b2b4a6e72@xen.org>
Date: Wed, 7 Dec 2022 23:05:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221205025753.2178965-1-Henry.Wang@arm.com>
 <20221205025753.2178965-2-Henry.Wang@arm.com>
 <alpine.DEB.2.22.394.2212061716170.4039@ubuntu-linux-20-04-desktop>
 <8e635354-fdf4-a37f-0dba-c4b29063e152@xen.org>
 <alpine.DEB.2.22.394.2212071424060.4039@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH 1/3] xen/arm: Add memory overlap check for
 bootinfo.reserved_mem
In-Reply-To: <alpine.DEB.2.22.394.2212071424060.4039@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 07/12/2022 22:27, Stefano Stabellini wrote:
> On Wed, 7 Dec 2022, Julien Grall wrote:
>> On 07/12/2022 01:37, Stefano Stabellini wrote:
>>> On Mon, 5 Dec 2022, Henry Wang wrote:
>>>> As we are having more and more types of static region, and all of
>>>> these static regions are defined in bootinfo.reserved_mem, it is
>>>> necessary to add the overlap check of reserved memory regions in Xen,
>>>> because such check will help user to identify the misconfiguration in
>>>> the device tree at the early stage of boot time.
>>>>
>>>> Currently we have 3 types of static region, namely (1) static memory,
>>>> (2) static heap, (3) static shared memory. (1) and (2) are parsed by
>>>> the function `device_tree_get_meminfo()` and (3) is parsed using its
>>>> own logic. Therefore, to unify the checking logic for all of these
>>>> types of static region, this commit firstly introduces a helper
>>>> `check_reserved_regions_overlap()` to check if an input physical
>>>> address range is overlapping with the existing reserved memory regions
>>>> defined in bootinfo. After that, use this helper in
>>>> `device_tree_get_meminfo()` to do the overlap check of (1) and (2)
>>>> and replace the original overlap check of (3) with this new helper.
>>>>
>>>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>>>
>>> I wonder if the check should only be done #ifdef DEBUG. The idea would
>>> be that a given static configuration should be validated and corrected
>>> before going into production. By the time you go in production, it is
>>> too late to do checks anyway. Especially the panic below.
>>>
>>> Julien, Bertrand, what do you think about this?
>>
>> The integrator may be a different person (or even a different company) than
>> the one building Xen.
>>
>> So I think, the new check shoudl not be protected by CONFIG_DEBUG.
> 
> It is almost like we need something else to say "this is really a
> production build, disable all checks, I want it to go fast and be as
> small as possible". Maybe it would be better as a new kconfig option?

I am not convinced this should be a Kconfig option for the same reason 
as before: the integrator may be a different entity and you want to be 
able to check your setup with the final binary.

So this most likely want to a be a command line option.

> 
> In any case, this patch is OK as is.
> 
> 
>> That said, any output in bootfd will only printed when earlyprintk is enabled.
>> I think we should consider to support dynamic early printk. Anyway, that's
>> something that doesn't need to be handled in this series.
> 
> +1
> 
> 
>>>> ---
>>>>    xen/arch/arm/bootfdt.c           | 13 ++++----
>>>>    xen/arch/arm/include/asm/setup.h |  2 ++
>>>>    xen/arch/arm/setup.c             | 52 ++++++++++++++++++++++++++++++++
>>>>    3 files changed, 60 insertions(+), 7 deletions(-)
>>>>
>>>> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
>>>> index 6014c0f852..b31379b9ac 100644
>>>> --- a/xen/arch/arm/bootfdt.c
>>>> +++ b/xen/arch/arm/bootfdt.c
>>>> @@ -91,6 +91,9 @@ static int __init device_tree_get_meminfo(const void
>>>> *fdt, int node,
>>>>        for ( i = 0; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
>>>>        {
>>>>            device_tree_get_reg(&cell, address_cells, size_cells, &start,
>>>> &size);
>>>> +        if ( mem == &bootinfo.reserved_mem &&
>>>> +             check_reserved_regions_overlap(start, size) )
>>>> +            return -EINVAL;
>>>>            /* Some DT may describe empty bank, ignore them */
>>>>            if ( !size )
>>>>                continue;
>>>> @@ -485,7 +488,9 @@ static int __init process_shm_node(const void *fdt,
>>>> int node,
>>>>                    return -EINVAL;
>>>>                }
>>>>    -            if ( (end <= mem->bank[i].start) || (paddr >= bank_end) )
>>>> +            if ( check_reserved_regions_overlap(paddr, size) )
>>>> +                return -EINVAL;
>>>> +            else
>>>>                {
>>>>                    if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
>>>>                        continue;
>>>> @@ -496,12 +501,6 @@ static int __init process_shm_node(const void *fdt,
>>>> int node,
>>>>                        return -EINVAL;
>>>>                    }
>>>>                }
>>>> -            else
>>>> -            {
>>>> -                printk("fdt: shared memory region overlap with an
>>>> existing entry %#"PRIpaddr" - %#"PRIpaddr"\n",
>>>> -                        mem->bank[i].start, bank_end);
>>>> -                return -EINVAL;
>>>> -            }
>>>>            }
>>>>        }
>>>>    diff --git a/xen/arch/arm/include/asm/setup.h
>>>> b/xen/arch/arm/include/asm/setup.h
>>>> index fdbf68aadc..6a9f88ecbb 100644
>>>> --- a/xen/arch/arm/include/asm/setup.h
>>>> +++ b/xen/arch/arm/include/asm/setup.h
>>>> @@ -143,6 +143,8 @@ void fw_unreserved_regions(paddr_t s, paddr_t e,
>>>>    size_t boot_fdt_info(const void *fdt, paddr_t paddr);
>>>>    const char *boot_fdt_cmdline(const void *fdt);
>>>>    +int check_reserved_regions_overlap(paddr_t region_start, paddr_t
>>>> region_size);
>>>> +
>>>>    struct bootmodule *add_boot_module(bootmodule_kind kind,
>>>>                                       paddr_t start, paddr_t size, bool
>>>> domU);
>>>>    struct bootmodule *boot_module_find_by_kind(bootmodule_kind kind);
>>>> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
>>>> index 4395640019..94d232605e 100644
>>>> --- a/xen/arch/arm/setup.c
>>>> +++ b/xen/arch/arm/setup.c
>>>> @@ -270,6 +270,42 @@ static void __init dt_unreserved_regions(paddr_t s,
>>>> paddr_t e,
>>>>        cb(s, e);
>>>>    }
>>>>    +static int __init overlap_check(void *bootinfo_type,
>>>> +                                paddr_t region_start, paddr_t region_end)
>>>> +{
>>>> +    unsigned int i, num = 0;
>>>> +    paddr_t bank_start = INVALID_PADDR, bank_end = 0;
>>>> +    char *type_str = "NONAME";
>>>> +
>>>> +    if ( bootinfo_type == &bootinfo.reserved_mem )
>>>> +    {
>>>> +        num = bootinfo.reserved_mem.nr_banks;
>>>> +        type_str = "reserved_mem";
>>>> +    }
>>>> +    else
>>>> +        panic("Invalid bootinfo type passed to overlap check\n");
>>>> +
>>>> +    for ( i = 0; i < num; i++ )
>>>> +    {
>>>> +        if ( bootinfo_type == &bootinfo.reserved_mem )
>>>> +        {
>>>> +            bank_start = bootinfo.reserved_mem.bank[i].start;
>>>> +            bank_end = bank_start + bootinfo.reserved_mem.bank[i].size;
>>>> +        }
>>>> +
>>>> +        if ( region_end <= bank_start || region_start >= bank_end )
>>>> +            continue;
>>>> +        else
>>>> +        {
>>>> +            printk("%s: Region %#"PRIpaddr" - %#"PRIpaddr" overlapping
>>>> with bank[%u] %#"PRIpaddr" - %#"PRIpaddr"\n",
>>>> +                   type_str, region_start, region_end, i, bank_start,
>>>> bank_end);
>>>> +            return -EINVAL;
>>>> +        }
>>>> +    }
>>>> +
>>>> +    return 0;
>>>> +}
>>>
>>> As much as I dislike MACROs in general I think this function should be
>>> written as a MACRO so that we can write it once for all use cases. The
>>> below in not compiled and not tested, just for explanation purposes.
>>> Look how much simpler the code becomes.
>>
>> I agree the duplication is not nice. But it is not clear to me why a static
>> inline function cannot be used.
> 
> You mean a macro generating static inline functions?
> 
> It cannot be a single static inline function because the bootinfo
> arguments are of three different types, it just happens that all three
> have a "start" and "size" struct member so it works great with a macro,
> but doesn't for a function.

It is not clear to me what are the three types you are referring to. 
Looking at the definition of bootinfo is:

struct bootinfo {
     struct meminfo mem;
     /* The reserved regions are only used when booting using Device-Tree */
     struct meminfo reserved_mem;
     struct bootmodules modules;
     struct bootcmdlines cmdlines;
#ifdef CONFIG_ACPI
     struct meminfo acpi;
#endif
     bool static_heap;
};

cmdlines is something uninteresting here. So we have two types:
   - bootmodules for modules
   - meminfo used by reserved_mem, mem and acpi

Looking in details the code, now I understand why you suggested the 
macro. This is far better than the checking what the array type (not 
very scalable).

Personally, I think trying to share the code between the two types is a 
bit odd. The logic is the same today, but I envision to merge 
reserved_mem, mem and acpi in a single array (it would look like the 
E820) as this would make easier to find the caching attributes per 
regions when mapping the RAM. So sharing the code would not be possible.

That said, if you really want to share the code between the two types. 
Then I would prefer one of the following option:
    1) Provide a callback that is used to fetch the information from the 
array
    2) Provide a common structure that could be used by the function.

This would match other generic function like sort & co.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 23:24:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 23:24:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456716.714507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p33mC-0004Kc-22; Wed, 07 Dec 2022 23:24:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456716.714507; Wed, 07 Dec 2022 23:24:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p33mB-0004KV-Vh; Wed, 07 Dec 2022 23:24:31 +0000
Received: by outflank-mailman (input) for mailman id 456716;
 Wed, 07 Dec 2022 23:24:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CKq1=4F=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p33mA-0004KP-La
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 23:24:30 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b2a8b5d-7686-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 00:24:28 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 5700761CE0;
 Wed,  7 Dec 2022 23:24:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 05975C433D6;
 Wed,  7 Dec 2022 23:24:25 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b2a8b5d-7686-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670455466;
	bh=WAqWB3t5CnIwaEbiZi19UdDQY/tdq/ds7+fkA0hfB9M=;
	h=Date:From:To:cc:Subject:From;
	b=olqwGsYJgdpy5HjTu8W8cL2qlr8tYSho7a8aU1EXQrMxa2sJ2+/D94hiTg618Eyw+
	 p0HtGXh5KC+ZQ4VpKD7GDGMrP2Z2AR7F9F9JlA2MltqsU6iAqfPfE8jw2rboe3bQ3g
	 k+eWrK/r+l49c3T21SR6eXUgivuIuclt5Nu1jU6ud7p9HbKzxZhWVm3OV47lVprMCD
	 s/tH6RkXJy1F3xQD5YEUsYJaBu/nznBFNXfhO0iadfinH3G99BFHqUsZbJWKahmK0a
	 56K/wNUm2aKEpY6bQrZt7YbdALVTP34+E0fnW/muhY+bC50T+4H6r/evEwHyG2czrO
	 FvOiN90bv8FHw==
Date: Wed, 7 Dec 2022 15:24:24 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: xen-devel@lists.xenproject.org
cc: sstabellini@kernel.org, dpsmith@apertussolutions.com, jbeulich@suse.com, 
    michal.orzel@amd.com
Subject: [PATCH v2] xsm/flask: misra rule 8.4 fix
Message-ID: <alpine.DEB.2.22.394.2212071519340.4039@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Fix several MISRA Issues Rule 8.4 ("A compatible declaration shall be
visible when an object or function with external linkage is defined")
found by cppcheck affecting xen/xsm/flask.

- policydb_loaded_version is not declared; removed it because it is
  unused
- move ss_initialized declaration to xen/xsm/flask/include/conditional.h
- #include <conditional.h> (which is
  xen/xsm/flask/include/conditional.h) in xen/xsm/flask/ss/policydb.c so
  that policydb.c also gets the declaration of ss_initialized
- #include <conditional.h> in xen/xsm/flask/ss/services.c to declare
  security_*_bools functions that services.c is defining and using

This patch solves all the Rule 8.4 violations found by cppcheck on xsm/

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

diff --git a/xen/xsm/flask/flask_op.c b/xen/xsm/flask/flask_op.c
index d319466c6b..b866e8d05f 100644
--- a/xen/xsm/flask/flask_op.c
+++ b/xen/xsm/flask/flask_op.c
@@ -56,8 +56,6 @@ static int bool_num = 0;
 static int *bool_pending_values = NULL;
 static int flask_security_make_bools(void);
 
-extern int ss_initialized;
-
 static int __init cf_check parse_flask_param(const char *s)
 {
     if ( !strcmp(s, "enforcing") )
diff --git a/xen/xsm/flask/include/conditional.h b/xen/xsm/flask/include/conditional.h
index 90553405b0..879d40e147 100644
--- a/xen/xsm/flask/include/conditional.h
+++ b/xen/xsm/flask/include/conditional.h
@@ -24,4 +24,6 @@ int security_find_bool(const char *name);
 char *security_get_bool_name(unsigned int b);
 int security_get_bool_value(unsigned int b);
 
+extern int ss_initialized;
+
 #endif
diff --git a/xen/xsm/flask/ss/policydb.c b/xen/xsm/flask/ss/policydb.c
index 162470bbbd..7f232f92fa 100644
--- a/xen/xsm/flask/ss/policydb.c
+++ b/xen/xsm/flask/ss/policydb.c
@@ -28,6 +28,7 @@
 #include <xen/xmalloc.h>
 #include <xen/string.h>
 #include <xen/errno.h>
+#include <conditional.h>
 #include "security.h"
 
 #include "policydb.h"
@@ -1730,8 +1731,6 @@ static int policydb_bounds_sanity_check(struct policydb *p)
     return 0;
 }
 
-extern int ss_initialized;
-
 /*
  * Read the configuration data from a policy database binary
  * representation file into a policy database structure.
diff --git a/xen/xsm/flask/ss/services.c b/xen/xsm/flask/ss/services.c
index dab07b5f60..35ad1034ca 100644
--- a/xen/xsm/flask/ss/services.c
+++ b/xen/xsm/flask/ss/services.c
@@ -42,6 +42,7 @@
 #include <xen/spinlock.h>
 #include <xen/rwlock.h>
 #include <xen/errno.h>
+#include <conditional.h>
 #include "flask.h"
 #include "avc.h"
 #include "avc_ss.h"
@@ -53,8 +54,6 @@
 #include "conditional.h"
 #include "mls.h"
 
-unsigned int policydb_loaded_version;
-
 static DEFINE_RWLOCK(policy_rwlock);
 #define POLICY_RDLOCK read_lock(&policy_rwlock)
 #define POLICY_WRLOCK write_lock(&policy_rwlock)
@@ -1388,7 +1387,6 @@ int security_load_policy(const void *data, size_t len)
             policydb_destroy(&policydb);
             return -EINVAL;
         }
-        policydb_loaded_version = policydb.policyvers;
         ss_initialized = 1;
         seqno = ++latest_granting;
         LOAD_UNLOCK;
@@ -1447,7 +1445,6 @@ int security_load_policy(const void *data, size_t len)
     memcpy(&policydb, &newpolicydb, sizeof policydb);
     sidtab_set(&sidtab, &newsidtab);
     seqno = ++latest_granting;
-    policydb_loaded_version = policydb.policyvers;
     POLICY_WRUNLOCK;
     LOAD_UNLOCK;
 


From xen-devel-bounces@lists.xenproject.org Wed Dec 07 23:48:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 07 Dec 2022 23:48:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456723.714518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p348z-0007Eo-V7; Wed, 07 Dec 2022 23:48:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456723.714518; Wed, 07 Dec 2022 23:48:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p348z-0007Eh-Rl; Wed, 07 Dec 2022 23:48:05 +0000
Received: by outflank-mailman (input) for mailman id 456723;
 Wed, 07 Dec 2022 23:48:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CKq1=4F=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p348y-0007Eb-LC
 for xen-devel@lists.xenproject.org; Wed, 07 Dec 2022 23:48:04 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 966d3feb-7689-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 00:48:02 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id B67D8B82193;
 Wed,  7 Dec 2022 23:48:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 86205C433C1;
 Wed,  7 Dec 2022 23:47:59 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 966d3feb-7689-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670456880;
	bh=nNUKfCzbYvNTh1m1rikQiGM5msg/dC0QTd+gX8Tdb+0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=TzjG+oN2QdvzV452SHG5nCPZ4IJNYgFHAtJ0x0zNgmcQZ7C0qa7IhZWuf0vK8f97e
	 odn4PSt3IucNF9aJBLQ2IGzioGfWpW5GbbrWbEtlMn7+TFcJxGtDHEjxWQsbCYja9i
	 gAe/EX26zGQQhyc2vndnSYWFzljz4pIwc2k93jTotSWsj8rD5XtAyUFSek6XQlAIdM
	 zN77c1I8mZJL2+qm0ZwRAbRHwE6buRi/6od1qXw3Ay5ozrjC152D+kgflw+a8QebOZ
	 SR6OCfpUBoXMV7Z1LlpX/JqPXT/pbdhKySFf56fWZRpGiXX91OxmKRyq+I8OXX9t23
	 D263Q682riojw==
Date: Wed, 7 Dec 2022 15:47:55 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH 1/3] xen/arm: Add memory overlap check for
 bootinfo.reserved_mem
In-Reply-To: <556d4b3f-3983-a336-f299-ce6b2b4a6e72@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212071534260.2730675@ubuntu-linux-20-04-desktop>
References: <20221205025753.2178965-1-Henry.Wang@arm.com> <20221205025753.2178965-2-Henry.Wang@arm.com> <alpine.DEB.2.22.394.2212061716170.4039@ubuntu-linux-20-04-desktop> <8e635354-fdf4-a37f-0dba-c4b29063e152@xen.org> <alpine.DEB.2.22.394.2212071424060.4039@ubuntu-linux-20-04-desktop>
 <556d4b3f-3983-a336-f299-ce6b2b4a6e72@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 7 Dec 2022, Julien Grall wrote:
> On 07/12/2022 22:27, Stefano Stabellini wrote:
> > On Wed, 7 Dec 2022, Julien Grall wrote:
> > > On 07/12/2022 01:37, Stefano Stabellini wrote:
> > > > On Mon, 5 Dec 2022, Henry Wang wrote:
> > > > > As we are having more and more types of static region, and all of
> > > > > these static regions are defined in bootinfo.reserved_mem, it is
> > > > > necessary to add the overlap check of reserved memory regions in Xen,
> > > > > because such check will help user to identify the misconfiguration in
> > > > > the device tree at the early stage of boot time.
> > > > > 
> > > > > Currently we have 3 types of static region, namely (1) static memory,
> > > > > (2) static heap, (3) static shared memory. (1) and (2) are parsed by
> > > > > the function `device_tree_get_meminfo()` and (3) is parsed using its
> > > > > own logic. Therefore, to unify the checking logic for all of these
> > > > > types of static region, this commit firstly introduces a helper
> > > > > `check_reserved_regions_overlap()` to check if an input physical
> > > > > address range is overlapping with the existing reserved memory regions
> > > > > defined in bootinfo. After that, use this helper in
> > > > > `device_tree_get_meminfo()` to do the overlap check of (1) and (2)
> > > > > and replace the original overlap check of (3) with this new helper.
> > > > > 
> > > > > Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> > > > 
> > > > I wonder if the check should only be done #ifdef DEBUG. The idea would
> > > > be that a given static configuration should be validated and corrected
> > > > before going into production. By the time you go in production, it is
> > > > too late to do checks anyway. Especially the panic below.
> > > > 
> > > > Julien, Bertrand, what do you think about this?
> > > 
> > > The integrator may be a different person (or even a different company)
> > > than
> > > the one building Xen.
> > > 
> > > So I think, the new check shoudl not be protected by CONFIG_DEBUG.
> > 
> > It is almost like we need something else to say "this is really a
> > production build, disable all checks, I want it to go fast and be as
> > small as possible". Maybe it would be better as a new kconfig option?
> 
> I am not convinced this should be a Kconfig option for the same reason as
> before: the integrator may be a different entity and you want to be able to
> check your setup with the final binary.
> 
> So this most likely want to a be a command line option.
> 
> > 
> > In any case, this patch is OK as is.
> > 
> > 
> > > That said, any output in bootfd will only printed when earlyprintk is
> > > enabled.
> > > I think we should consider to support dynamic early printk. Anyway, that's
> > > something that doesn't need to be handled in this series.
> > 
> > +1
> > 
> > 
> > > > > ---
> > > > >    xen/arch/arm/bootfdt.c           | 13 ++++----
> > > > >    xen/arch/arm/include/asm/setup.h |  2 ++
> > > > >    xen/arch/arm/setup.c             | 52
> > > > > ++++++++++++++++++++++++++++++++
> > > > >    3 files changed, 60 insertions(+), 7 deletions(-)
> > > > > 
> > > > > diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> > > > > index 6014c0f852..b31379b9ac 100644
> > > > > --- a/xen/arch/arm/bootfdt.c
> > > > > +++ b/xen/arch/arm/bootfdt.c
> > > > > @@ -91,6 +91,9 @@ static int __init device_tree_get_meminfo(const void
> > > > > *fdt, int node,
> > > > >        for ( i = 0; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
> > > > >        {
> > > > >            device_tree_get_reg(&cell, address_cells, size_cells,
> > > > > &start,
> > > > > &size);
> > > > > +        if ( mem == &bootinfo.reserved_mem &&
> > > > > +             check_reserved_regions_overlap(start, size) )
> > > > > +            return -EINVAL;
> > > > >            /* Some DT may describe empty bank, ignore them */
> > > > >            if ( !size )
> > > > >                continue;
> > > > > @@ -485,7 +488,9 @@ static int __init process_shm_node(const void
> > > > > *fdt,
> > > > > int node,
> > > > >                    return -EINVAL;
> > > > >                }
> > > > >    -            if ( (end <= mem->bank[i].start) || (paddr >=
> > > > > bank_end) )
> > > > > +            if ( check_reserved_regions_overlap(paddr, size) )
> > > > > +                return -EINVAL;
> > > > > +            else
> > > > >                {
> > > > >                    if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
> > > > >                        continue;
> > > > > @@ -496,12 +501,6 @@ static int __init process_shm_node(const void
> > > > > *fdt,
> > > > > int node,
> > > > >                        return -EINVAL;
> > > > >                    }
> > > > >                }
> > > > > -            else
> > > > > -            {
> > > > > -                printk("fdt: shared memory region overlap with an
> > > > > existing entry %#"PRIpaddr" - %#"PRIpaddr"\n",
> > > > > -                        mem->bank[i].start, bank_end);
> > > > > -                return -EINVAL;
> > > > > -            }
> > > > >            }
> > > > >        }
> > > > >    diff --git a/xen/arch/arm/include/asm/setup.h
> > > > > b/xen/arch/arm/include/asm/setup.h
> > > > > index fdbf68aadc..6a9f88ecbb 100644
> > > > > --- a/xen/arch/arm/include/asm/setup.h
> > > > > +++ b/xen/arch/arm/include/asm/setup.h
> > > > > @@ -143,6 +143,8 @@ void fw_unreserved_regions(paddr_t s, paddr_t e,
> > > > >    size_t boot_fdt_info(const void *fdt, paddr_t paddr);
> > > > >    const char *boot_fdt_cmdline(const void *fdt);
> > > > >    +int check_reserved_regions_overlap(paddr_t region_start, paddr_t
> > > > > region_size);
> > > > > +
> > > > >    struct bootmodule *add_boot_module(bootmodule_kind kind,
> > > > >                                       paddr_t start, paddr_t size,
> > > > > bool
> > > > > domU);
> > > > >    struct bootmodule *boot_module_find_by_kind(bootmodule_kind kind);
> > > > > diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> > > > > index 4395640019..94d232605e 100644
> > > > > --- a/xen/arch/arm/setup.c
> > > > > +++ b/xen/arch/arm/setup.c
> > > > > @@ -270,6 +270,42 @@ static void __init dt_unreserved_regions(paddr_t
> > > > > s,
> > > > > paddr_t e,
> > > > >        cb(s, e);
> > > > >    }
> > > > >    +static int __init overlap_check(void *bootinfo_type,
> > > > > +                                paddr_t region_start, paddr_t
> > > > > region_end)
> > > > > +{
> > > > > +    unsigned int i, num = 0;
> > > > > +    paddr_t bank_start = INVALID_PADDR, bank_end = 0;
> > > > > +    char *type_str = "NONAME";
> > > > > +
> > > > > +    if ( bootinfo_type == &bootinfo.reserved_mem )
> > > > > +    {
> > > > > +        num = bootinfo.reserved_mem.nr_banks;
> > > > > +        type_str = "reserved_mem";
> > > > > +    }
> > > > > +    else
> > > > > +        panic("Invalid bootinfo type passed to overlap check\n");
> > > > > +
> > > > > +    for ( i = 0; i < num; i++ )
> > > > > +    {
> > > > > +        if ( bootinfo_type == &bootinfo.reserved_mem )
> > > > > +        {
> > > > > +            bank_start = bootinfo.reserved_mem.bank[i].start;
> > > > > +            bank_end = bank_start +
> > > > > bootinfo.reserved_mem.bank[i].size;
> > > > > +        }
> > > > > +
> > > > > +        if ( region_end <= bank_start || region_start >= bank_end )
> > > > > +            continue;
> > > > > +        else
> > > > > +        {
> > > > > +            printk("%s: Region %#"PRIpaddr" - %#"PRIpaddr"
> > > > > overlapping
> > > > > with bank[%u] %#"PRIpaddr" - %#"PRIpaddr"\n",
> > > > > +                   type_str, region_start, region_end, i, bank_start,
> > > > > bank_end);
> > > > > +            return -EINVAL;
> > > > > +        }
> > > > > +    }
> > > > > +
> > > > > +    return 0;
> > > > > +}
> > > > 
> > > > As much as I dislike MACROs in general I think this function should be
> > > > written as a MACRO so that we can write it once for all use cases. The
> > > > below in not compiled and not tested, just for explanation purposes.
> > > > Look how much simpler the code becomes.
> > > 
> > > I agree the duplication is not nice. But it is not clear to me why a
> > > static
> > > inline function cannot be used.
> > 
> > You mean a macro generating static inline functions?
> > 
> > It cannot be a single static inline function because the bootinfo
> > arguments are of three different types, it just happens that all three
> > have a "start" and "size" struct member so it works great with a macro,
> > but doesn't for a function.
> 
> It is not clear to me what are the three types you are referring to. Looking
> at the definition of bootinfo is:
> 
> struct bootinfo {
>     struct meminfo mem;
>     /* The reserved regions are only used when booting using Device-Tree */
>     struct meminfo reserved_mem;
>     struct bootmodules modules;
>     struct bootcmdlines cmdlines;
> #ifdef CONFIG_ACPI
>     struct meminfo acpi;
> #endif
>     bool static_heap;
> };
> 
> cmdlines is something uninteresting here. So we have two types:
>   - bootmodules for modules
>   - meminfo used by reserved_mem, mem and acpi
> 
> Looking in details the code, now I understand why you suggested the macro.
> This is far better than the checking what the array type (not very scalable).

Thank you :-)


> Personally, I think trying to share the code between the two types is a bit
> odd. The logic is the same today, but I envision to merge reserved_mem, mem
> and acpi in a single array (it would look like the E820) as this would make
> easier to find the caching attributes per regions when mapping the RAM. So
> sharing the code would not be possible.
> 
> That said, if you really want to share the code between the two types. Then I
> would prefer one of the following option:
>    1) Provide a callback that is used to fetch the information from the array
>    2) Provide a common structure that could be used by the function.
> 
> This would match other generic function like sort & co.

I think option 2) would be the best but I couldn't think of a simple way
to do it (without using a union and I thought a union would not make
things nicer in this case).

Rather than option 1), I think I would rather have 2 different functions
to check struct bootmodules and struct meminfo, or the macro.


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 00:38:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 00:38:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456730.714529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p34vK-0005jH-TR; Thu, 08 Dec 2022 00:38:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456730.714529; Thu, 08 Dec 2022 00:38:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p34vK-0005jA-QU; Thu, 08 Dec 2022 00:38:02 +0000
Received: by outflank-mailman (input) for mailman id 456730;
 Thu, 08 Dec 2022 00:38:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p34vJ-0005iz-0D; Thu, 08 Dec 2022 00:38:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p34vI-0000cR-Ui; Thu, 08 Dec 2022 00:38:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p34vI-0007qq-JV; Thu, 08 Dec 2022 00:38:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p34vI-0005p8-Fk; Thu, 08 Dec 2022 00:38:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nlspppGqi3U/jjIfAkaioOGnKJebBVTNUfiT6iRj8u8=; b=sLOuj9KyoN4OOic8FtBkZDHe6S
	+ll9LayWqasm4MUl7ESIORCH7OY1SliC/Isghz7t22goXJKlrLWT2w3FRaTHGL5+TBM39QnPppCfn
	yTk1FznqY1umOfcS2lW6HX7IIAG0/TEKFaGDBFotfhoBBUQU8cS98wWGLLELQ+V4Et3s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175082-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175082: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=af50d9be4358f26c459459eeaa3f6a1a66821738
X-Osstest-Versions-That:
    xen=11b4ff64841efd9724e5c1fce81ec2b5484b8d57
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 08 Dec 2022 00:38:00 +0000

flight 175082 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175082/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  af50d9be4358f26c459459eeaa3f6a1a66821738
baseline version:
 xen                  11b4ff64841efd9724e5c1fce81ec2b5484b8d57

Last test of basis   175075  2022-12-07 17:03:16 Z    0 days
Testing same since   175082  2022-12-07 22:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Henry Wang <Henry.Wang@arm.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   11b4ff6484..af50d9be43  af50d9be4358f26c459459eeaa3f6a1a66821738 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 00:40:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 00:40:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456738.714540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p34xn-0007Lb-AH; Thu, 08 Dec 2022 00:40:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456738.714540; Thu, 08 Dec 2022 00:40:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p34xn-0007LU-7T; Thu, 08 Dec 2022 00:40:35 +0000
Received: by outflank-mailman (input) for mailman id 456738;
 Thu, 08 Dec 2022 00:40:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rOXo=4G=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p34xl-0007LL-G5
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 00:40:33 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e95d9cbe-7690-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 01:40:30 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 9CB7E61D04;
 Thu,  8 Dec 2022 00:40:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A4EB3C433D6;
 Thu,  8 Dec 2022 00:40:25 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e95d9cbe-7690-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670460027;
	bh=LUBUac2XTjsFMtGz46gYRFXqwUvT2P46u//Gr1cWaxs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GfbQbD7Nu6+gUiprbrztcWZseEZwSQVzLuPGTC/3bUKvwPZgj1lI7nNImJ0I/r4Lz
	 nGEBQYI8TC/WEboXvPtjiU/hDcZAnHjqHl6RGDvJKBGIGTEuDSsaPULwvlj/RoQ9xf
	 4GTX5LsM9gCFK/8/PhL6Msv1YHHq7+QzmitRGV6dCiP+79+2KSaW1hfHko7BlBAYPa
	 04HQGjTTZIJkx7nZP6FUSd2N0dxzuQe5yFL4VCTrS+n6U9kJwhNUXMLmhG77qT+GIM
	 ZjxPhrfQiZvgjah4d/9miSbUi4YH+fnCem1lenvoKUBj2iml3ejDOXE7tGmQIGHRSm
	 RgvJRzW9soVAw==
Date: Wed, 7 Dec 2022 16:40:24 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <luca.fancellu@arm.com>
cc: xen-devel@lists.xenproject.org, bertrand.marquis@arm.com, wei.chen@arm.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH v3 1/5] xen/scripts: add xen-analysis.py for coverity
 and eclair analysis
In-Reply-To: <20221207130704.20573-2-luca.fancellu@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212071609160.2730675@ubuntu-linux-20-04-desktop>
References: <20221207130704.20573-1-luca.fancellu@arm.com> <20221207130704.20573-2-luca.fancellu@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 7 Dec 2022, Luca Fancellu wrote:
> Add new script for coverity/eclair analysis tool that will enable
> the procedure to suppress findings when these tool are used.
> The procedure is documented in docs/misra/documenting-violations.rst
> and the script is documented in docs/misra/xen-static-analysis.rst.
> 
> Add in docs/misra/ the files safe.json and
> false-positive-{coverity,eclair}.json that are JSON files containing
> the data structures for the justifications, they are used by the
> analysis script to link the Xen tags to the proprietary tool comment.
> 
> Add docs/misra/documenting-violations.rst to explain how to add
> justifications.
> 
> Add docs/misra/xen-static-analysis.rst to explain how to use the
> script to analyse Xen.
> 
> Add analysis artifacts files to .gitignore.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> v3 changes:
>  - improved help content in the script (Stefano)
>  - used utils.invoke_command from this patch (Stefano)
> v2 changes:
>  - no change
> ---
> ---
>  .gitignore                                   |   1 +
>  docs/misra/documenting-violations.rst        | 191 +++++++++++++++++++
>  docs/misra/false-positive-coverity.json      |  12 ++
>  docs/misra/false-positive-eclair.json        |  12 ++
>  docs/misra/safe.json                         |  11 ++
>  docs/misra/xen-static-analysis.rst           |  54 ++++++
>  xen/scripts/xen-analysis.py                  |  31 +++
>  xen/scripts/xen_analysis/__init__.py         |   0
>  xen/scripts/xen_analysis/generic_analysis.py |  87 +++++++++
>  xen/scripts/xen_analysis/settings.py         | 111 +++++++++++
>  xen/scripts/xen_analysis/tag_database.py     | 109 +++++++++++
>  xen/scripts/xen_analysis/utils.py            |  56 ++++++
>  12 files changed, 675 insertions(+)
>  create mode 100644 docs/misra/documenting-violations.rst
>  create mode 100644 docs/misra/false-positive-coverity.json
>  create mode 100644 docs/misra/false-positive-eclair.json
>  create mode 100644 docs/misra/safe.json
>  create mode 100644 docs/misra/xen-static-analysis.rst
>  create mode 100755 xen/scripts/xen-analysis.py
>  create mode 100644 xen/scripts/xen_analysis/__init__.py
>  create mode 100644 xen/scripts/xen_analysis/generic_analysis.py
>  create mode 100644 xen/scripts/xen_analysis/settings.py
>  create mode 100644 xen/scripts/xen_analysis/tag_database.py
>  create mode 100644 xen/scripts/xen_analysis/utils.py
> 
> diff --git a/.gitignore b/.gitignore
> index ea3243af9dde..f5a66f6194dd 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -10,6 +10,7 @@
>  *.c.cppcheck
>  *.opic
>  *.a
> +*.safparse
>  *.so
>  *.so.[0-9]*
>  *.bin
> diff --git a/docs/misra/documenting-violations.rst b/docs/misra/documenting-violations.rst
> new file mode 100644
> index 000000000000..1d23447556d2
> --- /dev/null
> +++ b/docs/misra/documenting-violations.rst
> @@ -0,0 +1,191 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +Documenting violations
> +======================
> +
> +Static analysers are used on the Xen codebase for both static analysis and MISRA
> +compliance.
> +There might be the need to suppress some findings instead of fixing them and
> +many tools permit the usage of in-code comments that suppress findings so that
> +they are not shown in the final report.
> +
> +Xen includes a tool capable of translating a specific comment used in its
> +codebase to the right proprietary in-code comment understandable by the selected
> +analyser that suppress its finding.
> +
> +In the Xen codebase, these tags will be used to document and suppress findings:
> +
> + - SAF-X-safe: This tag means that the next line of code contains a finding, but
> +   the non compliance to the checker is analysed and demonstrated to be safe.
> + - SAF-X-false-positive-<tool>: This tag means that the next line of code
> +   contains a finding, but the finding is a bug of the tool.
> +
> +SAF stands for Static Analyser Finding, the X is a placeholder for a positive
> +number that starts from zero, the number after SAF- shall be incremental and
> +unique, base ten notation and without leading zeros.
> +
> +Entries in the database shall never be removed, even if they are not used
> +anymore in the code (if a patch is removing or modifying the faulty line).
> +This is to make sure that numbers are not reused which could lead to conflicts
> +with old branches or misleading justifications.
> +
> +An entry can be reused in multiple places in the code to suppress a finding if
> +and only if the justification holds for the same non-compliance to the coding
> +standard.
> +
> +An orphan entry, that is an entry who was justifying a finding in the code, but
> +later that code was removed and there is no other use of that entry in the code,
> +can be reused as long as the justification for the finding holds. This is done
> +to avoid the allocation of a new entry with exactly the same justification, that
> +would lead to waste of space and maintenance issues of the database.
> +
> +The files where to store all the justifications are in xen/docs/misra/ and are
> +named as safe.json and false-positive-<tool>.json, they have JSON format, each
> +one has a different justification schema which shares some fields.
> +
> +Here is an example to add a new justification in safe.json::
> +
> +|{
> +|    "version": "1.0",
> +|    "content": [
> +|        {
> +|            "id": "SAF-0-safe",
> +|            "analyser": {
> +|                "coverity": "misra_c_2012_rule_20_7_violation",
> +|                "eclair": "MC3R1.R20.7"
> +|            },
> +|            "name": "R20.7 C macro parameters not used as expression",
> +|            "text": "The macro parameters used in this [...]"
> +|        },
> +|        {
> +|            "id": "SAF-1-safe",
> +|            "analyser": {},
> +|            "name": "Sentinel",
> +|            "text": "Next ID to be used"
> +|        }
> +|    ]
> +|}
> +
> +To document a finding in safe.json, just add another block {[...]} before the
> +sentinel block, using the id contained in the sentinel block and increment by
> +one the number contained in the id of the sentinel block.
> +
> +Here is an explanation of the fields inside an object of the "content" array:
> + - id: it is a unique string that is used to refer to the finding, many finding
> +   can be tagged with the same id, if the justification holds for any applied
> +   case.
> +   It tells the tool to substitute a Xen in-code comment having this structure:
> +   /* SAF-0-safe [...] \*/
> + - analyser: it is an object containing pair of key-value strings, the key is
> +   the analyser, so it can be coverity or eclair, the value is the proprietary
> +   id corresponding on the finding, for example when coverity is used as
> +   analyser, the tool will translate the Xen in-code coment in this way:
> +   /* SAF-0-safe [...] \*/ -> /* coverity[misra_c_2012_rule_20_7_violation] \*/
> +   if the object doesn't have a key-value, then the corresponding in-code
> +   comment won't be translated.
> + - name: a simple name for the finding
> + - text: a proper justification to turn off the finding.
> +
> +
> +Here is an example to add a new justification in false-positive-<tool>.json::
> +
> +|{
> +|    "version": "1.0",
> +|    "content": [
> +|        {
> +|            "id": "SAF-0-false-positive-<tool>",
> +|            "violation-id": "<proprietary-id>",
> +|            "tool-version": "<version>",
> +|            "name": "R20.7 [...]",
> +|            "text": "[...]"
> +|        },
> +|        {
> +|            "id": "SAF-1-false-positive-<tool>",
> +|            "violation-id": "",
> +|            "tool-version": "",
> +|            "name": "Sentinel",
> +|            "text": "Next ID to be used"
> +|        }
> +|    ]
> +|}
> +
> +To document a finding in false-positive-<tool>.json, just add another block
> +{[...]} before the sentinel block, using the id contained in the sentinel block
> +and increment by one the number contained in the id of the sentinel block.
> +
> +Here is an explanation of the fields inside an object of the "content" array:
> + - id: it has the same meaning as in the "safe" justification schema.
> +   It tells the tool to substitute a Xen in-code comment having this structure:
> +   /* SAF-0-false-positive-<tool> [...] \*/
> + - violation-id: its value is a string containing the proprietary id
> +   corresponding to the finding, for example when <tool> is coverity, the Xen
> +   tool will translate the Xen in-code coment in this way:
> +   /* SAF-0-false-positive-coverity [...] \*/ -> /* coverity[misra_c_2012_rule_20_7_violation] \*/
> +   if the object doesn't have a value, then the corresponding in-code comment
> +   won't be translated.
> + - tool-version: the version of the tool affected by the false positive, if it
> +   is discovered in more than one version, this string can be a range
> +   (eg. 2.7 - 3.0)
> + - name, text: they have the same meaning as in the "safe" justification schema.
> +
> +
> +Justification example
> +---------------------
> +
> +Here an example of the usage of the in-code comment tags to suppress a finding
> +for the Rule 8.6:
> +
> +Eclair reports it in its web report, file xen/include/xen/kernel.h, line 68:
> +
> +| MC3R1.R8.6 for program 'xen/xen-syms', variable '_start' has no definition
> +
> +Also coverity reports it, here is an extract of the finding:
> +
> +| xen/include/xen/kernel.h:68:
> +| 1. misra_c_2012_rule_8_6_violation: Function "_start" is declared but never
> + defined.
> +
> +The analysers are complaining because we have this in xen/include/xen/kernel.h
> +at line 68::
> +
> +| extern char _start[], _end[], start[];
> +
> +Those are symbols exported by the linker, hence we will need to have a proper
> +deviation for this finding.
> +
> +We will prepare our entry in the safe.json database::
> +
> +|{
> +|    "version": "1.0",
> +|    "content": [
> +|        {
> +|        [...]
> +|        },
> +|        {
> +|            "id": "SAF-1-safe",
> +|            "analyser": {
> +|                "eclair": "MC3R1.R8.6",
> +|                "coverity": "misra_c_2012_rule_8_6_violation"
> +|            },
> +|            "name": "Rule 8.6: linker script defined symbols",
> +|            "text": "It is safe to declare this symbol because it is defined in the linker script."
> +|        },
> +|        {
> +|            "id": "SAF-2-safe",
> +|            "analyser": {},
> +|            "name": "Sentinel",
> +|            "text": "Next ID to be used"
> +|        }
> +|    ]
> +|}
> +
> +And we will use the proper tag above the violation line::
> +
> +| /* SAF-1-safe R8.6 linker defined symbols */
> +| extern char _start[], _end[], start[];
> +
> +This entry will fix also the violation on _end and start, because they are on
> +the same line and the same "violation ID".
> +
> +Also, the same tag can be used on other symbols from the linker that are
> +declared in the codebase, because the justification holds for them too.
> diff --git a/docs/misra/false-positive-coverity.json b/docs/misra/false-positive-coverity.json
> new file mode 100644
> index 000000000000..462448414f80
> --- /dev/null
> +++ b/docs/misra/false-positive-coverity.json
> @@ -0,0 +1,12 @@
> +{
> +    "version": "1.0",
> +    "content": [
> +        {
> +            "id": "SAF-0-false-positive-coverity",
> +            "violation-id": "",
> +            "tool-version": "",
> +            "name": "Sentinel",
> +            "text": "Next ID to be used"
> +        }
> +    ]
> +}
> diff --git a/docs/misra/false-positive-eclair.json b/docs/misra/false-positive-eclair.json
> new file mode 100644
> index 000000000000..1d6ea5d7f045
> --- /dev/null
> +++ b/docs/misra/false-positive-eclair.json
> @@ -0,0 +1,12 @@
> +{
> +    "version": "1.0",
> +    "content": [
> +        {
> +            "id": "SAF-0-false-positive-eclair",
> +            "violation-id": "",
> +            "tool-version": "",
> +            "name": "Sentinel",
> +            "text": "Next ID to be used"
> +        }
> +    ]
> +}
> diff --git a/docs/misra/safe.json b/docs/misra/safe.json
> new file mode 100644
> index 000000000000..e079d3038120
> --- /dev/null
> +++ b/docs/misra/safe.json
> @@ -0,0 +1,11 @@
> +{
> +    "version": "1.0",
> +    "content": [
> +        {
> +            "id": "SAF-0-safe",
> +            "analyser": {},
> +            "name": "Sentinel",
> +            "text": "Next ID to be used"
> +        }
> +    ]
> +}
> diff --git a/docs/misra/xen-static-analysis.rst b/docs/misra/xen-static-analysis.rst
> new file mode 100644
> index 000000000000..5b886474d4a0
> --- /dev/null
> +++ b/docs/misra/xen-static-analysis.rst
> @@ -0,0 +1,54 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +Xen static analysis
> +===================
> +
> +The Xen codebase integrates some scripts and tools that helps the developer to
> +perform static analysis of the code, currently Xen supports three analysis tool
> +that are eclair, coverity and cppcheck.
> +The Xen tree has a script (xen-analysis.py) available to ease the analysis
> +process and it integrates a way to suppress findings on these tools (only Eclair
> +and Coverity are currently supported by the script), please check the
> +documenting-violation.rst document to know more about it.
> +
> +Analyse Xen with Coverity or Eclair
> +-----------------------------------
> +
> +The xen-analysis.py script has two arguments to select which tool is used for
> +the analysis:
> +
> + - xen-analysis.py --run-coverity -- [optional make arguments]
> + - xen-analysis.py --run-eclair -- [optional make arguments]
> +
> +For example when using Coverity to analyse a Xen build obtained by passing these
> +arguments to the make system: XEN_TARGET_ARCH=arm64
> +CROSS_COMPILE=aarch64-linux-gnu-, the optional make arguments passed to
> +xen-analysis.py must be the same and the command below should be passed to
> +Coverity in its build phase:
> +
> + - xen-analysis.py --run-coverity -- XEN_TARGET_ARCH=arm64
> +   CROSS_COMPILE=aarch64-linux-gnu-
> +
> +Which tells to the script to prepare the codebase for an analysis by Coverity
> +and forwards the make arguments to the make build invocation.
> +
> +When invoking the script, the procedure below will be followed:
> +
> + 1. Find which files among \*.c and \*.h has any in-code comment as
> +    /* SAF-X-[...] \*/, the meaning of these comments is explained in
> +    documenting-violation.rst.
> +    Save the files obtained as <file>.safparse and generate <file> files where
> +    the special in-code comments above are substituted with the proprietary
> +    in-code comment used by the selected analysis tool. The safe.json and
> +    false-positive-<tool>.json text file database are used to link each Xen tag
> +    to the right proprietary in-code comment.
> + 2. Now Xen compilation starts using every <additional make parameters> supplied
> +    at the script invocation. Coverity and Eclair are capable of intercepting
> +    the compiler running from make to perform their analysis without
> +    instrumenting the makefile.
> + 3. As final step every <file>.safparse file are reverted back as <file> and
> +    every artifact related to the analysis will be cleaned.
> +    This step is performed even in case any of the previous step fail, to skip
> +    this step, call the script adding the --no-clean argument, but before
> +    running again the script, call it with the --clean-only argument, that will
> +    execute only this cleaning step.
> diff --git a/xen/scripts/xen-analysis.py b/xen/scripts/xen-analysis.py
> new file mode 100755
> index 000000000000..b5d9ef1862c9
> --- /dev/null
> +++ b/xen/scripts/xen-analysis.py
> @@ -0,0 +1,31 @@
> +#!/usr/bin/env python3
> +
> +import sys
> +from xen_analysis import settings, generic_analysis
> +from xen_analysis.generic_analysis import *
> +
> +
> +def main(argv):
> +    ret_code = 0
> +    settings.parse_commandline(argv)
> +    try:
> +        if settings.step_parse_tags:
> +            generic_analysis.parse_xen_tags()
> +        if settings.step_build_xen:
> +            generic_analysis.build_xen()
> +    except (ParseTagPhaseError, BuildPhaseError) as e:
> +        print("ERROR: {}".format(e))
> +        if hasattr(e, "errorcode"):
> +            ret_code = e.errorcode
> +    finally:
> +        if settings.step_clean_analysis:
> +            e = generic_analysis.clean_analysis_artifacts()
> +            if e:
> +                print("ERROR: {}".format(e))
> +                ret_code = 1
> +
> +    sys.exit(ret_code)
> +
> +
> +if __name__ == "__main__":
> +    main(sys.argv[1:])
> diff --git a/xen/scripts/xen_analysis/__init__.py b/xen/scripts/xen_analysis/__init__.py
> new file mode 100644
> index 000000000000..e69de29bb2d1
> diff --git a/xen/scripts/xen_analysis/generic_analysis.py b/xen/scripts/xen_analysis/generic_analysis.py
> new file mode 100644
> index 000000000000..372ff3566442
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/generic_analysis.py
> @@ -0,0 +1,87 @@
> +#!/usr/bin/env python3
> +
> +import os, subprocess
> +from . import settings, utils, tag_database
> +
> +class ParseTagPhaseError(Exception):
> +    pass
> +
> +class BuildPhaseError(Exception):
> +    pass
> +
> +class CleanPhaseError(Exception):
> +    pass
> +
> +
> +def parse_xen_tags():
> +    # Load the database for the Xen tags
> +    subs_list = tag_database.load_tag_database(
> +        settings.analysis_tool,
> +        [settings.repo_dir + "/docs/misra/safe.json"]
> +    )
> +    subs_list = tag_database.load_tag_database(
> +        settings.analysis_tool,
> +        [settings.repo_dir + "/docs/misra/false-positive-{}.json"
> +                                .format(settings.analysis_tool)],
> +        subs_list,
> +        "false-positive"
> +    )
> +
> +    # Create outdir if it doesn't exists
> +    os.makedirs(settings.outdir, exist_ok=True)
> +
> +    # The following lambda function will return a file if it contains lines with
> +    # a comment containing "SAF-<number>-{safe|false-positive-<tool>}" on a
> +    # single line.
> +    grep_action = lambda x: utils.grep(x,
> +                                    tag_database.get_xen_tag_comment_regex(
> +                                                        settings.analysis_tool)
> +    )
> +    # Look for a list of .h/.c files that matches the condition above
> +    parse_file_list = utils.recursive_find_file(settings.xen_dir, r'.*\.[ch]$',
> +                                                grep_action)
> +
> +    for entry in parse_file_list:
> +        file = entry["file"]
> +        bkp_file = file + ".safparse"
> +        if os.path.isfile(bkp_file):
> +            raise ParseTagPhaseError(
> +                "Found {}, please check the integrity of {}"
> +                    .format(bkp_file,file)
> +                )
> +        os.rename(file, bkp_file)
> +        time_bkp_file = os.stat(bkp_file)
> +        # Create <file> from <file>.safparse but with the Xen tag parsed
> +        tag_database.substitute_tags(settings.analysis_tool, bkp_file, entry,
> +                                     subs_list)
> +        # Set timestamp for file equal to bkp_file, so that if the file is
> +        # modified during the process by the user, we can catch it
> +        os.utime(file, (time_bkp_file.st_atime, time_bkp_file.st_mtime))
> +
> +
> +def build_xen():
> +    utils.invoke_command(
> +            "make -C {} {} build"
> +                .format(settings.xen_dir, settings.make_forward_args),
> +            False, BuildPhaseError,
> +            "Build error occured when running:\n{}"
> +        )
> +
> +
> +def clean_analysis_artifacts():
> +    safparse_files = utils.recursive_find_file(settings.xen_dir,
> +                                               r'.*.safparse$')
> +    for original_file in safparse_files:
> +        # This commands strips the .safparse extension, leaving <file>
> +        parsed_file_path = os.path.splitext(original_file)[0]
> +        mtime_original_file = os.stat(original_file).st_mtime
> +        mtime_parsed_file = os.stat(parsed_file_path).st_mtime
> +        if mtime_original_file != mtime_parsed_file:
> +            return CleanPhaseError(
> +                    "The file {} was modified during the analysis "
> +                    "procedure, it is impossible now to restore from the "
> +                    "content of {}, please handle it manually"
> +                    .format(parsed_file_path, original_file)
> +                )
> +        # Replace <file>.safparse to <file>
> +        os.replace(original_file, parsed_file_path)
> diff --git a/xen/scripts/xen_analysis/settings.py b/xen/scripts/xen_analysis/settings.py
> new file mode 100644
> index 000000000000..e8d474eaf378
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/settings.py
> @@ -0,0 +1,111 @@
> +#!/usr/bin/env python3
> +
> +import sys, re, os
> +
> +module_dir = os.path.dirname(os.path.realpath(__file__))
> +xen_dir = os.path.realpath(module_dir + "/../..")
> +repo_dir = os.path.realpath(xen_dir + "/..")
> +tools_dir = os.path.realpath(xen_dir + "/tools")
> +
> +step_parse_tags = True
> +step_build_xen = True
> +step_clean_analysis = True
> +
> +target_build = False
> +target_clean = False
> +
> +analysis_tool = ""
> +make_forward_args = ""
> +outdir = xen_dir
> +
> +
> +def help():
> +    msg="""
> +Usage: {} [OPTION] ... [-- [make arguments]]
> +
> +This script runs the analysis on the Xen codebase.
> +
> +The phases for the analysis are <tags>, <build>, <clean>
> +
> +Depending on the options below, only some phases will run:
> +
> +<no options>: tags, build, clean
> +--build-only: build
> +--clean-only: clean
> +--no-build:   tags, clean
> +--no-clean:   tags, build
> +
> +--no-build/--no-clean can be passed together to avoid both clean and build
> +phases.
> +Tags and build phases need to specify --run-coverity or --run-eclair.
> +
> +Options:
> +  --build-only    Run only the commands to build Xen with the optional make
> +                  arguments passed to the script
> +  --clean-only    Run only the commands to clean the analysis artifacts
> +  -h, --help      Print this help
> +  --no-build      Skip the build Xen phase
> +  --no-clean      Don\'t clean the analysis artifacts on exit
> +  --run-coverity  Run the analysis for the Coverity tool
> +  --run-eclair    Run the analysis for the Eclair tool
> +"""
> +    print(msg.format(sys.argv[0]))
> +
> +
> +def parse_commandline(argv):
> +    global analysis_tool
> +    global make_forward_args
> +    global outdir
> +    global step_parse_tags
> +    global step_build_xen
> +    global step_clean_analysis
> +    global target_build
> +    global target_clean
> +    forward_to_make = False
> +    for option in argv:
> +        if forward_to_make:
> +            # Intercept outdir
> +            outdir_regex = re.match("^O=(.*)$", option)
> +            if outdir_regex:
> +                outdir = outdir_regex.group(1)
> +            # Forward any make arguments
> +            make_forward_args = make_forward_args + " " + option
> +        elif option == "--build-only":
> +            target_build = True
> +        elif option == "--clean-only":
> +            target_clean = True
> +        elif (option == "--help") or (option == "-h"):
> +            help()
> +            sys.exit(0)
> +        elif option == "--no-build":
> +            step_build_xen = False
> +        elif option == "--no-clean":
> +            step_clean_analysis = False
> +        elif (option == "--run-coverity") or (option == "--run-eclair"):
> +            analysis_tool = option[6:]
> +        elif option == "--":
> +            forward_to_make = True
> +        else:
> +            print("Invalid option: {}".format(option))
> +            help()
> +            sys.exit(1)
> +
> +    if target_build and target_clean:
> +        print("--build-only is not compatible with --clean-only argument.")
> +        sys.exit(1)
> +
> +    if target_clean:
> +        step_parse_tags = False
> +        step_build_xen = False
> +        step_clean_analysis = True
> +        return
> +
> +    if analysis_tool == "":
> +        print("Please specify one analysis tool.")
> +        help()
> +        sys.exit(1)
> +
> +    if target_build:
> +        step_parse_tags = False
> +        step_build_xen = True
> +        step_clean_analysis = False
> diff --git a/xen/scripts/xen_analysis/tag_database.py b/xen/scripts/xen_analysis/tag_database.py
> new file mode 100644
> index 000000000000..ca374bbb62dd
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/tag_database.py
> @@ -0,0 +1,109 @@
> +#!/usr/bin/env python3
> +
> +import re, json
> +
> +class TagDatabaseError(Exception):
> +    pass
> +
> +# This is the dictionary for the rules that translates to proprietary comments:
> +#  - cppcheck: /* cppcheck-suppress[id] */
> +#  - coverity: /* coverity[id] */
> +#  - eclair:   /* -E> hide id 1 "" */
> +# Add entries to support more analyzers
> +tool_syntax = {
> +    "cppcheck":"cppcheck-suppress[VID]",
> +    "coverity":"coverity[VID]",
> +    "eclair":"-E> hide VID 1 \"\""
> +}
> +
> +
> +def get_xen_tag_index_type_regex(tool):
> +    return r'^SAF-(\d+)-(safe|false-positive-' + tool + ')$'
> +
> +
> +def get_xen_tag_comment_regex(tool):
> +    return r'^[ \t]*/\* +(SAF-\d+-(?:safe|false-positive-' + tool + ')).*\*/$'
> +
> +
> +# Returns a data structure containing dictionaries for safe and false-positive-*
> +# Xen tags, the key is the unique index of the tag and the content is the
> +# proprietary in-code comment to be used when the tag is found in the codebase
> +def load_tag_database(tool, input_files, data_struct = None, schema = "safe"):
> +    ret = data_struct if data_struct is not None else {
> +        "safe": {},
> +        "false-positive-" + tool: {}
> +    }
> +    database = []
> +
> +    # Open all input files
> +    for file in input_files:
> +        try:
> +            with open(file, "rt") as handle:
> +                content = json.load(handle)
> +                database = database + content['content']
> +        except json.JSONDecodeError as e:
> +            raise TagDatabaseError("JSON decoding error in file {}: {}"
> +                                    .format(file, e))
> +        except Exception as e:
> +            raise TagDatabaseError("Can't open file {}: {}"
> +                                    .format(file, e))
> +
> +    for entry in database:
> +        # If the false-positive schema is used, check the proprietary id in the
> +        # 'violation-id' field, otherwise rely on the "safe" schema.
> +        if schema == "false-positive":
> +            proprietary_id = entry['violation-id']
> +        elif tool in entry['analyser']:
> +            proprietary_id = entry['analyser'][tool]
> +        else:
> +            proprietary_id = ""
> +        if proprietary_id != "":
> +            comment=tool_syntax[tool].replace("VID",proprietary_id)
> +            # Regex to capture the index of the Xen tag and the schema
> +            xen_tag = re.compile(get_xen_tag_index_type_regex(tool))\
> +                            .match(entry["id"])
> +            if xen_tag and xen_tag.group(1) and xen_tag.group(2):
> +                # Save in safe or false-positive-* the key {#id: "comment"}
> +                id_number = int(xen_tag.group(1))
> +                key = xen_tag.group(2)
> +                ret[key][id_number] = "/* {} */\n".format(comment)
> +            else:
> +                raise TagDatabaseError(
> +                        "Error in database file, entry {} has unexpected "
> +                        "format.".format(entry["id"])
> +                    )
> +
> +    return ret
> +
> +
> +def substitute_tags(tool, input_file, grep_struct, subs_rules):
> +    try:
> +        with open(grep_struct["file"], "wt") as outfile:
> +
> +            try:
> +                with open(input_file, "rt") as infile:
> +                    parsed_content = infile.readlines()
> +            except Exception as e:
> +                raise TagDatabaseError("Issue with reading file {}: {}"
> +                                       .format(input_file, e))
> +
> +            # grep_struct contains the line number where the comments are, the
> +            # line number starts from 1 but in the array the first line is zero.
> +            # For every line where there is a Xen tag comment, get the Xen tag
> +            # that is in the capture group zero, extract from the Xen tag the
> +            # unique index and the type (safe, false-positive-*) and with those
> +            # information access the subs_rules dictionary to see if there is
> +            # a match
> +            for line_number in grep_struct["matches"]:
> +                xen_tag = grep_struct["matches"][line_number][0]
> +                xen_tag_regex_obj = re.compile(
> +                            get_xen_tag_index_type_regex(tool)).match(xen_tag)
> +                id_number = int(xen_tag_regex_obj.group(1))
> +                key = xen_tag_regex_obj.group(2)
> +                if id_number in subs_rules[key]:
> +                    parsed_content[line_number-1] = subs_rules[key][id_number]
> +
> +            outfile.writelines(parsed_content)
> +    except Exception as e:
> +        raise TagDatabaseError("Issue with writing file {}: {}"
> +                               .format(grep_struct["file"], e))
> diff --git a/xen/scripts/xen_analysis/utils.py b/xen/scripts/xen_analysis/utils.py
> new file mode 100644
> index 000000000000..1193e3f4631e
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/utils.py
> @@ -0,0 +1,56 @@
> +#!/usr/bin/env python3
> +
> +import os, re, subprocess
> +
> +
> +def grep(filepath, regex):
> +    regObj = re.compile(regex)
> +    res = { "file": filepath, "matches": {} }
> +    try:
> +        with open(filepath, "rt") as f:
> +            line_number = 1
> +            for line in f:
> +                match = regObj.match(line)
> +                if match:
> +                    res["matches"][line_number] = match.groups()
> +                line_number = line_number + 1
> +    except Exception as e:
> +        print("WARNING: Can't open {}: {}".format(filepath, e))
> +
> +    # Return filename and line matches if there are
> +    return res if res["matches"] else {}
> +
> +
> +def recursive_find_file(path, filename_regex, action = None):
> +    filename_reg_obj = re.compile(filename_regex)
> +    res = []
> +    for root, dirs, fnames in os.walk(path):
> +        for fname in fnames:
> +            if filename_reg_obj.match(fname):
> +                if action is None:
> +                    res.append(os.path.join(root, fname))
> +                else:
> +                    out = action(os.path.join(root, fname))
> +                    if out:
> +                        res.append(out)
> +
> +    return res
> +
> +
> +def invoke_command(command, needs_output, exeption_type = Exception,
> +                   exeption_msg = ""):
> +    try:
> +        pipe_stdout = subprocess.PIPE if (needs_output == True) else None
> +        output = subprocess.run(command, shell=True, check=True,
> +                                stdout=pipe_stdout, stderr=subprocess.STDOUT,
> +                                encoding='utf8')
> +    except (subprocess.CalledProcessError, subprocess.SubprocessError) as e:
> +        if needs_output == True:
> +            exeption_msg = exeption_msg.format(e.cmd, output.stdout)
> +        else:
> +            exeption_msg = exeption_msg.format(e.cmd)
> +        excp = exeption_type(exeption_msg)
> +        excp.errorcode = e.returncode if hasattr(e, 'returncode') else 1
> +        raise excp
> +
> +    return output.stdout
> -- 
> 2.17.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 00:40:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 00:40:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456741.714551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p34y5-0007kV-ML; Thu, 08 Dec 2022 00:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456741.714551; Thu, 08 Dec 2022 00:40:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p34y5-0007kO-JR; Thu, 08 Dec 2022 00:40:53 +0000
Received: by outflank-mailman (input) for mailman id 456741;
 Thu, 08 Dec 2022 00:40:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rOXo=4G=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p34y4-0007dG-MI
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 00:40:53 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4d8aadf-7690-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 01:40:48 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id 869F3CE2022;
 Thu,  8 Dec 2022 00:40:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 61AADC433C1;
 Thu,  8 Dec 2022 00:40:42 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4d8aadf-7690-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670460043;
	bh=3T46G2kiLezNCa0L2vuhUlYTD6jO0ExW9ipHY6xdArM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GOyngPPJfPbawjXBCOFRD2QHWDFxWuWNHnF54yTGazASNeGnwxnYYwzUiivuKxjok
	 70wnYfdCkNSxp4wKWtFiH8e6YzXD8RD6bHNlBDcC1K8o2jTuZez6lTUHtws2X9OSyY
	 qDL5y58jOqwDPTqaWz9NKZ/fUtm6yCQUeiayAeKEdB8dggnPC+xvx7BjpTIi3nn33O
	 zbPlpT8LmfLnbmHD03gfzsqjdw/tajR/3uzUxtaji/8E1XRr/pLhrc3m1KzlCBbaSs
	 EfyIGTSvDeUIfSVKtd0J55o8+/OmelJAIcPkS/+0dBr3hY+XSS861huYjFijRxqGpc
	 hxoid6BpPVEIA==
Date: Wed, 7 Dec 2022 16:40:41 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <luca.fancellu@arm.com>
cc: xen-devel@lists.xenproject.org, bertrand.marquis@arm.com, wei.chen@arm.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH v3 2/5] xen/scripts: add cppcheck tool to the xen-analysis.py
 script
In-Reply-To: <20221207130704.20573-3-luca.fancellu@arm.com>
Message-ID: <alpine.DEB.2.22.394.2212071612180.2730675@ubuntu-linux-20-04-desktop>
References: <20221207130704.20573-1-luca.fancellu@arm.com> <20221207130704.20573-3-luca.fancellu@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1430552776-1670458346=:2730675"
Content-ID: <alpine.DEB.2.22.394.2212071640290.2730675@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1430552776-1670458346=:2730675
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2212071640291.2730675@ubuntu-linux-20-04-desktop>

On Wed, 7 Dec 2022, Luca Fancellu wrote:
> Add Cppcheck analysis to the xen-analysis.py script using the
> arguments --run-cppcheck.
> 
> Now cppcheck analysis will build Xen while the analysis is performed
> on the source files, it will produce a text report and an additional
> html output when the script is called with --cppcheck-html.
> 
> With this patch cppcheck will benefit of platform configuration files
> that will help it to understand the target of the compilation and
> improve the analysis. These are XML files placed in
> xen/tools/cppcheck-plat/, describing to cppcheck the length of basic
> types to help it in the analysis.
> 
> To do so:
>  - Update xen-analysis.py with the code to integrate cppcheck.
>  - add platform configuration files for cppcheck..
>  - add cppcheck-cc.sh script that is a wrapper for cppcheck and it's
>    used as Xen compiler, it will intercept all flags given from the
>    make build system and it will execute cppcheck on the compiled
>    file together with the file compilation.
>  - guarded hypercall-defs.c with CPPCHECK define because cppcheck
>    gets confused as the file does not contain c code.
>  - add false-positive-cppcheck.json file
>  - update documentation.
>  - update .gitignore
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

and Tested-by on the whole series

> ---
> v3 changes:
>  - used right argument on echo command in cppcheck-cc.sh (Stefano)
>  - improved help in the script, now --build-only will generate
>    also cppcheck report when cppcheck is called (Stefano)
>  - add a comment in documenting-violation.rst to show how to locate
>    the proprietary violation id of cppcheck in its reports (Stefano)
> v2 changes:
>  - changes to commit message (Jan)
>  - changes to the cppcheck-cc.sh script and on
>    platform XML files, fixed version handling
>    in cppcheck_analysis.py (Stefano)
>  - Move revert of Makefile and xen/tools/merge_cppcheck_reports.py
>    to the following patch, modified .gitignore to handle the
>    presence of both Makefile invoked cppcheck and this new method
>    (Stefano)
> ---
> ---
>  .gitignore                                    |   6 +
>  docs/misra/cppcheck.txt                       |  27 +-
>  docs/misra/documenting-violations.rst         |  27 +-
>  docs/misra/false-positive-cppcheck.json       |  12 +
>  docs/misra/xen-static-analysis.rst            |  42 ++-
>  xen/include/hypercall-defs.c                  |   9 +
>  xen/scripts/xen-analysis.py                   |  18 +-
>  xen/scripts/xen_analysis/cppcheck_analysis.py | 273 ++++++++++++++++++
>  .../xen_analysis/cppcheck_report_utils.py     | 130 +++++++++
>  xen/scripts/xen_analysis/generic_analysis.py  |   9 +-
>  xen/scripts/xen_analysis/settings.py          |  88 +++++-
>  xen/tools/cppcheck-cc.sh                      | 223 ++++++++++++++
>  xen/tools/cppcheck-plat/arm32-wchar_t4.xml    |  17 ++
>  xen/tools/cppcheck-plat/arm64-wchar_t2.xml    |  17 ++
>  xen/tools/cppcheck-plat/x86_64-wchar_t2.xml   |  17 ++
>  15 files changed, 864 insertions(+), 51 deletions(-)
>  create mode 100644 docs/misra/false-positive-cppcheck.json
>  create mode 100644 xen/scripts/xen_analysis/cppcheck_analysis.py
>  create mode 100644 xen/scripts/xen_analysis/cppcheck_report_utils.py
>  create mode 100755 xen/tools/cppcheck-cc.sh
>  create mode 100644 xen/tools/cppcheck-plat/arm32-wchar_t4.xml
>  create mode 100644 xen/tools/cppcheck-plat/arm64-wchar_t2.xml
>  create mode 100644 xen/tools/cppcheck-plat/x86_64-wchar_t2.xml
> 
> diff --git a/.gitignore b/.gitignore
> index f5a66f6194dd..39efe2933a33 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -8,8 +8,11 @@
>  *.d
>  *.d2
>  *.c.cppcheck
> +*.cppcheck.txt
> +*.cppcheck.xml
>  *.opic
>  *.a
> +*.c.json
>  *.safparse
>  *.so
>  *.so.[0-9]*
> @@ -282,9 +285,11 @@ xen/arch/*/efi/efi.h
>  xen/arch/*/efi/pe.c
>  xen/arch/*/efi/runtime.c
>  xen/arch/*/include/asm/asm-offsets.h
> +xen/build-dir-cppcheck/
>  xen/common/config_data.S
>  xen/common/config.gz
>  xen/cppcheck-htmlreport/
> +xen/cppcheck-report/
>  xen/cppcheck-misra.*
>  xen/include/headers*.chk
>  xen/include/compat/*
> @@ -315,6 +320,7 @@ xen/xsm/flask/xenpolicy-*
>  tools/flask/policy/policy.conf
>  tools/flask/policy/xenpolicy-*
>  xen/xen
> +xen/suppression-list.txt
>  xen/xen-cppcheck.xml
>  xen/xen-syms
>  xen/xen-syms.map
> diff --git a/docs/misra/cppcheck.txt b/docs/misra/cppcheck.txt
> index 25d8c3050b72..f7b9f678b4d5 100644
> --- a/docs/misra/cppcheck.txt
> +++ b/docs/misra/cppcheck.txt
> @@ -3,8 +3,7 @@ Cppcheck for Xen static and MISRA analysis
>  
>  Xen can be analysed for both static analysis problems and MISRA violation using
>  cppcheck, the open source tool allows the creation of a report with all the
> -findings. Xen has introduced the support in the Makefile so it's very easy to
> -use and in this document we can see how.
> +findings.
>  
>  The minimum version required for cppcheck is 2.7. Note that at the time of
>  writing (June 2022), the version 2.8 is known to be broken [1].
> @@ -38,27 +37,7 @@ Dependencies are listed in the readme.md of the project repository.
>  Use cppcheck to analyse Xen
>  ===========================
>  
> -Using cppcheck integration is very simple, it requires few steps:
> -
> - 1) Compile Xen
> - 2) call the cppcheck make target to generate a report in xml format:
> -    make CPPCHECK_MISRA=y cppcheck
> - 3) call the cppcheck-html make target to generate a report in xml and html
> -    format:
> -    make CPPCHECK_MISRA=y cppcheck-html
> -
> -    In case the cppcheck binaries are not in the PATH, CPPCHECK and
> -    CPPCHECK_HTMLREPORT variables can be overridden with the full path to the
> -    binaries:
> -
> -    make -C xen \
> -        CPPCHECK=/path/to/cppcheck \
> -        CPPCHECK_HTMLREPORT=/path/to/cppcheck-htmlreport \
> -        CPPCHECK_MISRA=y \
> -        cppcheck-html
> -
> -The output is by default in a folder named cppcheck-htmlreport, but the name
> -can be changed by passing it in the CPPCHECK_HTMLREPORT_OUTDIR variable.
> -
> +To analyse Xen using cppcheck, please refer to the document
> +xen-static-analysis.rst, section "Analyse Xen with Cppcheck".
>  
>  [1] https://sourceforge.net/p/cppcheck/discussion/general/thread/bfc3ab6c41/?limit=25
> diff --git a/docs/misra/documenting-violations.rst b/docs/misra/documenting-violations.rst
> index 1d23447556d2..0d02a8e6f905 100644
> --- a/docs/misra/documenting-violations.rst
> +++ b/docs/misra/documenting-violations.rst
> @@ -51,6 +51,7 @@ Here is an example to add a new justification in safe.json::
>  |        {
>  |            "id": "SAF-0-safe",
>  |            "analyser": {
> +|                "cppcheck": "misra-c2012-20.7",
>  |                "coverity": "misra_c_2012_rule_20_7_violation",
>  |                "eclair": "MC3R1.R20.7"
>  |            },
> @@ -77,9 +78,9 @@ Here is an explanation of the fields inside an object of the "content" array:
>     It tells the tool to substitute a Xen in-code comment having this structure:
>     /* SAF-0-safe [...] \*/
>   - analyser: it is an object containing pair of key-value strings, the key is
> -   the analyser, so it can be coverity or eclair, the value is the proprietary
> -   id corresponding on the finding, for example when coverity is used as
> -   analyser, the tool will translate the Xen in-code coment in this way:
> +   the analyser, so it can be cppcheck, coverity or eclair, the value is the
> +   proprietary id corresponding on the finding, for example when coverity is
> +   used as analyser, the tool will translate the Xen in-code coment in this way:
>     /* SAF-0-safe [...] \*/ -> /* coverity[misra_c_2012_rule_20_7_violation] \*/
>     if the object doesn't have a key-value, then the corresponding in-code
>     comment won't be translated.
> @@ -189,3 +190,23 @@ the same line and the same "violation ID".
>  
>  Also, the same tag can be used on other symbols from the linker that are
>  declared in the codebase, because the justification holds for them too.
> +
> +A possible violation found by Cppcheck can be handled in the same way, from the
> +cppcheck text report it is possible to identify the violation id:
> +
> +| include/public/arch-arm.h(226,0):misra-c2012-20.7:style:Expressions resulting from the expansion of macro parameters shall be enclosed in parentheses (Misra rule 20.7)
> +
> +The violation id can be located also in the HTML report, opening index.html from
> +the browser, the violations can be filtered by id in the left side panel, under
> +the column "Defect ID". On the right there will be a list of files with the type
> +of violation and the violation line number, for the same violation above, there
> +will be an entry like the following and the violation id will be in the column
> +"Id":
> +
> +| include/public/arch-arm.h
> +| [...]
> +| 226 misra-c2012-20.7  style Expressions resulting from the expansion of macro parameters shall be enclosed in parentheses (Misra rule 20.7)
> +| [...]
> +
> +Given the violation id "misra-c2012-20.7", the procedure above can be followed
> +to justify this finding.
> diff --git a/docs/misra/false-positive-cppcheck.json b/docs/misra/false-positive-cppcheck.json
> new file mode 100644
> index 000000000000..5d4da2ce6170
> --- /dev/null
> +++ b/docs/misra/false-positive-cppcheck.json
> @@ -0,0 +1,12 @@
> +{
> +    "version": "1.0",
> +    "content": [
> +        {
> +            "id": "SAF-0-false-positive-cppcheck",
> +            "violation-id": "",
> +            "tool-version": "",
> +            "name": "Sentinel",
> +            "text": "Next ID to be used"
> +        }
> +    ]
> +}
> diff --git a/docs/misra/xen-static-analysis.rst b/docs/misra/xen-static-analysis.rst
> index 5b886474d4a0..2712255db1b0 100644
> --- a/docs/misra/xen-static-analysis.rst
> +++ b/docs/misra/xen-static-analysis.rst
> @@ -7,9 +7,8 @@ The Xen codebase integrates some scripts and tools that helps the developer to
>  perform static analysis of the code, currently Xen supports three analysis tool
>  that are eclair, coverity and cppcheck.
>  The Xen tree has a script (xen-analysis.py) available to ease the analysis
> -process and it integrates a way to suppress findings on these tools (only Eclair
> -and Coverity are currently supported by the script), please check the
> -documenting-violation.rst document to know more about it.
> +process and it integrates a way to suppress findings on these tools, please
> +check the documenting-violation.rst document to know more about it.
>  
>  Analyse Xen with Coverity or Eclair
>  -----------------------------------
> @@ -52,3 +51,40 @@ When invoking the script, the procedure below will be followed:
>      this step, call the script adding the --no-clean argument, but before
>      running again the script, call it with the --clean-only argument, that will
>      execute only this cleaning step.
> +
> +
> +Analyse Xen with Cppcheck
> +-------------------------
> +
> +Cppcheck tool is integrated in xen-analysis.py script, when using the script,
> +the tool will be called on every source file compiled by the make build system.
> +Here how to start the analysis with Cppcheck:
> +
> + - xen-analysis.py --run-cppcheck [--cppcheck-misra] [--cppcheck-html] --
> +   [optional make arguments]
> +
> +The command above tells the script to prepare the codebase and use Cppcheck tool
> +for the analysis.
> +The optional argument --cppcheck-misra activates the analysis also for MISRA
> +compliance.
> +The optional argument --cppcheck-html instruct cppcheck to produce an additional
> +HTML report.
> +
> +When invoking the script for Cppcheck analysis, the followed procedure is
> +similar to the one above for Coverity or Eclair, but it has some additional
> +steps:
> +
> + 1. This step is the same as step 1 for Coverity/Eclair.
> + 2. The cppcheck dependency are created, build directory for cppcheck analysis
> +    and an header file containing internal compiler macro
> +    (include/generated/compiler-def.h) are generated
> + 3. Xen compilation starts using every <additional make parameters> supplied
> +    at the script invocation, but because cppcheck is not able to intercept the
> +    compiled files and flags on compiler invocation, a script (cppcheck-cc.sh)
> +    is passed as CC to the make system, it is a wrapper for the compiler that
> +    will also execute cppcheck on every compiled file.
> + 4. After the compilation and analysis, the cppcheck report will be created
> +    putting together all the cppcheck report fragments for every analysed file.
> +    Cppcheck will produce a text fragment and an additional XML report fragment
> +    if the script is configured to produce the HTML output.
> + 5. This step is the same as step 3 for Coverity/Eclair.
> diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
> index 189612107402..41e1af01f6b2 100644
> --- a/xen/include/hypercall-defs.c
> +++ b/xen/include/hypercall-defs.c
> @@ -60,6 +60,13 @@
>   * are possible.
>   */
>  
> +/*
> + * Cppcheck thinks this file needs to be analysed because it is preprocessed by
> + * the compiler, but it gets confused because this file does not contains C
> + * code. Hence protect the code when CPPCHECK is used.
> + */
> +#ifndef CPPCHECK
> +
>  #ifdef CONFIG_HVM
>  #define PREFIX_hvm hvm
>  #else
> @@ -288,3 +295,5 @@ mca                                do       do       -        -        -
>  #ifndef CONFIG_PV_SHIM_EXCLUSIVE
>  paging_domctl_cont                 do       do       do       do       -
>  #endif
> +
> +#endif /* !CPPCHECK */
> diff --git a/xen/scripts/xen-analysis.py b/xen/scripts/xen-analysis.py
> index b5d9ef1862c9..8e50c27cd898 100755
> --- a/xen/scripts/xen-analysis.py
> +++ b/xen/scripts/xen-analysis.py
> @@ -1,28 +1,42 @@
>  #!/usr/bin/env python3
>  
>  import sys
> -from xen_analysis import settings, generic_analysis
> +from xen_analysis import settings, generic_analysis, cppcheck_analysis
>  from xen_analysis.generic_analysis import *
> +from xen_analysis.cppcheck_analysis import *
> +
> +PhaseExceptions = (GetMakeVarsPhaseError, ParseTagPhaseError,
> +                   CppcheckDepsPhaseError, BuildPhaseError,
> +                   CppcheckReportPhaseError)
>  
>  
>  def main(argv):
>      ret_code = 0
>      settings.parse_commandline(argv)
>      try:
> +        if settings.step_get_make_vars:
> +            cppcheck_analysis.get_make_vars()
>          if settings.step_parse_tags:
>              generic_analysis.parse_xen_tags()
> +        if settings.step_cppcheck_deps:
> +            cppcheck_analysis.generate_cppcheck_deps()
>          if settings.step_build_xen:
>              generic_analysis.build_xen()
> -    except (ParseTagPhaseError, BuildPhaseError) as e:
> +        if settings.step_cppcheck_report:
> +            cppcheck_analysis.generate_cppcheck_report()
> +    except PhaseExceptions as e:
>          print("ERROR: {}".format(e))
>          if hasattr(e, "errorcode"):
>              ret_code = e.errorcode
>      finally:
>          if settings.step_clean_analysis:
> +            cppcheck_analysis.clean_analysis_artifacts()
>              e = generic_analysis.clean_analysis_artifacts()
>              if e:
>                  print("ERROR: {}".format(e))
>                  ret_code = 1
> +        if settings.step_distclean_analysis:
> +            cppcheck_analysis.clean_reports()
>  
>      sys.exit(ret_code)
>  
> diff --git a/xen/scripts/xen_analysis/cppcheck_analysis.py b/xen/scripts/xen_analysis/cppcheck_analysis.py
> new file mode 100644
> index 000000000000..0e952a169641
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/cppcheck_analysis.py
> @@ -0,0 +1,273 @@
> +#!/usr/bin/env python3
> +
> +import os, re, shutil
> +from . import settings, utils, cppcheck_report_utils
> +
> +class GetMakeVarsPhaseError(Exception):
> +    pass
> +
> +class CppcheckDepsPhaseError(Exception):
> +    pass
> +
> +class CppcheckReportPhaseError(Exception):
> +    pass
> +
> +CPPCHECK_BUILD_DIR = "build-dir-cppcheck"
> +CPPCHECK_HTMLREPORT_OUTDIR = "cppcheck-htmlreport"
> +CPPCHECK_REPORT_OUTDIR = "cppcheck-report"
> +cppcheck_extra_make_args = ""
> +xen_cc = ""
> +
> +def get_make_vars():
> +    global xen_cc
> +    invoke_make = utils.invoke_command(
> +            "make -C {} {} export-variable-CC"
> +                .format(settings.xen_dir, settings.make_forward_args),
> +            True, GetMakeVarsPhaseError,
> +            "Error occured retrieving make vars:\n{}"
> +        )
> +
> +    cc_var_regex = re.search('^CC=(.*)$', invoke_make, flags=re.M)
> +    if cc_var_regex:
> +        xen_cc = cc_var_regex.group(1)
> +
> +    if xen_cc == "":
> +        raise GetMakeVarsPhaseError("CC variable not found in Xen make output")
> +
> +
> +def __generate_suppression_list(out_file):
> +    # The following lambda function will return a file if it contains lines with
> +    # a comment containing "cppcheck-suppress[*]" on a single line.
> +    grep_action = lambda x: utils.grep(x,
> +                    r'^[ \t]*/\* cppcheck-suppress\[(.*)\] \*/$')
> +    # Look for a list of .h files that matches the condition above
> +    headers = utils.recursive_find_file(settings.xen_dir, r'.*\.h$',
> +                                        grep_action)
> +
> +    try:
> +        with open(out_file, "wt") as supplist_file:
> +            # Add this rule to skip every finding in the autogenerated
> +            # header for cppcheck
> +            supplist_file.write("*:*generated/compiler-def.h\n")
> +
> +            for entry in headers:
> +                filename = entry["file"]
> +                try:
> +                    with open(filename, "rt") as infile:
> +                        header_content = infile.readlines()
> +                except OSError as e:
> +                    raise CppcheckDepsPhaseError(
> +                            "Issue with reading file {}: {}"
> +                                .format(filename, e)
> +                          )
> +                header_lines_len = len(header_content)
> +                # line_num in entry will be header_content[line_num-1], here we
> +                # are going to search the first line after line_num that have
> +                # anything different from comments or empty line, because the
> +                # in-code comment suppression is related to that line then.
> +                for line_num in entry["matches"]:
> +                    cppcheck_violation_id = ""
> +                    tmp_line = line_num
> +                    # look up to which line is referring the comment at
> +                    # line_num (which would be header_content[tmp_line-1])
> +                    comment_section = False
> +                    while tmp_line < header_lines_len:
> +                        line = header_content[tmp_line]
> +                        # Matches a line with just optional spaces/tabs and the
> +                        # start of a comment '/*'
> +                        comment_line_starts = re.match('^[ \t]*/\*.*$', line)
> +                        # Matches a line with text and the end of a comment '*/'
> +                        comment_line_stops = re.match('^.*\*/$', line)
> +                        if (not comment_section) and comment_line_starts:
> +                            comment_section = True
> +                        if (len(line.strip()) != 0) and (not comment_section):
> +                            cppcheck_violation_id = entry["matches"][line_num][0]
> +                            break
> +                        if comment_section and comment_line_stops:
> +                            comment_section = False
> +                        tmp_line = tmp_line + 1
> +
> +                    if cppcheck_violation_id == "":
> +                        raise CppcheckDepsPhaseError(
> +                            "Error matching cppcheck comment in {} at line {}."
> +                                .format(filename, line_num)
> +                          )
> +                    # Write [error id]:[filename]:[line]
> +                    # tmp_line refers to the array index, so translated to the
> +                    # file line (that begins with 1) it is tmp_line+1
> +                    supplist_file.write(
> +                            "{}:{}:{}\n".format(cppcheck_violation_id, filename,
> +                                                (tmp_line + 1))
> +                        )
> +    except OSError as e:
> +        raise CppcheckDepsPhaseError("Issue with writing file {}: {}"
> +                                     .format(out_file, e))
> +
> +
> +def generate_cppcheck_deps():
> +    global cppcheck_extra_make_args
> +
> +    # Compile flags to pass to cppcheck:
> +    # - include config.h as this is passed directly to the compiler.
> +    # - define CPPCHECK as we use it to disable or enable some specific part of
> +    #   the code to solve some cppcheck issues.
> +    # - explicitely enable some cppcheck checks as we do not want to use "all"
> +    #   which includes unusedFunction which gives wrong positives as we check
> +    #   file per file.
> +    # - Explicitly suppress warnings on compiler-def.h because cppcheck throws
> +    #   an unmatchedSuppression due to the rule we put in suppression-list.txt
> +    #   to skip every finding in the file.
> +    #
> +    # Compiler defines are in compiler-def.h which is included in config.h
> +    #
> +    cppcheck_flags="""
> +--cppcheck-build-dir={}/{}
> + --max-ctu-depth=10
> + --enable=style,information,missingInclude
> + --template=\'{{file}}({{line}},{{column}}):{{id}}:{{severity}}:{{message}}\'
> + --relative-paths={}
> + --inline-suppr
> + --suppressions-list={}/suppression-list.txt
> + --suppress='unmatchedSuppression:*generated/compiler-def.h'
> + --include={}/include/xen/config.h
> + -DCPPCHECK
> +""".format(settings.outdir, CPPCHECK_BUILD_DIR, settings.xen_dir,
> +           settings.outdir, settings.xen_dir)
> +
> +    invoke_cppcheck = utils.invoke_command(
> +            "{} --version".format(settings.cppcheck_binpath),
> +            True, CppcheckDepsPhaseError,
> +            "Error occured retrieving cppcheck version:\n{}\n\n{}"
> +        )
> +
> +    version_regex = re.search('^Cppcheck (.*)$', invoke_cppcheck, flags=re.M)
> +    # Currently, only cppcheck version >= 2.7 is supported, but version 2.8 is
> +    # known to be broken, please refer to docs/misra/cppcheck.txt
> +    if (not version_regex) or (not version_regex.group(1).startswith("2.7")):
> +        raise CppcheckDepsPhaseError(
> +                "Can't find cppcheck version or version is not 2.7"
> +              )
> +
> +    # If misra option is selected, append misra addon and generate cppcheck
> +    # files for misra analysis
> +    if settings.cppcheck_misra:
> +        cppcheck_flags = cppcheck_flags + " --addon=cppcheck-misra.json"
> +
> +        utils.invoke_command(
> +            "{}/convert_misra_doc.py -i {}/docs/misra/rules.rst"
> +            " -o {}/cppcheck-misra.txt -j {}/cppcheck-misra.json"
> +                .format(settings.tools_dir, settings.repo_dir,
> +                        settings.outdir, settings.outdir),
> +            False, CppcheckDepsPhaseError,
> +            "An error occured when running:\n{}"
> +        )
> +
> +    # Generate compiler macros
> +    os.makedirs("{}/include/generated".format(settings.outdir), exist_ok=True)
> +    utils.invoke_command(
> +            "{} -dM -E -o \"{}/include/generated/compiler-def.h\" - < /dev/null"
> +                .format(xen_cc, settings.outdir),
> +            False, CppcheckDepsPhaseError,
> +            "An error occured when running:\n{}"
> +        )
> +
> +    # Generate cppcheck suppression list
> +    __generate_suppression_list(
> +        "{}/suppression-list.txt".format(settings.outdir))
> +
> +    # Generate cppcheck build folder
> +    os.makedirs("{}/{}".format(settings.outdir, CPPCHECK_BUILD_DIR),
> +                exist_ok=True)
> +
> +    cppcheck_cc_flags = """--compiler={} --cppcheck-cmd={} {}
> + --cppcheck-plat={}/cppcheck-plat --ignore-path=tools/
> + --ignore-path=arch/x86/efi/check.c
> +""".format(xen_cc, settings.cppcheck_binpath, cppcheck_flags,
> +           settings.tools_dir)
> +
> +    if settings.cppcheck_html:
> +        cppcheck_cc_flags = cppcheck_cc_flags + " --cppcheck-html"
> +
> +    # Generate the extra make argument to pass the cppcheck-cc.sh wrapper as CC
> +    cppcheck_extra_make_args = "CC=\"{}/cppcheck-cc.sh {} --\"".format(
> +                                        settings.tools_dir,
> +                                        cppcheck_cc_flags
> +                                    ).replace("\n", "")
> +
> +
> +def generate_cppcheck_report():
> +    # Prepare text report
> +    # Look for a list of .cppcheck.txt files, those are the txt report
> +    # fragments
> +    fragments = utils.recursive_find_file(settings.outdir, r'.*\.cppcheck.txt$')
> +    text_report_dir = "{}/{}".format(settings.outdir,
> +                                        CPPCHECK_REPORT_OUTDIR)
> +    report_filename = "{}/xen-cppcheck.txt".format(text_report_dir)
> +    os.makedirs(text_report_dir, exist_ok=True)
> +    try:
> +        cppcheck_report_utils.cppcheck_merge_txt_fragments(fragments,
> +                                                           report_filename,
> +                                                           [settings.xen_dir])
> +    except cppcheck_report_utils.CppcheckTXTReportError as e:
> +        raise CppcheckReportPhaseError(e)
> +
> +    # If HTML output is requested
> +    if settings.cppcheck_html:
> +        # Look for a list of .cppcheck.xml files, those are the XML report
> +        # fragments
> +        fragments = utils.recursive_find_file(settings.outdir,
> +                                              r'.*\.cppcheck.xml$')
> +        html_report_dir = "{}/{}".format(settings.outdir,
> +                                         CPPCHECK_HTMLREPORT_OUTDIR)
> +        xml_filename = "{}/xen-cppcheck.xml".format(html_report_dir)
> +        os.makedirs(html_report_dir, exist_ok=True)
> +        try:
> +            cppcheck_report_utils.cppcheck_merge_xml_fragments(fragments,
> +                                                               xml_filename,
> +                                                               settings.xen_dir,
> +                                                               settings.outdir)
> +        except cppcheck_report_utils.CppcheckHTMLReportError as e:
> +            raise CppcheckReportPhaseError(e)
> +        # Call cppcheck-htmlreport utility to generate the HTML output
> +        utils.invoke_command(
> +            "{} --file={} --source-dir={} --report-dir={}/html --title=Xen"
> +                .format(settings.cppcheck_htmlreport_binpath, xml_filename,
> +                        settings.xen_dir, html_report_dir),
> +            False, CppcheckReportPhaseError,
> +            "Error occured generating Cppcheck HTML report:\n{}"
> +        )
> +        # Strip src and obj path from *.html files
> +        html_files = utils.recursive_find_file(html_report_dir, r'.*\.html$')
> +        try:
> +            cppcheck_report_utils.cppcheck_strip_path_html(html_files,
> +                                                           (settings.xen_dir,
> +                                                            settings.outdir))
> +        except cppcheck_report_utils.CppcheckHTMLReportError as e:
> +            raise CppcheckReportPhaseError(e)
> +
> +
> +def clean_analysis_artifacts():
> +    clean_files = ("suppression-list.txt", "cppcheck-misra.txt",
> +                   "cppcheck-misra.json")
> +    cppcheck_build_dir = "{}/{}".format(settings.outdir, CPPCHECK_BUILD_DIR)
> +    if os.path.isdir(cppcheck_build_dir):
> +        shutil.rmtree(cppcheck_build_dir)
> +    artifact_files = utils.recursive_find_file(settings.outdir,
> +                                r'.*\.(?:c\.json|cppcheck\.txt|cppcheck\.xml)$')
> +    for file in clean_files:
> +        file = "{}/{}".format(settings.outdir, file)
> +        if os.path.isfile(file):
> +            artifact_files.append(file)
> +    for delfile in artifact_files:
> +        os.remove(delfile)
> +
> +
> +def clean_reports():
> +    text_report_dir = "{}/{}".format(settings.outdir,
> +                                     CPPCHECK_REPORT_OUTDIR)
> +    html_report_dir = "{}/{}".format(settings.outdir,
> +                                     CPPCHECK_HTMLREPORT_OUTDIR)
> +    if os.path.isdir(text_report_dir):
> +        shutil.rmtree(text_report_dir)
> +    if os.path.isdir(html_report_dir):
> +        shutil.rmtree(html_report_dir)
> diff --git a/xen/scripts/xen_analysis/cppcheck_report_utils.py b/xen/scripts/xen_analysis/cppcheck_report_utils.py
> new file mode 100644
> index 000000000000..02440aefdfec
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/cppcheck_report_utils.py
> @@ -0,0 +1,130 @@
> +#!/usr/bin/env python3
> +
> +import os
> +from xml.etree import ElementTree
> +
> +class CppcheckHTMLReportError(Exception):
> +    pass
> +
> +class CppcheckTXTReportError(Exception):
> +    pass
> +
> +
> +def __elements_equal(el1, el2):
> +    if type(el1) != type(el2): return False
> +
> +    if el1.find('location') is None: return False
> +    if el2.find('location') is None: return False
> +
> +    el1_location = str(el1.find('location').attrib)
> +    el2_location = str(el2.find('location').attrib)
> +
> +    if el1_location != el2_location: return False
> +
> +    return True
> +
> +
> +def __contain_element(new, lst):
> +    for elem in lst:
> +        if __elements_equal(new, elem):
> +            return True
> +    return False
> +
> +
> +def __get_xml_root_file(filename):
> +    try:
> +        result_xml_root = ElementTree.parse(filename).getroot()
> +    except ElementTree.ParseError as e:
> +        raise CppcheckHTMLReportError(
> +                    "XML parsing error in {}: {}".format(filename, e)
> +                )
> +    return result_xml_root
> +
> +
> +def __sanitize_cppcheck_xml_path(xml_tree, src_path, obj_path):
> +    # Some path are relative to the source tree but some others are generated
> +    # in the obj tree, for cppcheck when using cppcheck-htmlreport we can pass
> +    # only one source tree where the files will be fetched if relative path are
> +    # found. So for every path that does not exists in src tree, we guess it
> +    # comes from obj tree and we put explicit absolute path to it
> +    error_item_root = xml_tree.findall("errors")[0]
> +    for error_item in error_item_root:
> +        for location_item in error_item.findall("location"):
> +            path = location_item.attrib["file"]
> +            new_obj_path = obj_path + "/" + path
> +            new_src_path = src_path + "/" + path
> +            if (path[0] != "/") and (not os.path.isfile(new_src_path)) \
> +               and os.path.isfile(new_obj_path):
> +                location_item.attrib["file"] = new_obj_path
> +
> +
> +def cppcheck_merge_xml_fragments(fragments_list, out_xml_file, src_path,
> +                                 obj_path):
> +
> +    result_xml = __get_xml_root_file(fragments_list[0])
> +    insert_point = result_xml.findall("errors")[0]
> +    for xml_file in fragments_list[1:]:
> +        xml_root = __get_xml_root_file(xml_file)
> +        curr_elem_list = list(insert_point)
> +        new_elem_list = list(xml_root.findall("errors")[0])
> +        for xml_error_elem in new_elem_list:
> +            if not __contain_element(xml_error_elem, curr_elem_list):
> +                insert_point.insert(1, xml_error_elem)
> +
> +    if result_xml is None:
> +        return False
> +
> +    __sanitize_cppcheck_xml_path(result_xml, src_path, obj_path)
> +
> +    ElementTree.ElementTree(result_xml).write(out_xml_file)
> +
> +    return True
> +
> +
> +def cppcheck_merge_txt_fragments(fragments_list, out_txt_file, strip_paths):
> +    try:
> +        with open(out_txt_file, "wt") as outfile:
> +            # Using a set will remove automatically the duplicate lines
> +            text_report_content = set()
> +            for file in fragments_list:
> +                try:
> +                    with open(file, "rt") as infile:
> +                        frag_lines = infile.readlines()
> +                except OSError as e:
> +                    raise CppcheckTXTReportError(
> +                            "Issue with reading file {}: {}"
> +                                .format(file, e)
> +                            )
> +                text_report_content.update(frag_lines)
> +
> +            # Back to modifiable list
> +            text_report_content = list(text_report_content)
> +            # Strip path from report lines
> +            for i in list(range(0, len(text_report_content))):
> +                for path in strip_paths:
> +                    text_report_content[i] = text_report_content[i].replace(
> +                                                                path + "/", "")
> +            # Write the final text report
> +            outfile.writelines(text_report_content)
> +    except OSError as e:
> +        raise CppcheckTXTReportError("Issue with writing file {}: {}"
> +                                            .format(out_txt_file, e))
> +
> +
> +def cppcheck_strip_path_html(html_files, strip_paths):
> +    for file in html_files:
> +        try:
> +            with open(file, "rt") as infile:
> +                html_lines = infile.readlines()
> +        except OSError as e:
> +            raise CppcheckHTMLReportError("Issue with reading file {}: {}"
> +                                                            .format(file, e))
> +        for i in list(range(0, len(html_lines))):
> +            for path in strip_paths:
> +                html_lines[i] = html_lines[i].replace(path + "/", "")
> +        try:
> +            with open(file, "wt") as outfile:
> +                outfile.writelines(html_lines)
> +        except OSError as e:
> +            raise CppcheckHTMLReportError("Issue with writing file {}: {}"
> +                                                            .format(file, e))
> diff --git a/xen/scripts/xen_analysis/generic_analysis.py b/xen/scripts/xen_analysis/generic_analysis.py
> index 372ff3566442..94122aebace0 100644
> --- a/xen/scripts/xen_analysis/generic_analysis.py
> +++ b/xen/scripts/xen_analysis/generic_analysis.py
> @@ -1,7 +1,7 @@
>  #!/usr/bin/env python3
>  
> -import os, subprocess
> -from . import settings, utils, tag_database
> +import os
> +from . import settings, utils, tag_database, cppcheck_analysis
>  
>  class ParseTagPhaseError(Exception):
>      pass
> @@ -61,8 +61,9 @@ def parse_xen_tags():
>  
>  def build_xen():
>      utils.invoke_command(
> -            "make -C {} {} build"
> -                .format(settings.xen_dir, settings.make_forward_args),
> +            "make -C {} {} {} build"
> +                .format(settings.xen_dir, settings.make_forward_args,
> +                        cppcheck_analysis.cppcheck_extra_make_args),
>              False, BuildPhaseError,
>              "Build error occured when running:\n{}"
>          )
> diff --git a/xen/scripts/xen_analysis/settings.py b/xen/scripts/xen_analysis/settings.py
> index e8d474eaf378..a8502e554e95 100644
> --- a/xen/scripts/xen_analysis/settings.py
> +++ b/xen/scripts/xen_analysis/settings.py
> @@ -7,14 +7,23 @@ xen_dir = os.path.realpath(module_dir + "/../..")
>  repo_dir = os.path.realpath(xen_dir + "/..")
>  tools_dir = os.path.realpath(xen_dir + "/tools")
>  
> +step_get_make_vars = False
>  step_parse_tags = True
> +step_cppcheck_deps = False
>  step_build_xen = True
> +step_cppcheck_report = False
>  step_clean_analysis = True
> +step_distclean_analysis = False
>  
>  target_build = False
>  target_clean = False
> +target_distclean = False
>  
>  analysis_tool = ""
> +cppcheck_binpath = "cppcheck"
> +cppcheck_html = False
> +cppcheck_htmlreport_binpath = "cppcheck-htmlreport"
> +cppcheck_misra = False
>  make_forward_args = ""
>  outdir = xen_dir
>  
> @@ -25,44 +34,66 @@ Usage: {} [OPTION] ... [-- [make arguments]]
>  
>  This script runs the analysis on the Xen codebase.
>  
> -The phases for the analysis are <tags>, <build>, <clean>
> +The phases for the analysis are <tags>, <build>, <clean>, <cppcheck report>
>  
>  Depending on the options below, only some phases will run:
>  
> -<no options>: tags, build, clean
> ---build-only: build
> +<no options>: tags, build, [cppcheck report], clean
> +--build-only: build, [cppcheck report]
>  --clean-only: clean
> +--distclean:  clean, [destroy cppcheck report]
>  --no-build:   tags, clean
>  --no-clean:   tags, build
>  
>  --no-build/--no-clean can be passed together to avoid both clean and build
>  phases.
> -Tags and build phases need to specify --run-coverity or --run-eclair.
> +Tags and build phases need to specify --run-coverity, --run-eclair or
> +--run-cppcheck.
> +Cppcheck report creation phase runs only when --run-cppcheck is passed to the
> +script.
>  
>  Options:
> -  --build-only    Run only the commands to build Xen with the optional make
> -                  arguments passed to the script
> -  --clean-only    Run only the commands to clean the analysis artifacts
> -  -h, --help      Print this help
> -  --no-build      Skip the build Xen phase
> -  --no-clean      Don\'t clean the analysis artifacts on exit
> -  --run-coverity  Run the analysis for the Coverity tool
> -  --run-eclair    Run the analysis for the Eclair tool
> +  --build-only          Run only the commands to build Xen with the optional
> +                        make arguments passed to the script
> +  --clean-only          Run only the commands to clean the analysis artifacts
> +  --cppcheck-bin=       Path to the cppcheck binary (Default: {})
> +  --cppcheck-html       Produce an additional HTML output report for Cppcheck
> +  --cppcheck-html-bin=  Path to the cppcheck-html binary (Default: {})
> +  --cppcheck-misra      Activate the Cppcheck MISRA analysis
> +  --distclean           Clean analysis artifacts and reports
> +  -h, --help            Print this help
> +  --no-build            Skip the build Xen phase
> +  --no-clean            Don\'t clean the analysis artifacts on exit
> +  --run-coverity        Run the analysis for the Coverity tool
> +  --run-cppcheck        Run the Cppcheck analysis tool on Xen
> +  --run-eclair          Run the analysis for the Eclair tool
>  """
> -    print(msg.format(sys.argv[0]))
> +    print(msg.format(sys.argv[0], cppcheck_binpath,
> +                     cppcheck_htmlreport_binpath))
>  
>  
>  def parse_commandline(argv):
>      global analysis_tool
> +    global cppcheck_binpath
> +    global cppcheck_html
> +    global cppcheck_htmlreport_binpath
> +    global cppcheck_misra
>      global make_forward_args
>      global outdir
> +    global step_get_make_vars
>      global step_parse_tags
> +    global step_cppcheck_deps
>      global step_build_xen
> +    global step_cppcheck_report
>      global step_clean_analysis
> +    global step_distclean_analysis
>      global target_build
>      global target_clean
> +    global target_distclean
>      forward_to_make = False
>      for option in argv:
> +        args_with_content_regex = re.match(r'^(--[a-z]+[a-z-]*)=(.*)$', option)
> +
>          if forward_to_make:
>              # Intercept outdir
>              outdir_regex = re.match("^O=(.*)$", option)
> @@ -74,6 +105,18 @@ def parse_commandline(argv):
>              target_build = True
>          elif option == "--clean-only":
>              target_clean = True
> +        elif args_with_content_regex and \
> +             args_with_content_regex.group(1) == "--cppcheck-bin":
> +            cppcheck_binpath = args_with_content_regex.group(2)
> +        elif option == "--cppcheck-html":
> +            cppcheck_html = True
> +        elif args_with_content_regex and \
> +             args_with_content_regex.group(1) == "--cppcheck-html-bin":
> +            cppcheck_htmlreport_binpath = args_with_content_regex.group(2)
> +        elif option == "--cppcheck-misra":
> +            cppcheck_misra = True
> +        elif option == "--distclean":
> +            target_distclean = True
>          elif (option == "--help") or (option == "-h"):
>              help()
>              sys.exit(0)
> @@ -83,6 +126,11 @@ def parse_commandline(argv):
>              step_clean_analysis = False
>          elif (option == "--run-coverity") or (option == "--run-eclair"):
>              analysis_tool = option[6:]
> +        elif (option == "--run-cppcheck"):
> +            analysis_tool = "cppcheck"
> +            step_get_make_vars = True
> +            step_cppcheck_deps = True
> +            step_cppcheck_report = True
>          elif option == "--":
>              forward_to_make = True
>          else:
> @@ -90,13 +138,23 @@ def parse_commandline(argv):
>              help()
>              sys.exit(1)
>  
> -    if target_build and target_clean:
> -        print("--build-only is not compatible with --clean-only argument.")
> +    if target_build and (target_clean or target_distclean):
> +        print("--build-only is not compatible with --clean-only/--distclean "
> +              "argument.")
>          sys.exit(1)
>  
> +    if target_distclean:
> +        # Implicit activation of clean target
> +        target_clean = True
> +
> +        step_distclean_analysis = True
> +
>      if target_clean:
> +        step_get_make_vars = False
>          step_parse_tags = False
> +        step_cppcheck_deps = False
>          step_build_xen = False
> +        step_cppcheck_report = False
>          step_clean_analysis = True
>          return
>  
> diff --git a/xen/tools/cppcheck-cc.sh b/xen/tools/cppcheck-cc.sh
> new file mode 100755
> index 000000000000..f6728e4c1084
> --- /dev/null
> +++ b/xen/tools/cppcheck-cc.sh
> @@ -0,0 +1,223 @@
> +#!/usr/bin/env bash
> +
> +set -e
> +
> +function help() {
> +    cat <<EOF
> +Usage: ${0} [OPTION] ... -- <compiler arguments>
> +
> +This script is a wrapper for cppcheck that enables it to analyse the files that
> +are the target for the build, it is used in place of a selected compiler and the
> +make process will run it on every file that needs to be built.
> +All the arguments passed to the original compiler are forwarded to it without
> +modification, furthermore, they are used to improve the cppcheck analysis.
> +
> +Options:
> +  --compiler=       Use this compiler for the build
> +  --cppcheck-cmd=   Command line for the cppcheck analysis.
> +  --cppcheck-html   Prepare for cppcheck HTML output
> +  --cppcheck-plat=  Path to the cppcheck platform folder
> +  --ignore-path=    This script won't run cppcheck on the files having this
> +                    path, the compiler will run anyway on them. This argument
> +                    can be specified multiple times.
> +  -h, --help        Print this help
> +EOF
> +}
> +
> +CC_FILE=""
> +COMPILER=""
> +CPPCHECK_HTML="n"
> +CPPCHECK_PLAT_PATH=""
> +CPPCHECK_TOOL=""
> +CPPCHECK_TOOL_ARGS=""
> +FORWARD_FLAGS=""
> +IGNORE_PATH="n"
> +IGNORE_PATH_LIST=""
> +JDB_FILE=""
> +OBJTREE_PATH=""
> +
> +# Variable used for arg parsing
> +forward_to_cc="n"
> +sm_tool_args="n"
> +obj_arg_content="n"
> +
> +for OPTION in "$@"
> +do
> +    if [ "${forward_to_cc}" = "y" ]; then
> +        if [[ ${OPTION} == *.c ]]
> +        then
> +            CC_FILE="${OPTION}"
> +        elif [ "${OPTION}" = "-o" ]
> +        then
> +            # After -o there is the path to the obj file, flag it
> +            obj_arg_content="y"
> +        elif [ "${obj_arg_content}" = "y" ]
> +        then
> +            # This must be the path to the obj file, turn off flag and save path
> +            OBJTREE_PATH="$(dirname "${OPTION}")"
> +            obj_arg_content="n"
> +        fi
> +        # Forward any argument to the compiler
> +        FORWARD_FLAGS="${FORWARD_FLAGS} ${OPTION}"
> +        continue
> +    fi
> +    case ${OPTION} in
> +        -h|--help)
> +            help
> +            exit 0
> +            ;;
> +        --compiler=*)
> +            COMPILER="${OPTION#*=}"
> +            sm_tool_args="n"
> +            ;;
> +        --cppcheck-cmd=*)
> +            CPPCHECK_TOOL="${OPTION#*=}"
> +            sm_tool_args="y"
> +            ;;
> +        --cppcheck-html)
> +            CPPCHECK_HTML="y"
> +            sm_tool_args="n"
> +            ;;
> +        --cppcheck-plat=*)
> +            CPPCHECK_PLAT_PATH="${OPTION#*=}"
> +            sm_tool_args="n"
> +            ;;
> +        --ignore-path=*)
> +            IGNORE_PATH_LIST="${IGNORE_PATH_LIST} ${OPTION#*=}"
> +            sm_tool_args="n"
> +            ;;
> +        --)
> +            forward_to_cc="y"
> +            sm_tool_args="n"
> +            ;;
> +        *)
> +            if [ "${sm_tool_args}" = "y" ]; then
> +                CPPCHECK_TOOL_ARGS="${CPPCHECK_TOOL_ARGS} ${OPTION}"
> +            else
> +                echo "Invalid option ${OPTION}"
> +                exit 1
> +            fi
> +            ;;
> +    esac
> +done
> +
> +if [ "${COMPILER}" = "" ]
> +then
> +    echo "--compiler arg is mandatory."
> +    exit 1
> +fi
> +
> +function create_jcd() {
> +    local line="${1}"
> +    local arg_num=0
> +    local same_line=0
> +
> +    {
> +        echo "["
> +        echo "    {"
> +        echo "        \"arguments\": ["
> +
> +        for arg in ${line}; do
> +            # This code prevents to put comma in the last element of the list or
> +            # on sequential lines that are going to be merged
> +            if [ "${arg_num}" -ne 0 ] && [ "${same_line}" -eq 0 ]
> +            then
> +                echo ","
> +            fi
> +            if [ "${same_line}" -ne 0 ]
> +            then
> +                echo -n "${arg}\""
> +                same_line=0
> +            elif [ "${arg}" = "-iquote" ] || [ "${arg}" = "-I" ]
> +            then
> +                # cppcheck doesn't understand -iquote, substitute with -I
> +                echo -n "            \"-I"
> +                same_line=1
> +            else
> +                echo -n "            \"${arg}\""
> +            fi
> +            arg_num=$(( arg_num + 1 ))
> +        done
> +        echo ""
> +        echo "        ],"
> +        echo "        \"directory\": \"$(pwd -P)\","
> +        echo "        \"file\": \"${CC_FILE}\""
> +        echo "    }"
> +        echo "]"
> +    } > "${JDB_FILE}"
> +}
> +
> +
> +# Execute compiler with forwarded flags
> +# Shellcheck complains about missing quotes on FORWARD_FLAGS, but they can't be
> +# used here
> +# shellcheck disable=SC2086
> +${COMPILER} ${FORWARD_FLAGS}
> +
> +if [ -n "${CC_FILE}" ];
> +then
> +    for path in ${IGNORE_PATH_LIST}
> +    do
> +        if [[ ${CC_FILE} == *${path}* ]]
> +        then
> +            IGNORE_PATH="y"
> +            echo "${0}: ${CC_FILE} ignored by --ignore-path matching *${path}*"
> +        fi
> +    done
> +    if [ "${IGNORE_PATH}" = "n" ]
> +    then
> +        JDB_FILE="${OBJTREE_PATH}/$(basename "${CC_FILE}".json)"
> +
> +        # Prepare the Json Compilation Database for the file
> +        create_jcd "${COMPILER} ${FORWARD_FLAGS}"
> +
> +        out_file="${OBJTREE_PATH}/$(basename "${CC_FILE%.c}".cppcheck.txt)"
> +
> +        # Select the right target platform, ARCH is generated from Xen Makefile
> +        case ${ARCH} in
> +            arm64)
> +                # arm64 has efi code compiled with -fshort-wchar
> +                platform="${CPPCHECK_PLAT_PATH}/arm64-wchar_t2.xml"
> +                ;;
> +            arm32)
> +                # arm32 has no efi code
> +                platform="${CPPCHECK_PLAT_PATH}/arm32-wchar_t4.xml"
> +                ;;
> +            x86_64)
> +                # x86_64 has efi code compiled with -fshort-wchar
> +                platform="${CPPCHECK_PLAT_PATH}/x86_64-wchar_t2.xml"
> +                ;;
> +            *)
> +                echo "ARCH: ${ARCH} not expected!"
> +                exit 1
> +                ;;
> +        esac
> +
> +        if [ ! -f "${platform}" ]
> +        then
> +            echo "${platform} not found!"
> +            exit 1
> +        fi
> +
> +        # Shellcheck complains about missing quotes on CPPCHECK_TOOL_ARGS, but
> +        # they can't be used here
> +        # shellcheck disable=SC2086
> +        ${CPPCHECK_TOOL} ${CPPCHECK_TOOL_ARGS} \
> +            --project="${JDB_FILE}" \
> +            --output-file="${out_file}" \
> +            --platform="${platform}"
> +
> +        if [ "${CPPCHECK_HTML}" = "y" ]
> +        then
> +            # Shellcheck complains about missing quotes on CPPCHECK_TOOL_ARGS,
> +            # but they can't be used here
> +            # shellcheck disable=SC2086
> +            ${CPPCHECK_TOOL} ${CPPCHECK_TOOL_ARGS} \
> +                --project="${JDB_FILE}" \
> +                --output-file="${out_file%.txt}.xml" \
> +                --platform="${platform}" \
> +                -q \
> +                --xml
> +        fi
> +    fi
> +fi
> diff --git a/xen/tools/cppcheck-plat/arm32-wchar_t4.xml b/xen/tools/cppcheck-plat/arm32-wchar_t4.xml
> new file mode 100644
> index 000000000000..3aefa7ba5c98
> --- /dev/null
> +++ b/xen/tools/cppcheck-plat/arm32-wchar_t4.xml
> @@ -0,0 +1,17 @@
> +<?xml version="1.0"?>
> +<platform>
> +  <char_bit>8</char_bit>
> +  <default-sign>unsigned</default-sign>
> +  <sizeof>
> +    <short>2</short>
> +    <int>4</int>
> +    <long>4</long>
> +    <long-long>8</long-long>
> +    <float>4</float>
> +    <double>8</double>
> +    <long-double>8</long-double>
> +    <pointer>4</pointer>
> +    <size_t>4</size_t>
> +    <wchar_t>4</wchar_t>
> +  </sizeof>
> +</platform>
> diff --git a/xen/tools/cppcheck-plat/arm64-wchar_t2.xml b/xen/tools/cppcheck-plat/arm64-wchar_t2.xml
> new file mode 100644
> index 000000000000..b2dc2fb2cc50
> --- /dev/null
> +++ b/xen/tools/cppcheck-plat/arm64-wchar_t2.xml
> @@ -0,0 +1,17 @@
> +<?xml version="1.0"?>
> +<platform>
> +  <char_bit>8</char_bit>
> +  <default-sign>unsigned</default-sign>
> +  <sizeof>
> +    <short>2</short>
> +    <int>4</int>
> +    <long>8</long>
> +    <long-long>8</long-long>
> +    <float>4</float>
> +    <double>8</double>
> +    <long-double>16</long-double>
> +    <pointer>8</pointer>
> +    <size_t>8</size_t>
> +    <wchar_t>2</wchar_t>
> +  </sizeof>
> +</platform>
> diff --git a/xen/tools/cppcheck-plat/x86_64-wchar_t2.xml b/xen/tools/cppcheck-plat/x86_64-wchar_t2.xml
> new file mode 100644
> index 000000000000..0b3bb6e0fb8e
> --- /dev/null
> +++ b/xen/tools/cppcheck-plat/x86_64-wchar_t2.xml
> @@ -0,0 +1,17 @@
> +<?xml version="1.0"?>
> +<platform>
> +  <char_bit>8</char_bit>
> +  <default-sign>signed</default-sign>
> +  <sizeof>
> +    <short>2</short>
> +    <int>4</int>
> +    <long>8</long>
> +    <long-long>8</long-long>
> +    <float>4</float>
> +    <double>8</double>
> +    <long-double>16</long-double>
> +    <pointer>8</pointer>
> +    <size_t>8</size_t>
> +    <wchar_t>2</wchar_t>
> +  </sizeof>
> +</platform>
> -- 
> 2.17.1
> 
--8323329-1430552776-1670458346=:2730675--


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 02:43:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 02:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456760.714573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p36sZ-0004XL-PF; Thu, 08 Dec 2022 02:43:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456760.714573; Thu, 08 Dec 2022 02:43:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p36sZ-0004XA-MK; Thu, 08 Dec 2022 02:43:19 +0000
Received: by outflank-mailman (input) for mailman id 456760;
 Thu, 08 Dec 2022 02:43:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R/A3=4G=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p36sX-0004Gw-QW
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 02:43:18 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on060a.outbound.protection.outlook.com
 [2a01:111:f400:fe02::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 112e4f00-76a2-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 03:43:17 +0100 (CET)
Received: from AM5PR1001CA0020.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:206:2::33)
 by DB9PR08MB8484.eurprd08.prod.outlook.com (2603:10a6:10:3d4::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 02:43:13 +0000
Received: from VI1EUR03FT041.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:2:cafe::66) by AM5PR1001CA0020.outlook.office365.com
 (2603:10a6:206:2::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Thu, 8 Dec 2022 02:43:13 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT041.mail.protection.outlook.com (100.127.145.15) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.16 via Frontend Transport; Thu, 8 Dec 2022 02:43:12 +0000
Received: ("Tessian outbound f394866f3f2b:v130");
 Thu, 08 Dec 2022 02:43:12 +0000
Received: from c0b548fb4f1d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 13A13E75-0CE1-4CA2-A88B-08857E2C80C5.1; 
 Thu, 08 Dec 2022 02:43:05 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c0b548fb4f1d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 08 Dec 2022 02:43:05 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU0PR08MB9462.eurprd08.prod.outlook.com (2603:10a6:10:42e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Thu, 8 Dec
 2022 02:43:04 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%8]) with mapi id 15.20.5880.011; Thu, 8 Dec 2022
 02:43:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 112e4f00-76a2-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OBPTVFzLQrfS4xhhW6TWMwFY4/05ykZBU1XbPVbqd/A=;
 b=SBGQiPtYg4szPwwOvnNok9ZDh4n80sl7ufjDTgi9PeaROi/496z2FmOK+7VofR4ftPu9rZW11K23StTBV4tuzAajsy6KcpANDn5RSZWU9cS4EKn1p0Sqt3+igMIJn0v36jWeo6xKlQDV4ubB6ddng2GmTHv2GdSt4iadMEGjsxQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e/xf3EVbR9NGtgJbWpffeI8H++bKE6V4x19QOk5ganoHe+F5mkeiimwdYo+orZQ5Y2SfyGQSPffroi+UMjcYH2EwikJSI81JIHsJLj+u45NDYw22kgvakXcqHmdUe3qqe4uxtR9GNPchnWbpBR+6W563VkPKRgi11qvvK2j+CyJIu+kDKThPz+ErK85FE226HzBra3fp5vmOZ2X2d3zRYbwbo/g+hRFcw2zL3s43Pb37/eJgYnv5D6ZWIdz1eXP4P5QRURtG7JJ/FX2rGzADlNdvns0s+e8qd6rARIIxvcXmY8ZIkIgUYcG7ANaZNRl0g8fQ5HG4n+PbCIGu64JNVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OBPTVFzLQrfS4xhhW6TWMwFY4/05ykZBU1XbPVbqd/A=;
 b=iNXDjhygLm5Y2RVA9cO7qlEYPkhdPq3q+3bDQpudGZhsQXh+8IjvWBAWdHSw/8mBQYKzuzk922viYkdsNy8lLwAM6NYBxilXviHlSwWGiRrnlELAk/rNU2EhnswDkY/N722DSM/oI8wLF7TtFUTA9eDFQxib9s+VKeoPInG7kUcFfpdjaPaUtGKshFQmmmNuB/ITc20pgycd1EICvE+lBW1vo2xJ8r0cO8LNZ5GlGBKvUQVG4h58NKeFIIfZ8wzicgVmEujAnpKG484JPupq0VTawVCn5SEY4tzgLgMxplnLPC5+hm8DE/PVNgjW0OKEb5rvfdzc8M5tGUrvhXMMdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OBPTVFzLQrfS4xhhW6TWMwFY4/05ykZBU1XbPVbqd/A=;
 b=SBGQiPtYg4szPwwOvnNok9ZDh4n80sl7ufjDTgi9PeaROi/496z2FmOK+7VofR4ftPu9rZW11K23StTBV4tuzAajsy6KcpANDn5RSZWU9cS4EKn1p0Sqt3+igMIJn0v36jWeo6xKlQDV4ubB6ddng2GmTHv2GdSt4iadMEGjsxQ=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Community Manager
	<community.manager@xenproject.org>
Subject: RE: [PATCH v6 0/2] Final changelog changes for 4.17
Thread-Topic: [PATCH v6 0/2] Final changelog changes for 4.17
Thread-Index: AQHZBXmOXDTsmT5y6EunF6VB79BAYa5i5rKAgABrV3A=
Date: Thu, 8 Dec 2022 02:43:04 +0000
Message-ID:
 <AS8PR08MB7991085586E1E5D127BD0F74921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20221201113910.1984744-1-Henry.Wang@arm.com>
 <7724f0e2-4e38-9c49-b49b-16df28743d8a@xen.org>
In-Reply-To: <7724f0e2-4e38-9c49-b49b-16df28743d8a@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: C48D207F3F399D4B948E37B0E4E7E6AE.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU0PR08MB9462:EE_|VI1EUR03FT041:EE_|DB9PR08MB8484:EE_
X-MS-Office365-Filtering-Correlation-Id: bbd70954-80cd-4539-1229-08dad8c5f340
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 bcapkoq0nBny7Aw8rDHrebSlOFG9m+HvVgc1StztovVS09mgHPsZRJpKJ2nPrJxkCuSnT/YQx+g0hApn5AZdkcL2aHfgKgOJ881dGlmIen6fa1oRdlgyqPO1CK9vC8dm48Z85H+JzX4u/mRBe2B1MsQuDHagmIpZEofFdztpHgguyM/Q+CeTFMb+lt7uSik2+FcYpsbfJ6mVSl4RcyvXfkY5b7ki//DC3XR41KentYKh15OMeXpapBGHGdLXWUwKpWFLL0GKRthaNpvTiO1wAqGSHMxxNd4ocs+g+Neyeq0rLcdlashOx6KEKfFRgUzRzGvTku+OaJ5wiwHFsyMuOAuGEj5SAwGOeZfrhzVLgYORCbaPqaR5mZMX6o+N/G+cZp1aEqFkifG3x6lcju8iof4FLg73mISqdxrxsZSTLS511+e3U1hBAxBOikT19T4yRPFwKPqTS26+R4Yu1UeRHA/pbXzdGU5JtVbtUOkusrhtqDZX5VMC3NaDSvw0/7EfgOe7ojhtPEOQBQe+Zi1rjq7ums9syx1NqmWOqVM3fQg6uE8MMGcvS3d4cLapcd0/LxyGeiMgfoojGaG4XZ8DTZGi5wwddOZ8DpFf8DIyxDhBLv7PJq0ELRU1ty7wyw50ZRlieYxllIOO7cu+dF9sQySEAgAltkPDTQFZHsZeisYzHfi5bztT8u5RfnmWey2nwXQSSImOJlEi4WWqiGwneagoQhIWX7YoSzQRblxruGQyQf97VOhagLkbE/v2BPst+95CDzF8JeCIFlDVGvCvdTkSAXYBu20AZo+6bpg74xH7KRhRe766NjjaQGYteu4C
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(376002)(39860400002)(366004)(396003)(451199015)(9686003)(7696005)(26005)(2906002)(966005)(53546011)(6506007)(86362001)(54906003)(38100700002)(55016003)(52536014)(83380400001)(5660300002)(33656002)(110136005)(8936002)(316002)(186003)(71200400001)(66556008)(66946007)(66476007)(66446008)(76116006)(478600001)(4326008)(8676002)(64756008)(38070700005)(41300700001)(122000001)(59356011)(219803003)(207903002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9462
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VI1EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0389992d-2feb-46bf-6448-08dad8c5ee32
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gK0N3yePnGOAkBrqJJ3Rhzf13R9XnF2QbvkEsCiGUYyerr9Hl+HTJUwjcpVAzIzvdtg4jgEGqeQ9HxEYbcfY2eDVubXdVRpMJnI0AwUoKcAj+7HSGnkquxc3T+9i6k7349InSR2nBDKwrsav5r1w4f8AAfG9yWrzy3hpZ7iqsBlIP0WL/jvjQQKRkGIOzGfwnPRSm2KykK1PHozBpa+E5XzMmlxvqR+7eNQgeoRDj0dGS7zwzgFuJ+1wXqntpJlDEkNEZagYAdwpLCXfVmG7nIaYVLwdz/YsqFJS9gWsqXj+wvvrAczmEvtIwgfUAjxQz1/GSF7MzSrjwlfGmCd9Z+SRrN64JMVsA1UQIX+d9xU663PRjdLCiLSDxiHioltzZkILrFV73mgC6aSekT/RhyBXg45meJ0diLIZbSPaGJEYKP9WhXJ0IElSCnyedU78txgXUzmi9tKwkyuZ4i4FMTii3vjHpw3DCCLB6pfupeOElIS3Vez9jFEBWnhD1kHYEkI0PweMl+4o66Z6aF7AvI+KG+MoH1H7MNobJicjBCbs8bCbKfJ+OTaHw5uGooQcb6XI/xF4JKt3HugMWI/Va0Q5KMjXdmoZd9CpUm7Jp20BIEwSMkGPl5NAGahPXOH+kd6gvuxx7d1lLmGUL/em9Rp6QcZzUe5W8dOIfRE3g5QMBkVniV1lozm1miLAw6RWhO11oca9YsjpwgMwVs5jGXAeoke9OsbnJChq35tzlQ/UUOSCI9QtckffsP+nsPHDxGC0NsdY7P0gTyqUbhHrrpZgWWk37ZB0heQrAtjuWvYKiSx8IIwbeMcgFkP5EtPl
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199015)(40470700004)(36840700001)(46966006)(316002)(54906003)(110136005)(36860700001)(478600001)(2906002)(40480700001)(966005)(70206006)(6506007)(8676002)(70586007)(26005)(83380400001)(4326008)(7696005)(9686003)(186003)(41300700001)(81166007)(336012)(356005)(47076005)(86362001)(40460700003)(5660300002)(52536014)(55016003)(82310400005)(53546011)(8936002)(33656002)(82740400003)(59356011)(219803003)(207903002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 02:43:12.6472
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bbd70954-80cd-4539-1229-08dad8c5f340
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VI1EUR03FT041.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8484

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IFN1YmplY3Q6IFJl
OiBbUEFUQ0ggdjYgMC8yXSBGaW5hbCBjaGFuZ2Vsb2cgY2hhbmdlcyBmb3IgNC4xNw0KPiANCj4g
SGksDQo+IA0KPiBPbiAwMS8xMi8yMDIyIDExOjM5LCBIZW5yeSBXYW5nIHdyb3RlOg0KPiA+IEhp
IGFsbCwNCj4gPg0KPiA+IFRoZXNlIHR3byBwYXRjaGVzIHNob3VsZCBiZSB0aGUgZmluYWwgY2hh
bmdlbG9nIGNoYW5nZXMgZm9yIDQuMTcuDQo+ID4NCj4gPiBUaGUgZmlyc3QgcGF0Y2ggc2V0cyB0
aGUgcmVsZWFzZSBkYXRlIGFuZCB0YWcgb2YgNC4xNyByZWxlYXNlIGFuZA0KPiA+IHNob3VsZCBi
ZSAiYmFja3BvcnRlZCIgdG8gdGhlIHN0YWdpbmcvc3RhYmxlLTQuMTcuDQo+ID4NCj4gPiBUaGUg
c2Vjb25kIHBhdGNoIHN0YXJ0cyBhIG5ldyB1bnN0YWJsZSBzZWN0aW9uLCBzbyBzaG91bGQgYmUg
aW4NCj4gPiB1bnN0YWJsZSBtYXN0ZXIvc3RhZ2luZyBvbmx5Lg0KPiA+DQo+ID4gVGhhbmtzLg0K
PiA+DQo+ID4gSGVucnkNCj4gPg0KPiA+IEhlbnJ5IFdhbmcgKDIpOg0KPiA+ICAgIENIQU5HRUxP
RzogU2V0IDQuMTcgcmVsZWFzZSBkYXRlIGFuZCB0YWcNCj4gPiAgICBDSEFOR0VMT0c6IFN0YXJ0
IG5ldyAidW5zdGFibGUiIHNlY3Rpb24NCj4gDQo+IEkgaGF2ZSBjb21taXR0ZWQgdGhlIHR3byB0
byBzdGFnaW5nIGFuZCBvbmx5IHRoZSBmaXJzdCBvbmUgdG8gc3RhZ2luZy00LjE3Lg0KPiANCj4g
SSBoYXZlIGFsc28gdGFnZ2VkIGFsbCBRRU1VLXRyYWQsIFFFTVUgYW5kIE1pbmktT1MgdHJlZSBp
biBwcmVwYXJhdGlvbg0KPiBmb3IgdGhlIHJlbGVhc2UuDQoNClRoYW5rIHlvdSBzbyBtdWNoIGZv
ciB5b3VyIHRpbWUgYW5kIGVmZm9ydCBpbiBkb2luZyB0aGVzZS4NCg0KPiANCj4gVGhlIFhlbiB0
cmVlIG9ubHkgbmVlZCB0aGUgcGF0Y2ggWzFdIGFuZCB0aGVuIEkgY2FuIHRhZyBhZnRlciBhIGxh
c3QNCj4gcHVzaCB0byBzdGFibGUuDQoNCkkgZ2F2ZSBteSByZWxlYXNlLWFjayBpbiBjYXNlIHlv
dSBuZWVkIGl0Lg0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiBDaGVlcnMsDQo+IA0K
PiBbMV0NCj4gaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcveGVuLWRldmVsLzIwMjIxMjA3MTk1OTA3
LjIzNjA2LTEtDQo+IGp1bGllbkB4ZW4ub3JnL1QvI3UNCj4gDQo+IA0KPiAtLQ0KPiBKdWxpZW4g
R3JhbGwNCg0K


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 02:43:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 02:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456759.714562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p36sR-0004HA-HA; Thu, 08 Dec 2022 02:43:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456759.714562; Thu, 08 Dec 2022 02:43:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p36sR-0004H3-Dk; Thu, 08 Dec 2022 02:43:11 +0000
Received: by outflank-mailman (input) for mailman id 456759;
 Thu, 08 Dec 2022 02:43:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R/A3=4G=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p36sP-0004Gw-JT
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 02:43:09 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b2a6b08-76a2-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 03:43:07 +0100 (CET)
Received: from AS9PR01CA0040.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:542::29) by DBBPR08MB6137.eurprd08.prod.outlook.com
 (2603:10a6:10:20f::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 02:43:03 +0000
Received: from AM7EUR03FT021.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:542:cafe::84) by AS9PR01CA0040.outlook.office365.com
 (2603:10a6:20b:542::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Thu, 8 Dec 2022 02:43:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT021.mail.protection.outlook.com (100.127.140.243) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.16 via Frontend Transport; Thu, 8 Dec 2022 02:43:02 +0000
Received: ("Tessian outbound 0800d254cb3b:v130");
 Thu, 08 Dec 2022 02:43:02 +0000
Received: from d69d59d0a853.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DE05313D-8E09-45BA-AE39-355F33D6D299.1; 
 Thu, 08 Dec 2022 02:42:56 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d69d59d0a853.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 08 Dec 2022 02:42:56 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU0PR08MB9462.eurprd08.prod.outlook.com (2603:10a6:10:42e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Thu, 8 Dec
 2022 02:42:54 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%8]) with mapi id 15.20.5880.011; Thu, 8 Dec 2022
 02:42:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b2a6b08-76a2-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6auQQt+vUZOtnURhAJ9WwXyhmnCWx3oEh2d9RSClWxU=;
 b=wDcHCnMIbhMeVx5yyraWRyb0RW0pBcTAyD3tAZrlu12NXjZQ+S4MzgVvI3VCxxl8y2gMnFNbGtRBoArZyVqA6DU0JOPwXjj3USM0M0HoRK44JbBKfhGEe1FshPp8KMl4/EyB9flR7c116ALa+UUbp7Ro5zKAgEPPbga9DgSh2LA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T6cjR303sEm1lCK9hsfpuxUUmMwLfCIMGKwwCybJk/993nTPM66HwSFOF52tqJpUhcoPYwa9+OZjLP9Cjxk7z8UmjDbGzoScKtdZbHyQZ+m5Monu/xa+zW5RuKl2tNr7+rc/rK0OPI0s9FMJ7whlHOSCKoZyMFMd65cW9mYl9W8WTYRprmXkPNl6grXmWOdYEQUHRP/7EInywkSPgrDUH9TSL3EU/aRTUPN0NjiDvggb8rCiAMzQenYf9bPvHQ5wC56sFv2EO3iniHuznjc4hYogh6YqPDrXqo2xREEjM4Ws6DF4PSFjBcFvzsTMyBt3yDvAH+/lzckFqtKkgOQ5Zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6auQQt+vUZOtnURhAJ9WwXyhmnCWx3oEh2d9RSClWxU=;
 b=b0uQOsPMD3q+wG8EKGbH167kzJnoL+1nDPK2BPZNwLD7vYHoDsvLufo3Hpty9qQWr19uiVe4Z2Zxyaas6JPvrCpwZPpBFpE8ZmO1L1d6zLKen3QWgMiWLE8maVMFRc1lL1rjqllq1w9VorblF2mfGM4R7kL8otzMw5e1oRTEOI0jw+9b0Z5G8s9hwnAAydrTiuAwMbkDUi+lxeDbqMLBGSgN5ZNVPfgA8l/NbKnCxKFe1TQ1ucdKyGt2lvSEwvOXfRkbzBVdmWGbWdbDm+fj1I6EZd5JwqOgoytNS1EFwGd+5LQClAudvdw/ZpMU1nXxl0W4oiSoC/W+SS5uhb0hHg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6auQQt+vUZOtnURhAJ9WwXyhmnCWx3oEh2d9RSClWxU=;
 b=wDcHCnMIbhMeVx5yyraWRyb0RW0pBcTAyD3tAZrlu12NXjZQ+S4MzgVvI3VCxxl8y2gMnFNbGtRBoArZyVqA6DU0JOPwXjj3USM0M0HoRK44JbBKfhGEe1FshPp8KMl4/EyB9flR7c116ALa+UUbp7Ro5zKAgEPPbga9DgSh2LA=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, Wei
 Liu <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH for-4.17] SUPPORT.md: Define support lifetime
Thread-Topic: [PATCH for-4.17] SUPPORT.md: Define support lifetime
Thread-Index: AQHZCnZsv+8PKKoBH0mt4ztR2VHs5a5jSHfg
Date: Thu, 8 Dec 2022 02:42:53 +0000
Message-ID:
 <AS8PR08MB7991FA0A2F1A326527E9AC4D921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20221207195907.23606-1-julien@xen.org>
In-Reply-To: <20221207195907.23606-1-julien@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 12E2EF9BE2791642B9CAE714436A631E.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU0PR08MB9462:EE_|AM7EUR03FT021:EE_|DBBPR08MB6137:EE_
X-MS-Office365-Filtering-Correlation-Id: 67ebb3c9-d23c-45a0-4186-08dad8c5ed2b
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 RtIqqvV53p8g9V7cuLXd5PCwc/gRGZMtSCnonQkqdi4XViWLy8QiyKdscpZKpe7CtdOSgt21tcEk3L3mUr1mFaFgdgaINQjIjRptZuhOxHcrlGVI6MKz9KPvqafS5dzMpMI2REV9wn/agJpRp0hCkjuHKpN67ND1X4rPsDp1pnjTPDvoLZHmcwjhVoPbnmhCrDJHL8rO97qbJcg8A385bmfy7NKkOScCQfOl5j3hvoSh5uee0FG48gLB3ZjaWAAMN/4+A9R+vM3g0DY6TPuempggOkuam3Jp4Ulgnonf74XvUEGNDacRT8kaedxMSrTc4sSzhGO4NZte82EeYL75e3hqf3h+pdWA/4u1RA+hWNM0W7Mn88bWuf7+r7ZdGtFmLbE7hsjcKwYRTidztAefjKBvuxVWTNA0D0rxSzZcAc0GvM6OylVquQ+J1h76tz1fGGjrLvZ7DJwc1FYsPAXSxP4/hTT8YBc/iO4YSDjYIl+N15aYh9rNfgpZvqqy/uR0Bp72LuOevQiJZ+Neor7tn+Xigk0NNf7E9NvlREwGEhNkJc5ZtTEY6f6mHYHrm7+wk8WmtkniiBTTwge87TsJh5P5HlvgfE06acIwUOwXFgEHxdn75Nx8x2Al6iDOBfAkV3e0laaHXAo9f/6kYHTyFGm5Wr01mnyYaA8xhKOVYXgEnvGVmGF/0CJNJ9G49wPAtuN2liCSgOp/hvMtuy04Ww==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(376002)(39860400002)(366004)(396003)(451199015)(9686003)(7696005)(26005)(2906002)(6506007)(86362001)(54906003)(38100700002)(55016003)(52536014)(83380400001)(5660300002)(33656002)(110136005)(8936002)(316002)(186003)(71200400001)(66556008)(66946007)(66476007)(66446008)(558084003)(76116006)(478600001)(4326008)(8676002)(64756008)(38070700005)(41300700001)(122000001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9462
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	41b3a22a-b58c-49f0-7b05-08dad8c5e7f9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IrHbt7zTjsPb6mDc+L1Y86w+56z2hkcqHpzIK4i7m8oA9rNC5TkZVswkLJqn9jsWd8BcHf8bNcFwIVQOQoyIC3VJq3YwNqJolar2UAstyGKmTiRUgLmVQXoOpNuRBJUWYH7ME+RoEgke/DvtGCU42GWCr86x1Pe4jPPhgQSZ/7YSTCUVZiZ0f6c7iABezCiuPupprdSsSKM30Gxx0uTo5bI0ge4Q/mIeWQ69UuD1ABOgntt2B8zFaoZg04A2AOOwDXrTDpjpubN9B1+MHtLNxV1oYDro3id9yT3vXGI8//PRKCBhaD6zJi/qtfXYdh4WHYga8pXAN5no5lO0Tc9C0aKRmrvBO7jpJ5wXgVL/OZFlka2ZU6AUOZuqcAxz1uYj1abeqWLcz6AQI53JEV1e/uTaqGybSYMl/fLyElLlnIiV9rHtgmsJBcPKOcZOTMJRndmVFVH3mTRdrWVmUR4JszdlY6nQngaJDkZZ6qtzxIedMum1DsKQznkaIgV1DOdA/sYSwTUlwJUf+4ksnfxzATHVhtYaJpqM8uTWB5nxQgevql18nLHFVakVq8XVAuN+8qMN6LwAIUpHuFgjmMyF4MSD5KbVQkAMxT81YDv6OmHS9HaAY5puEq5CUvG6PSq2hd//HrYeVVGjJoDxfsKcAHE5l+1rFQwE7D2sqgLtbFXtcHpIT7kIhFhBzzAbza2QVhxbmsguqadhbfVNkYleUA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(346002)(39860400002)(396003)(376002)(136003)(451199015)(40470700004)(46966006)(36840700001)(2906002)(40460700003)(7696005)(478600001)(6506007)(26005)(186003)(9686003)(55016003)(82740400003)(33656002)(81166007)(356005)(40480700001)(336012)(82310400005)(36860700001)(47076005)(558084003)(86362001)(83380400001)(70586007)(4326008)(8936002)(70206006)(8676002)(41300700001)(5660300002)(110136005)(52536014)(54906003)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 02:43:02.4913
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 67ebb3c9-d23c-45a0-4186-08dad8c5ed2b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6137

Hi Julien,

> -----Original Message-----
> From: Julien Grall <julien@xen.org>
> Subject: [PATCH for-4.17] SUPPORT.md: Define support lifetime
>=20
> Signed-off-by: Julien Grall <julien@xen.org>

Release-acked-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 02:48:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 02:48:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456773.714584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p36xU-0005Sj-C4; Thu, 08 Dec 2022 02:48:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456773.714584; Thu, 08 Dec 2022 02:48:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p36xU-0005Sc-8p; Thu, 08 Dec 2022 02:48:24 +0000
Received: by outflank-mailman (input) for mailman id 456773;
 Thu, 08 Dec 2022 02:48:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=miOe=4G=zlw.email=sisyphean@srs-se1.protection.inumbo.net>)
 id 1p36xR-0005SW-Iz
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 02:48:22 +0000
Received: from mail.zlw.email (unknown [112.49.95.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bdd26eec-76a2-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 03:48:18 +0100 (CET)
Received: from localhost (unknown [127.0.0.1])
 by mail.zlw.email (Postfix) with ESMTP id C711D173F34;
 Thu,  8 Dec 2022 02:48:24 +0000 (UTC)
Received: from mail.zlw.email ([127.0.0.1])
 by localhost (mail.zlw.email [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id UKdH68aT08z2; Thu,  8 Dec 2022 10:48:22 +0800 (CST)
Received: from [192.168.66.233] (OpenWrt.lan [192.168.66.1])
 by mail.zlw.email (Postfix) with ESMTPSA id 9EB54173BFC;
 Thu,  8 Dec 2022 10:48:21 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdd26eec-76a2-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zlw.email; h=
	content-transfer-encoding:content-type:content-type:in-reply-to
	:from:from:references:to:content-language:subject:subject
	:user-agent:mime-version:date:date:message-id; s=dkim; t=
	1670467702; x=1673059703; bh=yDq4Dr6UhgYURsOv/3WUc3CtNSV7lwxc1NT
	3XNdonlo=; b=kAdt6tLKNHUr6ZqBBvXlk5tcE9LuOz51goTagIYz5iyNHi2fKwa
	Xf9qu+P4fzJHrI/NkUK2jAnDHeyDq/Dmi0/RDFbI9+TLHhr6advGLPwltJTByTQD
	qBSRChX9SHtURLb2aFHF0fXZF5Fz405B4DROYnSIdA+Y82jd5nZssL4A=
X-Virus-Scanned: amavisd-new at zlw.email
Message-ID: <ad2fe136-7a22-8435-143d-783fcbdab001@zlw.email>
Date: Thu, 8 Dec 2022 10:48:23 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [BUG]SMMU-V3 queue need no-cache memory
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: julien@xen.org, sstabellini@kernel.org, xen-devel@lists.xenproject.org
References: <e1e0e347-6530-7b68-92f7-ef52defa55ac@zlw.email>
 <75D89B2C-BBE4-419A-80B7-FEE39445ABB2@arm.com>
From: sisyphean <sisyphean@zlw.email>
In-Reply-To: <75D89B2C-BBE4-419A-80B7-FEE39445ABB2@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Rahul Singh,

在 2022/12/7 18:24, Rahul Singh 写道:
> Hi Sisyphean,
>
>> On 7 Dec 2022, at 2:04 am, sisyphean <sisyphean@zlw.email> wrote:
>>
>> Hi,
>>
>>      I try to run XEN on my ARM board(Sorry, for some commercial reasons, I can't tell you
>>      on which platform I run XEN)  and enable SMMU-V3, but all cmds in cmdq failed when XEN started.
>>
>>      After using the debugger to track debugging, the reason for this problem is that
>>      the queue in the smmu-v3 driver is not no-cache, so after the function arm_smmu_cmdq_build_cmd
>>      is executed, the cmd is still in cache.Therefore, the SMMU-V3 hardware cannot obtain the correct cmd
>>      from the memory for execution.
> Yes you are right as of now we are allocating the memory for cmdqueue via _xzalloc() which is cached
> memory because of that you are observing the issue. We have tested the Xen SMMUv3 driver on SOC
> where SMMUv3 HW is in the coherency domain, and because of that we have not encountered this issue.
>
> I think In your case SMMUv3 HW is not in the coherency domain. Please confirm from your side if the
> "dma-coherent” property is not set in DT.
>
> I think there is no function available as of now to request Xen to allocate memory that is not cached.
>
> @Julien and @Stefano do you have any suggestion on how we can request memory from Xen that is not
> cached something like dma_alloc_coherent() in Linux.
>
> Regards,
> Rahul
I have tried to set "dma-coherent" and not set "dma-coherent" in DT. The 
results are consistent, and
SMMUv3 HW cannot get the correct cmd from memory


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 03:06:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 03:06:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456781.714595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p37F8-0008Ng-RA; Thu, 08 Dec 2022 03:06:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456781.714595; Thu, 08 Dec 2022 03:06:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p37F8-0008NZ-No; Thu, 08 Dec 2022 03:06:38 +0000
Received: by outflank-mailman (input) for mailman id 456781;
 Thu, 08 Dec 2022 03:06:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R/A3=4G=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p37F7-0008NT-Sg
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 03:06:38 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5381ecb8-76a5-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 04:06:36 +0100 (CET)
Received: from FR3P281CA0200.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a5::15)
 by DB9PR08MB7865.eurprd08.prod.outlook.com (2603:10a6:10:39c::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 03:06:32 +0000
Received: from VI1EUR03FT010.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:a5:cafe::dd) by FR3P281CA0200.outlook.office365.com
 (2603:10a6:d10:a5::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5901.8 via Frontend
 Transport; Thu, 8 Dec 2022 03:06:32 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT010.mail.protection.outlook.com (100.127.144.228) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.16 via Frontend Transport; Thu, 8 Dec 2022 03:06:31 +0000
Received: ("Tessian outbound aeae1c7b66fd:v130");
 Thu, 08 Dec 2022 03:06:30 +0000
Received: from 2881c8a78aff.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D00905BE-F332-4250-BCD0-A512F72E16A5.1; 
 Thu, 08 Dec 2022 03:06:25 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2881c8a78aff.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 08 Dec 2022 03:06:25 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS4PR08MB7532.eurprd08.prod.outlook.com (2603:10a6:20b:4fb::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Thu, 8 Dec
 2022 03:06:24 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%8]) with mapi id 15.20.5880.011; Thu, 8 Dec 2022
 03:06:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5381ecb8-76a5-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DGlUX7q3Qtj1ROtVo1yZl4e0zk93YW05JgxJlgIbOvI=;
 b=Li31A049vfT6TqQoeAOpm6InBeHM75RX5FCwtRyjVjZgU0y3O7XNndvev/cvtvyTFbS9KF5kFWAG11Wyl8j8NvytGyo5UxDmFWK9K5+UbQ9q8uqgQNnVBF1CzJFr2EEkL3PjMK5Q7CCYTLacMcIXx+giXGbrN17FxsB+gb8unBo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Oz4WO2nxRTLFzS/SllDfeoC2+DD+MCCxL3AuxAgD2n9HGYCl/aadB0fG+cyPy6tJP1V7glcS2tfwGQzJ41ByyeosDB0lZP9OcY5UqCY7KcChdTXfSVHFXy6RBbhBAZ/+pcJgQE+hULFz942039XFAf0LXNgSMVudTJkOZAWfTuuGpU7QVWaoUeN8Fk0gtvHrGijqI+RsN0zYVzGg+3NTs1Dt2Yju0GsvOH4n+kTAiU+/YFQqyZw/Tkw72TSDuAt2WqlpylsXjLOlP1nqlR+/JX3/Vr1LdL7smkp93YWxBBZAEhxRqWttOPmoV0qtqrYhjB+9ZVwNBZ0W1eR9Ph0bwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DGlUX7q3Qtj1ROtVo1yZl4e0zk93YW05JgxJlgIbOvI=;
 b=NQYLiB63YRD4TMTvd9CI9b+iaDlcVQV7M3/fhQAbrlin+qBm5k8TtzU0VPodKsa0sResIKc8eBlJMnZprrmLGsY9WEwy+/RfHQ9XVI0Lbs2IeNVMWVvdXs6bSatUIAKC4niUVgwrAmaDegr774rY9dhqpJOBoDV1tbmk1jQi6B25xRoccU/sLnkp9dcutQKM6Mqp/JTm9da6eBBw+KNMum2/vHVcyURCtAd4OxroPwyL/EbvPZ8jk+fiL9W0jpco+t2upDTrR1Y2byE7IsrtEIlB8ddbtkQm+IVvceKUxYEeZZ8bL+scJ4uPHfek8uGCz4RUHtyQ1Brjys/kYYsv3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DGlUX7q3Qtj1ROtVo1yZl4e0zk93YW05JgxJlgIbOvI=;
 b=Li31A049vfT6TqQoeAOpm6InBeHM75RX5FCwtRyjVjZgU0y3O7XNndvev/cvtvyTFbS9KF5kFWAG11Wyl8j8NvytGyo5UxDmFWK9K5+UbQ9q8uqgQNnVBF1CzJFr2EEkL3PjMK5Q7CCYTLacMcIXx+giXGbrN17FxsB+gb8unBo=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
CC: Wei Chen <Wei.Chen@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v2] xen/arm: p2m: Populate pages for GICv2 mapping in
 arch_domain_create()
Thread-Topic: [PATCH v2] xen/arm: p2m: Populate pages for GICv2 mapping in
 arch_domain_create()
Thread-Index: AQHY36RSrOIThkYtnEq9RrtWc+uYX64NsO2AgAACdYCAAZeJAIBUVNkA
Date: Thu, 8 Dec 2022 03:06:23 +0000
Message-ID:
 <AS8PR08MB799170627B34BD2627CE3092921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20221014080917.14980-1-Henry.Wang@arm.com>
 <a947e0b4-8f76-cea6-893f-abf30ff95e0d@xen.org>
 <AS8PR08MB7991FD5994497D812FE3AE2E92249@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <9d5ab09e-650f-118d-0233-d7988f1504f1@xen.org>
In-Reply-To: <9d5ab09e-650f-118d-0233-d7988f1504f1@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: A6BB1621F5AED4479752C130E5B72077.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS4PR08MB7532:EE_|VI1EUR03FT010:EE_|DB9PR08MB7865:EE_
X-MS-Office365-Filtering-Correlation-Id: 4361f82c-b79b-48fd-3d1f-08dad8c93519
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 1xtaGPOIPwPt9oYosJQm6ecnVmOQ+lXg0GQCx57uX+MDiCeAXQVTpNT/rglNGbRka0LtbdAPm7qbuTDtp5mnfaICVyKpCPYCvBZu3eumdTY79m0p1+mBzLu43osE8O+LaVeX0co7dwAEYJgHxWDqIA0VgjItnfizVPZBz7zeuyicOmLAlgFOwPiqUW3VTK1EFvo8nnlGeHEpObY6KyRxEtG+Q+8jtDxohalnASI+sccFM7cRplbARVERksgZt2n1+vWdtFqHGU/kZJ6dzjSuY9P2XzOOLAZ/ofDL4kA19RmiG1FlsrFsVRJanIq7HGxuQ3gY71yfs6vTomTahacgVXpYQ4t45VLkLnIFUacwep8Hua6+o3LehiXBEi6zHP4zgINZcq9G1NBmztPFQcA6qMF93zy7nXi2nZeSaf/zd1G+XEroITruMLTdBzzqH/jGp9fBlFL0B1LK65Z0zOiZ9w8dUKwJUJfk1MEgyzHXaWxkGT+efgOYfCjLKikicPtQINLmIAENmNi7cgmlq1b99tEcQfyy6E9uVMu25WkA2fAI/XTPd24PsRuKoa0shrVx68RYHIsR2LenhBBrQoOn2eTtvEBZJH/Srx8DIwX0CrtgB9+TTxUMC1Hn/QrRFRywbRz8bRvamb6xFN/hlu9UK+hLI6rP7nv6udYdFtKWkcJXFPZ5VqQGZJuKgE+3GqdPoU2U+XQkTzCaolUEpeoEtw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(376002)(39860400002)(396003)(136003)(346002)(451199015)(2906002)(6636002)(86362001)(55016003)(71200400001)(33656002)(7696005)(6506007)(54906003)(186003)(83380400001)(110136005)(26005)(122000001)(66946007)(76116006)(8936002)(41300700001)(5660300002)(52536014)(38100700002)(66556008)(478600001)(8676002)(64756008)(9686003)(66446008)(4326008)(66476007)(38070700005)(316002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7532
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VI1EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e0a34bc3-68fe-485a-0a46-08dad8c93080
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	f8N7r5j8jnZivhVuyJpaUdT+ad6dJiNB9ZRreZY6MrpwKd0dCXYY3O1UkxJwaex7izIEbibSgR6FgJTFL2hsldwfY6B7KIfDjmPmy4njaa/MCNv3tDAqco5MG+/38v7GD7xM6mNtxVKqZQwYhj9AIWb9u1br/mP0dmvA1kxHUCvyCUr9SzWIpyXFjGOLBKp3Ih3mg6nWCVdqN6As5u0PprPVQKUCu3EcrvkbMh3JQMTqfwNqUh62CP7xaxdSWI0qmEGzSXd0jgzyYB8QsxMix9F7taAt2nCACajJva1tLnZ7PCJWfisuMMY7MT/5jHHbUfMeJEVmMEEEaLXncMAvFqNvq+d9W/8AghlynmY4DuXLxGk+cpUP5ql52sWurCEbzfJCcYMmpc9oZk7lYtD/rQoFP1gJ7zu7wpKwGGrw/XeWBikdaAnwWx+ygIxwKpdzTwC+NZZbpNErGPnG+0DR/2XIFRhD6sa1HyTDIGNNudf971hgtmSzKdCl43tTkbIGSmu2MsPUbsnOdZOSOm3mbwm8Lx9s4zg6UUCPwYoa3NtqahV0+m+wgmTKlT1ynZSqj0rkAD2+pG+KTv96So+qn6lwa/SiSQDfeqn7inXpvPOkV8Rn6d7rruYCvebo1o6QMNlcLoUDvd9K/QQHANl5qhqnRr24isjMorrxd2XQoqOr9hOkEJpGvN0FYzaZEMnrOSHFbBOumM9FNpAK78gbEA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(396003)(39860400002)(136003)(451199015)(36840700001)(40470700004)(46966006)(2906002)(33656002)(83380400001)(47076005)(8676002)(8936002)(5660300002)(52536014)(4326008)(54906003)(316002)(70586007)(70206006)(41300700001)(6636002)(110136005)(55016003)(478600001)(40480700001)(82740400003)(7696005)(9686003)(26005)(82310400005)(86362001)(6506007)(81166007)(186003)(356005)(40460700003)(336012)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 03:06:31.5969
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4361f82c-b79b-48fd-3d1f-08dad8c93519
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VI1EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7865

SGkgSnVsaWVuLCBTdGVmYW5vLCBCZXJ0cmFuZCwNCg0KSSBhbSB0cnlpbmcgdG8gd29yayBvbiB0
aGUgZm9sbG93LXVwIGltcHJvdmVtZW50cyBhYm91dCB0aGUgQXJtIFAyTSBjb2RlLA0KYW5kIHdo
aWxlIHRyeWluZyB0byBhZGRyZXNzIHRoZSBjb21tZW50IGJlbG93LCBJIG5vdGljZWQgdGhlcmUg
d2FzIGFuIHVuZmluaXNoZWQNCmRpc2N1c3Npb24gYmV0d2VlbiBtZSBhbmQgSnVsaWVuIHdoaWNo
IEkgd291bGQgbGlrZSB0byBjb250aW51ZSBhbmQgaGVyZQ0Kb3BpbmlvbnMgZnJvbSBhbGwgb2Yg
eW91IChpZiBwb3NzaWJsZSkuDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJv
bTogSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2
Ml0geGVuL2FybTogcDJtOiBQb3B1bGF0ZSBwYWdlcyBmb3IgR0lDdjIgbWFwcGluZyBpbg0KPiBh
cmNoX2RvbWFpbl9jcmVhdGUoKQ0KPiA+PiBJIGFsc28gbm90aWNlZCB0aGF0IHJlbGlucXVpc2hf
cDJtX21hcHBpbmcoKSBpcyBub3QgY2FsbGVkLiBUaGlzIHNob3VsZA0KPiA+PiBiZSBmaW5lIGZv
ciB1cyBiZWNhdXNlIGFyY2hfZG9tYWluX2NyZWF0ZSgpIHNob3VsZCBuZXZlciBjcmVhdGUgYQ0K
PiA+PiBtYXBwaW5nIHRoYXQgcmVxdWlyZXMgcDJtX3B1dF9sM19wYWdlKCkgdG8gYmUgY2FsbGVk
Lg0KDQpGb3IgdGhlIGJhY2tncm91bmQgb2YgdGhlIGRpc2N1c3Npb24sIHRoaXMgd2FzIGFib3V0
IHRoZSBmYWlsdXJlIHBhdGggb2YNCmFyY2hfZG9tYWluX2NyZWF0ZSgpLCB3aGVyZSB3ZSBvbmx5
IGNhbGwgcDJtX2ZpbmFsX3RlYXJkb3duKCkgd2hpY2ggZG9lcw0Kbm90IGNhbGwgcmVsaW5xdWlz
aF9wMm1fbWFwcGluZygpLi4uDQoNCj4gPj4NCj4gPj4gSSB0aGluayBpdCB3b3VsZCBiZSBnb29k
IHRvIGNoZWNrIGl0IGluIF9fcDJtX3NldF9lbnRyeSgpLiBTbyB3ZSBkb24ndA0KPiA+PiBlbmQg
dXAgdG8gYWRkIHN1Y2ggbWFwcGluZ3MgYnkgbWlzdGFrZS4NCj4gDQo+IEZvciBjaGVja2luZyB0
aGUgbWFwcGluZywgd2UgY2FuIGRvOg0KPiANCj4gaWYgKCAhcmVtb3ZpbmdfbWFwcGluZyAmJiAo
cDJtX2lzX2ZvcmVpZ24odCkgfHwgKHAybV9pc19yYW0odCkgJiYNCj4gaXNfeGVuaGVhcF9tZm4o
bWZuKSkgKQ0KPiAgICAgIHJldHVybiAtRUlOVkFMOw0KPiANCj4gV2UgYWxzbyBuZWVkIGEgd2F5
IHRvIGNoZWNrIHdoZXRoZXIgd2UgYXJlIGNhbGxlZCBmcm9tDQo+IGFyY2hfZG9tYWluX2NyZWF0
ZSgpLiBJIHRoaW5rIHdlIHdvdWxkIG5lZWQgYSBmaWVsZCBpbiB0aGUgZG9tYWluDQo+IHN0cnVj
dHVyZSB0byBpbmRpY2F0ZSB3aGV0aGVyIGl0IGlzIHN0aWxsIGluaXRpYWxpemF0aW5nLg0KPiAN
Cj4gVGhpcyBpcyBhIGJpdCB1Z2x5IHRob3VnaC4gQW55IG90aGVyIHN1Z2dlc3Rpb25zPw0KDQou
Li5hbmQgSSBhZ3JlZSB3aXRoIEp1bGllbiB0aGF0IHRoaXMgY2hlY2sgbWFrZXMgZ3JlYXQgc2Vu
c2UgYW5kIEkgd2lsbCBhZGQNCnRoaXMgY2hlY2sgaW4gdGhlIGZvbGxvdyB1cCBwYXRjaCBhcyBk
aXNjdXNzZWQuDQoNCkhvd2V2ZXIgSSBhbSBub3QgcmVhbGx5IGNvbnZpbmNlZCB0aGlzIGxvb2tz
IHByZXR0eSwgYW5kIEkgd291bGQgbGlrZSB0bw0KaGVhciBvcGluaW9ucyAvIHN1Z2dlc3Rpb25z
IGFib3V0IGJlbG93IGNvZGUsIGRvZXMgYmVsb3cgY29kZSBzbmlwcGV0DQpzZWVtIHBsYXVzaWJs
ZSB0byB5b3U/DQoNCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vcDJtLmMgYi94ZW4vYXJjaC9h
cm0vcDJtLmMNCkBAIC0xMDQzLDYgKzEwNDMsMTAgQEAgc3RhdGljIGludCBfX3AybV9zZXRfZW50
cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwNCiAgICAgICovDQogICAgIEFTU0VSVCh0YXJnZXQg
PiAwICYmIHRhcmdldCA8PSAzKTsNCg0KKyAgICBpZiAoICFyZW1vdmluZ19tYXBwaW5nICYmIGQt
PmFyY2gucDJtLmZyb21fYXJjaF9kb21haW5fY3JlYXRlICYmIA0KKyAgICAgICAgIChwMm1faXNf
Zm9yZWlnbih0KSB8fCAocDJtX2lzX3JhbSh0KSAmJiBpc194ZW5oZWFwX21mbihtZm4pKSApDQor
ICAgICAgICByZXR1cm4gLUVJTlZBTDsNCisNCiAgICAgdGFibGUgPSBwMm1fZ2V0X3Jvb3RfcG9p
bnRlcihwMm0sIHNnZm4pOw0KDQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbi5jIGIv
eGVuL2FyY2gvYXJtL2RvbWFpbi5jDQpAQCAtNjg3LDYgKzY4Nyw4IEBAIGludCBhcmNoX2RvbWFp
bl9jcmVhdGUoc3RydWN0IGRvbWFpbiAqZCwNCiAgICAgaWYgKCAocmMgPSBwMm1faW5pdChkKSkg
IT0gMCApDQogICAgICAgICBnb3RvIGZhaWw7DQoNCisgICAgZC0+YXJjaC5wMm0uZnJvbV9hcmNo
X2RvbWFpbl9jcmVhdGUgPSB0cnVlOw0KKw0KICAgICByYyA9IC1FTk9NRU07DQogICAgIGlmICgg
KGQtPnNoYXJlZF9pbmZvID0gYWxsb2NfeGVuaGVhcF9wYWdlcygwLCAwKSkgPT0gTlVMTCApDQog
ICAgICAgICBnb3RvIGZhaWw7DQpAQCAtNzUxLDYgKzc1Myw4IEBAIGludCBhcmNoX2RvbWFpbl9j
cmVhdGUoc3RydWN0IGRvbWFpbiAqZCwNCiAgICAgaWYgKCAocmMgPSBkb21haW5fdnBjaV9pbml0
KGQpKSAhPSAwICkNCiAgICAgICAgIGdvdG8gZmFpbDsNCg0KKyAgICBkLT5hcmNoLnAybS5mcm9t
X2FyY2hfZG9tYWluX2NyZWF0ZSA9IGZhbHNlOw0KKw0KICAgICByZXR1cm4gMDsNCg0KS2luZCBy
ZWdhcmRzLA0KSGVucnkNCg==


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 03:27:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 03:27:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456791.714606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p37ZA-0002u1-K6; Thu, 08 Dec 2022 03:27:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456791.714606; Thu, 08 Dec 2022 03:27:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p37ZA-0002tu-H0; Thu, 08 Dec 2022 03:27:20 +0000
Received: by outflank-mailman (input) for mailman id 456791;
 Thu, 08 Dec 2022 03:27:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=miOe=4G=zlw.email=sisyphean@srs-se1.protection.inumbo.net>)
 id 1p37Z8-0002tn-L8
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 03:27:19 +0000
Received: from mail.zlw.email (unknown [112.49.95.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 328eb722-76a8-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 04:27:15 +0100 (CET)
Received: from localhost (unknown [127.0.0.1])
 by mail.zlw.email (Postfix) with ESMTP id 37A5617417A;
 Thu,  8 Dec 2022 03:22:17 +0000 (UTC)
Received: from mail.zlw.email ([127.0.0.1])
 by localhost (mail.zlw.email [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id T1cytlQay34L; Thu,  8 Dec 2022 11:22:14 +0800 (CST)
Received: from [192.168.66.233] (OpenWrt.lan [192.168.66.1])
 by mail.zlw.email (Postfix) with ESMTPSA id CCAF0173BFC;
 Thu,  8 Dec 2022 11:22:13 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 328eb722-76a8-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zlw.email; h=
	content-transfer-encoding:content-type:content-type:in-reply-to
	:from:from:references:to:content-language:subject:subject
	:user-agent:mime-version:date:date:message-id; s=dkim; t=
	1670469734; x=1673061735; bh=zzz/0J6qeEVtF7m57Es5QJhgv8j6d0g9Q1h
	lxHa7JTE=; b=tK1bWf4pVMIb/0wr4WOeG3H2B+oMjGfWMWSkflXy7rtsvwJFgHZ
	nhYeSUQgPXy++swxy2YMJMeTVelkLoit3NrVbGv5koe0Nsu6UTtM22l/+ED60J88
	jjEz0a5N30HoYX7EFZ6W0dcZalA1RKbyOHW0PhFJlwZ7Kjzz85rvwNB8=
X-Virus-Scanned: amavisd-new at zlw.email
Message-ID: <e42045c9-9f0e-9a2a-94ac-077d33534e88@zlw.email>
Date: Thu, 8 Dec 2022 11:22:11 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [BUG]SMMU-V3 queue need no-cache memory
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Rahul Singh <Rahul.Singh@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e1e0e347-6530-7b68-92f7-ef52defa55ac@zlw.email>
 <75D89B2C-BBE4-419A-80B7-FEE39445ABB2@arm.com>
 <fe0f90fa-84aa-54b2-1e12-98baff7fcaf7@xen.org>
 <alpine.DEB.2.22.394.2212071418570.4039@ubuntu-linux-20-04-desktop>
From: sisyphean <sisyphean@zlw.email>
In-Reply-To: <alpine.DEB.2.22.394.2212071418570.4039@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

在 2022/12/8 06:22, Stefano Stabellini 写道:

> On Wed, 7 Dec 2022, Julien Grall wrote:
>> Hi,
>>
>> I only noticed this e-mail because I was skimming xen-devel. If you want to
>> get our attention, then I would suggest to CC both of us because I (and I
>> guess Stefano) have filter rules so those e-mails land directly in my inbox.
>>
>> On 07/12/2022 10:24, Rahul Singh wrote:
>>>> On 7 Dec 2022, at 2:04 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>
>>>> Hi,
>>>>
>>>>       I try to run XEN on my ARM board(Sorry, for some commercial reasons,
>>>> I can't tell you
>>>>       on which platform I run XEN)  and enable SMMU-V3, but all cmds in
>>>> cmdq failed when XEN started.
>>>>
>>>>       After using the debugger to track debugging, the reason for this
>>>> problem is that
>>>>       the queue in the smmu-v3 driver is not no-cache, so after the
>>>> function arm_smmu_cmdq_build_cmd
>>>>       is executed, the cmd is still in cache.Therefore, the SMMU-V3
>>>> hardware cannot obtain the correct cmd
>>>>       from the memory for execution.
>>> Yes you are right as of now we are allocating the memory for cmdqueue via
>>> _xzalloc() which is cached
>>> memory because of that you are observing the issue. We have tested the Xen
>>> SMMUv3 driver on SOC
>>> where SMMUv3 HW is in the coherency domain, and because of that we have not
>>> encountered this issue.
>>>
>>> I think In your case SMMUv3 HW is not in the coherency domain. Please
>>> confirm from your side if the
>>> "dma-coherent” property is not set in DT.
>>>
>>> I think there is no function available as of now to request Xen to allocate
>>> memory that is not cached.
>> You are correct.
>>
>>> @Julien and @Stefano do you have any suggestion on how we can request memory
>>> from Xen that is not
>>> cached something like dma_alloc_coherent() in Linux.
>> At the moment all the RAM is mapped cacheable in Xen. So it will require some
>> work to have some memory uncacheable.
>>
>> There are two options:
>>   1) Allocate a pool of memory at boot time that will be mapped with different
>> memory attribute. This means we would need a separate pool and the user will
>> have to size it.
>>   2) Modify after the allocation the caching attribute in the memory and then
>> revert back after freeing. The cons is we would end up to shatter superpage.
>> We also can't re-create superpage (yet), but that might be fine if the memory
>> is never freed.
>>
>> Option two would probably the best. But before going that route I have one
>> question...
>>
>>> The temporary solution I use is to execute function clean_dcache every
>>> time cmd is copied to cmdq in function queue_write. But it is obvious
>>> that this will seriously affect the efficiency.
>> I agree you will see some performance impact in micro-benchmark. But I am not
>> sure about normal use-cases. How often do you expect the command queue to be
>> used?
> That is a good question. But even for the micro-benchmark, is the
> difference significant?
>
> My gut feeling (to be discussed and confirmed) is that for this use-case
> it might not be worth to do option 1) or option 2) above. Clean_dcache
> as needed might be good enough?
>
>
>> Also, I am a bit surprised you are seing issue with the command queue but not
>> with the stage-2 page-tables. Does your SMMU support coherent walk but cannot
>> snoop for the command queue?

Hi,

I'm sorry that my statement made you misunderstand. I haven't conducted 
micro-benchmark yet.

I found this problem because "CMD_SYNC timeout" was frequently prompted 
when initializing
SMMUv3 during XEN startup.

As for the usage frequency of the command queue, I'm trying to 
passthrough PCIE devices to the DomU.
According to my understanding, all operations on the device will be 
performed through SMMUv3 after
the device passesthrough? Therefore, queues will be used frequently.

This is my first contact with SMMU and XEN. Please forgive me for some 
low-level mistakes.

Cheers,
-- 
Sisyphean



From xen-devel-bounces@lists.xenproject.org Thu Dec 08 04:06:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 04:06:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456798.714617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p38AR-0008AM-GB; Thu, 08 Dec 2022 04:05:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456798.714617; Thu, 08 Dec 2022 04:05:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p38AR-0008AF-DT; Thu, 08 Dec 2022 04:05:51 +0000
Received: by outflank-mailman (input) for mailman id 456798;
 Thu, 08 Dec 2022 04:05:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p38AQ-0008A5-8w; Thu, 08 Dec 2022 04:05:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p38AQ-00042l-5m; Thu, 08 Dec 2022 04:05:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p38AP-0002g8-H5; Thu, 08 Dec 2022 04:05:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p38AP-0001AF-FP; Thu, 08 Dec 2022 04:05:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+a0sp7V9qtva6uBkU19PwAQDpM0Ibxw75q1zbRc0hK4=; b=ugbwQYT8PFXVaqBfkj/zwuPHmp
	ObdC23XXWxoRaPpgka0cnvZIY/hGAunJtA+YElg8pRFNwt7YLW8TR5DBzYPPLwKnBeCxPpUZUyYSQ
	xa4tgaFgUcZU5rcU1g3O3cMjFo+LB67aWRtwI5YclmCYQt6bld1w9i8FgaUejghPiBkc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175079-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 175079: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate/x10:fail:heisenbug
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4aa115ea4e92ffc787fa17a4bd1f2cb903457412
X-Osstest-Versions-That:
    xen=100c3416b5cab2e06c774f68e1d7410cb0fc52b1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 08 Dec 2022 04:05:49 +0000

flight 175079 xen-4.17-testing real [real]
flight 175084 xen-4.17-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175079/
http://logs.test-lab.xenproject.org/osstest/logs/175084/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-intel 20 guest-localmigrate/x10 fail pass in 175084-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175025
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175025
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175025
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175025
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175025
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175025
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175025
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175025
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175025
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175025
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175025
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175025
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  4aa115ea4e92ffc787fa17a4bd1f2cb903457412
baseline version:
 xen                  100c3416b5cab2e06c774f68e1d7410cb0fc52b1

Last test of basis   175025  2022-12-02 14:08:14 Z    5 days
Testing same since   175079  2022-12-07 20:36:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Henry Wang <Henry.Wang@arm.com>
  Julien Grall <julien@xen.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   100c3416b5..4aa115ea4e  4aa115ea4e92ffc787fa17a4bd1f2cb903457412 -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 04:48:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 04:48:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456813.714643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p38pW-0005Ha-S9; Thu, 08 Dec 2022 04:48:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456813.714643; Thu, 08 Dec 2022 04:48:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p38pW-0005HT-PZ; Thu, 08 Dec 2022 04:48:18 +0000
Received: by outflank-mailman (input) for mailman id 456813;
 Thu, 08 Dec 2022 04:48:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p38pU-0005HJ-QI; Thu, 08 Dec 2022 04:48:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p38pU-0005Bz-MQ; Thu, 08 Dec 2022 04:48:16 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p38pU-0004Rf-6X; Thu, 08 Dec 2022 04:48:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p38pU-0003F8-68; Thu, 08 Dec 2022 04:48:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CZcNwTPE0rO1klDvL6j88o6uSfzpDg6WzBnrnF13m6g=; b=YzPT+p6GAcPSOpY4/NKOV+s2I9
	MvoNfp0HsV1xQqCLPKiO+cw9KxMFzjy94Alrt4Fwq904oDcGKO+PnlNNBEO8naUh45acIQiaoxBgf
	lSwxMWo+Jg9gqw5SrnXsC+8kt5ZMGQzijl1yTpmp8R+yVUDni5GTEaf552l7lYmPpz4w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175085-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175085: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=d9e7f6fe49738421c02381425d289767d7055ef1
X-Osstest-Versions-That:
    ovmf=ca33daafc630a7952de482813dccd5202f005dbf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 08 Dec 2022 04:48:16 +0000

flight 175085 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175085/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 d9e7f6fe49738421c02381425d289767d7055ef1
baseline version:
 ovmf                 ca33daafc630a7952de482813dccd5202f005dbf

Last test of basis   175064  2022-12-06 20:42:30 Z    1 days
Testing same since   175085  2022-12-08 03:10:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Rebecca Cran <rebecca@quicinc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   ca33daafc6..d9e7f6fe49  d9e7f6fe49738421c02381425d289767d7055ef1 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 06:24:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 06:24:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456829.714654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3AKH-00015H-QJ; Thu, 08 Dec 2022 06:24:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456829.714654; Thu, 08 Dec 2022 06:24:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3AKH-00015A-Nj; Thu, 08 Dec 2022 06:24:09 +0000
Received: by outflank-mailman (input) for mailman id 456829;
 Thu, 08 Dec 2022 06:24:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=LnEJ=4G=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p3AKG-000150-6x
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 06:24:08 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea812500-76c0-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 07:24:06 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 84B6B22CBA;
 Thu,  8 Dec 2022 06:24:05 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4902213416;
 Thu,  8 Dec 2022 06:24:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id va4REAWDkWOZcwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 08 Dec 2022 06:24:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea812500-76c0-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670480645; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=29KpDgd6vmC5js97aK76aYrAql01eNmTPz/ekUGfRs4=;
	b=F0LYyFjQtXywoA1/1sGPOqxk2VpkmI2fqNBBYOBsMXk75GEWew1vFZDMHayFnUvClHppbS
	EeueT7CxgmDyQSNq6nSNFlg/Pe2kJnRJ1h9r8OHiWmH8j/ANkX0Qlua5FIj5GjmOyHvBKv
	SXUV1+ql9niurNyvW8dlxoLgvHIYmYw=
From: Juergen Gross <jgross@suse.com>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	sstabellini@kernel.org
Subject: [GIT PULL] xen: branch for v6.1-rc9b
Date: Thu,  8 Dec 2022 07:24:04 +0100
Message-Id: <20221208062404.29189-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-xsa-6.1-rc9b-tag

xen: branch for v6.1-rc9b

It contains a single fix for the recent security issue XSA-423.

Thanks.

Juergen

 drivers/net/xen-netback/netback.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Juergen Gross (1):
      xen/netback: fix build warning


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 07:44:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 07:44:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456836.714666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3BZz-0002ZW-KY; Thu, 08 Dec 2022 07:44:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456836.714666; Thu, 08 Dec 2022 07:44:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3BZz-0002ZP-Gl; Thu, 08 Dec 2022 07:44:27 +0000
Received: by outflank-mailman (input) for mailman id 456836;
 Thu, 08 Dec 2022 07:44:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3BZy-0002ZJ-PA
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 07:44:27 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 20683317-76cc-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 08:44:22 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB9142.eurprd04.prod.outlook.com (2603:10a6:20b:449::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Thu, 8 Dec
 2022 07:44:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 07:44:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20683317-76cc-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ghJTvrX/psclKhKoRJyCDEP9RnvXdBZBsr8wYSbthuU4iQ2dSF0eywl5bHoYq37rwCzO+UTHYhRMJv3S3OQz6pOcw4T8090D1Kb+6+BB1DYATSXN/ATYX446552Q16bBHY9HhIyMRGTy9xJkqeH1b6rZz4k/PAj9BhzUEsT9vnTK94iEkQZ5SQVANThKdzK4kYsAdA9JiGAt8GLcZ4+fVAYKME+8sfBG2rHXyShtcfaEtyCdvFejlzwP2DzG1hICy6t0lfqwKjy6Nwsnb0ksi8vInrqwA35oouxLU62rQ5+gcJccOb8l6xzl9O9ZfkwFor8+lf/KrxBYc0wCyEEf+w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IqcM/64s07s6IVs+pXNhTE5ECGYiiWTdi+CVVfWqF+Q=;
 b=oS6gdE+vasyoq1XntF8TYC8nvtdRz6rCK1MP7K81gazpH7/C9vDoTs1gvEs23dYqHuUuBhlXkp2RR885xinA7Vc19zs17LsNSH1zfBJ3rptFi9QdE84Gqpa1t7lkSjdTH+Lf7WGVPqn2/I8UB8bPizjXO4u6vz4OSWkb6bZL7HDr6usRI29jOkaK1PBFFjpPeXtZLqN+XDndTFg0Lt8T2DTYcHkBv55oQVfu4SIcZXIzHCjfIKzkFucifdF11KEEKsuls51ieaNNydnnVmMhz4+WYU0UgVccD2VEZ8lcreT3ABJIzw/ytXlFLbqVJE8Kxtuk4KQR0Cl7G3DeoLAfrA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IqcM/64s07s6IVs+pXNhTE5ECGYiiWTdi+CVVfWqF+Q=;
 b=UEQsjyXHTQmSrOm6DpNMBCIZgBE6jbM85IR4dZ3MVkk2j2+j6a9t9R4Olhd+Ze031p4xcc7u8EtgZwvZ2pAsqtQt4bP9ILd7P19+/GyJzphh12xShOlf/OXtCDebFA3oOxOKpSRY/I7FsofFPhseP24TINVqJZvCDaUIQ7mP34DSN2TsrSzUrxKtqcXk1f+CN8Bdm86WYy6/JlQhngUtCGowDDXcTRrXRPQiHlaiDA7wrhyv0n8guxlHPR1U9/kVKgj5FoTmzhpHG6oyRhnbW48bWGtx5apTyYqJa4wIleGA1JjJMnVl+ZhA3c12uoY7DwutprzNWVcX8U2JhfPAuQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <01d8ada7-8613-1747-2fc5-6447ab07ca63@suse.com>
Date: Thu, 8 Dec 2022 08:44:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH for-4.17] SUPPORT.md: Define support lifetime
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Henry.Wang@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221207195907.23606-1-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221207195907.23606-1-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0094.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB9142:EE_
X-MS-Office365-Filtering-Correlation-Id: 96b2640a-cf7c-47ef-bd63-08dad8f0051c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IJvR4uFvmZ6T0pJ+1kHDVPwxpITBLyj/6PPdxfiAkCUqgvhGqo28CCOZg+uLdlNDjBvZvgsHPDtVYZNcO8H3w7k5JN0X1VTb6Scz0TWdkLT28kdlZgY8iPlP+W2m4yxguGUcIQEsNcYgbZqYfF+cqttuWq5YBKHOoGGnDZyF6ljj92UvCvvdvZZFIVAbFZnFq9wGXSuQLh3uecFNxn9zJ/BD1iLo3w0UBb7H2zl+OVPQKy6nn6vL4+WLsjDx27LliPRvbd1q5hc7F9OwUL0mZzS/fBUNG0FxHmeo0IrTSvmGki5A603rsUIrOAjRQsQr7ZI3ChJ3Ee6e5YBAvGt5Qij6Urgeo8+Zxq5UI7yxdePwMEFUl1NfB/KTCGORsXEOOyMq6r7gqzyrw/5cWdThbbhoKFkla8pV5OYTtCU2Iqffqiq6j6IU+CC36nK1wSo9WJnilKgd5Z6fOm4bZ9Dw0Pvv2OPRxGU+LHFgelrxwRrEiA6JyoGJk+FAJZg2WbjA8vGP94+Dih5mV/4UuQqZ3mI4zNHzKFKFjVCEjjLC5/WT8w2BtjW2L4NRZsyPR5NQFVhnLaD8I2Bg7SwYNpnIiRt6oVyTJNJTPIhCF6sy2Ifz8NX2nlsX1CirS7PlOf3Z4xvuymwRksR7CAhu7j4zf0ko+1Hkkx9SwkRTLL2hwi3PVam8unGEv9tbo7c7Mm+HJLQr5FFzSDjN2f0sxQQduATfPbcoaRUKfjc1e9ajKVQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(376002)(136003)(39860400002)(396003)(451199015)(31686004)(6506007)(86362001)(478600001)(31696002)(6486002)(53546011)(36756003)(558084003)(2616005)(186003)(26005)(5660300002)(66946007)(4326008)(41300700001)(8676002)(38100700002)(6512007)(66556008)(8936002)(316002)(6916009)(66476007)(2906002)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q0Iwckk3YXYwcmRTVTdqS2dFcjRKQXFKTEpsOVk3TlNEWm5qV0lWVUFsZEda?=
 =?utf-8?B?QUdsVUtQL0hKUXZrLytabmxMQlcvV3BLemxSNW05ZUFQOVZ0QitCNEdSOEtQ?=
 =?utf-8?B?ajdyRGtuRDE5NWFGejBOK25Eam5OSkxoeFlYL2gwR3A4RDVnSThqejdUbXZs?=
 =?utf-8?B?QmxpYWk0Y0I0Zm1SajN1VC84Ymxab2JrSmx3UTNLNEZsSlM5SEg4VGNRNHdQ?=
 =?utf-8?B?ejVGQmp5My9maGNTTjB3R2hBc1ROUDlBcHlORGhueXUxSWFUUThiaHNaT3po?=
 =?utf-8?B?a2dOaXNiNGYvU0F6QzhBbXpqOVBqWWdWb2lobWZsQXlaVndLREMzamtmWnNE?=
 =?utf-8?B?azNqZ21CZ2hJNUFiTTUxaVcwNzJJNlJhcHFySTRQK2w4UE9Ob1FFeWNSRzNn?=
 =?utf-8?B?WmVaVUhkOVRKeElmdmwvcTZueDNPa3lieDhVSVFQZkxmc1ZvUGtaUkpNT2hp?=
 =?utf-8?B?aE9EU3FJVmNhNUwrQ1hqdDZYS3pKSFlMZjRQK09Qc2xwanRIZm1xNkxEODJ2?=
 =?utf-8?B?dzdKUTBVWlV0ZWJibDV0RUZIdHB6RFJleEhmREhuRjl0Wkdka2dFRjN4eWln?=
 =?utf-8?B?YUluUjFCc1VSUTFBSzkzRDBHalhxcFZMVE12UlFZMWhHcHE0OVozUnBKeXdl?=
 =?utf-8?B?bk1pQzY1aWw2TjVZbWRZWExXVk8vYzQxUmdLV0s2K1JEbXlXMXM0MmJ2VzRj?=
 =?utf-8?B?OXZQcEZTUEt0Vis3VUZzN3FGZFhjVTlnQmN4WGlZQ0lZRlJuclZBVU9GYmNm?=
 =?utf-8?B?b2V1cExuZEN4VWt2NHVBUFU2RUlHZFpscWtpR0w0NkJmSVV2eHpxdW1CR2ps?=
 =?utf-8?B?VlJuMk5wSVZHMU8xYlUwbnJGQTdqSU5DdzJUbnFIUGU2cUhzNUh0NTFHSEdL?=
 =?utf-8?B?K0U3TGhsWWY0Y1JOVnFFS1RTQ2RYWjV5c2RuYmcxRmVUYVJNUzY5YzRvTkt5?=
 =?utf-8?B?ZWxnOHRaTndzRDBFTjJmK3RuOGFaeVdRYTFPZUN1OWN5U05TeEY4QkpEaTJQ?=
 =?utf-8?B?WnZiWmduZnVYaUJOYkdkcXhYQTVGaXJlcGpDS0hBMVZzK21MSS9pRXZNdXN2?=
 =?utf-8?B?S24ydUI0TUxzeU84eTJNbjRvNzhPNi81UFBDOVhVdStYczFxYlVRMWUvNTQy?=
 =?utf-8?B?WXlQMnJHTXA4WXQ5VnVlamt5dmsvODlQSU9xUUV3MEdzYnFrSTlZeW11VTE0?=
 =?utf-8?B?UEJNcElkbTJqV3RVZUsrQ1lWVzBpU3BheWJ5V3JkWmZUZ1llaDc1Z01Kd0Nq?=
 =?utf-8?B?NEJsZnh2Wlc1dGhtM2VNWVlKV0YrZUgvdTBvd0IzNW1ES1d5NEZjN2tQZDg3?=
 =?utf-8?B?L3I0UXAvSFRXQ2kyMElEMUk2YmJDVDJmZmR5bnBMTVczbk1EVGFiVEc3N1Bt?=
 =?utf-8?B?MjF2Z2diMzJoL1FXK1R2V0dGaXVLWTllYTVrK0t1c29vWlJZWHBEOUpjeGRj?=
 =?utf-8?B?dkRxNWZoZjZkRmNKMFJzL1U1Vkg5VkEycjJveHZLRzFPdWVkMFJEV2dUUDdZ?=
 =?utf-8?B?bm5WcGtmRGFXeDZxV1QrUjJXY01OVjgrM0lLQXZpd1FGSldJQ1RjUWhYUGZI?=
 =?utf-8?B?T2NFV05JdkpEQWZsS0xOMmFxSENUdlJkazJ1UlJCSjZFRlhMcjVrZmc4RUJq?=
 =?utf-8?B?L2FXY0RlQXo3TElQU3plc2NVRmljSDg4VDJLbVpTa21raWVHK1ZGN3psMmdK?=
 =?utf-8?B?VXN1ekR1SjFjWWY5czIybFMxclpoL0tUTVlNU0UvajIvSjBGVVdaNWJLc3Vh?=
 =?utf-8?B?M0hQekJGdVVzU1hFMzBPR2xQRnUxa21RdkMyR1J0ckNvbFVMcEVqN0srYzBR?=
 =?utf-8?B?OHV0cTk2YzJwZHV3OVpEbVZ3S2todHlOQ3k5OHdZQnQvL3QvYjlsbkkzcys1?=
 =?utf-8?B?bG1jU2VEUU40UE5QNXBqeWNWMjlCSjVROWJ0VHBPMGdoN3h2UFVkSkdIV3NJ?=
 =?utf-8?B?MUFDdVIzWmwyZ3IvQmQwTGVSUHM3MWdQNGdjUkNNNDA1TW0vU3BQb3QrUmFV?=
 =?utf-8?B?dHJneUJTQ3FlLzRHTHZpOGdtYVZnWDAvRHBrVFpIOVRBZ0RhR2V2ekJSekJX?=
 =?utf-8?B?aW5oWFVaMGIxRENsdmVUcnZpYUNGL09xaGsvV1liVENOaTFLU3o4QzRDTVFZ?=
 =?utf-8?Q?ahFd8d4cL1LuMCX9QrpaQ9lgF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 96b2640a-cf7c-47ef-bd63-08dad8f0051c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 07:44:21.8366
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: On2scJXK2roCLfBSUes9mXsn4EWheUKWqdFEfwLE+5Rc8uqfjHQ9TAGPMqCO6GswTF+kbJO1liX83wpf3zkYnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9142

On 07.12.2022 20:59, Julien Grall wrote:
> Signed-off-by: Julien Grall <julien@xen.org>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Thu Dec 08 08:03:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 08:03:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456846.714677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Bs1-0005zz-FK; Thu, 08 Dec 2022 08:03:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456846.714677; Thu, 08 Dec 2022 08:03:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Bs1-0005zs-Bk; Thu, 08 Dec 2022 08:03:05 +0000
Received: by outflank-mailman (input) for mailman id 456846;
 Thu, 08 Dec 2022 08:03:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3Bs0-0005zm-9W
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 08:03:04 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on062d.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bcdce9b0-76ce-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 09:03:02 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7880.eurprd04.prod.outlook.com (2603:10a6:20b:2a5::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 8 Dec
 2022 08:03:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 08:02:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bcdce9b0-76ce-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OU/5uNF4yJ0xumZeYIs31PbWg6HOzM+5FmeqKJ9madQukdwSuaEf6LWxMCGcJRnNd8ZEM2nvcoOXl4tDifIhakDz9p/F1OQ9F7u8Nh5+MULtRb/yQuXe/2FRRQbWUFeQO1ZjShv4QAH/ew8lgBhWjUlknlQyYP38S47Ul1cpJiD+vtyIDSkGBoYYENzdVGmTAQYR/QW3CYKLOa5VFl80IX+Cafs2VzHm2zK9VerrulUZTPJy8E4P8B1GvXZRcdanajUdlShrFGhTVVXHagcD/Z+WAavPFjtWkzJ7uIUYzoLhYwdLklW979PAbsWKkYaZkZEvcE1BEYxbMOm0OFMGzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tHjK7EcmTzGGF2mOc3yajPImEoyMldQucQkrH4CQbNA=;
 b=ROrAY1s4H8oVrcDDFT1I8ryT69aAbHx6Ey0Sexlqs89OLY2sENrRmLNpP4E3GqcxqhgIUE35r6vbz33/JPVVxjB6h+UGml4sL3cqIP+TVpOgkwqSSn09QJJDOllicASiV4spqJvp7PUfY0aZ2N/Llj5pv2sTxJlY9SUKBdcjcDYiRZZfD7tIR68o/qBlE1oGyjQcxrUsSf3/orowTwKu7euQVAxoKW0ZwmPBaLk0pVKyMSNhDVy3j8NxDaNVJPdVQNPisjcUWR/YGkBxX8t0hG9huLMNFS6hp1UtXJzd2MCeOH/8j5dnXCCBTIFhPrl62QUdtR4oEjqhBtfHbV27LQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tHjK7EcmTzGGF2mOc3yajPImEoyMldQucQkrH4CQbNA=;
 b=1V8kuPNz/SmMCu+1KuX/HN3cNr3paxbQ1ZwCUFF2YhmbB4OkaY+S7sZopy3iwoRKvIbBXoIf14POpn2aG2Cjte7T4rE/RQzpCL7Z1YIxyc8kJhhr9S6SE/xYFhrbjOL64prxDSf54cBwXbjXDjbaDg7GAl/yRuCN4lzxZL11RC9t8LT8/7rnI991jynDvNRWtt2DoAlBtNomMsFuB2kbLPcG+AyiQSVboTGuMuSKtBeQlN+cUDtWQ2LCM7UpvRh+BAsVVhLJ8JePOV2UaLTPMbvs0vbKZMe/7IvIwZ5tXDAtHyLSmuNOnC0kqGWkWg/qLghIsZGQ+PDf0pwG7Cv0OA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ea19b0b5-93b1-0608-b771-fdddb275f01b@suse.com>
Date: Thu, 8 Dec 2022 09:02:57 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] Validate EFI memory descriptors
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Ard Biesheuvel <ardb@kernel.org>,
 xen-devel@lists.xenproject.org
References: <6936d67461716d8ba37ea8cc78743035c3e54e2d.1668832785.git.demi@invisiblethingslab.com>
 <24a8fb2d-b2a7-b319-ffa9-c5f4e0eca06c@suse.com> <Y5ESt70ylfow4WcQ@itl-email>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Y5ESt70ylfow4WcQ@itl-email>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0201.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7880:EE_
X-MS-Office365-Filtering-Correlation-Id: d216d34f-3c57-4ec5-80ee-08dad8f29f3c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IL+Er870uWNbx3Ho64VKkj5eNz//61N11gSPWo67iiZ/pVw1jTpWaRCw1VVX09Wb66NTLbCL32AGIswhK3xK1yZJSJlD2VJzMuGr209SIXGiEm1KPXlLqcwfuSm/5xFQOpQWAufh1nbErpyiI+ZKX4rl+pjZNmickxIQxNHFaKjuk4pCNjI2cQc+vegB425k/iYx6e59Se1wxIHmXq5EdtUyCqwLnUWXLzwm3kTwFsLDWGeQeGNtbAyLYcGsY1X5u8Rqm++gg1uDYRaLMd7ngd3ag+5s3toTu5SSpVDG8X1wTMaZo2uec8lS0ClbyAWqX//bD7tB9n24ohk6jE8Pg2gWfo6nEA2np1taxMpQeaPBM0S2dVtkcbOV3zZzHzPjixc2uvJx3igqKMDacH9u4w/kXVZdrhmcXyTMqWJcJY5p+gR9bOOdU8yOv9IWk6Aa//YzjLnldrI9LKLK3fP6rcPnoEiZJv0WM80igtchfim+Ya/m9XXscqn3auDlXc9jFLD91aSa31xtQLpgH9IutZjZgaM1Jd7u2d9OBcSZZ8XeHXELzCPpkEgiuosJzlEnD1DemiM5F1lLUT6cZvbnS62ilEOI6v5JzDYfj3V/1cUXhRCoayJhtstYKfygchwoSsUmGIhtQf6qbgiHrtVh5aQwSFVmiXgPDutLKecAOkoFoHcmPyuTrmfm9ghAXjYRG4hjx9JlmcKr7kM9t4y6L4pPUUSHNiueLOj1nhFsVNQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(376002)(39860400002)(396003)(366004)(451199015)(31686004)(36756003)(38100700002)(86362001)(5660300002)(2906002)(41300700001)(8936002)(4326008)(83380400001)(478600001)(66476007)(2616005)(54906003)(66556008)(31696002)(6916009)(66946007)(316002)(6486002)(8676002)(186003)(26005)(6506007)(6512007)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?alU4djBQODhwb1hNcmsrZHk3YUkwYVBpS3VWMXJYZEpqK04zWk14Vm9QNnZI?=
 =?utf-8?B?Qzd6enpaUmQxdzhXYmNFSkJnRjNKT2UyYlJGR2VJWGlCdFBHeGNFUGNnc3hE?=
 =?utf-8?B?eGMzcktlTU93QytQeDl2S1ZwLzIwMGo2UktJOGY4T1M3QUJkS0hMT2wwWFAw?=
 =?utf-8?B?VVNOYzJ3RDBGRDlWT0NET290bEVSOGRpZVFMODRJaUd0NG5FTGhUQkYvSWdm?=
 =?utf-8?B?TUo1cnJHaEhsQy9mMGIvYThJa1RDMWNvMDJRNjM3Z2xMSHRIeUhlVENITlpC?=
 =?utf-8?B?VG9GTVgzRjM0WE9MSzZMNGt5Ujk4eTZLU0NtNU5CaEpQdytHY3NIT284U3dC?=
 =?utf-8?B?ZTBHdFJkd0t4U3FTeDAyQ01BK3R2RzhkQjhnb0hDVTlGelMzeVBXM0c3ajNX?=
 =?utf-8?B?Ti9OS21oU2wzR2xhSGJQZEZVLzVYQUdUeEoyQUpMbnFzc05Gd2xOV2NrQm80?=
 =?utf-8?B?NnFXWEEwZ3NuNkpQaFJTVGxwd2RhcFlnckN6WHUzQWtUSkNxUG9oODRGNWJa?=
 =?utf-8?B?UTRLeFppTUh2ZndYa0RCYUlRMWN1WkZnL1RsUnVGaThVRk8rSjlDb3N1VXBS?=
 =?utf-8?B?WXBUTGNwMHhsSEZuOXFxMjQwMUR5VWE2UFJTek1uUGpMUmNCNmNmVHY5ejBo?=
 =?utf-8?B?VTZlK05tL1pEZ2Q1andybGl0Z21jVEplbkQwODhNbEI5M2tLZzlEYzgwTnE0?=
 =?utf-8?B?bnlCU0FmSDd5aDY3ZVNkZjJYV1BDRWo1bDVrSmkybmR2N3NIdndSWFBPQzhD?=
 =?utf-8?B?MUk4YWFZVHliMFBjdDRkLzlwYk9yM284WktoQXV1eHo5L3dyLzArOG5WYmZF?=
 =?utf-8?B?UkFLRHo1WUxscWJKOXVZdjhyTnkwcitsOGVhOHg3M0ZyNkpaOHFWZzBneVZG?=
 =?utf-8?B?NlRvZEtJa2M4YVA2QklTSExyM3g5SExvMUpGSitEVUJYbHFSTEJrRzhNZ0Ji?=
 =?utf-8?B?NXRMS3JtY2d2ZzZON012elN2SDVyZ2YzUHc1Zm1qUnd3cnlHbkEzclJnbHVr?=
 =?utf-8?B?NWFQN3lLbk93MGNhY0NyYlNsMGYrcjFhM3VPOUdIQmlrLzBjZGd6MDRlQVJv?=
 =?utf-8?B?MHU5RzlkL0hBMXBBcmZKMEJSajh1VE81Q2dHZWtOaTd6eHc5eUxwR3pURm5p?=
 =?utf-8?B?VnFoRGtua2c3SkE2aXliK3ZVVnk5b0VxVzc4dHovTmVwSFpyTmtSRzAzTEwv?=
 =?utf-8?B?QU4wUkJyR0JIWTVYNWVqcittdmM3b20rL01FL21SRWk0aEh6VU9NS000RTZq?=
 =?utf-8?B?QlN0a0hpSDZLb0N6VGkzbGphWC9zZkNyLytzQmQzTnplVWJVbmJQY1dQS3pK?=
 =?utf-8?B?ZVFsdHdvdXFvODBFTXpaa2FPLzV5WmorclcxMVJXQlhETjFFRGFCcHp0Z1Ns?=
 =?utf-8?B?TjJTNS91WmlGdWUzTWVud1ZrY1JNWi9CaTU5c3gyYUFJT25OalhQckZ3RXFI?=
 =?utf-8?B?NG5EbFZZVGpkb0RYRTRsVW93cnJSb3N3VDJTVWxtdU5EQkd5cXRiK0hCYmZY?=
 =?utf-8?B?NXVBTVJZVFhxRzNQNDhrbmsyNkkwMFhQUXIwTXJuYUsrQzhMd21wdTR0SWJQ?=
 =?utf-8?B?eW9OeTVpeHp2TEtEOE54eFFDempDVGJzZSttMkJzejJXZ2tFNk5HaHZQdjRZ?=
 =?utf-8?B?b3diNkZSWi8ra3Z4Y3dzMTE2THNVUEhRRWd4Wk1ySGdJTlVjdWFic3RRd25u?=
 =?utf-8?B?cC9URGNnS3VWbWxSZ0xBcW9nd1FvdzM0aElndFJ3N3V6Z3VXbTMzY2dHOExw?=
 =?utf-8?B?L0NNeHZtZmFJeTRPNW1tZmk4eE40emhQWENIbFc3ZzNEaDJwSlVaNTB0NEk1?=
 =?utf-8?B?UXZnZGVNWnBxQ0F0akR2M05GdnBXVDVERlVKZEp5ajk5MTNxaGFGRVgyb2NV?=
 =?utf-8?B?K0lIRll4UU5WdDRYSDFmYUtiZFp1NFlkRFRKeXBsazNweFphYmh2RjE5bktz?=
 =?utf-8?B?L09qalpRM241Ukp6VGNhNjVBSys5YzYxWEtXOFd3VmhpdFRnNWdtcWxhS0hB?=
 =?utf-8?B?QU10ZWlIN20rbERUY2ZvZUFhb3FodE1WNFg2MldMN096Nm5jMnZuWFg4LzE5?=
 =?utf-8?B?c2FqcHM1NlpxSGcyZ1QzcUtxcE5wc1NkRWxOMlVCcEY3MCt6UTlQcFZkNlh4?=
 =?utf-8?Q?loIEnt1YHgWGdeTzDDeXcLsMK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d216d34f-3c57-4ec5-80ee-08dad8f29f3c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 08:02:59.3292
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 98V7Eu6tC0VlSNGiVFau7ovk1hvd5VIbgt7iy1BQqjjsQvsy0jhGLHuWYQMCJsb1SMuAU0x2O0QQanq+VaesrA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7880

On 07.12.2022 23:23, Demi Marie Obenour wrote:
> On Wed, Dec 07, 2022 at 11:04:05AM +0100, Jan Beulich wrote:
>> On 07.12.2022 00:57, Demi Marie Obenour wrote:
>>> It turns out that these can be invalid in various ways.  Based on code
>>> Ard Biesheuvel contributed for Linux.
>>>
>>> Co-developed-by: Ard Biesheuvel <ardb@kernel.org>
>>> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
>>> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
>>
>> This comes with the risk of breaking something that was previously working,
>> despite a descriptor being bogus. This _may_ be deemed acceptable, but it
>> needs calling out and reasoning about in the description. Even more so that
>> elsewhere we're aiming at relaxing things (by default or via command line
>> overrides) to remain compatible with all kinds of flawed implementations.
> 
> I decided to match Ard’s kernel patch, except for ignoring (as opposed
> to using) descriptors that cover the entire 64-bit address space (and
> thus have a length in bytes that overflows uint64_t).
> 
> What do you propose Xen do instead?  A broken memory map is a rather
> serious problem; it means that the actual physical address space is
> unknown.  For Linux I am considering tainting the kernel (with
> TAINT_FIRMWARE_WORKAROUND) if it detects an invalid memory descriptor.

Much here depends on what brokenness we find in practice. I've been
flamed more than once for insisting on strict spec compliance. I'd
be fine with you making things more strict here, but then - as said -
the risks need to be called out in the description, and once you've
done so you'll likely realize yourself that hence there then needs
to be a way out for systems where the new checking turns out too
strict.

Tainting the hypervisor in the event of finding an issue is certainly
an option.

>>> --- a/xen/common/efi/efi.h
>>> +++ b/xen/common/efi/efi.h
>>> @@ -51,3 +51,17 @@ void free_ebmalloc_unused_mem(void);
>>>  
>>>  const void *pe_find_section(const void *image_base, const size_t image_size,
>>>                              const CHAR16 *section_name, UINTN *size_out);
>>> +
>>> +static inline UINT64
>>> +efi_memory_descriptor_len(const EFI_MEMORY_DESCRIPTOR *desc)
>>> +{
>>> +    uint64_t remaining_space = UINT64_MAX - desc->PhysicalStart;
>>
>> This wants to derive from PADDR_BITS (or even paddr_bits) rather than
>> using UINT64_MAX.
> 
> paddr_bits is not available yet, but I can use PADDR_BITS.  That does
> require an explicit overflow check, but that is fine.

paddr_bits may or may not be available yet; it certainly is ...

>>> --- a/xen/common/efi/runtime.c
>>> +++ b/xen/common/efi/runtime.c
>>> @@ -270,18 +270,17 @@ int efi_get_info(uint32_t idx, union xenpf_efi_info *info)
>>>          for ( i = 0; i < efi_memmap_size; i += efi_mdesc_size )
>>>          {
>>>              EFI_MEMORY_DESCRIPTOR *desc = efi_memmap + i;
>>> -            u64 len = desc->NumberOfPages << EFI_PAGE_SHIFT;
>>> +            uint64_t size, len = efi_memory_descriptor_len(desc);

... for this use.

>>>              if ( info->mem.addr >= desc->PhysicalStart &&
>>> -                 info->mem.addr < desc->PhysicalStart + len )
>>> +                 info->mem.addr - desc->PhysicalStart < len )
>>
>> With what efi_memory_descriptor_len() does I don't see why this expression
>> would need transformation - there's no overflow possible anymore.
> 
> You are correct, but the new version is more idiomatic, IMO.
> 
>>>              {
>>>                  info->mem.type = desc->Type;
>>>                  info->mem.attr = desc->Attribute;
>>> -                if ( info->mem.addr + info->mem.size < info->mem.addr ||
>>
>> This overflow check is not superseded by the use of
>> efi_memory_descriptor_len(), so if you think it is not (or no longer)
>> needed, you will need to justify that in the description.
> 
> The justification is that info->mem.size is no longer used except in
> comparison and assignment, so the overflow check is now redundant.

I don't see what "no longer" refers to - nothing changes in this regard
before and after your patch, afaics.

>>> -                     info->mem.addr + info->mem.size >
>>> -                     desc->PhysicalStart + len )
>>> -                    info->mem.size = desc->PhysicalStart + len -
>>> -                                     info->mem.addr;
>>> +                size = desc->PhysicalStart + len - info->mem.addr;
>>> +                if ( info->mem.size > size )
>>> +                    info->mem.size = size;
>>> +
>>>                  return 0;
>>>              }
>>
>> Is there any functional change in here that I'm overlooking, or are you
>> merely converting this code to meet your personal taste? In the latter
>> case I'd prefer if you left the code untouched, with the 2nd best option
>> being to split it to a separate (style only) patch, and the 3rd option
>> being to at least mention this as a no-op (style only) transformation in
>> the description.
> 
> There should be no functional change here, but IMO the new version is
> much easier to read: first compute the actual size, and if the provided
> size is larger, clamp it.

That's a matter of taste, as already indicated. My taste, for example, is
that you're introducing a new local variable for no good reason.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 08:14:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 08:14:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456853.714688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3C2j-0007jN-FR; Thu, 08 Dec 2022 08:14:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456853.714688; Thu, 08 Dec 2022 08:14:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3C2j-0007jG-CU; Thu, 08 Dec 2022 08:14:09 +0000
Received: by outflank-mailman (input) for mailman id 456853;
 Thu, 08 Dec 2022 08:14:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3C2h-0007j7-Vl
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 08:14:07 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 476bcb76-76d0-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 09:14:04 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB9047.eurprd04.prod.outlook.com (2603:10a6:20b:442::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Thu, 8 Dec
 2022 08:14:04 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 08:14:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 476bcb76-76d0-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UbOQnHJsh6a8zEiNXqyXUlBB/+GvA5IiO+uWJcXWONT1NxvPo9m+A1/U/r34f16nQBVklIhAhLPHAcz6A7/jzqIhiNDe6Qd+Os+kDyeuwBELNfWH/Tiq7wUy9jXbdbIWXiJttS780xQ+qJzzb6XJVBWHqdDcF4J15JpAiXruQ1Yf35sGoyTHBRirI+cxB54nKM4ZFg6hjSHjMgkWNag5AOpg3poK7pYbfF5eezhZ2YF7+Cpi4dFbesD5m7fhb1+vUEazkEhuXCRJD0pguUJgK0VAhz/j0vMrEALyTpDG+dPHpjmc/1oz3vbonJQ+/gqvwfL/GwtYtZ0iJ6y8CXWfXQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vcubySrWzrcMqOg6tKo/4xWo0j/8Zmid6GQzXN/1e/g=;
 b=i8HWQi5jrXF0mMtdDi8+ayrQaJsmTiTYHoFUIJ3Kdi+wv/R9xcT61+UPcImB8qp38SvFSIq5obwz30PHLX5ic3CVYVHsJurW5GIT5Zecz3GWmqk9X4/dEtm/mO+lFBAFO/Ipt08/XZO7y6N+oltwMLRdgc8Dh296NwQgK1kdQsDfuP5P/o/H1h5emFk8dIckjHtcScFrgdepJq/gveWblBF8cIU2+XMIHpkZ5/Ya3q6P5sLdwyJrA4kkp8eOakHfkPbqakGRwOuMYbXrp2rTIxV+I7h6dZkcf1QjWUwOteRGDLtYKmY7sVCxRMti147UnK7+JcitinAxMIDOV//d5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vcubySrWzrcMqOg6tKo/4xWo0j/8Zmid6GQzXN/1e/g=;
 b=2dtMK/vZG+GkR/ieVMUTMR08mWFPjibF6MKgMaIufBKF8y38AJILh06BSCXEt/n5kZah8W7Ks603YmObG74nJQbuoMlbZcoWAm5pNJBJi4yTFqARPEGKHtys5PIUCb4IY2fa2ID8LVtj9fsFa//It2ErNYRoI7alqYdfX0v3QAemnODVAQWw+3K4IuVw6msTiQXuWqJdJMhVdAnupS7fKR6nWNWsExK/az4AlJFkmTo9rA0NKzlSRjNmfWL1JWS2nxFUtStdhXmKdPmZ5QZQzT5cLYGgriLi7+hYN/Ju6ILHnjIUZIWiOIS1zIRcxrituWSjQNsyQmSRaIvEC8Y7gQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1a1a478e-76bd-2744-4a74-25e8af76d051@suse.com>
Date: Thu, 8 Dec 2022 09:14:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] xsm: misra rule 8.4 fix
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>
Cc: dpsmith@apertussolutions.com, Stefano Stabellini
 <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2212061808570.4039@ubuntu-linux-20-04-desktop>
 <d9ea8f69-8cbe-abda-4ca5-b71b502a3fb7@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d9ea8f69-8cbe-abda-4ca5-b71b502a3fb7@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0033.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB9047:EE_
X-MS-Office365-Filtering-Correlation-Id: e2559bfd-3a61-4ad5-1537-08dad8f42b95
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2TRAaPhL0+39qWmAkN9boIu5fO1ydp/3ThKHXo8OsRNyQT4TGsOfaXPkrfUD4FJtH49dF2bP92R6UCzZXq4qhBq8AflEP4l6NsQI239tcc3UxfPJ1aBwbSjCtcXGtaTPm2pUpIqUuERMI8pyNlpZrORP+Uva6brYAWPWyyumvSiMPRCFlZJlGAjH+DuIBwC9x59vmlN1HxS1QZTWs6BkxCLOq48INRpX4SqfJnZFvlCrm4G/Qz4K/m7tVDHBsyNoPdbyAwiU8PPuNWgtVGazMFyI/FsTJqE5Ul23iS1BuU8RT66gUlFSgcQqOBIcqfswLHxAqEeOamYIRBYu2SzmKuCLDfAspAtcEFjI971zFsa4gUZSLCW8PlWX6Qr99B8NxF42lju6m68/kqPslTDGMt3K9v7tIhtbDvK7SCqBCn6PLJ/3YlN6HMcqlxoCxr6qVthPFj9zgAaX/C6XUMog5M4ow6QaTNbI8YmdkyzTSnUpx08nYKebzy/UxSLGbc76tohR9J2MTat+pn1anAnYcyag99n5xha0u7ThtbOgiESZQbu7W1Ti0EBR/PMnWNJiY1zRod/C0qlWflo6MUdBidoLhToEmSMarybqSduzDbx7xDXf3v4F3KiRmorfw2upWVCBjjG9ib/OjYgT6w4tHepocZw+gFyp+2RKqloZZdLXyKjJB+jzUiLL00hHnx0Ahp1T+ghSExT0X6LFVErlbkVkg7OTA8xu/E0iJty7Qy8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(39860400002)(366004)(346002)(451199015)(31686004)(478600001)(4326008)(66946007)(66476007)(41300700001)(66556008)(38100700002)(6486002)(83380400001)(6916009)(2616005)(2906002)(36756003)(8676002)(316002)(186003)(26005)(31696002)(86362001)(8936002)(5660300002)(6512007)(6506007)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dHdJKytpRE5lYzdGS3NYZE9vWE9BNlNsYzNVVFljRWJpL3RBUTRFTzdqMGNY?=
 =?utf-8?B?Z1Z5aVlkRjVyRHpsTm0xWUM1VklOL3QyRUhkMkJxVmxJeXBLNVpVblowV0ww?=
 =?utf-8?B?U3cwMTh2UU4raGdCRmRZMGN5MVEwcnJSRDJqZ0JBWGZlNzlHN25BZCtSK09N?=
 =?utf-8?B?MHlEdXFzTHVrVVVCN203enhTa0UrM1Y2Qllhc09rZVNlVk12VzRrYVJTNEIr?=
 =?utf-8?B?blBZVnNvVVVDS1BQSjQwcGVsQnkreUtPNTRzcjF3UHhrYmJWS1lpTDhId0tQ?=
 =?utf-8?B?R01FQ1VpeHVIc1hYUlUwWmRFV2JjZmZBWUJyWkR6LzZLWU80eURGTVU5djlm?=
 =?utf-8?B?eG1lbUhIdkpaRmJucHRIcEpiS1l6Q0ZIUXdEMHpvaWJ6ZTBRM3p5ZEdSRTc5?=
 =?utf-8?B?elkrRGhYMStsQk44ZHJtRHZ4dXBhMzdOalJlSjNOUG1xaXBhMkZ3WWJ0OU1k?=
 =?utf-8?B?cTc4dFhhcDlyR1Y2TVQ0QTczczlqQjVHckd5aXlIZ2Z1UVRhRjRlTTJ5SERl?=
 =?utf-8?B?V0Z4aU9yN0I0UGFmWTZtdDNyUlMzc2dNLytRYWpCZnJUdjlhRnFUU2ZSL3Ft?=
 =?utf-8?B?d3ZjU1k3enZ1QVlzMjQ5S1Noa0VpZnIweGhRR1IrVGNnQWxvYmFQL2xDcXJh?=
 =?utf-8?B?UEdQQ2wzaVptN3dueDFkdTU1bFFEV2VaRkN1VWg4dHY0eHVybEkvcHNycFBN?=
 =?utf-8?B?M3g0RFlicmIxUGpTQVNHUWtWdVZiZkk5QVhjTkF0N2N1d0RJM2lXV2NLMjc2?=
 =?utf-8?B?NTh6NUloSms2aW5mOHYyQ0ZYZGQzdjlPOWhtUXQ5VEt0L0tRd0RDZkRsMHNr?=
 =?utf-8?B?TUhBZUdEemZxZXFQeUg3eGFLRzEzTTdaZG9mV2FWZ3JQamt6WmlEOUR5RTRu?=
 =?utf-8?B?VEVKWkk4ZXlpNG9ZZ3lSYXB3eVR5a0RiMTVkcmEwYW12cm1tT1ArdC80ZStm?=
 =?utf-8?B?ZWordTlpb3Y1VkEwaUhyT1Z3R3JNZVBoNVNENDIxbWhVdGRuWnc2cW8zUTZS?=
 =?utf-8?B?MjBHMU1CT2R6UHB4NjhVMUxmUHBoQlhaMlFZOXVEQ1gzYkdzVFYzSGVsZm9p?=
 =?utf-8?B?dzV0RktibkZJS3J0cjFEL2FtRTRmemlxZDBxVFFUcWR4Sm1qcWErcXBYZEtk?=
 =?utf-8?B?T1U4THNDMlg4V2o0dWw3VTl4cnB2ZnU3ZXZxMi96djVFNXExN0hZRDRORVFY?=
 =?utf-8?B?ZXR1bXdCMmNKZ1NkdkdybDd6VGxrZCt6RnJRYmhhbU1Qcm9qZ056cEE2Z3pm?=
 =?utf-8?B?cUJQL25Ra3E2N2J4V0h4TzR1OCs4Z0VHWlFKZXZJaG1lSzEzTEd6WE1KNEFM?=
 =?utf-8?B?dk53ZU92bUVYd2RhRmpobHNJT2RQcU9oTVMrdTkyWDgxa25XcEd3V0dTZUNL?=
 =?utf-8?B?Z1lURDI5T0QyLzNuVFFFdU1BamJXODlLZFpiVEtwaDBRUmJ4Z1Bvd2lpUmo0?=
 =?utf-8?B?WDUveDNOZVd4Q1RCTWY0WWRJUStxcHJKOFlsU3RkSHhEZkdaN05WeTErd0Ry?=
 =?utf-8?B?L2FRRVRRZHFwcFg1cUpVRXRTY2pCaWVIaGR5RkpKVEd5VXJOK29hNG9rNnFU?=
 =?utf-8?B?M0syWnBoK3VRa1R2Lzcrd1ZqTkFqWnFoNHdEcklZMERsd0FPUThUYnpxRHBu?=
 =?utf-8?B?MkpFNHNsanJ2YWZvUC9uRm9nSVFHVXowWUdXQ2E3WDJTeUZPcjhEM1ExQlhh?=
 =?utf-8?B?R2Iyd050bkk0cTR3Wk9XS0FjZERYUWVweWtNaXRQRkNPYmk2aVRtenp4VDJt?=
 =?utf-8?B?S1pLdDBaNU1SQ1gyUDJWUmUrWExGWGlMbjB4RjJ2NGV0YTJITFhVZGhQNUF6?=
 =?utf-8?B?dWczakJFTkp5S3p0eVE3N1ZUa3JHRi9nN0o4dTIyMXNUUHM2anU5TERCVHlu?=
 =?utf-8?B?WGpRQjhtOFRyb3BIRm01SE1wVGhueElTNk9FaVdwamNyMHdPWk1oVkQ4OWh5?=
 =?utf-8?B?L08ySmE4YVo4azluRjlTZzMxZitNbkJHS2gzL0cwM2IwMnVsd01aZDcwcmhs?=
 =?utf-8?B?ZjBJc2sxdkE3Wng5eTVlV1ZvWXlKdFAxQkY4ZmxlWjRXWDAxOEtwVzFnaTQz?=
 =?utf-8?B?cy9pNnFpQTJYVE1RbWJxdkJZZEEzM00raldiSjJ4K0NKK2RDdzJ6bjNqaGI0?=
 =?utf-8?Q?yGSoTSF1VE2uP/gKtYb6TUvMZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2559bfd-3a61-4ad5-1537-08dad8f42b95
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 08:14:04.4281
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RAPJJwwZNR0egeEwMFoY/6m2yXjPdavqIs9WCNeknDhjA5yf67sCv20mXBjozGa5nHkn95RDBilHybClazHXfg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9047

On 07.12.2022 13:33, Michal Orzel wrote:
> Hi Stefano,
> 
> On 07/12/2022 03:12, Stefano Stabellini wrote:
>>
>>
>> Fix two MISRA Issues Rule 8.4 ("A compatible declaration shall be
>> visible when an object or function with external linkage is defined")
>> found by cppcheck affecting xen/xsm/flask/ss/services.c.
>>
>> Fix the first issue by making policydb_loaded_version static and the
>> second issue by declaring ss_initialized in a proper header.
>>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> cppcheck also reports findings for rule 8.4 with regards to the following functions:
> - security_get_bools
> - security_set_bools
> - security_get_bool_value
> - security_get_bool_name
> 
> The prototypes for them are stored in xen/xsm/flask/include/conditional.h,
> but services.c only does:
> #include "conditional.h"
> 
> This include refers to xen/xsm/flask/ss/conditional.h and not to xen/xsm/flask/include/conditional.h.
> This means that we should also explicitly do:
> #include <conditional.h>

And Misra has no rule disallowing such use of two different, identically
named headers, for being potentially ambiguous?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 08:18:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 08:18:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456862.714699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3C7L-0008RA-8A; Thu, 08 Dec 2022 08:18:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456862.714699; Thu, 08 Dec 2022 08:18:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3C7L-0008R3-42; Thu, 08 Dec 2022 08:18:55 +0000
Received: by outflank-mailman (input) for mailman id 456862;
 Thu, 08 Dec 2022 08:18:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3C7K-0008Qx-H7
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 08:18:54 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f235a6a8-76d0-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 09:18:51 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9361.eurprd04.prod.outlook.com (2603:10a6:20b:4e6::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 08:18:48 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 08:18:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f235a6a8-76d0-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m7y/em2azCI/HRfB5eLmnlpRX0BbEPTw5xHdypUG9s7hClQ0sulB5FoYJmdEQlc3BcS0VvbbcTxsaGqulTHu2OBHvFqcbPl+15pwuuOCW1RpK1/qlDzp0/uT+NtEPL2+bifUywvyHOjt0ZMJqk6f0qfn9csgGiAk0RV8pjhJcftWb/lhvwnOs1RaPigGQDiCdVbtn0+Fb2qGVqew4VmAflpo2OeBUF+k+nDx9/HcNcee1HZKGdgo4X1DZcMOSmaG4/Dp1/yC0kByevOi/YCtrZmZEM38Rf0Wh2gsY9x9ga7n6fNGbrbUQC8mAAVsYW22o7VrigAsmLImQoHQkFgPEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8Twr3rPDWQxKKsaGbgrKmuLfBBGG9ktZ6vuFlieuLMI=;
 b=YReByP+fk0d9soC5mcHS4CcMhtDcsTHsn7pvw5w62WwC7B+Pe4t2EY4tyzTFhGsHqtJrCH7aM6dOlHNYu08exZrWUhqlfuxIYK7bsQa5wEAnsoZzZX+QiCwyqwHWDZ69wV8JH56Jm4bxwZlRIO4VQOq9svXwQQb9+3UZ4XefrXXCYTaOOOCCUjLVakvGonz8VYhjCSjxkQP0JWQkOS8jKwpAAeGXaR+FJ6Z2MG4Zfzt9LVcPEZADUZmvpl9gQHlUulXA0ZzYqilFzeNs8/mBvCetwPjuMMoEXBibAGspLDCNbwJiwDs51SZmtPMq3zaENd3U9t9K46GfJLf+m55MVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8Twr3rPDWQxKKsaGbgrKmuLfBBGG9ktZ6vuFlieuLMI=;
 b=4pL5rQELORIwvNsxhCVKChsFF+7W6G2QywnSduzZceHjmb++OSbr30sNDZjX9FnRBMWWaYetcnMZ954SYWP1WRjtbCZ/eMWrkrtt/tz7yqCFHeQvypn/1cn+FCLXtW3FhEANZhU0/0rXaT3+ZhjLYSsAbFGZOqhb68wUlwMSqIxZ017mmdjNxTjjubN9u0uOdiPfSYmnF4UQ8eTfVKjZf8Cypxi+xGd8mq3LYmb3nr6vgSOPYp/Y3PPC3UqZZYuLS6jc/RpG75xWVPtRWjuHfmoHGyJGPUdwbiJA4KnrnhCEiur958r7GNqwbbIJW5/XQBd4EOB6V6t9FEL5v3kOuQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <41f4e030-0238-a10e-e217-64d9e3a069e2@suse.com>
Date: Thu, 8 Dec 2022 09:18:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [XEN][RFC PATCH v4 10/16] asm/smp.h: move cpu related function to
 asm/cpu.h
Content-Language: en-US
To: Vikram Garhwal <vikram.garhwal@amd.com>
Cc: sstabellini@kernel.org, Luca.Fancellu@arm.com,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
 <20221207061815.7404-4-vikram.garhwal@amd.com>
 <7cb6475e-0ab4-a7e2-8049-04c66588229f@xen.org>
 <a441cd07-8659-afbb-000c-43494718a10b@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a441cd07-8659-afbb-000c-43494718a10b@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0114.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS4PR04MB9361:EE_
X-MS-Office365-Filtering-Correlation-Id: acd77b25-3c87-4cd4-d13a-08dad8f4d4db
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SwT/mtdxN4W0PwMEIlO7td7vtFyr1cNZ2Iimcqbki53MjL+ifnhofsaXwl10qM+LuvlGoh4JudMaIGgmp+ug0lY6jFXOY+StIXdwKsZFZ04cyndbW1khmIoBJyf1HWOQSV8MrsL/P09aX1D4Zxlaic0A/AyRiV9L611XVnKA91yYoF4E3aXP8FgqXEVCJtKdfb5AT1YuBzjT84rlsjSyJyM8AH7PSGCdXZ2Ln3EUcY37jaH7DTEBPlaMEq3aVF8+HaQNcqypHMc4wSk86lizjJQlCdR/yF6UcsuKVqoyBc3HI9LL1nfnLuYKoXfKJNrTSlK9x4KGGQxTzIZbzNssOv5k2pjyVO5JwbjbwS4BWrZPLSKWGTo/bw0TVq712fE5VxdIe0y8L/o2s66eSTeeU+9Yp7eLUQhOKWfHV1HhbYoKahNGxdhiTa9s13Y4ZWQv9BJV6nTQmVS0jZ5Zkbo9mY+rXsXfiRDN3zXshO+E8oXok3uDvHE4kp++x8eLX+KCt/KVmF6mwm6+iY1jcOReKmYXKH6ADZqkEpIlTZF8eGYT+8gdOUS+D//03ZPhpuLGSm9tXx2q0uXEvbRUzmGeekCWGedvNuReypQM+O3W06nLv9WUAHvBtaGnNfAw+LE1gg3A758jLr509N6AmbXtLh498ccVk5lD0QC5FaLbgyyExi4gEd4UyQ2z57hjtxiBKi1Nd59gEpdS/F0fOVAKLboz/HYS/HEXogO5U2Jm43A=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(366004)(396003)(346002)(39860400002)(376002)(451199015)(8676002)(66476007)(66556008)(4326008)(66946007)(41300700001)(2906002)(5660300002)(31686004)(316002)(478600001)(36756003)(6486002)(53546011)(186003)(26005)(6506007)(54906003)(6512007)(6916009)(2616005)(83380400001)(7416002)(8936002)(86362001)(38100700002)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZE5McGUwR0J5TmZ3KzFUQ0trSFlJR05BNEtOR0pSOEtmcXlvWWpQMEhHZUNL?=
 =?utf-8?B?RXB6L2ZYR2NQYUlYMyt2bGh2S1VXb00wbEN3bVo4VUVmMFAvVFNPRFVuYnlE?=
 =?utf-8?B?ejhhYUNiRjNzSEJiSVRWckpUVDRhU2tybWZ3cDZZck5LQ2tjdDV5QkZ1ZVlv?=
 =?utf-8?B?dW9ZOEhERkJ5dWtXZmVlS0w5OGpLQkZiSWR1K3RzUGRYbHJjRGQzR0E0bGlE?=
 =?utf-8?B?eWM3MHBQTXZIWjRldGloYVlMaHpPRGVOeThrUFpqZWw2MTczdTVGNkxjRDRn?=
 =?utf-8?B?R3BDdWdQdzdmSzNsY1hTVDlnS0ZpRExUTDRpNGViUlo0Z3NLVE1xUlhZNkkv?=
 =?utf-8?B?Ylg3b2F2V2lJTHhPNHdBNFVnMXEzQ2RZbWEzY2tEYmxueXhoV3lHOTZtOWZV?=
 =?utf-8?B?UTgzS1EyODNsKzIyZ1lSVUt5M0JOd2N3MGhjOTJJelFDOGRjWE5uVUM1Z3U1?=
 =?utf-8?B?THJGOFJkdGhjSXZkdjZ5MWVDZzg3NVhZVDI5V3hPKzYwSWpVQnk5VmZKVFFk?=
 =?utf-8?B?cnZqKzJoWU5wNkRGVU84RUVxT3ZJNktzb1dPQitNUzF6Mm0wT21hSkFmNWcy?=
 =?utf-8?B?Q0k4R0IrcHpwUzk1bG9XN2d0bjR2V3E5NmFxTkhRMWxWblJ0bDBDK1JPSjA5?=
 =?utf-8?B?OFhaVnNrU0dpN3RwQVZCVSsrUitRRmRMc2hjNTJ1QXZpSGFGdFFZcFlMRk9T?=
 =?utf-8?B?VXU1SFYyUFVlYmV4dHN4UW1sY0s4emNlS09xQVpTRUVxWHJGSVFJaTdNTXZT?=
 =?utf-8?B?cWhkYklTU3NKYTJJVnl3YkVWZEYyL29xSzMxOHhYMEtTeTZJeUJxK3RzOWVD?=
 =?utf-8?B?SFMydThacEJUWXJ2TFhTMzlpR01ZQ1lnS0dhU3RKVXlyN2Yzekp3QXllVjUv?=
 =?utf-8?B?N3ZxYTYzU3NVeXkxZit5UUJiOG02bFplTWY2TURONXJ0ZU5LWkNKV280RWEx?=
 =?utf-8?B?L2UzdEZ6eWxZNmtUSk4zeE1XVWVFeVpsNnN3em52aGNjQ2ppV2szVjBGWnBG?=
 =?utf-8?B?TVgwK1ZmODZTcjh3bmRYcmtBcGE1S0x1NEU2QWV6VHowYmRjV0QzNVEzU201?=
 =?utf-8?B?bXZ3bUF1YVVSM2RFUEVHd0xJOXcwZzVXMWVxUXlGbjJMMjcwSHkrdGRSNkZs?=
 =?utf-8?B?eFFSUjlBa2tITk16US9oRzU4bDZnZ0RGVDMzMHRaVXdyam5NT1V1ZE5KUHpL?=
 =?utf-8?B?ekRuQ1B3QlBYckFJZDBoUzIycGNaYXFtN0pEWU1uSE5Pc1gvUloyQ29IbVVT?=
 =?utf-8?B?VkwwRGhPYmlqQWh2UHRqTVlhOS95dmpwWlR0UzZTaVBsNzVGZzQyTlBYSFNl?=
 =?utf-8?B?RzlYWHRyNXRQVmxyTWg2N2g1MlRxQ1Z5Sm9FYUx0MUVQb3NiUDNRdzV1elNO?=
 =?utf-8?B?cHVHL1NTR1cvWGs0ZVZuRTdMcExwaWVQa01EUlZqaXRhbERkdjY5QjNYWi9r?=
 =?utf-8?B?OFkxV3VXRlFiM0JQKzBkQkdwVmt0aVBDemtBMXBCd0YyMWJxVUNLcHE4RHJx?=
 =?utf-8?B?ZHdsWUVvZjIvWnhzVE9yZWVmcHY3YzFNZzB0YlpjdmlURzRJQXJieW1hQTdL?=
 =?utf-8?B?RHd0NExLcExEN1pwWDdRaVc2NjVmMnpIemNsNDRDSHhueWxNVTBGU0dhd0lZ?=
 =?utf-8?B?cy80QVczQTkyZ0ZjQXhqZThQSmZDbXM4UFp3MlBDWjBKQngzYmFiUG5nd3V0?=
 =?utf-8?B?S1RXUVFIb1NFY2hrVW9RTVFKT3FYK2pRVnplY3V5NXNYZ3QyckwvbTR6YVRm?=
 =?utf-8?B?TXgyaVk1WUp0bGRtWkx4Y0l0YkMxZ1pCeTU4c1Vhb0x3aXNiNGxMcnpwNGQz?=
 =?utf-8?B?T0RXKzM4WUpmY0FkVHgxMVlQRlBkZ2RBVWxXelhDWm9YcEF4bm5oMmI1empC?=
 =?utf-8?B?Q3F2akhwT1BIMlhndVhhQVhvR0h0SWx5dmlydVIxYko5YVdwNTZaWjVhdlV5?=
 =?utf-8?B?MUtwRkVrRGl6cE40amdrWGV5WWxsVEZZamdvajBWNXFYV29JdzlqNkNzV0du?=
 =?utf-8?B?R01OZ0FlVWdoTERwWmtJU1lEZFVHSkwrZ3pZZ1VaNHdIeFF0NmliRmJ1eGNn?=
 =?utf-8?B?Vk1GOEVOMW0vZ2VTalZNVUxyOSsxb3R2V3hxRnB0aXVHTjFuanNhaGVRQThx?=
 =?utf-8?Q?wGT8qAAEyf3s4/BfTbne+XV2p?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: acd77b25-3c87-4cd4-d13a-08dad8f4d4db
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 08:18:48.3016
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xn0V/HT7oeDjqXJrq3ygmGVFqg8KrSdbBjOZuhLgUhzONoL0KR5OtPUQsc/WkNzR/iGYMD0J6bhIOMFH4+niRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9361

On 07.12.2022 20:39, Vikram Garhwal wrote:
> Hi Julien
> 
> On 12/7/22 8:28 AM, Julien Grall wrote:
>> Hi Vikram,
>>
>> On 07/12/2022 06:18, Vikram Garhwal wrote:
>>> Dynamic programming ops will modify the dt_host and there might be other
>>> function which are browsing the dt_host at the same time. To avoid 
>>> the race
>>> conditions, adding rwlock for browsing the dt_host. But adding rwlock in
>>> device_tree.h causes following circular dependency:
>>> device_tree.h->rwlock.h->smp.h->asm/smp.h->device_tree.h
>>>
>>> Inside arch/arm/include/asm/smp.h, there is one function which needs
>>> device_tree.h, moved the cpu related function to a new file:
>>> arch/arm/include/asm/cpu.h
>>
>> Given there is only one function, I don't really see the benefits of 
>> splitting smp.h and then adding #ifdef CONFIG_ARM in the common code.
>>
>> Instead, it would be better if we don't include device_tree.h in the 
>> header but in the c files that need to call arch_cpu_init() and 
>> forward declare dt_device_node.
>>
> This was my initial approach also and there were less changes(compare to 
> my v4) but then though someone might have issues with forward 
> declaration of dt_device_node in smp.h.

We use forward declarations of struct/union is many places, precisely to
limit dependencies among headers.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 08:20:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 08:20:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456868.714709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3C8m-0001O3-Gk; Thu, 08 Dec 2022 08:20:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456868.714709; Thu, 08 Dec 2022 08:20:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3C8m-0001Nw-E9; Thu, 08 Dec 2022 08:20:24 +0000
Received: by outflank-mailman (input) for mailman id 456868;
 Thu, 08 Dec 2022 08:20:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3C8l-0001Nk-4D; Thu, 08 Dec 2022 08:20:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3C8l-0002LS-0K; Thu, 08 Dec 2022 08:20:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3C8k-0003ZW-Hv; Thu, 08 Dec 2022 08:20:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3C8k-0005JC-HX; Thu, 08 Dec 2022 08:20:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MR+R5nDl36mLnuC6vsPCKH4I52IiUcvxQikAvFl5VZo=; b=I50vmWxcw7LNNG8CnP70IDMLcu
	CY0ejrmAPkq/+lVZO32hbVF9zTdwAwR1mz4nCZ1Qtxp3P+qN9Lm4Pi7XQJqap/tk+dXMFV4ZYghQx
	I7S+/VxHGR3wXdZSx5fT1RFNau1UONMKa9c2eYqhjATPIVVBFIGybOZCa40EjieQp27A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175081-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175081: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=479174d402bcf60789106eedc4def3957c060bad
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 08 Dec 2022 08:20:22 +0000

flight 175081 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175081/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2  14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 173462
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1  14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 173462
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 173462
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-pair        25 guest-start/debian      fail blocked in 173462
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                479174d402bcf60789106eedc4def3957c060bad
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   61 days
Failing since        173470  2022-10-08 06:21:34 Z   61 days  121 attempts
Testing same since   175081  2022-12-07 21:41:51 Z    0 days    1 attempts

------------------------------------------------------------
1955 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 187808 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 08:23:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 08:23:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456876.714721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3CC9-0002Fb-0G; Thu, 08 Dec 2022 08:23:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456876.714721; Thu, 08 Dec 2022 08:23:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3CC8-0002FU-TO; Thu, 08 Dec 2022 08:23:52 +0000
Received: by outflank-mailman (input) for mailman id 456876;
 Thu, 08 Dec 2022 08:23:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3CC8-0002FM-8f
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 08:23:52 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0627.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a3c2b788-76d1-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 09:23:49 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9364.eurprd04.prod.outlook.com (2603:10a6:20b:4e9::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 08:23:49 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 08:23:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3c2b788-76d1-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eO/swmAYDm5V1ctFWfNq+xJQAHD95WpgOa+8DdxnDH4D9Eo3+D3RSB8yTQWTgVzZvWOa4XUePxUv9uRruHpvUBWZPf2+EThLmul+K/Iomxz2utdCUguC2WGdHUUDUw/3XrctUlYmCk9cwkCH5Tfddc756XALQo1KXpBwCUIrDPcufeb0bxBPXdTHmvaIYEqC0pnyE2ej6IXh2z7a3RiLnT6Zlfk0AcUegvLUvTHz0b8gZNfjLHVGvaWJICCNZTaVp+lee6zXW60klduoK6kKrxje8wZpcXuv5rRG16HB5wQ/R4fIGhmQ3K+gv7VZkuJDdozQoWH4UBUI1GBXcPdAcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f8gLiyJrUaRMz5MHy25cnewH+vNoNhRy3vCY6x5De0Q=;
 b=CfYVJzYlp8cJBSHmhhah081aLjyzkO6SRH7A/WcuJyt2ivxQ/Msn3bDPjUpaf3XCPrJcydK75Lxozj3RjDURwgt1hqyZgWhDXppJj1zI7TErHLDwi8BXl0b6R7p3xiaYfgTBb3oKppVldcWFHVsnSkm6+SVK6x+QVOVj4XLlT3+Owc269z7o2xZG8GpMdZCvaaZ3bbfYDV/v6bPwVw+8AxhZ63X46egk04CosvKxelS9SPqz/sZkgtluzwUiQGolw5FPV4zmX3vv0HaD9sEcvTM/yaG+pb6Rr4EUfaXRiZeZ6hqWi0+C/U2VLuweo+K8zpybW/vV9Tm2EdHAo3VAjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=f8gLiyJrUaRMz5MHy25cnewH+vNoNhRy3vCY6x5De0Q=;
 b=wXXVNh5+wlUbnzfpRxMiJ73DhuD6yaCXJ7Ys4qH5VhXAWY+VyPqpLTNvGZLvIEkQ/vdSRUCNLBEVL3nj+NnFlOtOObfy38eUiWHGeQsScryrXsDzqGkkCDji4qmnV37uyWngQS8pDsl5Mv7HqrtI66Z+mJRt5WZCOV3doGvfYNnSoBjFZeMJ8VLK7+/Djcgq6TalMpCfExy1zI4V17AoWI0IREz0XQRtjmryfxJGNcKGttoVzsLAUffUqpVTf5AGp0/VwMOOpTW7bgipqazN8rvMAVMiIjHV3Bsd7qv319qnK/ANmdjdqJatUVrQHNhpXw+A4E3QTV+XFUcLrqEo1g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f4aff5fd-1c08-fd7a-c347-58a700bdba7a@suse.com>
Date: Thu, 8 Dec 2022 09:23:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 3/5] xen/Makefile: remove Cppcheck invocation from the
 Makefile
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221207130704.20573-1-luca.fancellu@arm.com>
 <20221207130704.20573-4-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221207130704.20573-4-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0116.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS4PR04MB9364:EE_
X-MS-Office365-Filtering-Correlation-Id: 94bb4db3-4957-4136-3942-08dad8f58812
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yhp1JJO5FNZ9d8QrKdWVeXoDIweMI+2xSvMNFZJGP35EeLMtwCLc/IC8P1MrpPlLfEVRwy8p1BWMd8Icjvsid1+GqA8wReh+1i2Vs1AkCBkRgBfr/zC4m7eDYQGG6r1BxB2G7Nk+sIjy7TBydr+jmvYXPCJaxkVcgKVaEv/p/OXRS9dWJbiSRCPNRLJMvi4lzxtKbeA316uy1JYVh/gTok8+fjITI/hUTv1pjfHeOg8oL8GORDwOqUMbH/QaL8SU7Sncwhosv0oN+lxBN3UnB0wlZ2REUHZcoh2+cecG0XEF/G5b62aBcqvELqDMy1B0WUX4RLW7VXDmPOtOZg+OKWgv+j9zL3/8m53HwJhSb8UHkaOZUTjb/vVXCSLV2CrP+FMO6NDXu6X0fXYujr7TH/hwt03iBiySuVxGEfuzZrXi4xF8DkKptRwOZdqL9SKwz/fdDZs01jINm+VQgMzCkudPVg1vhewgpwPZuaZsAdsUQyvDWwdDOou9b4z1cUrtLUO5EUYPGX2ZLekJdAZxWHsh6pkAbyCp2Z5DOwiQA8fognn4QbnM5W45SQNh9luOR1OmJL085MoJMwLp0JVwZwRqSgIrRes3DDGOZFwhIE2C3jDPN5YWpc5YV06E2Tu+yz45rjMZafesna7d2GShpaQ/avU42ExG9zceJpjwGYw1Hi1uRxeLmuAcbDiMTW2Jyh7WMrkFSA3CSZiu114yVJ/kFMxg/XJto+EtRbVXEPA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(396003)(346002)(136003)(376002)(39860400002)(451199015)(41300700001)(66556008)(66946007)(2906002)(31686004)(8936002)(316002)(5660300002)(66476007)(36756003)(6506007)(6666004)(6916009)(54906003)(186003)(26005)(6512007)(478600001)(53546011)(6486002)(2616005)(4326008)(8676002)(31696002)(86362001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q3BjQ1JSMUhXMXdwTGNNV3NSSzlNR2pQSi91SkZQMmdBcXlmT3hGRUVFZFk0?=
 =?utf-8?B?cXQ3QXB0eldpT1BYK1c2OGNoRWFmOGF6ZnlwaVgxak8zVVdObnIwUk0vc3Jk?=
 =?utf-8?B?ZDVuVXhpWEZTWXU5WHFQQ09XQU1CVXF4aDYzSFdFSnRtOGRydWY1Z1h5bndR?=
 =?utf-8?B?RWgrekZPSWJKUnJuY1hVWlVFTXNBeXJVZmpqd25wWDVRMTlRWnppT2MzNlJL?=
 =?utf-8?B?Nit3RWxUSnhTbGtkcDRQSWZYQXZndVBmLzFDWGVZZVZCOU5aRVJPYTZha1cz?=
 =?utf-8?B?U05VSThtaW9RbWY3T0N2cXRDdUtvYmFoSnpPTWlGa1EwWnVRTzRXZzdCWkc1?=
 =?utf-8?B?UU5DbUM2QmdNa2RCQmhkWnhMaDhXenlwZ096SFRQQ2dET0Y4SzZIaUhJTDdJ?=
 =?utf-8?B?NFdJL2tmTkZJbVIzbHdCcSsrVDl3WlA5YmZMeUxQckZuRjBlUjc5QjNYL1hi?=
 =?utf-8?B?ZlJraHZDM05ESmdtMWFLcFFMajBlTklacWhlV0grYjZJQ2dIYXk5T1Z2MUVI?=
 =?utf-8?B?b09FbWswK3V4cisrNCtRNzk4dkNWRzVtQktydHFYRVZKSnk3dFFJN1FhTkZ4?=
 =?utf-8?B?empoM3pNL0pFN1hCMlo5MFFnNS84ekVlNEhRdkM3K1AxQmI4bzY2blNLRHB0?=
 =?utf-8?B?OWZ4TUpMbThSeGVNenprQXhVcjZFSjByKytDR211OGNTZWR2M003djdDeU5m?=
 =?utf-8?B?N0dmRGxXbnljeS9FZHYyUUpiOFIyQWZsekt5bWYxNEpaOUFBOHVvZTMzQmE0?=
 =?utf-8?B?NGlTS2FnTlAweWN6WXpIRXhNVmNUQTNFRytCa3B6VnpLYUpGQUVvMEFSdEtw?=
 =?utf-8?B?VUt6MnBISHBFNkE1RHpiaEdLV2tkM09TTUxDM2g5cm1KSnNTNTZzTXJDY1pt?=
 =?utf-8?B?UEhJOUFuV1JndGFpZkdMRUlVbWNoY28vRmQ0UjVlRlZqZDVYY1IwdThCMnUr?=
 =?utf-8?B?MlUxc04zRTVadzI1M21ncDI5aSt2WGRaS2hhZnp5S1BPVTdLNmtCVWVoSVhV?=
 =?utf-8?B?Rjg1V1RyWFpTQ291alAvUEZBQjUzNXR5WGd4Rnhja2R4U3g3cnBFMUxFeGpM?=
 =?utf-8?B?bjNWODVZc1ZIUHJUL0JkYXN0bThqMWg4UC9mekRqY05YaGFCTkVIMkR3RGg4?=
 =?utf-8?B?T1AxbmZKL2ZKV3dnYzR0REVOcUFRdlExK1ZaNTVTMC9wL1Q4TTJySWpYTWdK?=
 =?utf-8?B?a2xLK3hZc0ErbWV1WVhWbmpQTFJwaWp5VzlRS0lBUVJERHgzMDZnc0dWWjVh?=
 =?utf-8?B?NytFalVpU0NPZHZ4bVJBa0lLblBGUDNJV2lNOFNjTXZqTm55WitWZFI5Tnds?=
 =?utf-8?B?bWhvR3paUGJtK3FrRko2dWQxdTI0NVpJMnFyK0NLNkIraDlNN3oxa0pyd3hP?=
 =?utf-8?B?QlRuZ243WTVOemkzWmpXUlJhLzVXQ2ZZRnR4R01xd3JHY2gyVXl2eDluOUcw?=
 =?utf-8?B?Uk5aUmVlQ1JJYTBBZmkvZVRNZW5NK3ZNTkE1UFpFZ3NDSlcrMk5rR1ZQYWZ6?=
 =?utf-8?B?TXFNcnNGMUhCdHdCV2hOdlI3RzYyM1ZXZlZ5ZDl0ZkJseVpRNnVxMmJ2UDA0?=
 =?utf-8?B?VUxIcGtEQWQxMU0vam1nSWl5NTZFWjdNeHRQcW56Q3k2ckRBQllsSVVvckpz?=
 =?utf-8?B?YXNGbVA1SzJob3pxS0dZR2dWNTRLbVNCQ1FPRlFWMk5OakZuMlhWbU9mUzJn?=
 =?utf-8?B?bk1Ua0E2RDA1cmluTnFmVTV6RGFTSjVjRGgyTGEvL2UwK2kydjBuS3dDT1hR?=
 =?utf-8?B?WlMyVHRLWXRyMVVId0JRdDZ1V0FVVzBXVWxPVmRoMzFNZVRKZmR6enpROVRN?=
 =?utf-8?B?VFkrcWRUbHZ0WEVDZjg2SXhlSWdaODFjaWpuVVBLcnRMNWxlelc2RGFmQ1lj?=
 =?utf-8?B?MEJHejI4cE1RT2VMOEJsRm9ad2xIL2lOTkVsTU9KeHVwN2dqV2M0ZjJoNGI2?=
 =?utf-8?B?NUlnbE4zZEt1dlVoVzVUUjQ5UTJTMWtNeTN3NUpJWGtEc0ZocE0wSmo2bThZ?=
 =?utf-8?B?Ymg1RXo0K2sxcUN6ZksvMjRHQVFSM0VrMWxPSVAvWnhXYkcvTXlhMVhiQ1Iv?=
 =?utf-8?B?MjRHY2MrVmJtR2YwNEYrRXpueFNBbThzRTI5VlFySjVtdkk2bHJpTmZTNjk1?=
 =?utf-8?Q?aXxxPXPiMeI/EN93JNILiZ0Sm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 94bb4db3-4957-4136-3942-08dad8f58812
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 08:23:49.0485
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YFN+fDDhcN58XW4PJR6fkEL7/HN36qh33v7W4g41xaB8G0/k8zfWBUyr1MO60fvO3WEdL/C7gNxaRf5nscEW8w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9364

On 07.12.2022 14:07, Luca Fancellu wrote:
> The script xen-analysis.py is going to be used for the analysis with
> cppcheck, so remove the rules from the Makefile.
> 
> The python script xen/tools/merge_cppcheck_reports.py was used by the
> makefile rules, but its functionality is integrated in the
> xen-analysis.py script now, so it can be removed.
> 
> Remove some entry from the .gitignore related to Cppcheck invocation
> from Makefile.
> 
> This is a partial revert of commit 43aa3f6e72d34 where the entry
> xen/xen-cppcheck.xml from .gitignore is reverted because its path has
> changed, *.c.cppcheck entry is not needed anymore either,
> merge_cppcheck_reports.py script is reverted for the reason above,
> all makefile changes are reverted.
> Every other change to processor.h, config.h, kconfig.h is kept because
> they are used with the new process.
> 
> This is a partial revert of commit 57caa53753212 where Makefile changes
> are reverted, convert_misra_doc.py script is kept as it is used with the
> new process.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Thu Dec 08 08:32:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 08:32:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456886.714732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3CKI-000425-U8; Thu, 08 Dec 2022 08:32:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456886.714732; Thu, 08 Dec 2022 08:32:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3CKI-00041y-RS; Thu, 08 Dec 2022 08:32:18 +0000
Received: by outflank-mailman (input) for mailman id 456886;
 Thu, 08 Dec 2022 08:32:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3CKH-00041s-Pj
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 08:32:17 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2041.outbound.protection.outlook.com [40.107.7.41])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2981e39-76d2-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 09:32:16 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7528.eurprd04.prod.outlook.com (2603:10a6:20b:297::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Thu, 8 Dec
 2022 08:31:48 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 08:31:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2981e39-76d2-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=edPqwQl/LMLNsRigLfHvEL7T4j0l4ehwlzV2UsdiMMV594Lw1pLxbZlIlY+lrHORqhofw7Da9PSlQ3x/3MF/+EgfpYFeTZCqMtu6ISEZPaqpfMw/Tp2DmbLPKLTr9+UoVnFHMpV6Kl/gD0rKkJTY9cMcPDv23LO5gy7h6y2npu8bQuQsN2eXmJlE8UZH01GL1mgFfYTsrW28kO7IAGXE3rUv2eQO1ZNe6cipKMJbHHe5K0YPOSwJxuGPmW4XDy2ZTxrtmXabZx6g2T27ptEEIw+HxkiuAsWs/VxGQAfGtUjz23P/bw1o+6IZv2Inp49WfGYpNalcZ4PmlsEDnF765A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HHaGxsDIclkMPpguyuyY6mwy4nelouZrJLSamVJUtqM=;
 b=it2itoaAKaDbeAhdaFnK0pzEG8p4VStr+/hGAneYkn8V3KWBvl7HVA+OdMgX8MPs/Bf48lfRM5orXTSsynuWDODcmTI8bXBPIVPY2m8PMJ47bk3EUL3KI+jfWk79bqF7k9yPYQ9n5moHWtCKIJpi3HJSi2QPcvNXmw+ar8zKhsRA30cJ4ujwiwhbxlWeMl/jfkiMwz3W8Obxa1wMyUPQuBiVYE0sw0yWFtsELM2q5VQuEe4PtJO7BdXZMbpwUR0lkvhCv8QVudPGjetTvb44XgO9+tE8pTsejeebIs8Ko3AiQs0T6700pNa1+QZtze74oiHhLmcsxpYMqfwzQ6gG/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HHaGxsDIclkMPpguyuyY6mwy4nelouZrJLSamVJUtqM=;
 b=bu/SK8YEmKnvEtsLAH+uwyPs4heRNt/rR9K5UGs5H2qv1+381YZTePxZY5OFbtOFUG5kSVfv1mQ+y/Av/0RKiBU/qdzG3hmHEQQrGgTV/VUz0wZq+G1VKj4mP+FfDzfz1hoYn+rQ/CpVEu0r9Jx4kc0m8oHRjrKem4cyZkFvaX/trVFgDuJhV2VjU2ubZ7b3Gp2E7HjExQtTmiOoNqZbSu4TTR+rrimQ+e8j6JhWA2TIr7Mq2uHCRxvRUjRux40gitnhWG+1s6mR6CxUUPaDlDbljfCkHwzQm/yOtOePOk8M7t4LI4hpT36pQ9Lj1mMDLGrbuo7u4L0Fwoc20Z3NqQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1b76ed68-4305-3183-f63e-a21d98ece3cb@suse.com>
Date: Thu, 8 Dec 2022 09:31:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2] xsm/flask: misra rule 8.4 fix
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: dpsmith@apertussolutions.com, michal.orzel@amd.com,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2212071519340.4039@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2212071519340.4039@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0049.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7528:EE_
X-MS-Office365-Filtering-Correlation-Id: fcd1b242-33dd-477c-c72e-08dad8f6a5e9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kMzx5n069WLjJldlabci/SLXHs0tAKGiBXkh2Ku4eiXvmKRCWX3lIgZ7+ALhu4n02DQWPmKSL71GXJNJABOy74ZwZO0IYPkFe60Q0xXAmQ46uwadX+zWHgpA2jJi5vCqV2Aa9RoThtIh9j9DOr4xXlIs2fd5TrGLCt27SzuHaywZvDopJkjlFj+dk4eOIE/2LovmtQitX3gEGp8Tr+zanNplYN1Nqa65EDA56BXQEyv5INOKdF/CDH9ICFfPlP4rApCsQk3jjsfLyVtlYjemep8YzvlgWr0MyefXVgzS434UcBudoyNBONxmHfsrMLiheh7wLYhX4jQJ2TeqQpkiVxbT9/KAQrx3S+d9UjQpSswcpVKpz2+K0X1u094HN+6scr6Ivdpr17bKdlIisRUGt59n39mbrysUWF5xh6e/avdkvpTvXBFvKjNH2W1/hcnzD0LfQ0bJUYBW48r8a5Z40uRRz4k6lF7+IcHmVAsG9iTuXahFcY+z0DxbgKWQ+Q+fqdtPLOAEs8QQUROPm0bK/bt1Ow54gZ5cZ3QRqV/gjJCm9fSoKJF5QNKS/FFNRJtlCJOyaD2eH0WqXFpQk18TlTgpjcL+wGXT93/PNGUDBVhsvIBxiDt3/Pf3jJxWEDXhyBlVcl+c/muMT1IarlAO3U2B3dXGzqJSRrLOHYGlbqMg1UQ5/M4zFDX0SbGePVsGyrGbWk5GBTQPjfy7tgM3E2oKWvFJgxgTmtxoIVlC1ZI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(39860400002)(136003)(346002)(366004)(376002)(451199015)(83380400001)(31686004)(86362001)(4326008)(8936002)(31696002)(5660300002)(2906002)(8676002)(186003)(6512007)(6506007)(53546011)(26005)(66946007)(2616005)(66476007)(316002)(41300700001)(66556008)(6486002)(478600001)(6916009)(38100700002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QkpJUHREU2RDRGcvSkVSUGZ4THptaXdtSmxKT01xVXV3RVNvcjE2QWFhTUM3?=
 =?utf-8?B?U1BaODl2UHVsSVpWTmpyS20wVkxQWmRkY1N5bVF3RkNrZ2xvakxmeEZDd2FP?=
 =?utf-8?B?aFFPVnR4a24wSG05QzJSRGZkeExMZ1ZQdC94MjFJbTJZUlg0dXI5L3RxZUVR?=
 =?utf-8?B?aVMwUUNRUkdRWnhobXBmd0lwTTYwRi9jUmpBQzV6cHgyU0JuTmNDN1NuL1k2?=
 =?utf-8?B?WjBrUnlCVFNrblZzRDJZRHYxK1NuUGxJZW1iQVZEZ1VMZDFaQkFTa0E3K0U3?=
 =?utf-8?B?N3I2dlhTV1VmZGRkWlBBSU0zNU8yYTB5bDJvaG5NSmY0cGl1MmJXQkt1RmZx?=
 =?utf-8?B?WHB1VXpjZmp1VWM4eUF3ZzZzRVJ5V1RrZEdUc0NVOEZLWWR6QTg2dkU4bE5w?=
 =?utf-8?B?L1AwT1hFTzRVZXBtRG5FOXJWaDNNS0llV2FVWnJQTjI2RWtrWUVsZCtWeGdS?=
 =?utf-8?B?MTJUVExLYzFpcDZKN2lrQWZlSllGNTFCZERXdEU0RWJQcnR6L2FGWWQrSEJu?=
 =?utf-8?B?aDJzeG43bmdoTkwxV3NCemdyTmFUZlJ5emJ5N2kvNGFoMCtoVC84RXY3N0lS?=
 =?utf-8?B?VXhzZHljRXZBTENwbXF2eHhNU0dBdk40NWtmNkhSQmJQSUpISGtnTVIxK0Ir?=
 =?utf-8?B?M3dIUG5WM1RpZTRENkI0S0NKNW1UL1lXTGNTNkRBYTkzbmpRanNJQ2JFeS9Q?=
 =?utf-8?B?TDhiY3daVkZDcTBSWGZ3VmUyTE5XcEdtYUVNbDBkWndGbk9ycHpuVTRIcy9J?=
 =?utf-8?B?dkt2LzQ5OWZVOThWbkp1cE5GYmt0SzFTL0dIcXVKQTJ1ZWorVUZYZUlKVURB?=
 =?utf-8?B?MUdmazNQV1V0RHZnSjI3OEtpMHMvMkZ4ZFlDZEtTbFJxMHFwQUY1R3ErcDVy?=
 =?utf-8?B?WmRwMC9Oa2RCR0dTcEM4RHFwRi9YN25iS1hMNm96K0tyUnpnNmMzQ0hrU1Fk?=
 =?utf-8?B?Z3NJeDdvamNmZGZ5blV0YUFncTZSYmVkcVB4SlFuT0o0UUVPL0tBTHFOMGV6?=
 =?utf-8?B?WStqa1Q1R21pTndFMVJ2Y2Z1WWFQSzRjWVFFNHY2VnBQblVNMVArU0ExZDZx?=
 =?utf-8?B?VkdNL0EvTjBGRXBWOS9tbTE2c0RxVHlmUWRLak9hK3NQdzJaZnRvdk9ONVNK?=
 =?utf-8?B?SjU5ZkNoVzlBYkdkNko1ZzVVNlo4Vk1QdHJvWDFQYlJWL2tLc0d1NVNvNnNz?=
 =?utf-8?B?OUFEdytxek1mVTFTcm80N3g5bDhCUnUyaWtsczJoZDJ0dERKYTU2K1BsNlBq?=
 =?utf-8?B?VkZ1QXI2cTBMRmMvMGlmNUxKR1ZvSmlwTWhDMk1pYzR0UFNlTnRCOGVjTzh4?=
 =?utf-8?B?aXBadzNkbUZPQ1oxcXZ4bjBYb213L0VoZ2gvNWpOVEdmTTVjMDB0aDVPbld4?=
 =?utf-8?B?R0dKcjFnUlZSclVONXV0RjZmMVVDVHA1RVZuQWplYWh5clBEMEFlTVp5UHdz?=
 =?utf-8?B?U3dqcjdhWmtOMEZ5NC9qcEs4WFNGMTE4OHQvQWZOTUxyU0thbUIvNjF5MzI3?=
 =?utf-8?B?eC83aExCMmdKb0Q4enFBYW9uV1pCaXU2dlhSbTdESGlIR3lvVTFPWWdwV0lX?=
 =?utf-8?B?RFR0a0ZLekRDaHNrWko1S29QQ0d2bmVjT0FFblJzaGRybjB2UE1zWk9iMnlF?=
 =?utf-8?B?Vm1KR3EwZ0xxREZYbGRvNUF3YnlMTTZyd0xRMzVuVEpxdjhKYjlieHUzNjl3?=
 =?utf-8?B?M3JyUElKRWxBT1U2a1FNcXhyQ0Y2SXNMNXZ1NDhiMjFKRmZldXA3VHZNdmRG?=
 =?utf-8?B?eDFhamt3M2NsRzd4UmJHWGljbWJEL3BTL1hUR3Vhalc5MkJYYkhXREdhZE5C?=
 =?utf-8?B?ZDJ3a3ZZaU1kQm9xWkRETFNOcXBkVENtb1hsdU5ZYXl2aTRCaWJETSt0QUpJ?=
 =?utf-8?B?SDVVWXh2U3NwM0pmdzhXZUgyYk85VEpoOVlPRElLcXVZTndKc3JKd0FpM2hz?=
 =?utf-8?B?Z1dtYjdET0NKanFHaHlYQWsrUU9lK0hnWmpoSW1oT2xCa3BBMUFLR0cwUDlE?=
 =?utf-8?B?cm9FclJsRmx4TWM0aXdzNStmMGFuSGw1T1V1b0pDb001T2h1RGQrbHFTMkMr?=
 =?utf-8?B?QzU5RDZ0MzdFL1hCd1F4SlRRRnVJSkhrZ25qcjJjSmRxeW1WTFBuYmRBWHF3?=
 =?utf-8?Q?A6Js1OlekNM7sKIwNt6CfmOOl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fcd1b242-33dd-477c-c72e-08dad8f6a5e9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 08:31:48.5024
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Lo1qXaYrkBZf7MWDL9419Mqzc1UFeGM7wyAAUvbc3Lsa2SkJAnUWbKH5kNzxY6pg4XugooSob08AMfhdM+kVTg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7528

On 08.12.2022 00:24, Stefano Stabellini wrote:
> Fix several MISRA Issues Rule 8.4 ("A compatible declaration shall be
> visible when an object or function with external linkage is defined")
> found by cppcheck affecting xen/xsm/flask.
> 
> - policydb_loaded_version is not declared; removed it because it is
>   unused
> - move ss_initialized declaration to xen/xsm/flask/include/conditional.h
> - #include <conditional.h> (which is
>   xen/xsm/flask/include/conditional.h) in xen/xsm/flask/ss/policydb.c so
>   that policydb.c also gets the declaration of ss_initialized
> - #include <conditional.h> in xen/xsm/flask/ss/services.c to declare
>   security_*_bools functions that services.c is defining and using
> 
> This patch solves all the Rule 8.4 violations found by cppcheck on xsm/
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

But I'll continue the v1 thread wrt the two conditional.h; that's
independent of the changes done here, though.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 08:42:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 08:42:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456894.714743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3CU5-0005lm-S3; Thu, 08 Dec 2022 08:42:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456894.714743; Thu, 08 Dec 2022 08:42:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3CU5-0005lf-PG; Thu, 08 Dec 2022 08:42:25 +0000
Received: by outflank-mailman (input) for mailman id 456894;
 Thu, 08 Dec 2022 08:42:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UkKA=4G=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p3CU3-0005lZ-OH
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 08:42:23 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e89::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38c1841d-76d4-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 09:42:19 +0100 (CET)
Received: from BN9PR03CA0711.namprd03.prod.outlook.com (2603:10b6:408:ef::26)
 by PH7PR12MB6810.namprd12.prod.outlook.com (2603:10b6:510:1b4::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 08:42:17 +0000
Received: from BL02EPF0000C403.namprd05.prod.outlook.com
 (2603:10b6:408:ef:cafe::6f) by BN9PR03CA0711.outlook.office365.com
 (2603:10b6:408:ef::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Thu, 8 Dec 2022 08:42:16 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0000C403.mail.protection.outlook.com (10.167.241.5) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Thu, 8 Dec 2022 08:42:15 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 8 Dec
 2022 02:42:15 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 8 Dec
 2022 02:42:07 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 8 Dec 2022 02:42:06 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38c1841d-76d4-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jNaS9tQzphEne63eoIrU5u15iOJdzKp+ihIS41RjsC8I0LkUWfJmZNfoGREAOiV5G71DMhLjQGhicMZgJB4VFEHs31Dl4nBOW0nKC9NWD5oa0aENw70FfmMg159ST/R9FfEaHQe/bk5dY19SpZuCsHfO/807L5c+9vGkev0eXX64gByhhUKpjZS8JGtgNciYg1A5RWu3QqUQiuOd43XEISgMLpMkqr7SQtuWGF5XjWWcWACcodzxnKCEZ9tLI4zyKuqZtRuEM9TMwzs/ckthwVSxGmOc3d4cvipCvko7DAO6E4SCOzTk4mWGLXcMXgihzh/k+4DXUkLLeLCc4NpStg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Aw9jkc/STrOn0ZeERl9Onfdrp9d+22WAt+7ky8mzvdw=;
 b=HilFCeAhOVrirzR9BVCEPf5zUogpdjff9pCY24YqQB5GmBTmBvVxEHJa+wafaHARaHo+6a/i5apH25EzaX8kDzwBwSAWgc0JshCCdmuUcaMSF9SOyLbb7nqxlD4pHeIUGI5KoQvZEZp4YrEZFXqp5ti3fiRzXLlywV2LtfeAOsnMnFc0hN9nMhk7JkUcPP0tKOF2URM2rKxKHJfyoHgGhJpN7jqXCptBGajER203Y+rIzRDk9w3ASuQ7rOtjz2mRSrVd5NPD4m4yj7ErgsdyvOG3b8Qo3dpzzlU2OSi6TvFv3HAiMBzwRhLNgRzqivV/kePg0f9M7IKP4C+gh5kUOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Aw9jkc/STrOn0ZeERl9Onfdrp9d+22WAt+7ky8mzvdw=;
 b=u+CkoDCfmCg+v+R+Q/W9ubInLX9mukfc1GJpf7zMXU3bNvA+04to1TU3Y9RRmrOvD0Tizg8FpcnbUmzQBd/uMeTvNFVfIm6MCFsJIjPTwtKpqrAZIewySGQhNDrgEMKyKLI3EeDdT78RGf9Dytnd+ge9gAhu/e09lf3gxb+joBc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <bb7e505c-a358-ad32-0643-bb579e6fc9ca@amd.com>
Date: Thu, 8 Dec 2022 09:42:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] xsm: misra rule 8.4 fix
To: Jan Beulich <jbeulich@suse.com>
CC: <dpsmith@apertussolutions.com>, Stefano Stabellini
	<sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
References: <alpine.DEB.2.22.394.2212061808570.4039@ubuntu-linux-20-04-desktop>
 <d9ea8f69-8cbe-abda-4ca5-b71b502a3fb7@amd.com>
 <1a1a478e-76bd-2744-4a74-25e8af76d051@suse.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <1a1a478e-76bd-2744-4a74-25e8af76d051@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0000C403:EE_|PH7PR12MB6810:EE_
X-MS-Office365-Filtering-Correlation-Id: f7880db9-1497-404f-c5ec-08dad8f81c05
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qjByWpUW5tiNhGFwd39q4pCvHCIVgy1E0bts7XCgKKOBZRve1rwIstSIZ+5pikclaF4N/4W2DxHJ50fn4OQS8d0y5F3Q2AxTH1SgSAHhWvSiG+qR7v+kHaFWUyFsI4tG5Gcy7/UG1VcHOATjpibyYBCyWIdHM7r77JUrtJgUO2cstnkWhG0u3sB1h8XIo3No5qMF1BlrQ7YcvtbS9tvggrd4Fbg+0pVwClirmhxrJ7QGGARxiXYFobFNt2eQi7oadRv2VFxbLUZX14rstmOfy2p+DizpXErnkvxAwTW4HewB6iXTxgzku3JjlQx/Cc4w3RR+cZiPoMuoaOMa9JRzl1cf2Ewh2tQGUgxvy2N7gx5fb6RDERoy/fQq1+3IgyAvj7bzl2ECgBbdFRshxKgQePkxANps9LGjdgJ7iss7fWndlgfz2MEFk49bewMYD2SxTcTh6imsM5858WwdV6rYON4ovqax5escNSJAZ+kHFl5hsKewld2PcvLS7/r4n5384aL3DSBRQg86wHFHSZsjaFHAukn9mHcfiAp02Q232uG8uhJI42IKQhQzTq3BnMWz/GdYJn9xmeRfC79/YTrstqt4rkXdXyTeYUFPhVj3ebayw6HSVrIxAmAKd7XO1XHDuU0KRUs1pil006qT6uPxqgF/2IrU+sPokowDpWaaSjhrYCo/yyQu9H8kvctsMgoSIKumac4CCV5IJ7KjsM1zaAM6XG94/ujLDNXVnbYTVJMaHWItSv4MNIHj8U0gJpY2HJBPhjFfU12Ri1xNt44kzw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(136003)(346002)(396003)(451199015)(36840700001)(46966006)(40470700004)(40480700001)(81166007)(31696002)(82740400003)(356005)(83380400001)(86362001)(36756003)(40460700003)(6916009)(54906003)(478600001)(5660300002)(2906002)(70206006)(8676002)(8936002)(70586007)(44832011)(4326008)(36860700001)(41300700001)(26005)(82310400005)(47076005)(2616005)(426003)(53546011)(16576012)(316002)(186003)(31686004)(336012)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 08:42:15.9507
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f7880db9-1497-404f-c5ec-08dad8f81c05
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0000C403.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6810



On 08/12/2022 09:14, Jan Beulich wrote:
> 
> 
> On 07.12.2022 13:33, Michal Orzel wrote:
>> Hi Stefano,
>>
>> On 07/12/2022 03:12, Stefano Stabellini wrote:
>>>
>>>
>>> Fix two MISRA Issues Rule 8.4 ("A compatible declaration shall be
>>> visible when an object or function with external linkage is defined")
>>> found by cppcheck affecting xen/xsm/flask/ss/services.c.
>>>
>>> Fix the first issue by making policydb_loaded_version static and the
>>> second issue by declaring ss_initialized in a proper header.
>>>
>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>>
>> cppcheck also reports findings for rule 8.4 with regards to the following functions:
>> - security_get_bools
>> - security_set_bools
>> - security_get_bool_value
>> - security_get_bool_name
>>
>> The prototypes for them are stored in xen/xsm/flask/include/conditional.h,
>> but services.c only does:
>> #include "conditional.h"
>>
>> This include refers to xen/xsm/flask/ss/conditional.h and not to xen/xsm/flask/include/conditional.h.
>> This means that we should also explicitly do:
>> #include <conditional.h>
> 
> And Misra has no rule disallowing such use of two different, identically
> named headers, for being potentially ambiguous?
I could not find such rule/directive related to filenames; only \wrt identifiers.
But all in all, we do not need MISRA to modify the filenames to get rid of ambiguity
if we really want to.

> 
> Jan

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 08:45:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 08:45:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456900.714753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3CXH-0006N2-9Z; Thu, 08 Dec 2022 08:45:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456900.714753; Thu, 08 Dec 2022 08:45:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3CXH-0006Mv-6m; Thu, 08 Dec 2022 08:45:43 +0000
Received: by outflank-mailman (input) for mailman id 456900;
 Thu, 08 Dec 2022 08:45:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3CXF-0006Mn-OO
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 08:45:41 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2060b.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b16836c8-76d4-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 09:45:40 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8587.eurprd04.prod.outlook.com (2603:10a6:20b:43a::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Thu, 8 Dec
 2022 08:45:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 08:45:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b16836c8-76d4-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fDB8p4k/F1MW6nzpMqd9pj7PCnhDfX9v8i7qc72KWvknKL7EDY8cnfFbghy5e/R+MEXo0Dh2itJtBX4xFy/UldHL2KEIuy1GdZ6pqjDS37wkcWo8AY8SXS8vAtuG9NOYcQpu3yZd1giOUb+qtDWz02ID+bMIv0vE3JOJV0m3CXOa9jYW7KkumJEAB9wItCd+bVjcLYNrElk/LXYw4OfewjLayXDA2WDEjfexwCS5R6GyTzcCMeHiUqlilQ28I2VHfs8NYnpy3mixrr5sPgw5ZFHMr4ysENoIYybuODPzJ0m2Q510Oy+OSVhHPaVFbakWFFDRYgM7Frwc16FXVl8bRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8cXfC24BVk9TGe/vnlgXvSOcumKIW/PmZtwKihAIjqg=;
 b=HuOZpe6busqEmr7QLhRp+ZPYhJNhB2DykKKQv2sXJXTYHE/1eUjZ4fiGHA22jSGzpLr8+Tyalmr7E/9XiWu/Z2GgdrGGMLo0DCTtHWlC7f7A7s99BB4pOutwDZxXVXS8/PpMbOpVXs9X7NvKOyHdcAJZHQw2mHmDRqmLVdLl0AQriWZLXOFRC0unOoz9i9m7TAIIsrEXLNeuMg1oZjjK+Eom2/HIzpxiHZhba7Ob5ywQVFUjGIwFhUXgvThYrjgGy9phAGBq3Fnkri7oaAbkbPe2bB23mJFD1Id1qZIJ2BHcPEVhsb4UynoMFj+Ygi84obVzCFWJjtqCiS3Gg3iHCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8cXfC24BVk9TGe/vnlgXvSOcumKIW/PmZtwKihAIjqg=;
 b=qoH4R8NEdv+OFS3pyejZPE2RIlW/CrNg6FyICXt0cYx7ClID2I0aBtTpm8QcW/TD8hHl5m7uNT8pM1MUSolGxC+kpU4qyDsVscQ+Q7M2vgHwy4MGCtUBiiheMNo9CWrY2cJC9Mpgt/bGnVmVQsqYmSVE4hP06JE+4xJTDEA6CNZrasphhgG6w6hcCLNoCYO/2pwpc60iQz4fYsxENNgoTRRdIHxYGIwwC0AqPOlVkdhc4FPip4ycUWM1CC9r2I3XMjmwSH636snsvm7Y7pK8UbH9grq3AgT3UIpDCJL4H8O+YLX4ymPL/E84EmJ6rUXuNKETpLe7IC4fTnv6fpZE8w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <31c7e7f5-9add-3c77-2d70-4eb2792207d5@suse.com>
Date: Thu, 8 Dec 2022 09:45:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] xsm: misra rule 8.4 fix
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>, dpsmith@apertussolutions.com
Cc: xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2212061808570.4039@ubuntu-linux-20-04-desktop>
 <d9ea8f69-8cbe-abda-4ca5-b71b502a3fb7@amd.com>
 <1a1a478e-76bd-2744-4a74-25e8af76d051@suse.com>
In-Reply-To: <1a1a478e-76bd-2744-4a74-25e8af76d051@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0167.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8587:EE_
X-MS-Office365-Filtering-Correlation-Id: c214a7bf-209d-4812-bc55-08dad8f894ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+uD/jVLFxq0mP87/187ywGozqs2WvXJ/QPDNX4cdImEmRsYovk2gwj2vgW9sdt2EA0z0ZGI0/CBRcA7wykNeYu69/rZOyYSSHx27ow3kgVy66aD1hoEp4xYHmoEce78LcwzHmgf3lbig1+FiteSeNFHb2gb2Q2tPRdHXh0nQsIEhWO8Jdo9beFIZPgaFRyKzOrbIIHposiQR3LHDUMUvL2eJShlKetZcvW7+7PNz7BRm1NCy0JhgApFEa/2XNRnE6LK07opyQmb1bilTBPaxnK3GBVTd9LDOHbKsNBYDaDPy6EzT8DOEA3tka6E2RlyXmmsBPsSPOMrVeqTnIR2A2I6+1zbipQTLHeaLbf9sI6EMUuQ8hnw0BiJyVZD+NLdfTdKIr1xjbZqTKyCUlm7GkejQvsWg1aeg2gOW8k9lM6JgzCYHyOvTKvKzj3Po+IraucCWrzUzPRMYp0D3EN1Mf5Gsy/8wyF0Zec8foAx8r9W5/9OWGdRkRtMNLKHzAQWDjOw4OGBY/0lhTolcoRW6hwtVlNKGhxWzF57hQ5hUZBtqfJ8upirb7Kp4IrIlvGAN2ZJ/Kp3wMo3393zSWrvrAvUtj7w601sTaRWdjqKC/mqT3XaZQLRGPSDdDafVCmf7bi0+KJKsIUPaKXoBEaxl97IAyD6MaWs5QvYR/0SzdkflzLcwBiPghGZTkuip/Cw4kHxYz5ETf0kdod1k18p3J90sWBXcsSufViReFZQEwq0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(136003)(366004)(39860400002)(396003)(451199015)(38100700002)(36756003)(31686004)(86362001)(4326008)(8936002)(2906002)(5660300002)(31696002)(83380400001)(66476007)(316002)(110136005)(66946007)(2616005)(6486002)(478600001)(66556008)(41300700001)(8676002)(53546011)(26005)(6512007)(186003)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YmNIZi9sdWszMWdNL2xaN1U0M3pWVVQwUENCaGdaanBvT1pRKzlmTlFmbFht?=
 =?utf-8?B?TU9ldy9oSWo3OUJ0Zlo3UEpDU1hKMlU3OEVYMWVpUzZBUVVOaGd6cUUvRnNJ?=
 =?utf-8?B?SHN5SFJpVHJ6Q0VtWUFiNUdSRTRvSUFNenUvbVZ2bkJDdi90TVQ1TVhub0lL?=
 =?utf-8?B?T0xCZHcxMWhzaWJiNitIb0FqZTBjSlV3TjRHdHVMTG85bGMrQU5IeGxMdWJ5?=
 =?utf-8?B?K0xVQ3hGVG9weklqRG4yR04waWhUQUtVc3NrMlcvL1JPMFdkVnA2V045clVm?=
 =?utf-8?B?TldSdEJldmdmYVRWWG1XWWRDQ1NLNGUzZUNlOVVTbHJ5RTFYMkpuWk5vMm1p?=
 =?utf-8?B?YkRtY2lSUytOZGY4d0FNQWw1MSsxWmJSY1MxTkFjcUZzS3hQbGpuR2tsQnY1?=
 =?utf-8?B?ZTY1YzcyNUVicjZMWW4zMW1kbHE1Y1dvZE8rSVJJMlVmUmc2SmQvSlQzS2ZF?=
 =?utf-8?B?UFVuZHdqYVlNVUI2L3R1blBLWWdodHRqRkJSR3VXeVZsZUU1U01kZEkrcnZL?=
 =?utf-8?B?aThGaDhHeXhJMzBRL2hMMVo2eHArODZ1SGhDWmlMemFESkR3N0JHcGJ1d3lz?=
 =?utf-8?B?blpJNlRBakg2SURmODR2aWkxZEZJOXpLS0Q3VUd1UTljbUcxMi9XNUtEbDc3?=
 =?utf-8?B?TTlmTklMc1hXZys4QjcxMkhueDRPU3BrOHQyRzFZdlMrVXNIcUJUY3dPQms2?=
 =?utf-8?B?K1d6b2hJSjh1OUFPdXlFRjY3SFp3dXJFSWpSMU1PTElrNzYzTHlTS0pXZzlT?=
 =?utf-8?B?YlZKMzJ0ZE1GRjY0SFZJck5rRFh2ZTFaaFlobkNOclpIT1NoNWZxWGZBOE9x?=
 =?utf-8?B?bklFWDFKcUFtR2F4TldaSG1sL0YveXlFMnFrOU1YUUZxcWsvSzRzSW9Gc1hj?=
 =?utf-8?B?TUlzWExlckI5RmM4OEdRLzdPNkd4dFFMQ2FvSEIvWkJRNjJjWXJtbW5Jckho?=
 =?utf-8?B?cHZBdTBiYXI3M1M5MlNpUFpMVU1Bd2ZBcTRSV1RVNk5JNmJkV1BiSlhmN0RC?=
 =?utf-8?B?SVRaY0YycS9EaHhTTnZ2Vk5UNm15d2xzckR6WWJjbUJLWnNFbGlYOERkOE5V?=
 =?utf-8?B?ZDZvS2VOVGpnSEtrYld4NnZiUlNGL0htMnFxWnZIdmJRNWdQVEtZS3BMSVR2?=
 =?utf-8?B?SGlMUVBqd1BwYXFkWHpDVjMzbGI0Wks4eHVZRkhNcTZJYWFoV0pJeFIzeEh4?=
 =?utf-8?B?NzRUaDBWZlVyb1NoaEFyYmMyVzJvVDJoOXNXSG1yRTlDZUMzaXZGVTJUcHVj?=
 =?utf-8?B?S0g3QkJFOC8xWC84YlhUdjFiZzIwcnpiU3J6bWdIa21qVUpKOXI4eWg2V3JU?=
 =?utf-8?B?cU1KOWhPMWxlVHhYUGN1Nkp0RHE3MFlTN21Va0ltRll0cWlRRk1NMTE0YUFS?=
 =?utf-8?B?SE9UNUp3ZjkwR0x0QjNYMmRPTUIwa205cWJIWTVSbTNtVGIyRW1ZTTl6ZmJm?=
 =?utf-8?B?ampZZnE4Qk04T04zVldGN2FnWmVwN1kwUnA4UWlmdFd3TlpYNDdFKzZ4ZEVa?=
 =?utf-8?B?MmpBanp6TzNKK0ZhQllwWkgzNGRzWG5mQkFWL1F0bUZRVUJpa3pFWVFDNWtK?=
 =?utf-8?B?MFRyM1YycTcxTlByY1hZc0QvV0Z3YlR4RjAxVHBQczNEVk1sMTlGU2JkdUtY?=
 =?utf-8?B?VFh2aGFYUG5VeVdqUzlQOVV3SjJqdjJNd1hjSXRPSCtkRm9qMy9PaFcyc1or?=
 =?utf-8?B?blM4SkNBenAzdEJqOXlodnNYRmgxa0JWUVl4Q0V3V1RwYkRIaFdMdmVrR2Vz?=
 =?utf-8?B?M2NYOWNjQnV3WjZTZVhVeW5Ba1l0dGdVUWd0eFhRYmQzTndhOHZ5UG1RTDFT?=
 =?utf-8?B?TWprNzN3R1hFQjJrSVpCQ1Y1dm9TcmwxWUhURXd4c010VzBoU0RweVlLcWdL?=
 =?utf-8?B?WWZvRFlIcndxMVM5TjlqL09mT1JGRHpDbytweFhFdjd4ZmRWdWxsS0c4R1dn?=
 =?utf-8?B?T0lhVEN6SEl3UGNHRFBkdmhVWnZtSjdyeFlXbEVYL3MvUVpnMHJ0dlAwL1g2?=
 =?utf-8?B?YklxU0s3dUVIcWdJa25oVVN1dnVlb3hBWW5VUkpScno3V2dXNTRyZEMzdWZ0?=
 =?utf-8?B?YVU0REwxWmJHdlA2UUhFbW80QWxvVzBMRzdkVUFLRzhGU0krTnlmMmFGdURG?=
 =?utf-8?Q?9cIjjlxF1eLmZanFFLCCZKV15?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c214a7bf-209d-4812-bc55-08dad8f894ac
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 08:45:38.5746
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +GCvgM4/E9xTDpZnwMHXtRnDhqhBvrgrwUOdupgW/VVlr2XdyBxh0ma/Ncu6KLuNjmwroVGerAF4fzDcjEl1ZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8587

On 08.12.2022 09:14, Jan Beulich wrote:
> On 07.12.2022 13:33, Michal Orzel wrote:
>> On 07/12/2022 03:12, Stefano Stabellini wrote:
>>> Fix two MISRA Issues Rule 8.4 ("A compatible declaration shall be
>>> visible when an object or function with external linkage is defined")
>>> found by cppcheck affecting xen/xsm/flask/ss/services.c.
>>>
>>> Fix the first issue by making policydb_loaded_version static and the
>>> second issue by declaring ss_initialized in a proper header.
>>>
>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>>
>> cppcheck also reports findings for rule 8.4 with regards to the following functions:
>> - security_get_bools
>> - security_set_bools
>> - security_get_bool_value
>> - security_get_bool_name
>>
>> The prototypes for them are stored in xen/xsm/flask/include/conditional.h,
>> but services.c only does:
>> #include "conditional.h"
>>
>> This include refers to xen/xsm/flask/ss/conditional.h and not to xen/xsm/flask/include/conditional.h.
>> This means that we should also explicitly do:
>> #include <conditional.h>
> 
> And Misra has no rule disallowing such use of two different, identically
> named headers, for being potentially ambiguous?

Actually this is even more fragile than I thought when sending the above
question, albeit still working correctly as per gcc implementation defined
behavior. The further weakness stems from

CFLAGS-y += -iquote $(objtree)/xsm/flask/include
CFLAGS-y += -I$(srctree)/xsm/flask/include

which was added for out-of-tree builds, rendering in-tree builds search for
#include "..." files in xsm/flask/include too early. The only thing that
saves us is that the current directory is searched yet earlier.

However, as per gcc implementation defined behavior "#include <conditional.h>"
is likely wrong to use anyway, as this header can in no way be considered a
"system header"; it clearly falls under "header files of your own program",
where "own program" is Flask here. For being a system header the file ought
to live in include/xen/ or include/xsm/ (and accordingly be included via
"#include <xen/conditional.h>" or "#include <xsm/conditional.h>"), potentially
in a respective subdir there. My view is that these "#include <...>" (there
are more, albeit non-ambiguous ones) all want to be converted to
'#include "..."'. That'll then also eliminate the ambiguity with conditional.h
(as one will then [need to] come with a path prefix).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 08:50:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 08:50:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456910.714764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3CbP-00072Z-Ty; Thu, 08 Dec 2022 08:49:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456910.714764; Thu, 08 Dec 2022 08:49:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3CbP-00072S-RE; Thu, 08 Dec 2022 08:49:59 +0000
Received: by outflank-mailman (input) for mailman id 456910;
 Thu, 08 Dec 2022 08:49:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3CbO-00072M-Ng
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 08:49:58 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0602.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ad85a40-76d5-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 09:49:57 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8185.eurprd04.prod.outlook.com (2603:10a6:10:240::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Thu, 8 Dec
 2022 08:49:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 08:49:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ad85a40-76d5-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Vz9TDjgVrpnLrZfC6agRAhpEck3Iygglg1VVJGwx//Va75qSTVaN6TCumiIE383UgiNr+ZoRGoD8S3yeIfIwBvTFKGyw2X5qToo4zFAwxvfDRdfAgU60S+y4z4eCw4Oc2KNS+a+8SDdr3kW2QVQLiUkEKsha0E38xeLuTFBwOrafCBkXFOQ6T1QX31GOvlZ6e/TGqo4BQdrt5LgOFLZ7zSy4gBxhtRhpkP02E0BlWT9CYLjjiEXlKXQ7ajb7q/O/6LSJYzCx8Bvnk5U24ATW8BVB6zWAiC6zvDQdCwbomtZ7kW4lFeEu3WPp54YDXSXppgAPuPLW9eLemAuACknRWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m2n3h9tZ7Dhg0TCjUZX6jaa2QJipmfkwJLbqALQ2Gw4=;
 b=UvdA/SRMevqdNzBWsZ2EjPFk0OVNbPw2zOmSZOe3aaHb/C3qufBoYzO5mx8o6NohAip37Ah5szd8rfTc5A1V/72RbHDleIk0W6F7ISaK+yn4YQTtEkBZiZHk12rXFf4HpQbCwto7xASI2UHNiYGgHCj1nobC8FLMU0jut0CFB/Z+2al73gXHg8xE9MxvuoEJi0QBbb1XKTxnewMOnNIi8ZyXzVQR6ISljQ3/2M2GC4hibLZOTkNSJEc0zaKFjrfWf1Op/NqILVyXhei+1s0/IisogVbuWdbx01QAsoLHFE+RBIaPtmC5tvlqEYW6CEp9tF3QPnLL6QFH7A1HluNiKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m2n3h9tZ7Dhg0TCjUZX6jaa2QJipmfkwJLbqALQ2Gw4=;
 b=K069oGnldzlfTsNJ4/HHhs5Hq1bOguCRoAMa/zeTbcEY/6cTE1ErRVReYNzbZq69lCn5puTTP3bTMMG4oSD4hwEdK/RBCeWEMqB5DyQp8qxiFLI8I0h3ytFXaGcFBDuoCsCyj3aunp5a5tPj87U4ZsmP3fETTmgR8dAtn/NxQ9sa1Dub4bC+faQFyq8/axRTuKzN0nhOGspsD3Lol+4Bh+vF/qHxUaEY26Y1XcIacXB4FjJSA9tiArI/aOUhVcP2BjUMd9l+lL9OzF65k+vX0nytcRP7A/UQf2HrLtw0Ju4ylml9JpyjmiyTfykbq1WMjp9kbag6x3eJjBczK7eQpw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9c1e3cc3-e0b4-6ca5-087b-55117b45db80@suse.com>
Date: Thu, 8 Dec 2022 09:49:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 Henry Wang <Henry.Wang@arm.com>, Julien Grall <julien@xen.org>
Cc: Ard Biesheuval <ardb@kernel.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Xen developer discussion <xen-devel@lists.xenproject.org>
References: <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0104.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8185:EE_
X-MS-Office365-Filtering-Correlation-Id: 1db06e5b-ec3f-4fc5-20e1-08dad8f92d83
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	a1MT1zAHITlbOb1BeKrscxgUz02sWJbMhJLyknIoDUTm72kjCYeeoQl/5n9aqkojaZRwGDSSzttaK54kBJgo4u233NNBDemxQifqonEZ6PjOmX1LqqTMRXNZITaoXbhzVP4nhXK7lIPNvifu0kcVEYSGezIEYzCpoxiildfwkqeRjBFoIWLed9+RsuOhXJgggTUNWkPSVLLsi4g7o6FWXFJwvwBI6hjiLyYZs8esvr4oOX8WMjU7zgOLyh2TmY7e6SOYwlqN84b79DNc3GoNPnon+JkMOJ/UjXlAP4akw9Gz3KvMDp16E72B2tO9hWYMRIZJKFoHA4+k/Xrqu2Qor9kgLnkDs8UVskkwEb8Qw+yWcHJFiE18tTqVXwZYqJq9a1PCDfiiJZGz2aAQIt3R6H2ng8kxYD9oO8H3YHvfZ0nYZQNjdVIzftziLqUOJ2xLElsH9XU8978E9CB9OcbCa1SsZ2PdzcGFhku+wwiyJkbvjrRwPZxiEYkUJrc/XyqbaAjv6aVvtVZsdVBn2H7g0Ie3gHzmyS36VSqgtoz6U/9ztLuiS3C+5mKLWR9TYV4EfYZM5j+CVPnttffIGZsq7qO6GBYeIA+TJw+/Y5i1JipXM+X9CPy8U9U4Op2ILodQHIN81IdgD5TYEWrXK7PUz+yIC59WnygZQQYXmZjWwLAWynXHcxo4YmBNCLu9sfLh6G/M17pax2+QeLPQrPwUZDq9MDDxa9koKuYIq+o8uOWMOQGzvSLWF8AYk2VPTyF/aRw1aSE3aV6JdiUhyMAD2A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(366004)(346002)(136003)(396003)(376002)(451199015)(31686004)(966005)(6506007)(86362001)(8936002)(26005)(53546011)(38100700002)(6486002)(6512007)(5660300002)(110136005)(54906003)(31696002)(478600001)(4744005)(66946007)(36756003)(2906002)(4326008)(83380400001)(41300700001)(186003)(316002)(8676002)(66476007)(2616005)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cFFjNUR3T1FxVW05R2k3b0wydC9OL0l0YzkzSkF1T2pvaEpVVU9OT2Z3Z1pQ?=
 =?utf-8?B?S0VVaU5EaW93Y0hLbDhiUUNoQU1PNGUzQUJoVVg4VkdnUXFOVnd1V3RXUWFX?=
 =?utf-8?B?dGNwaG82T3JvTkM2K052QlVGb1BUSlYvMEhxNkE0dVYrdWZFQVNRYm1lM0w4?=
 =?utf-8?B?ZXVHbndHbzJwb1pKWFI1K2FQU0JKQkxjQUwzdmMvS1ZxZ3BkaGREZE1rd0NR?=
 =?utf-8?B?UCt1QVMyWmFyMGprZmUwakZUQjdKQ1NlbEdTU2RZWENGSS9jblMvYmphSlMr?=
 =?utf-8?B?L1dkMTc1ZXU0UzlDZ2U5c1lVQy8rdWQ4ajlaazhnUlEzMWlpRlN5cTlYeDhy?=
 =?utf-8?B?OGVYR3FZVHJoUGk1cE1hWkhBN05hSkRaWnQwQkZkanNnc0s2dE5TRzBEbDA1?=
 =?utf-8?B?OVRXWEI1MnNZZXkrK2FTM3YzVTB0T0c2TEZwSEQ5UncwR0VzbGM1Yjl4SmJk?=
 =?utf-8?B?ekJjWWt2YnE5Z1RhVm93a1RPZURWZXM2c05xbzJHTmw0QUFYdGRqRG9OWmow?=
 =?utf-8?B?dmxyZzA2VklJcUszdFFDa3pTaE5jamRyc2NzSjVmajhFTTRMWmFvZXV6UmtI?=
 =?utf-8?B?NVE1VzB6aDVLVEhBQXVXaEV3K1BGdkdpN09HcGJIbGRGYlhSWFF0RnJSTVFU?=
 =?utf-8?B?cGE0czI4ZXB1Zzc1bU9SRjNaajhXNjRScU5hSzdYRTkyUkpMZDR6QUMwcnlo?=
 =?utf-8?B?cWcrWU1laFBxVVR4WG1mdks3UXR1bGxmVmZIMitTazNTajRtVUY0cTc3dExp?=
 =?utf-8?B?cEJ2bDBOaGtCa2xYb1VTYXpnL1NLRnpqanRWSTVpVjN3MDlUVGRTOUhsZTY0?=
 =?utf-8?B?REx0OUYrMFVTRU84d2FxVVhmMkw0aWJnc1FxcTNldk5jTHBTYXlVTUExYkVT?=
 =?utf-8?B?Tmd1OC8ySkxJRlk1WmdMcDl4Q0xDV0RSRDg4elFXRnlYQzRFa1dGc0VGN3g3?=
 =?utf-8?B?bmduR25UYjVWSlRNdVZoM3lNZEk0OWlTMHh0b3BLbENPSmprQVJKTDJTOVlT?=
 =?utf-8?B?aHJpUlhuVTdNTmVhOHduMDFqSlJrOTFDakNFMkRvZFF2TnR5ZWpJTWd5RVdM?=
 =?utf-8?B?ZU9INUdxNCtqT2hiUlViUWliVzZ3RXFReEM3TVpobmVtdE9Cd2dmcXg2dDli?=
 =?utf-8?B?UVNNbUFCKzhEWjZ1bzhoZkZuMytuNmpMdzhleHc1R25NSGh4OFN6SC9UMUc3?=
 =?utf-8?B?UlphM0xxTzR6d2kwMlZIKzNUR3VtVFFhTXN2elhjc3h2UXB1MnZ4RmE1dFNr?=
 =?utf-8?B?TVU4Mk51R3piaVRTbFpBWG02TkJ6ZTloWVZuODdQMmVsWitHc0dCdkxFS1F4?=
 =?utf-8?B?UjUxUW5ManZucDEvSDUza3JtWXlLdG9MdGZUcmpGMzdMT21jV1RSMldpamNp?=
 =?utf-8?B?WStwcG9QSTVERjZOeHhxSldsNVpVWVhZaEFudjJRRHY1T21seUFmMVlFQ0FT?=
 =?utf-8?B?RVN3Smp0NVJJdFZIb3hJcWEwNjJsZ1llT3VaRGVSTU5tNStjemltVjlPbEd6?=
 =?utf-8?B?L1FmdmlqL1B3M2dIZzZaanBpcmtBRWdDTDNwUzVDb3pqS3Q3N2hWZzFPS0Zq?=
 =?utf-8?B?dk9hWnJtRFRwSHF6RU5Pd0pqOTlwc1pMcnRXcnlzZUgwV3N5ckpzOEg5OUtI?=
 =?utf-8?B?dXZxNEJhR25sTEpMbXVUZFZ5OVVDb0UrZk9PcUhSVTBkTUF2WXlSTCs4amFZ?=
 =?utf-8?B?RUtvbHo2ZGRLL2tRZ01UZGtscU1qM2NWOEw3ZmRkQ3R4L3RMWDY1ZEFSRnoy?=
 =?utf-8?B?NW93czRIbHdBeXBqNHFIYlZBdW1HMVhYRFZUamhNZUgvQ3ZONTRzeTFLaHhB?=
 =?utf-8?B?cEsrY0prYWU0dllaYXB6WkVIdWJvUHVLcElvR1FnNHdGbFRpd2dpV2xIN2d6?=
 =?utf-8?B?L0VmZTh4R0lodFFyWlpZUkJOSU5YaE44R1JEQW16NlhWQ1F5K1dLaU1jSTE2?=
 =?utf-8?B?THBUb3NrYlVHZEd6blBCOWtpbjBYZ0JEa3RIbmozQlY5U1k0YzRHQk5zNU1F?=
 =?utf-8?B?bEJQV1QvOUNCRzgrNE5ZZER6cEovYko4OHZINVdLdy9vKzhXaUtWa1pBZjFx?=
 =?utf-8?B?aXFFdS81K09zRU0vc0Z0S2Y0dlhXVGVzSlo5cWNQV2g1SkVva3RJR1F0OEtq?=
 =?utf-8?Q?SABL2sdlhy9u/y5nP7QMy5rBi?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1db06e5b-ec3f-4fc5-20e1-08dad8f92d83
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 08:49:55.0089
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ThGO3GhMQIg2o4TmXwbMwH3kCzYEcLbzAzJpIWvJnBgaD6g1J0F8C4Sl3pNzN+8EQvrjHhb+s0f/qMGqkxWPBQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8185

On 07.12.2022 23:42, Demi Marie Obenour wrote:
> A previous patch tried to get Linux to use the ESRT under Xen if it is
> in memory of type EfiRuntimeServicesData.  However, EfiRuntimeServices*
> memory needs to be included in the EFI page tables, so it is best to
> minimize the amount of memory of this type.  Since EFI runtime services
> do not need access to the ESRT, EfiACPIReclaimMemory is a better choice.
> 
> Link: https://lists.xenproject.org/archives/html/xen-devel/2022-09/msg01365.html
> Fixes: dc7da0874ba4 ("EFI: preserve the System Resource Table for dom0")
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

> Should this be included in 4.17?  It is a bug fix for a feature new to
> 4.17, so I suspect yes, but it is ultimately up to Henry Wang.  The code
> is identical to v2, but I have improved the commit message.

It may be too late now, looking at the state of the tree. Henry, Julien?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 08:54:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 08:54:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456917.714776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Cfs-0008VK-FI; Thu, 08 Dec 2022 08:54:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456917.714776; Thu, 08 Dec 2022 08:54:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Cfs-0008VD-Cf; Thu, 08 Dec 2022 08:54:36 +0000
Received: by outflank-mailman (input) for mailman id 456917;
 Thu, 08 Dec 2022 08:54:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=R/A3=4G=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p3Cfr-0008V6-7M
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 08:54:35 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2071.outbound.protection.outlook.com [40.107.13.71])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ee502ff5-76d5-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 09:54:31 +0100 (CET)
Received: from AS8PR04CA0056.eurprd04.prod.outlook.com (2603:10a6:20b:312::31)
 by AS2PR08MB9103.eurprd08.prod.outlook.com (2603:10a6:20b:5ff::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 08:54:05 +0000
Received: from AM7EUR03FT058.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:312::4) by AS8PR04CA0056.outlook.office365.com
 (2603:10a6:20b:312::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Thu, 8 Dec 2022 08:54:05 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT058.mail.protection.outlook.com (100.127.140.247) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.14 via Frontend Transport; Thu, 8 Dec 2022 08:54:05 +0000
Received: ("Tessian outbound 0800d254cb3b:v130");
 Thu, 08 Dec 2022 08:54:05 +0000
Received: from 0b4493b3c022.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F74ACD47-3467-4EDC-9DE0-FB53A5901BA5.1; 
 Thu, 08 Dec 2022 08:53:59 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0b4493b3c022.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 08 Dec 2022 08:53:59 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by GV2PR08MB8367.eurprd08.prod.outlook.com (2603:10a6:150:b0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 8 Dec
 2022 08:53:49 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%8]) with mapi id 15.20.5880.011; Thu, 8 Dec 2022
 08:53:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee502ff5-76d5-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7wb4d9UR5Zugk40nZOAR5r469bFJgjPQE/oAUUG2tM4=;
 b=uHWZolWvfetvWYppQkNLNDb4yPOEbKOFuL2NnUPO6JDCFR71Me5acxePavO+U/pD7y3yH2a7q54Pnwy9fRjL3ZnsiDh0T7oVp7z9TRYXExYNz6b8iMnU1eSGiDznUwCjdBwdklx1ZDBbeG2KFHNC5IwwCyA0t6XxEfWF2Ny9p1w=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I6o2O5h9vFpx4qHG2AHbXqWUyhLq6lQxSi5vtnSu5GmKlxDwmN8UvKq3ys/N2gY004H2M7j3bttK8VruTSeqwvHR1NRk9Re6G5j9zoEP7sn2hJIlRj4pUAuYGwMlPrptAnMLOZJfi/wN/8NXaYmPb+Ne3+F78Dek10EiEb+4Vpl+sJc/jfTYVdCs8ArJjdn2xujEkXYy+EdR4AfG+GXQFXXEWmoVZaqaC3jgIm41vQg5ChiWvPZMQqab6afk2Qfi4MNJlFTljQb3zdc4Oq5xG8ZJVT45h5SJ3IcE7IspIwhv77veaEpsYd6gYmQICUc3gV5yqcvxuaH2TV+lm6F2iA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7wb4d9UR5Zugk40nZOAR5r469bFJgjPQE/oAUUG2tM4=;
 b=X41mFiTFN6L4BwVrqUxCBvW7vP36+tGBfpqRdJIU+gEQPqQHYoAmIeQgh7/NxOAxBqgZjbcniXZF6NY8kaUVDK6TSlswUw/G/Z+fiX31Ax6NIuBVRyCJj1qRBLsokwQeG+fnXjSS36HEBhjUXZ2Aa5jH/iyCISEDJxUkFRFJnuRlXCY9VJvrM7viaVoozOYmVyiISv5xWJ5FXCyGYwTjbUKjXp/SMzC9zzFx3CDYUV2vaUxMNCrcabdTSvHO45HQxCWeimFregDPgjNP4F4wzwrqJhzTYB0RFxO2Y+/CUCXOz4CNxtvvJzliYK+DxP2doPgDvbu2kRbJfDtcGXEEpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7wb4d9UR5Zugk40nZOAR5r469bFJgjPQE/oAUUG2tM4=;
 b=uHWZolWvfetvWYppQkNLNDb4yPOEbKOFuL2NnUPO6JDCFR71Me5acxePavO+U/pD7y3yH2a7q54Pnwy9fRjL3ZnsiDh0T7oVp7z9TRYXExYNz6b8iMnU1eSGiDznUwCjdBwdklx1ZDBbeG2KFHNC5IwwCyA0t6XxEfWF2Ny9p1w=
From: Henry Wang <Henry.Wang@arm.com>
To: Jan Beulich <jbeulich@suse.com>, Demi Marie Obenour
	<demi@invisiblethingslab.com>, Julien Grall <julien@xen.org>
CC: Ard Biesheuval <ardb@kernel.org>,
	=?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Xen developer discussion
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
Thread-Topic: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
Thread-Index: AQHZCuISzshQ7NkOqUOBoTPM3AzEWa5jro+g
Date: Thu, 8 Dec 2022 08:53:48 +0000
Message-ID:
 <AS8PR08MB7991E4EE490EC8B028BB1D2F921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References:
 <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
 <9c1e3cc3-e0b4-6ca5-087b-55117b45db80@suse.com>
In-Reply-To: <9c1e3cc3-e0b4-6ca5-087b-55117b45db80@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: B6DD5E4A5AD4F549AA5C55F5DE9DE6FA.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|GV2PR08MB8367:EE_|AM7EUR03FT058:EE_|AS2PR08MB9103:EE_
X-MS-Office365-Filtering-Correlation-Id: ebfd0c3c-7783-4b05-be2d-08dad8f9c2de
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 97Z17c7tATiHtnmYcqq4u4wHZT5fyWFlZ2vpk1QWXuwQHCsJWpNkb+QQi62cWUEBHBbbVZ+SrekKkkps3m0fqtPfs+R9k0sWhuFfx9hPWeNUPZje97T5Q/AdYx6oWnJ3aovxGYoPJFVsSvbksd03tvsOik9/0jZWUXTnwO6UNbdPavg6BoiX9ZsyQUjIUYpIRZA6m9a0Qw6zp9vn4SMO6MaggRLhyuiaiqiGqAG8f6cTf+rr3eA0joSntb8w77GEbfs5gQ5JTetAkJPwgIeaQt+9XDtr/KcU9+CbDq7Uan5qE9LSGrVdWaBAZsBxjCqlDihkV1Cti2xe1TyYx7WqzAs7vfg7P471KQIxyvxD1t7AiKy1ahZC4fFhc2Scjt8vuucCqiDL/LMMSse9s6uT9JK3vTwnxiJtKeKDjejncAaz/ENDnTZzpoPzf7cFFx6xAi9xGP+pUHdo0DT+HplhrMU3M1X0GpYBqUdVrM2rlqiH4hMZtcilDa9fbYeJqDdbyoXCq8MTRXx19Q9pEkYBfi8SNIrCmNPS2tt+8iylJdrtHK2dI3S1hvwxMEzRbEhlSQTTOgFaphd8lR6qzaOXzY7YaSSwDlFkWbY/zZHKlM0WxNJl3JS9Rjt2dhoAd8gSq1ZZBC8OvakCX+aNHDK4Gwxnn+lIUF9yk0SHSgwnqxp9cR0RvXX46FU8nfQGPJprBheQ8D6uWWG5/AEMfqT14UVrCPaXy58NV3/v2g0qwfs=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(376002)(39860400002)(346002)(136003)(366004)(451199015)(110136005)(54906003)(52536014)(26005)(4326008)(71200400001)(8936002)(7696005)(66476007)(316002)(33656002)(66446008)(5660300002)(122000001)(83380400001)(66946007)(55016003)(38070700005)(478600001)(86362001)(186003)(76116006)(6506007)(66556008)(64756008)(41300700001)(53546011)(966005)(9686003)(8676002)(2906002)(38100700002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8367
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	05fee164-75e3-4566-604e-08dad8f9b8eb
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4sitFLsO6kPa6jHPH2lXoswFMmPYwgz9VlLRdOVHNDlH0dp0OfI5Ho7o11xfqGEKMexe5BuoylgBW26EP0L3WvamhhxT1iGZ8HV15vlUSwA5E0DT9ciRVzDLbXpYkONQGDu/UM2vgm+FnqL1V+m6CpPcd4GDaBF9WPFwMMs9y6t32txRBjn5CAGiEVtCOAo2SpHeda8CxpS8Y14j7uJIg8SPkyosFQHF31TYCss3DwBOPG/6vkzWU97THTe0Oyv/eSJhkpUOdRuqsdbqcN1LK/YW4qwXR6tsOGITKERACa75AMmupidhobVhsNtm/H4/Zx09HLEgLFSMnflg7evQmp7vkbv+fBKENrHp+7bGIM4VdcFfOFskbLtOmqH37eQkMKVZiOjCmy3B3XwjWA/bDUfElMBAG9D9plHY2dwb6lettwByYT3eDQ2XuifolK8pDWN3Lwl9RDV2CCpcW/Na5APXPYFN5ct0tnIcP1SqS6sBKaMEkXJM6e2QF0e1p1Ad/doRVIV9/4pqvXvxNWVqrdFS5okj7les/76FU0Xo606ynADnp1rijJHEzW89gvy+JMqjloDTAbyW5XYchCSW+r5E5Kzc22RjBfAL1IOH+MHPfSKVIasEA+kRYH7TEK4ky+WEmTJ2+ndT0MJnsym1OtKzGNkHn3sYmvT+pHiRtiA3C/t2QohsQ6+Qc3qDNTqntxbFV4luUWvHLLoWgrKY5fNvlzYDe3FYkgbPwuWYcwA=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(396003)(346002)(136003)(451199015)(40470700004)(46966006)(36840700001)(55016003)(40480700001)(966005)(7696005)(86362001)(81166007)(6506007)(40460700003)(26005)(53546011)(478600001)(4326008)(9686003)(41300700001)(54906003)(110136005)(8936002)(2906002)(70586007)(52536014)(5660300002)(316002)(70206006)(82310400005)(83380400001)(36860700001)(82740400003)(186003)(336012)(8676002)(356005)(33656002)(47076005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 08:54:05.3555
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ebfd0c3c-7783-4b05-be2d-08dad8f9c2de
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT058.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9103

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2M10gVXNlIEVm
aUFDUElSZWNsYWltTWVtb3J5IGZvciBFU1JUDQo+IA0KPiBPbiAwNy4xMi4yMDIyIDIzOjQyLCBE
ZW1pIE1hcmllIE9iZW5vdXIgd3JvdGU6DQo+ID4gQSBwcmV2aW91cyBwYXRjaCB0cmllZCB0byBn
ZXQgTGludXggdG8gdXNlIHRoZSBFU1JUIHVuZGVyIFhlbiBpZiBpdCBpcw0KPiA+IGluIG1lbW9y
eSBvZiB0eXBlIEVmaVJ1bnRpbWVTZXJ2aWNlc0RhdGEuICBIb3dldmVyLCBFZmlSdW50aW1lU2Vy
dmljZXMqDQo+ID4gbWVtb3J5IG5lZWRzIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBFRkkgcGFnZSB0
YWJsZXMsIHNvIGl0IGlzIGJlc3QgdG8NCj4gPiBtaW5pbWl6ZSB0aGUgYW1vdW50IG9mIG1lbW9y
eSBvZiB0aGlzIHR5cGUuICBTaW5jZSBFRkkgcnVudGltZSBzZXJ2aWNlcw0KPiA+IGRvIG5vdCBu
ZWVkIGFjY2VzcyB0byB0aGUgRVNSVCwgRWZpQUNQSVJlY2xhaW1NZW1vcnkgaXMgYSBiZXR0ZXIg
Y2hvaWNlLg0KPiA+DQo+ID4gTGluazogaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNo
aXZlcy9odG1sL3hlbi1kZXZlbC8yMDIyLQ0KPiAwOS9tc2cwMTM2NS5odG1sDQo+ID4gRml4ZXM6
IGRjN2RhMDg3NGJhNCAoIkVGSTogcHJlc2VydmUgdGhlIFN5c3RlbSBSZXNvdXJjZSBUYWJsZSBm
b3IgZG9tMCIpDQo+ID4gU2lnbmVkLW9mZi1ieTogRGVtaSBNYXJpZSBPYmVub3VyIDxkZW1pQGlu
dmlzaWJsZXRoaW5nc2xhYi5jb20+DQo+IA0KPiBBY2tlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVs
aWNoQHN1c2UuY29tPg0KPiANCj4gPiBTaG91bGQgdGhpcyBiZSBpbmNsdWRlZCBpbiA0LjE3PyAg
SXQgaXMgYSBidWcgZml4IGZvciBhIGZlYXR1cmUgbmV3IHRvDQo+ID4gNC4xNywgc28gSSBzdXNw
ZWN0IHllcywgYnV0IGl0IGlzIHVsdGltYXRlbHkgdXAgdG8gSGVucnkgV2FuZy4gIFRoZSBjb2Rl
DQo+ID4gaXMgaWRlbnRpY2FsIHRvIHYyLCBidXQgSSBoYXZlIGltcHJvdmVkIHRoZSBjb21taXQg
bWVzc2FnZS4NCj4gDQo+IEl0IG1heSBiZSB0b28gbGF0ZSBub3csIGxvb2tpbmcgYXQgdGhlIHN0
YXRlIG9mIHRoZSB0cmVlLiBIZW5yeSwgSnVsaWVuPw0KDQpMaWtlIEkgc2FpZCBpbiB2MiwgSSBk
b24ndCBvYmplY3QgdGhlIGNoYW5nZSBpZiB5b3Ugd291bGQgbGlrZSB0byBpbmNsdWRlIHRoaXMg
cGF0Y2gNCnRvIDQuMTcsIHNvIGlmIHlvdSBhcmUgc3VyZSB0aGlzIHBhdGNoIGlzIHNhZmUgYW5k
IHdhbnQgdG8gY29tbWl0IGl0LCBmZWVsIGZyZWUgdG8gYWRkOg0KDQpSZWxlYXNlLWFja2VkLWJ5
OiBIZW5yeSBXYW5nIDxIZW5yeS5XYW5nQGFybS5jb20+DQoNClNpbmNlIHdlIGFsc28gbmVlZCB0
byBjb21taXQ6DQoiW1BBVENIIGZvci00LjE3XSBTVVBQT1JULm1kOiBEZWZpbmUgc3VwcG9ydCBs
aWZldGltZSIgc28gZnJvbSBteSBzaWRlDQpJIGFtIG5vIHByb2JsZW0uIEp1bGllbiBtaWdodCBo
YXZlIGRpZmZlcmVudCBvcGluaW9uIHRob3VnaCwgaWYgSnVsaWVuIG9iamVjdA0KdGhlIGNoYW5n
ZSBJIHdvdWxkIGxpa2UgdG8gcmVzcGVjdCBoaXMgb3BpbmlvbiBhbmQgbGVhdmUgdGhpcyBwYXRj
aCB1bmNvbW1pdHRlZC4NCg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg0KPiANCj4gSmFuDQo=


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 09:36:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 09:36:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456980.714787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3DKd-0005qa-7G; Thu, 08 Dec 2022 09:36:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456980.714787; Thu, 08 Dec 2022 09:36:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3DKd-0005qT-4S; Thu, 08 Dec 2022 09:36:43 +0000
Received: by outflank-mailman (input) for mailman id 456980;
 Thu, 08 Dec 2022 09:36:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cZLP=4G=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p3DKb-0005qJ-AQ
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 09:36:41 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf8869c9-76db-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 10:36:39 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 025BA320093A;
 Thu,  8 Dec 2022 04:36:34 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Thu, 08 Dec 2022 04:36:35 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 8 Dec 2022 04:36:33 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf8869c9-76db-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670492194; x=
	1670578594; bh=axTHPjCYIY7v4hk+IL1iyoNxN1SQsTLkjsr3Ouv2Kpk=; b=m
	lnbRwu5fg92kbIsN3cmLWI/Ert+e/OFNvcZ8EGASh9mZbtiKW8ljC7vpy55vz2WH
	CLT5sX0x7SKXgcJdWsfw/3BAGiQRqCL/H9NdbKItvCoz+G3ghmImlRoAxiFS7JPY
	2yS8hCPIIyMWPLuZJdtwtc03PJm44OjCD26PlyV+Wo3PNnd5nMTwELkQVVULBH/b
	vzUsaNOwVBmXTBVaSiAYTClKZwIBcIT97wYA7FkdIEvIWg21+iAr4VPsoiZ3plhw
	yZFSmkAiZIpgK9GLAb7EMLAwP1Mgebrc1frxNmvv5/AQPiEFD+Pe4FAG4GyNMkK2
	3tuvEdRYwl01mzeZp1tOg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1670492194; x=1670578594; bh=axTHPjCYIY7v4hk+IL1iyoNxN1SQ
	sTLkjsr3Ouv2Kpk=; b=BTGyEWC1e30J/qZG+ykFwZ1Ni33g2K7BC7S614NeVHBs
	DMnxoYCv+GrQOVNbGsgJpPglbpyyoYFdXsl/PLzpZcnbg42VYH5YnckcKNnOjHcY
	VFFpg6iq2hzfm/CI64wbvdO/WePS0frj5vj4HC+rh6b5pqfuwKH2MHO7cvp3LdZK
	ndPwGK/1LpiLQK5HHiqkEGg5phMDKgMDuMxRtLjA5zzlllpxW/+JwDBk2ezOmaAc
	gupZE0BxJYnT5eyApkbuKQGUXPdNpwR4y16zu0iqG/L07vYyKTTLx8byk/2nAjPs
	YLPhoEO4YYvNtPd5WwtMOMeLTTgTES77LhIZZ/7YGw==
X-ME-Sender: <xms:IrCRY1B-t_JAQlquwm2nvq1s_CODqtvAKi6lkVhoTNfiRg8oaugY6w>
    <xme:IrCRYzjEUk2KsAbw5CzCGHxz74_TdsSHEUm_Hg76qnE3tzV8GZmvyDTcxB7ZCBymo
    SghDyk4SWrdiTI>
X-ME-Received: <xmr:IrCRYwk0iLNJAveJioVK1oPjNc0i2UFrR_8FHkDB86kRUiKsS2jVLVSEi9yA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddtgddtiecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffegfffg
    uddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:IrCRY_yp7dpKjy2IyQ7tZ2BTxyTp8SkBXLKS_Nmh5RW1bAUS5WXfCg>
    <xmx:IrCRY6SMfTbiLRhdZjDGOGh-9iaFJ2kUgy21CqRG_h1tGFKvRxlcPQ>
    <xmx:IrCRYybW5l_KriSwYiDuLhctzoUlJkp1N3iw03nCbTrSGC7NxQrqUw>
    <xmx:IrCRY5EXQfdxXB2_-d-mtN-WPwedq3qPRH7f6P3t5p8tL34KiNIGKA>
Feedback-ID: iac594737:Fastmail
Date: Thu, 8 Dec 2022 04:36:27 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Ard Biesheuvel <ardb@kernel.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] Validate EFI memory descriptors
Message-ID: <Y5GwH41ipgN7J7Lg@itl-email>
References: <6936d67461716d8ba37ea8cc78743035c3e54e2d.1668832785.git.demi@invisiblethingslab.com>
 <24a8fb2d-b2a7-b319-ffa9-c5f4e0eca06c@suse.com>
 <Y5ESt70ylfow4WcQ@itl-email>
 <ea19b0b5-93b1-0608-b771-fdddb275f01b@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="6NWtnDPzVMF3PTMu"
Content-Disposition: inline
In-Reply-To: <ea19b0b5-93b1-0608-b771-fdddb275f01b@suse.com>


--6NWtnDPzVMF3PTMu
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 8 Dec 2022 04:36:27 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Ard Biesheuvel <ardb@kernel.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] Validate EFI memory descriptors

On Thu, Dec 08, 2022 at 09:02:57AM +0100, Jan Beulich wrote:
> On 07.12.2022 23:23, Demi Marie Obenour wrote:
> > On Wed, Dec 07, 2022 at 11:04:05AM +0100, Jan Beulich wrote:
> >> On 07.12.2022 00:57, Demi Marie Obenour wrote:
> >>> It turns out that these can be invalid in various ways.  Based on code
> >>> Ard Biesheuvel contributed for Linux.
> >>>
> >>> Co-developed-by: Ard Biesheuvel <ardb@kernel.org>
> >>> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> >>> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> >>
> >> This comes with the risk of breaking something that was previously wor=
king,
> >> despite a descriptor being bogus. This _may_ be deemed acceptable, but=
 it
> >> needs calling out and reasoning about in the description. Even more so=
 that
> >> elsewhere we're aiming at relaxing things (by default or via command l=
ine
> >> overrides) to remain compatible with all kinds of flawed implementatio=
ns.
> >=20
> > I decided to match Ard=E2=80=99s kernel patch, except for ignoring (as =
opposed
> > to using) descriptors that cover the entire 64-bit address space (and
> > thus have a length in bytes that overflows uint64_t).
> >=20
> > What do you propose Xen do instead?  A broken memory map is a rather
> > serious problem; it means that the actual physical address space is
> > unknown.  For Linux I am considering tainting the kernel (with
> > TAINT_FIRMWARE_WORKAROUND) if it detects an invalid memory descriptor.
>=20
> Much here depends on what brokenness we find in practice. I've been
> flamed more than once for insisting on strict spec compliance. I'd
> be fine with you making things more strict here, but then - as said -
> the risks need to be called out in the description, and once you've
> done so you'll likely realize yourself that hence there then needs
> to be a way out for systems where the new checking turns out too
> strict.

The purpose of these checks is actually to work around broken firmware.
If firmware were bug-free, there would be no point in validating the
data it provides.  That said, I am not sure if ignoring the broken
entries is the correct answer.  Could Xen fall back to getting the
information from ACPI?  Or could Xen somehow try to make sense of the
broken table?  For instance, Xen could sort the entries by start address
and force the end of each entry to at or before the start of the next.
This patch has the advantage that it closely matches what Linux will be
doing.  I trust Ard=E2=80=99s judgement on this better than my own.

> Tainting the hypervisor in the event of finding an issue is certainly
> an option.

I probably will not add such a mechanism, but if one exists I would be
happy to use it.

> >>> --- a/xen/common/efi/efi.h
> >>> +++ b/xen/common/efi/efi.h
> >>> @@ -51,3 +51,17 @@ void free_ebmalloc_unused_mem(void);
> >>> =20
> >>>  const void *pe_find_section(const void *image_base, const size_t ima=
ge_size,
> >>>                              const CHAR16 *section_name, UINTN *size_=
out);
> >>> +
> >>> +static inline UINT64
> >>> +efi_memory_descriptor_len(const EFI_MEMORY_DESCRIPTOR *desc)
> >>> +{
> >>> +    uint64_t remaining_space =3D UINT64_MAX - desc->PhysicalStart;
> >>
> >> This wants to derive from PADDR_BITS (or even paddr_bits) rather than
> >> using UINT64_MAX.
> >=20
> > paddr_bits is not available yet, but I can use PADDR_BITS.  That does
> > require an explicit overflow check, but that is fine.
>=20
> paddr_bits may or may not be available yet; it certainly is ...
>=20
> >>> --- a/xen/common/efi/runtime.c
> >>> +++ b/xen/common/efi/runtime.c
> >>> @@ -270,18 +270,17 @@ int efi_get_info(uint32_t idx, union xenpf_efi_=
info *info)
> >>>          for ( i =3D 0; i < efi_memmap_size; i +=3D efi_mdesc_size )
> >>>          {
> >>>              EFI_MEMORY_DESCRIPTOR *desc =3D efi_memmap + i;
> >>> -            u64 len =3D desc->NumberOfPages << EFI_PAGE_SHIFT;
> >>> +            uint64_t size, len =3D efi_memory_descriptor_len(desc);
>=20
> ... for this use.
>=20
> >>>              if ( info->mem.addr >=3D desc->PhysicalStart &&
> >>> -                 info->mem.addr < desc->PhysicalStart + len )
> >>> +                 info->mem.addr - desc->PhysicalStart < len )
> >>
> >> With what efi_memory_descriptor_len() does I don't see why this expres=
sion
> >> would need transformation - there's no overflow possible anymore.
> >=20
> > You are correct, but the new version is more idiomatic, IMO.
> >=20
> >>>              {
> >>>                  info->mem.type =3D desc->Type;
> >>>                  info->mem.attr =3D desc->Attribute;
> >>> -                if ( info->mem.addr + info->mem.size < info->mem.add=
r ||
> >>
> >> This overflow check is not superseded by the use of
> >> efi_memory_descriptor_len(), so if you think it is not (or no longer)
> >> needed, you will need to justify that in the description.
> >=20
> > The justification is that info->mem.size is no longer used except in
> > comparison and assignment, so the overflow check is now redundant.
>=20
> I don't see what "no longer" refers to - nothing changes in this regard
> before and after your patch, afaics.

The purpose of this check is to catch the case where info->mem.size +
info->mem.addr overflows.  In the new code, there is no need to
explicitly check for this situation, because info->mem.size +
info->mem.addr is never actually computed.  Instead, the size is
computed first, and if info->mem.size is larger than this, it is clamped
to the actual value.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--6NWtnDPzVMF3PTMu
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmORsB8ACgkQsoi1X/+c
IsFxCQ//QioO011V5SCYmRykcoTw68CuPVM8Jh2JALw1izX5hPEzxSzoNT0nddBG
9nqEYZWkjpfCeomYB/ZRjo/jYSl5wkU30p1pJ4Ox33dKvfaIPzmeGZhIvIIuf5zN
DKh8j42G57+iUopJnUyKg9/02AL29uwcBa1H6PciLDS7JV4u2HNW4BDcZ13wRS/2
QrIvWt/HKab6uJQk4yEBlsvBpL7IcR6wrtnHiyc/egL4APF4TtVnVReZbCEwTU6L
t/QPYa2xaCj8nfLQQe2cQNKuHHSJXkxRCekH+795/NOD/sY86nOUfzs2/1pQqQzv
R0jwIF1IOybJyZJVES0rzOAKxcz2VvR8I32DDckJhrvno2cQ1u1gj90RlT7R7gKf
U9o1k7gF2+Z2+UoZKifLJjQuOMP9532wk0LKVkbLtgqkjgzFjuAV929c0CWT8ihC
nEq4s+cfgIsQ/C4V0WeuBFtOg4klFHaHi2vwH6750/fDFrOz9gpus3scdYMRyhqr
Mszxq9ziQahpiJwuRkV+IxiGY62YvJS4Yj91ly7rPCs/a2ws3x1GGsvE3BQO1JO6
11KDPTaO4TFWFNNH18URocQr9bCtIHv3zPYKRaOxhYpXP36SmlTxCmOZj1nF10u5
Ix2WecsWuwN4KAi1wj18ctmF5BXP7Dg3Nso1fQKAgeSMuSgj+t8=
=zywj
-----END PGP SIGNATURE-----

--6NWtnDPzVMF3PTMu--


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 10:16:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 10:16:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.456994.714814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Dwa-000317-FV; Thu, 08 Dec 2022 10:15:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 456994.714814; Thu, 08 Dec 2022 10:15:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Dwa-000310-CP; Thu, 08 Dec 2022 10:15:56 +0000
Received: by outflank-mailman (input) for mailman id 456994;
 Thu, 08 Dec 2022 10:15:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3DwZ-00030q-0N; Thu, 08 Dec 2022 10:15:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3DwY-0005BE-UC; Thu, 08 Dec 2022 10:15:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3DwY-00084o-EO; Thu, 08 Dec 2022 10:15:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3DwY-000400-E1; Thu, 08 Dec 2022 10:15:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KZKCrL8WXn/3LMnYGsW5lxwLPmPlVAcvQheECr5F+5s=; b=sV4P+HJpZLbUzG72oXPfZZEPTa
	lt4Sme6sO4VMUkrRkOXqhbpNci1DSSRlBsSNEpRJ+uTMuYHIJZTSdCNCo0tANJN/3zjlssWJmaqoH
	2pxlHBKL477vppXoYVa3dF6UKtu+RiNtqt6iQ7uK3IJRHV9aaMnb+KY8Foj55RLuBsG4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175083-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175083: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=11b4ff64841efd9724e5c1fce81ec2b5484b8d57
X-Osstest-Versions-That:
    xen=b926dbcccaa92831dda37576f768ddab9ec8a701
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 08 Dec 2022 10:15:54 +0000

flight 175083 xen-unstable real [real]
flight 175088 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175083/
http://logs.test-lab.xenproject.org/osstest/logs/175088/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail pass in 175088-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175066
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175071
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175071
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175071
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175071
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175071
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175071
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175071
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175071
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175071
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175071
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175071
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  11b4ff64841efd9724e5c1fce81ec2b5484b8d57
baseline version:
 xen                  b926dbcccaa92831dda37576f768ddab9ec8a701

Last test of basis   175071  2022-12-07 08:57:12 Z    1 days
Testing same since   175083  2022-12-07 22:41:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Per Bilse <per.bilse@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   b926dbccca..11b4ff6484  11b4ff64841efd9724e5c1fce81ec2b5484b8d57 -> master


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 10:16:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 10:16:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457000.714825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3DxN-0003W7-Qf; Thu, 08 Dec 2022 10:16:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457000.714825; Thu, 08 Dec 2022 10:16:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3DxN-0003W0-NE; Thu, 08 Dec 2022 10:16:45 +0000
Received: by outflank-mailman (input) for mailman id 457000;
 Thu, 08 Dec 2022 10:16:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3DxL-0003UU-Ur
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 10:16:44 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 692f00ba-76e1-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 11:16:43 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBAPR04MB7432.eurprd04.prod.outlook.com (2603:10a6:10:1a9::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Thu, 8 Dec
 2022 10:16:41 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 10:16:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 692f00ba-76e1-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=igBJC4BqSYUQ1uF+cXqyDkCcx1QhSD6m8f7ye7NQXyFY53Q2yOUOWGT0HOnZ7R4hc0D8iqmKvw0auusjZysORKZBo93jIqsYYxFa0PnrMTyxsyJkcDgLR9j8cpeWUbOEWNuGa6ppDHjcTW41ANKJx5rgRyGtQz7/96QYeaIT26mhk3p1TvleuboTuHXWjmALd17gcjpOKIBj9ckON8Tu+3EMeGbbuTk40lyiQyPwdvRfh77AD8xcwk7B/b9zethOJQt2VhFOQ1JetRZfCLJnYUa5UfGWNW5Vbi/JwOOnUcXacEamaxtrNJ51s9ladI+VgLjDTFe1WPyvIdCgfFkiaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fzz9lgGD0AApeGNJj5117oc4rF1/6frUAJwbcmRxewE=;
 b=DmLXu45TtX2bghOewzbfHKiCR/lSzE4abbbuXi1tz57sA0L8dB9W4CqZQCuUCf5YGe5VD5W9yYq49NAbAfZ1ZvZTPWOQnsyo4DrAHmXtLVQMEvzuZdSAf2nV4HxwQoAtxPyjCKTPB06iU7zrLA5afMhkL16zAlfJ7VoUCHKLaHCD6UqlDp5+LNXzp+0f9n1umfuaCxdnV1oXCyrgkHR4HZ+yi1j7F6OntEg119dQxJC4ev9erIIz6Lpn4o0ADy6aSXiIoqxGzs6X0cGvAPWrBJTJwToRl7WbFJ3RyWYeiKF0/+xgKNkKkB7LEGZ4QBIJ32ZqwcOSKb6qrc8r84NBhQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fzz9lgGD0AApeGNJj5117oc4rF1/6frUAJwbcmRxewE=;
 b=lVLPf83uvWHT53CQOIaOtbWZ3gJEmNJbNRj40fR+TNk2oLRIsyvI1SwoBCoYAsp5E7H/XPMw3dkSGZm5dfJ6JLy5fUCp1Smy53gHBkBO4E4VMFSMl0qnGpjfsUT7LcvrMv24yZmYvYPEnnZxpQIjBMyr2TeG303OCiWi+yshdG2Q70blBnNp6tupzDT22RZOE2qH0J2SpRIwJOOqBMQVzQB4PuGupywb3Urfzvm4q/vB/HEiA5OHZ2AgeUiCK14guKiqwROM1bOGPGH9BlAVMKO6rj1WOQnpIk1FW/T8GplLdyA1XqBTSb/5T4wBeM+FN3x79ySxjV3mOXCMgv2f8w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <50e10a2c-ab26-56b8-1171-6aef93f73582@suse.com>
Date: Thu, 8 Dec 2022 11:16:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] Validate EFI memory descriptors
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Ard Biesheuvel <ardb@kernel.org>,
 xen-devel@lists.xenproject.org
References: <6936d67461716d8ba37ea8cc78743035c3e54e2d.1668832785.git.demi@invisiblethingslab.com>
 <24a8fb2d-b2a7-b319-ffa9-c5f4e0eca06c@suse.com> <Y5ESt70ylfow4WcQ@itl-email>
 <ea19b0b5-93b1-0608-b771-fdddb275f01b@suse.com> <Y5GwH41ipgN7J7Lg@itl-email>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Y5GwH41ipgN7J7Lg@itl-email>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0005.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBAPR04MB7432:EE_
X-MS-Office365-Filtering-Correlation-Id: 8748850c-9336-41f9-e501-08dad9054c68
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	j6zAMFqVppM1hk9qOK4eZXx9Y0vjOE5QgpevqLeIGUJ3bFQLTL2HB6+jxKyylB+6tdJwdRPh4p5ePac4+mAOGnqVyh8JYi/6iGEFBigzxBSQpixmg+jAgp1T+x3oLFyUdGKmWT124sVlARVunIX9J//4DEtvbb0xCZp3fjVIJGOvCJTuq4EoWWn1Gbc09Zoj4eaUt1bSmQs0+mxuRnuBLwwnKqn50Bj166ckI30kCUdBG+97EBzI6Em/iMH6bxskGO+6HbJB52WFLPXXKEBjUxs5YPRTT4BYJ4T9eQRp6nINDG7a8AEElo1pQR8IWtpuDaHdBybIqLRKo+ldMvcLVGnb8ftfYCTSfGKwD276UaB0UZOMgiZxM8hIOZ/pQi8BWYa3OIgXcVe8GIjo48yEilguGj3U2/yRy4B6n4/xpJ1wTTdqQxYQ5rnKAwKgMCq4ps+ATk8DoN+numdQUAcJSmrC7wTyq3eKvDMHC+/r3t/Y6NBQhguAg+D9zHnMbS60v3gE74jq4EbB6MuoAitybQJoW7k5W9FsLLXsi4kR4sezXjtH996hYsRKWWEebSbRehKg/ePsjxEPDxRdSbNiTa0gaE6wVJ+pPS0+m+KCo+qON6vYKSQoPRZ2cB+e0lAKFNv4Q5lYh21tu3fN4f6Lk4liXcNFbJS2OZoIjbqxfRDBXt/LJo343twFLUvBlJ3/CUvHqSLA3e4ZXvnwrx4LxsoRoV1Ffp8unp/sa3rAy+4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(376002)(346002)(396003)(39860400002)(136003)(451199015)(41300700001)(66946007)(38100700002)(31696002)(83380400001)(86362001)(4744005)(2906002)(4326008)(8936002)(26005)(53546011)(186003)(6512007)(6506007)(8676002)(478600001)(54906003)(2616005)(316002)(6916009)(5660300002)(6486002)(66556008)(66476007)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eE84ZWwvZjZnbU1DeDJhdlBEZy9XV25kTEZ6M3gwdTArTW1kTTJpSk5TWGc4?=
 =?utf-8?B?Q3dQZFZXZkhWZWFQenJFSmhPSW1xQnM2SGp6NGpzckRFMyswb0VHdk0waFpr?=
 =?utf-8?B?dFNvQ0FpaVI1cHhsL3pCOHNqUkkwSzdNLzBTSld6TkdkTkhWWkhKSUhPR2E5?=
 =?utf-8?B?N3dGeTBKc0JVd0hyVVEyVTQ4dXdYUHVJeThIMmpWaWNTWmN1NFlBWmZQdlNW?=
 =?utf-8?B?bW51bE5Nb0JDUnljYTJxaDdxaVBxL29vUEpNQU5qem9NNDBDaXdEdjdxL2xu?=
 =?utf-8?B?MXlCRnhOK0hyVkZDYWMrTjhJQ09KeE9RdDFjNHgwanJ1aUVNY3pnQ2VhWU9v?=
 =?utf-8?B?RWtjcGkvT2owVU1CUEtMdUZSK2xIZWx3ZXk3UFc4YjFJODUyUkRoUUxPejB5?=
 =?utf-8?B?L0YwNjllSVFGc1VUVFpwMzNwS2IvMUI5K25FWTlxNmxKQ3lsT3ZwSnB4b2R3?=
 =?utf-8?B?TjlYL0tCRm5idkZiTmg5N0FoUC9VRml5aU4rVS83YmZrV2ROOWZJem5oZkhU?=
 =?utf-8?B?Q0xwd1dmMitnQXdSeHlOSGh6VG0yYWFLRzJiUHM4ZHMwd0Y0dlU2UUVRQW5u?=
 =?utf-8?B?OWYyNWxtUTVEVTE4Zm5MSXRpUFBLNVpwdlVQNm5QZnNmVHdLQnlpNnpYZGZh?=
 =?utf-8?B?QkpQS1RGMitDeHRmeXlXVGExOGtOb3NlWHNsMEVxRzdUc01hL2xKTFh1UzNq?=
 =?utf-8?B?ZXlkYjVjZU9lVFJUckdLOHZGOXRpdnkwNUlNSlRoeVVrU09xZnpWRStyZW1I?=
 =?utf-8?B?UFhCOFRLWWc4ZkhwN1h3Qm5sdUJSRFZCRzhlSStwZzZ3eXNRMmhuc3cza2xO?=
 =?utf-8?B?RkhjZDZZRGVmMzh4T2szdGhHcmNNVGFocTlyZE41UFBOWkR4eVFic3crR25U?=
 =?utf-8?B?dmZaNENYdHhlZ1FwWkcrTGE0M280bXFRN1VscDZZZVhVYUtSdW0vU2kzeEdp?=
 =?utf-8?B?bkxieG1kemJLQ0Q4cDlrcGJrMHZ2aUpCSzV4dk1mK244UWtlQXBqOGlYUU51?=
 =?utf-8?B?ZEJBeDdBTEFuNWVvY2hrSVdLMS9ORnM3TUFOVy8ya0R0Y0E3SVdwd0JKajZz?=
 =?utf-8?B?RTlCcGY1SkNma21MK0pzd281bnBoYXhubEV5aHFOdlRDYXowRFZFdDlHMXBW?=
 =?utf-8?B?VlRmL0JGOTM4NTVBQ0lEelZvU0M2WFRNZWZVTmhCdDBPa2M3cHJnVjVmR1RL?=
 =?utf-8?B?ekk3UGhaYjVPQ2VjQW93blNpOUZHeTFjS3c3Yi9IdE9Lb1VCZUthSzlwdkdo?=
 =?utf-8?B?QWJoN1lMcG9rZjhuN0NnNmFuWE5qeTJmOU5mdnErcVNHZ29XclpNVlhJUmtE?=
 =?utf-8?B?MXZYaVBDalhTSW4wcFdoNXJjYmhMQ0dBNUZUZWdDWWlZNHZhQ24zWmJYVUpr?=
 =?utf-8?B?REZYV1MxL0FYZEJ3V01kWlVCckNXamNzYUV4ZTVKcGpEVktIVlo2bk4rQVBl?=
 =?utf-8?B?YzBFTHhhbnpHMW5rVWpZZjRkL2dOTVoxbUE1ZTdlUmNnYXg5RDRDQTJySDBr?=
 =?utf-8?B?dHJQcE9KVUdOcmZLbmR2VUs5aW1TazUzRUI0cml6R2FnMGhRNURXYkFXQ3A2?=
 =?utf-8?B?UGx6OEZWdkdkWW1QT2hyNDYySzF0azdaLzlOR24vWXhwMkNzdHBUckFCenBQ?=
 =?utf-8?B?VVdKNlZuRnE2NTEyWE9vZHkxS2Vsc1cwdFgycWlaaHRpT1gwM0RENWliNjhQ?=
 =?utf-8?B?REl2RDVGN0oyMHBCS3BQVEphd0R0L0gyTk4vT1VkUk8vNjd4cEtJUjNBUnAx?=
 =?utf-8?B?cTVENnM0M0ovMG1GTnUvemRBaE9EbFV2bDJvK2RxYlc3MnM1RnFTZld4S0dM?=
 =?utf-8?B?MnNLZHFCc1MySVgreThpYmZLN05iWTdUbE9VU1NzdTg4RjYra3ljay8rZ0la?=
 =?utf-8?B?LzN0eTVNZ3RFUzVGMkJsRkxXdXpmSTBIbzdKN1ZpZzB2YkpSS0IvZitrblU5?=
 =?utf-8?B?RnVpaXF6LzNZMzBEb1pvTTNRVUpBQUM3SnF1KzhrQ2EwcXhJa0ZSQnNESXVN?=
 =?utf-8?B?cGRLSy9lUVAyVUg1V05hZzVReFdsUktxZEJ6NXg5amlId3F5alphTVlYWVU5?=
 =?utf-8?B?Nlgvejc1dnVaUHk0OGZGbGdhQ1VLQlgzN2toQURqRnFHMlJlTFpDOExpekRk?=
 =?utf-8?Q?3iVx6H1xoK3AvE4FzlzD8f06m?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8748850c-9336-41f9-e501-08dad9054c68
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 10:16:40.8228
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TP65dIzb7C9MTk2iyHr9X4sAEMfhI8pJyXJjYYSmXjMr58aWZbojwvPiSVhVB22yrFpS3okvHRHaTvX00EGypg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7432

On 08.12.2022 10:36, Demi Marie Obenour wrote:
> On Thu, Dec 08, 2022 at 09:02:57AM +0100, Jan Beulich wrote:
>> Tainting the hypervisor in the event of finding an issue is certainly
>> an option.
> 
> I probably will not add such a mechanism, but if one exists I would be
> happy to use it.

See common/kernel.c:add_taint(). What you would need to introduce is a
new TAINT_* constant (and its associated handling), unless we wanted to
reuse (abuse) an existing one (yet none looks to even come just close).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 10:23:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 10:23:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457010.714835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3E4F-0005B9-Lz; Thu, 08 Dec 2022 10:23:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457010.714835; Thu, 08 Dec 2022 10:23:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3E4F-0005B2-JF; Thu, 08 Dec 2022 10:23:51 +0000
Received: by outflank-mailman (input) for mailman id 457010;
 Thu, 08 Dec 2022 10:23:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3E4E-0005As-Fe; Thu, 08 Dec 2022 10:23:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3E4E-0005J2-D6; Thu, 08 Dec 2022 10:23:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3E4D-0008Et-RA; Thu, 08 Dec 2022 10:23:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3E4D-0007mx-Qi; Thu, 08 Dec 2022 10:23:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=B5O3NpwNB3bI6wsjfyv2O7yP1ColbSKdaXqzUsg0F+g=; b=L4QFyA8tX2BywPXBSUHVqk8zn1
	h6h43OYb3oSp+zvUvUUbYrHCft1IHquwJAX/hzwJr/LehUJpJjeZgkT0fthclgIrd55GuFACFtQA0
	OfObkAaCoKO9gdeQtmfziocIYWYaGYE6gmkzh906Mr8g/6s5eJi0dC2yc2GSbGrcWG3M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175086-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175086: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=4b29d5c4f5c4463458c46fa4de22766251b36c43
X-Osstest-Versions-That:
    libvirt=7edea0d27b0aaca29b9c21205ab0acc49bce5139
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 08 Dec 2022 10:23:49 +0000

flight 175086 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175086/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175069
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175069
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175069
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              4b29d5c4f5c4463458c46fa4de22766251b36c43
baseline version:
 libvirt              7edea0d27b0aaca29b9c21205ab0acc49bce5139

Last test of basis   175069  2022-12-07 04:20:18 Z    1 days
Testing same since   175086  2022-12-08 04:20:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Haruka Ohata <ohata.haruka@fujitsu.com>
  Ján Tomko <jtomko@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   7edea0d27b..4b29d5c4f5  4b29d5c4f5c4463458c46fa4de22766251b36c43 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 10:25:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 10:25:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457020.714847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3E6D-0005ln-2K; Thu, 08 Dec 2022 10:25:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457020.714847; Thu, 08 Dec 2022 10:25:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3E6C-0005lg-VC; Thu, 08 Dec 2022 10:25:52 +0000
Received: by outflank-mailman (input) for mailman id 457020;
 Thu, 08 Dec 2022 10:25:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3E6B-0005lZ-RG
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 10:25:51 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20619.outbound.protection.outlook.com
 [2a01:111:f400:fe13::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id afe7b0a7-76e2-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 11:25:50 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6970.eurprd04.prod.outlook.com (2603:10a6:10:fa::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Thu, 8 Dec
 2022 10:25:49 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 10:25:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afe7b0a7-76e2-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A218SIT5VuY/V8e6F6/FTe+x/cJGzpR8ulWaZ9db7hV1jnZj5HD7+PX8Rqft/5+5YSjvlixxVoqZOe8WBrzA2UvmErVDmAyEANJEsEpam1oyy4YQWDp9nbFWTWUQzi1Bje8vCNGLHVmMFbf6K5Nvm68A8FM/WwME9A1ba8O9POkxl6H+hGYCRHK80OU4CU6auvAPlrl8PZUsqffoSdRjDRqNe7cWdILZMnDP+E9oOk1UOOqXsneoXpXQphJzEeTw2PBG+8ZH7O+6DFbIMErpjM77AP1PDNyfy0tyy5FuJuzsc0de2k/hqrsN7QKXmo1SG5ixViVIAcR1MWI6LQQqvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eNTHA+xcYq+ZCzQaTWzQeqO2zRQduUYH7N1HUd+X0cc=;
 b=HYRu+Hf+blly7ORVr6049UQwWYyLEbbhWlf0VmB6kAka10K2Zzub3ui4SSW4OuJ5sEaR3pwiC/8I6YU8un46K1CdlpYcT+yLia03zl5X6VBCGiAj+gA6+9T93Ts1OtCIFbWDNY/CG552rKP9JS+aCvecaY4STKwqblh39HpIK3HUxgpkeFCaFuW2zgAphV09rTNNPqD0wciH7fSZyttzvU0eo1Gf0KUw52FtfYqNJPOv/GOvFOEHIWuil0wgASW0kQ6aFUpvpkocyd3NEzuzHrNCtDp+y/2Yt76OIEUaD6K4xDntx1QRIGzMwuBHVZe2Xz5Hg7Bkr7miOWecQZUnlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eNTHA+xcYq+ZCzQaTWzQeqO2zRQduUYH7N1HUd+X0cc=;
 b=XjlJC6WEyKE0YZ0xM8tuhdoD9qE8FDNzc7L6RbyvpNl3Bn76PtTyMTPW09gWGfi1IEOm+1u9v+ROvPTNysMPH4Gl0BlqS+9HEqUiRPeYntCErJtLJXDhkUt/V+e9CrMLDY5mc1CA/8vRym3Ov6lH8ynA1PtekxC6LmWpTk+8p+GqRDtY5JrfEpkUxdhFrr0XKg+jf5juxlEzBFGghoy16AyFB6QZurG1ji2hZgGzBGvnjUFKTMWbAgAsMBp0ky5aYAlLa+bCpAkvCnJ7OlsKk9TmrTeRkHgwrIuRSS1659oSgo5DHXNBGZuItOesQfD6BebQaOZBJk+bSGIyGAx8yw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bc468209-efd0-eddb-935c-81583f8dc7d9@suse.com>
Date: Thu, 8 Dec 2022 11:25:47 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: preparations for 4.16.3
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <2c4c605e-f8c5-abbb-db85-89465b7e10a6@suse.com>
 <7aeec9a0-628f-d1bd-994d-343ab7f8b85f@citrix.com>
 <d628796e-3b42-5d50-f8cc-039743d23057@suse.com>
 <45fcf658-c353-9fc5-e343-64a5f6c1f0f4@citrix.com>
 <cf42f44e-f96d-bde4-b4c4-8c08c14b1939@suse.com>
In-Reply-To: <cf42f44e-f96d-bde4-b4c4-8c08c14b1939@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0178.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB6970:EE_
X-MS-Office365-Filtering-Correlation-Id: 84e044af-e87d-4624-c020-08dad9069324
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EcbqHhXsfJq0BTXkSpdxU5/bJhi4VRAwSMOsv91E2u4qm12dAxA3f+2SEpYjK63lsmocBMYaUQE9yLhnNKv+d1W8QW6pmb4Ox/bd7N8vpRYClNm31BlltmL42TJuCWCWFn9CseOTahsk4uDtS6gNdSeGZcBpkwbDGMoKVEnQiHMSH4Vx87JTJt5XEmNxXot4vz8q8UmPrS32bZzWkLrFgqpLOtEDvBze3LmWUxE38PLYamLSCXYBSt5bvwdSVtNz3Gxn2MfpeRwiGGtHTPLWXIfh/cNQ4WM8s/USiJDxJfRNdy6ZU/8vdYw4Pto9VSDg1c69IyhgmlBxRCgui6bE/3N90k+ASHVHAziQlJtVD2kygG/5z1pYjybRD+gVEPS/5e4iIuuaWqBCidv0maEriyqyWAx6P9vqUD337ZESlk8KHqdpyWB0q1gVSkGHZXoP/iSrlqbCNDZNl8EODx5W5RHd31FmrbBuC4DSncFwDGoYMU9Mb51qu+YPhs6Pe25REiHUjC1cYZA9YTi9iIqkfnttrPOb68KTGI1lsvLjuXTcEUFhwJwdmwzuhEBuk4FpCVibJE27gZYyvLwqU7FhJm8qNSAUwHK9yPVi2fZ0AstKe+dkYWZIJiGIhil31AzKshSP/piGEk10QsAfD/LeEqiOoMvH4Et8384FK7zZC2ERF6+fVW/V7/WdcyGc72ChL90/0W4fLJFjoTHL4ku8NRkpJVI5kzWKULiE2+UOqtY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(366004)(346002)(396003)(39860400002)(451199015)(7116003)(8676002)(36756003)(8936002)(41300700001)(66476007)(66556008)(66946007)(4326008)(5660300002)(316002)(6916009)(38100700002)(83380400001)(6506007)(6486002)(478600001)(186003)(31696002)(2616005)(53546011)(86362001)(6512007)(26005)(31686004)(66899015)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R0I3a3REY2FaaEZnUlVMZnBTK0orNEcwWVNBbXlmTnB5THlvYU9zUmNPUENB?=
 =?utf-8?B?RlRBUTgzL1IzUlk3SGpYc2tGdTlLUVN1R21tY1EwdzVNa0p0Qm9yUnNOODFj?=
 =?utf-8?B?T1FNclhhaUN1MlZiVUpxSFdaWkJvWjRLekdMTUxYdStyRW85cjZlTjNlL1Fn?=
 =?utf-8?B?NHlqdC9nelNCRTV3OGJDYmFiRVB3ZmxPRHUxNEZicGY2Z29oZlFBK2o1ZVJW?=
 =?utf-8?B?MVVnM2VTUE5nMjc5aWdVNzIwUVhpY3pKV2lPSkoxSS83cTRPZVNTOEw4QmtM?=
 =?utf-8?B?M2lTdEdyaTc4RVR0SC9vSG13aXBHOWhhVUJIdE4wS1BoS2pmNklIMEhXbjA4?=
 =?utf-8?B?S0orZzI5Zk9VbnA3SUJTWC9Wd3JKUnNIUUFYcUh5WmcyUWVHOUpVQndZOHBK?=
 =?utf-8?B?SjJxdEp2NE4rRWxmT2sxZXRCV285Y0dmNVJyc09uSXFoTTJuVWlZcjU5UGdq?=
 =?utf-8?B?cnJqSVpWTmlIVnlFN0VsTENtRCtWbkt3MVg0RGtZU1dROEN3TEpWZlRsT3FK?=
 =?utf-8?B?ZklCR3FyaHovV04rR0pRU3FudDFtaUIzZjI1a05EUzY0NnptZHUrYWlhQzhT?=
 =?utf-8?B?SzF2NFJpQzYzd01hWi91TldRdGI5Qk9Xa0IxbVRiYy9XUU1Gd0lkTFlld1VM?=
 =?utf-8?B?cWl4cDBNdzlHOE9UZGNaK1hoL0VqNzJqSDZDODIyN3JSQWRwaTU5ZkRjc01r?=
 =?utf-8?B?RnhTbHoyQVNXNE13UDdITlZMamFtcTJycWZLVUIyNFMyUG1Pa3pMUi9JdmNP?=
 =?utf-8?B?QTlRU2dENGQ2eUYwRS9xb0FjMGdUbURMSHF3QTA5dlNPNXV4TDZXbGU4ay9w?=
 =?utf-8?B?Vy9kU3pEZ2dCa1l5SllwM2VvM3RUbXFoTHVvdXJTajdLUnRWNGw1Y2YyTXYy?=
 =?utf-8?B?L1JBT3FNS09yYVVvQUExdEhHay9qVkhOZUFGZnQwa1NEcG9tSGhza1E0emFH?=
 =?utf-8?B?VkIrN0ZxMEdkTTI0NEgySGd4RXpxSDg3T1poMm4xeS9zNFNPNGxFNGNqcXRL?=
 =?utf-8?B?NlcxdERzZk1ZVTVjOEVhV0FjT0t1Z0JJLytleFhZWVZWajJPQmNwZ2dQRG9z?=
 =?utf-8?B?YWgveE5yVFRrN28zSDNRWm41VlpnSUVqMnFtR0VEMlRDaWVhN0hieGI1cVlT?=
 =?utf-8?B?UnJXRlR6NzFYenliYWhYcUtXS3hPS01QSWpoZFlOeWplMHcxaDBxUHhpZnhG?=
 =?utf-8?B?RklHZXlqNUducGVxVnhPQkVudnFCMTNaTnJMUndjcnpHMWNCL1lDWUtGcUF0?=
 =?utf-8?B?aVFhY0c0RUk3Z1d0QlJXYVpwYk9XYkZSTmlQS3M1a3FNMVlHRWhDZG56L2RP?=
 =?utf-8?B?eGloMk1Ld204di9QV1dmNnBPME5kRGN0UUdURDRzUWc5VWlDOExRN3MvSjdp?=
 =?utf-8?B?OXpVWGovTWk5YjloSlArblN0VDBjdzFlbTQwU29zOTV3UHJNM3FWS0xoNldU?=
 =?utf-8?B?b3BBZ3FJOWNVa0ZtNG5JSXUxMjQwWnJVTHByV04vUXVGYWF4QjczYVljOTNt?=
 =?utf-8?B?cFA1Qnh2S2pqWFZSVGVGRjUxVEdpbUtrU0w1STMxQlNvT2dFZHYrdk9WNUVK?=
 =?utf-8?B?elgyME1VZG5LV21NbE95a1FhZ2pGaHdkWHd3ZUd4MFRpalc2Q3hlREtqUG45?=
 =?utf-8?B?NnpyTXZBTW96c2crcTV0NXRFdkFUMDZXeGFVVjhtdVA4MmxRb1Q3RXNqY05S?=
 =?utf-8?B?bnpWUlNFckE2WndsWmd1MnpObjlCeUtmaHFSWXRtSXQzZXJyWkZ2eUF2UHZV?=
 =?utf-8?B?OGpZY09yc0Q1QUtlb3p2K1gwUEt1Rlc3RG9ZYUJpaFczNTM2S29wdytKNysy?=
 =?utf-8?B?Z1NIUHNhNGNxMm9kQkFmZXhwQ0JrY3ZoMCtNYktaQy9OenFnTWxSZ0dveDBm?=
 =?utf-8?B?RjhKNHRDMGYvdEY0K0ZDT3lWZGc0OXlBaE85QUNZQW1ob1dhTjEzZ2xlam1q?=
 =?utf-8?B?ck5hRm54SW1jY1NuTGpqdHFxZEN1aXJjTEo2OVZaKzBrM3VyVFExaExYUHA0?=
 =?utf-8?B?ZFJBQ0R1VFBFMGxpRTU1Y1kralFuWDBRY1dWWHRCbU45RGZ6NnRCaWZieC9s?=
 =?utf-8?B?QVNFeVdjWUd2RVNvbXJpajQwYVB3UUZtMzNOMmxiMXVUYzVzNlg4NktTcnNl?=
 =?utf-8?Q?8wIfvpJQicJ+s7InOVcmRrIpq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84e044af-e87d-4624-c020-08dad9069324
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 10:25:49.1942
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4kbi7fBdbns41mcuT8TCwHOaW8YHbBQWlCAe/9A+PuNgkd7tf0YRqFBkOadi9RrvLLwwRrw50n5kcKX8k7pUIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6970

On 02.12.2022 10:16, Jan Beulich wrote:
> On 02.12.2022 10:11, Andrew Cooper wrote:
>> On 02/12/2022 08:26, Jan Beulich wrote:
>>> On 01.12.2022 14:20, Andrew Cooper wrote:
>>>> On 28/11/2022 10:50, Jan Beulich wrote:
>>>>> All,
>>>>>
>>>>> the release is due in a couple of weeks time; ideally we'd get it out
>>>>> before the year end break.
>>>>>
>>>>> Please point out backports you find missing from the respective staging
>>>>> branch, but which you consider relevant.
>>>> I have a whole pile, all to do with (o)xenstored live update, but
>>>> they're sadly in my pending 4.18 branch.
>>>>
>>>> Hopefully there's time for those to get into staging before it's too
>>>> late to include for 4.16.3 too.
>>> I see you've pushed a bunch; I can't guess though which ones you would
>>> intend to be backported. Depending on the size of the set I may end up
>>> asking you to take care of cherry-picking. And of course I'll assume
>>> the oxenstored maintainers agree with whatever set is intended to be
>>> backported.
>>
>> Yeah - very fortunate timing yesterday.  The answer is all of them, plus
>> some scattered earlier fixes which did manage to get into 4.17, and even
>> some subsequent ones which are still pending for review.
>>
>> The major bugfix is keeping /dev/xen/evtchn open, and the preceding 8
>> patches are all part of that fix, but "not losing the critical
>> information when things go wrong" is important too.
>>
>> Perhaps it would be easier for me to prepare the backports when the time
>> comes?
> 
> Well, yes, "all of them" certainly was what I was fearing when saying
> "depending on the size of the set". So yes, please take care of the
> backporting once they've passed the push gate on staging.

You will want to have this done the latest by the end of next week,
ideally a little earlier, so we can get the release out early in the
last week before the year end break.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 10:49:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 10:49:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457028.714858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ET4-0000WC-Sq; Thu, 08 Dec 2022 10:49:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457028.714858; Thu, 08 Dec 2022 10:49:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ET4-0000W5-Pv; Thu, 08 Dec 2022 10:49:30 +0000
Received: by outflank-mailman (input) for mailman id 457028;
 Thu, 08 Dec 2022 10:49:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vAIj=4G=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p3ET3-0000Vj-Jg
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 10:49:29 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6a9d299-76e5-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 11:49:17 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id q7so1124480wrr.8
 for <xen-devel@lists.xenproject.org>; Thu, 08 Dec 2022 02:49:28 -0800 (PST)
Received: from CTX-Georges-MBP.citrite.net
 (default-46-102-197-194.interdsl.co.uk. [46.102.197.194])
 by smtp.gmail.com with ESMTPSA id
 s11-20020a5d424b000000b00241cfe6e286sm22479988wrr.98.2022.12.08.02.49.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 08 Dec 2022 02:49:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6a9d299-76e5-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Wqgt/m8zEje8YxwihiJ7H78xpx2JqsQW9T3XP6J9djI=;
        b=bzQgx553JVpSJ0ChoQsX+GU7idf9dpVexXJ0MvgPDQpDzpQ157ZAWEClNhH7mluSHF
         b+XAeIXcMVjqZlK/AykRazwKaxy0k1gBzc7TRx8ru01wpU5yLh0lCjGfRolOObXudfl1
         cRZk95c6pIqNFcsR6RbtKkak1eONeci1ZzV5U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Wqgt/m8zEje8YxwihiJ7H78xpx2JqsQW9T3XP6J9djI=;
        b=OhDbPUAP1JHeZ9TN/BdiX0QuNr/ZvzF6yUVoH1WxM0h3jCSdDZkFmdqXQutjOhSnrH
         AsU3o9Xcg+81N9MtJ6i+YPGbYO7GjKw/MqlbEF4axI/QxjkB0+AjuKzOOCs78mcqH5e5
         6uZaBqu8Eag68z3n2asOy14NlTzOsEeyUQJCJcZ7abEoF4q+y/ljLYThDdaqSpHbELmK
         7IqjMn0/KlQvyWNo43iVXUofmsEyu3p0ddb1qVKo1yo3NUf6OHEQoOhD6bAP4bs5GR2Z
         LdrXdALMXLEkGZGLhLui1Bv5GeQZpKFZFUaqVPTVHk1qBAJyfYZx/hx/uGT6Iu5977PS
         Si9A==
X-Gm-Message-State: ANoB5pn9XCpfGVicdvN4++SofhcrsFJMch7VrlUS8p1htiprnlJnlkll
	49Z9kOdyMhVM+ctvyyHlrooc8NtVhM86OR3p
X-Google-Smtp-Source: AA0mqf6PKhmvQutoSEwgcBWZaaSGX+sQYo0y+IpL3DAonntUk9kDUo0cX/1UkOHt5dhErLV0UDeL5w==
X-Received: by 2002:a5d:620e:0:b0:241:e32f:8371 with SMTP id y14-20020a5d620e000000b00241e32f8371mr42437160wru.156.1670496567236;
        Thu, 08 Dec 2022 02:49:27 -0800 (PST)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>,
	George Dunlap <george.dunlap@cloud.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] MAINTAINERS: Clarify check-in requirements for mixed-author patches
Date: Thu,  8 Dec 2022 10:49:24 +0000
Message-Id: <20221208104924.76637-1-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: George Dunlap <george.dunlap@citrix.com>

There was a question raised recently about the requriements for
checking in a patch which was originally written by one maintainer,
then picked up and modified by a second maintainer, and which they now both
agree should be checked in.

It was proposed that in that case, the following set of tags would suffice:

   Signed-off-by: First Author <...>
   Signed-off-by: Second Author <...>
   Reviewed-by: First Author <...>

The rationale was as follows:

1. The patch will be a mix of code, whose copyright is owned by the
various authors (or the companies they work for).  It's important to
keep this information around in the event, for instance, of a license
change or something else requiring knowledge of the copyright owner.

2. The Signed-off-by of the Second Author approves not only their own
code, but First Author's code; the Reviewed-by of the First Author
approves not only their own code, but the Second Author's code.  Thus
all the code has been approved by a maintainer, as well as someone who
was not the author.

In support of this, several arguments were put forward:

* We shouldn't make it harder for maintainers to get their code in
  than for non-maintiners

* The system we set up should not add pointless bureaucracy; nor
  discourage collaboration; nor encourage contributors to get around
  the rules by dropping important information.  (For instance, by
  removing the first SoB, so that the patch appears to have been
  written entirely by Second Author.)

Concerns were raised about two maintainers from the same company
colluding to get a patch in from their company; but such maintainers
could already collude, by working on the patch in secret, and posting
it publicly with only a single author's SoB, and having the other
person review it.

There's also something slightly strange about adding "Reviewed-by" to
code that you've written; but in the end you're reviewing not only the
code itself, but the final arrangement of it.  There's no need to
overcomplicate things.

Encode this in MAINTAINERS as follows:

* Refine the wording of requirement #2 in the check-in policy; such
that *each change* must have approval from someone other than *the
person who wrote it*.

* Add a paragraph explicitly stating that the multiple-SoB-approval
  system satisfies the requirements, and why.

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
 MAINTAINERS | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 175f10f33f..0e5eba2312 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -120,8 +120,8 @@ must be met:
 
    See below for rules on nested maintainership.
 
-2. It must have appropriate approval from someone other than the
-   submitter.  This can be either:
+2. Each change must have appropriate approval from someone other than
+   the person who wrote it.  This can be either:
 
   a. An Acked-by from a maintainer of the code being touched (a
      co-maintainer if available, or a more general level maintainer if
@@ -150,6 +150,20 @@ give their co-maintainer opportunity to give feedback, perhaps
 declaring their intention to check it in without their co-maintainers
 ack a day before doing so.
 
+In the case where two people collaborate on a patch, at least one of
+whom is a maintainer -- typically where one maintainer will do an
+early version of the patch, and another maintainer will pick it up and
+revise it -- there should be two Signed-off-by's and one Acked-by or
+Reviewed-by; with the maintainer who did the most recent change
+sending the patch, and an Acked-by or Reviewed-by coming from the
+maintainer who did not most recently edit the patch.  This satisfies
+the requirement #2 because a) the Signed-off-by of the sender approves
+the final version of the patch; including all parts of the patch that
+the sender did not write b) the Reviewed-by approves the final version
+of the patch, including all patches that the reviewer did not write.
+Thus all code in the patch has been approved by someone who did not
+write it.
+
 Maintainers may choose to override non-maintainer objections in the
 case that consensus can't be reached.
 
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 08 10:54:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 10:54:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457035.714869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3EXt-00025O-HC; Thu, 08 Dec 2022 10:54:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457035.714869; Thu, 08 Dec 2022 10:54:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3EXt-00025H-DP; Thu, 08 Dec 2022 10:54:29 +0000
Received: by outflank-mailman (input) for mailman id 457035;
 Thu, 08 Dec 2022 10:54:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vAIj=4G=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p3EXs-00025A-9E
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 10:54:28 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae995f1f-76e6-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 11:54:27 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id gh17so2933575ejb.6
 for <xen-devel@lists.xenproject.org>; Thu, 08 Dec 2022 02:54:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae995f1f-76e6-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=jtADbvUDX+u0ktQL+Civka+FzkUw/naPVODJeSiWUtQ=;
        b=D8ByAjdc/kaZsaO05uGzCl0n868WeUVwlQYeAvEaeLy9dVoSnnL6PrlufN/hGBbt4X
         BRttBV7XFrmwol9wR0hMoN0Y47947Xsj1aogUpv/nTfRbDPmaP3TWDDIalMBj2IosFNL
         /XWdV3V6SsyC/vmc824GLeDQgCevS21YQzRz0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=jtADbvUDX+u0ktQL+Civka+FzkUw/naPVODJeSiWUtQ=;
        b=wE+d/4IhPphR4ReucJi6/SMyFu+Sbt4fhYTkDdTNOMJQgmUjUncUR26nx5uJ2HDx8d
         3Ah+mmmsxQTVTPjYpcNIDrSECU7XTJchEBihWbZppb10O7lSlgmtpKQrZmI5zHKik8wc
         BcD4v5CUqNkfO5DfPdf8d7htwvkxn4Xq3Bv0smKtXm4KsUqWRx4I0pc06PV3WMeFUb93
         UtMUaBZGG3h/H9Fnba4KfoynGLwBGVyCGdHrMIGQ9lBpixZBZDi0rKrLXg83dmyJZkaI
         jI70Q6lQSPaKzOdTbXkui6ns3SgSjcopXiu9/s3D4L+8QMkQJblSqMtC3mOkKQFcbs4y
         Di+g==
X-Gm-Message-State: ANoB5pm/TWUHdCBgERuUECse6YqJMJggYQSFuAqf4tWJkOIaxKEHPc7j
	7/ruLKlK96cFI5098xRqkmlOKMZ/IboeGV8p56J6V8MWpFCMEQ==
X-Google-Smtp-Source: AA0mqf5hwN2PWeF6+8OUg1KXgXwH6AED9voaqDrH9J4wMfZsFlP34CLjy7jaQUIswLa3m0+fQNjYxphVVvBR2vklN70=
X-Received: by 2002:a17:906:7f16:b0:7c0:f2cf:8e09 with SMTP id
 d22-20020a1709067f1600b007c0f2cf8e09mr12643647ejr.257.1670496865678; Thu, 08
 Dec 2022 02:54:25 -0800 (PST)
MIME-Version: 1.0
References: <20221208104924.76637-1-george.dunlap@cloud.com>
In-Reply-To: <20221208104924.76637-1-george.dunlap@cloud.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Thu, 8 Dec 2022 10:54:14 +0000
Message-ID: <CA+zSX=ZQPtn5SzhX2N6aFyCfRfN_CsboyB=XkRemCbHf4uhtqQ@mail.gmail.com>
Subject: Re: [PATCH] MAINTAINERS: Clarify check-in requirements for
 mixed-author patches
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Content-Type: multipart/alternative; boundary="0000000000004719a305ef4edce3"

--0000000000004719a305ef4edce3
Content-Type: text/plain; charset="UTF-8"

On Thu, Dec 8, 2022 at 10:49 AM George Dunlap <george.dunlap@cloud.com>
wrote:

> From: George Dunlap <george.dunlap@citrix.com>
>
> There was a question raised recently about the requriements for
> checking in a patch which was originally written by one maintainer,
> then picked up and modified by a second maintainer, and which they now both
> agree should be checked in.
>
> It was proposed that in that case, the following set of tags would suffice:
>
>    Signed-off-by: First Author <...>
>    Signed-off-by: Second Author <...>
>    Reviewed-by: First Author <...>
>
> The rationale was as follows:
>
> 1. The patch will be a mix of code, whose copyright is owned by the
> various authors (or the companies they work for).  It's important to
> keep this information around in the event, for instance, of a license
> change or something else requiring knowledge of the copyright owner.
>
> 2. The Signed-off-by of the Second Author approves not only their own
> code, but First Author's code; the Reviewed-by of the First Author
> approves not only their own code, but the Second Author's code.  Thus
> all the code has been approved by a maintainer, as well as someone who
> was not the author.
>
> In support of this, several arguments were put forward:
>
> * We shouldn't make it harder for maintainers to get their code in
>   than for non-maintiners
>
> * The system we set up should not add pointless bureaucracy; nor
>   discourage collaboration; nor encourage contributors to get around
>   the rules by dropping important information.  (For instance, by
>   removing the first SoB, so that the patch appears to have been
>   written entirely by Second Author.)
>
> Concerns were raised about two maintainers from the same company
> colluding to get a patch in from their company; but such maintainers
> could already collude, by working on the patch in secret, and posting
> it publicly with only a single author's SoB, and having the other
> person review it.
>
> There's also something slightly strange about adding "Reviewed-by" to
> code that you've written; but in the end you're reviewing not only the
> code itself, but the final arrangement of it.  There's no need to
> overcomplicate things.
>
> Encode this in MAINTAINERS as follows:
>
> * Refine the wording of requirement #2 in the check-in policy; such
> that *each change* must have approval from someone other than *the
> person who wrote it*.
>
> * Add a paragraph explicitly stating that the multiple-SoB-approval
>   system satisfies the requirements, and why.
>
> Signed-off-by: George Dunlap <george.dunlap@cloud.com>
>

For clarity: As of the community call, we don't have consensus on this; so
we should wait I think at least 2 weeks before checking it in to allow THE
REST to object if they wish (unless we get Acks / R-b's from everyone, of
course).

 -George

--0000000000004719a305ef4edce3
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Thu, Dec 8, 2022 at 10:49 AM Georg=
e Dunlap &lt;<a href=3D"mailto:george.dunlap@cloud.com">george.dunlap@cloud=
.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"mar=
gin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1=
ex">From: George Dunlap &lt;<a href=3D"mailto:george.dunlap@citrix.com" tar=
get=3D"_blank">george.dunlap@citrix.com</a>&gt;<br>
<br>
There was a question raised recently about the requriements for<br>
checking in a patch which was originally written by one maintainer,<br>
then picked up and modified by a second maintainer, and which they now both=
<br>
agree should be checked in.<br>
<br>
It was proposed that in that case, the following set of tags would suffice:=
<br>
<br>
=C2=A0 =C2=A0Signed-off-by: First Author &lt;...&gt;<br>
=C2=A0 =C2=A0Signed-off-by: Second Author &lt;...&gt;<br>
=C2=A0 =C2=A0Reviewed-by: First Author &lt;...&gt;<br>
<br>
The rationale was as follows:<br>
<br>
1. The patch will be a mix of code, whose copyright is owned by the<br>
various authors (or the companies they work for).=C2=A0 It&#39;s important =
to<br>
keep this information around in the event, for instance, of a license<br>
change or something else requiring knowledge of the copyright owner.<br>
<br>
2. The Signed-off-by of the Second Author approves not only their own<br>
code, but First Author&#39;s code; the Reviewed-by of the First Author<br>
approves not only their own code, but the Second Author&#39;s code.=C2=A0 T=
hus<br>
all the code has been approved by a maintainer, as well as someone who<br>
was not the author.<br>
<br>
In support of this, several arguments were put forward:<br>
<br>
* We shouldn&#39;t make it harder for maintainers to get their code in<br>
=C2=A0 than for non-maintiners<br>
<br>
* The system we set up should not add pointless bureaucracy; nor<br>
=C2=A0 discourage collaboration; nor encourage contributors to get around<b=
r>
=C2=A0 the rules by dropping important information.=C2=A0 (For instance, by=
<br>
=C2=A0 removing the first SoB, so that the patch appears to have been<br>
=C2=A0 written entirely by Second Author.)<br>
<br>
Concerns were raised about two maintainers from the same company<br>
colluding to get a patch in from their company; but such maintainers<br>
could already collude, by working on the patch in secret, and posting<br>
it publicly with only a single author&#39;s SoB, and having the other<br>
person review it.<br>
<br>
There&#39;s also something slightly strange about adding &quot;Reviewed-by&=
quot; to<br>
code that you&#39;ve written; but in the end you&#39;re reviewing not only =
the<br>
code itself, but the final arrangement of it.=C2=A0 There&#39;s no need to<=
br>
overcomplicate things.<br>
<br>
Encode this in MAINTAINERS as follows:<br>
<br>
* Refine the wording of requirement #2 in the check-in policy; such<br>
that *each change* must have approval from someone other than *the<br>
person who wrote it*.<br>
<br>
* Add a paragraph explicitly stating that the multiple-SoB-approval<br>
=C2=A0 system satisfies the requirements, and why.<br>
<br>
Signed-off-by: George Dunlap &lt;<a href=3D"mailto:george.dunlap@cloud.com"=
 target=3D"_blank">george.dunlap@cloud.com</a>&gt;<br></blockquote><div><br=
></div><div>For clarity: As of the community call, we don&#39;t have consen=
sus on this; so we should wait I think at least 2 weeks before checking it =
in to allow THE REST to object if they wish (unless we get Acks / R-b&#39;s=
 from everyone, of course).</div><div><br></div><div>=C2=A0-George</div></d=
iv></div>

--0000000000004719a305ef4edce3--


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 11:25:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 11:25:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457045.714880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3F1S-0006Nm-27; Thu, 08 Dec 2022 11:25:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457045.714880; Thu, 08 Dec 2022 11:25:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3F1R-0006Nf-U6; Thu, 08 Dec 2022 11:25:01 +0000
Received: by outflank-mailman (input) for mailman id 457045;
 Thu, 08 Dec 2022 11:25:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3F1Q-0006NN-Hv
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 11:25:00 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ecf0a414-76ea-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 12:24:49 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB8020.eurprd04.prod.outlook.com (2603:10a6:20b:244::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Thu, 8 Dec
 2022 11:24:57 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 11:24:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ecf0a414-76ea-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KfEvJxxvojO48+hClQQdu3DFqnRLS1TMlgW9hHwqMNvhbrClCHXu1cfuvLByLNIYsUK6vxI5l2wAoLoFZBTmbYFl32wHo5K02dl9M4olDfl3NLR1MIWzvXsjUXrwlb91+oEnP1U0y+SiGTVa69ptGjKrQZSx1fH7XlaP5HWNtHeY/4Smph7Id3v81UG9FzvfAkntqBXx62BsZ6TB82b/a7Jacrm8DQaptACSHci0ljzlUsibSElmX9KXMb6ocTJapgW8Du5IwymXnJJxdQoejFjASekB4XZ+qJR1kencjiimEwtrAAuDEqxsRTtPbKtx4wxpap2ZQ/mYWz+hK59hLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9Fjreq8M49cgfRSguLDlB8os5Le7I82LY33Pfvxzqu4=;
 b=bKuUNZatmZEMAGZQjStFEbM0rhIxyogcgibXsPbCHKpyIqDtcKSngydVI5hz8aecIgh2MWbYxFHI5WExMqFfB+QTbTg4U8mg37wLte0O7IYvWbsXEnl3m4FJR8oZtiuByEWT2604VmxELqOg+Qu6SyZyyksAakIjQB699JOn3bO3GTh/kPAQMqUbWBhR6CsMARpwqBhUQxZsuG1wdLR0oDTUe2ded6pUsEn72OrVaxXy9Xtbd5YWwO+W9F3N7UHUTBhYBHeX/3olNFHoZtygwOnuk0KeO88XIHNu9LZP1UZJT8bvG8pxwl//+bdW7GHCqJa0qOY+qkJwR1/p1KjkMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9Fjreq8M49cgfRSguLDlB8os5Le7I82LY33Pfvxzqu4=;
 b=higBIdDWHmzhWyfKQG7RSDtIjB1TEj5arM6lqXb8oLkzjxBO2Vksg4hqEipqPC3B3ng3bm/tW69Ny1csZljasabD5d8AzjJh0VVapaY0gY5qU6CcnGh5IkZZoNyHb3Ekz1jmAAxd8JGcFbGY0e0ACg3wEGj4vHU4ZgpwGuJ/Wx1KqP1QO9b2L3pfuLThAz0Sc3w9WNfdl5KPGLwpTHoSqRFjHrP7hR4suobvn5lTn1gsB1NghH0iBSKNxlUgNA46fukgNxfL6qtFLK1Btir+S1sfuWeIl/5qtn86ice/zS3fEOxANeWUKREAyp10G5M6u8PM5PURiCVmiqwo4lK+Ng==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6189fed4-2aac-8ca3-90f6-7a750a8993dd@suse.com>
Date: Thu, 8 Dec 2022 12:24:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/SVM: restrict hardware SSBD update upon guest
 VIRT_SPEC_CTRL write
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0065.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB8020:EE_
X-MS-Office365-Filtering-Correlation-Id: af85afc7-4e71-41c7-8401-08dad90ed598
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jQ5bUZh3BJLOu87zLCBrk3dHQW/eEpH4XpINuUQvsTFW2v8Cm3OnbB7aWbcJQKp2LwDaJ8KK/giWu+82+5i9uDjBN2uIifbqNdayBWB+JqMk2/VbalveQI6fSVkVIl23/qPQR4ro8oKA8rK7lnQeXPjGgdsxAc093JmIpebya3jM14Wj8i01csIKT3K+suFmyuH9DzxRodSx9UVJQjGNcacPrr38mA4EvVdUASiu9WKrlxXRhRqFUDeWIymf6JlNg84dnz0Ol5aGLPOOqiYSMFAVdkDpAwMOGZ6XRoGKagMuplD8UJLfmQGCMgDyFRMoxYPBdp6u7i5x+Q/Fg36w2KdsIX9ah1uRG49unf7alsYlbL54FEkr4H0iscV9Ltb5wuyAz5D1y+ti8W8srgsbHZ3TNbvE/zL5rnAIERUCJW19KOHVp4fg4BJ+zEngQVftGnrYDONyYHWEHWxlQ11xY+1Aws0HsWmalKKOPQ2nKHycicZ6WXux6dE1MVwBpmc72o/DGh4+hjV8Iqtd8P1WO7P7zZJ5OOObwTri1HIAyyNSaL1TCb/S8Q6XQYol1z18R/ZhyF07afU5q7zgsu9fSwADgizm3/3UqYx5GcGjsMusJV50zr4ZGUhZe3mIgPxueetMF6JoI5N6KkCRD70F9+snSLp17Ld7kRT/O1JJ0Ii3H7G3akS8443x9LmLQWyF59LAmX7Ic9vliGTPfesxVYNxXPNxRY5LvyGv/Rjukfk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(376002)(366004)(39860400002)(346002)(136003)(451199015)(36756003)(31696002)(86362001)(6916009)(6486002)(54906003)(316002)(478600001)(4326008)(41300700001)(66556008)(5660300002)(66946007)(66476007)(8676002)(8936002)(2906002)(6512007)(6506007)(38100700002)(26005)(2616005)(186003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NXdsejc0SXJlcE8xZURYcjRNemFzaFFUdlIvN3dJUXJyeHVRSVg5N2YxT0ZL?=
 =?utf-8?B?b2dkMnd1VDV6L0FBSDlGNGI1eS9jNm9Qd2FjL3hGMmYwSWJYcEVKQzhVL0N4?=
 =?utf-8?B?OGgvVHc1OSs2dlJWckpWR21DNVg1R0RPNVhMMFBaT0VSd3lhWjluT2hmdlZV?=
 =?utf-8?B?ZnpLQjgyRGMyZjVpdkVndSs2SXpFbjg4UjZ4dU1xMHM1eWx5aEJzcklBNTlI?=
 =?utf-8?B?aExmbHlYOHIxbE0raEtucWpzTXAxejliMWlDNHdud3VmMkdUOXNKSElrMFhz?=
 =?utf-8?B?aU9SUFRrc3BoTzFtWVZoWStKNGZrUjJxdEJqOGFTb05ZSlJTRlR6UTgwR09S?=
 =?utf-8?B?Y3lqUnZNSUJsOUttTnN5OXdocUpqdXdJTFNtWHltQWZsWWhLLzNwMDlUaSs0?=
 =?utf-8?B?dkhBTGplZGhId3doNGtmTFMxcDJYcTlGQnZsQXVqZHpUVnFFc3ViMTdVdGU1?=
 =?utf-8?B?MWpJdmZSN2pyS2Rla0MwLzJnblpOdUFnY29oY3dhcDdiTCt0UXI3MnBGcWVN?=
 =?utf-8?B?N0s2Zi93Qms4LzQrdXAzbnJxUmRPTmVrMlNFS2lBckpUYXNXRHl0bWNEaFdH?=
 =?utf-8?B?ZXZWUG1BTmdhSEZOZWtlME9WNk5RVmExMHlib3BxcUI5bXlvU3N1OEhFcWhq?=
 =?utf-8?B?cTZacUVaUWhyZWhiMzNGNkNicWFpOXVTTGp0SWpwM1NNNDF3ZkNzWnl1V0FW?=
 =?utf-8?B?UHdTSlVPamZMODVxRUVHdkx5ZUdjalR5MFdTaFlkUko1Nk5xZUxmMHluZnAv?=
 =?utf-8?B?WUpTamUwY2hHS09WeW95b2xVL1FoZG4yNnhsSHZlSXdreEpPTXJSWkJxNGtU?=
 =?utf-8?B?OFBkbkluODZuUnFoU3Q1WlFGanlhandlSDV4Y3dGdXRWbjZGcDA3RXo2Mlhm?=
 =?utf-8?B?SHBjUjZaTWNkdk1zZ2owa0t0ZGNyM0NubE9EZVFsWjVMWWpvL09vZThwbUlK?=
 =?utf-8?B?YnhQektRR00wWENFTVlobzdxcXMva0R3eDFsQ3FmWHRoSm5uMzFkclEya3lI?=
 =?utf-8?B?bzRSS09yV1V0Vm9hUDdPL20yK3l2N0tNMnY3T3pUWHJWK3hmbzEvRFRkWWkr?=
 =?utf-8?B?MlM0K2pIMUlVS0YyNms0UEVML2hYbTc5UEJaSThqeGRiOWxDNkFyNnRNMSs0?=
 =?utf-8?B?WUFSZ3pkVW1aRUxQM2l4Yk5IZHo1cFRHcUxQeURyVnBLNjhHbVZGdlF2M1lO?=
 =?utf-8?B?UG5ZMml3Vzd6WDlwUk8vdkZUWGUyajVVK2dKZ2FKRDZiTzh1VnprSGxLUlZk?=
 =?utf-8?B?a1hCdHJ6WitURXhXbVNFQW1iMWZMd2NQYnZQaFhHNlJGVmFsaWNtN09FNGVH?=
 =?utf-8?B?NkdHd1doemcva25WenpJOGYwWTMza01kNThUTm9JRWo2dUE3WkxwSFN5SFFO?=
 =?utf-8?B?U3k1WVc3T2VlV1puazNJNWMraVR0VDRsMnc4alUxb0NRb255czFBbklqNFRQ?=
 =?utf-8?B?S3FvdXJrdlQ2RHZoUlFDdlA1eWRIOUdQZ3hJRTdWZkJrVWQ3RitGbExaRGwr?=
 =?utf-8?B?N1dHOFBnSmQvbE92c2N5WDFJWWVRayt1NzlibTNtOU5UdTF5UXdnQThhZUxm?=
 =?utf-8?B?cE1ZUCthVTJ6bytRV01BUkNOTEpEK3NIK3kyajVqak9FbHhYVFNEbGU3UUdk?=
 =?utf-8?B?YjBNa3FyYVMxTktrNFlsZ29QL0JLRW01M1h2SkdRQVZ1cU1xeFdXdWZBNXYw?=
 =?utf-8?B?WXV6MU5ZRkhEbkZ3dFhXdzRvaVBZWmxwUldGeXJyeWhhU1k0QjVERTh1b0pX?=
 =?utf-8?B?Wm9JTzNXaFhRWmlqelhSQXA1RVZQUkd4UnYxUmkrVnFCYm1HMkhLQlVhQU0r?=
 =?utf-8?B?OW55UWdwNzNXbG5aUmZ6aUVialRlWENvaWdCVFBRaGZLV0RtVFZJOSs0S0Vh?=
 =?utf-8?B?ZVhaQTlDMHc1QkJRQnFaYVFTNXE5dlhHajBEVFpHVVdEVzV4S3NwSWZBak9z?=
 =?utf-8?B?TnNHdkNMTWNXY0FkcHhSTWo3TGdYQlUwK2hXWDhXcTJUQSswSGUyU2V2ZTdY?=
 =?utf-8?B?Y0J5aTE0M0xqZlJlTy9reGE4cmNvNUJwamxKbW94eHVSUW9jcVJyWlVlOHJQ?=
 =?utf-8?B?Ymh5UkpVdXNqREJXaisxNDJJSzE2ZytOMmR3eXJNd1VCcWxmTkhpTFYxUnZl?=
 =?utf-8?Q?ssxLqinK6SaKKgWO1r1YUAdYv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: af85afc7-4e71-41c7-8401-08dad90ed598
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 11:24:56.4689
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: emwER9Z1xJ249Q17zdhRTnTbGoxoMU0GD6P2FQxQxOpN1kTkdy85KJt+P8+Rkqw6uIF4Mnjb1zVMbWheIiaAsw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8020

core_set_legacy_ssbd() counts the number of times SSBD is being enabled
via LS_CFG on a core. This assumes that calls there only occur if the
state actually changes. While svm_ctxt_switch_{to,from}() conform to
this, guest_wrmsr() doesn't: It also calls the function when the bit
doesn't actually change. Extend the conditional there accordingly.

Fixes: b2030e6730a2 ("amd/virt_ssbd: set SSBD at vCPU context switch")
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
This is the less intrusive but more fragile variant of a fix. The
alternative would be to have core_set_legacy_ssbd() record per-thread
state, such that the necessary checking can be done there.

This wants properly testing on affected hardware. From Andrew's
description it's also not clear whether this really is addressing that
problem, or yet another one in this same area.

--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -699,12 +699,16 @@ int guest_wrmsr(struct vcpu *v, uint32_t
         }
         else
         {
+            uint64_t orig = msrs->virt_spec_ctrl.raw;
+
             msrs->virt_spec_ctrl.raw = val & SPEC_CTRL_SSBD;
-            if ( v == curr )
-                /*
-                 * Propagate the value to hardware, as it won't be set on guest
-                 * resume path.
-                 */
+            if ( v == curr &&
+                 /*
+                  * Propagate the value to hardware, as it won't be set on guest
+                  * resume path. But only do so if the bit actually changed, to
+                  * avoid issues with core_set_legacy_ssbd()'s refcounting.
+                  */
+                 ((val ^ orig) & SPEC_CTRL_SSBD) )
                 amd_set_legacy_ssbd(val & SPEC_CTRL_SSBD);
         }
         break;


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 11:34:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 11:34:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457052.714890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3FAe-000871-VN; Thu, 08 Dec 2022 11:34:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457052.714890; Thu, 08 Dec 2022 11:34:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3FAe-00086u-Sg; Thu, 08 Dec 2022 11:34:32 +0000
Received: by outflank-mailman (input) for mailman id 457052;
 Thu, 08 Dec 2022 11:34:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3FAd-00086o-WE
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 11:34:32 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20618.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4151e68d-76ec-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 12:34:20 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8372.eurprd04.prod.outlook.com (2603:10a6:20b:3b3::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.13; Thu, 8 Dec
 2022 11:34:28 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 11:34:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4151e68d-76ec-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i7bg5dq+XVKOKPsHBjTzHs+5SR4ehXcdTaG8HjxNuhFfNIhDcYxTIUcqcViXxfMFadpyx2mEK6iicwRmA862+KgSfqjjJAGAbk7VMqU7w6HLqumyDZ3jMofrNZTxq0XleTGtLWgv7d0uC2IYLyxkx4DnobpWQe5uNhH0H3f6AL0MuGgfH9pXDyT2G0DypaxfVSV/0Ri5RYG3LAYVyBFTTu+EZWbro/rdJBeBIikeC6IVt5yTMOO9zO4Iystq8WlcG7x3xvNjDiAhRmeGgpzjUnAeHVfZ5qE9razQCxJnG1+GmYeG8QHberolSGY/h+kueWkirGBtzNU4kW/QFGPbDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TWqeCpCZtcESpRIwRlyhsWjwdw4OPqx+5XCf3fWF/cU=;
 b=gjQWErlw3j/NjUgukyvtyhcWyzcsMI1Vahg+hsQ92DbwKbe5vyg/NREgUeHvCriMKZtcDHwVImLAKSQizyHM5Oh1H5Xgw/JoC89z4ji8XubhlYoSvp6xLcld2KJNSyU2R9ppMfSJJ8Eyh6qMamlfCGaDw+t5jqT3N+mHh+jNbRlbWK7vUvYH3albpeXXw0iKPLKgKoH5jdN6VMYUpjEv652PHaTDZEXgy3ij427hlqjWsvJKxtHJu/fwEFxsbTGPlTDuKIrWDSxqk084jYpadKDkdS1Ygj3G31fa2tySIp+BY41K6H4OP9t08rVIFcG8gQijql1BQwiy61t2s2sHiA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TWqeCpCZtcESpRIwRlyhsWjwdw4OPqx+5XCf3fWF/cU=;
 b=1OPxl60RG42nLr2451OWB8pehKGXOX4Hxbse8w/Lmx1FTZi7tAgKwwZZ2IVCnJTWz/ztpihjHvDOwlznD3eeDTABFC/QXcBPcC765dTYmi1ZXyaYz/bKGiIKx2wNvlaIf/0jucb22n5Fx4IYgMTuLbaIrV9bg9Ex8LBRAP2zzfrvFj8/lmthaP37XzrYlEWgdwBaX9Jt1yXeXSyKfdYdK3qiLJznuLV/z1xjs6ob8poRKyguNwg7PpxSR92dljnW1SuEWHOdh7UuLczKjhnIh2/++rdwX39nzKcHWt0Z1fp2pxoFewgb4UsWsO0S+ZH2NfxJE/HXOHXkqDiyw8fTXA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5a8d41c2-f9d0-cc83-e0f0-2623dccc85bf@suse.com>
Date: Thu, 8 Dec 2022 12:34:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] MAINTAINERS: Clarify check-in requirements for
 mixed-author patches
Content-Language: en-US
To: George Dunlap <george.dunlap@cloud.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221208104924.76637-1-george.dunlap@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221208104924.76637-1-george.dunlap@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0162.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8372:EE_
X-MS-Office365-Filtering-Correlation-Id: c5465fb2-b737-48c2-87bb-08dad9102a40
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nGb4qv4tC5xWAdCHMjXW4WJyEJc+YwTPqkpmxcfHcYR1nqZo2IxkXz99TK7tqZ0mSTxb38Q/0+hdhUhh1PtybwwmVkA/6Lb0q+hOoiPCTHDKynUDce/Z6CR4rcQmFy7mpZkD5mIXSyzxDEvTwvm/EtHDVSZvy9/ik0lIk8qxVKxRtmkfA4AV4UFInrvjSIU1UElxFOpPJk8JEpYAGftWeVjH1Q/2crInRzCfdMG8S88U83Swnf5TxhRYZIpDEd3ay1b/fn+EJ1/DzKmn2QjduP/nwpKpmUCyd3TU+R/ECMA+Hh74AVNtr+QOlcLBH7LL0iOR72WcHO9mqCM9fn/UmnAijUY05FCPkfXA+CZLVXMMoaiehsBtFdhF2I7/UI4UjFU3ffmw34V7H8IW0jkeYnMdTw6Ac/gbJAlrEND/rHOw5+ZgVfN9fUXFLiXwCM4Ginvu4p6nLj2Q8JBmunhFvHrIM3Jh44RQO+UMQL0iZWg56mEf35MB3G09kxSrgxwIxGgFc1+VhBqSooKGFcBDuccSGdX7MFwacWbkxp50ZjSK/E7nQLL/yEOYA9cUrRBwpo1N7bPDV7vAj5RqcJb5DLMoOakp9k7R4PlH8XOltVi7ne3lgbi69aO0IvGRwXwZUa8qJ8PSjkNAgBEsYE/h3IoMwMX5TcUOsgLq1Q50rqw9P+XePCJQsrQnH8SpqmoyjOxUKN4naR6C3y/qUODrv2AbEEckTM0QG/cfboMVo88=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(396003)(136003)(376002)(346002)(451199015)(6666004)(2906002)(478600001)(5660300002)(36756003)(8936002)(8676002)(4326008)(6486002)(31696002)(86362001)(41300700001)(66556008)(66476007)(66946007)(6916009)(54906003)(316002)(38100700002)(31686004)(2616005)(6512007)(83380400001)(26005)(53546011)(6506007)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OFdlVVJ0Q1V0b3NVTWZWSmZsK3V3R3Z4eXE2Qnd6N1JYYm4zN2p0S0ozem4y?=
 =?utf-8?B?ZmtXOTBUWUg5MVNETGlhN1BXc2JBZURnMGdrSFFYd3c4NUlCcG9ySVQ0cFA5?=
 =?utf-8?B?UTJ5Rjg3ekNxRWlNTEIvV3ZMMHEvQXBqTUNPMkJadWNiUjIrMENWU3ZPdjFG?=
 =?utf-8?B?b1JNZkptSmw4QWIxOWVIRUx5N2t6WWtQOS9VQkYyakxoalQ0UlpzRzMyZXBj?=
 =?utf-8?B?TUEvNVpZYitqTHRvQVFVNmJhK0JsZEJsN2VPd001eTR4enpSQi9EUnB1cjAx?=
 =?utf-8?B?QXpDaDVOMkUvK09rWGhKc0l1dmZISnpqR2c3bHNjWThHVmhkZFlCakd6VTZE?=
 =?utf-8?B?MEluR2pVRS8xUGpxVlVhVGYxbWZFK1g1TENibFRpdENkMTZTbDZCYS9PWVlO?=
 =?utf-8?B?ejlsNitkbmhWa1FqVHk4a0NFamVKRXdINXY3LzlPa0NlQVcxdE9xR0pxVldS?=
 =?utf-8?B?c25LMTg1WU5SQlZjTldOT2l0dmlxTTVIaXY1M2Qrall3ME9McHJIbFRmdzV5?=
 =?utf-8?B?M09VVi9xWjhlNi83T2tkVkFnTzZ3YmRJd0tXOVY1QUExM0hEL3J3UWZyL3Z0?=
 =?utf-8?B?aUFsdmxBZ1FnSGt6R0tDdGVsQTc3Nlpwc1JTcXNWT3I5YjZDbytDV1d4MDJu?=
 =?utf-8?B?ZlF0NUtnVVBCNXc0T0tKZzFMckZGZjI1TTc5VG9GUTZRdVVESE83L0tKS0Vm?=
 =?utf-8?B?c3VYeE9hM1gxVzR4MVJGUGRibXk4N1YyK05aWDZwYkZzNFpTd1BOdWVyYTZa?=
 =?utf-8?B?Z3FER095Q1NVNkx4MC9ZRitYWHY5RzM4Nllmd1hKRzdNR2YvNXRMZDM1aXNH?=
 =?utf-8?B?cGRPcDJQVG1HZkMzUUhaRkJXNTFrajF5VmpRMWRPS0xmdXJ5dk9aUytMVDlB?=
 =?utf-8?B?azlMU1pJTUhvdko3Ly9GTU5GenVvSEdwZloxTW1EcDROMkRZQWp1Ynk5RnBl?=
 =?utf-8?B?bjMydkVrWHdPTWJ2NE9DT1VTS3BlUy9rdCthVUx1LzlIbVBpYTFnVXRqNVUr?=
 =?utf-8?B?UkowSlNhM0VJTm5KaFRSaE1mbVFaRlpUVFZDQWtIcGVadkZONytqNEc0Y282?=
 =?utf-8?B?ZUJ2WS9Ba0plOUZ3YStpdkljY24ra2tGY1ZZejNPMTEwT2RqZlhPbUVUblJQ?=
 =?utf-8?B?V3lRV1VhT2Q4QkhYTUhaT0xYbWZ6cEJxdVlTZzYxbUc5c3RZR2UwWXBkOEEw?=
 =?utf-8?B?cHY5RkIzRDFhWnJRYXpaMGZtQ3pmUjVnQ0wxTk5WTjF6VFlyZlc1VkJNTW5S?=
 =?utf-8?B?djFWOGZvNnJZQnBweHp2N2hDTUpid2tEaHFyL0ZOWkExQXgyV04yQ0pDRjVY?=
 =?utf-8?B?SkhKMExiVkxIMEJSRUVrUW9WbzZMRCtHU21HUWtBU0V2OXFkVUkzNW5lUVBT?=
 =?utf-8?B?MEpnRC9mVnlrTzN2cW1EdEFwOU43Q0JWTlFGaUE2VzF4ZHBJYUZhZSsvaFUy?=
 =?utf-8?B?VHZjNmRjYTB5N3RVSWNWZFFQMWhIYWNTakxXWGlXLzdCb09RTEx4SkFjWERR?=
 =?utf-8?B?TDQ5UUQzT1JQdVVhMUJMbzdnVi9VRXFZaVcxUkx1aUFmSlpOQWUwSzNsUEdJ?=
 =?utf-8?B?TnFSSmRxcS8ybWZUN3hYZXZIZ2Y4WVVTWGZocGhBK2RudHozRXRXUkR6Rzl0?=
 =?utf-8?B?VGJGRHdsVzRzcVZRUjcwNUZiL2Uya1NDUHdLTlRvaVNMUFhOV1BoUEh1aW5M?=
 =?utf-8?B?d1g2Ylhqbk41VjRIUGRZOHdkVkdxWWE2VE0vcVRZd3RBNmFoTFNoZnFnbGR1?=
 =?utf-8?B?K292YTJxZXVWRDhpSmRQcmI3bHpkTHN2UC9zM1lCaTgrallXQ3pzbFFoZFhQ?=
 =?utf-8?B?NndVZ0J3c2RBS0JiQUVQSDdadWlSblVxVUNXWW9rWDdjQi8zOSswMGF5MFJQ?=
 =?utf-8?B?QmR4OXZPd3Zyci9WeDFkeTJ5d3pJeXU0UUszOGMrUmFRVDRZMWxiRk5jRTNs?=
 =?utf-8?B?dzUyUzg3N3FMdXBxelBFem1TUUtoNVROd0ZETmlpaFBSUzFtZWRiRlkxSEtL?=
 =?utf-8?B?Q21yQVlBdGJiY3k0VllwUWV5WU5qYmNTZTFHYkJjU1dTdmR6SUYwT25xSDFz?=
 =?utf-8?B?eHpVNWN4VmdaKytKUUZBcEdMOVdwQ3F1WTJRZ3Y2YlNvRWNSUmRQcDZZUUdx?=
 =?utf-8?Q?ljSYdi5sRzB4FyQ67pTQ88y6b?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5465fb2-b737-48c2-87bb-08dad9102a40
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 11:34:27.9641
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8a83yb95TUNWmleKaNrYiVO1fiZ7yCAY0pYZBZx0aC/IJTKOxt51bQMZgj9e+QY/Xk8CD71dTy78TTdFvW8laQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8372

On 08.12.2022 11:49, George Dunlap wrote:
> From: George Dunlap <george.dunlap@citrix.com>
> 
> There was a question raised recently about the requriements for
> checking in a patch which was originally written by one maintainer,
> then picked up and modified by a second maintainer, and which they now both
> agree should be checked in.
> 
> It was proposed that in that case, the following set of tags would suffice:
> 
>    Signed-off-by: First Author <...>
>    Signed-off-by: Second Author <...>
>    Reviewed-by: First Author <...>
> 
> The rationale was as follows:
> 
> 1. The patch will be a mix of code, whose copyright is owned by the
> various authors (or the companies they work for).  It's important to
> keep this information around in the event, for instance, of a license
> change or something else requiring knowledge of the copyright owner.
> 
> 2. The Signed-off-by of the Second Author approves not only their own
> code, but First Author's code;

The wording in ./MAINTAINERS looks good to me, so it may be benign that
here a perhaps relevant (in the course of development) aspect is not
expressed correctly: Second Author may have fixed a bug in the original
patch, which surely he then doesn't approve. So I'd be inclined to
suggest making this "..., but also the unchanged parts of First Author's
code".

> the Reviewed-by of the First Author
> approves not only their own code, but the Second Author's code.  Thus
> all the code has been approved by a maintainer, as well as someone who
> was not the author.
> 
> In support of this, several arguments were put forward:
> 
> * We shouldn't make it harder for maintainers to get their code in
>   than for non-maintiners
> 
> * The system we set up should not add pointless bureaucracy; nor
>   discourage collaboration; nor encourage contributors to get around
>   the rules by dropping important information.  (For instance, by
>   removing the first SoB, so that the patch appears to have been
>   written entirely by Second Author.)
> 
> Concerns were raised about two maintainers from the same company
> colluding to get a patch in from their company; but such maintainers
> could already collude, by working on the patch in secret, and posting
> it publicly with only a single author's SoB, and having the other
> person review it.
> 
> There's also something slightly strange about adding "Reviewed-by" to
> code that you've written; but in the end you're reviewing not only the
> code itself, but the final arrangement of it.  There's no need to
> overcomplicate things.
> 
> Encode this in MAINTAINERS as follows:
> 
> * Refine the wording of requirement #2 in the check-in policy; such
> that *each change* must have approval from someone other than *the
> person who wrote it*.
> 
> * Add a paragraph explicitly stating that the multiple-SoB-approval
>   system satisfies the requirements, and why.
> 
> Signed-off-by: George Dunlap <george.dunlap@cloud.com>

Since the actual change to the policy looks good to me:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 11:43:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 11:43:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457061.714904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3FJQ-0001Sf-SD; Thu, 08 Dec 2022 11:43:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457061.714904; Thu, 08 Dec 2022 11:43:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3FJQ-0001SY-PT; Thu, 08 Dec 2022 11:43:36 +0000
Received: by outflank-mailman (input) for mailman id 457061;
 Thu, 08 Dec 2022 11:43:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vAIj=4G=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p3FJP-0001SQ-RN
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 11:43:35 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85d584d9-76ed-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 12:43:24 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id r26so1689730edc.10
 for <xen-devel@lists.xenproject.org>; Thu, 08 Dec 2022 03:43:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85d584d9-76ed-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=3CyJ8A7vipnm77BA8o53i0kMJ7hFzp042GfIYDeSvik=;
        b=MdYLKX+Wr42Xo1uvzDoeWrJgAdeTgux3P2FSUQLjKU/JULt8aW/VDzWa7lUdoAuqVD
         IUra1ly/F6FvlWWn8XhLkNmU4lVUdwFDGUT/bVIw+UEMPhxMq2Yu48vVA4+Jjyw2oJeh
         UyYkTpwSRUWuoY9hpzv+sPyb2GIfSk08lpfFw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=3CyJ8A7vipnm77BA8o53i0kMJ7hFzp042GfIYDeSvik=;
        b=EHmpYGKM0duYiU21qaId4556h3ehjFiknAH24MmxhSqcZa12THB8/OkfdyZQ/6nln3
         vu0Zz+96ab9hmj8/VgZ1ZiLh2K12HI985pWovfNgVU/XGlShtGqFgo4xgyfxG7a13Qym
         x77IdVq13u6hZsTHuxuB6Kl/AnKu570zg4IFhcbr6gwSml/+TnzZaYK2ytljj7Z0RGCW
         c9HcYB3Q0e7icJUIVibmuO1ZfXdkQRTqcC8wAmpEweEX2TFVRTj9qFY6y/OH0J2q4YvZ
         cXRsBvi7cM1jb40iEjgrziTzUeG5WbGmmZc3LdyGaJAujQPpG1eAcvo5l3H22Jb0Nkag
         bm3Q==
X-Gm-Message-State: ANoB5plvtMzUkfpBxy1R7/qJp1Lg1K6/CW4Se6oP8GGlT3eJat0itkZe
	tgYReScipfPdJVJ53B0YxVk4Oi/TiRP7RaQE5hxCUw==
X-Google-Smtp-Source: AA0mqf5Y/w+mx38pw7GDGPlkxaGCYOmME7bOhrfdZIDMBnsIOtQLcGm4nPVXgO/TuoOYjBxasq1uTB+Xa6Ze3QXGNEY=
X-Received: by 2002:a05:6402:3789:b0:467:7664:c7f4 with SMTP id
 et9-20020a056402378900b004677664c7f4mr4057498edb.99.1670499814331; Thu, 08
 Dec 2022 03:43:34 -0800 (PST)
MIME-Version: 1.0
References: <20221208104924.76637-1-george.dunlap@cloud.com> <5a8d41c2-f9d0-cc83-e0f0-2623dccc85bf@suse.com>
In-Reply-To: <5a8d41c2-f9d0-cc83-e0f0-2623dccc85bf@suse.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Thu, 8 Dec 2022 11:43:23 +0000
Message-ID: <CA+zSX=aHhE78v6jKuEzHgENLnSdZ4emvOKnveNK2WetZ+4BUBw@mail.gmail.com>
Subject: Re: [PATCH] MAINTAINERS: Clarify check-in requirements for
 mixed-author patches
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
	xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="00000000000007f94005ef4f8c6c"

--00000000000007f94005ef4f8c6c
Content-Type: text/plain; charset="UTF-8"

On Thu, Dec 8, 2022 at 11:34 AM Jan Beulich <jbeulich@suse.com> wrote:

> On 08.12.2022 11:49, George Dunlap wrote:
> > From: George Dunlap <george.dunlap@citrix.com>
> >
> > There was a question raised recently about the requriements for
> > checking in a patch which was originally written by one maintainer,
> > then picked up and modified by a second maintainer, and which they now
> both
> > agree should be checked in.
> >
> > It was proposed that in that case, the following set of tags would
> suffice:
> >
> >    Signed-off-by: First Author <...>
> >    Signed-off-by: Second Author <...>
> >    Reviewed-by: First Author <...>
> >
> > The rationale was as follows:
> >
> > 1. The patch will be a mix of code, whose copyright is owned by the
> > various authors (or the companies they work for).  It's important to
> > keep this information around in the event, for instance, of a license
> > change or something else requiring knowledge of the copyright owner.
> >
> > 2. The Signed-off-by of the Second Author approves not only their own
> > code, but First Author's code;
>
> The wording in ./MAINTAINERS looks good to me, so it may be benign that
> here a perhaps relevant (in the course of development) aspect is not
> expressed correctly: Second Author may have fixed a bug in the original
> patch, which surely he then doesn't approve. So I'd be inclined to
> suggest making this "..., but also the unchanged parts of First Author's
> code".
>

Given the wording in #1, "The patch will be a mix of code...",   I think
the context should be clear, that we're talking about the code *in the
patch that's being submitted*, not some other code in some other patch
that's been submitted previously.

Since the actual change to the policy looks good to me:
> Acked-by: Jan Beulich <jbeulich@suse.com>
>

Thanks,
 -George

--00000000000007f94005ef4f8c6c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Thu, Dec 8, 2022 at 11:34 AM Jan B=
eulich &lt;<a href=3D"mailto:jbeulich@suse.com">jbeulich@suse.com</a>&gt; w=
rote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0p=
x 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 08.12.2=
022 11:49, George Dunlap wrote:<br>
&gt; From: George Dunlap &lt;<a href=3D"mailto:george.dunlap@citrix.com" ta=
rget=3D"_blank">george.dunlap@citrix.com</a>&gt;<br>
&gt; <br>
&gt; There was a question raised recently about the requriements for<br>
&gt; checking in a patch which was originally written by one maintainer,<br=
>
&gt; then picked up and modified by a second maintainer, and which they now=
 both<br>
&gt; agree should be checked in.<br>
&gt; <br>
&gt; It was proposed that in that case, the following set of tags would suf=
fice:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 Signed-off-by: First Author &lt;...&gt;<br>
&gt;=C2=A0 =C2=A0 Signed-off-by: Second Author &lt;...&gt;<br>
&gt;=C2=A0 =C2=A0 Reviewed-by: First Author &lt;...&gt;<br>
&gt; <br>
&gt; The rationale was as follows:<br>
&gt; <br>
&gt; 1. The patch will be a mix of code, whose copyright is owned by the<br=
>
&gt; various authors (or the companies they work for).=C2=A0 It&#39;s impor=
tant to<br>
&gt; keep this information around in the event, for instance, of a license<=
br>
&gt; change or something else requiring knowledge of the copyright owner.<b=
r>
&gt; <br>
&gt; 2. The Signed-off-by of the Second Author approves not only their own<=
br>
&gt; code, but First Author&#39;s code;<br>
<br>
The wording in ./MAINTAINERS looks good to me, so it may be benign that<br>
here a perhaps relevant (in the course of development) aspect is not<br>
expressed correctly: Second Author may have fixed a bug in the original<br>
patch, which surely he then doesn&#39;t approve. So I&#39;d be inclined to<=
br>
suggest making this &quot;..., but also the unchanged parts of First Author=
&#39;s<br>
code&quot;.<br></blockquote><div><br></div><div>Given the wording in #1, &q=
uot;The patch will be a mix of code...&quot;,=C2=A0 =C2=A0I think the conte=
xt should be clear, that we&#39;re talking about the code *in the patch tha=
t&#39;s being submitted*, not some other code in some other patch that&#39;=
s been submitted previously.</div><div><br></div><blockquote class=3D"gmail=
_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204=
,204);padding-left:1ex">Since the actual change to the policy looks good to=
 me:<br>
Acked-by: Jan Beulich &lt;<a href=3D"mailto:jbeulich@suse.com" target=3D"_b=
lank">jbeulich@suse.com</a>&gt;<br></blockquote><div><br></div><div>Thanks,=
</div><div>=C2=A0-George</div></div></div>

--00000000000007f94005ef4f8c6c--


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 12:02:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 12:02:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457084.714916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Fc2-0004ju-WF; Thu, 08 Dec 2022 12:02:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457084.714916; Thu, 08 Dec 2022 12:02:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Fc2-0004jn-So; Thu, 08 Dec 2022 12:02:50 +0000
Received: by outflank-mailman (input) for mailman id 457084;
 Thu, 08 Dec 2022 12:02:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uovv=4G=citrix.com=prvs=334de2702=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p3Fc2-0004jh-8a
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 12:02:50 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3ac8b11e-76f0-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 13:02:48 +0100 (CET)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 08 Dec 2022 07:02:40 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH2PR03MB5304.namprd03.prod.outlook.com (2603:10b6:610:9a::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 12:02:36 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.016; Thu, 8 Dec 2022
 12:02:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ac8b11e-76f0-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670500968;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=J9wr1uMF3GfKTEZtbQCvFSyis/7rfWI+8zGoBGgRtnA=;
  b=ZrLWh6SQX3wj7CMOb9sniL+libA7VQaxPhLSIJtWOb8E2inQ/F7GhIHT
   CF+K0X8w+9HEmTrJVUumCW2jEkKkb0ap0VrTNVsbh5fKcIT+BddjhlGmM
   gHd0yFtljdcov9koKOAgdGyT7aaz/g1AwMKN2LATY2Fv5ind/VbU8V00b
   g=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 89759218
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:3JRF5KrxUSJrcTmW7hEcI9FRyfBeBmL1ZBIvgKrLsJaIsI4StFCzt
 garIBmEOKyNZzOget13boyy8R4Hv8OEyoRjTlY6/Co1QXgT9ZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzylNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAAwLdj3am8fr/IqiSOdQwYMhAtL1ELpK7xmMzRmBZRonabbqZvyToPV+jHI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeiraYSFEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXop6E30QfKlgT/DjUOBVr4oeCFsHX5fNcCN
 G4L9yEFlYg9oRnDot7VGkfQTGS/lhERXMBfHqs29QeJw7L86AKeG2RCRTlEAPQ2uclzSTE02
 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9BW0IaDIATAAFy8L+u4x1hRXKJv5hDaq0g9vdCTz2h
 TeQo0AWnK4PhMQG06G6+1HvgD+2oJXNCAkv6W3/QWaN/g5/Iom/aOSVBUPz6P9BKMOTSAmHt
 X1dwsyGtrlQXdeKiTCHR/gLEPex/fGZPTbAgFlpWZ486zCq/H3ldodViN1jGHpU3g8/UWeBS
 CfuVcl5vfe/4FPCgXdLXr+M
IronPort-HdrOrdr: A9a23:U1RytaHjBIw/KvNRpLqEi8eALOsnbusQ8zAXPiFKKSC9F/byqy
 nAppkmPHPP4gr5O0tApTn/Asa9qBrnnPZICOIqUYtKMjOJhFeV
X-IronPort-AV: E=Sophos;i="5.96,227,1665460800"; 
   d="scan'208";a="89759218"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cAUeIqIj6DeDQJ8WcXofBXbaKUaY2qW0N/kEJzfCwJ8bAbUdVTe14qArIZn6221Iy/XdSU1Tf3gTHhEusZPxSnYhpQhT3D/2bDDhGbGMSRnE7hn+bGJ2ufYGQDGmEVwrlH84jkuyo4uuJ8FbXz/1gOAHxG/8CGEiAqtIX96VgEdikST1JRevrimCxBfyj3OVq9tNnEfWJcBEOISYQtf55aFRBJ6LhBvy3XZGcIxzUOj/aK7pHjA11TcrlGmWMsw9li4MZfDRyr1WvM6GvD9sB/Hz5D+RGLDbunOMEnDbBm9Sl4VMJTJOjKTJWPo5mMmRnurstPUg2cRFJ1E60s+TMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J9wr1uMF3GfKTEZtbQCvFSyis/7rfWI+8zGoBGgRtnA=;
 b=lOLPSojeR5zTH4oivrDwNoDKW2ImcoIfS2Adh0y5uP21T0t1i0GaVXtOdcV99Jx92o0067dsLtW7dIQBlQIX1cDFa3hEQIIpLsoTBJceJ4O8enjSamBDWXBL8qIpv5aScCavG9TJRcr5JCxuGxHQ4Tw3I39OLHRkvaCueouzwfE+VBMWnd/h+JGtaF+8H4kqTqB9FKqYTg5hFv1KemWGxl03NNnUY+maQx82XHAgptexQZEjvwAJ4MVO/rIuntUucDYqH/DzALYB1qA0KzoQcFWz3wOnHNnOkJaalL9pgHJ76dJtbEi2TBWmo7SeVFMNuUUBiDLVd7tmfXg38TxIPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J9wr1uMF3GfKTEZtbQCvFSyis/7rfWI+8zGoBGgRtnA=;
 b=c8S31cf+c17FBujJ7rW5+aYXgtp03lSxHflUvdCH3iqFOAC/d1XDAZZn+MMEl5A0jH2iIocNIE3y9kcSvBAb7V5fbfNN0d+rZTFfn8/aEw2kRojXfQJ2gz8ACsRaN5TPpSe1ej7rJO8wZd7cz8L91KDTwzlVIDOnX3ANUAIIUzE=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: George Dunlap <george.dunlap@cloud.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] MAINTAINERS: Clarify check-in requirements for
 mixed-author patches
Thread-Topic: [PATCH] MAINTAINERS: Clarify check-in requirements for
 mixed-author patches
Thread-Index: AQHZCvLCk6L0DZ2CykKxacFzdNbhE65j5AWA
Date: Thu, 8 Dec 2022 12:02:35 +0000
Message-ID: <2650908d-ce90-3e11-a267-8ed4328d0ec5@citrix.com>
References: <20221208104924.76637-1-george.dunlap@cloud.com>
In-Reply-To: <20221208104924.76637-1-george.dunlap@cloud.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|CH2PR03MB5304:EE_
x-ms-office365-filtering-correlation-id: 0e67a865-8f04-42c4-c170-08dad9141886
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 /P1FWSM1bABaJ4JK5WAzP7322uILiTLgFwIbi2EhVSxM0mzVsMSwJbHePnFd/QF8FZUaJEalLGstSousWLrOUGCpnvb1FJ2f8LXpdybgWUhloNfk9KmleO8Q95NRe1Phng8gXB9MIkdjKrItQBPT7Q/ajmZ5QUXqUSUtWCqNsNmG3bLQYr+5fAcV8XRAFrF9rjOMzTLrF2mGXxPS3PIj5WiJcQVVBaW5l6T6BLHYLw/ZEABtFYOn+ZRhd3CXhbi6rpdN3C+s22S9Vg2ywlBQwVsN2K4uSb1xrJ8z8o9OTpvxduZ0ICus5niMrZNrQHs1G9ZzOA6K+4qrcedxs6oWTyeSFUuTr2JHEM0d6vm3KOKLWeqpom51XIfB9+ldT+JgUx5DSHbQLpLvrdi/ahtpIJfycek2yLVfoo94PYMVH9+ZWnZyXJ+Sk4GlS5Zdm1wOmW8ejUQ/iqkqQj1v0916Ffy7i7hJ8mgpPw/iG+MURitU33a4/dhQNLYHsywFt0ItYnT6NoMY/JebyQv3s9pmAXoNHvBHt8aZg7fHyuIDsmbhrqdBGpP+EcazGuZWU8u9QGME2acoeXBGFtsE8HG/tnePUmk2CPTU/WAizRpXKIyhl8ubE99hq+uDARH3ZWNUypsVfMBme5cHiJAx/GCrnyQoGOWMhSdItC19xwK42J2y2GgtO89ZkrI/VjMtv2pTBY4iwYSzUYMMlbyaj2HO97reeMmorsIJqDf7N1E5ctGNHo7D2KssO7xKI4oW3QN1SXwzmTAbk+uqgbZynO17cg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(346002)(376002)(396003)(39860400002)(136003)(451199015)(38100700002)(122000001)(66446008)(66556008)(8676002)(66946007)(4326008)(91956017)(2906002)(38070700005)(64756008)(41300700001)(66476007)(478600001)(8936002)(5660300002)(6506007)(6512007)(26005)(53546011)(71200400001)(186003)(6486002)(82960400001)(54906003)(110136005)(316002)(2616005)(76116006)(31696002)(86362001)(36756003)(31686004)(66899015)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZGJ6SFQ5cjdNL0tQZ1RNQW1mcWNQb0w4Y1Y4aTZEQ0xINUswNlE4SldRYjcw?=
 =?utf-8?B?eUFlSnhUZGZwbzBqcUlzMmgvekxqT2daeGVMSEY3eGc5SkhReElxa3daekl2?=
 =?utf-8?B?dy91VmhLWXV5dDgxY29Ud1ZrSExWek9FeEZoWXlsdU9HdCswa1UwaWo0WThZ?=
 =?utf-8?B?b3FENVJBMmEzT2Vuc2NJdi9JbXBQaXB0NU1YYW91bGduZkZibU1jbzRRYzha?=
 =?utf-8?B?K1E4enBkTmZSQThvdmsrNlFpU3V5eURZWmova0dpMnJldFRMM0FDSmJCMjNG?=
 =?utf-8?B?Q1ZzSDFxSnRJUmVueHdoNFQrREZxaVAyZ0YxVGJIR2REYWcrSHJONWJjR2dv?=
 =?utf-8?B?dnVibTgzUnZscGY0dlFRMm9iR3lNVEZDam83TitCU29vLzhjZnlwUHFZbnVM?=
 =?utf-8?B?czBPSUVUOEhlVXVDMHdyanRmNXBqOWF3bGQvdVVvdkF4TU81ay9vRzhCMFRS?=
 =?utf-8?B?azhDREV6djdBNTd5eWR0d3dyYWcxS2dqa25ZQnlIQ3RpSlBYQkVlMGJMOEMx?=
 =?utf-8?B?eWJqWFJWd2Z2T0VKeXduLzZHaGpSR21pNndJbktQeFZlR1Y5c0NUemxOUktn?=
 =?utf-8?B?akV2Q1NaSjZuREtxSUhnMDIyKzNUcWdCNytHZFA2a2dpQ1ZFRUp1NndJQzBD?=
 =?utf-8?B?Z1JqU3QxZmJJSnM1bXBLclR0ZGNKOTR1VDUxOEErUmdENzdrNGFwUmhPQUVY?=
 =?utf-8?B?WHlRakFXV3B1aFhyQjd4TmloWUpCOVdVWDVtSXVPVFROVEQzZ1BQME94NmJE?=
 =?utf-8?B?VlBaaTZSbXI2ZTBUdGYrbVV4SWRERXNlWUovMWx2ck11ZWN6M3RiVHo0ZUdQ?=
 =?utf-8?B?QnRNeHN6TjVtaVp1S1JPOFVLL1BwOFpFSFF2Z1RVYVpWN2lkZUNGb1VZeG8z?=
 =?utf-8?B?R2NzZ21OZ3YxQmd2T3VaSTJBQ09sbDFPbE9CZFlYZTE2d1dhNHY1M3drbmFq?=
 =?utf-8?B?UXdOeUFSVlk3OHpSYWM2akdhQlNmc2FVWFBDemdtclgwcUMzai9OQVY0MENl?=
 =?utf-8?B?TjVLRFlCdmhGaDZvaERGTC9pUEFQcDFvajRRdTIxSXR0V1N0bzEvYnBtLzAx?=
 =?utf-8?B?V1VYclFvWE5YQmpPV0kwNzJnYS9HeUVDbmtWZEw2cDg4YnpkaHdJV2JGakpt?=
 =?utf-8?B?VkEyVVJLcmVVKzB5Zmhwc1h6Ky9xQVlpTzVMMmsrR1laZi96bUozKzhnalRu?=
 =?utf-8?B?M1FLWjBMczJRUk02R2Z6SmVnMTNHZk9UZGVLdjkwaUNVZ21nM0VKeko3KzBu?=
 =?utf-8?B?NG1td0pWc3l4U1A0SmxTOHFzUUcrMm9OTVFaN0kwb2g0UWFaSGJrTUpmbW1i?=
 =?utf-8?B?RVAwVnpSOXg0bDl5elBjYnhqdG9rQnRxdGhaaE80OXhzQTBzSlV0b3YyZzBG?=
 =?utf-8?B?NjMzL3NNOHB5aHduSk1XMnN6WkNLKzJIellGT25KNUpTNXRpYm5YKzdmUGhx?=
 =?utf-8?B?aUwyemFEb2pHWDMyYjVYUWpoZnRPQUxUTGJOV25wNW96VDhDZ3FZYnJiMlpX?=
 =?utf-8?B?cVNQUHN0Q3VUYkNkbWMrVE55bnkzbVVrZ1RaYkVlb0JqMEhqVm5Dd2U1Q05j?=
 =?utf-8?B?aHplMTJaS05yYzRyT01RM2JteWJ1WVpBYzVOc1B5T2NsMUxITWozL0k4SnZJ?=
 =?utf-8?B?NlJyWVVuaGRtZ3BwYUJmb09teDZlSVpYaW1EQXo2amlvb2VCQnRySlk0T08w?=
 =?utf-8?B?TXVQNGF2eWNYc2NwNFlOMlMzTE05Q2kwUmplcTJ4YmRZZDNnNlcxOXVYOHJw?=
 =?utf-8?B?VWVmVG1KcFJWZzdnUGJhdXlDaVUxWGlIL0xZeVpzdXJ3dmowbTJyL295RTUx?=
 =?utf-8?B?RW5MelZBTE0zckdQNlZRaFFvbDVpdWlTZDcyVDhjaGJGQzFNOXBNK2NNRkJN?=
 =?utf-8?B?UndreHhGSVQwZWZleHljRTQvQks0emljN1N1Nk9Fa0ZNb2VQTlZNVWRybkdW?=
 =?utf-8?B?ZjVxaEQrOEJLenhMRldUT1RmRFBxOFJxSFNqV1F5d2N0QVZPVDJId3RrTkMw?=
 =?utf-8?B?d3dOSzNkdUVET0RHTmo1MDVYUmZqVEphejk4SHhJRS9yWUUzcC9rS2tNS0hZ?=
 =?utf-8?B?bk5JWVl3Nll0eWVCa1VlSURpZUdnd29Kb1dSRm5SbVR1Smp5RERlUWowVmR3?=
 =?utf-8?Q?PYTMyTEwBXuHPWG7Cul16YxHz?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <9B2EB9A75B973245B251D8B4CAE73915@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0e67a865-8f04-42c4-c170-08dad9141886
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Dec 2022 12:02:35.9935
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: b2tU+pMIQXJogKmoIpDnf2bCSIG/s9dMGnrsj4DjEAm1PvGWJ5mvZ1k5nOiy19tB1mowZghOBlzDXPpdJrj12fMvofAXVSajJvuBCkK21aU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5304

T24gMDgvMTIvMjAyMiAxMDo0OSwgR2VvcmdlIER1bmxhcCB3cm90ZToNCj4gQ29uY2VybnMgd2Vy
ZSByYWlzZWQgYWJvdXQgdHdvIG1haW50YWluZXJzIGZyb20gdGhlIHNhbWUgY29tcGFueQ0KPiBj
b2xsdWRpbmcgdG8gZ2V0IGEgcGF0Y2ggaW4gZnJvbSB0aGVpciBjb21wYW55OyBidXQgc3VjaCBt
YWludGFpbmVycw0KPiBjb3VsZCBhbHJlYWR5IGNvbGx1ZGUsIGJ5IHdvcmtpbmcgb24gdGhlIHBh
dGNoIGluIHNlY3JldCwgYW5kIHBvc3RpbmcNCj4gaXQgcHVibGljbHkgd2l0aCBvbmx5IGEgc2lu
Z2xlIGF1dGhvcidzIFNvQiwgYW5kIGhhdmluZyB0aGUgb3RoZXINCj4gcGVyc29uIHJldmlldyBp
dC4NCg0KSSBrbm93IHRoaXMgd2FzIGhvdyB0aGUgY29uY2VybiB3YXMgdm9pY2VzLCBidXQgaXQg
d2FzIGZhaXJseSBib2d1cyBldmVuDQphcyBzdGF0ZWQuwqAgInNhbWUgY29tcGFueSIgb3Igbm90
IGhhcyBubyBiZWFyaW5nIGF0IGFsbCBvbiB0d28NCm1haW50YWluZXJzIGNob29zaW5nIHRvIGNv
bGx1ZGUgaW4gc2VjcmV0Lg0KDQpUaGUgbWl0aWdhdGlvbiB0byBhbGwgb2YgdGhpcyBpcyB0aGUg
ZmFjdCB0aGF0IGJlaW5nIGEgbWFpbnRhaW5lciBzdGFydHMNCmZyb20gaGF2aW5nIGdhaW5lZCB0
cnVzdCAvIHJlcHV0YXRpb24gaW4gdGhlIGNvbW11bml0eSwgYW5kIGNvbWVzIHdpdGgNCnRoZSBy
ZXNwb25zaWJpbGl0eSB0byBub3QgdmlvbGF0ZSB0aGF0IHRydXN0LsKgIEZ1cnRoZXJtb3JlLCB0
aGVyZSBhcmUNCm1lY2hhbmlzbXMgaW4gcGxhY2UgdG8gZGVhbCB3aXRoIGlzc3VlcyBhcm91bmQg
c2FpZCB0cnVzdCBiZWluZyB2aW9sYXRlZC4NCg0KPiBUaGVyZSdzIGFsc28gc29tZXRoaW5nIHNs
aWdodGx5IHN0cmFuZ2UgYWJvdXQgYWRkaW5nICJSZXZpZXdlZC1ieSIgdG8NCj4gY29kZSB0aGF0
IHlvdSd2ZSB3cml0dGVuOyBidXQgaW4gdGhlIGVuZCB5b3UncmUgcmV2aWV3aW5nIG5vdCBvbmx5
IHRoZQ0KPiBjb2RlIGl0c2VsZiwgYnV0IHRoZSBmaW5hbCBhcnJhbmdlbWVudCBvZiBpdC4gIFRo
ZXJlJ3Mgbm8gbmVlZCB0bw0KPiBvdmVyY29tcGxpY2F0ZSB0aGluZ3MuDQo+DQo+IEVuY29kZSB0
aGlzIGluIE1BSU5UQUlORVJTIGFzIGZvbGxvd3M6DQo+DQo+ICogUmVmaW5lIHRoZSB3b3JkaW5n
IG9mIHJlcXVpcmVtZW50ICMyIGluIHRoZSBjaGVjay1pbiBwb2xpY3k7IHN1Y2gNCj4gdGhhdCAq
ZWFjaCBjaGFuZ2UqIG11c3QgaGF2ZSBhcHByb3ZhbCBmcm9tIHNvbWVvbmUgb3RoZXIgdGhhbiAq
dGhlDQo+IHBlcnNvbiB3aG8gd3JvdGUgaXQqLg0KPg0KPiAqIEFkZCBhIHBhcmFncmFwaCBleHBs
aWNpdGx5IHN0YXRpbmcgdGhhdCB0aGUgbXVsdGlwbGUtU29CLWFwcHJvdmFsDQo+ICAgc3lzdGVt
IHNhdGlzZmllcyB0aGUgcmVxdWlyZW1lbnRzLCBhbmQgd2h5Lg0KPg0KPiBTaWduZWQtb2ZmLWJ5
OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNsb3VkLmNvbT4NCg0KQWNrZWQtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo=


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 12:20:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 12:20:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457094.714927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3FtT-0007aI-HD; Thu, 08 Dec 2022 12:20:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457094.714927; Thu, 08 Dec 2022 12:20:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3FtT-0007aB-D3; Thu, 08 Dec 2022 12:20:51 +0000
Received: by outflank-mailman (input) for mailman id 457094;
 Thu, 08 Dec 2022 12:20:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vAIj=4G=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p3FtR-0007a5-Uw
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 12:20:50 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf8f7f82-76f2-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 13:20:48 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id d14so1807114edj.11
 for <xen-devel@lists.xenproject.org>; Thu, 08 Dec 2022 04:20:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf8f7f82-76f2-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=V0qMOO401inG15fcbCoSr7Hv1Bgv5a1jfj7g5lS+NQ4=;
        b=YzTwmTmdF8/sIcFlYI7YumSzlINKgdzUQdj/iv7j8Q7W7Qp0GqmmKKZlW1Vq7ZV7HS
         JPtPhzCOQvjVwkPS51RpRqZSuIevY3goexmH4e8Oh+1FibYmGG9x+1ngpeWqZog60BKB
         jvOA2WiD6LJqHIN8Ok5sT2Xzhf7ocbhDPg0Bg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=V0qMOO401inG15fcbCoSr7Hv1Bgv5a1jfj7g5lS+NQ4=;
        b=JGQo+hkWuTdJYViujzroytdJP4KoinVAfcZ35DytLt2mE94XoCGOeKYbxKWsUKplHP
         3t+TH2uTfA0v//s6chqnxEcXCr3iEVsJ/MURT52uaG8LkTBlob/xJfUcKcIxhgF8elfS
         fE78nwpubktJUu6pGf7jWBYZIIyjUX756avP9OrjBmyvCMySEc9FFHtrs8tNMeoDa+/g
         rdFdSMZ+nBelHgQbFlt31sXc/NZGpv3t7M7wKkh32Tl1JEiT5SWXb2IL7t2OpjJbBnEI
         O0gpFA8Kc0KismMSn4O5/r0EjRtUvprJWQ9zdlwLhVGGur464V2TIwpjf+jrAUwlRrOP
         L3Bw==
X-Gm-Message-State: ANoB5plfQ8lrP46kht0ynNgau5m2cW/5SJ2YR8nc4v5GdeHaDqmk2j/w
	4ZYQ9JU6NJagCVIqcDIDkRmr6gcrcqylMxH6yL3fWg==
X-Google-Smtp-Source: AA0mqf5kHWxsixqnUdLtw3oiZGZbumWN1C7mQPmY+urHlPZk+bpN0tuAK2KbikCDWL3PpyR7p7Gr+MUyZ6/FuPiScFA=
X-Received: by 2002:a05:6402:3789:b0:467:7664:c7f4 with SMTP id
 et9-20020a056402378900b004677664c7f4mr4127911edb.99.1670502048241; Thu, 08
 Dec 2022 04:20:48 -0800 (PST)
MIME-Version: 1.0
References: <20221208104924.76637-1-george.dunlap@cloud.com> <2650908d-ce90-3e11-a267-8ed4328d0ec5@citrix.com>
In-Reply-To: <2650908d-ce90-3e11-a267-8ed4328d0ec5@citrix.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Thu, 8 Dec 2022 12:20:37 +0000
Message-ID: <CA+zSX=b_29u8H0EWji+ydTxZoWeySYEchPL5YKfK2Z-2VqpHFg@mail.gmail.com>
Subject: Re: [PATCH] MAINTAINERS: Clarify check-in requirements for
 mixed-author patches
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Content-Type: multipart/alternative; boundary="0000000000002eb13d05ef501101"

--0000000000002eb13d05ef501101
Content-Type: text/plain; charset="UTF-8"

On Thu, Dec 8, 2022 at 12:02 PM Andrew Cooper <Andrew.Cooper3@citrix.com>
wrote:

> On 08/12/2022 10:49, George Dunlap wrote:
> > Concerns were raised about two maintainers from the same company
> > colluding to get a patch in from their company; but such maintainers
> > could already collude, by working on the patch in secret, and posting
> > it publicly with only a single author's SoB, and having the other
> > person review it.
>
> I know this was how the concern was voices, but it was fairly bogus even
> as stated.  "same company" or not has no bearing at all on two
> maintainers choosing to collude in secret.
>
> The mitigation to all of this is the fact that being a maintainer starts
> from having gained trust / reputation in the community, and comes with
> the responsibility to not violate that trust.  Furthermore, there are
> mechanisms in place to deal with issues around said trust being violated.
>

Right; this sort of "factionalism" might arise due to the shared
perspective of being at the same company; but it might just as well arise
from something else.  For instance, you could imagine pro-"server"
maintainers at different companies colluding to get a patch in that they
knew was objected to by the part of the community focused on embedded; or
pro-"automotive" maintainers at different companies colluding to get a
patch in that was objected to by the part of the community focusing on
"true embedded" use cases.

Each of these hypothetical cases are covered by requirements #3 and #4:
that "sufficient time" must be given to respond, and that there be no open
objections.  We have mechanisms in place to address whether such
requirements were violated.

If you think it's important to have that in the commit message, I can try
to re-send it with words to that effect.  Personally I think it's fine as
it is.


> > Signed-off-by: George Dunlap <george.dunlap@cloud.com>
>
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
>

Thanks.
 -George

--0000000000002eb13d05ef501101
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Thu, Dec 8, 2022 at 12:02 PM Andre=
w Cooper &lt;<a href=3D"mailto:Andrew.Cooper3@citrix.com">Andrew.Cooper3@ci=
trix.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D=
"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-le=
ft:1ex">On 08/12/2022 10:49, George Dunlap wrote:<br>
&gt; Concerns were raised about two maintainers from the same company<br>
&gt; colluding to get a patch in from their company; but such maintainers<b=
r>
&gt; could already collude, by working on the patch in secret, and posting<=
br>
&gt; it publicly with only a single author&#39;s SoB, and having the other<=
br>
&gt; person review it.<br>
<br>
I know this was how the concern was voices, but it was fairly bogus even<br=
>
as stated.=C2=A0 &quot;same company&quot; or not has no bearing at all on t=
wo<br>
maintainers choosing to collude in secret.<br>
<br>
The mitigation to all of this is the fact that being a maintainer starts<br=
>
from having gained trust / reputation in the community, and comes with<br>
the responsibility to not violate that trust.=C2=A0 Furthermore, there are<=
br>
mechanisms in place to deal with issues around said trust being violated.<b=
r></blockquote><div><br></div><div>Right; this sort of &quot;factionalism&q=
uot; might arise due to the shared perspective of being at the same company=
; but it might just as well arise from something else.=C2=A0 For instance, =
you could imagine pro-&quot;server&quot; maintainers at different companies=
 colluding to get a patch in that they knew was objected to by the part of =
the community focused on embedded; or pro-&quot;automotive&quot; maintainer=
s at different companies colluding to get a patch in that was objected to b=
y the part of the community focusing on &quot;true embedded&quot; use cases=
.</div><div><br></div><div>Each of these hypothetical cases are covered by =
requirements #3 and #4: that &quot;sufficient time&quot; must be given to r=
espond, and that there be no open objections.=C2=A0 We have mechanisms in p=
lace to address whether such requirements were violated.</div><div><br></di=
v><div>If you think it&#39;s important to have that in the commit message, =
I can try to re-send it with words to that effect.=C2=A0 Personally I think=
 it&#39;s fine as it is.</div><div>=C2=A0</div><blockquote class=3D"gmail_q=
uote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,2=
04);padding-left:1ex">
&gt; Signed-off-by: George Dunlap &lt;<a href=3D"mailto:george.dunlap@cloud=
.com" target=3D"_blank">george.dunlap@cloud.com</a>&gt;<br>
<br>
Acked-by: Andrew Cooper &lt;<a href=3D"mailto:andrew.cooper3@citrix.com" ta=
rget=3D"_blank">andrew.cooper3@citrix.com</a>&gt;<br></blockquote><div><br>=
</div><div>Thanks.</div><div>=C2=A0-George=C2=A0</div></div></div>

--0000000000002eb13d05ef501101--


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 12:50:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 12:50:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457101.714938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3GLQ-0002Ta-Nw; Thu, 08 Dec 2022 12:49:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457101.714938; Thu, 08 Dec 2022 12:49:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3GLQ-0002TT-L2; Thu, 08 Dec 2022 12:49:44 +0000
Received: by outflank-mailman (input) for mailman id 457101;
 Thu, 08 Dec 2022 12:49:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YEW2=4G=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p3GLP-0002TN-58
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 12:49:43 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20628.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c0756fe9-76f6-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 13:49:29 +0100 (CET)
Received: from BLAPR05CA0030.namprd05.prod.outlook.com (2603:10b6:208:335::11)
 by MN0PR12MB6270.namprd12.prod.outlook.com (2603:10b6:208:3c2::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.16; Thu, 8 Dec
 2022 12:49:35 +0000
Received: from BL02EPF0000C407.namprd05.prod.outlook.com
 (2603:10b6:208:335:cafe::94) by BLAPR05CA0030.outlook.office365.com
 (2603:10b6:208:335::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5901.8 via Frontend
 Transport; Thu, 8 Dec 2022 12:49:35 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF0000C407.mail.protection.outlook.com (10.167.241.9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5880.8 via Frontend Transport; Thu, 8 Dec 2022 12:49:34 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 8 Dec
 2022 06:49:34 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 8 Dec
 2022 06:49:33 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 8 Dec 2022 06:49:32 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0756fe9-76f6-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZfL94OnihEgyPsEOv8EAH8ueSAy9i96vBvCG1jAfdZTp7m/Ol/r2hhCkgAGRHuKBPMrSbb/JIr+dHgnLJX2uk05KtC1ACIKsXUEC8ZDXc0dwX5hDMQqWI0jF7pJThU06BGIh+JvgjE4aqKtaLoupAsC3v28n+kx0FBAsxdNHPp1KdRMFElhZO1wfJWAFZkNh7LuSn3A89p4BEgpLokK3l+EKrLD/rw2VgRNnLyZ2TMpW7hCxNxn6105uH6jOWjPKfMStX93EhItBoqXtQZO5Ry6bu6Pj/DXA8ZA6je6vXRp0TJct4rrEALDkFXBCXObx//S4pCkLy9Wg6XvquywL6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yenTeUt+rF7YHoERmpJx6GV+EruBzgUxZO07mi3amQ8=;
 b=Y9/sORJ/ZnhyGY1WFcZoVzAlJgRKD6LYXQTFKiBEo7o0l0Wy1ZVQF3m44TfPhkeyiITCZ+u76iCbugyMXCF3JaPWggjTYWfe1je83REoyxNbToSfDDJBNNeuJb8xdFJoudeWI4+n8HKpujgtfL2PSQTDmnWQTZfNcJalDRFYvdSeTzYVZpUlooZ28TEyx4T634yYvxt6H/Qoia+ZponYFe22AQXEV73z1V7umbLWX2S07YEB4jVOl72iXDlOcFGfQKUIC+eO+zupOUo/yL+0bk4T28IdH7A9hSaOrIRuWg5UQOVKpedNwUHv2pcRq5udfcjsO1v632SbaW3b629YTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yenTeUt+rF7YHoERmpJx6GV+EruBzgUxZO07mi3amQ8=;
 b=aziHvksLqJaJPgeEgv918+qB0N5fTIxVc7wu1+ounFWujE31zB0ey49BnxHEMjLwPnj3F6GD/KBMbYMlQjdlCDFbxe7GYwJFKIVVWofwL8O2UVs3zBhM5EljsBKdL1e/5YnbvTRUTu0M4LS5DjUx1vWWkvFATSCNoZQ1s6RTliQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [XEN v1] xen/Arm: Probe the entry point address of an uImage correctly
Date: Thu, 8 Dec 2022 12:49:29 +0000
Message-ID: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0000C407:EE_|MN0PR12MB6270:EE_
X-MS-Office365-Filtering-Correlation-Id: 0737bf81-5ed0-40a2-7671-08dad91aa875
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	td+CbEK8ItqFZLXs+6n7cj6UynpwECUvhfT3Z27U6M3RqXEBtz/Ntis9GRk6DcPM/eoW3wQiJoDCNRtIRuLbmCTwdWKFz8ABytRzWBtZGfO6eLcyCKlecZDep7xIZ9+/v9Hql9n6XT+lLZYGlc6b2QS+XRzz06Aa2MTEjvgbEAdLjwDOi6LsqL+CHcVgHgcXSuYyRLOxEisQYDjW4C12iI7/AstFE1dg/51DwzypH/j4jrwXTeV0nFxr+KaiQl2jAaypWhWUGsqLCxb8+t+qeKq+WP4w91cYTIIvjeAnjAhPUPoyVMlMl2/pzKRwaICERFOJtwhzfoiRV7xNTy4E9J4n079AQ38NroIXd/aDgGPn6VPJR3MfT+ShznbBxzdLP4bx9i94HyBAC6XLZMpVFQQmNsOdFG+dc9dbcYPj2d22hAUcdqL49nZiUuwn4ZUJl5h1H/FqaZ2XYrTCrJs0EfX5fiLlL4C6Nn6IRBfGOnkm70OE7zEOfVZvbLNuJfyQsTyJl+fX6JgFYoNkHQUC1LBEFAf1aeOYP2r7I45PxDOB1pakmJpPrJ6eLixx7JXtBAMPx5Dg2s/vxvqZZVfeGIDts6ecAl2OYWxnXSOyvfx9MMDbLf63SswqbvzIUHz4EsfgmT+WcMV7vmSuOuXKvtPTQ3dAzRtG+2VUFgHq7hvItpF7jWKGhfw5Pf65N99K6x01LEFOeKa7py5/jeZDUD8XCNifEWW6f2zwBhhQy5w=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(376002)(39860400002)(396003)(451199015)(36840700001)(46966006)(40470700004)(6666004)(478600001)(26005)(40480700001)(316002)(6916009)(70586007)(70206006)(4326008)(54906003)(8676002)(8936002)(47076005)(426003)(82740400003)(356005)(81166007)(41300700001)(2616005)(5660300002)(86362001)(186003)(103116003)(336012)(1076003)(2906002)(36756003)(36860700001)(82310400005)(40460700003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 12:49:34.4368
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0737bf81-5ed0-40a2-7671-08dad91aa875
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0000C407.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6270

Currently, kernel_uimage_probe() does not set info->zimage.start. As a
result, it contains the default value (ie 0). This causes,
kernel_zimage_place() to treat the binary (contained within uImage) as
position independent executable. Thus, it loads it at an incorrect address.

The correct approach would be to read "uimage.ep" and set
info->zimage.start. This will ensure that the binary is loaded at the
correct address.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---

I uncovered this issue while loading Zephyr as a dom0less domU with Xen on
R52 FVP. Zephyr builds with static device tree. Thus, the load address is
always fixed.

 xen/arch/arm/kernel.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 2556a45c38..e4e8c67669 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -222,6 +222,8 @@ static int __init kernel_uimage_probe(struct kernel_info *info,
     if ( len > size - sizeof(uimage) )
         return -EINVAL;
 
+    info->zimage.start = be32_to_cpu(uimage.ep);
+
     info->zimage.kernel_addr = addr + sizeof(uimage);
     info->zimage.len = len;
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 08 13:04:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 13:04:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457110.714949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3GZz-0005QD-6y; Thu, 08 Dec 2022 13:04:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457110.714949; Thu, 08 Dec 2022 13:04:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3GZz-0005Q6-2Q; Thu, 08 Dec 2022 13:04:47 +0000
Received: by outflank-mailman (input) for mailman id 457110;
 Thu, 08 Dec 2022 13:04:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LvCk=4G=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p3GZx-0005Pz-4b
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 13:04:45 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2071.outbound.protection.outlook.com [40.107.7.71])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dc1845d9-76f8-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 14:04:33 +0100 (CET)
Received: from AS9P251CA0023.EURP251.PROD.OUTLOOK.COM (2603:10a6:20b:50f::19)
 by AM8PR08MB6532.eurprd08.prod.outlook.com (2603:10a6:20b:316::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 13:04:15 +0000
Received: from VI1EUR03FT034.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:50f:cafe::2c) by AS9P251CA0023.outlook.office365.com
 (2603:10a6:20b:50f::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Thu, 8 Dec 2022 13:04:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT034.mail.protection.outlook.com (100.127.144.165) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.14 via Frontend Transport; Thu, 8 Dec 2022 13:04:14 +0000
Received: ("Tessian outbound 0800d254cb3b:v130");
 Thu, 08 Dec 2022 13:04:14 +0000
Received: from 235a17340a59.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 00294B10-6E7D-4DB6-BE9B-30928EEC5D4A.1; 
 Thu, 08 Dec 2022 13:04:07 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 235a17340a59.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 08 Dec 2022 13:04:07 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by GV2PR08MB8169.eurprd08.prod.outlook.com (2603:10a6:150:78::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 13:04:02 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 13:04:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc1845d9-76f8-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8GvbttyS3pbC5Lw1ZTCP3RpWdU6wZIaPUwK9bocah2k=;
 b=78wkcRAXhEcWYQ7Kaq8rX5MqZYl4ZhSgc7ZQrcznPhKq2nvifH74NjlEbHxSC6uzI+WgLd4BY7ZK8fInuoLdC3OCRSn4uhig95319DZDYqEpmaK9lLe4rTlkdoDv96TvgGLPTNT5+/53OqqscG1CjTRRjQkZKf5NSlh701yfEcc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: bd3efb3fbb81cbcc
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OuSvLLrMNpH0+dEdBwn/bsAOZXjiZ6sNfxAFck/V/xSQ05YBLV47A3YDEYIMjMMkL2Q2C5Yugx+MkOdHRIv3fyiCNXCp6gYxnHgffaTBmNTSEh58NBO4FtOBC+JcTFulsfilFmmhIx4pgZ+HZ6ucakLNXSO+/oYQK/jlL93vUkBdAXGHIMqkLvGjQfuxgThYmDUlUSKMfMLRLfjMAPz/o2h5gadRTHc+9lpen+yiXs+43le1AOcYbllyEQpXcym2CYGb8iYrfRfA4Ni+BtP2o43HFNZD2Iz3p6ezJniS8peqTm6kBWYYzJ2YVc2VqvMnE97MTYxRHadhz2tzKyxxNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8GvbttyS3pbC5Lw1ZTCP3RpWdU6wZIaPUwK9bocah2k=;
 b=lZAGvGf6WobK5Tck3URLsvoomA6oDgTZzIX0TS8ErgakLgBH2+CZB1thDvIZAO39QRTQsK9UkjTRXg21aX2nRWzVuqM/BYrCmXTFyrGOseZJmlfkvPkbAXH0Fu3WKWZViWeuMBXRfEHUN+aKRg1F7V9RzXD7+YdETqesyp5AU7IEzXHtFn6tu+z1V0iJCSoQ2MpqBBdkhT02LC/XDQkTqWHbOg51x7fXk0+SbEqcgSOJgBxyJ42lb3CT40fKUk9h8S67XQ4Ovx9lEIthwSfew/5Pp5Qs5c1pjlIaxoTDF3mywfdeCEa7bVz6URv9jdwzXB6aE6+xxZrqEqxRGLE03A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8GvbttyS3pbC5Lw1ZTCP3RpWdU6wZIaPUwK9bocah2k=;
 b=78wkcRAXhEcWYQ7Kaq8rX5MqZYl4ZhSgc7ZQrcznPhKq2nvifH74NjlEbHxSC6uzI+WgLd4BY7ZK8fInuoLdC3OCRSn4uhig95319DZDYqEpmaK9lLe4rTlkdoDv96TvgGLPTNT5+/53OqqscG1CjTRRjQkZKf5NSlh701yfEcc=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: sisyphean <sisyphean@zlw.email>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [BUG]SMMU-V3 queue need no-cache memory
Thread-Topic: [BUG]SMMU-V3 queue need no-cache memory
Thread-Index: AQHZCfprdLwUdaBZYka2kYynmoAiD65iOCsAgAAelICAAaBWAA==
Date: Thu, 8 Dec 2022 13:04:02 +0000
Message-ID: <A1DD6AE5-7AB0-4843-BB9F-3CA1F8277ADF@arm.com>
References: <e1e0e347-6530-7b68-92f7-ef52defa55ac@zlw.email>
 <75D89B2C-BBE4-419A-80B7-FEE39445ABB2@arm.com>
 <fe0f90fa-84aa-54b2-1e12-98baff7fcaf7@xen.org>
In-Reply-To: <fe0f90fa-84aa-54b2-1e12-98baff7fcaf7@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7158:EE_|GV2PR08MB8169:EE_|VI1EUR03FT034:EE_|AM8PR08MB6532:EE_
X-MS-Office365-Filtering-Correlation-Id: dd4fc915-3101-4f6a-ada3-08dad91cb513
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 fKc+yA/Tbe9F+kmikVhwOjZXw0QSrLDoe57q+hz+8fXMLNRCEQEQbe5e+BTsmSw+HGoEqHmYh8GyRC675VdZvdKZNzdo/k18hzYaVMldJt4tXqTVQZfRxRCliVmskkNSf3hz3QFqSFXHuTYLlJuokUZqBHlKEm6zCEISUa02RH6p2ayOE/m4REu/OrQpR8bBplRzoql0473hDxK5p3eZrQldoLxHYW7YkPszxLRRLu09B0nLZxic/TbNF5vUzWAH4bpyKb6csaGYT9qudsgJvTqyF+2rVLg7cDMLYq+gxK5fmDubjoWs1nldwyxAm4+zplFvso4+tYupQTse+qRjoPnCEOAzZ1LrczwFSq/qFRtzkTxFS55/xLhm2jn4DwrQylIf9ne8AXuGeECZzJcGZvlsqSR7VoVFyjr3UBlXamL8bcEk+nRlyOYowaArl5BivystiONiyAch1zhmDr6yUW0/GX1rToh7hTnFH+Fx3F5Q/p1OIGVb82bA/cFoBUj+4QhRNRriuxpA3uqYOEwmghA7ac+fbwEUSe3wxxiA/scD0mQtiU7kFXGVwS7jddrNgXty4s7B6E+S1gvEqcfdAYaYl82aEyu0XlSmtFZGMPmZN74OzqcKdwq3IwEeh7He5yRtgZc4va7CTZU6BNnnTSHI3IHW5Ag+M/QidFBj/PC5CBPMD6cwXcQXNuPiHu7ZULCyTc1QY2bLPLOYpV5l8MqaVqRUy1c82RWS6L/AiXY=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(39860400002)(346002)(396003)(366004)(451199015)(36756003)(33656002)(38070700005)(38100700002)(122000001)(5660300002)(8936002)(86362001)(53546011)(71200400001)(6486002)(54906003)(6916009)(76116006)(83380400001)(6506007)(478600001)(6512007)(66946007)(8676002)(91956017)(66476007)(41300700001)(66446008)(66556008)(4326008)(64756008)(2616005)(316002)(26005)(186003)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <F95A7EF29F595948A2698063A37725EF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8169
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VI1EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6d3b79f2-0a52-42db-3043-08dad91cae05
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BbX4lUWJ3C2W9OIIjaDHPRUizfQGxw8y32YzGiUNVnosxK2bgKsr2kGv53YGyvtx8Comc3Eyyyvt9Ur3cqKgZa9GPMpYRIsSlwRZWNYLyGrv6VpZvqyStOK6TViu54Ah6elniabIR6WC97SGxGYvlgWTTpQmLNX8UJc3l/cezXbHx48RUSWccY4RJxeAWUsDLiVvgNxTUudgMqmnQniXgL0bFt5Vlc07/jA1D5Lsyt09IfarTdxPnNfj03ufchr2yFiZaiy/3n/BnyxF9nhswd3LagQXMxajYs1WuAPjAzmr/3sdjGjKVICSB2pkH7Ni60gzT7Y0SsnM3v4tkwURypjA7q7ZCEVFUbRH9Tkv4w/wEnyPBSoSzT8PwenNtJuLuxT3HNxBKiMUlqU9hzHFSLMYLodzXm6rLTU/WPxj1HJDlx4hA/ZvDt9BA4jrom27ngGaXic5Vknwt/DUS7Eal0c9H1Dhg3VJyEoDdSJGHdMQClHmbqvXMCJ7GQJ2r5slJsJ+1kjc765LZFCQQX1V+Mh/TbQ6EhkEDBE5FhxyankxORdsuIpxW0xLh5hBNchsHGs2OA2oL1DXYwRrvTBnPL1OXKXPUeQTwP2JeIzIFQfQqxdNTMTO1IwxnOIpaa23aHINaD3M8FMDqLaELTz8Or6vmm9WAzDEjd82vSfkIMdp5AjfgHkixdwxJSncgXiO4jO8G2KTmywWmciM4MRsFw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(376002)(346002)(136003)(451199015)(36840700001)(46966006)(40470700004)(6512007)(81166007)(53546011)(356005)(6506007)(26005)(36756003)(2906002)(86362001)(6486002)(478600001)(33656002)(40460700003)(83380400001)(82310400005)(36860700001)(82740400003)(47076005)(107886003)(336012)(186003)(2616005)(8676002)(70206006)(8936002)(70586007)(4326008)(41300700001)(40480700001)(6862004)(5660300002)(54906003)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 13:04:14.5530
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dd4fc915-3101-4f6a-ada3-08dad91cb513
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VI1EUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6532

SGkgSnVsaWVuLA0KDQo+IE9uIDcgRGVjIDIwMjIsIGF0IDEyOjEzIHBtLCBKdWxpZW4gR3JhbGwg
PGp1bGllbkB4ZW4ub3JnPiB3cm90ZToNCj4gDQo+IEhpLA0KPiANCj4gSSBvbmx5IG5vdGljZWQg
dGhpcyBlLW1haWwgYmVjYXVzZSBJIHdhcyBza2ltbWluZyB4ZW4tZGV2ZWwuIElmIHlvdSB3YW50
IHRvIGdldCBvdXIgYXR0ZW50aW9uLCB0aGVuIEkgd291bGQgc3VnZ2VzdCB0byBDQyBib3RoIG9m
IHVzIGJlY2F1c2UgSSAoYW5kIEkgZ3Vlc3MgU3RlZmFubykgaGF2ZSBmaWx0ZXIgcnVsZXMgc28g
dGhvc2UgZS1tYWlscyBsYW5kIGRpcmVjdGx5IGluIG15IGluYm94Lg0KPiANCj4gT24gMDcvMTIv
MjAyMiAxMDoyNCwgUmFodWwgU2luZ2ggd3JvdGU6DQo+Pj4gT24gNyBEZWMgMjAyMiwgYXQgMjow
NCBhbSwgc2lzeXBoZWFuIDxzaXN5cGhlYW5Aemx3LmVtYWlsPiB3cm90ZToNCj4+PiANCj4+PiBI
aSwNCj4+PiANCj4+PiAgICAgSSB0cnkgdG8gcnVuIFhFTiBvbiBteSBBUk0gYm9hcmQoU29ycnks
IGZvciBzb21lIGNvbW1lcmNpYWwgcmVhc29ucywgSSBjYW4ndCB0ZWxsIHlvdQ0KPj4+ICAgICBv
biB3aGljaCBwbGF0Zm9ybSBJIHJ1biBYRU4pICBhbmQgZW5hYmxlIFNNTVUtVjMsIGJ1dCBhbGwg
Y21kcyBpbiBjbWRxIGZhaWxlZCB3aGVuIFhFTiBzdGFydGVkLg0KPj4+IA0KPj4+ICAgICBBZnRl
ciB1c2luZyB0aGUgZGVidWdnZXIgdG8gdHJhY2sgZGVidWdnaW5nLCB0aGUgcmVhc29uIGZvciB0
aGlzIHByb2JsZW0gaXMgdGhhdA0KPj4+ICAgICB0aGUgcXVldWUgaW4gdGhlIHNtbXUtdjMgZHJp
dmVyIGlzIG5vdCBuby1jYWNoZSwgc28gYWZ0ZXIgdGhlIGZ1bmN0aW9uIGFybV9zbW11X2NtZHFf
YnVpbGRfY21kDQo+Pj4gICAgIGlzIGV4ZWN1dGVkLCB0aGUgY21kIGlzIHN0aWxsIGluIGNhY2hl
LlRoZXJlZm9yZSwgdGhlIFNNTVUtVjMgaGFyZHdhcmUgY2Fubm90IG9idGFpbiB0aGUgY29ycmVj
dCBjbWQNCj4+PiAgICAgZnJvbSB0aGUgbWVtb3J5IGZvciBleGVjdXRpb24uDQo+PiBZZXMgeW91
IGFyZSByaWdodCBhcyBvZiBub3cgd2UgYXJlIGFsbG9jYXRpbmcgdGhlIG1lbW9yeSBmb3IgY21k
cXVldWUgdmlhIF94emFsbG9jKCkgd2hpY2ggaXMgY2FjaGVkDQo+PiBtZW1vcnkgYmVjYXVzZSBv
ZiB0aGF0IHlvdSBhcmUgb2JzZXJ2aW5nIHRoZSBpc3N1ZS4gV2UgaGF2ZSB0ZXN0ZWQgdGhlIFhl
biBTTU1VdjMgZHJpdmVyIG9uIFNPQw0KPj4gd2hlcmUgU01NVXYzIEhXIGlzIGluIHRoZSBjb2hl
cmVuY3kgZG9tYWluLCBhbmQgYmVjYXVzZSBvZiB0aGF0IHdlIGhhdmUgbm90IGVuY291bnRlcmVk
IHRoaXMgaXNzdWUuDQo+PiBJIHRoaW5rIEluIHlvdXIgY2FzZSBTTU1VdjMgSFcgaXMgbm90IGlu
IHRoZSBjb2hlcmVuY3kgZG9tYWluLiBQbGVhc2UgY29uZmlybSBmcm9tIHlvdXIgc2lkZSBpZiB0
aGUNCj4+ICJkbWEtY29oZXJlbnTigJ0gcHJvcGVydHkgaXMgbm90IHNldCBpbiBEVC4NCj4+IEkg
dGhpbmsgdGhlcmUgaXMgbm8gZnVuY3Rpb24gYXZhaWxhYmxlIGFzIG9mIG5vdyB0byByZXF1ZXN0
IFhlbiB0byBhbGxvY2F0ZSBtZW1vcnkgdGhhdCBpcyBub3QgY2FjaGVkLg0KPiANCj4gWW91IGFy
ZSBjb3JyZWN0Lg0KPiANCj4+IEBKdWxpZW4gYW5kIEBTdGVmYW5vIGRvIHlvdSBoYXZlIGFueSBz
dWdnZXN0aW9uIG9uIGhvdyB3ZSBjYW4gcmVxdWVzdCBtZW1vcnkgZnJvbSBYZW4gdGhhdCBpcyBu
b3QNCj4+IGNhY2hlZCBzb21ldGhpbmcgbGlrZSBkbWFfYWxsb2NfY29oZXJlbnQoKSBpbiBMaW51
eC4NCj4gDQo+IEF0IHRoZSBtb21lbnQgYWxsIHRoZSBSQU0gaXMgbWFwcGVkIGNhY2hlYWJsZSBp
biBYZW4uIFNvIGl0IHdpbGwgcmVxdWlyZSBzb21lIHdvcmsgdG8gaGF2ZSBzb21lIG1lbW9yeSB1
bmNhY2hlYWJsZS4NCj4gDQo+IFRoZXJlIGFyZSB0d28gb3B0aW9uczoNCj4gMSkgQWxsb2NhdGUg
YSBwb29sIG9mIG1lbW9yeSBhdCBib290IHRpbWUgdGhhdCB3aWxsIGJlIG1hcHBlZCB3aXRoIGRp
ZmZlcmVudCBtZW1vcnkgYXR0cmlidXRlLiBUaGlzIG1lYW5zIHdlIHdvdWxkIG5lZWQgYSBzZXBh
cmF0ZSBwb29sIGFuZCB0aGUgdXNlciB3aWxsIGhhdmUgdG8gc2l6ZSBpdC4NCj4gMikgTW9kaWZ5
IGFmdGVyIHRoZSBhbGxvY2F0aW9uIHRoZSBjYWNoaW5nIGF0dHJpYnV0ZSBpbiB0aGUgbWVtb3J5
IGFuZCB0aGVuIHJldmVydCBiYWNrIGFmdGVyIGZyZWVpbmcuIFRoZSBjb25zIGlzIHdlIHdvdWxk
IGVuZCB1cCB0byBzaGF0dGVyIHN1cGVycGFnZS4gV2UgYWxzbyBjYW4ndCByZS1jcmVhdGUgc3Vw
ZXJwYWdlICh5ZXQpLCBidXQgdGhhdCBtaWdodCBiZSBmaW5lIGlmIHRoZSBtZW1vcnkgaXMgbmV2
ZXIgZnJlZWQuDQo+IA0KPiBPcHRpb24gdHdvIHdvdWxkIHByb2JhYmx5IHRoZSBiZXN0LiBCdXQg
YmVmb3JlIGdvaW5nIHRoYXQgcm91dGUgSSBoYXZlIG9uZSBxdWVzdGlvbi4uLg0KPiANCj4gPiBU
aGUgdGVtcG9yYXJ5IHNvbHV0aW9uIEkgdXNlIGlzIHRvIGV4ZWN1dGUgZnVuY3Rpb24gY2xlYW5f
ZGNhY2hlIGV2ZXJ5DQo+ID4gdGltZSBjbWQgaXMgY29waWVkIHRvIGNtZHEgaW4gZnVuY3Rpb24g
cXVldWVfd3JpdGUuIEJ1dCBpdCBpcyBvYnZpb3VzDQo+ID4gdGhhdCB0aGlzIHdpbGwgc2VyaW91
c2x5IGFmZmVjdCB0aGUgZWZmaWNpZW5jeS4NCj4gDQo+IEkgYWdyZWUgeW91IHdpbGwgc2VlIHNv
bWUgcGVyZm9ybWFuY2UgaW1wYWN0IGluIG1pY3JvLWJlbmNobWFyay4gQnV0IEkgYW0gbm90IHN1
cmUgYWJvdXQgbm9ybWFsIHVzZS1jYXNlcy4gSG93IG9mdGVuIGRvIHlvdSBleHBlY3QgdGhlIGNv
bW1hbmQgcXVldWUgdG8gYmUgdXNlZD8NCg0KVG8gYmUgcHJlY2lzZSBjb21tYW5kIHF1ZXVlIHdp
bGwgYmUgdXNlZCB3aGVuDQogLSBTZXQgdXAgdGhlIHN0YWdlLTIgdHJhbnNsYXRpb24gd2hlbiB3
ZSBhc3NpZ25lZCB0aGUgZGV2aWNlcyB0byBndWVzdHMuIFRoaXMgaGFwcGVucyB0eXBpY2FsbHkg
ZG9tMCBib290IGFuZCBkb21VIGNyZWF0aW9uLiANCiAtIFdoZW4gdGhlcmUgaXMgYSBjYWxsIHRv
IGlvbW11X2lvdGxiX2ZsdXNoKCkgdGhhdCB3aWxsIGNhbGwgSU9NTVUgc3BlY2lmaWMgaW90bGJf
Zmx1c2guIFNNTXV2MyBkcml2ZXIgd2lsbCBzZW5kIHRoZSBjb21tYW5kIHRvDQogICBTTU1VdjMg
SFcgdG8gaW52YWxpZGF0ZSB0aGUgZW50cmllcy4NCiAgDQpSZWdhcmRzLA0KUmFodWwNCj4gDQo+
IEFsc28sIEkgYW0gYSBiaXQgc3VycHJpc2VkIHlvdSBhcmUgc2VpbmcgaXNzdWUgd2l0aCB0aGUg
Y29tbWFuZCBxdWV1ZSBidXQgbm90IHdpdGggdGhlIHN0YWdlLTIgcGFnZS10YWJsZXMuIERvZXMg
eW91ciBTTU1VIHN1cHBvcnQgY29oZXJlbnQgd2FsayBidXQgY2Fubm90IHNub29wIGZvciB0aGUg
Y29tbWFuZCBxdWV1ZT8NCj4gDQo+IENoZWVycywNCj4gDQo+IC0tIA0KPiBKdWxpZW4gR3JhbGwN
Cj4gDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 13:22:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 13:22:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457118.714959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3GqZ-000857-L6; Thu, 08 Dec 2022 13:21:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457118.714959; Thu, 08 Dec 2022 13:21:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3GqZ-000850-IX; Thu, 08 Dec 2022 13:21:55 +0000
Received: by outflank-mailman (input) for mailman id 457118;
 Thu, 08 Dec 2022 13:21:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p3GqY-00084u-Tt
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 13:21:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3GqR-0000vl-MH; Thu, 08 Dec 2022 13:21:47 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.4.36])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3GqR-000075-FL; Thu, 08 Dec 2022 13:21:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=BOH5UyH+Ey+SP+vvornb2c+zFnpZZx3c8+WOh4nlm80=; b=4WRh4EPwmklcx6q23woZkySjvT
	Q26dsJ1VaFy+NWVnpVpi5m3TfyIWcjpr1ksVsDqt+CL0Am32XGgSeC2FXDmgcMSCTFbj9ZtcpzWYB
	rv6isyT+L1Foc3Pg7RLaUuE7KVXcS9Wn8UqcSPZHTgT0GG425iP4HNWI9R7Y7h62DleA=;
Message-ID: <a1e24b88-1c23-8462-9553-8cc6b14a4a16@xen.org>
Date: Thu, 8 Dec 2022 13:21:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [BUG]SMMU-V3 queue need no-cache memory
Content-Language: en-US
To: sisyphean <sisyphean@zlw.email>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Rahul Singh <Rahul.Singh@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e1e0e347-6530-7b68-92f7-ef52defa55ac@zlw.email>
 <75D89B2C-BBE4-419A-80B7-FEE39445ABB2@arm.com>
 <fe0f90fa-84aa-54b2-1e12-98baff7fcaf7@xen.org>
 <alpine.DEB.2.22.394.2212071418570.4039@ubuntu-linux-20-04-desktop>
 <e42045c9-9f0e-9a2a-94ac-077d33534e88@zlw.email>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e42045c9-9f0e-9a2a-94ac-077d33534e88@zlw.email>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 08/12/2022 03:22, sisyphean wrote:
> 在 2022/12/8 06:22, Stefano Stabellini 写道:
> 
>> On Wed, 7 Dec 2022, Julien Grall wrote:
>>> Hi,
>>>
>>> I only noticed this e-mail because I was skimming xen-devel. If you 
>>> want to
>>> get our attention, then I would suggest to CC both of us because I 
>>> (and I
>>> guess Stefano) have filter rules so those e-mails land directly in my 
>>> inbox.
>>>
>>> On 07/12/2022 10:24, Rahul Singh wrote:
>>>>> On 7 Dec 2022, at 2:04 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>>       I try to run XEN on my ARM board(Sorry, for some commercial 
>>>>> reasons,
>>>>> I can't tell you
>>>>>       on which platform I run XEN)  and enable SMMU-V3, but all 
>>>>> cmds in
>>>>> cmdq failed when XEN started.
>>>>>
>>>>>       After using the debugger to track debugging, the reason for this
>>>>> problem is that
>>>>>       the queue in the smmu-v3 driver is not no-cache, so after the
>>>>> function arm_smmu_cmdq_build_cmd
>>>>>       is executed, the cmd is still in cache.Therefore, the SMMU-V3
>>>>> hardware cannot obtain the correct cmd
>>>>>       from the memory for execution.
>>>> Yes you are right as of now we are allocating the memory for 
>>>> cmdqueue via
>>>> _xzalloc() which is cached
>>>> memory because of that you are observing the issue. We have tested 
>>>> the Xen
>>>> SMMUv3 driver on SOC
>>>> where SMMUv3 HW is in the coherency domain, and because of that we 
>>>> have not
>>>> encountered this issue.
>>>>
>>>> I think In your case SMMUv3 HW is not in the coherency domain. Please
>>>> confirm from your side if the
>>>> "dma-coherent” property is not set in DT.
>>>>
>>>> I think there is no function available as of now to request Xen to 
>>>> allocate
>>>> memory that is not cached.
>>> You are correct.
>>>
>>>> @Julien and @Stefano do you have any suggestion on how we can 
>>>> request memory
>>>> from Xen that is not
>>>> cached something like dma_alloc_coherent() in Linux.
>>> At the moment all the RAM is mapped cacheable in Xen. So it will 
>>> require some
>>> work to have some memory uncacheable.
>>>
>>> There are two options:
>>>   1) Allocate a pool of memory at boot time that will be mapped with 
>>> different
>>> memory attribute. This means we would need a separate pool and the 
>>> user will
>>> have to size it.
>>>   2) Modify after the allocation the caching attribute in the memory 
>>> and then
>>> revert back after freeing. The cons is we would end up to shatter 
>>> superpage.
>>> We also can't re-create superpage (yet), but that might be fine if 
>>> the memory
>>> is never freed.
>>>
>>> Option two would probably the best. But before going that route I 
>>> have one
>>> question...
>>>
>>>> The temporary solution I use is to execute function clean_dcache every
>>>> time cmd is copied to cmdq in function queue_write. But it is obvious
>>>> that this will seriously affect the efficiency.
>>> I agree you will see some performance impact in micro-benchmark. But 
>>> I am not
>>> sure about normal use-cases. How often do you expect the command 
>>> queue to be
>>> used?
>> That is a good question. But even for the micro-benchmark, is the
>> difference significant?
>>
>> My gut feeling (to be discussed and confirmed) is that for this use-case
>> it might not be worth to do option 1) or option 2) above. Clean_dcache
>> as needed might be good enough?
>>
>>
>>> Also, I am a bit surprised you are seing issue with the command queue 
>>> but not
>>> with the stage-2 page-tables. Does your SMMU support coherent walk 
>>> but cannot
>>> snoop for the command queue?
> 
> Hi,
> 
> I'm sorry that my statement made you misunderstand. I haven't conducted 
> micro-benchmark yet.
> 
> I found this problem because "CMD_SYNC timeout" was frequently prompted 
> when initializing
> SMMUv3 during XEN startup.
> 
> As for the usage frequency of the command queue, I'm trying to 
> passthrough PCIE devices to the DomU.
> According to my understanding, all operations on the device will be 
> performed through SMMUv3 after
> the device passesthrough? Therefore, queues will be used frequently.
"all operations on the device" is a bit vague. From what Rahul just 
wrote this is a command queue is for controlling the SMMU (e.g. assign 
the device, flush the TLBs...). Anything related to the access (e.g. 
accessing the BAR, configuration space...) are not going through it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 13:26:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 13:26:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457126.714971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3GvK-0000XK-9H; Thu, 08 Dec 2022 13:26:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457126.714971; Thu, 08 Dec 2022 13:26:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3GvK-0000XD-4b; Thu, 08 Dec 2022 13:26:50 +0000
Received: by outflank-mailman (input) for mailman id 457126;
 Thu, 08 Dec 2022 13:26:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MTro=4G=citrix.com=prvs=334a0184e=sergey.dyasli@srs-se1.protection.inumbo.net>)
 id 1p3GvJ-0000X7-Dk
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 13:26:49 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f5a6bbf2-76fb-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 14:26:46 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5a6bbf2-76fb-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670506007;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=ZPfarfZcEejGSJqVF4CTnChPnnzcwhgygBNP/5MhZXk=;
  b=UYEXhOl5b8/Jna+0iVYl60UPP6ZxImBwjDUGLfAvG7F4iuczwsDyjwWt
   tWOJK7uMJW4zmkDY8wf++KK5lNYVoEYWfo4b7t1TLiVtLp+D3MCqGsLqq
   tEB6CL+KpOpM8A2h3eFm+4T5y2SQfQHMLWfPbWYlgFDtpS9SXaREYJc2a
   w=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87664792
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:joPi/aAzYZ8/yhVW/yLjw5YqxClBgxIJ4kV8jS/XYbTApG8jg2MAm
 mIdUWCGOfiIYTGnfNEga9yz/EhXupHUn9ZiQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlA7gRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw4sVcHjge3
 PchAXNSdDeSt8+KxYmLVbw57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2o0BPjDS0Qn1lM/E58kk+q5wHXueiZcqXqepLYt4niVxwt0uFToGIqKJILWGpQP9qqej
 kDK1n/BLzoxDt2WzWag8zGRm7b+jDyuDer+E5Xnr6U30TV/3Fc7Fxk+RVa95/6jhSaWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8U44gyQzqvf4y6CG3MJCDVGbbQbWNQeHGJwk
 AXTxpWwWGIp4Ob9pW+hGqm8tRCZJnFFBGQ7TGxbVywU0/TfpboDkUeaJjp8K5KdgtrwEDD25
 jmFqikimrke5fI2O7WHEUPv2Gz1+MWQJuIhzkCOBz/+sFslDGKwT9bwgWU3+8qsO2pworOpm
 HEf0/aT4+kVZX1mvHzcGb5ddF1FChvsDdE9vbKNN8N5n9hO0yT5FWy13N2ZDBkBDyr8UWW1C
 HI/QCsIjHOpAFOkbLVsf6W6ANkwwK7rGLzND66LNoYVMsAqLVXZpEmCgHJ8OEi0wSARfVwXY
 8/HIa5A815FYUiY8NZGb7hEiuJ6rszP7WjSWYr633yaPUm2PRaopUM+GALWNIgRtfrUyDg5B
 v4Db6NmPT0DCryhCsQWmKZPRW03wY8TXMyt95QNKLfcSuekcUl4Y8LsLXoaU9QNt8xoei3gp
 xlRhmcwJILDuED6
IronPort-HdrOrdr: A9a23:Jq2DjKy/i1XwqTZQno+fKrPw1r1zdoMgy1knxilNoHxuH/BwWf
 rPoB17726RtN91YhsdcL+7V5VoLUmzyXcX2/h1AV7BZniEhILAFugLgbcKqweKJ8SUzJ8+6U
 4PSclD4N2bNykGsS75ijPIb+rJFrO8gd+VbeS19QYScelzAZsQiDuQkmygYzZLrA8tP+teKL
 OsovBpihCHYnotYsGyFhA+LpL+T42iruOeXfYebSRXkDWzsQ==
X-IronPort-AV: E=Sophos;i="5.96,227,1665460800"; 
   d="scan'208";a="87664792"
From: Sergey Dyasli <sergey.dyasli@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Sergey Dyasli
	<sergey.dyasli@citrix.com>
Subject: [PATCH 1/2] x86/ucode: allow cpu_request_microcode() to skip memory allocation
Date: Thu, 8 Dec 2022 13:26:38 +0000
Message-ID: <20221208132639.29942-1-sergey.dyasli@citrix.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain

This is a preparatory step in order to do earlier microcode loading on
the boot CPU when the domain heap has not been initialized yet and
xmalloc still unavailable.

Add make_copy argument which will allow to load microcode directly from
the blob bypassing microcode_cache. Add const qualifiers where required.

Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>
---
 xen/arch/x86/cpu/microcode/amd.c     | 17 +++++++++++------
 xen/arch/x86/cpu/microcode/core.c    | 18 +++++++++---------
 xen/arch/x86/cpu/microcode/intel.c   | 17 +++++++++++------
 xen/arch/x86/cpu/microcode/private.h | 18 ++++++++++++------
 4 files changed, 43 insertions(+), 27 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 8195707ee1..d4df3c4806 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -299,11 +299,11 @@ static int scan_equiv_cpu_table(const struct container_equiv_table *et)
     return -ESRCH;
 }
 
-static struct microcode_patch *cf_check cpu_request_microcode(
-    const void *buf, size_t size)
+static const struct microcode_patch *cf_check cpu_request_microcode(
+    const void *buf, size_t size, bool make_copy)
 {
     const struct microcode_patch *saved = NULL;
-    struct microcode_patch *patch = NULL;
+    const struct microcode_patch *patch = NULL;
     size_t saved_size = 0;
     int error = 0;
 
@@ -411,9 +411,14 @@ static struct microcode_patch *cf_check cpu_request_microcode(
 
     if ( saved )
     {
-        patch = xmemdup_bytes(saved, saved_size);
-        if ( !patch )
-            error = -ENOMEM;
+        if ( make_copy )
+        {
+            patch = xmemdup_bytes(saved, saved_size);
+            if ( !patch )
+                error = -ENOMEM;
+        }
+        else
+            patch = saved;
     }
 
     if ( error && !patch )
diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 452a7ca773..924a2bd7b5 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -99,7 +99,7 @@ static bool ucode_in_nmi = true;
 bool __read_mostly opt_ucode_allow_same;
 
 /* Protected by microcode_mutex */
-static struct microcode_patch *microcode_cache;
+static const struct microcode_patch *microcode_cache;
 
 void __init microcode_set_module(unsigned int idx)
 {
@@ -240,20 +240,20 @@ static const struct microcode_patch *nmi_patch = ZERO_BLOCK_PTR;
  * patch is found and an error occurs during the parsing process. Otherwise
  * return NULL.
  */
-static struct microcode_patch *parse_blob(const char *buf, size_t len)
+static const struct microcode_patch *parse_blob(const char *buf, size_t len)
 {
     alternative_vcall(ucode_ops.collect_cpu_info);
 
-    return alternative_call(ucode_ops.cpu_request_microcode, buf, len);
+    return alternative_call(ucode_ops.cpu_request_microcode, buf, len, true);
 }
 
-static void microcode_free_patch(struct microcode_patch *patch)
+static void microcode_free_patch(const struct microcode_patch *patch)
 {
-    xfree(patch);
+    xfree((void *)patch);
 }
 
 /* Return true if cache gets updated. Otherwise, return false */
-static bool microcode_update_cache(struct microcode_patch *patch)
+static bool microcode_update_cache(const struct microcode_patch *patch)
 {
     ASSERT(spin_is_locked(&microcode_mutex));
 
@@ -565,7 +565,7 @@ static long cf_check microcode_update_helper(void *data)
     int ret;
     struct ucode_buf *buffer = data;
     unsigned int cpu, updated;
-    struct microcode_patch *patch;
+    const struct microcode_patch *patch;
 
     /* cpu_online_map must not change during update */
     if ( !get_cpu_maps() )
@@ -648,7 +648,7 @@ static long cf_check microcode_update_helper(void *data)
      *   this requirement can be relaxed in the future. Right now, this is
      *   conservative and good.
      */
-    ret = stop_machine_run(do_microcode_update, patch, NR_CPUS);
+    ret = stop_machine_run(do_microcode_update, (void *)patch, NR_CPUS);
 
     updated = atomic_read(&cpu_updated);
     if ( updated > 0 )
@@ -738,7 +738,7 @@ static int __init early_microcode_update_cpu(void)
     int rc = 0;
     const void *data = NULL;
     size_t len;
-    struct microcode_patch *patch;
+    const struct microcode_patch *patch;
 
     if ( ucode_blob.size )
     {
diff --git a/xen/arch/x86/cpu/microcode/intel.c b/xen/arch/x86/cpu/microcode/intel.c
index f5ba6d76d7..017f37e43d 100644
--- a/xen/arch/x86/cpu/microcode/intel.c
+++ b/xen/arch/x86/cpu/microcode/intel.c
@@ -323,12 +323,12 @@ static int cf_check apply_microcode(const struct microcode_patch *patch)
     return 0;
 }
 
-static struct microcode_patch *cf_check cpu_request_microcode(
-    const void *buf, size_t size)
+static const struct microcode_patch *cf_check cpu_request_microcode(
+    const void *buf, size_t size, bool make_copy)
 {
     int error = 0;
     const struct microcode_patch *saved = NULL;
-    struct microcode_patch *patch = NULL;
+    const struct microcode_patch *patch = NULL;
 
     while ( size )
     {
@@ -364,10 +364,15 @@ static struct microcode_patch *cf_check cpu_request_microcode(
 
     if ( saved )
     {
-        patch = xmemdup_bytes(saved, get_totalsize(saved));
+        if ( make_copy )
+        {
+            patch = xmemdup_bytes(saved, get_totalsize(saved));
 
-        if ( !patch )
-            error = -ENOMEM;
+            if ( !patch )
+                error = -ENOMEM;
+        }
+        else
+            patch = saved;
     }
 
     if ( error && !patch )
diff --git a/xen/arch/x86/cpu/microcode/private.h b/xen/arch/x86/cpu/microcode/private.h
index c085a10268..98657d39c3 100644
--- a/xen/arch/x86/cpu/microcode/private.h
+++ b/xen/arch/x86/cpu/microcode/private.h
@@ -23,16 +23,22 @@ struct microcode_ops {
      * older that what is running in the CPU.  This is a feature, to better
      * cope with corner cases from buggy firmware.)
      *
-     * If one is found, allocate and return a struct microcode_patch
-     * encapsulating the appropriate microcode patch.  Does not alias the
-     * original buffer.  Must be suitable to be freed with a single xfree().
+     * If one is found, behaviour depends on the make_copy argument:
+     *
+     *     true: allocate and return a struct microcode_patch encapsulating
+     *           the appropriate microcode patch.  Does not alias the original
+     *           buffer.  Must be suitable to be freed with a single xfree().
+     *
+     *    false: return a pointer to the patch within the original buffer.
+     *           This is useful for early microcode loading when xmalloc might
+     *           not be available yet.
      *
      * If one is not found, (nothing matches the current CPU), return NULL.
      * Also may return ERR_PTR(-err), e.g. bad container, out of memory.
      */
-    struct microcode_patch *(*cpu_request_microcode)(const void *buf,
-                                                     size_t size);
-
+    const struct microcode_patch *(*cpu_request_microcode)(const void *buf,
+                                                           size_t size,
+                                                           bool make_copy);
     /*
      * Obtain microcode-relevant details for the current CPU.  Results in
      * per_cpu(cpu_sig).
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 08 13:27:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 13:27:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457129.714982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3GvU-0000rv-LV; Thu, 08 Dec 2022 13:27:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457129.714982; Thu, 08 Dec 2022 13:27:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3GvU-0000rm-Hq; Thu, 08 Dec 2022 13:27:00 +0000
Received: by outflank-mailman (input) for mailman id 457129;
 Thu, 08 Dec 2022 13:26:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MTro=4G=citrix.com=prvs=334a0184e=sergey.dyasli@srs-se1.protection.inumbo.net>)
 id 1p3GvS-0000X7-RE
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 13:26:58 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fbeb36c3-76fb-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 14:26:57 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbeb36c3-76fb-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670506017;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=mUQ9fo4KGms+nfgI98Sxyt/O96CD/Xb0KR7B0QCJECM=;
  b=INnqoHFDJ6pGoIuwgDhOo57H+q7OD4ytx4e+TixvP+yXTv/AeOT0BQ2x
   cvV0QGaz6TtgGTf/CduTYseo0l/3mKq40bTcjmkPTSveXifyvSodqiELI
   aij/FVZlYm1ZXTM32gbzqVtTG6MIqYQW/4uu4wa2uFpneqJRXijeRbkVj
   U=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 86800782
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:3+KMYq4cZi/x00BVyapzgQxRtDPHchMFZxGqfqrLsTDasY5as4F+v
 mIeXGyFPvuPa2H0c9EgbN7j9k9VvJCAzIdgSQU/qCg2Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoT7AeH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m3
 O01dDwvagq5vt2ayvWeUvR1tN5/BZy+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJU0UUrsUIMtWcOOAnXTlfDBJ7l6ErLEz4kDYzRBr0airO93QEjCPbZULzh7A+
 TKcl4j/KhI8N9am7BGkyHWxrazhoXPaQ9kRLrLto5aGh3XMnzdOWXX6T2CTvv2RmkO4HdVFJ
 CQ86ico6KQ/6kGvZt38RAGj5m6JuAYGXNhdGPF87xuCooLW6QuEAmkPThZadccr8sQxQFQXO
 kShxo2zQ2Y16fvMFCzbpuz8QS6O1TY9BH4vOSMmSRE/2ubPqsYWlg/WfMw/Ofvg5jHqIg3Yz
 zePpSk4orwci88Xyqm2lWz6byKQSovhFVBsuFiONo6xxkYgPdP+OdT0gbTOxawYRLt1WGVtq
 5TtdyK2yOkVRa+AmyWWKAnmNOH4vq3VWNEwbLMGInXAy9hP0yT7FWyzyGskTKuMDirjUWGBX
 aMrkVkNjKK/xVPzBUONX6q/Ct4x0Y/rHsn/W/bfY7JmO8YuLFPcrHk1PBTOhwgBdXTAdolma
 P+mnTuEVy5GWcyLMhLpLwvi7VPb7n9nnj6CLXwK5x+mzaCfdBaopUQtaTOzghQCxPrc+m39q
 o8PX/ZmPj0DCIUSlAGLq99MRb3LRFBnba3LRzt/L7LYflI8Rjh+YxITqJt4E7FYc21uvr+g1
 hmAtoVwlDITWVWvxd22V01e
IronPort-HdrOrdr: A9a23:CZI6hqAzYH/3FwblHelW55DYdb4zR+YMi2TDt3oddfWaSKylfq
 GV7ZAmPHrP4gr5N0tOpTntAse9qBDnhPtICOsqTNSftWDd0QPFEGgL1+DfKlbbak/DH4BmtJ
 uJc8JFeaDN5VoRt7eH3OFveexQv+Vu88qT9JnjJ28Gd3AMV0n5hT0JcTpyFCdNNW97LKt8Lr
 WwzOxdqQGtfHwGB/7LfEXsD4D41qT2fIuNW29/OyIa
X-IronPort-AV: E=Sophos;i="5.96,227,1665460800"; 
   d="scan'208";a="86800782"
From: Sergey Dyasli <sergey.dyasli@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Sergey Dyasli
	<sergey.dyasli@citrix.com>
Subject: [PATCH 2/2] x86/ucode: load microcode earlier on boot CPU
Date: Thu, 8 Dec 2022 13:26:39 +0000
Message-ID: <20221208132639.29942-2-sergey.dyasli@citrix.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221208132639.29942-1-sergey.dyasli@citrix.com>
References: <20221208132639.29942-1-sergey.dyasli@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

Call early_microcode_init() straight after multiboot modules become
accessible. Modify it to load the ucode directly from the blob bypassing
populating microcode_cache because xmalloc is still not available at
that point during Xen boot.

Introduce early_microcode_init_cache() for populating microcode_cache.
It needs to find the new virtual address of the ucode blob because it
changes during boot, e.g. from 0x00000000010802fc to 0xffff83204dac52fc.

Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>
---
 xen/arch/x86/cpu/microcode/core.c    | 61 ++++++++++++++++++++++++----
 xen/arch/x86/include/asm/microcode.h |  6 ++-
 xen/arch/x86/include/asm/setup.h     |  3 --
 xen/arch/x86/setup.c                 | 10 +++--
 4 files changed, 64 insertions(+), 16 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 924a2bd7b5..b04b30ce5e 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -198,7 +198,7 @@ void __init microcode_scan_module(
         bootstrap_map(NULL);
     }
 }
-void __init microcode_grab_module(
+static void __init microcode_grab_module(
     unsigned long *module_map,
     const multiboot_info_t *mbi)
 {
@@ -733,9 +733,35 @@ int microcode_update_one(void)
 }
 
 /* BSP calls this function to parse ucode blob and then apply an update. */
-static int __init early_microcode_update_cpu(void)
+static int __init early_microcode_update_cache(const void *data, size_t len)
 {
     int rc = 0;
+    const struct microcode_patch *patch;
+
+    if ( !data )
+        return -ENOMEM;
+
+    patch = parse_blob(data, len);
+    if ( IS_ERR(patch) )
+    {
+        printk(XENLOG_WARNING "Parsing microcode blob error %ld\n",
+               PTR_ERR(patch));
+        return PTR_ERR(patch);
+    }
+
+    if ( !patch )
+        return -ENOENT;
+
+    spin_lock(&microcode_mutex);
+    rc = microcode_update_cache(patch);
+    spin_unlock(&microcode_mutex);
+    ASSERT(rc);
+
+    return rc;
+}
+
+static int __init early_microcode_update_cpu(void)
+{
     const void *data = NULL;
     size_t len;
     const struct microcode_patch *patch;
@@ -754,7 +780,9 @@ static int __init early_microcode_update_cpu(void)
     if ( !data )
         return -ENOMEM;
 
-    patch = parse_blob(data, len);
+    alternative_vcall(ucode_ops.collect_cpu_info);
+
+    patch = alternative_call(ucode_ops.cpu_request_microcode, data, len, false);
     if ( IS_ERR(patch) )
     {
         printk(XENLOG_WARNING "Parsing microcode blob error %ld\n",
@@ -765,15 +793,28 @@ static int __init early_microcode_update_cpu(void)
     if ( !patch )
         return -ENOENT;
 
-    spin_lock(&microcode_mutex);
-    rc = microcode_update_cache(patch);
-    spin_unlock(&microcode_mutex);
-    ASSERT(rc);
+    return microcode_update_cpu(patch);
+}
+
+int __init early_microcode_init_cache(unsigned long *module_map,
+                                      const multiboot_info_t *mbi)
+{
+    int rc = 0;
+
+    /* Need to rescan the modules because they might have been relocated */
+    microcode_grab_module(module_map, mbi);
+
+    if ( ucode_mod.mod_end )
+        rc = early_microcode_update_cache(bootstrap_map(&ucode_mod),
+                                          ucode_mod.mod_end);
+    else if ( ucode_blob.size )
+        rc = early_microcode_update_cache(ucode_blob.data, ucode_blob.size);
 
-    return microcode_update_one();
+    return rc;
 }
 
-int __init early_microcode_init(void)
+int __init early_microcode_init(unsigned long *module_map,
+                                const multiboot_info_t *mbi)
 {
     const struct cpuinfo_x86 *c = &boot_cpu_data;
     int rc = 0;
@@ -797,6 +838,8 @@ int __init early_microcode_init(void)
         return -ENODEV;
     }
 
+    microcode_grab_module(module_map, mbi);
+
     alternative_vcall(ucode_ops.collect_cpu_info);
 
     if ( ucode_mod.mod_end || ucode_blob.size )
diff --git a/xen/arch/x86/include/asm/microcode.h b/xen/arch/x86/include/asm/microcode.h
index 3b0234e9fa..c5f9897535 100644
--- a/xen/arch/x86/include/asm/microcode.h
+++ b/xen/arch/x86/include/asm/microcode.h
@@ -3,6 +3,7 @@
 
 #include <xen/types.h>
 #include <xen/percpu.h>
+#include <xen/multiboot.h>
 
 #include <public/xen.h>
 
@@ -21,7 +22,10 @@ DECLARE_PER_CPU(struct cpu_signature, cpu_sig);
 
 void microcode_set_module(unsigned int idx);
 int microcode_update(XEN_GUEST_HANDLE(const_void), unsigned long len);
-int early_microcode_init(void);
+int early_microcode_init(unsigned long *module_map,
+                         const multiboot_info_t *mbi);
+int early_microcode_init_cache(unsigned long *module_map,
+                               const multiboot_info_t *mbi);
 int microcode_update_one(void);
 
 #endif /* ASM_X86__MICROCODE_H */
diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
index 21037b7f31..82ee51c2dc 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -45,9 +45,6 @@ void *bootstrap_map(const module_t *mod);
 
 int xen_in_range(unsigned long mfn);
 
-void microcode_grab_module(
-    unsigned long *, const multiboot_info_t *);
-
 extern uint8_t kbd_shift_flags;
 
 #ifdef NDEBUG
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index e05189f649..9955e1e6fa 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1178,6 +1178,12 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         mod[i].reserved = 0;
     }
 
+    /*
+     * TODO: load ucode earlier once multiboot modules become accessible
+     * at an earlier stage.
+     */
+    early_microcode_init(module_map, mbi);
+
     if ( xen_phys_start )
     {
         relocated = true;
@@ -1774,11 +1780,9 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 
     init_IRQ();
 
-    microcode_grab_module(module_map, mbi);
-
     timer_init();
 
-    early_microcode_init();
+    early_microcode_init_cache(module_map, mbi);
 
     tsx_init(); /* Needs microcode.  May change HLE/RTM feature bits. */
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 08 13:28:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 13:28:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457140.714993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3GwW-0001h4-0L; Thu, 08 Dec 2022 13:28:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457140.714993; Thu, 08 Dec 2022 13:28:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3GwV-0001gx-Sl; Thu, 08 Dec 2022 13:28:03 +0000
Received: by outflank-mailman (input) for mailman id 457140;
 Thu, 08 Dec 2022 13:28:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=miOe=4G=zlw.email=sisyphean@srs-se1.protection.inumbo.net>)
 id 1p3GwT-0001gS-Be
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 13:28:02 +0000
Received: from mail.zlw.email (unknown [112.49.95.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 131cf38c-76fc-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 14:27:48 +0100 (CET)
Received: from localhost (unknown [127.0.0.1])
 by mail.zlw.email (Postfix) with ESMTP id 61FC4173F34;
 Thu,  8 Dec 2022 13:28:04 +0000 (UTC)
Received: from mail.zlw.email ([127.0.0.1])
 by localhost (mail.zlw.email [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id ZTNnCzddN6fP; Thu,  8 Dec 2022 21:28:02 +0800 (CST)
Received: from [192.168.66.190] (OpenWrt.lan [192.168.66.1])
 by mail.zlw.email (Postfix) with ESMTPSA id A3C96173BFC;
 Thu,  8 Dec 2022 21:27:55 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 131cf38c-76fc-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zlw.email; h=
	content-transfer-encoding:content-type:content-type:in-reply-to
	:from:from:content-language:references:to:subject:subject
	:user-agent:mime-version:date:date:message-id; s=dkim; t=
	1670506082; x=1673098083; bh=VsBxwBIMTzFcaxATdtGKk/Mx5nFJsRc58VP
	1ssisH1E=; b=npNe6tbnrT2oanSD9f52vMmEcidt7A8zG1ybe8+a+dpAI03Gob6
	byhqelpLI9b1RLCDXDFa2du67YrYFc+ybXFKccKzxSixbP46iW2GxXcvISVUd0ef
	d82feyxFLI0axIT0UbjC3js1mru+xZiB2NTTU0VO/fDzAR8XwNDmVekY=
X-Virus-Scanned: amavisd-new at zlw.email
Message-ID: <5f850be6-a256-86fa-7c37-1964442bc36c@zlw.email>
Date: Thu, 8 Dec 2022 21:27:31 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.3.0
Subject: Re: [BUG]SMMU-V3 queue need no-cache memory
To: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Rahul Singh <Rahul.Singh@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e1e0e347-6530-7b68-92f7-ef52defa55ac@zlw.email>
 <75D89B2C-BBE4-419A-80B7-FEE39445ABB2@arm.com>
 <fe0f90fa-84aa-54b2-1e12-98baff7fcaf7@xen.org>
 <alpine.DEB.2.22.394.2212071418570.4039@ubuntu-linux-20-04-desktop>
 <e42045c9-9f0e-9a2a-94ac-077d33534e88@zlw.email>
 <a1e24b88-1c23-8462-9553-8cc6b14a4a16@xen.org>
Content-Language: en-US
From: sisyphean <sisyphean@zlw.email>
In-Reply-To: <a1e24b88-1c23-8462-9553-8cc6b14a4a16@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


在 2022/12/8 21:21, Julien Grall 写道:
> Hi,
>
> On 08/12/2022 03:22, sisyphean wrote:
>> 在 2022/12/8 06:22, Stefano Stabellini 写道:
>>
>>> On Wed, 7 Dec 2022, Julien Grall wrote:
>>>> Hi,
>>>>
>>>> I only noticed this e-mail because I was skimming xen-devel. If you 
>>>> want to
>>>> get our attention, then I would suggest to CC both of us because I 
>>>> (and I
>>>> guess Stefano) have filter rules so those e-mails land directly in 
>>>> my inbox.
>>>>
>>>> On 07/12/2022 10:24, Rahul Singh wrote:
>>>>>> On 7 Dec 2022, at 2:04 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>>       I try to run XEN on my ARM board(Sorry, for some commercial 
>>>>>> reasons,
>>>>>> I can't tell you
>>>>>>       on which platform I run XEN)  and enable SMMU-V3, but all 
>>>>>> cmds in
>>>>>> cmdq failed when XEN started.
>>>>>>
>>>>>>       After using the debugger to track debugging, the reason for 
>>>>>> this
>>>>>> problem is that
>>>>>>       the queue in the smmu-v3 driver is not no-cache, so after the
>>>>>> function arm_smmu_cmdq_build_cmd
>>>>>>       is executed, the cmd is still in cache.Therefore, the SMMU-V3
>>>>>> hardware cannot obtain the correct cmd
>>>>>>       from the memory for execution.
>>>>> Yes you are right as of now we are allocating the memory for 
>>>>> cmdqueue via
>>>>> _xzalloc() which is cached
>>>>> memory because of that you are observing the issue. We have tested 
>>>>> the Xen
>>>>> SMMUv3 driver on SOC
>>>>> where SMMUv3 HW is in the coherency domain, and because of that we 
>>>>> have not
>>>>> encountered this issue.
>>>>>
>>>>> I think In your case SMMUv3 HW is not in the coherency domain. Please
>>>>> confirm from your side if the
>>>>> "dma-coherent” property is not set in DT.
>>>>>
>>>>> I think there is no function available as of now to request Xen to 
>>>>> allocate
>>>>> memory that is not cached.
>>>> You are correct.
>>>>
>>>>> @Julien and @Stefano do you have any suggestion on how we can 
>>>>> request memory
>>>>> from Xen that is not
>>>>> cached something like dma_alloc_coherent() in Linux.
>>>> At the moment all the RAM is mapped cacheable in Xen. So it will 
>>>> require some
>>>> work to have some memory uncacheable.
>>>>
>>>> There are two options:
>>>>   1) Allocate a pool of memory at boot time that will be mapped 
>>>> with different
>>>> memory attribute. This means we would need a separate pool and the 
>>>> user will
>>>> have to size it.
>>>>   2) Modify after the allocation the caching attribute in the 
>>>> memory and then
>>>> revert back after freeing. The cons is we would end up to shatter 
>>>> superpage.
>>>> We also can't re-create superpage (yet), but that might be fine if 
>>>> the memory
>>>> is never freed.
>>>>
>>>> Option two would probably the best. But before going that route I 
>>>> have one
>>>> question...
>>>>
>>>>> The temporary solution I use is to execute function clean_dcache 
>>>>> every
>>>>> time cmd is copied to cmdq in function queue_write. But it is obvious
>>>>> that this will seriously affect the efficiency.
>>>> I agree you will see some performance impact in micro-benchmark. 
>>>> But I am not
>>>> sure about normal use-cases. How often do you expect the command 
>>>> queue to be
>>>> used?
>>> That is a good question. But even for the micro-benchmark, is the
>>> difference significant?
>>>
>>> My gut feeling (to be discussed and confirmed) is that for this 
>>> use-case
>>> it might not be worth to do option 1) or option 2) above. Clean_dcache
>>> as needed might be good enough?
>>>
>>>
>>>> Also, I am a bit surprised you are seing issue with the command 
>>>> queue but not
>>>> with the stage-2 page-tables. Does your SMMU support coherent walk 
>>>> but cannot
>>>> snoop for the command queue?
>>
>> Hi,
>>
>> I'm sorry that my statement made you misunderstand. I haven't 
>> conducted micro-benchmark yet.
>>
>> I found this problem because "CMD_SYNC timeout" was frequently 
>> prompted when initializing
>> SMMUv3 during XEN startup.
>>
>> As for the usage frequency of the command queue, I'm trying to 
>> passthrough PCIE devices to the DomU.
>> According to my understanding, all operations on the device will be 
>> performed through SMMUv3 after
>> the device passesthrough? Therefore, queues will be used frequently.
> "all operations on the device" is a bit vague. From what Rahul just 
> wrote this is a command queue is for controlling the SMMU (e.g. assign 
> the device, flush the TLBs...). Anything related to the access (e.g. 
> accessing the BAR, configuration space...) are not going through it.
>
> Cheers,
>
So does this mean that operations on smmu queues are not frequent? There 
are still some problems with PCIE device passthrough.
I will conduct some benchmark tests after completing PCIE device 
passthrough. Are there any test cases for my reference?

Cheers,




From xen-devel-bounces@lists.xenproject.org Thu Dec 08 13:31:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 13:31:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457148.715003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Gzc-0003Nx-Ee; Thu, 08 Dec 2022 13:31:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457148.715003; Thu, 08 Dec 2022 13:31:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Gzc-0003Nq-C5; Thu, 08 Dec 2022 13:31:16 +0000
Received: by outflank-mailman (input) for mailman id 457148;
 Thu, 08 Dec 2022 13:31:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p3Gzb-0003Nk-NB
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 13:31:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3GzY-00017u-2s; Thu, 08 Dec 2022 13:31:12 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.4.36])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3GzX-0000Rb-Sq; Thu, 08 Dec 2022 13:31:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=XuB7XkZgCQwDmNUmMn5Arvg9AAGmaonnXBQCjEwHKRY=; b=c/IQpanrqww6jJa3MVBtPbLlm4
	HGHdttoCC4p92lgfx1+2vEk7rCd5N9IIbw4z3kn3IHw1DxdRWCA8MfN8Rst51OA+gxufENxnldr0v
	a8mh65HQp5Zdf8rJqsE3+kE0yM4pn4/GGFlV9D0VWy7hzqVgC/R7pfEPvnnQlJfbAmYU=;
Message-ID: <59e3a9a2-98dc-7b01-5c3e-a7fafc9ee85d@xen.org>
Date: Thu, 8 Dec 2022 13:31:10 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [BUG]SMMU-V3 queue need no-cache memory
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: sisyphean <sisyphean@zlw.email>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <e1e0e347-6530-7b68-92f7-ef52defa55ac@zlw.email>
 <75D89B2C-BBE4-419A-80B7-FEE39445ABB2@arm.com>
 <fe0f90fa-84aa-54b2-1e12-98baff7fcaf7@xen.org>
 <A1DD6AE5-7AB0-4843-BB9F-3CA1F8277ADF@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <A1DD6AE5-7AB0-4843-BB9F-3CA1F8277ADF@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 08/12/2022 13:04, Rahul Singh wrote:
> Hi Julien,

Hi Rahul,

>> On 7 Dec 2022, at 12:13 pm, Julien Grall <julien@xen.org> wrote:
>>
>> Hi,
>>
>> I only noticed this e-mail because I was skimming xen-devel. If you want to get our attention, then I would suggest to CC both of us because I (and I guess Stefano) have filter rules so those e-mails land directly in my inbox.
>>
>> On 07/12/2022 10:24, Rahul Singh wrote:
>>>> On 7 Dec 2022, at 2:04 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>
>>>> Hi,
>>>>
>>>>      I try to run XEN on my ARM board(Sorry, for some commercial reasons, I can't tell you
>>>>      on which platform I run XEN)  and enable SMMU-V3, but all cmds in cmdq failed when XEN started.
>>>>
>>>>      After using the debugger to track debugging, the reason for this problem is that
>>>>      the queue in the smmu-v3 driver is not no-cache, so after the function arm_smmu_cmdq_build_cmd
>>>>      is executed, the cmd is still in cache.Therefore, the SMMU-V3 hardware cannot obtain the correct cmd
>>>>      from the memory for execution.
>>> Yes you are right as of now we are allocating the memory for cmdqueue via _xzalloc() which is cached
>>> memory because of that you are observing the issue. We have tested the Xen SMMUv3 driver on SOC
>>> where SMMUv3 HW is in the coherency domain, and because of that we have not encountered this issue.
>>> I think In your case SMMUv3 HW is not in the coherency domain. Please confirm from your side if the
>>> "dma-coherent” property is not set in DT.
>>> I think there is no function available as of now to request Xen to allocate memory that is not cached.
>>
>> You are correct.
>>
>>> @Julien and @Stefano do you have any suggestion on how we can request memory from Xen that is not
>>> cached something like dma_alloc_coherent() in Linux.
>>
>> At the moment all the RAM is mapped cacheable in Xen. So it will require some work to have some memory uncacheable.
>>
>> There are two options:
>> 1) Allocate a pool of memory at boot time that will be mapped with different memory attribute. This means we would need a separate pool and the user will have to size it.
>> 2) Modify after the allocation the caching attribute in the memory and then revert back after freeing. The cons is we would end up to shatter superpage. We also can't re-create superpage (yet), but that might be fine if the memory is never freed.
>>
>> Option two would probably the best. But before going that route I have one question...
>>
>>> The temporary solution I use is to execute function clean_dcache every
>>> time cmd is copied to cmdq in function queue_write. But it is obvious
>>> that this will seriously affect the efficiency.
>>
>> I agree you will see some performance impact in micro-benchmark. But I am not sure about normal use-cases. How often do you expect the command queue to be used?
> 
> To be precise command queue will be used when

Thanks for the list. See my comments below.

>   - Set up the stage-2 translation when we assigned the devices to guests. This happens typically dom0 boot and domU creation.

Hotplugging is another approach. At the moment, I would expect that in 
this situation the cache flush will just be noise as the domain creation 
is quite complex.

>   - When there is a call to iommu_iotlb_flush() that will call IOMMU specific iotlb_flush. SMMuv3 driver will send the command to
>     SMMUv3 HW to invalidate the entries.

This is an interesting one. Those operations will usually be heavily 
used by backend PV drivers when mapping/unmapping the grant entries.

I am not aware of anyone that did some performance test when the IOMMU 
is enabled (I think Stefano did some in the past when disabled).

The grant mapping are usually one page at the time. So it would be 
interesting to check the overhead of the SMMU (even without the cache 
flush). The tests I am thinking are comparing the numbers with and 
without the IOMMU enabled:
  1) Micro-benchmark the map/unmap operations
  2) Benchmark throughput for block and network device

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 13:32:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 13:32:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457153.715015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3H0X-0003uE-PV; Thu, 08 Dec 2022 13:32:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457153.715015; Thu, 08 Dec 2022 13:32:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3H0X-0003u7-Ky; Thu, 08 Dec 2022 13:32:13 +0000
Received: by outflank-mailman (input) for mailman id 457153;
 Thu, 08 Dec 2022 13:32:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p3H0W-0003tz-TU
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 13:32:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3H0T-00018k-DZ; Thu, 08 Dec 2022 13:32:09 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.4.36])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3H0T-0000Td-7i; Thu, 08 Dec 2022 13:32:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=hU/8o5abnCvdKS8tUtfEjTj+WbOaKMJpdo+9jkN2Y4o=; b=25CYbO/QB/v3eAnmdnq2q3H/OM
	IGb0aMoJuDAJKC3+Fe0p8HKxiWFdXacEHoGDiNCdynfYiytAFQnKI8Qv9EOP2YEDsLJr/9EyelaD6
	sDOKJE3Wa+1JJPIX4RRUENDsz9O3bEFcU/baTM+R+qmYuJlj1IP/rzVE3j8SdQbrm60A=;
Message-ID: <79d2a073-ddcf-8a1d-3415-e73d9162b3a5@xen.org>
Date: Thu, 8 Dec 2022 13:32:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [BUG]SMMU-V3 queue need no-cache memory
Content-Language: en-US
To: sisyphean <sisyphean@zlw.email>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Rahul Singh <Rahul.Singh@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e1e0e347-6530-7b68-92f7-ef52defa55ac@zlw.email>
 <75D89B2C-BBE4-419A-80B7-FEE39445ABB2@arm.com>
 <fe0f90fa-84aa-54b2-1e12-98baff7fcaf7@xen.org>
 <alpine.DEB.2.22.394.2212071418570.4039@ubuntu-linux-20-04-desktop>
 <e42045c9-9f0e-9a2a-94ac-077d33534e88@zlw.email>
 <a1e24b88-1c23-8462-9553-8cc6b14a4a16@xen.org>
 <5f850be6-a256-86fa-7c37-1964442bc36c@zlw.email>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5f850be6-a256-86fa-7c37-1964442bc36c@zlw.email>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 08/12/2022 13:27, sisyphean wrote:
> 
> 在 2022/12/8 21:21, Julien Grall 写道:
>> Hi,
>>
>> On 08/12/2022 03:22, sisyphean wrote:
>>> 在 2022/12/8 06:22, Stefano Stabellini 写道:
>>>
>>>> On Wed, 7 Dec 2022, Julien Grall wrote:
>>>>> Hi,
>>>>>
>>>>> I only noticed this e-mail because I was skimming xen-devel. If you 
>>>>> want to
>>>>> get our attention, then I would suggest to CC both of us because I 
>>>>> (and I
>>>>> guess Stefano) have filter rules so those e-mails land directly in 
>>>>> my inbox.
>>>>>
>>>>> On 07/12/2022 10:24, Rahul Singh wrote:
>>>>>>> On 7 Dec 2022, at 2:04 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>>       I try to run XEN on my ARM board(Sorry, for some commercial 
>>>>>>> reasons,
>>>>>>> I can't tell you
>>>>>>>       on which platform I run XEN)  and enable SMMU-V3, but all 
>>>>>>> cmds in
>>>>>>> cmdq failed when XEN started.
>>>>>>>
>>>>>>>       After using the debugger to track debugging, the reason for 
>>>>>>> this
>>>>>>> problem is that
>>>>>>>       the queue in the smmu-v3 driver is not no-cache, so after the
>>>>>>> function arm_smmu_cmdq_build_cmd
>>>>>>>       is executed, the cmd is still in cache.Therefore, the SMMU-V3
>>>>>>> hardware cannot obtain the correct cmd
>>>>>>>       from the memory for execution.
>>>>>> Yes you are right as of now we are allocating the memory for 
>>>>>> cmdqueue via
>>>>>> _xzalloc() which is cached
>>>>>> memory because of that you are observing the issue. We have tested 
>>>>>> the Xen
>>>>>> SMMUv3 driver on SOC
>>>>>> where SMMUv3 HW is in the coherency domain, and because of that we 
>>>>>> have not
>>>>>> encountered this issue.
>>>>>>
>>>>>> I think In your case SMMUv3 HW is not in the coherency domain. Please
>>>>>> confirm from your side if the
>>>>>> "dma-coherent” property is not set in DT.
>>>>>>
>>>>>> I think there is no function available as of now to request Xen to 
>>>>>> allocate
>>>>>> memory that is not cached.
>>>>> You are correct.
>>>>>
>>>>>> @Julien and @Stefano do you have any suggestion on how we can 
>>>>>> request memory
>>>>>> from Xen that is not
>>>>>> cached something like dma_alloc_coherent() in Linux.
>>>>> At the moment all the RAM is mapped cacheable in Xen. So it will 
>>>>> require some
>>>>> work to have some memory uncacheable.
>>>>>
>>>>> There are two options:
>>>>>   1) Allocate a pool of memory at boot time that will be mapped 
>>>>> with different
>>>>> memory attribute. This means we would need a separate pool and the 
>>>>> user will
>>>>> have to size it.
>>>>>   2) Modify after the allocation the caching attribute in the 
>>>>> memory and then
>>>>> revert back after freeing. The cons is we would end up to shatter 
>>>>> superpage.
>>>>> We also can't re-create superpage (yet), but that might be fine if 
>>>>> the memory
>>>>> is never freed.
>>>>>
>>>>> Option two would probably the best. But before going that route I 
>>>>> have one
>>>>> question...
>>>>>
>>>>>> The temporary solution I use is to execute function clean_dcache 
>>>>>> every
>>>>>> time cmd is copied to cmdq in function queue_write. But it is obvious
>>>>>> that this will seriously affect the efficiency.
>>>>> I agree you will see some performance impact in micro-benchmark. 
>>>>> But I am not
>>>>> sure about normal use-cases. How often do you expect the command 
>>>>> queue to be
>>>>> used?
>>>> That is a good question. But even for the micro-benchmark, is the
>>>> difference significant?
>>>>
>>>> My gut feeling (to be discussed and confirmed) is that for this 
>>>> use-case
>>>> it might not be worth to do option 1) or option 2) above. Clean_dcache
>>>> as needed might be good enough?
>>>>
>>>>
>>>>> Also, I am a bit surprised you are seing issue with the command 
>>>>> queue but not
>>>>> with the stage-2 page-tables. Does your SMMU support coherent walk 
>>>>> but cannot
>>>>> snoop for the command queue?
>>>
>>> Hi,
>>>
>>> I'm sorry that my statement made you misunderstand. I haven't 
>>> conducted micro-benchmark yet.
>>>
>>> I found this problem because "CMD_SYNC timeout" was frequently 
>>> prompted when initializing
>>> SMMUv3 during XEN startup.
>>>
>>> As for the usage frequency of the command queue, I'm trying to 
>>> passthrough PCIE devices to the DomU.
>>> According to my understanding, all operations on the device will be 
>>> performed through SMMUv3 after
>>> the device passesthrough? Therefore, queues will be used frequently.
>> "all operations on the device" is a bit vague. From what Rahul just 
>> wrote this is a command queue is for controlling the SMMU (e.g. assign 
>> the device, flush the TLBs...). Anything related to the access (e.g. 
>> accessing the BAR, configuration space...) are not going through it.
>>
>> Cheers,
>>
> So does this mean that operations on smmu queues are not frequent? There 
> are still some problems with PCIE device passthrough.
> I will conduct some benchmark tests after completing PCIE device 
> passthrough. Are there any test cases for my reference?

See my reply to Rahul. I have provided some ideas how to benchmark it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 13:51:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 13:51:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457167.715025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3HJA-0006h3-Eo; Thu, 08 Dec 2022 13:51:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457167.715025; Thu, 08 Dec 2022 13:51:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3HJA-0006gw-C7; Thu, 08 Dec 2022 13:51:28 +0000
Received: by outflank-mailman (input) for mailman id 457167;
 Thu, 08 Dec 2022 13:51:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p3HJ9-0006gq-13
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 13:51:27 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3HJ8-0001e5-HY; Thu, 08 Dec 2022 13:51:26 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.4.36])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3HJ8-0001XB-AS; Thu, 08 Dec 2022 13:51:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=s8WjPK8bHy2BeyGoRcNtlQxqgFn3sSpuUyxXFETH8jc=; b=yaaX6ty8idMYzWRjthjCiROpH0
	oIZI7ZpFLVpGXrgbiFob2i+uQvcgRAEIyFpSoLBkMV6cSajYOQyDD2atjBRUlYspH2XaoCSjcTl2v
	F4G/VeK0p1K4BmaNT3GwnkYucDd5EoMjWVtB4jb/seK1udjeNo5e+Na7k/dGGD2IV+YE=;
Message-ID: <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
Date: Thu, 8 Dec 2022 13:51:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, michal.orzel@amd.com,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

Title extra NIT: I have seen it multiple time and so far refrain to say 
it. Please use 'arm' rather than 'Arm'. This is for consistency in the 
way we name the subsystem in the title.

On 08/12/2022 12:49, Ayan Kumar Halder wrote:
> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
> result, it contains the default value (ie 0). This causes,
> kernel_zimage_place() to treat the binary (contained within uImage) as
> position independent executable. Thus, it loads it at an incorrect address.
> 
> The correct approach would be to read "uimage.ep" and set
> info->zimage.start. This will ensure that the binary is loaded at the
> correct address.

In non-statically allocated setup, a user doesn't know where the memory 
for dom0/domU will be allocated.

So I think this was correct to ignore the address. In fact, I am worry 
that...

> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> 
> I uncovered this issue while loading Zephyr as a dom0less domU with Xen on
> R52 FVP. Zephyr builds with static device tree. Thus, the load address is
> always fixed.
> 
>   xen/arch/arm/kernel.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> index 2556a45c38..e4e8c67669 100644
> --- a/xen/arch/arm/kernel.c
> +++ b/xen/arch/arm/kernel.c
> @@ -222,6 +222,8 @@ static int __init kernel_uimage_probe(struct kernel_info *info,
>       if ( len > size - sizeof(uimage) )
>           return -EINVAL;
>   
> +    info->zimage.start = be32_to_cpu(uimage.ep);
... this will now ended up to break anyone that may have set an address 
but didn't care where it should be loaded.

I also understand your use case but now, we have contradictory 
approaches. I am not entirely sure how we can solve it. We may have to 
break those users (Cc some folks that may use it). But we should figure 
out what is the alternative for them.

If we decide to break those users, then this should be documented in the 
commit message and in docs/misc/arm/booting.txt (which interestingly 
didn't mention uImage).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 13:55:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 13:55:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457173.715036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3HMn-0007OQ-Ta; Thu, 08 Dec 2022 13:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457173.715036; Thu, 08 Dec 2022 13:55:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3HMn-0007OJ-Qv; Thu, 08 Dec 2022 13:55:13 +0000
Received: by outflank-mailman (input) for mailman id 457173;
 Thu, 08 Dec 2022 13:55:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IMKo=4G=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1p3HMm-0007Mg-4T
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 13:55:12 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec898c28-76ff-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 14:55:10 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 3E0CF5C0110;
 Thu,  8 Dec 2022 08:55:07 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Thu, 08 Dec 2022 08:55:07 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 8 Dec 2022 08:55:05 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec898c28-76ff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1670507707; x=1670594107; bh=6GKpjudIqv
	TWDk1IikFFGhAigKJs3+rT6h11l7fzCp8=; b=mDFCuZoklYstfq7H4HG1qETEV0
	W+f8FY8dt794xsufTS3A9fTJbGcI8BtMShglShqIzajIyq3HryDtYBJ9xWsp8Qd0
	gBvtN1zxV9kD9U6eZ2c/koXQx7wAaqsYcMAZuGIa4bCBi84JH1+D1GY8F8O800aM
	TNe5J+I0t1RzJ8Wm9j/TCVmjCFYcFhmPBqn5O9Ewx+BnthtH2ydNQjr6uOLmwrDE
	b5GkYZZzHATWYUCKLYjlkoDEt3Vj7nHXYL3A1xSZMQCKqyAiWsurHV+apiw+CwB6
	ZDl4w4Vx72tQnQriCXgzDu1weIRW3NmYPlGxHXdRjRtQisC4sGBppKK6AxLw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:message-id:mime-version
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1670507707; x=
	1670594107; bh=6GKpjudIqvTWDk1IikFFGhAigKJs3+rT6h11l7fzCp8=; b=Z
	8QOdcPshuupEpeJx3YgCY5X1eHI371vnP77kt4cV2hFIcgbQR1JFaw8kKt+d/aa2
	t2/8fifmvU/wTioWS9W5TKkVB2MhOVmVL/DuwatHXv0gaChNl7PCSFntWoAQ7XyP
	J8AWur2GwgDhTV+/WWp8BltgFeMxCDIZBgQM9H6M7qtt7AIXmqooNzhsFhky/CqK
	VCk0/ii1AsQPeFFk05Cp9/zCKwO55KyiTwyoNh9OO/zjf16fkIkWyKvlt7DxEUCu
	QCvhH5LZ3pP+ImX8tYs0HzejELUt3v/b/bCgHVb0Y1aa55ih02EtUOPPHn49wCnm
	seDRlmlHeq4LbZkebWNYg==
X-ME-Sender: <xms:uuyRY1qahaXJDEDXIIk4i0KzYCWVEvn4anML35uKYTBEF9aPjd6IJA>
    <xme:uuyRY3qwfSE2PAZlciN4-gFFGIpd-1NLsC3cB9Tecu_DhmaxzuO_XSr2B28PpDouu
    C1bRHfUzhUYGA>
X-ME-Received: <xmr:uuyRYyMY6qIrlzR2GRdPVmN9XRmkinLH2rPolAOJYuBDwLWeOuoEzAb6I_M9aS9UID8B5tbCwOKo63wSpRHKxHkj6CSLHSLtGw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddtgdehjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfggtggusehgtderredttdejnecuhfhrohhmpeforghrvghkucfo
    rghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvhhish
    hisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeehgfeuvdej
    keeikeeludelteevfeegffegteefffetheetffduudejuedugfdvteenucffohhmrghinh
    epqhhusggvshdqohhsrdhorhhgpdhgihhthhhusgdrtghomhenucevlhhushhtvghrufhi
    iigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhish
    hisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:uuyRYw4lg46xf1wtvrKkLRFbrCWzDuTQo4EtCzwrPateB9rU5p_JPg>
    <xmx:uuyRY04fTQqLGNPNQw9qb19VUdiVI3pmwfx_ql7oiIQB6buUIdT6Mg>
    <xmx:uuyRY4gExa2qR8wMfKiY6Oo8HVdJKId--nPvhig1X-JixGBA7ONZYQ>
    <xmx:u-yRYzZN_CVlZA3sah7SeEdKXkmQjMFPSpuGPON2iv9ewtlMwtjXpQ>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 8 Dec 2022 14:55:02 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: intel-gfx@lists.freedesktop.org
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	"Demi M. Obenour" <demi@invisiblethingslab.com>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
	Matt Roper <matthew.d.roper@intel.com>,
	Lucas De Marchi <lucas.demarchi@intel.com>,
	=?utf-8?B?Sm9zw6k=?= Roberto de Souza <jose.souza@intel.com>
Subject: i915 and PAT attributes on Xen PV
Message-ID: <Y5Hst0bCxQDTN7lK@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="/WNi7iDpw1KwqA/X"
Content-Disposition: inline


--/WNi7iDpw1KwqA/X
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 8 Dec 2022 14:55:02 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: intel-gfx@lists.freedesktop.org
Cc: xen-devel <xen-devel@lists.xenproject.org>,
	"Demi M. Obenour" <demi@invisiblethingslab.com>,
	Jani Nikula <jani.nikula@linux.intel.com>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
	Matt Roper <matthew.d.roper@intel.com>,
	Lucas De Marchi <lucas.demarchi@intel.com>,
	=?utf-8?B?Sm9zw6k=?= Roberto de Souza <jose.souza@intel.com>
Subject: i915 and PAT attributes on Xen PV

Hi,

There is an issue with i915 on Xen PV (dom0). The end result is a lot of
glitches, like here: https://openqa.qubes-os.org/tests/54748#step/startup/8
(this one is on ADL, Linux 6.1-rc7 as a Xen PV dom0). It's using Xorg
with "modesetting" driver.

After some iterations of debugging, we narrowed it down to i915 handling
caching. The main difference is that PAT is setup differently on Xen PV
than on native Linux. Normally, Linux does have appropriate abstraction
for that, but apparently something related to i915 doesn't play well
with it. The specific difference is:
native linux:
x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT
xen pv:
x86/PAT: Configuration [0-7]: WB  WT  UC- UC  WC  WP  UC  UC
                                  ~~          ~~      ~~  ~~

The specific impact depends on kernel version and the hardware. The most
severe issues I see on >=3DADL, but some older hardware is affected too -
sometimes only if composition is disabled in the window manager.
Some more information is collected at
https://github.com/QubesOS/qubes-issues/issues/4782 (and few linked
duplicates...).

Kind-of related commit is here:
https://github.com/torvalds/linux/commit/bdd8b6c98239cad ("drm/i915:
replace X86_FEATURE_PAT with pat_enabled()") - it is the place where
i915 explicitly checks for PAT support, so I'm cc-ing people mentioned
there too.

Any ideas?

The issue can be easily reproduced without Xen too, by adjusting PAT in
Linux:
-----8<-----
diff --git a/arch/x86/mm/pat/memtype.c b/arch/x86/mm/pat/memtype.c
index 66a209f7eb86..319ab60c8d8c 100644
--- a/arch/x86/mm/pat/memtype.c
+++ b/arch/x86/mm/pat/memtype.c
@@ -400,8 +400,8 @@ void pat_init(void)
 		 * The reserved slots are unused, but mapped to their
 		 * corresponding types in the presence of PAT errata.
 		 */
-		pat =3D PAT(0, WB) | PAT(1, WC) | PAT(2, UC_MINUS) | PAT(3, UC) |
-		      PAT(4, WB) | PAT(5, WP) | PAT(6, UC_MINUS) | PAT(7, WT);
+		pat =3D PAT(0, WB) | PAT(1, WT) | PAT(2, UC_MINUS) | PAT(3, UC) |
+		      PAT(4, WC) | PAT(5, WP) | PAT(6, UC)       | PAT(7, UC);
 	}
=20
 	if (!pat_bp_initialized) {
-----8<-----

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--/WNi7iDpw1KwqA/X
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmOR7LYACgkQ24/THMrX
1yzsegf/UEoA3BXWjSoPh2vPR63ezhmOsqkC/ZOINc54wnoQx7XDzMjC/vUUWsHe
Wx2zWhrarVgRQ6mSV1ZC+gODIcJIn9jTmdLaf/7Ge7osLxgmejKhMaO9xuZ1ppHG
ZcRw+nCl073wchwuNvjAvCcsB3G08HtXiWUlBXj64yC8+RR3zhaqZYUs06T/o1qs
T/4Jf7yzzthVd/LOXSU/FbGfhDqEzOjyHedsOdJHiDuQT9QLitK1J7fh8iN4T5eO
EmDoYO2bo/pA9M9K1jRWfxZF3vFyyEEJPpOKwVc+ahKTMANyymXclFIJuHAAJdyX
wEMEcqHFPXnBbZ+V/vAfrXWoTJbYzg==
=29Zz
-----END PGP SIGNATURE-----

--/WNi7iDpw1KwqA/X--


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 13:58:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 13:58:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457181.715048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3HQF-0008Ga-F1; Thu, 08 Dec 2022 13:58:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457181.715048; Thu, 08 Dec 2022 13:58:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3HQF-0008GS-B1; Thu, 08 Dec 2022 13:58:47 +0000
Received: by outflank-mailman (input) for mailman id 457181;
 Thu, 08 Dec 2022 13:58:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p3HQE-0008GL-V2
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 13:58:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3HQE-0001lX-8f; Thu, 08 Dec 2022 13:58:46 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.4.36])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3HQE-0001ov-1O; Thu, 08 Dec 2022 13:58:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=t0b0iCUbDhSN+c+FZPBcFhKj7dAPNsgaDaM85bezckg=; b=ooDbe3J1ISJ1AR+c5rziKmHvjs
	yumapVV14unS3oUEXh2SUKIJPOE/Wb8EdAuFOxPH/NLkJWrxHWjzsJjCgLDsmw68fY+tCbvBHBqpi
	Ev2qSRAlkvagN9PLH/OfFUDCXIZ9U7x4mP9DhfFmVqBv2bs/B0Qt2a0kmD9crWIT93bE=;
Message-ID: <9b8cace3-1593-8400-0633-da04f12b9849@xen.org>
Date: Thu, 8 Dec 2022 13:58:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH] MAINTAINERS: Clarify check-in requirements for
 mixed-author patches
Content-Language: en-US
To: George Dunlap <george.dunlap@cloud.com>, xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20221208104924.76637-1-george.dunlap@cloud.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221208104924.76637-1-george.dunlap@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi George,

On 08/12/2022 10:49, George Dunlap wrote:
> From: George Dunlap <george.dunlap@citrix.com>
> 
> There was a question raised recently about the requriements for

Typo: s/requriements/requirements/

> checking in a patch which was originally written by one maintainer,
> then picked up and modified by a second maintainer, and which they now both
> agree should be checked in.
> 
> It was proposed that in that case, the following set of tags would suffice:
> 
>     Signed-off-by: First Author <...>
>     Signed-off-by: Second Author <...>
>     Reviewed-by: First Author <...>
> 
> The rationale was as follows:
> 
> 1. The patch will be a mix of code, whose copyright is owned by the
> various authors (or the companies they work for).  It's important to
> keep this information around in the event, for instance, of a license
> change or something else requiring knowledge of the copyright owner.
> 
> 2. The Signed-off-by of the Second Author approves not only their own
> code, but First Author's code; the Reviewed-by of the First Author
> approves not only their own code, but the Second Author's code.  Thus
> all the code has been approved by a maintainer, as well as someone who
> was not the author.
> 
> In support of this, several arguments were put forward:
> 
> * We shouldn't make it harder for maintainers to get their code in
>    than for non-maintiners

Typo: s/non-maintiners/maintainers/

> 
> * The system we set up should not add pointless bureaucracy; nor
>    discourage collaboration; nor encourage contributors to get around
>    the rules by dropping important information.  (For instance, by
>    removing the first SoB, so that the patch appears to have been
>    written entirely by Second Author.)
> 
> Concerns were raised about two maintainers from the same company
> colluding to get a patch in from their company; but such maintainers
> could already collude, by working on the patch in secret, and posting
> it publicly with only a single author's SoB, and having the other
> person review it.
> 
> There's also something slightly strange about adding "Reviewed-by" to
> code that you've written; but in the end you're reviewing not only the
> code itself, but the final arrangement of it.  There's no need to
> overcomplicate things.
> 
> Encode this in MAINTAINERS as follows:
> 
> * Refine the wording of requirement #2 in the check-in policy; such
> that *each change* must have approval from someone other than *the
> person who wrote it*.
> 
> * Add a paragraph explicitly stating that the multiple-SoB-approval
>    system satisfies the requirements, and why.
> 
> Signed-off-by: George Dunlap <george.dunlap@cloud.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Somewhat unrelated. I see you switched to you @cloud.com e-mails. Are 
the @citrix.com to work in the future? If not, then you (and other from 
citrix) may want to send an e-mail to update MAINTAINERS accordingly.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 13:59:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 13:59:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457187.715059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3HQr-0000NB-NU; Thu, 08 Dec 2022 13:59:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457187.715059; Thu, 08 Dec 2022 13:59:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3HQr-0000N4-JK; Thu, 08 Dec 2022 13:59:25 +0000
Received: by outflank-mailman (input) for mailman id 457187;
 Thu, 08 Dec 2022 13:59:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uovv=4G=citrix.com=prvs=334de2702=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p3HQq-00007q-E5
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 13:59:24 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83e7397e-7700-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 14:59:22 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 08 Dec 2022 08:59:20 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6520.namprd03.prod.outlook.com (2603:10b6:a03:394::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 13:59:17 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.016; Thu, 8 Dec 2022
 13:59:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83e7397e-7700-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670507962;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=CqPpt48csCpkHE/0Q2dvcGUsRsYXhmd0pKhy3mMX4m0=;
  b=S+0TnJjMEuV06i03vCzlsgJhUvj21AQG4/zmeAa0KvKiqHKtnk//t6kN
   uQaiQxaZAXPZzgHFH87w6ctwOl4eSB0VTDt9k/RxobTkYUuBkeeV6dxwY
   /IslnsMNa9C2X+JUoRNiQYk1V1rcNiLsruD5lXovIbayEuSO4flPo4WCj
   U=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 87670697
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:GhxShaiqVeOcY6iLvGYB5lHRX161QhEKZh0ujC45NGQN5FlHY01je
 htvWGyOPviLMTbxf9B3a9i3ph5Q7JHXmNI2GQNu+SFhFywb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5geOzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQjKT4AQxyIlt6a76+HEeYwh9gqJ/LSadZ3VnFIlVk1DN4AaLWaGuDgw48d2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEhluGzYbI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6ROLmqaY00QL7Kmo7Ak0ReFfq4tSFqGXneP9iG
 gsT1BF1sv1nnKCsZpynN/Gim1aUsxhZV9dOHukS7ACW1rGS8wufHnIDTDNKdJohrsBebT4g2
 0KNntjpLSdyq7DTQnWYnp+LqRuiNC5TKnUNDRLoViMA6tjn5Ys13hTGS486FLbv14OkXzbt3
 zqNsS4ywa0JitIG3Lm6+laBhC+wop/OTUg+4QC/sn+Z0z6VrbWNP+SAgWU3J94ZRGpFZjFtZ
 EQ5pvU=
IronPort-HdrOrdr: A9a23:k+7C/aGLREuu4jfRpLqELMeALOsnbusQ8zAXPiBKJCC9E/bo8v
 xG+c5w6faaslkssR0b9+xoW5PwI080l6QU3WB5B97LMDUO0FHCEGgI1/qA/9SPIUzDHu4279
 YbT0B9YueAcGSTW6zBkXWF+9VL+qj5zEix792uq0uE1WtRGtldBwESMHf9LmRGADNoKLAeD5
 Sm6s9Ot1ObCA8qhpTSPAhiYwDbzee77a7bXQ==
X-IronPort-AV: E=Sophos;i="5.96,227,1665460800"; 
   d="scan'208";a="87670697"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KaDJE68bZI1ilhmOPje9ujHwC8Zz/SoEVgUNJ9lJv+c2/NcM4jSS5zs6896xgGzdbNuzeOeKoEeQFj2Ac7eoBwFK3Vbr+SvU9jBmTLenzcBO83jh3vvnbBPFzK7ihwRi9O1MQFHIZF0jSM52YE0wbUgzlQFWMD2MvRuVyC/iPCAr50T3U9PdHokaliCeLspKd2ygxTL7HYCxl6svRp0Z9TbqOueYcrv+oojwbx5PtEsitZPlEGkPVMuqUYLu0QzhG4JpgRACj+k2IgbVSTM20smT8G13YuiIpgsU6CORaADjwO9Zu5q1TiatHlrl/ESEjd8UsoWPi9O2td8aJkyPpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CqPpt48csCpkHE/0Q2dvcGUsRsYXhmd0pKhy3mMX4m0=;
 b=ft1ZuN3/97JRNyywdM61hzq54MSDrOHZFkcnPYriMcpQX3x3b99DvcaIjKt3AR85auqdi21RYlaViVigoZ7p7Uk/m82Db3K7RkauLlVHNa+l+kMu/i9uLFbFBKHITF+G6nQk3EHgEY+7F1nQ+HZibVHo3lCNK8zOW0DK/i4QxoxCT1YAZpmfDIpa/5CkNEhyvBeHRTA5pHHKL5SpFZ8ZUFR/EjvLeQUxrls6ZhlxL4NIvlrGxdiODM/bWiUZXx16QEyyndqLKxTK+nl+dl17Ze5YbtlJ/5kXYivZOwGUjsplnJ+rRL5x8zNjGyy0jqFpXTiqUpHEjsRZq/YhV0zIPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CqPpt48csCpkHE/0Q2dvcGUsRsYXhmd0pKhy3mMX4m0=;
 b=dT9rlkQdul0VFf87WGj+DAxwyRDMHCFOWzVTFvXVqE9J7z6SiDs+0d7vpdL76fO0KE1QNTdrRKh7ziB3gLbU2wNDHeoE3wdNJ8O6oIGDYMXgkqxzdCmcIqbtyk+/L2F7ngREs3SoHF8rqgQ91pFPiXiBJ19lWivfUTRnBMKORb0=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Sergey Dyasli <sergey.dyasli@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/2] x86/ucode: allow cpu_request_microcode() to skip
 memory allocation
Thread-Topic: [PATCH 1/2] x86/ucode: allow cpu_request_microcode() to skip
 memory allocation
Thread-Index: AQHZCwjAky6i1T4UZEeH7yXOYJiUd65kBHMA
Date: Thu, 8 Dec 2022 13:59:16 +0000
Message-ID: <c6676171-8cab-dfbc-4b18-d9c724588398@citrix.com>
References: <20221208132639.29942-1-sergey.dyasli@citrix.com>
In-Reply-To: <20221208132639.29942-1-sergey.dyasli@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6520:EE_
x-ms-office365-filtering-correlation-id: 0573cb7f-3b6b-42fb-8d39-08dad9246567
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 ckARAOdf+mXDxjzdgv2V6kyMN4VuddEmywWE01zcI5mnEyIR1F32gI2JupUwhvs2bY4XF+UUICuG0aGg+qEyMiFIWPeSc34+wRNKWEnfpTxoNvfz+H45BQqZxV2ZHHYJx0/nOXZpHA1/wbG7iiD+t6bj2IeDW3IH0lfFzbno5+hvSWjTPLHAtwzUX5uvgVTB0poLfzVTiZtQuJ3A+J5g1bE1RQpRiHx3QLyw8zduudW5X5KtSxzdQkae8Ioq73oVaNIDnMXa+Rxbxd/FaJGRR0IX8+uRyIS5lwfqjuWp4t1sh/QHRvfe54S6nKWpKNVwB3B7bo4meVBO8yFe5ylpjW/CV5Rsu1bFj1R5a+YQ1XUicMXtsGnxfwXb5L2VAlu/ESiPuDqVygSUf8KZ7PtSpeX0Fiqr+yskckYJIJ+Giw7IFVNNY38jNcJiSjTu9S3YUeLKgbPGYO4KRd/ozkK3iKL1JSDUJ/hRWo2HoAGIkjXzsSHp43DLD8CRKXPSS6n8xuF/sWvhHDauiOggebkcM0syc+coU3utPidYrUHBjs1ZAU+Nliz6dd5P1KiJm35W1jYfJk0xEusHUM5XMuj1Bf67QU/sjBdJxQCTcduPEzp5XKNf5x6qJt/1Jb5mHNCyqa+Mc6JQBSDFFR6t9KttEKqiRwSkW0tWy2TR/T0zdJneiQk7Gn6b/+X666cZ17b3ZS+qLylaBe5W/gpU8c3phBPa7J2z/wkPLFkKA5YIpNqREF/4Lf2cNg/t+hJBt6E2NWstwJ1nv5YthNY2yP3Heg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(396003)(376002)(136003)(346002)(451199015)(54906003)(36756003)(2906002)(31696002)(86362001)(8936002)(5660300002)(4326008)(38070700005)(38100700002)(71200400001)(83380400001)(122000001)(478600001)(2616005)(66446008)(66946007)(6486002)(66556008)(110136005)(82960400001)(31686004)(316002)(76116006)(91956017)(8676002)(53546011)(41300700001)(6512007)(186003)(64756008)(6506007)(26005)(66476007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?TldRYjRIam02RjV1Y0Q4QjNXYUZhYUR4c0dsVmRlV05JbFFyUDVGNFRSQkVG?=
 =?utf-8?B?TjZ6NUlvNmQ0SldKY2c5TjNweHFTazZDb0dFZ3hvOTFHUmhDSjVqRHlLRk9s?=
 =?utf-8?B?NEkvRm9tTmgwYVFQeCtDK29CZGhlcHB3d2tDR0RLaFIzWjcxNE0xK0E4V1ZD?=
 =?utf-8?B?NEFKTERJcU5jcEpxMEJmV0NSeFBoRS8rWXEzQi84emEwZ0MwMjNveUdZbzlS?=
 =?utf-8?B?TlZKWVRPellmOFlhQklESys5amZ0Zm5PazRnRnRob3RZWkUxYlp6Qjcra3hi?=
 =?utf-8?B?VmgrUHk2T1U5V0g4WjFvYU5vNjhxWnpQbWdJTVo4Ym00SUVTR25peG1COVZ4?=
 =?utf-8?B?alp6OVdQSU1YMGUxaU9neVY3WUhRdmp0eXRjTEJ4dWlzdzhjYk1JRm4zU1JE?=
 =?utf-8?B?RDhuVVNJSkVvUGdJd3VacHBhNWIzSGFTbXRjVFJ3dmRiZ29sd0F4ck5QZ3U1?=
 =?utf-8?B?TnpFdEdkWkZQNEtZNm96YitNNFQreDJzM1BQRnJzaGRTeG12b1pmd3MvSGxz?=
 =?utf-8?B?d2wydklGeEpLck5hZHgzSVdMa0FHaWcwcEdLeWdLS2U1TlVVNVJMdXNHVzdF?=
 =?utf-8?B?SXZhZU9ONm5pMWZQNDBSQkVDWURCUmV2TlhoU040MXo3MG1hcE1UeHVtMlRY?=
 =?utf-8?B?d3liMlJHN2p5Y1VPcktGcGsvNVdvYzhacUk2MEFjNmh5aFJmSDl6Vk9iY3Rv?=
 =?utf-8?B?Smo2bmM0VzNLUXZnQk9nb2pYRFBDd2QrUE1PQWtVeHhsNTJFUUZOT0FMU2Zi?=
 =?utf-8?B?T0lsTHZCTUF0bGtoSnJDQytPOCtPTmlNR1grYy9IZUt6MEIyWHdxcUhRM3lk?=
 =?utf-8?B?bXprMVZzNVBQUXVBSVRFNVlKeG9PdElRQk0xNGtSaXdTNDZBaGdNM1hoMkZw?=
 =?utf-8?B?Q1FwWlg3UnpETHlpMEg0eHo3YjNaYTlmRjNHNW5aT09aU3ZkNWpvRjZZL3pK?=
 =?utf-8?B?WHlxZzA3WW5CZEFJK2F5MUlyTXhidnBJeHkrTHMycDl1aWVoMzRncVJGZmdt?=
 =?utf-8?B?M3h1MTlkOGNzeW9hQVN0bndTUGFYMzNjVFNjaHJrQS9iczBzS1psT1lrRWll?=
 =?utf-8?B?Umh6RC9JYzlOT2QwNzZOaFlxZFpCbksvRlFBWGNFdWFNT2VNdlNnaWtzMEJl?=
 =?utf-8?B?NUJPa2p0YWt0NCtFaWVMM0hJUUt2VnYzckRaOUFWN3hBa1ZoeVJpL2s4QzA3?=
 =?utf-8?B?YkZGekh2cENPajRWNEErcVRpWWdmL0JUZm5ZM29lUXFJOVVXNmw0ZHlQOTVE?=
 =?utf-8?B?VCtzd2pDdFBMUEdyMHp6YUdnNTlEZHNoK05MaUxrc0dwclNBdVJVdjJLQms2?=
 =?utf-8?B?cVJsVmVDYU5vYmVWcmlha0Q4cU5kUGZoQ09VajFVNXhVS0VDeFAwWGxiei9V?=
 =?utf-8?B?bDJTaVRwQzhxTWpjY045aDRMeEdaTmRRN3IrRG5sMCtXYjNuOGU3RWZIOUtu?=
 =?utf-8?B?UklZdHhQMjdzSG1JL1NpY3FpbTlLTmw3QmxwYXJkQ1JiaDBoa0lzQ1F0d1FP?=
 =?utf-8?B?cWREZTdqTFpDemxSRmZlMmpaY0RwQ28xRmZrNHQrOHp6MEJTYi9qb2F2L1Qy?=
 =?utf-8?B?TzRaTGRUeHI5elRPZHVubS9hMWt6dXkzRVNuckNYYklET1hDYlA5emFqTHJK?=
 =?utf-8?B?MmNlUkxhY09meU9HbFp5N1BleFZvYU1xWHl4Z0JicE5qeVE4K1ZDSWkyMUxZ?=
 =?utf-8?B?ZC93WHI1d0VOSnlqQ0czTGQ1bDFkUnJKaWZISU81N2VsRk1yYmU2YWZXZkFO?=
 =?utf-8?B?QmdkUTNObS93c21tMmZ2aDFkZ2NhYlZtY216eWJIQ2pKTHVaTVhrRW5CcWtS?=
 =?utf-8?B?TjB2NWVXb1hjT3hKWTRWa2NqUVpLRFBlaGx1WHRkdGFMUFZadnc0ZUZ1Nnps?=
 =?utf-8?B?ZGRTR0IwT0pWUE9JWm54M25mZU12N1VLQnlVYU5ncGtPMTF5VjB3NnUzcitL?=
 =?utf-8?B?alJROG5VK3JRNnkvS2VFUUovcUl0clFzUXdhNlFHUWZJTTRSNWt4Y3VjTnp1?=
 =?utf-8?B?OVpEZk9ObXdiNVhGaEFVVXJwTTJuOEt4dEtQWWN0QWR5cWltOWRJNmE1K1ZN?=
 =?utf-8?B?YTBodVM4YjBCcmo3LzlGS0l0ZHRzak04dCtNbmJobHlzbVg1WDRUeXN6b2du?=
 =?utf-8?Q?9tXoAgmUWL5oDqPB4UyuJyJ48?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <59227C9AEE79DF4D8626F1E0F8900EE9@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0573cb7f-3b6b-42fb-8d39-08dad9246567
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Dec 2022 13:59:16.9525
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xFArXO+EbsU/cWr/IpUtlyktVOtm6OrHdEin1JUrn8wWiVo8vRdqcJuUrTTUjbMCxkRZ32nVHTXq3E+4TYjMW5864VG5wNhbWeVaZYe+PCw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6520

T24gMDgvMTIvMjAyMiAxMzoyNiwgU2VyZ2V5IER5YXNsaSB3cm90ZToNCj4gZGlmZiAtLWdpdCBh
L3hlbi9hcmNoL3g4Ni9jcHUvbWljcm9jb2RlL2NvcmUuYyBiL3hlbi9hcmNoL3g4Ni9jcHUvbWlj
cm9jb2RlL2NvcmUuYw0KPiBpbmRleCA0NTJhN2NhNzczLi45MjRhMmJkN2I1IDEwMDY0NA0KPiAt
LS0gYS94ZW4vYXJjaC94ODYvY3B1L21pY3JvY29kZS9jb3JlLmMNCj4gKysrIGIveGVuL2FyY2gv
eDg2L2NwdS9taWNyb2NvZGUvY29yZS5jDQo+IEBAIC05OSw3ICs5OSw3IEBAIHN0YXRpYyBib29s
IHVjb2RlX2luX25taSA9IHRydWU7DQo+ICBib29sIF9fcmVhZF9tb3N0bHkgb3B0X3Vjb2RlX2Fs
bG93X3NhbWU7DQo+ICANCj4gIC8qIFByb3RlY3RlZCBieSBtaWNyb2NvZGVfbXV0ZXggKi8NCj4g
LXN0YXRpYyBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoICptaWNyb2NvZGVfY2FjaGU7DQo+ICtzdGF0
aWMgY29uc3Qgc3RydWN0IG1pY3JvY29kZV9wYXRjaCAqbWljcm9jb2RlX2NhY2hlOw0KPiAgDQo+
ICB2b2lkIF9faW5pdCBtaWNyb2NvZGVfc2V0X21vZHVsZSh1bnNpZ25lZCBpbnQgaWR4KQ0KPiAg
ew0KPiBAQCAtMjQwLDIwICsyNDAsMjAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVf
cGF0Y2ggKm5taV9wYXRjaCA9IFpFUk9fQkxPQ0tfUFRSOw0KPiAgICogcGF0Y2ggaXMgZm91bmQg
YW5kIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgdGhlIHBhcnNpbmcgcHJvY2Vzcy4gT3RoZXJ3aXNl
DQo+ICAgKiByZXR1cm4gTlVMTC4NCj4gICAqLw0KPiAtc3RhdGljIHN0cnVjdCBtaWNyb2NvZGVf
cGF0Y2ggKnBhcnNlX2Jsb2IoY29uc3QgY2hhciAqYnVmLCBzaXplX3QgbGVuKQ0KPiArc3RhdGlj
IGNvbnN0IHN0cnVjdCBtaWNyb2NvZGVfcGF0Y2ggKnBhcnNlX2Jsb2IoY29uc3QgY2hhciAqYnVm
LCBzaXplX3QgbGVuKQ0KPiAgew0KPiAgICAgIGFsdGVybmF0aXZlX3ZjYWxsKHVjb2RlX29wcy5j
b2xsZWN0X2NwdV9pbmZvKTsNCj4gIA0KPiAtICAgIHJldHVybiBhbHRlcm5hdGl2ZV9jYWxsKHVj
b2RlX29wcy5jcHVfcmVxdWVzdF9taWNyb2NvZGUsIGJ1ZiwgbGVuKTsNCj4gKyAgICByZXR1cm4g
YWx0ZXJuYXRpdmVfY2FsbCh1Y29kZV9vcHMuY3B1X3JlcXVlc3RfbWljcm9jb2RlLCBidWYsIGxl
biwgdHJ1ZSk7DQo+ICB9DQo+ICANCj4gLXN0YXRpYyB2b2lkIG1pY3JvY29kZV9mcmVlX3BhdGNo
KHN0cnVjdCBtaWNyb2NvZGVfcGF0Y2ggKnBhdGNoKQ0KPiArc3RhdGljIHZvaWQgbWljcm9jb2Rl
X2ZyZWVfcGF0Y2goY29uc3Qgc3RydWN0IG1pY3JvY29kZV9wYXRjaCAqcGF0Y2gpDQo+ICB7DQo+
IC0gICAgeGZyZWUocGF0Y2gpOw0KPiArICAgIHhmcmVlKCh2b2lkICopcGF0Y2gpOw0KDQpUaGlz
IGh1bmsgZGVtb25zdHJhdGVzIHdoeSB0aGUgaG9vayB3YW50cyB0byByZXR1cm4gYSBub24tY29u
c3QNCnBvaW50ZXIuwqAgS2VlcGluZyBpdCBub24tY29uc3Qgd2lsbCBzaHJpbmsgdGhpcyBwYXRj
aCBxdWl0ZSBhIGJpdC4NCg0KR2l2ZW4gdGhhdCBtYWtlX2NvcHk9ZmFsc2UgaXMgYSBzcGVjaWFs
IGNhc2UgZm9yIHRoZSBCU1AsIGl0IGNhbiBjb3BlDQp3aXRoIGtub3dpbmcgdGhhdCBpdCBzaG91
bGRuJ3QgbXV0YXRlIHRoZSBwb2ludGVyIGl0IGdldHMgZ2l2ZW4gYmFjay4NCg0KDQpJIGRvIGhh
dmUgYSBwbGFuIGZvciB0aGUgZnV0dXJlIHRvIHJlZHVjZSB0aGUgY29tcGxleGl0eSBoZXJlLCBi
dXQgaXQNCmRlcGVuZHMgb24gZ2V0dGluZyBhIGZldyBtb3JlIGRldGFpbHMgb3V0IG9mIEFNRCBm
aXJzdC7CoCAoQWxsIG9mIHRoaXMNCm1lc3MgaXMgYmVjYXVzZSB0aGVpciB1Y29kZSBkb2Vzbid0
IGhhdmUgYW4gZW1iZWRkZWQgbGVuZ3RoIGZpZWxkLikNCg0KSW4gdGhlIHNob3J0IHRlcm0sIGhh
bmRpbmcgdGhlIEJTUCBhIG5vbi1jb25zdCBwb2ludGVyIHRvIGEgY29uc3QgYnVmZmVyDQpmb3Ig
ZWFybHkgbG9hZGluZyBpcyBnb2luZyB0byBiZSBhIGxlc3NlciBldmlsIHRoYW4gaW4gdGhlIGNv
bW1vbiBjYXNlDQpnaXZpbmcgdGhlIGNhbGxlciBhIGNvbnN0IHBvaW50ZXIgdGhhdCB0aGV5J3Jl
IGV4cGVjdGVkIHRvIGNhbGwgeGZyZWUoKSBvbi4NCg0KSWYgdGhpcyBpcyB0aGUgb25seSBpc3N1
ZSwgdGhlbiBJJ20gaGFwcHkgdG8gYWRqdXN0IG9uIGNvbW1pdC4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 14:27:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 14:27:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457200.715070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Hrl-0004fj-VS; Thu, 08 Dec 2022 14:27:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457200.715070; Thu, 08 Dec 2022 14:27:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Hrl-0004fc-Sh; Thu, 08 Dec 2022 14:27:13 +0000
Received: by outflank-mailman (input) for mailman id 457200;
 Thu, 08 Dec 2022 14:27:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vAIj=4G=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p3Hrk-0004fW-NP
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 14:27:12 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6733b703-7704-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 15:27:11 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id r26so2007166edc.10
 for <xen-devel@lists.xenproject.org>; Thu, 08 Dec 2022 06:27:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6733b703-7704-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=NjdFN+VBR9jPMCrxotZkJn5+bTmRIOswW5BKec2o8+0=;
        b=EKd5etTwaek9y6yvl6PVUs5u+kEl3FcxyG4+/0T/CJdfP/g4cuvx8MKw7p044PEbI2
         +DwgZ3DOIdIHHUv4WHr0pEQYEokHJFOXKdlUW0uev6Q+Kj19m67tiUELKFMovip+FyDh
         iP7t+ahD5TtJqNGboonUEMny8Xj4CxHcKN7Q4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=NjdFN+VBR9jPMCrxotZkJn5+bTmRIOswW5BKec2o8+0=;
        b=ISdnIk76EIg9UMsBwGvXpA8FezuOTC/3wts6TuVxYQjOTdwtCpGxdjEXxzW6YbWisx
         rr70uTAf1JRHYh1R23kFLb13gMTGTucgd+MIC+dvODGotrxKaWpmbZfXTV2o7qDIAaZC
         x4f2T7mSBpynTTZUGx3/Go3AAu/Q07TFeBgBq5yMPsU9+77giFXOGQSnyVZmaMTXfp31
         jn/fO6J5sPcFhODr7+QBe3vZnpOWBv9OwZX69jsBRecmuf7qOOnd05N0cNx/z5TFIK22
         ci8/XnYr9VyDZC+GcLRC6yqryTgJS8LZ1YkZmD9+53YM++Cc/JOds+CSRzFTFteK1kCG
         xflw==
X-Gm-Message-State: ANoB5pmQCc5xA4r6AufwDqPEODqcIDUf8nxCUUVrN8tGfqh3mxtKtyl/
	U1hqdgzmEE4bjoAtqu1JKTFBhO76qyW5iTYrHkKPQA==
X-Google-Smtp-Source: AA0mqf4ADxuyb+YyfEBI6Vk68JjxrLgLGtjyzUjtpO1RdBuM+ztKy89eLELV4gHPuar2OBJPYaoWgng4GJrMK2as95Y=
X-Received: by 2002:a05:6402:3789:b0:467:7664:c7f4 with SMTP id
 et9-20020a056402378900b004677664c7f4mr4290831edb.99.1670509630865; Thu, 08
 Dec 2022 06:27:10 -0800 (PST)
MIME-Version: 1.0
References: <20221208104924.76637-1-george.dunlap@cloud.com> <9b8cace3-1593-8400-0633-da04f12b9849@xen.org>
In-Reply-To: <9b8cace3-1593-8400-0633-da04f12b9849@xen.org>
From: George Dunlap <george.dunlap@cloud.com>
Date: Thu, 8 Dec 2022 14:26:59 +0000
Message-ID: <CA+zSX=Z=fX+BPHqxNVTiNipkBWdWPf+g0H6vetHoSy3vtN0shQ@mail.gmail.com>
Subject: Re: [PATCH] MAINTAINERS: Clarify check-in requirements for
 mixed-author patches
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, George Dunlap <george.dunlap@citrix.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Content-Type: multipart/alternative; boundary="0000000000002461a705ef51d559"

--0000000000002461a705ef51d559
Content-Type: text/plain; charset="UTF-8"

On Thu, Dec 8, 2022 at 1:58 PM Julien Grall <julien@xen.org> wrote:

> Hi George,
>
> On 08/12/2022 10:49, George Dunlap wrote:
> > From: George Dunlap <george.dunlap@citrix.com>
> >
> > There was a question raised recently about the requriements for
>
> Typo: s/requriements/requirements/

...

> Typo: s/non-maintiners/maintainers/
>

Thanks, I've changed these locally.


> Acked-by: Julien Grall <jgrall@amazon.com>
>

Great, thanks.


>
> Somewhat unrelated. I see you switched to you @cloud.com e-mails. Are
> the @citrix.com to work in the future? If not, then you (and other from
> citrix) may want to send an e-mail to update MAINTAINERS accordingly.


Yes, I think all the XenServer people will do that at some point, once some
things have settled down.

 -George

--0000000000002461a705ef51d559
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Thu, Dec 8, 2022 at 1:58 PM Julien=
 Grall &lt;<a href=3D"mailto:julien@xen.org">julien@xen.org</a>&gt; wrote:<=
br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi George,<br>
<br>
On 08/12/2022 10:49, George Dunlap wrote:<br>
&gt; From: George Dunlap &lt;<a href=3D"mailto:george.dunlap@citrix.com" ta=
rget=3D"_blank">george.dunlap@citrix.com</a>&gt;<br>
&gt; <br>
&gt; There was a question raised recently about the requriements for<br>
<br>
Typo: s/requriements/requirements/</blockquote><div>...=C2=A0</div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px=
 solid rgb(204,204,204);padding-left:1ex">
Typo: s/non-maintiners/maintainers/<br></blockquote><div><br></div><div>Tha=
nks, I&#39;ve changed these locally.</div><div>=C2=A0</div><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid r=
gb(204,204,204);padding-left:1ex">
Acked-by: Julien Grall &lt;<a href=3D"mailto:jgrall@amazon.com" target=3D"_=
blank">jgrall@amazon.com</a>&gt;<br></blockquote><div><br></div><div>Great,=
 thanks.</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"m=
argin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left=
:1ex">
<br>
Somewhat unrelated. I see you switched to you @<a href=3D"http://cloud.com"=
 rel=3D"noreferrer" target=3D"_blank">cloud.com</a> e-mails. Are <br>
the @<a href=3D"http://citrix.com" rel=3D"noreferrer" target=3D"_blank">cit=
rix.com</a> to work in the future? If not, then you (and other from <br>
citrix) may want to send an e-mail to update MAINTAINERS accordingly.</bloc=
kquote><div><br></div><div>Yes, I think all the XenServer people will do th=
at at some point, once some things have settled down.</div><div><br></div><=
div>=C2=A0-George=C2=A0</div></div></div>

--0000000000002461a705ef51d559--


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 14:29:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 14:29:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457206.715081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3HuH-0005F5-Da; Thu, 08 Dec 2022 14:29:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457206.715081; Thu, 08 Dec 2022 14:29:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3HuH-0005Ey-AU; Thu, 08 Dec 2022 14:29:49 +0000
Received: by outflank-mailman (input) for mailman id 457206;
 Thu, 08 Dec 2022 14:29:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vAIj=4G=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p3HuF-0005Eo-Fa
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 14:29:47 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c3a9cf57-7704-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 15:29:46 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id s5so2012017edc.12
 for <xen-devel@lists.xenproject.org>; Thu, 08 Dec 2022 06:29:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3a9cf57-7704-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=l0qPeIJOIhjyznECtS8fut53UHjwwwvuJgNhcuFSxik=;
        b=F4im1xeuNsIHAoynnPnzNqgADfYLPxg7tRqVhDLeAVqg8lRvz4LWnUODB15CjtXFQ/
         6X3GMxuB5KlR+9x7stEW5jVrOydmBXaLukY8REPLyLC4t3XBjkgIeFnmII+15hPVMgaz
         2ITnNdt4hKiXbHlgEBmPhaH0SoWkqxVuU8wag=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=l0qPeIJOIhjyznECtS8fut53UHjwwwvuJgNhcuFSxik=;
        b=oTiG7rU2ZLItt3+r6gY7MLD5/jMC3+STSwyVytwH9CZ0wRs1qMTV7HFdk6VehRGZrg
         ROxfCGEDfFbbKeL4B5+jb0PbzjYLAIp4wMxJz+8EzQYtbJiWllh2HuiZwxez5ilGf8N3
         /anJYAfvplQ7rjY77isbAAb6HcIJBFWyv2BjVr+BhuYQaVbw1bW0BdsFFrR7k9GQPoOP
         s3BeLHMPXmK3MPtezWgsPy8dw7dnEXb8RM6CoZ8VCHhBm78m6ZAMFbUoNCdMaMTf7W/H
         8OhP7JX1LIdQtwRMH5TyZC1t8mVJMJGzDe8leN0ecYHhfsKi/Vd09YOhZRYalhYxCVMV
         wmHA==
X-Gm-Message-State: ANoB5pnUbVVvfL7SVMBu5f4sT0vD3k/gRKWhvSA5HLFHFHeTXzmbe2/G
	0Im4UUtelADTsf5Vt7hWtPifW3TXEb9/H7C4IL1LnihZGJ2cNAZo
X-Google-Smtp-Source: AA0mqf40fJB1MHrF64hiQVc6Y8BkQI2b0sc/5v5PSZL8QNXySxooB6l5bmWw/LlA2vVllVMaC+sg5oiMii8e6cYE7MI=
X-Received: by 2002:aa7:cb96:0:b0:461:bacd:c85d with SMTP id
 r22-20020aa7cb96000000b00461bacdc85dmr40701439edt.278.1670509785826; Thu, 08
 Dec 2022 06:29:45 -0800 (PST)
MIME-Version: 1.0
From: George Dunlap <george.dunlap@cloud.com>
Date: Thu, 8 Dec 2022 14:29:35 +0000
Message-ID: <CA+zSX=Z16e5GufsNscxTEQ0rzrKLUkjqT+0+gegB-4STDWjFKA@mail.gmail.com>
Subject: Feedback on Xen Summit 2023 options
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="00000000000060fe1105ef51de82"

--00000000000060fe1105ef51de82
Content-Type: text/plain; charset="UTF-8"

Hey all,

Here's a quick poll to get feedback on our current choices for Xen Summit
2023, some of which have non-standard parameters.

https://cryptpad.fr/form/#/2/form/view/rNLNfq9nWLHN0v7nN3xYygDtk5iMvCkUCQFiM7iEhLA/

The poll will stay open until the next community call, but obviously the
earlier you can respond the better.

Thanks,
 -George Dunlap

--00000000000060fe1105ef51de82
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hey all,<div><br></div><div>Here&#39;s a quick poll to get=
 feedback on our current choices for Xen Summit 2023, some of which have no=
n-standard parameters.=C2=A0=C2=A0</div><div><br></div><div><div><a href=3D=
"https://cryptpad.fr/form/#/2/form/view/rNLNfq9nWLHN0v7nN3xYygDtk5iMvCkUCQF=
iM7iEhLA/">https://cryptpad.fr/form/#/2/form/view/rNLNfq9nWLHN0v7nN3xYygDtk=
5iMvCkUCQFiM7iEhLA/</a><br></div></div><div><br></div><div><div>The poll wi=
ll stay open until the next community call, but obviously the earlier you c=
an respond the better.</div><div><div><br></div></div></div><div>Thanks,</d=
iv><div>=C2=A0-George Dunlap</div></div>

--00000000000060fe1105ef51de82--


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 14:37:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 14:37:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457214.715092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3I22-00070i-5Q; Thu, 08 Dec 2022 14:37:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457214.715092; Thu, 08 Dec 2022 14:37:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3I22-00070b-2R; Thu, 08 Dec 2022 14:37:50 +0000
Received: by outflank-mailman (input) for mailman id 457214;
 Thu, 08 Dec 2022 14:37:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nm3U=4G=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1p3I21-00070P-3h
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 14:37:49 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e15dc4e3-7705-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 15:37:47 +0100 (CET)
Received: from [10.10.1.154] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1670510259679275.94089091939793;
 Thu, 8 Dec 2022 06:37:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e15dc4e3-7705-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; t=1670510262; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=CxX50lKZr1EuHEt8z9yIAfyfkobxTEcr2n1wnKuOfIX26fnTKle5HJP+thJIidTvZ3mXPdO/YdExLwOEoevkLFV2NrDc8u98S0WdkvblUZk94nNiN7ZtGQS+uxcFKZjIxq74D/ipPxfxODS1NEBNoRrYrFJHDwH3TiYnghnRbzE=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1670510262; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=h28PH3SivYi1nEcbXtVQMxx4cEMNHT5Jco8sKuWi9ZM=; 
	b=lbZSJn3ZbXQT7Dr6qQ7iTW89k5dZSfiasgytr3h9Oxnnz/cgvMpjRG4ly/0bUMKEzPCD5s7UzO6NMmNjyk/83E5bi2BtsYTUHjth4H4PIxFryioI7kJZJESNLBLn8+NAdEHKpqTg9G2r+u2zPr/y7Z5h6JSCgOuyj602s1+4C3A=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1670510262;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=h28PH3SivYi1nEcbXtVQMxx4cEMNHT5Jco8sKuWi9ZM=;
	b=liO636dI6RLQ4/rcy2AdR0wAKh50W6LEdxsYbFyPfd2XNiqwztCyrgpTLEc5cVRC
	G2BWNLiys37oRX0fUUHD0FSDTuK+VaXjuss7t1/sHxYDAbiyLls2JWk+SHXnQoABtpN
	8XLm18PFAATluyayLWid6ohbisyZ5qq1AjD6A+N4=
Message-ID: <27c4329c-4161-d259-58fc-a05e52dd6fe1@apertussolutions.com>
Date: Thu, 8 Dec 2022 09:37:37 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH v2] xsm/flask: misra rule 8.4 fix
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com, michal.orzel@amd.com
References: <alpine.DEB.2.22.394.2212071519340.4039@ubuntu-linux-20-04-desktop>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <alpine.DEB.2.22.394.2212071519340.4039@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 12/7/22 18:24, Stefano Stabellini wrote:
> Fix several MISRA Issues Rule 8.4 ("A compatible declaration shall be
> visible when an object or function with external linkage is defined")
> found by cppcheck affecting xen/xsm/flask.
> 
> - policydb_loaded_version is not declared; removed it because it is
>    unused
> - move ss_initialized declaration to xen/xsm/flask/include/conditional.h
> - #include <conditional.h> (which is
>    xen/xsm/flask/include/conditional.h) in xen/xsm/flask/ss/policydb.c so
>    that policydb.c also gets the declaration of ss_initialized
> - #include <conditional.h> in xen/xsm/flask/ss/services.c to declare
>    security_*_bools functions that services.c is defining and using
> 
> This patch solves all the Rule 8.4 violations found by cppcheck on xsm/
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> 

Ack-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 15:01:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 15:01:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457223.715103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3IOj-0002Ro-3I; Thu, 08 Dec 2022 15:01:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457223.715103; Thu, 08 Dec 2022 15:01:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3IOi-0002Rh-Vw; Thu, 08 Dec 2022 15:01:16 +0000
Received: by outflank-mailman (input) for mailman id 457223;
 Thu, 08 Dec 2022 15:01:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YEW2=4G=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p3IOh-0002Rb-Pe
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 15:01:15 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25cfef3f-7709-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 16:01:10 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by CY8PR12MB7289.namprd12.prod.outlook.com (2603:10b6:930:56::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 15:01:05 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c%5]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 15:01:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25cfef3f-7709-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MY0bXqRJK/vkBbGo73yDj33BP7v1pkF3kfiAN86rR0eatfGG62fa3KsXpsuckpMkj3sJ1qbf3aNXZHEnGPxhTLKnX5xlKB22Bz3YEVLPaFggc6vr6h6PlB6Qhow0365/VLK0rGe0n6fa55ZPFd+90nil36jmm+8Ee8vKMDuxmf9WIHn4nrgwRXb6L6wUA9soP9Bn8m258sw3U2UfSNnBrF7n1II8Zm1QZ69k3seuyDbaW3yjCSfShkBczJPO7DR5oaew6j7xqmkfjUbeZuS/iGnHYPU+M8XqiXDMtMstS9d+a+Ip2d8uxZbBJl6Yc5/ZbIrZxU5u4rwp2KOoMMk69Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=trOoBB4zJ/Q2br93f+i3mHaJUxaW568hjl3j95QlG28=;
 b=ecz9EHd+Xyb+JapgX7dAvz/4TKm7mYv+eufjdst30NQ5czsZhn89Zqoz75kzvOyZABkBxksp73SD1qe4DvKDnyBzpUPvc91XzqFxtZG6iJ3akW5f/CaTv/vCyTD40McjedJXsNB0WsTiWqNr6E66SRJeUUDkYGLSpLftXCWSgi7aqBhXMgnbFJRR4y/GHOmWtea9bm02tamhU0QYl9AZKRCjtM+jj7p87RPfhEi0kNkwWa84Pulj+Q5VVHdtFDHsPZMF/bhOMKjNx9y1HVcXWf6gynAF3jI47qNTL4fOYRsJLXQN4jlRR2I+zx3zHw5RnpdrrNSuyMIu6KutI4v37A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=trOoBB4zJ/Q2br93f+i3mHaJUxaW568hjl3j95QlG28=;
 b=kLmPY1uPyyMuCDr/VAHLRK6RXaN6cVWw4mSXiNHIorY5pD+ScWTNwUTjGIklo+3f2/FpYK8gebeNZfUoG0DTGfq6hmFOCmZH4qq54DQzVR1FtUsp4cLPqgFF3zDsnGUChD66QQyAG9v5/s1Jx9tFEzy+ouaY94Nr+hJ7zYCR3es=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <07f9eaad-05bd-6b51-23d4-f81664512f5f@amd.com>
Date: Thu, 8 Dec 2022 15:00:58 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, michal.orzel@amd.com,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
 <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0386.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:f::14) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|CY8PR12MB7289:EE_
X-MS-Office365-Filtering-Correlation-Id: e31e4dab-311e-4fb3-04ff-08dad92d0744
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bLl2ycZ8GoL/7K2Y2q7e5usuWd/x3849Lqr6152a3Ijsh3eM0/rhapfWo5zTpHgLMYE+RqMMrgOcxrhUKeJN83vw9RvSzcQDItVQ8a3u7WZSw214PK28cAMZ4zJfnjFL6Xy/zfT8PiWGV1jXlaxyNP5EL5kL8Fux1p2Nrcf5TPP9mZ6wIikAPpSgWf81AePrVfG892tuylwnSZ10yeQwmjfjjfwkxlW0n9pp2NVtc6vI06TV1e3KYrju8Hx5IIgzFbqLDFDHApU/HYwIPoPkPi3ZMzWTP9cQklYOmxpkmvA707X7RqzIO7iZxxKKHUM0mFBI0WMm503/6amhTEostF3NltWxPCkRQlMBoKZAU5Wse0Kc82egLIXnUDvPZ0rNpgjHAcc2NAkaBRE+zgPQamrwADMdeQFPcywMOPBX46nhb+YuLRIjYvs68oknIbasAWlHIrZYLlXH4TIH+JW7YQneZE5smjyYYdL2CjV19VEK1W7ftYnfWuAzOiKYnMERgjPJErB0fiUWrVtugLUCYLw+Uo+oeMCS/AZcvVPMzGo1fDZWLk+oUEaP7fG5cKScZ8Cwakooye4ZL6egnkMVX6tVaGO5FZH2PWBCuclOQ42FPFL2GwS3xWBn8Sx20QGJShDYFcCxeJIIsEVMZLDICJ3n2wEts0fZ+dnhA4D2hIz7Izkn5H1OXnsZ+rBo1S4cUUId63g1NBzk6Yhyns8v0jBDnEdeZwOdVGLAuVACyew=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(136003)(39860400002)(346002)(366004)(451199015)(4326008)(36756003)(31686004)(66946007)(8936002)(66556008)(2906002)(31696002)(41300700001)(478600001)(8676002)(38100700002)(83380400001)(110136005)(316002)(6486002)(2616005)(5660300002)(66476007)(6512007)(186003)(53546011)(26005)(6506007)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TFpRclFtNUY1bE9NMDlBc3FnbEJxWHlsZVlvcW03dWtDQnBBSmMxeWJXTkdt?=
 =?utf-8?B?UUhRbGNwdThLM2x3ekpTaXJZWFppalZncEMzS2NGblVNR0Nobm8rdjBrMG40?=
 =?utf-8?B?ZUJEV3grZzlhV3RxQUJLalRiMC9rQzNhL3J1Q2V3SVJGcGgrVzBWMGpXMnMz?=
 =?utf-8?B?Mi95UzZDZjNYOXA4N1BnRC9kNlg2dHZJUVo2YVh6enp1Y29rRnZYQUxSRmtz?=
 =?utf-8?B?SzJsOEYvZHgwL0xhcUluMkpHWGtPVlhyaGVOdUlFcldaSENKV3ZzSmFvZ3hs?=
 =?utf-8?B?d2JMNHYrNVpnUFNCTnpKYllrRDl4UHpHWmpqa3BDa0FLcDFlY3MyenpSSU01?=
 =?utf-8?B?OFptZFZzUm9xbndtRS9VcTIrT3IyS3ZDM28vU2JVdkpsL0pLQ0gwZlZKd1Rs?=
 =?utf-8?B?Q0NuampPbkhjaUZ6VG5GeWcxaE9zWFlsZmpXTlhUUm5mYmIyNnVpTjRGUzhh?=
 =?utf-8?B?ZmlzQTh4NlBQT25PcC9sWldxbmFUYkFwZy8vV2laTStZbUVvOGMyTFRtSWk1?=
 =?utf-8?B?OGQzc0c4NTlST3VYaU9sVjZTS1NzYzhDNzUxbHdLTnErSlQxcGVQc3U2SkE5?=
 =?utf-8?B?TWoyN1RLNmwrK1VUeUhTdEZNY3pyNmpMU2hCK3M1SWNkMkFQenZ3SDJKZ2VF?=
 =?utf-8?B?Q0VJUnpMWGt6NFA0YlptVUJGTEtlMHZnUmZzeWZsV2hYd0JtbDRDZzJsMk5y?=
 =?utf-8?B?ZGtrSjFHZE5rdHlQUzgzK09NM0pmckpUWWxFdG85RThuT0dhaitYRTB4bURR?=
 =?utf-8?B?NlRNMVQwa0oyOTMwTXducDgxd3d3cEVOTXFGWm5DVkJVNk5FdC9QcU5UeTVs?=
 =?utf-8?B?Q2Rid3FuM0Vtb294Uzl2a1BhemozY29zcVRjR0lLSkNaOU56S0V6TS9aNDFL?=
 =?utf-8?B?emJ4b0h5NXVoRG5GdzJJcGkwVHozdTBkNnczQytvNkNXRGQxZDVrallDSHpM?=
 =?utf-8?B?M3NGMnZjMHF6eEMvdkxROUlXSkxXUjFNZ05uWGx2MXl0d1hlUm1RU3N5VTMy?=
 =?utf-8?B?VXZjUHEwbHBEV1hJZERJYkw3YTViQXFLcU5UUnp3aFNuWG5CYWxVckZIaEds?=
 =?utf-8?B?OUd5UUVMRlZxN0pkRmdWU3phWE9Ra1NnMkNhZ0lPaGlEYjBBdUdUZUc3Mnln?=
 =?utf-8?B?UVNIMUNtVUgwZklwbGRndFdobys4T3dmZncrSVhxejRCeHc3ZEYzUkRqRmF3?=
 =?utf-8?B?MVBmMzZPdm1qcDhLTXRXYWt3UTI1KzlwRTJyQnZXQlBJNmVGLytsNTZvVlZ5?=
 =?utf-8?B?TldobG1HajV3N3U4eHdQSzY2S2k4SndRMkxFZHZGc2dJeEl1OW93c2FGZWV3?=
 =?utf-8?B?ZFFuSFRReDA4Q0ZpR0JlUk0wYmlBaitwamtYR3lZQTVDK3VmNGwwTzZpdTZS?=
 =?utf-8?B?MTEwRmluZjAvcE01WWZSdE04K3E1dWlYUTFVTk1NdjRwdFQ1VXBZdXhzRnh2?=
 =?utf-8?B?VTI5WXVYd005K3dDR2kveDNOeDNCV01wOUdxRUt1THg5eEhYT0x6emgrbWVi?=
 =?utf-8?B?K25jTndCdlFZZG9NVDYrZ0FBWW8xVG44bjA3d1RGODg2ZmxubDJCVzh2a1VL?=
 =?utf-8?B?OFhvc3lBTXRBWnhUNVRoUVdIZ2Z3SVhsTWVZdktucUpoODVScHd1VUxmQ2gw?=
 =?utf-8?B?ZU5nQ0drT01wYVdqWndtZ2xmZ1ZDdjVmTkF6V0R5czBLN2FuT09tMjdsRjBu?=
 =?utf-8?B?V1Vwdy9XS2NVS2tiVmI1dFByWXR5dWVuNjBoQXByVTZaL3hES2tMQk1zQ04v?=
 =?utf-8?B?clVhVVZMWmgzRFJpOGlGUXFRMFY2L0V2bFNDbGpoVG5tcXZDNTY0ZEN1ODBJ?=
 =?utf-8?B?R0dXQjQzYlU3TXVGMUpnVitMdWpSdk5ic0l0MmRVeHdRN3pmb3U1bzhFcXZh?=
 =?utf-8?B?Mm9ySWlEUmpZdmQvNWMycktibFIyZDZ4K0dkVlA4dWpRSVZpSUhaaUczbnJY?=
 =?utf-8?B?QzIxOHJlN1NiYlBuRFBUNnVzUW9Eb0ZuT00vUEUwbUdaeVB6ZTdTNHZBTWNa?=
 =?utf-8?B?WTl3bFVNZWFueXBJV0FaMkpnNzJkS1Jjd3c3Qkt4UklFbytwbHBOYlpra3h2?=
 =?utf-8?B?T2FZYW1HU0hSOUZCSkMwUWt4R01EdDd6MEp0cXM5dVhxdzVqMDVxQmhkbU90?=
 =?utf-8?Q?CNKfWewyCNIwhPLLuJRVU0xWb?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e31e4dab-311e-4fb3-04ff-08dad92d0744
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 15:01:04.7968
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XEppDxtnU7TcnVnvLBjzQXRNBzaILwSG0+nv1YF4zwz1oyOarQ1LCvEimzssF9cdwKA7iQybOlsAJSAf0XQNyQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7289


On 08/12/2022 13:51, Julien Grall wrote:
> Hi,
Hi Julien,
>
> Title extra NIT: I have seen it multiple time and so far refrain to 
> say it. Please use 'arm' rather than 'Arm'. This is for consistency in 
> the way we name the subsystem in the title.
I will take care of it henceforth.
>
> On 08/12/2022 12:49, Ayan Kumar Halder wrote:
>> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
>> result, it contains the default value (ie 0). This causes,
>> kernel_zimage_place() to treat the binary (contained within uImage) as
>> position independent executable. Thus, it loads it at an incorrect 
>> address.
>>
>> The correct approach would be to read "uimage.ep" and set
>> info->zimage.start. This will ensure that the binary is loaded at the
>> correct address.
>
> In non-statically allocated setup, a user doesn't know where the 
> memory for dom0/domU will be allocated.
>
> So I think this was correct to ignore the address. In fact, I am worry 
> that...
>
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>>
>> I uncovered this issue while loading Zephyr as a dom0less domU with 
>> Xen on
>> R52 FVP. Zephyr builds with static device tree. Thus, the load 
>> address is
>> always fixed.
>>
>>   xen/arch/arm/kernel.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
>> index 2556a45c38..e4e8c67669 100644
>> --- a/xen/arch/arm/kernel.c
>> +++ b/xen/arch/arm/kernel.c
>> @@ -222,6 +222,8 @@ static int __init kernel_uimage_probe(struct 
>> kernel_info *info,
>>       if ( len > size - sizeof(uimage) )
>>           return -EINVAL;
>>   +    info->zimage.start = be32_to_cpu(uimage.ep);
> ... this will now ended up to break anyone that may have set an 
> address but didn't care where it should be loaded.

Can we use a config option (STATIC_MEMORY or any option you may suggest) 
to distinguish between the two ?

Or using some magic number (eg 0xdeadbeef) for uimage.ep which will 
denote position independent ? This needs to be documented in 
docs/misc/arm/booting.txt.

Or ...

>
> I also understand your use case but now, we have contradictory 
> approaches. I am not entirely sure how we can solve it. We may have to 
> break those users (Cc some folks that may use it). But we should 
> figure out what is the alternative for them.
I am open to any alternative suggestion.
>
> If we decide to break those users, then this should be documented in 
> the commit message and in docs/misc/arm/booting.txt (which 
> interestingly didn't mention uImage).

I agree.

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 15:24:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 15:24:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457230.715114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Il2-0005fh-Vi; Thu, 08 Dec 2022 15:24:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457230.715114; Thu, 08 Dec 2022 15:24:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Il2-0005fa-S0; Thu, 08 Dec 2022 15:24:20 +0000
Received: by outflank-mailman (input) for mailman id 457230;
 Thu, 08 Dec 2022 15:24:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UkKA=4G=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p3Il1-0005fU-4s
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 15:24:19 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20603.outbound.protection.outlook.com
 [2a01:111:f400:7e83::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 605d33cd-770c-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 16:24:17 +0100 (CET)
Received: from DS7P222CA0001.NAMP222.PROD.OUTLOOK.COM (2603:10b6:8:2e::7) by
 IA0PR12MB8278.namprd12.prod.outlook.com (2603:10b6:208:3dc::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 15:24:12 +0000
Received: from DM6NAM11FT012.eop-nam11.prod.protection.outlook.com
 (2603:10b6:8:2e:cafe::fd) by DS7P222CA0001.outlook.office365.com
 (2603:10b6:8:2e::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14 via Frontend
 Transport; Thu, 8 Dec 2022 15:24:12 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT012.mail.protection.outlook.com (10.13.173.109) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.16 via Frontend Transport; Thu, 8 Dec 2022 15:24:11 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 8 Dec
 2022 09:24:11 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 8 Dec
 2022 09:24:11 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 8 Dec 2022 09:24:09 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 605d33cd-770c-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=S4XchZZ4AhUgNZgaTsTNixmyILGotraIEp//OFSNDZpqukRDUcuuwi5oJZ0eXZcJpk67kbWlm0OdMIzdOdmRhZUZvMc+ypRg/TwOU7+8bEckyZn3LpRTr4+EYIOmUlGCaVYISH3hXparosAH0QIP/o6Ok9LpuPNkJ5/6j7mWeJHKa5hLG2QB8KhPecRBshbvkx+dHqDSgz2TQgfIpN32AtkCxSFKjC5x3wCaRX+WbJ/U/rbOUpqCsS/v/Wfb3D4/ZdCg1mriZE7G18nqm8Vi55Uf6VPR/+WHKaJxUJtxl3Me4n1n5nrBqpP3DOlS2ih6pFcZamsA+ywH+OYbq9R4Ow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/ezzrzS/zkPRbz6lbFhf03w1v7HSxCQYF3B6EOnZgbU=;
 b=oVpR3J7S3L2GMT2LeShf355fJ50Nb1K+l5MRBzb3KdwtkM91eDHORGfOxGRK2ezjPrxkeb4uau4a1TUZu5CA1KPeCsGdUs47Bsl8Y7Jb8Ue2s8fUmgvFa6SfMn4OdyBNOYIESPFezC8ZseL5dBE5AeyPo5yfk+a1miwucjaD7+A1EsUFWPDovHR3rq1gQMF2Pd2wRfhd1Cgyzpk56SXwfky4iVSeASonBu/6A9KjZERZWBhD0gPGdIC2ejMRtaqj1dAVac9R3F38Q7+RGkfWF9xKSACPeLvGu2hKzo1ufgGjDrQIoiLbzXLyOGfKS0/o3IwwLXU68QDxXR6p1dqI3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/ezzrzS/zkPRbz6lbFhf03w1v7HSxCQYF3B6EOnZgbU=;
 b=tm5XaRDO3owHkVXJmMGjWgKpZG6QLiU3POU5gA9mRsOoBRrxVmGLX7KHlX/HVMokCtCFffkgR4O6Fkf3XjcWutIs34z5+LvPXHauczJn6WdFXcMbAMjH+RVMpfNkolvZwhMpbzWpsvvWMhFECqIlY1Sh4mJEknuml6FR9WbKRD0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <e8aff19a-4992-9d35-4e78-9e64aec384f9@amd.com>
Date: Thu, 8 Dec 2022 16:24:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>, <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, "Oleksandr
 Tyshchenko" <oleksandr_tyshchenko@epam.com>
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
 <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT012:EE_|IA0PR12MB8278:EE_
X-MS-Office365-Filtering-Correlation-Id: e52771fe-81ff-4a97-0610-08dad930424b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TalKlu3hImWrtlRUWFp3YZ4iMRb2ovZDocig/XZGSLWGS8f8C7LRQ3dsQjbJCDJkDD5J9vkihu7NbqqcQuZWqZQEv2Bn5d6UtcmZaQ6cOA+sWMcqiBLwqKg+pc3kbV7BwUL9xLKs6iSImbDwHALxzumhWXnG12Vr0DmC1/U0IRdga62CD5TFvv017FTmFKz+RkQblmZCewi7uPIlvbqN9ejKiWRsdpqvc//I9O7aq+Qwosh51V6iXOr5NEav4UWV3QA36p4YraE0DGZbH2Ylis/2OHIZ1VZT16R35NP2AKSMiUQ6Yjqe8C8eeKHVWGAIzNy0SGpzwuFO32SHapoGv3r8LJ5XopcFEaIGftYP9U3m+DrqzC/Xtr5CozZFHBqtmeJelZLHJbdx+y8sZ/u0jYsrs1OCpqXMY2p+Bra5Z6KVs6WNzfV23FLKC/IYf7xNSFlzvpixNoD5Qt1qB5ZDzKFjcmDj06f+pZh2S/qwlXJX46ntppaCErdobobUsEKuKVL/1PZBMiN8Rlqbg05UdHfddcfATKohOEt8hH46TtaDL7u3Uruw6XuerV2jUdD5yzYhTl1btRf6dyxsjx/rfR/g9YA733qbnNa9sgKkeF1DY17vhneO06O4B85zPnk5NBkhbB/uHB0s3MX+s8XUu3h3RXMJXLZNzBqwnZuvJRe3r0xiOnR5sAD2fWPLKi8tlMcywDoCu76hCJRkJgmhJXfz3peWIy+REE2SY2tfonoGmJa4mw+B55+P70irQ6DXOUsP6QHczxFLFeaNN8YLyg==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(136003)(376002)(39860400002)(451199015)(36840700001)(40470700004)(46966006)(336012)(8676002)(40460700003)(26005)(83380400001)(41300700001)(82310400005)(40480700001)(47076005)(8936002)(186003)(44832011)(2616005)(2906002)(86362001)(4326008)(70586007)(16576012)(70206006)(426003)(5660300002)(54906003)(31696002)(36860700001)(110136005)(36756003)(316002)(356005)(82740400003)(478600001)(31686004)(81166007)(53546011)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 15:24:11.9435
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e52771fe-81ff-4a97-0610-08dad930424b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT012.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8278

Hi,

On 08/12/2022 14:51, Julien Grall wrote:
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
> 
> 
> Hi,
> 
> Title extra NIT: I have seen it multiple time and so far refrain to say
> it. Please use 'arm' rather than 'Arm'. This is for consistency in the
> way we name the subsystem in the title.
> 
> On 08/12/2022 12:49, Ayan Kumar Halder wrote:
>> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
>> result, it contains the default value (ie 0). This causes,
>> kernel_zimage_place() to treat the binary (contained within uImage) as
>> position independent executable. Thus, it loads it at an incorrect address.
>>
>> The correct approach would be to read "uimage.ep" and set
>> info->zimage.start. This will ensure that the binary is loaded at the
>> correct address.
> 
> In non-statically allocated setup, a user doesn't know where the memory
> for dom0/domU will be allocated.
> 
> So I think this was correct to ignore the address. In fact, I am worry
> that...
> 
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>>
>> I uncovered this issue while loading Zephyr as a dom0less domU with Xen on
>> R52 FVP. Zephyr builds with static device tree. Thus, the load address is
>> always fixed.
>>
>>   xen/arch/arm/kernel.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
>> index 2556a45c38..e4e8c67669 100644
>> --- a/xen/arch/arm/kernel.c
>> +++ b/xen/arch/arm/kernel.c
>> @@ -222,6 +222,8 @@ static int __init kernel_uimage_probe(struct kernel_info *info,
>>       if ( len > size - sizeof(uimage) )
>>           return -EINVAL;
>>
>> +    info->zimage.start = be32_to_cpu(uimage.ep);
> ... this will now ended up to break anyone that may have set an address
> but didn't care where it should be loaded.
> 
> I also understand your use case but now, we have contradictory
> approaches. I am not entirely sure how we can solve it. We may have to
> break those users (Cc some folks that may use it). But we should figure
> out what is the alternative for them.
> 
> If we decide to break those users, then this should be documented in the
> commit message and in docs/misc/arm/booting.txt (which interestingly
> didn't mention uImage).
> 
So the first issue with Zephyr is that it does not support zImage protocol for arm32.
Volodymyr added support only for Image header for arm64 Zephyr.
I guess this is why Ayan, willing to boot it on Xen (arm32), decided to add u-boot header.

Now, there is also a question about supporting arm64 uImage kernels. In Xen kernel_zimage_place,
we do:
#ifdef CONFIG_ARM_64
    if ( info->type == DOMAIN_64BIT )
        return info->mem.bank[0].start + info->zimage.text_offset;
#endif

So if we modify the uImage behavior for arm32, we will break consistency with arm64
(we would take uImage entry point address into account for arm32 but not for arm64).
At the moment at least they are in sync.


> Cheers,
> 
> --
> Julien Grall

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 15:34:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 15:34:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457239.715125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Iuw-0007Tx-UI; Thu, 08 Dec 2022 15:34:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457239.715125; Thu, 08 Dec 2022 15:34:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Iuw-0007Tq-RY; Thu, 08 Dec 2022 15:34:34 +0000
Received: by outflank-mailman (input) for mailman id 457239;
 Thu, 08 Dec 2022 15:34:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3Iuv-0007Tk-GB
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 15:34:33 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0627.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf5bfd26-770d-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 16:34:32 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8231.eurprd04.prod.outlook.com (2603:10a6:20b:3ff::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Thu, 8 Dec
 2022 15:34:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 15:34:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf5bfd26-770d-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b5qdIDoIlwFFLzVXtNIxwdTblizzc4FERZ9lajCpY/JE9MMMzEKjjTgEWcEFrGKQLVUKruVtyK48qmKJgITVLDO2JGK2mqOhwQ3/RONhFHK7h3FfyDHzDI5ZC3nGTbA7zcOgQ8djsUxPLHCij1l8Urc/sNh7yh+DFSmAD6/XV/evksrDhEyD4q4NETUOCxA52e5ZGxkdQFwVvrzVytUjqPVrUd2f3NJyYSvm+GS2oOS/YvEShOXqnU0XMIhudg3G31i0WQ3z53BAB15bdEoIm/ElmXa9qVevHkAWQSDkkqP5E/fYdq2o0voqvWCshthd7VnlufgaxayoBbKfucpITw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LFjrw/i7rnHF1ifbMIw2RAbjfbMnu8L0QnsRWzAIIYw=;
 b=AyWTXFoEx3Fltb2nDHdAWATwoSLNXsH1dYCTcf7kpDZZcOwlW/bWBuPyrOTg2No8Tg1aw9tus1Cg0cgQHAlhPvCW9GpjS0RRZG9aAWsx6RGTvypKKU6+fg9v5R1aO0ALe/CScCpybJys2sdEuZBC2wjQatfGS57fFyUdBkRsjl5nXHa+1wIHcBK7ByJadAKc8hXEOwmbouFb3SEV/asqE8cdLZzmM7z4dAeHRNAkCL4NeEHaRWiWLN28Y5bwJUBpNBz0lham4IXzpLrkxMW+QuRpS6hYN3S6/lH0s9zwnW7rnOgIUZhMVRQNbNhDZqE4wcOAxTH1wOcru7sMquComQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LFjrw/i7rnHF1ifbMIw2RAbjfbMnu8L0QnsRWzAIIYw=;
 b=Dhf8zM0mtj8qCjJaNPMILGoxiaVRJLJ3pEvHdDxHXS2LvwxH2BePFfYhRgMgynEzmkgFxGO3fElrV0AfJ5Qnm/gd8I29T7tdtbs+7bwLxFzbKUjFXXntuDUb7RNuQwWLRKeMGnlK7dojVKB3oLqw7NmqakZ0rzWElQeTQ0rgkg26fFOJrPkLEzpMiHGbE3WVN/A76XGzyQaIN8Mvg1+2LgDjvt2k3HU+ZiIqtziubbVrPPWEIM8vh6fOC/tgK8UhTVWmTKG707rmfVLELHqx0QUuffrkbofhZ1KK1c7DCEBuZqXhtF99dQW2S2qKYHZIQPWNEBgDwj++iIS9/dqUNg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <35f9e529-35b9-0432-8e98-8b0100953856@suse.com>
Date: Thu, 8 Dec 2022 16:34:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 1/2] x86/ucode: allow cpu_request_microcode() to skip
 memory allocation
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 Sergey Dyasli <sergey.dyasli@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20221208132639.29942-1-sergey.dyasli@citrix.com>
 <c6676171-8cab-dfbc-4b18-d9c724588398@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c6676171-8cab-dfbc-4b18-d9c724588398@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0150.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8231:EE_
X-MS-Office365-Filtering-Correlation-Id: b05f3d94-6a09-4df1-e056-08dad931b0b2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	F1Ej91RE5xRB4C8hPaXOXI1/OOotzXHD4pENXLyI6Ae0PCN2rCohkPVgCnxtUAUYVmv1OIjfLNVgzN3NF2BlA2BLvqWfKGA5jY2YLFtAPVyUq5X+9RwVe5s+aglqBGlIBjnfOug/RpKw+1CjcqS5WhiGtc/77AsdEaHLS7bdrqf1gbzFLylZ8dytqz2+Vi1FT7Doc/s4n1O7E1BL01oZzKX2XTzSkhyKa+6hEDQa/URHAoYX0qzv4WcKlqZOCBXUczJ/+QoT6qzu14kJpGExZVHLPt7ng/4NEhfEbeMBvO9yIjpaBo2ebB6Yp1p1pi7fNDzhsbRvx71rrHrReUEl+QSWFdUM02ZMEuP6p60XDqhTdLQlwV+YUCFxyfi4CM0H6UaoBN1JfEGDNXzhOxD+2tX1Fs+GsiceKY3nogSSjK9lMNGZ10eIiWHidbnr8wD0WUD8Yf65f/ZS6s1ZqB51vWTpKWZKJEpOdQg48xxASLWtgL7SIVdwnY98ijqgeBpVV6me3drSPPcMziHPSJc2wCD7kS1aMND+bC4HA0wySIvGCq6wMVDSYoioDBAQYHLe00xVDDR/OXW61dYPbfdshZvFZ14Ajzi+svlJH4StIGdwKFQ0pRIj4M7qvmKHhaiN8rVBQ+C5qD8BbaNENWFAL5V6YAeTCERoon0gwD5KVskxocQLQh9mGH8moOojK1fWN2GCZCY58PFdNnMj8knDWGSEwfHCFiwTr49hUTWQbbk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(396003)(136003)(376002)(39860400002)(451199015)(36756003)(6506007)(6486002)(31696002)(53546011)(86362001)(478600001)(316002)(66556008)(4326008)(2906002)(110136005)(54906003)(41300700001)(66476007)(8676002)(66946007)(8936002)(6512007)(38100700002)(186003)(2616005)(26005)(83380400001)(5660300002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?KzhxYXhYcmQvOUtscE5GbzJ2aW1HTDRmT1h2Z09ad0gvMElWdkdMOGNvTzJK?=
 =?utf-8?B?ODhBN3JZK2dhUlRNdVc5Wk00L29JOEpYcHVDRExjWUpLVDNKTGhWaE4rR2xR?=
 =?utf-8?B?NkdqUmhKNG1NUjVRUGFVSW15T0tURUJZd1R6aUY3K21OY3JoQ0E2cEEraytB?=
 =?utf-8?B?QWgyZXdFZVJHc3o4VE9PL3ZpRlpkNzR0MGxuRGpIS2Z2SUNsTWh6Y1NmUzVz?=
 =?utf-8?B?d09CaUEwcGVLcnZFbGtkY2prc3Z0UWFGYUFNblBVMEJONmhMQm5RemRKeTd3?=
 =?utf-8?B?d21aamZKVXdEYVFVS0xnLzAzZmN2QTIzYmJIMzVzOEhiRkxteTBwalhYWUlQ?=
 =?utf-8?B?ZkF1eVNsaVFVcjZyeVcyUmU2cVcyVGdPZHFWV0p2UE5UK1ExUmFNRkZvNWgv?=
 =?utf-8?B?OFVNMFBKbE9LNm1pNloxWUhMaUJuUGprTDJybi9LdFcwOHBzUkdMdHJ0UEtz?=
 =?utf-8?B?WnoweFRrdVRsRUk1bDNGdXJZZjQ4ajUxVm5SdHlLMWw5U25zQThwSXBkZW5u?=
 =?utf-8?B?RXJGSGJmYkorVGRNVk8wSmFJZnV1dGhlUWFDOXJBSWZ2aFArcGRhcGRzMHZk?=
 =?utf-8?B?cDBkdjh0N1c4cndoNnJGUUFINW1zSGxUaFpwQjBNNU9URnMvb0ZJUW5QNWFC?=
 =?utf-8?B?ei9mNzZpeUV4L0E4VWtCTUp0MFM3blNMVTJrMDA3RzRoVitjdEpwWTZoRW9R?=
 =?utf-8?B?bEdVZ2d0WVBVVkh0QUt6UW5rNEZCU1U3WDJKSHQ0Z2hUaGp4S2hDUktYcFRS?=
 =?utf-8?B?VzJ6dDBJVmNyenJVazlNZW9OTEU5VTBVbFpCcWVNK2dLT200L1QyVlJVVmQx?=
 =?utf-8?B?SWVGNkYvVWF4YVBDdVRWNzZNYmZSa3VWWEgwT05yZ2lKSlQvVmNaNjk4YnhW?=
 =?utf-8?B?NGFFM2swYjJHc2NOcWF5N0k5V0ZsSFA3QzAzbjQ4UFVKdnRJOVM3UE93dGZX?=
 =?utf-8?B?YVVYSUsrZkFUMEE2eHBHSk9ETkhLUWp1blloMDhDNko2ejh1b0tKeUVkeEhZ?=
 =?utf-8?B?a1VKU0xncHZocHpxeVJURDIwUEp3a1VmcFVzL2dtb0U2d2ZFREdDdXUvNDlJ?=
 =?utf-8?B?TTlOc0loRU04cktmRktYTEFTNzRySytPclJkUU0xT0RQNS9laHdhSVZudlMy?=
 =?utf-8?B?aVU1VGJWcHNFem90UXpaSnRsbGc2TVBzN2Mya1lSb29VbU82Szhhc3lwRDVI?=
 =?utf-8?B?ZTlReHBNU2Y4ZjUvbENVZUpCRW5VS2VLV0VyM2oreHExRTJJR0Q2dHFYSk1m?=
 =?utf-8?B?dDdpdndpcE4rUmZza2Q3ZFo2by9MU0d2d0IvV3JNdnpSMzVTZWlCNkdpWXFQ?=
 =?utf-8?B?Y2dIWlZOMkZuUU1DUmpZM2VVVHUzVS83SG0yRy8zbHBnMThBSUZXT1V5b0Nv?=
 =?utf-8?B?VEc4dUozbjFUSjRmVmJPVnc3SWNjMXFqcFo1QVhSM1IxUVk0VlJXT1ZHVGJi?=
 =?utf-8?B?T29SeDBpcnVRMXF1b0htV3BGUlJ0QzZFOGw3MmNHZDJ5ZEZIT0NVdmlrWG16?=
 =?utf-8?B?bmlXYitIUVFGTnN5aU1nb2ZXK2I4Ymxoa2wzUG1TY09GQ1VPQTFQSEhlNURP?=
 =?utf-8?B?UHZiSnkxVC9sL2h2a3Rvc28wVjNiRWcvNm5rMVkzV2g4S2FiWG1nd3VXT3FY?=
 =?utf-8?B?Y1lMZ3M2M2dzZ2NqRi92NTJiTEJLOHU3aTBkZkxQOHJFU0hLTDBxWnhwUmI3?=
 =?utf-8?B?ZS9sQlJ0YnVkWFRIekk2bndwdTQ0VlppcFRoZjhxWHFVZXd1eE9HMDNPMVpv?=
 =?utf-8?B?Z3hYT3B4aFBwVmdKa2VvbEFPN2tYVFpyMXBwVTl6N2ZxQW1VdUE2WnpkV3RL?=
 =?utf-8?B?bjZWOWlnTVp2SC9oOWpRN2tLQWhNU2NEVjd5QmdtZmVSYlVjTFBLdXVWaUF3?=
 =?utf-8?B?amYrVG5tcEN6UFUvdnFpMWZNWldJM1JDekhTWnBwMEthZGxuL2Zua0d1RmM0?=
 =?utf-8?B?aEhmME5MZHMzT3VlYTVORWRSN05LKzZtdTVhMHJKcnprVjlXMDhqUUZOOHJH?=
 =?utf-8?B?d3dxb3J0ZzJENVp6Zzk5dTJQYmFkQzFTU0FBME1jQW02UWJNZnBDLzBudDF5?=
 =?utf-8?B?end5VmFuYzRNZUJJTXFZNG1NbENCaERFR282VXU4dGJtTzVuOTZ6MnMvNXBx?=
 =?utf-8?Q?z79qtYgvGKcNgBQtX1d6FKted?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b05f3d94-6a09-4df1-e056-08dad931b0b2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 15:34:26.9202
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9Lo1TZIiuKfr3mCLIApjCfyJX7aGYOMCEAscSVSur8aWEb7v4iynCW8KI7TAZo5fTnJF9GU5u5UOiZFpO6XiYQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8231

On 08.12.2022 14:59, Andrew Cooper wrote:
> On 08/12/2022 13:26, Sergey Dyasli wrote:
>> @@ -240,20 +240,20 @@ static const struct microcode_patch *nmi_patch = ZERO_BLOCK_PTR;
>>   * patch is found and an error occurs during the parsing process. Otherwise
>>   * return NULL.
>>   */
>> -static struct microcode_patch *parse_blob(const char *buf, size_t len)
>> +static const struct microcode_patch *parse_blob(const char *buf, size_t len)
>>  {
>>      alternative_vcall(ucode_ops.collect_cpu_info);
>>  
>> -    return alternative_call(ucode_ops.cpu_request_microcode, buf, len);
>> +    return alternative_call(ucode_ops.cpu_request_microcode, buf, len, true);
>>  }
>>  
>> -static void microcode_free_patch(struct microcode_patch *patch)
>> +static void microcode_free_patch(const struct microcode_patch *patch)
>>  {
>> -    xfree(patch);
>> +    xfree((void *)patch);
> 
> This hunk demonstrates why the hook wants to return a non-const
> pointer.  Keeping it non-const will shrink this patch quite a bit.

Alternatively it demonstrates why xfree() should take const void *,
just like e.g. unmap_domain_page() or vunmap() already do. We've
talked about this before, and the argument hasn't changed: Neither
unmapping nor freeing really alters the contents of the pointed to
area from the perspective of the caller, as the contents simply
disappears altogether.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 15:38:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 15:38:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457245.715136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3IyF-00084v-DK; Thu, 08 Dec 2022 15:37:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457245.715136; Thu, 08 Dec 2022 15:37:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3IyF-00084o-A4; Thu, 08 Dec 2022 15:37:59 +0000
Received: by outflank-mailman (input) for mailman id 457245;
 Thu, 08 Dec 2022 15:37:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u3z7=4G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3IyD-00084i-Sz
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 15:37:57 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2062c.outbound.protection.outlook.com
 [2a01:111:f400:fe12::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 498f151c-770e-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 16:37:56 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU0PR04MB9587.eurprd04.prod.outlook.com (2603:10a6:10:317::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Thu, 8 Dec
 2022 15:37:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 15:37:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 498f151c-770e-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UYBMFxtlKet9X7P0G+C05Gi1rc0pfUnrLjKLxR50nD/jPXQu4JquOMfXIP2QLe/UByawme7CZsHVU6b35yTGtLgjVLJANyS292zwWCZ3Viq40G+O8UNHeBj5Yo3DDN3maJrjsbOVJ00/gqRPSZ5C3e69k90wea3ipev6lkDx4AHOD+a9+IjA459uf79UKUyITjwK5KSjXYX6RBj/J/2OnuTD5EMjBd3JcXZZCGVwnINs6Wn8Nw1vts4fq00lRm0XttjT7gAfWS+zTVo1/Gas6WK7cYVpLO1UV0CRrKkwmpPab61k68/hduHXZwh4FtOAN9k3vwCoEARNUgm8X7mcGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fbRdUMaK+Marz8+3bYJyfREhkRFbkc6N0kAcWt/xB00=;
 b=mf8sNgmjutdMqPOiTQvcaPwun6rXJEFh7Tv+NrMIfMTLDODqfYj4sRX/zR4FxCsfFND7ZbKqdAE0WBIyszRi+yQH+ft2asgPZnfVkpN4d2JjOodDzINfnvfiTX8bk13j5JA2ajOUK02MLrwFGc0U2cSeyiTzqEUMQKMaZRhbS2IRLUy5WvkQft0TScfPGl23E1roRBXfu5OUaDOoKMYEj0z9FB11a42pmYK1szTGlPnS3fDpRD0XG9Gw9azv+QjSk54+w8YMRELPX+LjlBFH2G1ni9QWNxOvSGnDDTmea33s5nmnVhj1Ouq+CjVQwFe0LYbR4wqV1TZpJCyomG1mGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fbRdUMaK+Marz8+3bYJyfREhkRFbkc6N0kAcWt/xB00=;
 b=LQzA7HWMUWhOJIW4nNn2TuFhw42iDIXvFpjD1ni8Z2NoOCCIZ8fI/vnseTWrR8n0RxVdhnVeA8O4lvwYWA5ie6LdzNb44VQmpLVTc6AQx7eiO79arfqg9PvmAV6olpTpF6lVu8KL7nlA+vrsLBopYAFfKItcn76zdB2qH0BLaOkXKQOnI0PuJCqQ0kPPiw7NLx3wGUrlnYOybu2bqYElutxWwPDL8uW3rBEGHRd7zIV+ImEHqc/QLbzrYzSuA6q53lRbX69k8ACgsMOuJPH/sa4SrikCSZtnd3RfyW+Goz/R/aZsmmPtmbN4zShXEIBeVYU9JcEW3MPeEX+pxe6dWg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1bc83075-a033-10f1-2e0f-916e84153d35@suse.com>
Date: Thu, 8 Dec 2022 16:37:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, michal.orzel@amd.com,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
 <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0019.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU0PR04MB9587:EE_
X-MS-Office365-Filtering-Correlation-Id: ae025846-d023-4cfd-9fb5-08dad9322cc0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bR7P/nr2RcjcHRaKdMJx7sUVvO67OZvpsZpA5kmITS2gFRTpFlwi+jzyTeADCLtmOXsbGM+uAAMFwazLaDiP60kqvGQn5CwB9gMqY/1/fd1Nl3SN9HPJLSyIzdkd9fLRGmZWjYq3GQJMh1pcyw4UB30iOvexD776Hkpq5ht7seGlxlzVaQSWiOD+XmzaVZX2gRV4bYOm04qA3y5xekZ23C+JKXCyqUM8Q1h822kuPS6JpDSt03/+EWWFlb8fb89LNVo7V18v0SQxuyY9gNvdU9Tbm2qnIRnvGy/JKEx8m9mIrYNiCoDJ/iqe5ufBRbki0/RfDCd8mZLY56iCU1ShglVLn9L0t/QFUiqZve8V/xpfWS8+qujbdAWUlzrcC0uStyqP/4UKS+ye1uipk5aOZ22Dl8dUD+qEmHgPNwtFY6loJGRcCiW2XaP8ISFQHPYDg953ObZ25akuzTrGp3bro1uz/9CkhpBEfIfHsgSgJFIs4Vf3CyNNjN2xOC6v7K3v2ipM7GPF3YwfD781SibScEexgDfJEXZg4b2K9B1d+nkIZwRQ1SJPLbQHk7hQinJs5Nh6GpnFlrdeUhRPj1J3Xxoqmf5w6v5vt8j/ZFqaWV6v/y7e/PmygkM/Onjp2CtVSzaw3dKEWNIjeHncIcoX3qygDSwdQsbc5Z8b6hWsjYc4kuL9ns1saaniMg0c69hE1IUfja0OdpJHpVq6i/oR55pzrJ6O6X9o6g48Wh5PWN4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(396003)(39860400002)(136003)(376002)(346002)(451199015)(6506007)(6916009)(6512007)(26005)(6486002)(478600001)(54906003)(53546011)(36756003)(38100700002)(31696002)(86362001)(186003)(2616005)(2906002)(66556008)(8676002)(41300700001)(4326008)(8936002)(66476007)(31686004)(66946007)(5660300002)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N0FnSEMvNGI2WHNlcmFDVm9DOWVtKzJTQTJZWHdLU0pSeGdBTDZJRmpDWlo4?=
 =?utf-8?B?Q1JSaDhQalR0eDJ4RkR2QzF5VnRoa2tldGRzemJXbU4yVjhGQVNGc215VHh6?=
 =?utf-8?B?OWN3MmVPMkZIdUlJN1RWL1hHeS9Zbjc3N3RBTllvazFNcDRvOUtNY0ZrQzg0?=
 =?utf-8?B?MTNCQXJoMXl0WHVPVy9DZTMwQ2FtNlVYU2hlMC9vSWlSOHlGWkdLalAveGoy?=
 =?utf-8?B?QXVGcTMyQndFT28rcCszdVJqQWFOQUc5ODN3QXpiUGV6QXlob1FiOXhJaEdv?=
 =?utf-8?B?Zkw1azgwOTF5aDloQ29ZdU42Qnp4NnBZNWRRVFo3NXBJOTQvUnJGa1cxUDUx?=
 =?utf-8?B?OUFQNjR2ZWFUelpFOTY0bWxmZEJHcjIrWnZoTFNHWlRXc0FzTkpGTFg4NUlN?=
 =?utf-8?B?bHJNRk5yei9Eby96Y1pNR0JXc2NOc0RRa242dWtMaUcreVc3WHNDblFnN0o2?=
 =?utf-8?B?ZjdnN0hHeFJqajhFM28rN1dCbHRyc0dGNmdPaHVZaXh3bXhOcmVRTVQ3TVpm?=
 =?utf-8?B?TjlQRDRyRkFKZ1E1YXNjQ1JGQWpEdWg0ZW9NTVVpeDlSVkd2bVJXTlJNU3lR?=
 =?utf-8?B?d1J3cXowR3JCZkpoWCtHeU54anJCNFVETm96alV1K294bXVMd3g1NkNSQmhr?=
 =?utf-8?B?bWc4aW5sOWExN1NTRTJ3ZTRNQzEvOTFSUTlQaTF5WnpDUTVGR25NVnNhWm5u?=
 =?utf-8?B?TVhLczJjMm15KzdVcUF1cVp0WVVXZTZydE82NXR4M0gzYmtveWg3VkliOVBn?=
 =?utf-8?B?a0I4VWhvRDhjQzUvRFE0RGZidzJMam53ZUswajJWb2YybExqSkVJcWt1NkF3?=
 =?utf-8?B?Ui9XT1QyZ3dsODRUVTNOeEo4MXpURWhqTVlFTGFDdURqVll5anlLWFc3V2Jk?=
 =?utf-8?B?Wk1mM1dieFRiUlN3ZGxhQUpQL01FQzVWTkNOa29aaVhRU3Bva21BVDRtWllz?=
 =?utf-8?B?dUluci9OemMzMStHSFlxa0V3TlM4WWdFSFRlZ0s0K0pBTUtOT2FYZHpKMC8z?=
 =?utf-8?B?T2xMRzZPZXkrVkppQXpCVU5uV3pLQzV4ZzdpRmNHOE0xK21EMlhTSDdqUzdO?=
 =?utf-8?B?alY0UUlFb3VQRDR0eXVVcjl4K3c2eVhWc1Y0M3JlUWlhK0RXakFDUlkvZW9N?=
 =?utf-8?B?eTYxWTZ0Q20rT2MyN3FrYXBqK0dtbVZSQjRhOGtCWTlaZTVMcTVseFN6R2pO?=
 =?utf-8?B?ZnhHRndvOXF0S1FTaUlUcVJwOG1jTEtmd3NrRXpNYTAySVF6TWd4SGxLSHVD?=
 =?utf-8?B?YnFBeU05eVVLTnUvdlROeHF6Mk9uTno4blhHaXIycCtjYy9Uc0pVdU84Z0tL?=
 =?utf-8?B?REZvMmEwcW9Fb1l0bXdsdy9CSkJURkdNVzU4aXdYeFpkdVlwM3JUeC9OWGRE?=
 =?utf-8?B?TnhyVEhHcWJFTlBGeGdQZmJYK0dJNVpxb2l5Z2M3YXVZcHdJcE9reGhsVnNC?=
 =?utf-8?B?bVQyL0lvMWhoQ0YxTUwyT0g5a2VBRDUzZTRGbEtwWERuUmZjeHhNaWw5elpR?=
 =?utf-8?B?WlZxdmpnOGQ0bm1SWjEzTVJ1eHM3Zi9lbllzMWlHYWZTaHJVSHNENzVINEI4?=
 =?utf-8?B?ZW13L2h5Z0g5WDdxOEpwSjVuNFgvNit0L1gzSVN3TytWajVreUNkaWRJSllG?=
 =?utf-8?B?a1FVOTZKNnprdUJ1TGFIVjRuWjZEMldoc0RkZE9TN0tuM2hCODBDcDc5ckxB?=
 =?utf-8?B?OEVXbGRIdkZBQjFUcFdIa2FvSW4vNFBEZkdyQUlHSnYvTGNGTmEzNUNIMG81?=
 =?utf-8?B?bkJQYTk0RlFtUHdMRC8weSt1NlBuK2VIZWFWUlllVEVFc2k4aWpoNjdjU0pU?=
 =?utf-8?B?d1M5UHdhM3d1UUgvSENvUkR5UkorNVgzTU0yRndVZUx1TFh0eHJyMFhwcXU5?=
 =?utf-8?B?VnFIZkdMR3Y2NXRvRzBqSGpDb1NYalVWaVZCcEIxUFR4UHgvOVpkQVlBN3BX?=
 =?utf-8?B?aHQ1Y1pXUFlYY3RQZnRvQkhCbGgvYnVKZXM4TEFMSktmL3FJcnBBdVU3eDU1?=
 =?utf-8?B?dUs2S0c5ekxMdzEzcGdWU2UvaG9vNWhERlhDTXROaG85emtyNE13WUVOVXA0?=
 =?utf-8?B?VUJzRWplQkhkQTZWVUZVTXJlZ1MrNGhRTmlyQmNmL3UrWDNQUlJHTHZjQnFY?=
 =?utf-8?Q?v+PhsKCBjPF9MhBVEDJ9hQPq4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae025846-d023-4cfd-9fb5-08dad9322cc0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 15:37:55.3134
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wKxh/xot+wVjDiuRehzyKeaLbcexee3ZkQGWTbkcugeOlkFdfYI7R1iEIlegcvz7oTUUoK54eHf07UyyZnRm8g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9587

On 08.12.2022 14:51, Julien Grall wrote:
> On 08/12/2022 12:49, Ayan Kumar Halder wrote:
>> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
>> result, it contains the default value (ie 0). This causes,
>> kernel_zimage_place() to treat the binary (contained within uImage) as
>> position independent executable. Thus, it loads it at an incorrect address.
>>
>> The correct approach would be to read "uimage.ep" and set
>> info->zimage.start. This will ensure that the binary is loaded at the
>> correct address.
> 
> In non-statically allocated setup, a user doesn't know where the memory 
> for dom0/domU will be allocated.
> 
> So I think this was correct to ignore the address. In fact, I am worry 
> that...
> 
>> --- a/xen/arch/arm/kernel.c
>> +++ b/xen/arch/arm/kernel.c
>> @@ -222,6 +222,8 @@ static int __init kernel_uimage_probe(struct kernel_info *info,
>>       if ( len > size - sizeof(uimage) )
>>           return -EINVAL;
>>   
>> +    info->zimage.start = be32_to_cpu(uimage.ep);
> ... this will now ended up to break anyone that may have set an address 
> but didn't care where it should be loaded.
> 
> I also understand your use case but now, we have contradictory 
> approaches. I am not entirely sure how we can solve it. We may have to 
> break those users (Cc some folks that may use it). But we should figure 
> out what is the alternative for them.

I don't know anything about the uimage format, but is the ep field
required to be non-zero? If not, it being non-zero would retain
prior behavior.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 15:40:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 15:40:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457252.715147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3J0x-0001La-Ro; Thu, 08 Dec 2022 15:40:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457252.715147; Thu, 08 Dec 2022 15:40:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3J0x-0001LT-N5; Thu, 08 Dec 2022 15:40:47 +0000
Received: by outflank-mailman (input) for mailman id 457252;
 Thu, 08 Dec 2022 15:40:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3J0w-0001LI-SG; Thu, 08 Dec 2022 15:40:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3J0w-0004BD-P2; Thu, 08 Dec 2022 15:40:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3J0w-0000a6-FB; Thu, 08 Dec 2022 15:40:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3J0w-0005Dp-DD; Thu, 08 Dec 2022 15:40:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=N5/meEOBFJLw/GeCUFAS1D17RsYe8r2bJe5j2DzNxlU=; b=Q+c+v4xiF03x/Kl8t4TcDRBS2g
	5rvFxzOltP2vb7MZ9lxlYenaseO7soo/J25pQIHLRXwHi3wkbJDcDr/+sgMlS8ElxGASjAdW3Ur61
	b4HGJZPZx2j1DdiLgNQS2qwHJYHbuuRPODif7oP3tMcITwucwO1DNBxazXk6hK4CCOhA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175090-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175090: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=1c75bf3c21da79b1bc1d50cfc593b57f73f2c560
X-Osstest-Versions-That:
    ovmf=d9e7f6fe49738421c02381425d289767d7055ef1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 08 Dec 2022 15:40:46 +0000

flight 175090 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175090/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 1c75bf3c21da79b1bc1d50cfc593b57f73f2c560
baseline version:
 ovmf                 d9e7f6fe49738421c02381425d289767d7055ef1

Last test of basis   175085  2022-12-08 03:10:48 Z    0 days
Testing same since   175090  2022-12-08 10:11:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jason Lou <yun.lou@intel.com>
  Jiaxin Wu <jiaxin.wu@intel.com>
  Ray Ni <ray.ni@intel.com>
  Robert Guenzel <robert.guenzel@intel.com>
  Wu, Jiaxin <jiaxin.wu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   d9e7f6fe49..1c75bf3c21  1c75bf3c21da79b1bc1d50cfc593b57f73f2c560 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 16:00:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 16:00:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457263.715158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3JJb-0003wW-Fy; Thu, 08 Dec 2022 16:00:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457263.715158; Thu, 08 Dec 2022 16:00:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3JJb-0003vn-AU; Thu, 08 Dec 2022 16:00:03 +0000
Received: by outflank-mailman (input) for mailman id 457263;
 Thu, 08 Dec 2022 16:00:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HcKw=4G=amazon.de=prvs=334cfc16b=ptyadav@srs-se1.protection.inumbo.net>)
 id 1p3JJa-0003D2-81
 for xen-devel@lists.xen.org; Thu, 08 Dec 2022 16:00:02 +0000
Received: from smtp-fw-9103.amazon.com (smtp-fw-9103.amazon.com
 [207.171.188.200]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b5ba39e-7711-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 16:59:59 +0100 (CET)
Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO
 email-inbound-relay-pdx-2b-m6i4x-a893d89c.us-west-2.amazon.com)
 ([10.25.36.214]) by smtp-border-fw-9103.sea19.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Dec 2022 15:59:46 +0000
Received: from EX13MTAUWB001.ant.amazon.com
 (pdx1-ws-svc-p6-lb9-vlan2.pdx.amazon.com [10.236.137.194])
 by email-inbound-relay-pdx-2b-m6i4x-a893d89c.us-west-2.amazon.com (Postfix)
 with ESMTPS id 886EB416B5; Thu,  8 Dec 2022 15:59:46 +0000 (UTC)
Received: from EX19D048UWB003.ant.amazon.com (10.13.138.72) by
 EX13MTAUWB001.ant.amazon.com (10.43.161.249) with Microsoft SMTP Server (TLS)
 id 15.0.1497.42; Thu, 8 Dec 2022 15:59:46 +0000
Received: from EX13MTAUWB001.ant.amazon.com (10.43.161.207) by
 EX19D048UWB003.ant.amazon.com (10.13.138.72) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1118.20;
 Thu, 8 Dec 2022 15:59:45 +0000
Received: from dev-dsk-ptyadav-1c-37607b33.eu-west-1.amazon.com (10.15.11.255)
 by mail-relay.amazon.com (10.43.161.249) with Microsoft SMTP Server
 id
 15.0.1497.42 via Frontend Transport; Thu, 8 Dec 2022 15:59:45 +0000
Received: by dev-dsk-ptyadav-1c-37607b33.eu-west-1.amazon.com (Postfix,
 from userid 23027615)
 id 445C820D77; Thu,  8 Dec 2022 16:59:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b5ba39e-7711-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209;
  t=1670515199; x=1702051199;
  h=from:to:cc:subject:references:date:in-reply-to:
   message-id:mime-version;
  bh=uZt9FDPyGpeMgirEaYToW81GcKPBxSxydsE89IilZUM=;
  b=fhtFiovOLnRKGe5KrOeVIEKA8Svt+4t8mNX/K6oOz9qK9IgNazj4oDVJ
   k6e5NHMKQ9ZJ9TScQ37j5ZbUF4GLWfI8wMpjB98kx7UyZkhf5Ci4xYYi+
   WqN957GUy8oe4Cg0zxU+QDOM0mTbkhv5IJOVf1+oomp7v5ZkdWlJth4wj
   U=;
X-IronPort-AV: E=Sophos;i="5.96,227,1665446400"; 
   d="scan'208";a="1081611174"
From: Pratyush Yadav <ptyadav@amazon.de>
To: Xen.org security team <security@xen.org>
CC: <xen-announce@lists.xen.org>, <xen-devel@lists.xen.org>,
	<xen-users@lists.xen.org>, <oss-security@lists.openwall.com>, "Xen.org
 security team" <security-team-members@xen.org>
Subject: Re: Xen Security Advisory 424 v1 (CVE-2022-42328,CVE-2022-42329) -
 Guests can trigger deadlock in Linux netback driver
References: <E1p2ZhW-0005Xe-FG@xenbits.xenproject.org>
Date: Thu, 8 Dec 2022 16:59:44 +0100
In-Reply-To: <E1p2ZhW-0005Xe-FG@xenbits.xenproject.org> (Xen org security
	team's message of "Tue, 06 Dec 2022 15:17:42 +0000")
Message-ID: <mafs0lenhlwcv.fsf@dev-dsk-ptyadav-1c-37607b33.eu-west-1.amazon.com>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
Precedence: Bulk


Hi,

I noticed one interesting thing about this patch but I'm not familiar
enough with the driver to say for sure what the right thing is.

On Tue, Dec 06 2022, Xen.org security team wrote:

[...]
>
> From cfdf8fd81845734b6152b4617746c1127ec52228 Mon Sep 17 00:00:00 2001
> From: Juergen Gross <jgross@suse.com>
> Date: Tue, 6 Dec 2022 08:54:24 +0100
> Subject: [PATCH] xen/netback: don't call kfree_skb() with interrupts disabled
>
> It is not allowed to call kfree_skb() from hardware interrupt
> context or with interrupts being disabled. So remove kfree_skb()
> from the spin_lock_irqsave() section and use the already existing
> "drop" label in xenvif_start_xmit() for dropping the SKB. At the
> same time replace the dev_kfree_skb() call there with a call of
> dev_kfree_skb_any(), as xenvif_start_xmit() can be called with
> disabled interrupts.
>
> This is XSA-424 / CVE-2022-42328 / CVE-2022-42329.
>
> Fixes: be81992f9086 ("xen/netback: don't queue unlimited number of packages")
> Reported-by: Yang Yingliang <yangyingliang@huawei.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
>  drivers/net/xen-netback/common.h    | 2 +-
>  drivers/net/xen-netback/interface.c | 6 ++++--
>  drivers/net/xen-netback/rx.c        | 8 +++++---
>  3 files changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/xen-netback/common.h b/drivers/net/xen-netback/common.h
> index 1545cbee77a4..3dbfc8a6924e 100644
> --- a/drivers/net/xen-netback/common.h
> +++ b/drivers/net/xen-netback/common.h
> @@ -386,7 +386,7 @@ int xenvif_dealloc_kthread(void *data);
>  irqreturn_t xenvif_ctrl_irq_fn(int irq, void *data);
>
>  bool xenvif_have_rx_work(struct xenvif_queue *queue, bool test_kthread);
> -void xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb);
> +bool xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb);
>
>  void xenvif_carrier_on(struct xenvif *vif);
>
> diff --git a/drivers/net/xen-netback/interface.c b/drivers/net/xen-netback/interface.c
> index 650fa180220f..f3f2c07423a6 100644
> --- a/drivers/net/xen-netback/interface.c
> +++ b/drivers/net/xen-netback/interface.c
> @@ -254,14 +254,16 @@ xenvif_start_xmit(struct sk_buff *skb, struct net_device *dev)
>  	if (vif->hash.alg == XEN_NETIF_CTRL_HASH_ALGORITHM_NONE)
>  		skb_clear_hash(skb);
>
> -	xenvif_rx_queue_tail(queue, skb);
> +	if (!xenvif_rx_queue_tail(queue, skb))
> +		goto drop;
> +
>  	xenvif_kick_thread(queue);
>
>  	return NETDEV_TX_OK;
>
>   drop:
>  	vif->dev->stats.tx_dropped++;

Now tx_dropped is incremented on packet drop...

> -	dev_kfree_skb(skb);
> +	dev_kfree_skb_any(skb);
>  	return NETDEV_TX_OK;
>  }
>
> diff --git a/drivers/net/xen-netback/rx.c b/drivers/net/xen-netback/rx.c
> index 932762177110..0ba754ebc5ba 100644
> --- a/drivers/net/xen-netback/rx.c
> +++ b/drivers/net/xen-netback/rx.c
> @@ -82,9 +82,10 @@ static bool xenvif_rx_ring_slots_available(struct xenvif_queue *queue)
>  	return false;
>  }
>
> -void xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb)
> +bool xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb)
>  {
>  	unsigned long flags;
> +	bool ret = true;
>
>  	spin_lock_irqsave(&queue->rx_queue.lock, flags);
>
> @@ -92,8 +93,7 @@ void xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb)
>  		struct net_device *dev = queue->vif->dev;
>
>  		netif_tx_stop_queue(netdev_get_tx_queue(dev, queue->id));
> -		kfree_skb(skb);
> -		queue->vif->dev->stats.rx_dropped++;

... but earlier rx_dropped was incremented.

Which one is actually correct? This line was added by be81992f9086b
("xen/netback: don't queue unlimited number of packages"), which was the
fix for XSA-392. I think incrementing tx_dropped is the right thing to
do, as was done before XSA-392 but it would be nice if someone else
takes a look at this as well.

> +		ret = false;
>  	} else {
>  		if (skb_queue_empty(&queue->rx_queue))
>  			xenvif_update_needed_slots(queue, skb);
> @@ -104,6 +104,8 @@ void xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb)
>  	}
>
>  	spin_unlock_irqrestore(&queue->rx_queue.lock, flags);
> +
> +	return ret;
>  }
>
>  static struct sk_buff *xenvif_rx_dequeue(struct xenvif_queue *queue)

--
Regards,
Pratyush Yadav



Amazon Development Center Germany GmbH
Krausenstr. 38
10117 Berlin
Geschaeftsfuehrung: Christian Schlaeger, Jonathan Weiss
Eingetragen am Amtsgericht Charlottenburg unter HRB 149173 B
Sitz: Berlin
Ust-ID: DE 289 237 879





From xen-devel-bounces@lists.xenproject.org Thu Dec 08 16:12:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 16:12:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457276.715168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3JVj-0006hx-QC; Thu, 08 Dec 2022 16:12:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457276.715168; Thu, 08 Dec 2022 16:12:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3JVj-0006hn-N7; Thu, 08 Dec 2022 16:12:35 +0000
Received: by outflank-mailman (input) for mailman id 457276;
 Thu, 08 Dec 2022 16:12:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=LnEJ=4G=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p3JVi-0006hg-Mv
 for xen-devel@lists.xen.org; Thu, 08 Dec 2022 16:12:34 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f58e367-7713-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 17:12:33 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0B06733751;
 Thu,  8 Dec 2022 16:12:33 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id B4BE2138E0;
 Thu,  8 Dec 2022 16:12:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id lqMRKvAMkmPWHwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 08 Dec 2022 16:12:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f58e367-7713-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670515953; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=3D56ixHg4GEvROv0g+h9EpASNrVkm5n82P5FiEPpmwA=;
	b=XgNzeg1x/da/TA6tHQZzVItq+Q5Zb/6H0T/+iaEhWFYR8jZzifjloG3dcVsuKWMJWUwec4
	kCKeR4nnzAQg/GLyBGoca52lrB653EWvsXb4YzHeixg9tKN8EY9pR4mvANFH+YYfE35x0/
	t2SGmvUXS17H4HTroHQBfSeREc6rAQw=
Message-ID: <e22fcdce-f029-de46-81a6-60f5ffc9c9a2@suse.com>
Date: Thu, 8 Dec 2022 17:12:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: Xen Security Advisory 424 v1 (CVE-2022-42328,CVE-2022-42329) -
 Guests can trigger deadlock in Linux netback driver
Content-Language: en-US
To: Pratyush Yadav <ptyadav@amazon.de>,
 "Xen.org security team" <security@xen.org>
Cc: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com,
 "Xen.org security team" <security-team-members@xen.org>
References: <E1p2ZhW-0005Xe-FG@xenbits.xenproject.org>
 <mafs0lenhlwcv.fsf@dev-dsk-ptyadav-1c-37607b33.eu-west-1.amazon.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <mafs0lenhlwcv.fsf@dev-dsk-ptyadav-1c-37607b33.eu-west-1.amazon.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Epe70gCUpcHe4aA3CqDhOehN"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Epe70gCUpcHe4aA3CqDhOehN
Content-Type: multipart/mixed; boundary="------------BBFSoseI0wFH390kzl0Q9A3S";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Pratyush Yadav <ptyadav@amazon.de>,
 "Xen.org security team" <security@xen.org>
Cc: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com,
 "Xen.org security team" <security-team-members@xen.org>
Message-ID: <e22fcdce-f029-de46-81a6-60f5ffc9c9a2@suse.com>
Subject: Re: Xen Security Advisory 424 v1 (CVE-2022-42328,CVE-2022-42329) -
 Guests can trigger deadlock in Linux netback driver
References: <E1p2ZhW-0005Xe-FG@xenbits.xenproject.org>
 <mafs0lenhlwcv.fsf@dev-dsk-ptyadav-1c-37607b33.eu-west-1.amazon.com>
In-Reply-To: <mafs0lenhlwcv.fsf@dev-dsk-ptyadav-1c-37607b33.eu-west-1.amazon.com>

--------------BBFSoseI0wFH390kzl0Q9A3S
Content-Type: multipart/mixed; boundary="------------FOIUDD6mMxRMmhHZoX2ZnxJ0"

--------------FOIUDD6mMxRMmhHZoX2ZnxJ0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDguMTIuMjIgMTY6NTksIFByYXR5dXNoIFlhZGF2IHdyb3RlOg0KPiANCj4gSGksDQo+
IA0KPiBJIG5vdGljZWQgb25lIGludGVyZXN0aW5nIHRoaW5nIGFib3V0IHRoaXMgcGF0Y2gg
YnV0IEknbSBub3QgZmFtaWxpYXINCj4gZW5vdWdoIHdpdGggdGhlIGRyaXZlciB0byBzYXkg
Zm9yIHN1cmUgd2hhdCB0aGUgcmlnaHQgdGhpbmcgaXMuDQo+IA0KPiBPbiBUdWUsIERlYyAw
NiAyMDIyLCBYZW4ub3JnIHNlY3VyaXR5IHRlYW0gd3JvdGU6DQo+IA0KPiBbLi4uXQ0KPj4N
Cj4+ICBGcm9tIGNmZGY4ZmQ4MTg0NTczNGI2MTUyYjQ2MTc3NDZjMTEyN2VjNTIyMjggTW9u
IFNlcCAxNyAwMDowMDowMCAyMDAxDQo+PiBGcm9tOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NA
c3VzZS5jb20+DQo+PiBEYXRlOiBUdWUsIDYgRGVjIDIwMjIgMDg6NTQ6MjQgKzAxMDANCj4+
IFN1YmplY3Q6IFtQQVRDSF0geGVuL25ldGJhY2s6IGRvbid0IGNhbGwga2ZyZWVfc2tiKCkg
d2l0aCBpbnRlcnJ1cHRzIGRpc2FibGVkDQo+Pg0KPj4gSXQgaXMgbm90IGFsbG93ZWQgdG8g
Y2FsbCBrZnJlZV9za2IoKSBmcm9tIGhhcmR3YXJlIGludGVycnVwdA0KPj4gY29udGV4dCBv
ciB3aXRoIGludGVycnVwdHMgYmVpbmcgZGlzYWJsZWQuIFNvIHJlbW92ZSBrZnJlZV9za2Io
KQ0KPj4gZnJvbSB0aGUgc3Bpbl9sb2NrX2lycXNhdmUoKSBzZWN0aW9uIGFuZCB1c2UgdGhl
IGFscmVhZHkgZXhpc3RpbmcNCj4+ICJkcm9wIiBsYWJlbCBpbiB4ZW52aWZfc3RhcnRfeG1p
dCgpIGZvciBkcm9wcGluZyB0aGUgU0tCLiBBdCB0aGUNCj4+IHNhbWUgdGltZSByZXBsYWNl
IHRoZSBkZXZfa2ZyZWVfc2tiKCkgY2FsbCB0aGVyZSB3aXRoIGEgY2FsbCBvZg0KPj4gZGV2
X2tmcmVlX3NrYl9hbnkoKSwgYXMgeGVudmlmX3N0YXJ0X3htaXQoKSBjYW4gYmUgY2FsbGVk
IHdpdGgNCj4+IGRpc2FibGVkIGludGVycnVwdHMuDQo+Pg0KPj4gVGhpcyBpcyBYU0EtNDI0
IC8gQ1ZFLTIwMjItNDIzMjggLyBDVkUtMjAyMi00MjMyOS4NCj4+DQo+PiBGaXhlczogYmU4
MTk5MmY5MDg2ICgieGVuL25ldGJhY2s6IGRvbid0IHF1ZXVlIHVubGltaXRlZCBudW1iZXIg
b2YgcGFja2FnZXMiKQ0KPj4gUmVwb3J0ZWQtYnk6IFlhbmcgWWluZ2xpYW5nIDx5YW5neWlu
Z2xpYW5nQGh1YXdlaS5jb20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxq
Z3Jvc3NAc3VzZS5jb20+DQo+PiBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPg0KPj4gLS0tDQo+PiAgIGRyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL2NvbW1v
bi5oICAgIHwgMiArLQ0KPj4gICBkcml2ZXJzL25ldC94ZW4tbmV0YmFjay9pbnRlcmZhY2Uu
YyB8IDYgKysrKy0tDQo+PiAgIGRyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL3J4LmMgICAgICAg
IHwgOCArKysrKy0tLQ0KPj4gICAzIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyks
IDYgZGVsZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3hlbi1u
ZXRiYWNrL2NvbW1vbi5oIGIvZHJpdmVycy9uZXQveGVuLW5ldGJhY2svY29tbW9uLmgNCj4+
IGluZGV4IDE1NDVjYmVlNzdhNC4uM2RiZmM4YTY5MjRlIDEwMDY0NA0KPj4gLS0tIGEvZHJp
dmVycy9uZXQveGVuLW5ldGJhY2svY29tbW9uLmgNCj4+ICsrKyBiL2RyaXZlcnMvbmV0L3hl
bi1uZXRiYWNrL2NvbW1vbi5oDQo+PiBAQCAtMzg2LDcgKzM4Niw3IEBAIGludCB4ZW52aWZf
ZGVhbGxvY19rdGhyZWFkKHZvaWQgKmRhdGEpOw0KPj4gICBpcnFyZXR1cm5fdCB4ZW52aWZf
Y3RybF9pcnFfZm4oaW50IGlycSwgdm9pZCAqZGF0YSk7DQo+Pg0KPj4gICBib29sIHhlbnZp
Zl9oYXZlX3J4X3dvcmsoc3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUsIGJvb2wgdGVzdF9r
dGhyZWFkKTsNCj4+IC12b2lkIHhlbnZpZl9yeF9xdWV1ZV90YWlsKHN0cnVjdCB4ZW52aWZf
cXVldWUgKnF1ZXVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiKTsNCj4+ICtib29sIHhlbnZpZl9y
eF9xdWV1ZV90YWlsKHN0cnVjdCB4ZW52aWZfcXVldWUgKnF1ZXVlLCBzdHJ1Y3Qgc2tfYnVm
ZiAqc2tiKTsNCj4+DQo+PiAgIHZvaWQgeGVudmlmX2NhcnJpZXJfb24oc3RydWN0IHhlbnZp
ZiAqdmlmKTsNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQveGVuLW5ldGJhY2sv
aW50ZXJmYWNlLmMgYi9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9pbnRlcmZhY2UuYw0KPj4g
aW5kZXggNjUwZmExODAyMjBmLi5mM2YyYzA3NDIzYTYgMTAwNjQ0DQo+PiAtLS0gYS9kcml2
ZXJzL25ldC94ZW4tbmV0YmFjay9pbnRlcmZhY2UuYw0KPj4gKysrIGIvZHJpdmVycy9uZXQv
eGVuLW5ldGJhY2svaW50ZXJmYWNlLmMNCj4+IEBAIC0yNTQsMTQgKzI1NCwxNiBAQCB4ZW52
aWZfc3RhcnRfeG1pdChzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgbmV0X2RldmljZSAq
ZGV2KQ0KPj4gICAJaWYgKHZpZi0+aGFzaC5hbGcgPT0gWEVOX05FVElGX0NUUkxfSEFTSF9B
TEdPUklUSE1fTk9ORSkNCj4+ICAgCQlza2JfY2xlYXJfaGFzaChza2IpOw0KPj4NCj4+IC0J
eGVudmlmX3J4X3F1ZXVlX3RhaWwocXVldWUsIHNrYik7DQo+PiArCWlmICgheGVudmlmX3J4
X3F1ZXVlX3RhaWwocXVldWUsIHNrYikpDQo+PiArCQlnb3RvIGRyb3A7DQo+PiArDQo+PiAg
IAl4ZW52aWZfa2lja190aHJlYWQocXVldWUpOw0KPj4NCj4+ICAgCXJldHVybiBORVRERVZf
VFhfT0s7DQo+Pg0KPj4gICAgZHJvcDoNCj4+ICAgCXZpZi0+ZGV2LT5zdGF0cy50eF9kcm9w
cGVkKys7DQo+IA0KPiBOb3cgdHhfZHJvcHBlZCBpcyBpbmNyZW1lbnRlZCBvbiBwYWNrZXQg
ZHJvcC4uLg0KPiANCj4+IC0JZGV2X2tmcmVlX3NrYihza2IpOw0KPj4gKwlkZXZfa2ZyZWVf
c2tiX2FueShza2IpOw0KPj4gICAJcmV0dXJuIE5FVERFVl9UWF9PSzsNCj4+ICAgfQ0KPj4N
Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9yeC5jIGIvZHJpdmVy
cy9uZXQveGVuLW5ldGJhY2svcnguYw0KPj4gaW5kZXggOTMyNzYyMTc3MTEwLi4wYmE3NTRl
YmM1YmEgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9yeC5jDQo+
PiArKysgYi9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9yeC5jDQo+PiBAQCAtODIsOSArODIs
MTAgQEAgc3RhdGljIGJvb2wgeGVudmlmX3J4X3Jpbmdfc2xvdHNfYXZhaWxhYmxlKHN0cnVj
dCB4ZW52aWZfcXVldWUgKnF1ZXVlKQ0KPj4gICAJcmV0dXJuIGZhbHNlOw0KPj4gICB9DQo+
Pg0KPj4gLXZvaWQgeGVudmlmX3J4X3F1ZXVlX3RhaWwoc3RydWN0IHhlbnZpZl9xdWV1ZSAq
cXVldWUsIHN0cnVjdCBza19idWZmICpza2IpDQo+PiArYm9vbCB4ZW52aWZfcnhfcXVldWVf
dGFpbChzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwgc3RydWN0IHNrX2J1ZmYgKnNrYikN
Cj4+ICAgew0KPj4gICAJdW5zaWduZWQgbG9uZyBmbGFnczsNCj4+ICsJYm9vbCByZXQgPSB0
cnVlOw0KPj4NCj4+ICAgCXNwaW5fbG9ja19pcnFzYXZlKCZxdWV1ZS0+cnhfcXVldWUubG9j
aywgZmxhZ3MpOw0KPj4NCj4+IEBAIC05Miw4ICs5Myw3IEBAIHZvaWQgeGVudmlmX3J4X3F1
ZXVlX3RhaWwoc3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUsIHN0cnVjdCBza19idWZmICpz
a2IpDQo+PiAgIAkJc3RydWN0IG5ldF9kZXZpY2UgKmRldiA9IHF1ZXVlLT52aWYtPmRldjsN
Cj4+DQo+PiAgIAkJbmV0aWZfdHhfc3RvcF9xdWV1ZShuZXRkZXZfZ2V0X3R4X3F1ZXVlKGRl
diwgcXVldWUtPmlkKSk7DQo+PiAtCQlrZnJlZV9za2Ioc2tiKTsNCj4+IC0JCXF1ZXVlLT52
aWYtPmRldi0+c3RhdHMucnhfZHJvcHBlZCsrOw0KPiANCj4gLi4uIGJ1dCBlYXJsaWVyIHJ4
X2Ryb3BwZWQgd2FzIGluY3JlbWVudGVkLg0KPiANCj4gV2hpY2ggb25lIGlzIGFjdHVhbGx5
IGNvcnJlY3Q/IFRoaXMgbGluZSB3YXMgYWRkZWQgYnkgYmU4MTk5MmY5MDg2Yg0KPiAoInhl
bi9uZXRiYWNrOiBkb24ndCBxdWV1ZSB1bmxpbWl0ZWQgbnVtYmVyIG9mIHBhY2thZ2VzIiks
IHdoaWNoIHdhcyB0aGUNCj4gZml4IGZvciBYU0EtMzkyLiBJIHRoaW5rIGluY3JlbWVudGlu
ZyB0eF9kcm9wcGVkIGlzIHRoZSByaWdodCB0aGluZyB0bw0KPiBkbywgYXMgd2FzIGRvbmUg
YmVmb3JlIFhTQS0zOTIgYnV0IGl0IHdvdWxkIGJlIG5pY2UgaWYgc29tZW9uZSBlbHNlDQo+
IHRha2VzIGEgbG9vayBhdCB0aGlzIGFzIHdlbGwuDQoNClllcywgSSB0aGluayB0aGUgWFNB
LTM5MiBwYXRjaCB3YXMgd3JvbmcgaW4gdGhpcyByZWdhcmQuDQoNCg0KSnVlcmdlbg0K
--------------FOIUDD6mMxRMmhHZoX2ZnxJ0
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------FOIUDD6mMxRMmhHZoX2ZnxJ0--

--------------BBFSoseI0wFH390kzl0Q9A3S--

--------------Epe70gCUpcHe4aA3CqDhOehN
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOSDPAFAwAAAAAACgkQsN6d1ii/Ey8i
lAf+JGrVjdHrOS8tbLhxv5V2MZGPw9Q2D8Jwnvh/nURZ87DAwKjuYM4RQ3w/skkWkaqLC+8TR193
4r73qKq/ROxwwaxwmN+gjVSL/OZlP7NKYqiWdLegPMqH3l2GQBo9GiInC/fDT7wxvDCtTwYgSiXx
XyIo3pOHYE1WSfi5r8q3/aNE/mAzpbVrZGPBMz76yqmsrDzGcv0LlX13Ax4g2DBHKCd8SMsvXbH7
4OpRZ9BWmc1WS/ilWqG4jB38iFYD9Tkqra60piHbG7WY5slRCSe/+yCnQ8kog8OVNSB+zBGYYH6L
3pHcKh9bD6wqvVBMDk7M1gddgaHHibHKFgr6YxNhzQ==
=2PYd
-----END PGP SIGNATURE-----

--------------Epe70gCUpcHe4aA3CqDhOehN--


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 16:22:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 16:22:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457342.715231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Jep-0002dm-OB; Thu, 08 Dec 2022 16:21:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457342.715231; Thu, 08 Dec 2022 16:21:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Jep-0002df-KU; Thu, 08 Dec 2022 16:21:59 +0000
Received: by outflank-mailman (input) for mailman id 457342;
 Thu, 08 Dec 2022 16:21:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Jeo-0002dO-0y; Thu, 08 Dec 2022 16:21:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Jen-0005mu-Ue; Thu, 08 Dec 2022 16:21:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Jen-00030d-LU; Thu, 08 Dec 2022 16:21:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Jen-0000hP-L0; Thu, 08 Dec 2022 16:21:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IdUYRtnZg7pPEc/NKUyhd9PPVokX8uFFTIjoPGJw8k8=; b=kbNhQdHOG4WbAx0b7Nx0HLreX7
	/C6KEKxM7GBErd2bJb9b8pCqxdcWGJYP9uCIFq80IbPZUfhyBD/RJXUDQLCK1YOxHVS5p/ZkPsVP1
	hZtrRdqvnYLpqLIw2WhlNEDW9ezn37tKvXVLpqdOfSLg7V8NqoKyHU7s0tr1pz5+UlZY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175087-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175087: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=479174d402bcf60789106eedc4def3957c060bad
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 08 Dec 2022 16:21:57 +0000

flight 175087 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175087/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2  14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 173462
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1  14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 173462
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 173462
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-pair        25 guest-start/debian      fail blocked in 173462
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                479174d402bcf60789106eedc4def3957c060bad
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   61 days
Failing since        173470  2022-10-08 06:21:34 Z   61 days  122 attempts
Testing same since   175081  2022-12-07 21:41:51 Z    0 days    2 attempts

------------------------------------------------------------
1955 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 187808 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 16:37:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 16:37:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457361.715241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3JtP-0004pl-8G; Thu, 08 Dec 2022 16:37:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457361.715241; Thu, 08 Dec 2022 16:37:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3JtP-0004pe-5R; Thu, 08 Dec 2022 16:37:03 +0000
Received: by outflank-mailman (input) for mailman id 457361;
 Thu, 08 Dec 2022 16:37:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pN/8=4G=templeofstupid.com=kjlx@srs-se1.protection.inumbo.net>)
 id 1p3JtN-0004pY-TQ
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 16:37:02 +0000
Received: from poodle.tulip.relay.mailchannels.net
 (poodle.tulip.relay.mailchannels.net [23.83.218.249])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86bcb1b4-7716-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 17:36:58 +0100 (CET)
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 97D6D3C2986
 for <xen-devel@lists.xenproject.org>; Thu,  8 Dec 2022 16:36:54 +0000 (UTC)
Received: from pdx1-sub0-mail-a306.dreamhost.com (unknown [127.0.0.6])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 33DE93C2999
 for <xen-devel@lists.xenproject.org>; Thu,  8 Dec 2022 16:36:54 +0000 (UTC)
Received: from pdx1-sub0-mail-a306.dreamhost.com (pop.dreamhost.com
 [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384)
 by 100.97.74.32 (trex/6.7.1); Thu, 08 Dec 2022 16:36:54 +0000
Received: from kmjvbox (c-73-70-108-208.hsd1.ca.comcast.net [73.70.108.208])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 (Authenticated sender: kjlx@templeofstupid.com)
 by pdx1-sub0-mail-a306.dreamhost.com (Postfix) with ESMTPSA id 4NSfts2D3VzjL
 for <xen-devel@lists.xenproject.org>; Thu,  8 Dec 2022 08:36:52 -0800 (PST)
Received: from johansen (uid 1000) (envelope-from kjlx@templeofstupid.com)
 id e005f by kmjvbox (DragonFly Mail Agent v0.12);
 Thu, 08 Dec 2022 08:36:50 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86bcb1b4-7716-11ed-91b6-6bf2151ebd3b
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1670517414; a=rsa-sha256;
	cv=none;
	b=3o/ujEW/sXEhdP/j6nse8IeWOSzxDgigztDMqArsTLaVl5sg8rvURDXSJHnxeJrmOB5rK3
	viQ0XaH1coQ+c3k1iXYxO+3xHtQXWjQ6U4C2o1KTYuaiswamfIbXtKHp2sf4OtR79umXu3
	ZXPe/tj7B19250n6ZBdecBfjYh/kBNhHhSxiqGpJ+zuTfA442Ef0v+YdFaJbdIBYjs5E5V
	GPEvvhLTMUOehneM23W+dueiOjWfqRY3/zEDPNA20gOQnK6NQ3mu/bG7PmMez7sYaa8MMU
	SxHFMFVtVncW6nV3uGCmPFb2VhJBPZLoRX8pdTgS4ZwLTgzDriPsHMnNYLn6XA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
 d=mailchannels.net;
	s=arc-2022; t=1670517414;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 dkim-signature; bh=bs74ZGYQ9FzRSVBX/TLanMiHEEc4YJIYzYEP749rubo=;
	b=vpeLPixtILnavoTo+WT2h2ekur2rbWeHCxi+DL8hwkfF7WVxJWwa78XE1xBdFlHNRsUDVK
	tpdB7PnQQlcjV37Ab38qK34KSUxc/bfYsuaD3aKj1BRfULPfw9X2ywPXDHvflR8mxLxb1v
	HyefjLTTgrNpR7q9DcecSfQvlyM2ki0EGJENKNEdH5ch9dsUu0hV7W+L3XaKRQtnDGcpDn
	ERaoBTCNQ8JV74Z+5L9VGCZ2VG2Xu1/uhFjiD415w4yCzCzeC7M439F/BRkYQpsFH2RZsA
	riJuOU3BxJ+jSatcEr7rG0WMrvO4Fb47HD2Kf7mgR9WkdnFBvfYoRfG8dSho8Q==
ARC-Authentication-Results: i=1;
	rspamd-85f95c7974-8lndr;
	auth=pass smtp.auth=dreamhost smtp.mailfrom=kjlx@templeofstupid.com
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MailChannels-Auth-Id: dreamhost
X-Oafish-Lyrical: 649e8ad758912dfb_1670517414435_1412210855
X-MC-Loop-Signature: 1670517414435:1129904494
X-MC-Ingress-Time: 1670517414435
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=templeofstupid.com;
	s=dreamhost; t=1670517413;
	bh=bs74ZGYQ9FzRSVBX/TLanMiHEEc4YJIYzYEP749rubo=;
	h=Date:From:To:Cc:Subject:Content-Type;
	b=hESgpD/+OrzvH+6b1U6RKBOLOwJiqCQBT1mxoUxpUs5xzHKC70FZgmMfvPziG+V+t
	 3eBIu2KxYLoGa8i9QQd0boR7+3sD213cNgI7PAkExFAk+o++TiclVLFHv5RyUUfOsd
	 k+iXFBHCT0eW5xuSP4bTilUk6Bkr9itiOEoLNz5g=
Date: Thu, 8 Dec 2022 08:36:50 -0800
From: Krister Johansen <kjlx@templeofstupid.com>
To: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Anthony Liguori <aliguori@amazon.com>,
	David Reaver <me@davidreaver.com>,
	Brendan Gregg <brendan@intel.com>
Subject: [PATCH linux-next] x86/xen/time: prefer tsc as clocksource when it
 is invariant
Message-ID: <20221208163650.GA3225@templeofstupid.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Kvm elects to use tsc instead of kvm-clock when it can detect that the
TSC is invariant.

(As of commit 7539b174aef4 ("x86: kvmguest: use TSC clocksource if
invariant TSC is exposed")).

Notable cloud vendors[1] and performance engineers[2] recommend that Xen
users preferentially select tsc over xen-clocksource due the performance
penalty incurred by the latter.  These articles are persuasive and
tailored to specific use cases.  In order to understand the tradeoffs
around this choice more fully, this author had to reference the
documented[3] complexities around the Xen configuration, as well as the
kernel's clocksource selection algorithm.  Many users may not attempt
this to correctly configure the right clock source in their guest.

The approach taken in the kvm-clock module spares users this confusion,
where possible.

Both the Intel SDM[4] and the Xen tsc documentation explain that marking
a tsc as invariant means that it should be considered stable by the OS
and is elibile to be used as a wall clock source.  The Xen documentation
further clarifies that this is only reliable on HVM and PVH because PV
cannot intercept a cpuid instruction.

In order to obtain better out-of-the-box performance, and reduce the
need for user tuning, follow kvm's approach and decrease the xen clock
rating so that tsc is preferable, if it is invariant, stable, and the
guest is a HVM or PVH domain.

[1] https://aws.amazon.com/premiumsupport/knowledge-center/manage-ec2-linux-clock-source/
[2] https://www.brendangregg.com/blog/2021-09-26/the-speed-of-time.html
[3] https://xenbits.xen.org/docs/unstable/man/xen-tscmode.7.html
[4] Intel 64 and IA-32 Architectures Sofware Developer's Manual Volume
    3b: System Programming Guide, Part 2, Section 17.17.1, Invariant TSC

Signed-off-by: Krister Johansen <kjlx@templeofstupid.com>
Code-reviewed-by: David Reaver <me@davidreaver.com>
---
 arch/x86/xen/time.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
index 9ef0a5cca96e..ca78581e4221 100644
--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -480,9 +480,22 @@ static void __init xen_time_init(void)
 	int cpu = smp_processor_id();
 	struct timespec64 tp;
 
-	/* As Dom0 is never moved, no penalty on using TSC there */
-	if (xen_initial_domain())
+	/*
+	 * As Dom0 is never moved, no penalty on using TSC there.
+	 *
+	 * If the guest has invariant tsc, then set xen_clocksource rating
+	 * below that of the tsc so that the system prefers tsc instead.  This
+	 * check excludes PV domains, because PV is unable to guarantee that the
+	 * guest's cpuid call has been intercepted by the hypervisor.
+	 */
+	if (xen_initial_domain()) {
 		xen_clocksource.rating = 275;
+	} else if ((xen_hvm_domain() || xen_pvh_domain()) &&
+	    boot_cpu_has(X86_FEATURE_CONSTANT_TSC) &&
+	    boot_cpu_has(X86_FEATURE_NONSTOP_TSC) &&
+	    !check_tsc_unstable()) {
+		xen_clocksource.rating = 299;
+	}
 
 	clocksource_register_hz(&xen_clocksource, NSEC_PER_SEC);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 08 16:43:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 16:43:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457369.715253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Jzd-0006Ko-VX; Thu, 08 Dec 2022 16:43:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457369.715253; Thu, 08 Dec 2022 16:43:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Jzd-0006Kh-SE; Thu, 08 Dec 2022 16:43:29 +0000
Received: by outflank-mailman (input) for mailman id 457369;
 Thu, 08 Dec 2022 16:43:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YEW2=4G=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p3Jzc-0006KX-R5
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 16:43:28 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f796aa8-7717-11ed-91b6-6bf2151ebd3b;
 Thu, 08 Dec 2022 17:43:27 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by PH0PR12MB7983.namprd12.prod.outlook.com (2603:10b6:510:28e::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 16:43:22 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c%5]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 16:43:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f796aa8-7717-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ineSjuaZmzKVlRlQgXmiDYBQ2y8yJEPFltHGumnM6Syu+mGxYC1ADcynl6D2G1lLQVTQJvYfBVtHmf3QKQZ+22khvULvUt4XGeeYVz9ArfYgB/YQgJHLB/vQzxoxkF7ykzuvE9BjyliI4gc6KuTKczqaFT6akujcseoUu9RCWka/q5qzmupAcGmjEz/UIk9rJpN2/xsfywUC2PZWuvy7TsU3+xuFDgoFquOyXqaTC9jEJRxDWPQ0vjUFWWK0HVYecZb7weHOwy82Sb2F/Syl+xlz96ZIMwYdb2zv+fjEHC1o8SXpYNZ6/r6iDssw3rSmfbBLtp8AgkeB3QRODtL+2A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6uBjLKKpDPL2N6TFYF+fPQL5JbTMW/VvE9QKLNfh9lg=;
 b=mOG2vQHcYcxGBFgK6lB9NBMqpvupWqSckTXJcb0sPtvDDUumJsYxPkzdk8WkE7MP8YtmNJACPHO6nnE0eHSy156+ReKUinbSKgdMt1Us1LcKbFMkF6vWn1sqWzbhMY/9g7Q+kdCBKlLLd2smRU6Wyxmn1n2AWOuWE/IFxDCbUZzhq4M5JEhftlcFCgMQRsc1VWyu59UXwv+pBmW5s1DGGjF9SqMd0yCUwtUgtoRGHG77EjJvdJ3CpYQ0O9LlfNoPTVB3EoMv6gXUDLGOBv3ui62Gzzno6zQuvXEecJhW8BRp8fhXEZFnz5PWL/l646OspscTkJzeYFSiZGp2rKyDJg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6uBjLKKpDPL2N6TFYF+fPQL5JbTMW/VvE9QKLNfh9lg=;
 b=fbftwfahMrBLVKwWLGe2XAqCqe1fPsD7tJwHSEHQRC3brf9m9xcZmzbIaDdnzMIZuhOb/UDKT145lCq2KC2CfRBrDmM4ec9ysKIJfU18UqfEss6akvyXQ0f95CFlw6v/1JGJWyDPtF/tRmwxcERVpwImsnKlVQ5IscBwmK40myA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <aa129163-cfad-415a-7067-1fb948087e2c@amd.com>
Date: Thu, 8 Dec 2022 16:43:16 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
To: Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
 <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
 <e8aff19a-4992-9d35-4e78-9e64aec384f9@amd.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <e8aff19a-4992-9d35-4e78-9e64aec384f9@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0165.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:312::8) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|PH0PR12MB7983:EE_
X-MS-Office365-Filtering-Correlation-Id: 6a79cf1d-9188-473e-3912-08dad93b51c3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zsTyalZ+cezgR9qeRzPUQi9OsV12l37FWAC0YBFhK3NVATy4kfPymG4nZpaia3fkH2R64CJ4XGwj94nTgUzmLC01WMyKvztbPpfdXZ7TWtWyI22F1eCBK8I/LO1RK82QiEPhr2M7JADAKS5vuNtLSyTc4IOfYOl+nna8zg1R8+dr1Kj0Vx+QFYBcryvJDkcWLV40vwzjp/YyGMibASdKdgFajrHdNCmE74esCL/fOV6ZWJ4FHy8n5Midh5RcbcBnUHw17QgnKspmA+L5NCYXidEAkeD7BdL+tQfzVtxHUCeBbHxHbgqREUWjXc5YUIPzthB0d+a+hmSppt6okoSkEw6dZzFD2XAycm6E9pFsjl1vyx0wbjxDcds0yMGZlTwDTaAoH9TNy0OeobbLAGHWI38TAEuchhjJxgAvn04At4T5sPmuDn8STOnUhiUqa1WZKjjChfTwsdZ2FvhjTzqMpfSg01wpDb5cblAlbPrj+AykBcIhWb8RAhnTPhRs+zNAS9jJiWT7FLdbrW1eWAzTeg5j+IFapTYQtsxsNXKqG/mo+FsvBXxNepR8tymz6wizTRFnwscEUqWbIDUIQHdAidaBvgq9znfIZSo6NkCvYGUQ8RQVzwgbjTvG7Ylr76DICAgTMT/2CCobf2YJ1JJEWENkEx3a5hsEgijc2l+ORSDqrs2/G2j7T/zEyusCA612y/c0pcSid8zt/W+7DcI9TtWgF/W5iNOKsl+sLy+CQTY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(396003)(376002)(136003)(346002)(451199015)(83380400001)(31686004)(31696002)(186003)(2616005)(26005)(6512007)(53546011)(6506007)(6666004)(110136005)(316002)(6486002)(38100700002)(4326008)(478600001)(66556008)(36756003)(66476007)(5660300002)(66946007)(41300700001)(8936002)(8676002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dnJzc2FydHdiZitQTG5OeDFjdTRWWmYyQ2cxb1U3bUZ1UThDN2hwclI3UGhC?=
 =?utf-8?B?RE1WVTBVVFJ0b1JnT2U1dHYzZHVvUTZRRnZvMFJZNmgzOWFRM3p5NVhZSHd6?=
 =?utf-8?B?WWNSS3RuR014K0kycXNqdldlanFvcUJsSWQxYThJY1FHeXhJYkZBWmxCb2ZM?=
 =?utf-8?B?OWwybzFYdHpVYlA5ZHNZWFdUb1RjN0xtUTIvL2lWa3o2ejZwL0hZV1o2U20y?=
 =?utf-8?B?UmYzbGVKc3VremRlU0I0eklLNFJIUzBWVTFORFVmVk1zYW5aSDVNOFJMNm5S?=
 =?utf-8?B?OFNTeTVSTm43Zk01UllEcDNkV0E5TCtXdmJqR3FVVzdyNUsxTytMRFJRemhB?=
 =?utf-8?B?RnNzSnB3clp4QXlMU0lhMVp3MjdIVHQ0MGdDWnJPQVh0Qm1xV2pqZFR1WGg0?=
 =?utf-8?B?WXdNanFaVzU1SVN0b1pCVjNqLzdSNllMY3gxRmxLUlRzUEFVL2NIRXBkSkFY?=
 =?utf-8?B?SGhQYjBNWEpyRFFETmJPSXNjQ2R4dzRlMGh0RnA1TkNiaHFaY0MyQjVtaW1Z?=
 =?utf-8?B?ZUxRR3lDeFJyOWdSaVdIYlFuRUZ3QUpYUEV3bFRtNFlWTnFxdVRVRU5wa0gy?=
 =?utf-8?B?a004YU9ud3FkZEI0QjhnTGN4TXIrSURvVEg0a1B3c09wV3dIVlRtUnQxZWt4?=
 =?utf-8?B?SkFOWi9aaVJKcE9DN05BeTZqeEVxbzJnWFNjUDJYVGtDeEtoanZlbWhORUNB?=
 =?utf-8?B?Qm1md21OUFBIRWZMc1dCeW5FYUxkNmFqNDhYL3VBdFJ0MlB1a1hDcWNmQmNN?=
 =?utf-8?B?Tm5kZFhEejFVUnBmcVNtV2dySGtxVkR6UHA0TWI3MmFBZy8vc1ZYenR2L3dQ?=
 =?utf-8?B?QklmZjJEVXA2eE9vMVFrR0gzTXdPcHZVS1NtZEJMNS9jc0xnSHZNN21XVzY1?=
 =?utf-8?B?czZSOVhMOERnYlFZc21TTlJtUDUvazNLM3Ewb3d0Y2YzM0RIYUF2cjd3V001?=
 =?utf-8?B?YmliWGFPQkplb3lJLzZJOXF4Qnk1ZFJsZHVVeDdranBCZHhjb2JvUzNFcVBO?=
 =?utf-8?B?RGRuSDcrdC9yUnZrSGVEbEl0c3FSNkt1b0svdWF6eXVBMUNXTWc2U2JKOUVn?=
 =?utf-8?B?MGl6VmFlYXlIUE53d1JSdXd5YTNLQWo1ZHRkd1d3Y2lKR1VqcjlhTjVyMkxk?=
 =?utf-8?B?S1NPZVpScGNYVy9KVUNIMkNTdkVoZ1VOcHJiWHFNRk11dVovWDl0VVVQMHVO?=
 =?utf-8?B?eC9BeTlyM3VFbjBzRXNUemJWMEwzSFBPanQzeW1hTHJqYWtkRXZRTzdKbTRi?=
 =?utf-8?B?MmRGVUdXKzVGOVlWOFJ4TGFqVUNmZWJNdVl3dy82ZUR2QytLaXZJUko5a1ZX?=
 =?utf-8?B?ckFaRG15N0trRWw2TDNYTkhjTU9WU2hZcnJxMkJ5aDVSakVCQTd1VGRaYkUr?=
 =?utf-8?B?QzVwc1c3SHozZ3dRTG82bzdId1l4YUZzU0V5R2lkOGdoNTQyWUd0RjZPYnRO?=
 =?utf-8?B?Um1IK1oxdndoZW9mY1NEMTN6WDJOMHBrb0I5TWRGUXVNbi9HRDhiUllJVVdG?=
 =?utf-8?B?Zm41SGppK0htV0NUZkFJMzNMRWJCQUFIOC8zQ28yb2RmUEVWakUra3JZLytm?=
 =?utf-8?B?ZHlRRHVweVFpOVZPZGZNUytlVnhXWUYrM2R1MC9zVEtiWVlKWkZiQVRGUmtD?=
 =?utf-8?B?L0FPNml5Q0JDcERvc3d5Q2ZXYVNuT2puazFOcnhyZENOUmlYdGxua2ovV3ZV?=
 =?utf-8?B?V29iRE1MLzdDelQ0MmJmaXF1UXNFTjByZlo2dkFnNDd1NjkyZ1VUMHRQdWFu?=
 =?utf-8?B?RDh5R1hTcHo3czlOVnBDc3ZtOVcyMXNrREtHOTFHdTlZc0I3cWdpNkU0Q3JD?=
 =?utf-8?B?Wi8rcFRGNTYwRloyOUNCQ1k5ODhlR3VRbW9NL2ZIUlRxMGlCYXBwdWtpMFhX?=
 =?utf-8?B?OG90aGk4aWhTNFhZQXNCdzkxNHhYWmVYSEtCYkdzem45TlZBU2dmTXJZZitJ?=
 =?utf-8?B?eWI2WHBleTVuZDZYL2l1MUVsQ3JyQ3hzNlBaMEwrR0wxZ0MrYW9jajJSVWR6?=
 =?utf-8?B?TkhKYi9qcDhKZ2xXb0wxdkN0endpbUt0L3lyQVhzV3dBdkNDVCtHUmx4bTN5?=
 =?utf-8?B?cUNDRUJBbTkzdUFrOVFpRkk4aEd4emJlbXEvUm1kUDNyblg1QXZ4VXpJVFN1?=
 =?utf-8?Q?nXWvBr5Iumo+wo2/NrXCm44JO?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6a79cf1d-9188-473e-3912-08dad93b51c3
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 16:43:22.6892
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nW4lFDhv2yQt8SpIe4bOJ+MBTv50sCHoi1vj3o7rMtGi5Q3xdnrc1vFogVwEePmc5/JpIkWp6SHvivMySjASAQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7983


On 08/12/2022 15:24, Michal Orzel wrote:
> Hi,
Hi,
>
> On 08/12/2022 14:51, Julien Grall wrote:
>> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>>
>>
>> Hi,
>>
>> Title extra NIT: I have seen it multiple time and so far refrain to say
>> it. Please use 'arm' rather than 'Arm'. This is for consistency in the
>> way we name the subsystem in the title.
>>
>> On 08/12/2022 12:49, Ayan Kumar Halder wrote:
>>> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
>>> result, it contains the default value (ie 0). This causes,
>>> kernel_zimage_place() to treat the binary (contained within uImage) as
>>> position independent executable. Thus, it loads it at an incorrect address.
>>>
>>> The correct approach would be to read "uimage.ep" and set
>>> info->zimage.start. This will ensure that the binary is loaded at the
>>> correct address.
>> In non-statically allocated setup, a user doesn't know where the memory
>> for dom0/domU will be allocated.
>>
>> So I think this was correct to ignore the address. In fact, I am worry
>> that...
>>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>>
>>> I uncovered this issue while loading Zephyr as a dom0less domU with Xen on
>>> R52 FVP. Zephyr builds with static device tree. Thus, the load address is
>>> always fixed.
>>>
>>>    xen/arch/arm/kernel.c | 2 ++
>>>    1 file changed, 2 insertions(+)
>>>
>>> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
>>> index 2556a45c38..e4e8c67669 100644
>>> --- a/xen/arch/arm/kernel.c
>>> +++ b/xen/arch/arm/kernel.c
>>> @@ -222,6 +222,8 @@ static int __init kernel_uimage_probe(struct kernel_info *info,
>>>        if ( len > size - sizeof(uimage) )
>>>            return -EINVAL;
>>>
>>> +    info->zimage.start = be32_to_cpu(uimage.ep);
>> ... this will now ended up to break anyone that may have set an address
>> but didn't care where it should be loaded.
>>
>> I also understand your use case but now, we have contradictory
>> approaches. I am not entirely sure how we can solve it. We may have to
>> break those users (Cc some folks that may use it). But we should figure
>> out what is the alternative for them.
>>
>> If we decide to break those users, then this should be documented in the
>> commit message and in docs/misc/arm/booting.txt (which interestingly
>> didn't mention uImage).
>>
> So the first issue with Zephyr is that it does not support zImage protocol for arm32.
> Volodymyr added support only for Image header for arm64 Zephyr.
> I guess this is why Ayan, willing to boot it on Xen (arm32), decided to add u-boot header.
>
> Now, there is also a question about supporting arm64 uImage kernels. In Xen kernel_zimage_place,
> we do:
> #ifdef CONFIG_ARM_64
>      if ( info->type == DOMAIN_64BIT )
>          return info->mem.bank[0].start + info->zimage.text_offset;
> #endif
>
> So if we modify the uImage behavior for arm32, we will break consistency with arm64
> (we would take uImage entry point address into account for arm32 but not for arm64).
> At the moment at least they are in sync.

IIUC, at present arm64 and arm32 are not in sync.

For Arm32, we do not consider "info->zimage.text_offset".

- Ayan

>
>
>> Cheers,
>>
>> --
>> Julien Grall
> ~Michal


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 16:53:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 16:53:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457377.715264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3K9e-0008M9-T8; Thu, 08 Dec 2022 16:53:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457377.715264; Thu, 08 Dec 2022 16:53:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3K9e-0008M2-QA; Thu, 08 Dec 2022 16:53:50 +0000
Received: by outflank-mailman (input) for mailman id 457377;
 Thu, 08 Dec 2022 16:53:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p3K9d-0008Lw-VU
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 16:53:50 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p3K9d-0006UQ-SJ
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 16:53:49 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.4.36])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3K9d-0004H6-Lu; Thu, 08 Dec 2022 16:53:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=qtKXtNXapx+Sen/CIUkwxiPWlXUqIvGnc75bgUDTNPs=; b=J4tTmysdBxwhwwPmvG/HMAmcMt
	0M2dKPjVSNl84BNngfqJV1JvqSuhVWLcO4gHuWxwZ1KUKP8XePio4oQNcoRLrcI3d02e6Eh12fFs9
	A+kAhcGcW1I+YBPFb3cUiUA6DzxU0mrhxmywdKqNKCMzfMFIcQVEmqo/7uqC5L2w0Gi0=;
Message-ID: <00ab59fa-d449-255b-bfe3-aaacb87e34dd@xen.org>
Date: Thu, 8 Dec 2022 16:53:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
 <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
 <e8aff19a-4992-9d35-4e78-9e64aec384f9@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e8aff19a-4992-9d35-4e78-9e64aec384f9@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 08/12/2022 15:24, Michal Orzel wrote:
> On 08/12/2022 14:51, Julien Grall wrote:
>> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>>
>>
>> Hi,
>>
>> Title extra NIT: I have seen it multiple time and so far refrain to say
>> it. Please use 'arm' rather than 'Arm'. This is for consistency in the
>> way we name the subsystem in the title.
>>
>> On 08/12/2022 12:49, Ayan Kumar Halder wrote:
>>> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
>>> result, it contains the default value (ie 0). This causes,
>>> kernel_zimage_place() to treat the binary (contained within uImage) as
>>> position independent executable. Thus, it loads it at an incorrect address.
>>>
>>> The correct approach would be to read "uimage.ep" and set
>>> info->zimage.start. This will ensure that the binary is loaded at the
>>> correct address.
>>
>> In non-statically allocated setup, a user doesn't know where the memory
>> for dom0/domU will be allocated.
>>
>> So I think this was correct to ignore the address. In fact, I am worry
>> that...
>>
>>>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>>
>>> I uncovered this issue while loading Zephyr as a dom0less domU with Xen on
>>> R52 FVP. Zephyr builds with static device tree. Thus, the load address is
>>> always fixed.
>>>
>>>    xen/arch/arm/kernel.c | 2 ++
>>>    1 file changed, 2 insertions(+)
>>>
>>> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
>>> index 2556a45c38..e4e8c67669 100644
>>> --- a/xen/arch/arm/kernel.c
>>> +++ b/xen/arch/arm/kernel.c
>>> @@ -222,6 +222,8 @@ static int __init kernel_uimage_probe(struct kernel_info *info,
>>>        if ( len > size - sizeof(uimage) )
>>>            return -EINVAL;
>>>
>>> +    info->zimage.start = be32_to_cpu(uimage.ep);
>> ... this will now ended up to break anyone that may have set an address
>> but didn't care where it should be loaded.
>>
>> I also understand your use case but now, we have contradictory
>> approaches. I am not entirely sure how we can solve it. We may have to
>> break those users (Cc some folks that may use it). But we should figure
>> out what is the alternative for them.
>>
>> If we decide to break those users, then this should be documented in the
>> commit message and in docs/misc/arm/booting.txt (which interestingly
>> didn't mention uImage).
>>
> So the first issue with Zephyr is that it does not support zImage protocol for arm32.
> Volodymyr added support only for Image header for arm64 Zephyr.
> I guess this is why Ayan, willing to boot it on Xen (arm32), decided to add u-boot header.

If that's the only reason, then I would rather prefer if we go with 
zImage for a few reasons:
  - The zImage protocol has at least some documentation (not perfect) of 
the expected state of the memory/registers when jumping to the image.
  - AFAICT libxl is not (yet) supporting uImage. So this means zephyr 
cannot be loaded on older Xen releases (not great).

Note this doesn't mean we should not fix Xen for uImage.

> Now, there is also a question about supporting arm64 uImage kernels. In Xen kernel_zimage_place,
> we do:
> #ifdef CONFIG_ARM_64
>      if ( info->type == DOMAIN_64BIT )
>          return info->mem.bank[0].start + info->zimage.text_offset;
> #endif
> 
> So if we modify the uImage behavior for arm32, we will break consistency with arm64
> (we would take uImage entry point address into account for arm32 but not for arm64).
> At the moment at least they are in sync.

That's a good point. It would be best if the behavior is consistent.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 18:05:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 18:05:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457384.715274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3LH7-0000k0-3R; Thu, 08 Dec 2022 18:05:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457384.715274; Thu, 08 Dec 2022 18:05:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3LH7-0000jt-0m; Thu, 08 Dec 2022 18:05:37 +0000
Received: by outflank-mailman (input) for mailman id 457384;
 Thu, 08 Dec 2022 18:05:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p3LH5-0000jl-Qp
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 18:05:35 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3LH0-0008Ci-Pa; Thu, 08 Dec 2022 18:05:30 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.4.36])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3LH0-0000js-JK; Thu, 08 Dec 2022 18:05:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=j/Z/DqItcAL8GWKE6V5wfBGPMSb7evRy2sHrbM9SOB4=; b=XG88EdDs1hzgArLTuP5m/0PgC1
	lb2oqdmwtObTpsXx+9EWk9BbIu6kZqmo1vCpJMU/6tSSKSRhuKg3foYZZuB+YdNjCnXhOVEMolmur
	b8ytjdl4Acdo6yulp5Mn9eglcxN9cyzNTmXhq0Z9lKe8ANJDl00SVKoprkKKBFnb3py8=;
Message-ID: <5ce98ff4-6b7d-2254-d755-a68fc3ac67b4@xen.org>
Date: Thu, 8 Dec 2022 18:05:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>, Jan Beulich <jbeulich@suse.com>,
 Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Ard Biesheuval <ardb@kernel.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Xen developer discussion <xen-devel@lists.xenproject.org>
References: <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
 <9c1e3cc3-e0b4-6ca5-087b-55117b45db80@suse.com>
 <AS8PR08MB7991E4EE490EC8B028BB1D2F921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AS8PR08MB7991E4EE490EC8B028BB1D2F921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 08/12/2022 08:53, Henry Wang wrote:
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Subject: Re: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
>>
>> On 07.12.2022 23:42, Demi Marie Obenour wrote:
>>> A previous patch tried to get Linux to use the ESRT under Xen if it is
>>> in memory of type EfiRuntimeServicesData.  However, EfiRuntimeServices*
>>> memory needs to be included in the EFI page tables, so it is best to
>>> minimize the amount of memory of this type.  Since EFI runtime services
>>> do not need access to the ESRT, EfiACPIReclaimMemory is a better choice.
>>>
>>> Link: https://lists.xenproject.org/archives/html/xen-devel/2022-
>> 09/msg01365.html
>>> Fixes: dc7da0874ba4 ("EFI: preserve the System Resource Table for dom0")
>>> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
>>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>
>>> Should this be included in 4.17?  It is a bug fix for a feature new to
>>> 4.17, so I suspect yes, but it is ultimately up to Henry Wang.  The code
>>> is identical to v2, but I have improved the commit message.
>>
>> It may be too late now, looking at the state of the tree. Henry, Julien?
> 
> Like I said in v2, I don't object the change if you would like to include this patch
> to 4.17, so if you are sure this patch is safe and want to commit it, feel free to add:
> 
> Release-acked-by: Henry Wang <Henry.Wang@arm.com>
> 
> Since we also need to commit:
> "[PATCH for-4.17] SUPPORT.md: Define support lifetime" so from my side
> I am no problem. Julien might have different opinion though, if Julien object
> the change I would like to respect his opinion and leave this patch uncommitted.

I have committed it after SUPPORT.md. So if for some reasons we are seen 
any issues with Osstest, then I can tag the tree without this patch 
(that said, I would rather prefer if we have staging-4.17 == stable-4.17).

My plan is to prepare the tarball tomorrow.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 18:06:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 18:06:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457391.715286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3LI0-0001Ia-Go; Thu, 08 Dec 2022 18:06:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457391.715286; Thu, 08 Dec 2022 18:06:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3LI0-0001IT-E2; Thu, 08 Dec 2022 18:06:32 +0000
Received: by outflank-mailman (input) for mailman id 457391;
 Thu, 08 Dec 2022 18:06:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IV7D=4G=citrix.com=prvs=33468bdba=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p3LHz-00014R-5Y
 for xen-devel@lists.xen.org; Thu, 08 Dec 2022 18:06:31 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 07213886-7723-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 19:06:27 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07213886-7723-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670522789;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=BEkiCaG1nchMrBJckDTO6VnuMq3jaTUyieNG0dM2UWg=;
  b=Nc+XKny36DPm+aQOv7o+171b0j/dPxNNxve4yVXKqnoROAYy0WWb6zwW
   8J3RCB2S891STInmfhzfwoXRb4QPbv1443gU02irVch1nHKhbGb7fjudV
   qggY3zRXmygJzYk1rbzEz85+uoZaqieSS01Yc4qr0J/w45zi4rLI+8WV7
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 86862358
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:IbGY8q5/bz2hyq3Oda9IOAxRtFHAchMFZxGqfqrLsTDasY5as4F+v
 jAaUGCOPqrcYzSkKIpxPo6+oxsPvsSEydUyGwBopSowHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoT7AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5mr
 8NBI2ACYxe/2O+R3riLbclSicp8BZy+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJU0UUrsUIMtWcOOAj3/jczpeuRSNqLA++WT7xw1tyrn9dtHSf7RmQO0FwBbG/
 DmbrwwVBDkHCdmlyGe5yUjx2POVsgT6BthCNoe3o6sCbFq7mTVIVUx+uUGAifywlk6/Vs8ZM
 0sV4Csjt4A29UqiVN67VBq9yFafohMSUtxXVfYm4QuAzq7V5QexFmkATzhRLtchsaceTDgnx
 hmDktXvCDFHtLyTQGiasLCOoluaJiw9PWIEIygeQmMt5N3uo5ovnwnPZtlmGa+xyNbyHFnYx
 jGJoW4+gLEWgNUj06S99ErAxTW2qfDhTAEv4R7Mdnm49Q4/b4mgD6S45F6e4fteIYKxSliao
 GNCi8WYqucUAvmlii2XTf4NWrK04v+fGDndh1d1GN8m7TvF02W/Z4lM5yo7KEp3GsEcPDvoe
 1PI/wdQ4pZJOz2td6AfS5ywDc8ny7SmGsnkSuzTcvJKY554bgjB+zthDWaSwmTsnU4Egaw5f
 5CBfq6R4W0yUPo9imDsHqFEjOFtlntWKX7vqY7TlSv+2uqRaXmpFroiLlG+ScAH463biVCAm
 zpADPeixxJaWez4RyDY948PMFwHRUQG6YDKR99/LbDafFc/cI01I7qImO56JdQ590hAvr2Ql
 kxRTHO037YWaZfvDQyRIk5uZ7r0NXqUhSJqZHd8VbpENpVKXGpO0Ev9X8FvFVXE3LY5pRKRc
 xXiU5voPxi3Ym6bkwnxlLGkxGCYSDylhBiVIw2uayUlcphrSmTho4G7Jle0pHFVV3Dp7aPSR
 oFMMSuCEPI+q/lKVp6KOJpDMXvu1ZTipA6CdxSReYQCEKkd2INrNzbwnpcKzzIkcH3+Ks+h/
 1/OW38w/LCdy7LZBfGV3choWa/1SbohdqebdkGHhYuL2d7yoTr7kNARCr/VFd0fPUutkJifi
 Sxu56mUGJU6cJxi6uKQz54DIXoC2ubS
IronPort-HdrOrdr: A9a23:SP59SKvjjBOTi3F8UxGOYvHE7skDZ9V00zEX/kB9WHVpm62j+v
 xG+c5xvyMc5wxhO03I5urwWpVoLUmzyXcX2+Us1NWZPDUO0VHARL2KhrGM/9SPIUzDH+dmpM
 JdT5Q=
X-IronPort-AV: E=Sophos;i="5.96,227,1665460800"; 
   d="scan'208";a="86862358"
Date: Thu, 8 Dec 2022 18:06:13 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
CC: <xen-devel@lists.xen.org>, Juergen Gross <jgross@suse.com>, Julien Grall
	<julien@xen.org>, Vincent Guittot <vincent.guittot@linaro.org>,
	<stratos-dev@op-lists.linaro.org>, Alex =?iso-8859-1?Q?Benn=E9e?=
	<alex.bennee@linaro.org>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>, Mike Holmes
	<mike.holmes@linaro.org>, Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH V7 1/3] libxl: Add support for generic virtio device
Message-ID: <Y5InlfaQoY18WjZe@perard.uk.xensource.com>
References: <cover.1670396758.git.viresh.kumar@linaro.org>
 <903506db6c7dadb2a5304e9894950c673e308f41.1670396758.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <903506db6c7dadb2a5304e9894950c673e308f41.1670396758.git.viresh.kumar@linaro.org>

On Wed, Dec 07, 2022 at 12:50:42PM +0530, Viresh Kumar wrote:
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index fa3d61f1e882..ab3668b3b8a3 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> +static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt, uint64_t base,
> +                                        uint32_t irq, const char *type,
> +                                        uint32_t backend_domid)
> +{
> +    int res, len = strlen(type);
> +
> +    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
> +    if (res) return res;
> +
> +    /* Add device specific nodes */
> +    if (!strncmp(type, "virtio,device22", len)) {

So with `len` been the strlen() of `type`, I think that a type "v" or
"virtio" or even "virtio,device" is going to create the "i2c" node. So I
don't think is going to be possible to create a generic virtio device
node.

Using strcmp() would be good enough here I think.

> +        res = make_virtio_mmio_node_i2c(gc, fdt);
> +        if (res) return res;
> +    } else if (!strncmp(type, "virtio,device29", len)) {
> +        res = make_virtio_mmio_node_gpio(gc, fdt);
> +        if (res) return res;
> +    } else if (!strncmp(type, "virtio,device", len)) {

The example in in the commit message has "virtio,devices" but that would
be rejected by this test due to the extra 's'.

> +        /* Generic Virtio Device */
> +        res = fdt_end_node(fdt);

Isn't this an extra end_node() call? As there's already one for the
return of the function.

> +        if (res) return res;
> +    } else {
> +        LOG(ERROR, "Invalid type for virtio device: %s", type);
> +        return -EINVAL;
> +    }
> +
> +    return fdt_end_node(fdt);
> +}
> +
> diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virtio.c
> new file mode 100644
> index 000000000000..64cec989c674
> --- /dev/null
> +++ b/tools/libs/light/libxl_virtio.c
> +static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
> +                                       libxl_devid devid,
> +                                       libxl_device_virtio *virtio)
> +{
> +    const char *be_path, *tmp = NULL;
> +    int rc;
> +
> +    virtio->devid = devid;
> +
> +    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
> +                                  GCSPRINTF("%s/backend", libxl_path),
> +                                  &be_path);
> +    if (rc) goto out;
> +
> +    rc = libxl__backendpath_parse_domid(gc, be_path, &virtio->backend_domid);
> +    if (rc) goto out;
> +
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +				GCSPRINTF("%s/irq", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        virtio->irq = strtoul(tmp, NULL, 0);
> +    }
> +
> +    tmp = NULL;
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +				GCSPRINTF("%s/base", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        virtio->base = strtoul(tmp, NULL, 0);
> +    }
> +
> +    tmp = NULL;
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +				GCSPRINTF("%s/transport", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        if (!strncmp(tmp, "mmio", strlen(tmp))) {

Maybe just use strcmp(), otherwise we have "m" going to be match as MMIO
for example.

> +            virtio->transport = LIBXL_VIRTIO_TRANSPORT_MMIO;
> +        } else if (!strncmp(tmp, "unknown", strlen(tmp))) {
> +            virtio->transport = LIBXL_VIRTIO_TRANSPORT_UNKNOWN;

I don't think that value should be allowed in xenstore. If `transport`
isn't set to a proper value (only "mmio"), then I think that invalid.

> +        } else {
> +            return ERROR_INVAL;
> +        }
> +    }
> +
> +    tmp = NULL;
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +				GCSPRINTF("%s/type", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        if (!strncmp(tmp, "virtio,device", strlen("virtio,device"))) {

Nit: Something like:
    const char check[] = "virtio,device";
    const size_t checkl = sizeof(check) - 1;
    ... strncmp(tmp, check, checkl)...
    (or just strncmp(tmp, check, sizeof(check)-1))
would avoid issue with both string "virtio,device" potentially been
different.


> +            virtio->type = strdup(tmp);

Could you use libxl__strdup(NO_GC, tmp) instead? That function is going
to check that strdup() doesn't fail the allocation.


Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 18:31:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 18:31:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457400.715297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3LgS-0005Hm-GY; Thu, 08 Dec 2022 18:31:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457400.715297; Thu, 08 Dec 2022 18:31:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3LgS-0005Hf-Ch; Thu, 08 Dec 2022 18:31:48 +0000
Received: by outflank-mailman (input) for mailman id 457400;
 Thu, 08 Dec 2022 18:31:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DFw/=4G=eikelenboom.it=linux@srs-se1.protection.inumbo.net>)
 id 1p3LgQ-0005HZ-Be
 for xen-devel@lists.xen.org; Thu, 08 Dec 2022 18:31:46 +0000
Received: from server.eikelenboom.it (server.eikelenboom.it [91.121.65.215])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8fb11459-7726-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 19:31:42 +0100 (CET)
Received: from 131-195-250-62.ftth.glasoperator.nl ([62.250.195.131]:58874
 helo=[172.16.1.50])
 by server.eikelenboom.it with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2)
 (envelope-from <linux@eikelenboom.it>)
 id 1p3LhV-0002BF-8r; Thu, 08 Dec 2022 19:32:53 +0100
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8fb11459-7726-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=eikelenboom.it; s=20180706; h=Content-Transfer-Encoding:Content-Type:
	In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender
	:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:
	Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:
	List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;
	bh=xh7NYgKqJIs6p/O05J4xYYF4pKK9kYdP7khjJXgOgSk=; b=F7fd1PyDPZxieCswJjDDZ9UCbv
	nF3RnxOIAWJRm0w4ju2cI30eMoaciQQ9bUN5Tu3wW1SP3oSEqMKWGyD673jHM2Nxa3zHg3+x7vy+t
	46VY3PQjvgDB4euRFgOSr13UQ5ByKjXwwIsHGM1eliLUwALKifBOtlA4mPnGMCSfm04Y=;
Message-ID: <c5dc1c91-dd32-e233-6029-10b175fc1eff@eikelenboom.it>
Date: Thu, 8 Dec 2022 19:31:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: Xen + linux 6.1.0-rc8, network to guest VM not working after
 commit ad7f402ae4f466647c3a669b8a6f3e5d4271c84a fixing XSA-423
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, Juergen Gross <jgross@suse.com>,
 Xen-devel <xen-devel@lists.xen.org>, Paul Durrant <paul@xen.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 netdev <netdev@vger.kernel.org>
References: <2f364567-3598-2d86-ae3d-e0fabad4704a@eikelenboom.it>
 <56054539-4a02-5310-b93f-6baacaf8e007@citrix.com>
Content-Language: nl-NL, en-US
From: Sander Eikelenboom <linux@eikelenboom.it>
In-Reply-To: <56054539-4a02-5310-b93f-6baacaf8e007@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 08/12/2022 00:00, Andrew Cooper wrote:
> On 07/12/2022 21:42, Sander Eikelenboom wrote:
>> Hi Ross / Juergen,
>>
>> I just updated my linux kernel to the latest of Linus his tree which
>> included commit ad7f402ae4f466647c3a669b8a6f3e5d4271c84a fixing XSA-423.
>>
>> Unfortunately when using this kernel I can't SSH anymore into the Xen
>> guest I start, but I don't see any apparent failures either.
>> A straight revert of the commit
>> ad7f402ae4f466647c3a669b8a6f3e5d4271c84a makes networking function
>> normally again.
>>
>> I have added some of the logging below, perhaps it at gives some idea
>> off the state around the Xen network front and backend.
>>
>> Any ideas or a test patch that I could run to shed some more light on
>> what is going on ?
> 
> XSA-423 was buggy.  Fix and discussion at:
> 
> https://lore.kernel.org/xen-devel/681773dd-6264-63ac-a3b5-a9182b9e0cc1@suse.com/T/#t
> 
> ~Andrew

Thanks for the pointer Andrew, that fix works for me as well!
What a difference a few characters can make :)

--
Sander


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 18:43:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 18:43:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457408.715308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3LrT-0007IA-Gm; Thu, 08 Dec 2022 18:43:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457408.715308; Thu, 08 Dec 2022 18:43:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3LrT-0007I3-Dt; Thu, 08 Dec 2022 18:43:11 +0000
Received: by outflank-mailman (input) for mailman id 457408;
 Thu, 08 Dec 2022 18:43:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YEW2=4G=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p3LrR-0007Hv-Sr
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 18:43:10 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20608.outbound.protection.outlook.com
 [2a01:111:f400:7eab::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25fe4e19-7728-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 19:43:05 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by PH0PR12MB5647.namprd12.prod.outlook.com (2603:10b6:510:144::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 18:43:02 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c%5]) with mapi id 15.20.5880.014; Thu, 8 Dec 2022
 18:43:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25fe4e19-7728-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V97heCySFwHHTIMQTyRV/llJ8JZL/7IO46H8z8lChvPSf7RPdmcitD7Qc8yKbIJB5K1JIs2/LhAgCXKFci5rzk+TNF8xNW52emLRX/GZNLN28XJaV4lCFvnqWBvUnQM3NidoMDwyN/Sp8zb7JUrrZrA7oGDilvpiH8bloZ/Y1qBxeAiK0yHApJt01keHuGmuD4LgpPOJOaizT7A/gHctXWyrRHh4gO0A6CrrGUhqEAKwIvu3O1i0rab6mYayQ1KpfOdDvDqB91mDMKCYspWARjxwVC3RQF+SzdwdP2dkJuGTChI146MNdoaCe5AN/c7RC/+JFZFFP0fHkWC6IFxYJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t3YNEGkRvOkFETdR44KinoqJSJ89kKx4bXB/ZW9X+p8=;
 b=e0V3CZMVhby59EMr4o8Mq+2t0AwTKdAR67K+9/yYo5LULcjq8ooyVK4wSm1nsSMGMSmn+zIJEDCLx5Wxx10hBG9g9ti1iA4J+xXXlNNTCojL46HoerLqCdulGzeKllXucEu0Z/PFgyInIos5lvK1BVm+VQjcaUbV/xZ1HGX+O2hiTBRkrGYByqXevGdqxHevbVUoGMjKtnNjPoGTUDu6dpQjCsjffghMP9AheK5xhR8+/0Q7DuWa3Z4h8S6kShzagxyyhkNPB3Ksk2p789/7ZU5YDTR5IjrN0BF1kfcg+g0UUxbzQ9qIXzODB6k98Slc0iWyRoTiSOtmabStivHwHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t3YNEGkRvOkFETdR44KinoqJSJ89kKx4bXB/ZW9X+p8=;
 b=GoIrPrr2M7qII5R3f4fQTy78+lNjmgZSdOHbrx1oIf8/DTvub6fgJhhB/THNjYNkdcv3Mj0aqfkesSVMPCnsZFOIixXBkKxC+oXya99mjeotEVO6LJGBtuuKF8T50AXwX3LBSsAX7/mbxeN6s1ZlTq6ypxdXbWJTBmXU2AIzlqM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <ca2db58b-0183-8972-0336-25bcabc99824@amd.com>
Date: Thu, 8 Dec 2022 18:42:56 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
To: Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
 <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
 <e8aff19a-4992-9d35-4e78-9e64aec384f9@amd.com>
 <00ab59fa-d449-255b-bfe3-aaacb87e34dd@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <00ab59fa-d449-255b-bfe3-aaacb87e34dd@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0178.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18a::21) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|PH0PR12MB5647:EE_
X-MS-Office365-Filtering-Correlation-Id: e708e888-79c0-498e-d8f9-08dad94c093f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	J3HHr77GPFBAOoe/tUyw9+6ncCXUbJv5wK5meagQuQCZATSxeiZURe7mdLaU08ITf0zkIamkq0UkIKkqwUvsmRSasHaOfgyytpiF9o/OFgYthDUJyB13tfohut2WP/BEeMsN9IJI8CSj8ophz+B8mppS6RLxPOUuBrjNoeBdeeL2FLEIdXDBW8AZ2Hou1/u+pTaEFhrFlX/a7PMADXjR+dL0VzBkzl902A6f+al4t6HkGOjadRxLL8XBlOgbmp6V3k3gPcKTbJCESKOT6ujTNPHFSXZqN3K7XpHxTJEaCBz6p+cv3fJ/dHS6DdZjs/FxIe0JzoDIRBlybANGmMQsE4hBo3YNMLggAADTOHiRjPPexu3ZKpKqYYSRzfwWpWfoEoCmPgAkpqUetaO/HKSwICTO7jgFhdEU5KemI05/UUcXFITLjCJQL/TRy+DkAKJVH93rwkOENO+Cb3v0DE2ipxQZdCU4hbvBGVMd1totBHIrxgNgjN2zj3YwjZPH2Z2wreozmbMasOwLp0DS+nqsmTQ3398wwJnLHuxAVqIshQ6p5jw/mSzyigv7hPHf70+60KGILNUIeHqzFrkdOCX39A7whBKKgM7O/A4WoLHlopAx9BpiH1k3LJEGQewDPjGif9Gii/J2K90O6LuNTnnIalGUG5v/Upmr7hbhxIA7d2kuQ+sNZkaueb0Vkf7HDW9oin5G7KdZTHet/Oh+qalD85OM9hJOWIvmgHPGfDx17mh2d8G0rT349Tpx+sNMxWK8
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(396003)(366004)(376002)(346002)(451199015)(38100700002)(6486002)(966005)(31686004)(6666004)(6506007)(53546011)(2616005)(478600001)(316002)(6512007)(186003)(83380400001)(31696002)(36756003)(66556008)(8676002)(4326008)(66946007)(41300700001)(66476007)(26005)(2906002)(110136005)(5660300002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cTViWjNHU1liaW01OEx4OUJHWjVuTTNkSm5FTkFpYVFSejhGUTl0WWY1RGxM?=
 =?utf-8?B?NXhwQnlwR2RDMWQ4N0RidTU5Z0tFQ0xOeVNzb0tKL2JBZG1PTE4wWkJURUV2?=
 =?utf-8?B?YW5NQlVsNVo2SXRqVzZ6eXFjQ2ZTN054NGcybXg1K01yOE1FR0szTkF3WXRU?=
 =?utf-8?B?RDdMUktWMFFVeHUxL1hscjNVNEpJUUtJRUVYOGV0alBhKzBpU1V3Z21Uc2xy?=
 =?utf-8?B?UXdhOEFRbmNlQVE0Tm5USjJXRWg1TUoxVHVRL1dBdWJDaGhRejBiZnBLRmdV?=
 =?utf-8?B?MXpIK3YyVVZqTk5zUm94eXN0cVVQSHpCa09yc0U0RVp6NSs3aW9ZMnNKQlhl?=
 =?utf-8?B?dnExSGp5UjZHNUZLUUtKYlFrQ040emgxajJQblhEZW1MTmx1cjNtS2xOSk9B?=
 =?utf-8?B?OW1IaWtkblZnbk5Xb05uYmxiY1NrdEdPcmtGQVZqZ1hxc3o0RTdJQUtFSUNB?=
 =?utf-8?B?VUF3Rktsb0JsN3RuTlhMQkVXcG9CVnF3K0UrdXpGbVpaaytZWUZrS3VTdnQ3?=
 =?utf-8?B?cmxqays0MW1HZDJQbHRpdmNlTGdDWCtSN1c1MVk1QWxmditJeHVZTWg5Nlpo?=
 =?utf-8?B?RUhDcG1hSVlQNkUySlBHbEJ6ajRocWlvS0dvc2JlN3FPK1hhMm9JUWlMR2pZ?=
 =?utf-8?B?MXhsV0hMNCtDNk9nQjJFS1RUNW15N1Q1MGVFUldSZFZTVU51YUZvMHpzUFYv?=
 =?utf-8?B?NTFGZFh1Vm5ocUttQVlvZmIyN3BNZWNXMUl6ZGNnMEdxUjN0Um10cUV5ckRH?=
 =?utf-8?B?QWVUSFBJL3FwOFRVazV1Z0VBYnIwRjhWRWZlNCtTdlo2Y2J5NUhOSDcxMjU0?=
 =?utf-8?B?UjZsQlVjVlJUejhnZlcycEs0QVl2elVzbFNNcitPWkVGbnNSWXhmNXhQbGlw?=
 =?utf-8?B?Y0wwL01BeXJoQ2g1b2pseUlUdkhmbHVBT0R6KzhJU0NzZTI1aFdzR1FQRHdv?=
 =?utf-8?B?WGt0QXlpV3h0T3gwOVZ2VTRwT3JwTFlNa3drQlQ3dlhwZmxsN1RTdzF6OG93?=
 =?utf-8?B?MEdYTnhGQS8rbzBRZ2dhT2ZOdXJGU2ZIbmtGM0RmbTZYTE1YdW92VUFsNjhX?=
 =?utf-8?B?K013cWQ4WEpySmNjcDYrd2ROaTlKYkg4TnFKcllCM3BtdEpjUy9Fb0VLTlEw?=
 =?utf-8?B?T0UwSnZwc2pmSHJPU1FmRWVOMUZIdms4aVR2SVVxeUhEZVFNMFRGa25ZUCtX?=
 =?utf-8?B?UlBGL0YrU2hFcEhNaTFZcDNTdHplaklpbEZOY0RWdk1CWjQreHpzNXpFUlNj?=
 =?utf-8?B?MmlKeVFXcFJTcGgwQVliRWtOM1F4SGV3MktpVHZrMjhyM05XaWkzaFJLR1R1?=
 =?utf-8?B?SExySFFQQlpGWGU5SEtlTkNUTDBCeGw3S1NKUnJxdFJQd05sWTlYWUtLcUl2?=
 =?utf-8?B?SW4vaVU2dHFJZ2dQTndpV3E4dDl1cVpVSWlPa0JWeWNTWDhQSHZxZTdzNmdX?=
 =?utf-8?B?eldTUm9BbnF4MHdhSld5ejBBRkJQQ0MzSWJLVkFrRjZCYnJacU0zRWQxSUJk?=
 =?utf-8?B?OHBvYlBQWFBVaHZXOC9iZVZCbXcvdlU2Q0pPNjIzeEhPWmcvQUhORXhSVUdu?=
 =?utf-8?B?aHVlREdJck9DKzBQSVFkQXlGeFR5WHByYzRRSDlSYnpFZ1hyNXBCcUxINnhp?=
 =?utf-8?B?K2RuQ0JJcmUyK2xNWW9JRzcwb08yRDZpdjFPRktFL0ZZc0NtQTluZ216ajBZ?=
 =?utf-8?B?UkVqNjdVSkdOTWd2b29JZEI4Z0ZNdXArMVVsU0RKdE9OYjVCNHhNRVB6d3hl?=
 =?utf-8?B?dkthY1liRTlGcW9VaHZ6YkJialpmMUhHdmZ4cTJOM1NKWXpOMUxUcE5NVXp0?=
 =?utf-8?B?dEIvK0hHMmhtT2EvcDZKZ3RibWl2V2JCMCtvc24vb1p0MkRTWkdybU1FZ2pm?=
 =?utf-8?B?MVZSaFVqaUkrNXd5NG9mYjZUejFuTkFXaEFZUDNBZWp1UXNSQ2g3NWJOa2hS?=
 =?utf-8?B?VVllRzE4ZXNqMkIydFdxcEt0akY5RGZyZ2tndWhDblcxTUZYMElBdEdGZTY2?=
 =?utf-8?B?WWpQbVhSanJETjlrN3lEQU43V0hFNmFjRGpqUmFJamIwMTJvSmRkQ0FERFE0?=
 =?utf-8?B?NHRnOUVJN1RsZEgwREdGQjhKN0ttUFlpeHBtMFROenJURmxuVzZsNTB4UVgx?=
 =?utf-8?Q?22lNVlmMp0FAFdhOUJA1FlPTE?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e708e888-79c0-498e-d8f9-08dad94c093f
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Dec 2022 18:43:02.4454
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PIt7ptq/uQDb6UIRzP5OXRir3lftVKVmW+x5FsZ7oR7AUgOb/EhwDtaGBPXJS2ChB+QuFjpYpDdtJE9n6o89YA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5647


On 08/12/2022 16:53, Julien Grall wrote:
> Hi,
Hi,
>
> On 08/12/2022 15:24, Michal Orzel wrote:
>> On 08/12/2022 14:51, Julien Grall wrote:
>>> Caution: This message originated from an External Source. Use proper 
>>> caution when opening attachments, clicking links, or responding.
>>>
>>>
>>> Hi,
>>>
>>> Title extra NIT: I have seen it multiple time and so far refrain to say
>>> it. Please use 'arm' rather than 'Arm'. This is for consistency in the
>>> way we name the subsystem in the title.
>>>
>>> On 08/12/2022 12:49, Ayan Kumar Halder wrote:
>>>> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
>>>> result, it contains the default value (ie 0). This causes,
>>>> kernel_zimage_place() to treat the binary (contained within uImage) as
>>>> position independent executable. Thus, it loads it at an incorrect 
>>>> address.
>>>>
>>>> The correct approach would be to read "uimage.ep" and set
>>>> info->zimage.start. This will ensure that the binary is loaded at the
>>>> correct address.
>>>
>>> In non-statically allocated setup, a user doesn't know where the memory
>>> for dom0/domU will be allocated.
>>>
>>> So I think this was correct to ignore the address. In fact, I am worry
>>> that...
>>>
>>>>
>>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>> ---
>>>>
>>>> I uncovered this issue while loading Zephyr as a dom0less domU with 
>>>> Xen on
>>>> R52 FVP. Zephyr builds with static device tree. Thus, the load 
>>>> address is
>>>> always fixed.
>>>>
>>>>    xen/arch/arm/kernel.c | 2 ++
>>>>    1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
>>>> index 2556a45c38..e4e8c67669 100644
>>>> --- a/xen/arch/arm/kernel.c
>>>> +++ b/xen/arch/arm/kernel.c
>>>> @@ -222,6 +222,8 @@ static int __init kernel_uimage_probe(struct 
>>>> kernel_info *info,
>>>>        if ( len > size - sizeof(uimage) )
>>>>            return -EINVAL;
>>>>
>>>> +    info->zimage.start = be32_to_cpu(uimage.ep);
>>> ... this will now ended up to break anyone that may have set an address
>>> but didn't care where it should be loaded.
>>>
>>> I also understand your use case but now, we have contradictory
>>> approaches. I am not entirely sure how we can solve it. We may have to
>>> break those users (Cc some folks that may use it). But we should figure
>>> out what is the alternative for them.
>>>
>>> If we decide to break those users, then this should be documented in 
>>> the
>>> commit message and in docs/misc/arm/booting.txt (which interestingly
>>> didn't mention uImage).
>>>
>> So the first issue with Zephyr is that it does not support zImage 
>> protocol for arm32.
>> Volodymyr added support only for Image header for arm64 Zephyr.
>> I guess this is why Ayan, willing to boot it on Xen (arm32), decided 
>> to add u-boot header.
>
> If that's the only reason, then I would rather prefer if we go with 
> zImage for a few reasons:
>  - The zImage protocol has at least some documentation (not perfect) 
> of the expected state of the memory/registers when jumping to the image.
>  - AFAICT libxl is not (yet) supporting uImage. So this means zephyr 
> cannot be loaded on older Xen releases (not great).

I am exploring for a similar option as Volodymyr ie support zimage 
protocol for arm32.

But for that I need some public documentation that explains the zimage 
header format for arm32.

Refer xen/arch/arm/kernel.c

#define ZIMAGE32_MAGIC_OFFSET 0x24
#define ZIMAGE32_START_OFFSET 0x28
#define ZIMAGE32_END_OFFSET   0x2c
#define ZIMAGE32_HEADER_LEN   0x30

#define ZIMAGE32_MAGIC 0x016f2818

Is this documented anywhere ?

I had a look at 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/booting.rst 
, but there is nothing that explains the header format.

>
> Note this doesn't mean we should not fix Xen for uImage.
>
>> Now, there is also a question about supporting arm64 uImage kernels. 
>> In Xen kernel_zimage_place,
>> we do:
>> #ifdef CONFIG_ARM_64
>>      if ( info->type == DOMAIN_64BIT )
>>          return info->mem.bank[0].start + info->zimage.text_offset;
>> #endif
>>
>> So if we modify the uImage behavior for arm32, we will break 
>> consistency with arm64
>> (we would take uImage entry point address into account for arm32 but 
>> not for arm64).
>> At the moment at least they are in sync.
>
> That's a good point. It would be best if the behavior is consistent.

Currently, kernel_zimage_place() is called for both uImage and zImage.

Will it be sane if we write a different function for uImage ?

Something like this ...

static paddr_t __init kernel_uimage_place(struct kernel_info *info)

{

     /* Read and return uImage header's load address */

     return be32_to_cpu(uimage.load);

}

This will be consistent across arm32 and arm64

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 19:26:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 19:26:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457418.715322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3MXS-0004Me-Oo; Thu, 08 Dec 2022 19:26:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457418.715322; Thu, 08 Dec 2022 19:26:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3MXS-0004MX-LV; Thu, 08 Dec 2022 19:26:34 +0000
Received: by outflank-mailman (input) for mailman id 457418;
 Thu, 08 Dec 2022 19:26:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yg3i=4G=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1p3MXR-0004MR-Aq
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 19:26:33 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 360e39fe-772e-11ed-8fd2-01056ac49cbb;
 Thu, 08 Dec 2022 20:26:28 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 496D962025;
 Thu,  8 Dec 2022 19:26:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id AB810C433EF;
 Thu,  8 Dec 2022 19:26:28 +0000 (UTC)
Received: from aws-us-west-2-korg-oddjob-1.ci.codeaurora.org
 (localhost.localdomain [127.0.0.1])
 by aws-us-west-2-korg-oddjob-1.ci.codeaurora.org (Postfix) with ESMTP id
 902E5C433D7; Thu,  8 Dec 2022 19:26:28 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 360e39fe-772e-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670527588;
	bh=DdZqUnqbu/vwGb7Q89S/0orBvB9DweNPs8iPyoZSYzA=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=bFEoU8+hzNKtWtufjeEzKkbGYibH8waAj6FC4bFsxUiiIPouv8ArOR3vg98vYeAQS
	 J7u9W1g5kR3copMZpz+60oRQjoEIzxpQ5ClAtdEM/6Nfpe5vSqNHq0eTYAbQPoOhF/
	 5islXYGNABKcjoVpxybPKgqbPavMpa1A1oLGIKrnI98WKdZSubz3pThNYpifZ50qzN
	 Z5YZlVuFNfif4Ufkp/CW7RRiy3a5UzDGwO6DoNF/dNLh7/Znt7UrqsY/wV8YxK9Vdq
	 aCY3tdUi2aElcGTgsfDNloIJ+c2u5kMyH72Tn7N5pJu7cpmKlsPnUoO1KrJ0RMpaC6
	 YupcxslPwxueg==
Subject: Re: [GIT PULL] xen: branch for v6.1-rc9b
From: pr-tracker-bot@kernel.org
In-Reply-To: <20221208062404.29189-1-jgross@suse.com>
References: <20221208062404.29189-1-jgross@suse.com>
X-PR-Tracked-List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
X-PR-Tracked-Message-Id: <20221208062404.29189-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-xsa-6.1-rc9b-tag
X-PR-Tracked-Commit-Id: 7dfa764e0223a324366a2a1fc056d4d9d4e95491
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: a4c3a07e5b9ffb525435fedd94b5082c928e56dd
Message-Id: <167052758858.15249.5126504911011614864.pr-tracker-bot@kernel.org>
Date: Thu, 08 Dec 2022 19:26:28 +0000
To: Juergen Gross <jgross@suse.com>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, sstabellini@kernel.org

The pull request you sent on Thu,  8 Dec 2022 07:24:04 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-xsa-6.1-rc9b-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/a4c3a07e5b9ffb525435fedd94b5082c928e56dd

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 19:50:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 19:50:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457427.715332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3MuN-0008FO-Rf; Thu, 08 Dec 2022 19:50:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457427.715332; Thu, 08 Dec 2022 19:50:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3MuN-0008FH-OQ; Thu, 08 Dec 2022 19:50:15 +0000
Received: by outflank-mailman (input) for mailman id 457427;
 Thu, 08 Dec 2022 19:50:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3MuM-0008F7-Ui; Thu, 08 Dec 2022 19:50:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3MuM-0002Q5-MK; Thu, 08 Dec 2022 19:50:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3MuM-0000AJ-Ai; Thu, 08 Dec 2022 19:50:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3MuL-0007T5-VD; Thu, 08 Dec 2022 19:50:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cf2k308maoCsagjW4HpqsO1SOYtmpvwpkwuz6hYrtho=; b=VIuB8BCu4BeQgSu9cy5I0/89UE
	M/tOlyDmc46xyoOJ9VAaxOTFz7Pf1JcBB9fbf+2h/kd0ebT+VynFWlIdA0LkfEAfWcBkJz9LHocG6
	uffpt0japijUybZB3mMxGeK95vIsNkqPRJNNyXhaKpiW+xbfHR1RRQE7ptItXovoJTw0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175089-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 175089: regressions - FAIL
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-i386-pair:xen-install/src_host:fail:regression
    xen-4.16-testing:test-amd64-i386-migrupgrade:xen-install/dst_host:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4ad5975d4e35635f03d2cb9e86292c0daeabd75f
X-Osstest-Versions-That:
    xen=042a5b7024e7b27f5806914b9d42099a48c8f893
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 08 Dec 2022 19:50:13 +0000

flight 175089 xen-4.16-testing real [real]
flight 175097 xen-4.16-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175089/
http://logs.test-lab.xenproject.org/osstest/logs/175097/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 175067
 test-amd64-i386-migrupgrade  11 xen-install/dst_host     fail REGR. vs. 175067

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175067
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175067
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175067
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175067
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175067
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175067
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175067
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175067
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175067
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175067
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175067
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175067
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  4ad5975d4e35635f03d2cb9e86292c0daeabd75f
baseline version:
 xen                  042a5b7024e7b27f5806914b9d42099a48c8f893

Last test of basis   175067  2022-12-07 01:08:35 Z    1 days
Testing same since   175089  2022-12-08 09:38:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 4ad5975d4e35635f03d2cb9e86292c0daeabd75f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Dec 8 10:12:41 2022 +0100

    x86/HVM: don't mark evtchn upcall vector as pending when vLAPIC is disabled
    
    Linux'es relatively new use of HVMOP_set_evtchn_upcall_vector has
    exposed a problem with the marking of the respective vector as
    pending: For quite some time Linux has been checking whether any stale
    ISR or IRR bits would still be set while preparing the LAPIC for use.
    This check is now triggering on the upcall vector, as the registration,
    at least for APs, happens before the LAPIC is actually enabled.
    
    In software-disabled state an LAPIC would not accept any interrupt
    requests and hence no IRR bit would newly become set while in this
    state. As a result it is also wrong for us to mark the upcall vector as
    having a pending request when the vLAPIC is in this state.
    
    To compensate for the "enabled" check added to the assertion logic, add
    logic to (conditionally) mark the upcall vector as having a request
    pending at the time the LAPIC is being software-enabled by the guest.
    Note however that, like for the pt_may_unmask_irq() we already have
    there, long term we may need to find a different solution. This will be
    especially relevant in case yet better LAPIC acceleration would
    eliminate notifications of guest writes to this and other registers.
    
    Fixes: 7b5b8ca7dffd ("x86/upcall: inject a spurious event after setting upcall vector")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    master commit: f5d0279839b58cb622f0995dbf9cff056f03082e
    master date: 2022-12-06 13:51:49 +0100

commit a61f93d59742986d3119124bbe7a77fdcdf98a38
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Dec 8 10:12:02 2022 +0100

    x86/Viridian: don't mark IRQ vectors as pending when vLAPIC is disabled
    
    In software-disabled state an LAPIC does not accept any interrupt
    requests and hence no IRR bit would newly become set while in this
    state. As a result it is also wrong for us to mark Viridian IPI or timer
    vectors as having a pending request when the vLAPIC is in this state.
    Such interrupts are simply lost.
    
    Introduce a local variable in send_ipi() to help readability.
    
    Fixes: fda96b7382ea ("viridian: add implementation of the HvSendSyntheticClusterIpi hypercall")
    Fixes: 26fba3c85571 ("viridian: add implementation of synthetic timers")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Paul Durrant <paul@xen.org>
    master commit: 831419f82913417dee4e5b0f80769c5db590540b
    master date: 2022-12-02 10:35:32 +0100

commit 07bbac08b594741480457c272c5f2d1feee3fbbd
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Dec 8 10:11:32 2022 +0100

    x86/HVM: don't mark external IRQs as pending when vLAPIC is disabled
    
    In software-disabled state an LAPIC does not accept any interrupt
    requests and hence no IRR bit would newly become set while in this
    state. As a result it is also wrong for us to mark IO-APIC or MSI
    originating vectors as having a pending request when the vLAPIC is in
    this state. Such interrupts are simply lost.
    
    Introduce (IO-APIC) or re-use (MSI) a local variable to help
    readability.
    
    Fixes: 4fe21ad3712e ("This patch add virtual IOAPIC support for VMX guest")
    Fixes: 85715f4bc7c9 ("MSI 5/6: add MSI support to passthrough HVM domain")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: f1d7aac1e3c3cd164e17d41791a575a5c3e87121
    master date: 2022-12-02 10:35:01 +0100

commit 09849cdd251443f22fb2ee07b2aaa7cd45546b5b
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Thu Dec 8 10:10:50 2022 +0100

    x86/pvh: do not forward MADT Local APIC NMI structures to dom0
    
    Currently Xen will passthrough any Local APIC NMI Structure found in
    the native ACPI MADT table to a PVH dom0.  This is wrong because PVH
    doesn't have access to the physical local APIC, and instead gets an
    emulated local APIC by Xen, that doesn't have the LINT0 or LINT1
    pins wired to anything.  Furthermore the ACPI Processor UIDs used in
    the APIC NMI Structures are likely to not match the ones generated by
    Xen for the Local x2APIC Structures, creating confusion to dom0.
    
    Fix this by removing the logic to passthrough the Local APIC NMI
    Structure for PVH dom0.
    
    Fixes: 1d74282c45 ('x86: setup PVHv2 Dom0 ACPI tables')
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: b39e6385250ccef9509af0eab9003ad5c1478842
    master date: 2022-12-02 10:33:40 +0100

commit b6b3dc8d887b4d78b802c236d93dc792c8355074
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Thu Dec 8 10:10:00 2022 +0100

    x86/irq: do not release irq until all cleanup is done
    
    Current code in _clear_irq_vector() will mark the irq as unused before
    doing the cleanup required when move_in_progress is true.
    
    This can lead to races in create_irq() if the function picks an irq
    desc that's been marked as unused but has move_in_progress set, as the
    call to assign_irq_vector() in that function can then fail with
    -EAGAIN.
    
    Prevent that by only marking irq descs as unused when all the cleanup
    has been done.  While there also use write_atomic() when setting
    IRQ_UNUSED in _clear_irq_vector() and add a barrier in order to
    prevent the setting of IRQ_UNUSED getting reordered by the compiler.
    
    The check for move_in_progress cannot be removed from
    _assign_irq_vector(), as other users (io_apic_set_pci_routing() and
    ioapic_guest_write()) can still pass active irq descs to
    assign_irq_vector().
    
    Note the trace point is not moved and is now set before the irq is
    marked as unused.  This is done so that the CPU mask provided in the
    trace point is the one belonging to the current vector, not the old
    one.
    
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: e267d11969a40f0aec33dbf966f5a6490b205f43
    master date: 2022-12-02 10:32:21 +0100
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 21:15:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 21:15:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457437.715347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3OEV-00025x-3P; Thu, 08 Dec 2022 21:15:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457437.715347; Thu, 08 Dec 2022 21:15:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3OEU-00025q-V6; Thu, 08 Dec 2022 21:15:06 +0000
Received: by outflank-mailman (input) for mailman id 457437;
 Thu, 08 Dec 2022 21:15:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3OEU-00025d-Cp; Thu, 08 Dec 2022 21:15:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3OEU-0004TE-AP; Thu, 08 Dec 2022 21:15:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3OET-0005oi-V1; Thu, 08 Dec 2022 21:15:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3OET-0001yc-UU; Thu, 08 Dec 2022 21:15:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ml4ojYRFZ+qkxdWSv7eRSy9q1E6T+xxMeHsN6GPvcNI=; b=cpiYnX7Dx6vzs7/IS1OhU6npBe
	5Wkhx9RbRSkdHgXQzQxOc2cbtF/A6WiOck99aUoUSC9p92yUsRA2K4b7IqQxazSZ2lCqfco39oKeP
	Zb26Fvu/bRIrO48AU0UuIAF8cPvzDT5ixt1VI2UOH+oOmAFGvstgCvcKcvWg8skn+t3U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175093-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175093: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=8a485e4bb8b5c5a800d6b3e1b8fa80fe27afb274
X-Osstest-Versions-That:
    ovmf=1c75bf3c21da79b1bc1d50cfc593b57f73f2c560
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 08 Dec 2022 21:15:05 +0000

flight 175093 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175093/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 8a485e4bb8b5c5a800d6b3e1b8fa80fe27afb274
baseline version:
 ovmf                 1c75bf3c21da79b1bc1d50cfc593b57f73f2c560

Last test of basis   175090  2022-12-08 10:11:01 Z    0 days
Testing same since   175093  2022-12-08 16:12:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   1c75bf3c21..8a485e4bb8  8a485e4bb8b5c5a800d6b3e1b8fa80fe27afb274 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 21:45:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 21:45:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457451.715358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3OhO-0006Np-FV; Thu, 08 Dec 2022 21:44:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457451.715358; Thu, 08 Dec 2022 21:44:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3OhO-0006Ni-C1; Thu, 08 Dec 2022 21:44:58 +0000
Received: by outflank-mailman (input) for mailman id 457451;
 Thu, 08 Dec 2022 21:44:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3OhN-0006NY-Oi; Thu, 08 Dec 2022 21:44:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3OhN-00056V-Mn; Thu, 08 Dec 2022 21:44:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3OhN-0006zh-3L; Thu, 08 Dec 2022 21:44:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3OhN-0005GL-2q; Thu, 08 Dec 2022 21:44:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TCpRN9hqytemxAU2YWaYf47lVffqvSilw61OZWBnu2k=; b=UxdPOo+5fB5jIPOwoaL3Xergfy
	U8ZMImDFTVTlugfz6a+0sKCcK1IU738QDjf3RQx6f/3DaAkNxa4CR4nKRWs+dezsaYE5D1sG9tXBV
	6rCba4vMaVS6Y+p0D7Ed8MJ1ACGVvUiWW/qrKgDEMkFBwmKrbMHER9Bn1pHCrEpIHjdk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175095-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175095: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=db92cb450dd7ad5eb103819d26b737cdc054ce4a
X-Osstest-Versions-That:
    xen=af50d9be4358f26c459459eeaa3f6a1a66821738
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 08 Dec 2022 21:44:57 +0000

flight 175095 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175095/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  db92cb450dd7ad5eb103819d26b737cdc054ce4a
baseline version:
 xen                  af50d9be4358f26c459459eeaa3f6a1a66821738

Last test of basis   175082  2022-12-07 22:00:27 Z    0 days
Testing same since   175095  2022-12-08 18:00:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   af50d9be43..db92cb450d  db92cb450dd7ad5eb103819d26b737cdc054ce4a -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 22:50:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 22:50:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457462.715369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Pii-0006kc-Af; Thu, 08 Dec 2022 22:50:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457462.715369; Thu, 08 Dec 2022 22:50:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Pii-0006kV-7i; Thu, 08 Dec 2022 22:50:24 +0000
Received: by outflank-mailman (input) for mailman id 457462;
 Thu, 08 Dec 2022 22:50:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Pih-0006kL-9A; Thu, 08 Dec 2022 22:50:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Pih-0006eF-5Z; Thu, 08 Dec 2022 22:50:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Pig-0002Q6-LT; Thu, 08 Dec 2022 22:50:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Pig-0007Yo-IG; Thu, 08 Dec 2022 22:50:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=e98jDEcGH70lLf5DjU6CUdlssVYP6YXD8d2+zbuqsy4=; b=oYubNM0T6ykGKJcunrMf4Oqjfe
	9HvM5qnRIOWhyEh0Ygxc7mzLnULlP3Ep4fcMOxQMwUcFsdf31rHL7Gqn7WfJfVMhZPkpjFBFpfjYH
	j9vW5YG1tSWPbEgNoA9p/KWI+Q4dEY0Qlsl3JS1Zi3mjvCYYAsup3chtilZribh0kCjI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175091-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175091: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-vhd:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=af50d9be4358f26c459459eeaa3f6a1a66821738
X-Osstest-Versions-That:
    xen=11b4ff64841efd9724e5c1fce81ec2b5484b8d57
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 08 Dec 2022 22:50:22 +0000

flight 175091 xen-unstable real [real]
flight 175100 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175091/
http://logs.test-lab.xenproject.org/osstest/logs/175100/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-vhd       8 xen-boot            fail pass in 175100-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175100-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 175100 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 175100 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175083
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175083
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175083
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175083
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175083
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175083
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175083
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175083
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175083
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175083
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175083
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175083
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  af50d9be4358f26c459459eeaa3f6a1a66821738
baseline version:
 xen                  11b4ff64841efd9724e5c1fce81ec2b5484b8d57

Last test of basis   175083  2022-12-07 22:41:12 Z    1 days
Testing same since   175091  2022-12-08 10:18:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Henry Wang <Henry.Wang@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   11b4ff6484..af50d9be43  af50d9be4358f26c459459eeaa3f6a1a66821738 -> master


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 23:12:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 23:12:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457474.715388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Q4N-0001l7-6C; Thu, 08 Dec 2022 23:12:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457474.715388; Thu, 08 Dec 2022 23:12:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Q4N-0001l0-3S; Thu, 08 Dec 2022 23:12:47 +0000
Received: by outflank-mailman (input) for mailman id 457474;
 Thu, 08 Dec 2022 23:12:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rOXo=4G=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p3Q4L-0001ku-LP
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 23:12:45 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d1b800d0-774d-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 00:12:44 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 75BA7B824D6;
 Thu,  8 Dec 2022 23:12:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C1F8DC433F2;
 Thu,  8 Dec 2022 23:12:39 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1b800d0-774d-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670541161;
	bh=+9wH5vNwqhqkZmbWh8OQpDRxFnfyIpszspFwTC/s0n8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ubdqjekhD916sbtM3uUcn4thgZAJ9uMtwBqX6xDCZZUSE0m3gqR+adM5UZgs4jG4U
	 Bpwk3foWF5xpooQFuNJFOKWpvffwiCTroJ+sEExe1uRPQIt3w3zgl8OMHTAAkh33ec
	 PMbvlahOlnGd78gW48J0O+0wXUn28ueshnshVvpYofAvvng7lVXYrdZn+x+tgRStua
	 DueOfzHUpsoh3zbX+7ElBdmnvi2GVc7Z+0kaKGLBd9Pcxc6KPdv6L25GOhnGg4Hva5
	 EgVlGt1w1DMrHLJdEpZKzLnwuDg17PBXkavjqtxbghTiW/1agxUr+uge4VjhCKPTQC
	 gQxuHjko2pHiw==
Date: Thu, 8 Dec 2022 15:12:38 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Ayan Kumar Halder <ayankuma@amd.com>
cc: Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>, 
    Ayan Kumar Halder <ayan.kumar.halder@amd.com>, 
    xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    stefanos@xilinx.com, Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
In-Reply-To: <ca2db58b-0183-8972-0336-25bcabc99824@amd.com>
Message-ID: <alpine.DEB.2.22.394.2212081510070.2965472@ubuntu-linux-20-04-desktop>
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com> <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org> <e8aff19a-4992-9d35-4e78-9e64aec384f9@amd.com> <00ab59fa-d449-255b-bfe3-aaacb87e34dd@xen.org> <ca2db58b-0183-8972-0336-25bcabc99824@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-642912410-1670541160=:2965472"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-642912410-1670541160=:2965472
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 8 Dec 2022, Ayan Kumar Halder wrote:
> On 08/12/2022 16:53, Julien Grall wrote:
> > Hi,
> Hi,
> > 
> > On 08/12/2022 15:24, Michal Orzel wrote:
> > > On 08/12/2022 14:51, Julien Grall wrote:
> > > > Caution: This message originated from an External Source. Use proper
> > > > caution when opening attachments, clicking links, or responding.
> > > > 
> > > > 
> > > > Hi,
> > > > 
> > > > Title extra NIT: I have seen it multiple time and so far refrain to say
> > > > it. Please use 'arm' rather than 'Arm'. This is for consistency in the
> > > > way we name the subsystem in the title.
> > > > 
> > > > On 08/12/2022 12:49, Ayan Kumar Halder wrote:
> > > > > Currently, kernel_uimage_probe() does not set info->zimage.start. As a
> > > > > result, it contains the default value (ie 0). This causes,
> > > > > kernel_zimage_place() to treat the binary (contained within uImage) as
> > > > > position independent executable. Thus, it loads it at an incorrect
> > > > > address.
> > > > > 
> > > > > The correct approach would be to read "uimage.ep" and set
> > > > > info->zimage.start. This will ensure that the binary is loaded at the
> > > > > correct address.
> > > > 
> > > > In non-statically allocated setup, a user doesn't know where the memory
> > > > for dom0/domU will be allocated.
> > > > 
> > > > So I think this was correct to ignore the address. In fact, I am worry
> > > > that...
> > > > 
> > > > > 
> > > > > Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> > > > > ---
> > > > > 
> > > > > I uncovered this issue while loading Zephyr as a dom0less domU with
> > > > > Xen on
> > > > > R52 FVP. Zephyr builds with static device tree. Thus, the load address
> > > > > is
> > > > > always fixed.
> > > > > 
> > > > >    xen/arch/arm/kernel.c | 2 ++
> > > > >    1 file changed, 2 insertions(+)
> > > > > 
> > > > > diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> > > > > index 2556a45c38..e4e8c67669 100644
> > > > > --- a/xen/arch/arm/kernel.c
> > > > > +++ b/xen/arch/arm/kernel.c
> > > > > @@ -222,6 +222,8 @@ static int __init kernel_uimage_probe(struct
> > > > > kernel_info *info,
> > > > >        if ( len > size - sizeof(uimage) )
> > > > >            return -EINVAL;
> > > > > 
> > > > > +    info->zimage.start = be32_to_cpu(uimage.ep);
> > > > ... this will now ended up to break anyone that may have set an address
> > > > but didn't care where it should be loaded.
> > > > 
> > > > I also understand your use case but now, we have contradictory
> > > > approaches. I am not entirely sure how we can solve it. We may have to
> > > > break those users (Cc some folks that may use it). But we should figure
> > > > out what is the alternative for them.
> > > > 
> > > > If we decide to break those users, then this should be documented in the
> > > > commit message and in docs/misc/arm/booting.txt (which interestingly
> > > > didn't mention uImage).
> > > > 
> > > So the first issue with Zephyr is that it does not support zImage protocol
> > > for arm32.
> > > Volodymyr added support only for Image header for arm64 Zephyr.
> > > I guess this is why Ayan, willing to boot it on Xen (arm32), decided to
> > > add u-boot header.
> > 
> > If that's the only reason, then I would rather prefer if we go with zImage
> > for a few reasons:
> >  - The zImage protocol has at least some documentation (not perfect) of the
> > expected state of the memory/registers when jumping to the image.
> >  - AFAICT libxl is not (yet) supporting uImage. So this means zephyr cannot
> > be loaded on older Xen releases (not great).
> 
> I am exploring for a similar option as Volodymyr ie support zimage protocol
> for arm32.
> 
> But for that I need some public documentation that explains the zimage header
> format for arm32.
> 
> Refer xen/arch/arm/kernel.c
> 
> #define ZIMAGE32_MAGIC_OFFSET 0x24
> #define ZIMAGE32_START_OFFSET 0x28
> #define ZIMAGE32_END_OFFSET   0x2c
> #define ZIMAGE32_HEADER_LEN   0x30
> 
> #define ZIMAGE32_MAGIC 0x016f2818
> 
> Is this documented anywhere ?
> 
> I had a look at
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/booting.rst
> , but there is nothing that explains the header format.

I think this is the closest to documentation of it:

http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html

--8323329-642912410-1670541160=:2965472--


From xen-devel-bounces@lists.xenproject.org Thu Dec 08 23:53:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 23:53:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457484.715398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Qhc-0007CG-EC; Thu, 08 Dec 2022 23:53:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457484.715398; Thu, 08 Dec 2022 23:53:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Qhc-0007C9-BJ; Thu, 08 Dec 2022 23:53:20 +0000
Received: by outflank-mailman (input) for mailman id 457484;
 Thu, 08 Dec 2022 23:53:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=miOe=4G=zlw.email=sisyphean@srs-se1.protection.inumbo.net>)
 id 1p3QhZ-0007C3-KU
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 23:53:18 +0000
Received: from mail.zlw.email (unknown [112.49.95.49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c08fcd6-7753-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 00:53:14 +0100 (CET)
Received: from localhost (unknown [127.0.0.1])
 by mail.zlw.email (Postfix) with ESMTP id EEEAB173F38;
 Thu,  8 Dec 2022 23:53:09 +0000 (UTC)
Received: from mail.zlw.email ([127.0.0.1])
 by localhost (mail.zlw.email [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 78i-UsRAIutC; Fri,  9 Dec 2022 07:53:08 +0800 (CST)
Received: from [192.168.66.233] (OpenWrt.lan [192.168.66.1])
 by mail.zlw.email (Postfix) with ESMTPSA id DC37C14D318;
 Fri,  9 Dec 2022 07:53:07 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c08fcd6-7753-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zlw.email; h=
	content-transfer-encoding:content-type:content-type:in-reply-to
	:from:from:references:to:content-language:subject:subject
	:user-agent:mime-version:date:date:message-id; s=dkim; t=
	1670543588; x=1673135589; bh=FT8LN9ZlQQtV9XFpW9eO6wvFGyQlg0oAKO4
	AESxkH9I=; b=qaoITw0GFjOxo9Iz6EzXm9tdgQo+BF2899diXS6lJ//NXFoLvWf
	hI7NLOgTqpkMES01SD8VoKhI4oXN5KyBC+R3PzpFk3xZ8axaaGNKRTcWLoZQ+Qo9
	2ni25HFPCZ+WzXwqh0bK324b5XrsPdsiM6YLBfvnh+Co5TPtdE8qtlI4=
X-Virus-Scanned: amavisd-new at zlw.email
Message-ID: <4eb97a24-3420-a50e-371a-d0e432ddb05c@zlw.email>
Date: Fri, 9 Dec 2022 07:53:08 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [BUG]SMMU-V3 queue need no-cache memory
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Rahul Singh <Rahul.Singh@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <e1e0e347-6530-7b68-92f7-ef52defa55ac@zlw.email>
 <75D89B2C-BBE4-419A-80B7-FEE39445ABB2@arm.com>
 <fe0f90fa-84aa-54b2-1e12-98baff7fcaf7@xen.org>
 <alpine.DEB.2.22.394.2212071418570.4039@ubuntu-linux-20-04-desktop>
 <e42045c9-9f0e-9a2a-94ac-077d33534e88@zlw.email>
 <a1e24b88-1c23-8462-9553-8cc6b14a4a16@xen.org>
 <5f850be6-a256-86fa-7c37-1964442bc36c@zlw.email>
 <79d2a073-ddcf-8a1d-3415-e73d9162b3a5@xen.org>
From: sisyphean <sisyphean@zlw.email>
In-Reply-To: <79d2a073-ddcf-8a1d-3415-e73d9162b3a5@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

在 2022/12/8 21:32, Julien Grall 写道:
> Hi,
>
> On 08/12/2022 13:27, sisyphean wrote:
>>
>> 在 2022/12/8 21:21, Julien Grall 写道:
>>> Hi,
>>>
>>> On 08/12/2022 03:22, sisyphean wrote:
>>>> 在 2022/12/8 06:22, Stefano Stabellini 写道:
>>>>
>>>>> On Wed, 7 Dec 2022, Julien Grall wrote:
>>>>>> Hi,
>>>>>>
>>>>>> I only noticed this e-mail because I was skimming xen-devel. If 
>>>>>> you want to
>>>>>> get our attention, then I would suggest to CC both of us because 
>>>>>> I (and I
>>>>>> guess Stefano) have filter rules so those e-mails land directly 
>>>>>> in my inbox.
>>>>>>
>>>>>> On 07/12/2022 10:24, Rahul Singh wrote:
>>>>>>>> On 7 Dec 2022, at 2:04 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>>       I try to run XEN on my ARM board(Sorry, for some 
>>>>>>>> commercial reasons,
>>>>>>>> I can't tell you
>>>>>>>>       on which platform I run XEN)  and enable SMMU-V3, but all 
>>>>>>>> cmds in
>>>>>>>> cmdq failed when XEN started.
>>>>>>>>
>>>>>>>>       After using the debugger to track debugging, the reason 
>>>>>>>> for this
>>>>>>>> problem is that
>>>>>>>>       the queue in the smmu-v3 driver is not no-cache, so after 
>>>>>>>> the
>>>>>>>> function arm_smmu_cmdq_build_cmd
>>>>>>>>       is executed, the cmd is still in cache.Therefore, the 
>>>>>>>> SMMU-V3
>>>>>>>> hardware cannot obtain the correct cmd
>>>>>>>>       from the memory for execution.
>>>>>>> Yes you are right as of now we are allocating the memory for 
>>>>>>> cmdqueue via
>>>>>>> _xzalloc() which is cached
>>>>>>> memory because of that you are observing the issue. We have 
>>>>>>> tested the Xen
>>>>>>> SMMUv3 driver on SOC
>>>>>>> where SMMUv3 HW is in the coherency domain, and because of that 
>>>>>>> we have not
>>>>>>> encountered this issue.
>>>>>>>
>>>>>>> I think In your case SMMUv3 HW is not in the coherency domain. 
>>>>>>> Please
>>>>>>> confirm from your side if the
>>>>>>> "dma-coherent” property is not set in DT.
>>>>>>>
>>>>>>> I think there is no function available as of now to request Xen 
>>>>>>> to allocate
>>>>>>> memory that is not cached.
>>>>>> You are correct.
>>>>>>
>>>>>>> @Julien and @Stefano do you have any suggestion on how we can 
>>>>>>> request memory
>>>>>>> from Xen that is not
>>>>>>> cached something like dma_alloc_coherent() in Linux.
>>>>>> At the moment all the RAM is mapped cacheable in Xen. So it will 
>>>>>> require some
>>>>>> work to have some memory uncacheable.
>>>>>>
>>>>>> There are two options:
>>>>>>   1) Allocate a pool of memory at boot time that will be mapped 
>>>>>> with different
>>>>>> memory attribute. This means we would need a separate pool and 
>>>>>> the user will
>>>>>> have to size it.
>>>>>>   2) Modify after the allocation the caching attribute in the 
>>>>>> memory and then
>>>>>> revert back after freeing. The cons is we would end up to shatter 
>>>>>> superpage.
>>>>>> We also can't re-create superpage (yet), but that might be fine 
>>>>>> if the memory
>>>>>> is never freed.
>>>>>>
>>>>>> Option two would probably the best. But before going that route I 
>>>>>> have one
>>>>>> question...
>>>>>>
>>>>>>> The temporary solution I use is to execute function clean_dcache 
>>>>>>> every
>>>>>>> time cmd is copied to cmdq in function queue_write. But it is 
>>>>>>> obvious
>>>>>>> that this will seriously affect the efficiency.
>>>>>> I agree you will see some performance impact in micro-benchmark. 
>>>>>> But I am not
>>>>>> sure about normal use-cases. How often do you expect the command 
>>>>>> queue to be
>>>>>> used?
>>>>> That is a good question. But even for the micro-benchmark, is the
>>>>> difference significant?
>>>>>
>>>>> My gut feeling (to be discussed and confirmed) is that for this 
>>>>> use-case
>>>>> it might not be worth to do option 1) or option 2) above. 
>>>>> Clean_dcache
>>>>> as needed might be good enough?
>>>>>
>>>>>
>>>>>> Also, I am a bit surprised you are seing issue with the command 
>>>>>> queue but not
>>>>>> with the stage-2 page-tables. Does your SMMU support coherent 
>>>>>> walk but cannot
>>>>>> snoop for the command queue?
>>>>
>>>> Hi,
>>>>
>>>> I'm sorry that my statement made you misunderstand. I haven't 
>>>> conducted micro-benchmark yet.
>>>>
>>>> I found this problem because "CMD_SYNC timeout" was frequently 
>>>> prompted when initializing
>>>> SMMUv3 during XEN startup.
>>>>
>>>> As for the usage frequency of the command queue, I'm trying to 
>>>> passthrough PCIE devices to the DomU.
>>>> According to my understanding, all operations on the device will be 
>>>> performed through SMMUv3 after
>>>> the device passesthrough? Therefore, queues will be used frequently.
>>> "all operations on the device" is a bit vague. From what Rahul just 
>>> wrote this is a command queue is for controlling the SMMU (e.g. 
>>> assign the device, flush the TLBs...). Anything related to the 
>>> access (e.g. accessing the BAR, configuration space...) are not 
>>> going through it.
>>>
>>> Cheers,
>>>
>> So does this mean that operations on smmu queues are not frequent? 
>> There are still some problems with PCIE device passthrough.
>> I will conduct some benchmark tests after completing PCIE device 
>> passthrough. Are there any test cases for my reference?
>
> See my reply to Rahul. I have provided some ideas how to benchmark it.
>
> Cheers,
>
Thanks for your suggestion. I will write some test cases to do some 
benchmark tests after completing the PCIE passthrough.

Cheers,



From xen-devel-bounces@lists.xenproject.org Thu Dec 08 23:57:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 08 Dec 2022 23:57:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457490.715409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3QlV-0007oE-TA; Thu, 08 Dec 2022 23:57:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457490.715409; Thu, 08 Dec 2022 23:57:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3QlV-0007o7-QY; Thu, 08 Dec 2022 23:57:21 +0000
Received: by outflank-mailman (input) for mailman id 457490;
 Thu, 08 Dec 2022 23:57:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uovv=4G=citrix.com=prvs=334de2702=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p3QlU-0007o1-5w
 for xen-devel@lists.xenproject.org; Thu, 08 Dec 2022 23:57:20 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ac5896c-7754-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 00:57:17 +0100 (CET)
Received: from mail-mw2nam10lp2100.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.100])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 08 Dec 2022 18:57:10 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6544.namprd03.prod.outlook.com (2603:10b6:510:b9::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Thu, 8 Dec
 2022 23:57:08 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.016; Thu, 8 Dec 2022
 23:57:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ac5896c-7754-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670543837;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=HlNJ2P4uA/LTQ3Mesg/UbZJWANKTp2nuTsa6NOauz9I=;
  b=ek51nOa6pssZ8I4j7bCCY0MuQlYxRj7R8dV0p3cMOSD7cn8umpyuH4xK
   jHjtqoK1aZBD8h9/YmcQmk7+ehKnxQFT+4xYprOVj7L1wrDjCxOiSxUBJ
   i+Riy60W9HvVle8vqWpWKTNZnEUqG256t1Uyo7oOYnME1i5dJKZXd9uRu
   A=;
X-IronPort-RemoteIP: 104.47.55.100
X-IronPort-MID: 89953476
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:zezwxK3zvqJi0GUHavbD5Ytxkn2cJEfYwER7XKvMYLTBsI5bp2AOz
 GpMXW7VOKuKYGrzfdh1aYiwp0MGvJ+Hn9BlTQs/pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZmNagQ1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfHGF+1
 8cfFSo3YjuKl7633bXrRMVer5F2RCXrFNt3VnBI6xj8VK5jZK+ZBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvi6KlFQZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXOqCd9JSOLmnhJsqFSh4k8/JRwSbmP4rveIgVSMePlhA
 WVBr0LCqoB3riRHVOLVVgyxpn2Zuxc0Ut9cVeY97WmlyLfQ4gufLngJSHhGctNOnMo3Tjwj0
 hmOhcHkARRmtbHTQnWYnp+dvDq0fysIKGYYIy8NSQcI+fHqpY11hRXKJv5zHajwgtDrFDXYx
 zGRsDN4l7gVldQM1aiw4RbAmT3EjoPSUgc/6wHTX2SkxgB0foioY8qv81ezxe1cIYiQSF6al
 GgFn8mY/KYFCpTlvBKKROIBDbS4/cGvOTfXgUNsN5Q5/jHr8HmmFaha7StiPk5vPoABcCXwf
 U7IkQpL4dlYO37CRahzboGqAsIm15/8BM/lXfDZaNlJSpVpfQrB9yZrDXN8xEjomUko1KQgY
 5GSdJ/0CW5AUPw/ij2rW+0azLkngDgkwn/eToz6yBLh1qeCYHmSSvEON17mgv0F0Z5oaT79q
 753X/ZmAT0GOAEiSkE7KbIuEG0=
IronPort-HdrOrdr: A9a23:mADnD6v76xHiBVdyj9kJHlNs7skDSdV00zEX/kB9WHVpmwKj5r
 mTdZUgpGfJYVMqMk3I9urwXZVoLUmsl6KdpLNhXotKPzOGhILLFvAH0WKK+VSJcBEWtNQ86U
 4KSdkYNDSfNykdsS842mWF+hQbreVvPJrGuQ4W9RlQcT0=
X-IronPort-AV: E=Sophos;i="5.96,228,1665460800"; 
   d="scan'208";a="89953476"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NhMmdSRNba+3gR3BnOZ4uSDZ90ASiIdDALn0OD3f6IdI3pyYypeSZW4F3ViiAmD6WF5/9wzkSIcYJGlE/XkbOljFICA9biYrSxqhshhtqJC6fBaY+iBIkCO4cDpEqIqI8XmbBqu37hidIUI1jaZAbkjLWWCX1jyc9QT3sS3+poy2gWrfPNG5b+1saZJ/5Y346TW1nRTUEndTqABOPAQe7QrjheEcQ7gMh6LRMshp7vKjyYLUaNJ25OgbaZEnUMHzzY2uwxUX4d+qCzH5B/LioDR/cvvOtUt0aXUhx1N77Pqu2BmK+Em86iqocs4fsMSM4pMgFuKEM+vINfnRxhSOCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HlNJ2P4uA/LTQ3Mesg/UbZJWANKTp2nuTsa6NOauz9I=;
 b=QnSl22RlnlDY3CM3oF0crj5DyoKHPEUr1K29G80tjg8O2heiKGMhvtYBkPi95OMUicuNiRBR6H8wleNEebSbsGQ3tuxTkpARYLlYU2CUNmlGhX5rthpvKGbIjNXq92F4OnRATvToGxTxw1yl3dMv451XoyMAskD2Xxxl/YY5yVBtw2b7yrhiZvZ9GY0ByXDRaNSM2hZ2t54ZRUv65iVAVAw0qRkyTDy5zInk7bWOFjkJ336mUAI773s7CZBo6bJi1QEQW7UzYblg76n09Ak8hq2jZm54sDotp495frbtZJC0PV38SwfGaoMBan1HwWQFlkEmahbWxS4eucS4n+RESQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HlNJ2P4uA/LTQ3Mesg/UbZJWANKTp2nuTsa6NOauz9I=;
 b=lnJMH7sOkjyGOL2/0JZMRjNVMEhBfAPf9AdWcsSrWxWXquCcODOGGhnD41Pmmgp5OWYmRmEXSobmvPcSteInXbYuTXCx6IRchggYJlJsUza167I00A+rtq/UdaPg8qJMZDnlYO8XBOd0wM28M8nSR5UKjHRdbF23czQAjkxDHKU=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Ayan Kumar Halder <ayankuma@amd.com>, Julien Grall <julien@xen.org>,
	Michal Orzel <michal.orzel@amd.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "sstabellini@kernel.org" <sstabellini@kernel.org>, "stefanos@xilinx.com"
	<stefanos@xilinx.com>, "Volodymyr_Babchuk@epam.com"
	<Volodymyr_Babchuk@epam.com>, "bertrand.marquis@arm.com"
	<bertrand.marquis@arm.com>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
Thread-Topic: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
Thread-Index: AQHZCwOZePGqMJgXO0SRNnj11JOJK65kAkoAgAAZ6oCAABkLgIAAHn8AgABXyYA=
Date: Thu, 8 Dec 2022 23:57:08 +0000
Message-ID: <eeeea39c-4a00-b742-036b-a97a5a5ab2a9@citrix.com>
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
 <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
 <e8aff19a-4992-9d35-4e78-9e64aec384f9@amd.com>
 <00ab59fa-d449-255b-bfe3-aaacb87e34dd@xen.org>
 <ca2db58b-0183-8972-0336-25bcabc99824@amd.com>
In-Reply-To: <ca2db58b-0183-8972-0336-25bcabc99824@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|PH0PR03MB6544:EE_
x-ms-office365-filtering-correlation-id: f2bd30c0-b71f-4097-f3af-08dad977ea42
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 3IAO3Pvwi9ecoy9y/D9FwGi2ik5Goc45R/MatVhQmoWuLOzjXV9U3kzNX6Xm+9e2n2dk4vmVyx5HSWqSvYOkTO0TJ4HMJBooRRLD9PHAxoZcAGOLTG3qyIRumrHjCLrpEeXnk8Ra394ZqbPljakZjD0yUzlQpqXwD+kb3+jEJYBRFlOED9WkTvbDmNCraxqeevynxFGNBWSb4O0D5iG//G9257o9QIv5Hr+AZXz238fv6PB37LIgVgzxuC9g1krlr36kQHTdbWIjZJjl6scHyEMHfld/JzyjokApKqeFX+vAUy/zBEfSMxe43suGpW3jUT9jO/7qSPy6LdGU9pHjt5ejTj0NKp3cjF/FEeUry+iC7s5by+a3BB4+F1IWyoXq0PXL8wWd2/W84jjRZ/Y4Z906Pnr5rUucB0MjI0Kw0CdDvssmjq5kB0SpABJRcYOQ6w2HU1FJcBizwA+HkILlPcQP1fjtg3eVOMZYSiXOVP3frWOLfcWXGxPpBCUO3DpzeVHNOC+u8NVMHKS9fGw6S2U9WSSG2pXopWg70pDtnmvR4uJJdQ08jz3hp/mntVRBWkHDVPhUeJeOoKdzH+T4UczIw5yFq4qNo4T5LqLRyF6VL9vKZcbIu5uoV4inO0jrJU4UTXYsplaa9gTsOxcBpRgHRhY8OV5yrqLTDZAn1QKeeMDSLk5e1+BAWAHvjpJeCTvEjIlTEHUVupvYysQtVNqROUgHCQSePkHTrFl01gGVJH4et8QRrBmwLjwvI4SwL8b7FDuR8ULoW7VuUiNi4Q==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(396003)(376002)(136003)(346002)(451199015)(122000001)(31696002)(54906003)(82960400001)(86362001)(91956017)(8936002)(2906002)(5660300002)(7416002)(41300700001)(31686004)(38070700005)(4326008)(186003)(53546011)(6506007)(26005)(6512007)(64756008)(66946007)(2616005)(8676002)(38100700002)(66556008)(76116006)(6486002)(316002)(66446008)(110136005)(508600001)(71200400001)(66476007)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?STlMclpQN2RwR3I5Qzc2UDRtKzhLc1JlUW92MEM4M21NQ0dUd3gvS2EwMlN2?=
 =?utf-8?B?Y1c4bWxoRytHekwxSEFKUWw0MnJ2ZEZDbEdLQVBibENnN2xFbVJPY0ljSUxG?=
 =?utf-8?B?V2hTeU1MYllKa21ZK0sydjVud040SzczUytYVjZtT2ZxaURHMEJJbkhML3Jt?=
 =?utf-8?B?eTArcUJPT2dqWEZHYnRGaUJFbG5TNDZHQStmYXZ4TGlCY09WMEVMZXZ5LzFl?=
 =?utf-8?B?ZW9GejJidDNHQXJuRDZXbVpPYjZjMEtPZ2Z4STc1OEVHR21wa1Fja2lvR0l1?=
 =?utf-8?B?MHhhS3UzcDRMK1h3a2JrUlRIcEJQd1BQbDd3R1p6K2cxanRtbENING1DN2dn?=
 =?utf-8?B?VGU4L0YzanFkVUtvZnBmSjVBOGZYVmovQjMyTUVKeXVIeTVOaHVGdmYyMjNo?=
 =?utf-8?B?UnNOb2lmZ05PYnNrUFY1dGpLR0Q4WisybjJ0VXJ4MkgyeTVIMlQzNDJFVEE5?=
 =?utf-8?B?T2hsWm54Z2I4SiszQzRsWnh6MFRSVERXSHNJck9reFNhS3FWVm8yQTlBUGZU?=
 =?utf-8?B?RU1PVzZEbndJdE1GejBtZHQreUVPQkI4SDMvRFZQRU9qVUcrOExoUFYrOGpu?=
 =?utf-8?B?Kzh0QTFnL0k2YjNOWkhKTWUrcHVnMERzdVVzd2dRUktmVG1uYVgrc1J6K1ZJ?=
 =?utf-8?B?VmRIMTBxREExTjNxRVYyY2FmWFZTcE4xQTRJUk9pQ2hTZllwQUx1U3Z4MHdS?=
 =?utf-8?B?V1puUjlPb2E5S3JVSDdnTEJKZFBkTTQrV2cyVzZzMGVLYmNnbXhzMGxBQ3l3?=
 =?utf-8?B?WUh6ZW5NdEZSL011NnZlSmpRcE90VnBCdVdGWnRyYkdDS3R2cy9PQVpMWG10?=
 =?utf-8?B?UkxGMW9CQWE3NVdJWWxDT2EySzBlYUlMNHN4K2s4ZVE1WWwzVWxsUFFNdmVB?=
 =?utf-8?B?OVIwOW1NRWh3MDlXSk4yVHBGdWhpVUVNRUhPbDk0REV4cW9ONmRXdG5hQTZW?=
 =?utf-8?B?VTFwZGpCbTczeks4YmlZVWdHeUlEeWpQbVdFdm0rSXJGVGJla2xTNDd1Z1c2?=
 =?utf-8?B?NE5sVTdSbkR5dDdNU1RQYnUySTk3bzl5QzF0S3c4aDI3VXRBQVJZeFo1REw4?=
 =?utf-8?B?clFzL0RPdFQxY081c0lORVRzLzluVDZ6b1IvQzNpNXdRSGE1aWlpUjJFYkhS?=
 =?utf-8?B?K1A0aVI0T0tOQlBxV0FJZW1mcWwvUmo5MHJGNHRJclVFVmRxM2NoMUlWd0tt?=
 =?utf-8?B?THNKVHc3ZGdNcnFESDlkRXdpdU5XVmpSbHFHTkN0dXE3Z2pHZDJ6c3JvSzZZ?=
 =?utf-8?B?Wi92TUFMazNYY2ZkRUtQS0xTRW8xWm9ETUI4ZUVCMEUrMkZuTXlpNG9IRXNY?=
 =?utf-8?B?d3poM2R3b08zMWczdFEvSytzSndiTm84bUNndlNXbklESGVJLzFsYnJBVlly?=
 =?utf-8?B?VUZ4RklDclgwa1FuQ2pINllJNkNaL3VwK1ZwZWVIa2xWVFlKOUNzbXh6RmFZ?=
 =?utf-8?B?ekNJNXRhZnZFRWxQN3RoYUtDZUJWbE4vR1F6b0c5ZWdOZ3FVcjZPOTZNdTFR?=
 =?utf-8?B?YXBYUVJmRUVrWlJOcCsxRTBpQ0pIcGhwMGQ1WitJTlV1RmE1eVo5UEhNa0hv?=
 =?utf-8?B?K2ExQjZwSEFxZFlJNlZ3NFphaktkbVlwNGtUdGp3eXZlaEM3aHZEQlBTNEpZ?=
 =?utf-8?B?NHJmY0h4Q2h2R1o4UUgrcCtSUkJtM05OWTBRNWFaSkt2MWVFWXlOTk5MVjc4?=
 =?utf-8?B?TWRpRmRobTBHMFFYWkxoNVRKcXo1MW42RW9seW55NlJ5OWVTcTFVQjRHN1JQ?=
 =?utf-8?B?cEQ4VmFyeU1BdjJsQ0RxK3VVcno3bWNWcnlMcTgrd1BrM1NiNHhNUCs3RVh5?=
 =?utf-8?B?UFFpTmptcVcraUxaWUY2MEhCKzdDL2lqbzV0TzRYMU1KbnFnczk1cDFybk9F?=
 =?utf-8?B?WHpMV1Bxc292YjYvRU9KblhidGlVNDJLYXAzSnNmS29OZE5vdnVobVNteUth?=
 =?utf-8?B?YUpvQVh4ZnlWdDl6dHM1RE5pY0Q3eGpUUnV1WFhRT05aS285bmxwVTBoa1Jh?=
 =?utf-8?B?TDF2TFBXMDhDY1llN3JrNjZKeWtqRHdaaGk3YTMzUnRRcE5pMGVwb2ZEVjkw?=
 =?utf-8?B?VmhIUWJCcWFrdUFTcC9xaSt3ZzF3bjZEWlNQQ0pSTWF5dlFxY0RTUk5WU2Mv?=
 =?utf-8?Q?3Bbck+IEmjWYMWOegjm7gLiHB?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <EDF46F19CA33FC48AB37602FED3105B6@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f2bd30c0-b71f-4097-f3af-08dad977ea42
X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Dec 2022 23:57:08.0469
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: VkEeKSyaDxgEihQ1mKEjOuTDEl0vsMaaK8229tGX6yrfqOJkNAOs5O3S8YEwWK4ut2FrfMNB/lHTIkavkBUSkEi1fR+gh1Kezc9FyQ1iWXc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6544

T24gMDgvMTIvMjAyMiAxODo0MiwgQXlhbiBLdW1hciBIYWxkZXIgd3JvdGU6DQo+IE9uIDA4LzEy
LzIwMjIgMTY6NTMsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4+IE9uIDA4LzEyLzIwMjIgMTU6MjQs
IE1pY2hhbCBPcnplbCB3cm90ZToNCj4+PiBTbyB0aGUgZmlyc3QgaXNzdWUgd2l0aCBaZXBoeXIg
aXMgdGhhdCBpdCBkb2VzIG5vdCBzdXBwb3J0IHpJbWFnZQ0KPj4+IHByb3RvY29sIGZvciBhcm0z
Mi4NCj4+PiBWb2xvZHlteXIgYWRkZWQgc3VwcG9ydCBvbmx5IGZvciBJbWFnZSBoZWFkZXIgZm9y
IGFybTY0IFplcGh5ci4NCj4+PiBJIGd1ZXNzIHRoaXMgaXMgd2h5IEF5YW4sIHdpbGxpbmcgdG8g
Ym9vdCBpdCBvbiBYZW4gKGFybTMyKSwgZGVjaWRlZA0KPj4+IHRvIGFkZCB1LWJvb3QgaGVhZGVy
Lg0KPj4NCj4+IElmIHRoYXQncyB0aGUgb25seSByZWFzb24sIHRoZW4gSSB3b3VsZCByYXRoZXIg
cHJlZmVyIGlmIHdlIGdvIHdpdGgNCj4+IHpJbWFnZSBmb3IgYSBmZXcgcmVhc29uczoNCj4+IMKg
LSBUaGUgekltYWdlIHByb3RvY29sIGhhcyBhdCBsZWFzdCBzb21lIGRvY3VtZW50YXRpb24gKG5v
dCBwZXJmZWN0KQ0KPj4gb2YgdGhlIGV4cGVjdGVkIHN0YXRlIG9mIHRoZSBtZW1vcnkvcmVnaXN0
ZXJzIHdoZW4ganVtcGluZyB0byB0aGUgaW1hZ2UuDQo+PiDCoC0gQUZBSUNUIGxpYnhsIGlzIG5v
dCAoeWV0KSBzdXBwb3J0aW5nIHVJbWFnZS4gU28gdGhpcyBtZWFucyB6ZXBoeXINCj4+IGNhbm5v
dCBiZSBsb2FkZWQgb24gb2xkZXIgWGVuIHJlbGVhc2VzIChub3QgZ3JlYXQpLg0KPg0KPiBJIGFt
IGV4cGxvcmluZyBmb3IgYSBzaW1pbGFyIG9wdGlvbiBhcyBWb2xvZHlteXIgaWUgc3VwcG9ydCB6
aW1hZ2UNCj4gcHJvdG9jb2wgZm9yIGFybTMyLg0KPg0KPiBCdXQgZm9yIHRoYXQgSSBuZWVkIHNv
bWUgcHVibGljIGRvY3VtZW50YXRpb24gdGhhdCBleHBsYWlucyB0aGUgemltYWdlDQo+IGhlYWRl
ciBmb3JtYXQgZm9yIGFybTMyLg0KPg0KPiBSZWZlciB4ZW4vYXJjaC9hcm0va2VybmVsLmMNCj4N
Cj4gI2RlZmluZSBaSU1BR0UzMl9NQUdJQ19PRkZTRVQgMHgyNA0KPiAjZGVmaW5lIFpJTUFHRTMy
X1NUQVJUX09GRlNFVCAweDI4DQo+ICNkZWZpbmUgWklNQUdFMzJfRU5EX09GRlNFVMKgwqAgMHgy
Yw0KPiAjZGVmaW5lIFpJTUFHRTMyX0hFQURFUl9MRU7CoMKgIDB4MzANCj4NCj4gI2RlZmluZSBa
SU1BR0UzMl9NQUdJQyAweDAxNmYyODE4DQo+DQo+IElzIHRoaXMgZG9jdW1lbnRlZCBhbnl3aGVy
ZSA/DQoNCnpJbWFnZSAoMzIpIGlzIGVudGlyZWx5IHVuZG9jdW1lbnRlZC7CoCBXaGF0IGV4aXN0
cyBpcyBmcm9tIHJldmVyc2UNCmVuZ2luZWVyaW5nLsKgIEkgZm91bmQgdGhpcyB3aGlsZSBkb2lu
ZyBzb21lIFhURiB3b3JrLCBhbmQgd2VudCByaWdodA0KYmFjayB0byB0aGUgc291cmNlIC0gdGhl
IExpbnV4IG1haW50YWluZXJzLg0KDQpUaGVyZSBhcmUgdGhpbmdzIHdoaWNoIFhlbiBkb2VzIHdy
b25nIHdpdGggekltYWdlIGhhbmRsaW5nLsKgIEJ1dCBJDQpoYXZlbid0IGhhZCB0aW1lIHRvIHRy
YW5zY3JpYmUgbXkgbm90ZXMgaW50byBzb21ldGhpbmcgbW9yZSBjb2hlcmVudCBhbmQNCnN1Ym1p
dCBmaXhlcy4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 00:14:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 00:14:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457499.715421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3R1e-0002vq-Ng; Fri, 09 Dec 2022 00:14:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457499.715421; Fri, 09 Dec 2022 00:14:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3R1e-0002vj-KC; Fri, 09 Dec 2022 00:14:02 +0000
Received: by outflank-mailman (input) for mailman id 457499;
 Fri, 09 Dec 2022 00:14:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aovy=4H=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p3R1c-0002vd-Ds
 for xen-devel@lists.xen.org; Fri, 09 Dec 2022 00:14:00 +0000
Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com
 [2607:f8b0:4864:20::1029])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5fe4f160-7756-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 01:13:58 +0100 (CET)
Received: by mail-pj1-x1029.google.com with SMTP id js9so2121701pjb.2
 for <xen-devel@lists.xen.org>; Thu, 08 Dec 2022 16:13:58 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 c13-20020a170902c1cd00b001898ee9f723sm31657plc.2.2022.12.08.16.13.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 08 Dec 2022 16:13:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5fe4f160-7756-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=KJwro0Ojinz8n+VhqRodmJ/6fJKHl5xhktqqLHt5/sE=;
        b=w7qojt+COFQBxunOWluOIOrI2TF0VY3fuOqr9gejF4667t8Kui3SF7lJq9TOwMoviE
         Ovrv76THsd4cuJHo/FV7qDORXX9B0xWYsxvPNs5P5Jg147KA7+fu7+F5Aig4W2dtrxYf
         3RYJksjuYMAz9zQOoGAuzGsXzxkcFbJli9a8jDD9dNtTLaXi+gfipHsD3cEWvK10mdvb
         78rfrpjhWjDuMJ/qLAid8bHCDnIck4i6ROlhoVCkIuqCsAtgeubI29ZZONtRGV7ZG6V2
         7Bl+AmsIh+YvZbR6i0+bluYd73RBMk46bQRjduEWZ+YpeQOHLFNS8zZEU11uXu5TKpoz
         Wbow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KJwro0Ojinz8n+VhqRodmJ/6fJKHl5xhktqqLHt5/sE=;
        b=Ss3j8WnCnVCdpTCAymP8q/r323FUXYXGat0OMEp++tHrorVNaI8TP7h3WMH6QL8qo2
         Mcs2XwyUuWArWkZ08DhlO0BE2o7Rs3tPizv3a739ExiX3azFQSwgP8nb3KjmmU7AHuSN
         7c6X0g5Y1Q9+aSdwULDRHfd0UhCFdt8MnFKIO/gR1yqbA82MH7fjEBLLSaPpKQhgtcwq
         odHswnKnGH0/I5q+l9wigT3QdCeR4+7eOjuKEbOSrCPyIYTKIJjaA+jAGwJgm/S0io/a
         P9Ja5cbzU1yTVuXpBlNOuWPl1/K5kej3sDT3lFd7p/g3RbhXKPmMHydwoilvUAgFDGo1
         GRLQ==
X-Gm-Message-State: ANoB5pm8HXes+cUSre6zTGMvEKXsv6OFjgi0TRg85VLHKQjWlZYUzYVO
	ApwYLGWlVPIjwx5mmtQAXy4PZA==
X-Google-Smtp-Source: AA0mqf7BCUx10WZXYz0Do+rUldVC0Acgwv1SleW4Eqy/OYQpxpqHUbRhMfhv91586zQEf7m3KmiRsw==
X-Received: by 2002:a17:902:ba95:b0:185:441f:7091 with SMTP id k21-20020a170902ba9500b00185441f7091mr3499000pls.22.1670544837155;
        Thu, 08 Dec 2022 16:13:57 -0800 (PST)
Date: Fri, 9 Dec 2022 05:43:54 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xen.org, Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH V7 1/3] libxl: Add support for generic virtio device
Message-ID: <20221209001354.ufvavrxvucdvzjks@vireshk-i7>
References: <cover.1670396758.git.viresh.kumar@linaro.org>
 <903506db6c7dadb2a5304e9894950c673e308f41.1670396758.git.viresh.kumar@linaro.org>
 <Y5InlfaQoY18WjZe@perard.uk.xensource.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Y5InlfaQoY18WjZe@perard.uk.xensource.com>

On 08-12-22, 18:06, Anthony PERARD wrote:
> Nit: Something like:
>     const char check[] = "virtio,device";
>     const size_t checkl = sizeof(check) - 1;
>     ... strncmp(tmp, check, checkl)...
>     (or just strncmp(tmp, check, sizeof(check)-1))
> would avoid issue with both string "virtio,device" potentially been
> different.

I think that is a generic problem with all the strings I am using. What about
this diff over current patch ?

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index ab3668b3b8a3..292b31881210 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -981,7 +981,7 @@ static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt)
     res = fdt_begin_node(fdt, "i2c");
     if (res) return res;
 
-    res = fdt_property_compat(gc, fdt, 1, "virtio,device22");
+    res = fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_I2C);
     if (res) return res;
 
     return fdt_end_node(fdt);
@@ -999,7 +999,7 @@ static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt)
     res = fdt_begin_node(fdt, "gpio");
     if (res) return res;
 
-    res = fdt_property_compat(gc, fdt, 1, "virtio,device29");
+    res = fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_GPIO);
     if (res) return res;
 
     res = fdt_property(fdt, "gpio-controller", NULL, 0);
@@ -1021,23 +1021,20 @@ static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt, uint64_t base,
                                         uint32_t irq, const char *type,
                                         uint32_t backend_domid)
 {
-    int res, len = strlen(type);
+    int res;
 
     res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
     if (res) return res;
 
     /* Add device specific nodes */
-    if (!strncmp(type, "virtio,device22", len)) {
+    if (!strcmp(type, VIRTIO_DEVICE_TYPE_I2C)) {
         res = make_virtio_mmio_node_i2c(gc, fdt);
         if (res) return res;
-    } else if (!strncmp(type, "virtio,device29", len)) {
+    } else if (!strcmp(type, VIRTIO_DEVICE_TYPE_GPIO)) {
         res = make_virtio_mmio_node_gpio(gc, fdt);
         if (res) return res;
-    } else if (!strncmp(type, "virtio,device", len)) {
-        /* Generic Virtio Device */
-        res = fdt_end_node(fdt);
-        if (res) return res;
-    } else {
+    } else if (strcmp(type, VIRTIO_DEVICE_TYPE_GENERIC)) {
+        /* Doesn't match generic virtio device */
         LOG(ERROR, "Invalid type for virtio device: %s", type);
         return -EINVAL;
     }
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index cdd155d925c1..a062fca0e2bb 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -166,6 +166,11 @@
 /* Convert pfn to physical address space. */
 #define pfn_to_paddr(x) ((uint64_t)(x) << XC_PAGE_SHIFT)
 
+/* Virtio device types */
+#define VIRTIO_DEVICE_TYPE_GENERIC   "virtio,device"
+#define VIRTIO_DEVICE_TYPE_GPIO      "virtio,device22"
+#define VIRTIO_DEVICE_TYPE_I2C       "virtio,device29"
+
 /* logging */
 _hidden void libxl__logv(libxl_ctx *ctx, xentoollog_level msglevel, int errnoval,
              const char *file /* may be 0 */, int line /* ignored if !file */,
diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virtio.c
index 64cec989c674..183d9c906e27 100644
--- a/tools/libs/light/libxl_virtio.c
+++ b/tools/libs/light/libxl_virtio.c
@@ -62,7 +62,7 @@ static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
                                        libxl_device_virtio *virtio)
 {
     const char *be_path, *tmp = NULL;
-    int rc;
+    int rc, len = sizeof(VIRTIO_DEVICE_TYPE_GENERIC) - 1;
 
     virtio->devid = devid;
 
@@ -97,10 +97,8 @@ static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
     if (rc) goto out;
 
     if (tmp) {
-        if (!strncmp(tmp, "mmio", strlen(tmp))) {
+        if (!strcmp(tmp, "mmio")) {
             virtio->transport = LIBXL_VIRTIO_TRANSPORT_MMIO;
-        } else if (!strncmp(tmp, "unknown", strlen(tmp))) {
-            virtio->transport = LIBXL_VIRTIO_TRANSPORT_UNKNOWN;
         } else {
             return ERROR_INVAL;
         }
@@ -112,8 +110,8 @@ static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
     if (rc) goto out;
 
     if (tmp) {
-        if (!strncmp(tmp, "virtio,device", strlen("virtio,device"))) {
-            virtio->type = strdup(tmp);
+        if (!strncmp(tmp, VIRTIO_DEVICE_TYPE_GENERIC, len)) {
+            virtio->type = libxl__strdup(NOGC, tmp);
         } else {
             return ERROR_INVAL;
         }

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 00:41:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 00:41:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457511.715435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3RSU-00078n-4l; Fri, 09 Dec 2022 00:41:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457511.715435; Fri, 09 Dec 2022 00:41:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3RSU-00078g-1O; Fri, 09 Dec 2022 00:41:46 +0000
Received: by outflank-mailman (input) for mailman id 457511;
 Fri, 09 Dec 2022 00:41:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AAZn=4H=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p3RST-00078a-07
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 00:41:45 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40580e27-775a-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 01:41:43 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 44AFD620B8;
 Fri,  9 Dec 2022 00:41:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EEE7AC433EF;
 Fri,  9 Dec 2022 00:41:40 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 40580e27-775a-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670546501;
	bh=UalrQTlD0FA6AK7t2SGUWE8haxP/419RHD7N/pGGdvg=;
	h=Date:From:To:cc:Subject:From;
	b=p1DMQKJUcWT7bZvPV2mt8bZ+ToT0+U8daAIUO/YcNZeuSFweC78sD32qMmGU5OI+s
	 fC0bj8vwyb32jeNS+0CJvHNrf3rOskw2HTS1tfZyPDfWd3inpI9e1jw5tiaF6PMriN
	 Nhx+gyFuQUXg11F5xzjqycNjghNmA2k5QvItps/tlVkgkaJ13rzZS6Uq2g4+KB0m69
	 RTTpY1Cug/h3LV/FCDZy/COfzpTXT1kq7miq8vijnPjOXVFZ+MoxPur44l7eKoFxfa
	 wfaBwX10Ou4et59iYMwQWlo2ek1OtrZ5W2irfyxbwZWZOlyxbJTnhYejJRR3au3Q4N
	 ykQ+Vr/KffiTg==
Date: Thu, 8 Dec 2022 16:41:33 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: julien@xen.org, bertrand.marquis@arm.com
cc: sstabellini@kernel.org, Volodymyr_Babchuk@epam.com, 
    xen-devel@lists.xenproject.org
Subject: [PATCH] xen/arm: efi-boot misra rule 4.1 fix
Message-ID: <alpine.DEB.2.22.394.2212081538310.2965472@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

We have 3 violations of MISRA C Rule 4.1 ("Octal and hexadecimal escape
sequences shall be terminated") in xen/arch/arm/efi/efi-boot.h. Fix
them.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 43a836c3a7..822c0a1462 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -542,7 +542,7 @@ static void __init efi_arch_handle_module(const struct file *file,
 
     if ( file == &ramdisk )
     {
-        char ramdisk_compat[] = "multiboot,ramdisk\0multiboot,module";
+        char ramdisk_compat[] = "multiboot,ramdisk\0" "multiboot,module";
         node = fdt_add_subnode(fdt, chosen, "ramdisk");
         if ( node < 0 )
             blexit(L"Unable to add ramdisk FDT node.");
@@ -555,7 +555,7 @@ static void __init efi_arch_handle_module(const struct file *file,
     }
     else if ( file == &xsm )
     {
-        char xsm_compat[] = "xen,xsm-policy\0multiboot,module";
+        char xsm_compat[] = "xen,xsm-policy\0" "multiboot,module";
         node = fdt_add_subnode(fdt, chosen, "xsm");
         if ( node < 0 )
             blexit(L"Unable to add xsm FDT node.");
@@ -568,7 +568,7 @@ static void __init efi_arch_handle_module(const struct file *file,
     }
     else if ( file == &kernel )
     {
-        char kernel_compat[] = "multiboot,kernel\0multiboot,module";
+        char kernel_compat[] = "multiboot,kernel\0" "multiboot,module";
         node = fdt_add_subnode(fdt, chosen, "kernel");
         if ( node < 0 )
             blexit(L"Unable to add dom0 FDT node.");


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 00:45:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 00:45:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457519.715449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3RVy-0007lX-Lm; Fri, 09 Dec 2022 00:45:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457519.715449; Fri, 09 Dec 2022 00:45:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3RVy-0007lP-Iw; Fri, 09 Dec 2022 00:45:22 +0000
Received: by outflank-mailman (input) for mailman id 457519;
 Fri, 09 Dec 2022 00:45:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AAZn=4H=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p3RVw-0007lE-RO
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 00:45:20 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c1501768-775a-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 01:45:19 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 244CBB825BC;
 Fri,  9 Dec 2022 00:45:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 923EDC433D2;
 Fri,  9 Dec 2022 00:45:16 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1501768-775a-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670546717;
	bh=q+GeIset5aT1DhBkSlhTiYZWDxqz6Aije4SiRiGG0h8=;
	h=Date:From:To:cc:Subject:From;
	b=VEB9qBFOwHikdl1Wdm/vUJRgx4JBdyYJuGfTk4fm4idPJK4WUEypxC0h8LpDxw7t1
	 CMcaw5gIRP0BYLnxVv3nktbPkekLxyzQU6qqtpP75Ur/7Hw6JiWgmwt7Ykcc3YmK6B
	 JKWtARgDOtStWc1JU7RcO+EmDHlVKc0o6U6qEMjd1HKl+v5J+PPgBn6ryHdllu5LAK
	 tNfyf2o+k5Ak1bfdflkRINbpEEvjBNNMhUCi/tww/HdCc38ggN/FBO5WU/BOd7FOEm
	 5DAHZUUKhqtQDIRW5pd4I4c0ZrbOByKq75hkYSNx4jClsUY0t+3KEXUYw37viz0XEI
	 rUbr3t0BM4Idw==
Date: Thu, 8 Dec 2022 16:45:15 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: jbeulich@suse.com, roberto.bagnara@bugseng.com
cc: sstabellini@kernel.org, xen-devel@lists.xenproject.org, 
    andrew.cooper3@citrix.com, george.dunlap@citrix.com, julien@xen.org, 
    roger.pau@citrix.com, burzalodowa@gmail.com, michal.orzel@amd.com
Subject: MISRA C Rule 20.7 disambiguation
Message-ID: <alpine.DEB.2.22.394.2212081619310.3075842@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

This patch is to start a discussion in regard to rule 20.7 and its
interpretation. During the last MISRA C call we discussed that "our"
interpretation of the rule means that the following two cases don't need
extra parenthesis:

#define M(a, b) func(a, b)
#define M(a, b) (a) = b


Moreover, MISRA C states that parenthesis should be added when the
expansion of a MACRO parameters would result in an *expression*.

Expression is the important word. Looking at this *compliant* example
from the manual:

#define GET_MEMBER( S, M ) ( S ).M

It is compliant because S results in an expression so it needs
parenthesis, while M does not, so it doesn't need parenthesis.

My understanding is the following:
- is it possible to pass an expression as a parameter of the MACRO?
    - if yes -> need parenthesis
    - if no  -> doesn't need parenthesis


As an example, cppcheck reports the following (from xmalloc.h) as
violation:

#define xmalloc_array(_type, _num) \
    ((_type *)_xmalloc_array(sizeof(_type), __alignof__(_type), _num))

I think this is a false positive. We have already enstablished that the
"," operator doesn't require parenthesis, so "_num" is not the problem.
And there is no way that adding parenthesis to "type" would allow an
expression to be passed as the type argument.


Let's take another example:

#define xzalloc_flex_struct(type, field, nr) \
    ((type *)_xzalloc(offsetof(type, field[nr]), __alignof__(type)))

"type" is the same as last time. There are 2 other interesting macro
parameters here: nr and field.

nr could result in an expression, but I don't think it needs
parenthesis because it is between []? However, we know we have a clear
exception for the "," operator. We don't have a clear exception for the
[] operator. Do we need (nr)?

field could result in an expression, so I think it needs parenthesis.

Just to be clear, I'll list all the possible options below.

a) no changes needed, xzalloc_flex_struct is good as is
b) only "field" needs parenthesis
c) only "nr" needs parenthesis
d) both "field" and "nr" need parenthesis

Option d) would look like this:

#define xzalloc_flex_struct(type, field, nr) \
    ((type *)_xzalloc(offsetof(type, (field)[(nr)]), __alignof__(type)))

What do you guys think?

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 00:53:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 00:53:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457528.715460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3RdK-00014f-Dc; Fri, 09 Dec 2022 00:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457528.715460; Fri, 09 Dec 2022 00:52:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3RdK-00014Y-Aw; Fri, 09 Dec 2022 00:52:58 +0000
Received: by outflank-mailman (input) for mailman id 457528;
 Fri, 09 Dec 2022 00:52:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iKBv=4H=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p3RdJ-00014S-3B
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 00:52:57 +0000
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com
 [66.111.4.28]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cee85e35-775b-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 01:52:54 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 3AF575C00EA;
 Thu,  8 Dec 2022 19:52:51 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Thu, 08 Dec 2022 19:52:51 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 8 Dec 2022 19:52:50 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cee85e35-775b-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:message-id:mime-version:reply-to
	:sender:subject:subject:to:to; s=fm1; t=1670547171; x=
	1670633571; bh=b+mQQGjkJqOEa18OhOwv9drfN9NGE48HmIku6h2VZUE=; b=G
	MXouadP7+jx9fRs3IONc/k7bwRpY3VDDQAyVBUwRs+v/l+DWlRqWhQ0CRLJLjoUW
	qNl5KY31mVS23JmS3QyO8HBv6X2oiMz/vVVEhPNNWSwBPcHLnUFmEaop4TwQfR2i
	QP1oWCpcPujbyY7Xeyowc+Unk3ELdHAphqItnhMYvyzFUfOerDY911mZic2KzBNc
	B/UVvyhU47BGnDYMIuRive+KR68h0+6EFPzbg9g+TZEdOKQpK8BzZli+diCphiHj
	MVD+RmriQry7uD6A3CXUwGvVTHbQ30+oYLd3W1qsVmzlpxMM4F4HHVp/3KmIB3jB
	utYxeiak3Nwtx8gDJ+30w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1670547171; x=1670633571; bh=b+mQQGjkJqOEa18OhOwv9drfN9NGE48HmIk
	u6h2VZUE=; b=mRG7Xvbm1GEZQjji6B8zhdbzDgBLU8O6Z9f6cA07gPYodOEorem
	tYwiGtwTfz90x2C0TqprP7Y+isGyDAODjDIIKF3L3nKFo6Tlsymg00cLfFNHHsLz
	nHxA1GIVPLbnHCNwwVqGFXoUKEZabWkLka+yOiJVn+WnGQR0suDw2J73o9KFa7p0
	P2P43GjrY4hpMUkz70FACew3Rl5pwLj2Nz1XLxSGhIY2n/02RMXcVatg6sgcDu5l
	XVEzul4kt64snSQhSbCnEn0lC94wBt13/cMfMJ2mePDw6l5sBL6PfShqqBtbl5xz
	Z39b4YIGWS3CAj1pkS3GLWZuPGGo/55tHGg==
X-ME-Sender: <xms:4oaSYwawQVIEgweRYgqX8J0t4o43Z3QG1mT_4kb-Eew7dk0mOtN8Xw>
    <xme:4oaSY7Zym8tvjLS-ACxtePTMCe4aKdJ0jbayOrrBfuxyiBh-ZuhtTb5cTG_o8yaPT
    yX5RG-mKyfa4y8>
X-ME-Received: <xmr:4oaSY6-zZ-XU_GgmWc5sNDH92s0A36lgtNSdanjCq35WgDqLjx0DGBCVfoW7ZChJj9yXmBHwN979>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddugddvkecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffoggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcuofgr
    rhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgshhlrg
    gsrdgtohhmqeenucggtffrrghtthgvrhhnpedvfeegkedvkefgffegkefhieejtdffkeeh
    hfelheefjeeutefgleeggfdtveeileenucevlhhushhtvghrufhiiigvpedtnecurfgrrh
    grmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhlrggs
    rdgtohhm
X-ME-Proxy: <xmx:4oaSY6onzoSCBNaUhcDiFlJ1MoYbgOw30MDUCvIny5A0Kwq5wJVIHg>
    <xmx:4oaSY7pjZfw5EWsnUOBmpc_qvix2VU2BRh4XrfXCbwAGf9kCn-rVGA>
    <xmx:4oaSY4QuI0sfX0Frn2gXJ3PPVsJeAhgdo5Rw2IiY-tjZO-3d92HERg>
    <xmx:44aSY8kDIpmpUhRmfnNwaEwcqfpC1yuP1KYmlSEmAh4ouLQQHkKl_w>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH] Relocate the ESRT when booting via multiboot2
Date: Thu,  8 Dec 2022 19:52:46 -0500
Message-Id: <74145e57307e9b35cbdc296b22241e6f36405f6a.1670546744.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This was missed in the initial patchset.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
I consider this to be a bug fix, and would prefer this to be included in
the 4.17 release series, even though I understand if this is too late
for 4.17 itself.

 xen/arch/x86/efi/efi-boot.h |   2 +
 xen/common/efi/boot.c       | 134 ++++++++++++++++++------------------
 2 files changed, 69 insertions(+), 67 deletions(-)

diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 51967f6c3d5cd06b6b50bac06c1b8762cd0f7856..20a42a66dd2b93f3cd2be0230a372767a8763ed5 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -818,6 +818,8 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable
     if ( gop )
         efi_set_gop_mode(gop, gop_mode);
 
+    efi_relocate_esrt(SystemTable);
+
     efi_exit_boot(ImageHandle, SystemTable);
 }
 
diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index 7a97c64884bf55a012cfb8bd7ad56ddfc1e43e66..93939ca61d28717d29aaa0289262c55558dfe944 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -622,6 +622,73 @@ static size_t __init get_esrt_size(const EFI_MEMORY_DESCRIPTOR *desc)
     return esrt_ptr->FwResourceCount * sizeof(esrt_ptr->Entries[0]);
 }
 
+static EFI_GUID __initdata esrt_guid = EFI_SYSTEM_RESOURCE_TABLE_GUID;
+
+static void __init efi_relocate_esrt(EFI_SYSTEM_TABLE *SystemTable)
+{
+    EFI_STATUS status;
+    UINTN info_size = 0, map_key, mdesc_size;
+    void *memory_map = NULL;
+    UINT32 ver;
+    unsigned int i;
+
+    for ( ; ; )
+    {
+        status = efi_bs->GetMemoryMap(&info_size, memory_map, &map_key,
+                                      &mdesc_size, &ver);
+        if ( status == EFI_SUCCESS && memory_map != NULL )
+            break;
+        if ( status == EFI_BUFFER_TOO_SMALL || memory_map == NULL )
+        {
+            info_size += 8 * mdesc_size;
+            if ( memory_map != NULL )
+                efi_bs->FreePool(memory_map);
+            memory_map = NULL;
+            status = efi_bs->AllocatePool(EfiLoaderData, info_size, &memory_map);
+            if ( status == EFI_SUCCESS )
+                continue;
+            PrintErr(L"Cannot allocate memory to relocate ESRT\r\n");
+        }
+        else
+            PrintErr(L"Cannot obtain memory map to relocate ESRT\r\n");
+        return;
+    }
+
+    /* Try to obtain the ESRT.  Errors are not fatal. */
+    for ( i = 0; i < info_size; i += mdesc_size )
+    {
+        /*
+         * ESRT needs to be moved to memory of type EfiRuntimeServicesData
+         * so that the memory it is in will not be used for other purposes.
+         */
+        void *new_esrt = NULL;
+        size_t esrt_size = get_esrt_size(memory_map + i);
+
+        if ( !esrt_size )
+            continue;
+        if ( ((EFI_MEMORY_DESCRIPTOR *)(memory_map + i))->Type ==
+             EfiRuntimeServicesData )
+            break; /* ESRT already safe from reuse */
+        status = efi_bs->AllocatePool(EfiRuntimeServicesData, esrt_size,
+                                      &new_esrt);
+        if ( status == EFI_SUCCESS && new_esrt )
+        {
+            memcpy(new_esrt, (void *)esrt, esrt_size);
+            status = efi_bs->InstallConfigurationTable(&esrt_guid, new_esrt);
+            if ( status != EFI_SUCCESS )
+            {
+                PrintErr(L"Cannot install new ESRT\r\n");
+                efi_bs->FreePool(new_esrt);
+            }
+        }
+        else
+            PrintErr(L"Cannot allocate memory for ESRT\r\n");
+        break;
+    }
+
+    efi_bs->FreePool(memory_map);
+}
+
 /*
  * Include architecture specific implementation here, which references the
  * static globals defined above.
@@ -900,8 +967,6 @@ static UINTN __init efi_find_gop_mode(EFI_GRAPHICS_OUTPUT_PROTOCOL *gop,
     return gop_mode;
 }
 
-static EFI_GUID __initdata esrt_guid = EFI_SYSTEM_RESOURCE_TABLE_GUID;
-
 static void __init efi_tables(void)
 {
     unsigned int i;
@@ -1110,71 +1175,6 @@ static void __init efi_set_gop_mode(EFI_GRAPHICS_OUTPUT_PROTOCOL *gop, UINTN gop
 #define INVALID_VIRTUAL_ADDRESS (0xBAAADUL << \
                                  (EFI_PAGE_SHIFT + BITS_PER_LONG - 32))
 
-static void __init efi_relocate_esrt(EFI_SYSTEM_TABLE *SystemTable)
-{
-    EFI_STATUS status;
-    UINTN info_size = 0, map_key, mdesc_size;
-    void *memory_map = NULL;
-    UINT32 ver;
-    unsigned int i;
-
-    for ( ; ; )
-    {
-        status = efi_bs->GetMemoryMap(&info_size, memory_map, &map_key,
-                                      &mdesc_size, &ver);
-        if ( status == EFI_SUCCESS && memory_map != NULL )
-            break;
-        if ( status == EFI_BUFFER_TOO_SMALL || memory_map == NULL )
-        {
-            info_size += 8 * mdesc_size;
-            if ( memory_map != NULL )
-                efi_bs->FreePool(memory_map);
-            memory_map = NULL;
-            status = efi_bs->AllocatePool(EfiLoaderData, info_size, &memory_map);
-            if ( status == EFI_SUCCESS )
-                continue;
-            PrintErr(L"Cannot allocate memory to relocate ESRT\r\n");
-        }
-        else
-            PrintErr(L"Cannot obtain memory map to relocate ESRT\r\n");
-        return;
-    }
-
-    /* Try to obtain the ESRT.  Errors are not fatal. */
-    for ( i = 0; i < info_size; i += mdesc_size )
-    {
-        /*
-         * ESRT needs to be moved to memory of type EfiRuntimeServicesData
-         * so that the memory it is in will not be used for other purposes.
-         */
-        void *new_esrt = NULL;
-        size_t esrt_size = get_esrt_size(memory_map + i);
-
-        if ( !esrt_size )
-            continue;
-        if ( ((EFI_MEMORY_DESCRIPTOR *)(memory_map + i))->Type ==
-             EfiRuntimeServicesData )
-            break; /* ESRT already safe from reuse */
-        status = efi_bs->AllocatePool(EfiRuntimeServicesData, esrt_size,
-                                      &new_esrt);
-        if ( status == EFI_SUCCESS && new_esrt )
-        {
-            memcpy(new_esrt, (void *)esrt, esrt_size);
-            status = efi_bs->InstallConfigurationTable(&esrt_guid, new_esrt);
-            if ( status != EFI_SUCCESS )
-            {
-                PrintErr(L"Cannot install new ESRT\r\n");
-                efi_bs->FreePool(new_esrt);
-            }
-        }
-        else
-            PrintErr(L"Cannot allocate memory for ESRT\r\n");
-        break;
-    }
-
-    efi_bs->FreePool(memory_map);
-}
-
 static void __init efi_exit_boot(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable)
 {
     EFI_STATUS status;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 01:16:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 01:16:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457537.715471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Rzw-0002On-8C; Fri, 09 Dec 2022 01:16:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457537.715471; Fri, 09 Dec 2022 01:16:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Rzw-0002Og-5a; Fri, 09 Dec 2022 01:16:20 +0000
Received: by outflank-mailman (input) for mailman id 457537;
 Fri, 09 Dec 2022 01:16:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Rzu-0002OW-SK; Fri, 09 Dec 2022 01:16:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Rzu-0000X0-QB; Fri, 09 Dec 2022 01:16:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Rzu-0003bz-Ih; Fri, 09 Dec 2022 01:16:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Rzu-0003jc-IG; Fri, 09 Dec 2022 01:16:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GAGVpiqLTCmtomc0Omnq4o0hPlkMOS/Qs2cVdj/kn6Y=; b=nPj/n84CF2kDB6bT7QXtMrqp3n
	atCqoH4JXhr+hiMl/SM51YGKqBPB2ZlflRqMfIi6E0crRyIE16e/9HInB3c/ib47G7z7ErEoOLSSI
	wi2oLiIdm02+qTbkxNQWISXFgQ/warnujPDQTOEt4dzWyTT0g+nVSdXys0snW7yxaQC0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175102-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175102: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=d7669c101427c1504517418e832fb760ae89e6bc
X-Osstest-Versions-That:
    xen=db92cb450dd7ad5eb103819d26b737cdc054ce4a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 09 Dec 2022 01:16:18 +0000

flight 175102 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175102/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  d7669c101427c1504517418e832fb760ae89e6bc
baseline version:
 xen                  db92cb450dd7ad5eb103819d26b737cdc054ce4a

Last test of basis   175095  2022-12-08 18:00:30 Z    0 days
Testing same since   175102  2022-12-08 22:02:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   db92cb450d..d7669c1014  d7669c101427c1504517418e832fb760ae89e6bc -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 01:36:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 01:36:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457547.715482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3SIr-0005M5-VN; Fri, 09 Dec 2022 01:35:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457547.715482; Fri, 09 Dec 2022 01:35:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3SIr-0005Lx-Ps; Fri, 09 Dec 2022 01:35:53 +0000
Received: by outflank-mailman (input) for mailman id 457547;
 Fri, 09 Dec 2022 01:35:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3SIq-0005Ln-Fp; Fri, 09 Dec 2022 01:35:52 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3SIq-0000rR-CU; Fri, 09 Dec 2022 01:35:52 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3SIp-0005FQ-Rv; Fri, 09 Dec 2022 01:35:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3SIp-0001Z6-Ph; Fri, 09 Dec 2022 01:35:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3sr7vne35v8vjzAJdsitC36xjUEot34fAihQMCvcSyo=; b=r4BHrX2UEcFD39WMSXWkddQky1
	oD/XirdGWATn1fwqqWYflbRO41Bm/z4p1AHNCEvGo2uZPOcSGVfBtv2pberVWE5/GUoDd6WyUzX5/
	YAv79WFMZyn4tggBrN1521QnoLlyOH6BtGn3EHcWWQg+K/MGqbXpG263hHIx/uRMViPA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175092-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175092: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:regression
    linux-5.4:test-armhf-armhf-xl:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:allowable
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=316cdfc48d4db2c425370ef8575dd7d81283515d
X-Osstest-Versions-That:
    linux=4d2a309b5c28a2edc0900542d22fec3a5a22243b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 09 Dec 2022 01:35:51 +0000

flight 175092 linux-5.4 real [real]
flight 175103 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175092/
http://logs.test-lab.xenproject.org/osstest/logs/175103/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail REGR. vs. 174962

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl    18 guest-start/debian.repeat fail pass in 175103-retest
 test-armhf-armhf-xl-vhd      13 guest-start         fail pass in 175103-retest
 test-armhf-armhf-xl-credit2  14 guest-start         fail pass in 175103-retest

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds     14 guest-start              fail REGR. vs. 174962

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 175103 like 174962
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 175103 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 175103 never pass
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 175103 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 175103 never pass
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 174962
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 174962
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 174962
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 174962
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 174962
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 174962
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 174962
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 174962
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 174962
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 174962
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 174962
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 174962
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 174962
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                316cdfc48d4db2c425370ef8575dd7d81283515d
baseline version:
 linux                4d2a309b5c28a2edc0900542d22fec3a5a22243b

Last test of basis   174962  2022-11-25 17:13:53 Z   13 days
Testing same since   175092  2022-12-08 10:44:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adrian Hunter <adrian.hunter@intel.com>
  Al Viro <viro@zeniv.linux.org.uk>
  Alejandro Concepcion-Rodriguez <asconcepcion@acoro.eu>
  Alejandro Concepción Rodríguez <asconcepcion@acoro.eu>
  Alessandro Astone <ales.astone@gmail.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexandre Belloni <alexandre.belloni@bootlin.com>
  Allen Pais <apais@linux.microsoft.com>
  Aman Dhoot <amandhoot12@gmail.com>
  Anand Jain <anand.jain@oracle.com>
  Andreas Kemnade <andreas@kemnade.info>
  Andrew Davis <afd@ti.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Andrzej Hajda <andrzej.hajda@intel.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Bjørn Mork <bjorn@mork.no>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Brian Norris <briannorris@chromium.org>
  Carlos Llamas <cmllamas@google.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chen Zhongjin <chenzhongjin@huawei.com>
  ChenXiaoSong <chenxiaosong2@huawei.com>
  Christian Brauner <christian.brauner@ubuntu.com>
  Christian König <christian.koenig@amd.com>
  Christian Loehle <cloehle@hyperstone.com>
  Christian Löhle <CLoehle@hyperstone.com>
  Christoph Hellwig <hch@lst.de>
  Claudio Suarez <cssk@net-c.es>
  Claudiu Beznea <claudiu.beznea@microchip.com>
  Conor Dooley <conor.dooley@microchip.com>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Ahern <dsahern@kernel.org>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Detlev Casanova <detlev.casanova@collabora.com>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominik Haller <d.haller@phytec.de>
  Dominique Martinet <asmadeus@codewreck.org>
  Duoming Zhou <duoming@zju.edu.cn>
  Enrico Sau <enrico.sau@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Fabio Estevam <festevam@gmail.com>
  Felix Kuehling <Felix.Kuehling@amd.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Frieder Schrempf <frieder.schrempf@kontron.de>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  Gleb Mazovetskiy <glex.spb@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guantao Liu <guantaol@google.com>
  Guenter Roeck <linux@roeck-us.net>
  Haibo Chen <haibo.chen@nxp.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil@xs4all.nl>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hugh Dickins <hughd@google.com>
  Hulk Robot <hulkrobot@huawei.com>
  Ido Schimmel <idosch@nvidia.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jaco Coetzee <jaco.coetzee@corigine.com>
  Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
  Jakub Kicinski <kuba@kernel.org>
  James Morse <james.morse@arm.com>
  Jan Dabros <jsd@semihalf.com>
  Jann Horn <jannh@google.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jernej Skrabec <jernej.skrabec@gmail.com>
  Jerry Ray <jerry.ray@microchip.com>
  Joanne Koong <joannelkoong@gmail.com>
  Joerg Roedel <jroedel@suse.de>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jon Maloy <jmaloy@redhat.com>
  Jonas Gorski <jonas.gorski@gmail.com>
  Jonas Jelonek <jelonek.jonas@gmail.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Juergen Gross <jgross@suse.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Keith Busch <kbusch@kernel.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lars-Peter Clausen <lars@metafoo.de>
  Lee Jones <lee@kernel.org>
  Leon Romanovsky <leonro@nvidia.com>
  Lin Ma <linma@zju.edu.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luben Tuikov <luben.tuikov@amd.com>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Lukas Wunner <lukas@wunner.de>
  Lyude Paul <lyude@redhat.com>
  Marc Dionne <marc.dionne@auristor.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Mark Brown <broonie@kernel.org>
  Martin Faltesek <mfaltesek@google.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Masahiro Yamada <yamada.masahiro@socionext.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Matt Ranostay <matt.ranostay@konsulko.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Maxim Korotkov <korotkov.maxim.s@gmail.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michael Kelley <mikelley@microsoft.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Snitzer <snitzer@kernel.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Mitja Spes <mitja@lxnav.com>
  Moshe Shemesh <moshe@nvidia.com>
  Mukesh Ojha <quic_mojha@quicinc.com>
  Nathan Chancellor <nathan@kernel.org>
  Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
  Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
  Nikolay Aleksandrov <razor@blackwall.org>
  Nikolay Borisov <nborisov@suse.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Patrick Rudolph <patrick.rudolph@9elements.com>
  Paul Gazzillo <paul@pgazz.com>
  Paul Moore <paul@paul-moore.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Peter Kosyh <pkosyh@yandex.ru>
  Peter Oberparleiter <oberpar@linux.ibm.com>
  Peter Zijlstra <peterz@infradead.org>
  Phil Auld <pauld@redhat.com>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Quentin Schulz <quentin.schulz@theobroma-systems.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Randy Dunlap <rdunlap@infradead.org> # build-tested
  Rishabh Bhatnagar <risbhat@amazon.com>
  Rob Herring <robh@kernel.org>
  Roi Dayan <roid@nvidia.com>
  Roman Penyaev <rpenyaev@suse.de>
  ruanjinjie <ruanjinjie@huawei.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Samuel Holland <samuel@sholland.org>
  Sasha Levin <sashal@kernel.org>
  Sean Nyekjaer <sean@geanix.com>
  Sebastian Falbesoner <sebastian.falbesoner@gmail.com>
  Sergey Senozhatsky <senozhatsky@chromium.org>
  Shawn Guo <shawnguo@kernel.org>
  Shigeru Yoshida <syoshida@redhat.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Simon Ser <contact@emersion.fr>
  Soheil Hassas Yeganeh <soheil@google.com>
  Srikar Dronamraju <srikar@linux.vnet.ibm.com>
  Stefan Haberland <sth@linux.ibm.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  taozhang <taozhang@bestechnic.com>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Gleixner <tglx@linutronix.de>
  Tiezhu Yang <yangtiezhu@loongson.cn>
  Todd Kjos <tkjos@google.com>
  Tony Lindgren <tony@atomide.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vlastimil Babka <vbabka@suse.cz>
  Wang Hai <wanghai38@huawei.com>
  Wei Liu <wei.liu@kernel.org>
  Wei Yongjun <weiyongjun1@huawei.com>
  Wenchao Chen <wenchao.chen@unisoc.com>
  Willem de Bruijn <willemb@google.com>
  Xin Long <lucien.xin@gmail.com>
  Xiongfeng Wang <wangxiongfeng2@huawei.com>
  Xiubo Li <xiubli@redhat.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Ye Bin <yebin10@huawei.com>
  Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
  Yu Kuai <yukuai3@huawei.com>
  Yu Liao <liaoyu15@huawei.com>
  Yuan Can <yuancan@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Yuri Karpov <YKarpov@ispras.ru>
  Zeng Heng <zengheng4@huawei.com>
  Zhang Changzhong <zhangchangzhong@huawei.com>
  ZhangPeng <zhangpeng362@huawei.com>
  Zhen Lei <thunder.leizhen@huawei.com>
  Zheng Yongjun <zhengyongjun3@huawei.com>
  Zhengchao Shao <shaozhengchao@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 4985 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 03:41:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 03:41:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457576.715519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3UFt-0005El-6a; Fri, 09 Dec 2022 03:40:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457576.715519; Fri, 09 Dec 2022 03:40:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3UFt-0005Ee-40; Fri, 09 Dec 2022 03:40:57 +0000
Received: by outflank-mailman (input) for mailman id 457576;
 Fri, 09 Dec 2022 03:40:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9kuX=4H=linux.alibaba.com=jiapeng.chong@srs-se1.protection.inumbo.net>)
 id 1p3UFr-0005EY-88
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 03:40:55 +0000
Received: from out30-45.freemail.mail.aliyun.com
 (out30-45.freemail.mail.aliyun.com [115.124.30.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 45a50d90-7773-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 04:40:52 +0100 (CET)
Received: from localhost(mailfrom:jiapeng.chong@linux.alibaba.com
 fp:SMTPD_---0VWspzh3_1670557238) by smtp.aliyun-inc.com;
 Fri, 09 Dec 2022 11:40:44 +0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45a50d90-7773-11ed-91b6-6bf2151ebd3b
X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R861e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018046060;MF=jiapeng.chong@linux.alibaba.com;NM=0;PH=DS;RN=16;SR=0;TI=SMTPD_---0VWspzh3_1670557238;
From: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
To: wei.liu@kernel.org
Cc: paul@xen.org,
	davem@davemloft.net,
	edumazet@google.com,
	kuba@kernel.org,
	pabeni@redhat.com,
	ast@kernel.org,
	daniel@iogearbox.net,
	hawk@kernel.org,
	john.fastabend@gmail.com,
	xen-devel@lists.xenproject.org,
	netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	bpf@vger.kernel.org,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Abaci Robot <abaci@linux.alibaba.com>
Subject: [PATCH] xen-netback: Remove set but unused variable 'pending_idx'
Date: Fri,  9 Dec 2022 11:40:36 +0800
Message-Id: <20221209034036.37280-1-jiapeng.chong@linux.alibaba.com>
X-Mailer: git-send-email 2.20.1.7.g153144c
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Variable pending_idx is not effectively used in the function, so delete
it.

drivers/net/xen-netback/netback.c:886:7: warning: variable ‘pending_idx’ set but not used.

Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=3399
Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
---
 drivers/net/xen-netback/netback.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 054ac0e897f6..19d928389473 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -883,7 +883,6 @@ static void xenvif_tx_build_gops(struct xenvif_queue *queue,
 		struct xen_netif_tx_request txfrags[XEN_NETBK_LEGACY_SLOTS_MAX];
 		struct xen_netif_extra_info extras[XEN_NETIF_EXTRA_TYPE_MAX-1];
 		unsigned int extra_count;
-		u16 pending_idx;
 		RING_IDX idx;
 		int work_to_do;
 		unsigned int data_len;
@@ -984,7 +983,6 @@ static void xenvif_tx_build_gops(struct xenvif_queue *queue,
 		}
 
 		index = pending_index(queue->pending_cons);
-		pending_idx = queue->pending_ring[index];
 
 		if (ret >= XEN_NETBK_LEGACY_SLOTS_MAX - 1 && data_len < txreq.size)
 			data_len = txreq.size;
-- 
2.20.1.7.g153144c



From xen-devel-bounces@lists.xenproject.org Fri Dec 09 03:47:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 03:47:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457585.715531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3UM4-0005sj-Sm; Fri, 09 Dec 2022 03:47:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457585.715531; Fri, 09 Dec 2022 03:47:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3UM4-0005sc-Q0; Fri, 09 Dec 2022 03:47:20 +0000
Received: by outflank-mailman (input) for mailman id 457585;
 Fri, 09 Dec 2022 03:47:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3UM3-0005sS-7p; Fri, 09 Dec 2022 03:47:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3UM3-0004Jj-2s; Fri, 09 Dec 2022 03:47:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3UM2-0005DZ-R2; Fri, 09 Dec 2022 03:47:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3UM2-0005fI-Qb; Fri, 09 Dec 2022 03:47:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZTt12kGUGhIdevsFM7xdbo2wWTUpxsBCuodjp4ddG/0=; b=s8PuXQfEieGV/xP75d4Lg1OmF5
	lcn/Rz1R5XDHEd4cnxmxHNbgymNW/DHwREKKhnASV+n3r4i1GEf2Hkbgsqwnl0I/GqfRhiGwkgGmL
	Ku2X8kwsOCLG2NHakX6LIuxdmzJ03nYeorkQiPhYwAgkMPTlpvvUaVgR95b25rG7UNDA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175101-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175101: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=54d81d06fc165fcb8eb832acd6a7cf644b029549
X-Osstest-Versions-That:
    ovmf=8a485e4bb8b5c5a800d6b3e1b8fa80fe27afb274
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 09 Dec 2022 03:47:18 +0000

flight 175101 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175101/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 54d81d06fc165fcb8eb832acd6a7cf644b029549
baseline version:
 ovmf                 8a485e4bb8b5c5a800d6b3e1b8fa80fe27afb274

Last test of basis   175093  2022-12-08 16:12:26 Z    0 days
Testing same since   175101  2022-12-08 21:43:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   8a485e4bb8..54d81d06fc  54d81d06fc165fcb8eb832acd6a7cf644b029549 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 04:54:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 04:54:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457598.715551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3VPE-0006wP-Q5; Fri, 09 Dec 2022 04:54:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457598.715551; Fri, 09 Dec 2022 04:54:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3VPE-0006wI-NH; Fri, 09 Dec 2022 04:54:40 +0000
Received: by outflank-mailman (input) for mailman id 457598;
 Fri, 09 Dec 2022 04:54:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=q9WF=4H=kernel.org=saeed@srs-se1.protection.inumbo.net>)
 id 1p3VPE-0006wC-6y
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 04:54:40 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 946cf3d2-777d-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 05:54:38 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id 7EC3ECE2898;
 Fri,  9 Dec 2022 04:54:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8C4DDC433D2;
 Fri,  9 Dec 2022 04:54:33 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 946cf3d2-777d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670561673;
	bh=rSB5y5gfDM3Ow36b0u0/C60y2e6oDZ7NLUrrP88Fvw8=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=kpi3f9V9c4bdztR9nKSHWOL7zKOIZAXYwTHtMpKKT9o3KR5YV5pYfEzxZ1bRPWZiW
	 xG78z0gPVMFgG++Kxgi1Ic7IbwUHNPufvT88q+LIS/fiF4tQi+Mn3HEGsLR7XQxJj6
	 edvJXJNDzp6fmSWq3dRUk/yHn9RBvPdqO1b3V4B5E7AqN/TGfGodFWR5wnZDTkdsen
	 SXJefYARubHiyglRodLXiqJNo0MACwaBFAxYzh1oE0kCNifGP0qtNwQM9fVFFD1puR
	 3mttmyLek4N8hrvlRrgkAGDWO0EPcWZx+09tXEBNDCHEv1TO+gYCm6a5V3M6Drngir
	 EseWRJJroxj7A==
Date: Thu, 8 Dec 2022 20:54:32 -0800
From: Saeed Mahameed <saeed@kernel.org>
To: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
Cc: wei.liu@kernel.org, paul@xen.org, davem@davemloft.net,
	edumazet@google.com, kuba@kernel.org, pabeni@redhat.com,
	ast@kernel.org, daniel@iogearbox.net, hawk@kernel.org,
	john.fastabend@gmail.com, xen-devel@lists.xenproject.org,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	bpf@vger.kernel.org, Abaci Robot <abaci@linux.alibaba.com>
Subject: Re: [PATCH] xen-netback: Remove set but unused variable 'pending_idx'
Message-ID: <Y5K/iE9oa3PIrsQx@x130>
References: <20221209034036.37280-1-jiapeng.chong@linux.alibaba.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20221209034036.37280-1-jiapeng.chong@linux.alibaba.com>

On 09 Dec 11:40, Jiapeng Chong wrote:
>Variable pending_idx is not effectively used in the function, so delete
>it.
>
>drivers/net/xen-netback/netback.c:886:7: warning: variable ‘pending_idx’ set but not used.
>
>Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=3399
>Reported-by: Abaci Robot <abaci@linux.alibaba.com>
>Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>

Reviewed-by: Saeed Mahameed <saeed@kernel.org>

Please mark your patch clearly with [PATCH net-next] or 
[PATCH net] if it's a bug fix. 

Thanks for the patch.



From xen-devel-bounces@lists.xenproject.org Fri Dec 09 05:30:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 05:30:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457612.715567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3VxK-000367-Io; Fri, 09 Dec 2022 05:29:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457612.715567; Fri, 09 Dec 2022 05:29:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3VxK-000360-G7; Fri, 09 Dec 2022 05:29:54 +0000
Received: by outflank-mailman (input) for mailman id 457612;
 Fri, 09 Dec 2022 05:29:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3VxJ-00035p-7m; Fri, 09 Dec 2022 05:29:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3VxJ-0007Kq-4c; Fri, 09 Dec 2022 05:29:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3VxI-0002oT-Nf; Fri, 09 Dec 2022 05:29:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3VxI-0007oC-N9; Fri, 09 Dec 2022 05:29:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=eDigE8GHOXp83i6nOnbc6wDITMk8ToEJ8NyBy+jOotA=; b=CO+QlkO2ikVKb3DCgUB9Awp/PW
	XUCQo7bmcEvYNuOTcFQfZaVXdRePGQqPCxbgPVVWKrWiWpd3/3514LRT72pWkdWkGrsqh1KTj+bvw
	K3eISwgut68xzLGqL80fWKqsqLuF8aJy6Ncg4gH4G8xd4L8OwSGHc+i+bAr8/ZPsvZVM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175094-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175094: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-armhf-armhf-xl-cubietruck:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=479174d402bcf60789106eedc4def3957c060bad
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 09 Dec 2022 05:29:52 +0000

flight 175094 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175094/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2  14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 173462
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1  14 guest-start              fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 173462
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 173462

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-cubietruck 18 guest-start/debian.repeat fail pass in 175087

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 173462
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-pair        25 guest-start/debian      fail blocked in 173462
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                479174d402bcf60789106eedc4def3957c060bad
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   62 days
Failing since        173470  2022-10-08 06:21:34 Z   61 days  123 attempts
Testing same since   175081  2022-12-07 21:41:51 Z    1 days    3 attempts

------------------------------------------------------------
1955 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               fail    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 187808 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 06:16:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 06:16:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457627.715588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Wfq-0001St-5D; Fri, 09 Dec 2022 06:15:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457627.715588; Fri, 09 Dec 2022 06:15:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Wfq-0001Sm-2L; Fri, 09 Dec 2022 06:15:54 +0000
Received: by outflank-mailman (input) for mailman id 457627;
 Fri, 09 Dec 2022 06:15:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cKCu=4H=zlw.email=sisyphean@srs-se1.protection.inumbo.net>)
 id 1p3Wfo-0001Se-Ka
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 06:15:53 +0000
Received: from mail.zlw.email (unknown [112.49.95.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e544d45f-7788-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 07:15:48 +0100 (CET)
Received: from localhost (unknown [127.0.0.1])
 by mail.zlw.email (Postfix) with ESMTP id E47B9173F38
 for <xen-devel@lists.xenproject.org>; Fri,  9 Dec 2022 06:15:56 +0000 (UTC)
Received: from mail.zlw.email ([127.0.0.1])
 by localhost (mail.zlw.email [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id nwgq-QIBed5l for <xen-devel@lists.xenproject.org>;
 Fri,  9 Dec 2022 14:15:53 +0800 (CST)
Received: from [192.168.66.233] (OpenWrt.lan [192.168.66.1])
 by mail.zlw.email (Postfix) with ESMTPSA id A36B514D318
 for <xen-devel@lists.xenproject.org>; Fri,  9 Dec 2022 14:15:53 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e544d45f-7788-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zlw.email; h=
	content-transfer-encoding:content-type:content-type:to:subject
	:subject:from:from:content-language:user-agent:mime-version:date
	:date:message-id; s=dkim; t=1670566553; x=1673158554; bh=nA7R47t
	Tdl20TIHEF7c8v7tdlyG43QOy63SNKNJo4co=; b=Bbqc1k+VIuoJkwHJoEnbLAF
	uDFOYFrqHP57n6xo0YGvXH0p2FejFZMdfxWJMNbVyMsSE86ULo11VCtjwprEdtVx
	hcC663wQwgA8DfaTeR1x6/IC50xTZR4bjTEQoLTftpSOoHLYkEVazRo60s1zNlWs
	WCqAdSBCV30oVV/2jH9I=
X-Virus-Scanned: amavisd-new at zlw.email
Message-ID: <793eb471-e68b-c3ff-52e8-20d77252c0bf@zlw.email>
Date: Fri, 9 Dec 2022 14:15:53 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Content-Language: en-US
From: sisyphean <sisyphean@zlw.email>
Subject: [BUG]Add PCIE devie to SMMUv3 fail
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

I try to run XEN on my ARM board(Sorry, for some commercial reasons, I 
can't tell you
on which platform I run XEN)  and add PCIE device passthrough to 
DomU.But an error
occurred while adding the PCIE device to SMMUv3.

Through reading the code and tracing debugging, the error is found in 
the function
arm_smmu_add_device, which will obtain and determine whether the fwspec 
of the
device to be added to SMMU exists.But for the XEN of arm, the fwspec of 
the device is
created and added by judging whether the iommu field exists in the 
device node when
XEN parses the device tree.However, the PCIE device does not appear in 
the device tree,
so there will be no fwspec for all PCIE devices. When attempting to add 
a PCIE device to
SMMU, a ENODEV error will be returned.

In addition, the code at xen/drivers/passthrough/pci.c also verifies the 
above view.
For PCIE devices, pdev is alloc in function pci_add_device by 
alloc_pdev.However,
the function alloc_pdev does not create and add fwspec to the PCIE 
device.Therefore,
when function pci_add_device executes to iommu_add_device,it will get 
the error
return of ENODEV.

How can I resolve the above errors?

The XEN version I am running is RELEASE-4.16.2.

English is not my native language; please excuse typing errors.

Cheers,

-- 
Sisyphean



From xen-devel-bounces@lists.xenproject.org Fri Dec 09 06:45:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 06:45:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457641.715602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3X8T-0005fU-Hc; Fri, 09 Dec 2022 06:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457641.715602; Fri, 09 Dec 2022 06:45:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3X8T-0005fN-Dx; Fri, 09 Dec 2022 06:45:29 +0000
Received: by outflank-mailman (input) for mailman id 457641;
 Fri, 09 Dec 2022 06:45:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Mla+=4H=intel.com=lkp@srs-se1.protection.inumbo.net>)
 id 1p3X8Q-0005fF-SS
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 06:45:28 +0000
Received: from mga18.intel.com (mga18.intel.com [134.134.136.126])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b912e41-778d-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 07:45:20 +0100 (CET)
Received: from fmsmga008.fm.intel.com ([10.253.24.58])
 by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 08 Dec 2022 22:45:15 -0800
Received: from lkp-server01.sh.intel.com (HELO b5d47979f3ad) ([10.239.97.150])
 by fmsmga008.fm.intel.com with ESMTP; 08 Dec 2022 22:45:07 -0800
Received: from kbuild by b5d47979f3ad with local (Exim 4.96)
 (envelope-from <lkp@intel.com>) id 1p3X86-0001hf-2M;
 Fri, 09 Dec 2022 06:45:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b912e41-778d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1670568320; x=1702104320;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=xHr3VsYPj/5T/E8qXzOcXr2ZLLOKAqj4njept6WD6ek=;
  b=Yf1LBAiZlpzjnT4JshOE9IPPBgJ9SKJdKCLY9SDNsVyoGgy8z3xfHJCm
   FhitxEZPePgnrnZj0+Et1u4UBnQ+hfHqAI6jwk2w25C0AiWI65ztvibIg
   gAb3IGlZH3rF0TgahxtqwO2I0CPxsu+0xPvY15N8bEz9ZQ8KJkOL0Z6MR
   T3mf2tdIgIk5Qh1I4X+khYhwOH8zwb70ma4EhwnpHAK7K1UfF93jEYYyI
   mpYLPgaJJplg5vDPGytvTbfBea39qi6Ujc62naPD9sGgdlVRUvFZeQ3xT
   G0Es60XmidktEcVsg+guTzEn5+OiHmjGI4IQroTkXc1dNbepOQvePnZW/
   A==;
X-IronPort-AV: E=McAfee;i="6500,9779,10555"; a="300816492"
X-IronPort-AV: E=Sophos;i="5.96,230,1665471600"; 
   d="scan'208";a="300816492"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10555"; a="710784712"
X-IronPort-AV: E=Sophos;i="5.96,230,1665471600"; 
   d="scan'208";a="710784712"
Date: Fri, 9 Dec 2022 14:44:34 +0800
From: kernel test robot <lkp@intel.com>
To: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>, wei.liu@kernel.org
Cc: oe-kbuild-all@lists.linux.dev, paul@xen.org, davem@davemloft.net,
	edumazet@google.com, kuba@kernel.org, pabeni@redhat.com,
	ast@kernel.org, daniel@iogearbox.net, hawk@kernel.org,
	john.fastabend@gmail.com, xen-devel@lists.xenproject.org,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	bpf@vger.kernel.org,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Abaci Robot <abaci@linux.alibaba.com>
Subject: Re: [PATCH] xen-netback: Remove set but unused variable 'pending_idx'
Message-ID: <202212091456.YKpJmmGQ-lkp@intel.com>
References: <20221209034036.37280-1-jiapeng.chong@linux.alibaba.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="ZF7rkzTZD9ELZLKO"
Content-Disposition: inline
In-Reply-To: <20221209034036.37280-1-jiapeng.chong@linux.alibaba.com>


--ZF7rkzTZD9ELZLKO
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi Jiapeng,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v6.1-rc8 next-20221208]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Jiapeng-Chong/xen-netback-Remove-set-but-unused-variable-pending_idx/20221209-121717
patch link:    https://lore.kernel.org/r/20221209034036.37280-1-jiapeng.chong%40linux.alibaba.com
patch subject: [PATCH] xen-netback: Remove set but unused variable 'pending_idx'
config: x86_64-allyesconfig
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
        # https://github.com/intel-lab-lkp/linux/commit/0a9a4de740b57dfd72a5afe13c96a048ece79171
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Jiapeng-Chong/xen-netback-Remove-set-but-unused-variable-pending_idx/20221209-121717
        git checkout 0a9a4de740b57dfd72a5afe13c96a048ece79171
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/net/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

   drivers/net/xen-netback/netback.c: In function 'xenvif_tx_build_gops':
>> drivers/net/xen-netback/netback.c:889:36: warning: variable 'index' set but not used [-Wunused-but-set-variable]
     889 |                 pending_ring_idx_t index;
         |                                    ^~~~~


vim +/index +889 drivers/net/xen-netback/netback.c

210c34dcd8d912 Paul Durrant   2015-09-02   871  
e9ce7cb6b10740 Wei Liu        2014-06-04   872  static void xenvif_tx_build_gops(struct xenvif_queue *queue,
bdab82759b8e36 Zoltan Kiss    2014-04-02   873  				     int budget,
bdab82759b8e36 Zoltan Kiss    2014-04-02   874  				     unsigned *copy_ops,
bdab82759b8e36 Zoltan Kiss    2014-04-02   875  				     unsigned *map_ops)
f942dc2552b8bf Ian Campbell   2011-03-15   876  {
2475b22526d702 Ross Lagerwall 2015-08-03   877  	struct sk_buff *skb, *nskb;
f942dc2552b8bf Ian Campbell   2011-03-15   878  	int ret;
2475b22526d702 Ross Lagerwall 2015-08-03   879  	unsigned int frag_overflow;
f942dc2552b8bf Ian Campbell   2011-03-15   880  
e9ce7cb6b10740 Wei Liu        2014-06-04   881  	while (skb_queue_len(&queue->tx_queue) < budget) {
f942dc2552b8bf Ian Campbell   2011-03-15   882  		struct xen_netif_tx_request txreq;
376414945d15aa Wei Liu        2013-05-02   883  		struct xen_netif_tx_request txfrags[XEN_NETBK_LEGACY_SLOTS_MAX];
f942dc2552b8bf Ian Campbell   2011-03-15   884  		struct xen_netif_extra_info extras[XEN_NETIF_EXTRA_TYPE_MAX-1];
562abd39a19027 Paul Durrant   2016-03-10   885  		unsigned int extra_count;
f942dc2552b8bf Ian Campbell   2011-03-15   886  		RING_IDX idx;
f942dc2552b8bf Ian Campbell   2011-03-15   887  		int work_to_do;
f942dc2552b8bf Ian Campbell   2011-03-15   888  		unsigned int data_len;
f942dc2552b8bf Ian Campbell   2011-03-15  @889  		pending_ring_idx_t index;
f942dc2552b8bf Ian Campbell   2011-03-15   890  
e9ce7cb6b10740 Wei Liu        2014-06-04   891  		if (queue->tx.sring->req_prod - queue->tx.req_cons >
48856286b64e4b Ian Campbell   2013-02-06   892  		    XEN_NETIF_TX_RING_SIZE) {
e9ce7cb6b10740 Wei Liu        2014-06-04   893  			netdev_err(queue->vif->dev,
48856286b64e4b Ian Campbell   2013-02-06   894  				   "Impossible number of requests. "
48856286b64e4b Ian Campbell   2013-02-06   895  				   "req_prod %d, req_cons %d, size %ld\n",
e9ce7cb6b10740 Wei Liu        2014-06-04   896  				   queue->tx.sring->req_prod, queue->tx.req_cons,
48856286b64e4b Ian Campbell   2013-02-06   897  				   XEN_NETIF_TX_RING_SIZE);
e9ce7cb6b10740 Wei Liu        2014-06-04   898  			xenvif_fatal_tx_err(queue->vif);
e9d8b2c2968499 Wei Liu        2014-04-01   899  			break;
48856286b64e4b Ian Campbell   2013-02-06   900  		}
48856286b64e4b Ian Campbell   2013-02-06   901  
09e545f7381459 Juergen Gross  2022-05-30   902  		work_to_do = XEN_RING_NR_UNCONSUMED_REQUESTS(&queue->tx);
b3f980bd827e6e Wei Liu        2013-08-26   903  		if (!work_to_do)
b3f980bd827e6e Wei Liu        2013-08-26   904  			break;
f942dc2552b8bf Ian Campbell   2011-03-15   905  
e9ce7cb6b10740 Wei Liu        2014-06-04   906  		idx = queue->tx.req_cons;
f942dc2552b8bf Ian Campbell   2011-03-15   907  		rmb(); /* Ensure that we see the request before we copy it. */
68a33bfd8403e4 David Vrabel   2015-10-30   908  		RING_COPY_REQUEST(&queue->tx, idx, &txreq);
f942dc2552b8bf Ian Campbell   2011-03-15   909  
f942dc2552b8bf Ian Campbell   2011-03-15   910  		/* Credit-based scheduling. */
e9ce7cb6b10740 Wei Liu        2014-06-04   911  		if (txreq.size > queue->remaining_credit &&
e9ce7cb6b10740 Wei Liu        2014-06-04   912  		    tx_credit_exceeded(queue, txreq.size))
b3f980bd827e6e Wei Liu        2013-08-26   913  			break;
f942dc2552b8bf Ian Campbell   2011-03-15   914  
e9ce7cb6b10740 Wei Liu        2014-06-04   915  		queue->remaining_credit -= txreq.size;
f942dc2552b8bf Ian Campbell   2011-03-15   916  
f942dc2552b8bf Ian Campbell   2011-03-15   917  		work_to_do--;
e9ce7cb6b10740 Wei Liu        2014-06-04   918  		queue->tx.req_cons = ++idx;
f942dc2552b8bf Ian Campbell   2011-03-15   919  
f942dc2552b8bf Ian Campbell   2011-03-15   920  		memset(extras, 0, sizeof(extras));
562abd39a19027 Paul Durrant   2016-03-10   921  		extra_count = 0;
f942dc2552b8bf Ian Campbell   2011-03-15   922  		if (txreq.flags & XEN_NETTXF_extra_info) {
e9ce7cb6b10740 Wei Liu        2014-06-04   923  			work_to_do = xenvif_get_extras(queue, extras,
562abd39a19027 Paul Durrant   2016-03-10   924  						       &extra_count,
f942dc2552b8bf Ian Campbell   2011-03-15   925  						       work_to_do);
e9ce7cb6b10740 Wei Liu        2014-06-04   926  			idx = queue->tx.req_cons;
48856286b64e4b Ian Campbell   2013-02-06   927  			if (unlikely(work_to_do < 0))
b3f980bd827e6e Wei Liu        2013-08-26   928  				break;
f942dc2552b8bf Ian Campbell   2011-03-15   929  		}
f942dc2552b8bf Ian Campbell   2011-03-15   930  
210c34dcd8d912 Paul Durrant   2015-09-02   931  		if (extras[XEN_NETIF_EXTRA_TYPE_MCAST_ADD - 1].type) {
210c34dcd8d912 Paul Durrant   2015-09-02   932  			struct xen_netif_extra_info *extra;
210c34dcd8d912 Paul Durrant   2015-09-02   933  
210c34dcd8d912 Paul Durrant   2015-09-02   934  			extra = &extras[XEN_NETIF_EXTRA_TYPE_MCAST_ADD - 1];
210c34dcd8d912 Paul Durrant   2015-09-02   935  			ret = xenvif_mcast_add(queue->vif, extra->u.mcast.addr);
210c34dcd8d912 Paul Durrant   2015-09-02   936  
562abd39a19027 Paul Durrant   2016-03-10   937  			make_tx_response(queue, &txreq, extra_count,
210c34dcd8d912 Paul Durrant   2015-09-02   938  					 (ret == 0) ?
210c34dcd8d912 Paul Durrant   2015-09-02   939  					 XEN_NETIF_RSP_OKAY :
210c34dcd8d912 Paul Durrant   2015-09-02   940  					 XEN_NETIF_RSP_ERROR);
210c34dcd8d912 Paul Durrant   2015-09-02   941  			push_tx_responses(queue);
210c34dcd8d912 Paul Durrant   2015-09-02   942  			continue;
210c34dcd8d912 Paul Durrant   2015-09-02   943  		}
210c34dcd8d912 Paul Durrant   2015-09-02   944  
210c34dcd8d912 Paul Durrant   2015-09-02   945  		if (extras[XEN_NETIF_EXTRA_TYPE_MCAST_DEL - 1].type) {
210c34dcd8d912 Paul Durrant   2015-09-02   946  			struct xen_netif_extra_info *extra;
210c34dcd8d912 Paul Durrant   2015-09-02   947  
210c34dcd8d912 Paul Durrant   2015-09-02   948  			extra = &extras[XEN_NETIF_EXTRA_TYPE_MCAST_DEL - 1];
210c34dcd8d912 Paul Durrant   2015-09-02   949  			xenvif_mcast_del(queue->vif, extra->u.mcast.addr);
210c34dcd8d912 Paul Durrant   2015-09-02   950  
562abd39a19027 Paul Durrant   2016-03-10   951  			make_tx_response(queue, &txreq, extra_count,
562abd39a19027 Paul Durrant   2016-03-10   952  					 XEN_NETIF_RSP_OKAY);
210c34dcd8d912 Paul Durrant   2015-09-02   953  			push_tx_responses(queue);
210c34dcd8d912 Paul Durrant   2015-09-02   954  			continue;
210c34dcd8d912 Paul Durrant   2015-09-02   955  		}
210c34dcd8d912 Paul Durrant   2015-09-02   956  
ad7f402ae4f466 Ross Lagerwall 2022-11-22   957  		data_len = (txreq.size > XEN_NETBACK_TX_COPY_LEN) ?
ad7f402ae4f466 Ross Lagerwall 2022-11-22   958  			XEN_NETBACK_TX_COPY_LEN : txreq.size;
ad7f402ae4f466 Ross Lagerwall 2022-11-22   959  
562abd39a19027 Paul Durrant   2016-03-10   960  		ret = xenvif_count_requests(queue, &txreq, extra_count,
562abd39a19027 Paul Durrant   2016-03-10   961  					    txfrags, work_to_do);
ad7f402ae4f466 Ross Lagerwall 2022-11-22   962  
48856286b64e4b Ian Campbell   2013-02-06   963  		if (unlikely(ret < 0))
b3f980bd827e6e Wei Liu        2013-08-26   964  			break;
48856286b64e4b Ian Campbell   2013-02-06   965  
f942dc2552b8bf Ian Campbell   2011-03-15   966  		idx += ret;
f942dc2552b8bf Ian Campbell   2011-03-15   967  
f942dc2552b8bf Ian Campbell   2011-03-15   968  		if (unlikely(txreq.size < ETH_HLEN)) {
e9ce7cb6b10740 Wei Liu        2014-06-04   969  			netdev_dbg(queue->vif->dev,
f942dc2552b8bf Ian Campbell   2011-03-15   970  				   "Bad packet size: %d\n", txreq.size);
562abd39a19027 Paul Durrant   2016-03-10   971  			xenvif_tx_err(queue, &txreq, extra_count, idx);
b3f980bd827e6e Wei Liu        2013-08-26   972  			break;
f942dc2552b8bf Ian Campbell   2011-03-15   973  		}
f942dc2552b8bf Ian Campbell   2011-03-15   974  
f942dc2552b8bf Ian Campbell   2011-03-15   975  		/* No crossing a page as the payload mustn't fragment. */
d0089e8a0e4c97 Julien Grall   2015-05-05   976  		if (unlikely((txreq.offset + txreq.size) > XEN_PAGE_SIZE)) {
e9ce7cb6b10740 Wei Liu        2014-06-04   977  			netdev_err(queue->vif->dev,
68946159da1b0b Julien Grall   2015-06-16   978  				   "txreq.offset: %u, size: %u, end: %lu\n",
f942dc2552b8bf Ian Campbell   2011-03-15   979  				   txreq.offset, txreq.size,
d0089e8a0e4c97 Julien Grall   2015-05-05   980  				   (unsigned long)(txreq.offset&~XEN_PAGE_MASK) + txreq.size);
e9ce7cb6b10740 Wei Liu        2014-06-04   981  			xenvif_fatal_tx_err(queue->vif);
b3f980bd827e6e Wei Liu        2013-08-26   982  			break;
f942dc2552b8bf Ian Campbell   2011-03-15   983  		}
f942dc2552b8bf Ian Campbell   2011-03-15   984  
e9ce7cb6b10740 Wei Liu        2014-06-04   985  		index = pending_index(queue->pending_cons);
f942dc2552b8bf Ian Campbell   2011-03-15   986  
ad7f402ae4f466 Ross Lagerwall 2022-11-22   987  		if (ret >= XEN_NETBK_LEGACY_SLOTS_MAX - 1 && data_len < txreq.size)
ad7f402ae4f466 Ross Lagerwall 2022-11-22   988  			data_len = txreq.size;
f942dc2552b8bf Ian Campbell   2011-03-15   989  
e3377f36ca20a0 Zoltan Kiss    2014-03-06   990  		skb = xenvif_alloc_skb(data_len);
f942dc2552b8bf Ian Campbell   2011-03-15   991  		if (unlikely(skb == NULL)) {
e9ce7cb6b10740 Wei Liu        2014-06-04   992  			netdev_dbg(queue->vif->dev,
f942dc2552b8bf Ian Campbell   2011-03-15   993  				   "Can't allocate a skb in start_xmit.\n");
562abd39a19027 Paul Durrant   2016-03-10   994  			xenvif_tx_err(queue, &txreq, extra_count, idx);
f942dc2552b8bf Ian Campbell   2011-03-15   995  			break;
f942dc2552b8bf Ian Campbell   2011-03-15   996  		}
f942dc2552b8bf Ian Campbell   2011-03-15   997  
2475b22526d702 Ross Lagerwall 2015-08-03   998  		skb_shinfo(skb)->nr_frags = ret;
2475b22526d702 Ross Lagerwall 2015-08-03   999  		/* At this point shinfo->nr_frags is in fact the number of
2475b22526d702 Ross Lagerwall 2015-08-03  1000  		 * slots, which can be as large as XEN_NETBK_LEGACY_SLOTS_MAX.
2475b22526d702 Ross Lagerwall 2015-08-03  1001  		 */
2475b22526d702 Ross Lagerwall 2015-08-03  1002  		frag_overflow = 0;
2475b22526d702 Ross Lagerwall 2015-08-03  1003  		nskb = NULL;
2475b22526d702 Ross Lagerwall 2015-08-03  1004  		if (skb_shinfo(skb)->nr_frags > MAX_SKB_FRAGS) {
2475b22526d702 Ross Lagerwall 2015-08-03  1005  			frag_overflow = skb_shinfo(skb)->nr_frags - MAX_SKB_FRAGS;
2475b22526d702 Ross Lagerwall 2015-08-03  1006  			BUG_ON(frag_overflow > MAX_SKB_FRAGS);
2475b22526d702 Ross Lagerwall 2015-08-03  1007  			skb_shinfo(skb)->nr_frags = MAX_SKB_FRAGS;
2475b22526d702 Ross Lagerwall 2015-08-03  1008  			nskb = xenvif_alloc_skb(0);
2475b22526d702 Ross Lagerwall 2015-08-03  1009  			if (unlikely(nskb == NULL)) {
3a0233ddec554b Ross Lagerwall 2019-08-05  1010  				skb_shinfo(skb)->nr_frags = 0;
2475b22526d702 Ross Lagerwall 2015-08-03  1011  				kfree_skb(skb);
562abd39a19027 Paul Durrant   2016-03-10  1012  				xenvif_tx_err(queue, &txreq, extra_count, idx);
2475b22526d702 Ross Lagerwall 2015-08-03  1013  				if (net_ratelimit())
2475b22526d702 Ross Lagerwall 2015-08-03  1014  					netdev_err(queue->vif->dev,
2475b22526d702 Ross Lagerwall 2015-08-03  1015  						   "Can't allocate the frag_list skb.\n");
2475b22526d702 Ross Lagerwall 2015-08-03  1016  				break;
2475b22526d702 Ross Lagerwall 2015-08-03  1017  			}
2475b22526d702 Ross Lagerwall 2015-08-03  1018  		}
2475b22526d702 Ross Lagerwall 2015-08-03  1019  
f942dc2552b8bf Ian Campbell   2011-03-15  1020  		if (extras[XEN_NETIF_EXTRA_TYPE_GSO - 1].type) {
f942dc2552b8bf Ian Campbell   2011-03-15  1021  			struct xen_netif_extra_info *gso;
f942dc2552b8bf Ian Campbell   2011-03-15  1022  			gso = &extras[XEN_NETIF_EXTRA_TYPE_GSO - 1];
f942dc2552b8bf Ian Campbell   2011-03-15  1023  
e9ce7cb6b10740 Wei Liu        2014-06-04  1024  			if (xenvif_set_skb_gso(queue->vif, skb, gso)) {
7376419a469765 Wei Liu        2013-08-26  1025  				/* Failure in xenvif_set_skb_gso is fatal. */
3a0233ddec554b Ross Lagerwall 2019-08-05  1026  				skb_shinfo(skb)->nr_frags = 0;
f942dc2552b8bf Ian Campbell   2011-03-15  1027  				kfree_skb(skb);
2475b22526d702 Ross Lagerwall 2015-08-03  1028  				kfree_skb(nskb);
b3f980bd827e6e Wei Liu        2013-08-26  1029  				break;
f942dc2552b8bf Ian Campbell   2011-03-15  1030  			}
f942dc2552b8bf Ian Campbell   2011-03-15  1031  		}
f942dc2552b8bf Ian Campbell   2011-03-15  1032  
c2d09fde7299f6 Paul Durrant   2016-05-13  1033  		if (extras[XEN_NETIF_EXTRA_TYPE_HASH - 1].type) {
c2d09fde7299f6 Paul Durrant   2016-05-13  1034  			struct xen_netif_extra_info *extra;
c2d09fde7299f6 Paul Durrant   2016-05-13  1035  			enum pkt_hash_types type = PKT_HASH_TYPE_NONE;
c2d09fde7299f6 Paul Durrant   2016-05-13  1036  
c2d09fde7299f6 Paul Durrant   2016-05-13  1037  			extra = &extras[XEN_NETIF_EXTRA_TYPE_HASH - 1];
c2d09fde7299f6 Paul Durrant   2016-05-13  1038  
c2d09fde7299f6 Paul Durrant   2016-05-13  1039  			switch (extra->u.hash.type) {
c2d09fde7299f6 Paul Durrant   2016-05-13  1040  			case _XEN_NETIF_CTRL_HASH_TYPE_IPV4:
c2d09fde7299f6 Paul Durrant   2016-05-13  1041  			case _XEN_NETIF_CTRL_HASH_TYPE_IPV6:
c2d09fde7299f6 Paul Durrant   2016-05-13  1042  				type = PKT_HASH_TYPE_L3;
c2d09fde7299f6 Paul Durrant   2016-05-13  1043  				break;
c2d09fde7299f6 Paul Durrant   2016-05-13  1044  
c2d09fde7299f6 Paul Durrant   2016-05-13  1045  			case _XEN_NETIF_CTRL_HASH_TYPE_IPV4_TCP:
c2d09fde7299f6 Paul Durrant   2016-05-13  1046  			case _XEN_NETIF_CTRL_HASH_TYPE_IPV6_TCP:
c2d09fde7299f6 Paul Durrant   2016-05-13  1047  				type = PKT_HASH_TYPE_L4;
c2d09fde7299f6 Paul Durrant   2016-05-13  1048  				break;
c2d09fde7299f6 Paul Durrant   2016-05-13  1049  
c2d09fde7299f6 Paul Durrant   2016-05-13  1050  			default:
c2d09fde7299f6 Paul Durrant   2016-05-13  1051  				break;
c2d09fde7299f6 Paul Durrant   2016-05-13  1052  			}
c2d09fde7299f6 Paul Durrant   2016-05-13  1053  
c2d09fde7299f6 Paul Durrant   2016-05-13  1054  			if (type != PKT_HASH_TYPE_NONE)
c2d09fde7299f6 Paul Durrant   2016-05-13  1055  				skb_set_hash(skb,
c2d09fde7299f6 Paul Durrant   2016-05-13  1056  					     *(u32 *)extra->u.hash.value,
c2d09fde7299f6 Paul Durrant   2016-05-13  1057  					     type);
c2d09fde7299f6 Paul Durrant   2016-05-13  1058  		}
c2d09fde7299f6 Paul Durrant   2016-05-13  1059  
ad7f402ae4f466 Ross Lagerwall 2022-11-22  1060  		xenvif_get_requests(queue, skb, &txreq, txfrags, copy_ops,
ad7f402ae4f466 Ross Lagerwall 2022-11-22  1061  				    map_ops, frag_overflow, nskb, extra_count,
ad7f402ae4f466 Ross Lagerwall 2022-11-22  1062  				    data_len);
f942dc2552b8bf Ian Campbell   2011-03-15  1063  
e9ce7cb6b10740 Wei Liu        2014-06-04  1064  		__skb_queue_tail(&queue->tx_queue, skb);
1e0b6eac6a150a Annie Li       2012-06-27  1065  
e9ce7cb6b10740 Wei Liu        2014-06-04  1066  		queue->tx.req_cons = idx;
f942dc2552b8bf Ian Campbell   2011-03-15  1067  
ad7f402ae4f466 Ross Lagerwall 2022-11-22  1068  		if ((*map_ops >= ARRAY_SIZE(queue->tx_map_ops)) ||
e9ce7cb6b10740 Wei Liu        2014-06-04  1069  		    (*copy_ops >= ARRAY_SIZE(queue->tx_copy_ops)))
f942dc2552b8bf Ian Campbell   2011-03-15  1070  			break;
f942dc2552b8bf Ian Campbell   2011-03-15  1071  	}
f942dc2552b8bf Ian Campbell   2011-03-15  1072  
bdab82759b8e36 Zoltan Kiss    2014-04-02  1073  	return;
f942dc2552b8bf Ian Campbell   2011-03-15  1074  }
f942dc2552b8bf Ian Campbell   2011-03-15  1075  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

--ZF7rkzTZD9ELZLKO
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename=config

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 6.1.0-rc8 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc-11 (Debian 11.3.0-8) 11.3.0"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=110300
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
CONFIG_AS_VERSION=23900
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=23900
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=123
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_WERROR is not set
CONFIG_UAPI_HEADER_TEST=y
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_WATCH_QUEUE=y
CONFIG_CROSS_MEMORY_ATTACH=y
CONFIG_USELIB=y
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_GENERIC_IRQ_INJECTION=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_CHIP=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_SIM=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
CONFIG_IRQ_MSI_IOMMU=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
CONFIG_GENERIC_IRQ_DEBUGFS=y
# end of IRQ subsystem

CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_INIT=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_TIME_KUNIT_TEST=y
CONFIG_CONTEXT_TRACKING=y
CONFIG_CONTEXT_TRACKING_IDLE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
CONFIG_NO_HZ_IDLE=y
# CONFIG_NO_HZ_FULL is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=100
# end of Timers subsystem

CONFIG_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y

#
# BPF subsystem
#
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT_DEFAULT_ON=y
CONFIG_BPF_UNPRIV_DEFAULT_OFF=y
CONFIG_USERMODE_DRIVER=y
# CONFIG_BPF_PRELOAD is not set
CONFIG_BPF_LSM=y
# end of BPF subsystem

CONFIG_PREEMPT_BUILD=y
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_COUNT=y
CONFIG_PREEMPTION=y
CONFIG_PREEMPT_DYNAMIC=y
CONFIG_SCHED_CORE=y

#
# CPU/Task time and stats accounting
#
CONFIG_TICK_CPU_ACCOUNTING=y
# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_SCHED_AVG_IRQ=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_PSI=y
CONFIG_PSI_DEFAULT_DISABLED=y
# end of CPU/Task time and stats accounting

CONFIG_CPU_ISOLATION=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_PREEMPT_RCU=y
CONFIG_RCU_EXPERT=y
CONFIG_SRCU=y
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_FORCE_TASKS_RCU=y
CONFIG_TASKS_RCU=y
CONFIG_FORCE_TASKS_RUDE_RCU=y
CONFIG_TASKS_RUDE_RCU=y
CONFIG_FORCE_TASKS_TRACE_RCU=y
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_FANOUT=64
CONFIG_RCU_FANOUT_LEAF=16
CONFIG_RCU_BOOST=y
CONFIG_RCU_BOOST_DELAY=500
CONFIG_RCU_EXP_KTHREAD=y
CONFIG_RCU_NOCB_CPU=y
CONFIG_RCU_NOCB_CPU_DEFAULT_ALL=y
CONFIG_RCU_NOCB_CPU_CB_BOOST=y
CONFIG_TASKS_TRACE_RCU_READ_MB=y
# end of RCU Subsystem

CONFIG_BUILD_BIN2C=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_IKHEADERS=y
CONFIG_LOG_BUF_SHIFT=17
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
CONFIG_PRINTK_INDEX=y
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

#
# Scheduler features
#
CONFIG_UCLAMP_TASK=y
CONFIG_UCLAMP_BUCKETS_COUNT=5
# end of Scheduler features

CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
CONFIG_GCC12_NO_ARRAY_BOUNDS=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
CONFIG_CGROUP_FAVOR_DYNMODS=y
CONFIG_MEMCG=y
CONFIG_MEMCG_KMEM=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_UCLAMP_TASK_GROUP=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_MISC=y
CONFIG_CGROUP_DEBUG=y
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_TIME_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
CONFIG_CHECKPOINT_RESTORE=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
CONFIG_BOOT_CONFIG=y
CONFIG_BOOT_CONFIG_EMBED=y
CONFIG_BOOT_CONFIG_EMBED_FILE=""
CONFIG_INITRAMFS_PRESERVE_MTIME=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_LD_ORPHAN_WARN=y
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
CONFIG_EXPERT=y
CONFIG_UID16=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KALLSYMS=y
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_KCMP=y
CONFIG_RSEQ=y
CONFIG_DEBUG_RSEQ=y
CONFIG_EMBEDDED=y
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_GUEST_PERF_EVENTS=y
CONFIG_PERF_USE_VMALLOC=y
CONFIG_PC104=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
CONFIG_DEBUG_PERF_USE_VMALLOC=y
# end of Kernel Performance Events And Counters

CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
# end of General setup

CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_CSUM=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_NR_GPIO=1024
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_AUDIT_ARCH=y
CONFIG_KASAN_SHADOW_OFFSET=0xdffffc0000000000
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_DYNAMIC_PHYSICAL_MASK=y
CONFIG_PGTABLE_LEVELS=5
CONFIG_CC_HAS_SANE_STACKPROTECTOR=y

#
# Processor type and features
#
CONFIG_SMP=y
CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
CONFIG_GOLDFISH=y
CONFIG_X86_CPU_RESCTRL=y
CONFIG_X86_EXTENDED_PLATFORM=y
CONFIG_X86_NUMACHIP=y
CONFIG_X86_VSMP=y
CONFIG_X86_UV=y
CONFIG_X86_GOLDFISH=y
CONFIG_X86_INTEL_MID=y
CONFIG_X86_INTEL_LPSS=y
CONFIG_X86_AMD_PLATFORM_DEVICE=y
CONFIG_IOSF_MBI=y
CONFIG_IOSF_MBI_DEBUG=y
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_PARAVIRT_XXL=y
CONFIG_PARAVIRT_DEBUG=y
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_X86_HV_CALLBACK_VECTOR=y
CONFIG_XEN=y
CONFIG_XEN_PV=y
CONFIG_XEN_512GB=y
CONFIG_XEN_PV_SMP=y
CONFIG_XEN_PV_DOM0=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_PVHVM_SMP=y
CONFIG_XEN_PVHVM_GUEST=y
CONFIG_XEN_SAVE_RESTORE=y
CONFIG_XEN_DEBUG_FS=y
CONFIG_XEN_PVH=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PV_MSR_SAFE=y
CONFIG_KVM_GUEST=y
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
CONFIG_PVH=y
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT_CLOCK=y
CONFIG_JAILHOUSE_GUEST=y
CONFIG_ACRN_GUEST=y
CONFIG_INTEL_TDX_GUEST=y
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=12
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_IA32_FEAT_CTL=y
CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_PROCESSOR_SELECT=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_HYGON=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_ZHAOXIN=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
CONFIG_GART_IOMMU=y
CONFIG_BOOT_VESA_SUPPORT=y
CONFIG_MAXSMP=y
CONFIG_NR_CPUS_RANGE_BEGIN=8192
CONFIG_NR_CPUS_RANGE_END=8192
CONFIG_NR_CPUS_DEFAULT=8192
CONFIG_NR_CPUS=8192
CONFIG_SCHED_CLUSTER=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_MC_PRIO=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCELOG_LEGACY=y
CONFIG_X86_MCE_INTEL=y
CONFIG_X86_MCE_AMD=y
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=y

#
# Performance monitoring
#
CONFIG_PERF_EVENTS_INTEL_UNCORE=y
CONFIG_PERF_EVENTS_INTEL_RAPL=y
CONFIG_PERF_EVENTS_INTEL_CSTATE=y
CONFIG_PERF_EVENTS_AMD_POWER=y
CONFIG_PERF_EVENTS_AMD_UNCORE=y
CONFIG_PERF_EVENTS_AMD_BRS=y
# end of Performance monitoring

CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_X86_IOPL_IOPERM=y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_AMD=y
CONFIG_MICROCODE_LATE_LOADING=y
CONFIG_X86_MSR=y
CONFIG_X86_CPUID=y
CONFIG_X86_5LEVEL=y
CONFIG_X86_DIRECT_GBPAGES=y
CONFIG_X86_CPA_STATISTICS=y
CONFIG_X86_MEM_ENCRYPT=y
CONFIG_AMD_MEM_ENCRYPT=y
CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT=y
CONFIG_NUMA=y
CONFIG_AMD_NUMA=y
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=10
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_MEMORY_PROBE=y
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_X86_PMEM_LEGACY_DEVICE=y
CONFIG_X86_PMEM_LEGACY=y
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=0
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
CONFIG_X86_KERNEL_IBT=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
CONFIG_X86_INTEL_TSX_MODE_OFF=y
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set
CONFIG_X86_SGX=y
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_MIXED=y
# CONFIG_HZ_100 is not set
CONFIG_HZ_250=y
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not set
CONFIG_HZ=250
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_KEXEC_FILE=y
CONFIG_ARCH_HAS_KEXEC_PURGATORY=y
CONFIG_KEXEC_SIG=y
CONFIG_KEXEC_SIG_FORCE=y
CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y
CONFIG_CRASH_DUMP=y
CONFIG_KEXEC_JUMP=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
# CONFIG_RANDOMIZE_BASE is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_DYNAMIC_MEMORY_LAYOUT=y
CONFIG_HOTPLUG_CPU=y
CONFIG_BOOTPARAM_HOTPLUG_CPU0=y
CONFIG_DEBUG_HOTPLUG_CPU0=y
CONFIG_COMPAT_VDSO=y
CONFIG_LEGACY_VSYSCALL_XONLY=y
# CONFIG_LEGACY_VSYSCALL_NONE is not set
CONFIG_CMDLINE_BOOL=y
CONFIG_CMDLINE=""
CONFIG_MODIFY_LDT_SYSCALL=y
CONFIG_STRICT_SIGALTSTACK_SIZE=y
CONFIG_HAVE_LIVEPATCH=y
CONFIG_LIVEPATCH=y
# end of Processor type and features

CONFIG_CC_HAS_SLS=y
CONFIG_CC_HAS_RETURN_THUNK=y
CONFIG_SPECULATION_MITIGATIONS=y
CONFIG_PAGE_TABLE_ISOLATION=y
CONFIG_RETPOLINE=y
CONFIG_RETHUNK=y
CONFIG_CPU_UNRET_ENTRY=y
CONFIG_CPU_IBPB_ENTRY=y
CONFIG_CPU_IBRS_ENTRY=y
CONFIG_SLS=y
CONFIG_ARCH_HAS_ADD_PAGES=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_SUSPEND_SKIP_SYNC=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_AUTOSLEEP=y
CONFIG_PM_USERSPACE_AUTOSLEEP=y
CONFIG_PM_WAKELOCKS=y
CONFIG_PM_WAKELOCKS_LIMIT=100
CONFIG_PM_WAKELOCKS_GC=y
CONFIG_PM=y
CONFIG_PM_DEBUG=y
CONFIG_PM_ADVANCED_DEBUG=y
CONFIG_PM_TEST_SUSPEND=y
CONFIG_PM_SLEEP_DEBUG=y
CONFIG_DPM_WATCHDOG=y
CONFIG_DPM_WATCHDOG_TIMEOUT=120
CONFIG_PM_TRACE=y
CONFIG_PM_TRACE_RTC=y
CONFIG_PM_CLK=y
CONFIG_PM_GENERIC_DOMAINS=y
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
CONFIG_PM_GENERIC_DOMAINS_OF=y
CONFIG_ENERGY_MODEL=y
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
CONFIG_ACPI_TABLE_LIB=y
CONFIG_ACPI_DEBUGGER=y
CONFIG_ACPI_DEBUGGER_USER=y
CONFIG_ACPI_SPCR_TABLE=y
CONFIG_ACPI_FPDT=y
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_EC_DEBUGFS=y
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=y
CONFIG_ACPI_FAN=y
CONFIG_ACPI_TAD=y
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_IPMI=y
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=y
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_PLATFORM_PROFILE=y
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_DEBUG=y
CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=y
CONFIG_ACPI_HOTPLUG_IOAPIC=y
CONFIG_ACPI_SBS=y
CONFIG_ACPI_HED=y
CONFIG_ACPI_CUSTOM_METHOD=y
CONFIG_ACPI_BGRT=y
CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y
CONFIG_ACPI_NFIT=y
CONFIG_NFIT_SECURITY_DEBUG=y
CONFIG_ACPI_NUMA=y
CONFIG_ACPI_HMAT=y
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_PCIEAER=y
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
CONFIG_ACPI_APEI_EINJ=y
CONFIG_ACPI_APEI_ERST_DEBUG=y
CONFIG_ACPI_DPTF=y
CONFIG_DPTF_POWER=y
CONFIG_DPTF_PCH_FIVR=y
CONFIG_ACPI_WATCHDOG=y
CONFIG_ACPI_EXTLOG=y
CONFIG_ACPI_ADXL=y
CONFIG_ACPI_CONFIGFS=y
CONFIG_ACPI_PFRUT=y
CONFIG_ACPI_PCC=y
CONFIG_PMIC_OPREGION=y
CONFIG_BYTCRC_PMIC_OPREGION=y
CONFIG_CHTCRC_PMIC_OPREGION=y
CONFIG_XPOWER_PMIC_OPREGION=y
CONFIG_BXT_WC_PMIC_OPREGION=y
CONFIG_CHT_WC_PMIC_OPREGION=y
CONFIG_CHT_DC_TI_PMIC_OPREGION=y
CONFIG_TPS68470_PMIC_OPREGION=y
CONFIG_ACPI_VIOT=y
CONFIG_ACPI_PRMT=y
CONFIG_X86_PM_TIMER=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

#
# CPU frequency scaling drivers
#
CONFIG_CPUFREQ_DT=y
CONFIG_CPUFREQ_DT_PLATDEV=y
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=y
CONFIG_X86_AMD_PSTATE=y
CONFIG_X86_AMD_PSTATE_UT=y
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_ACPI_CPUFREQ_CPB=y
CONFIG_X86_POWERNOW_K8=y
CONFIG_X86_AMD_FREQ_SENSITIVITY=y
CONFIG_X86_SPEEDSTEP_CENTRINO=y
CONFIG_X86_P4_CLOCKMOD=y

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=y
# end of CPU Frequency scaling

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_LADDER=y
CONFIG_CPU_IDLE_GOV_MENU=y
CONFIG_CPU_IDLE_GOV_TEO=y
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
CONFIG_HALTPOLL_CPUIDLE=y
# end of CPU Idle

CONFIG_INTEL_IDLE=y
# end of Power management and ACPI options

#
# Bus options (PCI etc.)
#
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_PCI_XEN=y
CONFIG_MMCONF_FAM10H=y
CONFIG_PCI_CNB20LE_QUIRK=y
CONFIG_ISA_BUS=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
# end of Bus options (PCI etc.)

#
# Binary Emulations
#
CONFIG_IA32_EMULATION=y
CONFIG_X86_X32_ABI=y
CONFIG_COMPAT_32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
# end of Binary Emulations

CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_PFNCACHE=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQFD=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_DIRTY_RING=y
CONFIG_HAVE_KVM_DIRTY_RING_TSO=y
CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_KVM_XFER_TO_GUEST_WORK=y
CONFIG_HAVE_KVM_PM_NOTIFIER=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=y
# CONFIG_KVM_WERROR is not set
CONFIG_KVM_INTEL=y
CONFIG_X86_SGX_KVM=y
CONFIG_KVM_AMD=y
CONFIG_KVM_AMD_SEV=y
CONFIG_KVM_XEN=y
CONFIG_KVM_EXTERNAL_WRITE_TRACKING=y
CONFIG_AS_AVX512=y
CONFIG_AS_SHA1_NI=y
CONFIG_AS_SHA256_NI=y
CONFIG_AS_TPAUSE=y

#
# General architecture-dependent options
#
CONFIG_CRASH_CORE=y
CONFIG_KEXEC_CORE=y
CONFIG_HAVE_IMA_KEXEC=y
CONFIG_HOTPLUG_SMT=y
CONFIG_GENERIC_ENTRY=y
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
CONFIG_STATIC_KEYS_SELFTEST=y
CONFIG_STATIC_CALL_SELFTEST=y
CONFIG_OPTPROBES=y
CONFIG_KPROBES_ON_FTRACE=y
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_KRETPROBES=y
CONFIG_KRETPROBE_ON_RETHOOK=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_RUST=y
CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_MMU_GATHER_MERGE_VMAS=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
CONFIG_SECCOMP_CACHE_DEBUG=y
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
CONFIG_HAVE_OBJTOOL=y
CONFIG_HAVE_JUMP_LABEL_HACK=y
CONFIG_HAVE_NOINSTR_HACK=y
CONFIG_HAVE_NOINSTR_VALIDATION=y
CONFIG_HAVE_UACCESS_VALIDATION=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_ISA_BUS_API=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_VMAP_STACK=y
CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
CONFIG_ARCH_USE_MEMREMAP_PROT=y
CONFIG_LOCK_EVENT_COUNTS=y
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_ARCH_HAS_CC_PLATFORM=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_HAVE_STATIC_CALL_INLINE=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
CONFIG_DYNAMIC_SIGFRAME=y
CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y

#
# GCOV-based kernel profiling
#
CONFIG_GCOV_KERNEL=y
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# CONFIG_GCOV_PROFILE_ALL is not set
# end of GCOV-based kernel profiling

CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_GCC_PLUGINS=y
CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
# end of General architecture-dependent options

CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULE_SIG_FORMAT=y
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
CONFIG_MODULE_FORCE_UNLOAD=y
CONFIG_MODULE_UNLOAD_TAINT_TRACKING=y
CONFIG_MODVERSIONS=y
CONFIG_ASM_MODVERSIONS=y
CONFIG_MODULE_SRCVERSION_ALL=y
CONFIG_MODULE_SIG=y
CONFIG_MODULE_SIG_FORCE=y
CONFIG_MODULE_SIG_ALL=y
CONFIG_MODULE_SIG_SHA1=y
# CONFIG_MODULE_SIG_SHA224 is not set
# CONFIG_MODULE_SIG_SHA256 is not set
# CONFIG_MODULE_SIG_SHA384 is not set
# CONFIG_MODULE_SIG_SHA512 is not set
CONFIG_MODULE_SIG_HASH="sha1"
CONFIG_MODULE_COMPRESS_NONE=y
# CONFIG_MODULE_COMPRESS_GZIP is not set
# CONFIG_MODULE_COMPRESS_XZ is not set
# CONFIG_MODULE_COMPRESS_ZSTD is not set
CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS=y
CONFIG_MODPROBE_PATH="/sbin/modprobe"
# CONFIG_TRIM_UNUSED_KSYMS is not set
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLOCK_LEGACY_AUTOLOAD=y
CONFIG_BLK_RQ_ALLOC_TIME=y
CONFIG_BLK_CGROUP_RWSTAT=y
CONFIG_BLK_DEV_BSG_COMMON=y
CONFIG_BLK_ICQ=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_INTEGRITY_T10=y
CONFIG_BLK_DEV_ZONED=y
CONFIG_BLK_DEV_THROTTLING=y
CONFIG_BLK_DEV_THROTTLING_LOW=y
CONFIG_BLK_WBT=y
CONFIG_BLK_WBT_MQ=y
CONFIG_BLK_CGROUP_IOLATENCY=y
CONFIG_BLK_CGROUP_FC_APPID=y
CONFIG_BLK_CGROUP_IOCOST=y
CONFIG_BLK_CGROUP_IOPRIO=y
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEBUG_FS_ZONED=y
CONFIG_BLK_SED_OPAL=y
CONFIG_BLK_INLINE_ENCRYPTION=y
CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y

#
# Partition Types
#
CONFIG_PARTITION_ADVANCED=y
CONFIG_ACORN_PARTITION=y
CONFIG_ACORN_PARTITION_CUMANA=y
CONFIG_ACORN_PARTITION_EESOX=y
CONFIG_ACORN_PARTITION_ICS=y
CONFIG_ACORN_PARTITION_ADFS=y
CONFIG_ACORN_PARTITION_POWERTEC=y
CONFIG_ACORN_PARTITION_RISCIX=y
CONFIG_AIX_PARTITION=y
CONFIG_OSF_PARTITION=y
CONFIG_AMIGA_PARTITION=y
CONFIG_ATARI_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
CONFIG_MINIX_SUBPARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y
CONFIG_UNIXWARE_DISKLABEL=y
CONFIG_LDM_PARTITION=y
CONFIG_LDM_DEBUG=y
CONFIG_SGI_PARTITION=y
CONFIG_ULTRIX_PARTITION=y
CONFIG_SUN_PARTITION=y
CONFIG_KARMA_PARTITION=y
CONFIG_EFI_PARTITION=y
CONFIG_SYSV68_PARTITION=y
CONFIG_CMDLINE_PARTITION=y
# end of Partition Types

CONFIG_BLOCK_COMPAT=y
CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_BLK_MQ_RDMA=y
CONFIG_BLK_PM=y
CONFIG_BLOCK_HOLDER_DEPRECATED=y
CONFIG_BLK_MQ_STACKING=y

#
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
CONFIG_BFQ_CGROUP_DEBUG=y
# end of IO Schedulers

CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y
CONFIG_ASN1=y
CONFIG_UNINLINE_SPIN_UNLOCK=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
CONFIG_FREEZER=y

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_BINFMT_ELF_KUNIT_TEST=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=y
CONFIG_COREDUMP=y
# end of Executable file formats

#
# Memory Management options
#
CONFIG_ZPOOL=y
CONFIG_SWAP=y
CONFIG_ZSWAP=y
CONFIG_ZSWAP_DEFAULT_ON=y
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
CONFIG_ZBUD=y
CONFIG_Z3FOLD=y
CONFIG_ZSMALLOC=y
CONFIG_ZSMALLOC_STAT=y

#
# SLAB allocator options
#
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_SLAB_MERGE_DEFAULT=y
CONFIG_SLAB_FREELIST_RANDOM=y
CONFIG_SLAB_FREELIST_HARDENED=y
CONFIG_SLUB_STATS=y
CONFIG_SLUB_CPU_PARTIAL=y
# end of SLAB allocator options

CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
CONFIG_COMPAT_BRK=y
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_NUMA_KEEP_MEMINFO=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MHP_MEMMAP_ON_MEMORY=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y
CONFIG_BALLOON_COMPACTION=y
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
CONFIG_DEVICE_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=y
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANTS_THP_SWAP=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_THP_SWAP=y
CONFIG_READ_ONLY_THP_FOR_FS=y
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_FRONTSWAP=y
CONFIG_CMA=y
CONFIG_CMA_DEBUG=y
CONFIG_CMA_DEBUGFS=y
CONFIG_CMA_SYSFS=y
CONFIG_CMA_AREAS=19
CONFIG_MEM_SOFT_DIRTY=y
CONFIG_GENERIC_EARLY_IOREMAP=y
CONFIG_DEFERRED_STRUCT_PAGE_INIT=y
CONFIG_PAGE_IDLE_FLAG=y
CONFIG_IDLE_PAGE_TRACKING=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
CONFIG_ARCH_HAS_PTE_DEVMAP=y
CONFIG_ARCH_HAS_ZONE_DMA_SET=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_ZONE_DEVICE=y
CONFIG_HMM_MIRROR=y
CONFIG_GET_FREE_REGION=y
CONFIG_DEVICE_PRIVATE=y
CONFIG_VMAP_PFN=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
CONFIG_ARCH_HAS_PKEYS=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_PERCPU_STATS=y
CONFIG_GUP_TEST=y
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_MAPPING_DIRTY_HELPERS=y
CONFIG_ANON_VMA_NAME=y
CONFIG_USERFAULTFD=y
CONFIG_HAVE_ARCH_USERFAULTFD_WP=y
CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y
CONFIG_PTE_MARKER=y
CONFIG_PTE_MARKER_UFFD_WP=y
CONFIG_LRU_GEN=y
CONFIG_LRU_GEN_ENABLED=y
CONFIG_LRU_GEN_STATS=y

#
# Data Access Monitoring
#
CONFIG_DAMON=y
CONFIG_DAMON_KUNIT_TEST=y
CONFIG_DAMON_VADDR=y
CONFIG_DAMON_PADDR=y
CONFIG_DAMON_VADDR_KUNIT_TEST=y
CONFIG_DAMON_SYSFS=y
CONFIG_DAMON_DBGFS=y
CONFIG_DAMON_DBGFS_KUNIT_TEST=y
CONFIG_DAMON_RECLAIM=y
CONFIG_DAMON_LRU_SORT=y
# end of Data Access Monitoring
# end of Memory Management options

CONFIG_NET=y
CONFIG_WANT_COMPAT_NETLINK_MESSAGES=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_NET_REDIRECT=y
CONFIG_SKB_EXTENSIONS=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y
CONFIG_UNIX=y
CONFIG_UNIX_SCM=y
CONFIG_AF_UNIX_OOB=y
CONFIG_UNIX_DIAG=y
CONFIG_TLS=y
CONFIG_TLS_DEVICE=y
CONFIG_TLS_TOE=y
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_USER_COMPAT=y
CONFIG_XFRM_INTERFACE=y
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_AH=y
CONFIG_XFRM_ESP=y
CONFIG_XFRM_IPCOMP=y
CONFIG_NET_KEY=y
CONFIG_NET_KEY_MIGRATE=y
CONFIG_XFRM_ESPINTCP=y
CONFIG_SMC=y
CONFIG_SMC_DIAG=y
CONFIG_XDP_SOCKETS=y
CONFIG_XDP_SOCKETS_DIAG=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_RARP=y
CONFIG_NET_IPIP=y
CONFIG_NET_IPGRE_DEMUX=y
CONFIG_NET_IP_TUNNEL=y
CONFIG_NET_IPGRE=y
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=y
CONFIG_NET_UDP_TUNNEL=y
CONFIG_NET_FOU=y
CONFIG_NET_FOU_IP_TUNNELS=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_ESP_OFFLOAD=y
CONFIG_INET_ESPINTCP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_TABLE_PERTURB_ORDER=16
CONFIG_INET_XFRM_TUNNEL=y
CONFIG_INET_TUNNEL=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_INET_UDP_DIAG=y
CONFIG_INET_RAW_DIAG=y
CONFIG_INET_DIAG_DESTROY=y
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=y
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=y
CONFIG_TCP_CONG_HTCP=y
CONFIG_TCP_CONG_HSTCP=y
CONFIG_TCP_CONG_HYBLA=y
CONFIG_TCP_CONG_VEGAS=y
CONFIG_TCP_CONG_NV=y
CONFIG_TCP_CONG_SCALABLE=y
CONFIG_TCP_CONG_LP=y
CONFIG_TCP_CONG_VENO=y
CONFIG_TCP_CONG_YEAH=y
CONFIG_TCP_CONG_ILLINOIS=y
CONFIG_TCP_CONG_DCTCP=y
CONFIG_TCP_CONG_CDG=y
CONFIG_TCP_CONG_BBR=y
# CONFIG_DEFAULT_BIC is not set
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_HTCP is not set
# CONFIG_DEFAULT_HYBLA is not set
# CONFIG_DEFAULT_VEGAS is not set
# CONFIG_DEFAULT_VENO is not set
# CONFIG_DEFAULT_WESTWOOD is not set
# CONFIG_DEFAULT_DCTCP is not set
# CONFIG_DEFAULT_CDG is not set
# CONFIG_DEFAULT_BBR is not set
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=y
CONFIG_INET6_ESP=y
CONFIG_INET6_ESP_OFFLOAD=y
CONFIG_INET6_ESPINTCP=y
CONFIG_INET6_IPCOMP=y
CONFIG_IPV6_MIP6=y
CONFIG_IPV6_ILA=y
CONFIG_INET6_XFRM_TUNNEL=y
CONFIG_INET6_TUNNEL=y
CONFIG_IPV6_VTI=y
CONFIG_IPV6_SIT=y
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=y
CONFIG_IPV6_GRE=y
CONFIG_IPV6_FOU=y
CONFIG_IPV6_FOU_TUNNEL=y
CONFIG_IPV6_MULTIPLE_TABLES=y
CONFIG_IPV6_SUBTREES=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
CONFIG_IPV6_SEG6_LWTUNNEL=y
CONFIG_IPV6_SEG6_HMAC=y
CONFIG_IPV6_SEG6_BPF=y
CONFIG_IPV6_RPL_LWTUNNEL=y
CONFIG_IPV6_IOAM6_LWTUNNEL=y
CONFIG_NETLABEL=y
CONFIG_MPTCP=y
CONFIG_INET_MPTCP_DIAG=y
CONFIG_MPTCP_IPV6=y
CONFIG_MPTCP_KUNIT_TEST=y
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=y

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_EGRESS=y
CONFIG_NETFILTER_SKIP_EGRESS=y
CONFIG_NETFILTER_NETLINK=y
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NETFILTER_FAMILY_ARP=y
CONFIG_NETFILTER_NETLINK_HOOK=y
CONFIG_NETFILTER_NETLINK_ACCT=y
CONFIG_NETFILTER_NETLINK_QUEUE=y
CONFIG_NETFILTER_NETLINK_LOG=y
CONFIG_NETFILTER_NETLINK_OSF=y
CONFIG_NF_CONNTRACK=y
CONFIG_NF_LOG_SYSLOG=y
CONFIG_NETFILTER_CONNCOUNT=y
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=y
CONFIG_NF_CONNTRACK_FTP=y
CONFIG_NF_CONNTRACK_H323=y
CONFIG_NF_CONNTRACK_IRC=y
CONFIG_NF_CONNTRACK_BROADCAST=y
CONFIG_NF_CONNTRACK_NETBIOS_NS=y
CONFIG_NF_CONNTRACK_SNMP=y
CONFIG_NF_CONNTRACK_PPTP=y
CONFIG_NF_CONNTRACK_SANE=y
CONFIG_NF_CONNTRACK_SIP=y
CONFIG_NF_CONNTRACK_TFTP=y
CONFIG_NF_CT_NETLINK=y
CONFIG_NF_CT_NETLINK_TIMEOUT=y
CONFIG_NF_CT_NETLINK_HELPER=y
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_AMANDA=y
CONFIG_NF_NAT_FTP=y
CONFIG_NF_NAT_IRC=y
CONFIG_NF_NAT_SIP=y
CONFIG_NF_NAT_TFTP=y
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NETFILTER_SYNPROXY=y
CONFIG_NF_TABLES=y
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_NUMGEN=y
CONFIG_NFT_CT=y
CONFIG_NFT_FLOW_OFFLOAD=y
CONFIG_NFT_CONNLIMIT=y
CONFIG_NFT_LOG=y
CONFIG_NFT_LIMIT=y
CONFIG_NFT_MASQ=y
CONFIG_NFT_REDIR=y
CONFIG_NFT_NAT=y
CONFIG_NFT_TUNNEL=y
CONFIG_NFT_OBJREF=y
CONFIG_NFT_QUEUE=y
CONFIG_NFT_QUOTA=y
CONFIG_NFT_REJECT=y
CONFIG_NFT_REJECT_INET=y
CONFIG_NFT_COMPAT=y
CONFIG_NFT_HASH=y
CONFIG_NFT_FIB=y
CONFIG_NFT_FIB_INET=y
CONFIG_NFT_XFRM=y
CONFIG_NFT_SOCKET=y
CONFIG_NFT_OSF=y
CONFIG_NFT_TPROXY=y
CONFIG_NFT_SYNPROXY=y
CONFIG_NF_DUP_NETDEV=y
CONFIG_NFT_DUP_NETDEV=y
CONFIG_NFT_FWD_NETDEV=y
CONFIG_NFT_FIB_NETDEV=y
CONFIG_NFT_REJECT_NETDEV=y
CONFIG_NF_FLOW_TABLE_INET=y
CONFIG_NF_FLOW_TABLE=y
CONFIG_NF_FLOW_TABLE_PROCFS=y
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XTABLES_COMPAT=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=y
CONFIG_NETFILTER_XT_CONNMARK=y
CONFIG_NETFILTER_XT_SET=y

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=y
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_CT=y
CONFIG_NETFILTER_XT_TARGET_DSCP=y
CONFIG_NETFILTER_XT_TARGET_HL=y
CONFIG_NETFILTER_XT_TARGET_HMARK=y
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y
CONFIG_NETFILTER_XT_TARGET_LED=y
CONFIG_NETFILTER_XT_TARGET_LOG=y
CONFIG_NETFILTER_XT_TARGET_MARK=y
CONFIG_NETFILTER_XT_NAT=y
CONFIG_NETFILTER_XT_TARGET_NETMAP=y
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y
CONFIG_NETFILTER_XT_TARGET_NOTRACK=y
CONFIG_NETFILTER_XT_TARGET_RATEEST=y
CONFIG_NETFILTER_XT_TARGET_REDIRECT=y
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_TARGET_TEE=y
CONFIG_NETFILTER_XT_TARGET_TPROXY=y
CONFIG_NETFILTER_XT_TARGET_TRACE=y
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=y

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_BPF=y
CONFIG_NETFILTER_XT_MATCH_CGROUP=y
CONFIG_NETFILTER_XT_MATCH_CLUSTER=y
CONFIG_NETFILTER_XT_MATCH_COMMENT=y
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=y
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y
CONFIG_NETFILTER_XT_MATCH_CONNMARK=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
CONFIG_NETFILTER_XT_MATCH_CPU=y
CONFIG_NETFILTER_XT_MATCH_DCCP=y
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y
CONFIG_NETFILTER_XT_MATCH_DSCP=y
CONFIG_NETFILTER_XT_MATCH_ECN=y
CONFIG_NETFILTER_XT_MATCH_ESP=y
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y
CONFIG_NETFILTER_XT_MATCH_HELPER=y
CONFIG_NETFILTER_XT_MATCH_HL=y
CONFIG_NETFILTER_XT_MATCH_IPCOMP=y
CONFIG_NETFILTER_XT_MATCH_IPRANGE=y
CONFIG_NETFILTER_XT_MATCH_IPVS=y
CONFIG_NETFILTER_XT_MATCH_L2TP=y
CONFIG_NETFILTER_XT_MATCH_LENGTH=y
CONFIG_NETFILTER_XT_MATCH_LIMIT=y
CONFIG_NETFILTER_XT_MATCH_MAC=y
CONFIG_NETFILTER_XT_MATCH_MARK=y
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y
CONFIG_NETFILTER_XT_MATCH_NFACCT=y
CONFIG_NETFILTER_XT_MATCH_OSF=y
CONFIG_NETFILTER_XT_MATCH_OWNER=y
CONFIG_NETFILTER_XT_MATCH_POLICY=y
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y
CONFIG_NETFILTER_XT_MATCH_QUOTA=y
CONFIG_NETFILTER_XT_MATCH_RATEEST=y
CONFIG_NETFILTER_XT_MATCH_REALM=y
CONFIG_NETFILTER_XT_MATCH_RECENT=y
CONFIG_NETFILTER_XT_MATCH_SCTP=y
CONFIG_NETFILTER_XT_MATCH_SOCKET=y
CONFIG_NETFILTER_XT_MATCH_STATE=y
CONFIG_NETFILTER_XT_MATCH_STATISTIC=y
CONFIG_NETFILTER_XT_MATCH_STRING=y
CONFIG_NETFILTER_XT_MATCH_TCPMSS=y
CONFIG_NETFILTER_XT_MATCH_TIME=y
CONFIG_NETFILTER_XT_MATCH_U32=y
# end of Core Netfilter Configuration

CONFIG_IP_SET=y
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=y
CONFIG_IP_SET_BITMAP_IPMAC=y
CONFIG_IP_SET_BITMAP_PORT=y
CONFIG_IP_SET_HASH_IP=y
CONFIG_IP_SET_HASH_IPMARK=y
CONFIG_IP_SET_HASH_IPPORT=y
CONFIG_IP_SET_HASH_IPPORTIP=y
CONFIG_IP_SET_HASH_IPPORTNET=y
CONFIG_IP_SET_HASH_IPMAC=y
CONFIG_IP_SET_HASH_MAC=y
CONFIG_IP_SET_HASH_NETPORTNET=y
CONFIG_IP_SET_HASH_NET=y
CONFIG_IP_SET_HASH_NETNET=y
CONFIG_IP_SET_HASH_NETPORT=y
CONFIG_IP_SET_HASH_NETIFACE=y
CONFIG_IP_SET_LIST_SET=y
CONFIG_IP_VS=y
CONFIG_IP_VS_IPV6=y
CONFIG_IP_VS_DEBUG=y
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_WRR=y
CONFIG_IP_VS_LC=y
CONFIG_IP_VS_WLC=y
CONFIG_IP_VS_FO=y
CONFIG_IP_VS_OVF=y
CONFIG_IP_VS_LBLC=y
CONFIG_IP_VS_LBLCR=y
CONFIG_IP_VS_DH=y
CONFIG_IP_VS_SH=y
CONFIG_IP_VS_MH=y
CONFIG_IP_VS_SED=y
CONFIG_IP_VS_NQ=y
CONFIG_IP_VS_TWOS=y

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS MH scheduler
#
CONFIG_IP_VS_MH_TAB_INDEX=12

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=y
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PE_SIP=y

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=y
CONFIG_NF_SOCKET_IPV4=y
CONFIG_NF_TPROXY_IPV4=y
CONFIG_NF_TABLES_IPV4=y
CONFIG_NFT_REJECT_IPV4=y
CONFIG_NFT_DUP_IPV4=y
CONFIG_NFT_FIB_IPV4=y
CONFIG_NF_TABLES_ARP=y
CONFIG_NF_DUP_IPV4=y
CONFIG_NF_LOG_ARP=y
CONFIG_NF_LOG_IPV4=y
CONFIG_NF_REJECT_IPV4=y
CONFIG_NF_NAT_SNMP_BASIC=y
CONFIG_NF_NAT_PPTP=y
CONFIG_NF_NAT_H323=y
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_AH=y
CONFIG_IP_NF_MATCH_ECN=y
CONFIG_IP_NF_MATCH_RPFILTER=y
CONFIG_IP_NF_MATCH_TTL=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_REJECT=y
CONFIG_IP_NF_TARGET_SYNPROXY=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_NETMAP=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_TARGET_CLUSTERIP=y
CONFIG_IP_NF_TARGET_ECN=y
CONFIG_IP_NF_TARGET_TTL=y
CONFIG_IP_NF_RAW=y
CONFIG_IP_NF_SECURITY=y
CONFIG_IP_NF_ARPTABLES=y
CONFIG_IP_NF_ARPFILTER=y
CONFIG_IP_NF_ARP_MANGLE=y
# end of IP: Netfilter Configuration

#
# IPv6: Netfilter Configuration
#
CONFIG_NF_SOCKET_IPV6=y
CONFIG_NF_TPROXY_IPV6=y
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_REJECT_IPV6=y
CONFIG_NFT_DUP_IPV6=y
CONFIG_NFT_FIB_IPV6=y
CONFIG_NF_DUP_IPV6=y
CONFIG_NF_REJECT_IPV6=y
CONFIG_NF_LOG_IPV6=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_MATCH_AH=y
CONFIG_IP6_NF_MATCH_EUI64=y
CONFIG_IP6_NF_MATCH_FRAG=y
CONFIG_IP6_NF_MATCH_OPTS=y
CONFIG_IP6_NF_MATCH_HL=y
CONFIG_IP6_NF_MATCH_IPV6HEADER=y
CONFIG_IP6_NF_MATCH_MH=y
CONFIG_IP6_NF_MATCH_RPFILTER=y
CONFIG_IP6_NF_MATCH_RT=y
CONFIG_IP6_NF_MATCH_SRH=y
CONFIG_IP6_NF_TARGET_HL=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_TARGET_REJECT=y
CONFIG_IP6_NF_TARGET_SYNPROXY=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_RAW=y
CONFIG_IP6_NF_SECURITY=y
CONFIG_IP6_NF_NAT=y
CONFIG_IP6_NF_TARGET_MASQUERADE=y
CONFIG_IP6_NF_TARGET_NPT=y
# end of IPv6: Netfilter Configuration

CONFIG_NF_DEFRAG_IPV6=y
CONFIG_NF_TABLES_BRIDGE=y
CONFIG_NFT_BRIDGE_META=y
CONFIG_NFT_BRIDGE_REJECT=y
CONFIG_NF_CONNTRACK_BRIDGE=y
CONFIG_BRIDGE_NF_EBTABLES=y
CONFIG_BRIDGE_EBT_BROUTE=y
CONFIG_BRIDGE_EBT_T_FILTER=y
CONFIG_BRIDGE_EBT_T_NAT=y
CONFIG_BRIDGE_EBT_802_3=y
CONFIG_BRIDGE_EBT_AMONG=y
CONFIG_BRIDGE_EBT_ARP=y
CONFIG_BRIDGE_EBT_IP=y
CONFIG_BRIDGE_EBT_IP6=y
CONFIG_BRIDGE_EBT_LIMIT=y
CONFIG_BRIDGE_EBT_MARK=y
CONFIG_BRIDGE_EBT_PKTTYPE=y
CONFIG_BRIDGE_EBT_STP=y
CONFIG_BRIDGE_EBT_VLAN=y
CONFIG_BRIDGE_EBT_ARPREPLY=y
CONFIG_BRIDGE_EBT_DNAT=y
CONFIG_BRIDGE_EBT_MARK_T=y
CONFIG_BRIDGE_EBT_REDIRECT=y
CONFIG_BRIDGE_EBT_SNAT=y
CONFIG_BRIDGE_EBT_LOG=y
CONFIG_BRIDGE_EBT_NFLOG=y
CONFIG_BPFILTER=y
CONFIG_BPFILTER_UMH=y
CONFIG_IP_DCCP=y
CONFIG_INET_DCCP_DIAG=y

#
# DCCP CCIDs Configuration
#
CONFIG_IP_DCCP_CCID2_DEBUG=y
CONFIG_IP_DCCP_CCID3=y
CONFIG_IP_DCCP_CCID3_DEBUG=y
CONFIG_IP_DCCP_TFRC_LIB=y
CONFIG_IP_DCCP_TFRC_DEBUG=y
# end of DCCP CCIDs Configuration

#
# DCCP Kernel Hacking
#
CONFIG_IP_DCCP_DEBUG=y
# end of DCCP Kernel Hacking

CONFIG_IP_SCTP=y
CONFIG_SCTP_DBG_OBJCNT=y
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_COOKIE_HMAC_MD5=y
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_INET_SCTP_DIAG=y
CONFIG_RDS=y
CONFIG_RDS_RDMA=y
CONFIG_RDS_TCP=y
CONFIG_RDS_DEBUG=y
CONFIG_TIPC=y
CONFIG_TIPC_MEDIA_IB=y
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=y
CONFIG_ATM=y
CONFIG_ATM_CLIP=y
CONFIG_ATM_CLIP_NO_ICMP=y
CONFIG_ATM_LANE=y
CONFIG_ATM_MPOA=y
CONFIG_ATM_BR2684=y
CONFIG_ATM_BR2684_IPFILTER=y
CONFIG_L2TP=y
CONFIG_L2TP_DEBUGFS=y
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=y
CONFIG_L2TP_ETH=y
CONFIG_STP=y
CONFIG_GARP=y
CONFIG_MRP=y
CONFIG_BRIDGE=y
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
CONFIG_BRIDGE_MRP=y
CONFIG_BRIDGE_CFM=y
CONFIG_NET_DSA=y
CONFIG_NET_DSA_TAG_AR9331=y
CONFIG_NET_DSA_TAG_BRCM_COMMON=y
CONFIG_NET_DSA_TAG_BRCM=y
CONFIG_NET_DSA_TAG_BRCM_LEGACY=y
CONFIG_NET_DSA_TAG_BRCM_PREPEND=y
CONFIG_NET_DSA_TAG_HELLCREEK=y
CONFIG_NET_DSA_TAG_GSWIP=y
CONFIG_NET_DSA_TAG_DSA_COMMON=y
CONFIG_NET_DSA_TAG_DSA=y
CONFIG_NET_DSA_TAG_EDSA=y
CONFIG_NET_DSA_TAG_MTK=y
CONFIG_NET_DSA_TAG_KSZ=y
CONFIG_NET_DSA_TAG_OCELOT=y
CONFIG_NET_DSA_TAG_OCELOT_8021Q=y
CONFIG_NET_DSA_TAG_QCA=y
CONFIG_NET_DSA_TAG_RTL4_A=y
CONFIG_NET_DSA_TAG_RTL8_4=y
CONFIG_NET_DSA_TAG_RZN1_A5PSW=y
CONFIG_NET_DSA_TAG_LAN9303=y
CONFIG_NET_DSA_TAG_SJA1105=y
CONFIG_NET_DSA_TAG_TRAILER=y
CONFIG_NET_DSA_TAG_XRS700X=y
CONFIG_VLAN_8021Q=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_LLC=y
CONFIG_LLC2=y
CONFIG_ATALK=y
CONFIG_DEV_APPLETALK=y
CONFIG_IPDDP=y
CONFIG_IPDDP_ENCAP=y
CONFIG_X25=y
CONFIG_LAPB=y
CONFIG_PHONET=y
CONFIG_6LOWPAN=y
CONFIG_6LOWPAN_DEBUGFS=y
CONFIG_6LOWPAN_NHC=y
CONFIG_6LOWPAN_NHC_DEST=y
CONFIG_6LOWPAN_NHC_FRAGMENT=y
CONFIG_6LOWPAN_NHC_HOP=y
CONFIG_6LOWPAN_NHC_IPV6=y
CONFIG_6LOWPAN_NHC_MOBILITY=y
CONFIG_6LOWPAN_NHC_ROUTING=y
CONFIG_6LOWPAN_NHC_UDP=y
CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=y
CONFIG_6LOWPAN_GHC_UDP=y
CONFIG_6LOWPAN_GHC_ICMPV6=y
CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=y
CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=y
CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=y
CONFIG_IEEE802154=y
CONFIG_IEEE802154_NL802154_EXPERIMENTAL=y
CONFIG_IEEE802154_SOCKET=y
CONFIG_IEEE802154_6LOWPAN=y
CONFIG_MAC802154=y
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_CBQ=y
CONFIG_NET_SCH_HTB=y
CONFIG_NET_SCH_HFSC=y
CONFIG_NET_SCH_ATM=y
CONFIG_NET_SCH_PRIO=y
CONFIG_NET_SCH_MULTIQ=y
CONFIG_NET_SCH_RED=y
CONFIG_NET_SCH_SFB=y
CONFIG_NET_SCH_SFQ=y
CONFIG_NET_SCH_TEQL=y
CONFIG_NET_SCH_TBF=y
CONFIG_NET_SCH_CBS=y
CONFIG_NET_SCH_ETF=y
CONFIG_NET_SCH_TAPRIO=y
CONFIG_NET_SCH_GRED=y
CONFIG_NET_SCH_DSMARK=y
CONFIG_NET_SCH_NETEM=y
CONFIG_NET_SCH_DRR=y
CONFIG_NET_SCH_MQPRIO=y
CONFIG_NET_SCH_SKBPRIO=y
CONFIG_NET_SCH_CHOKE=y
CONFIG_NET_SCH_QFQ=y
CONFIG_NET_SCH_CODEL=y
CONFIG_NET_SCH_FQ_CODEL=y
CONFIG_NET_SCH_CAKE=y
CONFIG_NET_SCH_FQ=y
CONFIG_NET_SCH_HHF=y
CONFIG_NET_SCH_PIE=y
CONFIG_NET_SCH_FQ_PIE=y
CONFIG_NET_SCH_INGRESS=y
CONFIG_NET_SCH_PLUG=y
CONFIG_NET_SCH_ETS=y
CONFIG_NET_SCH_DEFAULT=y
# CONFIG_DEFAULT_FQ is not set
# CONFIG_DEFAULT_CODEL is not set
# CONFIG_DEFAULT_FQ_CODEL is not set
# CONFIG_DEFAULT_FQ_PIE is not set
# CONFIG_DEFAULT_SFQ is not set
CONFIG_DEFAULT_PFIFO_FAST=y
CONFIG_DEFAULT_NET_SCH="pfifo_fast"

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=y
CONFIG_NET_CLS_TCINDEX=y
CONFIG_NET_CLS_ROUTE4=y
CONFIG_NET_CLS_FW=y
CONFIG_NET_CLS_U32=y
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_RSVP=y
CONFIG_NET_CLS_RSVP6=y
CONFIG_NET_CLS_FLOW=y
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_CLS_BPF=y
CONFIG_NET_CLS_FLOWER=y
CONFIG_NET_CLS_MATCHALL=y
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=y
CONFIG_NET_EMATCH_NBYTE=y
CONFIG_NET_EMATCH_U32=y
CONFIG_NET_EMATCH_META=y
CONFIG_NET_EMATCH_TEXT=y
CONFIG_NET_EMATCH_CANID=y
CONFIG_NET_EMATCH_IPSET=y
CONFIG_NET_EMATCH_IPT=y
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=y
CONFIG_NET_ACT_GACT=y
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=y
CONFIG_NET_ACT_SAMPLE=y
CONFIG_NET_ACT_IPT=y
CONFIG_NET_ACT_NAT=y
CONFIG_NET_ACT_PEDIT=y
CONFIG_NET_ACT_SIMP=y
CONFIG_NET_ACT_SKBEDIT=y
CONFIG_NET_ACT_CSUM=y
CONFIG_NET_ACT_MPLS=y
CONFIG_NET_ACT_VLAN=y
CONFIG_NET_ACT_BPF=y
CONFIG_NET_ACT_CONNMARK=y
CONFIG_NET_ACT_CTINFO=y
CONFIG_NET_ACT_SKBMOD=y
CONFIG_NET_ACT_IFE=y
CONFIG_NET_ACT_TUNNEL_KEY=y
CONFIG_NET_ACT_CT=y
CONFIG_NET_ACT_GATE=y
CONFIG_NET_IFE_SKBMARK=y
CONFIG_NET_IFE_SKBPRIO=y
CONFIG_NET_IFE_SKBTCINDEX=y
CONFIG_NET_TC_SKB_EXT=y
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=y
CONFIG_BATMAN_ADV=y
CONFIG_BATMAN_ADV_BATMAN_V=y
CONFIG_BATMAN_ADV_BLA=y
CONFIG_BATMAN_ADV_DAT=y
CONFIG_BATMAN_ADV_NC=y
CONFIG_BATMAN_ADV_MCAST=y
CONFIG_BATMAN_ADV_DEBUG=y
CONFIG_BATMAN_ADV_TRACING=y
CONFIG_OPENVSWITCH=y
CONFIG_OPENVSWITCH_GRE=y
CONFIG_OPENVSWITCH_VXLAN=y
CONFIG_OPENVSWITCH_GENEVE=y
CONFIG_VSOCKETS=y
CONFIG_VSOCKETS_DIAG=y
CONFIG_VSOCKETS_LOOPBACK=y
CONFIG_VMWARE_VMCI_VSOCKETS=y
CONFIG_VIRTIO_VSOCKETS=y
CONFIG_VIRTIO_VSOCKETS_COMMON=y
CONFIG_HYPERV_VSOCKETS=y
CONFIG_NETLINK_DIAG=y
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=y
CONFIG_MPLS_ROUTING=y
CONFIG_MPLS_IPTUNNEL=y
CONFIG_NET_NSH=y
CONFIG_HSR=y
CONFIG_NET_SWITCHDEV=y
CONFIG_NET_L3_MASTER_DEV=y
CONFIG_QRTR=y
CONFIG_QRTR_SMD=y
CONFIG_QRTR_TUN=y
CONFIG_QRTR_MHI=y
CONFIG_NET_NCSI=y
CONFIG_NCSI_OEM_CMD_GET_MAC=y
CONFIG_NCSI_OEM_CMD_KEEP_PHY=y
CONFIG_PCPU_DEV_REFCNT=y
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_BPF_STREAM_PARSER=y
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
CONFIG_NET_PKTGEN=y
CONFIG_NET_DROP_MONITOR=y
# end of Network testing
# end of Networking options

CONFIG_HAMRADIO=y

#
# Packet Radio protocols
#
CONFIG_AX25=y
CONFIG_AX25_DAMA_SLAVE=y
CONFIG_NETROM=y
CONFIG_ROSE=y

#
# AX.25 network device drivers
#
CONFIG_MKISS=y
CONFIG_6PACK=y
CONFIG_BPQETHER=y
CONFIG_BAYCOM_SER_FDX=y
CONFIG_BAYCOM_SER_HDX=y
CONFIG_BAYCOM_PAR=y
CONFIG_YAM=y
# end of AX.25 network device drivers

CONFIG_CAN=y
CONFIG_CAN_RAW=y
CONFIG_CAN_BCM=y
CONFIG_CAN_GW=y
CONFIG_CAN_J1939=y
CONFIG_CAN_ISOTP=y
CONFIG_BT=y
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=y
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_BNEP=y
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=y
CONFIG_BT_HIDP=y
CONFIG_BT_HS=y
CONFIG_BT_LE=y
CONFIG_BT_6LOWPAN=y
CONFIG_BT_LEDS=y
CONFIG_BT_MSFTEXT=y
CONFIG_BT_AOSPEXT=y
CONFIG_BT_DEBUGFS=y
CONFIG_BT_SELFTEST=y
CONFIG_BT_SELFTEST_ECDH=y
CONFIG_BT_SELFTEST_SMP=y

#
# Bluetooth device drivers
#
CONFIG_BT_INTEL=y
CONFIG_BT_BCM=y
CONFIG_BT_RTL=y
CONFIG_BT_QCA=y
CONFIG_BT_MTK=y
CONFIG_BT_HCIBTUSB=y
CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y
CONFIG_BT_HCIBTUSB_BCM=y
CONFIG_BT_HCIBTUSB_MTK=y
CONFIG_BT_HCIBTUSB_RTL=y
CONFIG_BT_HCIBTSDIO=y
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_SERDEV=y
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_NOKIA=y
CONFIG_BT_HCIUART_BCSP=y
CONFIG_BT_HCIUART_ATH3K=y
CONFIG_BT_HCIUART_LL=y
CONFIG_BT_HCIUART_3WIRE=y
CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_HCIUART_BCM=y
CONFIG_BT_HCIUART_RTL=y
CONFIG_BT_HCIUART_QCA=y
CONFIG_BT_HCIUART_AG6XX=y
CONFIG_BT_HCIUART_MRVL=y
CONFIG_BT_HCIBCM203X=y
CONFIG_BT_HCIBPA10X=y
CONFIG_BT_HCIBFUSB=y
CONFIG_BT_HCIDTL1=y
CONFIG_BT_HCIBT3C=y
CONFIG_BT_HCIBLUECARD=y
CONFIG_BT_HCIVHCI=y
CONFIG_BT_MRVL=y
CONFIG_BT_MRVL_SDIO=y
CONFIG_BT_ATH3K=y
CONFIG_BT_MTKSDIO=y
CONFIG_BT_MTKUART=y
CONFIG_BT_HCIRSI=y
CONFIG_BT_VIRTIO=y
# end of Bluetooth device drivers

CONFIG_AF_RXRPC=y
CONFIG_AF_RXRPC_IPV6=y
CONFIG_AF_RXRPC_INJECT_LOSS=y
CONFIG_AF_RXRPC_DEBUG=y
CONFIG_RXKAD=y
CONFIG_AF_KCM=y
CONFIG_STREAM_PARSER=y
CONFIG_MCTP=y
CONFIG_MCTP_TEST=y
CONFIG_MCTP_FLOWS=y
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_CFG80211=y
CONFIG_NL80211_TESTMODE=y
CONFIG_CFG80211_DEVELOPER_WARNINGS=y
CONFIG_CFG80211_CERTIFICATION_ONUS=y
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
CONFIG_CFG80211_EXTRA_REGDB_KEYDIR=""
CONFIG_CFG80211_REG_CELLULAR_HINTS=y
CONFIG_CFG80211_REG_RELAX_NO_IR=y
CONFIG_CFG80211_DEFAULT_PS=y
CONFIG_CFG80211_DEBUGFS=y
CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_WEXT=y
CONFIG_CFG80211_WEXT_EXPORT=y
CONFIG_LIB80211=y
CONFIG_LIB80211_CRYPT_WEP=y
CONFIG_LIB80211_CRYPT_CCMP=y
CONFIG_LIB80211_CRYPT_TKIP=y
CONFIG_LIB80211_DEBUG=y
CONFIG_MAC80211=y
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
CONFIG_MAC80211_MESSAGE_TRACING=y
CONFIG_MAC80211_DEBUG_MENU=y
CONFIG_MAC80211_NOINLINE=y
CONFIG_MAC80211_VERBOSE_DEBUG=y
CONFIG_MAC80211_MLME_DEBUG=y
CONFIG_MAC80211_STA_DEBUG=y
CONFIG_MAC80211_HT_DEBUG=y
CONFIG_MAC80211_OCB_DEBUG=y
CONFIG_MAC80211_IBSS_DEBUG=y
CONFIG_MAC80211_PS_DEBUG=y
CONFIG_MAC80211_MPL_DEBUG=y
CONFIG_MAC80211_MPATH_DEBUG=y
CONFIG_MAC80211_MHWMP_DEBUG=y
CONFIG_MAC80211_MESH_SYNC_DEBUG=y
CONFIG_MAC80211_MESH_CSA_DEBUG=y
CONFIG_MAC80211_MESH_PS_DEBUG=y
CONFIG_MAC80211_TDLS_DEBUG=y
CONFIG_MAC80211_DEBUG_COUNTERS=y
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
CONFIG_RFKILL=y
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
CONFIG_RFKILL_GPIO=y
CONFIG_NET_9P=y
CONFIG_NET_9P_FD=y
CONFIG_NET_9P_VIRTIO=y
CONFIG_NET_9P_XEN=y
CONFIG_NET_9P_RDMA=y
CONFIG_NET_9P_DEBUG=y
CONFIG_CAIF=y
CONFIG_CAIF_DEBUG=y
CONFIG_CAIF_NETDEV=y
CONFIG_CAIF_USB=y
CONFIG_CEPH_LIB=y
CONFIG_CEPH_LIB_PRETTYDEBUG=y
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
CONFIG_NFC=y
CONFIG_NFC_DIGITAL=y
CONFIG_NFC_NCI=y
CONFIG_NFC_NCI_SPI=y
CONFIG_NFC_NCI_UART=y
CONFIG_NFC_HCI=y
CONFIG_NFC_SHDLC=y

#
# Near Field Communication (NFC) devices
#
CONFIG_NFC_TRF7970A=y
CONFIG_NFC_MEI_PHY=y
CONFIG_NFC_SIM=y
CONFIG_NFC_PORT100=y
CONFIG_NFC_VIRTUAL_NCI=y
CONFIG_NFC_FDP=y
CONFIG_NFC_FDP_I2C=y
CONFIG_NFC_PN544=y
CONFIG_NFC_PN544_I2C=y
CONFIG_NFC_PN544_MEI=y
CONFIG_NFC_PN533=y
CONFIG_NFC_PN533_USB=y
CONFIG_NFC_PN533_I2C=y
CONFIG_NFC_PN532_UART=y
CONFIG_NFC_MICROREAD=y
CONFIG_NFC_MICROREAD_I2C=y
CONFIG_NFC_MICROREAD_MEI=y
CONFIG_NFC_MRVL=y
CONFIG_NFC_MRVL_USB=y
CONFIG_NFC_MRVL_UART=y
CONFIG_NFC_MRVL_I2C=y
CONFIG_NFC_MRVL_SPI=y
CONFIG_NFC_ST21NFCA=y
CONFIG_NFC_ST21NFCA_I2C=y
CONFIG_NFC_ST_NCI=y
CONFIG_NFC_ST_NCI_I2C=y
CONFIG_NFC_ST_NCI_SPI=y
CONFIG_NFC_NXP_NCI=y
CONFIG_NFC_NXP_NCI_I2C=y
CONFIG_NFC_S3FWRN5=y
CONFIG_NFC_S3FWRN5_I2C=y
CONFIG_NFC_S3FWRN82_UART=y
CONFIG_NFC_ST95HF=y
# end of Near Field Communication (NFC) devices

CONFIG_PSAMPLE=y
CONFIG_NET_IFE=y
CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_SOCK_VALIDATE_XMIT=y
CONFIG_NET_SELFTESTS=y
CONFIG_NET_SOCK_MSG=y
CONFIG_NET_DEVLINK=y
CONFIG_PAGE_POOL=y
CONFIG_PAGE_POOL_STATS=y
CONFIG_FAILOVER=y
CONFIG_ETHTOOL_NETLINK=y
CONFIG_NETDEV_ADDR_LIST_TEST=y

#
# Device Drivers
#
CONFIG_HAVE_EISA=y
CONFIG_EISA=y
CONFIG_EISA_VLB_PRIMING=y
CONFIG_EISA_PCI_EISA=y
CONFIG_EISA_VIRTUAL_ROOT=y
CONFIG_EISA_NAMES=y
CONFIG_HAVE_PCI=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_PCIEAER=y
CONFIG_PCIEAER_INJECT=y
CONFIG_PCIE_ECRC=y
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
CONFIG_PCIE_DPC=y
CONFIG_PCIE_PTM=y
CONFIG_PCIE_EDR=y
CONFIG_PCI_MSI=y
CONFIG_PCI_MSI_IRQ_DOMAIN=y
CONFIG_PCI_QUIRKS=y
CONFIG_PCI_DEBUG=y
CONFIG_PCI_REALLOC_ENABLE_AUTO=y
CONFIG_PCI_STUB=y
CONFIG_PCI_PF_STUB=y
CONFIG_XEN_PCIDEV_FRONTEND=y
CONFIG_PCI_ATS=y
CONFIG_PCI_DOE=y
CONFIG_PCI_ECAM=y
CONFIG_PCI_LOCKLESS_CONFIG=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
CONFIG_PCI_P2PDMA=y
CONFIG_PCI_LABEL=y
CONFIG_PCI_HYPERV=y
# CONFIG_PCIE_BUS_TUNE_OFF is not set
CONFIG_PCIE_BUS_DEFAULT=y
# CONFIG_PCIE_BUS_SAFE is not set
# CONFIG_PCIE_BUS_PERFORMANCE is not set
# CONFIG_PCIE_BUS_PEER2PEER is not set
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=y
CONFIG_HOTPLUG_PCI_CPCI=y
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=y
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=y
CONFIG_HOTPLUG_PCI_SHPC=y

#
# PCI controller drivers
#
CONFIG_PCI_FTPCI100=y
CONFIG_PCI_HOST_COMMON=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_PCIE_XILINX=y
CONFIG_VMD=y
CONFIG_PCI_HYPERV_INTERFACE=y
CONFIG_PCIE_MICROCHIP_HOST=y

#
# DesignWare PCI Core Support
#
CONFIG_PCIE_DW=y
CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_DW_EP=y
CONFIG_PCIE_DW_PLAT=y
CONFIG_PCIE_DW_PLAT_HOST=y
CONFIG_PCIE_DW_PLAT_EP=y
CONFIG_PCIE_INTEL_GW=y
CONFIG_PCI_MESON=y
# end of DesignWare PCI Core Support

#
# Mobiveil PCIe Core Support
#
# end of Mobiveil PCIe Core Support

#
# Cadence PCIe controllers support
#
CONFIG_PCIE_CADENCE=y
CONFIG_PCIE_CADENCE_HOST=y
CONFIG_PCIE_CADENCE_EP=y
CONFIG_PCIE_CADENCE_PLAT=y
CONFIG_PCIE_CADENCE_PLAT_HOST=y
CONFIG_PCIE_CADENCE_PLAT_EP=y
CONFIG_PCI_J721E=y
CONFIG_PCI_J721E_HOST=y
CONFIG_PCI_J721E_EP=y
# end of Cadence PCIe controllers support
# end of PCI controller drivers

#
# PCI Endpoint
#
CONFIG_PCI_ENDPOINT=y
CONFIG_PCI_ENDPOINT_CONFIGFS=y
CONFIG_PCI_EPF_TEST=y
CONFIG_PCI_EPF_NTB=y
CONFIG_PCI_EPF_VNTB=y
# end of PCI Endpoint

#
# PCI switch controller drivers
#
CONFIG_PCI_SW_SWITCHTEC=y
# end of PCI switch controller drivers

CONFIG_CXL_BUS=y
CONFIG_CXL_PCI=y
CONFIG_CXL_MEM_RAW_COMMANDS=y
CONFIG_CXL_ACPI=y
CONFIG_CXL_PMEM=y
CONFIG_CXL_MEM=y
CONFIG_CXL_PORT=y
CONFIG_CXL_SUSPEND=y
CONFIG_CXL_REGION=y
CONFIG_PCCARD=y
CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_CARDBUS=y

#
# PC-card bridges
#
CONFIG_YENTA=y
CONFIG_YENTA_O2=y
CONFIG_YENTA_RICOH=y
CONFIG_YENTA_TI=y
CONFIG_YENTA_ENE_TUNE=y
CONFIG_YENTA_TOSHIBA=y
CONFIG_PD6729=y
CONFIG_I82092=y
CONFIG_PCCARD_NONSTATIC=y
CONFIG_RAPIDIO=y
CONFIG_RAPIDIO_TSI721=y
CONFIG_RAPIDIO_DISC_TIMEOUT=30
CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS=y
CONFIG_RAPIDIO_DMA_ENGINE=y
CONFIG_RAPIDIO_DEBUG=y
CONFIG_RAPIDIO_ENUM_BASIC=y
CONFIG_RAPIDIO_CHMAN=y
CONFIG_RAPIDIO_MPORT_CDEV=y

#
# RapidIO Switch drivers
#
CONFIG_RAPIDIO_CPS_XX=y
CONFIG_RAPIDIO_CPS_GEN2=y
CONFIG_RAPIDIO_RXS_GEN3=y
# end of RapidIO Switch drivers

#
# Generic Driver Options
#
CONFIG_AUXILIARY_BUS=y
CONFIG_UEVENT_HELPER=y
CONFIG_UEVENT_HELPER_PATH=""
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEVTMPFS_SAFE=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y

#
# Firmware loader
#
CONFIG_FW_LOADER=y
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_FW_LOADER_SYSFS=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
CONFIG_FW_LOADER_COMPRESS=y
CONFIG_FW_LOADER_COMPRESS_XZ=y
CONFIG_FW_LOADER_COMPRESS_ZSTD=y
CONFIG_FW_CACHE=y
CONFIG_FW_UPLOAD=y
# end of Firmware loader

CONFIG_WANT_DEV_COREDUMP=y
CONFIG_ALLOW_DEV_COREDUMP=y
CONFIG_DEV_COREDUMP=y
CONFIG_DEBUG_DRIVER=y
CONFIG_DEBUG_DEVRES=y
CONFIG_DEBUG_TEST_DRIVER_REMOVE=y
CONFIG_PM_QOS_KUNIT_TEST=y
CONFIG_HMEM_REPORTING=y
CONFIG_TEST_ASYNC_DRIVER_PROBE=m
CONFIG_DRIVER_PE_KUNIT_TEST=y
CONFIG_SYS_HYPERVISOR=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_SLIMBUS=y
CONFIG_REGMAP_SPI=y
CONFIG_REGMAP_SPMI=y
CONFIG_REGMAP_W1=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGMAP_IRQ=y
CONFIG_REGMAP_SOUNDWIRE=y
CONFIG_REGMAP_SOUNDWIRE_MBQ=y
CONFIG_REGMAP_SCCB=y
CONFIG_REGMAP_I3C=y
CONFIG_REGMAP_SPI_AVMM=y
CONFIG_DMA_SHARED_BUFFER=y
CONFIG_DMA_FENCE_TRACE=y
# end of Generic Driver Options

#
# Bus devices
#
CONFIG_MOXTET=y
CONFIG_MHI_BUS=y
CONFIG_MHI_BUS_DEBUG=y
CONFIG_MHI_BUS_PCI_GENERIC=y
CONFIG_MHI_BUS_EP=y
# end of Bus devices

CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y

#
# Firmware Drivers
#

#
# ARM System Control and Management Interface Protocol
#
# end of ARM System Control and Management Interface Protocol

CONFIG_EDD=y
CONFIG_EDD_OFF=y
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=y
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
CONFIG_ISCSI_IBFT_FIND=y
CONFIG_ISCSI_IBFT=y
CONFIG_FW_CFG_SYSFS=y
CONFIG_FW_CFG_SYSFS_CMDLINE=y
CONFIG_SYSFB=y
CONFIG_SYSFB_SIMPLEFB=y
CONFIG_CS_DSP=y
CONFIG_GOOGLE_FIRMWARE=y
CONFIG_GOOGLE_SMI=y
CONFIG_GOOGLE_COREBOOT_TABLE=y
CONFIG_GOOGLE_MEMCONSOLE=y
CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY=y
CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=y
CONFIG_GOOGLE_VPD=y

#
# EFI (Extensible Firmware Interface) Support
#
CONFIG_EFI_ESRT=y
CONFIG_EFI_VARS_PSTORE=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
CONFIG_EFI_RUNTIME_MAP=y
CONFIG_EFI_FAKE_MEMMAP=y
CONFIG_EFI_MAX_FAKE_MEM=8
CONFIG_EFI_SOFT_RESERVE=y
CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
CONFIG_EFI_RUNTIME_WRAPPERS=y
CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
CONFIG_EFI_BOOTLOADER_CONTROL=y
CONFIG_EFI_CAPSULE_LOADER=y
CONFIG_EFI_TEST=y
CONFIG_EFI_DEV_PATH_PARSER=y
CONFIG_APPLE_PROPERTIES=y
CONFIG_RESET_ATTACK_MITIGATION=y
CONFIG_EFI_RCI2_TABLE=y
CONFIG_EFI_DISABLE_PCI_DMA=y
CONFIG_EFI_EARLYCON=y
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
CONFIG_EFI_DISABLE_RUNTIME=y
CONFIG_EFI_COCO_SECRET=y
CONFIG_EFI_EMBEDDED_FIRMWARE=y
# end of EFI (Extensible Firmware Interface) Support

CONFIG_UEFI_CPER=y
CONFIG_UEFI_CPER_X86=y

#
# Tegra firmware driver
#
# end of Tegra firmware driver
# end of Firmware Drivers

CONFIG_GNSS=y
CONFIG_GNSS_SERIAL=y
CONFIG_GNSS_MTK_SERIAL=y
CONFIG_GNSS_SIRF_SERIAL=y
CONFIG_GNSS_UBX_SERIAL=y
CONFIG_GNSS_USB=y
CONFIG_MTD=y
CONFIG_MTD_TESTS=m

#
# Partition parsers
#
CONFIG_MTD_AR7_PARTS=y
CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_OF_PARTS=y
CONFIG_MTD_REDBOOT_PARTS=y
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
CONFIG_MTD_REDBOOT_PARTS_READONLY=y
# end of Partition parsers

#
# User Modules And Translation Layers
#
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y

#
# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK.
#
CONFIG_FTL=y
CONFIG_NFTL=y
CONFIG_NFTL_RW=y
CONFIG_INFTL=y
CONFIG_RFD_FTL=y
CONFIG_SSFDC=y
CONFIG_SM_FTL=y
CONFIG_MTD_OOPS=y
CONFIG_MTD_PSTORE=y
CONFIG_MTD_SWAP=y
CONFIG_MTD_PARTITIONED_MASTER=y

#
# RAM/ROM/Flash chip drivers
#
CONFIG_MTD_CFI=y
CONFIG_MTD_JEDECPROBE=y
CONFIG_MTD_GEN_PROBE=y
CONFIG_MTD_CFI_ADV_OPTIONS=y
CONFIG_MTD_CFI_NOSWAP=y
# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set
# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set
CONFIG_MTD_CFI_GEOMETRY=y
CONFIG_MTD_MAP_BANK_WIDTH_1=y
CONFIG_MTD_MAP_BANK_WIDTH_2=y
CONFIG_MTD_MAP_BANK_WIDTH_4=y
CONFIG_MTD_MAP_BANK_WIDTH_8=y
CONFIG_MTD_MAP_BANK_WIDTH_16=y
CONFIG_MTD_MAP_BANK_WIDTH_32=y
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
CONFIG_MTD_CFI_I4=y
CONFIG_MTD_CFI_I8=y
CONFIG_MTD_OTP=y
CONFIG_MTD_CFI_INTELEXT=y
CONFIG_MTD_CFI_AMDSTD=y
CONFIG_MTD_CFI_STAA=y
CONFIG_MTD_CFI_UTIL=y
CONFIG_MTD_RAM=y
CONFIG_MTD_ROM=y
CONFIG_MTD_ABSENT=y
# end of RAM/ROM/Flash chip drivers

#
# Mapping drivers for chip access
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_PHYSMAP_COMPAT=y
CONFIG_MTD_PHYSMAP_START=0x8000000
CONFIG_MTD_PHYSMAP_LEN=0
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
CONFIG_MTD_PHYSMAP_OF=y
CONFIG_MTD_PHYSMAP_VERSATILE=y
CONFIG_MTD_PHYSMAP_GEMINI=y
CONFIG_MTD_PHYSMAP_GPIO_ADDR=y
CONFIG_MTD_SBC_GXX=y
CONFIG_MTD_AMD76XROM=y
CONFIG_MTD_ICHXROM=y
CONFIG_MTD_ESB2ROM=y
CONFIG_MTD_CK804XROM=y
CONFIG_MTD_SCB2_FLASH=y
CONFIG_MTD_NETtel=y
CONFIG_MTD_L440GX=y
CONFIG_MTD_PCI=y
CONFIG_MTD_PCMCIA=y
CONFIG_MTD_PCMCIA_ANONYMOUS=y
CONFIG_MTD_INTEL_VR_NOR=y
CONFIG_MTD_PLATRAM=y
# end of Mapping drivers for chip access

#
# Self-contained MTD device drivers
#
CONFIG_MTD_PMC551=y
CONFIG_MTD_PMC551_BUGFIX=y
CONFIG_MTD_PMC551_DEBUG=y
CONFIG_MTD_DATAFLASH=y
CONFIG_MTD_DATAFLASH_WRITE_VERIFY=y
CONFIG_MTD_DATAFLASH_OTP=y
CONFIG_MTD_MCHP23K256=y
CONFIG_MTD_MCHP48L640=y
CONFIG_MTD_SST25L=y
CONFIG_MTD_SLRAM=y
CONFIG_MTD_PHRAM=y
CONFIG_MTD_MTDRAM=y
CONFIG_MTDRAM_TOTAL_SIZE=4096
CONFIG_MTDRAM_ERASE_SIZE=128
CONFIG_MTD_BLOCK2MTD=y

#
# Disk-On-Chip Device Drivers
#
CONFIG_MTD_DOCG3=y
CONFIG_BCH_CONST_M=14
CONFIG_BCH_CONST_T=4
# end of Self-contained MTD device drivers

#
# NAND
#
CONFIG_MTD_NAND_CORE=y
CONFIG_MTD_ONENAND=y
CONFIG_MTD_ONENAND_VERIFY_WRITE=y
CONFIG_MTD_ONENAND_GENERIC=y
CONFIG_MTD_ONENAND_OTP=y
CONFIG_MTD_ONENAND_2X_PROGRAM=y
CONFIG_MTD_RAW_NAND=y

#
# Raw/parallel NAND flash controllers
#
CONFIG_MTD_NAND_DENALI=y
CONFIG_MTD_NAND_DENALI_PCI=y
CONFIG_MTD_NAND_DENALI_DT=y
CONFIG_MTD_NAND_CAFE=y
CONFIG_MTD_NAND_MXIC=y
CONFIG_MTD_NAND_GPIO=y
CONFIG_MTD_NAND_PLATFORM=y
CONFIG_MTD_NAND_CADENCE=y
CONFIG_MTD_NAND_ARASAN=y
CONFIG_MTD_NAND_INTEL_LGM=y

#
# Misc
#
CONFIG_MTD_SM_COMMON=y
CONFIG_MTD_NAND_NANDSIM=y
CONFIG_MTD_NAND_RICOH=y
CONFIG_MTD_NAND_DISKONCHIP=y
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED=y
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
CONFIG_MTD_NAND_DISKONCHIP_PROBE_HIGH=y
CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE=y
CONFIG_MTD_SPI_NAND=y

#
# ECC engine support
#
CONFIG_MTD_NAND_ECC=y
CONFIG_MTD_NAND_ECC_SW_HAMMING=y
CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC=y
CONFIG_MTD_NAND_ECC_SW_BCH=y
CONFIG_MTD_NAND_ECC_MXIC=y
# end of ECC engine support
# end of NAND

#
# LPDDR & LPDDR2 PCM memory drivers
#
CONFIG_MTD_LPDDR=y
CONFIG_MTD_QINFO_PROBE=y
# end of LPDDR & LPDDR2 PCM memory drivers

CONFIG_MTD_SPI_NOR=y
CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set
CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y
# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set
CONFIG_MTD_UBI=y
CONFIG_MTD_UBI_WL_THRESHOLD=4096
CONFIG_MTD_UBI_BEB_LIMIT=20
CONFIG_MTD_UBI_FASTMAP=y
CONFIG_MTD_UBI_GLUEBI=y
CONFIG_MTD_UBI_BLOCK=y
CONFIG_MTD_HYPERBUS=y
CONFIG_DTC=y
CONFIG_OF=y
CONFIG_OF_UNITTEST=y
CONFIG_OF_FLATTREE=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_KOBJ=y
CONFIG_OF_DYNAMIC=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_IRQ=y
CONFIG_OF_RESERVED_MEM=y
CONFIG_OF_RESOLVE=y
CONFIG_OF_OVERLAY=y
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PARPORT=y
CONFIG_PARPORT_PC=y
CONFIG_PARPORT_SERIAL=y
CONFIG_PARPORT_PC_FIFO=y
CONFIG_PARPORT_PC_SUPERIO=y
CONFIG_PARPORT_PC_PCMCIA=y
CONFIG_PARPORT_AX88796=y
CONFIG_PARPORT_1284=y
CONFIG_PARPORT_NOT_PC=y
CONFIG_PNP=y
CONFIG_PNP_DEBUG_MESSAGES=y

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_NULL_BLK=y
CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
CONFIG_BLK_DEV_FD=y
CONFIG_BLK_DEV_FD_RAWCMD=y
CONFIG_CDROM=y
CONFIG_PARIDE=y

#
# Parallel IDE high-level drivers
#
CONFIG_PARIDE_PD=y
CONFIG_PARIDE_PCD=y
CONFIG_PARIDE_PF=y
CONFIG_PARIDE_PT=y
CONFIG_PARIDE_PG=y

#
# Parallel IDE protocol modules
#
CONFIG_PARIDE_ATEN=y
CONFIG_PARIDE_BPCK=y
CONFIG_PARIDE_COMM=y
CONFIG_PARIDE_DSTR=y
CONFIG_PARIDE_FIT2=y
CONFIG_PARIDE_FIT3=y
CONFIG_PARIDE_EPAT=y
CONFIG_PARIDE_EPATC8=y
CONFIG_PARIDE_EPIA=y
CONFIG_PARIDE_FRIQ=y
CONFIG_PARIDE_FRPW=y
CONFIG_PARIDE_KBIC=y
CONFIG_PARIDE_KTTI=y
CONFIG_PARIDE_ON20=y
CONFIG_PARIDE_ON26=y
CONFIG_BLK_DEV_PCIESSD_MTIP32XX=y
CONFIG_ZRAM=y
CONFIG_ZRAM_DEF_COMP_LZORLE=y
# CONFIG_ZRAM_DEF_COMP_ZSTD is not set
# CONFIG_ZRAM_DEF_COMP_LZ4 is not set
# CONFIG_ZRAM_DEF_COMP_LZO is not set
# CONFIG_ZRAM_DEF_COMP_LZ4HC is not set
# CONFIG_ZRAM_DEF_COMP_842 is not set
CONFIG_ZRAM_DEF_COMP="lzo-rle"
CONFIG_ZRAM_WRITEBACK=y
CONFIG_ZRAM_MEMORY_TRACKING=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
CONFIG_BLK_DEV_DRBD=y
CONFIG_DRBD_FAULT_INJECTION=y
CONFIG_BLK_DEV_NBD=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
CONFIG_CDROM_PKTCDVD=y
CONFIG_CDROM_PKTCDVD_BUFFERS=8
CONFIG_CDROM_PKTCDVD_WCACHE=y
CONFIG_ATA_OVER_ETH=y
CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_XEN_BLKDEV_BACKEND=y
CONFIG_VIRTIO_BLK=y
CONFIG_BLK_DEV_RBD=y
CONFIG_BLK_DEV_UBLK=y
CONFIG_BLK_DEV_RNBD=y
CONFIG_BLK_DEV_RNBD_CLIENT=y
CONFIG_BLK_DEV_RNBD_SERVER=y

#
# NVME Support
#
CONFIG_NVME_COMMON=y
CONFIG_NVME_CORE=y
CONFIG_BLK_DEV_NVME=y
CONFIG_NVME_MULTIPATH=y
CONFIG_NVME_VERBOSE_ERRORS=y
CONFIG_NVME_HWMON=y
CONFIG_NVME_FABRICS=y
CONFIG_NVME_RDMA=y
CONFIG_NVME_FC=y
CONFIG_NVME_TCP=y
CONFIG_NVME_AUTH=y
CONFIG_NVME_TARGET=y
CONFIG_NVME_TARGET_PASSTHRU=y
CONFIG_NVME_TARGET_LOOP=y
CONFIG_NVME_TARGET_RDMA=y
CONFIG_NVME_TARGET_FC=y
CONFIG_NVME_TARGET_FCLOOP=y
CONFIG_NVME_TARGET_TCP=y
CONFIG_NVME_TARGET_AUTH=y
# end of NVME Support

#
# Misc devices
#
CONFIG_SENSORS_LIS3LV02D=y
CONFIG_AD525X_DPOT=y
CONFIG_AD525X_DPOT_I2C=y
CONFIG_AD525X_DPOT_SPI=y
CONFIG_DUMMY_IRQ=y
CONFIG_IBM_ASM=y
CONFIG_PHANTOM=y
CONFIG_TIFM_CORE=y
CONFIG_TIFM_7XX1=y
CONFIG_ICS932S401=y
CONFIG_ENCLOSURE_SERVICES=y
CONFIG_SGI_XP=y
CONFIG_HI6421V600_IRQ=y
CONFIG_HP_ILO=y
CONFIG_SGI_GRU=y
CONFIG_SGI_GRU_DEBUG=y
CONFIG_APDS9802ALS=y
CONFIG_ISL29003=y
CONFIG_ISL29020=y
CONFIG_SENSORS_TSL2550=y
CONFIG_SENSORS_BH1770=y
CONFIG_SENSORS_APDS990X=y
CONFIG_HMC6352=y
CONFIG_DS1682=y
CONFIG_VMWARE_BALLOON=y
CONFIG_LATTICE_ECP3_CONFIG=y
CONFIG_SRAM=y
CONFIG_DW_XDATA_PCIE=y
CONFIG_PCI_ENDPOINT_TEST=y
CONFIG_XILINX_SDFEC=y
CONFIG_MISC_RTSX=y
CONFIG_HISI_HIKEY_USB=y
CONFIG_OPEN_DICE=y
CONFIG_VCPU_STALL_DETECTOR=y
CONFIG_C2PORT=y
CONFIG_C2PORT_DURAMAR_2150=y

#
# EEPROM support
#
CONFIG_EEPROM_AT24=y
CONFIG_EEPROM_AT25=y
CONFIG_EEPROM_LEGACY=y
CONFIG_EEPROM_MAX6875=y
CONFIG_EEPROM_93CX6=y
CONFIG_EEPROM_93XX46=y
CONFIG_EEPROM_IDT_89HPESX=y
CONFIG_EEPROM_EE1004=y
# end of EEPROM support

CONFIG_CB710_CORE=y
CONFIG_CB710_DEBUG=y
CONFIG_CB710_DEBUG_ASSUMPTIONS=y

#
# Texas Instruments shared transport line discipline
#
CONFIG_TI_ST=y
# end of Texas Instruments shared transport line discipline

CONFIG_SENSORS_LIS3_I2C=y
CONFIG_ALTERA_STAPL=y
CONFIG_INTEL_MEI=y
CONFIG_INTEL_MEI_ME=y
CONFIG_INTEL_MEI_TXE=y
CONFIG_INTEL_MEI_GSC=y
CONFIG_INTEL_MEI_HDCP=y
CONFIG_INTEL_MEI_PXP=y
CONFIG_VMWARE_VMCI=y
CONFIG_GENWQE=y
CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0
CONFIG_ECHO=y
CONFIG_BCM_VK=y
CONFIG_BCM_VK_TTY=y
CONFIG_MISC_ALCOR_PCI=y
CONFIG_MISC_RTSX_PCI=y
CONFIG_MISC_RTSX_USB=y
CONFIG_HABANA_AI=y
CONFIG_UACCE=y
CONFIG_PVPANIC=y
CONFIG_PVPANIC_MMIO=y
CONFIG_PVPANIC_PCI=y
CONFIG_GP_PCI1XXXX=y
# end of Misc devices

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=y
CONFIG_SCSI_COMMON=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_ST=y
CONFIG_BLK_DEV_SR=y
CONFIG_CHR_DEV_SG=y
CONFIG_BLK_DEV_BSG=y
CONFIG_CHR_DEV_SCH=y
CONFIG_SCSI_ENCLOSURE=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_FC_ATTRS=y
CONFIG_SCSI_ISCSI_ATTRS=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SRP_ATTRS=y
# end of SCSI Transports

CONFIG_SCSI_LOWLEVEL=y
CONFIG_ISCSI_TCP=y
CONFIG_ISCSI_BOOT_SYSFS=y
CONFIG_SCSI_CXGB3_ISCSI=y
CONFIG_SCSI_CXGB4_ISCSI=y
CONFIG_SCSI_BNX2_ISCSI=y
CONFIG_SCSI_BNX2X_FCOE=y
CONFIG_BE2ISCSI=y
CONFIG_BLK_DEV_3W_XXXX_RAID=y
CONFIG_SCSI_HPSA=y
CONFIG_SCSI_3W_9XXX=y
CONFIG_SCSI_3W_SAS=y
CONFIG_SCSI_ACARD=y
CONFIG_SCSI_AHA1740=y
CONFIG_SCSI_AACRAID=y
CONFIG_SCSI_AIC7XXX=y
CONFIG_AIC7XXX_CMDS_PER_DEVICE=32
CONFIG_AIC7XXX_RESET_DELAY_MS=5000
CONFIG_AIC7XXX_DEBUG_ENABLE=y
CONFIG_AIC7XXX_DEBUG_MASK=0
CONFIG_AIC7XXX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC79XX=y
CONFIG_AIC79XX_CMDS_PER_DEVICE=32
CONFIG_AIC79XX_RESET_DELAY_MS=5000
CONFIG_AIC79XX_DEBUG_ENABLE=y
CONFIG_AIC79XX_DEBUG_MASK=0
CONFIG_AIC79XX_REG_PRETTY_PRINT=y
CONFIG_SCSI_AIC94XX=y
CONFIG_AIC94XX_DEBUG=y
CONFIG_SCSI_MVSAS=y
CONFIG_SCSI_MVSAS_DEBUG=y
CONFIG_SCSI_MVSAS_TASKLET=y
CONFIG_SCSI_MVUMI=y
CONFIG_SCSI_ADVANSYS=y
CONFIG_SCSI_ARCMSR=y
CONFIG_SCSI_ESAS2R=y
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=y
CONFIG_MEGARAID_MAILBOX=y
CONFIG_MEGARAID_LEGACY=y
CONFIG_MEGARAID_SAS=y
CONFIG_SCSI_MPT3SAS=y
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
CONFIG_SCSI_MPT2SAS=y
CONFIG_SCSI_MPI3MR=y
CONFIG_SCSI_SMARTPQI=y
CONFIG_SCSI_HPTIOP=y
CONFIG_SCSI_BUSLOGIC=y
CONFIG_SCSI_FLASHPOINT=y
CONFIG_SCSI_MYRB=y
CONFIG_SCSI_MYRS=y
CONFIG_VMWARE_PVSCSI=y
CONFIG_XEN_SCSI_FRONTEND=y
CONFIG_HYPERV_STORAGE=y
CONFIG_LIBFC=y
CONFIG_LIBFCOE=y
CONFIG_FCOE=y
CONFIG_FCOE_FNIC=y
CONFIG_SCSI_SNIC=y
CONFIG_SCSI_SNIC_DEBUG_FS=y
CONFIG_SCSI_DMX3191D=y
CONFIG_SCSI_FDOMAIN=y
CONFIG_SCSI_FDOMAIN_PCI=y
CONFIG_SCSI_ISCI=y
CONFIG_SCSI_IPS=y
CONFIG_SCSI_INITIO=y
CONFIG_SCSI_INIA100=y
CONFIG_SCSI_PPA=y
CONFIG_SCSI_IMM=y
CONFIG_SCSI_IZIP_EPP16=y
CONFIG_SCSI_IZIP_SLOW_CTR=y
CONFIG_SCSI_STEX=y
CONFIG_SCSI_SYM53C8XX_2=y
CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16
CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64
CONFIG_SCSI_SYM53C8XX_MMIO=y
CONFIG_SCSI_IPR=y
CONFIG_SCSI_IPR_TRACE=y
CONFIG_SCSI_IPR_DUMP=y
CONFIG_SCSI_QLOGIC_1280=y
CONFIG_SCSI_QLA_FC=y
CONFIG_TCM_QLA2XXX=y
CONFIG_TCM_QLA2XXX_DEBUG=y
CONFIG_SCSI_QLA_ISCSI=y
CONFIG_QEDI=y
CONFIG_QEDF=y
CONFIG_SCSI_LPFC=y
CONFIG_SCSI_LPFC_DEBUG_FS=y
CONFIG_SCSI_EFCT=y
CONFIG_SCSI_SIM710=y
CONFIG_SCSI_DC395x=y
CONFIG_SCSI_AM53C974=y
CONFIG_SCSI_WD719X=y
CONFIG_SCSI_DEBUG=y
CONFIG_SCSI_PMCRAID=y
CONFIG_SCSI_PM8001=y
CONFIG_SCSI_BFA_FC=y
CONFIG_SCSI_VIRTIO=y
CONFIG_SCSI_CHELSIO_FCOE=y
CONFIG_SCSI_LOWLEVEL_PCMCIA=y
CONFIG_PCMCIA_AHA152X=m
CONFIG_PCMCIA_FDOMAIN=m
CONFIG_PCMCIA_QLOGIC=m
CONFIG_PCMCIA_SYM53C500=m
CONFIG_SCSI_DH=y
CONFIG_SCSI_DH_RDAC=y
CONFIG_SCSI_DH_HP_SW=y
CONFIG_SCSI_DH_EMC=y
CONFIG_SCSI_DH_ALUA=y
# end of SCSI device support

CONFIG_ATA=y
CONFIG_SATA_HOST=y
CONFIG_PATA_TIMINGS=y
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_FORCE=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_ZPODD=y
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=y
CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_AHCI_PLATFORM=y
CONFIG_AHCI_DWC=y
CONFIG_AHCI_CEVA=y
CONFIG_AHCI_QORIQ=y
CONFIG_SATA_INIC162X=y
CONFIG_SATA_ACARD_AHCI=y
CONFIG_SATA_SIL24=y
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
CONFIG_PDC_ADMA=y
CONFIG_SATA_QSTOR=y
CONFIG_SATA_SX4=y
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=y
CONFIG_SATA_DWC=y
CONFIG_SATA_DWC_OLD_DMA=y
CONFIG_SATA_MV=y
CONFIG_SATA_NV=y
CONFIG_SATA_PROMISE=y
CONFIG_SATA_SIL=y
CONFIG_SATA_SIS=y
CONFIG_SATA_SVW=y
CONFIG_SATA_ULI=y
CONFIG_SATA_VIA=y
CONFIG_SATA_VITESSE=y

#
# PATA SFF controllers with BMDMA
#
CONFIG_PATA_ALI=y
CONFIG_PATA_AMD=y
CONFIG_PATA_ARTOP=y
CONFIG_PATA_ATIIXP=y
CONFIG_PATA_ATP867X=y
CONFIG_PATA_CMD64X=y
CONFIG_PATA_CYPRESS=y
CONFIG_PATA_EFAR=y
CONFIG_PATA_HPT366=y
CONFIG_PATA_HPT37X=y
CONFIG_PATA_HPT3X2N=y
CONFIG_PATA_HPT3X3=y
CONFIG_PATA_HPT3X3_DMA=y
CONFIG_PATA_IT8213=y
CONFIG_PATA_IT821X=y
CONFIG_PATA_JMICRON=y
CONFIG_PATA_MARVELL=y
CONFIG_PATA_NETCELL=y
CONFIG_PATA_NINJA32=y
CONFIG_PATA_NS87415=y
CONFIG_PATA_OLDPIIX=y
CONFIG_PATA_OPTIDMA=y
CONFIG_PATA_PDC2027X=y
CONFIG_PATA_PDC_OLD=y
CONFIG_PATA_RADISYS=y
CONFIG_PATA_RDC=y
CONFIG_PATA_SCH=y
CONFIG_PATA_SERVERWORKS=y
CONFIG_PATA_SIL680=y
CONFIG_PATA_SIS=y
CONFIG_PATA_TOSHIBA=y
CONFIG_PATA_TRIFLEX=y
CONFIG_PATA_VIA=y
CONFIG_PATA_WINBOND=y

#
# PIO-only SFF controllers
#
CONFIG_PATA_CMD640_PCI=y
CONFIG_PATA_MPIIX=y
CONFIG_PATA_NS87410=y
CONFIG_PATA_OPTI=y
CONFIG_PATA_PCMCIA=y
CONFIG_PATA_PLATFORM=y
CONFIG_PATA_OF_PLATFORM=y
CONFIG_PATA_RZ1000=y

#
# Generic fallback / legacy drivers
#
CONFIG_PATA_ACPI=y
CONFIG_ATA_GENERIC=y
CONFIG_PATA_LEGACY=y
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_LINEAR=y
CONFIG_MD_RAID0=y
CONFIG_MD_RAID1=y
CONFIG_MD_RAID10=y
CONFIG_MD_RAID456=y
CONFIG_MD_MULTIPATH=y
CONFIG_MD_FAULTY=y
CONFIG_MD_CLUSTER=y
CONFIG_BCACHE=y
CONFIG_BCACHE_DEBUG=y
CONFIG_BCACHE_CLOSURES_DEBUG=y
CONFIG_BCACHE_ASYNC_REGISTRATION=y
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_DEBUG=y
CONFIG_DM_BUFIO=y
CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y
CONFIG_DM_DEBUG_BLOCK_STACK_TRACING=y
CONFIG_DM_BIO_PRISON=y
CONFIG_DM_PERSISTENT_DATA=y
CONFIG_DM_UNSTRIPED=y
CONFIG_DM_CRYPT=y
CONFIG_DM_SNAPSHOT=y
CONFIG_DM_THIN_PROVISIONING=y
CONFIG_DM_CACHE=y
CONFIG_DM_CACHE_SMQ=y
CONFIG_DM_WRITECACHE=y
CONFIG_DM_EBS=y
CONFIG_DM_ERA=y
CONFIG_DM_CLONE=y
CONFIG_DM_MIRROR=y
CONFIG_DM_LOG_USERSPACE=y
CONFIG_DM_RAID=y
CONFIG_DM_ZERO=y
CONFIG_DM_MULTIPATH=y
CONFIG_DM_MULTIPATH_QL=y
CONFIG_DM_MULTIPATH_ST=y
CONFIG_DM_MULTIPATH_HST=y
CONFIG_DM_MULTIPATH_IOA=y
CONFIG_DM_DELAY=y
CONFIG_DM_DUST=y
CONFIG_DM_INIT=y
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=y
CONFIG_DM_VERITY=y
CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y
CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING=y
CONFIG_DM_VERITY_FEC=y
CONFIG_DM_SWITCH=y
CONFIG_DM_LOG_WRITES=y
CONFIG_DM_INTEGRITY=y
CONFIG_DM_ZONED=y
CONFIG_DM_AUDIT=y
CONFIG_TARGET_CORE=y
CONFIG_TCM_IBLOCK=y
CONFIG_TCM_FILEIO=y
CONFIG_TCM_PSCSI=y
CONFIG_TCM_USER2=y
CONFIG_LOOPBACK_TARGET=y
CONFIG_TCM_FC=y
CONFIG_ISCSI_TARGET=y
CONFIG_ISCSI_TARGET_CXGB4=y
CONFIG_SBP_TARGET=y
CONFIG_FUSION=y
CONFIG_FUSION_SPI=y
CONFIG_FUSION_FC=y
CONFIG_FUSION_SAS=y
CONFIG_FUSION_MAX_SGE=128
CONFIG_FUSION_CTL=y
CONFIG_FUSION_LAN=y
CONFIG_FUSION_LOGGING=y

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=y
CONFIG_FIREWIRE_OHCI=y
CONFIG_FIREWIRE_SBP2=y
CONFIG_FIREWIRE_NET=y
CONFIG_FIREWIRE_NOSY=y
# end of IEEE 1394 (FireWire) support

CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=y
CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_NET_CORE=y
CONFIG_BONDING=y
CONFIG_DUMMY=y
CONFIG_WIREGUARD=y
CONFIG_WIREGUARD_DEBUG=y
CONFIG_EQUALIZER=y
CONFIG_NET_FC=y
CONFIG_IFB=y
CONFIG_NET_TEAM=y
CONFIG_NET_TEAM_MODE_BROADCAST=y
CONFIG_NET_TEAM_MODE_ROUNDROBIN=y
CONFIG_NET_TEAM_MODE_RANDOM=y
CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=y
CONFIG_NET_TEAM_MODE_LOADBALANCE=y
CONFIG_MACVLAN=y
CONFIG_MACVTAP=y
CONFIG_IPVLAN_L3S=y
CONFIG_IPVLAN=y
CONFIG_IPVTAP=y
CONFIG_VXLAN=y
CONFIG_GENEVE=y
CONFIG_BAREUDP=y
CONFIG_GTP=y
CONFIG_AMT=y
CONFIG_MACSEC=y
CONFIG_NETCONSOLE=y
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_NTB_NETDEV=y
CONFIG_RIONET=y
CONFIG_RIONET_TX_SIZE=128
CONFIG_RIONET_RX_SIZE=128
CONFIG_TUN=y
CONFIG_TAP=y
CONFIG_TUN_VNET_CROSS_LE=y
CONFIG_VETH=y
CONFIG_VIRTIO_NET=y
CONFIG_NLMON=y
CONFIG_NET_VRF=y
CONFIG_VSOCKMON=y
CONFIG_MHI_NET=y
CONFIG_SUNGEM_PHY=y
CONFIG_ARCNET=y
CONFIG_ARCNET_1201=y
CONFIG_ARCNET_1051=y
CONFIG_ARCNET_RAW=y
CONFIG_ARCNET_CAP=y
CONFIG_ARCNET_COM90xx=y
CONFIG_ARCNET_COM90xxIO=y
CONFIG_ARCNET_RIM_I=y
CONFIG_ARCNET_COM20020=y
CONFIG_ARCNET_COM20020_PCI=y
CONFIG_ARCNET_COM20020_CS=y
CONFIG_ATM_DRIVERS=y
CONFIG_ATM_DUMMY=y
CONFIG_ATM_TCP=y
CONFIG_ATM_LANAI=y
CONFIG_ATM_ENI=y
CONFIG_ATM_ENI_DEBUG=y
CONFIG_ATM_ENI_TUNE_BURST=y
CONFIG_ATM_ENI_BURST_TX_16W=y
CONFIG_ATM_ENI_BURST_TX_8W=y
CONFIG_ATM_ENI_BURST_TX_4W=y
CONFIG_ATM_ENI_BURST_TX_2W=y
CONFIG_ATM_ENI_BURST_RX_16W=y
CONFIG_ATM_ENI_BURST_RX_8W=y
CONFIG_ATM_ENI_BURST_RX_4W=y
CONFIG_ATM_ENI_BURST_RX_2W=y
CONFIG_ATM_NICSTAR=y
CONFIG_ATM_NICSTAR_USE_SUNI=y
CONFIG_ATM_NICSTAR_USE_IDT77105=y
CONFIG_ATM_IDT77252=y
CONFIG_ATM_IDT77252_DEBUG=y
CONFIG_ATM_IDT77252_RCV_ALL=y
CONFIG_ATM_IDT77252_USE_SUNI=y
CONFIG_ATM_IA=y
CONFIG_ATM_IA_DEBUG=y
CONFIG_ATM_FORE200E=y
CONFIG_ATM_FORE200E_USE_TASKLET=y
CONFIG_ATM_FORE200E_TX_RETRY=16
CONFIG_ATM_FORE200E_DEBUG=0
CONFIG_ATM_HE=y
CONFIG_ATM_HE_USE_SUNI=y
CONFIG_ATM_SOLOS=y
CONFIG_CAIF_DRIVERS=y
CONFIG_CAIF_TTY=y
CONFIG_CAIF_VIRTIO=y

#
# Distributed Switch Architecture drivers
#
CONFIG_B53=y
CONFIG_B53_SPI_DRIVER=y
CONFIG_B53_MDIO_DRIVER=y
CONFIG_B53_MMAP_DRIVER=y
CONFIG_B53_SRAB_DRIVER=y
CONFIG_B53_SERDES=y
CONFIG_NET_DSA_BCM_SF2=y
CONFIG_NET_DSA_LOOP=y
CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK=y
CONFIG_NET_DSA_LANTIQ_GSWIP=y
CONFIG_NET_DSA_MT7530=y
CONFIG_NET_DSA_MV88E6060=y
CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON=y
CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=y
CONFIG_NET_DSA_MICROCHIP_KSZ_SPI=y
CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI=y
CONFIG_NET_DSA_MV88E6XXX=y
CONFIG_NET_DSA_MV88E6XXX_PTP=y
CONFIG_NET_DSA_MSCC_SEVILLE=y
CONFIG_NET_DSA_AR9331=y
CONFIG_NET_DSA_QCA8K=y
CONFIG_NET_DSA_SJA1105=y
CONFIG_NET_DSA_SJA1105_PTP=y
CONFIG_NET_DSA_SJA1105_TAS=y
CONFIG_NET_DSA_SJA1105_VL=y
CONFIG_NET_DSA_XRS700X=y
CONFIG_NET_DSA_XRS700X_I2C=y
CONFIG_NET_DSA_XRS700X_MDIO=y
CONFIG_NET_DSA_REALTEK=y
CONFIG_NET_DSA_REALTEK_MDIO=y
CONFIG_NET_DSA_REALTEK_SMI=y
CONFIG_NET_DSA_REALTEK_RTL8365MB=y
CONFIG_NET_DSA_REALTEK_RTL8366RB=y
CONFIG_NET_DSA_SMSC_LAN9303=y
CONFIG_NET_DSA_SMSC_LAN9303_I2C=y
CONFIG_NET_DSA_SMSC_LAN9303_MDIO=y
CONFIG_NET_DSA_VITESSE_VSC73XX=y
CONFIG_NET_DSA_VITESSE_VSC73XX_SPI=y
CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM=y
# end of Distributed Switch Architecture drivers

CONFIG_ETHERNET=y
CONFIG_MDIO=y
CONFIG_NET_VENDOR_3COM=y
CONFIG_EL3=y
CONFIG_PCMCIA_3C574=y
CONFIG_PCMCIA_3C589=y
CONFIG_VORTEX=y
CONFIG_TYPHOON=y
CONFIG_NET_VENDOR_ADAPTEC=y
CONFIG_ADAPTEC_STARFIRE=y
CONFIG_NET_VENDOR_AGERE=y
CONFIG_ET131X=y
CONFIG_NET_VENDOR_ALACRITECH=y
CONFIG_SLICOSS=y
CONFIG_NET_VENDOR_ALTEON=y
CONFIG_ACENIC=y
CONFIG_ACENIC_OMIT_TIGON_I=y
CONFIG_ALTERA_TSE=y
CONFIG_NET_VENDOR_AMAZON=y
CONFIG_ENA_ETHERNET=y
CONFIG_NET_VENDOR_AMD=y
CONFIG_AMD8111_ETH=y
CONFIG_PCNET32=y
CONFIG_PCMCIA_NMCLAN=y
CONFIG_AMD_XGBE=y
CONFIG_AMD_XGBE_DCB=y
CONFIG_AMD_XGBE_HAVE_ECC=y
CONFIG_NET_VENDOR_AQUANTIA=y
CONFIG_AQTION=y
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ASIX=y
CONFIG_SPI_AX88796C=y
CONFIG_SPI_AX88796C_COMPRESSION=y
CONFIG_NET_VENDOR_ATHEROS=y
CONFIG_ATL2=y
CONFIG_ATL1=y
CONFIG_ATL1E=y
CONFIG_ATL1C=y
CONFIG_ALX=y
CONFIG_CX_ECAT=y
CONFIG_NET_VENDOR_BROADCOM=y
CONFIG_B44=y
CONFIG_B44_PCI_AUTOSELECT=y
CONFIG_B44_PCICORE_AUTOSELECT=y
CONFIG_B44_PCI=y
CONFIG_BCMGENET=y
CONFIG_BNX2=y
CONFIG_CNIC=y
CONFIG_TIGON3=y
CONFIG_TIGON3_HWMON=y
CONFIG_BNX2X=y
CONFIG_BNX2X_SRIOV=y
CONFIG_SYSTEMPORT=y
CONFIG_BNXT=y
CONFIG_BNXT_SRIOV=y
CONFIG_BNXT_FLOWER_OFFLOAD=y
CONFIG_BNXT_DCB=y
CONFIG_BNXT_HWMON=y
CONFIG_NET_VENDOR_CADENCE=y
CONFIG_MACB=y
CONFIG_MACB_USE_HWSTAMP=y
CONFIG_MACB_PCI=y
CONFIG_NET_VENDOR_CAVIUM=y
CONFIG_THUNDER_NIC_PF=y
CONFIG_THUNDER_NIC_VF=y
CONFIG_THUNDER_NIC_BGX=y
CONFIG_THUNDER_NIC_RGX=y
CONFIG_CAVIUM_PTP=y
CONFIG_LIQUIDIO=y
CONFIG_LIQUIDIO_VF=y
CONFIG_NET_VENDOR_CHELSIO=y
CONFIG_CHELSIO_T1=y
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T3=y
CONFIG_CHELSIO_T4=y
CONFIG_CHELSIO_T4_DCB=y
CONFIG_CHELSIO_T4_FCOE=y
CONFIG_CHELSIO_T4VF=y
CONFIG_CHELSIO_LIB=y
CONFIG_CHELSIO_INLINE_CRYPTO=y
CONFIG_CRYPTO_DEV_CHELSIO_TLS=y
CONFIG_CHELSIO_IPSEC_INLINE=y
CONFIG_CHELSIO_TLS_DEVICE=y
CONFIG_NET_VENDOR_CIRRUS=y
CONFIG_NET_VENDOR_CISCO=y
CONFIG_ENIC=y
CONFIG_NET_VENDOR_CORTINA=y
CONFIG_GEMINI_ETHERNET=y
CONFIG_NET_VENDOR_DAVICOM=y
CONFIG_DM9051=y
CONFIG_DNET=y
CONFIG_NET_VENDOR_DEC=y
CONFIG_NET_TULIP=y
CONFIG_DE2104X=y
CONFIG_DE2104X_DSL=0
CONFIG_TULIP=y
CONFIG_TULIP_MWI=y
CONFIG_TULIP_MMIO=y
CONFIG_TULIP_NAPI=y
CONFIG_TULIP_NAPI_HW_MITIGATION=y
CONFIG_WINBOND_840=y
CONFIG_DM9102=y
CONFIG_ULI526X=y
CONFIG_PCMCIA_XIRCOM=y
CONFIG_NET_VENDOR_DLINK=y
CONFIG_DL2K=y
CONFIG_SUNDANCE=y
CONFIG_SUNDANCE_MMIO=y
CONFIG_NET_VENDOR_EMULEX=y
CONFIG_BE2NET=y
CONFIG_BE2NET_HWMON=y
CONFIG_BE2NET_BE2=y
CONFIG_BE2NET_BE3=y
CONFIG_BE2NET_LANCER=y
CONFIG_BE2NET_SKYHAWK=y
CONFIG_NET_VENDOR_ENGLEDER=y
CONFIG_TSNEP=y
CONFIG_TSNEP_SELFTESTS=y
CONFIG_NET_VENDOR_EZCHIP=y
CONFIG_EZCHIP_NPS_MANAGEMENT_ENET=y
CONFIG_NET_VENDOR_FUJITSU=y
CONFIG_PCMCIA_FMVJ18X=y
CONFIG_NET_VENDOR_FUNGIBLE=y
CONFIG_FUN_CORE=y
CONFIG_FUN_ETH=y
CONFIG_NET_VENDOR_GOOGLE=y
CONFIG_GVE=y
CONFIG_NET_VENDOR_HUAWEI=y
CONFIG_HINIC=y
CONFIG_NET_VENDOR_I825XX=y
CONFIG_NET_VENDOR_INTEL=y
CONFIG_E100=y
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_E1000E_HWTS=y
CONFIG_IGB=y
CONFIG_IGB_HWMON=y
CONFIG_IGB_DCA=y
CONFIG_IGBVF=y
CONFIG_IXGB=y
CONFIG_IXGBE=y
CONFIG_IXGBE_HWMON=y
CONFIG_IXGBE_DCA=y
CONFIG_IXGBE_DCB=y
CONFIG_IXGBE_IPSEC=y
CONFIG_IXGBEVF=y
CONFIG_IXGBEVF_IPSEC=y
CONFIG_I40E=y
CONFIG_I40E_DCB=y
CONFIG_IAVF=y
CONFIG_I40EVF=y
CONFIG_ICE=y
CONFIG_ICE_SWITCHDEV=y
CONFIG_ICE_HWTS=y
CONFIG_FM10K=y
CONFIG_IGC=y
CONFIG_NET_VENDOR_WANGXUN=y
CONFIG_NGBE=y
CONFIG_TXGBE=y
CONFIG_JME=y
CONFIG_NET_VENDOR_ADI=y
CONFIG_ADIN1110=y
CONFIG_NET_VENDOR_LITEX=y
CONFIG_LITEX_LITEETH=y
CONFIG_NET_VENDOR_MARVELL=y
CONFIG_MVMDIO=y
CONFIG_SKGE=y
CONFIG_SKGE_DEBUG=y
CONFIG_SKGE_GENESIS=y
CONFIG_SKY2=y
CONFIG_SKY2_DEBUG=y
CONFIG_OCTEON_EP=y
CONFIG_PRESTERA=y
CONFIG_PRESTERA_PCI=y
CONFIG_NET_VENDOR_MELLANOX=y
CONFIG_MLX4_EN=y
CONFIG_MLX4_EN_DCB=y
CONFIG_MLX4_CORE=y
CONFIG_MLX4_DEBUG=y
CONFIG_MLX4_CORE_GEN2=y
CONFIG_MLX5_CORE=y
CONFIG_MLX5_FPGA=y
CONFIG_MLX5_CORE_EN=y
CONFIG_MLX5_EN_ARFS=y
CONFIG_MLX5_EN_RXNFC=y
CONFIG_MLX5_MPFS=y
CONFIG_MLX5_ESWITCH=y
CONFIG_MLX5_BRIDGE=y
CONFIG_MLX5_CLS_ACT=y
CONFIG_MLX5_TC_CT=y
CONFIG_MLX5_TC_SAMPLE=y
CONFIG_MLX5_CORE_EN_DCB=y
CONFIG_MLX5_CORE_IPOIB=y
CONFIG_MLX5_EN_MACSEC=y
CONFIG_MLX5_EN_IPSEC=y
CONFIG_MLX5_EN_TLS=y
CONFIG_MLX5_SW_STEERING=y
CONFIG_MLX5_SF=y
CONFIG_MLX5_SF_MANAGER=y
CONFIG_MLXSW_CORE=y
CONFIG_MLXSW_CORE_HWMON=y
CONFIG_MLXSW_CORE_THERMAL=y
CONFIG_MLXSW_PCI=y
CONFIG_MLXSW_I2C=y
CONFIG_MLXSW_SPECTRUM=y
CONFIG_MLXSW_SPECTRUM_DCB=y
CONFIG_MLXSW_MINIMAL=y
CONFIG_MLXFW=y
CONFIG_NET_VENDOR_MICREL=y
CONFIG_KS8842=y
CONFIG_KS8851=y
CONFIG_KS8851_MLL=y
CONFIG_KSZ884X_PCI=y
CONFIG_NET_VENDOR_MICROCHIP=y
CONFIG_ENC28J60=y
CONFIG_ENC28J60_WRITEVERIFY=y
CONFIG_ENCX24J600=y
CONFIG_LAN743X=y
CONFIG_LAN966X_SWITCH=y
CONFIG_NET_VENDOR_MICROSEMI=y
CONFIG_MSCC_OCELOT_SWITCH_LIB=y
CONFIG_MSCC_OCELOT_SWITCH=y
CONFIG_NET_VENDOR_MICROSOFT=y
CONFIG_MICROSOFT_MANA=y
CONFIG_NET_VENDOR_MYRI=y
CONFIG_MYRI10GE=y
CONFIG_MYRI10GE_DCA=y
CONFIG_FEALNX=y
CONFIG_NET_VENDOR_NI=y
CONFIG_NI_XGE_MANAGEMENT_ENET=y
CONFIG_NET_VENDOR_NATSEMI=y
CONFIG_NATSEMI=y
CONFIG_NS83820=y
CONFIG_NET_VENDOR_NETERION=y
CONFIG_S2IO=y
CONFIG_NET_VENDOR_NETRONOME=y
CONFIG_NFP=y
CONFIG_NFP_APP_FLOWER=y
CONFIG_NFP_APP_ABM_NIC=y
CONFIG_NFP_DEBUG=y
CONFIG_NET_VENDOR_8390=y
CONFIG_PCMCIA_AXNET=y
CONFIG_NE2K_PCI=y
CONFIG_PCMCIA_PCNET=y
CONFIG_NET_VENDOR_NVIDIA=y
CONFIG_FORCEDETH=y
CONFIG_NET_VENDOR_OKI=y
CONFIG_ETHOC=y
CONFIG_NET_VENDOR_PACKET_ENGINES=y
CONFIG_HAMACHI=y
CONFIG_YELLOWFIN=y
CONFIG_NET_VENDOR_PENSANDO=y
CONFIG_IONIC=y
CONFIG_NET_VENDOR_QLOGIC=y
CONFIG_QLA3XXX=y
CONFIG_QLCNIC=y
CONFIG_QLCNIC_SRIOV=y
CONFIG_QLCNIC_DCB=y
CONFIG_QLCNIC_HWMON=y
CONFIG_NETXEN_NIC=y
CONFIG_QED=y
CONFIG_QED_LL2=y
CONFIG_QED_SRIOV=y
CONFIG_QEDE=y
CONFIG_QED_RDMA=y
CONFIG_QED_ISCSI=y
CONFIG_QED_FCOE=y
CONFIG_QED_OOO=y
CONFIG_NET_VENDOR_BROCADE=y
CONFIG_BNA=y
CONFIG_NET_VENDOR_QUALCOMM=y
CONFIG_QCA7000=y
CONFIG_QCA7000_SPI=y
CONFIG_QCA7000_UART=y
CONFIG_QCOM_EMAC=y
CONFIG_RMNET=y
CONFIG_NET_VENDOR_RDC=y
CONFIG_R6040=y
CONFIG_NET_VENDOR_REALTEK=y
CONFIG_ATP=y
CONFIG_8139CP=y
CONFIG_8139TOO=y
CONFIG_8139TOO_PIO=y
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_8139TOO_8129=y
CONFIG_8139_OLD_RX_RESET=y
CONFIG_R8169=y
CONFIG_NET_VENDOR_RENESAS=y
CONFIG_NET_VENDOR_ROCKER=y
CONFIG_ROCKER=y
CONFIG_NET_VENDOR_SAMSUNG=y
CONFIG_SXGBE_ETH=y
CONFIG_NET_VENDOR_SEEQ=y
CONFIG_NET_VENDOR_SILAN=y
CONFIG_SC92031=y
CONFIG_NET_VENDOR_SIS=y
CONFIG_SIS900=y
CONFIG_SIS190=y
CONFIG_NET_VENDOR_SOLARFLARE=y
CONFIG_SFC=y
CONFIG_SFC_MTD=y
CONFIG_SFC_MCDI_MON=y
CONFIG_SFC_SRIOV=y
CONFIG_SFC_MCDI_LOGGING=y
CONFIG_SFC_FALCON=y
CONFIG_SFC_FALCON_MTD=y
CONFIG_SFC_SIENA=y
CONFIG_SFC_SIENA_MTD=y
CONFIG_SFC_SIENA_MCDI_MON=y
CONFIG_SFC_SIENA_SRIOV=y
CONFIG_SFC_SIENA_MCDI_LOGGING=y
CONFIG_NET_VENDOR_SMSC=y
CONFIG_PCMCIA_SMC91C92=y
CONFIG_EPIC100=y
CONFIG_SMSC911X=y
CONFIG_SMSC9420=y
CONFIG_NET_VENDOR_SOCIONEXT=y
CONFIG_NET_VENDOR_STMICRO=y
CONFIG_STMMAC_ETH=y
CONFIG_STMMAC_SELFTESTS=y
CONFIG_STMMAC_PLATFORM=y
CONFIG_DWMAC_DWC_QOS_ETH=y
CONFIG_DWMAC_GENERIC=y
CONFIG_DWMAC_INTEL_PLAT=y
CONFIG_DWMAC_INTEL=y
CONFIG_DWMAC_LOONGSON=y
CONFIG_STMMAC_PCI=y
CONFIG_NET_VENDOR_SUN=y
CONFIG_HAPPYMEAL=y
CONFIG_SUNGEM=y
CONFIG_CASSINI=y
CONFIG_NIU=y
CONFIG_NET_VENDOR_SYNOPSYS=y
CONFIG_DWC_XLGMAC=y
CONFIG_DWC_XLGMAC_PCI=y
CONFIG_NET_VENDOR_TEHUTI=y
CONFIG_TEHUTI=y
CONFIG_NET_VENDOR_TI=y
CONFIG_TI_CPSW_PHY_SEL=y
CONFIG_TLAN=y
CONFIG_NET_VENDOR_VERTEXCOM=y
CONFIG_MSE102X=y
CONFIG_NET_VENDOR_VIA=y
CONFIG_VIA_RHINE=y
CONFIG_VIA_RHINE_MMIO=y
CONFIG_VIA_VELOCITY=y
CONFIG_NET_VENDOR_WIZNET=y
CONFIG_WIZNET_W5100=y
CONFIG_WIZNET_W5300=y
# CONFIG_WIZNET_BUS_DIRECT is not set
# CONFIG_WIZNET_BUS_INDIRECT is not set
CONFIG_WIZNET_BUS_ANY=y
CONFIG_WIZNET_W5100_SPI=y
CONFIG_NET_VENDOR_XILINX=y
CONFIG_XILINX_EMACLITE=y
CONFIG_XILINX_AXI_EMAC=y
CONFIG_XILINX_LL_TEMAC=y
CONFIG_NET_VENDOR_XIRCOM=y
CONFIG_PCMCIA_XIRC2PS=y
CONFIG_FDDI=y
CONFIG_DEFXX=y
CONFIG_SKFP=y
CONFIG_HIPPI=y
CONFIG_ROADRUNNER=y
CONFIG_ROADRUNNER_LARGE_RINGS=y
CONFIG_NET_SB1000=y
CONFIG_PHYLINK=y
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
CONFIG_LED_TRIGGER_PHY=y
CONFIG_FIXED_PHY=y
CONFIG_SFP=y

#
# MII PHY device drivers
#
CONFIG_AMD_PHY=y
CONFIG_ADIN_PHY=y
CONFIG_ADIN1100_PHY=y
CONFIG_AQUANTIA_PHY=y
CONFIG_AX88796B_PHY=y
CONFIG_BROADCOM_PHY=y
CONFIG_BCM54140_PHY=y
CONFIG_BCM7XXX_PHY=y
CONFIG_BCM84881_PHY=y
CONFIG_BCM87XX_PHY=y
CONFIG_BCM_NET_PHYLIB=y
CONFIG_BCM_NET_PHYPTP=y
CONFIG_CICADA_PHY=y
CONFIG_CORTINA_PHY=y
CONFIG_DAVICOM_PHY=y
CONFIG_ICPLUS_PHY=y
CONFIG_LXT_PHY=y
CONFIG_INTEL_XWAY_PHY=y
CONFIG_LSI_ET1011C_PHY=y
CONFIG_MARVELL_PHY=y
CONFIG_MARVELL_10G_PHY=y
CONFIG_MARVELL_88X2222_PHY=y
CONFIG_MAXLINEAR_GPHY=y
CONFIG_MEDIATEK_GE_PHY=y
CONFIG_MICREL_PHY=y
CONFIG_MICROCHIP_PHY=y
CONFIG_MICROCHIP_T1_PHY=y
CONFIG_MICROSEMI_PHY=y
CONFIG_MOTORCOMM_PHY=y
CONFIG_NATIONAL_PHY=y
CONFIG_NXP_C45_TJA11XX_PHY=y
CONFIG_NXP_TJA11XX_PHY=y
CONFIG_AT803X_PHY=y
CONFIG_QSEMI_PHY=y
CONFIG_REALTEK_PHY=y
CONFIG_RENESAS_PHY=y
CONFIG_ROCKCHIP_PHY=y
CONFIG_SMSC_PHY=y
CONFIG_STE10XP=y
CONFIG_TERANETICS_PHY=y
CONFIG_DP83822_PHY=y
CONFIG_DP83TC811_PHY=y
CONFIG_DP83848_PHY=y
CONFIG_DP83867_PHY=y
CONFIG_DP83869_PHY=y
CONFIG_DP83TD510_PHY=y
CONFIG_VITESSE_PHY=y
CONFIG_XILINX_GMII2RGMII=y
CONFIG_MICREL_KS8995MA=y
CONFIG_PSE_CONTROLLER=y
CONFIG_PSE_REGULATOR=y
CONFIG_CAN_DEV=y
CONFIG_CAN_VCAN=y
CONFIG_CAN_VXCAN=y
CONFIG_CAN_NETLINK=y
CONFIG_CAN_CALC_BITTIMING=y
CONFIG_CAN_RX_OFFLOAD=y
CONFIG_CAN_CAN327=y
CONFIG_CAN_FLEXCAN=y
CONFIG_CAN_GRCAN=y
CONFIG_CAN_JANZ_ICAN3=y
CONFIG_CAN_KVASER_PCIEFD=y
CONFIG_CAN_SLCAN=y
CONFIG_CAN_C_CAN=y
CONFIG_CAN_C_CAN_PLATFORM=y
CONFIG_CAN_C_CAN_PCI=y
CONFIG_CAN_CC770=y
CONFIG_CAN_CC770_ISA=y
CONFIG_CAN_CC770_PLATFORM=y
CONFIG_CAN_CTUCANFD=y
CONFIG_CAN_CTUCANFD_PCI=y
CONFIG_CAN_CTUCANFD_PLATFORM=y
CONFIG_CAN_IFI_CANFD=y
CONFIG_CAN_M_CAN=y
CONFIG_CAN_M_CAN_PCI=y
CONFIG_CAN_M_CAN_PLATFORM=y
CONFIG_CAN_M_CAN_TCAN4X5X=y
CONFIG_CAN_PEAK_PCIEFD=y
CONFIG_CAN_SJA1000=y
CONFIG_CAN_EMS_PCI=y
CONFIG_CAN_EMS_PCMCIA=y
CONFIG_CAN_F81601=y
CONFIG_CAN_KVASER_PCI=y
CONFIG_CAN_PEAK_PCI=y
CONFIG_CAN_PEAK_PCIEC=y
CONFIG_CAN_PEAK_PCMCIA=y
CONFIG_CAN_PLX_PCI=y
CONFIG_CAN_SJA1000_ISA=y
CONFIG_CAN_SJA1000_PLATFORM=y
CONFIG_CAN_SOFTING=y
CONFIG_CAN_SOFTING_CS=y

#
# CAN SPI interfaces
#
CONFIG_CAN_HI311X=y
CONFIG_CAN_MCP251X=y
CONFIG_CAN_MCP251XFD=y
CONFIG_CAN_MCP251XFD_SANITY=y
# end of CAN SPI interfaces

#
# CAN USB interfaces
#
CONFIG_CAN_8DEV_USB=y
CONFIG_CAN_EMS_USB=y
CONFIG_CAN_ESD_USB=y
CONFIG_CAN_ETAS_ES58X=y
CONFIG_CAN_GS_USB=y
CONFIG_CAN_KVASER_USB=y
CONFIG_CAN_MCBA_USB=y
CONFIG_CAN_PEAK_USB=y
CONFIG_CAN_UCAN=y
# end of CAN USB interfaces

CONFIG_CAN_DEBUG_DEVICES=y

#
# MCTP Device Drivers
#
CONFIG_MCTP_SERIAL=y
CONFIG_MCTP_TRANSPORT_I2C=y
# end of MCTP Device Drivers

CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_FWNODE_MDIO=y
CONFIG_OF_MDIO=y
CONFIG_ACPI_MDIO=y
CONFIG_MDIO_DEVRES=y
CONFIG_MDIO_BITBANG=y
CONFIG_MDIO_BCM_UNIMAC=y
CONFIG_MDIO_CAVIUM=y
CONFIG_MDIO_GPIO=y
CONFIG_MDIO_HISI_FEMAC=y
CONFIG_MDIO_I2C=y
CONFIG_MDIO_MVUSB=y
CONFIG_MDIO_MSCC_MIIM=y
CONFIG_MDIO_OCTEON=y
CONFIG_MDIO_IPQ4019=y
CONFIG_MDIO_IPQ8064=y
CONFIG_MDIO_THUNDER=y

#
# MDIO Multiplexers
#
CONFIG_MDIO_BUS_MUX=y
CONFIG_MDIO_BUS_MUX_GPIO=y
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
CONFIG_MDIO_BUS_MUX_MMIOREG=y

#
# PCS device drivers
#
CONFIG_PCS_XPCS=y
CONFIG_PCS_LYNX=y
CONFIG_PCS_ALTERA_TSE=y
# end of PCS device drivers

CONFIG_PLIP=y
CONFIG_PPP=y
CONFIG_PPP_BSDCOMP=y
CONFIG_PPP_DEFLATE=y
CONFIG_PPP_FILTER=y
CONFIG_PPP_MPPE=y
CONFIG_PPP_MULTILINK=y
CONFIG_PPPOATM=y
CONFIG_PPPOE=y
CONFIG_PPTP=y
CONFIG_PPPOL2TP=y
CONFIG_PPP_ASYNC=y
CONFIG_PPP_SYNC_TTY=y
CONFIG_SLIP=y
CONFIG_SLHC=y
CONFIG_SLIP_COMPRESSED=y
CONFIG_SLIP_SMART=y
CONFIG_SLIP_MODE_SLIP6=y
CONFIG_USB_NET_DRIVERS=y
CONFIG_USB_CATC=y
CONFIG_USB_KAWETH=y
CONFIG_USB_PEGASUS=y
CONFIG_USB_RTL8150=y
CONFIG_USB_RTL8152=y
CONFIG_USB_LAN78XX=y
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_AX88179_178A=y
CONFIG_USB_NET_CDCETHER=y
CONFIG_USB_NET_CDC_EEM=y
CONFIG_USB_NET_CDC_NCM=y
CONFIG_USB_NET_HUAWEI_CDC_NCM=y
CONFIG_USB_NET_CDC_MBIM=y
CONFIG_USB_NET_DM9601=y
CONFIG_USB_NET_SR9700=y
CONFIG_USB_NET_SR9800=y
CONFIG_USB_NET_SMSC75XX=y
CONFIG_USB_NET_SMSC95XX=y
CONFIG_USB_NET_GL620A=y
CONFIG_USB_NET_NET1080=y
CONFIG_USB_NET_PLUSB=y
CONFIG_USB_NET_MCS7830=y
CONFIG_USB_NET_RNDIS_HOST=y
CONFIG_USB_NET_CDC_SUBSET_ENABLE=y
CONFIG_USB_NET_CDC_SUBSET=y
CONFIG_USB_ALI_M5632=y
CONFIG_USB_AN2720=y
CONFIG_USB_BELKIN=y
CONFIG_USB_ARMLINUX=y
CONFIG_USB_EPSON2888=y
CONFIG_USB_KC2190=y
CONFIG_USB_NET_ZAURUS=y
CONFIG_USB_NET_CX82310_ETH=y
CONFIG_USB_NET_KALMIA=y
CONFIG_USB_NET_QMI_WWAN=y
CONFIG_USB_HSO=y
CONFIG_USB_NET_INT51X1=y
CONFIG_USB_CDC_PHONET=y
CONFIG_USB_IPHETH=y
CONFIG_USB_SIERRA_NET=y
CONFIG_USB_VL600=y
CONFIG_USB_NET_CH9200=y
CONFIG_USB_NET_AQC111=y
CONFIG_USB_RTL8153_ECM=y
CONFIG_WLAN=y
CONFIG_WLAN_VENDOR_ADMTEK=y
CONFIG_ADM8211=y
CONFIG_ATH_COMMON=y
CONFIG_WLAN_VENDOR_ATH=y
CONFIG_ATH_DEBUG=y
CONFIG_ATH_TRACEPOINTS=y
CONFIG_ATH_REG_DYNAMIC_USER_REG_HINTS=y
CONFIG_ATH_REG_DYNAMIC_USER_CERT_TESTING=y
CONFIG_ATH5K=y
CONFIG_ATH5K_DEBUG=y
CONFIG_ATH5K_TRACER=y
CONFIG_ATH5K_PCI=y
CONFIG_ATH5K_TEST_CHANNELS=y
CONFIG_ATH9K_HW=y
CONFIG_ATH9K_COMMON=y
CONFIG_ATH9K_COMMON_DEBUG=y
CONFIG_ATH9K_DFS_DEBUGFS=y
CONFIG_ATH9K_BTCOEX_SUPPORT=y
CONFIG_ATH9K=y
CONFIG_ATH9K_PCI=y
CONFIG_ATH9K_AHB=y
CONFIG_ATH9K_DEBUGFS=y
CONFIG_ATH9K_STATION_STATISTICS=y
CONFIG_ATH9K_TX99=y
CONFIG_ATH9K_DFS_CERTIFIED=y
CONFIG_ATH9K_DYNACK=y
CONFIG_ATH9K_WOW=y
CONFIG_ATH9K_RFKILL=y
CONFIG_ATH9K_CHANNEL_CONTEXT=y
CONFIG_ATH9K_PCOEM=y
CONFIG_ATH9K_PCI_NO_EEPROM=y
CONFIG_ATH9K_HTC=y
CONFIG_ATH9K_HTC_DEBUGFS=y
CONFIG_ATH9K_HWRNG=y
CONFIG_ATH9K_COMMON_SPECTRAL=y
CONFIG_CARL9170=y
CONFIG_CARL9170_LEDS=y
CONFIG_CARL9170_DEBUGFS=y
CONFIG_CARL9170_WPC=y
CONFIG_CARL9170_HWRNG=y
CONFIG_ATH6KL=y
CONFIG_ATH6KL_SDIO=y
CONFIG_ATH6KL_USB=y
CONFIG_ATH6KL_DEBUG=y
CONFIG_ATH6KL_TRACING=y
CONFIG_ATH6KL_REGDOMAIN=y
CONFIG_AR5523=y
CONFIG_WIL6210=y
CONFIG_WIL6210_ISR_COR=y
CONFIG_WIL6210_TRACING=y
CONFIG_WIL6210_DEBUGFS=y
CONFIG_ATH10K=y
CONFIG_ATH10K_CE=y
CONFIG_ATH10K_PCI=y
CONFIG_ATH10K_AHB=y
CONFIG_ATH10K_SDIO=y
CONFIG_ATH10K_USB=y
CONFIG_ATH10K_DEBUG=y
CONFIG_ATH10K_DEBUGFS=y
CONFIG_ATH10K_SPECTRAL=y
CONFIG_ATH10K_TRACING=y
CONFIG_ATH10K_DFS_CERTIFIED=y
CONFIG_WCN36XX=y
CONFIG_WCN36XX_DEBUGFS=y
CONFIG_ATH11K=y
CONFIG_ATH11K_AHB=y
CONFIG_ATH11K_PCI=y
CONFIG_ATH11K_DEBUG=y
CONFIG_ATH11K_DEBUGFS=y
CONFIG_ATH11K_TRACING=y
CONFIG_ATH11K_SPECTRAL=y
CONFIG_WLAN_VENDOR_ATMEL=y
CONFIG_ATMEL=y
CONFIG_PCI_ATMEL=y
CONFIG_PCMCIA_ATMEL=y
CONFIG_AT76C50X_USB=y
CONFIG_WLAN_VENDOR_BROADCOM=y
CONFIG_B43=y
CONFIG_B43_BCMA=y
CONFIG_B43_SSB=y
CONFIG_B43_BUSES_BCMA_AND_SSB=y
# CONFIG_B43_BUSES_BCMA is not set
# CONFIG_B43_BUSES_SSB is not set
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_SDIO=y
CONFIG_B43_BCMA_PIO=y
CONFIG_B43_PIO=y
CONFIG_B43_PHY_G=y
CONFIG_B43_PHY_N=y
CONFIG_B43_PHY_LP=y
CONFIG_B43_PHY_HT=y
CONFIG_B43_LEDS=y
CONFIG_B43_HWRNG=y
CONFIG_B43_DEBUG=y
CONFIG_B43LEGACY=y
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_HWRNG=y
CONFIG_B43LEGACY_DEBUG=y
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not set
CONFIG_BRCMUTIL=y
CONFIG_BRCMSMAC=y
CONFIG_BRCMSMAC_LEDS=y
CONFIG_BRCMFMAC=y
CONFIG_BRCMFMAC_PROTO_BCDC=y
CONFIG_BRCMFMAC_PROTO_MSGBUF=y
CONFIG_BRCMFMAC_SDIO=y
CONFIG_BRCMFMAC_USB=y
CONFIG_BRCMFMAC_PCIE=y
CONFIG_BRCM_TRACING=y
CONFIG_BRCMDBG=y
CONFIG_WLAN_VENDOR_CISCO=y
CONFIG_AIRO=y
CONFIG_AIRO_CS=y
CONFIG_WLAN_VENDOR_INTEL=y
CONFIG_IPW2100=y
CONFIG_IPW2100_MONITOR=y
CONFIG_IPW2100_DEBUG=y
CONFIG_IPW2200=y
CONFIG_IPW2200_MONITOR=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
CONFIG_IPW2200_DEBUG=y
CONFIG_LIBIPW=y
CONFIG_LIBIPW_DEBUG=y
CONFIG_IWLEGACY=y
CONFIG_IWL4965=y
CONFIG_IWL3945=y

#
# iwl3945 / iwl4965 Debugging Options
#
CONFIG_IWLEGACY_DEBUG=y
CONFIG_IWLEGACY_DEBUGFS=y
# end of iwl3945 / iwl4965 Debugging Options

CONFIG_IWLWIFI=y
CONFIG_IWLWIFI_LEDS=y
CONFIG_IWLDVM=y
CONFIG_IWLMVM=y

#
# Debugging Options
#
CONFIG_IWLWIFI_DEBUG=y
CONFIG_IWLWIFI_DEBUGFS=y
CONFIG_IWLWIFI_DEVICE_TRACING=y
# end of Debugging Options

CONFIG_WLAN_VENDOR_INTERSIL=y
CONFIG_HOSTAP=y
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
CONFIG_HOSTAP_PLX=y
CONFIG_HOSTAP_PCI=y
CONFIG_HOSTAP_CS=y
CONFIG_HERMES=y
CONFIG_HERMES_PRISM=y
CONFIG_HERMES_CACHE_FW_ON_INIT=y
CONFIG_PLX_HERMES=y
CONFIG_TMD_HERMES=y
CONFIG_NORTEL_HERMES=y
CONFIG_PCI_HERMES=y
CONFIG_PCMCIA_HERMES=y
CONFIG_PCMCIA_SPECTRUM=y
CONFIG_ORINOCO_USB=y
CONFIG_P54_COMMON=y
CONFIG_P54_USB=y
CONFIG_P54_PCI=y
CONFIG_P54_SPI=y
CONFIG_P54_SPI_DEFAULT_EEPROM=y
CONFIG_P54_LEDS=y
CONFIG_WLAN_VENDOR_MARVELL=y
CONFIG_LIBERTAS=y
CONFIG_LIBERTAS_USB=y
CONFIG_LIBERTAS_CS=y
CONFIG_LIBERTAS_SDIO=y
CONFIG_LIBERTAS_SPI=y
CONFIG_LIBERTAS_DEBUG=y
CONFIG_LIBERTAS_MESH=y
CONFIG_LIBERTAS_THINFIRM=y
CONFIG_LIBERTAS_THINFIRM_DEBUG=y
CONFIG_LIBERTAS_THINFIRM_USB=y
CONFIG_MWIFIEX=y
CONFIG_MWIFIEX_SDIO=y
CONFIG_MWIFIEX_PCIE=y
CONFIG_MWIFIEX_USB=y
CONFIG_MWL8K=y
CONFIG_WLAN_VENDOR_MEDIATEK=y
CONFIG_MT7601U=y
CONFIG_MT76_CORE=y
CONFIG_MT76_LEDS=y
CONFIG_MT76_USB=y
CONFIG_MT76_SDIO=y
CONFIG_MT76x02_LIB=y
CONFIG_MT76x02_USB=y
CONFIG_MT76_CONNAC_LIB=y
CONFIG_MT76x0_COMMON=y
CONFIG_MT76x0U=y
CONFIG_MT76x0E=y
CONFIG_MT76x2_COMMON=y
CONFIG_MT76x2E=y
CONFIG_MT76x2U=y
CONFIG_MT7603E=y
CONFIG_MT7615_COMMON=y
CONFIG_MT7615E=y
CONFIG_MT7663_USB_SDIO_COMMON=y
CONFIG_MT7663U=y
CONFIG_MT7663S=y
CONFIG_MT7915E=y
CONFIG_MT7921_COMMON=y
CONFIG_MT7921E=y
CONFIG_MT7921S=y
CONFIG_MT7921U=y
CONFIG_WLAN_VENDOR_MICROCHIP=y
CONFIG_WILC1000=y
CONFIG_WILC1000_SDIO=y
CONFIG_WILC1000_SPI=y
CONFIG_WILC1000_HW_OOB_INTR=y
CONFIG_WLAN_VENDOR_PURELIFI=y
CONFIG_PLFXLC=y
CONFIG_WLAN_VENDOR_RALINK=y
CONFIG_RT2X00=y
CONFIG_RT2400PCI=y
CONFIG_RT2500PCI=y
CONFIG_RT61PCI=y
CONFIG_RT2800PCI=y
CONFIG_RT2800PCI_RT33XX=y
CONFIG_RT2800PCI_RT35XX=y
CONFIG_RT2800PCI_RT53XX=y
CONFIG_RT2800PCI_RT3290=y
CONFIG_RT2500USB=y
CONFIG_RT73USB=y
CONFIG_RT2800USB=y
CONFIG_RT2800USB_RT33XX=y
CONFIG_RT2800USB_RT35XX=y
CONFIG_RT2800USB_RT3573=y
CONFIG_RT2800USB_RT53XX=y
CONFIG_RT2800USB_RT55XX=y
CONFIG_RT2800USB_UNKNOWN=y
CONFIG_RT2800_LIB=y
CONFIG_RT2800_LIB_MMIO=y
CONFIG_RT2X00_LIB_MMIO=y
CONFIG_RT2X00_LIB_PCI=y
CONFIG_RT2X00_LIB_USB=y
CONFIG_RT2X00_LIB=y
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2X00_LIB_CRYPTO=y
CONFIG_RT2X00_LIB_LEDS=y
CONFIG_RT2X00_LIB_DEBUGFS=y
CONFIG_RT2X00_DEBUG=y
CONFIG_WLAN_VENDOR_REALTEK=y
CONFIG_RTL8180=y
CONFIG_RTL8187=y
CONFIG_RTL8187_LEDS=y
CONFIG_RTL_CARDS=y
CONFIG_RTL8192CE=y
CONFIG_RTL8192SE=y
CONFIG_RTL8192DE=y
CONFIG_RTL8723AE=y
CONFIG_RTL8723BE=y
CONFIG_RTL8188EE=y
CONFIG_RTL8192EE=y
CONFIG_RTL8821AE=y
CONFIG_RTL8192CU=y
CONFIG_RTLWIFI=y
CONFIG_RTLWIFI_PCI=y
CONFIG_RTLWIFI_USB=y
CONFIG_RTLWIFI_DEBUG=y
CONFIG_RTL8192C_COMMON=y
CONFIG_RTL8723_COMMON=y
CONFIG_RTLBTCOEXIST=y
CONFIG_RTL8XXXU=y
CONFIG_RTL8XXXU_UNTESTED=y
CONFIG_RTW88=y
CONFIG_RTW88_CORE=y
CONFIG_RTW88_PCI=y
CONFIG_RTW88_8822B=y
CONFIG_RTW88_8822C=y
CONFIG_RTW88_8723D=y
CONFIG_RTW88_8821C=y
CONFIG_RTW88_8822BE=y
CONFIG_RTW88_8822CE=y
CONFIG_RTW88_8723DE=y
CONFIG_RTW88_8821CE=y
CONFIG_RTW88_DEBUG=y
CONFIG_RTW88_DEBUGFS=y
CONFIG_RTW89=y
CONFIG_RTW89_CORE=y
CONFIG_RTW89_PCI=y
CONFIG_RTW89_8852A=y
CONFIG_RTW89_8852C=y
CONFIG_RTW89_8852AE=y
CONFIG_RTW89_8852CE=y
CONFIG_RTW89_DEBUG=y
CONFIG_RTW89_DEBUGMSG=y
CONFIG_RTW89_DEBUGFS=y
CONFIG_WLAN_VENDOR_RSI=y
CONFIG_RSI_91X=y
CONFIG_RSI_DEBUGFS=y
CONFIG_RSI_SDIO=y
CONFIG_RSI_USB=y
CONFIG_RSI_COEX=y
CONFIG_WLAN_VENDOR_SILABS=y
CONFIG_WFX=y
CONFIG_WLAN_VENDOR_ST=y
CONFIG_CW1200=y
CONFIG_CW1200_WLAN_SDIO=y
CONFIG_CW1200_WLAN_SPI=y
CONFIG_WLAN_VENDOR_TI=y
CONFIG_WL1251=y
CONFIG_WL1251_SPI=y
CONFIG_WL1251_SDIO=y
CONFIG_WL12XX=y
CONFIG_WL18XX=y
CONFIG_WLCORE=y
CONFIG_WLCORE_SPI=y
CONFIG_WLCORE_SDIO=y
CONFIG_WILINK_PLATFORM_DATA=y
CONFIG_WLAN_VENDOR_ZYDAS=y
CONFIG_USB_ZD1201=y
CONFIG_ZD1211RW=y
CONFIG_ZD1211RW_DEBUG=y
CONFIG_WLAN_VENDOR_QUANTENNA=y
CONFIG_QTNFMAC=y
CONFIG_QTNFMAC_PCIE=y
CONFIG_PCMCIA_RAYCS=y
CONFIG_PCMCIA_WL3501=y
CONFIG_MAC80211_HWSIM=y
CONFIG_USB_NET_RNDIS_WLAN=y
CONFIG_VIRT_WIFI=y
CONFIG_WAN=y
CONFIG_HDLC=y
CONFIG_HDLC_RAW=y
CONFIG_HDLC_RAW_ETH=y
CONFIG_HDLC_CISCO=y
CONFIG_HDLC_FR=y
CONFIG_HDLC_PPP=y
CONFIG_HDLC_X25=y
CONFIG_PCI200SYN=y
CONFIG_WANXL=y
CONFIG_PC300TOO=y
CONFIG_FARSYNC=y
CONFIG_LAPBETHER=y
CONFIG_IEEE802154_DRIVERS=y
CONFIG_IEEE802154_FAKELB=y
CONFIG_IEEE802154_AT86RF230=y
CONFIG_IEEE802154_MRF24J40=y
CONFIG_IEEE802154_CC2520=y
CONFIG_IEEE802154_ATUSB=y
CONFIG_IEEE802154_ADF7242=y
CONFIG_IEEE802154_CA8210=y
CONFIG_IEEE802154_CA8210_DEBUGFS=y
CONFIG_IEEE802154_MCR20A=y
CONFIG_IEEE802154_HWSIM=y

#
# Wireless WAN
#
CONFIG_WWAN=y
CONFIG_WWAN_DEBUGFS=y
CONFIG_WWAN_HWSIM=y
CONFIG_MHI_WWAN_CTRL=y
CONFIG_MHI_WWAN_MBIM=y
CONFIG_RPMSG_WWAN_CTRL=y
CONFIG_IOSM=y
CONFIG_MTK_T7XX=y
# end of Wireless WAN

CONFIG_XEN_NETDEV_FRONTEND=y
CONFIG_XEN_NETDEV_BACKEND=y
CONFIG_VMXNET3=y
CONFIG_FUJITSU_ES=y
CONFIG_USB4_NET=y
CONFIG_HYPERV_NET=y
CONFIG_NETDEVSIM=y
CONFIG_NET_FAILOVER=y
CONFIG_ISDN=y
CONFIG_ISDN_CAPI=y
CONFIG_CAPI_TRACE=y
CONFIG_ISDN_CAPI_MIDDLEWARE=y
CONFIG_MISDN=y
CONFIG_MISDN_DSP=y
CONFIG_MISDN_L1OIP=y

#
# mISDN hardware drivers
#
CONFIG_MISDN_HFCPCI=y
CONFIG_MISDN_HFCMULTI=y
CONFIG_MISDN_HFCUSB=y
CONFIG_MISDN_AVMFRITZ=y
CONFIG_MISDN_SPEEDFAX=y
CONFIG_MISDN_INFINEON=y
CONFIG_MISDN_W6692=y
CONFIG_MISDN_NETJET=y
CONFIG_MISDN_HDLC=y
CONFIG_MISDN_IPAC=y
CONFIG_MISDN_ISAR=y

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_FF_MEMLESS=y
CONFIG_INPUT_SPARSEKMAP=y
CONFIG_INPUT_MATRIXKMAP=y
CONFIG_INPUT_VIVALDIFMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_PSAUX=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=y
CONFIG_INPUT_EVDEV=y
CONFIG_INPUT_EVBUG=y

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ADC=y
CONFIG_KEYBOARD_ADP5520=y
CONFIG_KEYBOARD_ADP5588=y
CONFIG_KEYBOARD_ADP5589=y
CONFIG_KEYBOARD_APPLESPI=y
CONFIG_KEYBOARD_ATKBD=y
CONFIG_KEYBOARD_QT1050=y
CONFIG_KEYBOARD_QT1070=y
CONFIG_KEYBOARD_QT2160=y
CONFIG_KEYBOARD_DLINK_DIR685=y
CONFIG_KEYBOARD_LKKBD=y
CONFIG_KEYBOARD_GPIO=y
CONFIG_KEYBOARD_GPIO_POLLED=y
CONFIG_KEYBOARD_TCA6416=y
CONFIG_KEYBOARD_TCA8418=y
CONFIG_KEYBOARD_MATRIX=y
CONFIG_KEYBOARD_LM8323=y
CONFIG_KEYBOARD_LM8333=y
CONFIG_KEYBOARD_MAX7359=y
CONFIG_KEYBOARD_MCS=y
CONFIG_KEYBOARD_MPR121=y
CONFIG_KEYBOARD_NEWTON=y
CONFIG_KEYBOARD_OPENCORES=y
CONFIG_KEYBOARD_PINEPHONE=y
CONFIG_KEYBOARD_SAMSUNG=y
CONFIG_KEYBOARD_GOLDFISH_EVENTS=y
CONFIG_KEYBOARD_STOWAWAY=y
CONFIG_KEYBOARD_SUNKBD=y
CONFIG_KEYBOARD_STMPE=y
CONFIG_KEYBOARD_IQS62X=y
CONFIG_KEYBOARD_OMAP4=y
CONFIG_KEYBOARD_TC3589X=y
CONFIG_KEYBOARD_TM2_TOUCHKEY=y
CONFIG_KEYBOARD_TWL4030=y
CONFIG_KEYBOARD_XTKBD=y
CONFIG_KEYBOARD_CROS_EC=y
CONFIG_KEYBOARD_CAP11XX=y
CONFIG_KEYBOARD_BCM=y
CONFIG_KEYBOARD_MTK_PMIC=y
CONFIG_KEYBOARD_CYPRESS_SF=y
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_BYD=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y
CONFIG_MOUSE_PS2_SENTELIC=y
CONFIG_MOUSE_PS2_TOUCHKIT=y
CONFIG_MOUSE_PS2_FOCALTECH=y
CONFIG_MOUSE_PS2_VMMOUSE=y
CONFIG_MOUSE_PS2_SMBUS=y
CONFIG_MOUSE_SERIAL=y
CONFIG_MOUSE_APPLETOUCH=y
CONFIG_MOUSE_BCM5974=y
CONFIG_MOUSE_CYAPA=y
CONFIG_MOUSE_ELAN_I2C=y
CONFIG_MOUSE_ELAN_I2C_I2C=y
CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_VSXXXAA=y
CONFIG_MOUSE_GPIO=y
CONFIG_MOUSE_SYNAPTICS_I2C=y
CONFIG_MOUSE_SYNAPTICS_USB=y
CONFIG_INPUT_JOYSTICK=y
CONFIG_JOYSTICK_ANALOG=y
CONFIG_JOYSTICK_A3D=y
CONFIG_JOYSTICK_ADC=y
CONFIG_JOYSTICK_ADI=y
CONFIG_JOYSTICK_COBRA=y
CONFIG_JOYSTICK_GF2K=y
CONFIG_JOYSTICK_GRIP=y
CONFIG_JOYSTICK_GRIP_MP=y
CONFIG_JOYSTICK_GUILLEMOT=y
CONFIG_JOYSTICK_INTERACT=y
CONFIG_JOYSTICK_SIDEWINDER=y
CONFIG_JOYSTICK_TMDC=y
CONFIG_JOYSTICK_IFORCE=y
CONFIG_JOYSTICK_IFORCE_USB=y
CONFIG_JOYSTICK_IFORCE_232=y
CONFIG_JOYSTICK_WARRIOR=y
CONFIG_JOYSTICK_MAGELLAN=y
CONFIG_JOYSTICK_SPACEORB=y
CONFIG_JOYSTICK_SPACEBALL=y
CONFIG_JOYSTICK_STINGER=y
CONFIG_JOYSTICK_TWIDJOY=y
CONFIG_JOYSTICK_ZHENHUA=y
CONFIG_JOYSTICK_DB9=y
CONFIG_JOYSTICK_GAMECON=y
CONFIG_JOYSTICK_TURBOGRAFX=y
CONFIG_JOYSTICK_AS5011=y
CONFIG_JOYSTICK_JOYDUMP=y
CONFIG_JOYSTICK_XPAD=y
CONFIG_JOYSTICK_XPAD_FF=y
CONFIG_JOYSTICK_XPAD_LEDS=y
CONFIG_JOYSTICK_WALKERA0701=y
CONFIG_JOYSTICK_PSXPAD_SPI=y
CONFIG_JOYSTICK_PSXPAD_SPI_FF=y
CONFIG_JOYSTICK_PXRC=y
CONFIG_JOYSTICK_QWIIC=y
CONFIG_JOYSTICK_FSIA6B=y
CONFIG_JOYSTICK_SENSEHAT=y
CONFIG_INPUT_TABLET=y
CONFIG_TABLET_USB_ACECAD=y
CONFIG_TABLET_USB_AIPTEK=y
CONFIG_TABLET_USB_HANWANG=y
CONFIG_TABLET_USB_KBTAB=y
CONFIG_TABLET_USB_PEGASUS=y
CONFIG_TABLET_SERIAL_WACOM4=y
CONFIG_INPUT_TOUCHSCREEN=y
CONFIG_TOUCHSCREEN_88PM860X=y
CONFIG_TOUCHSCREEN_ADS7846=y
CONFIG_TOUCHSCREEN_AD7877=y
CONFIG_TOUCHSCREEN_AD7879=y
CONFIG_TOUCHSCREEN_AD7879_I2C=y
CONFIG_TOUCHSCREEN_AD7879_SPI=y
CONFIG_TOUCHSCREEN_ADC=y
CONFIG_TOUCHSCREEN_AR1021_I2C=y
CONFIG_TOUCHSCREEN_ATMEL_MXT=y
CONFIG_TOUCHSCREEN_ATMEL_MXT_T37=y
CONFIG_TOUCHSCREEN_AUO_PIXCIR=y
CONFIG_TOUCHSCREEN_BU21013=y
CONFIG_TOUCHSCREEN_BU21029=y
CONFIG_TOUCHSCREEN_CHIPONE_ICN8318=y
CONFIG_TOUCHSCREEN_CHIPONE_ICN8505=y
CONFIG_TOUCHSCREEN_CY8CTMA140=y
CONFIG_TOUCHSCREEN_CY8CTMG110=y
CONFIG_TOUCHSCREEN_CYTTSP_CORE=y
CONFIG_TOUCHSCREEN_CYTTSP_I2C=y
CONFIG_TOUCHSCREEN_CYTTSP_SPI=y
CONFIG_TOUCHSCREEN_CYTTSP4_CORE=y
CONFIG_TOUCHSCREEN_CYTTSP4_I2C=y
CONFIG_TOUCHSCREEN_CYTTSP4_SPI=y
CONFIG_TOUCHSCREEN_DA9034=y
CONFIG_TOUCHSCREEN_DA9052=y
CONFIG_TOUCHSCREEN_DYNAPRO=y
CONFIG_TOUCHSCREEN_HAMPSHIRE=y
CONFIG_TOUCHSCREEN_EETI=y
CONFIG_TOUCHSCREEN_EGALAX=y
CONFIG_TOUCHSCREEN_EGALAX_SERIAL=y
CONFIG_TOUCHSCREEN_EXC3000=y
CONFIG_TOUCHSCREEN_FUJITSU=y
CONFIG_TOUCHSCREEN_GOODIX=y
CONFIG_TOUCHSCREEN_HIDEEP=y
CONFIG_TOUCHSCREEN_HYCON_HY46XX=y
CONFIG_TOUCHSCREEN_ILI210X=y
CONFIG_TOUCHSCREEN_ILITEK=y
CONFIG_TOUCHSCREEN_S6SY761=y
CONFIG_TOUCHSCREEN_GUNZE=y
CONFIG_TOUCHSCREEN_EKTF2127=y
CONFIG_TOUCHSCREEN_ELAN=y
CONFIG_TOUCHSCREEN_ELO=y
CONFIG_TOUCHSCREEN_WACOM_W8001=y
CONFIG_TOUCHSCREEN_WACOM_I2C=y
CONFIG_TOUCHSCREEN_MAX11801=y
CONFIG_TOUCHSCREEN_MCS5000=y
CONFIG_TOUCHSCREEN_MMS114=y
CONFIG_TOUCHSCREEN_MELFAS_MIP4=y
CONFIG_TOUCHSCREEN_MSG2638=y
CONFIG_TOUCHSCREEN_MTOUCH=y
CONFIG_TOUCHSCREEN_IMAGIS=y
CONFIG_TOUCHSCREEN_IMX6UL_TSC=y
CONFIG_TOUCHSCREEN_INEXIO=y
CONFIG_TOUCHSCREEN_MK712=y
CONFIG_TOUCHSCREEN_PENMOUNT=y
CONFIG_TOUCHSCREEN_EDT_FT5X06=y
CONFIG_TOUCHSCREEN_TOUCHRIGHT=y
CONFIG_TOUCHSCREEN_TOUCHWIN=y
CONFIG_TOUCHSCREEN_TI_AM335X_TSC=y
CONFIG_TOUCHSCREEN_UCB1400=y
CONFIG_TOUCHSCREEN_PIXCIR=y
CONFIG_TOUCHSCREEN_WDT87XX_I2C=y
CONFIG_TOUCHSCREEN_WM831X=y
CONFIG_TOUCHSCREEN_WM97XX=y
CONFIG_TOUCHSCREEN_WM9705=y
CONFIG_TOUCHSCREEN_WM9712=y
CONFIG_TOUCHSCREEN_WM9713=y
CONFIG_TOUCHSCREEN_USB_COMPOSITE=y
CONFIG_TOUCHSCREEN_MC13783=y
CONFIG_TOUCHSCREEN_USB_EGALAX=y
CONFIG_TOUCHSCREEN_USB_PANJIT=y
CONFIG_TOUCHSCREEN_USB_3M=y
CONFIG_TOUCHSCREEN_USB_ITM=y
CONFIG_TOUCHSCREEN_USB_ETURBO=y
CONFIG_TOUCHSCREEN_USB_GUNZE=y
CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y
CONFIG_TOUCHSCREEN_USB_IRTOUCH=y
CONFIG_TOUCHSCREEN_USB_IDEALTEK=y
CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y
CONFIG_TOUCHSCREEN_USB_GOTOP=y
CONFIG_TOUCHSCREEN_USB_JASTEC=y
CONFIG_TOUCHSCREEN_USB_ELO=y
CONFIG_TOUCHSCREEN_USB_E2I=y
CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y
CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y
CONFIG_TOUCHSCREEN_USB_NEXIO=y
CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y
CONFIG_TOUCHSCREEN_TOUCHIT213=y
CONFIG_TOUCHSCREEN_TSC_SERIO=y
CONFIG_TOUCHSCREEN_TSC200X_CORE=y
CONFIG_TOUCHSCREEN_TSC2004=y
CONFIG_TOUCHSCREEN_TSC2005=y
CONFIG_TOUCHSCREEN_TSC2007=y
CONFIG_TOUCHSCREEN_TSC2007_IIO=y
CONFIG_TOUCHSCREEN_PCAP=y
CONFIG_TOUCHSCREEN_RM_TS=y
CONFIG_TOUCHSCREEN_SILEAD=y
CONFIG_TOUCHSCREEN_SIS_I2C=y
CONFIG_TOUCHSCREEN_ST1232=y
CONFIG_TOUCHSCREEN_STMFTS=y
CONFIG_TOUCHSCREEN_STMPE=y
CONFIG_TOUCHSCREEN_SUR40=y
CONFIG_TOUCHSCREEN_SURFACE3_SPI=y
CONFIG_TOUCHSCREEN_SX8654=y
CONFIG_TOUCHSCREEN_TPS6507X=y
CONFIG_TOUCHSCREEN_ZET6223=y
CONFIG_TOUCHSCREEN_ZFORCE=y
CONFIG_TOUCHSCREEN_COLIBRI_VF50=y
CONFIG_TOUCHSCREEN_ROHM_BU21023=y
CONFIG_TOUCHSCREEN_IQS5XX=y
CONFIG_TOUCHSCREEN_ZINITIX=y
CONFIG_INPUT_MISC=y
CONFIG_INPUT_88PM860X_ONKEY=y
CONFIG_INPUT_88PM80X_ONKEY=y
CONFIG_INPUT_AD714X=y
CONFIG_INPUT_AD714X_I2C=y
CONFIG_INPUT_AD714X_SPI=y
CONFIG_INPUT_ARIZONA_HAPTICS=y
CONFIG_INPUT_ATC260X_ONKEY=y
CONFIG_INPUT_ATMEL_CAPTOUCH=y
CONFIG_INPUT_BMA150=y
CONFIG_INPUT_E3X0_BUTTON=y
CONFIG_INPUT_PCSPKR=y
CONFIG_INPUT_MAX77650_ONKEY=y
CONFIG_INPUT_MAX77693_HAPTIC=y
CONFIG_INPUT_MAX8925_ONKEY=y
CONFIG_INPUT_MAX8997_HAPTIC=y
CONFIG_INPUT_MC13783_PWRBUTTON=y
CONFIG_INPUT_MMA8450=y
CONFIG_INPUT_APANEL=y
CONFIG_INPUT_GPIO_BEEPER=y
CONFIG_INPUT_GPIO_DECODER=y
CONFIG_INPUT_GPIO_VIBRA=y
CONFIG_INPUT_CPCAP_PWRBUTTON=y
CONFIG_INPUT_ATLAS_BTNS=y
CONFIG_INPUT_ATI_REMOTE2=y
CONFIG_INPUT_KEYSPAN_REMOTE=y
CONFIG_INPUT_KXTJ9=y
CONFIG_INPUT_POWERMATE=y
CONFIG_INPUT_YEALINK=y
CONFIG_INPUT_CM109=y
CONFIG_INPUT_REGULATOR_HAPTIC=y
CONFIG_INPUT_RETU_PWRBUTTON=y
CONFIG_INPUT_TPS65218_PWRBUTTON=y
CONFIG_INPUT_AXP20X_PEK=y
CONFIG_INPUT_TWL4030_PWRBUTTON=y
CONFIG_INPUT_TWL4030_VIBRA=y
CONFIG_INPUT_TWL6040_VIBRA=y
CONFIG_INPUT_UINPUT=y
CONFIG_INPUT_PALMAS_PWRBUTTON=y
CONFIG_INPUT_PCF50633_PMU=y
CONFIG_INPUT_PCF8574=y
CONFIG_INPUT_PWM_BEEPER=y
CONFIG_INPUT_PWM_VIBRA=y
CONFIG_INPUT_RK805_PWRKEY=y
CONFIG_INPUT_GPIO_ROTARY_ENCODER=y
CONFIG_INPUT_DA7280_HAPTICS=y
CONFIG_INPUT_DA9052_ONKEY=y
CONFIG_INPUT_DA9055_ONKEY=y
CONFIG_INPUT_DA9063_ONKEY=y
CONFIG_INPUT_WM831X_ON=y
CONFIG_INPUT_PCAP=y
CONFIG_INPUT_ADXL34X=y
CONFIG_INPUT_ADXL34X_I2C=y
CONFIG_INPUT_ADXL34X_SPI=y
CONFIG_INPUT_IBM_PANEL=y
CONFIG_INPUT_IMS_PCU=y
CONFIG_INPUT_IQS269A=y
CONFIG_INPUT_IQS626A=y
CONFIG_INPUT_IQS7222=y
CONFIG_INPUT_CMA3000=y
CONFIG_INPUT_CMA3000_I2C=y
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=y
CONFIG_INPUT_IDEAPAD_SLIDEBAR=y
CONFIG_INPUT_SOC_BUTTON_ARRAY=y
CONFIG_INPUT_DRV260X_HAPTICS=y
CONFIG_INPUT_DRV2665_HAPTICS=y
CONFIG_INPUT_DRV2667_HAPTICS=y
CONFIG_INPUT_RAVE_SP_PWRBUTTON=y
CONFIG_INPUT_RT5120_PWRKEY=y
CONFIG_INPUT_STPMIC1_ONKEY=y
CONFIG_RMI4_CORE=y
CONFIG_RMI4_I2C=y
CONFIG_RMI4_SPI=y
CONFIG_RMI4_SMB=y
CONFIG_RMI4_F03=y
CONFIG_RMI4_F03_SERIO=y
CONFIG_RMI4_2D_SENSOR=y
CONFIG_RMI4_F11=y
CONFIG_RMI4_F12=y
CONFIG_RMI4_F30=y
CONFIG_RMI4_F34=y
CONFIG_RMI4_F3A=y
CONFIG_RMI4_F54=y
CONFIG_RMI4_F55=y

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
CONFIG_SERIO_CT82C710=y
CONFIG_SERIO_PARKBD=y
CONFIG_SERIO_PCIPS2=y
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=y
CONFIG_SERIO_ALTERA_PS2=y
CONFIG_SERIO_PS2MULT=y
CONFIG_SERIO_ARC_PS2=y
CONFIG_SERIO_APBPS2=y
CONFIG_HYPERV_KEYBOARD=y
CONFIG_SERIO_GPIO_PS2=y
CONFIG_USERIO=y
CONFIG_GAMEPORT=y
CONFIG_GAMEPORT_NS558=y
CONFIG_GAMEPORT_L4=y
CONFIG_GAMEPORT_EMU10K1=y
CONFIG_GAMEPORT_FM801=y
# end of Hardware I/O ports
# end of Input device support

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_LDISC_AUTOLOAD=y

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
CONFIG_SERIAL_8250_PNP=y
CONFIG_SERIAL_8250_16550A_VARIANTS=y
CONFIG_SERIAL_8250_FINTEK=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_EXAR=y
CONFIG_SERIAL_8250_CS=y
CONFIG_SERIAL_8250_MEN_MCB=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_DWLIB=y
CONFIG_SERIAL_8250_DW=y
CONFIG_SERIAL_8250_RT288X=y
CONFIG_SERIAL_8250_LPSS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_PERICOM=y
CONFIG_SERIAL_OF_PLATFORM=y

#
# Non-8250 serial port support
#
CONFIG_SERIAL_KGDB_NMI=y
CONFIG_SERIAL_MAX3100=y
CONFIG_SERIAL_MAX310X=y
CONFIG_SERIAL_UARTLITE=y
CONFIG_SERIAL_UARTLITE_CONSOLE=y
CONFIG_SERIAL_UARTLITE_NR_UARTS=1
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_CONSOLE_POLL=y
CONFIG_SERIAL_JSM=y
CONFIG_SERIAL_SIFIVE=y
CONFIG_SERIAL_SIFIVE_CONSOLE=y
CONFIG_SERIAL_LANTIQ=y
CONFIG_SERIAL_LANTIQ_CONSOLE=y
CONFIG_SERIAL_SCCNXP=y
CONFIG_SERIAL_SCCNXP_CONSOLE=y
CONFIG_SERIAL_SC16IS7XX_CORE=y
CONFIG_SERIAL_SC16IS7XX=y
CONFIG_SERIAL_SC16IS7XX_I2C=y
CONFIG_SERIAL_SC16IS7XX_SPI=y
CONFIG_SERIAL_ALTERA_JTAGUART=y
CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE=y
CONFIG_SERIAL_ALTERA_JTAGUART_CONSOLE_BYPASS=y
CONFIG_SERIAL_ALTERA_UART=y
CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4
CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200
CONFIG_SERIAL_ALTERA_UART_CONSOLE=y
CONFIG_SERIAL_XILINX_PS_UART=y
CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
CONFIG_SERIAL_ARC=y
CONFIG_SERIAL_ARC_CONSOLE=y
CONFIG_SERIAL_ARC_NR_PORTS=1
CONFIG_SERIAL_RP2=y
CONFIG_SERIAL_RP2_NR_UARTS=32
CONFIG_SERIAL_FSL_LPUART=y
CONFIG_SERIAL_FSL_LPUART_CONSOLE=y
CONFIG_SERIAL_FSL_LINFLEXUART=y
CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y
CONFIG_SERIAL_CONEXANT_DIGICOLOR=y
CONFIG_SERIAL_CONEXANT_DIGICOLOR_CONSOLE=y
CONFIG_SERIAL_MEN_Z135=y
CONFIG_SERIAL_SPRD=y
CONFIG_SERIAL_SPRD_CONSOLE=y
CONFIG_SERIAL_LITEUART=y
CONFIG_SERIAL_LITEUART_MAX_PORTS=1
CONFIG_SERIAL_LITEUART_CONSOLE=y
# end of Serial drivers

CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_NONSTANDARD=y
CONFIG_MOXA_INTELLIO=y
CONFIG_MOXA_SMARTIO=y
CONFIG_SYNCLINK_GT=y
CONFIG_N_HDLC=y
CONFIG_GOLDFISH_TTY=y
CONFIG_GOLDFISH_TTY_EARLY_CONSOLE=y
CONFIG_N_GSM=y
CONFIG_NOZOMI=y
CONFIG_NULL_TTY=y
CONFIG_HVC_DRIVER=y
CONFIG_HVC_IRQ=y
CONFIG_HVC_XEN=y
CONFIG_HVC_XEN_FRONTEND=y
CONFIG_RPMSG_TTY=y
CONFIG_SERIAL_DEV_BUS=y
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_TTY_PRINTK=y
CONFIG_TTY_PRINTK_LEVEL=6
CONFIG_PRINTER=y
CONFIG_LP_CONSOLE=y
CONFIG_PPDEV=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_IPMI_HANDLER=y
CONFIG_IPMI_DMI_DECODE=y
CONFIG_IPMI_PLAT_DATA=y
CONFIG_IPMI_PANIC_EVENT=y
CONFIG_IPMI_PANIC_STRING=y
CONFIG_IPMI_DEVICE_INTERFACE=y
CONFIG_IPMI_SI=y
CONFIG_IPMI_SSIF=y
CONFIG_IPMI_IPMB=y
CONFIG_IPMI_WATCHDOG=y
CONFIG_IPMI_POWEROFF=y
CONFIG_IPMB_DEVICE_INTERFACE=y
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=y
CONFIG_HW_RANDOM_INTEL=y
CONFIG_HW_RANDOM_AMD=y
CONFIG_HW_RANDOM_BA431=y
CONFIG_HW_RANDOM_VIA=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_HW_RANDOM_CCTRNG=y
CONFIG_HW_RANDOM_XIPHERA=y
CONFIG_APPLICOM=y

#
# PCMCIA character devices
#
CONFIG_SYNCLINK_CS=y
CONFIG_CARDMAN_4000=y
CONFIG_CARDMAN_4040=y
CONFIG_SCR24X=y
CONFIG_IPWIRELESS=y
# end of PCMCIA character devices

CONFIG_MWAVE=y
CONFIG_DEVMEM=y
CONFIG_NVRAM=y
CONFIG_DEVPORT=y
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
CONFIG_HPET_MMAP_DEFAULT=y
CONFIG_HANGCHECK_TIMER=y
CONFIG_UV_MMTIMER=y
CONFIG_TCG_TPM=y
CONFIG_HW_RANDOM_TPM=y
CONFIG_TCG_TIS_CORE=y
CONFIG_TCG_TIS=y
CONFIG_TCG_TIS_SPI=y
CONFIG_TCG_TIS_SPI_CR50=y
CONFIG_TCG_TIS_I2C=y
CONFIG_TCG_TIS_I2C_CR50=y
CONFIG_TCG_TIS_I2C_ATMEL=y
CONFIG_TCG_TIS_I2C_INFINEON=y
CONFIG_TCG_TIS_I2C_NUVOTON=y
CONFIG_TCG_NSC=y
CONFIG_TCG_ATMEL=y
CONFIG_TCG_INFINEON=y
CONFIG_TCG_XEN=y
CONFIG_TCG_CRB=y
CONFIG_TCG_VTPM_PROXY=y
CONFIG_TCG_TIS_ST33ZP24=y
CONFIG_TCG_TIS_ST33ZP24_I2C=y
CONFIG_TCG_TIS_ST33ZP24_SPI=y
CONFIG_TELCLOCK=y
CONFIG_XILLYBUS_CLASS=y
CONFIG_XILLYBUS=y
CONFIG_XILLYBUS_PCIE=y
CONFIG_XILLYBUS_OF=y
CONFIG_XILLYUSB=y
CONFIG_RANDOM_TRUST_CPU=y
CONFIG_RANDOM_TRUST_BOOTLOADER=y
# end of Character devices

#
# I2C support
#
CONFIG_I2C=y
CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_MUX=y

#
# Multiplexer I2C Chip support
#
CONFIG_I2C_ARB_GPIO_CHALLENGE=y
CONFIG_I2C_MUX_GPIO=y
CONFIG_I2C_MUX_GPMUX=y
CONFIG_I2C_MUX_LTC4306=y
CONFIG_I2C_MUX_PCA9541=y
CONFIG_I2C_MUX_PCA954x=y
CONFIG_I2C_MUX_PINCTRL=y
CONFIG_I2C_MUX_REG=y
CONFIG_I2C_DEMUX_PINCTRL=y
CONFIG_I2C_MUX_MLXCPLD=y
# end of Multiplexer I2C Chip support

CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=y
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCA=y

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
CONFIG_I2C_CCGX_UCSI=y
CONFIG_I2C_ALI1535=y
CONFIG_I2C_ALI1563=y
CONFIG_I2C_ALI15X3=y
CONFIG_I2C_AMD756=y
CONFIG_I2C_AMD756_S4882=y
CONFIG_I2C_AMD8111=y
CONFIG_I2C_AMD_MP2=y
CONFIG_I2C_I801=y
CONFIG_I2C_ISCH=y
CONFIG_I2C_ISMT=y
CONFIG_I2C_PIIX4=y
CONFIG_I2C_CHT_WC=y
CONFIG_I2C_NFORCE2=y
CONFIG_I2C_NFORCE2_S4985=y
CONFIG_I2C_NVIDIA_GPU=y
CONFIG_I2C_SIS5595=y
CONFIG_I2C_SIS630=y
CONFIG_I2C_SIS96X=y
CONFIG_I2C_VIA=y
CONFIG_I2C_VIAPRO=y

#
# ACPI drivers
#
CONFIG_I2C_SCMI=y

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
CONFIG_I2C_CBUS_GPIO=y
CONFIG_I2C_DESIGNWARE_CORE=y
CONFIG_I2C_DESIGNWARE_SLAVE=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_DESIGNWARE_AMDPSP=y
CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
CONFIG_I2C_DESIGNWARE_PCI=y
CONFIG_I2C_EMEV2=y
CONFIG_I2C_GPIO=y
CONFIG_I2C_GPIO_FAULT_INJECTOR=y
CONFIG_I2C_KEMPLD=y
CONFIG_I2C_OCORES=y
CONFIG_I2C_PCA_PLATFORM=y
CONFIG_I2C_RK3X=y
CONFIG_I2C_SIMTEC=y
CONFIG_I2C_XILINX=y

#
# External I2C/SMBus adapter drivers
#
CONFIG_I2C_DIOLAN_U2C=y
CONFIG_I2C_DLN2=y
CONFIG_I2C_CP2615=y
CONFIG_I2C_PARPORT=y
CONFIG_I2C_PCI1XXXX=y
CONFIG_I2C_ROBOTFUZZ_OSIF=y
CONFIG_I2C_TAOS_EVM=y
CONFIG_I2C_TINY_USB=y
CONFIG_I2C_VIPERBOARD=y

#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_MLXCPLD=y
CONFIG_I2C_CROS_EC_TUNNEL=y
CONFIG_I2C_FSI=y
CONFIG_I2C_VIRTIO=y
# end of I2C Hardware Bus support

CONFIG_I2C_STUB=m
CONFIG_I2C_SLAVE=y
CONFIG_I2C_SLAVE_EEPROM=y
CONFIG_I2C_SLAVE_TESTUNIT=y
CONFIG_I2C_DEBUG_CORE=y
CONFIG_I2C_DEBUG_ALGO=y
CONFIG_I2C_DEBUG_BUS=y
# end of I2C support

CONFIG_I3C=y
CONFIG_CDNS_I3C_MASTER=y
CONFIG_DW_I3C_MASTER=y
CONFIG_SVC_I3C_MASTER=y
CONFIG_MIPI_I3C_HCI=y
CONFIG_SPI=y
CONFIG_SPI_DEBUG=y
CONFIG_SPI_MASTER=y
CONFIG_SPI_MEM=y

#
# SPI Master Controller Drivers
#
CONFIG_SPI_ALTERA=y
CONFIG_SPI_ALTERA_CORE=y
CONFIG_SPI_ALTERA_DFL=y
CONFIG_SPI_AXI_SPI_ENGINE=y
CONFIG_SPI_BITBANG=y
CONFIG_SPI_BUTTERFLY=y
CONFIG_SPI_CADENCE=y
CONFIG_SPI_CADENCE_QUADSPI=y
CONFIG_SPI_CADENCE_XSPI=y
CONFIG_SPI_DESIGNWARE=y
CONFIG_SPI_DW_DMA=y
CONFIG_SPI_DW_PCI=y
CONFIG_SPI_DW_MMIO=y
CONFIG_SPI_DLN2=y
CONFIG_SPI_FSI=y
CONFIG_SPI_NXP_FLEXSPI=y
CONFIG_SPI_GPIO=y
CONFIG_SPI_INTEL=y
CONFIG_SPI_INTEL_PCI=y
CONFIG_SPI_INTEL_PLATFORM=y
CONFIG_SPI_LM70_LLP=y
CONFIG_SPI_FSL_LIB=y
CONFIG_SPI_FSL_SPI=y
CONFIG_SPI_MICROCHIP_CORE=y
CONFIG_SPI_MICROCHIP_CORE_QSPI=y
CONFIG_SPI_LANTIQ_SSC=y
CONFIG_SPI_OC_TINY=y
CONFIG_SPI_PXA2XX=y
CONFIG_SPI_PXA2XX_PCI=y
CONFIG_SPI_ROCKCHIP=y
CONFIG_SPI_SC18IS602=y
CONFIG_SPI_SIFIVE=y
CONFIG_SPI_MXIC=y
CONFIG_SPI_XCOMM=y
CONFIG_SPI_XILINX=y
CONFIG_SPI_ZYNQMP_GQSPI=y
CONFIG_SPI_AMD=y

#
# SPI Multiplexer support
#
CONFIG_SPI_MUX=y

#
# SPI Protocol Masters
#
CONFIG_SPI_SPIDEV=y
CONFIG_SPI_LOOPBACK_TEST=m
CONFIG_SPI_TLE62X0=y
CONFIG_SPI_SLAVE=y
CONFIG_SPI_SLAVE_TIME=y
CONFIG_SPI_SLAVE_SYSTEM_CONTROL=y
CONFIG_SPI_DYNAMIC=y
CONFIG_SPMI=y
CONFIG_SPMI_HISI3670=y
CONFIG_HSI=y
CONFIG_HSI_BOARDINFO=y

#
# HSI controllers
#

#
# HSI clients
#
CONFIG_HSI_CHAR=y
CONFIG_PPS=y
CONFIG_PPS_DEBUG=y

#
# PPS clients support
#
CONFIG_PPS_CLIENT_KTIMER=y
CONFIG_PPS_CLIENT_LDISC=y
CONFIG_PPS_CLIENT_PARPORT=y
CONFIG_PPS_CLIENT_GPIO=y

#
# PPS generators support
#

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_OPTIONAL=y
CONFIG_DP83640_PHY=y
CONFIG_PTP_1588_CLOCK_INES=y
CONFIG_PTP_1588_CLOCK_KVM=y
CONFIG_PTP_1588_CLOCK_IDT82P33=y
CONFIG_PTP_1588_CLOCK_IDTCM=y
CONFIG_PTP_1588_CLOCK_VMW=y
CONFIG_PTP_1588_CLOCK_OCP=y
# end of PTP clock support

CONFIG_PINCTRL=y
CONFIG_GENERIC_PINCTRL_GROUPS=y
CONFIG_PINMUX=y
CONFIG_GENERIC_PINMUX_FUNCTIONS=y
CONFIG_PINCONF=y
CONFIG_GENERIC_PINCONF=y
CONFIG_DEBUG_PINCTRL=y
CONFIG_PINCTRL_AMD=y
CONFIG_PINCTRL_AS3722=y
CONFIG_PINCTRL_AXP209=y
CONFIG_PINCTRL_CY8C95X0=y
CONFIG_PINCTRL_DA9062=y
CONFIG_PINCTRL_EQUILIBRIUM=y
CONFIG_PINCTRL_MAX77620=y
CONFIG_PINCTRL_MCP23S08_I2C=y
CONFIG_PINCTRL_MCP23S08_SPI=y
CONFIG_PINCTRL_MCP23S08=y
CONFIG_PINCTRL_MICROCHIP_SGPIO=y
CONFIG_PINCTRL_OCELOT=y
CONFIG_PINCTRL_PALMAS=y
CONFIG_PINCTRL_RK805=y
CONFIG_PINCTRL_SINGLE=y
CONFIG_PINCTRL_STMFX=y
CONFIG_PINCTRL_SX150X=y
CONFIG_PINCTRL_LOCHNAGAR=y
CONFIG_PINCTRL_MADERA=y
CONFIG_PINCTRL_CS47L15=y
CONFIG_PINCTRL_CS47L35=y
CONFIG_PINCTRL_CS47L85=y
CONFIG_PINCTRL_CS47L90=y
CONFIG_PINCTRL_CS47L92=y

#
# Intel pinctrl drivers
#
CONFIG_PINCTRL_BAYTRAIL=y
CONFIG_PINCTRL_CHERRYVIEW=y
CONFIG_PINCTRL_LYNXPOINT=y
CONFIG_PINCTRL_MERRIFIELD=y
CONFIG_PINCTRL_INTEL=y
CONFIG_PINCTRL_ALDERLAKE=y
CONFIG_PINCTRL_BROXTON=y
CONFIG_PINCTRL_CANNONLAKE=y
CONFIG_PINCTRL_CEDARFORK=y
CONFIG_PINCTRL_DENVERTON=y
CONFIG_PINCTRL_ELKHARTLAKE=y
CONFIG_PINCTRL_EMMITSBURG=y
CONFIG_PINCTRL_GEMINILAKE=y
CONFIG_PINCTRL_ICELAKE=y
CONFIG_PINCTRL_JASPERLAKE=y
CONFIG_PINCTRL_LAKEFIELD=y
CONFIG_PINCTRL_LEWISBURG=y
CONFIG_PINCTRL_METEORLAKE=y
CONFIG_PINCTRL_SUNRISEPOINT=y
CONFIG_PINCTRL_TIGERLAKE=y
# end of Intel pinctrl drivers

#
# Renesas pinctrl drivers
#
# end of Renesas pinctrl drivers

CONFIG_GPIOLIB=y
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_OF_GPIO=y
CONFIG_GPIO_ACPI=y
CONFIG_GPIOLIB_IRQCHIP=y
CONFIG_DEBUG_GPIO=y
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_CDEV_V1=y
CONFIG_GPIO_GENERIC=y
CONFIG_GPIO_MAX730X=y

#
# Memory mapped GPIO drivers
#
CONFIG_GPIO_74XX_MMIO=y
CONFIG_GPIO_ALTERA=y
CONFIG_GPIO_AMDPT=y
CONFIG_GPIO_CADENCE=y
CONFIG_GPIO_DWAPB=y
CONFIG_GPIO_EXAR=y
CONFIG_GPIO_FTGPIO010=y
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_GPIO_GRGPIO=y
CONFIG_GPIO_HLWD=y
CONFIG_GPIO_ICH=y
CONFIG_GPIO_LOGICVC=y
CONFIG_GPIO_MB86S7X=y
CONFIG_GPIO_MENZ127=y
CONFIG_GPIO_SIFIVE=y
CONFIG_GPIO_SIOX=y
CONFIG_GPIO_SYSCON=y
CONFIG_GPIO_VX855=y
CONFIG_GPIO_WCD934X=y
CONFIG_GPIO_XILINX=y
CONFIG_GPIO_AMD_FCH=y
# end of Memory mapped GPIO drivers

#
# Port-mapped I/O GPIO drivers
#
CONFIG_GPIO_I8255=y
CONFIG_GPIO_104_DIO_48E=y
CONFIG_GPIO_104_IDIO_16=y
CONFIG_GPIO_104_IDI_48=y
CONFIG_GPIO_F7188X=y
CONFIG_GPIO_GPIO_MM=y
CONFIG_GPIO_IT87=y
CONFIG_GPIO_SCH=y
CONFIG_GPIO_SCH311X=y
CONFIG_GPIO_WINBOND=y
CONFIG_GPIO_WS16C48=y
# end of Port-mapped I/O GPIO drivers

#
# I2C GPIO expanders
#
CONFIG_GPIO_ADNP=y
CONFIG_GPIO_GW_PLD=y
CONFIG_GPIO_MAX7300=y
CONFIG_GPIO_MAX732X=y
CONFIG_GPIO_MAX732X_IRQ=y
CONFIG_GPIO_PCA953X=y
CONFIG_GPIO_PCA953X_IRQ=y
CONFIG_GPIO_PCA9570=y
CONFIG_GPIO_PCF857X=y
CONFIG_GPIO_TPIC2810=y
# end of I2C GPIO expanders

#
# MFD GPIO expanders
#
CONFIG_GPIO_ADP5520=y
CONFIG_GPIO_ARIZONA=y
CONFIG_GPIO_BD71815=y
CONFIG_GPIO_BD71828=y
CONFIG_GPIO_BD9571MWV=y
CONFIG_GPIO_CRYSTAL_COVE=y
CONFIG_GPIO_DA9052=y
CONFIG_GPIO_DA9055=y
CONFIG_GPIO_DLN2=y
CONFIG_GPIO_JANZ_TTL=y
CONFIG_GPIO_KEMPLD=y
CONFIG_GPIO_LP3943=y
CONFIG_GPIO_LP873X=y
CONFIG_GPIO_LP87565=y
CONFIG_GPIO_MADERA=y
CONFIG_GPIO_MAX77620=y
CONFIG_GPIO_MAX77650=y
CONFIG_GPIO_PALMAS=y
CONFIG_GPIO_RC5T583=y
CONFIG_GPIO_STMPE=y
CONFIG_GPIO_TC3589X=y
CONFIG_GPIO_TPS65086=y
CONFIG_GPIO_TPS65218=y
CONFIG_GPIO_TPS6586X=y
CONFIG_GPIO_TPS65910=y
CONFIG_GPIO_TPS65912=y
CONFIG_GPIO_TPS68470=y
CONFIG_GPIO_TQMX86=y
CONFIG_GPIO_TWL4030=y
CONFIG_GPIO_TWL6040=y
CONFIG_GPIO_UCB1400=y
CONFIG_GPIO_WHISKEY_COVE=y
CONFIG_GPIO_WM831X=y
CONFIG_GPIO_WM8350=y
CONFIG_GPIO_WM8994=y
# end of MFD GPIO expanders

#
# PCI GPIO expanders
#
CONFIG_GPIO_AMD8111=y
CONFIG_GPIO_MERRIFIELD=y
CONFIG_GPIO_ML_IOH=y
CONFIG_GPIO_PCI_IDIO_16=y
CONFIG_GPIO_PCIE_IDIO_24=y
CONFIG_GPIO_RDC321X=y
CONFIG_GPIO_SODAVILLE=y
# end of PCI GPIO expanders

#
# SPI GPIO expanders
#
CONFIG_GPIO_74X164=y
CONFIG_GPIO_MAX3191X=y
CONFIG_GPIO_MAX7301=y
CONFIG_GPIO_MC33880=y
CONFIG_GPIO_PISOSR=y
CONFIG_GPIO_XRA1403=y
CONFIG_GPIO_MOXTET=y
# end of SPI GPIO expanders

#
# USB GPIO expanders
#
CONFIG_GPIO_VIPERBOARD=y
# end of USB GPIO expanders

#
# Virtual GPIO drivers
#
CONFIG_GPIO_AGGREGATOR=y
CONFIG_GPIO_MOCKUP=y
CONFIG_GPIO_VIRTIO=y
CONFIG_GPIO_SIM=y
# end of Virtual GPIO drivers

CONFIG_W1=y
CONFIG_W1_CON=y

#
# 1-wire Bus Masters
#
CONFIG_W1_MASTER_MATROX=y
CONFIG_W1_MASTER_DS2490=y
CONFIG_W1_MASTER_DS2482=y
CONFIG_W1_MASTER_DS1WM=y
CONFIG_W1_MASTER_GPIO=y
CONFIG_W1_MASTER_SGI=y
# end of 1-wire Bus Masters

#
# 1-wire Slaves
#
CONFIG_W1_SLAVE_THERM=y
CONFIG_W1_SLAVE_SMEM=y
CONFIG_W1_SLAVE_DS2405=y
CONFIG_W1_SLAVE_DS2408=y
CONFIG_W1_SLAVE_DS2408_READBACK=y
CONFIG_W1_SLAVE_DS2413=y
CONFIG_W1_SLAVE_DS2406=y
CONFIG_W1_SLAVE_DS2423=y
CONFIG_W1_SLAVE_DS2805=y
CONFIG_W1_SLAVE_DS2430=y
CONFIG_W1_SLAVE_DS2431=y
CONFIG_W1_SLAVE_DS2433=y
CONFIG_W1_SLAVE_DS2433_CRC=y
CONFIG_W1_SLAVE_DS2438=y
CONFIG_W1_SLAVE_DS250X=y
CONFIG_W1_SLAVE_DS2780=y
CONFIG_W1_SLAVE_DS2781=y
CONFIG_W1_SLAVE_DS28E04=y
CONFIG_W1_SLAVE_DS28E17=y
# end of 1-wire Slaves

CONFIG_POWER_RESET=y
CONFIG_POWER_RESET_AS3722=y
CONFIG_POWER_RESET_ATC260X=y
CONFIG_POWER_RESET_GPIO=y
CONFIG_POWER_RESET_GPIO_RESTART=y
CONFIG_POWER_RESET_LTC2952=y
CONFIG_POWER_RESET_MT6323=y
CONFIG_POWER_RESET_REGULATOR=y
CONFIG_POWER_RESET_RESTART=y
CONFIG_POWER_RESET_TPS65086=y
CONFIG_POWER_RESET_SYSCON=y
CONFIG_POWER_RESET_SYSCON_POWEROFF=y
CONFIG_REBOOT_MODE=y
CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_NVMEM_REBOOT_MODE=y
CONFIG_POWER_SUPPLY=y
CONFIG_POWER_SUPPLY_DEBUG=y
CONFIG_POWER_SUPPLY_HWMON=y
CONFIG_PDA_POWER=y
CONFIG_GENERIC_ADC_BATTERY=y
CONFIG_IP5XXX_POWER=y
CONFIG_MAX8925_POWER=y
CONFIG_WM831X_BACKUP=y
CONFIG_WM831X_POWER=y
CONFIG_WM8350_POWER=y
CONFIG_TEST_POWER=y
CONFIG_BATTERY_88PM860X=y
CONFIG_CHARGER_ADP5061=y
CONFIG_BATTERY_ACT8945A=y
CONFIG_BATTERY_CPCAP=y
CONFIG_BATTERY_CW2015=y
CONFIG_BATTERY_DS2760=y
CONFIG_BATTERY_DS2780=y
CONFIG_BATTERY_DS2781=y
CONFIG_BATTERY_DS2782=y
CONFIG_BATTERY_SAMSUNG_SDI=y
CONFIG_BATTERY_WM97XX=y
CONFIG_BATTERY_SBS=y
CONFIG_CHARGER_SBS=y
CONFIG_MANAGER_SBS=y
CONFIG_BATTERY_BQ27XXX=y
CONFIG_BATTERY_BQ27XXX_I2C=y
CONFIG_BATTERY_BQ27XXX_HDQ=y
CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM=y
CONFIG_BATTERY_DA9030=y
CONFIG_BATTERY_DA9052=y
CONFIG_CHARGER_DA9150=y
CONFIG_BATTERY_DA9150=y
CONFIG_CHARGER_AXP20X=y
CONFIG_BATTERY_AXP20X=y
CONFIG_AXP20X_POWER=y
CONFIG_AXP288_CHARGER=y
CONFIG_AXP288_FUEL_GAUGE=y
CONFIG_BATTERY_MAX17040=y
CONFIG_BATTERY_MAX17042=y
CONFIG_BATTERY_MAX1721X=y
CONFIG_BATTERY_TWL4030_MADC=y
CONFIG_CHARGER_88PM860X=y
CONFIG_CHARGER_PCF50633=y
CONFIG_BATTERY_RX51=y
CONFIG_CHARGER_ISP1704=y
CONFIG_CHARGER_MAX8903=y
CONFIG_CHARGER_TWL4030=y
CONFIG_CHARGER_LP8727=y
CONFIG_CHARGER_LP8788=y
CONFIG_CHARGER_GPIO=y
CONFIG_CHARGER_MANAGER=y
CONFIG_CHARGER_LT3651=y
CONFIG_CHARGER_LTC4162L=y
CONFIG_CHARGER_MAX14577=y
CONFIG_CHARGER_DETECTOR_MAX14656=y
CONFIG_CHARGER_MAX77650=y
CONFIG_CHARGER_MAX77693=y
CONFIG_CHARGER_MAX77976=y
CONFIG_CHARGER_MAX8997=y
CONFIG_CHARGER_MAX8998=y
CONFIG_CHARGER_MP2629=y
CONFIG_CHARGER_MT6360=y
CONFIG_CHARGER_MT6370=y
CONFIG_CHARGER_BQ2415X=y
CONFIG_CHARGER_BQ24190=y
CONFIG_CHARGER_BQ24257=y
CONFIG_CHARGER_BQ24735=y
CONFIG_CHARGER_BQ2515X=y
CONFIG_CHARGER_BQ25890=y
CONFIG_CHARGER_BQ25980=y
CONFIG_CHARGER_BQ256XX=y
CONFIG_CHARGER_RK817=y
CONFIG_CHARGER_SMB347=y
CONFIG_CHARGER_TPS65090=y
CONFIG_CHARGER_TPS65217=y
CONFIG_BATTERY_GAUGE_LTC2941=y
CONFIG_BATTERY_GOLDFISH=y
CONFIG_BATTERY_RT5033=y
CONFIG_CHARGER_RT9455=y
CONFIG_CHARGER_CROS_USBPD=y
CONFIG_CHARGER_CROS_PCHG=y
CONFIG_CHARGER_UCS1002=y
CONFIG_CHARGER_BD99954=y
CONFIG_CHARGER_WILCO=y
CONFIG_RN5T618_POWER=y
CONFIG_BATTERY_SURFACE=y
CONFIG_CHARGER_SURFACE=y
CONFIG_BATTERY_UG3105=y
CONFIG_HWMON=y
CONFIG_HWMON_VID=y
CONFIG_HWMON_DEBUG_CHIP=y

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=y
CONFIG_SENSORS_ABITUGURU3=y
CONFIG_SENSORS_AD7314=y
CONFIG_SENSORS_AD7414=y
CONFIG_SENSORS_AD7418=y
CONFIG_SENSORS_ADM1025=y
CONFIG_SENSORS_ADM1026=y
CONFIG_SENSORS_ADM1029=y
CONFIG_SENSORS_ADM1031=y
CONFIG_SENSORS_ADM1177=y
CONFIG_SENSORS_ADM9240=y
CONFIG_SENSORS_ADT7X10=y
CONFIG_SENSORS_ADT7310=y
CONFIG_SENSORS_ADT7410=y
CONFIG_SENSORS_ADT7411=y
CONFIG_SENSORS_ADT7462=y
CONFIG_SENSORS_ADT7470=y
CONFIG_SENSORS_ADT7475=y
CONFIG_SENSORS_AHT10=y
CONFIG_SENSORS_AQUACOMPUTER_D5NEXT=y
CONFIG_SENSORS_AS370=y
CONFIG_SENSORS_ASC7621=y
CONFIG_SENSORS_AXI_FAN_CONTROL=y
CONFIG_SENSORS_K8TEMP=y
CONFIG_SENSORS_K10TEMP=y
CONFIG_SENSORS_FAM15H_POWER=y
CONFIG_SENSORS_APPLESMC=y
CONFIG_SENSORS_ASB100=y
CONFIG_SENSORS_ATXP1=y
CONFIG_SENSORS_CORSAIR_CPRO=y
CONFIG_SENSORS_CORSAIR_PSU=y
CONFIG_SENSORS_DRIVETEMP=y
CONFIG_SENSORS_DS620=y
CONFIG_SENSORS_DS1621=y
CONFIG_SENSORS_DELL_SMM=y
CONFIG_I8K=y
CONFIG_SENSORS_DA9052_ADC=y
CONFIG_SENSORS_DA9055=y
CONFIG_SENSORS_I5K_AMB=y
CONFIG_SENSORS_F71805F=y
CONFIG_SENSORS_F71882FG=y
CONFIG_SENSORS_F75375S=y
CONFIG_SENSORS_GSC=y
CONFIG_SENSORS_MC13783_ADC=y
CONFIG_SENSORS_FSCHMD=y
CONFIG_SENSORS_FTSTEUTATES=y
CONFIG_SENSORS_GL518SM=y
CONFIG_SENSORS_GL520SM=y
CONFIG_SENSORS_G760A=y
CONFIG_SENSORS_G762=y
CONFIG_SENSORS_GPIO_FAN=y
CONFIG_SENSORS_HIH6130=y
CONFIG_SENSORS_IBMAEM=y
CONFIG_SENSORS_IBMPEX=y
CONFIG_SENSORS_IIO_HWMON=y
CONFIG_SENSORS_I5500=y
CONFIG_SENSORS_CORETEMP=y
CONFIG_SENSORS_IT87=y
CONFIG_SENSORS_JC42=y
CONFIG_SENSORS_POWR1220=y
CONFIG_SENSORS_LINEAGE=y
CONFIG_SENSORS_LOCHNAGAR=y
CONFIG_SENSORS_LTC2945=y
CONFIG_SENSORS_LTC2947=y
CONFIG_SENSORS_LTC2947_I2C=y
CONFIG_SENSORS_LTC2947_SPI=y
CONFIG_SENSORS_LTC2990=y
CONFIG_SENSORS_LTC2992=y
CONFIG_SENSORS_LTC4151=y
CONFIG_SENSORS_LTC4215=y
CONFIG_SENSORS_LTC4222=y
CONFIG_SENSORS_LTC4245=y
CONFIG_SENSORS_LTC4260=y
CONFIG_SENSORS_LTC4261=y
CONFIG_SENSORS_MAX1111=y
CONFIG_SENSORS_MAX127=y
CONFIG_SENSORS_MAX16065=y
CONFIG_SENSORS_MAX1619=y
CONFIG_SENSORS_MAX1668=y
CONFIG_SENSORS_MAX197=y
CONFIG_SENSORS_MAX31722=y
CONFIG_SENSORS_MAX31730=y
CONFIG_SENSORS_MAX31760=y
CONFIG_SENSORS_MAX6620=y
CONFIG_SENSORS_MAX6621=y
CONFIG_SENSORS_MAX6639=y
CONFIG_SENSORS_MAX6650=y
CONFIG_SENSORS_MAX6697=y
CONFIG_SENSORS_MAX31790=y
CONFIG_SENSORS_MCP3021=y
CONFIG_SENSORS_MLXREG_FAN=y
CONFIG_SENSORS_TC654=y
CONFIG_SENSORS_TPS23861=y
CONFIG_SENSORS_MENF21BMC_HWMON=y
CONFIG_SENSORS_MR75203=y
CONFIG_SENSORS_ADCXX=y
CONFIG_SENSORS_LM63=y
CONFIG_SENSORS_LM70=y
CONFIG_SENSORS_LM73=y
CONFIG_SENSORS_LM75=y
CONFIG_SENSORS_LM77=y
CONFIG_SENSORS_LM78=y
CONFIG_SENSORS_LM80=y
CONFIG_SENSORS_LM83=y
CONFIG_SENSORS_LM85=y
CONFIG_SENSORS_LM87=y
CONFIG_SENSORS_LM90=y
CONFIG_SENSORS_LM92=y
CONFIG_SENSORS_LM93=y
CONFIG_SENSORS_LM95234=y
CONFIG_SENSORS_LM95241=y
CONFIG_SENSORS_LM95245=y
CONFIG_SENSORS_PC87360=y
CONFIG_SENSORS_PC87427=y
CONFIG_SENSORS_NTC_THERMISTOR=y
CONFIG_SENSORS_NCT6683=y
CONFIG_SENSORS_NCT6775_CORE=y
CONFIG_SENSORS_NCT6775=y
CONFIG_SENSORS_NCT6775_I2C=y
CONFIG_SENSORS_NCT7802=y
CONFIG_SENSORS_NCT7904=y
CONFIG_SENSORS_NPCM7XX=y
CONFIG_SENSORS_NZXT_KRAKEN2=y
CONFIG_SENSORS_NZXT_SMART2=y
CONFIG_SENSORS_PCF8591=y
CONFIG_SENSORS_PECI_CPUTEMP=y
CONFIG_SENSORS_PECI_DIMMTEMP=y
CONFIG_SENSORS_PECI=y
CONFIG_PMBUS=y
CONFIG_SENSORS_PMBUS=y
CONFIG_SENSORS_ADM1266=y
CONFIG_SENSORS_ADM1275=y
CONFIG_SENSORS_BEL_PFE=y
CONFIG_SENSORS_BPA_RS600=y
CONFIG_SENSORS_DELTA_AHE50DC_FAN=y
CONFIG_SENSORS_FSP_3Y=y
CONFIG_SENSORS_IBM_CFFPS=y
CONFIG_SENSORS_DPS920AB=y
CONFIG_SENSORS_INSPUR_IPSPS=y
CONFIG_SENSORS_IR35221=y
CONFIG_SENSORS_IR36021=y
CONFIG_SENSORS_IR38064=y
CONFIG_SENSORS_IR38064_REGULATOR=y
CONFIG_SENSORS_IRPS5401=y
CONFIG_SENSORS_ISL68137=y
CONFIG_SENSORS_LM25066=y
CONFIG_SENSORS_LM25066_REGULATOR=y
CONFIG_SENSORS_LT7182S=y
CONFIG_SENSORS_LTC2978=y
CONFIG_SENSORS_LTC2978_REGULATOR=y
CONFIG_SENSORS_LTC3815=y
CONFIG_SENSORS_MAX15301=y
CONFIG_SENSORS_MAX16064=y
CONFIG_SENSORS_MAX16601=y
CONFIG_SENSORS_MAX20730=y
CONFIG_SENSORS_MAX20751=y
CONFIG_SENSORS_MAX31785=y
CONFIG_SENSORS_MAX34440=y
CONFIG_SENSORS_MAX8688=y
CONFIG_SENSORS_MP2888=y
CONFIG_SENSORS_MP2975=y
CONFIG_SENSORS_MP5023=y
CONFIG_SENSORS_PIM4328=y
CONFIG_SENSORS_PLI1209BC=y
CONFIG_SENSORS_PLI1209BC_REGULATOR=y
CONFIG_SENSORS_PM6764TR=y
CONFIG_SENSORS_PXE1610=y
CONFIG_SENSORS_Q54SJ108A2=y
CONFIG_SENSORS_STPDDC60=y
CONFIG_SENSORS_TPS40422=y
CONFIG_SENSORS_TPS53679=y
CONFIG_SENSORS_TPS546D24=y
CONFIG_SENSORS_UCD9000=y
CONFIG_SENSORS_UCD9200=y
CONFIG_SENSORS_XDPE152=y
CONFIG_SENSORS_XDPE122=y
CONFIG_SENSORS_XDPE122_REGULATOR=y
CONFIG_SENSORS_ZL6100=y
CONFIG_SENSORS_PWM_FAN=y
CONFIG_SENSORS_SBTSI=y
CONFIG_SENSORS_SBRMI=y
CONFIG_SENSORS_SHT15=y
CONFIG_SENSORS_SHT21=y
CONFIG_SENSORS_SHT3x=y
CONFIG_SENSORS_SHT4x=y
CONFIG_SENSORS_SHTC1=y
CONFIG_SENSORS_SIS5595=y
CONFIG_SENSORS_SY7636A=y
CONFIG_SENSORS_DME1737=y
CONFIG_SENSORS_EMC1403=y
CONFIG_SENSORS_EMC2103=y
CONFIG_SENSORS_EMC2305=y
CONFIG_SENSORS_EMC6W201=y
CONFIG_SENSORS_SMSC47M1=y
CONFIG_SENSORS_SMSC47M192=y
CONFIG_SENSORS_SMSC47B397=y
CONFIG_SENSORS_SCH56XX_COMMON=y
CONFIG_SENSORS_SCH5627=y
CONFIG_SENSORS_SCH5636=y
CONFIG_SENSORS_STTS751=y
CONFIG_SENSORS_SMM665=y
CONFIG_SENSORS_ADC128D818=y
CONFIG_SENSORS_ADS7828=y
CONFIG_SENSORS_ADS7871=y
CONFIG_SENSORS_AMC6821=y
CONFIG_SENSORS_INA209=y
CONFIG_SENSORS_INA2XX=y
CONFIG_SENSORS_INA238=y
CONFIG_SENSORS_INA3221=y
CONFIG_SENSORS_TC74=y
CONFIG_SENSORS_THMC50=y
CONFIG_SENSORS_TMP102=y
CONFIG_SENSORS_TMP103=y
CONFIG_SENSORS_TMP108=y
CONFIG_SENSORS_TMP401=y
CONFIG_SENSORS_TMP421=y
CONFIG_SENSORS_TMP464=y
CONFIG_SENSORS_TMP513=y
CONFIG_SENSORS_VIA_CPUTEMP=y
CONFIG_SENSORS_VIA686A=y
CONFIG_SENSORS_VT1211=y
CONFIG_SENSORS_VT8231=y
CONFIG_SENSORS_W83773G=y
CONFIG_SENSORS_W83781D=y
CONFIG_SENSORS_W83791D=y
CONFIG_SENSORS_W83792D=y
CONFIG_SENSORS_W83793=y
CONFIG_SENSORS_W83795=y
CONFIG_SENSORS_W83795_FANCTRL=y
CONFIG_SENSORS_W83L785TS=y
CONFIG_SENSORS_W83L786NG=y
CONFIG_SENSORS_W83627HF=y
CONFIG_SENSORS_W83627EHF=y
CONFIG_SENSORS_WM831X=y
CONFIG_SENSORS_WM8350=y
CONFIG_SENSORS_XGENE=y
CONFIG_SENSORS_INTEL_M10_BMC_HWMON=y

#
# ACPI drivers
#
CONFIG_SENSORS_ACPI_POWER=y
CONFIG_SENSORS_ATK0110=y
CONFIG_SENSORS_ASUS_WMI=y
CONFIG_SENSORS_ASUS_EC=y
CONFIG_THERMAL=y
CONFIG_THERMAL_NETLINK=y
CONFIG_THERMAL_STATISTICS=y
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_OF=y
CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set
CONFIG_THERMAL_GOV_FAIR_SHARE=y
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_BANG_BANG=y
CONFIG_THERMAL_GOV_USER_SPACE=y
CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
CONFIG_CPU_THERMAL=y
CONFIG_CPU_FREQ_THERMAL=y
CONFIG_CPU_IDLE_THERMAL=y
CONFIG_DEVFREQ_THERMAL=y
CONFIG_THERMAL_EMULATION=y
CONFIG_THERMAL_MMIO=y
CONFIG_MAX77620_THERMAL=y
CONFIG_DA9062_THERMAL=y

#
# Intel thermal drivers
#
CONFIG_INTEL_POWERCLAMP=y
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_X86_PKG_TEMP_THERMAL=y
CONFIG_INTEL_SOC_DTS_IOSF_CORE=y
CONFIG_INTEL_SOC_DTS_THERMAL=y

#
# ACPI INT340X thermal drivers
#
CONFIG_INT340X_THERMAL=y
CONFIG_ACPI_THERMAL_REL=y
CONFIG_INT3406_THERMAL=y
CONFIG_PROC_THERMAL_MMIO_RAPL=y
# end of ACPI INT340X thermal drivers

CONFIG_INTEL_BXT_PMIC_THERMAL=y
CONFIG_INTEL_PCH_THERMAL=y
CONFIG_INTEL_TCC_COOLING=y
CONFIG_INTEL_MENLOW=y
CONFIG_INTEL_HFI_THERMAL=y
# end of Intel thermal drivers

# CONFIG_TI_SOC_THERMAL is not set
CONFIG_GENERIC_ADC_THERMAL=y
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
CONFIG_WATCHDOG_NOWAYOUT=y
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
CONFIG_WATCHDOG_SYSFS=y
CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT=y

#
# Watchdog Pretimeout Governors
#
CONFIG_WATCHDOG_PRETIMEOUT_GOV=y
CONFIG_WATCHDOG_PRETIMEOUT_GOV_SEL=m
CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP=y
CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC=y
# CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_NOOP is not set
CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC=y

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=y
CONFIG_SOFT_WATCHDOG_PRETIMEOUT=y
CONFIG_BD957XMUF_WATCHDOG=y
CONFIG_DA9052_WATCHDOG=y
CONFIG_DA9055_WATCHDOG=y
CONFIG_DA9063_WATCHDOG=y
CONFIG_DA9062_WATCHDOG=y
CONFIG_GPIO_WATCHDOG=y
CONFIG_GPIO_WATCHDOG_ARCH_INITCALL=y
CONFIG_MENF21BMC_WATCHDOG=y
CONFIG_MENZ069_WATCHDOG=y
CONFIG_WDAT_WDT=y
CONFIG_WM831X_WATCHDOG=y
CONFIG_WM8350_WATCHDOG=y
CONFIG_XILINX_WATCHDOG=y
CONFIG_ZIIRAVE_WATCHDOG=y
CONFIG_RAVE_SP_WATCHDOG=y
CONFIG_MLX_WDT=y
CONFIG_CADENCE_WATCHDOG=y
CONFIG_DW_WATCHDOG=y
CONFIG_RN5T618_WATCHDOG=y
CONFIG_TWL4030_WATCHDOG=y
CONFIG_MAX63XX_WATCHDOG=y
CONFIG_MAX77620_WATCHDOG=y
CONFIG_RETU_WATCHDOG=y
CONFIG_STPMIC1_WATCHDOG=y
CONFIG_ACQUIRE_WDT=y
CONFIG_ADVANTECH_WDT=y
CONFIG_ALIM1535_WDT=y
CONFIG_ALIM7101_WDT=y
CONFIG_EBC_C384_WDT=y
CONFIG_EXAR_WDT=y
CONFIG_F71808E_WDT=y
CONFIG_SP5100_TCO=y
CONFIG_SBC_FITPC2_WATCHDOG=y
CONFIG_EUROTECH_WDT=y
CONFIG_IB700_WDT=y
CONFIG_IBMASR=y
CONFIG_WAFER_WDT=y
CONFIG_I6300ESB_WDT=y
CONFIG_IE6XX_WDT=y
CONFIG_INTEL_MID_WATCHDOG=y
CONFIG_ITCO_WDT=y
CONFIG_ITCO_VENDOR_SUPPORT=y
CONFIG_IT8712F_WDT=y
CONFIG_IT87_WDT=y
CONFIG_HP_WATCHDOG=y
CONFIG_HPWDT_NMI_DECODING=y
CONFIG_KEMPLD_WDT=y
CONFIG_SC1200_WDT=y
CONFIG_PC87413_WDT=y
CONFIG_NV_TCO=y
CONFIG_60XX_WDT=y
CONFIG_CPU5_WDT=y
CONFIG_SMSC_SCH311X_WDT=y
CONFIG_SMSC37B787_WDT=y
CONFIG_TQMX86_WDT=y
CONFIG_VIA_WDT=y
CONFIG_W83627HF_WDT=y
CONFIG_W83877F_WDT=y
CONFIG_W83977F_WDT=y
CONFIG_MACHZ_WDT=y
CONFIG_SBC_EPX_C3_WATCHDOG=y
CONFIG_INTEL_MEI_WDT=y
CONFIG_NI903X_WDT=y
CONFIG_NIC7018_WDT=y
CONFIG_SIEMENS_SIMATIC_IPC_WDT=y
CONFIG_MEN_A21_WDT=y
CONFIG_XEN_WDT=y

#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=y
CONFIG_WDTPCI=y

#
# USB-based Watchdog Cards
#
CONFIG_USBPCWATCHDOG=y
CONFIG_SSB_POSSIBLE=y
CONFIG_SSB=y
CONFIG_SSB_SPROM=y
CONFIG_SSB_BLOCKIO=y
CONFIG_SSB_PCIHOST_POSSIBLE=y
CONFIG_SSB_PCIHOST=y
CONFIG_SSB_B43_PCI_BRIDGE=y
CONFIG_SSB_PCMCIAHOST_POSSIBLE=y
CONFIG_SSB_PCMCIAHOST=y
CONFIG_SSB_SDIOHOST_POSSIBLE=y
CONFIG_SSB_SDIOHOST=y
CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
CONFIG_SSB_DRIVER_PCICORE=y
CONFIG_SSB_DRIVER_GPIO=y
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=y
CONFIG_BCMA_BLOCKIO=y
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
CONFIG_BCMA_HOST_PCI=y
CONFIG_BCMA_HOST_SOC=y
CONFIG_BCMA_DRIVER_PCI=y
CONFIG_BCMA_SFLASH=y
CONFIG_BCMA_DRIVER_GMAC_CMN=y
CONFIG_BCMA_DRIVER_GPIO=y
CONFIG_BCMA_DEBUG=y

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
CONFIG_MFD_ACT8945A=y
CONFIG_MFD_AS3711=y
CONFIG_MFD_AS3722=y
CONFIG_PMIC_ADP5520=y
CONFIG_MFD_AAT2870_CORE=y
CONFIG_MFD_ATMEL_FLEXCOM=y
CONFIG_MFD_ATMEL_HLCDC=y
CONFIG_MFD_BCM590XX=y
CONFIG_MFD_BD9571MWV=y
CONFIG_MFD_AXP20X=y
CONFIG_MFD_AXP20X_I2C=y
CONFIG_MFD_CROS_EC_DEV=y
CONFIG_MFD_MADERA=y
CONFIG_MFD_MADERA_I2C=y
CONFIG_MFD_MADERA_SPI=y
CONFIG_MFD_CS47L15=y
CONFIG_MFD_CS47L35=y
CONFIG_MFD_CS47L85=y
CONFIG_MFD_CS47L90=y
CONFIG_MFD_CS47L92=y
CONFIG_PMIC_DA903X=y
CONFIG_PMIC_DA9052=y
CONFIG_MFD_DA9052_SPI=y
CONFIG_MFD_DA9052_I2C=y
CONFIG_MFD_DA9055=y
CONFIG_MFD_DA9062=y
CONFIG_MFD_DA9063=y
CONFIG_MFD_DA9150=y
CONFIG_MFD_DLN2=y
CONFIG_MFD_GATEWORKS_GSC=y
CONFIG_MFD_MC13XXX=y
CONFIG_MFD_MC13XXX_SPI=y
CONFIG_MFD_MC13XXX_I2C=y
CONFIG_MFD_MP2629=y
CONFIG_MFD_HI6421_PMIC=y
CONFIG_MFD_HI6421_SPMI=y
CONFIG_HTC_PASIC3=y
CONFIG_HTC_I2CPLD=y
CONFIG_MFD_INTEL_QUARK_I2C_GPIO=y
CONFIG_LPC_ICH=y
CONFIG_LPC_SCH=y
CONFIG_INTEL_SOC_PMIC=y
CONFIG_INTEL_SOC_PMIC_BXTWC=y
CONFIG_INTEL_SOC_PMIC_CHTWC=y
CONFIG_INTEL_SOC_PMIC_CHTDC_TI=y
CONFIG_INTEL_SOC_PMIC_MRFLD=y
CONFIG_MFD_INTEL_LPSS=y
CONFIG_MFD_INTEL_LPSS_ACPI=y
CONFIG_MFD_INTEL_LPSS_PCI=y
CONFIG_MFD_INTEL_PMC_BXT=y
CONFIG_MFD_IQS62X=y
CONFIG_MFD_JANZ_CMODIO=y
CONFIG_MFD_KEMPLD=y
CONFIG_MFD_88PM800=y
CONFIG_MFD_88PM805=y
CONFIG_MFD_88PM860X=y
CONFIG_MFD_MAX14577=y
CONFIG_MFD_MAX77620=y
CONFIG_MFD_MAX77650=y
CONFIG_MFD_MAX77686=y
CONFIG_MFD_MAX77693=y
CONFIG_MFD_MAX77714=y
CONFIG_MFD_MAX77843=y
CONFIG_MFD_MAX8907=y
CONFIG_MFD_MAX8925=y
CONFIG_MFD_MAX8997=y
CONFIG_MFD_MAX8998=y
CONFIG_MFD_MT6360=y
CONFIG_MFD_MT6370=y
CONFIG_MFD_MT6397=y
CONFIG_MFD_MENF21BMC=y
CONFIG_MFD_OCELOT=y
CONFIG_EZX_PCAP=y
CONFIG_MFD_CPCAP=y
CONFIG_MFD_VIPERBOARD=y
CONFIG_MFD_NTXEC=y
CONFIG_MFD_RETU=y
CONFIG_MFD_PCF50633=y
CONFIG_PCF50633_ADC=y
CONFIG_PCF50633_GPIO=y
CONFIG_UCB1400_CORE=y
CONFIG_MFD_SY7636A=y
CONFIG_MFD_RDC321X=y
CONFIG_MFD_RT4831=y
CONFIG_MFD_RT5033=y
CONFIG_MFD_RT5120=y
CONFIG_MFD_RC5T583=y
CONFIG_MFD_RK808=y
CONFIG_MFD_RN5T618=y
CONFIG_MFD_SEC_CORE=y
CONFIG_MFD_SI476X_CORE=y
CONFIG_MFD_SIMPLE_MFD_I2C=y
CONFIG_MFD_SM501=y
CONFIG_MFD_SM501_GPIO=y
CONFIG_MFD_SKY81452=y
CONFIG_MFD_STMPE=y

#
# STMicroelectronics STMPE Interface Drivers
#
CONFIG_STMPE_I2C=y
CONFIG_STMPE_SPI=y
# end of STMicroelectronics STMPE Interface Drivers

CONFIG_MFD_SYSCON=y
CONFIG_MFD_TI_AM335X_TSCADC=y
CONFIG_MFD_LP3943=y
CONFIG_MFD_LP8788=y
CONFIG_MFD_TI_LMU=y
CONFIG_MFD_PALMAS=y
CONFIG_TPS6105X=y
CONFIG_TPS65010=y
CONFIG_TPS6507X=y
CONFIG_MFD_TPS65086=y
CONFIG_MFD_TPS65090=y
CONFIG_MFD_TPS65217=y
CONFIG_MFD_TI_LP873X=y
CONFIG_MFD_TI_LP87565=y
CONFIG_MFD_TPS65218=y
CONFIG_MFD_TPS6586X=y
CONFIG_MFD_TPS65910=y
CONFIG_MFD_TPS65912=y
CONFIG_MFD_TPS65912_I2C=y
CONFIG_MFD_TPS65912_SPI=y
CONFIG_TWL4030_CORE=y
CONFIG_MFD_TWL4030_AUDIO=y
CONFIG_TWL6040_CORE=y
CONFIG_MFD_WL1273_CORE=y
CONFIG_MFD_LM3533=y
CONFIG_MFD_TC3589X=y
CONFIG_MFD_TQMX86=y
CONFIG_MFD_VX855=y
CONFIG_MFD_LOCHNAGAR=y
CONFIG_MFD_ARIZONA=y
CONFIG_MFD_ARIZONA_I2C=y
CONFIG_MFD_ARIZONA_SPI=y
CONFIG_MFD_CS47L24=y
CONFIG_MFD_WM5102=y
CONFIG_MFD_WM5110=y
CONFIG_MFD_WM8997=y
CONFIG_MFD_WM8998=y
CONFIG_MFD_WM8400=y
CONFIG_MFD_WM831X=y
CONFIG_MFD_WM831X_I2C=y
CONFIG_MFD_WM831X_SPI=y
CONFIG_MFD_WM8350=y
CONFIG_MFD_WM8350_I2C=y
CONFIG_MFD_WM8994=y
CONFIG_MFD_ROHM_BD718XX=y
CONFIG_MFD_ROHM_BD71828=y
CONFIG_MFD_ROHM_BD957XMUF=y
CONFIG_MFD_STPMIC1=y
CONFIG_MFD_STMFX=y
CONFIG_MFD_WCD934X=y
CONFIG_MFD_ATC260X=y
CONFIG_MFD_ATC260X_I2C=y
CONFIG_MFD_QCOM_PM8008=y
CONFIG_RAVE_SP_CORE=y
CONFIG_MFD_INTEL_M10_BMC=y
CONFIG_MFD_RSMU_I2C=y
CONFIG_MFD_RSMU_SPI=y
# end of Multifunction device drivers

CONFIG_REGULATOR=y
CONFIG_REGULATOR_DEBUG=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_VIRTUAL_CONSUMER=y
CONFIG_REGULATOR_USERSPACE_CONSUMER=y
CONFIG_REGULATOR_88PG86X=y
CONFIG_REGULATOR_88PM800=y
CONFIG_REGULATOR_88PM8607=y
CONFIG_REGULATOR_ACT8865=y
CONFIG_REGULATOR_ACT8945A=y
CONFIG_REGULATOR_AD5398=y
CONFIG_REGULATOR_AAT2870=y
CONFIG_REGULATOR_ARIZONA_LDO1=y
CONFIG_REGULATOR_ARIZONA_MICSUPP=y
CONFIG_REGULATOR_AS3711=y
CONFIG_REGULATOR_AS3722=y
CONFIG_REGULATOR_ATC260X=y
CONFIG_REGULATOR_AXP20X=y
CONFIG_REGULATOR_BCM590XX=y
CONFIG_REGULATOR_BD71815=y
CONFIG_REGULATOR_BD71828=y
CONFIG_REGULATOR_BD718XX=y
CONFIG_REGULATOR_BD9571MWV=y
CONFIG_REGULATOR_BD957XMUF=y
CONFIG_REGULATOR_CPCAP=y
CONFIG_REGULATOR_CROS_EC=y
CONFIG_REGULATOR_DA903X=y
CONFIG_REGULATOR_DA9052=y
CONFIG_REGULATOR_DA9055=y
CONFIG_REGULATOR_DA9062=y
CONFIG_REGULATOR_DA9063=y
CONFIG_REGULATOR_DA9121=y
CONFIG_REGULATOR_DA9210=y
CONFIG_REGULATOR_DA9211=y
CONFIG_REGULATOR_FAN53555=y
CONFIG_REGULATOR_FAN53880=y
CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_HI6421=y
CONFIG_REGULATOR_HI6421V530=y
CONFIG_REGULATOR_HI6421V600=y
CONFIG_REGULATOR_ISL9305=y
CONFIG_REGULATOR_ISL6271A=y
CONFIG_REGULATOR_LM363X=y
CONFIG_REGULATOR_LOCHNAGAR=y
CONFIG_REGULATOR_LP3971=y
CONFIG_REGULATOR_LP3972=y
CONFIG_REGULATOR_LP872X=y
CONFIG_REGULATOR_LP873X=y
CONFIG_REGULATOR_LP8755=y
CONFIG_REGULATOR_LP87565=y
CONFIG_REGULATOR_LP8788=y
CONFIG_REGULATOR_LTC3589=y
CONFIG_REGULATOR_LTC3676=y
CONFIG_REGULATOR_MAX14577=y
CONFIG_REGULATOR_MAX1586=y
CONFIG_REGULATOR_MAX77620=y
CONFIG_REGULATOR_MAX77650=y
CONFIG_REGULATOR_MAX8649=y
CONFIG_REGULATOR_MAX8660=y
CONFIG_REGULATOR_MAX8893=y
CONFIG_REGULATOR_MAX8907=y
CONFIG_REGULATOR_MAX8925=y
CONFIG_REGULATOR_MAX8952=y
CONFIG_REGULATOR_MAX8973=y
CONFIG_REGULATOR_MAX8997=y
CONFIG_REGULATOR_MAX8998=y
CONFIG_REGULATOR_MAX20086=y
CONFIG_REGULATOR_MAX77686=y
CONFIG_REGULATOR_MAX77693=y
CONFIG_REGULATOR_MAX77802=y
CONFIG_REGULATOR_MAX77826=y
CONFIG_REGULATOR_MC13XXX_CORE=y
CONFIG_REGULATOR_MC13783=y
CONFIG_REGULATOR_MC13892=y
CONFIG_REGULATOR_MCP16502=y
CONFIG_REGULATOR_MP5416=y
CONFIG_REGULATOR_MP8859=y
CONFIG_REGULATOR_MP886X=y
CONFIG_REGULATOR_MPQ7920=y
CONFIG_REGULATOR_MT6311=y
CONFIG_REGULATOR_MT6315=y
CONFIG_REGULATOR_MT6323=y
CONFIG_REGULATOR_MT6331=y
CONFIG_REGULATOR_MT6332=y
CONFIG_REGULATOR_MT6358=y
CONFIG_REGULATOR_MT6359=y
CONFIG_REGULATOR_MT6360=y
CONFIG_REGULATOR_MT6370=y
CONFIG_REGULATOR_MT6397=y
CONFIG_REGULATOR_PALMAS=y
CONFIG_REGULATOR_PCA9450=y
CONFIG_REGULATOR_PCAP=y
CONFIG_REGULATOR_PCF50633=y
CONFIG_REGULATOR_PF8X00=y
CONFIG_REGULATOR_PFUZE100=y
CONFIG_REGULATOR_PV88060=y
CONFIG_REGULATOR_PV88080=y
CONFIG_REGULATOR_PV88090=y
CONFIG_REGULATOR_PWM=y
CONFIG_REGULATOR_QCOM_SPMI=y
CONFIG_REGULATOR_QCOM_USB_VBUS=y
CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=y
CONFIG_REGULATOR_RC5T583=y
CONFIG_REGULATOR_RK808=y
CONFIG_REGULATOR_RN5T618=y
CONFIG_REGULATOR_ROHM=y
CONFIG_REGULATOR_RT4801=y
CONFIG_REGULATOR_RT4831=y
CONFIG_REGULATOR_RT5033=y
CONFIG_REGULATOR_RT5120=y
CONFIG_REGULATOR_RT5190A=y
CONFIG_REGULATOR_RT5759=y
CONFIG_REGULATOR_RT6160=y
CONFIG_REGULATOR_RT6245=y
CONFIG_REGULATOR_RTQ2134=y
CONFIG_REGULATOR_RTMV20=y
CONFIG_REGULATOR_RTQ6752=y
CONFIG_REGULATOR_S2MPA01=y
CONFIG_REGULATOR_S2MPS11=y
CONFIG_REGULATOR_S5M8767=y
CONFIG_REGULATOR_SKY81452=y
CONFIG_REGULATOR_SLG51000=y
CONFIG_REGULATOR_STPMIC1=y
CONFIG_REGULATOR_SY7636A=y
CONFIG_REGULATOR_SY8106A=y
CONFIG_REGULATOR_SY8824X=y
CONFIG_REGULATOR_SY8827N=y
CONFIG_REGULATOR_TPS51632=y
CONFIG_REGULATOR_TPS6105X=y
CONFIG_REGULATOR_TPS62360=y
CONFIG_REGULATOR_TPS6286X=y
CONFIG_REGULATOR_TPS65023=y
CONFIG_REGULATOR_TPS6507X=y
CONFIG_REGULATOR_TPS65086=y
CONFIG_REGULATOR_TPS65090=y
CONFIG_REGULATOR_TPS65132=y
CONFIG_REGULATOR_TPS65217=y
CONFIG_REGULATOR_TPS65218=y
CONFIG_REGULATOR_TPS6524X=y
CONFIG_REGULATOR_TPS6586X=y
CONFIG_REGULATOR_TPS65910=y
CONFIG_REGULATOR_TPS65912=y
CONFIG_REGULATOR_TPS68470=y
CONFIG_REGULATOR_TWL4030=y
CONFIG_REGULATOR_VCTRL=y
CONFIG_REGULATOR_WM831X=y
CONFIG_REGULATOR_WM8350=y
CONFIG_REGULATOR_WM8400=y
CONFIG_REGULATOR_WM8994=y
CONFIG_REGULATOR_QCOM_LABIBB=y
CONFIG_RC_CORE=y
CONFIG_BPF_LIRC_MODE2=y
CONFIG_LIRC=y
CONFIG_RC_MAP=y
CONFIG_RC_DECODERS=y
CONFIG_IR_IMON_DECODER=y
CONFIG_IR_JVC_DECODER=y
CONFIG_IR_MCE_KBD_DECODER=y
CONFIG_IR_NEC_DECODER=y
CONFIG_IR_RC5_DECODER=y
CONFIG_IR_RC6_DECODER=y
CONFIG_IR_RCMM_DECODER=y
CONFIG_IR_SANYO_DECODER=y
CONFIG_IR_SHARP_DECODER=y
CONFIG_IR_SONY_DECODER=y
CONFIG_IR_XMP_DECODER=y
CONFIG_RC_DEVICES=y
CONFIG_IR_ENE=y
CONFIG_IR_FINTEK=y
CONFIG_IR_GPIO_CIR=y
CONFIG_IR_GPIO_TX=y
CONFIG_IR_HIX5HD2=y
CONFIG_IR_IGORPLUGUSB=y
CONFIG_IR_IGUANA=y
CONFIG_IR_IMON=y
CONFIG_IR_IMON_RAW=y
CONFIG_IR_ITE_CIR=y
CONFIG_IR_MCEUSB=y
CONFIG_IR_NUVOTON=y
CONFIG_IR_PWM_TX=y
CONFIG_IR_REDRAT3=y
CONFIG_IR_SERIAL=y
CONFIG_IR_SERIAL_TRANSMITTER=y
CONFIG_IR_SPI=y
CONFIG_IR_STREAMZAP=y
CONFIG_IR_TOY=y
CONFIG_IR_TTUSBIR=y
CONFIG_IR_WINBOND_CIR=y
CONFIG_RC_ATI_REMOTE=y
CONFIG_RC_LOOPBACK=y
CONFIG_RC_XBOX_DVD=y
CONFIG_CEC_CORE=y
CONFIG_CEC_NOTIFIER=y
CONFIG_CEC_PIN=y

#
# CEC support
#
CONFIG_MEDIA_CEC_RC=y
CONFIG_CEC_PIN_ERROR_INJ=y
CONFIG_MEDIA_CEC_SUPPORT=y
CONFIG_CEC_CH7322=y
CONFIG_CEC_CROS_EC=y
CONFIG_CEC_GPIO=y
CONFIG_CEC_SECO=y
CONFIG_CEC_SECO_RC=y
CONFIG_USB_PULSE8_CEC=y
CONFIG_USB_RAINSHADOW_CEC=y
# end of CEC support

CONFIG_MEDIA_SUPPORT=y
CONFIG_MEDIA_SUPPORT_FILTER=y
CONFIG_MEDIA_SUBDRV_AUTOSELECT=y

#
# Media device types
#
CONFIG_MEDIA_CAMERA_SUPPORT=y
CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
CONFIG_MEDIA_RADIO_SUPPORT=y
CONFIG_MEDIA_SDR_SUPPORT=y
CONFIG_MEDIA_PLATFORM_SUPPORT=y
CONFIG_MEDIA_TEST_SUPPORT=y
# end of Media device types

CONFIG_VIDEO_DEV=y
CONFIG_MEDIA_CONTROLLER=y
CONFIG_DVB_CORE=y

#
# Video4Linux options
#
CONFIG_VIDEO_V4L2_I2C=y
CONFIG_VIDEO_V4L2_SUBDEV_API=y
CONFIG_VIDEO_ADV_DEBUG=y
CONFIG_VIDEO_FIXED_MINOR_RANGES=y
CONFIG_VIDEO_TUNER=y
CONFIG_V4L2_MEM2MEM_DEV=y
CONFIG_V4L2_FLASH_LED_CLASS=y
CONFIG_V4L2_FWNODE=y
CONFIG_V4L2_ASYNC=y
CONFIG_VIDEOBUF_GEN=y
CONFIG_VIDEOBUF_DMA_SG=y
CONFIG_VIDEOBUF_VMALLOC=y
# end of Video4Linux options

#
# Media controller options
#
CONFIG_MEDIA_CONTROLLER_DVB=y
CONFIG_MEDIA_CONTROLLER_REQUEST_API=y
# end of Media controller options

#
# Digital TV options
#
CONFIG_DVB_MMAP=y
CONFIG_DVB_NET=y
CONFIG_DVB_MAX_ADAPTERS=16
CONFIG_DVB_DYNAMIC_MINORS=y
CONFIG_DVB_DEMUX_SECTION_LOSS_LOG=y
CONFIG_DVB_ULE_DEBUG=y
# end of Digital TV options

#
# Media drivers
#

#
# Drivers filtered as selected at 'Filter media drivers'
#

#
# Media drivers
#
CONFIG_MEDIA_USB_SUPPORT=y

#
# Webcam devices
#
CONFIG_USB_GSPCA=y
CONFIG_USB_GSPCA_BENQ=y
CONFIG_USB_GSPCA_CONEX=y
CONFIG_USB_GSPCA_CPIA1=y
CONFIG_USB_GSPCA_DTCS033=y
CONFIG_USB_GSPCA_ETOMS=y
CONFIG_USB_GSPCA_FINEPIX=y
CONFIG_USB_GSPCA_JEILINJ=y
CONFIG_USB_GSPCA_JL2005BCD=y
CONFIG_USB_GSPCA_KINECT=y
CONFIG_USB_GSPCA_KONICA=y
CONFIG_USB_GSPCA_MARS=y
CONFIG_USB_GSPCA_MR97310A=y
CONFIG_USB_GSPCA_NW80X=y
CONFIG_USB_GSPCA_OV519=y
CONFIG_USB_GSPCA_OV534=y
CONFIG_USB_GSPCA_OV534_9=y
CONFIG_USB_GSPCA_PAC207=y
CONFIG_USB_GSPCA_PAC7302=y
CONFIG_USB_GSPCA_PAC7311=y
CONFIG_USB_GSPCA_SE401=y
CONFIG_USB_GSPCA_SN9C2028=y
CONFIG_USB_GSPCA_SN9C20X=y
CONFIG_USB_GSPCA_SONIXB=y
CONFIG_USB_GSPCA_SONIXJ=y
CONFIG_USB_GSPCA_SPCA1528=y
CONFIG_USB_GSPCA_SPCA500=y
CONFIG_USB_GSPCA_SPCA501=y
CONFIG_USB_GSPCA_SPCA505=y
CONFIG_USB_GSPCA_SPCA506=y
CONFIG_USB_GSPCA_SPCA508=y
CONFIG_USB_GSPCA_SPCA561=y
CONFIG_USB_GSPCA_SQ905=y
CONFIG_USB_GSPCA_SQ905C=y
CONFIG_USB_GSPCA_SQ930X=y
CONFIG_USB_GSPCA_STK014=y
CONFIG_USB_GSPCA_STK1135=y
CONFIG_USB_GSPCA_STV0680=y
CONFIG_USB_GSPCA_SUNPLUS=y
CONFIG_USB_GSPCA_T613=y
CONFIG_USB_GSPCA_TOPRO=y
CONFIG_USB_GSPCA_TOUPTEK=y
CONFIG_USB_GSPCA_TV8532=y
CONFIG_USB_GSPCA_VC032X=y
CONFIG_USB_GSPCA_VICAM=y
CONFIG_USB_GSPCA_XIRLINK_CIT=y
CONFIG_USB_GSPCA_ZC3XX=y
CONFIG_USB_GL860=y
CONFIG_USB_M5602=y
CONFIG_USB_STV06XX=y
CONFIG_USB_PWC=y
CONFIG_USB_PWC_DEBUG=y
CONFIG_USB_PWC_INPUT_EVDEV=y
CONFIG_USB_S2255=y
CONFIG_VIDEO_USBTV=y
CONFIG_USB_VIDEO_CLASS=y
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y

#
# Analog TV USB devices
#
CONFIG_VIDEO_GO7007=y
CONFIG_VIDEO_GO7007_USB=y
CONFIG_VIDEO_GO7007_LOADER=y
CONFIG_VIDEO_GO7007_USB_S2250_BOARD=y
CONFIG_VIDEO_HDPVR=y
CONFIG_VIDEO_PVRUSB2=y
CONFIG_VIDEO_PVRUSB2_SYSFS=y
CONFIG_VIDEO_PVRUSB2_DVB=y
CONFIG_VIDEO_PVRUSB2_DEBUGIFC=y
CONFIG_VIDEO_STK1160_COMMON=y
CONFIG_VIDEO_STK1160=y

#
# Analog/digital TV USB devices
#
CONFIG_VIDEO_AU0828=y
CONFIG_VIDEO_AU0828_V4L2=y
CONFIG_VIDEO_AU0828_RC=y
CONFIG_VIDEO_CX231XX=y
CONFIG_VIDEO_CX231XX_RC=y
CONFIG_VIDEO_CX231XX_ALSA=y
CONFIG_VIDEO_CX231XX_DVB=y

#
# Digital TV USB devices
#
CONFIG_DVB_AS102=y
CONFIG_DVB_B2C2_FLEXCOP_USB=y
CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG=y
CONFIG_DVB_USB_V2=y
CONFIG_DVB_USB_AF9015=y
CONFIG_DVB_USB_AF9035=y
CONFIG_DVB_USB_ANYSEE=y
CONFIG_DVB_USB_AU6610=y
CONFIG_DVB_USB_AZ6007=y
CONFIG_DVB_USB_CE6230=y
CONFIG_DVB_USB_DVBSKY=y
CONFIG_DVB_USB_EC168=y
CONFIG_DVB_USB_GL861=y
CONFIG_DVB_USB_LME2510=y
CONFIG_DVB_USB_MXL111SF=y
CONFIG_DVB_USB_RTL28XXU=y
CONFIG_DVB_USB_ZD1301=y
CONFIG_DVB_USB=y
CONFIG_DVB_USB_DEBUG=y
CONFIG_DVB_USB_A800=y
CONFIG_DVB_USB_AF9005=y
CONFIG_DVB_USB_AF9005_REMOTE=y
CONFIG_DVB_USB_AZ6027=y
CONFIG_DVB_USB_CINERGY_T2=y
CONFIG_DVB_USB_CXUSB=y
CONFIG_DVB_USB_CXUSB_ANALOG=y
CONFIG_DVB_USB_DIB0700=y
CONFIG_DVB_USB_DIB3000MC=y
CONFIG_DVB_USB_DIBUSB_MB=y
CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y
CONFIG_DVB_USB_DIBUSB_MC=y
CONFIG_DVB_USB_DIGITV=y
CONFIG_DVB_USB_DTT200U=y
CONFIG_DVB_USB_DTV5100=y
CONFIG_DVB_USB_DW2102=y
CONFIG_DVB_USB_GP8PSK=y
CONFIG_DVB_USB_M920X=y
CONFIG_DVB_USB_NOVA_T_USB2=y
CONFIG_DVB_USB_OPERA1=y
CONFIG_DVB_USB_PCTV452E=y
CONFIG_DVB_USB_TECHNISAT_USB2=y
CONFIG_DVB_USB_TTUSB2=y
CONFIG_DVB_USB_UMT_010=y
CONFIG_DVB_USB_VP702X=y
CONFIG_DVB_USB_VP7045=y
CONFIG_SMS_USB_DRV=y
CONFIG_DVB_TTUSB_BUDGET=y
CONFIG_DVB_TTUSB_DEC=y

#
# Webcam, TV (analog/digital) USB devices
#
CONFIG_VIDEO_EM28XX=y
CONFIG_VIDEO_EM28XX_V4L2=y
CONFIG_VIDEO_EM28XX_ALSA=y
CONFIG_VIDEO_EM28XX_DVB=y
CONFIG_VIDEO_EM28XX_RC=y

#
# Software defined radio USB devices
#
CONFIG_USB_AIRSPY=y
CONFIG_USB_HACKRF=y
CONFIG_USB_MSI2500=y
CONFIG_MEDIA_PCI_SUPPORT=y

#
# Media capture support
#
CONFIG_VIDEO_SOLO6X10=y
CONFIG_VIDEO_TW5864=y
CONFIG_VIDEO_TW68=y
CONFIG_VIDEO_TW686X=y
CONFIG_VIDEO_ZORAN=y
CONFIG_VIDEO_ZORAN_DC30=y
CONFIG_VIDEO_ZORAN_ZR36060=y
CONFIG_VIDEO_ZORAN_BUZ=y
CONFIG_VIDEO_ZORAN_DC10=y
CONFIG_VIDEO_ZORAN_LML33=y
CONFIG_VIDEO_ZORAN_LML33R10=y
CONFIG_VIDEO_ZORAN_AVS6EYES=y

#
# Media capture/analog TV support
#
CONFIG_VIDEO_DT3155=y
CONFIG_VIDEO_IVTV=y
CONFIG_VIDEO_IVTV_ALSA=y
CONFIG_VIDEO_FB_IVTV=y
CONFIG_VIDEO_FB_IVTV_FORCE_PAT=y

#
# Media capture/analog/hybrid TV support
#
CONFIG_VIDEO_BT848=y
CONFIG_DVB_BT8XX=y
CONFIG_VIDEO_CX18=y
CONFIG_VIDEO_CX18_ALSA=y
CONFIG_VIDEO_CX23885=y
CONFIG_MEDIA_ALTERA_CI=y
CONFIG_VIDEO_CX25821=y
CONFIG_VIDEO_CX25821_ALSA=y
CONFIG_VIDEO_CX88=y
CONFIG_VIDEO_CX88_ALSA=y
CONFIG_VIDEO_CX88_BLACKBIRD=y
CONFIG_VIDEO_CX88_DVB=y
CONFIG_VIDEO_CX88_ENABLE_VP3054=y
CONFIG_VIDEO_CX88_VP3054=y
CONFIG_VIDEO_CX88_MPEG=y
CONFIG_VIDEO_SAA7134=y
CONFIG_VIDEO_SAA7134_ALSA=y
CONFIG_VIDEO_SAA7134_RC=y
CONFIG_VIDEO_SAA7134_DVB=y
CONFIG_VIDEO_SAA7134_GO7007=y
CONFIG_VIDEO_SAA7164=y

#
# Media digital TV PCI Adapters
#
CONFIG_DVB_B2C2_FLEXCOP_PCI=y
CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG=y
CONFIG_DVB_DDBRIDGE=y
CONFIG_DVB_DDBRIDGE_MSIENABLE=y
CONFIG_DVB_DM1105=y
CONFIG_MANTIS_CORE=y
CONFIG_DVB_MANTIS=y
CONFIG_DVB_HOPPER=y
CONFIG_DVB_NETUP_UNIDVB=y
CONFIG_DVB_NGENE=y
CONFIG_DVB_PLUTO2=y
CONFIG_DVB_PT1=y
CONFIG_DVB_PT3=y
CONFIG_DVB_SMIPCIE=y
CONFIG_VIDEO_PCI_SKELETON=y
CONFIG_VIDEO_IPU3_CIO2=y
CONFIG_CIO2_BRIDGE=y
CONFIG_RADIO_ADAPTERS=y
CONFIG_RADIO_MAXIRADIO=y
CONFIG_RADIO_SAA7706H=y
CONFIG_RADIO_SHARK=y
CONFIG_RADIO_SHARK2=y
CONFIG_RADIO_SI4713=y
CONFIG_RADIO_SI476X=y
CONFIG_RADIO_TEA575X=y
CONFIG_RADIO_TEA5764=y
CONFIG_RADIO_TEA5764_XTAL=y
CONFIG_RADIO_TEF6862=y
CONFIG_RADIO_WL1273=y
CONFIG_USB_DSBR=y
CONFIG_USB_KEENE=y
CONFIG_USB_MA901=y
CONFIG_USB_MR800=y
CONFIG_USB_RAREMONO=y
CONFIG_RADIO_SI470X=y
CONFIG_USB_SI470X=y
CONFIG_I2C_SI470X=y
CONFIG_USB_SI4713=y
CONFIG_PLATFORM_SI4713=y
CONFIG_I2C_SI4713=y
CONFIG_RADIO_WL128X=y
CONFIG_MEDIA_PLATFORM_DRIVERS=y
CONFIG_V4L_PLATFORM_DRIVERS=y
CONFIG_SDR_PLATFORM_DRIVERS=y
CONFIG_DVB_PLATFORM_DRIVERS=y
CONFIG_V4L_MEM2MEM_DRIVERS=y
CONFIG_VIDEO_MEM2MEM_DEINTERLACE=y
CONFIG_VIDEO_MUX=y

#
# Allegro DVT media platform drivers
#

#
# Amlogic media platform drivers
#

#
# Amphion drivers
#

#
# Aspeed media platform drivers
#
CONFIG_VIDEO_ASPEED=y

#
# Atmel media platform drivers
#

#
# Cadence media platform drivers
#
CONFIG_VIDEO_CADENCE_CSI2RX=y
CONFIG_VIDEO_CADENCE_CSI2TX=y

#
# Chips&Media media platform drivers
#

#
# Intel media platform drivers
#

#
# Marvell media platform drivers
#
CONFIG_VIDEO_CAFE_CCIC=y

#
# Mediatek media platform drivers
#

#
# NVidia media platform drivers
#

#
# NXP media platform drivers
#

#
# Qualcomm media platform drivers
#

#
# Renesas media platform drivers
#

#
# Rockchip media platform drivers
#

#
# Samsung media platform drivers
#

#
# STMicroelectronics media platform drivers
#

#
# Sunxi media platform drivers
#

#
# Texas Instruments drivers
#

#
# Verisilicon media platform drivers
#

#
# VIA media platform drivers
#
CONFIG_VIDEO_VIA_CAMERA=y

#
# Xilinx media platform drivers
#
CONFIG_VIDEO_XILINX=y
CONFIG_VIDEO_XILINX_CSI2RXSS=y
CONFIG_VIDEO_XILINX_TPG=y
CONFIG_VIDEO_XILINX_VTC=y

#
# MMC/SDIO DVB adapters
#
CONFIG_SMS_SDIO_DRV=y
CONFIG_V4L_TEST_DRIVERS=y
CONFIG_VIDEO_VIM2M=y
CONFIG_VIDEO_VICODEC=y
CONFIG_VIDEO_VIMC=y
CONFIG_VIDEO_VIVID=y
CONFIG_VIDEO_VIVID_CEC=y
CONFIG_VIDEO_VIVID_MAX_DEVS=64
CONFIG_DVB_TEST_DRIVERS=y
CONFIG_DVB_VIDTV=y

#
# FireWire (IEEE 1394) Adapters
#
CONFIG_DVB_FIREDTV=y
CONFIG_DVB_FIREDTV_INPUT=y
CONFIG_MEDIA_COMMON_OPTIONS=y

#
# common driver options
#
CONFIG_CYPRESS_FIRMWARE=y
CONFIG_TTPCI_EEPROM=y
CONFIG_VIDEO_CX2341X=y
CONFIG_VIDEO_TVEEPROM=y
CONFIG_DVB_B2C2_FLEXCOP=y
CONFIG_DVB_B2C2_FLEXCOP_DEBUG=y
CONFIG_SMS_SIANO_MDTV=y
CONFIG_SMS_SIANO_RC=y
CONFIG_SMS_SIANO_DEBUGFS=y
CONFIG_VIDEO_V4L2_TPG=y
CONFIG_VIDEOBUF2_CORE=y
CONFIG_VIDEOBUF2_V4L2=y
CONFIG_VIDEOBUF2_MEMOPS=y
CONFIG_VIDEOBUF2_DMA_CONTIG=y
CONFIG_VIDEOBUF2_VMALLOC=y
CONFIG_VIDEOBUF2_DMA_SG=y
CONFIG_VIDEOBUF2_DVB=y
# end of Media drivers

#
# Media ancillary drivers
#
CONFIG_MEDIA_ATTACH=y

#
# IR I2C driver auto-selected by 'Autoselect ancillary drivers'
#
CONFIG_VIDEO_IR_I2C=y

#
# Camera sensor devices
#
CONFIG_VIDEO_APTINA_PLL=y
CONFIG_VIDEO_CCS_PLL=y
CONFIG_VIDEO_AR0521=y
CONFIG_VIDEO_HI556=y
CONFIG_VIDEO_HI846=y
CONFIG_VIDEO_HI847=y
CONFIG_VIDEO_IMX208=y
CONFIG_VIDEO_IMX214=y
CONFIG_VIDEO_IMX219=y
CONFIG_VIDEO_IMX258=y
CONFIG_VIDEO_IMX274=y
CONFIG_VIDEO_IMX290=y
CONFIG_VIDEO_IMX319=y
CONFIG_VIDEO_IMX334=y
CONFIG_VIDEO_IMX335=y
CONFIG_VIDEO_IMX355=y
CONFIG_VIDEO_IMX412=y
CONFIG_VIDEO_MAX9271_LIB=y
CONFIG_VIDEO_MT9M001=y
CONFIG_VIDEO_MT9M032=y
CONFIG_VIDEO_MT9M111=y
CONFIG_VIDEO_MT9P031=y
CONFIG_VIDEO_MT9T001=y
CONFIG_VIDEO_MT9T112=y
CONFIG_VIDEO_MT9V011=y
CONFIG_VIDEO_MT9V032=y
CONFIG_VIDEO_MT9V111=y
CONFIG_VIDEO_NOON010PC30=y
CONFIG_VIDEO_OG01A1B=y
CONFIG_VIDEO_OV02A10=y
CONFIG_VIDEO_OV08D10=y
CONFIG_VIDEO_OV13858=y
CONFIG_VIDEO_OV13B10=y
CONFIG_VIDEO_OV2640=y
CONFIG_VIDEO_OV2659=y
CONFIG_VIDEO_OV2680=y
CONFIG_VIDEO_OV2685=y
CONFIG_VIDEO_OV2740=y
CONFIG_VIDEO_OV5640=y
CONFIG_VIDEO_OV5645=y
CONFIG_VIDEO_OV5647=y
CONFIG_VIDEO_OV5648=y
CONFIG_VIDEO_OV5670=y
CONFIG_VIDEO_OV5675=y
CONFIG_VIDEO_OV5693=y
CONFIG_VIDEO_OV5695=y
CONFIG_VIDEO_OV6650=y
CONFIG_VIDEO_OV7251=y
CONFIG_VIDEO_OV7640=y
CONFIG_VIDEO_OV7670=y
CONFIG_VIDEO_OV772X=y
CONFIG_VIDEO_OV7740=y
CONFIG_VIDEO_OV8856=y
CONFIG_VIDEO_OV8865=y
CONFIG_VIDEO_OV9282=y
CONFIG_VIDEO_OV9640=y
CONFIG_VIDEO_OV9650=y
CONFIG_VIDEO_OV9734=y
CONFIG_VIDEO_RDACM20=y
CONFIG_VIDEO_RDACM21=y
CONFIG_VIDEO_RJ54N1=y
CONFIG_VIDEO_S5C73M3=y
CONFIG_VIDEO_S5K4ECGX=y
CONFIG_VIDEO_S5K5BAF=y
CONFIG_VIDEO_S5K6A3=y
CONFIG_VIDEO_S5K6AA=y
CONFIG_VIDEO_SR030PC30=y
CONFIG_VIDEO_VS6624=y
CONFIG_VIDEO_CCS=y
CONFIG_VIDEO_ET8EK8=y
CONFIG_VIDEO_M5MOLS=y
# end of Camera sensor devices

#
# Lens drivers
#
CONFIG_VIDEO_AD5820=y
CONFIG_VIDEO_AK7375=y
CONFIG_VIDEO_DW9714=y
CONFIG_VIDEO_DW9768=y
CONFIG_VIDEO_DW9807_VCM=y
# end of Lens drivers

#
# Flash devices
#
CONFIG_VIDEO_ADP1653=y
CONFIG_VIDEO_LM3560=y
CONFIG_VIDEO_LM3646=y
# end of Flash devices

#
# Audio decoders, processors and mixers
#
CONFIG_VIDEO_CS3308=y
CONFIG_VIDEO_CS5345=y
CONFIG_VIDEO_CS53L32A=y
CONFIG_VIDEO_MSP3400=y
CONFIG_VIDEO_SONY_BTF_MPX=y
CONFIG_VIDEO_TDA1997X=y
CONFIG_VIDEO_TDA7432=y
CONFIG_VIDEO_TDA9840=y
CONFIG_VIDEO_TEA6415C=y
CONFIG_VIDEO_TEA6420=y
CONFIG_VIDEO_TLV320AIC23B=y
CONFIG_VIDEO_TVAUDIO=y
CONFIG_VIDEO_UDA1342=y
CONFIG_VIDEO_VP27SMPX=y
CONFIG_VIDEO_WM8739=y
CONFIG_VIDEO_WM8775=y
# end of Audio decoders, processors and mixers

#
# RDS decoders
#
CONFIG_VIDEO_SAA6588=y
# end of RDS decoders

#
# Video decoders
#
CONFIG_VIDEO_ADV7180=y
CONFIG_VIDEO_ADV7183=y
CONFIG_VIDEO_ADV748X=y
CONFIG_VIDEO_ADV7604=y
CONFIG_VIDEO_ADV7604_CEC=y
CONFIG_VIDEO_ADV7842=y
CONFIG_VIDEO_ADV7842_CEC=y
CONFIG_VIDEO_BT819=y
CONFIG_VIDEO_BT856=y
CONFIG_VIDEO_BT866=y
CONFIG_VIDEO_ISL7998X=y
CONFIG_VIDEO_KS0127=y
CONFIG_VIDEO_MAX9286=y
CONFIG_VIDEO_ML86V7667=y
CONFIG_VIDEO_SAA7110=y
CONFIG_VIDEO_SAA711X=y
CONFIG_VIDEO_TC358743=y
CONFIG_VIDEO_TC358743_CEC=y
CONFIG_VIDEO_TVP514X=y
CONFIG_VIDEO_TVP5150=y
CONFIG_VIDEO_TVP7002=y
CONFIG_VIDEO_TW2804=y
CONFIG_VIDEO_TW9903=y
CONFIG_VIDEO_TW9906=y
CONFIG_VIDEO_TW9910=y
CONFIG_VIDEO_VPX3220=y

#
# Video and audio decoders
#
CONFIG_VIDEO_SAA717X=y
CONFIG_VIDEO_CX25840=y
# end of Video decoders

#
# Video encoders
#
CONFIG_VIDEO_AD9389B=y
CONFIG_VIDEO_ADV7170=y
CONFIG_VIDEO_ADV7175=y
CONFIG_VIDEO_ADV7343=y
CONFIG_VIDEO_ADV7393=y
CONFIG_VIDEO_AK881X=y
CONFIG_VIDEO_SAA7127=y
CONFIG_VIDEO_SAA7185=y
CONFIG_VIDEO_THS8200=y
# end of Video encoders

#
# Video improvement chips
#
CONFIG_VIDEO_UPD64031A=y
CONFIG_VIDEO_UPD64083=y
# end of Video improvement chips

#
# Audio/Video compression chips
#
CONFIG_VIDEO_SAA6752HS=y
# end of Audio/Video compression chips

#
# SDR tuner chips
#
CONFIG_SDR_MAX2175=y
# end of SDR tuner chips

#
# Miscellaneous helper chips
#
CONFIG_VIDEO_I2C=y
CONFIG_VIDEO_M52790=y
CONFIG_VIDEO_ST_MIPID02=y
CONFIG_VIDEO_THS7303=y
# end of Miscellaneous helper chips

#
# Media SPI Adapters
#
CONFIG_CXD2880_SPI_DRV=y
CONFIG_VIDEO_GS1662=y
# end of Media SPI Adapters

CONFIG_MEDIA_TUNER=y

#
# Customize TV tuners
#
CONFIG_MEDIA_TUNER_E4000=y
CONFIG_MEDIA_TUNER_FC0011=y
CONFIG_MEDIA_TUNER_FC0012=y
CONFIG_MEDIA_TUNER_FC0013=y
CONFIG_MEDIA_TUNER_FC2580=y
CONFIG_MEDIA_TUNER_IT913X=y
CONFIG_MEDIA_TUNER_M88RS6000T=y
CONFIG_MEDIA_TUNER_MAX2165=y
CONFIG_MEDIA_TUNER_MC44S803=y
CONFIG_MEDIA_TUNER_MSI001=y
CONFIG_MEDIA_TUNER_MT2060=y
CONFIG_MEDIA_TUNER_MT2063=y
CONFIG_MEDIA_TUNER_MT20XX=y
CONFIG_MEDIA_TUNER_MT2131=y
CONFIG_MEDIA_TUNER_MT2266=y
CONFIG_MEDIA_TUNER_MXL301RF=y
CONFIG_MEDIA_TUNER_MXL5005S=y
CONFIG_MEDIA_TUNER_MXL5007T=y
CONFIG_MEDIA_TUNER_QM1D1B0004=y
CONFIG_MEDIA_TUNER_QM1D1C0042=y
CONFIG_MEDIA_TUNER_QT1010=y
CONFIG_MEDIA_TUNER_R820T=y
CONFIG_MEDIA_TUNER_SI2157=y
CONFIG_MEDIA_TUNER_SIMPLE=y
CONFIG_MEDIA_TUNER_TDA18212=y
CONFIG_MEDIA_TUNER_TDA18218=y
CONFIG_MEDIA_TUNER_TDA18250=y
CONFIG_MEDIA_TUNER_TDA18271=y
CONFIG_MEDIA_TUNER_TDA827X=y
CONFIG_MEDIA_TUNER_TDA8290=y
CONFIG_MEDIA_TUNER_TDA9887=y
CONFIG_MEDIA_TUNER_TEA5761=y
CONFIG_MEDIA_TUNER_TEA5767=y
CONFIG_MEDIA_TUNER_TUA9001=y
CONFIG_MEDIA_TUNER_XC2028=y
CONFIG_MEDIA_TUNER_XC4000=y
CONFIG_MEDIA_TUNER_XC5000=y
# end of Customize TV tuners

#
# Customise DVB Frontends
#

#
# Multistandard (satellite) frontends
#
CONFIG_DVB_M88DS3103=y
CONFIG_DVB_MXL5XX=y
CONFIG_DVB_STB0899=y
CONFIG_DVB_STB6100=y
CONFIG_DVB_STV090x=y
CONFIG_DVB_STV0910=y
CONFIG_DVB_STV6110x=y
CONFIG_DVB_STV6111=y

#
# Multistandard (cable + terrestrial) frontends
#
CONFIG_DVB_DRXK=y
CONFIG_DVB_MN88472=y
CONFIG_DVB_MN88473=y
CONFIG_DVB_SI2165=y
CONFIG_DVB_TDA18271C2DD=y

#
# DVB-S (satellite) frontends
#
CONFIG_DVB_CX24110=y
CONFIG_DVB_CX24116=y
CONFIG_DVB_CX24117=y
CONFIG_DVB_CX24120=y
CONFIG_DVB_CX24123=y
CONFIG_DVB_DS3000=y
CONFIG_DVB_MB86A16=y
CONFIG_DVB_MT312=y
CONFIG_DVB_S5H1420=y
CONFIG_DVB_SI21XX=y
CONFIG_DVB_STB6000=y
CONFIG_DVB_STV0288=y
CONFIG_DVB_STV0299=y
CONFIG_DVB_STV0900=y
CONFIG_DVB_STV6110=y
CONFIG_DVB_TDA10071=y
CONFIG_DVB_TDA10086=y
CONFIG_DVB_TDA8083=y
CONFIG_DVB_TDA8261=y
CONFIG_DVB_TDA826X=y
CONFIG_DVB_TS2020=y
CONFIG_DVB_TUA6100=y
CONFIG_DVB_TUNER_CX24113=y
CONFIG_DVB_TUNER_ITD1000=y
CONFIG_DVB_VES1X93=y
CONFIG_DVB_ZL10036=y
CONFIG_DVB_ZL10039=y

#
# DVB-T (terrestrial) frontends
#
CONFIG_DVB_AF9013=y
CONFIG_DVB_AS102_FE=y
CONFIG_DVB_CX22700=y
CONFIG_DVB_CX22702=y
CONFIG_DVB_CXD2820R=y
CONFIG_DVB_CXD2841ER=y
CONFIG_DVB_DIB3000MB=y
CONFIG_DVB_DIB3000MC=y
CONFIG_DVB_DIB7000M=y
CONFIG_DVB_DIB7000P=y
CONFIG_DVB_DIB9000=y
CONFIG_DVB_DRXD=y
CONFIG_DVB_EC100=y
CONFIG_DVB_GP8PSK_FE=y
CONFIG_DVB_L64781=y
CONFIG_DVB_MT352=y
CONFIG_DVB_NXT6000=y
CONFIG_DVB_RTL2830=y
CONFIG_DVB_RTL2832=y
CONFIG_DVB_RTL2832_SDR=y
CONFIG_DVB_S5H1432=y
CONFIG_DVB_SI2168=y
CONFIG_DVB_SP887X=y
CONFIG_DVB_STV0367=y
CONFIG_DVB_TDA10048=y
CONFIG_DVB_TDA1004X=y
CONFIG_DVB_ZD1301_DEMOD=y
CONFIG_DVB_ZL10353=y
CONFIG_DVB_CXD2880=y

#
# DVB-C (cable) frontends
#
CONFIG_DVB_STV0297=y
CONFIG_DVB_TDA10021=y
CONFIG_DVB_TDA10023=y
CONFIG_DVB_VES1820=y

#
# ATSC (North American/Korean Terrestrial/Cable DTV) frontends
#
CONFIG_DVB_AU8522=y
CONFIG_DVB_AU8522_DTV=y
CONFIG_DVB_AU8522_V4L=y
CONFIG_DVB_BCM3510=y
CONFIG_DVB_LG2160=y
CONFIG_DVB_LGDT3305=y
CONFIG_DVB_LGDT3306A=y
CONFIG_DVB_LGDT330X=y
CONFIG_DVB_MXL692=y
CONFIG_DVB_NXT200X=y
CONFIG_DVB_OR51132=y
CONFIG_DVB_OR51211=y
CONFIG_DVB_S5H1409=y
CONFIG_DVB_S5H1411=y

#
# ISDB-T (terrestrial) frontends
#
CONFIG_DVB_DIB8000=y
CONFIG_DVB_MB86A20S=y
CONFIG_DVB_S921=y

#
# ISDB-S (satellite) & ISDB-T (terrestrial) frontends
#
CONFIG_DVB_MN88443X=y
CONFIG_DVB_TC90522=y

#
# Digital terrestrial only tuners/PLL
#
CONFIG_DVB_PLL=y
CONFIG_DVB_TUNER_DIB0070=y
CONFIG_DVB_TUNER_DIB0090=y

#
# SEC control devices for DVB-S
#
CONFIG_DVB_A8293=y
CONFIG_DVB_AF9033=y
CONFIG_DVB_ASCOT2E=y
CONFIG_DVB_ATBM8830=y
CONFIG_DVB_HELENE=y
CONFIG_DVB_HORUS3A=y
CONFIG_DVB_ISL6405=y
CONFIG_DVB_ISL6421=y
CONFIG_DVB_ISL6423=y
CONFIG_DVB_IX2505V=y
CONFIG_DVB_LGS8GL5=y
CONFIG_DVB_LGS8GXX=y
CONFIG_DVB_LNBH25=y
CONFIG_DVB_LNBH29=y
CONFIG_DVB_LNBP21=y
CONFIG_DVB_LNBP22=y
CONFIG_DVB_M88RS2000=y
CONFIG_DVB_TDA665x=y
CONFIG_DVB_DRX39XYJ=y

#
# Common Interface (EN50221) controller drivers
#
CONFIG_DVB_CXD2099=y
CONFIG_DVB_SP2=y
# end of Customise DVB Frontends

#
# Tools to develop new frontends
#
CONFIG_DVB_DUMMY_FE=y
# end of Media ancillary drivers

#
# Graphics support
#
CONFIG_APERTURE_HELPERS=y
CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
CONFIG_AGP_SIS=y
CONFIG_AGP_VIA=y
CONFIG_INTEL_GTT=y
CONFIG_VGA_SWITCHEROO=y
CONFIG_DRM=y
CONFIG_DRM_MIPI_DBI=y
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_DEBUG_MM=y
CONFIG_DRM_USE_DYNAMIC_DEBUG=y
CONFIG_DRM_KUNIT_TEST=y
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS=y
CONFIG_DRM_DEBUG_MODESET_LOCK=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM=y
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_DP_AUX_BUS=y
CONFIG_DRM_DISPLAY_HELPER=y
CONFIG_DRM_DISPLAY_DP_HELPER=y
CONFIG_DRM_DISPLAY_HDCP_HELPER=y
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
CONFIG_DRM_DP_AUX_CHARDEV=y
CONFIG_DRM_DP_CEC=y
CONFIG_DRM_TTM=y
CONFIG_DRM_BUDDY=y
CONFIG_DRM_VRAM_HELPER=y
CONFIG_DRM_TTM_HELPER=y
CONFIG_DRM_GEM_DMA_HELPER=y
CONFIG_DRM_GEM_SHMEM_HELPER=y
CONFIG_DRM_SCHED=y

#
# I2C encoder or helper chips
#
CONFIG_DRM_I2C_CH7006=y
CONFIG_DRM_I2C_SIL164=y
CONFIG_DRM_I2C_NXP_TDA998X=y
CONFIG_DRM_I2C_NXP_TDA9950=y
# end of I2C encoder or helper chips

#
# ARM devices
#
CONFIG_DRM_KOMEDA=y
# end of ARM devices

CONFIG_DRM_RADEON=y
CONFIG_DRM_RADEON_USERPTR=y
CONFIG_DRM_AMDGPU=y
CONFIG_DRM_AMDGPU_SI=y
CONFIG_DRM_AMDGPU_CIK=y
CONFIG_DRM_AMDGPU_USERPTR=y

#
# ACP (Audio CoProcessor) Configuration
#
CONFIG_DRM_AMD_ACP=y
# end of ACP (Audio CoProcessor) Configuration

#
# Display Engine Configuration
#
CONFIG_DRM_AMD_DC=y
CONFIG_DRM_AMD_DC_DCN=y
CONFIG_DRM_AMD_DC_HDCP=y
CONFIG_DRM_AMD_DC_SI=y
CONFIG_DEBUG_KERNEL_DC=y
CONFIG_DRM_AMD_SECURE_DISPLAY=y
# end of Display Engine Configuration

CONFIG_HSA_AMD=y
CONFIG_HSA_AMD_SVM=y
CONFIG_HSA_AMD_P2P=y
CONFIG_DRM_NOUVEAU=y
CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT=y
CONFIG_NOUVEAU_DEBUG=5
CONFIG_NOUVEAU_DEBUG_DEFAULT=3
CONFIG_NOUVEAU_DEBUG_MMU=y
CONFIG_NOUVEAU_DEBUG_PUSH=y
CONFIG_DRM_NOUVEAU_BACKLIGHT=y
CONFIG_DRM_NOUVEAU_SVM=y
CONFIG_DRM_I915=y
CONFIG_DRM_I915_FORCE_PROBE=""
CONFIG_DRM_I915_CAPTURE_ERROR=y
CONFIG_DRM_I915_COMPRESS_ERROR=y
CONFIG_DRM_I915_USERPTR=y
CONFIG_DRM_I915_GVT=y
CONFIG_DRM_I915_GVT_KVMGT=y
CONFIG_DRM_I915_PXP=y

#
# drm/i915 Debugging
#
CONFIG_DRM_I915_WERROR=y
# CONFIG_DRM_I915_DEBUG is not set
CONFIG_DRM_I915_DEBUG_MMIO=y
# CONFIG_DRM_I915_DEBUG_GEM is not set
CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS=y
CONFIG_DRM_I915_SW_FENCE_CHECK_DAG=y
CONFIG_DRM_I915_DEBUG_GUC=y
CONFIG_DRM_I915_SELFTEST=y
CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS=y
CONFIG_DRM_I915_DEBUG_VBLANK_EVADE=y
CONFIG_DRM_I915_DEBUG_RUNTIME_PM=y
# end of drm/i915 Debugging

#
# drm/i915 Profile Guided Optimisation
#
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
CONFIG_DRM_I915_STOP_TIMEOUT=100
CONFIG_DRM_I915_TIMESLICE_DURATION=1
# end of drm/i915 Profile Guided Optimisation

CONFIG_DRM_VGEM=y
CONFIG_DRM_VKMS=y
CONFIG_DRM_VMWGFX=y
CONFIG_DRM_VMWGFX_FBCON=y
CONFIG_DRM_VMWGFX_MKSSTATS=y
CONFIG_DRM_GMA500=y
CONFIG_DRM_UDL=y
CONFIG_DRM_AST=y
CONFIG_DRM_MGAG200=y
CONFIG_DRM_RCAR_DW_HDMI=y
CONFIG_DRM_RCAR_USE_LVDS=y
CONFIG_DRM_RCAR_USE_MIPI_DSI=y
CONFIG_DRM_QXL=y
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_DRM_PANEL=y

#
# Display Panels
#
CONFIG_DRM_PANEL_ABT_Y030XX067A=y
CONFIG_DRM_PANEL_ARM_VERSATILE=y
CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596=y
CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0=y
CONFIG_DRM_PANEL_BOE_HIMAX8279D=y
CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=y
CONFIG_DRM_PANEL_DSI_CM=y
CONFIG_DRM_PANEL_LVDS=y
CONFIG_DRM_PANEL_SIMPLE=y
CONFIG_DRM_PANEL_EDP=y
CONFIG_DRM_PANEL_EBBG_FT8719=y
CONFIG_DRM_PANEL_ELIDA_KD35T133=y
CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=y
CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=y
CONFIG_DRM_PANEL_ILITEK_IL9322=y
CONFIG_DRM_PANEL_ILITEK_ILI9341=y
CONFIG_DRM_PANEL_ILITEK_ILI9881C=y
CONFIG_DRM_PANEL_INNOLUX_EJ030NA=y
CONFIG_DRM_PANEL_INNOLUX_P079ZCA=y
CONFIG_DRM_PANEL_JDI_LT070ME05000=y
CONFIG_DRM_PANEL_JDI_R63452=y
CONFIG_DRM_PANEL_KHADAS_TS050=y
CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=y
CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W=y
CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829=y
CONFIG_DRM_PANEL_SAMSUNG_LD9040=y
CONFIG_DRM_PANEL_LG_LB035Q02=y
CONFIG_DRM_PANEL_LG_LG4573=y
CONFIG_DRM_PANEL_NEC_NL8048HL11=y
CONFIG_DRM_PANEL_NEWVISION_NV3052C=y
CONFIG_DRM_PANEL_NOVATEK_NT35510=y
CONFIG_DRM_PANEL_NOVATEK_NT35560=y
CONFIG_DRM_PANEL_NOVATEK_NT35950=y
CONFIG_DRM_PANEL_NOVATEK_NT36672A=y
CONFIG_DRM_PANEL_NOVATEK_NT39016=y
CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=y
CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=y
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=y
CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=y
CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=y
CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=y
CONFIG_DRM_PANEL_RAYDIUM_RM67191=y
CONFIG_DRM_PANEL_RAYDIUM_RM68200=y
CONFIG_DRM_PANEL_RONBO_RB070D30=y
CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20=y
CONFIG_DRM_PANEL_SAMSUNG_DB7430=y
CONFIG_DRM_PANEL_SAMSUNG_S6D16D0=y
CONFIG_DRM_PANEL_SAMSUNG_S6D27A1=y
CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=y
CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=y
CONFIG_DRM_PANEL_SAMSUNG_S6E63M0=y
CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_SPI=y
CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_DSI=y
CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=y
CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=y
CONFIG_DRM_PANEL_SAMSUNG_SOFEF00=y
CONFIG_DRM_PANEL_SEIKO_43WVF1G=y
CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=y
CONFIG_DRM_PANEL_SHARP_LS037V7DW01=y
CONFIG_DRM_PANEL_SHARP_LS043T1LE01=y
CONFIG_DRM_PANEL_SHARP_LS060T1SX01=y
CONFIG_DRM_PANEL_SITRONIX_ST7701=y
CONFIG_DRM_PANEL_SITRONIX_ST7703=y
CONFIG_DRM_PANEL_SITRONIX_ST7789V=y
CONFIG_DRM_PANEL_SONY_ACX565AKM=y
CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=y
CONFIG_DRM_PANEL_TDO_TL070WSH30=y
CONFIG_DRM_PANEL_TPO_TD028TTEC1=y
CONFIG_DRM_PANEL_TPO_TD043MTEA1=y
CONFIG_DRM_PANEL_TPO_TPG110=y
CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=y
CONFIG_DRM_PANEL_VISIONOX_RM69299=y
CONFIG_DRM_PANEL_WIDECHIPS_WS2401=y
CONFIG_DRM_PANEL_XINPENG_XPP055C272=y
# end of Display Panels

CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y

#
# Display Interface Bridges
#
CONFIG_DRM_CDNS_DSI=y
CONFIG_DRM_CHIPONE_ICN6211=y
CONFIG_DRM_CHRONTEL_CH7033=y
CONFIG_DRM_CROS_EC_ANX7688=y
CONFIG_DRM_DISPLAY_CONNECTOR=y
CONFIG_DRM_ITE_IT6505=y
CONFIG_DRM_LONTIUM_LT8912B=y
CONFIG_DRM_LONTIUM_LT9211=y
CONFIG_DRM_LONTIUM_LT9611=y
CONFIG_DRM_LONTIUM_LT9611UXC=y
CONFIG_DRM_ITE_IT66121=y
CONFIG_DRM_LVDS_CODEC=y
CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW=y
CONFIG_DRM_NWL_MIPI_DSI=y
CONFIG_DRM_NXP_PTN3460=y
CONFIG_DRM_PARADE_PS8622=y
CONFIG_DRM_PARADE_PS8640=y
CONFIG_DRM_SIL_SII8620=y
CONFIG_DRM_SII902X=y
CONFIG_DRM_SII9234=y
CONFIG_DRM_SIMPLE_BRIDGE=y
CONFIG_DRM_THINE_THC63LVD1024=y
CONFIG_DRM_TOSHIBA_TC358762=y
CONFIG_DRM_TOSHIBA_TC358764=y
CONFIG_DRM_TOSHIBA_TC358767=y
CONFIG_DRM_TOSHIBA_TC358768=y
CONFIG_DRM_TOSHIBA_TC358775=y
CONFIG_DRM_TI_DLPC3433=y
CONFIG_DRM_TI_TFP410=y
CONFIG_DRM_TI_SN65DSI83=y
CONFIG_DRM_TI_SN65DSI86=y
CONFIG_DRM_TI_TPD12S015=y
CONFIG_DRM_ANALOGIX_ANX6345=y
CONFIG_DRM_ANALOGIX_ANX78XX=y
CONFIG_DRM_ANALOGIX_DP=y
CONFIG_DRM_ANALOGIX_ANX7625=y
CONFIG_DRM_I2C_ADV7511=y
CONFIG_DRM_I2C_ADV7511_AUDIO=y
CONFIG_DRM_I2C_ADV7511_CEC=y
CONFIG_DRM_CDNS_MHDP8546=y
CONFIG_DRM_DW_HDMI=y
CONFIG_DRM_DW_HDMI_AHB_AUDIO=y
CONFIG_DRM_DW_HDMI_I2S_AUDIO=y
CONFIG_DRM_DW_HDMI_GP_AUDIO=y
CONFIG_DRM_DW_HDMI_CEC=y
# end of Display Interface Bridges

CONFIG_DRM_ETNAVIV=y
CONFIG_DRM_ETNAVIV_THERMAL=y
CONFIG_DRM_LOGICVC=y
CONFIG_DRM_MXS=y
CONFIG_DRM_MXSFB=y
CONFIG_DRM_IMX_LCDIF=y
CONFIG_DRM_ARCPGU=y
CONFIG_DRM_BOCHS=y
CONFIG_DRM_CIRRUS_QEMU=y
CONFIG_DRM_GM12U320=y
CONFIG_DRM_PANEL_MIPI_DBI=y
CONFIG_DRM_SIMPLEDRM=y
CONFIG_TINYDRM_HX8357D=y
CONFIG_TINYDRM_ILI9163=y
CONFIG_TINYDRM_ILI9225=y
CONFIG_TINYDRM_ILI9341=y
CONFIG_TINYDRM_ILI9486=y
CONFIG_TINYDRM_MI0283QT=y
CONFIG_TINYDRM_REPAPER=y
CONFIG_TINYDRM_ST7586=y
CONFIG_TINYDRM_ST7735R=y
CONFIG_DRM_XEN=y
CONFIG_DRM_XEN_FRONTEND=y
CONFIG_DRM_VBOXVIDEO=y
CONFIG_DRM_GUD=y
CONFIG_DRM_SSD130X=y
CONFIG_DRM_SSD130X_I2C=y
CONFIG_DRM_SSD130X_SPI=y
CONFIG_DRM_HYPERV=y
CONFIG_DRM_LEGACY=y
CONFIG_DRM_TDFX=y
CONFIG_DRM_R128=y
CONFIG_DRM_MGA=y
CONFIG_DRM_SIS=y
CONFIG_DRM_VIA=y
CONFIG_DRM_SAVAGE=y
CONFIG_DRM_EXPORT_FOR_TESTS=y
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
CONFIG_DRM_NOMODESET=y
CONFIG_DRM_LIB_RANDOM=y
CONFIG_DRM_PRIVACY_SCREEN=y

#
# Frame buffer Devices
#
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_DDC=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_IMAGEBLIT=y
CONFIG_FB_FOREIGN_ENDIAN=y
CONFIG_FB_BOTH_ENDIAN=y
# CONFIG_FB_BIG_ENDIAN is not set
# CONFIG_FB_LITTLE_ENDIAN is not set
CONFIG_FB_SYS_FOPS=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_HECUBA=y
CONFIG_FB_SVGALIB=y
CONFIG_FB_BACKLIGHT=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
CONFIG_FB_CIRRUS=y
CONFIG_FB_PM2=y
CONFIG_FB_PM2_FIFO_DISCONNECT=y
CONFIG_FB_CYBER2000=y
CONFIG_FB_CYBER2000_DDC=y
CONFIG_FB_ARC=y
CONFIG_FB_ASILIANT=y
CONFIG_FB_IMSTT=y
CONFIG_FB_VGA16=y
CONFIG_FB_UVESA=y
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
CONFIG_FB_N411=y
CONFIG_FB_HGA=y
CONFIG_FB_OPENCORES=y
CONFIG_FB_S1D13XXX=y
CONFIG_FB_NVIDIA=y
CONFIG_FB_NVIDIA_I2C=y
CONFIG_FB_NVIDIA_DEBUG=y
CONFIG_FB_NVIDIA_BACKLIGHT=y
CONFIG_FB_RIVA=y
CONFIG_FB_RIVA_I2C=y
CONFIG_FB_RIVA_DEBUG=y
CONFIG_FB_RIVA_BACKLIGHT=y
CONFIG_FB_I740=y
CONFIG_FB_LE80578=y
CONFIG_FB_CARILLO_RANCH=y
CONFIG_FB_MATROX=y
CONFIG_FB_MATROX_MILLENIUM=y
CONFIG_FB_MATROX_MYSTIQUE=y
CONFIG_FB_MATROX_G=y
CONFIG_FB_MATROX_I2C=y
CONFIG_FB_MATROX_MAVEN=y
CONFIG_FB_RADEON=y
CONFIG_FB_RADEON_I2C=y
CONFIG_FB_RADEON_BACKLIGHT=y
CONFIG_FB_RADEON_DEBUG=y
CONFIG_FB_ATY128=y
CONFIG_FB_ATY128_BACKLIGHT=y
CONFIG_FB_ATY=y
CONFIG_FB_ATY_CT=y
CONFIG_FB_ATY_GENERIC_LCD=y
CONFIG_FB_ATY_GX=y
CONFIG_FB_ATY_BACKLIGHT=y
CONFIG_FB_S3=y
CONFIG_FB_S3_DDC=y
CONFIG_FB_SAVAGE=y
CONFIG_FB_SAVAGE_I2C=y
CONFIG_FB_SAVAGE_ACCEL=y
CONFIG_FB_SIS=y
CONFIG_FB_SIS_300=y
CONFIG_FB_SIS_315=y
CONFIG_FB_VIA=y
CONFIG_FB_VIA_DIRECT_PROCFS=y
CONFIG_FB_VIA_X_COMPATIBILITY=y
CONFIG_FB_NEOMAGIC=y
CONFIG_FB_KYRO=y
CONFIG_FB_3DFX=y
CONFIG_FB_3DFX_ACCEL=y
CONFIG_FB_3DFX_I2C=y
CONFIG_FB_VOODOO1=y
CONFIG_FB_VT8623=y
CONFIG_FB_TRIDENT=y
CONFIG_FB_ARK=y
CONFIG_FB_PM3=y
CONFIG_FB_CARMINE=y
CONFIG_FB_CARMINE_DRAM_EVAL=y
# CONFIG_CARMINE_DRAM_CUSTOM is not set
CONFIG_FB_SM501=y
CONFIG_FB_SMSCUFX=y
CONFIG_FB_UDL=y
CONFIG_FB_IBM_GXT4500=y
CONFIG_FB_GOLDFISH=y
CONFIG_FB_VIRTUAL=y
CONFIG_XEN_FBDEV_FRONTEND=y
CONFIG_FB_METRONOME=y
CONFIG_FB_MB862XX=y
CONFIG_FB_MB862XX_PCI_GDC=y
CONFIG_FB_MB862XX_I2C=y
CONFIG_FB_HYPERV=y
CONFIG_FB_SSD1307=y
CONFIG_FB_SM712=y
# end of Frame buffer Devices

#
# Backlight & LCD device support
#
CONFIG_LCD_CLASS_DEVICE=y
CONFIG_LCD_L4F00242T03=y
CONFIG_LCD_LMS283GF05=y
CONFIG_LCD_LTV350QV=y
CONFIG_LCD_ILI922X=y
CONFIG_LCD_ILI9320=y
CONFIG_LCD_TDO24M=y
CONFIG_LCD_VGG2432A4=y
CONFIG_LCD_PLATFORM=y
CONFIG_LCD_AMS369FG06=y
CONFIG_LCD_LMS501KF03=y
CONFIG_LCD_HX8357=y
CONFIG_LCD_OTM3225A=y
CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_BACKLIGHT_KTD253=y
CONFIG_BACKLIGHT_LM3533=y
CONFIG_BACKLIGHT_CARILLO_RANCH=y
CONFIG_BACKLIGHT_PWM=y
CONFIG_BACKLIGHT_DA903X=y
CONFIG_BACKLIGHT_DA9052=y
CONFIG_BACKLIGHT_MAX8925=y
CONFIG_BACKLIGHT_MT6370=y
CONFIG_BACKLIGHT_APPLE=y
CONFIG_BACKLIGHT_QCOM_WLED=y
CONFIG_BACKLIGHT_RT4831=y
CONFIG_BACKLIGHT_SAHARA=y
CONFIG_BACKLIGHT_WM831X=y
CONFIG_BACKLIGHT_ADP5520=y
CONFIG_BACKLIGHT_ADP8860=y
CONFIG_BACKLIGHT_ADP8870=y
CONFIG_BACKLIGHT_88PM860X=y
CONFIG_BACKLIGHT_PCF50633=y
CONFIG_BACKLIGHT_AAT2870=y
CONFIG_BACKLIGHT_LM3630A=y
CONFIG_BACKLIGHT_LM3639=y
CONFIG_BACKLIGHT_LP855X=y
CONFIG_BACKLIGHT_LP8788=y
CONFIG_BACKLIGHT_PANDORA=y
CONFIG_BACKLIGHT_SKY81452=y
CONFIG_BACKLIGHT_TPS65217=y
CONFIG_BACKLIGHT_AS3711=y
CONFIG_BACKLIGHT_GPIO=y
CONFIG_BACKLIGHT_LV5207LP=y
CONFIG_BACKLIGHT_BD6107=y
CONFIG_BACKLIGHT_ARCXCNN=y
CONFIG_BACKLIGHT_RAVE_SP=y
CONFIG_BACKLIGHT_LED=y
# end of Backlight & LCD device support

CONFIG_VGASTATE=y
CONFIG_VIDEOMODE_HELPERS=y
CONFIG_HDMI=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y
# end of Console display driver support

CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
CONFIG_LOGO_LINUX_CLUT224=y
# end of Graphics support

CONFIG_SOUND=y
CONFIG_SOUND_OSS_CORE=y
CONFIG_SOUND_OSS_CORE_PRECLAIM=y
CONFIG_SND=y
CONFIG_SND_TIMER=y
CONFIG_SND_PCM=y
CONFIG_SND_PCM_ELD=y
CONFIG_SND_PCM_IEC958=y
CONFIG_SND_DMAENGINE_PCM=y
CONFIG_SND_HWDEP=y
CONFIG_SND_SEQ_DEVICE=y
CONFIG_SND_RAWMIDI=y
CONFIG_SND_COMPRESS_OFFLOAD=y
CONFIG_SND_JACK=y
CONFIG_SND_JACK_INPUT_DEV=y
CONFIG_SND_OSSEMUL=y
CONFIG_SND_MIXER_OSS=y
CONFIG_SND_PCM_OSS=y
CONFIG_SND_PCM_OSS_PLUGINS=y
CONFIG_SND_PCM_TIMER=y
CONFIG_SND_HRTIMER=y
CONFIG_SND_DYNAMIC_MINORS=y
CONFIG_SND_MAX_CARDS=32
CONFIG_SND_SUPPORT_OLD_API=y
CONFIG_SND_PROC_FS=y
CONFIG_SND_VERBOSE_PROCFS=y
CONFIG_SND_VERBOSE_PRINTK=y
CONFIG_SND_CTL_FAST_LOOKUP=y
CONFIG_SND_DEBUG=y
CONFIG_SND_DEBUG_VERBOSE=y
CONFIG_SND_PCM_XRUN_DEBUG=y
CONFIG_SND_CTL_INPUT_VALIDATION=y
CONFIG_SND_CTL_DEBUG=y
CONFIG_SND_JACK_INJECTION_DEBUG=y
CONFIG_SND_VMASTER=y
CONFIG_SND_DMA_SGBUF=y
CONFIG_SND_CTL_LED=y
CONFIG_SND_SEQUENCER=y
CONFIG_SND_SEQ_DUMMY=y
CONFIG_SND_SEQUENCER_OSS=y
CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
CONFIG_SND_SEQ_MIDI_EVENT=y
CONFIG_SND_SEQ_MIDI=y
CONFIG_SND_SEQ_MIDI_EMUL=y
CONFIG_SND_SEQ_VIRMIDI=y
CONFIG_SND_MPU401_UART=y
CONFIG_SND_OPL3_LIB=y
CONFIG_SND_OPL3_LIB_SEQ=y
CONFIG_SND_VX_LIB=y
CONFIG_SND_AC97_CODEC=y
CONFIG_SND_DRIVERS=y
CONFIG_SND_PCSP=y
CONFIG_SND_DUMMY=y
CONFIG_SND_ALOOP=y
CONFIG_SND_VIRMIDI=y
CONFIG_SND_MTPAV=y
CONFIG_SND_MTS64=y
CONFIG_SND_SERIAL_U16550=y
CONFIG_SND_SERIAL_GENERIC=y
CONFIG_SND_MPU401=y
CONFIG_SND_PORTMAN2X4=y
CONFIG_SND_AC97_POWER_SAVE=y
CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
CONFIG_SND_SB_COMMON=y
CONFIG_SND_PCI=y
CONFIG_SND_AD1889=y
CONFIG_SND_ALS300=y
CONFIG_SND_ALS4000=y
CONFIG_SND_ALI5451=y
CONFIG_SND_ASIHPI=y
CONFIG_SND_ATIIXP=y
CONFIG_SND_ATIIXP_MODEM=y
CONFIG_SND_AU8810=y
CONFIG_SND_AU8820=y
CONFIG_SND_AU8830=y
CONFIG_SND_AW2=y
CONFIG_SND_AZT3328=y
CONFIG_SND_BT87X=y
CONFIG_SND_BT87X_OVERCLOCK=y
CONFIG_SND_CA0106=y
CONFIG_SND_CMIPCI=y
CONFIG_SND_OXYGEN_LIB=y
CONFIG_SND_OXYGEN=y
CONFIG_SND_CS4281=y
CONFIG_SND_CS46XX=y
CONFIG_SND_CS46XX_NEW_DSP=y
CONFIG_SND_CTXFI=y
CONFIG_SND_DARLA20=y
CONFIG_SND_GINA20=y
CONFIG_SND_LAYLA20=y
CONFIG_SND_DARLA24=y
CONFIG_SND_GINA24=y
CONFIG_SND_LAYLA24=y
CONFIG_SND_MONA=y
CONFIG_SND_MIA=y
CONFIG_SND_ECHO3G=y
CONFIG_SND_INDIGO=y
CONFIG_SND_INDIGOIO=y
CONFIG_SND_INDIGODJ=y
CONFIG_SND_INDIGOIOX=y
CONFIG_SND_INDIGODJX=y
CONFIG_SND_EMU10K1=y
CONFIG_SND_EMU10K1_SEQ=y
CONFIG_SND_EMU10K1X=y
CONFIG_SND_ENS1370=y
CONFIG_SND_ENS1371=y
CONFIG_SND_ES1938=y
CONFIG_SND_ES1968=y
CONFIG_SND_ES1968_INPUT=y
CONFIG_SND_ES1968_RADIO=y
CONFIG_SND_FM801=y
CONFIG_SND_FM801_TEA575X_BOOL=y
CONFIG_SND_HDSP=y

#
# Don't forget to add built-in firmwares for HDSP driver
#
CONFIG_SND_HDSPM=y
CONFIG_SND_ICE1712=y
CONFIG_SND_ICE1724=y
CONFIG_SND_INTEL8X0=y
CONFIG_SND_INTEL8X0M=y
CONFIG_SND_KORG1212=y
CONFIG_SND_LOLA=y
CONFIG_SND_LX6464ES=y
CONFIG_SND_MAESTRO3=y
CONFIG_SND_MAESTRO3_INPUT=y
CONFIG_SND_MIXART=y
CONFIG_SND_NM256=y
CONFIG_SND_PCXHR=y
CONFIG_SND_RIPTIDE=y
CONFIG_SND_RME32=y
CONFIG_SND_RME96=y
CONFIG_SND_RME9652=y
CONFIG_SND_SONICVIBES=y
CONFIG_SND_TRIDENT=y
CONFIG_SND_VIA82XX=y
CONFIG_SND_VIA82XX_MODEM=y
CONFIG_SND_VIRTUOSO=y
CONFIG_SND_VX222=y
CONFIG_SND_YMFPCI=y

#
# HD-Audio
#
CONFIG_SND_HDA=y
CONFIG_SND_HDA_GENERIC_LEDS=y
CONFIG_SND_HDA_INTEL=y
CONFIG_SND_HDA_HWDEP=y
CONFIG_SND_HDA_RECONFIG=y
CONFIG_SND_HDA_INPUT_BEEP=y
CONFIG_SND_HDA_INPUT_BEEP_MODE=1
CONFIG_SND_HDA_PATCH_LOADER=y
CONFIG_SND_HDA_SCODEC_CS35L41=y
CONFIG_SND_HDA_CS_DSP_CONTROLS=y
CONFIG_SND_HDA_SCODEC_CS35L41_I2C=y
CONFIG_SND_HDA_SCODEC_CS35L41_SPI=y
CONFIG_SND_HDA_CODEC_REALTEK=y
CONFIG_SND_HDA_CODEC_ANALOG=y
CONFIG_SND_HDA_CODEC_SIGMATEL=y
CONFIG_SND_HDA_CODEC_VIA=y
CONFIG_SND_HDA_CODEC_HDMI=y
CONFIG_SND_HDA_CODEC_CIRRUS=y
CONFIG_SND_HDA_CODEC_CS8409=y
CONFIG_SND_HDA_CODEC_CONEXANT=y
CONFIG_SND_HDA_CODEC_CA0110=y
CONFIG_SND_HDA_CODEC_CA0132=y
CONFIG_SND_HDA_CODEC_CA0132_DSP=y
CONFIG_SND_HDA_CODEC_CMEDIA=y
CONFIG_SND_HDA_CODEC_SI3054=y
CONFIG_SND_HDA_GENERIC=y
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM=y
# end of HD-Audio

CONFIG_SND_HDA_CORE=y
CONFIG_SND_HDA_DSP_LOADER=y
CONFIG_SND_HDA_COMPONENT=y
CONFIG_SND_HDA_I915=y
CONFIG_SND_HDA_EXT_CORE=y
CONFIG_SND_HDA_PREALLOC_SIZE=0
CONFIG_SND_INTEL_NHLT=y
CONFIG_SND_INTEL_DSP_CONFIG=y
CONFIG_SND_INTEL_SOUNDWIRE_ACPI=y
CONFIG_SND_INTEL_BYT_PREFER_SOF=y
CONFIG_SND_SPI=y
CONFIG_SND_USB=y
CONFIG_SND_USB_AUDIO=y
CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
CONFIG_SND_USB_UA101=y
CONFIG_SND_USB_USX2Y=y
CONFIG_SND_USB_CAIAQ=y
CONFIG_SND_USB_CAIAQ_INPUT=y
CONFIG_SND_USB_US122L=y
CONFIG_SND_USB_6FIRE=y
CONFIG_SND_USB_HIFACE=y
CONFIG_SND_BCD2000=y
CONFIG_SND_USB_LINE6=y
CONFIG_SND_USB_POD=y
CONFIG_SND_USB_PODHD=y
CONFIG_SND_USB_TONEPORT=y
CONFIG_SND_USB_VARIAX=y
CONFIG_SND_FIREWIRE=y
CONFIG_SND_FIREWIRE_LIB=y
CONFIG_SND_DICE=y
CONFIG_SND_OXFW=y
CONFIG_SND_ISIGHT=y
CONFIG_SND_FIREWORKS=y
CONFIG_SND_BEBOB=y
CONFIG_SND_FIREWIRE_DIGI00X=y
CONFIG_SND_FIREWIRE_TASCAM=y
CONFIG_SND_FIREWIRE_MOTU=y
CONFIG_SND_FIREFACE=y
CONFIG_SND_PCMCIA=y
CONFIG_SND_VXPOCKET=y
CONFIG_SND_PDAUDIOCF=y
CONFIG_SND_SOC=y
CONFIG_SND_SOC_AC97_BUS=y
CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
CONFIG_SND_SOC_COMPRESS=y
CONFIG_SND_SOC_TOPOLOGY=y
CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=y
CONFIG_SND_SOC_UTILS_KUNIT_TEST=y
CONFIG_SND_SOC_ACPI=y
CONFIG_SND_SOC_ADI=y
CONFIG_SND_SOC_ADI_AXI_I2S=y
CONFIG_SND_SOC_ADI_AXI_SPDIF=y
CONFIG_SND_SOC_AMD_ACP=y
CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=y
CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=y
CONFIG_SND_SOC_AMD_ST_ES8336_MACH=y
CONFIG_SND_SOC_AMD_ACP3x=y
CONFIG_SND_SOC_AMD_RV_RT5682_MACH=y
CONFIG_SND_SOC_AMD_RENOIR=y
CONFIG_SND_SOC_AMD_RENOIR_MACH=y
CONFIG_SND_SOC_AMD_ACP5x=y
CONFIG_SND_SOC_AMD_VANGOGH_MACH=y
CONFIG_SND_SOC_AMD_ACP6x=y
CONFIG_SND_SOC_AMD_YC_MACH=y
CONFIG_SND_AMD_ACP_CONFIG=y
CONFIG_SND_SOC_AMD_ACP_COMMON=y
CONFIG_SND_SOC_AMD_ACP_PDM=y
CONFIG_SND_SOC_AMD_ACP_I2S=y
CONFIG_SND_SOC_AMD_ACP_PCM=y
CONFIG_SND_SOC_AMD_ACP_PCI=y
CONFIG_SND_AMD_ASOC_RENOIR=y
CONFIG_SND_AMD_ASOC_REMBRANDT=y
CONFIG_SND_SOC_AMD_MACH_COMMON=y
CONFIG_SND_SOC_AMD_LEGACY_MACH=y
CONFIG_SND_SOC_AMD_SOF_MACH=y
CONFIG_SND_SOC_AMD_RPL_ACP6x=y
CONFIG_SND_SOC_AMD_PS=y
CONFIG_SND_SOC_AMD_PS_MACH=y
CONFIG_SND_ATMEL_SOC=y
CONFIG_SND_SOC_MIKROE_PROTO=y
CONFIG_SND_BCM63XX_I2S_WHISTLER=y
CONFIG_SND_DESIGNWARE_I2S=y
CONFIG_SND_DESIGNWARE_PCM=y

#
# SoC Audio for Freescale CPUs
#

#
# Common SoC Audio options for Freescale CPUs:
#
CONFIG_SND_SOC_FSL_ASRC=y
CONFIG_SND_SOC_FSL_SAI=y
CONFIG_SND_SOC_FSL_MQS=y
CONFIG_SND_SOC_FSL_AUDMIX=y
CONFIG_SND_SOC_FSL_SSI=y
CONFIG_SND_SOC_FSL_SPDIF=y
CONFIG_SND_SOC_FSL_ESAI=y
CONFIG_SND_SOC_FSL_MICFIL=y
CONFIG_SND_SOC_FSL_EASRC=y
CONFIG_SND_SOC_FSL_XCVR=y
CONFIG_SND_SOC_FSL_UTILS=y
CONFIG_SND_SOC_FSL_RPMSG=y
CONFIG_SND_SOC_IMX_AUDMUX=y
# end of SoC Audio for Freescale CPUs

CONFIG_SND_I2S_HI6210_I2S=y
CONFIG_SND_SOC_IMG=y
CONFIG_SND_SOC_IMG_I2S_IN=y
CONFIG_SND_SOC_IMG_I2S_OUT=y
CONFIG_SND_SOC_IMG_PARALLEL_OUT=y
CONFIG_SND_SOC_IMG_SPDIF_IN=y
CONFIG_SND_SOC_IMG_SPDIF_OUT=y
CONFIG_SND_SOC_IMG_PISTACHIO_INTERNAL_DAC=y
CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y
CONFIG_SND_SOC_INTEL_SST=y
CONFIG_SND_SOC_INTEL_CATPT=y
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=y
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=y
CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=y
CONFIG_SND_SOC_INTEL_SKYLAKE=y
CONFIG_SND_SOC_INTEL_SKL=y
CONFIG_SND_SOC_INTEL_APL=y
CONFIG_SND_SOC_INTEL_KBL=y
CONFIG_SND_SOC_INTEL_GLK=y
CONFIG_SND_SOC_INTEL_CNL=y
CONFIG_SND_SOC_INTEL_CFL=y
CONFIG_SND_SOC_INTEL_CML_H=y
CONFIG_SND_SOC_INTEL_CML_LP=y
CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY=y
CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=y
CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y
CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=y
CONFIG_SND_SOC_ACPI_INTEL_MATCH=y
CONFIG_SND_SOC_INTEL_AVS=y

#
# Intel AVS Machine drivers
#

#
# Available DSP configurations
#
CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219=y
CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC=y
CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO=y
CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST=y
CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A=y
CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98373=y
CONFIG_SND_SOC_INTEL_AVS_MACH_NAU8825=y
CONFIG_SND_SOC_INTEL_AVS_MACH_RT274=y
CONFIG_SND_SOC_INTEL_AVS_MACH_RT286=y
CONFIG_SND_SOC_INTEL_AVS_MACH_RT298=y
CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682=y
CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567=y
# end of Intel AVS Machine drivers

CONFIG_SND_SOC_INTEL_MACH=y
CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y
CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=y
CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=y
CONFIG_SND_SOC_INTEL_SOF_REALTEK_COMMON=y
CONFIG_SND_SOC_INTEL_HASWELL_MACH=y
CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=y
CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=y
CONFIG_SND_SOC_INTEL_BROADWELL_MACH=y
CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=y
CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=y
CONFIG_SND_SOC_INTEL_BYTCR_WM5102_MACH=y
CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=y
CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=y
CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=y
CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH=y
CONFIG_SND_SOC_INTEL_BYT_CHT_CX2072X_MACH=y
CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=y
CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH=y
CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=y
CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=y
CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=y
CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=y
CONFIG_SND_SOC_INTEL_DA7219_MAX98357A_GENERIC=y
CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON=y
CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=y
CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=y
CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH=y
CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH=y
CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH=y
CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH=y
CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH=y
CONFIG_SND_SOC_INTEL_KBL_RT5660_MACH=y
CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=y
CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=y
CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=y
CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH=y
CONFIG_SND_SOC_MTK_BTCVSD=y
CONFIG_SND_SOC_SOF_TOPLEVEL=y
CONFIG_SND_SOC_SOF_PCI_DEV=y
CONFIG_SND_SOC_SOF_PCI=y
CONFIG_SND_SOC_SOF_ACPI=y
CONFIG_SND_SOC_SOF_ACPI_DEV=y
CONFIG_SND_SOC_SOF_OF=y
CONFIG_SND_SOC_SOF_DEBUG_PROBES=y
CONFIG_SND_SOC_SOF_CLIENT=y
CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT=y
CONFIG_SND_SOC_SOF_FORCE_PROBE_WORKQUEUE=y
CONFIG_SND_SOC_SOF_NOCODEC=y
CONFIG_SND_SOC_SOF_NOCODEC_SUPPORT=y
CONFIG_SND_SOC_SOF_STRICT_ABI_CHECKS=y
CONFIG_SND_SOC_SOF_DEBUG=y
CONFIG_SND_SOC_SOF_FORCE_NOCODEC_MODE=y
CONFIG_SND_SOC_SOF_DEBUG_XRUN_STOP=y
CONFIG_SND_SOC_SOF_DEBUG_VERBOSE_IPC=y
CONFIG_SND_SOC_SOF_DEBUG_FORCE_IPC_POSITION=y
CONFIG_SND_SOC_SOF_DEBUG_ENABLE_DEBUGFS_CACHE=y
CONFIG_SND_SOC_SOF_DEBUG_ENABLE_FIRMWARE_TRACE=y
CONFIG_SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST=y
CONFIG_SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST_NUM=2
CONFIG_SND_SOC_SOF_DEBUG_IPC_MSG_INJECTOR=y
CONFIG_SND_SOC_SOF_DEBUG_RETAIN_DSP_CONTEXT=y
CONFIG_SND_SOC_SOF=y
CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y
CONFIG_SND_SOC_SOF_IPC3=y
CONFIG_SND_SOC_SOF_INTEL_IPC4=y
CONFIG_SND_SOC_SOF_AMD_TOPLEVEL=y
CONFIG_SND_SOC_SOF_AMD_COMMON=y
CONFIG_SND_SOC_SOF_AMD_RENOIR=y
CONFIG_SND_SOC_SOF_AMD_REMBRANDT=y
CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y
CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=y
CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=y
CONFIG_SND_SOC_SOF_INTEL_COMMON=y
CONFIG_SND_SOC_SOF_BAYTRAIL=y
CONFIG_SND_SOC_SOF_BROADWELL=y
CONFIG_SND_SOC_SOF_MERRIFIELD=y
CONFIG_SND_SOC_SOF_INTEL_SKL=y
CONFIG_SND_SOC_SOF_SKYLAKE=y
CONFIG_SND_SOC_SOF_KABYLAKE=y
CONFIG_SND_SOC_SOF_INTEL_APL=y
CONFIG_SND_SOC_SOF_APOLLOLAKE=y
CONFIG_SND_SOC_SOF_GEMINILAKE=y
CONFIG_SND_SOC_SOF_INTEL_CNL=y
CONFIG_SND_SOC_SOF_CANNONLAKE=y
CONFIG_SND_SOC_SOF_COFFEELAKE=y
CONFIG_SND_SOC_SOF_COMETLAKE=y
CONFIG_SND_SOC_SOF_INTEL_ICL=y
CONFIG_SND_SOC_SOF_ICELAKE=y
CONFIG_SND_SOC_SOF_JASPERLAKE=y
CONFIG_SND_SOC_SOF_INTEL_TGL=y
CONFIG_SND_SOC_SOF_TIGERLAKE=y
CONFIG_SND_SOC_SOF_ELKHARTLAKE=y
CONFIG_SND_SOC_SOF_ALDERLAKE=y
CONFIG_SND_SOC_SOF_INTEL_MTL=y
CONFIG_SND_SOC_SOF_METEORLAKE=y
CONFIG_SND_SOC_SOF_HDA_COMMON=y
CONFIG_SND_SOC_SOF_HDA_LINK_BASELINE=y
CONFIG_SND_SOC_SOF_HDA_PROBES=y
CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=y
CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=y
CONFIG_SND_SOC_SOF_XTENSA=y

#
# STMicroelectronics STM32 SOC audio support
#
# end of STMicroelectronics STM32 SOC audio support

CONFIG_SND_SOC_XILINX_I2S=y
CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=y
CONFIG_SND_SOC_XILINX_SPDIF=y
CONFIG_SND_SOC_XTFPGA_I2S=y
CONFIG_SND_SOC_I2C_AND_SPI=y

#
# CODEC drivers
#
CONFIG_SND_SOC_ARIZONA=y
CONFIG_SND_SOC_WM_ADSP=y
CONFIG_SND_SOC_AC97_CODEC=y
CONFIG_SND_SOC_ADAU_UTILS=y
CONFIG_SND_SOC_ADAU1372=y
CONFIG_SND_SOC_ADAU1372_I2C=y
CONFIG_SND_SOC_ADAU1372_SPI=y
CONFIG_SND_SOC_ADAU1701=y
CONFIG_SND_SOC_ADAU17X1=y
CONFIG_SND_SOC_ADAU1761=y
CONFIG_SND_SOC_ADAU1761_I2C=y
CONFIG_SND_SOC_ADAU1761_SPI=y
CONFIG_SND_SOC_ADAU7002=y
CONFIG_SND_SOC_ADAU7118=y
CONFIG_SND_SOC_ADAU7118_HW=y
CONFIG_SND_SOC_ADAU7118_I2C=y
CONFIG_SND_SOC_AK4104=y
CONFIG_SND_SOC_AK4118=y
CONFIG_SND_SOC_AK4375=y
CONFIG_SND_SOC_AK4458=y
CONFIG_SND_SOC_AK4554=y
CONFIG_SND_SOC_AK4613=y
CONFIG_SND_SOC_AK4642=y
CONFIG_SND_SOC_AK5386=y
CONFIG_SND_SOC_AK5558=y
CONFIG_SND_SOC_ALC5623=y
CONFIG_SND_SOC_AW8738=y
CONFIG_SND_SOC_BD28623=y
CONFIG_SND_SOC_BT_SCO=y
CONFIG_SND_SOC_CPCAP=y
CONFIG_SND_SOC_CROS_EC_CODEC=y
CONFIG_SND_SOC_CS35L32=y
CONFIG_SND_SOC_CS35L33=y
CONFIG_SND_SOC_CS35L34=y
CONFIG_SND_SOC_CS35L35=y
CONFIG_SND_SOC_CS35L36=y
CONFIG_SND_SOC_CS35L41_LIB=y
CONFIG_SND_SOC_CS35L41=y
CONFIG_SND_SOC_CS35L41_SPI=y
CONFIG_SND_SOC_CS35L41_I2C=y
CONFIG_SND_SOC_CS35L45_TABLES=y
CONFIG_SND_SOC_CS35L45=y
CONFIG_SND_SOC_CS35L45_SPI=y
CONFIG_SND_SOC_CS35L45_I2C=y
CONFIG_SND_SOC_CS42L42_CORE=y
CONFIG_SND_SOC_CS42L42=y
CONFIG_SND_SOC_CS42L51=y
CONFIG_SND_SOC_CS42L51_I2C=y
CONFIG_SND_SOC_CS42L52=y
CONFIG_SND_SOC_CS42L56=y
CONFIG_SND_SOC_CS42L73=y
CONFIG_SND_SOC_CS42L83=y
CONFIG_SND_SOC_CS4234=y
CONFIG_SND_SOC_CS4265=y
CONFIG_SND_SOC_CS4270=y
CONFIG_SND_SOC_CS4271=y
CONFIG_SND_SOC_CS4271_I2C=y
CONFIG_SND_SOC_CS4271_SPI=y
CONFIG_SND_SOC_CS42XX8=y
CONFIG_SND_SOC_CS42XX8_I2C=y
CONFIG_SND_SOC_CS43130=y
CONFIG_SND_SOC_CS4341=y
CONFIG_SND_SOC_CS4349=y
CONFIG_SND_SOC_CS53L30=y
CONFIG_SND_SOC_CX2072X=y
CONFIG_SND_SOC_DA7213=y
CONFIG_SND_SOC_DA7219=y
CONFIG_SND_SOC_DMIC=y
CONFIG_SND_SOC_HDMI_CODEC=y
CONFIG_SND_SOC_ES7134=y
CONFIG_SND_SOC_ES7241=y
CONFIG_SND_SOC_ES8316=y
CONFIG_SND_SOC_ES8326=y
CONFIG_SND_SOC_ES8328=y
CONFIG_SND_SOC_ES8328_I2C=y
CONFIG_SND_SOC_ES8328_SPI=y
CONFIG_SND_SOC_GTM601=y
CONFIG_SND_SOC_HDAC_HDMI=y
CONFIG_SND_SOC_HDAC_HDA=y
CONFIG_SND_SOC_HDA=y
CONFIG_SND_SOC_ICS43432=y
CONFIG_SND_SOC_INNO_RK3036=y
CONFIG_SND_SOC_LOCHNAGAR_SC=y
CONFIG_SND_SOC_MAX98088=y
CONFIG_SND_SOC_MAX98090=y
CONFIG_SND_SOC_MAX98357A=y
CONFIG_SND_SOC_MAX98504=y
CONFIG_SND_SOC_MAX9867=y
CONFIG_SND_SOC_MAX98927=y
CONFIG_SND_SOC_MAX98520=y
CONFIG_SND_SOC_MAX98373=y
CONFIG_SND_SOC_MAX98373_I2C=y
CONFIG_SND_SOC_MAX98373_SDW=y
CONFIG_SND_SOC_MAX98390=y
CONFIG_SND_SOC_MAX98396=y
CONFIG_SND_SOC_MAX9860=y
CONFIG_SND_SOC_MSM8916_WCD_ANALOG=y
CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=y
CONFIG_SND_SOC_PCM1681=y
CONFIG_SND_SOC_PCM1789=y
CONFIG_SND_SOC_PCM1789_I2C=y
CONFIG_SND_SOC_PCM179X=y
CONFIG_SND_SOC_PCM179X_I2C=y
CONFIG_SND_SOC_PCM179X_SPI=y
CONFIG_SND_SOC_PCM186X=y
CONFIG_SND_SOC_PCM186X_I2C=y
CONFIG_SND_SOC_PCM186X_SPI=y
CONFIG_SND_SOC_PCM3060=y
CONFIG_SND_SOC_PCM3060_I2C=y
CONFIG_SND_SOC_PCM3060_SPI=y
CONFIG_SND_SOC_PCM3168A=y
CONFIG_SND_SOC_PCM3168A_I2C=y
CONFIG_SND_SOC_PCM3168A_SPI=y
CONFIG_SND_SOC_PCM5102A=y
CONFIG_SND_SOC_PCM512x=y
CONFIG_SND_SOC_PCM512x_I2C=y
CONFIG_SND_SOC_PCM512x_SPI=y
CONFIG_SND_SOC_RK3328=y
CONFIG_SND_SOC_RK817=y
CONFIG_SND_SOC_RL6231=y
CONFIG_SND_SOC_RL6347A=y
CONFIG_SND_SOC_RT274=y
CONFIG_SND_SOC_RT286=y
CONFIG_SND_SOC_RT298=y
CONFIG_SND_SOC_RT1011=y
CONFIG_SND_SOC_RT1015=y
CONFIG_SND_SOC_RT1015P=y
CONFIG_SND_SOC_RT1019=y
CONFIG_SND_SOC_RT1308=y
CONFIG_SND_SOC_RT1308_SDW=y
CONFIG_SND_SOC_RT1316_SDW=y
CONFIG_SND_SOC_RT5514=y
CONFIG_SND_SOC_RT5514_SPI=y
CONFIG_SND_SOC_RT5616=y
CONFIG_SND_SOC_RT5631=y
CONFIG_SND_SOC_RT5640=y
CONFIG_SND_SOC_RT5645=y
CONFIG_SND_SOC_RT5651=y
CONFIG_SND_SOC_RT5659=y
CONFIG_SND_SOC_RT5660=y
CONFIG_SND_SOC_RT5663=y
CONFIG_SND_SOC_RT5670=y
CONFIG_SND_SOC_RT5677=y
CONFIG_SND_SOC_RT5677_SPI=y
CONFIG_SND_SOC_RT5682=y
CONFIG_SND_SOC_RT5682_I2C=y
CONFIG_SND_SOC_RT5682_SDW=y
CONFIG_SND_SOC_RT5682S=y
CONFIG_SND_SOC_RT700=y
CONFIG_SND_SOC_RT700_SDW=y
CONFIG_SND_SOC_RT711=y
CONFIG_SND_SOC_RT711_SDW=y
CONFIG_SND_SOC_RT711_SDCA_SDW=y
CONFIG_SND_SOC_RT715=y
CONFIG_SND_SOC_RT715_SDW=y
CONFIG_SND_SOC_RT715_SDCA_SDW=y
CONFIG_SND_SOC_RT9120=y
CONFIG_SND_SOC_SDW_MOCKUP=y
CONFIG_SND_SOC_SGTL5000=y
CONFIG_SND_SOC_SI476X=y
CONFIG_SND_SOC_SIGMADSP=y
CONFIG_SND_SOC_SIGMADSP_I2C=y
CONFIG_SND_SOC_SIGMADSP_REGMAP=y
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=y
CONFIG_SND_SOC_SIMPLE_MUX=y
CONFIG_SND_SOC_SPDIF=y
CONFIG_SND_SOC_SRC4XXX_I2C=y
CONFIG_SND_SOC_SRC4XXX=y
CONFIG_SND_SOC_SSM2305=y
CONFIG_SND_SOC_SSM2518=y
CONFIG_SND_SOC_SSM2602=y
CONFIG_SND_SOC_SSM2602_SPI=y
CONFIG_SND_SOC_SSM2602_I2C=y
CONFIG_SND_SOC_SSM4567=y
CONFIG_SND_SOC_STA32X=y
CONFIG_SND_SOC_STA350=y
CONFIG_SND_SOC_STI_SAS=y
CONFIG_SND_SOC_TAS2552=y
CONFIG_SND_SOC_TAS2562=y
CONFIG_SND_SOC_TAS2764=y
CONFIG_SND_SOC_TAS2770=y
CONFIG_SND_SOC_TAS2780=y
CONFIG_SND_SOC_TAS5086=y
CONFIG_SND_SOC_TAS571X=y
CONFIG_SND_SOC_TAS5720=y
CONFIG_SND_SOC_TAS5805M=y
CONFIG_SND_SOC_TAS6424=y
CONFIG_SND_SOC_TDA7419=y
CONFIG_SND_SOC_TFA9879=y
CONFIG_SND_SOC_TFA989X=y
CONFIG_SND_SOC_TLV320ADC3XXX=y
CONFIG_SND_SOC_TLV320AIC23=y
CONFIG_SND_SOC_TLV320AIC23_I2C=y
CONFIG_SND_SOC_TLV320AIC23_SPI=y
CONFIG_SND_SOC_TLV320AIC31XX=y
CONFIG_SND_SOC_TLV320AIC32X4=y
CONFIG_SND_SOC_TLV320AIC32X4_I2C=y
CONFIG_SND_SOC_TLV320AIC32X4_SPI=y
CONFIG_SND_SOC_TLV320AIC3X=y
CONFIG_SND_SOC_TLV320AIC3X_I2C=y
CONFIG_SND_SOC_TLV320AIC3X_SPI=y
CONFIG_SND_SOC_TLV320ADCX140=y
CONFIG_SND_SOC_TS3A227E=y
CONFIG_SND_SOC_TSCS42XX=y
CONFIG_SND_SOC_TSCS454=y
CONFIG_SND_SOC_UDA1334=y
CONFIG_SND_SOC_WCD9335=y
CONFIG_SND_SOC_WCD_MBHC=y
CONFIG_SND_SOC_WCD934X=y
CONFIG_SND_SOC_WCD938X=y
CONFIG_SND_SOC_WCD938X_SDW=y
CONFIG_SND_SOC_WM5102=y
CONFIG_SND_SOC_WM8510=y
CONFIG_SND_SOC_WM8523=y
CONFIG_SND_SOC_WM8524=y
CONFIG_SND_SOC_WM8580=y
CONFIG_SND_SOC_WM8711=y
CONFIG_SND_SOC_WM8728=y
CONFIG_SND_SOC_WM8731=y
CONFIG_SND_SOC_WM8731_I2C=y
CONFIG_SND_SOC_WM8731_SPI=y
CONFIG_SND_SOC_WM8737=y
CONFIG_SND_SOC_WM8741=y
CONFIG_SND_SOC_WM8750=y
CONFIG_SND_SOC_WM8753=y
CONFIG_SND_SOC_WM8770=y
CONFIG_SND_SOC_WM8776=y
CONFIG_SND_SOC_WM8782=y
CONFIG_SND_SOC_WM8804=y
CONFIG_SND_SOC_WM8804_I2C=y
CONFIG_SND_SOC_WM8804_SPI=y
CONFIG_SND_SOC_WM8903=y
CONFIG_SND_SOC_WM8904=y
CONFIG_SND_SOC_WM8940=y
CONFIG_SND_SOC_WM8960=y
CONFIG_SND_SOC_WM8962=y
CONFIG_SND_SOC_WM8974=y
CONFIG_SND_SOC_WM8978=y
CONFIG_SND_SOC_WM8985=y
CONFIG_SND_SOC_WSA881X=y
CONFIG_SND_SOC_WSA883X=y
CONFIG_SND_SOC_ZL38060=y
CONFIG_SND_SOC_MAX9759=y
CONFIG_SND_SOC_MT6351=y
CONFIG_SND_SOC_MT6358=y
CONFIG_SND_SOC_MT6660=y
CONFIG_SND_SOC_NAU8315=y
CONFIG_SND_SOC_NAU8540=y
CONFIG_SND_SOC_NAU8810=y
CONFIG_SND_SOC_NAU8821=y
CONFIG_SND_SOC_NAU8822=y
CONFIG_SND_SOC_NAU8824=y
CONFIG_SND_SOC_NAU8825=y
CONFIG_SND_SOC_TPA6130A2=y
CONFIG_SND_SOC_LPASS_MACRO_COMMON=y
CONFIG_SND_SOC_LPASS_WSA_MACRO=y
CONFIG_SND_SOC_LPASS_VA_MACRO=y
CONFIG_SND_SOC_LPASS_RX_MACRO=y
CONFIG_SND_SOC_LPASS_TX_MACRO=y
# end of CODEC drivers

CONFIG_SND_SIMPLE_CARD_UTILS=y
CONFIG_SND_SIMPLE_CARD=y
CONFIG_SND_AUDIO_GRAPH_CARD=y
CONFIG_SND_AUDIO_GRAPH_CARD2=y
CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE=y
CONFIG_SND_TEST_COMPONENT=y
CONFIG_SND_X86=y
CONFIG_HDMI_LPE_AUDIO=y
CONFIG_SND_SYNTH_EMUX=y
CONFIG_SND_XEN_FRONTEND=y
CONFIG_SND_VIRTIO=y
CONFIG_AC97_BUS=y

#
# HID support
#
CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=y
CONFIG_HID_GENERIC=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=y
CONFIG_HID_ACCUTOUCH=y
CONFIG_HID_ACRUX=y
CONFIG_HID_ACRUX_FF=y
CONFIG_HID_APPLE=y
CONFIG_HID_APPLEIR=y
CONFIG_HID_ASUS=y
CONFIG_HID_AUREAL=y
CONFIG_HID_BELKIN=y
CONFIG_HID_BETOP_FF=y
CONFIG_HID_BIGBEN_FF=y
CONFIG_HID_CHERRY=y
CONFIG_HID_CHICONY=y
CONFIG_HID_CORSAIR=y
CONFIG_HID_COUGAR=y
CONFIG_HID_MACALLY=y
CONFIG_HID_PRODIKEYS=y
CONFIG_HID_CMEDIA=y
CONFIG_HID_CP2112=y
CONFIG_HID_CREATIVE_SB0540=y
CONFIG_HID_CYPRESS=y
CONFIG_HID_DRAGONRISE=y
CONFIG_DRAGONRISE_FF=y
CONFIG_HID_EMS_FF=y
CONFIG_HID_ELAN=y
CONFIG_HID_ELECOM=y
CONFIG_HID_ELO=y
CONFIG_HID_EZKEY=y
CONFIG_HID_FT260=y
CONFIG_HID_GEMBIRD=y
CONFIG_HID_GFRM=y
CONFIG_HID_GLORIOUS=y
CONFIG_HID_HOLTEK=y
CONFIG_HOLTEK_FF=y
CONFIG_HID_VIVALDI_COMMON=y
CONFIG_HID_GOOGLE_HAMMER=y
CONFIG_HID_VIVALDI=y
CONFIG_HID_GT683R=y
CONFIG_HID_KEYTOUCH=y
CONFIG_HID_KYE=y
CONFIG_HID_UCLOGIC=y
CONFIG_HID_WALTOP=y
CONFIG_HID_VIEWSONIC=y
CONFIG_HID_VRC2=y
CONFIG_HID_XIAOMI=y
CONFIG_HID_GYRATION=y
CONFIG_HID_ICADE=y
CONFIG_HID_ITE=y
CONFIG_HID_JABRA=y
CONFIG_HID_TWINHAN=y
CONFIG_HID_KENSINGTON=y
CONFIG_HID_LCPOWER=y
CONFIG_HID_LED=y
CONFIG_HID_LENOVO=y
CONFIG_HID_LETSKETCH=y
CONFIG_HID_LOGITECH=y
CONFIG_HID_LOGITECH_DJ=y
CONFIG_HID_LOGITECH_HIDPP=y
CONFIG_LOGITECH_FF=y
CONFIG_LOGIRUMBLEPAD2_FF=y
CONFIG_LOGIG940_FF=y
CONFIG_LOGIWHEELS_FF=y
CONFIG_HID_MAGICMOUSE=y
CONFIG_HID_MALTRON=y
CONFIG_HID_MAYFLASH=y
CONFIG_HID_MEGAWORLD_FF=y
CONFIG_HID_REDRAGON=y
CONFIG_HID_MICROSOFT=y
CONFIG_HID_MONTEREY=y
CONFIG_HID_MULTITOUCH=y
CONFIG_HID_NINTENDO=y
CONFIG_NINTENDO_FF=y
CONFIG_HID_NTI=y
CONFIG_HID_NTRIG=y
CONFIG_HID_ORTEK=y
CONFIG_HID_PANTHERLORD=y
CONFIG_PANTHERLORD_FF=y
CONFIG_HID_PENMOUNT=y
CONFIG_HID_PETALYNX=y
CONFIG_HID_PICOLCD=y
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
CONFIG_HID_PLANTRONICS=y
CONFIG_HID_PLAYSTATION=y
CONFIG_PLAYSTATION_FF=y
CONFIG_HID_PXRC=y
CONFIG_HID_RAZER=y
CONFIG_HID_PRIMAX=y
CONFIG_HID_RETRODE=y
CONFIG_HID_ROCCAT=y
CONFIG_HID_SAITEK=y
CONFIG_HID_SAMSUNG=y
CONFIG_HID_SEMITEK=y
CONFIG_HID_SIGMAMICRO=y
CONFIG_HID_SONY=y
CONFIG_SONY_FF=y
CONFIG_HID_SPEEDLINK=y
CONFIG_HID_STEAM=y
CONFIG_HID_STEELSERIES=y
CONFIG_HID_SUNPLUS=y
CONFIG_HID_RMI=y
CONFIG_HID_GREENASIA=y
CONFIG_GREENASIA_FF=y
CONFIG_HID_HYPERV_MOUSE=y
CONFIG_HID_SMARTJOYPLUS=y
CONFIG_SMARTJOYPLUS_FF=y
CONFIG_HID_TIVO=y
CONFIG_HID_TOPSEED=y
CONFIG_HID_TOPRE=y
CONFIG_HID_THINGM=y
CONFIG_HID_THRUSTMASTER=y
CONFIG_THRUSTMASTER_FF=y
CONFIG_HID_UDRAW_PS3=y
CONFIG_HID_U2FZERO=y
CONFIG_HID_WACOM=y
CONFIG_HID_WIIMOTE=y
CONFIG_HID_XINMO=y
CONFIG_HID_ZEROPLUS=y
CONFIG_ZEROPLUS_FF=y
CONFIG_HID_ZYDACRON=y
CONFIG_HID_SENSOR_HUB=y
CONFIG_HID_SENSOR_CUSTOM_SENSOR=y
CONFIG_HID_ALPS=y
CONFIG_HID_MCP2221=y
CONFIG_HID_KUNIT_TEST=y
# end of Special HID drivers

#
# USB HID support
#
CONFIG_USB_HID=y
CONFIG_HID_PID=y
CONFIG_USB_HIDDEV=y
# end of USB HID support

#
# I2C HID support
#
CONFIG_I2C_HID_ACPI=y
CONFIG_I2C_HID_OF=y
CONFIG_I2C_HID_OF_ELAN=y
CONFIG_I2C_HID_OF_GOODIX=y
# end of I2C HID support

CONFIG_I2C_HID_CORE=y

#
# Intel ISH HID support
#
CONFIG_INTEL_ISH_HID=y
CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER=y
# end of Intel ISH HID support

#
# AMD SFH HID Support
#
CONFIG_AMD_SFH_HID=y
# end of AMD SFH HID Support

#
# Surface System Aggregator Module HID support
#
CONFIG_SURFACE_HID=y
CONFIG_SURFACE_KBD=y
# end of Surface System Aggregator Module HID support

CONFIG_SURFACE_HID_CORE=y
# end of HID support

CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
CONFIG_USB_LED_TRIG=y
CONFIG_USB_ULPI_BUS=y
CONFIG_USB_CONN_GPIO=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_PCI=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
CONFIG_USB_FEW_INIT_RETRIES=y
CONFIG_USB_DYNAMIC_MINORS=y
CONFIG_USB_OTG=y
CONFIG_USB_OTG_PRODUCTLIST=y
CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB=y
CONFIG_USB_OTG_FSM=y
CONFIG_USB_LEDS_TRIGGER_USBPORT=y
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_MON=y

#
# USB Host Controller Drivers
#
CONFIG_USB_C67X00_HCD=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_DBGCAP=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_XHCI_PCI_RENESAS=y
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=y
CONFIG_USB_EHCI_FSL=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_OXU210HP_HCD=y
CONFIG_USB_ISP116X_HCD=y
CONFIG_USB_FOTG210_HCD=y
CONFIG_USB_MAX3421_HCD=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PCI=y
CONFIG_USB_OHCI_HCD_SSB=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_U132_HCD=y
CONFIG_USB_SL811_HCD=y
CONFIG_USB_SL811_HCD_ISO=y
CONFIG_USB_SL811_CS=y
CONFIG_USB_R8A66597_HCD=y
CONFIG_USB_HCD_BCMA=y
CONFIG_USB_HCD_SSB=y
CONFIG_USB_HCD_TEST_MODE=y
CONFIG_USB_XEN_HCD=y

#
# USB Device Class drivers
#
CONFIG_USB_ACM=y
CONFIG_USB_PRINTER=y
CONFIG_USB_WDM=y
CONFIG_USB_TMC=y

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=y
CONFIG_USB_STORAGE_DEBUG=y
CONFIG_USB_STORAGE_REALTEK=y
CONFIG_REALTEK_AUTOPM=y
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_FREECOM=y
CONFIG_USB_STORAGE_ISD200=y
CONFIG_USB_STORAGE_USBAT=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
CONFIG_USB_STORAGE_ALAUDA=y
CONFIG_USB_STORAGE_ONETOUCH=y
CONFIG_USB_STORAGE_KARMA=y
CONFIG_USB_STORAGE_CYPRESS_ATACB=y
CONFIG_USB_STORAGE_ENE_UB6250=y
CONFIG_USB_UAS=y

#
# USB Imaging devices
#
CONFIG_USB_MDC800=y
CONFIG_USB_MICROTEK=y
CONFIG_USBIP_CORE=y
CONFIG_USBIP_VHCI_HCD=y
CONFIG_USBIP_VHCI_HC_PORTS=8
CONFIG_USBIP_VHCI_NR_HCS=1
CONFIG_USBIP_HOST=y
CONFIG_USBIP_VUDC=y
CONFIG_USBIP_DEBUG=y
CONFIG_USB_CDNS_SUPPORT=y
CONFIG_USB_CDNS_HOST=y
CONFIG_USB_CDNS3=y
CONFIG_USB_CDNS3_GADGET=y
CONFIG_USB_CDNS3_HOST=y
CONFIG_USB_CDNS3_PCI_WRAP=y
CONFIG_USB_CDNSP_PCI=y
CONFIG_USB_CDNSP_GADGET=y
CONFIG_USB_CDNSP_HOST=y
CONFIG_USB_MUSB_HDRC=y
# CONFIG_USB_MUSB_HOST is not set
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_DUAL_ROLE=y

#
# Platform Glue Layer
#

#
# MUSB DMA mode
#
CONFIG_MUSB_PIO_ONLY=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_ULPI=y
# CONFIG_USB_DWC3_HOST is not set
# CONFIG_USB_DWC3_GADGET is not set
CONFIG_USB_DWC3_DUAL_ROLE=y

#
# Platform Glue Driver Support
#
CONFIG_USB_DWC3_PCI=y
CONFIG_USB_DWC3_HAPS=y
CONFIG_USB_DWC3_OF_SIMPLE=y
CONFIG_USB_DWC2=y
# CONFIG_USB_DWC2_HOST is not set

#
# Gadget/Dual-role mode requires USB Gadget support to be enabled
#
# CONFIG_USB_DWC2_PERIPHERAL is not set
CONFIG_USB_DWC2_DUAL_ROLE=y
CONFIG_USB_DWC2_PCI=y
CONFIG_USB_DWC2_DEBUG=y
CONFIG_USB_DWC2_VERBOSE=y
CONFIG_USB_DWC2_TRACK_MISSED_SOFS=y
CONFIG_USB_DWC2_DEBUG_PERIODIC=y
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_CHIPIDEA_PCI=y
CONFIG_USB_CHIPIDEA_MSM=y
CONFIG_USB_CHIPIDEA_IMX=y
CONFIG_USB_CHIPIDEA_GENERIC=y
CONFIG_USB_CHIPIDEA_TEGRA=y
CONFIG_USB_ISP1760=y
CONFIG_USB_ISP1760_HCD=y
CONFIG_USB_ISP1761_UDC=y
# CONFIG_USB_ISP1760_HOST_ROLE is not set
# CONFIG_USB_ISP1760_GADGET_ROLE is not set
CONFIG_USB_ISP1760_DUAL_ROLE=y

#
# USB port drivers
#
CONFIG_USB_USS720=y
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_CONSOLE=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_SIMPLE=y
CONFIG_USB_SERIAL_AIRCABLE=y
CONFIG_USB_SERIAL_ARK3116=y
CONFIG_USB_SERIAL_BELKIN=y
CONFIG_USB_SERIAL_CH341=y
CONFIG_USB_SERIAL_WHITEHEAT=y
CONFIG_USB_SERIAL_DIGI_ACCELEPORT=y
CONFIG_USB_SERIAL_CP210X=y
CONFIG_USB_SERIAL_CYPRESS_M8=y
CONFIG_USB_SERIAL_EMPEG=y
CONFIG_USB_SERIAL_FTDI_SIO=y
CONFIG_USB_SERIAL_VISOR=y
CONFIG_USB_SERIAL_IPAQ=y
CONFIG_USB_SERIAL_IR=y
CONFIG_USB_SERIAL_EDGEPORT=y
CONFIG_USB_SERIAL_EDGEPORT_TI=y
CONFIG_USB_SERIAL_F81232=y
CONFIG_USB_SERIAL_F8153X=y
CONFIG_USB_SERIAL_GARMIN=y
CONFIG_USB_SERIAL_IPW=y
CONFIG_USB_SERIAL_IUU=y
CONFIG_USB_SERIAL_KEYSPAN_PDA=y
CONFIG_USB_SERIAL_KEYSPAN=y
CONFIG_USB_SERIAL_KLSI=y
CONFIG_USB_SERIAL_KOBIL_SCT=y
CONFIG_USB_SERIAL_MCT_U232=y
CONFIG_USB_SERIAL_METRO=y
CONFIG_USB_SERIAL_MOS7720=y
CONFIG_USB_SERIAL_MOS7715_PARPORT=y
CONFIG_USB_SERIAL_MOS7840=y
CONFIG_USB_SERIAL_MXUPORT=y
CONFIG_USB_SERIAL_NAVMAN=y
CONFIG_USB_SERIAL_PL2303=y
CONFIG_USB_SERIAL_OTI6858=y
CONFIG_USB_SERIAL_QCAUX=y
CONFIG_USB_SERIAL_QUALCOMM=y
CONFIG_USB_SERIAL_SPCP8X5=y
CONFIG_USB_SERIAL_SAFE=y
CONFIG_USB_SERIAL_SAFE_PADDED=y
CONFIG_USB_SERIAL_SIERRAWIRELESS=y
CONFIG_USB_SERIAL_SYMBOL=y
CONFIG_USB_SERIAL_TI=y
CONFIG_USB_SERIAL_CYBERJACK=y
CONFIG_USB_SERIAL_WWAN=y
CONFIG_USB_SERIAL_OPTION=y
CONFIG_USB_SERIAL_OMNINET=y
CONFIG_USB_SERIAL_OPTICON=y
CONFIG_USB_SERIAL_XSENS_MT=y
CONFIG_USB_SERIAL_WISHBONE=y
CONFIG_USB_SERIAL_SSU100=y
CONFIG_USB_SERIAL_QT2=y
CONFIG_USB_SERIAL_UPD78F0730=y
CONFIG_USB_SERIAL_XR=y
CONFIG_USB_SERIAL_DEBUG=y

#
# USB Miscellaneous drivers
#
CONFIG_USB_EMI62=y
CONFIG_USB_EMI26=y
CONFIG_USB_ADUTUX=y
CONFIG_USB_SEVSEG=y
CONFIG_USB_LEGOTOWER=y
CONFIG_USB_LCD=y
CONFIG_USB_CYPRESS_CY7C63=y
CONFIG_USB_CYTHERM=y
CONFIG_USB_IDMOUSE=y
CONFIG_USB_FTDI_ELAN=y
CONFIG_USB_APPLEDISPLAY=y
CONFIG_APPLE_MFI_FASTCHARGE=y
CONFIG_USB_SISUSBVGA=y
CONFIG_USB_LD=y
CONFIG_USB_TRANCEVIBRATOR=y
CONFIG_USB_IOWARRIOR=y
CONFIG_USB_TEST=y
CONFIG_USB_EHSET_TEST_FIXTURE=y
CONFIG_USB_ISIGHTFW=y
CONFIG_USB_YUREX=y
CONFIG_USB_EZUSB_FX2=y
CONFIG_USB_HUB_USB251XB=y
CONFIG_USB_HSIC_USB3503=y
CONFIG_USB_HSIC_USB4604=y
CONFIG_USB_LINK_LAYER_TEST=y
CONFIG_USB_CHAOSKEY=y
CONFIG_USB_ONBOARD_HUB=y
CONFIG_USB_ATM=y
CONFIG_USB_SPEEDTOUCH=y
CONFIG_USB_CXACRU=y
CONFIG_USB_UEAGLEATM=y
CONFIG_USB_XUSBATM=y

#
# USB Physical Layer drivers
#
CONFIG_USB_PHY=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_GPIO_VBUS=y
CONFIG_TAHVO_USB=y
CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y
CONFIG_USB_ISP1301=y
# end of USB Physical Layer drivers

CONFIG_USB_GADGET=y
CONFIG_USB_GADGET_DEBUG=y
CONFIG_USB_GADGET_VERBOSE=y
CONFIG_USB_GADGET_DEBUG_FILES=y
CONFIG_USB_GADGET_DEBUG_FS=y
CONFIG_USB_GADGET_VBUS_DRAW=2
CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
CONFIG_U_SERIAL_CONSOLE=y

#
# USB Peripheral Controller
#
CONFIG_USB_FOTG210_UDC=y
CONFIG_USB_GR_UDC=y
CONFIG_USB_R8A66597=y
CONFIG_USB_PXA27X=y
CONFIG_USB_MV_UDC=y
CONFIG_USB_MV_U3D=y
CONFIG_USB_SNP_CORE=y
CONFIG_USB_SNP_UDC_PLAT=y
CONFIG_USB_M66592=y
CONFIG_USB_BDC_UDC=y
CONFIG_USB_AMD5536UDC=y
CONFIG_USB_NET2272=y
CONFIG_USB_NET2272_DMA=y
CONFIG_USB_NET2280=y
CONFIG_USB_GOKU=y
CONFIG_USB_EG20T=y
CONFIG_USB_GADGET_XILINX=y
CONFIG_USB_MAX3420_UDC=y
CONFIG_USB_DUMMY_HCD=y
# end of USB Peripheral Controller

CONFIG_USB_LIBCOMPOSITE=y
CONFIG_USB_F_ACM=y
CONFIG_USB_F_SS_LB=y
CONFIG_USB_U_SERIAL=y
CONFIG_USB_U_ETHER=y
CONFIG_USB_U_AUDIO=y
CONFIG_USB_F_SERIAL=y
CONFIG_USB_F_OBEX=y
CONFIG_USB_F_NCM=y
CONFIG_USB_F_ECM=y
CONFIG_USB_F_PHONET=y
CONFIG_USB_F_EEM=y
CONFIG_USB_F_SUBSET=y
CONFIG_USB_F_RNDIS=y
CONFIG_USB_F_MASS_STORAGE=y
CONFIG_USB_F_FS=y
CONFIG_USB_F_UAC1=y
CONFIG_USB_F_UAC1_LEGACY=y
CONFIG_USB_F_UAC2=y
CONFIG_USB_F_UVC=y
CONFIG_USB_F_MIDI=y
CONFIG_USB_F_HID=y
CONFIG_USB_F_PRINTER=y
CONFIG_USB_F_TCM=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_USB_CONFIGFS_OBEX=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_CONFIGFS_ECM=y
CONFIG_USB_CONFIGFS_ECM_SUBSET=y
CONFIG_USB_CONFIGFS_RNDIS=y
CONFIG_USB_CONFIGFS_EEM=y
CONFIG_USB_CONFIGFS_PHONET=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_F_LB_SS=y
CONFIG_USB_CONFIGFS_F_FS=y
CONFIG_USB_CONFIGFS_F_UAC1=y
CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y
CONFIG_USB_CONFIGFS_F_UAC2=y
CONFIG_USB_CONFIGFS_F_MIDI=y
CONFIG_USB_CONFIGFS_F_HID=y
CONFIG_USB_CONFIGFS_F_UVC=y
CONFIG_USB_CONFIGFS_F_PRINTER=y
CONFIG_USB_CONFIGFS_F_TCM=y

#
# USB Gadget precomposed configurations
#
CONFIG_USB_ZERO=y
CONFIG_USB_ZERO_HNPTEST=y
CONFIG_USB_AUDIO=y
CONFIG_GADGET_UAC1=y
CONFIG_GADGET_UAC1_LEGACY=y
CONFIG_USB_ETH=y
CONFIG_USB_ETH_RNDIS=y
CONFIG_USB_ETH_EEM=y
CONFIG_USB_G_NCM=y
CONFIG_USB_GADGETFS=y
CONFIG_USB_FUNCTIONFS=y
CONFIG_USB_FUNCTIONFS_ETH=y
CONFIG_USB_FUNCTIONFS_RNDIS=y
CONFIG_USB_FUNCTIONFS_GENERIC=y
CONFIG_USB_MASS_STORAGE=y
CONFIG_USB_GADGET_TARGET=y
CONFIG_USB_G_SERIAL=y
CONFIG_USB_MIDI_GADGET=y
CONFIG_USB_G_PRINTER=y
CONFIG_USB_CDC_COMPOSITE=y
CONFIG_USB_G_NOKIA=y
CONFIG_USB_G_ACM_MS=y
CONFIG_USB_G_MULTI=y
CONFIG_USB_G_MULTI_RNDIS=y
CONFIG_USB_G_MULTI_CDC=y
CONFIG_USB_G_HID=y
CONFIG_USB_G_DBGP=y
# CONFIG_USB_G_DBGP_PRINTK is not set
CONFIG_USB_G_DBGP_SERIAL=y
CONFIG_USB_G_WEBCAM=y
CONFIG_USB_RAW_GADGET=y
# end of USB Gadget precomposed configurations

CONFIG_TYPEC=y
CONFIG_TYPEC_TCPM=y
CONFIG_TYPEC_TCPCI=y
CONFIG_TYPEC_RT1711H=y
CONFIG_TYPEC_MT6360=y
CONFIG_TYPEC_TCPCI_MT6370=y
CONFIG_TYPEC_TCPCI_MAXIM=y
CONFIG_TYPEC_FUSB302=y
CONFIG_TYPEC_WCOVE=y
CONFIG_TYPEC_UCSI=y
CONFIG_UCSI_CCG=y
CONFIG_UCSI_ACPI=y
CONFIG_UCSI_STM32G0=y
CONFIG_TYPEC_TPS6598X=y
CONFIG_TYPEC_ANX7411=y
CONFIG_TYPEC_RT1719=y
CONFIG_TYPEC_HD3SS3220=y
CONFIG_TYPEC_STUSB160X=y
CONFIG_TYPEC_WUSB3801=y

#
# USB Type-C Multiplexer/DeMultiplexer Switch support
#
CONFIG_TYPEC_MUX_FSA4480=y
CONFIG_TYPEC_MUX_PI3USB30532=y
CONFIG_TYPEC_MUX_INTEL_PMC=y
# end of USB Type-C Multiplexer/DeMultiplexer Switch support

#
# USB Type-C Alternate Mode drivers
#
CONFIG_TYPEC_DP_ALTMODE=y
CONFIG_TYPEC_NVIDIA_ALTMODE=y
# end of USB Type-C Alternate Mode drivers

CONFIG_USB_ROLE_SWITCH=y
CONFIG_USB_ROLES_INTEL_XHCI=y
CONFIG_MMC=y
CONFIG_PWRSEQ_EMMC=y
CONFIG_PWRSEQ_SD8787=y
CONFIG_PWRSEQ_SIMPLE=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_SDIO_UART=y
CONFIG_MMC_TEST=y
CONFIG_MMC_CRYPTO=y

#
# MMC/SD/SDIO Host Controller Drivers
#
CONFIG_MMC_DEBUG=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_IO_ACCESSORS=y
CONFIG_MMC_SDHCI_PCI=y
CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_ACPI=y
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SDHCI_OF_ARASAN=y
CONFIG_MMC_SDHCI_OF_AT91=y
CONFIG_MMC_SDHCI_OF_DWCMSHC=y
CONFIG_MMC_SDHCI_CADENCE=y
CONFIG_MMC_SDHCI_F_SDH30=y
CONFIG_MMC_SDHCI_MILBEAUT=y
CONFIG_MMC_WBSD=y
CONFIG_MMC_ALCOR=y
CONFIG_MMC_TIFM_SD=y
CONFIG_MMC_SPI=y
CONFIG_MMC_SDRICOH_CS=y
CONFIG_MMC_CB710=y
CONFIG_MMC_VIA_SDMMC=y
CONFIG_MMC_VUB300=y
CONFIG_MMC_USHC=y
CONFIG_MMC_USDHI6ROL0=y
CONFIG_MMC_REALTEK_PCI=y
CONFIG_MMC_REALTEK_USB=y
CONFIG_MMC_CQHCI=y
CONFIG_MMC_HSQ=y
CONFIG_MMC_TOSHIBA_PCI=y
CONFIG_MMC_MTK=y
CONFIG_MMC_SDHCI_XENON=y
CONFIG_MMC_SDHCI_OMAP=y
CONFIG_MMC_SDHCI_AM654=y
CONFIG_MMC_SDHCI_EXTERNAL_DMA=y
CONFIG_MMC_LITEX=y
CONFIG_SCSI_UFSHCD=y
CONFIG_SCSI_UFS_BSG=y
CONFIG_SCSI_UFS_CRYPTO=y
CONFIG_SCSI_UFS_HPB=y
CONFIG_SCSI_UFS_FAULT_INJECTION=y
CONFIG_SCSI_UFS_HWMON=y
CONFIG_SCSI_UFSHCD_PCI=y
CONFIG_SCSI_UFS_DWC_TC_PCI=y
CONFIG_SCSI_UFSHCD_PLATFORM=y
CONFIG_SCSI_UFS_CDNS_PLATFORM=y
CONFIG_SCSI_UFS_DWC_TC_PLATFORM=y
CONFIG_MEMSTICK=y
CONFIG_MEMSTICK_DEBUG=y

#
# MemoryStick drivers
#
CONFIG_MEMSTICK_UNSAFE_RESUME=y
CONFIG_MSPRO_BLOCK=y
CONFIG_MS_BLOCK=y

#
# MemoryStick Host Controller Drivers
#
CONFIG_MEMSTICK_TIFM_MS=y
CONFIG_MEMSTICK_JMICRON_38X=y
CONFIG_MEMSTICK_R592=y
CONFIG_MEMSTICK_REALTEK_PCI=y
CONFIG_MEMSTICK_REALTEK_USB=y
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
CONFIG_LEDS_CLASS_FLASH=y
CONFIG_LEDS_CLASS_MULTICOLOR=y
CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y

#
# LED drivers
#
CONFIG_LEDS_88PM860X=y
CONFIG_LEDS_AN30259A=y
CONFIG_LEDS_APU=y
CONFIG_LEDS_AW2013=y
CONFIG_LEDS_BCM6328=y
CONFIG_LEDS_BCM6358=y
CONFIG_LEDS_CPCAP=y
CONFIG_LEDS_CR0014114=y
CONFIG_LEDS_EL15203000=y
CONFIG_LEDS_LM3530=y
CONFIG_LEDS_LM3532=y
CONFIG_LEDS_LM3533=y
CONFIG_LEDS_LM3642=y
CONFIG_LEDS_LM3692X=y
CONFIG_LEDS_MT6323=y
CONFIG_LEDS_PCA9532=y
CONFIG_LEDS_PCA9532_GPIO=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_LP3944=y
CONFIG_LEDS_LP3952=y
CONFIG_LEDS_LP50XX=y
CONFIG_LEDS_LP55XX_COMMON=y
CONFIG_LEDS_LP5521=y
CONFIG_LEDS_LP5523=y
CONFIG_LEDS_LP5562=y
CONFIG_LEDS_LP8501=y
CONFIG_LEDS_LP8788=y
CONFIG_LEDS_LP8860=y
CONFIG_LEDS_PCA955X=y
CONFIG_LEDS_PCA955X_GPIO=y
CONFIG_LEDS_PCA963X=y
CONFIG_LEDS_WM831X_STATUS=y
CONFIG_LEDS_WM8350=y
CONFIG_LEDS_DA903X=y
CONFIG_LEDS_DA9052=y
CONFIG_LEDS_DAC124S085=y
CONFIG_LEDS_PWM=y
CONFIG_LEDS_REGULATOR=y
CONFIG_LEDS_BD2802=y
CONFIG_LEDS_INTEL_SS4200=y
CONFIG_LEDS_LT3593=y
CONFIG_LEDS_ADP5520=y
CONFIG_LEDS_MC13783=y
CONFIG_LEDS_TCA6507=y
CONFIG_LEDS_TLC591XX=y
CONFIG_LEDS_MAX77650=y
CONFIG_LEDS_MAX8997=y
CONFIG_LEDS_LM355x=y
CONFIG_LEDS_MENF21BMC=y
CONFIG_LEDS_IS31FL319X=y
CONFIG_LEDS_IS31FL32XX=y

#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
CONFIG_LEDS_BLINKM=y
CONFIG_LEDS_SYSCON=y
CONFIG_LEDS_MLXCPLD=y
CONFIG_LEDS_MLXREG=y
CONFIG_LEDS_USER=y
CONFIG_LEDS_NIC78BX=y
CONFIG_LEDS_SPI_BYTE=y
CONFIG_LEDS_TI_LMU_COMMON=y
CONFIG_LEDS_LM3697=y
CONFIG_LEDS_LM36274=y
CONFIG_LEDS_TPS6105X=y
CONFIG_LEDS_LGM=y

#
# Flash and Torch LED drivers
#
CONFIG_LEDS_AAT1290=y
CONFIG_LEDS_AS3645A=y
CONFIG_LEDS_KTD2692=y
CONFIG_LEDS_LM3601X=y
CONFIG_LEDS_MAX77693=y
CONFIG_LEDS_MT6360=y
CONFIG_LEDS_RT4505=y
CONFIG_LEDS_RT8515=y
CONFIG_LEDS_SGM3140=y

#
# RGB LED drivers
#
CONFIG_LEDS_PWM_MULTICOLOR=y
CONFIG_LEDS_QCOM_LPG=y

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_ONESHOT=y
CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_MTD=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_LEDS_TRIGGER_BACKLIGHT=y
CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_ACTIVITY=y
CONFIG_LEDS_TRIGGER_GPIO=y
CONFIG_LEDS_TRIGGER_DEFAULT_ON=y

#
# iptables trigger is under Netfilter config (LED target)
#
CONFIG_LEDS_TRIGGER_TRANSIENT=y
CONFIG_LEDS_TRIGGER_CAMERA=y
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LEDS_TRIGGER_NETDEV=y
CONFIG_LEDS_TRIGGER_PATTERN=y
CONFIG_LEDS_TRIGGER_AUDIO=y
CONFIG_LEDS_TRIGGER_TTY=y

#
# Simple LED drivers
#
CONFIG_LEDS_SIEMENS_SIMATIC_IPC=y
CONFIG_ACCESSIBILITY=y
CONFIG_A11Y_BRAILLE_CONSOLE=y

#
# Speakup console speech
#
CONFIG_SPEAKUP=y
CONFIG_SPEAKUP_SYNTH_ACNTSA=y
CONFIG_SPEAKUP_SYNTH_APOLLO=y
CONFIG_SPEAKUP_SYNTH_AUDPTR=y
CONFIG_SPEAKUP_SYNTH_BNS=y
CONFIG_SPEAKUP_SYNTH_DECTLK=y
CONFIG_SPEAKUP_SYNTH_DECEXT=y
CONFIG_SPEAKUP_SYNTH_LTLK=y
CONFIG_SPEAKUP_SYNTH_SOFT=y
CONFIG_SPEAKUP_SYNTH_SPKOUT=y
CONFIG_SPEAKUP_SYNTH_TXPRT=y
CONFIG_SPEAKUP_SYNTH_DUMMY=y
# end of Speakup console speech

CONFIG_INFINIBAND=y
CONFIG_INFINIBAND_USER_MAD=y
CONFIG_INFINIBAND_USER_ACCESS=y
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
CONFIG_INFINIBAND_VIRT_DMA=y
CONFIG_INFINIBAND_BNXT_RE=y
CONFIG_INFINIBAND_CXGB4=y
CONFIG_INFINIBAND_EFA=y
CONFIG_INFINIBAND_ERDMA=y
CONFIG_INFINIBAND_HFI1=y
CONFIG_HFI1_DEBUG_SDMA_ORDER=y
CONFIG_SDMA_VERBOSITY=y
CONFIG_INFINIBAND_IRDMA=y
CONFIG_MLX4_INFINIBAND=y
CONFIG_MLX5_INFINIBAND=y
CONFIG_INFINIBAND_MTHCA=y
CONFIG_INFINIBAND_MTHCA_DEBUG=y
CONFIG_INFINIBAND_OCRDMA=y
CONFIG_INFINIBAND_QEDR=y
CONFIG_INFINIBAND_QIB=y
CONFIG_INFINIBAND_QIB_DCA=y
CONFIG_INFINIBAND_USNIC=y
CONFIG_INFINIBAND_VMWARE_PVRDMA=y
CONFIG_INFINIBAND_RDMAVT=y
CONFIG_RDMA_RXE=y
CONFIG_RDMA_SIW=y
CONFIG_INFINIBAND_IPOIB=y
CONFIG_INFINIBAND_IPOIB_CM=y
CONFIG_INFINIBAND_IPOIB_DEBUG=y
CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y
CONFIG_INFINIBAND_SRP=y
CONFIG_INFINIBAND_SRPT=y
CONFIG_INFINIBAND_ISER=y
CONFIG_INFINIBAND_ISERT=y
CONFIG_INFINIBAND_RTRS=y
CONFIG_INFINIBAND_RTRS_CLIENT=y
CONFIG_INFINIBAND_RTRS_SERVER=y
CONFIG_INFINIBAND_OPA_VNIC=y
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_DEBUG=y
CONFIG_EDAC_DECODE_MCE=y
CONFIG_EDAC_GHES=y
CONFIG_EDAC_AMD64=y
CONFIG_EDAC_E752X=y
CONFIG_EDAC_I82975X=y
CONFIG_EDAC_I3000=y
CONFIG_EDAC_I3200=y
CONFIG_EDAC_IE31200=y
CONFIG_EDAC_X38=y
CONFIG_EDAC_I5400=y
CONFIG_EDAC_I7CORE=y
CONFIG_EDAC_I5000=y
CONFIG_EDAC_I5100=y
CONFIG_EDAC_I7300=y
CONFIG_EDAC_SBRIDGE=y
CONFIG_EDAC_SKX=y
CONFIG_EDAC_I10NM=y
CONFIG_EDAC_PND2=y
CONFIG_EDAC_IGEN6=y
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
CONFIG_RTC_SYSTOHC=y
CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
CONFIG_RTC_DEBUG=y
CONFIG_RTC_LIB_KUNIT_TEST=y
CONFIG_RTC_NVMEM=y

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
CONFIG_RTC_INTF_DEV_UIE_EMUL=y
CONFIG_RTC_DRV_TEST=y

#
# I2C RTC drivers
#
CONFIG_RTC_DRV_88PM860X=y
CONFIG_RTC_DRV_88PM80X=y
CONFIG_RTC_DRV_ABB5ZES3=y
CONFIG_RTC_DRV_ABEOZ9=y
CONFIG_RTC_DRV_ABX80X=y
CONFIG_RTC_DRV_AS3722=y
CONFIG_RTC_DRV_DS1307=y
CONFIG_RTC_DRV_DS1307_CENTURY=y
CONFIG_RTC_DRV_DS1374=y
CONFIG_RTC_DRV_DS1374_WDT=y
CONFIG_RTC_DRV_DS1672=y
CONFIG_RTC_DRV_HYM8563=y
CONFIG_RTC_DRV_LP8788=y
CONFIG_RTC_DRV_MAX6900=y
CONFIG_RTC_DRV_MAX8907=y
CONFIG_RTC_DRV_MAX8925=y
CONFIG_RTC_DRV_MAX8998=y
CONFIG_RTC_DRV_MAX8997=y
CONFIG_RTC_DRV_MAX77686=y
CONFIG_RTC_DRV_NCT3018Y=y
CONFIG_RTC_DRV_RK808=y
CONFIG_RTC_DRV_RS5C372=y
CONFIG_RTC_DRV_ISL1208=y
CONFIG_RTC_DRV_ISL12022=y
CONFIG_RTC_DRV_ISL12026=y
CONFIG_RTC_DRV_X1205=y
CONFIG_RTC_DRV_PCF8523=y
CONFIG_RTC_DRV_PCF85063=y
CONFIG_RTC_DRV_PCF85363=y
CONFIG_RTC_DRV_PCF8563=y
CONFIG_RTC_DRV_PCF8583=y
CONFIG_RTC_DRV_M41T80=y
CONFIG_RTC_DRV_M41T80_WDT=y
CONFIG_RTC_DRV_BD70528=y
CONFIG_RTC_DRV_BQ32K=y
CONFIG_RTC_DRV_TWL4030=y
CONFIG_RTC_DRV_PALMAS=y
CONFIG_RTC_DRV_TPS6586X=y
CONFIG_RTC_DRV_TPS65910=y
CONFIG_RTC_DRV_RC5T583=y
CONFIG_RTC_DRV_RC5T619=y
CONFIG_RTC_DRV_S35390A=y
CONFIG_RTC_DRV_FM3130=y
CONFIG_RTC_DRV_RX8010=y
CONFIG_RTC_DRV_RX8581=y
CONFIG_RTC_DRV_RX8025=y
CONFIG_RTC_DRV_EM3027=y
CONFIG_RTC_DRV_RV3028=y
CONFIG_RTC_DRV_RV3032=y
CONFIG_RTC_DRV_RV8803=y
CONFIG_RTC_DRV_S5M=y
CONFIG_RTC_DRV_SD3078=y

#
# SPI RTC drivers
#
CONFIG_RTC_DRV_M41T93=y
CONFIG_RTC_DRV_M41T94=y
CONFIG_RTC_DRV_DS1302=y
CONFIG_RTC_DRV_DS1305=y
CONFIG_RTC_DRV_DS1343=y
CONFIG_RTC_DRV_DS1347=y
CONFIG_RTC_DRV_DS1390=y
CONFIG_RTC_DRV_MAX6916=y
CONFIG_RTC_DRV_R9701=y
CONFIG_RTC_DRV_RX4581=y
CONFIG_RTC_DRV_RS5C348=y
CONFIG_RTC_DRV_MAX6902=y
CONFIG_RTC_DRV_PCF2123=y
CONFIG_RTC_DRV_MCP795=y
CONFIG_RTC_I2C_AND_SPI=y

#
# SPI and I2C RTC drivers
#
CONFIG_RTC_DRV_DS3232=y
CONFIG_RTC_DRV_DS3232_HWMON=y
CONFIG_RTC_DRV_PCF2127=y
CONFIG_RTC_DRV_RV3029C2=y
CONFIG_RTC_DRV_RV3029_HWMON=y
CONFIG_RTC_DRV_RX6110=y

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
CONFIG_RTC_DRV_DS1286=y
CONFIG_RTC_DRV_DS1511=y
CONFIG_RTC_DRV_DS1553=y
CONFIG_RTC_DRV_DS1685_FAMILY=y
CONFIG_RTC_DRV_DS1685=y
# CONFIG_RTC_DRV_DS1689 is not set
# CONFIG_RTC_DRV_DS17285 is not set
# CONFIG_RTC_DRV_DS17485 is not set
# CONFIG_RTC_DRV_DS17885 is not set
CONFIG_RTC_DRV_DS1742=y
CONFIG_RTC_DRV_DS2404=y
CONFIG_RTC_DRV_DA9052=y
CONFIG_RTC_DRV_DA9055=y
CONFIG_RTC_DRV_DA9063=y
CONFIG_RTC_DRV_STK17TA8=y
CONFIG_RTC_DRV_M48T86=y
CONFIG_RTC_DRV_M48T35=y
CONFIG_RTC_DRV_M48T59=y
CONFIG_RTC_DRV_MSM6242=y
CONFIG_RTC_DRV_BQ4802=y
CONFIG_RTC_DRV_RP5C01=y
CONFIG_RTC_DRV_V3020=y
CONFIG_RTC_DRV_WM831X=y
CONFIG_RTC_DRV_WM8350=y
CONFIG_RTC_DRV_PCF50633=y
CONFIG_RTC_DRV_ZYNQMP=y
CONFIG_RTC_DRV_CROS_EC=y
CONFIG_RTC_DRV_NTXEC=y

#
# on-CPU RTC drivers
#
CONFIG_RTC_DRV_CADENCE=y
CONFIG_RTC_DRV_FTRTC010=y
CONFIG_RTC_DRV_PCAP=y
CONFIG_RTC_DRV_MC13XXX=y
CONFIG_RTC_DRV_MT6397=y
CONFIG_RTC_DRV_R7301=y
CONFIG_RTC_DRV_CPCAP=y

#
# HID Sensor RTC drivers
#
CONFIG_RTC_DRV_HID_SENSOR_TIME=y
CONFIG_RTC_DRV_GOLDFISH=y
CONFIG_RTC_DRV_WILCO_EC=y
CONFIG_DMADEVICES=y
CONFIG_DMADEVICES_DEBUG=y
CONFIG_DMADEVICES_VDEBUG=y

#
# DMA Devices
#
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_ACPI=y
CONFIG_DMA_OF=y
CONFIG_ALTERA_MSGDMA=y
CONFIG_DW_AXI_DMAC=y
CONFIG_FSL_EDMA=y
CONFIG_INTEL_IDMA64=y
CONFIG_INTEL_IDXD_BUS=y
CONFIG_INTEL_IDXD=y
CONFIG_INTEL_IDXD_COMPAT=y
CONFIG_INTEL_IDXD_SVM=y
CONFIG_INTEL_IDXD_PERFMON=y
CONFIG_INTEL_IOATDMA=y
CONFIG_PLX_DMA=y
CONFIG_XILINX_ZYNQMP_DPDMA=y
CONFIG_AMD_PTDMA=y
CONFIG_QCOM_HIDMA_MGMT=y
CONFIG_QCOM_HIDMA=y
CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC=y
CONFIG_DW_DMAC_PCI=y
CONFIG_DW_EDMA=y
CONFIG_DW_EDMA_PCIE=y
CONFIG_HSU_DMA=y
CONFIG_HSU_DMA_PCI=y
CONFIG_SF_PDMA=y
CONFIG_INTEL_LDMA=y

#
# DMA Clients
#
CONFIG_ASYNC_TX_DMA=y
CONFIG_DMATEST=y
CONFIG_DMA_ENGINE_RAID=y

#
# DMABUF options
#
CONFIG_SYNC_FILE=y
CONFIG_SW_SYNC=y
CONFIG_UDMABUF=y
CONFIG_DMABUF_MOVE_NOTIFY=y
CONFIG_DMABUF_DEBUG=y
CONFIG_DMABUF_SELFTESTS=y
CONFIG_DMABUF_HEAPS=y
CONFIG_DMABUF_SYSFS_STATS=y
CONFIG_DMABUF_HEAPS_SYSTEM=y
CONFIG_DMABUF_HEAPS_CMA=y
# end of DMABUF options

CONFIG_DCA=y
CONFIG_AUXDISPLAY=y
CONFIG_CHARLCD=y
CONFIG_LINEDISP=y
CONFIG_HD44780_COMMON=y
CONFIG_HD44780=y
CONFIG_KS0108=y
CONFIG_KS0108_PORT=0x378
CONFIG_KS0108_DELAY=2
CONFIG_CFAG12864B=y
CONFIG_CFAG12864B_RATE=20
CONFIG_IMG_ASCII_LCD=y
CONFIG_HT16K33=y
CONFIG_LCD2S=y
CONFIG_PARPORT_PANEL=y
CONFIG_PANEL_PARPORT=0
CONFIG_PANEL_PROFILE=5
CONFIG_PANEL_CHANGE_MESSAGE=y
CONFIG_PANEL_BOOT_MESSAGE=""
# CONFIG_CHARLCD_BL_OFF is not set
# CONFIG_CHARLCD_BL_ON is not set
CONFIG_CHARLCD_BL_FLASH=y
CONFIG_PANEL=y
CONFIG_UIO=y
CONFIG_UIO_CIF=y
CONFIG_UIO_PDRV_GENIRQ=y
CONFIG_UIO_DMEM_GENIRQ=y
CONFIG_UIO_AEC=y
CONFIG_UIO_SERCOS3=y
CONFIG_UIO_PCI_GENERIC=y
CONFIG_UIO_NETX=y
CONFIG_UIO_PRUSS=y
CONFIG_UIO_MF624=y
CONFIG_UIO_HV_GENERIC=y
CONFIG_UIO_DFL=y
CONFIG_VFIO=y
CONFIG_VFIO_IOMMU_TYPE1=y
CONFIG_VFIO_VIRQFD=y
CONFIG_VFIO_NOIOMMU=y
CONFIG_VFIO_PCI_CORE=y
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI=y
CONFIG_VFIO_PCI_VGA=y
CONFIG_VFIO_PCI_IGD=y
CONFIG_MLX5_VFIO_PCI=y
CONFIG_VFIO_MDEV=y
CONFIG_IRQ_BYPASS_MANAGER=y
CONFIG_VIRT_DRIVERS=y
CONFIG_VMGENID=y
CONFIG_VBOXGUEST=y
CONFIG_NITRO_ENCLAVES=y
CONFIG_NITRO_ENCLAVES_MISC_DEV_TEST=y
CONFIG_ACRN_HSM=y
CONFIG_EFI_SECRET=y
CONFIG_SEV_GUEST=y
CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=y
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTIO_VDPA=y
CONFIG_VIRTIO_PMEM=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_MEM=y
CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_VIRTIO_DMA_SHARED_BUFFER=y
CONFIG_VDPA=y
CONFIG_VDPA_SIM=y
CONFIG_VDPA_SIM_NET=y
CONFIG_VDPA_SIM_BLOCK=y
CONFIG_VDPA_USER=y
CONFIG_IFCVF=y
CONFIG_MLX5_VDPA=y
CONFIG_MLX5_VDPA_NET=y
CONFIG_VP_VDPA=y
CONFIG_ALIBABA_ENI_VDPA=y
CONFIG_VHOST_IOTLB=y
CONFIG_VHOST_RING=y
CONFIG_VHOST=y
CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=y
CONFIG_VHOST_SCSI=y
CONFIG_VHOST_VSOCK=y
CONFIG_VHOST_VDPA=y
CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y

#
# Microsoft Hyper-V guest support
#
CONFIG_HYPERV=y
CONFIG_HYPERV_TIMER=y
CONFIG_HYPERV_UTILS=y
CONFIG_HYPERV_BALLOON=y
# end of Microsoft Hyper-V guest support

#
# Xen driver support
#
CONFIG_XEN_BALLOON=y
CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512
CONFIG_XEN_SCRUB_PAGES_DEFAULT=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=y
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_GNTDEV_DMABUF=y
CONFIG_XEN_GRANT_DEV_ALLOC=y
CONFIG_XEN_GRANT_DMA_ALLOC=y
CONFIG_SWIOTLB_XEN=y
CONFIG_XEN_PCI_STUB=y
CONFIG_XEN_PCIDEV_BACKEND=y
CONFIG_XEN_PVCALLS_FRONTEND=y
CONFIG_XEN_PVCALLS_BACKEND=y
CONFIG_XEN_SCSI_BACKEND=y
CONFIG_XEN_PRIVCMD=y
CONFIG_XEN_ACPI_PROCESSOR=y
CONFIG_XEN_MCE_LOG=y
CONFIG_XEN_HAVE_PVMMU=y
CONFIG_XEN_EFI=y
CONFIG_XEN_AUTO_XLATE=y
CONFIG_XEN_ACPI=y
CONFIG_XEN_SYMS=y
CONFIG_XEN_HAVE_VPMU=y
CONFIG_XEN_FRONT_PGDIR_SHBUF=y
CONFIG_XEN_UNPOPULATED_ALLOC=y
CONFIG_XEN_GRANT_DMA_IOMMU=y
CONFIG_XEN_GRANT_DMA_OPS=y
CONFIG_XEN_VIRTIO=y
CONFIG_XEN_VIRTIO_FORCE_GRANT=y
# end of Xen driver support

CONFIG_GREYBUS=y
CONFIG_GREYBUS_ES2=y
CONFIG_COMEDI=y
CONFIG_COMEDI_DEBUG=y
CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048
CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480
CONFIG_COMEDI_MISC_DRIVERS=y
CONFIG_COMEDI_BOND=y
CONFIG_COMEDI_TEST=y
CONFIG_COMEDI_PARPORT=y
CONFIG_COMEDI_ISA_DRIVERS=y
CONFIG_COMEDI_PCL711=y
CONFIG_COMEDI_PCL724=y
CONFIG_COMEDI_PCL726=y
CONFIG_COMEDI_PCL730=y
CONFIG_COMEDI_PCL812=y
CONFIG_COMEDI_PCL816=y
CONFIG_COMEDI_PCL818=y
CONFIG_COMEDI_PCM3724=y
CONFIG_COMEDI_AMPLC_DIO200_ISA=y
CONFIG_COMEDI_AMPLC_PC236_ISA=y
CONFIG_COMEDI_AMPLC_PC263_ISA=y
CONFIG_COMEDI_RTI800=y
CONFIG_COMEDI_RTI802=y
CONFIG_COMEDI_DAC02=y
CONFIG_COMEDI_DAS16M1=y
CONFIG_COMEDI_DAS08_ISA=y
CONFIG_COMEDI_DAS16=y
CONFIG_COMEDI_DAS800=y
CONFIG_COMEDI_DAS1800=y
CONFIG_COMEDI_DAS6402=y
CONFIG_COMEDI_DT2801=y
CONFIG_COMEDI_DT2811=y
CONFIG_COMEDI_DT2814=y
CONFIG_COMEDI_DT2815=y
CONFIG_COMEDI_DT2817=y
CONFIG_COMEDI_DT282X=y
CONFIG_COMEDI_DMM32AT=y
CONFIG_COMEDI_FL512=y
CONFIG_COMEDI_AIO_AIO12_8=y
CONFIG_COMEDI_AIO_IIRO_16=y
CONFIG_COMEDI_II_PCI20KC=y
CONFIG_COMEDI_C6XDIGIO=y
CONFIG_COMEDI_MPC624=y
CONFIG_COMEDI_ADQ12B=y
CONFIG_COMEDI_NI_AT_A2150=y
CONFIG_COMEDI_NI_AT_AO=y
CONFIG_COMEDI_NI_ATMIO=y
CONFIG_COMEDI_NI_ATMIO16D=y
CONFIG_COMEDI_NI_LABPC_ISA=y
CONFIG_COMEDI_PCMAD=y
CONFIG_COMEDI_PCMDA12=y
CONFIG_COMEDI_PCMMIO=y
CONFIG_COMEDI_PCMUIO=y
CONFIG_COMEDI_MULTIQ3=y
CONFIG_COMEDI_S526=y
CONFIG_COMEDI_PCI_DRIVERS=y
CONFIG_COMEDI_8255_PCI=y
CONFIG_COMEDI_ADDI_WATCHDOG=y
CONFIG_COMEDI_ADDI_APCI_1032=y
CONFIG_COMEDI_ADDI_APCI_1500=y
CONFIG_COMEDI_ADDI_APCI_1516=y
CONFIG_COMEDI_ADDI_APCI_1564=y
CONFIG_COMEDI_ADDI_APCI_16XX=y
CONFIG_COMEDI_ADDI_APCI_2032=y
CONFIG_COMEDI_ADDI_APCI_2200=y
CONFIG_COMEDI_ADDI_APCI_3120=y
CONFIG_COMEDI_ADDI_APCI_3501=y
CONFIG_COMEDI_ADDI_APCI_3XXX=y
CONFIG_COMEDI_ADL_PCI6208=y
CONFIG_COMEDI_ADL_PCI7X3X=y
CONFIG_COMEDI_ADL_PCI8164=y
CONFIG_COMEDI_ADL_PCI9111=y
CONFIG_COMEDI_ADL_PCI9118=y
CONFIG_COMEDI_ADV_PCI1710=y
CONFIG_COMEDI_ADV_PCI1720=y
CONFIG_COMEDI_ADV_PCI1723=y
CONFIG_COMEDI_ADV_PCI1724=y
CONFIG_COMEDI_ADV_PCI1760=y
CONFIG_COMEDI_ADV_PCI_DIO=y
CONFIG_COMEDI_AMPLC_DIO200_PCI=y
CONFIG_COMEDI_AMPLC_PC236_PCI=y
CONFIG_COMEDI_AMPLC_PC263_PCI=y
CONFIG_COMEDI_AMPLC_PCI224=y
CONFIG_COMEDI_AMPLC_PCI230=y
CONFIG_COMEDI_CONTEC_PCI_DIO=y
CONFIG_COMEDI_DAS08_PCI=y
CONFIG_COMEDI_DT3000=y
CONFIG_COMEDI_DYNA_PCI10XX=y
CONFIG_COMEDI_GSC_HPDI=y
CONFIG_COMEDI_MF6X4=y
CONFIG_COMEDI_ICP_MULTI=y
CONFIG_COMEDI_DAQBOARD2000=y
CONFIG_COMEDI_JR3_PCI=y
CONFIG_COMEDI_KE_COUNTER=y
CONFIG_COMEDI_CB_PCIDAS64=y
CONFIG_COMEDI_CB_PCIDAS=y
CONFIG_COMEDI_CB_PCIDDA=y
CONFIG_COMEDI_CB_PCIMDAS=y
CONFIG_COMEDI_CB_PCIMDDA=y
CONFIG_COMEDI_ME4000=y
CONFIG_COMEDI_ME_DAQ=y
CONFIG_COMEDI_NI_6527=y
CONFIG_COMEDI_NI_65XX=y
CONFIG_COMEDI_NI_660X=y
CONFIG_COMEDI_NI_670X=y
CONFIG_COMEDI_NI_LABPC_PCI=y
CONFIG_COMEDI_NI_PCIDIO=y
CONFIG_COMEDI_NI_PCIMIO=y
CONFIG_COMEDI_RTD520=y
CONFIG_COMEDI_S626=y
CONFIG_COMEDI_MITE=y
CONFIG_COMEDI_NI_TIOCMD=y
CONFIG_COMEDI_PCMCIA_DRIVERS=y
CONFIG_COMEDI_CB_DAS16_CS=y
CONFIG_COMEDI_DAS08_CS=y
CONFIG_COMEDI_NI_DAQ_700_CS=y
CONFIG_COMEDI_NI_DAQ_DIO24_CS=y
CONFIG_COMEDI_NI_LABPC_CS=y
CONFIG_COMEDI_NI_MIO_CS=y
CONFIG_COMEDI_QUATECH_DAQP_CS=y
CONFIG_COMEDI_USB_DRIVERS=y
CONFIG_COMEDI_DT9812=y
CONFIG_COMEDI_NI_USB6501=y
CONFIG_COMEDI_USBDUX=y
CONFIG_COMEDI_USBDUXFAST=y
CONFIG_COMEDI_USBDUXSIGMA=y
CONFIG_COMEDI_VMK80XX=y
CONFIG_COMEDI_8254=y
CONFIG_COMEDI_8255=y
CONFIG_COMEDI_8255_SA=y
CONFIG_COMEDI_KCOMEDILIB=y
CONFIG_COMEDI_AMPLC_DIO200=y
CONFIG_COMEDI_AMPLC_PC236=y
CONFIG_COMEDI_DAS08=y
CONFIG_COMEDI_ISADMA=y
CONFIG_COMEDI_NI_LABPC=y
CONFIG_COMEDI_NI_LABPC_ISADMA=y
CONFIG_COMEDI_NI_TIO=y
CONFIG_COMEDI_NI_ROUTING=y
CONFIG_COMEDI_TESTS=y
CONFIG_COMEDI_TESTS_EXAMPLE=y
CONFIG_COMEDI_TESTS_NI_ROUTES=y
CONFIG_STAGING=y
CONFIG_PRISM2_USB=y
CONFIG_RTL8192U=m
CONFIG_RTLLIB=m
CONFIG_RTLLIB_CRYPTO_CCMP=m
CONFIG_RTLLIB_CRYPTO_TKIP=m
CONFIG_RTLLIB_CRYPTO_WEP=m
CONFIG_RTL8192E=m
CONFIG_RTL8723BS=m
CONFIG_R8712U=y
CONFIG_R8188EU=m
CONFIG_RTS5208=y
CONFIG_VT6655=m
CONFIG_VT6656=m

#
# IIO staging drivers
#

#
# Accelerometers
#
CONFIG_ADIS16203=y
CONFIG_ADIS16240=y
# end of Accelerometers

#
# Analog to digital converters
#
CONFIG_AD7816=y
# end of Analog to digital converters

#
# Analog digital bi-direction converters
#
CONFIG_ADT7316=y
CONFIG_ADT7316_SPI=y
CONFIG_ADT7316_I2C=y
# end of Analog digital bi-direction converters

#
# Direct Digital Synthesis
#
CONFIG_AD9832=y
CONFIG_AD9834=y
# end of Direct Digital Synthesis

#
# Network Analyzer, Impedance Converters
#
CONFIG_AD5933=y
# end of Network Analyzer, Impedance Converters

#
# Active energy metering IC
#
CONFIG_ADE7854=y
CONFIG_ADE7854_I2C=y
CONFIG_ADE7854_SPI=y
# end of Active energy metering IC

#
# Resolver to digital converters
#
CONFIG_AD2S1210=y
# end of Resolver to digital converters
# end of IIO staging drivers

CONFIG_FB_SM750=y
CONFIG_STAGING_MEDIA=y
CONFIG_INTEL_ATOMISP=y
CONFIG_VIDEO_ATOMISP=y
CONFIG_VIDEO_ATOMISP_ISP2401=y
CONFIG_VIDEO_ATOMISP_OV2722=y
CONFIG_VIDEO_ATOMISP_GC2235=y
CONFIG_VIDEO_ATOMISP_MSRLIST_HELPER=y
CONFIG_VIDEO_ATOMISP_MT9M114=y
CONFIG_VIDEO_ATOMISP_GC0310=y
CONFIG_VIDEO_ATOMISP_OV2680=y
CONFIG_VIDEO_ATOMISP_OV5693=y
CONFIG_VIDEO_ATOMISP_LM3554=y
CONFIG_VIDEO_IPU3_IMGU=y
CONFIG_VIDEO_MAX96712=y
CONFIG_STAGING_MEDIA_DEPRECATED=y
CONFIG_VIDEO_CPIA2=y
CONFIG_VIDEO_MEYE=y
CONFIG_VIDEO_SAA7146=y
CONFIG_VIDEO_SAA7146_VV=y
CONFIG_DVB_AV7110_IR=y
CONFIG_DVB_AV7110=y
CONFIG_DVB_AV7110_OSD=y
CONFIG_DVB_BUDGET_PATCH=y
CONFIG_DVB_SP8870=y
CONFIG_VIDEO_HEXIUM_GEMINI=y
CONFIG_VIDEO_HEXIUM_ORION=y
CONFIG_VIDEO_MXB=y
CONFIG_DVB_BUDGET_CORE=y
CONFIG_DVB_BUDGET=y
CONFIG_DVB_BUDGET_CI=y
CONFIG_DVB_BUDGET_AV=y
CONFIG_VIDEO_STKWEBCAM=y
CONFIG_VIDEO_TM6000=y
CONFIG_VIDEO_TM6000_ALSA=y
CONFIG_VIDEO_TM6000_DVB=y
CONFIG_USB_ZR364XX=y
CONFIG_STAGING_BOARD=y
CONFIG_LTE_GDM724X=m
CONFIG_FB_TFT=y
CONFIG_FB_TFT_AGM1264K_FL=y
CONFIG_FB_TFT_BD663474=y
CONFIG_FB_TFT_HX8340BN=y
CONFIG_FB_TFT_HX8347D=y
CONFIG_FB_TFT_HX8353D=y
CONFIG_FB_TFT_HX8357D=y
CONFIG_FB_TFT_ILI9163=y
CONFIG_FB_TFT_ILI9320=y
CONFIG_FB_TFT_ILI9325=y
CONFIG_FB_TFT_ILI9340=y
CONFIG_FB_TFT_ILI9341=y
CONFIG_FB_TFT_ILI9481=y
CONFIG_FB_TFT_ILI9486=y
CONFIG_FB_TFT_PCD8544=y
CONFIG_FB_TFT_RA8875=y
CONFIG_FB_TFT_S6D02A1=y
CONFIG_FB_TFT_S6D1121=y
CONFIG_FB_TFT_SEPS525=y
CONFIG_FB_TFT_SH1106=y
CONFIG_FB_TFT_SSD1289=y
CONFIG_FB_TFT_SSD1305=y
CONFIG_FB_TFT_SSD1306=y
CONFIG_FB_TFT_SSD1331=y
CONFIG_FB_TFT_SSD1351=y
CONFIG_FB_TFT_ST7735R=y
CONFIG_FB_TFT_ST7789V=y
CONFIG_FB_TFT_TINYLCD=y
CONFIG_FB_TFT_TLS8204=y
CONFIG_FB_TFT_UC1611=y
CONFIG_FB_TFT_UC1701=y
CONFIG_FB_TFT_UPD161704=y
CONFIG_MOST_COMPONENTS=y
CONFIG_MOST_NET=y
CONFIG_MOST_VIDEO=y
CONFIG_MOST_DIM2=y
CONFIG_MOST_I2C=y
CONFIG_KS7010=y
CONFIG_GREYBUS_AUDIO=y
CONFIG_GREYBUS_AUDIO_APB_CODEC=y
CONFIG_GREYBUS_BOOTROM=y
CONFIG_GREYBUS_FIRMWARE=y
CONFIG_GREYBUS_HID=y
CONFIG_GREYBUS_LIGHT=y
CONFIG_GREYBUS_LOG=y
CONFIG_GREYBUS_LOOPBACK=y
CONFIG_GREYBUS_POWER=y
CONFIG_GREYBUS_RAW=y
CONFIG_GREYBUS_VIBRATOR=y
CONFIG_GREYBUS_BRIDGED_PHY=y
CONFIG_GREYBUS_GPIO=y
CONFIG_GREYBUS_I2C=y
CONFIG_GREYBUS_PWM=y
CONFIG_GREYBUS_SDIO=y
CONFIG_GREYBUS_SPI=y
CONFIG_GREYBUS_UART=y
CONFIG_GREYBUS_USB=y
CONFIG_PI433=y
CONFIG_XIL_AXIS_FIFO=y
CONFIG_FIELDBUS_DEV=y
CONFIG_HMS_ANYBUSS_BUS=y
CONFIG_ARCX_ANYBUS_CONTROLLER=y
CONFIG_HMS_PROFINET=y
CONFIG_QLGE=y
CONFIG_VME_BUS=y

#
# VME Bridge Drivers
#
CONFIG_VME_TSI148=y
CONFIG_VME_FAKE=y

#
# VME Device Drivers
#
CONFIG_VME_USER=y
CONFIG_GOLDFISH_PIPE=y
CONFIG_CHROME_PLATFORMS=y
CONFIG_CHROMEOS_ACPI=y
CONFIG_CHROMEOS_LAPTOP=y
CONFIG_CHROMEOS_PSTORE=y
CONFIG_CHROMEOS_TBMC=y
CONFIG_CROS_EC=y
CONFIG_CROS_EC_I2C=y
CONFIG_CROS_EC_RPMSG=y
CONFIG_CROS_EC_ISHTP=y
CONFIG_CROS_EC_SPI=y
CONFIG_CROS_EC_LPC=y
CONFIG_CROS_EC_PROTO=y
CONFIG_CROS_KBD_LED_BACKLIGHT=y
CONFIG_CROS_EC_CHARDEV=y
CONFIG_CROS_EC_LIGHTBAR=y
CONFIG_CROS_EC_VBC=y
CONFIG_CROS_EC_DEBUGFS=y
CONFIG_CROS_EC_SENSORHUB=y
CONFIG_CROS_EC_SYSFS=y
CONFIG_CROS_EC_TYPEC=y
CONFIG_CROS_USBPD_LOGGER=y
CONFIG_CROS_USBPD_NOTIFY=y
CONFIG_CHROMEOS_PRIVACY_SCREEN=y
CONFIG_CROS_TYPEC_SWITCH=y
CONFIG_WILCO_EC=y
CONFIG_WILCO_EC_DEBUGFS=y
CONFIG_WILCO_EC_EVENTS=y
CONFIG_WILCO_EC_TELEMETRY=y
CONFIG_CROS_KUNIT=y
CONFIG_MELLANOX_PLATFORM=y
CONFIG_MLXREG_HOTPLUG=y
CONFIG_MLXREG_IO=y
CONFIG_MLXREG_LC=y
CONFIG_NVSW_SN2201=y
CONFIG_SURFACE_PLATFORMS=y
CONFIG_SURFACE3_WMI=y
CONFIG_SURFACE_3_POWER_OPREGION=y
CONFIG_SURFACE_ACPI_NOTIFY=y
CONFIG_SURFACE_AGGREGATOR_CDEV=y
CONFIG_SURFACE_AGGREGATOR_HUB=y
CONFIG_SURFACE_AGGREGATOR_REGISTRY=y
CONFIG_SURFACE_AGGREGATOR_TABLET_SWITCH=y
CONFIG_SURFACE_DTX=y
CONFIG_SURFACE_GPE=y
CONFIG_SURFACE_HOTPLUG=y
CONFIG_SURFACE_PLATFORM_PROFILE=y
CONFIG_SURFACE_PRO3_BUTTON=y
CONFIG_SURFACE_AGGREGATOR=y
CONFIG_SURFACE_AGGREGATOR_BUS=y
CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION=y
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACPI_WMI=y
CONFIG_WMI_BMOF=y
CONFIG_HUAWEI_WMI=y
CONFIG_UV_SYSFS=y
CONFIG_MXM_WMI=y
CONFIG_PEAQ_WMI=y
CONFIG_NVIDIA_WMI_EC_BACKLIGHT=y
CONFIG_XIAOMI_WMI=y
CONFIG_GIGABYTE_WMI=y
CONFIG_YOGABOOK_WMI=y
CONFIG_ACERHDF=y
CONFIG_ACER_WIRELESS=y
CONFIG_ACER_WMI=y
CONFIG_AMD_PMF=y
CONFIG_AMD_PMC=y
CONFIG_AMD_HSMP=y
CONFIG_ADV_SWBUTTON=y
CONFIG_APPLE_GMUX=y
CONFIG_ASUS_LAPTOP=y
CONFIG_ASUS_WIRELESS=y
CONFIG_ASUS_WMI=y
CONFIG_ASUS_NB_WMI=y
CONFIG_ASUS_TF103C_DOCK=y
CONFIG_MERAKI_MX100=y
CONFIG_EEEPC_LAPTOP=y
CONFIG_EEEPC_WMI=y
CONFIG_X86_PLATFORM_DRIVERS_DELL=y
CONFIG_ALIENWARE_WMI=y
CONFIG_DCDBAS=y
CONFIG_DELL_LAPTOP=y
CONFIG_DELL_RBU=y
CONFIG_DELL_RBTN=y
CONFIG_DELL_SMBIOS=y
CONFIG_DELL_SMBIOS_WMI=y
CONFIG_DELL_SMBIOS_SMM=y
CONFIG_DELL_SMO8800=y
CONFIG_DELL_WMI=y
CONFIG_DELL_WMI_PRIVACY=y
CONFIG_DELL_WMI_AIO=y
CONFIG_DELL_WMI_DESCRIPTOR=y
CONFIG_DELL_WMI_LED=y
CONFIG_DELL_WMI_SYSMAN=y
CONFIG_AMILO_RFKILL=y
CONFIG_FUJITSU_LAPTOP=y
CONFIG_FUJITSU_TABLET=y
CONFIG_GPD_POCKET_FAN=y
CONFIG_HP_ACCEL=y
CONFIG_WIRELESS_HOTKEY=y
CONFIG_HP_WMI=y
CONFIG_IBM_RTL=y
CONFIG_IDEAPAD_LAPTOP=y
CONFIG_SENSORS_HDAPS=y
CONFIG_THINKPAD_ACPI=y
CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y
CONFIG_THINKPAD_ACPI_DEBUGFACILITIES=y
CONFIG_THINKPAD_ACPI_DEBUG=y
CONFIG_THINKPAD_ACPI_UNSAFE_LEDS=y
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
CONFIG_THINKPAD_LMI=y
CONFIG_INTEL_ATOMISP2_PDX86=y
CONFIG_INTEL_ATOMISP2_LED=y
CONFIG_INTEL_SAR_INT1092=y
CONFIG_INTEL_SKL_INT3472=y
CONFIG_INTEL_PMC_CORE=y
CONFIG_INTEL_PMT_CLASS=y
CONFIG_INTEL_PMT_TELEMETRY=y
CONFIG_INTEL_PMT_CRASHLOG=y

#
# Intel Speed Select Technology interface support
#
CONFIG_INTEL_SPEED_SELECT_INTERFACE=y
# end of Intel Speed Select Technology interface support

CONFIG_INTEL_TELEMETRY=y
CONFIG_INTEL_WMI=y
CONFIG_INTEL_WMI_SBL_FW_UPDATE=y
CONFIG_INTEL_WMI_THUNDERBOLT=y

#
# Intel Uncore Frequency Control
#
CONFIG_INTEL_UNCORE_FREQ_CONTROL=y
# end of Intel Uncore Frequency Control

CONFIG_INTEL_HID_EVENT=y
CONFIG_INTEL_VBTN=y
CONFIG_INTEL_INT0002_VGPIO=y
CONFIG_INTEL_OAKTRAIL=y
CONFIG_INTEL_BXTWC_PMIC_TMU=y
CONFIG_INTEL_CHTDC_TI_PWRBTN=y
CONFIG_INTEL_CHTWC_INT33FE=y
CONFIG_INTEL_ISHTP_ECLITE=y
CONFIG_INTEL_MRFLD_PWRBTN=y
CONFIG_INTEL_PUNIT_IPC=y
CONFIG_INTEL_RST=y
CONFIG_INTEL_SDSI=y
CONFIG_INTEL_SMARTCONNECT=y
CONFIG_INTEL_TURBO_MAX_3=y
CONFIG_INTEL_VSEC=y
CONFIG_MSI_LAPTOP=y
CONFIG_MSI_WMI=y
CONFIG_PCENGINES_APU2=y
CONFIG_BARCO_P50_GPIO=y
CONFIG_SAMSUNG_LAPTOP=y
CONFIG_SAMSUNG_Q10=y
CONFIG_ACPI_TOSHIBA=y
CONFIG_TOSHIBA_BT_RFKILL=y
CONFIG_TOSHIBA_HAPS=y
CONFIG_TOSHIBA_WMI=y
CONFIG_ACPI_CMPC=y
CONFIG_COMPAL_LAPTOP=y
CONFIG_LG_LAPTOP=y
CONFIG_PANASONIC_LAPTOP=y
CONFIG_SONY_LAPTOP=y
CONFIG_SONYPI_COMPAT=y
CONFIG_SYSTEM76_ACPI=y
CONFIG_TOPSTAR_LAPTOP=y
CONFIG_SERIAL_MULTI_INSTANTIATE=y
CONFIG_MLX_PLATFORM=y
CONFIG_TOUCHSCREEN_DMI=y
CONFIG_X86_ANDROID_TABLETS=y
CONFIG_FW_ATTR_CLASS=y
CONFIG_INTEL_IPS=y
CONFIG_INTEL_SCU_IPC=y
CONFIG_INTEL_SCU=y
CONFIG_INTEL_SCU_PCI=y
CONFIG_INTEL_SCU_PLATFORM=y
CONFIG_INTEL_SCU_WDT=y
CONFIG_INTEL_SCU_IPC_UTIL=y
CONFIG_SIEMENS_SIMATIC_IPC=y
CONFIG_WINMATE_FM07_KEYS=y
CONFIG_P2SB=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
CONFIG_COMMON_CLK_WM831X=y
CONFIG_LMK04832=y
CONFIG_COMMON_CLK_MAX77686=y
CONFIG_COMMON_CLK_MAX9485=y
CONFIG_COMMON_CLK_RK808=y
CONFIG_COMMON_CLK_SI5341=y
CONFIG_COMMON_CLK_SI5351=y
CONFIG_COMMON_CLK_SI514=y
CONFIG_COMMON_CLK_SI544=y
CONFIG_COMMON_CLK_SI570=y
CONFIG_COMMON_CLK_CDCE706=y
CONFIG_COMMON_CLK_TPS68470=y
CONFIG_COMMON_CLK_CDCE925=y
CONFIG_COMMON_CLK_CS2000_CP=y
CONFIG_COMMON_CLK_S2MPS11=y
CONFIG_CLK_TWL6040=y
CONFIG_COMMON_CLK_AXI_CLKGEN=y
CONFIG_COMMON_CLK_LOCHNAGAR=y
CONFIG_COMMON_CLK_PALMAS=y
CONFIG_COMMON_CLK_PWM=y
CONFIG_COMMON_CLK_RS9_PCIE=y
CONFIG_COMMON_CLK_VC5=y
CONFIG_COMMON_CLK_VC7=y
CONFIG_COMMON_CLK_BD718XX=y
CONFIG_COMMON_CLK_FIXED_MMIO=y
CONFIG_CLK_LGM_CGU=y
CONFIG_XILINX_VCU=y
CONFIG_COMMON_CLK_XLNX_CLKWZRD=y
CONFIG_CLK_KUNIT_TEST=y
CONFIG_CLK_GATE_KUNIT_TEST=y
CONFIG_HWSPINLOCK=y

#
# Clock Source drivers
#
CONFIG_TIMER_OF=y
CONFIG_TIMER_PROBE=y
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
CONFIG_DW_APB_TIMER=y
CONFIG_MICROCHIP_PIT64B=y
# end of Clock Source drivers

CONFIG_MAILBOX=y
CONFIG_PLATFORM_MHU=y
CONFIG_PCC=y
CONFIG_ALTERA_MBOX=y
CONFIG_MAILBOX_TEST=y
CONFIG_IOMMU_IOVA=y
CONFIG_IOASID=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y

#
# Generic IOMMU Pagetable Support
#
CONFIG_IOMMU_IO_PGTABLE=y
# end of Generic IOMMU Pagetable Support

CONFIG_IOMMU_DEBUGFS=y
# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_OF_IOMMU=y
CONFIG_IOMMU_DMA=y
CONFIG_IOMMU_SVA=y
CONFIG_AMD_IOMMU=y
CONFIG_AMD_IOMMU_V2=y
CONFIG_AMD_IOMMU_DEBUGFS=y
CONFIG_DMAR_TABLE=y
CONFIG_DMAR_PERF=y
CONFIG_DMAR_DEBUG=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_DEBUGFS=y
CONFIG_INTEL_IOMMU_SVM=y
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_IRQ_REMAP=y
CONFIG_HYPERV_IOMMU=y
CONFIG_VIRTIO_IOMMU=y

#
# Remoteproc drivers
#
CONFIG_REMOTEPROC=y
CONFIG_REMOTEPROC_CDEV=y
# end of Remoteproc drivers

#
# Rpmsg drivers
#
CONFIG_RPMSG=y
CONFIG_RPMSG_CHAR=y
CONFIG_RPMSG_CTRL=y
CONFIG_RPMSG_NS=y
CONFIG_RPMSG_QCOM_GLINK=y
CONFIG_RPMSG_QCOM_GLINK_RPM=y
CONFIG_RPMSG_VIRTIO=y
# end of Rpmsg drivers

CONFIG_SOUNDWIRE=y

#
# SoundWire Devices
#
CONFIG_SOUNDWIRE_CADENCE=y
CONFIG_SOUNDWIRE_INTEL=y
CONFIG_SOUNDWIRE_QCOM=y
CONFIG_SOUNDWIRE_GENERIC_ALLOCATION=y

#
# SOC (System On Chip) specific Drivers
#

#
# Amlogic SoC drivers
#
# end of Amlogic SoC drivers

#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers

#
# NXP/Freescale QorIQ SoC drivers
#
# end of NXP/Freescale QorIQ SoC drivers

#
# fujitsu SoC drivers
#
# end of fujitsu SoC drivers

#
# i.MX SoC drivers
#
# end of i.MX SoC drivers

#
# Enable LiteX SoC Builder specific drivers
#
CONFIG_LITEX=y
CONFIG_LITEX_SOC_CONTROLLER=y
# end of Enable LiteX SoC Builder specific drivers

#
# Qualcomm SoC drivers
#
CONFIG_QCOM_QMI_HELPERS=y
# end of Qualcomm SoC drivers

CONFIG_SOC_TI=y

#
# Xilinx SoC drivers
#
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers

CONFIG_PM_DEVFREQ=y

#
# DEVFREQ Governors
#
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
CONFIG_DEVFREQ_GOV_POWERSAVE=y
CONFIG_DEVFREQ_GOV_USERSPACE=y
CONFIG_DEVFREQ_GOV_PASSIVE=y

#
# DEVFREQ Drivers
#
CONFIG_PM_DEVFREQ_EVENT=y
CONFIG_EXTCON=y

#
# Extcon Device Drivers
#
CONFIG_EXTCON_ADC_JACK=y
CONFIG_EXTCON_AXP288=y
CONFIG_EXTCON_FSA9480=y
CONFIG_EXTCON_GPIO=y
CONFIG_EXTCON_INTEL_INT3496=y
CONFIG_EXTCON_INTEL_CHT_WC=y
CONFIG_EXTCON_INTEL_MRFLD=y
CONFIG_EXTCON_MAX14577=y
CONFIG_EXTCON_MAX3355=y
CONFIG_EXTCON_MAX77693=y
CONFIG_EXTCON_MAX77843=y
CONFIG_EXTCON_MAX8997=y
CONFIG_EXTCON_PALMAS=y
CONFIG_EXTCON_PTN5150=y
CONFIG_EXTCON_RT8973A=y
CONFIG_EXTCON_SM5502=y
CONFIG_EXTCON_USB_GPIO=y
CONFIG_EXTCON_USBC_CROS_EC=y
CONFIG_EXTCON_USBC_TUSB320=y
CONFIG_MEMORY=y
CONFIG_FPGA_DFL_EMIF=y
CONFIG_IIO=y
CONFIG_IIO_BUFFER=y
CONFIG_IIO_BUFFER_CB=y
CONFIG_IIO_BUFFER_DMA=y
CONFIG_IIO_BUFFER_DMAENGINE=y
CONFIG_IIO_BUFFER_HW_CONSUMER=y
CONFIG_IIO_KFIFO_BUF=y
CONFIG_IIO_TRIGGERED_BUFFER=y
CONFIG_IIO_CONFIGFS=y
CONFIG_IIO_TRIGGER=y
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
CONFIG_IIO_SW_DEVICE=y
CONFIG_IIO_SW_TRIGGER=y
CONFIG_IIO_TRIGGERED_EVENT=y

#
# Accelerometers
#
CONFIG_ADIS16201=y
CONFIG_ADIS16209=y
CONFIG_ADXL313=y
CONFIG_ADXL313_I2C=y
CONFIG_ADXL313_SPI=y
CONFIG_ADXL355=y
CONFIG_ADXL355_I2C=y
CONFIG_ADXL355_SPI=y
CONFIG_ADXL367=y
CONFIG_ADXL367_SPI=y
CONFIG_ADXL367_I2C=y
CONFIG_ADXL372=y
CONFIG_ADXL372_SPI=y
CONFIG_ADXL372_I2C=y
CONFIG_BMA220=y
CONFIG_BMA400=y
CONFIG_BMA400_I2C=y
CONFIG_BMA400_SPI=y
CONFIG_BMC150_ACCEL=y
CONFIG_BMC150_ACCEL_I2C=y
CONFIG_BMC150_ACCEL_SPI=y
CONFIG_BMI088_ACCEL=y
CONFIG_BMI088_ACCEL_SPI=y
CONFIG_DA280=y
CONFIG_DA311=y
CONFIG_DMARD06=y
CONFIG_DMARD09=y
CONFIG_DMARD10=y
CONFIG_FXLS8962AF=y
CONFIG_FXLS8962AF_I2C=y
CONFIG_FXLS8962AF_SPI=y
CONFIG_HID_SENSOR_ACCEL_3D=y
CONFIG_IIO_CROS_EC_ACCEL_LEGACY=y
CONFIG_KXSD9=y
CONFIG_KXSD9_SPI=y
CONFIG_KXSD9_I2C=y
CONFIG_KXCJK1013=y
CONFIG_MC3230=y
CONFIG_MMA7455=y
CONFIG_MMA7455_I2C=y
CONFIG_MMA7455_SPI=y
CONFIG_MMA7660=y
CONFIG_MMA8452=y
CONFIG_MMA9551_CORE=y
CONFIG_MMA9551=y
CONFIG_MMA9553=y
CONFIG_MSA311=y
CONFIG_MXC4005=y
CONFIG_MXC6255=y
CONFIG_SCA3000=y
CONFIG_SCA3300=y
CONFIG_STK8312=y
CONFIG_STK8BA50=y
# end of Accelerometers

#
# Analog to digital converters
#
CONFIG_AD_SIGMA_DELTA=y
CONFIG_AD7091R5=y
CONFIG_AD7124=y
CONFIG_AD7192=y
CONFIG_AD7266=y
CONFIG_AD7280=y
CONFIG_AD7291=y
CONFIG_AD7292=y
CONFIG_AD7298=y
CONFIG_AD7476=y
CONFIG_AD7606=y
CONFIG_AD7606_IFACE_PARALLEL=y
CONFIG_AD7606_IFACE_SPI=y
CONFIG_AD7766=y
CONFIG_AD7768_1=y
CONFIG_AD7780=y
CONFIG_AD7791=y
CONFIG_AD7793=y
CONFIG_AD7887=y
CONFIG_AD7923=y
CONFIG_AD7949=y
CONFIG_AD799X=y
CONFIG_AD9467=y
CONFIG_ADI_AXI_ADC=y
CONFIG_AXP20X_ADC=y
CONFIG_AXP288_ADC=y
CONFIG_CC10001_ADC=y
CONFIG_CPCAP_ADC=y
CONFIG_DA9150_GPADC=y
CONFIG_DLN2_ADC=y
CONFIG_ENVELOPE_DETECTOR=y
CONFIG_HI8435=y
CONFIG_HX711=y
CONFIG_INTEL_MRFLD_ADC=y
CONFIG_LP8788_ADC=y
CONFIG_LTC2471=y
CONFIG_LTC2485=y
CONFIG_LTC2496=y
CONFIG_LTC2497=y
CONFIG_MAX1027=y
CONFIG_MAX11100=y
CONFIG_MAX1118=y
CONFIG_MAX11205=y
CONFIG_MAX1241=y
CONFIG_MAX1363=y
CONFIG_MAX9611=y
CONFIG_MCP320X=y
CONFIG_MCP3422=y
CONFIG_MCP3911=y
CONFIG_MEDIATEK_MT6360_ADC=y
CONFIG_MEN_Z188_ADC=y
CONFIG_MP2629_ADC=y
CONFIG_NAU7802=y
CONFIG_PALMAS_GPADC=y
CONFIG_QCOM_VADC_COMMON=y
CONFIG_QCOM_SPMI_IADC=y
CONFIG_QCOM_SPMI_VADC=y
CONFIG_QCOM_SPMI_ADC5=y
CONFIG_RN5T618_ADC=y
CONFIG_RICHTEK_RTQ6056=y
CONFIG_SD_ADC_MODULATOR=y
CONFIG_STMPE_ADC=y
CONFIG_TI_ADC081C=y
CONFIG_TI_ADC0832=y
CONFIG_TI_ADC084S021=y
CONFIG_TI_ADC12138=y
CONFIG_TI_ADC108S102=y
CONFIG_TI_ADC128S052=y
CONFIG_TI_ADC161S626=y
CONFIG_TI_ADS1015=y
CONFIG_TI_ADS7950=y
CONFIG_TI_ADS8344=y
CONFIG_TI_ADS8688=y
CONFIG_TI_ADS124S08=y
CONFIG_TI_ADS131E08=y
CONFIG_TI_AM335X_ADC=y
CONFIG_TI_TLC4541=y
CONFIG_TI_TSC2046=y
CONFIG_TWL4030_MADC=y
CONFIG_TWL6030_GPADC=y
CONFIG_VF610_ADC=y
CONFIG_VIPERBOARD_ADC=y
CONFIG_XILINX_XADC=y
# end of Analog to digital converters

#
# Analog to digital and digital to analog converters
#
CONFIG_AD74413R=y
CONFIG_STX104=y
# end of Analog to digital and digital to analog converters

#
# Analog Front Ends
#
CONFIG_IIO_RESCALE=y
# end of Analog Front Ends

#
# Amplifiers
#
CONFIG_AD8366=y
CONFIG_ADA4250=y
CONFIG_HMC425=y
# end of Amplifiers

#
# Capacitance to digital converters
#
CONFIG_AD7150=y
CONFIG_AD7746=y
# end of Capacitance to digital converters

#
# Chemical Sensors
#
CONFIG_ATLAS_PH_SENSOR=y
CONFIG_ATLAS_EZO_SENSOR=y
CONFIG_BME680=y
CONFIG_BME680_I2C=y
CONFIG_BME680_SPI=y
CONFIG_CCS811=y
CONFIG_IAQCORE=y
CONFIG_PMS7003=y
CONFIG_SCD30_CORE=y
CONFIG_SCD30_I2C=y
CONFIG_SCD30_SERIAL=y
CONFIG_SCD4X=y
CONFIG_SENSIRION_SGP30=y
CONFIG_SENSIRION_SGP40=y
CONFIG_SPS30=y
CONFIG_SPS30_I2C=y
CONFIG_SPS30_SERIAL=y
CONFIG_SENSEAIR_SUNRISE_CO2=y
CONFIG_VZ89X=y
# end of Chemical Sensors

CONFIG_IIO_CROS_EC_SENSORS_CORE=y
CONFIG_IIO_CROS_EC_SENSORS=y
CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE=y

#
# Hid Sensor IIO Common
#
CONFIG_HID_SENSOR_IIO_COMMON=y
CONFIG_HID_SENSOR_IIO_TRIGGER=y
# end of Hid Sensor IIO Common

CONFIG_IIO_MS_SENSORS_I2C=y

#
# IIO SCMI Sensors
#
# end of IIO SCMI Sensors

#
# SSP Sensor Common
#
CONFIG_IIO_SSP_SENSORS_COMMONS=y
CONFIG_IIO_SSP_SENSORHUB=y
# end of SSP Sensor Common

CONFIG_IIO_ST_SENSORS_I2C=y
CONFIG_IIO_ST_SENSORS_SPI=y
CONFIG_IIO_ST_SENSORS_CORE=y

#
# Digital to analog converters
#
CONFIG_AD3552R=y
CONFIG_AD5064=y
CONFIG_AD5360=y
CONFIG_AD5380=y
CONFIG_AD5421=y
CONFIG_AD5446=y
CONFIG_AD5449=y
CONFIG_AD5592R_BASE=y
CONFIG_AD5592R=y
CONFIG_AD5593R=y
CONFIG_AD5504=y
CONFIG_AD5624R_SPI=y
CONFIG_LTC2688=y
CONFIG_AD5686=y
CONFIG_AD5686_SPI=y
CONFIG_AD5696_I2C=y
CONFIG_AD5755=y
CONFIG_AD5758=y
CONFIG_AD5761=y
CONFIG_AD5764=y
CONFIG_AD5766=y
CONFIG_AD5770R=y
CONFIG_AD5791=y
CONFIG_AD7293=y
CONFIG_AD7303=y
CONFIG_AD8801=y
CONFIG_CIO_DAC=y
CONFIG_DPOT_DAC=y
CONFIG_DS4424=y
CONFIG_LTC1660=y
CONFIG_LTC2632=y
CONFIG_M62332=y
CONFIG_MAX517=y
CONFIG_MAX5821=y
CONFIG_MCP4725=y
CONFIG_MCP4922=y
CONFIG_TI_DAC082S085=y
CONFIG_TI_DAC5571=y
CONFIG_TI_DAC7311=y
CONFIG_TI_DAC7612=y
CONFIG_VF610_DAC=y
# end of Digital to analog converters

#
# IIO dummy driver
#
CONFIG_IIO_DUMMY_EVGEN=y
CONFIG_IIO_SIMPLE_DUMMY=y
CONFIG_IIO_SIMPLE_DUMMY_EVENTS=y
CONFIG_IIO_SIMPLE_DUMMY_BUFFER=y
# end of IIO dummy driver

#
# Filters
#
CONFIG_ADMV8818=y
# end of Filters

#
# Frequency Synthesizers DDS/PLL
#

#
# Clock Generator/Distribution
#
CONFIG_AD9523=y
# end of Clock Generator/Distribution

#
# Phase-Locked Loop (PLL) frequency synthesizers
#
CONFIG_ADF4350=y
CONFIG_ADF4371=y
CONFIG_ADMV1013=y
CONFIG_ADMV1014=y
CONFIG_ADMV4420=y
CONFIG_ADRF6780=y
# end of Phase-Locked Loop (PLL) frequency synthesizers
# end of Frequency Synthesizers DDS/PLL

#
# Digital gyroscope sensors
#
CONFIG_ADIS16080=y
CONFIG_ADIS16130=y
CONFIG_ADIS16136=y
CONFIG_ADIS16260=y
CONFIG_ADXRS290=y
CONFIG_ADXRS450=y
CONFIG_BMG160=y
CONFIG_BMG160_I2C=y
CONFIG_BMG160_SPI=y
CONFIG_FXAS21002C=y
CONFIG_FXAS21002C_I2C=y
CONFIG_FXAS21002C_SPI=y
CONFIG_HID_SENSOR_GYRO_3D=y
CONFIG_MPU3050=y
CONFIG_MPU3050_I2C=y
CONFIG_IIO_ST_GYRO_3AXIS=y
CONFIG_IIO_ST_GYRO_I2C_3AXIS=y
CONFIG_IIO_ST_GYRO_SPI_3AXIS=y
CONFIG_ITG3200=y
# end of Digital gyroscope sensors

#
# Health Sensors
#

#
# Heart Rate Monitors
#
CONFIG_AFE4403=y
CONFIG_AFE4404=y
CONFIG_MAX30100=y
CONFIG_MAX30102=y
# end of Heart Rate Monitors
# end of Health Sensors

#
# Humidity sensors
#
CONFIG_AM2315=y
CONFIG_DHT11=y
CONFIG_HDC100X=y
CONFIG_HDC2010=y
CONFIG_HID_SENSOR_HUMIDITY=y
CONFIG_HTS221=y
CONFIG_HTS221_I2C=y
CONFIG_HTS221_SPI=y
CONFIG_HTU21=y
CONFIG_SI7005=y
CONFIG_SI7020=y
# end of Humidity sensors

#
# Inertial measurement units
#
CONFIG_ADIS16400=y
CONFIG_ADIS16460=y
CONFIG_ADIS16475=y
CONFIG_ADIS16480=y
CONFIG_BMI160=y
CONFIG_BMI160_I2C=y
CONFIG_BMI160_SPI=y
CONFIG_BOSCH_BNO055=y
CONFIG_BOSCH_BNO055_SERIAL=y
CONFIG_BOSCH_BNO055_I2C=y
CONFIG_FXOS8700=y
CONFIG_FXOS8700_I2C=y
CONFIG_FXOS8700_SPI=y
CONFIG_KMX61=y
CONFIG_INV_ICM42600=y
CONFIG_INV_ICM42600_I2C=y
CONFIG_INV_ICM42600_SPI=y
CONFIG_INV_MPU6050_IIO=y
CONFIG_INV_MPU6050_I2C=y
CONFIG_INV_MPU6050_SPI=y
CONFIG_IIO_ST_LSM6DSX=y
CONFIG_IIO_ST_LSM6DSX_I2C=y
CONFIG_IIO_ST_LSM6DSX_SPI=y
CONFIG_IIO_ST_LSM6DSX_I3C=y
# end of Inertial measurement units

CONFIG_IIO_ADIS_LIB=y
CONFIG_IIO_ADIS_LIB_BUFFER=y

#
# Light sensors
#
CONFIG_ACPI_ALS=y
CONFIG_ADJD_S311=y
CONFIG_ADUX1020=y
CONFIG_AL3010=y
CONFIG_AL3320A=y
CONFIG_APDS9300=y
CONFIG_APDS9960=y
CONFIG_AS73211=y
CONFIG_BH1750=y
CONFIG_BH1780=y
CONFIG_CM32181=y
CONFIG_CM3232=y
CONFIG_CM3323=y
CONFIG_CM3605=y
CONFIG_CM36651=y
CONFIG_IIO_CROS_EC_LIGHT_PROX=y
CONFIG_GP2AP002=y
CONFIG_GP2AP020A00F=y
CONFIG_IQS621_ALS=y
CONFIG_SENSORS_ISL29018=y
CONFIG_SENSORS_ISL29028=y
CONFIG_ISL29125=y
CONFIG_HID_SENSOR_ALS=y
CONFIG_HID_SENSOR_PROX=y
CONFIG_JSA1212=y
CONFIG_RPR0521=y
CONFIG_SENSORS_LM3533=y
CONFIG_LTR501=y
CONFIG_LTRF216A=y
CONFIG_LV0104CS=y
CONFIG_MAX44000=y
CONFIG_MAX44009=y
CONFIG_NOA1305=y
CONFIG_OPT3001=y
CONFIG_PA12203001=y
CONFIG_SI1133=y
CONFIG_SI1145=y
CONFIG_STK3310=y
CONFIG_ST_UVIS25=y
CONFIG_ST_UVIS25_I2C=y
CONFIG_ST_UVIS25_SPI=y
CONFIG_TCS3414=y
CONFIG_TCS3472=y
CONFIG_SENSORS_TSL2563=y
CONFIG_TSL2583=y
CONFIG_TSL2591=y
CONFIG_TSL2772=y
CONFIG_TSL4531=y
CONFIG_US5182D=y
CONFIG_VCNL4000=y
CONFIG_VCNL4035=y
CONFIG_VEML6030=y
CONFIG_VEML6070=y
CONFIG_VL6180=y
CONFIG_ZOPT2201=y
# end of Light sensors

#
# Magnetometer sensors
#
CONFIG_AK8974=y
CONFIG_AK8975=y
CONFIG_AK09911=y
CONFIG_BMC150_MAGN=y
CONFIG_BMC150_MAGN_I2C=y
CONFIG_BMC150_MAGN_SPI=y
CONFIG_MAG3110=y
CONFIG_HID_SENSOR_MAGNETOMETER_3D=y
CONFIG_MMC35240=y
CONFIG_IIO_ST_MAGN_3AXIS=y
CONFIG_IIO_ST_MAGN_I2C_3AXIS=y
CONFIG_IIO_ST_MAGN_SPI_3AXIS=y
CONFIG_SENSORS_HMC5843=y
CONFIG_SENSORS_HMC5843_I2C=y
CONFIG_SENSORS_HMC5843_SPI=y
CONFIG_SENSORS_RM3100=y
CONFIG_SENSORS_RM3100_I2C=y
CONFIG_SENSORS_RM3100_SPI=y
CONFIG_YAMAHA_YAS530=y
# end of Magnetometer sensors

#
# Multiplexers
#
CONFIG_IIO_MUX=y
# end of Multiplexers

#
# Inclinometer sensors
#
CONFIG_HID_SENSOR_INCLINOMETER_3D=y
CONFIG_HID_SENSOR_DEVICE_ROTATION=y
# end of Inclinometer sensors

CONFIG_IIO_RESCALE_KUNIT_TEST=y
CONFIG_IIO_FORMAT_KUNIT_TEST=y

#
# Triggers - standalone
#
CONFIG_IIO_HRTIMER_TRIGGER=y
CONFIG_IIO_INTERRUPT_TRIGGER=y
CONFIG_IIO_TIGHTLOOP_TRIGGER=y
CONFIG_IIO_SYSFS_TRIGGER=y
# end of Triggers - standalone

#
# Linear and angular position sensors
#
CONFIG_IQS624_POS=y
CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE=y
# end of Linear and angular position sensors

#
# Digital potentiometers
#
CONFIG_AD5110=y
CONFIG_AD5272=y
CONFIG_DS1803=y
CONFIG_MAX5432=y
CONFIG_MAX5481=y
CONFIG_MAX5487=y
CONFIG_MCP4018=y
CONFIG_MCP4131=y
CONFIG_MCP4531=y
CONFIG_MCP41010=y
CONFIG_TPL0102=y
# end of Digital potentiometers

#
# Digital potentiostats
#
CONFIG_LMP91000=y
# end of Digital potentiostats

#
# Pressure sensors
#
CONFIG_ABP060MG=y
CONFIG_BMP280=y
CONFIG_BMP280_I2C=y
CONFIG_BMP280_SPI=y
CONFIG_IIO_CROS_EC_BARO=y
CONFIG_DLHL60D=y
CONFIG_DPS310=y
CONFIG_HID_SENSOR_PRESS=y
CONFIG_HP03=y
CONFIG_ICP10100=y
CONFIG_MPL115=y
CONFIG_MPL115_I2C=y
CONFIG_MPL115_SPI=y
CONFIG_MPL3115=y
CONFIG_MS5611=y
CONFIG_MS5611_I2C=y
CONFIG_MS5611_SPI=y
CONFIG_MS5637=y
CONFIG_IIO_ST_PRESS=y
CONFIG_IIO_ST_PRESS_I2C=y
CONFIG_IIO_ST_PRESS_SPI=y
CONFIG_T5403=y
CONFIG_HP206C=y
CONFIG_ZPA2326=y
CONFIG_ZPA2326_I2C=y
CONFIG_ZPA2326_SPI=y
# end of Pressure sensors

#
# Lightning sensors
#
CONFIG_AS3935=y
# end of Lightning sensors

#
# Proximity and distance sensors
#
CONFIG_CROS_EC_MKBP_PROXIMITY=y
CONFIG_ISL29501=y
CONFIG_LIDAR_LITE_V2=y
CONFIG_MB1232=y
CONFIG_PING=y
CONFIG_RFD77402=y
CONFIG_SRF04=y
CONFIG_SX_COMMON=y
CONFIG_SX9310=y
CONFIG_SX9324=y
CONFIG_SX9360=y
CONFIG_SX9500=y
CONFIG_SRF08=y
CONFIG_VCNL3020=y
CONFIG_VL53L0X_I2C=y
# end of Proximity and distance sensors

#
# Resolver to digital converters
#
CONFIG_AD2S90=y
CONFIG_AD2S1200=y
# end of Resolver to digital converters

#
# Temperature sensors
#
CONFIG_IQS620AT_TEMP=y
CONFIG_LTC2983=y
CONFIG_MAXIM_THERMOCOUPLE=y
CONFIG_HID_SENSOR_TEMP=y
CONFIG_MLX90614=y
CONFIG_MLX90632=y
CONFIG_TMP006=y
CONFIG_TMP007=y
CONFIG_TMP117=y
CONFIG_TSYS01=y
CONFIG_TSYS02D=y
CONFIG_MAX31856=y
CONFIG_MAX31865=y
# end of Temperature sensors

CONFIG_NTB=y
CONFIG_NTB_MSI=y
CONFIG_NTB_AMD=y
CONFIG_NTB_IDT=y
CONFIG_NTB_INTEL=y
CONFIG_NTB_EPF=m
CONFIG_NTB_SWITCHTEC=y
CONFIG_NTB_PINGPONG=y
CONFIG_NTB_TOOL=y
CONFIG_NTB_PERF=y
CONFIG_NTB_MSI_TEST=y
CONFIG_NTB_TRANSPORT=y
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
CONFIG_PWM_DEBUG=y
CONFIG_PWM_ATMEL_HLCDC_PWM=y
CONFIG_PWM_ATMEL_TCB=y
CONFIG_PWM_CLK=y
CONFIG_PWM_CRC=y
CONFIG_PWM_CROS_EC=y
CONFIG_PWM_DWC=y
CONFIG_PWM_FSL_FTM=y
CONFIG_PWM_INTEL_LGM=y
CONFIG_PWM_IQS620A=y
CONFIG_PWM_LP3943=y
CONFIG_PWM_LPSS=y
CONFIG_PWM_LPSS_PCI=y
CONFIG_PWM_LPSS_PLATFORM=y
CONFIG_PWM_NTXEC=y
CONFIG_PWM_PCA9685=y
CONFIG_PWM_STMPE=y
CONFIG_PWM_TWL=y
CONFIG_PWM_TWL_LED=y
CONFIG_PWM_XILINX=y

#
# IRQ chip support
#
CONFIG_IRQCHIP=y
CONFIG_AL_FIC=y
CONFIG_MADERA_IRQ=y
CONFIG_XILINX_INTC=y
# end of IRQ chip support

CONFIG_IPACK_BUS=y
CONFIG_BOARD_TPCI200=y
CONFIG_SERIAL_IPOCTAL=y
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_INTEL_GW=y
CONFIG_RESET_SIMPLE=y
CONFIG_RESET_TI_SYSCON=y
CONFIG_RESET_TI_TPS380X=y

#
# PHY Subsystem
#
CONFIG_GENERIC_PHY=y
CONFIG_GENERIC_PHY_MIPI_DPHY=y
CONFIG_USB_LGM_PHY=y
CONFIG_PHY_CAN_TRANSCEIVER=y

#
# PHY drivers for Broadcom platforms
#
CONFIG_BCM_KONA_USB2_PHY=y
# end of PHY drivers for Broadcom platforms

CONFIG_PHY_CADENCE_TORRENT=y
CONFIG_PHY_CADENCE_DPHY=y
CONFIG_PHY_CADENCE_DPHY_RX=y
CONFIG_PHY_CADENCE_SIERRA=y
CONFIG_PHY_CADENCE_SALVO=y
CONFIG_PHY_PXA_28NM_HSIC=y
CONFIG_PHY_PXA_28NM_USB2=y
CONFIG_PHY_LAN966X_SERDES=y
CONFIG_PHY_CPCAP_USB=y
CONFIG_PHY_MAPPHONE_MDM6600=y
CONFIG_PHY_OCELOT_SERDES=y
CONFIG_PHY_QCOM_USB_HS=y
CONFIG_PHY_QCOM_USB_HSIC=y
CONFIG_PHY_SAMSUNG_USB2=y
CONFIG_PHY_TUSB1210=y
CONFIG_PHY_INTEL_LGM_COMBO=y
CONFIG_PHY_INTEL_LGM_EMMC=y
# end of PHY Subsystem

CONFIG_POWERCAP=y
CONFIG_INTEL_RAPL_CORE=y
CONFIG_INTEL_RAPL=y
CONFIG_IDLE_INJECT=y
CONFIG_DTPM=y
CONFIG_DTPM_CPU=y
CONFIG_DTPM_DEVFREQ=y
CONFIG_MCB=y
CONFIG_MCB_PCI=y
CONFIG_MCB_LPC=y

#
# Performance monitor support
#
# end of Performance monitor support

CONFIG_RAS=y
CONFIG_RAS_CEC=y
CONFIG_RAS_CEC_DEBUG=y
CONFIG_USB4=y
CONFIG_USB4_DEBUGFS_WRITE=y
CONFIG_USB4_DEBUGFS_MARGINING=y
CONFIG_USB4_KUNIT_TEST=y
CONFIG_USB4_DMA_TEST=y

#
# Android
#
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
CONFIG_ANDROID_BINDER_IPC_SELFTEST=y
# end of Android

CONFIG_LIBNVDIMM=y
CONFIG_BLK_DEV_PMEM=y
CONFIG_ND_CLAIM=y
CONFIG_ND_BTT=y
CONFIG_BTT=y
CONFIG_ND_PFN=y
CONFIG_NVDIMM_PFN=y
CONFIG_NVDIMM_DAX=y
CONFIG_OF_PMEM=y
CONFIG_NVDIMM_KEYS=y
CONFIG_DAX=y
CONFIG_DEV_DAX=y
CONFIG_DEV_DAX_PMEM=y
CONFIG_DEV_DAX_HMEM=y
CONFIG_DEV_DAX_HMEM_DEVICES=y
CONFIG_DEV_DAX_KMEM=y
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
CONFIG_NVMEM_RAVE_SP_EEPROM=y
CONFIG_NVMEM_RMEM=y
CONFIG_NVMEM_SPMI_SDAM=y
CONFIG_NVMEM_U_BOOT_ENV=y

#
# HW tracing support
#
CONFIG_STM=y
CONFIG_STM_PROTO_BASIC=y
CONFIG_STM_PROTO_SYS_T=y
CONFIG_STM_DUMMY=y
CONFIG_STM_SOURCE_CONSOLE=y
CONFIG_STM_SOURCE_HEARTBEAT=y
CONFIG_STM_SOURCE_FTRACE=y
CONFIG_INTEL_TH=y
CONFIG_INTEL_TH_PCI=y
CONFIG_INTEL_TH_ACPI=y
CONFIG_INTEL_TH_GTH=y
CONFIG_INTEL_TH_STH=y
CONFIG_INTEL_TH_MSU=y
CONFIG_INTEL_TH_PTI=y
CONFIG_INTEL_TH_DEBUG=y
# end of HW tracing support

CONFIG_FPGA=y
CONFIG_ALTERA_PR_IP_CORE=y
CONFIG_ALTERA_PR_IP_CORE_PLAT=y
CONFIG_FPGA_MGR_ALTERA_PS_SPI=y
CONFIG_FPGA_MGR_ALTERA_CVP=y
CONFIG_FPGA_MGR_XILINX_SPI=y
CONFIG_FPGA_MGR_ICE40_SPI=y
CONFIG_FPGA_MGR_MACHXO2_SPI=y
CONFIG_FPGA_BRIDGE=y
CONFIG_ALTERA_FREEZE_BRIDGE=y
CONFIG_XILINX_PR_DECOUPLER=y
CONFIG_FPGA_REGION=y
CONFIG_OF_FPGA_REGION=y
CONFIG_FPGA_DFL=y
CONFIG_FPGA_DFL_FME=y
CONFIG_FPGA_DFL_FME_MGR=y
CONFIG_FPGA_DFL_FME_BRIDGE=y
CONFIG_FPGA_DFL_FME_REGION=y
CONFIG_FPGA_DFL_AFU=y
CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000=y
CONFIG_FPGA_DFL_PCI=y
CONFIG_FPGA_M10_BMC_SEC_UPDATE=y
CONFIG_FPGA_MGR_MICROCHIP_SPI=y
CONFIG_FSI=y
CONFIG_FSI_NEW_DEV_NODE=y
CONFIG_FSI_MASTER_GPIO=y
CONFIG_FSI_MASTER_HUB=y
CONFIG_FSI_MASTER_ASPEED=y
CONFIG_FSI_SCOM=y
CONFIG_FSI_SBEFIFO=y
CONFIG_FSI_OCC=y
CONFIG_TEE=y
CONFIG_AMDTEE=y
CONFIG_MULTIPLEXER=y

#
# Multiplexer drivers
#
CONFIG_MUX_ADG792A=y
CONFIG_MUX_ADGS1408=y
CONFIG_MUX_GPIO=y
CONFIG_MUX_MMIO=y
# end of Multiplexer drivers

CONFIG_PM_OPP=y
CONFIG_SIOX=y
CONFIG_SIOX_BUS_GPIO=y
CONFIG_SLIMBUS=y
CONFIG_SLIM_QCOM_CTRL=y
CONFIG_INTERCONNECT=y
CONFIG_COUNTER=y
CONFIG_104_QUAD_8=y
CONFIG_INTERRUPT_CNT=y
CONFIG_FTM_QUADDEC=y
CONFIG_MICROCHIP_TCB_CAPTURE=y
CONFIG_INTEL_QEP=y
CONFIG_MOST=y
CONFIG_MOST_USB_HDM=y
CONFIG_MOST_CDEV=y
CONFIG_MOST_SND=y
CONFIG_PECI=y
CONFIG_PECI_CPU=y
CONFIG_HTE=y
# end of Device Drivers

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_VALIDATE_FS_PARSER=y
CONFIG_FS_IOMAP=y
CONFIG_EXT2_FS=y
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
CONFIG_EXT3_FS=y
CONFIG_EXT3_FS_POSIX_ACL=y
CONFIG_EXT3_FS_SECURITY=y
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_DEBUG=y
CONFIG_EXT4_KUNIT_TESTS=y
CONFIG_JBD2=y
CONFIG_JBD2_DEBUG=y
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=y
CONFIG_REISERFS_CHECK=y
CONFIG_REISERFS_PROC_INFO=y
CONFIG_REISERFS_FS_XATTR=y
CONFIG_REISERFS_FS_POSIX_ACL=y
CONFIG_REISERFS_FS_SECURITY=y
CONFIG_JFS_FS=y
CONFIG_JFS_POSIX_ACL=y
CONFIG_JFS_SECURITY=y
CONFIG_JFS_DEBUG=y
CONFIG_JFS_STATISTICS=y
CONFIG_XFS_FS=y
CONFIG_XFS_SUPPORT_V4=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_ONLINE_REPAIR=y
CONFIG_XFS_DEBUG=y
CONFIG_XFS_ASSERT_FATAL=y
CONFIG_GFS2_FS=y
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=y
CONFIG_OCFS2_FS_O2CB=y
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=y
CONFIG_OCFS2_FS_STATS=y
CONFIG_OCFS2_DEBUG_MASKLOG=y
CONFIG_OCFS2_DEBUG_FS=y
CONFIG_BTRFS_FS=y
CONFIG_BTRFS_FS_POSIX_ACL=y
CONFIG_BTRFS_FS_CHECK_INTEGRITY=y
CONFIG_BTRFS_FS_RUN_SANITY_TESTS=y
CONFIG_BTRFS_DEBUG=y
CONFIG_BTRFS_ASSERT=y
CONFIG_BTRFS_FS_REF_VERIFY=y
CONFIG_NILFS2_FS=y
CONFIG_F2FS_FS=y
CONFIG_F2FS_STAT_FS=y
CONFIG_F2FS_FS_XATTR=y
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
CONFIG_F2FS_CHECK_FS=y
CONFIG_F2FS_FAULT_INJECTION=y
CONFIG_F2FS_FS_COMPRESSION=y
CONFIG_F2FS_FS_LZO=y
CONFIG_F2FS_FS_LZORLE=y
CONFIG_F2FS_FS_LZ4=y
CONFIG_F2FS_FS_LZ4HC=y
CONFIG_F2FS_FS_ZSTD=y
CONFIG_F2FS_IOSTAT=y
CONFIG_F2FS_UNFAIR_RWSEM=y
CONFIG_ZONEFS_FS=y
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_EXPORTFS_BLOCK_OPS=y
CONFIG_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_ENCRYPTION_ALGS=y
CONFIG_FS_ENCRYPTION_INLINE_CRYPT=y
CONFIG_FS_VERITY=y
CONFIG_FS_VERITY_DEBUG=y
CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
CONFIG_QUOTA_DEBUG=y
CONFIG_QUOTA_TREE=y
CONFIG_QFMT_V1=y
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=y
CONFIG_CUSE=y
CONFIG_VIRTIO_FS=y
CONFIG_FUSE_DAX=y
CONFIG_OVERLAY_FS=y
CONFIG_OVERLAY_FS_REDIRECT_DIR=y
CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
CONFIG_OVERLAY_FS_INDEX=y
CONFIG_OVERLAY_FS_XINO_AUTO=y
CONFIG_OVERLAY_FS_METACOPY=y

#
# Caches
#
CONFIG_NETFS_SUPPORT=y
CONFIG_NETFS_STATS=y
CONFIG_FSCACHE=y
CONFIG_FSCACHE_STATS=y
CONFIG_FSCACHE_DEBUG=y
CONFIG_CACHEFILES=y
CONFIG_CACHEFILES_DEBUG=y
CONFIG_CACHEFILES_ERROR_INJECTION=y
CONFIG_CACHEFILES_ONDEMAND=y
# end of Caches

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=y
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=y
# end of CD-ROM/DVD Filesystems

#
# DOS/FAT/EXFAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
CONFIG_FAT_DEFAULT_UTF8=y
CONFIG_FAT_KUNIT_TEST=y
CONFIG_EXFAT_FS=y
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS_FS=y
CONFIG_NTFS_DEBUG=y
CONFIG_NTFS_RW=y
CONFIG_NTFS3_FS=y
CONFIG_NTFS3_64BIT_CLUSTER=y
CONFIG_NTFS3_LZX_XPRESS=y
CONFIG_NTFS3_FS_POSIX_ACL=y
# end of DOS/FAT/EXFAT/NT Filesystems

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
CONFIG_PROC_VMCORE_DEVICE_DUMP=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_CHILDREN=y
CONFIG_PROC_PID_ARCH_STATUS=y
CONFIG_PROC_CPU_RESCTRL=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
CONFIG_TMPFS_INODE64=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON=y
CONFIG_MEMFD_CREATE=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=y
CONFIG_EFIVAR_FS=y
# end of Pseudo filesystems

CONFIG_MISC_FILESYSTEMS=y
CONFIG_ORANGEFS_FS=y
CONFIG_ADFS_FS=y
CONFIG_ADFS_FS_RW=y
CONFIG_AFFS_FS=y
CONFIG_ECRYPT_FS=y
CONFIG_ECRYPT_FS_MESSAGING=y
CONFIG_HFS_FS=y
CONFIG_HFSPLUS_FS=y
CONFIG_BEFS_FS=y
CONFIG_BEFS_DEBUG=y
CONFIG_BFS_FS=y
CONFIG_EFS_FS=y
CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
CONFIG_JFFS2_FS_WBUF_VERIFY=y
CONFIG_JFFS2_SUMMARY=y
CONFIG_JFFS2_FS_XATTR=y
CONFIG_JFFS2_FS_POSIX_ACL=y
CONFIG_JFFS2_FS_SECURITY=y
CONFIG_JFFS2_COMPRESSION_OPTIONS=y
CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_LZO=y
CONFIG_JFFS2_RTIME=y
CONFIG_JFFS2_RUBIN=y
# CONFIG_JFFS2_CMODE_NONE is not set
CONFIG_JFFS2_CMODE_PRIORITY=y
# CONFIG_JFFS2_CMODE_SIZE is not set
# CONFIG_JFFS2_CMODE_FAVOURLZO is not set
CONFIG_UBIFS_FS=y
CONFIG_UBIFS_FS_ADVANCED_COMPR=y
CONFIG_UBIFS_FS_LZO=y
CONFIG_UBIFS_FS_ZLIB=y
CONFIG_UBIFS_FS_ZSTD=y
CONFIG_UBIFS_ATIME_SUPPORT=y
CONFIG_UBIFS_FS_XATTR=y
CONFIG_UBIFS_FS_SECURITY=y
CONFIG_UBIFS_FS_AUTHENTICATION=y
CONFIG_CRAMFS=y
CONFIG_CRAMFS_BLOCKDEV=y
CONFIG_CRAMFS_MTD=y
CONFIG_SQUASHFS=y
CONFIG_SQUASHFS_FILE_CACHE=y
# CONFIG_SQUASHFS_FILE_DIRECT is not set
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
CONFIG_SQUASHFS_LZ4=y
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
CONFIG_SQUASHFS_ZSTD=y
CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
CONFIG_SQUASHFS_EMBEDDED=y
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
CONFIG_VXFS_FS=y
CONFIG_MINIX_FS=y
CONFIG_OMFS_FS=y
CONFIG_HPFS_FS=y
CONFIG_QNX4FS_FS=y
CONFIG_QNX6FS_FS=y
CONFIG_QNX6FS_DEBUG=y
CONFIG_ROMFS_FS=y
CONFIG_ROMFS_BACKED_BY_BLOCK=y
# CONFIG_ROMFS_BACKED_BY_MTD is not set
# CONFIG_ROMFS_BACKED_BY_BOTH is not set
CONFIG_ROMFS_ON_BLOCK=y
CONFIG_PSTORE=y
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS=y
CONFIG_PSTORE_LZO_COMPRESS=y
CONFIG_PSTORE_LZ4_COMPRESS=y
CONFIG_PSTORE_LZ4HC_COMPRESS=y
CONFIG_PSTORE_842_COMPRESS=y
CONFIG_PSTORE_ZSTD_COMPRESS=y
CONFIG_PSTORE_COMPRESS=y
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
# CONFIG_PSTORE_LZO_COMPRESS_DEFAULT is not set
# CONFIG_PSTORE_LZ4_COMPRESS_DEFAULT is not set
# CONFIG_PSTORE_LZ4HC_COMPRESS_DEFAULT is not set
# CONFIG_PSTORE_842_COMPRESS_DEFAULT is not set
# CONFIG_PSTORE_ZSTD_COMPRESS_DEFAULT is not set
CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
CONFIG_PSTORE_CONSOLE=y
CONFIG_PSTORE_PMSG=y
CONFIG_PSTORE_FTRACE=y
CONFIG_PSTORE_RAM=y
CONFIG_PSTORE_ZONE=y
CONFIG_PSTORE_BLK=y
CONFIG_PSTORE_BLK_BLKDEV=""
CONFIG_PSTORE_BLK_KMSG_SIZE=64
CONFIG_PSTORE_BLK_MAX_REASON=2
CONFIG_PSTORE_BLK_PMSG_SIZE=64
CONFIG_PSTORE_BLK_CONSOLE_SIZE=64
CONFIG_PSTORE_BLK_FTRACE_SIZE=64
CONFIG_SYSV_FS=y
CONFIG_UFS_FS=y
CONFIG_UFS_FS_WRITE=y
CONFIG_UFS_DEBUG=y
CONFIG_EROFS_FS=y
CONFIG_EROFS_FS_DEBUG=y
CONFIG_EROFS_FS_XATTR=y
CONFIG_EROFS_FS_POSIX_ACL=y
CONFIG_EROFS_FS_SECURITY=y
CONFIG_EROFS_FS_ZIP=y
CONFIG_EROFS_FS_ZIP_LZMA=y
CONFIG_EROFS_FS_ONDEMAND=y
CONFIG_VBOXSF_FS=y
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V2=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_SWAP=y
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=y
CONFIG_PNFS_BLOCK=y
CONFIG_PNFS_FLEXFILE_LAYOUT=y
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
CONFIG_NFS_V4_1_MIGRATION=y
CONFIG_NFS_V4_SECURITY_LABEL=y
CONFIG_ROOT_NFS=y
CONFIG_NFS_FSCACHE=y
CONFIG_NFS_USE_LEGACY_DNS=y
CONFIG_NFS_DEBUG=y
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
CONFIG_NFS_V4_2_READ_PLUS=y
CONFIG_NFSD=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_PNFS=y
CONFIG_NFSD_BLOCKLAYOUT=y
CONFIG_NFSD_SCSILAYOUT=y
CONFIG_NFSD_FLEXFILELAYOUT=y
CONFIG_NFSD_V4_2_INTER_SSC=y
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_GRACE_PERIOD=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_NFS_V4_2_SSC_HELPER=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_SUNRPC_SWAP=y
CONFIG_RPCSEC_GSS_KRB5=y
CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES=y
CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_XPRT_RDMA=y
CONFIG_CEPH_FS=y
CONFIG_CEPH_FSCACHE=y
CONFIG_CEPH_FS_POSIX_ACL=y
CONFIG_CEPH_FS_SECURITY_LABEL=y
CONFIG_CIFS=y
CONFIG_CIFS_STATS2=y
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DEBUG=y
CONFIG_CIFS_DEBUG2=y
CONFIG_CIFS_DEBUG_DUMP_KEYS=y
CONFIG_CIFS_DFS_UPCALL=y
CONFIG_CIFS_SWN_UPCALL=y
CONFIG_CIFS_SMB_DIRECT=y
CONFIG_CIFS_FSCACHE=y
CONFIG_CIFS_ROOT=y
CONFIG_SMB_SERVER=y
CONFIG_SMB_SERVER_SMBDIRECT=y
CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
CONFIG_SMB_SERVER_KERBEROS5=y
CONFIG_SMBFS_COMMON=y
CONFIG_CODA_FS=y
CONFIG_AFS_FS=y
CONFIG_AFS_DEBUG=y
CONFIG_AFS_FSCACHE=y
CONFIG_AFS_DEBUG_CURSOR=y
CONFIG_9P_FS=y
CONFIG_9P_FSCACHE=y
CONFIG_9P_FS_POSIX_ACL=y
CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="iso8859-1"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=y
CONFIG_NLS_CODEPAGE_775=y
CONFIG_NLS_CODEPAGE_850=y
CONFIG_NLS_CODEPAGE_852=y
CONFIG_NLS_CODEPAGE_855=y
CONFIG_NLS_CODEPAGE_857=y
CONFIG_NLS_CODEPAGE_860=y
CONFIG_NLS_CODEPAGE_861=y
CONFIG_NLS_CODEPAGE_862=y
CONFIG_NLS_CODEPAGE_863=y
CONFIG_NLS_CODEPAGE_864=y
CONFIG_NLS_CODEPAGE_865=y
CONFIG_NLS_CODEPAGE_866=y
CONFIG_NLS_CODEPAGE_869=y
CONFIG_NLS_CODEPAGE_936=y
CONFIG_NLS_CODEPAGE_950=y
CONFIG_NLS_CODEPAGE_932=y
CONFIG_NLS_CODEPAGE_949=y
CONFIG_NLS_CODEPAGE_874=y
CONFIG_NLS_ISO8859_8=y
CONFIG_NLS_CODEPAGE_1250=y
CONFIG_NLS_CODEPAGE_1251=y
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NLS_ISO8859_2=y
CONFIG_NLS_ISO8859_3=y
CONFIG_NLS_ISO8859_4=y
CONFIG_NLS_ISO8859_5=y
CONFIG_NLS_ISO8859_6=y
CONFIG_NLS_ISO8859_7=y
CONFIG_NLS_ISO8859_9=y
CONFIG_NLS_ISO8859_13=y
CONFIG_NLS_ISO8859_14=y
CONFIG_NLS_ISO8859_15=y
CONFIG_NLS_KOI8_R=y
CONFIG_NLS_KOI8_U=y
CONFIG_NLS_MAC_ROMAN=y
CONFIG_NLS_MAC_CELTIC=y
CONFIG_NLS_MAC_CENTEURO=y
CONFIG_NLS_MAC_CROATIAN=y
CONFIG_NLS_MAC_CYRILLIC=y
CONFIG_NLS_MAC_GAELIC=y
CONFIG_NLS_MAC_GREEK=y
CONFIG_NLS_MAC_ICELAND=y
CONFIG_NLS_MAC_INUIT=y
CONFIG_NLS_MAC_ROMANIAN=y
CONFIG_NLS_MAC_TURKISH=y
CONFIG_NLS_UTF8=y
CONFIG_DLM=y
CONFIG_DLM_DEPRECATED_API=y
CONFIG_DLM_DEBUG=y
CONFIG_UNICODE=y
CONFIG_UNICODE_NORMALIZATION_SELFTEST=y
CONFIG_IO_WQ=y
# end of File systems

#
# Security options
#
CONFIG_KEYS=y
CONFIG_KEYS_REQUEST_CACHE=y
CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_BIG_KEYS=y
CONFIG_TRUSTED_KEYS=y
CONFIG_TRUSTED_KEYS_TPM=y
CONFIG_TRUSTED_KEYS_TEE=y
CONFIG_ENCRYPTED_KEYS=y
CONFIG_USER_DECRYPTED_DATA=y
CONFIG_KEY_DH_OPERATIONS=y
CONFIG_KEY_NOTIFICATIONS=y
CONFIG_SECURITY_DMESG_RESTRICT=y
CONFIG_SECURITY=y
CONFIG_SECURITY_WRITABLE_HOOKS=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
CONFIG_SECURITY_INFINIBAND=y
CONFIG_SECURITY_NETWORK_XFRM=y
CONFIG_SECURITY_PATH=y
CONFIG_INTEL_TXT=y
CONFIG_LSM_MMAP_MIN_ADDR=65536
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_FORTIFY_SOURCE=y
CONFIG_STATIC_USERMODEHELPER=y
CONFIG_STATIC_USERMODEHELPER_PATH="/sbin/usermode-helper"
CONFIG_SECURITY_SELINUX=y
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
CONFIG_SECURITY_SELINUX_DISABLE=y
CONFIG_SECURITY_SELINUX_DEVELOP=y
CONFIG_SECURITY_SELINUX_AVC_STATS=y
CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0
CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
CONFIG_SECURITY_SMACK=y
CONFIG_SECURITY_SMACK_BRINGUP=y
CONFIG_SECURITY_SMACK_NETFILTER=y
CONFIG_SECURITY_SMACK_APPEND_SIGNALS=y
CONFIG_SECURITY_TOMOYO=y
CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER=y
CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING=y
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_DEBUG=y
CONFIG_SECURITY_APPARMOR_DEBUG_ASSERTS=y
CONFIG_SECURITY_APPARMOR_DEBUG_MESSAGES=y
CONFIG_SECURITY_APPARMOR_INTROSPECT_POLICY=y
CONFIG_SECURITY_APPARMOR_HASH=y
CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y
CONFIG_SECURITY_APPARMOR_EXPORT_BINARY=y
CONFIG_SECURITY_APPARMOR_PARANOID_LOAD=y
CONFIG_SECURITY_APPARMOR_KUNIT_TEST=y
CONFIG_SECURITY_LOADPIN=y
CONFIG_SECURITY_LOADPIN_ENFORCE=y
CONFIG_SECURITY_LOADPIN_VERITY=y
CONFIG_SECURITY_YAMA=y
CONFIG_SECURITY_SAFESETID=y
CONFIG_SECURITY_LOCKDOWN_LSM=y
CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set
CONFIG_SECURITY_LANDLOCK=y
CONFIG_INTEGRITY=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
CONFIG_INTEGRITY_TRUSTED_KEYRING=y
CONFIG_INTEGRITY_PLATFORM_KEYRING=y
CONFIG_LOAD_UEFI_KEYS=y
CONFIG_INTEGRITY_AUDIT=y
CONFIG_IMA=y
CONFIG_IMA_KEXEC=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_LSM_RULES=y
CONFIG_IMA_NG_TEMPLATE=y
# CONFIG_IMA_SIG_TEMPLATE is not set
CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng"
CONFIG_IMA_DEFAULT_HASH_SHA1=y
# CONFIG_IMA_DEFAULT_HASH_SHA256 is not set
# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set
# CONFIG_IMA_DEFAULT_HASH_WP512 is not set
# CONFIG_IMA_DEFAULT_HASH_SM3 is not set
CONFIG_IMA_DEFAULT_HASH="sha1"
CONFIG_IMA_WRITE_POLICY=y
CONFIG_IMA_READ_POLICY=y
CONFIG_IMA_APPRAISE=y
CONFIG_IMA_ARCH_POLICY=y
CONFIG_IMA_APPRAISE_BUILD_POLICY=y
CONFIG_IMA_APPRAISE_REQUIRE_FIRMWARE_SIGS=y
CONFIG_IMA_APPRAISE_REQUIRE_KEXEC_SIGS=y
CONFIG_IMA_APPRAISE_REQUIRE_MODULE_SIGS=y
CONFIG_IMA_APPRAISE_REQUIRE_POLICY_SIGS=y
CONFIG_IMA_APPRAISE_BOOTPARAM=y
CONFIG_IMA_APPRAISE_MODSIG=y
CONFIG_IMA_TRUSTED_KEYRING=y
CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY=y
CONFIG_IMA_BLACKLIST_KEYRING=y
CONFIG_IMA_LOAD_X509=y
CONFIG_IMA_X509_PATH="/etc/keys/x509_ima.der"
CONFIG_IMA_APPRAISE_SIGNED_INIT=y
CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y
CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y
CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT=y
CONFIG_IMA_DISABLE_HTABLE=y
CONFIG_EVM=y
CONFIG_EVM_ATTR_FSUUID=y
CONFIG_EVM_EXTRA_SMACK_XATTRS=y
CONFIG_EVM_ADD_XATTRS=y
CONFIG_EVM_LOAD_X509=y
CONFIG_EVM_X509_PATH="/etc/keys/x509_evm.der"
CONFIG_DEFAULT_SECURITY_SELINUX=y
# CONFIG_DEFAULT_SECURITY_SMACK is not set
# CONFIG_DEFAULT_SECURITY_TOMOYO is not set
# CONFIG_DEFAULT_SECURITY_APPARMOR is not set
# CONFIG_DEFAULT_SECURITY_DAC is not set
CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor,bpf"

#
# Kernel hardening options
#

#
# Memory initialization
#
CONFIG_INIT_STACK_NONE=y
# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
CONFIG_GCC_PLUGIN_STACKLEAK=y
# CONFIG_GCC_PLUGIN_STACKLEAK_VERBOSE is not set
CONFIG_STACKLEAK_TRACK_MIN_SIZE=100
CONFIG_STACKLEAK_METRICS=y
CONFIG_STACKLEAK_RUNTIME_DISABLE=y
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
CONFIG_INIT_ON_FREE_DEFAULT_ON=y
CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
CONFIG_ZERO_CALL_USED_REGS=y
# end of Memory initialization

# CONFIG_RANDSTRUCT_NONE is not set
CONFIG_RANDSTRUCT_FULL=y
# CONFIG_RANDSTRUCT_PERFORMANCE is not set
CONFIG_RANDSTRUCT=y
CONFIG_GCC_PLUGIN_RANDSTRUCT=y
# end of Kernel hardening options
# end of Security options

CONFIG_XOR_BLOCKS=y
CONFIG_ASYNC_CORE=y
CONFIG_ASYNC_MEMCPY=y
CONFIG_ASYNC_XOR=y
CONFIG_ASYNC_PQ=y
CONFIG_ASYNC_RAID6_RECOV=y
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_KPP=y
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=y
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_GF128MUL=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=y
CONFIG_CRYPTO_TEST=y
CONFIG_CRYPTO_SIMD=y
CONFIG_CRYPTO_ENGINE=y
# end of Crypto core or helper

#
# Public-key cryptography
#
CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_DH=y
CONFIG_CRYPTO_DH_RFC7919_GROUPS=y
CONFIG_CRYPTO_ECC=y
CONFIG_CRYPTO_ECDH=y
CONFIG_CRYPTO_ECDSA=y
CONFIG_CRYPTO_ECRDSA=y
CONFIG_CRYPTO_SM2=y
CONFIG_CRYPTO_CURVE25519=y
# end of Public-key cryptography

#
# Block ciphers
#
CONFIG_CRYPTO_AES=y
CONFIG_CRYPTO_AES_TI=y
CONFIG_CRYPTO_ANUBIS=y
CONFIG_CRYPTO_ARIA=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_BLOWFISH_COMMON=y
CONFIG_CRYPTO_CAMELLIA=y
CONFIG_CRYPTO_CAST_COMMON=y
CONFIG_CRYPTO_CAST5=y
CONFIG_CRYPTO_CAST6=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_FCRYPT=y
CONFIG_CRYPTO_KHAZAD=y
CONFIG_CRYPTO_SEED=y
CONFIG_CRYPTO_SERPENT=y
CONFIG_CRYPTO_SM4=y
CONFIG_CRYPTO_SM4_GENERIC=y
CONFIG_CRYPTO_TEA=y
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
# end of Block ciphers

#
# Length-preserving ciphers and modes
#
CONFIG_CRYPTO_ADIANTUM=y
CONFIG_CRYPTO_ARC4=y
CONFIG_CRYPTO_CHACHA20=y
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=y
CONFIG_CRYPTO_ECB=y
CONFIG_CRYPTO_HCTR2=y
CONFIG_CRYPTO_KEYWRAP=y
CONFIG_CRYPTO_LRW=y
CONFIG_CRYPTO_OFB=y
CONFIG_CRYPTO_PCBC=y
CONFIG_CRYPTO_XCTR=y
CONFIG_CRYPTO_XTS=y
CONFIG_CRYPTO_NHPOLY1305=y
# end of Length-preserving ciphers and modes

#
# AEAD (authenticated encryption with associated data) ciphers
#
CONFIG_CRYPTO_AEGIS128=y
CONFIG_CRYPTO_CHACHA20POLY1305=y
CONFIG_CRYPTO_CCM=y
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ECHAINIV=y
CONFIG_CRYPTO_ESSIV=y
# end of AEAD (authenticated encryption with associated data) ciphers

#
# Hashes, digests, and MACs
#
CONFIG_CRYPTO_BLAKE2B=y
CONFIG_CRYPTO_CMAC=y
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD4=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=y
CONFIG_CRYPTO_POLYVAL=y
CONFIG_CRYPTO_POLY1305=y
CONFIG_CRYPTO_RMD160=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=y
CONFIG_CRYPTO_SM3=y
CONFIG_CRYPTO_SM3_GENERIC=y
CONFIG_CRYPTO_STREEBOG=y
CONFIG_CRYPTO_VMAC=y
CONFIG_CRYPTO_WP512=y
CONFIG_CRYPTO_XCBC=y
CONFIG_CRYPTO_XXHASH=y
# end of Hashes, digests, and MACs

#
# CRCs (cyclic redundancy checks)
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=y
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRC64_ROCKSOFT=y
# end of CRCs (cyclic redundancy checks)

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
CONFIG_CRYPTO_842=y
CONFIG_CRYPTO_LZ4=y
CONFIG_CRYPTO_LZ4HC=y
CONFIG_CRYPTO_ZSTD=y
# end of Compression

#
# Random number generation
#
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_JITTERENTROPY=y
CONFIG_CRYPTO_KDF800108_CTR=y
# end of Random number generation

#
# Userspace interface
#
CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=y
CONFIG_CRYPTO_USER_API_RNG=y
CONFIG_CRYPTO_USER_API_RNG_CAVP=y
CONFIG_CRYPTO_USER_API_AEAD=y
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
CONFIG_CRYPTO_STATS=y
# end of Userspace interface

CONFIG_CRYPTO_HASH_INFO=y

#
# Accelerated Cryptographic Algorithms for CPU (x86)
#
CONFIG_CRYPTO_CURVE25519_X86=y
CONFIG_CRYPTO_AES_NI_INTEL=y
CONFIG_CRYPTO_BLOWFISH_X86_64=y
CONFIG_CRYPTO_CAMELLIA_X86_64=y
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=y
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=y
CONFIG_CRYPTO_CAST5_AVX_X86_64=y
CONFIG_CRYPTO_CAST6_AVX_X86_64=y
CONFIG_CRYPTO_DES3_EDE_X86_64=y
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=y
CONFIG_CRYPTO_SERPENT_AVX_X86_64=y
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=y
CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64=y
CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64=y
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=y
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=y
CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64=y
CONFIG_CRYPTO_CHACHA20_X86_64=y
CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=y
CONFIG_CRYPTO_NHPOLY1305_SSE2=y
CONFIG_CRYPTO_NHPOLY1305_AVX2=y
CONFIG_CRYPTO_BLAKE2S_X86=y
CONFIG_CRYPTO_POLYVAL_CLMUL_NI=y
CONFIG_CRYPTO_POLY1305_X86_64=y
CONFIG_CRYPTO_SHA1_SSSE3=y
CONFIG_CRYPTO_SHA256_SSSE3=y
CONFIG_CRYPTO_SHA512_SSSE3=y
CONFIG_CRYPTO_SM3_AVX_X86_64=y
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=y
CONFIG_CRYPTO_CRC32C_INTEL=y
CONFIG_CRYPTO_CRC32_PCLMUL=y
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=y
# end of Accelerated Cryptographic Algorithms for CPU (x86)

CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=y
CONFIG_CRYPTO_DEV_PADLOCK_AES=y
CONFIG_CRYPTO_DEV_PADLOCK_SHA=y
CONFIG_CRYPTO_DEV_ATMEL_I2C=y
CONFIG_CRYPTO_DEV_ATMEL_ECC=y
CONFIG_CRYPTO_DEV_ATMEL_SHA204A=y
CONFIG_CRYPTO_DEV_CCP=y
CONFIG_CRYPTO_DEV_CCP_DD=y
CONFIG_CRYPTO_DEV_SP_CCP=y
CONFIG_CRYPTO_DEV_CCP_CRYPTO=y
CONFIG_CRYPTO_DEV_SP_PSP=y
CONFIG_CRYPTO_DEV_CCP_DEBUGFS=y
CONFIG_CRYPTO_DEV_QAT=y
CONFIG_CRYPTO_DEV_QAT_DH895xCC=y
CONFIG_CRYPTO_DEV_QAT_C3XXX=y
CONFIG_CRYPTO_DEV_QAT_C62X=y
CONFIG_CRYPTO_DEV_QAT_4XXX=y
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=y
CONFIG_CRYPTO_DEV_QAT_C3XXXVF=y
CONFIG_CRYPTO_DEV_QAT_C62XVF=y
CONFIG_CRYPTO_DEV_NITROX=y
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=y
CONFIG_CRYPTO_DEV_CHELSIO=y
CONFIG_CRYPTO_DEV_VIRTIO=y
CONFIG_CRYPTO_DEV_SAFEXCEL=y
CONFIG_CRYPTO_DEV_CCREE=y
CONFIG_CRYPTO_DEV_AMLOGIC_GXL=y
CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG=y
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
CONFIG_PKCS8_PRIVATE_KEY_PARSER=y
CONFIG_PKCS7_MESSAGE_PARSER=y
CONFIG_PKCS7_TEST_KEY=y
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
CONFIG_FIPS_SIGNATURE_SELFTEST=y

#
# Certificates for signature checking
#
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
# CONFIG_MODULE_SIG_KEY_TYPE_ECDSA is not set
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
CONFIG_SYSTEM_EXTRA_CERTIFICATE=y
CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096
CONFIG_SECONDARY_TRUSTED_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
CONFIG_SYSTEM_REVOCATION_LIST=y
CONFIG_SYSTEM_REVOCATION_KEYS=""
CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE=y
# end of Certificates for signature checking

CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=y
CONFIG_RAID6_PQ_BENCHMARK=y
CONFIG_LINEAR_RANGES=y
CONFIG_PACKING=y
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_CORDIC=y
CONFIG_PRIME_NUMBERS=y
CONFIG_RATIONAL=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_ARCH_USE_SYM_ANNOTATIONS=y

#
# Crypto library routines
#
CONFIG_CRYPTO_LIB_UTILS=y
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_ARC4=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=y
CONFIG_CRYPTO_LIB_CHACHA_GENERIC=y
CONFIG_CRYPTO_LIB_CHACHA=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=y
CONFIG_CRYPTO_LIB_CURVE25519=y
CONFIG_CRYPTO_LIB_DES=y
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_POLY1305_GENERIC=y
CONFIG_CRYPTO_LIB_POLY1305=y
CONFIG_CRYPTO_LIB_CHACHA20POLY1305=y
CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA256=y
# end of Crypto library routines

CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC64_ROCKSOFT=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC32=y
CONFIG_CRC32_SELFTEST=y
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC64=y
CONFIG_CRC4=y
CONFIG_CRC7=y
CONFIG_LIBCRC32C=y
CONFIG_CRC8=y
CONFIG_XXHASH=y
CONFIG_RANDOM32_SELFTEST=y
CONFIG_842_COMPRESS=y
CONFIG_842_DECOMPRESS=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_COMPRESS=y
CONFIG_LZ4HC_COMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_COMPRESS=y
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
CONFIG_XZ_DEC_MICROLZMA=y
CONFIG_XZ_DEC_BCJ=y
CONFIG_XZ_DEC_TEST=y
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=y
CONFIG_REED_SOLOMON_ENC8=y
CONFIG_REED_SOLOMON_DEC8=y
CONFIG_REED_SOLOMON_ENC16=y
CONFIG_REED_SOLOMON_DEC16=y
CONFIG_BCH=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=y
CONFIG_TEXTSEARCH_BM=y
CONFIG_TEXTSEARCH_FSM=y
CONFIG_BTREE=y
CONFIG_INTERVAL_TREE=y
CONFIG_XARRAY_MULTI=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_DMA_DECLARE_COHERENT=y
CONFIG_ARCH_HAS_FORCE_DMA_UNENCRYPTED=y
CONFIG_SWIOTLB=y
CONFIG_DMA_RESTRICTED_POOL=y
CONFIG_DMA_COHERENT_POOL=y
CONFIG_DMA_CMA=y
CONFIG_DMA_PERNUMA_CMA=y

#
# Default contiguous memory area size:
#
CONFIG_CMA_SIZE_MBYTES=0
CONFIG_CMA_SIZE_SEL_MBYTES=y
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
# CONFIG_CMA_SIZE_SEL_MIN is not set
# CONFIG_CMA_SIZE_SEL_MAX is not set
CONFIG_CMA_ALIGNMENT=8
CONFIG_DMA_API_DEBUG=y
CONFIG_DMA_API_DEBUG_SG=y
CONFIG_DMA_MAP_BENCHMARK=y
CONFIG_SGL_ALLOC=y
CONFIG_IOMMU_HELPER=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_FORCE_NR_CPUS=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
CONFIG_GLOB_SELFTEST=y
CONFIG_NLATTR=y
CONFIG_LRU_CACHE=y
CONFIG_CLZ_TAB=y
CONFIG_IRQ_POLL=y
CONFIG_MPILIB=y
CONFIG_SIGNATURE=y
CONFIG_DIMLIB=y
CONFIG_LIBFDT=y
CONFIG_OID_REGISTRY=y
CONFIG_UCS2_STRING=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_TIME_NS=y
CONFIG_FONT_SUPPORT=y
CONFIG_FONTS=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_FONT_6x11=y
CONFIG_FONT_7x14=y
CONFIG_FONT_PEARL_8x8=y
CONFIG_FONT_ACORN_8x8=y
CONFIG_FONT_MINI_4x6=y
CONFIG_FONT_6x10=y
CONFIG_FONT_10x18=y
CONFIG_FONT_SUN8x16=y
CONFIG_FONT_SUN12x22=y
CONFIG_FONT_TER16x32=y
CONFIG_FONT_6x8=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_MEMREGION=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_STACKDEPOT=y
CONFIG_STACKDEPOT_ALWAYS_INIT=y
CONFIG_REF_TRACKER=y
CONFIG_SBITMAP=y
CONFIG_PARMAN=y
CONFIG_OBJAGG=y
# end of Library routines

CONFIG_PLDMFW=y
CONFIG_ASN1_ENCODER=y
CONFIG_POLYNOMIAL=y

#
# Kernel hacking
#

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_PRINTK_CALLER=y
CONFIG_STACKTRACE_BUILD_ID=y
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_DEBUG_CORE=y
CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_DEBUG_BUGVERBOSE=y
# end of printk and dmesg options

CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_MISC=y

#
# Compile-time checks and compiler options
#
CONFIG_AS_HAS_NON_CONST_LEB128=y
CONFIG_DEBUG_INFO_NONE=y
# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
# CONFIG_DEBUG_INFO_DWARF4 is not set
# CONFIG_DEBUG_INFO_DWARF5 is not set
CONFIG_FRAME_WARN=8192
CONFIG_STRIP_ASM_SYMS=y
CONFIG_READABLE_ASM=y
CONFIG_HEADERS_INSTALL=y
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B=y
CONFIG_OBJTOOL=y
CONFIG_NOINSTR_VALIDATION=y
CONFIG_VMLINUX_MAP=y
CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y
# end of Compile-time checks and compiler options

#
# Generic Kernel Debugging Instruments
#
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_HONOUR_BLOCKLIST=y
CONFIG_KGDB_SERIAL_CONSOLE=y
CONFIG_KGDB_TESTS=y
CONFIG_KGDB_TESTS_ON_BOOT=y
CONFIG_KGDB_TESTS_BOOT_STRING="V1F100"
CONFIG_KGDB_LOW_LEVEL_TRAP=y
CONFIG_KGDB_KDB=y
CONFIG_KDB_DEFAULT_ENABLE=0x1
CONFIG_KDB_KEYBOARD=y
CONFIG_KDB_CONTINUE_CATASTROPHIC=0
CONFIG_ARCH_HAS_EARLY_DEBUG=y
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
CONFIG_UBSAN=y
# CONFIG_UBSAN_TRAP is not set
CONFIG_CC_HAS_UBSAN_BOUNDS=y
CONFIG_UBSAN_BOUNDS=y
CONFIG_UBSAN_ONLY_BOUNDS=y
CONFIG_UBSAN_SHIFT=y
CONFIG_UBSAN_DIV_ZERO=y
CONFIG_UBSAN_BOOL=y
CONFIG_UBSAN_ENUM=y
# CONFIG_UBSAN_ALIGNMENT is not set
CONFIG_UBSAN_SANITIZE_ALL=y
CONFIG_TEST_UBSAN=m
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_HAVE_KCSAN_COMPILER=y
# end of Generic Kernel Debugging Instruments

#
# Networking Debugging
#
CONFIG_NET_DEV_REFCNT_TRACKER=y
CONFIG_NET_NS_REFCNT_TRACKER=y
CONFIG_DEBUG_NET=y
# end of Networking Debugging

#
# Memory Debugging
#
CONFIG_PAGE_EXTENSION=y
CONFIG_DEBUG_PAGEALLOC=y
CONFIG_DEBUG_PAGEALLOC_ENABLE_DEFAULT=y
CONFIG_SLUB_DEBUG=y
CONFIG_SLUB_DEBUG_ON=y
CONFIG_PAGE_OWNER=y
CONFIG_PAGE_TABLE_CHECK=y
CONFIG_PAGE_TABLE_CHECK_ENFORCED=y
CONFIG_PAGE_POISONING=y
CONFIG_DEBUG_PAGE_REF=y
CONFIG_DEBUG_RODATA_TEST=y
CONFIG_ARCH_HAS_DEBUG_WX=y
CONFIG_DEBUG_WX=y
CONFIG_GENERIC_PTDUMP=y
CONFIG_PTDUMP_CORE=y
CONFIG_PTDUMP_DEBUGFS=y
CONFIG_DEBUG_OBJECTS=y
CONFIG_DEBUG_OBJECTS_SELFTEST=y
CONFIG_DEBUG_OBJECTS_FREE=y
CONFIG_DEBUG_OBJECTS_TIMERS=y
CONFIG_DEBUG_OBJECTS_WORK=y
CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
CONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=y
CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1
CONFIG_SHRINKER_DEBUG=y
CONFIG_HAVE_DEBUG_KMEMLEAK=y
CONFIG_DEBUG_KMEMLEAK=y
CONFIG_DEBUG_KMEMLEAK_MEM_POOL_SIZE=16000
CONFIG_DEBUG_KMEMLEAK_TEST=m
CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF=y
CONFIG_DEBUG_KMEMLEAK_AUTO_SCAN=y
CONFIG_DEBUG_STACK_USAGE=y
CONFIG_SCHED_STACK_END_CHECK=y
CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
CONFIG_DEBUG_VM_IRQSOFF=y
CONFIG_DEBUG_VM=y
CONFIG_DEBUG_VM_MAPLE_TREE=y
CONFIG_DEBUG_VM_RB=y
CONFIG_DEBUG_VM_PGFLAGS=y
CONFIG_DEBUG_VM_PGTABLE=y
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
CONFIG_DEBUG_VIRTUAL=y
CONFIG_DEBUG_MEMORY_INIT=y
CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=y
CONFIG_DEBUG_PER_CPU_MAPS=y
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
CONFIG_KASAN=y
CONFIG_KASAN_GENERIC=y
CONFIG_KASAN_OUTLINE=y
# CONFIG_KASAN_INLINE is not set
CONFIG_KASAN_STACK=y
CONFIG_KASAN_VMALLOC=y
CONFIG_KASAN_KUNIT_TEST=y
CONFIG_KASAN_MODULE_TEST=m
CONFIG_HAVE_ARCH_KFENCE=y
CONFIG_KFENCE=y
CONFIG_KFENCE_SAMPLE_INTERVAL=100
CONFIG_KFENCE_NUM_OBJECTS=255
CONFIG_KFENCE_DEFERRABLE=y
CONFIG_KFENCE_STATIC_KEYS=y
CONFIG_KFENCE_STRESS_TEST_FAULTS=0
CONFIG_KFENCE_KUNIT_TEST=y
CONFIG_HAVE_ARCH_KMSAN=y
# end of Memory Debugging

CONFIG_DEBUG_SHIRQ=y

#
# Debug Oops, Lockups and Hangs
#
CONFIG_PANIC_ON_OOPS=y
CONFIG_PANIC_ON_OOPS_VALUE=1
CONFIG_PANIC_TIMEOUT=0
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SOFTLOCKUP_DETECTOR=y
CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
CONFIG_BOOTPARAM_HUNG_TASK_PANIC=y
CONFIG_WQ_WATCHDOG=y
CONFIG_TEST_LOCKUP=m
# end of Debug Oops, Lockups and Hangs

#
# Scheduler Debugging
#
CONFIG_SCHED_DEBUG=y
CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# end of Scheduler Debugging

CONFIG_DEBUG_TIMEKEEPING=y
CONFIG_DEBUG_PREEMPT=y

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_PROVE_LOCKING=y
CONFIG_PROVE_RAW_LOCK_NESTING=y
CONFIG_LOCK_STAT=y
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_DEBUG_WW_MUTEX_SLOWPATH=y
CONFIG_DEBUG_RWSEMS=y
CONFIG_DEBUG_LOCK_ALLOC=y
CONFIG_LOCKDEP=y
CONFIG_LOCKDEP_BITS=15
CONFIG_LOCKDEP_CHAINS_BITS=16
CONFIG_LOCKDEP_STACK_TRACE_BITS=19
CONFIG_LOCKDEP_STACK_TRACE_HASH_BITS=14
CONFIG_LOCKDEP_CIRCULAR_QUEUE_BITS=12
CONFIG_DEBUG_LOCKDEP=y
CONFIG_DEBUG_ATOMIC_SLEEP=y
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
CONFIG_LOCK_TORTURE_TEST=y
CONFIG_WW_MUTEX_SELFTEST=y
CONFIG_SCF_TORTURE_TEST=y
CONFIG_CSD_LOCK_WAIT_DEBUG=y
# end of Lock Debugging (spinlocks, mutexes, etc...)

CONFIG_TRACE_IRQFLAGS=y
CONFIG_TRACE_IRQFLAGS_NMI=y
CONFIG_DEBUG_IRQFLAGS=y
CONFIG_STACKTRACE=y
CONFIG_WARN_ALL_UNSEEDED_RANDOM=y
CONFIG_DEBUG_KOBJECT=y
CONFIG_DEBUG_KOBJECT_RELEASE=y

#
# Debug kernel data structures
#
CONFIG_DEBUG_LIST=y
CONFIG_DEBUG_PLIST=y
CONFIG_DEBUG_SG=y
CONFIG_DEBUG_NOTIFIERS=y
CONFIG_BUG_ON_DATA_CORRUPTION=y
CONFIG_DEBUG_MAPLE_TREE=y
# end of Debug kernel data structures

CONFIG_DEBUG_CREDENTIALS=y

#
# RCU Debugging
#
CONFIG_PROVE_RCU=y
CONFIG_PROVE_RCU_LIST=y
CONFIG_TORTURE_TEST=y
CONFIG_RCU_SCALE_TEST=y
CONFIG_RCU_TORTURE_TEST=y
CONFIG_RCU_REF_SCALE_TEST=y
CONFIG_RCU_CPU_STALL_TIMEOUT=21
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
CONFIG_RCU_TRACE=y
CONFIG_RCU_EQS_DEBUG=y
# end of RCU Debugging

CONFIG_DEBUG_WQ_FORCE_RR_CPU=y
CONFIG_CPU_HOTPLUG_STATE_CONTROL=y
CONFIG_LATENCYTOP=y
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_RETHOOK=y
CONFIG_RETHOOK=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_OBJTOOL_MCOUNT=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
CONFIG_BUILDTIME_MCOUNT_SORT=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_RING_BUFFER_ALLOW_SWAP=y
CONFIG_PREEMPTIRQ_TRACEPOINTS=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
CONFIG_BOOTTIME_TRACING=y
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_FPROBE=y
CONFIG_FUNCTION_PROFILER=y
CONFIG_STACK_TRACER=y
CONFIG_TRACE_PREEMPT_TOGGLE=y
CONFIG_IRQSOFF_TRACER=y
CONFIG_PREEMPT_TRACER=y
CONFIG_SCHED_TRACER=y
CONFIG_HWLAT_TRACER=y
CONFIG_OSNOISE_TRACER=y
CONFIG_TIMERLAT_TRACER=y
CONFIG_MMIOTRACE=y
CONFIG_FTRACE_SYSCALLS=y
CONFIG_TRACER_SNAPSHOT=y
CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP=y
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
CONFIG_BLK_DEV_IO_TRACE=y
CONFIG_KPROBE_EVENTS=y
CONFIG_KPROBE_EVENTS_ON_NOTRACE=y
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_FTRACE_MCOUNT_RECORD=y
CONFIG_FTRACE_MCOUNT_USE_CC=y
CONFIG_TRACING_MAP=y
CONFIG_SYNTH_EVENTS=y
CONFIG_HIST_TRIGGERS=y
CONFIG_TRACE_EVENT_INJECT=y
CONFIG_TRACEPOINT_BENCHMARK=y
CONFIG_RING_BUFFER_BENCHMARK=y
CONFIG_TRACE_EVAL_MAP_FILE=y
CONFIG_FTRACE_RECORD_RECURSION=y
CONFIG_FTRACE_RECORD_RECURSION_SIZE=128
CONFIG_RING_BUFFER_RECORD_RECURSION=y
CONFIG_GCOV_PROFILE_FTRACE=y
CONFIG_FTRACE_SELFTEST=y
CONFIG_FTRACE_STARTUP_TEST=y
CONFIG_EVENT_TRACE_STARTUP_TEST=y
CONFIG_EVENT_TRACE_TEST_SYSCALLS=y
CONFIG_FTRACE_SORT_STARTUP_TEST=y
CONFIG_RING_BUFFER_STARTUP_TEST=y
CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS=y
CONFIG_MMIOTRACE_TEST=m
CONFIG_PREEMPTIRQ_DELAY_TEST=m
CONFIG_SYNTH_EVENT_GEN_TEST=y
CONFIG_KPROBE_EVENT_GEN_TEST=y
CONFIG_HIST_TRIGGERS_DEBUG=y
CONFIG_DA_MON_EVENTS=y
CONFIG_DA_MON_EVENTS_IMPLICIT=y
CONFIG_DA_MON_EVENTS_ID=y
CONFIG_RV=y
CONFIG_RV_MON_WIP=y
CONFIG_RV_MON_WWNR=y
CONFIG_RV_REACTORS=y
CONFIG_RV_REACT_PRINTK=y
CONFIG_RV_REACT_PANIC=y
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
CONFIG_SAMPLES=y
CONFIG_SAMPLE_AUXDISPLAY=y
CONFIG_SAMPLE_TRACE_EVENTS=m
CONFIG_SAMPLE_TRACE_CUSTOM_EVENTS=m
CONFIG_SAMPLE_TRACE_PRINTK=m
CONFIG_SAMPLE_FTRACE_DIRECT=m
CONFIG_SAMPLE_FTRACE_DIRECT_MULTI=m
CONFIG_SAMPLE_TRACE_ARRAY=m
CONFIG_SAMPLE_KOBJECT=y
CONFIG_SAMPLE_KPROBES=m
CONFIG_SAMPLE_KRETPROBES=m
CONFIG_SAMPLE_HW_BREAKPOINT=m
CONFIG_SAMPLE_FPROBE=m
CONFIG_SAMPLE_KFIFO=m
CONFIG_SAMPLE_KDB=m
CONFIG_SAMPLE_RPMSG_CLIENT=m
CONFIG_SAMPLE_LIVEPATCH=m
CONFIG_SAMPLE_CONFIGFS=m
CONFIG_SAMPLE_CONNECTOR=m
CONFIG_SAMPLE_FANOTIFY_ERROR=y
CONFIG_SAMPLE_HIDRAW=y
CONFIG_SAMPLE_LANDLOCK=y
CONFIG_SAMPLE_PIDFD=y
CONFIG_SAMPLE_SECCOMP=y
CONFIG_SAMPLE_TIMER=y
CONFIG_SAMPLE_UHID=y
CONFIG_SAMPLE_VFIO_MDEV_MTTY=m
CONFIG_SAMPLE_VFIO_MDEV_MDPY=m
CONFIG_SAMPLE_VFIO_MDEV_MDPY_FB=m
CONFIG_SAMPLE_VFIO_MDEV_MBOCHS=m
CONFIG_SAMPLE_ANDROID_BINDERFS=y
CONFIG_SAMPLE_VFS=y
CONFIG_SAMPLE_INTEL_MEI=y
CONFIG_SAMPLE_WATCHDOG=y
CONFIG_SAMPLE_WATCH_QUEUE=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
CONFIG_STRICT_DEVMEM=y
CONFIG_IO_STRICT_DEVMEM=y

#
# x86 Debugging
#
CONFIG_EARLY_PRINTK_USB=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_EARLY_PRINTK_USB_XDBC=y
CONFIG_EFI_PGT_DUMP=y
CONFIG_DEBUG_TLBFLUSH=y
CONFIG_IOMMU_DEBUG=y
CONFIG_IOMMU_LEAK=y
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEBUG_BOOT_PARAMS=y
CONFIG_CPA_DEBUG=y
CONFIG_DEBUG_ENTRY=y
CONFIG_DEBUG_NMI_SELFTEST=y
CONFIG_X86_DEBUG_FPU=y
CONFIG_PUNIT_ATOM_DEBUG=y
CONFIG_UNWINDER_ORC=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
# end of x86 Debugging

#
# Kernel Testing and Coverage
#
CONFIG_KUNIT=y
CONFIG_KUNIT_DEBUGFS=y
CONFIG_KUNIT_TEST=y
CONFIG_KUNIT_EXAMPLE_TEST=y
CONFIG_KUNIT_ALL_TESTS=y
CONFIG_KUNIT_DEFAULT_ENABLED=y
CONFIG_NOTIFIER_ERROR_INJECTION=y
CONFIG_PM_NOTIFIER_ERROR_INJECT=y
CONFIG_OF_RECONFIG_NOTIFIER_ERROR_INJECT=y
CONFIG_NETDEV_NOTIFIER_ERROR_INJECT=y
CONFIG_FUNCTION_ERROR_INJECTION=y
CONFIG_FAULT_INJECTION=y
CONFIG_FAILSLAB=y
CONFIG_FAIL_PAGE_ALLOC=y
CONFIG_FAULT_INJECTION_USERCOPY=y
CONFIG_FAIL_MAKE_REQUEST=y
CONFIG_FAIL_IO_TIMEOUT=y
CONFIG_FAIL_FUTEX=y
CONFIG_FAULT_INJECTION_DEBUG_FS=y
CONFIG_FAIL_FUNCTION=y
CONFIG_FAIL_MMC_REQUEST=y
CONFIG_FAIL_SUNRPC=y
CONFIG_ARCH_HAS_KCOV=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
CONFIG_KCOV=y
CONFIG_KCOV_ENABLE_COMPARISONS=y
CONFIG_KCOV_INSTRUMENT_ALL=y
CONFIG_KCOV_IRQ_AREA_SIZE=0x40000
CONFIG_RUNTIME_TESTING_MENU=y
CONFIG_LKDTM=y
CONFIG_CPUMASK_KUNIT_TEST=y
CONFIG_TEST_LIST_SORT=y
CONFIG_TEST_MIN_HEAP=y
CONFIG_TEST_SORT=y
CONFIG_TEST_DIV64=y
CONFIG_KPROBES_SANITY_TEST=y
CONFIG_FPROBE_SANITY_TEST=y
CONFIG_BACKTRACE_SELF_TEST=y
CONFIG_TEST_REF_TRACKER=y
CONFIG_RBTREE_TEST=y
CONFIG_REED_SOLOMON_TEST=y
CONFIG_INTERVAL_TREE_TEST=y
CONFIG_PERCPU_TEST=m
CONFIG_ATOMIC64_SELFTEST=y
CONFIG_ASYNC_RAID6_TEST=y
CONFIG_TEST_HEXDUMP=y
CONFIG_STRING_SELFTEST=y
CONFIG_TEST_STRING_HELPERS=y
CONFIG_TEST_STRSCPY=y
CONFIG_TEST_KSTRTOX=y
CONFIG_TEST_PRINTF=y
CONFIG_TEST_SCANF=y
CONFIG_TEST_BITMAP=y
CONFIG_TEST_UUID=y
CONFIG_TEST_XARRAY=y
CONFIG_TEST_MAPLE_TREE=y
CONFIG_TEST_RHASHTABLE=y
CONFIG_TEST_SIPHASH=y
CONFIG_TEST_IDA=y
CONFIG_TEST_PARMAN=y
CONFIG_TEST_LKM=m
CONFIG_TEST_BITOPS=m
CONFIG_TEST_VMALLOC=m
CONFIG_TEST_USER_COPY=m
CONFIG_TEST_BPF=m
CONFIG_TEST_BLACKHOLE_DEV=m
CONFIG_FIND_BIT_BENCHMARK=y
CONFIG_TEST_FIRMWARE=y
CONFIG_TEST_SYSCTL=y
CONFIG_BITFIELD_KUNIT=y
CONFIG_HASH_KUNIT_TEST=y
CONFIG_RESOURCE_KUNIT_TEST=y
CONFIG_SYSCTL_KUNIT_TEST=y
CONFIG_LIST_KUNIT_TEST=y
CONFIG_LINEAR_RANGES_TEST=y
CONFIG_CMDLINE_KUNIT_TEST=y
CONFIG_BITS_TEST=y
CONFIG_SLUB_KUNIT_TEST=y
CONFIG_RATIONAL_KUNIT_TEST=y
CONFIG_MEMCPY_KUNIT_TEST=y
CONFIG_IS_SIGNED_TYPE_KUNIT_TEST=y
CONFIG_OVERFLOW_KUNIT_TEST=y
CONFIG_STACKINIT_KUNIT_TEST=y
CONFIG_FORTIFY_KUNIT_TEST=y
CONFIG_HW_BREAKPOINT_KUNIT_TEST=y
CONFIG_TEST_UDELAY=y
CONFIG_TEST_STATIC_KEYS=m
CONFIG_TEST_DYNAMIC_DEBUG=y
CONFIG_TEST_KMOD=m
CONFIG_TEST_DEBUG_VIRTUAL=y
CONFIG_TEST_MEMCAT_P=y
CONFIG_TEST_LIVEPATCH=m
CONFIG_TEST_OBJAGG=y
CONFIG_TEST_MEMINIT=y
CONFIG_TEST_HMM=y
CONFIG_TEST_FREE_PAGES=y
CONFIG_TEST_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_USE_MEMTEST=y
CONFIG_MEMTEST=y
CONFIG_HYPERV_TESTING=y
# end of Kernel Testing and Coverage

#
# Rust hacking
#
# end of Rust hacking
# end of Kernel hacking

--ZF7rkzTZD9ELZLKO--


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 07:34:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 07:34:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457663.715627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Xti-000465-Iw; Fri, 09 Dec 2022 07:34:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457663.715627; Fri, 09 Dec 2022 07:34:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Xti-00045y-FZ; Fri, 09 Dec 2022 07:34:18 +0000
Received: by outflank-mailman (input) for mailman id 457663;
 Fri, 09 Dec 2022 07:34:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Xth-00045k-7A; Fri, 09 Dec 2022 07:34:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Xth-0001oZ-5f; Fri, 09 Dec 2022 07:34:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Xtg-0004c0-Pe; Fri, 09 Dec 2022 07:34:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3Xtg-0007UU-PD; Fri, 09 Dec 2022 07:34:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IZoivtTyC8VOLM0YKRFnPydagFjjHTRTexj3NkwH5ug=; b=pc1wOtO1/mcAyBT5ohuUYRGEyt
	SLG+ZdZEGHuVUwntrboM5AUnmX96V2hGHiZcJlKSYYVuARJdg2YsfqtcThU1Mb1jybh2sJ0O01qlV
	1J/A4k6z4GkljoekANBbbb6tKqnhqUqX0HKBjF6ZGkKwpV2njF2/5dkbjzg0M8uzp+bA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175096-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 175096: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=11560248ffda3f00f20bbdf3ae088af474f7f2a3
X-Osstest-Versions-That:
    xen=4aa115ea4e92ffc787fa17a4bd1f2cb903457412
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 09 Dec 2022 07:34:16 +0000

flight 175096 xen-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175096/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175079
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175079
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175079
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175079
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175079
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175079
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175079
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175079
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175079
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175079
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175079
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175079
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  11560248ffda3f00f20bbdf3ae088af474f7f2a3
baseline version:
 xen                  4aa115ea4e92ffc787fa17a4bd1f2cb903457412

Last test of basis   175079  2022-12-07 20:36:52 Z    1 days
Testing same since   175096  2022-12-08 18:07:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <julien@xen.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   4aa115ea4e..11560248ff  11560248ffda3f00f20bbdf3ae088af474f7f2a3 -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 07:38:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 07:38:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457673.715641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3XxS-0004jB-5e; Fri, 09 Dec 2022 07:38:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457673.715641; Fri, 09 Dec 2022 07:38:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3XxS-0004j4-2p; Fri, 09 Dec 2022 07:38:10 +0000
Received: by outflank-mailman (input) for mailman id 457673;
 Fri, 09 Dec 2022 07:38:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PKE6=4H=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p3XxQ-0004iw-Ce
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 07:38:08 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20618.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a8de018-7794-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 08:38:05 +0100 (CET)
Received: from DB7PR05CA0061.eurprd05.prod.outlook.com (2603:10a6:10:2e::38)
 by PAWPR08MB9472.eurprd08.prod.outlook.com (2603:10a6:102:2e3::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Fri, 9 Dec
 2022 07:38:03 +0000
Received: from DBAEUR03FT055.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2e:cafe::e) by DB7PR05CA0061.outlook.office365.com
 (2603:10a6:10:2e::38) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10 via Frontend
 Transport; Fri, 9 Dec 2022 07:38:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT055.mail.protection.outlook.com (100.127.142.171) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.16 via Frontend Transport; Fri, 9 Dec 2022 07:38:02 +0000
Received: ("Tessian outbound 0800d254cb3b:v130");
 Fri, 09 Dec 2022 07:38:02 +0000
Received: from b560cc7cd2d4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5FEEC6E3-942A-4386-BD18-8A54938A6C33.1; 
 Fri, 09 Dec 2022 07:37:56 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b560cc7cd2d4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 09 Dec 2022 07:37:56 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PR3PR08MB5642.eurprd08.prod.outlook.com (2603:10a6:102:8b::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Fri, 9 Dec
 2022 07:37:54 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%8]) with mapi id 15.20.5880.011; Fri, 9 Dec 2022
 07:37:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a8de018-7794-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vVjYN8tterH1LTxqcya6MXtkWpeXISRz6ot/mcGY9Yg=;
 b=crzPo5yffh4VvfZ/TgI3E73RezPd1KgV4IXWxtihMk9afnxd46J78zm1P9AdM//iFmvyUFC+IxCEnvgdU1oKfuHRojSlGpavCzl8ADOnoBMRjS/vCXLNdWV9xz6TFiUns/j1Deq0DBP/RPNAAhrEOcjf+wlr94za1/qoNxge1Eg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VqKAFDwFZEI2k3A15ccuEEcX3Lbj5TurZIaTp879jEE22KPyf2N520SxKx8092LY+4GtkMoHFKzcggrh6VIBNZLELtKhhH1wOqOSFevfUl9u3Cw10Cd0Ce1ADHA/5cVtbt7zUNXQ3OouHJKAS/vzV5d3Q+9DeWtmNN5Z13N2yW0QU2aSwIJ1CnZiWJhf1Z/HYqQ+MN3CPSKEbKOCEktlOhs9WiiHHcE7nJpUc37r5STblIGgykAT5arf5pOQUOSBVYpWxPeYTqV/CHHeP0YMAlUUmxEMG2cyoAK/bvxqHJvPTCs6jccPLFDAHADtv+Qf/sSNX7JRrhCqpQM/RF8LCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vVjYN8tterH1LTxqcya6MXtkWpeXISRz6ot/mcGY9Yg=;
 b=faxrVgq6NfHuohRB8/hMsfrYY9qz0a90OPxkGUom731LVzFz1tv5tcY6awk3FM3yYzsnuoX2xmCH1j15hQFjrnLGQbkX43VyDg9m1Kvn7SQ/Ab9szsBRz6iIza/jZsv29d1Pwl2CUvK7KTUiZpYhVrGY2JTvl3I1oQyK/fPljJEXBM860SC88zrrhjwEgfreSVhdHU867BLQ2F+yvhp3BF7CY2BR5pP9oGRF9BZ5PEtjdcWMvSpD97DHIUZFy8oqnLqW+PSoYshtWRXlvQr/6+aY5ibKac1FIFJA+EDyEPJ9VkyjY/iDyPGxKIyrAl9rpGXJcx6DzyF+3zQohpnEDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vVjYN8tterH1LTxqcya6MXtkWpeXISRz6ot/mcGY9Yg=;
 b=crzPo5yffh4VvfZ/TgI3E73RezPd1KgV4IXWxtihMk9afnxd46J78zm1P9AdM//iFmvyUFC+IxCEnvgdU1oKfuHRojSlGpavCzl8ADOnoBMRjS/vCXLNdWV9xz6TFiUns/j1Deq0DBP/RPNAAhrEOcjf+wlr94za1/qoNxge1Eg=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>, Demi Marie
 Obenour <demi@invisiblethingslab.com>
CC: Ard Biesheuval <ardb@kernel.org>,
	=?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Xen developer discussion
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
Thread-Topic: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
Thread-Index: AQHZCuISzshQ7NkOqUOBoTPM3AzEWa5jro+ggACa+wCAAOKJ4A==
Date: Fri, 9 Dec 2022 07:37:53 +0000
Message-ID:
 <AS8PR08MB7991A81EEEC33451800CAF97921C9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References:
 <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
 <9c1e3cc3-e0b4-6ca5-087b-55117b45db80@suse.com>
 <AS8PR08MB7991E4EE490EC8B028BB1D2F921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <5ce98ff4-6b7d-2254-d755-a68fc3ac67b4@xen.org>
In-Reply-To: <5ce98ff4-6b7d-2254-d755-a68fc3ac67b4@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 153CFE75BB76524187E7B3AF528F3D4A.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PR3PR08MB5642:EE_|DBAEUR03FT055:EE_|PAWPR08MB9472:EE_
X-MS-Office365-Filtering-Correlation-Id: 38de5281-3f4f-4a47-8e55-08dad9b84dd8
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 JbUBMFerWvAfAj5guoGWqw/URzUIrHBAM0ggywZ7cAODvtNK8oHNqL7QKYfvDP0h8UkQsaxxDdGulF3XyVTljQou9EemwBKE8xBFpGvBRLbcbsGCt9XYAbZhl1/Jb566/VaeeElsbv3WfLZA4obZGCF+dvefsSEnwr5o3gK9BwfoiPmebXblH9yi0EE84OvAleMAtyLcDKicPgmcnHXOmhTDMvUZanlBj8uG2T6EiLy+p/EzBaQncyTC4D8VXktNY6q2Rrl3bvqhJN0G7bsYMOlEHUhnI16XzmZLDufo8TDKUZsRdOzx2q/r6uUHREmAuXlK2UrAGbZVZWDxytlmpBL5qAGOYAGbRh3KQZAsgEyEK2Iw+vjtw6oWDqt1Amt4kDqb3n2YJtclO8xN3TO/L+Eu5WRcpdXwB9bXWL5XV2VvSIyb4+v8Gr2AZqxmVuQ0jLbjQLYqJLjit8rQqn3G17Rx0AAbujPo5WNrddoJUa05YHQ6YTtuCL7JUqGf+nnHEukDpSy8noo1B0lCWOZgTUmCPUIrdb6rumnndy1A7/DptK/Ot51/6/C8HX2iqMZ4Rsssv8WmSi9nGYcEJwHHNKmTpmNcqZqa/72fknl+TS10TFQY0I9oAJd9LmWwKrdao0rS60/ywKaR3SUWfWjvRio3nrX9JpYjGOssPdXFBEmvKWDwvX1o6fmZFxiO5z49DhKBxZT6Davt2QZ6j4B38w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199015)(54906003)(55016003)(110136005)(33656002)(316002)(26005)(66476007)(71200400001)(6506007)(38100700002)(66446008)(86362001)(83380400001)(122000001)(66946007)(5660300002)(4326008)(2906002)(8676002)(66556008)(76116006)(9686003)(52536014)(64756008)(38070700005)(8936002)(7696005)(186003)(41300700001)(478600001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5642
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1e334804-e01c-4070-a0d5-08dad9b84872
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vXkpPdujkhf4yWtAbiqY4KfcMfTt39jeEa0+q8HZ/gcC5Ohy7h/XhLmvlWYHjFyTaNiu/YPKhXGLJIgIWeD1+ScQYcZ568mmxZLpeZ3tZTRROvug1hm520lKwd5bqNcmd6/htxPCrLFNQ3vJVB5irCkpqmRpwq2FmLVrT7Y/Mr1PP24STFCEoiOn6HRywtN/1lU8FTuNuRvJhvVXZSXJOEQoHG2st5Z5siMiz/b/z3mZXbgTaiIdasc0368r7COgjZ/AbuTaATcICRBbJGo5VkR1SShX/t+6bCHhTV9CTKwKDbwQ7tLVcBZ9pT99zOlac1LhxXC2RmCk2WmNjqJZcsKdIYRoqsaELFQGs5E/Ss7arjYB+WxoUeQIDm0DGsLioJanuwWScDPGBqBsofsZxvdxSgASHDU6csGxBeVItWHz/kxgrlP1KuZkd9tKcodZW3a2y0fHme8vtl8x2R5ZV5iyHWSZv2VprzJ8BM6ojcpqfEeFP6mRfoustHEKKkJFc8mkqSolkPa14yLx3noMNu9nzf7NxjC8WUIOP1g3h+YusEsLvOA8GgLd1xYvtSLSrmgvOfgmPGG4aZrAUvdlQc2HeAKLhb95XVmk5Nw8QVHzPdVxi/9CAa1KvQ9s49qCEdNLa1ZKSQbB2stqvvbfAQe7rqSnegei7mo+b04OIzFlBdnliuw4z3Vj1h5chgt3S8mi3+vC/2MUHi94O0Nmzw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(396003)(136003)(346002)(451199015)(40470700004)(36840700001)(46966006)(33656002)(41300700001)(2906002)(82740400003)(8936002)(356005)(82310400005)(5660300002)(47076005)(336012)(186003)(86362001)(36860700001)(83380400001)(54906003)(55016003)(110136005)(52536014)(316002)(40460700003)(9686003)(81166007)(4326008)(70206006)(8676002)(478600001)(6506007)(40480700001)(7696005)(70586007)(26005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2022 07:38:02.9594
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 38de5281-3f4f-4a47-8e55-08dad9b84dd8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9472

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjNdIFVzZSBF
ZmlBQ1BJUmVjbGFpbU1lbW9yeSBmb3IgRVNSVA0KPiANCj4gSGksDQo+IA0KPiA+Pj4gU2lnbmVk
LW9mZi1ieTogRGVtaSBNYXJpZSBPYmVub3VyIDxkZW1pQGludmlzaWJsZXRoaW5nc2xhYi5jb20+
DQo+ID4+DQo+ID4+IEFja2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+
ID4+DQo+ID4+PiBTaG91bGQgdGhpcyBiZSBpbmNsdWRlZCBpbiA0LjE3PyAgSXQgaXMgYSBidWcg
Zml4IGZvciBhIGZlYXR1cmUgbmV3IHRvDQo+ID4+PiA0LjE3LCBzbyBJIHN1c3BlY3QgeWVzLCBi
dXQgaXQgaXMgdWx0aW1hdGVseSB1cCB0byBIZW5yeSBXYW5nLiAgVGhlIGNvZGUNCj4gPj4+IGlz
IGlkZW50aWNhbCB0byB2MiwgYnV0IEkgaGF2ZSBpbXByb3ZlZCB0aGUgY29tbWl0IG1lc3NhZ2Uu
DQo+ID4+DQo+ID4+IEl0IG1heSBiZSB0b28gbGF0ZSBub3csIGxvb2tpbmcgYXQgdGhlIHN0YXRl
IG9mIHRoZSB0cmVlLiBIZW5yeSwgSnVsaWVuPw0KPiA+DQo+ID4gTGlrZSBJIHNhaWQgaW4gdjIs
IEkgZG9uJ3Qgb2JqZWN0IHRoZSBjaGFuZ2UgaWYgeW91IHdvdWxkIGxpa2UgdG8gaW5jbHVkZSB0
aGlzDQo+IHBhdGNoDQo+ID4gdG8gNC4xNywgc28gaWYgeW91IGFyZSBzdXJlIHRoaXMgcGF0Y2gg
aXMgc2FmZSBhbmQgd2FudCB0byBjb21taXQgaXQsIGZlZWwgZnJlZQ0KPiB0byBhZGQ6DQo+ID4N
Cj4gPiBSZWxlYXNlLWFja2VkLWJ5OiBIZW5yeSBXYW5nIDxIZW5yeS5XYW5nQGFybS5jb20+DQo+
ID4NCj4gPiBTaW5jZSB3ZSBhbHNvIG5lZWQgdG8gY29tbWl0Og0KPiA+ICJbUEFUQ0ggZm9yLTQu
MTddIFNVUFBPUlQubWQ6IERlZmluZSBzdXBwb3J0IGxpZmV0aW1lIiBzbyBmcm9tIG15IHNpZGUN
Cj4gPiBJIGFtIG5vIHByb2JsZW0uIEp1bGllbiBtaWdodCBoYXZlIGRpZmZlcmVudCBvcGluaW9u
IHRob3VnaCwgaWYgSnVsaWVuDQo+IG9iamVjdA0KPiA+IHRoZSBjaGFuZ2UgSSB3b3VsZCBsaWtl
IHRvIHJlc3BlY3QgaGlzIG9waW5pb24gYW5kIGxlYXZlIHRoaXMgcGF0Y2gNCj4gdW5jb21taXR0
ZWQuDQo+IA0KPiBJIGhhdmUgY29tbWl0dGVkIGl0IGFmdGVyIFNVUFBPUlQubWQuIFNvIGlmIGZv
ciBzb21lIHJlYXNvbnMgd2UgYXJlIHNlZW4NCj4gYW55IGlzc3VlcyB3aXRoIE9zc3Rlc3QsIHRo
ZW4gSSBjYW4gdGFnIHRoZSB0cmVlIHdpdGhvdXQgdGhpcyBwYXRjaA0KDQpUaGlzIGlzIGEgZ3Jl
YXQgc29sdXRpb24gOikNCg0KPiAodGhhdCBzYWlkLCBJIHdvdWxkIHJhdGhlciBwcmVmZXIgaWYg
d2UgaGF2ZSBzdGFnaW5nLTQuMTcgPT0gc3RhYmxlLTQuMTcpLg0KDQpMb29rcyBsaWtlIG5vdyBz
dGFnaW5nLTQuMTcgPT0gc3RhYmxlLTQuMTcgbm93LCB3aXRoIHRoaXMgcGF0Y2ggcHVzaGVkLg0K
U28gd2UgYXJlIHJlYWR5IHRvIHRhZy4NCg0KPiANCj4gTXkgcGxhbiBpcyB0byBwcmVwYXJlIHRo
ZSB0YXJiYWxsIHRvbW9ycm93Lg0KDQpUaGFua3MgdmVyeSBtdWNoLg0KDQpLaW5kIHJlZ2FyZHMs
DQpIZW5yeQ0KDQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 08:53:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 08:53:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457695.715658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Z8I-0007EH-3s; Fri, 09 Dec 2022 08:53:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457695.715658; Fri, 09 Dec 2022 08:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3Z8I-0007EA-0u; Fri, 09 Dec 2022 08:53:26 +0000
Received: by outflank-mailman (input) for mailman id 457695;
 Fri, 09 Dec 2022 08:53:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pcfL=4H=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p3Z8G-0007E3-KP
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 08:53:24 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee8eb9d3-779e-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 09:53:22 +0100 (CET)
Received: from DM5PR07CA0093.namprd07.prod.outlook.com (2603:10b6:4:ae::22) by
 BL3PR12MB6572.namprd12.prod.outlook.com (2603:10b6:208:38f::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.16; Fri, 9 Dec
 2022 08:53:17 +0000
Received: from DM6NAM11FT020.eop-nam11.prod.protection.outlook.com
 (2603:10b6:4:ae:cafe::49) by DM5PR07CA0093.outlook.office365.com
 (2603:10b6:4:ae::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.18 via Frontend
 Transport; Fri, 9 Dec 2022 08:53:17 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT020.mail.protection.outlook.com (10.13.172.224) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.17 via Frontend Transport; Fri, 9 Dec 2022 08:53:16 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 9 Dec
 2022 02:53:16 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 9 Dec
 2022 00:53:15 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 9 Dec 2022 02:53:14 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee8eb9d3-779e-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ebQb+5xa19pxli0b3uBdwCM71bhw1UKu0qX23ApW/pKSduAyFYwiNdcD80+AIqfVsnjSx6R+cdUh9F/MZWl2573oA8RlBXqMeHLRcXqedjXlczYdb8YgeXvtbcuHMdLyg3JUKV4JRNi9Rm1gq5bHVRB6iIeDENeMdEKZWu+OBioVpX0EW2nzGhyW4bsuXq44/t0UBPgE3WS1mkzuAzGY5fnxm0ZCUisE7L4gZAXGele166QCyGp7C1YzlmoNfanuAatsdQoOkNH4uv9c61NQ8yI5rpHXVrQIfyLwaUwimJeRYHSplavj6zFvVEI1IB6GZB4EhwtgtFJTqrltq2S4/w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0A6H4cCEjUmuonuaVlnTiwc3qAkW9W1Fzc6f9S9e5ZM=;
 b=eOFfzLxBZ1Fbxm9o4i7EH3c+hKbRYebfnx94ctcBp5JdVvWP7Hm3mE1/mS1p3bY6l3b8wnlVoPFKP6ig7H7ZFfoK5gwKObDcUPopzmVbMilqDleNjG3VTAiW5TlGYHLhozcCvOca66duQg1GKJLQN7PZzBmkDAVMhnqgWjCEZrRDyfKa+30IODSvqWHeenuKFeF+DDYmvfV5R5Y6jx0dMNyZC2p6jv2LOfR5dcOxaWSVDcdgs3LoSqPkht7nu6O1RXBl9yuOcfRxtI/N/iFTFKpdIFE/W639t4qeokSpF6K758tP8PIYlU0vUO48iHJUuGGedXWUc3QF6pQCLmlCrA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0A6H4cCEjUmuonuaVlnTiwc3qAkW9W1Fzc6f9S9e5ZM=;
 b=0ZgpGZxADseOnPX+RyDRtluGas/Z2TbWTUuX5GNHhBDbp3hxbOxydE6I3URlznGEAxLsGo1wllLTiI/qWeP8u8vsEjqCSvoLdKiA0da7kvB3n6sdVLbIVFhZmD5KW1x893GNb93pui6x+qB46/FZ2bAFcidZX+4GR5rity9vchw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <00793926-ef60-405b-e450-b42ccf939f5e@amd.com>
Date: Fri, 9 Dec 2022 09:53:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
To: Ayan Kumar Halder <ayankuma@amd.com>, Julien Grall <julien@xen.org>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>, <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefanos@xilinx.com>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, "Oleksandr
 Tyshchenko" <oleksandr_tyshchenko@epam.com>
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
 <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
 <e8aff19a-4992-9d35-4e78-9e64aec384f9@amd.com>
 <00ab59fa-d449-255b-bfe3-aaacb87e34dd@xen.org>
 <ca2db58b-0183-8972-0336-25bcabc99824@amd.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <ca2db58b-0183-8972-0336-25bcabc99824@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT020:EE_|BL3PR12MB6572:EE_
X-MS-Office365-Filtering-Correlation-Id: d63be598-db55-44e9-6eaf-08dad9c2d055
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	l/IJILFpfudu6CBNGS5TngUC+XqPk1lClJ6OZ1K9uGq3+GhXvOXYILl0/EYi3vZTKLHV5aUv1T9Xp+D5fqAkTSai6r87XBYUUZexuy661FDTMQ1F241aUb5VjpIKKvJ3JNz0g3a8EZL8SBUNK+6gjuTunmwLQhqGQsEPue4sJEGKfFFS5NvU+myMH4fx4QMo7wgkYBEV4lieKlEp8yJ3SuOmZyzNVHrzn3uWUM0xgoAJn2CTWRwkTDRHmdO0mg29xUcxZhnpPMV/6yOAGJ53uKvvzuhW8hngL1z3bkFhkRuY3sUtmAhgBB6QwkmGH4Rh/7F79hjlCmNqo7SpkoqFTIUs9X1CDJmHrfEroYzgquSRuJ+CtJBRUlhemAiNyljOKOSU7y/2zU1MtIVlDoV5aPmklzUCjQqylsCVGV49s/EQbVCxNXt7xOVVn81AjfC2mqXIL/vDPsJjNIxi49ND7/JbtcVyVD3vAA58PwKQDgfLg8W/z/jgI0pImsUMilAj6azeDypwqhuy/JGQW+FtvKva6HO0aq49dWjxxzbmQNso3QdA6GEz4OuSbpLkzyjRXho8vaRPsjp9jixAiW/sbavVdbb1XyqO7QaL+IJF/YHVAgbTHW+9dj8oejfyiYQXiJkpsDb/5tnyRK/z9JEpXZwluuGktIhbNIWBeouy6lMGaIIAeWU/+rsuDgeFUbI3l4Iu/vT4HDjKTwF6b2IFeXh8NiypUvuU+tmJh8KVJ3Ouvpzj2YIj+fzbTCqnXW+o5g0uKxAwuBxMhBPR2+s75Cnd279tnWBWzGFE5EQ95Ow=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(346002)(376002)(396003)(451199015)(40470700004)(46966006)(36840700001)(8676002)(86362001)(2906002)(31686004)(44832011)(41300700001)(40460700003)(8936002)(110136005)(54906003)(70206006)(16576012)(70586007)(4326008)(5660300002)(316002)(31696002)(478600001)(36860700001)(82740400003)(36756003)(82310400005)(53546011)(966005)(26005)(47076005)(426003)(336012)(83380400001)(81166007)(356005)(40480700001)(2616005)(186003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2022 08:53:16.7707
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d63be598-db55-44e9-6eaf-08dad9c2d055
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT020.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6572


On 08/12/2022 19:42, Ayan Kumar Halder wrote:
> 
> On 08/12/2022 16:53, Julien Grall wrote:
>> Hi,
> Hi,
>>
>> On 08/12/2022 15:24, Michal Orzel wrote:
>>> On 08/12/2022 14:51, Julien Grall wrote:
>>>> Caution: This message originated from an External Source. Use proper 
>>>> caution when opening attachments, clicking links, or responding.
>>>>
>>>>
>>>> Hi,
>>>>
>>>> Title extra NIT: I have seen it multiple time and so far refrain to say
>>>> it. Please use 'arm' rather than 'Arm'. This is for consistency in the
>>>> way we name the subsystem in the title.
>>>>
>>>> On 08/12/2022 12:49, Ayan Kumar Halder wrote:
>>>>> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
>>>>> result, it contains the default value (ie 0). This causes,
>>>>> kernel_zimage_place() to treat the binary (contained within uImage) as
>>>>> position independent executable. Thus, it loads it at an incorrect 
>>>>> address.
>>>>>
>>>>> The correct approach would be to read "uimage.ep" and set
>>>>> info->zimage.start. This will ensure that the binary is loaded at the
>>>>> correct address.
>>>>
>>>> In non-statically allocated setup, a user doesn't know where the memory
>>>> for dom0/domU will be allocated.
>>>>
>>>> So I think this was correct to ignore the address. In fact, I am worry
>>>> that...
>>>>
>>>>>
>>>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>>> ---
>>>>>
>>>>> I uncovered this issue while loading Zephyr as a dom0less domU with 
>>>>> Xen on
>>>>> R52 FVP. Zephyr builds with static device tree. Thus, the load 
>>>>> address is
>>>>> always fixed.
>>>>>
>>>>>    xen/arch/arm/kernel.c | 2 ++
>>>>>    1 file changed, 2 insertions(+)
>>>>>
>>>>> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
>>>>> index 2556a45c38..e4e8c67669 100644
>>>>> --- a/xen/arch/arm/kernel.c
>>>>> +++ b/xen/arch/arm/kernel.c
>>>>> @@ -222,6 +222,8 @@ static int __init kernel_uimage_probe(struct 
>>>>> kernel_info *info,
>>>>>        if ( len > size - sizeof(uimage) )
>>>>>            return -EINVAL;
>>>>>
>>>>> +    info->zimage.start = be32_to_cpu(uimage.ep);
>>>> ... this will now ended up to break anyone that may have set an address
>>>> but didn't care where it should be loaded.
>>>>
>>>> I also understand your use case but now, we have contradictory
>>>> approaches. I am not entirely sure how we can solve it. We may have to
>>>> break those users (Cc some folks that may use it). But we should figure
>>>> out what is the alternative for them.
>>>>
>>>> If we decide to break those users, then this should be documented in 
>>>> the
>>>> commit message and in docs/misc/arm/booting.txt (which interestingly
>>>> didn't mention uImage).
>>>>
>>> So the first issue with Zephyr is that it does not support zImage 
>>> protocol for arm32.
>>> Volodymyr added support only for Image header for arm64 Zephyr.
>>> I guess this is why Ayan, willing to boot it on Xen (arm32), decided 
>>> to add u-boot header.
>>
>> If that's the only reason, then I would rather prefer if we go with 
>> zImage for a few reasons:
>>  - The zImage protocol has at least some documentation (not perfect) 
>> of the expected state of the memory/registers when jumping to the image.
>>  - AFAICT libxl is not (yet) supporting uImage. So this means zephyr 
>> cannot be loaded on older Xen releases (not great).
> 
> I am exploring for a similar option as Volodymyr ie support zimage 
> protocol for arm32.
> 
> But for that I need some public documentation that explains the zimage 
> header format for arm32.
> 
> Refer xen/arch/arm/kernel.c
> 
> #define ZIMAGE32_MAGIC_OFFSET 0x24
> #define ZIMAGE32_START_OFFSET 0x28
> #define ZIMAGE32_END_OFFSET   0x2c
> #define ZIMAGE32_HEADER_LEN   0x30
> 
> #define ZIMAGE32_MAGIC 0x016f2818
> 
> Is this documented anywhere ?
> 
> I had a look at 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/booting.rst 
> , but there is nothing that explains the header format.
> 
>>
>> Note this doesn't mean we should not fix Xen for uImage.
>>
>>> Now, there is also a question about supporting arm64 uImage kernels. 
>>> In Xen kernel_zimage_place,
>>> we do:
>>> #ifdef CONFIG_ARM_64
>>>      if ( info->type == DOMAIN_64BIT )
>>>          return info->mem.bank[0].start + info->zimage.text_offset;
>>> #endif
>>>
>>> So if we modify the uImage behavior for arm32, we will break 
>>> consistency with arm64
>>> (we would take uImage entry point address into account for arm32 but 
>>> not for arm64).
>>> At the moment at least they are in sync.
>>
>> That's a good point. It would be best if the behavior is consistent.
> 
> Currently, kernel_zimage_place() is called for both uImage and zImage.
> 
> Will it be sane if we write a different function for uImage ?
> 
> Something like this ...
> 
> static paddr_t __init kernel_uimage_place(struct kernel_info *info)
> 
> {
> 
>      /* Read and return uImage header's load address */
> 
>      return be32_to_cpu(uimage.load);
> 
> }
> 
> This will be consistent across arm32 and arm64
> 
All of these does not make a lot of sense because we are allocating memory for a domain
before probing the kernel image. This means that the load/entry address for a kernel
must be within the bank allocated for a domain. So the kernel already needs to know
that it is running e.g. as a Xen domU, and add corresponding u-boot header to load
us at e.g. GUEST_RAM0_BASE. Otherwise Xen will fail trying to copy the kernel into domain's
memory. Whereas for domU it is easy to guess the memory bank, for dom0 it is not.

zImage and Image are image protocols, uImage is not. It is just a legacy u-boot header (no requirements
\wrt booting,memory,registers, etc.). It can be added on top of anything (even vmlinux or a text file).
So I guess this is why Xen states that it supports zImage/Image and does not mention uImage.
A header is one thing, the boot requirements are another. Supporting uImage is ok but if we specify
that it must be a u-boot header added on top of zImage/Image.

> - Ayan
> 
>>
>> Cheers,
>>
~Michal



From xen-devel-bounces@lists.xenproject.org Fri Dec 09 08:58:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 08:58:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457702.715672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ZCz-0007rM-Mx; Fri, 09 Dec 2022 08:58:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457702.715672; Fri, 09 Dec 2022 08:58:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ZCz-0007rF-K7; Fri, 09 Dec 2022 08:58:17 +0000
Received: by outflank-mailman (input) for mailman id 457702;
 Fri, 09 Dec 2022 08:58:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wVCj=4H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3ZCy-0007r9-SX
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 08:58:17 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9d8da0ae-779f-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 09:58:15 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBAPR04MB7352.eurprd04.prod.outlook.com (2603:10a6:10:1a8::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 9 Dec
 2022 08:58:11 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Fri, 9 Dec 2022
 08:58:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d8da0ae-779f-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XTytbm4n/IQHghy6zM2T/iUkJ3tLMF+wmjTRfymWNZlpT3YJDUIgSyf6YghXujXivOGEakf7EOXqJoeWD5Ty8qEM2E9FpwkSbSOEWyo9mhHZEFnlDyCvTEPzmcpBHSrkJMBWGuXiBPcwvqNu13xsVwkI3++GmdAkLvll5M3JZRaLToOYCrDIUAtQxSusis7xq5B7SmtdyPL8JmLa6AIUGZEFeIpIFtEmO3Kb7CoQoXYVvPrVzrfjn0ZOGXe+dlnGLABURCyEAymrTnTG6LwAzy2pwOjCfvpMb4INtWAAuIB67g1IuyuCSpZYR/gd4aXpxsHUGd3SdAiYw5UM/9YxQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YFkS52ridadVxbHme1pKmW2X2R6e4btA1Hn+FJ6AETg=;
 b=VW1j688EUEiXAboL7oLuNXGebqlXlqY9mAzypdwJbO9rR0s17/jYelwZ/Jn1k0E6Lh8Es7eZAdLj5YTk9gffs9FhtkErVXTkdOOngttpwmoaxvMZWHRoMZOjShjxjUqG++wFCBa0XKGbUJ/b00J2kZyt7A/zVk9cAO14ZCOlET8KbRhQUARTHQDajEX4s4CmamNUGsGigHNorVjTNhXOuoZwoSRh321sSBMQRwxuwpHjSZTC8IwGL2JmRF7u0JcE/kydCawuf7JcpgEsQFH5BvJVmCcTI9TWoTPxFy3I/YxcOmupDBtXADCKKMvzsnUNISxOT/zJHolQ/l4JwL8ADQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YFkS52ridadVxbHme1pKmW2X2R6e4btA1Hn+FJ6AETg=;
 b=LHd5vea7DyfotteWw2sO68S/pP0w6w7Boy8++Jx60SUz6oUY36dRUZW/ry63YX0HanWlgFAD9Dg6PNiUpIJ8AWK2DNjdY31S0rUNY+E91qXpqqR22cgpVgL0mMoARC7vRJJkaPnLja8bENz2t5SlWEsKd53jjj7WUYQV1ye6Vc4D/VP0IdxqoIC8s4nu2/p6g32utlbt+ZoWfAbOcwFhZexcKn1jb2sDyyOoX/axi9BM0FeE9ZOF0XBsQqoxcs7v/5uwod3fc3BnTt4vFnRxZVsGoI/zzK5vdFdEylANvuQNPCsEiCbK7f8FUMreEjr1gjBhWCbj+cHIX2oJceGd9Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eb35b7bf-3a49-4faa-3ea6-a6076f032fd6@suse.com>
Date: Fri, 9 Dec 2022 09:58:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: MISRA C Rule 20.7 disambiguation
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
 george.dunlap@citrix.com, julien@xen.org, roger.pau@citrix.com,
 burzalodowa@gmail.com, michal.orzel@amd.com, roberto.bagnara@bugseng.com
References: <alpine.DEB.2.22.394.2212081619310.3075842@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2212081619310.3075842@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0082.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBAPR04MB7352:EE_
X-MS-Office365-Filtering-Correlation-Id: c8e910dd-8b8d-4798-824a-08dad9c37f23
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+IexkYMOJYlI9QXZgsGD2ygsfRheBYminw2r49fiHGF6V2Q2QYdsR9qgS0DJ4V43NL+eQfqvQK90L1/bAKDr0VVMN0+AK80K8pDOdHPC7tSCNC+7kyPvEYsU47zuc8BnQEI+PEot3y+jyD3AD5hVE9Wh+dJMb4fd4cpGUxa2JFQD+aP4sUM1lon56l6kU1ktA8QgLigVgbUObVzHO54cp9eYAJxHqVqDknjlEpPKb+x0Boi3FHaoA06Jzs3TSI6WSFxCDUjhd71plwFu/eFQ5/qU55cNrbXX5hr5fOhDTUoxajUyLa2t1nK+2cmf5/0WwAnUchEjVMO5Maz4nmBy72rwzhV5OvkHzZPqRqd4+TOtO+l6qLhin2muSzXMquNcM81EUxrvRQKg/kMNng28yJ/+EyCWef6aynhENiq1Go4CTAMNtk/GIRdM/1CXbdKUi1bMuE117h2droekVcN+hCQmF4y4UsPdUCw9upknt5OZwtS1VOKcxET/z8cfSCKZfdPlKT2Qd5I5BkA1txAAqT4jiFDzztitcnHBW3L61uUgt7hIfOH+2Ql1QoyVNk4QHljAMBGKWW/l5soMQrfj2jfmjEEsOp7/wl2/xyZu/tPTj8DwAbWWbbbKqVoEARyZ61DUF4JHONtyi1AEC/EpMgr6gEwIR5pBPLxQRPh5YRM7sZLjsp/uZMOHvOg6z5O2Jj9Eq4zeb5RrvQEhVmOEaSlF+iOPs44xf6imAfXZ3PQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(136003)(376002)(346002)(396003)(366004)(451199015)(2906002)(5660300002)(31686004)(41300700001)(478600001)(6512007)(26005)(186003)(83380400001)(66946007)(66476007)(66556008)(36756003)(8676002)(8936002)(4326008)(38100700002)(316002)(86362001)(31696002)(6916009)(2616005)(6486002)(6506007)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MEZXTjQyWGYvRXVwRDllVUtpT1QwaDQ4RnB4ZjVtSytHWU5sS3VvOWQ3akE3?=
 =?utf-8?B?ejYxZDl3OW14Q1Q3UDQ4Vksrb2MzdEw2Qjk2cVFScWNwQ0xueGFDeUJrNjcy?=
 =?utf-8?B?amxzd1MyeG45WG5JS3lyakZMQ1J5K09BUG5hYVdDa05ZZmpjSTNHUWdRVFBn?=
 =?utf-8?B?MnNDVk1LWU5qWjduZVNXelNRV2dVNklhTDZBMW1ialMwTFNQWVpOa2E3ZmZv?=
 =?utf-8?B?ZE0vQko3aHdpbkFEWkYyNDRxN1pVa0s0V3VIOU8rQUJ3WFRGZHZIR1Nuek1J?=
 =?utf-8?B?aFJXcU84SXQxeDNlNE81T21kNlBzZVdkc0xmUnoxRjE2dE1Gc0RqaGwvWHlt?=
 =?utf-8?B?RDVrb2FOU3ZGbkQvMGRCNkx0N0RPc3lYOEo2aVdhTm1jZnJBNHZoQ256MElX?=
 =?utf-8?B?U0lTM25VdVVudnF6QmsxZkNUUGVhRGdQbjNVb2IvU2M3S1JFbkNyUUNIZjNw?=
 =?utf-8?B?UFdNTG1iNHQwR2FMelU2VmFjajlQVHVIMndubVlEeU80bEIyVWdRbnUvNkhu?=
 =?utf-8?B?Rk80dEhCVkUyajJOOXRqZGtycTA4WGtHbEJsNTQ4T3RuMzRWNW5tYnlQcTRK?=
 =?utf-8?B?TzdraGpubmdIZlluSmpSM0Y0TEY4Y095dVgwellTa3dOdTNQU3U1ZUJ1TklH?=
 =?utf-8?B?V3RIeHNUM3lER1ZBWkFoOFZCT3dnQUdSR29RVUhqYlVxMFlvRk1aeHVqZHNQ?=
 =?utf-8?B?NFU2bm4rZW9mZWdrcG9XZ0RneGpFYkNwVzdldTR0NDR2WDdDZ3pZaWxxdFNC?=
 =?utf-8?B?Vjh6a2xublFHQUZoSVJqelhsa0Z3b3JZdFR0UzU4ZUlDcFdhWnNvVE9DQkpD?=
 =?utf-8?B?dlZmbFVocldzRE0vTmVaeWJSaC9JWGxrWXZVWmgwcEUyOUNtajNGNXdJZTQr?=
 =?utf-8?B?TVkzTnFPekZzR2J4QjRwK2dBWmdrckNNMXMzanVaeVhsYXVCaW1pM2NEV09i?=
 =?utf-8?B?bFN0S0V3ZXgrclJma282SG41dUdWcCs1TVdUTEY3QWxFUGZPVkVuNitWMHhn?=
 =?utf-8?B?UnMwcjBRQ0VQMzg3bmZxRkJTL2hWUkIwQ2ZzWk81b3pNbThnd2lQb1J1N1pv?=
 =?utf-8?B?dng2VGJObmZMUW9jaWVieFBNa2Npc3hpL2ZuUzlFTTQ4V3lPdmpnR1d3MUdM?=
 =?utf-8?B?NG5LOUVXdEt0N1FCc0pLUWRSM2R2OFNVQmhVSDcvbExodXB0bEJqTmwyTSsr?=
 =?utf-8?B?di82bmYrTDhYblF5WWdzUnpPSGJtOVo1RFhqcUhPbUFLNjJ1b3luUUE3Ylgw?=
 =?utf-8?B?L3B5ckVUbVFhZXpGQlRIcEtNd3N6SmVFTlZVNmp4UVp3K1RlTFFxa0p4aDZl?=
 =?utf-8?B?bWJpRFloNGhXTEdZNVM0aWhNcVdPUWNnbWtveTRBRi9rNWlvNko3WXJiWkJR?=
 =?utf-8?B?ZlluQStPVnNxZStmbEFzOFcyUzJYVnRJbk0rb0FMUkltb3Zkc2loTHUzODZj?=
 =?utf-8?B?V05tckU0Sjd4dWdMNzdxVHE1S3NyUEx2bS9jZUtKTEhPR2xISzJCbFBlcGFx?=
 =?utf-8?B?TVcwWFM0L0RhT2I1MzQyZDR4azNuSVI4N3lWbDZ2VUdzN3NiWWU3a1puQk51?=
 =?utf-8?B?MEQ3SWpGOVUwNXZQUDJjNXNJNzBRZm1ZYmRBUkRMU1NGN0xuRFhMOXVNeDhh?=
 =?utf-8?B?QWFHR0VCMndVbklFRitHZnFwVEVOTXBTM3lRelFnSlFDVGlhWndka0tQbVpK?=
 =?utf-8?B?SmEyME1jK09pYjJpbFNTRHBoRlcwSGl1T2EwNTJsdWRoeVV3MUVrRVd1QU8w?=
 =?utf-8?B?ZTBhK2JHTGhCMGF6SmNwbFFSNnBHMHFTaEZSdWQ4T2VwNlZJbUZUcnlwVk94?=
 =?utf-8?B?bWJBbkNHREZ3dHYwTjZzejJPZlErN2FIdGRrWjc4RjVPUDVIaUYwQ2V6N25w?=
 =?utf-8?B?YXE2MUp1MVdVVWJtSWZYQzZYZW9naktXY1hFVThBUFp3c05FSmxyTVBzZFl5?=
 =?utf-8?B?UDM4WGhnNXFRSVpKT2RnSkpTOENWRGRQOVZLVlMyRjFZeGxwNGxMOFMxUTBB?=
 =?utf-8?B?THVzNlZCM2IvbktxY3dNUjcyWDBhKzVTR0dnMHJlSkwycXFSOWtGM3U3OW4w?=
 =?utf-8?B?Ukl5SWpRK0RxaVlSS0wrSXcveU9EOTlWTmM1c28xUWwrT3pNTHlaMElPWm5X?=
 =?utf-8?Q?b2UWADshW5bt/oAdTwd3cB8Tc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8e910dd-8b8d-4798-824a-08dad9c37f23
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2022 08:58:10.2948
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pZsHegdJ6QZ1GiaIacD8b3jU2Gtskhat4/CefyqJlRAmV6WIkJDHsuWKEHUBCL1zztoO5um7uumfH667/hyb/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7352

On 09.12.2022 01:45, Stefano Stabellini wrote:
> This patch is to start a discussion in regard to rule 20.7 and its
> interpretation. During the last MISRA C call we discussed that "our"> interpretation of the rule means that the following two cases don't need
> extra parenthesis:
> 
> #define M(a, b) func(a, b)
> #define M(a, b) (a) = b

I'm puzzled by the latter. Iirc there was discussion on whether the LHS
of an assignment needs parentheses, but I don't think there was any
question about the RHS wanting them, irrespective of the facts that only
comma expressions have lower precedence than assignment ones and that
evaluation goes right to left anyway.

One aspect speaking for parentheses even on the LHS is that an expression
(rather than an lvalue) passed as macro argument then uniformly becomes
invalid, i.e. not just

	M(x + y, z)

would be rejected by the compiler, but also

	M(x = y, z)

.

> Moreover, MISRA C states that parenthesis should be added when the
> expansion of a MACRO parameters would result in an *expression*.
> 
> Expression is the important word. Looking at this *compliant* example
> from the manual:
> 
> #define GET_MEMBER( S, M ) ( S ).M
> 
> It is compliant because S results in an expression so it needs
> parenthesis, while M does not, so it doesn't need parenthesis.
> 
> My understanding is the following:
> - is it possible to pass an expression as a parameter of the MACRO?
>     - if yes -> need parenthesis
>     - if no  -> doesn't need parenthesis
> 
> 
> As an example, cppcheck reports the following (from xmalloc.h) as
> violation:
> 
> #define xmalloc_array(_type, _num) \
>     ((_type *)_xmalloc_array(sizeof(_type), __alignof__(_type), _num))
> 
> I think this is a false positive. We have already enstablished that the
> "," operator doesn't require parenthesis, so "_num" is not the problem.
> And there is no way that adding parenthesis to "type" would allow an
> expression to be passed as the type argument.

"Allow" (here and elsewhere) is probably not a good word. You can pass
_anything_ to a macro. The question is whether the macro expansion
would yield something sensible. And another question is whether with
parentheses added the result actually still compiles when the macro is
used as intended. The 2nd aspect is relevant here - you cannot add
parentheses like this: ((_type)*) - this isn't a well formed cast
anymore, and the compiler will complain. _If_ this is what cppcheck is
complaining about, then this imo is a pretty clear bug in the tool.

> Let's take another example:
> 
> #define xzalloc_flex_struct(type, field, nr) \
>     ((type *)_xzalloc(offsetof(type, field[nr]), __alignof__(type)))
> 
> "type" is the same as last time. There are 2 other interesting macro
> parameters here: nr and field.
> 
> nr could result in an expression, but I don't think it needs
> parenthesis because it is between []? However, we know we have a clear
> exception for the "," operator. We don't have a clear exception for the
> [] operator. Do we need (nr)?

The question of whether parentheses are needed clearly need to be based
on whether without parentheses anything that looks sensible on the surface
can be mistaken for other than what was meant. I think [] simply are
another form of parenthesization, even if these are commonly called square
bracket (not parentheses). For this to be mistaken, a macro argument would
need to be passed which first has a ] and then a [. This clearly doesn't
look sensible even when just very briefly looking at it. Plus the same
issue would exist with parentheses: You could also undermine the proper
use of parentheses in the macro by passing a macro argument which first
has ) and then (. IOW - adding parentheses here adds no value, and hence
is merely clutter.

> field could result in an expression, so I think it needs parenthesis.

No, field (and intentionally named that way) is a struct member indicator.
Neither p->(field) nor s.(field) are syntactically valid. There simply
cannot be parentheses here, so the same conclusion as near the top applies.

> Just to be clear, I'll list all the possible options below.
> 
> a) no changes needed, xzalloc_flex_struct is good as is

This is it, and not surprisingly: This construct was introduced not that
long ago, when we already paid close attention to parenthesization needs.

Jan

> b) only "field" needs parenthesis
> c) only "nr" needs parenthesis
> d) both "field" and "nr" need parenthesis
> 
> Option d) would look like this:
> 
> #define xzalloc_flex_struct(type, field, nr) \
>     ((type *)_xzalloc(offsetof(type, (field)[(nr)]), __alignof__(type)))
> 
> What do you guys think?
> 
> Cheers,
> 
> Stefano



From xen-devel-bounces@lists.xenproject.org Fri Dec 09 09:04:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 09:04:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457713.715682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ZIu-0001BX-E4; Fri, 09 Dec 2022 09:04:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457713.715682; Fri, 09 Dec 2022 09:04:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ZIu-0001BQ-BR; Fri, 09 Dec 2022 09:04:24 +0000
Received: by outflank-mailman (input) for mailman id 457713;
 Fri, 09 Dec 2022 09:04:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wVCj=4H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3ZIs-0001BK-Uh
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 09:04:22 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20624.outbound.protection.outlook.com
 [2a01:111:f400:fe16::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 780cec6c-77a0-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 10:04:21 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8374.eurprd04.prod.outlook.com (2603:10a6:102:1bd::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 9 Dec
 2022 09:04:19 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Fri, 9 Dec 2022
 09:04:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 780cec6c-77a0-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Kuwrxz+0D01L1x10kYHDWwTu1miBKPFJ6S45OqVZ9c0tPBwD3VYgHJ2NEHyzYp6xcVqIRmLrhI8Aa2o2b58BndHFaDFUUewQ7SeK8Hit/yzUPTHhR/PZN1xDSgzK5DsIZ+vL0/9m9nczNmww06bRjI6bMMX1sy1tLcdTiufzjXLuLWtFFAqOWIPXNxYag+H+ttfhV3aesoMRqmgwOsoUQqa9JhxbhUhxsKvea8xsRrZ16AvrMspFaBryMRPTYFzrPiT4ZaBSTHVRDrAfn08O4Eol3Gf30ps8N9Yse+eOKtrl/0AOfsJ7BSa/8hBR78UhqhqYzitbdwlaQ69cQ+JvrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1ZTMm8FnIb7IyS1Qz5SW8sEglnaz/WvcoZ5DWb/SS20=;
 b=CM5EiifIOcAwkeu0NpTRjMGwMx9zleaAFx/1f35nlUa6047uMbtVTyEJVQ6j1JSJQTK4mpHAQfzUNmTti9mBauJPl+kL+PrH7WU6HRFH5PPMGjJBIo/hyJu/aUh5bd2NZ/Drb7AN2qssTylFV17M9H53zVUzaEvh12+IRTvdbW9rYKH5ZO5ayPAU3Xxo4qJNgMn7C6gVUvGJVGgJXiD3dszBbLYN0ZZ9lFyOaPvWWq2mwzvzAEh/VkgIL25gbz79ykHjavcgJyu3UTbBcLc7Np3od/duNve4Lcdw26a/+XWRNPbG/OU/nlOQg+/FFg9ruhQyvaNuVIWRd5c+Bjr4Iw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1ZTMm8FnIb7IyS1Qz5SW8sEglnaz/WvcoZ5DWb/SS20=;
 b=cu0q/UoSAmuPDhweMs0IS8i06es7nAIs2CnAs14pQVX/LJhNhZhjC+UQbgo+pbZs+npL1fTODUdNkMyzsFg/D5kG9IA9o93B2rKGJu8R78nEt4dSkyZ6VqLY8Y34wwjE6O1Uw4f+nWUVuHzSre2u0P7MI3QADoLGnT6kNjBP6U8DodX7HSggevdNG+8IVQ46UYnpgy4kkTYOaAoMMDoX2sRi7dRGfmhJ/1WNz1dpG7eCEV6VI3l3YnUoTFHqvjHOtTJoJQjUzifs9mLXWMOTuSxyujmn9Z626rtbbT45i/jrc5VZvkzAdgNSTk+ygo9MYpR8E1uDy7CW2FTuxVtphQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ddb12b37-fef4-b603-6a8a-ed474757c5b4@suse.com>
Date: Fri, 9 Dec 2022 10:04:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] xen/arm: efi-boot misra rule 4.1 fix
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org,
 julien@xen.org, bertrand.marquis@arm.com
References: <alpine.DEB.2.22.394.2212081538310.2965472@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2212081538310.2965472@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0165.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8374:EE_
X-MS-Office365-Filtering-Correlation-Id: 6d1118b4-7e1c-4934-eccb-08dad9c45ae5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	G8yBjYBvDAs9YB8/T67fYBZ2z79BjRQ20wZV/bHB6cLRya/mFDlkmLHDmFEH8v6YeD7+HBITVYPYT1weWsfyk8cIu25IitiQQvI71uCg2l0K2ZXaRIR+PVihPa1ptad7vNeOqZ+92HaZL1hkhvRPn4AV8S8yW1neDnIWk+HuhRdqRV/GyhapPKu19MBJ3TldEarClIm9QUtu2qn8X/5D/ENuNy6Ml/xfoRQyR4x0ZtJM7rqcP5KkN2mjeLpb/1qp+rNuMt3kmPQpE/ZAO8QardtrtF3dBzSAe0SDer2EIghg19lP4Yia7WtCq2xEVa564OTsU+CxOfcmArhIJrYkHyV1qsiZQ0JMBt7KS5VwSZ+2Oi2NWTlj2jy3ytphBO5IwRK1i7FmspJxRJezI0Wl+msld36MM55OSRQdi1kOArp3ByQlspbpeLBJBexAaYy8j+8ajCoVS3qIgxwibKQtnjSEOHzqrHA8Wg+z+fHLDXbjIHje8Z0NZ3DGSdhx+N3zyfkkeT2MRcEZbKiXFasFt0ohYHhLLl3RHglgZIrm4GkJCtDV15QNmEECdq4639pkxmGEQ0/NOX1WE/Ylf/ZrFDfbdMs3wKsrTeg1rMdevk9s5yF9ujmnysLrfHUDEx9FBJFvAPbr38w2d+A8sc4LUbz14tjVw3dQ8k1t3SSf9UpKCLVpNgE6LbUcGlcjGhhu95GhY4W0m9EO1YtiXHhw5zRyB+jKEkjsJsbQl/hM07s=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(366004)(136003)(346002)(39860400002)(396003)(451199015)(478600001)(6486002)(6506007)(86362001)(26005)(31686004)(6512007)(31696002)(53546011)(6916009)(316002)(38100700002)(4326008)(66476007)(8676002)(41300700001)(66946007)(66556008)(36756003)(186003)(83380400001)(8936002)(5660300002)(2616005)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SFNKUFlVYUg0ZlJRc3ZVblJCUGRFaHBiWDlTOGxCcytJcXYzZW82TktwcEdi?=
 =?utf-8?B?aDF1Qk1pa2k5Y1VwcDZ1bUVzSC8vdnJQOEhrR2tSMklUalhXT2dQRllHTjVK?=
 =?utf-8?B?ZzV2S0hJM3N6MFZOZjZCaXJzQmFrZEdpcDhHMVd0TEVSZ3ZBZnhKeGRaSGsw?=
 =?utf-8?B?MklNanVhWVZPOVJqL2svdkRoenBxWnEyejByV0tmTmFFMmtYeGp1WU1iSUNw?=
 =?utf-8?B?MjY2YmM4cFF1R2RsRy9MRFFZOW5iN25DaklqR0paYk41Uys5TzV5eURsM1Bj?=
 =?utf-8?B?ZXVyVzBNOE92SytSOFBobWM1Wm5ObW5waUV2bUxmSFY0bjJnR0pZQ2VrWEhj?=
 =?utf-8?B?a0tMaFZNUC9Vam5Cckl1cTA2bm9jdzMrSm5ud3NQQkpMNUd1OHI1VklXZjJ5?=
 =?utf-8?B?Y3laV1pnV0huelN4NG5yY01lWkFSdFdnWkJvUW5YK0tDcm5kMEF3VTRtNE9O?=
 =?utf-8?B?Ty9XNVVMT2hwQ0ZpMlExYmY4V0JnK2pRZ0lSS1dzVkFJU0I0Nk1kS0FYSk1C?=
 =?utf-8?B?Z3lpTTFJL242Y3ZGdkZaVnlHdlRWcU96cU1LOXVJZmdKdnc3QjJnR0xIUXc3?=
 =?utf-8?B?dllHVDEzdlJsOENjbHV5dTFpTWd0TjRWSGJ2VmFYRVdtTk5aWm9UZ05KVWRN?=
 =?utf-8?B?WWRXaUZwYnQzR0NhSUVENzhMTnVsbDhaMmVkamFtMFlWRS8vKzJCSXp1UFZW?=
 =?utf-8?B?ellTRWNPUzVmWkczTVYxQzRxbUNaaTNaTmQxS2pNSk9Nek43T0ZSWmFia3lW?=
 =?utf-8?B?ekZ5ampsdkhOaTQ2RkFBSjZjRElheW1lUmdZamtXN1hDSTZIeWpxazZsWTJF?=
 =?utf-8?B?a0k5WndQdTBHUzJBcVkvbC9YKzhPOVBUQWtudG5DQS8zUk5KdkxSTnVIR1RT?=
 =?utf-8?B?M2xrZkZIL0R2QnIzdTVQNitUUUpnUTIzNmhYbUpJdHJ4ZXoxcFZFZE1YTFBU?=
 =?utf-8?B?U1U1eUQyVzZwaUFTRnQ2cmtyVURMYjUwbmZYUk4vaUVDZG9aektub3lIbnRF?=
 =?utf-8?B?dzBUUENOZ0tDOWM1ZUNjSklaQmlYTVlmc3hmZzkySHNYUytQSFFiblJkQTND?=
 =?utf-8?B?SFFYQW9OY25HNFFsM2NqM2lRcHc3c3Z0dWFFVnRCYjl4UzJXOGYzQ0hHc0FP?=
 =?utf-8?B?MVR5ZloxRWVBVEJOSUcrb0QwOHpXZ1B1M09tSzBheUV3WUtDWlVKM0xpZmxD?=
 =?utf-8?B?RWM3YlE0SUVVTkVRbXMrQW90SjE4UWRxS1pHS2xSUHdLQ0lHbkNMektrQVNG?=
 =?utf-8?B?VVlKK1pMYm1ZaFE3LzRWOUdUOHFiVWdsNnFNMVR4TitQUG94aXphaTFXUjhT?=
 =?utf-8?B?Y0dENllmSFMrVE9CbjJ1Y1NTRzNJTnFWZTY4SnYrS01wTXc1LzJsMkp1SHVy?=
 =?utf-8?B?OThNOUZlTWFDRC9GRDExRldMa3k0bGRTWG81VEVORVhESmoxZG9vM3ZTVWJ0?=
 =?utf-8?B?K09LZmxuclBBK1c3WkVsTURMMHMwZks0TTBpdU5TWGRoNEQrZzZ1VkNDNnFG?=
 =?utf-8?B?bEJZcGVWTWJmRk80VFVvSnpxN1llV1pTTkhVTk92K3l5cys1TWxvZ1lHTXVa?=
 =?utf-8?B?Y1N1Q3BuV3hjM0hnbzV4TkVTcUlvL3pIZkNScWNPdTFkTUZMQjlDeWZDQ2h2?=
 =?utf-8?B?T2lJTDJNa0IxNkd2Y1p1emRiZ0RzVE9lZjV2OFBJTVhvdkVxN1o0Wkd3UkN6?=
 =?utf-8?B?RWd6Ym5mQ0xkTThSYzluTldZZ2M3RHdRVExsQmN6TVhybnZXK3hJODd2RDh2?=
 =?utf-8?B?NUxKcjk3TklrUXRKTkxvZEhYRlBIYmxrUXltUjRvVC9HTEZqWU5UWmh6aWZ5?=
 =?utf-8?B?d29rV0g1N3I3MEZkY3c4VjZ2YkRqdGlGV0lLcEFzWXMwdkk5aG5jN3BBclE2?=
 =?utf-8?B?VytHQUdwd3ozblZIT2ZEWExzbVFnS1dqNnY3YjZqNjBKcUNON3owNGVydHRx?=
 =?utf-8?B?Wmg0NnE0dVhkWDhLemhQaVUwSEozTVNzV2xVdTBYZjNPcFZoQ2tBd1lsSEZ3?=
 =?utf-8?B?RnlncTIwT3RDWlRyL0dsS1B0bFE4MklLWTJMMmNCa3A5ekprcjJ5Sm1MaHhn?=
 =?utf-8?B?aHI5QkxnTlliUmg4MEV6cFVZY2NIcWFzcjdUYTBLWjhodkNWNTltdXVTWHQ4?=
 =?utf-8?Q?ltwqZYup3pgptdOReJ6Kw4gvc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d1118b4-7e1c-4934-eccb-08dad9c45ae5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2022 09:04:18.9744
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WsVoMXMjWdIinlKP+ePjpCNaPRViRkijCqlAIJvp8VJUxK8lqPWULD0an21mnIPNp94Uj0wa9zFJZNSLU5M9yA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8374

On 09.12.2022 01:41, Stefano Stabellini wrote:
> We have 3 violations of MISRA C Rule 4.1 ("Octal and hexadecimal escape
> sequences shall be terminated") in xen/arch/arm/efi/efi-boot.h. Fix
> them.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

While I certainly agree, I wonder if you don't want to correct style
(missing blank line after every one of these declarations) as well as
data placement (all three should imo be static __initconst) at the
same time.

Jan

> --- a/xen/arch/arm/efi/efi-boot.h
> +++ b/xen/arch/arm/efi/efi-boot.h
> @@ -542,7 +542,7 @@ static void __init efi_arch_handle_module(const struct file *file,
>  
>      if ( file == &ramdisk )
>      {
> -        char ramdisk_compat[] = "multiboot,ramdisk\0multiboot,module";
> +        char ramdisk_compat[] = "multiboot,ramdisk\0" "multiboot,module";
>          node = fdt_add_subnode(fdt, chosen, "ramdisk");
>          if ( node < 0 )
>              blexit(L"Unable to add ramdisk FDT node.");
> @@ -555,7 +555,7 @@ static void __init efi_arch_handle_module(const struct file *file,
>      }
>      else if ( file == &xsm )
>      {
> -        char xsm_compat[] = "xen,xsm-policy\0multiboot,module";
> +        char xsm_compat[] = "xen,xsm-policy\0" "multiboot,module";
>          node = fdt_add_subnode(fdt, chosen, "xsm");
>          if ( node < 0 )
>              blexit(L"Unable to add xsm FDT node.");
> @@ -568,7 +568,7 @@ static void __init efi_arch_handle_module(const struct file *file,
>      }
>      else if ( file == &kernel )
>      {
> -        char kernel_compat[] = "multiboot,kernel\0multiboot,module";
> +        char kernel_compat[] = "multiboot,kernel\0" "multiboot,module";
>          node = fdt_add_subnode(fdt, chosen, "kernel");
>          if ( node < 0 )
>              blexit(L"Unable to add dom0 FDT node.");
> 



From xen-devel-bounces@lists.xenproject.org Fri Dec 09 09:04:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 09:04:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457717.715694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ZJG-0001di-QC; Fri, 09 Dec 2022 09:04:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457717.715694; Fri, 09 Dec 2022 09:04:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ZJG-0001db-NP; Fri, 09 Dec 2022 09:04:46 +0000
Received: by outflank-mailman (input) for mailman id 457717;
 Fri, 09 Dec 2022 09:04:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=gyox=4H=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p3ZJE-0001BK-O2
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 09:04:44 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84fb0ec7-77a0-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 10:04:43 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7FDCB337FE;
 Fri,  9 Dec 2022 09:04:42 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 50B6413597;
 Fri,  9 Dec 2022 09:04:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id /oNXEir6kmOjVwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 09 Dec 2022 09:04:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84fb0ec7-77a0-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670576682; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=5M6mhTepNvubs5KJ1uAQrBpbdhbshLRIxZcGGcsTcJ8=;
	b=ievXP7EpI7qrCK+lCfxRTOfku1L9i2F+zFGN2oPRyWilCUqsxXUPjvHxqOpTd47ezuVakd
	7z40ASZX0xku7993fLDOFIRG2liIS1yTDKT2RZL7zLgZQhxSEjws1FKI0x4T+pbgYrQAyK
	+JklqRI7H/RqEgwa43SegNifbZZa2oI=
Message-ID: <15fff7b8-b030-edf9-5bff-073b9757cb2e@suse.com>
Date: Fri, 9 Dec 2022 10:04:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Content-Language: en-US
To: Per Bilse <per.bilse@citrix.com>, linux-kernel@vger.kernel.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 "moderated list:XEN HYPERVISOR INTERFACE" <xen-devel@lists.xenproject.org>
References: <20221202182254.784808-1-per.bilse@citrix.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] drivers/xen/hypervisor: Expose Xen SIF flags to userspace
In-Reply-To: <20221202182254.784808-1-per.bilse@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------o44iGprAE1ybSGGRvvu4Vakp"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------o44iGprAE1ybSGGRvvu4Vakp
Content-Type: multipart/mixed; boundary="------------cyNnjJjpEBcsCCUfgkKqZZYu";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Per Bilse <per.bilse@citrix.com>, linux-kernel@vger.kernel.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 "moderated list:XEN HYPERVISOR INTERFACE" <xen-devel@lists.xenproject.org>
Message-ID: <15fff7b8-b030-edf9-5bff-073b9757cb2e@suse.com>
Subject: Re: [PATCH] drivers/xen/hypervisor: Expose Xen SIF flags to userspace
References: <20221202182254.784808-1-per.bilse@citrix.com>
In-Reply-To: <20221202182254.784808-1-per.bilse@citrix.com>

--------------cyNnjJjpEBcsCCUfgkKqZZYu
Content-Type: multipart/mixed; boundary="------------2lg8QN7YDxMdGMHKvRG5DUba"

--------------2lg8QN7YDxMdGMHKvRG5DUba
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDIuMTIuMjIgMTk6MjIsIFBlciBCaWxzZSB3cm90ZToNCj4gL3Byb2MveGVuIGlzIGEg
bGVnYWN5IHBzZXVkbyBmaWxlc3lzdGVtIHdoaWNoIHByZWRhdGVzIFhlbiBzdXBwb3J0DQo+
IGdldHRpbmcgbWVyZ2VkIGludG8gTGludXguICBJdCBoYXMgbGFyZ2VseSBiZWVuIHJlcGxh
Y2VkIHdpdGggbW9yZQ0KPiBub3JtYWwgbG9jYXRpb25zIGZvciBkYXRhICgvc3lzL2h5cGVy
dmlzb3IvIGZvciBpbmZvLCAvZGV2L3hlbi8gZm9yDQo+IHVzZXIgZGV2aWNlcykuICBXZSB3
YW50IHRvIGNvbXBpbGUgeGVuZnMgc3VwcG9ydCBvdXQgb2YgdGhlIGRvbTAga2VybmVsLg0K
PiANCj4gVGhlcmUgaXMgb25lIGl0ZW0gd2hpY2ggb25seSBleGlzdHMgaW4gL3Byb2MveGVu
LCBuYW1lbHkNCj4gL3Byb2MveGVuL2NhcGFiaWxpdGllcyB3aXRoICJjb250cm9sX2QiIGJl
aW5nIHRoZSBzaWduYWwgb2YgInlvdSdyZSBpbg0KPiB0aGUgY29udHJvbCBkb21haW4iLiAg
VGhpcyB1bHRpbWF0ZWx5IGNvbWVzIGZyb20gdGhlIFNJRiBmbGFncyBwcm92aWRlZA0KPiBh
dCBWTSBzdGFydC4NCj4gDQo+IFRoaXMgcGF0Y2ggZXhwb3NlcyBhbGwgU0lGIGZsYWdzIGlu
IC9zeXMvaHlwZXJ2aXNvci9zdGFydF9mbGFncy8gYXMNCj4gYm9vbGVhbiBmaWxlcywgb25l
IGZvciBlYWNoIGJpdCwgcmV0dXJuaW5nICcxJyBpZiBzZXQsICcwJyBvdGhlcndpc2UuDQo+
IFR3byBrbm93biBmbGFncywgJ3ByaXZpbGVnZWQnIGFuZCAnaW5pdGRvbWFpbicsIGFyZSBl
eHBsaWNpdGx5IG5hbWVkLA0KPiBhbmQgYWxsIHJlbWFpbmluZyBmbGFncyBjYW4gYmUgYWNj
ZXNzZWQgdmlhIGdlbmVyaWNhbGx5IG5hbWVkIGZpbGVzLA0KPiBhcyBzdWdnZXN0ZWQgYnkg
QW5kcmV3IENvb3Blci4NCj4gDQo+IFRoaXMgcGF0Y2ggcmVwbGFjZXMgcHJldmlvdXMgc3Vn
Z2VzdGlvbiBmb3IgU0lGIGZsYWdzIGV4cG9zdXJlIGluIGl0cw0KPiBlbnRpcmV0eS4NCj4g
DQo+IFNpZ25lZC1vZmYtYnk6IFBlciBCaWxzZSA8cGVyLmJpbHNlQGNpdHJpeC5jb20+DQo+
IC0tLQ0KPiAgIERvY3VtZW50YXRpb24vQUJJL3N0YWJsZS9zeXNmcy1oeXBlcnZpc29yLXhl
biB8ICA4ICsrKw0KPiAgIGRyaXZlcnMveGVuL3N5cy1oeXBlcnZpc29yLmMgICAgICAgICAg
ICAgICAgICB8IDcwICsrKysrKysrKysrKysrKysrLS0NCj4gICAyIGZpbGVzIGNoYW5nZWQs
IDc0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEv
RG9jdW1lbnRhdGlvbi9BQkkvc3RhYmxlL3N5c2ZzLWh5cGVydmlzb3IteGVuIGIvRG9jdW1l
bnRhdGlvbi9BQkkvc3RhYmxlL3N5c2ZzLWh5cGVydmlzb3IteGVuDQo+IGluZGV4IDc0ODU5
M2M2NDU2OC4uZjUyZjk4NTQ4MTg0IDEwMDY0NA0KPiAtLS0gYS9Eb2N1bWVudGF0aW9uL0FC
SS9zdGFibGUvc3lzZnMtaHlwZXJ2aXNvci14ZW4NCj4gKysrIGIvRG9jdW1lbnRhdGlvbi9B
Qkkvc3RhYmxlL3N5c2ZzLWh5cGVydmlzb3IteGVuDQo+IEBAIC0xMjAsMyArMTIwLDExIEBA
IENvbnRhY3Q6CXhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiAgIERlc2NyaXB0
aW9uOglJZiBydW5uaW5nIHVuZGVyIFhlbjoNCj4gICAJCVRoZSBYZW4gdmVyc2lvbiBpcyBp
biB0aGUgZm9ybWF0IDxtYWpvcj4uPG1pbm9yPjxleHRyYT4NCj4gICAJCVRoaXMgaXMgdGhl
IDxtaW5vcj4gcGFydCBvZiBpdC4NCj4gKw0KPiArV2hhdDoJCS9zeXMvaHlwZXJ2aXNvci9z
dGFydF9mbGFncy8qDQo+ICtEYXRlOgkJRGVjZW1iZXIgMjAyMg0KPiArS2VybmVsVmVyc2lv
bjoJNi4xLjANCj4gK0NvbnRhY3Q6CXhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0K
PiArRGVzY3JpcHRpb246CUlmIHJ1bm5pbmcgdW5kZXIgWGVuOg0KPiArCQlBbGwgYml0cyBp
biBYZW4ncyBzdGFydC1mbGFncyBhcmUgcmVwcmVzZW50ZWQgYXMNCj4gKwkJYm9vbGVhbiBm
aWxlcywgcmV0dXJuaW5nICcxJyBpZiBzZXQsICcwJyBvdGhlcndpc2UuDQoNCkkgdGhpbmsg
YXQgbGVhc3QgdGhlIGZpbGVzIHdoaWNoIHdhbnQgdG8gYmUgdXNlZCBieSBlLmcuIHN5c3Rl
bWQNCigiaW5pdGRvbWFpbiIgYXMgcmVwbGFjZW1lbnQgZm9yIHRoZSAiY29udHJvbF9kIiBz
dHJpbmcgaW4gY2FwYWJpbGl0aWVzLA0KYnV0IEkgdGhpbmsgInByaXZpbGVnZWQiIGFzIHdl
bGwpIHNob3VsZCBiZSBleHBsaWNpdGx5IGFkZGVkIHRvIHRoaXMNCmRlc2NyaXB0aW9uLCBh
cyB0aG9zZSBhcmUgbWVhbnQgdG8gYmUgdXNlZCBhcyBhIHN0YWJsZSBBQkkuDQoNCj4gZGlm
ZiAtLWdpdCBhL2RyaXZlcnMveGVuL3N5cy1oeXBlcnZpc29yLmMgYi9kcml2ZXJzL3hlbi9z
eXMtaHlwZXJ2aXNvci5jDQo+IGluZGV4IGZjYjA3OTJmMDkwZS4uZTE1ZDNmZjJjNTZmIDEw
MDY0NA0KPiAtLS0gYS9kcml2ZXJzL3hlbi9zeXMtaHlwZXJ2aXNvci5jDQo+ICsrKyBiL2Ry
aXZlcnMveGVuL3N5cy1oeXBlcnZpc29yLmMNCj4gQEAgLTMxLDcgKzMxLDEwIEBAIHN0cnVj
dCBoeXBfc3lzZnNfYXR0ciB7DQo+ICAgCXN0cnVjdCBhdHRyaWJ1dGUgYXR0cjsNCj4gICAJ
c3NpemVfdCAoKnNob3cpKHN0cnVjdCBoeXBfc3lzZnNfYXR0ciAqLCBjaGFyICopOw0KPiAg
IAlzc2l6ZV90ICgqc3RvcmUpKHN0cnVjdCBoeXBfc3lzZnNfYXR0ciAqLCBjb25zdCBjaGFy
ICosIHNpemVfdCk7DQo+IC0Jdm9pZCAqaHlwX2F0dHJfZGF0YTsNCj4gKwl1bmlvbiB7DQo+
ICsJCXZvaWQgKmh5cF9hdHRyX2RhdGE7DQo+ICsJCXVuc2lnbmVkIGxvbmcgaHlwX2F0dHJf
dmFsdWU7DQo+ICsJfTsNCj4gICB9Ow0KPiAgIA0KPiAgIHN0YXRpYyBzc2l6ZV90IHR5cGVf
c2hvdyhzdHJ1Y3QgaHlwX3N5c2ZzX2F0dHIgKmF0dHIsIGNoYXIgKmJ1ZmZlcikNCj4gQEAg
LTM5OSw2ICs0MDIsNjEgQEAgc3RhdGljIGludCBfX2luaXQgeGVuX3N5c2ZzX3Byb3BlcnRp
ZXNfaW5pdCh2b2lkKQ0KPiAgIAlyZXR1cm4gc3lzZnNfY3JlYXRlX2dyb3VwKGh5cGVydmlz
b3Jfa29iaiwgJnhlbl9wcm9wZXJ0aWVzX2dyb3VwKTsNCj4gICB9DQo+ICAgDQo+ICsjZGVm
aW5lIEZMQUdfVU5BTUUgInVua25vd24iDQo+ICsjZGVmaW5lIEZMQUdfVU5BTUVfRk1UIEZM
QUdfVU5BTUUgIiUwMnUiDQo+ICsjZGVmaW5lIEZMQUdfVU5BTUVfTUFYIHNpemVvZihGTEFH
X1VOQU1FICJYWCIpDQo+ICsjZGVmaW5lIEZMQUdfQ09VTlQgKHNpemVvZih4ZW5fc3RhcnRf
ZmxhZ3MpICogQklUU19QRVJfQllURSkNCj4gK3N0YXRpY19hc3NlcnQoc2l6ZW9mKHhlbl9z
dGFydF9mbGFncykNCj4gKwkJPD0gc2l6ZW9mX2ZpZWxkKHN0cnVjdCBoeXBfc3lzZnNfYXR0
ciwgaHlwX2F0dHJfdmFsdWUpKTsNCj4gKw0KPiArc3RhdGljIHNzaXplX3QgZmxhZ19zaG93
KHN0cnVjdCBoeXBfc3lzZnNfYXR0ciAqYXR0ciwgY2hhciAqYnVmZmVyKQ0KPiArew0KPiAr
CWNoYXIgKnAgPSBidWZmZXI7DQo+ICsNCj4gKwkqcCsrID0gJzAnICsgKCh4ZW5fc3RhcnRf
ZmxhZ3MgJiBhdHRyLT5oeXBfYXR0cl92YWx1ZSkgIT0gMCk7DQo+ICsJKnArKyA9ICdcbic7
DQo+ICsJcmV0dXJuIHAgLSBidWZmZXI7DQo+ICt9DQo+ICsNCj4gKy8qDQo+ICsqIEFkZCBu
ZXcsIGtub3duIGZsYWdzIGhlcmUuICBObyBvdGhlciBjaGFuZ2VzIGFyZSByZXF1aXJlZCwg
YnV0DQo+ICsqIG5vdGUgdGhhdCBlYWNoIGtub3duIGZsYWcgd2FzdGVzIG9uZSBlbnRyeSBp
biBmbGFnX3VuYW1lc1tdLg0KPiArKiBUaGUgY29kZS9jb21wbGV4aXR5IG1hY2hpbmF0aW9u
cyB0byBhdm9pZCB0aGlzIGlzbid0IHdvcnRoIGl0DQo+ICsqIGZvciBhIGZldyBlbnRyaWVz
LCBidXQga2VlcCBpdCBpbiBtaW5kLg0KPiArKi8NCj4gK3N0YXRpYyBzdHJ1Y3QgaHlwX3N5
c2ZzX2F0dHIgZmxhZ19hdHRyc1tGTEFHX0NPVU5UXSA9IHsNCj4gKwlbaWxvZzIoU0lGX1BS
SVZJTEVHRUQpXSA9IHsNCj4gKwkJLmF0dHIgPSB7IC5uYW1lID0gInByaXZpbGVnZWQiLCAu
bW9kZSA9IDA0NDQgfSwNCj4gKwkJLnNob3cgPSBmbGFnX3Nob3csDQo+ICsJCS5oeXBfYXR0
cl92YWx1ZSA9IFNJRl9QUklWSUxFR0VEDQo+ICsJfSwNCg0KV2hhdCBhYm91dDoNCg0KI2Rl
ZmluZSBGTEFHX05PREUoYml0LCBub2RlKQkJCQkJXA0KCVtpbG9nMihiaXQpXSA9IHsJCQkJ
CVwNCgkJLmF0dHIgPSB7IC5uYW1lID0gI25vZGUsIC5tb2RlID0gMDQ0NCB9LAlcDQoJCS5z
aG93ID0gZmxhZ19zaG93LAkJCQlcDQoJCS5oeXBfYXR0cl92YWx1ZSA9IGJpdAkJCQlcDQoJ
fQ0KDQpGTEFHX05PREUoU0lGX1BSSVZJTEVHRUQsIHByaXZpbGVnZWQpLA0KRkxBR19OT0RF
KFNJRl9JTklURE9NQUlOLCBpbml0ZG9tYWluKQ0KDQo+ICsJW2lsb2cyKFNJRl9JTklURE9N
QUlOKV0gPSB7DQo+ICsJCS5hdHRyID0geyAubmFtZSA9ICJpbml0ZG9tYWluIiwgLm1vZGUg
PSAwNDQ0IH0sDQo+ICsJCS5zaG93ID0gZmxhZ19zaG93LA0KPiArCQkuaHlwX2F0dHJfdmFs
dWUgPSBTSUZfSU5JVERPTUFJTg0KPiArCX0NCg0KSW4gb3JkZXIgdG8gYXZvaWQgYSBjb25z
dW1lciBoYXZpbmcgdG8gbG9vayBpbnRvIHRoZSBzb3VyY2VzIGZvciBhbnkgb3RoZXINCnNl
dCBmbGFnLCBtYXliZSBhZGQgbmFtZXMgZm9yIGN1cnJlbnRseSBkZWZpbmVkIGZsYWdzLCB0
b28/IE9yIGp1c3Qgc2tpcA0KdGhlIG90aGVyIGZsYWdzIGFuZCBhZGQgYSBzaW5nbGUgYWRk
aXRpb25hbCBub2RlICgiZmxhZ3MiPykgd2l0aCB0aGUgd2hvbGUNCnZhbHVlIG9mIHhlbl9z
dGFydF9mbGFncyBlaXRoZXIgaW4gaGV4IG9yIGJpbmFyeSBmb3JtPw0KDQpQbGVhc2Ugbm90
ZSB0aGF0IHRoaXMgaXMgYSBzdWdnZXN0aW9uIG9ubHksIEknbSBub3QgaW5zaXN0aW5nIG9u
IGl0Lg0KDQoNCkp1ZXJnZW4NCg==
--------------2lg8QN7YDxMdGMHKvRG5DUba
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------2lg8QN7YDxMdGMHKvRG5DUba--

--------------cyNnjJjpEBcsCCUfgkKqZZYu--

--------------o44iGprAE1ybSGGRvvu4Vakp
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOS+ikFAwAAAAAACgkQsN6d1ii/Ey+9
uwf/ZMHk+gTwWo8CMrkZCDPhihfWSTtRb024SS/rcW0OuMKWcwAizCliHXa2zZSpwyO84ZVFSAVZ
uEzEWo9nGimrOKKpNHYsZKtpmbxF20a8WD7uFFnIiqFXyaWOMVh4QSuWASh9yPfrMAoxzaeAFhxb
LqQh1JzqntmgnspEsflXIU0FKKM9raaPSYCAVdVQ2f/5NFlzWM8JxJULDh9qqwXHM2yDcLFh71be
xEEkwX6LOFJmDEFf2u3aW3j9yr4W7HTxOsI0TtA6OHOMqlpPsgcqTsrnkxSdMwc2mp21rz+HCzmQ
h5h3gq9t8VJb65AlbgO5GP7CTAOVAlgZpc5PoPJSoQ==
=JiQI
-----END PGP SIGNATURE-----

--------------o44iGprAE1ybSGGRvvu4Vakp--


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 09:08:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 09:08:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457731.715705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ZN8-0002RJ-9Y; Fri, 09 Dec 2022 09:08:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457731.715705; Fri, 09 Dec 2022 09:08:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ZN8-0002RC-6c; Fri, 09 Dec 2022 09:08:46 +0000
Received: by outflank-mailman (input) for mailman id 457731;
 Fri, 09 Dec 2022 09:08:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qSgY=4H=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1p3ZN6-0002Qn-80
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 09:08:44 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 13564d41-77a1-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 10:08:42 +0100 (CET)
Received: from DU2PR04CA0273.eurprd04.prod.outlook.com (2603:10a6:10:28c::8)
 by AM7PR08MB5527.eurprd08.prod.outlook.com (2603:10a6:20b:de::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.6; Fri, 9 Dec
 2022 09:08:39 +0000
Received: from DBAEUR03FT039.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:28c:cafe::88) by DU2PR04CA0273.outlook.office365.com
 (2603:10a6:10:28c::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Fri, 9 Dec 2022 09:08:39 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT039.mail.protection.outlook.com (100.127.142.225) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.17 via Frontend Transport; Fri, 9 Dec 2022 09:08:38 +0000
Received: ("Tessian outbound b4aebcc5bc64:v130");
 Fri, 09 Dec 2022 09:08:35 +0000
Received: from ef5bee15ad32.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 0D8EF828-03DC-4557-A7F3-BEC78605065D.1; 
 Fri, 09 Dec 2022 09:08:24 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ef5bee15ad32.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 09 Dec 2022 09:08:24 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PA4PR08MB7594.eurprd08.prod.outlook.com (2603:10a6:102:270::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Fri, 9 Dec
 2022 09:08:23 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda%3]) with mapi id 15.20.5880.014; Fri, 9 Dec 2022
 09:08:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13564d41-77a1-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zfBVa7H0lksj3ilIgHlbBSj4rM5RsFqRl4fYbdre01E=;
 b=6Vhhr0XiCzSnfTpKlDEJIw6H2zWnXgTCitb/eq9BawHM/OwGNz9amvX6ebM9QCBzpu+zE7GFNJJ7V8j5t5+DycbWNJiQWYmW94jrOmTaWTM9cDydjzlFVjiYOCrNPtC6ZzWdQQVjr/RZJF77taQ6W4p2qtYt4KLsT2fJH5NpyeE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 05a350d32cdf80d1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bmxPvKWHICoplVy4MQFVa8E34eXqpG8K70gRANMslBnbS260h/9JaP9pAbicopsBpqHDr3RJ/bngT/0aQSrwRB8QW5wtZ5aENcUH1uTxfYwoQ2oeAAVGWaed+e9UDAAVf851Mubmn7EsJbnatLla49p2tOw6fkylaceukELj0hyf+N/LZgqou4cMuZHuZxPEp9SPC/BLCq5vDKsKBs8cE+E7frVZ7XnR3Cfot3KRjAHyM0Or/Yg3G7LD7ihnKoI6rbYNGKmAFl5a8ijCXhy07YZpYXpmDaYRZBLbUpa21H2NsosIY63dB0dJetrGaDbUX97z5jXd/mHNIhq7lMHFzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zfBVa7H0lksj3ilIgHlbBSj4rM5RsFqRl4fYbdre01E=;
 b=IPXPiy4dF4bKfWERoQQB0iDFlGcNXavNGL+yznh90/jMFoA0t1wD6V+dAMhSkMwzef54fBPmFlvi5Fg5SF4pSXkqU4+wGDhYQ+PsT0gHgoF/G6UZJhaGVhpauGSpxQkTHmhggqW7tTNkcngJtoiub0A75l6qqGrdW+GhXvxMA6ugilHsjRpXUwSZF5D/KLmA22rWWAP4SZ9FCRmy6ALycFpT9AwRTYXwRa5uYIGcsjBjraR6vA/inF7E6gP9UHerVXL2w69pjDV/mv0W/kgq4cAIqSDdWmv04NMFPsw45ONE7AracuHreZsaLnhZ9l6NKDHsAlXzhj5TjLS5XsDpjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zfBVa7H0lksj3ilIgHlbBSj4rM5RsFqRl4fYbdre01E=;
 b=6Vhhr0XiCzSnfTpKlDEJIw6H2zWnXgTCitb/eq9BawHM/OwGNz9amvX6ebM9QCBzpu+zE7GFNJJ7V8j5t5+DycbWNJiQWYmW94jrOmTaWTM9cDydjzlFVjiYOCrNPtC6ZzWdQQVjr/RZJF77taQ6W4p2qtYt4KLsT2fJH5NpyeE=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, "Volodymyr_Babchuk@epam.com"
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] xen/arm: efi-boot misra rule 4.1 fix
Thread-Topic: [PATCH] xen/arm: efi-boot misra rule 4.1 fix
Thread-Index: AQHZC2cU7mDXJsaiwEanXIsl1g+lUa5lRLWA
Date: Fri, 9 Dec 2022 09:08:22 +0000
Message-ID: <E178D80D-B5EC-4F50-A288-106A928FB030@arm.com>
References:
 <alpine.DEB.2.22.394.2212081538310.2965472@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2212081538310.2965472@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PA4PR08MB7594:EE_|DBAEUR03FT039:EE_|AM7PR08MB5527:EE_
X-MS-Office365-Filtering-Correlation-Id: 2e121c35-35de-427f-266e-08dad9c4f599
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 NXdYCMJXCo7WRxtWk5aMXwA95EEgDmXAxzkBjHLh/7j0/Ufmdyl0YsHoEpJTMLLLHMct2nakTJIRx0ogsEGSFXUJHJwkC5dF9iq+WXurRSbNpaym9e/Y9SxSU9g3Msgh7kwOeqfEK+wJjg2Au2tp3POFTYvc0/5PrZI3QcEDj21Xefp0QrEn8E7fectmVkI/UhcCDPQ9d78Ur4gyArhZHLJksCjXBU7lzsJJxQiD202/gsSA4/35OhTELEHviea5SEbcHTpVEkctV2gY6o5V1yoTryGC0dFZobbt/jbVt0kDp6VVv/l7N75P3jPeRgkdGS8deIG1hnlHVeefMhBGvjzmhvBS52x+BwI2KBBWi9XMtEjq0PbHQskfmABT+1PGVKZbgaRPGom6w9OBulQvHjON5dfFfgA4GufxbsgBMZBTCwgknx6ot20egBB4uhS+YtZcaxdPhYan513T5l1vVs3ExyGyTjdmC29IiBjABtRyAZC6cieIMGkH0BGpmIbDdsvtLRLtedgDrRyqya5ZNVpxk+O8GZmv8qYP2crx8ZEqAZFU1y8hl42PPJ7jrF06ox8MLT00k0nhUP7CUwbe24AiUNgWKNheTf8tawiKbJfd76Xuw5PyqG2YBPWkCJo+WLEUS5+/Clpr1qmBzMxHh9+qLSeOhwbCuctyLUFUJHXshgxrhREwnfhvQ+wWneBAIIc0dCHYPWEDNPFETy+sIk9Q7qSlmtwolbzvv6gAz4A=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(136003)(39860400002)(346002)(366004)(451199015)(38070700005)(53546011)(26005)(33656002)(36756003)(6486002)(478600001)(71200400001)(6506007)(316002)(4744005)(66446008)(8936002)(91956017)(66556008)(64756008)(54906003)(66476007)(6916009)(76116006)(8676002)(2906002)(4326008)(66946007)(83380400001)(38100700002)(41300700001)(186003)(2616005)(5660300002)(122000001)(6512007)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <A8E320E2C87B50439FB0935549B6DD00@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7594
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a262b008-08c5-46ed-051e-08dad9c4ec0a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/cpYEcWqaVg8rfc2vQ/iV98FQo95xqxC+wu1NUQLEgpTIWA2yg/69zsOzSBxDY4xqbBEpItBIOhfE7XHysN+Gkwkg3LdUjQ+mJ2fiUI7NtoM5yChETpjjFYg4vI9K0CssEHEl3xX/VlHpAPrKlNRsrERg7qzvudqQ9Y9utrVI1sj3VGoJBq10eR31RK6FIdJ6zlWkEeUrHZQHKyw0ExacNrroV0cUMDZmk31LULIr1wNxIFQopXZTlV19rN1rYKKV/KHUeLIoxCRUZGcKgQNKSVxJARN+KVEO/Z4F/rt6S1bT5fq5vobnlc2nvphV9BlhrBVPrFOAuwxeu0LN5fXtJZisbWAG9TCQ1bA62Tu6SRTmsEPQgNHL6twFgKvpBV1EUuqTTqeqgP17EzBAW8u9+tQpoAhEDWbC2heQg6F1sT+X/4lGiEdZmLhbX3CMShvs9KLsaUSsXutWnkSk0+/T+abhXmsnJrZwV931hfvoTZxF4cktM6dotia2dMpzd41br3IJ30zKthx+aItYtA9A9ZgRZfGXgatv3gcxxl40tMlfk3Dg842jYC4sk2Cj/zJZ8Kz3EIdo2ZHLCdLp+3gz1dCDZdrY1cVvygEB1ihtMSOBEsa8KLpbA1gOBTsEOruPNu1yFIRcBYG8ARJnmgsf3J8GP3Mk0t986BZ/EB/MBxB+WU54YsMeMkwNDpmD94YUWPOXBtEdil2x9mzWHNlTw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(39860400002)(396003)(136003)(451199015)(40470700004)(46966006)(36840700001)(2616005)(336012)(47076005)(186003)(83380400001)(356005)(81166007)(86362001)(36860700001)(82740400003)(2906002)(6862004)(5660300002)(8936002)(4744005)(40480700001)(40460700003)(82310400005)(41300700001)(6486002)(26005)(478600001)(6512007)(70586007)(6506007)(53546011)(70206006)(8676002)(4326008)(54906003)(316002)(36756003)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2022 09:08:38.3462
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2e121c35-35de-427f-266e-08dad9c4f599
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5527

DQoNCj4gT24gOSBEZWMgMjAyMiwgYXQgMDA6NDEsIFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJl
bGxpbmlAa2VybmVsLm9yZz4gd3JvdGU6DQo+IA0KPiBXZSBoYXZlIDMgdmlvbGF0aW9ucyBvZiBN
SVNSQSBDIFJ1bGUgNC4xICgiT2N0YWwgYW5kIGhleGFkZWNpbWFsIGVzY2FwZQ0KPiBzZXF1ZW5j
ZXMgc2hhbGwgYmUgdGVybWluYXRlZCIpIGluIHhlbi9hcmNoL2FybS9lZmkvZWZpLWJvb3QuaC4g
Rml4DQo+IHRoZW0uDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0
ZWZhbm8uc3RhYmVsbGluaUBhbWQuY29tPg0KDQpIaSBTdGVmYW5vLA0KDQpJ4oCZdmUgY2hlY2tl
ZCBhbHNvIHdpdGggY292ZXJpdHkgYW5kIGl0IHNvbHZlcyB0aGUgdmlvbGF0aW9uLg0KDQpSZXZp
ZXdlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0uY29tPg0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 09:09:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 09:09:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457737.715716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ZNj-0002xJ-IU; Fri, 09 Dec 2022 09:09:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457737.715716; Fri, 09 Dec 2022 09:09:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ZNj-0002xC-Fo; Fri, 09 Dec 2022 09:09:23 +0000
Received: by outflank-mailman (input) for mailman id 457737;
 Fri, 09 Dec 2022 09:09:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3ZNi-0002ww-2Y; Fri, 09 Dec 2022 09:09:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3ZNh-0004co-VC; Fri, 09 Dec 2022 09:09:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3ZNh-0001sk-Jr; Fri, 09 Dec 2022 09:09:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3ZNh-00045t-JN; Fri, 09 Dec 2022 09:09:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ldv9Rl6Z9aVuUMeOambnaG/kHW3v8dXLC93DmejDv3U=; b=vcCqjNDmQZJelu6Fg+rSbVSBtX
	zzfrCxg9VEcR6ne/2iFU9mPWqryUXzInnJ2Pw4iL4Ey7K4Isx79dtm9sxo/3EousLd7usOFStVpKT
	fwlS2Tb/CFxiNzfpNCZtUP7Q+prEGdiSNzrHWe294ihPt4bPu4qo2PITH/yxF+YF3qEg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175099-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 175099: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4ad5975d4e35635f03d2cb9e86292c0daeabd75f
X-Osstest-Versions-That:
    xen=042a5b7024e7b27f5806914b9d42099a48c8f893
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 09 Dec 2022 09:09:21 +0000

flight 175099 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175099/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175067
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175067
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175067
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175067
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175067
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175067
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175067
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175067
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175067
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175067
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175067
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175067
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  4ad5975d4e35635f03d2cb9e86292c0daeabd75f
baseline version:
 xen                  042a5b7024e7b27f5806914b9d42099a48c8f893

Last test of basis   175067  2022-12-07 01:08:35 Z    2 days
Testing same since   175089  2022-12-08 09:38:37 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   042a5b7024..4ad5975d4e  4ad5975d4e35635f03d2cb9e86292c0daeabd75f -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 09:50:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 09:50:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457763.715752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3a1V-0001Hb-3X; Fri, 09 Dec 2022 09:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457763.715752; Fri, 09 Dec 2022 09:50:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3a1V-0001HU-0J; Fri, 09 Dec 2022 09:50:29 +0000
Received: by outflank-mailman (input) for mailman id 457763;
 Fri, 09 Dec 2022 09:50:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=r37K=4H=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p3a1T-0001HO-6A
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 09:50:27 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on20614.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e7471ef5-77a6-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 10:50:25 +0100 (CET)
Received: from FR3P281CA0121.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:94::8) by
 AM9PR08MB6642.eurprd08.prod.outlook.com (2603:10a6:20b:2ff::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.14; Fri, 9 Dec 2022 09:50:21 +0000
Received: from VI1EUR03FT029.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:94:cafe::f2) by FR3P281CA0121.outlook.office365.com
 (2603:10a6:d10:94::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5901.8 via Frontend
 Transport; Fri, 9 Dec 2022 09:50:21 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT029.mail.protection.outlook.com (100.127.145.13) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.17 via Frontend Transport; Fri, 9 Dec 2022 09:50:20 +0000
Received: ("Tessian outbound b4aebcc5bc64:v130");
 Fri, 09 Dec 2022 09:50:20 +0000
Received: from f00a9736749b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D748D66D-9F70-497E-BA87-32C25059A08E.1; 
 Fri, 09 Dec 2022 09:50:13 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f00a9736749b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 09 Dec 2022 09:50:13 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DU0PR08MB8833.eurprd08.prod.outlook.com (2603:10a6:10:478::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Fri, 9 Dec
 2022 09:50:08 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5880.014; Fri, 9 Dec 2022
 09:50:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7471ef5-77a6-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gQ2KezMfUXZssPX+fjt5rxjaW2oeiJuZTg2XQaHECQ8=;
 b=f5bl42auz9lvxdD6zrUHc7eT/ECFUPNA5AtTlmK3H2MDbeQaiI6qnw2m9zrMt4yXRfeAUAlu+WsAf7gS/7AHoGt1HgH1S+dQlUdfcfNASRsXA12OeBjgXlx+RS4AivOi9UjnYJzSeqwNqticg4epT0uGaLpTdqpyUETeXryTQqo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 86b02e9387a60643
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LEZylBDZN2e/2jRwJjtPxIj/qkyxFC9T5G2XJiw3I6SAlci0YxJShFqzhvrkXtWaHyMGdZy1Cbmp5JQI7p5InBrz2eHaeOmInFCVVMNLtqzIXbp80K9VvPnhS6IIEHop423ghLNHpUJEceq7WHkqm0wJnnf7t6vapT03s9E+fa1li79TDdFpEEXcFggt46Rjq0gsLU/TwRTgqhy42M9UkOQkJr4OlkHgUT4mAkw+fh8bz5Vg1hwjUBI05JlRWyfTigdN9fMUW+Wxc2aiZIF/RMLUD8GsArlyfaPOAgE1ON32pEkiYGbhNkUTo4sZo9qmi60u2DEFgcjV9uATvKw8lA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gQ2KezMfUXZssPX+fjt5rxjaW2oeiJuZTg2XQaHECQ8=;
 b=d84HUyuOu+VzwvUn//BL0M7Kq8N8tmKPVCjVwFYDQc2HjR2pdn3rVn8thrETnhipmcuRW2XsyBDEYSkOrUL5uhYmJgwYWKtthaWxIa+FXssURTxaa/SQnWckJEDj1dY6dfXfauDEeVrTKyq0P6nwjIhzI5bTfN9dmijox/cT/WfnlERYdk9pXQGQYBmCfiIfgW5/+Z9XhVP+99M3wVGzw446f0nM9vz6mUcLpcjnaDtDg+VzuZIbWiNvuKmhwyBODtnmpaTMakLMe70aIBVYLyKGMWbQuxK56hVChPsIiZ1C7b8hGoe1HpnD/FP5hJlqZ83N6BYHFo/KP3mKiLVU+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gQ2KezMfUXZssPX+fjt5rxjaW2oeiJuZTg2XQaHECQ8=;
 b=f5bl42auz9lvxdD6zrUHc7eT/ECFUPNA5AtTlmK3H2MDbeQaiI6qnw2m9zrMt4yXRfeAUAlu+WsAf7gS/7AHoGt1HgH1S+dQlUdfcfNASRsXA12OeBjgXlx+RS4AivOi9UjnYJzSeqwNqticg4epT0uGaLpTdqpyUETeXryTQqo=
From: Rahul Singh <Rahul.Singh@arm.com>
To: sisyphean <sisyphean@zlw.email>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [BUG]Add PCIE devie to SMMUv3 fail
Thread-Topic: [BUG]Add PCIE devie to SMMUv3 fail
Thread-Index: AQHZC5XCObk04ipFEE+2cKVjhEnU1a5lUAQA
Date: Fri, 9 Dec 2022 09:50:07 +0000
Message-ID: <A9FCD688-3CA2-484A-ADC1-F1235F18890F@arm.com>
References: <793eb471-e68b-c3ff-52e8-20d77252c0bf@zlw.email>
In-Reply-To: <793eb471-e68b-c3ff-52e8-20d77252c0bf@zlw.email>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7158:EE_|DU0PR08MB8833:EE_|VI1EUR03FT029:EE_|AM9PR08MB6642:EE_
X-MS-Office365-Filtering-Correlation-Id: d6d1efeb-8d48-4115-fbf8-08dad9cac93a
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 gfWtT3ehGU/bnmOhz6UKhiY/MMFurjnq1DvkSCHPAUfKZ6BGTPTh/sx/WhBuwrdmVmI/y+WLP54E8HKI06X0hozT55sTFjwB7Y4TgGExoZzQS8Gp+VVu+jk1Dh66Svj7OTXl3KqoaEZRSvosj3n3ydfaBpXYux9Z/JzzWmXkZJEdhlAlbll6ZVkRSO61rgLsUiOTuAEzLR5s9ZHLFgFlZj48lY2MzTeVl3M9SJ/F82FyhpR6x4i/psucpyfeJrOd92zdwvkZgwlrIfPzQgz4c7KYBGm5IjgGZqcM/UMgY/GWKlYERA2+JV5eYxYrHzjUuHxjiiCGDcQHf4e3BmXBsiIZP0D3jH5hadHURpLy87LRRwpzvJJjDndSz6xAxmbQaMgtdXVTG48VVSThED/m9Uyas8Cef7bbZiUF3xrTy0SActgVccT6PI85AdzN0cT32KUinG/9F0pbDicgiD/emLlvD2eZkRZwQ77Jj7ofFYlMR9BP6sPMf6PGDLnW4TK/smjskkbyOnm9AmrrBghMSXxNRFY78RFaYO2w9gDly/g64WNdapP0VsObCrxvfsLM3Wk9V8q1BMvTQAhpsmzSflq1xxIg65Mk37Lx9iz0x1E9JyBmiSxHdJaZa8Db4tZe/y0cL26bn5NXrHD1zJm+FPwpbaCHc7kZ4+9EQTrbajDtlCzIzXsENGxc2CjtChBiQK+CfH9+V65+fy64vzO+6kIn5rqonQnLyg8kJWIFAB2GihePySIjcbv5lnic0QDoaV1vZCsEjLwlb1TDKC1TIQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(39860400002)(376002)(396003)(136003)(366004)(451199015)(5660300002)(83380400001)(6916009)(41300700001)(99936003)(36756003)(66476007)(8936002)(6512007)(8676002)(2906002)(66446008)(64756008)(26005)(38070700005)(2616005)(186003)(66556008)(66946007)(166002)(76116006)(316002)(86362001)(38100700002)(33656002)(4326008)(91956017)(122000001)(71200400001)(53546011)(478600001)(966005)(6506007)(6486002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: multipart/mixed;
	boundary="_004_A9FCD6883CA2484AADC1F1235F18890Farmcom_"
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8833
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VI1EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8cdf3c5c-31c7-4b3f-e1e3-08dad9cac107
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ym7W3BmAGThrR41Hxx7kEA5PVrY3JDkfSJp1ChMmJ0cUM0ToUMYfDuK9km1gEoRBDasMzoZdzXOQfCXaxIuyvtGYmsYfBHGH39Pm3sKA1VgrKs7wtb7U+O2UE4uqpgerH2mLqDPskpKOr+p2+tYx/8Qzm5O/a8+3czf5p/mkPVF390SfhbwZPy/j61PtIvugqgKnwn1yg7QLNlm+eKWq54KpLRpJ0JxU4ssPK3GpcbUDdWLfsq6JCYCCG8Gp2UFQM+j6kzW/0k3Jo7FxtvijiMoJG/FB8osiVFuynkiRTqWrUp6w4sIt3h2RXACbyevEEOug7nugdQr+koinINt9JB5iRkJbHQBONjYacY41rOAvsag2Xvh6lGmcaEUnxw0SbioOskQlbGoXLk+oUidMKrX7SIZjWuyfmB7vk+XiIo2HHK8bSeRmVPRMpQ6D5eUwfnvFfrVGzInnCtr7HdI2cBNCb9+7F1YDy4OEVdE6XChyMfe5nAVOuibcLgbFeI9+dVSA/Xv4oTap/pf8a8HQ4A/VSxgLp5gBAnGTyvch1KlS4VqljJ8RAkyy7OOiaTwLbbA5EW/2+fPSCDEnEoX6pglVO0rL/Vj6Fq512Z0tW0/o1h3B2wwDdX6zFWIoVbAC2wtk0g13NAXkbur+lNlT608VZ5/3TA3/s5tojjuQYDZR7Vz9F8cujz3Xf0+gok9MYSFz4eHI2iiGzJ6/PDCoCj/PH3QxRjWIIDZflJuNcqM=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(376002)(39860400002)(396003)(451199015)(36840700001)(46966006)(40470700004)(26005)(5660300002)(82310400005)(235185007)(336012)(6862004)(6512007)(47076005)(8936002)(316002)(83380400001)(86362001)(41300700001)(53546011)(966005)(82740400003)(40480700001)(40460700003)(478600001)(2906002)(6486002)(81166007)(99936003)(36860700001)(166002)(45080400002)(186003)(36756003)(33656002)(70206006)(356005)(33964004)(6506007)(8676002)(4326008)(70586007)(2616005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2022 09:50:20.7647
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d6d1efeb-8d48-4115-fbf8-08dad9cac93a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VI1EUR03FT029.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6642

--_004_A9FCD6883CA2484AADC1F1235F18890Farmcom_
Content-Type: multipart/alternative;
	boundary="_000_A9FCD6883CA2484AADC1F1235F18890Farmcom_"

--_000_A9FCD6883CA2484AADC1F1235F18890Farmcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgU2lzeXBoZWFuLA0KDQo+IE9uIDkgRGVjIDIwMjIsIGF0IDY6MTUgYW0sIHNpc3lwaGVhbiA8
c2lzeXBoZWFuQHpsdy5lbWFpbD4gd3JvdGU6DQo+DQo+IEhpLA0KPg0KPiBJIHRyeSB0byBydW4g
WEVOIG9uIG15IEFSTSBib2FyZChTb3JyeSwgZm9yIHNvbWUgY29tbWVyY2lhbCByZWFzb25zLCBJ
IGNhbid0IHRlbGwgeW91DQo+IG9uIHdoaWNoIHBsYXRmb3JtIEkgcnVuIFhFTikgIGFuZCBhZGQg
UENJRSBkZXZpY2UgcGFzc3Rocm91Z2ggdG8gRG9tVS5CdXQgYW4gZXJyb3INCj4gb2NjdXJyZWQg
d2hpbGUgYWRkaW5nIHRoZSBQQ0lFIGRldmljZSB0byBTTU1VdjMuDQoNClBDSSBwYXNzdGhyb3Vn
aCBzdXBwb3J0IGlzIG5vdCBmdWxseSB1cHN0cmVhbSB0byBYZW4gb24gQVJNLiBXZSBoYXZlIHdv
cmtpbmcNClBDSSBwYXNzdGhyb3VnaCBicmFuY2ggdGhhdCB5b3UgY2FuIHVzZSB0byB0ZXN0IGl0
Lg0KDQpodHRwczovL2dpdGxhYi5jb20veGVuLXByb2plY3QvZnVzYS94ZW4taW50ZWdyYXRpb24v
LS9jb21taXRzL2ludGVncmF0aW9uL3BjaS1wYXNzdGhyb3VnaA0KDQo+DQo+IFRocm91Z2ggcmVh
ZGluZyB0aGUgY29kZSBhbmQgdHJhY2luZyBkZWJ1Z2dpbmcsIHRoZSBlcnJvciBpcyBmb3VuZCBp
biB0aGUgZnVuY3Rpb24NCj4gYXJtX3NtbXVfYWRkX2RldmljZSwgd2hpY2ggd2lsbCBvYnRhaW4g
YW5kIGRldGVybWluZSB3aGV0aGVyIHRoZSBmd3NwZWMgb2YgdGhlDQo+IGRldmljZSB0byBiZSBh
ZGRlZCB0byBTTU1VIGV4aXN0cy5CdXQgZm9yIHRoZSBYRU4gb2YgYXJtLCB0aGUgZndzcGVjIG9m
IHRoZSBkZXZpY2UgaXMNCj4gY3JlYXRlZCBhbmQgYWRkZWQgYnkganVkZ2luZyB3aGV0aGVyIHRo
ZSBpb21tdSBmaWVsZCBleGlzdHMgaW4gdGhlIGRldmljZSBub2RlIHdoZW4NCj4gWEVOIHBhcnNl
cyB0aGUgZGV2aWNlIHRyZWUuSG93ZXZlciwgdGhlIFBDSUUgZGV2aWNlIGRvZXMgbm90IGFwcGVh
ciBpbiB0aGUgZGV2aWNlIHRyZWUsDQo+IHNvIHRoZXJlIHdpbGwgYmUgbm8gZndzcGVjIGZvciBh
bGwgUENJRSBkZXZpY2VzLiBXaGVuIGF0dGVtcHRpbmcgdG8gYWRkIGEgUENJRSBkZXZpY2UgdG8N
Cj4gU01NVSwgYSBFTk9ERVYgZXJyb3Igd2lsbCBiZSByZXR1cm5lZC4NCg0KQXMgb2Ygbm93IFhl
biBkb2VzbuKAmXQgc3VwcG9ydCB0byBhZGQgUENJIGRldmljZSB0byBJT01NVSBvbiBBUk0uDQo+
DQo+IEluIGFkZGl0aW9uLCB0aGUgY29kZSBhdCB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2ku
YyBhbHNvIHZlcmlmaWVzIHRoZSBhYm92ZSB2aWV3Lg0KPiBGb3IgUENJRSBkZXZpY2VzLCBwZGV2
IGlzIGFsbG9jIGluIGZ1bmN0aW9uIHBjaV9hZGRfZGV2aWNlIGJ5IGFsbG9jX3BkZXYuSG93ZXZl
ciwNCj4gdGhlIGZ1bmN0aW9uIGFsbG9jX3BkZXYgZG9lcyBub3QgY3JlYXRlIGFuZCBhZGQgZndz
cGVjIHRvIHRoZSBQQ0lFIGRldmljZS5UaGVyZWZvcmUsDQo+IHdoZW4gZnVuY3Rpb24gcGNpX2Fk
ZF9kZXZpY2UgZXhlY3V0ZXMgdG8gaW9tbXVfYWRkX2RldmljZSxpdCB3aWxsIGdldCB0aGUgZXJy
b3INCj4gcmV0dXJuIG9mIEVOT0RFVi4NCj4NCj4gSG93IGNhbiBJIHJlc29sdmUgdGhlIGFib3Zl
IGVycm9ycz8NCg0KSWYgeW91IHdhbnQgdG8gdGVzdCB0aGUgUENJIHBhc3N0aHJvdWdoIHBsZWFz
ZSBmb2xsb3cgYmVsb3cgc3RlcHMuDQoNClhlbiBzZXR1cDoNCiAgICDigKIgQSBjaGVja291dCBv
ZiB0aGUg4oCcaW50ZWdyYXRpb24vcGNpLXBhc3N0aHJvdWdo4oCdIGJyYW5jaCBmcm9tIHRoZSAg
Z2l0bGFiIGh0dHBzOi8vZ2l0bGFiLmNvbS94ZW4tcHJvamVjdC9mdXNhL3hlbi1pbnRlZ3JhdGlv
bi8tL2NvbW1pdHMvaW50ZWdyYXRpb24vcGNpLXBhc3N0aHJvdWdoDQogICAg4oCiIFBhc3MgaW9t
bXU9eWVzICBhbmQgcGNpLXBhc3N0aHJvdWdoPW9uIHRvIFhlbiBjb21tYW5kIGxpbmUgdG8gZW5h
YmxlIFBDSSBwYXNzdGhyb3VnaC4NCg0KIExpbnV4IEtlcm5lbCBzZXR1cDoNCg0KICAgIOKAoiBT
b21lIGNoYW5nZXMgYXJlIHJlcXVpcmVkIGZvciB0aGUga2VybmVsIHRvIHdvcmsgd2l0aCBQQ0kg
cGFzc3Rocm91Z2guIEZpcnN0IGFyZSBzb21lIGNvbmZpZ3VyYXRpb24gb3B0aW9ucywgZW5hYmxl
IHRoZW0gaW4ga2VybmVsIGNvbmZpZy4NCiAgICAgICAgIENPTkZJR19YRU49eQ0KICAgICAgICAg
Q09ORklHX1hFTl9CQUNLRU5EPXkNCiAgICAgICAgIENPTkZJR19YRU5fUENJREVWX0JBQ0tFTkQ9
eQ0KICAgIOKAoiBUaGVuIGEgcGF0Y2ggbmVlZHMgdG8gYmUgYXBwbGllZCBmb3IgZW5hYmxpbmcg
dGhlIHBjaWJhY2sgZHJpdmVyLiBQYXRjaCBpcyBhdHRhY2hlZCBpbiB0aGlzIGVtYWlsLg0KDQpV
c2luZyBQQ0kgcGFzc3Rocm91Z2g6DQoNCiAgICDigKIgSW4gb3JkZXIgdG8gcGFzcyBhIGRldmlj
ZSB0byBhIGd1ZXN0LCB5b3UgZmlyc3QgbmVlZCBpdHMgUENJIGFkZHJlc3MoU0JERikuIFlvdSBj
YW4gZWl0aGVyIGdldCBpdCBmcm9tIGEgYmFyZS1tZXRhbA0KICAgICAgTGludXggcnVubmluZyBv
biB0aGUgcGxhdGZvcm0gb3IgYnkgaGF2aW5nIHBjaXV0aWxzICBpbnN0YWxsZWQgKGlmIHlvdSBh
cmUgdXNpbmcgYSB5b2N0by1iYXNlZCBkb20wIG9yIGhhdmUgYXB0IGF2YWlsYWJsZSksIHdoaWNo
IHByb3ZpZGVzIGxzcGNpLg0KDQogICAgIEZvciBleGFtcGxlLCBsZXQncyBwYXNzIG9uZSBldGhl
cm5ldCBpbnRlcmZhY2UgdG8gdGhlIGd1ZXN0LiBSdW5uaW5nIGxzcGNpIGdpdmVzIHVzIHRoaXMg
b3V0cHV0ICh0cnVuY2F0ZWQpIDoNCiAgICAgICAwMDAwOjAwOjAwLjAgSG9zdCBicmlkZ2U6IEFt
cGVyZSBDb21wdXRpbmcsIExMQyBEZXZpY2UgZTEwMA0KICAgICAgIDAwMDA6MDA6MDEuMCBQQ0kg
YnJpZGdlOiBBbXBlcmUgQ29tcHV0aW5nLCBMTEMgRGV2aWNlIGUxMDEgKHJldiAwNCkNCiAgICAg
ICAwMDAwOjAxOjAwLjAgRXRoZXJuZXQgY29udHJvbGxlcjogSW50ZWwgQ29ycG9yYXRpb24gRXRo
ZXJuZXQgQ29udHJvbGxlciBYNzEwL1g1NTctQVQgMTBHQkFTRS1UIChyZXYgMDEpDQogICAgICAg
ICAgICAgICBbLi4uXQ0KDQogICAgIFdlIHdpbGwgcGFzcyBvbmUgb2YgdGhlIGV0aGVybmV0IGZy
b20gdGhlIFBDSSBuZXR3b3JrIGNhcmQgOiAwMDAwOjAxOjAwLjAgLg0KDQogICAg4oCiIEFkZCB0
aGUgZm9sbG93aW5nIGxpbmUgdG8gdGhlIGd1ZXN0IGNvbmZpZ3VyYXRpb24gZmlsZSA6DQogICAg
ICAgICAgcGNpID0gWycwMDAwOjAxOjAwLjAnXQ0KDQogICAg4oCiIFJ1biB0aGUgZm9sbG93aW5n
IGNvbW1hbmQgYmVmb3JlIHN0YXJ0aW5nIHRoZSBndWVzdCA6DQogICAgICAgICAgIHhsIHBjaS1h
c3NpZ25hYmxlLWFkZCAwMDAwOjAxOjAwLjANCiAgICDigKIgU3RhcnQgdGhlIGd1ZXN0LiBUaGUg
bmV0d29yayBpbnRlcmZhY2Ugc2hvdWxkIGFwcGVhciBhcyAwMDowMC4wICBpbiB0aGUgZ3Vlc3Qg
YW5kIGJlIHVzYWJsZS4NCg0KUGxlYXNlIGxldCBtZSBrbm93IGlmIHlvdSBuZWVkIG1vcmUgaW5m
by4NCg0KDQoNClJlZ2FyZHMsDQpSYWh1bA0KDQo=

--_000_A9FCD6883CA2484AADC1F1235F18890Farmcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <21C7919162C1BC43A1B2ADE0109C0A1F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBjbGFzcz0i
Qm9keUZyYWdtZW50Ij48Zm9udCBzaXplPSIyIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExcHQ7
Ij4NCjxkaXYgY2xhc3M9IlBsYWluVGV4dCI+SGkgU2lzeXBoZWFuLDxicj4NCjxicj4NCiZndDsg
T24gOSBEZWMgMjAyMiwgYXQgNjoxNSBhbSwgc2lzeXBoZWFuICZsdDtzaXN5cGhlYW5Aemx3LmVt
YWlsJmd0OyB3cm90ZTo8YnI+DQomZ3Q7IDxicj4NCiZndDsgSGksPGJyPg0KJmd0OyA8YnI+DQom
Z3Q7IEkgdHJ5IHRvIHJ1biBYRU4gb24gbXkgQVJNIGJvYXJkKFNvcnJ5LCBmb3Igc29tZSBjb21t
ZXJjaWFsIHJlYXNvbnMsIEkgY2FuJ3QgdGVsbCB5b3U8YnI+DQomZ3Q7IG9uIHdoaWNoIHBsYXRm
b3JtIEkgcnVuIFhFTikmbmJzcDsgYW5kIGFkZCBQQ0lFIGRldmljZSBwYXNzdGhyb3VnaCB0byBE
b21VLkJ1dCBhbiBlcnJvcjxicj4NCiZndDsgb2NjdXJyZWQgd2hpbGUgYWRkaW5nIHRoZSBQQ0lF
IGRldmljZSB0byBTTU1VdjMuPGJyPg0KPGJyPg0KUENJIHBhc3N0aHJvdWdoIHN1cHBvcnQgaXMg
bm90IGZ1bGx5IHVwc3RyZWFtIHRvIFhlbiBvbiBBUk0uIFdlIGhhdmUgd29ya2luZzxicj4NClBD
SSBwYXNzdGhyb3VnaCBicmFuY2ggdGhhdCB5b3UgY2FuIHVzZSB0byB0ZXN0IGl0LiA8YnI+DQo8
YnI+DQo8YSBocmVmPSJodHRwczovL2dpdGxhYi5jb20veGVuLXByb2plY3QvZnVzYS94ZW4taW50
ZWdyYXRpb24vLS9jb21taXRzL2ludGVncmF0aW9uL3BjaS1wYXNzdGhyb3VnaCI+aHR0cHM6Ly9n
aXRsYWIuY29tL3hlbi1wcm9qZWN0L2Z1c2EveGVuLWludGVncmF0aW9uLy0vY29tbWl0cy9pbnRl
Z3JhdGlvbi9wY2ktcGFzc3Rocm91Z2g8L2E+PGJyPg0KPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IFRo
cm91Z2ggcmVhZGluZyB0aGUgY29kZSBhbmQgdHJhY2luZyBkZWJ1Z2dpbmcsIHRoZSBlcnJvciBp
cyBmb3VuZCBpbiB0aGUgZnVuY3Rpb248YnI+DQomZ3Q7IGFybV9zbW11X2FkZF9kZXZpY2UsIHdo
aWNoIHdpbGwgb2J0YWluIGFuZCBkZXRlcm1pbmUgd2hldGhlciB0aGUgZndzcGVjIG9mIHRoZTxi
cj4NCiZndDsgZGV2aWNlIHRvIGJlIGFkZGVkIHRvIFNNTVUgZXhpc3RzLkJ1dCBmb3IgdGhlIFhF
TiBvZiBhcm0sIHRoZSBmd3NwZWMgb2YgdGhlIGRldmljZSBpczxicj4NCiZndDsgY3JlYXRlZCBh
bmQgYWRkZWQgYnkganVkZ2luZyB3aGV0aGVyIHRoZSBpb21tdSBmaWVsZCBleGlzdHMgaW4gdGhl
IGRldmljZSBub2RlIHdoZW48YnI+DQomZ3Q7IFhFTiBwYXJzZXMgdGhlIGRldmljZSB0cmVlLkhv
d2V2ZXIsIHRoZSBQQ0lFIGRldmljZSBkb2VzIG5vdCBhcHBlYXIgaW4gdGhlIGRldmljZSB0cmVl
LDxicj4NCiZndDsgc28gdGhlcmUgd2lsbCBiZSBubyBmd3NwZWMgZm9yIGFsbCBQQ0lFIGRldmlj
ZXMuIFdoZW4gYXR0ZW1wdGluZyB0byBhZGQgYSBQQ0lFIGRldmljZSB0bzxicj4NCiZndDsgU01N
VSwgYSBFTk9ERVYgZXJyb3Igd2lsbCBiZSByZXR1cm5lZC48YnI+DQo8YnI+DQpBcyBvZiBub3cg
WGVuIGRvZXNu4oCZdCBzdXBwb3J0IHRvIGFkZCBQQ0kgZGV2aWNlIHRvIElPTU1VIG9uIEFSTS4g
PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IEluIGFkZGl0aW9uLCB0aGUgY29kZSBhdCB4ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC9wY2kuYyBhbHNvIHZlcmlmaWVzIHRoZSBhYm92ZSB2aWV3Ljxicj4NCiZn
dDsgRm9yIFBDSUUgZGV2aWNlcywgcGRldiBpcyBhbGxvYyBpbiBmdW5jdGlvbiBwY2lfYWRkX2Rl
dmljZSBieSBhbGxvY19wZGV2Lkhvd2V2ZXIsPGJyPg0KJmd0OyB0aGUgZnVuY3Rpb24gYWxsb2Nf
cGRldiBkb2VzIG5vdCBjcmVhdGUgYW5kIGFkZCBmd3NwZWMgdG8gdGhlIFBDSUUgZGV2aWNlLlRo
ZXJlZm9yZSw8YnI+DQomZ3Q7IHdoZW4gZnVuY3Rpb24gcGNpX2FkZF9kZXZpY2UgZXhlY3V0ZXMg
dG8gaW9tbXVfYWRkX2RldmljZSxpdCB3aWxsIGdldCB0aGUgZXJyb3I8YnI+DQomZ3Q7IHJldHVy
biBvZiBFTk9ERVYuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IEhvdyBjYW4gSSByZXNvbHZlIHRoZSBh
Ym92ZSBlcnJvcnM/PGJyPg0KPGJyPg0KSWYgeW91IHdhbnQgdG8gdGVzdCB0aGUgUENJIHBhc3N0
aHJvdWdoIHBsZWFzZSBmb2xsb3cgYmVsb3cgc3RlcHMuPGJyPg0KPGJyPg0KWGVuIHNldHVwOjxi
cj4NCiZuYnNwOyZuYnNwOyZuYnNwOyDigKIgQSBjaGVja291dCBvZiB0aGUg4oCcaW50ZWdyYXRp
b24vcGNpLXBhc3N0aHJvdWdo4oCdIGJyYW5jaCBmcm9tIHRoZSZuYnNwOyBnaXRsYWIgPGEgaHJl
Zj0iaHR0cHM6Ly9naXRsYWIuY29tL3hlbi1wcm9qZWN0L2Z1c2EveGVuLWludGVncmF0aW9uLy0v
Y29tbWl0cy9pbnRlZ3JhdGlvbi9wY2ktcGFzc3Rocm91Z2giPg0KaHR0cHM6Ly9naXRsYWIuY29t
L3hlbi1wcm9qZWN0L2Z1c2EveGVuLWludGVncmF0aW9uLy0vY29tbWl0cy9pbnRlZ3JhdGlvbi9w
Y2ktcGFzc3Rocm91Z2g8L2E+PGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7IOKAoiBQYXNzIGlvbW11
PXllcyZuYnNwOyBhbmQgcGNpLXBhc3N0aHJvdWdoPW9uIHRvIFhlbiBjb21tYW5kIGxpbmUgdG8g
ZW5hYmxlIFBDSSBwYXNzdGhyb3VnaC48YnI+DQo8YnI+DQombmJzcDtMaW51eCBLZXJuZWwgc2V0
dXA6PGJyPg0KJm5ic3A7PGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7IOKAoiBTb21lIGNoYW5nZXMg
YXJlIHJlcXVpcmVkIGZvciB0aGUga2VybmVsIHRvIHdvcmsgd2l0aCBQQ0kgcGFzc3Rocm91Z2gu
IEZpcnN0IGFyZSBzb21lIGNvbmZpZ3VyYXRpb24gb3B0aW9ucywgZW5hYmxlIHRoZW0gaW4ga2Vy
bmVsIGNvbmZpZy48YnI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgQ09ORklHX1hFTj15PGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7IENPTkZJR19YRU5fQkFDS0VORD15PGJyPg0KJm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IENPTkZJR19YRU5fUENJREVWX0JB
Q0tFTkQ9eTxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyDigKIgVGhlbiBhIHBhdGNoIG5lZWRzIHRv
IGJlIGFwcGxpZWQgZm9yIGVuYWJsaW5nIHRoZSBwY2liYWNrIGRyaXZlci4gUGF0Y2ggaXMgYXR0
YWNoZWQgaW4gdGhpcyBlbWFpbC48YnI+DQombmJzcDs8YnI+DQpVc2luZyBQQ0kgcGFzc3Rocm91
Z2g6PGJyPg0KJm5ic3A7PGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7IOKAoiBJbiBvcmRlciB0byBw
YXNzIGEgZGV2aWNlIHRvIGEgZ3Vlc3QsIHlvdSBmaXJzdCBuZWVkIGl0cyBQQ0kgYWRkcmVzcyhT
QkRGKS4gWW91IGNhbiBlaXRoZXIgZ2V0IGl0IGZyb20gYSBiYXJlLW1ldGFsPGJyPg0KJm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IExpbnV4IHJ1bm5pbmcgb24gdGhlIHBsYXRmb3JtIG9y
IGJ5IGhhdmluZyBwY2l1dGlscyZuYnNwOyBpbnN0YWxsZWQgKGlmIHlvdSBhcmUgdXNpbmcgYSB5
b2N0by1iYXNlZCBkb20wIG9yIGhhdmUgYXB0IGF2YWlsYWJsZSksIHdoaWNoIHByb3ZpZGVzIGxz
cGNpLjxicj4NCiZuYnNwOzxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBGb3IgZXhhbXBs
ZSwgbGV0J3MgcGFzcyBvbmUgZXRoZXJuZXQgaW50ZXJmYWNlIHRvIHRoZSBndWVzdC4gUnVubmlu
ZyBsc3BjaSBnaXZlcyB1cyB0aGlzIG91dHB1dCAodHJ1bmNhdGVkKSA6PGJyPg0KJm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDAwMDA6MDA6MDAuMCBIb3N0IGJyaWRnZTogQW1w
ZXJlIENvbXB1dGluZywgTExDIERldmljZSBlMTAwPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IDAwMDA6MDA6MDEuMCBQQ0kgYnJpZGdlOiBBbXBlcmUgQ29tcHV0aW5n
LCBMTEMgRGV2aWNlIGUxMDEgKHJldiAwNCk8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgMDAwMDowMTowMC4wIEV0aGVybmV0IGNvbnRyb2xsZXI6IEludGVsIENvcnBv
cmF0aW9uIEV0aGVybmV0IENvbnRyb2xsZXIgWDcxMC9YNTU3LUFUIDEwR0JBU0UtVCAocmV2IDAx
KTxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBbLi4uXTxicj4NCiZuYnNwOzxicj4N
CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBXZSB3aWxsIHBhc3Mgb25lIG9mIHRoZSBldGhlcm5l
dCBmcm9tIHRoZSBQQ0kgbmV0d29yayBjYXJkIDogMDAwMDowMTowMC4wIC48YnI+DQombmJzcDs8
YnI+DQombmJzcDsmbmJzcDsmbmJzcDsg4oCiIEFkZCB0aGUgZm9sbG93aW5nIGxpbmUgdG8gdGhl
IGd1ZXN0IGNvbmZpZ3VyYXRpb24gZmlsZSA6PGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHBjaSA9IFsnMDAwMDowMTowMC4wJ108YnI+
DQombmJzcDs8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsg4oCiIFJ1biB0aGUgZm9sbG93aW5nIGNv
bW1hbmQgYmVmb3JlIHN0YXJ0aW5nIHRoZSBndWVzdCA6PGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHhsIHBjaS1hc3NpZ25h
YmxlLWFkZCAwMDAwOjAxOjAwLjA8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsg4oCiIFN0YXJ0IHRo
ZSBndWVzdC4gVGhlIG5ldHdvcmsgaW50ZXJmYWNlIHNob3VsZCBhcHBlYXIgYXMgMDA6MDAuMCZu
YnNwOyBpbiB0aGUgZ3Vlc3QgYW5kIGJlIHVzYWJsZS48YnI+DQombmJzcDs8YnI+DQpQbGVhc2Ug
bGV0IG1lIGtub3cgaWYgeW91IG5lZWQgbW9yZSBpbmZvLjxicj4NCjxicj4NCjwvZGl2Pg0KPC9z
cGFuPjwvZm9udD48L2Rpdj4NCjxkaXYgY2xhc3M9IkJvZHlGcmFnbWVudCI+PGZvbnQgc2l6ZT0i
MiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMXB0OyI+DQo8ZGl2IGNsYXNzPSJQbGFpblRleHQi
Pjxicj4NCjxicj4NClJlZ2FyZHMsPGJyPg0KUmFodWw8YnI+DQo8YnI+DQo8L2Rpdj4NCjwvc3Bh
bj48L2ZvbnQ+PC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_A9FCD6883CA2484AADC1F1235F18890Farmcom_--

--_004_A9FCD6883CA2484AADC1F1235F18890Farmcom_
Content-Type: application/octet-stream;
	name="0001-xen-pciback-make-xen-pciback-driver-workon-ARM.patch"
Content-Description: 0001-xen-pciback-make-xen-pciback-driver-workon-ARM.patch
Content-Disposition: attachment;
	filename="0001-xen-pciback-make-xen-pciback-driver-workon-ARM.patch";
	size=7985; creation-date="Fri, 09 Dec 2022 09:50:07 GMT";
	modification-date="Fri, 09 Dec 2022 09:50:07 GMT"
Content-ID: <01C6392F6E7BE14CAF681107A807C081@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64

RnJvbSBiNGY3NDA1MWRiZGZlZDQ0ZDJkMTFlYzY0MmI5MjJiMWE1YTE0NGVmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpNZXNzYWdlLUlkOiA8YjRmNzQwNTFkYmRmZWQ0NGQyZDExZWM2NDJiOTIy
YjFhNWExNDRlZi4xNjYwODM4MzUxLmdpdC5yYWh1bC5zaW5naEBhcm0uY29tPgpGcm9tOiBSYWh1
bCBTaW5naCA8cmFodWwuc2luZ2hAYXJtLmNvbT4KRGF0ZTogTW9uLCAxNyBKYW4gMjAyMiAxMTo0
NTo0NyArMDAwMApTdWJqZWN0OiBbUEFUQ0hdIHhlbi9wY2liYWNrOiBtYWtlIHhlbiBwY2liYWNr
IGRyaXZlciB3b3Jrb24gQVJNCgpwY2liYWNrIGRyaXZlciBpcyBub3Qgc3VwcG9ydGVkIG9uIEFS
TS4gVGhpcyBwYXRjaCBhZGQgc3VwcG9ydCBmb3IKcGNpYmFjayBkcml2ZXIgb24gQVJNLgoKU2ln
bmVkLW9mZi1ieTogUmFodWwgU2luZ2ggPHJhaHVsLnNpbmdoQGFybS5jb20+Ci0tLQogYXJjaC94
ODYvcGNpL3hlbi5jICAgICAgICAgICAgICAgICB8IDc2IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogZHJpdmVycy9wY2kvcGNpLmggICAgICAgICAgICAgICAgICB8IDI1ICsrKysrKysr
KysKIGRyaXZlcnMveGVuL0tjb25maWcgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy94
ZW4vcGNpLmMgICAgICAgICAgICAgICAgICB8IDc1ICsrKysrKysrKysrKysrKysrKysrKysrKysr
KysrCiBkcml2ZXJzL3hlbi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jIHwgIDIgKy0KIGRyaXZlcnMv
eGVuL3hlbi1wY2liYWNrL3BjaWJhY2suaCAgfCAgMSArCiBkcml2ZXJzL3hlbi94ZW4tcGNpYmFj
ay94ZW5idXMuYyAgIHwgIDEgLQogNyBmaWxlcyBjaGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKSwg
NzkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGNpL3hlbi5jIGIvYXJjaC94
ODYvcGNpL3hlbi5jCmluZGV4IGYxNTNlOWFiOGM5Ni4uY2FiMDNlYTE5Zjk2IDEwMDY0NAotLS0g
YS9hcmNoL3g4Ni9wY2kveGVuLmMKKysrIGIvYXJjaC94ODYvcGNpL3hlbi5jCkBAIC01ODgsNzkg
KzU4OCwzIEBAIGludCBfX2luaXQgcGNpX3hlbl9pbml0aWFsX2RvbWFpbih2b2lkKQogCXJldHVy
biAwOwogfQogI2VuZGlmCi0KLSNpZmRlZiBDT05GSUdfWEVOX0RPTTAKLQotc3RydWN0IHhlbl9k
ZXZpY2VfZG9tYWluX293bmVyIHsKLQlkb21pZF90IGRvbWFpbjsKLQlzdHJ1Y3QgcGNpX2RldiAq
ZGV2OwotCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsKLX07Ci0KLXN0YXRpYyBERUZJTkVfU1BJTkxP
Q0soZGV2X2RvbWFpbl9saXN0X3NwaW5sb2NrKTsKLXN0YXRpYyBzdHJ1Y3QgbGlzdF9oZWFkIGRl
dl9kb21haW5fbGlzdCA9IExJU1RfSEVBRF9JTklUKGRldl9kb21haW5fbGlzdCk7Ci0KLXN0YXRp
YyBzdHJ1Y3QgeGVuX2RldmljZV9kb21haW5fb3duZXIgKmZpbmRfZGV2aWNlKHN0cnVjdCBwY2lf
ZGV2ICpkZXYpCi17Ci0Jc3RydWN0IHhlbl9kZXZpY2VfZG9tYWluX293bmVyICpvd25lcjsKLQot
CWxpc3RfZm9yX2VhY2hfZW50cnkob3duZXIsICZkZXZfZG9tYWluX2xpc3QsIGxpc3QpIHsKLQkJ
aWYgKG93bmVyLT5kZXYgPT0gZGV2KQotCQkJcmV0dXJuIG93bmVyOwotCX0KLQlyZXR1cm4gTlVM
TDsKLX0KLQotaW50IHhlbl9maW5kX2RldmljZV9kb21haW5fb3duZXIoc3RydWN0IHBjaV9kZXYg
KmRldikKLXsKLQlzdHJ1Y3QgeGVuX2RldmljZV9kb21haW5fb3duZXIgKm93bmVyOwotCWludCBk
b21haW4gPSAtRU5PREVWOwotCi0Jc3Bpbl9sb2NrKCZkZXZfZG9tYWluX2xpc3Rfc3BpbmxvY2sp
OwotCW93bmVyID0gZmluZF9kZXZpY2UoZGV2KTsKLQlpZiAob3duZXIpCi0JCWRvbWFpbiA9IG93
bmVyLT5kb21haW47Ci0Jc3Bpbl91bmxvY2soJmRldl9kb21haW5fbGlzdF9zcGlubG9jayk7Ci0J
cmV0dXJuIGRvbWFpbjsKLX0KLUVYUE9SVF9TWU1CT0xfR1BMKHhlbl9maW5kX2RldmljZV9kb21h
aW5fb3duZXIpOwotCi1pbnQgeGVuX3JlZ2lzdGVyX2RldmljZV9kb21haW5fb3duZXIoc3RydWN0
IHBjaV9kZXYgKmRldiwgdWludDE2X3QgZG9tYWluKQotewotCXN0cnVjdCB4ZW5fZGV2aWNlX2Rv
bWFpbl9vd25lciAqb3duZXI7Ci0KLQlvd25lciA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCB4ZW5f
ZGV2aWNlX2RvbWFpbl9vd25lciksIEdGUF9LRVJORUwpOwotCWlmICghb3duZXIpCi0JCXJldHVy
biAtRU5PREVWOwotCi0Jc3Bpbl9sb2NrKCZkZXZfZG9tYWluX2xpc3Rfc3BpbmxvY2spOwotCWlm
IChmaW5kX2RldmljZShkZXYpKSB7Ci0JCXNwaW5fdW5sb2NrKCZkZXZfZG9tYWluX2xpc3Rfc3Bp
bmxvY2spOwotCQlrZnJlZShvd25lcik7Ci0JCXJldHVybiAtRUVYSVNUOwotCX0KLQlvd25lci0+
ZG9tYWluID0gZG9tYWluOwotCW93bmVyLT5kZXYgPSBkZXY7Ci0JbGlzdF9hZGRfdGFpbCgmb3du
ZXItPmxpc3QsICZkZXZfZG9tYWluX2xpc3QpOwotCXNwaW5fdW5sb2NrKCZkZXZfZG9tYWluX2xp
c3Rfc3BpbmxvY2spOwotCXJldHVybiAwOwotfQotRVhQT1JUX1NZTUJPTF9HUEwoeGVuX3JlZ2lz
dGVyX2RldmljZV9kb21haW5fb3duZXIpOwotCi1pbnQgeGVuX3VucmVnaXN0ZXJfZGV2aWNlX2Rv
bWFpbl9vd25lcihzdHJ1Y3QgcGNpX2RldiAqZGV2KQotewotCXN0cnVjdCB4ZW5fZGV2aWNlX2Rv
bWFpbl9vd25lciAqb3duZXI7Ci0KLQlzcGluX2xvY2soJmRldl9kb21haW5fbGlzdF9zcGlubG9j
ayk7Ci0Jb3duZXIgPSBmaW5kX2RldmljZShkZXYpOwotCWlmICghb3duZXIpIHsKLQkJc3Bpbl91
bmxvY2soJmRldl9kb21haW5fbGlzdF9zcGlubG9jayk7Ci0JCXJldHVybiAtRU5PREVWOwotCX0K
LQlsaXN0X2RlbCgmb3duZXItPmxpc3QpOwotCXNwaW5fdW5sb2NrKCZkZXZfZG9tYWluX2xpc3Rf
c3BpbmxvY2spOwotCWtmcmVlKG93bmVyKTsKLQlyZXR1cm4gMDsKLX0KLUVYUE9SVF9TWU1CT0xf
R1BMKHhlbl91bnJlZ2lzdGVyX2RldmljZV9kb21haW5fb3duZXIpOwotI2VuZGlmIC8qIENPTkZJ
R19YRU5fRE9NMCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9wY2kvcGNpLmggYi9kcml2ZXJzL3Bj
aS9wY2kuaAppbmRleCAxY2NlNTZjMmFlYTAuLjUxMDg5MTAyNTBhYiAxMDA2NDQKLS0tIGEvZHJp
dmVycy9wY2kvcGNpLmgKKysrIGIvZHJpdmVycy9wY2kvcGNpLmgKQEAgLTc0NCw0ICs3NDQsMjkg
QEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgYXNwbV9jdHJsX2F0dHJfZ3Jv
dXA7CiAKIGV4dGVybiBjb25zdCBzdHJ1Y3QgYXR0cmlidXRlX2dyb3VwIHBjaV9kZXZfcmVzZXRf
bWV0aG9kX2F0dHJfZ3JvdXA7CiAKKyNpZiBkZWZpbmVkKENPTkZJR19YRU5fRE9NMCkKK2ludCBf
X2luaXQgcGNpX3hlbl9pbml0aWFsX2RvbWFpbih2b2lkKTsKK2ludCB4ZW5fZmluZF9kZXZpY2Vf
ZG9tYWluX293bmVyKHN0cnVjdCBwY2lfZGV2ICpkZXYpOworaW50IHhlbl9yZWdpc3Rlcl9kZXZp
Y2VfZG9tYWluX293bmVyKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHVpbnQxNl90IGRvbWFpbik7Citp
bnQgeGVuX3VucmVnaXN0ZXJfZGV2aWNlX2RvbWFpbl9vd25lcihzdHJ1Y3QgcGNpX2RldiAqZGV2
KTsKKyNlbHNlCitzdGF0aWMgaW5saW5lIGludCBfX2luaXQgcGNpX3hlbl9pbml0aWFsX2RvbWFp
bih2b2lkKQoreworICAgICAgIHJldHVybiAtMTsKK30KK3N0YXRpYyBpbmxpbmUgaW50IHhlbl9m
aW5kX2RldmljZV9kb21haW5fb3duZXIoc3RydWN0IHBjaV9kZXYgKmRldikKK3sKKyAgICAgICBy
ZXR1cm4gLTE7Cit9CitzdGF0aWMgaW5saW5lIGludCB4ZW5fcmVnaXN0ZXJfZGV2aWNlX2RvbWFp
bl9vd25lcihzdHJ1Y3QgcGNpX2RldiAqZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBkb21haW4pCit7CisgICAgICAgcmV0dXJu
IC0xOworfQorc3RhdGljIGlubGluZSBpbnQgeGVuX3VucmVnaXN0ZXJfZGV2aWNlX2RvbWFpbl9v
d25lcihzdHJ1Y3QgcGNpX2RldiAqZGV2KQoreworICAgICAgIHJldHVybiAtMTsKK30KKyNlbmRp
ZgorCiAjZW5kaWYgLyogRFJJVkVSU19QQ0lfSCAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4v
S2NvbmZpZyBiL2RyaXZlcnMveGVuL0tjb25maWcKaW5kZXggMWIyYzNhY2E2ODg3Li4zYmJmMmI2
OTBmNWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL0tjb25maWcKKysrIGIvZHJpdmVycy94ZW4v
S2NvbmZpZwpAQCAtMTgzLDcgKzE4Myw3IEBAIGNvbmZpZyBTV0lPVExCX1hFTgogCiBjb25maWcg
WEVOX1BDSURFVl9CQUNLRU5ECiAJdHJpc3RhdGUgIlhlbiBQQ0ktZGV2aWNlIGJhY2tlbmQgZHJp
dmVyIgotCWRlcGVuZHMgb24gUENJICYmIFg4NiAmJiBYRU4KKwlkZXBlbmRzIG9uIFBDSSAmJiBY
RU4KIAlkZXBlbmRzIG9uIFhFTl9CQUNLRU5ECiAJZGVmYXVsdCBtCiAJaGVscApkaWZmIC0tZ2l0
IGEvZHJpdmVycy94ZW4vcGNpLmMgYi9kcml2ZXJzL3hlbi9wY2kuYwppbmRleCAyMjRkZjAzY2U0
MmUuLjdjYTA4NWEzNmU5OSAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vcGNpLmMKKysrIGIvZHJp
dmVycy94ZW4vcGNpLmMKQEAgLTI1NCwzICsyNTQsNzggQEAgc3RhdGljIGludCB4ZW5fbWNmZ19s
YXRlKHZvaWQpCiAJcmV0dXJuIDA7CiB9CiAjZW5kaWYKKworI2lmZGVmIENPTkZJR19YRU5fRE9N
MAorc3RydWN0IHhlbl9kZXZpY2VfZG9tYWluX293bmVyIHsKKyAgICAgICBkb21pZF90IGRvbWFp
bjsKKyAgICAgICBzdHJ1Y3QgcGNpX2RldiAqZGV2OworICAgICAgIHN0cnVjdCBsaXN0X2hlYWQg
bGlzdDsKK307CisKK3N0YXRpYyBERUZJTkVfU1BJTkxPQ0soZGV2X2RvbWFpbl9saXN0X3NwaW5s
b2NrKTsKK3N0YXRpYyBzdHJ1Y3QgbGlzdF9oZWFkIGRldl9kb21haW5fbGlzdCA9IExJU1RfSEVB
RF9JTklUKGRldl9kb21haW5fbGlzdCk7CisKK3N0YXRpYyBzdHJ1Y3QgeGVuX2RldmljZV9kb21h
aW5fb3duZXIgKmZpbmRfZGV2aWNlKHN0cnVjdCBwY2lfZGV2ICpkZXYpCit7CisgICAgICAgc3Ry
dWN0IHhlbl9kZXZpY2VfZG9tYWluX293bmVyICpvd25lcjsKKworICAgICAgIGxpc3RfZm9yX2Vh
Y2hfZW50cnkob3duZXIsICZkZXZfZG9tYWluX2xpc3QsIGxpc3QpIHsKKyAgICAgICAgICAgICAg
IGlmIChvd25lci0+ZGV2ID09IGRldikKKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG93
bmVyOworICAgICAgIH0KKyAgICAgICByZXR1cm4gTlVMTDsKK30KKworaW50IHhlbl9maW5kX2Rl
dmljZV9kb21haW5fb3duZXIoc3RydWN0IHBjaV9kZXYgKmRldikKK3sKKyAgICAgICBzdHJ1Y3Qg
eGVuX2RldmljZV9kb21haW5fb3duZXIgKm93bmVyOworICAgICAgIGludCBkb21haW4gPSAtRU5P
REVWOworCisgICAgICAgc3Bpbl9sb2NrKCZkZXZfZG9tYWluX2xpc3Rfc3BpbmxvY2spOworICAg
ICAgIG93bmVyID0gZmluZF9kZXZpY2UoZGV2KTsKKyAgICAgICBpZiAob3duZXIpCisgICAgICAg
ICAgICAgICBkb21haW4gPSBvd25lci0+ZG9tYWluOworICAgICAgIHNwaW5fdW5sb2NrKCZkZXZf
ZG9tYWluX2xpc3Rfc3BpbmxvY2spOworICAgICAgIHJldHVybiBkb21haW47Cit9CitFWFBPUlRf
U1lNQk9MX0dQTCh4ZW5fZmluZF9kZXZpY2VfZG9tYWluX293bmVyKTsKKworaW50IHhlbl9yZWdp
c3Rlcl9kZXZpY2VfZG9tYWluX293bmVyKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHVpbnQxNl90IGRv
bWFpbikKK3sKKyAgICAgICBzdHJ1Y3QgeGVuX2RldmljZV9kb21haW5fb3duZXIgKm93bmVyOwor
CisgICAgICAgb3duZXIgPSBremFsbG9jKHNpemVvZihzdHJ1Y3QgeGVuX2RldmljZV9kb21haW5f
b3duZXIpLCBHRlBfS0VSTkVMKTsKKyAgICAgICBpZiAoIW93bmVyKQorICAgICAgICAgICAgICAg
cmV0dXJuIC1FTk9ERVY7CisKKyAgICAgICBzcGluX2xvY2soJmRldl9kb21haW5fbGlzdF9zcGlu
bG9jayk7CisgICAgICAgaWYgKGZpbmRfZGV2aWNlKGRldikpIHsKKyAgICAgICAgICAgICAgIHNw
aW5fdW5sb2NrKCZkZXZfZG9tYWluX2xpc3Rfc3BpbmxvY2spOworICAgICAgICAgICAgICAga2Zy
ZWUob3duZXIpOworICAgICAgICAgICAgICAgcmV0dXJuIC1FRVhJU1Q7CisgICAgICAgfQorICAg
ICAgIG93bmVyLT5kb21haW4gPSBkb21haW47CisgICAgICAgb3duZXItPmRldiA9IGRldjsKKyAg
ICAgICBsaXN0X2FkZF90YWlsKCZvd25lci0+bGlzdCwgJmRldl9kb21haW5fbGlzdCk7CisgICAg
ICAgc3Bpbl91bmxvY2soJmRldl9kb21haW5fbGlzdF9zcGlubG9jayk7CisgICAgICAgcmV0dXJu
IDA7Cit9CitFWFBPUlRfU1lNQk9MX0dQTCh4ZW5fcmVnaXN0ZXJfZGV2aWNlX2RvbWFpbl9vd25l
cik7CisKK2ludCB4ZW5fdW5yZWdpc3Rlcl9kZXZpY2VfZG9tYWluX293bmVyKHN0cnVjdCBwY2lf
ZGV2ICpkZXYpCit7CisgICAgICAgc3RydWN0IHhlbl9kZXZpY2VfZG9tYWluX293bmVyICpvd25l
cjsKKworICAgICAgIHNwaW5fbG9jaygmZGV2X2RvbWFpbl9saXN0X3NwaW5sb2NrKTsKKyAgICAg
ICBvd25lciA9IGZpbmRfZGV2aWNlKGRldik7CisgICAgICAgaWYgKCFvd25lcikgeworICAgICAg
ICAgICAgICAgc3Bpbl91bmxvY2soJmRldl9kb21haW5fbGlzdF9zcGlubG9jayk7CisgICAgICAg
ICAgICAgICByZXR1cm4gLUVOT0RFVjsKKyAgICAgICB9CisgICAgICAgbGlzdF9kZWwoJm93bmVy
LT5saXN0KTsKKyAgICAgICBzcGluX3VubG9jaygmZGV2X2RvbWFpbl9saXN0X3NwaW5sb2NrKTsK
KyAgICAgICBrZnJlZShvd25lcik7CisgICAgICAgcmV0dXJuIDA7Cit9CitFWFBPUlRfU1lNQk9M
X0dQTCh4ZW5fdW5yZWdpc3Rlcl9kZXZpY2VfZG9tYWluX293bmVyKTsKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvZHJpdmVycy94ZW4veGVuLXBjaWJhY2svcGNpX3N0dWIuYyBiL2RyaXZlcnMveGVuL3hl
bi1wY2liYWNrL3BjaV9zdHViLmMKaW5kZXggZjhlNGZhYTk2YWQ2Li5jNGFmZjNiNDM4ZGIgMTAw
NjQ0Ci0tLSBhL2RyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaV9zdHViLmMKKysrIGIvZHJpdmVy
cy94ZW4veGVuLXBjaWJhY2svcGNpX3N0dWIuYwpAQCAtMTksNyArMTksNyBAQAogI2luY2x1ZGUg
PGxpbnV4L3NjaGVkLmg+CiAjaW5jbHVkZSA8bGludXgvYXRvbWljLmg+CiAjaW5jbHVkZSA8eGVu
L2V2ZW50cy5oPgotI2luY2x1ZGUgPGFzbS94ZW4vcGNpLmg+CisjaW5jbHVkZSA8eGVuL3hlbi5o
PgogI2luY2x1ZGUgPGFzbS94ZW4vaHlwZXJ2aXNvci5oPgogI2luY2x1ZGUgPHhlbi9pbnRlcmZh
Y2UvcGh5c2Rldi5oPgogI2luY2x1ZGUgInBjaWJhY2suaCIKZGlmZiAtLWdpdCBhL2RyaXZlcnMv
eGVuL3hlbi1wY2liYWNrL3BjaWJhY2suaCBiL2RyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaWJh
Y2suaAppbmRleCA5NWUyOGVlNDhkNTIuLmNiZDhkZGVhNmVmYyAxMDA2NDQKLS0tIGEvZHJpdmVy
cy94ZW4veGVuLXBjaWJhY2svcGNpYmFjay5oCisrKyBiL2RyaXZlcnMveGVuL3hlbi1wY2liYWNr
L3BjaWJhY2suaApAQCAtMTYsNiArMTYsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2F0b21pYy5oPgog
I2luY2x1ZGUgPHhlbi9ldmVudHMuaD4KICNpbmNsdWRlIDx4ZW4vaW50ZXJmYWNlL2lvL3BjaWlm
Lmg+CisjaW5jbHVkZSAiLi4vLi4vcGNpL3BjaS5oIgogCiAjZGVmaW5lIERSVl9OQU1FCSJ4ZW4t
cGNpYmFjayIKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuLXBjaWJhY2sveGVuYnVzLmMg
Yi9kcml2ZXJzL3hlbi94ZW4tcGNpYmFjay94ZW5idXMuYwppbmRleCBjMDljN2ViZDY5NjguLjNl
NjAzN2MzODdmZiAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4veGVuLXBjaWJhY2sveGVuYnVzLmMK
KysrIGIvZHJpdmVycy94ZW4veGVuLXBjaWJhY2sveGVuYnVzLmMKQEAgLTE0LDcgKzE0LDYgQEAK
ICNpbmNsdWRlIDxsaW51eC93b3JrcXVldWUuaD4KICNpbmNsdWRlIDx4ZW4veGVuYnVzLmg+CiAj
aW5jbHVkZSA8eGVuL2V2ZW50cy5oPgotI2luY2x1ZGUgPGFzbS94ZW4vcGNpLmg+CiAjaW5jbHVk
ZSAicGNpYmFjay5oIgogCiAjZGVmaW5lIElOVkFMSURfRVZUQ0hOX0lSUSAgKC0xKQotLSAKMi4y
NS4xCgo=

--_004_A9FCD6883CA2484AADC1F1235F18890Farmcom_--


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 09:59:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 09:59:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457779.715764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3aAU-00029I-4W; Fri, 09 Dec 2022 09:59:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457779.715764; Fri, 09 Dec 2022 09:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3aAU-00029B-19; Fri, 09 Dec 2022 09:59:46 +0000
Received: by outflank-mailman (input) for mailman id 457779;
 Fri, 09 Dec 2022 09:59:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EgrE=4H=citrix.com=prvs=3355af1f3=roger.pau@srs-se1.protection.inumbo.net>)
 id 1p3aAS-00028p-5p
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 09:59:44 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 320a50da-77a8-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 10:59:41 +0100 (CET)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Dec 2022 04:59:35 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN8PR03MB4994.namprd03.prod.outlook.com (2603:10b6:408:da::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.18; Fri, 9 Dec
 2022 09:59:32 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1%8]) with mapi id 15.20.5880.014; Fri, 9 Dec 2022
 09:59:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 320a50da-77a8-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670579981;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=9PLbwSmciB0fc9L1wH0pje760Lk0m8ONU2htITtY6tI=;
  b=eJ/U9duVZGVSc66K6q9lisTC4k2KWPQJyltqE+7E92n/aXIGJeKLZNBD
   KfW9U45fcfPSYXQBNv9d3JRFpxqOTYuTgjf0WkD4k7ubGvcE4cu5qfXVv
   imMNwvr3CrHBdXE9e0hjbS3YRCJQ0qD1n4siEi0UgiIL3Jhm4t5pczKNh
   A=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 86514834
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:uMYyJKxwJgR/67lkErN6t+cQxyrEfRIJ4+MujC+fZmUNrF6WrkUAm
 2QaUGGFMveLZ2H8Kt4nO4qxph9Qu5Ddm9ViTgtt/iAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPaET5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KVxFp
 fs9MRYsVSigle67ze34Y+s22Nt2eaEHPKtH0p1h5RfwKK9/BLrlE+DN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjiVlVIhuFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE1rGSxH+rA956+LuQycUyumWs2FYpV0c0bUL85uKbhF63RIcKQ
 6AT0m90xUQoz2SpRNTgWxyzoFafowURHdFXFoUS+AyLj6bZ/QudLmwFVSJaLswrstcsQj4n3
 UPPmMnmbRRwtJWFRHTb8a2bxQ5eIgAQJG4GICUCHQ0M5oC6pJlp10yfCNF+DKSyk9v5Xynqx
 CyHpzQ/gLNVitMX06K8/hbMhDfESoX1czPZLz7/BgqNhj6Vrqb8D2B0wTA3Ncp9Ebs=
IronPort-HdrOrdr: A9a23:nxgYr6A0ozZEqe7lHem955DYdb4zR+YMi2TDtnoddfUxSKfzqy
 nApoV56faKskdyZJhNo7690cq7LU80l6QU3WB5B97LYOCMggSVxe9ZjLcKygeQfhHDyg==
X-IronPort-AV: E=Sophos;i="5.96,230,1665460800"; 
   d="scan'208";a="86514834"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hXjxmY9L/qxMlAATPilGjiNrJ/askKvt+OGhTmQZlFv8uV+ZrFCuHb0wViBL8W6q6czcz5ft83NrDT9QaALV6P+iHEZ1MBjrgR28V9GRUdeB9vDGCnQ19iRQdbY+aOJlwIUoIXITfuUnXC1Syw2gaqjF082VKknl2AvJSuo1eZUHEcHnfLYR7GVI7bhPlq7dZjp3cclQbatjQAnuv+IWh+NdIpSSHoI18nLrLvxAt5MUiJAUUJfmcCKd1tzRQin0iLlq8wSc7sfr3OwYA19sn59hx5HM4JWrkV8UpFziTVM7NZpL9n2ILnsC+E1F7BetQjNsJ4LeW7LFBRM2SNESIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xORGWa/PrkmSH7TG7scmXXVlksUsjoPw2X4myDpJmvc=;
 b=fXIP69BiaVZZH3pR/NRn7QFMKoUo0dIIFVGi29xsKAhRu1VTmjyCcpcoT3NocFIisZGJAMXchL938pmiPwsHHuNbx/fQNpRrLpuDvuzddpb8rFCZQxvWGMWIugahGkA1+rs09FGid12IAHq+JokfU+WuovWl01EmzPom0Hwy7vTXLQ5qg3tpAdTKuRu2ar9t/faZqUOzzOjFoLkBp+RN6SRpUWrxTnC1bR4k6Hmuts9FLniWtc62STckmhLYSeFy2itskqW41OQbvAKtVOz4xXcsUg0LPGVXXSDDEhSwSjQuQBjlSyDGk3hfny9FxY3HjE3/ofx1a2VMSe5EEoWgtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xORGWa/PrkmSH7TG7scmXXVlksUsjoPw2X4myDpJmvc=;
 b=AbQKjdY3N+Ve86fGD6pi1w1h9RCGw2DEJ1VA0fRipcTN6c85cnQbx4AYCmRsgBqLyk5KZMT3Cpl2xnS8wyfmXKHATxkGb46J2rc0KjRePmMA+RIGOT5dHY8NqbGGmFs+rRJsw8m72Eep2Xx7/MCg3Z9YvkZOguZeRAk5Mo2uZbU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 9 Dec 2022 10:59:26 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/SVM: restrict hardware SSBD update upon guest
 VIRT_SPEC_CTRL write
Message-ID: <Y5MG/osKnrCMsztu@Air-de-Roger>
References: <6189fed4-2aac-8ca3-90f6-7a750a8993dd@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <6189fed4-2aac-8ca3-90f6-7a750a8993dd@suse.com>
X-ClientProxiedBy: MR2P264CA0143.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:30::35) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN8PR03MB4994:EE_
X-MS-Office365-Filtering-Correlation-Id: a5d65bb1-7343-4876-45e1-08dad9cc11e4
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wTFZhmu4m28LGEWa7G8NhOJM4sIElqr6wB/hlKnR/sdO58Vb0/l8kizCiLOG1iEapatL+Rq2mHQLa94I+JeIoT4VMsnzfbfg3W9ns0d66/tjVvg6vLj2ZmcOY3WJmTDdCvCbqMxUTmBAVdc1gD/vgujUG58hC8FNkTzQ3IA/2JPSUql65Wiu47PrdjFuhF2QFF7IN3uxlyN4JaYoqVLFrvLmVtTM0aUwyi6kXmgS5HSvD+GqmtTLG+Et39rrS76OY3FSJF+4pIsTkU54L3HdfZqOzGR3zSEpnyBLJK8doQ3FGLFfM5M9TOAEzsEKxnEZbyU0sV1Sym9gUBY8penS/slmqx+ILHOI2GXbMbRoEuRYFN1k5Mq2izxRkIEUUpLup5S4CyJBW7I5fC8N0ESg+2UIcr+2IhqptC+akgOA+dBFMxm0qU0bp+nKmlrGM1kmcdKp27m4Vbcxx6aCEZZJXSnC+8EyH2wY8/gcuEsHoHtMdWWIaPWhVMlnzTOi+pEAt8+VGtMegOW4Oh8WxFf18l2G5thB0DDEKDiBDYb8zytGWD/8NTBBVDXOgRPObotM0XqiHPZqRJ9kKgsbUgLZa5tRgGhC1UPktOLxWcDXq4AnF6oeXbjn9Ws08DVYDcOpf9F0LY6Xf+dyXqxBxxqSnQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(7916004)(4636009)(376002)(396003)(346002)(39860400002)(136003)(366004)(451199015)(82960400001)(9686003)(26005)(6512007)(33716001)(186003)(2906002)(8676002)(54906003)(85182001)(316002)(6916009)(6666004)(86362001)(6486002)(508600001)(6506007)(8936002)(4326008)(38100700002)(66946007)(66556008)(66476007)(5660300002)(41300700001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVJIOHZ6VUd3U0dUMDhuVFN2S1hPT0pNQTI0K1ZUajFuNnRpSmR6R3U1V2hv?=
 =?utf-8?B?T0tOWHFpM29Ha2pyRENwRCtJNUxnYjkrR25OdTI0TzBNejc1dzZzNkpSVVJi?=
 =?utf-8?B?K0ZQSWZQR1RVL2ozZllqYVM5WXdHR2VBQ0N0SWNyemZ4SGI1anZUMkRTcU9Z?=
 =?utf-8?B?VnZqdXZKSExNR2VneWluNzNIRDh3ZkIrQmp5TzJGTzhyOEFkM2JpU3ZnSlY3?=
 =?utf-8?B?L0toUHczMzd3SGJCeXhNNFJLb0FwUm9SMEFFNDgzUStoYlJBczRXNGpwZmEr?=
 =?utf-8?B?bGcyU1BkOEVaRmVLMWk1UW9UOUl6Q3FTak1YUTgwUGdVeUhDakd0ZmprSWpL?=
 =?utf-8?B?Y0l5WTMva3Z6a084SUN2ZXRMb29SZGRhSjljM0dIWjUwMHNoYnE4MENYN2Zt?=
 =?utf-8?B?MFI3b0t4cFNvOVRwYlA4V2lBSDZycHlnOU15UElsRmZ0dTUyNFZCQWV3b0Y5?=
 =?utf-8?B?ZW9WSHdkWVI2azlRd1FnZFhwQXJNalZJMHN1MkhuUUFjRmk1eU80aERLUkc4?=
 =?utf-8?B?N0hkQXVaMlFXZ05IQU5HQUM1a0hXd2sxaWozY09wNXV6Y1VYWnR5TXJJNVp5?=
 =?utf-8?B?OUVtVFFHRENZVTN1Tk53dkJGck45a0xVOXlhNnR2dnR4MkVUdVNrWDZmR1ZR?=
 =?utf-8?B?MFpRSmJYUGUvd3BENzVVOW0wb1lOckNTeGRpZDNGS2JONGd4VFB3TkRKczJk?=
 =?utf-8?B?eXUwcXdKTFpJYWcrYXpuVGI0MzE2K3lvZy9hVkE1VDhUcUNrKy9TY0FPTmFs?=
 =?utf-8?B?Y05aaG1mUW1FT0tCbVNMV2VkSVh2b25kMkVjdkdxclhUSG9WK0orTTNZRFRT?=
 =?utf-8?B?YmR5RUFXU21abmpKYlRGUHRzZnlLdDgxUHE4VTFzcHJhQjBpK0thb2hkVXU3?=
 =?utf-8?B?SnROZWg1eFlwQkoyMGdtNWtCbVA1S0QrSE53c1pTb1kzVldYU1puS2hNUzlE?=
 =?utf-8?B?Zm1nRS85OUVqY2pLb2JxZHE4Q3k2dFNLRmxtZ2xrNUZkWTA0ZENqdkVsQ2hw?=
 =?utf-8?B?Y0FVUTBoTVNHY29NU0tCeFN6SUUvODJNUFpxN2VSaEU4anM3SDNCb1U4OUZM?=
 =?utf-8?B?L1ljd1kwcFNCOFZWUXNtcjcxcEo1dnJnZXdFUlJqTURtRTBhZGdEN3VZUWdh?=
 =?utf-8?B?VDFKMjZhSFo0YnNwUmt3WTVvdUZDS3RXUFVqWDNjaWd2eFhrRkJkaVlmNkNq?=
 =?utf-8?B?eFc3b1BNb3JXK25xYjByQmNzdXhKbDFlUXJ3YjU2MzkrZm9PZVdTd2N5VjJ3?=
 =?utf-8?B?dmdYZktwZnZYa294dVVTTlhBTHVsbkx0ZDZ0RFNaRjUvSlNrbFp5N3FBTEFB?=
 =?utf-8?B?Y1crQmVYeURJNm1TVlNud2l4WDEvdTMzODZEVDVUNy9RTU5iZ0p1SitnRW56?=
 =?utf-8?B?K1JpQjRPdkRjOURWZjlUNm85SXR1WkZTaDZFTTNFUjRrRWFnWlJxUW13aEx2?=
 =?utf-8?B?dm43cmNoeWZ2MEYzZndPTVBsUHQ0QzMrcTMzNHBTYUZhbEZJdnB0NVJ6MDMr?=
 =?utf-8?B?UXlXYlJsVXp5ZkdsTmxsMjdkTXVqUFdYM05Rc040eGt4OVJNL0pXdzZUWUU1?=
 =?utf-8?B?YzJyQ2VjSUQxMk0xMmNCQnhxWXM5bWNONkpxSmRjd3JpMXp2ekRXem5zVStr?=
 =?utf-8?B?bG5nTldhMHVHUUNlL1RoNEs4d00zNksrS2NtMU1UUTVTS3c4ZlFnSTJJSFhK?=
 =?utf-8?B?NkxyZnpscGpQUmQ4UXZVZzR1RFc2MDVhaUptYTVKRDBJR01sbUxpZ2tZVDIr?=
 =?utf-8?B?Vi9aVjdCV0lTeGRYOFAvVEJGTENxR3JLUm1WeTROSS9SWU9JZUR6VTBYU1g3?=
 =?utf-8?B?MWp2c3VXUnh2SkptTjlBZWU1QlJOUmJ3UXZTUzFKc3ZEdDZBcm1WbUZmbzBR?=
 =?utf-8?B?dmhiNUFFb3B3dCtmZExUT1R1MWE5RDBuSHV2aHhBdUJTM2FDWk5Xc3BRNDRM?=
 =?utf-8?B?aDdZais4Q2NzSE9MRUVaRDFRZ3VCQ3ZUczhnUWNLNzI0RVdlaHhlRERDamJN?=
 =?utf-8?B?R21QditsVElzWmtteThIOXF6UVdrQVFvRWszQWkzdmFyZVF6RTV4d0tDOUdF?=
 =?utf-8?B?N2JXRUpzVnMyTnRxNm9qcUNselBhQ3VBRGxCVmpwQlQ1Ymx0eU93TkUydGpY?=
 =?utf-8?Q?gmLHib5Odk3SSr2BgZbUIhiC2?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a5d65bb1-7343-4876-45e1-08dad9cc11e4
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2022 09:59:32.6682
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3DvEaKlRUiP7JBn0R92UEr/KQA86BQU9BaA0A+EBANt0LRxGaYjS+6uiD7bxxu+i/zqmRnSyGpE7MaiAzK60/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB4994

On Thu, Dec 08, 2022 at 12:24:54PM +0100, Jan Beulich wrote:
> core_set_legacy_ssbd() counts the number of times SSBD is being enabled
> via LS_CFG on a core. This assumes that calls there only occur if the
> state actually changes. While svm_ctxt_switch_{to,from}() conform to
> this, guest_wrmsr() doesn't: It also calls the function when the bit
> doesn't actually change. Extend the conditional there accordingly.
> 
> Fixes: b2030e6730a2 ("amd/virt_ssbd: set SSBD at vCPU context switch")
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> This is the less intrusive but more fragile variant of a fix. The
> alternative would be to have core_set_legacy_ssbd() record per-thread
> state, such that the necessary checking can be done there.

Hm, yes, it's going to take a bit more of memory to keep track of
this.

> This wants properly testing on affected hardware. From Andrew's
> description it's also not clear whether this really is addressing that
> problem, or yet another one in this same area.
> 
> --- a/xen/arch/x86/msr.c
> +++ b/xen/arch/x86/msr.c
> @@ -699,12 +699,16 @@ int guest_wrmsr(struct vcpu *v, uint32_t
>          }
>          else

I think you could turn this into an `else if` and check if the new
value and the current one differ on the SSBD bit?

Provided it fixes the issue:

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 10:11:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 10:11:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457788.715775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3aLw-000561-5V; Fri, 09 Dec 2022 10:11:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457788.715775; Fri, 09 Dec 2022 10:11:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3aLw-00055u-2I; Fri, 09 Dec 2022 10:11:36 +0000
Received: by outflank-mailman (input) for mailman id 457788;
 Fri, 09 Dec 2022 10:11:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wVCj=4H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p3aLv-00055o-5c
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 10:11:35 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0623.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id db5c8821-77a9-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 11:11:33 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7833.eurprd04.prod.outlook.com (2603:10a6:10:1ef::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 9 Dec
 2022 10:11:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.014; Fri, 9 Dec 2022
 10:11:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db5c8821-77a9-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QS9wcHotcuGwtHpIcfx9k0/JJeioAnUPHfs//jQXXJ+9krW417ZxxoYF6GO2Y6Sp2YLtjG8KuRfU4HLn3zXZ2vnpCQSfdqNrYjxsvDyNKEz0kPiA+qAM7u8jvSO3KMwJkK6FH+9Tj0T7+rOFoyEJydSN+/bRkAyB44727nz4sR08R5VXVxXe1DnmrPLpYWsWyknL89qO8gYBZ99ZUf8AJEf+PlSTqsBkwLdSgmm654xLvFJE6lzBHqtqAZNmFjowgCcwhBf0//5tF3fkQC1vmEuKne4r4FWchM7rN0e9Xm/+WjUeavK7W9tHQcaY5RY4sRAPPwMaEt0kfXenWR3PZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/HqgRSoTut7COvEcw/JZWEfJtvUMHrnzloAMAO2YluI=;
 b=oHpcDCi4p7+eQhXp+DhbevkUUWP+S9xDgbmJpZKGoJbpIXruyHceV6ZulE3ljQMIjr7apGE6xMIkHKYCpXXpVEHG75O4UfKOJMe3WmAq95kc8sOqwkZgfdWtq7x09S2thHFskoW1GW4M5i6rbwf9AsvyjFTmiZ9/rV7a6l8tA6lT0i4VeJcUPYoF8a/yyFtFwzaX8gwmVnHy9PghbkRh/CHI9ph4dKzAbdiXyEE9oya7ZX6S+3odFrY2LFC2Z7F3t2AEJVJLc9gHRO3GpSwM5SjTrX62C/0UnCIZKLcFa51gobDX7lCq+ijNSCQwjZrArAFf60l6fk2Najvpc0EETA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/HqgRSoTut7COvEcw/JZWEfJtvUMHrnzloAMAO2YluI=;
 b=psH6oxq+gfe2WKp62POiq3fQWiqbIQ4zWvy6JZEmR+JY+lh1pY0QfpKWkuuykizeOJkEnCcOZjuc4m0f+FGch6tHs6GRu21rbasI61XDm6WJ7c4gaer8sRPAWwrEwc9YbqEViMKWNFTWODM4j1oRoNhOcmVMlEp17+8agiJdMHO3wwoyM01jfXtbVjOUsDh+Iw5oKmcEmjpOFZUrBOBdSqm2VY/GiVPOBIo/mBOdHb/CaGyz5MdSzRlTq4d0BB4yzS+FxE+FrrXlLcbndhpdJS2ewIUQCfUJXCEr+aLky7G1xKVntq46NEgolpZiivCDbbtMRns26/OnAzvWJ0LKFw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c8cb821f-fda8-bde6-9585-fe689ffa4be1@suse.com>
Date: Fri, 9 Dec 2022 11:11:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] x86/SVM: restrict hardware SSBD update upon guest
 VIRT_SPEC_CTRL write
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <6189fed4-2aac-8ca3-90f6-7a750a8993dd@suse.com>
 <Y5MG/osKnrCMsztu@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Y5MG/osKnrCMsztu@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0015.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::25) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7833:EE_
X-MS-Office365-Filtering-Correlation-Id: e0aad9b3-8af8-4ef4-737d-08dad9cdbe38
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NM+5HERAVpMd3/FRwRli75eFvhS9c4/xgseADf9Zblr4yZncL2lyY4k/FrEDi0F7ry71okIvKWHLQn7tWZR7BYHzh96gj3YmIdZcexN0cGHxDCIZdyeQMIxxLRJUSHcFd0uh8MfkWRE5/u1I5brnFFd5lIZxaXLPhYcbEX2UhLzE5pDROX8t/Jpjyxs6cg8YZRjLqYCdaDQs8AP7Bp9s8tr6FybgzalbEDM+4TfCnf513ZIfbfsR97UyuGY8DX1SAoIXWuj9sD1AHuMC6cRoyBJDjZzwDW/Z6egSPWQ4MaaEjcXO5uPnaHqiN8buWJuhFMy2Ug/s701kN4PE1n/KbhR0KZZcyXt97xeRu8311A2W4WYrqCkHQtNM2az82m+Yas1BubC8UDvtF4OuFEFqLKLAPOt7Wk/XXRvYd7BIBGgpafXRN2rfdTzVWlvCY9EXcnf2my8fsQJR4P+M7ifJXPLoGGbpDQHcYy0tLGpiVLGympvm3aJZTnjg5oYQWNz9q896DPJamBAwmeSbqnCkd/YI3axFcCanGgdywlz+VZnFRqjnb0aAxneqNpLzuC99JALVMvuz5NA9tEDijfJiZjN9XVxN9reGggaYzQbXUUt5ZFEQ0MoacMyQ6Je0rQ8CQgs9UHIdXS+3oBtuSkBn6n7q/nazWDmD2X+yEQwI+TnuUXYlssXepxoiZpj2/FLBBF74j9/K7uq1fht+Fs38bDoQDxpMG3JwDnLf7Ei88Mo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(346002)(376002)(136003)(39860400002)(451199015)(66946007)(66476007)(66556008)(8936002)(8676002)(4326008)(36756003)(41300700001)(478600001)(6512007)(186003)(26005)(6486002)(6506007)(53546011)(38100700002)(2616005)(316002)(6916009)(54906003)(31696002)(86362001)(2906002)(31686004)(5660300002)(4744005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MFZ2bnRYamhQTWkxRDRHaXZHU3lWck5oUTZpMUdHYVg0ckdyZkw1eTVqQzdr?=
 =?utf-8?B?bEdaVVVBM25QWGZSWHliMW9ORlJkdUxIUVB6WHZWRDZRTWZuL0FTUUJ3UlN0?=
 =?utf-8?B?NVR2WU4wQmZjMnkzU0dIRzVtODNGQUczQWNSdU1aMmo1NGpHc0ltSmVjZmR3?=
 =?utf-8?B?L0NGbm1VL1FXYmc5T1RrdDFxWGFkM0xzalpUbE1ZSUFPbkttWXZJcGRmS3JI?=
 =?utf-8?B?WXlnOGZHTDl0amlPbHI3U0RsWFBRTHNpK3I0YnpHS0N0RVprZXBjNEhuMTUv?=
 =?utf-8?B?dWZ6ZnIwanpLeGhWSzcwQTcwc0pTUWFicC9MWndRYXV2NnJZTEtKQVQybndN?=
 =?utf-8?B?ZGZhMWN6RFgyT1FLbG1FWEt0RTF5TllSb2N4QVlmcHJ4VUtKVVpUaDdVNDY3?=
 =?utf-8?B?SVVEbjBPVkphdDFuVEI1SFl0SEJUZ2ZpMW1kaVpoY1VBdGgzOGFmbFoyVksw?=
 =?utf-8?B?RUZ0b25MMklFTVhlZlFNOG9rczVkNW9sSVd4WUpYWldnMHk0MGlPY3l6Rkw3?=
 =?utf-8?B?M1V6Y3kzVGlBKzU2R1I4dG8yRks1OUxWYVFQVlZ5UlViR2l6QjhCRTgvT2Jo?=
 =?utf-8?B?SXFIL3luWUFvRWJkbVFXZG1jbFNQREpkUzhPZUJ1OXpGZ1lvU0JEaVRCT0g1?=
 =?utf-8?B?bzVYYlJCWktJZjFFRXdpdmxQUGpmWHZabDJMK2NQd25xdWkzWU16cGRWR29C?=
 =?utf-8?B?NVJqeHJNV0RiVUJvU09rdmxsWjJzMkZ4VURDWmxJUm9mTkRqSzI5NTIzWVFD?=
 =?utf-8?B?cjQ5RXRjOHVOKzEvcktnL0JOQTRDU3hSZFY5cUFBa2N3aW51V3p0dXdnOVRv?=
 =?utf-8?B?QTZacFRkQTlvMW1mNFJrN2loM0U1TDh1VGxoYnhNSm1paTBxWGkrRmhlQmFK?=
 =?utf-8?B?S3p3Yjg4NmN1bmNHekFSTEtNcFpDMHkwMEpKamFyTXg1RlVJWTRwY2N5SjJ1?=
 =?utf-8?B?OHUvMzJMTDVCZ3JuNGZ5eWsrdjc5V3BWZTdyTnNmMmZ2M1Uxci9EQlJvSC9y?=
 =?utf-8?B?TSs2RDF5TjVXUjg3dncwdXpLK1VtN1VTVUlZbkVNRCt2eXdsSFFzSVJZTjZX?=
 =?utf-8?B?QzZ4RlkrNVZxbEY2YUJYWXhaeFlIWm1kV3hDQnBuTHVCUHNNOUxEZ0hkVGZW?=
 =?utf-8?B?QlZKS0ozSGhzZ0I2WE5pbm9LOHVVQ2NrMXR2OGprMEp0cmRCeU44bCtZRXpT?=
 =?utf-8?B?UHVlK2hvd2NYSlhOdWg3WU9vMk1IOVM1R0lORVdEU2FGL0JuK3htK2thNGxI?=
 =?utf-8?B?d0RrQk5oNVdrSTJ3VWNaVzhDWkpPK3I3ak9BVTNnWG1sZDhQY09ZbXdCYjVC?=
 =?utf-8?B?MnFiRFV2VXR0c1dWcXdzUTQ2Q0VUaXlXcEFhYVdVQWFuR1kreWxSdVYrbEJL?=
 =?utf-8?B?anFTUHdaUjVRL0MyNWRxRU9lVlNEdHRHdVdTUmRIWEVBb1NFYXM1R082UjBm?=
 =?utf-8?B?alE1WVpRNHB1TWt4Q3ZaUEt5NWtaMUtadTdxdVh6ZXdQMG1VcURIaTcvZE5H?=
 =?utf-8?B?N2ZLbyt0ajFVVmJsRHIvMDh1M2hhNEtxVzg3cWxpNnlGazR5TU52MEpWWml1?=
 =?utf-8?B?aVhLa2VsQ2U5NmxXL3dCWFNIWDh0cG4wWk5ibFNyL1RvTGdjUng1RDA0RWlo?=
 =?utf-8?B?UndjWkRlcURaZkE5VzljM3kxWWZVTjlHZUplS3ZJVDJkVG9RZzgrc0p5Ynp6?=
 =?utf-8?B?STZ3aFlKQjRXQ2MrYndpdzE4VjR3L0xvQ0RDVXpORkxNOG1qQlI1NWJPRkg5?=
 =?utf-8?B?dWVpRDRFNEdFSHhud3NjS0tXQnp5bnI0QWhnZngxVVRHUVVnZFlSR04ycEJP?=
 =?utf-8?B?eE1YOGkwZE9ybVZmWEZsendDWDVCRlB4ODU0R0RING8vbGhWM0x0NzFuSXBn?=
 =?utf-8?B?d2JvRmFOeTJUZG13YkVKN3Mrb3VsOTVHWW5kZU9sVlJHQW1lU0daK1pmVXZs?=
 =?utf-8?B?SXJ4YmxXOWJBN1lSSkFGL09KbFMvdmNDdzJWbnVCWXFYRzFKQjBRb09CRWpI?=
 =?utf-8?B?eklOOEJyU1dDVURSMDFFd3FkcFBUUHB2Y2hNQ3NLeXhueDZYUTNpTmdVbCtC?=
 =?utf-8?B?RGRIRFF2cXRTV3U2U05OVDBEWjdHQWVwZG1INEkvNG1nYVFKZVFLK0kzM0NR?=
 =?utf-8?Q?TZHdROTJWHR5ANFcZxFZhpTod?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e0aad9b3-8af8-4ef4-737d-08dad9cdbe38
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2022 10:11:31.0646
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: i7lxsDZaaQRBXlvDYfWrBnlp+wTJ7Vce7RB7iR0AiwDsfg1vChChpHJ8nlVO34h/YL2+9jQOpO/5IbsUC88aWA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7833

On 09.12.2022 10:59, Roger Pau Monné wrote:
> On Thu, Dec 08, 2022 at 12:24:54PM +0100, Jan Beulich wrote:
>> --- a/xen/arch/x86/msr.c
>> +++ b/xen/arch/x86/msr.c
>> @@ -699,12 +699,16 @@ int guest_wrmsr(struct vcpu *v, uint32_t
>>          }
>>          else
> 
> I think you could turn this into an `else if` and check if the new
> value and the current one differ on the SSBD bit?

I'd prefer not to: Keeping it as I have it will likely reduce code churn
if a 2nd bit wants supporting in that MSR.

> Provided it fixes the issue:
> 
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, but I'm a little puzzled by the constraint: Imo even if this
doesn't address the observed issue, it still fixes one aspect of wrong
behavior here. The sole difference then would be that the Reported-by:
would go away.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 10:13:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 10:13:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457795.715786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3aNP-0005ei-GY; Fri, 09 Dec 2022 10:13:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457795.715786; Fri, 09 Dec 2022 10:13:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3aNP-0005eb-Du; Fri, 09 Dec 2022 10:13:07 +0000
Received: by outflank-mailman (input) for mailman id 457795;
 Fri, 09 Dec 2022 10:13:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EgrE=4H=citrix.com=prvs=3355af1f3=roger.pau@srs-se1.protection.inumbo.net>)
 id 1p3aNO-0005eL-Hc
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 10:13:06 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10331276-77aa-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 11:13:05 +0100 (CET)
Received: from mail-mw2nam04lp2175.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Dec 2022 05:12:59 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SA2PR03MB5755.namprd03.prod.outlook.com (2603:10b6:806:111::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.16; Fri, 9 Dec
 2022 10:12:57 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1%8]) with mapi id 15.20.5880.014; Fri, 9 Dec 2022
 10:12:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10331276-77aa-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670580785;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=u4AlrndQaVjjw6Vi9vpMwM4Zj/s4t5pFlY9S6XLazOM=;
  b=S2XL1SHwOxLCLVLwAu6WNSk/cvjgapzDUh06bWLw0XUxPghOE/9RbE74
   QDo53tbhKhYRz1TijJcsXWGkqemTAiOAEUfTGofbQ+yhcxxuZxYy2V15U
   Uem77NwL64cHIYCuab2sJAhB+JoIPSsqiLyu7DZo9lBaH/RWWNR6emtwz
   0=;
X-IronPort-RemoteIP: 104.47.73.175
X-IronPort-MID: 87522462
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:8tISwqKA1iaZC6JiFE+REJUlxSXFcZb7ZxGr2PjKsXjdYENS0DwEx
 2MZXDqGPqmMYGSgfdEnbd7nph5XuZXcmtFkTAVlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5ARvPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5VHGNi2
 KUmAwkAf0iHvL+mye+YRtlV05FLwMnDZOvzu1lG5BSBUbMDfsqGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/VspTGMkWSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iLz27WVwX2hMG4UPILh28Y6skyp/DQWAz8sW3CamfqijkHrDrqzL
 GRRoELCt5Ma7kWlR9T5dx61uniJulgbQdU4O+Ez9gzLyqPS+AufLmkCUjNFLtchsaceQT0sy
 0/MnN7zAzFrmKOaRGjb9bqOqz62fy8PIgcqdSICCAcI/dTniIUylQ7UCMZuFravid/4Ei22x
 CqFxAA8iK8UltUjzLig8BbMhDfEjpLOVA8uoALMQnii8Bh6daaifYWj7VWd5vFFRK6FQV2Rl
 HwFndWC9ucIDIHLmCHlaOAMGr6uz+yIPD3VnRhkGJxJ3z6103enfI1WsHdyKS9BPs8adHnpa
 UnItAV54J5VIWvsbKlrbob3AMMvpYDwRYrNVf3OaNdKJJ9re2ev/DlnTVyBw2f31kMrlMkXP
 Zqde+6vAGwcBKAhyyC5L88U2r8qzyYx7WPLA5v8ynyPz7eYZ3eJRKwFdkOHauQ49KqIoS3U9
 cpSM42BzBA3eOn/ZDTHtIcYNVEiM3c2H9b1ptZRe+rFJRBpcFzNENfUyLIlPol6xaJck7+U+
 mnnAxAFjl3imXfANAOGLGh5b6/iVop+qnR9OjEwOVGv2D4oZoPHALojSqbbtIIPrIRLpcOYh
 dFcEylcKpyjkgj6xgk=
IronPort-HdrOrdr: A9a23:qW3AvazySfCA362QIcX/KrPw1r1zdoMgy1knxilNoHxuH/BwWf
 rPoB17726RtN91YhsdcL+7V5VoLUmzyXcX2/h1AV7BZniEhILAFugLgbcKqweKJ8SUzJ8+6U
 4PSclD4N2bNykGsS75ijPIb+rJFrO8gd+VbeS19QYScelzAZsQiDuQkmygYzZLrA8tP+teKL
 OsovBpihCHYnotYsGyFhA+LpL+T42iruOeXfYebSRXkDWzsQ==
X-IronPort-AV: E=Sophos;i="5.96,230,1665460800"; 
   d="scan'208";a="87522462"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Cg87I3Erxk3hsb2I4OVDeHkYROB3IoS3fWkm0dv5l3Wq+gnnd/3NoWJScnKw1H6tWm8OQiEpQbYX6bb3iitIbZYO25u9XGYx3IwjYEN+5/Hd4sj5WNYSYA/y5FDTd61hiiPIP981WqwK5h91v35KHDDkaBamwBK+qYk5GW20JhUPv6/awX62UgemnID5vU8aP9qDyC7IWwVqc2Gvd/CyKehs1kKcfdrMdpCJ6wG/Hhcjtq+5HJZsc5KGjm6z+sQ0vNJbRGYjPfSLFT0XZkmP7Qj3RgMigeVR1BEJEOqSBSReNomO7eIBkbOrbjkQkEBOWpycUj3IKnn6UO46kg0oNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JjP/Rrmdvq/WTnVAPklZD5PrBjU7PFIzInYp9GdVFMs=;
 b=Uq47bPPyJDUoBe1z607up7E/cSbMnnROBQDtxosIXon7ijAl3TBu9w8jrZXf4M1hreO5fc6MUCi/afEAPeZTZsK6/kZF6OlOEcfzB4d8dDwiKTqabXK0DTUDHLRahTBcPVl6phGYm1UP1t44InYDRZ/V+LCyPyjxMYVI5YRwMSTzFuO4eMEdf319H+FbuF3yssiCC+MpzrxWcKvHQzool7ke6bDpnQNqzKk4gA4zrrdowRS6s+bnUSHg10Fh2RegCpfjZkO4j1thH5S2ie+GlJ2Dwg+WJy+nvS+FH+dZ2KvcwPwCTv3sx2e3QgtQkQ2wFJ3Nl8MrtbFdBbSMMsvEjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JjP/Rrmdvq/WTnVAPklZD5PrBjU7PFIzInYp9GdVFMs=;
 b=UHOPfTlN7FDu1+/Q7J1HkH371zbI31kvKHJp+dYXEhNrAJ/i4qm3ESbnwrRqdfg9tmmtXRYSJ/+aJXbTqcjgBjcbCV/xEAmqJK0BVvM55vrSqWxkeWyff/Olf7JFoHSXoo9v9JdQiDE3AqertM/F1R4Jd8JU6wW6XUMfZtZKAPI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 9 Dec 2022 11:12:51 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: Dave Hansen <dave.hansen@intel.com>, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, jgross@suse.com,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, Len Brown <lenb@kernel.org>,
	Alex Chiang <achiang@hp.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	linux-acpi@vger.kernel.org
Subject: Re: [PATCH 1/3] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
Message-ID: <Y5MKIz4t8pfx/M3h@Air-de-Roger>
References: <20221121102113.41893-1-roger.pau@citrix.com>
 <20221121102113.41893-2-roger.pau@citrix.com>
 <6b212148-4e3f-3ef6-7922-901175746d44@intel.com>
 <Y4d8cm97hn5zuRQ1@Air-de-Roger>
 <4a0e9f91-8d8b-84bc-c9db-7265f5b65b63@intel.com>
 <Y4nugxKV1J/BqhBt@Air-de-Roger>
 <93fd7ed0-5311-d6db-4d8b-b992a8f78ada@intel.com>
 <Y4opuLnLIT3v9Aa7@Air-de-Roger>
 <CAJZ5v0hrdwUNOELXM5zxtTeavp+_o7TbkCRBjZVqvQVxt4QBnA@mail.gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAJZ5v0hrdwUNOELXM5zxtTeavp+_o7TbkCRBjZVqvQVxt4QBnA@mail.gmail.com>
X-ClientProxiedBy: MR1P264CA0127.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:51::13) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SA2PR03MB5755:EE_
X-MS-Office365-Filtering-Correlation-Id: 9f2ac5c2-df33-4240-d62a-08dad9cdf1ab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RrbIhnevrKE6GcxhMlmZugkS3bIJ6BHKMGgG/UM31jreWVyyJwEr/yd7NAN7nO1MCOa79HguJWOijc+s+t3MWv8exQHaGWdRkoa1vGoXjf5XAtHkn0mHcyomTht0fwfMh7RFOIb5Q+dl1VnRdJ5q7FtPDBgTKmGEFoDeeyVQrOiztYxhgeRRMnJuF7Abjk+c5+jgS5sP7uXRDFGaX94Xt78EgL/xPqWYCVE2SYN8RejTMa2b+HKjq5yxik2xQGjBzXprWF7C+BAaVsdY+406SaU4oSraHRFnP3yIKCN2ZREL1lzK6wiOVG0YCjuACdz7FX6xhO3urfZsEMJYDq4OpKlOmXiVDIjFyX/9tjOlLpsCvMkDObz0cNd9PbcmZFYIINTFmn7BHmuDAU9OKiACe/5bPxcLz9sjBNKgex32ArGf7X2TbCOuVdApo/clRYNYVxUd10dUIulIysPfHcEwvHoGIycP36DJcW/lqmzTXd0rPpOOWDDxz2f51fPvOW6ne6Aa5m5kFeP+zPP5JpyzHMnbBuYVqOgAkn2Xm5hDI2ibMP9ylvr8vuftlomcnsZldvFWB7y4yvOVbZNh57M50RPOqWzhmCtQZl7h7kRAK+7ws9rU0Di1C/1Xb0gcrwZlkWf5yB7d5RN1gD4rBEtQKw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(7916004)(4636009)(39860400002)(366004)(136003)(376002)(396003)(346002)(451199015)(85182001)(6666004)(8936002)(5660300002)(7416002)(38100700002)(86362001)(41300700001)(82960400001)(54906003)(6916009)(6486002)(53546011)(508600001)(186003)(316002)(6506007)(4326008)(66556008)(66476007)(8676002)(66946007)(26005)(9686003)(6512007)(33716001)(2906002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?emVIMlhOQmhOcGhyMDBwbjRrcFJLVmFhMFJ2ZWFWdHRKRmRteWVadnl6UjV1?=
 =?utf-8?B?WkYyRmxoOGdjSkpSTVNoZTVPMWpYMUNBNkhocGxhM1pDdU9zSzRadzFNOUVS?=
 =?utf-8?B?YkRZaHZSamVXU2dvRUZjUDBpc3RPMENmR3BPME01S2FGQzBXQWl3MmpzQllG?=
 =?utf-8?B?UFlPTzk1eFErWTNPLzJhdkppaFd4SS9wMVAyUUVTYnc2WkthVDV1SVBqREFp?=
 =?utf-8?B?SFA2YlRJdTV0MEZNcC9sREp5ak82S01kck5WSzM3RTduWVFmNDNIdHhEaWdj?=
 =?utf-8?B?d0EwUTBlZW9WRk9vWUlzQkZxWHdjWFRPdzQvQmhRL0RkN25YSm1tNWg4R0dm?=
 =?utf-8?B?TzlTUElNcnplMVVvaFVPQU5yd0tHQUUwRTJheHRySTdVbndIT28vZXdkdTF3?=
 =?utf-8?B?Zjc0S2lTWkNpT21BVjZ6SHBXMHc5enY3T0xDbzZYOFg4RGRCQ0JsTmlRaEZM?=
 =?utf-8?B?ZW8xK3F4eVNVL1g4c2tLd2tkbnhveHBzRmZmZmQ1d1QybnBDKzBBTnZrYUMr?=
 =?utf-8?B?VU13dS9uZDhWMXdrQjhoLytQVDkrZzY1RkNIaW4wOGZQZ24xWm90emZERDZM?=
 =?utf-8?B?VWh4OTRMNEl2Tk9JbU5aaDVNcm9halVSZ0xBeEQvN2ZpWGlocGRJS1NSYVFX?=
 =?utf-8?B?S3BJb1QxMTFFeVlQczBhVGlGb1VwZVNiaEFxejFjenZnT1E2L0pDb0VyMUJW?=
 =?utf-8?B?TEdpbGFjOXljeS93TlFidGRLM1VLb29HeFRxdVFYUkxnMmluZjZkQmZaTklE?=
 =?utf-8?B?MEljdXV1cG10MzJTbXV1ekhJQ3ludkxIMHR4YkhERytnSXR1Y2h3QzZzbXNS?=
 =?utf-8?B?Um45MTAwdEZ6OURBWndGYUExOGhXckhwSklqRHUxVWxzYnM2TlVqb1Urd1pa?=
 =?utf-8?B?UjdjcHFwNEZhK2ZybWZNRmRXbUU2blFmY3ZXN3BVTVoyamxZbUJZWndWUmZF?=
 =?utf-8?B?K283dkxOdklyLzVCdnREUmZFdVJYT2ZQdVowSmNTM29ZNmFwMFhtMUtHeTMv?=
 =?utf-8?B?dHVwWmZSVmJDZ21Ub09GWjFNaG50YjN1UXgwcDNxSEREMURJczVxMFplbDNF?=
 =?utf-8?B?Yi9McktCK3ZoZ1d6eEtoS3F1U2RkaHhteTIxYU1DTzZvWHFNNDExeHlwejRP?=
 =?utf-8?B?N2VzN2RZVW1pOFNDVDg4bjBiZ0RZZ1B6clB0bytuVkUyYmt5ZHJ6cWRzVU0v?=
 =?utf-8?B?aGtYSExQYVp3bnJHV0RSQTZaYmJBYmkxcXpFZ0w4d09YMVZZd3Blb1cxa0h2?=
 =?utf-8?B?aExMeGNJSERXa3hvQmRBeWRudUhvSTZXcnhFRlZ4ZFNub2haTjhFMllqVlU1?=
 =?utf-8?B?SnNDRm9wNzBuaHlvQTRnQmpSSzBlRWVDejFpNkZ3dkdueGtkMm9TYzZWbnQr?=
 =?utf-8?B?MWdPL1N4eTZrQzBQamw3Q3pvL0R4ekUwQjFNSk1QT2E5TGtMVUk5VUZ2VEJI?=
 =?utf-8?B?dmpIdy80MXZhemROUjRneGZVcTdVRVlTMUtzRUlTRVFFWVlWYWJwQWxKblR2?=
 =?utf-8?B?ZHhlVlhkTXJSNUptS3RUN0xuQ3FuZ0UwUHZwMHRNQmI2Y2plQ3ZTMHJySEdy?=
 =?utf-8?B?dnJBL25FQXpsVjVyblM3QlFMczVOOGgrWEhQcUFDRktqb1Q4K3Y1WEthWUdJ?=
 =?utf-8?B?Y2hsMXQ5YlBZbzZQUHdqUndUZVY4M21ReU5vR1kwT3BlRlVzbmN3cUM5R0Yr?=
 =?utf-8?B?bGtCZUtKUjA4MERCYnJ5WjcrS1dETThPTmFLZWU3Zjc1a2VxM2FJWE1YTHdl?=
 =?utf-8?B?T3Y1RWYwRFlHdCt2bHhpaDRrMHZ3dVVyYnpZbGxRZXJDSDQydkYrampOdVJR?=
 =?utf-8?B?WmgvcmlESTE5QlVubDFhWkVvbkpnR1M2Q1dMOUFVTXlVUW9WeXhVbkRTMmVC?=
 =?utf-8?B?a1hYTTYxRCtWZFJXRnlOYUgxTUp5TDhNajlLd3lWQWtLTkFsQnBjQ3Z1WUl1?=
 =?utf-8?B?Vk9XVFI4bnh3WXVTMkFwa3lJcXlGa0FhMGpJNlVKVU5YR243dUE5WVk3STdu?=
 =?utf-8?B?ekdySE8xaGE4SVFaR1BQOEppaUJhMTlkYmcyOVZZSVV2Ryt3MDhwb3lUamdT?=
 =?utf-8?B?Q0dCS0NwRDdxWFV2dm9pMHVrWTVZQWhJdzZpV2dOSlg3WG5KanF2dHc5Q21o?=
 =?utf-8?Q?mjFmxT0NZ1GVj0W8j6iyM9Xyk?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f2ac5c2-df33-4240-d62a-08dad9cdf1ab
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2022 10:12:57.6189
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OL9LexSSqPQ+ZY5r28LX6NTy7X6oTmDqjYxfwoHJS43+1aB66d/gSyO+ac/K0itDsCajX4KeR+GtAB2HDo+9kw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5755

On Fri, Dec 02, 2022 at 06:06:26PM +0100, Rafael J. Wysocki wrote:
> On Fri, Dec 2, 2022 at 5:37 PM Roger Pau Monné <roger.pau@citrix.com> wrote:
> >
> > On Fri, Dec 02, 2022 at 08:17:56AM -0800, Dave Hansen wrote:
> > > On 12/2/22 04:24, Roger Pau Monné wrote:
> > > > On the implementation side, is the proposed approach acceptable?
> > > > Mostly asking because it adds Xen conditionals to otherwise generic
> > > > ACPI code.
> > >
> > > That's a good Rafael question.
> 
> Sorry for joining late, but first off _PDC has been deprecated since
> ACPI 3.0 (2004) and it is not even present in ACPI 6.5 any more.
> 
> It follows from your description that _PDC is still used in the field,
> though, after 18 years of deprecation.  Who uses it, if I may know?

I saw this issue on a Sapphire Rapids SDP from Intel, but I would
think there are other platforms affected.

> > > But, how do other places in the ACPI code handle things like this?
> >
> > Hm, I don't know of other places in the Xen case, the only resource
> > in ACPI AML tables managed by Xen are Processor objects/devices AFAIK.
> > The rest of devices are fully managed by the dom0 guest.
> >
> > I think such special handling is very specific to Xen, but maybe I'm
> > wrong and there are similar existing cases in ACPI code already.
> >
> > We could add some kind of hook (iow: a function pointer in some struct
> > that could be filled on a implementation basis?) but I didn't want
> > overengineering this if adding a conditional was deemed OK.
> 
> What _PDC capabilities specifically do you need to pass to the
> firmware for things to work correctly?

I'm not sure what capabilities do I need to pass explicitly to _PSD,
but the call to _PDC as done by Linux currently changes the reported
_PSD Coordination Field (vs not doing the call).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 10:35:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 10:35:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457811.715797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3aj7-0000KK-CK; Fri, 09 Dec 2022 10:35:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457811.715797; Fri, 09 Dec 2022 10:35:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3aj7-0000K9-9S; Fri, 09 Dec 2022 10:35:33 +0000
Received: by outflank-mailman (input) for mailman id 457811;
 Fri, 09 Dec 2022 10:35:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/vX0=4H=citrix.com=prvs=3351f26b0=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p3aj5-0000K3-LC
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 10:35:31 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 329e3079-77ad-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 11:35:29 +0100 (CET)
Received: from mail-dm6nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Dec 2022 05:35:26 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB5112.namprd03.prod.outlook.com (2603:10b6:a03:1e9::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.16; Fri, 9 Dec
 2022 10:35:21 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.016; Fri, 9 Dec 2022
 10:35:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 329e3079-77ad-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670582129;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=o35BP+XDZd5M2HlVpQVpmeE/cPxw11ex4+OapRecYpY=;
  b=DHl12mQVfrZiIfWB7DJF5oUTS6FJqdv210pfCSxcRO1wHF8OGgZSxdgb
   M2zp0LWrICAliy4h/l0tLaG2bb2m32R2QZw1QySuhqfDmPyZMaqymXVhP
   5LurRIvrxKAVDY3sfdu13byqOaN0rPy0HioSUIEHxsOIkTWGd/NPpeYoc
   U=;
X-IronPort-RemoteIP: 104.47.57.176
X-IronPort-MID: 87525628
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:+VWtB6Dv2+GUNRVW/wviw5YqxClBgxIJ4kV8jS/XYbTApDsngTdTz
 WJKW2nXPvmJZzH8fopwYY++pE0PuZ/Smt9nQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlA7wRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw5fRuHXxgx
 MYhMDErayyIwL6sxYucY7w57igjBJGD0II3nFhFlGicIdN4BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI+uxuvDa7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prr+QwHmmBthCfFG+3uJvvh6R1moNMhk9ZUOpptXhhWqvUfsKf
 iT4/QJr98De7neDTNPwQhm5q36spQMHVpxbFOhSwBGAzO/Y7hiUAkAATyVdc5o2uckuXzso2
 1SV2dTzClRHr7m9WX+bsLCOoluP1TM9KGYDYWoISFUD6ty6+YUr1EuQEJBkDbK/icDzFXfo2
 TeWoSMihrIVy8kWy6G8+lOBiDWpznTUcjMICszsdjrNxmtEiESNO+RENXCzAS58Ebuk
IronPort-HdrOrdr: A9a23:G0G2faEPm+V0E1pBpLqE0ceALOsnbusQ8zAXPiFKOGVom6mj/f
 xG885rsCMc5AxhOk3I3OrwW5VoIkm8yXcW2/h0AV7KZmCP01dAbrsD0WKI+UyGJ8SRzJ866U
 6iScRD4R/LYGSSQfyU3OBwKbgd/OU=
X-IronPort-AV: E=Sophos;i="5.96,230,1665460800"; 
   d="scan'208";a="87525628"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V1vNqb3YXl2c3TibOV+FgplKKN3j8Gjlak10pUmpxrlyZkgJbobvewlRlyzxI0sVBLtJzfs9cWp4xfAVIQO/GGojUsL3s9aJ/yQZjzi2PP5aLBQOTvmQIwDR9BtuG9rwNTV6gX/H9Sc0H2Io5YAHSVW5xYF5YG1Ja5y/8V5HlbbksMD0SyQens2afRo41Cqwc7xZSDMRKM7KEkUr4HUsTigSaPU7upqxMUTBePEw+lSxoMZ+gHAQd9nVIIk48DasAGmmvZ7ZOQbwRmAbgcVK5qGiTK5ZQh0Dud/oLcoMoGzXgPPyQUZPXkeNXqQ7xb4bEPhR9goa8kK2Oi/9m+AKzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o35BP+XDZd5M2HlVpQVpmeE/cPxw11ex4+OapRecYpY=;
 b=Gc2BGLbvwNa7uXzs3FDYYoOaBJH5Xo8tKHLMb/KnalSbvLGf8Q3Yhh/mRXBp0Lqzn44B/VkBheQetfCLMzb1WfpSR7h8Nkv/vidZDk3gDYCa05c+e9KbpIba9GJdbJFXkLHBD072ofSmhdEaHl/iZnhjdfEhOLI4iKKqthx/G2XX/blmhwNrS1a36XM9hkJxqE9eE1jLIy8MNp3vOqE/ueQ7AGuS/0zJtevsshJoEOCWPr8Av2wmPnX9HkcRgeIdCW6S3UQ2Uf30WmuVY1gXiPK2PJ0Lk0R1tiq4zKIifdu2I+925tktD7CILKNdZdhj4/WmnbqhuRviM6DMhEUhUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o35BP+XDZd5M2HlVpQVpmeE/cPxw11ex4+OapRecYpY=;
 b=E5p0RVkQYVD5vdm03Lp63oUFhX2ISs6NeeP8QPGIzFlxlPpsKLvtb94W8Jj6lNZqyNFCws6XsjeaLJZEhWaWEWzJYB4DrHyBB5guYdryk0IrDrZSTNIxm3yz6GIHuLRux//kSfI3lBn8O/rzIapwN4vrj+g7m78w0orxp/fKS7g=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Roger Pau Monne <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH] x86/SVM: restrict hardware SSBD update upon guest
 VIRT_SPEC_CTRL write
Thread-Topic: [PATCH] x86/SVM: restrict hardware SSBD update upon guest
 VIRT_SPEC_CTRL write
Thread-Index: AQHZCve5uOkbNmy6S06b6+y4P7v7ga5lU+cAgAAKCAA=
Date: Fri, 9 Dec 2022 10:35:20 +0000
Message-ID: <0fdb4954-c7aa-7e3a-f683-015600cf73a7@citrix.com>
References: <6189fed4-2aac-8ca3-90f6-7a750a8993dd@suse.com>
 <Y5MG/osKnrCMsztu@Air-de-Roger>
In-Reply-To: <Y5MG/osKnrCMsztu@Air-de-Roger>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BY5PR03MB5112:EE_
x-ms-office365-filtering-correlation-id: ff49355a-ca17-466a-33a1-08dad9d11285
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 eoTgNMwvt7WHnUbZkUG/0nbHgiyMZRxCyIMn277rjPhVIFJ0GaO08hrNNOH2LnsevnEc85hohjFo3jNECspLesFcUxZ/+d2heKXIVaafEhciXicMliB13RXhZjZ4fHZOxfSJDkuzZUNOC8V6xQ2NVW9prapMFt9VTYW0Dfxe3GKBtAmi9zS9M8qNCfb6IykswJPIU/VDO1edUMvFoH5RdN1lTh2L1oapm2mD6TGfBCXY4t8b61OgJRlGnbF03xCEQYVifOjfUpGuSbaNBZRkMBTOmLxSTcFN9TVUUIiYT8DHu4Zr03idNRChj5GLrqHM9v9v35SoC1wm/T6TZhgr40X/b36UicBW9jCI35Sfa+AqytQChvnwbqd3M70WLvAruBM8G64XVj3tBQAPC+NQ++g7nqLYYCgvpHdhmVfTqfryB2tsjiqnnKbj5F1SEDrZ5wOREo+6yJ6pwN2Xji5ke5hXb9TaA2wEzQpnY08nTWegljuC+Zuwfgbfw1mjvRFpjSyszR1ssopRuRbFyaDrsOF/V63j8t5DWtStzE66ti2hX/CC3efHeOlq7jID78dmwXb74QtXFNto9bNtbjl9fkDzsSRCDFkHqfAqMCUAhVQKw3a3JO5u5gMYGA+MolZ9ZxbCKdF9W+IxZ8KI1JnuldNJZQAY3swkd1TJLlxZlG5L5DCo6OapP60tBfGsa/vwybn4f6+u5Tabqo8HWZmj386IDrEWrEtP8N9tc1E9sZdsvd3ikAE/LNrf5287cvvmmxxOtTLQCLyNFAkKCBLnqQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(39860400002)(396003)(376002)(366004)(451199015)(38070700005)(2616005)(82960400001)(86362001)(38100700002)(122000001)(31696002)(76116006)(91956017)(316002)(31686004)(66446008)(2906002)(66556008)(66476007)(41300700001)(66946007)(8936002)(64756008)(8676002)(4326008)(5660300002)(36756003)(71200400001)(508600001)(26005)(186003)(6486002)(54906003)(53546011)(6506007)(6512007)(110136005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dnZsSytXYVJ5TzlrYXNkWkxBNnBWdmE0M0dvQ2FlZEI4YkRicVhqcnlqM2VO?=
 =?utf-8?B?aG96dVprS1M4amJMRk4vWUtkbHdjdkd3ekVUc3pCS1ltTE0wWEcyZ2JxQmE4?=
 =?utf-8?B?QVRpZUxOS3EwQTErYVlWVUV2bzdCL3FNNzNCQnZWb25USENSWGR3alBKais0?=
 =?utf-8?B?dW1uUGhYNUhQdzEyUkZDZWNTYVZXVDJoaFh1aHhpekVsVUt5QkFBcTkwRlVh?=
 =?utf-8?B?RlRvd3ZEK2JSVEpINFFVbC9ibGtKeHRpUWcxakhGZm1jOXhIdm9LaDQwcUFM?=
 =?utf-8?B?L0FrVXlPVDNHUjhvWkYrR29kVFZlMXNhRk1tSWNnQ01tZVZ1bkY5Z091Rk56?=
 =?utf-8?B?S2lsWlFPRjV4dy8ycDF1cEw2Smk3UXlSemt0SktKL1JQOUFZTE5RaXVIaU5L?=
 =?utf-8?B?a04xTWdhTGY3NFZGcFNjb1pXM0ZpWmxNUzhkbzNlVnh1Z2YxeEl6dC8rSU41?=
 =?utf-8?B?Z0hIK1kvZlRPVUVXcjFLQitZOUErM3NadGpMV2k4eWNIaWhBSUwxTFpuUXpL?=
 =?utf-8?B?RmZhdXkvNVUxQTV2QnF1SCtGVnRubjduYzBvazVQQVlkbTdTdlYzVmlycmQ0?=
 =?utf-8?B?NFo3dWxmbGUzM2FTVWo3dHlXN3dHRFJvUFltT1FlbjNsVSt4WmV3SHVTdVR3?=
 =?utf-8?B?MVNXRGJ1L1MvVHRqK2tsdC9nVGhYRSt4b0ZsSElxVUhFZWVhS2dPM3VJOGlo?=
 =?utf-8?B?enVpditpdjUrVUhjanllb3RSenRaTjhwYm9vWCs0WUFKalJWUDUrNjRXODhX?=
 =?utf-8?B?RUNjTXBUTng3emQ5aDBrQ1FyUTgrTUhmYVpZOE5hZGFrdk9RRWQ5UlNDMDQ0?=
 =?utf-8?B?L3pkMWZUMzFPUDV2SDRWanpjRkxOelI3dWhNTVpCL1VZRzVzeVZKejJHZ2FI?=
 =?utf-8?B?WXpLTmw1Um5DOGZVUC9XWThZYUEzMDJrUFhOU2I2Ulh0VXBPS05RNlo4ZnZD?=
 =?utf-8?B?L0F1SXRlQnhPNTdKTStuckd2aWNxK2RMZWFGOTBBNEdyUUw5ZVJ2aWZxVGI4?=
 =?utf-8?B?aTZPajJaRWs1NzFSZ0Q1RVlscXI1OU5PQm5yUnE0LzZCaEJOMWJLdHNuUlpl?=
 =?utf-8?B?UjRVbEV2VnZ3d3ZYSlhOblZteFdvVnY0MWhLaTlaeVFBWHNjRmFjRE5xdlc0?=
 =?utf-8?B?TC9LaU0rZzJoVkxOd29tOU5sVm8xNldBaytvQjU0NjRGTjg2N0ZLZitwdlRn?=
 =?utf-8?B?aXhzdXU1VStLNmxNR0JxMStzYlhNZ0FaSWZVbURNMGFDbVFDOXh3QVZlRDFE?=
 =?utf-8?B?WVF4cGUxZzZQU2VSSlp6MFM1Q045RTJ6bWNzVnc5R2c1RlZaUXlLRm81L2JJ?=
 =?utf-8?B?Ri9WelR3cTIvaFdpakFhU1RvYVhLVWEvWTZhL2x0cWc0MEJCQ2hOL05LdUYz?=
 =?utf-8?B?NHB3dmRlNzBHd1lBM2hyUDZvcGhWeFVlc0UyUFV1YSs4L3JEb1c4SUhGb0Fa?=
 =?utf-8?B?MytreEd2NndFeGF2QmF2VlNkOU5RVjI3OExidmh0SUpZemxXb2xVck1tK0dL?=
 =?utf-8?B?aGZycDI2M2hDMHV6Tjh1VjlaNzFzc0toQ1BjS24xc0JySTc5bVFwM3Y5N3Fh?=
 =?utf-8?B?b2VRcDRkUzBNc29kakhiTGYwb2poaHc0TW43bkQ5UVVTdVJRUXBpTFVlSVlG?=
 =?utf-8?B?WEt1dFFMRGtqaGJCQXpuOTE5aTJvdHdaVVB4blZlWXlQS0VjVEdnRTcrVjFF?=
 =?utf-8?B?Qy9OZFJLRm8vYlM2aUZxRDh1VkVEMWhzWUg5dFpHTDBJWmVPWjA4VHhYdjNC?=
 =?utf-8?B?OUd5Y0VHMDdEazdzcVlkTUNkdjNkV3VnWnB6bVlESG5yeXFjZ29rTGtFd2dh?=
 =?utf-8?B?b1dMWS96SFlJSk9KR1JVNHJnVTBNbFlqSi9ueHByL0RIc0VveXFrTDY5T0Uv?=
 =?utf-8?B?VlVRbXpoaHpJUlNlS1lhOFdPZzBzQjFZSUN4NVdNT29MTk85QW11dEpvdm9w?=
 =?utf-8?B?SUZhbUJlSWQrVUNKWkZmUmQwNE9tT1FYbmpUa1oxZ3pwb2ltcXZ6NTFZalp2?=
 =?utf-8?B?Snc0Y2hYR0F6WWV4QkVnRkY5VDhNaU4reE9jL1ZoWTdjZUVqYTJGTlMxSmpz?=
 =?utf-8?B?NUhWRytiQlB4MDhtNjlBa1RUSGdiUmZ4OFlabGppc3RQajdNNldMZ051MWdv?=
 =?utf-8?Q?I9G8Jxfpr0Ebruxuvr2ZtoEGC?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7D0A7346395C554FB72C3AA3DDB6608C@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ff49355a-ca17-466a-33a1-08dad9d11285
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Dec 2022 10:35:20.7833
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: W7Mb+fcyforcnU0mxq4uiQvZpbke9+ZI8ZyzocN0Ts/i+k0V5vKE/6gi4HUSbhp24ttZ8HpQFZDnYpH0Qj1ozvgexIQS2dfja9PDRfTzLNI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5112

T24gMDkvMTIvMjAyMiAwOTo1OSwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4gT24gVGh1LCBE
ZWMgMDgsIDIwMjIgYXQgMTI6MjQ6NTRQTSArMDEwMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+PiBj
b3JlX3NldF9sZWdhY3lfc3NiZCgpIGNvdW50cyB0aGUgbnVtYmVyIG9mIHRpbWVzIFNTQkQgaXMg
YmVpbmcgZW5hYmxlZA0KPj4gdmlhIExTX0NGRyBvbiBhIGNvcmUuIFRoaXMgYXNzdW1lcyB0aGF0
IGNhbGxzIHRoZXJlIG9ubHkgb2NjdXIgaWYgdGhlDQo+PiBzdGF0ZSBhY3R1YWxseSBjaGFuZ2Vz
LiBXaGlsZSBzdm1fY3R4dF9zd2l0Y2hfe3RvLGZyb219KCkgY29uZm9ybSB0bw0KPj4gdGhpcywg
Z3Vlc3Rfd3Jtc3IoKSBkb2Vzbid0OiBJdCBhbHNvIGNhbGxzIHRoZSBmdW5jdGlvbiB3aGVuIHRo
ZSBiaXQNCj4+IGRvZXNuJ3QgYWN0dWFsbHkgY2hhbmdlLiBFeHRlbmQgdGhlIGNvbmRpdGlvbmFs
IHRoZXJlIGFjY29yZGluZ2x5Lg0KPj4NCj4+IEZpeGVzOiBiMjAzMGU2NzMwYTIgKCJhbWQvdmly
dF9zc2JkOiBzZXQgU1NCRCBhdCB2Q1BVIGNvbnRleHQgc3dpdGNoIikNCj4+IFJlcG9ydGVkLWJ5
OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPj4gU2lnbmVkLW9m
Zi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPj4gLS0tDQo+PiBUaGlzIGlz
IHRoZSBsZXNzIGludHJ1c2l2ZSBidXQgbW9yZSBmcmFnaWxlIHZhcmlhbnQgb2YgYSBmaXguIFRo
ZQ0KPj4gYWx0ZXJuYXRpdmUgd291bGQgYmUgdG8gaGF2ZSBjb3JlX3NldF9sZWdhY3lfc3NiZCgp
IHJlY29yZCBwZXItdGhyZWFkDQo+PiBzdGF0ZSwgc3VjaCB0aGF0IHRoZSBuZWNlc3NhcnkgY2hl
Y2tpbmcgY2FuIGJlIGRvbmUgdGhlcmUuDQo+IEhtLCB5ZXMsIGl0J3MgZ29pbmcgdG8gdGFrZSBh
IGJpdCBtb3JlIG9mIG1lbW9yeSB0byBrZWVwIHRyYWNrIG9mDQo+IHRoaXMuDQoNCkl0IHNob3Vs
ZG4ndC7CoCBUdXJuIHRoZSBjb3VudCBmaWVsZCBpbnRvIGEgYml0bWFwIG9mIHRocmVhZF9pZHMu
DQoNClRoZSBpbnRlcmZhY2UgdG8gdGhpcyBmdW5jdGlvbmFsaXR5IHNob3VsZCBiZSBXUk1TUi1s
aWtlLCBhbmQgc2hvdWxkDQpzdXBwb3J0IHJlcGVhdGVkIHdyaXRlcyBvZiB0aGUgc2FtZSB2YWx1
ZS7CoCBBbnl0aGluZyBlbHNlIGlzIGEgdGltZWJvbWINCndoaWNoIGhhcyBhbHJlYWR5IGdvbmUg
b2ZmIG9uY2UuLi4NCg0KSSdsbCBoYXZlIGEgcGxheSB3aXRoIHRoaXMgd2hpbGUgbG9va2luZyBp
bnRvIHRoZSByZXBybyBJJ3ZlIGdvdC4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 11:10:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 11:10:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457825.715808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3bGT-0004mG-0P; Fri, 09 Dec 2022 11:10:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457825.715808; Fri, 09 Dec 2022 11:10:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3bGS-0004m9-TB; Fri, 09 Dec 2022 11:10:00 +0000
Received: by outflank-mailman (input) for mailman id 457825;
 Fri, 09 Dec 2022 11:09:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3bGR-0004lz-1X; Fri, 09 Dec 2022 11:09:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3bGQ-0007UK-UT; Fri, 09 Dec 2022 11:09:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3bGQ-0007Or-JH; Fri, 09 Dec 2022 11:09:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3bGQ-0005HT-Ip; Fri, 09 Dec 2022 11:09:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Xn4gz/1K4CB5x6hC+MXNZrLLwnGH5QAaTukPLMgiJhU=; b=udJvvow8zLURSN0waCf25NcXi2
	AAxMyf9hF2yItECo+V8hBG/ezCHh9zzVFFFdYtlrjpas40gV9Qd3BIBuizA/sm/W2V/1Z7Rs82iN8
	tlodohtbxTlwBXN2fEIJ0dTshsXlj3QoABE7Ost2cnLRZqRaZMktEa7QJQRGawL0hCmw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175119-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175119: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=127e2c531556b968a51e8e2191d6e4580281856a
X-Osstest-Versions-That:
    ovmf=54d81d06fc165fcb8eb832acd6a7cf644b029549
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 09 Dec 2022 11:09:58 +0000

flight 175119 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175119/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 127e2c531556b968a51e8e2191d6e4580281856a
baseline version:
 ovmf                 54d81d06fc165fcb8eb832acd6a7cf644b029549

Last test of basis   175101  2022-12-08 21:43:51 Z    0 days
Testing same since   175119  2022-12-09 07:10:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ryan Afranji <afranji@google.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   54d81d06fc..127e2c5315  127e2c531556b968a51e8e2191d6e4580281856a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 11:58:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 11:58:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457854.715819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3c1J-0002qS-Id; Fri, 09 Dec 2022 11:58:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457854.715819; Fri, 09 Dec 2022 11:58:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3c1J-0002qL-Fc; Fri, 09 Dec 2022 11:58:25 +0000
Received: by outflank-mailman (input) for mailman id 457854;
 Fri, 09 Dec 2022 11:54:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8bpP=4H=linux.intel.com=kai.vehmanen@srs-se1.protection.inumbo.net>)
 id 1p3bx9-0002jv-0V
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 11:54:07 +0000
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b69e80a-77b8-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 12:54:03 +0100 (CET)
Received: from fmsmga003.fm.intel.com ([10.253.24.29])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 09 Dec 2022 03:53:59 -0800
Received: from eliteleevi.tm.intel.com ([10.237.54.20])
 by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 09 Dec 2022 03:53:50 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b69e80a-77b8-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1670586843; x=1702122843;
  h=date:from:to:cc:subject:in-reply-to:message-id:
   references:mime-version;
  bh=i6l99AsOk7Ek/fC/JJlzKRTZl8kQmivMJCaJu9pD6WY=;
  b=VtvPpiRiNwMurUMRXREj+rjJOwRnzUg0Br7x8Lq1pHGIn8G0zydaorkk
   C4D7q40P+45a9JhZiNTS3KXWcT3DwK2peTjA6kJBijtNshr4rzS9mvw/S
   tV5vbfDDrYLhZ03oRjVMVdbDbkbaE4mfGlZM2meJlr/K+CDmkix7jh/mg
   p3okVsW50oZZnfdmfomg+3hVtNTCwQXmFglpcPM85jh5UD0QbrY6Sasqs
   H1z+Y5TVU8vRnOlwpmIImv1bW9pRtVxZKYZtNEH4e3HbPFHDPwxAPE7bp
   RYA/cirV2dJ6RZFmjFCF5Pyehi1ahIfwq/fZE0Xi+yTpfa4vo+zYxZsm6
   Q==;
X-IronPort-AV: E=McAfee;i="6500,9779,10555"; a="305085940"
X-IronPort-AV: E=Sophos;i="5.96,230,1665471600"; 
   d="scan'208";a="305085940"
X-IronPort-AV: E=McAfee;i="6500,9779,10555"; a="736191278"
X-IronPort-AV: E=Sophos;i="5.96,230,1665471600"; 
   d="scan'208";a="736191278"
Date: Fri, 9 Dec 2022 13:53:31 +0200 (EET)
From: Kai Vehmanen <kai.vehmanen@linux.intel.com>
X-X-Sender: kvehmane@eliteleevi.tm.intel.com
To: Ricardo Ribalda <ribalda@chromium.org>
cc: Oliver Neukum <oneukum@suse.com>, Juergen Gross <jgross@suse.com>, 
    Mark Brown <broonie@kernel.org>, 
    Chromeos Kdump <chromeos-kdump@google.com>, 
    Daniel Baluta <daniel.baluta@nxp.com>, 
    Christophe Leroy <christophe.leroy@csgroup.eu>, 
    Len Brown <len.brown@intel.com>, Ard Biesheuvel <ardb@kernel.org>, 
    Ranjani Sridharan <ranjani.sridharan@linux.intel.com>, 
    "Rafael J. Wysocki" <rafael@kernel.org>, 
    Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
    Nicholas Piggin <npiggin@gmail.com>, Michael Ellerman <mpe@ellerman.id.au>, 
    Eric Biederman <ebiederm@xmission.com>, 
    Dave Hansen <dave.hansen@linux.intel.com>, 
    Jaroslav Kysela <perex@perex.cz>, Joel Fernandes <joel@joelfernandes.org>, 
    Liam Girdwood <lgirdwood@gmail.com>, 
    Peter Ujfalusi <peter.ujfalusi@linux.intel.com>, 
    Pavel Machek <pavel@ucw.cz>, 
    Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>, 
    Kai Vehmanen <kai.vehmanen@linux.intel.com>, 
    Steven Rostedt <rostedt@goodmis.org>, 
    "K. Y. Srinivasan" <kys@microsoft.com>, Ingo Molnar <mingo@redhat.com>, 
    Bjorn Helgaas <bhelgaas@google.com>, Dexuan Cui <decui@microsoft.com>, 
    Takashi Iwai <tiwai@suse.com>, "H. Peter Anvin" <hpa@zytor.com>, 
    Bard Liao <yung-chuan.liao@linux.intel.com>, 
    Haiyang Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, 
    Thomas Gleixner <tglx@linutronix.de>, Borislav Petkov <bp@alien8.de>, 
    x86@kernel.org, kexec@lists.infradead.org, 
    Alsa-devel <alsa-devel@alsa-project.org>, stable@vger.kernel.org, 
    sound-open-firmware@alsa-project.org, linuxppc-dev@lists.ozlabs.org, 
    linux-hyperv@vger.kernel.org, linux-pci@vger.kernel.org, 
    linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, 
    linux-efi@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v8 3/3] ASoC: SOF: Fix deadlock when shutdown a frozen
 userspace
In-Reply-To: <CANiDSCtm7dCst_atiWk=ZcK_D3=VzvD0+kWXVQr4gEn--JjGkw@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2212091349310.3532114@eliteleevi.tm.intel.com>
References: <20221127-snd-freeze-v8-0-3bc02d09f2ce@chromium.org> <20221127-snd-freeze-v8-3-3bc02d09f2ce@chromium.org> <716e5175-7a44-7ae8-b6bb-10d9807552e6@suse.com> <CANiDSCtwSb50sjn5tM7jJ6W2UpeKzpuzng+RdJuywiC3-j2zdg@mail.gmail.com>
 <d3730d1d-6f92-700a-06c4-0e0a35e270b0@suse.com> <CANiDSCtm7dCst_atiWk=ZcK_D3=VzvD0+kWXVQr4gEn--JjGkw@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7 02160 Espoo
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi,

On Thu, 1 Dec 2022, Ricardo Ribalda wrote:

> On Thu, 1 Dec 2022 at 14:22, 'Oliver Neukum' via Chromeos Kdump <chromeos-kdump@google.com> wrote:
> >
> > On 01.12.22 14:03, Ricardo Ribalda wrote:
> > > This patchset does not modify this behaviour. It simply fixes the
> > > stall for kexec().
> > >
> > > The  patch that introduced the stall:
> > > 83bfc7e793b5 ("ASoC: SOF: core: unregister clients and machine drivers
> > > in .shutdown")
> >
> > That patch is problematic. I would go as far as saying that
> > it needs to be reverted.
> 
> It fixes a real issue. We have not had any complaints until we tried
> to kexec in the platform.
> I wont recommend reverting it until we have an alternative implementation.
> 
> kexec is far less common than suspend/reboot.

I've posted an alternative to ALSA list that reverts the problematic
patch and fixes the problem (the patch was originally addressing)
in a different way:

https://mailman.alsa-project.org/pipermail/alsa-devel/2022-December/209776.html

No changes outside sound/soc/ are needed with this approach.

Br, Kai


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 13:16:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 13:16:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457891.715836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3dEc-0004uz-Kk; Fri, 09 Dec 2022 13:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457891.715836; Fri, 09 Dec 2022 13:16:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3dEc-0004us-Hb; Fri, 09 Dec 2022 13:16:14 +0000
Received: by outflank-mailman (input) for mailman id 457891;
 Fri, 09 Dec 2022 13:16:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iKBv=4H=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p3dEb-0004um-8e
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 13:16:13 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a204b090-77c3-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 14:16:07 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 3A1533200904;
 Fri,  9 Dec 2022 08:16:02 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Fri, 09 Dec 2022 08:16:02 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 9 Dec 2022 08:16:00 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a204b090-77c3-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670591761; x=
	1670678161; bh=PhnIp8wmGOYZkwEFgfVpgvNVhWVd57DXr2teMfgswQ8=; b=n
	4XkcQd+tQNF5QYxMBao3ldeQoRZYFYKBSijBpvILXXastBoClZPa5KnQqrv2Exwb
	VMs/UURpmhUDIau5J+AvPrsBvDG8tYmQVU9WMl+zDhgwfzIE0Wwo5WuRaU82N7PD
	G+FTzBKo0U3zYS9HikWI6BjqI4kZ3SwxAW9d/Ol7MxnclT6pVQRy2QXr2Ef25SMd
	+me/hKKbOIF/U59hQoU0rWa+mUtkT7VTelnVDc0UCVRGR44vZXpGVass+rpk8gUj
	f57a5o0k5mbwJYFZHN/ujUizMvDeOpNuy03VCPNaH2Og4GaUDxbzlycQyQDUjBUc
	Y8WjOyrUzfpuC7A3CeNNA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1670591761; x=1670678161; bh=PhnIp8wmGOYZkwEFgfVpgvNVhWVd
	57DXr2teMfgswQ8=; b=o791l6CAL5ItNg17QQ6+UEWsIhRF9HIr/FWZGrPycniO
	WVILoEt/4uC3AOc+6ED+Y97PkgwWbKTb04lZGucNkKVIFZLhJRRBZZ+7PEwO1TPA
	z3ktCP7PI9n/xy/vwk1XB7RsnsE1AH4bjsul5bazIcn0AqiBZYIkcvQpMLx90lUY
	xb94EBSHR70FUEGXZ3bfielNhkhYRcavJ7wWYe+i6ywrs84TN/go1qqM+/Cwl9aQ
	IOjEpx7TgD8QN1PjKdebomw9KnM9on3XyWS9KumrusjNftaGa2XAtglkn8yg1p08
	dwKEIKOVccDM/AkrjowtYH/Q2xWl6eeqFBuLnucNbw==
X-ME-Sender: <xms:ETWTYylsxiWMMHl0vh1JJhZPHiCSjFD6JP9uL6V377ulQ84Gr_y-sw>
    <xme:ETWTY53_auYyexk7nJPw1lvrEEuw6eM-Wurm_R0Jeu22ZsHAqds2MHTv-CwA0LQcZ
    qkV71qA4_VHowY>
X-ME-Received: <xmr:ETWTYwo8Uv-zU5VhU0VbhtClpaR_wqi1ofMOVJBczL5Fiymgd51g0IShNeZO>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvgdeglecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeduieelfeeutedvleehueetffejgeej
    geffkeelveeuleeukeejjeduffetjeekteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:ETWTY2n4D-Lfqcjljmfe8oPbLcAhjGXqVY5K6fviTiNogjrdKrJuzg>
    <xmx:ETWTYw3fCuVigBS-gd_A4U6AiKTNRTP_k8XOyQu4SW0fALC_dCsPsw>
    <xmx:ETWTY9tC6bDbHuy1JNmGNdl3YhKvbQ6k9E9oBbM61b4ZK186sLBbPA>
    <xmx:ETWTY9wI50IIZk99E3_h3L5YOpByESW95U4-sMLLi5Lk4M6Km-q6GQ>
Feedback-ID: iac594737:Fastmail
Date: Fri, 9 Dec 2022 08:15:55 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Henry Wang <Henry.Wang@arm.com>, Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>
Cc: Ard Biesheuval <ardb@kernel.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
Message-ID: <Y5M1D4w44uIddxNn@itl-email>
References: <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
 <9c1e3cc3-e0b4-6ca5-087b-55117b45db80@suse.com>
 <AS8PR08MB7991E4EE490EC8B028BB1D2F921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <5ce98ff4-6b7d-2254-d755-a68fc3ac67b4@xen.org>
 <AS8PR08MB7991A81EEEC33451800CAF97921C9@AS8PR08MB7991.eurprd08.prod.outlook.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="W4bAIgRAj/9KfQGT"
Content-Disposition: inline
In-Reply-To: <AS8PR08MB7991A81EEEC33451800CAF97921C9@AS8PR08MB7991.eurprd08.prod.outlook.com>


--W4bAIgRAj/9KfQGT
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 9 Dec 2022 08:15:55 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Henry Wang <Henry.Wang@arm.com>, Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>
Cc: Ard Biesheuval <ardb@kernel.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3] Use EfiACPIReclaimMemory for ESRT

On Fri, Dec 09, 2022 at 07:37:53AM +0000, Henry Wang wrote:
> Hi Julien,
>=20
> > -----Original Message-----
> > From: Julien Grall <julien@xen.org>
> > Subject: Re: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
> >=20
> > Hi,
> >=20
> > >>> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> > >>
> > >> Acked-by: Jan Beulich <jbeulich@suse.com>
> > >>
> > >>> Should this be included in 4.17?  It is a bug fix for a feature new=
 to
> > >>> 4.17, so I suspect yes, but it is ultimately up to Henry Wang.  The=
 code
> > >>> is identical to v2, but I have improved the commit message.
> > >>
> > >> It may be too late now, looking at the state of the tree. Henry, Jul=
ien?
> > >
> > > Like I said in v2, I don't object the change if you would like to inc=
lude this
> > patch
> > > to 4.17, so if you are sure this patch is safe and want to commit it,=
 feel free
> > to add:
> > >
> > > Release-acked-by: Henry Wang <Henry.Wang@arm.com>
> > >
> > > Since we also need to commit:
> > > "[PATCH for-4.17] SUPPORT.md: Define support lifetime" so from my side
> > > I am no problem. Julien might have different opinion though, if Julien
> > object
> > > the change I would like to respect his opinion and leave this patch
> > uncommitted.
> >=20
> > I have committed it after SUPPORT.md. So if for some reasons we are seen
> > any issues with Osstest, then I can tag the tree without this patch
>=20
> This is a great solution :)
>=20
> > (that said, I would rather prefer if we have staging-4.17 =3D=3D stable=
-4.17).
>=20
> Looks like now staging-4.17 =3D=3D stable-4.17 now, with this patch pushe=
d.
> So we are ready to tag.

And it turns out that I botched the initial patch, sorry.  (I forgot to
handle the multiboot2 case.)

I understand if it is too late for stable-4.17, but it ought to make
stable 4.17.1 as it was simply omitted from the initial patch series.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--W4bAIgRAj/9KfQGT
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOTNQ8ACgkQsoi1X/+c
IsGrRQ//bj415rBPN9LoTW5VUGS448GgOtsCaGLBUnnz8wnU2rFD4oEF12TrNAwT
vPGi7Pavax9SlVLzSVqD41TtxaLlyMQRBiCknG638U5Bv1uFj04mOwoKvys+Q3xK
QIBvuX/cPoqwsATvjmr5HEZQ+0fZ8wi7p/VxaSBdqIbbw7MS8vW1+jDA702qwCoK
MCM51Dx0Wa++wrQdNK4sNsmCHnjHkCet0A96AbwIRnBBLcycPfdCqqBF3zzM8tMM
KxDjoYU0jVINLXwmI3pcym4gPl8m5Ro5mrVYlMickEtEmjQcuWdQ3ie1UlO33RFk
WW7UHJRw6RmSbeGtt+O3mCDJQlmbc0wBG8p9nVN25X60XIxaIeDVNoPKg2ZwbfPK
c22PM4BigGbjAAmksXqUe/SkGz2R0XTvlRl1ox1a8sy9Mnl4ysDTX8NXOmIz3Y6m
tsV4zcm3pzP9kgL0LC/8CoRxDL40mrkuHGMqB2ren+EHotrR9Dq49Q/cO/r695FZ
LJutxKJK6YrbUO4a8NXLv5JKZKSCPB024TJIvh4pdsw/yTAstYoO76JduehDrii2
ljKNtX/gLdM4KpOwlsW3UHlAYNTlt4xlKH9ofxHgxZSGo99Dj2QN8KoNRjDGtVaX
hmXxJxJzpwfDIhedxgAv9xL3fK2beXdfkaLNhTWpkgxTsSVg0Uw=
=olSy
-----END PGP SIGNATURE-----

--W4bAIgRAj/9KfQGT--


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 14:05:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 14:05:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457922.715850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3dzy-0002yO-Bo; Fri, 09 Dec 2022 14:05:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457922.715850; Fri, 09 Dec 2022 14:05:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3dzy-0002yH-8G; Fri, 09 Dec 2022 14:05:10 +0000
Received: by outflank-mailman (input) for mailman id 457922;
 Fri, 09 Dec 2022 14:05:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nv8v=4H=citrix.com=prvs=3352c5006=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p3dzx-0002yB-8e
 for xen-devel@lists.xen.org; Fri, 09 Dec 2022 14:05:09 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b469067-77ca-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 15:05:07 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b469067-77ca-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670594707;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=+apzwZeekKNIH448nSTGPvDEHZyOsinV+UJtOdYphaw=;
  b=gfxfnDnh9VZZS/XdLsmEQpLOfcUc0NMKfl15UQG8RTsEpgzpuZcsRl3g
   6bB5XuTaCzC+eiSDjRBht7A8WT2EqWWmF3QU2Aq+KznzZQ4H27OWE8gJU
   7JozqJn4XrAChu2Po60VKJwFFDwyzOM0u6amlz6b1hJpK+IE2SJkO5Vc1
   A=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87949434
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:spcoEaobx+bAdN4APFDaV+OKVDleBmJwYhIvgKrLsJaIsI4StFCzt
 garIBnSOauDYmunLYhxYYq3/BlXuJ/cxoUxGgBo/ilnE3wVoJuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzyhNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXADJSM1ffneaK+rDlVMdhxcV/Be77bIxK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFHU/rSn8/x7pX7WzRetFKSo7tx+2XJxRZ9+LPsLMDUapqBQsA9ckOw9
 j2XozWlWU1y2Nq3kDWX2V6Kirf1gzL5VKQsCaaa0s9zqQjGroAUIEJPDgbqyRWjsWa7Us5fK
 kEJvDIprLIz+VaDStj7Vge/5nWDu3Y0QMZdHeQ870eW1qPe7gKdB24FZi5AbN0gpIk9QjlC/
 laNksOvDzFptrCYYXac8L6OqnW1Iyd9BXAGTT8JS00C+daLiIY3gxHUUsd4EIa6i9T0HXf7x
 DXihC0/hLhVjckP0qig1VTGhTu2od7OVAFdzgfYRGW+9StieZWoIYev7DDz/ftGaYqUUFSFl
 HwFgNSFqvADC9eKjiPlaPsMBryy57CGLTjVm3ZrHp8o7TPr/GSsFahL/Ct3OEByd8oJZxfue
 ArXuBhN/9lXPX2jd6gxZJi+Y+w0zK7rGNL5EP/Jb8ZSZYRZcA6B9TtpI0mK0AjFklUokKw5E
 YeWd4CrF3lyNEh85GPoHaFHi+Ztn31ggzOILXzm8/i5+bjBOTnJU7M5ClnQcM40r6LYiSLFo
 9kKYqNm1C5jeOH5ZyDW96saIlYLMWU3CPjKliBHSgKQClE4QT98Upc91ZtkItU4xPoNyo8k6
 1nnAidlJEzDaWorwOlgQlRqc/vRUJl2thrX1gR8bA/zixDPjWtChZrzlqfbn5F9rISPLtYuF
 ZHpnvls5dwRIgkrAxxHMfHAQHVKLXxHfz6mMSu/eyQYdJV9XQHP8dKMVlKxq3FTVHbr7Zpk+
 OTIOubnrX0rHlUKMSorQKj3kwPZUYY1x4qeoHck0vEMIR6xoeCG2gT6j+MtItFkFPkw7mLy6
 upiOj9B/bOli9ZsoLH0aVWs89/B/x1WQhALQAE2LN+eaUHnw4ZU6dMZCr7TJ2CHDjicFWfLT
 bw98swQ+cYvxD5i27eQ2Z4xpU7iz7MDf4Nn8zk=
IronPort-HdrOrdr: A9a23:OlK+/KuqEoXjsjEt2WMLytxi7skDstV00zEX/kB9WHVpm6yj+v
 xG/c5rsCMc7Qx6ZJhOo7+90cW7L080lqQFg7X5X43DYOCOggLBQL2KhbGI/9SKIVycygcy78
 Zdm6gVMqyLMbB55/yKnTVRxbwbsaW6GKPDv5ag8590JzsaD52Jd21Ce36m+ksdfnggObMJUK
 Cyy+BgvDSadXEefq2AdwI4t7iqnaysqHr+CyR2fiIa1A==
X-IronPort-AV: E=Sophos;i="5.96,230,1665460800"; 
   d="scan'208";a="87949434"
Date: Fri, 9 Dec 2022 14:04:49 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
CC: <xen-devel@lists.xen.org>, Juergen Gross <jgross@suse.com>, Julien Grall
	<julien@xen.org>, Vincent Guittot <vincent.guittot@linaro.org>,
	<stratos-dev@op-lists.linaro.org>, Alex =?iso-8859-1?Q?Benn=E9e?=
	<alex.bennee@linaro.org>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>, Mike Holmes
	<mike.holmes@linaro.org>, Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH V6 2/3] xl: Add support to parse generic virtio device
Message-ID: <Y5NAgZsG15LuUCd6@perard.uk.xensource.com>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <73663851c5223b99ed0f23a163a0d44cba0ebe29.1667906228.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <73663851c5223b99ed0f23a163a0d44cba0ebe29.1667906228.git.viresh.kumar@linaro.org>

On Tue, Nov 08, 2022 at 04:53:59PM +0530, Viresh Kumar wrote:
> diff --git a/tools/ocaml/libs/xl/genwrap.py b/tools/ocaml/libs/xl/genwrap.py
> index 7bf26bdcd831..b188104299b1 100644
> --- a/tools/ocaml/libs/xl/genwrap.py
> +++ b/tools/ocaml/libs/xl/genwrap.py
> @@ -36,6 +36,7 @@ DEVICE_LIST =      [ ("list",           ["ctx", "domid", "t list"]),
>  functions = { # ( name , [type1,type2,....] )
>      "device_vfb":     DEVICE_FUNCTIONS,
>      "device_vkb":     DEVICE_FUNCTIONS,
> +    "device_virtio":     DEVICE_FUNCTIONS,
>      "device_disk":    DEVICE_FUNCTIONS + DEVICE_LIST +
>                        [ ("insert",         ["ctx", "t", "domid", "?async:'a", "unit", "unit"]),
>                          ("of_vdev",        ["ctx", "domid", "string", "t"]),
> diff --git a/tools/ocaml/libs/xl/xenlight_stubs.c b/tools/ocaml/libs/xl/xenlight_stubs.c
> index 45b8af61c74a..8e54f95da7c7 100644
> --- a/tools/ocaml/libs/xl/xenlight_stubs.c
> +++ b/tools/ocaml/libs/xl/xenlight_stubs.c
> @@ -707,6 +707,7 @@ DEVICE_ADDREMOVE(disk)
>  DEVICE_ADDREMOVE(nic)
>  DEVICE_ADDREMOVE(vfb)
>  DEVICE_ADDREMOVE(vkb)
> +DEVICE_ADDREMOVE(virtio)
>  DEVICE_ADDREMOVE(pci)
>  _DEVICE_ADDREMOVE(disk, cdrom, insert)

I don't think these ocaml changes are necessary, because they don't
build. I'm guessing those adds the ability to hotplug devices which
virtio device don't have, so function for that are missing.

> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> index 1b5381cef033..c6f35c069d2a 100644
> --- a/tools/xl/xl_parse.c
> +++ b/tools/xl/xl_parse.c
> @@ -2309,8 +2390,10 @@ void parse_config_data(const char *config_source,
>  
>      d_config->num_vfbs = 0;
>      d_config->num_vkbs = 0;
> +    d_config->num_virtios = 0;
>      d_config->vfbs = NULL;
>      d_config->vkbs = NULL;
> +    d_config->virtios = NULL;

These look a bit out of place, I think it would be fine to set
num_virtios and virtios just before calling parse_virtio_list(), as
array are usually initialised just before parsing the associated config
option in parse_config_data().

>      if (!xlu_cfg_get_list (config, "vfb", &cvfbs, 0, 0)) {
>          while ((buf = xlu_cfg_get_listitem (cvfbs, d_config->num_vfbs)) != NULL) {
> @@ -2752,6 +2835,7 @@ void parse_config_data(const char *config_source,
>      }
>  
>      parse_vkb_list(config, d_config);
> +    parse_virtio_list(config, d_config);
>  
>      xlu_cfg_get_defbool(config, "xend_suspend_evtchn_compat",
>                          &c_info->xend_suspend_evtchn_compat, 0);

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 14:07:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 14:07:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457929.715860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3e1l-0003YG-M0; Fri, 09 Dec 2022 14:07:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457929.715860; Fri, 09 Dec 2022 14:07:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3e1l-0003Y9-JN; Fri, 09 Dec 2022 14:07:01 +0000
Received: by outflank-mailman (input) for mailman id 457929;
 Fri, 09 Dec 2022 14:07:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nv8v=4H=citrix.com=prvs=3352c5006=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p3e1k-0003Y2-3Y
 for xen-devel@lists.xen.org; Fri, 09 Dec 2022 14:07:00 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bdb85b37-77ca-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 15:06:58 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdb85b37-77ca-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670594818;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=VnjmZ/o56GxZraB6qaXGj2IARs/JoPyltyk5Ud7pIAs=;
  b=WtTEeYxGHcdtl5QblL6TzJCE8zHZpMce8GE7gSXYHqTOL4gTCaCHXaPL
   qt36gSEHeMnzY8S8P88JLgGTXTPbglaJUND5fO97UoHGhSmS9+a/C5Nwb
   0wiX5je3ENbKWRL+EqUK5D/23rCnuHaoBnG0MWWJZE7SF34B6Nmd5lzzu
   I=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87554853
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:DuBX9qKMUMQv4MikFE+RuZIlxSXFcZb7ZxGr2PjKsXjdYENS3zUBy
 GsYW22EbvmCajT0eIsiaoi38R8FuJLVxt9gGwFlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5ARvPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5pG0MJ3
 /0+LAspdz2tq8PvmLyaRNFV05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpPE+ojx5nYz/7DLo3mvuogX/uNSVVsluPqYI84nTJzRw327/oWDbQUozVGJgJzhvDz
 o7A11zrWRAmN4GG8x+czX2wqL72rGCqW7tHQdVU8dY12QbOlwT/EiY+UFKnofi0lwimXNNFK
 kEO0i4vq6Eo8wqgSdyVdwakrXCNuBlaQMZZGeA+7ACLy4LE4gKYAHhCRTlEAPQvsMImAzYn0
 FmEkvvtBDpmqrrTTmiSnp+LqRuiNC5TKnUNDQcDSQYG+MXyu4EbgRfGT9IlG6mw5vXwGDL9h
 TCNqC0znJ0XjMgCzaL9+krI6xquqYLOVRUd/RjMUySu6QYRTJ6oYcmk5EbW6d5ELZ2FVR+Rs
 X5CnNKRhMgQDIuAjyzLQ/gIFauB4/eDOSfbx1l1EPEJ7Ci38mKkZsVc7S9WI18sNscfZSSvZ
 E7VsBlWophJMxOCc65xaI+3F4Il0Kn8CdP5fvTVaNNUZd52bgDv1CNzYU+d2Uj9nU5qlrswU
 ap3au71UyxcU/4+imPrGaFNitfH2xzS20vNX7K85RWB1YG6fVO7ZZZcaFWvYNgAufbsTBruz
 /5TMM6DyhN6WeL4YzXK/YN7EW3mPUTXFrit9ZUJK7frzh5OXTh4VqSPme9Jl5lNxfw9qwvew
 p2qtqa0InLbjGaPFwiFY2sLhFjHDccm9iJT0cDB0D+VN5kfjWSHtv93m3gfJ+NPGAlfIRlcE
 ZE4lz2oWKgnd9g+0211gWPBhIJjbg+3ogmFIjCoZjMyF7Y5GVORp4W4IlO+rnJXZsZSiSfZi
 +Txvj43vLJZH1gyZCooQK3HI6yNUYg1x7spAhqgzih7c0Tw6ol6QxEdfdduS/zg3S7rn2PAv
 y7PWEdwmAU4i9NtmDU/rfze/tjB/ioXNhYyIlQ3Gp7qbHOCpTDzm9UbOAtKFBiEPF7JFGyZT
 b0955nB3DcvxT6mb6IU/25X8J8D
IronPort-HdrOrdr: A9a23:iaA2+6q7hqWtX9ETIQYiGjwaV5rveYIsimQD101hICG9Evb0qy
 nOpoV/6faQslwssR4b9uxoVJPvfZq+z+8W3WByB9eftWDd0QPFEGgL1+DfKlbbak7DH4BmtJ
 uJc8JFeafN5VoRt7eG3OFveexQvOVu88qT9JjjJ28Gd3APV0n5hT0JcjpyFCdNNW57LKt8Lr
 WwzOxdqQGtfHwGB/7LfUXsD4D41rv2fIuNW29+OyIa
X-IronPort-AV: E=Sophos;i="5.96,230,1665460800"; 
   d="scan'208";a="87554853"
Date: Fri, 9 Dec 2022 14:06:52 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
CC: <xen-devel@lists.xen.org>, Juergen Gross <jgross@suse.com>, Julien Grall
	<julien@xen.org>, Vincent Guittot <vincent.guittot@linaro.org>,
	<stratos-dev@op-lists.linaro.org>, Alex =?iso-8859-1?Q?Benn=E9e?=
	<alex.bennee@linaro.org>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>, Mike Holmes
	<mike.holmes@linaro.org>, Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH V6 2/3] xl: Add support to parse generic virtio device
Message-ID: <Y5NA/I5Ye46LXL0J@perard.uk.xensource.com>
References: <cover.1667906228.git.viresh.kumar@linaro.org>
 <73663851c5223b99ed0f23a163a0d44cba0ebe29.1667906228.git.viresh.kumar@linaro.org>
 <Y5NAgZsG15LuUCd6@perard.uk.xensource.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <Y5NAgZsG15LuUCd6@perard.uk.xensource.com>

Sorry, I've replied to the wrong version, but those comment apply to V7.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 14:16:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 14:16:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457939.715872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3eB7-0005I9-K3; Fri, 09 Dec 2022 14:16:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457939.715872; Fri, 09 Dec 2022 14:16:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3eB7-0005I2-Fx; Fri, 09 Dec 2022 14:16:41 +0000
Received: by outflank-mailman (input) for mailman id 457939;
 Fri, 09 Dec 2022 14:16:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nv8v=4H=citrix.com=prvs=3352c5006=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p3eB5-0005Hw-Cm
 for xen-devel@lists.xen.org; Fri, 09 Dec 2022 14:16:39 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16d944a2-77cc-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 15:16:37 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16d944a2-77cc-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670595397;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=wGvvzH91y6H3qPilRsGLDel2H6kqwOpGnwmPmSDEzDc=;
  b=PRkuu6+imBBxYdGZyIqgwjvMABNYzsSp9CAi83o6HVYCbsjXO8KWkOvQ
   bsRetKP13CiRqS/lk8RsiDhxDF2wmdgUqVzkyfFw5PPgTiNMwKUUt1PLJ
   U4p6pU5Konr4auLjfl0Q2JdaNDQ45Cw7Jz5iP+OS35eOKScQOWF30B5t9
   s=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87570546
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:xB4BiKJl0LrSahYaFE+RupIlxSXFcZb7ZxGr2PjKsXjdYENS12MAz
 GccCDvVM/qMMWuheo9zPNu19RtV6sDdy9M2QABlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5ARvPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5oQm9f3
 P5Dcgsscw/EptmfmJy/ZrFj05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpPE+ojx5nYz/7DLo3mvuogX/uNSVVsluPqYI84nTJzRw327/oWDbQUozVGJoNwxrGz
 o7A10SoAVYWBefY8CamzCisqc6fsyP8aLtHQdVU8dY12QbOlwT/EiY+UFKnofi0lwimXNNFK
 kEO0i4vq6Eo8wqgSdyVdwakrXCNuBlaQMZZGeA+7ACLy4LE4gKYAHhCRTlEAPQvsMImAzYn0
 FmEkvvtBDpmqrrTTmiSnp+LqRuiNC5TKnUNDQcDSQYG+MXyu4EbgRfGT9IlG6mw5vXwGDL9h
 TCNqC0znJ0XjMgCzaL9+krI6xquqYLOVRUd/RjMUySu6QYRTJ6oYcmk5EbW6d5ELZ2FVR+Rs
 X5CnNKRhMgQDIuAjyzLQ/gIFauB4/eDOSfbx1l1EPEJ7Ci38mKkZsVc7S9WI18sNscfZSSvZ
 E7VsBlWophJMxOCc65xaI+3F4Il0Kn8CdP5fvTVaNNUZd52bgDv1CNzYU+d2Uj9nU5qlrswU
 ap3au71UyxcU/4+imPrGaFNitfH2xzS20vMBp7q5hb8i4G/eWHSaIwsaHWKQrg2ufbsTBruz
 /5TMM6DyhN6WeL4YzXK/YN7EW3mPUTXFrit9ZUJK7frzh5OXTh4VqSPme9Jl5lNxfw9qwvew
 p2qtqa0InLbjGaPFwiFY2sLhFjHDccm9iJT0cDB0D+VN5kfjWSHtv93m3gfJ+NPGAlfIRlcE
 ZE4lz2oWKgnd9g+0211gWPBhIJjbg+3ogmFIjCoZjMyF7Y5GVORp4W4IlO+rnJXZsZSiSfZi
 +Txvj43vLJZH1gyZCooQK3HI6yNUYg1x7spAhqgzih7c0Tw6ol6QxEdfdduS/zg3S7rn2PAv
 y7PWEdwmAU4i9NtmDU/rfze/tjB/ioXNhYyIlQ3Gp7qbHOCpTDzm9UbOAtKFBiEPF7JFGyZT
 b0955nB3DcvxwoiX1ZUe1qz8Z8D2g==
IronPort-HdrOrdr: A9a23:ehLjyqEDq7aWQR8dpLqEyseALOsnbusQ8zAXPiFKOHlom6mj/a
 2TdZsguSMc5Ax/ZJhYo6HmBEDiewK/yXcW2+ks1N6ZNWHbUQ2TQr2KhrGSoAEIdReeygdr79
 YFT0EvMrbN5IBB/LzHCdODYq4dKQS8gcaVbDvlvgxQpN9RGtxdB2gQMHfjLnFL
X-IronPort-AV: E=Sophos;i="5.96,230,1665460800"; 
   d="scan'208";a="87570546"
Date: Fri, 9 Dec 2022 14:16:19 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
CC: <xen-devel@lists.xen.org>, Juergen Gross <jgross@suse.com>, Julien Grall
	<julien@xen.org>, Vincent Guittot <vincent.guittot@linaro.org>,
	<stratos-dev@op-lists.linaro.org>, Alex =?iso-8859-1?Q?Benn=E9e?=
	<alex.bennee@linaro.org>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>, Mike Holmes
	<mike.holmes@linaro.org>, Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH V7 1/3] libxl: Add support for generic virtio device
Message-ID: <Y5NDM9DYnX3zAxpd@perard.uk.xensource.com>
References: <cover.1670396758.git.viresh.kumar@linaro.org>
 <903506db6c7dadb2a5304e9894950c673e308f41.1670396758.git.viresh.kumar@linaro.org>
 <Y5InlfaQoY18WjZe@perard.uk.xensource.com>
 <20221209001354.ufvavrxvucdvzjks@vireshk-i7>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20221209001354.ufvavrxvucdvzjks@vireshk-i7>

On Fri, Dec 09, 2022 at 05:43:54AM +0530, Viresh Kumar wrote:
> On 08-12-22, 18:06, Anthony PERARD wrote:
> > Nit: Something like:
> >     const char check[] = "virtio,device";
> >     const size_t checkl = sizeof(check) - 1;
> >     ... strncmp(tmp, check, checkl)...
> >     (or just strncmp(tmp, check, sizeof(check)-1))
> > would avoid issue with both string "virtio,device" potentially been
> > different.
> 
> I think that is a generic problem with all the strings I am using. What about
> this diff over current patch ?
> 
> diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
> index cdd155d925c1..a062fca0e2bb 100644
> --- a/tools/libs/light/libxl_internal.h
> +++ b/tools/libs/light/libxl_internal.h
> @@ -166,6 +166,11 @@
>  /* Convert pfn to physical address space. */
>  #define pfn_to_paddr(x) ((uint64_t)(x) << XC_PAGE_SHIFT)
>  
> +/* Virtio device types */
> +#define VIRTIO_DEVICE_TYPE_GENERIC   "virtio,device"
> +#define VIRTIO_DEVICE_TYPE_GPIO      "virtio,device22"
> +#define VIRTIO_DEVICE_TYPE_I2C       "virtio,device29"

That a good idea.

>  /* logging */
>  _hidden void libxl__logv(libxl_ctx *ctx, xentoollog_level msglevel, int errnoval,
>               const char *file /* may be 0 */, int line /* ignored if !file */,
> diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virtio.c
> index 64cec989c674..183d9c906e27 100644
> --- a/tools/libs/light/libxl_virtio.c
> +++ b/tools/libs/light/libxl_virtio.c
> @@ -62,7 +62,7 @@ static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
>                                         libxl_device_virtio *virtio)
>  {
>      const char *be_path, *tmp = NULL;
> -    int rc;
> +    int rc, len = sizeof(VIRTIO_DEVICE_TYPE_GENERIC) - 1;

That `len` variable is initialized quite far away from where it's used,
so ...
>  
>      virtio->devid = devid;
>  
> @@ -112,8 +110,8 @@ static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
>      if (rc) goto out;
>  
>      if (tmp) {

... you could declare `len` here instead.

> -        if (!strncmp(tmp, "virtio,device", strlen("virtio,device"))) {
> -            virtio->type = strdup(tmp);
> +        if (!strncmp(tmp, VIRTIO_DEVICE_TYPE_GENERIC, len)) {
> +            virtio->type = libxl__strdup(NOGC, tmp);
>          } else {
>              return ERROR_INVAL;
>          }
> 


Otherwise, those change looks fine.
Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 14:26:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 14:26:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457951.715882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3eKm-00071f-HR; Fri, 09 Dec 2022 14:26:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457951.715882; Fri, 09 Dec 2022 14:26:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3eKm-00071Y-EH; Fri, 09 Dec 2022 14:26:40 +0000
Received: by outflank-mailman (input) for mailman id 457951;
 Fri, 09 Dec 2022 14:26:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bplO=4H=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1p3eKl-00071S-Qc
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 14:26:39 +0000
Received: from mail-qt1-x82c.google.com (mail-qt1-x82c.google.com
 [2607:f8b0:4864:20::82c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7dceb8bf-77cd-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 15:26:38 +0100 (CET)
Received: by mail-qt1-x82c.google.com with SMTP id x28so3611813qtv.13
 for <xen-devel@lists.xenproject.org>; Fri, 09 Dec 2022 06:26:38 -0800 (PST)
Received: from pm2-ws13.praxislan02.com
 (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [207.172.141.204]) by smtp.gmail.com with ESMTPSA id
 bb12-20020a05622a1b0c00b003a530a32f67sm944094qtb.65.2022.12.09.06.26.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 09 Dec 2022 06:26:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7dceb8bf-77cd-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Z26CJkV4bYBR7Igz8UtlKjC+5Be28A36hbOcGnHeAHA=;
        b=lOXPlqVDsCU/iT7WgJtYT6+UXxMsr9qT3EOt0VEoisMXgRg2R6Cue68/yFc610oSNh
         QnEoyGDMtbIXZ0bcGN7E9cL+XqHtaulIlfCJ0SrkEn1pk0KCvOb68uQDaVEEyvCs58xN
         iP0YGW9B+VQG0wWOE4wnxp/GFMyOLOlHRRYGrOvkYDAvxI6ra/Ckgj1Po8LdgacBnJ/q
         5/XMqgDXCxsb8uI9/IVSBogDGas/MITu53Pz8u8YEn0nyhweWfxfITv4XODmPn/pzoS7
         ql5V6+gmKsRgqwaGRdIxKnH/74vE3hD8AEUEPiqyCMnv3Du3zlp6FVPDvVf7G09I8/0e
         hK3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Z26CJkV4bYBR7Igz8UtlKjC+5Be28A36hbOcGnHeAHA=;
        b=A/ltP0RuX9Vea+R9/V0yKIvILGilmTKoKwl8d0ytckC6b0aAdMtLCvi5qRg9Y5nAEL
         bbcwEIJrpIjl2eQX7XaHmKUc7UUu9vV4og3hGtIONln52vmEzgm7YfxffbXTLlCtjl3Z
         39d0g3rzLP+eRWUV2Kk4N8KBuhv5HE40naiJ/6QT64ID68bXHp0z8Z4D9my+11Ytrp3X
         BvVMW+AWwqELXjlqgg2/wp7gwnSAvajIa2tfVnb6uJGl2qFQwzYyiKAlPJVo9/byWhBh
         DHaOzwOTnLd4ealaTOrLcX4s4HM1fIHNfr4X1NogRog9tofqn50RrfeFRRzydKcub3JU
         Wc7A==
X-Gm-Message-State: ANoB5pkkemcndDM3F9TiPFlQ+NAGUhRxlXPIqOozegiXrvqIFQf+RM1w
	0yUvrGgTo4UlESzwqoSbFfQ=
X-Google-Smtp-Source: AA0mqf7cBf3HtEfnMTHbn2B9g1hb6GZYhiARbmje9pr3rZIgEL0K9R+JMsEs+TSJ3w/N9SLufELTUQ==
X-Received: by 2002:a05:622a:1e11:b0:3a5:fa33:917f with SMTP id br17-20020a05622a1e1100b003a5fa33917fmr8841541qtb.37.1670595997584;
        Fri, 09 Dec 2022 06:26:37 -0800 (PST)
From: Jason Andryuk <jandryuk@gmail.com>
To: linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.org,
	Jason Andryuk <jandryuk@gmail.com>,
	Phillip Susi <phill@thesusis.net>,
	stable@vger.kernel.org,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	linux-input@vger.kernel.org
Subject: [PATCH v2] Input: xen-kbdfront - drop keys to shrink modalias
Date: Fri,  9 Dec 2022 09:26:14 -0500
Message-Id: <20221209142615.33574-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

xen kbdfront registers itself as being able to deliver *any* key since
it doesn't know what keys the backend may produce.

Unfortunately, the generated modalias gets too large and uevent creation
fails with -ENOMEM.

This can lead to gdm not using the keyboard since there is no seat
associated [1] and the debian installer crashing [2].

Trim the ranges of key capabilities by removing some BTN_* ranges.
While doing this, some neighboring undefined ranges are removed to trim
it further.

An upper limit of KEY_KBD_LCD_MENU5 is still too large.  Use an upper
limit of KEY_BRIGHTNESS_MENU.

This removes:
BTN_DPAD_UP(0x220)..BTN_DPAD_RIGHT(0x223)
Empty space 0x224..0x229

Empty space 0x28a..0x28f
KEY_MACRO1(0x290)..KEY_MACRO30(0x2ad)
KEY_MACRO_RECORD_START          0x2b0
KEY_MACRO_RECORD_STOP           0x2b1
KEY_MACRO_PRESET_CYCLE          0x2b2
KEY_MACRO_PRESET1(0x2b3)..KEY_MACRO_PRESET3(0xb5)
Empty space 0x2b6..0x2b7
KEY_KBD_LCD_MENU1(0x2b8)..KEY_KBD_LCD_MENU5(0x2bc)
Empty space 0x2bd..0x2bf
BTN_TRIGGER_HAPPY(0x2c0)..BTN_TRIGGER_HAPPY40(0x2e7)
Empty space 0x2e8..0x2ff

The modalias shrinks from 2082 to 1550 bytes.

A chunk of keys need to be removed to allow the keyboard to be used.
This may break some functionality, but the hope is these macro keys are
uncommon and don't affect any users.

[1] https://github.com/systemd/systemd/issues/22944
[2] https://lore.kernel.org/xen-devel/87o8dw52jc.fsf@vps.thesusis.net/T/

Cc: Phillip Susi <phill@thesusis.net>
Cc: stable@vger.kernel.org
Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
 drivers/input/misc/xen-kbdfront.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

v2:
Remove more keys: v1 didn't remove enough and modalias was still broken.

diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
index 8d8ebdc2039b..4ecb579df748 100644
--- a/drivers/input/misc/xen-kbdfront.c
+++ b/drivers/input/misc/xen-kbdfront.c
@@ -256,7 +256,14 @@ static int xenkbd_probe(struct xenbus_device *dev,
 		__set_bit(EV_KEY, kbd->evbit);
 		for (i = KEY_ESC; i < KEY_UNKNOWN; i++)
 			__set_bit(i, kbd->keybit);
-		for (i = KEY_OK; i < KEY_MAX; i++)
+		/* In theory we want to go KEY_OK..KEY_MAX, but that grows the
+		 * modalias line too long.  There is a gap of buttons from
+		 * BTN_DPAD_UP..BTN_DPAD_RIGHT and KEY_ALS_TOGGLE is the next
+		 * defined. Then continue up to KEY_BRIGHTNESS_MENU as an upper
+		 * limit. */
+		for (i = KEY_OK; i < BTN_DPAD_UP; i++)
+			__set_bit(i, kbd->keybit);
+		for (i = KEY_ALS_TOGGLE; i <= KEY_BRIGHTNESS_MENU; i++)
 			__set_bit(i, kbd->keybit);
 
 		ret = input_register_device(kbd);
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 09 14:29:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 14:29:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457960.715895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3eNg-0007fC-4a; Fri, 09 Dec 2022 14:29:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457960.715895; Fri, 09 Dec 2022 14:29:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3eNf-0007f5-WF; Fri, 09 Dec 2022 14:29:40 +0000
Received: by outflank-mailman (input) for mailman id 457960;
 Fri, 09 Dec 2022 14:29:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nv8v=4H=citrix.com=prvs=3352c5006=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p3eNe-0007ez-KY
 for xen-devel@lists.xen.org; Fri, 09 Dec 2022 14:29:38 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e7cf118c-77cd-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 15:29:37 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7cf118c-77cd-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670596177;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=gqAwn1UNcuQHA5bjRmQJJ7JE2Ha6t/5XvnErAYxVWkw=;
  b=fAUP/3dTglUJLQ5VIMyckeGa2u2vCTiMmFnbqTo6taPpWDpJsGqmj64w
   UPBDTJ4XMke34dB6GmRbSPJoikViE7mT22Ipl21uzSz+p4v3WF9cM/QOM
   KLEC8nUytcTKaZeCcdV9Rpkr00B2kMaX7V0pwu1yw6EEcjiqnO7PUbAJG
   U=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87953843
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:i1wGj6wZRexr9ticW1R6t+dfwSrEfRIJ4+MujC+fZmUNrF6WrkVUn
 zBKWjiCPqyMNjSgfdh2PdjnoBlUuZHVyYJmHVFu+yAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPaET5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KThSy
 v4mMD0DVD6oqN6Lx6u+Wvdej+12eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKQOHWjOX9OYH46tO6umnn4dSwesF+PrLA7y2PS0BZwwP7mN9+9ltmiFZoEwx3I+
 jmuE2LRLyAANpvA0WK8yyjvr7T0sgXpf781G+jtnhJtqALKnTFCYPEMbnO+qOW5i0OjHcpYK
 lYV9zAGqak0/VasCNL6WnWQu2KJsBcaXJxLD+Qw5QWJy6zVyxaYAmkCXnhKb9lOnMYySCxs3
 FKPmd7kLThutrSPTjSa7Lj8hSy2ETgYKykFfyBsZQwB7tr4vJAojjrAS99iFOi+ididMTTxw
 D3MrC86grgIpcoK0ayh+hbAmT3EjprGVAku/S3MQ3moqAh+YeaNd4GurFTW8/tEBIKYVUWa+
 mgJnY6Z9u9mJY+MjiGWQKMOAbSg/d6BMTvVm1kpGIMunxy252SqYYdLpT1zOm9uKoMAeCT1e
 wnXuAVY/pgVO2GlBYdpYoS6BsI2i6f9FMj5Uez8attIa4J2Mgid80lGZ1OU3m3ruFghl+c4I
 5jzTCq3JS9EU+I9lmPwHrpDl+9wrswj+Y/Nbcnn8BaZybeQXlC+Zos4N0KLfv4L5YrR9W057
 O1jH8eNzhxeVsj3bS/W7ZMfIDg2EJQrOXzlg5cJL7Dee2KKDElkUqaMmu15J+SJiowPzo/1E
 meBtli0IbYVrVnOMk20Z39qc9sDtr4v/CtgbUTA0btFskXPgLpDDo9FL/PbnpF9roSPKMKYq
 NFbE/hs+twVFlz6F801NPERVrBKehWxnh6pNCG4ejU5dJMIb1WXpYe5JFezrHhUVXPfWS4CT
 1qIj1KzfHb+b146UJa+hAyHkDtdQkTxaMotBhCVc7G/iW3n8ZRwKjyZsxPEC5hkFPk3/RPDj
 1z+KU5B9YHwT3odrIGhaVas8934TIOT3yNyQwHm0FpBHXWDpDL4m98aCr3gkPK0fDqcxZhOr
 N59l5nUWMDrVn4Q22agO96HFZ4D2uY=
IronPort-HdrOrdr: A9a23:wPD6PaNxIs0BLsBcTtCjsMiBIKoaSvp037BL7TETdfUxSKfzqy
 nAppkmPGDP+VQssR0b9exoW5PhfZq/z/BICOAqVN+ftWLd2VdAQrsM0WLq+UyEJxHD
X-IronPort-AV: E=Sophos;i="5.96,230,1665460800"; 
   d="scan'208";a="87953843"
Date: Fri, 9 Dec 2022 14:29:30 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
CC: <xen-devel@lists.xen.org>, Juergen Gross <jgross@suse.com>, Julien Grall
	<julien@xen.org>, Vincent Guittot <vincent.guittot@linaro.org>,
	<stratos-dev@op-lists.linaro.org>, Alex =?iso-8859-1?Q?Benn=E9e?=
	<alex.bennee@linaro.org>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>, Mike Holmes
	<mike.holmes@linaro.org>, Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH V7 3/3] docs: Add documentation for generic virtio devices
Message-ID: <Y5NGSknKmbeX4hCZ@perard.uk.xensource.com>
References: <cover.1670396758.git.viresh.kumar@linaro.org>
 <7376c617d457ffd402cd6518a7fd6c71552e9ec8.1670396758.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <7376c617d457ffd402cd6518a7fd6c71552e9ec8.1670396758.git.viresh.kumar@linaro.org>

On Wed, Dec 07, 2022 at 12:50:44PM +0530, Viresh Kumar wrote:
> +=item B<virtio=[ "VIRTIO_DEVICE_STRING", "VIRTIO_DEVICE_STRING", ...]>
> +
> +Specifies the Virtio devices to be provided to the guest.
> +
> +Each B<VIRTIO_DEVICE_STRING> is a comma-separated list of C<KEY=VALUE>
> +settings from the following list:

We should probably say something about allowing a comma in the VALUE for
"type" when the value starts with "virtio," as otherwise it might be
confusing.

> +
> +=over 4
> +
> +=item B<backend=domain-id>
> +
> +Specifies the backend domain name or id, defaults to dom0.
> +
> +=item B<type=STRING>
> +
> +Specifies the compatible string for the specific Virtio device. The same will be
> +written in the Device Tree compatible property of the Virtio device. For
> +example, "type=virtio,device22" for the I2C device, whose device-tree binding is
> +present here:
> +
> +L<https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml>
> +
> +=item B<transport=STRING>
> +
> +Specifies the transport mechanism for the Virtio device, like "mmio" or "pci".

"pci" doesn't exist, only "mmio" is allowed here at the moment. We can
change the man page later when new options become available.


Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 14:55:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 14:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.457991.715908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3emD-0003GX-69; Fri, 09 Dec 2022 14:55:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 457991.715908; Fri, 09 Dec 2022 14:55:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3emD-0003GQ-23; Fri, 09 Dec 2022 14:55:01 +0000
Received: by outflank-mailman (input) for mailman id 457991;
 Fri, 09 Dec 2022 14:55:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PKE6=4H=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p3emB-0003GK-P2
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 14:55:00 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (unknown
 [40.107.13.70]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72b5fb8c-77d1-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 15:54:57 +0100 (CET)
Received: from FR3P281CA0117.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::8) by
 DU0PR08MB7413.eurprd08.prod.outlook.com (2603:10a6:10:351::14) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5924.6; Fri, 9 Dec 2022 14:54:25 +0000
Received: from VI1EUR03FT042.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:a3:cafe::be) by FR3P281CA0117.outlook.office365.com
 (2603:10a6:d10:a3::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.6 via Frontend
 Transport; Fri, 9 Dec 2022 14:54:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT042.mail.protection.outlook.com (100.127.144.197) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.17 via Frontend Transport; Fri, 9 Dec 2022 14:54:24 +0000
Received: ("Tessian outbound b4aebcc5bc64:v130");
 Fri, 09 Dec 2022 14:54:24 +0000
Received: from 3f0252410883.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 5691A364-8466-49D6-9EE7-64BB401DA299.1; 
 Fri, 09 Dec 2022 14:54:18 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3f0252410883.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 09 Dec 2022 14:54:18 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU0PR08MB7907.eurprd08.prod.outlook.com (2603:10a6:10:3b1::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.5; Fri, 9 Dec
 2022 14:54:15 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%8]) with mapi id 15.20.5880.011; Fri, 9 Dec 2022
 14:54:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72b5fb8c-77d1-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=78c1wG4uplDxYWQLr0+YBgFMcaN+fyaaegvG9XZy9dc=;
 b=JOZP+bwVB8HAsC8plAGkeUlnjRkBZj7WFNift7ODbTe/fQhyUCF+na23IM2u6fqf/WTsjpvsTDk0JtfD1S2bU9dnNlkj/mgnEPWrs3empD69W73Bs2yYQGAqiFZ71EU51LaYpt168KVFpv6y0xJAGRevWjMo0Htr+1du3peW+iw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UmaArlC2T+hGeAzDuXUrZyEwt0AA02hQPEtBi7mCUDF6x58toXcfhSLe/de30vOMKp+/ALpSsU9cCkvR/xJ0xz0btYpF0gBdNgNk0DIZU/+wRu15+0uhoKHgUbZ8G+qz+Sbs5BtQU7MATZjnykbNcOzQotPlNiU7V+447YxQvjkmQlYm5dSWCP4U1jb9WaSgdlO2j7tY93eAhjgpcyySnz2UTZYS22GMkZGR6rVzdJpNsRxCZwI7CLvGkx6ba/BRGdC1dZ5Fh+R72i1BPxb4TmyF/YqcaUKyoDCCtDGkTj4HH2xqYIpZcYm4fRPeKPE1tV25Dk+zyQ1v5zzXqGOQzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=78c1wG4uplDxYWQLr0+YBgFMcaN+fyaaegvG9XZy9dc=;
 b=YWRIH/oW6shd9CGB+6MnNI+geT6KkoC3Jy86kP6+GaIkpMA3w6emAD+RGgL0u2+WTY5Bjm5L4nYlK0vyF+BgsfpDnRrJvXn1cCQZqVzh8Dg8AtcSVx+/LdqOm9U9LvXa8U0gCumgBJoVj0/+fhj728Cd8w5YmSltGJG4zbuRV9ECyWzXHGlEM6WDZIkFQTtbnH9MfonjfC4s7Su4JlJjmFnO1R1M9+wjK4D+na217K3u8ArS1p92yUfb2CANuQmbKG8u7zAoWgyNdLxn9pxwcljO4IajvJHuny9QzDJm33cBIRrArDzgIhp1R8+mR24facfXJ9dIvBxsV1q0UfuLwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=78c1wG4uplDxYWQLr0+YBgFMcaN+fyaaegvG9XZy9dc=;
 b=JOZP+bwVB8HAsC8plAGkeUlnjRkBZj7WFNift7ODbTe/fQhyUCF+na23IM2u6fqf/WTsjpvsTDk0JtfD1S2bU9dnNlkj/mgnEPWrs3empD69W73Bs2yYQGAqiFZ71EU51LaYpt168KVFpv6y0xJAGRevWjMo0Htr+1du3peW+iw=
From: Henry Wang <Henry.Wang@arm.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>, Julien Grall
	<julien@xen.org>, Jan Beulich <jbeulich@suse.com>
CC: Ard Biesheuval <ardb@kernel.org>,
	=?iso-8859-1?Q?Marek_Marczykowski-G=F3recki?=
	<marmarek@invisiblethingslab.com>, Xen developer discussion
	<xen-devel@lists.xenproject.org>
Subject: RE: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
Thread-Topic: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
Thread-Index: AQHZCuISzshQ7NkOqUOBoTPM3AzEWa5jro+ggACa+wCAAOKJ4IAAXuWAgAAa1HA=
Date: Fri, 9 Dec 2022 14:54:15 +0000
Message-ID:
 <AS8PR08MB79916F9F373BAC3D805B63FB921C9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References:
 <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
 <9c1e3cc3-e0b4-6ca5-087b-55117b45db80@suse.com>
 <AS8PR08MB7991E4EE490EC8B028BB1D2F921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <5ce98ff4-6b7d-2254-d755-a68fc3ac67b4@xen.org>
 <AS8PR08MB7991A81EEEC33451800CAF97921C9@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <Y5M1D4w44uIddxNn@itl-email>
In-Reply-To: <Y5M1D4w44uIddxNn@itl-email>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 20F23E320505CE448C4D3A413453AD19.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU0PR08MB7907:EE_|VI1EUR03FT042:EE_|DU0PR08MB7413:EE_
X-MS-Office365-Filtering-Correlation-Id: 82b9957b-fe60-4049-d587-08dad9f54343
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 b/jeSfqoKJtacdsjrR07brfm+IN1CBdcsupRA4zCgVXYiZeOFrHdTS26rhzwdx9lLK2fNg/Q1v1u7C0y84xPn8qH2w9mmOixFEhAWj5R+XhPrloqOQm+vK2Vnm5REhhyxKdaTdA65RL8xOFwa5fMTk/W2IvbXmcYxkFRBh4Z3c0Fquh3B5AgI2Sd+oabQnwkF2fP60/Tq06mG15HTsKwl1R8tUy+7LwHmnEj3lyW7Rzn/YkxbCYbdfK5khvczQDvZg5KTFknkcHPAUo7PmrpXvThWkLkjVXLFhxnqmxtEMZfssFXPZ0KxuYO6dcYjwWWkWvhl3F6hPuW+AyxJBHYudXyA8xRJXIELsgMKPUDvMQM8WRkxlZBhL8cXpKNclNQCmUGb2FipUwoOndXNvV31e1fRMl7p+Y8xnnERQcbFCfvUWO60QNSNinJG6dmcpso4Nqe9k9pbB+tfJq2zqy7bWV4uIxkBc0NXdS1ol45kjM8P89TdXaHi/z0HTzraiulBgdMYbtZNjAXhsOhbmDYhXeSUMnBjw9TGqoVBQ/ijDNcAkepcTp7lpfzpD5J0UATWufueci5LPhj8CROfQCo410ZzGA86yXzieWx5nGuRTfc3wSYp39VBc2oJo5CbGoPeTczyFhRZMsFi3utfj2eMgMsoRVNtH0D7ynMboXutXUInijDd8g0WESq7MEZ97pddp4+5Fmo886W2lteNVlLDQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(396003)(376002)(366004)(39860400002)(346002)(451199015)(55016003)(71200400001)(316002)(110136005)(54906003)(38070700005)(33656002)(86362001)(38100700002)(122000001)(186003)(26005)(7696005)(6506007)(9686003)(66476007)(66946007)(8676002)(52536014)(8936002)(64756008)(4326008)(66556008)(76116006)(2906002)(5660300002)(66446008)(478600001)(83380400001)(41300700001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7907
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VI1EUR03FT042.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	47bea45d-ec8d-4caa-8342-08dad9f53e1f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MdpUcw1WDw/b1LxW8/V8SeqyNMaZ/xRGeRjysIQ8mR1039nNoRXmxdk+YEnUHDmAcsDLyXondKZBAW08HpfgtR7FAJ9XzCu8zO+5AMQEI3u2RJI5zXNep66G0E6EUtXwUVEt8CQxOB6PBL0atFHEuVt/wL1ogiHsPuon0IHJXN8auFNBZigt6VW1ldFJm2hZyJ0xzDWXO7WTC1bfZkadU36kc6SsSgmhxhupB2EhIqUlqcyMw30hRPJq/EajV0GIocoBmVsyEq3uFaXwOANDTBD4vo8DGVsxjZN/NvbcMnyzEf2o0Jts68AD/8Rq7NizQfsek4BCMEAYDvdASiT430m1uhIslEAd9Iswqdm/XeYutXHG2UakiXEGxRQ8+FelFevkAmFv7Q9YXVxmlYNRyZYi9SPN4JKxAVnBwP/irznDGsdbF5CppzmvgYjVMkd8dy7adyOmq4xBoErRRtxdEJmv58fzF6UTaOwJw/93EDSbqRSMYDvLSNmnmm+4lBtsu4LCVawArAafgWgHXE+J46Uck3iTfIkg11nVeCn9g4a241nxt8yEcCuCkb4woiCU9A9A4g+Z2dWGILg53BaOmL79lTzacskcgV98xrtj+or/kwr5nGyZyTidbTdnKtimtk/R1DSdCVfzuqcaEJdZ2yvxqdLkelZGa+QfK8u8kpuZtmWeTZlB4NzIAyHpbZRdgN2NU0Wz2iRuSK0iU3d+Wg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(39860400002)(346002)(376002)(451199015)(46966006)(40470700004)(36840700001)(36860700001)(2906002)(83380400001)(40460700003)(41300700001)(70586007)(70206006)(336012)(86362001)(55016003)(33656002)(40480700001)(81166007)(9686003)(316002)(186003)(26005)(356005)(82740400003)(82310400005)(52536014)(8936002)(47076005)(5660300002)(4326008)(8676002)(478600001)(110136005)(54906003)(6506007)(7696005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2022 14:54:24.3986
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 82b9957b-fe60-4049-d587-08dad9f54343
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VI1EUR03FT042.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7413

Hi,

> -----Original Message-----
> From: Demi Marie Obenour <demi@invisiblethingslab.com>
> Subject: Re: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
>=20
> On Fri, Dec 09, 2022 at 07:37:53AM +0000, Henry Wang wrote:
> > Hi Julien,
> >
> > > -----Original Message-----
> > > From: Julien Grall <julien@xen.org>
> > > Subject: Re: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
> > >
> > > Hi,
> > >
> > > >>> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> > > >>
> > > >> Acked-by: Jan Beulich <jbeulich@suse.com>
> > > >>
> > > >>> Should this be included in 4.17?  It is a bug fix for a feature n=
ew to
> > > >>> 4.17, so I suspect yes, but it is ultimately up to Henry Wang.  T=
he code
> > > >>> is identical to v2, but I have improved the commit message.
> > > >>
> > > >> It may be too late now, looking at the state of the tree. Henry, J=
ulien?
> > > >
> > > > Like I said in v2, I don't object the change if you would like to i=
nclude
> this
> > > patch
> > > > to 4.17, so if you are sure this patch is safe and want to commit i=
t, feel
> free
> > > to add:
> > > >
> > > > Release-acked-by: Henry Wang <Henry.Wang@arm.com>
> > > >
> > > > Since we also need to commit:
> > > > "[PATCH for-4.17] SUPPORT.md: Define support lifetime" so from my
> side
> > > > I am no problem. Julien might have different opinion though, if Jul=
ien
> > > object
> > > > the change I would like to respect his opinion and leave this patch
> > > uncommitted.
> > >
> > > I have committed it after SUPPORT.md. So if for some reasons we are
> seen
> > > any issues with Osstest, then I can tag the tree without this patch
> >
> > This is a great solution :)
> >
> > > (that said, I would rather prefer if we have staging-4.17 =3D=3D stab=
le-4.17).
> >
> > Looks like now staging-4.17 =3D=3D stable-4.17 now, with this patch pus=
hed.
> > So we are ready to tag.
>=20
> And it turns out that I botched the initial patch, sorry.  (I forgot to
> handle the multiboot2 case.)
>=20
> I understand if it is too late for stable-4.17, but it ought to make
> stable 4.17.1 as it was simply omitted from the initial patch series.

I don't think this patch will make it today so I would suggest we still fol=
low
what Julien planned yesterday. Also I think this is also consistent with th=
e
release management guideline.

Kind regards,
Henry


> --
> Sincerely,
> Demi Marie Obenour (she/her/hers)
> Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 15:43:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 15:43:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458017.715919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3fWo-00016R-P1; Fri, 09 Dec 2022 15:43:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458017.715919; Fri, 09 Dec 2022 15:43:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3fWo-00016K-Lm; Fri, 09 Dec 2022 15:43:10 +0000
Received: by outflank-mailman (input) for mailman id 458017;
 Fri, 09 Dec 2022 15:43:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3fWm-00016A-GP; Fri, 09 Dec 2022 15:43:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3fWm-0005I1-D5; Fri, 09 Dec 2022 15:43:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3fWl-0007Dg-VR; Fri, 09 Dec 2022 15:43:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3fWl-000874-V1; Fri, 09 Dec 2022 15:43:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=o0i2VI2Lysf2Q1qeAspJ59CW3aPv6Lh4bpmZBCEafZU=; b=6XXAvcRRRzwGOJhYpHRwhChbaA
	V0H3WvGN5VHeKLFiH7EApcvQMzhqtJHrjfpliEdn4vS3YJ/dsJtoYhQ9R0AYypxYE7IQdDLK+E94q
	q0hoFn615PtScYTnLK+wz5BmSRbzXmGelpthFtlCsMj+eEcvkNq/JDxVMUB8SEGugw2A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175104-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175104: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=db92cb450dd7ad5eb103819d26b737cdc054ce4a
X-Osstest-Versions-That:
    xen=af50d9be4358f26c459459eeaa3f6a1a66821738
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 09 Dec 2022 15:43:07 +0000

flight 175104 xen-unstable real [real]
flight 175125 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175104/
http://logs.test-lab.xenproject.org/osstest/logs/175125/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail pass in 175125-retest
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail pass in 175125-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail in 175125 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175091
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175091
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175091
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175091
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175091
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175091
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175091
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175091
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175091
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175091
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175091
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175091
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  db92cb450dd7ad5eb103819d26b737cdc054ce4a
baseline version:
 xen                  af50d9be4358f26c459459eeaa3f6a1a66821738

Last test of basis   175091  2022-12-08 10:18:12 Z    1 days
Testing same since   175104  2022-12-08 23:09:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   af50d9be43..db92cb450d  db92cb450dd7ad5eb103819d26b737cdc054ce4a -> master


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 15:59:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 15:59:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458054.715934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3fmL-0003Dq-CH; Fri, 09 Dec 2022 15:59:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458054.715934; Fri, 09 Dec 2022 15:59:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3fmL-0003Dj-8H; Fri, 09 Dec 2022 15:59:13 +0000
Received: by outflank-mailman (input) for mailman id 458054;
 Fri, 09 Dec 2022 15:59:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3fmJ-0003DZ-UO; Fri, 09 Dec 2022 15:59:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3fmJ-0005ZC-Rt; Fri, 09 Dec 2022 15:59:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3fmJ-0007gE-Ew; Fri, 09 Dec 2022 15:59:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3fmJ-0006dm-EV; Fri, 09 Dec 2022 15:59:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aB6I3Wrd/4OouQWjhdEi5vnG2sroMjPOj/TwKfsPy7Y=; b=UMz0WKeOQEIvSzFQ0W5ZPYFd+V
	/I6eRCNZEyr9BmkdwGeejaiJXjU6cejKOHgCEwZQNYKrBQyVbiYk04cxdl8JAv3/pblAu+dx2iCNT
	VekoD9hYBwYhehAeSeqpP7eWTB4dydXYCQp76w/e2f2SfLa10FHqjlH19qned339Hvtk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175124-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175124: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=1ef86f12014c19e7bd6b2f008e868c61b5c71878
X-Osstest-Versions-That:
    ovmf=127e2c531556b968a51e8e2191d6e4580281856a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 09 Dec 2022 15:59:11 +0000

flight 175124 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175124/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 1ef86f12014c19e7bd6b2f008e868c61b5c71878
baseline version:
 ovmf                 127e2c531556b968a51e8e2191d6e4580281856a

Last test of basis   175119  2022-12-09 07:10:49 Z    0 days
Testing same since   175124  2022-12-09 14:10:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   127e2c5315..1ef86f1201  1ef86f12014c19e7bd6b2f008e868c61b5c71878 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 16:08:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 16:08:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458072.715945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3fuz-0005U0-7B; Fri, 09 Dec 2022 16:08:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458072.715945; Fri, 09 Dec 2022 16:08:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3fuz-0005Tt-4Q; Fri, 09 Dec 2022 16:08:09 +0000
Received: by outflank-mailman (input) for mailman id 458072;
 Fri, 09 Dec 2022 16:08:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nv8v=4H=citrix.com=prvs=3352c5006=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p3fux-0005Tn-TZ
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 16:08:08 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9505c5d-77db-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 17:08:06 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9505c5d-77db-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670602085;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=BmGli1nmTWtP+prgNssGNcPwYUcGh6LI4FNlNAJTUbY=;
  b=gU4r1U121ZnfiXRKoetbYnptO2VWDDf0wx3QjBxtShmZupGLxsj9zXaP
   OsiwazA2UWtt3bfi3GFufFoDYFs0B7ksrMfW0S5x6mKvzX2KROg1w7BIj
   wqRh/KNCdevZc5r9BGksrHzg2lOUxQNTPTkDl4NvVorpYDnX2TNzmHTH6
   8=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 86573007
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:usqSC6hYoc7yQurk3OAxNl7SX161gBAKZh0ujC45NGQN5FlHY01je
 htvDTuPb/mCZzPzctpyPIuw9E0EvJTQxtRmTgo5pCwzESgb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5gePzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tRDKWgUYE2qrN63yb/hQ8l2iZkSBvXCadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJagx/5JEWxY9EglH2dSFYr1SE47I6+WHJwCR60aT3McqTcduPLSlQthbG+
 z2dpzymav0cHOWFzyqlwEz3uuPeozPHAqdOKuSo9tc/1TV/wURMUUZLBDNXu8KRrlO1UpRxI
 kof9y4qsIA77kntRd74NzWnpFaUsxhaXMBfe8U45xuK0bH8+BuCCy4PSTspQN47sM47QxQ62
 1nPmMnmbRRxsb6PQHfb+b6OrSy7PQAcKGNEbigBJSMV7t+mrIwtgxbnStd4DLXzntDzASv3w
 T2BsG45nbp7pdUQy6yx8FTDgjStjpvEVAg44kPQRG3N0+9iTNf7PcryswGdtKseatbCJrWcg
 JQas5OftPkAULimqC2ETb8EPKumusevDBSJ1DaDAKId3ziq/neie6VZ7zd/OFplP644RNP5X
 KPAkVgPvcEOZRNGeYcyOtvsUJpykcAMAPy/Dpjpgsxyjo+dneNt1AVnfgau0m/kiyDAeolva
 M7AIa5A4Zv3YJmLLQZapc9HidfHJQhknws/oKwXKDz5uYdynFbPFd843KKmN4jVFp+srgTP6
 Mp4PMCX0RhZW+CWSnCJrtZOdwxWdSlhXsmeRylrmgmre1sOJY3cI6WJneNJl3JNwMy5adskD
 lniAxQFmTITdFXMKBmQa2ALVV8cdc8XkJ7PBgR1ZQzA8yF6Me6SAFI3K8NfkU8PqLYykpaZj
 pAtJ629Pxi4YmieoWxGN8mn9tcKmdbCrVvmAhdJqQMXJ/ZILzElMPe9Fucz3EHi1haKiPY=
IronPort-HdrOrdr: A9a23:vgX6Ya8hiLmywW0JFNluk+DeI+orL9Y04lQ7vn2ZHyYlF/Bw8P
 re+8jztCWE7gr5PUtKpTnuAsa9qB/nlaKdn7NhWYtKLTOJhILAFugLgbcKqAeAJ8SRzJ8/6U
 8dGZIOauEZRTBB5/oTqmGDfuod/A==
X-IronPort-AV: E=Sophos;i="5.96,230,1665460800"; 
   d="scan'208";a="86573007"
Date: Fri, 9 Dec 2022 16:07:49 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Vikram Garhwal <vikram.garhwal@amd.com>
CC: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>, <Luca.Fancellu@arm.com>, Wei Liu <wl@xen.org>, "Juergen
 Gross" <jgross@suse.com>
Subject: Re: [XEN][RFC PATCH v4 14/16] tools/libs/ctrl: Implement new xc
 interfaces for dt overlay
Message-ID: <Y5NdVZZu/BYS/W6m@perard.uk.xensource.com>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
 <20221207061815.7404-8-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20221207061815.7404-8-vikram.garhwal@amd.com>

On Tue, Dec 06, 2022 at 10:18:13PM -0800, Vikram Garhwal wrote:
> diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
> index 0c8b4c3aa7..a71bc0bb1d 100644
> --- a/tools/include/xenctrl.h
> +++ b/tools/include/xenctrl.h
> @@ -2633,6 +2633,9 @@ int xc_livepatch_replace(xc_interface *xch, char *name, uint32_t timeout, uint32
>  int xc_domain_cacheflush(xc_interface *xch, uint32_t domid,
>                           xen_pfn_t start_pfn, xen_pfn_t nr_pfns);
>  
> +int xc_dt_overlay(xc_interface *xch, void *overlay_fdt,
> +                  uint32_t overlay_fdt_size, uint8_t overlay_op);
> +

Since xc_dt_overlay.c is only built on CONFIG_ARM=y, could you enclose
that prototype in "#if defined(__arm__) || defined(__aarch64__)"?

>  /* Compat shims */
>  #include "xenctrl_compat.h"
>  
> diff --git a/tools/libs/ctrl/Makefile.common b/tools/libs/ctrl/Makefile.common
> index 0a09c28fd3..247afbe5f9 100644
> --- a/tools/libs/ctrl/Makefile.common
> +++ b/tools/libs/ctrl/Makefile.common
> @@ -24,6 +24,7 @@ OBJS-y       += xc_hcall_buf.o
>  OBJS-y       += xc_foreign_memory.o
>  OBJS-y       += xc_kexec.o
>  OBJS-y       += xc_resource.o
> +OBJS-$(CONFIG_ARM)  += xc_dt_overlay.o
>  OBJS-$(CONFIG_X86) += xc_psr.o
>  OBJS-$(CONFIG_X86) += xc_pagetab.o
>  OBJS-$(CONFIG_Linux) += xc_linux.o
> diff --git a/tools/libs/ctrl/xc_dt_overlay.c b/tools/libs/ctrl/xc_dt_overlay.c
> new file mode 100644
> index 0000000000..325c9ef4c0
> --- /dev/null
> +++ b/tools/libs/ctrl/xc_dt_overlay.c
> +#include "xc_bitops.h"
> +#include "xc_private.h"
> +#include <xen/hvm/hvm_op.h>
> +#include <libfdt.h>

Why all these headers? "xc_private.h" seems sufficient.
There isn't any bitmap operation, so xc_bitops.h seems unused.
The device tree isn't manipulated so libfdt.h seems unused.
hvm_op.h seems to be for HVMOP, not SYSCTL hypercall, xc_private.h might
already include the right header to do SYSCTL.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 16:44:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 16:44:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458091.715956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3gTj-00025N-Vh; Fri, 09 Dec 2022 16:44:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458091.715956; Fri, 09 Dec 2022 16:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3gTj-00025G-Ro; Fri, 09 Dec 2022 16:44:03 +0000
Received: by outflank-mailman (input) for mailman id 458091;
 Fri, 09 Dec 2022 16:44:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3gTi-000256-MC; Fri, 09 Dec 2022 16:44:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3gTi-0007CM-Jc; Fri, 09 Dec 2022 16:44:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3gTi-0001JM-7j; Fri, 09 Dec 2022 16:44:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3gTi-0007vl-7G; Fri, 09 Dec 2022 16:44:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ivoM9NKBlGO1cCCUaCqYUh8UI+qLJRLFESAs+9UYL0Q=; b=Vbe0zPjTLknDsXLJc4dioy2Slk
	TW12ZIW3jTiVmSvjqZFLKEb7LdeiVuQTvtFlUaXd89LsqH3gH1QaJdTnFpphYAEHCiCXKs7WW5ivS
	3co96oOIQUvF7t6I/tbruqvjXhLbWkXmiYShzcHXhEdGqIMtYDSozmbSUZ6nxEbM3wuY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175106-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175106: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:regression
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=316cdfc48d4db2c425370ef8575dd7d81283515d
X-Osstest-Versions-That:
    linux=4d2a309b5c28a2edc0900542d22fec3a5a22243b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 09 Dec 2022 16:44:02 +0000

flight 175106 linux-5.4 real [real]
flight 175127 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175106/
http://logs.test-lab.xenproject.org/osstest/logs/175127/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 175092 REGR. vs. 174962

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 175092 pass in 175106
 test-armhf-armhf-xl 18 guest-start/debian.repeat fail in 175092 pass in 175106
 test-armhf-armhf-xl-vhd      13 guest-start      fail in 175092 pass in 175106
 test-armhf-armhf-xl-credit2  14 guest-start      fail in 175092 pass in 175106
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 175092

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 174962

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail blocked in 174962
 test-armhf-armhf-xl-credit1  14 guest-start         fail in 175092 like 174962
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 175092 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 175092 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 174962
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 174962
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 174962
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 174962
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 174962
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 174962
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 174962
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 174962
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 174962
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 174962
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 174962
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 174962
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 174962
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                316cdfc48d4db2c425370ef8575dd7d81283515d
baseline version:
 linux                4d2a309b5c28a2edc0900542d22fec3a5a22243b

Last test of basis   174962  2022-11-25 17:13:53 Z   13 days
Testing same since   175092  2022-12-08 10:44:18 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adrian Hunter <adrian.hunter@intel.com>
  Al Viro <viro@zeniv.linux.org.uk>
  Alejandro Concepcion-Rodriguez <asconcepcion@acoro.eu>
  Alejandro Concepción Rodríguez <asconcepcion@acoro.eu>
  Alessandro Astone <ales.astone@gmail.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexandre Belloni <alexandre.belloni@bootlin.com>
  Allen Pais <apais@linux.microsoft.com>
  Aman Dhoot <amandhoot12@gmail.com>
  Anand Jain <anand.jain@oracle.com>
  Andreas Kemnade <andreas@kemnade.info>
  Andrew Davis <afd@ti.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Andrzej Hajda <andrzej.hajda@intel.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Bjørn Mork <bjorn@mork.no>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Brian Norris <briannorris@chromium.org>
  Carlos Llamas <cmllamas@google.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chen Zhongjin <chenzhongjin@huawei.com>
  ChenXiaoSong <chenxiaosong2@huawei.com>
  Christian Brauner <christian.brauner@ubuntu.com>
  Christian König <christian.koenig@amd.com>
  Christian Loehle <cloehle@hyperstone.com>
  Christian Löhle <CLoehle@hyperstone.com>
  Christoph Hellwig <hch@lst.de>
  Claudio Suarez <cssk@net-c.es>
  Claudiu Beznea <claudiu.beznea@microchip.com>
  Conor Dooley <conor.dooley@microchip.com>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Ahern <dsahern@kernel.org>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Detlev Casanova <detlev.casanova@collabora.com>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominik Haller <d.haller@phytec.de>
  Dominique Martinet <asmadeus@codewreck.org>
  Duoming Zhou <duoming@zju.edu.cn>
  Enrico Sau <enrico.sau@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Fabio Estevam <festevam@gmail.com>
  Felix Kuehling <Felix.Kuehling@amd.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Frieder Schrempf <frieder.schrempf@kontron.de>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  Gleb Mazovetskiy <glex.spb@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guantao Liu <guantaol@google.com>
  Guenter Roeck <linux@roeck-us.net>
  Haibo Chen <haibo.chen@nxp.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil@xs4all.nl>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hugh Dickins <hughd@google.com>
  Hulk Robot <hulkrobot@huawei.com>
  Ido Schimmel <idosch@nvidia.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jaco Coetzee <jaco.coetzee@corigine.com>
  Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
  Jakub Kicinski <kuba@kernel.org>
  James Morse <james.morse@arm.com>
  Jan Dabros <jsd@semihalf.com>
  Jann Horn <jannh@google.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jernej Skrabec <jernej.skrabec@gmail.com>
  Jerry Ray <jerry.ray@microchip.com>
  Joanne Koong <joannelkoong@gmail.com>
  Joerg Roedel <jroedel@suse.de>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jon Maloy <jmaloy@redhat.com>
  Jonas Gorski <jonas.gorski@gmail.com>
  Jonas Jelonek <jelonek.jonas@gmail.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Juergen Gross <jgross@suse.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Keith Busch <kbusch@kernel.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lars-Peter Clausen <lars@metafoo.de>
  Lee Jones <lee@kernel.org>
  Leon Romanovsky <leonro@nvidia.com>
  Lin Ma <linma@zju.edu.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luben Tuikov <luben.tuikov@amd.com>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Lukas Wunner <lukas@wunner.de>
  Lyude Paul <lyude@redhat.com>
  Marc Dionne <marc.dionne@auristor.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Mark Brown <broonie@kernel.org>
  Martin Faltesek <mfaltesek@google.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Masahiro Yamada <yamada.masahiro@socionext.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Matt Ranostay <matt.ranostay@konsulko.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Maxim Korotkov <korotkov.maxim.s@gmail.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michael Kelley <mikelley@microsoft.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Snitzer <snitzer@kernel.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Mitja Spes <mitja@lxnav.com>
  Moshe Shemesh <moshe@nvidia.com>
  Mukesh Ojha <quic_mojha@quicinc.com>
  Nathan Chancellor <nathan@kernel.org>
  Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
  Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
  Nikolay Aleksandrov <razor@blackwall.org>
  Nikolay Borisov <nborisov@suse.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Patrick Rudolph <patrick.rudolph@9elements.com>
  Paul Gazzillo <paul@pgazz.com>
  Paul Moore <paul@paul-moore.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Peter Kosyh <pkosyh@yandex.ru>
  Peter Oberparleiter <oberpar@linux.ibm.com>
  Peter Zijlstra <peterz@infradead.org>
  Phil Auld <pauld@redhat.com>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Quentin Schulz <quentin.schulz@theobroma-systems.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Randy Dunlap <rdunlap@infradead.org> # build-tested
  Rishabh Bhatnagar <risbhat@amazon.com>
  Rob Herring <robh@kernel.org>
  Roi Dayan <roid@nvidia.com>
  Roman Penyaev <rpenyaev@suse.de>
  ruanjinjie <ruanjinjie@huawei.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Samuel Holland <samuel@sholland.org>
  Sasha Levin <sashal@kernel.org>
  Sean Nyekjaer <sean@geanix.com>
  Sebastian Falbesoner <sebastian.falbesoner@gmail.com>
  Sergey Senozhatsky <senozhatsky@chromium.org>
  Shawn Guo <shawnguo@kernel.org>
  Shigeru Yoshida <syoshida@redhat.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Simon Ser <contact@emersion.fr>
  Soheil Hassas Yeganeh <soheil@google.com>
  Srikar Dronamraju <srikar@linux.vnet.ibm.com>
  Stefan Haberland <sth@linux.ibm.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  taozhang <taozhang@bestechnic.com>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Gleixner <tglx@linutronix.de>
  Tiezhu Yang <yangtiezhu@loongson.cn>
  Todd Kjos <tkjos@google.com>
  Tony Lindgren <tony@atomide.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vlastimil Babka <vbabka@suse.cz>
  Wang Hai <wanghai38@huawei.com>
  Wei Liu <wei.liu@kernel.org>
  Wei Yongjun <weiyongjun1@huawei.com>
  Wenchao Chen <wenchao.chen@unisoc.com>
  Willem de Bruijn <willemb@google.com>
  Xin Long <lucien.xin@gmail.com>
  Xiongfeng Wang <wangxiongfeng2@huawei.com>
  Xiubo Li <xiubli@redhat.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Ye Bin <yebin10@huawei.com>
  Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
  Yu Kuai <yukuai3@huawei.com>
  Yu Liao <liaoyu15@huawei.com>
  Yuan Can <yuancan@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Yuri Karpov <YKarpov@ispras.ru>
  Zeng Heng <zengheng4@huawei.com>
  Zhang Changzhong <zhangchangzhong@huawei.com>
  ZhangPeng <zhangpeng362@huawei.com>
  Zhen Lei <thunder.leizhen@huawei.com>
  Zheng Yongjun <zhengyongjun3@huawei.com>
  Zhengchao Shao <shaozhengchao@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 4985 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 16:48:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 16:48:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458102.715967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3gY3-0002lC-MA; Fri, 09 Dec 2022 16:48:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458102.715967; Fri, 09 Dec 2022 16:48:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3gY3-0002l5-J8; Fri, 09 Dec 2022 16:48:31 +0000
Received: by outflank-mailman (input) for mailman id 458102;
 Fri, 09 Dec 2022 16:48:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iKBv=4H=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p3gY2-0002kz-0L
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 16:48:30 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d10fc3c-77e1-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 17:48:27 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 9D509320091D;
 Fri,  9 Dec 2022 11:48:24 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Fri, 09 Dec 2022 11:48:25 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 9 Dec 2022 11:48:23 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d10fc3c-77e1-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670604504; x=
	1670690904; bh=rwcevJsGOOu+mkfRIURBcgYHTUxPCM/K0K22OeKSv7Y=; b=p
	f2zXWh2/SPwLKZeYwU92bBX46Y59gcFBP68TgK9lDAwfW3NtQyAz8LpnyPx+tRdq
	glfbGkd37ggoFH6Jh6QlcCIFQJ9XmNQbpvdEOJLCBj4vhELqymqdyh3IU5+JA7gC
	LFrUqfVJ4ezK2b6va31uQ2mJ3xLHjIbi0eJJMhSCJy3m6zmoF7eAin4jRTC4k7F4
	nbtj0OhAFdccUQeeKp+EcWTCDQIx8WwDnjCL9P1nmAgAxh2DkLavKDl9hg0r0OVo
	KOssCXjSUX1ByQRu9Fetl3BiVGt4hTVEuiWVYc+3iBbplD8W0JVj+cx0DR4zAJHY
	FAyggPPAnfSVKCXRUnNXg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1670604504; x=1670690904; bh=rwcevJsGOOu+mkfRIURBcgYHTUxP
	CM/K0K22OeKSv7Y=; b=vcNrPlLfmbyNoP0sgWYWX6wTm1lEzNBpBNLMY8D2wqee
	+NaRYr4CuxHQDDYkO5t0cfIZmIN5WHqYvWwhuOTPrjO6J8DMJeoxWKN+wOkEUCdj
	2CrRDgaRDRIMGvAtnwGQy27bgoZ3Blsabihl4x/8KVoCCqz9M1h22KK2Srt8Y6NI
	jTRUMo4x4SKz4Lv/tXL+DRlTksWd3DeGXA26psNmFLq43qXAD5eWTD0Y7A+3CBLO
	ZIJhVD1Yyy59qyNixtdFNQKaxvdSP+2KtCwlvUpGCGk81B+O1XxxzqIE30zDjvy5
	3HP2Ok7elYUpQLcltQ2QYlKC/BZUzkoxnWIW1VrCvw==
X-ME-Sender: <xms:12aTY4XAGcCk-qpHlm24sexGIlMEnQtN7lfw4N7523a_AUFgk8Ak7A>
    <xme:12aTY8mSgAY26KIThC_Adp-K0H0qm2V6pWtK4pAtMQU6prEqTmEref10XFJVPCl1Y
    dJ4H9WBurqrFqc>
X-ME-Received: <xmr:12aTY8ZtS9-fEC8xUysLMazPNzB65q3gB7zlYweykfeQyX_1XDurrmPU8lWL>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvgdelvdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffegfffg
    uddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:12aTY3UNKQP3iIALylivbQprfU6zE3pw-28bJKbPnG5fbFdpBJZnJw>
    <xmx:12aTYymdsVQBLwvOg7NDqFWItS46QYUlz81IFfgxwWo6NBUFy-6GRg>
    <xmx:12aTY8dchZPj0VCMz-84FCC9BhXVf_EP8CVHX7itEFSJ8-cEomyktQ>
    <xmx:2GaTY0j0O8Awol2wMn1QA9BgQHsJ7uDHDcIzTVOpN8RMHBaioqQJSg>
Feedback-ID: iac594737:Fastmail
Date: Fri, 9 Dec 2022 11:48:17 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Henry Wang <Henry.Wang@arm.com>, Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>
Cc: Ard Biesheuval <ardb@kernel.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
Message-ID: <Y5Nm1bYC3GdEiNyN@itl-email>
References: <ce73ae2fa148c5d79a038275b0983d24537e97de.1665458679.git.demi@invisiblethingslab.com>
 <9c1e3cc3-e0b4-6ca5-087b-55117b45db80@suse.com>
 <AS8PR08MB7991E4EE490EC8B028BB1D2F921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <5ce98ff4-6b7d-2254-d755-a68fc3ac67b4@xen.org>
 <AS8PR08MB7991A81EEEC33451800CAF97921C9@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <Y5M1D4w44uIddxNn@itl-email>
 <AS8PR08MB79916F9F373BAC3D805B63FB921C9@AS8PR08MB7991.eurprd08.prod.outlook.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="jMGzixMHSvII9kj3"
Content-Disposition: inline
In-Reply-To: <AS8PR08MB79916F9F373BAC3D805B63FB921C9@AS8PR08MB7991.eurprd08.prod.outlook.com>


--jMGzixMHSvII9kj3
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 9 Dec 2022 11:48:17 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Henry Wang <Henry.Wang@arm.com>, Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>
Cc: Ard Biesheuval <ardb@kernel.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Xen developer discussion <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3] Use EfiACPIReclaimMemory for ESRT

On Fri, Dec 09, 2022 at 02:54:15PM +0000, Henry Wang wrote:
> Hi,
>=20
> > -----Original Message-----
> > From: Demi Marie Obenour <demi@invisiblethingslab.com>
> > Subject: Re: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
> >=20
> > On Fri, Dec 09, 2022 at 07:37:53AM +0000, Henry Wang wrote:
> > > Hi Julien,
> > >
> > > > -----Original Message-----
> > > > From: Julien Grall <julien@xen.org>
> > > > Subject: Re: [PATCH v3] Use EfiACPIReclaimMemory for ESRT
> > > >
> > > > Hi,
> > > >
> > > > >>> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> > > > >>
> > > > >> Acked-by: Jan Beulich <jbeulich@suse.com>
> > > > >>
> > > > >>> Should this be included in 4.17?  It is a bug fix for a feature=
 new to
> > > > >>> 4.17, so I suspect yes, but it is ultimately up to Henry Wang. =
 The code
> > > > >>> is identical to v2, but I have improved the commit message.
> > > > >>
> > > > >> It may be too late now, looking at the state of the tree. Henry,=
 Julien?
> > > > >
> > > > > Like I said in v2, I don't object the change if you would like to=
 include
> > this
> > > > patch
> > > > > to 4.17, so if you are sure this patch is safe and want to commit=
 it, feel
> > free
> > > > to add:
> > > > >
> > > > > Release-acked-by: Henry Wang <Henry.Wang@arm.com>
> > > > >
> > > > > Since we also need to commit:
> > > > > "[PATCH for-4.17] SUPPORT.md: Define support lifetime" so from my
> > side
> > > > > I am no problem. Julien might have different opinion though, if J=
ulien
> > > > object
> > > > > the change I would like to respect his opinion and leave this pat=
ch
> > > > uncommitted.
> > > >
> > > > I have committed it after SUPPORT.md. So if for some reasons we are
> > seen
> > > > any issues with Osstest, then I can tag the tree without this patch
> > >
> > > This is a great solution :)
> > >
> > > > (that said, I would rather prefer if we have staging-4.17 =3D=3D st=
able-4.17).
> > >
> > > Looks like now staging-4.17 =3D=3D stable-4.17 now, with this patch p=
ushed.
> > > So we are ready to tag.
> >=20
> > And it turns out that I botched the initial patch, sorry.  (I forgot to
> > handle the multiboot2 case.)
> >=20
> > I understand if it is too late for stable-4.17, but it ought to make
> > stable 4.17.1 as it was simply omitted from the initial patch series.
>=20
> I don't think this patch will make it today so I would suggest we still f=
ollow
> what Julien planned yesterday. Also I think this is also consistent with =
the
> release management guideline.

That=E2=80=99s okay.  Qubes can take this as an out of tree patch until it =
is
merged.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--jMGzixMHSvII9kj3
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOTZtUACgkQsoi1X/+c
IsFbFg//YoD5egzocgW6gmujtLUEGJzSpAkKhJJen8b8ukCCnqC6+FrCD5TEU0h4
eR9h+ujiUa0xnWDarcLc71ZTE0c4rbCUAKHj40PBstX/iokspxN9nGMXblHUFLvb
VRnKGhfn9r8vLYCHomGhQLZ5cZiaKaTQwCPeWJ6/Af/NWYKNYarhrRpHjQBSsGet
MXoKLt//7Qj1heCEM/UIWd394tpSROu11uhV8ABZjwbJbj7auFQAbFvJHUxexf59
vUEK1nrtfNBpRtC1v/a/46shn2lfvqt6ATa0s7RVZyrixnHlCvxeBnjQ605cxPrM
Uk+QP2Cb7gd4a9y4zBJ9dLG5sYS/DZTJRro3B2hrpc0VfLAZHDOBFzVgoUo3N9ib
kn+uZyVhM4xd3GyRfP/0hOYmIaDdT/9WWorv2r2yTENgZ/VbNshIiv0PamSGrkjO
T7SGzgw2cC5GKEAB1M7VNpogF7D8zXfN9F6pdTpJM22SsrejIZOMCF4lDvGAmTVJ
yCygSys8QdstOrpnwMPevmKH7Sh4kdelsxkp0XRGX7pmWjBrsgdC4Gx0Mk9xugrl
CMv1HX3bBMm5KV/1vPrxpr7VjLs7quKyIuNFpeaxs/N2BRWD4QYhksioPLxqqfMT
267fXt2kaBMKAQdjYPVjBKtOgZh7c1ZpjUotpa5pbzkwJ7jgnu4=
=8X9s
-----END PGP SIGNATURE-----

--jMGzixMHSvII9kj3--


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 16:58:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 16:58:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458112.715978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3gi4-0004UJ-P1; Fri, 09 Dec 2022 16:58:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458112.715978; Fri, 09 Dec 2022 16:58:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3gi4-0004UC-M0; Fri, 09 Dec 2022 16:58:52 +0000
Received: by outflank-mailman (input) for mailman id 458112;
 Fri, 09 Dec 2022 16:54:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=YXUj=4H=tibco.com=rlagerwall@srs-se1.protection.inumbo.net>)
 id 1p3geG-0004PJ-1G
 for xen-devel@lists.xen.org; Fri, 09 Dec 2022 16:54:56 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 33b6dba6-77e2-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 17:54:55 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id h12so5779711wrv.10
 for <xen-devel@lists.xen.org>; Fri, 09 Dec 2022 08:54:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 33b6dba6-77e2-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=hiNiRveniIWTlNkwBA6N2LNiLksGBI1cCad1zUOeWnE=;
        b=WOsgh38z6j7gFDAceqkxkSW6O6ZuyNPfjglT8VR1hJKCMHp2iR9rJ36L5TD2uKpCDz
         UbJeJDRfLK/Tff/ADrBnRbDwXXNgHd+4aHGp7Cu1gjpfR51lnPqqPfxjuZ/vdXQJLtxq
         zgzRr8DDnEPqDZ4sgH6SR7Y4HeZqh3IAz45Hg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=hiNiRveniIWTlNkwBA6N2LNiLksGBI1cCad1zUOeWnE=;
        b=2RA8PE2TdV6FcnhEOetNwhHmqLGpQ4rEs01G8yUQl8b5SVkYViQ4xEOk/oCshYGHd/
         CSfkCKsZIZMqyKfkw0d+vmZ0LuDI4icchFhssPz9FhNq/PtpVwk5uba4fV7uRNahLhR1
         VE9vW/nGImUruGZOtzIgY0G+uhEnVeoHUFkarOJ8Y+tzVvC5B661TBKoTgO7bnnrXrzg
         MQvEresZ/ZFeWMi99PaWFDeYPdvAJjGXgl2LtOxRFb2TQ5wEgbVE2qhUjkZ7H1x5EX1B
         8H9QVcHiqfjQ0hvKrlKjJFJ50HhprXWaMSkbWPK33432joZs1ahNuOkPJduq9pRht1yT
         ptMA==
X-Gm-Message-State: ANoB5pk7JpJinw60dn1P/jZ2xzEEcQ+97Vw33hk/mqPIxJuBxctuZgPu
	/OzsgUXDeSudUMpSFiqvXiSu/mWAD/3aTo0INW0D
X-Google-Smtp-Source: AA0mqf7C3IMgsXlgkMbT3SaqvkqMqsDa3dsKnjbCPyBzbfny337eZqsvVJkqMH6sfdgXpakEtCYPD6Azh09KKf1ozkk=
X-Received: by 2002:a5d:6243:0:b0:236:6b05:a8be with SMTP id
 m3-20020a5d6243000000b002366b05a8bemr55657657wrv.346.1670604892899; Fri, 09
 Dec 2022 08:54:52 -0800 (PST)
MIME-Version: 1.0
References: <E1p2ZhW-0005Xe-FG@xenbits.xenproject.org> <mafs0lenhlwcv.fsf@dev-dsk-ptyadav-1c-37607b33.eu-west-1.amazon.com>
 <e22fcdce-f029-de46-81a6-60f5ffc9c9a2@suse.com>
In-Reply-To: <e22fcdce-f029-de46-81a6-60f5ffc9c9a2@suse.com>
From: Ross Lagerwall <ross.lagerwall@cloud.com>
Date: Fri, 9 Dec 2022 16:54:41 +0000
Message-ID: <CAG7k0EpOz=X8AFw-wE-0OEA98_w77PNmVg_AE-R8mc7sBcsr9w@mail.gmail.com>
Subject: Re: Xen Security Advisory 424 v1 (CVE-2022-42328,CVE-2022-42329) -
 Guests can trigger deadlock in Linux netback driver
To: Juergen Gross <jgross@suse.com>
Cc: Pratyush Yadav <ptyadav@amazon.de>, "Xen.org security team" <security@xen.org>, xen-announce@lists.xen.org, 
	xen-devel@lists.xen.org, xen-users@lists.xen.org, 
	oss-security@lists.openwall.com, 
	"Xen.org security team" <security-team-members@xen.org>
Content-Type: text/plain; charset="UTF-8"

On Thu, Dec 8, 2022 at 4:13 PM Juergen Gross <jgross@suse.com> wrote:
>
> On 08.12.22 16:59, Pratyush Yadav wrote:
> >
> > Hi,
> >
> > I noticed one interesting thing about this patch but I'm not familiar
> > enough with the driver to say for sure what the right thing is.
> >
> > On Tue, Dec 06 2022, Xen.org security team wrote:
> >
> > [...]
> >>
> >>  From cfdf8fd81845734b6152b4617746c1127ec52228 Mon Sep 17 00:00:00 2001
> >> From: Juergen Gross <jgross@suse.com>
> >> Date: Tue, 6 Dec 2022 08:54:24 +0100
> >> Subject: [PATCH] xen/netback: don't call kfree_skb() with interrupts disabled
> >>
> >> It is not allowed to call kfree_skb() from hardware interrupt
> >> context or with interrupts being disabled. So remove kfree_skb()
> >> from the spin_lock_irqsave() section and use the already existing
> >> "drop" label in xenvif_start_xmit() for dropping the SKB. At the
> >> same time replace the dev_kfree_skb() call there with a call of
> >> dev_kfree_skb_any(), as xenvif_start_xmit() can be called with
> >> disabled interrupts.
> >>
> >> This is XSA-424 / CVE-2022-42328 / CVE-2022-42329.
> >>
> >> Fixes: be81992f9086 ("xen/netback: don't queue unlimited number of packages")
> >> Reported-by: Yang Yingliang <yangyingliang@huawei.com>
> >> Signed-off-by: Juergen Gross <jgross@suse.com>
> >> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> >> ---
> >>   drivers/net/xen-netback/common.h    | 2 +-
> >>   drivers/net/xen-netback/interface.c | 6 ++++--
> >>   drivers/net/xen-netback/rx.c        | 8 +++++---
> >>   3 files changed, 10 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/drivers/net/xen-netback/common.h b/drivers/net/xen-netback/common.h
> >> index 1545cbee77a4..3dbfc8a6924e 100644
> >> --- a/drivers/net/xen-netback/common.h
> >> +++ b/drivers/net/xen-netback/common.h
> >> @@ -386,7 +386,7 @@ int xenvif_dealloc_kthread(void *data);
> >>   irqreturn_t xenvif_ctrl_irq_fn(int irq, void *data);
> >>
> >>   bool xenvif_have_rx_work(struct xenvif_queue *queue, bool test_kthread);
> >> -void xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb);
> >> +bool xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb);
> >>
> >>   void xenvif_carrier_on(struct xenvif *vif);
> >>
> >> diff --git a/drivers/net/xen-netback/interface.c b/drivers/net/xen-netback/interface.c
> >> index 650fa180220f..f3f2c07423a6 100644
> >> --- a/drivers/net/xen-netback/interface.c
> >> +++ b/drivers/net/xen-netback/interface.c
> >> @@ -254,14 +254,16 @@ xenvif_start_xmit(struct sk_buff *skb, struct net_device *dev)
> >>      if (vif->hash.alg == XEN_NETIF_CTRL_HASH_ALGORITHM_NONE)
> >>              skb_clear_hash(skb);
> >>
> >> -    xenvif_rx_queue_tail(queue, skb);
> >> +    if (!xenvif_rx_queue_tail(queue, skb))
> >> +            goto drop;
> >> +
> >>      xenvif_kick_thread(queue);
> >>
> >>      return NETDEV_TX_OK;
> >>
> >>    drop:
> >>      vif->dev->stats.tx_dropped++;
> >
> > Now tx_dropped is incremented on packet drop...
> >
> >> -    dev_kfree_skb(skb);
> >> +    dev_kfree_skb_any(skb);
> >>      return NETDEV_TX_OK;
> >>   }
> >>
> >> diff --git a/drivers/net/xen-netback/rx.c b/drivers/net/xen-netback/rx.c
> >> index 932762177110..0ba754ebc5ba 100644
> >> --- a/drivers/net/xen-netback/rx.c
> >> +++ b/drivers/net/xen-netback/rx.c
> >> @@ -82,9 +82,10 @@ static bool xenvif_rx_ring_slots_available(struct xenvif_queue *queue)
> >>      return false;
> >>   }
> >>
> >> -void xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb)
> >> +bool xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb)
> >>   {
> >>      unsigned long flags;
> >> +    bool ret = true;
> >>
> >>      spin_lock_irqsave(&queue->rx_queue.lock, flags);
> >>
> >> @@ -92,8 +93,7 @@ void xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb)
> >>              struct net_device *dev = queue->vif->dev;
> >>
> >>              netif_tx_stop_queue(netdev_get_tx_queue(dev, queue->id));
> >> -            kfree_skb(skb);
> >> -            queue->vif->dev->stats.rx_dropped++;
> >
> > ... but earlier rx_dropped was incremented.
> >
> > Which one is actually correct? This line was added by be81992f9086b
> > ("xen/netback: don't queue unlimited number of packages"), which was the
> > fix for XSA-392. I think incrementing tx_dropped is the right thing to
> > do, as was done before XSA-392 but it would be nice if someone else
> > takes a look at this as well.
>
> Yes, I think the XSA-392 patch was wrong in this regard.
>

Netback calls this rx (to-guest) traffic so rx_dropped seems better. On the
other hand, the networking stack thinks of this as tx since the packet is going
from the networking stack to the NIC driver...

Regardless, it is currently inconsistent since to-guest traffic increments
tx_dropped if it is dropped because the rx queue len is too long but it
increments rx_dropped if those same packets are dropped when they expire in the
rx queue.

I also see that the tx path (from-guest) doesn't increment any dropped counters
when it drops a packet.

Ross


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 16:59:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 16:59:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458122.715989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3gii-000503-1j; Fri, 09 Dec 2022 16:59:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458122.715989; Fri, 09 Dec 2022 16:59:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3gih-0004zw-Uu; Fri, 09 Dec 2022 16:59:31 +0000
Received: by outflank-mailman (input) for mailman id 458122;
 Fri, 09 Dec 2022 16:59:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nv8v=4H=citrix.com=prvs=3352c5006=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p3gif-0004rD-W9
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 16:59:30 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d6c35152-77e2-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 17:59:28 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6c35152-77e2-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670605168;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=htIAO2coBShrEeIUMq+vM/qAykLaw22tkEuGWRwZTjg=;
  b=HkuOIWE12TkCeuK1PfHlNWQNaVgqHRuUxYyZ+gSwo30vfIOIgHofWfid
   uc7L85LdrbsyAjywd3ulyXN4Z3UC7tOSTVa0wQv1zW26rbwlvL7PR040X
   RHjLHq1TtQgm9gl8f5XHb1EZ0eJhtFef84EM/h5TJ1Q6o0gTAjr35Zx8U
   Y=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87123243
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:oA+OhKAunKPpPBVW/8njw5YqxClBgxIJ4kV8jS/XYbTApGwi0GcEy
 GcaC2jQafuMZzT8fY13bt60p0gC65DcydNlQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlA7wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwoOxFJn9Dq
 OIieRchbRGxqKG5mJuKc7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2o0BPjDS0Qn1lM/AZQinOCulz/nfidRsl69rqsr+WnDigd21dABNfKFJYXQHp8JxS50o
 ErGvFuhGC4CHea89giBtVWRhvORoC3SDdd6+LqQqacx3Qz7KnYoIDkLXlL9j/C/gUO6X893I
 lYRvCEpqMAa60iDXtT7GRqirxasvBEGXMFLO/Yn8wzLwa3Riy6bG2wFQzhpeNEg8sgsSlQCy
 F6KhdrsQzNmqr2KQHa1/7KY6zi1PEA9PWIEICMJUwYBy93iu50oyALCSM55F6y4hcGzHiv/q
 xiRtzQ3jbgXic8N1o248ErBjjbqoYLGJjPZ/S2OADjjtFkgItf4Ocr4sjA38MqsMq7DRGumo
 nVZhfLPy8wNDKOi1yPVadQ0SeTBC+m+DBXQhltmHp8E/jur+mK+cY043AySNHuFIe5fJ2a3P
 Ra7VRd5ocYKYSD0NfMfj5eZUZxC8ET2KTjyuhk4hPJqa4M5SgKI9ToGiaW4jzG0yxhEfU3S1
 P6mnSeQ4ZQyU/wPINmeHb11PVoXKscWmwvuqWjTlUjP7FZnTCf9pU05GFWPdPsly6iPvR/Y9
 d1SX+PTlUoHDbeiPnGGq9VKRbzvEZTcLcmnw/G7i8bZelY2cI3fI6C5LUwdl3xNwP0Oy7agE
 oCVUU5E0lvv7UAr2i3TAk2PnIjHBM4lxVpiZHxEALpd8yR7CWpZxPtFJsRfkHhO3LAL8MOYu
 NFfIJ3QWaUSGmuak9nfBLGkxLFfmN2QrVrmF0KYjPIXJPaMmyShFgfYQzbS
IronPort-HdrOrdr: A9a23:D4J0v6/RtLQuJ9h5YZZuk+AcI+orL9Y04lQ7vn2ZKSY5TiX4rb
 HKoB1/73XJYVkqN03I9ervBEDiewK/yXcW2+ks1N6ZNWGLhILBFupfBODZsl7d8kPFl9K01c
 1bAtJD4N+bNykGsS4tijPIb+rJw7O8gd+Vbf+19QYIcenzAZsQlzuQDGygYypLbTgDP7UVPr
 yG6PFKojKxEE5nFfhSVhE+Lo7+T8SgruOeXSI7
X-IronPort-AV: E=Sophos;i="5.96,230,1665460800"; 
   d="scan'208";a="87123243"
Date: Fri, 9 Dec 2022 16:59:18 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Vikram Garhwal <vikram.garhwal@amd.com>
CC: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>, <Luca.Fancellu@arm.com>, Wei Liu <wl@xen.org>, Juergen
 Gross <jgross@suse.com>
Subject: Re: [XEN][RFC PATCH v4 15/16] tools/libs/light: Implement new libxl
 functions for device tree overlay ops
Message-ID: <Y5NpZiWZOssDwX5Z@perard.uk.xensource.com>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
 <20221207061815.7404-9-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20221207061815.7404-9-vikram.garhwal@amd.com>

On Tue, Dec 06, 2022 at 10:18:14PM -0800, Vikram Garhwal wrote:
> diff --git a/tools/include/libxl.h b/tools/include/libxl.h
> index 2321a648a5..82fc7ce6b9 100644
> --- a/tools/include/libxl.h
> +++ b/tools/include/libxl.h
> @@ -245,6 +245,11 @@
>   */
>  #define LIBXL_HAVE_DEVICETREE_PASSTHROUGH 1
>  
> +/**
> + * This means Device Tree Overlay is supported.
> + */
> +#define LIBXL_HAVE_DT_OVERLAY 1
> +
>  /*
>   * libxl_domain_build_info has device_model_user to specify the user to
>   * run the device model with. See docs/misc/qemu-deprivilege.txt.
> @@ -2448,6 +2453,9 @@ libxl_device_pci *libxl_device_pci_list(libxl_ctx *ctx, uint32_t domid,
>                                          int *num);
>  void libxl_device_pci_list_free(libxl_device_pci* list, int num);
>  
> +int libxl_dt_overlay(libxl_ctx *ctx, void *overlay,
> +                     uint32_t overlay_size, uint8_t overlay_op);
> +

Could you guard both the LIBXL_HAVE_* macro and this prototype with "#if
arm"? Since the dt_overlay operation to libxl built on arm.

>  /*
>   * Turns the current process into a backend device service daemon
>   * for a driver domain.
> diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
> index 374be1cfab..2fde58246e 100644
> --- a/tools/libs/light/Makefile
> +++ b/tools/libs/light/Makefile
> @@ -111,6 +111,9 @@ OBJS-y += _libxl_types.o
>  OBJS-y += libxl_flask.o
>  OBJS-y += _libxl_types_internal.o
>  
> +# Device tree overlay is enabled only for ARM architecture.
> +OBJS-$(CONFIG_ARM) += libxl_dt_overlay.o
> +
>  ifeq ($(CONFIG_LIBNL),y)
>  CFLAGS_LIBXL += $(LIBNL3_CFLAGS)
>  endif
> diff --git a/tools/libs/light/libxl_dt_overlay.c b/tools/libs/light/libxl_dt_overlay.c
> new file mode 100644
> index 0000000000..38cab880a0
> --- /dev/null
> +++ b/tools/libs/light/libxl_dt_overlay.c
> +#include "libxl_osdeps.h" /* must come before any other headers */
> +#include "libxl_internal.h"
> +#include <libfdt.h>
> +#include <xenguest.h>
> +#include <xenctrl.h>

Don't you need just xenctrl.h and not xenguest.h? (They both already are
libxl_internal.h so I'm not sure if xenguest.h is needed., but
xc_dt_overlay() is in xenctrl.h)


Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 17:56:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 17:56:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458135.716000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3hb6-0003uH-5v; Fri, 09 Dec 2022 17:55:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458135.716000; Fri, 09 Dec 2022 17:55:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3hb6-0003uA-2y; Fri, 09 Dec 2022 17:55:44 +0000
Received: by outflank-mailman (input) for mailman id 458135;
 Fri, 09 Dec 2022 17:55:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nv8v=4H=citrix.com=prvs=3352c5006=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p3hb4-0003u4-91
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 17:55:43 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aff301b9-77ea-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 18:55:39 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aff301b9-77ea-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670608539;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=Da5r3qrCgCJJbhjqKYMWV92A56wv9iJQTi9CRcKJV0k=;
  b=J7Ragh9rvO8Sb9i0DeCZangX4OpTGHuWU9Q8ZdoS9ugLDKD8qZofRy3/
   z1yEJKn+wRfhjwNif025yCerDVzWDRBhYflreB0Mvf75hbMHkPjCzwibm
   W/MGsI61hxExCJzzhZXHCz26+4Mv9iOEy6h6nE2imcoVDMQhAVevNI1hb
   U=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87614104
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:iKi7oKzOGSXipz98bjN6t+fmxirEfRIJ4+MujC+fZmUNrF6WrkVTn
 WYbCjyPOP6DNzakLosiaoXn9UIDvMPWn9QxTwdlrSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPaET5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KX9R9
 dkydRlVVxqGi/+o3Z6KcMxure12eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKQOHWjOX9OYH46tO6umnn4dSwesF+PrLA7y2PS0BZwwP7mN9+9ltmiFZoLxxrB/
 j6uE2LRPys2bdyjzD68y2+suOnXsgDeZatDG+jtnhJtqALKnTFCYPEMbnO5vP24h0iWS99Zb
 UsO9UIGibU5/QqFR9/2Uhm8vVaNpBtaUN1Ve8Ul7Cmdx6yS5ByWbkAaTz1bYdlgu8YsRSMj0
 neAmt+vDjtq2JWFRHTY+rqKoDeaPSkOMXREdSICVREC4dTovMc0lB2nZs14DKe/g9nxGDfx6
 zOHti4zg/MUl8Fj6kmg1QmZ2XT2/MGPF1NroFWMNo640u9nTJC6Z6mCtHGD1PxFIJuHU3Wwh
 l0GsOHLuYjiEqqxvCCKRewMGpSg6PCELCDQjDZTInUxy9i+0yX9JN4NuVmSMG8sa59ZImGxP
 Cc/rCsLvPdu0G2Wgbibim5bI+Aj1uDeGNvsTZg4hfIeM8EqJGdrEMyDDHN8PlwBcmB2ycnT2
 r/BK65A6Er27ow5pAdav89HjdcWKtkWnAs/v6zTwRW9yqa5b3WIU7oDO1bmRrlns/vZ+lmJq
 4cFbJLiJ/BjvArWO3i/zGLuBQpScShT6W7e9KS7idJv0iI5QTp8Wpc9MJsqepB/nrQ9qws71
 ijVZ6Os83Km3SevAVzTOhhehEbHAc4XQYQTYXZ9Yj5FGhELPe6S0UvoX8FsJel8pbEzkqMco
 jtsU5zoP8mjgw/vo1w1BaQRZqQ7HPh3rWpi5xaYXQU=
IronPort-HdrOrdr: A9a23:ynZlvKrlIwh6scBT5trtBOkaV5oNeYIsimQD101hICG9JPbo7f
 xGuM5rrCMc7wxhPk3I+OrwX5VoJEm3yXcb2/hzAV7PZmnbUQiTXeVfBOnZsl/d8nbFh5ZgPM
 5bGsAUNDSaNykesS+V2miFOudl6MWb9rulnOLPpk0dNj2CqJsN0+66MGum+4FNKzWuzKBWKK
 ah
X-IronPort-AV: E=Sophos;i="5.96,230,1665460800"; 
   d="scan'208";a="87614104"
Date: Fri, 9 Dec 2022 17:55:33 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Vikram Garhwal <vikram.garhwal@amd.com>
CC: <xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
	<julien@xen.org>, <Luca.Fancellu@arm.com>, Wei Liu <wl@xen.org>
Subject: Re: [XEN][RFC PATCH v4 16/16] tools/xl: Add new xl command overlay
 for device tree overlay support
Message-ID: <Y5N2lU8f3PVOTNSa@perard.uk.xensource.com>
References: <20221207061815.7404-1-vikram.garhwal@amd.com>
 <20221207061815.7404-10-vikram.garhwal@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20221207061815.7404-10-vikram.garhwal@amd.com>

On Tue, Dec 06, 2022 at 10:18:15PM -0800, Vikram Garhwal wrote:
> diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
> index 35182ca196..868364c58d 100644
> --- a/tools/xl/xl_cmdtable.c
> +++ b/tools/xl/xl_cmdtable.c
> @@ -630,6 +630,12 @@ const struct cmd_spec cmd_table[] = {
>        "Issue a qemu monitor command to the device model of a domain",
>        "<Domain> <Command>",
>      },
> +    { "dt_overlay",

Command with multiple words are using '-' instead of '_', could you
rename the command to "dt-overlay"?

> +      &main_dt_overlay, 0, 1,
> +      "Add/Remove a device tree overlay",
> +      "add/remove <.dtbo>"
> +      "-h print this help\n"
> +    },
>  };
>  
>  const int cmdtable_len = ARRAY_SIZE(cmd_table);
> diff --git a/tools/xl/xl_vmcontrol.c b/tools/xl/xl_vmcontrol.c
> index 5518c78dc6..b5f04e2741 100644
> --- a/tools/xl/xl_vmcontrol.c
> +++ b/tools/xl/xl_vmcontrol.c
> @@ -1265,6 +1265,54 @@ int main_create(int argc, char **argv)
>      return 0;
>  }
>  
> +int main_dt_overlay(int argc, char **argv)
> +{
> +    const char *overlay_ops = NULL;
> +    const char *overlay_config_file = NULL;
> +    void *overlay_dtb = NULL;
> +    int rc;
> +    uint8_t op;
> +    int overlay_dtb_size = 0;
> +    const int overlay_add_op = 1;
> +    const int overlay_remove_op = 2;
> +
> +    if (argc < 2) {
> +        help("dt_overlay");
> +        return EXIT_FAILURE;
> +    }
> +
> +    overlay_ops = argv[1];
> +    overlay_config_file = argv[2];
> +
> +    if (strcmp(overlay_ops, "add") == 0)
> +        op = overlay_add_op;
> +    else if (strcmp(overlay_ops, "remove") == 0)
> +        op = overlay_remove_op;
> +    else {
> +        fprintf(stderr, "Invalid dt overlay operation\n");
> +        return ERROR_FAIL;

ERROR_FAIL isn't really a value to be used when exiting the programme,
it's value is -3. It's from libxl API.

Instead, could you return EXIT_FAILURE?

> +    }
> +
> +    if (overlay_config_file) {
> +        rc = libxl_read_file_contents(ctx, overlay_config_file,
> +                                      &overlay_dtb, &overlay_dtb_size);
> +
> +        if (rc) {
> +            fprintf(stderr, "failed to read the overlay device tree file %s\n",
> +                    overlay_config_file);
> +            free(overlay_dtb);
> +            return ERROR_FAIL;
> +        }
> +    } else {
> +        fprintf(stderr, "overlay dtbo file not provided\n");
> +        return ERROR_FAIL;
> +    }
> +
> +    rc = libxl_dt_overlay(ctx, overlay_dtb, overlay_dtb_size, op);

Value returned by libxl_*() are going to be negative when there's an
error, so not something to be return by main(). Could you check if
there's an error and return EXIT_FAILURE instead?

> +    free(overlay_dtb);
> +    return rc;
> +}

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 18:19:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 18:19:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458145.716011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3hyG-0006xK-8G; Fri, 09 Dec 2022 18:19:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458145.716011; Fri, 09 Dec 2022 18:19:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3hyG-0006xD-4F; Fri, 09 Dec 2022 18:19:40 +0000
Received: by outflank-mailman (input) for mailman id 458145;
 Fri, 09 Dec 2022 18:19:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3hyE-0006x3-HS; Fri, 09 Dec 2022 18:19:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3hyE-000110-8g; Fri, 09 Dec 2022 18:19:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3hyE-0004wy-1K; Fri, 09 Dec 2022 18:19:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3hyE-0007OK-0Z; Fri, 09 Dec 2022 18:19:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6oQBZNEjVgONvwKDcJbpCAMJ255axHUo9ocwmdJF2DM=; b=iKyPLVuBgi44vSmXEEP0JUeGHr
	7Wdr929QxcrJ/V01NkczEPvHsMrW6Z8/PT5SHNMNR/OUfk+4sCoiOrZ/1nKSw61NFYz0BNEd5cd3v
	rpR9n7JgGCYT2FM7OK5fHmjRWvl+BR31VIQpvAZ4RJEQ9VYgBy5jBB8Z7fvuiU9Ub9VM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175113-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175113: tolerable FAIL - PUSHED
X-Osstest-Failures:
    libvirt:test-arm64-arm64-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=8a5a4e6dbd935e985f0bc16865f176f69f368265
X-Osstest-Versions-That:
    libvirt=4b29d5c4f5c4463458c46fa4de22766251b36c43
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 09 Dec 2022 18:19:38 +0000

flight 175113 libvirt real [real]
flight 175129 libvirt real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175113/
http://logs.test-lab.xenproject.org/osstest/logs/175129/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-libvirt-qcow2 17 guest-start/debian.repeat fail pass in 175129-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175086
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175086
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175086
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              8a5a4e6dbd935e985f0bc16865f176f69f368265
baseline version:
 libvirt              4b29d5c4f5c4463458c46fa4de22766251b36c43

Last test of basis   175086  2022-12-08 04:20:29 Z    1 days
Testing same since   175113  2022-12-09 04:18:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  liqiang <liqiang64@huawei.com>
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   4b29d5c4f5..8a5a4e6dbd  8a5a4e6dbd935e985f0bc16865f176f69f368265 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 18:28:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 18:28:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458155.716022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3i6L-0000EG-3d; Fri, 09 Dec 2022 18:28:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458155.716022; Fri, 09 Dec 2022 18:28:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3i6K-0000E8-VA; Fri, 09 Dec 2022 18:28:00 +0000
Received: by outflank-mailman (input) for mailman id 458155;
 Fri, 09 Dec 2022 18:27:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p3i6J-0000Dz-5P
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 18:27:59 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3i6I-00019S-M3; Fri, 09 Dec 2022 18:27:58 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233] helo=[192.168.4.46])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3i6I-0000kr-Fa; Fri, 09 Dec 2022 18:27:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=yF880oS7ypKpqn0EC0zFB34FoE3VJQ6yn8AtT+jPh5A=; b=IkKjqaxoMh2egY9lyIUzdgPLPD
	y2jQCd4qjzl/cqN3bnyRfm+S/Ei7zMumEY3D3/M0WqyqPmj307F1kfqaiKjzjDEhOJUnodk0GZei0
	vsTmaawnysJ9qTAlDvurFhj5Q1IEmBmPIuuhhpiFJjEHR6TWNqbAjTszLzcpWif/kTco=;
Message-ID: <49ff51d6-3c29-14f9-5648-11957c6ce8d5@xen.org>
Date: Fri, 9 Dec 2022 18:27:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v2] xen/arm: Do not route NS phys timer IRQ to Xen
Content-Language: en-US
From: Julien Grall <julien@xen.org>
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221028124937.27677-1-michal.orzel@amd.com>
 <eedd5b2f-3d5c-aa85-5a86-98a8717568a1@xen.org>
In-Reply-To: <eedd5b2f-3d5c-aa85-5a86-98a8717568a1@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Michal,

On 24/11/2022 18:57, Julien Grall wrote:
> On 28/10/2022 14:49, Michal Orzel wrote:
>> At the moment, we route NS phys timer IRQ to Xen even though it does not
>> make use of this timer. Xen uses hypervisor timer for itself and the
>> physical timer is fully emulated, hence there is nothing that can trigger
>> such IRQ. This means that requesting/releasing IRQ ends up as a deadcode
>> as it has no impact on the functional behavior, whereas the code within
>> a handler ends up being unreachable. This is a left over from the early
>> days when the CNTHP IRQ was buggy on the HW model used for testing and we
>> had to use the CNTP instead.
>>
>> Remove the calls to {request/release}_irq for this timer as well as the
>> code within the handler. Since timer_interrupt handler is now only used
>> by the CNTHP, refactor it as follows:
>>   - rename it to htimer_interrupt to reflect its purpose,
>>   - remove the IRQ affiliation test,
>>   - invert the condition to avoid indented code and use unlikely,
>>   - improve readability by adding new lines \btw code and comments.
>>
>> Keep the calls to zero the CNTP_CTL_EL0 register for sanity and also
>> remove the corresponding perf counter definition.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> 
> Reviewed-by: Julien Grall <jgrall@amazon.com>

Committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 18:34:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 18:34:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458163.716033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3iCl-0001tu-Nu; Fri, 09 Dec 2022 18:34:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458163.716033; Fri, 09 Dec 2022 18:34:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3iCl-0001tn-L7; Fri, 09 Dec 2022 18:34:39 +0000
Received: by outflank-mailman (input) for mailman id 458163;
 Fri, 09 Dec 2022 18:34:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p3iCk-0001tg-8y
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 18:34:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3iCh-0001G6-US; Fri, 09 Dec 2022 18:34:35 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233] helo=[192.168.4.46])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3iCh-00019N-Oa; Fri, 09 Dec 2022 18:34:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=AATmCSC6YWykJrYJS/oQQNjW9bLDEXy63USLEXSmboI=; b=jf6YU0GJZC+YBzEyVaMHYbs7dU
	MYn8hqnVsdH5O+huCgW+2UFPlgAXh8ZL6pJ/P1XwtQInBaAGcxsPj2V1R/wXILf7KplaHZ4q/XZr2
	X2CYspWXOrD2AEDVP6T4jxv46igQAICsNAwLr90TyZjVnqcacpN95v32y5gy40ydkfBI=;
Message-ID: <3bd3e14b-5bc6-b54d-6754-6ace7fa93bbc@xen.org>
Date: Fri, 9 Dec 2022 18:34:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH] xen/arm: efi-boot misra rule 4.1 fix
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org,
 bertrand.marquis@arm.com
References: <alpine.DEB.2.22.394.2212081538310.2965472@ubuntu-linux-20-04-desktop>
 <ddb12b37-fef4-b603-6a8a-ed474757c5b4@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ddb12b37-fef4-b603-6a8a-ed474757c5b4@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 09/12/2022 09:04, Jan Beulich wrote:
> On 09.12.2022 01:41, Stefano Stabellini wrote:
>> We have 3 violations of MISRA C Rule 4.1 ("Octal and hexadecimal escape
>> sequences shall be terminated") in xen/arch/arm/efi/efi-boot.h. Fix
>> them.
>>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> While I certainly agree, I wonder if you don't want to correct style
> (missing blank line after every one of these declarations) as well as
> data placement (all three should imo be static __initconst) at the
> same time.

+1. And use 'const' as well :).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 18:41:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 18:41:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458171.716044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3iJ6-0003Zl-DK; Fri, 09 Dec 2022 18:41:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458171.716044; Fri, 09 Dec 2022 18:41:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3iJ6-0003Ze-AP; Fri, 09 Dec 2022 18:41:12 +0000
Received: by outflank-mailman (input) for mailman id 458171;
 Fri, 09 Dec 2022 18:41:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iKBv=4H=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p3iJ5-0003ZY-GI
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 18:41:11 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 06fe19ab-77f1-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 19:41:02 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 4B72232001AB;
 Fri,  9 Dec 2022 13:40:59 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Fri, 09 Dec 2022 13:40:59 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 9 Dec 2022 13:40:58 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06fe19ab-77f1-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1670611258; x=1670697658; bh=UI9CEBS2fD
	jovS22j3sCcZ9FV7X9vUhBl8MSohcXapk=; b=NHDwQqYvozm5kI0rOB0Lt3OJeI
	SjTqZdIc4669JyVXwlnYRBj/iRHEHeQc1vtWL75SzCF3WdR7PSslceFUvAfgvF4G
	8mYOivtsDA/Q80PMlUB6OH1WWHN5MipDnV8/v9X+BUmfCTlNSahnpIkqFVatQRQs
	/lJc3NqPJ6kjKelb/kKAtxVlM/Xv9ZBxttJL4lHjq4pxEj4lCgAu59Xr75fGtcT0
	zLGBf2/1YmH0VZe1hxEOkDsNpAvfu7XHsIHry4n9upTxw6s4CskgEmRxVzG4wwNA
	z18IIEyEJ16z0J0G3z+w2tMKK6Ec0eG7Pmgw59xf+GbS5CexkmR3uZr2U1bA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:message-id:mime-version
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1670611258; x=
	1670697658; bh=UI9CEBS2fDjovS22j3sCcZ9FV7X9vUhBl8MSohcXapk=; b=N
	soG3hCSjubho2zMW33qYzOZBw86xoSzKBZYHfZMuDWRTPjL6KVU8LGQcKe/sKzvi
	o6IXP3Ls6HzuMoGvmQZFTupXLTGd+OQiR+g2Fu/0UjUl+51yQuoshv4p0rFUv+n+
	m/EkjA2gGVmLmwNgdVKj3IRs6rKmvddeKiiC0bwaOfA/dCBF4qsiB7B5vUKd4t9y
	oZBJivcDxvgWetbUsGruiSRy1yeLwSgO4WQnDiT8WDKM4liRNrn1CO8MnVdcV+F+
	RK8Kr8bkgTmiIFzreF9gLtcQ6NM+VKKcxiIHVAkGBsE6KI0BigSEziSgKEDKOtRf
	EnY7Ub4wS317DkOjtimQw==
X-ME-Sender: <xms:OoGTYy_hxptjq1QDuPuywUVWNUw4pjTwZywCEt7QbA1Uibpiwcmfpw>
    <xme:OoGTYys3SKMzAVzxWHKqQsE65xkdvJywuFPOrEZs8OzTs-vKw_Kvyk4A2QX6xALV2
    g17exMHfEpNX4Y>
X-ME-Received: <xmr:OoGTY4B3VITrcToBhvlCQ4UzP8de1YbRcs-U9HnTXn1jek4aEiB8hGLlzkO6>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvgdduudegucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkgggtugesghdtreertddtvdenucfhrhhomhepffgvmhhiucfo
    rghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomheqnecuggftrfgrthhtvghrnhepteekvefggeeivdffleehudejveevfeeg
    vdeghfeigfdvgffgudeuueefveeuveefnecuffhomhgrihhnpehgihhthhhusgdrtghomh
    enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeguvghm
    ihesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:OoGTY6dNN6pioKq4g7XFFyWmWCaJSPmkzQ5yYZmpthZWE2C3UBymsg>
    <xmx:OoGTY3Peh82N0hDPfEhFQoQ9VCts6f0Jn2V4LXoOQgTBM0Ry06e6Tg>
    <xmx:OoGTY0mln-HYUoT6m5zSnZjCyBFtJrdaBbKXyXB__DpepagAe_zDZA>
    <xmx:OoGTY5UE6XIUBMCHllvY-d8tXDTEFDS3hdJq0VD2IUwze03-nTKYTg>
Feedback-ID: iac594737:Fastmail
Date: Fri, 9 Dec 2022 13:40:53 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Xen developer discussion <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Juergen Gross <jgross@suse.com>
Subject: Linux 6.0.8 generates L1TF-vulnerable PTE if Xen's PAT is modified
Message-ID: <Y5OBOHd7hFGR+4GT@itl-email>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="44JDz2Hr7AM/1Sxw"
Content-Disposition: inline


--44JDz2Hr7AM/1Sxw
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 9 Dec 2022 13:40:53 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Xen developer discussion <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Juergen Gross <jgross@suse.com>
Subject: Linux 6.0.8 generates L1TF-vulnerable PTE if Xen's PAT is modified

If Xen is patched to use the same PAT Linux does, it appears to break
L1TF mitigations in PV Linux 6.0.8.  Linux 5.15.81 works fine.  The
symptom is that Linux fails to boot, with Xen complaining about an
L1TF-vulnerable PTE with shadow paging disabled.

Details are at https://github.com/QubesOS/qubes-issues/issues/7935.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--44JDz2Hr7AM/1Sxw
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOTgTgACgkQsoi1X/+c
IsE2Jg/+MnAELMCoUrq2p17zJEWpreI2CJLz3FwxaSQDcgXAiyDS0/WdmpJgx3z1
s0kutgA1VTGKnYyXNhpm1aJwC1fMLf+f0reJdZpWSd1Qav8l160LCKFakutrzh48
tKcYIzryqoQ31BrG1HAmdZonkg1Lr/JYY6PwV3pRx4H40vSdy5JX25zdGTe0p1cN
qfmCVQi39EP21T+o9tSTFiqNru4CJsL90rf3vKFfENl6B/d3LW7rqTONow8qRwm3
VJNwXM7EvmBtLtiwzd+ydoWCvlgGkpo5BfaDHpDOc2VI7BRNFH76b7/m1TQnKSNn
wybXpuE7amIyZTtkNvwBOrG+IBgM91OjKqWS2Gi5PrUNNzCj0YocYsUQrvi/O9tN
2gfdokAmjyWDzS4wlC/Tux5wav3lwMomVEKbkWMke/Wj4wTB1E54ipxZeijoRA4G
sJB2MS/dLWQ03SHMDhUzCiloDYvmQdN+hjWX0gcHvOJChgz8t74xxCapS8FQttJn
NBQ3qy6suIRxX5YsfyzwpryjTDL/TAzqYx0umq5Gp7wNu9CElF6gP0Lp/L4Uxc1H
YUxnKHOgyzTimYd1P7AvFVz+UKkGkfkg66/KrIYcItAOUJ4ecpB3Co5bfATEJwHY
dBqUNSs7TFXnEHHOSkLK7WZ40cXHbmDYb3cTaG9dn4Fe1b20vQo=
=N6+4
-----END PGP SIGNATURE-----

--44JDz2Hr7AM/1Sxw--


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 18:52:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 18:52:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458179.716054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3iTc-0005Nj-CE; Fri, 09 Dec 2022 18:52:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458179.716054; Fri, 09 Dec 2022 18:52:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3iTc-0005Nc-9M; Fri, 09 Dec 2022 18:52:04 +0000
Received: by outflank-mailman (input) for mailman id 458179;
 Fri, 09 Dec 2022 18:52:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p3iTb-0005NU-EG
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 18:52:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3iTY-0001is-UO; Fri, 09 Dec 2022 18:52:00 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233] helo=[192.168.4.46])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3iTY-0001nm-OJ; Fri, 09 Dec 2022 18:52:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=7yGrikEqez9wuVD/KWGrdNfrWfr4196gXLPjgrXHoXc=; b=FruYKeC0pciD/fZtQ8w2zEielv
	5KghadJ+5gVLsXzzpd7wtsjsQgcLh+OOSv3yk6Mb+CgaX4+aT5duipM+NRxWFS0sSg04fwcqfAa+E
	wb3BnECdCCWFyJ7pWyfxAfD3Qm/ONatW8JQY848MHF8RSAJbcLyHzNqpLWTexugKv7fM=;
Message-ID: <e6643bfc-5bdf-f685-1b68-b28d341071c1@xen.org>
Date: Fri, 9 Dec 2022 18:51:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v2] xen/arm: p2m: Populate pages for GICv2 mapping in
 arch_domain_create()
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Wei Chen <Wei.Chen@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20221014080917.14980-1-Henry.Wang@arm.com>
 <a947e0b4-8f76-cea6-893f-abf30ff95e0d@xen.org>
 <AS8PR08MB7991FD5994497D812FE3AE2E92249@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <9d5ab09e-650f-118d-0233-d7988f1504f1@xen.org>
 <AS8PR08MB799170627B34BD2627CE3092921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AS8PR08MB799170627B34BD2627CE3092921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 08/12/2022 03:06, Henry Wang wrote:
> I am trying to work on the follow-up improvements about the Arm P2M code,
> and while trying to address the comment below, I noticed there was an unfinished
> discussion between me and Julien which I would like to continue and here
> opinions from all of you (if possible).
> 
>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Subject: Re: [PATCH v2] xen/arm: p2m: Populate pages for GICv2 mapping in
>> arch_domain_create()
>>>> I also noticed that relinquish_p2m_mapping() is not called. This should
>>>> be fine for us because arch_domain_create() should never create a
>>>> mapping that requires p2m_put_l3_page() to be called.
> 
> For the background of the discussion, this was about the failure path of
> arch_domain_create(), where we only call p2m_final_teardown() which does
> not call relinquish_p2m_mapping()...
So all this mess with the P2M is necessary because we are mapping the 
GICv2 CPU interface in arch_domain_create(). I think we should consider 
to defer the mapping to later.

Other than it makes the code simpler, it also means we could also the 
P2M root on the same numa node the domain is going to run (those 
information are passed later on).

There is a couple of options:
  1. Introduce a new hypercall to finish the initialization of a domain 
(e.g. allocating the P2M and map the GICv2 CPU interface). This option 
was briefly discussed with Jan (see [2])./
  2. Allocate the P2M when populate the P2M pool and defer the GICv2 CPU 
interface mapping until the first access (similar to how with deal with 
MMIO access for ACPI).

I find the second option is neater but it has the drawback that it 
requires on more trap to the hypervisor and we can't report any mapping 
failure (which should not happen if the P2M was correctly sized). So I 
am leaning towards option 2.

Any opinions?

Cheers,

[1] 
https://lore.kernel.org/xen-devel/6c07cdfc-888a-45bb-2077-528a809a62f4@suse.com/

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 19:10:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 19:10:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458188.716066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ilf-0008Dv-SH; Fri, 09 Dec 2022 19:10:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458188.716066; Fri, 09 Dec 2022 19:10:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ilf-0008Do-PE; Fri, 09 Dec 2022 19:10:43 +0000
Received: by outflank-mailman (input) for mailman id 458188;
 Fri, 09 Dec 2022 19:10:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z6kw=4H=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p3ile-0008Di-35
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 19:10:42 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2086.outbound.protection.outlook.com [40.107.212.86])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a2ff57d-77f5-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 20:10:38 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by SJ2PR12MB7919.namprd12.prod.outlook.com (2603:10b6:a03:4cc::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Fri, 9 Dec
 2022 19:10:32 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c%5]) with mapi id 15.20.5880.018; Fri, 9 Dec 2022
 19:10:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a2ff57d-77f5-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C2wgI55YptvlTLIfHOJWiiIni+KhDdNj9uq2trJbvE7bAFUoMpBDZ/phX2afjcrZjePT115L08/J3lgv4ea4w4YT54UZyfPUaHR9/QvKd3Sey8zFR1hAlUHcnLi8/9dkCAPZ6v1wIDJi6sEc3TyhyH/s7F++p0PhATa7c58PDcufiy3oYlVqPdemkeF9vXlM6JL0a7BKRl7OMEgwp33brH1nwxK1Q1oWA22+fNTgNpUXDyHwfJtKBOrsmSLZBfwBW88BanOVHZedtvNzzOpYwJN3DemdAwktpTSRzLv5DHfIk/6hJcVjxRYl5HRBLA2njg53Gc2RUQ7np5eHF9ep0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NSkNWcIjT6t8LH090uQfgDrDcnv3CoYucWPwnBK51G4=;
 b=gkLoIT9ivFfGa+inGoayI+76r6AGjouqFzY3khVWBlyns9K1tMWGXcBJ3sg1G0iJNHsw8gTd9QKWwhborzTVEQib0D94yEtF4HW5IyaNeFz7wUQhQ/GJqWk0lCPKNQAz6KbEuE1tXHrvPTPhzevydoQk/ekGs9mukybButGzyNn2CFVdrgslk3tlAqsOyEhsBfnXGmDhT3xlx3Uvya0htUQ61AtGcaZ8Y2yA6jjMO+VX2l6TkGVfHFV+lIN5el1T2xUY5bGfelsZYsbdToxO8GpsqJ6ZkvD+rksNxLh1dGZoQz8Dx1o6rjb6ORiNGrnj28befK0/AOwD+eFdWBCqTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NSkNWcIjT6t8LH090uQfgDrDcnv3CoYucWPwnBK51G4=;
 b=OeQ7pkHiZLiC/4J5a9ntkHxXWR51sHoljPanO/e+he30DRNOZjsiPd1rbWBpUN9/sPal4rnxQS94DzGD/XuNqj7rKKoMJ+v9ZK5zGA1w7I+kvJZxKtphg5oGOGBrRHzjWH8avh19GT4YUPZ4xd/C+Dj/Iq/UjC2tKgM6HicXqds=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <ba76ce47-b999-7daa-3248-0f0be6f49131@amd.com>
Date: Fri, 9 Dec 2022 19:10:26 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
To: Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
 <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
 <e8aff19a-4992-9d35-4e78-9e64aec384f9@amd.com>
 <00ab59fa-d449-255b-bfe3-aaacb87e34dd@xen.org>
 <ca2db58b-0183-8972-0336-25bcabc99824@amd.com>
 <00793926-ef60-405b-e450-b42ccf939f5e@amd.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <00793926-ef60-405b-e450-b42ccf939f5e@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LNXP265CA0085.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:76::25) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|SJ2PR12MB7919:EE_
X-MS-Office365-Filtering-Correlation-Id: 6557da35-e87c-4a74-852b-08dada190b13
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MNhoV82b/augLx6nix5uad312BXjsdaIJIk0ONDWgGeqvp79Y/haLvhA/CeAEGRHfIz+g2YZAukcXrSx/BszV54hDfSEGAsD60gCteAXUP5jhL0yElx91gnpeNjLs4bdCKqWfH+vlTHzHSmSkeTAgsFtkPMP9sHuo0NExku1h05Os+tP0cwlzS3TQrpQoRrFV/sIsEiNXBkzr7ur4ZrXS2UItaZLNL476yfkMtXIgVi4DsQTyeWvOFr/pofKKc8ZJ8ue/nJmMnbFInYcvmYH8p5yrcc8XsPOxPbQlWhdWfnlldh6/JxgW1o1igFXCZj4g0iiuID3cVfJenR3yMb9VtU66tlyyDjLNP0PWFgOn8TdiRneKeU35lmU4JnuMPxwoJyNewjstN6gcSNWuW/32GWuK1TgPj+CTSPyI+J6Y2Y8hP2a8MjPjF3o2m7RCQE5aMgW+NjdkrqA3KIKTjPGAXvQVmOGuTPgmMugboWRahLMUse/LQlgaOvRrL+tmWdKJcPXUGRkL2nd0KaYGy0CtD9vSMLVf/6J0jrb3PT8SqnRPecPFpl3L39692wFlYXVPZgYnBmiwAvP54uYSu7w919jNiFL8hXRkccOHhipaRZvoayQXjq6jjK69Ut6lTeTRsW1mmoY/Kh/xmTC0RAJ6rPzmH5TH16G62R+iehaMlMXQ48y1wo+FO0sIrEq2xb3HVsNUU77jMGWeT6bl6AlyniCUb3oTfSXMvnZEXMddQGRlKDO3Q4Y6w1slu9gcDm4
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(366004)(136003)(39860400002)(396003)(376002)(451199015)(2906002)(2616005)(83380400001)(31696002)(41300700001)(8936002)(36756003)(8676002)(186003)(5660300002)(4326008)(38100700002)(478600001)(6486002)(966005)(66946007)(53546011)(110136005)(66556008)(6512007)(26005)(66476007)(316002)(6666004)(6506007)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RWNMQzZtYzJraXhRRHZaWEdEWnZRVGZ6OUNzeTRJZldzeG9idmhtaFgwUHV6?=
 =?utf-8?B?di9NQUpxWkl0Lzh6QWlUdDFOMWE5VWN3NDlkZ2lWd3UrQ0dBbWp2STVSWTRM?=
 =?utf-8?B?R0laKzNHRzc5TUtxQzY5OVRkL1ZFbXNhUXFJeHRiZjBZa2VmbmR6ZVJ6SktX?=
 =?utf-8?B?Yklyb1A5WkdqelhyUkIvVm8yZUV4bVp6QXVZVXRQYU1jWVVUZHp4RnFDRDcy?=
 =?utf-8?B?L1ROTEwzQ3d3QzYwOUQ2RE9FODQybTlRNnp1Uzh1bG1SZkF6Rk9LZjVPQ3Jy?=
 =?utf-8?B?UXhwT0d5VGVlQ01RRG5QdTdNNzNFYUVpblkrenRpaWZWQlk1cmI3UGx5RW9I?=
 =?utf-8?B?bTR6dURIQktlOE5jaTNnUnB0eGNJN0dXaEVmbFBaaGExT3d5S3hFb2hZZ1lk?=
 =?utf-8?B?T1pLdUZLK2JXOU1nSWJDbm1oSkoyeGRRREo1SUhQaUZRcG5HTTdkT05td041?=
 =?utf-8?B?NG9aMTNoN0Y3NVJDWW9DLzBEWC9nNVhJaGptUHdvRmZKMXJRUmtJa2xFYW1h?=
 =?utf-8?B?eWg5QzVSTmova0pGUWhxVGd4VUZKR2FuTlI2M2VWMHFqcnNITUtoVFAzekpN?=
 =?utf-8?B?RTdRVzlrbkNvdk1WYzNMbjFzNlRvbGtZZFZZMW5udTdrQ2VEb2NpRk05L2hX?=
 =?utf-8?B?MzlUd2pma0dCcEJ6WklzNkdnSmdhT21NVVRUTGlwZmRWNGxqTUlhOVpuRzFo?=
 =?utf-8?B?T1ZUVWEvTEtJU2EzZUVNa2FrWlZuNXZBUUwwQW5qYzJjaWQ3SW5pM3VGbHJS?=
 =?utf-8?B?TDlBcGZNZkRubWxxOWlqcWxOS0RBVVdJL1lIeURQdmFZM0VlNnlVRHRKMUxS?=
 =?utf-8?B?N01TczMvVWJFUDAzVUpZaXN3dDhiaFJ0aHZDSWxEQnphTHZWOGpGTklDeUhD?=
 =?utf-8?B?dzB1dzNid1RuWUZmbEs4VlM5Szcrb25iR01pWXhZUjcrZWRpbUlBN3hLNjc4?=
 =?utf-8?B?bzczdktIVnNyV201M09NM0FEZkxsYUVlc1QwTnlWSUxHWHFBWkVwOEw2S2tZ?=
 =?utf-8?B?dWl0cnEvUDcveEtNdlBKYlZHcHZ0R0gyOUZna0diMVFqYk5pT2owUUFjZ1Jr?=
 =?utf-8?B?V1daTWw3Tnorb2xnamVWZnZxd0pNODk3OWhtVGdLNkJKVTR0eUxTVDk3cFpX?=
 =?utf-8?B?VDNPbTVVVmxTUncrZTRNRVFTR3l2TjZCVmovZFBBbFl5WUY1K1B6ckRCOFB0?=
 =?utf-8?B?UkJ4dVRpWFZmU1NhR2J4MmVYM1BYYlRMNUVuT25oR2M4MHVTUDRaa1hyTTRB?=
 =?utf-8?B?VjRZSWlFT2poWndCQUUvOVdnVXMvTjNuK1BvR2UvN0dkU1I1RGdFNmZPZHBx?=
 =?utf-8?B?Q3BEUkdGZGZKTStSckZoeFZKcjE2N3NiZ1lCbmJtbFAvNkFzdGVUYXMrV0xp?=
 =?utf-8?B?Z3l2Vmg3RTFuMmxVUWQ1ZXk2cEJtMFdqUVRIVCt2TVhTZGJCZkJJZWs1RG1x?=
 =?utf-8?B?Q3VWZVpZV00zVFdJVk1aQXRPak1KdEF0RTRuRW83eDdFN1BGRy95bEJEN2lT?=
 =?utf-8?B?TTJma1BicUdXbmd6UjdIZzNBZGFsdDRER1hpTzQzLzRzZFhxK1d6TFptelQ4?=
 =?utf-8?B?Z0lLR3M0RFZaQmF6eVV5ZTRDcTdOMmZoNTFiSWJtVkJsMk5UNzZTalNibU03?=
 =?utf-8?B?KzBiTCtwWXprOVo3bnI3eXRUbFQ3bC91ZHVwY3FNczJtTHFWaU91R0gwNU9L?=
 =?utf-8?B?RXZZN25jT1QzODVXTkl0TnJDYTNHSHZ3UUw4SXZtUjhXY2l6ZHpZa1JQeTBS?=
 =?utf-8?B?VENXSDUrdDJibWZCRXhmZWJNNUhPV1FEUHNlNDNVdks3MG5oNDMwejFNSEtN?=
 =?utf-8?B?dnBYUGVVQXZKeFY3cElaSzZmaDdsMis0MTlMNE4xTFZtVVhZTEN3QmNSMk1L?=
 =?utf-8?B?NDl5RDQyTW1nU1hLek5NeDZGN2VtTU5mOUdCejMybzlEdk9mdDNYS1JyeXJJ?=
 =?utf-8?B?N0g1OWwzTm5ySXJFZEk0c2kyWXk0OXM4cFEyVklJRUxZK0RtRys1Y3VvVEVl?=
 =?utf-8?B?UnFQSkE0K1JiMWE4QjRmNWxadG1heWh0eFY2MGN3Ny96dFVmbXFON01OU2du?=
 =?utf-8?B?aHBvcnYzRUVBdkxjbWJNYWs3aGNvcFZNQ0dwQ1BUZG5iOHZiUjliYzZxR0tl?=
 =?utf-8?Q?q8T2I+EzThAk9js1stGk66A2t?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6557da35-e87c-4a74-852b-08dada190b13
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2022 19:10:32.4024
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AZhRPwfaw1RlbgWW1dUOrd2ebmOpuu4rYjwO//9s8sXI18xb2lnYMcDulb33O7Pt06/3Yv66REsetq8UgC7q1Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7919

Hi Michal,

On 09/12/2022 08:53, Michal Orzel wrote:
> On 08/12/2022 19:42, Ayan Kumar Halder wrote:
>> On 08/12/2022 16:53, Julien Grall wrote:
>>> Hi,
>> Hi,
>>> On 08/12/2022 15:24, Michal Orzel wrote:
>>>> On 08/12/2022 14:51, Julien Grall wrote:
>>>>> Caution: This message originated from an External Source. Use proper
>>>>> caution when opening attachments, clicking links, or responding.
>>>>>
>>>>>
>>>>> Hi,
>>>>>
>>>>> Title extra NIT: I have seen it multiple time and so far refrain to say
>>>>> it. Please use 'arm' rather than 'Arm'. This is for consistency in the
>>>>> way we name the subsystem in the title.
>>>>>
>>>>> On 08/12/2022 12:49, Ayan Kumar Halder wrote:
>>>>>> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
>>>>>> result, it contains the default value (ie 0). This causes,
>>>>>> kernel_zimage_place() to treat the binary (contained within uImage) as
>>>>>> position independent executable. Thus, it loads it at an incorrect
>>>>>> address.
>>>>>>
>>>>>> The correct approach would be to read "uimage.ep" and set
>>>>>> info->zimage.start. This will ensure that the binary is loaded at the
>>>>>> correct address.
>>>>> In non-statically allocated setup, a user doesn't know where the memory
>>>>> for dom0/domU will be allocated.
>>>>>
>>>>> So I think this was correct to ignore the address. In fact, I am worry
>>>>> that...
>>>>>
>>>>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>>>> ---
>>>>>>
>>>>>> I uncovered this issue while loading Zephyr as a dom0less domU with
>>>>>> Xen on
>>>>>> R52 FVP. Zephyr builds with static device tree. Thus, the load
>>>>>> address is
>>>>>> always fixed.
>>>>>>
>>>>>>     xen/arch/arm/kernel.c | 2 ++
>>>>>>     1 file changed, 2 insertions(+)
>>>>>>
>>>>>> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
>>>>>> index 2556a45c38..e4e8c67669 100644
>>>>>> --- a/xen/arch/arm/kernel.c
>>>>>> +++ b/xen/arch/arm/kernel.c
>>>>>> @@ -222,6 +222,8 @@ static int __init kernel_uimage_probe(struct
>>>>>> kernel_info *info,
>>>>>>         if ( len > size - sizeof(uimage) )
>>>>>>             return -EINVAL;
>>>>>>
>>>>>> +    info->zimage.start = be32_to_cpu(uimage.ep);
>>>>> ... this will now ended up to break anyone that may have set an address
>>>>> but didn't care where it should be loaded.
>>>>>
>>>>> I also understand your use case but now, we have contradictory
>>>>> approaches. I am not entirely sure how we can solve it. We may have to
>>>>> break those users (Cc some folks that may use it). But we should figure
>>>>> out what is the alternative for them.
>>>>>
>>>>> If we decide to break those users, then this should be documented in
>>>>> the
>>>>> commit message and in docs/misc/arm/booting.txt (which interestingly
>>>>> didn't mention uImage).
>>>>>
>>>> So the first issue with Zephyr is that it does not support zImage
>>>> protocol for arm32.
>>>> Volodymyr added support only for Image header for arm64 Zephyr.
>>>> I guess this is why Ayan, willing to boot it on Xen (arm32), decided
>>>> to add u-boot header.
>>> If that's the only reason, then I would rather prefer if we go with
>>> zImage for a few reasons:
>>>   - The zImage protocol has at least some documentation (not perfect)
>>> of the expected state of the memory/registers when jumping to the image.
>>>   - AFAICT libxl is not (yet) supporting uImage. So this means zephyr
>>> cannot be loaded on older Xen releases (not great).
>> I am exploring for a similar option as Volodymyr ie support zimage
>> protocol for arm32.
>>
>> But for that I need some public documentation that explains the zimage
>> header format for arm32.
>>
>> Refer xen/arch/arm/kernel.c
>>
>> #define ZIMAGE32_MAGIC_OFFSET 0x24
>> #define ZIMAGE32_START_OFFSET 0x28
>> #define ZIMAGE32_END_OFFSET   0x2c
>> #define ZIMAGE32_HEADER_LEN   0x30
>>
>> #define ZIMAGE32_MAGIC 0x016f2818
>>
>> Is this documented anywhere ?
>>
>> I had a look at
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/booting.rst
>> , but there is nothing that explains the header format.
>>
>>> Note this doesn't mean we should not fix Xen for uImage.
>>>
>>>> Now, there is also a question about supporting arm64 uImage kernels.
>>>> In Xen kernel_zimage_place,
>>>> we do:
>>>> #ifdef CONFIG_ARM_64
>>>>       if ( info->type == DOMAIN_64BIT )
>>>>           return info->mem.bank[0].start + info->zimage.text_offset;
>>>> #endif
>>>>
>>>> So if we modify the uImage behavior for arm32, we will break
>>>> consistency with arm64
>>>> (we would take uImage entry point address into account for arm32 but
>>>> not for arm64).
>>>> At the moment at least they are in sync.
>>> That's a good point. It would be best if the behavior is consistent.
>> Currently, kernel_zimage_place() is called for both uImage and zImage.
>>
>> Will it be sane if we write a different function for uImage ?
>>
>> Something like this ...
>>
>> static paddr_t __init kernel_uimage_place(struct kernel_info *info)
>>
>> {
>>
>>       /* Read and return uImage header's load address */
>>
>>       return be32_to_cpu(uimage.load);
>>
>> }
>>
>> This will be consistent across arm32 and arm64
>>
> All of these does not make a lot of sense because we are allocating memory for a domain
> before probing the kernel image. This means that the load/entry address for a kernel
> must be within the bank allocated for a domain. So the kernel already needs to know
> that it is running e.g. as a Xen domU, and add corresponding u-boot header to load
> us at e.g. GUEST_RAM0_BASE. Otherwise Xen will fail trying to copy the kernel into domain's
> memory. Whereas for domU it is easy to guess the memory bank, for dom0 it is not.

I am trying to see if I understand you correctly.

Currently, the sequence is like this. Refer construct_domU()

1. kernel_probe()

2. allocate_memory()

So, we allocate memory after we probe the kernel image.

In kernel_probe(), we do read the headers in kernel_zimage32_probe() and 
set "info->zimage.kernel_addr" accordingly.

Later in allocate_memory(), we determine the memory for the domain.

IIUC, it is assumed that "info->zimage.kernel_addr" is within the memory 
range for the domain. Else, Xen may crash.

If this is correct understanding, then we should also be able to probe 
uImage header and set the kernel_addr (similar to kernel_zimage32_probe()).

>
> zImage and Image are image protocols, uImage is not. It is just a legacy u-boot header (no requirements
> \wrt booting,memory,registers, etc.). It can be added on top of anything (even vmlinux or a text file).
> So I guess this is why Xen states that it supports zImage/Image and does not mention uImage.
> A header is one thing, the boot requirements are another. Supporting uImage is ok but if we specify
> that it must be a u-boot header added on top of zImage/Image.

Let me first confine to Arm32 only.

zephyr.bin has to be loaded at a fixed address with which it has been built.

So, we could either use zImage header (where 'start_address' can be used 
to specify the load address).

Or uImage (where -a  is used to specify the load address).

Adding uImage header on top of zImage does not make sense.

Now for Arm64,  we do need to parse the zImage header

#ifdef CONFIG_ARM_64
     if ( info->type == DOMAIN_64BIT )
     {
         return info->mem.bank[0].start + info->zimage.text_offset;
     }
#endif

Again, adding uImage header on top of zImage header does not make sense 
as well.

Also, I believe zImage boot requirements are specific for linux kernel.

zephyr or any other RTOS may not follow the same boot requirements.

- Ayan


>
>> - Ayan
>>
>>> Cheers,
>>>
> ~Michal
>


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 19:19:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 19:19:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458197.716076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3iu6-0000Vy-QS; Fri, 09 Dec 2022 19:19:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458197.716076; Fri, 09 Dec 2022 19:19:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3iu6-0000Vr-Nj; Fri, 09 Dec 2022 19:19:26 +0000
Received: by outflank-mailman (input) for mailman id 458197;
 Fri, 09 Dec 2022 19:19:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p3iu5-0000Vl-H9
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 19:19:25 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3iu5-0002Nh-2u; Fri, 09 Dec 2022 19:19:25 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233] helo=[192.168.4.46])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3iu4-0002zC-SV; Fri, 09 Dec 2022 19:19:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=TAK/R87Cu1Fu3Rd20SjRT8rFtPnd9JnWHlSirhGsKj4=; b=SdWjCJ6Criuy6TYl88xee2gu0I
	rtTbxakE59BZ0JDX0gZT7SkkHQX+CMcCXcNHK6M9qZzPXJlCaVuSlFyjrvXnf5WNVUnObtAcb+fur
	Y8p3Yu10sxO/4Q229Mt/4SHeRJfm5T6ksQlnxyJqlhTmkAdReNtS8iK2H2E25zuwl2yE=;
Message-ID: <f69e17c7-ff85-636d-1176-1556cd1c519a@xen.org>
Date: Fri, 9 Dec 2022 19:19:21 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>, Michal Orzel
 <michal.orzel@amd.com>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
 <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
 <e8aff19a-4992-9d35-4e78-9e64aec384f9@amd.com>
 <00ab59fa-d449-255b-bfe3-aaacb87e34dd@xen.org>
 <ca2db58b-0183-8972-0336-25bcabc99824@amd.com>
 <00793926-ef60-405b-e450-b42ccf939f5e@amd.com>
 <ba76ce47-b999-7daa-3248-0f0be6f49131@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ba76ce47-b999-7daa-3248-0f0be6f49131@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Ayan,

On 09/12/2022 19:10, Ayan Kumar Halder wrote:
>> zImage and Image are image protocols, uImage is not. It is just a 
>> legacy u-boot header (no requirements
>> \wrt booting,memory,registers, etc.). It can be added on top of 
>> anything (even vmlinux or a text file).
>> So I guess this is why Xen states that it supports zImage/Image and 
>> does not mention uImage.
>> A header is one thing, the boot requirements are another. Supporting 
>> uImage is ok but if we specify
>> that it must be a u-boot header added on top of zImage/Image.
> 
> Let me first confine to Arm32 only.
> 
> zephyr.bin has to be loaded at a fixed address with which it has been 
> built.
> 
> So, we could either use zImage header (where 'start_address' can be used 
> to specify the load address).
> 
> Or uImage (where -a  is used to specify the load address).
> 
> Adding uImage header on top of zImage does not make sense.
> 
> Now for Arm64,  we do need to parse the zImage header
> 
> #ifdef CONFIG_ARM_64
>      if ( info->type == DOMAIN_64BIT )
>      {
>          return info->mem.bank[0].start + info->zimage.text_offset;
>      }
> #endif
> 
> Again, adding uImage header on top of zImage header does not make sense 
> as well.
> 
> Also, I believe zImage boot requirements are specific for linux kernel.

Correct. But then this is what Xen tries to adhere to when preparing the 
guest. So...

> zephyr or any other RTOS may not follow the same boot requirements.

... if Zephyr or any other RTOS have different requirements, then we may 
need to modify Xen.

Can you describe the expectation of Zephyr for the following components:
   - State of the memory/cache:
	* Should the image be cleaned to PoC or more?
         * What about the area not part of the binary (e.g. BSS)?
         * What about the rest of the memory
   - State of the co-processor registers:
         * Can we call the kernel with I-cache enabled?
         * ...
   - State of the general purpose registers:
         * For instance, Linux expects a pointer to the device-tree in r0

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 19:32:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 19:32:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458205.716088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3j70-0003G6-Vq; Fri, 09 Dec 2022 19:32:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458205.716088; Fri, 09 Dec 2022 19:32:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3j70-0003Fz-Sh; Fri, 09 Dec 2022 19:32:46 +0000
Received: by outflank-mailman (input) for mailman id 458205;
 Fri, 09 Dec 2022 19:32:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nqi+=4H=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1p3j6z-0003Ft-37
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 19:32:45 +0000
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com
 [205.220.165.32]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f4aa473-77f8-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 20:32:42 +0100 (CET)
Received: from pps.filterd (m0246627.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 2B9IxCqU013382; Fri, 9 Dec 2022 19:32:20 GMT
Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta02.appoci.oracle.com [147.154.114.232])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3maud760ga-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Fri, 09 Dec 2022 19:32:20 +0000
Received: from pps.filterd
 (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5)
 with ESMTP id 2B9ILgXG032133; Fri, 9 Dec 2022 19:32:20 GMT
Received: from nam11-bn8-obe.outbound.protection.outlook.com
 (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169])
 by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 3maa7ggev4-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Fri, 09 Dec 2022 19:32:19 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by DM4PR10MB6767.namprd10.prod.outlook.com (2603:10b6:8:10d::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.18; Fri, 9 Dec
 2022 19:32:17 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::909f:fa34:2dac:11c5]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::909f:fa34:2dac:11c5%8]) with mapi id 15.20.5880.018; Fri, 9 Dec 2022
 19:32:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f4aa473-77f8-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date :
 to : cc : references : from : subject : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2022-7-12;
 bh=PNzzHDIsSR6h5f631wSYuH8ciJzhQz+XG+bm67WnCgU=;
 b=v30WtkNFYHireXut8ToTJQVNR7FZwlJJDpBSNSfwA5hr2wDwplHjpmEjBRsxMqt+Gj39
 /O31oO0B8UdIQPT12se3eiyKhhy3yQMevB1f/bPZmvYdXnVJDBbWDH2dM4WnLOnBR2wG
 xgNVimeG8akblHtDCeJnqaLADuRbdPJr7UaRD62TamExo6R6O47Dnu1ZbHURNegivlO9
 cT8EY0DEOaJJwJ7RCu6kYMg86bgYglN3gFEw+ZOPCOViOYpWIey1FZ28muQY/5cUgoKp
 +WYxPb9gtebF6DxYeRv2x6TN/FBxCh+cB8d6yAhYcNJ3cbbALNe769gInxphBHI0apeT +g== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TnRqRMVkWUkyrb/8L/F0gGr+vlyNssM3pSzeLCXl1yo3NWiHxySTrCYP1fEeqvORQrfFjdtIxGm3mpPHLFmkQ7/5yQeXZ5EoNlhUxXrXeg+aZb+PbKkhpXuakqoz/6AXAXU92b5DsAfWz/npvCw0265f6BqMWTogOOAXeVkHIiVpb/S5vg8lEuLBiR/HAyNRmdNrRXlxgh5levDICylb/y2IAngtJZf0rEHcxPgTLxmO77RYUM371fxFrzjuncR+T+6CDrpUH0xdj0erKBG1dVDx4Rdnru1eYPVZYXqumY4t/tLpHC9wQCvm/YckRnNAYjBORmSKGzcQvxzRpFazdw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PNzzHDIsSR6h5f631wSYuH8ciJzhQz+XG+bm67WnCgU=;
 b=EVsj7Zscvd+qUJfkqduCVJ91lIV9w5cok47NVdi5KQj/7eqLqFEUXasRk2M71Dl+G5N8ZIal0tmwNJRqARmFkRjvClPmaK/BJj9bz9wusIaw/6IEtg+/XTGM+ETlOeIV2Qr8ra7cEvGA0FpiJ7Ug4e1xNfJhjEmR+BAKcaKtkcT8rx79s6dTceD0moQT4S2AWK1wOTNzXbRiyzNBuwteFS2p04FS8D+e3+zJl0TGtLSX3viCahaBmoc4VJp3eAKsb6JFDg4cvP08NDz+5g6OB4e6LxtsfWY4L6QamzBgVpD3M5KqryzSF8lP+ZRtWpn1zCbcphZWtUO9O4qQak9bZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PNzzHDIsSR6h5f631wSYuH8ciJzhQz+XG+bm67WnCgU=;
 b=jd+wfwozpxGKQF6GgI0CF3S3pfG7hKMw5sVsVMv1kME1hrOGLE+uICnouxm6vHnyxLImpwIzp+L81KSymB7RlBlfcG1eXIluikj2CV8yqbKGqYJgp520TZ1UX4GOAcjiH6ln2J9cDmss/AHdevWYOAZ+pfBLhetHW0Aej8V44Pg=
Message-ID: <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
Date: Fri, 9 Dec 2022 14:32:15 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Content-Language: en-US
To: Krister Johansen <kjlx@templeofstupid.com>,
        Juergen Gross <jgross@suse.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
        Borislav Petkov <bp@alien8.de>,
        Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
        "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
        linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
        Anthony Liguori
 <aliguori@amazon.com>,
        David Reaver <me@davidreaver.com>, Brendan Gregg <brendan@intel.com>
References: <20221208163650.GA3225@templeofstupid.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [PATCH linux-next] x86/xen/time: prefer tsc as clocksource when
 it is invariant
In-Reply-To: <20221208163650.GA3225@templeofstupid.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: BL0PR02CA0090.namprd02.prod.outlook.com
 (2603:10b6:208:51::31) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BLAPR10MB5009:EE_|DM4PR10MB6767:EE_
X-MS-Office365-Filtering-Correlation-Id: 1a077cf2-ffb3-4107-7257-08dada1c1543
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	tXndInz/C86evfUAbeL2Eprq0Nrfg7kRu/bcBWm+2rzv4sIkkeYVgvUXfE6Yt/KaynuDnwJkj9L/C7TrWsFc3+0nbGD6WV6xyL/1HldoICAp1yBqAUgqB16fjTZnNy3KQr0LokjRIi2r0uRiFvJGjqWkfidz5I4eTYMmVLwUs9h2kScncO3AD52aFTK6Qp6uzAUL831Dqepsjz2TzcrVvdfIM7e16iCilGGnYysY0tQIX0X2tCEv22DY/jcrUnAXqBmaHGFv1uBycRjSg8yMV7Teydsbs4X8T7cPq8ZF6+aAjfks73HzCV9SLln+DuF2tuTaaLB6vsKKT3mLMo1i/6ipAK9Cl03PCU1Jhu+x8KZCRU+kkbtvDcO2rO7hsrdIrAX+lev46MhqZsKazLo41Ha3jrh6Q7yROxMCVWiWe43zsi52C+mNFterg6EyCamavgEUGzzkg5UN2jzPjJ+k9hZw7FVns0FQt5MCkPAKxvFSVtQTwObOhrMHm1X/nqEVsLI0cEpjgkA9LoUBqF6fV15GNgiY/9hVhZbfsss2E8IJm+h2UKKidb3W9VvUQIE8Kh4NIpdgla9ELGw6+e2VNtXs2voDzXdHBiHsEuwr3dn9hc40Ea3ZvlKSL5L3uILLP1u6fDhtG25h0FK6qIFvgNVGaaTEVZyW5zBqMZ41lymGmPrY4Q4psv0WijATlFUSWl7wdC8MUOlQ5sqPc3lV9/+pG3qiIih7Cd8sFV385K8=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5009.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199015)(5660300002)(4744005)(7416002)(2906002)(44832011)(478600001)(86362001)(31696002)(316002)(8676002)(4326008)(53546011)(6506007)(36756003)(41300700001)(6486002)(110136005)(54906003)(66946007)(8936002)(66556008)(66476007)(31686004)(83380400001)(38100700002)(186003)(2616005)(26005)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?MlQrU0hEdDhmaW5RNmdubndUTFpFSHBFRTZYSHljMytncGVkVkhxZXgrZFRi?=
 =?utf-8?B?c3Y0WUVBQlZ4V0QyS05SV2JxUlNkUWFhNUU0OWRkTW1vSHlDSDY5KzhER05P?=
 =?utf-8?B?WWtRdzBnOW43SSswL3ZTSDlVbnJtTzNKVUZINXVaaW95b0t6aU85Z1BrVkFY?=
 =?utf-8?B?dHIwdEdSbklyWHlmRkNsZkVSeWdKc2RNM2IxZmdMVk91eWx2YmJpTXBaTzhO?=
 =?utf-8?B?dVhZcmlBR1lnbnRWbTZ1RDJXb3dvR2hWeURSdW0yanMzclJaWkprRFMzS241?=
 =?utf-8?B?ZHRuOFFmV1pJeVhNTXN3VVJWRnpjRXdYVTBaaGhqbFJHeDdTamRGcWpxdmdt?=
 =?utf-8?B?OHd4MzZHSEJVTWxnUWVZdDFNdHdKYjJBMURQUDVLVTE2L2ticC9oZ0NzMWZQ?=
 =?utf-8?B?eE9IRFQ3czlkaXdRaVNJd1c1UnZUajBjdGtrMkYvNEdGa3VDVGdobFdiWW9a?=
 =?utf-8?B?VXl1UnVaMnRISXNGM01WMHBPT2NzdktzV1NhaHIzcmlabTRvb1VDbHdTdFBV?=
 =?utf-8?B?T2tGeTd6ekRtMGVmbFpRYzdQbVk1VndvbHEvbERJaU1taW1RU3o2bDZCT1Bz?=
 =?utf-8?B?ODZRZElDdk5pS2N1a3QybnF2NDJFa25sR3kwQm5nMWQyeWs2NkJiVFpFRE1G?=
 =?utf-8?B?NDYwS2RsNkZQMllOMHcyYUYyYUJZYTU2NjRVMm83QXV4cVI0WFZMalF6RXd4?=
 =?utf-8?B?WEFSOFo3UEtNSXdabVJFZnpCSytrbnNEdDJtNzVtSHJ2Y0piZUVORUJZMU1q?=
 =?utf-8?B?NjV1dTRtL3RTRnlnSHgvRUJxeGlGcGNoNGV4dFlEeFhzYXJBTHdIS2x5dVIy?=
 =?utf-8?B?RncxVkM0dUY1UUlNOTdVcjljQWxZYXRkQUU4RnVyVWI1K3Q1TE9KejFKaDYv?=
 =?utf-8?B?SmpHSWdFZ3QxNWNFV2UzM1FWTWFhT1dZZTlzYXNoQy9PWjVQMERnU1pGNUJO?=
 =?utf-8?B?c2xzcktKc2JDUi9NdmxWbkpxUUx4MjF2dmw5b3pndkF0dW8wL1VZODY4KzVX?=
 =?utf-8?B?L0h1YVRoVWRqUGpwSGxaMndhWGtiV2habTlvSHhaR3JXclVEdEcxblZKSHJU?=
 =?utf-8?B?NkJQeWZuUlMzeUNjK3VMekV3dkFXYlRQK2xpQ3ZiaDVlVTF4QlI0MkJQanpH?=
 =?utf-8?B?SmdBQmxxMmxzRUk4ZGtWWmVhSmdRZmpOQmFZS2pXeFNOR2wrWDZPb2o0SkFE?=
 =?utf-8?B?SGdwWkhhNmlXL3hNaFB3WnFQU0Raamh6cE5ndlFpbTJDbXg5aUR5YUhsbEoz?=
 =?utf-8?B?cXBReWk3YWRHU0ZhTXpmQzRsNS9rSXY3bnJxbG1MUEFYK2pHMXVMeDJBUGdI?=
 =?utf-8?B?cFZMdnBUNlZ5ZlBRRXNTdG9NVE1kenVCcmhiN2F4TjhsQlk0VXRuYzVwcVRS?=
 =?utf-8?B?SlEwVnpRWit6VHJoeVEwa3l4Z3FiVkdkZ1o1TEt3VmRyejZqUFp5amtmMFkw?=
 =?utf-8?B?Z1Q2dVdBTlBDVDVpYTFVWGs2Z016bUltRjlkUDRlK2VYZk93bm1kZ0Ztb0RF?=
 =?utf-8?B?bGhNL24xWE5JY2hNUzNjVkh6aWUyT2NXV2YxR2pZYmxYQy9Jd0xJSC8vMDZt?=
 =?utf-8?B?eklaK1lOVlRHcy9SZkVsZVMzMXA5UHZMT05maXhncnd5VTZxbUtYcVc4WFBY?=
 =?utf-8?B?MWlIdzcycVBycXRpT2dxY0hzNWhUZHUzMVBVcXZlV0VzSUkyWXJPUnQyNXVI?=
 =?utf-8?B?VzlBbnJSR294TTRneHF3OEYyNm5wZEZwcDlGcU9qRFcxV0ZjVlVOdzV6QTRS?=
 =?utf-8?B?U1d0dmEreWJQNjFUQklray9OZ0NOWTFnOVBudGQ1WWVlTzhiSVhkZFM1Vk9C?=
 =?utf-8?B?R2NvaHhNZ2lFRUphOWI2UHBQYlA4MU9iMTJqOXhQdVQ5RmhzekFFMzAxQWNT?=
 =?utf-8?B?ZjVOamRUU3pudC9HakE0ajRGUG5qZXNGc3p5RmtZUy9IZ3hmYWV0Vno1eEp5?=
 =?utf-8?B?OFdWKzQrQ3R2aTlFT3U1b0U2TGh1WXkwaHhYU1RXOGYyZHdvc0lQNmRGK1VI?=
 =?utf-8?B?WmlMa3Z6VTliZUVnUlAraUhEckNUaCs2QzV4QUhGaHVJa3l0NkhmVXNvWTB4?=
 =?utf-8?B?TFBhUXlxYVd3cmwyTUxodFdmSlFzZm54WitLd0FFZDAwYmFuT09jSVFYdjMz?=
 =?utf-8?B?T09zNytQaE15WDNsdSt0T0RmRVhncWc3NWNEaFRvRlJrUkF3UXVPcEVjZ1l0?=
 =?utf-8?B?cWc9PQ==?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a077cf2-ffb3-4107-7257-08dada1c1543
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Dec 2022 19:32:17.8745
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ylHzhhGLQOHmonejiFmfZxbxFdyrys2oqvB13FuKPXu6iERaq/QPQftxKzGVPcsAApwMaR6/yRF0LLfxtz/EISUrI0EECyXDfiYrNqdyjc4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR10MB6767
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1
 definitions=2022-12-09_11,2022-12-08_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 bulkscore=0
 suspectscore=0 phishscore=0 malwarescore=0 spamscore=0 mlxscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2210170000 definitions=main-2212090159
X-Proofpoint-GUID: Eo5tef11Xf8C4zmn2Kel3JNOB6d805WQ
X-Proofpoint-ORIG-GUID: Eo5tef11Xf8C4zmn2Kel3JNOB6d805WQ


On 12/8/22 11:36 AM, Krister Johansen wrote:
> +	/*
> +	 * As Dom0 is never moved, no penalty on using TSC there.
> +	 *
> +	 * If the guest has invariant tsc, then set xen_clocksource rating
> +	 * below that of the tsc so that the system prefers tsc instead.  This
> +	 * check excludes PV domains, because PV is unable to guarantee that the
> +	 * guest's cpuid call has been intercepted by the hypervisor.
> +	 */
> +	if (xen_initial_domain()) {
>   		xen_clocksource.rating = 275;
> +	} else if ((xen_hvm_domain() || xen_pvh_domain()) &&
> +	    boot_cpu_has(X86_FEATURE_CONSTANT_TSC) &&
> +	    boot_cpu_has(X86_FEATURE_NONSTOP_TSC) &&
> +	    !check_tsc_unstable()) {
> +		xen_clocksource.rating = 299;
> +	}


What if RDTSC is intercepted?


-boris



From xen-devel-bounces@lists.xenproject.org Fri Dec 09 19:52:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 19:52:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458213.716099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3jPq-000679-JJ; Fri, 09 Dec 2022 19:52:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458213.716099; Fri, 09 Dec 2022 19:52:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3jPq-000672-F8; Fri, 09 Dec 2022 19:52:14 +0000
Received: by outflank-mailman (input) for mailman id 458213;
 Fri, 09 Dec 2022 19:52:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bplO=4H=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1p3jPp-00066w-AK
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 19:52:13 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7de3fed-77fa-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 20:52:11 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id n21so13860860ejb.9
 for <xen-devel@lists.xenproject.org>; Fri, 09 Dec 2022 11:52:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7de3fed-77fa-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=J1izrHV/dfvla3hF4YyFp61zzuEH6lUXffetejWBGZI=;
        b=T47yxLWpkv4RW4vWdaiF+SZJOBFxJd29AdOAuOSZeVZsbWx0hSRsqVPhLx6B0Et9zR
         ntOjKa7+Lgcl7baRHt1sJm0Pk1zesuCeH+iLI4QrKsHVNvjQIGLiXI9icWUj53NiIV35
         ClH4JtzgBVMncX3VtLGwCY+wWfn/yDxbU4WNSLqL0+Rx0pekRfzbvhDhb324oi16FH9K
         txwbxerFCjDVJF1rZ4shCaGBB0pykjZkHGiz7C+PQVbyw3BMjr72vCM0UV3bJuFrc+BF
         +/8py11YjEjqqHLW8X/iwZ07SG2iTGr0XvdY0nP01QmRuCm3Hk9yRrM2HkEMLvjoX8z+
         g+Qg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=J1izrHV/dfvla3hF4YyFp61zzuEH6lUXffetejWBGZI=;
        b=NgAPlsjBWj4Wvntz6vVI7qmpKzkPNNSUcVssmdF9SqdwafFyChtRFFvVTpBPIS5+bR
         ICoyBUFO7fcjN4sQ7fwjSMiTitIj/Ft3Zko9zfY3A3F4k1ZcTIFZ/qozDvqf/tgZedZF
         rzbJVplyTX9g+8Xdc1pL7nkrcRQ+nuuwdu9zutX4mWqUgE8EeEK5OxLQMtGbsUedCBDM
         E1dKF2xDNbKoIiBjNFRNpAyHby012SAqxwpaYMPdf/GoNRuEAsvUkcDndO1ZKenEZod9
         4bRaYonqClhvEdXpC4AH1hqx7maC+0y19cvJJcam3Uz60BU7p7KKexKb7tbAjmLojUaf
         aHuQ==
X-Gm-Message-State: ANoB5pmrlZ9wshR34hNYzt8B4J133AwGFN3lVwP2gA1fbiIApMrM04hn
	WUAwwhb+G8Ipcb2ot3Wv/3W04qDIXlNIT8MvfAQ=
X-Google-Smtp-Source: AA0mqf7cJpfgB8yJlpzhg9VKSVyHzsHSya4f4rm873Xw27xKt/pORwLfh+O/FL8PRp6AL8HU6ioxnt1TF/1bTHmZ3yA=
X-Received: by 2002:a17:906:7e57:b0:7c1:bb5:1937 with SMTP id
 z23-20020a1709067e5700b007c10bb51937mr9013520ejr.251.1670615529847; Fri, 09
 Dec 2022 11:52:09 -0800 (PST)
MIME-Version: 1.0
References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
 <83f510bd-9a9c-3063-27dd-d894b1e8031c@suse.com> <a9050eac-21b0-c736-31a3-d6920080d82f@suse.com>
In-Reply-To: <a9050eac-21b0-c736-31a3-d6920080d82f@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Fri, 9 Dec 2022 14:51:58 -0500
Message-ID: <CAKf6xptYnqnPA0ME6RucFkxCzuYPrUWwj8WxDgFSy_9Ojz1t-g@mail.gmail.com>
Subject: Re: [PATCH 1/5] x86/tboot: drop failed attempt to hash shadow page tables
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>, 
	=?UTF-8?Q?Mateusz_M=C3=B3wka?= <mateusz.mowka@intel.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"

On Tue, Dec 6, 2022 at 8:58 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 06.12.2022 14:53, Jan Beulich wrote:
> > While plausible to do what was intended based on the name of the flag
> > (PGC_page_table), that name was misleading and is going to be changed.
> > It marks page tables pages _having_ a shadow, not shadows of page table
> > pages. The attempt also didn't cover the HAP case at all, and it
> > constituted a potentially very long loop doing nothing when
> > !SHADOW_PAGING. Instead leave a comment of what actually wants doing
> > there (which then also may need to account for e.g. the risk of A/D bits
> > becoming set behind our backs).
> >
> > Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 19:52:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 19:52:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458219.716109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3jQI-0006ZI-QP; Fri, 09 Dec 2022 19:52:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458219.716109; Fri, 09 Dec 2022 19:52:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3jQI-0006Z9-Nk; Fri, 09 Dec 2022 19:52:42 +0000
Received: by outflank-mailman (input) for mailman id 458219;
 Fri, 09 Dec 2022 19:52:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bplO=4H=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1p3jQI-0006R1-09
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 19:52:42 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0a59f675-77fb-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 20:52:41 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id f7so4532802edc.6
 for <xen-devel@lists.xenproject.org>; Fri, 09 Dec 2022 11:52:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a59f675-77fb-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=Z/9R9FdUoL2qsV8lEemTy8Krnnda8kROPexOO+rf+Zc=;
        b=RBzb4sd1Chw7N3IhqCo1r0Z57LDHinRmkpKj0Z6KFpOExGqbcOZTPEnO2BFykTy4sx
         cepYYbvEMmZEuU54y6lanTJSbIvcdlUmdIivAjTy9vROgsQunLMolvBg5SIsCPf0cVaw
         gnD+94PAIIPHlZ8NTQtowurwRXQG2Y0N14lXkLKGQwrhD4ebp2CDQ3FxJzIpfZMY9ll4
         Xn63aywovkD8LRGOVsYGFBcGhSwKMQGEHsxUaifTWSNvugJyrk9+Fn5GccEnJlzvJjWt
         BjedUMaj+Jn17nBL1AMPXEsGXjkJfb54iLUfVkv/PxgSYRLsl2F9vrXpgZpJDN2KLcFf
         keIw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Z/9R9FdUoL2qsV8lEemTy8Krnnda8kROPexOO+rf+Zc=;
        b=EnlIGKGUeCbbvuuIQ2pMyFDvnJ39mI2yja6jwBDIBPPP0uchjyOBI1i3Nlj6A2G7jh
         y+3BQiE5lmUUm/GxWDkO6mKyFDjiR22mK6AP5SMBa1LA6X5zEfjeoUISreaWZXcjqzWe
         Ys3SbYc3ZDoeVzMfu5BvQ6DY7mdiBRHPiUJeMUaTqrSca5QfA4w2Gcor4NcRHeNmcVSV
         4hj1H6zsXi3u0Rano1lT1XYbWgWMYwsllv2/05Jj0b42cfcimBxNMWjy4Tlw9d4Y1lbH
         Rp4lHCNG0vulPDN7dUXkX1rQ6pfLjlTDdOGUet2QYen1MWG+PA2Hb+w6eu48lp9gQzbI
         Sx+g==
X-Gm-Message-State: ANoB5pl5yFjsFlpBmjZbWDGr3IlPmfKG7cpHYkqxeCN3kO/S9o5/qi/a
	uDTzSoLXGFv+Oy+KOgoadMCbDkNiyYraBO4rEQs=
X-Google-Smtp-Source: AA0mqf6caaSGnXsrOnBa3iNT0u23FV61L/qvR4dBAxMu4HH0Z/+tl3Qcrw8Nfkd/hRhuuF1S35d/Qv3NhDXlPM6ul/M=
X-Received: by 2002:a05:6402:3212:b0:46c:76da:b58b with SMTP id
 g18-20020a056402321200b0046c76dab58bmr18854635eda.116.1670615560906; Fri, 09
 Dec 2022 11:52:40 -0800 (PST)
MIME-Version: 1.0
References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com> <bae74b9b-eeb6-76d9-b4d4-55c9a4fb2835@suse.com>
In-Reply-To: <bae74b9b-eeb6-76d9-b4d4-55c9a4fb2835@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Fri, 9 Dec 2022 14:52:27 -0500
Message-ID: <CAKf6xpsajy7xczMMib4v6KSELp30wpY_FJUQ9uobhoD6HSCi+w@mail.gmail.com>
Subject: Re: [PATCH 4/5] x86/tboot: correct IOMMU (VT-d) interaction
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, =?UTF-8?Q?Mateusz_M=C3=B3wka?= <mateusz.mowka@intel.com>
Content-Type: text/plain; charset="UTF-8"

On Tue, Dec 6, 2022 at 8:57 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> First of all using is_idle_domain() on the subject domain in the body of
> for_each_domain() is pointless. Replace that conditional by one checking
> that a domain actually has IOMMU support enabled for it, and that we're
> actually on a VT-d system (both are largely cosmetic / documentary with
> how things work elsewhere, but still).
>
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 19:53:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 19:53:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458224.716121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3jQb-00073d-2o; Fri, 09 Dec 2022 19:53:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458224.716121; Fri, 09 Dec 2022 19:53:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3jQa-00073W-VL; Fri, 09 Dec 2022 19:53:00 +0000
Received: by outflank-mailman (input) for mailman id 458224;
 Fri, 09 Dec 2022 19:53:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bplO=4H=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1p3jQa-00066w-1z
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 19:53:00 +0000
Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com
 [2a00:1450:4864:20::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14f9fc4e-77fb-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 20:52:59 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id bj12so13842823ejb.13
 for <xen-devel@lists.xenproject.org>; Fri, 09 Dec 2022 11:52:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14f9fc4e-77fb-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=MCMlJcD6iXKtS3UFwoBKLvLZ9cQSwTFMAWlCnvYBt0I=;
        b=FDT1mpc6gLA14aARf55JQ5YWuUkD4uPDZ78xHrbIhQF0a/Vvt0Qb8xMynFdwOWOGdo
         F43V7TRzFx9fEYYgVLRzkZCuvPz8dD5gVl5M7JOo8ag4yz67mXT6hTgZSy0RFeMaRZez
         QGjEDvliGGQJi1CUsoYnJ2FLqzXDy3EnQuimQ01qJ4AZMaw5fqXGwD0lFYSkAOzTCjdk
         TeCaUoFlu4xA5uxhX2KFSOi+LQIZZT6yi/o3h4Eujg/8xlqDtG+xJoUcAD2fSFgE8D8C
         cd4oaojm+7yXMtyaKjhJuWjnS/1VWiGEFJszOWV4pvDskm9Oi1jhllRfHncauG0x7GSV
         IhUA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=MCMlJcD6iXKtS3UFwoBKLvLZ9cQSwTFMAWlCnvYBt0I=;
        b=7yWXx61KEqWwTtAiOZUIGIdZ0CvBIkGHWS6dTokmiQGG8zTUaAuYQQf8LXzGIgS78A
         /f2H99cLlOIcKCNnvDtHNgkOVxR1nbSdnsx+X1trasotwwgRqsrDwogkulclLvMpccCk
         G2tCgHe6UP6ByReyiY82yaxdSEqG67/+e8cfALQAYFT2c1omkgtFXQTcwC6zeBwch7Hx
         N5GFbgJzkDC8BOI2gtrpwQ52NGiBbhRy1YeJTG20jV0q9Ae5zPjTnE7ecpkq/sDLnN1B
         BhpoJcp05NihkJzkc1KIZaP/7E5basruUukLmtYBMFmgrKINpqkDKMvPNdnf7hmSvhDj
         4JIw==
X-Gm-Message-State: ANoB5pnTpZhG2AE5xN5G5azV940fHgH3rsz/+2hXnj8jTqkzqY+y0L6O
	nzdlSY2otgs3MaY91T5j0s6Uhnvo2bI/1xnZc1LpuRRK
X-Google-Smtp-Source: AA0mqf4uVtC15WpBNZ0aaiAA0XLq0Zplm9lO7DFwHLvObY8XPbgK00KHX2lQHia2gS5i3GH2/3A6TjgkbO4coMLyUf4=
X-Received: by 2002:a17:906:cc8f:b0:78b:8ce7:fe3c with SMTP id
 oq15-20020a170906cc8f00b0078b8ce7fe3cmr79785421ejb.557.1670615578912; Fri, 09
 Dec 2022 11:52:58 -0800 (PST)
MIME-Version: 1.0
References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com> <028fc34e-8a39-b0b5-34bb-2c96a82fa452@suse.com>
In-Reply-To: <028fc34e-8a39-b0b5-34bb-2c96a82fa452@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Fri, 9 Dec 2022 14:52:46 -0500
Message-ID: <CAKf6xpuDhvcPS5H_P+XkmVbUTTGUtsDR4cVwNM8z6g3=MkoBBg@mail.gmail.com>
Subject: Re: [PATCH 5/5] x86/tboot: actually wipe contexts
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>, =?UTF-8?Q?Mateusz_M=C3=B3wka?= <mateusz.mowka@intel.com>
Content-Type: text/plain; charset="UTF-8"

On Tue, Dec 6, 2022 at 8:57 AM Jan Beulich <jbeulich@suse.com> wrote:
>
> Especially with our use of __builtin_memset() to implement memset() the
> compiler is free to eliminate instances when it can prove that the
> affected object is dead. Introduce a small helper function accompanying
> the memset() with a construct forcing the compiler to retain the
> clearing of (stack) memory.
>
> Fixes: c021c95498d9 ("x86: Replace our own specialised versions of memset and memcpy with")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 20:37:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 20:37:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458240.716131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3k7E-00046R-Ic; Fri, 09 Dec 2022 20:37:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458240.716131; Fri, 09 Dec 2022 20:37:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3k7E-00046K-Fa; Fri, 09 Dec 2022 20:37:04 +0000
Received: by outflank-mailman (input) for mailman id 458240;
 Fri, 09 Dec 2022 20:37:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/vX0=4H=citrix.com=prvs=3351f26b0=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p3k7C-00046E-Vs
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 20:37:03 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3ada0bf7-7801-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 21:37:01 +0100 (CET)
Received: from mail-dm6nam12lp2173.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Dec 2022 15:36:45 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN8PR03MB4948.namprd03.prod.outlook.com (2603:10b6:408:de::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Fri, 9 Dec
 2022 20:36:41 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.016; Fri, 9 Dec 2022
 20:36:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ada0bf7-7801-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670618221;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=DfF5fXyAJTGLV7Gwt4T347yPWa80m0/jmAOxM/3Hzm4=;
  b=al9YbfOEThn0hy22VY4/Y0E+SL2fUIH7t38DqLOovXK18HFjadOQD8ZR
   GTQgs+xgK+VURtE2bd67YVuEEO5oNdtUFly1HA81McUNyWjut+Aod+6CD
   aYqHV7KRFyuDaPCE7FTa+c9mtinjWnBlez0hTvXJuSQwv9uuQu5kFFb/+
   c=;
X-IronPort-RemoteIP: 104.47.59.173
X-IronPort-MID: 86613284
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:H0q5G65JC6uyNAToDaxC7gxRtBrGchMFZxGqfqrLsTDasY5as4F+v
 mEdCD3VOP/fZzP2c9wkPNuwpxwHucKBydRhGwduq3sxHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoT7QeF/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m0
 vdbcGgoMhO/pMmL8a64Tc1BjOkIBZy+VG8fkikIITDxK98DGMqGb4CUoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OnUooj+OF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNJMSuTjrK426LGV7m5LFywycVilmMaatG+cC9RNc
 U8JwCV7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxmdLngJSHhGctNOnN87Q3km2
 0GEm/vtBCdzq/uFRHSF7LCWoDiufy8PIgc/iTQsSAIE55zvpd81hxeWFNJ7Svfq1ZvyBC36x
 C2MoG4mnbIPgMUX1qK9u1fanzaroZuPRQkwjunKYl+YAspCTNbNT+SVBZLzt56s8K7xooG9g
 UU5
IronPort-HdrOrdr: A9a23:4sEWk65E/A1vXA6v7gPXwPLXdLJyesId70hD6qkmc20zTiX+rb
 HMoB1773/JYVkqM03I9errBEDiexLhHPxOjrX5Zo3SODUO0VHARL2Ki7GO/9SKIUPDH4BmuZ
 uJ3MJFebvN5fQRt7eZ3OEYeexQpeW6zA==
X-IronPort-AV: E=Sophos;i="5.96,232,1665460800"; 
   d="scan'208";a="86613284"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d7Cfn3Bd7rsUME2eiHaMjwDDwVpYmjAU0E49gyIzyJ0rofbz6NJVVfiv6UdOvABcaFZdk9X8LQ6ypjSrOdEkR2b/qRuBP5DJ63a6DMDyspf9pVKUfiXJaSi+P/d6sVXpw+jiwQqg/jy7Aip0kLLudaHU2RQ9qhXAF+9dT8xdQjmbGn8rk+GAeuMbxTs4rMsiJrOySCYEPKOCGbiVMnfgwB9aHERvZOnVW1EMQX4cyDIaPivfZ0DSfj0w44QDfLYEVLZJ+wmC9YQrPfUipzs/HriAkYHo48+7zV9+oCbx8era5me+hWkVui1Rbmr6MwmWzIyG11z3z9NaThRXVl4C5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DfF5fXyAJTGLV7Gwt4T347yPWa80m0/jmAOxM/3Hzm4=;
 b=UxRFwP0CWz9oEglIdTw9Q6fvAHLGrWwarN9E84kTGfaxtW7nBbGIMMYogTHjaxmOreyKTNg/EMjQNhhEcE/L2g7K2sriQVnzGeshhscjk4uK1EYtBMRCkF6gnBiLtJEHi6fZnEN5EvmNlpV5KOovcKLVH9Y1rwF0k+VjvukGCU/C5GlM0MAuiqF0xe825XlXJnbdsH3gu1alfOH0NN+Btr+zQbBMBB8mxpDu7t7Vvs8HsFXKs5TRXsPK2wgv1yI65/iTQfCPeFP4Z6mXw8sIbNzLXCJVNoEg18CzPp7nS8gfHUulEg9qdrPEVxR2wJ1UbNR7ZqAQ3A3MN7gEkcKmHg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DfF5fXyAJTGLV7Gwt4T347yPWa80m0/jmAOxM/3Hzm4=;
 b=PkVMSIrESwc/we79ssojwqF9hg5qaByfagyu93cyMxK+twwexgfgFYNCiwsi0HFgC9nd4rPS39YR5KsDzaieWCj98EE1HTji/8jg7FZ6vOW0rSnsxHcprp5dRcMBOMFs2+KIZaQbReluV5YkWRfVXFAXOARb5tS7WRC7DI3sAZo=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 1/3] x86/boot: Drop pte_update_limit from physical
 relocation logic
Thread-Topic: [PATCH 1/3] x86/boot: Drop pte_update_limit from physical
 relocation logic
Thread-Index: AQHX61jGXr4kBoFGFkuXJLE+nUmCrawm5uIAgAOIWgCAAOYAAII87/QA
Date: Fri, 9 Dec 2022 20:36:40 +0000
Message-ID: <f17e664c-03ec-7204-aa4b-19448fa72e81@citrix.com>
References: <20211207105339.28440-1-andrew.cooper3@citrix.com>
 <20211207105339.28440-2-andrew.cooper3@citrix.com>
 <dc3f5bf2-53f9-7dcd-2be7-f9f953b382cb@suse.com>
 <736f40e4-0297-ba7b-abce-c9b67ad8eb31@srcf.net>
 <f522b9df-1ef5-4fa0-7c77-f4b142164df9@suse.com>
In-Reply-To: <f522b9df-1ef5-4fa0-7c77-f4b142164df9@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BN8PR03MB4948:EE_
x-ms-office365-filtering-correlation-id: ee267fe5-cce7-4bd5-798f-08dada2513b9
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 rZ8gTfgpJk4V1sK7L7OaSeM1TXgnpxdaAJerxqyqSajSAEiKUMLFybuzmwHXWv+qQXqqbXqZn4m2oaR1w2mVK2ZfChlpi3Pi2iYOQMDJjXRcwS8s4fwxNBU/2RTlri71VJvWn9EGzVSPsE4/qLNUsMuCgVNOhiEiAkOL7nLyrmIgR2Ko+xyYsgmtkOnSGH/DWwVB7GlcJnTa/VCJHqhbgpG4t9goNcorW7eF0giz5vKZZmX0Di89R1pAw7GGnPzUgSCjEC66oM5Fnptlmylb44L/sKXkYJqKid8s9+3zIErYWzC+t8TStv9mhbsCiA1Js2j0jRH48nsmk8zAFcEhLAVqnj/cgLq+KuyoSb2ebZ8NMHWZna2QhgIo7wKj1H5b6xx5CpMWUDaaQ19Z7U4ekttIZu3zV5A0cUT4BwDOQdqxtf0vwgKizc1i/Cy/YfAwQcTkngbaCJ/0a0Inf/+BMwFXjGR0il2SC7OCnOG3CLiSMd0AvVBJbIwGD+nYWtFCEBCzBa/gJ8LONYqMS0PnPRFZKa8GJ3bbrRGZrQhzpwNeqlafdFHF9cvKnSdfJlXwbd/SoM5OyG0gm5slZEWworwE+8f5Kcn21MvZRzDHZBeGiHwSufkv3EVMU9QnWbllVGmtcT51UxyKD18Yehfi1PWBmAmDvHX2w3elDkSYSqjiQOwi7054jGUAkBG6chNYgoHmz3mp81M90q4qVYJtXqh0jWWiJAq8DddpmZewYUmVK1OJl9QnUzuXFW7zYggF6r6rlnfM934MRt3XvQXJEQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(396003)(39860400002)(376002)(366004)(346002)(451199015)(2906002)(31696002)(2616005)(38070700005)(82960400001)(4326008)(8676002)(6512007)(26005)(38100700002)(41300700001)(66446008)(64756008)(66476007)(122000001)(66946007)(76116006)(66556008)(186003)(36756003)(54906003)(6506007)(316002)(53546011)(5660300002)(6486002)(91956017)(86362001)(478600001)(31686004)(83380400001)(71200400001)(8936002)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?U0ZSSUFjT2wyQUsvRWcrbUlGeFZmdWpUdzlrdUxTSHNDS0plWVdpT0MycE1h?=
 =?utf-8?B?SVpQbnR3aGQ2YkdrMzhNbHVSZFpnNGtqZjJicTdvZHAwMVRpd3RJRVdIMkFi?=
 =?utf-8?B?ak5mTE0wR3M2ekhhbDBOMXd0SkxoTTlRTksxQjlMQmwzSkJxVEFBcmNjSlZO?=
 =?utf-8?B?SDRPSTZWT3Fuc3JZVzdJZm1WTjIwZUE3WnZ4UDcrZ1ZkYXZSTDBuS0ZZaDFW?=
 =?utf-8?B?bWpacmovMzJqOWtjaE1jcVJOZUY4czEySDB1UVBuUm5kT21uSUZIU1hOb0Y3?=
 =?utf-8?B?azZkTGlkc3BBR2dDZkF2eSs5WUdRN2dqaFAzaEtJL0w3L1A4S1IvUmpENjVO?=
 =?utf-8?B?S3RPS1djUnFlK3hxenlQT29kNDJsVEdYTGp4cEx1dTF0eGo1RUk5Q1A0eURj?=
 =?utf-8?B?REdISDV0bG15d1UyczZ6dzVObUY5djRyUW51OFlHOW9EZi9IUCtyWHdEa2lz?=
 =?utf-8?B?V0hKN05NQlpkTzVINTZ6SjJsd0J1aitmZG0wTHIzMEpqeEd0VWpsSGFZQ3ZB?=
 =?utf-8?B?cUVoU1IrS2QySk5TcnM3OU4rM2VrUVh5Q0hGdFliU2RpL3M1b1JJc2pEZllo?=
 =?utf-8?B?UW1wWEtlSnRTeHlZQUpnc1dBYW1wSzJJakI2aXl0U0QrVGZFb2RoN2RaNXlD?=
 =?utf-8?B?dFJlOTFvQlg5dW1pZnI0My8wam1FZFdCb0JDYjZGZ3VqM2R1TmRkMEtqK0du?=
 =?utf-8?B?LzdVV0Q4L3YzVjJtZFhXcGtUVjBYb3Z6QVJyOFlqVG11Mk81eVkwM1E4SlNh?=
 =?utf-8?B?R3lqZ2M3bFpBM1pkTlBOdUdMZFRnWDRuSENvM0xjZ0NWdFgxL1pRMkl6bjdw?=
 =?utf-8?B?aGhYUzYwRkYrQ216dUZEQy9vUXY2QmptTVFNckNCWHNaeVorcmhaZW9iaGQ1?=
 =?utf-8?B?anQ1NVFGcXA5eDEwbHhkb3JuSFVrTEtUei9TUFZNb1NaT2lJS2drUlVnL0Rk?=
 =?utf-8?B?eG5raCtQUGNhTXZnNllLbFdVdTdScDMyRU0wSzZxenlMcjNzTno3N0JESDJD?=
 =?utf-8?B?WS9ET202bEZhd21pQkdaSlFFT0dyQUp6WDRKUHFxMjZmY3BsWmhCdjNHSFRF?=
 =?utf-8?B?S3VKUjdjWHY0c1RvVmJSQTRPbFU3NTBPaVVJRzltT0lnSlJTSG9USU9PQ0xX?=
 =?utf-8?B?Q1NSNkxlZVRiblAwTmR5aVhTR252SzZyN25ia0lHRDFnRXUrWWlEM21hQXRr?=
 =?utf-8?B?NjBDQnU2YU5XdFNuaTh2ZTFPQndRODBJWCtuaDJscC8xUXVUUXArUDVwL1p6?=
 =?utf-8?B?TW56M0tBYVNTR3Erd2wzRGs2aGw4YUJLZXZXYUxWb3laaGtBeFRJT2pnVGVH?=
 =?utf-8?B?OVF1R2o4TXpoRzlrZy9FZ25ldmZqWnV6YVlRQ08yMnpBUkFpMFlINXNPUjln?=
 =?utf-8?B?UzJJRjhnL3FYTjBEZHpGNGxvRUhlZjd5eGZKREVGNmNQcURKWHlpVitsY1dH?=
 =?utf-8?B?U1A0emVxM1E2TVZrMlhkem41OEZjOE5NajZEa0hBeVp2b1g5dHlud3kwNE1T?=
 =?utf-8?B?alNkVW5COTRRVW9WOGJuMjNJaDRwSThpbXFMcUZkazhIZXllLzBTZHZ5VVpw?=
 =?utf-8?B?T2R5VlZSQzh3RTZ1ZDJYK24zU1NBSWNSTWJXSk91Y3VDREtTK25TaVlZN3Q1?=
 =?utf-8?B?TjJNUW80NWRTK0xkeW5IaFlmbnZrdmw5VVNJTXAxYnhoRDY3em5XQ09nbjdo?=
 =?utf-8?B?N1IyblF4WTd5aXJrbER5NHN0ZnQ0UVFQY3MrL2k2dEQvN1NEOGV4TnZ0UHBY?=
 =?utf-8?B?ZjNZWm9vdmluQmYvTEpwaXdFa0NuTTE3R1lCLzE5STJBTHR2TWQ2aTZ0ZHov?=
 =?utf-8?B?bWJCNll2SFdYMXM2bzFGREtYYkJHdHpXUTdFQk53QUpIOXptdVZrOWppQVZs?=
 =?utf-8?B?SFAvYUpDZGdlYnRrSzBsOEZQRUN3Q290NUF2L3Z2bThrTTh4SExYNWFSQXhU?=
 =?utf-8?B?ZkhDM2p5S3A2R1pLMkRJVVV2UTJLSkVYbFNORXVua2hmM016bTlkdW5XbU5i?=
 =?utf-8?B?elBQWWRlN1d6UUw1OCtrME9jKzV6VUZCbXF6ek93ZldnZ1gvU1pBNS9TS2NB?=
 =?utf-8?B?Z2JTM3UzQ0Y2VERNQzlWYVdoelU0NWZpaDlHRDJUdUVXSkFyamVTRm12OVRQ?=
 =?utf-8?Q?6Rzl0RVsYEHezx/2bw9kn9ER7?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <0138282D160FFE42A8DF9364E1E1ED62@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ee267fe5-cce7-4bd5-798f-08dada2513b9
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Dec 2022 20:36:40.5757
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3zX9TQqdU66bRo48kXQKxeMdAzlCGBGdpNdjm1nJBx0NveE2dNzkFiG+aXKW7BKytvB/UtybD865ueEdqVHD/925qp8wYcRp2j/B4U8ha3I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB4948

T24gMTAvMTIvMjAyMSAwNzoxNywgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDA5LjEyLjIwMjEg
MTg6MzQsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBPbiAwNy8xMi8yMDIxIDExOjM3LCBKYW4g
QmV1bGljaCB3cm90ZToNCj4+PiBPbiAwNy4xMi4yMDIxIDExOjUzLCBBbmRyZXcgQ29vcGVyIHdy
b3RlOg0KPj4+PiAtLS0gYS94ZW4vYXJjaC94ODYvc2V0dXAuYw0KPj4+PiArKysgYi94ZW4vYXJj
aC94ODYvc2V0dXAuYw0KPj4+PiBAQCAtMTIzMCw3ICsxMjMwLDYgQEAgdm9pZCBfX2luaXQgbm9y
ZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkNCj4+Pj4gICAgICAgICAgICAg
IGwzX3BnZW50cnlfdCAqcGwzZTsNCj4+Pj4gICAgICAgICAgICAgIGwyX3BnZW50cnlfdCAqcGwy
ZTsNCj4+Pj4gICAgICAgICAgICAgIGludCBpLCBqLCBrOw0KPj4+PiAtICAgICAgICAgICAgdW5z
aWduZWQgbG9uZyBwdGVfdXBkYXRlX2xpbWl0Ow0KPj4+PiAgDQo+Pj4+ICAgICAgICAgICAgICAv
KiBTZWxlY3QgcmVsb2NhdGlvbiBhZGRyZXNzLiAqLw0KPj4+PiAgICAgICAgICAgICAgeGVuX3Bo
eXNfc3RhcnQgPSBlbmQgLSByZWxvY19zaXplOw0KPj4+PiBAQCAtMTIzOCwxNCArMTIzNyw2IEBA
IHZvaWQgX19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApDQo+
Pj4+ICAgICAgICAgICAgICBib290c3ltKHRyYW1wb2xpbmVfeGVuX3BoeXNfc3RhcnQpID0geGVu
X3BoeXNfc3RhcnQ7DQo+Pj4+ICANCj4+Pj4gICAgICAgICAgICAgIC8qDQo+Pj4+IC0gICAgICAg
ICAgICAgKiBObyBQVEVzIHBvaW50aW5nIGFib3ZlIHRoaXMgYWRkcmVzcyBhcmUgY2FuZGlkYXRl
cyBmb3IgcmVsb2NhdGlvbi4NCj4+Pj4gLSAgICAgICAgICAgICAqIER1ZSB0byBwb3NzaWJpbGl0
eSBvZiBwYXJ0aWFsIG92ZXJsYXAgb2YgdGhlIGVuZCBvZiBzb3VyY2UgaW1hZ2UNCj4+Pj4gLSAg
ICAgICAgICAgICAqIGFuZCB0aGUgYmVnaW5uaW5nIG9mIHJlZ2lvbiBmb3IgZGVzdGluYXRpb24g
aW1hZ2Ugc29tZSBQVEVzIG1heQ0KPj4+PiAtICAgICAgICAgICAgICogcG9pbnQgdG8gYWRkcmVz
c2VzIGluIHJhbmdlIFtlLCBlICsgWEVOX0lNR19PRkZTRVQpLg0KPj4+PiAtICAgICAgICAgICAg
ICovDQo+Pj4+IC0gICAgICAgICAgICBwdGVfdXBkYXRlX2xpbWl0ID0gUEZOX0RPV04oZSk7DQo+
Pj4gLi4uIGNvbnNpZGVyaW5nIHRoZSBjb21tZW50IGhlcmU6IElzbid0IGl0IDBkMzFkMTY4MDg2
OCAoIng4Ni9zZXR1cDogZG8NCj4+PiBub3QgcmVsb2NhdGUgWGVuIG92ZXIgY3VycmVudCBYZW4g
aW1hZ2UgcGxhY2VtZW50Iikgd2hlcmUgbmVlZCBmb3IgdGhpcw0KPj4+IGRpc2FwcGVhcmVkPyBB
ZmFpY3QgdGhlIG5vbi1vdmVybGFwIG9mIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gaXMgdGhlDQo+
Pj4gY3J1Y2lhbCBmYWN0b3IgaGVyZSwgeWV0IHlvdXIgZGVzY3JpcHRpb24gZG9lc24ndCBtZW50
aW9uIHRoaXMgYXNwZWN0IGF0DQo+Pj4gYWxsLiBJJ2QgdGhlcmVmb3JlIGxpa2UgdG8gYXNrIGZv
ciBhbiBhZGp1c3RtZW50IHRoZXJlLg0KPj4gSSBkb24ndCBjb25zaWRlciB0aGF0IGNvbW1pdCBy
ZWxldmFudC4NCj4+DQo+PiBUaGVyZSBpcyBubyBjaXJjdW1zdGFuY2UgZXZlciB3aGVyZSB5b3Ug
Y2FuIHJlbG9jYXRlIFhlbiB3aXRoDQo+PiBhY3R1YWxseS1vdmVybGFwcGluZyByYW5nZXMsIGJl
Y2F1c2Ugb25lIHdheSBvciBhbm90aGVyLCB5b3UnZCBlbmQgdXANCj4+IGNvcHlpbmcgbm9uLXBh
Z2V0YWJsZSBkYXRhIG92ZXIgdGhlIGxpdmUgcGFnZXRhYmxlcy4NCj4gVGhhdCB3YXMgZnJhZ2ls
ZSwgeWVzLiBJIHRoaW5rIEkgKHZhZ3VlbHkhKSByZWNhbGwgYSBkaXNjdXNzaW9uIEkgaGFkDQo+
IHdpdGggS2VpciBhYm91dCB0aGlzLCB3aXRoIGhpbSBwb2ludGluZyBvdXQgdGhhdCB0aGUgbG9n
aWMgYnVpbGRzIHVwb24NCj4gYWxsIG5lY2Vzc2FyeSBtYXBwaW5ncyBiZWluZyBoZWxkIGluIHRo
ZSBUTEIuIElmIHlvdSBzdHJpY3RseSB0aGluaw0KPiB0aGF0J3Mgbm90IHdvcnRod2hpbGUgdG8g
Y29uc2lkZXIgb3IgbWVudGlvbiwgdGhlbiBzbyBiZSBpdC4NCg0KT2ssIEknbGwgdHdlYWsgdGhl
IGNvbW1pdCBtZXNzYWdlLsKgIEJ1dCBoYXZpbmcgY29tZSBiYWNrIHRvIHRoaXMgYWZ0ZXINCm1v
cmUgdGhhbiBhIHllYXIgYXdheSwgSSB0aGluayBpdCdzIHdvcnRoIHBvaW50aW5nIG91dCB0aGF0
IHRoZSBkZXRhaWxzDQppbiAwZDMxZDE2ODA4NjggZGVtb25zdHJhdGUgdGhhdCB0aGUgInBhcnRp
YWwgb3ZlcmxhcCIgbG9naWMgd2FzIGluZGVlZA0KYnVnZ3kuDQoNCkluIGEgVk0sIGEgdmNwdSBt
aWdyYXRpb24gYXQganVzdCB0aGUgd3JvbmcgbW9tZW50IHdpbGwgZW1wdHkgdGhlIFRMQg0KdW5k
ZXIgeW91ciBmZWV0LsKgIFNvIHdpbGwgYSB3aG9sZSBzbGV3IG9mIG1pY3JvLWFyY2hpdGVjdHVy
YWwNCmNvbmRpdGlvbnMsIG9yIGEgcG9vcmx5IHRpbWVkIFNNSS7CoA0KDQpXaGF0ZXZlciBwZW9w
bGUgaGF2ZSB0cmllZCB0byBjYWxsIGl0IGluIHRoZSBwYXN0LCBpdCB3YXMgYnJva2VuIHBsYWlu
DQphbmQgc2ltcGxlLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 21:43:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 21:43:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458248.716142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3l96-00044J-D2; Fri, 09 Dec 2022 21:43:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458248.716142; Fri, 09 Dec 2022 21:43:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3l96-00044C-A7; Fri, 09 Dec 2022 21:43:04 +0000
Received: by outflank-mailman (input) for mailman id 458248;
 Fri, 09 Dec 2022 21:43:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/vX0=4H=citrix.com=prvs=3351f26b0=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p3l94-000445-NU
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 21:43:03 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 71c83d76-780a-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 22:42:59 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71c83d76-780a-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670622179;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=FR/SFLoYdR2QkEkTF92LvNk+qsaDxfKWW3VWAuwwPEw=;
  b=X80owFAInGbR2gVSJDF8s2+4G4xfHEX37/VRebccYml17E1kE6NAcjPs
   auN7flt1AFERspa7BRPuoNbQgd0v5zR8njJW++WyC5o2HGxo5/clKcvG+
   0QeYiVBeTdfxZMH2skoXydY+npjlFGeStaCIcMHiC3MBPb4PgNJYeSD2k
   g=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87162377
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:CTNigqjj0yZrnzpMc1LY8hcGX161dRAKZh0ujC45NGQN5FlHY01je
 htvXG/QM/2Cazf8cttxYY/goxxU7cDQz9BlTVNq+So9FCkb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5gePzyJ94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQGKjoLfBOO2tjr2b6mErFr39kjdo70adZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJagx/5JEWxY9EglHWdTFCpU3Tjq0w+2XJlyR60aT3McqTcduPLSlQthbH/
 zycpDumav0cHP2h2xzV41P0vd/ognn8XJM4H5C39PE/1TV/wURMUUZLBDNXu8KRlUqWS99Zb
 UsO9UIGj4I/6UiqRdnVRACjrTiPuRt0c8pdFag25R+AzoLQ4h2FHS4UQzhZctskucQqAzsw2
 Te0c8jBXGI19ufPEDTEq+nS/Wja1TUpwXEqey0OSxkG7oTZ/Zg/k0qXSY9+EPTykYigcd3v+
 AyioC87jrQVqMcE0aSn4FzK6w6RSoj1oh0dvVuOAD/8hu9tTMv8PtHztwCHhRpVBNzBJmRtq
 kTojCR3AAomKZiW3BKAT+wWdF1Cz6bUaWaM6bKD8nRIythMx5JBVdoIiN2dDB0zWirhRdMOS
 BG7hO+pzMUPVEZGlIcuC25LN+wkzLL7CfPuXe3OY9xFb/BZLVHYpH83PR7JhT+3zCDAdJ3T3
 r/CIa6R4YsyU/w7nFJauc9CuVPU+szO7TyKHs2qp/hW+bGfeGSUWd843KimN4gEAFe/iFyNq
 b53bpLaoyizpcWiOkE7B6ZPdwFVRZX6bLiqw/FqmhmreVQ2QDF+UK6ImdvMueVNxsxoqwsBx
 VnlMmcw9bY1rSevxdmiApy7VI7SYA==
IronPort-HdrOrdr: A9a23:xTJRVqo9KGRopjwIEevml5IaV5oteYIsimQD101hICG8cqSj+P
 xG+85rsyMc6QxhP03I9urgBEDtex7hHNtOkOss1NSZLW3bUQmTTL2KhLGKq1aLJ8S9zJ856U
 4JSdkGNDSaNzZHZKjBjDVQa+xQo+W6zA==
X-IronPort-AV: E=Sophos;i="5.96,232,1665460800"; 
   d="scan'208";a="87162377"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH v2-ish] x86/boot: Relocate Xen using memcpy() directly
Date: Fri, 9 Dec 2022 21:42:44 +0000
Message-ID: <20221209214244.17965-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20211207105339.28440-1-andrew.cooper3@citrix.com>
References: <20211207105339.28440-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

We can relocate Xen by reading out of the virtual mapping that we're executing
on, and write directly into the directmap.  In fact, this removes one
dependency on Xen being "at 0" (the XEN_IMG_OFFSET passed as src) for
relocation to occur.

This removes all the temporary pagetable handling under the covers of
move_memory(), and results in a forward copy rather than a chunked backwards
copy (caused by move_memory() always constructing src and dst in a way to
trigger memmove() to copy backwards).

With the penultimate caller of move_memory() dropped, clean up the API.  Drop
the keep boolean, folding in 0 from the final caller, and drop the return
address which has been unused since c/s 0b76ce20de85 ("x86/setup: don't
relocate the VGA hole.") in 2007.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

v2-ish:
 * Split out previous series.  This was the "easy to shuffle" work that still
   gets a win.  Everything else I'm going to rework differently, so will have
   to be deferred for now.
---
 xen/arch/x86/setup.c | 15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 6bb5bc7c84be..4102aae76dde 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -425,8 +425,8 @@ void *__init bootstrap_map(const module_t *mod)
     return ret;
 }
 
-static void *__init move_memory(
-    uint64_t dst, uint64_t src, unsigned int size, bool keep)
+static void __init move_memory(
+    uint64_t dst, uint64_t src, unsigned int size)
 {
     unsigned int blksz = BOOTSTRAP_MAP_LIMIT - BOOTSTRAP_MAP_BASE;
     unsigned int mask = (1L << L2_PAGETABLE_SHIFT) - 1;
@@ -463,13 +463,8 @@ static void *__init move_memory(
         src += sz;
         size -= sz;
 
-        if ( keep )
-            return size ? NULL : d + doffs;
-
         bootstrap_map(NULL);
     }
-
-    return NULL;
 }
 
 #undef BOOTSTRAP_MAP_LIMIT
@@ -1277,7 +1272,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
              * data until after we have switched to the relocated pagetables!
              */
             barrier();
-            move_memory(e, XEN_IMG_OFFSET, _end - _start, 1);
+            memcpy(__va(__pa(_start)), _start, _end - _start);
 
             /* Walk idle_pg_table, relocating non-leaf entries. */
             pl4e = __va(__pa(idle_pg_table));
@@ -1334,8 +1329,6 @@ void __init noreturn __start_xen(unsigned long mbi_p)
                    "1" (__va(__pa(cpu0_stack))), "2" (STACK_SIZE / 8)
                 : "memory" );
 
-            bootstrap_map(NULL);
-
             printk("New Xen image base address: %#lx\n", xen_phys_start);
         }
 
@@ -1361,7 +1354,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
             {
                 move_memory(end - size + headroom,
                             (uint64_t)mod[j].mod_start << PAGE_SHIFT,
-                            mod[j].mod_end, 0);
+                            mod[j].mod_end);
                 mod[j].mod_start = (end - size) >> PAGE_SHIFT;
                 mod[j].mod_end += headroom;
                 mod[j].reserved = 1;
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 09 21:43:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 21:43:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458254.716153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3l9o-0004YQ-Mq; Fri, 09 Dec 2022 21:43:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458254.716153; Fri, 09 Dec 2022 21:43:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3l9o-0004YJ-Je; Fri, 09 Dec 2022 21:43:48 +0000
Received: by outflank-mailman (input) for mailman id 458254;
 Fri, 09 Dec 2022 21:43:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3l9n-0004Y9-BG; Fri, 09 Dec 2022 21:43:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3l9n-0005l1-8z; Fri, 09 Dec 2022 21:43:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3l9m-0002Xy-TO; Fri, 09 Dec 2022 21:43:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3l9m-00071a-Su; Fri, 09 Dec 2022 21:43:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZKz8uHKpE0COaBlqE8moCDJJLFMlU3vrp2mViWZ0LEE=; b=uW9eSIoZr7U7H7fq1q/bcX1cF6
	LEG7rG8weOC7GphCEy6n3E1Q26TXsByOlWW2HIJl09MPWo1QbN7drqpkoVNzVjm7JgImTytvMeyg0
	z8CGqoTMW3z/wcrdlDZo1wok4CpxJM0v6uaZk2X9/k36m2qu8bFYCMjWXts02bzKI+80=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175130-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175130: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=8d30b9e32c462fdfab4207bfcd31ed63749c4f28
X-Osstest-Versions-That:
    xen=d7669c101427c1504517418e832fb760ae89e6bc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 09 Dec 2022 21:43:46 +0000

flight 175130 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175130/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  8d30b9e32c462fdfab4207bfcd31ed63749c4f28
baseline version:
 xen                  d7669c101427c1504517418e832fb760ae89e6bc

Last test of basis   175102  2022-12-08 22:02:07 Z    0 days
Testing same since   175130  2022-12-09 19:03:41 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Orzel <michal.orzel@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   d7669c1014..8d30b9e32c  8d30b9e32c462fdfab4207bfcd31ed63749c4f28 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 21:48:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 21:48:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458267.716165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3lEE-0005H4-8H; Fri, 09 Dec 2022 21:48:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458267.716165; Fri, 09 Dec 2022 21:48:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3lEE-0005Gx-5U; Fri, 09 Dec 2022 21:48:22 +0000
Received: by outflank-mailman (input) for mailman id 458267;
 Fri, 09 Dec 2022 21:48:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/vX0=4H=citrix.com=prvs=3351f26b0=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p3lED-0005Gr-6w
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 21:48:21 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 310bf3a4-780b-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 22:48:19 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Dec 2022 16:48:12 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA2PR03MB5802.namprd03.prod.outlook.com (2603:10b6:806:f9::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.18; Fri, 9 Dec
 2022 21:48:06 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.016; Fri, 9 Dec 2022
 21:48:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 310bf3a4-780b-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670622499;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=rUgU4yRuYSoG/+a4ZiHw46MHbVaRO4LNmBcBeohLDL8=;
  b=Lw5sT5FtNejBXoxgFLh4TJIkkjvEVHHk/nnku36SfTdyXu140/f3HlsM
   OIrGxudbWIYF/mLvmMsWIS5TxoHItGkJof5fu15A+zwPJ5wsMAXOGXIcQ
   4F9z29Zb7HNS2C9q+C3sI7YIMJ+JGkyY6ZR6EWLKTAUdJImG4y5K2yTpP
   8=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 90127988
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:lZQzs63JtN60bP2dmvbD5fFwkn2cJEfYwER7XKvMYLTBsI5bpzQGz
 DROXzzVOqyONjagKIt/PITk9U4FscSAxoUxTQBlpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZmNKgQ1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfWDpHq
 6IAGR00cxmtv7iG7KC/FLNpr5F2RCXrFNt3VnBI6xj8VK9ja7aTBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqsy6Kkl0ZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXKjAdhNRe3onhJsqAytl145LgU7aV6Eg+PikUixAdRNe
 3VBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9Vna15rqS6zSoNkAowXQqYCYFSU4P5YnlqYRq1xbXFI89Qeiyk8H/Hiz2z
 3aSti8iir4PjMkNkaKm4VTAhDHqrZ/MJuIo2jjqsquexlsRTOaYi0aAszA3Md4owF6lc2S8
IronPort-HdrOrdr: A9a23:TFfrSaA0cTaFkmvlHej1sseALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPEfP+U0ssHFJo6HiBEEZKUmsuaKdkrNhR4tKOzOW91dATbsSoLcKpgeNJ8SQzJ876U
 4NSclD4ZjLfCBHZKXBkUeF+rQbsb+6GcmT7I+woUuFDzsaEp2IhD0JaDpzZ3cGIDWucqBJca
 Z0iPAmmxOQPVAsKuirDHgMWObO4/fRkoj9XBIADxk7rCGTkDKB8tfBYlil9yZbdwkK7aYp8G
 DDnQC8zL6kqeuHxhjV0HKWx4hKmeHm1sBICKW3+4sow3TX+0SVjbZaKvm/VQMO0aaSAZER4Z
 /xSiIbToFOArXqDziISFXWqlHdOX0VmgLfIBej8AfeSIrCNXMH4oN69PxkmlGy0TtegPhslK
 1MxG6XrJxREFfJmzn8/cHBU1VwmlOzumdKq59as5Xxa/ptVFZ9l/1owKpuKuZIIAvqrIQ8VO
 V+BsDV4/hbNVuccnDCp2FqhNihRG46EBuKSlUL/pX96UkdoFlpi08DgMAPlHYJ85wwD5FC+u
 TfK6xt0LVDVNUfY65xDPoIBcG3FmvOSxTRN3/6GyWtKIgXf3bW75Ln6rQ84++nPJQO0ZspgZ
 zEFEhVsGYjEniefvFmHKc7hiwlbF/NLggFkPsulqSRkoeMNIbDIGmEVE0kldemrrEWHtDbMs
 zDTa5rPw==
X-IronPort-AV: E=Sophos;i="5.96,232,1665460800"; 
   d="scan'208";a="90127988"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xh57pbHMfKKBIfHUacuhiO8JG23sXv2KZCOWyGL+LGobddmM8KyOEvEkCjY4wwNGihEZix/b/y6GO+TeUjSKvaKF5zFHbcmCUHlzFiKjT79ikgDHLbXrA/ULDJPCMg1WRvAdeCzKlPwl0KjIWqkwITaTA29l1pi5xymBcrYcOku9C2tQK9o/QCvt+rwK2LIk0lotj+JBH7OS9t3kXFzXlF/VVoTOsGdfAKfSSr4SL1sI+ji/bDxaHQdy7m/eqBq3fBJFtH+pf4ZbrlyRds5Fy+E/5+XRwj37TgonubT/qrrWjvxlCDmUIp8fhzxy5jjrWVoYH6va9gwLxzuPEtAEpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rUgU4yRuYSoG/+a4ZiHw46MHbVaRO4LNmBcBeohLDL8=;
 b=Vv/ezyjf1lhNvQ0Qy3Zh0xw6FYkee5mTHQS+6CoC+EZQq5dgz3ZcA1Ik/Zt2DPmxeIK7QILqHNyygmKmDcuJsjXLTT35asTGVj0chIrRunOR4jppPe40RLt5I655Zb9WZg76ZIhAUbOFXljfE2esmwaCMhkifM4K9SsXcSOo2dCLLKreehYFqXFO40TT6t9FD+h4ByC0WLgWlmP2CzkqqAMaacXFlYklQNRpbe806AcUbOMqNZ/bf08MBWD32PD6moCIoTL9ziVf9/YjJCpGbAQLpy4bUiMt/EDbZws6SBEcAn3SK3B8cuSlEVFYvEbm8B2dT97LJ+SXXBZoyJaTIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rUgU4yRuYSoG/+a4ZiHw46MHbVaRO4LNmBcBeohLDL8=;
 b=xBSEZ9GnyXItyEzwopdJqAnbui2wXvPCk08vxtVUBHks7EC6jzuwycGpGUp3D6xhyG/PAWXrkCknmnis99Pf1ixSWGQumBiNHs8WyyJRolfotCEN0A7f+jlZTDVNnuGdGY8uPMUtEBqq3CegszSWsVNhe729DtpomVQnKf5yB4s=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, George
 Dunlap <George.Dunlap@citrix.com>
Subject: Re: [PATCH 3/5] x86/mm: PGC_shadowed_pt is used by shadow code only
Thread-Topic: [PATCH 3/5] x86/mm: PGC_shadowed_pt is used by shadow code only
Thread-Index: AQHZCXpM2cQpccRTS0mqJcKyQ1lQz65mHOGA
Date: Fri, 9 Dec 2022 21:48:06 +0000
Message-ID: <e15917f0-b675-86ca-45b0-73c33dbe0356@citrix.com>
References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
 <512cfa7e-00b8-6efa-89d1-c850ade61231@suse.com>
In-Reply-To: <512cfa7e-00b8-6efa-89d1-c850ade61231@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|SA2PR03MB5802:EE_
x-ms-office365-filtering-correlation-id: 1a0fa4cb-266d-4e36-ef2c-08dada2f0e4b
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 y5tgGUZ/URcyYlEoOxSjcdCQDA4fkP5K3pxsq1YCME7ulFGrAVDlQHgMN6JhWB7sky4qpPlFMWs57z7r7nRZcRWm7iK87oVSucrqWV24ykGuiWCpvins2lN/S+LH7SwH7x4oKP04ebCszWUOuxIJP4Oroa5VozuydmpJ28z82ukIetrGcxIEHEE2vuEUiYS4rmhTSxNCNgOLa5bwaEp5tyDutiPL34OdqZ/jIrhX6W7NbTuqXdf2gWri87Ta8sc2/pkeNtDvP8DU4Q7YKzg/zz9+omFwOr0rIFNrF7T5gLLIuaGZz6REKdiTaU19dNfsLnkJqHCyIqV4l2EVebdi/LTN96C76BL0hXKnfYpE8PkjmjPF+mvLZgXcHqyCvQ17vjHVVbFqf0XL4E8Hs8CC74SbQouXoltLil1d2bXtTDNZc9Rvl//4aZZFmGyKvCVlLK/6pijyyOPi+hBqM4VQlSWRiMxQo3WP0XSBaETunCVnD84I/poAcMEZPZNNo+iz4C1IozYkBMumeTRVQY2tOfNwKcguafZa9Vn5H+In98FEz8855uI6eRhBEIfKzv1KyILRgWNamvgaNVChj+CZIOaLPYljL/tgYLFZXqQnPKawhGGdsGoO8k7r+I3SMaAt+ScBtUz+HTQBODHwHoS/OShs45FY5/LvKjaSQG4ctKsukjBz2Zh+nt2Ozu8PW3jTRtiGeBhi/ZkCMiS8NGnw40RubUYjmbHPKhSqhT9VfbbWoCklrcrD2ntW9lb+lLk3W/qJ2rnNuis+cdjIKmEyfw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(39860400002)(396003)(136003)(346002)(376002)(451199015)(316002)(31686004)(54906003)(110136005)(71200400001)(36756003)(91956017)(76116006)(6506007)(122000001)(8936002)(5660300002)(38070700005)(53546011)(8676002)(66946007)(4326008)(64756008)(66556008)(66446008)(478600001)(66476007)(6486002)(2616005)(41300700001)(107886003)(6512007)(2906002)(4744005)(186003)(26005)(82960400001)(38100700002)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?ZkQwRnNtUHNLMFF4aW1DSURra3Z2cDlJdENrTkQvOVVVTGkzYVdVWndpVHB0?=
 =?utf-8?B?NEtGd0ZzbzU3NjhHaEVDYnU2QjBsNmRodU0zMWJ2QlRRZVJVTlhHUlpmU3Br?=
 =?utf-8?B?ZUNkbkRzaVBkK28xYkZieGZubTJ1NTJwQm12WVhhTzNTRWNpYVJkUHhBSyt5?=
 =?utf-8?B?cm01TXJVT2JySXVPejBKelJneUwzL3g0WVh0b1dINll4WmFJUDZoN0NkSjVW?=
 =?utf-8?B?TTJZVUVTU01ZcndMYlEwMTVyZ1p4Qk5CM0g1VzhmZitQbktGR1lQMUFNemls?=
 =?utf-8?B?NkMzemJkZUcxUHBTOHVONTVYMFN1NUVvNWxvZ0lPVzd5OUhock9sRTFwdWRK?=
 =?utf-8?B?NDdFYmlxS3ZpZTdiRVRQQldZMXliZVV3akZ5SkJ2eTRZU2ZZYkNtRHFsUG1C?=
 =?utf-8?B?ZXVpZ29Qbk9Ub2lsN2F0dHNpWFQ2bGo1Z09VcllTZlpTSGZoUE1HYW9mZ0lH?=
 =?utf-8?B?RHhMa2cvMWhvd000RDlYT3JXTmlWOVptcURsZWxyTU5scnZHeXhQR2ZDR3Bn?=
 =?utf-8?B?SlBzeEZ1aE1Tckl5OTUzc2hCUDkvREdROHVWMWt5QjhtTXdyWkZNaGwwRDEw?=
 =?utf-8?B?TnA2VFo1ZnNpY0RON2hNNm1SYnR0WVQ5VTl1SXBJOWwvNnVPejBaL3ZhQ2FP?=
 =?utf-8?B?aXFPcy9sWkxqU0ZaNEhaeHdEN3FXQ3hwYnVaT2J6UlNuNFRVTUFQdlpoSE1W?=
 =?utf-8?B?WE0vQTZZeVplOW0yS2pSWjdDQ1RUeHhyQ2cxUnF2ZDNFWXhmM01XTXB5Znlz?=
 =?utf-8?B?ZkJ0ZlYwVTk0MW1MckNQckJOaVdPczAvSzZqQ05uMGlTY3ZuMGhYU3pnd3dx?=
 =?utf-8?B?VW5UYjRCSVRvdThISFNEMzVjRzBHd3d0Q3pzVmtBbmJmT2VPejFJQjVWVnpX?=
 =?utf-8?B?b3BOTURrTHVpVjJ3NWRUQXNZVjJiaVplRi9XeUlPNFFmV2NrdzNabEFWRWZU?=
 =?utf-8?B?VUYwZFpxMDVOOFhDQWZjR2lEdVhoWTgwU0RZZjZyOWcvNGJSRnQvNU5qVGkx?=
 =?utf-8?B?cmRGMnAxZjVHV084QVpWN2JIaHpPN1JFdDJLTFgwVDFDN1MvUS9vem5ZbGE4?=
 =?utf-8?B?Y0NQVmZFTHJSd2FjUTRpRDAyd055R0ZxSU1PYzdWaVplb1cwUG9wSUtVN3lt?=
 =?utf-8?B?ZHlSRHFrNzdaZk82VjgvWGVOM25zRFBZODF6UWdjdTlvNHpaZ2lBMDlGL3Rt?=
 =?utf-8?B?RXUvUFVKNWFvT3k5MEtaWVhYQnhMN1hKbVk3MS9KY2J0Y0dCNTd3WlVMMjNW?=
 =?utf-8?B?eC9kb2l3bFJYODFpbmVteFBkYzhCUnRWMlE4ekp1dExGYkhHYmEwRFBUR3RZ?=
 =?utf-8?B?UTRYd2pueGNPMk9LQ21VM2x2b01keXdOMnNjc2RNVXdnVXZVb014aCtSV1VK?=
 =?utf-8?B?alJIeG9sUUJURHFlMnpCejVnazZWODlSa1ljNGFudjl6V1l3UWp0OG9SRnZR?=
 =?utf-8?B?NDlqMXdRN0RHS1d0Uk9MdWNQbkU0TmtOS05maFZ3SFhsWFVJUnZLMlRsUzNO?=
 =?utf-8?B?bWQwZ3JJaUNzN25jUXJkWk4yemI5RDJOK2lVK1QwWGs5YmF1SG1NWFdHTVhk?=
 =?utf-8?B?dkJodmkreFIwaHJLT25zNG9abVBFT3NLdlMwbUsxL2ZlUVhNTTVFTHcyZUp2?=
 =?utf-8?B?ZXVsaWZIbStQaU5Vcnc0dWNtWGxINEFLMXdyd29aOU5EaU10UlpjUkw5cW5n?=
 =?utf-8?B?ZmxubVVhdm15WmRLVk52bjA2TFhsU1ZDZ2lZRytJaGt2aUhIbVJQN2xhY1JY?=
 =?utf-8?B?Z3dkNldjOXkwT2lPUmQrUVBkR1hzQW5qTlZJY1NTNjBlU1dlRU9jSlAxS3VX?=
 =?utf-8?B?SDNnR0c1UTlxNHhDRVVqK2RRbDVOendVbWVPVTRBN01DdjlJODdZN1Vablo3?=
 =?utf-8?B?MEZCNUNHeTdES1ZGUHdSSEx0NXNQNDZZMzg5R01sNGcxOGFBNGRESVhwQnRE?=
 =?utf-8?B?SU1YSm9pTzgrdGNWVllUVk1kek1PNXRNd2Npc2lja2NhREU4UDQ4Tk1tbVJZ?=
 =?utf-8?B?VEJOMzBmYTIzeElCYkFxeVBEb3hYc3dhRmpiZy9uVFpmWmZBVjYwU0JDczdN?=
 =?utf-8?B?bjEwYlp4M2dnMW5OQ2l1WkdObHB3YlZ5NXVBT3J5TmVkYXNoWVo1WVd4NzA1?=
 =?utf-8?Q?yln6lLMf751MuNfIYdfd3/ddv?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <B6DA08268C9F004A827752C43FE99432@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a0fa4cb-266d-4e36-ef2c-08dada2f0e4b
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Dec 2022 21:48:06.4053
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Y1uLkJIm4oWeCYPTWdUoWpiFfChMyN887xGd46VP4l0J5ga8gynSawlDidSvRdKtDYKLx+yMA5Q6I9Rala3HP0WDwmodmP3mvgnAz9pk2Cc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5802

T24gMDYvMTIvMjAyMiAxMzo1NCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IEJ5IGRlZmluaW5nIHRo
ZSBjb25zdGFudCB0byB6ZXJvIHdoZW4gIVNIQURPV19QQUdJTkcgd2UgZ2l2ZSBjb21waWxlcnMN
Cj4gdGhlIGNoYW5jZSB0byBlbGltaW5hdGUgYSBsaXR0bGUgbW9yZSBkZWFkIGNvZGUgZWxzZXdo
ZXJlIGluIHRoZSB0cmVlLg0KPiBQbHVzLCBhcyBhIG1pbm9yIGJlbmVmaXQsIHRoZSBnZW5lcmFs
IHJlZmVyZW5jZSBjb3VudCBjYW4gYmUgb25lIGJpdA0KPiB3aWRlci4gKFRvIHNpbXBsaWZ5IHRo
aW5ncywgaGF2ZSBQR0Nfc2hhZG93ZWRfcHQgY2hhbmdlIHBsYWNlcyB3aXRoDQo+IFBHQ19leHRy
YS4pDQo+DQo+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4N
Cg0KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQoN
CkNvdmVyaXR5IGlzIGdvaW5nIHRvIGNvbXBsYWluIHNvbWUgbW9yZS7CoCBJJ3ZlIHN0aWxsIG5v
dCBmaWd1cmVkIG91dCBhDQp3YXkgdG8gZ2V0IGl0IHRvIGlnbm9yZSAiQU5EIHdpdGggc29tZXRo
aW5nIHRoYXQncw0KY29tcGlsZS10aW1lLWNvbmRpdGlvbmFsbHktMCIsIGJ1dCB3ZSBoYXZlIHRo
aXMgcGF0dGVybiBlbHNld2hlcmUuDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 21:49:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 21:49:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458276.716176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3lFD-0005sE-NY; Fri, 09 Dec 2022 21:49:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458276.716176; Fri, 09 Dec 2022 21:49:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3lFD-0005s7-K8; Fri, 09 Dec 2022 21:49:23 +0000
Received: by outflank-mailman (input) for mailman id 458276;
 Fri, 09 Dec 2022 21:49:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/vX0=4H=citrix.com=prvs=3351f26b0=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p3lFB-0005hu-Kf
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 21:49:21 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 556b8d23-780b-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 22:49:20 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Dec 2022 16:49:15 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA2PR03MB5802.namprd03.prod.outlook.com (2603:10b6:806:f9::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.18; Fri, 9 Dec
 2022 21:49:13 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.016; Fri, 9 Dec 2022
 21:49:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 556b8d23-780b-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670622560;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=8bEO41YrrVBemOqsA3aJJd+20ey22j0dzcw32If2DJU=;
  b=Bm3GzklSbdXBR/w6Nw08UKL0jVndyOvYQjwFPy/Ff/2k4FPp5N4KmzBG
   wSOTGcPr1G4TzuitofPV7exIlhPhaUdGP90seeJNkTDzioJunwIeNEKMQ
   ueEDVAcFaMi3abzDm3bdiv1JPsqwxgRXUOiOyYtJPPz92axHDgHckzez1
   M=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 86621389
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:IzRjIqu8RxFXm5QcyJiPDFHc3OfnVKFfMUV32f8akzHdYApBsoF/q
 tZmKW6FOfmMM2r8LtF/Ydzj8k9UsZeGmt5rTgM4+Sw8En4b+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWGxiFOZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwd2wnQym42emNmJWXTfRchpRkD8v0I9ZK0p1g5Wmx4fcOZ7nmGvyPz/kImTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgP60bou9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPO3mqKQz2w3CroAVIA8WBHewp+iAsUn9UO8cO
 XQq8wUIqbdnoSRHSfG4BXVUukWsvBQRRt5RGO0S8xyWx+zf5APxLngJSHtNZcIrsOcyRCc2z
 RmZktXxHzttvbaJD3WH+d+8sjeaKSUTa2gYakcsSRYG6sLxiIE6kQjeStVkVrax5vX5ASr1w
 iyKhCEmiq8PkNUQ0KGm4VHAhSnqrZ/MJiYw7xnaQ3m3qAZ+e42sT42u9VXfq/1HKe6kokKpu
 XEFn42U6rAIBJTUzSiVGrxTTfeu+uqPNyDajRh3BZ49+j+x+nmlO4dN/DV5I0QvOcEBEdP0X
 HLuVcpqzMc7FBOXgWVfOepd1+xCIXDcKOnY
IronPort-HdrOrdr: A9a23:3wno1qO9E2mlzMBcTjejsMiBIKoaSvp037BK7S1MoNJuEvBw9v
 re+sjzsCWftN9/Yh4dcLy7VpVoBEmsl6KdgrNhWotKPjOW21dARbsKheffKn/bakjDH4Zmvp
 uIGJIObOEYY2IasS77ijPIbOrJwrO8gd6VbTG19QYdceloAZsQnzuQEmygYzRLrJEtP+tFKH
 KbjPA33waISDAsQemQIGIKZOTHr82jruObXfZXbyRXkzVnlFmTmcTHLyQ=
X-IronPort-AV: E=Sophos;i="5.96,232,1665460800"; 
   d="scan'208";a="86621389"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ekZClgiJfMdlSbq62S9dv540FU5TyHSePXoHPrVSLoWra361Q1E5Py24ZcOEkEDae9haUh0tCVdoInrlxydSeAm73QOK/q7UXkpZbBM3EuRbZnKFhUH7reEqtHzc1pasJfgxKhtA9xDvJI8dtgZ6/O0tLNwq56gVyS1nznlikOm0p9ZKOfVAxP1/crojVgOdLzh2+Z+ocFBUHfPQp/IisYja+niW1Jx5NdwgQzhBwB9qbcBrVh6kY2FZYII+hAdJg/+wG7HojQD6cucln9hmvq04DFHgTiv9O6M7+KxHDb1Y4uYyM/wsj66QQ3PVmohKnCH4rbpIV+SXCt0EO0lvmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8bEO41YrrVBemOqsA3aJJd+20ey22j0dzcw32If2DJU=;
 b=VdWEQn3308GOPca5Zs/6cjG4lx3E2IHRyJnD6xeLJ+oEBATp9n/nj395qHokey+I6eR8OsR8VWJVTy9xONeCuQaT4GShEkCoq26nd3ZX63lV1oCnxABn47V+5IpnT6zyJpmV7D1JYZIS0pzQDzKbnWnICC6VgG+snxMdzX7MqWeISfU4jeQAI66LJgxLuXqlOpCrporTcC/D4vsOXWjlct6/cfcy1C+gXYqFdXyp3bS9HGpXYsXrzTq7dbu57fFSPbzB0zts4nnHRmP0F10DE2wObC4xmNQPnpjeZZPBshsKFzFlSMQ/cBU4qjxBa0ArhHpyH/VWYVDhqwp5OGdU3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8bEO41YrrVBemOqsA3aJJd+20ey22j0dzcw32If2DJU=;
 b=lzYGN7UCshNOgDaF4NtODirY/aGcJrjvaz8aazUsi/pqITTtBqWBxBBKQmc4hcApDFjtEJndIlgfpuOKh25UBUswzr8YqyFDii4cmB1mCiSy5Dlnbzkcd3nUkqoMyRf7s/xfthxzFLpYVQS9XZue+W3/J/0eT7cVTA1Vmx4uEoA=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, George
 Dunlap <George.Dunlap@citrix.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?utf-8?B?TWF0ZXVzeiBNw7N3a2E=?= <mateusz.mowka@intel.com>
Subject: Re: [PATCH 4/5] x86/tboot: correct IOMMU (VT-d) interaction
Thread-Topic: [PATCH 4/5] x86/tboot: correct IOMMU (VT-d) interaction
Thread-Index: AQHZCXqD4CsJ8bMLQU6FJmXA+M68565mHTAA
Date: Fri, 9 Dec 2022 21:49:13 +0000
Message-ID: <fd47bb13-6943-64e1-fdf6-2ac9207090f8@citrix.com>
References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
 <bae74b9b-eeb6-76d9-b4d4-55c9a4fb2835@suse.com>
In-Reply-To: <bae74b9b-eeb6-76d9-b4d4-55c9a4fb2835@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|SA2PR03MB5802:EE_
x-ms-office365-filtering-correlation-id: 05b46e4c-a1ee-48aa-8606-08dada2f3608
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 e6Idcp56H9ccP+hOEzDozGzV3eowgE8uFLfJ2JKMkfPS4YTDlxaOGUI9lZ5NJbn/Kz+ARa6BaA+hmpCIQugEMCVc5Jc0JcFGjVMlDX3i3EVY5V4q8cDhytUrBLOud3LoeIXk1vJY7ZNhDg0U3ONd3gFHxdoY5ViD4WoA564ZbVbmF2ejeBiB7Nhm6/daP1XifirmK+nprQYiHAUXGU/bp53uFc0dClZipIbsy8AhoNKamDEe2I5xYTdS6BC5Ugcu7BZNo7oJbr6BVafu80/FeU2KpgA+uyZRPGswefd+o300BVRyRugXXspUUvvQYPO3ASVMWIJ/sBXUbnrsE/aF1VNX7T6VL5/fBwmmWYXZ7h0TgoJMhvGEqE1aEsgm0WrcMkfqXLzosmJWZjotgWMBwpzbb3dNnv6T8jhCiors4TvSjO9PCnVwwXaarRA3ZISDG3Cr3C/v/pQ+tqnrcZe/5uBh6xrqJR6hlQZIBYp+cNiJtQ8xkgAqxqZNQIQszBkeQTbESxFaPkm+ww5WrhHRP9QcoFzQbS/PThXJ0knn13OH2v/c1xud4Wd4Li+oZDF/XDt4OjiP5B3HOiCJlEF9mqyGx8wfV+17ZjSgBbrd79UXIvucEpSa27HTBdRzSmddwWziNmAtRAlimHzcp39qXXlaHITR4B2rWwRqMK4juvBhZ9LEa9a3dXbi8wbMfiWfF/7CYV+iVz1JQXfso3vXBCLfb2b46L/OTy1293x7ccA3RnTkxC37ss07zyHm7t2aPxR4JUUoSxWdBiUPcnqB8Q==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(39860400002)(396003)(136003)(346002)(376002)(451199015)(316002)(31686004)(54906003)(110136005)(71200400001)(36756003)(91956017)(76116006)(6506007)(122000001)(8936002)(5660300002)(38070700005)(53546011)(8676002)(66946007)(4326008)(64756008)(66556008)(66446008)(478600001)(66476007)(6486002)(2616005)(41300700001)(6512007)(2906002)(4744005)(186003)(26005)(82960400001)(38100700002)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?U2IwSDJvbGVLcXp2a2UzcEtCVjJ3VVhwczZrTGRVeDZlNk9pWm12OTVqc3F3?=
 =?utf-8?B?MTI1aDFVYlhLOFdxSUFyVzhyLzNDZlpMR1ZucjVXSkNZQW50bEpoRXN1dE9q?=
 =?utf-8?B?RGpYZnZwRlhaQjFWN0E5OGhLZ204QjdHK1lsSWhER281N0tqL2t5VUFPanVu?=
 =?utf-8?B?WUNOYVgvb0ppS1Z5cjJ6Uy80d0ZhK29PMUIyd2krb3JleHQvYjBWVHpnZm5L?=
 =?utf-8?B?MXRTNE1nc2hDOHU1cmc2Tmx4SXpFUllHOHdQb1lEL3prTG1rS2ZLM0RKRFlq?=
 =?utf-8?B?bUVVSjdrUnh1VkJ0TWFaTXRkSmJJZlBNM0hQOVo2d1BmMUw5ZXNsekFFYktm?=
 =?utf-8?B?eU9mSHM3bVhhYTRET21acVU4dUxSU21aaFZOb0t5ZllCbXhpMzdDYUZPSWxR?=
 =?utf-8?B?bmVmUjVoMmZ3TVE5aitHZVp3UUlLc1pKem1GT3dHazdXUC9abFZNakFCSlZm?=
 =?utf-8?B?aGdJVXQ1cmx0MmpOVnIvdXJacmpmeURkU092dkpLdDB1MGlGV0lVODRWbXZ6?=
 =?utf-8?B?Nnd3ZFhUa2tJT3Nobk0vVGxWdkxWUlBURmlwNlRTVDJGUWtYWHp0anRhdCtG?=
 =?utf-8?B?a2xrRm9HYllBRFVONjl1M3Y0dTgyRE5qZ0NFdHNhL0d2bS9SUHNjZElVeFZZ?=
 =?utf-8?B?WnJVdkxPRGtJSEN4NFlHUFl6clZ6VjNTNnRQOFlkS2YvZm43SHh0V2xSYVBh?=
 =?utf-8?B?VXIxMkkyT2JKOGc2YUxwTXFBZS9YUm9OZXprOHRBT3pkQmttSy9sS1IzVHVp?=
 =?utf-8?B?WkJiRm5yLzdvMXU5MDVpWUJGSEVwK3pwVzgwL2RrSFg4TkEyYUFHWktoLzdM?=
 =?utf-8?B?VXg3N2U3b0M5dkIwcm82SEFCbXkyYnp4UDhYVE1wTXU5elRzMWI5MXdQMjBT?=
 =?utf-8?B?UStuSUMraWRaUHU3ZTc0dVdkaVNSSHhyK1VjOFVtQ0dKZXI3U24wMmhrRzUw?=
 =?utf-8?B?MGgrcWowUGs4czJ1czYvV1ZaMlF6NGRKOG5DYVd4R0ZkMkh3YjlqSDRWYlRB?=
 =?utf-8?B?TjJKT1JuZEthbTBIenBkdE43Rjk5cjNWWElNc0tadDdra3JQWE05bDdFb3Rj?=
 =?utf-8?B?ejl4bU1YNzdiK1M3aCsxUGZDSVBaU002ZW9RaWU0dWh2SGNBSzA5VVM3bWNG?=
 =?utf-8?B?NDNKWTR3YzEzckZFOTloK0czMTF2dkNscENHNFU0OFNYWEJLK3dCc2xSaTB0?=
 =?utf-8?B?N05iKzFzRktIbTdOa1JzdTZhYkFodThtZlgrMDRWK1lzNk5pQ2V5NCtWNTJK?=
 =?utf-8?B?Yk0xZm1RczhCdEMzN0VadEdLbGRVMHR0STZXQVNoNUxVRlNyWDl0SzA3djVU?=
 =?utf-8?B?Z05FRGVpNUdCSGdBMklNaFFDdmVYR2tqU2gwQmNRNkdJNkhBK3RmUUVXY3py?=
 =?utf-8?B?K25QZlp0bVRHUTByUUExOGFWTEVFdS9uekFVQVNTOWtMSEdZQU9McDliclNY?=
 =?utf-8?B?ZThqRUF0dFRuU29WVzhLTnljeEkwNy9uZ0ozSVlrSkhGUnBld3VsU1FuRTl1?=
 =?utf-8?B?U1lrejhRaEk3b1kzWVdkNVhBUW8wbERieWUzUE5mU1UyT2d5VnVDSDRpNTRO?=
 =?utf-8?B?amd0OVZKM2tnMkxNOVhhNmdneUtCdmFYRWhnQ2FmeHpJd1JKVm8vWkI1bmNH?=
 =?utf-8?B?aEFuM1ltK0thd2tCRkdrblJHNnZsbWRQZ3dqMkk1cmpkRElkbGdobDhpalNy?=
 =?utf-8?B?YWxHMWszOEgvNi9GbkZlektFNVBlME9kcUE4MENuQ0pzNDlpeGd5MzRWZ3p3?=
 =?utf-8?B?TVpCQVNzZmNxdU4yTDZWMmd0Nllaall1UkxrK0dUR1Vqb0Rzb0FUSFdqa0Nx?=
 =?utf-8?B?MnhzVjR0K2VoelFqY3Nqd2lrQTU4QStXUkNzcm9TcCsyekhKbVN5Z0t1cWtV?=
 =?utf-8?B?OWp3aDg5QmIrYk1kZHBINWhkOThNVFA2RENhSXpNNXRZMXZYb01wYUdZODRZ?=
 =?utf-8?B?RkVZUGEvWlJkcmlBZE9qaWdYZzhkZUhkd3hPNi9VYlBLUzR1anl3SVZMTlNL?=
 =?utf-8?B?c1F6K2x0TzVzc0RPaHYwdjJHaENyaTZGTDNQSG9veTJVS2k4bzZVRThpZ1Nx?=
 =?utf-8?B?dFpWRWZjbDNoNjNPTDlrYnN5S2RUeGQrOUZ1UVpLZnRmTHhuRjQ0K2JtQnJJ?=
 =?utf-8?Q?x4NmbvjOxih1AfXaVOnvkPdTW?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <13DDFA65DEE1574E82A2F7263EA1EF9B@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 05b46e4c-a1ee-48aa-8606-08dada2f3608
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Dec 2022 21:49:13.0880
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: YZN2N9dPWFk496H6cAGPMYBtmxQffMZcG28ZgdZHbcmd9atx0/oq5zXxIBmaioIzbKhEWfNc+HKIgHtDI22716Q0TBg5hlg60H4HVtWFazo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5802

T24gMDYvMTIvMjAyMiAxMzo1NiwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IEZpcnN0IG9mIGFsbCB1
c2luZyBpc19pZGxlX2RvbWFpbigpIG9uIHRoZSBzdWJqZWN0IGRvbWFpbiBpbiB0aGUgYm9keSBv
Zg0KPiBmb3JfZWFjaF9kb21haW4oKSBpcyBwb2ludGxlc3MuIFJlcGxhY2UgdGhhdCBjb25kaXRp
b25hbCBieSBvbmUgY2hlY2tpbmcNCj4gdGhhdCBhIGRvbWFpbiBhY3R1YWxseSBoYXMgSU9NTVUg
c3VwcG9ydCBlbmFibGVkIGZvciBpdCwgYW5kIHRoYXQgd2UncmUNCj4gYWN0dWFsbHkgb24gYSBW
VC1kIHN5c3RlbSAoYm90aCBhcmUgbGFyZ2VseSBjb3NtZXRpYyAvIGRvY3VtZW50YXJ5IHdpdGgN
Cj4gaG93IHRoaW5ncyB3b3JrIGVsc2V3aGVyZSwgYnV0IHN0aWxsKS4NCj4NCj4gUmVwb3J0ZWQt
Ynk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo+IFNpZ25lZC1v
ZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEFu
ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo=


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 21:53:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 21:53:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458287.716187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3lJR-0007cm-9O; Fri, 09 Dec 2022 21:53:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458287.716187; Fri, 09 Dec 2022 21:53:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3lJR-0007cf-54; Fri, 09 Dec 2022 21:53:45 +0000
Received: by outflank-mailman (input) for mailman id 458287;
 Fri, 09 Dec 2022 21:53:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/vX0=4H=citrix.com=prvs=3351f26b0=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p3lJQ-0007cZ-1G
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 21:53:44 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f1364aa3-780b-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 22:53:42 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Dec 2022 16:53:39 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BL1PR03MB6119.namprd03.prod.outlook.com (2603:10b6:208:318::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Fri, 9 Dec
 2022 21:53:37 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.016; Fri, 9 Dec 2022
 21:53:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1364aa3-780b-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670622822;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=0G7xtXDmQrZVS8Nn3WlErlZeN4nTWCBXKB+0GtUuEc4=;
  b=bEmKv8EPM6Eg5XDl/JjxQkfLoTR4VBZZuPuf3iO7jL7iXEt9FH0NF5WQ
   A0KeKhdD+yOlyWZ0FBH+uonLfu4QZ+KHG3iCD4KfCHzh+AvU8iZsbOSF+
   ESHhttOZ8t+sILfodgUm1ToX5NYn1kX89SZrtZ5GSJ8e+XJtpLG3SsPW7
   U=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 86621808
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:uAOi5aJxVGGIqBrVFE+RJpQlxSXFcZb7ZxGr2PjKsXjdYENS0DAOm
 GBOCzqOa67bYTb0KdwnaN/j9UhTv5TSnNBlHgFlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5ARvPasjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c51J0pB9
 +IkcAkcYx2D19KI+K7lCcRj05FLwMnDZOvzu1lG5BSAVLMMZ8CGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dnpTGNnWSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnzX2lAttCTO3QGvhCr3eYlysREEEsVXi2mP2zr2iFcO5NN
 BlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWKTVqN+7HSqim9UQARMGwLfj0sTQIa+cjno4Z1lhanZtp7C6u0kt3dECn92
 SyXtzM5g6gPjMkNzOOw+lWvqzelupXUVRxz4wLIXWuN7wVlaYrjbIutgWU39t5FJYedC1OH7
 H4NnpHH6PhUVM/c0iuQXO8KAbeloe6fNyHRikJuGJ9n8Cmx/3mkfsZb5zQWyFpVD/vosATBO
 Cf70T69LrcIVJd2Rcebu76MNvk=
IronPort-HdrOrdr: A9a23:3ZmKLaDAU0843ZjlHemi55DYdb4zR+YMi2TDtnocdfUxSKelfq
 +V88jzuSWbtN9yYhEdcKG7WZVoKEm0nfQZ3WB7B8bAYOCJghrMEKhSqafk3j38C2nf24dmpM
 NdmnFFeb/NMWQ=
X-IronPort-AV: E=Sophos;i="5.96,232,1665460800"; 
   d="scan'208";a="86621808"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K5Qo/NgV3Xd+iIPNcfKc4fDQ/Kd2j4xgMyRKo8d4VAkK3EH6EAJ/arbx+DQXtvv9toov6mcb0ww3EKI9zypPdyab13W0rKAAUt15zTJ0NQTTHd+Lq4nsS+xmx/1Pax1+oxQioyPZnHddz0vicmW3nWSJiteJC66BRogiwF/22CgnQSDQGEPfh83KMqFE1Jmz/5/NnoSq4fvzvHhgG3SSg0LDPDG308Sy8cFMJQGlqZy2Dp7Q7riWsBSklMV4lnoPunhqWqn05hUeV6xXix0lwtXNqT6wMyx4FgcJsTm8AfkZHiZO/CfgVcGaf4nHdtTWy+DoP4weR6z+H1jeVGufJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0G7xtXDmQrZVS8Nn3WlErlZeN4nTWCBXKB+0GtUuEc4=;
 b=Ku+/pABZSuAUgeiz6L3NLrFk+IfCKzYGppmNB/gD38RAeq+LjAjLUh7jEOygF85rhtRixGOnnssqmjz1hTWX4C4bhzP/ftdtUj2WjMLi+aJP7Iw8bjyCbg9iWS5xfPqVTJ0o4YLRED30eiuDowLNhhulkb489OnP8BVR5lZWtOiq6npXx5sEYTNgsytmWSemXvekCXaXteZTwRFG4ko8b5k2HlgOc63DPXEShEfRVkMX2rqem5Ml2xZTaFMfM8VX0GENY07C7XR4qiKb292ZYBaeKI0RvZpw7/brF914toKefrQUI0/s7B59uqYjnkIqFw/iI6OCrvDiDVCtcaL+2A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0G7xtXDmQrZVS8Nn3WlErlZeN4nTWCBXKB+0GtUuEc4=;
 b=koLIHzJtcgsK/Uo/h8Gw7TaqouXPZZ7Fc1+t+ZOcgCQkSGgod+RdHpWjPyDAS8awq2gsXdQWGDfkM43098lfEVYDCcHr743xNwVGWuVBLycjiNNC5de92lCqudg0K/szNOdBUtxKCSKOFjcyf/2I7dA+VkZ7MJO8LbIi9WgdFk4=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, George
 Dunlap <George.Dunlap@citrix.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?utf-8?B?TWF0ZXVzeiBNw7N3a2E=?= <mateusz.mowka@intel.com>
Subject: Re: [PATCH 5/5] x86/tboot: actually wipe contexts
Thread-Topic: [PATCH 5/5] x86/tboot: actually wipe contexts
Thread-Index: AQHZCXqrQyWSF53TrEGtcF2dIG8p2a5mHmsA
Date: Fri, 9 Dec 2022 21:53:37 +0000
Message-ID: <d74b9566-4bda-a409-bebb-4fd0db2959f6@citrix.com>
References: <41a370eb-09b3-6e0f-7fb1-2d6e33d25021@suse.com>
 <028fc34e-8a39-b0b5-34bb-2c96a82fa452@suse.com>
In-Reply-To: <028fc34e-8a39-b0b5-34bb-2c96a82fa452@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BL1PR03MB6119:EE_
x-ms-office365-filtering-correlation-id: 5893ec2d-fbe7-4445-37c6-08dada2fd363
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Hj+u0YHNTB+Y/GtS92NES0VvRhT2dPmdGMbRBnorlcY7fLIszDAJq48HPP1meGd0EvDWETXR/urgiklYR05Uy5Bh/7zVLK8UdyxwVZ2UHB1jjME/cDnffuYImk5zQJs3nu3ATNI8JDhoMtCj5SuGoLQC1f8suun858K0LjUzcTD6yPBPAVqXlbQh9iI0vCTgx42MkcNPzelzgPf+CHIcdZftY8I45t4UR75FOsrvy5P6cAH4iWYyhs5/d5TkU/Ej0YXKzhVwWI17NiUMa/FvbCtdw6Nqai/7Bt/Ps3kl0vhGUigXuDvBywrmkLbpR6DKU3YcVP7bZrj2yBdK73IqFtPVpPYIO29Un+tDPmUXiM8Dw1Q+MQQ69P/vvlIPw3reh/DSrZlOpq0GhIeoEpwZEcScazVXQMAXfsPnoMYSLPPKLEBENoVScddTg0SAV4TvIOclQOscMCgd7xBHMzvjH0DTLBKG9xVhkEa0wjQ6HsDqb74AF2v4HY474eF3SkH237xqmo9gv3R5yjluvZiPb9SLlctBTFGIPIj+0DtlTh8XFLDe2n8nAgWQhqKsUn997LJQSJQo63NHLl01FVnCma4kucrI/SEKOBku1rL1E4SN7JtnbQvBuYbITao+R6ITA6jItK+bdhAyh5Og12XkcFeYFiQ+lItxR7JThdw3GhELWOtN2ExzOIIgIittIYkEShixhxdH/bMhdq82R5dEVNLCeggUdm0ro1bhf0Gq26cc2lHiau8SgU4bfWimF8T1TtzZ7zjS+ZHn8qNijLFvnQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(39860400002)(396003)(366004)(136003)(451199015)(8676002)(66946007)(76116006)(66446008)(66476007)(64756008)(478600001)(66556008)(26005)(4326008)(2616005)(36756003)(186003)(110136005)(54906003)(41300700001)(91956017)(122000001)(6486002)(6512007)(316002)(31696002)(6506007)(71200400001)(53546011)(86362001)(82960400001)(38100700002)(4744005)(5660300002)(8936002)(83380400001)(31686004)(38070700005)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UUVjdmVnNW5JVW5DaUVRQ25OK2VwSEdjcnVMRTdhUHEzL0NhUXVwNzRHSDlI?=
 =?utf-8?B?R2ZiY3NGOStXeS9SNy9UVlZvNzhLM3dPNHNNNEVBeVlPcnBaNzdzd0VMdHVI?=
 =?utf-8?B?V0pZQ041VGlCL1lldmk4Y2p3Tng2M0dRR1NNcVJTdEh4NitTTnJ1enpVWVli?=
 =?utf-8?B?UGQyUDRUYVJUN2piUWR3SDQ3QkNNcW1rd2gwY0JBb1lEOURoUHA0alh1ZmhT?=
 =?utf-8?B?VGV3YWZWdzM2YitKTklpcG90eWxnaGRzVlA3YmY0RTNON1RSVVRuLzRnRmVm?=
 =?utf-8?B?aHFtaUxzME1WM1dZd3phT09JeVlSZDFqY0pwaHUvSFRIaFV6TVQrSlFvcDR4?=
 =?utf-8?B?clFQYSthS2M1alk2UFBPYXhNYUZlTVVuU3d2clV6NzljSmd3RkdNUUVsMWJv?=
 =?utf-8?B?SmY3c1NXVEY5TllBVXY0SDV1akdUQXh3MCt6dVR4TE9Eb3hNRVhGNjJTbWNH?=
 =?utf-8?B?bjUxOTdScWM1bEpCZ0VITzREOGV6ZnBGWmxJM2NDK3Y5VGJuMGQ3Q0FCa0Ev?=
 =?utf-8?B?dGZLRUI0cmtnQmx0bGFPaG5GVFNYcTg4dUNHQ2VtbjdobVBxc1NiYjM0bHlN?=
 =?utf-8?B?dXdYZG9BK3JoTDJKdHpPWEdwczlSVzB3TDVLcVlzdVNlMm1LMEhYQ2RNeWtt?=
 =?utf-8?B?R3Zza1dzOExMcmxGajVhSEtaaG1FZUZVWlpNODU2Q0NKc0FxM2svWlpXaHhs?=
 =?utf-8?B?WU1zek4xSnYrQkExSmFvYjdQUG9hSjc2NEVlK05mRUdQcXU4bXBlZVNnTjAw?=
 =?utf-8?B?VnloTm1wK09uQ2RNSmd1MUg3ZzN5NHp4T0pvM21PYnpteHBKMVY2Mi9ITkdY?=
 =?utf-8?B?VkRMMVpHRGVNYS92NEowQkdYdHhGS3BoY0xYQUczVnV6cnJPQktDTEUvcDVj?=
 =?utf-8?B?WEE3K1I3MHBEWmVzS3dKV2VucCtFZjRtMDg5YmdLakNFVE9xZ2hSNmxEUnJ0?=
 =?utf-8?B?YmJFK1p6Tzk4RzluY2RmZzEwNG02Z3NBZVdDT1c4ZkV5V2xpcjZGdzJVbWdL?=
 =?utf-8?B?WkdmaFVoaTl0a2pzMm1FeFZaNGZtbnpIcWQvQUdWWXFaTW9uVVZKUDdtZFdm?=
 =?utf-8?B?d3RReHlzOHRDVmp4MG13WXl2aGJTK3ZkV2paK2lOb1dweGdrUlZFbDhDZFRO?=
 =?utf-8?B?VHNmblhZYXFXaWV1ZFNHSERSam1yd3B5b01vc3pvNTJkeXlOSWxSTzJXNlVU?=
 =?utf-8?B?NXhPY1dsdDFOME40U0J1RTRlWDR6Y2xsY1hWaWtSbllSelphUjZWRkxNYnB0?=
 =?utf-8?B?aUloeXN5NmhhV240WXhWbTFIUWVVdmpsUi9wQjhBOU41bnppYWdSb21ROERw?=
 =?utf-8?B?VXA1YTUzR3NnRmZIUW1rMHNnemFreGNmMVpJZUV5aTFteHg0dENwZjJxNExO?=
 =?utf-8?B?RDNzME0zNk1hZVhuM2cxWkxYbyt3SWFZRUJzd1pxc1kvVXhVNTdFR3hMN0hl?=
 =?utf-8?B?N2VRMTJ1cTQ5dE1nbGdrY1NrMWUySnFIN3YyNzY3ZmpuRm5iY2c2dEU2MGpq?=
 =?utf-8?B?S21ONlk3L3RmRzlEMUhaMmp4VCtRZVZIeitMMWRnSHRMSW9MejZNc05uZHdS?=
 =?utf-8?B?Ti9yQmtKUERqVnAwRU1Bc01XTW85S0JaUmFjREs0UmQvZzhXeThXWkNvSC9t?=
 =?utf-8?B?NUR3dHdVRDNLYWpsc1BlT2JWTlhZa0V4NkdQOGU2cVNyRXJnM3Ywc3EwOFBU?=
 =?utf-8?B?dis0NEVRZmdPN2NJMXVPU1Y3SEc2d1dscWlremlhU09mQWFGVGRTb1I3VVhS?=
 =?utf-8?B?ZUJlWWNkejZ3UXFRS0xxUE5DeDFkNFpFWDlJRDhydHlINE9FN1pxeVQ5MzdM?=
 =?utf-8?B?Z1h1eEJtVWlrVnNTd1RxNDY3dEptRUZOa3FXK21JbDRzNitrSnVqSkpORnlH?=
 =?utf-8?B?NmFkVE1zZFREVjRUZVlCL3BBYkNWZUh5ZW1MQlBPQS9kcFVSQWZyKzN2bmJN?=
 =?utf-8?B?bjVoWmdsZ1pCemw1bHR1bXBjVWNLbUpYMXNub3lFamxzb09rcEtKeWNKUmEw?=
 =?utf-8?B?K0NqeWptQUF4TDVjRUwzR1owa3o2WlIvWE4vQW1ySzhhMkwyRUJ2SFdnTUJh?=
 =?utf-8?B?VmRlQkJndW5tNW5STjZQWGdXSUJNZHg1QVo4ZDArWjFPakdnLysvTnMxY09l?=
 =?utf-8?Q?++dvyKogbUz4BoMxTa8nCZM3R?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <CE266A164A33AD4F8CE9D27984B906EF@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5893ec2d-fbe7-4445-37c6-08dada2fd363
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Dec 2022 21:53:37.0690
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: SYSXJm0S3pkl6iOUu4Xh3lMatweNZ4WSeK0zm9wsptdz+CjX7SPygZCNyjLhStWIpJCFcBop7UJpN7eV0B87E9Q6kCBp3fvv/Pg4n0hQYKo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6119

T24gMDYvMTIvMjAyMiAxMzo1NywgSmFuIEJldWxpY2ggd3JvdGU6DQo+IEVzcGVjaWFsbHkgd2l0
aCBvdXIgdXNlIG9mIF9fYnVpbHRpbl9tZW1zZXQoKSB0byBpbXBsZW1lbnQgbWVtc2V0KCkgdGhl
DQo+IGNvbXBpbGVyIGlzIGZyZWUgdG8gZWxpbWluYXRlIGluc3RhbmNlcyB3aGVuIGl0IGNhbiBw
cm92ZSB0aGF0IHRoZQ0KPiBhZmZlY3RlZCBvYmplY3QgaXMgZGVhZC4gSW50cm9kdWNlIGEgc21h
bGwgaGVscGVyIGZ1bmN0aW9uIGFjY29tcGFueWluZw0KPiB0aGUgbWVtc2V0KCkgd2l0aCBhIGNv
bnN0cnVjdCBmb3JjaW5nIHRoZSBjb21waWxlciB0byByZXRhaW4gdGhlDQo+IGNsZWFyaW5nIG9m
IChzdGFjaykgbWVtb3J5Lg0KPg0KPiBGaXhlczogYzAyMWM5NTQ5OGQ5ICgieDg2OiBSZXBsYWNl
IG91ciBvd24gc3BlY2lhbGlzZWQgdmVyc2lvbnMgb2YgbWVtc2V0IGFuZCBtZW1jcHkgd2l0aCIp
DQo+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KVGhh
bmtzLsKgIEknZCBub3RpY2VkIHRoaXMgYmVmb3JlIHdhbnRlZCB0byBkbyBzb21ldGhpbmcgYWJv
dXQgaXQuDQoNCkFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXgu
Y29tPg0K


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 22:11:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 22:11:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458297.716197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3lae-0001pS-P9; Fri, 09 Dec 2022 22:11:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458297.716197; Fri, 09 Dec 2022 22:11:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3lae-0001pL-M1; Fri, 09 Dec 2022 22:11:32 +0000
Received: by outflank-mailman (input) for mailman id 458297;
 Fri, 09 Dec 2022 22:11:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AAZn=4H=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p3lad-0001pF-Tf
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 22:11:31 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ef39236-780e-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 23:11:30 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 32AC5B8293A;
 Fri,  9 Dec 2022 22:11:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CE472C433EF;
 Fri,  9 Dec 2022 22:11:25 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ef39236-780e-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670623887;
	bh=TcV3E8AbqPpADLY13QWnCQ6cRnK7sr2B6k82fRE+0v8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Q1KlJZdzWd+bkG4XZBfWTawDU7d2RxDpc8bQp0jYqP4TQguQPET7d1Vpk5IgL+bHC
	 Mlx+/pXCRo5FN5zEA25HnJprXw2+ap8xe0WyQI8dT8EjLIvgS9c9PFXC2R8WlReVYO
	 zTX3LteV9r+MV+IXow/g3dN5SgBRUamYE6rPcRV2K5VRQ2KmGm7yMNUDLav7LP2Ieu
	 Ts6Cv9PaZjTaG13VroRW+WaXKeKZqgt05thiNvFxy8LTUJqu2GpC0Yz5VVf32yvD4Q
	 /Gj/z2ro9vlCdXfptIumH8B3CpQfs7oeYl9Lw06dnS8LmadXmw8MPFJbv0HGwxpTsd
	 n1U1Zv2+wN1Yw==
Date: Fri, 9 Dec 2022 14:11:24 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>, Bertrand.Marquis@arm.com
cc: Henry Wang <Henry.Wang@arm.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Chen <Wei.Chen@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] xen/arm: p2m: Populate pages for GICv2 mapping in
 arch_domain_create()
In-Reply-To: <e6643bfc-5bdf-f685-1b68-b28d341071c1@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212091409020.3075842@ubuntu-linux-20-04-desktop>
References: <20221014080917.14980-1-Henry.Wang@arm.com> <a947e0b4-8f76-cea6-893f-abf30ff95e0d@xen.org> <AS8PR08MB7991FD5994497D812FE3AE2E92249@AS8PR08MB7991.eurprd08.prod.outlook.com> <9d5ab09e-650f-118d-0233-d7988f1504f1@xen.org>
 <AS8PR08MB799170627B34BD2627CE3092921D9@AS8PR08MB7991.eurprd08.prod.outlook.com> <e6643bfc-5bdf-f685-1b68-b28d341071c1@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 9 Dec 2022, Julien Grall wrote:
> Hi Henry,
> 
> On 08/12/2022 03:06, Henry Wang wrote:
> > I am trying to work on the follow-up improvements about the Arm P2M code,
> > and while trying to address the comment below, I noticed there was an
> > unfinished
> > discussion between me and Julien which I would like to continue and here
> > opinions from all of you (if possible).
> > 
> > > -----Original Message-----
> > > From: Julien Grall <julien@xen.org>
> > > Subject: Re: [PATCH v2] xen/arm: p2m: Populate pages for GICv2 mapping in
> > > arch_domain_create()
> > > > > I also noticed that relinquish_p2m_mapping() is not called. This
> > > > > should
> > > > > be fine for us because arch_domain_create() should never create a
> > > > > mapping that requires p2m_put_l3_page() to be called.
> > 
> > For the background of the discussion, this was about the failure path of
> > arch_domain_create(), where we only call p2m_final_teardown() which does
> > not call relinquish_p2m_mapping()...
> So all this mess with the P2M is necessary because we are mapping the GICv2
> CPU interface in arch_domain_create(). I think we should consider to defer the
> mapping to later.
> 
> Other than it makes the code simpler, it also means we could also the P2M root
> on the same numa node the domain is going to run (those information are passed
> later on).
> 
> There is a couple of options:
>  1. Introduce a new hypercall to finish the initialization of a domain (e.g.
> allocating the P2M and map the GICv2 CPU interface). This option was briefly
> discussed with Jan (see [2])./
>  2. Allocate the P2M when populate the P2M pool and defer the GICv2 CPU
> interface mapping until the first access (similar to how with deal with MMIO
> access for ACPI).
> 
> I find the second option is neater but it has the drawback that it requires on
> more trap to the hypervisor and we can't report any mapping failure (which
> should not happen if the P2M was correctly sized). So I am leaning towards
> option 2.
> 
> Any opinions?

Option 1 is not great due to the extra hypercall. But I worry that
option 2 might make things harder for safety because the
mapping/initialization becomes "dynamic". I don't know if this is a
valid concern.

I would love to hear Bertrand's thoughts about it. Putting him in To:


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 22:18:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 22:18:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458307.716209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3lhE-0002ju-J9; Fri, 09 Dec 2022 22:18:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458307.716209; Fri, 09 Dec 2022 22:18:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3lhE-0002jn-FL; Fri, 09 Dec 2022 22:18:20 +0000
Received: by outflank-mailman (input) for mailman id 458307;
 Fri, 09 Dec 2022 22:18:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/vX0=4H=citrix.com=prvs=3351f26b0=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p3lhD-0002jh-5N
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 22:18:19 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60abacaa-780f-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 23:18:17 +0100 (CET)
Received: from mail-sn1nam02lp2046.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.46])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Dec 2022 17:18:15 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN8PR03MB5122.namprd03.prod.outlook.com (2603:10b6:408:da::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Fri, 9 Dec
 2022 22:18:12 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.016; Fri, 9 Dec 2022
 22:18:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60abacaa-780f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670624297;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=4VvoiurTIRcFDyaJT1J6saju4JtfCw1P/3KaeTaG2ZA=;
  b=Y9AR3FX948KwZkExSTrtvrvQ/i4/TN5W5HKRLoqWWA+bgZ7aFzKAA2IX
   mJ1GJIgtu9qmsz1X7kMugUmjAh0EkCB8jHPga9FwKZAAWNfYruvs8I7MB
   SsVCHUMid1zORTzKGMLnY9YaR8MeNATTi9xkX+zfpMsoDar+s3caVXuvj
   Q=;
X-IronPort-RemoteIP: 104.47.57.46
X-IronPort-MID: 90131168
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:gSOdU6xLVlTzXCXCkNZ6t+e5xyrEfRIJ4+MujC+fZmUNrF6WrkUCy
 2IaCGmCPfyONGv1c9F1a4Ww/U8A6pfQm9RiQVA++CAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPaET5zcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KUto9
 vYyKy4kVCignuLnnb7ie8Nuuv12eaEHPKtH0p1h5RfwKK58BKvlGuDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjeVkFIZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXKjAdlLTePonhJsqH+onUc4NxxRb3iy+8fhgE6UR+xEa
 FNBr0LCqoB3riRHVOLVXQC8oXOClg4RXZxXCeJSwCGAzLDFpTmQAGcsRyRELtchsaceXic23
 1WEm9foAz1Hs7CPT3+ZsLCOoluaEyUPMXULYyNCaAIf+sTiu6k6lBeJRdFmeIaKg9yzMjH9x
 RiDti14jLIW5eY10KG88UHCkiibjJHDRQ4o5S3aRmugqAh+YeaNd4GurFTW8/tEBIKYVUWa+
 mgJndCE6+IDBo3LkzaCKNjhB5ms7veBdSba2FhmGsF78yz3oyL9O4dN/Dt5OUFldN4efiPka
 1PSvgUX44JPOHytbul8ZIfZ59kW8JUM3O/NDpj8BueiqLAoHONb1EmCvXKt4l0=
IronPort-HdrOrdr: A9a23:0BmBg6NdOrAk38BcTnqjsMiBIKoaSvp037Dk7SFMoHtuA6qlfq
 GV7ZMmPHrP4gr5N0tMpTntAsW9qDbnhP1ICWd4B8bfYOCkghrUEGlahbGSvAEIYheOiNK1t5
 0BT0EOMqyVMbEgt7eC3ODQKb9Jq+VvsprY59s2qU0DcegAUdAE0+4WMGim+2RNNXh7LKt8Op
 qAx9ZN4wGtcW4Qaa2AdwM4dtmGid3XtY7sJSULDR4/6AWIkFqTmcXHOind8BcCci9FhYwv+2
 jdkwD/++GKvvyhxgXHvlWjn6h+qZ/OysZjGMfJsMQTJzn24zzYHLhcZw==
X-IronPort-AV: E=Sophos;i="5.96,232,1665460800"; 
   d="scan'208";a="90131168"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QgMfLqH1kKEGXvXCR/3mnAuCnaY3cfdVT+Ing3NpsQmKxrquqANWFH7XV+PAHqQzR4fNGDAGj5A2VNulQ1jQqAIp9TsfKLSQ0Lu+0Xyy2vOx9umOgB1iJ2foB7HidKJOo9pL7GL0wuoKvgxkWDxC7xAn2KfS9/+u7CHjowOBcwNiqZ3LH2bI58s1EJ6M1KKdxlTM504oefya70+XNPCwpQZjDPZrNUwbMuCLxsyZWiU6RFm4C4G2mkuLCMsNTw70ZJG01DPn6EKVTYKox0tTlaF/Ks9ZBZakNkRdaB3w8e0fwpzvMg2/47UOTJQCl6LWlp0uNdGl9OX4Wjka7dO64g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4VvoiurTIRcFDyaJT1J6saju4JtfCw1P/3KaeTaG2ZA=;
 b=DcMP5/L6hQ1c15ED5Pe1FqyQ9pM0LPvaOQFjMKlzywk5q1Kvl5nWJ5Wpc+Sgwsf7e26w1FXHu8YVqmAiaT6i3ABmeCI4gzXmFKB2uzi75e31GKQLDfG81kIVH8vBkp1zQBy6BtyXajqL84iLkvfrkTVYsgHuOW2Hxg5UWv7GIgL6eC70D8CX4a0tnIt3B1KEpsKG5qTKOzjX5YVqNUDJPjEpy8BLdZ9mBnHd2Q/U3fbwhxP9ssTbsA7WUH0K3Z7XJHBL1ZHcTzeZ4g2hU+ObnZNb0oSHUeS2omNvkjylaqIa/6SgvFJOYStWqlKPV44hoC65qLDFO/eDI7ELKTpvUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4VvoiurTIRcFDyaJT1J6saju4JtfCw1P/3KaeTaG2ZA=;
 b=gVo1pupBK7qDwe81FXQerD24TXc2jgMY/Evl/IsFaPxasJwQwKbVgCoh/I/oqCXTIkxMJTjZnH1Jbe41e0Ht+qlNpJYtnIr80baEsnTItMnxwHAj+j7puKQHL9N4ik1NH3vQx6cEL5DlMvocEhZUHXRg/xNWL/WshxncCKuwd7E=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Julien Grall <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>
CC: Wei Chen <Wei.Chen@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2] xen/arm: p2m: Populate pages for GICv2 mapping in
 arch_domain_create()
Thread-Topic: [PATCH v2] xen/arm: p2m: Populate pages for GICv2 mapping in
 arch_domain_create()
Thread-Index:
 AQHY36RYpnqEmDBlDEOtMGFZEODQVK4NsO2AgAANc4CAAYyLAIBUWeeAgAKahgCAADmfAA==
Date: Fri, 9 Dec 2022 22:18:12 +0000
Message-ID: <b9a2d6c7-fb09-a89a-14ef-09bc197afa0f@citrix.com>
References: <20221014080917.14980-1-Henry.Wang@arm.com>
 <a947e0b4-8f76-cea6-893f-abf30ff95e0d@xen.org>
 <AS8PR08MB7991FD5994497D812FE3AE2E92249@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <9d5ab09e-650f-118d-0233-d7988f1504f1@xen.org>
 <AS8PR08MB799170627B34BD2627CE3092921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <e6643bfc-5bdf-f685-1b68-b28d341071c1@xen.org>
In-Reply-To: <e6643bfc-5bdf-f685-1b68-b28d341071c1@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BN8PR03MB5122:EE_
x-ms-office365-filtering-correlation-id: 66a60598-db48-4d0f-f0f3-08dada3342e6
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 jttIbyGJCGAR2YbhuNdQjX9Sg+2aYkewaXMaDXD5PzTWekGIelROuovegkQC+uTO0WZJCnXcpSmrzHoyFK5aBFGXFJhmm8OSfQqa/kGGt/77gK08eCXV9Wue6wtJzPMPYsPGE4J4XAh9mnIFkosecPGrhWDRdeEqEY77chNT6a19ktMNhlaqs/NrQRdrPOedhIm0/+OBTki8CfLtJky2qnTtb/J0uP+kd66gW/G+F4BLdY3qUoGtqzvuSV26/9HRAVhggm1t3fEKMYjY+yyZUTzE1UxDfPrvKiaIqMrr9/fHezmX3A4zep3hNwdNFQxLMonnNTkRyw0NkzLZtHc7cU/hgQP2xdCXa+HGeltfcqeogntNZIKssJlezbXt6YufVkCuUYAL8BlwdlsBdlNQZ/iu77EJmcHk9AarVM/wsAiNHveo5odlGg8w9VMiqTCID4Cy2XZoJzakyivlndPy2MuiSMjZhT4p5eaaIXiZUKcM8F+8xpKFx3jNPrXyqjvEir+OYACr6wcJxN1g9/+K/oOMMEhkNjyocFLJdIgYydFFSEDuaMhALCxyPVcWNppdjNnY7grFfnZY2aCdeT0QLJWVEZAKoNPgmG6cBH0XfGDlAQcRQMVg0bywWZKLKAPUq+qWXdfhLAiigUloYvolpX5xdzL9gkLhpF7QB6A4DpZ8K1iAM7IqvAbzfdVNyFThxvtZh8FZdGM2wfAJ7/cdIesMgW1nkyTdjjJDKOaIaEpGO9SDn9KdSBNEsZsdwHrrzCmD3Z3URVUPUEOp/rkOBQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(366004)(346002)(39860400002)(376002)(396003)(451199015)(66899015)(38100700002)(31686004)(36756003)(66446008)(2906002)(83380400001)(82960400001)(8936002)(5660300002)(86362001)(38070700005)(41300700001)(122000001)(8676002)(6486002)(54906003)(110136005)(66556008)(2616005)(71200400001)(316002)(66476007)(478600001)(66946007)(91956017)(4326008)(31696002)(64756008)(76116006)(6512007)(186003)(53546011)(6506007)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?c0FwcS9MV1oxeFFUTTNNVFB3c0VOS01KekJGbGNUOHErekJVbng1U1ZGckMz?=
 =?utf-8?B?Z0VlN29ZUExEMUdyakVpOVVkckZld0dxVE5OdXMwN1FaZ29ETWdmRW1aU0Fr?=
 =?utf-8?B?Y0xzWTAxZlpGWndFbWFTSGIrTkoraitQT3VvdGc2ZlhPOGkzYkQwZmlpSWRH?=
 =?utf-8?B?NW9YTVRKR1BvVDlJOEJRTVZQY3BVMGlGN1VFU3Q5SkxPL1hwanEyQlBOL29Z?=
 =?utf-8?B?bkZaZDhqbnFXZldIeldMY1RWbkU5KzFqTDZQalRKN2lTQ0NKSkIwbzhZWHln?=
 =?utf-8?B?UVhjbUdIM0QvT0ZobnRJWXNid2M0K0hNd3FaUEUvYnVtSHNhRGpDM0x6T2x1?=
 =?utf-8?B?clNYMGhkSGhyZXlJMHRhWkhhZXI0UGYrTy9HT2xTVWJlL3dzSCsxNzRUMDZT?=
 =?utf-8?B?Ny9yNXBRRDdBNG9QS2RoSWZYNGp4VWF1RXZLWTNscExCa1M0bUpYcUR0UDNt?=
 =?utf-8?B?a0dTQ1NkdkJKMURobkgydGlFV2p6Y1U4QzUzKzlNN2xheVJpemNNcnhVUUgz?=
 =?utf-8?B?ZHZ3cFV5VzlqeE9JV21aa1l2MThDVkk1NmQwVHRFZVVLWlRhSW1wUm1TR1dG?=
 =?utf-8?B?T1RERVMzeUVmaUNuNFVGdSthejVFTi80MzhxSkpZRHlpVEJQTEFSVjBENTY4?=
 =?utf-8?B?czFha1Y3bjQvM2RoQ2oxRHpoU2FQaVRSL2RSQVB6TWFmTmFmTExtK1ZUMElj?=
 =?utf-8?B?Y1JmZFVPTldWeFYzc1pnZE13em1qZnVLdXVYU05lWm1rNEhyZ1pERkFUOElG?=
 =?utf-8?B?amFDbjdFUW90Y3hCNWtUenNjSWpxVHV2OC9NRHNQWkRZOUVEc3EwMHVXTWFC?=
 =?utf-8?B?VkNBSVRIeC9rZEtmcFdFSzg5WitzcldjSDl2QWF3V0pJSXB4YUE0anRqQ0I2?=
 =?utf-8?B?cm10MXZFbWsxZ01sWEdGbWZxcDhQbm5HaTBERlRINmwrbytDNTVTUWVQUmY1?=
 =?utf-8?B?THZlS2Nwbk8vTHRMdlFhNmU1cDZhYnF2SytKWWh5c0k4NDhIR1dpRlJ5YlVt?=
 =?utf-8?B?enlkbEhwK2dEcDFybFJyYkRuZ0JMVWlsSGswNGd0RXlBd3pQUUVGVTRXZVdj?=
 =?utf-8?B?NThyMTQ4bFNORXdibktpcXE2Myt5SkdSMTRPV3c0UnZzTlRuZGRLZ1d4cm9h?=
 =?utf-8?B?QjJFNlpCRGxvRkpHRzEzQUpONm9wcTE0S2V5ejB5MlVqREdmQVlZbEV0YURv?=
 =?utf-8?B?azA5d2pSbERwOFVEQVdmOTllbnd0eEk5Um5wZ2Z0bmNISzVVRlN5bHhERWRF?=
 =?utf-8?B?ajJaMTFZQTNmNDJFMjNIY2QrMWtyaGlrcnFRRXdNMUZaYldpNXFyRXFXS1pz?=
 =?utf-8?B?ckJhMDRraDk5T3l1cTd6dklNRVhqbXl1YWhPUEF2VzA1L3cvTXc0OVBrcFBG?=
 =?utf-8?B?dVhycmhCMk10dWFJSkZhTGJoYitQQkVvZ1JzNSsyU0krMUZsbGs0RFZMVlNO?=
 =?utf-8?B?L0RoZXVBRTgxdUZWbG1sVEtlUDVMOVdKSmVJYlZhU0grVkFMTW9VTzBtRzZI?=
 =?utf-8?B?TU1DM2lxSC9tYncyWktHNk94WGd0L1RuR1lWOE1QVzJvVDc5WmhQTVFFMzBL?=
 =?utf-8?B?czlOWGZyNGFWVUVVNVQ4ZnJJeWIwZ1MyaEQ5ajUxS3VKa2c2RjFoUm44a2lS?=
 =?utf-8?B?VGs1SVg2TDQzNGt3bjduekhGckNnTDBXZGtwRm1tQ1Nlc3ZDUHU3WHY3UWZ5?=
 =?utf-8?B?UGlIcjg3Unl2WTBpeDZkNE5XTW9aZGljWWcvTUVlbmtIZ0xQQ2R4QlNsSmQz?=
 =?utf-8?B?L3dzV2FqMlhQTFdzeEdrZ2YwWjUraGR3amovNjJmUmJHeTZPQnovTmNnRXpY?=
 =?utf-8?B?YTlsZkwyTnBmc2tLcTlNbEFrS2hMWlFnRXpzT2lpVjMybnJMeCtKaG9jZVFy?=
 =?utf-8?B?cUFIWWV2WXpTdlNIRURSVEV1OWl6M0N3ZEkxeXRXb2F2QjV3OE9UK1Q0TTJ5?=
 =?utf-8?B?bXB1ZEIvT1ZiWlh3TUZjSmp2SXQ0blJtM0l0T1k3UFRCa3Fpd0c0UVNMTG4w?=
 =?utf-8?B?THNYNWZiZkE4WWkvRVovQnJjdHprakp5Q3ZZK3A4UUZqT1ZEL0ZLS280TjMw?=
 =?utf-8?B?WE9aT09LWnFMTkFzMFRyUzQraWdkVzJkOXNlYWMyTkhDa0NYbFJxL3UwQU5h?=
 =?utf-8?Q?CPxfRkKKjpTg0Ud/MTgh/adRE?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <DDBD4D862DA5CE458085181AD6B01853@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 66a60598-db48-4d0f-f0f3-08dada3342e6
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Dec 2022 22:18:12.6652
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: iXF1phZnkXE2MdZd3gOvpOY/5TUMNSxSN3DEUluqprzmAUUcH5fycGvqR18hs/0Fkr67hzUIqqrDVgkyxxQz3aIZrwSkMfdY4KCEkrRN7ek=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5122

T24gMDkvMTIvMjAyMiAxODo1MSwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPiBIaSBIZW5yeSwNCj4N
Cj4gT24gMDgvMTIvMjAyMiAwMzowNiwgSGVucnkgV2FuZyB3cm90ZToNCj4+IEkgYW0gdHJ5aW5n
IHRvIHdvcmsgb24gdGhlIGZvbGxvdy11cCBpbXByb3ZlbWVudHMgYWJvdXQgdGhlIEFybSBQMk0N
Cj4+IGNvZGUsDQo+PiBhbmQgd2hpbGUgdHJ5aW5nIHRvIGFkZHJlc3MgdGhlIGNvbW1lbnQgYmVs
b3csIEkgbm90aWNlZCB0aGVyZSB3YXMgYW4NCj4+IHVuZmluaXNoZWQNCj4+IGRpc2N1c3Npb24g
YmV0d2VlbiBtZSBhbmQgSnVsaWVuIHdoaWNoIEkgd291bGQgbGlrZSB0byBjb250aW51ZSBhbmQg
aGVyZQ0KPj4gb3BpbmlvbnMgZnJvbSBhbGwgb2YgeW91IChpZiBwb3NzaWJsZSkuDQo+Pg0KPj4+
IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4gRnJvbTogSnVsaWVuIEdyYWxsIDxqdWxp
ZW5AeGVuLm9yZz4NCj4+PiBTdWJqZWN0OiBSZTogW1BBVENIIHYyXSB4ZW4vYXJtOiBwMm06IFBv
cHVsYXRlIHBhZ2VzIGZvciBHSUN2Mg0KPj4+IG1hcHBpbmcgaW4NCj4+PiBhcmNoX2RvbWFpbl9j
cmVhdGUoKQ0KPj4+Pj4gSSBhbHNvIG5vdGljZWQgdGhhdCByZWxpbnF1aXNoX3AybV9tYXBwaW5n
KCkgaXMgbm90IGNhbGxlZC4gVGhpcw0KPj4+Pj4gc2hvdWxkDQo+Pj4+PiBiZSBmaW5lIGZvciB1
cyBiZWNhdXNlIGFyY2hfZG9tYWluX2NyZWF0ZSgpIHNob3VsZCBuZXZlciBjcmVhdGUgYQ0KPj4+
Pj4gbWFwcGluZyB0aGF0IHJlcXVpcmVzIHAybV9wdXRfbDNfcGFnZSgpIHRvIGJlIGNhbGxlZC4N
Cj4+DQo+PiBGb3IgdGhlIGJhY2tncm91bmQgb2YgdGhlIGRpc2N1c3Npb24sIHRoaXMgd2FzIGFi
b3V0IHRoZSBmYWlsdXJlIHBhdGggb2YNCj4+IGFyY2hfZG9tYWluX2NyZWF0ZSgpLCB3aGVyZSB3
ZSBvbmx5IGNhbGwgcDJtX2ZpbmFsX3RlYXJkb3duKCkgd2hpY2ggZG9lcw0KPj4gbm90IGNhbGwg
cmVsaW5xdWlzaF9wMm1fbWFwcGluZygpLi4uDQo+IFNvIGFsbCB0aGlzIG1lc3Mgd2l0aCB0aGUg
UDJNIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHdlIGFyZSBtYXBwaW5nIHRoZQ0KPiBHSUN2MiBDUFUg
aW50ZXJmYWNlIGluIGFyY2hfZG9tYWluX2NyZWF0ZSgpLiBJIHRoaW5rIHdlIHNob3VsZA0KPiBj
b25zaWRlciB0byBkZWZlciB0aGUgbWFwcGluZyB0byBsYXRlci4NCj4NCj4gT3RoZXIgdGhhbiBp
dCBtYWtlcyB0aGUgY29kZSBzaW1wbGVyLCBpdCBhbHNvIG1lYW5zIHdlIGNvdWxkIGFsc28gdGhl
DQo+IFAyTSByb290IG9uIHRoZSBzYW1lIG51bWEgbm9kZSB0aGUgZG9tYWluIGlzIGdvaW5nIHRv
IHJ1biAodGhvc2UNCj4gaW5mb3JtYXRpb24gYXJlIHBhc3NlZCBsYXRlciBvbikuDQo+DQo+IFRo
ZXJlIGlzIGEgY291cGxlIG9mIG9wdGlvbnM6DQo+IMKgMS4gSW50cm9kdWNlIGEgbmV3IGh5cGVy
Y2FsbCB0byBmaW5pc2ggdGhlIGluaXRpYWxpemF0aW9uIG9mIGEgZG9tYWluDQo+IChlLmcuIGFs
bG9jYXRpbmcgdGhlIFAyTSBhbmQgbWFwIHRoZSBHSUN2MiBDUFUgaW50ZXJmYWNlKS4gVGhpcyBv
cHRpb24NCj4gd2FzIGJyaWVmbHkgZGlzY3Vzc2VkIHdpdGggSmFuIChzZWUgWzJdKS4vDQo+IMKg
Mi4gQWxsb2NhdGUgdGhlIFAyTSB3aGVuIHBvcHVsYXRlIHRoZSBQMk0gcG9vbCBhbmQgZGVmZXIg
dGhlIEdJQ3YyDQo+IENQVSBpbnRlcmZhY2UgbWFwcGluZyB1bnRpbCB0aGUgZmlyc3QgYWNjZXNz
IChzaW1pbGFyIHRvIGhvdyB3aXRoIGRlYWwNCj4gd2l0aCBNTUlPIGFjY2VzcyBmb3IgQUNQSSku
DQo+DQo+IEkgZmluZCB0aGUgc2Vjb25kIG9wdGlvbiBpcyBuZWF0ZXIgYnV0IGl0IGhhcyB0aGUg
ZHJhd2JhY2sgdGhhdCBpdA0KPiByZXF1aXJlcyBvbiBtb3JlIHRyYXAgdG8gdGhlIGh5cGVydmlz
b3IgYW5kIHdlIGNhbid0IHJlcG9ydCBhbnkNCj4gbWFwcGluZyBmYWlsdXJlICh3aGljaCBzaG91
bGQgbm90IGhhcHBlbiBpZiB0aGUgUDJNIHdhcyBjb3JyZWN0bHkNCj4gc2l6ZWQpLiBTbyBJIGFt
IGxlYW5pbmcgdG93YXJkcyBvcHRpb24gMi4NCj4NCj4gQW55IG9waW5pb25zPw0KDQpBIERPTUNU
TF9jcmVhdGlvbl9maW5pc2hlZCBoeXBlcmNhbGwgKG5hbWUgc3ViamVjdCB0byBpbXByb3ZlbWVu
dCkgaXMNCm1hbmRhdG9yeSBmb3IgZW5jcnlwdGVkIFZNIHN1cHBvcnQgaW4geDg2ICh0aGVyZSdz
IGNyeXB0byBuZWVkZWQgYXQgdGhpcw0KcG9pbnQgdG8gY29tcGxldGUgdGhlIG1lYXN1cmVtZW50
IG9mIHRoZSBndWVzdCBhbmQgY3JlYXRlIGFuIGF0dGVzdGF0aW9uDQpyZXBvcnQpLCBzbyB3ZSBh
cmUgZ29pbmcgdG8gZ2FpbiBzb21ldGhpbmcgdG8gdGhpcyBlZmZlY3Qgb25lIHdheSBvcg0KYW5v
dGhlci4NCg0KU3VjaCBhIGh5cGVyY2FsbCBhbHNvIHJlbW92ZXMgdGhlIGdpYW50IGJvZGdlIG9m
IHVzaW5nDQpkb21haW5fdW5wYXVzZV9ieV9zeXN0ZW1jb250cm9sbGVyKCkgZm9yIHRoaXMgcHVy
cG9zZS4NCg0KQnV0IGl0IHNlZW1zIGxpa2UgQVJNIGFscmVhZHkgaGFzIGFyY2hfZG9tYWluX2Ny
ZWF0aW9uX2ZpbmlzaGVkKCkgc28geW91DQpjYW4gZG8gMSkgaW5kZXBlbmRlbnRseSBvZiBhZGRp
bmcgYSBuZXcgaHlwZXJjYWxsLsKgIHg4NiB1c2VzIHRoYXQgaG9vaw0KZm9yIGhvb2tpbmcgdXAg
dGhlIG1hZ2ljIEFQSUN2IHNpbmMgcGFnZSBpbnRvIHRoZSBwMm0sIHNvIHlvdSdyZSBhbHJlYWR5
DQppbiBnb29kKD8pIGNvbXBhbnkgd2l0aCBhIEdJQyBib2RnZS4NCg0KDQpBcyB0byB3aGVyZSB0
aGUgbG9naWMgKnNob3VsZCogYmUsIGl0IHNob3VsZCBiZSBkb25lIGluIHRoZSBoeXBlcmNhbGwo
cykNCndoZXJlIHRoZSB0b29sc3RhY2sgaXMgZGVzY3JpYmluZyB0aGUgZ3Vlc3RzIHBoeW1hcCB0
byBYZW4uwqAgVGhlIGZhY3QNCnRoYXQgdGhlc2UgZG9uJ3QgZXhpc3QgaXMgeWV0IGFub3RoZXIg
cHJvYmxlbSBuZWVkaW5nIHRvIGJlIHdvcmtlZCBvbi4NCg0KDQpUaGF0IHNhaWQsIG1vdmluZyB0
aGUgY3JlYXRpb24gc2lkZSBvZiB0aGluZ3MgZG9lc24ndCBjaGFuZ2UgdGhlDQp0ZWFyZG93biBy
ZXF1aXJlbWVudHMuwqAgV2hlbiBJIGdldCB0aW1lIHRvIHJlc3BpbiB0aGUgZmF1bHRfdHRsIHNl
cmllcywNCkdpdGxhYiBDSSB3aWxsIGJlIGFibGUgdG8gZGVtb25zdHJhdGUgdGhlIGJ1ZyBJIGtl
ZXAgb24gdGVsbGluZyB5b3UgaXMNCnN0aWxsIHRoZXJlLCB0aGUgZml4IGZvciB3aGljaCBpcyB0
YWtpbmcgdGhlIHBhdGNoIEkgYWxyZWFkeSB3cm90ZSBmb3INCnlvdS7CoCBUaGVyZSBpcyBubyBj
b3JyZWN0IHdheSB0byBtb3ZlIHRoZSBmaW5hbCBsb29wIG91dCBvZg0KY29tcGxldGVfZG9tYWlu
X2Rlc3Ryb3koKSwgZXZlbiBpZiBpbiB0aGUgZ2VuZXJhbCBjYXNlIHlvdSBjYW4gbWFrZSBpdA0K
bW9yZSBwcmVlbXB0aWJsZSBieSBtb3ZpbmcgdGhlIGFsbG9jYXRpb24gbGF0ZXIuDQoNCn5BbmRy
ZXcNCg==


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 22:26:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 22:26:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458315.716221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3lol-0004Pn-Cs; Fri, 09 Dec 2022 22:26:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458315.716221; Fri, 09 Dec 2022 22:26:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3lol-0004Pg-8C; Fri, 09 Dec 2022 22:26:07 +0000
Received: by outflank-mailman (input) for mailman id 458315;
 Fri, 09 Dec 2022 22:26:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AAZn=4H=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p3loj-0004Pa-GM
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 22:26:05 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76c1dac8-7810-11ed-8fd2-01056ac49cbb;
 Fri, 09 Dec 2022 23:26:04 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2AE806235F;
 Fri,  9 Dec 2022 22:26:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C0CE6C433D2;
 Fri,  9 Dec 2022 22:25:59 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76c1dac8-7810-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670624761;
	bh=Cy/cEwU8tKy+Z8VSGYn/Z8dnVOdEpC8SjqUidsTDLN8=;
	h=From:To:Cc:Subject:Date:From;
	b=ixmxKJaWzcQuDkw85v447u3lGQbF5wPuXeN8fWfUsPRDyjht5foAdGTI1nv0Yj7td
	 CMXrdKwX7tacu6ulm8IU7aaNE+Rui0SIMjiMTB4/ZCVzKn4Wew+tao7ZyBw9C1S91s
	 vYbvcJuDtm1Xt5JSMvajv+qT0OP8RgbL/6Vch+XU6LAL2irpOKqeJgdcSd6eFTAGJX
	 KDlnWAsJvQOG5dIWeDWWxril0Dp2vFWIZsWIk1sNSsUkf5XKJL39zKv3rhCZFEBdiW
	 7rJ9JkW+ETO/Qe4BulkH0rTvk2m4tVp2i0VZPHeiCNCMjo4ttTgR6P7VOSuHIZ/pjU
	 di8/demelTfTg==
From: Stefano Stabellini <sstabellini@kernel.org>
To: julien@xen.org,
	bertrand.marquis@arm.com
Cc: sstabellini@kernel.org,
	Volodymyr_Babchuk@epam.com,
	xen-devel@lists.xenproject.org,
	jbeulich@suse.com,
	Luca.Fancellu@arm.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH v2] xen/arm: efi-boot misra rule 4.1 fix
Date: Fri,  9 Dec 2022 14:25:52 -0800
Message-Id: <20221209222552.3353993-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

We have 3 violations of MISRA C Rule 4.1 ("Octal and hexadecimal escape
sequences shall be terminated") in xen/arch/arm/efi/efi-boot.h. Fix them
and take the opportunity to declare them as static const __initconst and
improve the style.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- add static const __initconst
- add blank newline for style
---
 xen/arch/arm/efi/efi-boot.h | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 43a836c3a7..223db0c4da 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -542,7 +542,9 @@ static void __init efi_arch_handle_module(const struct file *file,
 
     if ( file == &ramdisk )
     {
-        char ramdisk_compat[] = "multiboot,ramdisk\0multiboot,module";
+        static const char __initconst ramdisk_compat[] = "multiboot,ramdisk\0"
+                                                         "multiboot,module";
+
         node = fdt_add_subnode(fdt, chosen, "ramdisk");
         if ( node < 0 )
             blexit(L"Unable to add ramdisk FDT node.");
@@ -555,7 +557,9 @@ static void __init efi_arch_handle_module(const struct file *file,
     }
     else if ( file == &xsm )
     {
-        char xsm_compat[] = "xen,xsm-policy\0multiboot,module";
+        static const char __initconst xsm_compat[] = "xen,xsm-policy\0"
+                                                     "multiboot,module";
+
         node = fdt_add_subnode(fdt, chosen, "xsm");
         if ( node < 0 )
             blexit(L"Unable to add xsm FDT node.");
@@ -568,7 +572,9 @@ static void __init efi_arch_handle_module(const struct file *file,
     }
     else if ( file == &kernel )
     {
-        char kernel_compat[] = "multiboot,kernel\0multiboot,module";
+        static const char __initconst kernel_compat[] = "multiboot,kernel\0"
+                                                        "multiboot,module";
+
         node = fdt_add_subnode(fdt, chosen, "kernel");
         if ( node < 0 )
             blexit(L"Unable to add dom0 FDT node.");
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 09 22:46:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 22:46:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458323.716230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3m8h-0007Df-Vw; Fri, 09 Dec 2022 22:46:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458323.716230; Fri, 09 Dec 2022 22:46:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3m8h-0007DY-TE; Fri, 09 Dec 2022 22:46:43 +0000
Received: by outflank-mailman (input) for mailman id 458323;
 Fri, 09 Dec 2022 22:46:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AAZn=4H=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p3m8h-0007DS-9O
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 22:46:43 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 589e36cc-7813-11ed-91b6-6bf2151ebd3b;
 Fri, 09 Dec 2022 23:46:41 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1B6326236E;
 Fri,  9 Dec 2022 22:46:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 055EBC433F0;
 Fri,  9 Dec 2022 22:46:37 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 589e36cc-7813-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670625999;
	bh=BwJLB5v+O2/TDwJ9UKKGFRy5zPU5E7zS7psyQyTril4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Hab0KQF787raPgtLQiqgaHLiBA3VAO+/yb3+voWoStKaeS1glvEYxOvV2Hv1RBOnp
	 3SDEcNvyp6eGcEocUb+fdjdbqJJQZP2eW2OLd3Ad3/7piTEx3QnDzXX7yWhM51UI9b
	 iyvThFPSE4DTrrd/2SKKXh+tJLbRXW1w2g+19q/oC4ca14sPHxJMsXmlT6yZ+ex8lJ
	 XBqgKKEw0HgSf8qFdkQxrkf8RWPW7YIoy1ot21Ah6NFgghtby1FiZror8IaafOGN0W
	 8JbCgJXaiXgrHZgFLvzBnDhOM+cljFbjcMt6x0RG4q4TiYNr7h3/uKQDEFIhjRTZhB
	 T2DDi0scRjI0Q==
Date: Fri, 9 Dec 2022 14:46:36 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>, roberto.bagnara@bugseng.com
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com, 
    george.dunlap@citrix.com, julien@xen.org, roger.pau@citrix.com, 
    burzalodowa@gmail.com, michal.orzel@amd.com
Subject: Re: MISRA C Rule 20.7 disambiguation
In-Reply-To: <eb35b7bf-3a49-4faa-3ea6-a6076f032fd6@suse.com>
Message-ID: <alpine.DEB.2.22.394.2212091427180.3075842@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2212081619310.3075842@ubuntu-linux-20-04-desktop> <eb35b7bf-3a49-4faa-3ea6-a6076f032fd6@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 9 Dec 2022, Jan Beulich wrote:
> On 09.12.2022 01:45, Stefano Stabellini wrote:
> > This patch is to start a discussion in regard to rule 20.7 and its
> > interpretation. During the last MISRA C call we discussed that "our"> interpretation of the rule means that the following two cases don't need
> > extra parenthesis:
> > 
> > #define M(a, b) func(a, b)
> > #define M(a, b) (a) = b
> 
> I'm puzzled by the latter.

Sorry that was my mistake, I misread one of the examples.


> Iirc there was discussion on whether the LHS of an assignment needs
> parentheses, but I don't think there was any question about the RHS
> wanting them, irrespective of the facts that only comma expressions
> have lower precedence than assignment ones and that evaluation goes
> right to left anyway.
> 
> One aspect speaking for parentheses even on the LHS is that an expression
> (rather than an lvalue) passed as macro argument then uniformly becomes
> invalid, i.e. not just
> 
> 	M(x + y, z)
> 
> would be rejected by the compiler, but also
> 
> 	M(x = y, z)

So actually it should be:

#define M(a, b) (a) = (b)


> > Let's take another example:
> > 
> > #define xzalloc_flex_struct(type, field, nr) \
> >     ((type *)_xzalloc(offsetof(type, field[nr]), __alignof__(type)))
> > 
> > "type" is the same as last time. There are 2 other interesting macro
> > parameters here: nr and field.
> > 
> > nr could result in an expression, but I don't think it needs
> > parenthesis because it is between []? However, we know we have a clear
> > exception for the "," operator. We don't have a clear exception for the
> > [] operator. Do we need (nr)?
> 
> The question of whether parentheses are needed clearly need to be based
> on whether without parentheses anything that looks sensible on the surface
> can be mistaken for other than what was meant. I think [] simply are
> another form of parenthesization, even if these are commonly called square
> bracket (not parentheses). For this to be mistaken, a macro argument would
> need to be passed which first has a ] and then a [. This clearly doesn't
> look sensible even when just very briefly looking at it. Plus the same
> issue would exist with parentheses: You could also undermine the proper
> use of parentheses in the macro by passing a macro argument which first
> has ) and then (. IOW - adding parentheses here adds no value, and hence
> is merely clutter.
> 
> > field could result in an expression, so I think it needs parenthesis.
> 
> No, field (and intentionally named that way) is a struct member indicator.
> Neither p->(field) nor s.(field) are syntactically valid. There simply
> cannot be parentheses here, so the same conclusion as near the top applies.
>
> > Just to be clear, I'll list all the possible options below.
> > 
> > a) no changes needed, xzalloc_flex_struct is good as is
> 
> This is it, and not surprisingly: This construct was introduced not that
> long ago, when we already paid close attention to parenthesization needs.


Let's see if we can configure a MISRA C checking tool with the behavior
we would like, i.e. xzalloc_flex_struct not a violation. (I am using
xzalloc_flex_struct as an example.)

cppcheck marks xzalloc_flex_struct as violation but it is not surprising
as we know cppcheck is a bit rudimental. It might be better to disable
scanning for 20.7 in cppcheck.

Eclair marks it as a violation too. Eclair thinks "nr" needs
parenthesis. Roberto, we have already discussed how the comma operator
"," being the lower precedence doesn't require extra parenthesis.
Roberto, what's your take on the [] square brakets?


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 23:24:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 23:24:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458333.716241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3mjc-0003rh-T8; Fri, 09 Dec 2022 23:24:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458333.716241; Fri, 09 Dec 2022 23:24:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3mjc-0003ra-QY; Fri, 09 Dec 2022 23:24:52 +0000
Received: by outflank-mailman (input) for mailman id 458333;
 Fri, 09 Dec 2022 23:24:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p3mjb-0003rU-R9
 for xen-devel@lists.xenproject.org; Fri, 09 Dec 2022 23:24:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3mjY-0007xf-AL; Fri, 09 Dec 2022 23:24:48 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p3mjY-0004nP-4V; Fri, 09 Dec 2022 23:24:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=pXXMEZr+ohpBx1O1ek/P1yw9UOmaWk9U75mmjk4MfV8=; b=cHDBPiyssslfmN82Fqif23pw7u
	2ENKH4IwH+FBWefc687JMQNkSlMPO2fUJuDjhI4LZHT3EBVDmJ6/SvcdFyZNVdJb/TdUgfcbp9bzy
	bGiZx+J6E459gljXv5/op8S2N+8OcHDxAQoCKm3THI/oT0HoGLUAzxiz+yyS12bPl9E0=;
Message-ID: <3fe0e377-367d-d6d1-395c-f7091d31ac05@xen.org>
Date: Fri, 9 Dec 2022 23:24:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, Henry Wang
 <Henry.Wang@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Wei Chen <Wei.Chen@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20221014080917.14980-1-Henry.Wang@arm.com>
 <a947e0b4-8f76-cea6-893f-abf30ff95e0d@xen.org>
 <AS8PR08MB7991FD5994497D812FE3AE2E92249@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <9d5ab09e-650f-118d-0233-d7988f1504f1@xen.org>
 <AS8PR08MB799170627B34BD2627CE3092921D9@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <e6643bfc-5bdf-f685-1b68-b28d341071c1@xen.org>
 <b9a2d6c7-fb09-a89a-14ef-09bc197afa0f@citrix.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v2] xen/arm: p2m: Populate pages for GICv2 mapping in
 arch_domain_create()
In-Reply-To: <b9a2d6c7-fb09-a89a-14ef-09bc197afa0f@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Andrew,

On 09/12/2022 22:18, Andrew Cooper wrote:
> On 09/12/2022 18:51, Julien Grall wrote:
> That said, moving the creation side of things doesn't change the
> teardown requirements.  When I get time to respin the fault_ttl series,
> Gitlab CI will be able to demonstrate the bug I keep on telling you is
> still there, the fix for which is taking the patch I already wrote for
> you.

Is it just a matter of rebasing the series? If so, I am happy to give a 
try to see what comes up...

> There is no correct way to move the final loop out of
> complete_domain_destroy(), even if in the general case you can make it
> more preemptible by moving the allocation later.

Hmmm... I don't think the call to p2m_teardown() in 
complete_domain_destroy() will be necessary once we move the P2M 
allocation out of arch_domain_create().

This is because there will be no use of the P2M after 
domain_relinquish_resources().

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 09 23:52:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 09 Dec 2022 23:52:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458343.716253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3nAd-0007qF-3R; Fri, 09 Dec 2022 23:52:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458343.716253; Fri, 09 Dec 2022 23:52:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3nAd-0007q8-0p; Fri, 09 Dec 2022 23:52:47 +0000
Received: by outflank-mailman (input) for mailman id 458343;
 Fri, 09 Dec 2022 23:52:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3nAb-0007py-Pk; Fri, 09 Dec 2022 23:52:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3nAb-0000Cy-Nn; Fri, 09 Dec 2022 23:52:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3nAb-0006zF-Ad; Fri, 09 Dec 2022 23:52:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3nAb-0007hc-AA; Fri, 09 Dec 2022 23:52:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2nyO+aO9VeObQf3NDw4XEsqJfREpywfpeJpLtKPTVP0=; b=dDEbO8bF8mgU6s5LhxmgQN7dM/
	ipgsIxUUlKo1VKMEHN+YBBuZvslXtMeH/KVnPySx/xMuu/faIlKbs/C5aL04mbdGRGO15ao+0YG79
	5NOv7/g98khofYCbjReawAvg7KDbbaAlY/+E1E0lX//IklxmA08b8QKzwG/ALVEwdJ+A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175116-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175116: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0d1409e4ff08aa4a9a254d3f723410db32aa7552
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 09 Dec 2022 23:52:45 +0000

flight 175116 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175116/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                0d1409e4ff08aa4a9a254d3f723410db32aa7552
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   63 days
Failing since        173470  2022-10-08 06:21:34 Z   62 days  124 attempts
Testing same since   175116  2022-12-09 05:37:10 Z    0 days    1 attempts

------------------------------------------------------------
1991 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 191571 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 10 00:55:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 00:55:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458356.716263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3o9D-0007XB-BN; Sat, 10 Dec 2022 00:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458356.716263; Sat, 10 Dec 2022 00:55:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3o9D-0007X4-8c; Sat, 10 Dec 2022 00:55:23 +0000
Received: by outflank-mailman (input) for mailman id 458356;
 Sat, 10 Dec 2022 00:55:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3o9B-0007Wu-Hl; Sat, 10 Dec 2022 00:55:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3o9B-0002Df-Fd; Sat, 10 Dec 2022 00:55:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3o9B-00014B-3R; Sat, 10 Dec 2022 00:55:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3o9B-0007tv-2w; Sat, 10 Dec 2022 00:55:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BH7wXH80lZAEi46xx/lVj23nA1K/T/dOxj4QzAsZB2o=; b=z8sme7yjsu6YWgBacnaU+t5Nke
	Gxb06epHU/yAIRo17OmSCBiF+V9Cf92DShOwqqU/yqjLAG/N44Bv7ZKxNMbfPM+06HIeul6C5NRQ+
	p+jXryJOc/phUniCq6SnQ32o2wUqsB4+YWw6F3yw+0gVlvUTCHqf/CUYETyRwPoCx7yU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175131-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175131: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=54073350bad16b6045522df40a90be79d970aa0e
X-Osstest-Versions-That:
    xen=8d30b9e32c462fdfab4207bfcd31ed63749c4f28
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 10 Dec 2022 00:55:21 +0000

flight 175131 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175131/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  54073350bad16b6045522df40a90be79d970aa0e
baseline version:
 xen                  8d30b9e32c462fdfab4207bfcd31ed63749c4f28

Last test of basis   175130  2022-12-09 19:03:41 Z    0 days
Testing same since   175131  2022-12-09 22:01:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   8d30b9e32c..54073350ba  54073350bad16b6045522df40a90be79d970aa0e -> smoke


From xen-devel-bounces@lists.xenproject.org Sat Dec 10 03:40:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 03:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458371.716275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3qiW-00084z-7U; Sat, 10 Dec 2022 03:40:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458371.716275; Sat, 10 Dec 2022 03:40:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3qiW-00084r-1c; Sat, 10 Dec 2022 03:40:00 +0000
Received: by outflank-mailman (input) for mailman id 458371;
 Sat, 10 Dec 2022 03:39:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VBnF=4I=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p3qiU-00084l-Jw
 for xen-devel@lists.xenproject.org; Sat, 10 Dec 2022 03:39:58 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2045.outbound.protection.outlook.com [40.107.13.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 501af382-783c-11ed-91b6-6bf2151ebd3b;
 Sat, 10 Dec 2022 04:39:56 +0100 (CET)
Received: from DU2P250CA0023.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:231::28)
 by AS2PR08MB10208.eurprd08.prod.outlook.com (2603:10a6:20b:648::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Sat, 10 Dec
 2022 03:39:53 +0000
Received: from DBAEUR03FT012.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:231:cafe::87) by DU2P250CA0023.outlook.office365.com
 (2603:10a6:10:231::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10 via Frontend
 Transport; Sat, 10 Dec 2022 03:39:53 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT012.mail.protection.outlook.com (100.127.142.126) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.17 via Frontend Transport; Sat, 10 Dec 2022 03:39:52 +0000
Received: ("Tessian outbound 73ab5f36653e:v130");
 Sat, 10 Dec 2022 03:39:52 +0000
Received: from afdc606c7f22.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CF0E69D1-E99E-4099-940B-496865859DA3.1; 
 Sat, 10 Dec 2022 03:39:42 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id afdc606c7f22.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 10 Dec 2022 03:39:42 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAVPR08MB9723.eurprd08.prod.outlook.com (2603:10a6:102:31e::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Sat, 10 Dec
 2022 03:39:32 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%8]) with mapi id 15.20.5880.011; Sat, 10 Dec 2022
 03:39:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 501af382-783c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jlsZnQec8HLWDOeAbpVHnGPpbrwJcDiXTvvj1z8NwSA=;
 b=8Ps3eDMPK20qyy6OP78WAHWM0l/iwMBxqiWsjxRfFGY+4oQ33J1hYEL9auYvz2jbZMt0gAkdcilCz1vMXkuJyrR2jXK4oVzSHteeFO2w5ORuQE/um0b/lhwLpN1mHA01fr2FgBgnRfN3t6cCeoMGyFHYB3lXxFFUah6IAhHZIjg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jb21g9Vhg43A34EALcriabuBAoDOnf3DynsvE+MDuyWOZgKu1dIRBlCnd2OSkFUovPYfXtIF/rYtPpqmG9n3gYtQy2Ne75tx9HevkQNRTtc9ZlvIIfyJUk3YhvXk21159bR1o52Ji9m2w2aQo3WAj785LiWrditfuycNZbtrLzhrPaFS3/pNxbb/fQ+CtWG/5xK3tKiUSXosRAyvlr10CmA6EKpEvI2lsq7sYNwwLOa6wPeBQnPP8fhAP/1Q7EZZj3GMjBzJMr63udsW25JMpJXW9+gP4R1hizawQneYmrjGAXqyQr1Ignlo6Pyjfvz6lq6rYaWdDaVBjAdJU2ZwSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jlsZnQec8HLWDOeAbpVHnGPpbrwJcDiXTvvj1z8NwSA=;
 b=HSB7myMxdp6iVZvWRXZ96QPGrDW0S+nFzI2BV6ptcQWxUVfY/kLQAnIQ8ymN2GStL3VVcX7ZTxYipmOsSmWTZKooURSJJGcISfP7/cYPOnsaFgGp/JY+uZ+qGjv8nF/wQeWerFunR2juum87JlnonaT3pQ24dV4rUgdseh2SCGJPZD+Eznqn2WZTEedDbLkxCDu4dN6wys9ss+bd4QnDDcYVU8cZRFDOeNnboPnwnL4jEcY/uBZUHoRXnf+iHvYShcrMO2aCVejYDQln8OJ4GRNLvZBmGk4UScda0Y4Vs6WRxThBErGr/u/I1y0fZ4ufPowkxiGl55ElJMvowwB+fA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jlsZnQec8HLWDOeAbpVHnGPpbrwJcDiXTvvj1z8NwSA=;
 b=8Ps3eDMPK20qyy6OP78WAHWM0l/iwMBxqiWsjxRfFGY+4oQ33J1hYEL9auYvz2jbZMt0gAkdcilCz1vMXkuJyrR2jXK4oVzSHteeFO2w5ORuQE/um0b/lhwLpN1mHA01fr2FgBgnRfN3t6cCeoMGyFHYB3lXxFFUah6IAhHZIjg=
From: Henry Wang <Henry.Wang@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 1/3] xen/arm: Add memory overlap check for
 bootinfo.reserved_mem
Thread-Topic: [PATCH 1/3] xen/arm: Add memory overlap check for
 bootinfo.reserved_mem
Thread-Index:
 AQHZCFVpJ7Devc/hmEy35+ez8tCKHq5hqCsAgACqrwCAALLIgIAACnqAgAAL4ICAA2F/EA==
Date: Sat, 10 Dec 2022 03:39:32 +0000
Message-ID:
 <AS8PR08MB799135DFF656809F03039BE9921F9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20221205025753.2178965-1-Henry.Wang@arm.com>
 <20221205025753.2178965-2-Henry.Wang@arm.com>
 <alpine.DEB.2.22.394.2212061716170.4039@ubuntu-linux-20-04-desktop>
 <8e635354-fdf4-a37f-0dba-c4b29063e152@xen.org>
 <alpine.DEB.2.22.394.2212071424060.4039@ubuntu-linux-20-04-desktop>
 <556d4b3f-3983-a336-f299-ce6b2b4a6e72@xen.org>
 <alpine.DEB.2.22.394.2212071534260.2730675@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2212071534260.2730675@ubuntu-linux-20-04-desktop>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 29711793009868458E00CC9F2C9D80E8.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PAVPR08MB9723:EE_|DBAEUR03FT012:EE_|AS2PR08MB10208:EE_
X-MS-Office365-Filtering-Correlation-Id: 83c6b8b8-fdbf-45b2-5d2e-08dada603286
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 VQaoul9TjRGFiKILeYhs1FaadClTwSD/J8oSOpYFfjHfYSyssGDWq0xadnQxPbnfOOsqWGIR6590LPAsyoNOgipU75nGOxohPY7XYWlwTKriI3vNlr1Y4osTXbpMIcIAfyGMvx1UfB1It9XVE5oShrbVlfgQQnQS/PQLc/wB2Gkd9n5c/RBBBQ5csDCD8l50tuo0X38Fi+dGY+mm1SannPNcwRtrylKkC+npfyCS9Xrenz7IM4K3mQJNTFKuwPljZL4aP8mblJZel/f8LhQoXBAynQ+viHBl/A+L6ntLuddisq4bb10aK09wIQA/Q/BPjtcfuR6a6blPf3mNuW+xhz4FGsM9eLxP5IubmCxZDDOH/4fRBIdo+xfAakBhf9H62OPkzoUGrK1PcdD31J25MvVi8/OTIgGGZ6KZCQtc6DbT/KTN2dARwGgBC1SadMPsFuH6dRWWw3fwhNUltM3FrZhx33RO/yX/FLigFz8P8jzu99/pnh7eMbvQWXxWatwNEhnVH1pCerVKobhpW4WspUegksGuEJBvQRjS8VoJURpxL8MLO8hhlgm8tkmyDfiLpmeXlggT2svHjBu1kWSq/16qTp+r005AohIbzL/tHUoBkJcK49gujXQunpRP64EBfUIk2XW5htUhJfCfX8UUsl6WRcLL4KSaO+4K8GgdzLZnVQNIKbxuE9mqCFHfCD2zEbVmCHQhdzDk3wilm6aj7KO+1KdGxsdiB6V2GVQ+meA=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(396003)(366004)(376002)(136003)(39860400002)(451199015)(186003)(41300700001)(66476007)(66446008)(66556008)(66946007)(76116006)(478600001)(7696005)(9686003)(966005)(26005)(5660300002)(8936002)(316002)(38070700005)(6506007)(33656002)(86362001)(122000001)(2906002)(64756008)(52536014)(8676002)(4326008)(55016003)(71200400001)(54906003)(38100700002)(110136005)(83380400001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9723
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9b458bf6-d233-4d50-f2e3-08dada602673
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QivIRqKVDBngDfUJaI0fsOvGdJ0mSzU1sstfG4wLR5LHTWSeLsrf8DlZLj2R217RaJcO1hL2lUK+XfkXdOIHOa6y6vKDupx2s1QODaCFQhKg/wqZe5I5pXdGVpIYB+z+SM/6Ok6extFQxKc6gwoP0Gkx4dGK19bcW0CkJ5x6VIGGNBgTqo7VNkHW0lOkBsBVZAxWchsp0eiHrauSKFtTkbtkTfmuvUrFS+fYxtxoZz0lfnSZgz8C4vU9G3Wybj18rmCfVbwArBTfkXEc5r0VZvSdJHSpqgo9YM7aMbTE/+x/FtRL0BqqUa5DV//b1WCcL2z6sdnpAVdbaHD6MeYnCH8yYB5LDFnJNTn1Z3U5dYJZm5IOBAIst8YBNcK4y56hMxQnBXxFeWqPazKwQHPNva6bo+8MgSal5Cae7wBgl3pfVm5duktxDsqKX75cuusSfxgmZ36SazZ7s/ET8MxCBeG4kQprVX9Mp7sa1+NWF1CKvbhdJWOL5CLq/81ShnlYZJYGzoYw1HZ6qs4/WGooys/tlTRexKuY1rd3Ie6Z8IpYqEnNMSlkLZ6jc68+G3Z0e9XVL31birp3G4SMDpXw7xnBJfRVw63FlUeoL0269m7zclv3lCA8eyGnlfVIWLmcwkwQbJ/JVxga0L/iDSJ+oe+nQpAdGFURRWLcyqBlxgtHLcX8767Ce0EfPGPg4HwxAUhkFGidtPHzKX8YxHp9opNXw6XOt75ATfWuNC+kgkk=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(346002)(396003)(39860400002)(451199015)(40470700004)(36840700001)(46966006)(186003)(478600001)(8936002)(41300700001)(70206006)(36860700001)(8676002)(4326008)(70586007)(55016003)(52536014)(40480700001)(966005)(107886003)(47076005)(5660300002)(33656002)(83380400001)(26005)(54906003)(110136005)(9686003)(81166007)(40460700003)(2906002)(6506007)(82310400005)(316002)(7696005)(86362001)(356005)(336012)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Dec 2022 03:39:52.5728
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 83c6b8b8-fdbf-45b2-5d2e-08dada603286
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT012.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10208

Hi both,

I was lurking around to see how the discussion would go. Thanks for the
discussions/inputs in this thread :)=20

> -----Original Message-----
> From: Stefano Stabellini <sstabellini@kernel.org>
> Subject: Re: [PATCH 1/3] xen/arm: Add memory overlap check for
> bootinfo.reserved_mem
> > > It cannot be a single static inline function because the bootinfo
> > > arguments are of three different types, it just happens that all thre=
e
> > > have a "start" and "size" struct member so it works great with a macr=
o,
> > > but doesn't for a function.
> >
> > It is not clear to me what are the three types you are referring to. Lo=
oking
> > at the definition of bootinfo is:
> >
> > struct bootinfo {
> >     struct meminfo mem;
> >     /* The reserved regions are only used when booting using Device-Tre=
e */
> >     struct meminfo reserved_mem;
> >     struct bootmodules modules;
> >     struct bootcmdlines cmdlines;
> > #ifdef CONFIG_ACPI
> >     struct meminfo acpi;
> > #endif
> >     bool static_heap;
> > };
> >
> > cmdlines is something uninteresting here. So we have two types:
> >   - bootmodules for modules
> >   - meminfo used by reserved_mem, mem and acpi

Exactly, we need to check the given input physical address range is
not overlapping with any of the banks in bootmodules and meminfo used by
reserved_mem & acpi.

> >
> > Looking in details the code, now I understand why you suggested the
> macro.
> > This is far better than the checking what the array type (not very scal=
able).
>=20
> Thank you :-)

+1, I also thought this would be quite painful to extend in the future (onc=
e we
add a new member in bootinfo, for example what Penny did in [1], we need to
extend the overlap check as well), but I didn't think of using macro so tha=
nk you
Stefano :)

>=20
>=20
> > Personally, I think trying to share the code between the two types is a=
 bit
> > odd. The logic is the same today, but I envision to merge reserved_mem,
> mem
> > and acpi in a single array (it would look like the E820) as this would =
make
> > easier to find the caching attributes per regions when mapping the RAM.=
 So
> > sharing the code would not be possible.
> >
> > That said, if you really want to share the code between the two types. =
Then
> I
> > would prefer one of the following option:
> >    1) Provide a callback that is used to fetch the information from the=
 array
> >    2) Provide a common structure that could be used by the function.
> >
> > This would match other generic function like sort & co.
>=20
> I think option 2) would be the best but I couldn't think of a simple way
> to do it (without using a union and I thought a union would not make
> things nicer in this case).
>=20
> Rather than option 1), I think I would rather have 2 different functions
> to check struct bootmodules and struct meminfo, or the macro.

I personally don't have specific taste here. I think the option
is good one as long as we can (1) share most part of the code (2) make the
code easy to extend in the future. So as long as you two reach
a consensus here I will change to the agreed method in v2.

[1] https://lore.kernel.org/xen-devel/20221115025235.1378931-2-Penny.Zheng@=
arm.com/

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Sat Dec 10 04:04:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 04:04:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458380.716286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3r66-0003hd-7s; Sat, 10 Dec 2022 04:04:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458380.716286; Sat, 10 Dec 2022 04:04:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3r66-0003hW-3J; Sat, 10 Dec 2022 04:04:22 +0000
Received: by outflank-mailman (input) for mailman id 458380;
 Sat, 10 Dec 2022 04:04:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3r64-0003hM-G9; Sat, 10 Dec 2022 04:04:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3r64-0005Eb-Ce; Sat, 10 Dec 2022 04:04:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3r63-0000wP-VW; Sat, 10 Dec 2022 04:04:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3r63-00083N-Uk; Sat, 10 Dec 2022 04:04:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KZMbngqirxy0emQ6Z6EM/C8ieguqpW1nPVIcajU6xZk=; b=QJ3f4rqPDcgmtXtMwACL7139GX
	4SLMsDZTg5hUtDymZy8Yx6A2vDpFJEsODmoKisH20tbTLHlbBCx9LyBH+yyp5YP0mpZ+dCM7KlGsz
	FHdqj/4U5T1YEovVt5pmj97wWtPLWeK6r4FiKogS/HbaUtX3j/STF9XPYAVMef6vrGJY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175126-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175126: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt:xen-install:fail:regression
    xen-unstable:test-amd64-i386-xl:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=d7669c101427c1504517418e832fb760ae89e6bc
X-Osstest-Versions-That:
    xen=db92cb450dd7ad5eb103819d26b737cdc054ce4a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 10 Dec 2022 04:04:19 +0000

flight 175126 xen-unstable real [real]
flight 175134 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175126/
http://logs.test-lab.xenproject.org/osstest/logs/175134/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 175104

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl            7 xen-install         fail pass in 175134-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175104
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175104
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175104
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175104
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175104
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175104
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175104
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175104
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175104
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175104
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175104
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175104
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  d7669c101427c1504517418e832fb760ae89e6bc
baseline version:
 xen                  db92cb450dd7ad5eb103819d26b737cdc054ce4a

Last test of basis   175104  2022-12-08 23:09:58 Z    1 days
Testing same since   175126  2022-12-09 15:45:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit d7669c101427c1504517418e832fb760ae89e6bc
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Mon Oct 10 23:42:03 2022 -0400

    Use EfiACPIReclaimMemory for ESRT
    
    A previous patch tried to get Linux to use the ESRT under Xen if it is
    in memory of type EfiRuntimeServicesData.  However, this turns out to be
    a bad idea.  Ard Biesheuvel pointed out that EfiRuntimeServices* memory
    winds up fragmenting both the EFI page tables and the direct map, and
    that EfiACPIReclaimMemory is a much better choice for this purpose.
    
    Link: https://lists.xenproject.org/archives/html/xen-devel/2022-09/msg01365.html
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Release-acked-by: Henry Wang <Henry.Wang@arm.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sat Dec 10 04:08:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 04:08:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458389.716297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3rAX-0004UW-Pc; Sat, 10 Dec 2022 04:08:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458389.716297; Sat, 10 Dec 2022 04:08:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3rAX-0004UP-Mq; Sat, 10 Dec 2022 04:08:57 +0000
Received: by outflank-mailman (input) for mailman id 458389;
 Sat, 10 Dec 2022 04:08:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3rAW-0004UF-J4; Sat, 10 Dec 2022 04:08:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3rAW-0005JJ-Gf; Sat, 10 Dec 2022 04:08:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3rAW-000115-6K; Sat, 10 Dec 2022 04:08:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3rAW-0007Ek-5v; Sat, 10 Dec 2022 04:08:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pmsNDW07AGuyHGeyxGwsEPXyTvt1jCEPB/mn9HXBOeQ=; b=BY8V2Gp2Br4wu1J5QAWsM6kdJc
	6BUB/tqL8mEZozc5eqzOIYennLxpw3FUhGxeZDeWuPUdVbFLqB2QC1TyVM3mmk2u8qGV6ts8VilH3
	hvUfnukavAr/CY8bxP0f5vRTfF7jzmQw+cxpsHGQIhv+AT4nbLohUCkwJAOO4NXIzO7A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175128-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175128: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt:debian-fixup:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:guest-start/debianhvm.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=316cdfc48d4db2c425370ef8575dd7d81283515d
X-Osstest-Versions-That:
    linux=4d2a309b5c28a2edc0900542d22fec3a5a22243b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 10 Dec 2022 04:08:56 +0000

flight 175128 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175128/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175106 pass in 175128
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 175106
 test-armhf-armhf-libvirt     13 debian-fixup               fail pass in 175106
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 20 guest-start/debianhvm.repeat fail pass in 175106
 test-armhf-armhf-xl-vhd      13 guest-start                fail pass in 175106

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 175106 REGR. vs. 174962

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 175106 blocked in 174962
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 175106 like 174962
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 175106 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 175106 never pass
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 175106 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 175106 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 175106 never pass
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 174962
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 174962
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 174962
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 174962
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 174962
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 174962
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 174962
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 174962
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 174962
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 174962
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 174962
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 174962
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                316cdfc48d4db2c425370ef8575dd7d81283515d
baseline version:
 linux                4d2a309b5c28a2edc0900542d22fec3a5a22243b

Last test of basis   174962  2022-11-25 17:13:53 Z   14 days
Testing same since   175092  2022-12-08 10:44:18 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adrian Hunter <adrian.hunter@intel.com>
  Al Viro <viro@zeniv.linux.org.uk>
  Alejandro Concepcion-Rodriguez <asconcepcion@acoro.eu>
  Alejandro Concepción Rodríguez <asconcepcion@acoro.eu>
  Alessandro Astone <ales.astone@gmail.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexandre Belloni <alexandre.belloni@bootlin.com>
  Allen Pais <apais@linux.microsoft.com>
  Aman Dhoot <amandhoot12@gmail.com>
  Anand Jain <anand.jain@oracle.com>
  Andreas Kemnade <andreas@kemnade.info>
  Andrew Davis <afd@ti.com>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Andrzej Hajda <andrzej.hajda@intel.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Bjørn Mork <bjorn@mork.no>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Brian Norris <briannorris@chromium.org>
  Carlos Llamas <cmllamas@google.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chen Zhongjin <chenzhongjin@huawei.com>
  ChenXiaoSong <chenxiaosong2@huawei.com>
  Christian Brauner <christian.brauner@ubuntu.com>
  Christian König <christian.koenig@amd.com>
  Christian Loehle <cloehle@hyperstone.com>
  Christian Löhle <CLoehle@hyperstone.com>
  Christoph Hellwig <hch@lst.de>
  Claudio Suarez <cssk@net-c.es>
  Claudiu Beznea <claudiu.beznea@microchip.com>
  Conor Dooley <conor.dooley@microchip.com>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Ahern <dsahern@kernel.org>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Detlev Casanova <detlev.casanova@collabora.com>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominik Haller <d.haller@phytec.de>
  Dominique Martinet <asmadeus@codewreck.org>
  Duoming Zhou <duoming@zju.edu.cn>
  Enrico Sau <enrico.sau@gmail.com>
  Eric Dumazet <edumazet@google.com>
  Fabio Estevam <festevam@gmail.com>
  Felix Kuehling <Felix.Kuehling@amd.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Frieder Schrempf <frieder.schrempf@kontron.de>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  Gleb Mazovetskiy <glex.spb@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guantao Liu <guantaol@google.com>
  Guenter Roeck <linux@roeck-us.net>
  Haibo Chen <haibo.chen@nxp.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil@xs4all.nl>
  Heiko Carstens <hca@linux.ibm.com>
  Heiko Stuebner <heiko@sntech.de>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hugh Dickins <hughd@google.com>
  Hulk Robot <hulkrobot@huawei.com>
  Ido Schimmel <idosch@nvidia.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jaco Coetzee <jaco.coetzee@corigine.com>
  Jakob Unterwurzacher <jakob.unterwurzacher@theobroma-systems.com>
  Jakub Kicinski <kuba@kernel.org>
  James Morse <james.morse@arm.com>
  Jan Dabros <jsd@semihalf.com>
  Jann Horn <jannh@google.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jens Axboe <axboe@kernel.dk>
  Jens Wiklander <jens.wiklander@linaro.org>
  Jernej Skrabec <jernej.skrabec@gmail.com>
  Jerry Ray <jerry.ray@microchip.com>
  Joanne Koong <joannelkoong@gmail.com>
  Joerg Roedel <jroedel@suse.de>
  Johannes Berg <johannes.berg@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jon Maloy <jmaloy@redhat.com>
  Jonas Gorski <jonas.gorski@gmail.com>
  Jonas Jelonek <jelonek.jonas@gmail.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Josef Bacik <josef@toxicpanda.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Juergen Gross <jgross@suse.com>
  Kai-Heng Feng <kai.heng.feng@canonical.com>
  Keith Busch <kbusch@kernel.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lars-Peter Clausen <lars@metafoo.de>
  Lee Jones <lee@kernel.org>
  Leon Romanovsky <leonro@nvidia.com>
  Lin Ma <linma@zju.edu.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Liu Shixin <liushixin2@huawei.com>
  Lu Baolu <baolu.lu@linux.intel.com>
  Luben Tuikov <luben.tuikov@amd.com>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Lukas Wunner <lukas@wunner.de>
  Lyude Paul <lyude@redhat.com>
  Marc Dionne <marc.dionne@auristor.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Mark Brown <broonie@kernel.org>
  Martin Faltesek <mfaltesek@google.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Masahiro Yamada <yamada.masahiro@socionext.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Matt Ranostay <matt.ranostay@konsulko.com>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Maxim Korotkov <korotkov.maxim.s@gmail.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michael Kelley <mikelley@microsoft.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Snitzer <snitzer@kernel.org>
  Miklos Szeredi <mszeredi@redhat.com>
  Mikulas Patocka <mpatocka@redhat.com>
  Mitja Spes <mitja@lxnav.com>
  Moshe Shemesh <moshe@nvidia.com>
  Mukesh Ojha <quic_mojha@quicinc.com>
  Nathan Chancellor <nathan@kernel.org>
  Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
  Nicolas Cavallari <nicolas.cavallari@green-communications.fr>
  Nikolay Aleksandrov <razor@blackwall.org>
  Nikolay Borisov <nborisov@suse.com>
  Ovidiu Panait <ovidiu.panait@windriver.com>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Patrick Rudolph <patrick.rudolph@9elements.com>
  Paul Gazzillo <paul@pgazz.com>
  Paul Moore <paul@paul-moore.com>
  Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
  Peter Kosyh <pkosyh@yandex.ru>
  Peter Oberparleiter <oberpar@linux.ibm.com>
  Peter Zijlstra <peterz@infradead.org>
  Phil Auld <pauld@redhat.com>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Quentin Schulz <quentin.schulz@theobroma-systems.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Randy Dunlap <rdunlap@infradead.org> # build-tested
  Rishabh Bhatnagar <risbhat@amazon.com>
  Rob Herring <robh@kernel.org>
  Roi Dayan <roid@nvidia.com>
  Roman Penyaev <rpenyaev@suse.de>
  ruanjinjie <ruanjinjie@huawei.com>
  Ryusuke Konishi <konishi.ryusuke@gmail.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Samuel Holland <samuel@sholland.org>
  Sasha Levin <sashal@kernel.org>
  Sean Nyekjaer <sean@geanix.com>
  Sebastian Falbesoner <sebastian.falbesoner@gmail.com>
  Sergey Senozhatsky <senozhatsky@chromium.org>
  Shawn Guo <shawnguo@kernel.org>
  Shigeru Yoshida <syoshida@redhat.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Simon Ser <contact@emersion.fr>
  Soheil Hassas Yeganeh <soheil@google.com>
  Srikar Dronamraju <srikar@linux.vnet.ibm.com>
  Stefan Haberland <sth@linux.ibm.com>
  Steffen Klassert <steffen.klassert@secunet.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  taozhang <taozhang@bestechnic.com>
  Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Thomas Gleixner <tglx@linutronix.de>
  Tiezhu Yang <yangtiezhu@loongson.cn>
  Todd Kjos <tkjos@google.com>
  Tony Lindgren <tony@atomide.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vlastimil Babka <vbabka@suse.cz>
  Wang Hai <wanghai38@huawei.com>
  Wei Liu <wei.liu@kernel.org>
  Wei Yongjun <weiyongjun1@huawei.com>
  Wenchao Chen <wenchao.chen@unisoc.com>
  Willem de Bruijn <willemb@google.com>
  Xin Long <lucien.xin@gmail.com>
  Xiongfeng Wang <wangxiongfeng2@huawei.com>
  Xiubo Li <xiubli@redhat.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Ye Bin <yebin10@huawei.com>
  Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
  Yu Kuai <yukuai3@huawei.com>
  Yu Liao <liaoyu15@huawei.com>
  Yuan Can <yuancan@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Yuri Karpov <YKarpov@ispras.ru>
  Zeng Heng <zengheng4@huawei.com>
  Zhang Changzhong <zhangchangzhong@huawei.com>
  ZhangPeng <zhangpeng362@huawei.com>
  Zhen Lei <thunder.leizhen@huawei.com>
  Zheng Yongjun <zhengyongjun3@huawei.com>
  Zhengchao Shao <shaozhengchao@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   4d2a309b5c28..316cdfc48d4d  316cdfc48d4db2c425370ef8575dd7d81283515d -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Sat Dec 10 04:56:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 04:56:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458411.716311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ruf-0002a7-GD; Sat, 10 Dec 2022 04:56:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458411.716311; Sat, 10 Dec 2022 04:56:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3ruf-0002a0-CI; Sat, 10 Dec 2022 04:56:37 +0000
Received: by outflank-mailman (input) for mailman id 458411;
 Sat, 10 Dec 2022 04:56:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3rue-0002Zq-3o; Sat, 10 Dec 2022 04:56:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3rue-0006WL-1D; Sat, 10 Dec 2022 04:56:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3rud-00026a-H8; Sat, 10 Dec 2022 04:56:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3rud-0000fM-Gf; Sat, 10 Dec 2022 04:56:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QkIkCJUhAqqgJymeCBYhFWXVSZdI380W1SbKODT6EvE=; b=YnGVn8L0fqnDpzlnxcvCE46SDh
	Pn++wqGAyQ5bgUxwQ8ry4BCuA1Xw7XdTihYFgOpv8XQRG00tzU7iwgQqq+Tj0mwOnDsNgyIHSdoB8
	YJ0JDrZI8/dYP8GxpXoAe83ggssL58OmXXqoweCekTjOpJmaGVUVzb6z4XP97q7ROKLY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175133-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175133: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
X-Osstest-Versions-That:
    xen=54073350bad16b6045522df40a90be79d970aa0e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 10 Dec 2022 04:56:35 +0000

flight 175133 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175133/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845
baseline version:
 xen                  54073350bad16b6045522df40a90be79d970aa0e

Last test of basis   175131  2022-12-09 22:01:53 Z    0 days
Testing same since   175133  2022-12-10 01:03:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bertrand Marquis <bertrand.marquis@arm.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   54073350ba..f86d0a1ff2  f86d0a1ff200264aaf80b65d7d200a3ba19c7845 -> smoke


From xen-devel-bounces@lists.xenproject.org Sat Dec 10 10:00:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 10:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458460.716348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3weV-0004SB-MR; Sat, 10 Dec 2022 10:00:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458460.716348; Sat, 10 Dec 2022 10:00:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3weV-0004S4-IK; Sat, 10 Dec 2022 10:00:15 +0000
Received: by outflank-mailman (input) for mailman id 458460;
 Sat, 10 Dec 2022 10:00:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3weU-0004Ru-SG; Sat, 10 Dec 2022 10:00:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3weU-0005cP-Pn; Sat, 10 Dec 2022 10:00:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3weU-0000VR-7O; Sat, 10 Dec 2022 10:00:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3weU-0001XI-6x; Sat, 10 Dec 2022 10:00:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ld93j8XkD3vKCbclpTMrHVeLkGR4u0cGPJMlktBAlCg=; b=wlWjWGyB320beVQBwJFJdcxiLh
	BStyKYpfQTYmYajjYfmCAcOklUk9063q/wGYFSBljbsQBqXFXmPLXc8Q7IGBL/52UaW8fwxE/r4CJ
	A9TM5AEByv5mW68kuXI1DUwHGUTtfyil2k42KhA2lkvPlTUh/h7mgHQCU3yWsZ4RPVzg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175132-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175132: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3ecc37918c80ffdbfa8f08d3e75a0a9fca1c1979
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 10 Dec 2022 10:00:14 +0000

flight 175132 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175132/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                3ecc37918c80ffdbfa8f08d3e75a0a9fca1c1979
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   63 days
Failing since        173470  2022-10-08 06:21:34 Z   63 days  125 attempts
Testing same since   175132  2022-12-10 00:12:18 Z    0 days    1 attempts

------------------------------------------------------------
1991 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 191649 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 10 12:22:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 12:22:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458504.716359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3yrn-0004Kd-9T; Sat, 10 Dec 2022 12:22:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458504.716359; Sat, 10 Dec 2022 12:22:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3yrn-0004KW-6T; Sat, 10 Dec 2022 12:22:07 +0000
Received: by outflank-mailman (input) for mailman id 458504;
 Sat, 10 Dec 2022 12:22:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3yrl-0004KM-Sn; Sat, 10 Dec 2022 12:22:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3yrl-0000Cq-PI; Sat, 10 Dec 2022 12:22:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3yrl-000744-7b; Sat, 10 Dec 2022 12:22:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3yrl-0008KV-78; Sat, 10 Dec 2022 12:22:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2cwl3GcbtLP0qIU8jaoUJMq9SgQ7azsngCCpZtP9oyQ=; b=kWr42Xi+R1DCZTQnM3z6szmgod
	fh6oCuh7YLj8o4YuYNVI5/WUVIdyn0/cEkRanIvtUlXJtWxkrBFj/jnIiIjRXfhzUjcn9U7oQzrug
	EreK6w2quVlePCQaOUNs7SUB9khz/ZAMkhg82zxnv+MrBZ9908sYconr7uQ0nwl+Gfss=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175137-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175137: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=a2ae3d299cf9c5ada8aa42ec4271748eb479dc27
X-Osstest-Versions-That:
    libvirt=8a5a4e6dbd935e985f0bc16865f176f69f368265
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 10 Dec 2022 12:22:05 +0000

flight 175137 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175137/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175113
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175113
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175113
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              a2ae3d299cf9c5ada8aa42ec4271748eb479dc27
baseline version:
 libvirt              8a5a4e6dbd935e985f0bc16865f176f69f368265

Last test of basis   175113  2022-12-09 04:18:58 Z    1 days
Testing same since   175137  2022-12-10 04:25:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   8a5a4e6dbd..a2ae3d299c  a2ae3d299cf9c5ada8aa42ec4271748eb479dc27 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Dec 10 12:50:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 12:50:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458515.716370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3zJL-00083Y-HX; Sat, 10 Dec 2022 12:50:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458515.716370; Sat, 10 Dec 2022 12:50:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p3zJL-00083R-Ek; Sat, 10 Dec 2022 12:50:35 +0000
Received: by outflank-mailman (input) for mailman id 458515;
 Sat, 10 Dec 2022 12:50:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3zJK-00083H-GZ; Sat, 10 Dec 2022 12:50:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3zJK-0000qs-Bq; Sat, 10 Dec 2022 12:50:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p3zJJ-0007s2-1X; Sat, 10 Dec 2022 12:50:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p3zJJ-0001Fn-12; Sat, 10 Dec 2022 12:50:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=poZWQeVav/e9WJMO+O1WFFf1y9wthKBIaNwFepMUVAA=; b=hpKog42jqbaWRSL9962cUVfY6B
	9SRiTkkw21dl4VnMV8WJ3I+tJLiR6h4dtc29QglzsFebaC8LlO4JuwBro0K+kf/IES8YlycP8388i
	a4AlRUwWyOp8+e8EKla26h4S7EnilB/ezH8zE1iiY8G47yGijXfmb8g0awZIOOnfvAQw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175135-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175135: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=54073350bad16b6045522df40a90be79d970aa0e
X-Osstest-Versions-That:
    xen=db92cb450dd7ad5eb103819d26b737cdc054ce4a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 10 Dec 2022 12:50:33 +0000

flight 175135 xen-unstable real [real]
flight 175140 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175135/
http://logs.test-lab.xenproject.org/osstest/logs/175140/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install   fail pass in 175140-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175104
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175104
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175104
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175104
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175104
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175104
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175104
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175104
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175104
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175104
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175104
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175104
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  54073350bad16b6045522df40a90be79d970aa0e
baseline version:
 xen                  db92cb450dd7ad5eb103819d26b737cdc054ce4a

Last test of basis   175104  2022-12-08 23:09:58 Z    1 days
Failing since        175126  2022-12-09 15:45:24 Z    0 days    2 attempts
Testing same since   175135  2022-12-10 04:13:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Michal Orzel <michal.orzel@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   db92cb450d..54073350ba  54073350bad16b6045522df40a90be79d970aa0e -> master


From xen-devel-bounces@lists.xenproject.org Sat Dec 10 17:38:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 17:38:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458579.716393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p43nh-000812-Fe; Sat, 10 Dec 2022 17:38:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458579.716393; Sat, 10 Dec 2022 17:38:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p43nh-00080v-9u; Sat, 10 Dec 2022 17:38:13 +0000
Received: by outflank-mailman (input) for mailman id 458579;
 Sat, 10 Dec 2022 17:38:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=6AtV=4I=gmail.com=vsuneja63@srs-se1.protection.inumbo.net>)
 id 1p43nf-00080n-TX
 for xen-devel@lists.xenproject.org; Sat, 10 Dec 2022 17:38:12 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 67cb66d0-78b1-11ed-8fd2-01056ac49cbb;
 Sat, 10 Dec 2022 18:38:06 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id m18so18512122eji.5
 for <xen-devel@lists.xenproject.org>; Sat, 10 Dec 2022 09:38:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 67cb66d0-78b1-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=ropQCoQX8YRN5bOKbWqoIGfAYYJUFoRMhocrLW0s/wQ=;
        b=Cgazc42OVx1tuItZD2cqqsVbZTZg3rxG7R/+QYjQ07mihKP6l6Xe/wANRknxsFJBVg
         LZC8nuNmdWUGKay3BGYQaCaNN8NKx8lUr2RNucUytsPUXHqfPuzC8w+9BnvKWHHv1Ums
         i4rbrBXJUdrGJjl2icxM1hmbLXV3nGEyYum+t6K3eehsdqQ2xkQwR14gpAYQEDZlwu9k
         eeCy//eyZ9xQg7pel1qat+6W8EhuPdbGZZSWSF7cUEb840i+7r1U1hSzLNOYU5/QqFjL
         7FW2aUynxW/4Ghal57C7uyr6t5+2WTZxEg4QUIOnhQ4bjlnE5RvZfcPUiVvT0VPoP/Qj
         xHvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ropQCoQX8YRN5bOKbWqoIGfAYYJUFoRMhocrLW0s/wQ=;
        b=X9+WBnwQc57aa3+5Bn0AXa1mj6A4BGaHywCgCDu3238/Mm9me+HFvw2Z5MmUMJezXZ
         qyBkyp6HVrlHgfnOakmI6BLfsojGC9e2IjtwDeGry6rljNBDROXt+CEqTNLAAKq6yI7z
         NsW7Eht47upyWWC63RWmDA3YRWa9p/uAg1ACc4UKgoj9s4MjViSTda2AgoITb/SzMCx5
         HxbkB9hM8qf8z7iTHeg322JZcduvrtF/F3533N3QPoZbbFt3Yxv3NVxFPOJ440BJg33i
         nj6BNSBMkuaK8TUaF2nfpr6podGkBPnW8NvwUcwSEWzvpQ2aX8CCMrAw9CNxk95Bk8MV
         BtRw==
X-Gm-Message-State: ANoB5pk5zGpunYUV0MtAbRFaEC2ObigR+7ffGDPeHc+v5s7X+pFv0RGl
	fvx2Snma0dGYbqz1fosgZb0YcPzn70eZ85gBOPE=
X-Google-Smtp-Source: AA0mqf5yj88sBc4l97bfuYVwFVsGIex1YrQed/62gN6n0eEWrZXoHEV0/tKcr+rINx6aKVNKRfX+wGDq8TfIOT03new=
X-Received: by 2002:a17:906:72cc:b0:7c1:1c1:c7d6 with SMTP id
 m12-20020a17090672cc00b007c101c1c7d6mr11476130ejl.556.1670693885874; Sat, 10
 Dec 2022 09:38:05 -0800 (PST)
MIME-Version: 1.0
References: <CALAP8f--jyG=ufJ9WGtL6qoeGdsykjNK85G3q50SzJm5+wOzhQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2210171400570.2351079@ubuntu-linux-20-04-desktop>
 <CALAP8f81ojfVD9n5EMtD7DxY-8uomgENVEQH9Afz7Hk9rfaAsw@mail.gmail.com>
 <alpine.DEB.2.22.394.2210181213370.4587@ubuntu-linux-20-04-desktop>
 <CALAP8f9Zgue6WfAk2uRGkg=1Up2Z+eQWqvQ1_Z2=r66Z5fvKoA@mail.gmail.com>
 <alpine.DEB.2.22.394.2210251641540.1397955@ubuntu-linux-20-04-desktop>
 <CALAP8f8Z8A2u8h56EJWOCN7nJFDvyEvM-Q85XMnUP6Y6mZDg3w@mail.gmail.com>
 <CALAP8f_n2okQ-Ss_kGACAq3BVYXS_D2P_8AyhOzUxqgWpz9f4g@mail.gmail.com>
 <alpine.DEB.2.22.394.2211101702250.50442@ubuntu-linux-20-04-desktop>
 <CALAP8f8zGfNA_CZU4UQXy7-rPT6dqih9XpzuKM3vvkoBvy6usg@mail.gmail.com>
 <alpine.DEB.2.22.394.2211221605470.1049131@ubuntu-linux-20-04-desktop>
 <CALAP8f_QiHN4dP3z+LQgKdGeo8-=9DMyk0W7+x6P2eHvnOD_wQ@mail.gmail.com> <alpine.DEB.2.22.394.2212011128430.4039@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2212011128430.4039@ubuntu-linux-20-04-desktop>
From: Vipul Suneja <vsuneja63@gmail.com>
Date: Sat, 10 Dec 2022 23:07:53 +0530
Message-ID: <CALAP8f_b=0m0dqj9a50UYXYfw9X873i07sG9eyxFSqxF0yEneQ@mail.gmail.com>
Subject: Re: Porting Xen in raspberry pi4B
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, oleksandr_andrushchenko@epam.com, 
	oleksandr_tyshchenko@epam.com, jgross@suse.com, boris.ostrovsky@oracle.com, 
	Bertrand.Marquis@arm.com
Content-Type: multipart/alternative; boundary="0000000000009896a005ef7cbba0"

--0000000000009896a005ef7cbba0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Stefano,

Thanks!

I have included printk debug logs in the xen-fbfront.c source file. While
cross compiling to generate .ko with "xen-guest-image-minimal" toolchain
it's throwing a modpost
not found error. I could see the modpost.c source file but the final script
is missing. Any input on this, Below are the logs:
























*agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/X=
en/Framebuffer$
makemake ARCH=3Darm64
-I/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/usr/include/asm -C
/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-sta=
ndard/build
M=3D/home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuf=
fer
modulesmake[1]: Entering directory
'/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-st=
andard/build'arch/arm64/Makefile:36:
Detected assembler with broken .inst; disassembly will be
unreliablewarning: the compiler differs from the one used to build the
kernel  The kernel was built by: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
You are using:           aarch64-poky-linux-gcc (GCC) 11.3.0  CC [M]
 /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer=
/xen-fbfront.o
MODPOST
/home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/=
Module.symvers/bin/sh:
1: scripts/mod/modpost: not foundmake[2]: ***
[scripts/Makefile.modpost:133:
/home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/=
Module.symvers]
Error 127make[1]: *** [Makefile:1813: modules] Error 2make[1]: Leaving
directory
'/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-st=
andard/build'make:
*** [Makefile:5: all] Error
2agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/X=
en/Framebuffer$
ls -ltotal 324-rwxrwxrwx 1 agl agl    359 Dec 10 22:41 Makefile-rw-rw-r-- 1
agl agl     90 Dec 10 22:49 modules.order-rw-r--r-- 1 agl agl  18331 Dec  1
20:32 xen-fbfront.c-rw-rw-r-- 1 agl agl     90 Dec 10 22:49
xen-fbfront.mod-rw-rw-r-- 1 agl agl 297832 Dec 10 22:49
xen-fbfront.oagl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/A=
pplication/Xen/Framebuffer$
file xen-fbfront.oxen-fbfront.o: ELF 64-bit LSB relocatable, ARM aarch64,
version 1 (SYSV), with debug_info, not
strippedagl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Applic=
ation/Xen/Framebuffer$*

I have connected a HDMI based 1980x1024 resolution display screen to
raspberrypi4 for testing purposes. I hope connecting this display to rpi4
should be ok.

Is there any other way we can connect also for detailed discussion on the
display bringup issue? This will really help to resolve this issue.

Thanks & Regards,
Vipul Kumar

On Fri, Dec 2, 2022 at 1:02 AM Stefano Stabellini <sstabellini@kernel.org>
wrote:

> On Thu, 1 Dec 2022, Vipul Suneja wrote:
> > Hi Stefano,
> > Thanks!
> >
> > I am exploring both options here, modification of framebuffer source
> file & setting up x11vnc server in guest.
> > Other than these I would like to share a few findings with you.
> >
> > 1. If i keep "CONFIG_XEN_FBDEV_FRONTEND=3Dy" then xen-fbfront.ko is not
> generating but if i keep "CONFIG_XEN_FBDEV_FRONTEND=3Dm"
> > then could see xen-fbfront.ko & its loading also. Same things with othe=
r
> frontend/backend drivers also. Do we need to configure these
> > drivers as a module(m) only?
>
> xen-fbfront should work both as a module (xen-fbfront.ko) or built-in
> (CONFIG_XEN_FBDEV_FRONTEND=3Dy).
>
>
>
> > 2. I could see xenstored service is running for the host but it's alway=
s
> failing for the guest machine. I could see it in bootup logs & via
> > systemctl status also.
>
> That is normal. xenstored is only meant to be run in Dom0, not in the
> domUs. If you use the same rootfs for Dom0 and DomU then xenstored will
> fail starting in the DomU (but should succeed in Dom0), which is what we
> want.
>
> If you run "xenstore-ls" in Dom0, you'll see a bunch of entries,
> including some of them related to "vfb" which is the virtual framebuffer
> protocol. You should also see an entry called "state" set to "4" which
> means "connected". state =3D 4 is usually when everything works. Normally
> when things don't work state !=3D 4.
>
>
>
> > Below are the logs:
> > [  OK  ] Reached target Basic System.
> > [  OK  ] Started Kernel Logging Service.
> > [  OK  ] Started System Logging Service.
> >          Starting D-Bus System Message Bus...
> >          Starting User Login Management...
> >          Starting Permit User Sessions...
> >          Starting The Xen xenstore...
> >          Starting OpenSSH Key Generation...
> > [FAILED] Failed to start The Xen xenstore.
> > See 'systemctl status xenstored.service' for details.
> > [DEPEND] Dependency failed for qemu for xen dom0 disk backend.
> > [DEPEND] Dependency failed for Xend=E2=80=A6p guests on boot and shutdo=
wn.
> > [DEPEND] Dependency failed for xen-=E2=80=A6des, JSON configuration stu=
b).
> > [DEPEND] Dependency failed for Xenc=E2=80=A6guest consoles and hypervis=
or.
> > [  OK  ] Finished Permit User Sessions.
> > [  OK  ] Started Getty on tty1.
> > [  OK  ] Started Serial Getty on hvc0.
> > [  OK  ] Started Serial Getty on ttyS0.
> > [  OK  ] Reached target Login Prompts.
> >          Starting Xen-watchdog - run xen watchdog daemon...
> > [  OK  ] Started D-Bus System Message Bus.
> > [  OK  ] Started Xen-watchdog - run xen watchdog daemon.
> > [  OK  ] Finished OpenSSH Key Generation.
> > [  OK  ] Started User Login Management.
> > [  OK  ] Reached target Multi-User System.
> >          Starting Record Runlevel Change in UTMP...
> > [  OK  ] Finished Record Runlevel Change in UTMP.
> > fbcon: Taking over console
> >
> > Poky (Yocto Project Reference Distro) 4.0.4 raspberrypi4-64 hvc0
> >
> > raspberrypi4-64 login: root
> > root@raspberrypi4-64:~#
> > root@raspberrypi4-64:~#
> > root@raspberrypi4-64:~# systemctl status xenstored.service
> > x xenstored.service - The Xen xenstore
> >      Loaded: loaded (/lib/systemd/system/xenstored.service; enabled;
> vendor preset: enabled)
> >      Active: failed (Result: exit-code) since Thu 2022-12-01 06:12:05
> UTC; 26s ago
> >     Process: 195 ExecStartPre=3D/bin/grep -q control_d
> /proc/xen/capabilities (code=3Dexited, status=3D1/FAILURE)
> >
> > Dec 01 06:12:04 raspberrypi4-64 systemd[1]: Starting The Xen xenstore..=
.
> > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service: Control
> pro...URE
> > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service: Failed
> with...e'.
> > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: Failed to start The Xen
> xenstore.
> > Hint: Some lines were ellipsized, use -l to show in full.
> > root@raspberrypi4-64:~#
> >
> > Any input on these?
> >
> > Thanks & Regards,
> > Vipul Kumar
> >
> > On Wed, Nov 23, 2022 at 5:41 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       Hi Vipul,
> >
> >       I cannot spot any issue in the configuration, in particual you
> have:
> >
> >       CONFIG_XEN_FBDEV_FRONTEND=3Dy
> >
> >       which is what you need.
> >
> >       The only thing I can suggest is to add printks to the Linux
> frontend
> >       driver (the one running in the domU) which is
> >       drivers/video/fbdev/xen-fbfront.c and printfs to the QEMU backend
> >       (running in Dom0) which is hw/display/xenfb.c to figure out what =
is
> >       going on.
> >
> >
> >       Alternatively, you can setup PV network with the domU, such as:
> >
> >         vif=3D['']
> >
> >       and then run x11 and a x11vnc server in your domU. You should be
> able to
> >       connect to it using vncviewer at the network IP of your domU.
> >
> >       Basically you are skipping the problem because instead of using
> the PV
> >       framebuffer protocol, you just use VNC over the network with the
> domU.
> >
> >
> >       Cheers,
> >
> >       Stefano
> >
> >
> >       On Tue, 22 Nov 2022, Vipul Suneja wrote:
> >       > Hi Stefano,
> >       > Thanks for the support!
> >       >
> >       > Looks like I have tried all the combinations & possible ways to
> get display up but failed. Is there any document or pdf for
> >       porting xen on
> >       > raspberrypi4.
> >       > I could find lot's of links telling the same but couldn't see
> any official user guide or document from the xen community on
> >       the same. If
> >       > there is something to refer
> >       > to please share with me.
> >       > I am attaching the kernel configuration file also, just take a
> look if i have missed anything.
> >       > Any other suggestions or input from your end could be really
> helpful?
> >       >
> >       > Regards,
> >       > Vipul Kumar
> >       >
> >       > On Fri, Nov 11, 2022 at 6:40 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       >       Hi Vipul,
> >       >
> >       >       Sorry for the late reply. From the earlier logs that you
> sent, it looks
> >       >       like everything should be working correctly. Specifically=
:
> >       >
> >       >            vfb =3D ""
> >       >             1 =3D ""
> >       >              0 =3D ""
> >       >               frontend =3D "/local/domain/1/device/vfb/0"
> >       >               frontend-id =3D "1"
> >       >               online =3D "1"
> >       >               state =3D "4"
> >       >               vnc =3D "1"
> >       >               vnclisten =3D "127.0.0.1"
> >       >               vncdisplay =3D "0"
> >       >               vncunused =3D "1"
> >       >               sdl =3D "0"
> >       >               opengl =3D "0"
> >       >               feature-resize =3D "1"
> >       >               hotplug-status =3D "connected"
> >       >               request-update =3D "1"
> >       >
> >       >       state "4" means "connected". So I would expect that you
> should be able
> >       >       to connect to the vnc server using vncviewer. You might
> not see anything
> >       >       (black screen) but you should definitely be able to
> connect.
> >       >
> >       >       I wouldn't try to launch x11 in the guest just yet. fbcon
> in Linux is
> >       >       enough to render something on the screen. You should be
> able to see the
> >       >       Linux text-based console rendered graphically, connecting
> to it via vnc.
> >       >
> >       >       Sorry for the basic question, but have you tried all the
> following?
> >       >
> >       >       vncviewer 127.0.0.1:0
> >       >       vncviewer 127.0.0.1:1
> >       >       vncviewer 127.0.0.1:2
> >       >       vncviewer 127.0.0.1:5900
> >       >       vncviewer 127.0.0.1:5901
> >       >       vncviewer 127.0.0.1:5902
> >       >
> >       >       Given that from the xenstore-ls logs everything seems to
> work correctly
> >       >       I am not sure what else to suggest. You might have to add
> printf to QEMU
> >       >       ui/vnc.c and hw/display/xenfb.c to see what is going wron=
g.
> >       >
> >       >       Cheers,
> >       >
> >       >       Stefano
> >       >
> >       >
> >       >       On Mon, 7 Nov 2022, Vipul Suneja wrote:
> >       >       > Hi Stefano,
> >       >       > Thanks!
> >       >       >
> >       >       > Any input further on "xenstore-ls" logs?
> >       >       >
> >       >       > I am trying to run the x0vncserver & x11vnc server
> manually on guest machine(xen_guest_image_minimal) image but it's
> >       failing
> >       >       with the below
> >       >       > error.
> >       >       >
> >       >       > root@raspberrypi4-64:/usr/bin# x0vncserver
> >       >       > x0vncserver: unable to open display ""
> >       >       > root@raspberrypi4-64:/usr/bin#
> >       >       > root@raspberrypi4-64:/usr/bin# x11vnc
> >       >       >
> ###############################################################
> >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       > #@
>     @#
> >       >       > #@  **  WARNING  **  WARNING  **  WARNING  **  WARNING
>  **   @#
> >       >       > #@
>     @#
> >       >       > #@        YOU ARE RUNNING X11VNC WITHOUT A PASSWORD!!
>      @#
> >       >       > #@
>     @#
> >       >       > #@  This means anyone with network access to this
> computer   @#
> >       >       > #@  may be able to view and control your desktop.
>      @#
> >       >       > #@
>     @#
> >       >       > #@ >>> If you did not mean to do this Press CTRL-C now!=
!
> <<< @#
> >       >       > #@
>     @#
> >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       > #@
>     @#
> >       >       > #@  You can create an x11vnc password file by running:
>     @#
> >       >       > #@
>     @#
> >       >       > #@       x11vnc -storepasswd password /path/to/passfile
>      @#
> >       >       > #@  or   x11vnc -storepasswd /path/to/passfile
>     @#
> >       >       > #@  or   x11vnc -storepasswd
>     @#
> >       >       > #@
>     @#
> >       >       > #@  (the last one will use ~/.vnc/passwd)
>      @#
> >       >       > #@
>     @#
> >       >       > #@  and then starting x11vnc via:
>      @#
> >       >       > #@
>     @#
> >       >       > #@      x11vnc -rfbauth /path/to/passfile
>      @#
> >       >       > #@
>     @#
> >       >       > #@  an existing ~/.vnc/passwd file from another VNC
>      @#
> >       >       > #@  application will work fine too.
>      @#
> >       >       > #@
>     @#
> >       >       > #@  You can also use the -passwdfile or -passwd options=
.
>     @#
> >       >       > #@  (note -passwd is unsafe if local users are not
> trusted)  @#
> >       >       > #@
>     @#
> >       >       > #@  Make sure any -rfbauth and -passwdfile password
> files    @#
> >       >       > #@  cannot be read by untrusted users.
>     @#
> >       >       > #@
>     @#
> >       >       > #@  Use x11vnc -usepw to automatically use your
>      @#
> >       >       > #@  ~/.vnc/passwd or ~/.vnc/passwdfile password files.
>     @#
> >       >       > #@  (and prompt you to create ~/.vnc/passwd if neither
>     @#
> >       >       > #@  file exists.)  Under -usepw, x11vnc will exit if it
>      @#
> >       >       > #@  cannot find a password to use.
>     @#
> >       >       > #@
>     @#
> >       >       > #@
>     @#
> >       >       > #@  Even with a password, the subsequent VNC traffic is
>      @#
> >       >       > #@  sent in the clear.  Consider tunnelling via ssh(1):
>      @#
> >       >       > #@
>     @#
> >       >       > #@    http://www.karlrunge.com/x11vnc/#tunnelling
>      @#
> >       >       > #@
>     @#
> >       >       > #@  Or using the x11vnc SSL options: -ssl and -stunnel
>     @#
> >       >       > #@
>     @#
> >       >       > #@  Please Read the documentation for more info about
>      @#
> >       >       > #@  passwords, security, and encryption.
>     @#
> >       >       > #@
>     @#
> >       >       > #@
> http://www.karlrunge.com/x11vnc/faq.html#faq-passwd    @#
> >       >       > #@
>     @#
> >       >       > #@  To disable this warning use the -nopw option, or pu=
t
>     @#
> >       >       > #@  'nopw' on a line in your ~/.x11vncrc file.
>     @#
> >       >       > #@
>     @#
> >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       >
> ###############################################################
> >       >       > 09/03/2018 12:58:41 x11vnc version: 0.9.16 lastmod:
> 2019-01-05  pid: 424
> >       >       > 09/03/2018 12:58:41 XOpenDisplay("") failed.
> >       >       > 09/03/2018 12:58:41 Trying again with
> XAUTHLOCALHOSTNAME=3Dlocalhost ...
> >       >       > 09/03/2018 12:58:41
> >       >       > 09/03/2018 12:58:41 *** XOpenDisplay failed. No -displa=
y
> or DISPLAY.
> >       >       > 09/03/2018 12:58:41 *** Trying ":0" in 4 seconds.  Pres=
s
> Ctrl-C to abort.
> >       >       > 09/03/2018 12:58:41 *** 1 2 3 4
> >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
> >       >       > 09/03/2018 12:58:45 Trying again with
> XAUTHLOCALHOSTNAME=3Dlocalhost ...
> >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
> >       >       > 09/03/2018 12:58:45 Trying again with unset
> XAUTHLOCALHOSTNAME ...
> >       >       > 09/03/2018 12:58:45
> >       >       >
> >       >       > 09/03/2018 12:58:45
> ***************************************
> >       >       > 09/03/2018 12:58:45 *** XOpenDisplay failed (:0)
> >       >       >
> >       >       > *** x11vnc was unable to open the X DISPLAY: ":0", it
> cannot continue.
> >       >       > *** There may be "Xlib:" error messages above with
> details about the failure.
> >       >       >
> >       >       > Some tips and guidelines:
> >       >       >
> >       >       > ** An X server (the one you wish to view) must be
> running before x11vnc is
> >       >       >    started: x11vnc does not start the X server.
>  (however, see the -create
> >       >       >    option if that is what you really want).
> >       >       >
> >       >       > ** You must use -display <disp>, -OR- set and export
> your $DISPLAY
> >       >       >    environment variable to refer to the display of the
> desired X server.
> >       >       >  - Usually the display is simply ":0" (in fact x11vnc
> uses this if you forget
> >       >       >    to specify it), but in some multi-user situations it
> could be ":1", ":2",
> >       >       >    or even ":137".  Ask your administrator or a guru if
> you are having
> >       >       >    difficulty determining what your X DISPLAY is.
> >       >       >
> >       >       > ** Next, you need to have sufficient permissions
> (Xauthority)
> >       >       >    to connect to the X DISPLAY.   Here are some Tips:
> >       >       >
> >       >       >  - Often, you just need to run x11vnc as the user logge=
d
> into the X session.
> >       >       >    So make sure to be that user when you type x11vnc.
> >       >       >  - Being root is usually not enough because the
> incorrect MIT-MAGIC-COOKIE
> >       >       >    file may be accessed.  The cookie file contains the
> secret key that
> >       >       >    allows x11vnc to connect to the desired X DISPLAY.
> >       >       >  - You can explicitly indicate which MIT-MAGIC-COOKIE
> file should be used
> >       >       >    by the -auth option, e.g.:
> >       >       >        x11vnc -auth /home/someuser/.Xauthority -display
> :0
> >       >       >        x11vnc -auth /tmp/.gdmzndVlR -display :0
> >       >       >    you must have read permission for the auth file.
> >       >       >    See also '-auth guess' and '-findauth' discussed
> below.
> >       >       >
> >       >       > ** If NO ONE is logged into an X session yet, but there
> is a greeter login
> >       >       >    program like "gdm", "kdm", "xdm", or "dtlogin"
> running, you will need
> >       >       >    to find and use the raw display manager
> MIT-MAGIC-COOKIE file.
> >       >       >    Some examples for various display managers:
> >       >       >
> >       >       >      gdm:     -auth /var/gdm/:0.Xauth
> >       >       >               -auth /var/lib/gdm/:0.Xauth
> >       >       >      kdm:     -auth /var/lib/kdm/A:0-crWk72
> >       >       >               -auth /var/run/xauth/A:0-crWk72
> >       >       >      xdm:     -auth
> /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
> >       >       >      dtlogin: -auth /var/dt/A:0-UgaaXa
> >       >       >
> >       >       >    Sometimes the command "ps wwwwaux | grep auth" can
> reveal the file location.
> >       >       >
> >       >       >    Starting with x11vnc 0.9.9 you can have it try to
> guess by using:
> >       >       >
> >       >       >               -auth guess
> >       >       >
> >       >       >    (see also the x11vnc -findauth option.)
> >       >       >
> >       >       >    Only root will have read permission for the file, an=
d
> so x11vnc must be run
> >       >       >    as root (or copy it).  The random characters in the
> filenames will of course
> >       >       >    change and the directory the cookie file resides in
> is system dependent.
> >       >       >
> >       >       > See also: http://www.karlrunge.com/x11vnc/faq.html
> >       >       >
> >       >       > Regards,
> >       >       > Vipul Kumar
> >       >       >
> >       >       > On Thu, Nov 3, 2022 at 10:27 PM Vipul Suneja <
> vsuneja63@gmail.com> wrote:
> >       >       >       Hi Stefano,
> >       >       > Thanks!
> >       >       >
> >       >       > I used xen-guest-image-minimal(simple console based
> image) as a guest with fbcon & fbdev enabled in kernel
> >       configurations but
> >       >       still
> >       >       > the same error can't open the display.
> >       >       > below are the outcome of "xenstore-ls":
> >       >       >
> >       >       > root@raspberrypi4-64:~/guest1# xenstore-ls
> >       >       > tool =3D ""
> >       >       >  xenstored =3D ""
> >       >       > local =3D ""
> >       >       >  domain =3D ""
> >       >       >   0 =3D ""
> >       >       >    control =3D ""
> >       >       >     feature-poweroff =3D "1"
> >       >       >     feature-reboot =3D "1"
> >       >       >    domid =3D "0"
> >       >       >    name =3D "Domain-0"
> >       >       >    device-model =3D ""
> >       >       >     0 =3D ""
> >       >       >      backends =3D ""
> >       >       >       console =3D ""
> >       >       >       vkbd =3D ""
> >       >       >       vfb =3D ""
> >       >       >       qnic =3D ""
> >       >       >      state =3D "running"
> >       >       >     1 =3D ""
> >       >       >      backends =3D ""
> >       >       >       console =3D ""
> >       >       >       vkbd =3D ""
> >       >       >       vfb =3D ""
> >       >       >       qnic =3D ""
> >       >       >      state =3D "running"
> >       >       >    backend =3D ""
> >       >       >     vbd =3D ""
> >       >       >      1 =3D ""
> >       >       >       51712 =3D ""
> >       >       >        frontend =3D "/local/domain/1/device/vbd/51712"
> >       >       >        params =3D
> "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
> >       >       >        script =3D "/etc/xen/scripts/block"
> >       >       >        frontend-id =3D "1"
> >       >       >        online =3D "1"
> >       >       >        removable =3D "0"
> >       >       >        bootable =3D "1"
> >       >       >        state =3D "4"
> >       >       >        dev =3D "xvda"
> >       >       >        type =3D "phy"
> >       >       >        mode =3D "w"
> >       >       >        device-type =3D "disk"
> >       >       >        discard-enable =3D "1"
> >       >       >        feature-max-indirect-segments =3D "256"
> >       >       >        multi-queue-max-queues =3D "4"
> >       >       >        max-ring-page-order =3D "4"
> >       >       >        node =3D "/dev/loop0"
> >       >       >        physical-device =3D "7:0"
> >       >       >        physical-device-path =3D "/dev/loop0"
> >       >       >        hotplug-status =3D "connected"
> >       >       >        feature-flush-cache =3D "1"
> >       >       >        discard-granularity =3D "4096"
> >       >       >        discard-alignment =3D "0"
> >       >       >        discard-secure =3D "0"
> >       >       >        feature-discard =3D "1"
> >       >       >        feature-barrier =3D "1"
> >       >       >        feature-persistent =3D "1"
> >       >       >        sectors =3D "1794048"
> >       >       >        info =3D "0"
> >       >       >        sector-size =3D "512"
> >       >       >        physical-sector-size =3D "512"
> >       >       >     vfb =3D ""
> >       >       >      1 =3D ""
> >       >       >       0 =3D ""
> >       >       >        frontend =3D "/local/domain/1/device/vfb/0"
> >       >       >        frontend-id =3D "1"
> >       >       >        online =3D "1"
> >       >       >        state =3D "4"
> >       >       >        vnc =3D "1"
> >       >       >        vnclisten =3D "127.0.0.1"
> >       >       >        vncdisplay =3D "0"
> >       >       >        vncunused =3D "1"
> >       >       >        sdl =3D "0"
> >       >       >        opengl =3D "0"
> >       >       >        feature-resize =3D "1"
> >       >       >        hotplug-status =3D "connected"
> >       >       >        request-update =3D "1"
> >       >       >     vkbd =3D ""
> >       >       >      1 =3D ""
> >       >       >       0 =3D ""
> >       >       >        frontend =3D "/local/domain/1/device/vkbd/0"
> >       >       >        frontend-id =3D "1"
> >       >       >        online =3D "1"
> >       >       >        state =3D "4"
> >       >       >        feature-abs-pointer =3D "1"
> >       >       >        feature-raw-pointer =3D "1"
> >       >       >        hotplug-status =3D "connected"
> >       >       >     console =3D ""
> >       >       >      1 =3D ""
> >       >       >       0 =3D ""
> >       >       >        frontend =3D "/local/domain/1/console"
> >       >       >        frontend-id =3D "1"
> >       >       >        online =3D "1"
> >       >       >        state =3D "1"
> >       >       >        protocol =3D "vt100"
> >       >       >     vif =3D ""
> >       >       >      1 =3D ""
> >       >       >       0 =3D ""
> >       >       >        frontend =3D "/local/domain/1/device/vif/0"
> >       >       >        frontend-id =3D "1"
> >       >       >        online =3D "1"
> >       >       >        state =3D "4"
> >       >       >        script =3D "/etc/xen/scripts/vif-bridge"
> >       >       >        mac =3D "e4:5f:01:cd:7b:dd"
> >       >       >        bridge =3D "xenbr0"
> >       >       >        handle =3D "0"
> >       >       >        type =3D "vif"
> >       >       >        hotplug-status =3D "connected"
> >       >       >        feature-sg =3D "1"
> >       >       >        feature-gso-tcpv4 =3D "1"
> >       >       >        feature-gso-tcpv6 =3D "1"
> >       >       >        feature-ipv6-csum-offload =3D "1"
> >       >       >        feature-rx-copy =3D "1"
> >       >       >        feature-xdp-headroom =3D "1"
> >       >       >        feature-rx-flip =3D "0"
> >       >       >        feature-multicast-control =3D "1"
> >       >       >        feature-dynamic-multicast-control =3D "1"
> >       >       >        feature-split-event-channels =3D "1"
> >       >       >        multi-queue-max-queues =3D "4"
> >       >       >        feature-ctrl-ring =3D "1"
> >       >       >   1 =3D ""
> >       >       >    vm =3D "/vm/d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
> >       >       >    name =3D "guest2"
> >       >       >    cpu =3D ""
> >       >       >     0 =3D ""
> >       >       >      availability =3D "online"
> >       >       >     1 =3D ""
> >       >       >      availability =3D "online"
> >       >       >    memory =3D ""
> >       >       >     static-max =3D "2097152"
> >       >       >     target =3D "2097152"
> >       >       >     videoram =3D "0"
> >       >       >    device =3D ""
> >       >       >     suspend =3D ""
> >       >       >      event-channel =3D ""
> >       >       >     vbd =3D ""
> >       >       >      51712 =3D ""
> >       >       >       backend =3D "/local/domain/0/backend/vbd/1/51712"
> >       >       >       backend-id =3D "0"
> >       >       >       state =3D "4"
> >       >       >       virtual-device =3D "51712"
> >       >       >       device-type =3D "disk"
> >       >       >       multi-queue-num-queues =3D "2"
> >       >       >       queue-0 =3D ""
> >       >       >        ring-ref =3D "8"
> >       >       >        event-channel =3D "4"
> >       >       >       queue-1 =3D ""
> >       >       >        ring-ref =3D "9"
> >       >       >        event-channel =3D "5"
> >       >       >       protocol =3D "arm-abi"
> >       >       >       feature-persistent =3D "1"
> >       >       >     vfb =3D ""
> >       >       >      0 =3D ""
> >       >       >       backend =3D "/local/domain/0/backend/vfb/1/0"
> >       >       >       backend-id =3D "0"
> >       >       >       state =3D "4"
> >       >       >       page-ref =3D "275022"
> >       >       >       event-channel =3D "3"
> >       >       >       protocol =3D "arm-abi"
> >       >       >       feature-update =3D "1"
> >       >       >     vkbd =3D ""
> >       >       >      0 =3D ""
> >       >       >       backend =3D "/local/domain/0/backend/vkbd/1/0"
> >       >       >       backend-id =3D "0"
> >       >       >       state =3D "4"
> >       >       >       request-abs-pointer =3D "1"
> >       >       >       page-ref =3D "275322"
> >       >       >       page-gref =3D "1284"
> >       >       >       event-channel =3D "10"
> >       >       >     vif =3D ""
> >       >       >      0 =3D ""
> >       >       >       backend =3D "/local/domain/0/backend/vif/1/0"
> >       >       >       backend-id =3D "0"
> >       >       >       state =3D "4"
> >       >       >       handle =3D "0"
> >       >       >       mac =3D "e4:5f:01:cd:7b:dd"
> >       >       >       mtu =3D "1500"
> >       >       >       xdp-headroom =3D "0"
> >       >       >       multi-queue-num-queues =3D "2"
> >       >       >       queue-0 =3D ""
> >       >       >        tx-ring-ref =3D "1280"
> >       >       >        rx-ring-ref =3D "1281"
> >       >       >        event-channel-tx =3D "6"
> >       >       >        event-channel-rx =3D "7"
> >       >       >       queue-1 =3D ""
> >       >       >        tx-ring-ref =3D "1282"
> >       >       >        rx-ring-ref =3D "1283"
> >       >       >        event-channel-tx =3D "8"
> >       >       >        event-channel-rx =3D "9"
> >       >       >       request-rx-copy =3D "1"
> >       >       >       feature-rx-notify =3D "1"
> >       >       >       feature-sg =3D "1"
> >       >       >       feature-gso-tcpv4 =3D "1"
> >       >       >       feature-gso-tcpv6 =3D "1"
> >       >       >       feature-ipv6-csum-offload =3D "1"
> >       >       >    control =3D ""
> >       >       >     shutdown =3D ""
> >       >       >     feature-poweroff =3D "1"
> >       >       >     feature-reboot =3D "1"
> >       >       >     feature-suspend =3D ""
> >       >       >     sysrq =3D ""
> >       >       >     platform-feature-multiprocessor-suspend =3D "1"
> >       >       >     platform-feature-xs_reset_watches =3D "1"
> >       >       >    data =3D ""
> >       >       >    drivers =3D ""
> >       >       >    feature =3D ""
> >       >       >    attr =3D ""
> >       >       >    error =3D ""
> >       >       >    domid =3D "1"
> >       >       >    store =3D ""
> >       >       >     port =3D "1"
> >       >       >     ring-ref =3D "233473"
> >       >       >    console =3D ""
> >       >       >     backend =3D "/local/domain/0/backend/console/1/0"
> >       >       >     backend-id =3D "0"
> >       >       >     limit =3D "1048576"
> >       >       >     type =3D "xenconsoled"
> >       >       >     output =3D "pty"
> >       >       >     tty =3D "/dev/pts/1"
> >       >       >     port =3D "2"
> >       >       >     ring-ref =3D "233472"
> >       >       >     vnc-listen =3D "127.0.0.1"
> >       >       >     vnc-port =3D "5900"
> >       >       >    image =3D ""
> >       >       >     device-model-pid =3D "788"
> >       >       > vm =3D ""
> >       >       >  d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f =3D ""
> >       >       >   name =3D "guest2"
> >       >       >   uuid =3D "d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
> >       >       >   start_time =3D "1520600274.27"
> >       >       > libxl =3D ""
> >       >       >  1 =3D ""
> >       >       >   device =3D ""
> >       >       >    vbd =3D ""
> >       >       >     51712 =3D ""
> >       >       >      frontend =3D "/local/domain/1/device/vbd/51712"
> >       >       >      backend =3D "/local/domain/0/backend/vbd/1/51712"
> >       >       >      params =3D
> "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
> >       >       >      script =3D "/etc/xen/scripts/block"
> >       >       >      frontend-id =3D "1"
> >       >       >      online =3D "1"
> >       >       >      removable =3D "0"
> >       >       >      bootable =3D "1"
> >       >       >      state =3D "1"
> >       >       >      dev =3D "xvda"
> >       >       >      type =3D "phy"
> >       >       >      mode =3D "w"
> >       >       >      device-type =3D "disk"
> >       >       >      discard-enable =3D "1"
> >       >       >    vfb =3D ""
> >       >       >     0 =3D ""
> >       >       >      frontend =3D "/local/domain/1/device/vfb/0"
> >       >       >      backend =3D "/local/domain/0/backend/vfb/1/0"
> >       >       >      frontend-id =3D "1"
> >       >       >      online =3D "1"
> >       >       >      state =3D "1"
> >       >       >      vnc =3D "1"
> >       >       >      vnclisten =3D "127.0.0.1"
> >       >       >      vncdisplay =3D "0"
> >       >       >      vncunused =3D "1"
> >       >       >      sdl =3D "0"
> >       >       >      opengl =3D "0"
> >       >       >    vkbd =3D ""
> >       >       >     0 =3D ""
> >       >       >      frontend =3D "/local/domain/1/device/vkbd/0"
> >       >       >      backend =3D "/local/domain/0/backend/vkbd/1/0"
> >       >       >      frontend-id =3D "1"
> >       >       >      online =3D "1"
> >       >       >      state =3D "1"
> >       >       >    console =3D ""
> >       >       >     0 =3D ""
> >       >       >      frontend =3D "/local/domain/1/console"
> >       >       >      backend =3D "/local/domain/0/backend/console/1/0"
> >       >       >      frontend-id =3D "1"
> >       >       >      online =3D "1"
> >       >       >      state =3D "1"
> >       >       >      protocol =3D "vt100"
> >       >       >    vif =3D ""
> >       >       >     0 =3D ""
> >       >       >      frontend =3D "/local/domain/1/device/vif/0"
> >       >       >      backend =3D "/local/domain/0/backend/vif/1/0"
> >       >       >      frontend-id =3D "1"
> >       >       >      online =3D "1"
> >       >       >      state =3D "1"
> >       >       >      script =3D "/etc/xen/scripts/vif-bridge"
> >       >       >      mac =3D "e4:5f:01:cd:7b:dd"
> >       >       >      bridge =3D "xenbr0"
> >       >       >      handle =3D "0"
> >       >       >      type =3D "vif"
> >       >       >      hotplug-status =3D ""
> >       >       >   type =3D "pvh"
> >       >       >   dm-version =3D "qemu_xen"
> >       >       > root@raspberrypi4-64:~/guest1#
> >       >       >
> >       >       > Any input as per above? Looking forward to hearing from
> you.
> >       >       >
> >       >       > Regards,
> >       >       > Vipul Kumar
> >       >       >
> >       >       > On Wed, Oct 26, 2022 at 5:21 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       >       >       Hi Vipul,
> >       >       >
> >       >       >       If you look at the QEMU logs, it says:
> >       >       >
> >       >       >       VNC server running on 127.0.0.1:5900
> >       >       >
> >       >       >       That is the VNC server you need to connect to. So
> in theory:
> >       >       >
> >       >       >         vncviewer 127.0.0.1:5900
> >       >       >
> >       >       >       should work correctly.
> >       >       >
> >       >       >
> >       >       >       If you have:
> >       >       >
> >       >       >         vfb =3D ["type=3Dvnc"]
> >       >       >
> >       >       >       in your xl config file and you have "fbdev" in
> your Linux guest, it
> >       >       >       should work.
> >       >       >
> >       >       >       If you connect to the VNC server but you get a
> black screen, it might be
> >       >       >       a guest configuration issue. I would try with a
> simpler guest, text only
> >       >       >       (no X11, no Wayland) and enable the fbdev console
> (fbcon). See
> >       >       >       Documentation/fb/fbcon.rst in Linux. You should b=
e
> able to see a
> >       >       >       graphical console over VNC.
> >       >       >
> >       >       >       If that works, then you know that the fbdev kerne=
l
> driver (xen-fbfront)
> >       >       >       works correctly.
> >       >       >
> >       >       >       If it doesn't work, the output of "xenstore-ls"
> would be interesting.
> >       >       >
> >       >       >       Cheers,
> >       >       >
> >       >       >       Stefano
> >       >       >
> >       >       >
> >       >       >       On Wed, 19 Oct 2022, Vipul Suneja wrote:
> >       >       >       > Hi Stefano,
> >       >       >       >
> >       >       >       > Thanks for the response!
> >       >       >       >
> >       >       >       > I am following the same link you shared from th=
e
> beginning. Tried the command "vncviewer localhost:0" in DOM0
> >       but
> >       >       same
> >       >       >       issue "Can't open
> >       >       >       > display", below are the logs:
> >       >       >       >
> >       >       >       > root@raspberrypi4-64:~# vncviewer localhost:0
> >       >       >       >
> >       >       >       > TigerVNC Viewer 64-bit v1.11.0
> >       >       >       > Built on: 2020-09-08 12:16
> >       >       >       > Copyright (C) 1999-2020 TigerVNC Team and many
> others (see README.rst)
> >       >       >       > See https://www.tigervnc.org for information on
> TigerVNC.
> >       >       >       > Can't open display:
> >       >       >       >
> >       >       >       > Below are the netstat logs, i couldn't see
> anything running at port 5900 or 5901:
> >       >       >       >
> >       >       >       > root@raspberrypi4-64:~# netstat -tuwx
> >       >       >       > Active Internet connections (w/o servers)
> >       >       >       > Proto Recv-Q Send-Q Local Address
> Foreign Address         State
> >       >       >       > tcp        0    164 192.168.1.39:ssh
> 192.168.1.38:37472      ESTABLISHED
> >       >       >       > Active UNIX domain sockets (w/o servers)
> >       >       >       > Proto RefCnt Flags       Type       State
>   I-Node Path
> >       >       >       > unix  8      [ ]         DGRAM      CONNECTED
>    10565 /dev/log
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    10891 /var/run/xenstored/socket
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    13791
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    10843 /var/run/xenstored/socket
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    10573 /var/run/xenstored/socket
> >       >       >       > unix  2      [ ]         DGRAM      CONNECTED
>    14510
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    13249
> >       >       >       > unix  2      [ ]         DGRAM      CONNECTED
>    13887
> >       >       >       > unix  2      [ ]         DGRAM      CONNECTED
>    10599
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    14005
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    13258
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    13248
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    14003
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    10572 /var/run/xenstored/socket
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    10786 /var/run/xenstored/socket
> >       >       >       > unix  3      [ ]         DGRAM      CONNECTED
>    13186
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    10864 /var/run/xenstored/socket
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    10812 /var/run/xenstored/socket
> >       >       >       > unix  2      [ ]         DGRAM      CONNECTED
>    14083
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    10813 /var/run/xenstored/socket
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    14068
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    13256
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    10571 /var/run/xenstored/socket
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    10842
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    13985
> >       >       >       > unix  3      [ ]         DGRAM      CONNECTED
>    13185
> >       >       >       > unix  2      [ ]         STREAM     CONNECTED
>    13884
> >       >       >       > unix  2      [ ]         DGRAM      CONNECTED
>    14528
> >       >       >       > unix  2      [ ]         DGRAM      CONNECTED
>    13785
> >       >       >       > unix  3      [ ]         STREAM     CONNECTED
>    14034
> >       >       >       >
> >       >       >       > Attaching xen log files of /var/log/xen.
> >       >       >       > I didn't get the role of QEMU here because as
> mentioned earlier, I am porting in raspberrypi 4B.
> >       >       >       >
> >       >       >       > Regards,
> >       >       >       > Vipul Kumar
> >       >       >       >
> >       >       >       > On Wed, Oct 19, 2022 at 12:43 AM Stefano
> Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       It usually works the way it is described
> in the guide:
> >       >       >       >
> >       >       >       >
> >       >       >
> >       >
> >
> https://www.virtuatopia.com/index.php?title=3DConfiguring_a_VNC_based_Gra=
phical_Console_for_a_Xen_Paravirtualized_domainU_Guest
> >       >       >       >
> >       >       >       >       You don't need to install any VNC-related
> server software because it is
> >       >       >       >       already provided by Xen (to be precise it
> is provided by QEMU working
> >       >       >       >       together with Xen.)
> >       >       >       >
> >       >       >       >       You only need the vnc client in dom0 so
> that you can connect, but you
> >       >       >       >       could also run the vnc client outside fro=
m
> another host. So basically
> >       >       >       >       the following should work when executed i=
n
> Dom0 after creating DomU:
> >       >       >       >
> >       >       >       >         vncviewer localhost:0
> >       >       >       >
> >       >       >       >       Can you attach the Xen and QEMU logs
> (/var/log/xen/*)? And also use
> >       >       >       >       netstat -taunp to check if there is
> anything running at port 5900 or
> >       >       >       >       5901?
> >       >       >       >
> >       >       >       >       Cheers,
> >       >       >       >
> >       >       >       >       Stefano
> >       >       >       >
> >       >       >       >
> >       >       >       >       On Tue, 18 Oct 2022, Vipul Suneja wrote:
> >       >       >       >       > Hi Stefano,
> >       >       >       >       >
> >       >       >       >       > Thanks for the response!
> >       >       >       >       >
> >       >       >       >       > I could install tigerVNC, x11vnc &
> libvncserver in Dom0 xen-image-minimal but only manage to install
> >       >       >       libvncserver(couldn't
> >       >       >       >       install tigervnc
> >       >       >       >       > & x11vnc because of x11
> >       >       >       >       > support missing, it's wayland) in DOMU
> custom graphical image. I tried running vncviewer with IP
> >       address &
> >       >       port
> >       >       >       in dom0 to
> >       >       >       >       access the domu
> >       >       >       >       > graphical image display as per below
> commands.
> >       >       >       >       >
> >       >       >       >       >  vncviewer 192.168.1.42:5901
> >       >       >       >       >
> >       >       >       >       >  But it showing can't open display,
> below are the logs:
> >       >       >       >       >
> >       >       >       >       > root@raspberrypi4-64:~/guest1#
> vncviewer 192.168.1.42:5901
> >       >       >       >       >
> >       >       >       >       > TigerVNC Viewer 64-bit v1.11.0
> >       >       >       >       > Built on: 2020-09-08 12:16
> >       >       >       >       > Copyright (C) 1999-2020 TigerVNC Team
> and many others (see README.rst)
> >       >       >       >       > See https://www.tigervnc.org for
> information on TigerVNC.
> >       >       >       >       > Can't open display:
> >       >       >       >       > root@raspberrypi4-64:~/guest1#
> >       >       >       >       >
> >       >       >       >       > I am not exactly sure what the issue is
> but I thought only libvncserver in DOMU could work to get
> >       access but
> >       >       it
> >       >       >       did not
> >       >       >       >       work.
> >       >       >       >       > If TigerVNC is the issue here then is
> there any other VNC source which could be installed for both
> >       x11 &
> >       >       >       wayland supported
> >       >       >       >       images?
> >       >       >       >       >
> >       >       >       >       > Regards,
> >       >       >       >       > Vipul Kumar
> >       >       >       >       >
> >       >       >       >       > On Tue, Oct 18, 2022 at 2:40 AM Stefano
> Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       >       VNC is typically easier to setup,
> because SDL needs extra libraries at
> >       >       >       >       >       build time and runtime. If QEMU i=
s
> built without SDL support it won't
> >       >       >       >       >       start when you ask for SDL.
> >       >       >       >       >
> >       >       >       >       >       VNC should work with both x11 and
> wayland in your domU. It doesn't work
> >       >       >       >       >       at the x11 level, it exposes a
> special fbdev device in your domU that
> >       >       >       >       >       should work with:
> >       >       >       >       >       - a graphical console in Linux do=
mU
> >       >       >       >       >       - x11
> >       >       >       >       >       - wayland (but I haven't tested
> this so I am not 100% sure about it)
> >       >       >       >       >
> >       >       >       >       >       When you say "it doesn't work",
> what do you mean? Do you get a black
> >       >       >       >       >       window?
> >       >       >       >       >
> >       >       >       >       >       You need CONFIG_XEN_FBDEV_FRONTEN=
D
> in Linux domU
> >       >       >       >       >
>  (drivers/video/fbdev/xen-fbfront.c). I would try to get a graphical text
> >       >       >       >       >       console up and running in your
> domU before attempting x11/wayland.
> >       >       >       >       >
> >       >       >       >       >       Cheers,
> >       >       >       >       >
> >       >       >       >       >       Stefano
> >       >       >       >       >
> >       >       >       >       >       On Mon, 17 Oct 2022, Vipul Suneja
> wrote:
> >       >       >       >       >       > Hi,
> >       >       >       >       >       > Thanks!
> >       >       >       >       >       >
> >       >       >       >       >       > I have ported xen minimal image
> as DOM0 & custom wayland GUI based image as DOMU in raspberry
> >       pi4B. I
> >       >       >       am trying to
> >       >       >       >       make GUI
> >       >       >       >       >       display up
> >       >       >       >       >       > for guest machine. I tried
> using sdl, included below line in guest.conf file
> >       >       >       >       >       > vfb=3D [ 'sdl=3D1' ]
> >       >       >       >       >       >
> >       >       >       >       >       > But it is throwing below error:
> >       >       >       >       >       >
> >       >       >       >       >       > root@raspberrypi4-64:~/guest1#
> xl create -c guest1.cfg
> >       >       >       >       >       > Parsing config from guest1.cfg
> >       >       >       >       >       > libxl: error:
> libxl_qmp.c:1400:qmp_ev_fd_callback: Domain 3:error on QMP socket:
> Connection
> >       reset by
> >       >       >       peer
> >       >       >       >       >       > libxl: error:
> libxl_qmp.c:1439:qmp_ev_fd_callback: Domain 3:Error happened with the QMP
> >       connection to
> >       >       >       QEMU
> >       >       >       >       >       > libxl: error:
> libxl_dm.c:3351:device_model_postconfig_done: Domain 3:Post DM startup
> configs
> >       failed,
> >       >       >       rc=3D-26
> >       >       >       >       >       > libxl: error:
> libxl_create.c:1867:domcreate_devmodel_started: Domain 3:device model did
> not
> >       start:
> >       >       -26
> >       >       >       >       >       > libxl: error:
> libxl_aoutils.c:646:libxl__kill_xs_path: Device Model already exited
> >       >       >       >       >       > libxl: error:
> libxl_domain.c:1183:libxl__destroy_domid: Domain 3:Non-existant domain
> >       >       >       >       >       > libxl: error:
> libxl_domain.c:1137:domain_destroy_callback: Domain 3:Unable to destroy
> guest
> >       >       >       >       >       > libxl: error:
> libxl_domain.c:1064:domain_destroy_cb: Domain 3:Destruction of domain fai=
led
> >       >       >       >       >       >
> >       >       >       >       >       > Another way is VNC, i could
> install tigervnc in DOM0 but same i couldn't in guest machine
> >       because it
> >       >       >       doesn't support
> >       >       >       >       >       x11(supports wayland
> >       >       >       >       >       > only). I am completely blocked
> here, Need your support to enable the display up.
> >       >       >       >       >       > Any alternative of VNC which
> could work in both x11 & wayland supported images?
> >       >       >       >       >       >
> >       >       >       >       >       > Any input on VNC, SDL or any
> other way to proceed on this? Looking forward to hearing from
> >       you.
> >       >       >       >       >       >
> >       >       >       >       >       > Regards,
> >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >
> >       >       >       >
> >       >       >       >
> >       >       >
> >       >       >
> >       >       >
> >       >
> >       >
> >       >
> >
> >
> >

--0000000000009896a005ef7cbba0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+SGkgU3RlZmFubyw8YnI+PGJyPlRoYW5rcyE8YnI+PGJyPkkgaGF2ZSBp
bmNsdWRlZCBwcmludGsgZGVidWcgbG9ncyBpbiB0aGUgeGVuLWZiZnJvbnQuYyBzb3VyY2UgZmls
ZS4gV2hpbGUgY3Jvc3MgY29tcGlsaW5nIHRvIGdlbmVyYXRlIC5rbyB3aXRoICZxdW90O3hlbi1n
dWVzdC1pbWFnZS1taW5pbWFsJnF1b3Q7IHRvb2xjaGFpbiBpdCYjMzk7cyB0aHJvd2luZyBhIG1v
ZHBvc3Q8YnI+bm90IGZvdW5kIGVycm9yLiBJIGNvdWxkIHNlZSB0aGUgbW9kcG9zdC5jIHNvdXJj
ZSBmaWxlIGJ1dCB0aGUgZmluYWwgc2NyaXB0IGlzIG1pc3NpbmcuIEFueSBpbnB1dCBvbiB0aGlz
LCBCZWxvdyBhcmUgdGhlIGxvZ3M6PGJyPjxicj48Yj5hZ2xAYWdsLU9wdGlQbGV4LTcwMTA6fi9B
dXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L3Byb2plY3QvQXBwbGljYXRpb24vWGVuL0ZyYW1l
YnVmZmVyJCBtYWtlPGJyPm1ha2UgQVJDSD1hcm02NCAtSS9vcHQvcG9reS80LjAuNS9zeXNyb290
cy9jb3J0ZXhhNzItcG9reS1saW51eC91c3IvaW5jbHVkZS9hc20gLUMgL29wdC9wb2t5LzQuMC41
L3N5c3Jvb3RzL2NvcnRleGE3Mi1wb2t5LWxpbnV4L2xpYi9tb2R1bGVzLzUuMTUuNzIteW9jdG8t
c3RhbmRhcmQvYnVpbGQgTT0vaG9tZS9hZ2wvQXV0b21vdGl2ZS9BREFTX0luZm90YWlubWVudC9w
cm9qZWN0L0FwcGxpY2F0aW9uL1hlbi9GcmFtZWJ1ZmZlciBtb2R1bGVzPGJyPm1ha2VbMV06IEVu
dGVyaW5nIGRpcmVjdG9yeSAmIzM5Oy9vcHQvcG9reS80LjAuNS9zeXNyb290cy9jb3J0ZXhhNzIt
cG9reS1saW51eC9saWIvbW9kdWxlcy81LjE1LjcyLXlvY3RvLXN0YW5kYXJkL2J1aWxkJiMzOTs8
YnI+YXJjaC9hcm02NC9NYWtlZmlsZTozNjogRGV0ZWN0ZWQgYXNzZW1ibGVyIHdpdGggYnJva2Vu
IC5pbnN0OyBkaXNhc3NlbWJseSB3aWxsIGJlIHVucmVsaWFibGU8YnI+d2FybmluZzogdGhlIGNv
bXBpbGVyIGRpZmZlcnMgZnJvbSB0aGUgb25lIHVzZWQgdG8gYnVpbGQgdGhlIGtlcm5lbDxicj7C
oCBUaGUga2VybmVsIHdhcyBidWlsdCBieTogZ2NjIChVYnVudHUgOS40LjAtMXVidW50dTF+MjAu
MDQuMSkgOS40LjA8YnI+wqAgWW91IGFyZSB1c2luZzogwqAgwqAgwqAgwqAgwqAgYWFyY2g2NC1w
b2t5LWxpbnV4LWdjYyAoR0NDKSAxMS4zLjA8YnI+wqAgQ0MgW01dIMKgL2hvbWUvYWdsL0F1dG9t
b3RpdmUvQURBU19JbmZvdGFpbm1lbnQvcHJvamVjdC9BcHBsaWNhdGlvbi9YZW4vRnJhbWVidWZm
ZXIveGVuLWZiZnJvbnQubzxicj7CoCBNT0RQT1NUIC9ob21lL2FnbC9BdXRvbW90aXZlL0FEQVNf
SW5mb3RhaW5tZW50L3Byb2plY3QvQXBwbGljYXRpb24vWGVuL0ZyYW1lYnVmZmVyL01vZHVsZS5z
eW12ZXJzPGJyPi9iaW4vc2g6IDE6IHNjcmlwdHMvbW9kL21vZHBvc3Q6IG5vdCBmb3VuZDxicj5t
YWtlWzJdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUubW9kcG9zdDoxMzM6IC9ob21lL2FnbC9BdXRv
bW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L3Byb2plY3QvQXBwbGljYXRpb24vWGVuL0ZyYW1lYnVm
ZmVyL01vZHVsZS5zeW12ZXJzXSBFcnJvciAxMjc8YnI+bWFrZVsxXTogKioqIFtNYWtlZmlsZTox
ODEzOiBtb2R1bGVzXSBFcnJvciAyPGJyPm1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICYjMzk7
L29wdC9wb2t5LzQuMC41L3N5c3Jvb3RzL2NvcnRleGE3Mi1wb2t5LWxpbnV4L2xpYi9tb2R1bGVz
LzUuMTUuNzIteW9jdG8tc3RhbmRhcmQvYnVpbGQmIzM5Ozxicj5tYWtlOiAqKiogW01ha2VmaWxl
OjU6IGFsbF0gRXJyb3IgMjxicj5hZ2xAYWdsLU9wdGlQbGV4LTcwMTA6fi9BdXRvbW90aXZlL0FE
QVNfSW5mb3RhaW5tZW50L3Byb2plY3QvQXBwbGljYXRpb24vWGVuL0ZyYW1lYnVmZmVyJCBscyAt
bDxicj50b3RhbCAzMjQ8YnI+LXJ3eHJ3eHJ3eCAxIGFnbCBhZ2wgwqAgwqAzNTkgRGVjIDEwIDIy
OjQxIE1ha2VmaWxlPGJyPi1ydy1ydy1yLS0gMSBhZ2wgYWdsIMKgIMKgIDkwIERlYyAxMCAyMjo0
OSBtb2R1bGVzLm9yZGVyPGJyPi1ydy1yLS1yLS0gMSBhZ2wgYWdsIMKgMTgzMzEgRGVjIMKgMSAy
MDozMiB4ZW4tZmJmcm9udC5jPGJyPi1ydy1ydy1yLS0gMSBhZ2wgYWdsIMKgIMKgIDkwIERlYyAx
MCAyMjo0OSB4ZW4tZmJmcm9udC5tb2Q8YnI+LXJ3LXJ3LXItLSAxIGFnbCBhZ2wgMjk3ODMyIERl
YyAxMCAyMjo0OSB4ZW4tZmJmcm9udC5vPGJyPmFnbEBhZ2wtT3B0aVBsZXgtNzAxMDp+L0F1dG9t
b3RpdmUvQURBU19JbmZvdGFpbm1lbnQvcHJvamVjdC9BcHBsaWNhdGlvbi9YZW4vRnJhbWVidWZm
ZXIkIGZpbGUgeGVuLWZiZnJvbnQubzxicj54ZW4tZmJmcm9udC5vOiBFTEYgNjQtYml0IExTQiBy
ZWxvY2F0YWJsZSwgQVJNIGFhcmNoNjQsIHZlcnNpb24gMSAoU1lTViksIHdpdGggZGVidWdfaW5m
bywgbm90IHN0cmlwcGVkPGJyPmFnbEBhZ2wtT3B0aVBsZXgtNzAxMDp+L0F1dG9tb3RpdmUvQURB
U19JbmZvdGFpbm1lbnQvcHJvamVjdC9BcHBsaWNhdGlvbi9YZW4vRnJhbWVidWZmZXIkPC9iPjxi
cj48YnI+SSBoYXZlIGNvbm5lY3RlZCBhIEhETUkgYmFzZWQgMTk4MHgxMDI0IHJlc29sdXRpb24g
ZGlzcGxheSBzY3JlZW4gdG8gcmFzcGJlcnJ5cGk0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLiBJIGhv
cGUgY29ubmVjdGluZyB0aGlzIGRpc3BsYXkgdG8gcnBpNCBzaG91bGQgYmUgb2suPGJyPjxicj5J
cyB0aGVyZSBhbnkgb3RoZXIgd2F5IHdlIGNhbiBjb25uZWN0IGFsc28gZm9yIGRldGFpbGVkIGRp
c2N1c3Npb24gb24gdGhlIGRpc3BsYXkgYnJpbmd1cCBpc3N1ZT8gVGhpcyB3aWxsIHJlYWxseSBo
ZWxwIHRvIHJlc29sdmUgdGhpcyBpc3N1ZS48YnI+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGFua3Mg
JmFtcDsgUmVnYXJkcyw8L2Rpdj48ZGl2PlZpcHVsIEt1bWFyPC9kaXY+PC9kaXY+PGJyPjxkaXYg
Y2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2IGRpcj0ibHRyIiBjbGFzcz0iZ21haWxfYXR0ciI+T24g
RnJpLCBEZWMgMiwgMjAyMiBhdCAxOjAyIEFNIFN0ZWZhbm8gU3RhYmVsbGluaSAmbHQ7PGEgaHJl
Zj0ibWFpbHRvOnNzdGFiZWxsaW5pQGtlcm5lbC5vcmciPnNzdGFiZWxsaW5pQGtlcm5lbC5vcmc8
L2E+Jmd0OyB3cm90ZTo8YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIiBz
dHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCByZ2Io
MjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPk9uIFRodSwgMSBEZWMgMjAyMiwgVmlwdWwg
U3VuZWphIHdyb3RlOjxicj4NCiZndDsgSGkgU3RlZmFubyw8YnI+DQomZ3Q7IFRoYW5rcyE8YnI+
DQomZ3Q7IDxicj4NCiZndDsgSSBhbSBleHBsb3JpbmcgYm90aCBvcHRpb25zIGhlcmUsIG1vZGlm
aWNhdGlvbiBvZiBmcmFtZWJ1ZmZlciBzb3VyY2UgZmlsZSAmYW1wOyBzZXR0aW5nIHVwIHgxMXZu
YyBzZXJ2ZXIgaW4gZ3Vlc3QuPGJyPg0KJmd0OyBPdGhlciB0aGFuIHRoZXNlIEkgd291bGQgbGlr
ZSB0byBzaGFyZSBhIGZldyBmaW5kaW5ncyB3aXRoIHlvdS48YnI+DQomZ3Q7IDxicj4NCiZndDsg
MS4gSWYgaSBrZWVwICZxdW90O0NPTkZJR19YRU5fRkJERVZfRlJPTlRFTkQ9eSZxdW90OyB0aGVu
IHhlbi1mYmZyb250LmtvIGlzIG5vdCBnZW5lcmF0aW5nIGJ1dCBpZiBpIGtlZXAgJnF1b3Q7Q09O
RklHX1hFTl9GQkRFVl9GUk9OVEVORD1tJnF1b3Q7PGJyPg0KJmd0OyB0aGVuIGNvdWxkIHNlZSB4
ZW4tZmJmcm9udC5rbyAmYW1wOyBpdHMgbG9hZGluZyBhbHNvLiBTYW1lIHRoaW5ncyB3aXRoIG90
aGVyIGZyb250ZW5kL2JhY2tlbmQgZHJpdmVycyBhbHNvLiBEbyB3ZSBuZWVkIHRvIGNvbmZpZ3Vy
ZcKgdGhlc2U8YnI+DQomZ3Q7IGRyaXZlcnMgYXMgYSBtb2R1bGUobSkgb25seT88YnI+DQo8YnI+
DQp4ZW4tZmJmcm9udCBzaG91bGQgd29yayBib3RoIGFzIGEgbW9kdWxlICh4ZW4tZmJmcm9udC5r
bykgb3IgYnVpbHQtaW48YnI+DQooQ09ORklHX1hFTl9GQkRFVl9GUk9OVEVORD15KS48YnI+DQo8
YnI+DQo8YnI+DQo8YnI+DQomZ3Q7IDIuIEkgY291bGQgc2VlIHhlbnN0b3JlZCBzZXJ2aWNlIGlz
IHJ1bm5pbmcgZm9yIHRoZSBob3N0IGJ1dCBpdCYjMzk7cyBhbHdheXMgZmFpbGluZyBmb3IgdGhl
IGd1ZXN0wqBtYWNoaW5lLiBJIGNvdWxkIHNlZSBpdCBpbiBib290dXAgbG9ncyAmYW1wOyB2aWE8
YnI+DQomZ3Q7IHN5c3RlbWN0bCBzdGF0dXMgYWxzby48YnI+DQo8YnI+DQpUaGF0IGlzIG5vcm1h
bC4geGVuc3RvcmVkIGlzIG9ubHkgbWVhbnQgdG8gYmUgcnVuIGluIERvbTAsIG5vdCBpbiB0aGU8
YnI+DQpkb21Vcy4gSWYgeW91IHVzZSB0aGUgc2FtZSByb290ZnMgZm9yIERvbTAgYW5kIERvbVUg
dGhlbiB4ZW5zdG9yZWQgd2lsbDxicj4NCmZhaWwgc3RhcnRpbmcgaW4gdGhlIERvbVUgKGJ1dCBz
aG91bGQgc3VjY2VlZCBpbiBEb20wKSwgd2hpY2ggaXMgd2hhdCB3ZTxicj4NCndhbnQuPGJyPg0K
PGJyPg0KSWYgeW91IHJ1biAmcXVvdDt4ZW5zdG9yZS1scyZxdW90OyBpbiBEb20wLCB5b3UmIzM5
O2xsIHNlZSBhIGJ1bmNoIG9mIGVudHJpZXMsPGJyPg0KaW5jbHVkaW5nIHNvbWUgb2YgdGhlbSBy
ZWxhdGVkIHRvICZxdW90O3ZmYiZxdW90OyB3aGljaCBpcyB0aGUgdmlydHVhbCBmcmFtZWJ1ZmZl
cjxicj4NCnByb3RvY29sLiBZb3Ugc2hvdWxkIGFsc28gc2VlIGFuIGVudHJ5IGNhbGxlZCAmcXVv
dDtzdGF0ZSZxdW90OyBzZXQgdG8gJnF1b3Q7NCZxdW90OyB3aGljaDxicj4NCm1lYW5zICZxdW90
O2Nvbm5lY3RlZCZxdW90Oy4gc3RhdGUgPSA0IGlzIHVzdWFsbHkgd2hlbiBldmVyeXRoaW5nIHdv
cmtzLiBOb3JtYWxseTxicj4NCndoZW4gdGhpbmdzIGRvbiYjMzk7dCB3b3JrIHN0YXRlICE9IDQu
PGJyPg0KPGJyPg0KPGJyPg0KPGJyPg0KJmd0OyBCZWxvdyBhcmUgdGhlIGxvZ3M6PGJyPg0KJmd0
OyBbIMKgT0sgwqBdIFJlYWNoZWQgdGFyZ2V0IEJhc2ljIFN5c3RlbS48YnI+DQomZ3Q7IFsgwqBP
SyDCoF0gU3RhcnRlZCBLZXJuZWwgTG9nZ2luZyBTZXJ2aWNlLjxicj4NCiZndDsgWyDCoE9LIMKg
XSBTdGFydGVkIFN5c3RlbSBMb2dnaW5nIFNlcnZpY2UuPGJyPg0KJmd0OyDCoCDCoCDCoCDCoCDC
oFN0YXJ0aW5nIEQtQnVzIFN5c3RlbSBNZXNzYWdlIEJ1cy4uLjxicj4NCiZndDsgwqAgwqAgwqAg
wqAgwqBTdGFydGluZyBVc2VyIExvZ2luIE1hbmFnZW1lbnQuLi48YnI+DQomZ3Q7IMKgIMKgIMKg
IMKgIMKgU3RhcnRpbmcgUGVybWl0IFVzZXIgU2Vzc2lvbnMuLi48YnI+DQomZ3Q7IMKgIMKgIMKg
IMKgIMKgU3RhcnRpbmcgVGhlIFhlbiB4ZW5zdG9yZS4uLjxicj4NCiZndDsgwqAgwqAgwqAgwqAg
wqBTdGFydGluZyBPcGVuU1NIIEtleSBHZW5lcmF0aW9uLi4uPGJyPg0KJmd0OyBbRkFJTEVEXSBG
YWlsZWQgdG8gc3RhcnQgVGhlIFhlbiB4ZW5zdG9yZS48YnI+DQomZ3Q7IFNlZSAmIzM5O3N5c3Rl
bWN0bCBzdGF0dXMgeGVuc3RvcmVkLnNlcnZpY2UmIzM5OyBmb3IgZGV0YWlscy48YnI+DQomZ3Q7
IFtERVBFTkRdIERlcGVuZGVuY3kgZmFpbGVkIGZvciBxZW11IGZvciB4ZW4gZG9tMCBkaXNrIGJh
Y2tlbmQuPGJyPg0KJmd0OyBbREVQRU5EXSBEZXBlbmRlbmN5IGZhaWxlZCBmb3IgWGVuZOKApnAg
Z3Vlc3RzIG9uIGJvb3QgYW5kIHNodXRkb3duLjxicj4NCiZndDsgW0RFUEVORF0gRGVwZW5kZW5j
eSBmYWlsZWQgZm9yIHhlbi3igKZkZXMsIEpTT04gY29uZmlndXJhdGlvbiBzdHViKS48YnI+DQom
Z3Q7IFtERVBFTkRdIERlcGVuZGVuY3kgZmFpbGVkIGZvciBYZW5j4oCmZ3Vlc3QgY29uc29sZXMg
YW5kIGh5cGVydmlzb3IuPGJyPg0KJmd0OyBbIMKgT0sgwqBdIEZpbmlzaGVkIFBlcm1pdCBVc2Vy
IFNlc3Npb25zLjxicj4NCiZndDsgWyDCoE9LIMKgXSBTdGFydGVkIEdldHR5IG9uIHR0eTEuPGJy
Pg0KJmd0OyBbIMKgT0sgwqBdIFN0YXJ0ZWQgU2VyaWFsIEdldHR5IG9uIGh2YzAuPGJyPg0KJmd0
OyBbIMKgT0sgwqBdIFN0YXJ0ZWQgU2VyaWFsIEdldHR5IG9uIHR0eVMwLjxicj4NCiZndDsgWyDC
oE9LIMKgXSBSZWFjaGVkIHRhcmdldCBMb2dpbiBQcm9tcHRzLjxicj4NCiZndDsgwqAgwqAgwqAg
wqAgwqBTdGFydGluZyBYZW4td2F0Y2hkb2cgLSBydW4geGVuIHdhdGNoZG9nIGRhZW1vbi4uLjxi
cj4NCiZndDsgWyDCoE9LIMKgXSBTdGFydGVkIEQtQnVzIFN5c3RlbSBNZXNzYWdlIEJ1cy48YnI+
DQomZ3Q7IFsgwqBPSyDCoF0gU3RhcnRlZCBYZW4td2F0Y2hkb2cgLSBydW4geGVuIHdhdGNoZG9n
IGRhZW1vbi48YnI+DQomZ3Q7IFsgwqBPSyDCoF0gRmluaXNoZWQgT3BlblNTSCBLZXkgR2VuZXJh
dGlvbi48YnI+DQomZ3Q7IFsgwqBPSyDCoF0gU3RhcnRlZCBVc2VyIExvZ2luIE1hbmFnZW1lbnQu
PGJyPg0KJmd0OyBbIMKgT0sgwqBdIFJlYWNoZWQgdGFyZ2V0IE11bHRpLVVzZXIgU3lzdGVtLjxi
cj4NCiZndDsgwqAgwqAgwqAgwqAgwqBTdGFydGluZyBSZWNvcmQgUnVubGV2ZWwgQ2hhbmdlIGlu
IFVUTVAuLi48YnI+DQomZ3Q7IFsgwqBPSyDCoF0gRmluaXNoZWQgUmVjb3JkIFJ1bmxldmVsIENo
YW5nZSBpbiBVVE1QLjxicj4NCiZndDsgZmJjb246IFRha2luZyBvdmVyIGNvbnNvbGU8YnI+DQom
Z3Q7IDxicj4NCiZndDsgUG9reSAoWW9jdG8gUHJvamVjdCBSZWZlcmVuY2UgRGlzdHJvKSA0LjAu
NCByYXNwYmVycnlwaTQtNjQgaHZjMDxicj4NCiZndDsgPGJyPg0KJmd0OyByYXNwYmVycnlwaTQt
NjQgbG9naW46IHJvb3Q8YnI+DQomZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4jPGJyPg0KJmd0
OyByb290QHJhc3BiZXJyeXBpNC02NDp+Izxicj4NCiZndDsgcm9vdEByYXNwYmVycnlwaTQtNjQ6
fiMgc3lzdGVtY3RsIHN0YXR1cyB4ZW5zdG9yZWQuc2VydmljZTxicj4NCiZndDsgeCB4ZW5zdG9y
ZWQuc2VydmljZSAtIFRoZSBYZW4geGVuc3RvcmU8YnI+DQomZ3Q7IMKgIMKgIMKgTG9hZGVkOiBs
b2FkZWQgKC9saWIvc3lzdGVtZC9zeXN0ZW0veGVuc3RvcmVkLnNlcnZpY2U7IGVuYWJsZWQ7IHZl
bmRvciBwcmVzZXQ6IGVuYWJsZWQpPGJyPg0KJmd0OyDCoCDCoCDCoEFjdGl2ZTogZmFpbGVkIChS
ZXN1bHQ6IGV4aXQtY29kZSkgc2luY2UgVGh1IDIwMjItMTItMDEgMDY6MTI6MDUgVVRDOyAyNnMg
YWdvPGJyPg0KJmd0OyDCoCDCoCBQcm9jZXNzOiAxOTUgRXhlY1N0YXJ0UHJlPS9iaW4vZ3JlcCAt
cSBjb250cm9sX2QgL3Byb2MveGVuL2NhcGFiaWxpdGllcyAoY29kZT1leGl0ZWQsIHN0YXR1cz0x
L0ZBSUxVUkUpPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IERlYyAwMSAwNjoxMjowNCByYXNwYmVycnlw
aTQtNjQgc3lzdGVtZFsxXTogU3RhcnRpbmcgVGhlIFhlbiB4ZW5zdG9yZS4uLjxicj4NCiZndDsg
RGVjIDAxIDA2OjEyOjA1IHJhc3BiZXJyeXBpNC02NCBzeXN0ZW1kWzFdOiB4ZW5zdG9yZWQuc2Vy
dmljZTogQ29udHJvbCBwcm8uLi5VUkU8YnI+DQomZ3Q7IERlYyAwMSAwNjoxMjowNSByYXNwYmVy
cnlwaTQtNjQgc3lzdGVtZFsxXTogeGVuc3RvcmVkLnNlcnZpY2U6IEZhaWxlZCB3aXRoLi4uZSYj
Mzk7Ljxicj4NCiZndDsgRGVjIDAxIDA2OjEyOjA1IHJhc3BiZXJyeXBpNC02NCBzeXN0ZW1kWzFd
OiBGYWlsZWQgdG8gc3RhcnQgVGhlIFhlbiB4ZW5zdG9yZS48YnI+DQomZ3Q7IEhpbnQ6IFNvbWUg
bGluZXMgd2VyZSBlbGxpcHNpemVkLCB1c2UgLWwgdG8gc2hvdyBpbiBmdWxsLjxicj4NCiZndDsg
cm9vdEByYXNwYmVycnlwaTQtNjQ6fiPCoDxicj4NCiZndDsgPGJyPg0KJmd0OyBBbnkgaW5wdXQg
b24gdGhlc2U/PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IFRoYW5rcyAmYW1wOyBSZWdhcmRzLDxicj4N
CiZndDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7IDxicj4NCiZndDsgT24gV2VkLCBOb3YgMjMsIDIw
MjIgYXQgNTo0MSBBTSBTdGVmYW5vIFN0YWJlbGxpbmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3Rh
YmVsbGluaUBrZXJuZWwub3JnIiB0YXJnZXQ9Il9ibGFuayI+c3N0YWJlbGxpbmlAa2VybmVsLm9y
ZzwvYT4mZ3Q7IHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoEhpIFZpcHVsLDxicj4NCiZndDsg
PGJyPg0KJmd0O8KgIMKgIMKgIMKgSSBjYW5ub3Qgc3BvdCBhbnkgaXNzdWUgaW4gdGhlIGNvbmZp
Z3VyYXRpb24sIGluIHBhcnRpY3VhbCB5b3UgaGF2ZTo8YnI+DQomZ3Q7IDxicj4NCiZndDvCoCDC
oCDCoCDCoENPTkZJR19YRU5fRkJERVZfRlJPTlRFTkQ9eTxicj4NCiZndDsgPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgd2hpY2ggaXMgd2hhdCB5b3UgbmVlZC48YnI+DQomZ3Q7IDxicj4NCiZndDvCoCDC
oCDCoCDCoFRoZSBvbmx5IHRoaW5nIEkgY2FuIHN1Z2dlc3QgaXMgdG8gYWRkIHByaW50a3MgdG8g
dGhlIExpbnV4IGZyb250ZW5kPGJyPg0KJmd0O8KgIMKgIMKgIMKgZHJpdmVyICh0aGUgb25lIHJ1
bm5pbmcgaW4gdGhlIGRvbVUpIHdoaWNoIGlzPGJyPg0KJmd0O8KgIMKgIMKgIMKgZHJpdmVycy92
aWRlby9mYmRldi94ZW4tZmJmcm9udC5jIGFuZCBwcmludGZzIHRvIHRoZSBRRU1VIGJhY2tlbmQ8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAocnVubmluZyBpbiBEb20wKSB3aGljaCBpcyBody9kaXNwbGF5
L3hlbmZiLmMgdG8gZmlndXJlIG91dCB3aGF0IGlzPGJyPg0KJmd0O8KgIMKgIMKgIMKgZ29pbmcg
b24uPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDxicj4NCiZndDvCoCDCoCDCoCDCoEFsdGVybmF0aXZl
bHksIHlvdSBjYW4gc2V0dXAgUFYgbmV0d29yayB3aXRoIHRoZSBkb21VLCBzdWNoIGFzOjxicj4N
CiZndDsgPGJyPg0KJmd0O8KgIMKgIMKgIMKgwqAgdmlmPVsmIzM5OyYjMzk7XTxicj4NCiZndDsg
PGJyPg0KJmd0O8KgIMKgIMKgIMKgYW5kIHRoZW4gcnVuIHgxMSBhbmQgYSB4MTF2bmMgc2VydmVy
IGluIHlvdXIgZG9tVS4gWW91IHNob3VsZCBiZSBhYmxlIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Y29ubmVjdCB0byBpdCB1c2luZyB2bmN2aWV3ZXIgYXQgdGhlIG5ldHdvcmsgSVAgb2YgeW91ciBk
b21VLjxicj4NCiZndDsgPGJyPg0KJmd0O8KgIMKgIMKgIMKgQmFzaWNhbGx5IHlvdSBhcmUgc2tp
cHBpbmcgdGhlIHByb2JsZW0gYmVjYXVzZSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBQVjxicj4NCiZn
dDvCoCDCoCDCoCDCoGZyYW1lYnVmZmVyIHByb3RvY29sLCB5b3UganVzdCB1c2UgVk5DIG92ZXIg
dGhlIG5ldHdvcmsgd2l0aCB0aGUgZG9tVS48YnI+DQomZ3Q7IDxicj4NCiZndDsgPGJyPg0KJmd0
O8KgIMKgIMKgIMKgQ2hlZXJzLDxicj4NCiZndDsgPGJyPg0KJmd0O8KgIMKgIMKgIMKgU3RlZmFu
bzxicj4NCiZndDsgPGJyPg0KJmd0OyA8YnI+DQomZ3Q7wqAgwqAgwqAgwqBPbiBUdWUsIDIyIE5v
diAyMDIyLCBWaXB1bCBTdW5lamEgd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBIaSBT
dGVmYW5vLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgVGhhbmtzIGZvciB0aGXCoHN1cHBvcnQh
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgTG9va3Mg
bGlrZSBJIGhhdmUgdHJpZWQgYWxsIHRoZSBjb21iaW5hdGlvbnPCoCZhbXA7IHBvc3NpYmxlIHdh
eXMgdG8gZ2V0IGRpc3BsYXkgdXAgYnV0IGZhaWxlZC4gSXMgdGhlcmUgYW55IGRvY3VtZW50IG9y
IHBkZiBmb3I8YnI+DQomZ3Q7wqAgwqAgwqAgwqBwb3J0aW5nIHhlbiBvbjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgcmFzcGJlcnJ5cGk0Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgSSBjb3Vs
ZCBmaW5kIGxvdCYjMzk7cyBvZiBsaW5rcyB0ZWxsaW5nIHRoZSBzYW1lIGJ1dCBjb3VsZG4mIzM5
O3Qgc2VlIGFueSBvZmZpY2lhbCB1c2VyIGd1aWRlIG9yIGRvY3VtZW50IGZyb20gdGhlIHhlbiBj
b21tdW5pdHkgb248YnI+DQomZ3Q7wqAgwqAgwqAgwqB0aGUgc2FtZS4gSWY8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IHRoZXJlIGlzIHNvbWV0aGluZyB0byByZWZlcsKgPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyB0byBwbGVhc2Ugc2hhcmUgd2l0aCBtZS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IEkgYW0gYXR0YWNoaW5nIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiBmaWxlIGFsc28sIGp1
c3QgdGFrZSBhIGxvb2sgaWYgaSBoYXZlIG1pc3NlZCBhbnl0aGluZy48YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IEFueSBvdGhlciBzdWdnZXN0aW9ucyBvciBpbnB1dCBmcm9tIHlvdXIgZW5kIGNv
dWxkIGJlIHJlYWxseSBoZWxwZnVsPzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBL
dW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9u
IEZyaSwgTm92IDExLCAyMDIyIGF0IDY6NDAgQU0gU3RlZmFubyBTdGFiZWxsaW5pICZsdDs8YSBo
cmVmPSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNzdGFi
ZWxsaW5pQGtlcm5lbC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqBIaSBWaXB1bCw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgU29ycnkgZm9yIHRoZSBsYXRlIHJlcGx5LiBGcm9tIHRo
ZSBlYXJsaWVyIGxvZ3MgdGhhdCB5b3Ugc2VudCwgaXQgbG9va3M8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBsaWtlIGV2ZXJ5dGhpbmcgc2hvdWxkIGJlIHdvcmtpbmcgY29ycmVj
dGx5LiBTcGVjaWZpY2FsbHk6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAgwqAgdmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoDEgPSAmcXVvdDsmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgZnJvbnRl
bmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZmYi8wJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7
MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAgwqBv
bmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
wqDCoCDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAgwqB2bmMgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCDCoHZuY2xpc3RlbiA9ICZxdW90OzEy
Ny4wLjAuMSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAgwqAg
wqAgwqB2bmNkaXNwbGF5ID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoMKgwqAgwqAgwqAgwqB2bmN1bnVzZWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCDCoHNkbCA9ICZxdW90OzAmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgb3Blbmds
ID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAg
wqAgwqAgwqBmZWF0dXJlLXJlc2l6ZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgaG90cGx1Zy1zdGF0dXMgPSAmcXVvdDtjb25u
ZWN0ZWQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKg
IMKgcmVxdWVzdC11cGRhdGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHN0YXRlICZxdW90OzQmcXVvdDsg
bWVhbnMgJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7LiBTbyBJIHdvdWxkIGV4cGVjdCB0aGF0IHlvdSBz
aG91bGQgYmUgYWJsZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHRvIGNvbm5l
Y3QgdG8gdGhlIHZuYyBzZXJ2ZXIgdXNpbmcgdm5jdmlld2VyLiBZb3UgbWlnaHQgbm90IHNlZSBh
bnl0aGluZzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoChibGFjayBzY3JlZW4p
IGJ1dCB5b3Ugc2hvdWxkIGRlZmluaXRlbHkgYmUgYWJsZSB0byBjb25uZWN0Ljxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJIHdvdWxk
biYjMzk7dCB0cnkgdG8gbGF1bmNoIHgxMSBpbiB0aGUgZ3Vlc3QganVzdCB5ZXQuIGZiY29uIGlu
IExpbnV4IGlzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZW5vdWdoIHRvIHJl
bmRlciBzb21ldGhpbmcgb24gdGhlIHNjcmVlbi4gWW91IHNob3VsZCBiZSBhYmxlIHRvIHNlZSB0
aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBMaW51eCB0ZXh0LWJhc2VkIGNv
bnNvbGUgcmVuZGVyZWQgZ3JhcGhpY2FsbHksIGNvbm5lY3RpbmcgdG8gaXQgdmlhIHZuYy48YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
U29ycnkgZm9yIHRoZSBiYXNpYyBxdWVzdGlvbiwgYnV0IGhhdmUgeW91IHRyaWVkIGFsbCB0aGUg
Zm9sbG93aW5nPzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTowIiByZWw9
Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6MDwvYT48YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAu
MToxIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6MTwvYT48YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDov
LzEyNy4wLjAuMToyIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6
MjwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJl
Zj0iaHR0cDovLzEyNy4wLjAuMTo1OTAwIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5r
Ij4xMjcuMC4wLjE6NTkwMDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2
bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo1OTAxIiByZWw9Im5vcmVmZXJyZXIi
IHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6NTkwMTwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo1OTAyIiBy
ZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6NTkwMjwvYT48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgR2l2
ZW4gdGhhdCBmcm9tIHRoZSB4ZW5zdG9yZS1scyBsb2dzIGV2ZXJ5dGhpbmcgc2VlbXMgdG8gd29y
ayBjb3JyZWN0bHk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJIGFtIG5vdCBz
dXJlIHdoYXQgZWxzZSB0byBzdWdnZXN0LiBZb3UgbWlnaHQgaGF2ZSB0byBhZGQgcHJpbnRmIHRv
IFFFTVU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB1aS92bmMuYyBhbmQgaHcv
ZGlzcGxheS94ZW5mYi5jIHRvIHNlZSB3aGF0IGlzIGdvaW5nIHdyb25nLjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oFN0ZWZhbm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoE9uIE1vbiwgNyBOb3YgMjAyMiwg
VmlwdWwgU3VuZWphIHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgSGkgU3RlZmFubyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFRo
YW5rcyE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBBbnkgaW5wdXQgZnVydGhlciBvbiAmcXVvdDt4
ZW5zdG9yZS1scyZxdW90OyBsb2dzPzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEkgYW0gdHJ5aW5n
IHRvIHJ1biB0aGUgeDB2bmNzZXJ2ZXIgJmFtcDsgeDExdm5jIHNlcnZlciBtYW51YWxseSBvbiBn
dWVzdCBtYWNoaW5lKHhlbl9ndWVzdF9pbWFnZV9taW5pbWFsKSBpbWFnZSBidXQgaXQmIzM5O3M8
YnI+DQomZ3Q7wqAgwqAgwqAgwqBmYWlsaW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgd2l0aCB0aGUgYmVsb3c8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IGVycm9yLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0Oi91
c3IvYmluIyB4MHZuY3NlcnZlcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgeDB2bmNzZXJ2ZXI6IHVuYWJsZSB0byBvcGVuIGRpc3BsYXkgJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDov
dXNyL2JpbiM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFz
cGJlcnJ5cGk0LTY0Oi91c3IvYmluIyB4MTF2bmM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgI0BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgI0AgwqAqKiDCoFdBUk5JTkcgwqAqKiDCoFdBUk5JTkcgwqAqKiDCoFdBUk5J
TkcgwqAqKiDCoFdBUk5JTkcgwqAqKiDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgWU9VIEFSRSBSVU5O
SU5HIFgxMVZOQyBXSVRIT1VUIEEgUEFTU1dPUkQhISDCoCDCoCDCoCDCoEAjPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBUaGlz
IG1lYW5zIGFueW9uZSB3aXRoIG5ldHdvcmsgYWNjZXNzIHRvIHRoaXMgY29tcHV0ZXIgwqAgQCM8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgbWF5IGJlIGFibGUg
dG8gdmlldyBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AuIMKgIMKgIMKgIMKgIMKgIMKgQCM8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAj
QCAmZ3Q7Jmd0OyZndDsgSWYgeW91IGRpZCBub3QgbWVhbiB0byBkbyB0aGlzIFByZXNzIENUUkwt
QyBub3chISAmbHQ7Jmx0OyZsdDsgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoFlvdSBjYW4gY3JlYXRlIGFu
IHgxMXZuYyBwYXNzd29yZCBmaWxlIGJ5IHJ1bm5pbmc6IMKgIMKgIMKgIEAjPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAg
wqAgeDExdm5jIC1zdG9yZXBhc3N3ZCBwYXNzd29yZCAvcGF0aC90by9wYXNzZmlsZSDCoCDCoCDC
oEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoG9yIMKgIHgx
MXZuYyAtc3RvcmVwYXNzd2QgL3BhdGgvdG8vcGFzc2ZpbGUgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
QCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgb3IgwqAgeDEx
dm5jIC1zdG9yZXBhc3N3ZCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7ICNAIMKgKHRoZSBsYXN0IG9uZSB3aWxsIHVzZSB+Ly52bmMvcGFzc3dkKSDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBhbmQgdGhlbiBzdGFydGluZyB4
MTF2bmMgdmlhOiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEAjPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
I0AgwqAgwqAgwqB4MTF2bmMgLXJmYmF1dGggL3BhdGgvdG8vcGFzc2ZpbGUgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgYW4gZXhpc3Rpbmcgfi8udm5jL3Bhc3N3ZCBmaWxl
IGZyb20gYW5vdGhlciBWTkMgwqAgwqAgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgI0AgwqBhcHBsaWNhdGlvbiB3aWxsIHdvcmsgZmluZSB0b28uIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAj
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoFlvdSBjYW4gYWxz
byB1c2UgdGhlIC1wYXNzd2RmaWxlIG9yIC1wYXNzd2Qgb3B0aW9ucy4gwqAgwqAgQCM8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgKG5vdGUgLXBhc3N3ZCBpcyB1
bnNhZmUgaWYgbG9jYWwgdXNlcnMgYXJlIG5vdCB0cnVzdGVkKSDCoEAjPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBNYWtlIHN1
cmUgYW55IC1yZmJhdXRoIGFuZCAtcGFzc3dkZmlsZSBwYXNzd29yZCBmaWxlcyDCoCDCoEAjPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoGNhbm5vdCBiZSByZWFk
IGJ5IHVudHJ1c3RlZCB1c2Vycy4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyAjQCDCoFVzZSB4MTF2bmMgLXVzZXB3IHRvIGF1dG9tYXRpY2FsbHkgdXNlIHlvdXIgwqAgwqAg
wqAgwqAgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
I0AgwqB+Ly52bmMvcGFzc3dkIG9yIH4vLnZuYy9wYXNzd2RmaWxlIHBhc3N3b3JkIGZpbGVzLiDC
oCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAo
YW5kIHByb21wdCB5b3UgdG8gY3JlYXRlIH4vLnZuYy9wYXNzd2QgaWYgbmVpdGhlciDCoCDCoCDC
oCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBmaWxlIGV4
aXN0cy4pIMKgVW5kZXIgLXVzZXB3LCB4MTF2bmMgd2lsbCBleGl0IGlmIGl0IMKgIMKgIMKgQCM8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgY2Fubm90IGZpbmQg
YSBwYXNzd29yZCB0byB1c2UuIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgRXZlbiB3aXRoIGEgcGFzc3dvcmQsIHRoZSBz
dWJzZXF1ZW50IFZOQyB0cmFmZmljIGlzIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgc2VudCBpbiB0aGUgY2xlYXIuwqAgQ29uc2lkZXIgdHVu
bmVsbGluZyB2aWEgc3NoKDEpOiDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqA8YSBocmVmPSJodHRwOi8v
d3d3LmthcmxydW5nZS5jb20veDExdm5jLyN0dW5uZWxsaW5nIiByZWw9Im5vcmVmZXJyZXIiIHRh
cmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmthcmxydW5nZS5jb20veDExdm5jLyN0dW5uZWxsaW5n
PC9hPiDCoCDCoCDCoCDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBPciB1c2luZyB0aGUgeDExdm5jIFNTTCBv
cHRpb25zOiAtc3NsIGFuZCAtc3R1bm5lbCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgUGxlYXNlIFJlYWQg
dGhlIGRvY3VtZW50YXRpb24gZm9yIG1vcmUgaW5mbyBhYm91dCDCoCDCoCDCoCDCoEAjPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoHBhc3N3b3Jkcywgc2VjdXJp
dHksIGFuZCBlbmNyeXB0aW9uLiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNA
IMKgIMKgPGEgaHJlZj0iaHR0cDovL3d3dy5rYXJscnVuZ2UuY29tL3gxMXZuYy9mYXEuaHRtbCNm
YXEtcGFzc3dkIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lmth
cmxydW5nZS5jb20veDExdm5jL2ZhcS5odG1sI2ZhcS1wYXNzd2Q8L2E+IMKgIMKgQCM8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDC
oFRvIGRpc2FibGUgdGhpcyB3YXJuaW5nIHVzZSB0aGUgLW5vcHcgb3B0aW9uLCBvciBwdXQgwqAg
wqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgJiMzOTtu
b3B3JiMzOTsgb24gYSBsaW5lIGluIHlvdXIgfi8ueDExdm5jcmMgZmlsZS4gwqAgwqAgwqAgwqAg
wqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyAjQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMv
MjAxOCAxMjo1ODo0MSB4MTF2bmMgdmVyc2lvbjogMC45LjE2IGxhc3Rtb2Q6IDIwMTktMDEtMDUg
wqBwaWQ6IDQyNDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMv
MjAxOCAxMjo1ODo0MSBYT3BlbkRpc3BsYXkoJnF1b3Q7JnF1b3Q7KSBmYWlsZWQuPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQxIFRyeWlu
ZyBhZ2FpbiB3aXRoIFhBVVRITE9DQUxIT1NUTkFNRT1sb2NhbGhvc3QgLi4uPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQxPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQxICoqKiBY
T3BlbkRpc3BsYXkgZmFpbGVkLiBObyAtZGlzcGxheSBvciBESVNQTEFZLjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0MSAqKiogVHJ5aW5n
ICZxdW90OzowJnF1b3Q7IGluIDQgc2Vjb25kcy7CoCBQcmVzcyBDdHJsLUMgdG8gYWJvcnQuPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQx
ICoqKiAxIDIgMyA0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8w
My8yMDE4IDEyOjU4OjQ1IFhPcGVuRGlzcGxheSgmcXVvdDs6MCZxdW90OykgZmFpbGVkLjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0NSBU
cnlpbmcgYWdhaW4gd2l0aCBYQVVUSExPQ0FMSE9TVE5BTUU9bG9jYWxob3N0IC4uLjxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0NSBYT3Bl
bkRpc3BsYXkoJnF1b3Q7OjAmcXVvdDspIGZhaWxlZC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IDA5LzAzLzIwMTggMTI6NTg6NDUgVHJ5aW5nIGFnYWluIHdpdGggdW5z
ZXQgWEFVVEhMT0NBTEhPU1ROQU1FIC4uLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0NTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAz
LzIwMTggMTI6NTg6NDUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQ1
ICoqKiBYT3BlbkRpc3BsYXkgZmFpbGVkICg6MCk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAqKiog
eDExdm5jIHdhcyB1bmFibGUgdG8gb3BlbiB0aGUgWCBESVNQTEFZOiAmcXVvdDs6MCZxdW90Oywg
aXQgY2Fubm90IGNvbnRpbnVlLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgKioqIFRoZXJlIG1heSBiZSAmcXVvdDtYbGliOiZxdW90OyBlcnJvciBtZXNzYWdlcyBhYm92
ZSB3aXRoIGRldGFpbHMgYWJvdXQgdGhlIGZhaWx1cmUuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
U29tZSB0aXBzIGFuZCBndWlkZWxpbmVzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICoqIEFuIFgg
c2VydmVyICh0aGUgb25lIHlvdSB3aXNoIHRvIHZpZXcpIG11c3QgYmUgcnVubmluZyBiZWZvcmUg
eDExdm5jIGlzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoHN0
YXJ0ZWQ6IHgxMXZuYyBkb2VzIG5vdCBzdGFydCB0aGUgWCBzZXJ2ZXIuIMKgKGhvd2V2ZXIsIHNl
ZSB0aGUgLWNyZWF0ZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqBvcHRpb24gaWYgdGhhdCBpcyB3aGF0IHlvdSByZWFsbHkgd2FudCkuPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgKiogWW91IG11c3QgdXNlIC1kaXNwbGF5ICZsdDtkaXNwJmd0OywgLU9SLSBzZXQg
YW5kIGV4cG9ydCB5b3VyICRESVNQTEFZPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoGVudmlyb25tZW50IHZhcmlhYmxlIHRvIHJlZmVyIHRvIHRoZSBkaXNwbGF5
IG9mIHRoZSBkZXNpcmVkIFggc2VydmVyLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAtIFVzdWFsbHkgdGhlIGRpc3BsYXkgaXMgc2ltcGx5ICZxdW90OzowJnF1b3Q7
IChpbiBmYWN0IHgxMXZuYyB1c2VzIHRoaXMgaWYgeW91IGZvcmdldDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqB0byBzcGVjaWZ5IGl0KSwgYnV0IGluIHNvbWUg
bXVsdGktdXNlciBzaXR1YXRpb25zIGl0IGNvdWxkIGJlICZxdW90OzoxJnF1b3Q7LCAmcXVvdDs6
MiZxdW90Oyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgb3Ig
ZXZlbiAmcXVvdDs6MTM3JnF1b3Q7LsKgIEFzayB5b3VyIGFkbWluaXN0cmF0b3Igb3IgYSBndXJ1
IGlmIHlvdSBhcmUgaGF2aW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoGRpZmZpY3VsdHkgZGV0ZXJtaW5pbmcgd2hhdCB5b3VyIFggRElTUExBWSBpcy48YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyAqKiBOZXh0LCB5b3UgbmVlZCB0byBoYXZlIHN1ZmZpY2llbnQg
cGVybWlzc2lvbnMgKFhhdXRob3JpdHkpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoHRvIGNvbm5lY3QgdG8gdGhlIFggRElTUExBWS4gwqAgSGVyZSBhcmUgc29t
ZSBUaXBzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgLSBPZnRlbiwgeW91IGp1c3QgbmVlZCB0
byBydW4geDExdm5jIGFzIHRoZSB1c2VyIGxvZ2dlZCBpbnRvIHRoZSBYIHNlc3Npb24uPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoFNvIG1ha2Ugc3VyZSB0byBi
ZSB0aGF0IHVzZXIgd2hlbiB5b3UgdHlwZSB4MTF2bmMuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoC0gQmVpbmcgcm9vdCBpcyB1c3VhbGx5IG5vdCBlbm91Z2ggYmVj
YXVzZSB0aGUgaW5jb3JyZWN0IE1JVC1NQUdJQy1DT09LSUU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgZmlsZSBtYXkgYmUgYWNjZXNzZWQuwqAgVGhlIGNvb2tp
ZSBmaWxlIGNvbnRhaW5zIHRoZSBzZWNyZXQga2V5IHRoYXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgYWxsb3dzIHgxMXZuYyB0byBjb25uZWN0IHRvIHRoZSBk
ZXNpcmVkIFggRElTUExBWS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgLSBZb3UgY2FuIGV4cGxpY2l0bHkgaW5kaWNhdGUgd2hpY2ggTUlULU1BR0lDLUNPT0tJRSBm
aWxlIHNob3VsZCBiZSB1c2VkPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoGJ5IHRoZSAtYXV0aCBvcHRpb24sIGUuZy46PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHgxMXZuYyAtYXV0aCAvaG9tZS9zb21ldXNlci8u
WGF1dGhvcml0eSAtZGlzcGxheSA6MDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgwqB4MTF2bmMgLWF1dGggL3RtcC8uZ2Rtem5kVmxSIC1kaXNwbGF5IDow
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoHlvdSBtdXN0IGhh
dmUgcmVhZCBwZXJtaXNzaW9uIGZvciB0aGUgYXV0aCBmaWxlLjxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBTZWUgYWxzbyAmIzM5Oy1hdXRoIGd1ZXNzJiMzOTsg
YW5kICYjMzk7LWZpbmRhdXRoJiMzOTsgZGlzY3Vzc2VkIGJlbG93Ljxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7ICoqIElmIE5PIE9ORSBpcyBsb2dnZWQgaW50byBhbiBYIHNlc3Npb24geWV0LCBidXQg
dGhlcmUgaXMgYSBncmVldGVyIGxvZ2luPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoHByb2dyYW0gbGlrZSAmcXVvdDtnZG0mcXVvdDssICZxdW90O2tkbSZxdW90
OywgJnF1b3Q7eGRtJnF1b3Q7LCBvciAmcXVvdDtkdGxvZ2luJnF1b3Q7IHJ1bm5pbmcsIHlvdSB3
aWxsIG5lZWQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdG8g
ZmluZCBhbmQgdXNlIHRoZSByYXcgZGlzcGxheSBtYW5hZ2VyIE1JVC1NQUdJQy1DT09LSUUgZmls
ZS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgU29tZSBleGFt
cGxlcyBmb3IgdmFyaW91cyBkaXNwbGF5IG1hbmFnZXJzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgZ2RtOiDCoCDCoCAtYXV0aCAvdmFyL2dkbS86MC5YYXV0aDxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgLWF1dGggL3Zh
ci9saWIvZ2RtLzowLlhhdXRoPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoGtkbTogwqAgwqAgLWF1dGggL3Zhci9saWIva2RtL0E6MC1jcldrNzI8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgIMKgIMKgIMKgIC1h
dXRoIC92YXIvcnVuL3hhdXRoL0E6MC1jcldrNzI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgeGRtOiDCoCDCoCAtYXV0aCAvdmFyL2xpYi94ZG0vYXV0aGRp
ci9hdXRoZmlsZXMvQTowLVhRdmFKazxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqBkdGxvZ2luOiAtYXV0aCAvdmFyL2R0L0E6MC1VZ2FhWGE8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoFNvbWV0aW1lcyB0aGUgY29tbWFuZCAmcXVvdDtwcyB3d3d3YXV4
IHwgZ3JlcCBhdXRoJnF1b3Q7IGNhbiByZXZlYWwgdGhlIGZpbGUgbG9jYXRpb24uPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqBTdGFydGluZyB3aXRoIHgxMXZuYyAwLjkuOSB5b3UgY2FuIGhh
dmUgaXQgdHJ5IHRvIGd1ZXNzIGJ5IHVzaW5nOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgIMKgIMKgIMKgIC1hdXRoIGd1ZXNzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAo
c2VlIGFsc28gdGhlIHgxMXZuYyAtZmluZGF1dGggb3B0aW9uLik8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoE9ubHkgcm9vdCB3aWxsIGhhdmUgcmVhZCBwZXJtaXNzaW9uIGZvciB0aGUgZmls
ZSwgYW5kIHNvIHgxMXZuYyBtdXN0IGJlIHJ1bjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqBhcyByb290IChvciBjb3B5IGl0KS7CoCBUaGUgcmFuZG9tIGNoYXJh
Y3RlcnMgaW4gdGhlIGZpbGVuYW1lcyB3aWxsIG9mIGNvdXJzZTxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBjaGFuZ2UgYW5kIHRoZSBkaXJlY3RvcnkgdGhlIGNv
b2tpZSBmaWxlIHJlc2lkZXMgaW4gaXMgc3lzdGVtIGRlcGVuZGVudC48YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyBTZWUgYWxzbzogPGEgaHJlZj0iaHR0cDovL3d3dy5rYXJscnVuZ2UuY29tL3gxMXZu
Yy9mYXEuaHRtbCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5r
YXJscnVuZ2UuY29tL3gxMXZuYy9mYXEuaHRtbDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBS
ZWdhcmRzLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVmlwdWwgS3Vt
YXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBPbiBUaHUsIE5vdiAzLCAyMDIyIGF0IDEwOjI3IFBN
IFZpcHVsIFN1bmVqYSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnZzdW5lamE2M0BnbWFpbC5jb20iIHRh
cmdldD0iX2JsYW5rIj52c3VuZWphNjNAZ21haWwuY29tPC9hPiZndDsgd3JvdGU6PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSGkgU3RlZmFubyw8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFRoYW5rcyE8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyBJIHVzZWQgeGVuLWd1ZXN0LWltYWdlLW1pbmltYWwoc2ltcGxlIGNvbnNvbGUg
YmFzZWQgaW1hZ2UpIGFzIGEgZ3Vlc3Qgd2l0aCBmYmNvbiAmYW1wOyBmYmRldiBlbmFibGVkIGlu
IGtlcm5lbDxicj4NCiZndDvCoCDCoCDCoCDCoGNvbmZpZ3VyYXRpb25zIGJ1dDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHN0aWxsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyB0aGUgc2FtZSBlcnJvciBjYW4mIzM5O3Qgb3BlbiB0aGUgZGlzcGxheS48
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGJlbG93IGFyZSB0aGUgb3V0
Y29tZSBvZiAmcXVvdDt4ZW5zdG9yZS1scyZxdW90Ozo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBy
b290QHJhc3BiZXJyeXBpNC02NDp+L2d1ZXN0MSMgeGVuc3RvcmUtbHM8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHRvb2wgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgeGVuc3RvcmVkID0gJnF1b3Q7JnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBsb2NhbCA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqBkb21haW4gPSAmcXVv
dDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIDAgPSAm
cXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
Y29udHJvbCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgZmVhdHVyZS1wb3dlcm9mZiA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIGZlYXR1cmUtcmVib290ID0gJnF1b3Q7
MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBkb21p
ZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgbmFtZSA9ICZxdW90O0RvbWFpbi0wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRldmljZS1tb2RlbCA9ICZxdW90OyZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMCA9ICZxdW90OyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBiYWNrZW5kcyA9
ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAgY29uc29sZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBxbmljID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0
YXRlID0gJnF1b3Q7cnVubmluZyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgMSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqBiYWNrZW5kcyA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgY29uc29sZSA9ICZxdW90OyZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmti
ZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgdmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCBxbmljID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7cnVubmluZyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBiYWNrZW5kID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCB2YmQgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgMSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgNTE3MTIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9j
YWwvZG9tYWluLzEvZGV2aWNlL3ZiZC81MTcxMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBwYXJhbXMgPSAmcXVvdDsvaG9tZS9yb290L2d1
ZXN0Mi94ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0MyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBzY3JpcHQg
PSAmcXVvdDsvZXRjL3hlbi9zY3JpcHRzL2Jsb2NrJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBvbmxp
bmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCDCoHJlbW92YWJsZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgYm9vdGFibGUgPSAmcXVvdDsxJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHN0YXRl
ID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqBkZXYgPSAmcXVvdDt4dmRhJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHR5cGUgPSAmcXVvdDtwaHkmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgbW9kZSA9ICZxdW90
O3cmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IMKgZGV2aWNlLXR5cGUgPSAmcXVvdDtkaXNrJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGRpc2NhcmQtZW5hYmxlID0gJnF1b3Q7MSZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0
dXJlLW1heC1pbmRpcmVjdC1zZWdtZW50cyA9ICZxdW90OzI1NiZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBtdWx0aS1xdWV1ZS1tYXgtcXVl
dWVzID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgwqBtYXgtcmluZy1wYWdlLW9yZGVyID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBub2RlID0gJnF1b3Q7
L2Rldi9sb29wMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqBwaHlzaWNhbC1kZXZpY2UgPSAmcXVvdDs3OjAmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcGh5c2ljYWwtZGV2aWNlLXBh
dGggPSAmcXVvdDsvZGV2L2xvb3AwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCDCoGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7Y29ubmVjdGVkJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZl
YXR1cmUtZmx1c2gtY2FjaGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGRpc2NhcmQtZ3JhbnVsYXJpdHkgPSAmcXVvdDs0
MDk2JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoGRpc2NhcmQtYWxpZ25tZW50ID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBkaXNjYXJkLXNlY3VyZSA9ICZxdW90OzAm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKg
ZmVhdHVyZS1kaXNjYXJkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLWJhcnJpZXIgPSAmcXVvdDsxJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1
cmUtcGVyc2lzdGVudCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgc2VjdG9ycyA9ICZxdW90OzE3OTQwNDgmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgaW5mbyA9ICZx
dW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgc2VjdG9yLXNpemUgPSAmcXVvdDs1MTImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcGh5c2ljYWwtc2VjdG9yLXNpemUgPSAmcXVv
dDs1MTImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IHZmYiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2Rv
bWFpbi8xL2RldmljZS92ZmIvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAgwqBmcm9udGVuZC1pZCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgb25saW5lID0gJnF1b3Q7
MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
wqBzdGF0ZSA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIMKgdm5jID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB2bmNsaXN0ZW4gPSAmcXVvdDsxMjcuMC4w
LjEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IMKgdm5jZGlzcGxheSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdm5jdW51c2VkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBzZGwgPSAmcXVvdDsw
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oG9wZW5nbCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1yZXNpemUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGhvdHBsdWctc3RhdHVz
ID0gJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCDCoHJlcXVlc3QtdXBkYXRlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAxID0gJnF1
b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8xL2RldmljZS92a2Jk
LzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IMKgZnJvbnRlbmQtaWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgc3RhdGUgPSAmcXVvdDs0
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oGZlYXR1cmUtYWJzLXBvaW50ZXIgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtcmF3LXBvaW50ZXIgPSAmcXVv
dDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBjb25zb2xlID0gJnF1b3Q7JnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoDEgPSAmcXVvdDsm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIDAg
PSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvY29uc29sZSZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmcm9udGVu
ZC1pZCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIMKgb25saW5lID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBzdGF0ZSA9ICZxdW90OzEmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcHJvdG9jb2wg
PSAmcXVvdDt2dDEwMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgdmlmID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoDEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsv
bG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZpZi8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBvbmxpbmUg
PSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBzY3JpcHQgPSAmcXVvdDsvZXRjL3hlbi9zY3JpcHRz
L3ZpZi1icmlkZ2UmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgIMKgbWFjID0gJnF1b3Q7ZTQ6NWY6MDE6Y2Q6N2I6ZGQmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgYnJpZGdlID0gJnF1b3Q7
eGVuYnIwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCDCoGhhbmRsZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdHlwZSA9ICZxdW90O3ZpZiZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBob3RwbHVnLXN0YXR1cyA9
ICZxdW90O2Nvbm5lY3RlZCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLXNnID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLWdzby10Y3B2NCA9
ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIMKgZmVhdHVyZS1nc28tdGNwdjYgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtaXB2Ni1jc3VtLW9m
ZmxvYWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtcngtY29weSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS14ZHAtaGVh
ZHJvb20gPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtcngtZmxpcCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1tdWx0aWNh
c3QtY29udHJvbCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1keW5hbWljLW11bHRpY2FzdC1jb250cm9sID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAgwqBmZWF0dXJlLXNwbGl0LWV2ZW50LWNoYW5uZWxzID0gJnF1b3Q7MSZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBtdWx0aS1xdWV1
ZS1tYXgtcXVldWVzID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLWN0cmwtcmluZyA9ICZxdW90OzEmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIDEgPSAmcXVvdDsmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdm0gPSAmcXVv
dDsvdm0vZDgxZWM1YTktNWJmOS00ZjJiLTg5ZTgtMGY2MGQ2ZGE5NDhmJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoG5hbWUgPSAmcXVvdDtndWVzdDIm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgY3B1ID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoGF2YWlsYWJpbGl0eSA9ICZxdW90O29ubGluZSZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMSA9ICZxdW90OyZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBhdmFpbGFiaWxpdHkgPSAm
cXVvdDtvbmxpbmUmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgbWVtb3J5ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCBzdGF0aWMtbWF4ID0gJnF1b3Q7MjA5NzE1MiZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdGFyZ2V0ID0gJnF1b3Q7MjA5
NzE1MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
dmlkZW9yYW0gPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoGRldmljZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgc3VzcGVuZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBldmVudC1jaGFubmVsID0gJnF1
b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB2
YmQgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgNTE3MTIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzAvYmFj
a2VuZC92YmQvMS81MTcxMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgYmFja2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmlydHVhbC1k
ZXZpY2UgPSAmcXVvdDs1MTcxMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAgZGV2aWNlLXR5cGUgPSAmcXVvdDtkaXNrJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBtdWx0aS1xdWV1ZS1udW0t
cXVldWVzID0gJnF1b3Q7MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgcXVldWUtMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqByaW5nLXJlZiA9ICZxdW90OzgmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZlbnQt
Y2hhbm5lbCA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIHF1ZXVlLTEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcmluZy1yZWYgPSAmcXVvdDs5JnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGV2ZW50
LWNoYW5uZWwgPSAmcXVvdDs1JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCBwcm90b2NvbCA9ICZxdW90O2FybS1hYmkmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtcGVyc2lzdGVu
dCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIHZmYiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBiYWNrZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8w
L2JhY2tlbmQvdmZiLzEvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgYmFja2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgcGFnZS1yZWYg
PSAmcXVvdDsyNzUwMjImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIGV2ZW50LWNoYW5uZWwgPSAmcXVvdDszJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBwcm90b2NvbCA9ICZxdW90O2FybS1h
YmkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IGZlYXR1cmUtdXBkYXRlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBiYWNrZW5kID0gJnF1b3Q7
L2xvY2FsL2RvbWFpbi8wL2JhY2tlbmQvdmtiZC8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGJhY2tlbmQtaWQgPSAmcXVvdDswJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBzdGF0ZSA9
ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIHJlcXVlc3QtYWJzLXBvaW50ZXIgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBwYWdlLXJlZiA9ICZxdW90OzI3NTMy
MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
cGFnZS1ncmVmID0gJnF1b3Q7MTI4NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgZXZlbnQtY2hhbm5lbCA9ICZxdW90OzEwJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB2aWYgPSAmcXVvdDsmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgMCA9ICZx
dW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqAgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3ZpZi8xLzAmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGJhY2tlbmQt
aWQgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCBzdGF0ZSA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGhhbmRsZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIG1hYyA9ICZxdW90O2U0OjVm
OjAxOmNkOjdiOmRkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCBtdHUgPSAmcXVvdDsxNTAwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCB4ZHAtaGVhZHJvb20gPSAmcXVvdDswJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBtdWx0aS1xdWV1
ZS1udW0tcXVldWVzID0gJnF1b3Q7MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgcXVldWUtMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB0eC1yaW5nLXJlZiA9ICZxdW90
OzEyODAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgcngtcmluZy1yZWYgPSAmcXVvdDsxMjgxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGV2ZW50LWNoYW5uZWwtdHggPSAmcXVvdDs2
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oGV2ZW50LWNoYW5uZWwtcnggPSAmcXVvdDs3JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBxdWV1ZS0xID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHR4LXJpbmctcmVmID0g
JnF1b3Q7MTI4MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqByeC1yaW5nLXJlZiA9ICZxdW90OzEyODMmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZlbnQtY2hhbm5lbC10eCA9ICZx
dW90OzgmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgZXZlbnQtY2hhbm5lbC1yeCA9ICZxdW90OzkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHJlcXVlc3QtcngtY29weSA9ICZxdW90OzEm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGZl
YXR1cmUtcngtbm90aWZ5ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgZmVhdHVyZS1zZyA9ICZxdW90OzEmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtZ3NvLXRj
cHY0ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgZmVhdHVyZS1nc28tdGNwdjYgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBmZWF0dXJlLWlwdjYtY3N1bS1v
ZmZsb2FkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqBjb250cm9sID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBzaHV0ZG93biA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgZmVhdHVyZS1wb3dlcm9mZiA9ICZx
dW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IGZlYXR1cmUtcmVib290ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgZmVhdHVyZS1zdXNwZW5kID0gJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBzeXNycSA9ICZxdW90OyZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgcGxhdGZv
cm0tZmVhdHVyZS1tdWx0aXByb2Nlc3Nvci1zdXNwZW5kID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgcGxhdGZvcm0tZmVhdHVyZS14
c19yZXNldF93YXRjaGVzID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqBkYXRhID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRyaXZlcnMgPSAmcXVvdDsmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgZmVhdHVyZSA9ICZxdW90OyZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBhdHRyID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oGVycm9yID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoGRvbWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqBzdG9yZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgcG9ydCA9ICZxdW90OzEmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHJpbmctcmVmID0gJnF1b3Q7
MjMzNDczJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oGNvbnNvbGUgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzAvYmFja2VuZC9jb25z
b2xlLzEvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgYmFja2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIGxpbWl0ID0gJnF1b3Q7MTA0ODU3NiZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdHlwZSA9ICZxdW90O3hlbmNvbnNv
bGVkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBv
dXRwdXQgPSAmcXVvdDtwdHkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIHR0eSA9ICZxdW90Oy9kZXYvcHRzLzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHBvcnQgPSAmcXVvdDsyJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCByaW5nLXJlZiA9ICZxdW90
OzIzMzQ3MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgdm5jLWxpc3RlbiA9ICZxdW90OzEyNy4wLjAuMSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdm5jLXBvcnQgPSAmcXVvdDs1OTAwJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGltYWdlID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBkZXZp
Y2UtbW9kZWwtcGlkID0gJnF1b3Q7Nzg4JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyB2bSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqBkODFlYzVhOS01YmY5LTRmMmItODllOC0wZjYwZDZkYTk0OGYgPSAm
cXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIG5h
bWUgPSAmcXVvdDtndWVzdDImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIHV1aWQgPSAmcXVvdDtkODFlYzVhOS01YmY5LTRmMmItODllOC0wZjYwZDZkYTk0
OGYmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIHN0YXJ0
X3RpbWUgPSAmcXVvdDsxNTIwNjAwMjc0LjI3JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyBsaWJ4bCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCBkZXZpY2UgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdmJkID0gJnF1b3Q7JnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCA1MTcxMiA9ICZxdW90
OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBm
cm9udGVuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMS9kZXZpY2UvdmJkLzUxNzEyJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGJhY2tlbmQgPSAm
cXVvdDsvbG9jYWwvZG9tYWluLzAvYmFja2VuZC92YmQvMS81MTcxMiZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBwYXJhbXMgPSAmcXVvdDsvaG9t
ZS9yb290L2d1ZXN0Mi94ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0
MyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBz
Y3JpcHQgPSAmcXVvdDsvZXRjL3hlbi9zY3JpcHRzL2Jsb2NrJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxp
bmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoHJlbW92YWJsZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgYm9vdGFibGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7
MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBk
ZXYgPSAmcXVvdDt4dmRhJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoHR5cGUgPSAmcXVvdDtwaHkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgbW9kZSA9ICZxdW90O3cmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZGV2aWNlLXR5cGUgPSAmcXVv
dDtkaXNrJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoGRpc2NhcmQtZW5hYmxlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqB2ZmIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsv
bG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZmYi8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzAv
YmFja2VuZC92ZmIvMS8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1
b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqB2bmMgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoHZuY2xpc3RlbiA9ICZxdW90OzEyNy4wLjAuMSZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB2bmNkaXNwbGF5ID0gJnF1b3Q7
MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB2
bmN1bnVzZWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoHNkbCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgb3BlbmdsID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqB2a2JkID0gJnF1b3Q7JnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCAwID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZy
b250ZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8xL2RldmljZS92a2JkLzAmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgYmFja2VuZCA9ICZxdW90
Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3ZrYmQvMS8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxpbmUg
PSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoHN0YXRlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqBjb25zb2xlID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xv
Y2FsL2RvbWFpbi8xL2NvbnNvbGUmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5k
L2NvbnNvbGUvMS8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7
MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBw
cm90b2NvbCA9ICZxdW90O3Z0MTAwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoHZpZiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBmcm9udGVuZCA9ICZxdW90Oy9sb2NhbC9k
b21haW4vMS9kZXZpY2UvdmlmLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5k
L3ZpZi8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgZnJvbnRlbmQtaWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgc3RhdGUgPSAmcXVvdDsxJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHNjcmlw
dCA9ICZxdW90Oy9ldGMveGVuL3NjcmlwdHMvdmlmLWJyaWRnZSZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBtYWMgPSAmcXVvdDtlNDo1ZjowMTpj
ZDo3YjpkZCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqBicmlkZ2UgPSAmcXVvdDt4ZW5icjAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgaGFuZGxlID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB0eXBlID0gJnF1b3Q7dmlmJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGhvdHBs
dWctc3RhdHVzID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCB0eXBlID0gJnF1b3Q7cHZoJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCBkbS12ZXJzaW9uID0gJnF1b3Q7cWVtdV94ZW4mcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0
On4vZ3Vlc3QxIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFueSBpbnB1dCBhcyBwZXIgYWJvdmU/
IExvb2tpbmcgZm9yd2FyZCB0byBoZWFyaW5nIGZyb20geW91Ljxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1
bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIFdlZCwgT2N0IDI2LCAyMDIyIGF0IDU6
MjEgQU0gU3RlZmFubyBTdGFiZWxsaW5pICZsdDs8YSBocmVmPSJtYWlsdG86c3N0YWJlbGxpbmlA
a2VybmVsLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNzdGFiZWxsaW5pQGtlcm5lbC5vcmc8L2E+Jmd0
OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBIaSBWaXB1bCw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSWYgeW91IGxvb2sg
YXQgdGhlIFFFTVUgbG9ncywgaXQgc2F5czo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgVk5DIHNlcnZlciBydW5uaW5nIG9uIDxhIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjE6NTkwMCIg
cmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+MTI3LjAuMC4xOjU5MDA8L2E+PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFRoYXQgaXMgdGhlIFZOQyBzZXJ2ZXIgeW91IG5l
ZWQgdG8gY29ubmVjdCB0by4gU28gaW4gdGhlb3J5Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqDCoCB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo1OTAwIiByZWw9
Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6NTkwMDwvYT48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgc2hvdWxkIHdvcmsgY29ycmVjdGx5Ljxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgSWYgeW91IGhhdmU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgIHZm
YiA9IFsmcXVvdDt0eXBlPXZuYyZxdW90O108YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgaW4geW91ciB4bCBjb25maWcgZmlsZSBhbmQgeW91IGhhdmUgJnF1b3Q7ZmJkZXYmcXVvdDsg
aW4geW91ciBMaW51eCBndWVzdCwgaXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBzaG91bGQgd29yay48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgSWYgeW91IGNvbm5lY3QgdG8gdGhlIFZOQyBzZXJ2ZXIgYnV0IHlvdSBnZXQgYSBibGFj
ayBzY3JlZW4sIGl0IG1pZ2h0IGJlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgYSBndWVzdCBjb25maWd1cmF0aW9uIGlzc3VlLiBJIHdvdWxkIHRyeSB3
aXRoIGEgc2ltcGxlciBndWVzdCwgdGV4dCBvbmx5PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgKG5vIFgxMSwgbm8gV2F5bGFuZCkgYW5kIGVuYWJsZSB0
aGUgZmJkZXYgY29uc29sZSAoZmJjb24pLiBTZWU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBEb2N1bWVudGF0aW9uL2ZiL2ZiY29uLnJzdCBpbiBMaW51
eC4gWW91IHNob3VsZCBiZSBhYmxlIHRvIHNlZSBhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZ3JhcGhpY2FsIGNvbnNvbGUgb3ZlciBWTkMuPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoElmIHRoYXQgd29ya3MsIHRoZW4geW91IGtub3cg
dGhhdCB0aGUgZmJkZXYga2VybmVsIGRyaXZlciAoeGVuLWZiZnJvbnQpPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgd29ya3MgY29ycmVjdGx5Ljxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJZiBpdCBkb2VzbiYjMzk7dCB3b3JrLCB0aGUg
b3V0cHV0IG9mICZxdW90O3hlbnN0b3JlLWxzJnF1b3Q7IHdvdWxkIGJlIGludGVyZXN0aW5nLjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoFN0ZWZhbm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoE9uIFdlZCwgMTkgT2N0IDIw
MjIsIFZpcHVsIFN1bmVqYSB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEhpIFN0ZWZhbm8sPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVGhhbmtzIGZvciB0aGUgcmVzcG9uc2UhPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSSBhbSBm
b2xsb3dpbmcgdGhlIHNhbWUgbGluayB5b3Ugc2hhcmVkIGZyb20gdGhlIGJlZ2lubmluZy4gVHJp
ZWQgdGhlIGNvbW1hbmQgJnF1b3Q7dm5jdmlld2VyIGxvY2FsaG9zdDowJnF1b3Q7IGluIERPTTA8
YnI+DQomZ3Q7wqAgwqAgwqAgwqBidXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBzYW1lPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
aXNzdWUgJnF1b3Q7Q2FuJiMzOTt0IG9wZW48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGRpc3BsYXkmcXVvdDssIGJlbG93IGFyZSB0aGUgbG9n
czo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBy
b290QHJhc3BiZXJyeXBpNC02NDp+IyB2bmN2aWV3ZXIgbG9jYWxob3N0OjA8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaWdlclZOQyBWaWV3ZXIg
NjQtYml0IHYxLjExLjA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IEJ1aWx0IG9uOiAyMDIwLTA5LTA4IDEyOjE2PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBDb3B5cmlnaHQgKEMpIDE5OTkt
MjAyMCBUaWdlclZOQyBUZWFtIGFuZCBtYW55IG90aGVycyAoc2VlIFJFQURNRS5yc3QpPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBTZWUgPGEg
aHJlZj0iaHR0cHM6Ly93d3cudGlnZXJ2bmMub3JnIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0i
X2JsYW5rIj5odHRwczovL3d3dy50aWdlcnZuYy5vcmc8L2E+IGZvciBpbmZvcm1hdGlvbiBvbiBU
aWdlclZOQy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IENhbiYjMzk7dCBvcGVuIGRpc3BsYXk6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgQmVsb3cgYXJlIHRoZSBuZXRzdGF0IGxvZ3MsIGkg
Y291bGRuJiMzOTt0IHNlZSBhbnl0aGluZyBydW5uaW5nIGF0IHBvcnQgNTkwMCBvciA1OTAxOjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RA
cmFzcGJlcnJ5cGk0LTY0On4jIG5ldHN0YXQgLXR1d3g8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFjdGl2ZSBJbnRlcm5ldCBjb25uZWN0aW9u
cyAody9vIHNlcnZlcnMpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyBQcm90byBSZWN2LVEgU2VuZC1RIExvY2FsIEFkZHJlc3MgwqAgwqAgwqAg
wqAgwqAgRm9yZWlnbiBBZGRyZXNzIMKgIMKgIMKgIMKgIFN0YXRlIMKgIMKgIMKgPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB0Y3AgwqAgwqAg
wqAgwqAwIMKgIMKgMTY0IDE5Mi4xNjguMS4zOTpzc2ggwqAgwqAgwqAgwqA8YSBocmVmPSJodHRw
Oi8vMTkyLjE2OC4xLjM4OjM3NDcyIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4x
OTIuMTY4LjEuMzg6Mzc0NzI8L2E+IMKgIMKgIMKgRVNUQUJMSVNIRUQ8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFjdGl2ZSBVTklYIGRvbWFp
biBzb2NrZXRzICh3L28gc2VydmVycyk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFByb3RvIFJlZkNudCBGbGFncyDCoCDCoCDCoCBUeXBlIMKg
IMKgIMKgIFN0YXRlIMKgIMKgIMKgIMKgIEktTm9kZSBQYXRoPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgOCDCoCDCoCDCoFsgXSDC
oCDCoCDCoCDCoCBER1JBTSDCoCDCoCDCoENPTk5FQ1RFRCDCoCDCoCDCoDEwNTY1IC9kZXYvbG9n
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1
bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKg
IMKgIMKgMTA4OTEgL3Zhci9ydW4veGVuc3RvcmVkL3NvY2tldDxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0g
wqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEzNzkxPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDC
oCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA4
NDMgL3Zhci9ydW4veGVuc3RvcmVkL3NvY2tldDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAg
wqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwNTczIC92YXIvcnVuL3hlbnN0b3Jl
ZC9zb2NrZXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09O
TkVDVEVEIMKgIMKgIMKgMTQ1MTA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVB
TSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMzI0OTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDIgwqAgwqAgwqBbIF0gwqAgwqAg
wqAgwqAgREdSQU0gwqAgwqAgwqBDT05ORUNURUQgwqAgwqAgwqAxMzg4Nzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDIgwqAgwqAg
wqBbIF0gwqAgwqAgwqAgwqAgREdSQU0gwqAgwqAgwqBDT05ORUNURUQgwqAgwqAgwqAxMDU5OTxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5p
eCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDC
oCDCoDE0MDA1PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09O
TkVDVEVEIMKgIMKgIMKgMTMyNTg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVB
TSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMzI0ODxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAg
wqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDE0MDAzPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDC
oFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA1NzIgL3Zh
ci9ydW4veGVuc3RvcmVkL3NvY2tldDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RS
RUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwNzg2IC92YXIvcnVuL3hlbnN0b3JlZC9zb2Nr
ZXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVE
IMKgIMKgIMKgMTMxODY8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDC
oCBDT05ORUNURUQgwqAgwqAgwqAxMDg2NCAvdmFyL3J1bi94ZW5zdG9yZWQvc29ja2V0PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKg
MyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKg
MTA4MTIgL3Zhci9ydW4veGVuc3RvcmVkL3NvY2tldDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDIgwqAgwqAgwqBbIF0gwqAgwqAg
wqAgwqAgREdSQU0gwqAgwqAgwqBDT05ORUNURUQgwqAgwqAgwqAxNDA4Mzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAg
wqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwODEzIC92
YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNU
UkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxNDA2ODxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAg
wqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEzMjU2PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDC
oCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA1NzEg
L3Zhci9ydW4veGVuc3RvcmVkL3NvY2tldDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAg
U1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwODQyPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDC
oCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTM5ODU8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKg
IMKgIMKgWyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKgMTMx
ODU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IHVuaXggwqAyIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQg
wqAgwqAgwqAxMzg4NDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgdW5peCDCoDIgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgREdSQU0gwqAgwqAg
wqBDT05ORUNURUQgwqAgwqAgwqAxNDUyODxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDIgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAg
REdSQU0gwqAgwqAgwqBDT05ORUNURUQgwqAgwqAgwqAxMzc4NTxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0g
wqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDE0MDM0PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgQXR0YWNoaW5nIHhl
biBsb2cgZmlsZXMgb2YgL3Zhci9sb2cveGVuLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSSBkaWRuJiMzOTt0IGdldCB0aGUgcm9sZSBvZiBR
RU1VIGhlcmUgYmVjYXVzZSBhcyBtZW50aW9uZWQgZWFybGllciwgSSBhbSBwb3J0aW5nIGluIHJh
c3BiZXJyeXBpIDRCLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIFdlZCwgT2N0IDE5LCAyMDIyIGF0IDEyOjQzIEFN
IFN0ZWZhbm8gU3RhYmVsbGluaSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNzdGFiZWxsaW5pQGtlcm5l
bC5vcmciIHRhcmdldD0iX2JsYW5rIj5zc3RhYmVsbGluaUBrZXJuZWwub3JnPC9hPiZndDsgd3Jv
dGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgSXQgdXN1YWxseSB3b3JrcyB0aGUgd2F5IGl0IGlzIGRlc2NyaWJlZCBpbiB0
aGUgZ3VpZGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDC
oMKgwqDCoDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZpcnR1YXRvcGlhLmNvbS9pbmRleC5waHA/dGl0
bGU9Q29uZmlndXJpbmdfYV9WTkNfYmFzZWRfR3JhcGhpY2FsX0NvbnNvbGVfZm9yX2FfWGVuX1Bh
cmF2aXJ0dWFsaXplZF9kb21haW5VX0d1ZXN0IiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2Js
YW5rIj5odHRwczovL3d3dy52aXJ0dWF0b3BpYS5jb20vaW5kZXgucGhwP3RpdGxlPUNvbmZpZ3Vy
aW5nX2FfVk5DX2Jhc2VkX0dyYXBoaWNhbF9Db25zb2xlX2Zvcl9hX1hlbl9QYXJhdmlydHVhbGl6
ZWRfZG9tYWluVV9HdWVzdDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgWW91IGRvbiYjMzk7dCBuZWVkIHRvIGluc3RhbGwg
YW55IFZOQy1yZWxhdGVkIHNlcnZlciBzb2Z0d2FyZSBiZWNhdXNlIGl0IGlzPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYWxy
ZWFkeSBwcm92aWRlZCBieSBYZW4gKHRvIGJlIHByZWNpc2UgaXQgaXMgcHJvdmlkZWQgYnkgUUVN
VSB3b3JraW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgdG9nZXRoZXIgd2l0aCBYZW4uKTxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBZb3Ugb25seSBuZWVk
IHRoZSB2bmMgY2xpZW50IGluIGRvbTAgc28gdGhhdCB5b3UgY2FuIGNvbm5lY3QsIGJ1dCB5b3U8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqBjb3VsZCBhbHNvIHJ1biB0aGUgdm5jIGNsaWVudCBvdXRzaWRlIGZyb20gYW5vdGhl
ciBob3N0LiBTbyBiYXNpY2FsbHk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB0aGUgZm9sbG93aW5nIHNob3VsZCB3b3JrIHdo
ZW4gZXhlY3V0ZWQgaW4gRG9tMCBhZnRlciBjcmVhdGluZyBEb21VOjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoCB2bmN2aWV3
ZXIgbG9jYWxob3N0OjA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgQ2FuIHlvdSBhdHRhY2ggdGhlIFhlbiBhbmQgUUVNVSBsb2dz
ICgvdmFyL2xvZy94ZW4vKik/IEFuZCBhbHNvIHVzZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoG5ldHN0YXQgLXRhdW5wIHRv
IGNoZWNrIGlmIHRoZXJlIGlzIGFueXRoaW5nIHJ1bm5pbmcgYXQgcG9ydCA1OTAwIG9yPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgNTkwMT88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgQ2hlZXJzLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBTdGVmYW5vPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBPbiBUdWUsIDE4IE9jdCAy
MDIyLCBWaXB1bCBTdW5lamEgd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBIaSBTdGVmYW5vLDxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IFRoYW5rcyBmb3IgdGhlIHJlc3BvbnNlITxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IEkgY291bGQgaW5zdGFsbCB0aWdlclZOQywgeDExdm5jICZhbXA7IGxpYnZu
Y3NlcnZlciBpbiBEb20wIHhlbi1pbWFnZS1taW5pbWFsIGJ1dCBvbmx5IG1hbmFnZSB0byBpbnN0
YWxsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgbGli
dm5jc2VydmVyKGNvdWxkbiYjMzk7dDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGluc3RhbGwgdGlnZXJ2bmM8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7ICZhbXA7IHgxMXZuYyBiZWNhdXNlIG9mIHgxMTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgc3VwcG9ydCBtaXNz
aW5nLCBpdCYjMzk7cyB3YXlsYW5kKSBpbiBET01VIGN1c3RvbSBncmFwaGljYWwgaW1hZ2UuIEkg
dHJpZWQgcnVubmluZyB2bmN2aWV3ZXIgd2l0aCBJUDxicj4NCiZndDvCoCDCoCDCoCDCoGFkZHJl
c3MgJmFtcDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBwb3J0PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgaW4gZG9tMCB0bzxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoGFjY2VzcyB0aGUgZG9tdTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgZ3JhcGhpY2FsIGltYWdlIGRpc3BsYXkg
YXMgcGVyIGJlbG93IGNvbW1hbmRzLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqA8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgdm5j
dmlld2VyIDxhIGhyZWY9Imh0dHA6Ly8xOTIuMTY4LjEuNDI6NTkwMSIgcmVsPSJub3JlZmVycmVy
IiB0YXJnZXQ9Il9ibGFuayI+MTkyLjE2OC4xLjQyOjU5MDE8L2E+PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoDxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqBCdXQgaXQgc2hvd2luZyBjYW4mIzM5O3Qgb3BlbiBkaXNwbGF5LCBiZWxv
dyBhcmUgdGhlIGxvZ3M6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVy
cnlwaTQtNjQ6fi9ndWVzdDEjIHZuY3ZpZXdlciA8YSBocmVmPSJodHRwOi8vMTkyLjE2OC4xLjQy
OjU5MDEiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjE5Mi4xNjguMS40Mjo1OTAx
PC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFRpZ2VyVk5DIFZpZXdlciA2NC1iaXQgdjEu
MTEuMDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgQnVpbHQgb246IDIwMjAtMDktMDggMTI6MTY8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IENvcHlyaWdodCAoQykgMTk5OS0yMDIwIFRpZ2VyVk5DIFRlYW0gYW5kIG1hbnkgb3RoZXJzIChz
ZWUgUkVBRE1FLnJzdCk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFNlZSA8YSBocmVmPSJodHRwczovL3d3dy50aWdl
cnZuYy5vcmciIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3LnRp
Z2Vydm5jLm9yZzwvYT4gZm9yIGluZm9ybWF0aW9uIG9uIFRpZ2VyVk5DLjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
Q2FuJiMzOTt0IG9wZW4gZGlzcGxheTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0
On4vZ3Vlc3QxIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEkgYW0gbm90IGV4YWN0bHnCoHN1
cmUgd2hhdCB0aGUgaXNzdWUgaXMgYnV0IEkgdGhvdWdodCBvbmx5IGxpYnZuY3NlcnZlciBpbiBE
T01VIGNvdWxkIHdvcmsgdG8gZ2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgYWNjZXNzIGJ1dDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGl0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZGlkIG5vdDxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHdvcmsuwqA8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IElmIFRpZ2VyVk5DIGlzIHRoZSBpc3N1ZSBoZXJlIHRoZW4gaXMgdGhlcmUgYW55IG90
aGVyIFZOQyBzb3VyY2Ugd2hpY2ggY291bGQgYmUgaW5zdGFsbGVkIGZvciBib3RoPGJyPg0KJmd0
O8KgIMKgIMKgIMKgeDExICZhbXA7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgd2F5bGFuZCBzdXBwb3J0ZWQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBpbWFnZXM/PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgUmVnYXJkcyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFZpcHVsIEt1bWFyPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgT24gVHVlLCBPY3QgMTgsIDIwMjIgYXQgMjo0MCBBTSBTdGVm
YW5vIFN0YWJlbGxpbmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwub3Jn
IiB0YXJnZXQ9Il9ibGFuayI+c3N0YWJlbGxpbmlAa2VybmVsLm9yZzwvYT4mZ3Q7IHdyb3RlOjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoFZOQyBpcyB0eXBpY2FsbHkgZWFzaWVyIHRvIHNldHVwLCBi
ZWNhdXNlIFNETCBuZWVkcyBleHRyYSBsaWJyYXJpZXMgYXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBidWlsZCB0aW1lIGFuZCBydW50aW1lLiBJZiBRRU1VIGlzIGJ1aWx0IHdpdGhvdXQgU0RMIHN1
cHBvcnQgaXQgd29uJiMzOTt0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgc3RhcnQgd2hlbiB5b3Ug
YXNrIGZvciBTREwuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFZOQyBzaG91
bGQgd29yayB3aXRoIGJvdGggeDExIGFuZCB3YXlsYW5kIGluIHlvdXIgZG9tVS4gSXQgZG9lc24m
IzM5O3Qgd29yazxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGF0IHRoZSB4MTEgbGV2ZWwsIGl0IGV4
cG9zZXMgYSBzcGVjaWFsIGZiZGV2IGRldmljZSBpbiB5b3VyIGRvbVUgdGhhdDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoHNob3VsZCB3b3JrIHdpdGg6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgLSBh
IGdyYXBoaWNhbCBjb25zb2xlIGluIExpbnV4IGRvbVU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAt
IHgxMTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoC0gd2F5bGFuZCAoYnV0IEkgaGF2ZW4mIzM5O3Qg
dGVzdGVkIHRoaXMgc28gSSBhbSBub3QgMTAwJSBzdXJlIGFib3V0IGl0KTxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBXaGVuIHlvdSBzYXkgJnF1b3Q7aXQgZG9lc24mIzM5O3Qg
d29yayZxdW90Oywgd2hhdCBkbyB5b3UgbWVhbj8gRG8geW91IGdldCBhIGJsYWNrPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgd2luZG93Pzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBZb3UgbmVlZCBDT05GSUdfWEVOX0ZCREVWX0ZST05URU5EIGluIExpbnV4IGRvbVU8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAoZHJpdmVycy92aWRlby9mYmRldi94ZW4tZmJmcm9udC5jKS4gSSB3
b3VsZCB0cnkgdG8gZ2V0IGEgZ3JhcGhpY2FsIHRleHQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBj
b25zb2xlIHVwIGFuZCBydW5uaW5nIGluIHlvdXIgZG9tVSBiZWZvcmUgYXR0ZW1wdGluZyB4MTEv
d2F5bGFuZC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgQ2hlZXJzLDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBTdGVmYW5vPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoE9uIE1vbiwgMTcgT2N0IDIwMjIsIFZpcHVsIFN1bmVqYSB3cm90
ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEhpLDxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgVGhhbmtzITxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IEkgaGF2ZSBwb3J0ZWQgeGVuIG1pbmltYWwgaW1hZ2UgYXMgRE9NMCAmYW1w
OyBjdXN0b20gd2F5bGFuZCBHVUkgYmFzZWQgaW1hZ2UgYXMgRE9NVSBpbiByYXNwYmVycnk8YnI+
DQomZ3Q7wqAgwqAgwqAgwqBwaTRCLiBJPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgYW0gdHJ5aW5nIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgbWFrZSBHVUk8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqBkaXNwbGF5IHVwPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBmb3LC
oGd1ZXN0IG1hY2hpbmUuIEkgdHJpZWQgdXNpbmfCoHNkbCwgaW5jbHVkZWQgYmVsb3cgbGluZSBp
biBndWVzdC5jb25mIGZpbGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHZmYj0gWyAmIzM5
O3NkbD0xJiMzOTsgXTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IEJ1dCBpdCBpcyB0aHJvd2luZyBiZWxvdyBlcnJvcjo8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJy
eXBpNC02NDp+L2d1ZXN0MSMgeGwgY3JlYXRlIC1jIGd1ZXN0MS5jZmc8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IFBhcnNpbmcgY29uZmlnIGZyb20gZ3Vlc3QxLmNmZzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9xbXAuYzoxNDAwOnFtcF9ldl9mZF9j
YWxsYmFjazogRG9tYWluIDM6ZXJyb3Igb24gUU1QIHNvY2tldDogQ29ubmVjdGlvbjxicj4NCiZn
dDvCoCDCoCDCoCDCoHJlc2V0IGJ5PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgcGVlcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVy
cm9yOiBsaWJ4bF9xbXAuYzoxNDM5OnFtcF9ldl9mZF9jYWxsYmFjazogRG9tYWluIDM6RXJyb3Ig
aGFwcGVuZWQgd2l0aCB0aGUgUU1QPGJyPg0KJmd0O8KgIMKgIMKgIMKgY29ubmVjdGlvbiB0bzxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFFFTVU8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxpYnhsOiBlcnJvcjogbGlieGxfZG0uYzozMzUxOmRl
dmljZV9tb2RlbF9wb3N0Y29uZmlnX2RvbmU6IERvbWFpbiAzOlBvc3QgRE0gc3RhcnR1cCBjb25m
aWdzPGJyPg0KJmd0O8KgIMKgIMKgIMKgZmFpbGVkLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHJjPS0yNjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgbGlieGw6IGVycm9yOiBsaWJ4bF9jcmVhdGUuYzoxODY3OmRvbWNyZWF0ZV9kZXZtb2RlbF9z
dGFydGVkOiBEb21haW4gMzpkZXZpY2UgbW9kZWwgZGlkIG5vdDxicj4NCiZndDvCoCDCoCDCoCDC
oHN0YXJ0Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoC0yNjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9hb3V0aWxzLmM6NjQ2OmxpYnhs
X19raWxsX3hzX3BhdGg6IERldmljZSBNb2RlbCBhbHJlYWR5IGV4aXRlZDxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9kb21haW4uYzoxMTgzOmxpYnhsX19k
ZXN0cm95X2RvbWlkOiBEb21haW4gMzpOb24tZXhpc3RhbnQgZG9tYWluPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyBsaWJ4bDogZXJyb3I6IGxpYnhsX2RvbWFpbi5jOjExMzc6ZG9tYWluX2Rl
c3Ryb3lfY2FsbGJhY2s6IERvbWFpbiAzOlVuYWJsZSB0byBkZXN0cm95IGd1ZXN0PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBsaWJ4bDogZXJyb3I6IGxpYnhsX2RvbWFpbi5jOjEwNjQ6ZG9t
YWluX2Rlc3Ryb3lfY2I6IERvbWFpbiAzOkRlc3RydWN0aW9uIG9mIGRvbWFpbiBmYWlsZWQ8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBBbm90
aGVyIHdheSBpcyBWTkMsIGkgY291bGQgaW5zdGFsbCB0aWdlcnZuYyBpbiBET00wIGJ1dCBzYW1l
IGkgY291bGRuJiMzOTt0IGluIGd1ZXN0IG1hY2hpbmU8YnI+DQomZ3Q7wqAgwqAgwqAgwqBiZWNh
dXNlIGl0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
ZG9lc24mIzM5O3Qgc3VwcG9ydDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHgxMShzdXBwb3J0cyB3
YXlsYW5kPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBvbmx5KS4gSSBhbSBjb21wbGV0ZWx5
IGJsb2NrZWQgaGVyZSwgTmVlZCB5b3VyIHN1cHBvcnQgdG8gZW5hYmxlIHRoZSBkaXNwbGF5IHVw
Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgQW55IGFsdGVybmF0aXZlIG9mIFZOQyB3aGlj
aCBjb3VsZCB3b3JrIGluIGJvdGggeDExICZhbXA7IHdheWxhbmQgc3VwcG9ydGVkIGltYWdlcz88
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBB
bnkgaW5wdXQgb24gVk5DLCBTREwgb3IgYW55IG90aGVyIHdheSB0byBwcm9jZWVkIG9uIHRoaXM/
IExvb2tpbmcgZm9yd2FyZCB0byBoZWFyaW5nIGZyb208YnI+DQomZ3Q7wqAgwqAgwqAgwqB5b3Uu
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
UmVnYXJkcyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFZpcHVsIEt1bWFyPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0
OyA8YnI+DQomZ3Q7IDxicj4NCiZndDsgPC9ibG9ja3F1b3RlPjwvZGl2Pg0K
--0000000000009896a005ef7cbba0--


From xen-devel-bounces@lists.xenproject.org Sat Dec 10 17:58:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 17:58:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458590.716404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p447T-0002RC-7S; Sat, 10 Dec 2022 17:58:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458590.716404; Sat, 10 Dec 2022 17:58:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p447T-0002R5-4m; Sat, 10 Dec 2022 17:58:39 +0000
Received: by outflank-mailman (input) for mailman id 458590;
 Sat, 10 Dec 2022 17:58:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p447R-0002Qv-JK; Sat, 10 Dec 2022 17:58:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p447R-0008DS-Gy; Sat, 10 Dec 2022 17:58:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p447R-0005mA-5b; Sat, 10 Dec 2022 17:58:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p447R-000564-3a; Sat, 10 Dec 2022 17:58:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+U7YSBEuJ1gWaek9CjSGtVY00tKb2nB3z2OAF0kk3CE=; b=08a9oyq8vdbyzE36+BRQnna+vI
	JqK5Zx1uTL+dNJ7nlzkNCSppErdxoYW0EcGYVERIFZzQ6JTrXkeJ98L/QG5kLyINcU9qjs0dUwNaf
	VWJLuQDewu2wPOViy8ppnOVvZLzptsNlALzlsaf8A424/MmrEpnrSdeDUPp69JR09LKw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175142-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175142: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=4cb94f20b002c99dd2b4b75f07c5495b81a34ffd
X-Osstest-Versions-That:
    ovmf=1ef86f12014c19e7bd6b2f008e868c61b5c71878
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 10 Dec 2022 17:58:37 +0000

flight 175142 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175142/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 4cb94f20b002c99dd2b4b75f07c5495b81a34ffd
baseline version:
 ovmf                 1ef86f12014c19e7bd6b2f008e868c61b5c71878

Last test of basis   175124  2022-12-09 14:10:43 Z    1 days
Testing same since   175142  2022-12-10 16:10:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   1ef86f1201..4cb94f20b0  4cb94f20b002c99dd2b4b75f07c5495b81a34ffd -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Dec 10 18:36:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 18:36:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458609.716415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p44i1-0007UQ-2y; Sat, 10 Dec 2022 18:36:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458609.716415; Sat, 10 Dec 2022 18:36:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p44i1-0007UJ-04; Sat, 10 Dec 2022 18:36:25 +0000
Received: by outflank-mailman (input) for mailman id 458609;
 Sat, 10 Dec 2022 18:36:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p44hz-0007U9-S4; Sat, 10 Dec 2022 18:36:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p44hz-0000id-Nu; Sat, 10 Dec 2022 18:36:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p44hz-00077w-9q; Sat, 10 Dec 2022 18:36:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p44hz-00013J-9L; Sat, 10 Dec 2022 18:36:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BEnfkGR5yblmSApWk+bKMaNm7wwTfK0FTgYkdpecopA=; b=Gq5qstJpwM0lnpPlvycTaIIxAG
	39AJyH5i2B54bRuq6I0VKIzJGJTtkkt3JzPQYcc9H3iq4rOKYFPV5ID7w31qMJScmcWGwBH+SXGqy
	OPnl8Skheg+Bwajygzm2PxiVJbL5ECL9WG7RQ4qNOhefokNz7kYGbCWuAGPodyT2ESzM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175139-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175139: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3ecc37918c80ffdbfa8f08d3e75a0a9fca1c1979
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 10 Dec 2022 18:36:23 +0000

flight 175139 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175139/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                3ecc37918c80ffdbfa8f08d3e75a0a9fca1c1979
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   63 days
Failing since        173470  2022-10-08 06:21:34 Z   63 days  126 attempts
Testing same since   175132  2022-12-10 00:12:18 Z    0 days    2 attempts

------------------------------------------------------------
1991 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 191649 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 10 19:17:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 19:17:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458619.716426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p45LQ-00044s-6K; Sat, 10 Dec 2022 19:17:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458619.716426; Sat, 10 Dec 2022 19:17:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p45LQ-00044l-32; Sat, 10 Dec 2022 19:17:08 +0000
Received: by outflank-mailman (input) for mailman id 458619;
 Sat, 10 Dec 2022 19:17:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p45LO-00044b-Pl; Sat, 10 Dec 2022 19:17:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p45LO-0001kU-Mi; Sat, 10 Dec 2022 19:17:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p45LO-000841-Au; Sat, 10 Dec 2022 19:17:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p45LO-00029X-AP; Sat, 10 Dec 2022 19:17:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=F4eTyK9bCrY11XCZBa09w2w1315yci90C3nSSOKmock=; b=6W7zJfviW86zIcfd5ihcg9bSi0
	zwoax5wZZ+xAkAosyZgaP/FTqbJHTCkUfnU68c6uypKnzv9OqtMbJU4JuI88xjTyNymjLb4jZucvY
	NgGQORWZmbAcMQatdSZmA4ArzMOztlmx9sFAXMDhiuRRtqnHh+dANfR3fsG4fJki0Lo0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175141-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175141: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
X-Osstest-Versions-That:
    xen=54073350bad16b6045522df40a90be79d970aa0e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 10 Dec 2022 19:17:06 +0000

flight 175141 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175141/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175135
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175135
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175135
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175135
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175135
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175135
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175135
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175135
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175135
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175135
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175135
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175135
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845
baseline version:
 xen                  54073350bad16b6045522df40a90be79d970aa0e

Last test of basis   175135  2022-12-10 04:13:34 Z    0 days
Testing same since   175141  2022-12-10 13:10:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bertrand Marquis <bertrand.marquis@arm.com>
  Daniel P. Smith <dpsmith@apertussolutions.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   54073350ba..f86d0a1ff2  f86d0a1ff200264aaf80b65d7d200a3ba19c7845 -> master


From xen-devel-bounces@lists.xenproject.org Sat Dec 10 20:43:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 20:43:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458652.716482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p46h2-0007Ib-7Y; Sat, 10 Dec 2022 20:43:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458652.716482; Sat, 10 Dec 2022 20:43:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p46h2-0007IT-4J; Sat, 10 Dec 2022 20:43:32 +0000
Received: by outflank-mailman (input) for mailman id 458652;
 Sat, 10 Dec 2022 20:43:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nmv7=4I=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1p46h0-000773-PE
 for xen-devel@lists.xenproject.org; Sat, 10 Dec 2022 20:43:31 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4c1c11d3-78cb-11ed-91b6-6bf2151ebd3b;
 Sat, 10 Dec 2022 21:43:29 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id A16635C00AE;
 Sat, 10 Dec 2022 15:43:26 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Sat, 10 Dec 2022 15:43:26 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 10 Dec 2022 15:43:25 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c1c11d3-78cb-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670705006; x=1670791406; bh=2RZzyrhtj5BpRqxrmVAhdK8MNzgxxOumYrg
	BFvn1oQM=; b=JDychsyNPPsC0ytQ4ORS6jKh/WQnznI0pq2oCTZqwKnlbkZAFHA
	H60WBAYDTNXnR8tSh+GwR5hBqznB5ss05aOdSvMe4zerDIJOwbBAChZ90/pnMjLZ
	8unJxA5wgYzLtkvovxsXfQ7AUlvcQkhRcBdhTMTlnyx4UzAc5RQtMv1py1548FbT
	b3kmoJok7Y68Zf5vODbHjVYY4LBY2L6ZYaD8oM8GEgbCOGRBunZ8v4ykSmTu5cyF
	A1wAgGR0YXn9hIAUCZi16ycYoAguEiuq1139psKn3c5xziK+nGEDvUrNP5LdYQLI
	zWFoSTHN7WvrazVRlruNGEmi45ZTiaceSXQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670705006; x=1670791406; bh=2RZzyrhtj5BpR
	qxrmVAhdK8MNzgxxOumYrgBFvn1oQM=; b=EjguRZALlJNd16IqX2sUs0NxZTj8g
	wQWfFAFZO4R3x/NkO6U6tIoHIJO6bhT2A4uPKANBazzgaKC1LuuEa2YmqLzErvSa
	IAWAJwZhPS51oayVeZP9w0M8HWKbPgm7nU/5KVnxHitQxes0YMyeAm2A+7W2LKt2
	grmA4wxHvHBRRmT0kGKTjA66MD5Jt6+58rxgY25sBszoBY908KjnjNUwSvObsvXh
	8Cjp5lB2UTojzZBOgnpUUCurAoXTtCXNJSoE8pUZSp760wHychkesPACmsIL9D57
	HsxjaPixZCOpbkW9oVC6qrnOznBcQB29pv87cFMpMd++mhLnL1pg2ChMA==
X-ME-Sender: <xms:bu-UY9FHvCjy1I5rPMrNjNlcd-uZiYr-8T15AgSQjSmZ-nsyWsvVdw>
    <xme:bu-UYyV2Ujsik1xmXkCHFyFQDf1mlKlHnDbiovFhSJT1925DD_NZIq1z7autGeBhQ
    mH2iR6tBbvSoA>
X-ME-Received: <xmr:bu-UY_LjvU_bnloyIcEkNtDzfNxcFabNFoVnUVMwQ0Iqp2vD_LRvZ3jrAHj0piScZziwj8TYUxG91UKAZHaGforelDMm1Ky3ZJ9PVOmQNK35v5eJ2gU>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeggddugedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofggtgfgsehtkeertdertdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeelkefh
    udelteelleelteetveeffeetffekteetjeehlefggeekleeghefhtdehvdenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:bu-UYzHmoNK_7JzepJaGmcUrEBtNUMmNBHrLt8mcSWEVlyJCIM_CVg>
    <xmx:bu-UYzXNwSwBeiXYy3iMkvyDK6jL5BynlgLzuuKV-YQQVi5PdgaU-Q>
    <xmx:bu-UY-OZpNCx3Glm_LYS_gcKfGrYjO1VreesNCfcYIkhh0tcqLoFdw>
    <xmx:bu-UY6cmIuVI0j7y_VXRHy_A1c2vvLTcNbSFgksANcRvtSPTUhDzrQ>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH] docs: do not install .deps files
Date: Sat, 10 Dec 2022 21:42:58 +0100
Message-Id: <20221210204258.3153703-1-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.37.3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It isn't really part of the documentation. Furthermore, entries there
are in not determined order, which breaks build reproducibility.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 docs/Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/docs/Makefile b/docs/Makefile
index 8de1efb6f5bc..966a104490ac 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -178,6 +178,7 @@ $(foreach i,$(MAN_SECTIONS),$(eval $(call GENERATE_MANPAGE_RULES,$(i))))
 install-html: html txt figs
 	$(INSTALL_DIR) $(DESTDIR)$(docdir)
 	[ ! -d html ] || cp -R html $(DESTDIR)$(docdir)
+	rm -f $(DESTDIR)$(docdir)/html/hypercall/*/.deps
 
 .PHONY: install
 install: install-man-pages install-html
-- 
2.37.3



From xen-devel-bounces@lists.xenproject.org Sat Dec 10 20:55:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 10 Dec 2022 20:55:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458672.716493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p46sn-0000sx-Ba; Sat, 10 Dec 2022 20:55:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458672.716493; Sat, 10 Dec 2022 20:55:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p46sn-0000sq-77; Sat, 10 Dec 2022 20:55:41 +0000
Received: by outflank-mailman (input) for mailman id 458672;
 Sat, 10 Dec 2022 20:55:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DNjY=4I=citrix.com=prvs=336922010=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p46sl-0000sk-R4
 for xen-devel@lists.xenproject.org; Sat, 10 Dec 2022 20:55:39 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe01941d-78cc-11ed-91b6-6bf2151ebd3b;
 Sat, 10 Dec 2022 21:55:36 +0100 (CET)
Received: from mail-dm6nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Dec 2022 15:55:34 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM4PR03MB6174.namprd03.prod.outlook.com (2603:10b6:5:399::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Sat, 10 Dec
 2022 20:55:32 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Sat, 10 Dec 2022
 20:55:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe01941d-78cc-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670705737;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=TDXYeNHqHUbHC2LgQM+ZgEr8asxi3iY11N8c/YgZkD8=;
  b=atjAJ0WBLUQHkBjneK0jAFsZ6fUYMI0t6wo5Rs6Rh7qDCWAuweKWG0qs
   Z1hY76kWzBQ6ma2rBEQ/jCS+EmiXyJDhTkwEGcwcszQAB2WLrDI2cMgC9
   TIbdgeqmcE7T4xhDbi+R6yQgpaPWexVwFmyInUGcJTKQU360zF3pKS94K
   c=;
X-IronPort-RemoteIP: 104.47.57.168
X-IronPort-MID: 87243935
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:XBf24qucFdwCCTzeL0abkGbCsOfnVGZfMUV32f8akzHdYApBsoF/q
 tZmKT/SafmOZ2SnKIx/O43lpEME75/TyYQ3HFRsry5nQylD+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWHzyFOZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwI3cqQx29t+iMzLe6CbNg1pkPI5TuM9ZK0p1g5Wmx4fcOZ7nmGvyPyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osj/60boq9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPO3nrKIx0QbOroAVIDtIbwWyjeeLs1K7d4pGK
 UgJ5xYx9YFnoSRHSfG4BXVUukWsuxcGXtNKHu4S6QeTy7HV6QKUGmgFSDFabNUs8sQxQFQCx
 lKP2t/kGzFrmLmUUm6GsKeZqyuoPioYJnNEYjULJSMa5/HzrYd1iQjAJuuPC4awh9zxXD31n
 TaDqXFng61J1JBbkaKm4VrAnjSg4IDTSRI47RnWWWTj6R5lYImiZMqj7l2zAet8Ebt1h2Kp5
 BAs8/VyJshXZX1RvERhmNkwIYw=
IronPort-HdrOrdr: A9a23:owyyJqNYB/Rnl8BcTtCjsMiBIKoaSvp037BL7S1MoHluGaalfq
 +V7ZcmPGDP+VQssR0b9+xoW5PtfZq/z/5ICOAqVN+ftWLd11dAQrsC0WLq+UyEJxHD
X-IronPort-AV: E=Sophos;i="5.96,235,1665460800"; 
   d="scan'208";a="87243935"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CiMNeWxZbF0g5L0ddu1KijcmKt4wcb+pR8M11sfeppaQQBgpkypGS27vWCiHhep9eGdApYnbZVMiynAezPf334jmRJ0Q/6MEWQUeAPhr55Y9O0c1ztIorRLtsGyPux7FvrxVm+w2KWU3Lph1w2W1laA3/T4LVCXnOqCktYH2EwmSMmXus3vSe+QfGiTVxN6w2YdZzIRMUN8JxIjxWEpW1HQyxjaNlvtb8yzGSImvMHL3fvnJ7o3cCRSxvoNvYFuvIuD3NzwbMcbTA51elxnoc4dS3gXmX/s4GCZcKagWYkFcybMkfwfa3SgvKYTCI8mCwjy3KUfHCKSfcOb4PVbmEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TDXYeNHqHUbHC2LgQM+ZgEr8asxi3iY11N8c/YgZkD8=;
 b=CCQ7behzbqJvTP0HfxnPH/b8flDMQe8TxfAvvOz58AdRPP/9tYlkm3/mDylYqck8JPwSigKwEWwhKZgx1rI+Ng3kYhZyx2Ah8bRhmtMC0fTVicqjFIMZUdm94pM8hQdzCqemGfAJ7UOUEKTQ2NLWJgjbX11Qr2QE6f7VA9lXS6Dp56LzxdWwUNyr7pDR5LE1mN540DgVJf9b8o0bvkfCQocflAcZXcmMw2L//77RoKz0+qMy12qNSQJ1PVbuHEUwGqSBedQc/k5GZ00nb4ATefWFdpHvu20WETGUh9o1V5jVf2M2P4/FKUn/QXmRAkWMffL1EVBxVCUbzt0ROZTOtQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TDXYeNHqHUbHC2LgQM+ZgEr8asxi3iY11N8c/YgZkD8=;
 b=tByPonM+WCAxw1B4eUXEVyQLRZQCfq0oA0qAxAnEn1zB0KR/9/z3y4Oa57+9V88el/l5ZWCBFvYWR89lyEh6s9Hzlw0a+wtleTmnFX2KHihFPJK+krjsVzMOXWA8AAuiuF+0Y2rO5B3G52xPZmJcbPyoXxlzq24M3jWbyJRHt8U=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: =?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>
Subject: Re: [PATCH] docs: do not install .deps files
Thread-Topic: [PATCH] docs: do not install .deps files
Thread-Index: AQHZDNgk/8XB6b4nJk6dtaPmWjQlsK5nmcqA
Date: Sat, 10 Dec 2022 20:55:32 +0000
Message-ID: <c7f04941-12c3-215b-2642-80b096ecd2d6@citrix.com>
References: <20221210204258.3153703-1-marmarek@invisiblethingslab.com>
In-Reply-To: <20221210204258.3153703-1-marmarek@invisiblethingslab.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|DM4PR03MB6174:EE_
x-ms-office365-filtering-correlation-id: ae965a66-8481-49e6-e411-08dadaf0e095
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 M2q3Y8hA+GdAB5HijRr6ywNluAKzl72RMh+zU+CVoSH7+RWCKuRX56XROJy6tn7yC9JMPUEex6UNSO0SYG1pjUgCGa64+KV0FPN8H+loQYTN1/Ox8FFgS1+d0JLQXHlzqh+QbGD3h9V34WUrFVswcRm+ear9zrzBmLrKbyRB+h3S9mvt4su5LDdoRvHEG7uPT4NFDgKcmsU/Stw6b/3wvrKW9D8wNa5LCHXOZ9w6bdNcYO2m7JGGp7PZXOJCj7vSdsWXhQK4kDD17SBTwJgCl+KxbToWLZe73D5XSXUFIf5rDF4YQunI0NrqFRMuk1iMsFuq0LYzIcrsoDFbLEjQBoVOIcPIXSC2tDuj315r4TwspNwo/xWlqcTzO3kdvtt1KBiB4mq9XRF2Kx+BKZSluJR1UHlVrEiq5vTpgp3dzuTnTFHDp3ZkqDAqFIzQ1K37JNd1hopMLcrFzfKv3JNCnLKN+0Y7G/kl4f93DOwqcFDZYQUhb7ZbzBsSauPnfps5AJ60LnY7Poo1GJ6ql5bFgSDvjPyFc1b0mmpqwRcIlDxeO4LWjBReQ7jXhQStT32AKX5Ui7aSbYIxf0pE0Y5eCJzcHS6wAGdXtP+liNADCMX0JafUCTh7FQI6QeLQDDCZbcs6zBJK9ZvPOvUoyUa8yHjeJsbk3+bt/yrJJjJI0LXCmVT60+rlJgO0j0HH5hs+Z3vG8pwEN++QI7W1F+IKsCEXuZBu0g2qr6qfXkHvXET/rHqFPZmOkUgexs1enLfrGgVZmHprFPjJFxTOsd4gKEh42jU4cbzEu8+tcHoyvi0=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(376002)(346002)(136003)(366004)(39860400002)(451199015)(38100700002)(122000001)(82960400001)(31696002)(86362001)(38070700005)(71200400001)(6486002)(478600001)(41300700001)(8936002)(107886003)(91956017)(66446008)(4326008)(76116006)(8676002)(66476007)(110136005)(66946007)(66556008)(316002)(54906003)(64756008)(66574015)(2906002)(186003)(6512007)(26005)(6506007)(83380400001)(53546011)(2616005)(5660300002)(31686004)(36756003)(558084003)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dkJHdGYxNktuZUpzWFJlTDRPZCtZajQrWlljY3lheU0yWkpENFBzZjRreU84?=
 =?utf-8?B?VVlUNjh4NTNZdVQ3KzlKVU10cm9WaDg5MG5jUTdHMnNtbTA2K1I3UnJpOVdn?=
 =?utf-8?B?bFQ0UUtXcFFhVDdMU3djYjlsYk16bDZ1K0JsZjRsRlN5QzkxRTBNY29TL01u?=
 =?utf-8?B?c042UlU0L1E4UUxuSklFVktMcFhUMnhneGRrMnpEWFZkbzRaRGlYd0hBekxT?=
 =?utf-8?B?OFBHRVk2Q1ZqVXZQOWIxTHhPVFhiOVEyWWhUQWJaaTIycWMxRk1PQ0xWY3VG?=
 =?utf-8?B?cHBndDU0b09ydVgrbmwzelZxc29EVmRYWm90ckRWRElmWDRDMHJ2cCtubnJp?=
 =?utf-8?B?SlJLUGxYUUhwMWNFTHVQZTZ4VmpnOVdtWDhxazgrSzRiNzdnVFFtdEZVVFFJ?=
 =?utf-8?B?ZDZTR0VKR1JwdHR3OWFrY2ozdlgzd1BDdVdPTDlSeExPY21oWDVRN2xqWkRN?=
 =?utf-8?B?VHRaM0w0RVRLRm8wcGE0SmpEU1JOcHVCRXEwZzJtZ0l0Y0F1MEFKckFzMmtH?=
 =?utf-8?B?YmhXbXE4TVdyMVVWZC9nTTdwTW1KUGVPaStKQ29KMjN0WFpyTXRMMlB0dE02?=
 =?utf-8?B?QVJvODVEL1A0cndQSlhaTGQwLzZIUjBxclBOSEtFWVVyclVaa1JLa3NOVVpZ?=
 =?utf-8?B?dVpjVFNDUDhvY09vUHRXMVJ2c09qMEFpSmpOZUQreXI4WmFqaUFjVldJeUEy?=
 =?utf-8?B?S3pXdnZLT2xVVW9YODNIRVRaZmE1OWg0MlVsUGRZRGtXcFhLWEFrSG9MVDEw?=
 =?utf-8?B?YTVyak8vZDdOSGQwc3pVTFBuaFFGZjVyZnZ2Q0ZiS295RFpTREI2UXliWW1L?=
 =?utf-8?B?TWRxNXh6N1dZUlYza3lzNW9EMXoxSlVrNnJJaDNJQ3BRa2tweVVEMkgrblBW?=
 =?utf-8?B?ellFOHlqKzRySTl0d09Ydm1GeVF6MDI1UGFjaFpjVEtRWHVESjJEWTExeDVV?=
 =?utf-8?B?UFNyV2Znd0JKNUVsc01jUnpJd0xzYUthalNUV1ZUZUZXRDcxYkxPd01obE12?=
 =?utf-8?B?RWlOMWxHNWtJNlYwYlQrN3doUVhBdmd3ZTZZMkliRTNGMU4xcm5mYlZOemdE?=
 =?utf-8?B?OGl0N2l5OGpSbVNNZ1ZIWU1veFJVMDJzSnV4TDBNZWllMWJsd2R2S2hwdTE5?=
 =?utf-8?B?ZEhaZU5HMjNlRWcvMHoyb2M5RjZybVQ5SXY4U2RucW1LNWlONEVWOU1ra2kv?=
 =?utf-8?B?YWZSQmxRRitDaVdQTHFGUHR4c0JZZEY3a0dMcytuTG4yc2VKRkg2Z2NXTHlw?=
 =?utf-8?B?U3psYkMxMGJGdUg5YUFnNzl3NVoyM2l3dGNjU0VtUEsvQ1pwUkJyNXA2RU5W?=
 =?utf-8?B?Mk55OHdrNDZmN3AzbmFZcFFxNUtVSWFUemN1QVhJbzUySmNUWG5XQXpreDdh?=
 =?utf-8?B?V0h3MFNCUHdSaHBrWjFwQzlUc0JvR3NoczRHZjFYcTl3aHFCeFpnRXBRT1ln?=
 =?utf-8?B?ZkxrTnd3Y3FwRmRUcnJadVB4TG5KVWhaSmNjM0tHcmNjdm1LYjZYWnptenBG?=
 =?utf-8?B?aTdRL3dpNEhyTU9USHJ6TDJ3NWhxRHVTZ25WbGJ5dUJKYlRYQkR5alhpdlpB?=
 =?utf-8?B?M2lGUHdabEoxdWRmSnQ1L1pkc3owZ0dqQjdPZ0pjdCtzcUFyZTgxRjdDNENh?=
 =?utf-8?B?TGVRSUFWVVZJR3ZPUUdleUdodFNHc2FydG5rVktPc0lZaUZ3Y04yNVJJeTBV?=
 =?utf-8?B?ZERtUE44V014eDltenpCSk8yaGllY3VobXBpcS81ZFJEQncvYXBnVy9RdVNu?=
 =?utf-8?B?N3NTUS9oL3dJdW45VzlZb0xFTmRYNHdzQndaZ05KUmp1bG5xTzJjK3hvWnV4?=
 =?utf-8?B?V2QzNnZaVmswUTE5WWw1Si9mTXVQaW5HTFg0bUkzbCtGNldRYjh0TDlINHV4?=
 =?utf-8?B?UkpRU1F2N09iQWZ1VzR6dHJldzhjZ2twRkg0b25xN2RWQmpuOEkrR004a0h6?=
 =?utf-8?B?Ymk4aHltZEhwYmdkNExucUlJaG5LcGFtNWt1dSt6VXdOTnZDbnpjdG9TUUE5?=
 =?utf-8?B?ME5YMXhRZWo0R1ZpMkcvUmRkMW9UNWpZQUoxNkRrT3JyWGxCVktuMEV4N0I5?=
 =?utf-8?B?SlFBejJCOXR1YzNGSkZMQjljZi92OUpudTVHT3dza3lOeTk5QnByVE1haHpx?=
 =?utf-8?Q?BjY2rcp3+FA77a2I3BDXuI5vH?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <E20674F6B344884FA470AC5F9621F37B@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae965a66-8481-49e6-e411-08dadaf0e095
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Dec 2022 20:55:32.0647
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: gQ+YCqC2+ojtohm6xrYPDlXKFS+TwavFTKK4Wkif2gMJ7h5ZL6Zxdq32Ug8lHzujYkfWe8rEUDr0ZEju+SjN7vFugRCxDs2SUWXfJf2uesY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6174

T24gMTAvMTIvMjAyMiAyMDo0MiwgTWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tpIHdyb3RlOg0K
PiBJdCBpc24ndCByZWFsbHkgcGFydCBvZiB0aGUgZG9jdW1lbnRhdGlvbi4gRnVydGhlcm1vcmUs
IGVudHJpZXMgdGhlcmUNCj4gYXJlIGluIG5vdCBkZXRlcm1pbmVkIG9yZGVyLCB3aGljaCBicmVh
a3MgYnVpbGQgcmVwcm9kdWNpYmlsaXR5Lg0KPg0KPiBTaWduZWQtb2ZmLWJ5OiBNYXJlayBNYXJj
enlrb3dza2ktR8OzcmVja2kgPG1hcm1hcmVrQGludmlzaWJsZXRoaW5nc2xhYi5jb20+DQoNCkFj
a2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KDQo=


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 02:10:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 02:10:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458707.716510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4BnT-0002eD-RN; Sun, 11 Dec 2022 02:10:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458707.716510; Sun, 11 Dec 2022 02:10:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4BnT-0002dJ-NR; Sun, 11 Dec 2022 02:10:31 +0000
Received: by outflank-mailman (input) for mailman id 458707;
 Sun, 11 Dec 2022 02:10:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=97oD=4J=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1p4BnS-0002cH-2T
 for xen-devel@lists.xenproject.org; Sun, 11 Dec 2022 02:10:30 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f8f35360-78f8-11ed-8fd2-01056ac49cbb;
 Sun, 11 Dec 2022 03:10:26 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.nyi.internal (Postfix) with ESMTP id CD8705C00AB;
 Sat, 10 Dec 2022 21:10:23 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Sat, 10 Dec 2022 21:10:23 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 10 Dec 2022 21:10:22 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8f35360-78f8-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670724623; x=1670811023; bh=CbI6DnKTlZiBh+WyyenklvldjcWlzpgpmYP
	gqCb7f/o=; b=aHJXcmE2DVVext2/+fpOY+Fmy52qA0OJkjLYpK8UG/H7HR1Vg7j
	fK/+Z8YrFZ+1wTpeASuoTjQcmq2HxxBsJm4Y2YCgS1JwNMFvW9u3uVnH2aDvEHOT
	e4LltikmGP6fgX+Jc59ZXjQdSqbIdDc6022ay2ZeGgH/coydZMsgTjydxKHkbUVL
	grGVPggs61MaN9TAzQLFqE8fP1YclUQ92vjDxxcSpTI0OTvEJMiaKz1bME+m9fN4
	tmZD/dB1jEAm6HbIFbwwl4oLO0J1YpnoN4PvlhzNzJsBAQjo6nW5tL+JRDXFDWfH
	+smUM7Stb+gOTGbuHQYjKI7RsHVFcUB71wQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670724623; x=1670811023; bh=CbI6DnKTlZiBh
	+WyyenklvldjcWlzpgpmYPgqCb7f/o=; b=q8Iq6GV4XVBFpB+IU9SgY65XS0Nr7
	TKnNuD5bjaN3URIWP1Edn65zI4wL2NIjqKOEkeWn9EEacbZkX1RcK+f99Yy+CV7b
	WTwxkLiom5VHPL+jniWffxzIbovYXknY47pOGdX4H4b7L15mxc6x/H3MxznUf+/c
	u83HKL59C3lMqdS39O5AtJlCgTmbkuNoN4mSoNv4teZq0DvgfQnOOrFql7ThMmje
	bs32kijTH27BtHs9btyiTz5Js/P7xiHc9BXfz0Z384oIhiEujabo3mIxTFYr6VaQ
	+epWiWNh1T6NOrqW4sISqWL1Q1GYc3J7IpQdK9lYh1R6ce2OEM0+CRScQ==
X-ME-Sender: <xms:DzyVYycUjYPLyGVQHRmiYN0S-CE1onU13FSZtL6CMK4v5V0DDeg_Og>
    <xme:DzyVY8O6FnFFcuEUMIgz35bDYm-ajLnh75UMxbs8ZomnoSfs13GysfjiBG2Mm8lLN
    yDRHfZj-dqi3Q>
X-ME-Received: <xmr:DzyVYzgPnc9-Jc85VYM7D6aVieYR9pe5SPP4rLzFOQft1Ah4bJTrJWt7gFblL-7SbWy3ZZ59LZWAEWmN9rSkGwORkJTyABah6gfAj3mgblUxA36X1us>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehgdeggecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomhepofgrrhgvkhcu
    ofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinhhvih
    hsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepteelhedv
    vddtvdetfeeileeftdduteefgeetuedukeffledvjedtveetvefftdeknecuffhomhgrih
    hnpehinhhtvghlrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehm
    rghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsg
    drtghomh
X-ME-Proxy: <xmx:DzyVY_82D16x19JUh1DBGPCJ1dBz-fcUX-JvGDYj36tKupD2GGHa7g>
    <xmx:DzyVY-tIO8lyGAn9kBinzfdjlmTYGVsb6pfG-Krq8FUXH1xfhqFGkw>
    <xmx:DzyVY2HKS3V6EZ1AtBWCgttIB6WJJsxx_BYJgYPj02z96HIPsaay_A>
    <xmx:DzyVY03bF3Oru4uLnYuX9Wjhm6fPW0K6ShFE79naXt5-KEwJrfxlEA>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [RFC PATCH 0/3] Try to fix XHCI console on AMD systems (help needed)
Date: Sun, 11 Dec 2022 03:10:03 +0100
Message-Id: <cover.932f486c1b08268190342f8918b09fa6a7c3f149.1670724490.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.37.3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This series has two fixes to the xhci console for AMD systems. But it isn't
enough to get it working. The third patch allows collecting some debug info.

It got me this:

    (XEN) dbc error: timeout 2
    (XEN) dbc debug: XHCI DBC DUMP:
    (XEN) dbc debug:     ctrl: 0x800f0000 stat: 0x6000000 psc: 0x621063
    (XEN) dbc debug:     id: 0xf000a, db: 0x0
    (XEN) dbc debug:     erstsz: 1, erstba: 0xcbebb000
    (XEN) dbc debug:     erdp: 0xcbe7b000, cp: 0xcbebb010
    (XEN) dbc debug:     ddi1: 0x1d6b0000, ddi2: 0x10
    (XEN) dbc debug:     erstba == virt_to_dma(erst): 1
    (XEN) dbc debug:     erdp == virt_to_dma(erst[0].base): 1
    (XEN) dbc debug:     cp == virt_to_dma(ctx): 1

On the other side of the cable I got:

    usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
    usb 2-2: Device not responding to setup address.
    usb 2-2: Device not responding to setup address.
    usb 2-2: device not accepting address 92, error -71
    usb usb2-port2: attempt power cycle
    usb 2-2: Device not responding to setup address.
    usb 2-2: Device not responding to setup address.
    usb 2-2: device not accepting address 93, error -71
    usb 2-2: Device not responding to setup address.
    usb 2-2: Device not responding to setup address.
    usb 2-2: device not accepting address 94, error -71
    usb usb2-port2: unable to enumerate USB device

Linux seems to reset the port only for Intel, so I tried to disable that part,
but it still didn't work - I got this instead:

    (XEN) dbc error: timeout 2
    (XEN) dbc debug: XHCI DBC DUMP:
    (XEN) dbc debug:     ctrl: 0x800f0000 stat: 0x0 psc: 0xa0
    (XEN) dbc debug:     id: 0xf000a, db: 0x0
    (XEN) dbc debug:     erstsz: 1, erstba: 0xcbebb000
    (XEN) dbc debug:     erdp: 0xcbe7b000, cp: 0xcbebb010
    (XEN) dbc debug:     ddi1: 0x1d6b0000, ddi2: 0x10
    (XEN) dbc debug:     erstba == virt_to_dma(erst): 1
    (XEN) dbc debug:     erdp == virt_to_dma(erst[0].base): 1
    (XEN) dbc debug:     cp == virt_to_dma(ctx): 1

And then on the other side of the cable, I got:

    [16773160.618004] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
    [16773164.850055] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
    [16773168.938085] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
    [16773168.938380] usb usb2-port2: attempt power cycle
    [16773173.102097] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
    [16773177.190139] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
    [16773177.190431] usb usb2-port2: unable to enumerate USB device
    [16773181.262176] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
    [16773185.494221] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
    [16773189.582247] usb usb2-port2: Cannot enable. Maybe the USB cable is bad?
    [16773189.582542] usb usb2-port2: attempt power cycle

The xhci console works fine from within native Linux, when enabled with:

    echo enable > /sys/bus/pci/devices/0000:04:00.3/dbc

I did not managed to get it working via earlyprintk=xhci (but I'm not sure if
that's specific to this hardware, or something else - haven't tried
earlyprintk=xhci anywhere else).

Info about the xhci from native linux:
    04:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Renoir USB 3.1 (prog-if 30 [XHCI])
        Subsystem: Hewlett-Packard Company Device 8730
        Flags: bus master, fast devsel, latency 0, IRQ 44, IOMMU group 5
        Memory at e0300000 (64-bit, non-prefetchable) [size=1M]
        Capabilities: [48] Vendor Specific Information: Len=08 <?>
        Capabilities: [50] Power Management version 3
        Capabilities: [64] Express Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable- Count=1/8 Maskable- 64bit+
        Capabilities: [c0] MSI-X: Enable+ Count=8 Masked-
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
        Kernel driver in use: xhci_hcd

I tried to find AMD's equivalet of
https://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/extensible-host-controler-interface-usb-xhci.pdf
to see if there are any differences (shouldn't be...), but I haven't found
anything like this.

Any ideas what is wrong?

Marek Marczykowski-Górecki (3):
  drivers/char: support up to 1M BAR0 of xhci
  drivers/char: search all buses for xhci
  DEBUG: dump xhci state on connection timeout

 xen/arch/x86/include/asm/fixmap.h |   4 +-
 xen/drivers/char/xhci-dbc.c       | 116 +++++++++++++++++++++++++------
 2 files changed, 98 insertions(+), 22 deletions(-)

base-commit: f86d0a1ff200264aaf80b65d7d200a3ba19c7845
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 02:10:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 02:10:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458706.716507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4BnT-0002d4-Lz; Sun, 11 Dec 2022 02:10:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458706.716507; Sun, 11 Dec 2022 02:10:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4BnT-0002cd-FG; Sun, 11 Dec 2022 02:10:31 +0000
Received: by outflank-mailman (input) for mailman id 458706;
 Sun, 11 Dec 2022 02:10:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=97oD=4J=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1p4BnR-0002cH-5w
 for xen-devel@lists.xenproject.org; Sun, 11 Dec 2022 02:10:29 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f9eb4daf-78f8-11ed-8fd2-01056ac49cbb;
 Sun, 11 Dec 2022 03:10:26 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id AB4185C00AD;
 Sat, 10 Dec 2022 21:10:25 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Sat, 10 Dec 2022 21:10:25 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 10 Dec 2022 21:10:24 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9eb4daf-78f8-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1670724625; x=1670811025; bh=JbnZPi5CqE
	43ZODZw6U/mp6Yrnv9+Sh8ckKp+USh51M=; b=IQ3LNIaB5kob96AC1AFnfCJU0Z
	mxdSDoM8TmeyHS7asyLDDOVhKgXwBW/bp75VJAajys3E7JbNYR4IBZ7FVjod7RM2
	8ld5f/VObj0YRitO1+Ec1iRmcSlEt2BndWES8MMABewnLp+kyhgdn6sPEpv3zGY/
	W4KPTFnrwEK12TbdF6JmzQ9uXdxTQ1XSCIxxBNIeOdkYW7dmyUKNrD0dKl2LIw1H
	S0Gw/IC0PUYXKAZIRKWDOZcdeImyOvEHgk6MQr8ne0/6KEjQNT3l7aUwCJprBSGt
	S5Pl0gcR/4BGoAGKc79/dBA1QBFjgKnxl3utwDwegjpj6YfYPkQ75gwmNQNg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1670724625; x=
	1670811025; bh=JbnZPi5CqE43ZODZw6U/mp6Yrnv9+Sh8ckKp+USh51M=; b=S
	lCUti6o4f9XbjvUPVi2RnTlevm225dmVZtQodZ3tOnbkCe/KhnYQV9DlOpaAraVI
	JKodXZsLyg5VmNSafrWP6pean85kMKiSYrZ5HiQ19KqaaRd5O5D71XCD0usX+OdD
	eHrCsJirgTp1jI0IRDsM7VMCeJ6koogKSriStG8A9r3nC5wSCLRg9VBQgEfvkwMz
	YofxB2S7NBFI1w5snaGNOCmfWBE9oDlqk36ZZnnfsdVQYWZ8LYvLQowU4+jPDIU/
	+dPlVxo/lB9veu6JdzJmmsCsfL+ilPU04cVFKzVz9tn7cIAa6fiOr5JUN5EB0sZ7
	TPrnKnzFNAyCqMqztCaKA==
X-ME-Sender: <xms:ETyVY6YtTu9QuaCEIWfYi6XW9TnzsArHVWL1XtdBKsoAdwUf-5vT9w>
    <xme:ETyVY9avSnINNBjKRJqkobpncSoaIBUXioAo97lKs7pCHIUGMIkO0SdIpo9M0uBmB
    xtI4sNx5-2yRA>
X-ME-Received: <xmr:ETyVY096b2jWSfnZ65s-o0coLdux2WIW3hdgV4cXYLgt1kY2EypPVNxWQKQs-XzG5xj7XtHL0MowB0exan7US3GhKe3gsDqLqY3Dv8ev9XcBEbydx-I>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehgdeggecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfeu
    udehgfdvfeehhedujeehfeduveeugefhkefhheelgeevudetueeiudfggfffnecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:ETyVY8p5ESeepHnsR5JTrLLw4-jhum-NM_4Mx7yZ1vRkrD3jt1726A>
    <xmx:ETyVY1obWAQNWcbPhvEGyG2uIJkSkMtlgY-LHrmLBWugGYduO0SVOQ>
    <xmx:ETyVY6Qd9cVAEMgDDxmnwvkmovgbD5YdZxNTKXEnwRpknoLtYHdxeg>
    <xmx:ETyVY2dI2vmchh8D55H1aw3VWkxv81FUU-12KFhCZja4WCT7crc8Fw>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [RFC PATCH 1/3] drivers/char: support up to 1M BAR0 of xhci
Date: Sun, 11 Dec 2022 03:10:04 +0100
Message-Id: <3398f603208397e2894dd452e9de047431599c58.1670724490.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.37.3
In-Reply-To: <cover.932f486c1b08268190342f8918b09fa6a7c3f149.1670724490.git-series.marmarek@invisiblethingslab.com>
References: <cover.932f486c1b08268190342f8918b09fa6a7c3f149.1670724490.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

AMD's XHCI has BAR0 of 1M (compared to 64K on Intel). Map it as a whole
(reserving more space in the fixmap). Make fixmap slot conditional on
CONFIG_XHCI.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 xen/arch/x86/include/asm/fixmap.h | 4 +++-
 xen/drivers/char/xhci-dbc.c       | 6 ++++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/include/asm/fixmap.h b/xen/arch/x86/include/asm/fixmap.h
index bc39ffe896b1..516ec3fa6c95 100644
--- a/xen/arch/x86/include/asm/fixmap.h
+++ b/xen/arch/x86/include/asm/fixmap.h
@@ -25,7 +25,7 @@
 #include <asm/msi.h>
 #include <acpi/apei.h>
 
-#define MAX_XHCI_PAGES 16
+#define MAX_XHCI_PAGES 256
 
 /*
  * Here we define all the compile-time 'special' virtual
@@ -45,8 +45,10 @@ enum fixed_addresses {
     FIX_COM_BEGIN,
     FIX_COM_END,
     FIX_EHCI_DBGP,
+#ifdef CONFIG_XHCI
     FIX_XHCI_BEGIN,
     FIX_XHCI_END = FIX_XHCI_BEGIN + MAX_XHCI_PAGES - 1,
+#endif
 #ifdef CONFIG_XEN_GUEST
     FIX_PV_CONSOLE,
     FIX_XEN_SHARED_INFO,
diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index 86f6df6bef67..60b781f87202 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -268,10 +268,12 @@ static void *dbc_sys_map_xhc(uint64_t phys, size_t size)
 {
     size_t i;
 
-    if ( size != MAX_XHCI_PAGES * PAGE_SIZE )
+    if ( size > MAX_XHCI_PAGES * PAGE_SIZE )
         return NULL;
 
-    for ( i = FIX_XHCI_END; i >= FIX_XHCI_BEGIN; i-- )
+    size >>= PAGE_SHIFT;
+
+    for ( i = FIX_XHCI_END; i > FIX_XHCI_END - size; i-- )
     {
         set_fixmap_nocache(i, phys);
         phys += PAGE_SIZE;
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 02:10:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 02:10:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458708.716518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4BnU-0002mV-AO; Sun, 11 Dec 2022 02:10:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458708.716518; Sun, 11 Dec 2022 02:10:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4BnU-0002l6-5B; Sun, 11 Dec 2022 02:10:32 +0000
Received: by outflank-mailman (input) for mailman id 458708;
 Sun, 11 Dec 2022 02:10:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=97oD=4J=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1p4BnS-0002cH-Jv
 for xen-devel@lists.xenproject.org; Sun, 11 Dec 2022 02:10:30 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fbe4a1da-78f8-11ed-8fd2-01056ac49cbb;
 Sun, 11 Dec 2022 03:10:29 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.nyi.internal (Postfix) with ESMTP id 02FE35C00B3;
 Sat, 10 Dec 2022 21:10:29 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Sat, 10 Dec 2022 21:10:29 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 10 Dec 2022 21:10:27 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbe4a1da-78f8-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1670724628; x=1670811028; bh=of27AYkTAg
	+gV39hHVFtMa/D9CLpVwIBhoS3TGwZ7fc=; b=TU3Gd7HHM9eaLznkoXXzD9Pyoz
	icKaP5MlSCu/xjyyvQeXuV0pUiHNXqZM3G3znHyIAyeY10HQ30Q918Ui+T+btq1n
	z8bXduZuPd/LJ3nKFb27B0hxIegrcdqNVDocIrjHWB0kbBbYf/Vwh3XjrV62Xrnh
	SZZ3Iko5qWeFE1H51dOM23kom6Cle8JEYlgeRO4fAozZKJNQ15nW3PZOxhZxVSkT
	yLbkV/7ruV7vVUgAR+QsT30cUS19K6S0gn3DFWnl7gkzsIsBY/Imen+lM79WstzJ
	Bl8v8iBmX/N66ElOK5cDHeFiRxOrt+zzI6ug1yONCgHmFTZYy7MAB5K782cg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1670724628; x=
	1670811028; bh=of27AYkTAg+gV39hHVFtMa/D9CLpVwIBhoS3TGwZ7fc=; b=k
	e+oi1Q8Xp9XYjNBLsdk8u/ZWSRREbdxYQ2FyfVLd+0mCytqzMXmfdFa0TvMt3pTs
	J5v+8kIDEDj0K6iNbnNKTy3sXnVaFUxhBgQXD9FTbHT13ZcHPCHPV74Uz6FSrvEw
	7TO4v11COCQRdawHYHQT4gybR7l8paHkfrHsbDqXiTIV/HAGJv9VZ4S+Kr4am0n+
	11BRSfTv582DS58eaxNjAV0DFrzAgbHP2yqKnUk7iWCfziX6Kmv9iiuaQUoeXtbg
	IhW7j1R6PXIna45HgcupGvfK/cm0sQtnY8Denap0Cv1M2oaAUyvvy3hodzInT6El
	VyXXdvCvSEUn6qbFZ8+xQ==
X-ME-Sender: <xms:FDyVYwYIKIHfGEJGeULSdwMgDcGAH6ivQ2GQBsMuHYbgtdDzBw6xBQ>
    <xme:FDyVY7bqvtZaK4bui1y9fzFNoZKBDK-44n7M8rJl_U3xIyRGx7GTuLZmIHdZvkIBx
    gXfsh51ujUm_w>
X-ME-Received: <xmr:FDyVY6_LUSGrtlqcv8_2HzoABk0msu9kuMINNmxi0HzxtRENaRK4vxUMqRF58I1CxqzBxGcoBpchlWqlhzRAUhbp16pkdRJjDBMakfhwu7tuWGZPEJw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehgdeggecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfeu
    udehgfdvfeehhedujeehfeduveeugefhkefhheelgeevudetueeiudfggfffnecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:FDyVY6pfCnkW_EFX8XvBjgHkMtz9G5H-PCPD_7LP6ozGI19Fu1k30A>
    <xmx:FDyVY7o7WbQlXF9Tov5-akNstL8jb6L39HGqiFJOXV7Oa6trU65x7Q>
    <xmx:FDyVY4QmBtJc58HeZioGsyoSZpLSK2kVkVgNxfjvodAPoFT9HVWo2g>
    <xmx:FDyVY8Dgfa-1r7yhzGgyvykGaDCIbDC3i_-rsPz4lz1terY2Do6Hcg>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 3/3] DEBUG: dump xhci state on connection timeout
Date: Sun, 11 Dec 2022 03:10:06 +0100
Message-Id: <823ad3165bbcfa61561ff4aac17f41d08e1e91f8.1670724490.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.37.3
In-Reply-To: <cover.932f486c1b08268190342f8918b09fa6a7c3f149.1670724490.git-series.marmarek@invisiblethingslab.com>
References: <cover.932f486c1b08268190342f8918b09fa6a7c3f149.1670724490.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Debug patch that shows xhci state after some arbitrary (and not very
smart) timeout.

DO NOT MERGE.
The timeout doesn't actually prevent registering the console.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 xen/drivers/char/xhci-dbc.c | 26 +++++++++++++++++++++++++-
 1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index 62b0ce88b6bf..cb209332a4be 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -33,7 +33,7 @@
 #include <asm/system.h>
 
 /* uncomment to have dbc_uart_dump() debug function */
-/* #define DBC_DEBUG 1 */
+#define DBC_DEBUG 1
 
 #define DBC_POLL_INTERVAL 100 /* us */
 
@@ -264,6 +264,10 @@ struct dbc {
     uint16_t pci_cr;
 };
 
+#ifdef DBC_DEBUG
+static void dbc_uart_dump(void);
+#endif
+
 static void *dbc_sys_map_xhc(uint64_t phys, size_t size)
 {
     size_t i;
@@ -900,13 +904,23 @@ static void dbc_reset_debug_port(struct dbc *dbc)
 static void dbc_enable_dbc(struct dbc *dbc)
 {
     struct dbc_reg *reg = dbc->dbc_reg;
+    unsigned long timeout = 10000000;
 
     wmb();
     writel(readl(&reg->ctrl) | (1U << DBC_CTRL_DCE), &reg->ctrl);
     wmb();
 
     while ( (readl(&reg->ctrl) & (1U << DBC_CTRL_DCE)) == 0 )
+    {
         cpu_relax();
+        if (!--timeout)
+            break;
+    }
+    if (!timeout)
+    {
+        dbc_error("timeout 1\n");
+        dbc_uart_dump();
+    }
 
     /* reset ports on initial open, to force re-enumerating by the host */
     if ( !dbc->open )
@@ -916,8 +930,18 @@ static void dbc_enable_dbc(struct dbc *dbc)
     writel(readl(&reg->portsc) | (1U << DBC_PSC_PED), &reg->portsc);
     wmb();
 
+    timeout = 1000000;
     while ( (readl(&reg->ctrl) & (1U << DBC_CTRL_DCR)) == 0 )
+    {
         cpu_relax();
+        if (!--timeout)
+            break;
+    }
+    if (!timeout)
+    {
+        dbc_error("timeout 2\n");
+        dbc_uart_dump();
+    }
 }
 
 static void dbc_disable_dbc(struct dbc *dbc)
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 02:10:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 02:10:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458709.716528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4BnU-0002wH-SJ; Sun, 11 Dec 2022 02:10:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458709.716528; Sun, 11 Dec 2022 02:10:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4BnU-0002ux-Hk; Sun, 11 Dec 2022 02:10:32 +0000
Received: by outflank-mailman (input) for mailman id 458709;
 Sun, 11 Dec 2022 02:10:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=97oD=4J=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1p4BnT-0002cO-7e
 for xen-devel@lists.xenproject.org; Sun, 11 Dec 2022 02:10:31 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fadf7b8b-78f8-11ed-91b6-6bf2151ebd3b;
 Sun, 11 Dec 2022 03:10:28 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 4D33A5C00AE;
 Sat, 10 Dec 2022 21:10:27 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Sat, 10 Dec 2022 21:10:27 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 10 Dec 2022 21:10:25 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fadf7b8b-78f8-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1670724627; x=1670811027; bh=sg2cPuKe2S
	k532Re3aGsL/PLgELaIrHgpLc2ZsAa7cs=; b=gclVIleoM/4MGvi6lRswZNZopC
	ZDkFF4Lrkw0fHRAUMxwy1/tgL44ipW6QB6C/aE9aDgWRVc2icnH1Z+S3/Bt/xVZg
	K4Nk46pl8SqActJC8pUn5hOyWPFwWCeyjnaFvv4gbTOxy86SiKoOPk0KN/dWQcPA
	HuucwXxNYJQJM5N47jaUeM1O2oTXsoNJNzkgB4ee63SV8tfhSRvn3kMY3yDw972p
	Klv7NuzyF23LCTMiy8Pi9wQmuUNhG85jz6nxM7i+iP7Gbp+KIt8w+ogDFi2OTz7b
	FwpJFi+lPLNmlaXUDFRih9TwhCawhFCoSX29tOmB8WHiMmPfPItWzQbmDjLg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1670724627; x=
	1670811027; bh=sg2cPuKe2Sk532Re3aGsL/PLgELaIrHgpLc2ZsAa7cs=; b=S
	YGtLBF8Jwnb2aH/2qmC62LGr3OHVMfcS6HNpVnzf19xqrer3PiLvnoVAxY84PHm4
	rKFCcdZYnMj2uVICTUZwPVjhxvlqaZ6juXRjdozjUs76Hf0qp6moVvnQ+DLP8jve
	bVEHNTgx6ijJsQakcXFBtrcmzDO7ndMsFB/5Q+Q5DHWtA1pFfO3ziiKmecpULf/I
	v8wHtjdeKNYMgoEyEqwtNnTkp4wTbIQt6kDypOy14k2pVJ4ajCSGTewhhegk53DP
	4iIU4k5po8suOFMRPUgTKGkqxGJVRG7HxstU5rVrda+02m7n07KXJWNA83vcoW3m
	mqme8hr+OVHQLsMU2M68w==
X-ME-Sender: <xms:EzyVY1JsujUKilRQeU3xwbO-adlJnuDw8N8-kz3nKDTTnLcYxwR27w>
    <xme:EzyVYxLnP531ElgIpBbwT80iDSmt8Qa1Wu49yk4ad84tHIa7UMPs2kLweEmJRu2A7
    InIrgd_QVLcSw>
X-ME-Received: <xmr:EzyVY9vmx_WDq5jtbtKTSqLGm7QQVeL8FYW7meHFv46j9B5nhcoS0aNrLFQEsHIQuhezbe5ZMq6iqqXlZqsL5MkGl4asZzjBxxHPShkD5tqUcSPfEeE>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehgdeggecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfeu
    udehgfdvfeehhedujeehfeduveeugefhkefhheelgeevudetueeiudfggfffnecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:EzyVY2Z5TUAEl9ja2zreCfwyjn_4CwAscI2kNnObavWBsbLYyduiPA>
    <xmx:EzyVY8YYWpYGpWVDpKTmAowArR9e5zNelqs3HyNDryxJovUV3YFQtg>
    <xmx:EzyVY6AMDQIxNQhiP06MvTUcSLurovuAJwq0a8TxjnkjyRiBxwir-A>
    <xmx:EzyVY7yNXhne7H8kwNPfopk7elhV3t3AvwVFuO1VRocVPrpjuR73MQ>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 2/3] drivers/char: search all buses for xhci
Date: Sun, 11 Dec 2022 03:10:05 +0100
Message-Id: <34d3e4e4067b86183e6d834c8bc93736f058fe19.1670724490.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.37.3
In-Reply-To: <cover.932f486c1b08268190342f8918b09fa6a7c3f149.1670724490.git-series.marmarek@invisiblethingslab.com>
References: <cover.932f486c1b08268190342f8918b09fa6a7c3f149.1670724490.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On (at least some) AMD systems, XHCI isn't on bus 0 (in my case, it was
bus 4). Search all of them.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 xen/drivers/char/xhci-dbc.c | 84 +++++++++++++++++++++++++++++---------
 1 file changed, 66 insertions(+), 18 deletions(-)

diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index 60b781f87202..62b0ce88b6bf 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -286,39 +286,87 @@ static void *dbc_sys_map_xhc(uint64_t phys, size_t size)
     return fix_to_virt(FIX_XHCI_END);
 }
 
+static void xhci_bios_handoff(struct dbc *dbc)
+{
+    const uint32_t __iomem *xcap;
+    uint32_t xcap_val;
+    uint32_t next;
+    uint32_t id = 0;
+    const void __iomem *mmio = dbc->xhc_mmio;
+    const uint32_t __iomem *hccp1 = mmio + 0x10;
+    const uint32_t LEGACY_ID = 0x1;
+    int ttl = 48;
+    int timeout = 10000;
+
+    xcap = mmio;
+    /*
+     * This is initially an offset to the first capability. All the offsets
+     * (both in HCCP1 and then next capability pointer) are dword-based.
+     */
+    next = (readl(hccp1) & 0xFFFF0000) >> 16;
+
+    while ( id != LEGACY_ID && next && ttl-- )
+    {
+        xcap += next;
+        xcap_val = readl(xcap);
+        id = xcap_val & 0xFF;
+        next = (xcap_val & 0xFF00) >> 8;
+    }
+
+    if ( id != LEGACY_ID )
+        return;
+
+    xcap_val = readl(xcap);
+#define XHCI_HC_BIOS_OWNED (1U << 16)
+#define XHCI_HC_OS_OWNED (1U << 24)
+    if (xcap_val & XHCI_HC_BIOS_OWNED) {
+        dbc_error("bios owned\n");
+        writeb(1, (uint8_t*)xcap + 3);
+        while ((readl(xcap) & (XHCI_HC_BIOS_OWNED | XHCI_HC_OS_OWNED)) != XHCI_HC_OS_OWNED)
+        {
+            cpu_relax();
+            if (!--timeout)
+                break;
+        }
+        if (!timeout)
+            dbc_error("handoff timeout\n");
+        xcap_val = readl(xcap + 1);
+        xcap_val &= ((0x7 << 1) + (0xff << 5) + (0x7 << 17)); // XHCI_LEGACY_DISABLE_SMI
+        xcap_val |= (0x7 << 29); // XHCI_LEGACY_SMI_EVENTS
+        writel(xcap_val, xcap + 1);
+    }
+}
+
 static bool __init dbc_init_xhc(struct dbc *dbc)
 {
     uint32_t bar0;
     uint64_t bar1;
     uint64_t bar_val;
     uint64_t bar_size;
-    uint64_t devfn;
+    unsigned int bus, devfn;
     uint16_t cmd;
     size_t xhc_mmio_size;
 
     if ( dbc->sbdf.sbdf == 0 )
     {
-        /*
-         * Search PCI bus 0 for the xHC. All the host controllers supported so
-         * far are part of the chipset and are on bus 0.
-         */
-        for ( devfn = 0; devfn < 256; devfn++ )
-        {
-            pci_sbdf_t sbdf = PCI_SBDF(0, 0, devfn);
-            uint8_t hdr = pci_conf_read8(sbdf, PCI_HEADER_TYPE);
-
-            if ( hdr == 0 || hdr == 0x80 )
+        for ( bus = 0; bus < 0x100; bus++ )
+            for ( devfn = 0; devfn < 256; devfn++ )
             {
-                if ( (pci_conf_read32(sbdf, PCI_CLASS_REVISION) >> 8) ==
-                     DBC_XHC_CLASSC )
+                pci_sbdf_t sbdf = PCI_SBDF(0, bus, devfn);
+                uint8_t hdr = pci_conf_read8(sbdf, PCI_HEADER_TYPE);
+
+                if ( hdr == 0 || hdr == 0x80 )
                 {
-                    if ( dbc->xhc_num-- )
-                        continue;
-                    dbc->sbdf = sbdf;
-                    break;
+                    if ( (pci_conf_read32(sbdf, PCI_CLASS_REVISION) >> 8) ==
+                         DBC_XHC_CLASSC )
+                    {
+                        if ( dbc->xhc_num-- )
+                            continue;
+                        dbc->sbdf = sbdf;
+                        break;
+                    }
                 }
             }
-        }
     }
     else
     {
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 02:56:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 02:56:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458745.716550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4CW3-0000yO-8M; Sun, 11 Dec 2022 02:56:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458745.716550; Sun, 11 Dec 2022 02:56:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4CW3-0000yH-5f; Sun, 11 Dec 2022 02:56:35 +0000
Received: by outflank-mailman (input) for mailman id 458745;
 Sun, 11 Dec 2022 02:56:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4CW2-0000y7-6e; Sun, 11 Dec 2022 02:56:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4CW2-0003KY-40; Sun, 11 Dec 2022 02:56:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4CW1-0005FS-Lx; Sun, 11 Dec 2022 02:56:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4CW1-0003KP-LQ; Sun, 11 Dec 2022 02:56:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GCZwjldpvcuhp9ZPFjzO0GTVntPlRJ4OV27N9bYzCAo=; b=F8HmD2NOfYDREYcW4/YpYFA19x
	Xwg+lYZz/9C+W7/CX+tspvjyrDAylbuE9cRLSwXy0oFWoVvLmzsIzwe+GZfdo6Qlk0kkne/ADp1O+
	EBT0MzMxttNJOJJtNr0iQZqC5r9uRW1L6TXBTx+pvcrU31c3ZdCTfoeEdEd/vGB0EUlI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175143-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175143: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3ecc37918c80ffdbfa8f08d3e75a0a9fca1c1979
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 11 Dec 2022 02:56:33 +0000

flight 175143 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175143/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                3ecc37918c80ffdbfa8f08d3e75a0a9fca1c1979
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   64 days
Failing since        173470  2022-10-08 06:21:34 Z   63 days  127 attempts
Testing same since   175132  2022-12-10 00:12:18 Z    1 days    3 attempts

------------------------------------------------------------
1991 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 191649 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 04:34:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 04:34:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458757.716562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4E2s-00049U-CX; Sun, 11 Dec 2022 04:34:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458757.716562; Sun, 11 Dec 2022 04:34:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4E2s-00049N-99; Sun, 11 Dec 2022 04:34:34 +0000
Received: by outflank-mailman (input) for mailman id 458757;
 Sun, 11 Dec 2022 04:34:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=97oD=4J=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1p4E2q-00049H-CM
 for xen-devel@lists.xenproject.org; Sun, 11 Dec 2022 04:34:32 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 196c47dd-790d-11ed-8fd2-01056ac49cbb;
 Sun, 11 Dec 2022 05:34:30 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 4C57A5C00A4;
 Sat, 10 Dec 2022 23:34:28 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Sat, 10 Dec 2022 23:34:28 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 10 Dec 2022 23:34:27 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 196c47dd-790d-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670733268; x=
	1670819668; bh=chhYKh/CMMmsyYSQfasACEtZAA6+Sia57vZRrvVicoQ=; b=o
	QLrIjW5plTAFvPDbxLd7DJsR9m/tqfmadK2+JlvLylx4/xrkmk+C6avpcsGDKlB0
	y2OI6N2ahUaNKrORD1fBPXGsRKgCfaM2PnMlquZusySxbp+txpU/7sKGaYoc9CvA
	Cu9K4/lfKfDWn6rwjSojyOKGS0OY8YToOhmVcPwex18HpQMKzVdcMuTt6iIXzDm8
	i9kxv4aaSTxMQVm4OC5kGyhRXB4H5L/ZeaxSUF+5H+ER38HwyUzL9X4AWDJhhm3x
	KJBSfiuep1Y2sSD4NzgKL7HhIb3cvyzcrUrcyQbSDC8100awdn0WcchXx5K98Z/q
	6ky51c1HrXo/F5sGVJsiA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1670733268; x=1670819668; bh=chhYKh/CMMmsyYSQfasACEtZAA6+
	Sia57vZRrvVicoQ=; b=jO2fW3DDHsTllT3fn5xXl+xwPvHB81nQt3kGjmvgzYR7
	+/NLoPA4zswzGevhPFvZV3XZ0GsYdYGSiphB6i4/N+q5JRJriRemSUO8eIMtQe3b
	7fjjAVE6apgR0JjtxZEQXkuGYLXGofBWKqXE5pNFMIxhIqYXCJnBwvnst+hNf4qj
	X3dwCz/XC6/yC+Jza4vQtnypUhwzVp7lofPIdCZhp5GbkTRYTMDCqDN6nENxdGb6
	XAXDH0MYRHAlq1HoRx6tWrWw51U21zMUmr7vx5TKUWJlN4SqyNTOBZiJSZQY27Da
	C7JpPEL51uHgSxY+ULKMXSEEK9QPZDCscUQ6gLLFuw==
X-ME-Sender: <xms:1F2VY2t5kKxTTLcAM2fFh1xgZVV3mUIpbRWwaOdEHuuUlsJG4ND1vw>
    <xme:1F2VY7fwM0fD1vUr3r-skSZoQb6QeC7jyh5uXkyuQq5Hr3P4dRyXyJZYjHPo7JLjb
    -NEa_Zc11JdDw>
X-ME-Received: <xmr:1F2VYxxAdo3K66LMjY1jkPVSJaHGlNGmcHuJml8Dgh2m2_a1HeYFnEamvY-8ZJ7JNZbbX7a2hbt1Q1Ex0Xj6v3SFWV53PJCkXw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehgdejgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeeukeet
    teeggffgkeduheetgeeileejjeeiiefhjeegvefhtefggfetueetteeuteenucffohhmrg
    hinhepghhithhhuhgsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghm
    pehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomh
X-ME-Proxy: <xmx:1F2VYxPgpR9nIGChrJ2G4WsTQm0hWxutYOgXw5KlEZN8Y0LVbivhSg>
    <xmx:1F2VY28-uciQwWxvxPI0AZ6xQ8CbZlY5SVyg4JxrWT52uHcMFTl8mQ>
    <xmx:1F2VY5XrMTbcY7vTDFDr2jOLnuSMe3YmAVIMkqU62FRZtfRW1rzYBA>
    <xmx:1F2VY7HEaH5eiB012xPbSZR9WTIJssAsYLntGN6gs6_9hoG2XsOQNg>
Feedback-ID: i1568416f:Fastmail
Date: Sun, 11 Dec 2022 05:34:23 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>
Subject: Re: Linux 6.0.8 generates L1TF-vulnerable PTE if Xen's PAT is
 modified
Message-ID: <Y5Vd0Oqu1J7Z0j4R@mail-itl>
References: <Y5OBOHd7hFGR+4GT@itl-email>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="Nud4phUDaN+ZKygB"
Content-Disposition: inline
In-Reply-To: <Y5OBOHd7hFGR+4GT@itl-email>


--Nud4phUDaN+ZKygB
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sun, 11 Dec 2022 05:34:23 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>,
	Juergen Gross <jgross@suse.com>
Subject: Re: Linux 6.0.8 generates L1TF-vulnerable PTE if Xen's PAT is
 modified

On Fri, Dec 09, 2022 at 01:40:53PM -0500, Demi Marie Obenour wrote:
> If Xen is patched to use the same PAT Linux does, it appears to break
> L1TF mitigations in PV Linux 6.0.8.  Linux 5.15.81 works fine.  The
> symptom is that Linux fails to boot, with Xen complaining about an
> L1TF-vulnerable PTE with shadow paging disabled.
>=20
> Details are at https://github.com/QubesOS/qubes-issues/issues/7935.

Call trace:

(early) [    0.417527] RIP: e030:xen_hypercall_mmu_update+0x8/0x20
(early) [    0.417534] Code: cc cc 51 41 53 b8 00 00 00 00 0f 05 41 5b 59 c=
3 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc 51 41 53 b8 01 00 0=
0 00 <0f> 05 41 5b 59 c3 cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc cc
(early) [    0.417537] RSP: e02b:ffffffff82c03d68 EFLAGS: 00000046
(early) [    0.417540] RAX: 0000000000000001 RBX: 000000039f788000 RCX: fff=
fffff81e2502a
(early) [    0.417543] RDX: 0000000000000000 RSI: 0000000080000001 RDI: fff=
fffff82c03d80
(early) [    0.417546] RBP: 8010000013600066 R08: ffff888018f88000 R09: 000=
0000000000000
(early) [    0.417548] R10: 0000000000007ff0 R11: 0000000000000246 R12: 000=
0000000000000
(early) [    0.417550] R13: 0000000000000000 R14: 0000000000000000 R15: 000=
0000000000000
(early) [    0.417557] FS:  0000000000000000(0000) GS:ffff888013e00000(0000=
) knlGS:0000000000000000
(early) [    0.417560] CS:  10000e030 DS: 0000 ES: 0000 CR0: 00000000800500=
33
(early) [    0.417562] CR2: ffffc900007cf000 CR3: 0000000002c10000 CR4: 000=
0000000040660
(early) [    0.417567] Call Trace:
(early) [    0.417570]  <TASK>
(early) [    0.417573]  ? __xen_set_pte+0xdc/0x210
(early) [    0.417578]  ? kfence_protect_page+0x68/0xd0
(early) [    0.417582]  ? kfence_init_pool+0x12d/0x280
(early) [    0.417586]  ? kfence_init_pool_early+0x4c/0x281
(early) [    0.417591]  ? kfence_init+0x3f/0xc4
(early) [    0.417594]  ? start_kernel+0x40d/0x6ef
(early) [    0.417599]  ? xen_start_kernel+0x5c4/0x5e9
(early) [    0.417603]  ? startup_xen+0x1f/0x1f
(early) [    0.417607]  </TASK>

Automated bisect in progress.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--Nud4phUDaN+ZKygB
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmOVXdAACgkQ24/THMrX
1yxSaggAgvftqn9tgFVvaPpsZRK6mBvsIaQpA5F6U8mG+YJuH+0jDX0cAKTqFGre
we7nV62vqcr3JrcD0Us+n0+ZgcGPCYQx4Sn6WF7pSNVKcrfrhR8nTgschW55gGKC
XKL69Mx8S2odx9byxdDYsyajY4hvJy6bxZ+T9giTC1oPWed5G56fiAZX745vYpFG
+9a9vv+hxDXyz/JuesXhxAAcYHAEq3ceZlrM61v77Kcy/vWNANf1VRkHZxovtdJo
iVz8XUxTAjkGVSEQhY8Le3wFWS+8fGhmnJW1Jfm8p3Z4f3HUaFZ3lFmMh5KUGUsD
QHg+WZIjtmj9whxNo3tRmKdotMyrUg==
=oTV6
-----END PGP SIGNATURE-----

--Nud4phUDaN+ZKygB--


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 06:29:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 06:29:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458778.716573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4FqN-0000SC-KC; Sun, 11 Dec 2022 06:29:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458778.716573; Sun, 11 Dec 2022 06:29:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4FqN-0000S5-H6; Sun, 11 Dec 2022 06:29:47 +0000
Received: by outflank-mailman (input) for mailman id 458778;
 Sun, 11 Dec 2022 06:29:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TYDf=4J=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p4FqM-0000Ry-4k
 for xen-devel@lists.xenproject.org; Sun, 11 Dec 2022 06:29:46 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 337fdd10-791d-11ed-91b6-6bf2151ebd3b;
 Sun, 11 Dec 2022 07:29:44 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id F36A95C93E;
 Sun, 11 Dec 2022 06:29:43 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D654413413;
 Sun, 11 Dec 2022 06:29:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id He0UM9d4lWOkKAAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 11 Dec 2022 06:29:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 337fdd10-791d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670740184; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=QrbjmrDGUd9F3B2fw0U6cMSESF0MWdGudNrDHZgqs8c=;
	b=VyQh40gbtrrisRwHC6SyhNRfp3HaMBG1BspKmm+UbLcVrgdEYryKFx/nwGzJbZZUEMRwSh
	rDBs/MIQfbBZ+47z4dfQTUt24QYWSI3kPpB9wf8c1EVLnQBB8/jD5TUHs1A9yp+HOQ85Cf
	oC8LaC2ddZ2HfvJJNqX0g2qmTPkb8/U=
Message-ID: <ca3eaab6-8bbb-6169-6c9c-3fbf000f6e53@suse.com>
Date: Sun, 11 Dec 2022 07:29:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
References: <Y5OBOHd7hFGR+4GT@itl-email> <Y5Vd0Oqu1J7Z0j4R@mail-itl>
From: Juergen Gross <jgross@suse.com>
Subject: Re: Linux 6.0.8 generates L1TF-vulnerable PTE if Xen's PAT is
 modified
In-Reply-To: <Y5Vd0Oqu1J7Z0j4R@mail-itl>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------FWVEI5EeosqtLSHPqEvtr6v0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------FWVEI5EeosqtLSHPqEvtr6v0
Content-Type: multipart/mixed; boundary="------------rd1O3qjcLL8LCR6OFu2CsVbT";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Xen developer discussion <xen-devel@lists.xenproject.org>
Message-ID: <ca3eaab6-8bbb-6169-6c9c-3fbf000f6e53@suse.com>
Subject: Re: Linux 6.0.8 generates L1TF-vulnerable PTE if Xen's PAT is
 modified
References: <Y5OBOHd7hFGR+4GT@itl-email> <Y5Vd0Oqu1J7Z0j4R@mail-itl>
In-Reply-To: <Y5Vd0Oqu1J7Z0j4R@mail-itl>

--------------rd1O3qjcLL8LCR6OFu2CsVbT
Content-Type: multipart/mixed; boundary="------------X3dSAC7APBOv3GXR1kkDBTKG"

--------------X3dSAC7APBOv3GXR1kkDBTKG
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTEuMTIuMjIgMDU6MzQsIE1hcmVrIE1hcmN6eWtvd3NraS1Hw7NyZWNraSB3cm90ZToN
Cj4gT24gRnJpLCBEZWMgMDksIDIwMjIgYXQgMDE6NDA6NTNQTSAtMDUwMCwgRGVtaSBNYXJp
ZSBPYmVub3VyIHdyb3RlOg0KPj4gSWYgWGVuIGlzIHBhdGNoZWQgdG8gdXNlIHRoZSBzYW1l
IFBBVCBMaW51eCBkb2VzLCBpdCBhcHBlYXJzIHRvIGJyZWFrDQo+PiBMMVRGIG1pdGlnYXRp
b25zIGluIFBWIExpbnV4IDYuMC44LiAgTGludXggNS4xNS44MSB3b3JrcyBmaW5lLiAgVGhl
DQo+PiBzeW1wdG9tIGlzIHRoYXQgTGludXggZmFpbHMgdG8gYm9vdCwgd2l0aCBYZW4gY29t
cGxhaW5pbmcgYWJvdXQgYW4NCj4+IEwxVEYtdnVsbmVyYWJsZSBQVEUgd2l0aCBzaGFkb3cg
cGFnaW5nIGRpc2FibGVkLg0KPj4NCj4+IERldGFpbHMgYXJlIGF0IGh0dHBzOi8vZ2l0aHVi
LmNvbS9RdWJlc09TL3F1YmVzLWlzc3Vlcy9pc3N1ZXMvNzkzNS4NCj4gDQo+IENhbGwgdHJh
Y2U6DQo+IA0KPiAoZWFybHkpIFsgICAgMC40MTc1MjddIFJJUDogZTAzMDp4ZW5faHlwZXJj
YWxsX21tdV91cGRhdGUrMHg4LzB4MjANCj4gKGVhcmx5KSBbICAgIDAuNDE3NTM0XSBDb2Rl
OiBjYyBjYyA1MSA0MSA1MyBiOCAwMCAwMCAwMCAwMCAwZiAwNSA0MSA1YiA1OSBjMyBjYyBj
YyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyBjYyA1MSA0
MSA1MyBiOCAwMSAwMCAwMCAwMCA8MGY+IDA1IDQxIDViIDU5IGMzIGNjIGNjIGNjIGNjIGNj
IGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjIGNjDQo+IChlYXJseSkgWyAgICAwLjQx
NzUzN10gUlNQOiBlMDJiOmZmZmZmZmZmODJjMDNkNjggRUZMQUdTOiAwMDAwMDA0Ng0KPiAo
ZWFybHkpIFsgICAgMC40MTc1NDBdIFJBWDogMDAwMDAwMDAwMDAwMDAwMSBSQlg6IDAwMDAw
MDAzOWY3ODgwMDAgUkNYOiBmZmZmZmZmZjgxZTI1MDJhDQo+IChlYXJseSkgWyAgICAwLjQx
NzU0M10gUkRYOiAwMDAwMDAwMDAwMDAwMDAwIFJTSTogMDAwMDAwMDA4MDAwMDAwMSBSREk6
IGZmZmZmZmZmODJjMDNkODANCj4gKGVhcmx5KSBbICAgIDAuNDE3NTQ2XSBSQlA6IDgwMTAw
MDAwMTM2MDAwNjYgUjA4OiBmZmZmODg4MDE4Zjg4MDAwIFIwOTogMDAwMDAwMDAwMDAwMDAw
MA0KPiAoZWFybHkpIFsgICAgMC40MTc1NDhdIFIxMDogMDAwMDAwMDAwMDAwN2ZmMCBSMTE6
IDAwMDAwMDAwMDAwMDAyNDYgUjEyOiAwMDAwMDAwMDAwMDAwMDAwDQo+IChlYXJseSkgWyAg
ICAwLjQxNzU1MF0gUjEzOiAwMDAwMDAwMDAwMDAwMDAwIFIxNDogMDAwMDAwMDAwMDAwMDAw
MCBSMTU6IDAwMDAwMDAwMDAwMDAwMDANCj4gKGVhcmx5KSBbICAgIDAuNDE3NTU3XSBGUzog
IDAwMDAwMDAwMDAwMDAwMDAoMDAwMCkgR1M6ZmZmZjg4ODAxM2UwMDAwMCgwMDAwKSBrbmxH
UzowMDAwMDAwMDAwMDAwMDAwDQo+IChlYXJseSkgWyAgICAwLjQxNzU2MF0gQ1M6ICAxMDAw
MGUwMzAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzDQo+IChlYXJs
eSkgWyAgICAwLjQxNzU2Ml0gQ1IyOiBmZmZmYzkwMDAwN2NmMDAwIENSMzogMDAwMDAwMDAw
MmMxMDAwMCBDUjQ6IDAwMDAwMDAwMDAwNDA2NjANCj4gKGVhcmx5KSBbICAgIDAuNDE3NTY3
XSBDYWxsIFRyYWNlOg0KPiAoZWFybHkpIFsgICAgMC40MTc1NzBdICA8VEFTSz4NCj4gKGVh
cmx5KSBbICAgIDAuNDE3NTczXSAgPyBfX3hlbl9zZXRfcHRlKzB4ZGMvMHgyMTANCj4gKGVh
cmx5KSBbICAgIDAuNDE3NTc4XSAgPyBrZmVuY2VfcHJvdGVjdF9wYWdlKzB4NjgvMHhkMA0K
PiAoZWFybHkpIFsgICAgMC40MTc1ODJdICA/IGtmZW5jZV9pbml0X3Bvb2wrMHgxMmQvMHgy
ODANCj4gKGVhcmx5KSBbICAgIDAuNDE3NTg2XSAgPyBrZmVuY2VfaW5pdF9wb29sX2Vhcmx5
KzB4NGMvMHgyODENCj4gKGVhcmx5KSBbICAgIDAuNDE3NTkxXSAgPyBrZmVuY2VfaW5pdCsw
eDNmLzB4YzQNCj4gKGVhcmx5KSBbICAgIDAuNDE3NTk0XSAgPyBzdGFydF9rZXJuZWwrMHg0
MGQvMHg2ZWYNCj4gKGVhcmx5KSBbICAgIDAuNDE3NTk5XSAgPyB4ZW5fc3RhcnRfa2VybmVs
KzB4NWM0LzB4NWU5DQo+IChlYXJseSkgWyAgICAwLjQxNzYwM10gID8gc3RhcnR1cF94ZW4r
MHgxZi8weDFmDQo+IChlYXJseSkgWyAgICAwLjQxNzYwN10gIDwvVEFTSz4NCj4gDQo+IEF1
dG9tYXRlZCBiaXNlY3QgaW4gcHJvZ3Jlc3MuDQo+IA0KDQpJIHRoaW5rIHRoaXMgaXMgYSBi
dWcgaW4gdGhlIGtmZW5jZSBjb2RlLiBKdXN0IHNldHRpbmcgYSBwdGUgdG8gaW52YWxpZA0K
d2l0aG91dCBjbGVhcmluZyB0aGUgcGZuIGlzIGdvaW5nIHRvIHJlc3VsdCBpbiBMMVRGIHZ1
bG5lcmFibGUgUFRFcy4NCg0KV2h5IHRoaXMgd291bGQgYmUgcmVsYXRlZCB0byBYZW4ncyBQ
QVQgc2V0dGluZ3MgSSBoYXZlIG5vIGlkZWEsIHRob3VnaC4NCg0KDQpKdWVyZ2VuDQo=
--------------X3dSAC7APBOv3GXR1kkDBTKG
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------X3dSAC7APBOv3GXR1kkDBTKG--

--------------rd1O3qjcLL8LCR6OFu2CsVbT--

--------------FWVEI5EeosqtLSHPqEvtr6v0
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOVeNcFAwAAAAAACgkQsN6d1ii/Ey85
Ugf+JTJVDRVEw809aDI/hy4cNF7KVardiEhzffeD5aLdenRt8b4oFMWeVAzD0n+0Skvniap6ZERD
rlfEQ6lLDwNxAQeiC3BcwGpUuMA5q15CfiioMaPo91rIsWYHKnJXary9QMXZ7a2f6dlGpKucCRZ7
wpGIJmyY8ebWmZVuOnnH1TGRwElfIMlOmFvLpUFn7kVByXT0aYSiDFNvUZ4fOfh9EYFYSvryxvYe
Vl1HgQy/55Zq0G6Z9qtybuTQzGVzZFoidr2MimDLbgJor/+kRVm1p0XgHSwmHW81HPS28lX/1L6w
+fgSRJatPTy0Ov9XpeWyLRu2VlGzVAZjYRhBw+xSSQ==
=7crL
-----END PGP SIGNATURE-----

--------------FWVEI5EeosqtLSHPqEvtr6v0--


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 09:06:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 09:06:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458848.716584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4IHN-0002PE-Tj; Sun, 11 Dec 2022 09:05:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458848.716584; Sun, 11 Dec 2022 09:05:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4IHN-0002P7-Qe; Sun, 11 Dec 2022 09:05:49 +0000
Received: by outflank-mailman (input) for mailman id 458848;
 Sun, 11 Dec 2022 09:05:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4IHN-0002Ox-5p; Sun, 11 Dec 2022 09:05:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4IHN-0004Jw-1z; Sun, 11 Dec 2022 09:05:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4IHM-0001K7-Cv; Sun, 11 Dec 2022 09:05:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4IHM-0003Nm-CO; Sun, 11 Dec 2022 09:05:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ull5GnxCqR9MgDIv/lFVJci3uTJswznB/vbTsuFaUMg=; b=eenV1G4bG+PxeKIV3N8/jhg4Dp
	ZkKhp6B7br7NPoMUElVtChCvJctqUMJYnuGZKCtbDjUuu2E/SxYrl0eYzA9iKo3IZfzuBzQHZUgx7
	ReCohzE3FHEearSpJ6WRamfjOLIPmnmKCjvMCBCASNMX2agdd/N9/pz/GR2DXtp4Z82E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175144-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175144: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:heisenbug
    xen-unstable:test-amd64-coresched-i386-xl:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 11 Dec 2022 09:05:48 +0000

flight 175144 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175144/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine       6 xen-install                fail pass in 175141
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail pass in 175141
 test-amd64-coresched-i386-xl 20 guest-localmigrate/x10     fail pass in 175141
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175141

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175141
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175141
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175141
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175141
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175141
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175141
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175141
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175141
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175141
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175141
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175141
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175141
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175144  2022-12-11 01:55:01 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Dec 11 11:10:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 11:10:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458877.716595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4KDp-0000Fh-1q; Sun, 11 Dec 2022 11:10:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458877.716595; Sun, 11 Dec 2022 11:10:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4KDo-0000Fa-Um; Sun, 11 Dec 2022 11:10:16 +0000
Received: by outflank-mailman (input) for mailman id 458877;
 Sun, 11 Dec 2022 11:10:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4KDn-0000FD-Gu
 for xen-devel@lists.xenproject.org; Sun, 11 Dec 2022 11:10:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4KDm-00076s-1d; Sun, 11 Dec 2022 11:10:14 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4KDl-0003wb-S7; Sun, 11 Dec 2022 11:10:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=JJQLY4gzE7vdjqFZ8y3xCY0q5TVfAjyFOWUximPDPdk=; b=hiY7qaQLgYXzVwxJHBctnsR5UL
	83qGgUTc3Lud/Uwxgb7hEswT8c49rtGbhf4xu1HRs2nLECYz20WQQUxOj7+MRXuAWxtfxUSsFFd1B
	OrZiPwzDDOlnFKPBlcXbdOnqi235vV+bFWKGCsgDZff+/valZalU0uoqo3p1nWEtsnYA=;
Message-ID: <25584924-2701-dfcc-58c1-b9a0e4036fc1@xen.org>
Date: Sun, 11 Dec 2022 11:10:11 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v2] xen/arm: efi-boot misra rule 4.1 fix
To: Stefano Stabellini <sstabellini@kernel.org>, bertrand.marquis@arm.com
Cc: Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org,
 jbeulich@suse.com, Luca.Fancellu@arm.com,
 Stefano Stabellini <stefano.stabellini@amd.com>
References: <20221209222552.3353993-1-sstabellini@kernel.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221209222552.3353993-1-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 09/12/2022 22:25, Stefano Stabellini wrote:
> We have 3 violations of MISRA C Rule 4.1 ("Octal and hexadecimal escape
> sequences shall be terminated") in xen/arch/arm/efi/efi-boot.h. Fix them
> and take the opportunity to declare them as static const __initconst and
> improve the style.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 12:15:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 12:15:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458899.716607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4LEf-0007y6-5r; Sun, 11 Dec 2022 12:15:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458899.716607; Sun, 11 Dec 2022 12:15:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4LEf-0007xu-07; Sun, 11 Dec 2022 12:15:13 +0000
Received: by outflank-mailman (input) for mailman id 458899;
 Sun, 11 Dec 2022 12:15:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TYDf=4J=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p4LEd-0007x3-JM
 for xen-devel@lists.xenproject.org; Sun, 11 Dec 2022 12:15:11 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 736e24df-794d-11ed-8fd2-01056ac49cbb;
 Sun, 11 Dec 2022 13:15:09 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 300D035334;
 Sun, 11 Dec 2022 12:15:07 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id F16A91376E;
 Sun, 11 Dec 2022 12:15:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 3D1rOcrJlWOGEQAAMHmgww
 (envelope-from <jgross@suse.com>); Sun, 11 Dec 2022 12:15:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 736e24df-794d-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670760907; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type;
	bh=0/65jsHiJnNkwjkY49Ge2ZmtQq4CjJ+RG5OmMB+oBl8=;
	b=YK7Hyy+53fF/Odhxe9+wlnIW7kf97AhZjWfMVAPOSi3dr6ognVLCkOn63XC4jRCn8kRsa+
	uGWSLbDh/Mr5u6zMXgPheathpLQs7Atqt79Gn/p568bNG0fYGLOHQWhK6hFYnuo5lKV99I
	YTa+bNBXX3Qo1ac7vBqshkkq6YX5G0E=
Message-ID: <c18bc798-f484-ad66-fbb0-15192a74f8e3@suse.com>
Date: Sun, 11 Dec 2022 13:15:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Content-Language: en-US
To: Alexander Potapenko <glider@google.com>, Marco Elver <elver@google.com>
Cc: kasan-dev <kasan-dev@googlegroups.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Demi Marie Obenour <demi@invisiblethingslab.com>
From: Juergen Gross <jgross@suse.com>
Subject: kfence_protect_page() writing L1TF vulnerable PTE
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ZRUJdiEHFWPIctjasAeGHXyx"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ZRUJdiEHFWPIctjasAeGHXyx
Content-Type: multipart/mixed; boundary="------------PxzJOsklqGZLVS2TT8Wt8wCw";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Alexander Potapenko <glider@google.com>, Marco Elver <elver@google.com>
Cc: kasan-dev <kasan-dev@googlegroups.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Demi Marie Obenour <demi@invisiblethingslab.com>
Message-ID: <c18bc798-f484-ad66-fbb0-15192a74f8e3@suse.com>
Subject: kfence_protect_page() writing L1TF vulnerable PTE

--------------PxzJOsklqGZLVS2TT8Wt8wCw
Content-Type: multipart/mixed; boundary="------------09GL24rRcr6QqZBnCeKOoI7R"

--------------09GL24rRcr6QqZBnCeKOoI7R
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

RHVyaW5nIHRlc3RzIHdpdGggUXViZXNPUyBhIHByb2JsZW0gd2FzIGZvdW5kIHdoaWNoIHNl
ZW1lZCB0byBiZSByZWxhdGVkDQp0byBrZmVuY2VfcHJvdGVjdF9wYWdlKCkgd3JpdGluZyBh
IEwxVEYgdnVsbmVyYWJsZSBwYWdlIHRhYmxlIGVudHJ5IFsxXS4NCg0KTG9va2luZyBpbnRv
IHRoZSBmdW5jdGlvbiBJJ20gc2VlaW5nOg0KDQoJc2V0X3B0ZShwdGUsIF9fcHRlKHB0ZV92
YWwoKnB0ZSkgJiB+X1BBR0VfUFJFU0VOVCkpOw0KDQpJIGRvbid0IHRoaW5rIHRoaXMgY2Fu
IGJlIGNvcnJlY3QsIGFzIGtlZXBpbmcgdGhlIFBGTiB1bm1vZGlmaWVkIGFuZA0KanVzdCBy
ZW1vdmluZyB0aGUgX1BBR0VfUFJFU0VOVCBiaXQgaXMgd3JvbmcgcmVnYXJkaW5nIEwxVEYu
DQoNClRoZXJlIHNob3VsZCBiZSBhdCBsZWFzdCB0aGUgaGlnaGVzdCBQRk4gYml0IHNldCBp
biBvcmRlciB0byBiZSBMMVRGDQpzYWZlLg0KDQoNCkp1ZXJnZW4NCg0KWzFdOiBodHRwczov
L2dpdGh1Yi5jb20vUXViZXNPUy9xdWJlcy1pc3N1ZXMvaXNzdWVzLzc5MzUNCg==
--------------09GL24rRcr6QqZBnCeKOoI7R
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------09GL24rRcr6QqZBnCeKOoI7R--

--------------PxzJOsklqGZLVS2TT8Wt8wCw--

--------------ZRUJdiEHFWPIctjasAeGHXyx
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOVycoFAwAAAAAACgkQsN6d1ii/Ey92
2Qf/TgMVuqQDkxg9jaeTZpkEDD0D9gh/np1oEiIpQHpvyGZdwlbCuYlEIn6f3VmlF9W4q3JVS1r0
Px1zaKCsHOvxWw2e3cv2ZZEgs6WTX881bdJBvWWxvuYmim2sHZ7QvSgL+5jJFfTjpWhpa262swie
7uglGNyp0dKhH8Mh2BdUxRQ2PYRyccgqMpjPL+Y9ZkkCIo3rsMrqXi1l7bE/rD72kBrAUj2Vh0Ci
US/qhHbN+9vrn6oRWq7YGMsEk08HMQ3gjOut9HaWhSKybSL/P3SKhdjzJNwX421RKsL8EsVL85Pk
EgMWHlecPEnEK+nnZJ/9cjMumELnMVD7umvlHvVsKQ==
=Hl4S
-----END PGP SIGNATURE-----

--------------ZRUJdiEHFWPIctjasAeGHXyx--


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 14:04:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 14:04:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458920.716617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4MwS-0003jJ-TU; Sun, 11 Dec 2022 14:04:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458920.716617; Sun, 11 Dec 2022 14:04:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4MwS-0003jC-QA; Sun, 11 Dec 2022 14:04:32 +0000
Received: by outflank-mailman (input) for mailman id 458920;
 Sun, 11 Dec 2022 14:04:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4MwS-0003j2-6l; Sun, 11 Dec 2022 14:04:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4MwS-0002ht-4y; Sun, 11 Dec 2022 14:04:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4MwR-0007rl-KO; Sun, 11 Dec 2022 14:04:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4MwR-0008ME-Js; Sun, 11 Dec 2022 14:04:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FfOeYmE3iquIX/4giwzFZXbD4/IJJlmIf94F+eyMFpE=; b=4wFvqeVSUk7eHQTTVwifH+ImAz
	/5AM2pGb6wKmU8nK58Y+3FB/5yK4XwcVLp/naHjzFnu3p/wRlHPJqcA1nEy8yidQ7/IE0K0CZSASj
	lTKg3NBpE8ZSHjKpdLsofmi3H7k66Dn0nSB5scWw3j5+narO8eVm4eZN5B6Zoo4mTi1o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175145-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175145: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4cee37b3a4e68c42b867c87a6218e11bc571ba66
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 11 Dec 2022 14:04:31 +0000

flight 175145 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175145/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                4cee37b3a4e68c42b867c87a6218e11bc571ba66
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   64 days
Failing since        173470  2022-10-08 06:21:34 Z   64 days  128 attempts
Testing same since   175145  2022-12-11 02:59:47 Z    0 days    1 attempts

------------------------------------------------------------
1994 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 192113 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 17:21:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 17:21:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458945.716628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4Q1B-0000wA-LE; Sun, 11 Dec 2022 17:21:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458945.716628; Sun, 11 Dec 2022 17:21:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4Q1B-0000w3-I3; Sun, 11 Dec 2022 17:21:37 +0000
Received: by outflank-mailman (input) for mailman id 458945;
 Sun, 11 Dec 2022 17:21:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4Q1A-0000vx-0N
 for xen-devel@lists.xenproject.org; Sun, 11 Dec 2022 17:21:36 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4Q19-0007hY-49; Sun, 11 Dec 2022 17:21:35 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4Q18-0006lh-Tx; Sun, 11 Dec 2022 17:21:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=H/iUM+dHj9pfWizdpbgipRHoRh3+HyQTjC/wlsfE548=; b=VdCdUamnRbCa3z5iFnG++kXvrl
	BELeC7QHHcGzGZRBe74Aefr2aRCNGU3xOkRBFtGVaK8jOxmLojM/nfecA5E55DDHgzBlyJHxYK0Qt
	m2XwjPkCyau/g4GrS50DMtxLTWuRaucSZameObVMcNeM8rvZ9a0nQ60E75W4GPs6cXLw=;
Message-ID: <3f20770a-229b-9195-40f4-3210b8940095@xen.org>
Date: Sun, 11 Dec 2022 17:21:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 0/4] xen: domain-tracked allocations, and fault injection
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Tamas K Lengyel <tamas@tklengyel.com>
References: <20201223163442.8840-1-andrew.cooper3@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20201223163442.8840-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Andrew,

On 23/12/2020 16:34, Andrew Cooper wrote:
> This was not the christmas hacking project that I was planning to do, but it
> has had some exciting results.
> 
> After some discussion on an earlier thread, Tamas has successfully got fuzzing
> of Xen working via kfx, and this series is a prototype for providing better
> testing infrastructure.
> 
> And to prove a point, this series has already found a memory leak in ARM's
> dom0less smoke test.

You mention this series recently on the ML. So I decided to give a try 
and manage to reproduce your "memory leak".

I put it in quote because the problem is not Arm and instead your code. 
If you look at the implementation of _dzalloc() you are using 
_xmalloc(). So the memory is not guaranteed to be zeroed after been 
allocation.

This is breaking the expectation of the callers. What you want is using 
"_xzalloc()'.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 17:24:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 17:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458953.716639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4Q3v-0001VD-0e; Sun, 11 Dec 2022 17:24:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458953.716639; Sun, 11 Dec 2022 17:24:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4Q3u-0001V6-Sz; Sun, 11 Dec 2022 17:24:26 +0000
Received: by outflank-mailman (input) for mailman id 458953;
 Sun, 11 Dec 2022 17:24:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4Q3u-0001V0-9L
 for xen-devel@lists.xenproject.org; Sun, 11 Dec 2022 17:24:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4Q3t-0007kE-RL; Sun, 11 Dec 2022 17:24:25 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4Q3t-0006xx-Mi; Sun, 11 Dec 2022 17:24:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=U3lvsE9dP4Nh9hapVj2EzyYqzOvhzo5QJqy/j97y7XU=; b=Ptsh7mBYShYEuMAuUVjZhTvlNZ
	SWQCJhdDJOUWmUQxgXnsOTCrpcJ0v/syioziVTjtYE8ofxzNm8/6egJ17Z1mEDP/8Ou7NDqUt+Bpy
	eZGI3SSTafefZQIee7EGf0i5xfVPJeSAkLZ6obZTCN7vk3AycfKxqP+uraK9PenwT+/s=;
Message-ID: <edb48cd8-85fc-bcee-f9f1-993b33d74178@xen.org>
Date: Sun, 11 Dec 2022 17:24:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 1/4] xen/dmalloc: Introduce dmalloc() APIs
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Tamas K Lengyel <tamas@tklengyel.com>
References: <20201223163442.8840-1-andrew.cooper3@citrix.com>
 <20201223163442.8840-2-andrew.cooper3@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20201223163442.8840-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Andrew,

On 23/12/2020 16:34, Andrew Cooper wrote:
> Wrappers for xmalloc() and friends, which track allocations tied to a specific
> domain.
> 
> Check for any leaked memory at domain destruction time.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Tamas K Lengyel <tamas@tklengyel.com>
> 
> RFC:
>   * This probably wants to be less fatal in release builds
>   * In an ideal world, we'd also want to count the total number of bytes
>     allocated from the xmalloc heap, which would be interesting to print in the
>     'q' debugkey.  However, that data is fairly invasive to obtain.
>   * More complicated logic could track the origins of each allocation, and be
>     able to identify which one(s) leaked.
> ---
>   xen/common/Makefile       |  1 +
>   xen/common/dmalloc.c      | 19 +++++++++++++++++++
>   xen/common/domain.c       |  6 ++++++
>   xen/include/xen/dmalloc.h | 29 +++++++++++++++++++++++++++++
>   xen/include/xen/sched.h   |  2 ++
>   5 files changed, 57 insertions(+)
>   create mode 100644 xen/common/dmalloc.c
>   create mode 100644 xen/include/xen/dmalloc.h
> 
> diff --git a/xen/common/Makefile b/xen/common/Makefile
> index 7a4e652b57..c5d9c23fd1 100644
> --- a/xen/common/Makefile
> +++ b/xen/common/Makefile
> @@ -5,6 +5,7 @@ obj-$(CONFIG_CORE_PARKING) += core_parking.o
>   obj-y += cpu.o
>   obj-$(CONFIG_DEBUG_TRACE) += debugtrace.o
>   obj-$(CONFIG_HAS_DEVICE_TREE) += device_tree.o
> +obj-y += dmalloc.o
>   obj-y += domain.o
>   obj-y += event_2l.o
>   obj-y += event_channel.o
> diff --git a/xen/common/dmalloc.c b/xen/common/dmalloc.c
> new file mode 100644
> index 0000000000..e3a0e546c2
> --- /dev/null
> +++ b/xen/common/dmalloc.c
> @@ -0,0 +1,19 @@
> +#include <xen/dmalloc.h>
> +#include <xen/sched.h>
> +#include <xen/xmalloc.h>
> +
> +void dfree(struct domain *d, void *ptr)
> +{
> +    atomic_dec(&d->dalloc_heap);
> +    xfree(ptr);
> +}
> +
> +void *_dzalloc(struct domain *d, size_t size, size_t align)
> +{
> +    void *ptr = _xmalloc(size, align);

The 'z' in _dzalloc() implies the memory will want to be zeroed. But 
here you are using _xmalloc().

This also explains the "memory leak" you reported. By switching to 
"_xzalloc()" and the problem disappears (at least on my setup).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 18:00:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 18:00:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458963.716650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4QcU-0006IJ-PI; Sun, 11 Dec 2022 18:00:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458963.716650; Sun, 11 Dec 2022 18:00:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4QcU-0006IC-MT; Sun, 11 Dec 2022 18:00:10 +0000
Received: by outflank-mailman (input) for mailman id 458963;
 Sun, 11 Dec 2022 18:00:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=97oD=4J=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1p4QcS-0006I3-OM
 for xen-devel@lists.xenproject.org; Sun, 11 Dec 2022 18:00:09 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a50482a0-797d-11ed-8fd2-01056ac49cbb;
 Sun, 11 Dec 2022 19:00:07 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 2D6215C00B1;
 Sun, 11 Dec 2022 13:00:06 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Sun, 11 Dec 2022 13:00:06 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 11 Dec 2022 13:00:04 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a50482a0-797d-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670781606; x=1670868006; bh=9/o//YpAd6bPNnp2ez44OcRIJkNkCRCgVpa
	pd+ho7Ao=; b=aB5HB6mUPJs2uf7aEqlH7AYmwLVBW/G8rBmRAhqsKIQAH38SEHM
	K0KC2ztPs2RxcWL3E4V0F6bJ/mJ6xIysLOJaIVnpvQ2HOqvCeM6Jlzo0ZWEYhddr
	KevfSWtTHya9NLy/Z7icTbODRS5ycft7xPEFJTHeZkVJAADGcY/Qxudgc/8z4b7F
	7rEjB/3Rypt8BNCwMJv2XJqYOVju1QxegkMHxzAezrzVG/W7A8N6cesbdvMNmaok
	rw1FzYsQNrPY5wRj2MFGTN5iUE0n32Ec5vObwWUCzLCXh7MZiHshbmhzdbbtTzHT
	T1oXFWtx3tEQ/MMk8jPcZLiPqd7Rljq6eHA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670781606; x=1670868006; bh=9/o//YpAd6bPN
	np2ez44OcRIJkNkCRCgVpapd+ho7Ao=; b=v/VJCdlO+J+u3+32D3XYQyf+sye62
	BSbsfDAelrSiTMK0Per6d9uwgIFwwGSUNfDzweOOeDhRjSAAgeANl+Kc5N2AwdYX
	gxzNE/6m3t954wwCX4N1lY2WEL8uEq90945CrcAHmFb0u9noDxMfziELc7zY9JKV
	/8q/EXDZytV6bewAJjdolMngFQNdX6k8Mf72GoOR/Jb4mqF5KpH1Q1z/j6SNl96G
	QbWrY3LNtagzhZi62fVjVmzK7YUAhaUNQL5arycUux4rszH91UcrftnYlchlbkt8
	NpVkHnm8/s8BWJefGL53MmfKFWGsiAg+AwIFDvL8Zt2xBpqA18mBg41Qg==
X-ME-Sender: <xms:pRqWYxz4cKfSLS1myd2cJetXNNJ4cKDBbEWSRS-Ewml4aIkUWpmwAA>
    <xme:pRqWYxToyBPlF1gf0C4eh9JnTt3Xw6KHUzIq9kYGD6NTWiOWI4191RgXjRhaV9vgd
    9kXqPxeLwVk8g>
X-ME-Received: <xmr:pRqWY7Ug3S4QMa5RWxlUQONdDYNQWjK-qjUV4KOqaqgeP6yLnSBgacuAF6Qh90xCLkR_bfJXAl_B29gYx30agmxg29skj4Bq2pf4Uq_KfI2_SYCkR6s>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeigddutdekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofggtgfgsehtkeertdertdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeelkefh
    udelteelleelteetveeffeetffekteetjeehlefggeekleeghefhtdehvdenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:pRqWYzj3SAE9LiVEmPGNzdm9LThv7zxtLvu8mfz3NsbnOF_t-zS3uw>
    <xmx:pRqWYzBXEc6FHWJlCkINIs-zjZAGr1uXgm-7CKlh2EsHe1mCLhB74w>
    <xmx:pRqWY8Lb3dKbt6HhhX_rbY3N_rf-5obEEzrIcx2uRpXr0Egir5FCwg>
    <xmx:phqWY2MaHnxD6Gxp34hOy58sLZ6eOh8ljwJsHKzgBYFCigiC7egugw>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] libxl: abort on memory allocation errors
Date: Sun, 11 Dec 2022 18:59:49 +0100
Message-Id: <20221211175949.2193629-1-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.37.3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Use abort() instead of just _exit() in libxl__alloc_failed(). This
is more friendly for debugging, as it will trap into debugger,
systemd-coredump will collect coredump/backtrace etc. It's much more
useful than just "libxl: FATAL ERROR: memory allocation failure (...)"
message without context where it actually failed.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 tools/libs/light/libxl_internal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/libs/light/libxl_internal.c b/tools/libs/light/libxl_internal.c
index 86556b6113b0..c95624933ffc 100644
--- a/tools/libs/light/libxl_internal.c
+++ b/tools/libs/light/libxl_internal.c
@@ -36,7 +36,7 @@ void libxl__alloc_failed(libxl_ctx *ctx, const char *func,
     }
 
     fflush(stderr);
-    _exit(-1);
+    abort();
 #undef M_NSIZE
 #undef M_SIZE
 #undef M
-- 
2.37.3



From xen-devel-bounces@lists.xenproject.org Sun Dec 11 21:34:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 21:34:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458976.716660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4Txx-0003tw-Fx; Sun, 11 Dec 2022 21:34:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458976.716660; Sun, 11 Dec 2022 21:34:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4Txx-0003tp-Cc; Sun, 11 Dec 2022 21:34:33 +0000
Received: by outflank-mailman (input) for mailman id 458976;
 Sun, 11 Dec 2022 21:34:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Bbr=4J=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p4Txw-0003tj-8T
 for xen-devel@lists.xenproject.org; Sun, 11 Dec 2022 21:34:32 +0000
Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com
 [64.147.123.19]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95187819-799b-11ed-91b6-6bf2151ebd3b;
 Sun, 11 Dec 2022 22:34:28 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 0E78F32002B6;
 Sun, 11 Dec 2022 16:34:22 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Sun, 11 Dec 2022 16:34:23 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 11 Dec 2022 16:34:21 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95187819-799b-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670794462; x=
	1670880862; bh=k3gy3L5U3kYrwCtls0KfuKnkSKMEo9j7w1C7soQ/tgQ=; b=Q
	3EnF85wDpRHNLckMfYb3v5JN4pHg40PWrcmXep0sWLEmRaQzBFAJ6dqf2gKRl31S
	EMjC2plZdJ5mlj4X8+Kb4OGHdJUtLdDqrln7VpmD9NpDokkekfuBGcblr6oIQ5E+
	Ee95at+k95qrERd7YnjG4B7vFd9sYk1uVwu8QAeFWCF6JphdqOabPFEEb1iP6lkb
	ISWnVhzzvobFGic5NVcmRf1CMadEEnPuA3UG6V0EITzJaYAdUloFDc+CHV9FYri8
	z4idjfenk+MllDix8TN5SsSzPjbqiIcDxDRLV+ZtThiEnvfcsFRlsqUKM0l2+NS+
	NqFmDOw+6FCYkba7+30Xw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1670794462; x=1670880862; bh=k3gy3L5U3kYrwCtls0KfuKnkSKME
	o9j7w1C7soQ/tgQ=; b=ebyAHeuk94C4dwt78faHr78EpZxZ+ZwMTRWoFdQG6Im6
	Ppsrx4dmFMQIGNOCWCXJ4YYhLc5Pb2IwZsrXpcSOiEJNyF2Gzj/HZGPq8uyijz8S
	rvrxcTURN0yzg6K82/uxJJjDNOKyKlmprRynEA+ZzlWkvI2B9Zr/l25aiGQHL3q7
	fjKyPBqBeiugpv5uFZI4VBv7KdePuKt/HuYRaWL8OGSkF0yTavCeFCDjkO42ACVM
	QTnyNYnrYfA8IvWCPRIQzsbuHRpuAMl04aMfIxFm2wWR20ASuBVbku6c/FfjSJkO
	B7uHqHLcBFwRPS9Zsh0pFsaZdV3rjxxbvInnhJmL5A==
X-ME-Sender: <xms:3kyWY1gJRSVBRCqCglQ6hilZn_kLVb1X5EwuGg__VT40dzcx0QSnxA>
    <xme:3kyWY6Am4BlmrU2VCY4sVfVvtuosxmx5aXNcNJkmMwMkdFj04QPBX2sbdqubMSnxh
    cqxtsaIwRRg-dI>
X-ME-Received: <xmr:3kyWY1GKBLoXlgobB0ziiHHTwrJHAeOXH1sQnAqlcmntvRTG8Yts9qBLS5lD>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeigdduhedvucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggjsehttdertddttddvnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeegjeelleetfedufefgteetjeeghffg
    iedugeekffehfeekteeivddtteejffeuhfenucffohhmrghinhepghhithhhuhgsrdgtoh
    hmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepuggv
    mhhisehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:3kyWY6QWw021EUSdCqg6qZz9zSAGdSU_T_dV6XfX0efRNyGZ_vjTCA>
    <xmx:3kyWYyzA27Vom5Tk_-_A7JPv5FMJ3DAmhlZeGelSNuVORhomDmpjjw>
    <xmx:3kyWYw73rq4ly9VYAwiMdcBJkWBlNwzgMAJeSvi0jgdU1ElqWtVzig>
    <xmx:3kyWY2_wrXxY3i_YGrZ2K8YJEA-Q-Av1-cLMUZOiveaBBzdu89AEMw>
Feedback-ID: iac594737:Fastmail
Date: Sun, 11 Dec 2022 16:34:20 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>,
	Alexander Potapenko <glider@google.com>,
	Marco Elver <elver@google.com>
Cc: kasan-dev <kasan-dev@googlegroups.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: kfence_protect_page() writing L1TF vulnerable PTE
Message-ID: <Y5ZM3HCnTcLvP2vy@itl-email>
References: <c18bc798-f484-ad66-fbb0-15192a74f8e3@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; x-action=pgp-signed
In-Reply-To: <c18bc798-f484-ad66-fbb0-15192a74f8e3@suse.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On Sun, Dec 11, 2022 at 01:15:06PM +0100, Juergen Gross wrote:
> During tests with QubesOS a problem was found which seemed to be related
> to kfence_protect_page() writing a L1TF vulnerable page table entry [1].
> 
> Looking into the function I'm seeing:
> 
> 	set_pte(pte, __pte(pte_val(*pte) & ~_PAGE_PRESENT));
> 
> I don't think this can be correct, as keeping the PFN unmodified and
> just removing the _PAGE_PRESENT bit is wrong regarding L1TF.
> 
> There should be at least the highest PFN bit set in order to be L1TF
> safe.
> 
> 
> Juergen
> 
> [1]: https://github.com/QubesOS/qubes-issues/issues/7935

Does that mean that Linux with kfence enabled is vulnerable to L1TF?  Or
are these pages ones that are not in any userspace page tables?  If the
former, then this is a security vulnerability in Linux and must be
fixed.  If the latter, then the two options I can think of are to revert
whatever change caused kfence to produce L1TF-vulnerable PTEs, or to
disable kfence when running paravirtualized under Xen.
- -- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOWTNwACgkQsoi1X/+c
IsHgTA/9HGyx+vlFqwhx7sRHVbF3ZpBdZUY7WEDI6cZzIRx8Kvh2QT3ZfYXW/32t
9EUELEKDKqXMsjWozdFcs6leohZBbYozV/luoQUrm1AsavffwrxH+d84FnZFg2qh
VVh+Sd8NL15EZV9nXIqqS94uopqWKL79qmxVcSBVkfujtiI57uGFdshePGMP3I1D
RGPRB5my7A/JQFhuITiZcqbhj0h4Cm5QSQaARAOEr4XQuso+4SFPZVGSw/+vD1nG
XQ4YAvnFKy3+6oabroJ37cway7cimp6/qlEqS3YE1SaMa6q37mgsyGFobpQWbNy5
p4OkEuqlZ85p/C7g4XR+EvIJhfFovh0Wfj4fM0h78VvB8h2aHL2ckhi5vx0Snb8L
p5NLh8MFI0PDoUaUWFb4Y3tN/Ksne9MbTQSy03mnXdnT+/6LQEHFVgUC90K0N52D
R46brLZEfPsTVB+Ro3uynpbXaE7mw/IdzdAXgxRPcMQIiuRmUthWO4O9HC9DCoPz
IHgqZg8+oBn2DCqUomg8Fz/9DQzWKb24dPKyzNuOmbtL63Tk63Qy1Smxu829LtCv
5mkfNPXwT2A3PbdngNrIT9QgI7ziXwUxYBDJ7onlb8Ad6dsimQ6QHOOWilg8mY7E
jvNVYkqFD98wLeR4FuWdrA+20/0o1i2ab6afOFvyzN4lItC6mKU=
=lz1X
-----END PGP SIGNATURE-----


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 21:37:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 21:37:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.458985.716671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4U0z-0004VJ-VG; Sun, 11 Dec 2022 21:37:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 458985.716671; Sun, 11 Dec 2022 21:37:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4U0z-0004VC-SF; Sun, 11 Dec 2022 21:37:41 +0000
Received: by outflank-mailman (input) for mailman id 458985;
 Sun, 11 Dec 2022 21:37:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4U0y-0004V2-V8; Sun, 11 Dec 2022 21:37:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4U0y-0005Cu-Sc; Sun, 11 Dec 2022 21:37:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4U0y-0004ct-Aw; Sun, 11 Dec 2022 21:37:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4U0y-0003yk-AT; Sun, 11 Dec 2022 21:37:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=P2L9kWCfezRaG2u7oZUw8SWIxxYRr6wfXstWW0z2OzY=; b=NHWuIdhPXSMFOPSHV3Vfxl+z+y
	FADtxHmlemNt5iyzfBkwekudelQRn5lZiQI1oRS2QQuIzQHIVTVzNJoEWErEBkIPJBlFeGZtPVoX6
	RpOSQlsSqBqfXWVdpU/nHw+nqfNfvKq/ypj8kg/6B9+eq54HUpu2aIP9domg10MasnQM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175146-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175146: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=4cee37b3a4e68c42b867c87a6218e11bc571ba66
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 11 Dec 2022 21:37:40 +0000

flight 175146 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175146/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                4cee37b3a4e68c42b867c87a6218e11bc571ba66
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   65 days
Failing since        173470  2022-10-08 06:21:34 Z   64 days  129 attempts
Testing same since   175145  2022-12-11 02:59:47 Z    0 days    2 attempts

------------------------------------------------------------
1994 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 192113 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 11 22:51:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 11 Dec 2022 22:51:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459003.716682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4VAF-0004u2-CW; Sun, 11 Dec 2022 22:51:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459003.716682; Sun, 11 Dec 2022 22:51:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4VAF-0004tv-9u; Sun, 11 Dec 2022 22:51:19 +0000
Received: by outflank-mailman (input) for mailman id 459003;
 Sun, 11 Dec 2022 22:51:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=LXCR=4J=google.com=elver@srs-se1.protection.inumbo.net>)
 id 1p4VAE-0004tp-3F
 for xen-devel@lists.xenproject.org; Sun, 11 Dec 2022 22:51:18 +0000
Received: from mail-yb1-xb2b.google.com (mail-yb1-xb2b.google.com
 [2607:f8b0:4864:20::b2b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 519f32e4-79a6-11ed-91b6-6bf2151ebd3b;
 Sun, 11 Dec 2022 23:51:16 +0100 (CET)
Received: by mail-yb1-xb2b.google.com with SMTP id d131so11692129ybh.4
 for <xen-devel@lists.xenproject.org>; Sun, 11 Dec 2022 14:51:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 519f32e4-79a6-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=google.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=Ku9FczodgVi7IuURoZl4bCpnlwjQxOtO2oc27QuDGyE=;
        b=ACD0EiTEhuBswlt+yiGgP3k7Ttadxr8sqXiPlGCoREiQuz45asKJ573lLI6JtQv3cM
         lx7KUh/XgDcjACi5ftUs4vIkWwJUV9COdkZefxkHF/mxpdy51U3eCl5FVe4AYrUilhMV
         YQ/k9u7vQk8SO84K3vfA7Yx2R5J37M9cWkZ1NFY7szeMOeaDSkbBeGFua8GOzK8Szj4a
         eYyf6a+9L6t3BEsUNbs0hqEXy/oCEDbU0DKkIxGZ4on5rvPo12HfsILrajgIBS3Xhir2
         MkLpk53mM2xUuayOqWHwMglTAkJ8M8bA8vkmFkQnkK7lJE2Rj1tMWSZmVjf99Ens0D+P
         0N+Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Ku9FczodgVi7IuURoZl4bCpnlwjQxOtO2oc27QuDGyE=;
        b=v17cEDtQCRkVPOrSIO7tdqz7CfxMpCSUkZ6ofto1Lp0ED2f/JIpqOBSYsR9TBYmfdy
         KY3lryyyDxNbaYDGg3kaYFy7DFjovBwjTf89+dCIIpiXqePPoqNg0QtoOx7S3KhhWqku
         wHzAZ0utIaO54JYDXwxNzAleuQf7Zmf68Fvg8p8rzvDC09om8Ky7Q++ojDqd1eyJr7Pc
         BkVre2knAoLDjOYgxscSjcdcELOvR6Hw89kvU+QZiMcR8ciYL2jeEOHUXDK48+7SNQs/
         ABW/DeISxy2kACf4ox20qnbI3kdFmBymOmwBVPddiDllvwrP9F5xuPx0/kK3ASkx2S9D
         qjNA==
X-Gm-Message-State: ANoB5pmF7ZVmXWrJO7fY63CSwdBHmJ1RnenbxTlKzKTiUV5LrOZkXFti
	N7EDlBJbSQnhSut78YyTMhk1RBoSbkT4L3l3saH/Yw==
X-Google-Smtp-Source: AA0mqf5+LGx2dq1qboz7bkbiTwtT3jf85VwB2cJHC3EPqhsIyPTYSs/7r2T10sR9nduWt+8CM1NdJNIcrrN8XkCIXcs=
X-Received: by 2002:a25:2b41:0:b0:70b:87d5:4a73 with SMTP id
 r62-20020a252b41000000b0070b87d54a73mr4987665ybr.584.1670799075296; Sun, 11
 Dec 2022 14:51:15 -0800 (PST)
MIME-Version: 1.0
References: <c18bc798-f484-ad66-fbb0-15192a74f8e3@suse.com> <Y5ZM3HCnTcLvP2vy@itl-email>
In-Reply-To: <Y5ZM3HCnTcLvP2vy@itl-email>
From: Marco Elver <elver@google.com>
Date: Sun, 11 Dec 2022 23:50:39 +0100
Message-ID: <CANpmjNPZwtmMvAOk7rn9U=sWTre7+o93yB_0idkVCvJky6mptA@mail.gmail.com>
Subject: Re: kfence_protect_page() writing L1TF vulnerable PTE
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Juergen Gross <jgross@suse.com>, Alexander Potapenko <glider@google.com>, 
	kasan-dev <kasan-dev@googlegroups.com>, 
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset="UTF-8"

On Sun, 11 Dec 2022 at 22:34, Demi Marie Obenour
<demi@invisiblethingslab.com> wrote:
> On Sun, Dec 11, 2022 at 01:15:06PM +0100, Juergen Gross wrote:
> > During tests with QubesOS a problem was found which seemed to be related
> > to kfence_protect_page() writing a L1TF vulnerable page table entry [1].
> >
> > Looking into the function I'm seeing:
> >
> >       set_pte(pte, __pte(pte_val(*pte) & ~_PAGE_PRESENT));
> >
> > I don't think this can be correct, as keeping the PFN unmodified and
> > just removing the _PAGE_PRESENT bit is wrong regarding L1TF.
> >
> > There should be at least the highest PFN bit set in order to be L1TF
> > safe.

Could you elaborate what we want to be safe from?

KFENCE is only for kernel memory, i.e. slab allocations. The
page-protection mechanism is used to detect memory safety bugs in the
Linux kernel. The page protection does not prevent or mitigate any
such bugs because KFENCE only samples sl[au]b allocations. Normal slab
allocations never change the page protection bits; KFENCE merely uses
them to receive a page fault, upon which we determine either a
use-after-free or out-of-bounds access. After a bug is detected,
KFENCE unprotects the page so that the kernel can proceed "as normal"
given that's the state of things if it had been a normal sl[au]b
allocation.

https://docs.kernel.org/dev-tools/kfence.html

>From [1] I see: "If an instruction accesses a virtual address for
which the relevant page table entry (PTE) has the Present bit cleared
or other reserved bits set, then speculative execution ignores the
invalid PTE and loads the referenced data if it is present in the
Level 1 Data Cache, as if the page referenced by the address bits in
the PTE was still present and accessible."

[1] https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html

This is perfectly fine in the context of KFENCE, as stated above, the
page protection is merely used to detect out-of-bounds and
use-after-free bugs of sampled slab allocations. KFENCE does not
mitigate nor prevent such bugs, because it samples allocations, i.e.
most allocations are still serviced by sl[au]b.

How can we teach whatever is complaining about L1TF on that KFENCE PTE
modification that KFENCE does not use page protection to stop anyone
from accessing that memory?

> >
> > Juergen
> >
> > [1]: https://github.com/QubesOS/qubes-issues/issues/7935
>
> Does that mean that Linux with kfence enabled is vulnerable to L1TF?  Or
> are these pages ones that are not in any userspace page tables?  If the
> former, then this is a security vulnerability in Linux and must be
> fixed.  If the latter, then the two options I can think of are to revert
> whatever change caused kfence to produce L1TF-vulnerable PTEs, or to
> disable kfence when running paravirtualized under Xen.

See above - it's for kernel memory only, and the page protection is
only to detect bugs of _sampled_ slab allocations.

Thanks,
-- Marco


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 04:55:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 04:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459030.716694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4aqP-0001Jf-Ki; Mon, 12 Dec 2022 04:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459030.716694; Mon, 12 Dec 2022 04:55:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4aqP-0001JP-ET; Mon, 12 Dec 2022 04:55:13 +0000
Received: by outflank-mailman (input) for mailman id 459030;
 Mon, 12 Dec 2022 04:55:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PhXI=4K=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p4aqN-0001Hu-6j
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 04:55:11 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 24b2d22b-79d9-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 05:55:07 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 35E0932008FA;
 Sun, 11 Dec 2022 23:55:03 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Sun, 11 Dec 2022 23:55:03 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 11 Dec 2022 23:55:02 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24b2d22b-79d9-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm1; t=1670820902; x=1670907302; bh=/fhhuNHSw9
	AVcLNazlLsxWzz1tsOBeVmZMRVG4LPq0o=; b=pMhY8wnslbqLJ0WUkRqig4Z7Xo
	8vJ/ohx2mt48CdZRj7cOqlbHSM2KTiEqw/HJQdYQMFt0nMhPro/5muEC9L68MNiM
	6NEkbQrs3QmxfjS6UB3Fid4LiWz0sNWAOUiMgaOvVi+CPFTj2VNXqEKemkrLS7dh
	5W8XX2uQJmBg6vMLYJhF/3WFCiPeTiQgaXwkg4g5VmuX9mmgYdss2YXuB79aFA9w
	KDO1fiWUq60FTaHi7e72KQXkOs14ohyubV5oKYVIH38MJJ1/xCwHSHVobk1cTHl+
	JK11iKYyrWCp52GBpEfxTuUZ29BPKsyofAV9/1FKl8453jrt2BczdRWoQNWA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1670820902; x=
	1670907302; bh=/fhhuNHSw9AVcLNazlLsxWzz1tsOBeVmZMRVG4LPq0o=; b=X
	BeU2CBA+jpllJaDmiKLTFGdj/sQeJjNoV0wTtXXietnZ1kSCiJPhOOCiygbzIs9u
	1XuVa0fHf11zAlX/LtJzCgCG6zVTJR/SwDI5yPKlooMTKda+jwHwNIFIznbxqUgN
	Gbg+rVAgxcQ0IAzAQx7yPEE4pW8KGOMgXhXuI9/PbZPbwVItRk5wY+wgMc7bVBrJ
	EalkXa59ofHxEdMC/wDUMHik1h38DJd/wQVQecXq1juy8JgdHpHlE6IOAb5aQmZ5
	oEPss4JcYuU20MS9QkLHPXqfHhjE3Sa8NYgJGQ0bhsGMKLByKMoE+4lfDs+E39jL
	g2dZHWfULDADqb9A4pEmQ==
X-ME-Sender: <xms:JrSWY64mizyAnnLG0UqXDbPpe5ApUi5_wnPS-zyFZ4Ho4xKDz0cT1A>
    <xme:JrSWYz7oXaDYIqqbpGb57TrX8o8qB2faIwTmpCWHkrIMuwKDQ8qlVCjfmUIGUB42P
    5pMRfmIb9fUHxE>
X-ME-Received: <xmr:JrSWY5fuK3sbxtp-gvxHaPxhO_Ne2Aty7UfTaTMGhyXxtTgxInPUf_RBwf5Y>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdejgdejiecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtgfgjsehtqhertddttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejudfgieeviedtgfdvheejueefkeef
    tdetffejfeduteehhfetuedtieffvdejffenucffohhmrghinhepkhgvrhhnvghlrdhorh
    hgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepuggv
    mhhisehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:JrSWY3KsJxTJPYAyrWLlJmtt9_0jmAz5fTYbKIdYAwTd3pKk7-vPNw>
    <xmx:JrSWY-KcLkuKcnhY2IizoIGyF7mZOzAuL3Z4nya1hGOsMVBSuvwAnQ>
    <xmx:JrSWY4x0CgGC4jvxwPwpgeKe1lS-i0DZQSHDPQKctFJyAnX0o1WQ1A>
    <xmx:JrSWY61foFJPSAB_Y0OSh52C_mGFCjhzv15iDrJ8qcTrOvvPJXWqXQ>
Feedback-ID: iac594737:Fastmail
Date: Sun, 11 Dec 2022 23:55:00 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Marco Elver <elver@google.com>
Cc: Juergen Gross <jgross@suse.com>,
	Alexander Potapenko <glider@google.com>,
	kasan-dev <kasan-dev@googlegroups.com>,
	Xen development discussion <xen-devel@lists.xenproject.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: kfence_protect_page() writing L1TF vulnerable PTE
Message-ID: <Y5azcFUxAWuEVicY@itl-email>
References: <c18bc798-f484-ad66-fbb0-15192a74f8e3@suse.com>
 <Y5ZM3HCnTcLvP2vy@itl-email>
 <CANpmjNPZwtmMvAOk7rn9U=sWTre7+o93yB_0idkVCvJky6mptA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; x-action=pgp-signed
Content-Transfer-Encoding: quoted-printable
In-Reply-To: <CANpmjNPZwtmMvAOk7rn9U=sWTre7+o93yB_0idkVCvJky6mptA@mail.gmail.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

- -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

- - -----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On Sun, Dec 11, 2022 at 11:50:39PM +0100, Marco Elver wrote:
> On Sun, 11 Dec 2022 at 22:34, Demi Marie Obenour
> <demi@invisiblethingslab.com> wrote:
> > On Sun, Dec 11, 2022 at 01:15:06PM +0100, Juergen Gross wrote:
> > > During tests with QubesOS a problem was found which seemed to be rela=
ted
> > > to kfence_protect_page() writing a L1TF vulnerable page table entry [=
1].
> > >
> > > Looking into the function I'm seeing:
> > >
> > >       set_pte(pte, __pte(pte_val(*pte) & ~_PAGE_PRESENT));
> > >
> > > I don't think this can be correct, as keeping the PFN unmodified and
> > > just removing the _PAGE_PRESENT bit is wrong regarding L1TF.
> > >
> > > There should be at least the highest PFN bit set in order to be L1TF
> > > safe.
>=20
> Could you elaborate what we want to be safe from?

The problem is not Linux=E2=80=99s safety, but Xen=E2=80=99s.  To prevent P=
V guests from
arbitrarily reading and writing memory, all updates to PV guest page
tables must be done via hypercalls.  This allows Xen to ensure that a
guest can only read from its own memory and that pages used for page
tables or segment descriptors are not mapped writable.

> KFENCE is only for kernel memory, i.e. slab allocations. The
> page-protection mechanism is used to detect memory safety bugs in the
> Linux kernel. The page protection does not prevent or mitigate any
> such bugs because KFENCE only samples sl[au]b allocations. Normal slab
> allocations never change the page protection bits; KFENCE merely uses
> them to receive a page fault, upon which we determine either a
> use-after-free or out-of-bounds access. After a bug is detected,
> KFENCE unprotects the page so that the kernel can proceed "as normal"
> given that's the state of things if it had been a normal sl[au]b
> allocation.
>=20
> https://docs.kernel.org/dev-tools/kfence.html
>=20
> From [1] I see: "If an instruction accesses a virtual address for
> which the relevant page table entry (PTE) has the Present bit cleared
> or other reserved bits set, then speculative execution ignores the
> invalid PTE and loads the referenced data if it is present in the
> Level 1 Data Cache, as if the page referenced by the address bits in
> the PTE was still present and accessible."
>=20
> [1] https://www.kernel.org/doc/html/latest/admin-guide/hw-vuln/l1tf.html
>=20
> This is perfectly fine in the context of KFENCE, as stated above, the
> page protection is merely used to detect out-of-bounds and
> use-after-free bugs of sampled slab allocations. KFENCE does not
> mitigate nor prevent such bugs, because it samples allocations, i.e.
> most allocations are still serviced by sl[au]b.

It is not fine when running paravirtualized under Xen, though.  Xen
strictly validates that present PTEs point into a guest=E2=80=99s own memor=
y,
but (in the absence of L1TF) allows not-present PTEs to have any value.
However, L1TF means that doing so would allow a PV guest to leak memory
=66rom Xen or other guests!  Therefore, Xen requires that not-present PTEs
be L1TF-safe, ensuring that PV guests cannot use L1TF to obtain memory
=66rom other guests or the hypervisor.

If a guest creates an L1TF-vulnerable PTE, Xen=E2=80=99s behavior depends on
whether it has been compiled with shadow paging support.  If it has, Xen
will transition the guest to shadow paging mode.  This works, but comes
at a significant performance hit, so you don=E2=80=99t want that.  If shadow
paging has been disabled at compile time, as is the case in Qubes, Xen
simply crashes the guest.

dom0 is exempted from these checks by default, because the dom0 kernel
is considered trusted.  However, this can be changed by a Xen
command-line option, so it is not to be relied on.

> How can we teach whatever is complaining about L1TF on that KFENCE PTE
> modification that KFENCE does not use page protection to stop anyone
> from accessing that memory?

With current Xen, you can=E2=80=99t.  Any not-present PTE must be L1TF-safe=
 on
L1TF-vulnerable hardware, and I am not aware of any way to ask Xen if it
considers the hardware vulnerable to L1TF.  Therefore, KFENCE would need
to either not generate L1TF-vulnerable not-present PTEs, or
automatically disable itself when running in Xen PV mode.

In theory, it ought to be safe for Xen to instead treat not-present
L1TF-vulnerable PTEs as if they were present, and apply the same
validation that it does for present PTEs.  However, the PV memory
management code has been involved in several fatal, reliably exploitable
PV guest escape vulnerabilities, and I would rather not make it any more
complex than it already is.

A much better solution would be for KFENCE to use PTE inversion just
like the rest of the kernel does.  This solves the problem
unconditionally, and avoids needing Xen PV specific code.  I have a
patch that disables KFENCE on Xen PV, but I would much rather see KFENCE
fixed, which is why I have not submitted the patch.
- - - --=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab
- - -----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOWs28ACgkQsoi1X/+c
IsEvBQ/+MLAfhKAxmMAto9jII+4SIq6vXHvhNJfC+qyMPCToTI1QLiwGLOAXM7uk
nrnFh+eA9Tx1iYJyP6jZpKqWHFLtXNIh+QE+6gag1rMYjCeJyl6Y0bgmxw7EgJ4t
uACncw+N72CopWu9Yg2YNH9wahX7EX4/q+3FA2xzsYd/XgXOEVEF9h3vgnzDOVTJ
02/Q4c4P/YH+I0aLkD3lamwdBTeE2f+5h+kDFxib/qu1lHLVbC9Lx45/T2dUoWVa
K3uRPAzwwLQcxB1Q8wGHKj7ziEwygqKRoD8QYwMU67OdB0UsTQ+f5hH8JUgevm8V
po0T/cQDaAnJi0y9jcjUd4eyeOHZmbzjro+YAqOgkGGhs+TJwhU5VuDHD26z+0g3
dRaunQ7YFWrEFbeAmV0hK39x40nRdR42YRj6Q/uYhZcaORDeG+e5FshyeUesQfDW
B9r5Lvl6/V0ldgPHL/AyGFI/fZBUJhju3QyXNLML1xrv19j24Ku+bhKDjxSrHYlJ
nvxYo6zFhMkgRxTYNIrZUA70Xn3wDtJwFKGlKNmWRy4Hjfxy2tyIQnp00j+MDseY
fftXjlAPxm0am3lYHlp4u3L5hK1aY0l0mCdGjjP7geeEKK9f2Q009uTeywavOkAB
bAKQ9VNWrj7SlRhbK86sHi0zYTvNN+tF9/x32jUu1lSz+jyMfLM=3D
=3D3TnU
- - -----END PGP SIGNATURE-----
- -----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOWs/wACgkQsoi1X/+c
IsGDew/8DrvkeG5llY9Q9NFXfBPCNeu5WfK2Sbll892izQAl0l+JILKHG7AQqsRf
/avO3U5US64acEsL2PqugK1BDDYPK097WNJtV3/nb6IUL+A3UrMtq3a6bqCWMULY
FaCTqAe9ESYLS2NA4rqcqsCvGcR0PYM8fALqq+xHUr102rXyo+jGoOxCh6emuImg
UittOmEhslRtIJtiDgUHgQkff8xBllztVE1MaDeMIEO2D+uvKWD+7SYli+O3USAj
lNKlVPzHAwQnUs9AP++FVz0yVzcoyXcIsi14oFxSHR+EqqacxvtG60iWKcU6I8nr
zySMyjlN8rZcq/QpukYFAPkJL63m1zefHBWeLFzNcv5Mrar0L4cWpM+jLZyh/fJE
JQ2YuDt8Z5mhrs8KQJBdf96QSgOgkreMQ6IWNnPGiAwIW85wwsU1iJa8AjIEe8PN
t4EleqLqsgn9nihBreJZ77f/xKAWKK/VN6FOXGOuFZO/FrvPpP0KAHQpRugMmDZk
NOGJKcWfruAZ11HQTFK1qelLg0n2SBSzw5KxKyxntazvx80W+FzwwzJJz2T3z06g
58sCdyXqrzhSv55pfTX94suX+w3pqcwJID/XMjelPtvcVtvosugHmaCEKTHEX5zo
QKZRoHELiOymXsy7kSP8NMpiuyfrjAsYFY2NGbTS5Mb6+ApHT2s=3D
=3DgX1O
- -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOWtCMACgkQsoi1X/+c
IsGPlQ//QaynWUjFxss7xGDDU3adTawbb5KHgxcaHQKsUCgDMqOYZ6wIm6VeiBgJ
OxX14wucGTKVYN0JSMqn1UpJgxVmMtwMTXMuIjz+oTdd3Ab/cQejqGV2ZiiW/KWH
Hq3jWqoqXL9R0sMmGmeq2Kyi1+XL78KhWZIkJ4eEKYhRdLIG9/q27EeH3ppdH6Kt
AamU0Bq1aatOW3+Y6C+FPjsLrHP16vWZInaoy+UqE0E7B4VcAC2wPcPVbwbF7SJc
KP4YaE3W95Zvl7TWxtOWWzZzKP3A6waiyY289+Kf7Xgs2rQOgNnQuR5JEGqxABwZ
LfbATY1uT9akgf62IevmGj3694ZPLVfgqr3d7057QfMCZLjAG5ZioIzCe7drCZ+3
91zM0+ykWYIqanab327lpduOkHHSJC0P1Jvzx4yxqo1PvgqhEHhp3jcXS6amCm9e
l4RVmAVm+UujZ1vbrTG7PcJgb5jbrtLKInhmYiiXGgS1zhxsty/MUCiy5YgjD5n1
vl+8/8/kiI4el/hjbqUbDjjItDmHn9kVZHfY5G1dT6lHZkNk6NI93IB6EcxZx1af
fNoxR904M7Y53yUI1sJpdeOhEsNHUeV5dgqbJxwTxKRuDNu4E89FDvRr3YMSbusk
7nU6+DVJaWRn05lq0lT2HsU401ECx383Pr5/lmvHCRdNuEOTwyo=3D
=3DjVTg
-----END PGP SIGNATURE-----


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 05:20:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 05:20:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459039.716704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4bEK-0004LL-FO; Mon, 12 Dec 2022 05:19:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459039.716704; Mon, 12 Dec 2022 05:19:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4bEK-0004LE-Cf; Mon, 12 Dec 2022 05:19:56 +0000
Received: by outflank-mailman (input) for mailman id 459039;
 Mon, 12 Dec 2022 05:19:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/A98=4K=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p4bEJ-0004L8-7Y
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 05:19:55 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b970a2c-79dc-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 06:19:53 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 8A0971FE19;
 Mon, 12 Dec 2022 05:19:52 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4E1A51376E;
 Mon, 12 Dec 2022 05:19:52 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id vyWiEfi5lmOZQwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 12 Dec 2022 05:19:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b970a2c-79dc-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670822392; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=xz5nnj3XD0YHenNz9nlFHXnTFZaUk+RI1pDMWcsUNJk=;
	b=NkcSmmucqKVnO7vJFzNpW5C/vdqmc7gLeuDhvM0oNqsjFMLXlG8LXJztgZe5fzv7LChWhG
	KO9xP8/UuF4NnjUQd8xRa5IXvNe0S874UlriJHidvrQOWH2ESR6D2qdgK1og/xTxxpo8v5
	WtCCJSRG8ZTyyt6EgHkZrxhJEwElur4=
Message-ID: <c250b8f5-bce5-da43-ae11-e5355141ea3c@suse.com>
Date: Mon, 12 Dec 2022 06:19:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: kfence_protect_page() writing L1TF vulnerable PTE
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 Marco Elver <elver@google.com>
Cc: Alexander Potapenko <glider@google.com>,
 kasan-dev <kasan-dev@googlegroups.com>,
 Xen development discussion <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <c18bc798-f484-ad66-fbb0-15192a74f8e3@suse.com>
 <Y5ZM3HCnTcLvP2vy@itl-email>
 <CANpmjNPZwtmMvAOk7rn9U=sWTre7+o93yB_0idkVCvJky6mptA@mail.gmail.com>
 <Y5azcFUxAWuEVicY@itl-email>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <Y5azcFUxAWuEVicY@itl-email>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------TDjy6sZearJP8RKYq0xs4s9P"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------TDjy6sZearJP8RKYq0xs4s9P
Content-Type: multipart/mixed; boundary="------------jmu50pFsK3nFV6dYJ1cupCTv";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 Marco Elver <elver@google.com>
Cc: Alexander Potapenko <glider@google.com>,
 kasan-dev <kasan-dev@googlegroups.com>,
 Xen development discussion <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
Message-ID: <c250b8f5-bce5-da43-ae11-e5355141ea3c@suse.com>
Subject: Re: kfence_protect_page() writing L1TF vulnerable PTE
References: <c18bc798-f484-ad66-fbb0-15192a74f8e3@suse.com>
 <Y5ZM3HCnTcLvP2vy@itl-email>
 <CANpmjNPZwtmMvAOk7rn9U=sWTre7+o93yB_0idkVCvJky6mptA@mail.gmail.com>
 <Y5azcFUxAWuEVicY@itl-email>
In-Reply-To: <Y5azcFUxAWuEVicY@itl-email>

--------------jmu50pFsK3nFV6dYJ1cupCTv
Content-Type: multipart/mixed; boundary="------------oZhaDNPkkcoxk2G0lwcWLKjd"

--------------oZhaDNPkkcoxk2G0lwcWLKjd
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTIuMTIuMjIgMDU6NTUsIERlbWkgTWFyaWUgT2Jlbm91ciB3cm90ZToNCj4gLS0tLS1C
RUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQ0KPiBIYXNoOiBTSEE1MTINCj4gDQo+IC0g
LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQ0KPiBIYXNoOiBTSEE1MTINCj4g
DQo+IE9uIFN1biwgRGVjIDExLCAyMDIyIGF0IDExOjUwOjM5UE0gKzAxMDAsIE1hcmNvIEVs
dmVyIHdyb3RlOg0KPj4gT24gU3VuLCAxMSBEZWMgMjAyMiBhdCAyMjozNCwgRGVtaSBNYXJp
ZSBPYmVub3VyDQo+PiA8ZGVtaUBpbnZpc2libGV0aGluZ3NsYWIuY29tPiB3cm90ZToNCj4+
PiBPbiBTdW4sIERlYyAxMSwgMjAyMiBhdCAwMToxNTowNlBNICswMTAwLCBKdWVyZ2VuIEdy
b3NzIHdyb3RlOg0KPj4+PiBEdXJpbmcgdGVzdHMgd2l0aCBRdWJlc09TIGEgcHJvYmxlbSB3
YXMgZm91bmQgd2hpY2ggc2VlbWVkIHRvIGJlIHJlbGF0ZWQNCj4+Pj4gdG8ga2ZlbmNlX3By
b3RlY3RfcGFnZSgpIHdyaXRpbmcgYSBMMVRGIHZ1bG5lcmFibGUgcGFnZSB0YWJsZSBlbnRy
eSBbMV0uDQo+Pj4+DQo+Pj4+IExvb2tpbmcgaW50byB0aGUgZnVuY3Rpb24gSSdtIHNlZWlu
ZzoNCj4+Pj4NCj4+Pj4gICAgICAgIHNldF9wdGUocHRlLCBfX3B0ZShwdGVfdmFsKCpwdGUp
ICYgfl9QQUdFX1BSRVNFTlQpKTsNCj4+Pj4NCj4+Pj4gSSBkb24ndCB0aGluayB0aGlzIGNh
biBiZSBjb3JyZWN0LCBhcyBrZWVwaW5nIHRoZSBQRk4gdW5tb2RpZmllZCBhbmQNCj4+Pj4g
anVzdCByZW1vdmluZyB0aGUgX1BBR0VfUFJFU0VOVCBiaXQgaXMgd3JvbmcgcmVnYXJkaW5n
IEwxVEYuDQo+Pj4+DQo+Pj4+IFRoZXJlIHNob3VsZCBiZSBhdCBsZWFzdCB0aGUgaGlnaGVz
dCBQRk4gYml0IHNldCBpbiBvcmRlciB0byBiZSBMMVRGDQo+Pj4+IHNhZmUuDQo+IA0KPj4g
Q291bGQgeW91IGVsYWJvcmF0ZSB3aGF0IHdlIHdhbnQgdG8gYmUgc2FmZSBmcm9tPw0KPiAN
Cj4gVGhlIHByb2JsZW0gaXMgbm90IExpbnV44oCZcyBzYWZldHksIGJ1dCBYZW7igJlzLiAg
VG8gcHJldmVudCBQViBndWVzdHMgZnJvbQ0KPiBhcmJpdHJhcmlseSByZWFkaW5nIGFuZCB3
cml0aW5nIG1lbW9yeSwgYWxsIHVwZGF0ZXMgdG8gUFYgZ3Vlc3QgcGFnZQ0KPiB0YWJsZXMg
bXVzdCBiZSBkb25lIHZpYSBoeXBlcmNhbGxzLiAgVGhpcyBhbGxvd3MgWGVuIHRvIGVuc3Vy
ZSB0aGF0IGENCj4gZ3Vlc3QgY2FuIG9ubHkgcmVhZCBmcm9tIGl0cyBvd24gbWVtb3J5IGFu
ZCB0aGF0IHBhZ2VzIHVzZWQgZm9yIHBhZ2UNCj4gdGFibGVzIG9yIHNlZ21lbnQgZGVzY3Jp
cHRvcnMgYXJlIG5vdCBtYXBwZWQgd3JpdGFibGUuDQo+IA0KPj4gS0ZFTkNFIGlzIG9ubHkg
Zm9yIGtlcm5lbCBtZW1vcnksIGkuZS4gc2xhYiBhbGxvY2F0aW9ucy4gVGhlDQo+PiBwYWdl
LXByb3RlY3Rpb24gbWVjaGFuaXNtIGlzIHVzZWQgdG8gZGV0ZWN0IG1lbW9yeSBzYWZldHkg
YnVncyBpbiB0aGUNCj4+IExpbnV4IGtlcm5lbC4gVGhlIHBhZ2UgcHJvdGVjdGlvbiBkb2Vz
IG5vdCBwcmV2ZW50IG9yIG1pdGlnYXRlIGFueQ0KPj4gc3VjaCBidWdzIGJlY2F1c2UgS0ZF
TkNFIG9ubHkgc2FtcGxlcyBzbFthdV1iIGFsbG9jYXRpb25zLiBOb3JtYWwgc2xhYg0KPj4g
YWxsb2NhdGlvbnMgbmV2ZXIgY2hhbmdlIHRoZSBwYWdlIHByb3RlY3Rpb24gYml0czsgS0ZF
TkNFIG1lcmVseSB1c2VzDQo+PiB0aGVtIHRvIHJlY2VpdmUgYSBwYWdlIGZhdWx0LCB1cG9u
IHdoaWNoIHdlIGRldGVybWluZSBlaXRoZXIgYQ0KPj4gdXNlLWFmdGVyLWZyZWUgb3Igb3V0
LW9mLWJvdW5kcyBhY2Nlc3MuIEFmdGVyIGEgYnVnIGlzIGRldGVjdGVkLA0KPj4gS0ZFTkNF
IHVucHJvdGVjdHMgdGhlIHBhZ2Ugc28gdGhhdCB0aGUga2VybmVsIGNhbiBwcm9jZWVkICJh
cyBub3JtYWwiDQo+PiBnaXZlbiB0aGF0J3MgdGhlIHN0YXRlIG9mIHRoaW5ncyBpZiBpdCBo
YWQgYmVlbiBhIG5vcm1hbCBzbFthdV1iDQo+PiBhbGxvY2F0aW9uLg0KPiANCj4+IGh0dHBz
Oi8vZG9jcy5rZXJuZWwub3JnL2Rldi10b29scy9rZmVuY2UuaHRtbA0KPiANCj4+ICBGcm9t
IFsxXSBJIHNlZTogIklmIGFuIGluc3RydWN0aW9uIGFjY2Vzc2VzIGEgdmlydHVhbCBhZGRy
ZXNzIGZvcg0KPj4gd2hpY2ggdGhlIHJlbGV2YW50IHBhZ2UgdGFibGUgZW50cnkgKFBURSkg
aGFzIHRoZSBQcmVzZW50IGJpdCBjbGVhcmVkDQo+PiBvciBvdGhlciByZXNlcnZlZCBiaXRz
IHNldCwgdGhlbiBzcGVjdWxhdGl2ZSBleGVjdXRpb24gaWdub3JlcyB0aGUNCj4+IGludmFs
aWQgUFRFIGFuZCBsb2FkcyB0aGUgcmVmZXJlbmNlZCBkYXRhIGlmIGl0IGlzIHByZXNlbnQg
aW4gdGhlDQo+PiBMZXZlbCAxIERhdGEgQ2FjaGUsIGFzIGlmIHRoZSBwYWdlIHJlZmVyZW5j
ZWQgYnkgdGhlIGFkZHJlc3MgYml0cyBpbg0KPj4gdGhlIFBURSB3YXMgc3RpbGwgcHJlc2Vu
dCBhbmQgYWNjZXNzaWJsZS4iDQo+IA0KPj4gWzFdIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcv
ZG9jL2h0bWwvbGF0ZXN0L2FkbWluLWd1aWRlL2h3LXZ1bG4vbDF0Zi5odG1sDQo+IA0KPj4g
VGhpcyBpcyBwZXJmZWN0bHkgZmluZSBpbiB0aGUgY29udGV4dCBvZiBLRkVOQ0UsIGFzIHN0
YXRlZCBhYm92ZSwgdGhlDQo+PiBwYWdlIHByb3RlY3Rpb24gaXMgbWVyZWx5IHVzZWQgdG8g
ZGV0ZWN0IG91dC1vZi1ib3VuZHMgYW5kDQo+PiB1c2UtYWZ0ZXItZnJlZSBidWdzIG9mIHNh
bXBsZWQgc2xhYiBhbGxvY2F0aW9ucy4gS0ZFTkNFIGRvZXMgbm90DQo+PiBtaXRpZ2F0ZSBu
b3IgcHJldmVudCBzdWNoIGJ1Z3MsIGJlY2F1c2UgaXQgc2FtcGxlcyBhbGxvY2F0aW9ucywg
aS5lLg0KPj4gbW9zdCBhbGxvY2F0aW9ucyBhcmUgc3RpbGwgc2VydmljZWQgYnkgc2xbYXVd
Yi4NCj4gDQo+IEl0IGlzIG5vdCBmaW5lIHdoZW4gcnVubmluZyBwYXJhdmlydHVhbGl6ZWQg
dW5kZXIgWGVuLCB0aG91Z2guICBYZW4NCj4gc3RyaWN0bHkgdmFsaWRhdGVzIHRoYXQgcHJl
c2VudCBQVEVzIHBvaW50IGludG8gYSBndWVzdOKAmXMgb3duIG1lbW9yeSwNCj4gYnV0IChp
biB0aGUgYWJzZW5jZSBvZiBMMVRGKSBhbGxvd3Mgbm90LXByZXNlbnQgUFRFcyB0byBoYXZl
IGFueSB2YWx1ZS4NCj4gSG93ZXZlciwgTDFURiBtZWFucyB0aGF0IGRvaW5nIHNvIHdvdWxk
IGFsbG93IGEgUFYgZ3Vlc3QgdG8gbGVhayBtZW1vcnkNCj4gZnJvbSBYZW4gb3Igb3RoZXIg
Z3Vlc3RzISAgVGhlcmVmb3JlLCBYZW4gcmVxdWlyZXMgdGhhdCBub3QtcHJlc2VudCBQVEVz
DQo+IGJlIEwxVEYtc2FmZSwgZW5zdXJpbmcgdGhhdCBQViBndWVzdHMgY2Fubm90IHVzZSBM
MVRGIHRvIG9idGFpbiBtZW1vcnkNCj4gZnJvbSBvdGhlciBndWVzdHMgb3IgdGhlIGh5cGVy
dmlzb3IuDQo+IA0KPiBJZiBhIGd1ZXN0IGNyZWF0ZXMgYW4gTDFURi12dWxuZXJhYmxlIFBU
RSwgWGVu4oCZcyBiZWhhdmlvciBkZXBlbmRzIG9uDQo+IHdoZXRoZXIgaXQgaGFzIGJlZW4g
Y29tcGlsZWQgd2l0aCBzaGFkb3cgcGFnaW5nIHN1cHBvcnQuICBJZiBpdCBoYXMsIFhlbg0K
PiB3aWxsIHRyYW5zaXRpb24gdGhlIGd1ZXN0IHRvIHNoYWRvdyBwYWdpbmcgbW9kZS4gIFRo
aXMgd29ya3MsIGJ1dCBjb21lcw0KPiBhdCBhIHNpZ25pZmljYW50IHBlcmZvcm1hbmNlIGhp
dCwgc28geW91IGRvbuKAmXQgd2FudCB0aGF0LiAgSWYgc2hhZG93DQo+IHBhZ2luZyBoYXMg
YmVlbiBkaXNhYmxlZCBhdCBjb21waWxlIHRpbWUsIGFzIGlzIHRoZSBjYXNlIGluIFF1YmVz
LCBYZW4NCj4gc2ltcGx5IGNyYXNoZXMgdGhlIGd1ZXN0Lg0KPiANCj4gZG9tMCBpcyBleGVt
cHRlZCBmcm9tIHRoZXNlIGNoZWNrcyBieSBkZWZhdWx0LCBiZWNhdXNlIHRoZSBkb20wIGtl
cm5lbA0KPiBpcyBjb25zaWRlcmVkIHRydXN0ZWQuICBIb3dldmVyLCB0aGlzIGNhbiBiZSBj
aGFuZ2VkIGJ5IGEgWGVuDQo+IGNvbW1hbmQtbGluZSBvcHRpb24sIHNvIGl0IGlzIG5vdCB0
byBiZSByZWxpZWQgb24uDQo+IA0KPj4gSG93IGNhbiB3ZSB0ZWFjaCB3aGF0ZXZlciBpcyBj
b21wbGFpbmluZyBhYm91dCBMMVRGIG9uIHRoYXQgS0ZFTkNFIFBURQ0KPj4gbW9kaWZpY2F0
aW9uIHRoYXQgS0ZFTkNFIGRvZXMgbm90IHVzZSBwYWdlIHByb3RlY3Rpb24gdG8gc3RvcCBh
bnlvbmUNCj4+IGZyb20gYWNjZXNzaW5nIHRoYXQgbWVtb3J5Pw0KPiANCj4gV2l0aCBjdXJy
ZW50IFhlbiwgeW91IGNhbuKAmXQuICBBbnkgbm90LXByZXNlbnQgUFRFIG11c3QgYmUgTDFU
Ri1zYWZlIG9uDQo+IEwxVEYtdnVsbmVyYWJsZSBoYXJkd2FyZSwgYW5kIEkgYW0gbm90IGF3
YXJlIG9mIGFueSB3YXkgdG8gYXNrIFhlbiBpZiBpdA0KPiBjb25zaWRlcnMgdGhlIGhhcmR3
YXJlIHZ1bG5lcmFibGUgdG8gTDFURi4gIFRoZXJlZm9yZSwgS0ZFTkNFIHdvdWxkIG5lZWQN
Cj4gdG8gZWl0aGVyIG5vdCBnZW5lcmF0ZSBMMVRGLXZ1bG5lcmFibGUgbm90LXByZXNlbnQg
UFRFcywgb3INCj4gYXV0b21hdGljYWxseSBkaXNhYmxlIGl0c2VsZiB3aGVuIHJ1bm5pbmcg
aW4gWGVuIFBWIG1vZGUuDQo+IA0KPiBJbiB0aGVvcnksIGl0IG91Z2h0IHRvIGJlIHNhZmUg
Zm9yIFhlbiB0byBpbnN0ZWFkIHRyZWF0IG5vdC1wcmVzZW50DQo+IEwxVEYtdnVsbmVyYWJs
ZSBQVEVzIGFzIGlmIHRoZXkgd2VyZSBwcmVzZW50LCBhbmQgYXBwbHkgdGhlIHNhbWUNCj4g
dmFsaWRhdGlvbiB0aGF0IGl0IGRvZXMgZm9yIHByZXNlbnQgUFRFcy4gIEhvd2V2ZXIsIHRo
ZSBQViBtZW1vcnkNCj4gbWFuYWdlbWVudCBjb2RlIGhhcyBiZWVuIGludm9sdmVkIGluIHNl
dmVyYWwgZmF0YWwsIHJlbGlhYmx5IGV4cGxvaXRhYmxlDQo+IFBWIGd1ZXN0IGVzY2FwZSB2
dWxuZXJhYmlsaXRpZXMsIGFuZCBJIHdvdWxkIHJhdGhlciBub3QgbWFrZSBpdCBhbnkgbW9y
ZQ0KPiBjb21wbGV4IHRoYW4gaXQgYWxyZWFkeSBpcy4NCg0KVHJlYXRpbmcgbm9uLXByZXNl
bnQgUFRFcyBsaWtlIHByZXNlbnQgb25lcyBoYXMgYSBtYWpvciBkcmF3YmFjazogaXQNCnJl
cXVpcmVzIHRvIGtlZXAgdHJhY2sgb2YgYWxsIHBhZ2UgZnJhbWVzIGJlaW5nIHBvdGVudGlh
bGx5IHJlZmVyZW5jZWQsDQppbmR1Y2luZyBhIG1ham9yIHBlcmZvcm1hbmNlIGhpdCBmb3Ig
dGhlICJyZWd1bGFyIiBjYXNlLiBNZW1vcnkgYmFsbG9vbmluZw0Kd291bGQgYmUgYSBsb3Qg
bW9yZSBjb21wbGljYXRlZCBkdWUgdG8gdGhhdC4NCg0KPiBBIG11Y2ggYmV0dGVyIHNvbHV0
aW9uIHdvdWxkIGJlIGZvciBLRkVOQ0UgdG8gdXNlIFBURSBpbnZlcnNpb24ganVzdA0KPiBs
aWtlIHRoZSByZXN0IG9mIHRoZSBrZXJuZWwgZG9lcy4gIFRoaXMgc29sdmVzIHRoZSBwcm9i
bGVtDQo+IHVuY29uZGl0aW9uYWxseSwgYW5kIGF2b2lkcyBuZWVkaW5nIFhlbiBQViBzcGVj
aWZpYyBjb2RlLiAgSSBoYXZlIGENCj4gcGF0Y2ggdGhhdCBkaXNhYmxlcyBLRkVOQ0Ugb24g
WGVuIFBWLCBidXQgSSB3b3VsZCBtdWNoIHJhdGhlciBzZWUgS0ZFTkNFDQo+IGZpeGVkLCB3
aGljaCBpcyB3aHkgSSBoYXZlIG5vdCBzdWJtaXR0ZWQgdGhlIHBhdGNoLg0KDQpJIGNhbiBz
dXBwbHkgYSBrZXJuZWwgcGF0Y2ggZm9yIGRvaW5nIHRoZSBQRk4gaW52ZXJzaW9uIGluIHRo
ZSBQVEUuDQoNCg0KSnVlcmdlbg0K
--------------oZhaDNPkkcoxk2G0lwcWLKjd
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------oZhaDNPkkcoxk2G0lwcWLKjd--

--------------jmu50pFsK3nFV6dYJ1cupCTv--

--------------TDjy6sZearJP8RKYq0xs4s9P
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOWufcFAwAAAAAACgkQsN6d1ii/Ey+H
jQgAg7nHsWFzaEfFwDmTTypBIAuAAPfDYyBHkexDtDZtX7CdAndNjjhgKxeCRoMkPrpkK1o06Bin
ppU/wpU6cnEzadUU7Vb2HqL+Y5mk7FsjTHYm33f/1w+ceeufd9o+FRlGJSM1mKR/c3rr1VWI4Z/B
+hjWdwO8KU/AvTySTqx+BzCTVcUgyca37cJXsf/0wrUzMV82cLcmq6aPPNrw948gYjvoplxugisn
lL0gp3FdZr79m7LaRLJkUWuTEPOixY+uFcJkY2dqGCAVws6DF3rdav8gxFWJ0Onlb69ffj+Um7CY
T4jinfTPN9eBYjY9YTIPqAs+JDTFDrbs+Od51md/nw==
=2sp0
-----END PGP SIGNATURE-----

--------------TDjy6sZearJP8RKYq0xs4s9P--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 05:51:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 05:51:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459047.716716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4biq-0000Vi-U0; Mon, 12 Dec 2022 05:51:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459047.716716; Mon, 12 Dec 2022 05:51:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4biq-0000Vb-R6; Mon, 12 Dec 2022 05:51:28 +0000
Received: by outflank-mailman (input) for mailman id 459047;
 Mon, 12 Dec 2022 05:51:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4bip-0000V6-C1; Mon, 12 Dec 2022 05:51:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4bip-0000UD-9S; Mon, 12 Dec 2022 05:51:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4bio-0001Dl-Nz; Mon, 12 Dec 2022 05:51:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4bio-0000UR-NT; Mon, 12 Dec 2022 05:51:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TY3PhAgt9oQTemcjA3PonXQVhAjR6BHet1zJKBekBVk=; b=RlwJEhNcLhyY91TzPWDb2+tdw3
	NWoaccob2SfVueM64mVjvK2wR7rII5cTgBS16hZ5rwtBWyIYYgvxXIZpCBk9nqicQlARi8riSJo8p
	fNnoKd6RwenpE58vrTudQ8xPf82kdqsDCGz5He5Xt+K3VTxFJBFjaOJvRv8Hdzj2RlvY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175147-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175147: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d92b86f672a42d9d74a24a63a1e59793c4116830
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 12 Dec 2022 05:51:26 +0000

flight 175147 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175147/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                d92b86f672a42d9d74a24a63a1e59793c4116830
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   65 days
Failing since        173470  2022-10-08 06:21:34 Z   64 days  130 attempts
Testing same since   175147  2022-12-11 21:43:09 Z    0 days    1 attempts

------------------------------------------------------------
1995 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 192146 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 06:00:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 06:00:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459059.716727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4bqz-0001Er-S9; Mon, 12 Dec 2022 05:59:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459059.716727; Mon, 12 Dec 2022 05:59:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4bqz-0001Ek-PS; Mon, 12 Dec 2022 05:59:53 +0000
Received: by outflank-mailman (input) for mailman id 459059;
 Mon, 12 Dec 2022 05:59:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zalI=4K=zlw.email=sisyphean@srs-se1.protection.inumbo.net>)
 id 1p4bqy-0001Eb-21
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 05:59:53 +0000
Received: from mail.zlw.email (unknown [112.49.95.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29451767-79e2-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 06:59:47 +0100 (CET)
Received: from localhost (unknown [127.0.0.1])
 by mail.zlw.email (Postfix) with ESMTP id 2E9C0174161;
 Mon, 12 Dec 2022 06:00:00 +0000 (UTC)
Received: from mail.zlw.email ([127.0.0.1])
 by localhost (mail.zlw.email [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 5wFCEGbdjmc0; Mon, 12 Dec 2022 13:59:55 +0800 (CST)
Received: from [192.168.66.233] (OpenWrt.lan [192.168.66.1])
 by mail.zlw.email (Postfix) with ESMTPSA id 3050C173BFD;
 Mon, 12 Dec 2022 13:59:55 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29451767-79e2-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zlw.email; h=
	in-reply-to:from:from:references:to:content-language:subject
	:subject:user-agent:mime-version:date:date:message-id
	:content-type:content-type; s=dkim; t=1670824795; x=1673416796;
	 bh=3iJAT9mEMpl/tOLUEg1sRfP85jeYQy6CU25idGQmavg=; b=FR4OinYCeF6M
	UB8OEDOeG8uS4vYig5XdphwlYtedgXLSLy02UUwoWWaWaok0f8TNztFoiMgk6LTK
	X+2f/9Fml69Ls7oz/tBARkvFeWSogGPQfWMmrDfTgkq2AmCK/wMH5fhsmLUkuH0K
	JmU5u2PjA9DCi9BDXSXLkqDFJt09gww=
X-Virus-Scanned: amavisd-new at zlw.email
Content-Type: multipart/alternative;
 boundary="------------twmZYvIWUWAfqTa7A2RDV568"
Message-ID: <75bbfc8c-b89f-9478-63af-c37fda0ad3c0@zlw.email>
Date: Mon, 12 Dec 2022 13:49:07 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [BUG]Add PCIE devie to SMMUv3 fail
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <793eb471-e68b-c3ff-52e8-20d77252c0bf@zlw.email>
 <A9FCD688-3CA2-484A-ADC1-F1235F18890F@arm.com>
From: sisyphean <sisyphean@zlw.email>
In-Reply-To: <A9FCD688-3CA2-484A-ADC1-F1235F18890F@arm.com>

This is a multi-part message in MIME format.
--------------twmZYvIWUWAfqTa7A2RDV568
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

在 2022/12/9 17:50, Rahul Singh 写道:
> Hi Sisyphean,
>
> > On 9 Dec 2022, at 6:15 am, sisyphean <sisyphean@zlw.email> wrote:
> >
> > Hi,
> >
> > I try to run XEN on my ARM board(Sorry, for some commercial reasons, 
> I can't tell you
> > on which platform I run XEN)  and add PCIE device passthrough to 
> DomU.But an error
> > occurred while adding the PCIE device to SMMUv3.
>
> PCI passthrough support is not fully upstream to Xen on ARM. We have 
> working
> PCI passthrough branch that you can use to test it.
>
> https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough
>
> >
> > Through reading the code and tracing debugging, the error is found 
> in the function
> > arm_smmu_add_device, which will obtain and determine whether the 
> fwspec of the
> > device to be added to SMMU exists.But for the XEN of arm, the fwspec 
> of the device is
> > created and added by judging whether the iommu field exists in the 
> device node when
> > XEN parses the device tree.However, the PCIE device does not appear 
> in the device tree,
> > so there will be no fwspec for all PCIE devices. When attempting to 
> add a PCIE device to
> > SMMU, a ENODEV error will be returned.
>
> As of now Xen doesn’t support to add PCI device to IOMMU on ARM.
> >
> > In addition, the code at xen/drivers/passthrough/pci.c also verifies 
> the above view.
> > For PCIE devices, pdev is alloc in function pci_add_device by 
> alloc_pdev.However,
> > the function alloc_pdev does not create and add fwspec to the PCIE 
> device.Therefore,
> > when function pci_add_device executes to iommu_add_device,it will 
> get the error
> > return of ENODEV.
> >
> > How can I resolve the above errors?
>
> If you want to test the PCI passthrough please follow below steps.
>
> Xen setup:
>     • A checkout of the “integration/pci-passthrough” branch from the  
> gitlab 
> https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough
>     • Pass iommu=yes  and pci-passthrough=on to Xen command line to 
> enable PCI passthrough.
>
>  Linux Kernel setup:
>
>     • Some changes are required for the kernel to work with PCI 
> passthrough. First are some configuration options, enable them in 
> kernel config.
>          CONFIG_XEN=y
>          CONFIG_XEN_BACKEND=y
>          CONFIG_XEN_PCIDEV_BACKEND=y
>     • Then a patch needs to be applied for enabling the pciback 
> driver. Patch is attached in this email.
>
> Using PCI passthrough:
>
>     • In order to pass a device to a guest, you first need its PCI 
> address(SBDF). You can either get it from a bare-metal
>       Linux running on the platform or by having pciutils installed 
> (if you are using a yocto-based dom0 or have apt available), which 
> provides lspci.
>
>      For example, let's pass one ethernet interface to the guest. 
> Running lspci gives us this output (truncated) :
>        0000:00:00.0 Host bridge: Ampere Computing, LLC Device e100
>        0000:00:01.0 PCI bridge: Ampere Computing, LLC Device e101 (rev 04)
>        0000:01:00.0 Ethernet controller: Intel Corporation Ethernet 
> Controller X710/X557-AT 10GBASE-T (rev 01)
>                [...]
>
>      We will pass one of the ethernet from the PCI network card : 
> 0000:01:00.0 .
>
>     • Add the following line to the guest configuration file :
>           pci = ['0000:01:00.0']
>
>     • Run the following command before starting the guest :
>            xl pci-assignable-add 0000:01:00.0
>     • Start the guest. The network interface should appear as 00:00.0  
> in the guest and be usable.
>
> Please let me know if you need more info.
>
>
>
> Regards,
> Rahul
>
Thank you for your reply.

After setting XEN and kernel as above, I tried the following two methods 
to add a PCIE device passthrough:

1. According to your suggestion, use the command xl pci-assignable-add 
0002:21:00.0 to set in the Dom0. But in function
iommu_do_pci_domctl,  after device_assigned is called, ENODEV error is 
obtained.

2. Add xen-pciback.hide=(0002:21:00.0) to dom0-bootargs in the device 
tree, I encountered the same problem as before
when initializing the kernel. In function pci_add_device, PCIE devices 
cannot be added to SMMUv3.

The kernel version I use is 5.10. Does this have an impact?

In addition, an error was encountered after XEN enabling ITS:

In function gicv3_cpu_init, gicv3_its_setup_collection return 
-ETIMEDOUT. This problem was solved after I made the
following changes:

diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
index 9558bad..a12c0d1 100644
--- a/xen/arch/arm/gic-v3-its.c
+++ b/xen/arch/arm/gic-v3-its.c
@@ -118,11 +118,11 @@ static int its_send_command(struct host_its 
*hw_its, const void *its_cmd)
      }

      memcpy(hw_its->cmd_buf + writep, its_cmd, ITS_CMD_SIZE);
-    if ( hw_its->flags & HOST_ITS_FLUSH_CMD_QUEUE )
+    // if ( hw_its->flags & HOST_ITS_FLUSH_CMD_QUEUE )
          clean_and_invalidate_dcache_va_range(hw_its->cmd_buf + writep,
                                               ITS_CMD_SIZE);
-    else
-        dsb(ishst);
+    // else
+    //     dsb(ishst);

      writep = (writep + ITS_CMD_SIZE) % ITS_CMD_QUEUE_SZ;
      writeq_relaxed(writep & BUFPTR_MASK, hw_its->its_base + GITS_CWRITER);

Cheers,

--
Sisyphean

--------------twmZYvIWUWAfqTa7A2RDV568
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi,<br>
    </p>
    <div class="moz-cite-prefix">在 2022/12/9 17:50, Rahul Singh 写道:<br>
    </div>
    <blockquote type="cite"
      cite="mid:A9FCD688-3CA2-484A-ADC1-F1235F18890F@arm.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <div class="BodyFragment"><font size="2"><span
            style="font-size:11pt;">
            <div class="PlainText">Hi Sisyphean,<br>
              <br>
              &gt; On 9 Dec 2022, at 6:15 am, sisyphean
              <a class="moz-txt-link-rfc2396E" href="mailto:sisyphean@zlw.email">&lt;sisyphean@zlw.email&gt;</a> wrote:<br>
              &gt; <br>
              &gt; Hi,<br>
              &gt; <br>
              &gt; I try to run XEN on my ARM board(Sorry, for some
              commercial reasons, I can't tell you<br>
              &gt; on which platform I run XEN)  and add PCIE device
              passthrough to DomU.But an error<br>
              &gt; occurred while adding the PCIE device to SMMUv3.<br>
              <br>
              PCI passthrough support is not fully upstream to Xen on
              ARM. We have working<br>
              PCI passthrough branch that you can use to test it. <br>
              <br>
              <a
href="https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough"
                moz-do-not-send="true" class="moz-txt-link-freetext">https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough</a><br>
              <br>
              &gt; <br>
              &gt; Through reading the code and tracing debugging, the
              error is found in the function<br>
              &gt; arm_smmu_add_device, which will obtain and determine
              whether the fwspec of the<br>
              &gt; device to be added to SMMU exists.But for the XEN of
              arm, the fwspec of the device is<br>
              &gt; created and added by judging whether the iommu field
              exists in the device node when<br>
              &gt; XEN parses the device tree.However, the PCIE device
              does not appear in the device tree,<br>
              &gt; so there will be no fwspec for all PCIE devices. When
              attempting to add a PCIE device to<br>
              &gt; SMMU, a ENODEV error will be returned.<br>
              <br>
              As of now Xen doesn’t support to add PCI device to IOMMU
              on ARM. <br>
              &gt; <br>
              &gt; In addition, the code at
              xen/drivers/passthrough/pci.c also verifies the above
              view.<br>
              &gt; For PCIE devices, pdev is alloc in function
              pci_add_device by alloc_pdev.However,<br>
              &gt; the function alloc_pdev does not create and add
              fwspec to the PCIE device.Therefore,<br>
              &gt; when function pci_add_device executes to
              iommu_add_device,it will get the error<br>
              &gt; return of ENODEV.<br>
              &gt; <br>
              &gt; How can I resolve the above errors?<br>
              <br>
              If you want to test the PCI passthrough please follow
              below steps.<br>
              <br>
              Xen setup:<br>
                  • A checkout of the “integration/pci-passthrough”
              branch from the  gitlab <a
href="https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough"
                moz-do-not-send="true" class="moz-txt-link-freetext">
https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough</a><br>
                  • Pass iommu=yes  and pci-passthrough=on to Xen
              command line to enable PCI passthrough.<br>
              <br>
               Linux Kernel setup:<br>
               <br>
                  • Some changes are required for the kernel to work
              with PCI passthrough. First are some configuration
              options, enable them in kernel config.<br>
                       CONFIG_XEN=y<br>
                       CONFIG_XEN_BACKEND=y<br>
                       CONFIG_XEN_PCIDEV_BACKEND=y<br>
                  • Then a patch needs to be applied for enabling the
              pciback driver. Patch is attached in this email.<br>
               <br>
              Using PCI passthrough:<br>
               <br>
                  • In order to pass a device to a guest, you first need
              its PCI address(SBDF). You can either get it from a
              bare-metal<br>
                    Linux running on the platform or by having pciutils 
              installed (if you are using a yocto-based dom0 or have apt
              available), which provides lspci.<br>
               <br>
                   For example, let's pass one ethernet interface to the
              guest. Running lspci gives us this output (truncated) :<br>
                     0000:00:00.0 Host bridge: Ampere Computing, LLC
              Device e100<br>
                     0000:00:01.0 PCI bridge: Ampere Computing, LLC
              Device e101 (rev 04)<br>
                     0000:01:00.0 Ethernet controller: Intel Corporation
              Ethernet Controller X710/X557-AT 10GBASE-T (rev 01)<br>
                             [...]<br>
               <br>
                   We will pass one of the ethernet from the PCI network
              card : 0000:01:00.0 .<br>
               <br>
                  • Add the following line to the guest configuration
              file :<br>
                        pci = ['0000:01:00.0']<br>
               <br>
                  • Run the following command before starting the guest
              :<br>
                         xl pci-assignable-add 0000:01:00.0<br>
                  • Start the guest. The network interface should appear
              as 00:00.0  in the guest and be usable.<br>
               <br>
              Please let me know if you need more info.<br>
              <br>
            </div>
          </span></font></div>
      <div class="BodyFragment"><font size="2"><span
            style="font-size:11pt;">
            <div class="PlainText"><br>
              <br>
              Regards,<br>
              Rahul<br>
              <br>
            </div>
          </span></font></div>
    </blockquote>
    <p><font size="2">Thank you for your reply.</font></p>
    <p><font size="2">After setting XEN and kernel as above, I tried the
        following two methods to add a PCIE device passthrough:</font></p>
    <p><font size="2">1. According to your suggestion, use the command
        xl pci-assignable-add 0002:21:00.0 to set in the Dom0. But in
        function<br>
        iommu_do_pci_domctl,  after device_assigned is called, ENODEV
        error is obtained.<br>
      </font></p>
    <p><font size="2">2. Add xen-pciback.hide=(0002:21:00.0) to
        dom0-bootargs in the device tree, I encountered the same problem
        as before <br>
        when initializing the kernel. In function pci_add_device, PCIE
        devices cannot be added to SMMUv3.<br>
      </font></p>
    <p><font size="2">The kernel version I use is 5.10. Does this have
        an impact?<br>
      </font></p>
    <p><font size="2">In addition, an error was encountered after XEN
        enabling ITS:</font></p>
    <p><font size="2">In function gicv3_cpu_init,
        gicv3_its_setup_collection return -ETIMEDOUT. This problem was
        solved after I made the<br>
        following changes:</font></p>
    <p><font size="2">diff --git a/xen/arch/arm/gic-v3-its.c
        b/xen/arch/arm/gic-v3-its.c<br>
        index 9558bad..a12c0d1 100644<br>
        --- a/xen/arch/arm/gic-v3-its.c<br>
        +++ b/xen/arch/arm/gic-v3-its.c<br>
        @@ -118,11 +118,11 @@ static int its_send_command(struct
        host_its *hw_its, const void *its_cmd)<br>
             }<br>
         <br>
             memcpy(hw_its-&gt;cmd_buf + writep, its_cmd, ITS_CMD_SIZE);<br>
        -    if ( hw_its-&gt;flags &amp; HOST_ITS_FLUSH_CMD_QUEUE )<br>
        +    // if ( hw_its-&gt;flags &amp; HOST_ITS_FLUSH_CMD_QUEUE )<br>
                 clean_and_invalidate_dcache_va_range(hw_its-&gt;cmd_buf
        + writep,<br>
                                                      ITS_CMD_SIZE);<br>
        -    else<br>
        -        dsb(ishst);<br>
        +    // else<br>
        +    //     dsb(ishst);<br>
         <br>
             writep = (writep + ITS_CMD_SIZE) % ITS_CMD_QUEUE_SZ;<br>
             writeq_relaxed(writep &amp; BUFPTR_MASK,
        hw_its-&gt;its_base + GITS_CWRITER);<br>
      </font></p>
    <p><font size="2">Cheers,</font></p>
    <p><font size="2">--<br>
        Sisyphean<br>
      </font></p>
  </body>
</html>

--------------twmZYvIWUWAfqTa7A2RDV568--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 06:24:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 06:24:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459071.716738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4cEs-0004yP-VO; Mon, 12 Dec 2022 06:24:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459071.716738; Mon, 12 Dec 2022 06:24:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4cEs-0004yI-Sa; Mon, 12 Dec 2022 06:24:34 +0000
Received: by outflank-mailman (input) for mailman id 459071;
 Mon, 12 Dec 2022 06:24:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/A98=4K=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p4cEr-0004yC-83
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 06:24:33 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a33bc605-79e5-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 07:24:31 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id D084333895;
 Mon, 12 Dec 2022 06:24:30 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id A8DED13456;
 Mon, 12 Dec 2022 06:24:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id jEviJx7JlmNdVwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 12 Dec 2022 06:24:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a33bc605-79e5-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670826270; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=PDleQvRrvX4MednzmZMOBosn/u+w5VLSU4we6Gr6Rpg=;
	b=JeOvlfdVQ0v0I9dzki2wi4tBTPrtVnpfK7fhFEf5ZClAg8Gc2aRgtHIna2pcEnPFObuod7
	R86VxHPkycHHJpEM324Vo3EnvroKux4P7x7kgFVis2Rbi0fa3RHfAxX4DXFokOp8EJs7DK
	W2dmF+T2I3R0t2KMkA00IxcaVxp+Fcw=
From: Juergen Gross <jgross@suse.com>
To: torvalds@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	sstabellini@kernel.org
Subject: [GIT PULL] xen: branch for v6.2-rc1
Date: Mon, 12 Dec 2022 07:24:30 +0100
Message-Id: <20221212062430.10263-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.2-rc1-tag

xen: branch for v6.2-rc1

It contains:

- 2 small minor fixes
- a small series fixing memory leaks in error paths
- a small series adding support for virtio PCI-devices in Xen guests on
  Arm


Thanks.

Juergen

 arch/arm/xen/enlighten.c    |   2 +-
 arch/x86/xen/smp.c          |  24 +++++-----
 arch/x86/xen/smp_pv.c       |  12 ++---
 arch/x86/xen/spinlock.c     |   6 +--
 drivers/xen/grant-dma-ops.c | 105 ++++++++++++++++++++++++--------------------
 drivers/xen/privcmd.c       |   2 +-
 include/xen/arm/xen-ops.h   |   4 +-
 include/xen/xen-ops.h       |  16 -------
 include/xen/xen.h           |   4 +-
 9 files changed, 84 insertions(+), 91 deletions(-)

Harshit Mogalapalli (1):
      xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource()

Jani Nikula (1):
      xen: fix xen.h build for CONFIG_XEN_PVH=y

Oleksandr Tyshchenko (2):
      xen/virtio: Optimize the setup of "xen-grant-dma" devices
      xen/virtio: Handle PCI devices which Host controller is described in DT

Xiu Jianfeng (2):
      x86/xen: Fix memory leak in xen_smp_intr_init{_pv}()
      x86/xen: Fix memory leak in xen_init_lock_cpu()


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 06:32:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 06:32:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459080.716750 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4cMu-0006Ur-Qp; Mon, 12 Dec 2022 06:32:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459080.716750; Mon, 12 Dec 2022 06:32:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4cMu-0006Uk-M1; Mon, 12 Dec 2022 06:32:52 +0000
Received: by outflank-mailman (input) for mailman id 459080;
 Mon, 12 Dec 2022 06:32:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4cMs-0006Ua-W7; Mon, 12 Dec 2022 06:32:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4cMs-0001UZ-V2; Mon, 12 Dec 2022 06:32:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4cMs-0002is-HQ; Mon, 12 Dec 2022 06:32:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4cMs-0002O4-Gg; Mon, 12 Dec 2022 06:32:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4bii0chr6oyh+EirSZTcmuKMifjfi5WpPr5XONOSIsw=; b=YqD0J5TuRNqZgBev/GPMkVlL4E
	tsipxeQlZcPnQYTp5CCOn8kNLbFc3IhEyP+FBUK1UghzjeB68vEbHw3SHT1EH6mQ65cQFsFcgf3aj
	U8t9RJQGdOf+Hc6EJwD7aQRPihGusu7pBPxs+8QG2fvLthjC8ttWmdkjshApHRqnI0YY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175149-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175149: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a6542894391bae58b7704b2624b541a2b8b9ed93
X-Osstest-Versions-That:
    ovmf=4cb94f20b002c99dd2b4b75f07c5495b81a34ffd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 12 Dec 2022 06:32:50 +0000

flight 175149 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175149/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a6542894391bae58b7704b2624b541a2b8b9ed93
baseline version:
 ovmf                 4cb94f20b002c99dd2b4b75f07c5495b81a34ffd

Last test of basis   175142  2022-12-10 16:10:52 Z    1 days
Testing same since   175149  2022-12-12 01:55:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Albecki, Mateusz <mateusz.albecki@intel.com>
  Mateusz Albecki <mateusz.albecki@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   4cb94f20b0..a654289439  a6542894391bae58b7704b2624b541a2b8b9ed93 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 06:41:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 06:41:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459090.716760 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4cVP-0008B5-L5; Mon, 12 Dec 2022 06:41:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459090.716760; Mon, 12 Dec 2022 06:41:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4cVP-0008Ay-I6; Mon, 12 Dec 2022 06:41:39 +0000
Received: by outflank-mailman (input) for mailman id 459090;
 Mon, 12 Dec 2022 06:41:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Tmz+=4K=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p4cVO-0008As-0L
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 06:41:38 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 058a2905-79e8-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 07:41:35 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 207BF1FB;
 Sun, 11 Dec 2022 22:42:15 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.24])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 7BA053F71E;
 Sun, 11 Dec 2022 22:41:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 058a2905-79e8-11ed-91b6-6bf2151ebd3b
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] xen/arm: Reduce redundant clear root pages when teardown p2m
Date: Mon, 12 Dec 2022 14:41:19 +0800
Message-Id: <20221212064119.2632626-1-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, p2m for a domain will be teardown from two paths:
(1) The normal path when a domain is destroyed.
(2) The arch_domain_destroy() in the failure path of domain creation.

When tearing down p2m from (1), the part to clear and clean the root
is only needed to do once rather than for every call of p2m_teardown().
If the p2m teardown is from (2), the clear and clean of the root
is unnecessary because the domain is not scheduled.

Therefore, this patch introduces a helper `p2m_clear_root_pages()` to
do the clear and clean of the root, and move this logic outside of
p2m_teardown(). With this movement, the `page_list_empty(&p2m->pages)`
check can be dropped.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
 xen/arch/arm/domain.c          |  5 +++++
 xen/arch/arm/include/asm/p2m.h |  1 +
 xen/arch/arm/p2m.c             | 23 ++++++++++++-----------
 3 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 99577adb6c..29c189aab4 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -1022,6 +1022,11 @@ int domain_relinquish_resources(struct domain *d)
             return ret;
 
     PROGRESS(p2m):
+        /*
+         * We are about to free the intermediate page-tables, so clear the
+         * root to prevent any walk to use them.
+         */
+        p2m_clear_root_pages(&d->arch.p2m);
         ret = p2m_teardown(d, true);
         if ( ret )
             return ret;
diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index 91df922e1c..bf5183e53a 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -281,6 +281,7 @@ int p2m_set_entry(struct p2m_domain *p2m,
 
 bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn);
 
+void p2m_clear_root_pages(struct p2m_domain *p2m);
 void p2m_invalidate_root(struct p2m_domain *p2m);
 
 /*
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 948f199d84..0c942c5923 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1314,6 +1314,18 @@ static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
     p2m->need_flush = true;
 }
 
+void p2m_clear_root_pages(struct p2m_domain *p2m)
+{
+    unsigned int i;
+
+    p2m_write_lock(p2m);
+
+    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
+        clear_and_clean_page(p2m->root + i);
+
+    p2m_write_unlock(p2m);
+}
+
 /*
  * Invalidate all entries in the root page-tables. This is
  * useful to get fault on entry and do an action.
@@ -1698,21 +1710,10 @@ int p2m_teardown(struct domain *d, bool allow_preemption)
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
     unsigned long count = 0;
     struct page_info *pg;
-    unsigned int i;
     int rc = 0;
 
-    if ( page_list_empty(&p2m->pages) )
-        return 0;
-
     p2m_write_lock(p2m);
 
-    /*
-     * We are about to free the intermediate page-tables, so clear the
-     * root to prevent any walk to use them.
-     */
-    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
-        clear_and_clean_page(p2m->root + i);
-
     /*
      * The domain will not be scheduled anymore, so in theory we should
      * not need to flush the TLBs. Do it for safety purpose.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 07:52:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 07:52:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459103.716771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4dbR-0007mc-UR; Mon, 12 Dec 2022 07:51:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459103.716771; Mon, 12 Dec 2022 07:51:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4dbR-0007mV-RU; Mon, 12 Dec 2022 07:51:57 +0000
Received: by outflank-mailman (input) for mailman id 459103;
 Mon, 12 Dec 2022 07:51:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4dbQ-0007mL-Ky; Mon, 12 Dec 2022 07:51:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4dbQ-0003VZ-Gx; Mon, 12 Dec 2022 07:51:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4dbQ-0007Lk-3F; Mon, 12 Dec 2022 07:51:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4dbQ-0008TZ-2h; Mon, 12 Dec 2022 07:51:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yzlRh22LXyTXe5PD72Pm6CIbPm0g5k2XNykYl+x4hGY=; b=vnsEsIFRdf6wZgWJzrjJ3essic
	2H/UDUb5YhN/i+CPMIVzKPOpWprPXdHs1c24cFGBQ1cP9/Tw33aQZztZc4G+eFOpwkak5biTZa95h
	nSQYMDmPj8RIhqOB1LIuDVN4/UJf12okC9Cp0i5cgIDM0ntlA5J/nU3PJAutO+EUIv5Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175148-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175148: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:heisenbug
    xen-unstable:test-amd64-coresched-i386-xl:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-i386-livepatch:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 12 Dec 2022 07:51:56 +0000

flight 175148 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175148/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine       6 xen-install      fail in 175144 pass in 175148
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail in 175144 pass in 175148
 test-amd64-coresched-i386-xl 20 guest-localmigrate/x10 fail in 175144 pass in 175148
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 175144 pass in 175148
 test-amd64-i386-livepatch     7 xen-install                fail pass in 175144

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175144
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175144
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175144
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175144
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175144
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175144
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175144
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175144
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175144
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175144
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175144
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175144
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175148  2022-12-12 01:53:19 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 08:25:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 08:25:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459122.716782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4e7k-0003gz-1H; Mon, 12 Dec 2022 08:25:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459122.716782; Mon, 12 Dec 2022 08:25:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4e7j-0003gs-Uh; Mon, 12 Dec 2022 08:25:19 +0000
Received: by outflank-mailman (input) for mailman id 459122;
 Mon, 12 Dec 2022 08:25:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8fsB=4K=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p4e7i-0003gm-4p
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 08:25:18 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2045.outbound.protection.outlook.com [40.107.105.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81b9339a-79f6-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 09:25:16 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS1PR04MB9383.eurprd04.prod.outlook.com (2603:10a6:20b:4d9::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Mon, 12 Dec
 2022 08:25:14 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 08:25:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81b9339a-79f6-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nHLjlUf3DM08RTI3cuTcWov/vRxmr8+nnY5GrAB1+Pr7BEOACjv6uIvJircxqCNXmsProHY/VbXhXm67lFaMLl9T9WhOwZwDxzhfGc0bUjRuRhYJWFUEo1W42EPgktfhX7rWIvCloOCmXRBHRwKUGLGTwmE8gxMuCdqnjCHGp52oVDAmaoDWO3ghRaUjgYKnZA25zqDbBfYRo14pphz9v/LcStkjb/2ZM2I5CWEJ6w0tAIr+sXxylB+aIGAfbjTDl/+3nhIM6dHofsXh99ds38cCHjoIrzyAlFmyICTCUI1Tm/pIp0+tX7xvtrNPWR8KOjad+9INkk2KdCvxyAUr7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8+eMVeXYg4FWVikC/VqxI3JzkM34sIxKmQsuZ9ST6vs=;
 b=UAWoXt7NgKO6wlOM05sd5sP02yL3x5kN579L6Snq/D6wEgxJPuQwkPI3C/jnreu6LlkZHlgW9+RSg9LYb7UM6R8pl/8jSp/lLRl1SHD4Pvl+xPsxDdv6coPrK0BUEr6Wb1mBG7eJc31+faw55EiB/5y4OFesFwEZY6NX9/eimZTwU6x5cb/XN1oRFS62K9XuYSOwcCX7fIFVNhntlYkwJxGeMMvFdeimpkO/Z1m0ctW8VNXPOLNaghWsJWxTrydtyaw7ojX0WOWw0hLsbZvF2k1bSpXX2XOxRVatm4NDvK+IBoP5yBBN4kUfudchgkVeg+PMhaF7Umpap+94hfxRCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8+eMVeXYg4FWVikC/VqxI3JzkM34sIxKmQsuZ9ST6vs=;
 b=t/VnF3ux9WsLvTr+F7HcwjHqKSqTZvM5DdFOhCozbiayvS2cNfT3vBPqRbi7nlIc/qRBKz49r/7SyQ0ahY27tq4egDvBSl9D6Zb5qb2KwctkICXuz5ogvPX02B1+2IQiF6boo7VYSA9Ol+0a0vpuozFhOOvRnSwtAbcOtjNsLiVPVzFTQWiC2GGXSqitwGoG0EoDDiRxpeUg3I+t4MVfg8T45EUnsK/AildnDc2gqL+qBZV8lpi4Ofir2Gp5AeG8QcjPLPQKUD1u9P4LMAyupE1Wg9KJzAODBwpD5c/MDSrYlMAuFwYj8Z3xxVobVLKuaLuYuXRFupEpb8PvPVydmg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <78b77cb5-4821-7a1a-ea58-9fc33dcab882@suse.com>
Date: Mon, 12 Dec 2022 09:25:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [linux-linus test] 175147: regressions - FAIL
To: xen-devel@lists.xenproject.org
References: <osstest-175147-mainreport@xen.org>
Content-Language: en-US
Cc: osstest service owner <osstest-admin@xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <osstest-175147-mainreport@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0049.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::22) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS1PR04MB9383:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c024c3e-2324-44cf-d66d-08dadc1a64a2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jjZqR4aY15Z6H7uC4NA5k5uSQKMKffvGoryKkjHammhS3dNccZHFLjUYpRTerP6z3R4aZeHbIq8lvUsiiDqTmc+tc4G2hiAG1kHKsjmUkrWhy3clOvsy1IzUrrBFCHx9BU08zMWiDMpKZu+HHfGoBKlu3v38Go3o8mDWNxxvuY2Utx3bdPLhW/pGyyM/QAc0EvsEup4piB2SjB3mS5r997goDy/46d5QnKt+9qbMUjTjIpN5O4n1DjCtk6+6KoPrChwVjjfrj0N3tWnrVD8ZzNIITm0STjlH2tpBUZZFrXoISQnl88WhG2w1J4BxPilxTJ8Z7f72Tfzq8v+C1qCAJjUzyTHoDPIyciCG4Nr+cbFeCeEfX+a2nmKomdgRXmgW9YVb0NZRO2tGcFkDEUHbJhTigvVDlW6cSQcp0EHR3rCkugAlZTkGkmE64eix9jpOylZv6/vqMp0ROjc16BgEyBkhan6AUk4NUY4r4t6c0k1llo2nOabszfS2XBp3K1wcC4ZODNXEMEeJWHP/8A5PSoH4AdN3M5vQbvkrLc+ltS9vD3yz16TGd3w8Ns7M7culKpyoSrJlrTIL+VTmYIKamgakfTzNE/5ccMn7z8B8FYWAFYa6cLErWxEmXcnifFNMNOpRysJ3gEECixmXuGskkAPbHqUTdmxsdfImPmWFQVw/GcVVg4crRnSF+r50NPwix1NMjkE/1hj6WhrCGuT9v+vZFvw3EsvXi79jjYmbqrpfQC74LbaK7t+XSWp8Xxfc
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(376002)(396003)(136003)(346002)(451199015)(31686004)(2906002)(66476007)(4326008)(66556008)(8676002)(41300700001)(66946007)(8936002)(316002)(6916009)(6512007)(6486002)(2616005)(186003)(6506007)(53546011)(478600001)(83380400001)(966005)(26005)(36756003)(38100700002)(5660300002)(31696002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cy9NcEQ2SHRNeGdJMzNDZUF6UFd1Qml5MFJwVzVHMjVNWHpSeU5GMmhnWG02?=
 =?utf-8?B?K3o2ZEM5U3NueGcwZzMvN3lPN2RkYWxpZGhZTUZoMG9IOVNFMGVDeTZKK0px?=
 =?utf-8?B?bXgzcmRTbGtUVmRqbWJ6T2h1Z21iV3lFTkt2aENIMjVmWXBaa1BjRE15SnQy?=
 =?utf-8?B?eVU4TFZIamxOMCtCdEJrQ3AreCtYczdnb0EzVDR2OFNOczgvc3U4S2FtbHRL?=
 =?utf-8?B?VVIxby8wV1RNUFIzUjh5YUtYeUFyT2swckhzS0p2VHkwRlBiTHR6QWNBRTR3?=
 =?utf-8?B?L0JBTEs3NFBzRTU0VGtNMlBqRUF0TlVCN1FaVUVPVUR0QXhJTVFob2F6VkZE?=
 =?utf-8?B?MTJGYzdPNEFkQjRJMDQ2elZEOURwMEJ3cXRMQ1ZDQndTUXY5SWVMenp5d20r?=
 =?utf-8?B?RDhER2p2L05GWlJSSlkvcU1ZV1ZIUjZUSTN1Qm1XcExlUjQ0RjFFV09RcC8y?=
 =?utf-8?B?L1JGK3YzTDhndWV3Tk91VWpZemN6UmxrMWFwTnV5cWZKU0F1V3FCVm5GbExG?=
 =?utf-8?B?dDNFQUN3TzljaXVWWVgrZ1ozZDkzTGJRZG4rZnpwYWZkM0RVQXEybXZNZVFx?=
 =?utf-8?B?VkN5Ry80MmRGQ0RrdG44VTNGNkgyR0dlcFJXNnVRM2tHVkdRY2JSRDJWR0Vo?=
 =?utf-8?B?akdTb1dmR2I4OS82ajBkT01ETFNvRkxWQ3Jjb1FSb2g0UU9OSkRGSnZGa3pz?=
 =?utf-8?B?TmNid3V3RFVCUEJaL1l5d0U3aU1yS0IwQ01EUGRsRlRDRTJaQjA5YmV6UTI4?=
 =?utf-8?B?azFKNTZDbVhHSzBreDduTlhWNHRsL1pIZHVhODNPRUgvb1pNY25BVi9TRUk1?=
 =?utf-8?B?WFlacmFsT3ROWkNwZE56MnozVml5dXhvb3hFNTdZZ1hBTzVLaXdMVE1VbGVE?=
 =?utf-8?B?c3hYV0VWMXRmZ0dmd09CTHBNVDNYRWVSSmRTdVl1RmQ1S01BR2dvbzBWUEdC?=
 =?utf-8?B?YWJwbVFGeHF1QTZTK1ZHWFBrOVdiTzhzTmFjN2RMVXJobFQrQ0JjSFdBVTVh?=
 =?utf-8?B?MzRaejlwdk9IMlpCa2RzaFk3OWFYTFVZWTNkVklkMTBqNXdQWWNMZDR4ZFh2?=
 =?utf-8?B?dEVORE9oWjFFSkpBOHJXRVkzcm9CRXBQY0FYSnNidE9nd1pCSVJxVkJMbXZC?=
 =?utf-8?B?aW1XN093Y01hUFRsVUZPVTJYcy9WanJCeFB0NHJqZ21vRWcwSlJKcCtoNDRu?=
 =?utf-8?B?RU0wNmE1RHVVcGVqL1dpSHB3SFRoVkpGS3Bmb29DYzhWbGRUeWZZSFhxaEtQ?=
 =?utf-8?B?ejdQS1MyZVVha2tzbXdiWGRuSHdrdFN6dnJSUU8zblZKdmMwSzFYSC81a2d2?=
 =?utf-8?B?MTJHZ01FZnBBWG9GOERCVldyOUs4YzVGRTMxSURLVkFMaW51MHAvQWhYempk?=
 =?utf-8?B?WDcra0VGVHA0UU9BblYrYmN0dDJDazZtY2cyRi8vVDJsQ1NXV0FPNVZ1VERv?=
 =?utf-8?B?ZkkvZ1hIWmdGQkdxQlBCckQ0ckJnNGFmUzNBSWxQWXVoWkNOREdaY2hYaXc5?=
 =?utf-8?B?ZHp6aVl3ZnV1Y01sa080T0Z1UENYSHpKUW9DVUVRcHNnVTdIL2NlYzFiV2lS?=
 =?utf-8?B?aWNrTVc1Z2Q4Nnl2bFA4U2xMb2VHTDhRdmh6WjJaT0FMQnJTYU4wWEtwOXZY?=
 =?utf-8?B?VXZuSkNmbHoyelkyWWJaWUlhRTg5UUhhRE13bGhrM0ZzYTJxYWZhcW9IRmM4?=
 =?utf-8?B?VUY1SmdiNzFHcnJCOG5odXh4TWZFcnlYdG1LcklHVFZYZ3RyeWdkRHo0N1hJ?=
 =?utf-8?B?eEJ5MlJvVjVJZzlGb0ZUazlocGdEMVkyTDRoTGc5OS90T3hzWXh3ZXVqMUJY?=
 =?utf-8?B?eDRORkZRcTVnb1pYTng0QXVaVkhreWhrVXRuSUx6eVkraVphUE5QNkdUblMx?=
 =?utf-8?B?QTdJbWc4ckF6NjlHMk83YzlqdzJia1N5UFlNR3pYdjliZ2txc3V0Ym9xVXBZ?=
 =?utf-8?B?SHdxK1NkbVR5N0phMDkwc2xDSlNTdGQyanE0YlFmWVgvNCtvZFBqWlprMnZs?=
 =?utf-8?B?a0tUaWQ1WjFPM1BWc1A1Q2pRS29IakVLWTdYTmtlaytvUHFYakJKY3BrK002?=
 =?utf-8?B?K2owWE54d2ltNTlSTG4yUzFBLzU1OHRTVXA3bEw3aWdzdGkzdEZhT1gyeGFx?=
 =?utf-8?Q?9zpxrBwmNGGX9PORIjHgAa3Ru?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c024c3e-2324-44cf-d66d-08dadc1a64a2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 08:25:14.4656
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dkPn8wcLvAoxXKCCn36T/gGHDMN3Cax7DESOWN8t3V2baP/zxak+OxWW/SHsq0d9P4uZZG026P8yu3vgEjCYaA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9383

On 12.12.2022 06:51, osstest service owner wrote:
> flight 175147 linux-linus real [real]
> http://logs.test-lab.xenproject.org/osstest/logs/175147/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
>  test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
>  test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
>  test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
>  test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
>  test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
>  test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
>  test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
>  test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
>  test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
>  test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
>  test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
>  test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
>  test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
>  test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
>  test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
>  test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
>  test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
>  test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

This was let go on for long enough that now Linux 6.1 was released with
whatever regression still in place which is causing the above failures.
I had put this on the agenda of the community call earlier this month,
but sadly time didn't permit getting to this topic ...

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 08:48:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 08:48:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459134.716793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4eU3-0006T1-0R; Mon, 12 Dec 2022 08:48:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459134.716793; Mon, 12 Dec 2022 08:48:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4eU2-0006Su-Tk; Mon, 12 Dec 2022 08:48:22 +0000
Received: by outflank-mailman (input) for mailman id 459134;
 Mon, 12 Dec 2022 08:48:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4eU1-0006Sk-Ka; Mon, 12 Dec 2022 08:48:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4eU1-0005TV-Fe; Mon, 12 Dec 2022 08:48:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4eU1-00016i-0S; Mon, 12 Dec 2022 08:48:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4eU0-0004W2-WF; Mon, 12 Dec 2022 08:48:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xe0eWfvhQK7rGR5MGX/zsvNisBkl5XZ63OpBp6i8qvI=; b=ZiJ0/iLuVIfUCeBavKLxf5s28T
	Zhrs7/ei5XcJ/L0B7gQ5fYdw03H7w82gfcoiEarPJovprKWkuUszdUgzrvkTQGO0eWTHgOTa5R9gF
	S6JIdVUoPUn82jxdNqfoxRIYS2+4hESaZgcdT2rAuo+aYiM/DP7lPvgsNNSRLRb8/ShE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175151-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175151: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=5890a18409a0e67a491c600b930e6c904ad3b3fd
X-Osstest-Versions-That:
    ovmf=a6542894391bae58b7704b2624b541a2b8b9ed93
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 12 Dec 2022 08:48:20 +0000

flight 175151 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175151/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 5890a18409a0e67a491c600b930e6c904ad3b3fd
baseline version:
 ovmf                 a6542894391bae58b7704b2624b541a2b8b9ed93

Last test of basis   175149  2022-12-12 01:55:58 Z    0 days
Testing same since   175151  2022-12-12 06:42:41 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chevron Li (WH) <chevron.li@bayhubtech.com>
  Chevron Li <chevron.li@bayhubtech.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   a654289439..5890a18409  5890a18409a0e67a491c600b930e6c904ad3b3fd -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:34:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459167.716884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCa-0004GU-IS; Mon, 12 Dec 2022 09:34:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459167.716884; Mon, 12 Dec 2022 09:34:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCa-0004Ff-Ce; Mon, 12 Dec 2022 09:34:24 +0000
Received: by outflank-mailman (input) for mailman id 459167;
 Mon, 12 Dec 2022 09:34:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fCY-0003tm-KU
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:34:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCY-0000oW-Ex; Mon, 12 Dec 2022 09:34:22 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCY-0000rv-7h; Mon, 12 Dec 2022 09:34:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=Or7ZWEnr7wyYNrxuahpihixmx7ZXU2xnjY4e99wUaXU=; b=mFbi9eRX2q7G0iEz1UuzoxcgLH
	Ewmk1zK/oJUEiMOfQMafqiXOn2Tscex+zs5uTPCqAvOs0oPNHFrilVrx+iBzTF0uxhXE0rP0t3U5X
	jrPWV/GBdJ67kfpYPTaFDr8BaqYaLP3od4CRN84gHlf92+ZcRb4e92xt8qNyMjtk/XGg=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 7/8] docs/proces: branching-checklist: Update the section "add to patchbot"
Date: Mon, 12 Dec 2022 09:34:09 +0000
Message-Id: <20221212093410.36289-8-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212093410.36289-1-julien@xen.org>
References: <20221212093410.36289-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Make clear the patchbot is accessible from the user "xen" on xenbits.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 docs/process/branching-checklist.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/process/branching-checklist.txt b/docs/process/branching-checklist.txt
index c63952886b50..9f385f137386 100644
--- a/docs/process/branching-checklist.txt
+++ b/docs/process/branching-checklist.txt
@@ -48,7 +48,7 @@ ov=4.0
     git commit -m "cr-for-branches: Add Xen and QEMU $v branch"
 
 * add to patchbot
-    on xenbits
+    ssh xen@xenbits.xen.org
     cd ~/HG/patchbot/
 
     cp xen--master.patchbot-reported-heads xen--stable-$v.patchbot-reported-heads
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:34:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459163.716839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCV-00038t-VD; Mon, 12 Dec 2022 09:34:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459163.716839; Mon, 12 Dec 2022 09:34:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCV-00038h-S4; Mon, 12 Dec 2022 09:34:19 +0000
Received: by outflank-mailman (input) for mailman id 459163;
 Mon, 12 Dec 2022 09:34:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fCU-00035t-GW
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:34:18 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCT-0000n6-Dn; Mon, 12 Dec 2022 09:34:17 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCT-0000rv-6G; Mon, 12 Dec 2022 09:34:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=77lchHhwHcgImnrvL1V0yWzZRlmrrX3w/h3w2HMcLxw=; b=0DCaQv1+Epv9fygoRtsQSxoAcg
	x7CtuVwdpGkOYzZO0C3RMPn+Aet2Q8ORbZus7QYtDBOQ6B4SkQQLW2JfCcBKDYdX67yFNL2OjMxWu
	UFy5qYeCmztbQPE+EoM91yyhTCmoIJNwuDRePnjeSpwxkuk8PGAnI5jMIIQtq4hlgHvo=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 3/8] docs/process: branching-checklist: Remove reference to root
Date: Mon, 12 Dec 2022 09:34:05 +0000
Message-Id: <20221212093410.36289-4-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212093410.36289-1-julien@xen.org>
References: <20221212093410.36289-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

The steps to generate the documentation for the new branch requires
to ssh as root and then su to run with the user xendocs.

The release technician may not (and should not) have access to root.
So update the step to directly ssh as xendocs.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 docs/process/branching-checklist.txt | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/docs/process/branching-checklist.txt b/docs/process/branching-checklist.txt
index b8101dd0e359..a98f6559ab1a 100644
--- a/docs/process/branching-checklist.txt
+++ b/docs/process/branching-checklist.txt
@@ -25,8 +25,7 @@ ov=4.0
 * make 13:37 <ijc> https://xenbits.xen.org/docs/4.2-testing/ is now live true
 #14:17 <ijc> HOWTO: login to xenbits. become "xendocs" . cd cronjobs . edit
 #            xenbits-docs-all.sh in the obvious way. git commit
-    ssh root@xenbits.xen.org
-    su - xendocs
+    ssh xendocs@xenbits.xen.org
     cd cronjobs
     ed xenbits-docs-all.sh
     /for branch
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:34:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459160.716807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCR-0002O8-8l; Mon, 12 Dec 2022 09:34:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459160.716807; Mon, 12 Dec 2022 09:34:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCR-0002Nd-37; Mon, 12 Dec 2022 09:34:15 +0000
Received: by outflank-mailman (input) for mailman id 459160;
 Mon, 12 Dec 2022 09:34:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fCQ-0002NX-Cu
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:34:14 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCP-0000mS-M1; Mon, 12 Dec 2022 09:34:13 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCP-0000rv-A6; Mon, 12 Dec 2022 09:34:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=cosW06dSd0KwrjbL/q0vCKK5hYPTCnrvvGlbUZKmLhE=; b=pYHGtX
	30xYcKcmjOqTOniDD2bIhTHswlfvswWviq0nWNCZxHa3VT0oLVE+XaNkwOmfrRmKsO1yLRGyMkT2G
	Rg10ji6J4imfEzB0cEF2rc6Ktd0AHZZrw8Tv4UXBe1jqjnrUPojOME4i5axPP4H5eDlzKpoYNic0v
	AbBeTzz/efU=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	ijackson@chiark.greenend.org.uk
Subject: [PATCH 0/8] docs/process: branching-checklist: Update it
Date: Mon, 12 Dec 2022 09:34:02 +0000
Message-Id: <20221212093410.36289-1-julien@xen.org>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Hi all,

This is a collection of improvement for the branching checklist.

Cheers,

Julien Grall (8):
  docs/process: branching-checklist: Use consistent indentation
  docs/process: branching-checklist: Remove reference to qemu-ijw.git
  docs/process: branching-checklist: Remove reference to root
  docs/process: branching-checklist: Clarify steps to add the branch in
    osstest
  docs/process: branching-checklist: Reword the section about Config.mk
  docs/process: branching-checklist: Remove section about the cambridge
    colo
  docs/proces: branching-checklist: Update the section "add to patchbot"
  docs/process: branching-checklist: Add a list of accounts at the
    beginning

 docs/process/branching-checklist.txt | 122 +++++++++++++--------------
 1 file changed, 60 insertions(+), 62 deletions(-)

-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:34:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459168.716889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCb-0004Kt-0T; Mon, 12 Dec 2022 09:34:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459168.716889; Mon, 12 Dec 2022 09:34:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCa-0004JU-PU; Mon, 12 Dec 2022 09:34:24 +0000
Received: by outflank-mailman (input) for mailman id 459168;
 Mon, 12 Dec 2022 09:34:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fCZ-0004BO-VQ
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:34:23 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCZ-0000om-Nr; Mon, 12 Dec 2022 09:34:23 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCZ-0000rv-G6; Mon, 12 Dec 2022 09:34:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=pSl7LQSyjMeFHx4mklTwYzQi38y7YYr8at610vl4uCk=; b=aQT7Nxtj3zIaKWxFbJgbl2bMl8
	iR1eOfCzkJCPA/EpIbUQHSjTpOXV0pW7K/xOk+i4xCvB2mOWJGUpzFTuqukHrjfR3KQU3gPgoS++X
	iPdbjYN2/1j26Ol1Fk8+tCctIh/LyW3bJ172Evv3MCm4zyfS/p3k9F8stxBZAvIyghXA=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 8/8] docs/process: branching-checklist: Add a list of accounts at the beginning
Date: Mon, 12 Dec 2022 09:34:10 +0000
Message-Id: <20221212093410.36289-9-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212093410.36289-1-julien@xen.org>
References: <20221212093410.36289-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

The checklist requires to have access to several accounts on both
xenbits and osstest. List those accounts at the beginning of the file
so it is easier to check if one has the permissions before starting
the branching process.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 docs/process/branching-checklist.txt | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/docs/process/branching-checklist.txt b/docs/process/branching-checklist.txt
index 9f385f137386..798e78a3fefe 100644
--- a/docs/process/branching-checklist.txt
+++ b/docs/process/branching-checklist.txt
@@ -1,3 +1,11 @@
+=== Before starting ===
+
+Access to the following accounts is necessary:
+    * xenbits.xen.org: xen, xendocs
+    * osstest.osstest-test-lab: osstest
+
+=== Check list ===
+
 v=4.1
 ov=4.0
 
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:34:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459166.716873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCZ-0003yV-8K; Mon, 12 Dec 2022 09:34:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459166.716873; Mon, 12 Dec 2022 09:34:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCZ-0003yI-3l; Mon, 12 Dec 2022 09:34:23 +0000
Received: by outflank-mailman (input) for mailman id 459166;
 Mon, 12 Dec 2022 09:34:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fCX-0003cE-Dn
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:34:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCX-0000o8-6a; Mon, 12 Dec 2022 09:34:21 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCW-0000rv-VV; Mon, 12 Dec 2022 09:34:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=s+r0ak95Oyabto+BT3ShctS2hTUt3mW96Cq2J4tzEj0=; b=H60Dc66q88ei40hlWMQKEDUhBV
	nf4zKtuSp54/esj9R+fQ4A5FVDtt6gYqKza5V4h9HIqoS6Z/bJgUZpWllnKQ6TybJRVFY7nsyVVFz
	49C6ZQMp0uI/Nq2z2ewR6PGOsASVPJ0lwZbuKRpQUGd8b0Un+IvcSZHPfGqdgoQjFrqA=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 6/8] docs/process: branching-checklist: Remove section about the cambridge colo
Date: Mon, 12 Dec 2022 09:34:08 +0000
Message-Id: <20221212093410.36289-7-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212093410.36289-1-julien@xen.org>
References: <20221212093410.36289-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

The cambridge colo was internal to Citrix (now Cloud) and hasn't been used
by the community for a while.

So remove the section.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 docs/process/branching-checklist.txt | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/docs/process/branching-checklist.txt b/docs/process/branching-checklist.txt
index 7004f16e8311..c63952886b50 100644
--- a/docs/process/branching-checklist.txt
+++ b/docs/process/branching-checklist.txt
@@ -42,12 +42,6 @@ ov=4.0
     OSSTEST_CONFIG=production-config ./mg-branch-setup xen-$v-testing bisect
     OSSTEST_CONFIG=production-config ./mg-branch-setup qemu-upstream-$v-testing bisect
 
-# make branches etc. in Cambridge osstest
-    ssh osstest@osstest.xs.citrite.net
-    cd testing.git
-    OSSTEST_CONFIG=production-config-cambridge ./mg-branch-setup xen-$v-testing bisect
-    OSSTEST_CONFIG=production-config-cambridge ./mg-branch-setup qemu-upstream-$v-testing bisect
-
 * add branch to osstest
     Add both qemu-upstream-$v-testing and xen-$v-testing to BRANCHES in cr-for-branches
     git add -p
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:34:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459161.716817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCS-0002bF-DZ; Mon, 12 Dec 2022 09:34:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459161.716817; Mon, 12 Dec 2022 09:34:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCS-0002aK-Ag; Mon, 12 Dec 2022 09:34:16 +0000
Received: by outflank-mailman (input) for mailman id 459161;
 Mon, 12 Dec 2022 09:34:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fCR-0002Nf-2s
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:34:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCQ-0000mY-R3; Mon, 12 Dec 2022 09:34:14 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCQ-0000rv-IY; Mon, 12 Dec 2022 09:34:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=kP1xPro9Nujh4ZNXQMchwHc6f62Mvtw9tY6G8ps3cXc=; b=yToWceGtyBU/nSuxgAYrnrzQ8p
	rtX+pKRN/xGOHTjVD1NBX8gc5UX+XRgBGjc6NTWGP2QndV0y5+XNWGx6sMDt1wnBDpJ2PhXF/OTuS
	K4y15U2qqiyUN26v/wkZyfFtK4bWEcF/JMf6p/JPx81khbgs5Avmj73i7cI4KSEDK5Vw=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 1/8] docs/process: branching-checklist: Use consistent indentation
Date: Mon, 12 Dec 2022 09:34:03 +0000
Message-Id: <20221212093410.36289-2-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212093410.36289-1-julien@xen.org>
References: <20221212093410.36289-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, branch-checklist.txt is using a mix of soft and hard
tab. They are both meant to be represented using 8 characters.

In Xen we tend to use 4-space softtab represented with 4 characters. So
to avoid  having to use a different editor configuration, switch all
the indentation to 4-space softtab.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 docs/process/branching-checklist.txt | 102 +++++++++++++--------------
 1 file changed, 51 insertions(+), 51 deletions(-)

diff --git a/docs/process/branching-checklist.txt b/docs/process/branching-checklist.txt
index 0e83272caacb..9aac474734c1 100644
--- a/docs/process/branching-checklist.txt
+++ b/docs/process/branching-checklist.txt
@@ -2,78 +2,78 @@ v=4.1
 ov=4.0
 
 * make branch in qemu-iwj.git
-        git-branch $v-testing master
+    git-branch $v-testing master
 
 # make branches in xenbits.xen.org qemus
-        ssh xen@xenbits.xen.org
-	cd ~/git/qemu-xen.git
-	git branch staging-$v staging
-	git branch stable-$v master
-	cd ~/git/qemu-xen-traditional.git
-	git branch stable-$v master
+    ssh xen@xenbits.xen.org
+    cd ~/git/qemu-xen.git
+    git branch staging-$v staging
+    git branch stable-$v master
+    cd ~/git/qemu-xen-traditional.git
+    git branch stable-$v master
 
 # make branch in libvirt
-        ssh xen@xenbits.xen.org
-        cd ~/git/libvirt.git/
-	git branch osstest/frozen/xen-$v-testing   xen-tested-master
+    ssh xen@xenbits.xen.org
+    cd ~/git/libvirt.git/
+    git branch osstest/frozen/xen-$v-testing   xen-tested-master
 
 # make branches in xenbits.xen.org xen.git
-        ssh xen@xenbits.xen.org
-        cd ~/git/xen.git
-	git branch staging-$v staging
-	git branch stable-$v master
+    ssh xen@xenbits.xen.org
+    cd ~/git/xen.git
+    git branch staging-$v staging
+    git branch stable-$v master
 
 # update xendocs@xenbits docs generator to generate new stable branch
 #  docs too. commit to git.
 * make 13:37 <ijc> https://xenbits.xen.org/docs/4.2-testing/ is now live true
 #14:17 <ijc> HOWTO: login to xenbits. become "xendocs" . cd cronjobs . edit
 #            xenbits-docs-all.sh in the obvious way. git commit
-	ssh root@xenbits.xen.org
-	su - xendocs
-	cd cronjobs
-	ed xenbits-docs-all.sh
-	/for branch
-	s/$/ 4.6-testing
-	# ^ OR SIMILAR
-	w
-	q
-        git add -p
-	git commit -m "Branch for $v"
+    ssh root@xenbits.xen.org
+    su - xendocs
+    cd cronjobs
+    ed xenbits-docs-all.sh
+    /for branch
+    s/$/ 4.6-testing
+    # ^ OR SIMILAR
+    w
+    q
+    git add -p
+    git commit -m "Branch for $v"
 
 * make branches etc. in osstest
-        ssh osstest@osstest.test-lab
-	cd testing.git
-	OSSTEST_CONFIG=production-config ./mg-branch-setup xen-$v-testing bisect
-	OSSTEST_CONFIG=production-config ./mg-branch-setup qemu-upstream-$v-testing bisect
+    ssh osstest@osstest.test-lab
+    cd testing.git
+    OSSTEST_CONFIG=production-config ./mg-branch-setup xen-$v-testing bisect
+    OSSTEST_CONFIG=production-config ./mg-branch-setup qemu-upstream-$v-testing bisect
 
 # make branches etc. in Cambridge osstest
-        ssh osstest@osstest.xs.citrite.net
-	cd testing.git
-	OSSTEST_CONFIG=production-config-cambridge ./mg-branch-setup xen-$v-testing bisect
-	OSSTEST_CONFIG=production-config-cambridge ./mg-branch-setup qemu-upstream-$v-testing bisect
+    ssh osstest@osstest.xs.citrite.net
+    cd testing.git
+    OSSTEST_CONFIG=production-config-cambridge ./mg-branch-setup xen-$v-testing bisect
+    OSSTEST_CONFIG=production-config-cambridge ./mg-branch-setup qemu-upstream-$v-testing bisect
 
 * add branch to osstest
-        ie add both eg qemu-upstream-4.2-testing and xen-4.2-testing to BRANCHES in cr-for-branches
+    ie add both eg qemu-upstream-4.2-testing and xen-4.2-testing to BRANCHES in cr-for-branches
 
 * add to patchbot
-        on xenbits
-        cd ~/HG/patchbot/
+    on xenbits
+    cd ~/HG/patchbot/
 
-	cp xen--master.patchbot-reported-heads xen--stable-$v.patchbot-reported-heads
-	cp xen--staging.patchbot-reported-heads xen--staging-$v.patchbot-reported-heads
-        cp qemu-xen--master.patchbot-reported-heads  qemu-xen--stable-$v.patchbot-reported-heads
-        cp qemu-xen--staging.patchbot-reported-heads  qemu-xen--staging-$v.patchbot-reported-heads
-        cp qemu-xen-traditional--master.patchbot-reported-heads qemu-xen-traditional--stable-$v.patchbot-reported-heads
+    cp xen--master.patchbot-reported-heads xen--stable-$v.patchbot-reported-heads
+    cp xen--staging.patchbot-reported-heads xen--staging-$v.patchbot-reported-heads
+    cp qemu-xen--master.patchbot-reported-heads  qemu-xen--stable-$v.patchbot-reported-heads
+    cp qemu-xen--staging.patchbot-reported-heads  qemu-xen--staging-$v.patchbot-reported-heads
+    cp qemu-xen-traditional--master.patchbot-reported-heads qemu-xen-traditional--stable-$v.patchbot-reported-heads
 
-        #emacs versions
-	perl -i~ -pe 'next unless m/\b\Q'$ov'\E\b/; $x=$_; $x=~ s/\b\Q'$ov'\E\b/'$v'/g; print $x;' versions
-        git diff
-	git add versions
-	git commit -m "Branch for $v"
+    #emacs versions
+    perl -i~ -pe 'next unless m/\b\Q'$ov'\E\b/; $x=$_; $x=~ s/\b\Q'$ov'\E\b/'$v'/g; print $x;' versions
+    git diff
+    git add versions
+    git commit -m "Branch for $v"
 
 Ensure references to qemu trees in xen.git's Config.mk are updated.
 Check this with
-        grep unstable Config.mk 
+    grep unstable Config.mk
 which should produce no output.  Replace as necessary.
 (There may well be none.)
 
@@ -86,9 +86,9 @@ including turning off debug.
 
 Set off a manual osstest run, since the osstest cr-for-branches change
 will take a while to take effect:
-  ssh osstest@osstest.test-lab
-  cd testing.git
-  screen -S $v
-  BRANCHES=xen-$v-testing ./cr-for-branches branches -w "./cr-daily-branch --real"
+    ssh osstest@osstest.test-lab
+    cd testing.git
+    screen -S $v
+    BRANCHES=xen-$v-testing ./cr-for-branches branches -w "./cr-daily-branch --real"
 
 Send message to committers and RM.  Use previous mail as a template.
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:34:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459165.716862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCX-0003eK-OJ; Mon, 12 Dec 2022 09:34:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459165.716862; Mon, 12 Dec 2022 09:34:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCX-0003dA-I9; Mon, 12 Dec 2022 09:34:21 +0000
Received: by outflank-mailman (input) for mailman id 459165;
 Mon, 12 Dec 2022 09:34:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fCW-0003CV-5J
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:34:20 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCV-0000nm-UX; Mon, 12 Dec 2022 09:34:19 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCV-0000rv-N3; Mon, 12 Dec 2022 09:34:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=Cl3ZwB9XtYS6ogy7SQmgRKK0ZidCfoFSJ0o+zkfxHVo=; b=PswlWnlgRcwnH5ezcvYnEXZftp
	JWdHjSeI7hQ4PERN6fkx+2hRR9tvxOCp9BNNZML0F2/+uqzYN1Vz23aL2gaDT/1zuBZfG37KWhcLs
	WbRUKD+DTEaWW9ylYxQ1VRGylIJ5f4Q8K6q3vbJiecDVhnJZOghTbMCmYDRJ/l6ruKo0=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 5/8] docs/process: branching-checklist: Reword the section about Config.mk
Date: Mon, 12 Dec 2022 09:34:07 +0000
Message-Id: <20221212093410.36289-6-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212093410.36289-1-julien@xen.org>
References: <20221212093410.36289-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Since at least Xen 4.12, the revision for external trees don't contain
the word "unstable". So explicitely list the *_REVISION variables that
need to be updated as part of the branching process.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 docs/process/branching-checklist.txt | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/docs/process/branching-checklist.txt b/docs/process/branching-checklist.txt
index d1550385c96e..7004f16e8311 100644
--- a/docs/process/branching-checklist.txt
+++ b/docs/process/branching-checklist.txt
@@ -69,11 +69,9 @@ ov=4.0
     git add versions
     git commit -m "Branch for $v"
 
-Ensure references to qemu trees in xen.git's Config.mk are updated.
-Check this with
-    grep unstable Config.mk
-which should produce no output.  Replace as necessary.
-(There may well be none.)
+Ensure references to qemu trees and Mini-OS in xen.git's Config.mk are updated.
+The variables are QEMU_UPSTREAM_REVISION, QEMU_TRADITIONAL_REVISION and
+MINIOS_UPSTREAM_REVISION.
 
 Update newly diverging staging (unstable) according to
 release-technician-checklist.txt section re README etc.
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:34:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459162.716829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCT-0002sE-Lr; Mon, 12 Dec 2022 09:34:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459162.716829; Mon, 12 Dec 2022 09:34:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCT-0002s7-IA; Mon, 12 Dec 2022 09:34:17 +0000
Received: by outflank-mailman (input) for mailman id 459162;
 Mon, 12 Dec 2022 09:34:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fCS-0002gg-Jx
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:34:16 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCS-0000mq-5T; Mon, 12 Dec 2022 09:34:16 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCR-0000rv-U6; Mon, 12 Dec 2022 09:34:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=TXtU8//lurM2F5mb2loMu+I4ppYz4X9RYDlyKMl3UM4=; b=ORJPKPifvRkMq8d9gLIT3F7Pxz
	fjJFR3UkHLrbwamlPjl330Mp7n8aJQsq4b/xN8CyxO94N4cJ8QFXwmOC53nY8pcKt1KCuV12prXME
	2hhVdCN/x4qqTdDAv8zqCPpBIQk8TM+WbCxa4ReMKLnfe0O1P0cGjAe1zXZsDZUrV3TY=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	ijackson@chiark.greenend.org.uk
Subject: [PATCH 2/8] docs/process: branching-checklist: Remove reference to qemu-ijw.git
Date: Mon, 12 Dec 2022 09:34:04 +0000
Message-Id: <20221212093410.36289-3-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212093410.36289-1-julien@xen.org>
References: <20221212093410.36289-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Per [1], qemu-iwj.git was a clone of QEMU traditional on Ian's computer
for tagging QEMU trad.

The next section will provide tag for the official tree. So remove
the section about qemu-ijw.git.

[1] 25482.10006.140155.984629@chiark.greenend.org.uk

Signed-off-by: Julien Grall <jgrall@amazon.com>
Cc: ijackson@chiark.greenend.org.uk
---
 docs/process/branching-checklist.txt | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/docs/process/branching-checklist.txt b/docs/process/branching-checklist.txt
index 9aac474734c1..b8101dd0e359 100644
--- a/docs/process/branching-checklist.txt
+++ b/docs/process/branching-checklist.txt
@@ -1,9 +1,6 @@
 v=4.1
 ov=4.0
 
-* make branch in qemu-iwj.git
-    git-branch $v-testing master
-
 # make branches in xenbits.xen.org qemus
     ssh xen@xenbits.xen.org
     cd ~/git/qemu-xen.git
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:34:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459164.716846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCW-0003Cb-AP; Mon, 12 Dec 2022 09:34:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459164.716846; Mon, 12 Dec 2022 09:34:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fCW-0003Bu-4k; Mon, 12 Dec 2022 09:34:20 +0000
Received: by outflank-mailman (input) for mailman id 459164;
 Mon, 12 Dec 2022 09:34:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fCU-00037u-SW
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:34:18 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCU-0000nJ-M3; Mon, 12 Dec 2022 09:34:18 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fCU-0000rv-Ed; Mon, 12 Dec 2022 09:34:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=vNUJF6QyXHl8BfjlfL/Ywnys+XyjUZ6SAkslh1MkdS4=; b=vVwwV/EXAxhu0+gk9lZL9XxoE2
	/VaZD1ccF+DBCRFutnrEdEe+z+V8G7jLQ6viiQC+aV5+6tJV3Pn9I98n4np8IYr6xTS1ZtA4Ep1dB
	a5ZUuVaiDROVvnovS2IjbPVev37c+8YaaysBERUnpUHNa5451JrVsu6wqoUZofOYkdSk=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 4/8] docs/process: branching-checklist: Clarify steps to add the branch in osstest
Date: Mon, 12 Dec 2022 09:34:06 +0000
Message-Id: <20221212093410.36289-5-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212093410.36289-1-julien@xen.org>
References: <20221212093410.36289-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

The steps to add the new branch in osstest doesn't mention the change
should be committed.

Update the steps to clarify that. Take the opportunity to switch to
use $v instead hardcoded version.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 docs/process/branching-checklist.txt | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/docs/process/branching-checklist.txt b/docs/process/branching-checklist.txt
index a98f6559ab1a..d1550385c96e 100644
--- a/docs/process/branching-checklist.txt
+++ b/docs/process/branching-checklist.txt
@@ -49,7 +49,9 @@ ov=4.0
     OSSTEST_CONFIG=production-config-cambridge ./mg-branch-setup qemu-upstream-$v-testing bisect
 
 * add branch to osstest
-    ie add both eg qemu-upstream-4.2-testing and xen-4.2-testing to BRANCHES in cr-for-branches
+    Add both qemu-upstream-$v-testing and xen-$v-testing to BRANCHES in cr-for-branches
+    git add -p
+    git commit -m "cr-for-branches: Add Xen and QEMU $v branch"
 
 * add to patchbot
     on xenbits
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:36:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:36:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459220.716906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fEj-0007Te-H6; Mon, 12 Dec 2022 09:36:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459220.716906; Mon, 12 Dec 2022 09:36:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fEj-0007TX-D9; Mon, 12 Dec 2022 09:36:37 +0000
Received: by outflank-mailman (input) for mailman id 459220;
 Mon, 12 Dec 2022 09:36:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fEi-0007TR-DI
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:36:36 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fEi-0000tf-9Z; Mon, 12 Dec 2022 09:36:36 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fEi-00011G-2E; Mon, 12 Dec 2022 09:36:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=q21+FN/Druaud6mHLUDtg+EOGLKbhzpPwJktNab/lu8=; b=fMi879
	xtLYCeBAtNESqcHvngEd+GXkxlupI7/kiz75SdRZlQ8JdhWNd37/JWgWkv4PfDY+ZOmJ9AHD3FO+d
	Mm9OFNK8SE0/pSuxWMTNgl6W+VNbNsUQQYsOV0bPW2sZF6rWHNp2SSlMUPrVCAq0hrkDlgII9cpXL
	bRvIqzqFh7Q=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH] xsm/flask: mkflash.sh: Use const when generating initial_sid_to_string[]
Date: Mon, 12 Dec 2022 09:36:31 +0000
Message-Id: <20221212093631.38018-1-julien@xen.org>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

The array initial_sid_to_string is storing pointer to literal strings
and is not meant to be modified. So change the type of the variable
to "const char * const ...[]".

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/xsm/flask/policy/mkflask.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/xsm/flask/policy/mkflask.sh b/xen/xsm/flask/policy/mkflask.sh
index 591ce832a1d1..611689768167 100755
--- a/xen/xsm/flask/policy/mkflask.sh
+++ b/xen/xsm/flask/policy/mkflask.sh
@@ -34,7 +34,7 @@ BEGIN	{
 		printf("/*\n * Security object class definitions\n */\n") > debugfile;
 		printf("    S_(\"null\")\n") > debugfile;
 		printf("/* This file is automatically generated.  Do not edit. */\n") > debugfile2;
-		printf("static char *initial_sid_to_string[] =\n{\n") > debugfile2;
+		printf("static const char * const initial_sid_to_string[] =\n{\n") > debugfile2;
 		printf("    \"null\",\n") > debugfile2;
 	}
 /^[ \t]*#/	{
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:49:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:49:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459241.716917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fRI-0000wX-ME; Mon, 12 Dec 2022 09:49:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459241.716917; Mon, 12 Dec 2022 09:49:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fRI-0000wQ-Hf; Mon, 12 Dec 2022 09:49:36 +0000
Received: by outflank-mailman (input) for mailman id 459241;
 Mon, 12 Dec 2022 09:49:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Tmz+=4K=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p4fRH-0000wK-6v
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:49:35 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2077.outbound.protection.outlook.com [40.107.13.77])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4858e9f9-7a02-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 10:49:34 +0100 (CET)
Received: from DB6P192CA0019.EURP192.PROD.OUTLOOK.COM (2603:10a6:4:b8::29) by
 AS2PR08MB8503.eurprd08.prod.outlook.com (2603:10a6:20b:55e::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.8; Mon, 12 Dec
 2022 09:49:19 +0000
Received: from DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:b8:cafe::c9) by DB6P192CA0019.outlook.office365.com
 (2603:10a6:4:b8::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19 via Frontend
 Transport; Mon, 12 Dec 2022 09:49:19 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT022.mail.protection.outlook.com (100.127.142.217) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.21 via Frontend Transport; Mon, 12 Dec 2022 09:49:18 +0000
Received: ("Tessian outbound 0800d254cb3b:v130");
 Mon, 12 Dec 2022 09:49:18 +0000
Received: from cce2b551a02b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6831D843-ADC6-4150-B850-29AB6ED55B44.1; 
 Mon, 12 Dec 2022 09:49:12 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cce2b551a02b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 12 Dec 2022 09:49:12 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU0PR08MB7786.eurprd08.prod.outlook.com (2603:10a6:10:3b9::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.9; Mon, 12 Dec
 2022 09:49:10 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%8]) with mapi id 15.20.5924.009; Mon, 12 Dec 2022
 09:49:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4858e9f9-7a02-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BVbswB8/Urp7ZIBWvUb6fW+mofcocw+ykRZ9RAWvLnw=;
 b=ie/W7fMajlL8ApddRW/RCklOFTs9XopEpi7qygEAazfrM9osvXPJPK2pJqm5xY6wg7OnB9O4gAZl8q9lvDALQHwDnhih/Ptfl1fzBGF5mz5zra3Kw7kil9bQEOhQGuNF/ZR426VGZFgDut/tKWOgEH2dNZjoVMlHwUoEF8vLd+M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X6GLtIGWVFUXeen7Q0OOFUYd1hY8v/6u/R04B6Pxevcm4MFzdyCiundAX4Ta91N3VHmI6YXsHtPpeR5oZbDFu+aioMMUBL/V370iFV28m8UwvjrIsiY2pdlP+/LR3gw++PTfRSVicNBUS+HYTU3BqdyZj6UY55W88slaI5YfU9cXuYXrOrlBc7WbrcMcOlgdX8WmZ3MvwkVjokgMoPXB5kV0iXhhK4Da5+VcqISGMF6FMSoYFs2tOjt1ciJciMionQ9TKa6oXmuUNlTLA7I0wmwGdVkgztjLYFoq0Ug0MihE8oj3o8TM5Yuq8YNKii+FhMEgkxOJAkaxT+ndr2wI/A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BVbswB8/Urp7ZIBWvUb6fW+mofcocw+ykRZ9RAWvLnw=;
 b=oVJUBa8uDH/itPY/LNq/Jw5k6fFa7dngLyRaGyyVjoxDQLBp1entUHatcEzv92V+Jqvf8dyslA76X6LLO+1d8nUnMfrFueZxKZBz7z/WpjP5nM1osTaDcpe4rqNz0lMKnwB06c2LngiBYrGiyxojO52wirDzTfkmFJztw9QxIbhHuSuB7ogslJJfZGsg8dIiP8Zh2ZuaiT3Rsuemeo/OZpBNsup6PVD8VnEGQrbWDNu2I+mVTK/vU9ak/lXEJEw8VrXCf0z8YYdfuZshHxgK7OFjcEkoRh8babSwddJFKMTDu/+nEsxG2bYhVrP2zxiYMjAMGCzL7EOzenc8QIXoLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BVbswB8/Urp7ZIBWvUb6fW+mofcocw+ykRZ9RAWvLnw=;
 b=ie/W7fMajlL8ApddRW/RCklOFTs9XopEpi7qygEAazfrM9osvXPJPK2pJqm5xY6wg7OnB9O4gAZl8q9lvDALQHwDnhih/Ptfl1fzBGF5mz5zra3Kw7kil9bQEOhQGuNF/ZR426VGZFgDut/tKWOgEH2dNZjoVMlHwUoEF8vLd+M=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Julien Grall <jgrall@amazon.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, Wei
 Liu <wl@xen.org>, "ijackson@chiark.greenend.org.uk"
	<ijackson@chiark.greenend.org.uk>
Subject: RE: [PATCH 0/8] docs/process: branching-checklist: Update it
Thread-Topic: [PATCH 0/8] docs/process: branching-checklist: Update it
Thread-Index: AQHZDgzxszkPiUX7D0CG3WinrLbsgq5qAQ/A
Date: Mon, 12 Dec 2022 09:49:10 +0000
Message-ID:
 <AS8PR08MB7991A0C040E47BD98123953792E29@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20221212093410.36289-1-julien@xen.org>
In-Reply-To: <20221212093410.36289-1-julien@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 06CA0E74C5E8C046AE19036016206F16.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU0PR08MB7786:EE_|DBAEUR03FT022:EE_|AS2PR08MB8503:EE_
X-MS-Office365-Filtering-Correlation-Id: 1976538f-b7d0-4458-b0e5-08dadc262376
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 /U4lq43HZKEcPev90O6+pmfFeRNCceW9DpM+F+Kvj2GRSnYzdLgZIbY3JY3BMmBSFWXYvJPfYRgZbol0WPh1IildeB4tko9jAhZMmRc+GEE7c07YgJV4tjyQUQTOAESr71/IoJ/+qetXdW3nYGfoZdV9dmpyJZ69KUdGlXdD69pgbq2vXS1+91KkBSKUOXrTRumH83xFXmnNkxvxiR4CXlCWb9InwxgEqptqEFNkPVIoq793PmhBqilk3qvvcv7DlAMbuWD5gZ0ESM7nnOFzp5WH7OaFUorLjXBCCeVZwUUnmqyFsCOpu6KgwaGMzzayJaAflFP3Gs4sJgaLHIEXq1zyzFwRW8pHSYMJTIUNuBzntKpjKHf65Q4TSXEy2C+m8q0dM4Q/QvzHvaoN4gkUP03U6UcHNtYytMZAvaCWvDnICysrQctP1l83rVuDcoLEpCCthrlajwsnPZdlgwiW3h+DkL0bf9w6kK5zlmZ8L5UAzYzojHY+vSC53QnQbzDOAYVAZgGgYvxE1u8k4grrVRnKYaFJMHvDMW2Vn8qGtMQLktcqQq7+hvmwhwBgty0cvIA18uUzAIWAH8/TykFRTTSex6+6dDNH7UvZ0Jbtb8+vt8l7AVDsRcPT/E7NjrzIWmq9LAYzKREF1kUulWMnXuSN+uN4Qgzmv+6l3eHzI+eHBONa/igD8BkjFqz7oZWj19jmnHYQoKXdClAfAW8XyQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(396003)(346002)(366004)(376002)(451199015)(55016003)(6506007)(83380400001)(7696005)(478600001)(9686003)(86362001)(2906002)(33656002)(38070700005)(38100700002)(110136005)(54906003)(76116006)(66446008)(66476007)(66556008)(26005)(71200400001)(64756008)(66946007)(4326008)(186003)(8676002)(122000001)(316002)(15650500001)(52536014)(5660300002)(41300700001)(8936002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7786
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	52985959-b69b-4cf1-c187-08dadc261e7c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5bQofXwB31sUD7CkziTMOifmNjXNfR3aHlbEOUcOOsj5BCyvxa0tQg7XOhyRUq12zECX0l+vGbOOICfmBmbqXUdcG3rksS/k3XwcAAVbGFgTTnZ29xwWhywl/Wn7abbxdFU3djm05oxqotYewKAX5H1IImfObm3G03YR+fl6KPtegl44eEEveKO2+5Fi+qvVrojk3aV4SfCQY3LlZ2CPaCeYJz6gwE+yGLDZYhHI7wSgBjX3kdvypp3RumdRrWnShkpn37rA6OVDfBzOHJy/9tLODddAIOkODw8+owWJZEcEXAFXYlR2L66CWcxwuP//hSkFZ0JzIzIbcMTsJcSrnc33avi7ljzjWVwDgH0WAPW19nP5WBumkC6u47qtWUxD6lZg2eLa+aowXId9G3+fpUfSzyz8KY6Zu0kdFFn9DeDIeK0aJqHHFEeRh0BpwJ+TAi/7L4FpJs09z/2xOZpoKMY6un4gg20ksXQKx1XgrQ3VSPeAz6muUQxK79P8tmq34hwcBWI4IMTq30iOZaVkSGGqUYFf4Z7qi3LcakT3Smlg2vanUmKw93zRue1N00Xd+anJ7coMc6xy/DmibYCR2ZpvRI5Zt6an3Vvc3fP2H+fSHF3Wyr0mu9w1SQeVRxbt2MhTu6BM8f3Viv/DXELpNnJvmPtNZ9r/cdnhTQSfesyADC+2NJjFoGyaetzGCpiTsQ5O/4+itxSzSg/RcBM2ZA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(136003)(39860400002)(396003)(451199015)(46966006)(40470700004)(36840700001)(55016003)(40480700001)(82310400005)(36860700001)(6506007)(336012)(7696005)(83380400001)(9686003)(478600001)(47076005)(86362001)(2906002)(33656002)(356005)(81166007)(54906003)(107886003)(110136005)(70206006)(8676002)(70586007)(316002)(26005)(186003)(4326008)(82740400003)(15650500001)(8936002)(52536014)(5660300002)(40460700003)(41300700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 09:49:18.7570
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1976538f-b7d0-4458-b0e5-08dadc262376
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8503

Hi Julien,

> -----Original Message-----
> From: Julien Grall <julien@xen.org>
> Subject: [PATCH 0/8] docs/process: branching-checklist: Update it
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> Hi all,
>=20
> This is a collection of improvement for the branching checklist.

Thanks for this work! Since from the docs/process/RUBRIC we are having:
```
They are living documents, and no special approval is needed to modify
them beyond the usual acks for commit.  They should be updated as and
when it seems expediant.
```

I don't know if my reviewed-by counts but I did go through the whole
series, so for the whole series:

Reviewed-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry

>=20
> Cheers,
>=20
> Julien Grall (8):
>   docs/process: branching-checklist: Use consistent indentation
>   docs/process: branching-checklist: Remove reference to qemu-ijw.git
>   docs/process: branching-checklist: Remove reference to root
>   docs/process: branching-checklist: Clarify steps to add the branch in
>     osstest
>   docs/process: branching-checklist: Reword the section about Config.mk
>   docs/process: branching-checklist: Remove section about the cambridge
>     colo
>   docs/proces: branching-checklist: Update the section "add to patchbot"
>   docs/process: branching-checklist: Add a list of accounts at the
>     beginning
>=20
>  docs/process/branching-checklist.txt | 122 +++++++++++++--------------
>  1 file changed, 60 insertions(+), 62 deletions(-)
>=20
> --
> 2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:55:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:55:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459248.716927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fWh-0002Od-8S; Mon, 12 Dec 2022 09:55:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459248.716927; Mon, 12 Dec 2022 09:55:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fWh-0002OW-5m; Mon, 12 Dec 2022 09:55:11 +0000
Received: by outflank-mailman (input) for mailman id 459248;
 Mon, 12 Dec 2022 09:55:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fWg-0002OQ-6H
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:55:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fWf-0001Qc-Pu; Mon, 12 Dec 2022 09:55:09 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fWf-0001lP-EP; Mon, 12 Dec 2022 09:55:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:MIME-Version:
	Message-Id:Date:Subject:Cc:To:From;
	bh=UBM5+MelmvU1WiyBwdDTmufwAhslCftnA+r1K3UrpHg=; b=Kf3FIH4cgkaIMwFCSXKG4FS0Tv
	lTQWEfcCsFU0b79LTsuTtrv1t0j/0oPq55HU7NgkX24inP0TC+a/IoyUsBHWsScbkEtYde6/67te0
	XYWoElPmwCQ1fNSB1e1wxJVFToJZCeLDTRquZK5yCriUHspczxY6/Ab3ZjZs98Wmft40=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 00/18] xen/arm: Don't switch TTBR while the MMU is on
Date: Mon, 12 Dec 2022 09:54:48 +0000
Message-Id: <20221212095506.52522-1-julien@xen.org>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Hi all,

Currently, Xen on Arm will switch TTBR whilst the MMU is on. This is
similar to replacing existing mappings with new ones. So we need to
follow a break-before-make sequence.

When switching the TTBR, we need to temporary disable the MMU
before updating the TTBR. This means the page-tables must contain an
identity mapping.

The current memory layout is not very flexible and has an higher chance
to clash with the identity mapping.

On Arm64, we have plenty of unused virtual address space Therefore, we can
simply reshuffle the layout to leave the first part of the virtual
address space empty.

On Arm32, the virtual address space is already quite full. Even if we
find space, it would be necessary to have a dynamic layout. So a
different approach will be necessary. The chosen one is to have
a temporary mapping that will be used to jumped from the ID mapping
to the runtime mapping (or vice versa). The temporary mapping will
be overlapping with the domheap area as it should not be used when
switching on/off the MMU.

The Arm32 part is not yet addressed and will be handled in a follow-up
series.

After this series, most of Xen page-table code should be compliant
with the Arm Arm. The last two issues I am aware of are:
 - domheap: Mappings are replaced without using the Break-Before-Make
   approach.
 - The cache is not cleaned/invalidated when updating the page-tables
   with Data cache off (like during early boot).

The long term plan is to get rid of boot_* page tables and then
directly use the runtime pages. This means for coloring, we will
need to build the pages in the relocated Xen rather than the current
Xen.

For convience, I pushed a branch with everything applied:

https://xenbits.xen.org/git-http/people/julieng/xen-unstable.git
branch boot-pt-rework-v3

Cheers,

Julien Grall (18):
  xen/arm64: flushtlb: Reduce scope of barrier for local TLB flush
  xen/arm64: flushtlb: Implement the TLBI repeat workaround for TLB
    flush by VA
  xen/arm32: flushtlb: Reduce scope of barrier for local TLB flush
  xen/arm: flushtlb: Reduce scope of barrier for the TLB range flush
  xen/arm: Clean-up the memory layout
  xen/arm32: head: Replace "ldr rX, =<label>" with "mov_w rX, <label>"
  xen/arm32: head: Jump to the runtime mapping in enable_mmu()
  xen/arm32: head: Introduce an helper to flush the TLBs
  xen/arm32: head: Remove restriction where to load Xen
  xen/arm32: head: Widen the use of the temporary mapping
  xen/arm: Enable use of dump_pt_walk() early during boot
  xen/arm64: Rework the memory layout
  xen/arm: mm: Allow xen_pt_update() to work with the current root table
  xen/arm: mm: Allow dump_hyp_walk() to work on the current root table
  xen/arm64: mm: Introduce helpers to prepare/enable/disable the
    identity mapping
  xen/arm: linker: Indent correctly _stext
  xen/arm: linker: The identitymap check should cover the whole
    .text.header
  xen/arm64: mm: Rework switch_ttbr()

 xen/arch/arm/arm32/head.S                 | 285 ++++++++++++++--------
 xen/arch/arm/arm64/Makefile               |   1 +
 xen/arch/arm/arm64/head.S                 |  55 +++--
 xen/arch/arm/arm64/mm.c                   | 160 ++++++++++++
 xen/arch/arm/domain_page.c                |   1 +
 xen/arch/arm/include/asm/arm32/flushtlb.h |  27 +-
 xen/arch/arm/include/asm/arm32/mm.h       |   4 +
 xen/arch/arm/include/asm/arm64/flushtlb.h |  58 +++--
 xen/arch/arm/include/asm/arm64/mm.h       |  12 +
 xen/arch/arm/include/asm/config.h         |  71 ++++--
 xen/arch/arm/include/asm/flushtlb.h       |  10 +-
 xen/arch/arm/include/asm/mm.h             |   2 +
 xen/arch/arm/include/asm/setup.h          |  11 +
 xen/arch/arm/mm.c                         | 105 ++++----
 xen/arch/arm/xen.lds.S                    |  12 +-
 15 files changed, 583 insertions(+), 231 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mm.c

-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:55:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:55:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459250.716939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fWx-0002ob-JK; Mon, 12 Dec 2022 09:55:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459250.716939; Mon, 12 Dec 2022 09:55:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fWx-0002oR-GE; Mon, 12 Dec 2022 09:55:27 +0000
Received: by outflank-mailman (input) for mailman id 459250;
 Mon, 12 Dec 2022 09:55:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fWw-0002mq-Nb
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:55:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fWw-0001RL-G5; Mon, 12 Dec 2022 09:55:26 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fWw-0001lz-8B; Mon, 12 Dec 2022 09:55:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:MIME-Version:
	Message-Id:Date:Subject:Cc:To:From;
	bh=UBM5+MelmvU1WiyBwdDTmufwAhslCftnA+r1K3UrpHg=; b=FLOkBcBqz62GKuDlPu+v7X+FdT
	mAKG49ryhF4qfPbZVRMGAFZNOGlAGsCIpJIm4yEmUzE3p1AH9hTGYNS7EH9xkItx6OKBcff5O2/Pp
	mJTLPgHxyp4sEKgyc8Wa9arblAUevW4ltg+Q1nBKyCgtYPF/UNKUZQKTuz4wbXmennT0=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 00/18] xen/arm: Don't switch TTBR while the MMU is on
Date: Mon, 12 Dec 2022 09:55:05 +0000
Message-Id: <20221212095523.52683-1-julien@xen.org>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Hi all,

Currently, Xen on Arm will switch TTBR whilst the MMU is on. This is
similar to replacing existing mappings with new ones. So we need to
follow a break-before-make sequence.

When switching the TTBR, we need to temporary disable the MMU
before updating the TTBR. This means the page-tables must contain an
identity mapping.

The current memory layout is not very flexible and has an higher chance
to clash with the identity mapping.

On Arm64, we have plenty of unused virtual address space Therefore, we can
simply reshuffle the layout to leave the first part of the virtual
address space empty.

On Arm32, the virtual address space is already quite full. Even if we
find space, it would be necessary to have a dynamic layout. So a
different approach will be necessary. The chosen one is to have
a temporary mapping that will be used to jumped from the ID mapping
to the runtime mapping (or vice versa). The temporary mapping will
be overlapping with the domheap area as it should not be used when
switching on/off the MMU.

The Arm32 part is not yet addressed and will be handled in a follow-up
series.

After this series, most of Xen page-table code should be compliant
with the Arm Arm. The last two issues I am aware of are:
 - domheap: Mappings are replaced without using the Break-Before-Make
   approach.
 - The cache is not cleaned/invalidated when updating the page-tables
   with Data cache off (like during early boot).

The long term plan is to get rid of boot_* page tables and then
directly use the runtime pages. This means for coloring, we will
need to build the pages in the relocated Xen rather than the current
Xen.

For convience, I pushed a branch with everything applied:

https://xenbits.xen.org/git-http/people/julieng/xen-unstable.git
branch boot-pt-rework-v3

Cheers,

Julien Grall (18):
  xen/arm64: flushtlb: Reduce scope of barrier for local TLB flush
  xen/arm64: flushtlb: Implement the TLBI repeat workaround for TLB
    flush by VA
  xen/arm32: flushtlb: Reduce scope of barrier for local TLB flush
  xen/arm: flushtlb: Reduce scope of barrier for the TLB range flush
  xen/arm: Clean-up the memory layout
  xen/arm32: head: Replace "ldr rX, =<label>" with "mov_w rX, <label>"
  xen/arm32: head: Jump to the runtime mapping in enable_mmu()
  xen/arm32: head: Introduce an helper to flush the TLBs
  xen/arm32: head: Remove restriction where to load Xen
  xen/arm32: head: Widen the use of the temporary mapping
  xen/arm: Enable use of dump_pt_walk() early during boot
  xen/arm64: Rework the memory layout
  xen/arm: mm: Allow xen_pt_update() to work with the current root table
  xen/arm: mm: Allow dump_hyp_walk() to work on the current root table
  xen/arm64: mm: Introduce helpers to prepare/enable/disable the
    identity mapping
  xen/arm: linker: Indent correctly _stext
  xen/arm: linker: The identitymap check should cover the whole
    .text.header
  xen/arm64: mm: Rework switch_ttbr()

 xen/arch/arm/arm32/head.S                 | 285 ++++++++++++++--------
 xen/arch/arm/arm64/Makefile               |   1 +
 xen/arch/arm/arm64/head.S                 |  55 +++--
 xen/arch/arm/arm64/mm.c                   | 160 ++++++++++++
 xen/arch/arm/domain_page.c                |   1 +
 xen/arch/arm/include/asm/arm32/flushtlb.h |  27 +-
 xen/arch/arm/include/asm/arm32/mm.h       |   4 +
 xen/arch/arm/include/asm/arm64/flushtlb.h |  58 +++--
 xen/arch/arm/include/asm/arm64/mm.h       |  12 +
 xen/arch/arm/include/asm/config.h         |  71 ++++--
 xen/arch/arm/include/asm/flushtlb.h       |  10 +-
 xen/arch/arm/include/asm/mm.h             |   2 +
 xen/arch/arm/include/asm/setup.h          |  11 +
 xen/arch/arm/mm.c                         | 105 ++++----
 xen/arch/arm/xen.lds.S                    |  12 +-
 15 files changed, 583 insertions(+), 231 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mm.c

-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:55:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:55:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459252.716950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fWz-000379-Qh; Mon, 12 Dec 2022 09:55:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459252.716950; Mon, 12 Dec 2022 09:55:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fWz-000370-NF; Mon, 12 Dec 2022 09:55:29 +0000
Received: by outflank-mailman (input) for mailman id 459252;
 Mon, 12 Dec 2022 09:55:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fWy-0002xh-0Q
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:55:28 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fWx-0001RX-Lm; Mon, 12 Dec 2022 09:55:27 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fWx-0001lz-E0; Mon, 12 Dec 2022 09:55:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:MIME-Version:
	References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=YFTBJwfi1CbdqGKnDGX2TBZap1NQAnxcoQHLLfHNozs=; b=UnD/+x170OXbFPzYK2SWr8FZkD
	PJkx4RTyNWoBbbNcxM3xUu7zt4m/lqnFoYPtGHc9DJ4Es2LjU42H88I3umf1hEcJbJ2lGTvzI54oA
	ymsoiSHwHcFOUfBWEBn6/JKe7vRXuizlisYy0uj8giU7Y4Rmr2eZMwFIPh6NLkDl7B8U=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 01/18] xen/arm64: flushtlb: Reduce scope of barrier for local TLB flush
Date: Mon, 12 Dec 2022 09:55:06 +0000
Message-Id: <20221212095523.52683-2-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Per D5-4929 in ARM DDI 0487H.a:
"A DSB NSH is sufficient to ensure completion of TLB maintenance
 instructions that apply to a single PE. A DSB ISH is sufficient to
 ensure completion of TLB maintenance instructions that apply to PEs
 in the same Inner Shareable domain.
"

This means barrier after local TLB flushes could be reduced to
non-shareable.

Note that the scope of the barrier in the workaround has not been
changed because Linux v6.1-rc8 is also using 'ish' and I couldn't
find anything in the Neoverse N1 suggesting that a 'nsh' would
be sufficient.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---

    I have used an older version of the Arm Arm because the explanation
    in the latest (ARM DDI 0487I.a) is less obvious. I reckon the paragraph
    about DSB in D8.13.8 is missing the shareability. But this is implied
    in B2.3.11:

    "If the required access types of the DSB is reads and writes, the
     following instructions issued by PEe before the DSB are complete for
     the required shareability domain:

     [...]

     — All TLB maintenance instructions.
    "

    Changes in v3:
        - Patch added
---
 xen/arch/arm/include/asm/arm64/flushtlb.h | 27 ++++++++++++++---------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/xen/arch/arm/include/asm/arm64/flushtlb.h b/xen/arch/arm/include/asm/arm64/flushtlb.h
index 7c5431518741..39d429ace552 100644
--- a/xen/arch/arm/include/asm/arm64/flushtlb.h
+++ b/xen/arch/arm/include/asm/arm64/flushtlb.h
@@ -12,8 +12,9 @@
  * ARM64_WORKAROUND_REPEAT_TLBI:
  * Modification of the translation table for a virtual address might lead to
  * read-after-read ordering violation.
- * The workaround repeats TLBI+DSB operation for all the TLB flush operations.
- * While this is stricly not necessary, we don't want to take any risk.
+ * The workaround repeats TLBI+DSB ISH operation for all the TLB flush
+ * operations. While this is stricly not necessary, we don't want to
+ * take any risk.
  *
  * For Xen page-tables the ISB will discard any instructions fetched
  * from the old mappings.
@@ -21,38 +22,42 @@
  * For the Stage-2 page-tables the ISB ensures the completion of the DSB
  * (and therefore the TLB invalidation) before continuing. So we know
  * the TLBs cannot contain an entry for a mapping we may have removed.
+ *
+ * Note that for local TLB flush, using non-shareable (nsh) is sufficient
+ * (see D5-4929 in ARM DDI 0487H.a). Althougth, the memory barrier in
+ * for the workaround is left as inner-shareable to match with Linux.
  */
-#define TLB_HELPER(name, tlbop)                  \
+#define TLB_HELPER(name, tlbop, sh)              \
 static inline void name(void)                    \
 {                                                \
     asm volatile(                                \
-        "dsb  ishst;"                            \
+        "dsb  "  # sh  "st;"                     \
         "tlbi "  # tlbop  ";"                    \
         ALTERNATIVE(                             \
             "nop; nop;",                         \
-            "dsb  ish;"                          \
+            "dsb  "  # sh  ";"                   \
             "tlbi "  # tlbop  ";",               \
             ARM64_WORKAROUND_REPEAT_TLBI,        \
             CONFIG_ARM64_WORKAROUND_REPEAT_TLBI) \
-        "dsb  ish;"                              \
+        "dsb  "  # sh  ";"                       \
         "isb;"                                   \
         : : : "memory");                         \
 }
 
 /* Flush local TLBs, current VMID only. */
-TLB_HELPER(flush_guest_tlb_local, vmalls12e1);
+TLB_HELPER(flush_guest_tlb_local, vmalls12e1, nsh);
 
 /* Flush innershareable TLBs, current VMID only */
-TLB_HELPER(flush_guest_tlb, vmalls12e1is);
+TLB_HELPER(flush_guest_tlb, vmalls12e1is, ish);
 
 /* Flush local TLBs, all VMIDs, non-hypervisor mode */
-TLB_HELPER(flush_all_guests_tlb_local, alle1);
+TLB_HELPER(flush_all_guests_tlb_local, alle1, nsh);
 
 /* Flush innershareable TLBs, all VMIDs, non-hypervisor mode */
-TLB_HELPER(flush_all_guests_tlb, alle1is);
+TLB_HELPER(flush_all_guests_tlb, alle1is, ish);
 
 /* Flush all hypervisor mappings from the TLB of the local processor. */
-TLB_HELPER(flush_xen_tlb_local, alle2);
+TLB_HELPER(flush_xen_tlb_local, alle2, nsh);
 
 /* Flush TLB of local processor for address va. */
 static inline void  __flush_xen_tlb_one_local(vaddr_t va)
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:55:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:55:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459255.716961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX1-0003O0-3B; Mon, 12 Dec 2022 09:55:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459255.716961; Mon, 12 Dec 2022 09:55:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX0-0003Nt-Vk; Mon, 12 Dec 2022 09:55:30 +0000
Received: by outflank-mailman (input) for mailman id 459255;
 Mon, 12 Dec 2022 09:55:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fWz-00036f-8A
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:55:29 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fWy-0001Rj-S0; Mon, 12 Dec 2022 09:55:28 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fWy-0001lz-Jn; Mon, 12 Dec 2022 09:55:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=9FlTAYz8wbZf3SBofaH+7s9IZ0eMB5jewpGKvz0pYMo=; b=qMt4WMfMTDElJq+s+WDQRMgPTC
	IcyZgM7qGuaAA1RiHJ1/I1SIXYYKZ9xMFWB3H1uDdaV21Mjq82GH5cMCGNntWIVv8fXhDZTpKFssC
	IjK6HsEzWD0+VrTo3rdD3o59C1k3Sl+iYWXfLtQ0lyDpHuNbBErrtG/Svo8wDrChwwAs=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 02/18] xen/arm64: flushtlb: Implement the TLBI repeat workaround for TLB flush by VA
Date: Mon, 12 Dec 2022 09:55:07 +0000
Message-Id: <20221212095523.52683-3-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Looking at the Neoverse N1 errata document, it is not clear to me
why the TLBI repeat workaround is not applied for TLB flush by VA.

The TBL flush by VA helpers are used in flush_xen_tlb_range_va_local()
and flush_xen_tlb_range_va(). So if the range size if a fixed size smaller
than a PAGE_SIZE, it would be possible that the compiler remove the loop
and therefore replicate the sequence described in the erratum 1286807.

So the TLBI repeat workaround should also be applied for the TLB flush
by VA helpers.

Fixes: 22e323d115d8 ("xen/arm: Add workaround for Cortex-A76/Neoverse-N1 erratum #1286807")
Signed-off-by: Julien Grall <jgrall@amazon.com>

---
    This was spotted while looking at reducing the scope of the memory
    barriers. I don't have any HW affected.

    Changes in v3:
        - Patch added
---
 xen/arch/arm/include/asm/arm64/flushtlb.h | 31 +++++++++++++++++------
 1 file changed, 23 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/include/asm/arm64/flushtlb.h b/xen/arch/arm/include/asm/arm64/flushtlb.h
index 39d429ace552..5b033c0cb980 100644
--- a/xen/arch/arm/include/asm/arm64/flushtlb.h
+++ b/xen/arch/arm/include/asm/arm64/flushtlb.h
@@ -44,6 +44,27 @@ static inline void name(void)                    \
         : : : "memory");                         \
 }
 
+/*
+ * FLush TLB by VA. This will likely be used in a loop, so the caller
+ * is responsible to use the appropriate memory barriers before/after
+ * the sequence.
+ *
+ * See above about the ARM64_WORKAROUND_REPEAT_TLBI sequence.
+ */
+#define TLB_HELPER_VA(name, tlbop)               \
+static inline void name(vaddr_t va)              \
+{                                                \
+    asm volatile(                                \
+        "tlbi "  # tlbop  ", %0;"                \
+        ALTERNATIVE(                             \
+            "nop; nop;",                         \
+            "dsb  ish;"                          \
+            "tlbi "  # tlbop  ", %0;",           \
+            ARM64_WORKAROUND_REPEAT_TLBI,        \
+            CONFIG_ARM64_WORKAROUND_REPEAT_TLBI) \
+        : : "r" (va >> PAGE_SHIFT) : "memory");  \
+}
+
 /* Flush local TLBs, current VMID only. */
 TLB_HELPER(flush_guest_tlb_local, vmalls12e1, nsh);
 
@@ -60,16 +81,10 @@ TLB_HELPER(flush_all_guests_tlb, alle1is, ish);
 TLB_HELPER(flush_xen_tlb_local, alle2, nsh);
 
 /* Flush TLB of local processor for address va. */
-static inline void  __flush_xen_tlb_one_local(vaddr_t va)
-{
-    asm volatile("tlbi vae2, %0;" : : "r" (va>>PAGE_SHIFT) : "memory");
-}
+TLB_HELPER_VA(__flush_xen_tlb_one_local, vae2);
 
 /* Flush TLB of all processors in the inner-shareable domain for address va. */
-static inline void __flush_xen_tlb_one(vaddr_t va)
-{
-    asm volatile("tlbi vae2is, %0;" : : "r" (va>>PAGE_SHIFT) : "memory");
-}
+TLB_HELPER_VA(__flush_xen_tlb_one, vae2is);
 
 #endif /* __ASM_ARM_ARM64_FLUSHTLB_H__ */
 /*
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:55:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:55:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459256.716966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX1-0003RO-Gu; Mon, 12 Dec 2022 09:55:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459256.716966; Mon, 12 Dec 2022 09:55:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX1-0003QV-AC; Mon, 12 Dec 2022 09:55:31 +0000
Received: by outflank-mailman (input) for mailman id 459256;
 Mon, 12 Dec 2022 09:55:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fX0-0003G8-8Y
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:55:30 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX0-0001Rt-0o; Mon, 12 Dec 2022 09:55:30 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fWz-0001lz-Pc; Mon, 12 Dec 2022 09:55:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=y+bWQ6fBAEgHiQywHHpvY3Ua8lvVwtQRx0GvNG0n9MA=; b=FmvNdrvi4r5Vp0Bxa+9lQ6LCmv
	l+BNZm0jm3wS+MmgmD29HOlHt3TALC1PgPZmpeUt/TqoJHcFlZ5X5BgX/L+um5yBb2njGjf8zEG5V
	9iq+OhMZlxrMPeR+g8aDV828++OuSlfmnHWbjdF4eHH3NO03XCBl3nf+nKshUgJaj3XE=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 03/18] xen/arm32: flushtlb: Reduce scope of barrier for local TLB flush
Date: Mon, 12 Dec 2022 09:55:08 +0000
Message-Id: <20221212095523.52683-4-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Per G5-9224 in ARM DDI 0487I.a:

"A DSB NSH is sufficient to ensure completion of TLB maintenance
 instructions that apply to a single PE. A DSB ISH is sufficient to
 ensure completion of TLB maintenance instructions that apply to PEs
 in the same Inner Shareable domain.
"

This is quoting the Armv8 specification because I couldn't find an
explicit statement in the Armv7 specification. Instead, I could find
bits in various places that confirm the same implementation.

Furthermore, Linux has been using 'nsh' since 2013 (62cbbc42e001
"ARM: tlb: reduce scope of barrier domains for TLB invalidation").

This means barrier after local TLB flushes could be reduced to
non-shareable.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---

    Changes in v3:
        - Patch added
---
 xen/arch/arm/include/asm/arm32/flushtlb.h | 27 +++++++++++++----------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/include/asm/arm32/flushtlb.h b/xen/arch/arm/include/asm/arm32/flushtlb.h
index 9085e6501153..7ae6a12f8155 100644
--- a/xen/arch/arm/include/asm/arm32/flushtlb.h
+++ b/xen/arch/arm/include/asm/arm32/flushtlb.h
@@ -15,30 +15,33 @@
  * For the Stage-2 page-tables the ISB ensures the completion of the DSB
  * (and therefore the TLB invalidation) before continuing. So we know
  * the TLBs cannot contain an entry for a mapping we may have removed.
+ *
+ * Note that for local TLB flush, using non-shareable (nsh) is sufficient
+ * (see G5-9224 in ARM DDI 0487I.a).
  */
-#define TLB_HELPER(name, tlbop) \
-static inline void name(void)   \
-{                               \
-    dsb(ishst);                 \
-    WRITE_CP32(0, tlbop);       \
-    dsb(ish);                   \
-    isb();                      \
+#define TLB_HELPER(name, tlbop, sh) \
+static inline void name(void)       \
+{                                   \
+    dsb(sh ## st);                  \
+    WRITE_CP32(0, tlbop);           \
+    dsb(sh);                        \
+    isb();                          \
 }
 
 /* Flush local TLBs, current VMID only */
-TLB_HELPER(flush_guest_tlb_local, TLBIALL);
+TLB_HELPER(flush_guest_tlb_local, TLBIALL, nsh);
 
 /* Flush inner shareable TLBs, current VMID only */
-TLB_HELPER(flush_guest_tlb, TLBIALLIS);
+TLB_HELPER(flush_guest_tlb, TLBIALLIS, ish);
 
 /* Flush local TLBs, all VMIDs, non-hypervisor mode */
-TLB_HELPER(flush_all_guests_tlb_local, TLBIALLNSNH);
+TLB_HELPER(flush_all_guests_tlb_local, TLBIALLNSNH, nsh);
 
 /* Flush innershareable TLBs, all VMIDs, non-hypervisor mode */
-TLB_HELPER(flush_all_guests_tlb, TLBIALLNSNHIS);
+TLB_HELPER(flush_all_guests_tlb, TLBIALLNSNHIS, ish);
 
 /* Flush all hypervisor mappings from the TLB of the local processor. */
-TLB_HELPER(flush_xen_tlb_local, TLBIALLH);
+TLB_HELPER(flush_xen_tlb_local, TLBIALLH, nsh);
 
 /* Flush TLB of local processor for address va. */
 static inline void __flush_xen_tlb_one_local(vaddr_t va)
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:55:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:55:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459257.716980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX2-0003vF-Tp; Mon, 12 Dec 2022 09:55:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459257.716980; Mon, 12 Dec 2022 09:55:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX2-0003tp-Pn; Mon, 12 Dec 2022 09:55:32 +0000
Received: by outflank-mailman (input) for mailman id 459257;
 Mon, 12 Dec 2022 09:55:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fX1-0003Vv-Lg
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:55:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX1-0001SF-6Z; Mon, 12 Dec 2022 09:55:31 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX0-0001lz-VP; Mon, 12 Dec 2022 09:55:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=sZJaNA72ZYypcX3vxZECdiF0fWUmdItqPCX8UGPLYBg=; b=lspWQG0cuIlO2qblyXvNtR/O6t
	njSE9CXBpnzOlJncAoErtmAk+zUIbfdCsKZpB3Fp9aziIpmpmtHb8gvwaW3pHRSCAfVrscTWEMmDK
	SrVtaApkPyLjbWmL/Wkui2o7MD1B6TgOnUrUkMxyFTzI2YGFtr2zcWQEzOyToKbPl7hI=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 04/18] xen/arm: flushtlb: Reduce scope of barrier for the TLB range flush
Date: Mon, 12 Dec 2022 09:55:09 +0000
Message-Id: <20221212095523.52683-5-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, flush_xen_tlb_range_va{,_local}() are using system
wide memory barrier. This is quite expensive and unnecessary.

For the local version, a non-shareable barrier is sufficient.
For the SMP version, a inner-shareable barrier is sufficient.

Furthermore, the initial barrier only need to a store barrier.

For the full explanation of the sequence see asm/arm{32,64}/flushtlb.h.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---
    Changes in v3:
        - Patch added
---
 xen/arch/arm/include/asm/flushtlb.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/include/asm/flushtlb.h b/xen/arch/arm/include/asm/flushtlb.h
index 125a141975e0..e45fb6d97b02 100644
--- a/xen/arch/arm/include/asm/flushtlb.h
+++ b/xen/arch/arm/include/asm/flushtlb.h
@@ -37,13 +37,14 @@ static inline void flush_xen_tlb_range_va_local(vaddr_t va,
 {
     vaddr_t end = va + size;
 
-    dsb(sy); /* Ensure preceding are visible */
+    /* See asm/arm{32,64}/flushtlb.h for the explanation of the sequence. */
+    dsb(nshst); /* Ensure prior page-tables updates have completed */
     while ( va < end )
     {
         __flush_xen_tlb_one_local(va);
         va += PAGE_SIZE;
     }
-    dsb(sy); /* Ensure completion of the TLB flush */
+    dsb(nsh); /* Ensure the TLB invalidation has completed */
     isb();
 }
 
@@ -56,13 +57,14 @@ static inline void flush_xen_tlb_range_va(vaddr_t va,
 {
     vaddr_t end = va + size;
 
-    dsb(sy); /* Ensure preceding are visible */
+    /* See asm/arm{32,64}/flushtlb.h for the explanation of the sequence. */
+    dsb(ishst); /* Ensure prior page-tables updates have completed */
     while ( va < end )
     {
         __flush_xen_tlb_one(va);
         va += PAGE_SIZE;
     }
-    dsb(sy); /* Ensure completion of the TLB flush */
+    dsb(ish); /* Ensure the TLB invalidation has completed */
     isb();
 }
 
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:55:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:55:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459258.716993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX4-0004G3-D7; Mon, 12 Dec 2022 09:55:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459258.716993; Mon, 12 Dec 2022 09:55:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX4-0004Em-8Y; Mon, 12 Dec 2022 09:55:34 +0000
Received: by outflank-mailman (input) for mailman id 459258;
 Mon, 12 Dec 2022 09:55:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fX2-0003pM-IE
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:55:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX2-0001SX-CK; Mon, 12 Dec 2022 09:55:32 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX2-0001lz-4x; Mon, 12 Dec 2022 09:55:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=4gf7OGmCVTPIad+5gHH9EbUJ/Y2Mpf2evxa74D/Bu6g=; b=vKmbKzPt6HLBrhHXL56pzDRdO7
	02rW7Wm0ZQxyS+V8WoSvH8sylIwt/iUR2xk3jH731iLkNrjEORwfLQbKKGb52Fp0CmA1oLQd+fuo2
	lyrIXPq8h7pTuB25cDL9UZJqcKZFYmCxr3N4a3K34tr1Q800MK85iP6v1EE2PnkRHfyI=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 05/18] xen/arm: Clean-up the memory layout
Date: Mon, 12 Dec 2022 09:55:10 +0000
Message-Id: <20221212095523.52683-6-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

In a follow-up patch, the base address for the common mappings will
vary between arm32 and arm64. To avoid any duplication, define
every mapping in the common region from the previous one.

Take the opportunity to:
    * add missing *_SIZE for FIXMAP_VIRT_* and XEN_VIRT_*
    * switch to MB()/GB() to be avoid hexadecimal (easier to read)

Signed-off-by: Julien Grall <jgrall@amazon.com>

---
    Changes in v3:
        - Switch more macros to use MB()/GB()
        - Remove duplicated sentence in the commit message

    Changes in v2:
        - Use _AT(vaddr_t, ...) to build on 32-bit.
        - Drop COMMON_VIRT_START
---
 xen/arch/arm/include/asm/config.h | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 0fefed1b8aa9..87851e677701 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -107,14 +107,19 @@
  *  Unused
  */
 
-#define XEN_VIRT_START         _AT(vaddr_t,0x00200000)
-#define FIXMAP_ADDR(n)        (_AT(vaddr_t,0x00400000) + (n) * PAGE_SIZE)
+#define XEN_VIRT_START          _AT(vaddr_t, MB(2))
+#define XEN_VIRT_SIZE           _AT(vaddr_t, MB(2))
 
-#define BOOT_FDT_VIRT_START    _AT(vaddr_t,0x00600000)
-#define BOOT_FDT_VIRT_SIZE     _AT(vaddr_t, MB(4))
+#define FIXMAP_VIRT_START       (XEN_VIRT_START + XEN_VIRT_SIZE)
+#define FIXMAP_VIRT_SIZE        _AT(vaddr_t, MB(2))
+
+#define FIXMAP_ADDR(n)          (FIXMAP_VIRT_START + (n) * PAGE_SIZE)
+
+#define BOOT_FDT_VIRT_START     (FIXMAP_VIRT_START + FIXMAP_VIRT_SIZE)
+#define BOOT_FDT_VIRT_SIZE      _AT(vaddr_t, MB(4))
 
 #ifdef CONFIG_LIVEPATCH
-#define LIVEPATCH_VMAP_START   _AT(vaddr_t,0x00a00000)
+#define LIVEPATCH_VMAP_START    (BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE)
 #define LIVEPATCH_VMAP_SIZE    _AT(vaddr_t, MB(2))
 #endif
 
@@ -124,18 +129,18 @@
 
 #define CONFIG_SEPARATE_XENHEAP 1
 
-#define FRAMETABLE_VIRT_START  _AT(vaddr_t,0x02000000)
+#define FRAMETABLE_VIRT_START  _AT(vaddr_t, MB(32))
 #define FRAMETABLE_SIZE        MB(128-32)
 #define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
 #define FRAMETABLE_VIRT_END    (FRAMETABLE_VIRT_START + FRAMETABLE_SIZE - 1)
 
-#define VMAP_VIRT_START        _AT(vaddr_t,0x10000000)
+#define VMAP_VIRT_START        _AT(vaddr_t, MB(256))
 #define VMAP_VIRT_SIZE         _AT(vaddr_t, GB(1) - MB(256))
 
-#define XENHEAP_VIRT_START     _AT(vaddr_t,0x40000000)
+#define XENHEAP_VIRT_START     _AT(vaddr_t, GB(1))
 #define XENHEAP_VIRT_SIZE      _AT(vaddr_t, GB(1))
 
-#define DOMHEAP_VIRT_START     _AT(vaddr_t,0x80000000)
+#define DOMHEAP_VIRT_START     _AT(vaddr_t, GB(2))
 #define DOMHEAP_VIRT_SIZE      _AT(vaddr_t, GB(2))
 
 #define DOMHEAP_ENTRIES        1024  /* 1024 2MB mapping slots */
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:55:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:55:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459261.716999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX5-0004OF-1K; Mon, 12 Dec 2022 09:55:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459261.716999; Mon, 12 Dec 2022 09:55:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX4-0004ND-QV; Mon, 12 Dec 2022 09:55:34 +0000
Received: by outflank-mailman (input) for mailman id 459261;
 Mon, 12 Dec 2022 09:55:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fX3-0004Ae-R9
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:55:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX3-0001Ss-ID; Mon, 12 Dec 2022 09:55:33 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX3-0001lz-Am; Mon, 12 Dec 2022 09:55:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=8XTTu/Hz4Y+O0ljKPi9Gp8h5CZ8CZj743R2YHfvL9wM=; b=U367eq51tXzXTpAIBNPLuA4+7/
	u9Z/Cp11p4d6pLtN1uA3J5bOk7fj/l+/xsp1tYVcYmESN7dG9A03uM//V7tQvgReTZTD8oHh3AHIL
	/6HhxU3CIObSbHlxTBw2PAnoF/8LWo//cGHy+vcvZj3dq1DELbq1OqPEFOwMKhpYKbvA=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 06/18] xen/arm32: head: Replace "ldr rX, =<label>" with "mov_w rX, <label>"
Date: Mon, 12 Dec 2022 09:55:11 +0000
Message-Id: <20221212095523.52683-7-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

"ldr rX, =<label>" is used to load a value from the literal pool. This
implies a memory access.

This can be avoided by using the macro mov_w which encode the value in
the immediate of two instructions.

So replace all "ldr rX, =<label>" with "mov_w rX, <label>".

No functional changes intended.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---

    Changes in v3:
        * Patch added
---
 xen/arch/arm/arm32/head.S | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index a558c2a6876e..ce680be91be1 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -62,7 +62,7 @@
 .endm
 
 .macro load_paddr rb, sym
-        ldr   \rb, =\sym
+        mov_w \rb, \sym
         add   \rb, \rb, r10
 .endm
 
@@ -149,7 +149,7 @@ past_zImage:
         mov   r8, r2                 /* r8 := DTB base address */
 
         /* Find out where we are */
-        ldr   r0, =start
+        mov_w r0, start
         adr   r9, start              /* r9  := paddr (start) */
         sub   r10, r9, r0            /* r10 := phys-offset */
 
@@ -170,7 +170,7 @@ past_zImage:
         bl    enable_mmu
 
         /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
-        ldr   r0, =primary_switched
+        mov_w r0, primary_switched
         mov   pc, r0
 primary_switched:
         /*
@@ -190,7 +190,7 @@ primary_switched:
         /* Setup the arguments for start_xen and jump to C world */
         mov   r0, r10                /* r0 := Physical offset */
         mov   r1, r8                 /* r1 := paddr(FDT) */
-        ldr   r2, =start_xen
+        mov_w r2, start_xen
         b     launch
 ENDPROC(start)
 
@@ -198,7 +198,7 @@ GLOBAL(init_secondary)
         cpsid aif                    /* Disable all interrupts */
 
         /* Find out where we are */
-        ldr   r0, =start
+        mov_w r0, start
         adr   r9, start              /* r9  := paddr (start) */
         sub   r10, r9, r0            /* r10 := phys-offset */
 
@@ -227,7 +227,7 @@ GLOBAL(init_secondary)
 
 
         /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
-        ldr   r0, =secondary_switched
+        mov_w r0, secondary_switched
         mov   pc, r0
 secondary_switched:
         /*
@@ -236,7 +236,7 @@ secondary_switched:
          *
          * XXX: This is not compliant with the Arm Arm.
          */
-        ldr   r4, =init_ttbr         /* VA of HTTBR value stashed by CPU 0 */
+        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
         ldrd  r4, r5, [r4]           /* Actual value */
         dsb
         mcrr  CP64(r4, r5, HTTBR)
@@ -254,7 +254,7 @@ secondary_switched:
 #endif
         PRINT("- Ready -\r\n")
         /* Jump to C world */
-        ldr   r2, =start_secondary
+        mov_w r2, start_secondary
         b     launch
 ENDPROC(init_secondary)
 
@@ -297,8 +297,8 @@ ENDPROC(check_cpu_mode)
  */
 zero_bss:
         PRINT("- Zero BSS -\r\n")
-        ldr   r0, =__bss_start       /* r0 := vaddr(__bss_start) */
-        ldr   r1, =__bss_end         /* r1 := vaddr(__bss_start) */
+        mov_w r0, __bss_start        /* r0 := vaddr(__bss_start) */
+        mov_w r1, __bss_end          /* r1 := vaddr(__bss_start) */
 
         mov   r2, #0
 1:      str   r2, [r0], #4
@@ -330,8 +330,8 @@ cpu_init:
 
 cpu_init_done:
         /* Set up memory attribute type tables */
-        ldr   r0, =MAIR0VAL
-        ldr   r1, =MAIR1VAL
+        mov_w r0, MAIR0VAL
+        mov_w r1,MAIR1VAL
         mcr   CP32(r0, HMAIR0)
         mcr   CP32(r1, HMAIR1)
 
@@ -341,10 +341,10 @@ cpu_init_done:
          * PT walks are write-back, write-allocate in both cache levels,
          * Full 32-bit address space goes through this table.
          */
-        ldr   r0, =(TCR_RES1|TCR_SH0_IS|TCR_ORGN0_WBWA|TCR_IRGN0_WBWA|TCR_T0SZ(0))
+        mov_w r0, (TCR_RES1|TCR_SH0_IS|TCR_ORGN0_WBWA|TCR_IRGN0_WBWA|TCR_T0SZ(0))
         mcr   CP32(r0, HTCR)
 
-        ldr   r0, =HSCTLR_SET
+        mov_w r0, HSCTLR_SET
         mcr   CP32(r0, HSCTLR)
         isb
 
@@ -452,7 +452,7 @@ ENDPROC(cpu_init)
  */
 create_page_tables:
         /* Prepare the page-tables for mapping Xen */
-        ldr   r0, =XEN_VIRT_START
+        mov_w r0, XEN_VIRT_START
         create_table_entry boot_pgtable, boot_second, r0, 1
         create_table_entry boot_second, boot_third, r0, 2
 
@@ -576,7 +576,7 @@ remove_identity_mapping:
         cmp   r1, #XEN_FIRST_SLOT
         beq   1f
         /* It is not in slot 0, remove the entry */
-        ldr   r0, =boot_pgtable      /* r0 := root table */
+        mov_w r0, boot_pgtable       /* r0 := root table */
         lsl   r1, r1, #3             /* r1 := Slot offset */
         strd  r2, r3, [r0, r1]
         b     identity_mapping_removed
@@ -590,7 +590,7 @@ remove_identity_mapping:
         cmp   r1, #XEN_SECOND_SLOT
         beq   identity_mapping_removed
         /* It is not in slot 1, remove the entry */
-        ldr   r0, =boot_second       /* r0 := second table */
+        mov_w r0, boot_second        /* r0 := second table */
         lsl   r1, r1, #3             /* r1 := Slot offset */
         strd  r2, r3, [r0, r1]
 
@@ -620,7 +620,7 @@ ENDPROC(remove_identity_mapping)
 setup_fixmap:
 #if defined(CONFIG_EARLY_PRINTK)
         /* Add UART to the fixmap table */
-        ldr   r0, =EARLY_UART_VIRTUAL_ADDRESS
+        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
         create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
 #endif
         /* Map fixmap into boot_second */
@@ -643,7 +643,7 @@ ENDPROC(setup_fixmap)
  * Clobbers r3
  */
 launch:
-        ldr   r3, =init_data
+        mov_w r3, init_data
         add   r3, #INITINFO_stack    /* Find the boot-time stack */
         ldr   sp, [r3]
         add   sp, #STACK_SIZE        /* (which grows down from the top). */
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:55:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:55:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459262.717012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX6-0004nK-F1; Mon, 12 Dec 2022 09:55:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459262.717012; Mon, 12 Dec 2022 09:55:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX6-0004lz-A0; Mon, 12 Dec 2022 09:55:36 +0000
Received: by outflank-mailman (input) for mailman id 459262;
 Mon, 12 Dec 2022 09:55:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fX4-0004Oi-Tm
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:55:34 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX4-0001TB-Ns; Mon, 12 Dec 2022 09:55:34 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX4-0001lz-GZ; Mon, 12 Dec 2022 09:55:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=eVOr8yy1F+4wZ14jGK/bPFFivuW+5kEZ2mVl4i9yBOc=; b=D3lBEoGk3MdzcrnyJEBrgU9Kp1
	edM1ZYS1s9I/LUtL/6mIbfgJer/wwAeC1OSdjx+OJVQ8S0ScsUw+HImc1jgWkqVL3nSg2JuHhLm6G
	EAmzrSuiR3mYVCSIUIBfDv3jn8jhNliKdT3xHqUJMMGU6TjNxiH0TpCCmkq2WFhCv3Ks=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 07/18] xen/arm32: head: Jump to the runtime mapping in enable_mmu()
Date: Mon, 12 Dec 2022 09:55:12 +0000
Message-Id: <20221212095523.52683-8-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, enable_mmu() will return to an address in the 1:1 mapping
and each path is responsible to switch to the runtime mapping.

In a follow-up patch, the behavior to switch to the runtime mapping
will become more complex. So to avoid more code/comment duplication,
move the switch in enable_mmu().

Lastly, take the opportunity to replace load from literal pool with
mov_w.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---
    Changes in v3:
        - Fix typo in the commit message

    Changes in v2:
        - Patch added
---
 xen/arch/arm/arm32/head.S | 50 +++++++++++++++++++++++----------------
 1 file changed, 30 insertions(+), 20 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index ce680be91be1..40c1d7502007 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -167,19 +167,11 @@ past_zImage:
         bl    check_cpu_mode
         bl    cpu_init
         bl    create_page_tables
-        bl    enable_mmu
 
-        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
-        mov_w r0, primary_switched
-        mov   pc, r0
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, primary_switched
+        b     enable_mmu
 primary_switched:
-        /*
-         * The 1:1 map may clash with other parts of the Xen virtual memory
-         * layout. As it is not used anymore, remove it completely to
-         * avoid having to worry about replacing existing mapping
-         * afterwards.
-         */
-        bl    remove_identity_mapping
         bl    setup_fixmap
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
@@ -223,12 +215,10 @@ GLOBAL(init_secondary)
         bl    check_cpu_mode
         bl    cpu_init
         bl    create_page_tables
-        bl    enable_mmu
 
-
-        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
-        mov_w r0, secondary_switched
-        mov   pc, r0
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, secondary_switched
+        b     enable_mmu
 secondary_switched:
         /*
          * Non-boot CPUs need to move on to the proper pagetables, which were
@@ -523,9 +513,12 @@ virtphys_clash:
 ENDPROC(create_page_tables)
 
 /*
- * Turn on the Data Cache and the MMU. The function will return on the 1:1
- * mapping. In other word, the caller is responsible to switch to the runtime
- * mapping.
+ * Turn on the Data Cache and the MMU. The function will return
+ * to the virtual address provided in LR (e.g. the runtime mapping).
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   lr : Virtual address to return to
  *
  * Clobbers r0 - r3
  */
@@ -551,7 +544,24 @@ enable_mmu:
         dsb                          /* Flush PTE writes and finish reads */
         mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
         isb                          /* Now, flush the icache */
-        mov   pc, lr
+
+        /*
+         * The MMU is turned on and we are in the 1:1 mapping. Switch
+         * to the runtime mapping.
+         */
+        mov_w r0, 1f
+        mov   pc, r0
+1:
+        /*
+         * The 1:1 map may clash with other parts of the Xen virtual memory
+         * layout. As it is not used anymore, remove it completely to
+         * avoid having to worry about replacing existing mapping
+         * afterwards.
+         *
+         * On return this will jump to the virtual address requested by
+         * the caller.
+         */
+        b     remove_identity_mapping
 ENDPROC(enable_mmu)
 
 /*
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:55:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:55:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459264.717025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX7-00059g-Uv; Mon, 12 Dec 2022 09:55:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459264.717025; Mon, 12 Dec 2022 09:55:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX7-00058D-MC; Mon, 12 Dec 2022 09:55:37 +0000
Received: by outflank-mailman (input) for mailman id 459264;
 Mon, 12 Dec 2022 09:55:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fX6-0004ja-3g
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:55:36 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX5-0001TW-Tg; Mon, 12 Dec 2022 09:55:35 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX5-0001lz-MN; Mon, 12 Dec 2022 09:55:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=IkfkOtBPMDbEBtLpK7Qb9ilDR8TosDP0r588oIQO8sQ=; b=gFLykY5WKA9hd/5efzoUCsa14l
	koybqhFDNZ+bp+uwW0/nmTU0/J2tYNUB5XTQVCgobVsB6PZe5oJ0j8DZ1Ld3W8y5TUwCgjTwuXARF
	pIJJiOEXUcrwjXl+aH8djC1+w+0Q6xVY1qe9bf/TbbOwg3jHhZzI+BaqzgUV11BeGb/c=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 08/18] xen/arm32: head: Introduce an helper to flush the TLBs
Date: Mon, 12 Dec 2022 09:55:13 +0000
Message-Id: <20221212095523.52683-9-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

The sequence for flushing the TLBs is 4 instruction long and often
requires an explanation how it works.

So create an helper and use it in the boot code (switch_ttbr() is left
alone for now).

Note that in secondary_switched, we were also flushing the instruction
cache and branch predictor. Neither of them was necessary because:
    * We are only supporting IVIPT cache on arm32, so the instruction
      cache flush is only necessary when executable code is modified.
      None of the boot code is doing that.
    * The instruction cache is not invalidated and misprediction is not
      a problem at boot.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---
    Changes in v3:
        * Fix typo
        * Update the documentation
        * Rename the argument from tmp1 to tmp
---
 xen/arch/arm/arm32/head.S | 30 +++++++++++++++++-------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 40c1d7502007..315abbbaebec 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -66,6 +66,20 @@
         add   \rb, \rb, r10
 .endm
 
+/*
+ * Flush local TLBs
+ *
+ * @tmp:    Scratch register
+ *
+ * See asm/arm32/flushtlb.h for the explanation of the sequence.
+ */
+.macro flush_xen_tlb_local tmp
+        dsb   nshst
+        mcr   CP32(\tmp, TLBIALLH)
+        dsb   nsh
+        isb
+.endm
+
 /*
  * Common register usage in this file:
  *   r0  -
@@ -232,11 +246,7 @@ secondary_switched:
         mcrr  CP64(r4, r5, HTTBR)
         dsb
         isb
-        mcr   CP32(r0, TLBIALLH)     /* Flush hypervisor TLB */
-        mcr   CP32(r0, ICIALLU)      /* Flush I-cache */
-        mcr   CP32(r0, BPIALL)       /* Flush branch predictor */
-        dsb                          /* Ensure completion of TLB+BP flush */
-        isb
+        flush_xen_tlb_local r0
 
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
@@ -529,8 +539,7 @@ enable_mmu:
          * The state of the TLBs is unknown before turning on the MMU.
          * Flush them to avoid stale one.
          */
-        mcr   CP32(r0, TLBIALLH)     /* Flush hypervisor TLBs */
-        dsb   nsh
+        flush_xen_tlb_local r0
 
         /* Write Xen's PT's paddr into the HTTBR */
         load_paddr r0, boot_pgtable
@@ -605,12 +614,7 @@ remove_identity_mapping:
         strd  r2, r3, [r0, r1]
 
 identity_mapping_removed:
-        /* See asm/arm32/flushtlb.h for the explanation of the sequence. */
-        dsb   nshst
-        mcr   CP32(r0, TLBIALLH)
-        dsb   nsh
-        isb
-
+        flush_xen_tlb_local r0
         mov   pc, lr
 ENDPROC(remove_identity_mapping)
 
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 09:55:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 09:55:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459265.717031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX8-0005CO-JJ; Mon, 12 Dec 2022 09:55:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459265.717031; Mon, 12 Dec 2022 09:55:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fX7-0005BO-Vw; Mon, 12 Dec 2022 09:55:37 +0000
Received: by outflank-mailman (input) for mailman id 459265;
 Mon, 12 Dec 2022 09:55:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fX7-00056q-Dt
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:55:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX7-0001Tn-6g; Mon, 12 Dec 2022 09:55:37 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX6-0001lz-SD; Mon, 12 Dec 2022 09:55:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=pVEHru+1CtSdyMmbPddZjEdJ+KHD70SICai9fj43B/4=; b=onZgKwiZwf80GeQFs1sv86LS9Z
	tmQhkrvofKU9jPnomm1uvOvnwJw8C0w3FyFyNuoqabA9HzLbk4ylmX7jAQqQAa7ApNAmCVfL74UHf
	J9kZPnbY85L3oL/EOzb/D9WTSuEP4w37xLUBSbgyKqTem4ROmeI6nsMC6q+damxfAjRc=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 09/18] xen/arm32: head: Remove restriction where to load Xen
Date: Mon, 12 Dec 2022 09:55:14 +0000
Message-Id: <20221212095523.52683-10-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, bootloaders can load Xen anywhere in memory but the
region 2MB - 4MB. While I am not aware of any issue, we have no way
to tell the bootloader to avoid that region.

In addition to that, in the future, Xen may grow over 2MB if we
enable feature like UBSAN or GCOV. To avoid widening the restriction
on the load address, it would be better to get rid of it.

When the identity mapping is clashing with the Xen runtime mapping,
we need an extra indirection to be able to replace the identity
mapping with the Xen runtime mapping.

Reserve a new memory region that will be used to temporarily map Xen.
For convenience, the new area is re-using the same first slot as the
domheap which is used for per-cpu temporary mapping after a CPU has
booted.

Furthermore, directly map boot_second (which cover Xen and more)
to the temporary area. This will avoid to allocate an extra page-table
for the second-level and will helpful for follow-up patches (we will
want to use the fixmap whilst in the temporary mapping).

Lastly, some part of the code now needs to know whether the temporary
mapping was created. So reserve r12 to store this information.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
    Changes in v3:
        - Remove the ASSERT() in init_domheap_mappings() because it was
          bogus (secondary CPU root tables are initialized to the CPU0
          root table so the entry will be valid). Also, it is not
          related to this patch as the CPU0 root table are rebuilt
          during boot. The ASSERT() will be re-introduced later.

    Changes in v2:
        - Patch added
---
 xen/arch/arm/arm32/head.S         | 139 ++++++++++++++++++++++++++----
 xen/arch/arm/domain_page.c        |   1 +
 xen/arch/arm/include/asm/config.h |  14 +++
 xen/arch/arm/mm.c                 |  14 +++
 4 files changed, 153 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 315abbbaebec..50adb887ceaf 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -35,6 +35,9 @@
 #define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
 #define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
 
+/* Offset between the early boot xen mapping and the runtime xen mapping */
+#define XEN_TEMPORARY_OFFSET      (TEMPORARY_XEN_VIRT_START - XEN_VIRT_START)
+
 #if defined(CONFIG_EARLY_PRINTK) && defined(CONFIG_EARLY_PRINTK_INC)
 #include CONFIG_EARLY_PRINTK_INC
 #endif
@@ -94,7 +97,7 @@
  *   r9  - paddr(start)
  *   r10 - phys offset
  *   r11 - UART address
- *   r12 -
+ *   r12 - Temporary mapping created
  *   r13 - SP
  *   r14 - LR
  *   r15 - PC
@@ -445,6 +448,9 @@ ENDPROC(cpu_init)
  *   r9 : paddr(start)
  *   r10: phys offset
  *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
  * Clobbers r0 - r4, r6
  *
  * Register usage within this function:
@@ -484,7 +490,11 @@ create_page_tables:
         /*
          * Setup the 1:1 mapping so we can turn the MMU on. Note that
          * only the first page of Xen will be part of the 1:1 mapping.
+         *
+         * In all the cases, we will link boot_third_id. So create the
+         * mapping in advance.
          */
+        create_mapping_entry boot_third_id, r9, r9
 
         /*
          * Find the first slot used. If the slot is not XEN_FIRST_SLOT,
@@ -501,8 +511,7 @@ create_page_tables:
         /*
          * Find the second slot used. If the slot is XEN_SECOND_SLOT, then the
          * 1:1 mapping will use its own set of page-tables from the
-         * third level. For slot XEN_SECOND_SLOT, Xen is not yet able to handle
-         * it.
+         * third level.
          */
         get_table_slot r1, r9, 2     /* r1 := second slot */
         cmp   r1, #XEN_SECOND_SLOT
@@ -513,13 +522,33 @@ create_page_tables:
 link_from_second_id:
         create_table_entry boot_second_id, boot_third_id, r9, 2
 link_from_third_id:
-        create_mapping_entry boot_third_id, r9, r9
+        /* Good news, we are not clashing with Xen virtual mapping */
+        mov   r12, #0                /* r12 := temporary mapping not created */
         mov   pc, lr
 
 virtphys_clash:
-        /* Identity map clashes with boot_third, which we cannot handle yet */
-        PRINT("- Unable to build boot page tables - virt and phys addresses clash. -\r\n")
-        b     fail
+        /*
+         * The identity map clashes with boot_third. Link boot_first_id and
+         * map Xen to a temporary mapping. See switch_to_runtime_mapping
+         * for more details.
+         */
+        PRINT("- Virt and Phys addresses clash  -\r\n")
+        PRINT("- Create temporary mapping -\r\n")
+
+        /*
+         * This will override the link to boot_second in XEN_FIRST_SLOT.
+         * The page-tables are not live yet. So no need to use
+         * break-before-make.
+         */
+        create_table_entry boot_pgtable, boot_second_id, r9, 1
+        create_table_entry boot_second_id, boot_third_id, r9, 2
+
+        /* Map boot_second (cover Xen mappings) to the temporary 1st slot */
+        mov_w r0, TEMPORARY_XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+
+        mov   r12, #1                /* r12 := temporary mapping created */
+        mov   pc, lr
 ENDPROC(create_page_tables)
 
 /*
@@ -528,9 +557,10 @@ ENDPROC(create_page_tables)
  *
  * Inputs:
  *   r9 : paddr(start)
+ *  r12 : Was the temporary mapping created?
  *   lr : Virtual address to return to
  *
- * Clobbers r0 - r3
+ * Clobbers r0 - r5
  */
 enable_mmu:
         PRINT("- Turning on paging -\r\n")
@@ -558,21 +588,79 @@ enable_mmu:
          * The MMU is turned on and we are in the 1:1 mapping. Switch
          * to the runtime mapping.
          */
-        mov_w r0, 1f
-        mov   pc, r0
+        mov   r5, lr                /* Save LR before overwritting it */
+        mov_w lr, 1f                /* Virtual address in the runtime mapping */
+        b     switch_to_runtime_mapping
 1:
+        mov   lr, r5                /* Restore LR */
         /*
-         * The 1:1 map may clash with other parts of the Xen virtual memory
-         * layout. As it is not used anymore, remove it completely to
-         * avoid having to worry about replacing existing mapping
-         * afterwards.
+         * At this point, either the 1:1 map or the temporary mapping
+         * will be present. The former may clash with other parts of the
+         * Xen virtual memory layout. As both of them are not used
+         * anymore, remove them completely to avoid having to worry
+         * about replacing existing mapping afterwards.
          *
          * On return this will jump to the virtual address requested by
          * the caller.
          */
-        b     remove_identity_mapping
+        teq   r12, #0
+        beq   remove_identity_mapping
+        b     remove_temporary_mapping
 ENDPROC(enable_mmu)
 
+/*
+ * Switch to the runtime mapping. The logic depends on whether the
+ * runtime virtual region is clashing with the physical address
+ *
+ *  - If it is not clashing, we can directly jump to the address in
+ *    the runtime mapping.
+ *  - If it is clashing, create_page_tables() would have mapped Xen to
+ *    a temporary virtual address. We need to switch to the temporary
+ *    mapping so we can remove the identity mapping and map Xen at the
+ *    correct position.
+ *
+ * Inputs
+ *    r9: paddr(start)
+ *   r12: Was a temporary mapping created?
+ *    lr: Address in the runtime mapping to jump to
+ *
+ * Clobbers r0 - r4
+ */
+switch_to_runtime_mapping:
+        /*
+         * Jump to the runtime mapping if the virt and phys are not
+         * clashing
+         */
+        teq   r12, #0
+        beq   ready_to_switch
+
+        /* We are still in the 1:1 mapping. Jump to the temporary Virtual address. */
+        mov_w r0, 1f
+        add   r0, r0, #XEN_TEMPORARY_OFFSET /* r0 := address in temporary mapping */
+        mov   pc, r0
+
+1:
+        /* Remove boot_second_id */
+        mov   r2, #0
+        mov   r3, #0
+        adr_l r0, boot_pgtable
+        get_table_slot r1, r9, 1            /* r1 := first slot */
+        lsl   r1, r1, #3                    /* r1 := first slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+
+        /* Map boot_second into boot_pgtable */
+        mov_w r0, XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+
+        /* Ensure any page table updates are visible before continuing */
+        dsb   nsh
+
+ready_to_switch:
+        mov   pc, lr
+ENDPROC(switch_to_runtime_mapping)
+
 /*
  * Remove the 1:1 map from the page-tables. It is not easy to keep track
  * where the 1:1 map was mapped, so we will look for the top-level entry
@@ -618,6 +706,27 @@ identity_mapping_removed:
         mov   pc, lr
 ENDPROC(remove_identity_mapping)
 
+/*
+ * Remove the temporary mapping of Xen starting at TEMPORARY_XEN_VIRT_START.
+ *
+ * Clobbers r0 - r1
+ */
+remove_temporary_mapping:
+        /* r2:r3 := invalid page-table entry */
+        mov   r2, #0
+        mov   r3, #0
+
+        adr_l r0, boot_pgtable
+        mov_w r1, TEMPORARY_XEN_VIRT_START
+        get_table_slot r1, r1, 1     /* r1 := first slot */
+        lsl   r1, r1, #3             /* r1 := first slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+
+        mov  pc, lr
+ENDPROC(remove_temporary_mapping)
+
 /*
  * Map the UART in the fixmap (when earlyprintk is used) and hook the
  * fixmap table in the page tables.
diff --git a/xen/arch/arm/domain_page.c b/xen/arch/arm/domain_page.c
index b7c02c919064..907fb93d4df0 100644
--- a/xen/arch/arm/domain_page.c
+++ b/xen/arch/arm/domain_page.c
@@ -60,6 +60,7 @@ bool init_domheap_mappings(unsigned int cpu)
     for ( i = 0; i < DOMHEAP_SECOND_PAGES; i++ )
     {
         lpae_t pte = mfn_to_xen_entry(mfn_add(mfn, i), MT_NORMAL);
+
         pte.pt.table = 1;
         write_pte(&root[first_idx + i], pte);
     }
diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 87851e677701..6c1b762e976d 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -148,6 +148,20 @@
 /* Number of domheap pagetable pages required at the second level (2MB mappings) */
 #define DOMHEAP_SECOND_PAGES (DOMHEAP_VIRT_SIZE >> FIRST_SHIFT)
 
+/*
+ * The temporary area is overlapping with the domheap area. This may
+ * be used to create an alias of the first slot containing Xen mappings
+ * when turning on/off the MMU.
+ */
+#define TEMPORARY_AREA_FIRST_SLOT    (first_table_offset(DOMHEAP_VIRT_START))
+
+/* Calculate the address in the temporary area */
+#define TEMPORARY_AREA_ADDR(addr)                           \
+     (((addr) & ~XEN_PT_LEVEL_MASK(1)) |                    \
+      (TEMPORARY_AREA_FIRST_SLOT << XEN_PT_LEVEL_SHIFT(1)))
+
+#define TEMPORARY_XEN_VIRT_START    TEMPORARY_AREA_ADDR(XEN_VIRT_START)
+
 #else /* ARM_64 */
 
 #define SLOT0_ENTRY_BITS  39
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 630175276f6a..1315a2c87db7 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -167,6 +167,9 @@ static void __init __maybe_unused build_assertions(void)
 #define CHECK_SAME_SLOT(level, virt1, virt2) \
     BUILD_BUG_ON(level##_table_offset(virt1) != level##_table_offset(virt2))
 
+#define CHECK_DIFFERENT_SLOT(level, virt1, virt2) \
+    BUILD_BUG_ON(level##_table_offset(virt1) == level##_table_offset(virt2))
+
 #ifdef CONFIG_ARM_64
     CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, FIXMAP_ADDR(0));
     CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, BOOT_FDT_VIRT_START);
@@ -174,7 +177,18 @@ static void __init __maybe_unused build_assertions(void)
     CHECK_SAME_SLOT(first, XEN_VIRT_START, FIXMAP_ADDR(0));
     CHECK_SAME_SLOT(first, XEN_VIRT_START, BOOT_FDT_VIRT_START);
 
+    /*
+     * For arm32, the temporary mapping will re-use the domheap
+     * first slot and the second slots will match.
+     */
+#ifdef CONFIG_ARM_32
+    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START, DOMHEAP_VIRT_START);
+    CHECK_DIFFERENT_SLOT(first, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
+    CHECK_SAME_SLOT(second, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
+#endif
+
 #undef CHECK_SAME_SLOT
+#undef CHECK_DIFFERENT_SLOT
 }
 
 void dump_pt_walk(paddr_t ttbr, paddr_t addr,
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:05:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:05:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459311.717049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fgN-0001XW-Ik; Mon, 12 Dec 2022 10:05:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459311.717049; Mon, 12 Dec 2022 10:05:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fgN-0001XP-FJ; Mon, 12 Dec 2022 10:05:11 +0000
Received: by outflank-mailman (input) for mailman id 459311;
 Mon, 12 Dec 2022 10:05:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8fsB=4K=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p4fXz-0002iG-5O
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 09:56:31 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061.outbound.protection.outlook.com [40.107.20.61])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4031d461-7a03-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 10:56:30 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7768.eurprd04.prod.outlook.com (2603:10a6:20b:2a4::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 12 Dec
 2022 09:56:28 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 09:56:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4031d461-7a03-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NiTG28SA1CoGbHTzDgnX4RjomRWK5A2JjPGLLv3zyHddlUFHjL52EQn47XQyfsB58daPUNx+miRAJHNQ59ZkfmRWH9a32rXt8rSynq246PGNP5z52JT8INOTCjguQSBVf8EcEiVdSfReiCwTDBBpxK0jw3+j/e8Iy9lA57uN4Rtx2s3LmejMOobL9+WpY802a1XHPlxeZLmbhCSzbzgks5CQlBKJycqJKifJ2P5kuVwR0OTxuOkjY6kjSgR6r3+oB8piQfWni3/m1h2rqcPXIJ2FNLzULHe1nRVlcTSOX8f1YUom0qtharDJzfauJddu+/zBEPy8B1iO/mgmWUnGAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PJj15GFvXZeFxUlDRJPYmS7rYjtIilbGR//bfKeTn2s=;
 b=cbXoxX5rPB/yNF49BoQzxhF+8xJOjjcPfOPPEQplfyIGTq+5dmXslAZPDdrZXF7dlVCrO5c5C0+OK+bETlTBAPVco/GGuMYoV1q/twS4nvtjKU74do5rM2KD27PECB4lWcBvL1l+9g6AnaVdCpTnj/qHgnwVrzx44P76VxYpAhWUO/o8ZGhofGu420RmX83CuSHKKWxjVTcPf529O6K1lDUlKS14zdgIXMrfL0zK7Jb+grd9dhi/ccwIMoqvS+z20HEmTJSzZuyehM7GoK3zkHz2Blz/OfDrBHt1spLZFYzliBkMrg4ci2z4Ltcznw9ohWwTIAeHWMr2BpeLH9KHqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PJj15GFvXZeFxUlDRJPYmS7rYjtIilbGR//bfKeTn2s=;
 b=NF4arr5yJG60p811OJw/+Ia6UEsZuvsmQH/dcEu7vOe8lPl3fC/8ly7NpSlGPD6Q/j0B8s/EjhZfzTgF0nW3x5W+tnuqa8Yy8niUYydcXogLZLkHfOHAgGOhJcDp6o/PW0Xd66U8VsEoDD6LdN0QK2kMp4uvR3WxT7Mm4hjyHOlm6KHHFbszVbnzKOYWRATWiB5mkcD/JbqCSgQr9AoosLwPOsOFZnibUk8OBfswfBwA5PwRJAG0Y3JCsT4ZEJL8bdtPd0+wKk/8TI1fsHU9GaW9UP8AvzBAiYmLC3H5v73robYRuDLOTe1YUNBv26o6QuQBJ4nvxJUKdCAXf5lyUA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <17b9c5d0-81c3-1ca4-8602-4c1bc7739de8@suse.com>
Date: Mon, 12 Dec 2022 10:56:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 0/8] docs/process: branching-checklist: Update it
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>, Julien Grall <julien@xen.org>
Cc: Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "ijackson@chiark.greenend.org.uk" <ijackson@chiark.greenend.org.uk>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20221212093410.36289-1-julien@xen.org>
 <AS8PR08MB7991A0C040E47BD98123953792E29@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <AS8PR08MB7991A0C040E47BD98123953792E29@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0016.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::26) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7768:EE_
X-MS-Office365-Filtering-Correlation-Id: 0a5adb11-38fd-4ee7-dd14-08dadc272328
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aBoDFFIEu68W/u4hQFXBJL+fgpTdfkiAIlTYG5UMff/fuGWVNhYZYPAYTebF6hJzPxfdUs51BEeqz0I08Ti1Q9K5Lnr0rHj8Hg4OIXY2OjPbrR6vRAY6Pp8SP/WEnd+lm1/aXsPJHJ7f2+7fmikCICPWTIb+Rs5lHqZQBun/8MUwTgsiiCeoudKsAJ6zIkBHFC4ntdZVLnFU9OjCdx/mFpFkajaz/PuLktI0Cs3vuiRcLf6PjJy7PFoWDIuRKRqeRYKJkVtxxfUmOHKNdim1Xhs5VOU3v1ggG8+apIKK/eHjmUVtEYbvWsqzQLQNLtVgvRqsVJ8woo9JTWLg1V6ukptRWrJefsWsM+Ta7WOnl9L9Oov4iRw/OH6gjl3iqJzu2w+sTtfahm8fcT1kBb/2j0jRPI14TzFDrG2NTeZV/BIlROFV8LcHVCNvQwuAEC/1CmjU+r5hvrVPBYFSbpcUURnC7H+Hyyxjz7/taKuspCpHL7lLTWujMo19cDZQ8dcW+xiIZhpzy2LNx76AJdz9gVuNXQhxdOxvZzV9zLKicR3lOQVoVPvm5FjxIoyqPSrzC6fadMRwfjkF3WQJTnU4YrWJKebd3QhMTrLD3Njjt+30+enC/Rox3ffaEXnaQ47TtfmElcy/iNx4HGYK9d0StQ3mj1j8nWuOM2iBTEzVQYRwTKiwiCrGSBXHRayAyB9TmapY9Stom7Fvtj0+8amkQY1o0dSiLrc2aJ7ym8Vccjo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(39860400002)(136003)(366004)(396003)(451199015)(86362001)(31696002)(54906003)(83380400001)(6506007)(110136005)(6512007)(53546011)(26005)(186003)(6486002)(2616005)(478600001)(41300700001)(2906002)(15650500001)(5660300002)(8936002)(66556008)(38100700002)(66946007)(4326008)(8676002)(31686004)(66476007)(316002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eHRyMlZXK0FYeXc5RTNDNklyOGFTcmZwUGVZdWNRTTgyckExWEMvSGI5VnQv?=
 =?utf-8?B?MHZaN1RnYm5lOFgwUDhoMkMrblQ5a1V0K3BMb3Z1WnYxRUNmRTdvdkx6Yllx?=
 =?utf-8?B?T2U2TDFKeGtmSDNPeHhPdWJFdUpKaFJGeWJzeExtTFM4VGVLV1Z5M2dUM210?=
 =?utf-8?B?WUtZaW9MSnQyRXpvcHZ5Z2M0UEtLL2J0cmhRNTh4S1BFTEVJbTBLWGYzbDJ4?=
 =?utf-8?B?UGhJTlpleWRGT0VzdExOQjJtRlR5eHFKR3I4cE9GN0ZtRnVSVmRrOWk0cHNG?=
 =?utf-8?B?WjEyY2VsQXZtNVZkTW9YSDA2WWx6NjI1REdCWnhxNTlocDRocUJ4S1JxUWZV?=
 =?utf-8?B?K3FwMkhJcTYxWmEzUGR1MnczQ0tNK3VUbExWWnBiaWtvek5FK1hhcGdZSjA2?=
 =?utf-8?B?KzdLWE4ydldIR3h0SDdBWWFmYzRMblg2UHFBV0FDM2VIY3I3VG96Z1hMZGdS?=
 =?utf-8?B?cVViSnVnTDV3NFpTbnduUW9KcjZRTlg1bWpKMTRFOUk3MEorZUNyakJ1K2Rp?=
 =?utf-8?B?dGxFRU8ydnBOL0doSmk2bE9Oa1hzOUFQUVFqMFA0UnRmMndTQlE0cHQwdDhw?=
 =?utf-8?B?R3FvSjNkaGJ5NEdnZy9KaUJmbXFVZHNOSlJSc3J3WmgvMStJVHdvTFc2RER2?=
 =?utf-8?B?Q05xdm9zaTV5ckMwM29NNktlcDBrS1JNSllKSjgxTnVzdXlsbE9sbksxNHl3?=
 =?utf-8?B?OVltQk9uWkY5TnFPa0hZbDJqaHlDYmNpVUFPanpNUzBuUTJBbmxRK0ZmQ2lm?=
 =?utf-8?B?WEkxMXlZLzdSc3FCTUNVS2NxYzVONHVPeGVXa1F1WFgraUMwSGdKdlJ2ZzdW?=
 =?utf-8?B?RTQzWkFmQ21GZlVtL214R3pES2hBdEY5eVhNc1Y0SUlxRnRZYXp5eGF4bkVa?=
 =?utf-8?B?aVVvMDF1UUJvZ3NuVGN5a1hMUjlxWjNFSElOWm9JQjBBY3dCeG5tckx0eG4v?=
 =?utf-8?B?LzlKY3dPd0VJdVpMcWU1UENQY08yLzhXb1F2UWg2VEh2RVExNXErZWVGT21H?=
 =?utf-8?B?dk1GOTQ1R1N0Z3lsYUFoN25adEp6ZUFvazdUUi9qZmJHb2FkaHMvZElXTE43?=
 =?utf-8?B?cUtFUmpTSStNb0ZiYlR6VFpqcWR3RSs1clgyS243TzJPYStQc3pzUEpmUjI4?=
 =?utf-8?B?S1h1WTJ6RTkyS2krZ2FaeitWcTBFRXVmTzJPMDlwRmRrc21xSjgyRGIxTk9D?=
 =?utf-8?B?UHZHSzVHd2o1b2xhTDJ4Uy92bEREWGdXVHpmd2huZEwwdlZLbjJZSzMvZHl5?=
 =?utf-8?B?ckNaRlM3ZlpnNG0zUHFSK1p3TlZLOXJVejY5endVbDVya1Q1M0JZUEJTUlM1?=
 =?utf-8?B?ZUVlanl4ZS93eGs5ZUZXc2prVURmT2xqSThLa0tKRHZaRkFZTUM3RG9BZVpS?=
 =?utf-8?B?cHgxTkcwUld3VXg4MGwvVkI5T1lveFZkc0s2dHB6eC9tYnVyNE9WUWpHUWxP?=
 =?utf-8?B?dDhiSVo1YmhsZXFISkR2MmdENC9qTXp5c3l5RGQ4MGh0U1JsZ051S1ZmMkZK?=
 =?utf-8?B?SjVNQ1p5UE9Ka09nVUw3Sm44dTlVRnE0WHlPNjcyclkrazhaQlV1WkZZQXph?=
 =?utf-8?B?bytvVDc4TnRrdDlEOVR5d1JHV0ZyOXBjdnZWNjZUb3pBV1pRSFdRY3duTHhH?=
 =?utf-8?B?eHNkZ3Z2S1BxVnZsUHQxNGxZbzN4OGQyejcxMlpJSThidkNPQWxtMko0RUth?=
 =?utf-8?B?UTZXTlNPY08wUUg4V1BOZHNWaG5ETWpLTWRYZDZBeE5NZlI0ak1yNU9ScVhl?=
 =?utf-8?B?Yldta0ZVbjRkcGlldFVTbzBseitpYWpuTDk5TzljYmZaZmlsRU42YmxMaDZ3?=
 =?utf-8?B?cnJlYm50WEhZenIvVS80RG1PR25ZWTVpWnJYUkVjRjV3azhSd21lRkl0S2ow?=
 =?utf-8?B?Y0FhdHNMNzRudWU3WjFNN0RETHUveUh4ZmtZUXh0TUorRnEyL0RsZGlVS1ZD?=
 =?utf-8?B?YkxKaS9sL2ZwN1RLVFp5VXF2K1o1OXJtcjNrTWtaRVFhUDZRYmFmZGZIMTNU?=
 =?utf-8?B?SFI1ZllxN21lNTAvZEljUWo2eXc2a2dwTFVHakJuYndlRHpaVkhoZlAzUjJu?=
 =?utf-8?B?RFl1ZlZ3MnFzZHVYbXJWNERIZ2JnUVE2cndVc2V2a3VlZVJyU21wWDl5MVox?=
 =?utf-8?Q?O3Wcyl3C4YavLcUfPgPcYBIP7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0a5adb11-38fd-4ee7-dd14-08dadc272328
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 09:56:27.9312
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VLmTitU6Sp+4fuux+eqVsy7fs0c7X6WM1zihqxhRKbSulwijOe4dNE2IVT0B41IVUCkL7rqEHLBuYMeSR9k6mw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7768

On 12.12.2022 10:49, Henry Wang wrote:
>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Subject: [PATCH 0/8] docs/process: branching-checklist: Update it
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> This is a collection of improvement for the branching checklist.
> 
> Thanks for this work! Since from the docs/process/RUBRIC we are having:
> ```
> They are living documents, and no special approval is needed to modify
> them beyond the usual acks for commit.  They should be updated as and
> when it seems expediant.
> ```
> 
> I don't know if my reviewed-by counts but I did go through the whole
> series, so for the whole series:
> 
> Reviewed-by: Henry Wang <Henry.Wang@arm.com>

Why should it not count? Thanks for taking the time to look through
this series.

>> Julien Grall (8):
>>   docs/process: branching-checklist: Use consistent indentation
>>   docs/process: branching-checklist: Remove reference to qemu-ijw.git
>>   docs/process: branching-checklist: Remove reference to root
>>   docs/process: branching-checklist: Clarify steps to add the branch in
>>     osstest
>>   docs/process: branching-checklist: Reword the section about Config.mk
>>   docs/process: branching-checklist: Remove section about the cambridge
>>     colo
>>   docs/proces: branching-checklist: Update the section "add to patchbot"

Just one nit here: The subject prefix could do with adding the missing 's'.

Jan

>>   docs/process: branching-checklist: Add a list of accounts at the
>>     beginning
>>
>>  docs/process/branching-checklist.txt | 122 +++++++++++++--------------
>>  1 file changed, 60 insertions(+), 62 deletions(-)



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:05:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:05:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459317.717060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fgi-0001wd-Ro; Mon, 12 Dec 2022 10:05:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459317.717060; Mon, 12 Dec 2022 10:05:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fgi-0001wV-Ot; Mon, 12 Dec 2022 10:05:32 +0000
Received: by outflank-mailman (input) for mailman id 459317;
 Mon, 12 Dec 2022 10:05:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fgi-0001wI-2i
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 10:05:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fgf-0001n7-Gi; Mon, 12 Dec 2022 10:05:29 +0000
Received: from [54.239.6.188] (helo=[192.168.19.227])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fgf-0002JD-9n; Mon, 12 Dec 2022 10:05:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=qXjcEE9AcQzXIIj0BJVRKHQtPPSytWn+m+YuHqpvSuw=; b=Ok0JMlUx2QAbB/ct6mENQxu8Wo
	m5laM0FXt1B6pFbY5uLixlL24zcs05nshC3EaHh0bFzcpstPZDKcW+sCtlsSGv6n1ccWSHQuJXgSJ
	vPY9oysKqYa9tynkoqmrkt9qVt2xkxxk04CHfA5Kk9ovL/CEfrTiWOvhuGYbtFH3TSCc=;
Message-ID: <e7766518-275c-1030-e8c0-51a5787a9985@xen.org>
Date: Mon, 12 Dec 2022 10:05:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [BUG]Add PCIE devie to SMMUv3 fail
Content-Language: en-US
To: sisyphean <sisyphean@zlw.email>, Rahul Singh <Rahul.Singh@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <793eb471-e68b-c3ff-52e8-20d77252c0bf@zlw.email>
 <A9FCD688-3CA2-484A-ADC1-F1235F18890F@arm.com>
 <75bbfc8c-b89f-9478-63af-c37fda0ad3c0@zlw.email>
From: Julien Grall <julien@xen.org>
In-Reply-To: <75bbfc8c-b89f-9478-63af-c37fda0ad3c0@zlw.email>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 12/12/2022 05:49, sisyphean wrote:
> Hi,

Hi,

When submitting a bug report for Arm, can you please CC the Arm maintainers?

> 在 2022/12/9 17:50, Rahul Singh 写道:
> After setting XEN and kernel as above, I tried the following two methods 
> to add a PCIE device passthrough:
> 
> 1. According to your suggestion, use the command xl pci-assignable-add 
> 0002:21:00.0 to set in the Dom0. But in function
> iommu_do_pci_domctl,  after device_assigned is called, ENODEV error is 
> obtained.
> 
> 2. Add xen-pciback.hide=(0002:21:00.0) to dom0-bootargs in the device 
> tree, I encountered the same problem as before
> when initializing the kernel. In function pci_add_device, PCIE devices 
> cannot be added to SMMUv3.
> 
> The kernel version I use is 5.10. Does this have an impact?
> 
> In addition, an error was encountered after XEN enabling ITS:
> 
> In function gicv3_cpu_init, gicv3_its_setup_collection return 
> -ETIMEDOUT. This problem was solved after I made the
> following changes:
> 
> diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
> index 9558bad..a12c0d1 100644
> --- a/xen/arch/arm/gic-v3-its.c
> +++ b/xen/arch/arm/gic-v3-its.c
> @@ -118,11 +118,11 @@ static int its_send_command(struct host_its 
> *hw_its, const void *its_cmd)
>       }
> 
>       memcpy(hw_its->cmd_buf + writep, its_cmd, ITS_CMD_SIZE);
> -    if ( hw_its->flags & HOST_ITS_FLUSH_CMD_QUEUE )
> +    // if ( hw_its->flags & HOST_ITS_FLUSH_CMD_QUEUE )

This is suggesting that the logic in its_map_cbaser() doesn't detect the 
command queue is uncacheable.

Looking at the code, Xen will write the register with the shareability 
it wants and then read back to confirm the ITS "accept it". If it didn't 
accept, then we will use uncacheable.

Can you print the value read from the ITS in its_map_cbaser()?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:09:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:09:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459354.717071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fks-0002rZ-Aa; Mon, 12 Dec 2022 10:09:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459354.717071; Mon, 12 Dec 2022 10:09:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fks-0002rS-7w; Mon, 12 Dec 2022 10:09:50 +0000
Received: by outflank-mailman (input) for mailman id 459354;
 Mon, 12 Dec 2022 10:09:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Osd=4K=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p4fkr-0002rI-7u
 for xen-devel@lists.xen.org; Mon, 12 Dec 2022 10:09:49 +0000
Received: from mail-pg1-x52e.google.com (mail-pg1-x52e.google.com
 [2607:f8b0:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1aac9c77-7a05-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 11:09:48 +0100 (CET)
Received: by mail-pg1-x52e.google.com with SMTP id s196so7850204pgs.3
 for <xen-devel@lists.xen.org>; Mon, 12 Dec 2022 02:09:46 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 v7-20020aa799c7000000b0055f209690c0sm5420563pfi.50.2022.12.12.02.09.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 12 Dec 2022 02:09:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1aac9c77-7a05-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=g+ck/6s0uEGW3Re0NhZjSPZg1E1YnAhnPK1yQJonRaw=;
        b=sYF5OkanDbqCDtZkVXhGNWkWHtfR3FOut35EvalQlJVvEvKkfh62wIKxBnK8l4TZX7
         mP4H9r1Js2PRHLZstf4GnbDun2lh9HrD6KBDWuCspEqkPZVg5MJs/4lefFqhyTuciUUM
         eeYANpkiquNs9q5ng6sRxNbewxtFd7OlifyLdpLZ6fFbfpfZXrgOXP6l5YB0rRLlaVYp
         NcE68B1dIOk3ZId7+7ocg8M6vouI/j1RSXZgfVm8be9wVawns6S4BfbKMD7Xi2eecZmb
         WaRFMuIiFc/20/oPv9bzhDAcFX2NgH0jhwbhg1TfHIBpwZTlgL7mBebdz5yz4hRLlBdG
         5vRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=g+ck/6s0uEGW3Re0NhZjSPZg1E1YnAhnPK1yQJonRaw=;
        b=BKrr7uZ72H+Y56Dg0RE8HH4Pr1s/URfnFulMqH2xb7N8JIexh7O1eg/kxsIi2FTcqh
         V8eOFqOQSVpKRot1f80OCloCI48IOzH+4Y+BNyrXNnDFg5kysE51bRn0wRiLK7y87oV8
         2fEYarMwpIZivSWEAFpjpYz0m1tPluag5qHB59WcOdiyFDNJEsofSR+8AizU3YWQzmdq
         PsizKJqskIeSyLjKWye3simC4Nf/Ve7bO3mwINbAPs8RFj27Od8icOUrQSMpbCUYY7/S
         5alWY/OqmRQcPyrhj9mG62BSNoiDZd1qB8m/LmpjwuQL9yjtfFzTCgd7T+sGO+baDeJm
         WGJg==
X-Gm-Message-State: ANoB5plXrSygzhIisJZnOarXC/FCXQo6De9AyEY4hfSiTcwK4HFcjyB2
	1tl8On06Ddc82lXlgAdCa25edmnFq0PjOxBb
X-Google-Smtp-Source: AA0mqf5PgbWk8+Kqkp4wEHZo5a//rOkflu5sifFOtSo7M4mYY8X6gtD3gKd4JTxXziNGu1M6n3V5OA==
X-Received: by 2002:a05:6a00:1696:b0:56a:beee:d0a7 with SMTP id k22-20020a056a00169600b0056abeeed0a7mr19964854pfc.26.1670839785291;
        Mon, 12 Dec 2022 02:09:45 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [PATCH V8 0/3] toolstack support for generic virtio devices on Arm
Date: Mon, 12 Dec 2022 15:35:52 +0530
Message-Id: <cover.1670839220.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hello,

This patchset adds toolstack support for I2C, GPIO and generic virtio devices.
This is inspired from the work done by Oleksandr for the Disk device.

This is developed as part of Linaro's Project Stratos, where we are working
towards Hypervisor agnostic Rust based backends [1].

This is based of Xen's master branch.

V7->V8:
- Use macros for compatible string names.
- Use strcmp() instead of strncmp() at several places.
- Rename "virtio,devices" to "virtio,device" in commit log.
- Remove extra call to fdt_end_node().
- Disallow "unknown" in xenstore transport.
- Use libxl__strdup().
- Update documentation.
- Remove DEVICE_ADDREMOVE(virtio).

V6->V7:
- Support generic virtio devices too. They are passed with type=virtio,device,
  and we only create the MMIO DT node for them.
- Add links to DT bindings of I2C and GPIO, in code and documentation.
- Call libxl__device_add() for all hypervisor types.
- Add (0, "UNKNOWN") for libxl_virtio_transport.
- Removed libxl_virtio_backend and libxl_virtioinfo, as they were unused.
- Remove unnecessary stuff from libxl__virtio_from_xenstore() and add support
  for type and transport.
- Add backend=domid in documentation and replace compatible with type.
- Improved commit logs.

V5->V6:
- The cleanup patches are sent separately [2].
- We don't add I2C or GPIO specific device changes anymore, rather we create
  generic "virtio" devices. The "type" of a virtio devices helps us identify the
  right device, and create an entry in the DT node. The same can be used for all
  Virtio devices now.
- Update man page xl.cfg.

V4->V5:
- Fixed indentation at few places.
- Removed/added blank lines.
- Added few comments.
- Added review tags from Oleksandr.
- Rebased over latest staging branch.

V3->V4:
- Update virtio_enabled independently of all devices, so we don't miss setting
  it to true.

- Add iommu handling for i2c/gpio and move it as part of
  make_virtio_mmio_node_common(), which gets backend_domid parameter as a
  result.

V2->V3:
- Rebased over latest tree and made changes according to changes in Oleksandr's
  patches from sometime back.
- Minor cleanups.

V1->V2:
- Patches 3/6 and 4/6 are new.
- Patches 5/6 and 6/6 updated based on the above two patches.
- Added link to the bindings for I2C and GPIO.
- Rebased over latest master branch.


Thanks.

--
Viresh

[1] https://lore.kernel.org/xen-devel/20220414092358.kepxbmnrtycz7mhe@vireshk-i7/

Viresh Kumar (3):
  libxl: Add support for generic virtio device
  xl: Add support to parse generic virtio device
  docs: Add documentation for generic virtio devices

 docs/man/xl.cfg.5.pod.in                  |  33 +++++
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_arm.c              | 100 +++++++++++++++
 tools/libs/light/libxl_create.c           |   4 +
 tools/libs/light/libxl_internal.h         |   6 +
 tools/libs/light/libxl_types.idl          |  18 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/libs/light/libxl_virtio.c           | 144 ++++++++++++++++++++++
 tools/ocaml/libs/xl/genwrap.py            |   1 +
 tools/xl/xl_parse.c                       |  81 ++++++++++++
 10 files changed, 389 insertions(+)
 create mode 100644 tools/libs/light/libxl_virtio.c

-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:09:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:09:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459355.717082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fku-00037h-Ia; Mon, 12 Dec 2022 10:09:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459355.717082; Mon, 12 Dec 2022 10:09:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fku-00037a-Fx; Mon, 12 Dec 2022 10:09:52 +0000
Received: by outflank-mailman (input) for mailman id 459355;
 Mon, 12 Dec 2022 10:09:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Osd=4K=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p4fkt-000356-Hy
 for xen-devel@lists.xen.org; Mon, 12 Dec 2022 10:09:51 +0000
Received: from mail-pl1-x62e.google.com (mail-pl1-x62e.google.com
 [2607:f8b0:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1c840e50-7a05-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 11:09:50 +0100 (CET)
Received: by mail-pl1-x62e.google.com with SMTP id 17so4113231pll.0
 for <xen-devel@lists.xen.org>; Mon, 12 Dec 2022 02:09:49 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 gl7-20020a17090b120700b00218f9bd50c7sm5049114pjb.50.2022.12.12.02.09.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 12 Dec 2022 02:09:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c840e50-7a05-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a1OhuQIJQwLi/mECPz3+nkOM6kZnQjkXe5DIuu8yWRM=;
        b=W7aDKYeVvC2M4iAKKuobsZuf28O+E43xK2p3AlBXXT74VY5tOJLqiweuY1Mzk9sqg+
         iEi4iJyFkwbL15Lo9ra3gxJXS51Riiy1SyLj0R7+i2I/RN6KhZDTqY/USYgJBB1wdJOx
         URcUhvL1/Zkv2D/LoyFWcG5nIy+60Z5M2DSwcyN8iCP4ECYWYL4Ie9C30f7MkvcWBXoq
         p6nagauP+p+vx+o3/w1e1yjH0hxkBBMD9GnMqPoF+WyuX8eny/6FND95BlnOqhRIZNKb
         SdzvRlyzlm8s3zPwpmZ5tqjLzMnQo3uNCXZw2JxAQpisT+QJdV/iHmn2qbwXtlbdxe7N
         no3A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=a1OhuQIJQwLi/mECPz3+nkOM6kZnQjkXe5DIuu8yWRM=;
        b=j5etkyl5uMPCPcmWKDbHKcuHKFSFKsGawLDFoFGCWBguBuBYIguY3HwEMMJOP9Bwc6
         EAePgev9lTu7CDnoAzABUpEczaEWU36qft9yh4Is+LmFaZbCHjvBZqZgXp+Gu7emY7Dj
         C+dj0bZhRQQumEG+s7QA3QtPynJk0NrCuk4rV5VtfCmt5+wCvZKgjVF8Sf3Q8PykfLYz
         TtF9wa4n/a/U5eqblE4WasiMy9DO4qO6JiN0kXU0AAkKRdC5ao+R817xuZtL4Fr2ii72
         uZWYKsghP5FK//3sZ63tOhuawONwRk0NMPpLL6wOocJQ0Ar6n1zt8y0TwfeGiuBWFZoR
         wI/Q==
X-Gm-Message-State: ANoB5pkAWjtF/ZhX6kbRFuuV+Jss9/p2bcesdfOobo5jAhrtfeWxmmPq
	z6ICoP2Y4PNx8aSLie7AL6mEtX9kWWDR+Fa1
X-Google-Smtp-Source: AA0mqf4ePxrnTbRobA3yKw8AqMuRWfOI8Wvy2WMPLobxyEfmcNecBdjNfxZjGtKbUW/NxONZQKa/QA==
X-Received: by 2002:a17:90b:46ce:b0:219:e613:9006 with SMTP id jx14-20020a17090b46ce00b00219e6139006mr15766979pjb.41.1670839788372;
        Mon, 12 Dec 2022 02:09:48 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [PATCH V8 1/3] libxl: Add support for generic virtio device
Date: Mon, 12 Dec 2022 15:35:53 +0530
Message-Id: <0e58df1510d7d8c0186da6620882b7c4e4035ab0.1670839220.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1670839220.git.viresh.kumar@linaro.org>
References: <cover.1670839220.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for configuring and assisting generic
Virtio backends, which could run in any domain.

An example of domain configuration for mmio based Virtio I2C device is:
virtio = ["type=virtio,device22,transport=mmio"]

To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
region) and pass them to the backend and update guest device-tree to
create a DT node for the Virtio devices.

Add special support for I2C and GPIO devices, which require the
"compatible" DT property to be set, among other device specific
properties. Support for generic virtio devices is also added, which just
need a MMIO node but not any special DT properties, for such devices the
user needs to pass "virtio,device" in the "type" string.

The parsing of generic virtio device configurations will be done in a
separate commit.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_arm.c              | 100 +++++++++++++++
 tools/libs/light/libxl_create.c           |   4 +
 tools/libs/light/libxl_internal.h         |   6 +
 tools/libs/light/libxl_types.idl          |  18 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/libs/light/libxl_virtio.c           | 144 ++++++++++++++++++++++
 7 files changed, 274 insertions(+)
 create mode 100644 tools/libs/light/libxl_virtio.c

diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 374be1cfab25..4fddcc6f51d7 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -106,6 +106,7 @@ OBJS-y += libxl_vdispl.o
 OBJS-y += libxl_pvcalls.o
 OBJS-y += libxl_vsnd.o
 OBJS-y += libxl_vkb.o
+OBJS-y += libxl_virtio.o
 OBJS-y += libxl_genid.o
 OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index fa3d61f1e882..292b31881210 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -113,6 +113,19 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         }
     }
 
+    for (i = 0; i < d_config->num_virtios; i++) {
+        libxl_device_virtio *virtio = &d_config->virtios[i];
+
+        if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
+            continue;
+
+        rc = alloc_virtio_mmio_params(gc, &virtio->base, &virtio->irq,
+                                      &virtio_mmio_base, &virtio_mmio_irq);
+
+        if (rc)
+            return rc;
+    }
+
     /*
      * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
      * present, make sure that we allocate enough SPIs for them.
@@ -956,6 +969,79 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *fdt, uint64_t base,
     return fdt_end_node(fdt);
 }
 
+/*
+ * The DT bindings for GPIO device are present here:
+ *
+ * https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml
+ */
+static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt)
+{
+    int res;
+
+    res = fdt_begin_node(fdt, "i2c");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_I2C);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
+/*
+ * The DT bindings for GPIO device are present here:
+ *
+ * https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml
+ */
+static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt)
+{
+    int res;
+
+    res = fdt_begin_node(fdt, "gpio");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_GPIO);
+    if (res) return res;
+
+    res = fdt_property(fdt, "gpio-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#gpio-cells", 2);
+    if (res) return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 2);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
+static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt, uint64_t base,
+                                        uint32_t irq, const char *type,
+                                        uint32_t backend_domid)
+{
+    int res;
+
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
+    if (res) return res;
+
+    /* Add device specific nodes */
+    if (!strcmp(type, VIRTIO_DEVICE_TYPE_I2C)) {
+        res = make_virtio_mmio_node_i2c(gc, fdt);
+        if (res) return res;
+    } else if (!strcmp(type, VIRTIO_DEVICE_TYPE_GPIO)) {
+        res = make_virtio_mmio_node_gpio(gc, fdt);
+        if (res) return res;
+    } else if (strcmp(type, VIRTIO_DEVICE_TYPE_GENERIC)) {
+        /* Doesn't match generic virtio device */
+        LOG(ERROR, "Invalid type for virtio device: %s", type);
+        return -EINVAL;
+    }
+
+    return fdt_end_node(fdt);
+}
+
 static const struct arch_info *get_arch_info(libxl__gc *gc,
                                              const struct xc_dom_image *dom)
 {
@@ -1277,6 +1363,20 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
             }
         }
 
+        for (i = 0; i < d_config->num_virtios; i++) {
+            libxl_device_virtio *virtio = &d_config->virtios[i];
+
+            if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
+                continue;
+
+            if (virtio->backend_domid != LIBXL_TOOLSTACK_DOMID)
+                iommu_needed = true;
+
+            FDT( make_virtio_mmio_node_device(gc, fdt, virtio->base,
+                                              virtio->irq, virtio->type,
+                                              virtio->backend_domid) );
+        }
+
         /*
          * The iommu node should be created only once for all virtio-mmio
          * devices.
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 612eacfc7fac..beec3f6b6fec 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -1752,6 +1752,10 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
         libxl__device_add(gc, domid, &libxl__pvcallsif_devtype,
                           &d_config->pvcallsifs[i]);
 
+    for (i = 0; i < d_config->num_virtios; i++)
+        libxl__device_add(gc, domid, &libxl__virtio_devtype,
+                          &d_config->virtios[i]);
+
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
     {
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index a7c447c10e5f..97e1e66d98af 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -166,6 +166,11 @@
 /* Convert pfn to physical address space. */
 #define pfn_to_paddr(x) ((uint64_t)(x) << XC_PAGE_SHIFT)
 
+/* Virtio device types */
+#define VIRTIO_DEVICE_TYPE_GENERIC   "virtio,device"
+#define VIRTIO_DEVICE_TYPE_GPIO      "virtio,device22"
+#define VIRTIO_DEVICE_TYPE_I2C       "virtio,device29"
+
 /* logging */
 _hidden void libxl__logv(libxl_ctx *ctx, xentoollog_level msglevel, int errnoval,
              const char *file /* may be 0 */, int line /* ignored if !file */,
@@ -4003,6 +4008,7 @@ static inline int *libxl__device_type_get_num(
 
 extern const libxl__device_type libxl__vfb_devtype;
 extern const libxl__device_type libxl__vkb_devtype;
+extern const libxl__device_type libxl__virtio_devtype;
 extern const libxl__device_type libxl__disk_devtype;
 extern const libxl__device_type libxl__nic_devtype;
 extern const libxl__device_type libxl__vtpm_devtype;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 9e3d33cb5a59..0cfad8508dbd 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -278,6 +278,11 @@ libxl_vkb_backend = Enumeration("vkb_backend", [
     (2, "LINUX")
     ])
 
+libxl_virtio_transport = Enumeration("virtio_transport", [
+    (0, "UNKNOWN"),
+    (1, "MMIO"),
+    ])
+
 libxl_passthrough = Enumeration("passthrough", [
     (0, "default"),
     (1, "disabled"),
@@ -703,6 +708,18 @@ libxl_device_vkb = Struct("device_vkb", [
     ("multi_touch_num_contacts", uint32)
     ])
 
+libxl_device_virtio = Struct("device_virtio", [
+    ("backend_domid", libxl_domid),
+    ("backend_domname", string),
+    ("type", string),
+    ("transport", libxl_virtio_transport),
+    ("devid", libxl_devid),
+    # Note that virtio-mmio parameters (irq and base) are for internal
+    # use by libxl and can't be modified.
+    ("irq", uint32),
+    ("base", uint64)
+    ])
+
 libxl_device_disk = Struct("device_disk", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
@@ -980,6 +997,7 @@ libxl_domain_config = Struct("domain_config", [
     ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
     ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
     ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
+    ("virtios", Array(libxl_device_virtio, "num_virtios")),
     ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
     ("p9s", Array(libxl_device_p9, "num_p9s")),
     ("pvcallsifs", Array(libxl_device_pvcallsif, "num_pvcallsifs")),
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index fb0f4f23d7c2..e24288f1a59e 100644
--- a/tools/libs/light/libxl_types_internal.idl
+++ b/tools/libs/light/libxl_types_internal.idl
@@ -33,6 +33,7 @@ libxl__device_kind = Enumeration("device_kind", [
     (15, "VSND"),
     (16, "VINPUT"),
     (17, "VIRTIO_DISK"),
+    (18, "VIRTIO"),
     ])
 
 libxl__console_backend = Enumeration("console_backend", [
diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virtio.c
new file mode 100644
index 000000000000..6a38def2faf5
--- /dev/null
+++ b/tools/libs/light/libxl_virtio.c
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_internal.h"
+
+static int libxl__device_virtio_setdefault(libxl__gc *gc, uint32_t domid,
+                                           libxl_device_virtio *virtio,
+                                           bool hotplug)
+{
+    return libxl__resolve_domid(gc, virtio->backend_domname,
+                                &virtio->backend_domid);
+}
+
+static int libxl__device_from_virtio(libxl__gc *gc, uint32_t domid,
+                                     libxl_device_virtio *virtio,
+                                     libxl__device *device)
+{
+    device->backend_devid   = virtio->devid;
+    device->backend_domid   = virtio->backend_domid;
+    device->devid           = virtio->devid;
+    device->domid           = domid;
+
+    device->backend_kind    = LIBXL__DEVICE_KIND_VIRTIO;
+    device->kind            = LIBXL__DEVICE_KIND_VIRTIO;
+
+    return 0;
+}
+
+static int libxl__set_xenstore_virtio(libxl__gc *gc, uint32_t domid,
+                                      libxl_device_virtio *virtio,
+                                      flexarray_t *back, flexarray_t *front,
+                                      flexarray_t *ro_front)
+{
+    const char *transport = libxl_virtio_transport_to_string(virtio->transport);
+
+    flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->irq));
+    flexarray_append_pair(back, "base", GCSPRINTF("%lu", virtio->base));
+    flexarray_append_pair(back, "type", GCSPRINTF("%s", virtio->type));
+    flexarray_append_pair(back, "transport", GCSPRINTF("%s", transport));
+
+    flexarray_append_pair(front, "irq", GCSPRINTF("%u", virtio->irq));
+    flexarray_append_pair(front, "base", GCSPRINTF("%lu", virtio->base));
+    flexarray_append_pair(front, "type", GCSPRINTF("%s", virtio->type));
+    flexarray_append_pair(front, "transport", GCSPRINTF("%s", transport));
+
+    return 0;
+}
+
+static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
+                                       libxl_devid devid,
+                                       libxl_device_virtio *virtio)
+{
+    const char *be_path, *tmp = NULL;
+    int rc;
+
+    virtio->devid = devid;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/backend", libxl_path),
+                                  &be_path);
+    if (rc) goto out;
+
+    rc = libxl__backendpath_parse_domid(gc, be_path, &virtio->backend_domid);
+    if (rc) goto out;
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/irq", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        virtio->irq = strtoul(tmp, NULL, 0);
+    }
+
+    tmp = NULL;
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/base", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        virtio->base = strtoul(tmp, NULL, 0);
+    }
+
+    tmp = NULL;
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/transport", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        if (!strcmp(tmp, "mmio")) {
+            virtio->transport = LIBXL_VIRTIO_TRANSPORT_MMIO;
+        } else {
+            return ERROR_INVAL;
+        }
+    }
+
+    tmp = NULL;
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/type", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        int len = sizeof(VIRTIO_DEVICE_TYPE_GENERIC) - 1;
+
+        if (!strncmp(tmp, VIRTIO_DEVICE_TYPE_GENERIC, len)) {
+            virtio->type = libxl__strdup(NOGC, tmp);
+        } else {
+            return ERROR_INVAL;
+        }
+    }
+
+out:
+    return rc;
+}
+
+static LIBXL_DEFINE_UPDATE_DEVID(virtio)
+
+#define libxl__add_virtios NULL
+#define libxl_device_virtio_compare NULL
+
+DEFINE_DEVICE_TYPE_STRUCT(virtio, VIRTIO, virtios,
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_virtio,
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__virtio_from_xenstore,
+    .skip_attach = 1
+);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:09:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:09:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459356.717093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fky-0003QZ-0P; Mon, 12 Dec 2022 10:09:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459356.717093; Mon, 12 Dec 2022 10:09:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fkx-0003QS-T1; Mon, 12 Dec 2022 10:09:55 +0000
Received: by outflank-mailman (input) for mailman id 459356;
 Mon, 12 Dec 2022 10:09:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Osd=4K=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p4fkv-0002rI-Tk
 for xen-devel@lists.xen.org; Mon, 12 Dec 2022 10:09:54 +0000
Received: from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com
 [2607:f8b0:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e5413e3-7a05-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 11:09:53 +0100 (CET)
Received: by mail-pf1-x42e.google.com with SMTP id 130so8179889pfu.8
 for <xen-devel@lists.xen.org>; Mon, 12 Dec 2022 02:09:52 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 v66-20020a622f45000000b005754106e364sm5383662pfv.199.2022.12.12.02.09.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 12 Dec 2022 02:09:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e5413e3-7a05-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wZw/jcd26ULBLrGrTF2EhfE2I7WbIMOHWDnSInCc7qI=;
        b=oHOAIhgOWckbpTOOFOTGFxfhCmuxLPKjneh9C7pQVvRrmZO1ppf9S06XQsgLxsVaqb
         xC5D+57ryh9y+zMF4UebqSM3Fr9DXfypZkCjRpeWoI7LR0WxzMCgp3Q7MatLHEuNnQ4R
         Y5aa35vayUjojH5M1EuompOXcNRvYi8DtGFSmO0PSoMWqj2zOoxlT+F9xpqiZ0Y5FOyU
         qSrposgXOjBKcUCM6jfPMZ4Tk9a6+NzSsCzfw5kAbJ8MBxPRYr4Q43EYPSkdwcDT+w+z
         1IZgc353CcF35mE8BkUueDx8nZHXw9JyGu9Br1C/knEUEvFXhekXtV99gB4bpn8QcsEC
         anSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wZw/jcd26ULBLrGrTF2EhfE2I7WbIMOHWDnSInCc7qI=;
        b=Zclk1OsxeTeId4yNbEFf2GMHwqbdhCzZ3GV5FSfNrC16Xt4DSLgDGBrKqUfb0xpVy7
         /Ucakwl1mktItlbLh0FJWCXMTl4XbRXwHZ1231bncmLctL//ZO8MKt7KltBOlsAA3dh+
         OPgpXysk93FKi+PFZhtQS4DujsE5UkfX7nd/f1wrK/gDalzxGTCfUtw1sG9fwSef6U3y
         fdgON3qenDU5MZv+cByC6zfLc7dGFK9Nry6GfkBImhb+QNqsYRtecqRhGmcmY7NnqJsA
         qibMlpUsSqNzsuQdISmLf11yAwgBfo6mRvyeNaBj7raXDsc7Sku8C0cMSbOULUnl7yHR
         vqfg==
X-Gm-Message-State: ANoB5pk1LcObNF4od6LbIGY42cgdCSi6Wr3DcsYweA6hgWNiZizutR4k
	EPX4r+uxhfsS5014lXx7XYeS3xXRnhICx3uk
X-Google-Smtp-Source: AA0mqf4BnBFdxcZVU4c7nJvppc+tpje5u8YtLk9lhwpkHMRCEpn232Ip/mP+/tVqnsPM/rcQIEQrxw==
X-Received: by 2002:a62:87cc:0:b0:576:dc40:6db9 with SMTP id i195-20020a6287cc000000b00576dc406db9mr15885822pfe.13.1670839791435;
        Mon, 12 Dec 2022 02:09:51 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [PATCH V8 2/3] xl: Add support to parse generic virtio device
Date: Mon, 12 Dec 2022 15:35:54 +0530
Message-Id: <feed7e77fb1e986c3f4ab3cf4fef09a21537b0c6.1670839220.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1670839220.git.viresh.kumar@linaro.org>
References: <cover.1670839220.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for parsing generic Virtio backend.

An example of domain configuration for mmio based Virtio I2C device is:
virtio = ["type=virtio,device22,transport=mmio"]

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/ocaml/libs/xl/genwrap.py |  1 +
 tools/xl/xl_parse.c            | 81 ++++++++++++++++++++++++++++++++++
 2 files changed, 82 insertions(+)

diff --git a/tools/ocaml/libs/xl/genwrap.py b/tools/ocaml/libs/xl/genwrap.py
index 7bf26bdcd831..b188104299b1 100644
--- a/tools/ocaml/libs/xl/genwrap.py
+++ b/tools/ocaml/libs/xl/genwrap.py
@@ -36,6 +36,7 @@ DEVICE_LIST =      [ ("list",           ["ctx", "domid", "t list"]),
 functions = { # ( name , [type1,type2,....] )
     "device_vfb":     DEVICE_FUNCTIONS,
     "device_vkb":     DEVICE_FUNCTIONS,
+    "device_virtio":     DEVICE_FUNCTIONS,
     "device_disk":    DEVICE_FUNCTIONS + DEVICE_LIST +
                       [ ("insert",         ["ctx", "t", "domid", "?async:'a", "unit", "unit"]),
                         ("of_vdev",        ["ctx", "domid", "string", "t"]),
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 644ab8f8fd36..853e9f357a1a 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1208,6 +1208,83 @@ static void parse_vkb_list(const XLU_Config *config,
     if (rc) exit(EXIT_FAILURE);
 }
 
+static int parse_virtio_config(libxl_device_virtio *virtio, char *token)
+{
+    char *oparg;
+    int rc;
+
+    if (MATCH_OPTION("backend", token, oparg)) {
+        virtio->backend_domname = strdup(oparg);
+    } else if (MATCH_OPTION("type", token, oparg)) {
+        virtio->type = strdup(oparg);
+    } else if (MATCH_OPTION("transport", token, oparg)) {
+        rc = libxl_virtio_transport_from_string(oparg, &virtio->transport);
+        if (rc) return rc;
+    } else {
+        fprintf(stderr, "Unknown string \"%s\" in virtio spec\n", token);
+        return -1;
+    }
+
+    return 0;
+}
+
+static void parse_virtio_list(const XLU_Config *config,
+                              libxl_domain_config *d_config)
+{
+    XLU_ConfigList *virtios;
+    const char *item;
+    char *buf = NULL, *oparg, *str = NULL;
+    int rc;
+
+    if (!xlu_cfg_get_list (config, "virtio", &virtios, 0, 0)) {
+        int entry = 0;
+        while ((item = xlu_cfg_get_listitem(virtios, entry)) != NULL) {
+            libxl_device_virtio *virtio;
+            char *p;
+
+            virtio = ARRAY_EXTEND_INIT(d_config->virtios, d_config->num_virtios,
+                                       libxl_device_virtio_init);
+
+            buf = strdup(item);
+
+            p = strtok(buf, ",");
+            while (p != NULL)
+            {
+                while (*p == ' ') p++;
+
+                // Type may contain a comma, do special handling.
+                if (MATCH_OPTION("type", p, oparg)) {
+                    if (!strncmp(oparg, "virtio", strlen("virtio"))) {
+                        char *p2 = strtok(NULL, ",");
+                        str = malloc(strlen(p) + strlen(p2) + 2);
+
+                        strcpy(str, p);
+                        strcat(str, ",");
+                        strcat(str, p2);
+                        p = str;
+                    }
+                }
+
+                rc = parse_virtio_config(virtio, p);
+                if (rc) goto out;
+
+                free(str);
+                str = NULL;
+                p = strtok(NULL, ",");
+            }
+
+            entry++;
+            free(buf);
+        }
+    }
+
+    return;
+
+out:
+    free(buf);
+    if (rc) exit(EXIT_FAILURE);
+}
+
 void parse_config_data(const char *config_source,
                        const char *config_data,
                        int config_len,
@@ -2753,6 +2830,10 @@ void parse_config_data(const char *config_source,
 
     parse_vkb_list(config, d_config);
 
+    d_config->virtios = NULL;
+    d_config->num_virtios = 0;
+    parse_virtio_list(config, d_config);
+
     xlu_cfg_get_defbool(config, "xend_suspend_evtchn_compat",
                         &c_info->xend_suspend_evtchn_compat, 0);
 
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:09:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:09:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459358.717104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fl0-0003jD-7i; Mon, 12 Dec 2022 10:09:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459358.717104; Mon, 12 Dec 2022 10:09:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fl0-0003j3-4v; Mon, 12 Dec 2022 10:09:58 +0000
Received: by outflank-mailman (input) for mailman id 459358;
 Mon, 12 Dec 2022 10:09:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Osd=4K=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p4fky-000356-Tw
 for xen-devel@lists.xen.org; Mon, 12 Dec 2022 10:09:57 +0000
Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com
 [2607:f8b0:4864:20::102d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 20434934-7a05-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 11:09:56 +0100 (CET)
Received: by mail-pj1-x102d.google.com with SMTP id u5so11467589pjy.5
 for <xen-devel@lists.xen.org>; Mon, 12 Dec 2022 02:09:56 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 ij28-20020a170902ab5c00b00177faf558b5sm5910850plb.250.2022.12.12.02.09.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 12 Dec 2022 02:09:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20434934-7a05-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qTElSs9N8xx49WAzju81gXq5LYR4Uou2wisGAI9T00k=;
        b=EF3qY8M304UEl9w7u6V5aWCv5LqcgvqRTPu/w8W/MZtkxrpg48T8YoZcjpcHGBTm6R
         BU3h27QIl4sr7ECPDstwiG1buv/p5HfUlrRn/qJr6KtFC5NzPsiN0G+JagQlaiqNKHF6
         K6MmoPervSFTFi5LGLoZLRYTsP1nemMAsxoSVZHxAdrPZwa79MfxFulOXM5exkdd6Wn2
         6VI7bG72g4bBNfvG3CXmFORDF4KGpSBi+MPSkLi5Irh1DKwEEpzQpY3QtbSsXsIhEznn
         jcrbx8di/OECqlHF5oYB1j8YoPEf7GizXoXNHzrF9u6k3T+eDz3U5PmAU28JfY057A9F
         5OLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qTElSs9N8xx49WAzju81gXq5LYR4Uou2wisGAI9T00k=;
        b=J2HRABVx5nz//mPrAbCLxdbv14RjdqRQgJy9mrcjy8oVkC0T/N0YQVUwKfAlyKN4Vb
         fkbcb5Brk696T2ai2J2L4RZfPJG8fN5sHMQulF+wU5+yAb3IEqq7HSI2ws9fXsJcD1X3
         vfNonsYQ3zW3AM7cP7IviOXXFe/inaAcVB3q4GyM0PsW7siVitjlZl3CNE4kILQcnztG
         FdxWz/rI7Q8ooyzjSenT2bMQdlRKQ6eiLVuTNOn7TdD8pa7Iqv4hJYKOQy96rnzScDmQ
         qKhrJJ0XwadNTN1vuKFMKgf713FJPQHt+zf/KC4wD9cRj6XhVhJhx1ipr905mOD5CbdN
         KWyA==
X-Gm-Message-State: ANoB5pkGxSwJIJvY+LCHm3H/je6bhzXWgWMN/ULNgaNIjFdpIZiaSKRj
	LGfizxjH5A+jERwkYibY1EYZz2jqJskjhAyO
X-Google-Smtp-Source: AA0mqf5Y4o5w8FyCRHm+mENBFXVvZgkuokIgMrpop/Ld1lh/qOOPHnqghmPpyB1ckw7q/lIIe27TPA==
X-Received: by 2002:a17:902:f78f:b0:188:59e2:5f91 with SMTP id q15-20020a170902f78f00b0018859e25f91mr18295517pln.59.1670839794768;
        Mon, 12 Dec 2022 02:09:54 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: [PATCH V8 3/3] docs: Add documentation for generic virtio devices
Date: Mon, 12 Dec 2022 15:35:55 +0530
Message-Id: <b427a95b2c051ecd12d8342d65a34aa16a1feebd.1670839220.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1670839220.git.viresh.kumar@linaro.org>
References: <cover.1670839220.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch updates xl.cfg man page with details of generic Virtio device
related information.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 docs/man/xl.cfg.5.pod.in | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index ec444fb2ba79..024bceeb61b2 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -1585,6 +1585,39 @@ Set maximum height for pointer device.
 
 =back
 
+=item B<virtio=[ "VIRTIO_DEVICE_STRING", "VIRTIO_DEVICE_STRING", ...]>
+
+Specifies the Virtio devices to be provided to the guest.
+
+Each B<VIRTIO_DEVICE_STRING> is a comma-separated list of C<KEY=VALUE> settings
+from the following list. As a special case, a single comma is allowed in the
+VALUE of the "type" KEY, where the VALUE is set with "virtio,device<N>".
+
+=over 4
+
+=item B<backend=domain-id>
+
+Specifies the backend domain name or id, defaults to dom0.
+
+=item B<type=STRING>
+
+Specifies the compatible string for the specific Virtio device. The same will be
+written in the Device Tree compatible property of the Virtio device. For
+example, "type=virtio,device22" for the I2C device, whose device-tree binding is
+present here:
+
+L<https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml>
+
+For generic virtio devices, where we don't need to set special or compatible
+properties in the Device Tree, the type field must be set to "virtio,device".
+
+=item B<transport=STRING>
+
+Specifies the transport mechanism for the Virtio device, only "mmio" is
+supported for now.
+
+=back
+
 =item B<tee="STRING">
 
 B<Arm only.> Set TEE type for the guest. TEE is a Trusted Execution
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:16:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:16:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459386.717115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4frS-00068r-TE; Mon, 12 Dec 2022 10:16:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459386.717115; Mon, 12 Dec 2022 10:16:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4frS-00068k-QU; Mon, 12 Dec 2022 10:16:38 +0000
Received: by outflank-mailman (input) for mailman id 459386;
 Mon, 12 Dec 2022 10:16:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8fsB=4K=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p4frR-00068O-Dt
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 10:16:37 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2059.outbound.protection.outlook.com [40.107.20.59])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f3269cc-7a06-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 11:16:36 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB9052.eurprd04.prod.outlook.com (2603:10a6:10:2e7::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Mon, 12 Dec
 2022 10:16:34 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 10:16:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f3269cc-7a06-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kXtCbDWF74U8a+PJiygDePglcU8ObDgULISazoubdZDCJOHvCb6SYqVaJzvWdGGuSzs5noadR4wIyZYnDOQ8BFnLcD7xvsWxqrvrpuKjIcOsCk8e0PldRTtCKs8T9rw3xhORyApJEg14VYVF8pbUtIJLh43cJohjnHWqb1UD4g7rkfyM/yR99C//+EUmHFvG11kDn4QeeixuMNoRwr498Sr+Xyvpj+jef05SU6U7QkAhL+rj0CPRjx/m8TgLL8Q51aU+D1EhxfKggBOv9zQCsRW00019iDmomeMhaNp2v+/N1Z102fdb5WGGmi7WJ7gCdmx3hPjtt0m4oIfIp48qvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4jbGHzMBvgmBaiIv9+VXOj2aJ1FlY6Hs46cyEtiVHGw=;
 b=mb61noCxPkFHaU301Xu0yB/pZtTOpYVmVhfdkWpVwlLJpNnkitH6CDuVa7xV6VvSlGEVkGURCDqZY0lRMlg0nKLvX7tBsbIOjXzGUpPjOrTFLvRPD1hNviaocDbkVZXWtOQS13ufOq7RRC/Nzq8SdOYInRK67Mnc8kN6s6K+UWynj+haylVAusw0T85eGwa6AmhrTw3ay2ajqXVd+gNu5JUqzfZu73z9fTUxaj3Ztf9yDL7nMZoRfAc929g8T8fSYNTchtb3Bnju1pe4TZ08GFoBUD0Hc+9cArUnQ58VtpDe6XvxXluq0lHgz+rA1MQl+jwQ2ickK0IqkJhDa4YHiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4jbGHzMBvgmBaiIv9+VXOj2aJ1FlY6Hs46cyEtiVHGw=;
 b=noywfDX4omvu7C9VN9ZT98FRhz6nL37FXOLno7wOid/JlYLeLCZnWUnL5QSACMmBe5iSjaf6Jje4ccDLK63FZdg81s2YUSyAq/gg+nXjTw+ISUgLA71qUCwEQKYlmcgdOgwyxvg/sHyGGcK9QS5czfulxrtToaDcl/Wzii1cpzDgKoRv6e2/xFTECekc+UmVeixIZHrJ+tGw4KVLSAul+CC8HIzG5w3RB5Uh1qxDdRX4tVTHIkJQuujoPmd67QE2oc2JEkE8bdQ4XZo1j3xRMK3ONHoKC23/5P4OSZ+GvGLgpGwErK0byXLiU2/TGnDVlmGd/zNQX3DdGjmTYBwAAw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2db63a4f-10ca-8612-cf12-4ab7392bb4f4@suse.com>
Date: Mon, 12 Dec 2022 11:16:32 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2-ish] x86/boot: Relocate Xen using memcpy() directly
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20211207105339.28440-1-andrew.cooper3@citrix.com>
 <20221209214244.17965-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221209214244.17965-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB9052:EE_
X-MS-Office365-Filtering-Correlation-Id: ab000489-0684-48af-06a9-08dadc29f1ad
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NIcP0szyqm91ThRBE2Mq223kPTp1QFDQIbH4dEIPl1oC3aWxiULsmHJKkbAO0N4Gn5c4yvY1irmLlgGy0mEMUHoWthBIEuxVvJuz8hcoczw8HUeAN3lv7qRe+3dkWT2AIQ/0IXN5ucmKoJrWOKK4UvzMUUmNlzbJEGi0WD/SoBJqHIgjNpZGEtZFq0kl4SX4NZJ1mZH3UxLwRklMLN7/Bj57erDsNZVGSUWdSXKwQy+qEcHlyFfrN1SH0AxR+kfXXzvORsEl/iVAmxytJydC1PG8lzAQ7EyMUd8PfsUVEG/+qcNSsJQhZBIdjwoax5eawZdwNicdhnovuWuGsPEKMJVCKuQ/2xMi5EsczmnLEcR/0fWHb+yE4HX2B/OlP772sA41vEEKHsf4osgMfkI6dSEX7beYIVqJiuiNO+M9NbvhkGddtfTjOfhsVHlizM2St3G6/d4o3OETUpwL4Z49/cIXKYEU5GiRAoz+v+8SgfBCSS44BF4l5C8Fn0R9OFEUz5e0Xf4eDbwOSyDgTDQQcUIRqDTleVVeDbKrMCnS1WyGS4QRggfN9esxuEroXBKgc7qx9YWelk1aAAj9akSlVliayvxhLDsQ0tgHnGl5zS3c9pW0lKkDLcPAE5T5ODh7wU5Y2wjOLov01LPldc/ozC51JuOs8ysDxk/GABP/2tNxlXoi2eiPcFxvSu9TlllWswah2CbIpXxvM3lBiLHa0FT/L/5OIbckYLMj8umBzZY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(346002)(376002)(39860400002)(136003)(451199015)(38100700002)(36756003)(86362001)(6506007)(31696002)(6916009)(53546011)(478600001)(316002)(6486002)(26005)(31686004)(6512007)(4744005)(2906002)(54906003)(41300700001)(186003)(8676002)(4326008)(2616005)(66946007)(66556008)(66476007)(5660300002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QkxvdmE5RXkyRGp2dlMxM2NPUk5mbytueUdqMC9XM2R2NFZWRW5Jd1hqTlJZ?=
 =?utf-8?B?cFJPOTdMaHVCZzJ0dEk1SmdxdTJHd1NUeDlDK0pGWW8rSVZoUHFUdnJuUGFo?=
 =?utf-8?B?NjhvY2c0NW9oMElPZ29hZmV6cUFTMTh4cnQyVi9QUEdYVmQza0tJSVZUUTUr?=
 =?utf-8?B?M2xJeXdMeFlSRE9MYnQyKzhvQkpFTk9RM1E1V1pZcjBzR1Vnb2JXb09FVXFY?=
 =?utf-8?B?VVBWSU5YTm1uUHB5QzQ0eWExY3R6NnJHdVdwVThaVFo5NEpSSml6RDFKdi9V?=
 =?utf-8?B?V1FxQ2tBUUd5WFMveEVLUTlxUk04YmhESmZKQ00yY09CTW1lWjl1NlpyNGR0?=
 =?utf-8?B?N0g5ejlyZzhrOXhzYmJKRWt6Tkhua2xZaUp0L2t2UWF6eUxUOTRRK3F0eGMz?=
 =?utf-8?B?UlUySFpDckdCZGxUQTZjN0xpTEZ5UTAva0UrUm5ZbXNIR2Mxa2FPcTVrVElw?=
 =?utf-8?B?Qi9kZCtrWENkMEs3c2svL2h5eHBBWTRzMjJMR3BrNkJQaWx4MHhTQmJKT2Yz?=
 =?utf-8?B?SjJaVEwrT2JJZ1pFc0pmZkhhaTltdDBPajRmTXFJbnRxRFlVTHhvbThyYUZa?=
 =?utf-8?B?QzdwRHRLd0JScFNGKy9TT2NPSkZEZm91S3g3emRnV1psL2ppc0x0MTl3RzBJ?=
 =?utf-8?B?c0ZKUTZLaFZyb3ZLUlIvSk91MzdUR2wvNEFkVEhvUkdDSzNUbHY1RUNvQis5?=
 =?utf-8?B?V2VCMDRXUHkvQU5wRDJWcmovQk9QYnpDWmVFNnNFTDI1V0FxNHFGS3QxTzBy?=
 =?utf-8?B?N21NTjZ5MlFEWUhVanpUYTNtQW52MUZvNUJPR2lrVmt3MTV0RzB0Rkh3eG9L?=
 =?utf-8?B?dlVPVmpDOFBYL3VzbWNRRDN1M3AxQW1mbVR3eUVjam5UUGt0QmRKWi83UHBl?=
 =?utf-8?B?ZmY5MDBqODBDdGU1RHFFV25JZ3ZoajhrNTNELytyeHUvMzNLdEtTbWNQc3FG?=
 =?utf-8?B?MWdhb1ZpTC9VV1pVWDMydElHMVZFSy9JcVNxVTBxK0FybklMWjBjV1M1Y0dB?=
 =?utf-8?B?Y3VXT1dWNFBkNDRQNUpXZXgzeXVxTWM3UlBhUURsLy9XL3BTcVFLWjhvREk5?=
 =?utf-8?B?Rlp4OWtrTy81V3Z2NDVrSjVmcnJoMjdBSXFxSy9NRzBHc2lzUjBYWVhyZ3hC?=
 =?utf-8?B?Q1hHYlc0TlJnTHp2SWRiNnF5NVhlSDR5cHdYelE1cmhyZ05nT1o4bkJKbDEy?=
 =?utf-8?B?MXhETC9vTThHKy85YUhUREVwTGJ1WnBhdDVyVDhDWis2UzRXMjgyT2ZlMWlP?=
 =?utf-8?B?YzJYOXprdHE2SXF0L29PWGd2VE5pTklwOEVUdHBldkZzczJtYVJycEQ1eU1z?=
 =?utf-8?B?YnZsNWRhaEZzLzNaeTNsTGFVVkN4RHA4eHo1ZnlSc1ZQb3RpM1hNdXU1S1BJ?=
 =?utf-8?B?am41bEhvVXJia3RvZG9XSVlZSFdOOUVQeksvcUpBUXZFTHMycUNRZHZMM1Z6?=
 =?utf-8?B?RHFZYjhpRlBvY3YzM2FsaUsxbDBreGV6NFZNdU80bnViM2haQWliYmUwbG13?=
 =?utf-8?B?aG50cTgyeTRIQ3ZDVFZhL3I1VmVId21qa0JIclRkdk1yazM3dzRkNTdpcmNz?=
 =?utf-8?B?b1VCS2FqSUJUZWllK3lBQndzeTlhWTZWTjdiMjZJc0FKQXZ5R05tY3pYT29X?=
 =?utf-8?B?clJxdDRuaFFFdnBzbExkTzNzQ3VsQjhlZXZFaWlUTGVVL3NBOW5YdkZ4Z3dE?=
 =?utf-8?B?dW8zaWdoZTdhSmtISTBKcGVYcEQ5eUlRanhqZ25NdjN3Y0VpMnZlQWNMdm15?=
 =?utf-8?B?SzJlUmtRSVV4TnhqYnRIMWVsYnhDaXFyTDFvck15bDJJeWF5WGVhdjZBZWxP?=
 =?utf-8?B?Y3BMR1RuUml5T3NGak4wanlzZTlkUSs5MHNCR2o5TFpTejZnK1FtbnhkVVJZ?=
 =?utf-8?B?NEhtMFk2aVZrUGhPdlI3c05jZU1HbnM5ZFlrdWZYSUZubmtxWG1tTzZlUW9J?=
 =?utf-8?B?bHByQUt2YXpkZ3c4RXhxcHBCQXdTS2dITm5CUFpEeHJtdE1uOXo4c1EvNnA1?=
 =?utf-8?B?WmZwOGFzeE9tMXptUmE4M3p4aHdieG40bXV3SmJnbUJmdFZzQTdoY2ZzekVD?=
 =?utf-8?B?bnJPYVJDSDNzdUQyRXNlU0pyK1V1d1lPdjZWbmQydG5wTzh4SkJtQm1sYzZj?=
 =?utf-8?Q?kZEgANhxbsX2OCg4KPvQu73HT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ab000489-0684-48af-06a9-08dadc29f1ad
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 10:16:33.7139
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7J1X6gtHmVd61jY1J9vwo8cbDXwDHZmpaq7MSqZGGSO/yU+rxSKnXPR8m/71NeXOnmfztDPb0Waujoz+o4ZUYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9052

On 09.12.2022 22:42, Andrew Cooper wrote:
> We can relocate Xen by reading out of the virtual mapping that we're executing
> on, and write directly into the directmap.  In fact, this removes one
> dependency on Xen being "at 0" (the XEN_IMG_OFFSET passed as src) for
> relocation to occur.
> 
> This removes all the temporary pagetable handling under the covers of
> move_memory(), and results in a forward copy rather than a chunked backwards
> copy (caused by move_memory() always constructing src and dst in a way to
> trigger memmove() to copy backwards).
> 
> With the penultimate caller of move_memory() dropped, clean up the API.  Drop
> the keep boolean, folding in 0 from the final caller, and drop the return
> address which has been unused since c/s 0b76ce20de85 ("x86/setup: don't
> relocate the VGA hole.") in 2007.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:17:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:17:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459394.717125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsR-0006gx-5c; Mon, 12 Dec 2022 10:17:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459394.717125; Mon, 12 Dec 2022 10:17:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsR-0006gq-34; Mon, 12 Dec 2022 10:17:39 +0000
Received: by outflank-mailman (input) for mailman id 459394;
 Mon, 12 Dec 2022 10:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fsP-0006fr-Mc
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 10:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fsP-0002CL-7f; Mon, 12 Dec 2022 10:17:37 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fXH-0001lz-J1; Mon, 12 Dec 2022 09:55:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=uoxt9zlWYusSEXWO/hbUttfjlw2K0HtdHIJ5N33p0QI=; b=Kh+IPM0V6DxDeapnZnbGpD+TRw
	edIel+cA6MF+7wPFXfTSyJKAQy6eBnuqOrBtBDQa1Yr8U6len2K9Q5Z6pZCtGO++vTNoHaqPDc9PD
	+iuQQEH57LCSciENmZQtYMtwFGFaxSq36wUMd+LqkNAD0/P4/SIovqkNFpKMG9EdANUg=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 18/18] xen/arm64: mm: Rework switch_ttbr()
Date: Mon, 12 Dec 2022 09:55:23 +0000
Message-Id: <20221212095523.52683-19-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, switch_ttbr() is switching the TTBR whilst the MMU is
still on.

Switching TTBR is like replacing existing mappings with new ones. So
we need to follow the break-before-make sequence.

In this case, it means the MMU needs to be switched off while the
TTBR is updated. In order to disable the MMU, we need to first
jump to an identity mapping.

Rename switch_ttbr() to switch_ttbr_id() and create an helper on
top to temporary map the identity mapping and call switch_ttbr()
via the identity address.

switch_ttbr_id() is now reworked to temporarily turn off the MMU
before updating the TTBR.

We also need to make sure the helper switch_ttbr() is part of the
identity mapping. So move _end_boot past it.

The arm32 code will use a different approach. So this issue is for now
only resolved on arm64.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---

    Changes in v2:
        - Remove the arm32 changes. This will be addressed differently
        - Re-instate the instruct cache flush. This is not strictly
          necessary but kept it for safety.
        - Use "dsb ish"  rather than "dsb sy".

    TODO:
        * Handle the case where the runtime Xen is loaded at a different
          position for cache coloring. This will be dealt separately.
---
 xen/arch/arm/arm64/head.S     | 50 +++++++++++++++++++++++------------
 xen/arch/arm/arm64/mm.c       | 39 +++++++++++++++++++++++++++
 xen/arch/arm/include/asm/mm.h |  2 ++
 xen/arch/arm/mm.c             | 14 +++++-----
 4 files changed, 82 insertions(+), 23 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 663f5813b12e..1f69864492b6 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -816,30 +816,46 @@ ENDPROC(fail)
  * Switch TTBR
  *
  * x0    ttbr
- *
- * TODO: This code does not comply with break-before-make.
  */
-ENTRY(switch_ttbr)
-        dsb   sy                     /* Ensure the flushes happen before
-                                      * continuing */
-        isb                          /* Ensure synchronization with previous
-                                      * changes to text */
-        tlbi   alle2                 /* Flush hypervisor TLB */
-        ic     iallu                 /* Flush I-cache */
-        dsb    sy                    /* Ensure completion of TLB flush */
+ENTRY(switch_ttbr_id)
+        /* 1) Ensure any previous read/write have completed */
+        dsb    ish
+        isb
+
+        /* 2) Turn off MMU */
+        mrs    x1, SCTLR_EL2
+        bic    x1, x1, #SCTLR_Axx_ELx_M
+        msr    SCTLR_EL2, x1
+        isb
+
+        /*
+         * 3) Flush the TLBs.
+         * See asm/arm64/flushtlb.h for the explanation of the sequence.
+         */
+        dsb   nshst
+        tlbi  alle2
+        dsb   nsh
+        isb
+
+        /* 4) Update the TTBR */
+        msr   TTBR0_EL2, x0
         isb
 
-        msr    TTBR0_EL2, x0
+        /*
+         * 5) Flush I-cache
+         * This should not be necessary but it is kept for safety.
+         */
+        ic     iallu
+        isb
 
-        isb                          /* Ensure synchronization with previous
-                                      * changes to text */
-        tlbi   alle2                 /* Flush hypervisor TLB */
-        ic     iallu                 /* Flush I-cache */
-        dsb    sy                    /* Ensure completion of TLB flush */
+        /* 5) Turn on the MMU */
+        mrs   x1, SCTLR_EL2
+        orr   x1, x1, #SCTLR_Axx_ELx_M  /* Enable MMU */
+        msr   SCTLR_EL2, x1
         isb
 
         ret
-ENDPROC(switch_ttbr)
+ENDPROC(switch_ttbr_id)
 
 #ifdef CONFIG_EARLY_PRINTK
 /*
diff --git a/xen/arch/arm/arm64/mm.c b/xen/arch/arm/arm64/mm.c
index 9eaf545ea9dd..2ede4e75ae33 100644
--- a/xen/arch/arm/arm64/mm.c
+++ b/xen/arch/arm/arm64/mm.c
@@ -31,6 +31,15 @@ static void __init prepare_boot_identity_mapping(void)
     lpae_t pte;
     DECLARE_OFFSETS(id_offsets, id_addr);
 
+    /*
+     * We will be re-using the boot ID tables. They may not have been
+     * zeroed but they should be unlinked. So it is fine to use
+     * clear_page().
+     */
+    clear_page(boot_first_id);
+    clear_page(boot_second_id);
+    clear_page(boot_third_id);
+
     if ( id_offsets[0] != 0 )
         panic("Cannot handled ID mapping above 512GB\n");
 
@@ -111,6 +120,36 @@ void update_identity_mapping(bool enable)
     BUG_ON(rc);
 }
 
+extern void switch_ttbr_id(uint64_t ttbr);
+
+typedef void (switch_ttbr_fn)(uint64_t ttbr);
+
+void __init switch_ttbr(uint64_t ttbr)
+{
+    vaddr_t id_addr = virt_to_maddr(switch_ttbr_id);
+    switch_ttbr_fn *fn = (switch_ttbr_fn *)id_addr;
+    lpae_t pte;
+
+    /* Enable the identity mapping in the boot page tables */
+    update_identity_mapping(true);
+    /* Enable the identity mapping in the runtime page tables */
+    pte = pte_of_xenaddr((vaddr_t)switch_ttbr_id);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+    pte.pt.ro = 1;
+    write_pte(&xen_third_id[third_table_offset(id_addr)], pte);
+
+    /* Switch TTBR */
+    fn(ttbr);
+
+    /*
+     * Disable the identity mapping in the runtime page tables.
+     * Note it is not necessary to disable it in the boot page tables
+     * because they are not going to be used by this CPU anymore.
+     */
+    update_identity_mapping(false);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 68adcac9fa8d..bff6923f3ea9 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -196,6 +196,8 @@ extern unsigned long total_pages;
 extern void setup_pagetables(unsigned long boot_phys_offset);
 /* Map FDT in boot pagetable */
 extern void *early_fdt_map(paddr_t fdt_paddr);
+/* Switch to a new root page-tables */
+extern void switch_ttbr(uint64_t ttbr);
 /* Remove early mappings */
 extern void remove_early_mappings(void);
 /* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 39e0d9e03c9c..cf23ae02d1b7 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -476,8 +476,6 @@ static void xen_pt_enforce_wnx(void)
     flush_xen_tlb_local();
 }
 
-extern void switch_ttbr(uint64_t ttbr);
-
 /* Clear a translation table and clean & invalidate the cache */
 static void clear_table(void *table)
 {
@@ -550,13 +548,17 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
     ttbr = (uintptr_t) cpu0_pgtable + phys_offset;
 #endif
 
-    switch_ttbr(ttbr);
-
-    xen_pt_enforce_wnx();
-
+    /*
+     * This needs to be setup first so switch_ttbr() can enable the
+     * identity mapping.
+     */
 #ifdef CONFIG_ARM_32
     per_cpu(xen_pgtable, 0) = cpu0_pgtable;
 #endif
+
+    switch_ttbr(ttbr);
+
+    xen_pt_enforce_wnx();
 }
 
 static void clear_boot_pagetables(void)
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:17:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:17:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459395.717131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsR-0006k1-Gv; Mon, 12 Dec 2022 10:17:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459395.717131; Mon, 12 Dec 2022 10:17:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsR-0006j6-A3; Mon, 12 Dec 2022 10:17:39 +0000
Received: by outflank-mailman (input) for mailman id 459395;
 Mon, 12 Dec 2022 10:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fsP-0006fw-Om
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 10:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fsP-0002CP-FQ; Mon, 12 Dec 2022 10:17:37 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fXA-0001lz-GT; Mon, 12 Dec 2022 09:55:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=7BYHXiV9Ygm1evOCo6RP3w31z6ld87x+1qxKVkr0GG0=; b=fB7zQ6Ia8jxJcC/Rkke4x/K8+7
	/q0qn8klt/dBz3MFVNVrjz7uojtDXoYdHno8P/zRuaCL6bdi8KDQNviM1DoPqIU7YrpXFYc33HARo
	BJla3r3ftg4697vNiVLjsLeb4lAGJz7Kn9i5cwDITzhRzC8+3aVCvaRPyHLYQq1Uh1cc=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 12/18] xen/arm64: Rework the memory layout
Date: Mon, 12 Dec 2022 09:55:17 +0000
Message-Id: <20221212095523.52683-13-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Xen is currently not fully compliant with the Arm Arm because it will
switch the TTBR with the MMU on.

In order to be compliant, we need to disable the MMU before
switching the TTBR. The implication is the page-tables should
contain an identity mapping of the code switching the TTBR.

In most of the case we expect Xen to be loaded in low memory. I am aware
of one platform (i.e AMD Seattle) where the memory start above 512GB.
To give us some slack, consider that Xen may be loaded in the first 2TB
of the physical address space.

The memory layout is reshuffled to keep the first two slots of the zeroeth
level free. Xen will now be loaded at (2TB + 2MB). This requires a slight
tweak of the boot code because XEN_VIRT_START cannot be used as an
immediate.

This reshuffle will make trivial to create a 1:1 mapping when Xen is
loaded below 2TB.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---

    Changes in v2:
        - Reword the commit message
        - Load Xen at 2TB + 2MB
        - Update the documentation to reflect the new layout
---
 xen/arch/arm/arm64/head.S         |  3 ++-
 xen/arch/arm/include/asm/config.h | 34 +++++++++++++++++++++----------
 xen/arch/arm/mm.c                 | 11 +++++-----
 3 files changed, 31 insertions(+), 17 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index ad014716db6f..23c2c7491db2 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -607,7 +607,8 @@ create_page_tables:
          * need an additional 1:1 mapping, the virtual mapping will
          * suffice.
          */
-        cmp   x19, #XEN_VIRT_START
+        ldr   x0, =XEN_VIRT_START
+        cmp   x19, x0
         bne   1f
         ret
 1:
diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 6c1b762e976d..9fe6bfeeeb95 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -72,15 +72,12 @@
 #include <xen/page-size.h>
 
 /*
- * Common ARM32 and ARM64 layout:
+ * ARM32 layout:
  *   0  -   2M   Unmapped
  *   2M -   4M   Xen text, data, bss
  *   4M -   6M   Fixmap: special-purpose 4K mapping slots
  *   6M -  10M   Early boot mapping of FDT
- *   10M - 12M   Livepatch vmap (if compiled in)
- *
- * ARM32 layout:
- *   0  -  12M   <COMMON>
+ *  10M -  12M   Livepatch vmap (if compiled in)
  *
  *  32M - 128M   Frametable: 24 bytes per page for 16GB of RAM
  * 256M -   1G   VMAP: ioremap and early_ioremap use this virtual address
@@ -90,8 +87,17 @@
  *   2G -   4G   Domheap: on-demand-mapped
  *
  * ARM64 layout:
- * 0x0000000000000000 - 0x0000007fffffffff (512GB, L0 slot [0])
- *   0  -  12M   <COMMON>
+ * 0x0000000000000000 - 0x00001fffffffffff (2TB, L0 slots [0..1])
+ *
+ *  Reserved to identity map Xen
+ *
+ * 0x0000020000000000 - 0x000028fffffffff (512TB, L0 slot [2]
+ *  (Relative offsets)
+ *   0  -   2M   Unmapped
+ *   2M -   4M   Xen text, data, bss
+ *   4M -   6M   Fixmap: special-purpose 4K mapping slots
+ *   6M -  10M   Early boot mapping of FDT
+ *  10M -  12M   Livepatch vmap (if compiled in)
  *
  *   1G -   2G   VMAP: ioremap and early_ioremap
  *
@@ -107,7 +113,17 @@
  *  Unused
  */
 
+#ifdef CONFIG_ARM_32
 #define XEN_VIRT_START          _AT(vaddr_t, MB(2))
+#else
+
+#define SLOT0_ENTRY_BITS  39
+#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
+#define SLOT0_ENTRY_SIZE  SLOT0(1)
+
+#define XEN_VIRT_START          (SLOT0(2) + _AT(vaddr_t, MB(2)))
+#endif
+
 #define XEN_VIRT_SIZE           _AT(vaddr_t, MB(2))
 
 #define FIXMAP_VIRT_START       (XEN_VIRT_START + XEN_VIRT_SIZE)
@@ -164,10 +180,6 @@
 
 #else /* ARM_64 */
 
-#define SLOT0_ENTRY_BITS  39
-#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
-#define SLOT0_ENTRY_SIZE  SLOT0(1)
-
 #define VMAP_VIRT_START  GB(1)
 #define VMAP_VIRT_SIZE   GB(1)
 
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index d0b1cf55f550..cc11f5c639e6 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -153,7 +153,7 @@ static void __init __maybe_unused build_assertions(void)
 #endif
     /* Page table structure constraints */
 #ifdef CONFIG_ARM_64
-    BUILD_BUG_ON(zeroeth_table_offset(XEN_VIRT_START));
+    BUILD_BUG_ON(zeroeth_table_offset(XEN_VIRT_START) < 2);
 #endif
     BUILD_BUG_ON(first_table_offset(XEN_VIRT_START));
 #ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
@@ -498,10 +498,11 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
     phys_offset = boot_phys_offset;
 
 #ifdef CONFIG_ARM_64
-    p = (void *) xen_pgtable;
-    p[0] = pte_of_xenaddr((uintptr_t)xen_first);
-    p[0].pt.table = 1;
-    p[0].pt.xn = 0;
+    pte = pte_of_xenaddr((uintptr_t)xen_first);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+    xen_pgtable[zeroeth_table_offset(XEN_VIRT_START)] = pte;
+
     p = (void *) xen_first;
 #else
     p = (void *) cpu0_pgtable;
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:17:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:17:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459396.717138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsR-0006oF-S2; Mon, 12 Dec 2022 10:17:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459396.717138; Mon, 12 Dec 2022 10:17:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsR-0006n2-Ho; Mon, 12 Dec 2022 10:17:39 +0000
Received: by outflank-mailman (input) for mailman id 459396;
 Mon, 12 Dec 2022 10:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fsP-0006fx-P2
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 10:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fsP-0002CN-C4; Mon, 12 Dec 2022 10:17:37 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fXF-0001lz-7N; Mon, 12 Dec 2022 09:55:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=7sixIYYX2BXkXchYlolNnqGqX331A7XAOK4eil8C98Q=; b=sIdAb+8tya0rDEJA2vdRsCmPMK
	w/P40eUiUsCFCYKx7Co4ZCb7gnkdjT4c2aMYLZQHrtkDCQpl2JeNhYg8OERvKLwgtF4oJsrwW1Q4C
	wwbB6XcPc3P6rEYM9agpZ2ROXWn7YiSnU4EnE2QCKb6r7Po22NWkLuJVEuHmN1BHdKRA=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 16/18] xen/arm: linker: Indent correctly _stext
Date: Mon, 12 Dec 2022 09:55:21 +0000
Message-Id: <20221212095523.52683-17-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

_stext is indented by one space more compare to the lines. This doesn't
seem warrant, so delete the extra space.

Signed-off: Julien Grall <jgrall@amazon.com>

---
    Changes in v3:
        - Patch added
---
 xen/arch/arm/xen.lds.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index 92c298405259..ae8c3b4c6c5f 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -31,7 +31,7 @@ SECTIONS
   . = XEN_VIRT_START;
   _start = .;
   .text : {
-        _stext = .;            /* Text section */
+       _stext = .;             /* Text section */
        *(.text.header)
 
        *(.text.cold)
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:17:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:17:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459397.717140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsS-0006ur-11; Mon, 12 Dec 2022 10:17:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459397.717140; Mon, 12 Dec 2022 10:17:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsR-0006sJ-QJ; Mon, 12 Dec 2022 10:17:39 +0000
Received: by outflank-mailman (input) for mailman id 459397;
 Mon, 12 Dec 2022 10:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fsP-0006g3-Pa
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 10:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fsP-0002Cd-Oo
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 10:17:37 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX8-0001lz-4u; Mon, 12 Dec 2022 09:55:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=thLN9GRgARu2d5wdiSa0+aWRH5og302Ma6lO+VTtnKg=; b=nA0OS6ufwBckgsvl5xengwFURd
	tI0AATD4mTie9iEAnV5XZJk3E18HB6ZJDSO/NsralL6WYIzu59W9VxNFfyB9xKLo1b6coeiS+j2cK
	ciIIxrzeRv/WVgRjkNTswygUEQ/UZE5aMZe63/ft2JmDTPKSEIWdiSQlzCJ3GMbYVkE4=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 10/18] xen/arm32: head: Widen the use of the temporary mapping
Date: Mon, 12 Dec 2022 09:55:15 +0000
Message-Id: <20221212095523.52683-11-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, the temporary mapping is only used when the virtual
runtime region of Xen is clashing with the physical region.

In follow-up patches, we will rework how secondary CPU bring-up works
and it will be convenient to use the fixmap area for accessing
the root page-table (it is per-cpu).

Rework the code to use temporary mapping when the Xen physical address
is not overlapping with the temporary mapping.

This also has the advantage to simplify the logic to identity map
Xen.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---

Even if this patch is rewriting part of the previous patch, I decided
to keep them separated to help the review.

The "folow-up patches" are still in draft at the moment. I still haven't
find a way to split them nicely and not require too much more work
in the coloring side.

I have provided some medium-term goal in the cover letter.

    Changes in v3:
        - Resolve conflicts after switching from "ldr rX, <label>" to
          "mov_w rX, <label>" in a previous patch

    Changes in v2:
        - Patch added
---
 xen/arch/arm/arm32/head.S | 82 +++++++--------------------------------
 1 file changed, 15 insertions(+), 67 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 50adb887ceaf..2658625bc775 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -459,7 +459,6 @@ ENDPROC(cpu_init)
 create_page_tables:
         /* Prepare the page-tables for mapping Xen */
         mov_w r0, XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
         create_table_entry boot_second, boot_third, r0, 2
 
         /* Setup boot_third: */
@@ -479,67 +478,37 @@ create_page_tables:
         cmp   r1, #(XEN_PT_LPAE_ENTRIES<<3) /* 512*8-byte entries per page */
         blo   1b
 
-        /*
-         * If Xen is loaded at exactly XEN_VIRT_START then we don't
-         * need an additional 1:1 mapping, the virtual mapping will
-         * suffice.
-         */
-        cmp   r9, #XEN_VIRT_START
-        moveq pc, lr
-
         /*
          * Setup the 1:1 mapping so we can turn the MMU on. Note that
          * only the first page of Xen will be part of the 1:1 mapping.
-         *
-         * In all the cases, we will link boot_third_id. So create the
-         * mapping in advance.
          */
+        create_table_entry boot_pgtable, boot_second_id, r9, 1
+        create_table_entry boot_second_id, boot_third_id, r9, 2
         create_mapping_entry boot_third_id, r9, r9
 
         /*
-         * Find the first slot used. If the slot is not XEN_FIRST_SLOT,
-         * then the 1:1 mapping will use its own set of page-tables from
-         * the second level.
+         * Find the first slot used. If the slot is not the same
+         * as XEN_TMP_FIRST_SLOT, then we will want to switch
+         * to the temporary mapping before jumping to the runtime
+         * virtual mapping.
          */
         get_table_slot r1, r9, 1     /* r1 := first slot */
-        cmp   r1, #XEN_FIRST_SLOT
-        beq   1f
-        create_table_entry boot_pgtable, boot_second_id, r9, 1
-        b     link_from_second_id
-
-1:
-        /*
-         * Find the second slot used. If the slot is XEN_SECOND_SLOT, then the
-         * 1:1 mapping will use its own set of page-tables from the
-         * third level.
-         */
-        get_table_slot r1, r9, 2     /* r1 := second slot */
-        cmp   r1, #XEN_SECOND_SLOT
-        beq   virtphys_clash
-        create_table_entry boot_second, boot_third_id, r9, 2
-        b     link_from_third_id
+        cmp   r1, #TEMPORARY_AREA_FIRST_SLOT
+        bne   use_temporary_mapping
 
-link_from_second_id:
-        create_table_entry boot_second_id, boot_third_id, r9, 2
-link_from_third_id:
-        /* Good news, we are not clashing with Xen virtual mapping */
+        mov_w r0, XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
         mov   r12, #0                /* r12 := temporary mapping not created */
         mov   pc, lr
 
-virtphys_clash:
+use_temporary_mapping:
         /*
-         * The identity map clashes with boot_third. Link boot_first_id and
-         * map Xen to a temporary mapping. See switch_to_runtime_mapping
-         * for more details.
+         * The identity mapping is not using the first slot
+         * TEMPORARY_AREA_FIRST_SLOT. Create a temporary mapping.
+         * See switch_to_runtime_mapping for more details.
          */
-        PRINT("- Virt and Phys addresses clash  -\r\n")
         PRINT("- Create temporary mapping -\r\n")
 
-        /*
-         * This will override the link to boot_second in XEN_FIRST_SLOT.
-         * The page-tables are not live yet. So no need to use
-         * break-before-make.
-         */
         create_table_entry boot_pgtable, boot_second_id, r9, 1
         create_table_entry boot_second_id, boot_third_id, r9, 2
 
@@ -675,33 +644,12 @@ remove_identity_mapping:
         /* r2:r3 := invalid page-table entry */
         mov   r2, #0x0
         mov   r3, #0x0
-        /*
-         * Find the first slot used. Remove the entry for the first
-         * table if the slot is not XEN_FIRST_SLOT.
-         */
+        /* Find the first slot used and remove it */
         get_table_slot r1, r9, 1     /* r1 := first slot */
-        cmp   r1, #XEN_FIRST_SLOT
-        beq   1f
-        /* It is not in slot 0, remove the entry */
         mov_w r0, boot_pgtable       /* r0 := root table */
         lsl   r1, r1, #3             /* r1 := Slot offset */
         strd  r2, r3, [r0, r1]
-        b     identity_mapping_removed
-
-1:
-        /*
-         * Find the second slot used. Remove the entry for the first
-         * table if the slot is not XEN_SECOND_SLOT.
-         */
-        get_table_slot r1, r9, 2     /* r1 := second slot */
-        cmp   r1, #XEN_SECOND_SLOT
-        beq   identity_mapping_removed
-        /* It is not in slot 1, remove the entry */
-        mov_w r0, boot_second        /* r0 := second table */
-        lsl   r1, r1, #3             /* r1 := Slot offset */
-        strd  r2, r3, [r0, r1]
 
-identity_mapping_removed:
         flush_xen_tlb_local r0
         mov   pc, lr
 ENDPROC(remove_identity_mapping)
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:17:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:17:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459398.717152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsS-00070w-JV; Mon, 12 Dec 2022 10:17:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459398.717152; Mon, 12 Dec 2022 10:17:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsS-0006y9-4k; Mon, 12 Dec 2022 10:17:40 +0000
Received: by outflank-mailman (input) for mailman id 459398;
 Mon, 12 Dec 2022 10:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fsP-0006gD-SB
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 10:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fsP-0002CR-HH; Mon, 12 Dec 2022 10:17:37 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fXG-0001lz-DC; Mon, 12 Dec 2022 09:55:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=ZGTi1zThIp+VUQ8tJlSSisRwmVvWp4XI48eN8oXi4Tw=; b=rjswrnAAF5OgLzMbILYUIK2t3H
	b1pKNrtbdntqdjM7uEKICfQjeEr9PPRKa6JP3QKoNBBVrEFbBJvsh71haoQ0sBSZgvHnCsuZNQ/2Z
	kjY7UKti19XwLs0ypiGUqn0OOTduUfDhNbJR5V2u+FJpAWpN029f7ol/A+ckVsXv7TYE=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 17/18] xen/arm: linker: The identitymap check should cover the whole .text.header
Date: Mon, 12 Dec 2022 09:55:22 +0000
Message-Id: <20221212095523.52683-18-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, we are only checking that only some part of .text.header
is part of the identity mapping. However, this doesn't take into account
the litteral pool which will be located at the end of the section.

While we could try to avoid using a literal pool, in the near future we
will also want to use an identity mapping for switch_ttbr().

Not everything in .text.header requires to be part of the identity
mapping. But it is below a page size (i.e. 4KB) so take a shortcut and
check that .text.header is smaller than a page size.

With that _end_boot can be removed as it is now unused. Take the
pportunity to avoid assuming that a page size is always 4KB in the
error message and comment.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---

    Changes in v3:
        - Patch added
---
 xen/arch/arm/arm32/head.S |  2 --
 xen/arch/arm/arm64/head.S |  2 --
 xen/arch/arm/xen.lds.S    | 10 +++++++---
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 2658625bc775..e47f90f15b3d 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -730,8 +730,6 @@ fail:   PRINT("- Boot failed -\r\n")
         b     1b
 ENDPROC(fail)
 
-GLOBAL(_end_boot)
-
 /*
  * Switch TTBR
  * r1:r0       ttbr
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 23c2c7491db2..663f5813b12e 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -812,8 +812,6 @@ fail:   PRINT("- Boot failed -\r\n")
         b     1b
 ENDPROC(fail)
 
-GLOBAL(_end_boot)
-
 /*
  * Switch TTBR
  *
diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index ae8c3b4c6c5f..3f7ebd19f3ed 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -32,7 +32,9 @@ SECTIONS
   _start = .;
   .text : {
        _stext = .;             /* Text section */
+       _idmap_start = .;
        *(.text.header)
+       _idmap_end = .;
 
        *(.text.cold)
        *(.text.unlikely .text.*_unlikely .text.unlikely.*)
@@ -225,10 +227,12 @@ SECTIONS
 }
 
 /*
- * We require that Xen is loaded at a 4K boundary, so this ensures that any
- * code running on the boot time identity map cannot cross a section boundary.
+ * We require that Xen is loaded at a page boundary, so this ensures that any
+ * code running on the identity map cannot cross a section boundary.
  */
-ASSERT( _end_boot - start <= PAGE_SIZE, "Boot code is larger than 4K")
+ASSERT(IS_ALIGNED(_idmap_start, PAGE_SIZE), "_idmap_start should be page-aligned")
+ASSERT(_idmap_end - _idmap_start <= PAGE_SIZE, "Identity mapped code is larger than a page size")
+
 /*
  * __init_[begin|end] MUST be at word size boundary otherwise we cannot
  * write fault instructions in the space properly.
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:17:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:17:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459400.717158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsT-0007D2-6Y; Mon, 12 Dec 2022 10:17:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459400.717158; Mon, 12 Dec 2022 10:17:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsS-000797-ML; Mon, 12 Dec 2022 10:17:40 +0000
Received: by outflank-mailman (input) for mailman id 459400;
 Mon, 12 Dec 2022 10:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fsP-0006gL-UR
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 10:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fsP-0002CT-Iw; Mon, 12 Dec 2022 10:17:37 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fX9-0001lz-Ag; Mon, 12 Dec 2022 09:55:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=PT5WPm2NE5wT0NyCnF+h0ITkG97YNTqNChrNhLvYYIs=; b=bZcBHJpO8cHTaWFe24T4aaKYmy
	4TQnxgfwq/Hxd6SBUWi5kLSj07sCXM4MSK+Hn6owK01DX4pV4r7QB8de07qJCGNNNoo4NlgMhtG02
	ncVAKBVSXO1+aKkRQmXCB7CucMjYMa6UBpdxHJNhLM58xg8pG90Puni34XmR5Ax3FLqQ=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 11/18] xen/arm: Enable use of dump_pt_walk() early during boot
Date: Mon, 12 Dec 2022 09:55:16 +0000
Message-Id: <20221212095523.52683-12-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, dump_pt_walk() is using map_domain_page() to map
the page tables.

map_domain_page() is only usuable after init_domheap_mappings() is called
(arm32) or the xenheap has been initialized (arm64).

This means it can be hard to diagnose incorrect page-tables during
early boot. So update dump_pt_walk() to xen_{, un}map_table() instead.

Note that the two helpers are moved earlier to avoid forward declaring
them.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/mm.c | 56 +++++++++++++++++++++++------------------------
 1 file changed, 28 insertions(+), 28 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 1315a2c87db7..d0b1cf55f550 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -191,6 +191,30 @@ static void __init __maybe_unused build_assertions(void)
 #undef CHECK_DIFFERENT_SLOT
 }
 
+static lpae_t *xen_map_table(mfn_t mfn)
+{
+    /*
+     * During early boot, map_domain_page() may be unusable. Use the
+     * PMAP to map temporarily a page-table.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        return pmap_map(mfn);
+
+    return map_domain_page(mfn);
+}
+
+static void xen_unmap_table(const lpae_t *table)
+{
+    /*
+     * During early boot, xen_map_table() will not use map_domain_page()
+     * but the PMAP.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        pmap_unmap(table);
+    else
+        unmap_domain_page(table);
+}
+
 void dump_pt_walk(paddr_t ttbr, paddr_t addr,
                   unsigned int root_level,
                   unsigned int nr_root_tables)
@@ -230,7 +254,7 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
     else
         root_table = 0;
 
-    mapping = map_domain_page(mfn_add(root_mfn, root_table));
+    mapping = xen_map_table(mfn_add(root_mfn, root_table));
 
     for ( level = root_level; ; level++ )
     {
@@ -246,11 +270,11 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
             break;
 
         /* For next iteration */
-        unmap_domain_page(mapping);
-        mapping = map_domain_page(lpae_get_mfn(pte));
+        xen_unmap_table(mapping);
+        mapping = xen_map_table(lpae_get_mfn(pte));
     }
 
-    unmap_domain_page(mapping);
+    xen_unmap_table(mapping);
 }
 
 void dump_hyp_walk(vaddr_t addr)
@@ -713,30 +737,6 @@ void *ioremap(paddr_t pa, size_t len)
     return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
 }
 
-static lpae_t *xen_map_table(mfn_t mfn)
-{
-    /*
-     * During early boot, map_domain_page() may be unusable. Use the
-     * PMAP to map temporarily a page-table.
-     */
-    if ( system_state == SYS_STATE_early_boot )
-        return pmap_map(mfn);
-
-    return map_domain_page(mfn);
-}
-
-static void xen_unmap_table(const lpae_t *table)
-{
-    /*
-     * During early boot, xen_map_table() will not use map_domain_page()
-     * but the PMAP.
-     */
-    if ( system_state == SYS_STATE_early_boot )
-        pmap_unmap(table);
-    else
-        unmap_domain_page(table);
-}
-
 static int create_xen_table(lpae_t *entry)
 {
     mfn_t mfn;
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:17:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:17:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459399.717165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsT-0007M3-Jy; Mon, 12 Dec 2022 10:17:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459399.717165; Mon, 12 Dec 2022 10:17:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsT-0007IY-4v; Mon, 12 Dec 2022 10:17:41 +0000
Received: by outflank-mailman (input) for mailman id 459399;
 Mon, 12 Dec 2022 10:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fsP-0006gK-UC
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 10:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fsP-0002CV-KU; Mon, 12 Dec 2022 10:17:37 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fXB-0001lz-MG; Mon, 12 Dec 2022 09:55:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=iH0hivAOAHYKAAK+viCKrsGKgjbCA1MMf5n4IXDupUY=; b=iuJyNgimqXnNLncs9wZGnNFTrB
	iXD8RUcjTvxR/neHJ3KFjbpgQFVQ3Hc227MMrLAJd89S/8qc0iMwEOapQWbnsZcn6Oy50skK5Q3Zd
	eCdiOUH4KB585H5YLHzbIEJmJ6uPsIowoYqKIxB7nCxTC9gQthJED+YOhFgaobPMNDxw=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 13/18] xen/arm: mm: Allow xen_pt_update() to work with the current root table
Date: Mon, 12 Dec 2022 09:55:18 +0000
Message-Id: <20221212095523.52683-14-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, xen_pt_update() will only work on the runtime page tables.
In follow-up patches, we will also want to use the helper to update
the boot page tables.

All the existing callers of xen_pt_update() expects to modify the
current page-tables. Therefore, we can read the root physical address
directly from TTBR0_EL2.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---

    Changes in v2:
        - Patch added
---
 xen/arch/arm/mm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index cc11f5c639e6..26d6b70410c5 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -1114,7 +1114,7 @@ static int xen_pt_update(unsigned long virt,
      *
      * XXX: Add a check.
      */
-    const mfn_t root = virt_to_mfn(THIS_CPU_PGTABLE);
+    const mfn_t root = maddr_to_mfn(READ_SYSREG64(TTBR0_EL2));
 
     /*
      * The hardware was configured to forbid mapping both writeable and
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:17:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459402.717178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsU-0007eq-IR; Mon, 12 Dec 2022 10:17:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459402.717178; Mon, 12 Dec 2022 10:17:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsU-0007bm-7F; Mon, 12 Dec 2022 10:17:42 +0000
Received: by outflank-mailman (input) for mailman id 459402;
 Mon, 12 Dec 2022 10:17:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fsQ-0006gc-2g
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 10:17:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fsP-0002Cq-QK; Mon, 12 Dec 2022 10:17:37 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fXC-0001lz-S4; Mon, 12 Dec 2022 09:55:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=UT8Tsyu8d4SGb5ZWf0s64+GDPh3jW+1JI3bmNMKQng8=; b=SDE7CfU2BtwDgr0lkA/vZFryEL
	RgT5BQeVGdcLKxtD1Nm+OaFWIbzi6pCxpWEhheLyFbnL7MFP5C+wQB+NccCqDA6NWSvBoBuYtwnVY
	11thPiRmGHPujTC7SAtZOwE3i2OylsWdotPRqn+aEbocMl5yderdnI7abIBKuuFblxD8=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 14/18] xen/arm: mm: Allow dump_hyp_walk() to work on the current root table
Date: Mon, 12 Dec 2022 09:55:19 +0000
Message-Id: <20221212095523.52683-15-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

dump_hyp_walk() is used to print the tables walk in case of the data or
instruction abort.

Those abort are not limited to the runtime and could happen at early
boot. However, the current implementation of dump_hyp_walk() check
that the TTBR matches the runtime page tables.

Therefore, early abort will result to a secondary abort and not
print the table walks.

Given that the function is called in the abort path, there is no
reason for us to keep the BUG_ON() in any form. So drop it.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---
    Changes in v2:
        - Patch added
---
 xen/arch/arm/mm.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 26d6b70410c5..0cf7ad4f0e8c 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -280,13 +280,11 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
 void dump_hyp_walk(vaddr_t addr)
 {
     uint64_t ttbr = READ_SYSREG64(TTBR0_EL2);
-    lpae_t *pgtable = THIS_CPU_PGTABLE;
 
     printk("Walking Hypervisor VA 0x%"PRIvaddr" "
            "on CPU%d via TTBR 0x%016"PRIx64"\n",
            addr, smp_processor_id(), ttbr);
 
-    BUG_ON( virt_to_maddr(pgtable) != ttbr );
     dump_pt_walk(ttbr, addr, HYP_PT_ROOT_LEVEL, 1);
 }
 
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 10:17:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 10:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459401.717175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsU-0007WL-GG; Mon, 12 Dec 2022 10:17:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459401.717175; Mon, 12 Dec 2022 10:17:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4fsT-0007Rh-Lw; Mon, 12 Dec 2022 10:17:41 +0000
Received: by outflank-mailman (input) for mailman id 459401;
 Mon, 12 Dec 2022 10:17:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4fsQ-0006gW-0G
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 10:17:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fsP-0002CZ-Mz; Mon, 12 Dec 2022 10:17:37 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4fXE-0001lz-1b; Mon, 12 Dec 2022 09:55:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=kKtmvZ+dAOm56S9vF3D9UCPp5WHtNoGUd6OZqQ013iM=; b=IILTbgmoqQNl4DJ4ZqEspkuR70
	IsHgglGpJyab13+5kWwDpqzCIxMgEebpiKZzNPGRNbg4/4XP+FiVSyFU320jnBlnEWUo/3HyofoHq
	wBOrlAv00Sx9nkiirsnPRNTn8vhS1zncwVXfitQ/TxDSIiiOqwlm2kYersNSk+LRhIro=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	Luca.Fancellu@arm.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 15/18] xen/arm64: mm: Introduce helpers to prepare/enable/disable the identity mapping
Date: Mon, 12 Dec 2022 09:55:20 +0000
Message-Id: <20221212095523.52683-16-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
References: <20221212095523.52683-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

In follow-up patches we will need to have part of Xen identity mapped in
order to safely switch the TTBR.

On some platform, the identity mapping may have to start at 0. If we always
keep the identity region mapped, NULL pointer dereference would lead to
access to valid mapping.

It would be possible to relocate Xen to avoid clashing with address 0.
However the identity mapping is only meant to be used in very limited
places. Therefore it would be better to keep the identity region invalid
for most of the time.

Two new external helpers are introduced:
    - arch_setup_page_tables() will setup the page-tables so it is
      easy to create the mapping afterwards.
    - update_identity_mapping() will create/remove the identity mapping

Signed-off-by: Julien Grall <jgrall@amazon.com>

---
    Changes in v2:
        - Remove the arm32 part
        - Use a different logic for the boot page tables and runtime
          one because Xen may be running in a different place.
---
 xen/arch/arm/arm64/Makefile         |   1 +
 xen/arch/arm/arm64/mm.c             | 121 ++++++++++++++++++++++++++++
 xen/arch/arm/include/asm/arm32/mm.h |   4 +
 xen/arch/arm/include/asm/arm64/mm.h |  12 +++
 xen/arch/arm/include/asm/setup.h    |  11 +++
 xen/arch/arm/mm.c                   |   6 +-
 6 files changed, 153 insertions(+), 2 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mm.c

diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index 6d507da0d44d..28481393e98f 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -10,6 +10,7 @@ obj-y += entry.o
 obj-y += head.o
 obj-y += insn.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o
+obj-y += mm.o
 obj-y += smc.o
 obj-y += smpboot.o
 obj-y += traps.o
diff --git a/xen/arch/arm/arm64/mm.c b/xen/arch/arm/arm64/mm.c
new file mode 100644
index 000000000000..9eaf545ea9dd
--- /dev/null
+++ b/xen/arch/arm/arm64/mm.c
@@ -0,0 +1,121 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <xen/init.h>
+#include <xen/mm.h>
+
+#include <asm/setup.h>
+
+/* Override macros from asm/page.h to make them work with mfn_t */
+#undef virt_to_mfn
+#define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
+
+static DEFINE_PAGE_TABLE(xen_first_id);
+static DEFINE_PAGE_TABLE(xen_second_id);
+static DEFINE_PAGE_TABLE(xen_third_id);
+
+/*
+ * The identity mapping may start at physical address 0. So we don't want
+ * to keep it mapped longer than necessary.
+ *
+ * When this is called, we are still using the boot_pgtable.
+ *
+ * We need to prepare the identity mapping for both the boot page tables
+ * and runtime page tables.
+ *
+ * The logic to create the entry is slightly different because Xen may
+ * be running at a different location at runtime.
+ */
+static void __init prepare_boot_identity_mapping(void)
+{
+    paddr_t id_addr = virt_to_maddr(_start);
+    lpae_t pte;
+    DECLARE_OFFSETS(id_offsets, id_addr);
+
+    if ( id_offsets[0] != 0 )
+        panic("Cannot handled ID mapping above 512GB\n");
+
+    /* Link first ID table */
+    pte = mfn_to_xen_entry(virt_to_mfn(boot_first_id), MT_NORMAL);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+
+    write_pte(&boot_pgtable[id_offsets[0]], pte);
+
+    /* Link second ID table */
+    pte = mfn_to_xen_entry(virt_to_mfn(boot_second_id), MT_NORMAL);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+
+    write_pte(&boot_first_id[id_offsets[1]], pte);
+
+    /* Link third ID table */
+    pte = mfn_to_xen_entry(virt_to_mfn(boot_third_id), MT_NORMAL);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+
+    write_pte(&boot_second_id[id_offsets[2]], pte);
+
+    /* The mapping in the third table will be created at a later stage */
+}
+
+static void __init prepare_runtime_identity_mapping(void)
+{
+    paddr_t id_addr = virt_to_maddr(_start);
+    lpae_t pte;
+    DECLARE_OFFSETS(id_offsets, id_addr);
+
+    if ( id_offsets[0] != 0 )
+        panic("Cannot handled ID mapping above 512GB\n");
+
+    /* Link first ID table */
+    pte = pte_of_xenaddr((vaddr_t)xen_first_id);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+
+    write_pte(&xen_pgtable[id_offsets[0]], pte);
+
+    /* Link second ID table */
+    pte = pte_of_xenaddr((vaddr_t)xen_second_id);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+
+    write_pte(&xen_first_id[id_offsets[1]], pte);
+
+    /* Link third ID table */
+    pte = pte_of_xenaddr((vaddr_t)xen_third_id);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+
+    write_pte(&xen_second_id[id_offsets[2]], pte);
+
+    /* The mapping in the third table will be created at a later stage */
+}
+
+void __init arch_setup_page_tables(void)
+{
+    prepare_boot_identity_mapping();
+    prepare_runtime_identity_mapping();
+}
+
+void update_identity_mapping(bool enable)
+{
+    paddr_t id_addr = virt_to_maddr(_start);
+    int rc;
+
+    if ( enable )
+        rc = map_pages_to_xen(id_addr, maddr_to_mfn(id_addr), 1,
+                              PAGE_HYPERVISOR_RX);
+    else
+        rc = destroy_xen_mappings(id_addr, id_addr + PAGE_SIZE);
+
+    BUG_ON(rc);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/arm32/mm.h b/xen/arch/arm/include/asm/arm32/mm.h
index 8bfc906e7178..856f2dbec4ad 100644
--- a/xen/arch/arm/include/asm/arm32/mm.h
+++ b/xen/arch/arm/include/asm/arm32/mm.h
@@ -18,6 +18,10 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
 
 bool init_domheap_mappings(unsigned int cpu);
 
+static inline void arch_setup_page_tables(void)
+{
+}
+
 #endif /* __ARM_ARM32_MM_H__ */
 
 /*
diff --git a/xen/arch/arm/include/asm/arm64/mm.h b/xen/arch/arm/include/asm/arm64/mm.h
index aa2adac63189..807d3b2321fd 100644
--- a/xen/arch/arm/include/asm/arm64/mm.h
+++ b/xen/arch/arm/include/asm/arm64/mm.h
@@ -1,6 +1,8 @@
 #ifndef __ARM_ARM64_MM_H__
 #define __ARM_ARM64_MM_H__
 
+extern DEFINE_PAGE_TABLE(xen_pgtable);
+
 /*
  * On ARM64, all the RAM is currently direct mapped in Xen.
  * Hence return always true.
@@ -10,6 +12,16 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
     return true;
 }
 
+void arch_setup_page_tables(void);
+
+/*
+ * Enable/disable the identity mapping
+ *
+ * Note that nested a call (e.g. enable=true, enable=true) is not
+ * supported.
+ */
+void update_identity_mapping(bool enable);
+
 #endif /* __ARM_ARM64_MM_H__ */
 
 /*
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index fdbf68aadcaa..e7a80fecec14 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -168,6 +168,17 @@ int map_range_to_domain(const struct dt_device_node *dev,
 
 extern const char __ro_after_init_start[], __ro_after_init_end[];
 
+extern DEFINE_BOOT_PAGE_TABLE(boot_pgtable);
+
+#ifdef CONFIG_ARM_64
+extern DEFINE_BOOT_PAGE_TABLE(boot_first_id);
+#endif
+extern DEFINE_BOOT_PAGE_TABLE(boot_second_id);
+extern DEFINE_BOOT_PAGE_TABLE(boot_third_id);
+
+/* Find where Xen will be residing at runtime and return an PT entry */
+lpae_t pte_of_xenaddr(vaddr_t);
+
 #endif
 /*
  * Local variables:
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 0cf7ad4f0e8c..39e0d9e03c9c 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -93,7 +93,7 @@ DEFINE_BOOT_PAGE_TABLE(boot_third);
 
 #ifdef CONFIG_ARM_64
 #define HYP_PT_ROOT_LEVEL 0
-static DEFINE_PAGE_TABLE(xen_pgtable);
+DEFINE_PAGE_TABLE(xen_pgtable);
 static DEFINE_PAGE_TABLE(xen_first);
 #define THIS_CPU_PGTABLE xen_pgtable
 #else
@@ -388,7 +388,7 @@ void flush_page_to_ram(unsigned long mfn, bool sync_icache)
         invalidate_icache();
 }
 
-static inline lpae_t pte_of_xenaddr(vaddr_t va)
+lpae_t pte_of_xenaddr(vaddr_t va)
 {
     paddr_t ma = va + phys_offset;
 
@@ -495,6 +495,8 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
 
     phys_offset = boot_phys_offset;
 
+    arch_setup_page_tables();
+
 #ifdef CONFIG_ARM_64
     pte = pte_of_xenaddr((uintptr_t)xen_first);
     pte.pt.table = 1;
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 11:07:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 11:07:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459486.717227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4gea-0000o9-CN; Mon, 12 Dec 2022 11:07:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459486.717227; Mon, 12 Dec 2022 11:07:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4gea-0000o2-9i; Mon, 12 Dec 2022 11:07:24 +0000
Received: by outflank-mailman (input) for mailman id 459486;
 Mon, 12 Dec 2022 11:07:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5WVn=4K=citrix.com=prvs=33806dea2=roger.pau@srs-se1.protection.inumbo.net>)
 id 1p4geY-0000nw-HI
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 11:07:22 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 241cfcc2-7a0d-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 12:07:20 +0100 (CET)
Received: from mail-dm6nam11lp2173.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 12 Dec 2022 06:07:14 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB5502.namprd03.prod.outlook.com (2603:10b6:a03:279::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Mon, 12 Dec
 2022 11:06:21 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1%9]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 11:06:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 241cfcc2-7a0d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670843240;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=FsuUqNVD3VLLRl05ZTA2/kS5yK+ATzW8JzY5wYsHznA=;
  b=gEcr+55HaeRajSkiqJv8D07hqQoVitSbrCE7xnYXWpNGtoGWq6T+14Ge
   N/0qDy3aAZ9mQQsj0RuAKJaor3sTctRKINFHapk4QAFVFPPJZ9Z0ekxfG
   87h5Oxyz31xOCWba0LYfxiKF0Qrph6Ed2e9f/XGOFZ8lmUx/BHKej4c8D
   Y=;
X-IronPort-RemoteIP: 104.47.57.173
X-IronPort-MID: 90366755
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:YswKdaoVwHWfPOE13ohSLAsjb0NeBmI+ZBIvgKrLsJaIsI4StFCzt
 garIBmFa/eCN2vzfIt2YIrg9kwDvpaEm9VrGwM/pX8yRn8a8puZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEziNNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAGoTP0+ZqN3n+Z+EDdA9jJgiIJnILrpK7xmMzRmBZRonabbqZvyToPN9gnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeeraYWOEjCJbZw9ckKwv
 GXJ8n6/GhgHHNee1SCE4jSngeqncSbTCdpJSuPnq6MCbFu75j0DCjQwCwWCmfi3kEKkZ4x4D
 mUQw397xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIVqC8p+EoDX0PjIaRVLufgcBRAoBptXm/oc6i0uWSs45SfHuyNroBTv33
 jaG6jAkgKkehtIK0KP9+k3bhzWrpd7CSQtdChjrY19JJzhRPOaND7FEI3CBvJ6s8K7xooG9g
 UU5
IronPort-HdrOrdr: A9a23:n/4gPK/RuS0LogzJHBRuk+DrI+orL9Y04lQ7vn2ZKCYlFvBw8v
 rE8MjzuiWbtN98YhEdcKm7Sc+9qBDnhPtICOsqUotKNTOO0AGVxedZnOjfKlXbdhEWndQ96U
 4PSdkdNDX6ZWIK6vrS0U2dN5IBzbC8gdmVbJ/lvg9QcT0=
X-IronPort-AV: E=Sophos;i="5.96,238,1665460800"; 
   d="scan'208";a="90366755"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jRWSXiu2UdnYNz+bjxUnE8wUWBlIwC1ROt+ibEU/dHJnaqDjlk1uJRi137wPpl5HTdPVRP/Wq09oUFhioWE9VOvX1FM0KQoXxPhQzHsYJ2HKyhgT1uDY9icXTmbrsF88besZLDNclri4Sws794GTEaCUlzXpNddwD0ot5lu7ST4m8Q69m9hozM302X3pzKGvM6DTcjegrFF4iW7swQrs9hKOUyoGPDfnOlIxW242O+nfcwcWZwaMPQnqlueXYa1zq/M5bqfAePJ32BTEMPzVbx91tu5TIP8mSCeZDqSx+PJ97IqhbaakXWSXA5AgL+Nua5OLnUaEN3o05YqZeQzV9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nH75FYLfPiOxaL47gxLeYgzQek1JJcB0xRcFV97EqyU=;
 b=O4mSw4qs+Jqy8YE9QXEEAMZ4IYoJs0w448yoySASQQWJvtiPKltSfJdUPX+LMMHKga9K7jJNY/C05yf9uMGuyEoB3dUbDtP2GcwXNSYDFgFONu6wv8WDNKDZljYwrUUkViM9VZktBUzdacQtFCASL1RPosInMn5tt3S4Ovbf6Hcavu9aE6PeV5J26zAcx+GPmS8UZjHQuCJVqI1WHg1SPcDfko2m6AiHDYKEsnObKe+ugxo3Axp1h0TRPI1fzjGWiAsWYPpU+qG+QsCFX5PCVcgi748JYXcRmFTJiLlaGSNkGOVAElZa5sDs8e29eJojUYrfSWK1ehvYwEYjGf2M/g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nH75FYLfPiOxaL47gxLeYgzQek1JJcB0xRcFV97EqyU=;
 b=LHv+IFub/vRvimeN/Not805RfLxcMaCDE/j5kCgn81EWNCeLIpyLJB6AIwctYJckFTOb2/ZCiz1j3Jv8eQPyRCXZbZp37niwYwv5Ij35trMf+INpiASf193MjAp+RbzYNQvkYlNGBQeBY5HOfmgCqp04o1u+ZSERg8aIX6iSfn8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 12 Dec 2022 12:06:16 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/SVM: restrict hardware SSBD update upon guest
 VIRT_SPEC_CTRL write
Message-ID: <Y5cLKEnV3U9yEJbR@Air-de-Roger>
References: <6189fed4-2aac-8ca3-90f6-7a750a8993dd@suse.com>
 <Y5MG/osKnrCMsztu@Air-de-Roger>
 <c8cb821f-fda8-bde6-9585-fe689ffa4be1@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c8cb821f-fda8-bde6-9585-fe689ffa4be1@suse.com>
X-ClientProxiedBy: LO4P123CA0285.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:195::20) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB5502:EE_
X-MS-Office365-Filtering-Correlation-Id: 1050ab3c-98a8-4647-5030-08dadc30e657
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UAcS35ZZHIzWWs4uJMtDEPsaDK5qJpnIT2Q0naHzwKctixeE7t38g7swbgu2gj1yy+gDepMy+w5SaT2xacm05iNbrC25yVaHAaGqJcrUUJpiOTtIJMB3f4EiYPyibc3J4PybQi+3iIHz6PpSMUgzLSh0jvf205c6SAizvdWPrC/ki/sMzGRRbjG9ff+Lo2YzOaxtOIHmYjU0eYQnJgsQ/Ofv61gKmmM4M5cSUtdOnPnUxz7yvfWRLtEMlCD3WJgPpP6Cd3qmqqK7O1fbTVSwy+R4Sg2GlQMPqdTsWBMwmB9/wx34I6SZ1BfScIFq9iV7kMBVirIkGGJHso3faGCVgoxnKAWrQ25XWgKN6CjFmdl7YzAwQOBoQgGc3zlpftVL1BdhS34r8u4FelcQFhvGjDPUQqhrReli5nUhf1IxOK92urBIy6B5EBLl8Pk+k31L/db6r2IMTwfEzBtFfyepE2aiPA2qITFYZFfW6wME2o88GdZUwmQpn3RtXUvinBy4z36Lh0fcYfTD3dSgGZsDCcUKiy2F6wDOCMeVL/GzpLqCELAp2PPvGmTL6IxY1EZBErbS43XOCMxKPi5heXraHRMXgBgT1ncG5U1ynOIxC9uT5W9hssBUufc8u/h2U0+xKBuCAlyrdPu2Yc3PAeQYZQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(7916004)(396003)(136003)(376002)(366004)(346002)(39860400002)(451199015)(85182001)(53546011)(6506007)(5660300002)(26005)(6916009)(41300700001)(4326008)(316002)(9686003)(6512007)(6666004)(66556008)(8936002)(8676002)(54906003)(66946007)(83380400001)(82960400001)(2906002)(33716001)(38100700002)(15650500001)(86362001)(66476007)(186003)(6486002)(478600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OEZKeCsvcG95NWRYVVIyd25vd0diemU4SGdFMGZKTU1ScHhESkY2d2NmUFZF?=
 =?utf-8?B?dWNUYzJ5bG42TWJuRTZ2ZURFa0k3M3h1T0NUZUkwRGxGTk9VaDAxUFBYckV1?=
 =?utf-8?B?Sm5EOGZPVEJVSWdEcE43MVIrWUNFMFlBbjdBalhOMHhYOUZDRkY0MjNwRGdp?=
 =?utf-8?B?QmlUV0trRTgvSmpXMGxKck1WUENRWkxyYnczdmtWLzhiY0o1djZNOVhhd25P?=
 =?utf-8?B?L2lvRGhJSk5hRGd6QWZkVVEvSjBCMmh3cDBENndPcERseFVIS0IzQXZnR25y?=
 =?utf-8?B?VytnZW11cVNCSlNUZE8xVlRKZ25mazYvUDZFTmV1T1BxM2xaUWQ3L0RxbWxT?=
 =?utf-8?B?dEZvd2pNQzNWN0prR29CVFNTOUJGVmJnK3p3V2VRU2tsWklkVmhKVEk3SDhN?=
 =?utf-8?B?UnVVVmRXa2dBZk5YVjRsVkpuQVN6OGF3QWlpQ2c2alY4alFySzA1RUhzWHRo?=
 =?utf-8?B?K2U2OWlibEdvT1lSS0hKTjJyTnA0L1RPWHVBcEg0ODBPY09NcGtKWEpmcmNW?=
 =?utf-8?B?akFtdzVZRjhnd21HaWE4bWRMOE9QRHRLQ1ZNQkYwWGIyWkJJU21GTzBoR0hJ?=
 =?utf-8?B?WExsWGRMbHlsSmxDWXkyZWNQcnZUM2lyNGFPNVNOS0o5TDJvWm5SS2dOaGRI?=
 =?utf-8?B?Slc3bFI2OFRlcjgwalpXN1FsaDdjdnMvMzh1MXZGMG5vc3NrektQVjRPK3JK?=
 =?utf-8?B?WkpTSWU0Y0VuUU0yUVdHRnBuL3dzM0Znalc1eHB6VG5HbkdRUklhajZwdVc3?=
 =?utf-8?B?Y0dpSm10a3lOUFhlVEVwRVlyU2V1UllNazRhSUtiSFRwWjJ6b0lhYlVlNm51?=
 =?utf-8?B?ZmtEZThmc3BUdFFzTkpZU3lGc0tmUGphTXNaYllNQ3B0dFRGRDR5dkFaQmpx?=
 =?utf-8?B?U1JWSVFyMDJXZUJ1VWdBNnQ4blBJKzVIL1dlck1KMk5YNjBSUHZJRllwaldM?=
 =?utf-8?B?RmtXWno3WnVFKzlQaWF5VDBrRGRKSHN6dXA3em5hQTc1WkdkL0ZtQVpKV2xF?=
 =?utf-8?B?aWY3cGtUUk8wN0lPYU1OUnpWdlNuekpuZ0ZGMDZnaDhDSFVOcXhocVZicW5w?=
 =?utf-8?B?RkRUS3A4UzhJUTJZY2N0QUVxWktUVjBLbDZLTVF3anYwbFR3eXdoMjRvczN1?=
 =?utf-8?B?UlJxb2xmcVBJamFRWTBxSjNuQU40WEdWaG5YeDg1cFVmRDVHZHl2Z1hlc0x4?=
 =?utf-8?B?TDRPdUNOcDdpUVl3NitzT1ZHOTdMMlBWaWdRU0dPQ2wzRlgvUXA3MGdWL0FW?=
 =?utf-8?B?SkhIZHdqazBnV1U0UFR1c1VQQ1NkUU5ncGpDSXpPK2ZlQm9KWC9qdTBMaEQ4?=
 =?utf-8?B?WVBBMHpJVWxXMEVJbVlrUkNySlcyQitzS0FocVhXakN3cFRRYXVRbFpaWjh4?=
 =?utf-8?B?VlFxWmovM2pEVll4cmJ3ZHlERzY2aFpZLzlsbnZ5UnBwcXowYmlhOXVEZXMr?=
 =?utf-8?B?b2FKZHNpTEdDZGNyOEtjQnpzVktOWFl5eGJVVW16Tm5VOStHbTN1bTFBRG9E?=
 =?utf-8?B?WDhDVDA0T2p5Z20waVNObGw4T296RS9lOG1WZDgvNEwwRWpwdGM0dm52ZUd1?=
 =?utf-8?B?N0kzWVh4Nm5qTzJRdC9IYmhKc1pKVDdYTGpuNjAxTlhUSzZuK0J3T1BzMndJ?=
 =?utf-8?B?MHl0YnB5N08zNEhuZXJSK0tFdnBxWFFDdGtONWZtMWlUUFdsWXVXUGRjb0ww?=
 =?utf-8?B?MzlaWXh2dWhwbTVHeXVLUzhPM244dWNad3NTbjVHQlNIYm0xM3lzdlVyY3hS?=
 =?utf-8?B?V0lwS25yckQwdHFJQ3JHVlBVTlRxbnJ1L3phTnFCL0pudkJ4YStTaFFkSGx3?=
 =?utf-8?B?Q1RCeUMwYlRZZG5ubk10T09rYkxlRlBuSGI5dnV1c1BoUnZzMmJMZDZPa2tF?=
 =?utf-8?B?K3F1NGxsNFlHaUxhVnFuY1phVCt6eGtLQ0dZcGRBQnJNc0J2amFiNHZjS0VB?=
 =?utf-8?B?eURudUlBZ0dWbDlWcEJ6dEdFdWJQcktOUGRxb0NrTTg2R1hYNi90QlZSb2tN?=
 =?utf-8?B?M3VoT21tZkVmRTJEekVIUDRxbk1HMkhoZnVtdFpBT1haZXAzWXJPY3cvK1RK?=
 =?utf-8?B?cWZzRVhnVDhFV0lDQXkxZVErVlFadis0WE9MelpjTFhzYm5XZ2kyY2hMckQz?=
 =?utf-8?B?Z0cxZnhnYWxhcmdFd3paTm8xWVl6WEtWWmpvemxWRGNlOEgyam83OVVvbm4z?=
 =?utf-8?B?OUE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1050ab3c-98a8-4647-5030-08dadc30e657
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 11:06:20.8910
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nIJrNgC863UguPDCioCu6vFZrwf9Cwmg7+z7ZO31K/9Fn4C7yBbHtM598kJj0CyFAdLKQUr0//1/u2TowfVIdw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5502

On Fri, Dec 09, 2022 at 11:11:29AM +0100, Jan Beulich wrote:
> On 09.12.2022 10:59, Roger Pau Monné wrote:
> > On Thu, Dec 08, 2022 at 12:24:54PM +0100, Jan Beulich wrote:
> >> --- a/xen/arch/x86/msr.c
> >> +++ b/xen/arch/x86/msr.c
> >> @@ -699,12 +699,16 @@ int guest_wrmsr(struct vcpu *v, uint32_t
> >>          }
> >>          else
> > 
> > I think you could turn this into an `else if` and check if the new
> > value and the current one differ on the SSBD bit?
> 
> I'd prefer not to: Keeping it as I have it will likely reduce code churn
> if a 2nd bit wants supporting in that MSR.
> 
> > Provided it fixes the issue:
> > 
> > Acked-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Thanks, but I'm a little puzzled by the constraint: Imo even if this
> doesn't address the observed issue, it still fixes one aspect of wrong
> behavior here. The sole difference then would be that the Reported-by:
> would go away.

Just wanted to make sure whether there was a further issue linked with
this, in a way that we might need to change the fix.  Maybe do the
accounting in amd_set_legacy_ssbd() and keep track of each thread
status.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 11:22:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 11:22:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459494.717239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4gtV-0003JO-NO; Mon, 12 Dec 2022 11:22:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459494.717239; Mon, 12 Dec 2022 11:22:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4gtV-0003JH-JF; Mon, 12 Dec 2022 11:22:49 +0000
Received: by outflank-mailman (input) for mailman id 459494;
 Mon, 12 Dec 2022 11:22:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4gtU-0003JB-3H
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 11:22:48 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4gtT-0003jH-6x; Mon, 12 Dec 2022 11:22:47 +0000
Received: from [54.239.6.188] (helo=[192.168.19.227])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4gtT-00069V-1G; Mon, 12 Dec 2022 11:22:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=GmIeuXXIH8XA5d4Eia4OzV+CjuzbMm1wW9QEHcvv5Tg=; b=F5IpilW/7prv0KIvcs4TbsraF7
	6Jf/T327NlYtSymStLRIxWAooDNtk7ORs0MxZs2LFXbNQK7t+XJGWOtlSqaxWYGeNdwrA0B7wMCO/
	CIa9OFbYirxLrQU3GpowBEwhGYWs9AkVgmqyGE6BuBcFAeJxSomD68bXJn1rW2w2DxHE=;
Message-ID: <65819ff9-1a1a-dfc3-f700-289dd8c340dc@xen.org>
Date: Mon, 12 Dec 2022 11:22:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH] xen/arm: Reduce redundant clear root pages when teardown
 p2m
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212064119.2632626-1-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221212064119.2632626-1-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 12/12/2022 06:41, Henry Wang wrote:
> Currently, p2m for a domain will be teardown from two paths:
> (1) The normal path when a domain is destroyed.
> (2) The arch_domain_destroy() in the failure path of domain creation.
> 
> When tearing down p2m from (1), the part to clear and clean the root
> is only needed to do once rather than for every call of p2m_teardown().
> If the p2m teardown is from (2), the clear and clean of the root
> is unnecessary because the domain is not scheduled.
> 
> Therefore, this patch introduces a helper `p2m_clear_root_pages()` to
> do the clear and clean of the root, and move this logic outside of
> p2m_teardown(). With this movement, the `page_list_empty(&p2m->pages)`
> check can be dropped.
> 
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> ---
>   xen/arch/arm/domain.c          |  5 +++++
>   xen/arch/arm/include/asm/p2m.h |  1 +
>   xen/arch/arm/p2m.c             | 23 ++++++++++++-----------
>   3 files changed, 18 insertions(+), 11 deletions(-)
> 
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> index 99577adb6c..29c189aab4 100644
> --- a/xen/arch/arm/domain.c
> +++ b/xen/arch/arm/domain.c
> @@ -1022,6 +1022,11 @@ int domain_relinquish_resources(struct domain *d)
>               return ret;
>   
>       PROGRESS(p2m):
> +        /*
> +         * We are about to free the intermediate page-tables, so clear the
> +         * root to prevent any walk to use them.
> +         */
> +        p2m_clear_root_pages(&d->arch.p2m);

The commit message suggests this should only be called once. However, 
you will still end up to call p2m_clear_root_pages() multiple time if 
p2m_teardown() is preempted.

>           ret = p2m_teardown(d, true);
>           if ( ret )
>               return ret;
> diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
> index 91df922e1c..bf5183e53a 100644
> --- a/xen/arch/arm/include/asm/p2m.h
> +++ b/xen/arch/arm/include/asm/p2m.h
> @@ -281,6 +281,7 @@ int p2m_set_entry(struct p2m_domain *p2m,
>   
>   bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn);
>   
> +void p2m_clear_root_pages(struct p2m_domain *p2m);
>   void p2m_invalidate_root(struct p2m_domain *p2m);
>   
>   /*
> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> index 948f199d84..0c942c5923 100644
> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -1314,6 +1314,18 @@ static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
>       p2m->need_flush = true;
>   }
>   
> +void p2m_clear_root_pages(struct p2m_domain *p2m)
> +{
> +    unsigned int i;
> +
> +    p2m_write_lock(p2m);
> +
> +    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
> +        clear_and_clean_page(p2m->root + i);
> +
> +    p2m_write_unlock(p2m);
> +}
> +
>   /*
>    * Invalidate all entries in the root page-tables. This is
>    * useful to get fault on entry and do an action.
> @@ -1698,21 +1710,10 @@ int p2m_teardown(struct domain *d, bool allow_preemption)
>       struct p2m_domain *p2m = p2m_get_hostp2m(d);
>       unsigned long count = 0;
>       struct page_info *pg;
> -    unsigned int i;
>       int rc = 0;
>   
> -    if ( page_list_empty(&p2m->pages) )
> -        return 0;
> -
>       p2m_write_lock(p2m);
>   
> -    /*
> -     * We are about to free the intermediate page-tables, so clear the
> -     * root to prevent any walk to use them.
> -     */
> -    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
> -        clear_and_clean_page(p2m->root + i);
> -
>       /*
>        * The domain will not be scheduled anymore, so in theory we should
>        * not need to flush the TLBs. Do it for safety purpose.

This flush needs to be moved in p2m_clear_root_pages().

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 11:27:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 11:27:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459504.717251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4gyH-0004At-DQ; Mon, 12 Dec 2022 11:27:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459504.717251; Mon, 12 Dec 2022 11:27:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4gyH-0004Am-8i; Mon, 12 Dec 2022 11:27:45 +0000
Received: by outflank-mailman (input) for mailman id 459504;
 Mon, 12 Dec 2022 11:27:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Tmz+=4K=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p4gyG-0004Ag-4i
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 11:27:44 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2059.outbound.protection.outlook.com [40.107.22.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fdab5256-7a0f-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 12:27:41 +0100 (CET)
Received: from ZR0P278CA0168.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:45::23)
 by AS8PR08MB8250.eurprd08.prod.outlook.com (2603:10a6:20b:53e::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.8; Mon, 12 Dec
 2022 11:27:40 +0000
Received: from VI1EUR03FT065.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:910:45:cafe::60) by ZR0P278CA0168.outlook.office365.com
 (2603:10a6:910:45::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19 via Frontend
 Transport; Mon, 12 Dec 2022 11:27:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT065.mail.protection.outlook.com (100.127.144.171) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.17 via Frontend Transport; Mon, 12 Dec 2022 11:27:39 +0000
Received: ("Tessian outbound aeae1c7b66fd:v130");
 Mon, 12 Dec 2022 11:27:39 +0000
Received: from 10fa38885af9.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2C29C9A5-6650-47C3-8B32-DE022C34FF11.1; 
 Mon, 12 Dec 2022 11:27:30 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 10fa38885af9.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 12 Dec 2022 11:27:30 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM0PR08MB5411.eurprd08.prod.outlook.com (2603:10a6:208:181::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.8; Mon, 12 Dec
 2022 11:27:26 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%8]) with mapi id 15.20.5924.009; Mon, 12 Dec 2022
 11:27:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fdab5256-7a0f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=l9B2gp5tmonAmPjqlto2evnFWC14CLjDcuB7zjt6QKU=;
 b=sY8s3FQ+NoyEWhz57LW28mKYrvWi017ECgaSMyGQ7sj0t6o68JVWvNvHSPn0S9+9TweXzXwtM3Q0m5ceVe7HCH7jzbmByIgXMUAvrJPVr1GM4Ml9tRyg/Uye9x98C0moCt/pue6iZp8pexDnWGeveDxm+Yue9TRHIsLVPLg+nRo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZYhrT1C6zWoCFB9Xe/Br4anbdqxyXg4Ot64oUmTiYVOvUTs56tIHLjoovaD9tHjm8F+MZTjwHLxSydc1m1ULZF2cWoq+U6S7b/VWFn5VolKtSF+Zub9xlhcHRLM7IG6jXzroYtU3pzHZ33dmjVywbkysp8tLeMiZwuDJikYnL/poNbwKhO1696MFOaLKEId68KkcaWWvU446bz/nVluoIy8IAGQZ/iU0J3kFhkWBJuP/0GIbdl3gOEo377lT1MTLnBziKNgqDQUzmrLZTJGurKoJMxqaHHs/OZ7lzH0JEh3ZQSV87szHLzMOcgErmYZK2peLsAjEFdEev0zF4V2WFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=l9B2gp5tmonAmPjqlto2evnFWC14CLjDcuB7zjt6QKU=;
 b=lqts4GGBqKgRCrYqyp6MYPKbDqYU9iDB476ak9itA6kQPd8GTuuoChHn6+ExxL6Ss04a/2W8m+Bn1PprrJwNuldHP1wmDbqbxrttJl1FMqyD3TXxh8mTnidmFvcAMDiTcQEw7kN2xofdrjOfFk3/yyxuSUK7g0wzR7dn3q+CyMX85YyvLwvhffdnWJ0irwdrMeCpmFl8P+YmBgQ+/CFQU5q7aumNWI7oIN929bD20M7WG8lz5nK6LlcdmK0LpOc98vvkTWyfiHIrcmzTrvz/zs6S7ZpE83MT5C5dP6eVB6YEL3j6eSuFcLCLgy7RCGjCeDRtbINutegttorD8H/zHw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=l9B2gp5tmonAmPjqlto2evnFWC14CLjDcuB7zjt6QKU=;
 b=sY8s3FQ+NoyEWhz57LW28mKYrvWi017ECgaSMyGQ7sj0t6o68JVWvNvHSPn0S9+9TweXzXwtM3Q0m5ceVe7HCH7jzbmByIgXMUAvrJPVr1GM4Ml9tRyg/Uye9x98C0moCt/pue6iZp8pexDnWGeveDxm+Yue9TRHIsLVPLg+nRo=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH] xen/arm: Reduce redundant clear root pages when teardown
 p2m
Thread-Topic: [PATCH] xen/arm: Reduce redundant clear root pages when teardown
 p2m
Thread-Index: AQHZDfTM8ZVdBcwf4EKHce09rjobqq5qHDOAgAAAaXA=
Date: Mon, 12 Dec 2022 11:27:26 +0000
Message-ID:
 <AS8PR08MB799154878CCA46EE1A1B998D92E29@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20221212064119.2632626-1-Henry.Wang@arm.com>
 <65819ff9-1a1a-dfc3-f700-289dd8c340dc@xen.org>
In-Reply-To: <65819ff9-1a1a-dfc3-f700-289dd8c340dc@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: F05306E52B775148A5C000567FF68E7B.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AM0PR08MB5411:EE_|VI1EUR03FT065:EE_|AS8PR08MB8250:EE_
X-MS-Office365-Filtering-Correlation-Id: 07a2e3d3-3d2c-44f5-b4d2-08dadc33e0df
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 RXhNzCBjR4+m+3sEuRlYZS23RePm79APMTNRLpGpYUGuYMQEW2/fVgHZuDnOjh1Gkq+S+VfkbHRY6msaZzP2vVHgoXltyoLeBDYZzPMTex+hSsYIVwYrEV5x1jSpfUn9sh+FAyFKcAkyMArrWnKHvOE8JppvOmsn+v9qOJrNsScMpPdSNHzTDUQZsfKdp83fyVNt21HSTkegN1sIEj0gNsOcyp94/5/20V1mMOYYR7lfNpuqp/xCl8J7Z90HuLXBBbtu0mfpY8fgNtVO92gZ6G3JolAGOqqJ5thuP26rgkPTOrdQ/KvwKSOD2nwrji1neGwwsnkIcO+YtKcbf63OgzvUhKIVc5+0HXRvNWos0/MGlFvNPSI0mZUgBHKZ2Lqp5fsKD3YLF/yixL7LSZpSE73DLVJ+LOckwpN75tZA9jrqiOMqpWgegIF/huFl28YbUAJtpDXc7gYreb9bBHT1M76x0GLszIZZOoC1wRLdE1+HPxEt16V2q79AIFXPcPvHE+ex6XhLhqHMj8bsQ9fUYFWjY+2cWoJfYwG0dqRpNww1zh2teu69i7x97AJ1Ndlvf/Aht95fcEuQ2VFFKOPrsEhXsavJ7rSTV/NAYk+3X15Q2W2PVUFPO3yRpCIbAFno33EeSjbrngHMobZUClYmI7+LHIyCIqocxB6xexjxVWBMuSe7nj3nFY0nl4EAbcBSlvtFxHftkAoBgOhOK5Ar1Q==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(366004)(346002)(39860400002)(396003)(451199015)(2906002)(5660300002)(8936002)(52536014)(41300700001)(4326008)(66476007)(8676002)(66556008)(66946007)(55016003)(64756008)(66446008)(38070700005)(110136005)(54906003)(83380400001)(86362001)(71200400001)(9686003)(316002)(76116006)(7696005)(6506007)(26005)(122000001)(38100700002)(33656002)(186003)(478600001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5411
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VI1EUR03FT065.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	88a29e5e-c5fe-4acd-f4f8-08dadc33d89f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7BfcHSywdliUq/58GQ3QVFBxSHTDGoKrg69RF118D5Aey60b41LDhZarf6cRHgHZC1iKJ+VmAVt3Z+b9rn/vX2nxVX0D/+e1cry3gOZ14MH1Ut/WiI4ygJuyGMo4d29figBBUjjbRTRECcCLfp6TF2KvKKrJZXIpa0gPIFKrfLmF+NvfrfKsu6OdyQm+e3UbUWUHUJc3JXp8Diuq57jvuJpRbl9BiYqeXnK4weTo8L17f19H7vvYN+AFDcsnDks3Lnf7yMxT5TP+WMXahTEvke3XYUJSl0ifq8l+T0f6v/PmZ+EDif1vddlPM45B0OJXR/8j188VyIdfCbUkb22leW5Hd4ur9SLJ4pt0zPKjYJRdFR1ousEYyoWqtP+8XoC459J1+9Ny97yX/N5LqM8VLbwOt5hbtW9PkZJXouVlW3BeeqYvjAUOQUJXgQyJGD4lrLmRXahZZusinTu8cYgirVESbw/Uy3Cuf8ufyVzQ+/Zlxao9xaXO6DkBHOWb7l2/d50JJ02rSjCbFfjgR3Z5EU5h9+bZzPlKmpNhVmp7IzkTlLwzobRL0nYcUovObI37TNwag5lXkdu6RUBYfxwzz7kexqoQy+lPE143kLz7xvUtuaY9Fv3SMXLuLjtssUcpU0tbmJPz61SXH9tIJtxSyJ+PktQla5fGCzNfPbqnmzxRKWvbsRoVk0bQlyMyjb1sbAK5LHjfh3wKZUf1S5m8rA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199015)(46966006)(36840700001)(40470700004)(2906002)(5660300002)(40480700001)(8936002)(52536014)(41300700001)(4326008)(8676002)(55016003)(356005)(110136005)(54906003)(336012)(83380400001)(86362001)(47076005)(70206006)(9686003)(81166007)(82740400003)(316002)(70586007)(7696005)(6506007)(26005)(107886003)(33656002)(186003)(40460700003)(478600001)(82310400005)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 11:27:39.9452
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 07a2e3d3-3d2c-44f5-b4d2-08dadc33e0df
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VI1EUR03FT065.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8250

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIHhlbi9hcm06
IFJlZHVjZSByZWR1bmRhbnQgY2xlYXIgcm9vdCBwYWdlcyB3aGVuDQo+IHRlYXJkb3duIHAybQ0K
PiANCj4gSGkgSGVucnksDQo+IA0KPiA+ICAgICAgIFBST0dSRVNTKHAybSk6DQo+ID4gKyAgICAg
ICAgLyoNCj4gPiArICAgICAgICAgKiBXZSBhcmUgYWJvdXQgdG8gZnJlZSB0aGUgaW50ZXJtZWRp
YXRlIHBhZ2UtdGFibGVzLCBzbyBjbGVhciB0aGUNCj4gPiArICAgICAgICAgKiByb290IHRvIHBy
ZXZlbnQgYW55IHdhbGsgdG8gdXNlIHRoZW0uDQo+ID4gKyAgICAgICAgICovDQo+ID4gKyAgICAg
ICAgcDJtX2NsZWFyX3Jvb3RfcGFnZXMoJmQtPmFyY2gucDJtKTsNCj4gDQo+IFRoZSBjb21taXQg
bWVzc2FnZSBzdWdnZXN0cyB0aGlzIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBvbmNlLiBIb3dldmVy
LA0KPiB5b3Ugd2lsbCBzdGlsbCBlbmQgdXAgdG8gY2FsbCBwMm1fY2xlYXJfcm9vdF9wYWdlcygp
IG11bHRpcGxlIHRpbWUgaWYNCj4gcDJtX3RlYXJkb3duKCkgaXMgcHJlZW1wdGVkLg0KDQpUaGFu
a3MgZm9yIGNvbmZpcm1pbmcgdGhpcywgd291bGQgYWRkaW5nIGFub3RoZXIgUFJPR1JFU1Mgc3Rh
Z2UNCnN1Y2ggYXMgUFJPR1JFU1MocDJtX2NsZWFuKSBiZWZvcmUgUFJPR1JFU1MocDJtKSBzZWVt
IG9rIHRvIHlvdT8NCg0KPiANCj4gPiAgICAgICAgICAgcmV0ID0gcDJtX3RlYXJkb3duKGQsIHRy
dWUpOw0KPiA+ICAgICAgICAgICBpZiAoIHJldCApDQo+ID4gICAgICAgICAgICAgICByZXR1cm4g
cmV0Ow0KPiA+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcDJtLmgNCj4g
Yi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcDJtLmgNCj4gPiBpbmRleCA5MWRmOTIyZTFjLi5i
ZjUxODNlNTNhIDEwMDY0NA0KPiA+IC0tLSBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wMm0u
aA0KPiA+ICsrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wMm0uaA0KPiA+IEBAIC0yODEs
NiArMjgxLDcgQEAgaW50IHAybV9zZXRfZW50cnkoc3RydWN0IHAybV9kb21haW4gKnAybSwNCj4g
Pg0KPiA+ICAgYm9vbCBwMm1fcmVzb2x2ZV90cmFuc2xhdGlvbl9mYXVsdChzdHJ1Y3QgZG9tYWlu
ICpkLCBnZm5fdCBnZm4pOw0KPiA+DQo+ID4gK3ZvaWQgcDJtX2NsZWFyX3Jvb3RfcGFnZXMoc3Ry
dWN0IHAybV9kb21haW4gKnAybSk7DQo+ID4gICB2b2lkIHAybV9pbnZhbGlkYXRlX3Jvb3Qoc3Ry
dWN0IHAybV9kb21haW4gKnAybSk7DQo+ID4NCj4gPiAgIC8qDQo+ID4gZGlmZiAtLWdpdCBhL3hl
bi9hcmNoL2FybS9wMm0uYyBiL3hlbi9hcmNoL2FybS9wMm0uYw0KPiA+IGluZGV4IDk0OGYxOTlk
ODQuLjBjOTQyYzU5MjMgMTAwNjQ0DQo+ID4gLS0tIGEveGVuL2FyY2gvYXJtL3AybS5jDQo+ID4g
KysrIGIveGVuL2FyY2gvYXJtL3AybS5jDQo+ID4gQEAgLTEzMTQsNiArMTMxNCwxOCBAQCBzdGF0
aWMgdm9pZCBwMm1faW52YWxpZGF0ZV90YWJsZShzdHJ1Y3QNCj4gcDJtX2RvbWFpbiAqcDJtLCBt
Zm5fdCBtZm4pDQo+ID4gICAgICAgcDJtLT5uZWVkX2ZsdXNoID0gdHJ1ZTsNCj4gPiAgIH0NCj4g
Pg0KPiA+ICAgICAgIC8qDQo+ID4gICAgICAgICogVGhlIGRvbWFpbiB3aWxsIG5vdCBiZSBzY2hl
ZHVsZWQgYW55bW9yZSwgc28gaW4gdGhlb3J5IHdlIHNob3VsZA0KPiA+ICAgICAgICAqIG5vdCBu
ZWVkIHRvIGZsdXNoIHRoZSBUTEJzLiBEbyBpdCBmb3Igc2FmZXR5IHB1cnBvc2UuDQo+IA0KPiBU
aGlzIGZsdXNoIG5lZWRzIHRvIGJlIG1vdmVkIGluIHAybV9jbGVhcl9yb290X3BhZ2VzKCkuDQoN
ClN1cmUsIHdpbGwgbW92ZSB0aGlzIGluIHYyLg0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+
IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4gR3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 11:31:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 11:31:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459512.717261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4h2I-0005aX-Rr; Mon, 12 Dec 2022 11:31:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459512.717261; Mon, 12 Dec 2022 11:31:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4h2I-0005aQ-P2; Mon, 12 Dec 2022 11:31:54 +0000
Received: by outflank-mailman (input) for mailman id 459512;
 Mon, 12 Dec 2022 11:31:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4To3=4K=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1p4h2G-0005a2-Nf
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 11:31:52 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 91289942-7a10-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 12:31:51 +0100 (CET)
Received: from [10.10.1.154] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1670844702896989.5630630718198;
 Mon, 12 Dec 2022 03:31:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91289942-7a10-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; t=1670844705; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=RRo4IxUK5qftydASyZjADfjaO9qHe486UWix+GlHL/4T465GTLKvIcbzrG5poEZdsYFAlrYvFzfiBCETNhfoiF80hEz1qkMKnJNiPBvOZy/v27MUQ9PwQ08nB/mQtJeza7C40g0m1bI5J9HyLg3VVZDcEU0twpViZ16h4EF+mUg=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1670844705; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=A1lN9Op5XdwBekxwxyKSk7QHsWn0d6DzrHYzjjeX2go=; 
	b=TMtE8ApPl9Bx1/gnbTWdi7FwGWVLuvPbwHYfmQaDCaYJf0HiY9R5vA1Gju+z/BDYUvKPgnR4AG8/oVJzCjAjKNJ8p708+bdl6JcSaqz+b8rB54u1pe6vpPxs92TZAuwhqJbeRK4jio14oGjDpE6OLAP6GR9R0QxEM+YN9a3WZcg=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1670844705;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=A1lN9Op5XdwBekxwxyKSk7QHsWn0d6DzrHYzjjeX2go=;
	b=le///l0k8+zy+vadfAZ6LD2SJpbVXBBXC9Kna7HabPfwKQbcgoG1EsQtgUEEji3b
	s+81XEQaPkx3fcBxnDvD3mTRU7vNA1Je+fk15v7r1pD76n6wczXKiLbDxoY4TxBYT3N
	YcaGum9bECBwzWqi/ZSQlp773L8oMYm2GVb+uU78=
Message-ID: <0171da79-2c42-071b-e7cb-ca162e04654b@apertussolutions.com>
Date: Mon, 12 Dec 2022 06:31:41 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [PATCH] xsm/flask: mkflash.sh: Use const when generating
 initial_sid_to_string[]
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Julien Grall <jgrall@amazon.com>
References: <20221212093631.38018-1-julien@xen.org>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20221212093631.38018-1-julien@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 12/12/22 04:36, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> The array initial_sid_to_string is storing pointer to literal strings
> and is not meant to be modified. So change the type of the variable
> to "const char * const ...[]".
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> ---
>   xen/xsm/flask/policy/mkflask.sh | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/xsm/flask/policy/mkflask.sh b/xen/xsm/flask/policy/mkflask.sh
> index 591ce832a1d1..611689768167 100755
> --- a/xen/xsm/flask/policy/mkflask.sh
> +++ b/xen/xsm/flask/policy/mkflask.sh
> @@ -34,7 +34,7 @@ BEGIN	{
>   		printf("/*\n * Security object class definitions\n */\n") > debugfile;
>   		printf("    S_(\"null\")\n") > debugfile;
>   		printf("/* This file is automatically generated.  Do not edit. */\n") > debugfile2;
> -		printf("static char *initial_sid_to_string[] =\n{\n") > debugfile2;
> +		printf("static const char * const initial_sid_to_string[] =\n{\n") > debugfile2;
>   		printf("    \"null\",\n") > debugfile2;
>   	}
>   /^[ \t]*#/	{

Ack-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 11:37:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 11:37:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459523.717272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4h83-0006Oi-FR; Mon, 12 Dec 2022 11:37:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459523.717272; Mon, 12 Dec 2022 11:37:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4h83-0006Ob-CV; Mon, 12 Dec 2022 11:37:51 +0000
Received: by outflank-mailman (input) for mailman id 459523;
 Mon, 12 Dec 2022 11:37:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xn9i=4K=citrix.com=prvs=338000f17=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p4h82-0006OV-Gn
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 11:37:50 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e299d0d-7a11-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 12:37:35 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e299d0d-7a11-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670845069;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=aTKZA/1gccbH94zm8O8zZv6zPAmrKAeut72yR1Y5zpk=;
  b=OOkcrVP2qNJjvge8zQsL1aphP8AEO390WLlTrX2kmw+7K2Cm6DTgoGSP
   wjIaPIeW0//hCecBYu7HKWj96SRiREPWhUFAHLHjIOzSbg3nMs70d3Jxi
   qhDs+2X4eedHwI7NabRXKFx9XzqChhIBxu++ryXA3vzCjefOJds2cU84c
   0=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87878099
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Wd1RZajj/fQMyBzIOiUgVfCoX161ShAKZh0ujC45NGQN5FlHY01je
 htvUDuBPqrZYDGgfogjb4zn804CscLXnNMwQAQ9ry0xRX8b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5gaEzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQZcHMrZC+8td652bGGRbdgluMsIOz0adZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJagx/5JEWxY9EglH2dSFYr1SE47I6+WHJwCR60aT3McqTcduPLSlQthbH9
 j2WpzWoav0cHOKx6R/YtTWjuuvogx/pQ4IfGJ+b0Mc/1TV/wURMUUZLBDNXu8KRlUqWS99Zb
 UsO9UIGr6co81ewZsLgRBD+q3mB1jYZUsBVGvc36ymMzLTV+AeTAmUYTj9HZ8civcVwTjsvv
 neZktWsCTFxvbm9TXOG6qzSvT60ITISL2IJeWkDVwRt3jX4iNht1FSVFI8lSfPryI2ucd3t/
 9yUhClmxJMZsvE566qi/m3I3T68gZfFaxFgs207QVmZxg9+YYekYamh5l7a8etMIe6lc7WRg
 JQXs5PAtb5TVPlhgATIGbxQR+/xu55pJRWG2TZS848dGyNBEpJJVaRZ+3lAKUhgKa7okhe5M
 RaI6Wu9CHK+VUZGjJObgarrUKzGLoC6T7wJs8w4ifIQCqWdjCfdoElTibe4hggBanQEn6AlI
 ou8es2xF3scAqkP5GPoGL9CgeR2mHBllTK7qXXHI/OPiOr2WZJoYe1dbAvmgh4Rs8toXzk5A
 /4AbpDXmn2zocX1YzXN8J57ELz5BSFTOHwCkOQOLrTrClM/SAkc5wr5netJl3pNw/4EyY8lP
 xiVBidl9bYIrSSedFXSMCE/Nu2HsFQWhStTABHA9G2AgxALCbtDJo9GH3frVdHLLNBe8MM=
IronPort-HdrOrdr: A9a23:Xz1vIaOULwV38MBcTnqjsMiBIKoaSvp037Dk7SFMoHtuA6qlfq
 GV7ZMmPHrP4gr5N0tMpTntAsW9qDbnhP1ICWd4B8bfYOCkghrUEGlahbGSvAEIYheOiNK1t5
 0BT0EOMqyVMbEgt7eC3ODQKb9Jq+VvsprY59s2qU0DcegAUdAE0+4WMGim+2RNNXh7LKt8Op
 qAx9ZN4wGtcW4Qaa2AdwM4dtmGid3XtY7sJSULDR4/6AWIkFqTmcXHOind8BcCci9FhYwv+2
 jdkwD/++GKvvyhxgXHvlWjn6h+qZ/OysZjGMfJsMQTJzn24zzYHLhcZw==
X-IronPort-AV: E=Sophos;i="5.96,238,1665460800"; 
   d="scan'208";a="87878099"
Date: Mon, 12 Dec 2022 11:37:41 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?=
	<marmarek@invisiblethingslab.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Juergen Gross
	<jgross@suse.com>
Subject: Re: [PATCH] libxl: abort on memory allocation errors
Message-ID: <Y5cShXlBnq7sRLuw@perard.uk.xensource.com>
References: <20221211175949.2193629-1-marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20221211175949.2193629-1-marmarek@invisiblethingslab.com>

On Sun, Dec 11, 2022 at 06:59:49PM +0100, Marek Marczykowski-Grecki wrote:
> Use abort() instead of just _exit() in libxl__alloc_failed(). This
> is more friendly for debugging, as it will trap into debugger,
> systemd-coredump will collect coredump/backtrace etc. It's much more
> useful than just "libxl: FATAL ERROR: memory allocation failure (...)"
> message without context where it actually failed.
> 
> Signed-off-by: Marek Marczykowski-Grecki <marmarek@invisiblethingslab.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 11:53:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 11:53:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459532.717283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4hMn-0000Vk-OZ; Mon, 12 Dec 2022 11:53:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459532.717283; Mon, 12 Dec 2022 11:53:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4hMn-0000Vd-Lj; Mon, 12 Dec 2022 11:53:05 +0000
Received: by outflank-mailman (input) for mailman id 459532;
 Mon, 12 Dec 2022 11:53:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Y5Rs=4K=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p4hMm-0000VX-Ud
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 11:53:05 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80cb4f4a-7a13-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 12:52:50 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id r26so12434754edc.10
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 03:53:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80cb4f4a-7a13-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=K8+7SWgDUdIYdXH7wP4fQOoSRFSmJNCY+ssG4Sx/v3I=;
        b=f5ybUyyYKc5TotvPODMjLvj5Dn5w4nJ/f2DvlLbCfndbjFTXhkUi2tCAZg6Ji5r6Pj
         9wTE+8MLdY8+6PO81pUKLgOzquBxPpeN7aa6/KLr6ZhGYp4UxT2ZjNRe9vtP5BQyqh4h
         cQ2NaBE50mASgdeEW8LduqboUkJtJJAWD33s4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=K8+7SWgDUdIYdXH7wP4fQOoSRFSmJNCY+ssG4Sx/v3I=;
        b=ckRKrBWGnahVkPubzAQFWO7a6mFG9avoDHecUZ+GtBZCoXmGN5lZzcFQ+HYiT/jEKG
         t3+7qojgdiVmqdKgDx8vLNU3jPIzry93MUcrlcPIla/+BC/OviRhPjadpwEeluI151VQ
         SFx3eZkeGzxs4Cdnp/c1BMtoNfKPleKMASfAdiCYYEtvMo8xyTYsSMnmKnm+KXk6fL8q
         VsWRV4RR8vXg9yln0f9l3Prac2G9WUYBZgqEJZhzvTQghcwcgZKY3clIp5M4+yto4aW/
         KOrrP9KnKhzlIdo1+yWzhw9b/TFnw7cj5nEUR7kAnw8Iu52ovL+W4Iihihlj3tktIdvr
         2iGQ==
X-Gm-Message-State: ANoB5pmtnxDs6cinzl6ss551OxAMvt9gqZL0dN77vhCobHVHEkrv/E6o
	9ph1gtNP3vzcY7mmt2B81b+/1leeExMB9JSBwW88gg==
X-Google-Smtp-Source: AA0mqf7MMw2TUv0u+JRJ/MHBdmrKyZHxB7zsZqlrOhgMqW8h6dT+Vz2nhPzJ45cmBJ0IO4Y8G5a46sUY4/QBZ6uL7h0=
X-Received: by 2002:aa7:d556:0:b0:45c:6467:94e2 with SMTP id
 u22-20020aa7d556000000b0045c646794e2mr84439781edr.295.1670845983431; Mon, 12
 Dec 2022 03:53:03 -0800 (PST)
MIME-Version: 1.0
References: <20221212093410.36289-1-julien@xen.org> <20221212093410.36289-2-julien@xen.org>
In-Reply-To: <20221212093410.36289-2-julien@xen.org>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 12 Dec 2022 11:52:52 +0000
Message-ID: <CA+zSX=b+cBotrKA4PGTjDPwzHdEECNHMJjbbzo3BYhd4_Ssh1w@mail.gmail.com>
Subject: Re: [PATCH 1/8] docs/process: branching-checklist: Use consistent indentation
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Henry.Wang@arm.com, 
	Julien Grall <jgrall@amazon.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Content-Type: multipart/alternative; boundary="0000000000005135c205efa02576"

--0000000000005135c205efa02576
Content-Type: text/plain; charset="UTF-8"

On Mon, Dec 12, 2022 at 9:34 AM Julien Grall <julien@xen.org> wrote:

> From: Julien Grall <jgrall@amazon.com>
>
> At the moment, branch-checklist.txt is using a mix of soft and hard
> tab. They are both meant to be represented using 8 characters.
>
> In Xen we tend to use 4-space softtab represented with 4 characters. So
> to avoid  having to use a different editor configuration, switch all
> the indentation to 4-space softtab.
>
> Signed-off-by: Julien Grall <jgrall@amazon.com>
>

Acked-by: George Dunlap <george.dunlap@cloud.com>

--0000000000005135c205efa02576
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"></div><br><div class=3D"gmail_quote"><div=
 dir=3D"ltr" class=3D"gmail_attr">On Mon, Dec 12, 2022 at 9:34 AM Julien Gr=
all &lt;<a href=3D"mailto:julien@xen.org">julien@xen.org</a>&gt; wrote:<br>=
</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;b=
order-left:1px solid rgb(204,204,204);padding-left:1ex">From: Julien Grall =
&lt;<a href=3D"mailto:jgrall@amazon.com" target=3D"_blank">jgrall@amazon.co=
m</a>&gt;<br>
<br>
At the moment, branch-checklist.txt is using a mix of soft and hard<br>
tab. They are both meant to be represented using 8 characters.<br>
<br>
In Xen we tend to use 4-space softtab represented with 4 characters. So<br>
to avoid=C2=A0 having to use a different editor configuration, switch all<b=
r>
the indentation to 4-space softtab.<br>
<br>
Signed-off-by: Julien Grall &lt;<a href=3D"mailto:jgrall@amazon.com" target=
=3D"_blank">jgrall@amazon.com</a>&gt;<br></blockquote><div><br></div><div>A=
cked-by: George Dunlap &lt;<a href=3D"mailto:george.dunlap@cloud.com">georg=
e.dunlap@cloud.com</a>&gt;</div></div></div>

--0000000000005135c205efa02576--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 12:08:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 12:08:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459544.717294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4hbw-0002Vb-3b; Mon, 12 Dec 2022 12:08:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459544.717294; Mon, 12 Dec 2022 12:08:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4hbw-0002VU-0N; Mon, 12 Dec 2022 12:08:44 +0000
Received: by outflank-mailman (input) for mailman id 459544;
 Mon, 12 Dec 2022 12:08:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/A98=4K=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p4hbu-0002VO-OV
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 12:08:42 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7a3f340-7a15-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 13:08:41 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0620B3421D;
 Mon, 12 Dec 2022 12:08:41 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D4CC3138F3;
 Mon, 12 Dec 2022 12:08:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id a1OeMsgZl2NZdAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 12 Dec 2022 12:08:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7a3f340-7a15-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670846921; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=9RWPIza+YngD0S0M5lNjTKOVFjadcUW0pWKnqJ+0FRA=;
	b=YBYVJLz/hP6OuQl7RB5CZzJxEGG69mtQRRU81IQRKM0dd/IlnqWpEkGW4INxnJKvH/yCNg
	SjRF333AISjPUTJTo37WJhajaGyvJGCBqM6/76igW0IZJ8vPRTmbN8NRUYtRWpV95OTUAR
	bNpNE6kXgXgcXLXGvg5CreDjRgocv7g=
Message-ID: <f3657164-2f8e-0cab-7273-d31f10556a38@suse.com>
Date: Mon, 12 Dec 2022 13:08:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-9-jgross@suse.com>
 <b0380217-09ff-1fa8-b6b3-1bc98766114b@xen.org>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 08/20] tools/xenstore: add hashlist for finding struct
 domain by domid
In-Reply-To: <b0380217-09ff-1fa8-b6b3-1bc98766114b@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------mrx2Educ0culufv9YERt62MQ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------mrx2Educ0culufv9YERt62MQ
Content-Type: multipart/mixed; boundary="------------0weQgXv90BtyDW3RbQmyuAmU";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <f3657164-2f8e-0cab-7273-d31f10556a38@suse.com>
Subject: Re: [PATCH 08/20] tools/xenstore: add hashlist for finding struct
 domain by domid
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-9-jgross@suse.com>
 <b0380217-09ff-1fa8-b6b3-1bc98766114b@xen.org>
In-Reply-To: <b0380217-09ff-1fa8-b6b3-1bc98766114b@xen.org>

--------------0weQgXv90BtyDW3RbQmyuAmU
Content-Type: multipart/mixed; boundary="------------tYy98GYJ2PBhySwn0mykbdGY"

--------------tYy98GYJ2PBhySwn0mykbdGY
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDEuMTIuMjIgMjI6MzQsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDAxLzExLzIwMjIgMTU6MjgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBA
QCAtMzQxLDQ5ICszMzksNTYgQEAgc3RhdGljIGJvb2wgZ2V0X2RvbWFpbl9pbmZvKHVuc2ln
bmVkIGludCBkb21pZCwgDQo+PiB4Y19kb21pbmZvX3QgKmRvbWluZm8pDQo+PiDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgZG9taW5mby0+ZG9taWQgPT0gZG9taWQ7DQo+PiDCoCB9DQo+
PiAtdm9pZCBjaGVja19kb21haW5zKHZvaWQpDQo+PiArc3RhdGljIGludCBjaGVja19kb21h
aW4odm9pZCAqaywgdm9pZCAqdiwgdm9pZCAqYXJnKQ0KPiANCj4gTG9va2luZyBhdCB0aGlz
IGNhbGxiYWNrLCBzaG91bGRuJ3QgJ2snIGJlIGNvbnN0PyBJZiBub3QsIHdvdWxkbid0IHRo
aXMgbWVhbiBhIA0KPiBjYWxsZXIgY291bGQgcG90ZW50aWFsbHkgbWVzcyB1cCB3aXRoIHRo
ZSBoYXNodGFibGU/DQoNCkkgaGF2ZSBtb2RpZmllZCB0aGUgcHJldmlvdXMgcGF0Y2ggdG8g
bWFrZSBrIGNvbnN0LiBJIGhvcGUgeW91IGFyZQ0KZmluZSB3aXRoIG1lIGhhdmluZyBrZXB0
IHlvdXIgIlJldmlld2VkLWJ5OiIuDQoNCj4gDQo+PiDCoCB7DQo+PiDCoMKgwqDCoMKgIHhj
X2RvbWluZm9fdCBkb21pbmZvOw0KPj4gLcKgwqDCoCBzdHJ1Y3QgZG9tYWluICpkb21haW47
DQo+PiDCoMKgwqDCoMKgIHN0cnVjdCBjb25uZWN0aW9uICpjb25uOw0KPj4gLcKgwqDCoCBp
bnQgbm90aWZ5ID0gMDsNCj4+IMKgwqDCoMKgwqAgYm9vbCBkb21fdmFsaWQ7DQo+PiArwqDC
oMKgIHN0cnVjdCBkb21haW4gKmRvbWFpbiA9IHY7DQo+PiArwqDCoMKgIGJvb2wgKm5vdGlm
eSA9IGFyZzsNCj4+IC0gYWdhaW46DQo+PiAtwqDCoMKgIGxpc3RfZm9yX2VhY2hfZW50cnko
ZG9tYWluLCAmZG9tYWlucywgbGlzdCkgew0KPj4gLcKgwqDCoMKgwqDCoMKgIGRvbV92YWxp
ZCA9IGdldF9kb21haW5faW5mbyhkb21haW4tPmRvbWlkLCAmZG9taW5mbyk7DQo+PiAtwqDC
oMKgwqDCoMKgwqAgaWYgKCFkb21haW4tPmludHJvZHVjZWQpIHsNCj4+IC3CoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIGlmICghZG9tX3ZhbGlkKSB7DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIHRhbGxvY19mcmVlKGRvbWFpbik7DQo+PiAtwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIGdvdG8gYWdhaW47DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCB9DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb250aW51ZTsNCj4+IC3CoMKgwqDC
oMKgwqDCoCB9DQo+PiAtwqDCoMKgwqDCoMKgwqAgaWYgKGRvbV92YWxpZCkgew0KPj4gLcKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKChkb21pbmZvLmNyYXNoZWQgfHwgZG9taW5mby5z
aHV0ZG93bikNCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgJiYgIWRvbWFp
bi0+c2h1dGRvd24pIHsNCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZG9t
YWluLT5zaHV0ZG93biA9IHRydWU7DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIG5vdGlmeSA9IDE7DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8q
DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBBdm9pZCB0cmlnZ2Vy
aW5nIHdhdGNoIGV2ZW50cyB3aGVuIHRoZQ0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgICogZG9tYWluJ3Mgbm9kZXMgYXJlIGJlaW5nIGRlbGV0ZWQuDQo+PiAtwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8NCj4+IC3CoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgaWYgKGRvbWFpbi0+Y29ubikNCj4+IC3CoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25uX2RlbGV0ZV9hbGxfd2F0Y2hlcyhkb21haW4t
PmNvbm4pOw0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQ0KPj4gLcKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgaWYgKCFkb21pbmZvLmR5aW5nKQ0KPj4gLcKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBjb250aW51ZTsNCj4+ICvCoMKgwqAgZG9tX3ZhbGlkID0gZ2V0X2Rv
bWFpbl9pbmZvKGRvbWFpbi0+ZG9taWQsICZkb21pbmZvKTsNCj4+ICvCoMKgwqAgaWYgKCFk
b21haW4tPmludHJvZHVjZWQpIHsNCj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoIWRvbV92YWxp
ZCkgew0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdGFsbG9jX2ZyZWUoZG9tYWluKTsN
Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAxOw0KPiANCj4gWW91IGFyZSBv
bmx5IGZyZWVpbmcgb25lIGRvbWFpbiBoZXJlLiBTbyBzaG91bGRuJ3Qgd2UgcmV0dXJuIDA/
IElmIG5vdCBwbGVhc2UgDQo+IGV4cGxhaW4gaW4gYSBjb21tZW50Lg0KDQpPaCwgZ29vZCBj
YXRjaC4gVGhhdCB3YXMgYSBsZWZ0b3ZlciBmcm9tIGEgcHJldmlvdXMgc3RhdGUgd2hlcmUg
ZXZlbg0KcmVtb3ZpbmcgdGhlIGVudHJ5IGl0c2VsZiB3YXNuJ3QgYWxsb3dlZC4NCg0KPiAN
Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9DQo+PiAtwqDCoMKgwqDCoMKgwqAgaWYgKGRvbWFp
bi0+Y29ubikgew0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyogZG9tYWluIGlzIGEg
dGFsbG9jIGNoaWxkIG9mIGRvbWFpbi0+Y29ubi4gKi8NCj4+IC3CoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIGNvbm4gPSBkb21haW4tPmNvbm47DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCBkb21haW4tPmNvbm4gPSBOVUxMOw0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdGFs
bG9jX3VubGluayh0YWxsb2NfYXV0b2ZyZWVfY29udGV4dCgpLCBjb25uKTsNCj4+IC3CoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIG5vdGlmeSA9IDA7IC8qIGRlc3Ryb3lfZG9tYWluKCkgZmly
ZXMgdGhlIHdhdGNoICovDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGFnYWlu
Ow0KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAwOw0KPj4gK8KgwqDCoCB9DQo+PiArwqDC
oMKgIGlmIChkb21fdmFsaWQpIHsNCj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoKGRvbWluZm8u
Y3Jhc2hlZCB8fCBkb21pbmZvLnNodXRkb3duKQ0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgJiYgIWRvbWFpbi0+c2h1dGRvd24pIHsNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IGRvbWFpbi0+c2h1dGRvd24gPSB0cnVlOw0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
Km5vdGlmeSA9IHRydWU7DQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKg0KPj4gK8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIEF2b2lkIHRyaWdnZXJpbmcgd2F0Y2ggZXZlbnRz
IHdoZW4gdGhlIGRvbWFpbidzDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogbm9k
ZXMgYXJlIGJlaW5nIGRlbGV0ZWQuDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICov
DQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoZG9tYWluLT5jb25uKQ0KPj4gK8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25uX2RlbGV0ZV9hbGxfd2F0Y2hlcyhk
b21haW4tPmNvbm4pOw0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0NCj4+ICvCoMKgwqDCoMKg
wqDCoCBpZiAoIWRvbWluZm8uZHlpbmcpDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBy
ZXR1cm4gMDsNCj4+ICvCoMKgwqAgfQ0KPj4gK8KgwqDCoCBpZiAoZG9tYWluLT5jb25uKSB7
DQo+PiArwqDCoMKgwqDCoMKgwqAgLyogZG9tYWluIGlzIGEgdGFsbG9jIGNoaWxkIG9mIGRv
bWFpbi0+Y29ubi4gKi8NCj4+ICvCoMKgwqDCoMKgwqDCoCBjb25uID0gZG9tYWluLT5jb25u
Ow0KPj4gK8KgwqDCoMKgwqDCoMKgIGRvbWFpbi0+Y29ubiA9IE5VTEw7DQo+PiArwqDCoMKg
wqDCoMKgwqAgdGFsbG9jX3VubGluayh0YWxsb2NfYXV0b2ZyZWVfY29udGV4dCgpLCBjb25u
KTsNCj4+ICvCoMKgwqDCoMKgwqDCoCAqbm90aWZ5ID0gZmFsc2U7IC8qIGRlc3Ryb3lfZG9t
YWluKCkgZmlyZXMgdGhlIHdhdGNoICovDQo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIDE7
DQo+IA0KPiBDYW4geW91IGFkZCBhIGNvbW1lbnQgZXhwbGFpbmluZyB3aHkgMSBpcyByZXR1
cm5lZCBoZXJlPyBJcyB0aGlzIGJlY2F1c2Ugd2UgbWF5IA0KPiBmcmVlIHR3byBkb21haW5z
Pw0KDQpTaG91bGQgYmUgdGhlIHNhbWUgY2FzZSBhcyBhYm92ZS4NCg0KSW4gdGhlIGluaXRp
YWwgdmVyc2lvbiBJIGp1c3QgbWFwcGVkIHRoZSByZW1vdmVkICJnb3RvIGFnYWluIiB0byBh
IHJlc3RhcnQgb2YNCmhhc2h0YWJsZV9pdGVyYXRlKCkuDQoNCg0KSnVlcmdlbg0K
--------------tYy98GYJ2PBhySwn0mykbdGY
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------tYy98GYJ2PBhySwn0mykbdGY--

--------------0weQgXv90BtyDW3RbQmyuAmU--

--------------mrx2Educ0culufv9YERt62MQ
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOXGcgFAwAAAAAACgkQsN6d1ii/Ey91
sAgAlp1cwASARHL623uhwdj5CUWLoWT7jRvRxYyll9kXYVf4Q8CIgRskm0IvabkBsp50Q3AtR0Nd
HjbsQLUl6a2/V1se5XyJcG9XSRiJAbyPCVOd2zX1GPjS6Ql1MV3ENMxeALm7soKyFnjcXC1DoXRQ
Xy5js/EdoLld01vKJ4utgS0uFxeAn4TMtMcCK9WK+mf7282pSXtXywpmmTk2DtXe9FpYCdX8QkRL
C6H9LBkikfEL87RHlCCM4Wn0r8dOM7y5aA7BegSHcYIf+n0hEjCYteDDwNH7YaqDRttM1PX4Gi2r
kgIR6Md7CxOffBL3YXMvQheQ6TJLpJFNu+T3EXv6uQ==
=VwH2
-----END PGP SIGNATURE-----

--------------mrx2Educ0culufv9YERt62MQ--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 12:11:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 12:11:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459552.717304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4heM-0003sw-G3; Mon, 12 Dec 2022 12:11:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459552.717304; Mon, 12 Dec 2022 12:11:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4heM-0003sp-D6; Mon, 12 Dec 2022 12:11:14 +0000
Received: by outflank-mailman (input) for mailman id 459552;
 Mon, 12 Dec 2022 12:11:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Y5Rs=4K=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p4heK-0003sj-Ul
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 12:11:12 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 103e2e3b-7a16-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 13:11:10 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id t17so27445480eju.1
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 04:11:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 103e2e3b-7a16-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=we0UjjtDg7zgG01XqhdzcZf5aBOw27842uHu3GDOfws=;
        b=OpmDsDT4MP0ixZYaRQzV/+JCyuCQ4/I3YwDXjdcJ2BLk7mhRXcw++LeGK4Em2kNLcw
         L1NMEUrUCL0WQcIDtlpazKgAnDclncS7EnFI9Fdb7V/M8kTZP/TWGUxc7FHApNx2XgIU
         MmxW2DFHonpxWOLYLFHIS4vSeYY3LWthVp0XM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=we0UjjtDg7zgG01XqhdzcZf5aBOw27842uHu3GDOfws=;
        b=WPGYHhE5Mpu5eKE08h81Gna26o/F8TeVtv9WJTK+Cp9DCLif8XVNYl5ffz/W58YtB4
         wEGxIPrWgsw8diHUEfrMGMNxo0Kwqz5VAqHaxJQ1UVi2UK7MJOB+wkdjgnp+A+Ucrot6
         AO+04QSL60x+wFssJrpNWkhR2qzojzhK+7LGdHgYbE/mIeVlvGiti0/3uQhW7DyiF2Pi
         hPbquF1dmN82Op6EtFkazC7iw2ZEwbkMUTgz27u6QdyVHiVYCYRDiYmxvx6UgqaWmKkT
         fKUWcpL+i4kk2q85kIhJaqtwfw0e0jyghO+lTWO4qc0pulY1e/xmctPRfaXoU2WoUT99
         3Vew==
X-Gm-Message-State: ANoB5pldL5s4/TPHNDf8X4FprM8GWR2zYRneqQptFJCT22GNdBphfxX5
	LN0MwFUSVDNLTSN9uN4iKcnn21mwm3z6HdHOFwV/cA==
X-Google-Smtp-Source: AA0mqf48Ro35xQ3SGcr6ANWr3gkp4vOItDhS4IjCVIG+69ok0qV5yzfdVwhOvPqzyhUIZdb/3AB0xh7B2VjTVQwnHfU=
X-Received: by 2002:a17:906:4bcc:b0:7be:6ab8:4ccc with SMTP id
 x12-20020a1709064bcc00b007be6ab84cccmr44944916ejv.713.1670847069605; Mon, 12
 Dec 2022 04:11:09 -0800 (PST)
MIME-Version: 1.0
References: <20221212093410.36289-1-julien@xen.org> <20221212093410.36289-3-julien@xen.org>
In-Reply-To: <20221212093410.36289-3-julien@xen.org>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 12 Dec 2022 12:10:58 +0000
Message-ID: <CA+zSX=b7GgmvLdDb3UFWry7ZY7YSzUz1taegwgoQUQo8_EMAYw@mail.gmail.com>
Subject: Re: [PATCH 2/8] docs/process: branching-checklist: Remove reference
 to qemu-ijw.git
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Henry.Wang@arm.com, 
	Julien Grall <jgrall@amazon.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, ijackson@chiark.greenend.org.uk
Content-Type: multipart/alternative; boundary="0000000000000ee59605efa0668f"

--0000000000000ee59605efa0668f
Content-Type: text/plain; charset="UTF-8"

On Mon, Dec 12, 2022 at 9:34 AM Julien Grall <julien@xen.org> wrote:

> From: Julien Grall <jgrall@amazon.com>
>
> Per [1], qemu-iwj.git was a clone of QEMU traditional on Ian's computer
> for tagging QEMU trad.
>
> The next section will provide tag for the official tree. So remove
> the section about qemu-ijw.git.
>
> [1] 25482.10006.140155.984629@chiark.greenend.org.uk
>
> Signed-off-by: Julien Grall <jgrall@amazon.com>
>

Acked-by: George Dunlap <george.dunlap@cloud.com>

--0000000000000ee59605efa0668f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Mon, Dec 12, 2022 at 9:34 AM Julie=
n Grall &lt;<a href=3D"mailto:julien@xen.org">julien@xen.org</a>&gt; wrote:=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">From: Julien Gr=
all &lt;<a href=3D"mailto:jgrall@amazon.com" target=3D"_blank">jgrall@amazo=
n.com</a>&gt;<br>
<br>
Per [1], qemu-iwj.git was a clone of QEMU traditional on Ian&#39;s computer=
<br>
for tagging QEMU trad.<br>
<br>
The next section will provide tag for the official tree. So remove<br>
the section about qemu-ijw.git.<br>
<br>
[1] <a href=3D"mailto:25482.10006.140155.984629@chiark.greenend.org.uk" tar=
get=3D"_blank">25482.10006.140155.984629@chiark.greenend.org.uk</a><br>
<br>
Signed-off-by: Julien Grall &lt;<a href=3D"mailto:jgrall@amazon.com" target=
=3D"_blank">jgrall@amazon.com</a>&gt;<br></blockquote><div><br></div><div>A=
cked-by: George Dunlap &lt;<a href=3D"mailto:george.dunlap@cloud.com">georg=
e.dunlap@cloud.com</a>&gt;</div></div></div>

--0000000000000ee59605efa0668f--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 12:11:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 12:11:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459560.717316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4hf3-0004Pk-ON; Mon, 12 Dec 2022 12:11:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459560.717316; Mon, 12 Dec 2022 12:11:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4hf3-0004Pd-Le; Mon, 12 Dec 2022 12:11:57 +0000
Received: by outflank-mailman (input) for mailman id 459560;
 Mon, 12 Dec 2022 12:11:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Y5Rs=4K=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p4hf1-00049X-Fl
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 12:11:55 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2adf1ac6-7a16-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 13:11:54 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id tz12so4750986ejc.9
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 04:11:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2adf1ac6-7a16-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=QTj5PzSAD8ckcRZ5fkls/1kVA1Ib8uFdBQua4sbDGc0=;
        b=lpGySwIVfWOQDVC40Ozx5QYQGg30VcvjckLu5lGqop1adiz9oTF82vP+yuS6X3cVK7
         /kaAiezR7edFOtV7pCF3HiNoObq2mDD+EV7nWYlUKyqAXVBVjHbx1yJupHJP9oUP4AiN
         uQ0FLEeOBtvrUNl7HTa0QRVCW5JQ5K7j0HOe8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=QTj5PzSAD8ckcRZ5fkls/1kVA1Ib8uFdBQua4sbDGc0=;
        b=Yqh6WDRck3ZZDjhwXwnt1pEjkg4+YyPCk51g0FCSZl5lE5mo6pGEYciv3D0kqJCMUc
         /iqUB4tdbEVjmImK90MEv4dyVFUKaW9QN9C7Mb0eAqiaS5bFQ28hLLWy3+uvJ4FtIIAI
         1Tbmj1ofEee+p/4OVZX0aM8W+oZOQ5e0tcmcb1ciY/WecVnXnmNpWmZn30idi+2/l0HZ
         SMkhcboTIgOpV5XcKx48gfoHpQxgjPD0jICE+MGZmJVKvvmkeMIG335lUokRykWbcNdc
         /v9Snl8YMCp7RZOYqvketjuvVKk4/VgBmRvYkIEMlbpeAE+m59y2wUkmX+a9SmN7FW+5
         gV/Q==
X-Gm-Message-State: ANoB5pmRbRVv0lEOLmChGag3uQAh1RqLD1Yme13yKOoTUXbVleJk/Aj4
	cmoX6XDmrcbXxgkksR7+MZOn+qCuovaOwTEPpW+SBw==
X-Google-Smtp-Source: AA0mqf7RSszhd0tbKpk/IcF1Z1aBwT1jXVlZURgSui0pTj8O0btjg4BTSjB7P55OGaQMmUb3R6PbH/tJPaQYeQXxFeg=
X-Received: by 2002:a17:906:970a:b0:7c1:266a:73e with SMTP id
 k10-20020a170906970a00b007c1266a073emr4134112ejx.179.1670847114274; Mon, 12
 Dec 2022 04:11:54 -0800 (PST)
MIME-Version: 1.0
References: <20221212093410.36289-1-julien@xen.org> <20221212093410.36289-4-julien@xen.org>
In-Reply-To: <20221212093410.36289-4-julien@xen.org>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 12 Dec 2022 12:11:43 +0000
Message-ID: <CA+zSX=ZyOKDLN3_9_0T3CRf_yEoCpQjzY+nR7SJkrmK+2gNJcw@mail.gmail.com>
Subject: Re: [PATCH 3/8] docs/process: branching-checklist: Remove reference
 to root
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Henry.Wang@arm.com, 
	Julien Grall <jgrall@amazon.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Content-Type: multipart/alternative; boundary="000000000000b8810d05efa068ac"

--000000000000b8810d05efa068ac
Content-Type: text/plain; charset="UTF-8"

On Mon, Dec 12, 2022 at 9:34 AM Julien Grall <julien@xen.org> wrote:

> From: Julien Grall <jgrall@amazon.com>
>
> The steps to generate the documentation for the new branch requires
> to ssh as root and then su to run with the user xendocs.
>
> The release technician may not (and should not) have access to root.
> So update the step to directly ssh as xendocs.
>
> Signed-off-by: Julien Grall <jgrall@amazon.com>
>

Acked-by: George Dunlap <george.dunlap@cloud.com>

--000000000000b8810d05efa068ac
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Mon, Dec 12, 2022 at 9:34 AM Julie=
n Grall &lt;<a href=3D"mailto:julien@xen.org">julien@xen.org</a>&gt; wrote:=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">From: Julien Gr=
all &lt;<a href=3D"mailto:jgrall@amazon.com" target=3D"_blank">jgrall@amazo=
n.com</a>&gt;<br>
<br>
The steps to generate the documentation for the new branch requires<br>
to ssh as root and then su to run with the user xendocs.<br>
<br>
The release technician may not (and should not) have access to root.<br>
So update the step to directly ssh as xendocs.<br>
<br>
Signed-off-by: Julien Grall &lt;<a href=3D"mailto:jgrall@amazon.com" target=
=3D"_blank">jgrall@amazon.com</a>&gt;<br></blockquote><div><br></div><div>A=
cked-by: George Dunlap &lt;<a href=3D"mailto:george.dunlap@cloud.com">georg=
e.dunlap@cloud.com</a>&gt;</div><div><br></div></div></div>

--000000000000b8810d05efa068ac--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 12:12:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 12:12:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459561.717327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4hf6-0004gW-Vs; Mon, 12 Dec 2022 12:12:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459561.717327; Mon, 12 Dec 2022 12:12:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4hf6-0004gP-Su; Mon, 12 Dec 2022 12:12:00 +0000
Received: by outflank-mailman (input) for mailman id 459561;
 Mon, 12 Dec 2022 12:12:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4hf6-0004g1-6h
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 12:12:00 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4hf5-0004oE-Fr; Mon, 12 Dec 2022 12:11:59 +0000
Received: from [54.239.6.188] (helo=[192.168.19.227])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4hf5-0008KT-6s; Mon, 12 Dec 2022 12:11:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=vqyUqugs7hQA9paiVAho9Ln7KE7hNXBld2RYWuLIbVo=; b=MG+5jtWIJ6ll4KhXngRQgHHHv0
	te83jc/Zp/qKB3VUN9+islNaZTWbxjfAvELT0J9Gi0G9Zp24hJiMWxXBOm4G/VvdHw4Yb5aYTqH3m
	SpeHBJs8lELCUYDCaF5h06sMeZNiMLze/wfypYK1joEm3trOss3mrOTGmQeAhjFRT+QE=;
Message-ID: <64c11d87-454c-54bf-1036-f77318190e75@xen.org>
Date: Mon, 12 Dec 2022 12:11:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 08/20] tools/xenstore: add hashlist for finding struct
 domain by domid
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-9-jgross@suse.com>
 <b0380217-09ff-1fa8-b6b3-1bc98766114b@xen.org>
 <f3657164-2f8e-0cab-7273-d31f10556a38@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f3657164-2f8e-0cab-7273-d31f10556a38@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 12/12/2022 12:08, Juergen Gross wrote:
> On 01.12.22 22:34, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 01/11/2022 15:28, Juergen Gross wrote:
>>> @@ -341,49 +339,56 @@ static bool get_domain_info(unsigned int domid, 
>>> xc_dominfo_t *dominfo)
>>>              dominfo->domid == domid;
>>>   }
>>> -void check_domains(void)
>>> +static int check_domain(void *k, void *v, void *arg)
>>
>> Looking at this callback, shouldn't 'k' be const? If not, wouldn't 
>> this mean a caller could potentially mess up with the hashtable?
> 
> I have modified the previous patch to make k const. I hope you are
> fine with me having kept your "Reviewed-by:".

Yes I am fine with that.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 12:19:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 12:19:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459576.717337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4hlq-0005s4-NN; Mon, 12 Dec 2022 12:18:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459576.717337; Mon, 12 Dec 2022 12:18:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4hlq-0005rx-Kl; Mon, 12 Dec 2022 12:18:58 +0000
Received: by outflank-mailman (input) for mailman id 459576;
 Mon, 12 Dec 2022 12:18:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=/A98=4K=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p4hlp-0005rm-NO
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 12:18:57 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25adab55-7a17-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 13:18:56 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 2802320DA0;
 Mon, 12 Dec 2022 12:18:55 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 064AF138F3;
 Mon, 12 Dec 2022 12:18:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mVU5AC8cl2NaeQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 12 Dec 2022 12:18:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25adab55-7a17-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670847535; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=qdW3jzQrLYj2pvb2WL6Qk3RA3QhJUSjKWI9QVGJclbA=;
	b=d+KkegkpKvJKujUjx0wwCUFmXFu/TGo/RgPISajrFlLQpozQGIMrPQha59MGsg0sYPN0QG
	6q8ryJhrAgA2fiLJW9kxUJv5326yYpmRfEYOjbfplC0BL2H4VWXq9vX7DoQ1vVsFnuPZzV
	R3y4oCL03HmCNQCyYY6P24H4I+UCRl4=
Message-ID: <2eefb93e-e48e-17c5-fcab-bdfcff8d7718@suse.com>
Date: Mon, 12 Dec 2022 13:18:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 08/20] tools/xenstore: add hashlist for finding struct
 domain by domid
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-9-jgross@suse.com>
 <b0380217-09ff-1fa8-b6b3-1bc98766114b@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <b0380217-09ff-1fa8-b6b3-1bc98766114b@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------tjUuQAZUdDsnxzJtAdeDyulb"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------tjUuQAZUdDsnxzJtAdeDyulb
Content-Type: multipart/mixed; boundary="------------IIYqVxjQQHDgD9y0oNnSMmlZ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <2eefb93e-e48e-17c5-fcab-bdfcff8d7718@suse.com>
Subject: Re: [PATCH 08/20] tools/xenstore: add hashlist for finding struct
 domain by domid
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-9-jgross@suse.com>
 <b0380217-09ff-1fa8-b6b3-1bc98766114b@xen.org>
In-Reply-To: <b0380217-09ff-1fa8-b6b3-1bc98766114b@xen.org>

--------------IIYqVxjQQHDgD9y0oNnSMmlZ
Content-Type: multipart/mixed; boundary="------------YeX0OLJEDPJQqpM2pZQWoZRL"

--------------YeX0OLJEDPJQqpM2pZQWoZRL
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDEuMTIuMjIgMjI6MzQsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDAxLzExLzIwMjIgMTU6MjgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBA
QCAtMzQxLDQ5ICszMzksNTYgQEAgc3RhdGljIGJvb2wgZ2V0X2RvbWFpbl9pbmZvKHVuc2ln
bmVkIGludCBkb21pZCwgDQo+PiB4Y19kb21pbmZvX3QgKmRvbWluZm8pDQo+PiDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgZG9taW5mby0+ZG9taWQgPT0gZG9taWQ7DQo+PiDCoCB9DQo+
PiAtdm9pZCBjaGVja19kb21haW5zKHZvaWQpDQo+PiArc3RhdGljIGludCBjaGVja19kb21h
aW4odm9pZCAqaywgdm9pZCAqdiwgdm9pZCAqYXJnKQ0KPiANCj4gTG9va2luZyBhdCB0aGlz
IGNhbGxiYWNrLCBzaG91bGRuJ3QgJ2snIGJlIGNvbnN0PyBJZiBub3QsIHdvdWxkbid0IHRo
aXMgbWVhbiBhIA0KPiBjYWxsZXIgY291bGQgcG90ZW50aWFsbHkgbWVzcyB1cCB3aXRoIHRo
ZSBoYXNodGFibGU/DQo+IA0KPj4gwqAgew0KPj4gwqDCoMKgwqDCoCB4Y19kb21pbmZvX3Qg
ZG9taW5mbzsNCj4+IC3CoMKgwqAgc3RydWN0IGRvbWFpbiAqZG9tYWluOw0KPj4gwqDCoMKg
wqDCoCBzdHJ1Y3QgY29ubmVjdGlvbiAqY29ubjsNCj4+IC3CoMKgwqAgaW50IG5vdGlmeSA9
IDA7DQo+PiDCoMKgwqDCoMKgIGJvb2wgZG9tX3ZhbGlkOw0KPj4gK8KgwqDCoCBzdHJ1Y3Qg
ZG9tYWluICpkb21haW4gPSB2Ow0KPj4gK8KgwqDCoCBib29sICpub3RpZnkgPSBhcmc7DQo+
PiAtIGFnYWluOg0KPj4gLcKgwqDCoCBsaXN0X2Zvcl9lYWNoX2VudHJ5KGRvbWFpbiwgJmRv
bWFpbnMsIGxpc3QpIHsNCj4+IC3CoMKgwqDCoMKgwqDCoCBkb21fdmFsaWQgPSBnZXRfZG9t
YWluX2luZm8oZG9tYWluLT5kb21pZCwgJmRvbWluZm8pOw0KPj4gLcKgwqDCoMKgwqDCoMKg
IGlmICghZG9tYWluLT5pbnRyb2R1Y2VkKSB7DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCBpZiAoIWRvbV92YWxpZCkgew0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCB0YWxsb2NfZnJlZShkb21haW4pOw0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBnb3RvIGFnYWluOw0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQ0KPj4gLcKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgY29udGludWU7DQo+PiAtwqDCoMKgwqDCoMKgwqAgfQ0K
Pj4gLcKgwqDCoMKgwqDCoMKgIGlmIChkb21fdmFsaWQpIHsNCj4+IC3CoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIGlmICgoZG9taW5mby5jcmFzaGVkIHx8IGRvbWluZm8uc2h1dGRvd24pDQo+
PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICYmICFkb21haW4tPnNodXRkb3du
KSB7DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRvbWFpbi0+c2h1dGRv
d24gPSB0cnVlOw0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBub3RpZnkg
PSAxOw0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKg0KPj4gLcKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogQXZvaWQgdHJpZ2dlcmluZyB3YXRjaCBl
dmVudHMgd2hlbiB0aGUNCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAq
IGRvbWFpbidzIG5vZGVzIGFyZSBiZWluZyBkZWxldGVkLg0KPj4gLcKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgICovDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIGlmIChkb21haW4tPmNvbm4pDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgY29ubl9kZWxldGVfYWxsX3dhdGNoZXMoZG9tYWluLT5jb25uKTsNCj4+
IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIH0NCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IGlmICghZG9taW5mby5keWluZykNCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgY29udGludWU7DQo+PiArwqDCoMKgIGRvbV92YWxpZCA9IGdldF9kb21haW5faW5mbyhk
b21haW4tPmRvbWlkLCAmZG9taW5mbyk7DQo+PiArwqDCoMKgIGlmICghZG9tYWluLT5pbnRy
b2R1Y2VkKSB7DQo+PiArwqDCoMKgwqDCoMKgwqAgaWYgKCFkb21fdmFsaWQpIHsNCj4+ICvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRhbGxvY19mcmVlKGRvbWFpbik7DQo+PiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gMTsNCj4gDQo+IFlvdSBhcmUgb25seSBmcmVlaW5n
IG9uZSBkb21haW4gaGVyZS4gU28gc2hvdWxkbid0IHdlIHJldHVybiAwPyBJZiBub3QgcGxl
YXNlIA0KPiBleHBsYWluIGluIGEgY29tbWVudC4NCj4gDQo+PiDCoMKgwqDCoMKgwqDCoMKg
wqAgfQ0KPj4gLcKgwqDCoMKgwqDCoMKgIGlmIChkb21haW4tPmNvbm4pIHsNCj4+IC3CoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIC8qIGRvbWFpbiBpcyBhIHRhbGxvYyBjaGlsZCBvZiBkb21h
aW4tPmNvbm4uICovDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25uID0gZG9tYWlu
LT5jb25uOw0KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZG9tYWluLT5jb25uID0gTlVM
TDsNCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRhbGxvY191bmxpbmsodGFsbG9jX2F1
dG9mcmVlX2NvbnRleHQoKSwgY29ubik7DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBu
b3RpZnkgPSAwOyAvKiBkZXN0cm95X2RvbWFpbigpIGZpcmVzIHRoZSB3YXRjaCAqLw0KPj4g
LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ290byBhZ2FpbjsNCj4+ICvCoMKgwqDCoMKgwqDC
oCByZXR1cm4gMDsNCj4+ICvCoMKgwqAgfQ0KPj4gK8KgwqDCoCBpZiAoZG9tX3ZhbGlkKSB7
DQo+PiArwqDCoMKgwqDCoMKgwqAgaWYgKChkb21pbmZvLmNyYXNoZWQgfHwgZG9taW5mby5z
aHV0ZG93bikNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICYmICFkb21haW4tPnNodXRk
b3duKSB7DQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkb21haW4tPnNodXRkb3duID0g
dHJ1ZTsNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICpub3RpZnkgPSB0cnVlOw0KPj4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyoNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgKiBBdm9pZCB0cmlnZ2VyaW5nIHdhdGNoIGV2ZW50cyB3aGVuIHRoZSBkb21haW4ncw0K
Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIG5vZGVzIGFyZSBiZWluZyBkZWxldGVk
Lg0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqLw0KPj4gK8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgaWYgKGRvbWFpbi0+Y29ubikNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgY29ubl9kZWxldGVfYWxsX3dhdGNoZXMoZG9tYWluLT5jb25uKTsNCj4+IMKg
wqDCoMKgwqDCoMKgwqDCoCB9DQo+PiArwqDCoMKgwqDCoMKgwqAgaWYgKCFkb21pbmZvLmR5
aW5nKQ0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIDA7DQo+PiArwqDCoMKg
IH0NCj4+ICvCoMKgwqAgaWYgKGRvbWFpbi0+Y29ubikgew0KPj4gK8KgwqDCoMKgwqDCoMKg
IC8qIGRvbWFpbiBpcyBhIHRhbGxvYyBjaGlsZCBvZiBkb21haW4tPmNvbm4uICovDQo+PiAr
wqDCoMKgwqDCoMKgwqAgY29ubiA9IGRvbWFpbi0+Y29ubjsNCj4+ICvCoMKgwqDCoMKgwqDC
oCBkb21haW4tPmNvbm4gPSBOVUxMOw0KPj4gK8KgwqDCoMKgwqDCoMKgIHRhbGxvY191bmxp
bmsodGFsbG9jX2F1dG9mcmVlX2NvbnRleHQoKSwgY29ubik7DQo+PiArwqDCoMKgwqDCoMKg
wqAgKm5vdGlmeSA9IGZhbHNlOyAvKiBkZXN0cm95X2RvbWFpbigpIGZpcmVzIHRoZSB3YXRj
aCAqLw0KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAxOw0KPiANCj4gQ2FuIHlvdSBhZGQg
YSBjb21tZW50IGV4cGxhaW5pbmcgd2h5IDEgaXMgcmV0dXJuZWQgaGVyZT8gSXMgdGhpcyBi
ZWNhdXNlIHdlIG1heSANCj4gZnJlZSB0d28gZG9tYWlucz8NCg0KT2gsIGp1c3QgZGV0ZWN0
ZWQgeW91IGFyZSByaWdodDogdGhpcyBtaWdodCBmcmVlIDIgZG9tYWlucywgc28gYSByZXR1
cm4NCnZhbHVlIG90aGVyIHRoYW4gMCBpcyByZXF1aXJlZC4gV2lsbCBhZGQgYSBjb21tZW50
Lg0KDQoNCkp1ZXJnZW4NCg0K
--------------YeX0OLJEDPJQqpM2pZQWoZRL
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------YeX0OLJEDPJQqpM2pZQWoZRL--

--------------IIYqVxjQQHDgD9y0oNnSMmlZ--

--------------tjUuQAZUdDsnxzJtAdeDyulb
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOXHC4FAwAAAAAACgkQsN6d1ii/Ey+b
EwgAkkEGDLcX1i0R4MvvF9xoD6VM4YNUOBb3shzYdLeocCgdaaX6+duqtyA4kDN8iixFxdim4IPL
FZ3iGx5oL9BBTumoI7fIcAjV5JWFD8UzhGr5eSJk89D9pVIU4mKN2AOIomnjcrs8itJ+jy0vcBev
TxTS8SgKy2I0pOrau7AYhbqYcXi2xaxAQN0M1TfSO3Jr2wuGnUw7fPgwolpLQSsxNgK7sSfkmrNo
RlBwHUWET0S744On7D/Z9ppVuqMHDewHk4E2R518+4yiyq8QMlkNOVyDnwsb1cRdXWf7DnrrOFf1
2uINMDOG+LzH87JT/hhCoI11SDRCFhsQik+6vYnk1w==
=mu23
-----END PGP SIGNATURE-----

--------------tjUuQAZUdDsnxzJtAdeDyulb--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 12:34:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 12:34:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459587.717349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4i0O-0008S2-Ux; Mon, 12 Dec 2022 12:34:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459587.717349; Mon, 12 Dec 2022 12:34:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4i0O-0008Rv-Rt; Mon, 12 Dec 2022 12:34:00 +0000
Received: by outflank-mailman (input) for mailman id 459587;
 Mon, 12 Dec 2022 12:33:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Y5Rs=4K=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p4i0N-0008Rp-Q9
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 12:33:59 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3f4ba6a7-7a19-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 13:33:57 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id t17so27593597eju.1
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 04:33:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f4ba6a7-7a19-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=l55NuVvh5wfd/EVdMpDmMcr96MRNuLzDUXxPpCCbYcM=;
        b=gDZrCC8vqGRanAehh+gqUf5VsaU3A1ngvOv/EEiVdcHqdnVSnAGCZoDOXSCMkr8z5b
         8w1OM+Lma31z5JBxqZhD6PGiMX3v9TUfN0Nw+0pgule79qsy8HD6f435G9gCyZQBuqqF
         3Qt3eXctS7zoWlYmtE57y2c+EYZBQ/ZcVqtOc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=l55NuVvh5wfd/EVdMpDmMcr96MRNuLzDUXxPpCCbYcM=;
        b=LlQ6B+o4JvH1Ua78ccU1Mi0fMZydtG2GrXZZZStDI5vG1WnOmmU4xnzppQXayJoi6h
         vxGTMPfgGypoHrFnJu1w65dYTHv0yp4ki/s09wCu72bkLvFFGEFwcdYW7Qz5JlIx17tv
         ofpaaBSlZaPLOuEtVQpR2QggVqL+yChLKHKfXuueEPLc9ePJy/8D3Ez0/QPOW3TRGAik
         QxF3EBeHJ42YUM2AAmlJxsNbHXTj89iPXOmAEmwX5kdJdhjWcuzanDzc6YvzDmnhpyKX
         b2CHriJNBUp/J5ZKltENWVvojXDk/kVuf1eRIiIlxvFncbaABI9eKPrHCvJBjyUgU1Q9
         jYMg==
X-Gm-Message-State: ANoB5pluufnG9MqRLFepGzmCjjTR0G5x+WSE9/Yb4sQOlUJMkThTr76/
	DklNVYfwWADqvG50O9z+AqVIiaTwH7C2ddszxrKHKw==
X-Google-Smtp-Source: AA0mqf4DZ/1sy5FmlZ3wCi02k3iWP47oR1VEn58GtYR5Nxr5QR/gR7TiyvfytSbz0SpE0e1guB+0LVlUgQHBexuLtYY=
X-Received: by 2002:a17:906:4bcc:b0:7be:6ab8:4ccc with SMTP id
 x12-20020a1709064bcc00b007be6ab84cccmr44951831ejv.713.1670848436920; Mon, 12
 Dec 2022 04:33:56 -0800 (PST)
MIME-Version: 1.0
References: <20221212093410.36289-1-julien@xen.org> <20221212093410.36289-6-julien@xen.org>
In-Reply-To: <20221212093410.36289-6-julien@xen.org>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 12 Dec 2022 12:33:45 +0000
Message-ID: <CA+zSX=b3rA=Jc4Au5DhpZK9HZ484sxdR3GdCD6Gjpx114aiyvg@mail.gmail.com>
Subject: Re: [PATCH 5/8] docs/process: branching-checklist: Reword the section
 about Config.mk
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Henry.Wang@arm.com, 
	Julien Grall <jgrall@amazon.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Content-Type: multipart/alternative; boundary="0000000000008e7a7705efa0b793"

--0000000000008e7a7705efa0b793
Content-Type: text/plain; charset="UTF-8"

On Mon, Dec 12, 2022 at 9:34 AM Julien Grall <julien@xen.org> wrote:

> From: Julien Grall <jgrall@amazon.com>
>
> Since at least Xen 4.12, the revision for external trees don't contain
> the word "unstable". So explicitely list the *_REVISION variables that
> need to be updated as part of the branching process.
>
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> ---
>  docs/process/branching-checklist.txt | 8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/docs/process/branching-checklist.txt
> b/docs/process/branching-checklist.txt
> index d1550385c96e..7004f16e8311 100644
> --- a/docs/process/branching-checklist.txt
> +++ b/docs/process/branching-checklist.txt
> @@ -69,11 +69,9 @@ ov=4.0
>      git add versions
>      git commit -m "Branch for $v"
>
> -Ensure references to qemu trees in xen.git's Config.mk are updated.
> -Check this with
> -    grep unstable Config.mk
> -which should produce no output.  Replace as necessary.
> -(There may well be none.)
> +Ensure references to qemu trees and Mini-OS in xen.git's Config.mk are
> updated.
> +The variables are QEMU_UPSTREAM_REVISION, QEMU_TRADITIONAL_REVISION and
> +MINIOS_UPSTREAM_REVISION.
>

One advantage of the previous wording was that it helped you know what the
references *weren't* supposed to look like (although it might have been
more helpful to know what the references *were* supposed to look like).
Would it make sense to add a few words about what they're supposed to look
like?

 -George

--0000000000008e7a7705efa0b793
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Mon, Dec 12, 2022 at 9:34 AM Julie=
n Grall &lt;<a href=3D"mailto:julien@xen.org">julien@xen.org</a>&gt; wrote:=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">From: Julien Gr=
all &lt;<a href=3D"mailto:jgrall@amazon.com" target=3D"_blank">jgrall@amazo=
n.com</a>&gt;<br>
<br>
Since at least Xen 4.12, the revision for external trees don&#39;t contain<=
br>
the word &quot;unstable&quot;. So explicitely list the *_REVISION variables=
 that<br>
need to be updated as part of the branching process.<br>
<br>
Signed-off-by: Julien Grall &lt;<a href=3D"mailto:jgrall@amazon.com" target=
=3D"_blank">jgrall@amazon.com</a>&gt;<br>
---<br>
=C2=A0docs/process/branching-checklist.txt | 8 +++-----<br>
=C2=A01 file changed, 3 insertions(+), 5 deletions(-)<br>
<br>
diff --git a/docs/process/branching-checklist.txt b/docs/process/branching-=
checklist.txt<br>
index d1550385c96e..7004f16e8311 100644<br>
--- a/docs/process/branching-checklist.txt<br>
+++ b/docs/process/branching-checklist.txt<br>
@@ -69,11 +69,9 @@ ov=3D4.0<br>
=C2=A0 =C2=A0 =C2=A0git add versions<br>
=C2=A0 =C2=A0 =C2=A0git commit -m &quot;Branch for $v&quot;<br>
<br>
-Ensure references to qemu trees in xen.git&#39;s Config.mk are updated.<br=
>
-Check this with<br>
-=C2=A0 =C2=A0 grep unstable Config.mk<br>
-which should produce no output.=C2=A0 Replace as necessary.<br>
-(There may well be none.)<br>
+Ensure references to qemu trees and Mini-OS in xen.git&#39;s Config.mk are=
 updated.<br>
+The variables are QEMU_UPSTREAM_REVISION, QEMU_TRADITIONAL_REVISION and<br=
>
+MINIOS_UPSTREAM_REVISION.<br></blockquote><div><br></div><div>One advantag=
e of the previous wording was that it helped you know what the references *=
weren&#39;t* supposed to look like (although it might have been more helpfu=
l to know what the references *were* supposed to look like).=C2=A0 Would it=
 make sense to add a few words about what they&#39;re supposed to look like=
?</div><div><br></div><div>=C2=A0-George</div></div></div>

--0000000000008e7a7705efa0b793--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 12:34:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 12:34:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459594.717360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4i0x-0000Y0-6l; Mon, 12 Dec 2022 12:34:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459594.717360; Mon, 12 Dec 2022 12:34:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4i0x-0000Xt-3z; Mon, 12 Dec 2022 12:34:35 +0000
Received: by outflank-mailman (input) for mailman id 459594;
 Mon, 12 Dec 2022 12:34:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Y5Rs=4K=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p4i0v-0000WF-R9
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 12:34:33 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 549becf3-7a19-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 13:34:33 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id kw15so27540165ejc.10
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 04:34:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 549becf3-7a19-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=0WaRvma689prLQIUm+1mBKnqJrWz+zGeBkSIxcD+nm4=;
        b=R7/6BEAG6oWWNN/ncZGj+G4eEvlHYP0m1nWOYusTjo8CpGeTcB9xy67doJ2giK58Hp
         OtZANVCwi5UaLgn/XlD0eC7r7hJCTIpiCNjVCA3ntvtm8rMkaXrLJtrpVnTofrt9xlKD
         ZeCtPGDOD6RQjsdocveXcx3gq7xhfhgKFtjho=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=0WaRvma689prLQIUm+1mBKnqJrWz+zGeBkSIxcD+nm4=;
        b=5+EK1yuy1brdGXZh4x12NS5MNTfBv4+ZUGpF4w5NlSQ/JFlH3hOH6SwKD1gVDHt0VG
         36l8EAUVjt99qtDoY3HLB6Opzmv8Q9TzYWTC6tGRT51NiMfZOD0c1PYRX+KO4RKO2WFh
         TQTbK5+tVfASoSUjg1P15SQme23Bfth3WKESf40CKg/qJ3SZ1HLFImE/M64NX/di5lKu
         TnuprN4ytq8vLDdxB9L9v3BAGrR0xhpjT60aHrlJvqDw8VQBbnGCzCEp0zJ6Rw3yHieT
         UqjWooG0HZGl7QjFKpWIiFbJz1psgfHAOEfdu7guNbAfo3Rxb+p+cipPNBjQ538LlvUV
         w+4Q==
X-Gm-Message-State: ANoB5pky7CkJJ7QmbuNvrsIYalJi1tOsTTjGwiVVYhmQFj+9Bhulzxq2
	n0ekiA43a6FY5dDZLyfpK5Z4Jhfoy51ug9oFXNv/Bw==
X-Google-Smtp-Source: AA0mqf78V85c3mOGydGI2hP/dz+c27jSE2Yz5I5QKGUZ4ncroTMW48FrOeIbXTVPY9I/hKneJYMdZ98rsdElwCkwidE=
X-Received: by 2002:a17:906:970a:b0:7c1:266a:73e with SMTP id
 k10-20020a170906970a00b007c1266a073emr4139709ejx.179.1670848472821; Mon, 12
 Dec 2022 04:34:32 -0800 (PST)
MIME-Version: 1.0
References: <20221212093410.36289-1-julien@xen.org> <20221212093410.36289-7-julien@xen.org>
In-Reply-To: <20221212093410.36289-7-julien@xen.org>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 12 Dec 2022 12:34:22 +0000
Message-ID: <CA+zSX=aozbVbW0H_YhCvT_7JVmAR5yhK1qNb6ZH_p5gxhxBedQ@mail.gmail.com>
Subject: Re: [PATCH 6/8] docs/process: branching-checklist: Remove section
 about the cambridge colo
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Henry.Wang@arm.com, 
	Julien Grall <jgrall@amazon.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Content-Type: multipart/alternative; boundary="000000000000b244fa05efa0b910"

--000000000000b244fa05efa0b910
Content-Type: text/plain; charset="UTF-8"

On Mon, Dec 12, 2022 at 9:34 AM Julien Grall <julien@xen.org> wrote:

> From: Julien Grall <jgrall@amazon.com>
>
> The cambridge colo was internal to Citrix (now Cloud) and hasn't been used
> by the community for a while.
>
> So remove the section.
>
> Signed-off-by: Julien Grall <jgrall@amazon.com>
>

Acked-by: George Dunlap <george.dunlap@cloud.com>

--000000000000b244fa05efa0b910
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Mon, Dec 12, 2022 at 9:34 AM Julie=
n Grall &lt;<a href=3D"mailto:julien@xen.org">julien@xen.org</a>&gt; wrote:=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">From: Julien Gr=
all &lt;<a href=3D"mailto:jgrall@amazon.com" target=3D"_blank">jgrall@amazo=
n.com</a>&gt;<br>
<br>
The cambridge colo was internal to Citrix (now Cloud) and hasn&#39;t been u=
sed<br>
by the community for a while.<br>
<br>
So remove the section.<br>
<br>
Signed-off-by: Julien Grall &lt;<a href=3D"mailto:jgrall@amazon.com" target=
=3D"_blank">jgrall@amazon.com</a>&gt;<br></blockquote><div><br></div><div>A=
cked-by: George Dunlap &lt;<a href=3D"mailto:george.dunlap@cloud.com">georg=
e.dunlap@cloud.com</a>&gt;</div><div><br></div></div></div>

--000000000000b244fa05efa0b910--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 12:35:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 12:35:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459603.717371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4i1v-00019A-GS; Mon, 12 Dec 2022 12:35:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459603.717371; Mon, 12 Dec 2022 12:35:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4i1v-000193-D1; Mon, 12 Dec 2022 12:35:35 +0000
Received: by outflank-mailman (input) for mailman id 459603;
 Mon, 12 Dec 2022 12:35:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Y5Rs=4K=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p4i1t-00018t-Ku
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 12:35:33 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 781d23ab-7a19-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 13:35:32 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id s5so12594747edc.12
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 04:35:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 781d23ab-7a19-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=gz7y2Rq8puYUY5t5y0Bdu7+/Oox1vtHfpSL6HUSlTDY=;
        b=BUfuKkKCDLM0Kbo0nN5qVDYM/Tvr/yhWn/uMUmL2VTEXTUnyTYKmBQUZaFvzkbUG0V
         bm2Cs+e+Jy8iQibaqo4uYxfnPRKdhSew4S4ucqnSAxGtDz0GdnVD3z5kjWjt+WMPOd8k
         3uJpZdGwP0T6Oww290/9SQM7qWkk0zUynZ5y4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=gz7y2Rq8puYUY5t5y0Bdu7+/Oox1vtHfpSL6HUSlTDY=;
        b=gYHdU4PwQTm1vZNzC1LNQBiF8C5MSJzpx+NxOJFfi4M6ZzFTwZ7GRzr/gMjwSFqsQR
         oT2aJ27hAWekzvw58eIiAd9pi62Ugi+/itSlcYolfcW5LoLg0pLuC0lFBM20kzAnzREB
         ZbBKFjtbZ9qedd3dUbGMytCYxQXPO0jEbPcw6Ay5i1TGlnywNcDHvIYQw4f0zy/otvk9
         f8AqmxusbMkAM3JPv8MvQfJKbUXTr2r3qTe1qFM4YSXscypptJieqsGou1j/8ZH8G48K
         su8Fv7QDK21KWAAlKzIuujIzW7U9LdP3gJVh4ZpxK+sXKNW0q6xVFSw+kPT/1+iwFrUd
         SQKQ==
X-Gm-Message-State: ANoB5pkumVqnrKssR1PIeZw0w7NuHd4Hl5ItYYskRTHUoge/bp/UEBqX
	REFCohPziGKcasriEzl1qt3nUP2jA+gXGwsN94fWNA==
X-Google-Smtp-Source: AA0mqf7OBF52hUUX9HymMLlcIwQHdiahNuKGVg8hXAQHL7TPxygbKNHyY5ukErDT2gNPoOA8dLD7O4HmDqMU6VfGUIU=
X-Received: by 2002:aa7:d556:0:b0:45c:6467:94e2 with SMTP id
 u22-20020aa7d556000000b0045c646794e2mr84450803edr.295.1670848532387; Mon, 12
 Dec 2022 04:35:32 -0800 (PST)
MIME-Version: 1.0
References: <20221212093410.36289-1-julien@xen.org> <20221212093410.36289-8-julien@xen.org>
In-Reply-To: <20221212093410.36289-8-julien@xen.org>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 12 Dec 2022 12:35:21 +0000
Message-ID: <CA+zSX=YQJe7pkwh9v5s7_tZJdpg8sNDik_R4zeoNrgO06zxTiw@mail.gmail.com>
Subject: Re: [PATCH 7/8] docs/proces: branching-checklist: Update the section
 "add to patchbot"
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Henry.Wang@arm.com, 
	Julien Grall <jgrall@amazon.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Content-Type: multipart/alternative; boundary="0000000000003f2e6405efa0bdd6"

--0000000000003f2e6405efa0bdd6
Content-Type: text/plain; charset="UTF-8"

On Mon, Dec 12, 2022 at 9:34 AM Julien Grall <julien@xen.org> wrote:

> From: Julien Grall <jgrall@amazon.com>
>
> Make clear the patchbot is accessible from the user "xen" on xenbits.
>
> Signed-off-by: Julien Grall <jgrall@amazon.com>
>

Acked-by: George Dunlap <george.dunlap@citrix.com>

--0000000000003f2e6405efa0bdd6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Mon, Dec 12, 2022 at 9:34 AM Julie=
n Grall &lt;<a href=3D"mailto:julien@xen.org">julien@xen.org</a>&gt; wrote:=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">From: Julien Gr=
all &lt;<a href=3D"mailto:jgrall@amazon.com" target=3D"_blank">jgrall@amazo=
n.com</a>&gt;<br>
<br>
Make clear the patchbot is accessible from the user &quot;xen&quot; on xenb=
its.<br>
<br>
Signed-off-by: Julien Grall &lt;<a href=3D"mailto:jgrall@amazon.com" target=
=3D"_blank">jgrall@amazon.com</a>&gt;<br></blockquote><div><br></div><div>A=
cked-by: George Dunlap &lt;<a href=3D"mailto:george.dunlap@citrix.com">geor=
ge.dunlap@citrix.com</a>&gt;</div><div><br></div></div></div>

--0000000000003f2e6405efa0bdd6--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 12:37:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 12:37:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459611.717381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4i3L-0001u4-QG; Mon, 12 Dec 2022 12:37:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459611.717381; Mon, 12 Dec 2022 12:37:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4i3L-0001tx-NO; Mon, 12 Dec 2022 12:37:03 +0000
Received: by outflank-mailman (input) for mailman id 459611;
 Mon, 12 Dec 2022 12:37:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5WVn=4K=citrix.com=prvs=33806dea2=roger.pau@srs-se1.protection.inumbo.net>)
 id 1p4i3K-0001tn-Ea
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 12:37:02 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id abdc7659-7a19-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 13:37:00 +0100 (CET)
Received: from mail-bn7nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 12 Dec 2022 07:36:56 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB6333.namprd03.prod.outlook.com (2603:10b6:510:be::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Mon, 12 Dec
 2022 12:36:55 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1%9]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 12:36:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abdc7659-7a19-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670848620;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=B7sDTSniKj0XTjdjSECBI92esaRkzXjEuJ64n6AeyRc=;
  b=XP5bJjbFeMIDn2RalIT1LpbcvOqALfz/vXfTOHzCDGR/mhPgoX57qnGG
   BnDWhPpPoXCWpEeH3SxJZfkpJAK1Q6fphb5/Us73Uw2v9mIpABr2vxOpi
   qC+6yyG4pNia46gDayC1LH4rNhlEzMu/krX5865WdE0Kpf6HsMrvP7fGW
   Q=;
X-IronPort-RemoteIP: 104.47.70.109
X-IronPort-MID: 87886569
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:D58RWq2jXl0sfibyY/bD5ahxkn2cJEfYwER7XKvMYLTBsI5bpzUDz
 2BNXGyFa/iJMWTwed5yOYW+8RgHu5/dyYQyQFE9pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZnP6gS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfDEdT8
 vUDEjs0S0rYpeWvkLbmFthXv5F2RCXrFNt3VnBI6xj8VK5ja7acBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxouy6KlF0ZPLvFabI5fvSQQspYhACAr
 3/u9GXlGBAKcteYzFJp91r82b+fw36lCer+EpW90uxxuXqR21c9GT09a0a+pMins1axDoc3x
 0s8v3BGQbIJ3EOxQ9b+XzW8oXiZrhAbRtxcGvE77wfLzbDbiy6bB3IFVTpIYs0Ot8IsQzEuk
 FiTkLvBHidzubeYTXac8La8rj6oPyURa2gYakcsSQoD/smmo4wpiB/LZshsHbTzjdDvHzz0h
 TeQo0AWl7gVyMIGyai/1VTGmC634IjESBYv4QfaVX7j6Rl2DKanaJav8kPz9utbIcCSSVzpl
 HoOltWa7esOJYqQjyHLS+IIdJmj4OyEK3vbmkJ1GIc69CWF/GSqdoRdpjp5IS9BOcYeeCT2S
 FTUpBgU/5hXenywYsdfZoO3BMMCwKz8GJLlS5j8ad5JbLB1dR+A+WdoaFL492TsllU8ibk0f
 JuWb+6oDG0GEuJg3j6/Tfxb1qUkrh3S3kvWTJH/ih6hjryXYSfNTa9faQPfKOck8KmDvQPZt
 c5FMNeHwAleV+u4ZTTL9YkULhYBKn1T6Y3KlvG7v9WremJOcFzNwdeIqV/9U+SJR5hoq9o=
IronPort-HdrOrdr: A9a23:gho7s6ryzCAFvLc0tyJr/pQaV5oleYIsimQD101hICG9E/b1qy
 nKpp8mPHDP5wr5NEtPpTnjAsm9qALnlKKdiLN5Vd3OYOCMghrKEGgN1/qG/xTQXwH46+5Bxe
 NBXsFFebnN5IFB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.96,238,1665460800"; 
   d="scan'208";a="87886569"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mLo6ow+qgVwpnNLrgiHSnv7S7iyPZkORvBk9fHSVLNbZbvQDFZpdrTlrFUjPseWmE1hKeM0u1P/dZrW0gvxGP0crJpkMMt8SIluhdeOB4T7r6+Ip6WDr93qR1T6n+5YWyuxVuiGB5E99A2e6A5R1Vk/q/sHFNU79SlTEum4TxoYdAwlt+Qmv8UCetdkIgbW87sAJsWuYl7qBkdukTvlUrBkkH2FjrZAHaH3Nr2cFpCunGPHmyvGx9eDyPQehCIjPtegQ9eviz0IwLJ3MJSvWQfNvtcBDHN9SY6SmHcH3aCQLnFrm7g6WwOYF94uJ8glLQ0B0s3yV4szvE+gI5FW9FQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bRu9Z56sEmMx/fvaUg5qa1RdF02e6Nvl5C1TgIr1ywE=;
 b=EuM0ejCUJGIKWxm/sUfyuFwz6dkUST8VwdheCkSUaBJq7p9FemQ7o/+tt/XhTARF/zGZqm/3Zyi09p0w9x1S5Poy4Srf8nAEy+gCvur8S/Zxr983m6s3r667M5Ctw/nXEP92Whd8fP+/SSZCS/V+VzSIscByeDNv6AJW0ZIUHpKmEB43YXub5xxgzDWqlhra07l9K1cdonUWnY/O1RQ4f6N+MaG9sRzW8YH+2MLhaPXCiyuxMzgdr/DbBZ2FhT4SOV3CJell9CPq3rHrk9egEr9AwXheCOwt6EseI4pIAN9YUwWXc2TStLRDD7cWJD6wTR+iNSqAD69U8ohAcJ53aA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bRu9Z56sEmMx/fvaUg5qa1RdF02e6Nvl5C1TgIr1ywE=;
 b=wybwJWAwmEcwx/j9RAv+Y6bVtJuhFdWELtCo5Qoe4u57yk8OayWMC0H/ps6Ec5xZwTL9JQ9CWadT+U8/Xhcj+diG752RW8ZDkXWMELoi2jV3GSN/930crw0fCIEFiPy3/XFqVWo5APJeGg7HWk+RBgd3anKsQhxwZH61BlKxlGs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 12 Dec 2022 13:36:48 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jirislaby@kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Chris Wright <chrisw@sous-sol.org>, Ingo Molnar <mingo@elte.hu>,
	Jeremy Fitzhardinge <jeremy@xensource.com>,
	Olof Johansson <olof@lixom.net>, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v2] hvc/xen: prevent concurrent accesses to the shared
 ring
Message-ID: <Y5cgYLNwtPbmP1JL@Air-de-Roger>
References: <20221130150919.13935-1-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2211301657200.4039@ubuntu-linux-20-04-desktop>
 <Y4nkFZal7oy+aICa@Air-de-Roger>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <Y4nkFZal7oy+aICa@Air-de-Roger>
X-ClientProxiedBy: LO4P123CA0431.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18b::22) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB6333:EE_
X-MS-Office365-Filtering-Correlation-Id: b8306172-1773-4d7e-57ea-08dadc3d8d23
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FHVN4pu/HbWBPcETN1U16RxdfuWY+rPsR5HCnj+NUgBcBA/hgtA5vCM2a5/WIdv2q0xDOGhrLb0CIUVNIPCqItX1mOXaOof/J27uSFBRs11RWNkwmbSgfEX7g17Mqss6W4PId8CnDKOIXS4r25RJVTknT+V8cpJiXlx/k8QteSRrELCqIpWyU9xQOHUU1+ugp9PvugMeWGErg/uvOlpdMHXVQQzdQwncLqFaodmpvEuK5/Je+Dz71x1zoCjYxpCM8GSf3xZwZ/a2krv/sdlPiukJrWYOEWqSfpCBDRf8xZAck7UnRAuvdWldmmzEPnHnkSFw2TyrvqWmswu6W+cEyVJZgift/KblrL7K9W7eNaiAn/Qnre3JEnZk9vZ1AlD+/D6mfe5mI0i8pOtTv7oFUDAL8LlgDEHU0wmpaSDnQ7laauB9L4aEM4Cq/jst1WYxLQ4739eawG7GwB+l6XlWs5lcYOXOJqm24XuaE9UEL8ko1NLyEaWXRgCcpLPby1/Tk3VbCbhm/idLSUkB/xNOrUP1pbUdphp8Ui1T+bPJtJrL5Dk/6YJRL9MJWvF2IC7CerTtz+Hi3AX+66CxTwa5N/EiST8IWyv/LmWAFokw8X9eXsi/PpASr4IMIWGH01Av
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(7916004)(396003)(346002)(136003)(39860400002)(366004)(376002)(451199015)(85182001)(8936002)(6666004)(6486002)(33716001)(478600001)(82960400001)(38100700002)(86362001)(41300700001)(7416002)(5660300002)(54906003)(8676002)(186003)(110136005)(66476007)(66556008)(66946007)(4326008)(6506007)(6512007)(9686003)(83380400001)(26005)(316002)(2906002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZmxEUWRtazlLdU5OZmw1NXZXVzFRR3RlMmVFdVdpb2lYL0xVMWVUSzZxbUl6?=
 =?utf-8?B?emdPbFEzSnR1ekl5cVhVU1dISzlKZFpvcDQ2QmI0Y0pIc3J5cmR5M1hTU2to?=
 =?utf-8?B?VWp6N2pPRXJxdGlmUWFBOGVCWExOWEtpZURtRHNKWVN0RHpBblpFQU9ONG5i?=
 =?utf-8?B?clVNSmpTTGMzQ1o1a2hNOU1LZUpVd3g5eUlQaytmb3R3MHVTOWtuWUpHSFJZ?=
 =?utf-8?B?aXRUOTZQeUwzQVdxdjFMa2YwTGRYTk1ZL0YxSGFWYXBYeVhMMmVzUVhXQVVQ?=
 =?utf-8?B?V0JNVFZPSkRCanJncWRkWFkxbXZYZVdxV1BYQ05sVlNET3NMWmk2TzlWdlQr?=
 =?utf-8?B?QWhYQ29TS3NxSDU1ejYwRkpKN2RKUnhpZUR3R0R2c05iYTJxSnEwbFVzazdh?=
 =?utf-8?B?eENHWWFDKzJmRFI2dFdCdndubDhVK1ZlOER2U212VUR2bnVKV2I0UGZQSy9p?=
 =?utf-8?B?OUtFYk9uRlpyaHFDYUhLZkxMZEFPM1RFSFFXaUc5S09XUGVrY2Z6Q0dpWHlS?=
 =?utf-8?B?VHE1anpscDdMdWdSZHRhUFM2RzRtcWhuQ3VmRk44c21sMXMvaUJzSlRJblBa?=
 =?utf-8?B?d1ZwMjNjdFRDTmF3Tk84TjFJZ3V1Y0dyaVBKaHpRZ0Z5anE1U2IrR25xZkNv?=
 =?utf-8?B?NE1RL1M5TGFuUGhTWHpxUUxJaWpvODdodFAxeU1lMUtsZUJ1cXpsdjcxYTJK?=
 =?utf-8?B?S2RZVmQ0eXluemxuenp6MTBpLytZOFJSTnYxakNwSWk1L2VsVHQrakgrWS85?=
 =?utf-8?B?aGZuaVRTaWhlUzNtWWJUZzN5ZERNaEZhMW1Zb0d6UFlDWVp1MUFGT1VFQ3Fa?=
 =?utf-8?B?Wmg5Mk5RazhzS3k1UE11WGZuUkJMMnJxQWlWRHIzVnppV3d5OEVNaTk3T1dU?=
 =?utf-8?B?d1ZVZUVzaGxKWFNoSW1iaHV1MndCck9CSEVTTHdyYXErcG5oeUtibVcrQW1I?=
 =?utf-8?B?bGZvQ1EyQU1TM2dwQ2NESkNGSFN0REZZSmhYYkUyaGpYZ2pEL3hvSHNhQXAw?=
 =?utf-8?B?ckk1bmlINGthOTRHRHNZYkw0SysxNGlsSSt2enNhUDI2ajdhVnArNlNoUWFt?=
 =?utf-8?B?WkJjb0dEbHA2YjJZTmk0a3FRZGFMTlM5N3RRZ3QwYjYzYkF3cmxNbVZOTXdZ?=
 =?utf-8?B?L3pEc0xyQUp5YTdqcWFIUGp2dFBkV1pWYm5hMXRKeEZGV3Zvdm1YWUhxZUdN?=
 =?utf-8?B?NUdFbUFlK2NncHFPVjdJZjNXQlNJTkNBSjlXaTR1WHYxRkI3a0NYQURNQWp2?=
 =?utf-8?B?Q01wNDZhclZuV0RzdTJERkxwbnl6NHc3MURpUTVoQTNIMW1tZzFqeEx0N3FF?=
 =?utf-8?B?N29ORHgxQjd2QkY3K1d2TDZuM3R6UEViNks0QVovUlhKcVY4cmR2V1YzUUhV?=
 =?utf-8?B?cm5zUUJ5bTFZRElzUzMzb0ZDRmh1aGx3MnJLVGg1NFNIVldUakNJSnlPak9x?=
 =?utf-8?B?L2NGUXREaURaV3BsbmlzMzI3MTUyN3Jxd0h5azVpbFEwSXlPRlZoR0FiekVq?=
 =?utf-8?B?OEY1S0ZPWDc3QlRtTEZYTHY0ZmhiY1BGWERQS1NaZldTbExBUVNPMmYzT2to?=
 =?utf-8?B?ZlgxK2hYMzJxejZiMjExYjczdDREcGgvZkdvY0xuZlNpekEzVDhtemxmZE0w?=
 =?utf-8?B?WUhXWDM4b2xKTnplYVNrNmRDTmU0UHZiaTVXRVJkZnF3ZS9GV0xYZUFOOFI3?=
 =?utf-8?B?OXFZYkZTS3laUUNmL3VEYzF1TDlWaHZ4TkRua0JGUmVWVnVjZVdMWjBrZHNI?=
 =?utf-8?B?SlZaUThJakJKdUJBRFFGczdtTFh3ZGw2L1V6VDJPMVMzMkduODJyc25EeFl3?=
 =?utf-8?B?R1MyMDJSVUJJdk03dnQzSDJXdkxBcTRBQ1l5MnV1aFJEZThQQWFEZ1VEYTND?=
 =?utf-8?B?R1FjRENRcmQrNE5KZStvem13MzNTeGp3ejR5M3BvMnN1emY3N3ZxMnNab3Qz?=
 =?utf-8?B?TDAzNG13N1QwUUR5VHB4NVd2aXVVTWsxQ2QzY0JSRGxRbnkxd0ZTYzVNOWhs?=
 =?utf-8?B?cGRlN2h1Uy9vZThYQUZXaWhXaHpybnFQSVM0K2VrczU1bTFDRVZyNkl5S2xz?=
 =?utf-8?B?T0J6VldSaDNSNUtJVUtsazRmSEV6ZXhFek9hYm0yNmduRzJheTZPeHo4ZE5n?=
 =?utf-8?Q?ThpVtkhe2JdVdaej+1ax5/UV6?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b8306172-1773-4d7e-57ea-08dadc3d8d23
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 12:36:54.8334
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: L6XNf9KnrwhTTTSTQrbX7EZ/SW+9k6U+aLRapFkVor/+jWkIWjZ+bmRpXDGmLSKzGipXEG7rH4Ec4wUkIE6Keg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6333

Hello,

Gentle ping regarding the locking question below.

Thanks, Roger.

On Fri, Dec 02, 2022 at 12:40:05PM +0100, Roger Pau Monné wrote:
> On Wed, Nov 30, 2022 at 05:08:06PM -0800, Stefano Stabellini wrote:
> > On Wed, 30 Nov 2022, Roger Pau Monne wrote:
> > > The hvc machinery registers both a console and a tty device based on
> > > the hv ops provided by the specific implementation.  Those two
> > > interfaces however have different locks, and there's no single locks
> > > that's shared between the tty and the console implementations, hence
> > > the driver needs to protect itself against concurrent accesses.
> > > Otherwise concurrent calls using the split interfaces are likely to
> > > corrupt the ring indexes, leaving the console unusable.
> > > 
> > > Introduce a lock to xencons_info to serialize accesses to the shared
> > > ring.  This is only required when using the shared memory console,
> > > concurrent accesses to the hypercall based console implementation are
> > > not an issue.
> > > 
> > > Note the conditional logic in domU_read_console() is slightly modified
> > > so the notify_daemon() call can be done outside of the locked region:
> > > it's an hypercall and there's no need for it to be done with the lock
> > > held.
> > 
> > For domU_read_console: I don't mean to block this patch but we need to
> > be sure about the semantics of hv_ops.get_chars. Either it is expected
> > to be already locked, then we definitely shouldn't add another lock to
> > domU_read_console. Or it is not expected to be already locked, then we
> > should add the lock.
> > 
> > My impression is that it is expected to be already locked, but I think
> > we need Greg or Jiri to confirm one way or the other.
> 
> Let me move both to the 'To:' field then.
> 
> My main concern is the usage of hv_ops.get_chars hook in
> hvc_poll_get_char(), as it's not obvious to me that callers of
> tty->poll_get_char hook as returned by tty_find_polling_driver() will
> always do so with the tty lock held (in fact the only user right now
> doesn't seem to hold the tty lock).
> 
> > Aside from that the rest looks fine.
> 
> Thanks for the review, Roger.
> 


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 13:35:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 13:35:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459624.717393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4iy6-0000js-B8; Mon, 12 Dec 2022 13:35:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459624.717393; Mon, 12 Dec 2022 13:35:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4iy6-0000jl-7l; Mon, 12 Dec 2022 13:35:42 +0000
Received: by outflank-mailman (input) for mailman id 459624;
 Mon, 12 Dec 2022 13:35:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NYNi=4K=citrix.com=prvs=3386b37d0=Per.Bilse@srs-se1.protection.inumbo.net>)
 id 1p4iy4-0000jf-9i
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 13:35:40 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dbecdf6d-7a21-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 14:35:37 +0100 (CET)
Received: from mail-dm6nam11lp2175.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 12 Dec 2022 08:35:27 -0500
Received: from BN6PR03MB3378.namprd03.prod.outlook.com (2603:10b6:405:42::30)
 by PH0PR03MB6915.namprd03.prod.outlook.com (2603:10b6:510:169::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Mon, 12 Dec
 2022 13:35:23 +0000
Received: from BN6PR03MB3378.namprd03.prod.outlook.com
 ([fe80::b47b:e121:d2c1:1e4a]) by BN6PR03MB3378.namprd03.prod.outlook.com
 ([fe80::b47b:e121:d2c1:1e4a%5]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 13:35:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dbecdf6d-7a21-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670852137;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Fw4pn4Vmxe/Jmd55iy0zRjWURCdaOD7uS/rGwpRXV4c=;
  b=LkBoejd9J2oa9lpar9tKSMr9eaqYuWY/ln3z5hHWo8TfmzSkY9znUpRb
   PHeXE4YFkR6wxl/mYhGefSO2HBtSBJoDuiowxCrP8pJaRV1T5mxahnpiU
   qbFeUk8cgoELxs01YdwuVfu7jAGovNKtJsQvsrSBwkwJnUp/5ot+5dRDH
   w=;
X-IronPort-RemoteIP: 104.47.57.175
X-IronPort-MID: 87426699
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:aA2QGaz9/Dqb6blnjuJ6t+fbxyrEfRIJ4+MujC+fZmUNrF6WrkVUx
 zFLXm/VaP+OZWH9LY0nOdjl8EwEsZ7Xzd5hHAY6qyAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPKoT5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KTBM+
 cUSKAI/VBOa1+uI+O+WZtFHh/12eaEHPKtH0p1h5RfwKK9/BLzmHeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjeVlVMsuFTuGIO9ltiifchP2GyZo
 nnL12/4HgsbJJqUzj/tHneE1rCTx32lCdN6+LuQx9A0hk+K+mMqEwQaEnr8sOjirF/hRIcKQ
 6AT0m90xUQoz2SpQcP6RAaQu2Ofs1gXXN84O+k77hydj6nZ+QCUAkAaQTNbLt8rrsk7QXotz
 FDht8jyGTVlvbmRSHSc3rSZtzW/PW4SN2BqTSgAQAge6t/vurYvnwnPRdZuFq2yptDtEDS2y
 DePxAAuirNWgcMV2qGT+VHcnynqtpXPVhQy5AjcQiSi9AwRWWK+T4mh6Fye4fMeKo+cFwCFp
 CJdxJXY6/0SB5aQkiDLWP8KALyi+/eCNnvbnEJrGJ4isT+q/hZPYLxt3d23H28xWu5sRNMjS
 Ba7Vd95jHOLAEaXUA==
IronPort-HdrOrdr: A9a23:7HHRJ6Eqpd3w0AQJpLqE4MeALOsnbusQ8zAXPhZKOHlom6uj5q
 KTdZUgpHzJYVMqMk3I9ursBEDtex/hHP1OgbX5X43NYOCOggLBR72KhrGC/9SPIULDHl8379
 YFT5RD
X-IronPort-AV: E=Sophos;i="5.96,238,1665460800"; 
   d="scan'208";a="87426699"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TKT9qQcGDKN3mIeseOJIfcBNUzCt/d9YZIHXkvklbur1uaPuvU8/EekNHVB+Bej4c8DrIDUVL1tRdqWrn9uvqi/elsuw+TpGz9ACoQdvYLiMYzblQsWGt8w5PM49d0wLXmm+VKfxqL0tFEnptxJtvFWWWAjKp1z+HbcIkyclkBgfslvOxy+kLQdjM26tLDO6QurJOFqF0dCWoqlkH5l/CW2tp8RFon2LwE1BAqaptu8vZ17ECoK7vAe2N40Yby8+8kaHYVyG6JQtOiqgsvfY+15jV+773uA3eEM28fxo6xrNe3bACcdn8bBxBCpvcC7BYcouwwTH7m6usJOGl0uwVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Fw4pn4Vmxe/Jmd55iy0zRjWURCdaOD7uS/rGwpRXV4c=;
 b=ZjfBqdvjsCsFarvDOfOy7PL7wvBvGKcex660Hg4OF8nSCD10QoPluc83k92/TZX/6zxTp2CNN2gMs+WKJ8VQGVTWRIYzo7WVCdyM4Lt9bzqqvLFztbRXqqEKLjmTi5jbQH2MSrGQcmYPIBlHToUJM3HhSqPgUjVnY/85OjR7WzpqnkVH4dGVGAud74cjdPxATznggHysURREi8t8Ar4z4IGEOtbybxaZgKYqL+aSAgk0E8Rndc1utY3R+Dkv4rqUTaqh/cv5vwAx1AUl0njIaXhDftttEgcfknEdZvsnrsBgNZBVf21DSUsoOZzbpSU3W6jUVeWLAo77go8UI2MQIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Fw4pn4Vmxe/Jmd55iy0zRjWURCdaOD7uS/rGwpRXV4c=;
 b=dozXPXLeccwZo2h+QicnyBjtuQ/MKTOqxRoHQpOAnNceg8bHO2mjH+N4Nn0LwuK1kkeW36bWOAABQFUZRFyIPgo6cj9fJmCKWnxqsCxla/rifUir3vRYFN0mXnnOJJKcN/3bO+8O42vF3KDbzox1EJ6mW+38xQ5Pbvo/JYhzVWw=
From: Per Bilse <Per.Bilse@citrix.com>
To: Juergen Gross <jgross@suse.com>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, "moderated list:XEN HYPERVISOR INTERFACE"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] drivers/xen/hypervisor: Expose Xen SIF flags to userspace
Thread-Topic: [PATCH] drivers/xen/hypervisor: Expose Xen SIF flags to
 userspace
Thread-Index: AQHZDh1gTv+e/HYXHUu042upYlMPeq5lPlCAgAUCnwA=
Date: Mon, 12 Dec 2022 13:35:22 +0000
Message-ID: <0c3471d6-1a27-2e45-7093-b6d3898dcc6a@citrix.com>
References: <20221202182254.784808-1-per.bilse@citrix.com>
 <15fff7b8-b030-edf9-5bff-073b9757cb2e@suse.com>
In-Reply-To: <15fff7b8-b030-edf9-5bff-073b9757cb2e@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN6PR03MB3378:EE_|PH0PR03MB6915:EE_
x-ms-office365-filtering-correlation-id: 2f2f37b4-4f9d-4cb3-3eb4-08dadc45b855
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 qhKCyvLkYphjwjvHDA9kxjzYPrntt+/M3ovww/+2M89vbt6TTuSRZooU9VVT8FPvDmU3s4P+TreT4FAJ5vEylTRpqUVs3IQwXoLHqRxj0uMmSXl68bG9sBlu/DwTjKdyWIwCe9gvWg6URDu+q779XY0qUZbVwnh7y/zn1JmnfrCVmwu39fCOc2qQn0yC4M7j9u2wM4dq8uQn8+Tqrx1tu6C6ETGwxd85x1TQLApiPZEwK742C11BMLh24SnyDkezWfhTqaOTG1q3uKFoznDxi/LPmrEzBtYt4oEcFYOf/wUL8D8bPaPVZjIqOiVyLXTn1KquCxWNa+CelR0T6r3WpgVKIq9UA7xrZqgKax3Ru8PMnwICdLt3GeB6eWVspXRvBP2PHPxAPVoMUHV2T5bX2fDFRcEbsOdQPQXV39vmaLcw1bWSxBCWXAqGzVipgKe+Taro0I6xbirwROXjwds2XLmGcxUZCp5IEoe3tMjX0ZNuyIE8Zm5ptk7XydOu2hU50MU+CkdVYWqC6MT9QPFhegDSWJD5Evdi6qMqSYRAdcbB5gEb6xI5qucMh17Yej0HdZ/Yn9Z/7rEV6dUm+7o5OhWymnqkgONQql0zKJqtnZK03W2C98x8qp1KD20M4xhhkVXYJ+itM6QRPQb5/LbrQUyZ557ommVFETW49Uskjsbe9KpZ6jFT0PpEhsixrerb7YgCzbsSPLq0FGUaFKCsiSMFRgfFlUl2yvFz0L8k5Q4qGx7glf5bYXdUl3ze/+9EMXHAMVgC4Iruk/7v1Vb3Cg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR03MB3378.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(396003)(346002)(366004)(39860400002)(451199015)(478600001)(31686004)(5660300002)(41300700001)(8676002)(64756008)(4326008)(6486002)(316002)(2906002)(110136005)(54906003)(2616005)(36756003)(66446008)(8936002)(66476007)(66946007)(66556008)(91956017)(76116006)(86362001)(71200400001)(6512007)(38100700002)(122000001)(6506007)(38070700005)(53546011)(31696002)(82960400001)(26005)(186003)(83380400001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dGxaUkRXWWJQbEU5bFlsOER0em1wWWg2SGRGU25XbVhLQjErcldURE5wOG0z?=
 =?utf-8?B?ZlRqNXk3YmtIZ0Rac0N0MWZWSUhoYzRBOXJoVlhualJNUXM0R2x0dU1GWk1D?=
 =?utf-8?B?TXNGazhlcDhMRVhnMEc4K3ZONXR4VERzdGY4T3g5aERpYmhGU1ExbTNqZXpX?=
 =?utf-8?B?MG5BL3NBUmF3Zk53cmRoMUJEeHBmT1I3N0RsWnJmUlZzbm9YL2EzZWY2N3RH?=
 =?utf-8?B?VTVOQ1liVjNkQ29WbnNzRHdMOEVYRXoxc2h4WS9sNXFEd2MzMXU2Ym0ybHNS?=
 =?utf-8?B?STVmeStQOVVKZGZDT1BIdGJJbVRFanI2djZIY0ZScTc5aW1EcDhBT211OGRr?=
 =?utf-8?B?cUt5RXRkdEZZZnhsbkR6Vy96dXRyRFY2VUpBME8zRkd2N1RvTWJzaUpYZ0pB?=
 =?utf-8?B?aDVnV1JsNlZpQ2lqZ2ZDdnlHMXpoSUl6V3lPMWRMZVhtdU1yY2Y3U3ZxLzJR?=
 =?utf-8?B?NzdHcStsUjJteGltU2JRYWxtaUJCWlF2aS9kYXBlNUh2RVBFUUl0VmdaTkpO?=
 =?utf-8?B?ODBnZHZFb3FybTdDL0ZHK08zTklEUWkyVU9XdlkwNGZtSHBOb1lyT2N0bEgv?=
 =?utf-8?B?TW5MOGxmdEE0cEcrWXFDeXdQZ2RkbjBSbm1ST1Q0clNOTFEwNm9mZEEzNkRa?=
 =?utf-8?B?TDFJUnBBZ1M2aU85d3ZkZDVzZklQODBoeFA4RU1LbG1MS3ZrTmo1QjlFU2t1?=
 =?utf-8?B?RnNKdGcrWFRaZi9MQ2Y0U3dYcGpaZ2hFTGMyaUZqYldaVXZudzBvTENDV0JF?=
 =?utf-8?B?aW1pTUV0TC9wWElvQThmdTE2d3hMbS9rTWFwbCtsSlMvWnNnVlB4VGl0SzBV?=
 =?utf-8?B?S3VJYjVPcXpqSkRPVFN2dEROS3FMNVpaUDJhazlTb1BlQ0EvUm9PREs3N0Vo?=
 =?utf-8?B?K1RTN09mQU1ldENueXhJL3gxWEp2VC9tMkgzc2tPMTladmpmWk9adFMyWlp1?=
 =?utf-8?B?NHBOdk9HVWJXcWtUZ0pqaVlQZ1VkWnRFQk5KOTFzSjRWczBhc000bVNJYk1K?=
 =?utf-8?B?L3BNQ0JtY2pyVjB6RXhpV2NhcDdkaExReDRPZ2NmbjZGbUFDc3d4d0YzUldH?=
 =?utf-8?B?UzI4dXRLeVhBUXEwOVVCVWdjUHJITkRNU3Yva2xBTHZ2b2FvMkgvUFlDcktw?=
 =?utf-8?B?QmE1NmJDM0VZdDZKVEk4dS9iWWRPbElnU1RNNE0zR1RGSlo5NzZRS2dWUEFq?=
 =?utf-8?B?UmJORHNTdlpvNzBiQkhVTGFRbU5ibkU1dzRLcmY3eVNFc3NLWExIbkdGZUhJ?=
 =?utf-8?B?YmtKc3FkL3VFTC9qREJzbFBuK05WR3pRTmI2OUc3cWVRdDE5dlBlZlhnelZR?=
 =?utf-8?B?c2lsTGw2OENVY2FJWXAvWnozcmRzTUtyRHBFQ1FoT0FjOVlNU3FFNUswS0RY?=
 =?utf-8?B?VnkxQjl5Ujd1UU1UUG9xVXMybGlYMnM0YW1XczNFVmx5dnVXNExNNmZkOWlZ?=
 =?utf-8?B?bWdIeUVoSjNTV1pPWjM4UnNSNjU1cW9BTURRd0VraDQ3WjdHeVc2c2x2YWU0?=
 =?utf-8?B?NE5ybzRMQk1BZVVQUG13aWFhM0xqcklKWXF3Z3JBcXhBaEFWdzg0UUx2TVdB?=
 =?utf-8?B?ZDdHNDkwY3RnRTNjLzRvSW5tOU1jVXljYmdUNi93aThuVGFsREU3SGo2L2E3?=
 =?utf-8?B?ekxnQnJMZjR5VVhrT2RqanFNK0o2RHYrQVMxNzBrU3V4MFFRU0x0MXhvaCtX?=
 =?utf-8?B?dmJYSFdmVi9tOFoxNUtyTmZZbWRJblRWekdjSEdCTFJHaWNuVFRHcnhscEV0?=
 =?utf-8?B?dzh4NUhBWUxnNndqNkhlbXR0K1JYK245b01xQVJUeG41bEthOEp5TnZvbHNw?=
 =?utf-8?B?MG5tWXVQMkdQNXN0T2dRaElXSjczUjdFVlBmR3QxREFFRzdjcjJlZEFPWG0z?=
 =?utf-8?B?Um5EQ2VPelFkUlFnZm1wQlovRjhNTGd6bmpwS1lyTXZYbEJvMDNNWHlDejVu?=
 =?utf-8?B?Y1lzY1dZUlcvYjhiZURTT1BIMzh0Um5udUdxNzB1d1dzWGQvbWIvUWtzQnVa?=
 =?utf-8?B?Y3lxWE9KQitsNDZMMzl2djVwSE5kUWNQVkdCZlRNeFBaeVp6QVNTdWR4SFFi?=
 =?utf-8?B?QXo2cXZNMWhpb09QMDBhTHFZbnRiSk14TURtOHFBVGdxSG5BNVIwTkkweXkr?=
 =?utf-8?Q?pNzKe5AHSBMHlYfEbAeg0ANAV?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <CFC6F725FAE0A048941452A4AF515F89@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN6PR03MB3378.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f2f37b4-4f9d-4cb3-3eb4-08dadc45b855
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Dec 2022 13:35:22.9326
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: WVc8d2/Y2TkMUUmUfoODYCGQ7zjN102Ow+7yfj/E/KNmbPk+mfBu3FcfqNo0i5ttmDHclWRMamkbxWqHC48qtg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6915

T24gMDkvMTIvMjAyMiAwOTowNCwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4gT24gMDIuMTIuMjIg
MTk6MjIsIFBlciBCaWxzZSB3cm90ZToNCj4+ICtEZXNjcmlwdGlvbjrCoMKgwqAgSWYgcnVubmlu
ZyB1bmRlciBYZW46DQo+PiArwqDCoMKgwqDCoMKgwqAgQWxsIGJpdHMgaW4gWGVuJ3Mgc3RhcnQt
ZmxhZ3MgYXJlIHJlcHJlc2VudGVkIGFzDQo+PiArwqDCoMKgwqDCoMKgwqAgYm9vbGVhbiBmaWxl
cywgcmV0dXJuaW5nICcxJyBpZiBzZXQsICcwJyBvdGhlcndpc2UuDQo+IA0KPiBJIHRoaW5rIGF0
IGxlYXN0IHRoZSBmaWxlcyB3aGljaCB3YW50IHRvIGJlIHVzZWQgYnkgZS5nLiBzeXN0ZW1kDQo+
ICgiaW5pdGRvbWFpbiIgYXMgcmVwbGFjZW1lbnQgZm9yIHRoZSAiY29udHJvbF9kIiBzdHJpbmcg
aW4gY2FwYWJpbGl0aWVzLA0KPiBidXQgSSB0aGluayAicHJpdmlsZWdlZCIgYXMgd2VsbCkgc2hv
dWxkIGJlIGV4cGxpY2l0bHkgYWRkZWQgdG8gdGhpcw0KPiBkZXNjcmlwdGlvbiwgYXMgdGhvc2Ug
YXJlIG1lYW50IHRvIGJlIHVzZWQgYXMgYSBzdGFibGUgQUJJLg0KDQpPSywgeWVzLCBpdCdzIGEg
Yml0IHZhZ3VlIGFzIGlzLg0KDQo+PiArc3RhdGljIHN0cnVjdCBoeXBfc3lzZnNfYXR0ciBmbGFn
X2F0dHJzW0ZMQUdfQ09VTlRdID0gew0KPj4gK8KgwqDCoCBbaWxvZzIoU0lGX1BSSVZJTEVHRUQp
XSA9IHsNCj4+ICvCoMKgwqDCoMKgwqDCoCAuYXR0ciA9IHsgLm5hbWUgPSAicHJpdmlsZWdlZCIs
IC5tb2RlID0gMDQ0NCB9LA0KPj4gK8KgwqDCoMKgwqDCoMKgIC5zaG93ID0gZmxhZ19zaG93LA0K
Pj4gK8KgwqDCoMKgwqDCoMKgIC5oeXBfYXR0cl92YWx1ZSA9IFNJRl9QUklWSUxFR0VEDQo+PiAr
wqDCoMKgIH0sDQo+IA0KPiBXaGF0IGFib3V0Og0KPiANCj4gI2RlZmluZSBGTEFHX05PREUoYml0
LCBub2RlKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwNCj4gIMKgwqDC
oMKgW2lsb2cyKGJpdCldID0ge8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IFwNCj4gIMKgwqDCoMKgwqDCoMKgIC5hdHRyID0geyAubmFtZSA9ICNub2RlLCAubW9kZSA9IDA0
NDQgfSzCoMKgwqAgXA0KPiAgwqDCoMKgwqDCoMKgwqAgLnNob3cgPSBmbGFnX3Nob3cswqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwNCj4gIMKgwqDCoMKgwqDCoMKgIC5oeXBfYXR0cl92
YWx1ZSA9IGJpdMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcDQo+ICDCoMKgwqDCoH0N
Cg0KWWVzIC4uLiBJIHdhcyB0aGlua2luZyB0aGF0IG1heWJlIGZsYWdzIHdvdWxkbid0IG5vcm1h
bGx5IHNoYXJlIG1vc3QgDQpjaGFyYWN0ZXJpc3RpY3MsIGJ1dCB0aGV5IHByb2JhYmx5IGRvLg0K
DQo+IEluIG9yZGVyIHRvIGF2b2lkIGEgY29uc3VtZXIgaGF2aW5nIHRvIGxvb2sgaW50byB0aGUg
c291cmNlcyBmb3IgYW55IG90aGVyDQo+IHNldCBmbGFnLCBtYXliZSBhZGQgbmFtZXMgZm9yIGN1
cnJlbnRseSBkZWZpbmVkIGZsYWdzLCB0b28/IE9yIGp1c3Qgc2tpcCA+IHRoZSBvdGhlciBmbGFn
cyBhbmQgYWRkIGEgc2luZ2xlIGFkZGl0aW9uYWwgbm9kZSAoImZsYWdzIj8pIHdpdGggdGhlIA0K
d2hvbGUNCj4gdmFsdWUgb2YgeGVuX3N0YXJ0X2ZsYWdzIGVpdGhlciBpbiBoZXggb3IgYmluYXJ5
IGZvcm0/DQoNClRoZSBjdXJyZW50IGZvcm1hdCBpcyBhcyBzdWdnZXN0ZWQgYnkgQW5kcmV3IENv
b3BlciBpbiBlbWFpbCBhYm91dCBhIA0KcHJldmlvdXMgaW5jYXJuYXRpb24gDQooaHR0cHM6Ly9s
b3JlLmtlcm5lbC5vcmcvbGttbC85MjMwMGE4MS1iOTdiLWY1ZDYtZTNlOC0zNjNkOGE3ZDM3NDJA
Y2l0cml4LmNvbS8pOyANCnNwZWNpZmljYWxseSwgdGhhdCBvZiB0aGUga25vd24gZmxhZ3Mgb25s
eSBpbml0ZG9tYWluIGFuZCBwcml2aWxlZ2VkIGFyZSANCnJlbGV2YW50IG91dHNpZGUgYSBrZXJu
ZWwgY29udGV4dCwgYW5kIHRoYXQgYWxsIG90aGVyIGZsYWdzIGJlIGV4cG9zZWQgDQppbmRpdmlk
dWFsbHkuDQoNCj4gUGxlYXNlIG5vdGUgdGhhdCB0aGlzIGlzIGEgc3VnZ2VzdGlvbiBvbmx5LCBJ
J20gbm90IGluc2lzdGluZyBvbiBpdC4NCg0KUGxlYXNlLCBtYW55IHRoYW5rcyBmb3IgdGhlIGZl
ZWRiYWNrLCBpdCdzIGFsd2F5cyBnb29kIHRvIGhlYXIgb3RoZXIgDQpwZW9wbGUncyB0aG91Z2h0
cy4NCg0KQmVzdCwNCg0KICAgLS0gUGVyDQoNCg==


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 14:26:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 14:26:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459661.717422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4jkh-00080c-AL; Mon, 12 Dec 2022 14:25:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459661.717422; Mon, 12 Dec 2022 14:25:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4jkh-00080V-5S; Mon, 12 Dec 2022 14:25:55 +0000
Received: by outflank-mailman (input) for mailman id 459661;
 Mon, 12 Dec 2022 14:25:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4jkg-00080L-G5; Mon, 12 Dec 2022 14:25:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4jkg-0008Dw-Cd; Mon, 12 Dec 2022 14:25:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4jkf-0000W4-VU; Mon, 12 Dec 2022 14:25:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4jkf-0005Ln-V0; Mon, 12 Dec 2022 14:25:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=l0z//sSSo3THQxlyvtGtwOur9XnRy+qDrwjiTs07ecc=; b=rz6/whh3GNJosHEYANfoJeOUZb
	rOLuL5oTlYvUu+5H7Dp50Obh5v9xD6nUhR3FVc9RvDUy5/TnqsLMNBQhNgJ0awrAnA89TwnDNQumA
	1/WYZcdq6oOE5qe9dnpe7Lncsj1D+dSwqxP6ATVSVB3lEv3OmclDrEZOtlpQnZBlxM3w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175150-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175150: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=830b3c68c1fb1e9176028d02ef86f3cf76aa2476
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 12 Dec 2022 14:25:53 +0000

flight 175150 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175150/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                830b3c68c1fb1e9176028d02ef86f3cf76aa2476
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   65 days
Failing since        173470  2022-10-08 06:21:34 Z   65 days  131 attempts
Testing same since   175150  2022-12-12 05:55:51 Z    0 days    1 attempts

------------------------------------------------------------
1995 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 192152 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 14:39:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 14:39:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459674.717432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4jxE-0001GH-F6; Mon, 12 Dec 2022 14:38:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459674.717432; Mon, 12 Dec 2022 14:38:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4jxE-0001GA-CM; Mon, 12 Dec 2022 14:38:52 +0000
Received: by outflank-mailman (input) for mailman id 459674;
 Mon, 12 Dec 2022 14:38:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4jxD-0001G0-KZ; Mon, 12 Dec 2022 14:38:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4jxD-0008TL-IT; Mon, 12 Dec 2022 14:38:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4jxD-0000ne-5i; Mon, 12 Dec 2022 14:38:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4jxD-0005px-5D; Mon, 12 Dec 2022 14:38:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bmt4TiZDVCGluZyWgNtsKQK1jHtCBEbXsPSB503ABH0=; b=O4Rof8aoM+cP+wyoRJb2ix51C/
	lkVers49+zxTSfFI/MyKli1GfcIO3wt3i4ytiG4uSZgKkOj36eFWLUytUy+u0Foq6bW5uiWI1SI1L
	HiBL2wv7X2q1lhRg3IZppsf84np9GFqZDNuGQe+VdR6UNM09d8ks4rALQ/0M6c6BDJa8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175152-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175152: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=96993519424c3fef49fd00d80a271d986767a3cd
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 12 Dec 2022 14:38:51 +0000

flight 175152 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175152/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  96993519424c3fef49fd00d80a271d986767a3cd
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175133  2022-12-10 01:03:23 Z    2 days
Testing same since   175152  2022-12-12 12:01:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   f86d0a1ff2..9699351942  96993519424c3fef49fd00d80a271d986767a3cd -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 14:46:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 14:46:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459687.717443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4k4S-00033S-AV; Mon, 12 Dec 2022 14:46:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459687.717443; Mon, 12 Dec 2022 14:46:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4k4S-00033L-7O; Mon, 12 Dec 2022 14:46:20 +0000
Received: by outflank-mailman (input) for mailman id 459687;
 Mon, 12 Dec 2022 14:46:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=FKCz=4K=chiark.greenend.org.uk=ijackson@srs-se1.protection.inumbo.net>)
 id 1p4k4Q-00033F-8z
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 14:46:19 +0000
Received: from chiark.greenend.org.uk (v6.chiark.greenend.org.uk
 [2001:ba8:1e3::]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9951707-7a2b-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 15:46:16 +0100 (CET)
Received: by chiark.greenend.org.uk (Debian Exim 4.94.2 #2) with local
 (return-path ijackson@chiark.greenend.org.uk)
 id 1p4k4K-0006B5-6L; Mon, 12 Dec 2022 14:46:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9951707-7a2b-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=chiark.greenend.org.uk; s=k.chiark; h=DKIM-Signature-Warning:References:
	In-Reply-To:Subject:Cc:To:Date:Message-ID:Content-Transfer-Encoding:
	Content-Type:MIME-Version:From:Sender:Reply-To:Content-ID:Content-Description
	:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
	List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:
	List-Archive; bh=AqKxL0fz/H3i4/h6pIR4jD0697WXLyn0NOyLgGfnvew=; b=trRBY0Wn4FKV
	zu35UdbjsP70fKXhsO0M5qRSUIHEtMF0x/L5jzHjH/bXxEKIA8+yyXroCKjJ3WRJXBWpBoTPZF0RG
	PerYInnytxa+sZTEvBalzOMNwk1cpQlIsveTEKqI18FC+Yy81CgjMos5Kh/1WVhO2ai8VZGizaimg
	FnZEfyVaqXtOg6jWsnUfQn3pDN551uXf5O2qpe4lSAGmqr3VZOUMA8B+XuVcb5/pJFWnLzUPEtKvW
	XkMcNK+1KGgKUsRilZv2wV97r7MMz/E/cMbRUtcK/Um8sWpxjsgfq284yN4uJQ/LG8VtY2f5MN0RI
	wq+OXWMfrItWU/K4T5cGew==;
From: Ian Jackson <ijackson@chiark.greenend.org.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <25495.16052.112087.389313@chiark.greenend.org.uk>
Date: Mon, 12 Dec 2022 14:46:12 +0000
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org,
    Henry.Wang@arm.com,
    Julien Grall <jgrall@amazon.com>,
    Andrew Cooper <andrew.cooper3@citrix.com>,
    George Dunlap <george.dunlap@citrix.com>,
    Jan Beulich <jbeulich@suse.com>,
    Stefano Stabellini <sstabellini@kernel.org>,
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/8] docs/process: branching-checklist: Remove reference to qemu-ijw.git
In-Reply-To: <20221212093410.36289-3-julien@xen.org>
References: <20221212093410.36289-1-julien@xen.org>
	<20221212093410.36289-3-julien@xen.org>
X-Mailer: VM 8.2.0b under 27.1 (x86_64-pc-linux-gnu)
DKIM-Signature-Warning: NOTE REGARDING DKIM KEY COMPROMISE https://www.chiark.greenend.org.uk/dkim-rotate/README.txt https://www.chiark.greenend.org.uk/dkim-rotate/69/69de71400e85a925fa916fcd59931eae.pem

Julien Grall writes ("[PATCH 2/8] docs/process: branching-checklist: Remove reference to qemu-ijw.git"):
> From: Julien Grall <jgrall@amazon.com>
> 
> Per [1], qemu-iwj.git was a clone of QEMU traditional on Ian's computer
> for tagging QEMU trad.
> 
> The next section will provide tag for the official tree. So remove
> the section about qemu-ijw.git.
> 
> [1] 25482.10006.140155.984629@chiark.greenend.org.uk
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> Cc: ijackson@chiark.greenend.org.uk

Acked-by: Ian Jackson <ijackson@chiark.greenend.org.uk>

Ian.


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 14:47:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 14:47:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459670.717454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4k5p-0003be-L1; Mon, 12 Dec 2022 14:47:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459670.717454; Mon, 12 Dec 2022 14:47:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4k5p-0003bX-Hs; Mon, 12 Dec 2022 14:47:45 +0000
Received: by outflank-mailman (input) for mailman id 459670;
 Mon, 12 Dec 2022 14:27:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=BPaw=4K=tibco.com=sdyasli@srs-se1.protection.inumbo.net>)
 id 1p4jm0-00008D-Ql
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 14:27:16 +0000
Received: from mail-ed1-x533.google.com (mail-ed1-x533.google.com
 [2a00:1450:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 132a30b3-7a29-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 15:27:15 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id e13so13082384edj.7
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 06:27:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 132a30b3-7a29-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=XpuandItVmoNpmtbX8sLodkDJR/K/tYSTNlnrWKDCSI=;
        b=Hvp7A8Rt6FGiDuYmg4TFegkYSzMnIeVsMYALBKxsIu0CPGgImKYOueAXxJDorftfH9
         9Ho+w14JzIwDoHaiKImgkWAM6lqWd6COQHahJSVPo200gnIn1vWoRuSRhqbc0buKHvRL
         TE/Hib9DdEv6l8eWraq5XzdSYUcrljn8bOV+4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=XpuandItVmoNpmtbX8sLodkDJR/K/tYSTNlnrWKDCSI=;
        b=qzpRxaXAl2DyMUph7vg6EeJ5GdSoDHS4jEEHK/WHw3o0UDgOKXfRWWd7CcF7T822ZL
         Msjrd7s7Jy5D+dQzbhYr90wMGzDWMvDhhCr1GPxv0pU5mBemySTddvU0UGLJgsVAY2SW
         raYZiFPU5wKkqBday4hn5sqk6IQKoPTvD6GWfmkzhjbkmK2BInntmLz7srhvTkLR6xGk
         v9bhH5EdDnBzyIBeppz0CcyCuf2lZ95YWxUPQUsVDB7fiBv9DQzcfRP3CiIaUA2FHBuS
         yXXbtf99o9tRnuLrIS5klr6xLyIKe3nrYo+h6i9BDPPC68+OMowL7dXhtLU5zVx8fkPp
         1uUw==
X-Gm-Message-State: ANoB5pk5dS1FS8SFwCMY60lSfkt4lrvnFSaqcmMjewOKFTMHv1Rdz88Z
	n6dUvIzjuf8IjaBIQAL9mA32PxnFjUmBodLkVsiLI8RP0W4Tavg5
X-Google-Smtp-Source: AA0mqf6xI8QXyVreFeaSZuZAyI182R3j4+8MyB3srjD4UvWWPYOsha7jbAWJJnjpwQQLbH8/eW0zNSLklehK8sJ+1ko=
X-Received: by 2002:a50:fe87:0:b0:46d:5a5c:e3bf with SMTP id
 d7-20020a50fe87000000b0046d5a5ce3bfmr7249934edt.142.1670855234894; Mon, 12
 Dec 2022 06:27:14 -0800 (PST)
MIME-Version: 1.0
References: <20221208132639.29942-1-sergey.dyasli@citrix.com>
 <c6676171-8cab-dfbc-4b18-d9c724588398@citrix.com> <35f9e529-35b9-0432-8e98-8b0100953856@suse.com>
In-Reply-To: <35f9e529-35b9-0432-8e98-8b0100953856@suse.com>
From: Sergey Dyasli <sergey.dyasli@cloud.com>
Date: Mon, 12 Dec 2022 14:27:04 +0000
Message-ID: <CAPRVcuccXaLNX3suy1t+xD_kptnV2yLxoCN_193PF6Gj_FBD1w@mail.gmail.com>
Subject: Re: [PATCH 1/2] x86/ucode: allow cpu_request_microcode() to skip
 memory allocation
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, 
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"

On Thu, Dec 8, 2022 at 3:34 PM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 08.12.2022 14:59, Andrew Cooper wrote:
> > On 08/12/2022 13:26, Sergey Dyasli wrote:
> >> @@ -240,20 +240,20 @@ static const struct microcode_patch *nmi_patch = ZERO_BLOCK_PTR;
> >>   * patch is found and an error occurs during the parsing process. Otherwise
> >>   * return NULL.
> >>   */
> >> -static struct microcode_patch *parse_blob(const char *buf, size_t len)
> >> +static const struct microcode_patch *parse_blob(const char *buf, size_t len)
> >>  {
> >>      alternative_vcall(ucode_ops.collect_cpu_info);
> >>
> >> -    return alternative_call(ucode_ops.cpu_request_microcode, buf, len);
> >> +    return alternative_call(ucode_ops.cpu_request_microcode, buf, len, true);
> >>  }
> >>
> >> -static void microcode_free_patch(struct microcode_patch *patch)
> >> +static void microcode_free_patch(const struct microcode_patch *patch)
> >>  {
> >> -    xfree(patch);
> >> +    xfree((void *)patch);
> >
> > This hunk demonstrates why the hook wants to return a non-const
> > pointer.  Keeping it non-const will shrink this patch quite a bit.
>
> Alternatively it demonstrates why xfree() should take const void *,
> just like e.g. unmap_domain_page() or vunmap() already do. We've
> talked about this before, and the argument hasn't changed: Neither
> unmapping nor freeing really alters the contents of the pointed to
> area from the perspective of the caller, as the contents simply
> disappears altogether.

Despite my love of const, const correctness in C is quite a pain. I've
tried to make xfree() take a const pointer but then issues began with
add/strip_padding() functions and I couldn't overcome those without
further (void *) casts which just takes the problem to a different
layer.

I think I'll have to go with Andrew's suggestion and continue to return
non-const pointers from cpu_request_microcode(). This will include
a cast though:

    patch = (struct microcode_patch *)saved;

Sergey


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 14:59:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 14:59:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459704.717465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4kH9-0005PF-Mq; Mon, 12 Dec 2022 14:59:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459704.717465; Mon, 12 Dec 2022 14:59:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4kH9-0005P8-K0; Mon, 12 Dec 2022 14:59:27 +0000
Received: by outflank-mailman (input) for mailman id 459704;
 Mon, 12 Dec 2022 14:59:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8fsB=4K=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p4kH8-0005P2-01
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 14:59:26 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2075.outbound.protection.outlook.com [40.107.20.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 910aaa75-7a2d-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 15:59:24 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS1PR04MB9630.eurprd04.prod.outlook.com (2603:10a6:20b:475::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Mon, 12 Dec
 2022 14:59:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 14:59:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 910aaa75-7a2d-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZzH+wk+tOMkHL1liSZoHizLKuSvqVbdAU8Wyv4pNggws2a1gJDfc9Kx6boyQZTYdJCD4wlLe1XbghHtCyekj3RP/yUZ8kc1pn0ggoX4n98hdc6/pBC1fSXgGLZge+K9/ec29K2Gl8GnvU8S4ZCZlKAplhlcBh3YUzQTnqGB47u1SxXnFwmJWx3gk7XJupwURaTrFwuCWR/VQVYqZAjIz73ERYTWE9JTn8USWq01M217i056lsauU+WwRvwwhF0eQBlhy021xdPPxwBFBqMIaGB/Se7PsZ6NVkcyZoMU13EUZ7bf6ac+C9kgxKS72NY5/E2iweuhhqPrmRp9xkczshw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rNaOSlp0VejONGrUc0uu5nr4lCDjIMe0PJVIL3X+d0Y=;
 b=IoB+uf91O+kc2uwcHO5LDsrTuNWuzV52RMbjGvm/ISm34O74RXYOLfLo/3HHwBpFjKMQzfDy1r6IOsqXAvkNGTRv/eG/l71ThQmZlf6Xq35GgQyUAQ+xHOlCHlewhuvY4NpAB98IQ3Z/MyBcAooVSQAgMkBf/thjxMDTl4RXutdUYY5j5rkVJ0U018aHxB2bW0Pg5lzBg6RoVTOB2gWqTFaAvyb/0sa6jlx9T22GajEiPQhVgYT7t3kG2TardZFum4MFrv7N+FFLSWIRAz421geMyScpJ8VA2zGTy/dsdGwtlNJL0IshrJ/oDKF9ibIun7NloKAwJBN2AcphVuJSzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rNaOSlp0VejONGrUc0uu5nr4lCDjIMe0PJVIL3X+d0Y=;
 b=J7Fffdg8S2MBb40bk3Ke1TsM8AS255XKWO0b5w4RaATGFA9/530YFeMtLKjheJwWMisa8Ho6lOPofeL6alCHX3kF0e77KBUkgx+KYjei2K0LhmlZ+SIUkbCnUdWzqwYCZrFc+EcbRS/j/l0+h4hhllYiiLBPOaCAI17ad0OSOyecKK1NxU1g2pB1+GkXPOJELx23dLA91FIisAIw8y4phoy5FGF3zoBAM1qKrj0Mde7UQonehO5sXpWlEpBykTl9ig/zWZA+2BgclNAxtoRw4kGbv0xQbG07aMSx7UIF1mIXwOhIqVT1yZ+K1vLKxSyRx80la1/TKB0i+IOf7rm9AA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b610b461-4c77-66da-c930-10def3138e5d@suse.com>
Date: Mon, 12 Dec 2022 15:59:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 1/2] x86/ucode: allow cpu_request_microcode() to skip
 memory allocation
Content-Language: en-US
To: Sergey Dyasli <sergey.dyasli@cloud.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20221208132639.29942-1-sergey.dyasli@citrix.com>
 <c6676171-8cab-dfbc-4b18-d9c724588398@citrix.com>
 <35f9e529-35b9-0432-8e98-8b0100953856@suse.com>
 <CAPRVcuccXaLNX3suy1t+xD_kptnV2yLxoCN_193PF6Gj_FBD1w@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAPRVcuccXaLNX3suy1t+xD_kptnV2yLxoCN_193PF6Gj_FBD1w@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0133.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS1PR04MB9630:EE_
X-MS-Office365-Filtering-Correlation-Id: a49ee80f-4d6e-4999-f4e3-08dadc5173f3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ukkyphmj6aiY1MZJj42wQVKyA5dXRK3WJaHSfzV73tbYIG4NrC2g87TENnyej44OcmtlhOWe5GdrB+Cn+mSBfz9orXP6PtGz/VrxUCw+G84r/Eny7tVOpFC/PbICSpsj2mxYCB57F0H/inwj+SDkrLSQ0T8xKUk45jnTu+wk7dBd/YyzQXojuyJ2BwqBTdEbIcoX8D3mMbjSTOU1WEH8wFtZkw2UPu765YzGIs2BE/cfDWVp/tzEzDI5JDHaM6q5wYqhfdHqfR6CF/gad3exJ3RlBbdBW1xXGDobTSxeDJ3UK/fZ0p9d8ofPX6LGh3lmgO4WbyBS6Bfuk0eewVLLjisiKmfENPqaxrxAbVBAeZoNObeVSGnwBjUpKmTIgLXGwfd1EXlBAwuND+O07urmQHFqU9MBfRiOwEexmWaLnSJD0YxK/kc9G+7LxQHll3l/cWLtBj765ik4NOYkRDrkItD3YA8Bz1geL4g/E4YUh37wgXN3Rk0baseG7FG8XTRE3mI8lM4d3HbDB7tUgMf5CjKAs0UDy9b9w6GITVPYD35uRdjFrd5PR0FO55L4PNhkwHdW3kfE8naJvCIspWJ89cRzqi6Q/0VBSP9raBnX5hCiPUJmvM+zVwK+qDT6Anl5qp8IIrvF/QZUQ3zNHAjRZcK3Ul6HSYtEHUleMLfSQdrRY6ueiRX9u+3Px4gOkkFirDkQEi0pi+s+aSQ+sLa+OYsp3Prxz4R6NbyOWytxZyI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(376002)(136003)(396003)(39850400004)(451199015)(36756003)(41300700001)(5660300002)(8936002)(2616005)(66556008)(66476007)(66946007)(186003)(4326008)(8676002)(6506007)(6486002)(38100700002)(83380400001)(86362001)(53546011)(31696002)(26005)(54906003)(6512007)(6916009)(316002)(478600001)(2906002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R0VhVkNxNTc3YmlXelNVZHFVZXdaS2hMYjEwbThrK3hRREx5RmU4djJmazZG?=
 =?utf-8?B?b3lCRGYvQmd5R1BQZ1ptVDk0Vitvem0vZWFGYW42SktDZHVLd010aSt1UUgy?=
 =?utf-8?B?TUdEQXJnODFLaGJNaWN0eGRCS2NFUEhUVnRhbis0VnNrbFQ3Rk1lanhSSGpa?=
 =?utf-8?B?ckp2R0RwLzE3amtaTVcvaHhIZWVNV3drWU1XWTFwV0pjRnVnZVZnSVJSUDRR?=
 =?utf-8?B?OUhueHV4TWl6VmVCdURQbm9sQnFXeHlhUzF3N1BWU0JjUHZoZzdITHpEckxQ?=
 =?utf-8?B?djhlUVZSZS9GR2Izb2RzUW4yMGVKMDRqQVdUbnhUVFhJd01mNHlYdDBjelJ2?=
 =?utf-8?B?ZWN6dlZpUHA5cm9FTDJUeTdMSDdjMUROSHdDOWIzWjhvWGdsUzR4NFAxcDdw?=
 =?utf-8?B?aWp1U2cyM2d5RXZMQ3l2UlFrL0l4ekUrRko3K3dyV21sbFBkeUFQU2s3RDRH?=
 =?utf-8?B?K0F5enlhTWNSNzdMdzY4TGt3aFdNNXQ2VURjeWp3dGlUWjJLdUdrbGo4QnlZ?=
 =?utf-8?B?Q2o5UFdqVjZGTlBYR2U3MnBtcmFrUStlQzZQOXY1dXh1ZnVlZWd0eFE4NjdY?=
 =?utf-8?B?ckNISzcxcVhIdnF3ZDc3dlhaMCtVcFY1dTBVekYrUkc0WGwyNnJCRUNETTQ2?=
 =?utf-8?B?ZGQzU1oxV3k5WGVUTE1Fb0FqOWl3KzAvT1YzQndzTnhqbmU3ek5mRFN5dUdV?=
 =?utf-8?B?KzhNcXFkME81enBkWFM1NnNWQlVtRnRZcVRNNG1TOHF6SHl2eGdpVytTVUdt?=
 =?utf-8?B?ckgyZDFSMWp4RXMvRnlqa2VsM2VEbTJ5NHM2cFEvZE1Zbng0eVZPNk5ZQnh4?=
 =?utf-8?B?cHFaYkNtNmRGRDRUbGx0VHhxOFk2SzFBYmJZWTJTZk5SVWJSZzF3REpvbEZ1?=
 =?utf-8?B?SDlGYUFTM1J0RlllRVNtK1llTGh0VUVsV3hDR29hRFJBSjlaSUFxMVV2QUtT?=
 =?utf-8?B?NkRZTTZoekJUcWZBbHZVakFGaUdBYTF2ZWxpSnRDQlFCQU5MSytLL09idm03?=
 =?utf-8?B?VmxEMkFZeUt0eVVMNVFMaFBaY3dKQlVwSTJBbGpMekF0WmI2VFhHWExEeVZC?=
 =?utf-8?B?UnllSmUzSW01NVFqQm1SMGZxUEMxNDE5YjVEUXNqNHFYZDJxelFKNjNkcGNT?=
 =?utf-8?B?ZWpYeW1ucG5jWlBOa2Qzb2ZCVXVtQmh4VFJnTTZXUVJ6eTZUaU9obE84bUw2?=
 =?utf-8?B?c0JsYUFoSnNNK01pYk5GZ1hKYkhMdXVOemFMaTlKcE9qazdhNERyT3ZvRHlO?=
 =?utf-8?B?WmUzOEVjR2NvdUlpSVg0Q0NDWUVrbW9OUkFBVEU2Vi9VVUJmVHk5dVVYRWFR?=
 =?utf-8?B?b3lPVTFQZ3JuY2ZHeWd1UXdEdVUzQ0tjcTdhb0tNUVNUR0pFZU5EZHV3STI1?=
 =?utf-8?B?VUhHTC95Y3pRY0xtaUpSb3A4Q3V2NEhnUHpHMkNXWDVFc2NQVGtMbkV4ZDY5?=
 =?utf-8?B?RnlYNW1QSE1yM05HN2dBWU9sZDFBSmlXMkRRcVpUOEtmLzNJWjl2TnpRV1Rx?=
 =?utf-8?B?L2JMdDZ5REx1MTVaSzJxbE4zeG1yVGpyckVnZTBCU2FISm8yZTNZTmFEcWVL?=
 =?utf-8?B?NFA3bkdMMFB0Z3JZd3F6OUNPdHRIeG53WFNVSmtpWkhnODBvTnRjNlprWFZp?=
 =?utf-8?B?Y1hHbUFha1Y4OEdzQVFKT2tUY3BxdnlBRHBKSjUyVW1QMHc5ZVRUaHFuQ1k4?=
 =?utf-8?B?MUhQa3owazByelJaV1ZNN2ZMV3V2VDdpcVE2M1JUYzlqeU13RTdTMkJ6aWRz?=
 =?utf-8?B?VlhQR1JTeW5UeFB2ZGRwOFA4WmRqMGUzL1Bma1V2THE2WTVMVHQ2NFh5Ti96?=
 =?utf-8?B?MzBBTmRTRnpZWEc1NUJEdWZGMHhHSVJheXAvRUJicWt4ZDRyb21keEdFekVI?=
 =?utf-8?B?SVNsdVdpN211TE1HWjVvVW9BUU1ubmMvUEo3cmZ6VEg5Q1lNdmVqUHB3cDdP?=
 =?utf-8?B?bitUZGxlQTR5WEI2Q2NDRjh2V0lDSmpXREsxNzFnbDBqZE0wTVJzeFBpWCtE?=
 =?utf-8?B?R1o3Y2krMGJ5TzQ3Mno5WVpJREc1WndMM3pOaDNxVks5b0FMNW9ibEtadDVR?=
 =?utf-8?B?cHhTaXlxUk4vaVNmNHhsdjIwdk1YbUlISWxDdUxza3hSaDZBMTBaTEp3L25k?=
 =?utf-8?Q?PNPRjFAWpQUGhk6Q3nCvPL5pv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a49ee80f-4d6e-4999-f4e3-08dadc5173f3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 14:59:22.3425
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DVppje++46V6B83dQi09qNyxIIlYwD+0DRi70rpA2F/5HhiqV/FMa08EievrjNqx8jf6QBlqtkeaFc1zc7llbQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9630

On 12.12.2022 15:27, Sergey Dyasli wrote:
> On Thu, Dec 8, 2022 at 3:34 PM Jan Beulich <jbeulich@suse.com> wrote:
>> On 08.12.2022 14:59, Andrew Cooper wrote:
>>> On 08/12/2022 13:26, Sergey Dyasli wrote:
>>>> @@ -240,20 +240,20 @@ static const struct microcode_patch *nmi_patch = ZERO_BLOCK_PTR;
>>>>   * patch is found and an error occurs during the parsing process. Otherwise
>>>>   * return NULL.
>>>>   */
>>>> -static struct microcode_patch *parse_blob(const char *buf, size_t len)
>>>> +static const struct microcode_patch *parse_blob(const char *buf, size_t len)
>>>>  {
>>>>      alternative_vcall(ucode_ops.collect_cpu_info);
>>>>
>>>> -    return alternative_call(ucode_ops.cpu_request_microcode, buf, len);
>>>> +    return alternative_call(ucode_ops.cpu_request_microcode, buf, len, true);
>>>>  }
>>>>
>>>> -static void microcode_free_patch(struct microcode_patch *patch)
>>>> +static void microcode_free_patch(const struct microcode_patch *patch)
>>>>  {
>>>> -    xfree(patch);
>>>> +    xfree((void *)patch);
>>>
>>> This hunk demonstrates why the hook wants to return a non-const
>>> pointer.  Keeping it non-const will shrink this patch quite a bit.
>>
>> Alternatively it demonstrates why xfree() should take const void *,
>> just like e.g. unmap_domain_page() or vunmap() already do. We've
>> talked about this before, and the argument hasn't changed: Neither
>> unmapping nor freeing really alters the contents of the pointed to
>> area from the perspective of the caller, as the contents simply
>> disappears altogether.
> 
> Despite my love of const, const correctness in C is quite a pain. I've
> tried to make xfree() take a const pointer but then issues began with
> add/strip_padding() functions and I couldn't overcome those without
> further (void *) casts which just takes the problem to a different
> layer.

There is exactly one such cast needed according to my attempt, and that's
in an internal (static) helper function. See below (and feel free to use).

Jan

mm: make a couple of freeing functions take const void*

freeing functions, from the perspective of their callers, don't alter
contents of the freed block; the block simply disappears. Plus it is not
uncommon that some piece of memory is allocated, filled, and henceforth
supposed to only be read from. In such cases, with the parameters of the
freeing functions not being pointer-to-const, callers have to either
omit the use of const where it would be indicated or add risky casts.

The goal being to make xfree() fit the intended pattern, alter other
functions at the same time to limit the number of casts needed to just
one. strip_padding() necessarily has to have a such a cast, as it's
effectively strchr()- or memchr()-like: Input may be pointer-to-const,
bot for its output to also be usable when the input isn't, const needs
to be cast away. Note that the risk with such a cast is quite a bit
lower when it's an internal (static) function wich is affected.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2231,7 +2231,7 @@ void *alloc_xenheap_pages(unsigned int o
 }
 
 
-void free_xenheap_pages(void *v, unsigned int order)
+void free_xenheap_pages(const void *v, unsigned int order)
 {
     ASSERT_ALLOC_CONTEXT();
 
@@ -2279,7 +2279,7 @@ void *alloc_xenheap_pages(unsigned int o
     return page_to_virt(pg);
 }
 
-void free_xenheap_pages(void *v, unsigned int order)
+void free_xenheap_pages(const void *v, unsigned int order)
 {
     struct page_info *pg;
     unsigned int i;
--- a/xen/common/xmalloc_tlsf.c
+++ b/xen/common/xmalloc_tlsf.c
@@ -453,7 +453,7 @@ void *xmem_pool_alloc(unsigned long size
     return NULL;
 }
 
-void xmem_pool_free(void *ptr, struct xmem_pool *pool)
+void xmem_pool_free(const void *ptr, struct xmem_pool *pool)
 {
     struct bhdr *b, *tmp_b;
     int fl = 0, sl = 0;
@@ -563,7 +563,7 @@ static void tlsf_init(void)
  * xmalloc()
  */
 
-static void *strip_padding(void *p)
+static void *strip_padding(const void *p)
 {
     const struct bhdr *b = p - BHDR_OVERHEAD;
 
@@ -574,7 +574,7 @@ static void *strip_padding(void *p)
         ASSERT(!(b->size & FREE_BLOCK));
     }
 
-    return p;
+    return (void *)p;
 }
 
 static void *add_padding(void *p, unsigned long align)
@@ -699,7 +699,7 @@ void *_xrealloc(void *ptr, unsigned long
     return p;
 }
 
-void xfree(void *p)
+void xfree(const void *p)
 {
     ASSERT_ALLOC_CONTEXT();
 
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -73,7 +73,7 @@ void end_boot_allocator(void);
 void init_xenheap_pages(paddr_t ps, paddr_t pe);
 void xenheap_max_mfn(unsigned long mfn);
 void *alloc_xenheap_pages(unsigned int order, unsigned int memflags);
-void free_xenheap_pages(void *v, unsigned int order);
+void free_xenheap_pages(const void *v, unsigned int order);
 bool scrub_free_pages(void);
 #define alloc_xenheap_page() (alloc_xenheap_pages(0,0))
 #define free_xenheap_page(v) (free_xenheap_pages(v,0))
--- a/xen/include/xen/xmalloc.h
+++ b/xen/include/xen/xmalloc.h
@@ -63,7 +63,7 @@
     })
 
 /* Free any of the above. */
-extern void xfree(void *);
+extern void xfree(const void *);
 
 /* Free an allocation, and zero the pointer to it. */
 #define XFREE(p) do { \
@@ -148,7 +148,7 @@ int xmem_pool_maxalloc(struct xmem_pool
  * @ptr: address of memory to be freed
  * @mem_pool: pool to free from
  */
-void xmem_pool_free(void *ptr, struct xmem_pool *pool);
+void xmem_pool_free(const void *ptr, struct xmem_pool *pool);
 
 /**
  * xmem_pool_get_used_size - get memory currently used by given pool



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 15:18:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 15:18:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459713.717476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4kZl-0008Jo-4L; Mon, 12 Dec 2022 15:18:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459713.717476; Mon, 12 Dec 2022 15:18:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4kZl-0008Jh-1b; Mon, 12 Dec 2022 15:18:41 +0000
Received: by outflank-mailman (input) for mailman id 459713;
 Mon, 12 Dec 2022 15:18:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RHV+=4K=citrix.com=prvs=338b0811f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p4kZi-0008Ja-N5
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 15:18:39 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3eca4036-7a30-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 16:18:36 +0100 (CET)
Received: from mail-bn8nam12lp2171.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.171])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 12 Dec 2022 10:18:27 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA1PR03MB6419.namprd03.prod.outlook.com (2603:10b6:806:1c2::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Mon, 12 Dec
 2022 15:18:24 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 15:18:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3eca4036-7a30-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670858316;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=DAStDX5uv6E6Da33HcG8ZkQczFa5m89i2z6Uo18Hb5s=;
  b=Y7OA5u8v42OX7ch67l7l10XpQBxq3bRbc4Rt6NHSZv8w5ltEZbAqyEA7
   eZajmMEviEQNJpXzFWcmxPLRHwB49O97VK8Xbr7NGXEODPWtmTBhhSpRY
   GJawgSx2MiSdnlue9b6Ds8kqH6FKNSFAHpTGvR9Z4Ra2ON8a8e5mPxx4A
   Y=;
X-IronPort-RemoteIP: 104.47.55.171
X-IronPort-MID: 87448890
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:6SwNza8vtRJQKttV8pgbDrUDRX+TJUtcMsCJ2f8bNWPcYEJGY0x3y
 DEZXD+EOKqOYGbyLopyaoyz905Su8LUm9FiGQNrrys8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6kR5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkljy
 aYycRIXUyqdluGk/+qZErJM2egKeZyD0IM34hmMzBn/JNN/G9XpZfWP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWOilUuidABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTCN1OSO3op6YCbFu79n0PVQFOC0KCkPScpW2YYetuN
 0cqw397xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L8+AuDCWUVCDJQYccitec9QTs32
 hmCmNaBLSNrmK2YTzSa7Lj8hSO/P20ZIHEPYQcATBAZ+J/zrYcrlBXNQ91/VqmvgbXI9SrYx
 jmLqG00geUVhMtSjaGjpwmY2nSru4TDSRMz6kPPRGW54whlZYmjIYu19Vzc6vUGJ4GcJrWcg
 EU5dwGlxLhmJfmweOalHY3hwJnBCy65DQDh
IronPort-HdrOrdr: A9a23:1i5xsqAAeTyL59nlHemi55DYdb4zR+YMi2TDtnocdfUxSKelfq
 +V88jzuSWbtN9yYhEdcKG7WZVoKEm0nfQZ3WB7B8bAYOCJghrMEKhSqafk3j38C2nf24dmpM
 NdmnFFeb/NMWQ=
X-IronPort-AV: E=Sophos;i="5.96,238,1665460800"; 
   d="scan'208";a="87448890"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JUyojaM/X0043SKuBKBiJcH8VezBjcWA5eM8gwk37j6fUg795LKj27CY+8kS1Mk5cMeYka4yKHVP88S39VchGoCrwXgiYl4SW5l+NeTah3kJVfzRNVEvSsePUR0hdA0H9OZSdLDF5Q0zwai5OqIWFr9KyXvbLItyO7GvQPzpdUMs6jff6PXrWlLmtfkhCJaXGksSCmu3pLrUGYjqVYeRe2s/D/G1cYmVhW9Oom3t/40rqOmGmaBP4U/ajMd0TuaCQVcMS7Isgw57AeJsr2jSbMZIunqSNLDTiIYBEJJr0ZKDFD+mr2uDS3GCxhEnuEcCR81jbe1l3CDKpzUUEqbrnw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DAStDX5uv6E6Da33HcG8ZkQczFa5m89i2z6Uo18Hb5s=;
 b=S3XMFq7CaSFP1qAOk+SQQw7PfZH2uMltS14LFV2WQTbyHqoYxtNZMbmQtrjJ0Xv3+zqt/6ZqLApDOz6ZqEIhnhfQHW6XcEDJsJIAjjjopNUAlAuWUPqQ/k88aYKh2JF1lTznTOiaKohzvDyaBLPnlJFb+h2nomRi29sr84cQjGgsViklvdUDVXttNpcgMIIHHeGG3QPZ0SWfBsz8uH3BfgfMiT6J4ycVG2sageG3gOchnQVpiU8uz4FQl1RAOL6CpRj1fS+t5XhoCBOdHIlO3AodAazKP9TNmKh9PLwMuzbiQG7mf8LmzHHdlNtu6QfLdqNK243rlSVaC+E9D+bdVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DAStDX5uv6E6Da33HcG8ZkQczFa5m89i2z6Uo18Hb5s=;
 b=cW/SfQvxL3YJh10NO1FMIFLv82wfL5bvX6lpFsvzcvj66im4SK3bE3fSAxJ3p3ArmzBur9kmWt3jptGt+JU+kNwXpqdiPbiqc3Bm3i2c5+n1EU23T3YFZ/fYhf7bTBfMWcIOFD5nSiQwScBURh5imNytgoJYCs5eZH71e7S1oUg=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, Sergey Dyasli <sergey.dyasli@cloud.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 1/2] x86/ucode: allow cpu_request_microcode() to skip
 memory allocation
Thread-Topic: [PATCH 1/2] x86/ucode: allow cpu_request_microcode() to skip
 memory allocation
Thread-Index: AQHZCwjAky6i1T4UZEeH7yXOYJiUd65kBHMAgAAalYCABjaCAIAACQQAgAAFVAA=
Date: Mon, 12 Dec 2022 15:18:24 +0000
Message-ID: <f980e5c9-b175-2741-ed95-43bbc643baf7@citrix.com>
References: <20221208132639.29942-1-sergey.dyasli@citrix.com>
 <c6676171-8cab-dfbc-4b18-d9c724588398@citrix.com>
 <35f9e529-35b9-0432-8e98-8b0100953856@suse.com>
 <CAPRVcuccXaLNX3suy1t+xD_kptnV2yLxoCN_193PF6Gj_FBD1w@mail.gmail.com>
 <b610b461-4c77-66da-c930-10def3138e5d@suse.com>
In-Reply-To: <b610b461-4c77-66da-c930-10def3138e5d@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|SA1PR03MB6419:EE_
x-ms-office365-filtering-correlation-id: 79a0b0f1-b6e8-4667-1941-08dadc541cf5
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 o7r74KBjvmCHXMm8LJcIeHPfSrmfPCc72YC4W0m3JKeFfnGwkHxbcOXnFJSMWDF63liwUkLuTgQC//KuZmmKSCl4sMQkkVqWAqqRMnbgpF0BTpyVkRWV2qsD4q8l5RaKEiozvUQVPr0inliCk0YQyHCSSuaoRAYYR65C5PfZ0bKg3vw67CRP3ajuxjA7zsM5UmTQt0knKoosUTpoZ5aw51dAqasXri1FY7jgqU8mqDouZWVkLwk7LOJw8HeI1XkVcJnvHewpsl30TQ+wQ5ggnj0FB8qo6m+1CVg5HLwod9TzOJBfABAMUbhuxZlaw40J1YSg8ZPj8vIRouAA0QQ8//mx6Tjr+sADoTRURguWGh7g/eVYUjiLyRRU+lAQmE8uO3rnsS7i21gjSRWu7aILvfqVvDUJcYHKd4pc1V9QTuJmnYedvDbPcESs6GixL0tO0ynm/EIk2xuwXFIa07EkdPTf+MPzUQgGYLtAvMVYM3SvLbarH+cy37I/UWLRMEPtwqyYEvJTflFBmT2YrJ/zW02eyP5yRL/704j25tTcOsDcZn2MN2fnTT90HWg7uChHN/R+4h5t8TK3uto07O1H1kSRlZ3nNi6fpNxWQKJTt7STwV/o86QeTixzq1SU0aSDSUe4txUnenBfEyIAqOkPjK0mERV9HsS46q1aBLUOAtGJ3/l6ZKyHDXEEu702Im6Ti4VRzgLiCkexcq9sYwnjNxtXkVQqD6vwndch3r/+syz7r7TmecbM1zuAMxSVDsGHuLDfENaFf7U1XJdIXCktYA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(396003)(39860400002)(366004)(376002)(136003)(451199015)(478600001)(83380400001)(36756003)(26005)(6512007)(2616005)(6486002)(53546011)(186003)(38100700002)(31696002)(86362001)(122000001)(38070700005)(82960400001)(6506007)(5660300002)(31686004)(2906002)(76116006)(54906003)(110136005)(91956017)(64756008)(66446008)(316002)(66476007)(4326008)(66556008)(66946007)(8936002)(8676002)(71200400001)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?a1ZqVlFQTWo3NGM2bzlqTXRFZUgrZmhIcVdEOWhOV3pQeUJicUNHVFdDcFdy?=
 =?utf-8?B?RS94dzZ1Zk83VXZXaGJTaG5EZ25DdEthdHFoQnNyUzJjQkM4TnV2Qnc3akM3?=
 =?utf-8?B?VG1PcVBFRGx3d0dHcG5RYVNYOHpRNlFwOTNqd2RlSTZnT1MyZWUwMTg1SGE5?=
 =?utf-8?B?Z3VBWDlYOSswWjVPUlVDSkRMa3J5UjdET0o5dVA2VkFPWXd3NGRJQzBXd0tk?=
 =?utf-8?B?cVM5U0J4ZiszUlM5RlVSSEh0SFBOYklyRXIxdjZVZ014WlJodDdlUy9Ebzc0?=
 =?utf-8?B?OFl2V3o1c0ErSHV1WGIzSGI5bVc4Q1ZPV0Noc1JlNzBpVGpRdGVKcTByaElt?=
 =?utf-8?B?YngxM0U4RWhabDY1RjdIemxSZDdNM0sxc2E3c3QwNlRSSFZJTThheDhULzdT?=
 =?utf-8?B?djFKTWFtMWlWeVB0dlRXOG0rVmZkUkg0VDhpTURKM1RYSm45aEk5ZklJTk94?=
 =?utf-8?B?VVpIcVZ3S2Rmam1VVThoYkRPRkozRXJWUUlaVFZJQktaWDR3TWZSQzZsL2hJ?=
 =?utf-8?B?Y29aMTlDQWQ0QkFpNFRkV2hISE05UjAwUmd2YnRJamFWLytPUnUyMGNGTnQ1?=
 =?utf-8?B?Z3JJM3g3cFEzWjJRVW9LeTV2bEhRNWFGbDBVOStUcjBpNUxDWVNWU2J2NGY4?=
 =?utf-8?B?bllhWDR0NXQ0WmhadXNaVEFlTlcyLzV5Q0hXMlFJSDlQT3VBR3l4aUt1TnNr?=
 =?utf-8?B?QkFVa3BUNGFjczFyWkljaERLcVV4Yk9ObjF1eENzMEVscUh3Y1dCcWpCd05P?=
 =?utf-8?B?ajBOZm1qSkk3a2Z0SWFObVVNQlJxN2dsYVRidzFTNGNEKzJWajJjM2R4SVpp?=
 =?utf-8?B?OGhyOXN3aDNJZytTdVJrdW1CaFRqaU5HNzNLR1BPZUJHSDZVMThTN3A1Q21t?=
 =?utf-8?B?RFZIVG5iY3FTWWlRaHIrVkd0RzUzSUFKVFVxV3VSZE05YXRpcDc4U215NGEr?=
 =?utf-8?B?alJpTVhQdDA2a0hDL1JacHhTMmRPOUZZLzI5VndXRmdtekovQ0Jxa1IzcFFX?=
 =?utf-8?B?ZFJnVXc0bTVGUUtoR2YrOEsyWHMxeHlOeWtQc3N6MGNwL2pLcitPUjQyU3dY?=
 =?utf-8?B?MTJvNWZLdWt2WTJOVUpZZCtmdXQ5Yk1FOW5QcjJYMmk2MDNFMjdqYkJDYy9M?=
 =?utf-8?B?VnNVWlBwVVY3SW9sQlFHUCtRZXhYSGZBUCtlcUhXT1N1RVpIdVkwQW9lOXdW?=
 =?utf-8?B?bDRuTnNKV3dIbVdaWWNQWGVlTWJNRmJJMWF6bzBLL0JhcVVHdlkzdUY0eFFk?=
 =?utf-8?B?Q1JFSzczN29RZ3ZXSXpsOHNJbHQ4WG8wVHpsc3B3OWVSak1NZWYyRVAvaXB2?=
 =?utf-8?B?RjhCa3pPUVoxMGhDc1JJQVg5QUhSU3E2aVlzdEw0RUZWWGJ5TmVuMll3dVQ2?=
 =?utf-8?B?dGgyVVNlUVE1ZzFnbG9iam5sWk5WTHFwWjNwcldUbFpCekNtRFp0dTFZTE1y?=
 =?utf-8?B?VGVEK2ZZRHdXQVV5VmJqaGFQUkhVaU8va3RES2JJNUFxN0VaVDl5MGZwL1Zp?=
 =?utf-8?B?dHFXRVFDdE1YYWVQYk1lOUdSeVdFZlcxdmhiRDhXNEUycHpNUnpyRjRCSjZC?=
 =?utf-8?B?cHFLdzRNMTRUay9JbWNZTkhmZmR4M1d4Z2lwKzVJVWhCVnJOU0pyUzBTc2JJ?=
 =?utf-8?B?V3pyWDFOeTRKNU5nSmwzbTk1NEN2bHdaSVZBYkVVdzI3OEVMOElQdVIzRjk2?=
 =?utf-8?B?QmRic2VBRjdIdU9RTVpqbE5ETkt2MHlTeTZ0cUpuZG1MdWRUY0l6ZEdaUVU2?=
 =?utf-8?B?TGpES3dxKzFIUU5sVHJaZTZmNHlOSEJ4UmE0d2pFeUpnb3JwbzBIK2dPaE9X?=
 =?utf-8?B?VkFnQ1E4WHdYT2JCWlE5b3pYM3JrbFJIRE1CY0ZURkF3T1F5aVVzWFRWWEh1?=
 =?utf-8?B?ZkNtMG5LM0xOM3FVVkRjb0hJYWNTYlZhYy8xZ2wreFVOeXY2S3Y4dWNmOXdL?=
 =?utf-8?B?dXQ4dVBCS2I2YTFSY2NLY2d4UmJCYzBsVU9XZW55QUtYamhaYTEyZVNpcTFK?=
 =?utf-8?B?S1ZqM2Q1Uk55WHNKZnJRWXJ1dnJ3bXBEdXQ0MGdZZjhheUhsUWEvQjFkVTRi?=
 =?utf-8?B?Q3RhQzFzbDlUVmRiWXJTQ1BIWkMzeTBUenVDL1ZzTjI4ZWdHWm5PRkRGTUk5?=
 =?utf-8?Q?5gWLQp52wWM83Bqe/0ImClYyN?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <E2413E4BB05D704786A1C22A2BDF73D6@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79a0b0f1-b6e8-4667-1941-08dadc541cf5
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Dec 2022 15:18:24.7066
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: sq0Dgwy49kwcJvLPeNlQB4EYXfytvJq5/SSSxme6jAY4L2Ei/ZN9vMNbQAsSLvR5ci7dlpjbHnFlV2LitwMqUxOrqD/q9xntdwLOoRXNgcg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6419

T24gMTIvMTIvMjAyMiAxNDo1OSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDEyLjEyLjIwMjIg
MTU6MjcsIFNlcmdleSBEeWFzbGkgd3JvdGU6DQo+PiBPbiBUaHUsIERlYyA4LCAyMDIyIGF0IDM6
MzQgUE0gSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPiB3cm90ZToNCj4+PiBPbiAwOC4x
Mi4yMDIyIDE0OjU5LCBBbmRyZXcgQ29vcGVyIHdyb3RlOg0KPj4+PiBPbiAwOC8xMi8yMDIyIDEz
OjI2LCBTZXJnZXkgRHlhc2xpIHdyb3RlOg0KPj4+Pj4gQEAgLTI0MCwyMCArMjQwLDIwIEBAIHN0
YXRpYyBjb25zdCBzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoICpubWlfcGF0Y2ggPSBaRVJPX0JMT0NL
X1BUUjsNCj4+Pj4+ICAgKiBwYXRjaCBpcyBmb3VuZCBhbmQgYW4gZXJyb3Igb2NjdXJzIGR1cmlu
ZyB0aGUgcGFyc2luZyBwcm9jZXNzLiBPdGhlcndpc2UNCj4+Pj4+ICAgKiByZXR1cm4gTlVMTC4N
Cj4+Pj4+ICAgKi8NCj4+Pj4+IC1zdGF0aWMgc3RydWN0IG1pY3JvY29kZV9wYXRjaCAqcGFyc2Vf
YmxvYihjb25zdCBjaGFyICpidWYsIHNpemVfdCBsZW4pDQo+Pj4+PiArc3RhdGljIGNvbnN0IHN0
cnVjdCBtaWNyb2NvZGVfcGF0Y2ggKnBhcnNlX2Jsb2IoY29uc3QgY2hhciAqYnVmLCBzaXplX3Qg
bGVuKQ0KPj4+Pj4gIHsNCj4+Pj4+ICAgICAgYWx0ZXJuYXRpdmVfdmNhbGwodWNvZGVfb3BzLmNv
bGxlY3RfY3B1X2luZm8pOw0KPj4+Pj4NCj4+Pj4+IC0gICAgcmV0dXJuIGFsdGVybmF0aXZlX2Nh
bGwodWNvZGVfb3BzLmNwdV9yZXF1ZXN0X21pY3JvY29kZSwgYnVmLCBsZW4pOw0KPj4+Pj4gKyAg
ICByZXR1cm4gYWx0ZXJuYXRpdmVfY2FsbCh1Y29kZV9vcHMuY3B1X3JlcXVlc3RfbWljcm9jb2Rl
LCBidWYsIGxlbiwgdHJ1ZSk7DQo+Pj4+PiAgfQ0KPj4+Pj4NCj4+Pj4+IC1zdGF0aWMgdm9pZCBt
aWNyb2NvZGVfZnJlZV9wYXRjaChzdHJ1Y3QgbWljcm9jb2RlX3BhdGNoICpwYXRjaCkNCj4+Pj4+
ICtzdGF0aWMgdm9pZCBtaWNyb2NvZGVfZnJlZV9wYXRjaChjb25zdCBzdHJ1Y3QgbWljcm9jb2Rl
X3BhdGNoICpwYXRjaCkNCj4+Pj4+ICB7DQo+Pj4+PiAtICAgIHhmcmVlKHBhdGNoKTsNCj4+Pj4+
ICsgICAgeGZyZWUoKHZvaWQgKilwYXRjaCk7DQo+Pj4+IFRoaXMgaHVuayBkZW1vbnN0cmF0ZXMg
d2h5IHRoZSBob29rIHdhbnRzIHRvIHJldHVybiBhIG5vbi1jb25zdA0KPj4+PiBwb2ludGVyLiAg
S2VlcGluZyBpdCBub24tY29uc3Qgd2lsbCBzaHJpbmsgdGhpcyBwYXRjaCBxdWl0ZSBhIGJpdC4N
Cj4+PiBBbHRlcm5hdGl2ZWx5IGl0IGRlbW9uc3RyYXRlcyB3aHkgeGZyZWUoKSBzaG91bGQgdGFr
ZSBjb25zdCB2b2lkICosDQo+Pj4ganVzdCBsaWtlIGUuZy4gdW5tYXBfZG9tYWluX3BhZ2UoKSBv
ciB2dW5tYXAoKSBhbHJlYWR5IGRvLiBXZSd2ZQ0KPj4+IHRhbGtlZCBhYm91dCB0aGlzIGJlZm9y
ZSwgYW5kIHRoZSBhcmd1bWVudCBoYXNuJ3QgY2hhbmdlZDogTmVpdGhlcg0KPj4+IHVubWFwcGlu
ZyBub3IgZnJlZWluZyByZWFsbHkgYWx0ZXJzIHRoZSBjb250ZW50cyBvZiB0aGUgcG9pbnRlZCB0
bw0KPj4+IGFyZWEgZnJvbSB0aGUgcGVyc3BlY3RpdmUgb2YgdGhlIGNhbGxlciwgYXMgdGhlIGNv
bnRlbnRzIHNpbXBseQ0KPj4+IGRpc2FwcGVhcnMgYWx0b2dldGhlci4NCj4+IERlc3BpdGUgbXkg
bG92ZSBvZiBjb25zdCwgY29uc3QgY29ycmVjdG5lc3MgaW4gQyBpcyBxdWl0ZSBhIHBhaW4uIEkn
dmUNCj4+IHRyaWVkIHRvIG1ha2UgeGZyZWUoKSB0YWtlIGEgY29uc3QgcG9pbnRlciBidXQgdGhl
biBpc3N1ZXMgYmVnYW4gd2l0aA0KPj4gYWRkL3N0cmlwX3BhZGRpbmcoKSBmdW5jdGlvbnMgYW5k
IEkgY291bGRuJ3Qgb3ZlcmNvbWUgdGhvc2Ugd2l0aG91dA0KPj4gZnVydGhlciAodm9pZCAqKSBj
YXN0cyB3aGljaCBqdXN0IHRha2VzIHRoZSBwcm9ibGVtIHRvIGEgZGlmZmVyZW50DQo+PiBsYXll
ci4NCj4gVGhlcmUgaXMgZXhhY3RseSBvbmUgc3VjaCBjYXN0IG5lZWRlZCBhY2NvcmRpbmcgdG8g
bXkgYXR0ZW1wdCwgYW5kIHRoYXQncw0KPiBpbiBhbiBpbnRlcm5hbCAoc3RhdGljKSBoZWxwZXIg
ZnVuY3Rpb24uIFNlZSBiZWxvdyAoYW5kIGZlZWwgZnJlZSB0byB1c2UpLg0KPg0KPiBKYW4NCj4N
Cj4gbW06IG1ha2UgYSBjb3VwbGUgb2YgZnJlZWluZyBmdW5jdGlvbnMgdGFrZSBjb25zdCB2b2lk
Kg0KPg0KPiBmcmVlaW5nIGZ1bmN0aW9ucywgZnJvbSB0aGUgcGVyc3BlY3RpdmUgb2YgdGhlaXIg
Y2FsbGVycywgZG9uJ3QgYWx0ZXINCj4gY29udGVudHMgb2YgdGhlIGZyZWVkIGJsb2NrOyB0aGUg
YmxvY2sgc2ltcGx5IGRpc2FwcGVhcnMuIFBsdXMgaXQgaXMgbm90DQo+IHVuY29tbW9uIHRoYXQg
c29tZSBwaWVjZSBvZiBtZW1vcnkgaXMgYWxsb2NhdGVkLCBmaWxsZWQsIGFuZCBoZW5jZWZvcnRo
DQo+IHN1cHBvc2VkIHRvIG9ubHkgYmUgcmVhZCBmcm9tLiBJbiBzdWNoIGNhc2VzLCB3aXRoIHRo
ZSBwYXJhbWV0ZXJzIG9mIHRoZQ0KPiBmcmVlaW5nIGZ1bmN0aW9ucyBub3QgYmVpbmcgcG9pbnRl
ci10by1jb25zdCwgY2FsbGVycyBoYXZlIHRvIGVpdGhlcg0KPiBvbWl0IHRoZSB1c2Ugb2YgY29u
c3Qgd2hlcmUgaXQgd291bGQgYmUgaW5kaWNhdGVkIG9yIGFkZCByaXNreSBjYXN0cy4NCj4NCj4g
VGhlIGdvYWwgYmVpbmcgdG8gbWFrZSB4ZnJlZSgpIGZpdCB0aGUgaW50ZW5kZWQgcGF0dGVybiwg
YWx0ZXIgb3RoZXINCj4gZnVuY3Rpb25zIGF0IHRoZSBzYW1lIHRpbWUgdG8gbGltaXQgdGhlIG51
bWJlciBvZiBjYXN0cyBuZWVkZWQgdG8ganVzdA0KPiBvbmUuIHN0cmlwX3BhZGRpbmcoKSBuZWNl
c3NhcmlseSBoYXMgdG8gaGF2ZSBhIHN1Y2ggYSBjYXN0LCBhcyBpdCdzDQo+IGVmZmVjdGl2ZWx5
IHN0cmNocigpLSBvciBtZW1jaHIoKS1saWtlOiBJbnB1dCBtYXkgYmUgcG9pbnRlci10by1jb25z
dCwNCj4gYm90IGZvciBpdHMgb3V0cHV0IHRvIGFsc28gYmUgdXNhYmxlIHdoZW4gdGhlIGlucHV0
IGlzbid0LCBjb25zdCBuZWVkcw0KPiB0byBiZSBjYXN0IGF3YXkuIE5vdGUgdGhhdCB0aGUgcmlz
ayB3aXRoIHN1Y2ggYSBjYXN0IGlzIHF1aXRlIGEgYml0DQo+IGxvd2VyIHdoZW4gaXQncyBhbiBp
bnRlcm5hbCAoc3RhdGljKSBmdW5jdGlvbiB3aWNoIGlzIGFmZmVjdGVkLg0KPg0KPiBTaWduZWQt
b2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNCklmIHlvdSBjYW4gcGVy
c3VhZGUgdGhlIEMgc3RhbmRhcmRzIGNvbW1pdHRlZSB0aGF0IHlvdXIgaW50ZXJwcmV0YXRpb24N
Cm9mIGhvdyB0byB1c2UgY29uc3QgaXMgbW9yZSBjb3JyZWN0IHRoYW4gdGhlaXJzLCBhbmQgZ2V0
IHRoZW0gdG8gY2hhbmdlDQpmcmVlKCkgdG8gdGFrZSBjb25zdCB2b2lkLCB0aGVuIHdlIGNhbiBj
b250aW51ZSBkaXNjdXNzaW5nIHRoaXMgcGF0Y2guDQoNClVudGlsIHRoZW4sIHRoZXJlJ3MgYSBk
YW1uIGdvb2QgcmVhc29uIHdoeSBmcmVlKCkgdGFrZXMgYSBub24tY29uc3QNCnBvaW50ZXIgKG5v
dGhpbmcgaGFuZGVkIG91dCBieSBhIG1lbW9yeSBhbGxvY2F0b3IgY2FuIGV2ZXIgYmUgY29uc3Qs
IGFuZA0KaXQgaXMgbmV2ZXIgYWNjZXB0YWJsZSB0byBmcmVlIHZpYSBhIGNvbnN0IGFsaWFzKSwg
YW5kIGNvbnRvcnRlZA0KYXJndW1lbnRzIGFib3V0IGhvdyBpdHMgInRlY2huaWNhbGx5IGZpbmUi
IGFyZSBtaXNzaW5nIHRoZSBwb2ludC4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 15:19:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 15:19:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459722.717486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4kaU-0000UF-Hd; Mon, 12 Dec 2022 15:19:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459722.717486; Mon, 12 Dec 2022 15:19:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4kaU-0000U8-Et; Mon, 12 Dec 2022 15:19:26 +0000
Received: by outflank-mailman (input) for mailman id 459722;
 Mon, 12 Dec 2022 15:19:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8fsB=4K=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p4kaT-0000Pz-RZ
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 15:19:25 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on2058.outbound.protection.outlook.com [40.107.8.58])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5c7645cc-7a30-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 16:19:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB7146.eurprd04.prod.outlook.com (2603:10a6:10:127::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 12 Dec
 2022 15:19:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 15:19:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c7645cc-7a30-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eeE+vSrpHILBVY0kp6SgCtbK4avE+ue/ENXreDo3ZEBX9BGGoBuvndk/Luhr4SUlYb1arDp9T9Zr+RvbdD2pAIgwDWtDvgml7kAsDy2Cv6rk9r7tkLkT8fsvgDCGrtNvwPp4iZtq6BvIGl/TG2U8aghs1vxULbe91ErFH4j1Frwe6MKOV3pf6KnVS6GpW8RkVlv84yXp7lW+LFZVjhrsAMbapA2Dyqod3MflqQsXgsbO48tuafM4PJUWqGubtpEtUBpYev5cuARHL8pS3hUaUE0GewCIp0YpIqWQ1UuzDR6Ag473aIeIcmfuFxGV+YaIrHJEgzCS/jXmnnMJkhWUwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yCrI+FvUuYFwOEIpx25ixdeuHI8r9x4ZL53O04LkOIE=;
 b=MViEGYynCiLw0Dnvoo1mthF1U07wwA4pdqIXXwqFC/oVcxHxfckGGCti6MuCytFz4uN1060BNL/1IWvqi3RLR6FJSfFZCD3AT46P/nhwJMhw1/MP4jOVIv/o5UNUQW7GdfX/iio2z3Sk5Y4Ubt4CexAa7LAHzCEFDA7PeWhkxKIlUfOhDXdxsnXRb193OTIm6FmFjb4HsztEy6Kcax/HNBVsiKhDk2620JJrE+2Jz7dc+FYWmhP/ERhmHqu03tGf9ERUbo5J8h/7GYuzjyOf6OHAGOb9qWjVFgpcA23PfVFMtd3/B79ep0mBvnhWdcKHLcj4RDtMZlL+eHl6/f+cJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yCrI+FvUuYFwOEIpx25ixdeuHI8r9x4ZL53O04LkOIE=;
 b=3K4dwEfWzRG0Dmd+wr61vFedpCBfB92TegHrTySwFaAsNzX9EFNsI4dVuJt9r6hqQuhrN9zcUzwX72W6xiZsWKF9RfFc1qJcVpUWTDgw/6V0MrxpR9JXOk+pzTHvt229A1Ec6BNN+3k9/zf9d1KTzI7rKabAruWzGN5F/Q7yTGRagIdY3y7LdEAXvebERXTB3V2BMRsSDL/21QbvDyVhX2A/mJhqVz5OIHk3/dH4IEq4WJz7Plpfm1rXDM94Aae1kCI5hnKP/39J3LmFlWjJ8B4lVCb0Gzya6ir5mPII54GJr+xqCVDWxLUln/ZIBhrq/fGt3tsChIGYEGTJbnNLkg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e4dfe73a-a0ff-54c4-054d-2044de1e546a@suse.com>
Date: Mon, 12 Dec 2022 16:19:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] Relocate the ESRT when booting via multiboot2
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <74145e57307e9b35cbdc296b22241e6f36405f6a.1670546744.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <74145e57307e9b35cbdc296b22241e6f36405f6a.1670546744.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0060.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB7146:EE_
X-MS-Office365-Filtering-Correlation-Id: a1eeaf34-781a-4d50-eb29-08dadc543fea
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JTKN/+FcqYlkvrJfhx3V98x2ew9P034wzi9BYP55EwWj7/6xdGBjfawXMCje2F9zOUYs9ntbSz6VtDOZLDYbQpY53v81k+4lmdsR+HLmFybqajPqUEO0KsBs8awTgsQkqD15DT6h7Sid9P/z7LKOobshw4t52pHuh0Ih/z2jYBhTZbdWa09ow21xhsQM6NnoUZ09E9Jghb8yzCRhGNBLMZ6bjPiqt0ol2urLxqKf190XJmHHXLVCFgzJgELj+YHmIiYzLDbGv4ThxxAMyUXuE3+8JCUdNWQu3MnV5YtB4Fb/jyvj+hW1FEL6mlMSBm4ec04DSFqzIFTobURRVg8nGKCrcdGjBYACqBK6DEMrA1hxEqQikTKFzLbjsGFxkPHSwrCzTe9zUvVUDtlXM6ljv9qJ1jN25Zqjh9AR6w1lRh6/xCGYQSUTLqmpOuZCXjYLpniuJ2DIPzq2JuZT9EnJSRth0N4fuOYBF10I5heETncyG6UpjkdbUt6IFM74urSV1qSVPYHiL01gAAMQXGokYWX3gB0B+wKPLjcPHhm+l1qWzzyf/Qaf/CjOq1uNx25FtpCOUHxRlcMo8o+Wnd1fXNarbhlGPYH50swTvBu6/ndp4YxpbYsCNz9RsX7jV/vLKcbEXjIga32EWi3JfK44X+orm/D5KnxSxCTzKytvJolr4rDVKEYN4pD/WG+EbBZBYBw3n1+yqkbl9hZmUmcvVoGSAskuzNzHdWVD9HYfoCU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(376002)(39860400002)(346002)(396003)(136003)(451199015)(83380400001)(36756003)(54906003)(86362001)(53546011)(6512007)(186003)(26005)(38100700002)(2616005)(6916009)(31696002)(41300700001)(4744005)(8936002)(5660300002)(2906002)(4326008)(316002)(66946007)(66476007)(66556008)(8676002)(6486002)(478600001)(6506007)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TUg0RU04WERMcXNTL3BKSnVwaXNIa2QzeitKQ1prVkJoWklxQi90bmlEejBY?=
 =?utf-8?B?cTRxV1B3TGJNdHE5dWdKMDNNS3V0MmxyV1pvNDI0TDBBMkNaYUJkcWZRelA5?=
 =?utf-8?B?M0VSa2Z4UUJ0NFF1Q3ZRQmV0blhFbW5CZmt3OTNLMXYrZkwwcTh5WXdkZ0do?=
 =?utf-8?B?K1p1OFIvNWpHTWZRWllsazVLc0VqdXYxKzdVMEx6WnpncS9EUVhBb2l3ZE9r?=
 =?utf-8?B?V1ZKQ0tjaWV3S01WWC9qeDBySncvNDVqTnZwWWpCdzdSekYrS2dzZHBVaEZs?=
 =?utf-8?B?ME0wZmxhckg5Qkl4RTBqQmRGY3dUWjN5MEJSUmxuWCtaMXdVVkIvVytJT0pM?=
 =?utf-8?B?MEdIdks5dTN1RG9VK3hWN29YVmFudGZpamVKNi9teDZ1M3VWM2dzMWhjZ2JW?=
 =?utf-8?B?T2Y1MnBPWFFXeHhKNUhwQnF5eW1nN3VubzIvUStpek9UTVF5OVp3UnVSdlc0?=
 =?utf-8?B?RUM3VnMrOHpONG84YjI2RE13OHhVazJTU3VrN2hqMUovaHN1Y0NGeUtlZlIw?=
 =?utf-8?B?ejVpZ1NkUmZqWlRxL25UZFRxYks3L2J3ZE4vZFdETXIzWnBVRXR5OHFGTmZi?=
 =?utf-8?B?Z3JxMWVMOWY4WUdzUWNSdXZld0JQYi9rYThzNDdYY1pXMjZ2UzhtSlEzWUpH?=
 =?utf-8?B?a3VPVjVCelV2TnU0elEzM0JRRTVnNlZ2UjhjaUQ3Z3Z3NGVxbklkaXYwQkZ3?=
 =?utf-8?B?TzJRMUFKMHAwK0tiK01MS2RCSk91UUlNOG5sSkhkbkNiTTNPUldjNzJKWllZ?=
 =?utf-8?B?NDNyR2MySCtVekZjcWMycjd2QzZKbTRBYTFsRHoxMGRPWHZEZkg5QXZpNlRM?=
 =?utf-8?B?RXBNRkdPaHVKNmx4b3VYME9qWk10Z1FWRzE0Ymdwa1ptMzYxMUt5V0E2TDYv?=
 =?utf-8?B?RTg4ZWtNMFM3STQxQWZKOTdENG5VUnFrR2Q2TUJwM3ZkRkFDZGJkeUVBMTFV?=
 =?utf-8?B?VFgvWGVsUU5HWmVZNDZja2FBSzl0Vkl2VnRTV25OS0ZZM1dWdGxQUlZHQk8y?=
 =?utf-8?B?dno2VGRmaXBteHQ5U1lPaTdxd2h1Vzh1VDJHUExlaXZCT2R4Q0RlN1ZVR3NH?=
 =?utf-8?B?elQ2NUFYVFhLeTcxek5WRlBacERPMUY5SzdKN291bWcranROM0phak5TcGJz?=
 =?utf-8?B?UzhzeStieElPRkVPdmVYWVNLNHZOb09xbnIwUFFNSWRjNENMa2RFZGZvYnBY?=
 =?utf-8?B?aWEvbEVVZC9OT0xrVmVXM20wNG9pZ05hQnFBV3lRbWxNRUFIR2dONDdyOW9o?=
 =?utf-8?B?NG0ycEcwZlRZdFE0cExQNksyQUUzTWJzT2tFUEEzVmxmNE1mVnFMM2lrV3dC?=
 =?utf-8?B?NDN0aW93UUVqcVNZMHRYSXoyMmorZEt0eWdNTlpUWk5UczhJay9TQ1BvNWF5?=
 =?utf-8?B?RUVXRnBEZTNHYi9Ib3I2ZFVPblpnaWhYTkVNYUtSb2NpMlR5WEFSbzFpaUhM?=
 =?utf-8?B?aFlXT2JPY1dOYjJRcHlzTEJYaUpKODFNQzdPTCs3WXV0TGVHelptOHRuVXZp?=
 =?utf-8?B?OUFOR1h1ejJKdUhGUXZScmQ2a1M3K2k1NUh3azdNVHUyOGNMS1BSK280MDFJ?=
 =?utf-8?B?N0d2WFdWV01lTUsweUFITzdIRlFSVXZsWTJUNGVmSitHVEx1bHdldFk5MGRu?=
 =?utf-8?B?SHpra0RwM3U0UFI0Qk1DS0FTMnJ1Zys0eGw5aHBiYUl0Mmc0QjJ4U2JzS21N?=
 =?utf-8?B?MS9Hb0hnNkZDSEhHWTZaYU5pTlZPMklhUTBPMGk3OHlLUXNRNk5JcEtDZXhL?=
 =?utf-8?B?Z2x2N2hmdHZxZ2tEUk9CWlJnZEtOaElNT3ZDTkZBWXU5c1paQmU4VTFaN2FC?=
 =?utf-8?B?WjV6bm52SXNyWWppWDhvZ0FzUHFEMm1BajdmMnFrNmRtVlY5cUhrb0NuSU9w?=
 =?utf-8?B?OThvWmVDbzJwckFPc3Jwekg2M2Jadm1LT2lJWXFTL0pRUDhDdkkwNGV1aTFL?=
 =?utf-8?B?U0pzcTBvVUhwTThMZ0Iwayt4Unk2UHFlbFpVSngzZlBWblpyR0p3M2NzakVh?=
 =?utf-8?B?SDE5RHBVZ0lSZzNPUjRncmFIV0N0eHdybzlYdS9KdWNyMmIwbDdQNWdNVEMv?=
 =?utf-8?B?Um9BQk52NDNtbmpjUGQ1UUpIMm04ZExPbGVtN0R5YlREWmc5NnRLT3MrbWFF?=
 =?utf-8?Q?hBkJ4I6j4Y1Lfo1X5SFikIr8S?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a1eeaf34-781a-4d50-eb29-08dadc543fea
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 15:19:23.5163
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: X8ecy7lMjdjQ2y98Ysm/yzHw31W0vxrPEAce61MRiL4c+8DcZn+YkNzkyvqi9OOAvP0dPVuwH3Yl9zLaIozWlA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7146

On 09.12.2022 01:52, Demi Marie Obenour wrote:
> This was missed in the initial patchset.
> 
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

It looks as if, besides ...

> --- a/xen/arch/x86/efi/efi-boot.h
> +++ b/xen/arch/x86/efi/efi-boot.h
> @@ -818,6 +818,8 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable
>      if ( gop )
>          efi_set_gop_mode(gop, gop_mode);
>  
> +    efi_relocate_esrt(SystemTable);
> +
>      efi_exit_boot(ImageHandle, SystemTable);
>  }
>  

... this core piece, the rest is merely pure code movement, with the goal
of avoiding a forward declaration. If such is the case, please say so in
your description. I'll add a sentence to this effect when committing, so
the remark if for future patches. Provided of course it is true (i.e. I'm
not overlooking any tiny change) - please confirm.

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 15:26:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 15:26:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459732.717498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4khg-0002Ej-AB; Mon, 12 Dec 2022 15:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459732.717498; Mon, 12 Dec 2022 15:26:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4khg-0002Ec-6c; Mon, 12 Dec 2022 15:26:52 +0000
Received: by outflank-mailman (input) for mailman id 459732;
 Mon, 12 Dec 2022 15:26:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8fsB=4K=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p4khf-0002EW-1Z
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 15:26:51 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on2056.outbound.protection.outlook.com [40.107.6.56])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 65c4ab7d-7a31-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 16:26:50 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6966.eurprd04.prod.outlook.com (2603:10a6:20b:109::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Mon, 12 Dec
 2022 15:26:48 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 15:26:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65c4ab7d-7a31-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LDxKMQJWAdKKtBJD3Wp/UMkUfkM7/lDioK/ctvo4cey0r2Ks0waNPByAweLqFtNrmt0BEf/H47jjC53LVU/WrvGWx3MQcrSXLAplNXt17MfFJ9ntbpTAeuJm0gL16sRCyNEu4v4Ypt8X1H2qXbcGHfqxVx6LitvWor1mYi5Oqy1Uzrsulw9Tmq3vSEhE/b9XpepmPXG4jHorKrk/loIgo1u7hKye1Y0DhbdJy7fyzJsIarXnxn2rKPNCwFO69DEwxZZHwXqZ+4ukawoI6tvKckt4wimZn1hkRNOGhPJVRPNWVmQoTvDupZdU6SUGb28EkeX4U+K6AGwQTONxFj6juw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t66f3Y2FwsdAT7vTc+90QXObZppfXHBLj47/zI58Tgs=;
 b=ejGR8zTa1VIV751NAYJn2gqsTcCr2su3yjACTyPBA+ErFTohilGBsUFvRICctzlySvvMpw1z3LmuijmUn8B+2xemEgifpAMl/Yvh9kGA1F7dfx0Pqlnj34gilgmZJovAYo3HS/MRGL34x3/C5sTJ2mITM2Fefi1oWtr6FiHaxhzvVOrP6eDhEhJqQUJ6Uzo+YM26AQcggTlSxgNt8REy2+4G4DPL1cVZp5Ti+yDM06YZvFvlJzA4L3zhUUTk7QjXsrkikgk/K3HNGWDXecCKQ8cpCMLrhy24jRUHaiEklE5y1pr3JtA3v4vbnHOTG5PFbwujHAtuqf4aBgjf1z/Slw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t66f3Y2FwsdAT7vTc+90QXObZppfXHBLj47/zI58Tgs=;
 b=sIjJFaSE//HLqNOYHeNuvbx+kVjsg1zVf0REj/k+aBTkwZTNoY1Ege3ErqhtMHdaEnUpcHzpPJXWY3Qa6PsHxuv7GwuHQGaQoklhAi67vd44sklEw6cL1VndgYLi8XFh0bbXD0y329L5DYj2xszPz+NzovMSAIZ9Xnwrx8I/8dreGZWCpA6B9ZryqHxklF4mGwzNrtSfBgTxDKn2Ikq8M2Qyk40cq9jANJNJ5Lucqgdt9HB1FeS68XAuSPNXXGq3WY/hXr0j7o9x3Y4esR02Ah7pGykwnORqe9o2juqU0vCRPJb266CgfujJEnT+C/UVrP2h1OUSRgM2PIR9uMKhtg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9c422147-d541-be8c-e217-4ef32c73c3dc@suse.com>
Date: Mon, 12 Dec 2022 16:26:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 1/2] x86/ucode: allow cpu_request_microcode() to skip
 memory allocation
Content-Language: en-US
To: Sergey Dyasli <sergey.dyasli@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20221208132639.29942-1-sergey.dyasli@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221208132639.29942-1-sergey.dyasli@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0085.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB6966:EE_
X-MS-Office365-Filtering-Correlation-Id: 53d9d2fc-e248-4a84-5138-08dadc5548da
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yCWGxI0VZ72bts+nyPxWd0E9JTbGJbQVMHyxR1PhHfcvvU/NzAVrfn7Rkz6qDhUaTh4SLYdvOs20CmBGLQHZAwMXpnY0seHVySbR1TZY7rg1SFFshcI3LnLyHu1Fa2nm0mm5dG0DD2CEUNv0NXdjB50wut7c4U64ADdF+RyXSi3NAq36BH9O+Vve4NoaEvxWgX5nZRLOvbOE3BTsvEq8kUc65Fey6OH9bptMbKAtrzdfN1OIzkfPWymZEkziIE9mDWIXV6ZXUVSuHMFNfOabaUU4++M9CEhO75bKQvLPzrg/4JdTuAJXEBKcnXwU+zU7z3oc60gm6NTvkbNkLOTdQ3MFDT1xcP5zRAVr2hIKQ2K2xGAw9cbJ5QjfWl2uEkZNdZ2NsUS08ZW0Z2iR+rWcZhhSb1sHSipWbmaOx8M0KZ/Xi6WsmlYKVvZKVU0WReBBAxqsHr4lEZaicZdKV1f0avnl2ttQGHAmE1y+RAl39yk6QWtgSucgkZ2tglSsXH5/uPBlc/reyqSo4FSI2Dpj9E4Ai9Y6B2Yed+xFxto1xoj6oPtykI8hyQT6ja1+K84F0nG65rn36Lv+EfP+aTy1yEoxlfu/eeCNqIhWQXxbU/IExUDZ2aCYXgwFHuAnJOd7vpDLDhC/sje3KOmQSCmgf5MLhu2B0wfEJzuk4uwby/xsG2n43QFJJ6K0IPqiEsLTx7a3Yw/eSIe8AvmfEYxP58NzfCINglsaQkjRSIEfLbk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(346002)(136003)(376002)(366004)(39850400004)(451199015)(41300700001)(83380400001)(6916009)(54906003)(316002)(66556008)(66946007)(66476007)(4326008)(8676002)(2906002)(86362001)(31696002)(8936002)(38100700002)(4744005)(36756003)(5660300002)(31686004)(53546011)(6486002)(478600001)(2616005)(6506007)(26005)(186003)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U0RYMk13TFVoUUFMVkc5RitWQ3ovVUwrU21TdUlXTjZ2UHhvMXRLSmZuNEIz?=
 =?utf-8?B?ZDNzRmJMWU43MFIzcWUvY2MvdTgwbkl4L01ZdFN0RWxtZ1VVVlNXbnB5UlRT?=
 =?utf-8?B?U3hwdVFEYjh5NXlBTWlEQ2JIVDByVkJDc2JDK05NRzJYK21tdkhsalZxMkI3?=
 =?utf-8?B?N3ljbXdhNVdvelRqS3J2aC8yc3N0UitZcGViODlSdHgrcFlpa1gxQWFTMzdG?=
 =?utf-8?B?SWgya2lFaDYxbkw0bzVNdE5QUzduOTg5U21RRHlLelE4akJkK2VGbWVMUmN5?=
 =?utf-8?B?cGFpdEIxbGttQmdNNmtPVlA4OEh6N1Z1ZkVqR09zL2VEMGZTYUh6ajg4am80?=
 =?utf-8?B?cUJTb0hRRENmeGFpQ052aVYwS2FlUnlUMHFCRk1ySy80Y1JoYUZlelN4N2Ir?=
 =?utf-8?B?KzNIdDVCOG03eDh5WVdWTExLa21ldmZOcVJ0TXZFWmRIRy9Mc1NmUHNUMWJt?=
 =?utf-8?B?NkJ5cEJkak8rYzhsWStmY3l6QStBVyswT1lNWUxLQ3lVWENiZmVhZ2ZRNG1K?=
 =?utf-8?B?aEdreXFEUWdheWIreklBakl4cDFKSWVRSlB0b21NR013MGhpRWpZWHpJUUJU?=
 =?utf-8?B?bmpmNHdYRTNPWTEvUTYvNzY0OTloRnJJREtqZU9xODFFeHZDdHFUL0lwbnNu?=
 =?utf-8?B?ci9qbTAveCtTajJxcW16QVBuV1ZueWFSM0RuRXJTbnRUbUNRNHcvWGV6MXU3?=
 =?utf-8?B?YzlNdndzd09tdmhNWCtUTmthdVJ5K21WRzdWTmFRSUtYKytBTXFtaGgxZlJ0?=
 =?utf-8?B?TkdWN29nZUF4alFSckJ6Uk5lTXJZOEV0MjRNbm1id0tvVVR1S1JmdHMxZ0ZF?=
 =?utf-8?B?dzhvZTlZd3I5S3pFM2hoRXVZaVg4VG5OOUMvTlFUaFQzdHpsQnFEM09Ba0xt?=
 =?utf-8?B?MWQ5WHBySDVDV3VIZWJaRmxKcFRSMDFOcGp6ZHhiZWVLeDZhN1pyYlJ1b1gr?=
 =?utf-8?B?Q1dKNXdvMmgwU0xPU21YdDJEK2U2cXZJZDN3c3ZhaGowZ2VtL1VEMkxkV2VO?=
 =?utf-8?B?TXMwLzhuaFY2bVI0QmdBRlhHYnRaRWo5cUVTUXlKcmxKdktoZS96WFRnN2kx?=
 =?utf-8?B?aEs4NWxpWElzMEZqa05QMUlrSG9IVWNITEMvVEdRU1hMMWpKWG03WHpNU2Zq?=
 =?utf-8?B?a2hDOGk4UURERHRxb0tFYWhqRFVuMmhFMmVvcXYxZjc4L2V2VEx5U0tDSGNE?=
 =?utf-8?B?cTlKbFY1ZmtCMmJ5cG9uODVoMVNDdEdkSE9ycUlrM3pxajFpS0F6eUJmbVUw?=
 =?utf-8?B?QW56VDNLb1Frc29VOENFcWdpNmx6OHk3bndhcWJZbTc1dzRDclU5b3J3aEt0?=
 =?utf-8?B?a3NGOXhOa1hOY1ZSZXJMTWc4SWQ3V2JQcTdvTklVOHk2bmdvNWVweUYyNFlw?=
 =?utf-8?B?SXQrNHR1anRya1cwekJzazNUSEF5WmllTEdWL2VNeEdteU5OK2thU3Z4cFVM?=
 =?utf-8?B?ZnVpYzAzekthS3U0bW9ab2JNVCtUSUJBZm9zT0dsMjJ0Tk1jU0JTanFvbWZ4?=
 =?utf-8?B?VnpJS1VyUmZQbHJMNTI1Z1IwNmFKanVvZVA5emJKVDhGTGFFWktKM01wVno5?=
 =?utf-8?B?dGNPWEdldERaZVJZSlJyVEttdmRjWjBORzIrWW9maXZ1aUc4cjVPUCtOc0VJ?=
 =?utf-8?B?K0plZmZCbWFPUldzT29GbWRyQ3M5L1NLTDJoUGpJZjk3MFE1aGp3cnJqV3Ux?=
 =?utf-8?B?ajZobUFuUWVtMWZKbUhmTys0NzB5NnR4VFBIcjM1cTJxMzBEcGZLZGw0aHIy?=
 =?utf-8?B?VVN1R3d0bnZuWVdvQm1KcDF3ZmhDUENORnlsL3VxQUFjcXUvZUlnaFM2NzR2?=
 =?utf-8?B?Z2tUMVdjMUgvWldCYTlHd2s2K1MvYTlpclp4OHAxdS9WbHRrbTdocWFuYU11?=
 =?utf-8?B?c1A0RnI0RzNqa3R4Y3hxcDRTeFpGRUM1UXZjWHMwR0hrWjByazlPdFRtWmsz?=
 =?utf-8?B?enBGRGdKWFlXVXhCVmErSVBHNXRReWdrWWljT00zM3FSWWd5cHVVZVM4Y1k4?=
 =?utf-8?B?am5IRVhsTlozQS9SajlaeVlNczR2YjVZaUViaFA5bk9BYjAxRGdnWmJqeDNZ?=
 =?utf-8?B?b0s2SDJxUjdXVGV3aUloMG1vOS9yNEUrckR6NElpZ3d1dlZKclBENXBsQzZV?=
 =?utf-8?Q?PvLulV1hy+nAw8nTVq2yDemzL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 53d9d2fc-e248-4a84-5138-08dadc5548da
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 15:26:48.0506
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SuUwSYZDsQMSZSwttrzz7YO32dPwETI42SYNjbL3cXKZqoE8elTLN9fTFH3bNd8dNws0zUSbZQ1si/hiKt0HNg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6966

On 08.12.2022 14:26, Sergey Dyasli wrote:
> @@ -648,7 +648,7 @@ static long cf_check microcode_update_helper(void *data)
>       *   this requirement can be relaxed in the future. Right now, this is
>       *   conservative and good.
>       */
> -    ret = stop_machine_run(do_microcode_update, patch, NR_CPUS);
> +    ret = stop_machine_run(do_microcode_update, (void *)patch, NR_CPUS);

Just as a remark - callback function arguments like this one also would
be nice to be allowed to be pointer-to-const, but I guess we'd need to
introduce some trickery to allow such despite the lack of function
templates (and even if we had such, also to limit duplication of binary
code).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 15:46:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 15:46:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459742.717509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4l0Z-0004yC-TZ; Mon, 12 Dec 2022 15:46:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459742.717509; Mon, 12 Dec 2022 15:46:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4l0Z-0004y5-PU; Mon, 12 Dec 2022 15:46:23 +0000
Received: by outflank-mailman (input) for mailman id 459742;
 Mon, 12 Dec 2022 15:46:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xn9i=4K=citrix.com=prvs=338000f17=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p4l0Y-0004xx-DP
 for xen-devel@lists.xen.org; Mon, 12 Dec 2022 15:46:22 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ea5bfa7-7a34-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 16:46:20 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ea5bfa7-7a34-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670859980;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=V1RCm2ClogbX4ZaJEZCU4t9Apjk5vFMsbYRRgBK8u04=;
  b=X31mk6QosgJv/QBTspPi7b8AQQ9XBkwt2pH//m3dC2/DHQCDDLpmiheU
   wHudkqAUVEH/5Ja/Vbv7fbJh1TatklVoDvoB3E1M/BSsi1xACWXmAg2ZM
   nizrnO08JCymiSvGwhie2nXmXBA5oC2yv8UoIC/o86d0vkp91W4tEyB+M
   w=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88320561
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:wl9hg6AuZX/DFRVW/9vjw5YqxClBgxIJ4kV8jS/XYbTApDh3hjxWz
 WZOUWrVO66MNjCgL493PYvl8kIE6p7TzIVhQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlB5ARnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw6OVvKllEq
 O0iJDkwMyzcouzn25m4Y7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2o0BPjDS0Qn1lM/AZQinOCulz/nfidRsl69rqsr+WnDigd21dABNfKFKofQHZgLxy50o
 EqZ3UPmHhIQHuCl2BeGsUu3pcXknBnSDdd6+LqQqacx3Qz7KnYoIAMXU1C2p+X/hVO/R85YN
 2QQ+ywnt69081akJvH0WxCo5nSJuBgRVvJUEusz8gbLzbDbiy6CGmUKRzhGLsc6vcU7QTgr0
 F6hj9LtBDp/9raSTBq19KqQrD60ETgYKykFfyBsZRUE+dT4oMcwkxfGVP5nEai8lNqzHiv/q
 xiaoS57i7gNgMoj06Sg4UuBkz+q4J/TQWYd5ArNWXm+xhhkf4PjbIutgWU39t4ZctzfFAPY+
 iFZxY7Ot4jiEK1higSfQ/0mJLv09syJOQCBvQFKEcg63DeErivLkZ9r3BlyI0JgM8AhcDDvY
 VPOtQ452KK/LEdGfocsPdvvVp1CIbzIUI28C6uKNoYmjo1ZLlfvwc14WaKHM4kBemAImLp3B
 5qUeN3E4Z0yWfU+l2reqwvwPNYWKsECKYH7H8uTI/ePi+D2iJuppVAtbjOzghgRtv/sneks2
 4832zG24xteSvbiRSLc7JQeK1sHRVBiW8+u9JwMK7DTeVo3cI3ENxM26epxE7GJYowPzruYl
 p1DchAwJKXDaY3vdlzRNyELhELHVpdjt3MrVRHAzn7xs0XPlb2Htf9FH7NuJOlPyQCW5aIsJ
 xXzU5naU6snp/Wu02h1UKQRW6Q7L0T11VPTZXT7CNX9FrY5LzH0FhbfVlOH3EEz4uCf7qPSf
 5XIOtvnfKc+
IronPort-HdrOrdr: A9a23:Yd5G+qMuvvsyLcBcTgajsMiBIKoaSvp037Eqv3oBLyC9E/b5qy
 nKpp8mPHDP6Qr5NEtQ/OxoW5PwOE80l6QFmbX5VI3KNGaJhILBFvAY0WKI+UyFJ8SRzJ876Y
 5QN4VFJZnXK3MSt6rHCQ+DeeoI8Z283Jrtr8H44FdCcTpDVoFHyENCJjvzKDwUeCB2QZU4EZ
 aH5tlKvVObFEg/ZNigG38AU/PiirTw5fDbXSI=
X-IronPort-AV: E=Sophos;i="5.96,238,1665460800"; 
   d="scan'208";a="88320561"
Date: Mon, 12 Dec 2022 15:46:09 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
CC: <xen-devel@lists.xen.org>, Juergen Gross <jgross@suse.com>, Julien Grall
	<julien@xen.org>, Vincent Guittot <vincent.guittot@linaro.org>, Alex
 =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>
Subject: Re: [PATCH V8 1/3] libxl: Add support for generic virtio device
Message-ID: <Y5dMwYDbQBO+cd+j@perard.uk.xensource.com>
References: <cover.1670839220.git.viresh.kumar@linaro.org>
 <0e58df1510d7d8c0186da6620882b7c4e4035ab0.1670839220.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <0e58df1510d7d8c0186da6620882b7c4e4035ab0.1670839220.git.viresh.kumar@linaro.org>

On Mon, Dec 12, 2022 at 03:35:53PM +0530, Viresh Kumar wrote:
> This patch adds basic support for configuring and assisting generic
> Virtio backends, which could run in any domain.
> 
> An example of domain configuration for mmio based Virtio I2C device is:
> virtio = ["type=virtio,device22,transport=mmio"]
> 
> To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
> region) and pass them to the backend and update guest device-tree to
> create a DT node for the Virtio devices.
> 
> Add special support for I2C and GPIO devices, which require the
> "compatible" DT property to be set, among other device specific
> properties. Support for generic virtio devices is also added, which just
> need a MMIO node but not any special DT properties, for such devices the
> user needs to pass "virtio,device" in the "type" string.
> 
> The parsing of generic virtio device configurations will be done in a
> separate commit.
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 15:57:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 15:57:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459752.717519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lAl-0006nq-Od; Mon, 12 Dec 2022 15:56:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459752.717519; Mon, 12 Dec 2022 15:56:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lAl-0006nj-Lq; Mon, 12 Dec 2022 15:56:55 +0000
Received: by outflank-mailman (input) for mailman id 459752;
 Mon, 12 Dec 2022 15:56:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xn9i=4K=citrix.com=prvs=338000f17=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p4lAj-0006nd-Tl
 for xen-devel@lists.xen.org; Mon, 12 Dec 2022 15:56:53 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 96b1e2ea-7a35-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 16:56:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 96b1e2ea-7a35-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670860612;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=oNaG8qdunRfMp54Fkl9AJdw2bq+f3Mxs4wKLu8J1KvY=;
  b=Bmg98aFBbPZ8AHJksHOo2aZXSgvABBIsk4/MXgY2q+x9eXnDHZqaNRXP
   bchyfB0nDdoY7z/THj4eBma9IAuEuXBqKnBAVGH3xomW5d2h4VxnfTA/Y
   xwMy/MWN+Yo+s2lfZx12MqZH3nCkbJkuV/+hiRJZGMHY0MDLtgpftkSrN
   k=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87457075
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:M0ZTTa9+BUI9hDDUWVcHDrUDcn6TJUtcMsCJ2f8bNWPcYEJGY0x3m
 GYaXjvQbPuIa2T1eNt0YY3go0xQ6JaDx4Q1T1A/+3w8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6kR5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklCq
 eIIF24ALSuzjtOt/7K9Q/BupNoseZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGM0Yn1lQ/UfrSmM+hgGX/dDtJ7kqYv6Mt70DYzRBr0airO93QEjCPbZUKwhvH/
 j2bl4j/Kkoad+609haFy0uH37T3vDH3QLBVRZTto5aGh3XMnzdOWXX6T2CTv/i/gUO4R5RQN
 k0I5i0yhawz8kWxSZ/6RRLQiHeAsw5aUddWFeA3wAWMzKPO5ECeHGdsZiVdZdIvsshwXiAj3
 FKNm9LvBBR/sbmUT2Lb/bCRxRuwJCwUIGkqdSICCwwf7LHLvoApgwnPCNV+Faevptn0Hzjqx
 HaNtidWr6Uei4sH2ru2+XjDgimwvd7ZQwhz4R/YNkqn4Rl+f5WNfJGz5B7Q6vMoEWqCZgDf5
 j5ewZHYtb1QS8HW/MCQfAkTNL31+ea6bjCfum5mLoIe9zKk4nyBY48FtVmSO3xVGsoDfDboZ
 mratgVQ+IJfMROWUENnX26iI590lPa9TLwJQtiRN4MTOcYpKGdr6Qk0PSatM3bRfF/AeE3VE
 bOSao6SAHkTEsyLJxLmFr5GgdfHKs3TrF4/pKwXLTz9itJyh1bPE9/p1WdiichnhJ5oWC2Pr
 75i2zKikn2zqtHWbCjN6pI0JlsXN3U9Dp2eg5UJKbbcclE7RjF6W665LVYdl2tNxvQ9qws11
 ivlBh8wJKTX2hUr1jlmmlg8MeiyDP6TXFowPDA2PEbA5pTQSd/H0UvrTLNuJeNP3LU6nZZJo
 wwtJ53o7gJnFm6WpFzwrPDV8ORfSfhcrVvVb3T1MWVlIcAIqs6g0oaMQzYDPRImVkKf3fbSa
 ZX5vu8HafLvnzhfMfs=
IronPort-HdrOrdr: A9a23:RNFrEKzy0TwuCa76XEuSKrPw3L1zdoMgy1knxilNoHxuH/Bw9v
 re+MjzsCWftN9/Yh4dcLy7VpVoIkmskKKdg7NhXotKNTOO0AeVxedZjLcKqweKJ8SUzJ8+6U
 4PSchD4abLfD9HZcaR2njFLz4jquP3j5xBU43lvglQpQIBUdAQ0+9gYDzrdHGf3GN9dOAE/J
 z33Ls/mxOQPU45Q+6cHXc/U+3Kt7Tw5e/biU5vPW9e1OGW5wnYk4LHLw==
X-IronPort-AV: E=Sophos;i="5.96,238,1665460800"; 
   d="scan'208";a="87457075"
Date: Mon, 12 Dec 2022 15:56:34 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
CC: <xen-devel@lists.xen.org>, Juergen Gross <jgross@suse.com>, Julien Grall
	<julien@xen.org>, Vincent Guittot <vincent.guittot@linaro.org>, Alex
 =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>
Subject: Re: [PATCH V8 2/3] xl: Add support to parse generic virtio device
Message-ID: <Y5dPMnXiDbZeBbrL@perard.uk.xensource.com>
References: <cover.1670839220.git.viresh.kumar@linaro.org>
 <feed7e77fb1e986c3f4ab3cf4fef09a21537b0c6.1670839220.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <feed7e77fb1e986c3f4ab3cf4fef09a21537b0c6.1670839220.git.viresh.kumar@linaro.org>

On Mon, Dec 12, 2022 at 03:35:54PM +0530, Viresh Kumar wrote:
> diff --git a/tools/ocaml/libs/xl/genwrap.py b/tools/ocaml/libs/xl/genwrap.py
> index 7bf26bdcd831..b188104299b1 100644
> --- a/tools/ocaml/libs/xl/genwrap.py
> +++ b/tools/ocaml/libs/xl/genwrap.py
> @@ -36,6 +36,7 @@ DEVICE_LIST =      [ ("list",           ["ctx", "domid", "t list"]),
>  functions = { # ( name , [type1,type2,....] )
>      "device_vfb":     DEVICE_FUNCTIONS,
>      "device_vkb":     DEVICE_FUNCTIONS,
> +    "device_virtio":     DEVICE_FUNCTIONS,

Sorry, I meant that this change needed to be removed as well, because
the build fails in "tools/ocaml/test".


Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 15:57:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 15:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459760.717531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lBV-0007OC-6l; Mon, 12 Dec 2022 15:57:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459760.717531; Mon, 12 Dec 2022 15:57:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lBV-0007O4-3J; Mon, 12 Dec 2022 15:57:41 +0000
Received: by outflank-mailman (input) for mailman id 459760;
 Mon, 12 Dec 2022 15:57:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2bIl=4K=templeofstupid.com=kjlx@srs-se1.protection.inumbo.net>)
 id 1p4lBU-0007C5-BV
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 15:57:40 +0000
Received: from boar.tulip.relay.mailchannels.net
 (boar.tulip.relay.mailchannels.net [23.83.218.250])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b172d9a8-7a35-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 16:57:37 +0100 (CET)
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 2151850232B
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 15:57:34 +0000 (UTC)
Received: from pdx1-sub0-mail-a306.dreamhost.com (unknown [127.0.0.6])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 943FB501B6F
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 15:57:33 +0000 (UTC)
Received: from pdx1-sub0-mail-a306.dreamhost.com (pop.dreamhost.com
 [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384)
 by 100.116.179.114 (trex/6.7.1); Mon, 12 Dec 2022 15:57:33 +0000
Received: from kmjvbox (c-73-70-108-208.hsd1.ca.comcast.net [73.70.108.208])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 (Authenticated sender: kjlx@templeofstupid.com)
 by pdx1-sub0-mail-a306.dreamhost.com (Postfix) with ESMTPSA id 4NW5qd1RSDzMB
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 07:57:33 -0800 (PST)
Received: from johansen (uid 1000) (envelope-from kjlx@templeofstupid.com)
 id e0062 by kmjvbox (DragonFly Mail Agent v0.12);
 Mon, 12 Dec 2022 07:57:30 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b172d9a8-7a35-11ed-91b6-6bf2151ebd3b
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1670860653; a=rsa-sha256;
	cv=none;
	b=tWoS8cOiby/UrMpJ4a0xfDZdsZm38Mx+ox2Ckus5yY4J+OgyBKWGEbjs+Hl0i5NCQP3vcv
	wJZUO+5YjWW3khYxh6/BlBYhFuOYFR+h1VMNxb1e0h/Z2SsHYHG2ufd4PmrsmRBZBnndX0
	bIksv3fa5s4ePLXcpCFoCO18dvWfoM/U/5T0YANAWpgveaBBP7Af8BoozhGYMopXjIfz0y
	7/Ig+HObZQK34Lhx/hogsSFrQPBUzQR8PWLH9nOhdXQl8e72p1j+b1kLyCGQ2lKO+Fjjry
	2TM+1a2bOaTGsVkoGY4HvLW7SVk71cDkz6e/WC6R7hTclNui/hx//rt5xuIKUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
 d=mailchannels.net;
	s=arc-2022; t=1670860653;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:dkim-signature;
	bh=4T/zjG3plJ8sYfo5jMTvgYHcxH66poUD8cr6GG0LDRs=;
	b=ncpLvPS2no8tViamLPErH9Noqu+S3jTZGO5DsE8WJ+JuEgd/nL8GNaRHZ4CjTyL0Elo7cu
	lCc6UU9xpiTExlm9u6clpurfvrpp0D564LSjBmYUUVu0DR+eeJ1b2tk09NsNc6UsaXMo+g
	G5+0FHLO1UBuPoCGq7FuTSi900Hxkhhzuh/cnLU5UuX8ydIQ627xDWbfFXryh6kmHhlf5q
	1/rI/8qUdBzoTxuzMZ0K9gimvw4IsaIMOlXLtxp3mCJwRsRQyjDsXYHoF1nD5hGA9d9zrD
	ewR19A43F/m5XFkPRovRPMTVe+uw3JaUcDRrmLu43Bdez4Gxi3nbt97kc5w78Q==
ARC-Authentication-Results: i=1;
	rspamd-85f95c7974-lnmpm;
	auth=pass smtp.auth=dreamhost smtp.mailfrom=kjlx@templeofstupid.com
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MailChannels-Auth-Id: dreamhost
X-Slimy-Lettuce: 7d15233452a542f3_1670860653833_4237009608
X-MC-Loop-Signature: 1670860653833:1414107649
X-MC-Ingress-Time: 1670860653833
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=templeofstupid.com;
	s=dreamhost; t=1670860653;
	bh=4T/zjG3plJ8sYfo5jMTvgYHcxH66poUD8cr6GG0LDRs=;
	h=Date:From:To:Cc:Subject:Content-Type;
	b=rS8AOfUvj/sxhB7y5MxG4vuS1Im8fpddc7fDN9zqGwS/Hy3RJorODqyuEGQRNj3BX
	 bHuBPDgEDT/gv6BsAXfXPiSPCghIHIsAMHF5lYfJra4TDj+bYh8aRxjozA7oTQWx40
	 FkPCBexZrraP8wgdo6ATStyICAChgaw92WElM4wA=
Date: Mon, 12 Dec 2022 07:57:30 -0800
From: Krister Johansen <kjlx@templeofstupid.com>
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Krister Johansen <kjlx@templeofstupid.com>,
	Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Anthony Liguori <aliguori@amazon.com>,
	David Reaver <me@davidreaver.com>,
	Brendan Gregg <brendan@intel.com>
Subject: Re: [PATCH linux-next] x86/xen/time: prefer tsc as clocksource when
 it is invariant
Message-ID: <20221212155730.GA1973@templeofstupid.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>

On Fri, Dec 09, 2022 at 02:32:15PM -0500, Boris Ostrovsky wrote:
> 
> On 12/8/22 11:36 AM, Krister Johansen wrote:
> > +	/*
> > +	 * As Dom0 is never moved, no penalty on using TSC there.
> > +	 *
> > +	 * If the guest has invariant tsc, then set xen_clocksource rating
> > +	 * below that of the tsc so that the system prefers tsc instead.  This
> > +	 * check excludes PV domains, because PV is unable to guarantee that the
> > +	 * guest's cpuid call has been intercepted by the hypervisor.
> > +	 */
> > +	if (xen_initial_domain()) {
> >   		xen_clocksource.rating = 275;
> > +	} else if ((xen_hvm_domain() || xen_pvh_domain()) &&
> > +	    boot_cpu_has(X86_FEATURE_CONSTANT_TSC) &&
> > +	    boot_cpu_has(X86_FEATURE_NONSTOP_TSC) &&
> > +	    !check_tsc_unstable()) {
> > +		xen_clocksource.rating = 299;
> > +	}
> 
> 
> What if RDTSC is intercepted?

Right, thanks.  I'll send out an updated patch here shortly that
attempts to address this by examining the cpuid information to determine
if the tsc is being emulated.

-K


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 16:00:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 16:00:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459770.717542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lEX-0000xI-Ld; Mon, 12 Dec 2022 16:00:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459770.717542; Mon, 12 Dec 2022 16:00:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lEX-0000xB-If; Mon, 12 Dec 2022 16:00:49 +0000
Received: by outflank-mailman (input) for mailman id 459770;
 Mon, 12 Dec 2022 16:00:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Sjdt=4K=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1p4lEW-0000x3-GT
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 16:00:48 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2078.outbound.protection.outlook.com [40.107.212.78])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 23745ced-7a36-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 17:00:46 +0100 (CET)
Received: from DM6PR17CA0016.namprd17.prod.outlook.com (2603:10b6:5:1b3::29)
 by DM8PR12MB5462.namprd12.prod.outlook.com (2603:10b6:8:24::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Mon, 12 Dec
 2022 16:00:42 +0000
Received: from DM6NAM11FT071.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:1b3:cafe::66) by DM6PR17CA0016.outlook.office365.com
 (2603:10b6:5:1b3::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10 via Frontend
 Transport; Mon, 12 Dec 2022 16:00:42 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT071.mail.protection.outlook.com (10.13.173.48) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.21 via Frontend Transport; Mon, 12 Dec 2022 16:00:41 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 12 Dec
 2022 10:00:40 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 12 Dec
 2022 10:00:34 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Mon, 12 Dec 2022 10:00:33 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 23745ced-7a36-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iHhKskPEFEnNNQiCKIOUjgNNN+tdHBEG2NIH4gtMZD3NxaTaeYnD3ojOAiTihu67oYYdctHPhV6nR9rpEknXkkLvtBFh7FyLAHtLde/NKqnADWSo5lnc2JluRes+ZczWz4BcAHZqzBsiW/y2g3fCXo9/Zq9TES9hQdWEkjd20ovaKU/4IFg8DnV0IwoTrv83wkNEn28ne1pmcbAbloJ5zU+QN/ffpGVBS/aC7JSqyX9DR//SoYZCfRq5l+qZcbBtcedoWFV4i/RvOndKLl2/0rsfUwk1JgU1WadrccXSy5ofEakprT0nS0OaUynXlI1Lwc9RbA33YkkmEtqqPDx6qQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cwR3TvcwiCf5uSnerTtdKAUsWBq8IxQW7OLe1vZOurE=;
 b=AfEsFFt6Q+6TAHnH7Ex4wnmoZlWZU0wGs8UX5t8sQtPO2tyCyC9+D/ixzJJzywFqBGLuBM3+1saJ4m4NNOhrbvc4IfsWf58MG4+cxZ9PCPxC89AgO6ifaaUoDF+fNjqDuOt6/BoZ2OvVmCoONTTKg7P7ZRx0xzrFF9gTKJb/xORKRxtfyiSUFv8wNLgBI9i5gfQY1v/O+pjz83j1JUV1EtKihSPc3OfrERX2lTSvXpmlSa0rEAUQTudi55FW6V8anqMJvhEi/AcbYqGYyIScLJvueQGnAU2eiu4Ywehb2nXDGxKuIcjV+qEaFJhFfGhIZ07+w6ddn5nZMG/naheM0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cwR3TvcwiCf5uSnerTtdKAUsWBq8IxQW7OLe1vZOurE=;
 b=fIHN0DE9Bj4za66ap+cYQOwiM2xkDjMuI+83NZPi8gUKaiR30N3ygnxbSj4NGYxgXFl69Bw0i7sU2hIcclvFqV851iPu8iONn1MaHVAWPpZqCXbFlmAUbCtZGLpaZSoHdWFWBSBDZbJPnPTrkUmqq6AIvqgrlUpJWeZ0NRbKiuc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Rahul Singh <rahul.singh@arm.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] xen/arm: smmuv3: remove unused function
Date: Mon, 12 Dec 2022 11:00:31 -0500
Message-ID: <20221212160031.31590-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.38.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT071:EE_|DM8PR12MB5462:EE_
X-MS-Office365-Filtering-Correlation-Id: 1d88866c-feab-4cf0-a5c5-08dadc5a053a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ecBFuaoJdPs9jSuP4ZsD4Q+6dwDK90Uc7jdQv0khpbA/MoWc2k4dBmHs9w77Tn5TYoODiD2h2ALszOcuScjGdQATJOr6eWS2r+dDp7/I8l1hXRoWhAazVzAreOcduHynfbm859dkPm2jQ6zun4wf3aH8o1K77oLoq/y+59fi0kchGfT5Zapu+MpTG1ok16tj4BNajUkQ2tWrf9kKSSUuyQg5+VGL5rg6o0+cUDtcBjDDnjNR/MjgItU6zwoYU6Lu2wPH//eFpCh61aY6ZVCbwf1BYu9pia6aU42fM670w9LWcbYhZXQJDT0XaE6w+ytKjIcBF0AxZk7U3Xld88LYQu1tIXjm3Zqwe0kknFX/FSJHJnyAEZ1v5+8OTQaIuyMn4dlthHW+NxKcDBl9R91A9BE07dFcyQHvOHm24N5g875AE5xu8fkLsZ9qXIgpCjyP00IRwE3mzvSQFLxRQt5l/8fJfAy2/IP6/lWCakvvxICkIdvnlXOPoDmUYVsumJ8z7CB52SnHJ9+BVZYlsLgNLdkC0ffSZ9S0Z6G5s2hJ0neHG05Z31kBqxuOgL6SB4hri1EQUbSk2JG8ZfaMIewPhZV6s9+rNdIKGKi8pz1EQqZ2rKUF4v1swcgiSqZsYE0Tc6ripVLYF8Amhq+tyySgcvlw8funEwgIuQAm/Uwjccmw9tBHlnpvzG/05BNF0kEn6kNT5mdvI36w5h7kmb++M/dsnjBNCBMhKCF4RIfERvY=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(376002)(136003)(346002)(451199015)(36840700001)(40470700004)(46966006)(2906002)(81166007)(82740400003)(44832011)(356005)(40480700001)(26005)(70586007)(8936002)(36756003)(36860700001)(41300700001)(8676002)(70206006)(82310400005)(86362001)(5660300002)(6916009)(54906003)(316002)(4326008)(336012)(478600001)(426003)(40460700003)(1076003)(186003)(83380400001)(47076005)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 16:00:41.8464
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d88866c-feab-4cf0-a5c5-08dadc5a053a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT071.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR12MB5462

When building with clang 12 and CONFIG_ARM_SMMU_V3=y, we observe the
following build error:

drivers/passthrough/arm/smmu-v3.c:1408:20: error: unused function 'arm_smmu_disable_pasid' [-Werror,-Wunused-function]
static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
                   ^

Remove the function.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
There is also a definition of arm_smmu_disable_pasid() just above,
guarded by #ifdef CONFIG_PCI_ATS. Should this one be removed too? It
might be nice to keep this definition for ease of backporting patches
from Linux, but if we ever plan on supporting PCI_ATS in Xen this may
need to be re-visited.

This is a candidate for backport to 4.17, 4.16, and possibly 4.15,
although 4.15 has other issues with clang 12.
---
 xen/drivers/passthrough/arm/smmu-v3.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 9c9f4630090e..f54d85cb4b70 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -1404,8 +1404,6 @@ static inline int arm_smmu_enable_pasid(struct arm_smmu_master *master)
 {
 	return 0;
 }
-
-static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
 #endif /* CONFIG_PCI_ATS */
 
 static void arm_smmu_detach_dev(struct arm_smmu_master *master)
-- 
2.38.2



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 16:00:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 16:00:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459771.717553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lEb-0001E2-U0; Mon, 12 Dec 2022 16:00:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459771.717553; Mon, 12 Dec 2022 16:00:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lEb-0001Dt-RF; Mon, 12 Dec 2022 16:00:53 +0000
Received: by outflank-mailman (input) for mailman id 459771;
 Mon, 12 Dec 2022 16:00:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xn9i=4K=citrix.com=prvs=338000f17=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p4lEa-0001D6-8O
 for xen-devel@lists.xen.org; Mon, 12 Dec 2022 16:00:52 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 255a4895-7a36-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 17:00:50 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 255a4895-7a36-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670860850;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=/QBxbfUQdXss78gS6ySYQ49L6ltH/g8PhjsZUOSm3IA=;
  b=U1DXH4RRqXfXly6tSx3CtmBxVq5zCCiAsdlvHnvDUO3Tvy4MVxfxc551
   OfebEryq05+XHA56zxc3Yb05ocGxvbhUbivU5q2xsiPDsZxcB+mQEHw50
   qcMCfddHF7xEbCtcewvbUw424/8SwTETuH0gCUaxwCGasS8VTHlvavTxq
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87457978
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:AhwYQa8bxCpYshgbxEodDrUDcn6TJUtcMsCJ2f8bNWPcYEJGY0x3n
 GoeWzvUPv3YM2H2Kt1+adnl9x5Tv5PVnddlGwI+/no8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6kR5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkli6
 /lGIzkhNCmJpLuQ65+3WMU33OEKeZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGM0Yn1lQ/UfrSmM+hgGX/dDtJ7kqYv6Mt70DYzRBr0airO93QEjCPbZUKwhvH9
 z2Wl4j/KjQjaN6G82anyDX2ovaWwx7eYLkrKLLto5aGh3XMnzdOWXX6T2CTv/i/gUO4R5RQN
 k0I5i0yhawz8kWxSZ/6RRLQiHeAsw5aUddWFeA3wAWMzKPO5ECeHGdsZiVdZdIvsshwXiAj3
 FKNm9LvBBR/sbmUT2Lb/bCRxRuwJCwUIGkqdSICCwwf7LHLvoApgwnPCNV+Faevptn0Hzjqx
 HaNtidWr6Uei4sH2ru2+XjDgimwvd7ZQwhz4R/YNkqn4Rl+f5WNfJGz5B7Q6vMoEWqCZgDf5
 j5ewZHYtb1QS8HW/MCQfAkTNJ234qiOORGGuFRMRr8K2ji/1yX5WKkFtVmSO3xVGsoDfDboZ
 mratgVQ+IJfMROWUENnX26iI590lPa9TLwJQtiRN4MTOcYpKGdr6Qk0PSatM3bRfF/AeE3VE
 bOSao6SAHkTEsyLJxLmFr5GgdfHKs3TrF4/pKwXLTz9itJyh1bPE9/p1WdiichnhJ5oWC2Pr
 75i2zKikn2zqtHWbCjN6pI0JlsXN3U9Dp2eg5UJKbbcclE7RjF6W665LVYdl2tNxvQ9qws11
 ivlBh8wJKTX2hUr1jlmmlg8MeiyDP6TXFowPDA2PEbA5pTQSd/H0UvrTLNuJeNP3LU6nZZJo
 wwtJ53o7gJnFm6WpFzwrPDV8ORfSfhcrVvVb3T1MWVlIcAIqs6g0oaMQzYDPRImVkKf3fbSa
 ZX7vu8HafLvnzhfMfs=
IronPort-HdrOrdr: A9a23:jbPly64k4ENL14nC+gPXwDjXdLJyesId70hD6qkQc3Fom62j5q
 STdZEgvyMc5wx/ZJhNo7690cq7MBbhHPxOkOos1N6ZNWGLhILPFuBfBOPZqAEIcBeOlNK1u5
 0BT0EEMqyWMbB75/yKnDVREbwbsaa6GHbDv5ah859vJzsaGp2J921Ce2Cm+tUdfng9OXI+fq
 Dsn/Zvln6bVlk8SN+0PXUBV/irnay3qHq3CSR2fyLO8WO1/EiV1II=
X-IronPort-AV: E=Sophos;i="5.96,238,1665460800"; 
   d="scan'208";a="87457978"
Date: Mon, 12 Dec 2022 16:00:44 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
CC: <xen-devel@lists.xen.org>, Juergen Gross <jgross@suse.com>, Julien Grall
	<julien@xen.org>, Vincent Guittot <vincent.guittot@linaro.org>, Alex
 =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>
Subject: Re: [PATCH V8 3/3] docs: Add documentation for generic virtio devices
Message-ID: <Y5dQLFzlSE+zPb5t@perard.uk.xensource.com>
References: <cover.1670839220.git.viresh.kumar@linaro.org>
 <b427a95b2c051ecd12d8342d65a34aa16a1feebd.1670839220.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <b427a95b2c051ecd12d8342d65a34aa16a1feebd.1670839220.git.viresh.kumar@linaro.org>

On Mon, Dec 12, 2022 at 03:35:55PM +0530, Viresh Kumar wrote:
> This patch updates xl.cfg man page with details of generic Virtio device
> related information.
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 16:04:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 16:04:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459786.717564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lI1-00029h-Dh; Mon, 12 Dec 2022 16:04:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459786.717564; Mon, 12 Dec 2022 16:04:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lI1-00029a-Am; Mon, 12 Dec 2022 16:04:25 +0000
Received: by outflank-mailman (input) for mailman id 459786;
 Mon, 12 Dec 2022 16:04:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8fsB=4K=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p4lHz-00029S-Co
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 16:04:23 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2049.outbound.protection.outlook.com [40.107.21.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a3ba8490-7a36-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 17:04:21 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9575.eurprd04.prod.outlook.com (2603:10a6:20b:4fd::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Mon, 12 Dec
 2022 16:04:20 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 16:04:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3ba8490-7a36-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DOLH4dLQ5yTg2jb9+JxzvEGQXAJYc1SG9d7Up18EYikqHaiRPJ14lJnkNbVYt5szomCIG9EA2a5pcNGR2dNPXhntPRau5ggv/M1Qyn7+3BJIsPgC1MdtFygs9uQbBeVMfnlhNvQxo+OEEwKHpxho79/68L4ZAIepZSZ37Hqb7Zgb6t2Hojz9aQjzpnufHD7saLkcgHXw3lb/51aYsYNB+D0t4HNCR0baei/dggftmV4mvFI0LR48M/mJg4YvqEyh/osqR9g6DPoKWpg+vwmVJu/t9qMJiVnSxHwsHA82wG+kX3XcfOimG9q/vF0zW8Ml08J8GvThmaonGRLbfnxz/Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g2/D0Klcfmma0bx72GJde9Wxyl0C9StOThGNh4A0o8U=;
 b=K31VsWgRIufTFj5QZDBlZ312bAQWeuq/Jf7A6KhaxlB4UjnqSmKSPd9InlbBFQUVVcPqOO6D81QXLtj4VmocUstvlXtMSxJyiy13WmwSItT6ELiH8gsriqfaZCnuKF0J7BCI7MZPDNlWCmoGW1UD1zokxZ+QB+byjPLsTbRuJVBYfDjaWysCh7VXQp+reZZTjHq9MizLGhFZp1pOIQd9LXWVwzvX1gh9wTvfntW1PbLurOPYnHq+CdiyIb5R1pW5NB8h1+NlgjDGKNYsdPlBtXk83mB3N3S3irZ+cQfDJlr7CUrTlqO+K863PBsuGygLVZaKbLD6wGrFpQ6FyUzeqg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=g2/D0Klcfmma0bx72GJde9Wxyl0C9StOThGNh4A0o8U=;
 b=tIbPIu2ZcRzlYKew7exd9fYT6MrK1AM4W7LtNI0rpd93Axw3SRQO1rTM3dFvE/R1RXk/fWYLouxCL6hqgA1SzbXWpVhaNYBsAfpsbXDHe6nF0CMAiI2nOiJGB7x8P8SBuE+cTxQRa9b1Qd+3Rcj7snK/NbpaPHq0YDZapo1ooP64k1mm1StYX0eFAKj/C6hUVroRUD9eDKcAOOKsPrpBw+BUyS0ji58K+sbwXExhs+lbgtjbeOwlMUOK7v3xrDvtLWUdqV+3WykwatD7z1kZwAHSi3E/c+IHhuYfpaenfSxUHTs+PdK5mQtP7ltqXwhmbggDA+6X8ThDkwwcUktLBA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e15114b3-d30b-14ad-ab73-6a9cbf5767d4@suse.com>
Date: Mon, 12 Dec 2022 17:04:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 1/2] x86/ucode: allow cpu_request_microcode() to skip
 memory allocation
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Sergey Dyasli <sergey.dyasli@cloud.com>
References: <20221208132639.29942-1-sergey.dyasli@citrix.com>
 <c6676171-8cab-dfbc-4b18-d9c724588398@citrix.com>
 <35f9e529-35b9-0432-8e98-8b0100953856@suse.com>
 <CAPRVcuccXaLNX3suy1t+xD_kptnV2yLxoCN_193PF6Gj_FBD1w@mail.gmail.com>
 <b610b461-4c77-66da-c930-10def3138e5d@suse.com>
 <f980e5c9-b175-2741-ed95-43bbc643baf7@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f980e5c9-b175-2741-ed95-43bbc643baf7@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0205.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS4PR04MB9575:EE_
X-MS-Office365-Filtering-Correlation-Id: 298722e0-c01c-41e1-d038-08dadc5a8757
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	F06Nx4gVCiDUsuRCGrQeWh8EQAUiBBePYKuyZWkhevzTeuJZgdsj1ZWmhWMtF0mnrSqnUZ6U6AbvYK/w13JDAUh5na/KlO5WjrAS8KNXEJzhEy/WCHKAzO4dwLn4iOC8+nwfrtPqmDAKbf4EeqgB2HrFyBCjFttb4lwl0QGLH8tXK4CV+tHg2s1BJLLnKf5uWS1zCSeacpw2ER0BNbokLviTIAi6d+lVq74iivyN5fViDu6Zh+THrEO29vIx3OoCPg4S78zffKfJ7GT37+o2yrZSzl0LFh4vydLnd584AbBClMT76lfCOdKc7FBkLKyu1plXbGr22R9eTDkVl4xYhO5FehzZk8VBcfnd6CL7rY4AtQhRLOq/YENZDpZV+j+m22YF88bexK2r7inhbQi3dAHipN56tEHh5QXxQrFtpKLBdcyQELFk9ktseTqC/8hT0CLO+Ob+5xc5hjB7EkkIm2CCirfsmoxFzSzA6s2r/qLxiP4/JMQEu5HzUSlIc1COFQQRP/eUfD8YaOA6XrdpTIYxHsgZ6CyD8bKmaOSn6gR/+5h9yj/3HxGBDFThMWti1W90k2YuBHQUQaTx0iK+pTEu3wzZQ6NVYy/DSmN63yOwO+ZYHxMAtO6dnFC2FMl+UaOEJo/wZ48jU1wdJw2Qbpbz0j4A4XbUcVAhYd5KyNk9x5gCp/I4ngFBPo/L2qF2QUiqJ/tlv/RXWztzV+FaWIEFPtkUPQwjrGYCLX2cRJM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(396003)(136003)(376002)(39860400002)(346002)(451199015)(36756003)(186003)(54906003)(2906002)(316002)(6916009)(83380400001)(6506007)(31696002)(86362001)(2616005)(6486002)(478600001)(53546011)(26005)(6512007)(66556008)(38100700002)(41300700001)(66476007)(4326008)(8676002)(66946007)(31686004)(5660300002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Uko0M1hXa0tLQmlJMXloS1hXS2NzZ2dxQ0t0RXBwbFRjTk1vRU9QWVh4NnJx?=
 =?utf-8?B?UWtPWGdjQWdobkFLVWpXcjhBT1ZYWG96N3NKVHBqN3d0b0tuZ2FlVHVIV0di?=
 =?utf-8?B?cHdHbnNPV0tKd291QjZkQnJPZGJhZHRVTWhKd25aUzRlUXBFUkJOam5QNE8w?=
 =?utf-8?B?M0EvOGZHZXFUUVNsL3RucitYQU9hRzJwM2tONGg4Qld1VU5oVC9RT2Eva2xw?=
 =?utf-8?B?ZkVvQ3FqQTFDcW83d05lQ3A2WDJyajBaa1V6R3IzbGUxYVdNaDBCeXN5S3dh?=
 =?utf-8?B?NXNzT21xUXpaazlra09MYkJQZEZsUCt3OEQ4STBhSlJqd3N3RTd1QnRXYlRV?=
 =?utf-8?B?STZ3ZndBRkdUM3ZkaWFIT2RMQ1RXY3J0WEtnakQwUmM5RGd3MnZEQS9xVkxn?=
 =?utf-8?B?cDR0MHdSRlpKWnFnbWFxSlN6ZUc5TVRyeUNkTTJ2SWthWkdTKzJJQ3BzVENI?=
 =?utf-8?B?SHhVS1lzOFJMNlhrU3ZmZG1VMEZ6U3VXcGZOTmVOMmgveVNzNUFLSitkTW1u?=
 =?utf-8?B?SDN5b05xeitjNGR0YUhZaDFwMEVyVnV0Y3B4Zzk3SHIwMk40L2ltWDFkeFZC?=
 =?utf-8?B?RnBpNmh3SlBTbk16bDRDYkcwN3AxUEJMTVhjNEtEejVyMjNiR0R4bnk0WXNV?=
 =?utf-8?B?ZXVrOWpMNGtMZmJYRnJVMkFyWlY2MnJkYkJobGU3ZkpYaUpsbEdOMHY0bE9I?=
 =?utf-8?B?SEgraGZrNE15T0VRL2FHaFJBUFkrU2ZTeGt4WnY0UTB6bmN5UzJkM0lZMVFp?=
 =?utf-8?B?T1BMSWVPYTRSOGdteWRqWDJ4YmV0NEVJc1l4bjUxZUoxanU1bDJWdUhDOElN?=
 =?utf-8?B?Sm1XSzJEZ3dka09aU0psSFJnaW5XdHNLZG9ackpHL01rVHRIT0pZMGZOOTRE?=
 =?utf-8?B?U2FiMCs5bUx4V1pWMFNqSFNvN1ZzbE01NGYzM0FyMVhvSHhpL3lSTmVUSXc2?=
 =?utf-8?B?OFFtNlZ0QmJrSk91Z0Z5Qy8zNjRncitOOGd0MjVmckU4UG13SXJuKzJ5VDRK?=
 =?utf-8?B?bWR6cHRRWDZQVkRvSlpOVVZXTzM5dDlsNWtrWHlKektlRmVoT1luNzV1UHB5?=
 =?utf-8?B?MG4xYmM4S3hZK1l4RHJjQ2JTek1tTUJMU1JPd09FMjI3TVgvVDJuZmovWEZ3?=
 =?utf-8?B?VUZidHZQRmhvYktTYWcrTlUvblRlN3VxTkR0YTRpdXFpUHlFOUZHMTZOR3I5?=
 =?utf-8?B?dG9YYUplQzRUYUgwK2U2cnNJYjRPdjViSEI3RTFydHV6V3h3NjREdXNOZ2oy?=
 =?utf-8?B?TERPZ1hZcnBVeVVsSEhnMk01WVNYRkwxOTRkS05acy80L2FLZHE0SGNkdkRI?=
 =?utf-8?B?b0ROcUVEWHgvR0tXRjl3SUdxaUMwRVdNMnZ0RTZ5eFlsMGxiL0NkUmZxL1Jw?=
 =?utf-8?B?Wlp2ZU5BVHJhYWlTZDZGQWVvK1V1NHdGOVJSN1FJOStFMTIrV3J3K2FzSm4w?=
 =?utf-8?B?Q044azhuVTEzU2VIOWFlKzVnc29RTDBFdy9EV1dWMlJRWHROa1BsR3dYV3NU?=
 =?utf-8?B?Umx4R1hJc2VlRkJ3V2dSdUgwRUZLNVpUaEhkYVVnTks4Y29CQ2E1bXZnMW9W?=
 =?utf-8?B?a2hXbHJnNDVaeWFlUjFLVUx6b2xjYldEcmE3R2YyL0dFR3U5Mm9FY3dBZ0o4?=
 =?utf-8?B?SlNCK2FQNGROV3BXTUE0VytHWERGK0hFV2hpVGV6MkRGSE82eEovNjRFWGp5?=
 =?utf-8?B?MlV2OE00U2ZZbUl1TXZRQUtrRGR6QlZ6RERpdzR3YlRFU3dHZWZhN0tZdXFy?=
 =?utf-8?B?MEswckxxMmJVY1kwbitNR0hEb1cySEl5ZDJxNXNpejgzTFdBa3laSVJPdVht?=
 =?utf-8?B?cmhNZDRQNFhwWlJRR3VSM3BGR3N5WVprcUhVcXRjYndUdmxnbXRlc2h5cnJT?=
 =?utf-8?B?aUNRM3pzc3pybi9XeXlOclp1LzVaOWpSN3k4YTF0a1ppN2VHU3lyRC96aW9a?=
 =?utf-8?B?cFdVWkNKNG1HRWpzd3ZNbG9SMXVtVVhEVHJxL2x3a204THpQMHVGb1JTT3Vv?=
 =?utf-8?B?S0VOcWNITVNnY2x6R0Z3SHB2YXhBbWpINlNOL0ZZZ2ZRZGMwclhveWtETThu?=
 =?utf-8?B?VCt4QzdmbWhad0FtNXIwR0I1MnBqVlhiZVV3ZnZNRG5BZ1BIUWY4UU1Jd3hQ?=
 =?utf-8?Q?btQzuK7tsgopO6w5fVmV1QvYc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 298722e0-c01c-41e1-d038-08dadc5a8757
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 16:04:20.3599
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /bC8izyTWHVFOiqM9UdGOfDjCT+xgx4dIsYTv8F7YQbNfvPA6z6dl/RPKflWh2fcniujQgrvQiS9Ea0cZ9/cVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9575

On 12.12.2022 16:18, Andrew Cooper wrote:
> On 12/12/2022 14:59, Jan Beulich wrote:
>> On 12.12.2022 15:27, Sergey Dyasli wrote:
>>> On Thu, Dec 8, 2022 at 3:34 PM Jan Beulich <jbeulich@suse.com> wrote:
>>>> On 08.12.2022 14:59, Andrew Cooper wrote:
>>>>> On 08/12/2022 13:26, Sergey Dyasli wrote:
>>>>>> @@ -240,20 +240,20 @@ static const struct microcode_patch *nmi_patch = ZERO_BLOCK_PTR;
>>>>>>   * patch is found and an error occurs during the parsing process. Otherwise
>>>>>>   * return NULL.
>>>>>>   */
>>>>>> -static struct microcode_patch *parse_blob(const char *buf, size_t len)
>>>>>> +static const struct microcode_patch *parse_blob(const char *buf, size_t len)
>>>>>>  {
>>>>>>      alternative_vcall(ucode_ops.collect_cpu_info);
>>>>>>
>>>>>> -    return alternative_call(ucode_ops.cpu_request_microcode, buf, len);
>>>>>> +    return alternative_call(ucode_ops.cpu_request_microcode, buf, len, true);
>>>>>>  }
>>>>>>
>>>>>> -static void microcode_free_patch(struct microcode_patch *patch)
>>>>>> +static void microcode_free_patch(const struct microcode_patch *patch)
>>>>>>  {
>>>>>> -    xfree(patch);
>>>>>> +    xfree((void *)patch);
>>>>> This hunk demonstrates why the hook wants to return a non-const
>>>>> pointer.  Keeping it non-const will shrink this patch quite a bit.
>>>> Alternatively it demonstrates why xfree() should take const void *,
>>>> just like e.g. unmap_domain_page() or vunmap() already do. We've
>>>> talked about this before, and the argument hasn't changed: Neither
>>>> unmapping nor freeing really alters the contents of the pointed to
>>>> area from the perspective of the caller, as the contents simply
>>>> disappears altogether.
>>> Despite my love of const, const correctness in C is quite a pain. I've
>>> tried to make xfree() take a const pointer but then issues began with
>>> add/strip_padding() functions and I couldn't overcome those without
>>> further (void *) casts which just takes the problem to a different
>>> layer.
>> There is exactly one such cast needed according to my attempt, and that's
>> in an internal (static) helper function. See below (and feel free to use).
>>
>> Jan
>>
>> mm: make a couple of freeing functions take const void*
>>
>> freeing functions, from the perspective of their callers, don't alter
>> contents of the freed block; the block simply disappears. Plus it is not
>> uncommon that some piece of memory is allocated, filled, and henceforth
>> supposed to only be read from. In such cases, with the parameters of the
>> freeing functions not being pointer-to-const, callers have to either
>> omit the use of const where it would be indicated or add risky casts.
>>
>> The goal being to make xfree() fit the intended pattern, alter other
>> functions at the same time to limit the number of casts needed to just
>> one. strip_padding() necessarily has to have a such a cast, as it's
>> effectively strchr()- or memchr()-like: Input may be pointer-to-const,
>> bot for its output to also be usable when the input isn't, const needs
>> to be cast away. Note that the risk with such a cast is quite a bit
>> lower when it's an internal (static) function wich is affected.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> If you can persuade the C standards committee that your interpretation
> of how to use const is more correct than theirs, and get them to change
> free() to take const void, then we can continue discussing this patch.
> 
> Until then, there's a damn good reason why free() takes a non-const
> pointer (nothing handed out by a memory allocator can ever be const, and
> it is never acceptable to free via a const alias), and contorted
> arguments about how its "technically fine" are missing the point.

"damn good" and "never acceptable" are strong statements, which will want
accompanying by actual technical content. It's not like I've invented
this "interpretation". But when I saw it elsewhere (I don't recall which
project(s) this was) I found it very reasonable, and hence I picked it up
to at least consider for stuff I'm working on.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 16:05:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 16:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459797.717575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lJ9-00030S-Qd; Mon, 12 Dec 2022 16:05:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459797.717575; Mon, 12 Dec 2022 16:05:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lJ9-00030L-Nd; Mon, 12 Dec 2022 16:05:35 +0000
Received: by outflank-mailman (input) for mailman id 459797;
 Mon, 12 Dec 2022 16:05:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2bIl=4K=templeofstupid.com=kjlx@srs-se1.protection.inumbo.net>)
 id 1p4lJ8-0002Uc-AS
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 16:05:34 +0000
Received: from black.elm.relay.mailchannels.net
 (black.elm.relay.mailchannels.net [23.83.212.19])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cc3259c4-7a36-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 17:05:32 +0100 (CET)
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 80EBA640EAA
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 16:05:28 +0000 (UTC)
Received: from pdx1-sub0-mail-a306.dreamhost.com (unknown [127.0.0.6])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 0F959641BE5
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 16:05:28 +0000 (UTC)
Received: from pdx1-sub0-mail-a306.dreamhost.com (pop.dreamhost.com
 [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384)
 by 100.103.24.106 (trex/6.7.1); Mon, 12 Dec 2022 16:05:28 +0000
Received: from kmjvbox (c-73-70-108-208.hsd1.ca.comcast.net [73.70.108.208])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 (Authenticated sender: kjlx@templeofstupid.com)
 by pdx1-sub0-mail-a306.dreamhost.com (Postfix) with ESMTPSA id 4NW60k3gsBz3K
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 08:05:26 -0800 (PST)
Received: from johansen (uid 1000) (envelope-from kjlx@templeofstupid.com)
 id e0062 by kmjvbox (DragonFly Mail Agent v0.12);
 Mon, 12 Dec 2022 08:05:24 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc3259c4-7a36-11ed-91b6-6bf2151ebd3b
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1670861128; a=rsa-sha256;
	cv=none;
	b=MsWZ/aGXTmBi1PNHHjiFtZC3heWeHj8sFhzjs9rcu7L8oGvAW6yDEcnkyvfLZUN5fS02Qq
	vSa6Wyp1/cyHIhV4EPfTpcF1TaFYNlAD93zhGfOIf8iKnEldLhC72J/vl/NrHmsVbDeNc0
	EpJJ/r9io8sQ4HY6e3VFL+J44rV2umYFdpfF3ZqaHp+/ooLflqQ+8TTFv7izfOyYZcHvRI
	gEwEE7Bdh3FwGykfRH2n3UrrvP8PLCpmgKwBzJTFzdsC3OvIp0ifZrkpiFC0x7q+eprdxF
	fC3w044UghJjmwU5veobgwBzIo/D+SEsu2vTli0PXmp0TQptHFMPyRxRaHZjqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
 d=mailchannels.net;
	s=arc-2022; t=1670861128;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:dkim-signature;
	bh=eTQuoFAvDCg5Wk/HY/QA0RgQaxrFIn7prIyIP8P5BA8=;
	b=90U2dSA1XmxK/zKKqCYqtDS/pduhO49jUUBHv44rwVIwajujsIaikN02nPh12bQLNaTDsb
	NvVsfchnjI8dmsxGPa2zkIysMLZ28twqm6CY85+ek2DuqWLh49qXDvfUioIFMWFv/GP0QG
	GeyttXOHEfRB44zMa/zFEzDmmnYAKqy6Z2lDD1x3R5k1ohPcQNnHLWTAm2KdZfDVwP7uBe
	hvFT96xjdMzG5j1D2x1f5wRcJjZR8SJqt4PEMr73y2Pc/s4kNwjMNOJBR2/eLJQk132Rmf
	RR18kBSJoK3NP3GjYJkFdW+RMTU0luQwBrZ4Y+3p+smX9sE2Q4UbwgAt4fjhrA==
ARC-Authentication-Results: i=1;
	rspamd-d48c5ddb-fm2bt;
	auth=pass smtp.auth=dreamhost smtp.mailfrom=kjlx@templeofstupid.com
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MailChannels-Auth-Id: dreamhost
X-Glossy-Imminent: 6f7087427083609a_1670861128347_3061564259
X-MC-Loop-Signature: 1670861128347:1737159212
X-MC-Ingress-Time: 1670861128347
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=templeofstupid.com;
	s=dreamhost; t=1670861126;
	bh=eTQuoFAvDCg5Wk/HY/QA0RgQaxrFIn7prIyIP8P5BA8=;
	h=Date:From:To:Cc:Subject:Content-Type;
	b=nmfTdh0MzhuVwJ4HwvjvorQHBgs0vj8eAOA6Ul9XT0o9zbmCyMKLpERyPCXvWY5Sl
	 +GTlDaQAuN/IcaYEqih+UE1AfZ60EsMYkaSz5YppWsdHLEmzU7g8CpMn3b7ptm6dVN
	 rZxPYrOPp7HZtQInZgk1DLHwGsyCR+nRHNf5LfEw=
Date: Mon, 12 Dec 2022 08:05:24 -0800
From: Krister Johansen <kjlx@templeofstupid.com>
To: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Anthony Liguori <aliguori@amazon.com>,
	David Reaver <me@davidreaver.com>,
	Brendan Gregg <brendan@intel.com>
Subject: [PATCH linux-next v2] x86/xen/time: prefer tsc as clocksource when
 it is invariant
Message-ID: <20221212160524.GB1973@templeofstupid.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
 <20221212155730.GA1973@templeofstupid.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20221212155730.GA1973@templeofstupid.com>

Kvm elects to use tsc instead of kvm-clock when it can detect that the
TSC is invariant.

(As of commit 7539b174aef4 ("x86: kvmguest: use TSC clocksource if
invariant TSC is exposed")).

Notable cloud vendors[1] and performance engineers[2] recommend that Xen
users preferentially select tsc over xen-clocksource due the performance
penalty incurred by the latter.  These articles are persuasive and
tailored to specific use cases.  In order to understand the tradeoffs
around this choice more fully, this author had to reference the
documented[3] complexities around the Xen configuration, as well as the
kernel's clocksource selection algorithm.  Many users may not attempt
this to correctly configure the right clock source in their guest.

The approach taken in the kvm-clock module spares users this confusion,
where possible.

Both the Intel SDM[4] and the Xen tsc documentation explain that marking
a tsc as invariant means that it should be considered stable by the OS
and is elibile to be used as a wall clock source.  The Xen documentation
further clarifies that this is only reliable on HVM and PVH because PV
cannot intercept a cpuid instruction.

In order to obtain better out-of-the-box performance, and reduce the
need for user tuning, follow kvm's approach and decrease the xen clock
rating so that tsc is preferable, if it is invariant, stable, the
guest is a HVM or PVH domain, and the tsc is not emulated.

[1] https://aws.amazon.com/premiumsupport/knowledge-center/manage-ec2-linux-clock-source/
[2] https://www.brendangregg.com/blog/2021-09-26/the-speed-of-time.html
[3] https://xenbits.xen.org/docs/unstable/man/xen-tscmode.7.html
[4] Intel 64 and IA-32 Architectures Sofware Developer's Manual Volume
    3b: System Programming Guide, Part 2, Section 17.17.1, Invariant TSC

Signed-off-by: Krister Johansen <kjlx@templeofstupid.com>
Code-reviewed-by: David Reaver <me@davidreaver.com>
---
v2:
  - Use cpuid information to determine if tsc is emulated.  Do not use tsc as
    clocksource if it is. (feedback from Boris Ostrovsky)
  - Move tsc checks into their own helper function
  - Add defines for tsc cpuid flags needed by new helper function.
---
 arch/x86/include/asm/xen/cpuid.h |  6 +++++
 arch/x86/xen/time.c              | 43 +++++++++++++++++++++++++++++++-
 2 files changed, 48 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/xen/cpuid.h b/arch/x86/include/asm/xen/cpuid.h
index 6daa9b0c8d11..d9d7432481e9 100644
--- a/arch/x86/include/asm/xen/cpuid.h
+++ b/arch/x86/include/asm/xen/cpuid.h
@@ -88,6 +88,12 @@
  *             EDX: shift amount for tsc->ns conversion
  * Sub-leaf 2: EAX: host tsc frequency in kHz
  */
+#define XEN_CPUID_TSC_EMULATED       (1u << 0)
+#define XEN_CPUID_HOST_TSC_RELIABLE  (1u << 1)
+#define XEN_CPUID_RDTSCP_INSTR_AVAIL (1u << 2)
+#define XEN_CPUID_TSC_MODE_DEFAULT   (0)
+#define XEN_CPUID_TSC_MODE_EMULATE   (1u)
+#define XEN_CPUID_TSC_MODE_NOEMULATE (2u)
 
 /*
  * Leaf 5 (0x40000x04)
diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
index 9ef0a5cca96e..4100b1c3f38d 100644
--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -20,6 +20,7 @@
 #include <asm/pvclock.h>
 #include <asm/xen/hypervisor.h>
 #include <asm/xen/hypercall.h>
+#include <asm/xen/cpuid.h>
 
 #include <xen/events.h>
 #include <xen/features.h>
@@ -474,15 +475,55 @@ static void xen_setup_vsyscall_time_info(void)
 	xen_clocksource.vdso_clock_mode = VDSO_CLOCKMODE_PVCLOCK;
 }
 
+/*
+ * Check if it is possible to safely use the tsc as a clocksource.  This is only
+ * true if the domain is HVM or PVH, the hypervisor notifies the guest that its
+ * tsc is invariant, and the tsc instruction is not going to be emulated.
+ */
+static int __init xen_tsc_safe_clocksource(void)
+{
+	u32 eax, ebx, ecx, edx;
+
+	if (!(xen_hvm_domain() || xen_pvh_domain()))
+		return 0;
+
+	if (!(boot_cpu_has(X86_FEATURE_CONSTANT_TSC)))
+		return 0;
+
+	if (!(boot_cpu_has(X86_FEATURE_NONSTOP_TSC)))
+		return 0;
+
+	if (check_tsc_unstable())
+		return 0;
+
+	cpuid(xen_cpuid_base() + 3, &eax, &ebx, &ecx, &edx);
+
+	if (eax & XEN_CPUID_TSC_EMULATED)
+		return 0;
+
+	if (ebx != XEN_CPUID_TSC_MODE_NOEMULATE)
+		return 0;
+
+	return 1;
+}
+
 static void __init xen_time_init(void)
 {
 	struct pvclock_vcpu_time_info *pvti;
 	int cpu = smp_processor_id();
 	struct timespec64 tp;
 
-	/* As Dom0 is never moved, no penalty on using TSC there */
+	/*
+	 * As Dom0 is never moved, no penalty on using TSC there.
+	 *
+	 * If it is possible for the guest to determine that the tsc is a safe
+	 * clocksource, then set xen_clocksource rating below that of the tsc so
+	 * that the system prefers tsc instead.
+	 */
 	if (xen_initial_domain())
 		xen_clocksource.rating = 275;
+	else if (xen_tsc_safe_clocksource())
+		xen_clocksource.rating = 299;
 
 	clocksource_register_hz(&xen_clocksource, NSEC_PER_SEC);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 16:07:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 16:07:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459806.717586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lLJ-0003dU-7H; Mon, 12 Dec 2022 16:07:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459806.717586; Mon, 12 Dec 2022 16:07:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lLJ-0003dN-3f; Mon, 12 Dec 2022 16:07:49 +0000
Received: by outflank-mailman (input) for mailman id 459806;
 Mon, 12 Dec 2022 16:07:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4lLH-0003dF-MT
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 16:07:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4lLH-0002n0-9X; Mon, 12 Dec 2022 16:07:47 +0000
Received: from [54.239.6.188] (helo=[192.168.19.227])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4lLH-0001Ne-3A; Mon, 12 Dec 2022 16:07:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ajH7b8aq1sNn1CazpuBJ9WcXeLk6JjnmKYxVfz1lrLA=; b=QafT3OPjLWUbJ3ZLbMzrLLdr7H
	LIk5daEIwTfKw6lSuFiWovMDITkJNcgaW3RnVqJS3nScIavRzodb+wrqXMSuuLeb6B9O7rrzREY8T
	tPGiYkPdf7nvR6GvOHhhNhFhDASeMCi4OZ5NKFHdvxh/w55WZmjoTzdJSedvrjj/xumk=;
Message-ID: <19f2def6-89ac-4cb3-9cfc-78351e9b5bde@xen.org>
Date: Mon, 12 Dec 2022 16:07:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH] xen/arm: smmuv3: remove unused function
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212160031.31590-1-stewart.hildebrand@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221212160031.31590-1-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stewart,

On 12/12/2022 16:00, Stewart Hildebrand wrote:
> When building with clang 12 and CONFIG_ARM_SMMU_V3=y, we observe the
> following build error:
> 
> drivers/passthrough/arm/smmu-v3.c:1408:20: error: unused function 'arm_smmu_disable_pasid' [-Werror,-Wunused-function]
> static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
>                     ^
> 
> Remove the function.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> ---
> There is also a definition of arm_smmu_disable_pasid() just above,
> guarded by #ifdef CONFIG_PCI_ATS. Should this one be removed too? It
> might be nice to keep this definition for ease of backporting patches
> from Linux, but if we ever plan on supporting PCI_ATS in Xen this may
> need to be re-visited.

Given the function is not called at all, I think this is a bit odd to 
remove the stub but leave the implementation when CONFIG_PCI_ATS is defined.

Rahul, do you plan to use it in the PCI passthrough code? If yes, then I 
would consider to use __maybe_unused.

> 
> This is a candidate for backport to 4.17, 4.16, and possibly 4.15,
> although 4.15 has other issues with clang 12.

The SMMUv3 is a tech preview feature. So we don't usually backport 
fixes. I don't see any reason to diverge here.

Also, note that 4.15 is in any case only security supported since 
October 2022. So such patch would not qualify for backport.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 16:25:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 16:25:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459823.717596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lc8-0006VR-Lk; Mon, 12 Dec 2022 16:25:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459823.717596; Mon, 12 Dec 2022 16:25:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lc8-0006VK-J2; Mon, 12 Dec 2022 16:25:12 +0000
Received: by outflank-mailman (input) for mailman id 459823;
 Mon, 12 Dec 2022 16:25:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4jqX=4K=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p4lc6-0006V6-VN
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 16:25:11 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2048.outbound.protection.outlook.com [40.107.21.48])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8bd15796-7a39-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 17:25:10 +0100 (CET)
Received: from AS8PR07CA0041.eurprd07.prod.outlook.com (2603:10a6:20b:459::31)
 by DB4PR08MB9286.eurprd08.prod.outlook.com (2603:10a6:10:3f6::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.7; Mon, 12 Dec
 2022 16:25:04 +0000
Received: from AM7EUR03FT004.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:459:cafe::ec) by AS8PR07CA0041.outlook.office365.com
 (2603:10a6:20b:459::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.9 via Frontend
 Transport; Mon, 12 Dec 2022 16:25:04 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT004.mail.protection.outlook.com (100.127.140.210) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.21 via Frontend Transport; Mon, 12 Dec 2022 16:25:03 +0000
Received: ("Tessian outbound 58faf9791229:v130");
 Mon, 12 Dec 2022 16:25:03 +0000
Received: from 818f2a7d8fe0.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4940C4F1-E30D-4778-9B09-DE6F5B21C0F9.1; 
 Mon, 12 Dec 2022 16:24:54 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 818f2a7d8fe0.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 12 Dec 2022 16:24:54 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by PAWPR08MB9711.eurprd08.prod.outlook.com (2603:10a6:102:2ee::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.9; Mon, 12 Dec
 2022 16:24:49 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5924.009; Mon, 12 Dec 2022
 16:24:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8bd15796-7a39-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=53OAeRwYVC6vgyPiJHR5Y2eg9PWA4qO7/4xHUd4scMo=;
 b=ZQ1h7L7AoKV54yJv4qwwrSczIrE/sCfy0vxrlD+YgRjUMnbscX0m5g2Z/sEvqmzncEC5Z0d+dzxeeJJeLCV84hDJWA4oJxXN1M4OUObCA3ZnIqhfzGRhZLdHIg2/rRd3KmglEEfhJRGf90Y5lesT1M5YEf0pV/L/ODXSpwRtrNM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 30da48d40377210f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OZA3Mz8Byfk/86uhR5aMuysrGGgMhGw/MfiptdxucRiknYPJ9vqxJSrThY4DoKXs1rP5WQKU8YW9++7knGhWBl1htlJ8lJ/B0OPM4iNYw/2omD7ErUiFXA1tcVTCBpHIuURhUGWKGu6EomzuzGq7zhuRToBq+9sgJiKSMRj14qduVgRHhSbUE8nEAL1jx7g9sQOPEURi8dmoSALfYTv+LRHbavew/MGXIjHb2SKvYDk+6JilT+wVnFULuoWjjsHEZY491+0MHqOlMaKNDhr8gacKxCthpbyqwQXrNhCONS7weapVfhj9+MSrCdmS3KfkSs+Eaogwp7GK3HuKhg54OQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=53OAeRwYVC6vgyPiJHR5Y2eg9PWA4qO7/4xHUd4scMo=;
 b=TXOCGNl2BWWSBSd1WWVv2Nx+U4harA2VDbtF3nAm3aChI1IS8s4Cxgr7GwfRpf78aaGpDgQDPQrmzHy2GPFM150toWNyWBDJt/zkGpLNcTfnvi3hr+l6CqMLV5oaZNuInPCIZNE/6lX/QCHWfb7jsocnNWmYu6zLhBONEW0Z6x1p3pOJMuTFHjxPGhBPGRHZsw6AKuDrr7ZJzCGyHnLywaR6oh4AvVCwW8TU6iM/HCLpTi/MgvTyPjXexA8WneiVGA3RDBWMJl1Qa65lIyRJQ8q0KqqHmm9ZTGJ4wTfilVG+XAwY2ioiEx8UxgoZX1tFr6m62JKGmOx1NT8EmJlozg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=53OAeRwYVC6vgyPiJHR5Y2eg9PWA4qO7/4xHUd4scMo=;
 b=ZQ1h7L7AoKV54yJv4qwwrSczIrE/sCfy0vxrlD+YgRjUMnbscX0m5g2Z/sEvqmzncEC5Z0d+dzxeeJJeLCV84hDJWA4oJxXN1M4OUObCA3ZnIqhfzGRhZLdHIg2/rRd3KmglEEfhJRGf90Y5lesT1M5YEf0pV/L/ODXSpwRtrNM=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Julien Grall <julien@xen.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm: smmuv3: remove unused function
Thread-Topic: [PATCH] xen/arm: smmuv3: remove unused function
Thread-Index: AQHZDkLuKaGYVILFF0WaGMCTZHqskK5qazYAgAAExIA=
Date: Mon, 12 Dec 2022 16:24:49 +0000
Message-ID: <32990D42-8944-4438-ACE6-A4884ED5E74B@arm.com>
References: <20221212160031.31590-1-stewart.hildebrand@amd.com>
 <19f2def6-89ac-4cb3-9cfc-78351e9b5bde@xen.org>
In-Reply-To: <19f2def6-89ac-4cb3-9cfc-78351e9b5bde@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7158:EE_|PAWPR08MB9711:EE_|AM7EUR03FT004:EE_|DB4PR08MB9286:EE_
X-MS-Office365-Filtering-Correlation-Id: 9686912f-dd1c-408f-b4a3-08dadc5d6c93
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 fQlRicABPcy19PCq8fLIoGIe2r36//uS0n9CtegJUA7SadfhJ8vX0YZDB2meeZyeLoWg05alX0LhrNU7aPLhrOBtTx7Pxl4P9d+X1x7dupT9KoEBMKJLNQrb8Hv9uJRVXi2QTh0VrIIPMx/7jvMS3sdxB0ftf/hcPAV0d3xc1XHuR2ZnrDnhz8/EvR3fQvFDeZq7ejqz1h1z45utHN5prNA6c1ORCM87r+udTFiL80TtUhXWnMULvnY6iC13keP3IxNcFEh7YdU3YF3uyay3fOlq3qs1s83lCIaHg1PD8WJX667gc5bTWw7apXuQiyskQfLvnE7cR6Kqw3m68dRvPfE7g+QM7UqVGgkMM+U1MbNG62dvucEc6vy+7CCSWeFMdohNX/yeta+gtStZYFstuQqThxMH6KpApNUkuI9s+sXyOBVNGaxSiHKtMMH4naBvdjCqiFCvYBH/bEenW+rA4xUFOqjwazZ9vvq7cGRBN1kRJz/94byhBgd05HVeQkBs5Lllf18ufkc5oUZzBgtWLvXs3lmZFShLJsBBzlqBMPsxGY3+UpTdROuN/C+5s2R3jR27HhLRBheZUtukWuuaxQ0M6RmFYTILZphX/J3prYYpUF2Gj64IDEY0WGC0wvrKsYNXsCmABPGhxY+FHrsGHriVcIkEdpnishhgaGIDbkk3+GLu/8mVJEfqGXHaDAD7xTQv6+W0BQ+JevgT42g5839BUAenxNCILGqczokP2bw=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(366004)(346002)(39860400002)(136003)(376002)(451199015)(36756003)(316002)(54906003)(6506007)(186003)(53546011)(26005)(6512007)(6486002)(6916009)(86362001)(33656002)(122000001)(66946007)(76116006)(64756008)(66476007)(66446008)(8676002)(38100700002)(4326008)(66556008)(41300700001)(2616005)(71200400001)(38070700005)(478600001)(5660300002)(91956017)(2906002)(8936002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <AFF4C4347845B14AABBED492FA45EBFC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9711
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a80f14e6-b9be-42e7-b8e9-08dadc5d6402
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ILyPAH8/4TSpXjM8etWPLUwDDRuSrwjW2RRZ84vBOXp02xujRjlJK5k+FIGWRDZgbVk0YAq22Jlj6OdE4gtW2PkCUo2LJaNSWSozbQbaHmvM7ytgGWG71AFKpf0bjKWn5shlvk+mc+AcuL5ffr8alqniKkmzrGNhXq4D+mLa/L0OsYcoWYktoOJGCAPbJkHV+uRRc4ppxcnrTIsIb8RgjMwd6Dt3wvqyLRr7UiQVVr7oBbjWCjAXs0GROqq9XsxmGsgFreb0ieqRw14o/lQbtMLYa7qOP4VO5nKgia/I1K7V/WExSidGgEPmqeHNKbqiWPuX89Q0V3rms/bUY2HBzYGE2ZrY3x4mKNoGuJdFpH2rpcK7N9pjIWC4iQ50JhHieWV85uVSnBK3ZQ1gzMZoSOp9t+TI++m7HA3veCDJk/BJSdRQWkKaii6mrxFrGOprFDe2dayvDN4PkrQO+0PnIEiqxUMkqffDB5kvq+zzTiqp8TUbQ8kktHarCq0ArMe5HxeNZk5RhcyVVG1Ch6ieEUQmNMxScIFhgt+97eBQdPYZMFn3ExIcyrsYPbpXJ6ekMKRYVnK+boSheo1N/A8ow6+UJPzQF3mv0BEutorLMvWK+5dJ4rbu538tG0lX9YpvHGnoxKTrv0i5nmCgMbcw78XOBWuMcyG+mNeLSNykU6zWkuNhFeN/YMXMMOmxdB2Sae2rEvl69od4MZUVtyczxA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(136003)(39850400004)(396003)(376002)(346002)(451199015)(40470700004)(46966006)(36840700001)(36756003)(86362001)(107886003)(8936002)(6862004)(82740400003)(33656002)(81166007)(53546011)(40460700003)(356005)(36860700001)(6486002)(54906003)(5660300002)(478600001)(41300700001)(47076005)(6506007)(316002)(4326008)(82310400005)(8676002)(70206006)(70586007)(2616005)(336012)(6512007)(40480700001)(186003)(26005)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 16:25:03.7566
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9686912f-dd1c-408f-b4a3-08dadc5d6c93
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT004.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB9286

Hi Julien,

> On 12 Dec 2022, at 4:07 pm, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Stewart,
>=20
> On 12/12/2022 16:00, Stewart Hildebrand wrote:
>> When building with clang 12 and CONFIG_ARM_SMMU_V3=3Dy, we observe the
>> following build error:
>> drivers/passthrough/arm/smmu-v3.c:1408:20: error: unused function 'arm_s=
mmu_disable_pasid' [-Werror,-Wunused-function]
>> static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master=
) { }
>>                    ^
>> Remove the function.
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> ---
>> There is also a definition of arm_smmu_disable_pasid() just above,
>> guarded by #ifdef CONFIG_PCI_ATS. Should this one be removed too? It
>> might be nice to keep this definition for ease of backporting patches
>> from Linux, but if we ever plan on supporting PCI_ATS in Xen this may
>> need to be re-visited.
>=20
> Given the function is not called at all, I think this is a bit odd to rem=
ove the stub but leave the implementation when CONFIG_PCI_ATS is defined.
>=20
> Rahul, do you plan to use it in the PCI passthrough code? If yes, then I =
would consider to use __maybe_unused.

No, this function will not be used in PCI passthrough code, but when we mer=
ged the SMMUv3 code from Linux at that time we
decided to have this code and gate with CONFIG_PCI_ATS so that in the futur=
e if someone wants to implement the PASID feature
will use these functions.

I also agree with Julien we would consider using __maybe_unused.

Regards,
Rahul=


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 16:29:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 16:29:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459833.717608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lgA-0007D3-6H; Mon, 12 Dec 2022 16:29:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459833.717608; Mon, 12 Dec 2022 16:29:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lgA-0007Cw-3O; Mon, 12 Dec 2022 16:29:22 +0000
Received: by outflank-mailman (input) for mailman id 459833;
 Mon, 12 Dec 2022 16:29:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8fsB=4K=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p4lg8-0007Cl-S2
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 16:29:20 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2074.outbound.protection.outlook.com [40.107.20.74])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 209e3107-7a3a-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 17:29:19 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8371.eurprd04.prod.outlook.com (2603:10a6:20b:3b2::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 12 Dec
 2022 16:29:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 16:29:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 209e3107-7a3a-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TT59R/E/mR+IZHi9A8SWUn/0pwV4dXceIqXLioIl4v8/8UENxVXqnGdjS5qiXSfE/oetsAqyn3I59w82N0VDL7XDZ5ALbjiE6vOOkcVKhcGKds+37DI8zYaPCZ0Ww6DFv8SbObyZJYhja6ROHZTy/jgarJRueQd6HTYzI6ujrC9NbZf3JIBkQg3FvxJLrLBuua0G3vZpPlLRm9te0IZzDRnuPaMALu0u2dQY48JZC6Ww8CpTF9KBI8mDYQqzdbEmXfOHHSbqUJkOP6gRfP843T9nbXNF8ln4+bPiBGY3PXRpkLsttCihwawkI+hRE7zHqDJdkDxNRv868u3tyoVxpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jCb978U2YiPzAdXBlNaAdlZq6ytl6kzLhTNf1dThXOU=;
 b=adR1KNgEdSwSmsBl98ax8V6y/ZSo85JPGML4M8kFPkl3EdXbMzebLQxxPeG4nw8iK3B7Il8qHRWDLr+f5VWAQDxfbjmOXKB9OUacUNcRimDSy3F723r0VFUfVgcyyPTt50DAnCzMZ7HQiICPmavpnXn9tfMiy7StwaKcXHyaPWoIjL6tnIh7sAUJmltNHQUXDweIbZh1V+782sHT/h26DD+OJx9vv1G8DWJeE8q2MVuphrCst5Z7oRs8ULYdbEBhG946CqJRoIaoGwyJHboe9wr5CnxasA/cQr7+JUVXoSC9DSfSXOYLCTZBgpdAefPfdyDikBaeKNRTmrP7zbRJSg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jCb978U2YiPzAdXBlNaAdlZq6ytl6kzLhTNf1dThXOU=;
 b=bXJCnPhVTF9tXidcGMVJh5uetPOA/ECls270NLBNiZLdJdwVhcaSUhHXhSLTRLDCZdQgS8kNfH1RFRG2Vca3rrvOATD9L3rGfuvgzCC2hHWVFxtYwS/YYurZDPWQPj1+xj+RVBIWnlBnTlDvzvWg9NO5Z6fcq7p+es8z48bCA3/HIuSPowQfq3CocLSPHAXTNh9HrnVfJwxfGr8+Td7vEQMUxI2Xxofjh0mYEHpmNwSPgjtWDeCvXg9jN2AyzqtLq7UxYr0sYyVHt5Xe/Q6cNpslr7p0ZUfIE5s3DT/TtfoM9hHEi7sQpHYIuyJW+yq6tH9Li08f2g7mIuB/gKs1pQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <89add6e4-e931-f5a9-29ae-6a8fffe0a952@suse.com>
Date: Mon, 12 Dec 2022 17:29:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 2/2] x86/ucode: load microcode earlier on boot CPU
Content-Language: en-US
To: Sergey Dyasli <sergey.dyasli@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20221208132639.29942-1-sergey.dyasli@citrix.com>
 <20221208132639.29942-2-sergey.dyasli@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221208132639.29942-2-sergey.dyasli@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0029.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::22) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8371:EE_
X-MS-Office365-Filtering-Correlation-Id: e92b8c1f-c655-4d0b-7d57-08dadc5e039f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	d2Q01OiNKTFUBWyK2cn6mpi6D5iA7nu5+MUObEvjURrFUmxFliHQEETjvaePRFTSJYhjiRSmpveJ3VV+5aQnC8DdF7DT199RLAjdamZ73DIT8kriNCNzhEaJKt94wKpzRm+yQM35MCUxMu6bLeaIjz6bz7/bocaGq/Q0zODsDTpXDZSUyKt71Lrt1hpfKhg7dOsscUStr7zlod6Ox6h0uwRzlyHhJt9KyVY8HadvGxCTagsvXl/1PRM4IQ2kYnGSOUbHuEvDx7mIpn7VHW0W+vNmyItO7GiNU33v7HJ9G2ULVjPPpldsw9M55LizRPQESY4s2RQ6h02xOr/2ArW0ZevmrzGG8AYUnddouuZBFhSgftdewoFKUBx00Xrs9xD9QnPVXDeZ2Adln/rgQ0X2ldfc1l7oLsEmAlvgYO7YCwshLQL/Idrxc9U8M2Z4IP7oEjygxnyzK6/C/nfv3XN1nuTfeg6jm182MqPNgJQoDlWAN8/Q6LdTyVBWyy+LtEI6aQDpGnhyvVpnodgy7AC4UDi9zB00ab2jyw0FALQ5aaIIA4MrLCmkC1GDpPt7wOFwE7PE0/5gdH+emlT7wi3MSTnY4ExZj/gO+7C3Ca+LRskk3a1CBndsrKAUIbPR2XW1YpP6ncdRXvGO97cUYjwAbhGT+yStGoFpjwTrfCP2C6Rn1QMuGkFfKWiwIZqtUXu+8JLFQ/5PXv3pWCG5klEpY/TBsz6LBnzUmf5F9G3xFPk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(396003)(39860400002)(346002)(136003)(376002)(451199015)(2906002)(6486002)(36756003)(41300700001)(6506007)(186003)(478600001)(316002)(26005)(54906003)(86362001)(2616005)(6512007)(31696002)(8676002)(66556008)(4326008)(66946007)(53546011)(6916009)(66476007)(5660300002)(83380400001)(31686004)(38100700002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZnpqaUZlbTJrRjRNY1hibko0SzJpbG5QL1JhRzY5Vkg1Wmc3em1EUFRuT0xp?=
 =?utf-8?B?KzdGN29obWx5ZnhhZ2d3QjFzVmlrVHdMUjFsS0V3UlM0UHgxY3Z0anRXU01D?=
 =?utf-8?B?T09UM1NrQVhSb24rcFd3Nm4wOFNxNXUwR1MxT3lLVml2NHlWcWp0NnpvWVFP?=
 =?utf-8?B?QmpxSXdEQVZhb3VTem1XWHhZL2duSVc3RzJUajRURnhFbUM4UmsvU1ZnNHRm?=
 =?utf-8?B?Q3ZGeFJCanZnOERRaUhYZnFuOWYxUWw5TUdVNGNKYTJwQ0IzZjBGbEQzVXJX?=
 =?utf-8?B?VWFUUU1Jakd2cXZlbHlZaHZsTmhTWE5iYU9lOTFyUXVHR2RxNGR2TENHQlpk?=
 =?utf-8?B?ZUpoUlBmSkt4THQvd0RBNXBSZXdpYzU5L3VWd2k4M09IVHA5eXBmNzFWYVVt?=
 =?utf-8?B?YWV6VGQ0Z0sxYk5CY1BYdG9sS01USDBEekxseXo0eTJ6eXM1S3oyZGxmdWk4?=
 =?utf-8?B?UFRoVVdoOG9mR0ZVTnpybDlBYUx3cEFUOFN5Y2o0NHAzTm9hUUxRNnhWcHFu?=
 =?utf-8?B?SWdxeTlpT3RHS0pRdHZqUmN2elR3QjN3NVRESFEzdjJkUkFMdVlBVkpOZjU5?=
 =?utf-8?B?TmhiaWlXQ1hpaTN3Tm5EcEcxVk5iUElqUTUwcVBIenJrbWluQjhRWTZGV0h0?=
 =?utf-8?B?ZjB6cVowdE44R1FWVjVDL09Ra0RzT2Z6TVRtSTRub1JwV3czV0V3aE5OU0Js?=
 =?utf-8?B?VUNSVUU3SjZxOXppNm9YOEVMb1RuakZidWgrc2pjYTMwV1M1K2l5bmlubVk1?=
 =?utf-8?B?Z21WRzVZS0l0czFZOUJlZVh0WkkvWVYyUGJqcVptZE5SL2NTMElMOG5CWkJI?=
 =?utf-8?B?SmRpQ2I4RU9BUzU5MXZGNm1kVEZwL2RzZ2xmem5VVzhDOE42eFhkME5iYUhX?=
 =?utf-8?B?ZWNwa3UrVkxNNGkvdWkxVGJXQjVEMmJkcmREYkFFMk9MeTZxdjhmZFhiV2lT?=
 =?utf-8?B?eldqcTMvdEQ1Y0hDNnAxQSt4MExxZVVlcG4yZU1Gd3NGbHJVdmt4cklWZzRa?=
 =?utf-8?B?UjFPVjFEalJxWVF5OVJvK2M1TTV5a0k2SzN4UFMwc0JyY2lmeGpVYUFyTXBT?=
 =?utf-8?B?TkZ1TmhFaTFkSXhhM0lWazgrc2dOOWYvUGJBdFVweVREUEsyQU50bDI1L2lS?=
 =?utf-8?B?N0U1bmV3WjdSQlhwT0hwSjYwWnl4cnBLQUlEa3UvUHNUeTU2cy93SnE1R01Q?=
 =?utf-8?B?SzJUNUhyVXgrcFY5NUhlaUFOOW1zNXhMOXZ3cnVsUUROa3RWcjlTMlpHdXB6?=
 =?utf-8?B?Z24yWUlPRFRTOWdhaEdsRG84eCthREw5blE1TEVOYWRGQVhRUmNFWmh4a2Zk?=
 =?utf-8?B?WngwWVM2VDlNZHkxR0FDSGJubFR4ZVNGczhKSGJDR0Y0NFpXSFREdXowUW43?=
 =?utf-8?B?b0VHalNnSWxoZW8xQWdoTUVqOXl6TlNtdi92Z01KZDZrV3NWbW1XclBoakJ5?=
 =?utf-8?B?ZWx2dmpyOXdMVktVd2ZqZG5zaW5ySjFWOGJIRmw5NW9TVHJ6L25CMDFXcDZ2?=
 =?utf-8?B?VXBIaDZuTlNZVUZFdGt2M244KzAzbnlIYXFCVzdHQ3h5UHFPSHdmbG9IcGJp?=
 =?utf-8?B?S3Y5dXpxK050Rm5sSHA5VmZlYmRwQ3BKcU1PZ0ZLQmpJMEtuYTM3WktWQWJw?=
 =?utf-8?B?QURuMmdaU20vNWlWSHgwbCszZ1FOTkJVY3VqTVFta3FuZURickZUQ2p1Znky?=
 =?utf-8?B?R3JYdzhhRytER3pWSHcyc0FRWk1nYnQ2Z3d3b3ZWNEsrbG1sT0p1SEpld2Ey?=
 =?utf-8?B?amVNbkJYM0V4WC8yL3M2WWtaUXczeXBnenpLaUhJRFZVRUlTUVFzTjlZVVNJ?=
 =?utf-8?B?SzhJVE1QOVUwNXV6TWZhYllSTExQdjVMSC9KOGZ4ejRUcGRJUHNSK21YcFBJ?=
 =?utf-8?B?ZGZOMHphUUhtNmZOV3BsT3E2cU44NEs4Ry8va2dQVUpydW1aWjBOYzNRSk1E?=
 =?utf-8?B?YmN4ZnBXMXhRSHdCWWsxVVlOUnhkUTExU0xaUmZ1WGY3U2RHbUhXa2lFaGE4?=
 =?utf-8?B?bGlzS0I5MTE1U3c4aDgyUDI5dGZKZ2pxc1lESVlhN3RseXJsdTFwTTkrbEJQ?=
 =?utf-8?B?MnNYajhoMG9XTkRhODAzUEZoNktYZ1FaYU1ZbTdjeGYxUDlPQm90UDhFQlBv?=
 =?utf-8?Q?a30EqVVHpc+QhZNLPCBMyoFmM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e92b8c1f-c655-4d0b-7d57-08dadc5e039f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 16:29:17.3260
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QM3FDap3uIijyGcR7LM5kM8yVV0ecEu9zLMZ6v3fUKcsKebhpPwj+bpJXb6+5meWg5rpSm72JBIQ/vsy6sht8A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8371

On 08.12.2022 14:26, Sergey Dyasli wrote:
> --- a/xen/arch/x86/cpu/microcode/core.c
> +++ b/xen/arch/x86/cpu/microcode/core.c
> @@ -198,7 +198,7 @@ void __init microcode_scan_module(
>          bootstrap_map(NULL);
>      }
>  }
> -void __init microcode_grab_module(
> +static void __init microcode_grab_module(

May I ask that you take the opportunity and add the missing blank line
between the two functions?

> @@ -733,9 +733,35 @@ int microcode_update_one(void)
>  }
>  
>  /* BSP calls this function to parse ucode blob and then apply an update. */
> -static int __init early_microcode_update_cpu(void)

I think the comment wants to stay with its function. In fact I think you
simply want to move down ...

> +static int __init early_microcode_update_cache(const void *data, size_t len)
>  {

... this function, which strictly is a helper of early_microcode_init_cache()
(and, being a static helper, could imo do with having a shorter name).

> @@ -754,7 +780,9 @@ static int __init early_microcode_update_cpu(void)
>      if ( !data )
>          return -ENOMEM;
>  
> -    patch = parse_blob(data, len);
> +    alternative_vcall(ucode_ops.collect_cpu_info);
> +
> +    patch = alternative_call(ucode_ops.cpu_request_microcode, data, len, false);

I realize early_microcode_init() also uses alternative_vcall(), but I
doubt that of the two altcalls here are useful to have - they merely
bloat the binary afaict. Looking at Andrew's 8f473f92e531 ("x86/ucode:
Use altcall, and __initconst_cf_clobber") I also don't see any clear
justification - the __initconst_cf_clobber alone is sufficient for the
stated purpose, I think (as far as __init functions are concerned, of
course).

> @@ -765,15 +793,28 @@ static int __init early_microcode_update_cpu(void)
>      if ( !patch )
>          return -ENOENT;
>  
> -    spin_lock(&microcode_mutex);
> -    rc = microcode_update_cache(patch);
> -    spin_unlock(&microcode_mutex);
> -    ASSERT(rc);
> +    return microcode_update_cpu(patch);
> +}
> +
> +int __init early_microcode_init_cache(unsigned long *module_map,
> +                                      const multiboot_info_t *mbi)
> +{
> +    int rc = 0;
> +
> +    /* Need to rescan the modules because they might have been relocated */
> +    microcode_grab_module(module_map, mbi);

I'm afraid the function isn't safe to call twice; the only safe case looks
to be when "ucode=scan" is in use.

> --- a/xen/arch/x86/include/asm/microcode.h
> +++ b/xen/arch/x86/include/asm/microcode.h
> @@ -3,6 +3,7 @@
>  
>  #include <xen/types.h>
>  #include <xen/percpu.h>
> +#include <xen/multiboot.h>

I think dependencies like this are moving us in the wrong direction, wrt
our header dependencies nightmare. Could I talk you into adding a prereq
patch giving a proper tag to the struct which is typedef-ed to
multiboot_info_t, such that a forward declaration of that struct would
suffice ...

> @@ -21,7 +22,10 @@ DECLARE_PER_CPU(struct cpu_signature, cpu_sig);
>  
>  void microcode_set_module(unsigned int idx);
>  int microcode_update(XEN_GUEST_HANDLE(const_void), unsigned long len);
> -int early_microcode_init(void);
> +int early_microcode_init(unsigned long *module_map,
> +                         const multiboot_info_t *mbi);
> +int early_microcode_init_cache(unsigned long *module_map,
> +                               const multiboot_info_t *mbi);

... ahead of the two uses here?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 16:31:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 16:31:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459843.717618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lhr-0000BB-L4; Mon, 12 Dec 2022 16:31:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459843.717618; Mon, 12 Dec 2022 16:31:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lhr-0000B4-IF; Mon, 12 Dec 2022 16:31:07 +0000
Received: by outflank-mailman (input) for mailman id 459843;
 Mon, 12 Dec 2022 16:31:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4jqX=4K=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p4lhr-0000Ay-4Z
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 16:31:07 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2058.outbound.protection.outlook.com [40.107.249.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ff25534-7a3a-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 17:31:05 +0100 (CET)
Received: from DBBPR09CA0042.eurprd09.prod.outlook.com (2603:10a6:10:d4::30)
 by AS8PR08MB7696.eurprd08.prod.outlook.com (2603:10a6:20b:523::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.9; Mon, 12 Dec
 2022 16:31:03 +0000
Received: from DBAEUR03FT026.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:d4:cafe::16) by DBBPR09CA0042.outlook.office365.com
 (2603:10a6:10:d4::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19 via Frontend
 Transport; Mon, 12 Dec 2022 16:31:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT026.mail.protection.outlook.com (100.127.142.242) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.21 via Frontend Transport; Mon, 12 Dec 2022 16:31:03 +0000
Received: ("Tessian outbound b4aebcc5bc64:v130");
 Mon, 12 Dec 2022 16:31:03 +0000
Received: from 32c22159cb96.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FA861A72-E22E-489D-AB21-20071F6F8D93.1; 
 Mon, 12 Dec 2022 16:30:55 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 32c22159cb96.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 12 Dec 2022 16:30:55 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by PAWPR08MB9711.eurprd08.prod.outlook.com (2603:10a6:102:2ee::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.9; Mon, 12 Dec
 2022 16:30:47 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5924.009; Mon, 12 Dec 2022
 16:30:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ff25534-7a3a-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A7v0H9dM0cYnw02ADRWPxuNzWqTPlELM43gCakoW97A=;
 b=OJEzABvLwganX2MwCPaRhv9ZEdBq9b7jFMfCxaxgscgAUaSHfIBQEHhnI86dZ+CAaGo7lq4Mb9kG4pFXBfjBGqXGP28o3iBN8pAuJY2Z1JkBlRdHNLUpMwWQv+tFJbKH+cdZ2bu937bcsb6Cze6jqVMyrY4rXIzbEt1SpRfM3Wc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: e255d7a5928ccdea
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SFJIhIiV9RK/9Xz/q/rL8KXz3EwjssS7U+vDYnzh14z9hkimmzfxcnyhEfb0RK1khgzYJ+JwrnFK0EQhDu5jGPxVeZLGk6C6tNaBIChSxzpvSGzR/wrDmUXliHgJXdHEgUqgmNHhKV+nFeumoTFKAo1s2O3V+bvHsi5n6K+vgPEoJ6o6nesAoFKbDX7okR4gbAyWZCZ6Tyo65dVd4H0HuO4uKtK5CChzfQjHbnvsIkEZvv/ESf9TTRM9ukwD1CIs1cwzcXOp2FHLzMs7S7ttWeFLq9ExtU8hWbsGGPRSIzOWIbUTynqsXmf4cwdFfeSPK+rG2dnCYpgBdOE55VYmHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A7v0H9dM0cYnw02ADRWPxuNzWqTPlELM43gCakoW97A=;
 b=GCvbOF6WPmjNFSAmpzMrRM/YnT8wulbGml3avoKV/UNzMqoJKgjOhs+Urm68SLjFCPi94AMJJo+8pbQ4bDVJe4N4zADyluXDoIr8UqidV7s7wNDXHTIqfMVHLwKf0ZnT8Ajszi2u240LOzW8j9GzTOB9/q43zfvNk3o6Z0+mWfUDM6eviIZwNwbUq6TUqwzTCV92kc54SyJIUKsn5uQa1J43Y/gNnNKROvYda1B9JcGlN8n1QfUH88pHcQ/sIy1NVf/tQnKqIdbSpIxoqGC2Vc98C/p1IpK8Lz/8JtWxQn2aFNbUUpuV9G74X+DkGy1qmh8dH0PtLEkQrrrBlz7tYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A7v0H9dM0cYnw02ADRWPxuNzWqTPlELM43gCakoW97A=;
 b=OJEzABvLwganX2MwCPaRhv9ZEdBq9b7jFMfCxaxgscgAUaSHfIBQEHhnI86dZ+CAaGo7lq4Mb9kG4pFXBfjBGqXGP28o3iBN8pAuJY2Z1JkBlRdHNLUpMwWQv+tFJbKH+cdZ2bu937bcsb6Cze6jqVMyrY4rXIzbEt1SpRfM3Wc=
From: Rahul Singh <Rahul.Singh@arm.com>
To: sisyphean <sisyphean@zlw.email>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [BUG]Add PCIE devie to SMMUv3 fail
Thread-Topic: [BUG]Add PCIE devie to SMMUv3 fail
Thread-Index: AQHZC5XCObk04ipFEE+2cKVjhEnU1a5lUAQAgARztoCAALM7gA==
Date: Mon, 12 Dec 2022 16:30:47 +0000
Message-ID: <5BCFEC7E-85B6-4464-A2B1-EA08C6E2EB20@arm.com>
References: <793eb471-e68b-c3ff-52e8-20d77252c0bf@zlw.email>
 <A9FCD688-3CA2-484A-ADC1-F1235F18890F@arm.com>
 <75bbfc8c-b89f-9478-63af-c37fda0ad3c0@zlw.email>
In-Reply-To: <75bbfc8c-b89f-9478-63af-c37fda0ad3c0@zlw.email>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7158:EE_|PAWPR08MB9711:EE_|DBAEUR03FT026:EE_|AS8PR08MB7696:EE_
X-MS-Office365-Filtering-Correlation-Id: 18d90c19-7e48-4b70-6fdf-08dadc5e42b7
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 AtB00ZBnNlM0YR82sJZZClbvPngc1ifC3PTWjbRzgxu2E23MliA6p1/TJjZlcxIpPMRzAD5b7lDe0LH/EMuLWyU1UdSVJPCB+IBa6EIzrHfFYDa3IlRONQWZXVI2faiCaGGhxjr0MbA9uNws+gQ/6X2yxygybl6/x/NubI5n3UXBcsYyAUjrYI5pDVXbso6gF6D+Oys+lK+8qAlMsOCtsQCk1hoUxd8mJwrFgQXaf+xQvBaFGBdg3tWkxvv75Kkuo6aYtYXWkiYGgMQtJfGd/apUFIzhCbOjh3bk1aEocmkOZtkMqFehaXFINGtUrDSd64Bu095cKJhU9oUvPoendNd4klbeOhBLu+8JeQdJy0Vw0zSv7PTj8wosj4FDfqSIDgySy3cqvGgsohthH96aFaB+x6bpiKPK7C6IpPf+LzNhf1ZEQpQXQStpktCqwmB7BaEtu81hd/KygKP/CEtrvyUphhAD0hTuC5TJJqsGh7zrcxnVxg4VCAu695ZlfF9mONDXb9rTyzonJDNxqCKE8CA+eZ+ztFxWg3b+szyLB69UHF4PWjnzHyNrWDRYXKctXkzCCYz74edqXSrV6KB6SxylCS7+hmU7JNngavlwHMeS39VgwbRyfLRNHtzJzkd6lIIJOywXXjPO7c7MowbJCgTS37d2xb1Um81P/KlPki1p1P/+FpS2abxT32jAdMbt+Q9RXIt4n4PbklX14tSRjXHi2XAgydUgdfpcSRb60aup0fXHuWcS+qATtCsw+5sfnUR6x6yu46qAlHIcVbUSSQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(39860400002)(366004)(396003)(346002)(451199015)(966005)(86362001)(33656002)(83380400001)(6506007)(316002)(6916009)(53546011)(186003)(6486002)(26005)(6512007)(38070700005)(71200400001)(478600001)(41300700001)(2616005)(8936002)(2906002)(5660300002)(91956017)(66446008)(64756008)(66476007)(8676002)(4326008)(38100700002)(66556008)(76116006)(122000001)(66946007)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <EF797266F23F0B429425A6DE66D2ABF7@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9711
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT026.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	87c3cead-0786-402b-a853-08dadc5e3995
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FiPWWYExBm9UzFIFONDiWFuHQWMrGSnyerUbM/D7gva6nWe/bDwi5wZ6b9TaC7xUeXQsSFSeDzuT1IOBebdGvy6ogNVKDymfCpg4WPFRkXY5yMqsb8rUD+vFbPLOkZJS5F7LsQ7RUHtrLhXEwkaenDTKWBtodbKwpbkTn0mBxdQLpeot5tW60vjVy28tLhv8sEPct41iq8u8AEaig9CdDKL0zSD1k5gLIyLKku3HoY3wmKOBtittMPTBAuo/txG+y5ETmGNgLamJHIKUgyAqveMQF3sNePqHOf3Z4k6b4+AywXQHsUMuM4KbauLq8GCJeOraYIJGzYEo2WukewZU+EVVAaH1IVVV4WVGUlDuGnSWNDi/ZG7dlQ3lSF+N993bGFbXuzgaRUIw9FTcNIDe8gschr5hHwENbhRTAtc5sD1ICijo2aHAn3uzMRiTG+5ECsGdRvsHECb3BulThr27lz0SySqO0rC58+V7B5boOvtJwFp9F4At13yfrJiqpGCAprimzx91RtLrd8sUJ/Lbzjfc79fH+nYJj+MQ537uwQ9OHBnFU4Q45YXwNJ7TbSLtImWQ8nGyA4AGNI7lib2xoYJoeG9YQGWuYMYrpR0lafc1x7TM37/mWzMXIBt2nTc38Eit6pXZ0mAbx+hIYhj3bn1Ph6RPv3Gd5S8PO2Qx/AD4CS35TLEDOSoJIkrlo6XvdY5Dgk8HEx1SUrjAZVCO4pSA7t6u5oHTHLC9xKDWbF4=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(396003)(136003)(39850400004)(451199015)(40470700004)(36840700001)(46966006)(83380400001)(33656002)(40460700003)(2906002)(6486002)(478600001)(966005)(86362001)(40480700001)(36756003)(356005)(2616005)(36860700001)(82310400005)(81166007)(47076005)(82740400003)(336012)(8676002)(186003)(5660300002)(6506007)(26005)(53546011)(6512007)(8936002)(6862004)(316002)(4326008)(70206006)(41300700001)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 16:31:03.0701
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 18d90c19-7e48-4b70-6fdf-08dadc5e42b7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT026.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7696

SGkgU2lzeXBoZWFuLA0KDQo+IE9uIDEyIERlYyAyMDIyLCBhdCA1OjQ5IGFtLCBzaXN5cGhlYW4g
PHNpc3lwaGVhbkB6bHcuZW1haWw+IHdyb3RlOg0KPiANCj4gSGksDQo+IOWcqCAyMDIyLzEyLzkg
MTc6NTAsIFJhaHVsIFNpbmdoIOWGmemBkzoNCj4+IEhpIFNpc3lwaGVhbiwNCj4+IA0KPj4gPiBP
biA5IERlYyAyMDIyLCBhdCA2OjE1IGFtLCBzaXN5cGhlYW4gPHNpc3lwaGVhbkB6bHcuZW1haWw+
IHdyb3RlOg0KPj4gPiANCj4+ID4gSGksDQo+PiA+IA0KPj4gPiBJIHRyeSB0byBydW4gWEVOIG9u
IG15IEFSTSBib2FyZChTb3JyeSwgZm9yIHNvbWUgY29tbWVyY2lhbCByZWFzb25zLCBJIGNhbid0
IHRlbGwgeW91DQo+PiA+IG9uIHdoaWNoIHBsYXRmb3JtIEkgcnVuIFhFTikgIGFuZCBhZGQgUENJ
RSBkZXZpY2UgcGFzc3Rocm91Z2ggdG8gRG9tVS5CdXQgYW4gZXJyb3INCj4+ID4gb2NjdXJyZWQg
d2hpbGUgYWRkaW5nIHRoZSBQQ0lFIGRldmljZSB0byBTTU1VdjMuDQo+PiANCj4+IFBDSSBwYXNz
dGhyb3VnaCBzdXBwb3J0IGlzIG5vdCBmdWxseSB1cHN0cmVhbSB0byBYZW4gb24gQVJNLiBXZSBo
YXZlIHdvcmtpbmcNCj4+IFBDSSBwYXNzdGhyb3VnaCBicmFuY2ggdGhhdCB5b3UgY2FuIHVzZSB0
byB0ZXN0IGl0LiANCj4+IA0KPj4gaHR0cHM6Ly9naXRsYWIuY29tL3hlbi1wcm9qZWN0L2Z1c2Ev
eGVuLWludGVncmF0aW9uLy0vY29tbWl0cy9pbnRlZ3JhdGlvbi9wY2ktcGFzc3Rocm91Z2gNCj4+
IA0KPj4gPiANCj4+ID4gVGhyb3VnaCByZWFkaW5nIHRoZSBjb2RlIGFuZCB0cmFjaW5nIGRlYnVn
Z2luZywgdGhlIGVycm9yIGlzIGZvdW5kIGluIHRoZSBmdW5jdGlvbg0KPj4gPiBhcm1fc21tdV9h
ZGRfZGV2aWNlLCB3aGljaCB3aWxsIG9idGFpbiBhbmQgZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIGZ3
c3BlYyBvZiB0aGUNCj4+ID4gZGV2aWNlIHRvIGJlIGFkZGVkIHRvIFNNTVUgZXhpc3RzLkJ1dCBm
b3IgdGhlIFhFTiBvZiBhcm0sIHRoZSBmd3NwZWMgb2YgdGhlIGRldmljZSBpcw0KPj4gPiBjcmVh
dGVkIGFuZCBhZGRlZCBieSBqdWRnaW5nIHdoZXRoZXIgdGhlIGlvbW11IGZpZWxkIGV4aXN0cyBp
biB0aGUgZGV2aWNlIG5vZGUgd2hlbg0KPj4gPiBYRU4gcGFyc2VzIHRoZSBkZXZpY2UgdHJlZS5I
b3dldmVyLCB0aGUgUENJRSBkZXZpY2UgZG9lcyBub3QgYXBwZWFyIGluIHRoZSBkZXZpY2UgdHJl
ZSwNCj4+ID4gc28gdGhlcmUgd2lsbCBiZSBubyBmd3NwZWMgZm9yIGFsbCBQQ0lFIGRldmljZXMu
IFdoZW4gYXR0ZW1wdGluZyB0byBhZGQgYSBQQ0lFIGRldmljZSB0bw0KPj4gPiBTTU1VLCBhIEVO
T0RFViBlcnJvciB3aWxsIGJlIHJldHVybmVkLg0KPj4gDQo+PiBBcyBvZiBub3cgWGVuIGRvZXNu
4oCZdCBzdXBwb3J0IHRvIGFkZCBQQ0kgZGV2aWNlIHRvIElPTU1VIG9uIEFSTS4gDQo+PiA+IA0K
Pj4gPiBJbiBhZGRpdGlvbiwgdGhlIGNvZGUgYXQgeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNp
LmMgYWxzbyB2ZXJpZmllcyB0aGUgYWJvdmUgdmlldy4NCj4+ID4gRm9yIFBDSUUgZGV2aWNlcywg
cGRldiBpcyBhbGxvYyBpbiBmdW5jdGlvbiBwY2lfYWRkX2RldmljZSBieSBhbGxvY19wZGV2Lkhv
d2V2ZXIsDQo+PiA+IHRoZSBmdW5jdGlvbiBhbGxvY19wZGV2IGRvZXMgbm90IGNyZWF0ZSBhbmQg
YWRkIGZ3c3BlYyB0byB0aGUgUENJRSBkZXZpY2UuVGhlcmVmb3JlLA0KPj4gPiB3aGVuIGZ1bmN0
aW9uIHBjaV9hZGRfZGV2aWNlIGV4ZWN1dGVzIHRvIGlvbW11X2FkZF9kZXZpY2UsaXQgd2lsbCBn
ZXQgdGhlIGVycm9yDQo+PiA+IHJldHVybiBvZiBFTk9ERVYuDQo+PiA+IA0KPj4gPiBIb3cgY2Fu
IEkgcmVzb2x2ZSB0aGUgYWJvdmUgZXJyb3JzPw0KPj4gDQo+PiBJZiB5b3Ugd2FudCB0byB0ZXN0
IHRoZSBQQ0kgcGFzc3Rocm91Z2ggcGxlYXNlIGZvbGxvdyBiZWxvdyBzdGVwcy4NCj4+IA0KPj4g
WGVuIHNldHVwOg0KPj4gICAgIOKAoiBBIGNoZWNrb3V0IG9mIHRoZSDigJxpbnRlZ3JhdGlvbi9w
Y2ktcGFzc3Rocm91Z2jigJ0gYnJhbmNoIGZyb20gdGhlICBnaXRsYWIgaHR0cHM6Ly9naXRsYWIu
Y29tL3hlbi1wcm9qZWN0L2Z1c2EveGVuLWludGVncmF0aW9uLy0vY29tbWl0cy9pbnRlZ3JhdGlv
bi9wY2ktcGFzc3Rocm91Z2gNCj4+ICAgICDigKIgUGFzcyBpb21tdT15ZXMgIGFuZCBwY2ktcGFz
c3Rocm91Z2g9b24gdG8gWGVuIGNvbW1hbmQgbGluZSB0byBlbmFibGUgUENJIHBhc3N0aHJvdWdo
Lg0KPj4gDQo+PiAgTGludXggS2VybmVsIHNldHVwOg0KPj4gIA0KPj4gICAgIOKAoiBTb21lIGNo
YW5nZXMgYXJlIHJlcXVpcmVkIGZvciB0aGUga2VybmVsIHRvIHdvcmsgd2l0aCBQQ0kgcGFzc3Ro
cm91Z2guIEZpcnN0IGFyZSBzb21lIGNvbmZpZ3VyYXRpb24gb3B0aW9ucywgZW5hYmxlIHRoZW0g
aW4ga2VybmVsIGNvbmZpZy4NCj4+ICAgICAgICAgIENPTkZJR19YRU49eQ0KPj4gICAgICAgICAg
Q09ORklHX1hFTl9CQUNLRU5EPXkNCj4+ICAgICAgICAgIENPTkZJR19YRU5fUENJREVWX0JBQ0tF
TkQ9eQ0KPj4gICAgIOKAoiBUaGVuIGEgcGF0Y2ggbmVlZHMgdG8gYmUgYXBwbGllZCBmb3IgZW5h
YmxpbmcgdGhlIHBjaWJhY2sgZHJpdmVyLiBQYXRjaCBpcyBhdHRhY2hlZCBpbiB0aGlzIGVtYWls
Lg0KPj4gIA0KPj4gVXNpbmcgUENJIHBhc3N0aHJvdWdoOg0KPj4gIA0KPj4gICAgIOKAoiBJbiBv
cmRlciB0byBwYXNzIGEgZGV2aWNlIHRvIGEgZ3Vlc3QsIHlvdSBmaXJzdCBuZWVkIGl0cyBQQ0kg
YWRkcmVzcyhTQkRGKS4gWW91IGNhbiBlaXRoZXIgZ2V0IGl0IGZyb20gYSBiYXJlLW1ldGFsDQo+
PiAgICAgICBMaW51eCBydW5uaW5nIG9uIHRoZSBwbGF0Zm9ybSBvciBieSBoYXZpbmcgcGNpdXRp
bHMgIGluc3RhbGxlZCAoaWYgeW91IGFyZSB1c2luZyBhIHlvY3RvLWJhc2VkIGRvbTAgb3IgaGF2
ZSBhcHQgYXZhaWxhYmxlKSwgd2hpY2ggcHJvdmlkZXMgbHNwY2kuDQo+PiAgDQo+PiAgICAgIEZv
ciBleGFtcGxlLCBsZXQncyBwYXNzIG9uZSBldGhlcm5ldCBpbnRlcmZhY2UgdG8gdGhlIGd1ZXN0
LiBSdW5uaW5nIGxzcGNpIGdpdmVzIHVzIHRoaXMgb3V0cHV0ICh0cnVuY2F0ZWQpIDoNCj4+ICAg
ICAgICAwMDAwOjAwOjAwLjAgSG9zdCBicmlkZ2U6IEFtcGVyZSBDb21wdXRpbmcsIExMQyBEZXZp
Y2UgZTEwMA0KPj4gICAgICAgIDAwMDA6MDA6MDEuMCBQQ0kgYnJpZGdlOiBBbXBlcmUgQ29tcHV0
aW5nLCBMTEMgRGV2aWNlIGUxMDEgKHJldiAwNCkNCj4+ICAgICAgICAwMDAwOjAxOjAwLjAgRXRo
ZXJuZXQgY29udHJvbGxlcjogSW50ZWwgQ29ycG9yYXRpb24gRXRoZXJuZXQgQ29udHJvbGxlciBY
NzEwL1g1NTctQVQgMTBHQkFTRS1UIChyZXYgMDEpDQo+PiAgICAgICAgICAgICAgICBbLi4uXQ0K
Pj4gIA0KPj4gICAgICBXZSB3aWxsIHBhc3Mgb25lIG9mIHRoZSBldGhlcm5ldCBmcm9tIHRoZSBQ
Q0kgbmV0d29yayBjYXJkIDogMDAwMDowMTowMC4wIC4NCj4+ICANCj4+ICAgICDigKIgQWRkIHRo
ZSBmb2xsb3dpbmcgbGluZSB0byB0aGUgZ3Vlc3QgY29uZmlndXJhdGlvbiBmaWxlIDoNCj4+ICAg
ICAgICAgICBwY2kgPSBbJzAwMDA6MDE6MDAuMCddDQo+PiAgDQo+PiAgICAg4oCiIFJ1biB0aGUg
Zm9sbG93aW5nIGNvbW1hbmQgYmVmb3JlIHN0YXJ0aW5nIHRoZSBndWVzdCA6DQo+PiAgICAgICAg
ICAgIHhsIHBjaS1hc3NpZ25hYmxlLWFkZCAwMDAwOjAxOjAwLjANCj4+ICAgICDigKIgU3RhcnQg
dGhlIGd1ZXN0LiBUaGUgbmV0d29yayBpbnRlcmZhY2Ugc2hvdWxkIGFwcGVhciBhcyAwMDowMC4w
ICBpbiB0aGUgZ3Vlc3QgYW5kIGJlIHVzYWJsZS4NCj4+ICANCj4+IFBsZWFzZSBsZXQgbWUga25v
dyBpZiB5b3UgbmVlZCBtb3JlIGluZm8uDQo+PiANCj4+IA0KPj4gDQo+PiBSZWdhcmRzLA0KPj4g
UmFodWwNCj4+IA0KPiBUaGFuayB5b3UgZm9yIHlvdXIgcmVwbHkuDQo+IEFmdGVyIHNldHRpbmcg
WEVOIGFuZCBrZXJuZWwgYXMgYWJvdmUsIEkgdHJpZWQgdGhlIGZvbGxvd2luZyB0d28gbWV0aG9k
cyB0byBhZGQgYSBQQ0lFIGRldmljZSBwYXNzdGhyb3VnaDoNCj4gMS4gQWNjb3JkaW5nIHRvIHlv
dXIgc3VnZ2VzdGlvbiwgdXNlIHRoZSBjb21tYW5kIHhsIHBjaS1hc3NpZ25hYmxlLWFkZCAwMDAy
OjIxOjAwLjAgdG8gc2V0IGluIHRoZSBEb20wLiBCdXQgaW4gZnVuY3Rpb24NCj4gaW9tbXVfZG9f
cGNpX2RvbWN0bCwgIGFmdGVyIGRldmljZV9hc3NpZ25lZCBpcyBjYWxsZWQsIEVOT0RFViBlcnJv
ciBpcyBvYnRhaW5lZC4NCj4gMi4gQWRkIHhlbi1wY2liYWNrLmhpZGU9KDAwMDI6MjE6MDAuMCkg
dG8gZG9tMC1ib290YXJncyBpbiB0aGUgZGV2aWNlIHRyZWUsIEkgZW5jb3VudGVyZWQgdGhlIHNh
bWUgcHJvYmxlbSBhcyBiZWZvcmUgDQo+IHdoZW4gaW5pdGlhbGl6aW5nIHRoZSBrZXJuZWwuIElu
IGZ1bmN0aW9uIHBjaV9hZGRfZGV2aWNlLCBQQ0lFIGRldmljZXMgY2Fubm90IGJlIGFkZGVkIHRv
IFNNTVV2My4NCg0KSXQgaXMgaGFyZCB0byBmaW5kIHdoYXQgaXMgaGFwcGVuaW5nIHdpdGhvdXQg
bG9ncy4gQ291bGQgeW91IHBsZWFzZSBzaGFyZSB0aGUgWGVuIGFuZCBMaW51eCBib290IGxvZ3Mg
c28gdGhhdCBJIGNhbg0KY2hlY2sgd2hhdCBpcyB0aGUgcm9vdCBjYXVzZSBvZiB0aGlzIGlzc3Vl
Lg0KDQo+IFRoZSBrZXJuZWwgdmVyc2lvbiBJIHVzZSBpcyA1LjEwLiBEb2VzIHRoaXMgaGF2ZSBh
biBpbXBhY3Q/DQoNCkkgYW0gdXNpbmcgdGhlIExpbnV4IHZlcnNpb24gNS4xNS40NCBidXQgSSBk
b27igJl0IHRoaW5rIGlzIGJlY2F1c2Ugb2YgTGludXguDQoNClJlZ2FyZHMsDQpSYWh1bA0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 16:42:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 16:42:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459852.717630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lst-0001zh-Kr; Mon, 12 Dec 2022 16:42:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459852.717630; Mon, 12 Dec 2022 16:42:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lst-0001za-Ge; Mon, 12 Dec 2022 16:42:31 +0000
Received: by outflank-mailman (input) for mailman id 459852;
 Mon, 12 Dec 2022 16:42:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=qxQZ=4K=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1p4lss-0001zU-Kz
 for xen-devel@lists.xen.org; Mon, 12 Dec 2022 16:42:30 +0000
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com
 [2607:f8b0:4864:20::1034])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f61f3f5e-7a3b-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 17:42:28 +0100 (CET)
Received: by mail-pj1-x1034.google.com with SMTP id
 w4-20020a17090ac98400b002186f5d7a4cso480201pjt.0
 for <xen-devel@lists.xen.org>; Mon, 12 Dec 2022 08:42:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f61f3f5e-7a3b-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=UvrbxLYv48XzvOmstCD8H+EOpr+OkCH7HEKlacvnREQ=;
        b=Qk5kZK39K0+XzQ3tNA5y41027YwSg9M2iGp1Fu27esQyMWDYXy7vJ62qGs56TwI1ev
         6wwjypKh75/wgG0dt1QafhsQyZiZL4tDoFC4lGOj4yzVYo0b9qU10SXbaEmFKXOmpy82
         CbRUgO+YfnGbexw/xiqM4vL6snlxuLsR7F2XdOnjwOmVKo5lTn08qkux81JNQRg0NlMh
         VaJ56syv1zMn2HlZKxJsXu0giBMKjt0Y6JeIHAEFuZolxERYIVfM46JWh1eX2cgSVFD1
         ijpk5B20xQU2jjmZ/TJDRs5h5jL2+Vk4vxuOLYp9hs/UAzjTs/xJ87s0h/XFGUkhx70Q
         npyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=UvrbxLYv48XzvOmstCD8H+EOpr+OkCH7HEKlacvnREQ=;
        b=PvVIKjZlIzZ12YspMtQCzpLIGjzGPEd4L2P7k/OtF0m+aBNiqd4OVJB/RVsxrjqliR
         mFi5bg7vAc5n7hGAIfOx7vgOu7F8Sn3GZFtMcAQ0u/X8zm7rYKzNEwKe2iNolVx5tOVq
         sbNq4gdMnpXBzA+FJxocTH0dqH8bJSU7G+DjSeRuMxYpAGRIU9Zc0Idimqc496gqnfjV
         rci4uwGjVLqVT0WoeXuzja6cJOklTZ/FiA0LtoFYA42Qzhyd+rJTbbP5mFNKK0giikfs
         9U3Rbuzwhjc980PPUm2+GiVpUCqoHRGDz1R37WKmFzfkmr8JkDEzG7qLyJsF41UPNAQX
         hBXg==
X-Gm-Message-State: ANoB5pm/UqDZgU/Mkc/2oNWFZf+1PjvhJeSFnHnESeupvoNmFndeL7DX
	J7CQLF6BL2P8w/G1NIeGDh8IQ4fzLEjbEa98BrM=
X-Google-Smtp-Source: AA0mqf4PMEEm7y1xjDRPZZk+q831uifU7f7dve40b6dyc5OzYzVcqrDohHq3TW2dj193ZfSYZP2PsOggQF5hvCSjgqo=
X-Received: by 2002:a17:90a:3da1:b0:219:61e5:4994 with SMTP id
 i30-20020a17090a3da100b0021961e54994mr42174588pjc.213.1670863346442; Mon, 12
 Dec 2022 08:42:26 -0800 (PST)
MIME-Version: 1.0
References: <cover.1670839220.git.viresh.kumar@linaro.org> <0e58df1510d7d8c0186da6620882b7c4e4035ab0.1670839220.git.viresh.kumar@linaro.org>
In-Reply-To: <0e58df1510d7d8c0186da6620882b7c4e4035ab0.1670839220.git.viresh.kumar@linaro.org>
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
Date: Mon, 12 Dec 2022 18:42:15 +0200
Message-ID: <CAPD2p-n7Dqx7sC=StTSQXfnmF34Yv643uNXWNgm2_aQnBEvB5g@mail.gmail.com>
Subject: Re: [PATCH V8 1/3] libxl: Add support for generic virtio device
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: xen-devel@lists.xen.org, Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>, Vincent Guittot <vincent.guittot@linaro.org>, 
	=?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>, 
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Content-Type: multipart/alternative; boundary="0000000000003ba79805efa430fd"

--0000000000003ba79805efa430fd
Content-Type: text/plain; charset="UTF-8"

On Mon, Dec 12, 2022 at 12:10 PM Viresh Kumar <viresh.kumar@linaro.org>
wrote:

Hello Viresh

[sorry for the possible format issues]


This patch adds basic support for configuring and assisting generic
> Virtio backends, which could run in any domain.
>
> An example of domain configuration for mmio based Virtio I2C device is:
> virtio = ["type=virtio,device22,transport=mmio"]
>
> To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
> region) and pass them to the backend and update guest device-tree to
> create a DT node for the Virtio devices.
>
> Add special support for I2C and GPIO devices, which require the
> "compatible" DT property to be set, among other device specific
> properties. Support for generic virtio devices is also added, which just
> need a MMIO node but not any special DT properties, for such devices the
> user needs to pass "virtio,device" in the "type" string.
>
> The parsing of generic virtio device configurations will be done in a
> separate commit.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
>


Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

with one NIT addressed ...


> ---
>  tools/libs/light/Makefile                 |   1 +
>  tools/libs/light/libxl_arm.c              | 100 +++++++++++++++
>  tools/libs/light/libxl_create.c           |   4 +
>  tools/libs/light/libxl_internal.h         |   6 +
>  tools/libs/light/libxl_types.idl          |  18 +++
>  tools/libs/light/libxl_types_internal.idl |   1 +
>  tools/libs/light/libxl_virtio.c           | 144 ++++++++++++++++++++++
>  7 files changed, 274 insertions(+)
>  create mode 100644 tools/libs/light/libxl_virtio.c
>
> diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
> index 374be1cfab25..4fddcc6f51d7 100644
> --- a/tools/libs/light/Makefile
> +++ b/tools/libs/light/Makefile
> @@ -106,6 +106,7 @@ OBJS-y += libxl_vdispl.o
>  OBJS-y += libxl_pvcalls.o
>  OBJS-y += libxl_vsnd.o
>  OBJS-y += libxl_vkb.o
> +OBJS-y += libxl_virtio.o
>  OBJS-y += libxl_genid.o
>  OBJS-y += _libxl_types.o
>  OBJS-y += libxl_flask.o
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index fa3d61f1e882..292b31881210 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -113,6 +113,19 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>          }
>      }
>
> +    for (i = 0; i < d_config->num_virtios; i++) {
> +        libxl_device_virtio *virtio = &d_config->virtios[i];
> +
> +        if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
> +            continue;
> +
> +        rc = alloc_virtio_mmio_params(gc, &virtio->base, &virtio->irq,
> +                                      &virtio_mmio_base,
> &virtio_mmio_irq);
> +
> +        if (rc)
> +            return rc;
> +    }
> +
>      /*
>       * Every virtio-mmio device uses one emulated SPI. If Virtio devices
> are
>       * present, make sure that we allocate enough SPIs for them.
> @@ -956,6 +969,79 @@ static int make_virtio_mmio_node(libxl__gc *gc, void
> *fdt, uint64_t base,
>      return fdt_end_node(fdt);
>  }
>
> +/*
> + * The DT bindings for GPIO device are present here:
>


... here, s/GPIO/I2C

I hope this could be done when committing ...



> + *
> + *
> https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml
> + */
> +static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt)
> +{
> +    int res;
> +
> +    res = fdt_begin_node(fdt, "i2c");
> +    if (res) return res;
> +
> +    res = fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_I2C);
> +    if (res) return res;
> +
> +    return fdt_end_node(fdt);
> +}
> +
> +/*
> + * The DT bindings for GPIO device are present here:
> + *
> + *
> https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml
> + */
> +static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt)
> +{
> +    int res;
> +
> +    res = fdt_begin_node(fdt, "gpio");
> +    if (res) return res;
> +
> +    res = fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_GPIO);
> +    if (res) return res;
> +
> +    res = fdt_property(fdt, "gpio-controller", NULL, 0);
> +    if (res) return res;
> +
> +    res = fdt_property_cell(fdt, "#gpio-cells", 2);
> +    if (res) return res;
> +
> +    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
> +    if (res) return res;
> +
> +    res = fdt_property_cell(fdt, "#interrupt-cells", 2);
> +    if (res) return res;
> +
> +    return fdt_end_node(fdt);
> +}
> +
> +static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt,
> uint64_t base,
> +                                        uint32_t irq, const char *type,
> +                                        uint32_t backend_domid)
> +{
> +    int res;
> +
> +    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
> +    if (res) return res;
> +
> +    /* Add device specific nodes */
> +    if (!strcmp(type, VIRTIO_DEVICE_TYPE_I2C)) {
> +        res = make_virtio_mmio_node_i2c(gc, fdt);
> +        if (res) return res;
> +    } else if (!strcmp(type, VIRTIO_DEVICE_TYPE_GPIO)) {
> +        res = make_virtio_mmio_node_gpio(gc, fdt);
> +        if (res) return res;
> +    } else if (strcmp(type, VIRTIO_DEVICE_TYPE_GENERIC)) {
> +        /* Doesn't match generic virtio device */
> +        LOG(ERROR, "Invalid type for virtio device: %s", type);
> +        return -EINVAL;
> +    }
> +
> +    return fdt_end_node(fdt);
> +}
> +
>  static const struct arch_info *get_arch_info(libxl__gc *gc,
>                                               const struct xc_dom_image
> *dom)
>  {
> @@ -1277,6 +1363,20 @@ static int libxl__prepare_dtb(libxl__gc *gc,
> libxl_domain_config *d_config,
>              }
>          }
>
> +        for (i = 0; i < d_config->num_virtios; i++) {
> +            libxl_device_virtio *virtio = &d_config->virtios[i];
> +
> +            if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
> +                continue;
> +
> +            if (virtio->backend_domid != LIBXL_TOOLSTACK_DOMID)
> +                iommu_needed = true;
> +
> +            FDT( make_virtio_mmio_node_device(gc, fdt, virtio->base,
> +                                              virtio->irq, virtio->type,
> +                                              virtio->backend_domid) );
> +        }
> +
>          /*
>           * The iommu node should be created only once for all virtio-mmio
>           * devices.
> diff --git a/tools/libs/light/libxl_create.c
> b/tools/libs/light/libxl_create.c
> index 612eacfc7fac..beec3f6b6fec 100644
> --- a/tools/libs/light/libxl_create.c
> +++ b/tools/libs/light/libxl_create.c
> @@ -1752,6 +1752,10 @@ static void domcreate_launch_dm(libxl__egc *egc,
> libxl__multidev *multidev,
>          libxl__device_add(gc, domid, &libxl__pvcallsif_devtype,
>                            &d_config->pvcallsifs[i]);
>
> +    for (i = 0; i < d_config->num_virtios; i++)
> +        libxl__device_add(gc, domid, &libxl__virtio_devtype,
> +                          &d_config->virtios[i]);
> +
>      switch (d_config->c_info.type) {
>      case LIBXL_DOMAIN_TYPE_HVM:
>      {
> diff --git a/tools/libs/light/libxl_internal.h
> b/tools/libs/light/libxl_internal.h
> index a7c447c10e5f..97e1e66d98af 100644
> --- a/tools/libs/light/libxl_internal.h
> +++ b/tools/libs/light/libxl_internal.h
> @@ -166,6 +166,11 @@
>  /* Convert pfn to physical address space. */
>  #define pfn_to_paddr(x) ((uint64_t)(x) << XC_PAGE_SHIFT)
>
> +/* Virtio device types */
> +#define VIRTIO_DEVICE_TYPE_GENERIC   "virtio,device"
> +#define VIRTIO_DEVICE_TYPE_GPIO      "virtio,device22"
> +#define VIRTIO_DEVICE_TYPE_I2C       "virtio,device29"
> +
>  /* logging */
>  _hidden void libxl__logv(libxl_ctx *ctx, xentoollog_level msglevel, int
> errnoval,
>               const char *file /* may be 0 */, int line /* ignored if
> !file */,
> @@ -4003,6 +4008,7 @@ static inline int *libxl__device_type_get_num(
>
>  extern const libxl__device_type libxl__vfb_devtype;
>  extern const libxl__device_type libxl__vkb_devtype;
> +extern const libxl__device_type libxl__virtio_devtype;
>  extern const libxl__device_type libxl__disk_devtype;
>  extern const libxl__device_type libxl__nic_devtype;
>  extern const libxl__device_type libxl__vtpm_devtype;
> diff --git a/tools/libs/light/libxl_types.idl
> b/tools/libs/light/libxl_types.idl
> index 9e3d33cb5a59..0cfad8508dbd 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -278,6 +278,11 @@ libxl_vkb_backend = Enumeration("vkb_backend", [
>      (2, "LINUX")
>      ])
>
> +libxl_virtio_transport = Enumeration("virtio_transport", [
> +    (0, "UNKNOWN"),
> +    (1, "MMIO"),
> +    ])
> +
>  libxl_passthrough = Enumeration("passthrough", [
>      (0, "default"),
>      (1, "disabled"),
> @@ -703,6 +708,18 @@ libxl_device_vkb = Struct("device_vkb", [
>      ("multi_touch_num_contacts", uint32)
>      ])
>
> +libxl_device_virtio = Struct("device_virtio", [
> +    ("backend_domid", libxl_domid),
> +    ("backend_domname", string),
> +    ("type", string),
> +    ("transport", libxl_virtio_transport),
> +    ("devid", libxl_devid),
> +    # Note that virtio-mmio parameters (irq and base) are for internal
> +    # use by libxl and can't be modified.
> +    ("irq", uint32),
> +    ("base", uint64)
> +    ])
> +
>  libxl_device_disk = Struct("device_disk", [
>      ("backend_domid", libxl_domid),
>      ("backend_domname", string),
> @@ -980,6 +997,7 @@ libxl_domain_config = Struct("domain_config", [
>      ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
>      ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
>      ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
> +    ("virtios", Array(libxl_device_virtio, "num_virtios")),
>      ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
>      ("p9s", Array(libxl_device_p9, "num_p9s")),
>      ("pvcallsifs", Array(libxl_device_pvcallsif, "num_pvcallsifs")),
> diff --git a/tools/libs/light/libxl_types_internal.idl
> b/tools/libs/light/libxl_types_internal.idl
> index fb0f4f23d7c2..e24288f1a59e 100644
> --- a/tools/libs/light/libxl_types_internal.idl
> +++ b/tools/libs/light/libxl_types_internal.idl
> @@ -33,6 +33,7 @@ libxl__device_kind = Enumeration("device_kind", [
>      (15, "VSND"),
>      (16, "VINPUT"),
>      (17, "VIRTIO_DISK"),
> +    (18, "VIRTIO"),
>      ])
>
>  libxl__console_backend = Enumeration("console_backend", [
> diff --git a/tools/libs/light/libxl_virtio.c
> b/tools/libs/light/libxl_virtio.c
> new file mode 100644
> index 000000000000..6a38def2faf5
> --- /dev/null
> +++ b/tools/libs/light/libxl_virtio.c
> @@ -0,0 +1,144 @@
> +/*
> + * Copyright (C) 2022 Linaro Ltd.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU Lesser General Public License as
> published
> + * by the Free Software Foundation; version 2.1 only. with the special
> + * exception on linking described in file LICENSE.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU Lesser General Public License for more details.
> + */
> +
> +#include "libxl_internal.h"
> +
> +static int libxl__device_virtio_setdefault(libxl__gc *gc, uint32_t domid,
> +                                           libxl_device_virtio *virtio,
> +                                           bool hotplug)
> +{
> +    return libxl__resolve_domid(gc, virtio->backend_domname,
> +                                &virtio->backend_domid);
> +}
> +
> +static int libxl__device_from_virtio(libxl__gc *gc, uint32_t domid,
> +                                     libxl_device_virtio *virtio,
> +                                     libxl__device *device)
> +{
> +    device->backend_devid   = virtio->devid;
> +    device->backend_domid   = virtio->backend_domid;
> +    device->devid           = virtio->devid;
> +    device->domid           = domid;
> +
> +    device->backend_kind    = LIBXL__DEVICE_KIND_VIRTIO;
> +    device->kind            = LIBXL__DEVICE_KIND_VIRTIO;
> +
> +    return 0;
> +}
> +
> +static int libxl__set_xenstore_virtio(libxl__gc *gc, uint32_t domid,
> +                                      libxl_device_virtio *virtio,
> +                                      flexarray_t *back, flexarray_t
> *front,
> +                                      flexarray_t *ro_front)
> +{
> +    const char *transport =
> libxl_virtio_transport_to_string(virtio->transport);
> +
> +    flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->irq));
> +    flexarray_append_pair(back, "base", GCSPRINTF("%lu", virtio->base));
> +    flexarray_append_pair(back, "type", GCSPRINTF("%s", virtio->type));
> +    flexarray_append_pair(back, "transport", GCSPRINTF("%s", transport));
> +
> +    flexarray_append_pair(front, "irq", GCSPRINTF("%u", virtio->irq));
> +    flexarray_append_pair(front, "base", GCSPRINTF("%lu", virtio->base));
> +    flexarray_append_pair(front, "type", GCSPRINTF("%s", virtio->type));
> +    flexarray_append_pair(front, "transport", GCSPRINTF("%s", transport));
> +
> +    return 0;
> +}
> +
> +static int libxl__virtio_from_xenstore(libxl__gc *gc, const char
> *libxl_path,
> +                                       libxl_devid devid,
> +                                       libxl_device_virtio *virtio)
> +{
> +    const char *be_path, *tmp = NULL;
> +    int rc;
> +
> +    virtio->devid = devid;
> +
> +    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
> +                                  GCSPRINTF("%s/backend", libxl_path),
> +                                  &be_path);
> +    if (rc) goto out;
> +
> +    rc = libxl__backendpath_parse_domid(gc, be_path,
> &virtio->backend_domid);
> +    if (rc) goto out;
> +
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +                               GCSPRINTF("%s/irq", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        virtio->irq = strtoul(tmp, NULL, 0);
> +    }
> +
> +    tmp = NULL;
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +                               GCSPRINTF("%s/base", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        virtio->base = strtoul(tmp, NULL, 0);
> +    }
> +
> +    tmp = NULL;
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +                               GCSPRINTF("%s/transport", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        if (!strcmp(tmp, "mmio")) {
> +            virtio->transport = LIBXL_VIRTIO_TRANSPORT_MMIO;
> +        } else {
> +            return ERROR_INVAL;
> +        }
> +    }
> +
> +    tmp = NULL;
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +                               GCSPRINTF("%s/type", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        int len = sizeof(VIRTIO_DEVICE_TYPE_GENERIC) - 1;
> +
> +        if (!strncmp(tmp, VIRTIO_DEVICE_TYPE_GENERIC, len)) {
> +            virtio->type = libxl__strdup(NOGC, tmp);
> +        } else {
> +            return ERROR_INVAL;
> +        }
> +    }
> +
> +out:
> +    return rc;
> +}
> +
> +static LIBXL_DEFINE_UPDATE_DEVID(virtio)
> +
> +#define libxl__add_virtios NULL
> +#define libxl_device_virtio_compare NULL
> +
> +DEFINE_DEVICE_TYPE_STRUCT(virtio, VIRTIO, virtios,
> +    .set_xenstore_config = (device_set_xenstore_config_fn_t)
> +                           libxl__set_xenstore_virtio,
> +    .from_xenstore =
> (device_from_xenstore_fn_t)libxl__virtio_from_xenstore,
> +    .skip_attach = 1
> +);
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> --
> 2.31.1.272.g89b43f80a514
>
>
>

-- 
Regards,

Oleksandr Tyshchenko

--0000000000003ba79805efa430fd
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Mon, Dec 12, 2022 at 12:10 PM Vire=
sh Kumar &lt;<a href=3D"mailto:viresh.kumar@linaro.org" target=3D"_blank">v=
iresh.kumar@linaro.org</a>&gt; wrote:<br></div><div dir=3D"ltr" class=3D"gm=
ail_attr"><br></div><div class=3D"gmail_attr">Hello Viresh</div><div class=
=3D"gmail_attr"><br></div><div class=3D"gmail_attr">[sorry for the possible=
 format issues]</div><div dir=3D"ltr" class=3D"gmail_attr"><br></div><div d=
ir=3D"ltr" class=3D"gmail_attr"><br></div><blockquote class=3D"gmail_quote"=
 style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);p=
adding-left:1ex">This patch adds basic support for configuring and assistin=
g generic<br>
Virtio backends, which could run in any domain.<br>
<br>
An example of domain configuration for mmio based Virtio I2C device is:<br>
virtio =3D [&quot;type=3Dvirtio,device22,transport=3Dmmio&quot;]<br>
<br>
To make this work on Arm, allocate Virtio MMIO params (IRQ and memory<br>
region) and pass them to the backend and update guest device-tree to<br>
create a DT node for the Virtio devices.<br>
<br>
Add special support for I2C and GPIO devices, which require the<br>
&quot;compatible&quot; DT property to be set, among other device specific<b=
r>
properties. Support for generic virtio devices is also added, which just<br=
>
need a MMIO node but not any special DT properties, for such devices the<br=
>
user needs to pass &quot;virtio,device&quot; in the &quot;type&quot; string=
.<br>
<br>
The parsing of generic virtio device configurations will be done in a<br>
separate commit.<br>
<br>
Signed-off-by: Viresh Kumar &lt;<a href=3D"mailto:viresh.kumar@linaro.org" =
target=3D"_blank">viresh.kumar@linaro.org</a>&gt;<br></blockquote><div><br>=
</div><div><br></div><div>Reviewed-by: Oleksandr Tyshchenko &lt;<a href=3D"=
mailto:oleksandr_tyshchenko@epam.com" target=3D"_blank">oleksandr_tyshchenk=
o@epam.com</a>&gt;<br></div><div><br></div><div>with one NIT addressed ...<=
/div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0px=
 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
---<br>
=C2=A0tools/libs/light/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A01 +<br>
=C2=A0tools/libs/light/libxl_arm.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 | 100 +++++++++++++++<br>
=C2=A0tools/libs/light/libxl_create.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0|=C2=A0 =C2=A04 +<br>
=C2=A0tools/libs/light/libxl_internal.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=
=C2=A0 =C2=A06 +<br>
=C2=A0tools/libs/light/libxl_types.idl=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=
=C2=A0 18 +++<br>
=C2=A0tools/libs/light/libxl_types_internal.idl |=C2=A0 =C2=A01 +<br>
=C2=A0tools/libs/light/libxl_virtio.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0| 144 ++++++++++++++++++++++<br>
=C2=A07 files changed, 274 insertions(+)<br>
=C2=A0create mode 100644 tools/libs/light/libxl_virtio.c<br>
<br>
diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile<br>
index 374be1cfab25..4fddcc6f51d7 100644<br>
--- a/tools/libs/light/Makefile<br>
+++ b/tools/libs/light/Makefile<br>
@@ -106,6 +106,7 @@ OBJS-y +=3D libxl_vdispl.o<br>
=C2=A0OBJS-y +=3D libxl_pvcalls.o<br>
=C2=A0OBJS-y +=3D libxl_vsnd.o<br>
=C2=A0OBJS-y +=3D libxl_vkb.o<br>
+OBJS-y +=3D libxl_virtio.o<br>
=C2=A0OBJS-y +=3D libxl_genid.o<br>
=C2=A0OBJS-y +=3D _libxl_types.o<br>
=C2=A0OBJS-y +=3D libxl_flask.o<br>
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c<br=
>
index fa3d61f1e882..292b31881210 100644<br>
--- a/tools/libs/light/libxl_arm.c<br>
+++ b/tools/libs/light/libxl_arm.c<br>
@@ -113,6 +113,19 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,<b=
r>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}<br>
=C2=A0 =C2=A0 =C2=A0}<br>
<br>
+=C2=A0 =C2=A0 for (i =3D 0; i &lt; d_config-&gt;num_virtios; i++) {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 libxl_device_virtio *virtio =3D &amp;d_config-=
&gt;virtios[i];<br>
+<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (virtio-&gt;transport !=3D LIBXL_VIRTIO_TRA=
NSPORT_MMIO)<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 continue;<br>
+<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 rc =3D alloc_virtio_mmio_params(gc, &amp;virti=
o-&gt;base, &amp;virtio-&gt;irq,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &amp;virtio_mmi=
o_base, &amp;virtio_mmio_irq);<br>
+<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (rc)<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return rc;<br>
+=C2=A0 =C2=A0 }<br>
+<br>
=C2=A0 =C2=A0 =C2=A0/*<br>
=C2=A0 =C2=A0 =C2=A0 * Every virtio-mmio device uses one emulated SPI. If V=
irtio devices are<br>
=C2=A0 =C2=A0 =C2=A0 * present, make sure that we allocate enough SPIs for =
them.<br>
@@ -956,6 +969,79 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *=
fdt, uint64_t base,<br>
=C2=A0 =C2=A0 =C2=A0return fdt_end_node(fdt);<br>
=C2=A0}<br>
<br>
+/*<br>
+ * The DT bindings for GPIO device are present here:<br></blockquote><div>=
=C2=A0</div><div><br></div><div>... here, s/GPIO/I2C</div><div><br></div><d=
iv>I hope this could be done when committing=C2=A0...</div><div><br></div><=
div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0=
px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
+ *<br>
+ * <a href=3D"https://www.kernel.org/doc/Documentation/devicetree/bindings=
/i2c/i2c-virtio.yaml" rel=3D"noreferrer" target=3D"_blank">https://www.kern=
el.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml</a><br>
+ */<br>
+static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt)<br>
+{<br>
+=C2=A0 =C2=A0 int res;<br>
+<br>
+=C2=A0 =C2=A0 res =3D fdt_begin_node(fdt, &quot;i2c&quot;);<br>
+=C2=A0 =C2=A0 if (res) return res;<br>
+<br>
+=C2=A0 =C2=A0 res =3D fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_I=
2C);<br>
+=C2=A0 =C2=A0 if (res) return res;<br>
+<br>
+=C2=A0 =C2=A0 return fdt_end_node(fdt);<br>
+}<br>
+<br>
+/*<br>
+ * The DT bindings for GPIO device are present here:<br>
+ *<br>
+ * <a href=3D"https://www.kernel.org/doc/Documentation/devicetree/bindings=
/gpio/gpio-virtio.yaml" rel=3D"noreferrer" target=3D"_blank">https://www.ke=
rnel.org/doc/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml</a><br=
>
+ */<br>
+static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt)<br>
+{<br>
+=C2=A0 =C2=A0 int res;<br>
+<br>
+=C2=A0 =C2=A0 res =3D fdt_begin_node(fdt, &quot;gpio&quot;);<br>
+=C2=A0 =C2=A0 if (res) return res;<br>
+<br>
+=C2=A0 =C2=A0 res =3D fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_G=
PIO);<br>
+=C2=A0 =C2=A0 if (res) return res;<br>
+<br>
+=C2=A0 =C2=A0 res =3D fdt_property(fdt, &quot;gpio-controller&quot;, NULL,=
 0);<br>
+=C2=A0 =C2=A0 if (res) return res;<br>
+<br>
+=C2=A0 =C2=A0 res =3D fdt_property_cell(fdt, &quot;#gpio-cells&quot;, 2);<=
br>
+=C2=A0 =C2=A0 if (res) return res;<br>
+<br>
+=C2=A0 =C2=A0 res =3D fdt_property(fdt, &quot;interrupt-controller&quot;, =
NULL, 0);<br>
+=C2=A0 =C2=A0 if (res) return res;<br>
+<br>
+=C2=A0 =C2=A0 res =3D fdt_property_cell(fdt, &quot;#interrupt-cells&quot;,=
 2);<br>
+=C2=A0 =C2=A0 if (res) return res;<br>
+<br>
+=C2=A0 =C2=A0 return fdt_end_node(fdt);<br>
+}<br>
+<br>
+static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt, uint64_t=
 base,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 uint32_t=
 irq, const char *type,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 uint32_t=
 backend_domid)<br>
+{<br>
+=C2=A0 =C2=A0 int res;<br>
+<br>
+=C2=A0 =C2=A0 res =3D make_virtio_mmio_node_common(gc, fdt, base, irq, bac=
kend_domid);<br>
+=C2=A0 =C2=A0 if (res) return res;<br>
+<br>
+=C2=A0 =C2=A0 /* Add device specific nodes */<br>
+=C2=A0 =C2=A0 if (!strcmp(type, VIRTIO_DEVICE_TYPE_I2C)) {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 res =3D make_virtio_mmio_node_i2c(gc, fdt);<br=
>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (res) return res;<br>
+=C2=A0 =C2=A0 } else if (!strcmp(type, VIRTIO_DEVICE_TYPE_GPIO)) {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 res =3D make_virtio_mmio_node_gpio(gc, fdt);<b=
r>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (res) return res;<br>
+=C2=A0 =C2=A0 } else if (strcmp(type, VIRTIO_DEVICE_TYPE_GENERIC)) {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Doesn&#39;t match generic virtio device */<=
br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 LOG(ERROR, &quot;Invalid type for virtio devic=
e: %s&quot;, type);<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 return -EINVAL;<br>
+=C2=A0 =C2=A0 }<br>
+<br>
+=C2=A0 =C2=A0 return fdt_end_node(fdt);<br>
+}<br>
+<br>
=C2=A0static const struct arch_info *get_arch_info(libxl__gc *gc,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 const struct xc_dom_image *dom)<br>
=C2=A0{<br>
@@ -1277,6 +1363,20 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_d=
omain_config *d_config,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0}<br>
<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 for (i =3D 0; i &lt; d_config-&gt;num_virtios;=
 i++) {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 libxl_device_virtio *virtio =3D =
&amp;d_config-&gt;virtios[i];<br>
+<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (virtio-&gt;transport !=3D LI=
BXL_VIRTIO_TRANSPORT_MMIO)<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 continue;<br>
+<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (virtio-&gt;backend_domid !=
=3D LIBXL_TOOLSTACK_DOMID)<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 iommu_needed =3D t=
rue;<br>
+<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 FDT( make_virtio_mmio_node_devic=
e(gc, fdt, virtio-&gt;base,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 virtio-&gt;irq, virtio-&gt;type,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 virtio-&gt;backend_domid) );<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
+<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/*<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 * The iommu node should be created only =
once for all virtio-mmio<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 * devices.<br>
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_creat=
e.c<br>
index 612eacfc7fac..beec3f6b6fec 100644<br>
--- a/tools/libs/light/libxl_create.c<br>
+++ b/tools/libs/light/libxl_create.c<br>
@@ -1752,6 +1752,10 @@ static void domcreate_launch_dm(libxl__egc *egc, lib=
xl__multidev *multidev,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libxl__device_add(gc, domid, &amp;libxl__=
pvcallsif_devtype,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0&amp;d_config-&gt;pvcallsifs[i]);<br>
<br>
+=C2=A0 =C2=A0 for (i =3D 0; i &lt; d_config-&gt;num_virtios; i++)<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 libxl__device_add(gc, domid, &amp;libxl__virti=
o_devtype,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 &amp;d_config-&gt;virtios[i]);<br>
+<br>
=C2=A0 =C2=A0 =C2=A0switch (d_config-&gt;c_info.type) {<br>
=C2=A0 =C2=A0 =C2=A0case LIBXL_DOMAIN_TYPE_HVM:<br>
=C2=A0 =C2=A0 =C2=A0{<br>
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_int=
ernal.h<br>
index a7c447c10e5f..97e1e66d98af 100644<br>
--- a/tools/libs/light/libxl_internal.h<br>
+++ b/tools/libs/light/libxl_internal.h<br>
@@ -166,6 +166,11 @@<br>
=C2=A0/* Convert pfn to physical address space. */<br>
=C2=A0#define pfn_to_paddr(x) ((uint64_t)(x) &lt;&lt; XC_PAGE_SHIFT)<br>
<br>
+/* Virtio device types */<br>
+#define VIRTIO_DEVICE_TYPE_GENERIC=C2=A0 =C2=A0&quot;virtio,device&quot;<b=
r>
+#define VIRTIO_DEVICE_TYPE_GPIO=C2=A0 =C2=A0 =C2=A0 &quot;virtio,device22&=
quot;<br>
+#define VIRTIO_DEVICE_TYPE_I2C=C2=A0 =C2=A0 =C2=A0 =C2=A0&quot;virtio,devi=
ce29&quot;<br>
+<br>
=C2=A0/* logging */<br>
=C2=A0_hidden void libxl__logv(libxl_ctx *ctx, xentoollog_level msglevel, i=
nt errnoval,<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 const char *file /* may be=
 0 */, int line /* ignored if !file */,<br>
@@ -4003,6 +4008,7 @@ static inline int *libxl__device_type_get_num(<br>
<br>
=C2=A0extern const libxl__device_type libxl__vfb_devtype;<br>
=C2=A0extern const libxl__device_type libxl__vkb_devtype;<br>
+extern const libxl__device_type libxl__virtio_devtype;<br>
=C2=A0extern const libxl__device_type libxl__disk_devtype;<br>
=C2=A0extern const libxl__device_type libxl__nic_devtype;<br>
=C2=A0extern const libxl__device_type libxl__vtpm_devtype;<br>
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_type=
s.idl<br>
index 9e3d33cb5a59..0cfad8508dbd 100644<br>
--- a/tools/libs/light/libxl_types.idl<br>
+++ b/tools/libs/light/libxl_types.idl<br>
@@ -278,6 +278,11 @@ libxl_vkb_backend =3D Enumeration(&quot;vkb_backend&qu=
ot;, [<br>
=C2=A0 =C2=A0 =C2=A0(2, &quot;LINUX&quot;)<br>
=C2=A0 =C2=A0 =C2=A0])<br>
<br>
+libxl_virtio_transport =3D Enumeration(&quot;virtio_transport&quot;, [<br>
+=C2=A0 =C2=A0 (0, &quot;UNKNOWN&quot;),<br>
+=C2=A0 =C2=A0 (1, &quot;MMIO&quot;),<br>
+=C2=A0 =C2=A0 ])<br>
+<br>
=C2=A0libxl_passthrough =3D Enumeration(&quot;passthrough&quot;, [<br>
=C2=A0 =C2=A0 =C2=A0(0, &quot;default&quot;),<br>
=C2=A0 =C2=A0 =C2=A0(1, &quot;disabled&quot;),<br>
@@ -703,6 +708,18 @@ libxl_device_vkb =3D Struct(&quot;device_vkb&quot;, [<=
br>
=C2=A0 =C2=A0 =C2=A0(&quot;multi_touch_num_contacts&quot;, uint32)<br>
=C2=A0 =C2=A0 =C2=A0])<br>
<br>
+libxl_device_virtio =3D Struct(&quot;device_virtio&quot;, [<br>
+=C2=A0 =C2=A0 (&quot;backend_domid&quot;, libxl_domid),<br>
+=C2=A0 =C2=A0 (&quot;backend_domname&quot;, string),<br>
+=C2=A0 =C2=A0 (&quot;type&quot;, string),<br>
+=C2=A0 =C2=A0 (&quot;transport&quot;, libxl_virtio_transport),<br>
+=C2=A0 =C2=A0 (&quot;devid&quot;, libxl_devid),<br>
+=C2=A0 =C2=A0 # Note that virtio-mmio parameters (irq and base) are for in=
ternal<br>
+=C2=A0 =C2=A0 # use by libxl and can&#39;t be modified.<br>
+=C2=A0 =C2=A0 (&quot;irq&quot;, uint32),<br>
+=C2=A0 =C2=A0 (&quot;base&quot;, uint64)<br>
+=C2=A0 =C2=A0 ])<br>
+<br>
=C2=A0libxl_device_disk =3D Struct(&quot;device_disk&quot;, [<br>
=C2=A0 =C2=A0 =C2=A0(&quot;backend_domid&quot;, libxl_domid),<br>
=C2=A0 =C2=A0 =C2=A0(&quot;backend_domname&quot;, string),<br>
@@ -980,6 +997,7 @@ libxl_domain_config =3D Struct(&quot;domain_config&quot=
;, [<br>
=C2=A0 =C2=A0 =C2=A0(&quot;dtdevs&quot;, Array(libxl_device_dtdev, &quot;nu=
m_dtdevs&quot;)),<br>
=C2=A0 =C2=A0 =C2=A0(&quot;vfbs&quot;, Array(libxl_device_vfb, &quot;num_vf=
bs&quot;)),<br>
=C2=A0 =C2=A0 =C2=A0(&quot;vkbs&quot;, Array(libxl_device_vkb, &quot;num_vk=
bs&quot;)),<br>
+=C2=A0 =C2=A0 (&quot;virtios&quot;, Array(libxl_device_virtio, &quot;num_v=
irtios&quot;)),<br>
=C2=A0 =C2=A0 =C2=A0(&quot;vtpms&quot;, Array(libxl_device_vtpm, &quot;num_=
vtpms&quot;)),<br>
=C2=A0 =C2=A0 =C2=A0(&quot;p9s&quot;, Array(libxl_device_p9, &quot;num_p9s&=
quot;)),<br>
=C2=A0 =C2=A0 =C2=A0(&quot;pvcallsifs&quot;, Array(libxl_device_pvcallsif, =
&quot;num_pvcallsifs&quot;)),<br>
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/l=
ibxl_types_internal.idl<br>
index fb0f4f23d7c2..e24288f1a59e 100644<br>
--- a/tools/libs/light/libxl_types_internal.idl<br>
+++ b/tools/libs/light/libxl_types_internal.idl<br>
@@ -33,6 +33,7 @@ libxl__device_kind =3D Enumeration(&quot;device_kind&quot=
;, [<br>
=C2=A0 =C2=A0 =C2=A0(15, &quot;VSND&quot;),<br>
=C2=A0 =C2=A0 =C2=A0(16, &quot;VINPUT&quot;),<br>
=C2=A0 =C2=A0 =C2=A0(17, &quot;VIRTIO_DISK&quot;),<br>
+=C2=A0 =C2=A0 (18, &quot;VIRTIO&quot;),<br>
=C2=A0 =C2=A0 =C2=A0])<br>
<br>
=C2=A0libxl__console_backend =3D Enumeration(&quot;console_backend&quot;, [=
<br>
diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virti=
o.c<br>
new file mode 100644<br>
index 000000000000..6a38def2faf5<br>
--- /dev/null<br>
+++ b/tools/libs/light/libxl_virtio.c<br>
@@ -0,0 +1,144 @@<br>
+/*<br>
+ * Copyright (C) 2022 Linaro Ltd.<br>
+ *<br>
+ * This program is free software; you can redistribute it and/or modify<br=
>
+ * it under the terms of the GNU Lesser General Public License as publishe=
d<br>
+ * by the Free Software Foundation; version 2.1 only. with the special<br>
+ * exception on linking described in file LICENSE.<br>
+ *<br>
+ * This program is distributed in the hope that it will be useful,<br>
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.=C2=A0 See the<br>
+ * GNU Lesser General Public License for more details.<br>
+ */<br>
+<br>
+#include &quot;libxl_internal.h&quot;<br>
+<br>
+static int libxl__device_virtio_setdefault(libxl__gc *gc, uint32_t domid,<=
br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0libxl_device_virtio *virtio,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0bool hotplug)<br>
+{<br>
+=C2=A0 =C2=A0 return libxl__resolve_domid(gc, virtio-&gt;backend_domname,<=
br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &amp;virtio-&gt;backend_domid);<br>
+}<br>
+<br>
+static int libxl__device_from_virtio(libxl__gc *gc, uint32_t domid,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libxl_device_vir=
tio *virtio,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libxl__device *d=
evice)<br>
+{<br>
+=C2=A0 =C2=A0 device-&gt;backend_devid=C2=A0 =C2=A0=3D virtio-&gt;devid;<b=
r>
+=C2=A0 =C2=A0 device-&gt;backend_domid=C2=A0 =C2=A0=3D virtio-&gt;backend_=
domid;<br>
+=C2=A0 =C2=A0 device-&gt;devid=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=3D=
 virtio-&gt;devid;<br>
+=C2=A0 =C2=A0 device-&gt;domid=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=3D=
 domid;<br>
+<br>
+=C2=A0 =C2=A0 device-&gt;backend_kind=C2=A0 =C2=A0 =3D LIBXL__DEVICE_KIND_=
VIRTIO;<br>
+=C2=A0 =C2=A0 device-&gt;kind=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =3D=
 LIBXL__DEVICE_KIND_VIRTIO;<br>
+<br>
+=C2=A0 =C2=A0 return 0;<br>
+}<br>
+<br>
+static int libxl__set_xenstore_virtio(libxl__gc *gc, uint32_t domid,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 libxl_device_vi=
rtio *virtio,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 flexarray_t *ba=
ck, flexarray_t *front,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 flexarray_t *ro=
_front)<br>
+{<br>
+=C2=A0 =C2=A0 const char *transport =3D libxl_virtio_transport_to_string(v=
irtio-&gt;transport);<br>
+<br>
+=C2=A0 =C2=A0 flexarray_append_pair(back, &quot;irq&quot;, GCSPRINTF(&quot=
;%u&quot;, virtio-&gt;irq));<br>
+=C2=A0 =C2=A0 flexarray_append_pair(back, &quot;base&quot;, GCSPRINTF(&quo=
t;%lu&quot;, virtio-&gt;base));<br>
+=C2=A0 =C2=A0 flexarray_append_pair(back, &quot;type&quot;, GCSPRINTF(&quo=
t;%s&quot;, virtio-&gt;type));<br>
+=C2=A0 =C2=A0 flexarray_append_pair(back, &quot;transport&quot;, GCSPRINTF=
(&quot;%s&quot;, transport));<br>
+<br>
+=C2=A0 =C2=A0 flexarray_append_pair(front, &quot;irq&quot;, GCSPRINTF(&quo=
t;%u&quot;, virtio-&gt;irq));<br>
+=C2=A0 =C2=A0 flexarray_append_pair(front, &quot;base&quot;, GCSPRINTF(&qu=
ot;%lu&quot;, virtio-&gt;base));<br>
+=C2=A0 =C2=A0 flexarray_append_pair(front, &quot;type&quot;, GCSPRINTF(&qu=
ot;%s&quot;, virtio-&gt;type));<br>
+=C2=A0 =C2=A0 flexarray_append_pair(front, &quot;transport&quot;, GCSPRINT=
F(&quot;%s&quot;, transport));<br>
+<br>
+=C2=A0 =C2=A0 return 0;<br>
+}<br>
+<br>
+static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_pa=
th,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libxl_dev=
id devid,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0libxl_dev=
ice_virtio *virtio)<br>
+{<br>
+=C2=A0 =C2=A0 const char *be_path, *tmp =3D NULL;<br>
+=C2=A0 =C2=A0 int rc;<br>
+<br>
+=C2=A0 =C2=A0 virtio-&gt;devid =3D devid;<br>
+<br>
+=C2=A0 =C2=A0 rc =3D libxl__xs_read_mandatory(gc, XBT_NULL,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 GCSPRINTF(&quot;%s/backend&qu=
ot;, libxl_path),<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &amp;be_path);<br>
+=C2=A0 =C2=A0 if (rc) goto out;<br>
+<br>
+=C2=A0 =C2=A0 rc =3D libxl__backendpath_parse_domid(gc, be_path, &amp;virt=
io-&gt;backend_domid);<br>
+=C2=A0 =C2=A0 if (rc) goto out;<br>
+<br>
+=C2=A0 =C2=A0 rc =3D libxl__xs_read_checked(gc, XBT_NULL,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0GCSPRINTF(&quot;%s/irq&quot;, be_path=
), &amp;tmp);<br>
+=C2=A0 =C2=A0 if (rc) goto out;<br>
+<br>
+=C2=A0 =C2=A0 if (tmp) {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 virtio-&gt;irq =3D strtoul(tmp, NULL, 0);<br>
+=C2=A0 =C2=A0 }<br>
+<br>
+=C2=A0 =C2=A0 tmp =3D NULL;<br>
+=C2=A0 =C2=A0 rc =3D libxl__xs_read_checked(gc, XBT_NULL,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0GCSPRINTF(&quot;%s/base&quot;, be_pat=
h), &amp;tmp);<br>
+=C2=A0 =C2=A0 if (rc) goto out;<br>
+<br>
+=C2=A0 =C2=A0 if (tmp) {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 virtio-&gt;base =3D strtoul(tmp, NULL, 0);<br>
+=C2=A0 =C2=A0 }<br>
+<br>
+=C2=A0 =C2=A0 tmp =3D NULL;<br>
+=C2=A0 =C2=A0 rc =3D libxl__xs_read_checked(gc, XBT_NULL,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0GCSPRINTF(&quot;%s/transport&quot;, b=
e_path), &amp;tmp);<br>
+=C2=A0 =C2=A0 if (rc) goto out;<br>
+<br>
+=C2=A0 =C2=A0 if (tmp) {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (!strcmp(tmp, &quot;mmio&quot;)) {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 virtio-&gt;transport =3D LIBXL_V=
IRTIO_TRANSPORT_MMIO;<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 } else {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return ERROR_INVAL;<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
+=C2=A0 =C2=A0 }<br>
+<br>
+=C2=A0 =C2=A0 tmp =3D NULL;<br>
+=C2=A0 =C2=A0 rc =3D libxl__xs_read_checked(gc, XBT_NULL,<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0GCSPRINTF(&quot;%s/type&quot;, be_pat=
h), &amp;tmp);<br>
+=C2=A0 =C2=A0 if (rc) goto out;<br>
+<br>
+=C2=A0 =C2=A0 if (tmp) {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 int len =3D sizeof(VIRTIO_DEVICE_TYPE_GENERIC)=
 - 1;<br>
+<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 if (!strncmp(tmp, VIRTIO_DEVICE_TYPE_GENERIC, =
len)) {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 virtio-&gt;type =3D libxl__strdu=
p(NOGC, tmp);<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 } else {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 return ERROR_INVAL;<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
+=C2=A0 =C2=A0 }<br>
+<br>
+out:<br>
+=C2=A0 =C2=A0 return rc;<br>
+}<br>
+<br>
+static LIBXL_DEFINE_UPDATE_DEVID(virtio)<br>
+<br>
+#define libxl__add_virtios NULL<br>
+#define libxl_device_virtio_compare NULL<br>
+<br>
+DEFINE_DEVICE_TYPE_STRUCT(virtio, VIRTIO, virtios,<br>
+=C2=A0 =C2=A0 .set_xenstore_config =3D (device_set_xenstore_config_fn_t)<b=
r>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0libxl__set_xenstore_virtio,<br>
+=C2=A0 =C2=A0 .from_xenstore =3D (device_from_xenstore_fn_t)libxl__virtio_=
from_xenstore,<br>
+=C2=A0 =C2=A0 .skip_attach =3D 1<br>
+);<br>
+<br>
+/*<br>
+ * Local variables:<br>
+ * mode: C<br>
+ * c-basic-offset: 4<br>
+ * indent-tabs-mode: nil<br>
+ * End:<br>
+ */<br>
-- <br>
2.31.1.272.g89b43f80a514<br>
<br>
<br>
</blockquote></div><br clear=3D"all"><div><br></div>-- <br><div dir=3D"ltr"=
><div dir=3D"ltr"><div><div dir=3D"ltr"><div><div dir=3D"ltr"><span style=
=3D"background-color:rgb(255,255,255)"><font size=3D"2"><span style=3D"colo=
r:rgb(51,51,51);font-family:Arial,sans-serif">Regards,</span></font></span>=
</div><div dir=3D"ltr"><br></div><div dir=3D"ltr"><div><span style=3D"backg=
round-color:rgb(255,255,255)"><font size=3D"2">Oleksandr Tyshchenko</font><=
/span></div></div></div></div></div></div></div></div>

--0000000000003ba79805efa430fd--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 16:46:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 16:46:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459864.717641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lws-0002wR-9Q; Mon, 12 Dec 2022 16:46:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459864.717641; Mon, 12 Dec 2022 16:46:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4lws-0002wK-65; Mon, 12 Dec 2022 16:46:38 +0000
Received: by outflank-mailman (input) for mailman id 459864;
 Mon, 12 Dec 2022 16:46:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8fsB=4K=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p4lwq-0002wD-UB
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 16:46:37 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2064.outbound.protection.outlook.com [40.107.22.64])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a195a3c-7a3c-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 17:46:35 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6798.eurprd04.prod.outlook.com (2603:10a6:803:131::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Mon, 12 Dec
 2022 16:46:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 16:46:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a195a3c-7a3c-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k1iau3AJ8F01S+LlUjovw2fzKcAy5eehfy71SEie8RV+Pxg8433jWpGMSHlyqv6AxnKdOMuDWLfs3TLOJmVLucedveJEU32PRFDvna/pgrJlUh8qxllEdx9pzN9b5u5j6JM/hCvjc8QqXQUVolo739+jDI5X3UZx9uW8KSXaxuuOGi7jsgEzFs/y6XzV6F0z7R182jVZiuKqNviD8rDyZ7bNXzr/bHFvS/SugO1FMs0j0s1zkgss/AaKdOBOcnqLLVJqiGpPtfWPPl9pLoRJuu2ay8zoJT6Uc8LIbUSppl1So18kZx5tc1nI7Q8zdjZ2EVnbw2q3bgFZKynDPeAZeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iXcmxDBnFGuVwe8aeoBjo/cLDagYAR7pQ4F6dLNp6Vo=;
 b=cn9cuvfyyLwEx3QREd/cOradxsu/YbjtZzKb2tlgiokKjM6Aw0iCRTTycNjrmii98Nkt26vRkt3mg3yur9JlKmC28SHDKaRBCeqRJJI+jpsUgswjTzptEz28G47lU5uv3zeTVtEkRvGO7ivK4Flg2ON9VWCpY6VwRDOjkWagEMBvUegtucwtLKJfeiBTSmyzmKGUf1gDhF39gnOtbU5pClLGFsEwXWheCrtuK+20R0pnxHAum5NLG/bLcYQBbcOr0ME5rzJfrT3ISk6cCSyi6CKxMR73KX6CoTGUgkGLArOQkW97RAmqn0jCkpOQNHL4hGuLGmbEyWaNxB9le4pbFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iXcmxDBnFGuVwe8aeoBjo/cLDagYAR7pQ4F6dLNp6Vo=;
 b=BGEecH2CT8sih1QoU8jkn1q1M/RuyP78POENMneODJeaPVMje2JWX+QR9On4mTQhr3Egwjkra9hlT0B0UGzz7BnTG9F+Ngc7Hu0pmlNkRWipuMhPYzhrVo2knWBJafA0O4D+cF0hEFS/g79T/pRhZZ5F/4oD045Y2SUPjAxvDPDI2xma4KxyDYHvaN3/iA6zIM9jSq/58quFSE2mh5dhii3/IuW6NZnH7xWSUDG9OV7ZBysGVm3fYfzrLSgFzmTdN0IgNyR+Y1wlFqY4WpL66cXkjwrETPU2gvcWEiLwVWjwMYi0eMNGbm8L6k0QSenbAooGSHaMFOzfJOR9YH0W6g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1eb6048b-bf23-78a0-9c3c-54bbd12c3864@suse.com>
Date: Mon, 12 Dec 2022 17:46:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH linux-next v2] x86/xen/time: prefer tsc as clocksource
 when it is invariant
Content-Language: en-US
To: Krister Johansen <kjlx@templeofstupid.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Marcelo Tosatti <mtosatti@redhat.com>, Anthony Liguori
 <aliguori@amazon.com>, David Reaver <me@davidreaver.com>,
 Brendan Gregg <brendan@intel.com>, Juergen Gross <jgross@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
 <20221212155730.GA1973@templeofstupid.com>
 <20221212160524.GB1973@templeofstupid.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221212160524.GB1973@templeofstupid.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0173.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB6798:EE_
X-MS-Office365-Filtering-Correlation-Id: f2694101-7397-4e03-59d2-08dadc606bc9
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QTyy7whPcpty+nrSYvJQ0g9pz/5MZU9mlAp8tvBTGWs2cPh098fc/oVdGWx3OFvB3e1gVodKBLlL3RkKpMkNRMw7qFfglgiP3wh/QBihBCiFLSJeRoBJ9KS3drTk7xtq8/DeGLgbqEwtPwDRv7DyNdCO9f1ZJS1npD6qjD16dZqSGktKCgBDcy9gv/aiaLjQEnzOs/6d+ToYZcPAl/vlhew2Wize1d7Dn2hdt4MCsOU89FjV4yFDlpQlZDuBET77WeLwj+GDmR5CGFLL3GkAgfihKb3mPhIqlv1JDFp99QTK6O+o3zKuBJr/9h6Gd//7Yb7cuKAen+IxOpolkjFYVf5AfoNnGwUup29teVbO0lsvfj/+lklExkDQ3u7QhDGzF8l6aakpQdl2Xre8eVmUWAX9q6RSH+kS82+tZfgTI9b1FDrM4+lb6LboAu9TisG5PRoNw2Sivk/bYzYFCRQJ/tpD0+H43iA6y5cgv1REcnaMLS4UR+q1C6cMkVQTo/p3cL1ijVltrmIc8JUNuvPbxFWwnwPUk+D0PyPq3AWDAfwcoBeExEztMd0CbrIodCxqYWUG4gBOQB2Act7y+2tFI/LRcwOMCnZhTJxl3ouuQNZiPIhWhvAs9CFN8QkVVetEsSvcIpViv8osytU38PZYCla06s7ga2rKPo3bvzt8xHsq9wOzQFO5Zy5IPNRPqCzWxWj/Z3ZvKBvxLl2BeU0BVfLyud+K56dQQmSbMO2fOZU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(376002)(396003)(39850400004)(346002)(136003)(451199015)(86362001)(31696002)(54906003)(83380400001)(26005)(6506007)(6916009)(6512007)(53546011)(186003)(6486002)(2616005)(478600001)(41300700001)(2906002)(7416002)(5660300002)(8936002)(38100700002)(66946007)(4326008)(8676002)(31686004)(66476007)(66556008)(316002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cWlMMlk0NjI3enRmQ2VIY3ozTFR3eXpRV2w0NWw5WVBtZk9MQlFaOTU5dmlz?=
 =?utf-8?B?VlVlZEVUWC9FSDIwNS9YVDRLSkl2SmNyV3FJWWd0cTFUcEpWZmhGRWswcGps?=
 =?utf-8?B?YXZWZDJVMGt2elJSSnNkamZ6VWUydXNWcytQYXp4VHNmRERoTnpjRUxEU0Qw?=
 =?utf-8?B?MUtEa0dUTDBzNWl6cnRSckUwY2taamJCNVozOFRab3VEVlgvZzFFNWtvaVB6?=
 =?utf-8?B?cXlMeGx2SHFYTG82bktZcE9EQVYzb1V6S3RrTmpnUWs1Rmh1bUdKakhCUk5F?=
 =?utf-8?B?VS9uN1liRzlRbHMvaGdMZ01jcFlQZG5tRUwxbDJwdDg5UjZDSkozZWI3K2NE?=
 =?utf-8?B?Q2tLUkhhUjF2M2dZSUFQSjdKUVQxV2cvSzM2eDhEb0l4NHhncGxZeFhibGtH?=
 =?utf-8?B?WnJJeTE1UU54R0h2OU5lcXBBV3VWLy9hekFFbDZJL2VzemJBNlBQSUVBQ1hC?=
 =?utf-8?B?OUJzZStvVE1rZ3NzR0Q3aUVqalZaZUZhTUhOdkFxb2YxWUdDWklKWVdjOUQ5?=
 =?utf-8?B?YXdQcWdnQTZhdDBnRXJWSVRjNlVIcjdFMUNhU1Erb21uMGQvTGZHMjVGN1lD?=
 =?utf-8?B?d3R2SUQ5dWRic1VRMGlUZEltRVpjWXJBWFZvcFR6N3pZcGlraHVQd0w1K0N6?=
 =?utf-8?B?N3cyU1lOZHdYK2p4YVp2bFVuMUtKZS9kMkNPKzk0MWV3MDFTSmZGNmk0TmRK?=
 =?utf-8?B?Q0JpNFdBUDBLUHNRd256aU5COXZkMW9CRVBnMnVvUi9iRC9PTWFpdHp6ZHNk?=
 =?utf-8?B?UmZKWVZCVERCa25BZHJhTkR0MDh6R3dNZnptS3Y4YmV2bThRY1RrVmRKNE83?=
 =?utf-8?B?YTNyT1NjQ1NYWUJBazI0ZlRYa1MrdThmM28xd3N6YzVtVnZzQm14NG1ya1Z4?=
 =?utf-8?B?Uk5ZcGVGOWJUNnU1VUR1aktuQlBvREVsMW9UUDJpbGR2dkNOUjdTSEZNc2JX?=
 =?utf-8?B?eHBOd3pjTmo2T2NJQ0thYW1oU3RIYnBXejlNTXhJajdXL3pZOEptQ0VRdzg1?=
 =?utf-8?B?MzdCNFVIMG9uWkR4eDF1NHNPTDA5aHJsOHhNQjh3bmxwdndkcFRXN2k1Q2RW?=
 =?utf-8?B?dnlSR3c1UDFUQTlEcHU5YlFtVlhybXhtMWV6emNZWHpGS093dWNzQ2dhU3dB?=
 =?utf-8?B?emJIYk82c3pOUTJSb29rVjlNVERhNVk5QkFsVk9LcDhzNHZjbmRMVDlWWmU5?=
 =?utf-8?B?b1p0cWR4Rk9zWi9qRjcrOHJ4aEw2Kys3MjN2M09ySVhSNWYvTVhyZWFQWDVQ?=
 =?utf-8?B?T0F2dmlOdE9rM3QybGlvVm5vZmU3ZEhiNlgwaUNPWlliNjFkVmw2cCs4Z295?=
 =?utf-8?B?NGZqbjZUMGxVM0JQWnZGbWR1MjlKWWxRYWVrclpkaU1MdUU1Y2FEYW93amIz?=
 =?utf-8?B?VDNGUUdLU0huY3pnWWtoNzlJL0prQ2FkcjAybXRrM2hRNndWNjVrWUFFYm9k?=
 =?utf-8?B?T1Aza1NNcGR1MnhLNjJVK3RmajIwYzFXSGlORVFnWXJJOFlzTzV1NVdyckUx?=
 =?utf-8?B?aUFwRm1IRXg1VFpGUXEwM3pCTEFtU0xGSVZ4NDB5L2UwQnBoUnpBRjBUK0VH?=
 =?utf-8?B?My83cGJsSmM3THdsMFVqaS9BZnVwQ2JIakdBdThBa0lBN210dGNLRE0wQnJv?=
 =?utf-8?B?eEQvaUdsU1pqQmVHMUVZcUl1YWF0bktqZ2tiM0NFWmZNZU5WRUJvUHpDTmFa?=
 =?utf-8?B?ODRNMmlCSDg5bWtDM3paVndjSG85RmlzSHZnL1NpbjN6ZlZTRU80V0Q0ajNE?=
 =?utf-8?B?RENmQTRVWjJZWmtUTVIyWnlWeHdQWkxjMGNpbmREekdzOWN1dThsc2FldzBq?=
 =?utf-8?B?V2VEOUZRSDVQdjhORnJUclRrQlp1ajNSNUhDemZpYWRDZHhLeCtQakNKbjFR?=
 =?utf-8?B?NEhORHprMVJlMGUvRm5nSkEwRjdxcEhUbEhidEg5ZzRNdHJaRDZDVjNaZFNY?=
 =?utf-8?B?YnQ2bkhnSXoxTzZRRFVSajNmb3VteG9qYXE4K2Z1VktKaitLeC9hcW9WYmNk?=
 =?utf-8?B?dEtXTzNmZW9aVk9sMWxxdFVFZWphZVlTclNwVnNwdjhzWS9DeFlWV1A5YVpV?=
 =?utf-8?B?RjF4T2N3a3crZlFsN0tCUzZDNTBWMjE3K21PMDJiRVZvOHQrUkJnejMrekhL?=
 =?utf-8?Q?hvopEQM4DL6M0ARYfnZVhWvVn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f2694101-7397-4e03-59d2-08dadc606bc9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 16:46:31.0769
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3EKwO1MJAXn/FvzmtOINtW5CN1Hwabtw8Gyhp1B69ydXTROCqcG91d+F3HjPl3PCj0O6eqjy+WqKzQ5h1wxOUQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6798

On 12.12.2022 17:05, Krister Johansen wrote:
> Kvm elects to use tsc instead of kvm-clock when it can detect that the
> TSC is invariant.
> 
> (As of commit 7539b174aef4 ("x86: kvmguest: use TSC clocksource if
> invariant TSC is exposed")).
> 
> Notable cloud vendors[1] and performance engineers[2] recommend that Xen
> users preferentially select tsc over xen-clocksource due the performance
> penalty incurred by the latter.  These articles are persuasive and
> tailored to specific use cases.  In order to understand the tradeoffs
> around this choice more fully, this author had to reference the
> documented[3] complexities around the Xen configuration, as well as the
> kernel's clocksource selection algorithm.  Many users may not attempt
> this to correctly configure the right clock source in their guest.
> 
> The approach taken in the kvm-clock module spares users this confusion,
> where possible.
> 
> Both the Intel SDM[4] and the Xen tsc documentation explain that marking
> a tsc as invariant means that it should be considered stable by the OS
> and is elibile to be used as a wall clock source.  The Xen documentation
> further clarifies that this is only reliable on HVM and PVH because PV
> cannot intercept a cpuid instruction.

Without meaning to express a view on the argumentation as a whole, this
PV aspect is suspicious. Unless you open-code a use of the CPUID insn
in the kernel, all uses of CPUID are going to be processed by Xen by
virtue of the respective pvops hook. Documentation says what it says
for environments where this might not be the case.

> @@ -474,15 +475,55 @@ static void xen_setup_vsyscall_time_info(void)
>  	xen_clocksource.vdso_clock_mode = VDSO_CLOCKMODE_PVCLOCK;
>  }
>  
> +/*
> + * Check if it is possible to safely use the tsc as a clocksource.  This is only
> + * true if the domain is HVM or PVH, the hypervisor notifies the guest that its
> + * tsc is invariant, and the tsc instruction is not going to be emulated.
> + */
> +static int __init xen_tsc_safe_clocksource(void)
> +{
> +	u32 eax, ebx, ecx, edx;
> +
> +	if (!(xen_hvm_domain() || xen_pvh_domain()))
> +		return 0;
> +
> +	if (!(boot_cpu_has(X86_FEATURE_CONSTANT_TSC)))
> +		return 0;
> +
> +	if (!(boot_cpu_has(X86_FEATURE_NONSTOP_TSC)))
> +		return 0;
> +
> +	if (check_tsc_unstable())
> +		return 0;
> +
> +	cpuid(xen_cpuid_base() + 3, &eax, &ebx, &ecx, &edx);

Xen leaf 3 has sub-leaves, so I think you need to set ecx to zero before
this call.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 17:04:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 17:04:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459873.717652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4mE9-0005d5-Q5; Mon, 12 Dec 2022 17:04:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459873.717652; Mon, 12 Dec 2022 17:04:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4mE9-0005cy-Mb; Mon, 12 Dec 2022 17:04:29 +0000
Received: by outflank-mailman (input) for mailman id 459873;
 Mon, 12 Dec 2022 17:04:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=8fsB=4K=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p4mE8-0005cs-2I
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 17:04:28 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2059.outbound.protection.outlook.com [40.107.105.59])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 083c5fe8-7a3f-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 18:04:26 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7862.eurprd04.prod.outlook.com (2603:10a6:20b:2a1::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Mon, 12 Dec
 2022 17:04:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 17:04:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 083c5fe8-7a3f-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eGU/ca6AZNYuSRxlh0ap7eDCcbfy7zAODC/WaolCLEHNHm2Cq6w8oiFI7lu/4GPzmpp4g1bvXKR5K/16xROQKh2PCdK9F7iCyqwUdDujddbYZziUj+KSIAleg4MUaTcjpsaTSOYEFUnHWVnP8hDmk/JClyN27wsHuqES4fJ59I/6TWQ4poA7O/Hqcb649qzdv507tu8x1ziD43voFyFFkuPF99A99JWylRMD2500oyuWKD+LaCWbsaYjboI0e9FFEtdLDvMoinrBrOvju/dM0Kviz2D3++3kX1U4MaDg0XVbt4ke8DNhweKM7U2ZNKa3vMQFNDqL4TaMvrcRj8tMqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yAef7jgG5HuSLH7kh4g4SB4CLihc+yHiqlE1uVmyxfM=;
 b=FShIP0YGl5rnXXN9xDQqCq+ym5yHobzhuI5IMgumWE5CqZd6u6cgIrwkYi+UEaYu+7bW/GZ47HjevdpBRb6wiKDivkfsuhi9GZuXR4Fhs1ZILBy6SWxLbX+HjwmGZ3PjVqmz6HE7+6NJdIOGIlhLuQB3FYK1rBqnmNT+T1Rl6JqUZ2rNLnXKEfkZXRNX4Warzemi4oA/vKqZy5pQRlyFMRFbd6arLR7qqNLlq+QSdeNe+MMcyXPLHvTJUOQ/PH2gwZT/nrDkp/wsnxkes9jlLNYfd2gcYZCy/QNNDSCSmwLwNDX/ObS1jAmoJPfWbDVRmvCSG83TX6ErtzbMVFEI0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yAef7jgG5HuSLH7kh4g4SB4CLihc+yHiqlE1uVmyxfM=;
 b=0/ldxSpEayD99/HVfp9VSXwFIAPWWCu9dHTzQLqR6lPKD2CFYBavEbQsDN3c4XBjX5viD0oUQRPWosj3jvW3XfOcQrw1QCjDSRapxL1Zl+yfniVVVYsa7SRfpfQh8Yg1ACTnbUjILg7Lic2Y5JOxDNMn6c/t43MonIw/ZzsWA/GdZSqz6yDVD31LMXPY0K+yAhmHZ75s6m7U5pEJtJRXvYDjZMniRGHE5R3o5tN9xqQKIcZjd7G19p1XlfNPDj+QUFXVw6AdMgPUYqY4C0130ZI5oBe/1ZEVXCH0bdW4FiQVcOReMz7Aj3JAme5oQ040SKlk4okRn8//nCmYGexfxg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <641a5905-3a1a-e128-788d-e907297aa213@suse.com>
Date: Mon, 12 Dec 2022 18:04:22 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 3/3] x86/pci: Fix racy accesses to MSI-X Control register
Content-Language: en-US
To: David Vrabel <dvrabel@cantab.net>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, David Vrabel <dvrabel@amazon.co.uk>,
 xen-devel@lists.xenproject.org
References: <20221110165935.106376-1-dvrabel@amazon.co.uk>
 <20221110165935.106376-4-dvrabel@amazon.co.uk>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221110165935.106376-4-dvrabel@amazon.co.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0132.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7862:EE_
X-MS-Office365-Filtering-Correlation-Id: c885281d-c036-42ba-1365-08dadc62eb8a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zIdkIVfCqAXQmHShnlwgzyAQEnk+hAon77cu953C6zukYbfClKUfwYttXhzbnufcDGW2VRtVXH9hYw+4zAsmfaJEI2u2QsPJQ9AHLxAHe+ccFczH+OitKF892GR7U8AmKOquyiWjh7Uy0peaaqNDJLK/e0uS8YD+9JmUcBsMKeIg0AFEJwG17Ec8WRU1/Y2mG5dLGANe/xT6XoIo1sfkKSjkeDnqImQTyB4yPDE74SLIcvPzGU+KeXD8XNWxCxfwiHx4d3C2dTl33J+aENwb+1AeU4OrLPovayVPZ9oBfNBgKqZI/DLkc7Nuc4VnukqaYpyuvAVI+jq5MiuoL6RL4sI2f3bqqVT6QQXgMztK6Oajy7g/eohdgpdMFASPdhRWao19cc0zUMlG0iIOgow1q9xY+5pXcm2+MeLSRdL8M+exQAbAX+/TVvGz3W5qnGRSy2ED+GXJf4F2f6NgKRgS8TiWk/+ttop4NSp2PuN5LXVvMnHIHPf+jmNOsJ2YR1Uow0LKza52ZJJvd8INVoN4JAAsTzdp7Wwmkn43OAcUQKovPvFkwbLYY9/MP8ZODL6Iznl7rleTSTW+YiMKcOfAK3j4GbnbXejUYdwiqa8t2IIAVvoJTftAig9428OddH3rjYw4yE6z+k9Mk0FitA87o8w9uUPsN9yOjhx6Iss6RbAQLTx+r5dYzH1Fs1O6WtZG57a8UJeLoY8GbyzzG9tNjj4x2SHkDUrEnZAw/7/ZPBqWA/AiTbAzz5ZsF07yFLCq
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(396003)(346002)(366004)(376002)(39860400002)(451199015)(38100700002)(41300700001)(66556008)(66946007)(31686004)(8936002)(4326008)(8676002)(66476007)(5660300002)(2906002)(83380400001)(186003)(316002)(6916009)(54906003)(36756003)(6506007)(478600001)(53546011)(26005)(6486002)(966005)(6512007)(31696002)(86362001)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZlpWNUhyMWtuVSs0TGhYZGNYbXJLRnhlY21YNU0zcmFPVE4vRm1tL1hoTzZw?=
 =?utf-8?B?VmdrMC9BSHVIM3E1dW0xbUc5aERRNmVWb2E0V1ZHanAyYVhvTlZ3UEdFam1i?=
 =?utf-8?B?bGFlUzIwSSt0QU1XNFR0SDNPWXRXVncwR2tPQnRmZVZiVWZRbDl1ckpGU0xE?=
 =?utf-8?B?TDFSeldEZUlLd3JQMEhxcXFhTDgwdmljcWlNK2F3anc0T2J4WHFGbmVteGhw?=
 =?utf-8?B?ZUZlK2RxMkIzZlNRWGlyWmpGeHJralllb2FaZFV1bDNIam5JUGxobHpnQVU0?=
 =?utf-8?B?aUR5Vmx2Sk1zdnNTWXM0TU54VTl6L3EzcHJTQTdNM3pPUTB2OEFqOHE0OXlG?=
 =?utf-8?B?OWMvUTl5UHJ6Qktsb25ubVplWkcvaE1YVlU0aHI2TDY1My9HNlFRZk1yWGhn?=
 =?utf-8?B?dWxyVTVwU3YyUWVRSW5GSWRLVEFGMDN1MDJqa1ZLaHYzQmxzUk5kUmJkTS9M?=
 =?utf-8?B?U0MwTWp1eEFMRzk4bWU0ckRPdXNxN3VjQWpqVThmb2NvZ1ZUQnJMRzkrUnVh?=
 =?utf-8?B?NWQrWUd2Nno3TVdjZXZkMDRUYUFUZ3FRd0RNcjl4VDZBbFdVWHB4c1NkeFJt?=
 =?utf-8?B?WVBncVI2STFoU1M3UTg5K05MV3czSVMzK1ErWWRDNDN3VFJ5SHNGdlpwcWpW?=
 =?utf-8?B?c0Q5VmZ6NTYwOTZHcmVSOVhlTytnSCtDNEJYT0p3TUhkK2MzSmRYamE2a1BW?=
 =?utf-8?B?Mjl6eURBaVh1ZFFGYUN0T2F5SStPa1VORkJjU1ZlWXlGOTBXdlo0ODcrTlJV?=
 =?utf-8?B?bnBnblNjaVlVdHM5T2FQeW9RSVlPc3pJbENHKzVqL09OVUxDZDQrdk0xZFlY?=
 =?utf-8?B?bjZvcjcrRlBCYkhWclJrNlgzSXlMbnZsWUpJN2dQeURvRkZXU29OU0g4eVVZ?=
 =?utf-8?B?WXF0UFJveGNiNk9kQ05xRU5LNkpiNHdHZ2ZuZG1pUUx0THVkait0VEt2YXFj?=
 =?utf-8?B?VnRrOHBMUWxjTWF0Wi9SUTZYQmV1NTBpTXNJcE1YUE9zRTZtYTZUSytUL2Jj?=
 =?utf-8?B?MTBDb0tMSUY0TDJOVVRGNHZUbTM0S2RXWE4zOGY0dWNRcytDL2k1MlNGSVJX?=
 =?utf-8?B?K3pxd1Qrdzh0RmhJWFVWbzBGbTlPOWZqSndyWlNqOFdoU1JOODdDdU1jSENh?=
 =?utf-8?B?ZnBsRmRzLzFLS0kzYUdOa085eEtnRHBobi9QanRZMHl2UUZQR25Oc3JYaDRK?=
 =?utf-8?B?UkIxZ1dSV3N2S3ZlRFNtdS9wTHloZFZVWXpyV2xYUnFCUG11eUlqczJiRkJR?=
 =?utf-8?B?N0dzRGhISy9CRDRNWkhpbjhTV2huYjc1LzZ4OHVnUTBSNVFhZWozYTkyMklM?=
 =?utf-8?B?M2lDYUxJcnV1UEluV3h3ekZZK3ZNRElwNUNQMGJFY1BKUkV5WnVnZXF1bHZK?=
 =?utf-8?B?U2N1dGc3dUZ4YzdhRXFRV0kxTHBYdDFsVzY3ak1YekRMZUJRMXFsK2J5VFY3?=
 =?utf-8?B?alFxenFSWi81SUE1T2xydWlTSU9OWlhYbjBJRmNPZGpXczF4VXNtMEU5SnM4?=
 =?utf-8?B?TFlFTmtSQjg1NGh6QnVMWTcvRXNEOUlhTEFoZnEyOU9hQ2hlOTIxby9JVlVk?=
 =?utf-8?B?WG5BbEtFYnpMVG8rMlI3T05ya2Z4TUhIWFNCRkJsOTFWUmhTK0h3N2xRUHVj?=
 =?utf-8?B?MmFtZUc5SmRzWkpNbVlFT0V3UTFSTnZCc0hNWm8vMHloQzdzL0ovZG9HcFc4?=
 =?utf-8?B?THVvd2tlNVJ4N1c4Rm0ycWV6ZGxQSEdoVXdNcUFWNnJWUUo0cVBkeFFnVUxh?=
 =?utf-8?B?Y2Jya080U2s4RnJ3VUN2UkhmdkVTMjV2M00raWcrNHFVNDFSaytwSU5EVmFy?=
 =?utf-8?B?OGxjQVBGYlpnSEVrbDVzTXBnSlZ5TjV1WjhjOVJ4OWt4bzB1MTlqYXdTNGRm?=
 =?utf-8?B?eEhweDI2MUIwM0lhMVU0RmJ5cWFqMDl0bERCUDI3S08xTXRzOUtBY3FqMytQ?=
 =?utf-8?B?RmdrZGhyaWhTcFBqelF5UUlWYzNWK2xkcnp1SlI3VGhjKzRrVUV4cFVSZkFj?=
 =?utf-8?B?dVJLY2hPT3ZxU2x5Vjg4MW54cC9YRHR0MDdDblorbGtUQmREZzFhdkNPRzVu?=
 =?utf-8?B?blpKbUVPbzluVHJKcWtUbWxkOGVBWHdiSXp2SGRQL1ZxMlo3MUE0WUtRNlRB?=
 =?utf-8?Q?kv9UaKS44aLzHprFwSvnRfj7u?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c885281d-c036-42ba-1365-08dadc62eb8a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 17:04:24.4509
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +53rR5VfFkkxMBTb587JyA61ac5sdn48Ariumn4tIcuVTAHhT0MqogzSChugVnq/q3wyukYBzn+hBrwxC3z0oA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7862

On 10.11.2022 17:59, David Vrabel wrote:
> Concurrent access the the MSI-X control register are not serialized
> with a suitable lock. For example, in msix_capability_init() access
> use the pcidevs_lock() but some calls to msi_set_mask_bit() use the
> interrupt descriptor lock.
> 
> This can lead to MSI-X being incorrectly disabled and subsequent
> failures due to msix_memory_decoded() calls that check for MSI-X being
> enabled.
> 
> This was seen with some non-compliant hardware that gated MSI-X
> messages on the per-vector mask bit only (i.e., the MSI-X Enable bit
> and Function Mask bits in the MSI-X Control register were ignored). An
> interrupt (with a pending move) for vector 0 would occur while vector
> 1 was being initialized in msix_capability_init(). Updates the the
> Control register would race and the vector 1 initialization would
> intermittently fail with -ENXIO.
> 
> Typically a race between initializing a vector and another vector
> being moved doesn't occur because:
> 
> 1. Racy Control accesses only occur when MSI-X is (guest) disabled
> 
> 2  Hardware should only raise interrupts when MSI-X is enabled and unmasked.
> 
> 3. Xen always sets Function Mask when temporarily enabling MSI-X.
> 
> But there may be other race conditions depending on hardware and guest
> driver behaviour (e.g., disabling MSI-X when a IRQ has a pending move
> on another PCPU).
> 
> Fix this by:
> 
> 1. Tracking the host and guest enable state in a similar way to the
>    host and guest maskall state. Note that since multiple CPUs can be
>    updating different vectors concurrently, a counter is needed for
>    the host enable state.
> 
> 2. Add a new lock for serialize the Control read/modify/write
>    sequence.
> 
> 3. Wrap the above in two helper functions (msix_update_lock(), and
>    msix_update_unlock()), which bracket any MSI-X register updates
>    that require MSI-X to be (temporarily) enabled.
> 
> Signed-off-by: David Vrabel <dvrabel@amazon.co.uk>

Just a couple of mechanical / style comments, at least for now:

> SIM: https://t.corp.amazon.com/P63914633
> 
> CR: https://code.amazon.com/reviews/CR-79020945

These tags shouldn't be here, unless they have a meaning in the
"upstream" context.

> --- a/xen/arch/x86/include/asm/msi.h
> +++ b/xen/arch/x86/include/asm/msi.h
> @@ -237,7 +237,10 @@ struct arch_msix {
>      int table_refcnt[MAX_MSIX_TABLE_PAGES];
>      int table_idx[MAX_MSIX_TABLE_PAGES];
>      spinlock_t table_lock;
> +    spinlock_t control_lock;
>      bool host_maskall, guest_maskall;
> +    uint16_t host_enable;

If you want to keep this more narrow than "unsigned int", then please
add a BUILD_BUG_ON() against NR_CPUS, so the need to update the field
can be easily noticed (in some perhaps distant future).

> +static void msix_update_unlock(struct pci_dev *dev, unsigned int pos, uint16_t control)
> +{
> +    uint16_t new_control;
> +    unsigned long flags;
> +
> +    spin_lock_irqsave(&dev->msix->control_lock, flags);
> +
> +    dev->msix->host_enable--;
> +
> +    new_control = control & ~(PCI_MSIX_FLAGS_ENABLE | PCI_MSIX_FLAGS_MASKALL);
> +
> +    if ( dev->msix->host_enable || dev->msix->guest_enable )
> +        new_control |= PCI_MSIX_FLAGS_ENABLE;
> +    if ( dev->msix->host_maskall || dev->msix->guest_maskall || dev->msix->host_enable )
> +        new_control |= PCI_MSIX_FLAGS_MASKALL;

In particular this use of "host_enable" suggests the field wants to be
named differently: It makes no sense to derive MASKALL from ENABLE
without it being clear (from the name) that the field is an init-time
override only.

> @@ -299,11 +350,16 @@ static void msix_set_enable(struct pci_dev *dev, int enable)
>      pos = pci_find_cap_offset(seg, bus, slot, func, PCI_CAP_ID_MSIX);
>      if ( pos )
>      {
> +        spin_lock_irq(&dev->msix->control_lock);
> +
> +        dev->msix->host_enable = false;

You explicitly say this isn't a boolean, so the initializer would better
be 0.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 17:06:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 17:06:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459881.717663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4mFz-0006OU-4Z; Mon, 12 Dec 2022 17:06:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459881.717663; Mon, 12 Dec 2022 17:06:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4mFz-0006ON-1s; Mon, 12 Dec 2022 17:06:23 +0000
Received: by outflank-mailman (input) for mailman id 459881;
 Mon, 12 Dec 2022 17:06:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NYNi=4K=citrix.com=prvs=3386b37d0=Per.Bilse@srs-se1.protection.inumbo.net>)
 id 1p4mFx-0006Me-VP
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 17:06:21 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4a95a57c-7a3f-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 18:06:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a95a57c-7a3f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670864779;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=sMPzjY9YCDiCSf18nv+XYdrNotL4tPcjoEGZ13RJQys=;
  b=S+nqZ1eux+s7x3j5L79lWBmKg3X1kHY1X6PWE19IMl2XK7o5IhOvycXk
   hKmMycvIkiaxWHFIKxbffHS8sJdpUsUDYkXinAWX10oEP9oLeXvPWt+eq
   CjndMTLM3lwgUkyRQQL1S6G+buhSuUsYuDkJqIHj7NZIxGEMU8Cg0uEYE
   w=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87954350
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:rm/1iKBo8za6zBVW//7jw5YqxClBgxIJ4kV8jS/XYbTApGx33mNSz
 jQaWWiDa/aNZzT9KIh3aI/g/RxT75+DzNZmQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlB5ARkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw0eRRIUhgp
 PsiBTlVVkGPpPnu8Ym+Vbw57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2o0BPjDS0Qn1lM/MJ8k2s2pgmLyWzZZtEiUtew85G27IAlZgOe8bYaOJ4TiqcN9mHyyl
 H7/wk/FMhhdCfC2yWre0W29mbqa9c/8cN1LT+DpnhJwu3WI3XAaAhASUVq9oNG6h1S4VtYZL
 FYbkgIpqaUx70WtQsPKQwyjoHWEsxgfXPJdC+Q/rgqKz8L88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIVqZ97GJvXaxNDITIGsqeyAJV00G7sPlrYV1iQjAJv5hH7SylcbdAizrz
 naBqy1WulkIpZdVjePhpwmB2m/y4MiSJuIo2unJdkmnyCNQSt+iXaGhsWCK4dVbdLeiS0bU6
 RDohPOixOwJCJiMkgmET+MMAKyl6p65DdHMvbJ8N8J/rmrwohZPaagVuWgjfxkxbq7obBezO
 CfuVRVtCIi/1ZdARYt+eMqPBssj1sAM/vy1B6mPPrKijnWcHTJrHR2Ch2bKhAgBc2B2y8nT3
 Kt3lu7yZUv28Yw9kFKLqx41iNfHPBwWy2LJXozcxB+6y7eYb3P9Ye5bbwPRPrtksvPf8FS9H
 zNj2yyikkU3bQEDSnOPrd57wa4ichDX+qwaW+QIL7Xec2KK6UkqCuPLwKNJRmCWt/09qws8x
 VnkAhUw4AOm1RX6xfCiNigLhEXHAcwu8hrW/EUEYT6V5pTUSdz/tPtOK8VsI+hPGS4K5accc
 sTpsv6oWpxnIgkrMRxHBXUhhOSOrCiWuD8=
IronPort-HdrOrdr: A9a23:FB7TDqp+xM8KxmKDlMMcfy0aV5rzeYIsimQD101hICG9JPbo8f
 xGUs516faUskdzZJhOo7u90cW7K080lqQU3WByB9mftVLdyQyVxehZhOPfKlvbdhEWndQ96U
 4PScRDIey1N1Rgksbx7C6/DZINxNGG9YqshevY0h5WPGVXgw4L1XYBNu42eHcGITWvpPACZf
 ih2vY=
X-IronPort-AV: E=Sophos;i="5.96,239,1665460800"; 
   d="scan'208";a="87954350"
From: Per Bilse <per.bilse@citrix.com>
To: <linux-kernel@vger.kernel.org>
CC: Per Bilse <per.bilse@citrix.com>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, "moderated list:XEN HYPERVISOR INTERFACE"
	<xen-devel@lists.xenproject.org>
Subject: [PATCH v2] drivers/xen/hypervisor: Expose Xen SIF flags to userspace
Date: Mon, 12 Dec 2022 17:06:05 +0000
Message-ID: <20221212170605.28192-1-per.bilse@citrix.com>
X-Mailer: git-send-email 2.31.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

/proc/xen is a legacy pseudo filesystem which predates Xen support
getting merged into Linux.  It has largely been replaced with more
normal locations for data (/sys/hypervisor/ for info, /dev/xen/ for
user devices).  We want to compile xenfs support out of the dom0 kernel.

There is one item which only exists in /proc/xen, namely
/proc/xen/capabilities with "control_d" being the signal of "you're in
the control domain".  This ultimately comes from the SIF flags provided
at VM start.

This patch exposes all SIF flags in /sys/hypervisor/start_flags/ as
boolean files, one for each bit, returning '1' if set, '0' otherwise.
Two known flags, 'privileged' and 'initdomain', are explicitly named,
and all remaining flags can be accessed via generically named files,
as suggested by Andrew Cooper.

Signed-off-by: Per Bilse <per.bilse@citrix.com>
---
v2: minor fix to layout, incorporate suggestions from Juergen Gross
---
 Documentation/ABI/stable/sysfs-hypervisor-xen | 13 ++++
 drivers/xen/sys-hypervisor.c                  | 69 +++++++++++++++++--
 2 files changed, 78 insertions(+), 4 deletions(-)

diff --git a/Documentation/ABI/stable/sysfs-hypervisor-xen b/Documentation/ABI/stable/sysfs-hypervisor-xen
index 748593c64568..dbc5eccce8ea 100644
--- a/Documentation/ABI/stable/sysfs-hypervisor-xen
+++ b/Documentation/ABI/stable/sysfs-hypervisor-xen
@@ -120,3 +120,16 @@ Contact:	xen-devel@lists.xenproject.org
 Description:	If running under Xen:
 		The Xen version is in the format <major>.<minor><extra>
 		This is the <minor> part of it.
+
+What:		/sys/hypervisor/start_flags/*
+Date:		December 2022
+KernelVersion:	6.1.0
+Contact:	xen-devel@lists.xenproject.org
+Description:	If running under Xen:
+		All bits in Xen's start-flags are represented as
+		boolean files, returning '1' if set, '0' otherwise.
+		This takes the place of the defunct /proc/xen/capabilities,
+		which would contain "control_d" on dom0, and be empty
+		otherwise.  This flag is now exposed as "initdomain" in
+		addition to the "privileged" flag; all other possible flags
+		are accessible as "unknownXX".
diff --git a/drivers/xen/sys-hypervisor.c b/drivers/xen/sys-hypervisor.c
index fcb0792f090e..f5460b34ae6f 100644
--- a/drivers/xen/sys-hypervisor.c
+++ b/drivers/xen/sys-hypervisor.c
@@ -31,7 +31,10 @@ struct hyp_sysfs_attr {
 	struct attribute attr;
 	ssize_t (*show)(struct hyp_sysfs_attr *, char *);
 	ssize_t (*store)(struct hyp_sysfs_attr *, const char *, size_t);
-	void *hyp_attr_data;
+	union {
+		void *hyp_attr_data;
+		unsigned long hyp_attr_value;
+	};
 };
 
 static ssize_t type_show(struct hyp_sysfs_attr *attr, char *buffer)
@@ -399,6 +402,60 @@ static int __init xen_sysfs_properties_init(void)
 	return sysfs_create_group(hypervisor_kobj, &xen_properties_group);
 }
 
+#define FLAG_UNAME "unknown"
+#define FLAG_UNAME_FMT FLAG_UNAME "%02u"
+#define FLAG_UNAME_MAX sizeof(FLAG_UNAME "XX")
+#define FLAG_COUNT (sizeof(xen_start_flags) * BITS_PER_BYTE)
+static_assert(sizeof(xen_start_flags) 
+		<= sizeof_field(struct hyp_sysfs_attr, hyp_attr_value));
+
+static ssize_t flag_show(struct hyp_sysfs_attr *attr, char *buffer)
+{
+	char *p = buffer;
+
+	*p++ = '0' + ((xen_start_flags & attr->hyp_attr_value) != 0);
+	*p++ = '\n';
+	return p - buffer; 
+}
+
+#define FLAG_NODE(flag, node)				\
+	[ilog2(flag)] = {				\
+		.attr = { .name = #node, .mode = 0444 },\
+		.show = flag_show,			\
+		.hyp_attr_value = flag			\
+	}
+
+/*
+ * Add new, known flags here.  No other changes are required, but
+ * note that each known flag wastes one entry in flag_unames[].
+ * The code/complexity machinations to avoid this isn't worth it
+ * for a few entries, but keep it in mind.
+ */
+static struct hyp_sysfs_attr flag_attrs[FLAG_COUNT] = {
+	FLAG_NODE(SIF_PRIVILEGED, privileged),
+	FLAG_NODE(SIF_INITDOMAIN, initdomain)
+};
+static struct attribute_group xen_flags_group = {
+	.name = "start_flags",
+	.attrs = (struct attribute *[FLAG_COUNT + 1]){}
+};
+static char flag_unames[FLAG_COUNT][FLAG_UNAME_MAX];
+
+static int __init xen_sysfs_flags_init(void)
+{
+	for (unsigned fnum = 0; fnum != FLAG_COUNT; fnum++) {
+		if (likely(flag_attrs[fnum].attr.name == NULL)) {
+			sprintf(flag_unames[fnum], FLAG_UNAME_FMT, fnum);
+			flag_attrs[fnum].attr.name = flag_unames[fnum];
+			flag_attrs[fnum].attr.mode = 0444;
+			flag_attrs[fnum].show = flag_show;
+			flag_attrs[fnum].hyp_attr_value = 1 << fnum;
+		}
+		xen_flags_group.attrs[fnum] = &flag_attrs[fnum].attr;
+	}
+	return sysfs_create_group(hypervisor_kobj, &xen_flags_group);
+}
+
 #ifdef CONFIG_XEN_HAVE_VPMU
 struct pmu_mode {
 	const char *name;
@@ -539,18 +596,22 @@ static int __init hyper_sysfs_init(void)
 	ret = xen_sysfs_properties_init();
 	if (ret)
 		goto prop_out;
+	ret = xen_sysfs_flags_init();
+	if (ret)
+		goto flags_out;
 #ifdef CONFIG_XEN_HAVE_VPMU
 	if (xen_initial_domain()) {
 		ret = xen_sysfs_pmu_init();
 		if (ret) {
-			sysfs_remove_group(hypervisor_kobj,
-					   &xen_properties_group);
-			goto prop_out;
+			sysfs_remove_group(hypervisor_kobj, &xen_flags_group);
+			goto flags_out;
 		}
 	}
 #endif
 	goto out;
 
+flags_out:
+	sysfs_remove_group(hypervisor_kobj, &xen_properties_group);
 prop_out:
 	sysfs_remove_file(hypervisor_kobj, &uuid_attr.attr);
 uuid_out:
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 18:49:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 18:49:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459896.717674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4nrP-0001vj-E1; Mon, 12 Dec 2022 18:49:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459896.717674; Mon, 12 Dec 2022 18:49:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4nrP-0001vc-B2; Mon, 12 Dec 2022 18:49:07 +0000
Received: by outflank-mailman (input) for mailman id 459896;
 Mon, 12 Dec 2022 18:49:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iB2P=4K=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1p4nrN-0001vW-9g
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 18:49:05 +0000
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com
 [205.220.165.32]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4fa0d14-7a4d-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 19:49:03 +0100 (CET)
Received: from pps.filterd (m0246617.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 2BCGwrDj002656; Mon, 12 Dec 2022 18:48:32 GMT
Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com
 (iadpaimrmta02.appoci.oracle.com [147.154.18.20])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mcjnsuj2w-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 12 Dec 2022 18:48:31 +0000
Received: from pps.filterd
 (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5)
 with ESMTP id 2BCISLKe033022; Mon, 12 Dec 2022 18:48:30 GMT
Received: from nam04-bn8-obe.outbound.protection.outlook.com
 (mail-bn8nam04lp2046.outbound.protection.outlook.com [104.47.74.46])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 3mcgjb0ab5-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 12 Dec 2022 18:48:30 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by CY8PR10MB6753.namprd10.prod.outlook.com (2603:10b6:930:94::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Mon, 12 Dec
 2022 18:48:28 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::909f:fa34:2dac:11c5]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::909f:fa34:2dac:11c5%7]) with mapi id 15.20.5880.019; Mon, 12 Dec 2022
 18:48:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4fa0d14-7a4d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date :
 to : cc : references : from : subject : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2022-7-12;
 bh=k4h51/WRXTtFsJMSStpAC86JVO2KTQ5d8/KBnNwLiW4=;
 b=z60wzJRGrJEZHiI8Gm3XS1kRCU5s3SnCE2u+9K1yjq2a06FDrn5DXq5TQ2kc6H+/fxYP
 sURdAgIGSQmMYtE0qL87QsaVx+pIp1KOpwG28VobP52EhpEUyQLMNzrT0nDmqpobLAhT
 LNlX9cY/GFk5JCHGfkB4l28Bl5Klg3UVcx9b+tbkxsWViI3XemwG9HRl2ZyQO5bgbZ7k
 YRQcTnFzollmdRM+wnBg0BRWOzQq682HHcSIlbvX1j9auH6yrD94Gsf6mOHm1HPVaKKa
 F+JLpgLZWqp/RdhZK9I9PBvsbfTsQZVQScbXCZ84FDHce+5zcax4M+GsUolB4vN7qliP VQ== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ePINLr+FRab7KhNLVUok7fN/OAnNQ723rIzGt+ArWnC81gCULLCTOwYH0z027m4Nn2GH/V+cykqdRZ2S6CoeWNR5ZiOPNA5jsAoBhXPe74h2afbB+X2+T89AheuK4AhGr1EYhP6F7v1XuEg2yGzNkocExxako+zGBPgu/DFvURmKNn3e/VYz/lwLPTGsiJMpLEBPl5sS/9dtMEgWiABJjjxB02e7i6gShBiXIoENwWMvHQCxo1UN5wa+qVzCTTA5D3RNawJ0DUonbi0bqdy/2RCT1UidKcLrIjwTHX2MKczX1nqrsgJ38shl0oCoXbNhkdhlNB7b0mzv4jvt9HXQtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k4h51/WRXTtFsJMSStpAC86JVO2KTQ5d8/KBnNwLiW4=;
 b=QcX5zG+sEDjcjHWThwtFNxUz+4MD7qlM6XnRWFKmdRdNvyFkiNjXFuVlB6wMgXJW99LzKqNuRRwQk9DPpjrq2kc/AIueC3R95+R85Nz+vmGMOzO2tNSdYTelEzxYYxPki+nynREvI6PfqxJTUVJ7wFg4dXIQpwulGQFSEkgNuhAqMv0HYefyAeXQzlmkUFWdeMfXo3v0Nd9XULYoKt8nM0iDCCZxvs4RasS3b82em0gtY9SWrccge6479SOlJT40id7DPCIxNvp6k+LlnQPgvusXw4q8g5uXw3dY0220xzbxZaihF1n3b7JG14c35tJz1MigJ+R76vWxE/ehQy/WOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=k4h51/WRXTtFsJMSStpAC86JVO2KTQ5d8/KBnNwLiW4=;
 b=AFOIE3ETYz6+dhEr2isNlhCOOibvDgFw5oSYRlSGOXbhjgdVv+77p14vPt8+Ozmjg8i/hEHqtZBko77qKf/xQXATZ88t5rIewT1oZjIwkWujLVRcGQ5YT1sux9CS1TJCRVrT0K/04UNNcsciQWE+qQkb71Qs9XlICz2jSclf0fU=
Message-ID: <d1a2b785-edc7-b7da-d2f2-123d1555022e@oracle.com>
Date: Mon, 12 Dec 2022 13:48:24 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Content-Language: en-US
To: Krister Johansen <kjlx@templeofstupid.com>,
        Juergen Gross <jgross@suse.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
        Borislav Petkov <bp@alien8.de>,
        Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
        "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
        linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
        Anthony Liguori
 <aliguori@amazon.com>,
        David Reaver <me@davidreaver.com>, Brendan Gregg <brendan@intel.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
 <20221212155730.GA1973@templeofstupid.com>
 <20221212160524.GB1973@templeofstupid.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [PATCH linux-next v2] x86/xen/time: prefer tsc as clocksource
 when it is invariant
In-Reply-To: <20221212160524.GB1973@templeofstupid.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: DM6PR11CA0059.namprd11.prod.outlook.com
 (2603:10b6:5:14c::36) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BLAPR10MB5009:EE_|CY8PR10MB6753:EE_
X-MS-Office365-Filtering-Correlation-Id: 84100975-8376-44e5-f3aa-08dadc717567
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	X+FoiIVyEX9bZswzAqaARpAnpseKtBvCMYhZyc3XySaHiQBmf2TMLecAtc9QKt6f0s3Ugy8huQku120UvYLaCLKhaUV5XVWegRQ69QgATiDn2UneM2liZUeGA9dSrSsBXHTRD0uF1vFHv0Fd5fPkvqiDp8jhrKfyAftL/tH8RgSFp22b9xHWKOFxyAfxYXM331sczbdV91v8YRwe6fVZH2GQfOrfuZFDCrUVIYv4fuuONXZW5UD51sOj+/YJB15fQElwVXZxGicKjOUgtUE2um3Jhxa7vjGPnUiOm8oQsCo27yPJxvAdyWd5M7zIFAztXO37XiCGGAUAZ9dOKP55az7KTW+J4Utt2WKJd3sbUGzk6qcVGbPSFbZUBvieCibb27cDCxaOjmQ+tLq3kUgn5uyCgS3ZJTVgSHATh1RGlQeQ7H39o3evtOXBzAeirj5aVvp2wn9XTwNb06Dh/vnObmcRuNTt4lF47dGon5qWrvPXL6emnmfGa17aEFnxlI3Pdi+krHTD49CjhZKon4alJcb8KKDeMV7LsmrOVwOYXp8X4Xkew+6R5aK7jRcc4Wl2R0S/KHiYixRzV+J9nvU6NZtZ9J6C1pRKQMKtjli033GRb8ur/mSMB0Q7t0j/Ch5xLBtFamxjq8s4KgUkeIEZ9XMVUC80BiKoegPHUmH1fYV5isxjxKw9vsYbsIeTSOhYVuEPh6kjWE87I7344uPtMuYa59yiC/onbvLl3L1yWcU=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5009.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(396003)(376002)(366004)(39860400002)(346002)(451199015)(2906002)(31686004)(44832011)(38100700002)(31696002)(54906003)(26005)(36756003)(53546011)(6512007)(86362001)(6666004)(6506007)(7416002)(316002)(5660300002)(8936002)(110136005)(41300700001)(66946007)(4326008)(66476007)(66556008)(8676002)(478600001)(6486002)(186003)(83380400001)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?THJRZnZJT3cyVUc3dlNHU2JqSHg0bXJ2d2VyOFVmeXhrWWNxVXM5bkhyRWVJ?=
 =?utf-8?B?L08reDN4Sk5pMW04WEpzcFlvc2NBUHVvWW1QWWp5ZWJpVXBHZWwzVXdBN1kx?=
 =?utf-8?B?a3lidmNOd0YvTlBNVHlNVUxxQzVkeFVaWURMMXE1T0NTSGNUdnV1cnBZNEJ4?=
 =?utf-8?B?dkx5WVkyVG5jaTgvd3hkVTkvbFVkZGFsWURqc0FEVk5WdmdnOW0zODVia21z?=
 =?utf-8?B?emIxNUZNc2c5NHp4RXE1WEtpaE1Za2F6eVJOQjZ2RXFSK0M3cUNXSWdZV1M3?=
 =?utf-8?B?QU9hUkZsMlRQSjgyZTRnUDFsTnNvRk5nYmFKaEd6NlMrY0dYWllhM05YUFNO?=
 =?utf-8?B?cFpVc1FTYnJLVmNKYlJLbVd0YmtWMGhsNEdEOGdtdXZoUDk4T1FiMEpacDhm?=
 =?utf-8?B?cTVtNUhRcWpwczBpUHQydWdESFhxNHNzSGJuRkJzcU5Zc0hHMkFlQ21NVjZz?=
 =?utf-8?B?dDlHTnZvV3A1QzRlL1RVZElibTgvUlRDWXNFVXpZVnVCMFZJdVlWVk9YRzV4?=
 =?utf-8?B?WVh0ckF4aU5ldEZlMld3K1RGa2hBSTlCL3JqNjhlZEY1bXVmLzR5QVN2UExx?=
 =?utf-8?B?NGFFQUtRNE1XRlB3dytEK1FPSk5NdW9KeEdlUGtaelU0aEpSWXpzSE9taVNB?=
 =?utf-8?B?VlNPUDhITU90VGdVbWY3MUtTdElVVWpweklXTFpQVS94MmV1dXBSbElEdWZZ?=
 =?utf-8?B?SWI2WEVOSm1mT3JTSXptTzkrMml4OFVZSVRGa0svbzBsMHNvNGJmTEFHeGJF?=
 =?utf-8?B?THpEbVM5MFJlb0sya3Y5c0FvSVp1cnNlN1BpVVlBQ01EZlpIK3lqN09JVEVC?=
 =?utf-8?B?d004YjZXbC9iQWwwaVg4Z1hjWXNWOWFYMEw1V3FneXh3OWJZVzhTZTMxMjQ2?=
 =?utf-8?B?aHQzUEFRaHE0dGc2TldJU3U2QUliYzZMMUFaV0pMbmlabnBzaHdmRTdQTEMz?=
 =?utf-8?B?dWd2OGdJZzBHUEt0SExxczJRWDAyb0lYNUFRMlFxVGcxNnBmU25Fbk9OMmZZ?=
 =?utf-8?B?cVgvQWlMN09vRDlxUU5pK1FaZ0Vxd2h1SFFNVFZDOWRkQTIySjhmLzIzem5j?=
 =?utf-8?B?ODNOREdTZUxWd093MTR3YVRvaWt4QjU0elZiY2pBd0Fwc0wrY2J4UG9FYURH?=
 =?utf-8?B?Y3ZRanM0T1JIUGN5dE5RbEYzdWlaYnlCSnRkNkovNWZ2c3hRei9ZTDVvSHdU?=
 =?utf-8?B?TkpzL01EcHljTmE5cVp5bjNHOWdxOXYzTGMwTkY3QmhoZmNYRlVzV2lEckFv?=
 =?utf-8?B?NUE5NG04czlDSWV1dUdQY3lieHhtRW1LamRLWVFLeXJaRWhLUWlDQ2RwME9M?=
 =?utf-8?B?Y0NmTWFFZmRhdE43emh3THpPWm1SU3Y4T00vUFFoMTkzZm9ySkJFMmlZdnR0?=
 =?utf-8?B?UHU0RlV3aFZrU0Z1aUU0YlhSaHltN0xQV3NTajljdUJPM1RVY0lOdFM2N3B5?=
 =?utf-8?B?dkZCS2N2YXgzZnJXNG8yaGppYkxTa2JoKzlyVytKc3IxWFdmSWQzd3FydzBJ?=
 =?utf-8?B?bjVDeUdJdEIrbUNRSDRXNzE4ZEZTNmJvTU9vVDFwblhZbUp3cmVRUGxnbG9w?=
 =?utf-8?B?amJKSnU4a1lLbUhQUkJ1VVdITXlhWnh3VG81aDBFVFRLVmgxOVdETUwycFNU?=
 =?utf-8?B?d0NzRkFBVUdyVGJOd0JhQy9HOE5MNWJjZndXeXVRem5uWHNoU1I4b2JpK0Zy?=
 =?utf-8?B?a29GSjEwU0xjdnhvaldTa2VETk9oeTZwNkZtMStiQUFPNTBwT3NiQlhUUUlz?=
 =?utf-8?B?VnM3RXpyaVNuMVdmeUhuMjI1ZnBxS1NZd21PcW5HeDkrT2p3R0tBMlJVekVF?=
 =?utf-8?B?ekxVSWsxYkJCZVROYlE4dTlVUTMwcThPY2ozZjE5NUFtdUdhS0lJSGVyNDZQ?=
 =?utf-8?B?VFVBa2JteW1lWHliaGFPcUhKU05Wd0J0VjRXNTNpdkFlbkc2WGUwcHFTcHho?=
 =?utf-8?B?eXZjc240ZzgvblExUjk0WWRwVlUwZUJPOEFoa1gxTzdoVlRiMlRqdG9BQlFV?=
 =?utf-8?B?RTN2RzY4Y1VGdXZ5dXI4dm5RanFnUUpiRmNva3I5d0tFUUpsMlZ6M0NndmE1?=
 =?utf-8?B?WDhLSnpBd3JvaU1uS2VZY1Ird3Ruc2ZvOGJYWE01aVRnY1FrTDRQbk9qUjlL?=
 =?utf-8?B?VG43bWVMYzNTK0hWVExqNmh5UWhGWXJ0RjZRTlNZTkY2OFdDNUF0NlBvcFli?=
 =?utf-8?B?a0E9PQ==?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84100975-8376-44e5-f3aa-08dadc717567
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 18:48:28.7695
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5TeVxGkWYFhgPCDxC7QYP3Ke1Upzp2/6qWKN4RKd/YG5tN4FkX+6aZQPEcFqbkBkmbvorVZy5RSPyUZY5qUCZQ+UlEweg6TM2tvoqQD8f2c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR10MB6753
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1
 definitions=2022-12-12_02,2022-12-12_02,2022-06-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 spamscore=0 bulkscore=0
 suspectscore=0 mlxlogscore=999 phishscore=0 mlxscore=0 malwarescore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000
 definitions=main-2212120169
X-Proofpoint-GUID: plJxmSLFR9HAg5GUYqYHJllH1GMBh8fc
X-Proofpoint-ORIG-GUID: plJxmSLFR9HAg5GUYqYHJllH1GMBh8fc


On 12/12/22 11:05 AM, Krister Johansen wrote:
>
> diff --git a/arch/x86/include/asm/xen/cpuid.h b/arch/x86/include/asm/xen/cpuid.h
> index 6daa9b0c8d11..d9d7432481e9 100644
> --- a/arch/x86/include/asm/xen/cpuid.h
> +++ b/arch/x86/include/asm/xen/cpuid.h
> @@ -88,6 +88,12 @@
>    *             EDX: shift amount for tsc->ns conversion
>    * Sub-leaf 2: EAX: host tsc frequency in kHz
>    */
> +#define XEN_CPUID_TSC_EMULATED       (1u << 0)
> +#define XEN_CPUID_HOST_TSC_RELIABLE  (1u << 1)
> +#define XEN_CPUID_RDTSCP_INSTR_AVAIL (1u << 2)
> +#define XEN_CPUID_TSC_MODE_DEFAULT   (0)
> +#define XEN_CPUID_TSC_MODE_EMULATE   (1u)
> +#define XEN_CPUID_TSC_MODE_NOEMULATE (2u)


This file is a copy of Xen public interface so this change should go to Xen first.


>   
> +static int __init xen_tsc_safe_clocksource(void)
> +{
> +	u32 eax, ebx, ecx, edx;
> +
> +	if (!(xen_hvm_domain() || xen_pvh_domain()))
> +		return 0;
> +
> +	if (!(boot_cpu_has(X86_FEATURE_CONSTANT_TSC)))
> +		return 0;
> +
> +	if (!(boot_cpu_has(X86_FEATURE_NONSTOP_TSC)))
> +		return 0;
> +
> +	if (check_tsc_unstable())
> +		return 0;
> +
> +	cpuid(xen_cpuid_base() + 3, &eax, &ebx, &ecx, &edx);
> +
> +	if (eax & XEN_CPUID_TSC_EMULATED)
> +		return 0;
> +
> +	if (ebx != XEN_CPUID_TSC_MODE_NOEMULATE)
> +		return 0;


Why is the last test needed?


-boris



From xen-devel-bounces@lists.xenproject.org Mon Dec 12 19:05:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 19:05:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459904.717685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4o6z-0004iy-QN; Mon, 12 Dec 2022 19:05:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459904.717685; Mon, 12 Dec 2022 19:05:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4o6z-0004ir-Na; Mon, 12 Dec 2022 19:05:13 +0000
Received: by outflank-mailman (input) for mailman id 459904;
 Mon, 12 Dec 2022 19:05:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Fw1=4K=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p4o6x-0004ii-HZ
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 19:05:11 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e49be6aa-7a4f-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 20:05:08 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by DM6PR12MB4314.namprd12.prod.outlook.com (2603:10b6:5:211::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Mon, 12 Dec
 2022 19:05:04 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c%5]) with mapi id 15.20.5880.018; Mon, 12 Dec 2022
 19:05:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e49be6aa-7a4f-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RYhnyXMVmvzyoXYPMrQ2V2fLwALrx9ACZVVkyavSCrxMqIqlNy5zS6gjdP6OZxpXxARjNuF4ppFYas9OW4Kh18sey1K5xj+dT6eB1tEo2gilqEA0zJ3yeTxtgbv5GMoCdwmJGg/h9S8Oya3pVqtCTR044iVGdOBkI5tu8HLRjRorf0HD3WJNnCpj4EXe4Di8juoxzg0PJQWDYHoaBLFx4Rj2KWYY6CRrC1G0F7fac2uPahfxAK12gsXyeElj8IOLjGaXCsP8EjCKIxW9TLD/reT2ug9/rvwpyKblID3tDGWpvDCStaVDc9Dc4jjZj3mXl8X7PxiN6/eXs9hRLUaoaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KEZXZeErdk83RonLV+Lo70oeJpn/6T2RZsJL5Oy5xp8=;
 b=Czsyi4DWKYkkxtWI044Rn7L/+DatdkNAGwP0PLaREPtagblOnH5Xq6xuzddQrxW14JczM1DebmfWWggVkGwAfaALnd7FIxoYv6YNc0iLh3j7u10uOxHkp6lrf067OADcsDGUhhOvKAaS41ESs8WahnHp5TFKSQqgmrnPFbGlvHEyK4/ie7PQ3igext407kCKrwrixPIbC1DH6Rl5QbmNYBvPb08QcDkOVyxeyOQ2vkHMe7k6Hq+vwdfUUT2/ps14lh+D7G/bNMbJPkFJazJk8qiqHNy9HWjuMJYCGjujkzrPexYYoYhHOD3oI8YD3YAyX/K9QGcm1c7NwqUdrMDG2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KEZXZeErdk83RonLV+Lo70oeJpn/6T2RZsJL5Oy5xp8=;
 b=acNbYPeL5bYr+GTFR3eUHpYH7kH5fArpMdscgppwq4VOHqyI4i2qXyAe8T0szZyQ/W2QobFFpAvVNHvA7+k3sVKaCpqWxaZmlBLFo5zunp3A0GLSA2HodihhLk4wbcK+Wv2qF0IoJJ/q4vjAxsBDattalbCeKEolJAMRqq8Mgb8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Content-Type: multipart/mixed; boundary="------------QsNICmmrM0E0tkn0xo3lyUHh"
Message-ID: <bc40d270-d29a-8a77-5f0a-fc343eefc816@amd.com>
Date: Mon, 12 Dec 2022 19:04:58 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
To: Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
 <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
 <e8aff19a-4992-9d35-4e78-9e64aec384f9@amd.com>
 <00ab59fa-d449-255b-bfe3-aaacb87e34dd@xen.org>
 <ca2db58b-0183-8972-0336-25bcabc99824@amd.com>
 <00793926-ef60-405b-e450-b42ccf939f5e@amd.com>
 <ba76ce47-b999-7daa-3248-0f0be6f49131@amd.com>
 <f69e17c7-ff85-636d-1176-1556cd1c519a@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <f69e17c7-ff85-636d-1176-1556cd1c519a@xen.org>
X-ClientProxiedBy: LO2P123CA0096.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:139::11) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|DM6PR12MB4314:EE_
X-MS-Office365-Filtering-Correlation-Id: 04c43c88-ea7d-4d30-82c0-08dadc73c708
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ASyl7l+lubHHqzR4wrBFGtJmo5pD8+/LrQFRWi7n56sJCWe+0s2DLFzLqQhIKp/h8rEJ++9wBI2T3azwe4YXS3HRF6WluhdmOLifWiVKi2P6R+11GWNSUo5CbeBymzDNvdLo2s5xo1sGsvxjL9djyg38fC2VGdcKmxksnrj0Nz/qLPsoOydxsLXdz8UD/5i4GFv/OcjSQrUC7zmn/DC0SFudokW8f+B1as/AbCMy3I2ARXWSgeU71FSBN+rB8HWk8spZpn5yH1+s/I8yzL9cBP24efeyV/aSB4UQcSx/Qh2fgS9f/TBAq/3YAQEgaP42DUoLaH3hio64K6s/o8km07zKjT0ZDPzKGJJpQ0tntmAt4dE107XyhDrJCaHaunzJ0MkvinAS5ub8poZcsf5msFGLpdxXs4528zqnxpR6HU2J9qNoSR/6bI1qKsV46DuqWHqgWeWj0hFgrIPouEr9nl1i/gpWRlsWf1sQVWX8wIBU929YACOC7um8GFTqOr+NzmE1F5TXaRm1Uuy4R2sEUa9SU+e5STwxb+qS9uSobsBj+iwG4Um841p6lXATD6JPCzhKgnc5obk3nqK4iHXJ8WcFfBQkZK3lpogUmdNmLAPAWMFVh5E8twBKKxB3IzoNBd7SQU6fW7F7HI7vY9P00DC84ImIpRv9LQoHo8E0u1caYkQ0ogiYY2Lf11Y9tJat6mskNNuT6EoCDY8qJ0ir7tntdixEAHpQoDievaoqX0+5732l+xfkvePwbzckk+O8
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(136003)(39860400002)(396003)(366004)(451199015)(6512007)(31696002)(36756003)(8936002)(41300700001)(235185007)(26005)(5660300002)(6486002)(966005)(478600001)(53546011)(66946007)(66476007)(6506007)(8676002)(33964004)(4326008)(66556008)(316002)(6666004)(110136005)(31686004)(83380400001)(2906002)(38100700002)(186003)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YUp5Q2YzVzErYkdXcmUxeWZYYUQzUldsUnNjL1dVTmF2Y2cva3FCZWdLUTB0?=
 =?utf-8?B?SmFnV0ZCMjJBYmVwMTlxYkZ0Z2xIcmxrNHV2U2dRbHFyMWpCTzV6M1JKcHE0?=
 =?utf-8?B?RmN4R1NiMGh3THRiN2NnK3BmU3JXSkxkQTg0cjlrV0lwc3RtRzNBaCtZWXdh?=
 =?utf-8?B?NzRGUWkyTjRDTGs1L2hzcnQ1ZGJOY0pGbTVNZk8vbVFJT1ViSkF6OWtiZ2E5?=
 =?utf-8?B?cXFZaHl2SUdPTnNhYVBjQlpzQmlWN3pEN0hocWdTRjNxdUx3ZzRNMlpqL2JK?=
 =?utf-8?B?NmZOUEFmc2pub0NuQXdRVFBhTThFK0cwQ2x0djE1WnpmTUVkbmVhUXJUSk9v?=
 =?utf-8?B?UVk2cktRVkI4N1pudzlxdUhvMWF6YTlIS25kV1JadEVqenlEdTVGMDd0dC96?=
 =?utf-8?B?dWIzbFZ5MC94VW5QMUUyZlVTcHZITFRPcEVGMWMwYWUwcTNjL3dQVFpnOEV0?=
 =?utf-8?B?aUw1U2VFL21Kcm83WWh4aDJWM2JqamQ3RXZucVRKZFp6NWVoSFVGaTRuK21O?=
 =?utf-8?B?VGxxMlQrbW45NEJQaUIrTW9rUzVVbkgrZXVpa2o5dmpVc1pkZ1ArVFloWnNs?=
 =?utf-8?B?VFZQc3lWdlRyeXhzaUEyeGxUQVBBLzVqbUlPWlgwMEtvVkFhbXU4UmtTczZl?=
 =?utf-8?B?UHI4bW9EWEFoMG1rMmlwOVJhc2g2Z1l0RW03K0MyUkxwMEk2WEdwdWw1bi9H?=
 =?utf-8?B?VjQvTS9Sbkkyb00yL3R3RlpISTVIay80eE9jZEZRWk1najNUblQxdUsvd21r?=
 =?utf-8?B?M3BxdEYvbXk1MWE3d211MURRMy9aQlZhNGRLQmRaNitXZXlWK3JyeVBJTkFW?=
 =?utf-8?B?WWVBb3hnU1NFNlFIOGRPL2dmTEtxMzJpTC94ZDd4bTlsTytwMTVxcWVCMDk0?=
 =?utf-8?B?czVNeXpVOUZhZ3hhZ3JTY2J6SnVCNzdoU3JlejhRZFlRMnZTbER6M0hXQ0ov?=
 =?utf-8?B?Si9rK3M1MGUrYkkzQ1F1dzNsU2U3MVJxS2NVM1IzR0lzL2pwU3NpWWZmNWlR?=
 =?utf-8?B?QkR6Mlduemp6YXVJMndreEovRTh0UjdMZmtXTmc2S09TVC9QMVNNaFI0M1hN?=
 =?utf-8?B?cGhyaVU4aWNaNDdDa3FDVUwzZEVRcWszZi9pY00yMHNKaFo1U1haYXd0QVNm?=
 =?utf-8?B?QytZVkFjUy9CUTBGWVdZYzVHOG5FSUM3NVgwU0o4WHlOaXIwVitZb2NWcDVF?=
 =?utf-8?B?Z0Fac0pPN0ZzbExmRndLSzRMSlZqZ1ZlSFhndW9IMmovTG9yQSs0eElTbUE1?=
 =?utf-8?B?Y05OVjBBUm8zMHoxaUtpdmE5SVY5VGFoeGtvbnVVR0oyaFlidUp2VTB6YUJq?=
 =?utf-8?B?UG5CK3kvVFBUR2pDOW1uR2Y5K2wvQk9YMWdhaFhlbWRMeE5pWE9vcmJwa253?=
 =?utf-8?B?clp6dHFIK05FclZXdDlPRHQ2Tk9ZcEp1dEZRcVlGRWdJUXFGa2VMdklpU2l0?=
 =?utf-8?B?ci80bHNYbTczL3BqRDZwVjg1UUd3Q0JRaE0rRFJoU0FZUFZRRXZyWHBsYkxx?=
 =?utf-8?B?M3hwdDkvQURaQTFZQitYTjhVTk0wQUpoaXRmWmh0Zmx2UTBMRis4WVZEUDgr?=
 =?utf-8?B?amx3Z3Qwb3hHT05kcmVGelk0UWpqdW4rZC8rSmhwNGZlbmFKcEM2MUtuK3Ex?=
 =?utf-8?B?dzRlN05DL2JpeTdPbGpjd0JLcyt1TDJwZE5PUDB6MHpCaFVIY1V6SGFWK0Fa?=
 =?utf-8?B?bGJhYm95MktpTVViU01ueGRTZEFQN1pYWGRIU2hjWTA3K3hZK2x3NHQyWTIw?=
 =?utf-8?B?Y0JvZ3R1UlFaOGovSk5aNmtTTG9WYXBRVmlOa0tHVGVMYWIzMzR6R2Y2QlBx?=
 =?utf-8?B?TWMrSndaQTcvMzZGbDBwd1VpQVNKNWFmaTZaRlo1UmY5NXhiVk5SOE5TcFY2?=
 =?utf-8?B?ekRMM1ZlS200Q0Q2NU5pR04xKzNaY3BqWGRpUVRUZ3h1ZnRCdDlRaGtpbzAw?=
 =?utf-8?B?U0RsOW51TjQrKzZySXdWTXR5NHZZQjJCL2FLYjRQSEVhLzZxZHpjOFpNNDFi?=
 =?utf-8?B?SU51VVppZzdzQTlMbEtXL0UwYTlKVVAzWjhqQVNEc3RWaDNQTTExK05OVlRH?=
 =?utf-8?B?SHRHUEZjTHNVTU9DZU1xcDU0UktodFdZRGxGK1ZBMWhrUWpZUjVSL0VEcWpa?=
 =?utf-8?Q?UleC+4LVBc+W8TEBxP19pUI1j?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 04c43c88-ea7d-4d30-82c0-08dadc73c708
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 19:05:04.7888
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oCun4sneGzuCt+Z00rXVQbXIFZcJTcQCm9FjG4PR/ozJNMPs9BCbwKYguZsXn9IVdJyMry4mSHcveR3ucSYF9Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4314

--------------QsNICmmrM0E0tkn0xo3lyUHh
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 09/12/2022 19:19, Julien Grall wrote:
> Hi Ayan,

Hi Julien,

I checked with the Zephyr mantainers. Their response is provided [1].

>
> On 09/12/2022 19:10, Ayan Kumar Halder wrote:
>>> zImage and Image are image protocols, uImage is not. It is just a 
>>> legacy u-boot header (no requirements
>>> \wrt booting,memory,registers, etc.). It can be added on top of 
>>> anything (even vmlinux or a text file).
>>> So I guess this is why Xen states that it supports zImage/Image and 
>>> does not mention uImage.
>>> A header is one thing, the boot requirements are another. Supporting 
>>> uImage is ok but if we specify
>>> that it must be a u-boot header added on top of zImage/Image.
>>
>> Let me first confine to Arm32 only.
>>
>> zephyr.bin has to be loaded at a fixed address with which it has been 
>> built.
>>
>> So, we could either use zImage header (where 'start_address' can be 
>> used to specify the load address).
>>
>> Or uImage (where -a  is used to specify the load address).
>>
>> Adding uImage header on top of zImage does not make sense.
>>
>> Now for Arm64,  we do need to parse the zImage header
>>
>> #ifdef CONFIG_ARM_64
>>      if ( info->type == DOMAIN_64BIT )
>>      {
>>          return info->mem.bank[0].start + info->zimage.text_offset;
>>      }
>> #endif
>>
>> Again, adding uImage header on top of zImage header does not make 
>> sense as well.
>>
>> Also, I believe zImage boot requirements are specific for linux kernel.
>
> Correct. But then this is what Xen tries to adhere to when preparing 
> the guest. So...
>
>> zephyr or any other RTOS may not follow the same boot requirements.
>
> ... if Zephyr or any other RTOS have different requirements, then we 
> may need to modify Xen.
>
> Can you describe the expectation of Zephyr for the following components:
>   - State of the memory/cache:
>     * Should the image be cleaned to PoC or more?
>         * What about the area not part of the binary (e.g. BSS)?
>         * What about the rest of the memory
Zephyr is expected to run as a baremetal binary. When loading from Xen 
or uboot, the interrupts should be disabled before jumping to Zephyr.

I/D caches need to be disabled as well.

The image should be cleaned to PoC. The BSS is cleared as part of the 
Zephyr boot process with z_bss_zero() and data is copied with 
z_data_copy(), see [2] for more details.

>   - State of the co-processor registers:
>         * Can we call the kernel with I-cache enabled?
I cache needs to be disabled before calling kernel.
>         * ...
>   - State of the general purpose registers:
>         * For instance, Linux expects a pointer to the device-tree in r0

Zephyr does not make any assumption about the state of the GPR at boot. 
Also, Zephyr is built with a device tree.

- Ayan

>
> Cheers,
>
[1] https://lists.zephyrproject.org/g/devel/message/8805

[2] 
https://github.com/zephyrproject-rtos/zephyr/blob/main/arch/arm64/core/prep_c.c#L54

--------------QsNICmmrM0E0tkn0xo3lyUHh
Content-Type: message/rfc822; name="Queries regarding the boot requirements
 for Zephyr on Arm platform.eml"
Content-Disposition: attachment; filename*0="Queries regarding the boot
 requirements for Zephyr on Arm pl"; filename*1="atform.eml"
Content-Transfer-Encoding: 7bit

Received: from PH0PR12MB7907.namprd12.prod.outlook.com (2603:10b6:510:28d::11)
 by SN6PR12MB2621.namprd12.prod.outlook.com with HTTPS; Mon, 12 Dec 2022
 14:05:49 +0000
Received: from MN2PR05CA0049.namprd05.prod.outlook.com (2603:10b6:208:236::18)
 by PH0PR12MB7907.namprd12.prod.outlook.com (2603:10b6:510:28d::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Mon, 12 Dec
 2022 14:05:46 +0000
Received: from BL02EPF0000EE3C.namprd05.prod.outlook.com
 (2603:10b6:208:236:cafe::e9) by MN2PR05CA0049.outlook.office365.com
 (2603:10b6:208:236::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.5 via Frontend
 Transport; Mon, 12 Dec 2022 14:05:45 +0000
Authentication-Results: spf=pass (sender IP is 209.85.167.49)
 smtp.mailfrom=baylibre.com; dkim=pass (signature was verified)
 header.d=baylibre-com.20210112.gappssmtp.com;dmarc=bestguesspass action=none
 header.from=baylibre.com;compauth=pass reason=109
Received-SPF: Pass (protection.outlook.com: domain of baylibre.com designates
 209.85.167.49 as permitted sender) receiver=protection.outlook.com;
 client-ip=209.85.167.49; helo=mail-lf1-f49.google.com; pr=C
Received: from mail-lf1-f49.google.com (209.85.167.49) by
 BL02EPF0000EE3C.mail.protection.outlook.com (10.167.241.132) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.8 via Frontend Transport; Mon, 12 Dec 2022 14:05:44 +0000
Received: by mail-lf1-f49.google.com with SMTP id y25so18752010lfa.9
        for <ayankuma@amd.com>; Mon, 12 Dec 2022 06:05:44 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=baylibre-com.20210112.gappssmtp.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=xLMmebaaMCtyxMIw1nZMh6MtuGLBCZuUml0Oiz4f3o0=;
        b=hC8sCtz0kfXxPsBP4PE2htBT8NRzgJJvwM0i3DsORF+z7xxm2c0D8nx5o9HL7CFusJ
         R5PmcIvoR4UzwiWFD4Be2jD5siMs1cxgAgFZY/e89xDwvSPXGt3qAd/V7nbXwTITzxWJ
         S8Ng4+YEC1PMmo5ROcprFh96w+OrtcY3hwIDu+n9AfA98b+2xaS7d2B0Ka6ec8/zVn0J
         N/XiimuKzktNWRsuDO4Zt5udgrFLioa2IOhnEKMenXQTBPO5mP6+3ur26YZPsfoQ5ht9
         d3aWTUYKvFtfK5DiwaIvEZsSF6Ynecd3qrH2O2B/Rj+n98fOOChTM9lYIYIcZ7ai2cOf
         X1Zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=xLMmebaaMCtyxMIw1nZMh6MtuGLBCZuUml0Oiz4f3o0=;
        b=DXUsep1eqZFr1dFe7UYzPg46yjYIfIF4h4KuS2n6e2Z/gC9fjIAd53yfA23/85BsaS
         c8SwAUrpHO+d8AZ1hvpbAVXxJHKeAuU9f7vLCoWmCqm/iXiotXTxEbLoJWVQV/bhGfAF
         f/ctz4ZHwxHWgrGiTiAljHRq+Ar2mi84hAWQBuZDEFQNFI21RvOfv4RUet2SpN694hyu
         vYBznSnCQ0XLIygVFSD0RscR6XE0rfUB8bkEozLfwwvzO9rHTovpE5OhSTf2ya16LML0
         6Bah4tQM1lMPMlAMF432OF4HrsDdB6L393Acizw4yirTA9xGrX9hnfK6ukanC6AUE6qL
         lRFQ==
X-Gm-Message-State: ANoB5pnlUgFdwGHg/SnsgW1YAeiAMVKmsqb/dhMtH7tqaA3Q3TOjIhoc
	dIn6gwnFGhuNEFN1g20RKhipdjXopISN6FJxG44=
X-Google-Smtp-Source: AA0mqf57/7rJH2dwFASECU/D3DlNkMT7WFbNsBLY/C9pCVDmp15fXwr1xk/rdyh59AfnTlOQ1L3r3A==
X-Received: by 2002:a05:6512:2018:b0:4b5:79ca:e62d with SMTP id a24-20020a056512201800b004b579cae62dmr6396197lfb.16.1670853942774;
        Mon, 12 Dec 2022 06:05:42 -0800 (PST)
Return-Path: ccaione@baylibre.com
Received: from ?IPV6:2a0e:41a:894f:0:9141:8c72:a760:459e? ([2a0e:41a:894f:0:9141:8c72:a760:459e])
        by smtp.gmail.com with ESMTPSA id d24-20020a194f18000000b00492ce573726sm1643600lfb.47.2022.12.12.06.05.40
        (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
        Mon, 12 Dec 2022 06:05:41 -0800 (PST)
Message-ID: <ed0b9a2c-9635-b9fe-bcae-826c97eb9e32@baylibre.com>
Date: Mon, 12 Dec 2022 15:05:39 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: Queries regarding the boot requirements for Zephyr on Arm
 platform
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>, Jaxson Han <jaxson.han@arm.com>,
 "npitre@baylibre.com" <npitre@baylibre.com>
Cc: Julien Grall <julien@xen.org>, devel@lists.zephyrproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Michal Orzel <michal.orzel@amd.com>
References: <f69e17c7-ff85-636d-1176-1556cd1c519a@xen.org>
 <caba6ccf-6589-209c-e3e9-a140eb31a56c@amd.com>
From: Carlo Caione <ccaione@baylibre.com>
In-Reply-To: <caba6ccf-6589-209c-e3e9-a140eb31a56c@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-MS-Exchange-Organization-ExpirationStartTime: 12 Dec 2022 14:05:45.0879
 (UTC)
X-MS-Exchange-Organization-ExpirationStartTimeReason: OriginalSubmit
X-MS-Exchange-Organization-ExpirationInterval: 1:00:00:00.0000000
X-MS-Exchange-Organization-ExpirationIntervalReason: OriginalSubmit
X-MS-Exchange-Organization-Network-Message-Id:
 a8eefc18-bf7a-4a4c-ed48-08dadc49f664
X-EOPAttributedMessage: 0
X-EOPTenantAttributedMessage: 3dd8961f-e488-4e60-8e11-a82d994e183d:0
X-MS-Exchange-Organization-MessageDirectionality: Incoming
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0000EE3C:EE_|PH0PR12MB7907:EE_
X-MS-Exchange-Organization-AuthSource:
 BL02EPF0000EE3C.namprd05.prod.outlook.com
X-MS-Exchange-Organization-AuthAs: Anonymous
X-MS-Office365-Filtering-Correlation-Id: a8eefc18-bf7a-4a4c-ed48-08dadc49f664
X-MS-Exchange-AtpMessageProperties: SA|SL
X-MS-Exchange-Organization-SCL: 1
X-Microsoft-Antispam: BCL:0;
X-Forefront-Antispam-Report:
 CIP:209.85.167.49;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail-lf1-f49.google.com;PTR:mail-lf1-f49.google.com;CAT:NONE;SFS:(13230022)(4636009)(451199015)(7596003)(7636003)(356005)(1096003)(5660300002)(8676002)(31686004)(34756004)(4326008)(83380400001)(54906003)(336012)(36756003)(110136005)(6636002)(53546011)(26005)(966005)(31696002)(86362001)(2616005)(43740500002);DIR:INB;
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Dec 2022 14:05:44.8691
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a8eefc18-bf7a-4a4c-ed48-08dadc49f664
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-AuthSource:
 BL02EPF0000EE3C.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: Internet
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7907
X-MS-Exchange-Transport-EndToEndLatency: 00:00:04.7739864
X-MS-Exchange-Processed-By-BccFoldering: 15.20.5880.018
X-Microsoft-Antispam-Mailbox-Delivery:
 ucf:0;jmr:0;auth:0;dest:I;ENG:(910001)(944506478)(944626604)(920097)(930097);
X-Microsoft-Antispam-Message-Info:
 =?utf-8?B?ckRHOUxkZUMvTDVEeXBjYzdaMWlzM2RCV3l5Tmt0QzZEK2s3V08rZUJhTGI0?=
 =?utf-8?B?WDREcDBtRVBibjcxeHdJblpjT2R5cERXdU5BdTVlUTVzZGxhZnVMajJmaGs2?=
 =?utf-8?B?RXc1Y2FJQS95VEdabUFGdTBlQit5MWJnTzl0WWVlZ3hSU1piQ1Z5bG5ISjUy?=
 =?utf-8?B?UDRFMnZpTFNjT0FFWDh5MEZlVXNSdzhWTVFKYUF0TzVFY2ZMUWUvZDlnVGM2?=
 =?utf-8?B?eDdER05XQW1yNUJPVUxVQmlrYlY5dXJ2ZWt6S0RaQndIQkhSNWMzQitkVDVp?=
 =?utf-8?B?ZytOM3ZzblVGUnV0WWZKek1oWi9OSnhOeUNrL3VTd09xcEx4NURZTVpobE9s?=
 =?utf-8?B?eXRHVkp6MWU2VWlGTldnMHI0SHpKU3BMcytyK25kS2FDV3pQOW81OXpUdW9V?=
 =?utf-8?B?U3dMQkxyaGx0RzliT3k0a3oxb3VnMDFkdVNvaU1IVzB2bjBzTjhGaTlXelN3?=
 =?utf-8?B?cy91Nk5KdzVSWE4yZGVDTzJvcEtlSG9leDhkNGRMMnpNUHdLZzE2RTZERExI?=
 =?utf-8?B?MXZqK0VvaDdqeERtd1I5WkJmUEhOVFg5YkIxSk5PMlN0MlpiTzIvbkRJd0Ni?=
 =?utf-8?B?ZlZzZGRneGgzbmdjRmE5akpQb3llVnI5Y1VtREk0aDhYOVpvblgzTFkyOUFD?=
 =?utf-8?B?YUZhZUJLUXhVYXhmV2hqTE5CZDNDMjlzNWN4NEU1TnRBeWVSQjMrWkFJRzNS?=
 =?utf-8?B?TjFLR0tnOFIvNk9peFpOUVA0SmFOeWFQNk5ianlTYVI1UUM4SE9Lc2RJblN0?=
 =?utf-8?B?eEJJd0FEZDF3U1VlTS9pMWVmd3ArbDk1TmV1K2ljVVBtdFdIY3lBbTNIS2tV?=
 =?utf-8?B?eUVwb0x2d2lJeGdDZytCbnArZnhwWDQraTNvRkpTd0J5Q0laUkgvWTBWS0hk?=
 =?utf-8?B?MzlyWEJsVG8wbUNZbjNHeVZDRERvUTA2UXdTMVhsdFQ1SHFxR1FVazFQSzlJ?=
 =?utf-8?B?bnQyUkJsWG05UzFWV3VheG1LY05oYmRMYVptd05iQURUUFVvTFBRVzExbkVz?=
 =?utf-8?B?VUg1cklTVlgvdjByM2tzUXNUUktJRzFpQ3l5MWM2TW5aZWFUNStXSjBVM2lB?=
 =?utf-8?B?Z3dyS1F3bmE1SkNvRlEwbDJCNkNiZ3RMb3ZCVFY1TnNPYXhkTkFiUnpaalFS?=
 =?utf-8?B?K0JYRitPNjJLSUk2OE5kdE1ORmtVZm9Cdk9oRW9LRXNuU1RTVnZoWU9VcVo2?=
 =?utf-8?B?ZmdnTXlKenlHc2VWaklyN3RsTzgxSUF1dTNweXhxVHhITk5GSWFpYlhTbjJo?=
 =?utf-8?B?djh2ZmZ3MnVxaTJrdFY2cVlEUy83cFJiaXNaeXJFKy9qNDVYYzBVU2R0UzJh?=
 =?utf-8?B?OXlxelE4MUlDcTBLMjFRdTZ5R25Ea0JiTk4vbkZqOHo5aTdxdXBCMVlRR04z?=
 =?utf-8?B?NVJIQkNKUDZjOWJMSjY4bDNPdTFsSmR6YlZTRi9IT0xkbGVWRHNWZWNScmMr?=
 =?utf-8?B?cmo1VmFGYVFZMklHbEVHTEh6c3J2Vk5ZZG51RW4xU3Nscmo0MXBDNE9EVHdD?=
 =?utf-8?B?VEczeWN0TS9TRzhidVVWQ2s3OWFyK00wbitNTzBvUUpBOTVqNmJhdFVSRmxx?=
 =?utf-8?B?dGkzV2J6NnBjYzBDcHE1Q1ltd3dIMnJ4OENDa0hOWVdDbXgwblVaRmZKNHlH?=
 =?utf-8?B?UDhVelM0MHlJbVRpbFlQRlFPS2YrUzg4T0ZvUmtDV3NNbUxVZldCbGdVSEVs?=
 =?utf-8?B?bUV5bWpLdm93WllGZExDWkt6U1ZYa05jTEhqTnM4Y2lDeFdLWDdvU2NtRllB?=
 =?utf-8?B?QWxiOFZlTHdiMjRLWEFIUE9ENXFDeU1jdVhOWE50aURxTWhVSU1IeE82bXY2?=
 =?utf-8?B?OGRZWWRjaUNNWkFJTzJna1BkMVFZOURybjU1WGYxcW1sTHdOaU5vR0RZZFZl?=
 =?utf-8?B?dHkxcU5MaGNKMy84aHVDeUNYZldra283cThtdjQzT1FNWjZxeDZFK25PUE11?=
 =?utf-8?B?RVFzd2ZsN0RrLzl6dHBsdnRqdmloemtsUzFTVDFFczBJVVh6NTI2R05jemE5?=
 =?utf-8?B?bHoxUE1na1lUZThuQmRIQ2plT2Z0ZTlhOEV4NXlHSGlhb1ZHRjFTQzlSc2M1?=
 =?utf-8?B?Vi9hZ0U5TGZzeDB1czhYSG1MNjcxNmorbkt5QURCaEdrVU5kTlJyOEtpNlpm?=
 =?utf-8?B?ZEFtOUJBcXlmeG9KS0htWUZ1YjdZSHNuanJ0M1VPZ2didnVkUzgyRGtnK2V0?=
 =?utf-8?B?TzUvUkFwU0dtNHhvRVNpT3RPUVJyM1J2STNUbTJJTEVIaksyamhDNTU0Mkha?=
 =?utf-8?B?Qkp2d3g3VUdmdXhOV0tJcTNnaDhGeDVDVG9rWWFRVzZ5QTV5RlhheFBXcXFz?=
 =?utf-8?B?Q2xtM0tIejNUT0lhbzVlMkVCUEh1bHdCZ25XVXFEcjlpQ0VSbXlzMEVudFRy?=
 =?utf-8?B?MWFJVmZHb2dCell0Z0lwNmNvNVRXemswTlJJK1NYL2FxNmgyZ1dzcmNiN1B0?=
 =?utf-8?B?NU42RzJ1WDNYejBDUGNoeEl4VEswMFpYdnIvZ1FsS0tVblRFQmlTa21FR0Uv?=
 =?utf-8?B?bGx4ZWFFS3VEVnF6TFgwNDRFNUJtUlNMS0tXL0tXRmNRcGF5K0dUUjBrY1lt?=
 =?utf-8?Q?e+n8zDiWU=3D?=
MIME-Version: 1.0

On 12/12/2022 13:37, Ayan Kumar Halder wrote:
> Hi Zephyr Arm Team,

Hello,

> A) Zephyr is expected to run as a baremetal binary. When loading
> from Xen or uboot, the interrupts should be disabled.

Correct. We disable the interrupts at boot for good measure before but
in theory you want the interrupts to be disabled before jumping to Zephyr.

> There is nothing mentioned about the state of caches, but I assume 
> I/D caches will have to be disabled. Otherwise, there is a chance of 
> reading stale instructions from I cache.

Correct. When zephyr is chain-loaded by u-boot we usually disable I/D
caches from u-boot itself before jumping.

> The state of the system should be similar to how it is out of reset 
> state (SVC or EL1).

Yes, the only caveat is that in Zephyr you have to set CONFIG_ARMV8_A_NS
whether you are booting from EL3 or EL1.

> When Zephyr is loaded in memory, I am expecting the image to be 
> cleaned to PoC. However, I am not very sure on this.

The BSS is cleared as part of the boot process with z_bss_zero() and
data is copied with z_data_copy(), see [1] for more details.

> A) I assume I cache needs to be disabled.

Yup.

> A) The general purpose registers can be in an in-determinate state.

We do not make any assumption about the state of the GPR at boot. If
there is an hidden dependency, that is a bug to fix.

> A) Zephyr is built with a device tree. Thus, it does not expect 
> pre-determined values in r0, r1, etc.

Correct.

Ciao!

[1]
https://github.com/zephyrproject-rtos/zephyr/blob/main/arch/arm64/core/prep_c.c#L54

-- 
Carlo Caione


--------------QsNICmmrM0E0tkn0xo3lyUHh--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 20:00:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 20:00:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459916.717695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4oyV-0003k4-T4; Mon, 12 Dec 2022 20:00:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459916.717695; Mon, 12 Dec 2022 20:00:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4oyV-0003jx-QP; Mon, 12 Dec 2022 20:00:31 +0000
Received: by outflank-mailman (input) for mailman id 459916;
 Mon, 12 Dec 2022 20:00:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p4oyU-0003jr-Dp
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 20:00:30 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4oyU-00005Z-1U; Mon, 12 Dec 2022 20:00:30 +0000
Received: from [54.239.6.188] (helo=[192.168.19.227])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p4oyT-0007Wi-RQ; Mon, 12 Dec 2022 20:00:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=F+uc8KgwheClBJe35ucdjLvGdB//FYxdioBiU8N4tvQ=; b=Pk/fPEX5YP9XdSNeFjfcXtI+dP
	xqEU/2aQ1hGqbEHUAB0JQ5quoyO/4GtY2gFiCU4w4M0H3pT33fGwAwOYBCfhn+QWeLYih0+2flH+a
	RdBBgnctIxluTwPjFNmoQHu8W+mhOSRQ1rYjfPaPauZGLadiM86e7U89EFiwK++uNIcs=;
Message-ID: <c2a6ecf2-b9cf-d068-fb89-0bd8ff43bafc@xen.org>
Date: Mon, 12 Dec 2022 20:00:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v1] xen/Arm: Probe the entry point address of an uImage
 correctly
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>, Michal Orzel
 <michal.orzel@amd.com>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20221208124929.55268-1-ayan.kumar.halder@amd.com>
 <1ad3ee8c-991f-6e15-255f-ccc24dd5b84f@xen.org>
 <e8aff19a-4992-9d35-4e78-9e64aec384f9@amd.com>
 <00ab59fa-d449-255b-bfe3-aaacb87e34dd@xen.org>
 <ca2db58b-0183-8972-0336-25bcabc99824@amd.com>
 <00793926-ef60-405b-e450-b42ccf939f5e@amd.com>
 <ba76ce47-b999-7daa-3248-0f0be6f49131@amd.com>
 <f69e17c7-ff85-636d-1176-1556cd1c519a@xen.org>
 <bc40d270-d29a-8a77-5f0a-fc343eefc816@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <bc40d270-d29a-8a77-5f0a-fc343eefc816@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 12/12/2022 19:04, Ayan Kumar Halder wrote:
> 
> On 09/12/2022 19:19, Julien Grall wrote:
>> Hi Ayan,
> 
> Hi Julien,

Hi,

> I checked with the Zephyr mantainers. Their response is provided [1].

Thanks for checking.

> 
>>
>> On 09/12/2022 19:10, Ayan Kumar Halder wrote:
>>>> zImage and Image are image protocols, uImage is not. It is just a 
>>>> legacy u-boot header (no requirements
>>>> \wrt booting,memory,registers, etc.). It can be added on top of 
>>>> anything (even vmlinux or a text file).
>>>> So I guess this is why Xen states that it supports zImage/Image and 
>>>> does not mention uImage.
>>>> A header is one thing, the boot requirements are another. Supporting 
>>>> uImage is ok but if we specify
>>>> that it must be a u-boot header added on top of zImage/Image.
>>>
>>> Let me first confine to Arm32 only.
>>>
>>> zephyr.bin has to be loaded at a fixed address with which it has been 
>>> built.
>>>
>>> So, we could either use zImage header (where 'start_address' can be 
>>> used to specify the load address).
>>>
>>> Or uImage (where -a  is used to specify the load address).
>>>
>>> Adding uImage header on top of zImage does not make sense.
>>>
>>> Now for Arm64,  we do need to parse the zImage header
>>>
>>> #ifdef CONFIG_ARM_64
>>>      if ( info->type == DOMAIN_64BIT )
>>>      {
>>>          return info->mem.bank[0].start + info->zimage.text_offset;
>>>      }
>>> #endif
>>>
>>> Again, adding uImage header on top of zImage header does not make 
>>> sense as well.
>>>
>>> Also, I believe zImage boot requirements are specific for linux kernel.
>>
>> Correct. But then this is what Xen tries to adhere to when preparing 
>> the guest. So...
>>
>>> zephyr or any other RTOS may not follow the same boot requirements.
>>
>> ... if Zephyr or any other RTOS have different requirements, then we 
>> may need to modify Xen.
>>
>> Can you describe the expectation of Zephyr for the following components:
>>   - State of the memory/cache:
>>     * Should the image be cleaned to PoC or more?
>>         * What about the area not part of the binary (e.g. BSS)?
>>         * What about the rest of the memory
> Zephyr is expected to run as a baremetal binary. When loading from Xen 
> or uboot, the interrupts should be disabled before jumping to Zephyr.
> 
> I/D caches need to be disabled as well.

For both 32-bit and 64-bit Linux, the instruction can may be on or off.

At the moment, Xen is choosing to disable it. But if that's a 
requirement for Zephyr, then I think we should document it.

That said, from the answer on the other thread, it was not clear whether 
this is a strong requirement or just because U-boot is doing it.

> 
> The image should be cleaned to PoC. The BSS is cleared as part of the 
> Zephyr boot process with z_bss_zero() and data is copied with 
> z_data_copy(), see [2] for more details.
> 
>>   - State of the co-processor registers:
>>         * Can we call the kernel with I-cache enabled?
> I cache needs to be disabled before calling kernel.

See above for the I-cache. However, this question was not only about the 
I-cache. It was just an example to what I am looking for in this category.

It might be easier if you read linux/Documentation/arm/booting.rst and 
let me know whether there is any expectation that don't match.

>>         * ...
>>   - State of the general purpose registers:
>>         * For instance, Linux expects a pointer to the device-tree in r0
> 
> Zephyr does not make any assumption about the state of the GPR at boot. 
> Also, Zephyr is built with a device tree.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 21:12:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 21:12:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459925.717707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4q5U-0003oI-1t; Mon, 12 Dec 2022 21:11:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459925.717707; Mon, 12 Dec 2022 21:11:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4q5T-0003oB-VH; Mon, 12 Dec 2022 21:11:47 +0000
Received: by outflank-mailman (input) for mailman id 459925;
 Mon, 12 Dec 2022 21:11:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tkJt=4K=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1p4q5S-0003o5-TG
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 21:11:47 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 942b1422-7a61-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 22:11:44 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 18F956123E;
 Mon, 12 Dec 2022 21:11:43 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id B5D91C4339C;
 Mon, 12 Dec 2022 21:11:41 +0000 (UTC)
Received: from aws-us-west-2-korg-oddjob-1.ci.codeaurora.org
 (localhost.localdomain [127.0.0.1])
 by aws-us-west-2-korg-oddjob-1.ci.codeaurora.org (Postfix) with ESMTP id
 A534EC00445; Mon, 12 Dec 2022 21:11:41 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 942b1422-7a61-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670879501;
	bh=GQDDJJbrRJdSRC5AUTAuyajr+7sua89sdH6DVOXw+94=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=YTW7lVUw9Z922dxrh4TeUbeMovMS+a/mE9f49GK8CDHPKt6FmPNSrxu1JmV3n8a/x
	 tj94/SUXGKeglfnbiukvcfd4C5aW1sdqtKHfFKOXKyt8p94Czw65jzLHWZOrgp3YHx
	 ygc90rAEOM9cGU+SteLSxutlz46j6bI+/K5uisPGfWRGzn78ol/dJuXsbt7sXjcvu5
	 YzwgXccrM3gzZNj8VrAUr8juSBIY0qOUEROwADj1XNeSC2Au2H0NTW53kgJfvqq3yD
	 iI62ZX+afFEMjWGjExnMLFx0eaHGf2LzfWUHXoQ7DOTF1pep8yCiKypEySoGMxWAVs
	 HiI3dyZy9aRAw==
Subject: Re: [GIT PULL] xen: branch for v6.2-rc1
From: pr-tracker-bot@kernel.org
In-Reply-To: <20221212062430.10263-1-jgross@suse.com>
References: <20221212062430.10263-1-jgross@suse.com>
X-PR-Tracked-List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
X-PR-Tracked-Message-Id: <20221212062430.10263-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.2-rc1-tag
X-PR-Tracked-Commit-Id: 8b997b2bb2c53b76a6db6c195930e9ab8e4b0c79
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: e6b160bc4daa1227695ef807e11097a3e9934d66
Message-Id: <167087950165.1809.16468715012916138281.pr-tracker-bot@kernel.org>
Date: Mon, 12 Dec 2022 21:11:41 +0000
To: Juergen Gross <jgross@suse.com>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, sstabellini@kernel.org

The pull request you sent on Mon, 12 Dec 2022 07:24:30 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.2-rc1-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/e6b160bc4daa1227695ef807e11097a3e9934d66

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 21:29:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 21:29:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459934.717718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4qMV-0005pe-Ia; Mon, 12 Dec 2022 21:29:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459934.717718; Mon, 12 Dec 2022 21:29:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4qMV-0005pX-Eq; Mon, 12 Dec 2022 21:29:23 +0000
Received: by outflank-mailman (input) for mailman id 459934;
 Mon, 12 Dec 2022 21:29:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5EvB=4K=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p4qMU-0005pR-0B
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 21:29:22 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 093078d3-7a64-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 22:29:19 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 28A576122B;
 Mon, 12 Dec 2022 21:29:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ABBD5C433EF;
 Mon, 12 Dec 2022 21:29:17 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 093078d3-7a64-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670880558;
	bh=HRYv+GiYQMoDJwXuYzNqYsfpjN/GqOh/byZZYwnP0xw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=APnhyPG7Zb3Ry85mmyD/Wkxaz5fZiszPqzum3KEESrWpQImERfUAOyTgKvfGLVCwq
	 FjL/pOsHYUOZYaPWBu+Fpwiwrrxw2HxuHUc9ooTvHAhoRqIS8m9MxNkg9GyyiAZd6J
	 GCMn0x/2/ab9msZlb89ACTiY9+WH+2amgiGfCRJ/ALEW6YX68HO7iIwFM7cbSipty1
	 X4DPRQRYGSRkn48k/TEIaHbGhIIGch+k0VzfXeoMmDWn/OMRTw1NImdw9fSAWZvu4T
	 7ib/v3dVRI5XiBFgXZfm0hO9SyIu90Si77F2u40vCU0NhCkfMD8QmLSFpKvnb+5RGv
	 bO0HzfKt/vPLQ==
Date: Mon, 12 Dec 2022 13:29:16 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Henry Wang <Henry.Wang@arm.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH 1/3] xen/arm: Add memory overlap check for
 bootinfo.reserved_mem
In-Reply-To: <AS8PR08MB799135DFF656809F03039BE9921F9@AS8PR08MB7991.eurprd08.prod.outlook.com>
Message-ID: <alpine.DEB.2.22.394.2212121327010.3075842@ubuntu-linux-20-04-desktop>
References: <20221205025753.2178965-1-Henry.Wang@arm.com> <20221205025753.2178965-2-Henry.Wang@arm.com> <alpine.DEB.2.22.394.2212061716170.4039@ubuntu-linux-20-04-desktop> <8e635354-fdf4-a37f-0dba-c4b29063e152@xen.org> <alpine.DEB.2.22.394.2212071424060.4039@ubuntu-linux-20-04-desktop>
 <556d4b3f-3983-a336-f299-ce6b2b4a6e72@xen.org> <alpine.DEB.2.22.394.2212071534260.2730675@ubuntu-linux-20-04-desktop> <AS8PR08MB799135DFF656809F03039BE9921F9@AS8PR08MB7991.eurprd08.prod.outlook.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sat, 10 Dec 2022, Henry Wang wrote:
> Hi both,
> 
> I was lurking around to see how the discussion would go. Thanks for the
> discussions/inputs in this thread :) 
> 
> > -----Original Message-----
> > From: Stefano Stabellini <sstabellini@kernel.org>
> > Subject: Re: [PATCH 1/3] xen/arm: Add memory overlap check for
> > bootinfo.reserved_mem
> > > > It cannot be a single static inline function because the bootinfo
> > > > arguments are of three different types, it just happens that all three
> > > > have a "start" and "size" struct member so it works great with a macro,
> > > > but doesn't for a function.
> > >
> > > It is not clear to me what are the three types you are referring to. Looking
> > > at the definition of bootinfo is:
> > >
> > > struct bootinfo {
> > >     struct meminfo mem;
> > >     /* The reserved regions are only used when booting using Device-Tree */
> > >     struct meminfo reserved_mem;
> > >     struct bootmodules modules;
> > >     struct bootcmdlines cmdlines;
> > > #ifdef CONFIG_ACPI
> > >     struct meminfo acpi;
> > > #endif
> > >     bool static_heap;
> > > };
> > >
> > > cmdlines is something uninteresting here. So we have two types:
> > >   - bootmodules for modules
> > >   - meminfo used by reserved_mem, mem and acpi
> 
> Exactly, we need to check the given input physical address range is
> not overlapping with any of the banks in bootmodules and meminfo used by
> reserved_mem & acpi.
> 
> > >
> > > Looking in details the code, now I understand why you suggested the
> > macro.
> > > This is far better than the checking what the array type (not very scalable).
> > 
> > Thank you :-)
> 
> +1, I also thought this would be quite painful to extend in the future (once we
> add a new member in bootinfo, for example what Penny did in [1], we need to
> extend the overlap check as well), but I didn't think of using macro so thank you
> Stefano :)
> 
> > 
> > 
> > > Personally, I think trying to share the code between the two types is a bit
> > > odd. The logic is the same today, but I envision to merge reserved_mem,
> > mem
> > > and acpi in a single array (it would look like the E820) as this would make
> > > easier to find the caching attributes per regions when mapping the RAM. So
> > > sharing the code would not be possible.
> > >
> > > That said, if you really want to share the code between the two types. Then
> > I
> > > would prefer one of the following option:
> > >    1) Provide a callback that is used to fetch the information from the array
> > >    2) Provide a common structure that could be used by the function.
> > >
> > > This would match other generic function like sort & co.
> > 
> > I think option 2) would be the best but I couldn't think of a simple way
> > to do it (without using a union and I thought a union would not make
> > things nicer in this case).
> > 
> > Rather than option 1), I think I would rather have 2 different functions
> > to check struct bootmodules and struct meminfo, or the macro.
> 
> I personally don't have specific taste here. I think the option
> is good one as long as we can (1) share most part of the code (2) make the
> code easy to extend in the future. So as long as you two reach
> a consensus here I will change to the agreed method in v2.

I think Julien and I already agree on having 2 separate functions to
check for struct bootmodules and struct meminfo. Julien, I take you
prefer the two separate functions to a MACRO, right?


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 22:05:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 22:05:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459943.717729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4qvQ-0002Zj-C5; Mon, 12 Dec 2022 22:05:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459943.717729; Mon, 12 Dec 2022 22:05:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4qvQ-0002Zc-9C; Mon, 12 Dec 2022 22:05:28 +0000
Received: by outflank-mailman (input) for mailman id 459943;
 Mon, 12 Dec 2022 22:05:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2bIl=4K=templeofstupid.com=kjlx@srs-se1.protection.inumbo.net>)
 id 1p4qvP-0002ZW-2a
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 22:05:27 +0000
Received: from dog.elm.relay.mailchannels.net (dog.elm.relay.mailchannels.net
 [23.83.212.48]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 131ee8f6-7a69-11ed-91b6-6bf2151ebd3b;
 Mon, 12 Dec 2022 23:05:24 +0100 (CET)
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 425A7341B2D
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 22:05:22 +0000 (UTC)
Received: from pdx1-sub0-mail-a306.dreamhost.com (unknown [127.0.0.6])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id C6863341A89
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 22:05:21 +0000 (UTC)
Received: from pdx1-sub0-mail-a306.dreamhost.com (pop.dreamhost.com
 [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384)
 by 100.107.134.104 (trex/6.7.1); Mon, 12 Dec 2022 22:05:22 +0000
Received: from kmjvbox (c-73-70-108-208.hsd1.ca.comcast.net [73.70.108.208])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 (Authenticated sender: kjlx@templeofstupid.com)
 by pdx1-sub0-mail-a306.dreamhost.com (Postfix) with ESMTPSA id 4NWG012C07zT9
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 14:05:21 -0800 (PST)
Received: from johansen (uid 1000) (envelope-from kjlx@templeofstupid.com)
 id e0085 by kmjvbox (DragonFly Mail Agent v0.12);
 Mon, 12 Dec 2022 14:05:19 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 131ee8f6-7a69-11ed-91b6-6bf2151ebd3b
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1670882721; a=rsa-sha256;
	cv=none;
	b=XoxM6Hg8fNnsdHFEUy5cS/7GxDUx504INNTarwUVbzkJCULsTwNDPSjcbBdaW/8jRtH94Q
	76vDJKwGmJWvsIJ9JHpH2voyO86ocwFfJHl24uSUubrcpkMlXmrcLweaEtrQp0VfadhRRQ
	RjxInqkLkvVe6s54UFT8cCJ8nGIUKghSECWkT8cYOX5SCSSWOInpdIPHFPdmC8HeeAZPNY
	J7wQHz1n+codakI5NOUVKeSjedBuk6wUTW7CKnM62L+725QDRgSghNoOGxEqlnw4vK+ptq
	DbWIiOI3Df4JribWB5ug2nmcV2gIfg6xcop1DeC/d7+iBC6P3AtSotnU+dNkkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
 d=mailchannels.net;
	s=arc-2022; t=1670882721;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:dkim-signature;
	bh=xrSRqK22H1qk6KC3KGZi1FQxfrUjE/JEcWhWhN579Q0=;
	b=Hc5Hm1yTIaEI/TpPGcAGP1yLa8t/5F/goBZyytoC5YOqs6UgrkKnssK4mFcEA8T34EuL1E
	rDysfAcAJk3LiuU6M5lVjvwa8/pUl9dYW33ZHYvzv+aQgIdH4rr3G9eoHDv64vunUfqPUS
	l++XXeDO9Dxa9TzbMEnqof8+YkTM4+BSG8oPj0f1/Q8+Y6QHAO7p4rRpElw7xUiYYOeO70
	rnqY71rGCwLz/yrpgf+y7bdXCpb6cipMkn7WiY01beTV2NJXfsXwCjRJyT23KoHb4ExJlV
	9m3KlEOwv6vfPvI8dKl0xCzA60EZedqAAZvxsZz2c1yOtm3BH8x3CNPNJPgYmA==
ARC-Authentication-Results: i=1;
	rspamd-d48c5ddb-djjpb;
	auth=pass smtp.auth=dreamhost smtp.mailfrom=kjlx@templeofstupid.com
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MailChannels-Auth-Id: dreamhost
X-Lettuce-Bubble: 4c80337b7df51db4_1670882722036_1965336002
X-MC-Loop-Signature: 1670882722036:1026258991
X-MC-Ingress-Time: 1670882722036
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=templeofstupid.com;
	s=dreamhost; t=1670882721;
	bh=xrSRqK22H1qk6KC3KGZi1FQxfrUjE/JEcWhWhN579Q0=;
	h=Date:From:To:Cc:Subject:Content-Type;
	b=ppqXxqiW3B//K8XZoCy3NJk0DAjHvLdcxdqcjCuSKuzTvtABGWUNshaAQqBR9TeC3
	 a5STwtmYrvqb5Yoyz4Xc9zvNGkgGEoD/omioUxifsuUJhDB9cil8maKDLC+3ZrlQ28
	 9mqetbwCFJ8cxBul1svWEsJwQJiA7lgv+7bnmEI4=
Date: Mon, 12 Dec 2022 14:05:19 -0800
From: Krister Johansen <kjlx@templeofstupid.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Anthony Liguori <aliguori@amazon.com>,
	David Reaver <me@davidreaver.com>,
	Brendan Gregg <brendan@intel.com>, Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [PATCH linux-next v2] x86/xen/time: prefer tsc as clocksource
 when it is invariant
Message-ID: <20221212220519.GA1935@templeofstupid.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
 <20221212155730.GA1973@templeofstupid.com>
 <20221212160524.GB1973@templeofstupid.com>
 <1eb6048b-bf23-78a0-9c3c-54bbd12c3864@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1eb6048b-bf23-78a0-9c3c-54bbd12c3864@suse.com>

On Mon, Dec 12, 2022 at 05:46:29PM +0100, Jan Beulich wrote:
> On 12.12.2022 17:05, Krister Johansen wrote:
> > Both the Intel SDM[4] and the Xen tsc documentation explain that marking
> > a tsc as invariant means that it should be considered stable by the OS
> > and is elibile to be used as a wall clock source.  The Xen documentation
> > further clarifies that this is only reliable on HVM and PVH because PV
> > cannot intercept a cpuid instruction.
> 
> Without meaning to express a view on the argumentation as a whole, this
> PV aspect is suspicious. Unless you open-code a use of the CPUID insn
> in the kernel, all uses of CPUID are going to be processed by Xen by
> virtue of the respective pvops hook. Documentation says what it says
> for environments where this might not be the case.

Thanks, appreciate the clarification here. Just restating this for my
own understanding: your advice would be to drop this check below?

> > +	if (!(xen_hvm_domain() || xen_pvh_domain()))
> > +		return 0;

And then update the commit message to dispense with the distinction
between HVM, PV, and PVH?

> > +	cpuid(xen_cpuid_base() + 3, &eax, &ebx, &ecx, &edx);
> 
> Xen leaf 3 has sub-leaves, so I think you need to set ecx to zero before
> this call.

The cpuid() inline in arch/x86/include/asm/processor.h assigns zero to
ecx prior to calling __cpuid.  In arch/x86/boot/cpuflags.c the macros
are a little different, but it looks like there too, the macro passes 0
as an input argument to cpuid_count which ends up being %ecx.  Happy to
fix this up if I'm looking at the wrong cpuid functions, though.

-K


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 22:10:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 22:10:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459952.717739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4qzv-0003yu-T9; Mon, 12 Dec 2022 22:10:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459952.717739; Mon, 12 Dec 2022 22:10:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4qzv-0003yn-Po; Mon, 12 Dec 2022 22:10:07 +0000
Received: by outflank-mailman (input) for mailman id 459952;
 Mon, 12 Dec 2022 22:10:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2bIl=4K=templeofstupid.com=kjlx@srs-se1.protection.inumbo.net>)
 id 1p4qzu-0003u7-Gl
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 22:10:06 +0000
Received: from cyan.elm.relay.mailchannels.net
 (cyan.elm.relay.mailchannels.net [23.83.212.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ba364a09-7a69-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 23:10:05 +0100 (CET)
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id CC3E6140683
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 22:10:02 +0000 (UTC)
Received: from pdx1-sub0-mail-a304.dreamhost.com (unknown [127.0.0.6])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 69AE8140EB6
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 22:10:02 +0000 (UTC)
Received: from pdx1-sub0-mail-a304.dreamhost.com (pop.dreamhost.com
 [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384)
 by 100.126.30.15 (trex/6.7.1); Mon, 12 Dec 2022 22:10:02 +0000
Received: from kmjvbox (c-73-70-108-208.hsd1.ca.comcast.net [73.70.108.208])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 (Authenticated sender: kjlx@templeofstupid.com)
 by pdx1-sub0-mail-a304.dreamhost.com (Postfix) with ESMTPSA id 4NWG5P5YM9zSJ
 for <xen-devel@lists.xenproject.org>; Mon, 12 Dec 2022 14:10:01 -0800 (PST)
Received: from johansen (uid 1000) (envelope-from kjlx@templeofstupid.com)
 id e0085 by kmjvbox (DragonFly Mail Agent v0.12);
 Mon, 12 Dec 2022 14:09:59 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba364a09-7a69-11ed-8fd2-01056ac49cbb
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1670883002; a=rsa-sha256;
	cv=none;
	b=YoLZwX4mOUX9eh/2XaOTwUNPVz34o9Ef5VjM/mI7KJCTW7d72OMPEXzj3LjuAYNK/k4nBx
	XQ57e18xd6MbdMjDs2XO7eklFkRpHQvQ2j+1W+vq/VkeXJFov8i5pmoGJlVnjHa6HgZUS3
	ZIp4N7+whK/u8M6g9kJwz+X6uqhcNvYUq7YG3LMkQ7w06IYPlBnAl0Nyii7cRcCA8cdYfF
	0IDbXv3fpFymiiksZ/Y26Y7thTd7+mmNMPnqjngw4quEgykW2GLNl/sJy3x4wv8Hd7gmB0
	oTmhYyS/3MHixELnrMe0OUk+JQtsGuxWel0UDXV7oIJS9UMFpe7NOFiCz7u1fw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
 d=mailchannels.net;
	s=arc-2022; t=1670883002;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:dkim-signature;
	bh=pm5eqDMj3rjNgwZzS8R4PcNizlLd7CBAVERWYcW9iw4=;
	b=ficQm+9VUbqGrpoAthl6W4v++XofTw0CBjXSVT+ow7EPIsFiQt5/BgOEwMVv8aaoen71WV
	KAsTgsQ0bEKpoKDILPbrvgmTTWOp59Zd58CZtz4NWxW/jNDoVBJ2AagEzKYJpoz8VzSZuu
	PWCEOV15g6Hda2O1s2uzaYDk19AYMrOwvFbt4pb4GU4QsU6iCKOfhzRsd2F0HA0NMCoPGb
	Ks0k9Ve3ibMHzjZVZY4nVakYFMQLi+V6rkifrtbSDoAN79r9oSwVqK4+/fGgchTsjVGcci
	BMLe6ITP5xhEREEeQVEUa/bzFov2JT1VYketvHZtiIiApe6EVLNxWgxDlUuIFg==
ARC-Authentication-Results: i=1;
	rspamd-d48c5ddb-fm2bt;
	auth=pass smtp.auth=dreamhost smtp.mailfrom=kjlx@templeofstupid.com
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MailChannels-Auth-Id: dreamhost
X-Shoe-Shade: 413473be1f418294_1670883002664_1077170803
X-MC-Loop-Signature: 1670883002664:3068330651
X-MC-Ingress-Time: 1670883002664
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=templeofstupid.com;
	s=dreamhost; t=1670883001;
	bh=pm5eqDMj3rjNgwZzS8R4PcNizlLd7CBAVERWYcW9iw4=;
	h=Date:From:To:Cc:Subject:Content-Type;
	b=f9hSBodhCnCMpYIiSsG8QLdPAzLYTZ5bzy4zI0VIMnlbZDqxmnP5CgZslJn9VF2St
	 t0hhglW3mSrJgJLRCw9L7LX0Z5YSLRYQVDEN4mZZ5Kd9Ht4PFuZv3x+XURi/eONFKt
	 lKcybtBYxxFSmWg+nH1cieN9Xrhs8usIGK78YYzM=
Date: Mon, 12 Dec 2022 14:09:59 -0800
From: Krister Johansen <kjlx@templeofstupid.com>
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Krister Johansen <kjlx@templeofstupid.com>,
	Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Anthony Liguori <aliguori@amazon.com>,
	David Reaver <me@davidreaver.com>,
	Brendan Gregg <brendan@intel.com>
Subject: Re: [PATCH linux-next v2] x86/xen/time: prefer tsc as clocksource
 when it is invariant
Message-ID: <20221212220959.GB1935@templeofstupid.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
 <20221212155730.GA1973@templeofstupid.com>
 <20221212160524.GB1973@templeofstupid.com>
 <d1a2b785-edc7-b7da-d2f2-123d1555022e@oracle.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <d1a2b785-edc7-b7da-d2f2-123d1555022e@oracle.com>

On Mon, Dec 12, 2022 at 01:48:24PM -0500, Boris Ostrovsky wrote:
> 
> On 12/12/22 11:05 AM, Krister Johansen wrote:
> > 
> > diff --git a/arch/x86/include/asm/xen/cpuid.h b/arch/x86/include/asm/xen/cpuid.h
> > index 6daa9b0c8d11..d9d7432481e9 100644
> > --- a/arch/x86/include/asm/xen/cpuid.h
> > +++ b/arch/x86/include/asm/xen/cpuid.h
> > @@ -88,6 +88,12 @@
> >    *             EDX: shift amount for tsc->ns conversion
> >    * Sub-leaf 2: EAX: host tsc frequency in kHz
> >    */
> > +#define XEN_CPUID_TSC_EMULATED       (1u << 0)
> > +#define XEN_CPUID_HOST_TSC_RELIABLE  (1u << 1)
> > +#define XEN_CPUID_RDTSCP_INSTR_AVAIL (1u << 2)
> > +#define XEN_CPUID_TSC_MODE_DEFAULT   (0)
> > +#define XEN_CPUID_TSC_MODE_EMULATE   (1u)
> > +#define XEN_CPUID_TSC_MODE_NOEMULATE (2u)
> 
> This file is a copy of Xen public interface so this change should go to Xen first.

Ok, should I split this into a separate patch on the linux side too?

> > +static int __init xen_tsc_safe_clocksource(void)
> > +{
> > +	u32 eax, ebx, ecx, edx;
> > +
> > +	if (!(xen_hvm_domain() || xen_pvh_domain()))
> > +		return 0;
> > +
> > +	if (!(boot_cpu_has(X86_FEATURE_CONSTANT_TSC)))
> > +		return 0;
> > +
> > +	if (!(boot_cpu_has(X86_FEATURE_NONSTOP_TSC)))
> > +		return 0;
> > +
> > +	if (check_tsc_unstable())
> > +		return 0;
> > +
> > +	cpuid(xen_cpuid_base() + 3, &eax, &ebx, &ecx, &edx);
> > +
> > +	if (eax & XEN_CPUID_TSC_EMULATED)
> > +		return 0;
> > +
> > +	if (ebx != XEN_CPUID_TSC_MODE_NOEMULATE)
> > +		return 0;
> 
> Why is the last test needed?

I was under the impression that if the mode was 0 (default) it would be
possible for the tsc to become emulated in the future, perhaps after a
migration.  The presence of the tsc_mode noemulate meant that we could
count on the falseneess of the XEN_CPUID_TSC_EMULATED check remaining
constant.

-K


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 22:14:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 22:14:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459963.717751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4r4M-0004gc-Ia; Mon, 12 Dec 2022 22:14:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459963.717751; Mon, 12 Dec 2022 22:14:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4r4M-0004gV-F9; Mon, 12 Dec 2022 22:14:42 +0000
Received: by outflank-mailman (input) for mailman id 459963;
 Mon, 12 Dec 2022 22:14:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5EvB=4K=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p4r4K-0004gP-UR
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 22:14:41 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d2f150b-7a6a-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 23:14:37 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id ABE47B80DF4;
 Mon, 12 Dec 2022 22:14:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 48F78C433EF;
 Mon, 12 Dec 2022 22:14:33 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d2f150b-7a6a-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670883274;
	bh=OHLk3awrgasrmeSluFBQzSX1U4HXrQnir6T354B2C8I=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=gwrZZ6CesvqRRr1IGfv/nLQQkis2yYBieHhmr2Dv0x4P8OJDhilDiLBRHZVWLDErN
	 8iI9up2ykcR59N4p+W0eKbDgAF41OxlzrF+Ctvv8zdH8WUnOM0ozzYsLiGxmVSdtyP
	 4pnG/1WPLpOtHkzd0Rki3jlMCgKJ5c7yjpP1NUdkCn9RCBItGKQwPZXUdjWqkgb+Md
	 n072tYrKRWgANEWn6DrH11hbRg/6BpzWuwbvUv8a7/pwdlV/pi27rtnk8w36or9N68
	 s/jkLat72p0sdMIO+n0qY3g0D3vrzKo7/ckH+WNBqW07lHCIEwDsyw4No2ZSvAhajl
	 qcXZ25pK+f3Wg==
Date: Mon, 12 Dec 2022 14:14:31 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Vipul Suneja <vsuneja63@gmail.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, oleksandr_andrushchenko@epam.com, 
    oleksandr_tyshchenko@epam.com, jgross@suse.com, boris.ostrovsky@oracle.com, 
    Bertrand.Marquis@arm.com
Subject: Re: Porting Xen in raspberry pi4B
In-Reply-To: <CALAP8f_b=0m0dqj9a50UYXYfw9X873i07sG9eyxFSqxF0yEneQ@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2212121406270.3075842@ubuntu-linux-20-04-desktop>
References: <CALAP8f--jyG=ufJ9WGtL6qoeGdsykjNK85G3q50SzJm5+wOzhQ@mail.gmail.com> <alpine.DEB.2.22.394.2210171400570.2351079@ubuntu-linux-20-04-desktop> <CALAP8f81ojfVD9n5EMtD7DxY-8uomgENVEQH9Afz7Hk9rfaAsw@mail.gmail.com> <alpine.DEB.2.22.394.2210181213370.4587@ubuntu-linux-20-04-desktop>
 <CALAP8f9Zgue6WfAk2uRGkg=1Up2Z+eQWqvQ1_Z2=r66Z5fvKoA@mail.gmail.com> <alpine.DEB.2.22.394.2210251641540.1397955@ubuntu-linux-20-04-desktop> <CALAP8f8Z8A2u8h56EJWOCN7nJFDvyEvM-Q85XMnUP6Y6mZDg3w@mail.gmail.com> <CALAP8f_n2okQ-Ss_kGACAq3BVYXS_D2P_8AyhOzUxqgWpz9f4g@mail.gmail.com>
 <alpine.DEB.2.22.394.2211101702250.50442@ubuntu-linux-20-04-desktop> <CALAP8f8zGfNA_CZU4UQXy7-rPT6dqih9XpzuKM3vvkoBvy6usg@mail.gmail.com> <alpine.DEB.2.22.394.2211221605470.1049131@ubuntu-linux-20-04-desktop> <CALAP8f_QiHN4dP3z+LQgKdGeo8-=9DMyk0W7+x6P2eHvnOD_wQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2212011128430.4039@ubuntu-linux-20-04-desktop> <CALAP8f_b=0m0dqj9a50UYXYfw9X873i07sG9eyxFSqxF0yEneQ@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1775995182-1670883184=:3075842"
Content-ID: <alpine.DEB.2.22.394.2212121414300.3075842@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1775995182-1670883184=:3075842
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2212121414301.3075842@ubuntu-linux-20-04-desktop>

Hi Vipul,

I am online on IRC OFTC #xendevel (https://www.oftc.net/, you need a
registered nickname to join #xendevel).

For development and debugging I find that it is a lot easier to
crosscompile the kernel "by hand", and do a monolithic build, rather
than going through Yocto.

For instance the following builds for me:

cd linux.git
export ARCH=arm64
export CROSS_COMPILE=/path/to/cross-compiler
make defconfig
[add printks to drivers/video/fbdev/xen-fbfront.c]
make -j8 Image.gz

And Image.gz boots on Xen as DomU kernel without issues.

Cheers,

Stefano

On Sat, 10 Dec 2022, Vipul Suneja wrote:
> Hi Stefano,
> 
> Thanks!
> 
> I have included printk debug logs in the xen-fbfront.c source file. While cross compiling to generate .ko with "xen-guest-image-minimal"
> toolchain it's throwing a modpost
> not found error. I could see the modpost.c source file but the final script is missing. Any input on this, Below are the logs:
> 
> agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ make
> make ARCH=arm64 -I/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/usr/include/asm -C
> /opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build
> M=/home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer modules
> make[1]: Entering directory '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build'
> arch/arm64/Makefile:36: Detected assembler with broken .inst; disassembly will be unreliable
> warning: the compiler differs from the one used to build the kernel
>   The kernel was built by: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
>   You are using:           aarch64-poky-linux-gcc (GCC) 11.3.0
>   CC [M]  /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/xen-fbfront.o
>   MODPOST /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/Module.symvers
> /bin/sh: 1: scripts/mod/modpost: not found
> make[2]: *** [scripts/Makefile.modpost:133: /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/Module.symvers]
> Error 127
> make[1]: *** [Makefile:1813: modules] Error 2
> make[1]: Leaving directory '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build'
> make: *** [Makefile:5: all] Error 2
> agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ ls -l
> total 324
> -rwxrwxrwx 1 agl agl    359 Dec 10 22:41 Makefile
> -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 modules.order
> -rw-r--r-- 1 agl agl  18331 Dec  1 20:32 xen-fbfront.c
> -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 xen-fbfront.mod
> -rw-rw-r-- 1 agl agl 297832 Dec 10 22:49 xen-fbfront.o
> agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ file xen-fbfront.o
> xen-fbfront.o: ELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), with debug_info, not stripped
> agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$
> 
> I have connected a HDMI based 1980x1024 resolution display screen to raspberrypi4 for testing purposes. I hope connecting this display to
> rpi4 should be ok.
> 
> Is there any other way we can connect also for detailed discussion on the display bringup issue? This will really help to resolve this
> issue.
> 
> Thanks & Regards,
> Vipul Kumar
> 
> On Fri, Dec 2, 2022 at 1:02 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       On Thu, 1 Dec 2022, Vipul Suneja wrote:
>       > Hi Stefano,
>       > Thanks!
>       >
>       > I am exploring both options here, modification of framebuffer source file & setting up x11vnc server in guest.
>       > Other than these I would like to share a few findings with you.
>       >
>       > 1. If i keep "CONFIG_XEN_FBDEV_FRONTEND=y" then xen-fbfront.ko is not generating but if i keep "CONFIG_XEN_FBDEV_FRONTEND=m"
>       > then could see xen-fbfront.ko & its loading also. Same things with other frontend/backend drivers also. Do we need to
>       configure these
>       > drivers as a module(m) only?
> 
>       xen-fbfront should work both as a module (xen-fbfront.ko) or built-in
>       (CONFIG_XEN_FBDEV_FRONTEND=y).
> 
> 
> 
>       > 2. I could see xenstored service is running for the host but it's always failing for the guest machine. I could see it in
>       bootup logs & via
>       > systemctl status also.
> 
>       That is normal. xenstored is only meant to be run in Dom0, not in the
>       domUs. If you use the same rootfs for Dom0 and DomU then xenstored will
>       fail starting in the DomU (but should succeed in Dom0), which is what we
>       want.
> 
>       If you run "xenstore-ls" in Dom0, you'll see a bunch of entries,
>       including some of them related to "vfb" which is the virtual framebuffer
>       protocol. You should also see an entry called "state" set to "4" which
>       means "connected". state = 4 is usually when everything works. Normally
>       when things don't work state != 4.
> 
> 
> 
>       > Below are the logs:
>       > [  OK  ] Reached target Basic System.
>       > [  OK  ] Started Kernel Logging Service.
>       > [  OK  ] Started System Logging Service.
>       >          Starting D-Bus System Message Bus...
>       >          Starting User Login Management...
>       >          Starting Permit User Sessions...
>       >          Starting The Xen xenstore...
>       >          Starting OpenSSH Key Generation...
>       > [FAILED] Failed to start The Xen xenstore.
>       > See 'systemctl status xenstored.service' for details.
>       > [DEPEND] Dependency failed for qemu for xen dom0 disk backend.
>       > [DEPEND] Dependency failed for Xend…p guests on boot and shutdown.
>       > [DEPEND] Dependency failed for xen-…des, JSON configuration stub).
>       > [DEPEND] Dependency failed for Xenc…guest consoles and hypervisor.
>       > [  OK  ] Finished Permit User Sessions.
>       > [  OK  ] Started Getty on tty1.
>       > [  OK  ] Started Serial Getty on hvc0.
>       > [  OK  ] Started Serial Getty on ttyS0.
>       > [  OK  ] Reached target Login Prompts.
>       >          Starting Xen-watchdog - run xen watchdog daemon...
>       > [  OK  ] Started D-Bus System Message Bus.
>       > [  OK  ] Started Xen-watchdog - run xen watchdog daemon.
>       > [  OK  ] Finished OpenSSH Key Generation.
>       > [  OK  ] Started User Login Management.
>       > [  OK  ] Reached target Multi-User System.
>       >          Starting Record Runlevel Change in UTMP...
>       > [  OK  ] Finished Record Runlevel Change in UTMP.
>       > fbcon: Taking over console
>       >
>       > Poky (Yocto Project Reference Distro) 4.0.4 raspberrypi4-64 hvc0
>       >
>       > raspberrypi4-64 login: root
>       > root@raspberrypi4-64:~#
>       > root@raspberrypi4-64:~#
>       > root@raspberrypi4-64:~# systemctl status xenstored.service
>       > x xenstored.service - The Xen xenstore
>       >      Loaded: loaded (/lib/systemd/system/xenstored.service; enabled; vendor preset: enabled)
>       >      Active: failed (Result: exit-code) since Thu 2022-12-01 06:12:05 UTC; 26s ago
>       >     Process: 195 ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities (code=exited, status=1/FAILURE)
>       >
>       > Dec 01 06:12:04 raspberrypi4-64 systemd[1]: Starting The Xen xenstore...
>       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service: Control pro...URE
>       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service: Failed with...e'.
>       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: Failed to start The Xen xenstore.
>       > Hint: Some lines were ellipsized, use -l to show in full.
>       > root@raspberrypi4-64:~# 
>       >
>       > Any input on these?
>       >
>       > Thanks & Regards,
>       > Vipul Kumar
>       >
>       > On Wed, Nov 23, 2022 at 5:41 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       Hi Vipul,
>       >
>       >       I cannot spot any issue in the configuration, in particual you have:
>       >
>       >       CONFIG_XEN_FBDEV_FRONTEND=y
>       >
>       >       which is what you need.
>       >
>       >       The only thing I can suggest is to add printks to the Linux frontend
>       >       driver (the one running in the domU) which is
>       >       drivers/video/fbdev/xen-fbfront.c and printfs to the QEMU backend
>       >       (running in Dom0) which is hw/display/xenfb.c to figure out what is
>       >       going on.
>       >
>       >
>       >       Alternatively, you can setup PV network with the domU, such as:
>       >
>       >         vif=['']
>       >
>       >       and then run x11 and a x11vnc server in your domU. You should be able to
>       >       connect to it using vncviewer at the network IP of your domU.
>       >
>       >       Basically you are skipping the problem because instead of using the PV
>       >       framebuffer protocol, you just use VNC over the network with the domU.
>       >
>       >
>       >       Cheers,
>       >
>       >       Stefano
>       >
>       >
>       >       On Tue, 22 Nov 2022, Vipul Suneja wrote:
>       >       > Hi Stefano,
>       >       > Thanks for the support!
>       >       >
>       >       > Looks like I have tried all the combinations & possible ways to get display up but failed. Is there any document or
>       pdf for
>       >       porting xen on
>       >       > raspberrypi4.
>       >       > I could find lot's of links telling the same but couldn't see any official user guide or document from the xen
>       community on
>       >       the same. If
>       >       > there is something to refer 
>       >       > to please share with me.
>       >       > I am attaching the kernel configuration file also, just take a look if i have missed anything.
>       >       > Any other suggestions or input from your end could be really helpful?
>       >       >
>       >       > Regards,
>       >       > Vipul Kumar
>       >       >
>       >       > On Fri, Nov 11, 2022 at 6:40 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       Hi Vipul,
>       >       >
>       >       >       Sorry for the late reply. From the earlier logs that you sent, it looks
>       >       >       like everything should be working correctly. Specifically:
>       >       >
>       >       >            vfb = ""
>       >       >             1 = ""
>       >       >              0 = ""
>       >       >               frontend = "/local/domain/1/device/vfb/0"
>       >       >               frontend-id = "1"
>       >       >               online = "1"
>       >       >               state = "4"
>       >       >               vnc = "1"
>       >       >               vnclisten = "127.0.0.1"
>       >       >               vncdisplay = "0"
>       >       >               vncunused = "1"
>       >       >               sdl = "0"
>       >       >               opengl = "0"
>       >       >               feature-resize = "1"
>       >       >               hotplug-status = "connected"
>       >       >               request-update = "1"
>       >       >
>       >       >       state "4" means "connected". So I would expect that you should be able
>       >       >       to connect to the vnc server using vncviewer. You might not see anything
>       >       >       (black screen) but you should definitely be able to connect.
>       >       >
>       >       >       I wouldn't try to launch x11 in the guest just yet. fbcon in Linux is
>       >       >       enough to render something on the screen. You should be able to see the
>       >       >       Linux text-based console rendered graphically, connecting to it via vnc.
>       >       >
>       >       >       Sorry for the basic question, but have you tried all the following?
>       >       >
>       >       >       vncviewer 127.0.0.1:0
>       >       >       vncviewer 127.0.0.1:1
>       >       >       vncviewer 127.0.0.1:2
>       >       >       vncviewer 127.0.0.1:5900
>       >       >       vncviewer 127.0.0.1:5901
>       >       >       vncviewer 127.0.0.1:5902
>       >       >
>       >       >       Given that from the xenstore-ls logs everything seems to work correctly
>       >       >       I am not sure what else to suggest. You might have to add printf to QEMU
>       >       >       ui/vnc.c and hw/display/xenfb.c to see what is going wrong.
>       >       >
>       >       >       Cheers,
>       >       >
>       >       >       Stefano
>       >       >
>       >       >
>       >       >       On Mon, 7 Nov 2022, Vipul Suneja wrote:
>       >       >       > Hi Stefano,
>       >       >       > Thanks!
>       >       >       >
>       >       >       > Any input further on "xenstore-ls" logs?
>       >       >       >
>       >       >       > I am trying to run the x0vncserver & x11vnc server manually on guest machine(xen_guest_image_minimal) image
>       but it's
>       >       failing
>       >       >       with the below
>       >       >       > error.
>       >       >       >
>       >       >       > root@raspberrypi4-64:/usr/bin# x0vncserver
>       >       >       > x0vncserver: unable to open display ""
>       >       >       > root@raspberrypi4-64:/usr/bin#
>       >       >       > root@raspberrypi4-64:/usr/bin# x11vnc
>       >       >       > ###############################################################
>       >       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       >       > #@                                                           @#
>       >       >       > #@  **  WARNING  **  WARNING  **  WARNING  **  WARNING  **   @#
>       >       >       > #@                                                           @#
>       >       >       > #@        YOU ARE RUNNING X11VNC WITHOUT A PASSWORD!!        @#
>       >       >       > #@                                                           @#
>       >       >       > #@  This means anyone with network access to this computer   @#
>       >       >       > #@  may be able to view and control your desktop.            @#
>       >       >       > #@                                                           @#
>       >       >       > #@ >>> If you did not mean to do this Press CTRL-C now!! <<< @#
>       >       >       > #@                                                           @#
>       >       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       >       > #@                                                           @#
>       >       >       > #@  You can create an x11vnc password file by running:       @#
>       >       >       > #@                                                           @#
>       >       >       > #@       x11vnc -storepasswd password /path/to/passfile      @#
>       >       >       > #@  or   x11vnc -storepasswd /path/to/passfile               @#
>       >       >       > #@  or   x11vnc -storepasswd                                 @#
>       >       >       > #@                                                           @#
>       >       >       > #@  (the last one will use ~/.vnc/passwd)                    @#
>       >       >       > #@                                                           @#
>       >       >       > #@  and then starting x11vnc via:                            @#
>       >       >       > #@                                                           @#
>       >       >       > #@      x11vnc -rfbauth /path/to/passfile                    @#
>       >       >       > #@                                                           @#
>       >       >       > #@  an existing ~/.vnc/passwd file from another VNC          @#
>       >       >       > #@  application will work fine too.                          @#
>       >       >       > #@                                                           @#
>       >       >       > #@  You can also use the -passwdfile or -passwd options.     @#
>       >       >       > #@  (note -passwd is unsafe if local users are not trusted)  @#
>       >       >       > #@                                                           @#
>       >       >       > #@  Make sure any -rfbauth and -passwdfile password files    @#
>       >       >       > #@  cannot be read by untrusted users.                       @#
>       >       >       > #@                                                           @#
>       >       >       > #@  Use x11vnc -usepw to automatically use your              @#
>       >       >       > #@  ~/.vnc/passwd or ~/.vnc/passwdfile password files.       @#
>       >       >       > #@  (and prompt you to create ~/.vnc/passwd if neither       @#
>       >       >       > #@  file exists.)  Under -usepw, x11vnc will exit if it      @#
>       >       >       > #@  cannot find a password to use.                           @#
>       >       >       > #@                                                           @#
>       >       >       > #@                                                           @#
>       >       >       > #@  Even with a password, the subsequent VNC traffic is      @#
>       >       >       > #@  sent in the clear.  Consider tunnelling via ssh(1):      @#
>       >       >       > #@                                                           @#
>       >       >       > #@    http://www.karlrunge.com/x11vnc/#tunnelling            @#
>       >       >       > #@                                                           @#
>       >       >       > #@  Or using the x11vnc SSL options: -ssl and -stunnel       @#
>       >       >       > #@                                                           @#
>       >       >       > #@  Please Read the documentation for more info about        @#
>       >       >       > #@  passwords, security, and encryption.                     @#
>       >       >       > #@                                                           @#
>       >       >       > #@    http://www.karlrunge.com/x11vnc/faq.html#faq-passwd    @#
>       >       >       > #@                                                           @#
>       >       >       > #@  To disable this warning use the -nopw option, or put     @#
>       >       >       > #@  'nopw' on a line in your ~/.x11vncrc file.               @#
>       >       >       > #@                                                           @#
>       >       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       >       > ###############################################################
>       >       >       > 09/03/2018 12:58:41 x11vnc version: 0.9.16 lastmod: 2019-01-05  pid: 424
>       >       >       > 09/03/2018 12:58:41 XOpenDisplay("") failed.
>       >       >       > 09/03/2018 12:58:41 Trying again with XAUTHLOCALHOSTNAME=localhost ...
>       >       >       > 09/03/2018 12:58:41
>       >       >       > 09/03/2018 12:58:41 *** XOpenDisplay failed. No -display or DISPLAY.
>       >       >       > 09/03/2018 12:58:41 *** Trying ":0" in 4 seconds.  Press Ctrl-C to abort.
>       >       >       > 09/03/2018 12:58:41 *** 1 2 3 4
>       >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
>       >       >       > 09/03/2018 12:58:45 Trying again with XAUTHLOCALHOSTNAME=localhost ...
>       >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
>       >       >       > 09/03/2018 12:58:45 Trying again with unset XAUTHLOCALHOSTNAME ...
>       >       >       > 09/03/2018 12:58:45
>       >       >       >
>       >       >       > 09/03/2018 12:58:45 ***************************************
>       >       >       > 09/03/2018 12:58:45 *** XOpenDisplay failed (:0)
>       >       >       >
>       >       >       > *** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.
>       >       >       > *** There may be "Xlib:" error messages above with details about the failure.
>       >       >       >
>       >       >       > Some tips and guidelines:
>       >       >       >
>       >       >       > ** An X server (the one you wish to view) must be running before x11vnc is
>       >       >       >    started: x11vnc does not start the X server.  (however, see the -create
>       >       >       >    option if that is what you really want).
>       >       >       >
>       >       >       > ** You must use -display <disp>, -OR- set and export your $DISPLAY
>       >       >       >    environment variable to refer to the display of the desired X server.
>       >       >       >  - Usually the display is simply ":0" (in fact x11vnc uses this if you forget
>       >       >       >    to specify it), but in some multi-user situations it could be ":1", ":2",
>       >       >       >    or even ":137".  Ask your administrator or a guru if you are having
>       >       >       >    difficulty determining what your X DISPLAY is.
>       >       >       >
>       >       >       > ** Next, you need to have sufficient permissions (Xauthority)
>       >       >       >    to connect to the X DISPLAY.   Here are some Tips:
>       >       >       >
>       >       >       >  - Often, you just need to run x11vnc as the user logged into the X session.
>       >       >       >    So make sure to be that user when you type x11vnc.
>       >       >       >  - Being root is usually not enough because the incorrect MIT-MAGIC-COOKIE
>       >       >       >    file may be accessed.  The cookie file contains the secret key that
>       >       >       >    allows x11vnc to connect to the desired X DISPLAY.
>       >       >       >  - You can explicitly indicate which MIT-MAGIC-COOKIE file should be used
>       >       >       >    by the -auth option, e.g.:
>       >       >       >        x11vnc -auth /home/someuser/.Xauthority -display :0
>       >       >       >        x11vnc -auth /tmp/.gdmzndVlR -display :0
>       >       >       >    you must have read permission for the auth file.
>       >       >       >    See also '-auth guess' and '-findauth' discussed below.
>       >       >       >
>       >       >       > ** If NO ONE is logged into an X session yet, but there is a greeter login
>       >       >       >    program like "gdm", "kdm", "xdm", or "dtlogin" running, you will need
>       >       >       >    to find and use the raw display manager MIT-MAGIC-COOKIE file.
>       >       >       >    Some examples for various display managers:
>       >       >       >
>       >       >       >      gdm:     -auth /var/gdm/:0.Xauth
>       >       >       >               -auth /var/lib/gdm/:0.Xauth
>       >       >       >      kdm:     -auth /var/lib/kdm/A:0-crWk72
>       >       >       >               -auth /var/run/xauth/A:0-crWk72
>       >       >       >      xdm:     -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
>       >       >       >      dtlogin: -auth /var/dt/A:0-UgaaXa
>       >       >       >
>       >       >       >    Sometimes the command "ps wwwwaux | grep auth" can reveal the file location.
>       >       >       >
>       >       >       >    Starting with x11vnc 0.9.9 you can have it try to guess by using:
>       >       >       >
>       >       >       >               -auth guess
>       >       >       >
>       >       >       >    (see also the x11vnc -findauth option.)
>       >       >       >
>       >       >       >    Only root will have read permission for the file, and so x11vnc must be run
>       >       >       >    as root (or copy it).  The random characters in the filenames will of course
>       >       >       >    change and the directory the cookie file resides in is system dependent.
>       >       >       >
>       >       >       > See also: http://www.karlrunge.com/x11vnc/faq.html
>       >       >       >
>       >       >       > Regards,
>       >       >       > Vipul Kumar
>       >       >       >
>       >       >       > On Thu, Nov 3, 2022 at 10:27 PM Vipul Suneja <vsuneja63@gmail.com> wrote:
>       >       >       >       Hi Stefano,
>       >       >       > Thanks!
>       >       >       >
>       >       >       > I used xen-guest-image-minimal(simple console based image) as a guest with fbcon & fbdev enabled in kernel
>       >       configurations but
>       >       >       still
>       >       >       > the same error can't open the display.
>       >       >       > below are the outcome of "xenstore-ls":
>       >       >       >
>       >       >       > root@raspberrypi4-64:~/guest1# xenstore-ls
>       >       >       > tool = ""
>       >       >       >  xenstored = ""
>       >       >       > local = ""
>       >       >       >  domain = ""
>       >       >       >   0 = ""
>       >       >       >    control = ""
>       >       >       >     feature-poweroff = "1"
>       >       >       >     feature-reboot = "1"
>       >       >       >    domid = "0"
>       >       >       >    name = "Domain-0"
>       >       >       >    device-model = ""
>       >       >       >     0 = ""
>       >       >       >      backends = ""
>       >       >       >       console = ""
>       >       >       >       vkbd = ""
>       >       >       >       vfb = ""
>       >       >       >       qnic = ""
>       >       >       >      state = "running"
>       >       >       >     1 = ""
>       >       >       >      backends = ""
>       >       >       >       console = ""
>       >       >       >       vkbd = ""
>       >       >       >       vfb = ""
>       >       >       >       qnic = ""
>       >       >       >      state = "running"
>       >       >       >    backend = ""
>       >       >       >     vbd = ""
>       >       >       >      1 = ""
>       >       >       >       51712 = ""
>       >       >       >        frontend = "/local/domain/1/device/vbd/51712"
>       >       >       >        params = "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
>       >       >       >        script = "/etc/xen/scripts/block"
>       >       >       >        frontend-id = "1"
>       >       >       >        online = "1"
>       >       >       >        removable = "0"
>       >       >       >        bootable = "1"
>       >       >       >        state = "4"
>       >       >       >        dev = "xvda"
>       >       >       >        type = "phy"
>       >       >       >        mode = "w"
>       >       >       >        device-type = "disk"
>       >       >       >        discard-enable = "1"
>       >       >       >        feature-max-indirect-segments = "256"
>       >       >       >        multi-queue-max-queues = "4"
>       >       >       >        max-ring-page-order = "4"
>       >       >       >        node = "/dev/loop0"
>       >       >       >        physical-device = "7:0"
>       >       >       >        physical-device-path = "/dev/loop0"
>       >       >       >        hotplug-status = "connected"
>       >       >       >        feature-flush-cache = "1"
>       >       >       >        discard-granularity = "4096"
>       >       >       >        discard-alignment = "0"
>       >       >       >        discard-secure = "0"
>       >       >       >        feature-discard = "1"
>       >       >       >        feature-barrier = "1"
>       >       >       >        feature-persistent = "1"
>       >       >       >        sectors = "1794048"
>       >       >       >        info = "0"
>       >       >       >        sector-size = "512"
>       >       >       >        physical-sector-size = "512"
>       >       >       >     vfb = ""
>       >       >       >      1 = ""
>       >       >       >       0 = ""
>       >       >       >        frontend = "/local/domain/1/device/vfb/0"
>       >       >       >        frontend-id = "1"
>       >       >       >        online = "1"
>       >       >       >        state = "4"
>       >       >       >        vnc = "1"
>       >       >       >        vnclisten = "127.0.0.1"
>       >       >       >        vncdisplay = "0"
>       >       >       >        vncunused = "1"
>       >       >       >        sdl = "0"
>       >       >       >        opengl = "0"
>       >       >       >        feature-resize = "1"
>       >       >       >        hotplug-status = "connected"
>       >       >       >        request-update = "1"
>       >       >       >     vkbd = ""
>       >       >       >      1 = ""
>       >       >       >       0 = ""
>       >       >       >        frontend = "/local/domain/1/device/vkbd/0"
>       >       >       >        frontend-id = "1"
>       >       >       >        online = "1"
>       >       >       >        state = "4"
>       >       >       >        feature-abs-pointer = "1"
>       >       >       >        feature-raw-pointer = "1"
>       >       >       >        hotplug-status = "connected"
>       >       >       >     console = ""
>       >       >       >      1 = ""
>       >       >       >       0 = ""
>       >       >       >        frontend = "/local/domain/1/console"
>       >       >       >        frontend-id = "1"
>       >       >       >        online = "1"
>       >       >       >        state = "1"
>       >       >       >        protocol = "vt100"
>       >       >       >     vif = ""
>       >       >       >      1 = ""
>       >       >       >       0 = ""
>       >       >       >        frontend = "/local/domain/1/device/vif/0"
>       >       >       >        frontend-id = "1"
>       >       >       >        online = "1"
>       >       >       >        state = "4"
>       >       >       >        script = "/etc/xen/scripts/vif-bridge"
>       >       >       >        mac = "e4:5f:01:cd:7b:dd"
>       >       >       >        bridge = "xenbr0"
>       >       >       >        handle = "0"
>       >       >       >        type = "vif"
>       >       >       >        hotplug-status = "connected"
>       >       >       >        feature-sg = "1"
>       >       >       >        feature-gso-tcpv4 = "1"
>       >       >       >        feature-gso-tcpv6 = "1"
>       >       >       >        feature-ipv6-csum-offload = "1"
>       >       >       >        feature-rx-copy = "1"
>       >       >       >        feature-xdp-headroom = "1"
>       >       >       >        feature-rx-flip = "0"
>       >       >       >        feature-multicast-control = "1"
>       >       >       >        feature-dynamic-multicast-control = "1"
>       >       >       >        feature-split-event-channels = "1"
>       >       >       >        multi-queue-max-queues = "4"
>       >       >       >        feature-ctrl-ring = "1"
>       >       >       >   1 = ""
>       >       >       >    vm = "/vm/d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
>       >       >       >    name = "guest2"
>       >       >       >    cpu = ""
>       >       >       >     0 = ""
>       >       >       >      availability = "online"
>       >       >       >     1 = ""
>       >       >       >      availability = "online"
>       >       >       >    memory = ""
>       >       >       >     static-max = "2097152"
>       >       >       >     target = "2097152"
>       >       >       >     videoram = "0"
>       >       >       >    device = ""
>       >       >       >     suspend = ""
>       >       >       >      event-channel = ""
>       >       >       >     vbd = ""
>       >       >       >      51712 = ""
>       >       >       >       backend = "/local/domain/0/backend/vbd/1/51712"
>       >       >       >       backend-id = "0"
>       >       >       >       state = "4"
>       >       >       >       virtual-device = "51712"
>       >       >       >       device-type = "disk"
>       >       >       >       multi-queue-num-queues = "2"
>       >       >       >       queue-0 = ""
>       >       >       >        ring-ref = "8"
>       >       >       >        event-channel = "4"
>       >       >       >       queue-1 = ""
>       >       >       >        ring-ref = "9"
>       >       >       >        event-channel = "5"
>       >       >       >       protocol = "arm-abi"
>       >       >       >       feature-persistent = "1"
>       >       >       >     vfb = ""
>       >       >       >      0 = ""
>       >       >       >       backend = "/local/domain/0/backend/vfb/1/0"
>       >       >       >       backend-id = "0"
>       >       >       >       state = "4"
>       >       >       >       page-ref = "275022"
>       >       >       >       event-channel = "3"
>       >       >       >       protocol = "arm-abi"
>       >       >       >       feature-update = "1"
>       >       >       >     vkbd = ""
>       >       >       >      0 = ""
>       >       >       >       backend = "/local/domain/0/backend/vkbd/1/0"
>       >       >       >       backend-id = "0"
>       >       >       >       state = "4"
>       >       >       >       request-abs-pointer = "1"
>       >       >       >       page-ref = "275322"
>       >       >       >       page-gref = "1284"
>       >       >       >       event-channel = "10"
>       >       >       >     vif = ""
>       >       >       >      0 = ""
>       >       >       >       backend = "/local/domain/0/backend/vif/1/0"
>       >       >       >       backend-id = "0"
>       >       >       >       state = "4"
>       >       >       >       handle = "0"
>       >       >       >       mac = "e4:5f:01:cd:7b:dd"
>       >       >       >       mtu = "1500"
>       >       >       >       xdp-headroom = "0"
>       >       >       >       multi-queue-num-queues = "2"
>       >       >       >       queue-0 = ""
>       >       >       >        tx-ring-ref = "1280"
>       >       >       >        rx-ring-ref = "1281"
>       >       >       >        event-channel-tx = "6"
>       >       >       >        event-channel-rx = "7"
>       >       >       >       queue-1 = ""
>       >       >       >        tx-ring-ref = "1282"
>       >       >       >        rx-ring-ref = "1283"
>       >       >       >        event-channel-tx = "8"
>       >       >       >        event-channel-rx = "9"
>       >       >       >       request-rx-copy = "1"
>       >       >       >       feature-rx-notify = "1"
>       >       >       >       feature-sg = "1"
>       >       >       >       feature-gso-tcpv4 = "1"
>       >       >       >       feature-gso-tcpv6 = "1"
>       >       >       >       feature-ipv6-csum-offload = "1"
>       >       >       >    control = ""
>       >       >       >     shutdown = ""
>       >       >       >     feature-poweroff = "1"
>       >       >       >     feature-reboot = "1"
>       >       >       >     feature-suspend = ""
>       >       >       >     sysrq = ""
>       >       >       >     platform-feature-multiprocessor-suspend = "1"
>       >       >       >     platform-feature-xs_reset_watches = "1"
>       >       >       >    data = ""
>       >       >       >    drivers = ""
>       >       >       >    feature = ""
>       >       >       >    attr = ""
>       >       >       >    error = ""
>       >       >       >    domid = "1"
>       >       >       >    store = ""
>       >       >       >     port = "1"
>       >       >       >     ring-ref = "233473"
>       >       >       >    console = ""
>       >       >       >     backend = "/local/domain/0/backend/console/1/0"
>       >       >       >     backend-id = "0"
>       >       >       >     limit = "1048576"
>       >       >       >     type = "xenconsoled"
>       >       >       >     output = "pty"
>       >       >       >     tty = "/dev/pts/1"
>       >       >       >     port = "2"
>       >       >       >     ring-ref = "233472"
>       >       >       >     vnc-listen = "127.0.0.1"
>       >       >       >     vnc-port = "5900"
>       >       >       >    image = ""
>       >       >       >     device-model-pid = "788"
>       >       >       > vm = ""
>       >       >       >  d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f = ""
>       >       >       >   name = "guest2"
>       >       >       >   uuid = "d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
>       >       >       >   start_time = "1520600274.27"
>       >       >       > libxl = ""
>       >       >       >  1 = ""
>       >       >       >   device = ""
>       >       >       >    vbd = ""
>       >       >       >     51712 = ""
>       >       >       >      frontend = "/local/domain/1/device/vbd/51712"
>       >       >       >      backend = "/local/domain/0/backend/vbd/1/51712"
>       >       >       >      params = "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
>       >       >       >      script = "/etc/xen/scripts/block"
>       >       >       >      frontend-id = "1"
>       >       >       >      online = "1"
>       >       >       >      removable = "0"
>       >       >       >      bootable = "1"
>       >       >       >      state = "1"
>       >       >       >      dev = "xvda"
>       >       >       >      type = "phy"
>       >       >       >      mode = "w"
>       >       >       >      device-type = "disk"
>       >       >       >      discard-enable = "1"
>       >       >       >    vfb = ""
>       >       >       >     0 = ""
>       >       >       >      frontend = "/local/domain/1/device/vfb/0"
>       >       >       >      backend = "/local/domain/0/backend/vfb/1/0"
>       >       >       >      frontend-id = "1"
>       >       >       >      online = "1"
>       >       >       >      state = "1"
>       >       >       >      vnc = "1"
>       >       >       >      vnclisten = "127.0.0.1"
>       >       >       >      vncdisplay = "0"
>       >       >       >      vncunused = "1"
>       >       >       >      sdl = "0"
>       >       >       >      opengl = "0"
>       >       >       >    vkbd = ""
>       >       >       >     0 = ""
>       >       >       >      frontend = "/local/domain/1/device/vkbd/0"
>       >       >       >      backend = "/local/domain/0/backend/vkbd/1/0"
>       >       >       >      frontend-id = "1"
>       >       >       >      online = "1"
>       >       >       >      state = "1"
>       >       >       >    console = ""
>       >       >       >     0 = ""
>       >       >       >      frontend = "/local/domain/1/console"
>       >       >       >      backend = "/local/domain/0/backend/console/1/0"
>       >       >       >      frontend-id = "1"
>       >       >       >      online = "1"
>       >       >       >      state = "1"
>       >       >       >      protocol = "vt100"
>       >       >       >    vif = ""
>       >       >       >     0 = ""
>       >       >       >      frontend = "/local/domain/1/device/vif/0"
>       >       >       >      backend = "/local/domain/0/backend/vif/1/0"
>       >       >       >      frontend-id = "1"
>       >       >       >      online = "1"
>       >       >       >      state = "1"
>       >       >       >      script = "/etc/xen/scripts/vif-bridge"
>       >       >       >      mac = "e4:5f:01:cd:7b:dd"
>       >       >       >      bridge = "xenbr0"
>       >       >       >      handle = "0"
>       >       >       >      type = "vif"
>       >       >       >      hotplug-status = ""
>       >       >       >   type = "pvh"
>       >       >       >   dm-version = "qemu_xen"
>       >       >       > root@raspberrypi4-64:~/guest1#
>       >       >       >
>       >       >       > Any input as per above? Looking forward to hearing from you.
>       >       >       >
>       >       >       > Regards,
>       >       >       > Vipul Kumar
>       >       >       >
>       >       >       > On Wed, Oct 26, 2022 at 5:21 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       Hi Vipul,
>       >       >       >
>       >       >       >       If you look at the QEMU logs, it says:
>       >       >       >
>       >       >       >       VNC server running on 127.0.0.1:5900
>       >       >       >
>       >       >       >       That is the VNC server you need to connect to. So in theory:
>       >       >       >
>       >       >       >         vncviewer 127.0.0.1:5900
>       >       >       >
>       >       >       >       should work correctly.
>       >       >       >
>       >       >       >
>       >       >       >       If you have:
>       >       >       >
>       >       >       >         vfb = ["type=vnc"]
>       >       >       >
>       >       >       >       in your xl config file and you have "fbdev" in your Linux guest, it
>       >       >       >       should work.
>       >       >       >
>       >       >       >       If you connect to the VNC server but you get a black screen, it might be
>       >       >       >       a guest configuration issue. I would try with a simpler guest, text only
>       >       >       >       (no X11, no Wayland) and enable the fbdev console (fbcon). See
>       >       >       >       Documentation/fb/fbcon.rst in Linux. You should be able to see a
>       >       >       >       graphical console over VNC.
>       >       >       >
>       >       >       >       If that works, then you know that the fbdev kernel driver (xen-fbfront)
>       >       >       >       works correctly.
>       >       >       >
>       >       >       >       If it doesn't work, the output of "xenstore-ls" would be interesting.
>       >       >       >
>       >       >       >       Cheers,
>       >       >       >
>       >       >       >       Stefano
>       >       >       >
>       >       >       >
>       >       >       >       On Wed, 19 Oct 2022, Vipul Suneja wrote:
>       >       >       >       > Hi Stefano,
>       >       >       >       >
>       >       >       >       > Thanks for the response!
>       >       >       >       >
>       >       >       >       > I am following the same link you shared from the beginning. Tried the command "vncviewer localhost:0"
>       in DOM0
>       >       but
>       >       >       same
>       >       >       >       issue "Can't open
>       >       >       >       > display", below are the logs:
>       >       >       >       >
>       >       >       >       > root@raspberrypi4-64:~# vncviewer localhost:0
>       >       >       >       >
>       >       >       >       > TigerVNC Viewer 64-bit v1.11.0
>       >       >       >       > Built on: 2020-09-08 12:16
>       >       >       >       > Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst)
>       >       >       >       > See https://www.tigervnc.org for information on TigerVNC.
>       >       >       >       > Can't open display:
>       >       >       >       >
>       >       >       >       > Below are the netstat logs, i couldn't see anything running at port 5900 or 5901:
>       >       >       >       >
>       >       >       >       > root@raspberrypi4-64:~# netstat -tuwx
>       >       >       >       > Active Internet connections (w/o servers)
>       >       >       >       > Proto Recv-Q Send-Q Local Address           Foreign Address         State      
>       >       >       >       > tcp        0    164 192.168.1.39:ssh        192.168.1.38:37472      ESTABLISHED
>       >       >       >       > Active UNIX domain sockets (w/o servers)
>       >       >       >       > Proto RefCnt Flags       Type       State         I-Node Path
>       >       >       >       > unix  8      [ ]         DGRAM      CONNECTED      10565 /dev/log
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10891 /var/run/xenstored/socket
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13791
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10843 /var/run/xenstored/socket
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10573 /var/run/xenstored/socket
>       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14510
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13249
>       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      13887
>       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      10599
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14005
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13258
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13248
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14003
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10572 /var/run/xenstored/socket
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10786 /var/run/xenstored/socket
>       >       >       >       > unix  3      [ ]         DGRAM      CONNECTED      13186
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10864 /var/run/xenstored/socket
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10812 /var/run/xenstored/socket
>       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14083
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10813 /var/run/xenstored/socket
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14068
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13256
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10571 /var/run/xenstored/socket
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10842
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13985
>       >       >       >       > unix  3      [ ]         DGRAM      CONNECTED      13185
>       >       >       >       > unix  2      [ ]         STREAM     CONNECTED      13884
>       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14528
>       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      13785
>       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14034
>       >       >       >       >
>       >       >       >       > Attaching xen log files of /var/log/xen.
>       >       >       >       > I didn't get the role of QEMU here because as mentioned earlier, I am porting in raspberrypi 4B.
>       >       >       >       >
>       >       >       >       > Regards,
>       >       >       >       > Vipul Kumar
>       >       >       >       >
>       >       >       >       > On Wed, Oct 19, 2022 at 12:43 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       >       It usually works the way it is described in the guide:
>       >       >       >       >
>       >       >       >       >     
>       >       >       >     
>       >       >     
>       >     
>           https://www.virtuatopia.com/index.php?title=Configuring_a_VNC_based_Graphical_Console_for_a_Xen_Paravirtualized_domainU_Guest
>       >       >       >       >
>       >       >       >       >       You don't need to install any VNC-related server software because it is
>       >       >       >       >       already provided by Xen (to be precise it is provided by QEMU working
>       >       >       >       >       together with Xen.)
>       >       >       >       >
>       >       >       >       >       You only need the vnc client in dom0 so that you can connect, but you
>       >       >       >       >       could also run the vnc client outside from another host. So basically
>       >       >       >       >       the following should work when executed in Dom0 after creating DomU:
>       >       >       >       >
>       >       >       >       >         vncviewer localhost:0
>       >       >       >       >
>       >       >       >       >       Can you attach the Xen and QEMU logs (/var/log/xen/*)? And also use
>       >       >       >       >       netstat -taunp to check if there is anything running at port 5900 or
>       >       >       >       >       5901?
>       >       >       >       >
>       >       >       >       >       Cheers,
>       >       >       >       >
>       >       >       >       >       Stefano
>       >       >       >       >
>       >       >       >       >
>       >       >       >       >       On Tue, 18 Oct 2022, Vipul Suneja wrote:
>       >       >       >       >       > Hi Stefano,
>       >       >       >       >       >
>       >       >       >       >       > Thanks for the response!
>       >       >       >       >       >
>       >       >       >       >       > I could install tigerVNC, x11vnc & libvncserver in Dom0 xen-image-minimal but only manage to
>       install
>       >       >       >       libvncserver(couldn't
>       >       >       >       >       install tigervnc
>       >       >       >       >       > & x11vnc because of x11
>       >       >       >       >       > support missing, it's wayland) in DOMU custom graphical image. I tried running vncviewer with
>       IP
>       >       address &
>       >       >       port
>       >       >       >       in dom0 to
>       >       >       >       >       access the domu
>       >       >       >       >       > graphical image display as per below commands.
>       >       >       >       >       >  
>       >       >       >       >       >  vncviewer 192.168.1.42:5901
>       >       >       >       >       >  
>       >       >       >       >       >  But it showing can't open display, below are the logs:
>       >       >       >       >       >  
>       >       >       >       >       > root@raspberrypi4-64:~/guest1# vncviewer 192.168.1.42:5901
>       >       >       >       >       >
>       >       >       >       >       > TigerVNC Viewer 64-bit v1.11.0
>       >       >       >       >       > Built on: 2020-09-08 12:16
>       >       >       >       >       > Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst)
>       >       >       >       >       > See https://www.tigervnc.org for information on TigerVNC.
>       >       >       >       >       > Can't open display:
>       >       >       >       >       > root@raspberrypi4-64:~/guest1#
>       >       >       >       >       >
>       >       >       >       >       > I am not exactly sure what the issue is but I thought only libvncserver in DOMU could work to
>       get
>       >       access but
>       >       >       it
>       >       >       >       did not
>       >       >       >       >       work. 
>       >       >       >       >       > If TigerVNC is the issue here then is there any other VNC source which could be installed for
>       both
>       >       x11 &
>       >       >       >       wayland supported
>       >       >       >       >       images?
>       >       >       >       >       >
>       >       >       >       >       > Regards,
>       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >
>       >       >       >       >       > On Tue, Oct 18, 2022 at 2:40 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       >       >       VNC is typically easier to setup, because SDL needs extra libraries at
>       >       >       >       >       >       build time and runtime. If QEMU is built without SDL support it won't
>       >       >       >       >       >       start when you ask for SDL.
>       >       >       >       >       >
>       >       >       >       >       >       VNC should work with both x11 and wayland in your domU. It doesn't work
>       >       >       >       >       >       at the x11 level, it exposes a special fbdev device in your domU that
>       >       >       >       >       >       should work with:
>       >       >       >       >       >       - a graphical console in Linux domU
>       >       >       >       >       >       - x11
>       >       >       >       >       >       - wayland (but I haven't tested this so I am not 100% sure about it)
>       >       >       >       >       >
>       >       >       >       >       >       When you say "it doesn't work", what do you mean? Do you get a black
>       >       >       >       >       >       window?
>       >       >       >       >       >
>       >       >       >       >       >       You need CONFIG_XEN_FBDEV_FRONTEND in Linux domU
>       >       >       >       >       >       (drivers/video/fbdev/xen-fbfront.c). I would try to get a graphical text
>       >       >       >       >       >       console up and running in your domU before attempting x11/wayland.
>       >       >       >       >       >
>       >       >       >       >       >       Cheers,
>       >       >       >       >       >
>       >       >       >       >       >       Stefano
>       >       >       >       >       >
>       >       >       >       >       >       On Mon, 17 Oct 2022, Vipul Suneja wrote:
>       >       >       >       >       >       > Hi,
>       >       >       >       >       >       > Thanks!
>       >       >       >       >       >       >
>       >       >       >       >       >       > I have ported xen minimal image as DOM0 & custom wayland GUI based image as DOMU in
>       raspberry
>       >       pi4B. I
>       >       >       >       am trying to
>       >       >       >       >       make GUI
>       >       >       >       >       >       display up
>       >       >       >       >       >       > for guest machine. I tried using sdl, included below line in guest.conf file
>       >       >       >       >       >       > vfb= [ 'sdl=1' ]
>       >       >       >       >       >       >
>       >       >       >       >       >       > But it is throwing below error:
>       >       >       >       >       >       >
>       >       >       >       >       >       > root@raspberrypi4-64:~/guest1# xl create -c guest1.cfg
>       >       >       >       >       >       > Parsing config from guest1.cfg
>       >       >       >       >       >       > libxl: error: libxl_qmp.c:1400:qmp_ev_fd_callback: Domain 3:error on QMP socket:
>       Connection
>       >       reset by
>       >       >       >       peer
>       >       >       >       >       >       > libxl: error: libxl_qmp.c:1439:qmp_ev_fd_callback: Domain 3:Error happened with the
>       QMP
>       >       connection to
>       >       >       >       QEMU
>       >       >       >       >       >       > libxl: error: libxl_dm.c:3351:device_model_postconfig_done: Domain 3:Post DM startup
>       configs
>       >       failed,
>       >       >       >       rc=-26
>       >       >       >       >       >       > libxl: error: libxl_create.c:1867:domcreate_devmodel_started: Domain 3:device model
>       did not
>       >       start:
>       >       >       -26
>       >       >       >       >       >       > libxl: error: libxl_aoutils.c:646:libxl__kill_xs_path: Device Model already exited
>       >       >       >       >       >       > libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain 3:Non-existant domain
>       >       >       >       >       >       > libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain 3:Unable to destroy
>       guest
>       >       >       >       >       >       > libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain 3:Destruction of domain
>       failed
>       >       >       >       >       >       >
>       >       >       >       >       >       > Another way is VNC, i could install tigervnc in DOM0 but same i couldn't in guest
>       machine
>       >       because it
>       >       >       >       doesn't support
>       >       >       >       >       >       x11(supports wayland
>       >       >       >       >       >       > only). I am completely blocked here, Need your support to enable the display up.
>       >       >       >       >       >       > Any alternative of VNC which could work in both x11 & wayland supported images?
>       >       >       >       >       >       >
>       >       >       >       >       >       > Any input on VNC, SDL or any other way to proceed on this? Looking forward to hearing
>       from
>       >       you.
>       >       >       >       >       >       >
>       >       >       >       >       >       > Regards,
>       >       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >
>       >       >       >       >
>       >       >       >       >
>       >       >       >
>       >       >       >
>       >       >       >
>       >       >
>       >       >
>       >       >
>       >
>       >
>       >
> 
> 
> 
--8323329-1775995182-1670883184=:3075842--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 22:58:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 22:58:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459977.717765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4rkW-0001sp-0P; Mon, 12 Dec 2022 22:58:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459977.717765; Mon, 12 Dec 2022 22:58:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4rkV-0001si-Ta; Mon, 12 Dec 2022 22:58:15 +0000
Received: by outflank-mailman (input) for mailman id 459977;
 Mon, 12 Dec 2022 22:58:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PhXI=4K=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p4rkU-0001sc-Pk
 for xen-devel@lists.xenproject.org; Mon, 12 Dec 2022 22:58:15 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 73466cf4-7a70-11ed-8fd2-01056ac49cbb;
 Mon, 12 Dec 2022 23:58:12 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.nyi.internal (Postfix) with ESMTP id 6F0B95C0180;
 Mon, 12 Dec 2022 17:58:10 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Mon, 12 Dec 2022 17:58:10 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 12 Dec 2022 17:58:09 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73466cf4-7a70-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670885890; x=
	1670972290; bh=oLwm2dssxrwsdrFJechFNbbN6Ajsqr37GspcafJEHGI=; b=m
	3Xo/y/yrZMaaIeGEJXHt5zcHRuexuVylfAyFeNxTSH7f5PlB3myzLpLlgJVz26AZ
	pUliv0JM0bQJvT802OBZzziHUtM7jgm/ftQojlhi2Xwu9EH4hBDmBRf4CaXJwlIG
	db/Ejv0C8XcgMI6SoIswFEs8Kp1sBj1EQRgaGpImNg9Vs0j4/m+n0MV67Eb7FkTC
	rKpgY3LctyVjZXvQllWIrfY6HmAE5qTabpMr4/+0QdkfbYVD0bmAQG5TE8ejfRqk
	VJqfmpOUcHcYbyHlbzNa6tgKmVgRYH9w3Mb/obRt9692x/Mizo3o/O7IvIqG64Za
	kkeNC6YE9L5jPcBFN7Cdg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1670885890; x=1670972290; bh=oLwm2dssxrwsdrFJechFNbbN6Ajs
	qr37GspcafJEHGI=; b=e7FXx1yeCcvOG5V19MLL38Qro3yzz6RdfgEbQyqEG5Wc
	n3OIbyn7OEoSt68dqhYvqwuRt1Q39BWteCnx8OpYgkvhsm8Q7+ABVHZCslwW1ClP
	7rRLnPysP2/gE4n0vWYZhY/za54Rmo4Xr6QfYlBu4VjidXfrU6NHmtKDbsThu2Jy
	zJBxZwsvUPBV/tgrmfJ5W6AFV+vVQPMriNHZUKG8FqgMbpKPQ/lecS9O4/lHApsQ
	TA+GizQD+Xq+JnXLQUnCW5FgPkOGqu4vYOP9BnHumCPy54iPPiZyxCQMDyz4gSvW
	KionUAjyWbDlCSqWmDK1VxpEr2KRvnP+iPuFXOoNpQ==
X-ME-Sender: <xms:ArKXY5ai66yhcw_4y_mLyE1ISl5qwRW9ooYrNYBqy3qasPfFMDGbPg>
    <xme:ArKXYwYapZKP4_Dw-2TcJsbQBjGbW3Mu5QSOU6XooF-ZNt_eV1zVu_frPk9FEvNzK
    V6WhrF-rUufBxw>
X-ME-Received: <xmr:ArKXY7_Qle4XUsJE4-QqDLD8RkTcReSv3EiKnuPVc5x5MqyxDBmLduwJIQO3>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdelgddthecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeduieelfeeutedvleehueetffejgeej
    geffkeelveeuleeukeejjeduffetjeekteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:ArKXY3rnTIYctyj_ELzs8nDm_H_xUUkR0fRm754D8gX7wgR9ue2HBQ>
    <xmx:ArKXY0rvcbMR84y-0f7-uvHRSBcZrL034k3lyecX7OaYZe4u1bH8gw>
    <xmx:ArKXY9T6nQmFd0OobJTbBlzFwdjdKjNkw2ro2BZNOuxVdEHyYFHHUg>
    <xmx:ArKXY_Vmcy5OgDue35lL_FjRnmfS9lKLCPlPGPgW7j7yf7RnpgTOJQ>
Feedback-ID: iac594737:Fastmail
Date: Mon, 12 Dec 2022 17:58:05 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] Relocate the ESRT when booting via multiboot2
Message-ID: <Y5ex/9OBFZ3hdBx/@itl-email>
References: <74145e57307e9b35cbdc296b22241e6f36405f6a.1670546744.git.demi@invisiblethingslab.com>
 <e4dfe73a-a0ff-54c4-054d-2044de1e546a@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="Q/kQ6JmqdbhO6GPW"
Content-Disposition: inline
In-Reply-To: <e4dfe73a-a0ff-54c4-054d-2044de1e546a@suse.com>


--Q/kQ6JmqdbhO6GPW
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 12 Dec 2022 17:58:05 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] Relocate the ESRT when booting via multiboot2

On Mon, Dec 12, 2022 at 04:19:21PM +0100, Jan Beulich wrote:
> On 09.12.2022 01:52, Demi Marie Obenour wrote:
> > This was missed in the initial patchset.
> >=20
> > Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
>=20
> It looks as if, besides ...
>=20
> > --- a/xen/arch/x86/efi/efi-boot.h
> > +++ b/xen/arch/x86/efi/efi-boot.h
> > @@ -818,6 +818,8 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, =
EFI_SYSTEM_TABLE *SystemTable
> >      if ( gop )
> >          efi_set_gop_mode(gop, gop_mode);
> > =20
> > +    efi_relocate_esrt(SystemTable);
> > +
> >      efi_exit_boot(ImageHandle, SystemTable);
> >  }
> > =20
>=20
> ... this core piece, the rest is merely pure code movement, with the goal
> of avoiding a forward declaration. If such is the case, please say so in
> your description. I'll add a sentence to this effect when committing, so
> the remark if for future patches. Provided of course it is true (i.e. I'm
> not overlooking any tiny change) - please confirm.

It is indeed just code movement.

> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks!  Do you want me to submit a separate patch for backporting to
4.17, or do you plan on doing that?
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--Q/kQ6JmqdbhO6GPW
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOXsf8ACgkQsoi1X/+c
IsH0pw/+OK94ML0txCrONMxG0ZPBnrRIJCPIdRpD5g2O+Qq3w+BKrz5m0jF2TNuc
KjXyhjWWr4moX5vGdJAdXmuOzKY3XM5afmBT836mCvDawhOEJ1ohhwV1xZE59byc
QRBHQe+h69ab0xnUMKKa0V3bm6hHZ8DBmODDj3KRVyqiwXSI0ATXsMp+S0UYb+kM
wrqR5dzlgPTSggmDCR+PLXUoLeTisckxIF4QOCqEIUrdlAIq8b9UWL7AfU/pP9Lk
Hcqjmy8BOIkOg0P2y2yU0GBYRdMrGRSgfi9iO26Tfz26KxCwj2SplIjwevZ3op0B
oq/MUiYs8rtykAz1ImP/7WwxqFUveWFBjOEJmjljK2G5nHu2LdPmpoZNOvGEGxTw
caXMs0LT4PiNIXxgqtuM8gy86NHuBC1Qc6dv+x1/rxaqr7MKpDpdMUDZGmVJG2+k
iaPRB182pBe3q/n8c9LGC8r3AUqkNgh8xsf3axAb5X5SLJxtzZKZiNNnqYZMOn4r
N1isxiETyDsbjajpVpozmiixcEmFN7UaYusIsq2AyHA09gWwe1FHiaWxlWEhZq0G
TApCTO7UL+385oQXSpxgbTbMBbNK3jUiqiBFTvkwFdivlE5HpZJ1Jo6CagQSGXQ+
gkx7g0L9FysPWf+XhW3G0GuyVYv7OSmPZfdaawM4eeNoUFLOHlo=
=8+Y1
-----END PGP SIGNATURE-----

--Q/kQ6JmqdbhO6GPW--


From xen-devel-bounces@lists.xenproject.org Mon Dec 12 23:23:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 12 Dec 2022 23:23:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.459987.717776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4s8Z-0005dp-Um; Mon, 12 Dec 2022 23:23:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 459987.717776; Mon, 12 Dec 2022 23:23:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4s8Z-0005di-RY; Mon, 12 Dec 2022 23:23:07 +0000
Received: by outflank-mailman (input) for mailman id 459987;
 Mon, 12 Dec 2022 23:23:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4s8Y-0005dY-B4; Mon, 12 Dec 2022 23:23:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4s8Y-0004yt-8W; Mon, 12 Dec 2022 23:23:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4s8X-0005Uc-RP; Mon, 12 Dec 2022 23:23:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4s8X-0006gw-Qp; Mon, 12 Dec 2022 23:23:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=63MHnKpVPhi0EuCf6NI3TaJ4bwJta3KZLdQLi3Nsp5g=; b=ZIQrg7wNtRSZb62ygsb0z7NAm8
	jfnyjwLxKVtmdiAJVSR11xKxJRt6Nm8aQkmoAKUVloo/d7pAVIHAtboeQNQMYVMixD9AKC1eOtMnJ
	GTEhZug8/8kv7uXCwS6yZjJJdP23UBBJPhE+c/qwBjdtaTx60OUEIc/dDF3U24slSGIs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175153-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175153: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=830b3c68c1fb1e9176028d02ef86f3cf76aa2476
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 12 Dec 2022 23:23:05 +0000

flight 175153 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175153/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                830b3c68c1fb1e9176028d02ef86f3cf76aa2476
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   66 days
Failing since        173470  2022-10-08 06:21:34 Z   65 days  132 attempts
Testing same since   175150  2022-12-12 05:55:51 Z    0 days    2 attempts

------------------------------------------------------------
1995 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 192152 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 00:32:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 00:32:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460000.717786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4tD2-0006hU-GT; Tue, 13 Dec 2022 00:31:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460000.717786; Tue, 13 Dec 2022 00:31:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4tD2-0006hN-Dd; Tue, 13 Dec 2022 00:31:48 +0000
Received: by outflank-mailman (input) for mailman id 460000;
 Tue, 13 Dec 2022 00:31:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TuKI=4L=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p4tD0-0006hH-G4
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 00:31:46 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84a4ee53-7a7d-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 01:31:44 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D033E6125F;
 Tue, 13 Dec 2022 00:31:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1C80FC433D2;
 Tue, 13 Dec 2022 00:31:41 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84a4ee53-7a7d-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670891502;
	bh=IVm2reqsYyOHXVBsb40bFinYDBHIWbHiv1CGabuXfAI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Wo1SrzXgFcNXgazlnhyntTS3G6yhhMPiH6G0W9z6uxK7GYrpNwQyqfV7lK7ixZsMq
	 KOthGpgoyM/l6FtZCWirEbbC67jaC4SL1Q3GvyU6Ot3Bl54LsfeZuNFbYjNAu4ZAqD
	 +8uxJXAzgMPwLn3CNMhz1G7uEGetC1k3ge6gNz+7qnN8dlyuwT68FOSy/knY1W9ZTq
	 fu40duUtY97CJ7JMOqJyrIfcGW5uNWJWV0xZwONsAglTlTlPLbjCXkAsH5dYJ6zS+C
	 aU1koizrLlrw75JGG0oX6+y3dMhVqUWHlLAIFvdtb9UbYwelT+0CixYsNTDdycwb6/
	 B009AUrJ28JqA==
Date: Mon, 12 Dec 2022 16:31:39 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 06/18] xen/arm32: head: Replace "ldr rX, =<label>"
 with "mov_w rX, <label>"
In-Reply-To: <20221212095523.52683-7-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212121631330.3075842@ubuntu-linux-20-04-desktop>
References: <20221212095523.52683-1-julien@xen.org> <20221212095523.52683-7-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 12 Dec 2022, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> "ldr rX, =<label>" is used to load a value from the literal pool. This
> implies a memory access.
> 
> This can be avoided by using the macro mov_w which encode the value in
> the immediate of two instructions.
> 
> So replace all "ldr rX, =<label>" with "mov_w rX, <label>".
> 
> No functional changes intended.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> 
>     Changes in v3:
>         * Patch added
> ---
>  xen/arch/arm/arm32/head.S | 38 +++++++++++++++++++-------------------
>  1 file changed, 19 insertions(+), 19 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index a558c2a6876e..ce680be91be1 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -62,7 +62,7 @@
>  .endm
>  
>  .macro load_paddr rb, sym
> -        ldr   \rb, =\sym
> +        mov_w \rb, \sym
>          add   \rb, \rb, r10
>  .endm
>  
> @@ -149,7 +149,7 @@ past_zImage:
>          mov   r8, r2                 /* r8 := DTB base address */
>  
>          /* Find out where we are */
> -        ldr   r0, =start
> +        mov_w r0, start
>          adr   r9, start              /* r9  := paddr (start) */
>          sub   r10, r9, r0            /* r10 := phys-offset */
>  
> @@ -170,7 +170,7 @@ past_zImage:
>          bl    enable_mmu
>  
>          /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
> -        ldr   r0, =primary_switched
> +        mov_w r0, primary_switched
>          mov   pc, r0
>  primary_switched:
>          /*
> @@ -190,7 +190,7 @@ primary_switched:
>          /* Setup the arguments for start_xen and jump to C world */
>          mov   r0, r10                /* r0 := Physical offset */
>          mov   r1, r8                 /* r1 := paddr(FDT) */
> -        ldr   r2, =start_xen
> +        mov_w r2, start_xen
>          b     launch
>  ENDPROC(start)
>  
> @@ -198,7 +198,7 @@ GLOBAL(init_secondary)
>          cpsid aif                    /* Disable all interrupts */
>  
>          /* Find out where we are */
> -        ldr   r0, =start
> +        mov_w r0, start
>          adr   r9, start              /* r9  := paddr (start) */
>          sub   r10, r9, r0            /* r10 := phys-offset */
>  
> @@ -227,7 +227,7 @@ GLOBAL(init_secondary)
>  
>  
>          /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
> -        ldr   r0, =secondary_switched
> +        mov_w r0, secondary_switched
>          mov   pc, r0
>  secondary_switched:
>          /*
> @@ -236,7 +236,7 @@ secondary_switched:
>           *
>           * XXX: This is not compliant with the Arm Arm.
>           */
> -        ldr   r4, =init_ttbr         /* VA of HTTBR value stashed by CPU 0 */
> +        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
>          ldrd  r4, r5, [r4]           /* Actual value */
>          dsb
>          mcrr  CP64(r4, r5, HTTBR)
> @@ -254,7 +254,7 @@ secondary_switched:
>  #endif
>          PRINT("- Ready -\r\n")
>          /* Jump to C world */
> -        ldr   r2, =start_secondary
> +        mov_w r2, start_secondary
>          b     launch
>  ENDPROC(init_secondary)
>  
> @@ -297,8 +297,8 @@ ENDPROC(check_cpu_mode)
>   */
>  zero_bss:
>          PRINT("- Zero BSS -\r\n")
> -        ldr   r0, =__bss_start       /* r0 := vaddr(__bss_start) */
> -        ldr   r1, =__bss_end         /* r1 := vaddr(__bss_start) */
> +        mov_w r0, __bss_start        /* r0 := vaddr(__bss_start) */
> +        mov_w r1, __bss_end          /* r1 := vaddr(__bss_start) */
>  
>          mov   r2, #0
>  1:      str   r2, [r0], #4
> @@ -330,8 +330,8 @@ cpu_init:
>  
>  cpu_init_done:
>          /* Set up memory attribute type tables */
> -        ldr   r0, =MAIR0VAL
> -        ldr   r1, =MAIR1VAL
> +        mov_w r0, MAIR0VAL
> +        mov_w r1,MAIR1VAL
>          mcr   CP32(r0, HMAIR0)
>          mcr   CP32(r1, HMAIR1)
>  
> @@ -341,10 +341,10 @@ cpu_init_done:
>           * PT walks are write-back, write-allocate in both cache levels,
>           * Full 32-bit address space goes through this table.
>           */
> -        ldr   r0, =(TCR_RES1|TCR_SH0_IS|TCR_ORGN0_WBWA|TCR_IRGN0_WBWA|TCR_T0SZ(0))
> +        mov_w r0, (TCR_RES1|TCR_SH0_IS|TCR_ORGN0_WBWA|TCR_IRGN0_WBWA|TCR_T0SZ(0))
>          mcr   CP32(r0, HTCR)
>  
> -        ldr   r0, =HSCTLR_SET
> +        mov_w r0, HSCTLR_SET
>          mcr   CP32(r0, HSCTLR)
>          isb
>  
> @@ -452,7 +452,7 @@ ENDPROC(cpu_init)
>   */
>  create_page_tables:
>          /* Prepare the page-tables for mapping Xen */
> -        ldr   r0, =XEN_VIRT_START
> +        mov_w r0, XEN_VIRT_START
>          create_table_entry boot_pgtable, boot_second, r0, 1
>          create_table_entry boot_second, boot_third, r0, 2
>  
> @@ -576,7 +576,7 @@ remove_identity_mapping:
>          cmp   r1, #XEN_FIRST_SLOT
>          beq   1f
>          /* It is not in slot 0, remove the entry */
> -        ldr   r0, =boot_pgtable      /* r0 := root table */
> +        mov_w r0, boot_pgtable       /* r0 := root table */
>          lsl   r1, r1, #3             /* r1 := Slot offset */
>          strd  r2, r3, [r0, r1]
>          b     identity_mapping_removed
> @@ -590,7 +590,7 @@ remove_identity_mapping:
>          cmp   r1, #XEN_SECOND_SLOT
>          beq   identity_mapping_removed
>          /* It is not in slot 1, remove the entry */
> -        ldr   r0, =boot_second       /* r0 := second table */
> +        mov_w r0, boot_second        /* r0 := second table */
>          lsl   r1, r1, #3             /* r1 := Slot offset */
>          strd  r2, r3, [r0, r1]
>  
> @@ -620,7 +620,7 @@ ENDPROC(remove_identity_mapping)
>  setup_fixmap:
>  #if defined(CONFIG_EARLY_PRINTK)
>          /* Add UART to the fixmap table */
> -        ldr   r0, =EARLY_UART_VIRTUAL_ADDRESS
> +        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
>          create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
>  #endif
>          /* Map fixmap into boot_second */
> @@ -643,7 +643,7 @@ ENDPROC(setup_fixmap)
>   * Clobbers r3
>   */
>  launch:
> -        ldr   r3, =init_data
> +        mov_w r3, init_data
>          add   r3, #INITINFO_stack    /* Find the boot-time stack */
>          ldr   sp, [r3]
>          add   sp, #STACK_SIZE        /* (which grows down from the top). */
> -- 
> 2.38.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 00:41:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 00:41:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460011.717797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4tMW-0008Sk-HR; Tue, 13 Dec 2022 00:41:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460011.717797; Tue, 13 Dec 2022 00:41:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4tMW-0008Sd-Eq; Tue, 13 Dec 2022 00:41:36 +0000
Received: by outflank-mailman (input) for mailman id 460011;
 Tue, 13 Dec 2022 00:41:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=unTl=4L=zlw.email=sisyphean@srs-se1.protection.inumbo.net>)
 id 1p4tMU-0008SX-UY
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 00:41:35 +0000
Received: from mail.zlw.email (unknown [112.49.95.49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id de4507f1-7a7e-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 01:41:32 +0100 (CET)
Received: from localhost (unknown [127.0.0.1])
 by mail.zlw.email (Postfix) with ESMTP id EC015174161;
 Tue, 13 Dec 2022 00:41:45 +0000 (UTC)
Received: from mail.zlw.email ([127.0.0.1])
 by localhost (mail.zlw.email [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Pnm1MAVpsklM; Tue, 13 Dec 2022 08:41:43 +0800 (CST)
Received: from [192.168.66.233] (OpenWrt.lan [192.168.66.1])
 by mail.zlw.email (Postfix) with ESMTPSA id 82D73173F34;
 Tue, 13 Dec 2022 08:41:42 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de4507f1-7a7e-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zlw.email; h=
	content-transfer-encoding:content-type:content-type:in-reply-to
	:from:from:references:to:content-language:subject:subject
	:user-agent:mime-version:date:date:message-id; s=dkim; t=
	1670892103; x=1673484104; bh=9ppe57Cy4N/beW2jJ1rZXIEp+DX7nvoB+or
	WJ0OI+qg=; b=kyZgyEGMKtLYoPE1TTo16wsaJIRVbuw+WpCYsuo8zRR9f9UXt2g
	0Szv3sX+VOG2AOyJAM9LIZlckrM99nLg/to8swGHaQ0q65kLpn/9Asf8eCjumoLl
	iOg7apHkS+NW+fkys6kkOD+8aX31bYvV135RKA8hZ0uDq2zAkXjJyJkg=
X-Virus-Scanned: amavisd-new at zlw.email
Message-ID: <757ac91b-150d-53fe-751b-7f42ec447f15@zlw.email>
Date: Tue, 13 Dec 2022 08:41:32 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [BUG]Add PCIE devie to SMMUv3 fail
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Rahul Singh <Rahul.Singh@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <793eb471-e68b-c3ff-52e8-20d77252c0bf@zlw.email>
 <A9FCD688-3CA2-484A-ADC1-F1235F18890F@arm.com>
 <75bbfc8c-b89f-9478-63af-c37fda0ad3c0@zlw.email>
 <e7766518-275c-1030-e8c0-51a5787a9985@xen.org>
From: sisyphean <sisyphean@zlw.email>
In-Reply-To: <e7766518-275c-1030-e8c0-51a5787a9985@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

在 2022/12/12 18:05, Julien Grall 写道:
>
> On 12/12/2022 05:49, sisyphean wrote:
>> Hi,
>
> Hi,
Sorry for my negligence, I will add a cc to all subsequent emails.
> When submitting a bug report for Arm, can you please CC the Arm 
> maintainers?
>
>> 在 2022/12/9 17:50, Rahul Singh 写道:
>> After setting XEN and kernel as above, I tried the following two 
>> methods to add a PCIE device passthrough:
>>
>> 1. According to your suggestion, use the command xl 
>> pci-assignable-add 0002:21:00.0 to set in the Dom0. But in function
>> iommu_do_pci_domctl,  after device_assigned is called, ENODEV error 
>> is obtained.
>>
>> 2. Add xen-pciback.hide=(0002:21:00.0) to dom0-bootargs in the device 
>> tree, I encountered the same problem as before
>> when initializing the kernel. In function pci_add_device, PCIE 
>> devices cannot be added to SMMUv3.
>>
>> The kernel version I use is 5.10. Does this have an impact?
>>
>> In addition, an error was encountered after XEN enabling ITS:
>>
>> In function gicv3_cpu_init, gicv3_its_setup_collection return 
>> -ETIMEDOUT. This problem was solved after I made the
>> following changes:
>>
>> diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
>> index 9558bad..a12c0d1 100644
>> --- a/xen/arch/arm/gic-v3-its.c
>> +++ b/xen/arch/arm/gic-v3-its.c
>> @@ -118,11 +118,11 @@ static int its_send_command(struct host_its 
>> *hw_its, const void *its_cmd)
>>       }
>>
>>       memcpy(hw_its->cmd_buf + writep, its_cmd, ITS_CMD_SIZE);
>> -    if ( hw_its->flags & HOST_ITS_FLUSH_CMD_QUEUE )
>> +    // if ( hw_its->flags & HOST_ITS_FLUSH_CMD_QUEUE )
>
> This is suggesting that the logic in its_map_cbaser() doesn't detect 
> the command queue is uncacheable.
>
> Looking at the code, Xen will write the register with the shareability 
> it wants and then read back to confirm the ITS "accept it". If it 
> didn't accept, then we will use uncacheable.
>
Function its_map_cbaser() is called twice, and the reg values read by 
readq_relaxed(cbasereg)
are 0xB8000000EBD004FF and 0xB8000000EBC004FF respectively
> Can you print the value read from the ITS in its_map_cbaser()?
>
> Cheers,
>
Cheers,


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 00:46:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 00:46:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460020.717808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4tRa-0000nw-3n; Tue, 13 Dec 2022 00:46:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460020.717808; Tue, 13 Dec 2022 00:46:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4tRa-0000np-1E; Tue, 13 Dec 2022 00:46:50 +0000
Received: by outflank-mailman (input) for mailman id 460020;
 Tue, 13 Dec 2022 00:46:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TuKI=4L=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p4tRZ-0000nj-8Q
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 00:46:49 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f26ed08-7a7f-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 01:46:48 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 5B773612C5;
 Tue, 13 Dec 2022 00:46:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A8E2EC433EF;
 Tue, 13 Dec 2022 00:46:44 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f26ed08-7a7f-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670892405;
	bh=XXT8Pba0qoutG85To85Sk8VlBcTPK73rdEClmyJ2swU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hVEYRWHNcbMLDxHFMWpJE/O15yg5xwtVwtx0Xnb71lIrSs2Zwrp7QdLQ3jrbmsLKZ
	 itiwfOFYp6hn0ql0+XMtfqY3VMAZ9iDq1Ob64/a2XuJGPcCxON0EpVwDZ+cp6Li8dj
	 8SZu6G9UYfUEnJXPSNUWygXWo2Yj52tivaBOQhYcl6n50MzkBQyEIRQQtq0FgoUVqT
	 V2C0U5FxNkAwlbh7Hh347fY7sjnTcnx5zFTOmc2aeK7p/oBhfTOpIts/h1BLzHUBBP
	 L6LmV9VRLc+LWu4cmFCWGxBi8PMMlYI9RigDLkzQnS6TsKIFuIU2ZJEoEXE4HvKOwG
	 LqGYgPTm+NhXw==
Date: Mon, 12 Dec 2022 16:46:43 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 07/18] xen/arm32: head: Jump to the runtime mapping
 in enable_mmu()
In-Reply-To: <20221212095523.52683-8-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212121646370.3075842@ubuntu-linux-20-04-desktop>
References: <20221212095523.52683-1-julien@xen.org> <20221212095523.52683-8-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 12 Dec 2022, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> At the moment, enable_mmu() will return to an address in the 1:1 mapping
> and each path is responsible to switch to the runtime mapping.
> 
> In a follow-up patch, the behavior to switch to the runtime mapping
> will become more complex. So to avoid more code/comment duplication,
> move the switch in enable_mmu().
> 
> Lastly, take the opportunity to replace load from literal pool with
> mov_w.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

> ---
>     Changes in v3:
>         - Fix typo in the commit message
> 
>     Changes in v2:
>         - Patch added
> ---
>  xen/arch/arm/arm32/head.S | 50 +++++++++++++++++++++++----------------
>  1 file changed, 30 insertions(+), 20 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index ce680be91be1..40c1d7502007 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -167,19 +167,11 @@ past_zImage:
>          bl    check_cpu_mode
>          bl    cpu_init
>          bl    create_page_tables
> -        bl    enable_mmu
>  
> -        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
> -        mov_w r0, primary_switched
> -        mov   pc, r0
> +        /* Address in the runtime mapping to jump to after the MMU is enabled */
> +        mov_w lr, primary_switched
> +        b     enable_mmu
>  primary_switched:
> -        /*
> -         * The 1:1 map may clash with other parts of the Xen virtual memory
> -         * layout. As it is not used anymore, remove it completely to
> -         * avoid having to worry about replacing existing mapping
> -         * afterwards.
> -         */
> -        bl    remove_identity_mapping
>          bl    setup_fixmap
>  #ifdef CONFIG_EARLY_PRINTK
>          /* Use a virtual address to access the UART. */
> @@ -223,12 +215,10 @@ GLOBAL(init_secondary)
>          bl    check_cpu_mode
>          bl    cpu_init
>          bl    create_page_tables
> -        bl    enable_mmu
>  
> -
> -        /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
> -        mov_w r0, secondary_switched
> -        mov   pc, r0
> +        /* Address in the runtime mapping to jump to after the MMU is enabled */
> +        mov_w lr, secondary_switched
> +        b     enable_mmu
>  secondary_switched:
>          /*
>           * Non-boot CPUs need to move on to the proper pagetables, which were
> @@ -523,9 +513,12 @@ virtphys_clash:
>  ENDPROC(create_page_tables)
>  
>  /*
> - * Turn on the Data Cache and the MMU. The function will return on the 1:1
> - * mapping. In other word, the caller is responsible to switch to the runtime
> - * mapping.
> + * Turn on the Data Cache and the MMU. The function will return
> + * to the virtual address provided in LR (e.g. the runtime mapping).
> + *
> + * Inputs:
> + *   r9 : paddr(start)
> + *   lr : Virtual address to return to
>   *
>   * Clobbers r0 - r3
>   */
> @@ -551,7 +544,24 @@ enable_mmu:
>          dsb                          /* Flush PTE writes and finish reads */
>          mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
>          isb                          /* Now, flush the icache */
> -        mov   pc, lr
> +
> +        /*
> +         * The MMU is turned on and we are in the 1:1 mapping. Switch
> +         * to the runtime mapping.
> +         */
> +        mov_w r0, 1f
> +        mov   pc, r0
> +1:
> +        /*
> +         * The 1:1 map may clash with other parts of the Xen virtual memory
> +         * layout. As it is not used anymore, remove it completely to
> +         * avoid having to worry about replacing existing mapping
> +         * afterwards.
> +         *
> +         * On return this will jump to the virtual address requested by
> +         * the caller.
> +         */
> +        b     remove_identity_mapping
>  ENDPROC(enable_mmu)
>  
>  /*
> -- 
> 2.38.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 01:06:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 01:06:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460030.717820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4tky-00026Q-Q9; Tue, 13 Dec 2022 01:06:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460030.717820; Tue, 13 Dec 2022 01:06:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4tky-00026J-Ml; Tue, 13 Dec 2022 01:06:52 +0000
Received: by outflank-mailman (input) for mailman id 460030;
 Tue, 13 Dec 2022 01:06:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TuKI=4L=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p4tkw-00026D-RN
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 01:06:50 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6bad0c7d-7a82-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 02:06:49 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 5F998B80B7C;
 Tue, 13 Dec 2022 01:06:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 114B6C433D2;
 Tue, 13 Dec 2022 01:06:45 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6bad0c7d-7a82-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670893607;
	bh=lQRHCfDoGdVEq41gPQJnRTWknRkmQPwGDfVK3xolQ5M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=E2UZpry8AdDtDqrxyyIPx2fpKsFm4+S1dIohfjOxk4v1icw0XPkyp05aqi2vCMx40
	 aS5K9sij3Y3ipCkJh7ehbA9AO+yu4EBJMW4oLU3BNUsN8Vfl4CXpWeE05fQdcBEFEg
	 MkxAmculUoOQ3sBT1zW6UCX1I4TBQqw2NxRT1Cyy4vsPnIIWLmhVNuJbZRpaqbzBOu
	 1pGRsoEURpOiWLLioje+tzKkbeJ+S5P0JQLEGWmBEl9A572flZxsFn8FoLkoLRTr0m
	 crjt1Q+4UhZ8DqlkizKiKxs4dW7XFTlhfeFOsFMznyO5ArWQ/u6/vdm2QaV491ceKM
	 qSW6hR2QSkUuA==
Date: Mon, 12 Dec 2022 17:06:44 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 11/18] xen/arm: Enable use of dump_pt_walk() early
 during boot
In-Reply-To: <20221212095523.52683-12-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212121706340.3075842@ubuntu-linux-20-04-desktop>
References: <20221212095523.52683-1-julien@xen.org> <20221212095523.52683-12-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 12 Dec 2022, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> At the moment, dump_pt_walk() is using map_domain_page() to map
> the page tables.
> 
> map_domain_page() is only usuable after init_domheap_mappings() is called
> (arm32) or the xenheap has been initialized (arm64).
> 
> This means it can be hard to diagnose incorrect page-tables during
> early boot. So update dump_pt_walk() to xen_{, un}map_table() instead.
> 
> Note that the two helpers are moved earlier to avoid forward declaring
> them.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/arm/mm.c | 56 +++++++++++++++++++++++------------------------
>  1 file changed, 28 insertions(+), 28 deletions(-)
> 
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index 1315a2c87db7..d0b1cf55f550 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -191,6 +191,30 @@ static void __init __maybe_unused build_assertions(void)
>  #undef CHECK_DIFFERENT_SLOT
>  }
>  
> +static lpae_t *xen_map_table(mfn_t mfn)
> +{
> +    /*
> +     * During early boot, map_domain_page() may be unusable. Use the
> +     * PMAP to map temporarily a page-table.
> +     */
> +    if ( system_state == SYS_STATE_early_boot )
> +        return pmap_map(mfn);
> +
> +    return map_domain_page(mfn);
> +}
> +
> +static void xen_unmap_table(const lpae_t *table)
> +{
> +    /*
> +     * During early boot, xen_map_table() will not use map_domain_page()
> +     * but the PMAP.
> +     */
> +    if ( system_state == SYS_STATE_early_boot )
> +        pmap_unmap(table);
> +    else
> +        unmap_domain_page(table);
> +}
> +
>  void dump_pt_walk(paddr_t ttbr, paddr_t addr,
>                    unsigned int root_level,
>                    unsigned int nr_root_tables)
> @@ -230,7 +254,7 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
>      else
>          root_table = 0;
>  
> -    mapping = map_domain_page(mfn_add(root_mfn, root_table));
> +    mapping = xen_map_table(mfn_add(root_mfn, root_table));
>  
>      for ( level = root_level; ; level++ )
>      {
> @@ -246,11 +270,11 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
>              break;
>  
>          /* For next iteration */
> -        unmap_domain_page(mapping);
> -        mapping = map_domain_page(lpae_get_mfn(pte));
> +        xen_unmap_table(mapping);
> +        mapping = xen_map_table(lpae_get_mfn(pte));
>      }
>  
> -    unmap_domain_page(mapping);
> +    xen_unmap_table(mapping);
>  }
>  
>  void dump_hyp_walk(vaddr_t addr)
> @@ -713,30 +737,6 @@ void *ioremap(paddr_t pa, size_t len)
>      return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
>  }
>  
> -static lpae_t *xen_map_table(mfn_t mfn)
> -{
> -    /*
> -     * During early boot, map_domain_page() may be unusable. Use the
> -     * PMAP to map temporarily a page-table.
> -     */
> -    if ( system_state == SYS_STATE_early_boot )
> -        return pmap_map(mfn);
> -
> -    return map_domain_page(mfn);
> -}
> -
> -static void xen_unmap_table(const lpae_t *table)
> -{
> -    /*
> -     * During early boot, xen_map_table() will not use map_domain_page()
> -     * but the PMAP.
> -     */
> -    if ( system_state == SYS_STATE_early_boot )
> -        pmap_unmap(table);
> -    else
> -        unmap_domain_page(table);
> -}
> -
>  static int create_xen_table(lpae_t *entry)
>  {
>      mfn_t mfn;
> -- 
> 2.38.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 01:11:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 01:11:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460038.717831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4tp3-0003Wh-Cv; Tue, 13 Dec 2022 01:11:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460038.717831; Tue, 13 Dec 2022 01:11:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4tp3-0003Wa-7Y; Tue, 13 Dec 2022 01:11:05 +0000
Received: by outflank-mailman (input) for mailman id 460038;
 Tue, 13 Dec 2022 01:11:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4tp2-0003WQ-P0; Tue, 13 Dec 2022 01:11:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4tp2-0006MZ-KS; Tue, 13 Dec 2022 01:11:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4tp2-0001NA-76; Tue, 13 Dec 2022 01:11:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4tp2-0004wQ-6c; Tue, 13 Dec 2022 01:11:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lR2FWU42xQyF34iVtsrJBJ27JROHouTNXN9mnezXSmk=; b=ByAkbDONhFLNZbNQ8FQ5g59LuA
	cePD+pylsIgBOzFfnJ21CHbUad2MnaHwbbJpLhbbv07I5JwhPev0akrG//SGA9vUg52OexMCnyL3S
	W5SnVouI2dgDUGc/XyAGKGjP40WPR/JYSCVdDFI0thJWShxN3kF3RcBTKwYMJ0JWWvgE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175154-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175154: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-livepatch:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-4:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-5:xen-boot:fail:regression
    xen-unstable:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-examine-uefi:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine:reboot:fail:regression
    xen-unstable:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=96993519424c3fef49fd00d80a271d986767a3cd
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 13 Dec 2022 01:11:04 +0000

flight 175154 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175154/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-livepatch     8 xen-boot                 fail REGR. vs. 175144
 test-xtf-amd64-amd64-4        8 xen-boot                 fail REGR. vs. 175148
 test-xtf-amd64-amd64-2        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 175148
 test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 175148
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-pair         12 xen-boot/src_host        fail REGR. vs. 175148
 test-amd64-i386-pair         13 xen-boot/dst_host        fail REGR. vs. 175148
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 175148
 test-xtf-amd64-amd64-5        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 175148
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 175148

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175148
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175148
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175148
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175148
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175148
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175148
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175148
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  96993519424c3fef49fd00d80a271d986767a3cd
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175148  2022-12-12 01:53:19 Z    0 days
Testing same since   175154  2022-12-12 15:07:03 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       fail    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       fail    
 test-xtf-amd64-amd64-5                                       fail    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 96993519424c3fef49fd00d80a271d986767a3cd
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Mon Dec 12 12:29:09 2022 +0100

    docs: do not install .deps files
    
    It isn't really part of the documentation. Furthermore, entries there
    are in not determined order, which breaks build reproducibility.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit b08600e2d6b58eca29d72f6cb6672a5cba5baed4
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 12 12:27:30 2022 +0100

    x86/tboot: actually wipe contexts
    
    Especially with our use of __builtin_memset() to implement memset() the
    compiler is free to eliminate instances when it can prove that the
    affected object is dead. Introduce a small helper function accompanying
    the memset() with a construct forcing the compiler to retain the
    clearing of (stack) memory.
    
    Fixes: c021c95498d9 ("x86: Replace our own specialised versions of memset and memcpy with")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 8301856bd956558161aa0c71623c85403ebdca35
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 12 12:21:01 2022 +0100

    x86/tboot: correct IOMMU (VT-d) interaction
    
    First of all using is_idle_domain() on the subject domain in the body of
    for_each_domain() is pointless. Replace that conditional by one checking
    that a domain actually has IOMMU support enabled for it, and that we're
    actually on a VT-d system (both are largely cosmetic / documentary with
    how things work elsewhere, but still).
    
    Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 4384d96c1cedfa4e388401be3a19ff50f8dce54b
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 12 12:19:20 2022 +0100

    x86/mm: PGC_shadowed_pt is used by shadow code only
    
    By defining the constant to zero when !SHADOW_PAGING we give compilers
    the chance to eliminate a little more dead code elsewhere in the tree.
    Plus, as a minor benefit, the general reference count can be one bit
    wider. (To simplify things, have PGC_shadowed_pt change places with
    PGC_extra.)
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit c44c0dc35889848ee27549ac3455314e236cfc3d
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 12 12:18:41 2022 +0100

    x86/mm: rename PGC_page_table to PGC_shadowed_pt
    
    The original name didn't express the purpose of the flag: It is being
    set once a page table page obtains a shadow, and it is removed when the
    last shadow of a page was destroyed.
    
    In set_tlbflush_timestamp() also remove the 2nd half of the condition as
    being redundant (PGC_shadowed_pt can't be set on a page without shadow
    mode being enabled on the owning domain).
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit f00ad745cfa774a269b28e88951b56b7001d4fe0
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 12 12:17:07 2022 +0100

    x86/tboot: drop failed attempt to hash shadow page tables
    
    While plausible to do what was intended based on the name of the flag
    (PGC_page_table), that name was misleading and is going to be changed.
    It marks page tables pages _having_ a shadow, not shadows of page table
    pages. The attempt also didn't cover the HAP case at all, and it
    constituted a potentially very long loop doing nothing when
    !SHADOW_PAGING. Instead leave a comment of what actually wants doing
    there (which then also may need to account for e.g. the risk of A/D bits
    becoming set behind our backs).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

commit c243c0bb2a77e1328842436ca654f808701161c6
Author: Wei Chen <wei.chen@arm.com>
Date:   Mon Dec 12 12:15:28 2022 +0100

    xen: introduce a Kconfig option to configure NUMA nodes number
    
    Currently the maximum number of NUMA nodes is a hardcoded value.
    This provides little flexibility unless changing the code.
    
    Introduce a new Kconfig option to change the maximum number of
    NUMA nodes conveniently. Also considering that not all
    architectures support NUMA, this Kconfig option is only visible
    on NUMA enabled architectures. Architectures not supporting NUMA
    still use 1 for MAX_NUMNODES.
    
    As NODES_SHIFT is currently unused, we're taking this
    opportunity to remove it.
    
    Signed-off-by: Wei Chen <wei.chen@arm.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit d46b1f5c29400a25bfc2492a649225a7915b04b2
Author: Wei Chen <wei.chen@arm.com>
Date:   Mon Dec 12 12:14:53 2022 +0100

    xen/x86: move NUMA process nodes nodes code from x86 to common
    
    x86 has implemented a set of codes to process NUMA nodes. These
    codes will parse NUMA memory and processor information from
    ACPI SRAT table. But except some ACPI specific codes, most
    of the process code like memory blocks validation, node memory
    range updates and some sanity check can be reused by other
    NUMA implementation.
    
    So in this patch, we move some variables and related functions
    for NUMA memory and processor to common as library. At the
    same time, numa_set_processor_nodes_parsed has been introduced
    for ACPI specific code to update processor parsing results.
    With this helper, we can reuse most of NUMA memory affinity init
    code from ACPI. As bad_srat and node_to_pxm functions have been
    used in common code to do architectural fallback and node to
    architectural node info translation. But it doesn't make sense
    to reuse the functions names in common code, we have rename them
    to neutral names as well.
    
    PXM is an ACPI specific item, we can't use it in common code
    directly. So we introduced an numa_fw_nid_name for each NUMA
    implementation to set their specific firmware NUMA node name.
    In this case, we do not need to retain a lot of per-arch code
    but still can print architectural log messages for different
    NUMA implementations. A default value "???" will be set to
    indicate an unset numa_fw_nid_name.
    
    mem_hotplug is accessed by common code if memory hotplug is
    activated. Even if this is only supported by x86, export the
    variable so that other architectures could support it in the future.
    
    As asm/acpi.h has been removed from common/numa.c, we have to
    move NR_NODE_MEMBLKS from asm/acpi.h to xen/numa.h in this patch
    as well.
    
    Signed-off-by: Wei Chen <wei.chen@arm.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit cfee463c112b8ac261f6ca1d32e4c70e4821ba7a
Author: Wei Chen <wei.chen@arm.com>
Date:   Mon Dec 12 12:14:13 2022 +0100

    xen/x86: use arch_get_ram_range to get information from E820 map
    
    The sanity check of nodes_cover_memory is also a requirement of
    other architectures that support NUMA. But now, the code of
    nodes_cover_memory is tied to the x86 E820. In this case, we
    introduce arch_get_ram_range to decouple architecture specific
    memory map from this function. This means, other architectures
    like Arm can also use it to check its node and memory coverage
    from bootmem info.
    
    Depends arch_get_ram_range, we make nodes_cover_memory become
    architecture independent. We also use neutral words to replace
    SRAT and E820 in the print message of this function. This will
    to make the massage seems more common.
    
    As arch_get_ram_range use unsigned int for index, we also adjust
    the index in nodes_cover_memory from int to unsigned int.
    
    Signed-off-by: Wei Chen <wei.chen@arm.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
Author: Wei Chen <wei.chen@arm.com>
Date:   Mon Dec 12 12:13:26 2022 +0100

    xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
    
    VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
    results in two lines of error-checking code in phys_to_nid
    that is not actually working and causing two compilation
    errors:
    1. error: "MAX_NUMNODES" undeclared (first use in this function).
       This is because in the common header file, "MAX_NUMNODES" is
       defined after the common header file includes the ARCH header
       file, where phys_to_nid has attempted to use "MAX_NUMNODES".
       This error was resolved after we moved the phys_to_nid from
       x86 ARCH header file to common header file.
    2. error: wrong type argument to unary exclamation mark.
       This is because, the error-checking code contains !node_data[nid].
       But node_data is a data structure variable, it's not a pointer.
    
    So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
    enable the two lines of error-checking code. And fix the left
    compilation errors by replacing !node_data[nid] to
    !node_data[nid].node_spanned_pages. Although NUMA allows one node
    can only have CPUs but without any memory. And node with 0 bytes
    of memory might have an entry in memnodemap[] theoretically. But
    that doesn't mean phys_to_nid can find any valid address from a
    node with 0 bytes memory.
    
    Signed-off-by: Wei Chen <wei.chen@arm.com>
    Tested-by: Jiamei Xie <jiamei.xie@arm.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit eac84d9d579011f311d502317b74dc56e788463d
Author: Wei Chen <wei.chen@arm.com>
Date:   Mon Dec 12 12:11:55 2022 +0100

    xen/x86: move generically usable NUMA code from x86 to common
    
    There are some codes in x86/numa.c can be shared by common
    architectures to implememnt NUMA support. Just like some
    variables and functions to check and store NUMA memory map.
    And some variables and functions to do NUMA initialization.
    
    In this patch, we move them to common/numa.c and xen/numa.h
    and use the CONFIG_NUMA to gate them for non-NUMA supported
    architectures. As the target header file is Xen-style, so
    we trim some spaces and replace tabs for the codes that has
    been moved to xen/numa.h at the same time.
    
    As acpi_scan_nodes has been used in a common function, it
    doesn't make sense to use acpi_xxx in common code, so we
    rename it to numa_process_nodes in this patch too. After that
    if we still use CONFIG_ACPI_NUMA in to gate numa_process_nodes
    in numa_initmem_init, that doesn't make sense. As CONFIG_NUMA
    will be selected by CONFIG_ACPI_NUMA for x86. So, we replace
    CONFIG_ACPI_NUMA by CONFIG_NUMA to gate numa_process_nodes.
    
    As arch_numa_disabled has been implememnted for ACPI NUMA,
    we can rename srat_disabled to numa_disabled and move it
    to common code as well.
    
    The macro node_to_first_cpu(node) hasn't been used anywhere,
    so we drop it in this patch too.
    
    Because some architectures allow to use all 64 physical address
    bits, but some architectures are not (like Arm64 allows 52, 48
    bits). In this case, we use min(PADDR_BITS, BITS_PER_LONG - 1)
    to calculate the shift when only one node is in the system in
    this patch too.
    
    Signed-off-by: Wei Chen <wei.chen@arm.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 9bbfd7b14c4ad3774d88fe6430ab8726720633ec
Author: Wei Chen <wei.chen@arm.com>
Date:   Mon Dec 12 12:10:18 2022 +0100

    xen/x86: Provide helpers for common code to access acpi_numa
    
    acpi_numa is a specific NUMA switch for ACPI NUMA implementation.
    Other NUMA implementation may not need this switch. But this switch is
    not only used by ACPI code, it is also used directly in some general
    NUMA logic code. So far this hasn't caused any problem because Xen only
    has x86 implementing ACPI NUMA, but now Arm is implementing device tree
    based NUMA. Accesssing acpi_numa directly in some functions will be a
    block of reusing NUMA common code. It is also difficult for us to replace
    it with a new generic switch, because it is hard to prove that the new
    switch states can guarantee the original code will work correctly.
    
    So in this patch, we provide two helpers for common code to update and
    get states of acpi_numa. And other new NUMA implementations just need
    to provide the same helpers for common code. In this case, the generic
    NUMA logic code can be reused by all NUMA implementations.
    
    Signed-off-by: Wei Chen <wei.chen@arm.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 01:18:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 01:18:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460050.717842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4twP-0004Y7-9j; Tue, 13 Dec 2022 01:18:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460050.717842; Tue, 13 Dec 2022 01:18:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4twP-0004Y0-6Q; Tue, 13 Dec 2022 01:18:41 +0000
Received: by outflank-mailman (input) for mailman id 460050;
 Tue, 13 Dec 2022 01:18:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=unTl=4L=zlw.email=sisyphean@srs-se1.protection.inumbo.net>)
 id 1p4twN-0004Xp-D1
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 01:18:40 +0000
Received: from mail.zlw.email (unknown [112.49.95.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09a32404-7a84-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 02:18:32 +0100 (CET)
Received: from localhost (unknown [127.0.0.1])
 by mail.zlw.email (Postfix) with ESMTP id 24F0C174167;
 Tue, 13 Dec 2022 01:18:46 +0000 (UTC)
Received: from mail.zlw.email ([127.0.0.1])
 by localhost (mail.zlw.email [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id KZsnqY7t0ZHW; Tue, 13 Dec 2022 09:18:34 +0800 (CST)
Received: from [192.168.66.233] (OpenWrt.lan [192.168.66.1])
 by mail.zlw.email (Postfix) with ESMTPSA id 444D7173F34;
 Tue, 13 Dec 2022 09:18:33 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09a32404-7a84-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zlw.email; h=
	in-reply-to:from:from:references:to:content-language:subject
	:subject:user-agent:mime-version:date:date:message-id
	:content-type:content-type; s=dkim; t=1670894314; x=1673486315;
	 bh=skByKSB85ihntpjBIzMQwOqJVYjWg9x1PsL+G0MXwTU=; b=Vt4mjhEmEuvI
	zbF/53xrNPWa4FYEA8TpcGYgABbtUa3/YM30H9rI8zDGHuKOI4C4JJNxS+905WCm
	clmb4hkee7lbED73FQ0/3g3lAEXUoedOs/e4Zd3rrGyVLu7vh9XM4lyokijs9SVI
	xg3WuYSyZiBY/Sawjeyk1L+FgETySqI=
X-Virus-Scanned: amavisd-new at zlw.email
Content-Type: multipart/mixed; boundary="------------V0BLwG0HWGw4lzOTRB0PE93p"
Message-ID: <340463d2-528e-848f-0ec2-a4cc7ba04399@zlw.email>
Date: Tue, 13 Dec 2022 09:18:23 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [BUG]Add PCIE devie to SMMUv3 fail
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>, Julien Grall <julien@xen.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <793eb471-e68b-c3ff-52e8-20d77252c0bf@zlw.email>
 <A9FCD688-3CA2-484A-ADC1-F1235F18890F@arm.com>
 <75bbfc8c-b89f-9478-63af-c37fda0ad3c0@zlw.email>
 <5BCFEC7E-85B6-4464-A2B1-EA08C6E2EB20@arm.com>
From: sisyphean <sisyphean@zlw.email>
In-Reply-To: <5BCFEC7E-85B6-4464-A2B1-EA08C6E2EB20@arm.com>

This is a multi-part message in MIME format.
--------------V0BLwG0HWGw4lzOTRB0PE93p
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

在 2022/12/13 00:30, Rahul Singh 写道:
> Hi Sisyphean,
>
>> On 12 Dec 2022, at 5:49 am, sisyphean <sisyphean@zlw.email> wrote:
>>
>> Hi,
>> 在 2022/12/9 17:50, Rahul Singh 写道:
>>> Hi Sisyphean,
>>>
>>>> On 9 Dec 2022, at 6:15 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>
>>>> Hi,
>>>>
>>>> I try to run XEN on my ARM board(Sorry, for some commercial reasons, I can't tell you
>>>> on which platform I run XEN)  and add PCIE device passthrough to DomU.But an error
>>>> occurred while adding the PCIE device to SMMUv3.
>>> PCI passthrough support is not fully upstream to Xen on ARM. We have working
>>> PCI passthrough branch that you can use to test it.
>>>
>>> https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough
>>>
>>>> Through reading the code and tracing debugging, the error is found in the function
>>>> arm_smmu_add_device, which will obtain and determine whether the fwspec of the
>>>> device to be added to SMMU exists.But for the XEN of arm, the fwspec of the device is
>>>> created and added by judging whether the iommu field exists in the device node when
>>>> XEN parses the device tree.However, the PCIE device does not appear in the device tree,
>>>> so there will be no fwspec for all PCIE devices. When attempting to add a PCIE device to
>>>> SMMU, a ENODEV error will be returned.
>>> As of now Xen doesn’t support to add PCI device to IOMMU on ARM.
>>>> In addition, the code at xen/drivers/passthrough/pci.c also verifies the above view.
>>>> For PCIE devices, pdev is alloc in function pci_add_device by alloc_pdev.However,
>>>> the function alloc_pdev does not create and add fwspec to the PCIE device.Therefore,
>>>> when function pci_add_device executes to iommu_add_device,it will get the error
>>>> return of ENODEV.
>>>>
>>>> How can I resolve the above errors?
>>> If you want to test the PCI passthrough please follow below steps.
>>>
>>> Xen setup:
>>>      • A checkout of the “integration/pci-passthrough” branch from the  gitlab https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough
>>>      • Pass iommu=yes  and pci-passthrough=on to Xen command line to enable PCI passthrough.
>>>
>>>   Linux Kernel setup:
>>>   
>>>      • Some changes are required for the kernel to work with PCI passthrough. First are some configuration options, enable them in kernel config.
>>>           CONFIG_XEN=y
>>>           CONFIG_XEN_BACKEND=y
>>>           CONFIG_XEN_PCIDEV_BACKEND=y
>>>      • Then a patch needs to be applied for enabling the pciback driver. Patch is attached in this email.
>>>   
>>> Using PCI passthrough:
>>>   
>>>      • In order to pass a device to a guest, you first need its PCI address(SBDF). You can either get it from a bare-metal
>>>        Linux running on the platform or by having pciutils  installed (if you are using a yocto-based dom0 or have apt available), which provides lspci.
>>>   
>>>       For example, let's pass one ethernet interface to the guest. Running lspci gives us this output (truncated) :
>>>         0000:00:00.0 Host bridge: Ampere Computing, LLC Device e100
>>>         0000:00:01.0 PCI bridge: Ampere Computing, LLC Device e101 (rev 04)
>>>         0000:01:00.0 Ethernet controller: Intel Corporation Ethernet Controller X710/X557-AT 10GBASE-T (rev 01)
>>>                 [...]
>>>   
>>>       We will pass one of the ethernet from the PCI network card : 0000:01:00.0 .
>>>   
>>>      • Add the following line to the guest configuration file :
>>>            pci = ['0000:01:00.0']
>>>   
>>>      • Run the following command before starting the guest :
>>>             xl pci-assignable-add 0000:01:00.0
>>>      • Start the guest. The network interface should appear as 00:00.0  in the guest and be usable.
>>>   
>>> Please let me know if you need more info.
>>>
>>>
>>>
>>> Regards,
>>> Rahul
>>>
>> Thank you for your reply.
>> After setting XEN and kernel as above, I tried the following two methods to add a PCIE device passthrough:
>> 1. According to your suggestion, use the command xl pci-assignable-add 0002:21:00.0 to set in the Dom0. But in function
>> iommu_do_pci_domctl,  after device_assigned is called, ENODEV error is obtained.
>> 2. Add xen-pciback.hide=(0002:21:00.0) to dom0-bootargs in the device tree, I encountered the same problem as before
>> when initializing the kernel. In function pci_add_device, PCIE devices cannot be added to SMMUv3.
> It is hard to find what is happening without logs. Could you please share the Xen and Linux boot logs so that I can
> check what is the root cause of this issue.
>
>> The kernel version I use is 5.10. Does this have an impact?
> I am using the Linux version 5.15.44 but I don’t think is because of Linux.
>
> Regards,
> Rahul

The attachment is a log file. I have to delete some content that may 
involve commercial. Please forgive me.

In addition, I have forgotten to tell you a very important information. 
The PCIE controller used on my board
is DesignWare. I referred to the code of ECAM under XEN and added some 
support related to DesignWare
(DBI space mapping and PCIE read/write).

In addition, if needed ,I can pre initialized PCIE controller in the 
uboot stage, so  I can scan the PCIE device
in the uboot command line.

Cheers,

--------------V0BLwG0HWGw4lzOTRB0PE93p
Content-Type: text/x-log; charset=UTF-8; name="xen.log"
Content-Disposition: attachment; filename="xen.log"
Content-Transfer-Encoding: base64

KFhFTikgQ2hlY2tpbmcgZm9yIGluaXRyZCBpbiAvY2hvc2VuCihYRU4pIFJBTTogMDAwMDAw
MDAwMDIwMDAwMCAtIDAwMDAwMDAwMDgzZmZmZmYKKFhFTikgUkFNOiAwMDAwMDAwMDA5NDAw
MDAwIC0gMDAwMDAwMDBlZmZmZmZmZgooWEVOKSAKKFhFTikgTU9EVUxFWzBdOiAwMDAwMDAw
MDAwNDAwMDAwIC0gMDAwMDAwMDAwMDU4NzBmOCBYZW4gICAgICAgICAKKFhFTikgTU9EVUxF
WzFdOiAwMDAwMDAwMDA4MzAwMDAwIC0gMDAwMDAwMDAwODMyOTAwMCBEZXZpY2UgVHJlZSAK
KFhFTikgTU9EVUxFWzJdOiAwMDAwMDAwMDAwNjAwMDAwIC0gMDAwMDAwMDAwMjYwMDAwMCBL
ZXJuZWwgICAgICAKKFhFTikgIFJFU1ZEWzBdOiAwMDAwMDAwMDA4MzAwMDAwIC0gMDAwMDAw
MDAwODMyOTAwMAooWEVOKSAKKFhFTikgCihYRU4pIENvbW1hbmQgbGluZTogaW9tbXU9MSBk
b20wX21lbT0yRyBkb20wX21heF92Y3B1cz04IGhtcC11bnNhZmU9MSBsb2dsdmw9YWxsIGR0
dWFydD1zZXJpYWwyIGNvbnNvbGU9ZHR1YXJ0IHN5bmNfY29uc29sZT0xIHBjaS1wYXNzdGhy
b3VnaD0xCihYRU4pIERvbWFpbiBoZWFwIGluaXRpYWxpc2VkCihYRU4pIEJvb3RpbmcgdXNp
bmcgRGV2aWNlIFRyZWUKKFhFTikgUGxhdGZvcm06IEdlbmVyaWMgU3lzdGVtCihYRU4pIExv
b2tpbmcgZm9yIGR0dWFydCBhdCAic2VyaWFsMiIsIG9wdGlvbnMgIiIKIFhlbiA0LjE2LjIK
KFhFTikgWGVuIHZlcnNpb24gNC4xNi4yICh6bHdAKSAoYWFyY2g2NC1ub25lLWxpbnV4LWdu
dS1nY2MgKEdOVSBUb29sY2hhaW4gZm9yIHRoZSBBLXByb2ZpbGUgQXJjaGl0ZWN0dXJlIDEw
LjMtMjAyMS4wNyAoYXJtLTEwLjI5KSkgMTAuMy4xIDIwMjEwNjIxKSBkZWJ1Zz15IFR1ZSBE
ZWMgMTMgMDg6MzQ6MjUgQ1NUIDIwMjIKKFhFTikgTGF0ZXN0IENoYW5nZVNldDogVGh1IE5v
diAzIDEwOjIwOjQwIDIwMjIgKzA4MDAgZ2l0OjNiMDYwYzMtZGlydHkKKFhFTikgYnVpbGQt
aWQ6IGEwYmNkOTJjMmU5YzQ0YzJiODYyNjhhMmJjNTAwZjA0NzRiZjc4ZGEKKFhFTikgQ29u
c29sZSBvdXRwdXQgaXMgc3luY2hyb25vdXMuCihYRU4pIFByb2Nlc3NvcjogMDAwMDAwMDA0
MTJmZDA1MDogIkFSTSBMaW1pdGVkIiwgdmFyaWFudDogMHgyLCBwYXJ0IDB4ZDA1LHJldiAw
eDAKKFhFTikgNjQtYml0IEV4ZWN1dGlvbjoKKFhFTikgICBQcm9jZXNzb3IgRmVhdHVyZXM6
IDAwMDAwMDAwMTExMTIyMjIgMDAwMDAwMDAwMDAwMDAxMAooWEVOKSAgICAgRXhjZXB0aW9u
IExldmVsczogRUwzOjY0KzMyIEVMMjo2NCszMiBFTDE6NjQrMzIgRUwwOjY0KzMyCihYRU4p
ICAgICBFeHRlbnNpb25zOiBGbG9hdGluZ1BvaW50IEFkdmFuY2VkU0lNRCBHSUN2My1TeXNS
ZWcKKFhFTikgICBEZWJ1ZyBGZWF0dXJlczogMDAwMDAwMDAxMDMwNTQwOCAwMDAwMDAwMDAw
MDAwMDAwCihYRU4pICAgQXV4aWxpYXJ5IEZlYXR1cmVzOiAwMDAwMDAwMDAwMDAwMDAwIDAw
MDAwMDAwMDAwMDAwMDAKKFhFTikgICBNZW1vcnkgTW9kZWwgRmVhdHVyZXM6IDAwMDAwMDAw
MDAxMDExMjIgMDAwMDAwMDAxMDIxMjEyMgooWEVOKSAgIElTQSBGZWF0dXJlczogIDAwMDAx
MDAwMTAyMTExMjAgMDAwMDAwMDAwMDEwMDAwMQooWEVOKSAzMi1iaXQgRXhlY3V0aW9uOgoo
WEVOKSAgIFByb2Nlc3NvciBGZWF0dXJlczogMDAwMDAwMDAxMDAwMDEzMTowMDAwMDAwMDEw
MDExMDExCihYRU4pICAgICBJbnN0cnVjdGlvbiBTZXRzOiBBQXJjaDMyIEEzMiBUaHVtYiBU
aHVtYi0yIEphemVsbGUKKFhFTikgICAgIEV4dGVuc2lvbnM6IEdlbmVyaWNUaW1lciBTZWN1
cml0eQooWEVOKSAgIERlYnVnIEZlYXR1cmVzOiAwMDAwMDAwMDA0MDEwMDg4CihYRU4pICAg
QXV4aWxpYXJ5IEZlYXR1cmVzOiAwMDAwMDAwMDAwMDAwMDAwCihYRU4pICAgTWVtb3J5IE1v
ZGVsIEZlYXR1cmVzOiAwMDAwMDAwMDEwMjAxMTA1IDAwMDAwMDAwNDAwMDAwMDAKKFhFTikg
ICAgICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAwMDEyNjAwMDAgMDAwMDAwMDAwMjEy
MjIxMQooWEVOKSAgIElTQSBGZWF0dXJlczogMDAwMDAwMDAwMjEwMTExMCAwMDAwMDAwMDEz
MTEyMTExIDAwMDAwMDAwMjEyMzIwNDIKKFhFTikgICAgICAgICAgICAgICAgIDAwMDAwMDAw
MDExMTIxMzEgMDAwMDAwMDAwMDAxMTE0MiAwMDAwMDAwMDAxMDExMTIxCihYRU4pIFVzaW5n
IFNNQyBDYWxsaW5nIENvbnZlbnRpb24gdjEuMgooWEVOKSBVc2luZyBQU0NJIHYxLjEKKFhF
TikgU01QOiBBbGxvd2luZyA4IENQVXMKKFhFTikgZW5hYmxlZCB3b3JrYXJvdW5kIGZvcjog
QVJNIGVycmF0dW0gMTUzMDkyMwooWEVOKSBHZW5lcmljIFRpbWVyIElSUTogcGh5cz0zMCBo
eXA9MjYgdmlydD0yNyBGcmVxOiAyNDAwMCBLSHoKKFhFTikgR0lDdjMgaW5pdGlhbGl6YXRp
b246CihYRU4pICAgICAgIGdpY19kaXN0X2FkZHI9MHgwMDAwMDBmZTYwMDAwMAooWEVOKSAg
ICAgICBnaWNfbWFpbnRlbmFuY2VfaXJxPTI1CihYRU4pICAgICAgIGdpY19yZGlzdF9zdHJp
ZGU9MAooWEVOKSAgICAgICBnaWNfcmRpc3RfcmVnaW9ucz0xCihYRU4pICAgICAgIHJlZGlz
dHJpYnV0b3IgcmVnaW9uczoKKFhFTikgICAgICAgICAtIHJlZ2lvbiAwOiAweDAwMDAwMGZl
NjgwMDAwIC0gMHgwMDAwMDBmZTc4MDAwMAooWEVOKSBHSUN2MzogdXNpbmcgYXQgbW9zdCA1
NzM0NCBMUElzIG9uIHRoZSBob3N0LgooWEVOKSBHSUN2MzogNTEyIGxpbmVzLCAoSUlEIDAy
MDE3NDNiKS4KKFhFTikgR0lDdjM6IEZvdW5kIElUUyBAMHhmZTY0MDAwMAooWEVOKSBHSUN2
MzogRm91bmQgSVRTIEAweGZlNjYwMDAwCihYRU4pIEdJQ3YzOiBDUFUwOiBGb3VuZCByZWRp
c3RyaWJ1dG9yIGluIHJlZ2lvbiAwIEAwMDAwMDAwMDQwMDFjMDAwCihYRU4pIGdpY3YzX2Vu
YWJsZV9scGlzLDAwMDAwMDAwNDAwMWMwMDgsIHR5cGU6dmFsOjB4MjEKKFhFTikgZ2ljdjNf
ZW5hYmxlX2xwaXMsMDAwMDAwMDA0MDAxYzAwMCwgY3RsOnZhbDoweDAKKFhFTikgWFNNIEZy
YW1ld29yayB2MS4wLjEgaW5pdGlhbGl6ZWQKKFhFTikgSW5pdGlhbGlzaW5nIFhTTSBTSUxP
IG1vZGUKKFhFTikgVXNpbmcgc2NoZWR1bGVyOiBTTVAgQ3JlZGl0IFNjaGVkdWxlciByZXYy
IChjcmVkaXQyKQooWEVOKSBJbml0aWFsaXppbmcgQ3JlZGl0MiBzY2hlZHVsZXIKKFhFTikg
IGxvYWRfcHJlY2lzaW9uX3NoaWZ0OiAxOAooWEVOKSAgbG9hZF93aW5kb3dfc2hpZnQ6IDMw
CihYRU4pICB1bmRlcmxvYWRfYmFsYW5jZV90b2xlcmFuY2U6IDAKKFhFTikgIG92ZXJsb2Fk
X2JhbGFuY2VfdG9sZXJhbmNlOiAtMwooWEVOKSAgcnVucXVldWVzIGFycmFuZ2VtZW50OiBz
b2NrZXQKKFhFTikgIGNhcCBlbmZvcmNlbWVudCBncmFudWxhcml0eTogMTBtcwooWEVOKSBs
b2FkIHRyYWNraW5nIHdpbmRvdyBsZW5ndGggMTA3Mzc0MTgyNCBucwooWEVOKSBBbGxvY2F0
ZWQgY29uc29sZSByaW5nIG9mIDY0IEtpQi4KKFhFTikgQ1BVMDogR3Vlc3QgYXRvbWljcyB3
aWxsIHRyeSAxMSB0aW1lcyBiZWZvcmUgcGF1c2luZyB0aGUgZG9tYWluCihYRU4pIEJyaW5n
aW5nIHVwIENQVTEKKFhFTikgR0lDdjM6IENQVTE6IEZvdW5kIHJlZGlzdHJpYnV0b3IgaW4g
cmVnaW9uIDAgQDAwMDAwMDAwNDAwM2MwMDAKKFhFTikgQ1BVMTogR3Vlc3QgYXRvbWljcyB3
aWxsIHRyeSAxMyB0aW1lcyBiZWZvcmUgcGF1c2luZyB0aGUgZG9tYWluCihYRU4pIENQVSAx
IGJvb3RlZC4KKFhFTikgQnJpbmdpbmcgdXAgQ1BVMgooWEVOKSBHSUN2MzogQ1BVMjogRm91
bmQgcmVkaXN0cmlidXRvciBpbiByZWdpb24gMCBAMDAwMDAwMDA0MDA1YzAwMAooWEVOKSBD
UFUyOiBHdWVzdCBhdG9taWNzIHdpbGwgdHJ5IDcgdGltZXMgYmVmb3JlIHBhdXNpbmcgdGhl
IGRvbWFpbgooWEVOKSBDUFUgMiBib290ZWQuCihYRU4pIEJyaW5naW5nIHVwIENQVTMKKFhF
TikgR0lDdjM6IENQVTM6IEZvdW5kIHJlZGlzdHJpYnV0b3IgaW4gcmVnaW9uIDAgQDAwMDAw
MDAwNDAwN2MwMDAKKFhFTikgQ1BVMzogR3Vlc3QgYXRvbWljcyB3aWxsIHRyeSAxMyB0aW1l
cyBiZWZvcmUgcGF1c2luZyB0aGUgZG9tYWluCihYRU4pIENQVSAzIGJvb3RlZC4KKFhFTikg
QnJpbmdpbmcgdXAgQ1BVNAooWEVOKSBDUFU0IE1JRFIgKDB4MDAwMDAwMDA0MTRmZDBiMCkg
ZG9lcyBub3QgbWF0Y2ggYm9vdCBDUFUgTUlEUiAoMHgwMDAwMDAwMDQxMmZkMDUwKSwKKFhF
TikgaG1wLXVuc2FmZSB0dXJuZWQgb24gc28gdGFpbnRpbmcgWGVuIGFuZCBrZWVwIGNvcmUg
b24hIQooWEVOKSBTQU5JVFkgRElGOiBhYTY0cGZyMCAweDExMTEyMjIyIC0+IDB4MTEwMDAw
MDAxMTExMTExMgooWEVOKSBTQU5JVFkgRklYOiBhYTY0cGZyMCAweDExMTEyMjIyIC0+IDB4
MTExMTExMTIKKFhFTikgU0FOSVRZIERJRjogY3RyIDB4ODQ0NDgwMDQgLT4gMHg5NDQ0YzAw
NAooWEVOKSBTQU5JVFkgQ0hFQ0s6IFVuZXhwZWN0ZWQgdmFyaWF0aW9uIGluIGN0ci4KKFhF
TikgU0FOSVRZIERJRjogcGZyMCAweDEwMDAwMTMxIC0+IDB4MTAwMTAxMzEKKFhFTikgU0FO
SVRZIERJRjogcGZyMSAweDEwMDExMDExIC0+IDB4MTAwMTAwMDAKKFhFTikgU0FOSVRZIEZJ
WDogcGZyMSAweDEwMDExMDExIC0+IDB4MTAwMTAwMDAKKFhFTikgU0FOSVRZIENIRUNLOiBV
bmV4cGVjdGVkIHZhcmlhdGlvbiBpbiBwZnIxLgooWEVOKSBTQU5JVFkgRElGOiBwZnIyIDB4
MTAgLT4gMHgxMQooWEVOKSBTQU5JVFkgRElGOiBpc2FyNCAweDExMTQyIC0+IDB4MTAxNDIK
KFhFTikgU0FOSVRZIEZJWDogaXNhcjQgMHgxMTE0MiAtPiAweDEwMTQyCihYRU4pIFNBTklU
WSBDSEVDSzogVW5leHBlY3RlZCB2YXJpYXRpb24gaW4gaXNhcjQuCihYRU4pIEdJQ3YzOiBD
UFU0OiBGb3VuZCByZWRpc3RyaWJ1dG9yIGluIHJlZ2lvbiAwIEAwMDAwMDAwMDQwMDljMDAw
CihYRU4pIENQVTQ6IEd1ZXN0IGF0b21pY3Mgd2lsbCB0cnkgMTMgdGltZXMgYmVmb3JlIHBh
dXNpbmcgdGhlIGRvbWFpbgooWEVOKSBDUFUgNCBib290ZWQuCihYRU4pIEJyaW5naW5nIHVw
IENQVTUKKFhFTikgQ1BVNSBNSURSICgweDAwMDAwMDAwNDE0ZmQwYjApIGRvZXMgbm90IG1h
dGNoIGJvb3QgQ1BVIE1JRFIgKDB4MDAwMDAwMDA0MTJmZDA1MCksCihYRU4pIGhtcC11bnNh
ZmUgdHVybmVkIG9uIHNvIHRhaW50aW5nIFhlbiBhbmQga2VlcCBjb3JlIG9uISEKKFhFTikg
U0FOSVRZIERJRjogYWE2NHBmcjAgMHgxMTExMTExMiAtPiAweDExMDAwMDAwMTExMTExMTIK
KFhFTikgU0FOSVRZIERJRjogY3RyIDB4ODQ0NDgwMDQgLT4gMHg5NDQ0YzAwNAooWEVOKSBT
QU5JVFkgQ0hFQ0s6IFVuZXhwZWN0ZWQgdmFyaWF0aW9uIGluIGN0ci4KKFhFTikgU0FOSVRZ
IERJRjogcGZyMCAweDEwMDAwMTMxIC0+IDB4MTAwMTAxMzEKKFhFTikgU0FOSVRZIERJRjog
cGZyMiAweDEwIC0+IDB4MTEKKFhFTikgR0lDdjM6IENQVTU6IEZvdW5kIHJlZGlzdHJpYnV0
b3IgaW4gcmVnaW9uIDAgQDAwMDAwMDAwNDAwYmMwMDAKKFhFTikgQ1BVNTogR3Vlc3QgYXRv
bWljcyB3aWxsIHRyeSAxNiB0aW1lcyBiZWZvcmUgcGF1c2luZyB0aGUgZG9tYWluCihYRU4p
IENQVSA1IGJvb3RlZC4KKFhFTikgQnJpbmdpbmcgdXAgQ1BVNgooWEVOKSBDUFU2IE1JRFIg
KDB4MDAwMDAwMDA0MTRmZDBiMCkgZG9lcyBub3QgbWF0Y2ggYm9vdCBDUFUgTUlEUiAoMHgw
MDAwMDAwMDQxMmZkMDUwKSwKKFhFTikgaG1wLXVuc2FmZSB0dXJuZWQgb24gc28gdGFpbnRp
bmcgWGVuIGFuZCBrZWVwIGNvcmUgb24hIQooWEVOKSBTQU5JVFkgRElGOiBhYTY0cGZyMCAw
eDExMTExMTEyIC0+IDB4MTEwMDAwMDAxMTExMTExMgooWEVOKSBTQU5JVFkgRElGOiBjdHIg
MHg4NDQ0ODAwNCAtPiAweDk0NDRjMDA0CihYRU4pIFNBTklUWSBDSEVDSzogVW5leHBlY3Rl
ZCB2YXJpYXRpb24gaW4gY3RyLgooWEVOKSBTQU5JVFkgRElGOiBwZnIwIDB4MTAwMDAxMzEg
LT4gMHgxMDAxMDEzMQooWEVOKSBTQU5JVFkgRElGOiBwZnIyIDB4MTAgLT4gMHgxMQooWEVO
KSBHSUN2MzogQ1BVNjogRm91bmQgcmVkaXN0cmlidXRvciBpbiByZWdpb24gMCBAMDAwMDAw
MDA0MDBkYzAwMAooWEVOKSBDUFU2OiBHdWVzdCBhdG9taWNzIHdpbGwgdHJ5IDEyIHRpbWVz
IGJlZm9yZSBwYXVzaW5nIHRoZSBkb21haW4KKFhFTikgQ1BVIDYgYm9vdGVkLgooWEVOKSBC
cmluZ2luZyB1cCBDUFU3CihYRU4pIENQVTcgTUlEUiAoMHgwMDAwMDAwMDQxNGZkMGIwKSBk
b2VzIG5vdCBtYXRjaCBib290IENQVSBNSURSICgweDAwMDAwMDAwNDEyZmQwNTApLAooWEVO
KSBobXAtdW5zYWZlIHR1cm5lZCBvbiBzbyB0YWludGluZyBYZW4gYW5kIGtlZXAgY29yZSBv
biEhCihYRU4pIFNBTklUWSBESUY6IGFhNjRwZnIwIDB4MTExMTExMTIgLT4gMHgxMTAwMDAw
MDExMTExMTEyCihYRU4pIFNBTklUWSBESUY6IGN0ciAweDg0NDQ4MDA0IC0+IDB4OTQ0NGMw
MDQKKFhFTikgU0FOSVRZIENIRUNLOiBVbmV4cGVjdGVkIHZhcmlhdGlvbiBpbiBjdHIuCihY
RU4pIFNBTklUWSBESUY6IHBmcjAgMHgxMDAwMDEzMSAtPiAweDEwMDEwMTMxCihYRU4pIFNB
TklUWSBESUY6IHBmcjIgMHgxMCAtPiAweDExCihYRU4pIEdJQ3YzOiBDUFU3OiBGb3VuZCBy
ZWRpc3RyaWJ1dG9yIGluIHJlZ2lvbiAwIEAwMDAwMDAwMDQwMGZjMDAwCihYRU4pIENQVTc6
IEd1ZXN0IGF0b21pY3Mgd2lsbCB0cnkgMTMgdGltZXMgYmVmb3JlIHBhdXNpbmcgdGhlIGRv
bWFpbgooWEVOKSBDUFUgNyBib290ZWQuCihYRU4pIEJyb3VnaHQgdXAgOCBDUFVzCihYRU4p
IFNNTVV2MzogL2lvbW11QGZjOTAwMDAwOiBJUlEgY29tYmluZWQgbm90IGZvdW5kCihYRU4p
IFNNTVV2MzogL2lvbW11QGZjOTAwMDAwOiBpYXMgNDgtYml0LCBvYXMgNDgtYml0IChmZWF0
dXJlcyAweDAwMDAxYzFmKQooWEVOKSBTTU1VdjM6IC9pb21tdUBmYzkwMDAwMDogYWxsb2Nh
dGVkIDUyNDI4OCBlbnRyaWVzIGZvciBjbWRxCihYRU4pIFNNTVV2MzogL2lvbW11QGZjOTAw
MDAwOiBhbGxvY2F0ZWQgNTI0Mjg4IGVudHJpZXMgZm9yIGV2dHEKKFhFTikgU01NVXYzOiAv
aW9tbXVAZmM5MDAwMDA6IGFsbG9jYXRlZCA1MjQyODggZW50cmllcyBmb3IgcHJpcQooWEVO
KSBJL08gdmlydHVhbGlzYXRpb24gZW5hYmxlZAooWEVOKSAgLSBEb20wIG1vZGU6IFJlbGF4
ZWQKKFhFTikgUDJNOiA0MC1iaXQgSVBBIHdpdGggNDAtYml0IFBBIGFuZCAxNi1iaXQgVk1J
RAooWEVOKSBQMk06IDMgbGV2ZWxzIHdpdGggb3JkZXItMSByb290LCBWVENSIDB4MDAwMDAw
MDA4MDBhMzU1OAooWEVOKSBTY2hlZHVsaW5nIGdyYW51bGFyaXR5OiBjcHUsIDEgQ1BVIHBl
ciBzY2hlZC1yZXNvdXJjZQooWEVOKSBBZGRpbmcgY3B1IDAgdG8gcnVucXVldWUgMAooWEVO
KSAgRmlyc3QgY3B1IG9uIHJ1bnF1ZXVlLCBhY3RpdmF0aW5nCihYRU4pIEFkZGluZyBjcHUg
MSB0byBydW5xdWV1ZSAwCihYRU4pIEFkZGluZyBjcHUgMiB0byBydW5xdWV1ZSAwCihYRU4p
IEFkZGluZyBjcHUgMyB0byBydW5xdWV1ZSAwCihYRU4pIEFkZGluZyBjcHUgNCB0byBydW5x
dWV1ZSAwCihYRU4pIEFkZGluZyBjcHUgNSB0byBydW5xdWV1ZSAwCihYRU4pIEFkZGluZyBj
cHUgNiB0byBydW5xdWV1ZSAwCihYRU4pIEFkZGluZyBjcHUgNyB0byBydW5xdWV1ZSAwCihY
RU4pIERXQyBhdCBbbWVtIDB4MDAwMDAwMDBmMjAwMDAwMC0weDAwMDAwMDAwZjIwZmZmZmZd
IGZvciBbYnVzIDIwLTJmXSAKKFhFTikgRFdDIGRiaSBhdCBbbWVtIDB4MDAwMDAwMGE0MDgw
MDAwMC0weDAwMDAwMDBhNDBiZmZmZmZdIGZvciBbYnVzIDIwLTJmXSAKKFhFTikgL2Nob3Nl
bi9wYXNzdGhyb3VnaC9wY2llQGZlMTcwMDAwOiBObyBidXMgcmFuZ2UgZm91bmQgZm9yIHBj
aSBjb250cm9sbGVyCihYRU4pIE9QLVRFRSBzdXBwb3J0cyAyIHNpbXVsdGFuZW91cyB0aHJl
YWRzIHBlciBndWVzdC4KKFhFTikgYWx0ZXJuYXRpdmVzOiBQYXRjaGluZyB3aXRoIGFsdCB0
YWJsZSAwMDAwMDAwMDAwMzA1MTE4IC0+IDAwMDAwMDAwMDAzMDViNWMKKFhFTikgQ1BVNiB3
aWxsIHVzZSAyNCBsb29wcyB3b3JrYXJvdW5kIG9uIGV4Y2VwdGlvbiBlbnRyeQooWEVOKSBD
UFU1IHdpbGwgdXNlIDI0IGxvb3BzIHdvcmthcm91bmQgb24gZXhjZXB0aW9uIGVudHJ5CihY
RU4pIENQVTcgd2lsbCB1c2UgMjQgbG9vcHMgd29ya2Fyb3VuZCBvbiBleGNlcHRpb24gZW50
cnkKKFhFTikgQ1BVNCB3aWxsIHVzZSAyNCBsb29wcyB3b3JrYXJvdW5kIG9uIGV4Y2VwdGlv
biBlbnRyeQooWEVOKSAqKiogTE9BRElORyBET01BSU4gMCAqKioKKFhFTikgTG9hZGluZyBk
MCBrZXJuZWwgZnJvbSBib290IG1vZHVsZSBAIDAwMDAwMDAwMDA2MDAwMDAKKFhFTikgQWxs
b2NhdGluZyAxOjEgbWFwcGluZ3MgdG90YWxsaW5nIDIwNDhNQiBmb3IgZG9tMDoKKFhFTikg
QkFOS1swXSAweDAwMDAwMDQwMDAwMDAwLTB4MDAwMDAwYzAwMDAwMDAgKDIwNDhNQikKKFhF
TikgR3JhbnQgdGFibGUgcmFuZ2U6IDB4MDAwMDAwMDA0MDAwMDAtMHgwMDAwMDAwMDQ0MDAw
MAooWEVOKSBTTU1VdjM6IC9wY2llQGZlMTcwMDAwOiBBZGRlZCBtYXN0ZXIgZGV2aWNlIChT
TU1VdjMgL2lvbW11QGZjOTAwMDAwIFN0cmVhbUlkcyAxKQooWEVOKSBTTU1VdjM6IGQwOiB2
bWlkIDB4MSB2dGNyIDB4MDAwMDAwMDAwMDA1MzU1OCBwMm1hZGRyIDB4MDAwMDAwMDAwODMy
ZTAwMAooWEVOKSBBbGxvY2F0aW5nIFBQSSAxNiBmb3IgZXZlbnQgY2hhbm5lbCBpbnRlcnJ1
cHQKKFhFTikgRmFpbGVkIHRvIGFsbG9jYXRlIGV4dGVuZGVkIHJlZ2lvbnMKKFhFTikgTG9h
ZGluZyB6SW1hZ2UgZnJvbSAwMDAwMDAwMDAwNjAwMDAwIHRvIDAwMDAwMDAwNDAwMDAwMDAt
MDAwMDAwMDA0MjAwMDAwMAooWEVOKSBMb2FkaW5nIGQwIERUQiB0byAweDAwMDAwMDAwNDgw
MDAwMDAtMHgwMDAwMDAwMDQ4MDI3NGZjCihYRU4pIEluaXRpYWwgbG93IG1lbW9yeSB2aXJx
IHRocmVzaG9sZCBzZXQgYXQgMHg0MDAwIHBhZ2VzLgooWEVOKSBTY3J1YmJpbmcgRnJlZSBS
QU0gaW4gYmFja2dyb3VuZAooWEVOKSBTdGQuIExvZ2xldmVsOiBBbGwKKFhFTikgR3Vlc3Qg
TG9nbGV2ZWw6IEFsbAooWEVOKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioKKFhFTikgV0FSTklORzogQ09OU09MRSBPVVRQVVQgSVMgU1lO
Q0hST05PVVMKKFhFTikgVGhpcyBvcHRpb24gaXMgaW50ZW5kZWQgdG8gYWlkIGRlYnVnZ2lu
ZyBvZiBYZW4gYnkgZW5zdXJpbmcKKFhFTikgdGhhdCBhbGwgb3V0cHV0IGlzIHN5bmNocm9u
b3VzbHkgZGVsaXZlcmVkIG9uIHRoZSBzZXJpYWwgbGluZS4KKFhFTikgSG93ZXZlciBpdCBj
YW4gaW50cm9kdWNlIFNJR05JRklDQU5UIGxhdGVuY2llcyBhbmQgYWZmZWN0CihYRU4pIHRp
bWVrZWVwaW5nLiBJdCBpcyBOT1QgcmVjb21tZW5kZWQgZm9yIHByb2R1Y3Rpb24gdXNlIQoo
WEVOKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioKKFhFTikgV0FSTklORzogSE1QIENPTVBVVElORyBIQVMgQkVFTiBFTkFCTEVELgooWEVO
KSBJdCBoYXMgaW1wbGljYXRpb25zIG9uIHRoZSBzZWN1cml0eSBhbmQgc3RhYmlsaXR5IG9m
IHRoZSBzeXN0ZW0sCihYRU4pIHVubGVzcyB0aGUgY3B1IGFmZmluaXR5IG9mIGFsbCBkb21h
aW5zIGlzIHNwZWNpZmllZC4KKFhFTikgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqCihYRU4pIDMuLi4gMi4uLiAxLi4uIAooWEVOKSAqKiog
U2VyaWFsIGlucHV0IHRvIERPTTAgKHR5cGUgJ0NUUkwtYicgdGhyZWUgdGltZXMgdG8gc3dp
dGNoIGlucHV0KQooWEVOKSBGcmVlZCAzNjBrQiBpbml0IG1lbW9yeS4KKFhFTikgZDB2MDog
dkdJQ0Q6IFJBWiBvbiByZXNlcnZlZCByZWdpc3RlciBvZmZzZXQgMHgwMDAwMGMKKFhFTikg
ZDB2MDogdkdJQ0Q6IHVuaGFuZGxlZCB3b3JkIHdyaXRlIDB4MDAwMDAwZmZmZmZmZmYgdG8g
SUNBQ1RJVkVSNAooWEVOKSBkMHYwOiB2R0lDRDogdW5oYW5kbGVkIHdvcmQgd3JpdGUgMHgw
MDAwMDBmZmZmZmZmZiB0byBJQ0FDVElWRVI4CihYRU4pIGQwdjA6IHZHSUNEOiB1bmhhbmRs
ZWQgd29yZCB3cml0ZSAweDAwMDAwMGZmZmZmZmZmIHRvIElDQUNUSVZFUjEyCihYRU4pIGQw
djA6IHZHSUNEOiB1bmhhbmRsZWQgd29yZCB3cml0ZSAweDAwMDAwMGZmZmZmZmZmIHRvIElD
QUNUSVZFUjE2CihYRU4pIGQwdjA6IHZHSUNEOiB1bmhhbmRsZWQgd29yZCB3cml0ZSAweDAw
MDAwMGZmZmZmZmZmIHRvIElDQUNUSVZFUjIwCihYRU4pIGQwdjA6IHZHSUNEOiB1bmhhbmRs
ZWQgd29yZCB3cml0ZSAweDAwMDAwMGZmZmZmZmZmIHRvIElDQUNUSVZFUjI0CihYRU4pIGQw
djA6IHZHSUNEOiB1bmhhbmRsZWQgd29yZCB3cml0ZSAweDAwMDAwMGZmZmZmZmZmIHRvIElD
QUNUSVZFUjI4CihYRU4pIGQwdjA6IHZHSUNEOiB1bmhhbmRsZWQgd29yZCB3cml0ZSAweDAw
MDAwMGZmZmZmZmZmIHRvIElDQUNUSVZFUjMyCihYRU4pIGQwdjA6IHZHSUNEOiB1bmhhbmRs
ZWQgd29yZCB3cml0ZSAweDAwMDAwMGZmZmZmZmZmIHRvIElDQUNUSVZFUjM2CihYRU4pIGQw
djA6IHZHSUNEOiB1bmhhbmRsZWQgd29yZCB3cml0ZSAweDAwMDAwMGZmZmZmZmZmIHRvIElD
QUNUSVZFUjQwCihYRU4pIGQwdjA6IHZHSUNEOiB1bmhhbmRsZWQgd29yZCB3cml0ZSAweDAw
MDAwMGZmZmZmZmZmIHRvIElDQUNUSVZFUjQ0CihYRU4pIGQwdjA6IHZHSUNEOiB1bmhhbmRs
ZWQgd29yZCB3cml0ZSAweDAwMDAwMGZmZmZmZmZmIHRvIElDQUNUSVZFUjQ4CihYRU4pIGQw
djA6IHZHSUNEOiB1bmhhbmRsZWQgd29yZCB3cml0ZSAweDAwMDAwMGZmZmZmZmZmIHRvIElD
QUNUSVZFUjUyCihYRU4pIGQwdjA6IHZHSUNEOiB1bmhhbmRsZWQgd29yZCB3cml0ZSAweDAw
MDAwMGZmZmZmZmZmIHRvIElDQUNUSVZFUjU2CihYRU4pIGQwdjA6IHZHSUNEOiB1bmhhbmRs
ZWQgd29yZCB3cml0ZSAweDAwMDAwMGZmZmZmZmZmIHRvIElDQUNUSVZFUjYwCihYRU4pIGQw
djA6IHZHSUNSOiBTR0k6IHVuaGFuZGxlZCB3b3JkIHdyaXRlIDB4MDAwMDAwZmZmZmZmZmYg
dG8gSUNBQ1RJVkVSMAooWEVOKSBkMHYxOiB2R0lDUjogU0dJOiB1bmhhbmRsZWQgd29yZCB3
cml0ZSAweDAwMDAwMGZmZmZmZmZmIHRvIElDQUNUSVZFUjAKKFhFTikgZDB2MjogdkdJQ1I6
IFNHSTogdW5oYW5kbGVkIHdvcmQgd3JpdGUgMHgwMDAwMDBmZmZmZmZmZiB0byBJQ0FDVElW
RVIwCihYRU4pIGQwdjM6IHZHSUNSOiBTR0k6IHVuaGFuZGxlZCB3b3JkIHdyaXRlIDB4MDAw
MDAwZmZmZmZmZmYgdG8gSUNBQ1RJVkVSMAooWEVOKSBkMHY0OiB2R0lDUjogU0dJOiB1bmhh
bmRsZWQgd29yZCB3cml0ZSAweDAwMDAwMGZmZmZmZmZmIHRvIElDQUNUSVZFUjAKKFhFTikg
ZDB2NTogdkdJQ1I6IFNHSTogdW5oYW5kbGVkIHdvcmQgd3JpdGUgMHgwMDAwMDBmZmZmZmZm
ZiB0byBJQ0FDVElWRVIwCihYRU4pIGQwdjY6IHZHSUNSOiBTR0k6IHVuaGFuZGxlZCB3b3Jk
IHdyaXRlIDB4MDAwMDAwZmZmZmZmZmYgdG8gSUNBQ1RJVkVSMAooWEVOKSBkMHY3OiB2R0lD
UjogU0dJOiB1bmhhbmRsZWQgd29yZCB3cml0ZSAweDAwMDAwMGZmZmZmZmZmIHRvIElDQUNU
SVZFUjAKKFhFTikgZDB2MCBVbmhhbmRsZWQgU01DL0hWQzogMHg4MjAwMDAxMAooWEVOKSBk
MHYwIFVuaGFuZGxlZCBTTUMvSFZDOiAweDgyMDAwMDA5CihYRU4pIGQwdjAgVW5oYW5kbGVk
IFNNQy9IVkM6IDB4ODIwMDAwMDkKKFhFTikgZDB2NCBVbmhhbmRsZWQgU01DL0hWQzogMHhi
ZjAwZmYwMQooWEVOKSBkMHY0IFVuaGFuZGxlZCBTTUMvSFZDOiAweDgyMDAwMDAzCihYRU4p
IGQwdjQgVW5oYW5kbGVkIFNNQy9IVkM6IDB4ODIwMDAwMDMKKFhFTikgZDB2NCBVbmhhbmRs
ZWQgU01DL0hWQzogMHg4MjAwMDAwMwooWEVOKSBkMHY0IFVuaGFuZGxlZCBTTUMvSFZDOiAw
eDgyMDAwMDAzCg==
--------------V0BLwG0HWGw4lzOTRB0PE93p
Content-Type: text/x-log; charset=UTF-8; name="kernel.log"
Content-Disposition: attachment; filename="kernel.log"
Content-Transfer-Encoding: base64

WyAgICA0LjA3MzExMF0gQm9vdGluZyBMaW51eCBvbiBwaHlzaWNhbCBDUFUgMHgwMDAwMDAw
MDAwIFsweDQxMmZkMDUwXQpbICAgIDQuMDczMTI4XSBMaW51eCB2ZXJzaW9uIDUuMTAuMTEw
ICh6bHdAU2lzeXBoZWFuKSAoQW5kcm9pZCAoNzI4NDYyNCwgYmFzZWQgb24gcjQxNjE4M2Ip
IGNsYW5nIHZlcnNpb24gMTIuMC41IChodHRwczovL2FuZHJvaWQuZ29vZ2xlc291cmNlLmNv
bS90b29sY2hhaW4vbGx2bS1wcm9qZWN0IGM5MzVkOTlkN2NmMjAxNjI4OTMwMjQxMmQ3MDg2
NDFkNTJkMmY3ZWUpLCBMTEQgMTIuMC41ICgvYnVpbGRib3Qvc3JjL2FuZHJvaWQvbGx2bS10
b29sY2hhaW4vb3V0L2xsdm0tcHJvamVjdC9sbGQgYzkzNWQ5OWQ3Y2YyMDE2Mjg5MzAyNDEy
ZDcwODY0MWQ1MmQyZjdlZSkpICMxOTIgU01QIE1vbiBEZWMgMTIgMDk6NTA6MzIgQ1NUIDIw
MjIKWyAgICA0LjA4MjczNV0gTWFjaGluZSBtb2RlbDogUm9ja2NoaXAgUkszNTg4IFRPWUJS
SUNLIFgxMCBCb2FyZApbICAgIDQuMDgyNzU2XSBQQ0k6IFVua25vd24gb3B0aW9uIGBtc2kn
ClsgICAgNC4wODU1NTFdIFhlbiA0LjE2IHN1cHBvcnQgZm91bmQKWyAgICA0LjA5MDIwOV0g
ZWZpOiBVRUZJIG5vdCBmb3VuZC4KWyAgICA0LjA5NTUzMl0gT0Y6IGZkdDogUmVzZXJ2ZWQg
bWVtb3J5OiBmYWlsZWQgdG8gcmVzZXJ2ZSBtZW1vcnkgZm9yIG5vZGUgJ2RybS1sb2dvQDAw
MDAwMDAwJzogYmFzZSAweDAwMDAwMDAwMDAwMDAwMDAsIHNpemUgMCBNaUIKWyAgICA0LjA5
NTU1MF0gT0Y6IGZkdDogUmVzZXJ2ZWQgbWVtb3J5OiBmYWlsZWQgdG8gcmVzZXJ2ZSBtZW1v
cnkgZm9yIG5vZGUgJ2RybS1jdWJpYy1sdXRAMDAwMDAwMDAnOiBiYXNlIDB4MDAwMDAwMDAw
MDAwMDAwMCwgc2l6ZSAwIE1pQgpbICAgIDQuMTM3MDEwXSBab25lIHJhbmdlczoKWyAgICA0
LjEzNzAyMF0gICBETUEgICAgICBbbWVtIDB4MDAwMDAwMDA0MDAwMDAwMC0weDAwMDAwMDAw
YmZmZmZmZmZdClsgICAgNC4xMzcwMjldICAgRE1BMzIgICAgZW1wdHkKWyAgICA0LjEzNzAz
NF0gICBOb3JtYWwgICBlbXB0eQpbICAgIDQuMTM3MDM5XSBNb3ZhYmxlIHpvbmUgc3RhcnQg
Zm9yIGVhY2ggbm9kZQpbICAgIDQuMTM3MDQyXSBFYXJseSBtZW1vcnkgbm9kZSByYW5nZXMK
WyAgICA0LjEzNzA0N10gICBub2RlICAgMDogW21lbSAweDAwMDAwMDAwNDAwMDAwMDAtMHgw
MDAwMDAwMGJmZmZmZmZmXQpbICAgIDQuMTM3MDU1XSBJbml0bWVtIHNldHVwIG5vZGUgMCBb
bWVtIDB4MDAwMDAwMDA0MDAwMDAwMC0weDAwMDAwMDAwYmZmZmZmZmZdClsgICAgNC4xMzcw
NjJdIE9uIG5vZGUgMCB0b3RhbHBhZ2VzOiA1MjQyODgKWyAgICA0LjEzNzA2Nl0gICBETUEg
em9uZTogODE5MiBwYWdlcyB1c2VkIGZvciBtZW1tYXAKWyAgICA0LjEzNzA2OV0gICBETUEg
em9uZTogMCBwYWdlcyByZXNlcnZlZApbICAgIDQuMTM3MDcyXSAgIERNQSB6b25lOiA1MjQy
ODggcGFnZXMsIExJRk8gYmF0Y2g6NjMKWyAgICA0LjE0OTQ4M10gY21hOiBSZXNlcnZlZCAx
MjggTWlCIGF0IDB4MDAwMDAwMDBiNTgwMDAwMApbICAgIDQuMTUwMDU0XSBwc2NpOiBwcm9i
aW5nIGZvciBjb25kdWl0IG1ldGhvZCBmcm9tIERULgpbICAgIDQuMTUwMDY2XSBwc2NpOiBQ
U0NJdjEuMSBkZXRlY3RlZCBpbiBmaXJtd2FyZS4KWyAgICA0LjE1MDA3MF0gcHNjaTogVXNp
bmcgc3RhbmRhcmQgUFNDSSB2MC4yIGZ1bmN0aW9uIElEcwpbICAgIDQuMTUwMDc2XSBwc2Np
OiBUcnVzdGVkIE9TIG1pZ3JhdGlvbiBub3QgcmVxdWlyZWQKWyAgICA0LjE1MDA4M10gcHNj
aTogU01DIENhbGxpbmcgQ29udmVudGlvbiB2MS4xClsgICAgNC4xNTA3NjFdIHBlcmNwdTog
RW1iZWRkZWQgMzAgcGFnZXMvY3B1IHM4NTAxNiByODE5MiBkMjk2NzIgdTEyMjg4MApbICAg
IDQuMTUwODA1XSBwY3B1LWFsbG9jOiBzODUwMTYgcjgxOTIgZDI5NjcyIHUxMjI4ODAgYWxs
b2M9MzAqNDA5NgpbICAgIDQuMTUwODExXSBwY3B1LWFsbG9jOiBbMF0gMCBbMF0gMSBbMF0g
MiBbMF0gMyBbMF0gNCBbMF0gNSBbMF0gNiBbMF0gNyAKWyAgICA0LjE1MDk1N10gRGV0ZWN0
ZWQgVklQVCBJLWNhY2hlIG9uIENQVTAKWyAgICA0LjE1MDk5Ml0gQ1BVIGZlYXR1cmVzOiBk
ZXRlY3RlZDogR0lDIHN5c3RlbSByZWdpc3RlciBDUFUgaW50ZXJmYWNlClsgICAgNC4xNTEw
MDRdIENQVSBmZWF0dXJlczogZGV0ZWN0ZWQ6IEFSTSBlcnJhdGEgMTE2NTUyMiwgMTMxOTM2
Nywgb3IgMTUzMDkyMwpbICAgIDQuMTUxMzg2XSBCdWlsdCAxIHpvbmVsaXN0cywgbW9iaWxp
dHkgZ3JvdXBpbmcgb24uICBUb3RhbCBwYWdlczogNTE2MDk2ClsgICAgNC4xNTEzOTVdIEtl
cm5lbCBjb21tYW5kIGxpbmU6IHBjaT1tc2kgaW9tbXU9MSBwc2k9MSBjb25zb2xlPWh2YzAg
cm9vdD1QQVJUVVVJRD02MTRlMDAwMC0wMDAwLTRiNTMtODAwMC0xZDI4MDAwMDU0YTkgcncg
cm9vdHdhaXQgeGVuLXBjaWJhY2suaGlkZT0oMDAwMjoyMTowMC4wKQpbICAgIDQuMTUxNzU2
XSBEZW50cnkgY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAyNjIxNDQgKG9yZGVyOiA5LCAy
MDk3MTUyIGJ5dGVzLCBsaW5lYXIpClsgICAgNC4xNTE4NjRdIElub2RlLWNhY2hlIGhhc2gg
dGFibGUgZW50cmllczogMTMxMDcyIChvcmRlcjogOCwgMTA0ODU3NiBieXRlcywgbGluZWFy
KQpbICAgIDQuMTUxODcxXSBtZW0gYXV0by1pbml0OiBzdGFjazpvZmYsIGhlYXAgYWxsb2M6
b2ZmLCBoZWFwIGZyZWU6b2ZmClsgICAgNC4xNjcwNDNdIE1lbW9yeTogMTg5MTY5NksvMjA5
NzE1MksgYXZhaWxhYmxlICgyMDQ4MEsga2VybmVsIGNvZGUsIDMyMThLIHJ3ZGF0YSwgNjE5
Nksgcm9kYXRhLCAxODU2SyBpbml0LCA1ODNLIGJzcywgNzQzODRLIHJlc2VydmVkLCAxMzEw
NzJLIGNtYS1yZXNlcnZlZCkKWyAgICA0LjE2NzE1Nl0gU0xVQjogSFdhbGlnbj02NCwgT3Jk
ZXI9MC0zLCBNaW5PYmplY3RzPTAsIENQVXM9OCwgTm9kZXM9MQpbICAgIDQuMTY3MTgzXSBm
dHJhY2U6IGFsbG9jYXRpbmcgNTY0NDkgZW50cmllcyBpbiAyMjEgcGFnZXMKWyAgICA0LjI0
NzMwNV0gZnRyYWNlOiBhbGxvY2F0ZWQgMjIxIHBhZ2VzIHdpdGggNiBncm91cHMKWyAgICA0
LjI0NzUzN10gcmN1OiBIaWVyYXJjaGljYWwgUkNVIGltcGxlbWVudGF0aW9uLgpbICAgIDQu
MjQ3NTQ0XSByY3U6IAlSQ1UgZXZlbnQgdHJhY2luZyBpcyBlbmFibGVkLgpbICAgIDQuMjQ3
NTQ5XSAJUnVkZSB2YXJpYW50IG9mIFRhc2tzIFJDVSBlbmFibGVkLgpbICAgIDQuMjQ3NTU0
XSByY3U6IFJDVSBjYWxjdWxhdGVkIHZhbHVlIG9mIHNjaGVkdWxlci1lbmxpc3RtZW50IGRl
bGF5IGlzIDMwIGppZmZpZXMuClsgICAgNC4yNTE2ODBdIE5SX0lSUVM6IDY0LCBucl9pcnFz
OiA2NCwgcHJlYWxsb2NhdGVkIGlycXM6IDAKWyAgICA0LjI1MzU0Ml0gR0lDdjM6IDQ4MCBT
UElzIGltcGxlbWVudGVkClsgICAgNC4yNTM1NDhdIEdJQ3YzOiAwIEV4dGVuZGVkIFNQSXMg
aW1wbGVtZW50ZWQKWyAgICA0LjI1NDAzM10gR0lDdjM6IERpc3RyaWJ1dG9yIGhhcyBubyBS
YW5nZSBTZWxlY3RvciBzdXBwb3J0ClsgICAgNC4yNTQwNTldIEdJQ3YzOiAxNiBQUElzIGlt
cGxlbWVudGVkClsgICAgNC4yNjI5MzddIEdJQ3YzOiBDUFUwOiBmb3VuZCByZWRpc3RyaWJ1
dG9yIDAgcmVnaW9uIDA6MHgwMDAwMDAwMGZlNjgwMDAwClsgICAgNC4yNjM2NDBdIElUUyBb
bWVtIDB4ZmU2NDAwMDAtMHhmZTY1ZmZmZl0KWyAgICA0LjI2Mzc4OV0gSVRTQDB4MDAwMDAw
MDBmZTY0MDAwMDogRGV2aWNlcyBkb2Vzbid0IHN0aWNrOiA4OTA3MDAwMDQyMjAwMjA3IDk5
MDcwMDAwNDIyMDAyMDcKWyAgICA0LjI2MzgwNl0gSVRTQDB4MDAwMDAwMDBmZTY0MDAwMDog
ZmFpbGVkIHByb2JpbmcgKC02KQpbICAgIDQuMjYzODI2XSBJVFMgW21lbSAweGZlNjYwMDAw
LTB4ZmU2N2ZmZmZdClsgICAgNC4yNjM5NjFdIElUU0AweDAwMDAwMDAwZmU2NjAwMDA6IERl
dmljZXMgZG9lc24ndCBzdGljazogODkwNzAwMDA0MjIwMDIwNyA5OTA3MDAwMDQyMjAwMjA3
ClsgICAgNC4yNjM5NzBdIElUU0AweDAwMDAwMDAwZmU2NjAwMDA6IGZhaWxlZCBwcm9iaW5n
ICgtNikKWyAgICA0LjI2NDA3OV0gSVRTOiBObyBJVFMgYXZhaWxhYmxlLCBub3QgZW5hYmxp
bmcgTFBJcwpbICAgIDQuMjY0MTg2XSByYW5kb206IGdldF9yYW5kb21fYnl0ZXMgY2FsbGVk
IGZyb20gc3RhcnRfa2VybmVsKzB4MjUwLzB4NGYwIHdpdGggY3JuZ19pbml0PTAKWyAgICA0
LjM5NTAyMl0gYXJjaF90aW1lcjogY3AxNSB0aW1lcihzKSBydW5uaW5nIGF0IDI0LjAwTUh6
ICh2aXJ0KS4KWyAgICA0LjM5NTAzNF0gY2xvY2tzb3VyY2U6IGFyY2hfc3lzX2NvdW50ZXI6
IG1hc2s6IDB4ZmZmZmZmZmZmZmZmZmYgbWF4X2N5Y2xlczogMHg1ODhmZTlkYzAsIG1heF9p
ZGxlX25zOiA0NDA3OTUyMDI1OTIgbnMKWyAgICA0LjM5NTA0M10gc2NoZWRfY2xvY2s6IDU2
IGJpdHMgYXQgMjRNSHosIHJlc29sdXRpb24gNDFucywgd3JhcHMgZXZlcnkgNDM5ODA0NjUx
MTA5N25zClsgICAgNC4zOTU5NDNdIENvbnNvbGU6IGNvbG91ciBkdW1teSBkZXZpY2UgODB4
MjUKWyAgICA0LjQyODMxNV0gcHJpbnRrOiBjb25zb2xlIFtodmMwXSBlbmFibGVkClsgICAg
NC40Mjg2OTBdIENhbGlicmF0aW5nIGRlbGF5IGxvb3AgKHNraXBwZWQpLCB2YWx1ZSBjYWxj
dWxhdGVkIHVzaW5nIHRpbWVyIGZyZXF1ZW5jeS4uIDQ4LjAwIEJvZ29NSVBTIChscGo9ODAw
MDApClsgICAgNC40Mjk1ODNdIHBpZF9tYXg6IGRlZmF1bHQ6IDMyNzY4IG1pbmltdW06IDMw
MQpbICAgIDQuNDMwMDg2XSBNb3VudC1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDQwOTYg
KG9yZGVyOiAzLCAzMjc2OCBieXRlcywgbGluZWFyKQpbICAgIDQuNDMwNzM1XSBNb3VudHBv
aW50LWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNDA5NiAob3JkZXI6IDMsIDMyNzY4IGJ5
dGVzLCBsaW5lYXIpClsgICAgNC40MzMwOTFdIHhlbjpncmFudF90YWJsZTogR3JhbnQgdGFi
bGVzIHVzaW5nIHZlcnNpb24gMSBsYXlvdXQKWyAgICA0LjQzMzYzNV0gR3JhbnQgdGFibGUg
aW5pdGlhbGl6ZWQKWyAgICA0LjQzMzk2NV0geGVuOmV2ZW50czogVXNpbmcgRklGTy1iYXNl
ZCBBQkkKWyAgICA0LjQzNDM1NF0gWGVuOiBpbml0aWFsaXppbmcgY3B1MApbICAgIDQuNDM0
NzU1XSByY3U6IEhpZXJhcmNoaWNhbCBTUkNVIGltcGxlbWVudGF0aW9uLgpbICAgIDQuNDM1
ODg2XSBtc2ktY29udHJvbGxlcjogdW5hYmxlIHRvIGxvY2F0ZSBJVFMgZG9tYWluClsgICAg
NC40MzYzNDNdIG1zaS1jb250cm9sbGVyOiB1bmFibGUgdG8gbG9jYXRlIElUUyBkb21haW4K
WyAgICA0LjQzNzAyMl0gbXNpLWNvbnRyb2xsZXI6IFVuYWJsZSB0byBsb2NhdGUgSVRTIGRv
bWFpbgpbICAgIDQuNDM3NDc2XSBtc2ktY29udHJvbGxlcjogVW5hYmxlIHRvIGxvY2F0ZSBJ
VFMgZG9tYWluClsgICAgNC40MzgwMzhdIEVGSSBzZXJ2aWNlcyB3aWxsIG5vdCBiZSBhdmFp
bGFibGUuClsgICAgNC40Mzg2NzldIHNtcDogQnJpbmdpbmcgdXAgc2Vjb25kYXJ5IENQVXMg
Li4uClsgICAgNC40Mzk1MjddIERldGVjdGVkIFZJUFQgSS1jYWNoZSBvbiBDUFUxClsgICAg
NC40Mzk1NjRdIEdJQ3YzOiBDUFUxOiBmb3VuZCByZWRpc3RyaWJ1dG9yIDEgcmVnaW9uIDA6
MHgwMDAwMDAwMGZlNmEwMDAwClsgICAgNC40NDAxOTNdIFhlbjogaW5pdGlhbGl6aW5nIGNw
dTEKWyAgICA0LjQ0MDI1MF0gQ1BVMTogQm9vdGVkIHNlY29uZGFyeSBwcm9jZXNzb3IgMHgw
MDAwMDAwMDAxIFsweDQxMmZkMDUwXQpbICAgIDQuNDQxMDE5XSBEZXRlY3RlZCBWSVBUIEkt
Y2FjaGUgb24gQ1BVMgpbICAgIDQuNDQxMDU5XSBHSUN2MzogQ1BVMjogZm91bmQgcmVkaXN0
cmlidXRvciAyIHJlZ2lvbiAwOjB4MDAwMDAwMDBmZTZjMDAwMApbICAgIDQuNDQxNjkwXSBY
ZW46IGluaXRpYWxpemluZyBjcHUyClsgICAgNC40NDE3NDJdIENQVTI6IEJvb3RlZCBzZWNv
bmRhcnkgcHJvY2Vzc29yIDB4MDAwMDAwMDAwMiBbMHg0MTJmZDA1MF0KWyAgICA0LjQ0MjQz
NV0gRGV0ZWN0ZWQgVklQVCBJLWNhY2hlIG9uIENQVTMKWyAgICA0LjQ0MjQ3M10gR0lDdjM6
IENQVTM6IGZvdW5kIHJlZGlzdHJpYnV0b3IgMyByZWdpb24gMDoweDAwMDAwMDAwZmU2ZTAw
MDAKWyAgICA0LjQ0MzA5OF0gWGVuOiBpbml0aWFsaXppbmcgY3B1MwpbICAgIDQuNDQzMTQ1
XSBDUFUzOiBCb290ZWQgc2Vjb25kYXJ5IHByb2Nlc3NvciAweDAwMDAwMDAwMDMgWzB4NDEy
ZmQwNTBdClsgICAgNC40NDM2ODBdIENQVSBmZWF0dXJlczogZGV0ZWN0ZWQ6IEtlcm5lbCBw
YWdlIHRhYmxlIGlzb2xhdGlvbiAoS1BUSSkKWyAgICA0LjQ0MzY4NF0gQ1BVIGZlYXR1cmVz
OiBkZXRlY3RlZDogU3BlY3RyZS12MgpbICAgIDQuNDQzNjg2XSBDUFUgZmVhdHVyZXM6IGRl
dGVjdGVkOiBTcGVjdHJlLXY0ClsgICAgNC40NDM2OTFdIENQVSBmZWF0dXJlczogZGV0ZWN0
ZWQ6IFNwZWN0cmUtQkhCClsgICAgNC40NDM3MTFdIERldGVjdGVkIFBJUFQgSS1jYWNoZSBv
biBDUFU0ClsgICAgNC40NDM3MzRdIEdJQ3YzOiBDUFU0OiBmb3VuZCByZWRpc3RyaWJ1dG9y
IDQgcmVnaW9uIDA6MHgwMDAwMDAwMGZlNzAwMDAwClsgICAgNC40NDQzMzJdIFhlbjogaW5p
dGlhbGl6aW5nIGNwdTQKWyAgICA0LjQ0NDM1OV0gQ1BVNDogQm9vdGVkIHNlY29uZGFyeSBw
cm9jZXNzb3IgMHgwMDAwMDAwMDA0IFsweDQxNGZkMGIwXQpbICAgIDQuNDQ0ODM4XSBEZXRl
Y3RlZCBQSVBUIEktY2FjaGUgb24gQ1BVNQpbICAgIDQuNDQ0ODU5XSBHSUN2MzogQ1BVNTog
Zm91bmQgcmVkaXN0cmlidXRvciA1IHJlZ2lvbiAwOjB4MDAwMDAwMDBmZTcyMDAwMApbICAg
IDQuNDQ1NDUwXSBYZW46IGluaXRpYWxpemluZyBjcHU1ClsgICAgNC40NDU0NzVdIENQVTU6
IEJvb3RlZCBzZWNvbmRhcnkgcHJvY2Vzc29yIDB4MDAwMDAwMDAwNSBbMHg0MTRmZDBiMF0K
WyAgICA0LjQ0NTk0NV0gRGV0ZWN0ZWQgUElQVCBJLWNhY2hlIG9uIENQVTYKWyAgICA0LjQ0
NTk2Nl0gR0lDdjM6IENQVTY6IGZvdW5kIHJlZGlzdHJpYnV0b3IgNiByZWdpb24gMDoweDAw
MDAwMDAwZmU3NDAwMDAKWyAgICA0LjQ0NjU1Nl0gWGVuOiBpbml0aWFsaXppbmcgY3B1Ngpb
ICAgIDQuNDQ2NTgxXSBDUFU2OiBCb290ZWQgc2Vjb25kYXJ5IHByb2Nlc3NvciAweDAwMDAw
MDAwMDYgWzB4NDE0ZmQwYjBdClsgICAgNC40NDcwMzZdIERldGVjdGVkIFBJUFQgSS1jYWNo
ZSBvbiBDUFU3ClsgICAgNC40NDcwNTldIEdJQ3YzOiBDUFU3OiBmb3VuZCByZWRpc3RyaWJ1
dG9yIDcgcmVnaW9uIDA6MHgwMDAwMDAwMGZlNzYwMDAwClsgICAgNC40NDc2NDldIFhlbjog
aW5pdGlhbGl6aW5nIGNwdTcKWyAgICA0LjQ0NzY3NV0gQ1BVNzogQm9vdGVkIHNlY29uZGFy
eSBwcm9jZXNzb3IgMHgwMDAwMDAwMDA3IFsweDQxNGZkMGIwXQpbICAgIDQuNDQ3NzYyXSBz
bXA6IEJyb3VnaHQgdXAgMSBub2RlLCA4IENQVXMKWyAgICA0LjQ2MjY1MF0gU01QOiBUb3Rh
bCBvZiA4IHByb2Nlc3NvcnMgYWN0aXZhdGVkLgpbICAgIDQuNDYzMDcyXSBDUFUgZmVhdHVy
ZXM6IGRldGVjdGVkOiBQcml2aWxlZ2VkIEFjY2VzcyBOZXZlcgpbICAgIDQuNDYzNTUzXSBD
UFUgZmVhdHVyZXM6IGRldGVjdGVkOiBVc2VyIEFjY2VzcyBPdmVycmlkZQpbICAgIDQuNDY0
MDE5XSBDUFUgZmVhdHVyZXM6IGRldGVjdGVkOiAzMi1iaXQgRUwwIFN1cHBvcnQKWyAgICA0
LjQ2NDQ2OF0gQ1BVIGZlYXR1cmVzOiBkZXRlY3RlZDogQ29tbW9uIG5vdCBQcml2YXRlIHRy
YW5zbGF0aW9ucwpbICAgIDQuNDY1MDE3XSBDUFUgZmVhdHVyZXM6IGRldGVjdGVkOiBEYXRh
IGNhY2hlIGNsZWFuIHRvIHRoZSBQb1Ugbm90IHJlcXVpcmVkIGZvciBJL0QgY29oZXJlbmNl
ClsgICAgNC40NjU3NjZdIENQVSBmZWF0dXJlczogZGV0ZWN0ZWQ6IENSQzMyIGluc3RydWN0
aW9ucwpbICAgIDQuNDY2MjE2XSBDUFUgZmVhdHVyZXM6IGRldGVjdGVkOiBTcGVjdWxhdGl2
ZSBTdG9yZSBCeXBhc3NpbmcgU2FmZSAoU1NCUykKWyAgICA0LjQ2NjgzNV0gQ1BVIGZlYXR1
cmVzOiBkZXRlY3RlZDogUkNwYyBsb2FkLWFjcXVpcmUgKExEQVBSKQpbICAgIDQuNTk1NzU4
XSBDUFU6IEFsbCBDUFUocykgc3RhcnRlZCBhdCBFTDEKWyAgICA0LjU5NjE4NF0gYWx0ZXJu
YXRpdmVzOiBwYXRjaGluZyBrZXJuZWwgY29kZQpbICAgIDQuNTk3ODk5XSBkZXZ0bXBmczog
aW5pdGlhbGl6ZWQKWyAgICA0LjYwODAyNl0gRHVwbGljYXRlIG5hbWUgaW4gaW50ZXJydXB0
LWNvbnRyb2xsZXIsIHJlbmFtZWQgdG8gIm1zaS1jb250cm9sbGVyIzEiClsgICAgNC42MTcz
NjBdIFJlZ2lzdGVyZWQgY3AxNV9iYXJyaWVyIGVtdWxhdGlvbiBoYW5kbGVyClsgICAgNC42
MTc4NjFdIFJlZ2lzdGVyZWQgc2V0ZW5kIGVtdWxhdGlvbiBoYW5kbGVyClsgICAgNC42MTgz
ODVdIGNsb2Nrc291cmNlOiBqaWZmaWVzOiBtYXNrOiAweGZmZmZmZmZmIG1heF9jeWNsZXM6
IDB4ZmZmZmZmZmYsIG1heF9pZGxlX25zOiA2MzcwODY3NTE5NTExOTk0IG5zClsgICAgNC42
MTkyNzFdIGZ1dGV4IGhhc2ggdGFibGUgZW50cmllczogMjA0OCAob3JkZXI6IDUsIDEzMTA3
MiBieXRlcywgbGluZWFyKQpbICAgIDQuNjIyODk4XSBwaW5jdHJsIGNvcmU6IGluaXRpYWxp
emVkIHBpbmN0cmwgc3Vic3lzdGVtClsgICAgNC42MjM5MDZdIERNSSBub3QgcHJlc2VudCBv
ciBpbnZhbGlkLgpbICAgIDQuNjI0NDMxXSBORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFt
aWx5IDE2ClsgICAgNC42MjY2MDJdIERNQTogcHJlYWxsb2NhdGVkIDI1NiBLaUIgR0ZQX0tF
Uk5FTCBwb29sIGZvciBhdG9taWMgYWxsb2NhdGlvbnMKWyAgICA0LjYyNzM5NV0gRE1BOiBw
cmVhbGxvY2F0ZWQgMjU2IEtpQiBHRlBfS0VSTkVMfEdGUF9ETUEgcG9vbCBmb3IgYXRvbWlj
IGFsbG9jYXRpb25zClsgICAgNC42MjkzMDFdIHRoZXJtYWxfc3lzOiBSZWdpc3RlcmVkIHRo
ZXJtYWwgZ292ZXJub3IgJ2ZhaXJfc2hhcmUnClsgICAgNC42MjkzMjFdIHRoZXJtYWxfc3lz
OiBSZWdpc3RlcmVkIHRoZXJtYWwgZ292ZXJub3IgJ3N0ZXBfd2lzZScKWyAgICA0LjYyOTg1
MV0gdGhlcm1hbF9zeXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zlcm5vciAndXNlcl9zcGFj
ZScKWyAgICA0LjYzMDM3N10gdGhlcm1hbF9zeXM6IFJlZ2lzdGVyZWQgdGhlcm1hbCBnb3Zl
cm5vciAncG93ZXJfYWxsb2NhdG9yJwpbICAgIDQuNjMxMTI1XSB0aGVybWFsIHRoZXJtYWxf
em9uZTE6IHBvd2VyX2FsbG9jYXRvcjogc3VzdGFpbmFibGVfcG93ZXIgd2lsbCBiZSBlc3Rp
bWF0ZWQKWyAgICA0LjYzMjQ0OF0gdGhlcm1hbCB0aGVybWFsX3pvbmUyOiBwb3dlcl9hbGxv
Y2F0b3I6IHN1c3RhaW5hYmxlX3Bvd2VyIHdpbGwgYmUgZXN0aW1hdGVkClsgICAgNC42MzMy
MTJdIHRoZXJtYWwgdGhlcm1hbF96b25lMzogcG93ZXJfYWxsb2NhdG9yOiBzdXN0YWluYWJs
ZV9wb3dlciB3aWxsIGJlIGVzdGltYXRlZApbICAgIDQuNjMzOTY0XSB0aGVybWFsIHRoZXJt
YWxfem9uZTQ6IHBvd2VyX2FsbG9jYXRvcjogc3VzdGFpbmFibGVfcG93ZXIgd2lsbCBiZSBl
c3RpbWF0ZWQKWyAgICA0LjYzNDcxNV0gdGhlcm1hbCB0aGVybWFsX3pvbmU1OiBwb3dlcl9h
bGxvY2F0b3I6IHN1c3RhaW5hYmxlX3Bvd2VyIHdpbGwgYmUgZXN0aW1hdGVkClsgICAgNC42
MzU0NjVdIHRoZXJtYWwgdGhlcm1hbF96b25lNjogcG93ZXJfYWxsb2NhdG9yOiBzdXN0YWlu
YWJsZV9wb3dlciB3aWxsIGJlIGVzdGltYXRlZApbICAgIDQuNjM2MTcxXSBSZWdpc3RlcmVk
IEZJUSB0dHkgZHJpdmVyClsgICAgNC42MzY2NjZdIGh3LWJyZWFrcG9pbnQ6IGZvdW5kIDYg
YnJlYWtwb2ludCBhbmQgNCB3YXRjaHBvaW50IHJlZ2lzdGVycy4KWyAgICA0LjYzNzY2Ml0g
QVNJRCBhbGxvY2F0b3IgaW5pdGlhbGlzZWQgd2l0aCAzMjc2OCBlbnRyaWVzClsgICAgNC42
MzgxNTddIHhlbjpzd2lvdGxiX3hlbjogV2FybmluZzogb25seSBhYmxlIHRvIGFsbG9jYXRl
IDQgTUIgZm9yIHNvZnR3YXJlIElPIFRMQgpbICAgIDQuNjM5MjE0XSBzb2Z0d2FyZSBJTyBU
TEI6IG1hcHBlZCBbbWVtIDB4MDAwMDAwMDA0MzAwMDAwMC0weDAwMDAwMDAwNDM0MDAwMDBd
ICg0TUIpClsgICAgNC43Mjg3MDJdIGdwaW8gZmQ4YTAwMDAuZ3BpbzogcHJvYmVkIC9waW5j
dHJsL2dwaW9AZmQ4YTAwMDAKWyAgICA0LjcyOTY3OF0gZ3BpbyBmZWMyMDAwMC5ncGlvOiBw
cm9iZWQgL3BpbmN0cmwvZ3Bpb0BmZWMyMDAwMApbICAgIDQuNzMwNjU4XSBncGlvIGZlYzMw
MDAwLmdwaW86IHByb2JlZCAvcGluY3RybC9ncGlvQGZlYzMwMDAwClsgICAgNC43MzE2NjFd
IGdwaW8gZmVjNDAwMDAuZ3BpbzogcHJvYmVkIC9waW5jdHJsL2dwaW9AZmVjNDAwMDAKWyAg
ICA0LjczMjY5Nl0gZ3BpbyBmZWM1MDAwMC5ncGlvOiBwcm9iZWQgL3BpbmN0cmwvZ3Bpb0Bm
ZWM1MDAwMApbICAgIDQuNzMzMzExXSBwaW5jdHJsIHBpbmN0cmw6IHByb2JlZCBwaW5jdHJs
ClsgICAgNC43NTcyNDNdIGZpcV9kZWJ1Z2dlciBmaXFfZGVidWdnZXIuMDogSVJRIGZpcSBu
b3QgZm91bmQKWyAgICA0Ljc1NzcyNF0gZmlxX2RlYnVnZ2VyIGZpcV9kZWJ1Z2dlci4wOiBJ
UlEgdWFydF9pcnEgbm90IGZvdW5kClsgICAgNC43NTgyNDJdIGZpcV9kZWJ1Z2dlciBmaXFf
ZGVidWdnZXIuMDogSVJRIHNpZ25hbCBub3QgZm91bmQKWyAgICA0Ljc1ODc0M10gZmlxX2Rl
YnVnZ2VyIGZpcV9kZWJ1Z2dlci4wOiBJUlEgd2FrZXVwIG5vdCBmb3VuZApbICAgIDQuNzU5
NjQwXSBwcmludGs6IGNvbnNvbGUgW3R0eUZJUTBdIGVuYWJsZWQKWyAgICA0Ljc2MDE2NV0g
UmVnaXN0ZXJlZCBmaXEgZGVidWdnZXIgdHR5RklRMApbICAgIDQuNzYwNjAwXSB4ZW46YmFs
bG9vbjogSW5pdGlhbGlzaW5nIGJhbGxvb24gZHJpdmVyClsgICAgNC43NjE2ODhdIHZjYzV2
MF9zeXM6IHN1cHBsaWVkIGJ5IHZjYzEydl9kY2luClsgICAgNC43NjIyODRdIHZjYzV2MF91
c2JkY2luOiBzdXBwbGllZCBieSB2Y2MxMnZfZGNpbgpbICAgIDQuNzYyOTE5XSB2Y2M1djBf
dXNiOiBzdXBwbGllZCBieSB2Y2M1djBfdXNiZGNpbgpbICAgIDQuNzYzNTQwXSB2Y2NfMXYx
X25sZG9fczM6IHN1cHBsaWVkIGJ5IHZjYzV2MF9zeXMKWyAgICA0Ljc2NDM2OF0gdmJ1czV2
MF90eXBlYzogc3VwcGxpZWQgYnkgdmNjNXYwX3VzYgpbICAgIDQuNzY0OTk0XSB2Y2MzdjNf
cGNpZTMwOiBzdXBwbGllZCBieSB2Y2MxMnZfZGNpbgpbICAgIDQuNzY1NTk1XSB2Y2M1djBf
aG9zdDogc3VwcGxpZWQgYnkgdmNjNXYwX3VzYgpbICAgIDQuNzY2NTcwXSBkZWJ1Z2ZzOiBE
aXJlY3RvcnkgJ3ZjY19taXBpY3NpMScgd2l0aCBwYXJlbnQgJ3JlZ3VsYXRvcicgYWxyZWFk
eSBwcmVzZW50IQpbICAgIDQuNzY3MjczXSBkZWJ1Z2ZzOiBEaXJlY3RvcnkgJ3ZjY19taXBp
Y3NpMScgd2l0aCBwYXJlbnQgJ3ZjY19taXBpY3NpMScgYWxyZWFkeSBwcmVzZW50IQpbICAg
IDQuNzY4NDY3XSBpb21tdTogRGVmYXVsdCBkb21haW4gdHlwZTogVHJhbnNsYXRlZCAKWyAg
ICA0Ljc2OTM4OV0gU0NTSSBzdWJzeXN0ZW0gaW5pdGlhbGl6ZWQKWyAgICA0Ljc2OTc0Nl0g
bGliYXRhIHZlcnNpb24gMy4wMCBsb2FkZWQuClsgICAgNC43Njk4NzZdIHVzYmNvcmU6IHJl
Z2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiZnMKWyAgICA0Ljc3MDM4OF0gdXNi
Y29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciBodWIKWyAgICA0Ljc3MDg3
M10gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgZGV2aWNlIGRyaXZlciB1c2IKWyAgICA0Ljc3
MTQwM10gbWM6IExpbnV4IG1lZGlhIGludGVyZmFjZTogdjAuMTAKWyAgICA0Ljc3MTc5Nl0g
dmlkZW9kZXY6IExpbnV4IHZpZGVvIGNhcHR1cmUgaW50ZXJmYWNlOiB2Mi4wMApbICAgIDQu
NzcyMzIxXSBwcHNfY29yZTogTGludXhQUFMgQVBJIHZlci4gMSByZWdpc3RlcmVkClsgICAg
NC43NzI3NTJdIHBwc19jb3JlOiBTb2Z0d2FyZSB2ZXIuIDUuMy42IC0gQ29weXJpZ2h0IDIw
MDUtMjAwNyBSb2RvbGZvIEdpb21ldHRpIDxnaW9tZXR0aUBsaW51eC5pdD4KWyAgICA0Ljc3
MzU2MV0gUFRQIGNsb2NrIHN1cHBvcnQgcmVnaXN0ZXJlZApbICAgIDQuNzc0MzE0XSBhcm0t
c2NtaSBmaXJtd2FyZTpzY21pOiBTQ01JIE5vdGlmaWNhdGlvbnMgLSBDb3JlIEVuYWJsZWQu
ClsgICAgNC43NzUyMzNdIGFybS1zY21pIGZpcm13YXJlOnNjbWk6IHVuYWJsZSB0byBjb21t
dW5pY2F0ZSB3aXRoIFNDTUkKWyAgICA0Ljc3NTg3M10gYXJtLXNjbWk6IHByb2JlIG9mIGZp
cm13YXJlOnNjbWkgZmFpbGVkIHdpdGggZXJyb3IgLTk1ClsgICAgNC43Nzc5MTddIEFkdmFu
Y2VkIExpbnV4IFNvdW5kIEFyY2hpdGVjdHVyZSBEcml2ZXIgSW5pdGlhbGl6ZWQuClsgICAg
NC43Nzg3NjRdIEJsdWV0b290aDogQ29yZSB2ZXIgMi4yMgpbICAgIDQuNzc5MTAwXSBORVQ6
IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDMxClsgICAgNC43Nzk0ODZdIEJsdWV0b290
aDogSENJIGRldmljZSBhbmQgY29ubmVjdGlvbiBtYW5hZ2VyIGluaXRpYWxpemVkClsgICAg
NC43ODAwNDhdIEJsdWV0b290aDogSENJIHNvY2tldCBsYXllciBpbml0aWFsaXplZApbICAg
IDQuNzgwNDc5XSBCbHVldG9vdGg6IEwyQ0FQIHNvY2tldCBsYXllciBpbml0aWFsaXplZApb
ICAgIDQuNzgwOTI4XSBCbHVldG9vdGg6IFNDTyBzb2NrZXQgbGF5ZXIgaW5pdGlhbGl6ZWQK
WyAgICA0Ljc4Mjc3NF0gY3B1aW5mbyBjcHVpbmZvOiBTb0MJCTogMApbICAgIDQuNzgzMTY5
XSBjcHVpbmZvIGNwdWluZm86IFNlcmlhbAkJOiAwMDAwMDAwMDAwMDAwMDAwClsgICAgNC43
ODQxNjhdIGNsb2Nrc291cmNlOiBTd2l0Y2hlZCB0byBjbG9ja3NvdXJjZSBhcmNoX3N5c19j
b3VudGVyClsgICAgNS4yMTgxNjBdIE5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkg
MgpbICAgIDUuMjE4NjM4XSBJUCBpZGVudHMgaGFzaCB0YWJsZSBlbnRyaWVzOiAzMjc2OCAo
b3JkZXI6IDYsIDI2MjE0NCBieXRlcywgbGluZWFyKQpbICAgIDUuMjIwNDcxXSB0Y3BfbGlz
dGVuX3BvcnRhZGRyX2hhc2ggaGFzaCB0YWJsZSBlbnRyaWVzOiAxMDI0IChvcmRlcjogMiwg
MTYzODQgYnl0ZXMsIGxpbmVhcikKWyAgICA1LjIyMTI4OF0gVENQIGVzdGFibGlzaGVkIGhh
c2ggdGFibGUgZW50cmllczogMTYzODQgKG9yZGVyOiA1LCAxMzEwNzIgYnl0ZXMsIGxpbmVh
cikKWyAgICA1LjIyMjA4MF0gVENQIGJpbmQgaGFzaCB0YWJsZSBlbnRyaWVzOiAxNjM4NCAo
b3JkZXI6IDYsIDI2MjE0NCBieXRlcywgbGluZWFyKQpbICAgIDUuMjIyODg1XSBUQ1A6IEhh
c2ggdGFibGVzIGNvbmZpZ3VyZWQgKGVzdGFibGlzaGVkIDE2Mzg0IGJpbmQgMTYzODQpClsg
ICAgNS4yMjM1MjRdIFVEUCBoYXNoIHRhYmxlIGVudHJpZXM6IDEwMjQgKG9yZGVyOiAzLCAz
Mjc2OCBieXRlcywgbGluZWFyKQpbICAgIDUuMjI0MTM5XSBVRFAtTGl0ZSBoYXNoIHRhYmxl
IGVudHJpZXM6IDEwMjQgKG9yZGVyOiAzLCAzMjc2OCBieXRlcywgbGluZWFyKQpbICAgIDUu
MjI0OTAxXSBORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDEKWyAgICA1LjIyNTcy
Ml0gUlBDOiBSZWdpc3RlcmVkIG5hbWVkIFVOSVggc29ja2V0IHRyYW5zcG9ydCBtb2R1bGUu
ClsgICAgNS4yMjYyMzhdIFJQQzogUmVnaXN0ZXJlZCB1ZHAgdHJhbnNwb3J0IG1vZHVsZS4K
WyAgICA1LjIyNjY0OV0gUlBDOiBSZWdpc3RlcmVkIHRjcCB0cmFuc3BvcnQgbW9kdWxlLgpb
ICAgIDUuMjI3MDYyXSBSUEM6IFJlZ2lzdGVyZWQgdGNwIE5GU3Y0LjEgYmFja2NoYW5uZWwg
dHJhbnNwb3J0IG1vZHVsZS4KWyAgICA1LjIyODE1N10gUENJOiBDTFMgMCBieXRlcywgZGVm
YXVsdCA2NApbICAgIDUuMjMzMzg4XSBJbml0aWFsaXNlIHN5c3RlbSB0cnVzdGVkIGtleXJp
bmdzClsgICAgNS4yMzM5MTBdIHdvcmtpbmdzZXQ6IHRpbWVzdGFtcF9iaXRzPTYyIG1heF9v
cmRlcj0xOSBidWNrZXRfb3JkZXI9MApbICAgIDUuMjM4MTMwXSBzcXVhc2hmczogdmVyc2lv
biA0LjAgKDIwMDkvMDEvMzEpIFBoaWxsaXAgTG91Z2hlcgpbICAgIDUuMjM5MTAwXSBORlM6
IFJlZ2lzdGVyaW5nIHRoZSBpZF9yZXNvbHZlciBrZXkgdHlwZQpbICAgIDUuMjM5NTU3XSBL
ZXkgdHlwZSBpZF9yZXNvbHZlciByZWdpc3RlcmVkClsgICAgNS4yMzk5MjBdIEtleSB0eXBl
IGlkX2xlZ2FjeSByZWdpc3RlcmVkClsgICAgNS4yNDAyOTVdIG50ZnM6IGRyaXZlciAyLjEu
MzIgW0ZsYWdzOiBSL09dLgpbICAgIDUuMjQwODQ1XSBqZmZzMjogdmVyc2lvbiAyLjIuIChO
QU5EKSDCqSAyMDAxLTIwMDYgUmVkIEhhdCwgSW5jLgpbICAgIDUuMjQxNTk0XSBmdXNlOiBp
bml0IChBUEkgdmVyc2lvbiA3LjMyKQpbICAgIDUuMjQyMTcwXSBTR0kgWEZTIHdpdGggc2Vj
dXJpdHkgYXR0cmlidXRlcywgbm8gZGVidWcgZW5hYmxlZApbICAgIDUuMjc1ODg2XSBORVQ6
IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDM4ClsgICAgNS4yNzYyODFdIEtleSB0eXBl
IGFzeW1tZXRyaWMgcmVnaXN0ZXJlZApbICAgIDUuMjc2NjM3XSBBc3ltbWV0cmljIGtleSBw
YXJzZXIgJ3g1MDknIHJlZ2lzdGVyZWQKWyAgICA1LjI3NzA4N10gQmxvY2sgbGF5ZXIgU0NT
SSBnZW5lcmljIChic2cpIGRyaXZlciB2ZXJzaW9uIDAuNCBsb2FkZWQgKG1ham9yIDI0MSkK
WyAgICA1LjI3Nzc2M10gaW8gc2NoZWR1bGVyIG1xLWRlYWRsaW5lIHJlZ2lzdGVyZWQKWyAg
ICA1LjI3ODE1N10gaW8gc2NoZWR1bGVyIGt5YmVyIHJlZ2lzdGVyZWQKWyAgICA1LjI5NDc0
OF0gaGRwdHgtcGh5LWhkbWkgZmVkNjAwMDAuaGRtaXBoeTogaGRwdHggcGh5IGluaXQgc3Vj
Y2VzcwpbICAgIDUuMjk4NTgzXSBwY2llIGZlMTcwMDAwLnBjaWU6IGludmFsaWQgcHJzbnQt
Z3Bpb3MgcHJvcGVydHkgaW4gbm9kZQpbICAgIDUuMjk4ODY2XSBwd20tYmFja2xpZ2h0IGJh
Y2tsaWdodDogc3VwcGx5IHBvd2VyIG5vdCBmb3VuZCwgdXNpbmcgZHVtbXkgcmVndWxhdG9y
ClsgICAgNS4yOTkxNjBdIHBjaWUgZmUxNzAwMDAucGNpZTogbm8gdnBjaWUzdjMgcmVndWxh
dG9yIGZvdW5kClsgICAgNS4zMDAzMThdIGllcDogTW9kdWxlIGluaXRpYWxpemVkLgpbICAg
IDUuMzAwNDY5XSBwY2llIGZlMTcwMDAwLnBjaWU6IG1pc3NpbmcgbGVnYWN5IElSUSByZXNv
dXJjZQpbICAgIDUuMzAxMTc2XSBwY2llIGZlMTcwMDAwLnBjaWU6IElSUSBtc2kgbm90IGZv
dW5kClsgICAgNS4zMDE2MDJdIHBjaWUgZmUxNzAwMDAucGNpZTogdXNlIG91dGJhbmQgTVNJ
IHN1cHBvcnQKWyAgICA1LjMwMjA4OF0gcGNpZSBmZTE3MDAwMC5wY2llOiBob3N0IGJyaWRn
ZSAvcGNpZUBmZTE3MDAwMCByYW5nZXM6ClsgICAgNS4zMDI2ODNdIHBjaWUgZmUxNzAwMDAu
cGNpZTogICAgICAgSU8gMHgwMGYyMTAwMDAwLi4weDAwZjIxZmZmZmYgLT4gMHgwMGYyMTAw
MDAwClsgICAgNS4zMDMzNjhdIHBjaWUgZmUxNzAwMDAucGNpZTogICAgICBNRU0gMHgwMGYy
MjAwMDAwLi4weDAwZjJmZmZmZmYgLT4gMHgwMGYyMjAwMDAwClsgICAgNS4zMDQwNTZdIHBj
aWUgZmUxNzAwMDAucGNpZTogICAgICBNRU0gMHgwOTgwMDAwMDAwLi4weDA5YmZmZmZmZmYg
LT4gMHgwOTgwMDAwMDAwClsgICAgNS4zMDQ3ODNdIHBjaWUgZmUxNzAwMDAucGNpZTogaW52
YWxpZCByZXNvdXJjZQpbICAgIDUuMzA1MjMyXSBkbWEtcGwzMzAgZmVhMTAwMDAuZG1hLWNv
bnRyb2xsZXI6IExvYWRlZCBkcml2ZXIgZm9yIFBMMzMwIERNQUMtMjQxMzMwClsgICAgNS4z
MDU4OThdIGRtYS1wbDMzMCBmZWExMDAwMC5kbWEtY29udHJvbGxlcjogCURCVUZGLTEyOHg4
Ynl0ZXMgTnVtX0NoYW5zLTggTnVtX1BlcmktMzIgTnVtX0V2ZW50cy0xNgpbICAgIDUuMzA4
MTQyXSBkbWEtcGwzMzAgZmVhMzAwMDAuZG1hLWNvbnRyb2xsZXI6IExvYWRlZCBkcml2ZXIg
Zm9yIFBMMzMwIERNQUMtMjQxMzMwClsgICAgNS4zMDg4MDldIGRtYS1wbDMzMCBmZWEzMDAw
MC5kbWEtY29udHJvbGxlcjogCURCVUZGLTEyOHg4Ynl0ZXMgTnVtX0NoYW5zLTggTnVtX1Bl
cmktMzIgTnVtX0V2ZW50cy0xNgpbICAgIDUuMzExMDcwXSBkbWEtcGwzMzAgZmVkMTAwMDAu
ZG1hLWNvbnRyb2xsZXI6IExvYWRlZCBkcml2ZXIgZm9yIFBMMzMwIERNQUMtMjQxMzMwClsg
ICAgNS4zMTE3MzddIGRtYS1wbDMzMCBmZWQxMDAwMC5kbWEtY29udHJvbGxlcjogCURCVUZG
LTEyOHg4Ynl0ZXMgTnVtX0NoYW5zLTggTnVtX1BlcmktMzIgTnVtX0V2ZW50cy0xNgpbICAg
IDUuMzEzMzY1XSBwdnRtIGZkYTQwMDAwLnB2dG06IHB2dG1AMCBwcm9iZWQKWyAgICA1LjMx
Mzg5M10gcHZ0bSBmZGE1MDAwMC5wdnRtOiBwdnRtQDEgcHJvYmVkClsgICAgNS4zMTQ0NDZd
IHB2dG0gZmRhNjAwMDAucHZ0bTogcHZ0bUAyIHByb2JlZApbICAgIDUuMzE0OTgzXSBwdnRt
IGZkYWYwMDAwLnB2dG06IHB2dG1AMyBwcm9iZWQKWyAgICA1LjMxNTUwNV0gcHZ0bSBmZGIz
MDAwMC5wdnRtOiBwdnRtQDQgcHJvYmVkClsgICAgNS4zMTY1MTVdIHN5c3RlbS1tb25pdG9y
IHN5c3RlbS1tb25pdG9yOiBzeXN0ZW0gbW9uaXRvciBwcm9iZQpbICAgIDUuMzE3Nzc0XSB4
ZW46eGVuX2V2dGNobjogRXZlbnQtY2hhbm5lbCBkZXZpY2UgaW5zdGFsbGVkClsgICAgNS4z
MTgyOTJdIHhlbl9wY2liYWNrOiBiYWNrZW5kIGlzIHZwY2kKWyAgICA1LjMyNjAwNl0gU2Vy
aWFsOiA4MjUwLzE2NTUwIGRyaXZlciwgMTAgcG9ydHMsIElSUSBzaGFyaW5nIGRpc2FibGVk
ClsgICAgNS4zMjcxNTldIGZlYmIwMDAwLnNlcmlhbDogdHR5UzggYXQgTU1JTyAweGZlYmIw
MDAwIChpcnEgPSA0MiwgYmFzZV9iYXVkID0gMTUwMDAwMCkgaXMgYSAxNjU1MEEKWyAgICA1
LjMzMzk5MF0gZHJtIGRpc3BsYXktc3Vic3lzdGVtOiBbZHJtOmRybV9wbGF0Zm9ybV9wcm9i
ZV0gKkVSUk9SKiBObyBhdmFpbGFibGUgdm9wIGZvdW5kIGZvciBkaXNwbGF5LXN1YnN5c3Rl
bS4KWyAgICA1LjMzNTUxNF0gbm8gQVRGIG1lbW9yeSBmb3IgaW5pdApbICAgIDUuMzQxNjgx
XSBjYWNoZWluZm86IFVuYWJsZSB0byBkZXRlY3QgY2FjaGUgaGllcmFyY2h5IGZvciBDUFUg
MApbICAgIDUuMzQyNjY4XSBicmQ6IG1vZHVsZSBsb2FkZWQKWyAgICA1LjM0NzczMV0gbG9v
cDogbW9kdWxlIGxvYWRlZApbICAgIDUuMzQ4MzY2XSB6cmFtOiBBZGRlZCBkZXZpY2U6IHpy
YW0wClsgICAgNS4zNDg4NzddIGxrZHRtOiBObyBjcmFzaCBwb2ludHMgcmVnaXN0ZXJlZCwg
ZW5hYmxlIHRocm91Z2ggZGVidWdmcwpbICAgIDUuMzQ5NjAzXSBzeXN0ZW1faGVhcDogb3Jk
ZXJzWzBdID0gNgpbICAgIDUuMzQ5OTMwXSBzeXN0ZW1faGVhcDogb3JkZXJzWzFdID0gNApb
ICAgIDUuMzUwMjU5XSBzeXN0ZW1faGVhcDogb3JkZXJzWzJdID0gMApbICAgIDUuMzUxMzY2
XSBubyBBVEYgbWVtb3J5IGZvciBpbml0ClsgICAgNS4zNTI5MDhdIGFoY2kgZmUyMTAwMDAu
c2F0YTogc3VwcGx5IGFoY2kgbm90IGZvdW5kLCB1c2luZyBkdW1teSByZWd1bGF0b3IKWyAg
ICA1LjM1MzYwOF0gYWhjaSBmZTIxMDAwMC5zYXRhOiBzdXBwbHkgcGh5IG5vdCBmb3VuZCwg
dXNpbmcgZHVtbXkgcmVndWxhdG9yClsgICAgNS4zNTQzMjVdIGFoY2kgZmUyMTAwMDAuc2F0
YTogc3VwcGx5IHRhcmdldCBub3QgZm91bmQsIHVzaW5nIGR1bW15IHJlZ3VsYXRvcgpbICAg
IDUuMzU1MDM3XSBhaGNpIGZlMjEwMDAwLnNhdGE6IGZvcmNpbmcgcG9ydF9tYXAgMHgwIC0+
IDB4MQpbICAgIDUuMzU1NTQ4XSBhaGNpIGZlMjEwMDAwLnNhdGE6IEFIQ0kgMDAwMS4wMzAw
IDMyIHNsb3RzIDEgcG9ydHMgNiBHYnBzIDB4MSBpbXBsIHBsYXRmb3JtIG1vZGUKWyAgICA1
LjM1NjI5Nl0gYWhjaSBmZTIxMDAwMC5zYXRhOiBmbGFnczogbmNxIHNudGYgcG0gbGVkIGNs
byBvbmx5IHBtcCBmYnMgcGlvIHNsdW0gcGFydCBjY2MgYXBzdCAKWyAgICA1LjM1NzA2MV0g
YWhjaSBmZTIxMDAwMC5zYXRhOiBwb3J0IDAgY2FuIGRvIEZCUywgZm9yY2luZyBGQlNDUApb
ICAgIDUuMzU4NjM1XSBzY3NpIGhvc3QwOiBhaGNpClsgICAgNS4zNTkwODNdIGF0YTE6IFNB
VEEgbWF4IFVETUEvMTMzIG1taW8gW21lbSAweGZlMjEwMDAwLTB4ZmUyMTBmZmZdIHBvcnQg
MHgxMDAgaXJxIDMyClsgICAgNS4zNjEwNzldIHNwaSBmZWIyMDAwMC5zcGk6IG5vIGhpZ2hf
c3BlZWQgcGluY3RybCBzdGF0ZQpbICAgIDUuMzY3MDc1XSB2ZGRfZ3B1X3MwOiBzdXBwbGll
ZCBieSB2Y2M1djBfc3lzClsgICAgNS4zNjg5MjRdIHZkZF9jcHVfbGl0X3MwOiBzdXBwbGll
ZCBieSB2Y2M1djBfc3lzClsgICAgNS4zNzA0MTFdIHZkZF9sb2dfczA6IHN1cHBsaWVkIGJ5
IHZjYzV2MF9zeXMKWyAgICA1LjM3MTc1OF0gdmRkX3ZkZW5jX3MwOiBzdXBwbGllZCBieSB2
Y2M1djBfc3lzClsgICAgNS4zNzMzMDVdIHZkZF9kZHJfczA6IHN1cHBsaWVkIGJ5IHZjYzV2
MF9zeXMKWyAgICA1LjM3NDM5MF0gdmRkMl9kZHJfczM6IHN1cHBsaWVkIGJ5IHZjYzV2MF9z
eXMKWyAgICA1LjM3NTg0MF0gdmRkXzJ2MF9wbGRvX3MzOiBzdXBwbGllZCBieSB2Y2M1djBf
c3lzClsgICAgNS4zNzcyMTZdIHZjY18zdjNfczM6IHN1cHBsaWVkIGJ5IHZjYzV2MF9zeXMK
WyAgICA1LjM3ODUzM10gdmRkcV9kZHJfczA6IHN1cHBsaWVkIGJ5IHZjYzV2MF9zeXMKWyAg
ICA1LjM3OTk4NF0gdmNjXzF2OF9zMzogc3VwcGxpZWQgYnkgdmNjNXYwX3N5cwpbICAgIDUu
MzgxMzU0XSB2ZGRfMHY3NV9zMzogc3VwcGxpZWQgYnkgdmNjXzF2MV9ubGRvX3MzClsgICAg
NS4zODI4MTBdIHZkZF9kZHJfcGxsX3MwOiBzdXBwbGllZCBieSB2Y2NfMXYxX25sZG9fczMK
WyAgICA1LjM4NDE5NF0gYXZkZF8wdjc1X3MwOiBzdXBwbGllZCBieSB2Y2NfMXYxX25sZG9f
czMKWyAgICA1LjM4NTU0OV0gdmRkXzB2ODVfczA6IHN1cHBsaWVkIGJ5IHZjY18xdjFfbmxk
b19zMwpbICAgIDUuMzg2OTA3XSB2ZGRfMHY3NV9zMDogc3VwcGxpZWQgYnkgdmNjXzF2MV9u
bGRvX3MzClsgICAgNS4zODg0MjJdIGF2Y2NfMXY4X3MwOiBzdXBwbGllZCBieSB2ZGRfMnYw
X3BsZG9fczMKWyAgICA1LjM5MDAxOV0gdmNjXzF2OF9zMDogc3VwcGxpZWQgYnkgdmRkXzJ2
MF9wbGRvX3MzClsgICAgNS4zOTE1MDRdIGF2ZGRfMXYyX3MwOiBzdXBwbGllZCBieSB2ZGRf
MnYwX3BsZG9fczMKWyAgICA1LjM5Mjk3OF0gdmNjXzN2M19zMDogc3VwcGxpZWQgYnkgdmNj
NXYwX3N5cwpbICAgIDUuMzk0MjkzXSB2Y2Npb19zZF9zMDogc3VwcGxpZWQgYnkgdmNjNXYw
X3N5cwpbICAgIDUuMzk0ODAxXSByYW5kb206IGZhc3QgaW5pdCBkb25lClsgICAgNS4zOTU5
NTBdIHBsZG82X3MzOiBzdXBwbGllZCBieSB2Y2M1djBfc3lzClsgICAgNS40MDE5NTBdIENB
TiBkZXZpY2UgZHJpdmVyIGludGVyZmFjZQpbICAgIDUuNDAzNDg2XSBnbWFjLWR3bWFjIGZl
MWIwMDAwLmV0aGVybmV0OiBJUlEgZXRoX2xwaSBub3QgZm91bmQKWyAgICA1LjQwNDI5Nl0g
Z21hYy1kd21hYyBmZTFiMDAwMC5ldGhlcm5ldDogbm8gcmVndWxhdG9yIGZvdW5kClsgICAg
NS40MDQ4MjBdIGdtYWMtZHdtYWMgZmUxYjAwMDAuZXRoZXJuZXQ6IGNsb2NrIGlucHV0IG9y
IG91dHB1dD8gKG91dHB1dCkuClsgICAgNS40MDU0NDBdIGdtYWMtZHdtYWMgZmUxYjAwMDAu
ZXRoZXJuZXQ6IFRYIGRlbGF5KDB4NDMpLgpbICAgIDUuNDA1OTM1XSBnbWFjLWR3bWFjIGZl
MWIwMDAwLmV0aGVybmV0OiBDYW4gbm90IHJlYWQgcHJvcGVydHk6IHJ4X2RlbGF5LgpbICAg
IDUuNDA2NTU2XSBnbWFjLWR3bWFjIGZlMWIwMDAwLmV0aGVybmV0OiBzZXQgcnhfZGVsYXkg
dG8gMHhmZmZmZmZmZgpbICAgIDUuNDA3MTQ5XSBnbWFjLWR3bWFjIGZlMWIwMDAwLmV0aGVy
bmV0OiBpbnRlZ3JhdGVkIFBIWT8gKG5vKS4KWyAgICA1LjQwNzcwNF0gZ21hYy1kd21hYyBm
ZTFiMDAwMC5ldGhlcm5ldDogY2Fubm90IGdldCBjbG9jayBtYWNfY2xrX3J4ClsgICAgNS40
MDgyOTNdIGdtYWMtZHdtYWMgZmUxYjAwMDAuZXRoZXJuZXQ6IGNhbm5vdCBnZXQgY2xvY2sg
bWFjX2Nsa190eApbICAgIDUuNDA4ODkxXSBnbWFjLWR3bWFjIGZlMWIwMDAwLmV0aGVybmV0
OiBjYW5ub3QgZ2V0IGNsb2NrIGNsa19tYWNfc3BlZWQKWyAgICA1LjQwOTczMF0gZ21hYy1k
d21hYyBmZTFiMDAwMC5ldGhlcm5ldDogaW5pdCBmb3IgUkdNSUlfUlhJRApbICAgIDUuNDEw
NDE1XSBnbWFjLWR3bWFjIGZlMWIwMDAwLmV0aGVybmV0OiBVc2VyIElEOiAweDMwLCBTeW5v
cHN5cyBJRDogMHg1MQpbICAgIDUuNDExMDU1XSBnbWFjLWR3bWFjIGZlMWIwMDAwLmV0aGVy
bmV0OiAJRFdNQUM0LzUKWyAgICA1LjQxMTUwN10gZ21hYy1kd21hYyBmZTFiMDAwMC5ldGhl
cm5ldDogRE1BIEhXIGNhcGFiaWxpdHkgcmVnaXN0ZXIgc3VwcG9ydGVkClsgICAgNS40MTIx
NTddIGdtYWMtZHdtYWMgZmUxYjAwMDAuZXRoZXJuZXQ6IFJYIENoZWNrc3VtIE9mZmxvYWQg
RW5naW5lIHN1cHBvcnRlZApbICAgIDUuNDEyODA4XSBnbWFjLWR3bWFjIGZlMWIwMDAwLmV0
aGVybmV0OiBUWCBDaGVja3N1bSBpbnNlcnRpb24gc3VwcG9ydGVkClsgICAgNS40MTM0MjRd
IGdtYWMtZHdtYWMgZmUxYjAwMDAuZXRoZXJuZXQ6IFdha2UtVXAgT24gTGFuIHN1cHBvcnRl
ZApbICAgIDUuNDE0MDI3XSBnbWFjLWR3bWFjIGZlMWIwMDAwLmV0aGVybmV0OiBUU08gc3Vw
cG9ydGVkClsgICAgNS40MTQ1MThdIGdtYWMtZHdtYWMgZmUxYjAwMDAuZXRoZXJuZXQ6IEVu
YWJsZSBSWCBNaXRpZ2F0aW9uIHZpYSBIVyBXYXRjaGRvZyBUaW1lcgpbICAgIDUuNDE1MjE4
XSBnbWFjLWR3bWFjIGZlMWIwMDAwLmV0aGVybmV0OiBFbmFibGVkIEZsb3cgVEMgKGVudHJp
ZXM9MikKWyAgICA1LjQxNTc5OV0gZ21hYy1kd21hYyBmZTFiMDAwMC5ldGhlcm5ldDogVFNP
IGZlYXR1cmUgZW5hYmxlZApbICAgIDUuNDE2MzI1XSBnbWFjLWR3bWFjIGZlMWIwMDAwLmV0
aGVybmV0OiBVc2luZyAzMiBiaXRzIERNQSB3aWR0aApbICAgIDUuNTQ5Nzg2XSBbZGhkXSBT
VEFUSUMtTVNHKSBkaGRfc3RhdGljX2J1Zl9pbml0IDogMTAxLjEwLjM2MS4xOCAod2xhbj1y
ODkyMjIzLTIwMjIwNTE5LTEpClsgICAgNS41NTA4MDRdIFtkaGRdIFNUQVRJQy1NU0cpIGRo
ZF9pbml0X3dsYW5fbWVtIDogcHJlYWxsb2Mgb2sgZm9yIGluZGV4IDA6IDgxMzE1ODQoNzk0
MUspClsgICAgNS41NTE2MThdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBk
cml2ZXIgcnRsODE1MApbICAgIDUuNTUyMTQxXSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBp
bnRlcmZhY2UgZHJpdmVyIHI4MTUyClsgICAgNS41NjY3MTFdIGVoY2lfaGNkOiBVU0IgMi4w
ICdFbmhhbmNlZCcgSG9zdCBDb250cm9sbGVyIChFSENJKSBEcml2ZXIKWyAgICA1LjU2NzI5
OF0gZWhjaS1wY2k6IEVIQ0kgUENJIHBsYXRmb3JtIGRyaXZlcgpbICAgIDUuNTY3NTAxXSBw
Y2llIGZlMTcwMDAwLnBjaWU6IFBDSWUgTGluayB1cCwgTFRTU00gaXMgMHgzMDAxMQpbICAg
IDUuNTY3NzM1XSBlaGNpLXBsYXRmb3JtOiBFSENJIGdlbmVyaWMgcGxhdGZvcm0gZHJpdmVy
ClsgICAgNS41NjgyNjZdIHBjaWUgZmUxNzAwMDAucGNpZTogUENJIGhvc3QgYnJpZGdlIHRv
IGJ1cyAwMDAyOjIwClsgICAgNS41NjkyMDddIHBjaV9idXMgMDAwMjoyMDogcm9vdCBidXMg
cmVzb3VyY2UgW2J1cyAyMC0yZl0KWyAgICA1LjU2OTY4Nl0gcGNpX2J1cyAwMDAyOjIwOiBy
b290IGJ1cyByZXNvdXJjZSBbaW8gIDB4MDAwMC0weGZmZmZmXSAoYnVzIGFkZHJlc3MgWzB4
ZjIxMDAwMDAtMHhmMjFmZmZmZl0pClsgICAgNS41NzA1MThdIHBjaV9idXMgMDAwMjoyMDog
cm9vdCBidXMgcmVzb3VyY2UgW21lbSAweGYyMjAwMDAwLTB4ZjJmZmZmZmZdClsgICAgNS41
NzA4NTVdIGVoY2ktcGxhdGZvcm0gZmM4MDAwMDAudXNiOiBFSENJIEhvc3QgQ29udHJvbGxl
cgpbICAgIDUuNTcxMTI2XSBwY2lfYnVzIDAwMDI6MjA6IHJvb3QgYnVzIHJlc291cmNlIFtt
ZW0gMHg5ODAwMDAwMDAtMHg5YmZmZmZmZmYgcHJlZl0KWyAgICA1LjU3MTc4NV0gZWhjaS1w
bGF0Zm9ybSBmYzgwMDAwMC51c2I6IG5ldyBVU0IgYnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVk
IGJ1cyBudW1iZXIgMQpbICAgIDUuNTcyMjgxXSBwY2kgMDAwMjoyMDowMC4wOiBbMWQ4Nzoz
NTg4XSB0eXBlIDAxIGNsYXNzIDB4MDYwNDAwClsgICAgNS41NzMwNDddIGVoY2ktcGxhdGZv
cm0gZmM4MDAwMDAudXNiOiBpcnEgMTgsIGlvIG1lbSAweGZjODAwMDAwClsgICAgNS41NzM0
ODRdIHBjaSAwMDAyOjIwOjAwLjA6IHJlZyAweDM4OiBbbWVtIDB4MDAwMDAwMDAtMHgwMDAw
ZmZmZiBwcmVmXQpbICAgIDUuNTc4NDQ1XSBwY2kgMDAwMjoyMDowMC4wOiBzdXBwb3J0cyBE
MSBEMgpbICAgIDUuNTc4ODExXSBwY2kgMDAwMjoyMDowMC4wOiBQTUUjIHN1cHBvcnRlZCBm
cm9tIEQwIEQxIEQzaG90ClsgICAgNS41ODQxODNdIGVoY2ktcGxhdGZvcm0gZmM4MDAwMDAu
dXNiOiBVU0IgMi4wIHN0YXJ0ZWQsIEVIQ0kgMS4wMApbICAgIDUuNTg2NjQ5XSB1c2IgdXNi
MTogTmV3IFVTQiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAy
LCBiY2REZXZpY2U9IDUuMTAKWyAgICA1LjU4OTk5Nl0gdXNiIHVzYjE6IE5ldyBVU0IgZGV2
aWNlIHN0cmluZ3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xClsgICAgNS41
OTIyNDNdIHBjaSAwMDAyOjIwOjAwLjA6IEZhaWxlZCB0byBhZGQgLSBwYXNzdGhyb3VnaCBv
ciBNU0kvTVNJLVggbWlnaHQgZmFpbCEKWyAgICA1LjU5MjI3NV0gdXNiIHVzYjE6IFByb2R1
Y3Q6IEVIQ0kgSG9zdCBDb250cm9sbGVyClsgICAgNS41OTMzNTVdIHVzYiB1c2IxOiBNYW51
ZmFjdHVyZXI6IExpbnV4IDUuMTAuMTEwIGVoY2lfaGNkClsgICAgNS41OTQxMjBdIHVzYiB1
c2IxOiBTZXJpYWxOdW1iZXI6IGZjODAwMDAwLnVzYgpbICAgIDUuNTk1MTM1XSBodWIgMS0w
OjEuMDogVVNCIGh1YiBmb3VuZApbICAgIDUuNTk1NTU5XSBodWIgMS0wOjEuMDogMSBwb3J0
IGRldGVjdGVkClsgICAgNS41OTg5NjBdIGVoY2ktcGxhdGZvcm0gZmM4ODAwMDAudXNiOiBF
SENJIEhvc3QgQ29udHJvbGxlcgpbICAgIDUuNTk5NTkzXSBlaGNpLXBsYXRmb3JtIGZjODgw
MDAwLnVzYjogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciAy
ClsgICAgNS42MDA1NjhdIGVoY2ktcGxhdGZvcm0gZmM4ODAwMDAudXNiOiBpcnEgMjAsIGlv
IG1lbSAweGZjODgwMDAwClsgICAgNS42MDk2NzVdIHBjaSAwMDAyOjIwOjAwLjA6IFByaW1h
cnkgYnVzIGlzIGhhcmQgd2lyZWQgdG8gMApbICAgIDUuNjEwMTYxXSBwY2kgMDAwMjoyMDow
MC4wOiBicmlkZ2UgY29uZmlndXJhdGlvbiBpbnZhbGlkIChbYnVzIDAxLWZmXSksIHJlY29u
ZmlndXJpbmcKWyAgICA1LjYxNDE5M10gZWhjaS1wbGF0Zm9ybSBmYzg4MDAwMC51c2I6IFVT
QiAyLjAgc3RhcnRlZCwgRUhDSSAxLjAwClsgICAgNS42MTUxMjddIHVzYiB1c2IyOiBOZXcg
VVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9MWQ2YiwgaWRQcm9kdWN0PTAwMDIsIGJjZERl
dmljZT0gNS4xMApbICAgIDUuNjE2MjQxXSB1c2IgdXNiMjogTmV3IFVTQiBkZXZpY2Ugc3Ry
aW5nczogTWZyPTMsIFByb2R1Y3Q9MiwgU2VyaWFsTnVtYmVyPTEKWyAgICA1LjYxNzM4MF0g
dXNiIHVzYjI6IFByb2R1Y3Q6IEVIQ0kgSG9zdCBDb250cm9sbGVyClsgICAgNS42MTgzMzdd
IHVzYiB1c2IyOiBNYW51ZmFjdHVyZXI6IExpbnV4IDUuMTAuMTEwIGVoY2lfaGNkClsgICAg
NS42MTkzNTVdIHVzYiB1c2IyOiBTZXJpYWxOdW1iZXI6IGZjODgwMDAwLnVzYgpbICAgIDUu
NjIwNjg1XSBodWIgMi0wOjEuMDogVVNCIGh1YiBmb3VuZApbICAgIDUuNjIxNDA5XSBodWIg
Mi0wOjEuMDogMSBwb3J0IGRldGVjdGVkClsgICAgNS42MjI4MjJdIG9oY2lfaGNkOiBVU0Ig
MS4xICdPcGVuJyBIb3N0IENvbnRyb2xsZXIgKE9IQ0kpIERyaXZlcgpbICAgIDUuNjIzMTQ3
XSBwY2kgMDAwMjoyMTowMC4wOiBbMTRlNDo0NDlkXSB0eXBlIDAwIGNsYXNzIDB4MDI4MDAw
ClsgICAgNS42MjM2NjFdIG9oY2ktcGxhdGZvcm06IE9IQ0kgZ2VuZXJpYyBwbGF0Zm9ybSBk
cml2ZXIKWyAgICA1LjYyNDg2Nl0gb2hjaS1wbGF0Zm9ybSBmYzg0MDAwMC51c2I6IEdlbmVy
aWMgUGxhdGZvcm0gT0hDSSBjb250cm9sbGVyClsgICAgNS42MjU2NjldIG9oY2ktcGxhdGZv
cm0gZmM4NDAwMDAudXNiOiBuZXcgVVNCIGJ1cyByZWdpc3RlcmVkLCBhc3NpZ25lZCBidXMg
bnVtYmVyIDMKWyAgICA1LjYyNjY4MF0gb2hjaS1wbGF0Zm9ybSBmYzg0MDAwMC51c2I6IGly
cSAxOSwgaW8gbWVtIDB4ZmM4NDAwMDAKWyAgICA1LjYzNjUwOV0gcGNpIDAwMDI6MjE6MDAu
MDogcmVnIDB4MTA6IFttZW0gMHgwMDAwMDAwMC0weDAwMDBmZmZmIDY0Yml0XQpbICAgIDUu
NjQxNjkyXSBwY2kgMDAwMjoyMTowMC4wOiByZWcgMHgxODogW21lbSAweDAwMDAwMDAwLTB4
MDAzZmZmZmYgNjRiaXRdClsgICAgNS42NzM3MzVdIGF0YTE6IFNBVEEgbGluayBkb3duIChT
U3RhdHVzIDAgU0NvbnRyb2wgMzAwKQpbICAgIDUuNjg4Mjk1XSB1c2IgdXNiMzogTmV3IFVT
QiBkZXZpY2UgZm91bmQsIGlkVmVuZG9yPTFkNmIsIGlkUHJvZHVjdD0wMDAxLCBiY2REZXZp
Y2U9IDUuMTAKWyAgICA1LjY4OTE0MF0gdXNiIHVzYjM6IE5ldyBVU0IgZGV2aWNlIHN0cmlu
Z3M6IE1mcj0zLCBQcm9kdWN0PTIsIFNlcmlhbE51bWJlcj0xClsgICAgNS42OTAyNzldIHVz
YiB1c2IzOiBQcm9kdWN0OiBHZW5lcmljIFBsYXRmb3JtIE9IQ0kgY29udHJvbGxlcgpbICAg
IDUuNjkxMzE2XSB1c2IgdXNiMzogTWFudWZhY3R1cmVyOiBMaW51eCA1LjEwLjExMCBvaGNp
X2hjZApbICAgIDUuNjkyMzA0XSB1c2IgdXNiMzogU2VyaWFsTnVtYmVyOiBmYzg0MDAwMC51
c2IKWyAgICA1LjY5MzUyMl0gaHViIDMtMDoxLjA6IFVTQiBodWIgZm91bmQKWyAgICA1LjY5
NDA3N10gaHViIDMtMDoxLjA6IDEgcG9ydCBkZXRlY3RlZApbICAgIDUuNjk1MzAzXSBvaGNp
LXBsYXRmb3JtIGZjOGMwMDAwLnVzYjogR2VuZXJpYyBQbGF0Zm9ybSBPSENJIGNvbnRyb2xs
ZXIKWyAgICA1LjY5NjA4Nl0gb2hjaS1wbGF0Zm9ybSBmYzhjMDAwMC51c2I6IG5ldyBVU0Ig
YnVzIHJlZ2lzdGVyZWQsIGFzc2lnbmVkIGJ1cyBudW1iZXIgNApbICAgIDUuNjk3MTIwXSBv
aGNpLXBsYXRmb3JtIGZjOGMwMDAwLnVzYjogaXJxIDIxLCBpbyBtZW0gMHhmYzhjMDAwMApb
ICAgIDUuNjk3NTUzXSBwY2kgMDAwMjoyMTowMC4wOiBzdXBwb3J0cyBEMSBEMgpbICAgIDUu
Njk3NTU1XSBwY2kgMDAwMjoyMTowMC4wOiBQTUUjIHN1cHBvcnRlZCBmcm9tIEQwIEQxIEQy
IEQzaG90IEQzY29sZApbICAgIDUuNzM1MzU3XSBwY2kgMDAwMjoyMTowMC4wOiBGYWlsZWQg
dG8gYWRkIC0gcGFzc3Rocm91Z2ggb3IgTVNJL01TSS1YIG1pZ2h0IGZhaWwhClsgICAgNS43
NTM4NTNdIHBjaV9idXMgMDAwMjoyMTogYnVzbl9yZXM6IFtidXMgMjEtMmZdIGVuZCBpcyB1
cGRhdGVkIHRvIDIxClsgICAgNS43NTQ0MzRdIHBjaSAwMDAyOjIwOjAwLjA6IEJBUiA4OiBh
c3NpZ25lZCBbbWVtIDB4ZjIyMDAwMDAtMHhmMjdmZmZmZl0KWyAgICA1Ljc1NTAxOV0gcGNp
IDAwMDI6MjA6MDAuMDogQkFSIDY6IGFzc2lnbmVkIFttZW0gMHhmMjgwMDAwMC0weGYyODBm
ZmZmIHByZWZdClsgICAgNS43NTU2NDldIHBjaSAwMDAyOjIxOjAwLjA6IEJBUiAyOiBhc3Np
Z25lZCBbbWVtIDB4ZjI0MDAwMDAtMHhmMjdmZmZmZiA2NGJpdF0KWyAgICA1Ljc1ODI5OV0g
dXNiIHVzYjQ6IE5ldyBVU0IgZGV2aWNlIGZvdW5kLCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1
Y3Q9MDAwMSwgYmNkRGV2aWNlPSA1LjEwClsgICAgNS43NTkwNDldIHVzYiB1c2I0OiBOZXcg
VVNCIGRldmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQpb
ICAgIDUuNzYwMTg4XSB1c2IgdXNiNDogUHJvZHVjdDogR2VuZXJpYyBQbGF0Zm9ybSBPSENJ
IGNvbnRyb2xsZXIKWyAgICA1Ljc2MTIyNF0gdXNiIHVzYjQ6IE1hbnVmYWN0dXJlcjogTGlu
dXggNS4xMC4xMTAgb2hjaV9oY2QKWyAgICA1Ljc2MTcyOF0gcGNpIDAwMDI6MjE6MDAuMDog
QkFSIDA6IGFzc2lnbmVkIFttZW0gMHhmMjIwMDAwMC0weGYyMjBmZmZmIDY0Yml0XQpbICAg
IDUuNzYyMjEzXSB1c2IgdXNiNDogU2VyaWFsTnVtYmVyOiBmYzhjMDAwMC51c2IKWyAgICA1
Ljc2MzU2OF0gaHViIDQtMDoxLjA6IFVTQiBodWIgZm91bmQKWyAgICA1Ljc2NDExNF0gaHVi
IDQtMDoxLjA6IDEgcG9ydCBkZXRlY3RlZApbICAgIDUuNzY1NzE1XSBwaHkgcGh5LWZkNWQ0
MDAwLnN5c2Nvbjp1c2IyLXBoeUA0MDAwLjM6IGlsbGVnYWwgbW9kZQpbICAgIDUuNzY2NDk5
XSB4aGNpLWhjZCB4aGNpLWhjZC40LmF1dG86IHhIQ0kgSG9zdCBDb250cm9sbGVyClsgICAg
NS43Njc2ODldIHhoY2ktaGNkIHhoY2ktaGNkLjQuYXV0bzogbmV3IFVTQiBidXMgcmVnaXN0
ZXJlZCwgYXNzaWduZWQgYnVzIG51bWJlciA1ClsgICAgNS43NjgwMThdIHBjaSAwMDAyOjIw
OjAwLjA6IFBDSSBicmlkZ2UgdG8gW2J1cyAyMV0KWyAgICA1Ljc2ODYzOV0geGhjaS1oY2Qg
eGhjaS1oY2QuNC5hdXRvOiBoY2MgcGFyYW1zIDB4MDIyMGZlNjQgaGNpIHZlcnNpb24gMHgx
MTAgcXVpcmtzIDB4MDAwMDA4MDAwMjAxMDAxMApbICAgIDUuNzY5MTk1XSBwY2kgMDAwMjoy
MDowMC4wOiAgIGJyaWRnZSB3aW5kb3cgW21lbSAweGYyMjAwMDAwLTB4ZjI3ZmZmZmZdClsg
ICAgNS43Njk2NzFdIHhoY2ktaGNkIHhoY2ktaGNkLjQuYXV0bzogaXJxIDY4LCBpbyBtZW0g
MHhmYzQwMDAwMApbICAgIDUuNzcwNTU1XSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0t
LS0tLS0tLS0KWyAgICA1Ljc3MTIzN10gdXNiIHVzYjU6IE5ldyBVU0IgZGV2aWNlIGZvdW5k
LCBpZFZlbmRvcj0xZDZiLCBpZFByb2R1Y3Q9MDAwMiwgYmNkRGV2aWNlPSA1LjEwClsgICAg
NS43NzE1NTldIFdBUk5JTkc6IENQVTogNyBQSUQ6IDE0MiBhdCBpbmNsdWRlL2xpbnV4L21z
aS5oOjIxOSBfX3BjaV9lbmFibGVfbXNpX3JhbmdlKzB4MzA4LzB4NGQ4ClsgICAgNS43NzE1
NjZdIE1vZHVsZXMgbGlua2VkIGluOgpbICAgIDUuNzcxOTY2XSB1c2IgdXNiNTogTmV3IFVT
QiBkZXZpY2Ugc3RyaW5nczogTWZyPTMsIFByb2R1Y3Q9MiwgU2VyaWFsTnVtYmVyPTEKClsg
ICAgNS43NzI2OTFdIENQVTogNyBQSUQ6IDE0MiBDb21tOiBwY2llIE5vdCB0YWludGVkIDUu
MTAuMTEwICMxOTIKWyAgICA1Ljc3MzQ2Nl0gdXNiIHVzYjU6IFByb2R1Y3Q6IHhIQ0kgSG9z
dCBDb250cm9sbGVyClsgICAgNS43NzM3MzJdIEhhcmR3YXJlIG5hbWU6IFJvY2tjaGlwIFJL
MzU4OCBUT1lCUklDSyBYMTAgQm9hcmQgKERUKQpbICAgIDUuNzczNzQxXSBwc3RhdGU6IDIw
YzAwMDA1IChuekN2IGRhaWYgK1BBTiArVUFPIC1UQ08gQlRZUEU9LS0pClsgICAgNS43NzQz
OThdIHVzYiB1c2I1OiBNYW51ZmFjdHVyZXI6IExpbnV4IDUuMTAuMTEwIHhoY2ktaGNkClsg
ICAgNS43NzQ0OTddIHBjIDogX19wY2lfZW5hYmxlX21zaV9yYW5nZSsweDMwOC8weDRkOApb
ICAgIDUuNzc0NTA2XSBsciA6IF9fcGNpX2VuYWJsZV9tc2lfcmFuZ2UrMHgyOTgvMHg0ZDgK
WyAgICA1Ljc3NTA0OF0gdXNiIHVzYjU6IFNlcmlhbE51bWJlcjogeGhjaS1oY2QuNC5hdXRv
ClsgICAgNS43NzU0NzFdIHNwIDogZmZmZmZmYzAxMjkwMzliMApbICAgIDUuNzc1NDc5XSB4
Mjk6IGZmZmZmZmMwMTI5MDM5YzAgClsgICAgNS43NzYzMzJdIGh1YiA1LTA6MS4wOiBVU0Ig
aHViIGZvdW5kClsgICAgNS43NzY1MzZdIHgyODogZmZmZmZmODAwNGM0MGFkOCAKWyAgICA1
Ljc3NzA1Ml0gaHViIDUtMDoxLjA6IDEgcG9ydCBkZXRlY3RlZApbICAgIDUuNzc3NDU2XSB4
Mjc6IDAwMDAwMDAwZmZmZmZmZmYgeDI2OiBmZmZmZmY4MDA0YzQwZTYxIApbICAgIDUuNzc4
MTA2XSB4aGNpLWhjZCB4aGNpLWhjZC40LmF1dG86IHhIQ0kgSG9zdCBDb250cm9sbGVyCgpb
ICAgIDUuNzc4MzI1XSB4MjU6IDAwMDAwMDAwMDAwMDAwMDAgClsgICAgNS43Nzg3NDFdIHho
Y2ktaGNkIHhoY2ktaGNkLjQuYXV0bzogbmV3IFVTQiBidXMgcmVnaXN0ZXJlZCwgYXNzaWdu
ZWQgYnVzIG51bWJlciA2ClsgICAgNS43Nzg5MDddIHgyNDogZmZmZmZmODAwNGM0ODIwMCAK
WyAgICA1Ljc3OTI0OF0geGhjaS1oY2QgeGhjaS1oY2QuNC5hdXRvOiBIb3N0IHN1cHBvcnRz
IFVTQiAzLjAgU3VwZXJTcGVlZApbICAgIDUuNzc5NTM5XSB4MjM6IGZmZmZmZjgwMDRjNDA4
YjAgeDIyOiAwMDAwMDAwMDAwMDAwMDIwIApbICAgIDUuNzc5OTI4XSB1c2IgdXNiNjogV2Ug
ZG9uJ3Qga25vdyB0aGUgYWxnb3JpdGhtcyBmb3IgTFBNIGZvciB0aGlzIGhvc3QsIGRpc2Fi
bGluZyBMUE0uCgpbICAgIDUuNzgwMzYxXSB4MjE6IDAwMDAwMDAwMDAwMDAwMDEgClsgICAg
NS43ODA5MTddIHVzYiB1c2I2OiBOZXcgVVNCIGRldmljZSBmb3VuZCwgaWRWZW5kb3I9MWQ2
YiwgaWRQcm9kdWN0PTAwMDMsIGJjZERldmljZT0gNS4xMApbICAgIDUuNzgwOTY0XSB4MjA6
IDAwMDAwMDAwMDAwMDAwMDAgClsgICAgNS43ODEyNzFdIHVzYiB1c2I2OiBOZXcgVVNCIGRl
dmljZSBzdHJpbmdzOiBNZnI9MywgUHJvZHVjdD0yLCBTZXJpYWxOdW1iZXI9MQpbICAgIDUu
NzgxOTM0XSB4MTk6IGZmZmZmZjgwMDRjNDA4MDAgeDE4OiAwMDAwMDAwMDAwMDAwMDAwIApb
ICAgIDUuNzgyMjM3XSB1c2IgdXNiNjogUHJvZHVjdDogeEhDSSBIb3N0IENvbnRyb2xsZXIK
ClsgICAgNS43ODI4MTJdIHgxNzogMDAwMDAwMDAwMDAwMDAwMCAKWyAgICA1Ljc4MzI3M10g
dXNiIHVzYjY6IE1hbnVmYWN0dXJlcjogTGludXggNS4xMC4xMTAgeGhjaS1oY2QKWyAgICA1
Ljc4Mzk3NF0geDE2OiAwMDAwMDAwMDAwMDAwMDAxIApbICAgIDUuNzg0MTExXSB1c2IgdXNi
NjogU2VyaWFsTnVtYmVyOiB4aGNpLWhjZC40LmF1dG8KWyAgICA1Ljc4NDQwOV0geDE1OiAw
MDAwMDAwMDAwMDAwMDAwIHgxNDogMDAwMDAwMDAwMDAwMDAwMSAKWyAgICA1Ljc4NDQxMV0g
eDEzOiAwMDAwMDAwMGZmZmZmYzdlIHgxMjogMDAwMDAwMDBmZmZmZmZmZiAKWyAgICA1Ljc4
NDQxM10geDExOiAwMDAwMDAwMGZmZmZmZmZmIHgxMDogMDAwMDAwMDAwMDAwMDAwNSAKWyAg
ICA1Ljc4NDQxNV0geDkgOiAwMDAwMDAwMDAwMDAwMDAwIHg4IDogZmZmZmZmODAwNGM0MGFk
OCAKWyAgICA1Ljc4NDQyN10geDcgOiAwMDAwMDAwMDAwMDAwMDAwIApbICAgIDUuNzg1NDcw
XSBodWIgNi0wOjEuMDogVVNCIGh1YiBmb3VuZApbICAgIDUuNzg2MDY3XSB4NiA6IDAwMDAw
MDAwMDAwMDAwM2YgClsgICAgNS43ODY1NTldIGh1YiA2LTA6MS4wOiAxIHBvcnQgZGV0ZWN0
ZWQKWyAgICA1Ljc4Njk2NF0geDUgOiAwMDAwMDAwMDAwMDAwMDQwIHg0IDogZmZmZmZmYzAx
MjkwMzk1NCAKWyAgICA1Ljc4NzM4OV0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJm
YWNlIGRyaXZlciBjZGNfYWNtCgpbICAgIDUuNzg3NDEzXSB4MyA6IDAwMDAwMDAwMDAwMDAw
MDIgClsgICAgNS43ODc5MDZdIGNkY19hY206IFVTQiBBYnN0cmFjdCBDb250cm9sIE1vZGVs
IGRyaXZlciBmb3IgVVNCIG1vZGVtcyBhbmQgSVNETiBhZGFwdGVycwpbICAgIDUuNzg4MTkw
XSB4MiA6IDAwMDAwMDAwMDAwMDAwNTIgClsgICAgNS43ODg3NzhdIHVzYmNvcmU6IHJlZ2lz
dGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdWFzClsgICAgNS43ODkwODRdIHgxIDogZmZm
ZmZmYzAxMDZhOGNjOCB4MCA6IDAwMDAwMDAwMDAwMDAwMDAgClsgICAgNS43ODk2MjNdIHVz
YmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiLXN0b3JhZ2UKClsg
ICAgNS43OTAwMjRdIENhbGwgdHJhY2U6ClsgICAgNS43OTA1MzddIHVzYmNvcmU6IHJlZ2lz
dGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNic2VyaWFsX2dlbmVyaWMKWyAgICA1Ljc5
MDc4NF0gIF9fcGNpX2VuYWJsZV9tc2lfcmFuZ2UrMHgzMDgvMHg0ZDgKWyAgICA1Ljc5MTE0
N10gdXNic2VyaWFsOiBVU0IgU2VyaWFsIHN1cHBvcnQgcmVnaXN0ZXJlZCBmb3IgZ2VuZXJp
YwpbICAgIDUuNzkxNDExXSAgcGNpX2FsbG9jX2lycV92ZWN0b3JzX2FmZmluaXR5KzB4YmMv
MHgxMzQKWyAgICA1Ljc5MTQyM10gIHBjaWVfcG9ydF9kZXZpY2VfcmVnaXN0ZXIrMHgxNTAv
MHg0MDQKWyAgICA1Ljc5MTc4Nl0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNl
IGRyaXZlciBjcDIxMHgKWyAgICA1Ljc5MjIyMl0gIHBjaWVfcG9ydGRydl9wcm9iZSsweDQ0
LzB4YjgKWyAgICA1Ljc5MjIzMl0gIHBjaV9kZXZpY2VfcHJvYmUrMHhlMC8weDE1OApbICAg
IDUuNzkyNzMwXSB1c2JzZXJpYWw6IFVTQiBTZXJpYWwgc3VwcG9ydCByZWdpc3RlcmVkIGZv
ciBjcDIxMHgKWyAgICA1Ljc5Mjg1NV0gIHJlYWxseV9wcm9iZSsweDI3NC8weDcyNApbICAg
IDUuNzkyODYxXSAgZHJpdmVyX3Byb2JlX2RldmljZSsweGVjLzB4MTY0ClsgICAgNS43OTMx
OTddIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgZnRkaV9zaW8K
WyAgICA1Ljc5Mzg1MV0gIF9fZGV2aWNlX2F0dGFjaF9kcml2ZXIrMHgxMjQvMHgxYmMKWyAg
ICA1Ljc5Mzg2MF0gIGJ1c19mb3JfZWFjaF9kcnYrMHg4Yy8weGQ4ClsgICAgNS43OTQxNzdd
IHVzYnNlcmlhbDogVVNCIFNlcmlhbCBzdXBwb3J0IHJlZ2lzdGVyZWQgZm9yIEZUREkgVVNC
IFNlcmlhbCBEZXZpY2UKWyAgICA1Ljc5NDYxNV0gIF9fZGV2aWNlX2F0dGFjaCsweDExOC8w
eDFiMApbICAgIDUuNzk0NjI1XSAgZGV2aWNlX2F0dGFjaCsweDIwLzB4MmMKWyAgICA1Ljc5
NTE5Ml0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciBrZXlzcGFu
ClsgICAgNS43OTU2MDddICBwY2lfYnVzX2FkZF9kZXZpY2UrMHg1Yy8weGE4ClsgICAgNS43
OTU2MTZdICBwY2lfYnVzX2FkZF9kZXZpY2VzKzB4NGMvMHg4YwpbICAgIDUuNzk1NzU1XSB1
c2JzZXJpYWw6IFVTQiBTZXJpYWwgc3VwcG9ydCByZWdpc3RlcmVkIGZvciBLZXlzcGFuIC0g
KHdpdGhvdXQgZmlybXdhcmUpClsgICAgNS43OTU5NTldICBwY2lfaG9zdF9wcm9iZSsweDgw
LzB4YjQKWyAgICA1Ljc5NTk2N10gIGR3X3BjaWVfaG9zdF9pbml0KzB4MzEwLzB4M2ZjClsg
ICAgNS43OTY1NDFdIHVzYnNlcmlhbDogVVNCIFNlcmlhbCBzdXBwb3J0IHJlZ2lzdGVyZWQg
Zm9yIEtleXNwYW4gMSBwb3J0IGFkYXB0ZXIKWyAgICA1Ljc5NjkyNl0gIHBjaWVfcmVhbGx5
X3Byb2JlKzB4OTU4LzB4ZTA0ClsgICAgNS43OTY5MzVdICBrdGhyZWFkKzB4MTIwLzB4MjU4
ClsgICAgNS43OTc0NjRdIHVzYnNlcmlhbDogVVNCIFNlcmlhbCBzdXBwb3J0IHJlZ2lzdGVy
ZWQgZm9yIEtleXNwYW4gMiBwb3J0IGFkYXB0ZXIKWyAgICA1Ljc5NzkwMl0gIHJldF9mcm9t
X2ZvcmsrMHgxMC8weDMwClsgICAgNS43OTc5MDNdIAogICAgICAgICAgICAgICBQQzogMHhm
ZmZmZmZjMDEwNmE4ZDM4OgpbICAgIDUuNzk3OTA0XSA4YjM4ICBhYTEzMDNlMCA5N2ZmM2Iw
YSA3OTQwMGJlOCA1MjgwMDAzYiA1MzAxMGQwOCAxYWM4MjM2OCA2YjE1MDExZiA1NDAwMDA2
YQpbICAgIDUuNzk4MzQ5XSB1c2JzZXJpYWw6IFVTQiBTZXJpYWwgc3VwcG9ydCByZWdpc3Rl
cmVkIGZvciBLZXlzcGFuIDQgcG9ydCBhZGFwdGVyCgpbICAgIDUuNzk4ODI3XSA4YjU4IApb
ICAgIDUuNzk5MjAyXSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVy
IG9wdGlvbgpbICAgIDUuNzk5NTE1XSAgMTI4MDAzNzYgMTdmZmZmZGUKWyAgICA1LjgwMDA0
OF0gdXNic2VyaWFsOiBVU0IgU2VyaWFsIHN1cHBvcnQgcmVnaXN0ZXJlZCBmb3IgR1NNIG1v
ZGVtICgxLXBvcnQpClsgICAgNS44MDAzNTVdICA2YjE4MDExZiA5MTAyYzI3NwpbICAgIDUu
ODAwODk2XSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIG90aTY4
NTgKWyAgICA1LjgwMTIyNV0gIDkxMGI2MjdjIDFhODhjMzE5ClsgICAgNS44MDE2NDFdIHVz
YnNlcmlhbDogVVNCIFNlcmlhbCBzdXBwb3J0IHJlZ2lzdGVyZWQgZm9yIG90aTY4NTgKWyAg
ICA1LjgwMTk2M10gIGI0MDAwMTM0IDJhMTUwM2UwClsgICAgNS44MDI2MzBdIHVzYmNvcmU6
IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgcGwyMzAzCgpbICAgIDUuODAyOTU1
XSA4Yjc4IApbICAgIDUuODAzMjc1XSB1c2JzZXJpYWw6IFVTQiBTZXJpYWwgc3VwcG9ydCBy
ZWdpc3RlcmVkIGZvciBwbDIzMDMKWyAgICA1LjgwMzc1Nl0gIDJhMTkwM2UxIGFhMTQwM2Uy
ClsgICAgNS44MDQxNDNdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2
ZXIgcWNzZXJpYWwKWyAgICA1LjgwNDQ2OF0gIDk3ZThlMzc1IDJhMDAwM2Y2IDZiMTUwMDFm
IDU0MDAwMDZhIDE3ZmZmZmYyIDJhMTkwM2Y2ClsgICAgNS44MDQ0NzJdIDhiOTggIDM5NDEy
ZTY4IDkxMDAxM2UyIGFhMTMwM2UwIDExMDAwOTAxIDk3ZmYzYWVmIDc5NDAwYmU4IGFhMTMw
M2UwIDEyMWY3OTAyClsgICAgNS44MDQ0NzhdIDhiYjggIDc5MDAwYmUyIDM5NDEyZTY4IDEx
MDAwOTAxIDk3ZmYzYjcwIGI0MDAwMGQ0IDJhMTYwM2UwIGFhMTQwM2UxIDk3ZThlMjc1Clsg
ICAgNS44MDQ0ODRdIDhiZDggIGFhMDAwM2Y5IDE0MDAwMDAyIGFhMWYwM2Y5IGFhMTcwM2Uw
IDJhMTYwM2UxIGFhMTkwM2UyIDk3ZThkZDFiIGI0MDAxMTYwClsgICAgNS44MDQ0ODldIDhi
ZjggIDM5NDEyZTY4IGFhMDAwM2Y4IDkxMDAxM2UyIGFhMTMwM2UwIDExMDAwOTAxIDk3ZmYz
YWQ2IDM5NTk5ZTY5IDc5NDAwYmU4ClsgICAgNS44MDQ0OTVdIDhjMTggIDM2MjAwMDY5IDMy
MTgwMTA4IDc5MDAwYmU4IDc5NDBhYjA5IDEyODA3MDJkIDUzMDc3ZDBhIDUzMDE3ZDBiClsg
ICAgNS44MDUxOTVdIHVzYnNlcmlhbDogVVNCIFNlcmlhbCBzdXBwb3J0IHJlZ2lzdGVyZWQg
Zm9yIFF1YWxjb21tIFVTQiBtb2RlbQpbICAgIDUuODA1NDk5XSAgMGEwZDAxMjkKWyAgICA1
LjgwNTkwNl0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciBzaWVy
cmEKWyAgICA1LjgwNjQ5N10gOGMzOCAgMzMxODAxNDkKWyAgICA1LjgwNjg5NV0gdXNic2Vy
aWFsOiBVU0IgU2VyaWFsIHN1cHBvcnQgcmVnaXN0ZXJlZCBmb3IgU2llcnJhIFVTQiBtb2Rl
bQpbICAgIDUuODA3MTY1XSAgMTIxOTAxNmEgMmEwYTAxMjkKWyAgICA1LjgwODQ0OV0gdXNi
Y29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1c2J0b3VjaHNjcmVlbgpb
ICAgIDUuODA4NTYwXSAgOTM0MDdlY2EgZjEwMDA1NGEKWyAgICA1LjgxMTU4OF0gIGRhYzAx
MTRhIGNiMGEwM2VhClsgICAgNS44MTIyODRdIGkyYyAvZGV2IGVudHJpZXMgZHJpdmVyClsg
ICAgNS44MTIzNTZdICA1MzFkNzEwYwpbICAgIDUuODE2NjEyXSB2ZGRfY3B1X2JpZzBfczA6
IHN1cHBsaWVkIGJ5IHZjYzV2MF9zeXMKWyAgICA1LjgxNjc2Ml0gOGM1OCAgOWFjYTIzNmEg
NzkwMGFmMWYgMTIxYzA5OGMgOWE5ZjE1NGEgNzkwMGFiMDkgMTIxOTY1MjkgZGFjMDExNGEg
MmEwYzAxMjkKWyAgICA1LjgyNTYzOF0gOGM3OCAgYjk0MzllNmMgNTMxZjA5NGEgMmEwOTAx
NDkgNTIxZjA5MjkgYjkwMDViMGMgNzkwMGFiMDkgMzk0MTJlNjkgNzIxOTAxMWYKWyAgICA1
LjgyNjM0OV0gOGM5OCAgNTI4MDAyMDggNTI4MDAxOGEgMWE4ODAxNDggMGIwODAxMjggMzkw
MTgzMDggMzYzODAwYWIgMTIwMDFkMDEgOTEwMTQzMDIKWyAgICA1LjgyNjc3N10gdmRkX2Nw
dV9iaWcxX3MwOiBzdXBwbGllZCBieSB2Y2M1djBfc3lzClsgICAgNS44MjcwNjJdIDhjYjgg
IGFhMTMwM2UwIDk3ZmYzYWZhIGFhMTkwM2UwIDk3ZWRiZGU3IDc5NDBhYjA4IGIwMDBjNmU5
IGI5NDQwOTI5IDEyODAwMDBjClsgICAgNS44MjgyMDRdIDhjZDggIDUzMDQxOTBhIDFhY2Ey
MzZiIDFhY2IyMThiIDcxMDAxMTVmIDJhMWYwM2Y5IDVhOGI4MTliIDM1MDAwMTI5IDM2Mzgw
MTA4ClsgICAgNS44Mjg5MTddIDhjZjggIGI5NDA1MzA4IGY5NDAwZjA5IDM5NDE4MzAxIDJh
MWIwMTE5IGQxMDJjMTIwIDJhMTkwM2UyIDk3ZmYzYjU0IGI5MDA1MzE5ClsgICAgNS44Mjk2
MjldIDhkMTggIGY5NDE3MjY4IGY5MDE3Mjc4IGE5MDAyMzFjIGY5MDAwMTE4IGY5NDE2NjYw
IGI0MDAwMDYwIDM5NDBhMDA4IDM3MDAwMDg4ClsgICAgNS44MzAzNDJdIDhkMzgqIGQ0MjEw
MDAwIDEyODAwMjU5IDE0MDAwMDA2IGFhMTcwM2UxIDJhMTYwM2UyIDk3ZThkZjA5IDJhMDAw
M2Y5IDM0MDAwMWMwClsgICAgNS44MzEwNTRdIDhkNTggIGIwMDBjNmU4IGI5NDQwOTA4IDM1
MDAwNDA4IDM5NDE1MzA4IDM2MzgwM2M4IGI5NDA1MzA4IGY5NDAwZjA5IDM5NDE4MzAxClsg
ICAgNS44MzE3NjddIDhkNzggIDBhM2IwMTE2IGQxMDJjMTIwIDJhMTYwM2UyIDk3ZmYzYjM3
IDE0MDAwMDE3IGY5NDAwMzg4IGViMWMwMTFmIDU0MDAwMTgwClsgICAgNS44MzI0NzldIDhk
OTggIDM5NDAxMzRhIGI5NDAwMzQ5IGIzNjA3ZDQ5IDE0MDAwMDA0IGY5NDAwMTA4IGViMWMw
MTFmIDU0MDAwMGEwIDM2M2ZmZmE5ClsgICAgNS44MzMxOTJdIDhkYjggIGI5NDAyNTBhIDM0
ZmZmZjZhIDE0MDAwMDM3IGFhMTMwM2UwIDk0MDAwM2EzIDM0MDAwMzYwIGIwMDBjNmU4IGI5
NDQwOTA4ClsgICAgNS44MzM5MDRdIDhkZDggIDJhMDAwM2Y5IDM0ZmZmYzQ4IDJhMWYwM2Y2
IGFhMTMwM2UwIGI5MDA1MzE2IDk3ZmZmZTE1IDUyODAwMDNiIDM3ZjgwMWY5ClsgICAgNS44
MzQ2MTddIDhkZjggIDZiMTUwMzNmIDEyODAwMzc2IDU0ZmZlYjhhIDE3ZmZmZjM0IGYwMDA5
NzAxIDkxMDJjMjYwClsgICAgNS44MzQ2MjVdIGh1c2IzMTEgMi0wMDRlOiBmYWlsIHRvIHJl
YWQgVmVuZG9yIGlkKC02KQpbICAgIDUuODM0NjI5XSBodXNiMzExIDItMDA0ZTogY2hlY2sg
dmlkL3BpZCBmYWlsKC02KQpbICAgIDUuODM1MTk1XSAgOTEyNmIwMjEgOTQzNTMzOTUKWyAg
ICA1LjgzNjMzNl0gOGUxOCAgMTI4MDAyYjYgMTdmZmZmMmUgYWExOTAzZTAgOTdlZGJkOGYg
MTI4MDAxNzYgMTdmZmZmMmEgMmExOTAzZjYgMTdmZmZmMjgKWyAgICA1LjgzNjgwN10gcnRj
LWh5bTg1NjMgMi0wMDUxOiBydGMgaW5mb3JtYXRpb24gaXMgdmFsaWQKWyAgICA1LjgzNzA0
OV0gOGUzOCAgMzk1OTlhNjggMzcwMDAwODggYWExMzAzZTAgMmExZjAzZTEgOTdmZjZjYmMg
Mzk0MTJlNjggOTEwMDEzZTIgYWExMzAzZTAKWyAgICA1LjgzODIyOV0gOGU1OCAgMTEwMDA5
MDEgOTdmZjNhNDIgNzk0MDBiZTggYWExMzAzZTAgMzIwMDAxMDIgNzkwMDBiZTIgMzk0MTJl
NjggMTEwMDA5MDEKWyAgICA1LjgzODk0Ml0gOGU3OCAgOTdmZjNhYzMgYjk0MDAzNDggYWEx
MzAzZTAgMzIxNDAxMDggYjkwMDAzNDggOTdmZjdjYWEgYjk0MDEzMDggYjkwMzllNjgKWyAg
ICA1LjgzOTM4OF0gcnRjLWh5bTg1NjMgMi0wMDUxOiByZWdpc3RlcmVkIGFzIHJ0YzAKWyAg
ICA1LjgzOTY1NF0gOGU5OCAgMTdmZmZmMGYgOTAwMDhlNjEgOTEyYzMwMjEgYWExNzAzZTAg
OTQzNTM0YTkgYjAwMGM2ZTggYjk0NDA5MDggMzUwMDAwNjgKWyAgICA1Ljg0MDc5MV0gOGVi
OCAgMzk0MTUzMDggMzczODAwZTggMmExZjAzZjQgYWExMzAzZTAgYjkwMDUzMTQgOTdmZmZk
ZGQgMTI4MDAwOTYgMTdmZmZmMDAKWyAgICA1Ljg0MTUwM10gOGVkOCAgYjk0MDUzMDggZjk0
MDBmMDkgMzk0MTgzMDEgMGEzYjAxMTQgZDEwMmMxMjAgMmExNDAzZTIgOTdmZjNhZGMgMTdm
ZmZmZjQKWyAgICA1Ljg0MjIxNl0gOGVmOCAgZDQyMTAwMDAgMTI4MDAyYjYgMTdmZmZlZjUg
OTQzNTNiYWEgZDUwMzI0NWYgYWExZTAzZTkgZDUwMzIwMWYgZDUwMzIzM2YKWyAgICA1Ljg0
MjkyOF0gOGYxOCAgYTliZjdiZmQgOTEwMDAzZmQgYWExZjAzZTQgMmExZjAzZTUgOTQwMDAw
MDQgYThjMTdiZmQgZDUwMzIzYmYgZDY1ZjAzYzAKWyAgICA1Ljg0MzY0MV0gCiAgICAgICAg
ICAgICAgIExSOiAweGZmZmZmZmMwMTA2YThjYzg6ClsgICAgNS44NDQwODNdIDhhYzggIGI5
NDA4MjY5IDM0MDAwMjI5IDEyODAwMmI2IGIwMDA5Nzg5IGY5NDAwN2U4IGY5NDYyOTI5IGVi
MDgwMTNmIDU0MDAyMTAxClsgICAgNS44NDQ3OTVdIDhhZTggIDJhMTYwM2UwIGE5NDY0ZmY0
IGE5NDU1N2Y2IGE5NDQ1ZmY4IGE5NDM2N2ZhIGE5NDI2ZmZjIGE5NDE3YmZkIDkxMDFjM2Zm
ClsgICAgNS44NDU1MDhdIDhiMDggIGQ1MDMyM2JmIGQ2NWYwM2MwIDM3NjgxN2M4IDZiMTUw
MzFmIDU0MDAwMDZhIDEyODAwNDM2IDE3ZmZmZmVkIDM3NjAxZWE4ClsgICAgNS44NDYyMjFd
IDhiMjggIDM5NDEyZTY4IDM0ZmZmZDI4IDExMDAwOTAxIDkxMDAxM2UyIGFhMTMwM2UwIDk3
ZmYzYjBhIDc5NDAwYmU4IDUyODAwMDNiClsgICAgNS44NDY5MzNdIDhiNDggIDUzMDEwZDA4
IDFhYzgyMzY4IDZiMTUwMTFmIDU0MDAwMDZhIDEyODAwMzc2IDE3ZmZmZmRlIDZiMTgwMTFm
IDkxMDJjMjc3ClsgICAgNS44NDc2NDZdIDhiNjggIDkxMGI2MjdjIDFhODhjMzE5IGI0MDAw
MTM0IDJhMTUwM2UwIDJhMTkwM2UxIGFhMTQwM2UyIDk3ZThlMzc1IDJhMDAwM2Y2ClsgICAg
NS44NDgzNThdIDhiODggIDZiMTUwMDFmIDU0MDAwMDZhIDE3ZmZmZmYyIDJhMTkwM2Y2IDM5
NDEyZTY4IDkxMDAxM2UyIGFhMTMwM2UwIDExMDAwOTAxClsgICAgNS44NDkwNzFdIDhiYTgg
IDk3ZmYzYWVmIDc5NDAwYmU4IGFhMTMwM2UwIDEyMWY3OTAyIDc5MDAwYmUyIDM5NDEyZTY4
IDExMDAwOTAxIDk3ZmYzYjcwClsgICAgNS44NDk3ODNdIDhiYzggIGI0MDAwMGQ0IDJhMTYw
M2UwIGFhMTQwM2UxIDk3ZThlMjc1IGFhMDAwM2Y5IDE0MDAwMDAyIGFhMWYwM2Y5IGFhMTcw
M2UwClsgICAgNS44NTA0OTZdIDhiZTggIDJhMTYwM2UxIGFhMTkwM2UyIDk3ZThkZDFiIGI0
MDAxMTYwIDM5NDEyZTY4IGFhMDAwM2Y4IDkxMDAxM2UyIGFhMTMwM2UwClsgICAgNS44NTEy
MDhdIDhjMDggIDExMDAwOTAxIDk3ZmYzYWQ2IDM5NTk5ZTY5IDc5NDAwYmU4IDM2MjAwMDY5
IDMyMTgwMTA4IDc5MDAwYmU4IDc5NDBhYjA5ClsgICAgNS44NTE5MjFdIDhjMjggIDEyODA3
MDJkIDUzMDc3ZDBhIDUzMDE3ZDBiIDBhMGQwMTI5IDMzMTgwMTQ5IDEyMTkwMTZhIDJhMGEw
MTI5IDkzNDA3ZWNhClsgICAgNS44NTI2MzNdIDhjNDggIGYxMDAwNTRhIGRhYzAxMTRhIGNi
MGEwM2VhIDUzMWQ3MTBjIDlhY2EyMzZhIDc5MDBhZjFmIDEyMWMwOThjIDlhOWYxNTRhClsg
ICAgNS44NTMzNDZdIDhjNjggIDc5MDBhYjA5IDEyMTk2NTI5IGRhYzAxMTRhIDJhMGMwMTI5
IGI5NDM5ZTZjIDUzMWYwOTRhIDJhMDkwMTQ5IDUyMWYwOTI5ClsgICAgNS44NTQwNThdIDhj
ODggIGI5MDA1YjBjIDc5MDBhYjA5IDM5NDEyZTY5IDcyMTkwMTFmIDUyODAwMjA4IDUyODAw
MThhIDFhODgwMTQ4IDBiMDgwMTI4ClsgICAgNS44NTQ3NzFdIDhjYTggIDM5MDE4MzA4IDM2
MzgwMGFiIDEyMDAxZDAxIDkxMDE0MzAyIGFhMTMwM2UwIDk3ZmYzYWZhIGFhMTkwM2UwIDk3
ZWRiZGU3ClsgICAgNS44NTU0ODNdIDhjYzgqIDc5NDBhYjA4IGIwMDBjNmU5IGI5NDQwOTI5
IDEyODAwMDBjIDUzMDQxOTBhIDFhY2EyMzZiIDFhY2IyMThiIDcxMDAxMTVmClsgICAgNS44
NTYxOTVdIDhjZTggIDJhMWYwM2Y5IDVhOGI4MTliIDM1MDAwMTI5IDM2MzgwMTA4IGI5NDA1
MzA4IGY5NDAwZjA5IDM5NDE4MzAxIDJhMWIwMTE5ClsgICAgNS44NTY5MDhdIDhkMDggIGQx
MDJjMTIwIDJhMTkwM2UyIDk3ZmYzYjU0IGI5MDA1MzE5IGY5NDE3MjY4IGY5MDE3Mjc4IGE5
MDAyMzFjIGY5MDAwMTE4ClsgICAgNS44NTc2MjFdIDhkMjggIGY5NDE2NjYwIGI0MDAwMDYw
IDM5NDBhMDA4IDM3MDAwMDg4IGQ0MjEwMDAwIDEyODAwMjU5IDE0MDAwMDA2IGFhMTcwM2Ux
ClsgICAgNS44NTgzMzNdIDhkNDggIDJhMTYwM2UyIDk3ZThkZjA5IDJhMDAwM2Y5IDM0MDAw
MWMwIGIwMDBjNmU4IGI5NDQwOTA4IDM1MDAwNDA4IDM5NDE1MzA4ClsgICAgNS44NTkwNDZd
IDhkNjggIDM2MzgwM2M4IGI5NDA1MzA4IGY5NDAwZjA5IDM5NDE4MzAxIDBhM2IwMTE2IGQx
MDJjMTIwIDJhMTYwM2UyIDk3ZmYzYjM3ClsgICAgNS44NTk3NThdIDhkODggIDE0MDAwMDE3
IGY5NDAwMzg4IGViMWMwMTFmIDU0MDAwMTgwIDM5NDAxMzRhIGI5NDAwMzQ5IGIzNjA3ZDQ5
IDE0MDAwMDA0ClsgICAgNS44NjA0NzFdIDhkYTggIGY5NDAwMTA4IGViMWMwMTFmIDU0MDAw
MGEwIDM2M2ZmZmE5IGI5NDAyNTBhIDM0ZmZmZjZhIDE0MDAwMDM3IGFhMTMwM2UwClsgICAg
NS44NjExODNdIDhkYzggIDk0MDAwM2EzIDM0MDAwMzYwIGIwMDBjNmU4IGI5NDQwOTA4IDJh
MDAwM2Y5IDM0ZmZmYzQ4IDJhMWYwM2Y2IGFhMTMwM2UwClsgICAgNS44NjE4OTZdIDhkZTgg
IGI5MDA1MzE2IDk3ZmZmZTE1IDUyODAwMDNiIDM3ZjgwMWY5IDZiMTUwMzNmIDEyODAwMzc2
IDU0ZmZlYjhhIDE3ZmZmZjM0ClsgICAgNS44NjI2MDhdIDhlMDggIGYwMDA5NzAxIDkxMDJj
MjYwIDkxMjZiMDIxIDk0MzUzMzk1IDEyODAwMmI2IDE3ZmZmZjJlIGFhMTkwM2UwIDk3ZWRi
ZDhmClsgICAgNS44NjMzMjFdIDhlMjggIDEyODAwMTc2IDE3ZmZmZjJhIDJhMTkwM2Y2IDE3
ZmZmZjI4IDM5NTk5YTY4IDM3MDAwMDg4IGFhMTMwM2UwIDJhMWYwM2UxClsgICAgNS44NjQw
MzNdIDhlNDggIDk3ZmY2Y2JjIDM5NDEyZTY4IDkxMDAxM2UyIGFhMTMwM2UwIDExMDAwOTAx
IDk3ZmYzYTQyIDc5NDAwYmU4IGFhMTMwM2UwClsgICAgNS44NjQ3NDZdIDhlNjggIDMyMDAw
MTAyIDc5MDAwYmUyIDM5NDEyZTY4IDExMDAwOTAxIDk3ZmYzYWMzIGI5NDAwMzQ4IGFhMTMw
M2UwIDMyMTQwMTA4ClsgICAgNS44NjU0NThdIDhlODggIGI5MDAwMzQ4IDk3ZmY3Y2FhIGI5
NDAxMzA4IGI5MDM5ZTY4IDE3ZmZmZjBmIDkwMDA4ZTYxIDkxMmMzMDIxIGFhMTcwM2UwClsg
ICAgNS44NjYxNzBdIDhlYTggIDk0MzUzNGE5IGIwMDBjNmU4IGI5NDQwOTA4IDM1MDAwMDY4
IDM5NDE1MzA4IDM3MzgwMGU4IDJhMWYwM2Y0IGFhMTMwM2UwClsgICAgNS44NjY4ODNdIAog
ICAgICAgICAgICAgICBTUDogMHhmZmZmZmZjMDEyOTAzOWIwOgpbICAgIDUuODY3MzI1XSAz
N2IwICAxMjkwMzg2MCBmZmZmZmZjMCA0MGYyMGIwMCBkOGMyMDllMCAxMjkwMzdlMCBmZmZm
ZmZjMCAxMDAzYjdjMCBmZmZmZmZjMApbICAgIDUuODY4MDM4XSAzN2QwICBmMjAwMDgwMCAw
MDAwMDAwMCAwNGNlNDAwMCBmZmZmZmY4MCAxMjkwMzgyMCBmZmZmZmZjMCAxMTNmNmQ5OCBm
ZmZmZmZjMApbICAgIDUuODY4NzUxXSAzN2YwICAwNGM0ODIwMCBmZmZmZmY4MCAyMGMwMDAw
NSAwMDAwMDAwMCAxMDZhOGQzOCBmZmZmZmZjMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUu
ODY5NDYzXSAzODEwICAxMjkwMzg2MCBmZmZmZmZjMCBmMjAwMDgwMCAwMDAwMDAwMCAxMjkw
Mzg1MCBmZmZmZmZjMCAxMTNmNmE2NCBmZmZmZmZjMApbICAgIDUuODcwMTc2XSAzODMwICAx
MjkwMzliMCBmZmZmZmZjMCAwNGNlNDE0MCBmZmZmZmY4MCBmZmZmZmZmZiAwMDAwMDA3ZiAw
NGM0MDgwMCBmZmZmZmY4MApbICAgIDUuODcwODg4XSAzODUwICAxMjkwMzk5MCBmZmZmZmZj
MCAxMDAxMjQwOCBmZmZmZmZjMCAwMDAwMDAwMCAwMDAwMDAwMCAxMDZhOGNjOCBmZmZmZmZj
MApbICAgIDUuODcxNjAwXSAzODcwICAwMDAwMDA1MiAwMDAwMDAwMCAwMDAwMDAwMiAwMDAw
MDAwMCAxMjkwMzk1NCBmZmZmZmZjMCAwMDAwMDA0MCAwMDAwMDAwMApbICAgIDUuODcyMzEz
XSAzODkwICAwMDAwMDAzZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwNGM0MGFkOCBm
ZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUuODczMDI1XSAzOGIwICAwMDAwMDAw
NSAwMDAwMDAwMCBmZmZmZmZmZiAwMDAwMDAwMCBmZmZmZmZmZiAwMDAwMDAwMCBmZmZmZmM3
ZSAwMDAwMDAwMApbICAgIDUuODczNzM4XSAzOGQwICAwMDAwMDAwMSAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAg
IDUuODc0NDUxXSAzOGYwICAwMDAwMDAwMCAwMDAwMDAwMCAwNGM0MDgwMCBmZmZmZmY4MCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSAwMDAwMDAwMApbICAgIDUuODc1MTYzXSAzOTEw
ICAwMDAwMDAyMCAwMDAwMDAwMCAwNGM0MDhiMCBmZmZmZmY4MCAwNGM0ODIwMCBmZmZmZmY4
MCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUuODc1ODc2XSAzOTMwICAwNGM0MGU2MSBmZmZm
ZmY4MCBmZmZmZmZmZiAwMDAwMDAwMCAwNGM0MGFkOCBmZmZmZmY4MCAxMjkwMzljMCBmZmZm
ZmZjMApbICAgIDUuODc2NTg4XSAzOTUwICAxMDZhOGNjOCBmZmZmZmZjMCAxMjkwMzliMCBm
ZmZmZmZjMCAxMDZhOGQzOCBmZmZmZmZjMCAyMGMwMDAwNSAwMDAwMDAwMApbICAgIDUuODc3
MzAxXSAzOTcwICAwNGM0MGU2MSBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZm
ZiBmZmZmZmZmZiAwNGM0MDhiMCBmZmZmZmY4MApbICAgIDUuODc4MDEzXSAzOTkwICAxMjkw
MzljMCBmZmZmZmZjMCAxMDZhOGQzOCBmZmZmZmZjMCAwMDAwMDAwMCAwMDAwMDAwMCAwNGM0
MDgwMCBmZmZmZmY4MApbICAgIDUuODc4NzI2XSAzOWIwKiAwMDAwYzA3ZiAwMDAyMDA4YSA0
MGYyMGIwMCBkOGMyMDllMCAxMjkwM2E2MCBmZmZmZmZjMCAxMDZhOTY0YyBmZmZmZmZjMApb
ICAgIDUuODc5NDM4XSAzOWQwICAwMDAwMDAwMCAwMDAwMDAwMCAwMmQ2NmMwMCBmZmZmZmY4
MCAwNDA1MGYxMCBmZmZmZmY4MCAwNDA1MGYxMCBmZmZmZmY4MApbICAgIDUuODgwMTUxXSAz
OWYwICBmZmZmZmZmNCAwMDAwMDAwMCAwMDAwMDAyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMSAwMDAwMDAwMApbICAgIDUuODgwODYzXSAzYTEwICAwMDAwMDAwNiAw
MDAwMDAwMCAwNGM0MDgwMCBmZmZmZmY4MCAxMjkwM2E2MCBmZmZmZmZjMCAwMDAwMDAwMCAw
MDAwMDAwMApbICAgIDUuODgxNTc1XSAzYTMwICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUu
ODgyMjg4XSAzYTUwICAwMDAwMDAwMCAwMDAwMDAwMCA0MGYyMGIwMCBkOGMyMDllMCAxMjkw
M2FkMCBmZmZmZmZjMCAxMDY5MzU2NCBmZmZmZmZjMApbICAgIDUuODgzMDAxXSAzYTcwICAw
MDAwMDAxMSAwMDAwMDAwMCAwNGM0MGU2MSBmZmZmZmY4MCAxMTRjMmM2OCBmZmZmZmZjMCAx
MWY4NTAwMCBmZmZmZmZjMApbICAgIDUuODgzNzEzXSAzYTkwICAwNDA1MGMwMCBmZmZmZmY4
MCAwNGM0MDgwMCBmZmZmZmY4MCAwMDAwMDAwMSAwMDAwMDAwMCAxMDY3NWViOCBmZmZmZmZj
MApbICAgIDUuODg0NDI2XSAzYWIwICBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZm
ZmZmZiBmZmZmZmZmZiBmZmZmZmZjMCA0MGYyMGIwMCBkOGMyMDllMApbICAgIDUuODg1MTM4
XSAzYWQwICAxMjkwM2IzMCBmZmZmZmZjMCAxMDY5M2RkMCBmZmZmZmZjMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMmQ2NmMwMCBmZmZmZmY4MApbICAgIDUuODg1ODUxXSAzYWYwICAwNDA1MGYx
MCBmZmZmZmY4MCAwNDA1MGYxMCBmZmZmZmY4MCAxMWRhODhkMCBmZmZmZmZjMCAwNGM0MGU2
MSBmZmZmZmY4MApbICAgIDUuODg2NTYzXSAzYjEwICAxMTRjMmM2OCBmZmZmZmZjMCAwNGM0
MDhiMCBmZmZmZmY4MCAxMWRhODg3MCBmZmZmZmZjMCAwNGM0MDgwMCBmZmZmZmY4MApbICAg
IDUuODg3Mjc1XSAzYjMwICAxMjkwM2I1MCBmZmZmZmZjMCAxMDY4ODYzOCBmZmZmZmZjMCAx
MWRhODg3MCBmZmZmZmZjMCAwNGM0MDgwMCBmZmZmZmY4MApbICAgIDUuODg3OTg5XSAzYjUw
ICAxMjkwM2I5MCBmZmZmZmZjMCAxMDk5ZTlmMCBmZmZmZmZjMCAwNDA1MDQ4MCBmZmZmZmY4
MCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUuODg4NzAxXSAzYjcwICAxMWY5MjAwMCBmZmZm
ZmZjMCAwMDAwMDAwMCAwMDAwMDAwMCAxMWRhODhkMCBmZmZmZmZjMCAwNGM0MDhiMCBmZmZm
ZmY4MApbICAgIDUuODg5NDEzXSAzYjkwICAxMjkwM2JkMCBmZmZmZmZjMCAxMDk5ZTcwNCBm
ZmZmZmZjMCAwNDA1MDQ4MCBmZmZmZmY4MCAwNDA1MDRhMCBmZmZmZmY4MApbICAgIDUuODkw
MTI2XSAKICAgICAgICAgICAgICAgWDE6IDB4ZmZmZmZmYzAxMDZhOGNjODoKWyAgICA1Ljg5
MDU2OF0gOGFjOCAgYjk0MDgyNjkgMzQwMDAyMjkgMTI4MDAyYjYgYjAwMDk3ODkgZjk0MDA3
ZTggZjk0NjI5MjkgZWIwODAxM2YgNTQwMDIxMDEKWyAgICA1Ljg5MTI4MV0gOGFlOCAgMmEx
NjAzZTAgYTk0NjRmZjQgYTk0NTU3ZjYgYTk0NDVmZjggYTk0MzY3ZmEgYTk0MjZmZmMgYTk0
MTdiZmQgOTEwMWMzZmYKWyAgICA1Ljg5MTk5M10gOGIwOCAgZDUwMzIzYmYgZDY1ZjAzYzAg
Mzc2ODE3YzggNmIxNTAzMWYgNTQwMDAwNmEgMTI4MDA0MzYgMTdmZmZmZWQgMzc2MDFlYTgK
WyAgICA1Ljg5MjcwNl0gOGIyOCAgMzk0MTJlNjggMzRmZmZkMjggMTEwMDA5MDEgOTEwMDEz
ZTIgYWExMzAzZTAgOTdmZjNiMGEgNzk0MDBiZTggNTI4MDAwM2IKWyAgICA1Ljg5MzQxOF0g
OGI0OCAgNTMwMTBkMDggMWFjODIzNjggNmIxNTAxMWYgNTQwMDAwNmEgMTI4MDAzNzYgMTdm
ZmZmZGUgNmIxODAxMWYgOTEwMmMyNzcKWyAgICA1Ljg5NDEzMF0gOGI2OCAgOTEwYjYyN2Mg
MWE4OGMzMTkgYjQwMDAxMzQgMmExNTAzZTAgMmExOTAzZTEgYWExNDAzZTIgOTdlOGUzNzUg
MmEwMDAzZjYKWyAgICA1Ljg5NDg0M10gOGI4OCAgNmIxNTAwMWYgNTQwMDAwNmEgMTdmZmZm
ZjIgMmExOTAzZjYgMzk0MTJlNjggOTEwMDEzZTIgYWExMzAzZTAgMTEwMDA5MDEKWyAgICA1
Ljg5NTU1Nl0gOGJhOCAgOTdmZjNhZWYgNzk0MDBiZTggYWExMzAzZTAgMTIxZjc5MDIgNzkw
MDBiZTIgMzk0MTJlNjggMTEwMDA5MDEgOTdmZjNiNzAKWyAgICA1Ljg5NjI3MV0gOGJjOCAg
YjQwMDAwZDQgMmExNjAzZTAgYWExNDAzZTEgOTdlOGUyNzUgYWEwMDAzZjkgMTQwMDAwMDIg
YWExZjAzZjkgYWExNzAzZTAKWyAgICA1Ljg5Njk4MV0gOGJlOCAgMmExNjAzZTEgYWExOTAz
ZTIgOTdlOGRkMWIgYjQwMDExNjAgMzk0MTJlNjggYWEwMDAzZjggOTEwMDEzZTIgYWExMzAz
ZTAKWyAgICA1Ljg5NzY5NF0gOGMwOCAgMTEwMDA5MDEgOTdmZjNhZDYgMzk1OTllNjkgNzk0
MDBiZTggMzYyMDAwNjkgMzIxODAxMDggNzkwMDBiZTggNzk0MGFiMDkKWyAgICA1Ljg5ODQw
Nl0gOGMyOCAgMTI4MDcwMmQgNTMwNzdkMGEgNTMwMTdkMGIgMGEwZDAxMjkgMzMxODAxNDkg
MTIxOTAxNmEgMmEwYTAxMjkgOTM0MDdlY2EKWyAgICA1Ljg5OTExOF0gOGM0OCAgZjEwMDA1
NGEgZGFjMDExNGEgY2IwYTAzZWEgNTMxZDcxMGMgOWFjYTIzNmEgNzkwMGFmMWYgMTIxYzA5
OGMgOWE5ZjE1NGEKWyAgICA1Ljg5OTgzMV0gOGM2OCAgNzkwMGFiMDkgMTIxOTY1MjkgZGFj
MDExNGEgMmEwYzAxMjkgYjk0MzllNmMgNTMxZjA5NGEgMmEwOTAxNDkgNTIxZjA5MjkKWyAg
ICA1LjkwMDU0M10gOGM4OCAgYjkwMDViMGMgNzkwMGFiMDkgMzk0MTJlNjkgNzIxOTAxMWYg
NTI4MDAyMDggNTI4MDAxOGEgMWE4ODAxNDggMGIwODAxMjgKWyAgICA1LjkwMTI1Nl0gOGNh
OCAgMzkwMTgzMDggMzYzODAwYWIgMTIwMDFkMDEgOTEwMTQzMDIgYWExMzAzZTAgOTdmZjNh
ZmEgYWExOTAzZTAgOTdlZGJkZTcKWyAgICA1LjkwMTk2OF0gOGNjOCogNzk0MGFiMDggYjAw
MGM2ZTkgYjk0NDA5MjkgMTI4MDAwMGMgNTMwNDE5MGEgMWFjYTIzNmIgMWFjYjIxOGIgNzEw
MDExNWYKWyAgICA1LjkwMjY4MV0gOGNlOCAgMmExZjAzZjkgNWE4YjgxOWIgMzUwMDAxMjkg
MzYzODAxMDggYjk0MDUzMDggZjk0MDBmMDkgMzk0MTgzMDEgMmExYjAxMTkKWyAgICA1Ljkw
MzM5NF0gOGQwOCAgZDEwMmMxMjAgMmExOTAzZTIgOTdmZjNiNTQgYjkwMDUzMTkgZjk0MTcy
NjggZjkwMTcyNzggYTkwMDIzMWMgZjkwMDAxMTgKWyAgICA1LjkwNDEwNl0gOGQyOCAgZjk0
MTY2NjAgYjQwMDAwNjAgMzk0MGEwMDggMzcwMDAwODggZDQyMTAwMDAgMTI4MDAyNTkgMTQw
MDAwMDYgYWExNzAzZTEKWyAgICA1LjkwNDgxOF0gOGQ0OCAgMmExNjAzZTIgOTdlOGRmMDkg
MmEwMDAzZjkgMzQwMDAxYzAgYjAwMGM2ZTggYjk0NDA5MDggMzUwMDA0MDggMzk0MTUzMDgK
WyAgICA1LjkwNTUzMV0gOGQ2OCAgMzYzODAzYzggYjk0MDUzMDggZjk0MDBmMDkgMzk0MTgz
MDEgMGEzYjAxMTYgZDEwMmMxMjAgMmExNjAzZTIgOTdmZjNiMzcKWyAgICA1LjkwNjI0N10g
OGQ4OCAgMTQwMDAwMTcgZjk0MDAzODggZWIxYzAxMWYgNTQwMDAxODAgMzk0MDEzNGEgYjk0
MDAzNDkgYjM2MDdkNDkgMTQwMDAwMDQKWyAgICA1LjkwNjk1N10gOGRhOCAgZjk0MDAxMDgg
ZWIxYzAxMWYgNTQwMDAwYTAgMzYzZmZmYTkgYjk0MDI1MGEgMzRmZmZmNmEgMTQwMDAwMzcg
YWExMzAzZTAKWyAgICA1LjkwNzY2OV0gOGRjOCAgOTQwMDAzYTMgMzQwMDAzNjAgYjAwMGM2
ZTggYjk0NDA5MDggMmEwMDAzZjkgMzRmZmZjNDggMmExZjAzZjYgYWExMzAzZTAKWyAgICA1
LjkwODM4Ml0gOGRlOCAgYjkwMDUzMTYgOTdmZmZlMTUgNTI4MDAwM2IgMzdmODAxZjkgNmIx
NTAzM2YgMTI4MDAzNzYgNTRmZmViOGEgMTdmZmZmMzQKWyAgICA1LjkwOTA5NF0gOGUwOCAg
ZjAwMDk3MDEgOTEwMmMyNjAgOTEyNmIwMjEgOTQzNTMzOTUgMTI4MDAyYjYgMTdmZmZmMmUg
YWExOTAzZTAgOTdlZGJkOGYKWyAgICA1LjkwOTgwN10gOGUyOCAgMTI4MDAxNzYgMTdmZmZm
MmEgMmExOTAzZjYgMTdmZmZmMjggMzk1OTlhNjggMzcwMDAwODggYWExMzAzZTAgMmExZjAz
ZTEKWyAgICA1LjkxMDUxOV0gOGU0OCAgOTdmZjZjYmMgMzk0MTJlNjggOTEwMDEzZTIgYWEx
MzAzZTAgMTEwMDA5MDEgOTdmZjNhNDIgNzk0MDBiZTggYWExMzAzZTAKWyAgICA1LjkxMTIz
Ml0gOGU2OCAgMzIwMDAxMDIgNzkwMDBiZTIgMzk0MTJlNjggMTEwMDA5MDEgOTdmZjNhYzMg
Yjk0MDAzNDggYWExMzAzZTAgMzIxNDAxMDgKWyAgICA1LjkxMTk0NF0gOGU4OCAgYjkwMDAz
NDggOTdmZjdjYWEgYjk0MDEzMDggYjkwMzllNjggMTdmZmZmMGYgOTAwMDhlNjEgOTEyYzMw
MjEgYWExNzAzZTAKWyAgICA1LjkxMjY1N10gOGVhOCAgOTQzNTM0YTkgYjAwMGM2ZTggYjk0
NDA5MDggMzUwMDAwNjggMzk0MTUzMDggMzczODAwZTggMmExZjAzZjQgYWExMzAzZTAKWyAg
ICA1LjkxMzM3MF0gCiAgICAgICAgICAgICAgIFg0OiAweGZmZmZmZmMwMTI5MDM5NTQ6Clsg
ICAgNS45MTM4MTJdIDM3NTQgIGZmZmZmZmMwIDEwNmE4ZDM4IGZmZmZmZmMwIDEyOTAzN2Ew
IGZmZmZmZmMwIDEwMDIyZTU0IGZmZmZmZmMwIDExZThiMjk4ClsgICAgNS45MTQ1MjRdIDM3
NzQgIGZmZmZmZmMwIDAwMDAwMDA2IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDEwNmE4
ZDM4IGZmZmZmZmMwIDEyOTAzODYwClsgICAgNS45MTUyMzddIDM3OTQgIGZmZmZmZmMwIDEy
OTAzODYwIGZmZmZmZmMwIDEyOTAzN2MwIGZmZmZmZmMwIDEwMDE3NmE4IGZmZmZmZmMwIDEy
OTAzODYwClsgICAgNS45MTU5NDldIDM3YjQgIGZmZmZmZmMwIDQwZjIwYjAwIGQ4YzIwOWUw
IDEyOTAzN2UwIGZmZmZmZmMwIDEwMDNiN2MwIGZmZmZmZmMwIGYyMDAwODAwClsgICAgNS45
MTY2NjJdIDM3ZDQgIDAwMDAwMDAwIDA0Y2U0MDAwIGZmZmZmZjgwIDEyOTAzODIwIGZmZmZm
ZmMwIDExM2Y2ZDk4IGZmZmZmZmMwIDA0YzQ4MjAwClsgICAgNS45MTczNzVdIDM3ZjQgIGZm
ZmZmZjgwIDIwYzAwMDA1IDAwMDAwMDAwIDEwNmE4ZDM4IGZmZmZmZmMwIDAwMDAwMDAwIDAw
MDAwMDAwIDEyOTAzODYwClsgICAgNS45MTgwODddIDM4MTQgIGZmZmZmZmMwIGYyMDAwODAw
IDAwMDAwMDAwIDEyOTAzODUwIGZmZmZmZmMwIDExM2Y2YTY0IGZmZmZmZmMwIDEyOTAzOWIw
ClsgICAgNS45MTg3OTldIDM4MzQgIGZmZmZmZmMwIDA0Y2U0MTQwIGZmZmZmZjgwIGZmZmZm
ZmZmIDAwMDAwMDdmIDA0YzQwODAwIGZmZmZmZjgwIDEyOTAzOTkwClsgICAgNS45MTk1MTJd
IDM4NTQgIGZmZmZmZmMwIDEwMDEyNDA4IGZmZmZmZmMwIDAwMDAwMDAwIDAwMDAwMDAwIDEw
NmE4Y2M4IGZmZmZmZmMwIDAwMDAwMDUyClsgICAgNS45MjAyMjRdIDM4NzQgIDAwMDAwMDAw
IDAwMDAwMDAyIDAwMDAwMDAwIDEyOTAzOTU0IGZmZmZmZmMwIDAwMDAwMDQwIDAwMDAwMDAw
IDAwMDAwMDNmClsgICAgNS45MjA5MzddIDM4OTQgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDA0YzQwYWQ4IGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDA1ClsgICAg
NS45MjE2NTBdIDM4YjQgIDAwMDAwMDAwIGZmZmZmZmZmIDAwMDAwMDAwIGZmZmZmZmZmIDAw
MDAwMDAwIGZmZmZmYzdlIDAwMDAwMDAwIDAwMDAwMDAxClsgICAgNS45MjIzNjJdIDM4ZDQg
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNS45MjMwNzRdIDM4ZjQgIDAwMDAwMDAwIDA0YzQw
ODAwIGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAw
MDIwClsgICAgNS45MjM3ODddIDM5MTQgIDAwMDAwMDAwIDA0YzQwOGIwIGZmZmZmZjgwIDA0
YzQ4MjAwIGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAwIDA0YzQwZTYxClsgICAgNS45MjQ0
OTldIDM5MzQgIGZmZmZmZjgwIGZmZmZmZmZmIDAwMDAwMDAwIDA0YzQwYWQ4IGZmZmZmZjgw
IDEyOTAzOWMwIGZmZmZmZmMwIDEwNmE4Y2M4ClsgICAgNS45MjUyMTJdIDM5NTQqIGZmZmZm
ZmMwIDEyOTAzOWIwIGZmZmZmZmMwIDEwNmE4ZDM4IGZmZmZmZmMwIDIwYzAwMDA1IDAwMDAw
MDAwIDA0YzQwZTYxClsgICAgNS45MjU5MjRdIDM5NzQgIGZmZmZmZjgwIDAwMDAwMDAwIDAw
MDAwMDAwIGZmZmZmZmZmIGZmZmZmZmZmIDA0YzQwOGIwIGZmZmZmZjgwIDEyOTAzOWMwClsg
ICAgNS45MjY2MzddIDM5OTQgIGZmZmZmZmMwIDEwNmE4ZDM4IGZmZmZmZmMwIDAwMDAwMDAw
IDAwMDAwMDAwIDA0YzQwODAwIGZmZmZmZjgwIDAwMDBjMDdmClsgICAgNS45MjczNDldIDM5
YjQgIDAwMDIwMDhhIDQwZjIwYjAwIGQ4YzIwOWUwIDEyOTAzYTYwIGZmZmZmZmMwIDEwNmE5
NjRjIGZmZmZmZmMwIDAwMDAwMDAwClsgICAgNS45MjgwNjJdIDM5ZDQgIDAwMDAwMDAwIDAy
ZDY2YzAwIGZmZmZmZjgwIDA0MDUwZjEwIGZmZmZmZjgwIDA0MDUwZjEwIGZmZmZmZjgwIGZm
ZmZmZmY0ClsgICAgNS45Mjg3NzRdIDM5ZjQgIDAwMDAwMDAwIDAwMDAwMDIwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDA2ClsgICAgNS45
Mjk0ODddIDNhMTQgIDAwMDAwMDAwIDA0YzQwODAwIGZmZmZmZjgwIDEyOTAzYTYwIGZmZmZm
ZmMwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNS45MzAxOTldIDNhMzQgIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwClsgICAgNS45MzA5MTJdIDNhNTQgIDAwMDAwMDAwIDQwZjIwYjAw
IGQ4YzIwOWUwIDEyOTAzYWQwIGZmZmZmZmMwIDEwNjkzNTY0IGZmZmZmZmMwIDAwMDAwMDEx
ClsgICAgNS45MzE2MjRdIDNhNzQgIDAwMDAwMDAwIDA0YzQwZTYxIGZmZmZmZjgwIDExNGMy
YzY4IGZmZmZmZmMwIDExZjg1MDAwIGZmZmZmZmMwIDA0MDUwYzAwClsgICAgNS45MzIzMzZd
IDNhOTQgIGZmZmZmZjgwIDA0YzQwODAwIGZmZmZmZjgwIDAwMDAwMDAxIDAwMDAwMDAwIDEw
Njc1ZWI4IGZmZmZmZmMwIGZmZmZmZmZmClsgICAgNS45MzMwNTBdIDNhYjQgIGZmZmZmZmZm
IGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmMwIDQwZjIwYjAwIGQ4YzIwOWUw
IDEyOTAzYjMwClsgICAgNS45MzM3NjJdIDNhZDQgIGZmZmZmZmMwIDEwNjkzZGQwIGZmZmZm
ZmMwIDAwMDAwMDAwIDAwMDAwMDAwIDAyZDY2YzAwIGZmZmZmZjgwIDA0MDUwZjEwClsgICAg
NS45MzQ0NzRdIDNhZjQgIGZmZmZmZjgwIDA0MDUwZjEwIGZmZmZmZjgwIDExZGE4OGQwIGZm
ZmZmZmMwIDA0YzQwZTYxIGZmZmZmZjgwIDExNGMyYzY4ClsgICAgNS45MzUxODddIDNiMTQg
IGZmZmZmZmMwIDA0YzQwOGIwIGZmZmZmZjgwIDExZGE4ODcwIGZmZmZmZmMwIDA0YzQwODAw
IGZmZmZmZjgwIDEyOTAzYjUwClsgICAgNS45MzU4OTldIDNiMzQgIGZmZmZmZmMwIDEwNjg4
NjM4IGZmZmZmZmMwIDExZGE4ODcwIGZmZmZmZmMwIDA0YzQwODAwIGZmZmZmZjgwIDEyOTAz
YjkwClsgICAgNS45MzY2MTNdIAogICAgICAgICAgICAgICBYODogMHhmZmZmZmY4MDA0YzQw
YWQ4OgpbICAgIDUuOTM3MDU0XSAwOGQ4ICAxMWRlMDMzMCBmZmZmZmZjMCAwNDRkYzg4MCBm
ZmZmZmY4MCAwMDAwMDAwOSAwMDAwMDAwNyAwNDA1MGMwMCBmZmZmZmY4MApbICAgIDUuOTM3
NzY3XSAwOGY4ICAwMmQyN2EwMCBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMCAxMTRjMmFj
OCBmZmZmZmZjMCAxMWRhN2ZiOCBmZmZmZmZjMApbICAgIDUuOTM4NDc5XSAwOTE4ICAxMWRh
ODhkMCBmZmZmZmZjMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwM2Y5
ZWUwMCBmZmZmZmY4MApbICAgIDUuOTM5MTkyXSAwOTM4ICAwMDAwMDAwMCAwMDAwMDAwMCAw
NGM0MDk0MCBmZmZmZmY4MCAwNGM0MDk0MCBmZmZmZmY4MCAwNGM0MDk1MCBmZmZmZmY4MApb
ICAgIDUuOTM5OTA1XSAwOTU4ICAwNGM0MDk1MCBmZmZmZmY4MCAwNGM0MDk2MCBmZmZmZmY4
MCAwNGM0MDk2MCBmZmZmZmY4MCAwNGM0MDk3MCBmZmZmZmY4MApbICAgIDUuOTQwNjE3XSAw
OTc4ICAwNGM0MDk3MCBmZmZmZmY4MCAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDEwNyAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUuOTQxMzI5XSAwOTk4ICAwNGM4ODk4OCBm
ZmZmZmY4MCAwNGM5MDRlOCBmZmZmZmY4MCBmZmZmZmZmZiAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMApbICAgIDUuOTQyMDQyXSAwOWI4ICAwNGM0MDliOCBmZmZmZmY4MCAwNGM0MDli
OCBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUu
OTQyNzU0XSAwOWQ4ICAwNGM0MDlkOCBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUuOTQzNDY3XSAwOWY4ICAw
MDAwMDAwMCAwMDAwMDAwMCAxMDliNDFjMCBmZmZmZmZjMCA3ZmIxYjFjMCBmZmZmZmY4MCAw
MDAwMDAwMCAwMDAwMDAwMApbICAgIDUuOTQ0MTc5XSAwYTE4ICAwMDAwMDAwMCAwMDAwMDAw
MCBmZmZmZmZlMCAwMDAwMDAwZiAwNGM0MGEyOCBmZmZmZmY4MCAwNGM0MGEyOCBmZmZmZmY4
MApbICAgIDUuOTQ0ODkyXSAwYTM4ICAxMDliNDA5MCBmZmZmZmZjMCAwMDAwMDAwMCAwMDAw
MDAwMCAwNGM0MGE0OCBmZmZmZmY4MCAwNGM0MGE0OCBmZmZmZmY4MApbICAgIDUuOTQ1NjA0
XSAwYTU4ICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMiAwMDAwMDAwMSAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUuOTQ2MzIxXSAwYTc4ICAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMApbICAgIDUuOTQ3MDMwXSAwYTk4ICAzZTcxODI1OCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAg
IDUuOTQ3NzQzXSAwYWI4ICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUuOTQ4NDU1XSAwYWQ4
KiAwNGM0ODIwMCBmZmZmZmY4MCAwNGM0ODIwMCBmZmZmZmY4MCAxMTRkOTI3MCBmZmZmZmZj
MCAwNGM0MDg2OCBmZmZmZmY4MApbICAgIDUuOTQ5MTY4XSAwYWY4ICBmZmZmZmZmZiAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwNGM0MDg3MCBmZmZm
ZmY4MApbICAgIDUuOTQ5ODgxXSAwYjE4ICAwNGM0MGIxOCBmZmZmZmY4MCAwNGM0MGIxOCBm
ZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUuOTUw
NTkzXSAwYjM4ICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUuOTUxMzA1XSAwYjU4ICAwNGM0
MGI1OCBmZmZmZmY4MCAwNGM0MGI1OCBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMApbICAgIDUuOTUyMDE4XSAwYjc4ICAxMDY3YjY1YyBmZmZmZmZjMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApb
ICAgIDUuOTUyNzMwXSAwYjk4ICAwMDAwMTAwMCAwMDAwMDA0NSAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwM2UzNjk4MCBmZmZmZmY4MApbICAgIDUuOTUzNDQzXSAw
YmI4ICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUuOTU0MTU1XSAwYmQ4ICAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwM2UzNjk4MCBm
ZmZmZmY4MApbICAgIDUuOTU0ODY4XSAwYmY4ICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUu
OTU1NTgxXSAwYzE4ICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUuOTU2Mjk2XSAwYzM4ICAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMApbICAgIDUuOTU3MDA2XSAwYzU4ICAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MApbICAgIDUuOTU3NzE4XSAwYzc4ICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUuOTU4NDMx
XSAwYzk4ICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDUuOTU5MTQzXSAwY2I4ICAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMApbICAgIDUuOTU5ODU3XSAKICAgICAgICAgICAgICAgWDE5OiAweGZmZmZm
ZjgwMDRjNDA4MDA6ClsgICAgNS45NjAzMDZdIDA2MDAgIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsg
ICAgNS45NjEwMThdIDA2MjAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNS45NjE3MzFdIDA2
NDAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNS45NjI0NDNdIDA2NjAgIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwClsgICAgNS45NjMxNTZdIDA2ODAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNS45
NjM4NjhdIDA2YTAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNS45NjQ1ODFdIDA2YzAgIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwClsgICAgNS45NjUyOTNdIDA2ZTAgIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
ClsgICAgNS45NjYwMDZdIDA3MDAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNS45NjY3MThd
IDA3MjAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNS45Njc0MzFdIDA3NDAgIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwClsgICAgNS45NjgxNDNdIDA3NjAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAg
NS45Njg4NTVdIDA3ODAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNS45Njk1NjhdIDA3YTAg
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNS45NzAyODFdIDA3YzAgIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwClsgICAgNS45NzA5OTNdIDA3ZTAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNS45NzE3
MDZdIDA4MDAqIDA0YzQwMDI4IGZmZmZmZjgwIDA0YzQwMDI4IGZmZmZmZjgwIDA0YzQwMDAw
IGZmZmZmZjgwIDA0YzQxMDAwIGZmZmZmZjgwClsgICAgNS45NzI0MThdIDA4MjAgIDA0MDUw
NGE4IGZmZmZmZjgwIDAzZTM1NzgwIGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDM1ODgxZDg3ClsgICAgNS45NzMxMzFdIDA4NDAgIDAwMDAwMDAwIDAwMDYwNDAwIDUw
NzAwMTAxIDAxMzgwMWIwIDAwMDAxMDQyIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsg
ICAgNS45NzM4NDNdIDA4NjAgIDExZGE4ODcwIGZmZmZmZmMwIGZmZmZmZmZmIDAwMDAwMDAw
IDAwMDEwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIDAwMDAwMDAwClsgICAgNS45NzQ1NTZdIDA4
ODAgIDAwMDAwMDAwIDA4ZWI0MDAwIDAwMDAwMDAwIDAwMDAwMDBhIDAwMDAwMDY0IDAwMDAw
MDAwIDAyZDI3ZDAwIGZmZmZmZjgwClsgICAgNS45NzUyNjhdIDA4YTAgIDAwMDAwMDAxIDAw
MDAwMTgwIDAwMDAwMDAwIDAwMDAwMDAxIDAzZTM2OTgwIGZmZmZmZjgwIDA0Yzg4OGE4IGZm
ZmZmZjgwClsgICAgNS45NzU5ODFdIDA4YzAgIDA0YzkwNDA4IGZmZmZmZjgwIDA0MDUwYzAw
IGZmZmZmZjgwIDAyODcxZDAwIGZmZmZmZjgwIDExZGUwMzMwIGZmZmZmZmMwClsgICAgNS45
NzY2OTNdIDA4ZTAgIDA0NGRjODgwIGZmZmZmZjgwIDAwMDAwMDA5IDAwMDAwMDA3IDA0MDUw
YzAwIGZmZmZmZjgwIDAyZDI3YTAwIGZmZmZmZjgwClsgICAgNS45Nzc0MDZdIDA5MDAgIDAw
MDAwMDAwIDAwMDAwMDAwIDExNGMyYWM4IGZmZmZmZmMwIDExZGE3ZmI4IGZmZmZmZmMwIDEx
ZGE4OGQwIGZmZmZmZmMwClsgICAgNS45NzgxMTldIDA5MjAgIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAzZjllZTAwIGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAw
ClsgICAgNS45Nzg4MzBdIDA5NDAgIDA0YzQwOTQwIGZmZmZmZjgwIDA0YzQwOTQwIGZmZmZm
ZjgwIDA0YzQwOTUwIGZmZmZmZjgwIDA0YzQwOTUwIGZmZmZmZjgwClsgICAgNS45Nzk1NDNd
IDA5NjAgIDA0YzQwOTYwIGZmZmZmZjgwIDA0YzQwOTYwIGZmZmZmZjgwIDA0YzQwOTcwIGZm
ZmZmZjgwIDA0YzQwOTcwIGZmZmZmZjgwClsgICAgNS45ODAyNTVdIDA5ODAgIDAwMDAwMDAx
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMTA3IDAwMDAwMDAwIDAwMDAwMDAwIDA0Yzg4OTg4
IGZmZmZmZjgwClsgICAgNS45ODA5NjhdIDA5YTAgIDA0YzkwNGU4IGZmZmZmZjgwIGZmZmZm
ZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDA0YzQwOWI4IGZmZmZmZjgwClsgICAg
NS45ODE2ODFdIDA5YzAgIDA0YzQwOWI4IGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDA0YzQwOWQ4IGZmZmZmZjgwClsgICAgNS45ODIzOTNdIDA5ZTAg
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNS45ODMxMDZdIAogICAgICAgICAgICAgICBYMjM6
IDB4ZmZmZmZmODAwNGM0MDhiMDoKWyAgICA1Ljk4MzU1NV0gMDZiMCAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKWyAgICA1Ljk4NDI2OF0gMDZkMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA1Ljk4
NDk4MV0gMDZmMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA1Ljk4NTY5M10gMDcxMCAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKWyAgICA1Ljk4NjQwNl0gMDczMCAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK
WyAgICA1Ljk4NzExOF0gMDc1MCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA1Ljk4NzgzMV0g
MDc3MCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA1Ljk4ODU0M10gMDc5MCAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKWyAgICA1Ljk4OTI1Nl0gMDdiMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA1
Ljk4OTk2OF0gMDdkMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA1Ljk5MDY4MV0gMDdmMCAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDRjNDAwMjggZmZmZmZmODAg
MDRjNDAwMjggZmZmZmZmODAKWyAgICA1Ljk5MTM5M10gMDgxMCAgMDRjNDAwMDAgZmZmZmZm
ODAgMDRjNDEwMDAgZmZmZmZmODAgMDQwNTA0YTggZmZmZmZmODAgMDNlMzU3ODAgZmZmZmZm
ODAKWyAgICA1Ljk5MjEwNl0gMDgzMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMzU4
ODFkODcgMDAwMDAwMDAgMDAwNjA0MDAgNTA3MDAxMDEgMDEzODAxYjAKWyAgICA1Ljk5Mjgx
OF0gMDg1MCAgMDAwMDEwNDIgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMTFkYTg4NzAg
ZmZmZmZmYzAgZmZmZmZmZmYgMDAwMDAwMDAKWyAgICA1Ljk5MzUzMV0gMDg3MCAgMDAwMTAw
MDAgMDAwMDAwMDAgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDhlYjQwMDAgMDAwMDAw
MDAgMDAwMDAwMGEKWyAgICA1Ljk5NDI0M10gMDg5MCAgMDAwMDAwNjQgMDAwMDAwMDAgMDJk
MjdkMDAgZmZmZmZmODAgMDAwMDAwMDEgMDAwMDAxODAgMDAwMDAwMDAgMDAwMDAwMDEKWyAg
ICA1Ljk5NDk1Nl0gMDhiMCogMDNlMzY5ODAgZmZmZmZmODAgMDRjODg4YTggZmZmZmZmODAg
MDRjOTA0MDggZmZmZmZmODAgMDQwNTBjMDAgZmZmZmZmODAKWyAgICA1Ljk5NTY2OF0gMDhk
MCAgMDI4NzFkMDAgZmZmZmZmODAgMTFkZTAzMzAgZmZmZmZmYzAgMDQ0ZGM4ODAgZmZmZmZm
ODAgMDAwMDAwMDkgMDAwMDAwMDcKWyAgICA1Ljk5NjM4MV0gMDhmMCAgMDQwNTBjMDAgZmZm
ZmZmODAgMDJkMjdhMDAgZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAgMTE0YzJhYzggZmZm
ZmZmYzAKWyAgICA1Ljk5NzA5M10gMDkxMCAgMTFkYTdmYjggZmZmZmZmYzAgMTFkYTg4ZDAg
ZmZmZmZmYzAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA1Ljk5
NzgwNl0gMDkzMCAgMDNmOWVlMDAgZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAgMDRjNDA5
NDAgZmZmZmZmODAgMDRjNDA5NDAgZmZmZmZmODAKWyAgICA1Ljk5ODUxOF0gMDk1MCAgMDRj
NDA5NTAgZmZmZmZmODAgMDRjNDA5NTAgZmZmZmZmODAgMDRjNDA5NjAgZmZmZmZmODAgMDRj
NDA5NjAgZmZmZmZmODAKWyAgICA1Ljk5OTIzMV0gMDk3MCAgMDRjNDA5NzAgZmZmZmZmODAg
MDRjNDA5NzAgZmZmZmZmODAgMDAwMDAwMDEgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAxMDcK
WyAgICA1Ljk5OTk0M10gMDk5MCAgMDAwMDAwMDAgMDAwMDAwMDAgMDRjODg5ODggZmZmZmZm
ODAgMDRjOTA0ZTggZmZmZmZmODAgZmZmZmZmZmYgMDAwMDAwMDAKWyAgICA2LjAwMDY1Nl0g
MDliMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDRjNDA5YjggZmZmZmZmODAgMDRjNDA5YjggZmZm
ZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjAwMTM2OF0gMDlkMCAgMDAwMDAwMDAg
MDAwMDAwMDAgMDRjNDA5ZDggZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKWyAgICA2LjAwMjA4MV0gMDlmMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMTA5YjQxYzAgZmZmZmZmYzAgN2ZiMWIxYzAgZmZmZmZmODAKWyAgICA2
LjAwMjc5NF0gMGExMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgZmZm
ZmZmZTAgMDAwMDAwMGYgMDRjNDBhMjggZmZmZmZmODAKWyAgICA2LjAwMzUwNV0gMGEzMCAg
MDRjNDBhMjggZmZmZmZmODAgMTA5YjQwOTAgZmZmZmZmYzAgMDAwMDAwMDAgMDAwMDAwMDAg
MDRjNDBhNDggZmZmZmZmODAKWyAgICA2LjAwNDIxOF0gMGE1MCAgMDRjNDBhNDggZmZmZmZm
ODAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDIgMDAwMDAwMDEgMDAwMDAwMDAgMDAwMDAw
MDAKWyAgICA2LjAwNDkzMV0gMGE3MCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjAwNTY0
M10gMGE5MCAgMDAwMDAwMDAgMDAwMDAwMDAgM2U3MTgyNTggMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjAwNjM1Nl0gCiAgICAgICAgICAg
ICAgIFgyNDogMHhmZmZmZmY4MDA0YzQ4MjAwOgpbICAgIDYuMDA2ODA1XSA4MDAwICAzMjMw
MzAzMCAzYTMxMzIzYSAzMDJlMzAzMCBjMmMyYzIwMCBjMmMyYzJjMiBjMmMyYzJjMiBjMmMy
YzJjMiBjMmMyYzJjMgpbICAgIDYuMDA3NTE4XSA4MDIwICBjMmMyYzJjMiBjMmMyYzJjMiBj
MmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpb
ICAgIDYuMDA4MjMwXSA4MDQwICAwNGM0ODA4MCBmZmZmZmY4MCBjMmMyYzJjMiBjMmMyYzJj
MiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMDA4OTQzXSA4
MDYwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMy
YzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMDA5NjU2XSA4MDgwICAzMjMwMzAzMCAz
YTMwMzIzYSAzMDJlMzAzMCBkZWFkMDAwMCAwNGM0MDhiMCBmZmZmZmY4MCAwNGM0ODA5OCBm
ZmZmZmY4MApbICAgIDYuMDEwMzY4XSA4MGEwICAwNGM0ODA5OCBmZmZmZmY4MCAwMDAwMDAw
MCAwMDAwMDAwMCAwNGM0ODBiMCBmZmZmZmY4MCAwNGM0ODBiMCBmZmZmZmY4MApbICAgIDYu
MDExMDgxXSA4MGMwICAwNGM0ODIwMCBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMDExNzkzXSA4MGUwICAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMDEyNTA1XSA4MTAwICAwMDAwMzkzNiBkZWFkMDAw
MCAwMDAwMDEyMiBkZWFkMDAwMCAwNGM0MWMyMCBmZmZmZmY4MCAwNGM0MTgwMCBmZmZmZmY4
MApbICAgIDYuMDEzMjE4XSA4MTIwICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMDEzOTMx
XSA4MTQwICAwNGM0ODE4MCBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMDE0NjQzXSA4MTYwICAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMApbICAgIDYuMDE1MzU1XSA4MTgwICBjMjAwMzkzNiBjMmMyYzJjMiBjMmMy
YzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAg
IDYuMDE2MDY4XSA4MWEwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBj
MmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMDE2NzgwXSA4MWMw
ICAwNGM0ODIwMCBmZmZmZmY4MCBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJj
MiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMDE3NDk0XSA4MWUwICBjMmMyYzJjMiBjMmMy
YzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMy
YzJjMgpbICAgIDYuMDE4MjA1XSA4MjAwKiAwNGM0MGFkOCBmZmZmZmY4MCAwNGM0MGFkOCBm
ZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAyMCAwNGM0MDhiMCBmZmZmZmY4MApbICAgIDYuMDE4
OTE5XSA4MjIwICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMDE5NjMxXSA4MjQwICAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDE1YSAwMDAw
MDA0NSAwMDAwMDAwMApbICAgIDYuMDIwMzQzXSA4MjYwICAwMDAwMDA2MCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApb
ICAgIDYuMDIxMDU2XSA4MjgwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJj
MiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMDIxNzY4XSA4
MmEwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMy
YzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMDIyNDgxXSA4MmMwICAwNGM0ODMwMCBm
ZmZmZmY4MCBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBj
MmMyYzJjMgpbICAgIDYuMDIzMTkzXSA4MmUwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJj
MiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYu
MDIzOTA2XSA4MzAwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMy
YzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMDI0NjE4XSA4MzIwICBj
MmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBj
MmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMDI1MzMxXSA4MzQwICAwNGM0ODM4MCBmZmZmZmY4
MCBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJj
MgpbICAgIDYuMDI2MDQzXSA4MzYwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMy
YzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMDI2NzU2
XSA4MzgwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBj
MmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMDI3NDY4XSA4M2EwICBjMmMyYzJj
MiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJj
MiBjMmMyYzJjMgpbICAgIDYuMDI4MTgwXSA4M2MwICAwNGM0ODQwMCBmZmZmZmY4MCBjMmMy
YzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAg
IDYuMDI4ODkzXSA4M2UwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBj
MmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMDI5NjA2XSAKICAg
ICAgICAgICAgICAgWDI2OiAweGZmZmZmZjgwMDRjNDBlNjE6ClsgICAgNi4wMzAwNTVdIDBj
NjAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4wMzA3NjhdIDBjODAgIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwClsgICAgNi4wMzE0ODBdIDBjYTAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4w
MzIxOTNdIDBjYzAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4wMzI5MDZdIDBjZTAgIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwClsgICAgNi4wMzM2MThdIDBkMDAgIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
ClsgICAgNi4wMzQzMzFdIDBkMjAgIGYyODAwMDAwIDAwMDAwMDAwIGYyODBmZmZmIDAwMDAw
MDAwIDAzZTM2OTgwIGZmZmZmZjgwIDAwMDQ2MjAwIDAwMDAwMDAwClsgICAgNi4wMzUwNDNd
IDBkNDAgIDAwMDAwMDAwIDAwMDAwMDAwIDAyZDI3MTgwIGZmZmZmZjgwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4wMzU3NTVdIDBkNjAgIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDA0YzQxMGU4IGZmZmZmZjgwIDAwMDAwMDAw
IDAwMDAwMDAwClsgICAgNi4wMzY0NjhdIDBkODAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAg
Ni4wMzcxODFdIDBkYTAgIGYyMjAwMDAwIDAwMDAwMDAwIGYyN2ZmZmZmIDAwMDAwMDAwIDA0
YzQxMGU4IGZmZmZmZjgwIDAwMDAwMjAwIDAwMDAwMDAwClsgICAgNi4wMzc4OTNdIDBkYzAg
IDAwMDAwMDAwIDAwMDAwMDAwIDAyZDI3MTgwIGZmZmZmZjgwIDA0YzQwZDIwIGZmZmZmZjgw
IDA0YzQxYmEwIGZmZmZmZjgwClsgICAgNi4wMzg2MDZdIDBkZTAgIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDA0YzQxMGU4IGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAw
MDAwClsgICAgNi4wMzkzMThdIDBlMDAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4wNDAw
MzFdIDBlMjAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDA0YzQxMGU4
IGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4wNDA3NDNdIDBlNDAgIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwClsgICAgNi4wNDE0NTZdIDBlNjAqIDAwMDAyZTAxIDAwMDAwNjAwIDAw
MDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsg
ICAgNi4wNDIxNjhdIDBlODAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4wNDI4ODFdIDBl
YTAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAzZTM2YTAwIGZmZmZm
ZjgwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4wNDM1OTNdIDBlYzAgIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwClsgICAgNi4wNDQzMDZdIDBlZTAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4w
NDUwMThdIDBmMDAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4wNDU3MzFdIDBmMjAgIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwClsgICAgNi4wNDY0NDNdIDBmNDAgIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
ClsgICAgNi4wNDcxNTZdIDBmNjAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4wNDc4Njhd
IDBmODAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4wNDg1ODFdIDBmYTAgIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwClsgICAgNi4wNDkyOTNdIDBmYzAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAg
Ni4wNTAwMDZdIDBmZTAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4wNTA3MThdIDEwMDAg
IDA0YzQwMDE4IGZmZmZmZjgwIDA0YzQwMDE4IGZmZmZmZjgwIDA0YzQwMDAwIGZmZmZmZjgw
IDA0YzQxMDE4IGZmZmZmZjgwClsgICAgNi4wNTE0MzFdIDEwMjAgIDA0YzQxMDE4IGZmZmZm
ZjgwIDA0YzQxODAwIGZmZmZmZjgwIDA0YzQxODAwIGZmZmZmZjgwIDA0YzQwODAwIGZmZmZm
ZjgwClsgICAgNi4wNTIxNDRdIDEwNDAgIDA0YzQxMDQwIGZmZmZmZjgwIDA0YzQxMDQwIGZm
ZmZmZjgwIDA0YzQwZDYwIGZmZmZmZjgwIDA0YzQwZGEwIGZmZmZmZjgwClsgICAgNi4wNTI4
NTZdIDEwNjAgIDA0YzQwZGUwIGZmZmZmZjgwIDA0YzQwZTIwIGZmZmZmZjgwIDA0YzQxMDcw
IGZmZmZmZjgwIDA0YzQxMDcwIGZmZmZmZjgwClsgICAgNi4wNTM1NjldIAogICAgICAgICAg
ICAgICBYMjg6IDB4ZmZmZmZmODAwNGM0MGFkODoKWyAgICA2LjA1NDAxOF0gMDhkOCAgMTFk
ZTAzMzAgZmZmZmZmYzAgMDQ0ZGM4ODAgZmZmZmZmODAgMDAwMDAwMDkgMDAwMDAwMDcgMDQw
NTBjMDAgZmZmZmZmODAKWyAgICA2LjA1NDczMV0gMDhmOCAgMDJkMjdhMDAgZmZmZmZmODAg
MDAwMDAwMDAgMDAwMDAwMDAgMTE0YzJhYzggZmZmZmZmYzAgMTFkYTdmYjggZmZmZmZmYzAK
WyAgICA2LjA1NTQ0M10gMDkxOCAgMTFkYTg4ZDAgZmZmZmZmYzAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDNmOWVlMDAgZmZmZmZmODAKWyAgICA2LjA1NjE1Nl0g
MDkzOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDRjNDA5NDAgZmZmZmZmODAgMDRjNDA5NDAgZmZm
ZmZmODAgMDRjNDA5NTAgZmZmZmZmODAKWyAgICA2LjA1Njg2OF0gMDk1OCAgMDRjNDA5NTAg
ZmZmZmZmODAgMDRjNDA5NjAgZmZmZmZmODAgMDRjNDA5NjAgZmZmZmZmODAgMDRjNDA5NzAg
ZmZmZmZmODAKWyAgICA2LjA1NzU4MF0gMDk3OCAgMDRjNDA5NzAgZmZmZmZmODAgMDAwMDAw
MDEgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAxMDcgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2
LjA1ODI5M10gMDk5OCAgMDRjODg5ODggZmZmZmZmODAgMDRjOTA0ZTggZmZmZmZmODAgZmZm
ZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjA1OTAwNl0gMDliOCAg
MDRjNDA5YjggZmZmZmZmODAgMDRjNDA5YjggZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjA1OTcxOF0gMDlkOCAgMDRjNDA5ZDggZmZmZmZm
ODAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKWyAgICA2LjA2MDQzMV0gMDlmOCAgMDAwMDAwMDAgMDAwMDAwMDAgMTA5YjQxYzAgZmZm
ZmZmYzAgN2ZiMWIxYzAgZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjA2MTE0
M10gMGExOCAgMDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZTAgMDAwMDAwMGYgMDRjNDBhMjgg
ZmZmZmZmODAgMDRjNDBhMjggZmZmZmZmODAKWyAgICA2LjA2MTg1Nl0gMGEzOCAgMTA5YjQw
OTAgZmZmZmZmYzAgMDAwMDAwMDAgMDAwMDAwMDAgMDRjNDBhNDggZmZmZmZmODAgMDRjNDBh
NDggZmZmZmZmODAKWyAgICA2LjA2MjU2OF0gMGE1OCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDIgMDAwMDAwMDEgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAg
ICA2LjA2MzI4MV0gMGE3OCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjA2Mzk5M10gMGE5
OCAgM2U3MTgyNTggMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjA2NDcwNl0gMGFiOCAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKWyAgICA2LjA2NTQxOF0gMGFkOCogMDRjNDgyMDAgZmZmZmZmODAgMDRjNDgyMDAg
ZmZmZmZmODAgMTE0ZDkyNzAgZmZmZmZmYzAgMDRjNDA4NjggZmZmZmZmODAKWyAgICA2LjA2
NjEzMV0gMGFmOCAgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDRjNDA4NzAgZmZmZmZmODAKWyAgICA2LjA2Njg0M10gMGIxOCAgMDRj
NDBiMTggZmZmZmZmODAgMDRjNDBiMTggZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKWyAgICA2LjA2NzU1Nl0gMGIzOCAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK
WyAgICA2LjA2ODI2OF0gMGI1OCAgMDRjNDBiNTggZmZmZmZmODAgMDRjNDBiNTggZmZmZmZm
ODAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjA2ODk4MV0g
MGI3OCAgMTA2N2I2NWMgZmZmZmZmYzAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjA2OTY5M10gMGI5OCAgMDAwMDEwMDAg
MDAwMDAwNDUgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDNlMzY5ODAg
ZmZmZmZmODAKWyAgICA2LjA3MDQwNl0gMGJiOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2
LjA3MTExOF0gMGJkOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDNlMzY5ODAgZmZmZmZmODAKWyAgICA2LjA3MTgzMV0gMGJmOCAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjA3MjU0M10gMGMxOCAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKWyAgICA2LjA3MzI1Nl0gMGMzOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjA3Mzk2
OF0gMGM1OCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjA3NDY4MV0gMGM3OCAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKWyAgICA2LjA3NTM5M10gMGM5OCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAg
ICA2LjA3NjEwNl0gMGNiOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjA3NjgxOV0gCiAg
ICAgICAgICAgICAgIFgyOTogMHhmZmZmZmZjMDEyOTAzOWMwOgpbICAgIDYuMDc3MjY4XSAz
N2MwICAxMjkwMzdlMCBmZmZmZmZjMCAxMDAzYjdjMCBmZmZmZmZjMCBmMjAwMDgwMCAwMDAw
MDAwMCAwNGNlNDAwMCBmZmZmZmY4MApbICAgIDYuMDc3OTgxXSAzN2UwICAxMjkwMzgyMCBm
ZmZmZmZjMCAxMTNmNmQ5OCBmZmZmZmZjMCAwNGM0ODIwMCBmZmZmZmY4MCAyMGMwMDAwNSAw
MDAwMDAwMApbICAgIDYuMDc4NjkzXSAzODAwICAxMDZhOGQzOCBmZmZmZmZjMCAwMDAwMDAw
MCAwMDAwMDAwMCAxMjkwMzg2MCBmZmZmZmZjMCBmMjAwMDgwMCAwMDAwMDAwMApbICAgIDYu
MDc5NDA2XSAzODIwICAxMjkwMzg1MCBmZmZmZmZjMCAxMTNmNmE2NCBmZmZmZmZjMCAxMjkw
MzliMCBmZmZmZmZjMCAwNGNlNDE0MCBmZmZmZmY4MApbICAgIDYuMDgwMTE4XSAzODQwICBm
ZmZmZmZmZiAwMDAwMDA3ZiAwNGM0MDgwMCBmZmZmZmY4MCAxMjkwMzk5MCBmZmZmZmZjMCAx
MDAxMjQwOCBmZmZmZmZjMApbICAgIDYuMDgwODMxXSAzODYwICAwMDAwMDAwMCAwMDAwMDAw
MCAxMDZhOGNjOCBmZmZmZmZjMCAwMDAwMDA1MiAwMDAwMDAwMCAwMDAwMDAwMiAwMDAwMDAw
MApbICAgIDYuMDgxNTQzXSAzODgwICAxMjkwMzk1NCBmZmZmZmZjMCAwMDAwMDA0MCAwMDAw
MDAwMCAwMDAwMDAzZiAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMDgyMjU2
XSAzOGEwICAwNGM0MGFkOCBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwNSAw
MDAwMDAwMCBmZmZmZmZmZiAwMDAwMDAwMApbICAgIDYuMDgyOTY4XSAzOGMwICBmZmZmZmZm
ZiAwMDAwMDAwMCBmZmZmZmM3ZSAwMDAwMDAwMCAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMApbICAgIDYuMDgzNjgxXSAzOGUwICAwMDAwMDAwMSAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwNGM0MDgwMCBmZmZmZmY4MApbICAg
IDYuMDg0MzkzXSAzOTAwICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSAwMDAwMDAwMCAw
MDAwMDAyMCAwMDAwMDAwMCAwNGM0MDhiMCBmZmZmZmY4MApbICAgIDYuMDg1MTA2XSAzOTIw
ICAwNGM0ODIwMCBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMCAwNGM0MGU2MSBmZmZmZmY4
MCBmZmZmZmZmZiAwMDAwMDAwMApbICAgIDYuMDg1ODE4XSAzOTQwICAwNGM0MGFkOCBmZmZm
ZmY4MCAxMjkwMzljMCBmZmZmZmZjMCAxMDZhOGNjOCBmZmZmZmZjMCAxMjkwMzliMCBmZmZm
ZmZjMApbICAgIDYuMDg2NTMxXSAzOTYwICAxMDZhOGQzOCBmZmZmZmZjMCAyMGMwMDAwNSAw
MDAwMDAwMCAwNGM0MGU2MSBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMDg3
MjQzXSAzOTgwICBmZmZmZmZmZiBmZmZmZmZmZiAwNGM0MDhiMCBmZmZmZmY4MCAxMjkwMzlj
MCBmZmZmZmZjMCAxMDZhOGQzOCBmZmZmZmZjMApbICAgIDYuMDg3OTU2XSAzOWEwICAwMDAw
MDAwMCAwMDAwMDAwMCAwNGM0MDgwMCBmZmZmZmY4MCAwMDAwYzA3ZiAwMDAyMDA4YSA0MGYy
MGIwMCBkOGMyMDllMApbICAgIDYuMDg4NjY4XSAzOWMwKiAxMjkwM2E2MCBmZmZmZmZjMCAx
MDZhOTY0YyBmZmZmZmZjMCAwMDAwMDAwMCAwMDAwMDAwMCAwMmQ2NmMwMCBmZmZmZmY4MApb
ICAgIDYuMDg5MzgxXSAzOWUwICAwNDA1MGYxMCBmZmZmZmY4MCAwNDA1MGYxMCBmZmZmZmY4
MCBmZmZmZmZmNCAwMDAwMDAwMCAwMDAwMDAyMCAwMDAwMDAwMApbICAgIDYuMDkwMDkzXSAz
YTAwICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwNiAwMDAw
MDAwMCAwNGM0MDgwMCBmZmZmZmY4MApbICAgIDYuMDkwODA2XSAzYTIwICAxMjkwM2E2MCBm
ZmZmZmZjMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMApbICAgIDYuMDkxNTE4XSAzYTQwICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCA0MGYyMGIwMCBkOGMyMDllMApbICAgIDYu
MDkyMjMxXSAzYTYwICAxMjkwM2FkMCBmZmZmZmZjMCAxMDY5MzU2NCBmZmZmZmZjMCAwMDAw
MDAxMSAwMDAwMDAwMCAwNGM0MGU2MSBmZmZmZmY4MApbICAgIDYuMDkyOTQzXSAzYTgwICAx
MTRjMmM2OCBmZmZmZmZjMCAxMWY4NTAwMCBmZmZmZmZjMCAwNDA1MGMwMCBmZmZmZmY4MCAw
NGM0MDgwMCBmZmZmZmY4MApbICAgIDYuMDkzNjU2XSAzYWEwICAwMDAwMDAwMSAwMDAwMDAw
MCAxMDY3NWViOCBmZmZmZmZjMCBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZm
ZgpbICAgIDYuMDk0MzY4XSAzYWMwICBmZmZmZmZmZiBmZmZmZmZjMCA0MGYyMGIwMCBkOGMy
MDllMCAxMjkwM2IzMCBmZmZmZmZjMCAxMDY5M2RkMCBmZmZmZmZjMApbICAgIDYuMDk1MDgx
XSAzYWUwICAwMDAwMDAwMCAwMDAwMDAwMCAwMmQ2NmMwMCBmZmZmZmY4MCAwNDA1MGYxMCBm
ZmZmZmY4MCAwNDA1MGYxMCBmZmZmZmY4MApbICAgIDYuMDk1NzkzXSAzYjAwICAxMWRhODhk
MCBmZmZmZmZjMCAwNGM0MGU2MSBmZmZmZmY4MCAxMTRjMmM2OCBmZmZmZmZjMCAwNGM0MDhi
MCBmZmZmZmY4MApbICAgIDYuMDk2NTA1XSAzYjIwICAxMWRhODg3MCBmZmZmZmZjMCAwNGM0
MDgwMCBmZmZmZmY4MCAxMjkwM2I1MCBmZmZmZmZjMCAxMDY4ODYzOCBmZmZmZmZjMApbICAg
IDYuMDk3MjE4XSAzYjQwICAxMWRhODg3MCBmZmZmZmZjMCAwNGM0MDgwMCBmZmZmZmY4MCAx
MjkwM2I5MCBmZmZmZmZjMCAxMDk5ZTlmMCBmZmZmZmZjMApbICAgIDYuMDk3OTMxXSAzYjYw
ICAwNDA1MDQ4MCBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMCAxMWY5MjAwMCBmZmZmZmZj
MCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMDk4NjQzXSAzYjgwICAxMWRhODhkMCBmZmZm
ZmZjMCAwNGM0MDhiMCBmZmZmZmY4MCAxMjkwM2JkMCBmZmZmZmZjMCAxMDk5ZTcwNCBmZmZm
ZmZjMApbICAgIDYuMDk5MzU2XSAzYmEwICAwNDA1MDQ4MCBmZmZmZmY4MCAwNDA1MDRhMCBm
ZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMCAxMjkwM2M4OCBmZmZmZmZjMApbICAgIDYuMTAw
MDcwXSAtLS1bIGVuZCB0cmFjZSA4MzUyZjM0MDE4YmZkNjRiIF0tLS0KWyAgICA2LjEwMDQ5
MV0gcnRjLWh5bTg1NjMgMi0wMDUxOiBzZXR0aW5nIHN5c3RlbSBjbG9jayB0byAyMDIyLTEy
LTEzVDAwOjQzOjMxIFVUQyAoMTY3MDg5MjIxMSkKWyAgICA2LjEwMDQ5M10gLS0tLS0tLS0t
LS0tWyBjdXQgaGVyZSBdLS0tLS0tLS0tLS0tClsgICAgNi4xMDA1MDRdIFdBUk5JTkc6IENQ
VTogNyBQSUQ6IDE0MiBhdCBpbmNsdWRlL2xpbnV4L21zaS5oOjIyNSBmcmVlX21zaV9pcnFz
KzB4ZmMvMHgxOTAKWyAgICA2LjEwMjMzN10gTW9kdWxlcyBsaW5rZWQgaW46ClsgICAgNi4x
MDI2MDhdIENQVTogNyBQSUQ6IDE0MiBDb21tOiBwY2llIFRhaW50ZWQ6IEcgICAgICAgIFcg
ICAgICAgICA1LjEwLjExMCAjMTkyClsgICAgNi4xMDMyNzRdIEhhcmR3YXJlIG5hbWU6IFJv
Y2tjaGlwIFJLMzU4OCBUT1lCUklDSyBYMTAgQm9hcmQgKERUKQpbICAgIDYuMTAzODE1XSBw
c3RhdGU6IDYwYzAwMDA1IChuWkN2IGRhaWYgK1BBTiArVUFPIC1UQ08gQlRZUEU9LS0pClsg
ICAgNi4xMDQzNDFdIHBjIDogZnJlZV9tc2lfaXJxcysweGZjLzB4MTkwClsgICAgNi4xMDQ2
MzhdIHZkZF9ucHVfczA6IHN1cHBsaWVkIGJ5IHZjYzV2MF9zeXMKWyAgICA2LjEwNDY5Ml0g
bHIgOiBfX3BjaV9lbmFibGVfbXNpX3JhbmdlKzB4M2MwLzB4NGQ4ClsgICAgNi4xMDQ3MDRd
IHNwIDogZmZmZmZmYzAxMjkwMzk3MApbICAgIDYuMTA1ODAzXSB4Mjk6IGZmZmZmZmMwMTI5
MDM5NzAgeDI4OiBmZmZmZmY4MDA0YzQwYWQ4IApbICAgIDYuMTA2MjcyXSB4Mjc6IDAwMDAw
MDAwZmZmZmZmZmYgeDI2OiBmZmZmZmY4MDA0YzQwZTYxIApbICAgIDYuMTA2NzM0XSB4MjU6
IDAwMDAwMDAwZmZmZmZmZWQgeDI0OiBmZmZmZmY4MDA0YzQ4MjAwIApbICAgIDYuMTA3MTk4
XSB4MjM6IGZmZmZmZjgwMDRjNDA4YjAgeDIyOiBmZmZmZmY4MDA0YzQwYWQ4IApbICAgIDYu
MTA3NjY0XSB4MjE6IDAwMDAwMDAwMDAwMDAwMDEgeDIwOiBmZmZmZmY4MDA0YzQwYWQ4IApb
ICAgIDYuMTA4MTI5XSB4MTk6IGZmZmZmZjgwMDRjNDA4MDAgeDE4OiAwMDAwMDAwMDAwMDAw
MDAwIApbICAgIDYuMTA4NTkzXSB4MTc6IDAwMDAwMDAwMDAwMDAwMDAgeDE2OiAwMDAwMDAw
MDAwMDAwMDAxIApbICAgIDYuMTA5MDU4XSB4MTU6IDAwMDAwMDAwMDAwMDAwMDAgeDE0OiAw
MDAwMDAwMDAwMDAwMDAxIApbICAgIDYuMTA5NTI0XSB4MTM6IDAwMDAwMDAwZmZmZmZjN2Ug
eDEyOiAwMDAwMDAwMGZmZmZmZmZmIApbICAgIDYuMTA5OTg5XSB4MTE6IDAwMDAwMDAwZmZm
ZmZmZmYgeDEwOiAwMDAwMDAwMDAwMDAwMDA1IApbICAgIDYuMTEwNDUzXSB4OSA6IGZmZmZm
ZmMwMTA2YThkZjAgeDggOiAwMDAwMDAwMDAwMDAwMDVhIApbICAgIDYuMTEwOTE4XSB4NyA6
IDAwMDAwMDAwMDAwMDAwMDAgeDYgOiAwMDAwMDAwMDAwMDAwMDNmIApbICAgIDYuMTExMTIz
XSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIHV2Y3ZpZGVvClsg
ICAgNi4xMTEzODNdIHg1IDogMDAwMDAwMDAwMDAwMDA0MCB4NCA6IGZmZmZmZmMwMTI5MDM5
NTQgClsgICAgNi4xMTE5MDBdIFVTQiBWaWRlbyBDbGFzcyBkcml2ZXIgKDEuMS4xKQpbICAg
IDYuMTEyNzE3XSB4MyA6IDAwMDAwMDAwMDAwMDAwMDIgeDIgOiAwMDAwMDAwMDAwMDAwMDUy
IApbICAgIDYuMTEzMTgyXSB4MSA6IDAwMDAwMDAwMDAwMDAwMDAgeDAgOiAwMDAwMDAwMDAw
MDAwMDAwIApbICAgIDYuMTEzMjE5XSB0aGVybWFsIGZlYzAwMDAwLnRzYWRjOiBNaXNzaW5n
ICxncmYgcHJvcGVydHkKWyAgICA2LjExMzY0N10gQ2FsbCB0cmFjZToKWyAgICA2LjExMzY1
Nl0gIGZyZWVfbXNpX2lycXMrMHhmYy8weDE5MApbICAgIDYuMTE0NjM3XSB0aGVybWFsIGZl
YzAwMDAwLnRzYWRjOiB0c2FkYyBpcyBwcm9iZWQgc3VjY2Vzc2Z1bGx5IQpbICAgIDYuMTE0
Nzg3XSAgX19wY2lfZW5hYmxlX21zaV9yYW5nZSsweDNjMC8weDRkOApbICAgIDYuMTE0Nzky
XSAgcGNpX2FsbG9jX2lycV92ZWN0b3JzX2FmZmluaXR5KzB4YmMvMHgxMzQKWyAgICA2LjEx
NTY1M10gZGV2aWNlLW1hcHBlcjogaW9jdGw6IDQuNDQuMC1pb2N0bCAoMjAyMS0wMi0wMSkg
aW5pdGlhbGlzZWQ6IGRtLWRldmVsQHJlZGhhdC5jb20KWyAgICA2LjExNTc4NV0gIHBjaWVf
cG9ydF9kZXZpY2VfcmVnaXN0ZXIrMHgxNTAvMHg0MDQKWyAgICA2LjExNTc5Ml0gIHBjaWVf
cG9ydGRydl9wcm9iZSsweDQ0LzB4YjgKWyAgICA2LjExNjI3M10gQmx1ZXRvb3RoOiBIQ0kg
VUFSVCBkcml2ZXIgdmVyIDIuMwpbICAgIDYuMTE2OTcxXSAgcGNpX2RldmljZV9wcm9iZSsw
eGUwLzB4MTU4ClsgICAgNi4xMTY5NzZdICByZWFsbHlfcHJvYmUrMHgyNzQvMHg3MjQKWyAg
ICA2LjExNzM5Ml0gQmx1ZXRvb3RoOiBIQ0kgVUFSVCBwcm90b2NvbCBINCByZWdpc3RlcmVk
ClsgICAgNi4xMTc3NDNdICBkcml2ZXJfcHJvYmVfZGV2aWNlKzB4ZWMvMHgxNjQKWyAgICA2
LjExNzc0Nl0gIF9fZGV2aWNlX2F0dGFjaF9kcml2ZXIrMHgxMjQvMHgxYmMKWyAgICA2LjEx
Nzc0OF0gIGJ1c19mb3JfZWFjaF9kcnYrMHg4Yy8weGQ4ClsgICAgNi4xMTc3NTBdICBfX2Rl
dmljZV9hdHRhY2grMHgxMTgvMHgxYjAKWyAgICA2LjExNzc1N10gIGRldmljZV9hdHRhY2gr
MHgyMC8weDJjClsgICAgNi4xMTgxMzJdIEJsdWV0b290aDogSENJIFVBUlQgcHJvdG9jb2wg
QVRIM0sgcmVnaXN0ZXJlZApbICAgIDYuMTE4MTQ4XSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5l
dyBpbnRlcmZhY2UgZHJpdmVyIGJmdXNiClsgICAgNi4xMTg0NzhdICBwY2lfYnVzX2FkZF9k
ZXZpY2UrMHg1Yy8weGE4ClsgICAgNi4xMTg0ODNdICBwY2lfYnVzX2FkZF9kZXZpY2VzKzB4
NGMvMHg4YwpbICAgIDYuMTE4ODEyXSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZh
Y2UgZHJpdmVyIGJ0dXNiClsgICAgNi4xMTkyNTFdICBwY2lfaG9zdF9wcm9iZSsweDgwLzB4
YjQKWyAgICA2LjExOTI1NV0gIGR3X3BjaWVfaG9zdF9pbml0KzB4MzEwLzB4M2ZjClsgICAg
Ni4xMTk3NTNdIEZhaWxlZCB0byBpbml0aWFsaXplIGR2ZnMgaW5mbyBjcHUwClsgICAgNi4x
MjAwMTZdICBwY2llX3JlYWxseV9wcm9iZSsweDk1OC8weGUwNApbICAgIDYuMTIwMDIxXSAg
a3RocmVhZCsweDEyMC8weDI1OApbICAgIDYuMTIwNTYxXSBzZGhjaTogU2VjdXJlIERpZ2l0
YWwgSG9zdCBDb250cm9sbGVyIEludGVyZmFjZSBkcml2ZXIKWyAgICA2LjEyMDY5OF0gIHJl
dF9mcm9tX2ZvcmsrMHgxMC8weDMwClsgICAgNi4xMjA3MDJdIAogICAgICAgICAgICAgICBQ
QzogMHhmZmZmZmZjMDEwNmE4NzNjOgpbICAgIDYuMTIxMDE3XSBzZGhjaTogQ29weXJpZ2h0
KGMpIFBpZXJyZSBPc3NtYW4KWyAgICA2LjEyMTQ4NF0gODUzYyAgOTEwYjYyNjgKWyAgICA2
LjEyMTk2NV0gU3lub3BzeXMgRGVzaWdud2FyZSBNdWx0aW1lZGlhIENhcmQgSW50ZXJmYWNl
IERyaXZlcgpbICAgIDYuMTIyMTM3XSBzZGhjaS1wbHRmbTogU0RIQ0kgcGxhdGZvcm0gYW5k
IE9GIGRyaXZlciBoZWxwZXIKWyAgICA2LjEyMjMxN10gIGViMDgwMmJmIDU0MDAwN2MwClsg
ICAgNi4xMjM5MzldIGNyeXB0b2RldjogZHJpdmVyIDEuMTIgbG9hZGVkLgpbICAgIDYuMTI0
MjM3XSAgMzk0MTJlNjggOTEwMDEzZTIgYWExMzAzZTAgMTEwMDA5MDEgOTdmZjNjODMKWyAg
ICA2LjEyNDI0MV0gODU1YyAgNzk0MDBiZTgKWyAgICA2LjEyNDYzM10gaGlkOiByYXcgSElE
IGV2ZW50cyBkcml2ZXIgKEMpIEppcmkgS29zaW5hClsgICAgNi4xMjQ5MDRdICBhYTEzMDNl
MCAxMjFmNzkwMgpbICAgIDYuMTI1NTM4XSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRl
cmZhY2UgZHJpdmVyIHVzYmhpZApbICAgIDYuMTI1NzU5XSAgNzkwMDBiZTIgMzk0MTJlNjgK
WyAgICA2LjEyNjIwMl0gdXNiaGlkOiBVU0IgSElEIGNvcmUgZHJpdmVyClsgICAgNi4xMjc2
MTZdIG9wdGVlOiBwcm9iaW5nIGZvciBjb25kdWl0IG1ldGhvZC4KWyAgICA2LjEyNzg0NF0g
IDExMDAwOTAxIDk3ZmYzZDA0ClsgICAgNi4xMjg1NTFdIG9wdGVlOiBhcGkgdWlkIG1pc21h
dGNoClsgICAgNi4xMjg3ODldICAzOTU5OWE2OApbICAgIDYuMTI5MjY1XSBvcHRlZTogcHJv
YmUgb2YgZmlybXdhcmU6b3B0ZWUgZmFpbGVkIHdpdGggZXJyb3IgLTIyClsgICAgNi4xMjk1
MDFdIDg1N2MgIDM3MDAwMDg4ClsgICAgNi4xMzAxNDNdIHVzYmNvcmU6IHJlZ2lzdGVyZWQg
bmV3IGludGVyZmFjZSBkcml2ZXIgc25kLXVzYi1hdWRpbwpbICAgIDYuMTMwMjIyXSAgNTI4
MDAwMjEgYWExMzAzZTAgOTdmZjZlZWMgMzk0MDEyODggYjk0MDAyODkgYjM2MDFkMDkgOTI3
M2Y5MjgKWyAgICA2LjEzNDM5OV0gODU5YyAgYjkwMDAyODggYjAwMGM2ZTggYjk0NDA5MDgg
MmExZjAzZjQgMzUwMDAyMjggNzk0MGFhYTggMzYzODAxZTggNTMwNDE5MDgKWyAgICA2LjEz
NTExMl0gODViYyAgYjk0MDUyYTkgNTI4MDAwMmEgMTI4MDAwMGIgZjk0MDBlYWMgMWFjODIx
NGEgMzk0MTgyYTEgNzEwMDExMWYgMWFjYTIxNjgKWyAgICA2LjEzNTgyNF0gODVkYyAgMWE4
ODgzZTggMGEwODAxMzQgZDEwMmMxODAgMmExNDAzZTIgOTdmZjNkMWQgYjk0MDVhYTggYWEx
MzAzZTAgYjkwMDUyYjQKWyAgICA2LjEzNjUzN10gODVmYyAgYjkwMzllNjggOTdmZjdlYzYg
YWExMzAzZTAgOTQwMDAwMGUgYjAwMDk3ODkgZjk0MDA3ZTggZjk0NjI5MjkgZWIwODAxM2YK
WyAgICA2LjEzNzI0OV0gODYxYyAgNTQwMDAwZTEgYTk0MzRmZjQgZjk0MDEzZjUgYTk0MTdi
ZmQgOTEwMTAzZmYgZDUwMzIzYmYgZDY1ZjAzYzAgOTQzNTNkZGQKWyAgICA2LjEzNzk2Ml0g
ODYzYyAgZDQyMTAwMDAgZDUwMzI0NWYgYWExZTAzZTkgZDUwMzIwMWYgZDUwMzIzM2YgYTli
YzdiZmQgZjkwMDBiZjcgYTkwMjU3ZjYKWyAgICA2LjEzODY3NF0gODY1YyAgYTkwMzRmZjQg
OTEwMDAzZmQgZjk0MTZjMTQgYWEwMDAzZjMgOTEwYjYwMTYgMTQwMDAwMDIgZjk0MDAyOTQg
ZWIxNjAyOWYKWyAgICA2LjEzOTM4N10gODY3YyAgNTQwMDAyNjAgYjk0MDEyODAgMzRmZmZm
ODAgYjk0MDE2ODggMzRmZmZmNDggOTdlODllZDEgZjk0MDNjMDggYjUwMDAxNjgKWyAgICA2
LjE0MDA5OV0gODY5YyAgNTI4MDAwMzUgYjk0MDE2ODggNmIwODAyYmYgNTRmZmZlNjIgYjk0
MDEyODggMGIwODAyYTAgOTdlODllYzggZjk0MDNjMDgKWyAgICA2LjE0MDgxMl0gODZiYyAg
MTEwMDA2YjUgYjRmZmZmMDggZDQyMTAwMDAgZjk0M2JlNjEgYjQwMDAzMDEgOTEwMmMyNjAg
OTdmMGYzOGYgZjk0M2JlNjgKWyAgICA2LjE0MTUyNF0gODZkYyAgZjk0MDAxMDggZjk0MDBk
MTQgZjk0MDAyOTUgYjQwMDAxMzUgNTI4MDAwMzcgZjk0MDAyYTAgOTdlZGJmNWIgYWExNTAz
ZTAKWyAgICA2LjE0MjIzN10gODZmYyAgOTdlZGJmNTkgZjg3N2RhOTUgMTEwMDA2ZjcgYjVm
ZmZmNTUgYWExNDAzZTAgOTdlZGJmNTQgZjk0M2JlNjggZjk0MDAxMDAKWyAgICA2LjE0Mjk1
MF0gODcxYyAgOTdlZGJmNTEgZjk0M2JlNjAgOTdlZGJmNGYgZjkwM2JlN2YgZjk0MTY2NjAg
YjQwMDAwNjAgMzk0MGEwMDggMzcwMDAwNjgKWyAgICA2LjE0MzY2Ml0gODczYyogZDQyMTAw
MDAgMTQwMDAwMDMgOTEwMmMyNjEgOTdlOGUwN2QgZjk0MDAyZDMgZWIxNjAyN2YgNTQwMDAz
MjAgZDI4MDIwMTQKWyAgICA2LjE0NDM3NF0gODc1YyAgZjJmYmQ1YjQgMTQwMDAwMGMgYWEx
NTAzZTggZjk0MDA2NjkgOTEwMDhhOGEgYWExMzAzZTAgZjkwMDA1MDkgZjkwMDAxMjgKWyAg
ICA2LjE0NTA4N10gODc3YyAgYTkwMDJhNzQgOTdlOGRlNWUgZWIxNjAyYmYgYWExNTAzZjMg
NTQwMDAxNjAgMzk0MTUyNjggZjk0MDAyNzUgMzYwN2ZlNjgKWyAgICA2LjE0NTc5OV0gODc5
YyAgZWIxNjAyYmYgYWExNTAzZTggNTRmZmZlMjEgZjk0MDMyNjAgOTdlNjUwZTAgZjk0MDAy
NjggMTdmZmZmZWQgYTk0MzRmZjQKWyAgICA2LjE0NjUxMl0gODdiYyAgYTk0MjU3ZjYgZjk0
MDBiZjcgYThjNDdiZmQgZDUwMzIzYmYgZDY1ZjAzYzAgZDUwMzI0NWYgYWExZTAzZTkgZDUw
MzIwMWYKWyAgICA2LjE0NzIyNF0gODdkYyAgZDUwMzIzM2YgZDEwMDgzZmYgYTkwMTdiZmQg
OTEwMDQzZmQgYjAwMDk3ODggZjk0NjI5MDggZjkwMDA3ZTggMzk0MTMwMDgKWyAgICA2LjE0
NzkzN10gODdmYyAgMzQwMDAxMDggMTEwMDA5MDEgOTEwMDEzZTIgOTdmZjNiZDcgNzk0MDBi
ZTggMTIwMDI5MDggMTEwMDA1MDAgMTQwMDAwMDIKWyAgICA2LjE0ODY0OV0gODgxYyAgMTI4
MDAyYTAgYjAwMDk3ODkgZjk0MDA3ZTggZjk0NjI5MjkgZWIwODAxM2YgNTQwMDAwYTEgYTk0
MTdiZmQgOTEwMDgzZmYKWyAgICA2LjE0OTM2Ml0gODgzYyAgZDUwMzIzYmYgZDY1ZjAzYzAg
OTQzNTNkNWEgZDUwMzI0NWYgYWExZTAzZTkgZDUwMzIwMWYgZDUwMzIzM2YgZDEwMGMzZmYK
WyAgICA2LjE1MDA3NF0gODg1YyAgYTkwMTdiZmQgYTkwMjRmZjQgOTEwMDQzZmQgYjAwMDk3
ODggZjk0NjI5MDggZjkwMDA3ZTggYjQwMDA4NjAgYjAwMGM2ZTgKWyAgICA2LjE1MDc4N10g
ODg3YyAgMzk1MDMxMDggMzUwMDA4MDggOTExOTg0MTQgMzk0MDEyODkgYjk0MDAyODggYWEw
MDAzZjMgYjM2MDFkMjggMzY2ODA3NDgKWyAgICA2LjE1MTQ5OV0gODg5YyAgYjk0MGFlNjkg
NzEwMDBkM2YgNTQwMDAwYzEgOTI3MmY5MDkgZDM2MGZkMDggMzkwMDEyODggYjkwMDAyODkg
MTQwMDAwMzAKWyAgICA2LjE1MjIxMl0gODhiYyAgZjk0MTZlNjggOTEwYjYyNjkgZWIwOTAx
MWYgNTQwMDAyODAgYjAwMGM2ZWEgMTQwMDAwMDQgZjk0MDAxMDggZWIwOTAxMWYKWyAgICA2
LjE1MjkyNF0gODhkYyAgNTQwMDAxZTAgYjk0NDA5NGIgMzVmZmZmOGIgMzk0MTU1MGIgMzcw
ZmZmNGIgZjk0MDMxMGIgNzk0MGFkMGMgYWIwYzExNmIKWyAgICA2LjE1MzM5OV0gbW1jMDog
U0RIQ0kgY29udHJvbGxlciBvbiBmZTJlMDAwMC5tbWMgW2ZlMmUwMDAwLm1tY10gdXNpbmcg
QURNQQpbICAgIDYuMTUzNjM3XSA4OGZjICA1NGZmZmVjMCBiOTQwNTEwYyBkNTAzMzJiZiA5
MTAwMzE2YiAzMjAwMDE4YyBiOTAwMDE2YyAxN2ZmZmZmMCAzOTQxMzI2OApbICAgIDYuMTU0
OTY3XSA4OTFjICA5MTAwMTNlMiBhYTEzMDNlMCAxMTAwMDkwMSA5N2ZmM2I4ZiA3OTQwMGJl
OCBhYTEzMDNlMCAxMjAwMzkwMiA3OTAwMGJlMgpbICAgIDYuMTU1NjgwXSAKICAgICAgICAg
ICAgICAgTFI6IDB4ZmZmZmZmYzAxMDZhOGRmMDoKWyAgICA2LjE1NjEyMl0gOGJmMCAgOTdl
OGRkMWIgYjQwMDExNjAgMzk0MTJlNjggYWEwMDAzZjggOTEwMDEzZTIgYWExMzAzZTAgMTEw
MDA5MDEgOTdmZjNhZDYKWyAgICA2LjE1NjgzNF0gOGMxMCAgMzk1OTllNjkgNzk0MDBiZTgg
MzYyMDAwNjkgMzIxODAxMDggNzkwMDBiZTggNzk0MGFiMDkgMTI4MDcwMmQgNTMwNzdkMGEK
WyAgICA2LjE1NzU0N10gOGMzMCAgNTMwMTdkMGIgMGEwZDAxMjkgMzMxODAxNDkgMTIxOTAx
NmEgMmEwYTAxMjkgOTM0MDdlY2EgZjEwMDA1NGEgZGFjMDExNGEKWyAgICA2LjE1ODI1OV0g
OGM1MCAgY2IwYTAzZWEgNTMxZDcxMGMgOWFjYTIzNmEgNzkwMGFmMWYgMTIxYzA5OGMgOWE5
ZjE1NGEgNzkwMGFiMDkgMTIxOTY1MjkKWyAgICA2LjE1ODk3Ml0gOGM3MCAgZGFjMDExNGEg
MmEwYzAxMjkgYjk0MzllNmMgNTMxZjA5NGEgMmEwOTAxNDkgNTIxZjA5MjkgYjkwMDViMGMg
NzkwMGFiMDkKWyAgICA2LjE1OTY4NV0gOGM5MCAgMzk0MTJlNjkgNzIxOTAxMWYgNTI4MDAy
MDggNTI4MDAxOGEgMWE4ODAxNDggMGIwODAxMjggMzkwMTgzMDggMzYzODAwYWIKWyAgICA2
LjE2MDM5N10gOGNiMCAgMTIwMDFkMDEgOTEwMTQzMDIgYWExMzAzZTAgOTdmZjNhZmEgYWEx
OTAzZTAgOTdlZGJkZTcgNzk0MGFiMDggYjAwMGM2ZTkKWyAgICA2LjE2MTExMF0gOGNkMCAg
Yjk0NDA5MjkgMTI4MDAwMGMgNTMwNDE5MGEgMWFjYTIzNmIgMWFjYjIxOGIgNzEwMDExNWYg
MmExZjAzZjkgNWE4YjgxOWIKWyAgICA2LjE2MTgyMl0gOGNmMCAgMzUwMDAxMjkgMzYzODAx
MDggYjk0MDUzMDggZjk0MDBmMDkgMzk0MTgzMDEgMmExYjAxMTkgZDEwMmMxMjAgMmExOTAz
ZTIKWyAgICA2LjE2MjUzNF0gOGQxMCAgOTdmZjNiNTQgYjkwMDUzMTkgZjk0MTcyNjggZjkw
MTcyNzggYTkwMDIzMWMgZjkwMDAxMTggZjk0MTY2NjAgYjQwMDAwNjAKWyAgICA2LjE2MzI0
N10gOGQzMCAgMzk0MGEwMDggMzcwMDAwODggZDQyMTAwMDAgMTI4MDAyNTkgMTQwMDAwMDYg
YWExNzAzZTEgMmExNjAzZTIgOTdlOGRmMDkKWyAgICA2LjE2Mzk1OV0gOGQ1MCAgMmEwMDAz
ZjkgMzQwMDAxYzAgYjAwMGM2ZTggYjk0NDA5MDggMzUwMDA0MDggMzk0MTUzMDggMzYzODAz
YzggYjk0MDUzMDgKWyAgICA2LjE2NDY3Ml0gOGQ3MCAgZjk0MDBmMDkgMzk0MTgzMDEgMGEz
YjAxMTYgZDEwMmMxMjAgMmExNjAzZTIgOTdmZjNiMzcgMTQwMDAwMTcgZjk0MDAzODgKWyAg
ICA2LjE2NTM4NV0gOGQ5MCAgZWIxYzAxMWYgNTQwMDAxODAgMzk0MDEzNGEgYjk0MDAzNDkg
YjM2MDdkNDkgMTQwMDAwMDQgZjk0MDAxMDggZWIxYzAxMWYKWyAgICA2LjE2NjA5N10gOGRi
MCAgNTQwMDAwYTAgMzYzZmZmYTkgYjk0MDI1MGEgMzRmZmZmNmEgMTQwMDAwMzcgYWExMzAz
ZTAgOTQwMDAzYTMgMzQwMDAzNjAKWyAgICA2LjE2NjgwOV0gOGRkMCAgYjAwMGM2ZTggYjk0
NDA5MDggMmEwMDAzZjkgMzRmZmZjNDggMmExZjAzZjYgYWExMzAzZTAgYjkwMDUzMTYgOTdm
ZmZlMTUKWyAgICA2LjE2NzUyMl0gOGRmMCogNTI4MDAwM2IgMzdmODAxZjkgNmIxNTAzM2Yg
MTI4MDAzNzYgNTRmZmViOGEgMTdmZmZmMzQgZjAwMDk3MDEgOTEwMmMyNjAKWyAgICA2LjE2
ODIzNF0gOGUxMCAgOTEyNmIwMjEgOTQzNTMzOTUgMTI4MDAyYjYgMTdmZmZmMmUgYWExOTAz
ZTAgOTdlZGJkOGYgMTI4MDAxNzYgMTdmZmZmMmEKWyAgICA2LjE2ODk0N10gOGUzMCAgMmEx
OTAzZjYgMTdmZmZmMjggMzk1OTlhNjggMzcwMDAwODggYWExMzAzZTAgMmExZjAzZTEgOTdm
ZjZjYmMgMzk0MTJlNjgKWyAgICA2LjE2OTY2MF0gOGU1MCAgOTEwMDEzZTIgYWExMzAzZTAg
MTEwMDA5MDEgOTdmZjNhNDIgNzk0MDBiZTggYWExMzAzZTAgMzIwMDAxMDIgNzkwMDBiZTIK
WyAgICA2LjE3MDM3Ml0gOGU3MCAgMzk0MTJlNjggMTEwMDA5MDEgOTdmZjNhYzMgYjk0MDAz
NDggYWExMzAzZTAgMzIxNDAxMDggYjkwMDAzNDggOTdmZjdjYWEKWyAgICA2LjE3MTA4NF0g
OGU5MCAgYjk0MDEzMDggYjkwMzllNjggMTdmZmZmMGYgOTAwMDhlNjEgOTEyYzMwMjEgYWEx
NzAzZTAgOTQzNTM0YTkgYjAwMGM2ZTgKWyAgICA2LjE3MTc5N10gOGViMCAgYjk0NDA5MDgg
MzUwMDAwNjggMzk0MTUzMDggMzczODAwZTggMmExZjAzZjQgYWExMzAzZTAgYjkwMDUzMTQg
OTdmZmZkZGQKWyAgICA2LjE3MjUxMF0gOGVkMCAgMTI4MDAwOTYgMTdmZmZmMDAgYjk0MDUz
MDggZjk0MDBmMDkgMzk0MTgzMDEgMGEzYjAxMTQgZDEwMmMxMjAgMmExNDAzZTIKWyAgICA2
LjE3MzIyMl0gOGVmMCAgOTdmZjNhZGMgMTdmZmZmZjQgZDQyMTAwMDAgMTI4MDAyYjYgMTdm
ZmZlZjUgOTQzNTNiYWEgZDUwMzI0NWYgYWExZTAzZTkKWyAgICA2LjE3MzkzNV0gOGYxMCAg
ZDUwMzIwMWYgZDUwMzIzM2YgYTliZjdiZmQgOTEwMDAzZmQgYWExZjAzZTQgMmExZjAzZTUg
OTQwMDAwMDQgYThjMTdiZmQKWyAgICA2LjE3NDY0N10gOGYzMCAgZDUwMzIzYmYgZDY1ZjAz
YzAgZDUwMzI0NWYgYWExZTAzZTkgZDUwMzIwMWYgZDUwMzIzM2YgZDEwMzAzZmYgYTkwNjdi
ZmQKWyAgICA2LjE3NTM1OV0gOGY1MCAgYTkwNzZmZmMgYTkwODY3ZmEgYTkwOTVmZjggYTkw
YTU3ZjYgYTkwYjRmZjQgOTEwMTgzZmQgYjAwMDk3ODggZjk0NjI5MDgKWyAgICA2LjE3NjA3
Ml0gOGY3MCAgNmIwMjAwN2YgZjgxZjgzYTggNTQwMDAwNmEgMTI4MDA0MjAgMTQwMDAxNGYg
OTExOTg0MTkgMzk0MDEzMjggYjk0MDAzMjkKWyAgICA2LjE3Njc4NF0gOGY5MCAgYWEwMDAz
ZjMgYjM2MDFkMDkgMzc2ODI4ZTkgOTEwMmMyNjggZjEwMDAwM2YgZjgxZTgzYTggOTEwMDEw
MjggZjkwMDE3ZTgKWyAgICA2LjE3NzQ5N10gOGZiMCAgMWE5ZjA3ZTggMmEwNTAzZjUgYWEw
NDAzZjYgMmEwMzAzZjQgMmEwMjAzZjcgYWEwMTAzZjggOTEwYjYyN2EgOTEwMDMwM2IKWyAg
ICA2LjE3NzU1MF0gdXNiIDQtMTogbmV3IGZ1bGwtc3BlZWQgVVNCIGRldmljZSBudW1iZXIg
MiB1c2luZyBvaGNpLXBsYXRmb3JtClsgICAgNi4xNzgyMDldIDhmZDAgIDUyMDAwMTA4IGI4
MWU0M2E4IGI0MDAwMTE2IDJhMTcwM2UwIDJhMTQwM2UxIGFhMTYwM2UyIDk3ZThlMjViIDJh
MDAwM2Y0ClsgICAgNi4xNzk1MzRdIAogICAgICAgICAgICAgICBTUDogMHhmZmZmZmZjMDEy
OTAzOTcwOgpbICAgIDYuMTc5OTc3XSAzNzcwICAxMjkwMzgyMCBmZmZmZmZjMCAwMDAwMDAw
NiAwMDAwMDAwMCAxMjkwMzdhMCBmZmZmZmZjMCAxMDAzYjdjMCBmZmZmZmZjMApbICAgIDYu
MTgwNjg5XSAzNzkwICBmMjAwMDgwMCAwMDAwMDAwMCAxMjkwMzg2MCBmZmZmZmZjMCAxMjkw
MzdlMCBmZmZmZmZjMCAxMTNmNmQ5OCBmZmZmZmZjMApbICAgIDYuMTgxNDAyXSAzN2IwICAw
NGM0ODIwMCBmZmZmZmY4MCA2MGMwMDAwNSAwMDAwMDAwMCAxMDZhODczYyBmZmZmZmZjMCAw
MDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMTgyMTE0XSAzN2QwICAxMjkwMzgyMCBmZmZmZmZj
MCBmMjAwMDgwMCAwMDAwMDAwMCAxMjkwMzgxMCBmZmZmZmZjMCAxMTNmNmE2NCBmZmZmZmZj
MApbICAgIDYuMTgyODI3XSAzN2YwICAxMjkwMzk3MCBmZmZmZmZjMCAxMTNmNzk4NCBmZmZm
ZmZjMCBmZmZmZmZmZiAwMDAwMDA3ZiAwNGM0MDgwMCBmZmZmZmY4MApbICAgIDYuMTgzNTM5
XSAzODEwICAxMjkwMzk1MCBmZmZmZmZjMCAxMDAxMjQwOCBmZmZmZmZjMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMTg0MjUyXSAzODMwICAwMDAwMDA1
MiAwMDAwMDAwMCAwMDAwMDAwMiAwMDAwMDAwMCAxMjkwMzk1NCBmZmZmZmZjMCAwMDAwMDA0
MCAwMDAwMDAwMApbICAgIDYuMTg0OTY0XSAzODUwICAwMDAwMDAzZiAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDA1YSAwMDAwMDAwMCAxMDZhOGRmMCBmZmZmZmZjMApbICAg
IDYuMTg1Njc3XSAzODcwICAwMDAwMDAwNSAwMDAwMDAwMCBmZmZmZmZmZiAwMDAwMDAwMCBm
ZmZmZmZmZiAwMDAwMDAwMCBmZmZmZmM3ZSAwMDAwMDAwMApbICAgIDYuMTg2Mzg5XSAzODkw
ICAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMTg3MTAyXSAzOGIwICAwMDAwMDAwMCAwMDAw
MDAwMCAwNGM0MDgwMCBmZmZmZmY4MCAwNGM0MGFkOCBmZmZmZmY4MCAwMDAwMDAwMSAwMDAw
MDAwMApbICAgIDYuMTg3ODE0XSAzOGQwICAwNGM0MGFkOCBmZmZmZmY4MCAwNGM0MDhiMCBm
ZmZmZmY4MCAwNGM0ODIwMCBmZmZmZmY4MCBmZmZmZmZlZCAwMDAwMDAwMApbICAgIDYuMTg4
NTI3XSAzOGYwICAwNGM0MGU2MSBmZmZmZmY4MCBmZmZmZmZmZiAwMDAwMDAwMCAwNGM0MGFk
OCBmZmZmZmY4MCAxMjkwMzk3MCBmZmZmZmZjMApbICAgIDYuMTg5MjM5XSAzOTEwICAxMDZh
OGRmMCBmZmZmZmZjMCAxMjkwMzk3MCBmZmZmZmZjMCAxMDZhODczYyBmZmZmZmZjMCA2MGMw
MDAwNSAwMDAwMDAwMApbICAgIDYuMTg5MzMyXSBtbWMwOiBuZXcgSFM0MDAgRW5oYW5jZWQg
c3Ryb2JlIE1NQyBjYXJkIGF0IGFkZHJlc3MgMDAwMQpbICAgIDYuMTg5OTUyXSAzOTMwICAw
NGM0MGU2MSBmZmZmZmY4MCBmZmZmZmZmZiAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiAx
MjkwMzljMCBmZmZmZmZjMApbICAgIDYuMTkwOTM1XSBtbWNibGswOiBtbWMwOjAwMDEgQkpU
RDRSIDI5LjEgR2lCIApbICAgIDYuMTkxMjIxXSAzOTUwICAxMjkwMzk3MCBmZmZmZmZjMCAx
MDZhODczYyBmZmZmZmZjMCAwMDAwMDAwMCAwMDAwMDAwMCAyMGMwMDAwNSAwMDAwMDAwMApb
ICAgIDYuMTkxNzYwXSBtbWNibGswYm9vdDA6IG1tYzA6MDAwMSBCSlRENFIgcGFydGl0aW9u
IDEgNC4wMCBNaUIKWyAgICA2LjE5MjMzNV0gMzk3MCogMTI5MDM5YzAgZmZmZmZmYzAgMTA2
YThkZjAgZmZmZmZmYzAgMDRjNDA4YjAgZmZmZmZmODAgMDRjNDA4YjAgZmZmZmZmODAKWyAg
ICA2LjE5Mjk4OV0gbW1jYmxrMGJvb3QxOiBtbWMwOjAwMDEgQkpURDRSIHBhcnRpdGlvbiAy
IDQuMDAgTWlCClsgICAgNi4xOTM1NjldIDM5OTAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDA0YzQwODAwIGZmZmZmZjgwClsgICAg
Ni4xOTQxODZdIG1tY2JsazBycG1iOiBtbWMwOjAwMDEgQkpURDRSIHBhcnRpdGlvbiAzIDQu
MDAgTWlCLCBjaGFyZGV2ICgyMzY6MCkKWyAgICA2LjE5NDgwMV0gMzliMCAgMDAwMGMwN2Yg
MDAwMjAwOGEgNDBmMjBiMDAgZDhjMjA5ZTAgMTI5MDNhNjAgZmZmZmZmYzAgMTA2YTk2NGMg
ZmZmZmZmYzAKWyAgICA2LjE5NjE1NV0gMzlkMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDJkNjZj
MDAgZmZmZmZmODAgMDQwNTBmMTAgZmZmZmZmODAgMDQwNTBmMTAgZmZmZmZmODAKWyAgICA2
LjE5Njg2N10gMzlmMCAgZmZmZmZmZjQgMDAwMDAwMDAgMDAwMDAwMjAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEgMDAwMDAwMDAKWyAgICA2LjE5NzU3OV0gM2ExMCAg
MDAwMDAwMDYgMDAwMDAwMDAgMDRjNDA4MDAgZmZmZmZmODAgMTI5MDNhNjAgZmZmZmZmYzAg
MDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjE5Nzk1NF0gIG1tY2JsazA6IHAxIHAyIHAzIHA0
IHA1IHA2IHA3IHA4ClsgICAgNi4xOTgyOTJdIDNhMzAgIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsg
ICAgNi4xOTkzOTBdIDNhNTAgIDAwMDAwMDAwIDAwMDAwMDAwIDQwZjIwYjAwIGQ4YzIwOWUw
IDEyOTAzYWQwIGZmZmZmZmMwIDEwNjkzNTY0IGZmZmZmZmMwClsgICAgNi4yMDAxMDJdIDNh
NzAgIDAwMDAwMDExIDAwMDAwMDAwIDA0YzQwZTYxIGZmZmZmZjgwIDExNGMyYzY4IGZmZmZm
ZmMwIDExZjg1MDAwIGZmZmZmZmMwClsgICAgNi4yMDA4MTRdIDNhOTAgIDA0MDUwYzAwIGZm
ZmZmZjgwIDA0YzQwODAwIGZmZmZmZjgwIDAwMDAwMDAxIDAwMDAwMDAwIDEwNjc1ZWI4IGZm
ZmZmZmMwClsgICAgNi4yMDE1MjddIDNhYjAgIGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmZm
IGZmZmZmZmZmIGZmZmZmZmZmIGZmZmZmZmMwIDQwZjIwYjAwIGQ4YzIwOWUwClsgICAgNi4y
MDIyNDBdIDNhZDAgIDEyOTAzYjMwIGZmZmZmZmMwIDEwNjkzZGQwIGZmZmZmZmMwIDAwMDAw
MDAwIDAwMDAwMDAwIDAyZDY2YzAwIGZmZmZmZjgwClsgICAgNi4yMDI5NTJdIDNhZjAgIDA0
MDUwZjEwIGZmZmZmZjgwIDA0MDUwZjEwIGZmZmZmZjgwIDExZGE4OGQwIGZmZmZmZmMwIDA0
YzQwZTYxIGZmZmZmZjgwClsgICAgNi4yMDM2NjVdIDNiMTAgIDExNGMyYzY4IGZmZmZmZmMw
IDA0YzQwOGIwIGZmZmZmZjgwIDExZGE4ODcwIGZmZmZmZmMwIDA0YzQwODAwIGZmZmZmZjgw
ClsgICAgNi4yMDQzNzddIDNiMzAgIDEyOTAzYjUwIGZmZmZmZmMwIDEwNjg4NjM4IGZmZmZm
ZmMwIDExZGE4ODcwIGZmZmZmZmMwIDA0YzQwODAwIGZmZmZmZjgwClsgICAgNi4yMDUwODld
IDNiNTAgIDEyOTAzYjkwIGZmZmZmZmMwIDEwOTllOWYwIGZmZmZmZmMwIDA0MDUwNDgwIGZm
ZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4yMDU4MDNdIAogICAgICAgICAgICAg
ICBYNDogMHhmZmZmZmZjMDEyOTAzOTU0OgpbICAgIDYuMjA2MjQ3XSAzNzU0ICBmZmZmZmZj
MCAxMjkwMzgyMCBmZmZmZmZjMCAxMjkwMzc4MCBmZmZmZmZjMCAxMDAxNzZhOCBmZmZmZmZj
MCAxMjkwMzgyMApbICAgIDYuMjA2OTU3XSAzNzc0ICBmZmZmZmZjMCAwMDAwMDAwNiAwMDAw
MDAwMCAxMjkwMzdhMCBmZmZmZmZjMCAxMDAzYjdjMCBmZmZmZmZjMCBmMjAwMDgwMApbICAg
IDYuMjA3NjcwXSAzNzk0ICAwMDAwMDAwMCAxMjkwMzg2MCBmZmZmZmZjMCAxMjkwMzdlMCBm
ZmZmZmZjMCAxMTNmNmQ5OCBmZmZmZmZjMCAwNGM0ODIwMApbICAgIDYuMjA4MzgyXSAzN2I0
ICBmZmZmZmY4MCA2MGMwMDAwNSAwMDAwMDAwMCAxMDZhODczYyBmZmZmZmZjMCAwMDAwMDAw
MCAwMDAwMDAwMCAxMjkwMzgyMApbICAgIDYuMjA5MDk1XSAzN2Q0ICBmZmZmZmZjMCBmMjAw
MDgwMCAwMDAwMDAwMCAxMjkwMzgxMCBmZmZmZmZjMCAxMTNmNmE2NCBmZmZmZmZjMCAxMjkw
Mzk3MApbICAgIDYuMjA5ODA3XSAzN2Y0ICBmZmZmZmZjMCAxMTNmNzk4NCBmZmZmZmZjMCBm
ZmZmZmZmZiAwMDAwMDA3ZiAwNGM0MDgwMCBmZmZmZmY4MCAxMjkwMzk1MApbICAgIDYuMjEw
NTE5XSAzODE0ICBmZmZmZmZjMCAxMDAxMjQwOCBmZmZmZmZjMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDA1MgpbICAgIDYuMjExMjMyXSAzODM0ICAwMDAw
MDAwMCAwMDAwMDAwMiAwMDAwMDAwMCAxMjkwMzk1NCBmZmZmZmZjMCAwMDAwMDA0MCAwMDAw
MDAwMCAwMDAwMDAzZgpbICAgIDYuMjExOTQ0XSAzODU0ICAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDA1YSAwMDAwMDAwMCAxMDZhOGRmMCBmZmZmZmZjMCAwMDAwMDAwNQpb
ICAgIDYuMjEyNjU3XSAzODc0ICAwMDAwMDAwMCBmZmZmZmZmZiAwMDAwMDAwMCBmZmZmZmZm
ZiAwMDAwMDAwMCBmZmZmZmM3ZSAwMDAwMDAwMCAwMDAwMDAwMQpbICAgIDYuMjEzMzcwXSAz
ODk0ICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMSAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMjE0MDgyXSAzOGI0ICAwMDAwMDAwMCAw
NGM0MDgwMCBmZmZmZmY4MCAwNGM0MGFkOCBmZmZmZmY4MCAwMDAwMDAwMSAwMDAwMDAwMCAw
NGM0MGFkOApbICAgIDYuMjE0Nzk0XSAzOGQ0ICBmZmZmZmY4MCAwNGM0MDhiMCBmZmZmZmY4
MCAwNGM0ODIwMCBmZmZmZmY4MCBmZmZmZmZlZCAwMDAwMDAwMCAwNGM0MGU2MQpbICAgIDYu
MjE1NTA3XSAzOGY0ICBmZmZmZmY4MCBmZmZmZmZmZiAwMDAwMDAwMCAwNGM0MGFkOCBmZmZm
ZmY4MCAxMjkwMzk3MCBmZmZmZmZjMCAxMDZhOGRmMApbICAgIDYuMjE2MjE5XSAzOTE0ICBm
ZmZmZmZjMCAxMjkwMzk3MCBmZmZmZmZjMCAxMDZhODczYyBmZmZmZmZjMCA2MGMwMDAwNSAw
MDAwMDAwMCAwNGM0MGU2MQpbICAgIDYuMjE2OTMyXSAzOTM0ICBmZmZmZmY4MCBmZmZmZmZm
ZiAwMDAwMDAwMCBmZmZmZmZmZiBmZmZmZmZmZiAxMjkwMzljMCBmZmZmZmZjMCAxMjkwMzk3
MApbICAgIDYuMjE3NjQ0XSAzOTU0KiBmZmZmZmZjMCAxMDZhODczYyBmZmZmZmZjMCAwMDAw
MDAwMCAwMDAwMDAwMCAyMGMwMDAwNSAwMDAwMDAwMCAxMjkwMzljMApbICAgIDYuMjE4MzU3
XSAzOTc0ICBmZmZmZmZjMCAxMDZhOGRmMCBmZmZmZmZjMCAwNGM0MDhiMCBmZmZmZmY4MCAw
NGM0MDhiMCBmZmZmZmY4MCAwMDAwMDAwMApbICAgIDYuMjE5MDcwXSAzOTk0ICAwMDAwMDAw
MCAwMDAwMDAwMSAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwNGM0MDgwMCBmZmZmZmY4
MCAwMDAwYzA3ZgpbICAgIDYuMjE5NzgyXSAzOWI0ICAwMDAyMDA4YSA0MGYyMGIwMCBkOGMy
MDllMCAxMjkwM2E2MCBmZmZmZmZjMCAxMDZhOTY0YyBmZmZmZmZjMCAwMDAwMDAwMApbICAg
IDYuMjIwNDk0XSAzOWQ0ICAwMDAwMDAwMCAwMmQ2NmMwMCBmZmZmZmY4MCAwNDA1MGYxMCBm
ZmZmZmY4MCAwNDA1MGYxMCBmZmZmZmY4MCBmZmZmZmZmNApbICAgIDYuMjIxMjA3XSAzOWY0
ICAwMDAwMDAwMCAwMDAwMDAyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MSAwMDAwMDAwMCAwMDAwMDAwNgpbICAgIDYuMjIxOTIwXSAzYTE0ICAwMDAwMDAwMCAwNGM0
MDgwMCBmZmZmZmY4MCAxMjkwM2E2MCBmZmZmZmZjMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMApbICAgIDYuMjIyNjMyXSAzYTM0ICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMjIz
MzQ0XSAzYTU0ICAwMDAwMDAwMCA0MGYyMGIwMCBkOGMyMDllMCAxMjkwM2FkMCBmZmZmZmZj
MCAxMDY5MzU2NCBmZmZmZmZjMCAwMDAwMDAxMQpbICAgIDYuMjI0MDU3XSAzYTc0ICAwMDAw
MDAwMCAwNGM0MGU2MSBmZmZmZmY4MCAxMTRjMmM2OCBmZmZmZmZjMCAxMWY4NTAwMCBmZmZm
ZmZjMCAwNDA1MGMwMApbICAgIDYuMjI0NzY5XSAzYTk0ICBmZmZmZmY4MCAwNGM0MDgwMCBm
ZmZmZmY4MCAwMDAwMDAwMSAwMDAwMDAwMCAxMDY3NWViOCBmZmZmZmZjMCBmZmZmZmZmZgpb
ICAgIDYuMjI1NDgyXSAzYWI0ICBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZmZiBmZmZmZmZm
ZiBmZmZmZmZjMCA0MGYyMGIwMCBkOGMyMDllMCAxMjkwM2IzMApbICAgIDYuMjI2MTk1XSAz
YWQ0ICBmZmZmZmZjMCAxMDY5M2RkMCBmZmZmZmZjMCAwMDAwMDAwMCAwMDAwMDAwMCAwMmQ2
NmMwMCBmZmZmZmY4MCAwNDA1MGYxMApbICAgIDYuMjI2OTA3XSAzYWY0ICBmZmZmZmY4MCAw
NDA1MGYxMCBmZmZmZmY4MCAxMWRhODhkMCBmZmZmZmZjMCAwNGM0MGU2MSBmZmZmZmY4MCAx
MTRjMmM2OApbICAgIDYuMjI3NjIwXSAzYjE0ICBmZmZmZmZjMCAwNGM0MDhiMCBmZmZmZmY4
MCAxMWRhODg3MCBmZmZmZmZjMCAwNGM0MDgwMCBmZmZmZmY4MCAxMjkwM2I1MApbICAgIDYu
MjI4MzMyXSAzYjM0ICBmZmZmZmZjMCAxMDY4ODYzOCBmZmZmZmZjMCAxMWRhODg3MCBmZmZm
ZmZjMCAwNGM0MDgwMCBmZmZmZmY4MCAxMjkwM2I5MApbICAgIDYuMjI5MDQ1XSAKICAgICAg
ICAgICAgICAgWDk6IDB4ZmZmZmZmYzAxMDZhOGRmMDoKWyAgICA2LjIyOTQ4N10gOGJmMCAg
OTdlOGRkMWIgYjQwMDExNjAgMzk0MTJlNjggYWEwMDAzZjggOTEwMDEzZTIgYWExMzAzZTAg
MTEwMDA5MDEgOTdmZjNhZDYKWyAgICA2LjIzMDIwMF0gOGMxMCAgMzk1OTllNjkgNzk0MDBi
ZTggMzYyMDAwNjkgMzIxODAxMDggNzkwMDBiZTggNzk0MGFiMDkgMTI4MDcwMmQgNTMwNzdk
MGEKWyAgICA2LjIzMDkxMl0gOGMzMCAgNTMwMTdkMGIgMGEwZDAxMjkgMzMxODAxNDkgMTIx
OTAxNmEgMmEwYTAxMjkgOTM0MDdlY2EgZjEwMDA1NGEgZGFjMDExNGEKWyAgICA2LjIzMTYy
NV0gOGM1MCAgY2IwYTAzZWEgNTMxZDcxMGMgOWFjYTIzNmEgNzkwMGFmMWYgMTIxYzA5OGMg
OWE5ZjE1NGEgNzkwMGFiMDkgMTIxOTY1MjkKWyAgICA2LjIzMjMzN10gOGM3MCAgZGFjMDEx
NGEgMmEwYzAxMjkgYjk0MzllNmMgNTMxZjA5NGEgMmEwOTAxNDkgNTIxZjA5MjkgYjkwMDVi
MGMgNzkwMGFiMDkKWyAgICA2LjIzMzA1MF0gOGM5MCAgMzk0MTJlNjkgNzIxOTAxMWYgNTI4
MDAyMDggNTI4MDAxOGEgMWE4ODAxNDggMGIwODAxMjggMzkwMTgzMDggMzYzODAwYWIKWyAg
ICA2LjIzMzc2Ml0gOGNiMCAgMTIwMDFkMDEgOTEwMTQzMDIgYWExMzAzZTAgOTdmZjNhZmEg
YWExOTAzZTAgOTdlZGJkZTcgNzk0MGFiMDggYjAwMGM2ZTkKWyAgICA2LjIzNDQ3NV0gOGNk
MCAgYjk0NDA5MjkgMTI4MDAwMGMgNTMwNDE5MGEgMWFjYTIzNmIgMWFjYjIxOGIKWyAgICA2
LjIzNDk5Nl0gRVM4MzIzIDctMDAxMTogaTJjIHJlY3YgRmFpbGVkClsgICAgNi4yMzQ5OThd
ICA3MTAwMTE1ZiAyYTFmMDNmOSA1YThiODE5YgpbICAgIDYuMjM1NTMxXSBFUzgzMjM6IHBy
b2JlIG9mIDctMDAxMSBmYWlsZWQgd2l0aCBlcnJvciAtMTEwCgpbICAgIDYuMjM1ODY2XSA4
Y2YwICAzNTAwMDEyOSAzNjM4MDEwOCBiOTQwNTMwOCBmOTQwMGYwOSAzOTQxODMwMSAyYTFi
MDExOSBkMTAyYzEyMCAyYTE5MDNlMgpbICAgIDYuMjM3NTI3XSA4ZDEwICA5N2ZmM2I1NCBi
OTAwNTMxOSBmOTQxNzI2OCBmOTAxNzI3OCBhOTAwMjMxYyBmOTAwMDExOCBmOTQxNjY2MCBi
NDAwMDA2MApbICAgIDYuMjM4MjQwXSA4ZDMwICAzOTQwYTAwOCAzNzAwMDA4OCBkNDIxMDAw
MCAxMjgwMDI1OSAxNDAwMDAwNiBhYTE3MDNlMSAyYTE2MDNlMiA5N2U4ZGYwOQpbICAgIDYu
MjM4NDQyXSBJbml0aWFsaXppbmcgWEZSTSBuZXRsaW5rIHNvY2tldApbICAgIDYuMjM4OTUy
XSA4ZDUwICAyYTAwMDNmOSAzNDAwMDFjMCBiMDAwYzZlOCBiOTQ0MDkwOCAzNTAwMDQwOCAz
OTQxNTMwOCAzNjM4MDNjOCBiOTQwNTMwOApbICAgIDYuMjM5NDY2XSBORVQ6IFJlZ2lzdGVy
ZWQgcHJvdG9jb2wgZmFtaWx5IDEwClsgICAgNi4yNDAwNDBdIDhkNzAgIGY5NDAwZjA5IDM5
NDE4MzAxIDBhM2IwMTE2IGQxMDJjMTIwIDJhMTYwM2UyIDk3ZmYzYjM3IDE0MDAwMDE3IGY5
NDAwMzg4ClsgICAgNi4yNDA3NjZdIFNlZ21lbnQgUm91dGluZyB3aXRoIElQdjYKWyAgICA2
LjI0MTE0Ml0gOGQ5MCAgZWIxYzAxMWYgNTQwMDAxODAgMzk0MDEzNGEgYjk0MDAzNDkgYjM2
MDdkNDkgMTQwMDAwMDQgZjk0MDAxMDggZWIxYzAxMWYKWyAgICA2LjI0MTQ4OV0gTkVUOiBS
ZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNwpbICAgIDYuMjQyMTc4XSA4ZGIwICA1NDAw
MDBhMCAzNjNmZmZhOSBiOTQwMjUwYSAzNGZmZmY2YSAxNDAwMDAzNyBhYTEzMDNlMApbICAg
IDYuMjQyNTcyXSBORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDE1ClsgICAgNi4y
NDI1ODBdIGNhbjogY29udHJvbGxlciBhcmVhIG5ldHdvcmsgY29yZQpbICAgIDYuMjQzMTQ2
XSAgOTQwMDAzYTMgMzQwMDAzNjAKWyAgICA2LjI0MzU1MV0gTkVUOiBSZWdpc3RlcmVkIHBy
b3RvY29sIGZhbWlseSAyOQoKWyAgICA2LjI0MzkyMl0gOGRkMCAKWyAgICA2LjI0NDE5MV0g
Y2FuOiByYXcgcHJvdG9jb2wKWyAgICA2LjI0NDU3OF0gIGIwMDBjNmU4IGI5NDQwOTA4Clsg
ICAgNi4yNDQ3MTRdIGNhbjogYnJvYWRjYXN0IG1hbmFnZXIgcHJvdG9jb2wKWyAgICA2LjI0
NDg4Nl0gIDJhMDAwM2Y5IDM0ZmZmYzQ4ClsgICAgNi4yNDUxNTBdIGNhbjogbmV0bGluayBn
YXRld2F5IC0gbWF4X2hvcHM9MQpbICAgIDYuMjQ1NDE4XSAgMmExZjAzZjYgYWExMzAzZTAK
WyAgICA2LjI0NTkxMF0gQmx1ZXRvb3RoOiBSRkNPTU0gc29ja2V0IGxheWVyIGluaXRpYWxp
emVkClsgICAgNi4yNDYwNTZdICBiOTAwNTMxNiA5N2ZmZmUxNQpbICAgIDYuMjQ2NDQzXSBC
bHVldG9vdGg6IFJGQ09NTSB2ZXIgMS4xMQoKWyAgICA2LjI0NjcxMl0gOGRmMCoKWyAgICA2
LjI0NzE2MV0gQmx1ZXRvb3RoOiBISURQIChIdW1hbiBJbnRlcmZhY2UgRW11bGF0aW9uKSB2
ZXIgMS4yClsgICAgNi4yNDc0MjhdICA1MjgwMDAzYiAzN2Y4MDFmOQpbICAgIDYuMjQ3NzY3
XSBCbHVldG9vdGg6IEhJRFAgc29ja2V0IGxheWVyIGluaXRpYWxpemVkClsgICAgNi4yNDc4
OTNdICA2YjE1MDMzZiAxMjgwMDM3NgpbICAgIDYuMjQ4MDgwXSBbQlRfUkZLSUxMXTogRW50
ZXIgcmZraWxsX2luaXQKWyAgICA2LjI0ODU4M10gIDU0ZmZlYjhhIDE3ZmZmZjM0ClsgICAg
Ni4yNDg4NTNdIFtXTEFOX1JGS0lMTF06IEVudGVyIHJma2lsbF93bGFuX2luaXQKWyAgICA2
LjI0OTAwMF0gW1dMQU5fUkZLSUxMXTogRW50ZXIgcmZraWxsX3dsYW5fcHJvYmUKWyAgICA2
LjI0OTI4OF0gIGYwMDA5NzAxIDkxMDJjMjYwClsgICAgNi4yNDk1NjhdIFtXTEFOX1JGS0lM
TF06IGNhbid0IGZpbmQgLGdyZiBwcm9wZXJ0eQoKWyAgICA2LjI0OTk0NV0gOGUxMCAKWyAg
ICA2LjI1MDIxNF0gW1dMQU5fUkZLSUxMXTogd2xhbl9wbGF0ZGF0YV9wYXJzZV9kdDogd2lm
aV9jaGlwX3R5cGUgPSBhcDYyNTUKWyAgICA2LjI1MDYyNF0gIDkxMjZiMDIxIDk0MzUzMzk1
ClsgICAgNi4yNTEwNDhdIFtXTEFOX1JGS0lMTF06IHdsYW5fcGxhdGRhdGFfcGFyc2VfZHQ6
IGVuYWJsZSB3aWZpIHBvd2VyIGNvbnRyb2wuClsgICAgNi4yNTEzMTNdICAxMjgwMDJiNiAx
N2ZmZmYyZQpbICAgIDYuMjUxODAyXSBbV0xBTl9SRktJTExdOiB3bGFuX3BsYXRkYXRhX3Bh
cnNlX2R0OiB3aWZpIHBvd2VyIGNvbnRyb2xlZCBieSBncGlvLgpbICAgIDYuMjUxODEzXSBb
V0xBTl9SRktJTExdOiB3bGFuX3BsYXRkYXRhX3BhcnNlX2R0OiBXSUZJLHBvd2VyZW5fZ3Bp
byA9IDEwNSBmbGFncyA9IDAuClsgICAgNi4yNTE5MzZdICBhYTE5MDNlMCA5N2VkYmQ4Zgpb
ICAgIDYuMjUyMTE2XSBbV0xBTl9SRktJTExdOiB3bGFuX3BsYXRkYXRhX3BhcnNlX2R0OiBX
SUZJLGhvc3Rfd2FrZV9pcnEgPSAxMDMsIGZsYWdzID0gMC4KWyAgICA2LjI1MjcwOV0gIDEy
ODAwMTc2IDE3ZmZmZjJhClsgICAgNi4yNTI5ODFdIFtXTEFOX1JGS0lMTF06IHdsYW5fcGxh
dGRhdGFfcGFyc2VfZHQ6IFRoZSByZWZfd2lmaV9jbGsgbm90IGZvdW5kICEKClsgICAgNi4y
NTM2MDVdIDhlMzAgClsgICAgNi4yNTM4NzFdIFtXTEFOX1JGS0lMTF06IHJma2lsbF93bGFu
X3Byb2JlOiBpbml0IGdwaW8KWyAgICA2LjI1Mzg3Nl0gW1dMQU5fUkZLSUxMXTogcmZraWxs
X3NldF93aWZpX2J0X3Bvd2VyOiAxClsgICAgNi4yNTQ1MTZdICAyYTE5MDNmNiAxN2ZmZmYy
OCAzOTU5OWE2OCAzNzAwMDA4OApbICAgIDYuMjU1MjAwXSBbV0xBTl9SRktJTExdOiBFeGl0
IHJma2lsbF93bGFuX3Byb2JlClsgICAgNi4yNTU0NjhdICBhYTEzMDNlMCAyYTFmMDNlMQpb
ICAgIDYuMjU2MzgzXSBbQlRfUkZLSUxMXTogYmx1ZXRvb3RoX3BsYXRkYXRhX3BhcnNlX2R0
OiBnZXQgcHJvcGVydHk6IHVhcnRfcnRzX2dwaW9zID0gMTAwLgpbICAgIDYuMjU2NDM2XSAg
OTdmZjZjYmMgMzk0MTJlNjgKWyAgICA2LjI1NzA4MF0gW0JUX1JGS0lMTF06IGJsdWV0b290
aF9wbGF0ZGF0YV9wYXJzZV9kdDogZ2V0IHByb3BlcnR5OiBCVCxyZXNldF9ncGlvID0gMTAy
LgoKWyAgICA2LjI1NzIxMl0gOGU1MCAKWyAgICA2LjI1NzM4NF0gW0JUX1JGS0lMTF06IGJs
dWV0b290aF9wbGF0ZGF0YV9wYXJzZV9kdDogZ2V0IHByb3BlcnR5OiBCVCx3YWtlX2dwaW8g
PSA5Ny4KWyAgICA2LjI1NzgzOV0gIDkxMDAxM2UyIGFhMTMwM2UwIDExMDAwOTAxIDk3ZmYz
YTQyIDc5NDAwYmU4IGFhMTMwM2UwIDMyMDAwMTAyIDc5MDAwYmUyClsgICAgNi4yNTc4NDRd
IDhlNzAgIDM5NDEyZTY4IDExMDAwOTAxIDk3ZmYzYWMzIGI5NDAwMzQ4IGFhMTMwM2UwClsg
ICAgNi4yNTgyOTZdIFtCVF9SRktJTExdOiBibHVldG9vdGhfcGxhdGRhdGFfcGFyc2VfZHQ6
IGdldCBwcm9wZXJ0eTogQlQsd2FrZV9ob3N0X2lycSA9IDk2LgpbICAgIDYuMjU4Njk4XSAg
MzIxNDAxMDggYjkwMDAzNDgKWyAgICA2LjI1OTEzN10gW0JUX1JGS0lMTF06IFJlcXVlc3Qg
aXJxIGZvciBidCB3YWtldXAgaG9zdApbICAgIDYuMjU5MzgwXSAgOTdmZjdjYWEKWyAgICA2
LjI2MDExOV0gW0JUX1JGS0lMTF06ICoqIGRpc2FibGUgaXJxClsgICAgNi4yNjAzNjNdIDhl
OTAgIGI5NDAxMzA4ClsgICAgNi4yNjEwOTldIFtCVF9SRktJTExdOiByZmtpbGxfc2V0X3Bv
d2VyOiBzZXQgYnQgd2FrZV9ob3N0IGhpZ2ghClsgICAgNi4yNjEyMDNdICBiOTAzOWU2OCAx
N2ZmZmYwZiA5MDAwOGU2MSA5MTJjMzAyMSBhYTE3MDNlMCA5NDM1MzRhOSBiMDAwYzZlOApb
ICAgIDYuMjY2NjQwXSA4ZWIwICBiOTQ0MDkwOCAzNTAwMDA2OCAzOTQxNTMwOCAzNzM4MDBl
OCAyYTFmMDNmNCBhYTEzMDNlMCBiOTAwNTMxNCA5N2ZmZmRkZApbICAgIDYuMjY3MzUyXSA4
ZWQwICAxMjgwMDA5NiAxN2ZmZmYwMCBiOTQwNTMwOCBmOTQwMGYwOSAzOTQxODMwMSAwYTNi
MDExNCBkMTAyYzEyMCAyYTE0MDNlMgpbICAgIDYuMjY4MDY1XSA4ZWYwICA5N2ZmM2FkYyAx
N2ZmZmZmNCBkNDIxMDAwMCAxMjgwMDJiNiAxN2ZmZmVmNSA5NDM1M2JhYSBkNTAzMjQ1ZiBh
YTFlMDNlOQpbICAgIDYuMjY4Nzc4XSA4ZjEwICBkNTAzMjAxZiBkNTAzMjMzZiBhOWJmN2Jm
ZCA5MTAwMDNmZCBhYTFmMDNlNCAyYTFmMDNlNSA5NDAwMDAwNCBhOGMxN2JmZApbICAgIDYu
MjY5NDkwXSA4ZjMwICBkNTAzMjNiZiBkNjVmMDNjMCBkNTAzMjQ1ZiBhYTFlMDNlOSBkNTAz
MjAxZiBkNTAzMjMzZiBkMTAzMDNmZiBhOTA2N2JmZApbICAgIDYuMjcwMjAzXSA4ZjUwICBh
OTA3NmZmYyBhOTA4NjdmYSBhOTA5NWZmOCBhOTBhNTdmNiBhOTBiNGZmNCA5MTAxODNmZCBi
MDAwOTc4OCBmOTQ2MjkwOApbICAgIDYuMjcwOTE1XSA4ZjcwICA2YjAyMDA3ZiBmODFmODNh
OCA1NDAwMDA2YSAxMjgwMDQyMCAxNDAwMDE0ZiA5MTE5ODQxOSAzOTQwMTMyOCBiOTQwMDMy
OQpbICAgIDYuMjcxNjI3XSA4ZjkwICBhYTAwMDNmMyBiMzYwMWQwOSAzNzY4MjhlOSA5MTAy
YzI2OCBmMTAwMDAzZiBmODFlODNhOCA5MTAwMTAyOCBmOTAwMTdlOApbICAgIDYuMjcyMzQw
XSA4ZmIwICAxYTlmMDdlOCAyYTA1MDNmNSBhYTA0MDNmNiAyYTAzMDNmNCAyYTAyMDNmNyBh
YTAxMDNmOCA5MTBiNjI3YSA5MTAwMzAzYgpbICAgIDYuMjczMDUyXSA4ZmQwICA1MjAwMDEw
OCBiODFlNDNhOCBiNDAwMDExNiAyYTE3MDNlMCAyYTE0MDNlMSBhYTE2MDNlMiA5N2U4ZTI1
YiAyYTAwMDNmNApbICAgIDYuMjczNzY3XSAKICAgICAgICAgICAgICAgWDE5OiAweGZmZmZm
ZjgwMDRjNDA4MDA6ClsgICAgNi4yNzQyMTVdIDA2MDAgIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsg
ICAgNi4yNzQ5MjhdIDA2MjAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4yNzU2NDBdIDA2
NDAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4yNzYzNTJdIDA2NjAgIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwClsgICAgNi4yNzcwNjVdIDA2ODAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4y
Nzc3NzhdIDA2YTAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4yNzg0OTBdIDA2YzAgIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwClsgICAgNi4yNzkyMDNdIDA2ZTAgIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
ClsgICAgNi4yNzk5MTVdIDA3MDAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4yODA2Mjdd
IDA3MjAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4yODEzNDBdIDA3NDAgIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwClsgICAgNi4yODIwNTJdIDA3NjAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAg
Ni4yODI3NjVdIDA3ODAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4yODM0NzddIDA3YTAg
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4yODQxOTBdIDA3YzAgIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwClsgICAgNi4yODQ5MDNdIDA3ZTAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4yODU2
MTVdIDA4MDAqIDA0YzQwMDI4IGZmZmZmZjgwIDA0YzQwMDI4IGZmZmZmZjgwIDA0YzQwMDAw
IGZmZmZmZjgwIDA0YzQxMDAwIGZmZmZmZjgwClsgICAgNi4yODYzMzFdIDA4MjAgIDA0MDUw
NGE4IGZmZmZmZjgwIDAzZTM1NzgwIGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDM1ODgxZDg3ClsgICAgNi4yODcwNDBdIDA4NDAgIDAwMDAwMDAwIDAwMDYwNDAwIDUw
NzAwMTAxIDAxMzgwMWIwIDAwMDAxMDQyIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsg
ICAgNi4yODc3NTJdIDA4NjAgIDExZGE4ODcwIGZmZmZmZmMwIGZmZmZmZmZmIDAwMDAwMDAw
IDAwMDEwMDAwIDAwMDAwMDAwIGZmZmZmZmZmIDAwMDAwMDAwClsgICAgNi4yODg0NjVdIDA4
ODAgIDAwMDAwMDAwIDA4ZWI0MDAwIDAwMDAwMDAwIDAwMDAwMDBhIDAwMDAwMDY0IDAwMDAw
MDAwIDAyZDI3ZDAwIGZmZmZmZjgwClsgICAgNi4yODkxNzhdIDA4YTAgIDAwMDAwMDAxIDAw
MDAwMTgwIDAwMDAwMDAwIDAwMDAwMDAxIDAzZTM2OTgwIGZmZmZmZjgwIDA0Yzg4OGE4IGZm
ZmZmZjgwClsgICAgNi4yODk4OTBdIDA4YzAgIDA0YzkwNDA4IGZmZmZmZjgwIDA0MDUwYzAw
IGZmZmZmZjgwIDAyODcxZDAwIGZmZmZmZjgwIDExZGUwMzMwIGZmZmZmZmMwClsgICAgNi4y
OTA2MDNdIDA4ZTAgIDA0NGRjODgwIGZmZmZmZjgwIDAwMDAwMDA5IDAwMDAwMDA3IDA0MDUw
YzAwIGZmZmZmZjgwIDAyZDI3YTAwIGZmZmZmZjgwClsgICAgNi4yOTEzMTVdIDA5MDAgIDAw
MDAwMDAwIDAwMDAwMDAwIDExNGMyYWM4IGZmZmZmZmMwIDExZGE3ZmI4IGZmZmZmZmMwIDEx
ZGE4OGQwIGZmZmZmZmMwClsgICAgNi4yOTIwMjddIDA5MjAgIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAzZjllZTAwIGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAw
ClsgICAgNi4yOTI3NDBdIDA5NDAgIDA0YzQwOTQwIGZmZmZmZjgwIDA0YzQwOTQwIGZmZmZm
ZjgwIDA0YzQwOTUwIGZmZmZmZjgwIDA0YzQwOTUwIGZmZmZmZjgwClsgICAgNi4yOTM0NTJd
IDA5NjAgIDA0YzQwOTYwIGZmZmZmZjgwIDA0YzQwOTYwIGZmZmZmZjgwIDA0YzQwOTcwIGZm
ZmZmZjgwIDA0YzQwOTcwIGZmZmZmZjgwClsgICAgNi4yOTQxNjVdIDA5ODAgIDAwMDAwMDAx
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMTA3IDAwMDAwMDAwIDAwMDAwMDAwIDA0Yzg4OTg4
IGZmZmZmZjgwClsgICAgNi4yOTQ4NzhdIDA5YTAgIDA0YzkwNGU4IGZmZmZmZjgwIGZmZmZm
ZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDA0YzQwOWI4IGZmZmZmZjgwClsgICAg
Ni4yOTU1OTBdIDA5YzAgIDA0YzQwOWI4IGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDA0YzQwOWQ4IGZmZmZmZjgwClsgICAgNi4yOTYzMDZdIDA5ZTAg
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4yOTcwMTVdIAogICAgICAgICAgICAgICBYMjA6
IDB4ZmZmZmZmODAwNGM0MGFkODoKWyAgICA2LjI5NzQ2NV0gMDhkOCAgMTFkZTAzMzAgZmZm
ZmZmYzAgMDQ0ZGM4ODAgZmZmZmZmODAgMDAwMDAwMDkgMDAwMDAwMDcgMDQwNTBjMDAgZmZm
ZmZmODAKWyAgICA2LjI5ODE3OF0gMDhmOCAgMDJkMjdhMDAgZmZmZmZmODAgMDAwMDAwMDAg
MDAwMDAwMDAgMTE0YzJhYzggZmZmZmZmYzAgMTFkYTdmYjggZmZmZmZmYzAKWyAgICA2LjI5
ODg5MF0gMDkxOCAgMTFkYTg4ZDAgZmZmZmZmYzAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDNmOWVlMDAgZmZmZmZmODAKWyAgICA2LjI5OTYwM10gMDkzOCAgMDAw
MDAwMDAgMDAwMDAwMDAgMDRjNDA5NDAgZmZmZmZmODAgMDRjNDA5NDAgZmZmZmZmODAgMDRj
NDA5NTAgZmZmZmZmODAKWyAgICA2LjMwMDMxNV0gMDk1OCAgMDRjNDA5NTAgZmZmZmZmODAg
MDRjNDA5NjAgZmZmZmZmODAgMDRjNDA5NjAgZmZmZmZmODAgMDRjNDA5NzAgZmZmZmZmODAK
WyAgICA2LjMwMTAyOF0gMDk3OCAgMDRjNDA5NzAgZmZmZmZmODAgMDAwMDAwMDEgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAxMDcgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjMwMTc0MF0g
MDk5OCAgMDRjODg5ODggZmZmZmZmODAgMDRjOTA0ZTggZmZmZmZmODAgZmZmZmZmZmYgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjMwMjQ1M10gMDliOCAgMDRjNDA5Yjgg
ZmZmZmZmODAgMDRjNDA5YjggZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKWyAgICA2LjMwMzE2NV0gMDlkOCAgMDRjNDA5ZDggZmZmZmZmODAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2
LjMwMzg3OF0gMDlmOCAgMDAwMDAwMDAgMDAwMDAwMDAgMTA5YjQxYzAgZmZmZmZmYzAgN2Zi
MWIxYzAgZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjMwNDU5MF0gMGExOCAg
MDAwMDAwMDAgMDAwMDAwMDAgZmZmZmZmZTAgMDAwMDAwMGYgMDRjNDBhMjggZmZmZmZmODAg
MDRjNDBhMjggZmZmZmZmODAKWyAgICA2LjMwNTMwMl0gMGEzOCAgMTA5YjQwOTAgZmZmZmZm
YzAgMDAwMDAwMDAgMDAwMDAwMDAgMDRjNDBhNDggZmZmZmZmODAgMDRjNDBhNDggZmZmZmZm
ODAKWyAgICA2LjMwNjAxNV0gMGE1OCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDIgMDAw
MDAwMDEgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjMwNjcy
N10gMGE3OCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjMwNzQ0MF0gMGE5OCAgM2U3MTgy
NTggMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKWyAgICA2LjMwODE1M10gMGFiOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAg
ICA2LjMwODg2NV0gMGFkOCogMDRjNDgyMDAgZmZmZmZmODAgMDRjNDgyMDAgZmZmZmZmODAg
MTE0ZDkyNzAgZmZmZmZmYzAgMDRjNDA4NjggZmZmZmZmODAKWyAgICA2LjMwOTU3OF0gMGFm
OCAgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDRjNDA4NzAgZmZmZmZmODAKWyAgICA2LjMxMDI5MF0gMGIxOCAgMDRjNDBiMTggZmZm
ZmZmODAgMDRjNDBiMTggZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKWyAgICA2LjMxMTAwM10gMGIzOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjMx
MTcxNV0gMGI1OCAgMDRjNDBiNTggZmZmZmZmODAgMDRjNDBiNTggZmZmZmZmODAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjMxMjQyOF0gMGI3OCAgMTA2
N2I2NWMgZmZmZmZmYzAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKWyAgICA2LjMxMzE0MF0gMGI5OCAgMDAwMDEwMDAgMDAwMDAwNDUg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDNlMzY5ODAgZmZmZmZmODAK
WyAgICA2LjMxMzg1M10gMGJiOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjMxNDU2NV0g
MGJkOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDNlMzY5ODAgZmZmZmZmODAKWyAgICA2LjMxNTI3OF0gMGJmOCAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAKWyAgICA2LjMxNTk5MF0gMGMxOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2
LjMxNjcwM10gMGMzOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjMxNzQxNl0gMGM1OCAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjMxODEyOF0gMGM3OCAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKWyAgICA2LjMxODg0MF0gMGM5OCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjMxOTU1
M10gMGNiOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjMyMDI2NV0gCiAgICAgICAgICAg
ICAgIFgyMjogMHhmZmZmZmY4MDA0YzQwYWQ4OgpbICAgIDYuMzIwNzE1XSAwOGQ4ICAxMWRl
MDMzMCBmZmZmZmZjMCAwNDRkYzg4MCBmZmZmZmY4MCAwMDAwMDAwOSAwMDAwMDAwNyAwNDA1
MGMwMCBmZmZmZmY4MApbICAgIDYuMzIwODM2XSBbQlRfUkZLSUxMXTogRU5BQkxFIFVBUlRf
UlRTClsgICAgNi4zMjE0MjhdIDA4ZjggIDAyZDI3YTAwIGZmZmZmZjgwIDAwMDAwMDAwIDAw
MDAwMDAwIDExNGMyYWM4IGZmZmZmZmMwIDExZGE3ZmI4IGZmZmZmZmMwClsgICAgNi4zMjI0
ODZdIDA5MTggIDExZGE4OGQwIGZmZmZmZmMwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAzZjllZTAwIGZmZmZmZjgwClsgICAgNi4zMjMxOThdIDA5MzggIDAwMDAw
MDAwIDAwMDAwMDAwIDA0YzQwOTQwIGZmZmZmZjgwIDA0YzQwOTQwIGZmZmZmZjgwIDA0YzQw
OTUwIGZmZmZmZjgwClsgICAgNi4zMjM5MTBdIDA5NTggIDA0YzQwOTUwIGZmZmZmZjgwIDA0
YzQwOTYwIGZmZmZmZjgwIDA0YzQwOTYwIGZmZmZmZjgwIDA0YzQwOTcwIGZmZmZmZjgwClsg
ICAgNi4zMjQ2MjNdIDA5NzggIDA0YzQwOTcwIGZmZmZmZjgwIDAwMDAwMDAxIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMTA3IDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zMjUzMzVdIDA5
OTggIDA0Yzg4OTg4IGZmZmZmZjgwIDA0YzkwNGU4IGZmZmZmZjgwIGZmZmZmZmZmIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zMjYwNDhdIDA5YjggIDA0YzQwOWI4IGZm
ZmZmZjgwIDA0YzQwOWI4IGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwClsgICAgNi4zMjY3NjFdIDA5ZDggIDA0YzQwOWQ4IGZmZmZmZjgwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4z
Mjc0NzNdIDA5ZjggIDAwMDAwMDAwIDAwMDAwMDAwIDEwOWI0MWMwIGZmZmZmZmMwIDdmYjFi
MWMwIGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zMjgxODVdIDBhMTggIDAw
MDAwMDAwIDAwMDAwMDAwIGZmZmZmZmUwIDAwMDAwMDBmIDA0YzQwYTI4IGZmZmZmZjgwIDA0
YzQwYTI4IGZmZmZmZjgwClsgICAgNi4zMjg4OThdIDBhMzggIDEwOWI0MDkwIGZmZmZmZmMw
IDAwMDAwMDAwIDAwMDAwMDAwIDA0YzQwYTQ4IGZmZmZmZjgwIDA0YzQwYTQ4IGZmZmZmZjgw
ClsgICAgNi4zMjk2MTBdIDBhNTggIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAyIDAwMDAw
MDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zMzAzMjJd
IDBhNzggIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zMzEwMzVdIDBhOTggIDNlNzE4MjU4
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwClsgICAgNi4zMzE3NDddIDBhYjggIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAg
Ni4zMzI0NjBdIDBhZDgqIDA0YzQ4MjAwIGZmZmZmZjgwIDA0YzQ4MjAwIGZmZmZmZjgwIDEx
NGQ5MjcwIGZmZmZmZmMwIDA0YzQwODY4IGZmZmZmZjgwClsgICAgNi4zMzMxNzNdIDBhZjgg
IGZmZmZmZmZmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDA0YzQwODcwIGZmZmZmZjgwClsgICAgNi4zMzM4ODVdIDBiMTggIDA0YzQwYjE4IGZmZmZm
ZjgwIDA0YzQwYjE4IGZmZmZmZjgwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwClsgICAgNi4zMzQ1OThdIDBiMzggIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zMzUz
MTBdIDBiNTggIDA0YzQwYjU4IGZmZmZmZjgwIDA0YzQwYjU4IGZmZmZmZjgwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zMzYwMjNdIDBiNzggIDEwNjdi
NjVjIGZmZmZmZmMwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwClsgICAgNi4zMzY3MzVdIDBiOTggIDAwMDAxMDAwIDAwMDAwMDQ1IDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAzZTM2OTgwIGZmZmZmZjgwClsg
ICAgNi4zMzc0NDddIDBiYjggIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zMzgxNjBdIDBi
ZDggIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAzZTM2OTgwIGZmZmZmZjgwClsgICAgNi4zMzg4NzNdIDBiZjggIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwClsgICAgNi4zMzk1ODVdIDBjMTggIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4z
NDAyOThdIDBjMzggIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zNDEwMTBdIDBjNTggIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwClsgICAgNi4zNDE3MjNdIDBjNzggIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
ClsgICAgNi4zNDI0MzVdIDBjOTggIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zNDMxNDhd
IDBjYjggIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zNDM4NjFdIAogICAgICAgICAgICAg
ICBYMjM6IDB4ZmZmZmZmODAwNGM0MDhiMDoKWyAgICA2LjM0NDMxMF0gMDZiMCAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAKWyAgICA2LjM0NTAyMl0gMDZkMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAg
ICA2LjM0NTczNV0gMDZmMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjM0NjQ0N10gMDcx
MCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjM0NzE2MF0gMDczMCAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKWyAgICA2LjM0Nzg3M10gMDc1MCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjM0
ODU4NV0gMDc3MCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjM0OTI5OF0gMDc5MCAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKWyAgICA2LjM1MDAxMF0gMDdiMCAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAK
WyAgICA2LjM1MDcyMl0gMDdkMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjM1MTQzNV0g
MDdmMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDRjNDAwMjggZmZm
ZmZmODAgMDRjNDAwMjggZmZmZmZmODAKWyAgICA2LjM1MjE0N10gMDgxMCAgMDRjNDAwMDAg
ZmZmZmZmODAgMDRjNDEwMDAgZmZmZmZmODAgMDQwNTA0YTggZmZmZmZmODAgMDNlMzU3ODAg
ZmZmZmZmODAKWyAgICA2LjM1Mjg2MF0gMDgzMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMzU4ODFkODcgMDAwMDAwMDAgMDAwNjA0MDAgNTA3MDAxMDEgMDEzODAxYjAKWyAgICA2
LjM1MzU3M10gMDg1MCAgMDAwMDEwNDIgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMTFk
YTg4NzAgZmZmZmZmYzAgZmZmZmZmZmYgMDAwMDAwMDAKWyAgICA2LjM1NDI4NV0gMDg3MCAg
MDAwMTAwMDAgMDAwMDAwMDAgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDhlYjQwMDAg
MDAwMDAwMDAgMDAwMDAwMGEKWyAgICA2LjM1NDk5OF0gMDg5MCAgMDAwMDAwNjQgMDAwMDAw
MDAgMDJkMjdkMDAgZmZmZmZmODAgMDAwMDAwMDEgMDAwMDAxODAgMDAwMDAwMDAgMDAwMDAw
MDEKWyAgICA2LjM1NTcxMF0gMDhiMCogMDNlMzY5ODAgZmZmZmZmODAgMDRjODg4YTggZmZm
ZmZmODAgMDRjOTA0MDggZmZmZmZmODAgMDQwNTBjMDAgZmZmZmZmODAKWyAgICA2LjM1NjQy
M10gMDhkMCAgMDI4NzFkMDAgZmZmZmZmODAgMTFkZTAzMzAgZmZmZmZmYzAgMDQ0ZGM4ODAg
ZmZmZmZmODAgMDAwMDAwMDkgMDAwMDAwMDcKWyAgICA2LjM1NzEzNV0gMDhmMCAgMDQwNTBj
MDAgZmZmZmZmODAgMDJkMjdhMDAgZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAgMTE0YzJh
YzggZmZmZmZmYzAKWyAgICA2LjM1Nzg0OF0gMDkxMCAgMTFkYTdmYjggZmZmZmZmYzAgMTFk
YTg4ZDAgZmZmZmZmYzAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAg
ICA2LjM1ODU2MF0gMDkzMCAgMDNmOWVlMDAgZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAg
MDRjNDA5NDAgZmZmZmZmODAgMDRjNDA5NDAgZmZmZmZmODAKWyAgICA2LjM1OTI3M10gMDk1
MCAgMDRjNDA5NTAgZmZmZmZmODAgMDRjNDA5NTAgZmZmZmZmODAgMDRjNDA5NjAgZmZmZmZm
ODAgMDRjNDA5NjAgZmZmZmZmODAKWyAgICA2LjM1OTk4NV0gMDk3MCAgMDRjNDA5NzAgZmZm
ZmZmODAgMDRjNDA5NzAgZmZmZmZmODAgMDAwMDAwMDEgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAxMDcKWyAgICA2LjM2MDY5N10gMDk5MCAgMDAwMDAwMDAgMDAwMDAwMDAgMDRjODg5ODgg
ZmZmZmZmODAgMDRjOTA0ZTggZmZmZmZmODAgZmZmZmZmZmYgMDAwMDAwMDAKWyAgICA2LjM2
MTQxMF0gMDliMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDRjNDA5YjggZmZmZmZmODAgMDRjNDA5
YjggZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjM2MjEyMl0gMDlkMCAgMDAw
MDAwMDAgMDAwMDAwMDAgMDRjNDA5ZDggZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKWyAgICA2LjM2MjgzNV0gMDlmMCAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMTA5YjQxYzAgZmZmZmZmYzAgN2ZiMWIxYzAgZmZmZmZmODAK
WyAgICA2LjM2MzU0OF0gMGExMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgZmZmZmZmZTAgMDAwMDAwMGYgMDRjNDBhMjggZmZmZmZmODAKWyAgICA2LjM2NDI2MF0g
MGEzMCAgMDRjNDBhMjggZmZmZmZmODAgMTA5YjQwOTAgZmZmZmZmYzAgMDAwMDAwMDAgMDAw
MDAwMDAgMDRjNDBhNDggZmZmZmZmODAKWyAgICA2LjM2NDk3Ml0gMGE1MCAgMDRjNDBhNDgg
ZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDIgMDAwMDAwMDEgMDAwMDAwMDAg
MDAwMDAwMDAKWyAgICA2LjM2NTY4NV0gMGE3MCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2
LjM2NjM5OF0gMGE5MCAgMDAwMDAwMDAgMDAwMDAwMDAgM2U3MTgyNTggMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjM2NzExMV0gCiAgICAg
ICAgICAgICAgIFgyNDogMHhmZmZmZmY4MDA0YzQ4MjAwOgpbICAgIDYuMzY3NTYwXSA4MDAw
ICAzMjMwMzAzMCAzYTMxMzIzYSAzMDJlMzAzMCBjMmMyYzIwMCBjMmMyYzJjMiBjMmMyYzJj
MiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMzY4MjczXSA4MDIwICBjMmMyYzJjMiBjMmMy
YzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMy
YzJjMgpbICAgIDYuMzY4OTg1XSA4MDQwICAwNGM0ODA4MCBmZmZmZmY4MCBjMmMyYzJjMiBj
MmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMzY5
Njk4XSA4MDYwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJj
MiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMzcwNDEwXSA4MDgwICAzMjMw
MzAzMCAzYTMwMzIzYSAzMDJlMzAzMCBkZWFkMDAwMCAwNGM0MDhiMCBmZmZmZmY4MCAwNGM0
ODA5OCBmZmZmZmY4MApbICAgIDYuMzcxMTIyXSA4MGEwICAwNGM0ODA5OCBmZmZmZmY4MCAw
MDAwMDAwMCAwMDAwMDAwMCAwNGM0ODBiMCBmZmZmZmY4MCAwNGM0ODBiMCBmZmZmZmY4MApb
ICAgIDYuMzcxODM1XSA4MGMwICAwNGM0ODIwMCBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMzcyNTQ4XSA4
MGUwICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMzczMjYwXSA4MTAwICAwMDAwMzkzNiBk
ZWFkMDAwMCAwMDAwMDEyMiBkZWFkMDAwMCAwNGM0MWMyMCBmZmZmZmY4MCAwNGM0MTgwMCBm
ZmZmZmY4MApbICAgIDYuMzczOTcyXSA4MTIwICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYu
Mzc0Njg1XSA4MTQwICAwNGM0ODE4MCBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMzc1Mzk4XSA4MTYwICAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMzc2MTEwXSA4MTgwICBjMjAwMzkzNiBjMmMyYzJj
MiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJj
MgpbICAgIDYuMzc2ODIyXSA4MWEwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMy
YzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMzc3NTM1
XSA4MWMwICAwNGM0ODIwMCBmZmZmZmY4MCBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBj
MmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMzc4MjQ4XSA4MWUwICBjMmMyYzJj
MiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJj
MiBjMmMyYzJjMgpbICAgIDYuMzc4OTYwXSA4MjAwKiAwNGM0MGFkOCBmZmZmZmY4MCAwNGM0
MGFkOCBmZmZmZmY4MCAwMDAwMDAwMCAwMDAwMDAyMCAwNGM0MDhiMCBmZmZmZmY4MApbICAg
IDYuMzc5NjczXSA4MjIwICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuMzgwMzg1XSA4MjQw
ICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDE1
YSAwMDAwMDA0NSAwMDAwMDAwMApbICAgIDYuMzgxMDk4XSA4MjYwICAwMDAwMDA2MCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMApbICAgIDYuMzgxODEwXSA4MjgwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBj
MmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMzgy
NTIzXSA4MmEwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJj
MiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMzgzMjM1XSA4MmMwICAwNGM0
ODMwMCBmZmZmZmY4MCBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMy
YzJjMiBjMmMyYzJjMgpbICAgIDYuMzgzOTQ4XSA4MmUwICBjMmMyYzJjMiBjMmMyYzJjMiBj
MmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpb
ICAgIDYuMzg0NjYwXSA4MzAwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJj
MiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMzg1MzczXSA4
MzIwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMy
YzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMzg2MDg1XSA4MzQwICAwNGM0ODM4MCBm
ZmZmZmY4MCBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBj
MmMyYzJjMgpbICAgIDYuMzg2Nzk4XSA4MzYwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJj
MiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYu
Mzg3NTEwXSA4MzgwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMy
YzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMzg4MjIzXSA4M2EwICBj
MmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBj
MmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMzg4OTM1XSA4M2MwICAwNGM0ODQwMCBmZmZmZmY4
MCBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJj
MgpbICAgIDYuMzg5NjQ4XSA4M2UwICBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMy
YzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMiBjMmMyYzJjMgpbICAgIDYuMzkwMzYx
XSAKICAgICAgICAgICAgICAgWDI2OiAweGZmZmZmZjgwMDRjNDBlNjE6ClsgICAgNi4zOTA4
MTBdIDBjNjAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zOTE1MjNdIDBjODAgIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwClsgICAgNi4zOTIyMzVdIDBjYTAgIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsg
ICAgNi4zOTI5NDhdIDBjYzAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zOTM2NjBdIDBj
ZTAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zOTQzNzNdIDBkMDAgIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwClsgICAgNi4zOTUwODVdIDBkMjAgIGYyODAwMDAwIDAwMDAwMDAwIGYyODBmZmZm
IDAwMDAwMDAwIDAzZTM2OTgwIGZmZmZmZjgwIDAwMDQ2MjAwIDAwMDAwMDAwClsgICAgNi4z
OTU3OTddIDBkNDAgIDAwMDAwMDAwIDAwMDAwMDAwIDAyZDI3MTgwIGZmZmZmZjgwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi4zOTY1MTBdIDBkNjAgIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDA0YzQxMGU4IGZmZmZmZjgwIDAw
MDAwMDAwIDAwMDAwMDAwClsgICAgNi4zOTcyMjNdIDBkODAgIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
ClsgICAgNi4zOTc5MzVdIDBkYTAgIGYyMjAwMDAwIDAwMDAwMDAwIGYyN2ZmZmZmIDAwMDAw
MDAwIDA0YzQxMGU4IGZmZmZmZjgwIDAwMDAwMjAwIDAwMDAwMDAwClsgICAgNi4zOTg2NDhd
IDBkYzAgIDAwMDAwMDAwIDAwMDAwMDAwIDAyZDI3MTgwIGZmZmZmZjgwIDA0YzQwZDIwIGZm
ZmZmZjgwIDA0YzQxYmEwIGZmZmZmZjgwClsgICAgNi4zOTkzNjBdIDBkZTAgIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDA0YzQxMGU4IGZmZmZmZjgwIDAwMDAwMDAw
IDAwMDAwMDAwClsgICAgNi4zOTk5MjNdIHVzYiA0LTE6IE5ldyBVU0IgZGV2aWNlIGZvdW5k
LCBpZFZlbmRvcj0wNDAzLCBpZFByb2R1Y3Q9NjAwMSwgYmNkRGV2aWNlPSA2LjAwClsgICAg
Ni40MDAwNzJdIDBlMDAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi40MDA3
OThdIHVzYiA0LTE6IE5ldyBVU0IgZGV2aWNlIHN0cmluZ3M6IE1mcj0xLCBQcm9kdWN0PTIs
IFNlcmlhbE51bWJlcj0zClsgICAgNi40MDA4MDJdICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuNDAxMjE0XSB1c2IgNC0xOiBQcm9kdWN0
OiBGVDIzMlIgVVNCIFVBUlQKWyAgICA2LjQwMTc5OV0gMGUyMCAgMDAwMDAwMDAKWyAgICA2
LjQwMjI3N10gdXNiIDQtMTogTWFudWZhY3R1cmVyOiBGVERJClsgICAgNi40MDI2NTZdICAw
MDAwMDAwMCAwMDAwMDAwMApbICAgIDYuNDAyOTAwXSB1c2IgNC0xOiBTZXJpYWxOdW1iZXI6
IEExMDNUMzZUClsgICAgNi40MDMyMzNdICAwMDAwMDAwMCAwNGM0MTBlOCBmZmZmZmY4MCAw
MDAwMDAwMCAwMDAwMDAwMApbICAgIDYuNDA0MzQzXSAwZTQwICAwMDAwMDAwMCAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw
MApbICAgIDYuNDA1MDU2XSAwZTYwKiAwMDAwMmUwMSAwMDAwMDYwMCAwMDAwMDAwMSAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuNDA1NzY5
XSAwZTgwICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuNDA2NDgxXSAwZWEwICAwMDAwMDAw
MCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwM2UzNmEwMCBmZmZmZmY4MCAwMDAwMDAw
MCAwMDAwMDAwMApbICAgIDYuNDA3MTkzXSAwZWMwICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAg
IDYuNDA3OTA2XSAwZWUwICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuNDA4MDA3XSBmdGRp
X3NpbyA0LTE6MS4wOiBGVERJIFVTQiBTZXJpYWwgRGV2aWNlIGNvbnZlcnRlciBkZXRlY3Rl
ZApbICAgIDYuNDA4NjE4XSAwZjAwICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAw
MDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAgIDYuNDA5MzA3
XSB1c2IgNC0xOiBEZXRlY3RlZCBGVDIzMlJMClsgICAgNi40MDk5MTRdIDBmMjAgIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwClsgICAgNi40MTA5NTJdIDBmNDAgIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsg
ICAgNi40MTE2NjVdIDBmNjAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi40MTIzNzhdIDBm
ODAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi40MTMwOTBdIDBmYTAgIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwClsgICAgNi40MTM4MDJdIDBmYzAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi40
MTQ1MTVdIDBmZTAgIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi40MTUyMjddIDEwMDAgIDA0
YzQwMDE4IGZmZmZmZjgwIDA0YzQwMDE4IGZmZmZmZjgwIDA0YzQwMDAwIGZmZmZmZjgwIDA0
YzQxMDE4IGZmZmZmZjgwClsgICAgNi40MTUyNTBdIHVzYiA0LTE6IEZUREkgVVNCIFNlcmlh
bCBEZXZpY2UgY29udmVydGVyIG5vdyBhdHRhY2hlZCB0byB0dHlVU0IwClsgICAgNi40MTU5
NDBdIDEwMjAgIDA0YzQxMDE4IGZmZmZmZjgwIDA0YzQxODAwIGZmZmZmZjgwIDA0YzQxODAw
IGZmZmZmZjgwIDA0YzQwODAwIGZmZmZmZjgwClsgICAgNi40MTU5NDVdIDEwNDAgIDA0YzQx
MDQwIGZmZmZmZjgwIDA0YzQxMDQwIGZmZmZmZjgwIDA0YzQwZDYwIGZmZmZmZjgwIDA0YzQw
ZGEwIGZmZmZmZjgwClsgICAgNi40MTU5NjVdIDEwNjAgIDA0YzQwZGUwIGZmZmZmZjgwIDA0
YzQwZTIwIGZmZmZmZjgwIDA0YzQxMDcwIGZmZmZmZjgwIDA0YzQxMDcwIGZmZmZmZjgwClsg
ICAgNi40MTg3MTVdIAogICAgICAgICAgICAgICBYMjg6IDB4ZmZmZmZmODAwNGM0MGFkODoK
WyAgICA2LjQxOTE2NF0gMDhkOCAgMTFkZTAzMzAgZmZmZmZmYzAgMDQ0ZGM4ODAgZmZmZmZm
ODAgMDAwMDAwMDkgMDAwMDAwMDcgMDQwNTBjMDAgZmZmZmZmODAKWyAgICA2LjQxOTg3Nl0g
MDhmOCAgMDJkMjdhMDAgZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAgMTE0YzJhYzggZmZm
ZmZmYzAgMTFkYTdmYjggZmZmZmZmYzAKWyAgICA2LjQyMDU4OV0gMDkxOCAgMTFkYTg4ZDAg
ZmZmZmZmYzAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDNmOWVlMDAg
ZmZmZmZmODAKWyAgICA2LjQyMTMwMV0gMDkzOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDRjNDA5
NDAgZmZmZmZmODAgMDRjNDA5NDAgZmZmZmZmODAgMDRjNDA5NTAgZmZmZmZmODAKWyAgICA2
LjQyMjAxNF0gMDk1OCAgMDRjNDA5NTAgZmZmZmZmODAgMDRjNDA5NjAgZmZmZmZmODAgMDRj
NDA5NjAgZmZmZmZmODAgMDRjNDA5NzAgZmZmZmZmODAKWyAgICA2LjQyMjcyNl0gMDk3OCAg
MDRjNDA5NzAgZmZmZmZmODAgMDAwMDAwMDEgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAxMDcg
MDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjQyMzQzOV0gMDk5OCAgMDRjODg5ODggZmZmZmZm
ODAgMDRjOTA0ZTggZmZmZmZmODAgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAKWyAgICA2LjQyNDE1MV0gMDliOCAgMDRjNDA5YjggZmZmZmZmODAgMDRjNDA5YjggZmZm
ZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjQyNDg2
NF0gMDlkOCAgMDRjNDA5ZDggZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjQyNTU3Nl0gMDlmOCAgMDAwMDAw
MDAgMDAwMDAwMDAgMTA5YjQxYzAgZmZmZmZmYzAgN2ZiMWIxYzAgZmZmZmZmODAgMDAwMDAw
MDAgMDAwMDAwMDAKWyAgICA2LjQyNjI5Ml0gMGExOCAgMDAwMDAwMDAgMDAwMDAwMDAgZmZm
ZmZmZTAgMDAwMDAwMGYgMDRjNDBhMjggZmZmZmZmODAgMDRjNDBhMjggZmZmZmZmODAKWyAg
ICA2LjQyNzAwMl0gMGEzOCAgMTA5YjQwOTAgZmZmZmZmYzAgMDAwMDAwMDAgMDAwMDAwMDAg
MDRjNDBhNDggZmZmZmZmODAgMDRjNDBhNDggZmZmZmZmODAKWyAgICA2LjQyNzcxNF0gMGE1
OCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDIgMDAwMDAwMDEgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjQyODQyN10gMGE3OCAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAKWyAgICA2LjQyOTEzOV0gMGE5OCAgM2U3MTgyNTggMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjQy
OTg1Ml0gMGFiOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjQzMDU2NF0gMGFkOCogMDRj
NDgyMDAgZmZmZmZmODAgMDRjNDgyMDAgZmZmZmZmODAgMTE0ZDkyNzAgZmZmZmZmYzAgMDRj
NDA4NjggZmZmZmZmODAKWyAgICA2LjQzMDgzMV0gW0JUX1JGS0lMTF06IERJU0FCTEUgVUFS
VF9SVFMKWyAgICA2LjQzMTI3N10gMGFmOCAgZmZmZmZmZmYgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDRjNDA4NzAgZmZmZmZmODAKWyAgICA2LjQz
MTY0MF0gW0JUX1JGS0lMTF06IGJ0IHR1cm4gb24gcG93ZXIKWyAgICA2LjQzMjM0Ml0gMGIx
OCAgMDRjNDBiMTggZmZmZmZmODAgMDRjNDBiMTggZmZmZmZmODAgMDAwMDAwMDAKWyAgICA2
LjQzMjcwMF0gW0JUX1JGS0lMTF06IFJlcXVlc3QgaXJxIGZvciBidCB3YWtldXAgaG9zdApb
ICAgIDYuNDMyNzA2XSBbQlRfUkZLSUxMXTogKiogZGlzYWJsZSBpcnEKWyAgICA2LjQzMzIw
NF0gIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi40MzM2NjNdIFtCVF9SRktJTExdOiBidF9k
ZWZhdWx0IGRldmljZSByZWdpc3RlcmVkLgpbICAgIDYuNDMzOTk5XSAgMDAwMDAwMDAKWyAg
ICA2LjQzNDMwNl0gS2V5IHR5cGUgZG5zX3Jlc29sdmVyIHJlZ2lzdGVyZWQKWyAgICA2LjQz
NDcxOV0gMGIzOCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjQzNTM0NV0gTG9hZGluZyBj
b21waWxlZC1pbiBYLjUwOSBjZXJ0aWZpY2F0ZXMKWyAgICA2LjQzNjAwOV0gMGI1OCAgMDRj
NDBiNTggZmZmZmZmODAgMDRjNDBiNTggZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKWyAgICA2LjQzNzEyMl0gcmdhMl9tbXU6IHJnYV9pb21tdV9iaW5k
LCBiaW5kaW5nIG1hcCBzY2hlZHVsZXIgZmFpbGVkIQpbICAgIDYuNDM3MTQyXSAwYjc4ICAx
MDY3YjY1YyBmZmZmZmZjMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMCAwMDAwMDAwMApbICAgIDYuNDM3NzAxXSByZ2E6IHJnYSBpb21tdSBiaW5kIGZh
aWxlZCEKWyAgICA2LjQzODQwMl0gMGI5OCAgMDAwMDEwMDAgMDAwMDAwNDUgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDNlMzY5ODAgZmZmZmZmODAKClsgICAgNi40
Mzk0NTJdIDBiYjggIDAwMDAwMDAwClsgICAgNi40Mzk1ODddICoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqClsg
ICAgNi40Mzk1OTFdICoqICAgICBOT1RJQ0UgTk9USUNFIE5PVElDRSBOT1RJQ0UgTk9USUNF
IE5PVElDRSBOT1RJQ0UgICAgICAgICAgICoqClsgICAgNi40Mzk4MjddICAwMDAwMDAwMCAw
MDAwMDAwMApbICAgIDYuNDQwNDcyXSAqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKgpbICAgIDYuNDQwNDc2XSAq
KiAgV1JJVEVBQkxFIGNsayBEZWJ1Z0ZTIFNVUFBPUlQgSEFTIEJFRU4gRU5BQkxFRCBJTiBU
SElTIEtFUk5FTCAqKgpbICAgIDYuNDQxMTE3XSAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAw
MDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjQ0MTM4Nl0gKiogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKioKWyAg
ICA2LjQ0MTM5MF0gKiogVGhpcyBtZWFucyB0aGF0IHRoaXMga2VybmVsIGlzIGJ1aWx0IHRv
IGV4cG9zZSBjbGsgb3BlcmF0aW9ucyAgKioKWyAgICA2LjQ0MjAzMl0gMGJkOCAgMDAwMDAw
MDAKWyAgICA2LjQ0MjY3N10gKiogc3VjaCBhcyBwYXJlbnQgb3IgcmF0ZSBzZXR0aW5nLCBl
bmFibGluZywgZGlzYWJsaW5nLCBldGMuICAgICAgKioKWyAgICA2LjQ0MjY4MV0gKiogdG8g
dXNlcnNwYWNlLCB3aGljaCBtYXkgY29tcHJvbWlzZSBzZWN1cml0eSBvbiB5b3VyIHN5c3Rl
bS4gICAgKioKWyAgICA2LjQ0MzE0OV0gIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi40NDM3
OTRdICoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICoqClsgICAgNi40NDM3OThdICoqIElmIHlvdSBzZWUgdGhpcyBt
ZXNzYWdlIGFuZCB5b3UgYXJlIG5vdCBkZWJ1Z2dpbmcgdGhlICAgICAgICAgICoqClsgICAg
Ni40NDQ0MzldICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwM2UzNjk4MCBmZmZmZmY4
MApbICAgIDYuNDQ0NDQzXSAwYmY4ICAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMApbICAg
IDYuNDQ0Njc5XSAqKiBrZXJuZWwsIHJlcG9ydCB0aGlzIGltbWVkaWF0ZWx5IHRvIHlvdXIg
dmVuZG9yISAgICAgICAgICAgICAgICAqKgpbICAgIDYuNDQ0NjgzXSAqKiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
KgpbICAgIDYuNDQ1MzI1XSAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjQ0NTk3MF0gKiog
ICAgIE5PVElDRSBOT1RJQ0UgTk9USUNFIE5PVElDRSBOT1RJQ0UgTk9USUNFIE5PVElDRSAg
ICAgICAgICAgKioKWyAgICA2LjQ0NTk3NF0gKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKWyAgICA2LjQ0NjIz
OV0gIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi40NTE1NjRdIDBjMTggIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwClsgICAgNi40NTIyNzddIDBjMzggIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
ClsgICAgNi40NTI5ODldIDBjNTggIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi40NTM3MDFd
IDBjNzggIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAw
MDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAgNi40NTQ0MTRdIDBjOTggIDAwMDAwMDAw
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDAwMDAwMDAwClsgICAgNi40NTUxMjddIDBjYjggIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwClsgICAg
Ni40NTU4NDBdIAogICAgICAgICAgICAgICBYMjk6IDB4ZmZmZmZmYzAxMjkwMzk3MDoKWyAg
ICA2LjQ1NjI5Ml0gMzc3MCAgMTI5MDM4MjAgZmZmZmZmYzAgMDAwMDAwMDYgMDAwMDAwMDAg
MTI5MDM3YTAgZmZmZmZmYzAgMTAwM2I3YzAgZmZmZmZmYzAKWyAgICA2LjQ1NzAwMl0gMzc5
MCAgZjIwMDA4MDAgMDAwMDAwMDAgMTI5MDM4NjAgZmZmZmZmYzAgMTI5MDM3ZTAgZmZmZmZm
YzAgMTEzZjZkOTggZmZmZmZmYzAKWyAgICA2LjQ1NzE3M10gdmVuZG9yIHN0b3JhZ2U6MjAx
OTA1MjcgcmV0ID0gMApbICAgIDYuNDU3NzE0XSAzN2IwICAwNGM0ODIwMCBmZmZmZmY4MCA2
MGMwMDAwNSAwMDAwMDAwMCAxMDZhODczYyBmZmZmZmZjMCAwMDAwMDAwMCAwMDAwMDAwMApb
ICAgIDYuNDU3NzIwXSAzN2QwICAxMjkwMzgyMCBmZmZmZmZjMCBmMjAwMDgwMCAwMDAwMDAw
MCAxMjkwMzgxMCBmZmZmZmZjMCAxMTNmNmE2NCBmZmZmZmZjMApbICAgIDYuNDU5NTIxXSAz
N2YwICAxMjkwMzk3MCBmZmZmZmZjMCAxMTNmNzk4NCBmZmZmZmZjMCBmZmZmZmZmZiAwMDAw
MDA3ZiAwNGM0MDgwMCBmZmZmZmY4MApbICAgIDYuNDYwMjM0XSAzODEwICAxMjkwMzk1MCBm
ZmZmZmZjMCAxMDAxMjQwOCBmZmZmZmZjMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAw
MDAwMDAwMApbICAgIDYuNDYwNzcwXSB2Y2NfM3YzX3NkX3MwOiBzdXBwbGllZCBieSB2Y2Nf
M3YzX3MzClsgICAgNi40NjA5NDZdIDM4MzAgIDAwMDAwMDUyIDAwMDAwMDAwIDAwMDAwMDAy
IDAwMDAwMDAwIDEyOTAzOTU0IGZmZmZmZmMwIDAwMDAwMDQwIDAwMDAwMDAwClsgICAgNi40
NjA5NTFdIDM4NTAgIDAwMDAwMDNmIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAw
MDVhIDAwMDAwMDAwIDEwNmE4ZGYwIGZmZmZmZmMwClsgICAgNi40NjA5NTddIDM4NzAgIDAw
MDAwMDA1ClsgICAgNi40NjE4MjFdIHBjaWUyMF9hdmRkMHY4NTogc3VwcGxpZWQgYnkgdmRk
XzB2ODVfczAKWyAgICA2LjQ2MjA4OF0gIDAwMDAwMDAwIGZmZmZmZmZmClsgICAgNi40NjMy
ODZdIHBpbmN0cmwgcGluY3RybDogcGluIGdwaW8zLTcgYWxyZWFkeSByZXF1ZXN0ZWQgYnkg
d2lyZWxlc3Mtd2xhbjsgY2Fubm90IGNsYWltIGZvciBwY2llMjAtYXZkZDF2OApbICAgIDYu
NDYzNDc5XSAgMDAwMDAwMDAgZmZmZmZmZmYKWyAgICA2LjQ2Mzc1OF0gcGluY3RybCBwaW5j
dHJsOiBwaW4tMTAzIChwY2llMjAtYXZkZDF2OCkgc3RhdHVzIC0yMgpbICAgIDYuNDY0Njc3
XSAgMDAwMDAwMDAgZmZmZmZjN2UgMDAwMDAwMDAKWyAgICA2LjQ2NDY3OV0gMzg5MCAgMDAw
MDAwMDEgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEgMDAwMDAwMDAgMDAw
MDAwMDAgMDAwMDAwMDAKWyAgICA2LjQ2NDY4NF0gMzhiMCAgMDAwMDAwMDAgMDAwMDAwMDAg
MDRjNDA4MDAgZmZmZmZmODAgMDRjNDBhZDggZmZmZmZmODAgMDAwMDAwMDEgMDAwMDAwMDAK
WyAgICA2LjQ2NDY5MF0gMzhkMCAgMDRjNDBhZDggZmZmZmZmODAgMDRjNDA4YjAgZmZmZmZm
ODAgMDRjNDgyMDAgZmZmZmZmODAgZmZmZmZmZWQgMDAwMDAwMDAKWyAgICA2LjQ2NDY5NV0g
MzhmMCAgMDRjNDBlNjEgZmZmZmZmODAgZmZmZmZmZmYgMDAwMDAwMDAgMDRjNDBhZDggZmZm
ZmZmODAKWyAgICA2LjQ2NDk2OV0gcGluY3RybCBwaW5jdHJsOiBjb3VsZCBub3QgcmVxdWVz
dCBwaW4gMTAzIChncGlvMy03KSBmcm9tIGdyb3VwIHdpZmktaG9zdC13YWtlLWlycSAgb24g
ZGV2aWNlIHBpbmN0cmwKWyAgICA2LjQ2NTU1NV0gIDEyOTAzOTcwIGZmZmZmZmMwClsgICAg
Ni40NjU4OTZdIHJlZy1maXhlZC12b2x0YWdlIHBjaWUyMC1hdmRkMXY4OiBFcnJvciBhcHBs
eWluZyBzZXR0aW5nLCByZXZlcnNlIHRoaW5ncyBiYWNrCgpbICAgIDYuNDY2NjE0XSAzOTEw
IApbICAgIDYuNDY3MzMzXSByZWctZml4ZWQtdm9sdGFnZTogcHJvYmUgb2YgcGNpZTIwLWF2
ZGQxdjggZmFpbGVkIHdpdGggZXJyb3IgLTIyClsgICAgNi40NjgwMzBdICAxMDZhOGRmMCBm
ZmZmZmZjMCAxMjkwMzk3MCBmZmZmZmZjMCAxMDZhODczYyBmZmZmZmZjMCA2MGMwMDAwNSAw
MDAwMDAwMApbICAgIDYuNDY4MDM1XSAzOTMwICAwNGM0MGU2MSBmZmZmZmY4MCBmZmZmZmZm
ZiAwMDAwMDAwMCBmZmZmZmZmZgpbICAgIDYuNDY4OTQ4XSBwY2llMzBfYXZkZDB2NzU6IHN1
cHBsaWVkIGJ5IGF2ZGRfMHY3NV9zMApbICAgIDYuNDY5NjM3XSAgZmZmZmZmZmYgMTI5MDM5
YzAKWyAgICA2LjQ3MDM1Nl0gcGNpZTMwX2F2ZGQxdjg6IHN1cHBsaWVkIGJ5IGF2Y2NfMXY4
X3MwClsgICAgNi40NzA2MjRdICBmZmZmZmZjMApbICAgIDYuNDcxMTg2XSB2Y2MzdjNfbGNk
MF9uOiBzdXBwbGllZCBieSB2Y2NfMXY4X3MwClsgICAgNi40NzE1NTBdIDM5NTAgIDEyOTAz
OTcwClsgICAgNi40NzMwOTRdIGlucHV0OiBhZGMta2V5cyBhcyAvZGV2aWNlcy9wbGF0Zm9y
bS9hZGMta2V5cy9pbnB1dC9pbnB1dDEKWyAgICA2LjQ3MzE4NF0gIGZmZmZmZmMwIDEwNmE4
NzNjIGZmZmZmZmMwIDAwMDAwMDAwIDAwMDAwMDAwIDIwYzAwMDA1IDAwMDAwMDAwClsgICAg
Ni40NzU5MThdIDM5NzAqIDEyOTAzOWMwIGZmZmZmZmMwIDEwNmE4ZGYwIGZmZmZmZmMwIDA0
YzQwOGIwIGZmZmZmZjgwIDA0YzQwOGIwIGZmZmZmZjgwClsgICAgNi40NzY2MzFdIDM5OTAg
IDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAxIDAwMDAwMDAwIDAwMDAwMDAwIDAwMDAwMDAw
IDA0YzQwODAwIGZmZmZmZjgwClsgICAgNi40NzczNDNdIDM5YjAgIDAwMDBjMDdmIDAwMDIw
MDhhIDQwZjIwYjAwIGQ4YzIwOWUwIDEyOTAzYTYwIGZmZmZmZmMwIDEwNmE5NjRjIGZmZmZm
ZmMwClsgICAgNi40Nzc1MDNdIFtkaGRdIF9kaGRfbW9kdWxlX2luaXQ6IGluIERvbmdsZSBI
b3N0IERyaXZlciwgdmVyc2lvbiAxMDEuMTAuMzYxLjIwICh3bGFuPXI4OTIyMjMtMjAyMjA3
MDEtMykKClsgICAgNi40NzgwNTZdIDM5ZDAgIDAwMDAwMDAwClsgICAgNi40NzgxNjddIGNm
ZzgwMjExOiBMb2FkaW5nIGNvbXBpbGVkLWluIFguNTA5IGNlcnRpZmljYXRlcyBmb3IgcmVn
dWxhdG9yeSBkYXRhYmFzZQpbICAgIDYuNDc5MjY3XSBjZmc4MDIxMTogTG9hZGVkIFguNTA5
IGNlcnQgJ3Nmb3JzaGVlOiAwMGIyOGRkZjQ3YWVmOWNlYTcnClsgICAgNi40Nzk1NTRdIHBs
YXRmb3JtIHJlZ3VsYXRvcnkuMDogRGlyZWN0IGZpcm13YXJlIGxvYWQgZm9yIHJlZ3VsYXRv
cnkuZGIgZmFpbGVkIHdpdGggZXJyb3IgLTIKWyAgICA2LjQ3OTU1N10gY2ZnODAyMTE6IGZh
aWxlZCB0byBsb2FkIHJlZ3VsYXRvcnkuZGIKWyAgICA2LjQ3OTc5N10gW2RoZF0gQU5EUk9J
RF9WRVJTSU9OID0gMTIKWyAgICA2LjQ3OTgwMl0gW2RoZF0gPT09PT09PT0gZGhkX3dsYW5f
aW5pdF9wbGF0X2RhdGEgPT09PT09PT0KWyAgICA2LjQ4MDM1MV0gIDAwMDAwMDAwIDAyZDY2
YzAwClsgICAgNi40ODA2NjhdIHBtIHN1c3BlbmQ6IG5vdCBzZXQgcHdtLXJlZ3VsYXRvci1j
b25maWcKWyAgICA2LjQ4MTk3Nl0gW1dMQU5fUkZLSUxMXTogd2lmaV9nZXRfb29iX2lycTog
RW50ZXIKWyAgICA2LjQ4MjI3NV0gSSA6IFtGaWxlXSA6IGRyaXZlcnMvZ3B1L2FybS9tYWxp
NDAwL21hbGkvbGludXgvbWFsaV9rZXJuZWxfbGludXguYzsgW0xpbmVdIDogNDA5OyBbRnVu
Y10gOiBtYWxpX21vZHVsZV9pbml0KCk7IHN2bl9yZXZfc3RyaW5nX2Zyb21fYXJtIG9mIHRo
aXMgbWFsaV9rbyBpcyAnJywga29fdmVyIGlzICc1JywgYnVpbHQgYXQgJzExOjAxOjIxJywg
b24gJ0RlYyAgMSAyMDIyJy4KWyAgICA2LjQ4MjU0MV0gIGZmZmZmZjgwIDA0MDUwZjEwClsg
ICAgNi40ODI3NjRdIE1hbGk6IApbICAgIDYuNDgyNzY1XSBNYWxpIGRldmljZSBkcml2ZXIg
bG9hZGVkClsgICAgNi40ODI3NjddIEFMU0EgZGV2aWNlIGxpc3Q6ClsgICAgNi40ODI3NzBd
ICAgTm8gc291bmRjYXJkcyBmb3VuZC4KWyAgICA2LjQ4MzMxNl0gW2RoZF0gZGhkX3dsYW5f
aW5pdF9ncGlvOiBXTF9IT1NUX1dBS0U9LTEsIG9vYl9pcnE9NzMsIG9vYl9pcnFfZmxhZ3M9
MHg0ClsgICAgNi40ODM3MTFdICBmZmZmZmY4MCAwNDA1MGYxMApbICAgIDYuNDg0MDQxXSBb
ZGhkXSBkaGRfd2xhbl9pbml0X2dwaW86IFdMX1JFR19PTj0tMQpbICAgIDYuNDg0MDQ1XSBb
ZGhkXSBkaGRfd2lmaV9wbGF0Zm9ybV9sb2FkOiBFbnRlcgpbICAgIDYuNDg0NTI4XSAgZmZm
ZmZmODAKWyAgICA2LjQ4NDUyOV0gMzlmMCAgZmZmZmZmZjQgMDAwMDAwMDAgMDAwMDAwMjAK
WyAgICA2LjQ4NDgzN10gW2RoZF0gX2RoZF9tb2R1bGVfaW5pdDogRXhpdCBlcnI9MApbICAg
IDYuNDg1MzY4XSAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDEgMDAwMDAw
MDAKWyAgICA2LjQ5MTY3Nl0gM2ExMCAgMDAwMDAwMDYgMDAwMDAwMDAgMDRjNDA4MDAgZmZm
ZmZmODAgMTI5MDNhNjAgZmZmZmZmYzAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjQ5Mjg1
N10gM2EzMCAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAg
MDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKWyAgICA2LjQ5MzU2OV0gM2E1MCAgMDAwMDAw
MDAgMDAwMDAwMDAgNDBmMjBiMDAgZDhjMjA5ZTAgMTI5MDNhZDAgZmZmZmZmYzAgMTA2OTM1
NjQgZmZmZmZmYzAKWyAgICA2LjQ5NDI4Ml0gM2E3MCAgMDAwMDAwMTEgMDAwMDAwMDAgMDRj
NDBlNjEgZmZmZmZmODAgMTE0YzJjNjggZmZmZmZmYzAgMTFmODUwMDAgZmZmZmZmYzAKWyAg
ICA2LjQ5NDk5NF0gM2E5MCAgMDQwNTBjMDAgZmZmZmZmODAgMDRjNDA4MDAgZmZmZmZmODAg
MDAwMDAwMDEgMDAwMDAwMDAgMTA2NzVlYjggZmZmZmZmYzAKWyAgICA2LjQ5NTcwN10gM2Fi
MCAgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZmZmYgZmZmZmZm
YzAgNDBmMjBiMDAgZDhjMjA5ZTAKWyAgICA2LjQ5NjQyMF0gM2FkMCAgMTI5MDNiMzAgZmZm
ZmZmYzAgMTA2OTNkZDAgZmZmZmZmYzAgMDAwMDAwMDAgMDAwMDAwMDAgMDJkNjZjMDAgZmZm
ZmZmODAKWyAgICA2LjQ5NzEzMl0gM2FmMCAgMDQwNTBmMTAgZmZmZmZmODAgMDQwNTBmMTAg
ZmZmZmZmODAgMTFkYTg4ZDAgZmZmZmZmYzAgMDRjNDBlNjEgZmZmZmZmODAKWyAgICA2LjQ5
Nzg0NF0gM2IxMCAgMTE0YzJjNjggZmZmZmZmYzAgMDRjNDA4YjAgZmZmZmZmODAgMTFkYTg4
NzAgZmZmZmZmYzAgMDRjNDA4MDAgZmZmZmZmODAKWyAgICA2LjQ5ODU1N10gM2IzMCAgMTI5
MDNiNTAgZmZmZmZmYzAgMTA2ODg2MzggZmZmZmZmYzAgMTFkYTg4NzAgZmZmZmZmYzAgMDRj
NDA4MDAgZmZmZmZmODAKWyAgICA2LjQ5OTI2OV0gM2I1MCAgMTI5MDNiOTAgZmZmZmZmYzAg
MTA5OWU5ZjAgZmZmZmZmYzAgMDQwNTA0ODAgZmZmZmZmODAgMDAwMDAwMDAgMDAwMDAwMDAK
WyAgICA2LjQ5OTk4M10gLS0tWyBlbmQgdHJhY2UgODM1MmYzNDAxOGJmZDY0ZCBdLS0tClsg
ICAgNi41MDA0NzldIHBjaWVwb3J0IDAwMDI6MjA6MDAuMDogUE1FOiBTaWduYWxpbmcgd2l0
aCBJUlEgNjkKWyAgICA2LjUwMTA2MF0gc3lzZnM6IGNhbm5vdCBjcmVhdGUgZHVwbGljYXRl
IGZpbGVuYW1lICcvZGV2aWNlcy9wbGF0Zm9ybS9mZTE3MDAwMC5wY2llL3BjaTAwMDI6MjAv
MDAwMjoyMDowMC4wLzAwMDI6MjE6MDAuMC9jb25maWcnClsgICAgNi41MDIwNjddIENQVTog
NSBQSUQ6IDE0MiBDb21tOiBwY2llIFRhaW50ZWQ6IEcgICAgICAgIFcgICAgICAgICA1LjEw
LjExMCAjMTkyClsgICAgNi41MDI3MzJdIEhhcmR3YXJlIG5hbWU6IFJvY2tjaGlwIFJLMzU4
OCBUT1lCUklDSyBYMTAgQm9hcmQgKERUKQpbICAgIDYuNTAzMjcyXSBDYWxsIHRyYWNlOgpb
ICAgIDYuNTAzNDkzXSAgZHVtcF9iYWNrdHJhY2UrMHgwLzB4MWU0ClsgICAgNi41MDM4MTNd
ICBzaG93X3N0YWNrKzB4MjQvMHgzMApbICAgIDYuNTA0MTA3XSAgZHVtcF9zdGFja19sdmwr
MHhkNC8weDEyNApbICAgIDYuNTA0NDM1XSAgZHVtcF9zdGFjaysweDE4LzB4M2MKWyAgICA2
LjUwNDcyOF0gIHN5c2ZzX3dhcm5fZHVwKzB4NzQvMHg5MApbICAgIDYuNTA1MDUwXSAgc3lz
ZnNfY3JlYXRlX2Jpbl9maWxlKzB4ZWMvMHgxMzQKWyAgICA2LjUwNTA4Nl0gRVhUNC1mcyAo
bW1jYmxrMHA2KTogbW91bnRlZCBmaWxlc3lzdGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUu
IE9wdHM6IChudWxsKQpbICAgIDYuNTA1NDMzXSAgcGNpX2NyZWF0ZV9zeXNmc19kZXZfZmls
ZXMrMHg1OC8weDIxOApbICAgIDYuNTA1NDQwXSAgcGNpX2J1c19hZGRfZGV2aWNlKzB4Mzgv
MHhhOApbICAgIDYuNTA2MTUyXSBWRlM6IE1vdW50ZWQgcm9vdCAoZXh0NCBmaWxlc3lzdGVt
KSBvbiBkZXZpY2UgMTc5OjYuClsgICAgNi41MDY1NThdICBwY2lfYnVzX2FkZF9kZXZpY2Vz
KzB4NGMvMHg4YwpbICAgIDYuNTA2NTYyXSAgcGNpX2J1c19hZGRfZGV2aWNlcysweDc4LzB4
OGMKWyAgICA2LjUwODE1NV0gIHBjaV9ob3N0X3Byb2JlKzB4ODAvMHhiNApbICAgIDYuNTA4
NDc3XSAgZHdfcGNpZV9ob3N0X2luaXQrMHgzMTAvMHgzZmMKWyAgICA2LjUwODgyMF0gZGV2
dG1wZnM6IG1vdW50ZWQKWyAgICA2LjUwODgzN10gIHBjaWVfcmVhbGx5X3Byb2JlKzB4OTU4
LzB4ZTA0ClsgICAgNi41MDg4NDNdICBrdGhyZWFkKzB4MTIwLzB4MjU4ClsgICAgNi41MDk3
NjddICByZXRfZnJvbV9mb3JrKzB4MTAvMHgzMApbICAgIDYuNTEwNDE4XSBGcmVlaW5nIHVu
dXNlZCBrZXJuZWwgbWVtb3J5OiAxODU2SwpbICAgIDYuNTEyMDQxXSBwY2liYWNrIDAwMDI6
MjE6MDAuMDogeGVuX3BjaWJhY2s6IHNlaXppbmcgZGV2aWNlClsgICAgNi41MjY4NDBdIHBj
aWJhY2sgMDAwMjoyMTowMC4wOiBlbmFibGluZyBkZXZpY2UgKDAwMDAgLT4gMDAwMikKWyAg
ICA2LjU4NDIxOV0gUnVuIC9zYmluL2luaXQgYXMgaW5pdCBwcm9jZXNzClsgICAgNi41ODQ1
NzJdICAgd2l0aCBhcmd1bWVudHM6ClsgICAgNi41ODQ1NzNdICAgICAvc2Jpbi9pbml0Clsg
ICAgNi41ODQ1NzVdICAgd2l0aCBlbnZpcm9ubWVudDoKWyAgICA2LjU4NDU3Nl0gICAgIEhP
TUU9LwpbICAgIDYuNTg0NTc4XSAgICAgVEVSTT1saW51eApbICAgIDYuNTg0NTc5XSAgICAg
aW9tbXU9MQpbICAgIDYuNTg0NTgwXSAgICAgcHNpPTEKWyAgICA2LjcwODU3OF0gc3lzdGVt
ZFsxXTogRmFpbGVkIHRvIGZpbmQgbW9kdWxlICdhdXRvZnM0JwpbICAgIDYuNzE0MjkwXSBz
eXN0ZW1kWzFdOiBzeXN0ZW1kIDI1Mi4xLTEgcnVubmluZyBpbiBzeXN0ZW0gbW9kZSAoK1BB
TSArQVVESVQgK1NFTElOVVggK0FQUEFSTU9SICtJTUEgK1NNQUNLICtTRUNDT01QICtHQ1JZ
UFQgLUdOVVRMUyArT1BFTlNTTCArQUNMICtCTEtJRCArQ1VSTCArRUxGVVRJTFMgK0ZJRE8y
ICtJRE4yIC1JRE4gK0lQVEMgK0tNT0QgK0xJQkNSWVBUU0VUVVAgK0xJQkZESVNLICtQQ1JF
MiAtUFdRVUFMSVRZIC1QMTFLSVQgK1FSRU5DT0RFICtUUE0yICtCWklQMiArTFo0ICtYWiAr
WkxJQiArWlNURCAtQlBGX0ZSQU1FV09SSyAtWEtCQ09NTU9OICtVVE1QICtTWVNWSU5JVCBk
ZWZhdWx0LWhpZXJhcmNoeT11bmlmaWVkKQpbICAgIDYuNzE3MDUyXSBzeXN0ZW1kWzFdOiBE
ZXRlY3RlZCBhcmNoaXRlY3R1cmUgYXJtNjQuClsgICAgNi43MjM1NzVdIHN5c3RlbWRbMV06
IEhvc3RuYW1lIHNldCB0byA8ZGViaWFuLnRveWJyaWNrPi4KWyAgICA2LjgzNDIwNF0gc3lz
dGVtZC1zeXN2LWdlbmVyYXRvclsyMDVdOiBPdmVyd3JpdGluZyBleGlzdGluZyBzeW1saW5r
IC9ydW4vc3lzdGVtZC9nZW5lcmF0b3IubGF0ZS94ZW4uc2VydmljZSB3aXRoIHJlYWwgc2Vy
dmljZS4KWyAgICA2Ljk5MDg4MF0gc3lzdGVtZFsxXTogUXVldWVkIHN0YXJ0IGpvYiBmb3Ig
ZGVmYXVsdCB0YXJnZXQgR3JhcGhpY2FsIEludGVyZmFjZS4KWyAgICA2Ljk5MjM5NF0gc3lz
dGVtZFsxXTogQ3JlYXRlZCBzbGljZSBTbGljZSAvc3lzdGVtL2dldHR5LgpbICAgIDYuOTkz
ODI0XSBzeXN0ZW1kWzFdOiBDcmVhdGVkIHNsaWNlIFNsaWNlIC9zeXN0ZW0vbW9kcHJvYmUu
ClsgICAgNi45OTUyNDBdIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xpY2UgU2xpY2UgL3N5c3Rl
bS9zZXJpYWwtZ2V0dHkuClsgICAgNi45OTY2NDhdIHN5c3RlbWRbMV06IENyZWF0ZWQgc2xp
Y2UgU2xpY2UgL3N5c3RlbS9zeXN0ZW1kLWZzY2suClsgICAgNi45OTc5NDRdIHN5c3RlbWRb
MV06IENyZWF0ZWQgc2xpY2UgVXNlciBhbmQgU2Vzc2lvbiBTbGljZS4KWyAgICA2Ljk5OTEx
OF0gc3lzdGVtZFsxXTogU3RhcnRlZCBGb3J3YXJkIFBhc3N3b3JkIFJlcXVlc3RzIHRvIFdh
bGwgRGlyZWN0b3J5IFdhdGNoLgpbICAgIDcuMDAwNjU0XSBzeXN0ZW1kWzFdOiBBcmJpdHJh
cnkgRXhlY3V0YWJsZSBGaWxlIEZvcm1hdHMgRmlsZSBTeXN0ZW0gQXV0b21vdW50IFBvaW50
IHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9uIGNoZWNrIChDb25k
aXRpb25QYXRoRXhpc3RzPS9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYykuClsgICAgNy4wMDIx
NDRdIHN5c3RlbWRbMV06IFJlYWNoZWQgdGFyZ2V0IExvY2FsIEludGVncml0eSBQcm90ZWN0
ZWQgVm9sdW1lcy4KWyAgICA3LjAwMzQ0OF0gc3lzdGVtZFsxXTogUmVhY2hlZCB0YXJnZXQg
VXNlciBhbmQgR3JvdXAgTmFtZSBMb29rdXBzLgpbICAgIDcuMDA0NjM4XSBzeXN0ZW1kWzFd
OiBSZWFjaGVkIHRhcmdldCBSZW1vdGUgRmlsZSBTeXN0ZW1zLgpbICAgIDcuMDA1Njk1XSBz
eXN0ZW1kWzFdOiBSZWFjaGVkIHRhcmdldCBTbGljZSBVbml0cy4KWyAgICA3LjAwNjY0Nl0g
c3lzdGVtZFsxXTogUmVhY2hlZCB0YXJnZXQgU3dhcHMuClsgICAgNy4wMDc1MzddIHN5c3Rl
bWRbMV06IFJlYWNoZWQgdGFyZ2V0IExvY2FsIFZlcml0eSBQcm90ZWN0ZWQgVm9sdW1lcy4K
WyAgICA3LjAwODkzMF0gc3lzdGVtZFsxXTogTGlzdGVuaW5nIG9uIFN5c2xvZyBTb2NrZXQu
ClsgICAgNy4wMDk5ODRdIHN5c3RlbWRbMV06IExpc3RlbmluZyBvbiBmc2NrIHRvIGZzY2tk
IGNvbW11bmljYXRpb24gU29ja2V0LgpbICAgIDcuMDExMzAyXSBzeXN0ZW1kWzFdOiBMaXN0
ZW5pbmcgb24gaW5pdGN0bCBDb21wYXRpYmlsaXR5IE5hbWVkIFBpcGUuClsgICAgNy4wMTY5
ODVdIHN5c3RlbWRbMV06IEpvdXJuYWwgQXVkaXQgU29ja2V0IHdhcyBza2lwcGVkIGJlY2F1
c2Ugb2YgYW4gdW5tZXQgY29uZGl0aW9uIGNoZWNrIChDb25kaXRpb25TZWN1cml0eT1hdWRp
dCkuClsgICAgNy4wMTgxMDJdIHN5c3RlbWRbMV06IExpc3RlbmluZyBvbiBKb3VybmFsIFNv
Y2tldCAoL2Rldi9sb2cpLgpbICAgIDcuMDE5MzkzXSBzeXN0ZW1kWzFdOiBMaXN0ZW5pbmcg
b24gSm91cm5hbCBTb2NrZXQuClsgICAgNy4wMjA4NjNdIHN5c3RlbWRbMV06IExpc3Rlbmlu
ZyBvbiB1ZGV2IENvbnRyb2wgU29ja2V0LgpbICAgIDcuMDIyMDE2XSBzeXN0ZW1kWzFdOiBM
aXN0ZW5pbmcgb24gdWRldiBLZXJuZWwgU29ja2V0LgpbICAgIDcuMDIzMjA0XSBzeXN0ZW1k
WzFdOiBIdWdlIFBhZ2VzIEZpbGUgU3lzdGVtIHdhcyBza2lwcGVkIGJlY2F1c2Ugb2YgYW4g
dW5tZXQgY29uZGl0aW9uIGNoZWNrIChDb25kaXRpb25QYXRoRXhpc3RzPS9zeXMva2VybmVs
L21tL2h1Z2VwYWdlcykuClsgICAgNy4wMjQ0MjFdIHN5c3RlbWRbMV06IFBPU0lYIE1lc3Nh
Z2UgUXVldWUgRmlsZSBTeXN0ZW0gd2FzIHNraXBwZWQgYmVjYXVzZSBvZiBhbiB1bm1ldCBj
b25kaXRpb24gY2hlY2sgKENvbmRpdGlvblBhdGhFeGlzdHM9L3Byb2Mvc3lzL2ZzL21xdWV1
ZSkuClsgICAgNy4wMjYyNzNdIHN5c3RlbWRbMV06IE1vdW50aW5nIEtlcm5lbCBEZWJ1ZyBG
aWxlIFN5c3RlbS4uLgpbICAgIDcuMDI4MDIwXSBzeXN0ZW1kWzFdOiBNb3VudGluZyBLZXJu
ZWwgVHJhY2UgRmlsZSBTeXN0ZW0uLi4KWyAgICA3LjAyOTIxNV0gc3lzdGVtZFsxXTogQ3Jl
YXRlIExpc3Qgb2YgU3RhdGljIERldmljZSBOb2RlcyB3YXMgc2tpcHBlZCBiZWNhdXNlIG9m
IGFuIHVubWV0IGNvbmRpdGlvbiBjaGVjayAoQ29uZGl0aW9uRmlsZU5vdEVtcHR5PS9saWIv
bW9kdWxlcy81LjEwLjExMC9tb2R1bGVzLmRldm5hbWUpLgpbICAgIDcuMDMxNDc4XSBzeXN0
ZW1kWzFdOiBTdGFydGluZyBMb2FkIEtlcm5lbCBNb2R1bGUgY29uZmlnZnMuLi4KWyAgICA3
LjAzMzQyMF0gc3lzdGVtZFsxXTogU3RhcnRpbmcgTG9hZCBLZXJuZWwgTW9kdWxlIGRybS4u
LgpbICAgIDcuMDM1MzI1XSBzeXN0ZW1kWzFdOiBTdGFydGluZyBMb2FkIEtlcm5lbCBNb2R1
bGUgZWZpX3BzdG9yZS4uLgpbICAgIDcuMDM3MzMzXSBzeXN0ZW1kWzFdOiBTdGFydGluZyBM
b2FkIEtlcm5lbCBNb2R1bGUgZnVzZS4uLgpbICAgIDcuMDM4Nzg3XSBzeXN0ZW1kWzFdOiBz
eXN0ZW1kLWpvdXJuYWxkLnNlcnZpY2U6IHVuaXQgY29uZmlndXJlcyBhbiBJUCBmaXJld2Fs
bCwgYnV0IHRoZSBsb2NhbCBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBCUEYvY2dyb3VwIGZp
cmV3YWxsaW5nLgpbICAgIDcuMDM5OTAyXSBzeXN0ZW1kWzFdOiAoVGhpcyB3YXJuaW5nIGlz
IG9ubHkgc2hvd24gZm9yIHRoZSBmaXJzdCB1bml0IHVzaW5nIElQIGZpcmV3YWxsaW5nLikK
WyAgICA3LjA0MTMzNl0gc3lzdGVtZFsxXTogU3RhcnRpbmcgSm91cm5hbCBTZXJ2aWNlLi4u
ClsgICAgNy4wNDQxNDZdIHN5c3RlbWRbMV06IFN0YXJ0aW5nIExvYWQgS2VybmVsIE1vZHVs
ZXMuLi4KWyAgICA3LjA0NTk5MV0gc3lzdGVtZFsxXTogU3RhcnRpbmcgUmVtb3VudCBSb290
IGFuZCBLZXJuZWwgRmlsZSBTeXN0ZW1zLi4uClsgICAgNy4wNDcyNzVdIHN5c3RlbWRbMV06
IFJlcGFydGl0aW9uIFJvb3QgRGlzayB3YXMgc2tpcHBlZCBiZWNhdXNlIG5vIHRyaWdnZXIg
Y29uZGl0aW9uIGNoZWNrcyB3ZXJlIG1ldC4KWyAgICA3LjA0ODkyNV0gc3lzdGVtZFsxXTog
U3RhcnRpbmcgQ29sZHBsdWcgQWxsIHVkZXYgRGV2aWNlcy4uLgpbICAgIDcuMDUxMzczXSBz
eXN0ZW1kWzFdOiBNb3VudGVkIEtlcm5lbCBEZWJ1ZyBGaWxlIFN5c3RlbS4KWyAgICA3LjA1
MjU3MF0gc3lzdGVtZFsxXTogTW91bnRlZCBLZXJuZWwgVHJhY2UgRmlsZSBTeXN0ZW0uClsg
ICAgNy4wNTM4NjddIHN5c3RlbWRbMV06IG1vZHByb2JlQGNvbmZpZ2ZzLnNlcnZpY2U6IERl
YWN0aXZhdGVkIHN1Y2Nlc3NmdWxseS4KWyAgICA3LjA1NDY2N10gc3lzdGVtZFsxXTogRmlu
aXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlIGNvbmZpZ2ZzLgpbICAgIDcuMDYxOTkwXSBzeXN0
ZW1kWzFdOiBtb2Rwcm9iZUBkcm0uc2VydmljZTogRGVhY3RpdmF0ZWQgc3VjY2Vzc2Z1bGx5
LgpbICAgIDcuMDYyNzM0XSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBMb2FkIEtlcm5lbCBNb2R1
bGUgZHJtLgpbICAgIDcuMDY0MDk4XSBzeXN0ZW1kWzFdOiBtb2Rwcm9iZUBlZmlfcHN0b3Jl
LnNlcnZpY2U6IERlYWN0aXZhdGVkIHN1Y2Nlc3NmdWxseS4KWyAgICA3LjA2NDkwNV0gc3lz
dGVtZFsxXTogRmluaXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlIGVmaV9wc3RvcmUuClsgICAg
Ny4wNjYzNDFdIHN5c3RlbWRbMV06IG1vZHByb2JlQGZ1c2Uuc2VydmljZTogRGVhY3RpdmF0
ZWQgc3VjY2Vzc2Z1bGx5LgpbICAgIDcuMDY3MDQwXSBzeXN0ZW1kWzFdOiBGaW5pc2hlZCBM
b2FkIEtlcm5lbCBNb2R1bGUgZnVzZS4KWyAgICA3LjA2ODMxN10gc3lzdGVtZFsxXTogRmlu
aXNoZWQgTG9hZCBLZXJuZWwgTW9kdWxlcy4KWyAgICA3LjA2OTUxMF0gc3lzdGVtZFsxXTog
RmluaXNoZWQgUmVtb3VudCBSb290IGFuZCBLZXJuZWwgRmlsZSBTeXN0ZW1zLgpbICAgIDcu
MDcxNzU3XSBzeXN0ZW1kWzFdOiBNb3VudGluZyBGVVNFIENvbnRyb2wgRmlsZSBTeXN0ZW0u
Li4KWyAgICA3LjA3MzQ5N10gc3lzdGVtZFsxXTogTW91bnRpbmcgS2VybmVsIENvbmZpZ3Vy
YXRpb24gRmlsZSBTeXN0ZW0uLi4KWyAgICA3LjA3NDY5OV0gc3lzdGVtZFsxXTogRmlyc3Qg
Qm9vdCBXaXphcmQgd2FzIHNraXBwZWQgYmVjYXVzZSBvZiBhbiB1bm1ldCBjb25kaXRpb24g
Y2hlY2sgKENvbmRpdGlvbkZpcnN0Qm9vdD15ZXMpLgpbICAgIDcuMDc1NjYzXSBzeXN0ZW1k
WzFdOiBQbGF0Zm9ybSBQZXJzaXN0ZW50IFN0b3JhZ2UgQXJjaGl2YWwgd2FzIHNraXBwZWQg
YmVjYXVzZSBvZiBhbiB1bm1ldCBjb25kaXRpb24gY2hlY2sgKENvbmRpdGlvbkRpcmVjdG9y
eU5vdEVtcHR5PS9zeXMvZnMvcHN0b3JlKS4KWyAgICA3LjA3NzcyNF0gc3lzdGVtZFsxXTog
U3RhcnRpbmcgTG9hZC9TYXZlIFJhbmRvbSBTZWVkLi4uClsgICAgNy4wNzk1MzhdIHN5c3Rl
bWRbMV06IFN0YXJ0aW5nIEFwcGx5IEtlcm5lbCBWYXJpYWJsZXMuLi4KWyAgICA3LjA4MTM4
Ml0gc3lzdGVtZFsxXTogU3RhcnRpbmcgQ3JlYXRlIFN5c3RlbSBVc2Vycy4uLgpbICAgIDcu
MDgzOTg2XSBzeXN0ZW1kWzFdOiBNb3VudGVkIEZVU0UgQ29udHJvbCBGaWxlIFN5c3RlbS4K
WyAgICA3LjA4NjM0N10gc3lzdGVtZFsxXTogTW91bnRlZCBLZXJuZWwgQ29uZmlndXJhdGlv
biBGaWxlIFN5c3RlbS4KWyAgICA3LjEwNDAxOF0gc3lzdGVtZFsxXTogRmluaXNoZWQgQXBw
bHkgS2VybmVsIFZhcmlhYmxlcy4KWyAgICA3LjExMDA2NV0gc3lzdGVtZFsxXTogRmluaXNo
ZWQgQ3JlYXRlIFN5c3RlbSBVc2Vycy4KWyAgICA3LjExMjEyMF0gc3lzdGVtZFsxXTogU3Rh
cnRpbmcgQ3JlYXRlIFN0YXRpYyBEZXZpY2UgTm9kZXMgaW4gL2Rldi4uLgpbICAgIDcuMTMw
MTg2XSBzeXN0ZW1kWzFdOiBTdGFydGVkIEpvdXJuYWwgU2VydmljZS4KWyAgICA3LjE1Mjk5
NV0gc3lzdGVtZC1qb3VybmFsZFsyMTddOiBSZWNlaXZlZCBjbGllbnQgcmVxdWVzdCB0byBm
bHVzaCBydW50aW1lIGpvdXJuYWwuClsgICAgNy4zODU5NTBdIGdtYWMtZHdtYWMgZmUxYjAw
MDAuZXRoZXJuZXQgZW5kMDogcmVuYW1lZCBmcm9tIGV0aDAKWyAgICA3LjQyMDA2MV0gcmFu
ZG9tOiBhdmFoaS1kYWVtb246IHVuaW5pdGlhbGl6ZWQgdXJhbmRvbSByZWFkICg0IGJ5dGVz
IHJlYWQpClsgICAgNy40Mjc2MjNdIHJhbmRvbTogZGJ1cy1kYWVtb246IHVuaW5pdGlhbGl6
ZWQgdXJhbmRvbSByZWFkICgxMiBieXRlcyByZWFkKQpbICAgIDcuNTc3Njc3XSByYW5kb206
IGRidXMtZGFlbW9uOiB1bmluaXRpYWxpemVkIHVyYW5kb20gcmVhZCAoMTIgYnl0ZXMgcmVh
ZCkKWyAgICA4LjA2OTkyOF0gRVhUNC1mcyAobW1jYmxrMHA4KTogbW91bnRlZCBmaWxlc3lz
dGVtIHdpdGggb3JkZXJlZCBkYXRhIG1vZGUuIE9wdHM6IChudWxsKQpbICAgIDguMTAzMDc3
XSBNYXNzIFN0b3JhZ2UgRnVuY3Rpb24sIHZlcnNpb246IDIwMDkvMDkvMTEKWyAgICA4LjEw
MzYwNl0gTFVOOiByZW1vdmFibGUgZmlsZTogKG5vIG1lZGl1bSkKWyAgICA4LjEwNjI0N10g
bWFzc19zdG9yYWdlLjAvbHVuLjA6IHVuYWJsZSB0byBvcGVuIGJhY2tpbmcgZmlsZTogL3Zh
ci9kb2MuaW1nClsgICAgOC4xMDg4NThdIE1hc3MgU3RvcmFnZSBGdW5jdGlvbiwgdmVyc2lv
bjogMjAwOS8wOS8xMQpbICAgIDguMTA5MzA5XSBMVU46IHJlbW92YWJsZSBmaWxlOiAobm8g
bWVkaXVtKQpbICAgIDguMTEyNzcyXSBtYXNzX3N0b3JhZ2UuMS9sdW4uMDogdW5hYmxlIHRv
IG9wZW4gYmFja2luZyBmaWxlOiAvdmFyL2RvYy5pbWcKWyAgICA4LjExNzMyM10gdXNpbmcg
cmFuZG9tIHNlbGYgZXRoZXJuZXQgYWRkcmVzcwpbICAgIDguMTE3NzYxXSB1c2luZyByYW5k
b20gaG9zdCBldGhlcm5ldCBhZGRyZXNzClsgICAgOC4zMjg2NzldIGZpbGUgc3lzdGVtIHJl
Z2lzdGVyZWQKWyAgICA4LjQ0MDY0M10gdWRjIGZjMDAwMDAwLnVzYjogZmFpbGVkIHRvIHN0
YXJ0IDogLTE5ClsgICAgOS42MTM5ODFdIHJlYWQgZGVzY3JpcHRvcnMKWyAgICA5LjYxNDMx
OV0gcmVhZCBzdHJpbmdzClsgICAgOS43NDk3MzddIGZmc19kYXRhX3B1dCgpOiBmcmVlaW5n
ClsgICAgOS45ODc5MDJdIGFuZHJvaWRfd29yazogZGlkIG5vdCBzZW5kIHVldmVudCAoMCAw
IDAwMDAwMDAwMDAwMDAwMDApClsgICAxMC4xODQxNzBdIHJhbmRvbTogY3JuZyBpbml0IGRv
bmUKWyAgIDEwLjE4NDQ2N10gcmFuZG9tOiAyIHVyYW5kb20gd2FybmluZyhzKSBtaXNzZWQg
ZHVlIHRvIHJhdGVsaW1pdGluZwpbICAgMTAuMjkzNjk4XSBFWFQ0LWZzIChtbWNibGswcDMp
OiBtb3VudGluZyBleHQyIGZpbGUgc3lzdGVtIHVzaW5nIHRoZSBleHQ0IHN1YnN5c3RlbQpb
ICAgMTAuMjk2NjkwXSBFWFQ0LWZzIChtbWNibGswcDMpOiBtb3VudGVkIGZpbGVzeXN0ZW0g
d2l0aG91dCBqb3VybmFsLiBPcHRzOiAobnVsbCkKWyAgIDEwLjI5NzM0NV0gZXh0MiBmaWxl
c3lzdGVtIGJlaW5nIG1vdW50ZWQgYXQgL2Jvb3Qgc3VwcG9ydHMgdGltZXN0YW1wcyB1bnRp
bCAyMDM4ICgweDdmZmZmZmZmKQpbICAgMzYuNTg0MTc0XSB2Y2NfbWlwaWNzaTA6IGRpc2Fi
bGluZwpbICAgMzYuNTg0NDgyXSB2Y2NfbWlwaWNzaTE6IGRpc2FibGluZwpbICAgMzYuNTg0
Nzg3XSB2Y2NfbWlwaWNzaTE6IGRpc2FibGluZwpbICAgMzYuNTg1MjI4XSB2ZGRfZ3B1X3Mw
OiBkaXNhYmxpbmcKWyAgIDM2LjU4NTY5NF0gdmNjM3YzX2xjZDBfbjogZGlzYWJsaW5nClsg
ICA2OS44ODk2NTRdIG9mX2RtYV9yZXF1ZXN0X3NsYXZlX2NoYW5uZWw6IGRtYS1uYW1lcyBw
cm9wZXJ0eSBvZiBub2RlICcvc2VyaWFsQGZlYmIwMDAwJyBtaXNzaW5nIG9yIGVtcHR5Clsg
ICA2OS44OTA0OTRdIGR3LWFwYi11YXJ0IGZlYmIwMDAwLnNlcmlhbDogZmFpbGVkIHRvIHJl
cXVlc3QgRE1BLCB1c2UgaW50ZXJydXB0IG1vZGUKWyAgIDc1LjczNjU3OV0gdHR5RklRIHR0
eUZJUTA6IHR0eV9wb3J0X2Nsb3NlX3N0YXJ0OiB0dHktPmNvdW50ID0gMSBwb3J0IGNvdW50
ID0gMgo=

--------------V0BLwG0HWGw4lzOTRB0PE93p--


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 01:22:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 01:22:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460062.717856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4u0N-00061e-VQ; Tue, 13 Dec 2022 01:22:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460062.717856; Tue, 13 Dec 2022 01:22:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4u0N-00061X-S7; Tue, 13 Dec 2022 01:22:47 +0000
Received: by outflank-mailman (input) for mailman id 460062;
 Tue, 13 Dec 2022 01:22:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TuKI=4L=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p4u0M-00061R-Ll
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 01:22:46 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a538f4b4-7a84-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 02:22:45 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id E2E716129E;
 Tue, 13 Dec 2022 01:22:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 394D3C433D2;
 Tue, 13 Dec 2022 01:22:39 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a538f4b4-7a84-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670894560;
	bh=jeoipqnn/uPmDWG7Qi39Hdguj6vsPV/XKp7+lI1DLmU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=qgw66+FpBKBvaNA4BbFzsFLEa9iYukvkpELcAzAepLZEE5w68+ybhMvrRtMo6+teu
	 YSSu37ZQhIabnWs2GPnUXajBpeVNWqFEFX+so1JxrEwQWEgGyTkVphChvfy0pJSAut
	 RS3SeR9NVuhCIe9Anoy60TMFpMlzHhGwi7H5yiIHoZsihNzMmT6+x8hv0ZYBU0DOfl
	 qeEWhH0fJY+ATXxIMHrBdFjF+lkX0aUbZlsOFZhSRZWz3XY8qGm8VWzk8oXJ88WhtX
	 3zNDt7tj4RzG2R4CRd0SeXxPVssBwAkP7h9dJ7EfJyXXoz5YdjNOgpZyuwAuhGJYZH
	 BhoXG+vERucIw==
Date: Mon, 12 Dec 2022 17:22:35 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 12/18] xen/arm64: Rework the memory layout
In-Reply-To: <20221212095523.52683-13-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212121710470.3075842@ubuntu-linux-20-04-desktop>
References: <20221212095523.52683-1-julien@xen.org> <20221212095523.52683-13-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 12 Dec 2022, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> Xen is currently not fully compliant with the Arm Arm because it will
> switch the TTBR with the MMU on.
> 
> In order to be compliant, we need to disable the MMU before
> switching the TTBR. The implication is the page-tables should
> contain an identity mapping of the code switching the TTBR.
> 
> In most of the case we expect Xen to be loaded in low memory. I am aware
> of one platform (i.e AMD Seattle) where the memory start above 512GB.
> To give us some slack, consider that Xen may be loaded in the first 2TB
> of the physical address space.
> 
> The memory layout is reshuffled to keep the first two slots of the zeroeth
> level free. Xen will now be loaded at (2TB + 2MB). This requires a slight
> tweak of the boot code because XEN_VIRT_START cannot be used as an
> immediate.
> 
> This reshuffle will make trivial to create a 1:1 mapping when Xen is
> loaded below 2TB.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> ---
> 
>     Changes in v2:
>         - Reword the commit message
>         - Load Xen at 2TB + 2MB
>         - Update the documentation to reflect the new layout
> ---
>  xen/arch/arm/arm64/head.S         |  3 ++-
>  xen/arch/arm/include/asm/config.h | 34 +++++++++++++++++++++----------
>  xen/arch/arm/mm.c                 | 11 +++++-----
>  3 files changed, 31 insertions(+), 17 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index ad014716db6f..23c2c7491db2 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -607,7 +607,8 @@ create_page_tables:
>           * need an additional 1:1 mapping, the virtual mapping will
>           * suffice.
>           */
> -        cmp   x19, #XEN_VIRT_START
> +        ldr   x0, =XEN_VIRT_START
> +        cmp   x19, x0
>          bne   1f
>          ret
>  1:
> diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
> index 6c1b762e976d..9fe6bfeeeb95 100644
> --- a/xen/arch/arm/include/asm/config.h
> +++ b/xen/arch/arm/include/asm/config.h
> @@ -72,15 +72,12 @@
>  #include <xen/page-size.h>
>  
>  /*
> - * Common ARM32 and ARM64 layout:
> + * ARM32 layout:
>   *   0  -   2M   Unmapped
>   *   2M -   4M   Xen text, data, bss
>   *   4M -   6M   Fixmap: special-purpose 4K mapping slots
>   *   6M -  10M   Early boot mapping of FDT
> - *   10M - 12M   Livepatch vmap (if compiled in)
> - *
> - * ARM32 layout:
> - *   0  -  12M   <COMMON>
> + *  10M -  12M   Livepatch vmap (if compiled in)
>   *
>   *  32M - 128M   Frametable: 24 bytes per page for 16GB of RAM
>   * 256M -   1G   VMAP: ioremap and early_ioremap use this virtual address
> @@ -90,8 +87,17 @@
>   *   2G -   4G   Domheap: on-demand-mapped
>   *
>   * ARM64 layout:
> - * 0x0000000000000000 - 0x0000007fffffffff (512GB, L0 slot [0])
> - *   0  -  12M   <COMMON>
> + * 0x0000000000000000 - 0x00001fffffffffff (2TB, L0 slots [0..1])
> + *

Extra blank line


> + *  Reserved to identity map Xen
> + *
> + * 0x0000020000000000 - 0x000028fffffffff (512TB, L0 slot [2]
> + *  (Relative offsets)
> + *   0  -   2M   Unmapped
> + *   2M -   4M   Xen text, data, bss
> + *   4M -   6M   Fixmap: special-purpose 4K mapping slots
> + *   6M -  10M   Early boot mapping of FDT
> + *  10M -  12M   Livepatch vmap (if compiled in)
>   *
>   *   1G -   2G   VMAP: ioremap and early_ioremap
>   *
> @@ -107,7 +113,17 @@
>   *  Unused
>   */
>  
> +#ifdef CONFIG_ARM_32
>  #define XEN_VIRT_START          _AT(vaddr_t, MB(2))
> +#else
> +
> +#define SLOT0_ENTRY_BITS  39
> +#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
> +#define SLOT0_ENTRY_SIZE  SLOT0(1)
> +
> +#define XEN_VIRT_START          (SLOT0(2) + _AT(vaddr_t, MB(2)))
> +#endif

Sorry for the silly question and I apologize if I got the math wrong.

1<<39 is 512MB, so:

slot0 is [0..512MB]
slot1 is [512MB..1TB]
slot2 is [1TB..1.5TB]
slot3 is [1.5TB..2TB]
slot4 is [2TB..2.5TB]

So, if we want Xen just above 2TB we should use slot4? Which would be
SLOT0(4) ?


>  #define XEN_VIRT_SIZE           _AT(vaddr_t, MB(2))
>  
>  #define FIXMAP_VIRT_START       (XEN_VIRT_START + XEN_VIRT_SIZE)
> @@ -164,10 +180,6 @@
>  
>  #else /* ARM_64 */
>  
> -#define SLOT0_ENTRY_BITS  39
> -#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
> -#define SLOT0_ENTRY_SIZE  SLOT0(1)
> -
>  #define VMAP_VIRT_START  GB(1)
>  #define VMAP_VIRT_SIZE   GB(1)
>  
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index d0b1cf55f550..cc11f5c639e6 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -153,7 +153,7 @@ static void __init __maybe_unused build_assertions(void)
>  #endif
>      /* Page table structure constraints */
>  #ifdef CONFIG_ARM_64
> -    BUILD_BUG_ON(zeroeth_table_offset(XEN_VIRT_START));
> +    BUILD_BUG_ON(zeroeth_table_offset(XEN_VIRT_START) < 2);
>  #endif
>      BUILD_BUG_ON(first_table_offset(XEN_VIRT_START));
>  #ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
> @@ -498,10 +498,11 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
>      phys_offset = boot_phys_offset;
>  
>  #ifdef CONFIG_ARM_64
> -    p = (void *) xen_pgtable;
> -    p[0] = pte_of_xenaddr((uintptr_t)xen_first);
> -    p[0].pt.table = 1;
> -    p[0].pt.xn = 0;
> +    pte = pte_of_xenaddr((uintptr_t)xen_first);
> +    pte.pt.table = 1;
> +    pte.pt.xn = 0;
> +    xen_pgtable[zeroeth_table_offset(XEN_VIRT_START)] = pte;
> +
>      p = (void *) xen_first;
>  #else
>      p = (void *) cpu0_pgtable;
> -- 
> 2.38.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 01:24:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 01:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460070.717866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4u1v-0006ah-99; Tue, 13 Dec 2022 01:24:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460070.717866; Tue, 13 Dec 2022 01:24:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4u1v-0006aa-6b; Tue, 13 Dec 2022 01:24:23 +0000
Received: by outflank-mailman (input) for mailman id 460070;
 Tue, 13 Dec 2022 01:24:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TuKI=4L=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p4u1t-0006aU-9P
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 01:24:21 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dde1c089-7a84-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 02:24:20 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 3432B6125F;
 Tue, 13 Dec 2022 01:24:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 926E3C433D2;
 Tue, 13 Dec 2022 01:24:17 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dde1c089-7a84-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670894658;
	bh=X5Qvdz06lUt1Lo6ljZBy+pu6GcGpD34stk9oC8voeWw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MWzYYfZ5dW5nEbZNsyysUXz1ApgH8k7Jrcgy4SE7KxIn3T1RZdYrVtHMLOhRtFw5v
	 4y6yUySUayO5jPXNJvpBbbAwsbb+kaCKvgICRUVjLVaut9qx66ud8JXlavhfGJrRVh
	 bAM3uD9pTRVzQkuCQlKfG8WGlfVuoKBQVBoZkTCJCdsx1VOpNhyW4qLif1wNT4U5+d
	 OuLkQTE39Vq2Qj72Qq+bdEY8+NPfTyLw3TN8O3ub/TSUC4KIUbtBvl46gn8t0qlOA/
	 3kkywUQ5dTXN5SCwQgglJNjcVIkrOV7z+ulckpUse91NkIr4FLOARUiRhvvkEyL2CL
	 bhZ6Z3uo2BbuQ==
Date: Mon, 12 Dec 2022 17:24:14 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 13/18] xen/arm: mm: Allow xen_pt_update() to work with
 the current root table
In-Reply-To: <20221212095523.52683-14-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212121724070.3075842@ubuntu-linux-20-04-desktop>
References: <20221212095523.52683-1-julien@xen.org> <20221212095523.52683-14-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 12 Dec 2022, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> At the moment, xen_pt_update() will only work on the runtime page tables.
> In follow-up patches, we will also want to use the helper to update
> the boot page tables.
> 
> All the existing callers of xen_pt_update() expects to modify the
> current page-tables. Therefore, we can read the root physical address
> directly from TTBR0_EL2.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>

> ---
> 
>     Changes in v2:
>         - Patch added
> ---
>  xen/arch/arm/mm.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index cc11f5c639e6..26d6b70410c5 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -1114,7 +1114,7 @@ static int xen_pt_update(unsigned long virt,
>       *
>       * XXX: Add a check.
>       */
> -    const mfn_t root = virt_to_mfn(THIS_CPU_PGTABLE);
> +    const mfn_t root = maddr_to_mfn(READ_SYSREG64(TTBR0_EL2));
>  
>      /*
>       * The hardware was configured to forbid mapping both writeable and
> -- 
> 2.38.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 01:24:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 01:24:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460076.717878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4u2T-00078P-Iy; Tue, 13 Dec 2022 01:24:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460076.717878; Tue, 13 Dec 2022 01:24:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4u2T-00078I-G0; Tue, 13 Dec 2022 01:24:57 +0000
Received: by outflank-mailman (input) for mailman id 460076;
 Tue, 13 Dec 2022 01:24:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TuKI=4L=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p4u2R-0006yx-TS
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 01:24:55 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f28c31b7-7a84-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 02:24:55 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id E6377612E7;
 Tue, 13 Dec 2022 01:24:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4D940C433D2;
 Tue, 13 Dec 2022 01:24:52 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f28c31b7-7a84-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670894693;
	bh=EWENDyto2y3A0RxsHp88bWp5KnnuE7d/iF+EzVr010g=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=T92w5uCcll+HWL6YOq1emGygjcajGZY9rIcHAkoNotQezmYPql9aWGOFrwS+Z2MHM
	 sH80Xitm3QW+rRudg45sdNxfDpMkK1ZYBiTVotewxDHnsEfUTzz3TY7IKG10JE5ekB
	 OAmz1qYJALSe6lis6qk+0vaoNV/+8Y2ZEysAuWGDD37sFczM5h/mFIx1DWVqOMXpeK
	 Sk0uAd1BKG//1lEv1wwyS98ujePmUrJ0ciIMrXfaP+n2EQoqX4oBK0jUDF0R0Nn7N3
	 13JYTYj8Xz0bvEpKaadWUhM+DSlHh+UJemAAxrsvdexja59fmVHkx8gsRNfNK4c3/0
	 LJ8RxyHVWFBag==
Date: Mon, 12 Dec 2022 17:24:50 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 14/18] xen/arm: mm: Allow dump_hyp_walk() to work on
 the current root table
In-Reply-To: <20221212095523.52683-15-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212121724420.3075842@ubuntu-linux-20-04-desktop>
References: <20221212095523.52683-1-julien@xen.org> <20221212095523.52683-15-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 12 Dec 2022, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> dump_hyp_walk() is used to print the tables walk in case of the data or
> instruction abort.
> 
> Those abort are not limited to the runtime and could happen at early
> boot. However, the current implementation of dump_hyp_walk() check
> that the TTBR matches the runtime page tables.
> 
> Therefore, early abort will result to a secondary abort and not
> print the table walks.
> 
> Given that the function is called in the abort path, there is no
> reason for us to keep the BUG_ON() in any form. So drop it.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>     Changes in v2:
>         - Patch added
> ---
>  xen/arch/arm/mm.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index 26d6b70410c5..0cf7ad4f0e8c 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -280,13 +280,11 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
>  void dump_hyp_walk(vaddr_t addr)
>  {
>      uint64_t ttbr = READ_SYSREG64(TTBR0_EL2);
> -    lpae_t *pgtable = THIS_CPU_PGTABLE;
>  
>      printk("Walking Hypervisor VA 0x%"PRIvaddr" "
>             "on CPU%d via TTBR 0x%016"PRIx64"\n",
>             addr, smp_processor_id(), ttbr);
>  
> -    BUG_ON( virt_to_maddr(pgtable) != ttbr );
>      dump_pt_walk(ttbr, addr, HYP_PT_ROOT_LEVEL, 1);
>  }
>  
> -- 
> 2.38.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 01:31:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 01:31:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460087.717889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4u90-0000Tp-An; Tue, 13 Dec 2022 01:31:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460087.717889; Tue, 13 Dec 2022 01:31:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4u90-0000Ti-65; Tue, 13 Dec 2022 01:31:42 +0000
Received: by outflank-mailman (input) for mailman id 460087;
 Tue, 13 Dec 2022 01:31:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p4u8z-0000TW-3E
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 01:31:41 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2bf3400-7a85-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 02:31:38 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id D854B5C011B;
 Mon, 12 Dec 2022 20:31:36 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Mon, 12 Dec 2022 20:31:36 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 12 Dec 2022 20:31:35 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e2bf3400-7a85-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670895096; x=
	1670981496; bh=xAHQuL+0iqWHlUaHFfTBSKzzR1ApMZRNV62By3ZB5AY=; b=u
	2QqWVOB8cuVwimFl0RuE9JhyUEaA5BV9yUf6Euvaiv8WA6ziblOmrlbTrs3YzrOz
	f7qBvKxqDcm7Q3DyaQ4OcOEW7s8GLe3+b4n+bJ85JVNQyEGXzvnffjsRE/UT0l2t
	Vaav9sA/xiwFXWTSUs437v4w7cxwwvp+7KNF2X4gHWmfDPSgkh/vAlbKQCwGKdlb
	kZABozHEaRP/78lI1k8rvo0740Eca+74T/Twi3bM6uGzV5JIDeafUlhBuQc22SM5
	L6+UdfHjkIXKb/pUGfKx6IhnT+DJDnCoG686gdy1HRrnAkd/C8UOnm8NFPNQulBc
	6aZCXk999dshUMb5sLH6Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1670895096; x=1670981496; bh=xAHQuL+0iqWHlUaHFfTBSKzzR1Ap
	MZRNV62By3ZB5AY=; b=kSAkat/A4orU1hw1E0qGNnJmOi9HSZhOlS0H2NAs4JHg
	DWGzj35TUhgJJxAxa0SJvRgvHyo86A1ytAE3Mg6abqmUXK9eRHfcDRK4dbMlTtPs
	Q6HC8F6TOaJMW2yX3leeKu+nvl4szOnKwiJAe7p1RtPpvu5cKJQTfFYcOkb4neuN
	YIIiwPZDoZNn2YUCWuyo8EhGfsqJNNeArhMWblzjEmHeTKmPtPSJYEoF7wvsFu84
	MI/Y5yc/OO3mQ3bWGlX9YsWDGyQ6ji5QFkhIJVsSqC3yOpc/LKKUUF1kVsKj1VaR
	og5T+p8KPgn2To+pwdI/3ryhyF3iwF/vOsvDaaAcXA==
X-ME-Sender: <xms:-NWXY6jYFchrXVibclxKr_7qkcIDFOdLZdUYIN6sVPqkdMblZFXW8w>
    <xme:-NWXY7BLyoTx8lc42KmZW6sM2ZMchMs8PuKp6Q-6tLvVo5SA2iwDtNDaZ02_2Lyie
    xTMM0Ji9XXr4ec>
X-ME-Received: <xmr:-NWXYyGywqdXOkiRDMZeU90eOyoleZ0MglOl7OBj5GWn_2U3-1rwvwKfIP5u>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdelgdefiecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeegteelueelleeiheetkeeiueeftedt
    fefgkeeufeefgeehleeiteejgfejjeevjeenucffohhmrghinhepfhhrvggvuggvshhkth
    hophdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhr
    ohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:-NWXYzTqPnOYgTnbcujPYOv7hE3VCNbJRkv70MCIziD9phwNhX4Jpw>
    <xmx:-NWXY3w0aNS-pPuPAABKiPFtr2ZhJ-oBr8xgS3Kgv_Qed-N3_Ocx5A>
    <xmx:-NWXYx5dvHpsmk13vfJThIR3hClHcBpWYWLsKNTmbm0ZkU3lIfmeOA>
    <xmx:-NWXY-m3ytAUCA8HpblTMWzNeFwbxtacrELpHQcWZi9OZIErRDCRtw>
Feedback-ID: iac594737:Fastmail
Date: Mon, 12 Dec 2022 20:31:29 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 8/8] Use Linux's PAT
Message-ID: <Y5fV9XeBIgLtdRxA@itl-email>
References: <cover.1670300446.git.demi@invisiblethingslab.com>
 <9f0bd911ba6c7fe1b7285f232154d42807145ced.1670300446.git.demi@invisiblethingslab.com>
 <4b2a87e1-89d1-b5fb-bd92-b891c8cea98a@citrix.com>
 <Y4+Die8lcZUwwGmK@itl-email>
 <Y4+F9iujzOmoOAVe@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="UWZR7xcu43SLGH1P"
Content-Disposition: inline
In-Reply-To: <Y4+F9iujzOmoOAVe@mail-itl>


--UWZR7xcu43SLGH1P
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 12 Dec 2022 20:31:29 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>, Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 8/8] Use Linux's PAT

On Tue, Dec 06, 2022 at 07:12:06PM +0100, Marek Marczykowski-G=C3=B3recki w=
rote:
> On Tue, Dec 06, 2022 at 01:01:41PM -0500, Demi Marie Obenour wrote:
> > On Tue, Dec 06, 2022 at 11:38:03AM +0000, Andrew Cooper wrote:
> > > On 06/12/2022 04:33, Demi Marie Obenour wrote:
> > > > This is purely for testing, to see if it works around a bug in i915=
=2E  It
> > > > is not intended to be merged.
> > > >
> > > > NOT-signed-off-by: DO NOT MERGE
> > >=20
> > > Following up on Marek's report on IRC/Matrix, you're saying that this
> > > change does actually fix screen corruption issues on AlderLake, and
> > > something on TigerLake too?
> >=20
> > Correct
> >=20
> > > If that is actually the case, then one of two things is happening.=C2=
=A0 Either,
> > >=20
> > > 1) Drivers in Linux are bypassing the regular caching APIs, or
> >=20
> > This would not surprise me at all.
> >=20
> > > 2) The translation logic between Linux's idea of cacheability and Xen=
's
> > > PAT values is buggy.
> >=20
> > How could I check for this?
>=20
> See Andy's unit test idea on #xendevel:
>=20
>     as a pretty simple "unit" test in dom0, it might be a good idea to
>     have a module which watches the PTE in question, and cycles through
>     various of the memremap_*() APIs and checks the raw PTE that gets
>     written after Linux and Xen are done fighting with it

This confirmed that the translation logic is correct, which means that
i195 is buggy.  I filed https://gitlab.freedesktop.org/drm/intel/-/issues/7=
648
for that.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--UWZR7xcu43SLGH1P
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOX1fQACgkQsoi1X/+c
IsGzwBAApKIVzOPVGQdtmZMqvq8mHF3lSYc02JHR9nnxQpsrKSifDH7hDGd7Bgh4
DeFPZ35/wSXv/A/R4Emdf2cJ2SwDNqa03AuWiI1LZred5/+vPri15KGRKHGcuZ4n
zCmORs4FyFCJPpPyvSEcCWQS9qIeLM7ozQrh9wkKKxB8dz1nC1nq/jPSzyTDjEX/
NORcOvLkEAwpwJr0amTYNfxTf6xerG22dqd6NU30xpCzH4nIwvYYEqaMr4CzAvbl
F86xw08Wagno2EL3OhSJXQeNmOg7lretTzkNTFv2mU6tgz2XZFiXwEgB4dTmBULI
LWgEul3gcsXtB1HxzkkuP9rR6cXniQn2tGgRhNcSAd2x/O9L/j99RCqwUs3Byqai
4EjdR9Dpob36e0tnoFz21jS3ebIhbmossB/S3WEA9NicJMDlmE4QJQEPANgHAW+K
872j1W12yl70DIOZcMC6tJRCrohtIPSgiAhSmMHU4PN85odALmD1TrCLB9HydrRA
QgWO6bfhHxynKpmTjVx7GDX+Y1mEMJFIOqRtl2aTrmYPfCoNGwdkxg2EZKfAiYqd
tSFWU2tX0+00fV0jJE5UNIHV3Sn20iUfFvAVie8pramqOXIFkF2hGiVW0bGQ9+my
DLMMZ3MejbCEEvlz1mgFF0Vv+3WXMsjnAuT76GXAbd/CdPbtlpc=
=7fL3
-----END PGP SIGNATURE-----

--UWZR7xcu43SLGH1P--


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 01:42:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 01:42:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460096.717900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4uIy-0002Ey-7r; Tue, 13 Dec 2022 01:42:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460096.717900; Tue, 13 Dec 2022 01:42:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4uIy-0002Er-4R; Tue, 13 Dec 2022 01:42:00 +0000
Received: by outflank-mailman (input) for mailman id 460096;
 Tue, 13 Dec 2022 01:41:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TuKI=4L=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p4uIw-0002El-QL
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 01:41:58 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 53d57761-7a87-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 02:41:56 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 9F220B80E04;
 Tue, 13 Dec 2022 01:41:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 20D4BC433F0;
 Tue, 13 Dec 2022 01:41:53 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53d57761-7a87-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670895714;
	bh=gZ5NuZPjmD/RqRlcurULIj6WKZCcn8SQ28cGANWyXSc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XelG8mb0o2cYR7erEPMwyaoxLUAlWUwgZX3lsccvT5Z/yv8Ij4JqbAtSWUK/RqTh0
	 H1mfjQR3LQ6UdAYgxctSpXZXHKiOXKAuLlCXIeqX3Zdarp9uj9I2MVGmPNJyKaYtFa
	 NFEwndAhaizQRlr1mm9AL+uTmgFcFpxcVcs0QzOVSrLDJmcK/CCTW4gnD5kdSkS460
	 03jLTeHC6GbL4DgkKli79cpdUZRLhT6ATUxaXtyvFw+CPh094/rJ17PPruqL3+i7M+
	 g1byOWJpZhzBTb0CReHq3U7OEvYgLqMA7XeiIeiHZCVGjcHAqMCrZ1XxCBb4rhNzff
	 lSwzQ22hDxHng==
Date: Mon, 12 Dec 2022 17:41:51 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 15/18] xen/arm64: mm: Introduce helpers to
 prepare/enable/disable the identity mapping
In-Reply-To: <20221212095523.52683-16-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212121734150.3075842@ubuntu-linux-20-04-desktop>
References: <20221212095523.52683-1-julien@xen.org> <20221212095523.52683-16-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 12 Dec 2022, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> In follow-up patches we will need to have part of Xen identity mapped in
> order to safely switch the TTBR.
> 
> On some platform, the identity mapping may have to start at 0. If we always
> keep the identity region mapped, NULL pointer dereference would lead to
> access to valid mapping.
> 
> It would be possible to relocate Xen to avoid clashing with address 0.
> However the identity mapping is only meant to be used in very limited
> places. Therefore it would be better to keep the identity region invalid
> for most of the time.
> 
> Two new external helpers are introduced:
>     - arch_setup_page_tables() will setup the page-tables so it is
>       easy to create the mapping afterwards.
>     - update_identity_mapping() will create/remove the identity mapping
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> ---
>     Changes in v2:
>         - Remove the arm32 part
>         - Use a different logic for the boot page tables and runtime
>           one because Xen may be running in a different place.
> ---
>  xen/arch/arm/arm64/Makefile         |   1 +
>  xen/arch/arm/arm64/mm.c             | 121 ++++++++++++++++++++++++++++
>  xen/arch/arm/include/asm/arm32/mm.h |   4 +
>  xen/arch/arm/include/asm/arm64/mm.h |  12 +++
>  xen/arch/arm/include/asm/setup.h    |  11 +++
>  xen/arch/arm/mm.c                   |   6 +-
>  6 files changed, 153 insertions(+), 2 deletions(-)
>  create mode 100644 xen/arch/arm/arm64/mm.c
> 
> diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
> index 6d507da0d44d..28481393e98f 100644
> --- a/xen/arch/arm/arm64/Makefile
> +++ b/xen/arch/arm/arm64/Makefile
> @@ -10,6 +10,7 @@ obj-y += entry.o
>  obj-y += head.o
>  obj-y += insn.o
>  obj-$(CONFIG_LIVEPATCH) += livepatch.o
> +obj-y += mm.o
>  obj-y += smc.o
>  obj-y += smpboot.o
>  obj-y += traps.o
> diff --git a/xen/arch/arm/arm64/mm.c b/xen/arch/arm/arm64/mm.c
> new file mode 100644
> index 000000000000..9eaf545ea9dd
> --- /dev/null
> +++ b/xen/arch/arm/arm64/mm.c
> @@ -0,0 +1,121 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +#include <xen/init.h>
> +#include <xen/mm.h>
> +
> +#include <asm/setup.h>
> +
> +/* Override macros from asm/page.h to make them work with mfn_t */
> +#undef virt_to_mfn
> +#define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
> +
> +static DEFINE_PAGE_TABLE(xen_first_id);
> +static DEFINE_PAGE_TABLE(xen_second_id);
> +static DEFINE_PAGE_TABLE(xen_third_id);
> +
> +/*
> + * The identity mapping may start at physical address 0. So we don't want
> + * to keep it mapped longer than necessary.
> + *
> + * When this is called, we are still using the boot_pgtable.
> + *
> + * We need to prepare the identity mapping for both the boot page tables
> + * and runtime page tables.
> + *
> + * The logic to create the entry is slightly different because Xen may
> + * be running at a different location at runtime.
> + */
> +static void __init prepare_boot_identity_mapping(void)
> +{
> +    paddr_t id_addr = virt_to_maddr(_start);
> +    lpae_t pte;
> +    DECLARE_OFFSETS(id_offsets, id_addr);
> +
> +    if ( id_offsets[0] != 0 )
> +        panic("Cannot handled ID mapping above 512GB\n");
> +
> +    /* Link first ID table */
> +    pte = mfn_to_xen_entry(virt_to_mfn(boot_first_id), MT_NORMAL);
> +    pte.pt.table = 1;
> +    pte.pt.xn = 0;
> +
> +    write_pte(&boot_pgtable[id_offsets[0]], pte);
> +
> +    /* Link second ID table */
> +    pte = mfn_to_xen_entry(virt_to_mfn(boot_second_id), MT_NORMAL);
> +    pte.pt.table = 1;
> +    pte.pt.xn = 0;
> +
> +    write_pte(&boot_first_id[id_offsets[1]], pte);
> +
> +    /* Link third ID table */
> +    pte = mfn_to_xen_entry(virt_to_mfn(boot_third_id), MT_NORMAL);
> +    pte.pt.table = 1;
> +    pte.pt.xn = 0;
> +
> +    write_pte(&boot_second_id[id_offsets[2]], pte);
> +
> +    /* The mapping in the third table will be created at a later stage */
> +}
> +
> +static void __init prepare_runtime_identity_mapping(void)
> +{
> +    paddr_t id_addr = virt_to_maddr(_start);
> +    lpae_t pte;
> +    DECLARE_OFFSETS(id_offsets, id_addr);
> +
> +    if ( id_offsets[0] != 0 )
> +        panic("Cannot handled ID mapping above 512GB\n");
> +
> +    /* Link first ID table */
> +    pte = pte_of_xenaddr((vaddr_t)xen_first_id);
> +    pte.pt.table = 1;
> +    pte.pt.xn = 0;
> +
> +    write_pte(&xen_pgtable[id_offsets[0]], pte);
> +
> +    /* Link second ID table */
> +    pte = pte_of_xenaddr((vaddr_t)xen_second_id);
> +    pte.pt.table = 1;
> +    pte.pt.xn = 0;
> +
> +    write_pte(&xen_first_id[id_offsets[1]], pte);
> +
> +    /* Link third ID table */
> +    pte = pte_of_xenaddr((vaddr_t)xen_third_id);
> +    pte.pt.table = 1;
> +    pte.pt.xn = 0;
> +
> +    write_pte(&xen_second_id[id_offsets[2]], pte);
> +
> +    /* The mapping in the third table will be created at a later stage */
> +}
> +
> +void __init arch_setup_page_tables(void)
> +{
> +    prepare_boot_identity_mapping();
> +    prepare_runtime_identity_mapping();
> +}
> +
> +void update_identity_mapping(bool enable)
> +{
> +    paddr_t id_addr = virt_to_maddr(_start);
> +    int rc;
> +
> +    if ( enable )
> +        rc = map_pages_to_xen(id_addr, maddr_to_mfn(id_addr), 1,
> +                              PAGE_HYPERVISOR_RX);
> +    else
> +        rc = destroy_xen_mappings(id_addr, id_addr + PAGE_SIZE);
> +
> +    BUG_ON(rc);
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/arch/arm/include/asm/arm32/mm.h b/xen/arch/arm/include/asm/arm32/mm.h
> index 8bfc906e7178..856f2dbec4ad 100644
> --- a/xen/arch/arm/include/asm/arm32/mm.h
> +++ b/xen/arch/arm/include/asm/arm32/mm.h
> @@ -18,6 +18,10 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
>  
>  bool init_domheap_mappings(unsigned int cpu);
>  
> +static inline void arch_setup_page_tables(void)
> +{
> +}
> +
>  #endif /* __ARM_ARM32_MM_H__ */
>  
>  /*
> diff --git a/xen/arch/arm/include/asm/arm64/mm.h b/xen/arch/arm/include/asm/arm64/mm.h
> index aa2adac63189..807d3b2321fd 100644
> --- a/xen/arch/arm/include/asm/arm64/mm.h
> +++ b/xen/arch/arm/include/asm/arm64/mm.h
> @@ -1,6 +1,8 @@
>  #ifndef __ARM_ARM64_MM_H__
>  #define __ARM_ARM64_MM_H__
>  
> +extern DEFINE_PAGE_TABLE(xen_pgtable);
> +
>  /*
>   * On ARM64, all the RAM is currently direct mapped in Xen.
>   * Hence return always true.
> @@ -10,6 +12,16 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
>      return true;
>  }
>  
> +void arch_setup_page_tables(void);
> +
> +/*
> + * Enable/disable the identity mapping
> + *
> + * Note that nested a call (e.g. enable=true, enable=true) is not
> + * supported.
> + */
> +void update_identity_mapping(bool enable);
> +
>  #endif /* __ARM_ARM64_MM_H__ */
>  
>  /*
> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
> index fdbf68aadcaa..e7a80fecec14 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -168,6 +168,17 @@ int map_range_to_domain(const struct dt_device_node *dev,
>  
>  extern const char __ro_after_init_start[], __ro_after_init_end[];
>  
> +extern DEFINE_BOOT_PAGE_TABLE(boot_pgtable);
> +
> +#ifdef CONFIG_ARM_64
> +extern DEFINE_BOOT_PAGE_TABLE(boot_first_id);
> +#endif
> +extern DEFINE_BOOT_PAGE_TABLE(boot_second_id);
> +extern DEFINE_BOOT_PAGE_TABLE(boot_third_id);

This is more a matter of taste but I would either:
- define extern all BOOT_PAGE_TABLEs here both ARM64 and ARM32 with
  #ifdefs
- or define all the ARM64 only BOOT_PAGE_TABLE in arm64/mm.h and all the
  ARM32 only BOOT_PAGE_TABLE in arm32/mm.h

Right now we have a mix, as we have boot_first_id with a #ifdef here
and we have xen_pgtable in arm64/mm.h

Also we are missing boot_second and boot_third. We might as well be
consistent and declare them all?



> +/* Find where Xen will be residing at runtime and return an PT entry */
> +lpae_t pte_of_xenaddr(vaddr_t);
> +
>  #endif
>  /*
>   * Local variables:
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index 0cf7ad4f0e8c..39e0d9e03c9c 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -93,7 +93,7 @@ DEFINE_BOOT_PAGE_TABLE(boot_third);
>  
>  #ifdef CONFIG_ARM_64
>  #define HYP_PT_ROOT_LEVEL 0
> -static DEFINE_PAGE_TABLE(xen_pgtable);
> +DEFINE_PAGE_TABLE(xen_pgtable);
>  static DEFINE_PAGE_TABLE(xen_first);
>  #define THIS_CPU_PGTABLE xen_pgtable
>  #else
> @@ -388,7 +388,7 @@ void flush_page_to_ram(unsigned long mfn, bool sync_icache)
>          invalidate_icache();
>  }
>  
> -static inline lpae_t pte_of_xenaddr(vaddr_t va)
> +lpae_t pte_of_xenaddr(vaddr_t va)
>  {
>      paddr_t ma = va + phys_offset;
>  
> @@ -495,6 +495,8 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
>  
>      phys_offset = boot_phys_offset;
>  
> +    arch_setup_page_tables();
> +
>  #ifdef CONFIG_ARM_64
>      pte = pte_of_xenaddr((uintptr_t)xen_first);
>      pte.pt.table = 1;
> -- 
> 2.38.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 01:42:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 01:42:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460099.717910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4uJJ-0002f5-KR; Tue, 13 Dec 2022 01:42:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460099.717910; Tue, 13 Dec 2022 01:42:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4uJJ-0002ew-Hj; Tue, 13 Dec 2022 01:42:21 +0000
Received: by outflank-mailman (input) for mailman id 460099;
 Tue, 13 Dec 2022 01:42:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TuKI=4L=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p4uJH-0002eK-Hz
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 01:42:19 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60d86486-7a87-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 02:42:18 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 100F5B80E06;
 Tue, 13 Dec 2022 01:42:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9368AC433F1;
 Tue, 13 Dec 2022 01:42:15 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60d86486-7a87-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670895736;
	bh=Rl5UGEsBGDwv2kiq4bcZnmfhw0oD2pNGmeZA/pu11aw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ONJ1ANz9t3Wrp0/06IuE4nb5J7wITG/sWDWOtj8z5e2ufKn0Y+csNIAx4T6aQlRsk
	 b3zqYKDU+du3co8cktHNVDnFup3+jU5G8hPZwu4uGruUlnC22+Ru9antnDHfF19SFq
	 ua81iLtGmhCtxx2ZS7f7oMZQGBFDL/WPqOo3j+KHo3Y3OFCsASK7rA2JYR3oINcwX+
	 JSztqEY1axUSffn87uQeHHKP+BqSMDFv6OOySHQ1jYq4wSZC5/n6OEhp/2ja4HCPdb
	 dY4zb0NPNz9Nv/Unb7SZuR8s+QZ4sOp7+swjocRgyscWLBZ9HnAkvUa9LBTWQp104x
	 fRyZWIV1s+kkg==
Date: Mon, 12 Dec 2022 17:42:14 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 16/18] xen/arm: linker: Indent correctly _stext
In-Reply-To: <20221212095523.52683-17-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212121742070.3075842@ubuntu-linux-20-04-desktop>
References: <20221212095523.52683-1-julien@xen.org> <20221212095523.52683-17-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 12 Dec 2022, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> _stext is indented by one space more compare to the lines. This doesn't
> seem warrant, so delete the extra space.
> 
> Signed-off: Julien Grall <jgrall@amazon.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>     Changes in v3:
>         - Patch added
> ---
>  xen/arch/arm/xen.lds.S | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
> index 92c298405259..ae8c3b4c6c5f 100644
> --- a/xen/arch/arm/xen.lds.S
> +++ b/xen/arch/arm/xen.lds.S
> @@ -31,7 +31,7 @@ SECTIONS
>    . = XEN_VIRT_START;
>    _start = .;
>    .text : {
> -        _stext = .;            /* Text section */
> +       _stext = .;             /* Text section */
>         *(.text.header)
>  
>         *(.text.cold)
> -- 
> 2.38.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 01:44:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 01:44:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460113.717922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4uLP-0003SK-02; Tue, 13 Dec 2022 01:44:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460113.717922; Tue, 13 Dec 2022 01:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4uLO-0003SD-TC; Tue, 13 Dec 2022 01:44:30 +0000
Received: by outflank-mailman (input) for mailman id 460113;
 Tue, 13 Dec 2022 01:44:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TuKI=4L=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p4uLM-0003Ru-QJ
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 01:44:28 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad5b2733-7a87-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 02:44:27 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 35D6E612E6;
 Tue, 13 Dec 2022 01:44:26 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7FACAC433D2;
 Tue, 13 Dec 2022 01:44:24 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad5b2733-7a87-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670895865;
	bh=yIbg22ZJ/th1Rtmuk7E39ML4JFvAS9/gt7U3VOhL+Pk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ahae6/0EM717nE+Vi8XJEUyIKKVncFsy13yB6w+4x4X44/Dsp6q4wbJ57xHDz18Af
	 /wqOmnExQgjfMiM180M/8pTCTbB4osRWO5QjPPC0QEgGZXA27CBcOGj6ZxJVsJPGgg
	 7EOzLxhhH7+6WQ9oNh2UEAGdsuFpAlUoyfK+5lslym/e6VNiIpPqlUQTtWIyTM6uGS
	 I4c70EYuHBJ88gcCkZ+CmNcDHa2/+yMBp5YPu8HnF+MEpWw/AWoPr4z4gTmlJoY5YL
	 FJq6QlrzVbsdo0cK9E5mzjeNCM9pb3vSIrBJlb6ryokytGgnFmoy5tLUifRHM/mpDE
	 baAC6GRN7BW4w==
Date: Mon, 12 Dec 2022 17:44:23 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 17/18] xen/arm: linker: The identitymap check should
 cover the whole .text.header
In-Reply-To: <20221212095523.52683-18-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212121743540.3075842@ubuntu-linux-20-04-desktop>
References: <20221212095523.52683-1-julien@xen.org> <20221212095523.52683-18-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 12 Dec 2022, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> At the moment, we are only checking that only some part of .text.header
> is part of the identity mapping. However, this doesn't take into account
> the litteral pool which will be located at the end of the section.
      ^ literal


> While we could try to avoid using a literal pool, in the near future we
> will also want to use an identity mapping for switch_ttbr().
> 
> Not everything in .text.header requires to be part of the identity
> mapping. But it is below a page size (i.e. 4KB) so take a shortcut and
> check that .text.header is smaller than a page size.
> 
> With that _end_boot can be removed as it is now unused. Take the
> pportunity to avoid assuming that a page size is always 4KB in the
  ^ opportunity

> error message and comment.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> 
>     Changes in v3:
>         - Patch added
> ---
>  xen/arch/arm/arm32/head.S |  2 --
>  xen/arch/arm/arm64/head.S |  2 --
>  xen/arch/arm/xen.lds.S    | 10 +++++++---
>  3 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 2658625bc775..e47f90f15b3d 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -730,8 +730,6 @@ fail:   PRINT("- Boot failed -\r\n")
>          b     1b
>  ENDPROC(fail)
>  
> -GLOBAL(_end_boot)
> -
>  /*
>   * Switch TTBR
>   * r1:r0       ttbr
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 23c2c7491db2..663f5813b12e 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -812,8 +812,6 @@ fail:   PRINT("- Boot failed -\r\n")
>          b     1b
>  ENDPROC(fail)
>  
> -GLOBAL(_end_boot)
> -
>  /*
>   * Switch TTBR
>   *
> diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
> index ae8c3b4c6c5f..3f7ebd19f3ed 100644
> --- a/xen/arch/arm/xen.lds.S
> +++ b/xen/arch/arm/xen.lds.S
> @@ -32,7 +32,9 @@ SECTIONS
>    _start = .;
>    .text : {
>         _stext = .;             /* Text section */
> +       _idmap_start = .;
>         *(.text.header)
> +       _idmap_end = .;
>  
>         *(.text.cold)
>         *(.text.unlikely .text.*_unlikely .text.unlikely.*)
> @@ -225,10 +227,12 @@ SECTIONS
>  }
>  
>  /*
> - * We require that Xen is loaded at a 4K boundary, so this ensures that any
> - * code running on the boot time identity map cannot cross a section boundary.
> + * We require that Xen is loaded at a page boundary, so this ensures that any
> + * code running on the identity map cannot cross a section boundary.
>   */
> -ASSERT( _end_boot - start <= PAGE_SIZE, "Boot code is larger than 4K")
> +ASSERT(IS_ALIGNED(_idmap_start, PAGE_SIZE), "_idmap_start should be page-aligned")
> +ASSERT(_idmap_end - _idmap_start <= PAGE_SIZE, "Identity mapped code is larger than a page size")
> +
>  /*
>   * __init_[begin|end] MUST be at word size boundary otherwise we cannot
>   * write fault instructions in the space properly.
> -- 
> 2.38.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 02:00:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 02:00:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460123.717933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4ub6-0006kp-AY; Tue, 13 Dec 2022 02:00:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460123.717933; Tue, 13 Dec 2022 02:00:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4ub6-0006ki-7A; Tue, 13 Dec 2022 02:00:44 +0000
Received: by outflank-mailman (input) for mailman id 460123;
 Tue, 13 Dec 2022 02:00:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TuKI=4L=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p4ub5-0006kc-HH
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 02:00:43 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f27b6c9f-7a89-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 03:00:42 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 38D11B80E04;
 Tue, 13 Dec 2022 02:00:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9D144C433D2;
 Tue, 13 Dec 2022 02:00:38 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f27b6c9f-7a89-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670896839;
	bh=KwfgDrUsIrRZbEGYekr1r3V0a1IZtvjP5jPl9jYdto4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cTRMefVh8/z+JmOVkXqYreG8qSdrFNXP6afYHLMQ2mt1EoEYdTVvKMZYWpZ3nsITw
	 T6bKqjE4sgeJfWZj+3dtGCSY9tZcYIcbcNItjXuFevVsNRwOe0aeTBSkSchHR/UMMl
	 BypBJJJ6eWMueaEuqZTmTzErvu1vD8xF5gdnGJdHW633NyXm/nfqNwFFX+DmmDdxzI
	 +a9E/YzlPD4l3uPzMTHgCceDK3T7z5gN7+I9H9xcrnTNP9guvqu10WFg8PlPESci9z
	 AgD/v7cHUQMg+rvMz1ETdMflpRLHYrdTohU8eMJklNwm56gQUfEiKU+3HphAyl6oTi
	 35s/DP6blEq4w==
Date: Mon, 12 Dec 2022 18:00:37 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 18/18] xen/arm64: mm: Rework switch_ttbr()
In-Reply-To: <20221212095523.52683-19-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212121748560.3075842@ubuntu-linux-20-04-desktop>
References: <20221212095523.52683-1-julien@xen.org> <20221212095523.52683-19-julien@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 12 Dec 2022, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> At the moment, switch_ttbr() is switching the TTBR whilst the MMU is
> still on.
> 
> Switching TTBR is like replacing existing mappings with new ones. So
> we need to follow the break-before-make sequence.
> 
> In this case, it means the MMU needs to be switched off while the
> TTBR is updated. In order to disable the MMU, we need to first
> jump to an identity mapping.
> 
> Rename switch_ttbr() to switch_ttbr_id() and create an helper on
> top to temporary map the identity mapping and call switch_ttbr()
> via the identity address.
> 
> switch_ttbr_id() is now reworked to temporarily turn off the MMU
> before updating the TTBR.
> 
> We also need to make sure the helper switch_ttbr() is part of the
> identity mapping. So move _end_boot past it.
> 
> The arm32 code will use a different approach. So this issue is for now
> only resolved on arm64.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

This patch looks overall good to me, aside from the few minor comments
below. I would love for someone else, maybe from ARM, reviewing steps
1-6 making sure they are the right sequence.


> ---
> 
>     Changes in v2:
>         - Remove the arm32 changes. This will be addressed differently
>         - Re-instate the instruct cache flush. This is not strictly
>           necessary but kept it for safety.
>         - Use "dsb ish"  rather than "dsb sy".
> 
>     TODO:
>         * Handle the case where the runtime Xen is loaded at a different
>           position for cache coloring. This will be dealt separately.
> ---
>  xen/arch/arm/arm64/head.S     | 50 +++++++++++++++++++++++------------
>  xen/arch/arm/arm64/mm.c       | 39 +++++++++++++++++++++++++++
>  xen/arch/arm/include/asm/mm.h |  2 ++
>  xen/arch/arm/mm.c             | 14 +++++-----
>  4 files changed, 82 insertions(+), 23 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 663f5813b12e..1f69864492b6 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -816,30 +816,46 @@ ENDPROC(fail)
>   * Switch TTBR
>   *
>   * x0    ttbr
> - *
> - * TODO: This code does not comply with break-before-make.
>   */
> -ENTRY(switch_ttbr)
> -        dsb   sy                     /* Ensure the flushes happen before
> -                                      * continuing */
> -        isb                          /* Ensure synchronization with previous
> -                                      * changes to text */
> -        tlbi   alle2                 /* Flush hypervisor TLB */
> -        ic     iallu                 /* Flush I-cache */
> -        dsb    sy                    /* Ensure completion of TLB flush */
> +ENTRY(switch_ttbr_id)
> +        /* 1) Ensure any previous read/write have completed */
> +        dsb    ish
> +        isb
> +
> +        /* 2) Turn off MMU */
> +        mrs    x1, SCTLR_EL2
> +        bic    x1, x1, #SCTLR_Axx_ELx_M

do we need a "dsb   sy" here? we have in enable_mmu


> +        msr    SCTLR_EL2, x1
> +        isb
> +
> +        /*
> +         * 3) Flush the TLBs.
> +         * See asm/arm64/flushtlb.h for the explanation of the sequence.
> +         */
> +        dsb   nshst
> +        tlbi  alle2
> +        dsb   nsh
> +        isb
> +
> +        /* 4) Update the TTBR */
> +        msr   TTBR0_EL2, x0
>          isb
>  
> -        msr    TTBR0_EL2, x0
> +        /*
> +         * 5) Flush I-cache
> +         * This should not be necessary but it is kept for safety.
> +         */
> +        ic     iallu
> +        isb
>  
> -        isb                          /* Ensure synchronization with previous
> -                                      * changes to text */
> -        tlbi   alle2                 /* Flush hypervisor TLB */
> -        ic     iallu                 /* Flush I-cache */
> -        dsb    sy                    /* Ensure completion of TLB flush */
> +        /* 5) Turn on the MMU */

This should be 6)


> +        mrs   x1, SCTLR_EL2
> +        orr   x1, x1, #SCTLR_Axx_ELx_M  /* Enable MMU */
> +        msr   SCTLR_EL2, x1
>          isb
>  
>          ret
> -ENDPROC(switch_ttbr)
> +ENDPROC(switch_ttbr_id)
>  
>  #ifdef CONFIG_EARLY_PRINTK
>  /*
> diff --git a/xen/arch/arm/arm64/mm.c b/xen/arch/arm/arm64/mm.c
> index 9eaf545ea9dd..2ede4e75ae33 100644
> --- a/xen/arch/arm/arm64/mm.c
> +++ b/xen/arch/arm/arm64/mm.c
> @@ -31,6 +31,15 @@ static void __init prepare_boot_identity_mapping(void)
>      lpae_t pte;
>      DECLARE_OFFSETS(id_offsets, id_addr);
>  
> +    /*
> +     * We will be re-using the boot ID tables. They may not have been
> +     * zeroed but they should be unlinked. So it is fine to use
> +     * clear_page().
> +     */
> +    clear_page(boot_first_id);
> +    clear_page(boot_second_id);
> +    clear_page(boot_third_id);

Could this code be in patch #15?


>      if ( id_offsets[0] != 0 )
>          panic("Cannot handled ID mapping above 512GB\n");
>  
> @@ -111,6 +120,36 @@ void update_identity_mapping(bool enable)
>      BUG_ON(rc);
>  }
>  
> +extern void switch_ttbr_id(uint64_t ttbr);
> +
> +typedef void (switch_ttbr_fn)(uint64_t ttbr);
> +
> +void __init switch_ttbr(uint64_t ttbr)
> +{
> +    vaddr_t id_addr = virt_to_maddr(switch_ttbr_id);
> +    switch_ttbr_fn *fn = (switch_ttbr_fn *)id_addr;
> +    lpae_t pte;
> +
> +    /* Enable the identity mapping in the boot page tables */

See below...

> +    update_identity_mapping(true);
> +    /* Enable the identity mapping in the runtime page tables */
> +    pte = pte_of_xenaddr((vaddr_t)switch_ttbr_id);
> +    pte.pt.table = 1;
> +    pte.pt.xn = 0;
> +    pte.pt.ro = 1;
> +    write_pte(&xen_third_id[third_table_offset(id_addr)], pte);
> +
> +    /* Switch TTBR */
> +    fn(ttbr);
> +
> +    /*
> +     * Disable the identity mapping in the runtime page tables.
> +     * Note it is not necessary to disable it in the boot page tables
> +     * because they are not going to be used by this CPU anymore.
> +     */

...is update_identity_mapping acting on the boot pagetables or the
runtime pagetables? The two comments make me think that
update_identity_mapping is enabling mapping in the boot pagetables and
removing them from the runtime pagetable, which would be strangely
inconsistent.

> +    update_identity_mapping(false);
> +}
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
> index 68adcac9fa8d..bff6923f3ea9 100644
> --- a/xen/arch/arm/include/asm/mm.h
> +++ b/xen/arch/arm/include/asm/mm.h
> @@ -196,6 +196,8 @@ extern unsigned long total_pages;
>  extern void setup_pagetables(unsigned long boot_phys_offset);
>  /* Map FDT in boot pagetable */
>  extern void *early_fdt_map(paddr_t fdt_paddr);
> +/* Switch to a new root page-tables */
> +extern void switch_ttbr(uint64_t ttbr);
>  /* Remove early mappings */
>  extern void remove_early_mappings(void);
>  /* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index 39e0d9e03c9c..cf23ae02d1b7 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -476,8 +476,6 @@ static void xen_pt_enforce_wnx(void)
>      flush_xen_tlb_local();
>  }
>  
> -extern void switch_ttbr(uint64_t ttbr);
> -
>  /* Clear a translation table and clean & invalidate the cache */
>  static void clear_table(void *table)
>  {
> @@ -550,13 +548,17 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
>      ttbr = (uintptr_t) cpu0_pgtable + phys_offset;
>  #endif
>  
> -    switch_ttbr(ttbr);
> -
> -    xen_pt_enforce_wnx();
> -
> +    /*
> +     * This needs to be setup first so switch_ttbr() can enable the
> +     * identity mapping.
> +     */
>  #ifdef CONFIG_ARM_32
>      per_cpu(xen_pgtable, 0) = cpu0_pgtable;
>  #endif
> +
> +    switch_ttbr(ttbr);
> +
> +    xen_pt_enforce_wnx();
>  }
>  
>  static void clear_boot_pagetables(void)
> -- 
> 2.38.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 02:20:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 02:20:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460131.717944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4utq-00014Q-Pw; Tue, 13 Dec 2022 02:20:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460131.717944; Tue, 13 Dec 2022 02:20:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4utq-000141-Mu; Tue, 13 Dec 2022 02:20:06 +0000
Received: by outflank-mailman (input) for mailman id 460131;
 Tue, 13 Dec 2022 02:20:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4utq-00013A-08; Tue, 13 Dec 2022 02:20:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4utp-0008VO-UX; Tue, 13 Dec 2022 02:20:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4utp-0004gF-EY; Tue, 13 Dec 2022 02:20:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4utp-0007Ux-E7; Tue, 13 Dec 2022 02:20:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iRMqZ4zJd//6vesVKPIOxRGqlsSKsrusc6vCD1V/deM=; b=NvhcH1Nlamq5+iOmpf9vEpYK8V
	R4/cnC2a3wpis56JAIXXSmvslbMY0b1Q0xRFFCtXcxG6R0QKl3wrmHYKPIQhv7tnD3EY+f8opkysN
	iWHnyp6HIXTzqSY9/xoMCr++GJGaRhr+wv7CCRNInZRzO8/Z5drIN00aQGbkjvfatHPw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175156-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175156: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=bc19af0bd4b8d0bb817defa4470873c80f67b6c2
X-Osstest-Versions-That:
    xen=96993519424c3fef49fd00d80a271d986767a3cd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 13 Dec 2022 02:20:05 +0000

flight 175156 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175156/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  bc19af0bd4b8d0bb817defa4470873c80f67b6c2
baseline version:
 xen                  96993519424c3fef49fd00d80a271d986767a3cd

Last test of basis   175152  2022-12-12 12:01:54 Z    0 days
Testing same since   175156  2022-12-12 23:01:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   9699351942..bc19af0bd4  bc19af0bd4b8d0bb817defa4470873c80f67b6c2 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 02:58:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 02:58:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460162.718029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4vV8-0006Br-Kr; Tue, 13 Dec 2022 02:58:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460162.718029; Tue, 13 Dec 2022 02:58:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4vV8-0006Bk-I6; Tue, 13 Dec 2022 02:58:38 +0000
Received: by outflank-mailman (input) for mailman id 460162;
 Tue, 13 Dec 2022 02:58:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4vV7-0006BY-OY; Tue, 13 Dec 2022 02:58:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4vV7-0000x6-ML; Tue, 13 Dec 2022 02:58:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p4vV7-00063q-3f; Tue, 13 Dec 2022 02:58:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p4vV7-0005sl-2t; Tue, 13 Dec 2022 02:58:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fXCrcIHNTODDBXLt0otsf55JzBunwOMMAt7EE0/GyH8=; b=Bx0a5jqKleeEe2yFdpV2GB19zS
	zx4fsK45EhqAFUm5SLgw9kDi+wyAlbcx7cevsun6F9uNmb9pNl3dHwhFja+ZJpVJA7apeUgoRiSxm
	Z1MEZlpLncqKuFi1gsRDaXw90nJIAMGP2eBmLdTmOdMKdWCUDKUOo6CQPL86mE/LQvd0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175155-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 175155: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-i386-migrupgrade:xen-install/src_host:fail:heisenbug
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=03a43f548e9095448db72c829db575097910f84f
X-Osstest-Versions-That:
    xen=4ad5975d4e35635f03d2cb9e86292c0daeabd75f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 13 Dec 2022 02:58:37 +0000

flight 175155 xen-4.16-testing real [real]
flight 175160 xen-4.16-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175155/
http://logs.test-lab.xenproject.org/osstest/logs/175160/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-migrupgrade 10 xen-install/src_host fail pass in 175160-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175099
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175099
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175099
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175099
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175099
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175099
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175099
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175099
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175099
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175099
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175099
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175099
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  03a43f548e9095448db72c829db575097910f84f
baseline version:
 xen                  4ad5975d4e35635f03d2cb9e86292c0daeabd75f

Last test of basis   175099  2022-12-08 20:09:17 Z    4 days
Testing same since   175155  2022-12-12 16:08:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Edwin Török <edvin.torok@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   4ad5975d4e..03a43f548e  03a43f548e9095448db72c829db575097910f84f -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 06:45:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 06:45:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460188.718051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4z2R-0007N9-Uk; Tue, 13 Dec 2022 06:45:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460188.718051; Tue, 13 Dec 2022 06:45:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4z2R-0007N2-S2; Tue, 13 Dec 2022 06:45:15 +0000
Received: by outflank-mailman (input) for mailman id 460188;
 Tue, 13 Dec 2022 06:45:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p4z2Q-0007Mb-J1
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 06:45:14 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1aa7ee4-7ab1-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 07:45:13 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 5797F1FD94;
 Tue, 13 Dec 2022 06:45:12 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 31DD4138EE;
 Tue, 13 Dec 2022 06:45:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Yn3ICngfmGPjbQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 06:45:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1aa7ee4-7ab1-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670913912; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=9lFHTj0LDG7gzqJBbTVLmhXO1MhTkZbQKivlImrz7ko=;
	b=BN/pudGUrEaRrPyZE6UMuLN6FdDT88HsmyoXTHt9KwsrZtt08G1IBpz1dy8LlMFO68/GLn
	l4m4l5v36xykITsOy2R3tQ7P6wHUlXdADqvMBWR7kv51VzjL32xBiNaTI1BtcASsjs5O96
	UMWkrc0nQsbtDp+EUZSMMeBQyR6+/HU=
Message-ID: <3a560840-aa3d-fb9b-37dc-7b13f8f0bbad@suse.com>
Date: Tue, 13 Dec 2022 07:45:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 10/20] tools/xenstore: replace watch->relative_path with a
 prefix length
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-11-jgross@suse.com>
 <821a4970-2d21-e9c2-865a-868daeadc510@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <821a4970-2d21-e9c2-865a-868daeadc510@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0YjuLdMl5yPEYPRepmA9QCAO"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0YjuLdMl5yPEYPRepmA9QCAO
Content-Type: multipart/mixed; boundary="------------E29VwqI3rj1gwiokb7rhv3x1";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <3a560840-aa3d-fb9b-37dc-7b13f8f0bbad@suse.com>
Subject: Re: [PATCH 10/20] tools/xenstore: replace watch->relative_path with a
 prefix length
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-11-jgross@suse.com>
 <821a4970-2d21-e9c2-865a-868daeadc510@xen.org>
In-Reply-To: <821a4970-2d21-e9c2-865a-868daeadc510@xen.org>

--------------E29VwqI3rj1gwiokb7rhv3x1
Content-Type: multipart/mixed; boundary="------------8rr8ci0mECHnnCAgzWrdCoMX"

--------------8rr8ci0mECHnnCAgzWrdCoMX
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDEuMTIuMjIgMjI6NTEsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDAxLzExLzIwMjIgMTU6MjgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBA
QCAtMzI0LDggKzMxMiw3IEBAIGNvbnN0IGNoYXIgKmR1bXBfc3RhdGVfd2F0Y2hlcyhGSUxF
ICpmcCwgc3RydWN0IGNvbm5lY3Rpb24gDQo+PiAqY29ubiwNCj4+IMKgwqDCoMKgwqDCoMKg
wqDCoCBoZWFkLmxlbmd0aCA9IHNpemVvZihzdyk7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAg
c3cuY29ubl9pZCA9IGNvbm5faWQ7DQo+PiAtwqDCoMKgwqDCoMKgwqAgcGF0aCA9IGdldF93
YXRjaF9wYXRoKHdhdGNoLCB3YXRjaC0+bm9kZSk7DQo+PiAtwqDCoMKgwqDCoMKgwqAgc3cu
cGF0aF9sZW5ndGggPSBzdHJsZW4ocGF0aCkgKyAxOw0KPj4gK8KgwqDCoMKgwqDCoMKgIHN3
LnBhdGhfbGVuZ3RoID0gc3RybGVuKHdhdGNoLT5ub2RlICsgd2F0Y2gtPnByZWZpeF9sZW4p
ICsgMTsNCj4gDQo+IFdoeSBhcmUgeW91IG9wZW4tY29kaW5nIGdldF93YXRjaF9wYXRoKCk/
DQoNCldpbGwgZml4IGl0Lg0KDQoNCkp1ZXJnZW4NCg==
--------------8rr8ci0mECHnnCAgzWrdCoMX
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------8rr8ci0mECHnnCAgzWrdCoMX--

--------------E29VwqI3rj1gwiokb7rhv3x1--

--------------0YjuLdMl5yPEYPRepmA9QCAO
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOYH3cFAwAAAAAACgkQsN6d1ii/Ey9w
2gf+MxPKE7cjap/SF19eucaemojHsVkNgADLekunNgpS7gweSuS31MIMTGMKfleFxUsHOAUYMkI5
xYy9DUcIPRSlGCgDKj6XQ+WMab5UqDNje0JKBumpumIrp9ivlwpJYt7Kk7QHhSNIcuD7Zf+Hoduw
fi3LF9SjtByEuVf0dwtvQAAijjmioTtUc6e29B7NzqOi6DMwKzMxsoRQ5837ImWktlovQf0jwUL2
qhA00202D9YDzoB3AtsFvFA93QJNgdoEeFAVveqrN/VT/dAJtvgfPF9vADw61BFSAKhTfFssFPIn
R25EnxrVuKmwhkEV5pkbuNQKw5EgGqyPr+n/L/r2Cg==
=MHA/
-----END PGP SIGNATURE-----

--------------0YjuLdMl5yPEYPRepmA9QCAO--


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 06:53:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 06:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460197.718063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4zAX-0000W6-On; Tue, 13 Dec 2022 06:53:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460197.718063; Tue, 13 Dec 2022 06:53:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4zAX-0000Vz-LX; Tue, 13 Dec 2022 06:53:37 +0000
Received: by outflank-mailman (input) for mailman id 460197;
 Tue, 13 Dec 2022 06:53:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p4zAV-0000Vt-T7
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 06:53:35 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dce63a9f-7ab2-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 07:53:35 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 76FFA1FD94;
 Tue, 13 Dec 2022 06:53:34 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5116A138EE;
 Tue, 13 Dec 2022 06:53:34 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 959eEm4hmGNjcQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 06:53:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dce63a9f-7ab2-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670914414; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=ggzbBigaNqlhTWhYmOvix+BPDdQRNG8jaJkGixuGa+Q=;
	b=MCEeuymX7nOV4ywcKu2a2HYQ00nykY1vp1R/cBjFz26WzYSmVEctoJWgO5SnXq+1lal2YQ
	+NyH9U+IoiZSs0zi2kz2JSR5JIIe5ZDm4SveHH/273Czq6EvASbEL/MNOPuErbLy7SiPVc
	qGd8kwqVzG9ARyAM8S/sxWOXQyKz9Ko=
Message-ID: <e2aa2c60-5d4f-06ca-153e-cdb422aa084d@suse.com>
Date: Tue, 13 Dec 2022 07:53:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 11/20] tools/xenstore: move changed domain handling
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-12-jgross@suse.com>
 <6bad7b3c-eaa2-d342-a7f2-d265bdefd54a@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <6bad7b3c-eaa2-d342-a7f2-d265bdefd54a@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Yk19tQwwqAx7VNywqHh2cxDV"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Yk19tQwwqAx7VNywqHh2cxDV
Content-Type: multipart/mixed; boundary="------------K5aF7uti3x0XOx0OeX7XEkLF";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <e2aa2c60-5d4f-06ca-153e-cdb422aa084d@suse.com>
Subject: Re: [PATCH 11/20] tools/xenstore: move changed domain handling
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-12-jgross@suse.com>
 <6bad7b3c-eaa2-d342-a7f2-d265bdefd54a@xen.org>
In-Reply-To: <6bad7b3c-eaa2-d342-a7f2-d265bdefd54a@xen.org>

--------------K5aF7uti3x0XOx0OeX7XEkLF
Content-Type: multipart/mixed; boundary="------------qVwHpCUPONDr0Wye3q2lKyoP"

--------------qVwHpCUPONDr0Wye3q2lKyoP
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDEuMTIuMjIgMjI6NTgsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDAxLzExLzIwMjIgMTU6MjgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiDC
oCBzdGF0aWMgYm9vbCBjaGVja19pbmRleGVzKFhFTlNUT1JFX1JJTkdfSURYIGNvbnMsIFhF
TlNUT1JFX1JJTkdfSURYIHByb2QpDQo+PiBAQCAtNDkyLDggKzUwNCwxMiBAQCBzdGF0aWMg
c3RydWN0IGRvbWFpbiANCj4+ICpmaW5kX29yX2FsbG9jX2V4aXN0aW5nX2RvbWFpbih1bnNp
Z25lZCBpbnQgZG9taWQpDQo+PiDCoMKgwqDCoMKgIHhjX2RvbWluZm9fdCBkb21pbmZvOw0K
Pj4gwqDCoMKgwqDCoCBkb21haW4gPSBmaW5kX2RvbWFpbl9zdHJ1Y3QoZG9taWQpOw0KPj4g
LcKgwqDCoCBpZiAoIWRvbWFpbiAmJiBnZXRfZG9tYWluX2luZm8oZG9taWQsICZkb21pbmZv
KSkNCj4+IC3CoMKgwqDCoMKgwqDCoCBkb21haW4gPSBhbGxvY19kb21haW4oTlVMTCwgZG9t
aWQpOw0KPj4gK8KgwqDCoCBpZiAoIWRvbWFpbikgew0KPj4gK8KgwqDCoMKgwqDCoMKgIGlm
ICghZ2V0X2RvbWFpbl9pbmZvKGRvbWlkLCAmZG9taW5mbykpDQo+PiArwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCBlcnJubyA9IEVOT0VOVDsNCj4+ICvCoMKgwqDCoMKgwqDCoCBlbHNlDQo+
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkb21haW4gPSBhbGxvY19kb21haW4oTlVMTCwg
ZG9taWQpOw0KPj4gK8KgwqDCoCB9DQo+IA0KPiBJIGRvbid0IHVuZGVyc3RhbmQgaG93IHRo
aXMgY2hhbmdlIGlzIHJlbGF0ZWQgdG8gdGhpcyBjb21taXQuDQoNCkl0IGlzIGRpcmVjdGx5
IHJlbGF0ZWQgdG8gdGhlIGh1bmsgYmVsb3cuIFJldHVybmluZyBlcnJubyBpbg0KYWNjX2Fk
ZF9kb21fbmJlbnRyeSgpIHJlcXVpcmVzIGl0IHRvIGJlIHNldCBjb3JyZWN0bHkgaW4NCmZp
bmRfb3JfYWxsb2NfZXhpc3RpbmdfZG9tYWluKCkuDQoNCkknbGwgYWRkIGEgcmVtYXJrIGlu
IHRoZSBjb21taXQgbWVzc2FnZS4NCg0KPiANCj4gWy4uLl0NCj4gDQo+PiAraW50IGFjY19h
ZGRfZG9tX25iZW50cnkoY29uc3Qgdm9pZCAqY3R4LCBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFk
LCBpbnQgdmFsLA0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IGRv
bWlkKQ0KPj4gK3sNCj4+ICvCoMKgwqAgc3RydWN0IGNoYW5nZWRfZG9tYWluICpjZDsNCj4+
ICsNCj4+ICvCoMKgwqAgY2QgPSBhY2NfZ2V0X2NoYW5nZWRfZG9tYWluKGN0eCwgaGVhZCwg
ZG9taWQpOw0KPj4gK8KgwqDCoCBpZiAoIWNkKQ0KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVy
biBlcnJubzsNCj4+ICsNCj4+ICvCoMKgwqAgY2QtPm5iZW50cnkgKz0gdmFsOw0KPiANCj4g
QXMgYSBmdXR1cmUgaW1wcm92ZW1lbnQsIGl0IHdvdWxkIGJlIHdvcnRoIGNvbnNpZGVyaW5n
IHRvIGNoZWNrIGZvciANCj4gdW5kZXJmbG93L292ZXJmbG93Lg0KDQpEbyB5b3UgcmVhbGx5
IHRoaW5rIHdlIG5lZWQgdG8gbWFrZSBzdXJlIG5vdCB0byBhZGQvcmVtb3ZlIG1vcmUgdGhh
bg0KMiBiaWxsaW9uIG5vZGVzIG93bmVkIGJ5IGEgc2luZ2xlIGRvbWFpbj8NCg0KDQpKdWVy
Z2VuDQo=
--------------qVwHpCUPONDr0Wye3q2lKyoP
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------qVwHpCUPONDr0Wye3q2lKyoP--

--------------K5aF7uti3x0XOx0OeX7XEkLF--

--------------Yk19tQwwqAx7VNywqHh2cxDV
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOYIW0FAwAAAAAACgkQsN6d1ii/Ey9q
jAf+JK9Fsw+jnKLctfOe00ReOWJSgZA/HZB24cQmRPrEh9xXXNx1/zeJbwSO0rMxPkFXBkCFHmSr
p3xxS5YFG6YQdsb0LLo91Q0vUIyTTMI7Tee4FReWSCN0RHOCqjQlFQ9iiKQLcG3pfdF10S7dkcAF
FRpcLpYCyZoPcwNbVWXCU4rpupY0/8PnadjSGXd+zqBLqD+bEeI6IY9Vd08UNR0dg3JjJND+WmmU
R73pro5YSHhDRPNW3rBsBLf12t0WkmboH89CJ1sHsDkbdU7FxI7R10kASf61rgyXjOij/qmchgnt
NvNT0dbkoczHeENak9ti2Vj8EKD+wj5lsF5EZPWvEg==
=Wkzl
-----END PGP SIGNATURE-----

--------------Yk19tQwwqAx7VNywqHh2cxDV--


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 07:04:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 07:04:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460205.718074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4zL7-0002Fg-Q3; Tue, 13 Dec 2022 07:04:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460205.718074; Tue, 13 Dec 2022 07:04:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4zL7-0002FZ-LZ; Tue, 13 Dec 2022 07:04:33 +0000
Received: by outflank-mailman (input) for mailman id 460205;
 Tue, 13 Dec 2022 07:04:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p4zL6-0002FS-KQ
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 07:04:32 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 643ce687-7ab4-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 08:04:31 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0581D22848;
 Tue, 13 Dec 2022 07:04:31 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D6B0B138EE;
 Tue, 13 Dec 2022 07:04:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id EboAM/4jmGMUdgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 07:04:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 643ce687-7ab4-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670915071; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=RJQjl74BRMZ8wxOF0MrXigOWJ6L/36Vamz8c5CDdI5c=;
	b=Rp7g4KCse1wfZrH8Gnv3IG8+l7LPZ9rjux+crwkK5nwuxftQSUa4zVLplhejL0c/ZoEjNR
	n8Ji9WmmuVIaxmeF2l6EM++g2vEIAbuzI/pshm1WeBsDunc28thn2y0dtaErCTkhIguGCE
	DSP2b65QxWaSB+gmK7K+Q5ypTsIJ3e8=
Message-ID: <627d04b2-895f-59b2-b5bc-5315ceacf015@suse.com>
Date: Tue, 13 Dec 2022 08:04:30 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 11/20] tools/xenstore: move changed domain handling
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-12-jgross@suse.com>
 <6bad7b3c-eaa2-d342-a7f2-d265bdefd54a@xen.org>
 <e2aa2c60-5d4f-06ca-153e-cdb422aa084d@suse.com>
In-Reply-To: <e2aa2c60-5d4f-06ca-153e-cdb422aa084d@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0QCAD15bJe9LFYQ6Fmck2as2"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0QCAD15bJe9LFYQ6Fmck2as2
Content-Type: multipart/mixed; boundary="------------5gvzHhh8lZAgCldlaqPKOBr6";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <627d04b2-895f-59b2-b5bc-5315ceacf015@suse.com>
Subject: Re: [PATCH 11/20] tools/xenstore: move changed domain handling
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-12-jgross@suse.com>
 <6bad7b3c-eaa2-d342-a7f2-d265bdefd54a@xen.org>
 <e2aa2c60-5d4f-06ca-153e-cdb422aa084d@suse.com>
In-Reply-To: <e2aa2c60-5d4f-06ca-153e-cdb422aa084d@suse.com>

--------------5gvzHhh8lZAgCldlaqPKOBr6
Content-Type: multipart/mixed; boundary="------------NQVabWaBqd4Dtu0ER1TgYGPt"

--------------NQVabWaBqd4Dtu0ER1TgYGPt
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTMuMTIuMjIgMDc6NTMsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IE9uIDAxLjEyLjIy
IDIyOjU4LCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+PiBIaSBKdWVyZ2VuLA0KPj4NCj4+IE9u
IDAxLzExLzIwMjIgMTU6MjgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4gwqAgc3RhdGlj
IGJvb2wgY2hlY2tfaW5kZXhlcyhYRU5TVE9SRV9SSU5HX0lEWCBjb25zLCBYRU5TVE9SRV9S
SU5HX0lEWCBwcm9kKQ0KPj4+IEBAIC00OTIsOCArNTA0LDEyIEBAIHN0YXRpYyBzdHJ1Y3Qg
ZG9tYWluIA0KPj4+ICpmaW5kX29yX2FsbG9jX2V4aXN0aW5nX2RvbWFpbih1bnNpZ25lZCBp
bnQgZG9taWQpDQo+Pj4gwqDCoMKgwqDCoCB4Y19kb21pbmZvX3QgZG9taW5mbzsNCj4+PiDC
oMKgwqDCoMKgIGRvbWFpbiA9IGZpbmRfZG9tYWluX3N0cnVjdChkb21pZCk7DQo+Pj4gLcKg
wqDCoCBpZiAoIWRvbWFpbiAmJiBnZXRfZG9tYWluX2luZm8oZG9taWQsICZkb21pbmZvKSkN
Cj4+PiAtwqDCoMKgwqDCoMKgwqAgZG9tYWluID0gYWxsb2NfZG9tYWluKE5VTEwsIGRvbWlk
KTsNCj4+PiArwqDCoMKgIGlmICghZG9tYWluKSB7DQo+Pj4gK8KgwqDCoMKgwqDCoMKgIGlm
ICghZ2V0X2RvbWFpbl9pbmZvKGRvbWlkLCAmZG9taW5mbykpDQo+Pj4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgZXJybm8gPSBFTk9FTlQ7DQo+Pj4gK8KgwqDCoMKgwqDCoMKgIGVsc2UN
Cj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkb21haW4gPSBhbGxvY19kb21haW4oTlVM
TCwgZG9taWQpOw0KPj4+ICvCoMKgwqAgfQ0KPj4NCj4+IEkgZG9uJ3QgdW5kZXJzdGFuZCBo
b3cgdGhpcyBjaGFuZ2UgaXMgcmVsYXRlZCB0byB0aGlzIGNvbW1pdC4NCj4gDQo+IEl0IGlz
IGRpcmVjdGx5IHJlbGF0ZWQgdG8gdGhlIGh1bmsgYmVsb3cuIFJldHVybmluZyBlcnJubyBp
bg0KPiBhY2NfYWRkX2RvbV9uYmVudHJ5KCkgcmVxdWlyZXMgaXQgdG8gYmUgc2V0IGNvcnJl
Y3RseSBpbg0KPiBmaW5kX29yX2FsbG9jX2V4aXN0aW5nX2RvbWFpbigpLg0KDQpXYWl0LCB0
aGF0IHdhcyBub25zZW5zZS4gVGhpcyBjaGFuZ2UgaXMgcHJvYmFibHkgYSBsZWZ0b3ZlciBv
ZiBhDQpwcmV2aW91cyB2ZXJzaW9uLiBXaWxsIHJlbW92ZSBpdC4NCg0KDQpKdWVyZ2VuDQo=

--------------NQVabWaBqd4Dtu0ER1TgYGPt
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------NQVabWaBqd4Dtu0ER1TgYGPt--

--------------5gvzHhh8lZAgCldlaqPKOBr6--

--------------0QCAD15bJe9LFYQ6Fmck2as2
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOYI/4FAwAAAAAACgkQsN6d1ii/Ey9h
AQf/ew9ccdRP1XUNDwHG38pZLBD8DiwpiHVz8fwD7RvTchZWEdXtjz1ZudZY7RgW0omQW3qCl3h7
NYQFOsolTPRY2JCy8winAtestvmQDXPciGHm2NRJcMj6VX3vB6KCB7BCFhTazgxQtAolKrdOWJiE
6zb6GZOMnHYDk31ChZCBbbVpgNrjL0e9DJt8aVl75W6MCyZSz0jmOswoGq/GELWffdgxKp9ZX1w4
w1qroEqg4VfkvxbWkOsWNEuNuVgWbg7R4z7l8ZP3xoUHPFEdnEVX7nw84ReqEDENLuOI5lDsu1s4
M1WYXMEuUGgYdSHB1x+avoOzlnGASyMqdSbrB4Z6sA==
=6hHN
-----END PGP SIGNATURE-----

--------------0QCAD15bJe9LFYQ6Fmck2as2--


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 07:18:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 07:18:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460217.718085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4zYC-0004G2-5P; Tue, 13 Dec 2022 07:18:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460217.718085; Tue, 13 Dec 2022 07:18:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4zYC-0004Fu-1z; Tue, 13 Dec 2022 07:18:04 +0000
Received: by outflank-mailman (input) for mailman id 460217;
 Tue, 13 Dec 2022 07:18:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p4zYA-0004Fg-Vw
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 07:18:03 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2057.outbound.protection.outlook.com [40.107.22.57])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46e59690-7ab6-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 08:18:01 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7440.eurprd04.prod.outlook.com (2603:10a6:800:1b2::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 13 Dec
 2022 07:18:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 07:17:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46e59690-7ab6-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A98IdPjHJh1kw50IZhzxKpk4joOd/oh1IxkF8B5bSlwvliENk2emmSSuCRcjVzFtFloRRfoO3kGFpaWsKT9ftQADBSPXwz7DAxk48FKCdYMUouGlynBhkZL0vZORk2Lo/4C23V0XLd8FJ6i6JYtmEbjbvHqMDoAIH+/VxWq5B2fbtm+UV0jJmNCm2dM8jnF0jL+asa10cg+QjDgIfpYx8xSomom9u98HthfNOvQrSsiy3PkLMj4r5KJ/Mw9/h1ebCuPeGsakWLKCQ6RFE0dBukLxMoiRwiAMm+9eqYwJP7A6xUd0+jVbdQKAXKBDTn1FU/OSc9wKFfYYSmMyd9TINA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9yumtuPumW//LbLdht9RR10lyRMsr8EqEVgTwNWOxl8=;
 b=Y/znPCEHvbTKJxNZXCzv1lQ0IOur05q7BvuJB1TlECntAkhjeETQsi7UqNvuz7ssf0TlKfRMq6lr0M42QAj9avhCoRuDskU8BhCDthj5Pp4cdXV01DvQhHdSLdjgDi6/jqvNbzRnYe4iuKmn4nsjDTJ3Km1NNdFo54qMMkjfB+mNFtBturZMIdIJVO3OynOoScMtNx4m+6x2HnuRXIB8FMN6Tr68GT2COb4R+5Gcsv771paw/uhNiplsGRNHgiGpHyAu2FqbRznmyqjSgPiKUzewztzlpsWFRfooVJnvZuGIM+ndgzLla9K2zXNs/i7a8XcnI0Pyh3oqA9v6KQoGmg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9yumtuPumW//LbLdht9RR10lyRMsr8EqEVgTwNWOxl8=;
 b=zxrbSavJoESNqm5hkeZj6TE3y7hnCCwcrIli66O/efu6xky0Bk5qUrmfmS6cApx4RWv3S3iptgbByG8vwpOWfHwkaXc5uv3H08CiX8C/BDMcsCRC3PHmUQDvjukxOljMMUChoC5xl0qJG1wOAqpUL71pLGN5hA4KZnTprBMHk0KUSgCeY7RypfeHaE+XPgA+QVAxr2MNtu/mAPcmmWtP61LybXONBYHQ9xE+JBTpHbPqGm+eycsM2dO2oHjfe0D8TQ7X+kHE/ybTUXtJqTwbcjjejPSDiz6WSeh1sgkHEewNt8e1/cPkao+CpVCMzFYJiBiC5XUjtzlMUbXuRzZhPg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <11b8ccb4-b2df-1b5c-61a7-7defafd8c8ef@suse.com>
Date: Tue, 13 Dec 2022 08:17:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] Relocate the ESRT when booting via multiboot2
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <74145e57307e9b35cbdc296b22241e6f36405f6a.1670546744.git.demi@invisiblethingslab.com>
 <e4dfe73a-a0ff-54c4-054d-2044de1e546a@suse.com> <Y5ex/9OBFZ3hdBx/@itl-email>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Y5ex/9OBFZ3hdBx/@itl-email>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0151.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7440:EE_
X-MS-Office365-Filtering-Correlation-Id: 03e2cdd4-9c15-405f-76e5-08dadcda29ed
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9mjQMAhnKiRZEkd5dLKb2V0O9qnI9C8sFDSdsha8R8D6OABDg6fFjgkqZ4pz6iJ/oL9XWsi6LYRVoAK8AqBzUtstxBVMNvV3sUXI/1IIRzPmpiu48f4fGvm0XbSYQc7cmH5goXCFVTIlstnIRidIR2aTfcIeyQPbDuy7H9GKvxtUWnDDzowBcaljL9NZwmBzVAcMGHbeNNWbTn5Ic3/U3IBJZzgn/pxDDCXOOy5i+g5YC2+vjcZZ5nLi0JI1Sz9gX873FI/iYovTI9WafXOT2w1w+UGojEzWQmBlpV4/0yhv+Pwf2QRyMWtnbt6au5BoxAv+tK04+cQ42fuUovLouWpLJCxza0zr9xJsfBwKy7jG8l1Q9xvsIeOz0PVMdL1vAW8lbb4RxyOloDUkGUi/JC6XKewefhVW0S821efkqDENdOcT4E9MSnP1CgYY69amFwHbHqZa49f7D4AVfKwWIKast9P9C/qsxIC5fAIgxDS/WIoJvU0k+6VDib9t0vf49tFstm29VWlxP/fxyWL+RgSOMosSk/TQidmvcsF6X/XrxefyhWUH+9GkHB2Zx8qvUMdSWWKwcqghPAa1DflwnRt1eqp8bm9zeIv/eVR5VQiEXT3MjFYaVNC7DfrOdiZygUqqZsQB+FGM0RedEexm+kD7ZBLoOoFEMeWZNimJBt2KCeqAeFzHMCnNbd6L5LeqZ8Y4/YhdwkjaMuuo1GQoxD3lQb6b87OhDLBFhrvm/us=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(39860400002)(346002)(396003)(366004)(451199015)(4326008)(8676002)(36756003)(186003)(66946007)(66556008)(41300700001)(66476007)(316002)(54906003)(8936002)(5660300002)(31696002)(6916009)(38100700002)(83380400001)(6666004)(478600001)(26005)(6486002)(6506007)(86362001)(53546011)(6512007)(2616005)(2906002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RnJOaTZXQ3h6cVJWNWkzbUxUckZzZnNrZDBkenRXMlo2aEFmeHpjVGhOcjlI?=
 =?utf-8?B?UERZU0pkUU9TRjZtekpyRHNybU9LaVRIcVpRUFRaQjBrdklkZFJGbldqMFBF?=
 =?utf-8?B?aFN0MThhangzSjVpa2pMNEY0aUwvWS9MaFJtNUdSemxWWVdudHR5QkQxN2lz?=
 =?utf-8?B?RHBLdFZRS1dJYmtKV3FIOTBTV2ZvTElFdERmanF0ZDBFZnpBWjJyUEhmcEZR?=
 =?utf-8?B?STBGVXVwZy9aRlF5czJPeEpQT2h5ODB1akpDWUFaZ2dNY3UrdXJLVVd4Vksr?=
 =?utf-8?B?MkhpSm5TV2MxYWNVdnVZOUhieUJ0UHZuaVR2VkZXdTNJYVFjQU9nYVhvNkZK?=
 =?utf-8?B?MldEYXVrMXpqM1ZUL2lxbXZncVkxOUlTcjNhUWNhdzBMaE5aM0NoWjBqUkVE?=
 =?utf-8?B?dGdXVVBOZzNna3BDZFBVaks4cWR2WVZ4cXpncmxXeXVWTFBjeHRtVGVNQXZD?=
 =?utf-8?B?RGc4NG90SkdaKzVmMlBuODlxVVZQMU43RHdDOEFZU1FsU0M5ZG5ZQzJ6cGpO?=
 =?utf-8?B?cEIrWXovMzBTVmpNMGI4M0xnTkw3NXE4bWIvVEhqWitYTmRjWTNqd0JCbmwx?=
 =?utf-8?B?RSt5WWh6T000YU5lcWlQbE9uZU5LLzZpMXZZWEZKMDhWbFNzQ1JZbVQyY1M1?=
 =?utf-8?B?VXFBK3F1bVdhOUFsZ083RkJTcFI2VWtYeCtoZm5ZT3o1UUJhUFVhcExIZXF4?=
 =?utf-8?B?ODhTOXFsL3FaLzZYeFJRSFpKd2V3Q1JEU1dYZkJ4bXlaUmxCRUdEblkwV3ha?=
 =?utf-8?B?SXovRWVOTElhTzdoakMyRVJwSWUrYVVuYWRwZngrTE14eDk1b3Vab2NUQ3du?=
 =?utf-8?B?MTNwNzFUYk5HNzdjK1c2c2dnYW5DY09heW9Cb2ZzQ0JWOHFrT25KRDZCWDRi?=
 =?utf-8?B?RnE3Y1hwS1IxUkU2YXo3amw5aGIzWFRMY0NQV25EeTNWc1RzcjZVbXFvdWJ0?=
 =?utf-8?B?aWRkMG9VNG95ZDNjaklYS0FyYVYreERrYzd4akpjR05tZ1JtT2FUWE9RYjZT?=
 =?utf-8?B?SVlJNVJxbEZMQzlIaVB2WFJMMFFTL0I1akpXMVNZbmdOV3d0Q2tvU2NmaHFx?=
 =?utf-8?B?amdadEVWVnVGUER3R1JUZ1JLY1B4amdYSk1JRW9Gc0hlRy8rZzkxMEcvdWtH?=
 =?utf-8?B?NEZIRHpBdzl6NDhFbTFmTkhkbk1qZ1QzeWpXY0d3WkVqamxMTTFmOS8ydkF2?=
 =?utf-8?B?Wkt2OUp6dkVkYTVlS2t6eERndHBuNUU3S2RKTWpZNmlUOWUwTCtCTGpYcmQ5?=
 =?utf-8?B?d08yT3RBQWppSDdBYW4xT3RxYkpFU2szY2h3Y3BtSUdhMHRaOHVZV0NFNHUw?=
 =?utf-8?B?Vy9BZm9pT2duaG1uUjB0b1plR1B3U21kNEdHQUJ0TG0zRGlkM1ZFdXdEamlw?=
 =?utf-8?B?R1l5YnJNbWtLL3E1TUE5NEpySkZ1c0x0MkY2M21wMDFmdjUzZko2UVp5N1lr?=
 =?utf-8?B?azVWaGpkZE41V1NIbjBraVQvVmlqMHE1Q1paTk03VFpDa09Ld3lZVlBZVTFj?=
 =?utf-8?B?SDgzR2RIK0xoMy9wSlY0N2JCaW4vM1lkb1ZqTnByNU41MkxmN1BCUXN6Yk9D?=
 =?utf-8?B?bXhsemplenIrK3JuekR6c3NNRHN5QjF4clB3WlFWTGoxWDZhR2N3VzdJZnRE?=
 =?utf-8?B?a3Q4UEhvdGo1SnJFMzUyUmEvQ2xZaDA1U3UyS2N0QTdtOHQ0ZVlFVU9CdlQr?=
 =?utf-8?B?ZnhGSmY0T2lHZ2s5Sll2TThhZ002ck1GNnlQM3ZtUC9RQlY4eHNFazkxSmdB?=
 =?utf-8?B?b0p2cUFPMWRYWlpGN0pDYXgyNVhNcDlwaERhR2dwQlR6TmlLaTMxQmR6S2tq?=
 =?utf-8?B?SExXVEpPVExsMUNjMDBOSzBqWkgvRUVNUkVGd2NKRWprV0t0WkwxRHJZVC9p?=
 =?utf-8?B?elM4VmlacUMzSFUzeElCQUt3Z2IraVhQZmlOQko4T2lFUFBSaktiaTBNaWtW?=
 =?utf-8?B?Z1d0UHZVd2MzRVVrYzBZcnNoL3Fzc05UMVY5RU8vWk9yMEhwVnJRSVdXU251?=
 =?utf-8?B?SEZUUTN0czdIVkZWWVdJTi8wdnNYN3UwYVdiblpmTE51SE9ybmQ3M2JYc0pz?=
 =?utf-8?B?blhmTi9NeElsNy8vT21zdG1uMHQ3UjNNV2VuMkJBVW1VQjNEdzJTQktRNnRF?=
 =?utf-8?Q?Anw3Sz2oal8lIO9/Si907xCy0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 03e2cdd4-9c15-405f-76e5-08dadcda29ed
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 07:17:59.6849
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +xyk11DbJw/Xjv6M+adzVumk57Tb2gVJmNPJ/a8XucOj8K/xPtQKf3wOSbvwPbj3XsHNTfKFzuti3lKJp/2vzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7440

On 12.12.2022 23:58, Demi Marie Obenour wrote:
> On Mon, Dec 12, 2022 at 04:19:21PM +0100, Jan Beulich wrote:
>> On 09.12.2022 01:52, Demi Marie Obenour wrote:
>>> This was missed in the initial patchset.
>>>
>>> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
>>
>> It looks as if, besides ...
>>
>>> --- a/xen/arch/x86/efi/efi-boot.h
>>> +++ b/xen/arch/x86/efi/efi-boot.h
>>> @@ -818,6 +818,8 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable
>>>      if ( gop )
>>>          efi_set_gop_mode(gop, gop_mode);
>>>  
>>> +    efi_relocate_esrt(SystemTable);
>>> +
>>>      efi_exit_boot(ImageHandle, SystemTable);
>>>  }
>>>  
>>
>> ... this core piece, the rest is merely pure code movement, with the goal
>> of avoiding a forward declaration. If such is the case, please say so in
>> your description. I'll add a sentence to this effect when committing, so
>> the remark if for future patches. Provided of course it is true (i.e. I'm
>> not overlooking any tiny change) - please confirm.
> 
> It is indeed just code movement.
> 
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Thanks!  Do you want me to submit a separate patch for backporting to
> 4.17, or do you plan on doing that?

There's no need for backport submissions except in extremely rare cases
where the backport turns out unusually cumbersome.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 07:20:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 07:20:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460215.718099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4zaE-0005cA-Iw; Tue, 13 Dec 2022 07:20:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460215.718099; Tue, 13 Dec 2022 07:20:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4zaE-0005c3-Es; Tue, 13 Dec 2022 07:20:10 +0000
Received: by outflank-mailman (input) for mailman id 460215;
 Tue, 13 Dec 2022 07:07:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=k6nk=4L=amd.com=ViswaKrishnaRaveendra.Talabattula@srs-se1.protection.inumbo.net>)
 id 1p4zOO-00037x-HV
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 07:07:56 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dcf72822-7ab4-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 08:07:54 +0100 (CET)
Received: from BYAPR12MB2965.namprd12.prod.outlook.com (2603:10b6:a03:ae::28)
 by BL1PR12MB5780.namprd12.prod.outlook.com (2603:10b6:208:393::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 07:07:51 +0000
Received: from BYAPR12MB2965.namprd12.prod.outlook.com
 ([fe80::4199:c623:b14:c85e]) by BYAPR12MB2965.namprd12.prod.outlook.com
 ([fe80::4199:c623:b14:c85e%3]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 07:07:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dcf72822-7ab4-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DitezrlVNW3Nt2idmCksIANteTxeE7kKHTS0tY4/BvXL/RmYMa7LP7RuDx4N+MG7HSjWWD+Auc5ri/CjSbAac97/DLfv3Fdd4hJIIijyIfXMGb6uwQR72WBt90fR9DYZFu6CGru7Msgh9OWyL5dw+ktPirzroWwZssFJM8bxvChwvaNkS6HKqkI/MEamcr2IbWNVhssKYckgY0TH5IlBmwPfYdJWKN71PFBdXl3SqoEmg6fTfsEkG0IgYG24isKp/jpoUZbLcwDyXBqUE+qnkHeFUaoc1juk+MRIXXEdrgyITIXrRTJoM/qG7FyTbKxK2pXU0dYgiEPw5NXNct7X4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YkNm56gX205NR3Kx13eIMf6V5knKoKEdheKHf4nfcTU=;
 b=XHbpX/TBAq2PuC1KefWqL4P7KiBAIngfF8Ex3RzGyy7NiJZEZH/pJDRm2yhOCiZfNHl06SYCuA1r5pdsjqaOAXAxeRsBzfpSRtGhH+/8JalPcKp1qVQrhmeoAOvPFlxFjbQVLemOcn+k5ZMXIN1kgWAiO2gWewdgp5Qhkg/wGErVOBkgfOQTu3U321F+Bk3ePc2tOkkuO82apZ8TQI3eOjU28CgSToErmJbQWAWVkTojoGCPMfh+fQqOzoEFR6tyK9O+Glfa5taZn0G9giSk3MuwVWdSD0WwEJBialmfwUaY95wUM3C2nfllffkOtdFqdRSStaqiqjH6Tv0BThE2lg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YkNm56gX205NR3Kx13eIMf6V5knKoKEdheKHf4nfcTU=;
 b=CoJSbnl7J3ihX2HX/NOMyNUtaVDPGDcr/hKPRWM5E2JRtjWlR6GTiRRJC+j/2alOQVh6Ppm0VpN/0zdT5b2ocUEOpwfYtU4fATpe5b9SCK6dAvw+1owW1VA8kMHl5iLl+MvBe63f2Bh4k8i+D7oAs6octAmMq4qaVr9XL/Otpxc=
From: "Talabattula, Viswa Krishna Raveendra"
	<ViswaKrishnaRaveendra.Talabattula@amd.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Need help with xen boot time
Thread-Topic: Need help with xen boot time
Thread-Index: AdkOwZNegIGtvL5mSQSPZxvjL4IPfg==
Date: Tue, 13 Dec 2022 07:07:51 +0000
Message-ID:
 <BYAPR12MB29659BABDC30512BD9E18F50F2E39@BYAPR12MB2965.namprd12.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-12-13T07:07:48Z;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=38eba48d-4df3-4164-ad92-a2d80b732a12;
 MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR12MB2965:EE_|BL1PR12MB5780:EE_
x-ms-office365-filtering-correlation-id: 90468913-e092-495b-58c4-08dadcd8bfb3
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 DAv4uLKOssSxMK98Zd4VodKPqomJ2r8OBeaDtak6Ml41vqCtPx6irSP2MjzFdGXsBi8j6nshZ+/+DcvY5cGWGNfwc8Ck7780KaC9EE1DrEnmp342ZjUi2vlejXrk9UGHjW9VybGulPPeSUAyusAetuM2TTUDgsIX5stCU6Rpf6FInfYGDybozmMoGbeTJwj9IrAhSXgLkCJMgPemtxEYuQ+EC9LfcWJY8T2FK25FkDMfqKtVuercKWAyVtZaey+XroSHKJE65NqJD+/OUDsfl+LcNoyFPo00ZfuLUxLGBGfECWXQKTWA5wFORLU/DXvY2Ug9jlX0Cknue1VNvtbFggOn7kOyIeO8X0Mxjk6v3oR3dAnY9bsx9p0Q5Ep+uCMZ5htm6WZOrNs4H3zCjAaxLzDktI14AtRPIlxSXJEq3CNgkDlV4RF+Jd4UQVR3ef/L5GZtnW7elGAAcvM0y0xEm4qUrbC7r+wrlU0A63WFCHjQbr+bcyM3kCtTWm7czhcPYXvAZ7erCjlfqAPaMNI92B4w1sCbomYnIG9BWKV8D6PCOhjvFRSnjLTEEqLdld8aB7KZgefi67K+GJsRucZqE8KMOU5urHRxw6OlaMFhM9YOV/iWGzTL4cd3xGpHRE7v/XYwLaOHZkIL+BcfOiAro6fIAbUdH0Va5a/zggLXJgT/AiYbIAyrtMSY9GwM/gLWfcbD6vw6dF54A4WAJfzfBg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR12MB2965.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(396003)(39860400002)(346002)(366004)(451199015)(33656002)(38070700005)(26005)(6506007)(9686003)(478600001)(7696005)(71200400001)(38100700002)(86362001)(186003)(64756008)(5660300002)(8676002)(41300700001)(122000001)(52536014)(66556008)(76116006)(66476007)(66946007)(66446008)(8936002)(2906002)(55016003)(4744005)(6916009)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?vSniMZbZQrVbUbetmxVzN1BWqt4kmvKC8T78MvcsH1I8kAquqESZUqIH1B6x?=
 =?us-ascii?Q?rOe0oRT7DmS2KGSOzHkJBS4Kynyn6+4LEKGrF2kOyYL/JXyXp0PCmSvfv46S?=
 =?us-ascii?Q?gazKMMREDHoDnXT2BqezffL/QSjdqAAyzOKPB4uBvN7D+f/riloUwjQvm5NE?=
 =?us-ascii?Q?Ww75I/OgXjxEP2F+CDATFkX2KYI5xS5jtIzoB9mFkUc3TNWscEJp1fxjVjCp?=
 =?us-ascii?Q?3UnsAunoweP/A2a8BxJs9VUPwMOecv8wIucSvRiuB+KJDBB8bw9YSEmP8wij?=
 =?us-ascii?Q?SZ1bHdVnovmA0ExLOB2z/fSc6Ir8x57C1fqL+Da1jGRRZ5kPAhTiLq2t3yf5?=
 =?us-ascii?Q?jYdMVQqt4J2PeNs51gT6MifwxtyMMEZsFZoyNeM0nh6C/lRMRli71N5aqVZk?=
 =?us-ascii?Q?n0dSU4oh5v48GDoN1KpdNOG0K9Ngo2uzCTri2TVSmUsSCi/TvzOazSxn6/z9?=
 =?us-ascii?Q?tIXYJYUB8dJoxwRzLMNQ8yqVtlYT93OmffWAUitQl73K9FzJpxyXePIImqRF?=
 =?us-ascii?Q?yCSFFPFKssADCvfD7pXCmHgYLnfuOQ9Qa67PqgOsDkBjbyt3/vXdLDLJJYMj?=
 =?us-ascii?Q?6FAPhp0iAAaMN+vL2LDqh7FIZlDX3LrtUTdgGauEAdYHI5/VCYyp1RvWsgyz?=
 =?us-ascii?Q?XCjwtAL3lZqn7zV2/bYebYI3MCfnKhoH7dzIOTEJRkezct8RpRmFKBnf6htz?=
 =?us-ascii?Q?ZTwLb4LcBoHdwrbK/sMp2E0OfAi1YtLjQURr8ApwV8qyioFaUlwDO9pqs8n7?=
 =?us-ascii?Q?xIv1iz4ml3it7Hy2iHmsxEewzjb/Fwe8/M1h6ZwqFVDDlBhZZAsHnWKSAIVN?=
 =?us-ascii?Q?62a+KKBYl+RN5QbOwspgGQ1B1jymjMxeFR/Eje/+e3c42xA//9LTccwj9FQc?=
 =?us-ascii?Q?IkdV8bBSzsPFGtoKWlVsd7irPjuPcNJZE6S10Os954rkQ/YBOhssvcMC9YZv?=
 =?us-ascii?Q?3mNiAhlbwEbe4rZOkzXsJM7xF3xWwvjnSEvOmrrfZXSodod5eoEH5JcKQmrP?=
 =?us-ascii?Q?mUBVJPq4L3b1dyE9DoSc7mpETHnZRrrKuuGTsLLcmvOjAt9p8Tej1uEO/x5A?=
 =?us-ascii?Q?a1feTIVdXlED4d/fL2Bz7N4zm0tZjTLfWi8r7nU50KrDXk1IFQol6I9c0vaz?=
 =?us-ascii?Q?tQin893TEMPB0p68aIgeOooOMTy5q7byIsfo+5F9UyQ7MNdfYmRxX3cux4sh?=
 =?us-ascii?Q?EICfTxHjWPALoqoQcj7MxI2dikpCSbMqv6TwTm0pEGzGRLLijhTZNNFAsbmR?=
 =?us-ascii?Q?8+tizyg7RGPcfdTofDfPI2sbeUJZ+AbGcF9wYqdHHzyzxFglkNFsgBK8DglR?=
 =?us-ascii?Q?2wwZ2hcOEJmfHIx7LGQq7+TsPlWH9D+FhsgzF/SogE8Bj4XL2pki3BVnyMw7?=
 =?us-ascii?Q?/1aJQEQr4UesGEO2JeLcqQfpY8u5LMHPF52BpQlPwxHXzkJex9S4sxt/5k5r?=
 =?us-ascii?Q?NL0oy0vDX+6xZbtnupC0N2GoUJUDmN66OOPMDhhRz55bz7OQHXw8FHrP5AqL?=
 =?us-ascii?Q?q79wmEjNCBtyvp6a4pEETwNOA5093izBytiyBrWdW5hv+z9/swLTdNCLeZao?=
 =?us-ascii?Q?ifYTpef9bVa257IUS74rXfL0Rys/bA0nVAoPLzvA?=
Content-Type: multipart/alternative;
	boundary="_000_BYAPR12MB29659BABDC30512BD9E18F50F2E39BYAPR12MB2965namp_"
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB2965.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 90468913-e092-495b-58c4-08dadcd8bfb3
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2022 07:07:51.3282
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 38eYZRoYFg7RKqwJiM2/gJr2My3eWjlLid5s65UlWi/jg3QJiH7O7ZkoKN22FY2gzogkEuDxJcPYGqcWWsnyeA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5780

--_000_BYAPR12MB29659BABDC30512BD9E18F50F2E39BYAPR12MB2965namp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

[AMD Official Use Only - General]

Hi All,

I am Raveendra .Currently I am working on  xen hypervisor with Ubuntu 22.04=
 .Compared to Native ubuntu kernel ,dom0 with xen is taking around 1.8s mor=
e to boot.
I used system-analyze tool for calculating boot time.
Can any body publish the boot time of xen that you are observing, also is t=
here anyway to optimize the xen boot time,related to xen build or any comma=
nd line options.

Thanks,
Raveendra

--_000_BYAPR12MB29659BABDC30512BD9E18F50F2E39BYAPR12MB2965namp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:=
break-word">
<p class=3D"msipheaderdf3d92d6" align=3D"Left" style=3D"margin:0"><span sty=
le=3D"font-size:10.0pt;font-family:Arial;color:#0000FF">[AMD Official Use O=
nly - General]</span></p>
<br>
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Hi All,<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">I am Raveendra .Currently I am working on &nbsp;xen =
hypervisor with Ubuntu 22.04 .Compared to Native ubuntu kernel ,dom0 with x=
en is taking around 1.8s more to boot.
<o:p></o:p></p>
<p class=3D"MsoNormal">I used system-analyze tool for calculating boot time=
.<o:p></o:p></p>
<p class=3D"MsoNormal">Can any body publish the boot time of xen that you a=
re observing, also is there anyway to optimize the xen boot time,related to=
 xen build or any command line options.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Thanks,<o:p></o:p></p>
<p class=3D"MsoNormal">Raveendra<o:p></o:p></p>
</div>
</body>
</html>

--_000_BYAPR12MB29659BABDC30512BD9E18F50F2E39BYAPR12MB2965namp_--


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 07:23:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 07:23:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460233.718109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4zda-0006EN-0o; Tue, 13 Dec 2022 07:23:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460233.718109; Tue, 13 Dec 2022 07:23:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p4zdZ-0006EG-U0; Tue, 13 Dec 2022 07:23:37 +0000
Received: by outflank-mailman (input) for mailman id 460233;
 Tue, 13 Dec 2022 07:23:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p4zdY-0006EA-2b
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 07:23:36 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2082.outbound.protection.outlook.com [40.107.22.82])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d90107f-7ab7-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 08:23:34 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8944.eurprd04.prod.outlook.com (2603:10a6:102:20f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Tue, 13 Dec
 2022 07:23:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 07:23:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d90107f-7ab7-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=McrD9DuznWtHEF2mpqRtiLhSU7s7Dj9eTiu1zTzqJJ5Dafcdddh+RuMeQ3Wjhs9v9E7JnjwpWY8yu1JjlTOxYKzq/N6pfLoOhU5ZDvGNnSB1iEwVFBENdpx5hqjRgNEU/QR6HCqla/FOKpyJv8gDis8lJOJZdEsdfiYrU400om7iN5+QGX9nGB7SqKgSiybEHissQre2Vj/8WHXGL6WRxs78DiR03czozXlEuP6yCrmlYvigmWYjBriENTivVT0EXJf0g8ZMy3OQ/zm5F2LtF1bEkXq/TcXDf7pgqcAAXrWM3FASuLxF/dE/P3ddEReVCi+l15EdDDfPsqWWajrEzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z2CwDtY0amO889UVeAN/5ezcpX9vWKAy1hKH5LfCURQ=;
 b=jtUepVVC06GmnBo/lcUOxO+RRLJJZQYNo12UKwJ6d3qdC4h9xYrRViD3ASe0qrdiaUiEi9hSGUGKTiYzg00oTasjvMEd4XfS5s9zDzd87NpyJDC0i3VCWtfE9ECzLaFM8nIRl+vpRbaAHUBDcIPB0e0HzKA5nQssC8plRe3xze0UC8L7FeJiqLFpke5b9T/fJIyf+H0fyMZSYXkFLjmVLTkt4+UIaSVDoLeq4lCnHTdIg/foDiHgmNuSRJCcRz5hq3HwsP5ZV/pJTioJPpG5eTTaLqyrN7zYBsYmo8p+shtd0EXAPUreBGmUJdupGybZw07TkFH1AU44ltZ2o6w7Kw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Z2CwDtY0amO889UVeAN/5ezcpX9vWKAy1hKH5LfCURQ=;
 b=zQW1dpwdAcGBzoUP/AmgyRVDgqWeY6d6SxsfnJ7YlpEKkloc6i6mgJVRxFJdQyNUWEid4pwcXOnVMebG2BQHm/GtALRtV+6kmf6hmvKDJ1pEcjGpj6GZ95ism95HqfCqcBV8M9xXyQGKjnO9AmCX2cT0O8MS2CYud8HoCSh+bpQ0NLPgvXVqUo4t5ILR25RdlyFy25FwRsZ1l/UOXUVtE9Dz6R3KiKLhuPqHes06enR2GBpplP+li/weI/9uV8WPoen3KDFHIXnZFnEZRHZ1ciUbhPPlj37GU8d3hwckwnDai34S3pEPq3exDyHgoJbqKhkeLr3c9y6J29mLHgMvZQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <60582b25-4fb9-a2c8-9db3-9b5593f039c1@suse.com>
Date: Tue, 13 Dec 2022 08:23:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH linux-next v2] x86/xen/time: prefer tsc as clocksource
 when it is invariant
Content-Language: en-US
To: Krister Johansen <kjlx@templeofstupid.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Marcelo Tosatti <mtosatti@redhat.com>, Anthony Liguori
 <aliguori@amazon.com>, David Reaver <me@davidreaver.com>,
 Brendan Gregg <brendan@intel.com>, Juergen Gross <jgross@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
 <20221212155730.GA1973@templeofstupid.com>
 <20221212160524.GB1973@templeofstupid.com>
 <1eb6048b-bf23-78a0-9c3c-54bbd12c3864@suse.com>
 <20221212220519.GA1935@templeofstupid.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221212220519.GA1935@templeofstupid.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0020.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8944:EE_
X-MS-Office365-Filtering-Correlation-Id: 7aad693a-c009-45b5-4faa-08dadcdaefe5
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OG+pOAjuN9r+s18O8Zu5nPys2ph1lY0QEqi7S3FrO8JtSPi5Svf8OfMuPQCqc1FHFAhYWgI9LxWZ80+ZMTABz0yybgcFFK14Zs3WVTPziN41PihcO0O0Nh0bySiQtB9YW66sDSI+jITvuTtc87cTGguE7Duu0RCTOcSoCLqaUadMawCgFtDKqUNmmf+gUIYZKUjhQvCV3B0vg0SMBFPSwOkCYUMUGcUy5HSiSYahEq2dNiTffMi61W8S81WSVN0ANCkLRgakEhlK2ev8/lwkHoABAORsB46um8TXVSlIAb5agpkXjsSm7l/ugwK40MRNOY8AptAdReBbRyUmYZgXMjc3IbQJU46Gg1EdpYIBecXpoFJfANxyr4Zkci7D2eAzW6sl1ekbJ1xoav74aXrW8igiy2qG3lLZLE2SZvYIczr0ayIYf0zERDO0WeHMBd/1XI5RqQDmgEvRM/8kZzeQjILboek8o01efAM5Qi1vLz+55A3jRXeuh9nCIGOVsPZMPdsPVEhB7jeZb+3FZQ6fOojXy2nmR53FKfdLvwMSKOJjZVFqZcN2EivJ5FfKLpu9QgVcwAzfwUyS3/eq/jDzqRnbi0Jyq5n92aW7qFCqm6Bek9UTECYfKhzZ3HZTodT69MKUqcKtgJscM1nCh0wwykuNmux6jmYF7ZfubvaT1hRky3W6fvWEv/edKJeV43bAlvB0ADZOCKqb205T8Ko22OCVA50sYPNzvc32hRB/+uM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(396003)(376002)(39860400002)(346002)(366004)(451199015)(36756003)(31696002)(86362001)(26005)(316002)(54906003)(6916009)(478600001)(2616005)(6486002)(8676002)(66946007)(66476007)(2906002)(7416002)(5660300002)(4326008)(41300700001)(66556008)(83380400001)(8936002)(38100700002)(6512007)(53546011)(6506007)(186003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SWZTc1lEbXREeXlhV01vQVRHdCtDQjFQdTF4TDFmT0ZoYWZWOVN2R0xEQjFY?=
 =?utf-8?B?M21jT3ZZMVlNaCtHa1NSbUhBbGNsUWsrL1FHZGZ2clVNODV2OU01THc4N3hs?=
 =?utf-8?B?WnE4WWRnRTlOK2E3d1BUNmtnSW1PTVBGb1RTWnR5Y1VSUzlFUmNrbFJ2TER0?=
 =?utf-8?B?QVVoTCtlUzBaYlhOaWVvdFFMZ0FnQUdNZnpnVWpnVEJYdnJvOEpScy9udGdQ?=
 =?utf-8?B?ZElRak5xRWNVOWZZZ3Aydmdqd2VNMGpjMGthVEZaRzRaYXRxbTkvQ2VEREJ5?=
 =?utf-8?B?NVd3bjFDWC9qVG04T0VTNmV5d1c2bmxnUmo1dVUzYnA1YkhiaFRKd3cwVVor?=
 =?utf-8?B?anUrQXBVUk8rK01Md0xsVjZzeG5Cb3lFQXhVZXREY0FwY0xNd3UrZGtwbW5z?=
 =?utf-8?B?MFo4WVFJOHlBbVdLd1J3dGI2VlR2SWk1QW5jOHlWMzhBTEFvS0ZDYytUV1lZ?=
 =?utf-8?B?WEQ0UUJWeDIrekVMYjlnTWtnRVhMdVAxM1NSaEZEMUp3ZlNZMGhTU3d2RnVH?=
 =?utf-8?B?Zzh1RkozQmlhTmF2NmpxMEZKVFNiTXZubiszamhOV3lGMVlTVzdjNUtTZkxC?=
 =?utf-8?B?elZDRmgyQlFFSnRhTFVydGZ0QlUrUmdTTkFCZVNGT0QwdUhubmpUYmVKRUJh?=
 =?utf-8?B?eWlabW93eit1M2M4NVZBdGRGMkV5NDFxNzdvSm5VclBiS3R1Sm9rT055ZmVt?=
 =?utf-8?B?S2tWV0EyajRSVVFiYmN4eWNnZlk3VGplYzZzRnl0ZXNwUlNNejZLRXBCbDQy?=
 =?utf-8?B?T2VmbXBVWGRCaEpwSFUvcVFxK3lxNEpzTnU1NlNrWmx2a3dtTFN0VGVkMi9n?=
 =?utf-8?B?ckhONWFsUzBrTHI4QjhnNjVXU1lzeGRXRGgzTWJXUG5DdWkrS3BWL3hOMXY2?=
 =?utf-8?B?dklMYjJRT05scGExNktnRGxVcjkrNE1zT3NmUTd1UksxNlI3M2VRY2cwMGRr?=
 =?utf-8?B?V3htbGV2V1J3Vml6dDJaS2NvSHc0Yk1ra1RPTHRvcDNFS1psTGtlb0tYdi9C?=
 =?utf-8?B?ZEYxTllERkQySzUrUkt5aEV1V1lPYW5EM3JES3FNWlZjRGVlL2kzblJWTnB1?=
 =?utf-8?B?TmEybVZDSWNORisrWW5aVXc3S1h6RWpCeHNxNllkcnRTWTRwUDlWNGViN3R6?=
 =?utf-8?B?Y2FTc0lrcmNxRGFXM0pRNk56UzdRdHIvdHJEY1o4emZBUXcraXdMNUVBVnpl?=
 =?utf-8?B?NnVPZjQzTDJNaGE4TDg0Z1BQTDRlK1UzL3hLZkhxSld6T09JVHBPU0RmRE95?=
 =?utf-8?B?RUR3SkQ0MkpQa2x0UE5oR1BiM1JCb1FtTUtVbWwzOHFTVU5LaEtDZHR3MmN0?=
 =?utf-8?B?bUlEWEo2WHNlKzQyZHNmSzNBSEZTK2lmb0dYdlg3WmtITU1GS2tKYUhMT2hF?=
 =?utf-8?B?RnNRcFBtdlVEMzR5TGFGOHRQOVpBZnlzVGN6UllzVXBtWWxDblc0L2xmbWNj?=
 =?utf-8?B?bDRYcTZveXhCbW5UZ2NvMk04cjZwcjJnd1l4VldOMzZIZXNRenIzTU1EODBx?=
 =?utf-8?B?QkIvS1lqZTM0T1VPZDNtNExOeS9hdS8zb3pkQ3o2MlhFV3VJelFYczFrT3Q5?=
 =?utf-8?B?RzllZzJiaGJhSGlqOVVNMytYTHFFS092V0c2bUdYWFdxYXd2RXNVZHBLWnFX?=
 =?utf-8?B?amJreDc3Vk9uMVAvbXJKdGhSTmhaRmsybWxzMVBDNHlqMjg5S2JuSDRtQzNm?=
 =?utf-8?B?c1RVczhha3dBTGVHaWxTWDM0bUZGR0J4QUhlbnJPTXJpVDVJSjFHcWZibm8v?=
 =?utf-8?B?T0tOZFFtK2JBaWYzcmlLL1RlTi8xZllGc3V1N1Nud05SNVpkeDNUMWx6TXV6?=
 =?utf-8?B?OFRpZVN0QU1xQkZKSi93L3hnS3RybUxBUFFscENGdGxIbkV0RWNHWUhsdTkw?=
 =?utf-8?B?YmxIdWF0VDJQSzIxSERrZzdOYXZvUmdZcXBaN2lrbFphY0U3Mmg5YnA1bE5t?=
 =?utf-8?B?OGJZbVpqUWtDbngrUGhLQ0o4TWdFOVg5MVY5QVlwZUdqcGpqYllYejVQQWJm?=
 =?utf-8?B?a1cxRzI2SGRpeEVEdFRGdkU3Njc3Zk9XRzRjN2ZZdys3T2RtSlQyaFhJcUNF?=
 =?utf-8?B?YW1MMHV5NnljRmF5c2w3M2QrWGZNM3VMcllsdWh5VFlHOEZVNlNEZ3ljeTMz?=
 =?utf-8?Q?lHmrrPYY0grcsBVnJXGc5tWwk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7aad693a-c009-45b5-4faa-08dadcdaefe5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 07:23:31.3047
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: d7lfGjAoXqfCpbLGUEfqXvOry6DCsvKv2o4N2EsnJrR8ncrLUwAj6ZX2z5lFPKGVJUv7KLWZB/1YP2oYeHMk4g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8944

On 12.12.2022 23:05, Krister Johansen wrote:
> On Mon, Dec 12, 2022 at 05:46:29PM +0100, Jan Beulich wrote:
>> On 12.12.2022 17:05, Krister Johansen wrote:
>>> Both the Intel SDM[4] and the Xen tsc documentation explain that marking
>>> a tsc as invariant means that it should be considered stable by the OS
>>> and is elibile to be used as a wall clock source.  The Xen documentation
>>> further clarifies that this is only reliable on HVM and PVH because PV
>>> cannot intercept a cpuid instruction.
>>
>> Without meaning to express a view on the argumentation as a whole, this
>> PV aspect is suspicious. Unless you open-code a use of the CPUID insn
>> in the kernel, all uses of CPUID are going to be processed by Xen by
>> virtue of the respective pvops hook. Documentation says what it says
>> for environments where this might not be the case.
> 
> Thanks, appreciate the clarification here. Just restating this for my
> own understanding: your advice would be to drop this check below?

No, I'm unconvinced of if/where this transformation is really appropriate.
My comment was merely to indicate that the justification for ...

>>> +	if (!(xen_hvm_domain() || xen_pvh_domain()))
>>> +		return 0;

... this isn't really correct.

> And then update the commit message to dispense with the distinction
> between HVM, PV, and PVH?
> 
>>> +	cpuid(xen_cpuid_base() + 3, &eax, &ebx, &ecx, &edx);
>>
>> Xen leaf 3 has sub-leaves, so I think you need to set ecx to zero before
>> this call.
> 
> The cpuid() inline in arch/x86/include/asm/processor.h assigns zero to
> ecx prior to calling __cpuid.  In arch/x86/boot/cpuflags.c the macros
> are a little different, but it looks like there too, the macro passes 0
> as an input argument to cpuid_count which ends up being %ecx.  Happy to
> fix this up if I'm looking at the wrong cpuid functions, though.

Oh, I didn't expect cpuid() to be more than a trivial wrapper around the
the pvops hook, and I merely looked at native_cpuid() and xen_cpuid().
I'm sorry for the noise then. Yet still, with there being sub-leaves, I'd
recommend switching to cpuid_count() just for clarity.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 07:55:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 07:55:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460246.718123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p508H-00023Z-JP; Tue, 13 Dec 2022 07:55:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460246.718123; Tue, 13 Dec 2022 07:55:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p508H-00023S-Gh; Tue, 13 Dec 2022 07:55:21 +0000
Received: by outflank-mailman (input) for mailman id 460246;
 Tue, 13 Dec 2022 07:55:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p508G-00023M-8W
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 07:55:20 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c727a75-7abb-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 08:55:18 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 1828F1FDAC;
 Tue, 13 Dec 2022 07:55:18 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id E167A138F9;
 Tue, 13 Dec 2022 07:55:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id +xTaNOUvmGPGDgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 07:55:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c727a75-7abb-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670918118; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=I+4/YTvIVuszh7SEitE8aIM70LH8vIe1BnKWYSn98ko=;
	b=BQD93sEyO7VgYjWjZ7RiOjrke8dZzoqcr1s3H/4nMdel2OGohu6fk6Awnzx0LcLMeRMOJT
	T81UjKEpPcK9sCg7bHQU+Mc87Ypik4ql9LGvjv7DKAEb6qiN0xW+gUd1e97slzENWAZOVY
	nEwE+r17R4BPbsuJ6kGKMTzC/0787AU=
Message-ID: <cfa95b1c-9550-7ecb-f987-0cd2c6b63f13@suse.com>
Date: Tue, 13 Dec 2022 08:55:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-14-jgross@suse.com>
 <32f61945-08fa-f095-02c4-9d52b66b6c04@xen.org>
 <a55a6433-d49f-2963-0f79-ee98441afe5f@suse.com>
 <c878e5dc-1cfc-fc7f-f535-9d1afb99f378@xen.org>
 <ceda3142-f5c0-f1b1-19c4-40aade11fa63@suse.com>
 <39f4a517-7263-2431-920f-fe8ea65b7495@xen.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 13/20] tools/xenstore: don't allow creating too many nodes
 in a transaction
In-Reply-To: <39f4a517-7263-2431-920f-fe8ea65b7495@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Y0Y7BK3POLmH7ebxbfz0Vp1y"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Y0Y7BK3POLmH7ebxbfz0Vp1y
Content-Type: multipart/mixed; boundary="------------hFG2SiX4VZIOEtnSGNTETz51";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <cfa95b1c-9550-7ecb-f987-0cd2c6b63f13@suse.com>
Subject: Re: [PATCH 13/20] tools/xenstore: don't allow creating too many nodes
 in a transaction
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-14-jgross@suse.com>
 <32f61945-08fa-f095-02c4-9d52b66b6c04@xen.org>
 <a55a6433-d49f-2963-0f79-ee98441afe5f@suse.com>
 <c878e5dc-1cfc-fc7f-f535-9d1afb99f378@xen.org>
 <ceda3142-f5c0-f1b1-19c4-40aade11fa63@suse.com>
 <39f4a517-7263-2431-920f-fe8ea65b7495@xen.org>
In-Reply-To: <39f4a517-7263-2431-920f-fe8ea65b7495@xen.org>

--------------hFG2SiX4VZIOEtnSGNTETz51
Content-Type: multipart/mixed; boundary="------------p4fttdr2m0WRa44KjmiyUMqY"

--------------p4fttdr2m0WRa44KjmiyUMqY
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDEuMTIuMjIgMjA6MjUsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDA4LzExLzIwMjIgMDg6MDksIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
biAwNy4xMS4yMiAxOTozNywgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IE9uIDA3LzExLzIw
MjIgMDg6MzQsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+IE9uIDA2LjExLjIyIDIzOjAw
LCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+Pj4+PiBIaSBKdWVyZ2VuLA0KPj4+Pj4NCj4+Pj4+
IE9uIDAxLzExLzIwMjIgMTU6MjgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+Pj4gVGhl
IGFjY291bnRpbmcgZm9yIHRoZSBudW1iZXIgb2Ygbm9kZXMgb2YgYSBkb21haW4gaW4gYW4g
YWN0aXZlDQo+Pj4+Pj4gdHJhbnNhY3Rpb24gaXMgbm90IHdvcmtpbmcgY29ycmVjdGx5LCBh
cyBpdCBhbGxvd3MgdG8gY3JlYXRlIGFyYml0cmFyeQ0KPj4+Pj4+IG51bWJlciBvZiBub2Rl
cy4gVGhlIHRyYW5zYWN0aW9uIHdpbGwgZmluYWxseSBmYWlsIGR1ZSB0byBleGNlZWRpbmcN
Cj4+Pj4+PiB0aGUgbnVtYmVyIG9mIG5vZGVzIHF1b3RhLCBidXQgYmVmb3JlIGNsb3Npbmcg
dGhlIHRyYW5zYWN0aW9uIGFuDQo+Pj4+Pj4gdW5wcml2aWxlZ2VkIGd1ZXN0IGNvdWxkIGNh
dXNlIFhlbnN0b3JlIHRvIHVzZSBhIGxvdCBvZiBtZW1vcnkuDQo+Pj4+Pg0KPj4+Pj4gSSBo
YXZlIGFscmVhZHkgbWFkZSBzb21lIG9mIGNvbW1lbnRzIG9uIHRoZSBzZWN1cml0eSBNTCB3
aGVuIHRoaXMgd2FzIA0KPj4+Pj4gaW5pdGlhbGx5IHNldC4gVGhlIGFyZ3VtZW50cyBzdGls
bCBkb24ndCBzb3VuZCByaWdodCB0byBtZS4NCj4+Pj4+DQo+Pj4+PiBGb3IgYSBmaXJzdCwg
c2luY2UgWFNBLTMyNiwgd2UgaGF2ZSBhIGNhcCBpbiBwbGFjZSBmb3IgdGhlIG1lbW9yeSBh
IGRvbWFpbiANCj4+Pj4+IGNhbiBjb25zdW1lLiBTbyB0aGlzIHN1cmVseSBjYW4ndCBiZSBh
ICJsb3Qgb2YgbWVtb3J5Ii4gT3RoZXJ3aXNlIHdlIGFyZSANCj4+Pj4+IHNheWluZyB0aGF0
IG91ciBsaW1pdCAodGhlcmUgYXJlIG90aGVyIHdheSB0byBoaXQgaXQpIHdlcmUgd3Jvbmcu
Li4NCj4+Pj4NCj4+Pj4gWWVhaCwgbWF5YmUgSSBzaG91bGQgcmV3b3JrIHRoZSBjb21taXQg
bWVzc2FnZS4NCj4+Pj4NCj4+Pj4gVGhlIHJlYXNvbiBJIHN0aWxsIHdhbnQgdG8ga2VlcCB0
aGUgcGF0Y2ggaXMgdGhhdCBpbiBhIHRyYW5zYWN0aW9uIHdpdGhvdXQgYW55DQo+Pj4+IGNv
bmZsaWN0cyBhbmQgd2l0aG91dCBoaXR0aW5nIGFueSB0cmFuc2FjdGlvbiBzcGVjaWZpYyBs
aW1pdHMgKG51bWJlciBvZiBub2Rlcw0KPj4+PiBhY2Nlc3NlZCksIHRoZSBlcnJvcnMgcmV0
dXJuZWQgZHVlIHRvIGEgc2luZ2xlIG9wZXJhdGlvbiBzaG91bGQgYmUgdGhlIHNhbWUgYXMN
Cj4+Pj4gd2l0aCB0aGUgc2FtZSBvcGVyYXRpb24gcGVyZm9ybWVkIG91dHNpZGUgYSB0cmFu
c2FjdGlvbi4NCj4+Pg0KPj4+IFRoaXMgc2VlbXMgdG8gYmUgYSB2ZXJ5IG5pY2hlIHVzZSBj
YXNlLiBTbyBpdCBpcyBub3QgY2xlYXIgdG8gbWUgd2h5IHRoaXMgDQo+Pj4gbWF0dGVyIGFu
ZCB3ZSB3YW50IHRvIGFkZCBleHRyYSBjaGVjayBmb3IgZXZlcnlvbmUuDQo+Pg0KPj4gSXQg
aXMgYSBtYXR0ZXIgb2YgY29ycmVjdG5lc3MuDQo+IA0KPiBJIHRoaW5rIHRoaXMgaXMgYSBt
YXR0ZXIgb2YgcGVyc3BlY3RpdmUuIFRyYW5zYWN0aW9ucyBhcmUgaW5oZXJlbnRseSByYWN5
IGFuZCBJIA0KPiBzZWUgbm8gcG9pbnQgb2YgdHJ5IHRvIHNvbHZlIGlzc3VlcyBpbiB0aGUg
aWRlYWxpc3RpYyBjYXNlIChpLmUuIG5vIGNvbmZsaWN0KS4NCj4gVGhlIHJlYXNvbmluZyBi
ZWxvdy4uLg0KPiANCj4+DQo+PiBBZGRpdGlvbmFsbHksIGFmdGVyIHRoZSBpbnRlcm5hbCBh
Y2NvdW50aW5nIHJld29yayB0aGlzIG1ha2VzIGV2ZW4gbW9yZQ0KPj4gc2Vuc2UsIGFzIHRo
ZSBtYXhpbXVtIHZhbHVlcyBwZXIgZG9tYWluIHNlZW4gYXJlIHJlYWxseSBjb3JyZWN0LCBl
dmVuIHdoZW4NCj4+IHF1ZXJpZWQgd2hpbGUgdHJhbnNhY3Rpb25zIGFyZSBhY3RpdmUuDQo+
IC4uLiBtaWdodCBiZSBhIGJldHRlciBqdXN0aWZpY2F0aW9uLiBCdXQgSSB3aWxsIG5lZWQg
dG8gcmV2aWV3IHRoZSBvdGhlciBwYXRjaCANCj4gaW4gb3JkZXIgdG8gZm9yZ2UgYSBtb3Jl
IHBvc2l0aXZlIG9waW5pb24uIENhbiB5b3UgcG9pbnQgbWUgdG8gdGhlIHBhdGNoPw0KDQpU
aGUgbWFpbiBjaGFuZ2VzIGFyZSBpbiBwYXRjaGVzIDItNCBvZiB0aGUgMm5kIHNlcmllcyBb
MV0uDQoNCg0KSnVlcmdlbg0KDQpbMV06IGh0dHBzOi8vbGlzdHMueGVuLm9yZy9hcmNoaXZl
cy9odG1sL3hlbi1kZXZlbC8yMDIyLTExL21zZzAwMDUwLmh0bWwNCg0K
--------------p4fttdr2m0WRa44KjmiyUMqY
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------p4fttdr2m0WRa44KjmiyUMqY--

--------------hFG2SiX4VZIOEtnSGNTETz51--

--------------Y0Y7BK3POLmH7ebxbfz0Vp1y
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOYL+UFAwAAAAAACgkQsN6d1ii/Ey+9
bQf9FMNyGnmhzVTIWhWkLjaNLuyVZ616lV0sU8b1sivESNeCFG0pkGYhFxHOAqnitKSmsQVnaNUq
v1r+ihef8Q5GoNgtx8o06eGUgAreYkvPRYyYpnLxWpoIFy1pyjlQmhWvmDYkzrAXiEnB73s8MCJt
qNL8X29bmgO/DlPsSevHOQrhewLVHM/2+3ddq+FN4ODEZx4IJJgbBNk95GjrSB+qWjs6yX1IVGvV
zJ3WbLfVTLMRbg9w0yhF4laI7HEpq7L1Bl3in/Sx7sFO2WFHHY+2Luo5qL0glekkbyV+enpAHtF2
g5gN3kySp8dB0DOiOrao3FodeV6M+yQuDSfeHm6MWw==
=CgMM
-----END PGP SIGNATURE-----

--------------Y0Y7BK3POLmH7ebxbfz0Vp1y--


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 07:57:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 07:57:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460254.718134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p50Ak-0002eD-06; Tue, 13 Dec 2022 07:57:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460254.718134; Tue, 13 Dec 2022 07:57:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p50Aj-0002e6-Tb; Tue, 13 Dec 2022 07:57:53 +0000
Received: by outflank-mailman (input) for mailman id 460254;
 Tue, 13 Dec 2022 07:57:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p50Aj-0002dy-74
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 07:57:53 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d51680da-7abb-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 08:57:47 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8BC5D225C9;
 Tue, 13 Dec 2022 07:57:51 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5F27A138F9;
 Tue, 13 Dec 2022 07:57:51 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 08ENFX8wmGMAEAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 07:57:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d51680da-7abb-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670918271; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=ard7t9tCMxeiqHzuwFCEnUKMs1vuUW4GI5BejTb1L+4=;
	b=KX/hUNHZ3xD+ZqO1xlqK/8vyUgZJG040VSaRa+OgxW3ktepI+QRfye9JFBQMg7RaDE9CYq
	q+y4ObUq2U3t3bMxCKgicjbDZkZnvNSQj5nFIXvh1kk4ZzX81982BaVkqcnzMsL5tTOh7H
	khUcK7rLzzkSRVCckkPFGBJ+RsxXD48=
Message-ID: <96e98cc3-71fd-13c5-ec0c-be9cdafc3678@suse.com>
Date: Tue, 13 Dec 2022 08:57:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 15/20] tools/xenstore: make domain_is_unprivileged() an
 inline function
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-16-jgross@suse.com>
 <872b4aae-34c1-be54-be58-6738ebd0537c@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <872b4aae-34c1-be54-be58-6738ebd0537c@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------CaOunXX43TRqOQHZCzlo9tyj"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------CaOunXX43TRqOQHZCzlo9tyj
Content-Type: multipart/mixed; boundary="------------7OtAgHqfvhic1AheCwLu19Je";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <96e98cc3-71fd-13c5-ec0c-be9cdafc3678@suse.com>
Subject: Re: [PATCH 15/20] tools/xenstore: make domain_is_unprivileged() an
 inline function
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-16-jgross@suse.com>
 <872b4aae-34c1-be54-be58-6738ebd0537c@xen.org>
In-Reply-To: <872b4aae-34c1-be54-be58-6738ebd0537c@xen.org>

--------------7OtAgHqfvhic1AheCwLu19Je
Content-Type: multipart/mixed; boundary="------------bFgEdx32n8ZENoNLjvk8Av7e"

--------------bFgEdx32n8ZENoNLjvk8Av7e
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDEuMTIuMjIgMjM6MDUsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDAxLzExLzIwMjIgMTU6MjgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBj
bGFuZyBpcyBjb21wbGFpbmluZyBhYm91dCBhIE5VTEwgZGVyZWZlcmVuY2UgZm9yIGNvbnN0
cnVjdHMgbGlrZToNCj4+DQo+PiDCoMKgIGRvbWFpbl9pc191bnByaXZpbGVnZWQoY29ubikg
PyBjb25uLT5pbiA6IE5VTEwNCj4gDQo+IEkgaGF2ZSBqdXN0IGJ1aWxkIHhlbnN0b3JlZCB3
aXRoIGNsYW5nIDExIGFuZCBkaWRuJ3QgZ2V0IGEgY29tcGxhaW4uIFNvIGNhbiB5b3UgDQo+
IHByb3ZpZGUgbW9yZSBkZXRhaWxzPw0KDQpJdCB3YXMgcmVwb3J0ZWQgYnkgRWR3aW4gZHVy
aW5nIGRldmVsb3BtZW50IG9mIHRoZSBYU0Egc2VyaWVzOg0KDQpPbiAxMS8wOC8yMDIyIDE5
OjAxLCBFZHdpbiBUb3JvayB3cm90ZToNCiA+IHhlbnN0b3JlZF93YXRjaC5jOjE1MjozOTog
d2FybmluZzogQWNjZXNzIHRvIGZpZWxkICdpbicgcmVzdWx0cyBpbiBhIA0KZGVyZWZlcmVu
Y2Ugb2YgYSBudWxsIHBvaW50ZXIgKGxvYWRlZCBmcm9tIHZhcmlhYmxlICdjb25uJykgW2Nv
cmUuTnVsbERlcmVmZXJlbmNlXQ0KID4gICAgICAgICAgcmVxID0gZG9tYWluX2lzX3VucHJp
dmlsZWdlZChjb25uKSA/IGNvbm4tPmluIDogTlVMTDsNCiA+ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fg0KID4gMSB3YXJuaW5nIGdl
bmVyYXRlZC4NCiA+DQogPiBjbGFuZyAxNCBzYXlzIHRoaXMgaXMgYSBOVUxMIGRlcmVmZXJl
bmNlIC4uLg0KDQpZb3UgZXZlbiByZXNwb25kZWQgdG8gdGhhdCByZXBvcnQsIEJUVy4NCg0K
DQpKdWVyZ2VuDQo=
--------------bFgEdx32n8ZENoNLjvk8Av7e
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------bFgEdx32n8ZENoNLjvk8Av7e--

--------------7OtAgHqfvhic1AheCwLu19Je--

--------------CaOunXX43TRqOQHZCzlo9tyj
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOYMH4FAwAAAAAACgkQsN6d1ii/Ey+i
Ewf+MIPKgg2Uv4UCBQWwd2JqIxgXL2SozH1oJQN+E0/x02jn/1/FnkUwAKTnhS3pRIeejKjjWcIS
ciEzJEsjtkYJ/z9HiM6Gx872iSvM3kuxdfqJJkBeCIYHekTIA6h0O8fH8IoQFO839jZuDJh5tukP
2Kopqp0nGrY0xajwSZoaQh7nNPW21irzVI0wUmZDwDgh/C/pXgSyAfKeu1wX3I4ZL00BTzxmOFHO
jByQZkkCshcasjSmy4ctzRbXncOZ9QIm4MHfvBPF29G3/zGwrSM/dLSu3nXU4aVFvaCbJy4oXGIr
MU27dKFjiiYMKI+M04YgsKTKE/rGFxJVU0NxoR+JEA==
=Srs4
-----END PGP SIGNATURE-----

--------------CaOunXX43TRqOQHZCzlo9tyj--


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 08:07:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 08:07:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460265.718146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p50KK-0004qs-7P; Tue, 13 Dec 2022 08:07:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460265.718146; Tue, 13 Dec 2022 08:07:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p50KK-0004ql-2t; Tue, 13 Dec 2022 08:07:48 +0000
Received: by outflank-mailman (input) for mailman id 460265;
 Tue, 13 Dec 2022 08:07:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p50KI-0004qd-Dz
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 08:07:46 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2045.outbound.protection.outlook.com [40.107.105.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 393bc1d5-7abd-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 09:07:45 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 13 Dec
 2022 08:07:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 08:07:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 393bc1d5-7abd-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L7W1VnZXjVU1AN9Lht9pO982QE1c3cBi4IjBw0an5L3iStLEcSFi64Dwwy/6OcZG/sYH7eL7gpAdVOlwLQsw02CtbwbTcl1+FoF/fXDzjvKeAy5qpuxIvqC2LFdeC7G99/79+/BW/oGrtt+61my9iZ1B2O2JH7fpRtv8qrPIJCaATB0rA5xvrkmEX6h1EHF9A+Fv+YCY9bGo0m0FMv8AqyIP4Obpd0syiQLGlOnqh+QzwdGpN7V77hW3eUF4fcWVNadmnji5Yrj7ujDZtq725MWaLNWEl4IpxkOveab9H84oeHtFWrpE1YyOJ1h03Wh0pi2+NR2Zv7qxENVg7vl6jg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2LmO4llM2TAx3cUmlwvYPFi4Vz76nFvmBmxk5BMFWRE=;
 b=TIEQpjZiZdr90II3k7iTYxrAP1/H3MpA0ZPviwRSCodAohvxMAJ85pjW2/RxFZE2HZIeI1+KLPES0FNhvAWgHGZ3taqcsHr5UNQh3m0qDgwgMnSx6qLTaRVn4wnFdMsOdR4YjJnK7vjSLaEfH5G/GLD+tKEWrO/HELUR5zZy26wCX1798ijUoEPNgIN2ch+59aVEgMgfWAlmNSDqR5EX6xQF9iGPPXgmPuAAMNrY/Hg7a3Kp1/gRhD/+928D5lEMYFbBtQGjmtPA09fKmXWH0poDcMNkrGzxy5P1q6e2m5keplTjxiyPuJ8aOx1QMEd3OAMg3MyOXh0pd3+G02t6Xg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2LmO4llM2TAx3cUmlwvYPFi4Vz76nFvmBmxk5BMFWRE=;
 b=kXRfcYoPyfMmhgSEYuC1DD5YWZfU0HCKc4UXPahVVtYsYltPqjdVS0ODd7B39yX6uv9/ovUnMmOFGkdoKiPyoBtJV2zAOto3aN2u5/cU3umBKjhYTYNB+27gz/ntlNM46jZfDNYcchB0CDUVOXzJvnMUtNe4AxaC3+Qsqo0N0N8nkymvcoN6X5Fd7QF/eRZ+gJ9HjZJc1bSCref3xdIVPXdRUWKIeDfP4kJxP8kurVoGWnXeIw/juKCdvx3CXEcLSviu/mWb8uUUqhvil16lcA/6xElHmW6s9qRJIxuPjGcYiB9MtSq2PmZh856dDyTZ3aEIFTSoP1BOgNZplixCuw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c791770a-bc53-c5b7-5d98-92655e957f63@suse.com>
Date: Tue, 13 Dec 2022 09:07:37 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [xen-unstable test] 175154: regressions - FAIL
Content-Language: en-US
To: Wei Chen <Wei.Chen@arm.com>
References: <osstest-175154-mainreport@xen.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <osstest-175154-mainreport@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0037.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8951:EE_
X-MS-Office365-Filtering-Correlation-Id: c7165ba2-16e6-4da6-122b-08dadce11a95
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5RaCs8/MthMJIz8cNLdb/c6hkjcOkV6rHQVeH20hQayxAkutEE81MMvD4/Q+0k3UpMWcgObKvJiWqOy57rO/FtqeoW9hWBJhh8z49PSkR0oJKo/NzWBVEqFQGQXlXGnZiYxcLiC7zYtCoD5rpORKun3yF/mj1/DQ2eGOvY2Pj2ffbF/v5FNYz8kll6A//5Dw+DvojP13kUkEKZ5ZuqjkEbbEF9XkIc10q5BR2E1KT9AilLv4dgqS2Suc4ODlfeGYhUZF6Dfj2AfgKNaEicR2cB2MkbyzgLDn1FC0EXJO4qHSOp7ZHIeDfdaB5HOv6WEZQ4h9VK8hg+9uizaJr00E/LCOo8bjtuGcBl7JqATEZVdjDSraSfeIAuBvRhOZn3bHoVMxJfyfjKciWqx4Qw+37YF+lT5MHyU1sNkYW22gQVOtALR8CZ6NxI2irGcDdJxbwDu6zMk9ds71OiPjvG4OBS1XKR8XaFOc5sBXzgiI6Kk0kIpk4u+fspuzmsYZZFIDEdoWJXbwUZmcPUANDuocOwGb5Mua3NY1zT/GgHkSb+nvSyOcNg3xNAcG7jYgAUS/I4CeAwv4IYKrQHvKh9QmPT7jOVTEpncw5xetGUnsJFN/fGB/a6C+GaOUZaP5L8ZwyoRLN+FzyRt+9DGiBksqf+olx/0uYyH0u800PJM/zRK4D6VAygrrXvFxOLkJnq0oW1mMu3fh4zyJ9rCcUqqh9Lypy3qraxMAWakjXD8fEWyIouIysDyJf2Gk3quqTW8HvcA7HqSzkJUCQ/6/3DjxWQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(376002)(136003)(39860400002)(366004)(396003)(451199015)(6512007)(86362001)(31696002)(36756003)(38100700002)(26005)(186003)(6916009)(31686004)(316002)(6486002)(478600001)(966005)(6666004)(6506007)(53546011)(5660300002)(83380400001)(8936002)(2906002)(4326008)(66946007)(66556008)(66476007)(2616005)(8676002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b3ZiMytnRjhiWStSRnlMRGMva3dIOFZpd3QyZzlNQ1plclNyOTNWWVdiakpm?=
 =?utf-8?B?cVpnZXBoMjlXUkFFZ2Z3SXJUMFI0dG5oc0g1T1FtVkN2ODFQaGpJeWQ5T2NC?=
 =?utf-8?B?M3NXdnU2MGcvNnpMZjdWU3BHaSs5UTZ2TG5rY0pOajZUZGxjMVlkU1E1ZWlT?=
 =?utf-8?B?TzY4K1FaOEhJZUpvRWRFeE1FbGZQdjVRVnZ4YlB3TzZmaUp1UisvdlUzMjE4?=
 =?utf-8?B?ZG5wbElHZHAxSzduOTVkTUVSclllMVU2RXZTazhISnhhNjNFYXlWRlduME40?=
 =?utf-8?B?bktNTWRiUVlKcDdHazFOa2NZaXVXZU9WbG8wTlJRRUhhVjh5NFVqNUkwL2JN?=
 =?utf-8?B?ZSswV2phbWp5bkxBTmhwNHJxd3N5QkgveFlwY2dSK1FrNXE5Z2hKZkw2M2VL?=
 =?utf-8?B?QWtML01hUnVNeXQwNTlRWCtZUFVVVFNucGNjdW8zeDJPVnRzWnlITU5aSTdV?=
 =?utf-8?B?K3hxVXRqTkxMelJmUnA5SzRhM1lWem5zUWhhQUluNTNvUUpxaFU5WWY4c2t5?=
 =?utf-8?B?bXJPYW54SE8wN3lhbWxRTkhTdnlhWVBmUktjVFI3MTlaQy9KbFBIZDB0dHhJ?=
 =?utf-8?B?a241aUQ0SGFoT0VTQWlyM3dQem82c0dLUUdPRFlieXBzMFh5LzdWUnRkb25v?=
 =?utf-8?B?dnZLeE5ZWGUvNlRTMFpkVDNMcGErdEZGSzc5dXkwc04wakh1eUJXMWZrbjc5?=
 =?utf-8?B?dHlCajdERnY5N3ZjT2R5L05TQ21xQUVlcEtrc1lkSmV2eVNYZEFVaWw1SExw?=
 =?utf-8?B?b21Fb0FScDBZSk1MYmVxeDhvV1BWcmxhWDRqbE90MXdlbDUwbnBUdk42c2dR?=
 =?utf-8?B?RVppZGZKU0hRbWdnY0ZuWlRxVzlvVEthRittUmxvdVViTDRuaXZqN3VoTjF6?=
 =?utf-8?B?M0kzTm5WcjZ2ZlhmbnpzVWQwUEVNZklRc2RBVEVid0VpTS8xRFY4RjRiOS9l?=
 =?utf-8?B?Sk5KZUltcWdiamZZRlEwSGx6WXNnMEZFTzkzZm1DQk9TS3BSbGtkV3Z3UzMw?=
 =?utf-8?B?U1ZSMnN0T0RuRFR2Vm1PMFJvT2xkbndDYjFpQUFuYjZveTM2aUN2bjM3Vysw?=
 =?utf-8?B?azRYQkt1NUgrQVJ6emtBdmkwdm8wOUwrNHg5dDI4aHpGWlIxdHdsVkRtWC9E?=
 =?utf-8?B?V3RzK0Y3V1FUSmhlRTNVQ3Q3azUyazlnTEVnQ2JyZVVrQXNyNjRoWHZFNmRP?=
 =?utf-8?B?aFhHek1DSnZZR3ZzL1JEMFp6a0ExMHJoeDVzL0dTekcxZXYwamF3NTBOdzNt?=
 =?utf-8?B?M3dzbHlSWnZ0L29UWmpIR0liTnpoN3JKeU5EUFlXOWE5VlZobzh0U2JnZjJC?=
 =?utf-8?B?MzR1TFVpTUFjMHYvMzRGY3hIT0IvZFNXNDlHKzQ2N2xRMFNWSUFKUi9vemRs?=
 =?utf-8?B?NHN1OG1PVlZaU2h2M1FoeDVCcVZVMEpYTmw3ZzZhWW5BejJCU0xsNWRyUFJl?=
 =?utf-8?B?NzB5b0xJaUxtNHZPVXhLOFgwREYvSFkzVFZIblFBQ0R6cEYwSmprQnE4ejIw?=
 =?utf-8?B?Q2FMc2h4Z0UvVGJHTEhYUEJsaHlpNWVrUU5kdnJtM0tmRitPYlNmcHV4SHZm?=
 =?utf-8?B?WHZlbjZWQkxiWXpUS2ZnRFJHbmZPQ1VrQmtER2x4ZVFMa1hxUS9Ybjh2Q1Uz?=
 =?utf-8?B?RlBuQ3YyeXpOaSt4S1NPdmZQYXlaclNnbWZ2Rkk2K1lOREIvcmp3US84b01T?=
 =?utf-8?B?bHdQQTdqNjdnTnFOaWRaRDRsME1mdzFodmZpQldrOWd2TEZJT201WXkyQnRR?=
 =?utf-8?B?blNTM1VESWNlaDlFUTBJZkFrL0JuQTViZkdSTm9FT09DQlg1Z25YZzcvQ1BL?=
 =?utf-8?B?WEdoRzZQU2xVYkRaUzNscldMYTZCRGh2TGdIbm9rR3VoZWZPYWorRVVabE9K?=
 =?utf-8?B?Q1dnYXVMalZyeEZtdEl0Tnd1ZEdWQ0FTZWsxZVBncS8rek01cTJRN3JpdWJ0?=
 =?utf-8?B?cndVa095bkM0bGxqK0lRRnRIUVlNZGdpVTB2bGlhUHcvMWNrbXg2MGFsWDl4?=
 =?utf-8?B?Q242czlncWhRamtTekg2b2w0ZDErL1pqMXBMY2VJcm1HaE9XeEwrdDY4UTlT?=
 =?utf-8?B?R0lCd0h6ZU9SVTNmTXNYYVdSWmhWME1FSWNZMkFkUkdZOVpoVzJFNHQxbitL?=
 =?utf-8?Q?WkZ0naXIRIMZQ5ZvsrQwCgkVd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c7165ba2-16e6-4da6-122b-08dadce11a95
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 08:07:39.9638
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7wnMAA3p6D/X7n8yK7U9vgm7iWQT+e4ReN9OjIuU12rp9u4mF+IjYNVf5u43si5kv+CDUJvYbF4Cv1F+WWoUgA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8951

On 13.12.2022 02:11, osstest service owner wrote:
> flight 175154 xen-unstable real [real]
> http://logs.test-lab.xenproject.org/osstest/logs/175154/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  test-amd64-i386-livepatch     8 xen-boot                 fail REGR. vs. 175144
>  test-xtf-amd64-amd64-4        8 xen-boot                 fail REGR. vs. 175148
>  test-xtf-amd64-amd64-2        8 xen-boot                 fail REGR. vs. 175148
>  test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 175148
>  test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
>  test-amd64-i386-xl-qemut-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 175148
>  test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 175148
>  test-amd64-i386-pair         12 xen-boot/src_host        fail REGR. vs. 175148
>  test-amd64-i386-pair         13 xen-boot/dst_host        fail REGR. vs. 175148
>  test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 175148
>  test-xtf-amd64-amd64-5        8 xen-boot                 fail REGR. vs. 175148
>  test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 175148
>  test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 175148
>  test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 175148
>  test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 175148

Looking at a random one of these failures I find

(XEN) Assertion 'nid < MAX_NUMNODES && node_data[nid].node_spanned_pages' failed at ./include/xen/numa.h:76

which makes me wonder whether the NUMA generalization work was actually
tested on a variety of x86 hardware. If a swift fix won't turn up,
we'll need to figure out how much of your series needs reverting.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 08:30:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 08:30:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460277.718156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p50gK-0008Q3-6h; Tue, 13 Dec 2022 08:30:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460277.718156; Tue, 13 Dec 2022 08:30:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p50gK-0008Pw-45; Tue, 13 Dec 2022 08:30:32 +0000
Received: by outflank-mailman (input) for mailman id 460277;
 Tue, 13 Dec 2022 08:30:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p50gJ-0008Pm-PT; Tue, 13 Dec 2022 08:30:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p50gJ-0001Ao-Mx; Tue, 13 Dec 2022 08:30:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p50gJ-0004Hj-6m; Tue, 13 Dec 2022 08:30:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p50gJ-0005tf-6K; Tue, 13 Dec 2022 08:30:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KQmPG4jnRujjaCGeV921WK2081oTRysfgng7aDqdbc0=; b=AITJu/eobGKDnYMeUAwujCcTlA
	9PjdopuYEXFHFxScpsf/126+7qNoaIhww8ieeAWCs5XGQuhEqHXmYUtCCTwt/F9Q0pXfYwRqOoFs0
	6lBWnnlfsFTMiHBwsCjpjR/MtIPSl8c32FE2oV2f/6mZoI25RPmYPFxPtMlSW8t4k0/A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175157-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175157: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=40deb5e41ac783d49371940581db2ae108a754d1
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 13 Dec 2022 08:30:31 +0000

flight 175157 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175157/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                40deb5e41ac783d49371940581db2ae108a754d1
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   66 days
Failing since        173470  2022-10-08 06:21:34 Z   66 days  133 attempts
Testing same since   175157  2022-12-12 23:42:03 Z    0 days    1 attempts

------------------------------------------------------------
2212 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 236910 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 09:11:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 09:11:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460294.718174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51Jq-00050F-Es; Tue, 13 Dec 2022 09:11:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460294.718174; Tue, 13 Dec 2022 09:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51Jq-000508-B3; Tue, 13 Dec 2022 09:11:22 +0000
Received: by outflank-mailman (input) for mailman id 460294;
 Tue, 13 Dec 2022 09:11:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nvb8=4L=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p51Jo-000502-Ra
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 09:11:21 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2051.outbound.protection.outlook.com [40.107.93.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 19ccac8c-7ac6-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 10:11:18 +0100 (CET)
Received: from BN9PR03CA0284.namprd03.prod.outlook.com (2603:10b6:408:f5::19)
 by CH2PR12MB4168.namprd12.prod.outlook.com (2603:10b6:610:a8::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 09:11:11 +0000
Received: from BL02EPF00010208.namprd05.prod.outlook.com
 (2603:10b6:408:f5:cafe::cf) by BN9PR03CA0284.outlook.office365.com
 (2603:10b6:408:f5::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19 via Frontend
 Transport; Tue, 13 Dec 2022 09:11:11 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF00010208.mail.protection.outlook.com (10.167.241.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.8 via Frontend Transport; Tue, 13 Dec 2022 09:11:10 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 03:11:09 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 13 Dec 2022 03:11:07 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19ccac8c-7ac6-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VQIIxcE43ZfTaWiEUyCmdvhCSDZZL2+Bu5zwKyrGHFxO80wLwZotBGWqsurs71QivnCd5DLOWDZPYV2eetnQX5WFwTZZ11ZvqnOIJg5O9OhW14EBuRoJ6MoyIT6kZ3yDKGJoBpbWI4XkFSrK7k5m2aPNw62XZGTl7qWXQ79Z3GzYN4GFHFt+AXC6TKSs5N463kPvnd9+7bchUnDTmvy2X+ZR6ZyP42/bwoCFnRP1QfrzRaYqcrF85KPlmZHny6Jcg6yGT0gZgHD5Wjplvt6EPdhDGdbjAPyIACErfvJCCBK14rOXva70e7gp4cPUyu2i7VJaKEyQkO3Qss6KGrWI6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s0d+gSCbqUoMQdzRZw4S6A2uuAnzfg6ukRDb6/wWMlA=;
 b=mjnxVBw9O8Ag3a6S2aj2dKt9y3VnijcNwJFYMHCO13KcmXBavvyF876iAyAg13OXCIX/nM+ZMhrJZQub98dfGCBb/oJ+2bX5axm5CX3HNrQlxC6e6hIYBqTjUbyqkpAiUQfxLaT6oNotFUk1Uc3Wc+G7AHTptbjo52DVeQ5zrOxmLkMp19u9V7p61zXGK3ui3abV4LBeT68UE+wlI0TuhngtQK74r3PDwkI+GfwtP/HpGcq54Y5aSilSzXGunxgxA5ICJmFjHahjXmMk0jBXU/bORoem7PWBJhlGDQityKbuWEac6J4zFteSrH0iLvCXhekDeiQf/a9apDJExRfGNg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s0d+gSCbqUoMQdzRZw4S6A2uuAnzfg6ukRDb6/wWMlA=;
 b=jmcPRHg/9WBNXGIQrg9kYz4ttZbhZ5HVKhV3bLxvffOn4w6J6wkil787GGhhVHV0ZFP/uG2pEANSOAeKchuJE1Rgier81Zm7LzGEmsk+sMvNJB7grE0/lK9rwt/Qslj9zFzSPkQtTZbm0QY+xtU5xUQ5yOCJhsluQoe9/ts5J2s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <650bc040-63a9-8950-e2ff-6829c9a452a8@amd.com>
Date: Tue, 13 Dec 2022 10:11:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 01/18] xen/arm64: flushtlb: Reduce scope of barrier for
 local TLB flush
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: <Luca.Fancellu@arm.com>, Julien Grall <jgrall@amazon.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-2-julien@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20221212095523.52683-2-julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF00010208:EE_|CH2PR12MB4168:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ef34891-280c-495e-6c89-08dadce9f9fc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mRBHX9onAn0ATwDLboQfRcid/IpJDumN7rbynFFrlcxnmolm1pavslZPRwcLstWJwJorkGQ1+AZ5RKJt8sLB+aI76d+lysRWtk4i/77Hx9cWboLNGA/bmami9Ti14+iM6gdioryJ18Phyvi+xPSIdzEJP8nctLFXKLuzqhqVI6J8XEAxvWolY23a7q7a1UQLFBCigH/hWNyKkRZPOdBdnd42aMfuoE4S4HMgNYlZCPTJ+FCADvnvvX3EPT1i6pZRQfUTuU9JwOM/FbeQ3z7IHVfL+RaMx04n025ySSbKeWa4g8C4qW4266xNlIO0UIBv4B2bD4NIvllnksLgp+VOC/2FK8o8voPcdbq0XG7gwkI07/1wykKtlF+fT2FovV6enVYbdhuew0ykzg9fRyCanqddMvsYgHYXJcMm1RxL83zHBYGE+b2xiA1TKBlzQlLybzZxkEpPnOp7rThGu9lyyruegjKyIeA7M9PuOy/OTHqlvDTVW/g/b8O4h2J10zFjyGMOeS88OKfpDlRfuQQli+riB/sOJ8YZdZBi2P80CnFBs4mNtk1lF6wt43P8vgWf1/kEWNGE/pHQLzIaXxfA8rU5HkMfOKGPLM1gHSxvEFHzIJR0N9U1Shr+dQjbw5prYJVWsDLc5UZRpE51GGjAVo3Wor5lF7CjZxqrMbWN1kxXotVnFgxW9h3AZakkHweQTQLeOgGUUAGr7G/rWpYPH+YLVp/JzpWShgrwjgIj7Bszs9Zq11jQ7EVbes9ra7/h5D7p3udvjkgwt51COrgNiXxTSLuUkYMtXWcpq4P25H0=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(346002)(39860400002)(136003)(451199015)(46966006)(40470700004)(36840700001)(82310400005)(110136005)(41300700001)(70586007)(336012)(8676002)(70206006)(4326008)(31696002)(16576012)(5660300002)(54906003)(8936002)(36860700001)(316002)(36756003)(26005)(47076005)(82740400003)(356005)(81166007)(40480700001)(53546011)(478600001)(186003)(426003)(2616005)(40460700003)(86362001)(83380400001)(44832011)(2906002)(31686004)(36900700001)(43740500002)(473944003);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 09:11:10.5438
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ef34891-280c-495e-6c89-08dadce9f9fc
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF00010208.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4168

Hi Julien,

On 12/12/2022 10:55, Julien Grall wrote:
> 
> 
> From: Julien Grall <jgrall@amazon.com>
> 
> Per D5-4929 in ARM DDI 0487H.a:
> "A DSB NSH is sufficient to ensure completion of TLB maintenance
>  instructions that apply to a single PE. A DSB ISH is sufficient to
>  ensure completion of TLB maintenance instructions that apply to PEs
>  in the same Inner Shareable domain.
> "
> 
> This means barrier after local TLB flushes could be reduced to
> non-shareable.
> 
> Note that the scope of the barrier in the workaround has not been
> changed because Linux v6.1-rc8 is also using 'ish' and I couldn't
> find anything in the Neoverse N1 suggesting that a 'nsh' would
> be sufficient.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> ---
> 
>     I have used an older version of the Arm Arm because the explanation
>     in the latest (ARM DDI 0487I.a) is less obvious. I reckon the paragraph
>     about DSB in D8.13.8 is missing the shareability. But this is implied
>     in B2.3.11:
> 
>     "If the required access types of the DSB is reads and writes, the
>      following instructions issued by PEe before the DSB are complete for
>      the required shareability domain:
> 
>      [...]
> 
>      — All TLB maintenance instructions.
>     "
> 
>     Changes in v3:
>         - Patch added
> ---
>  xen/arch/arm/include/asm/arm64/flushtlb.h | 27 ++++++++++++++---------
>  1 file changed, 16 insertions(+), 11 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/arm64/flushtlb.h b/xen/arch/arm/include/asm/arm64/flushtlb.h
> index 7c5431518741..39d429ace552 100644
> --- a/xen/arch/arm/include/asm/arm64/flushtlb.h
> +++ b/xen/arch/arm/include/asm/arm64/flushtlb.h
> @@ -12,8 +12,9 @@
>   * ARM64_WORKAROUND_REPEAT_TLBI:
Before this line, in the same comment, we state DSB ISHST. This should also be changed
to reflect the change done by this patch.

>   * Modification of the translation table for a virtual address might lead to
>   * read-after-read ordering violation.
> - * The workaround repeats TLBI+DSB operation for all the TLB flush operations.
> - * While this is stricly not necessary, we don't want to take any risk.
> + * The workaround repeats TLBI+DSB ISH operation for all the TLB flush
> + * operations. While this is stricly not necessary, we don't want to
s/stricly/strictly/

> + * take any risk.
>   *
>   * For Xen page-tables the ISB will discard any instructions fetched
>   * from the old mappings.
> @@ -21,38 +22,42 @@
>   * For the Stage-2 page-tables the ISB ensures the completion of the DSB
>   * (and therefore the TLB invalidation) before continuing. So we know
>   * the TLBs cannot contain an entry for a mapping we may have removed.
> + *
> + * Note that for local TLB flush, using non-shareable (nsh) is sufficient
> + * (see D5-4929 in ARM DDI 0487H.a). Althougth, the memory barrier in
s/Althougth/Although/

> + * for the workaround is left as inner-shareable to match with Linux.
So for the workaround we stay with DSB ISH. But ...

>   */
> -#define TLB_HELPER(name, tlbop)                  \
> +#define TLB_HELPER(name, tlbop, sh)              \
>  static inline void name(void)                    \
>  {                                                \
>      asm volatile(                                \
> -        "dsb  ishst;"                            \
> +        "dsb  "  # sh  "st;"                     \
>          "tlbi "  # tlbop  ";"                    \
>          ALTERNATIVE(                             \
>              "nop; nop;",                         \
> -            "dsb  ish;"                          \
> +            "dsb  "  # sh  ";"                   \
... you do not adhere to this.

>              "tlbi "  # tlbop  ";",               \
>              ARM64_WORKAROUND_REPEAT_TLBI,        \
>              CONFIG_ARM64_WORKAROUND_REPEAT_TLBI) \
> -        "dsb  ish;"                              \
> +        "dsb  "  # sh  ";"                       \
>          "isb;"                                   \
>          : : : "memory");                         \
>  }
> 
>  /* Flush local TLBs, current VMID only. */
> -TLB_HELPER(flush_guest_tlb_local, vmalls12e1);
> +TLB_HELPER(flush_guest_tlb_local, vmalls12e1, nsh);
> 
>  /* Flush innershareable TLBs, current VMID only */
> -TLB_HELPER(flush_guest_tlb, vmalls12e1is);
> +TLB_HELPER(flush_guest_tlb, vmalls12e1is, ish);
> 
>  /* Flush local TLBs, all VMIDs, non-hypervisor mode */
> -TLB_HELPER(flush_all_guests_tlb_local, alle1);
> +TLB_HELPER(flush_all_guests_tlb_local, alle1, nsh);
> 
>  /* Flush innershareable TLBs, all VMIDs, non-hypervisor mode */
> -TLB_HELPER(flush_all_guests_tlb, alle1is);
> +TLB_HELPER(flush_all_guests_tlb, alle1is, ish);
> 
>  /* Flush all hypervisor mappings from the TLB of the local processor. */
> -TLB_HELPER(flush_xen_tlb_local, alle2);
> +TLB_HELPER(flush_xen_tlb_local, alle2, nsh);
> 
>  /* Flush TLB of local processor for address va. */
>  static inline void  __flush_xen_tlb_one_local(vaddr_t va)
> --
> 2.38.1
> 

With the remarks fixed:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 09:11:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 09:11:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460299.718185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51KN-0005V2-Mg; Tue, 13 Dec 2022 09:11:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460299.718185; Tue, 13 Dec 2022 09:11:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51KN-0005Uv-Jw; Tue, 13 Dec 2022 09:11:55 +0000
Received: by outflank-mailman (input) for mailman id 460299;
 Tue, 13 Dec 2022 09:11:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p51KM-0005Ui-8n; Tue, 13 Dec 2022 09:11:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p51KM-00024T-6N; Tue, 13 Dec 2022 09:11:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p51KL-0005Ly-Mz; Tue, 13 Dec 2022 09:11:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p51KL-00021C-MX; Tue, 13 Dec 2022 09:11:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0fmHbSBpgR4V20nGVEN9107vEL6AT5SHo81OqVuQt/s=; b=gQzwRG/4rKYBMW2u1imEwNzkWl
	FOn3TzemMz+lbhtNw7u19mU+Esb/YAUDfeZrjPaB39Hnd7a61yN+8HY181Lo4wPfkitD3gbPp+1lJ
	/ajbWQPTJZHfLs4jTxBlEiqoraqFaW4qLyPL76fDJgIYm+PGQaMgcHjU+nCSJm9ahPqY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175159-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175159: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-amd64-coresched-amd64-xl:<job status>:broken:regression
    xen-unstable:test-amd64-i386-livepatch:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-4:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-5:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-examine-uefi:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine:reboot:fail:regression
    xen-unstable:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    xen-unstable:test-amd64-coresched-amd64-xl:host-install(5):broken:heisenbug
    xen-unstable:test-arm64-arm64-xl-thunderx:xen-boot:fail:heisenbug
    xen-unstable:test-arm64-arm64-xl-seattle:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-pygrub:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=96993519424c3fef49fd00d80a271d986767a3cd
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 13 Dec 2022 09:11:53 +0000

flight 175159 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175159/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl    <job status>                 broken
 test-amd64-i386-livepatch     8 xen-boot                 fail REGR. vs. 175144
 test-xtf-amd64-amd64-4        8 xen-boot                 fail REGR. vs. 175148
 test-xtf-amd64-amd64-2        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 175148
 test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-pair         12 xen-boot/src_host        fail REGR. vs. 175148
 test-amd64-i386-pair         13 xen-boot/dst_host        fail REGR. vs. 175148
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 175148
 test-xtf-amd64-amd64-5        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 175148
 test-amd64-coresched-amd64-xl  8 xen-boot      fail in 175154 REGR. vs. 175148

Tests which are failing intermittently (not blocking):
 test-amd64-coresched-amd64-xl  5 host-install(5)         broken pass in 175154
 test-arm64-arm64-xl-thunderx  8 xen-boot         fail in 175154 pass in 175159
 test-arm64-arm64-xl-seattle   8 xen-boot         fail in 175154 pass in 175159
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot              fail pass in 175154
 test-amd64-amd64-pygrub       8 xen-boot                   fail pass in 175154
 test-amd64-i386-qemut-rhel6hvm-amd  8 xen-boot             fail pass in 175154
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail pass in 175154
 test-amd64-amd64-qemuu-freebsd11-amd64  8 xen-boot         fail pass in 175154

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175148
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175148
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175148
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175148
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175148
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175148
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175148
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  96993519424c3fef49fd00d80a271d986767a3cd
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175148  2022-12-12 01:53:19 Z    1 days
Testing same since   175154  2022-12-12 15:07:03 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       fail    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       fail    
 test-xtf-amd64-amd64-5                                       fail    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                broken  
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-coresched-amd64-xl broken
broken-step test-amd64-coresched-amd64-xl host-install(5)

Not pushing.

------------------------------------------------------------
commit 96993519424c3fef49fd00d80a271d986767a3cd
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Mon Dec 12 12:29:09 2022 +0100

    docs: do not install .deps files
    
    It isn't really part of the documentation. Furthermore, entries there
    are in not determined order, which breaks build reproducibility.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit b08600e2d6b58eca29d72f6cb6672a5cba5baed4
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 12 12:27:30 2022 +0100

    x86/tboot: actually wipe contexts
    
    Especially with our use of __builtin_memset() to implement memset() the
    compiler is free to eliminate instances when it can prove that the
    affected object is dead. Introduce a small helper function accompanying
    the memset() with a construct forcing the compiler to retain the
    clearing of (stack) memory.
    
    Fixes: c021c95498d9 ("x86: Replace our own specialised versions of memset and memcpy with")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 8301856bd956558161aa0c71623c85403ebdca35
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 12 12:21:01 2022 +0100

    x86/tboot: correct IOMMU (VT-d) interaction
    
    First of all using is_idle_domain() on the subject domain in the body of
    for_each_domain() is pointless. Replace that conditional by one checking
    that a domain actually has IOMMU support enabled for it, and that we're
    actually on a VT-d system (both are largely cosmetic / documentary with
    how things work elsewhere, but still).
    
    Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 4384d96c1cedfa4e388401be3a19ff50f8dce54b
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 12 12:19:20 2022 +0100

    x86/mm: PGC_shadowed_pt is used by shadow code only
    
    By defining the constant to zero when !SHADOW_PAGING we give compilers
    the chance to eliminate a little more dead code elsewhere in the tree.
    Plus, as a minor benefit, the general reference count can be one bit
    wider. (To simplify things, have PGC_shadowed_pt change places with
    PGC_extra.)
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit c44c0dc35889848ee27549ac3455314e236cfc3d
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 12 12:18:41 2022 +0100

    x86/mm: rename PGC_page_table to PGC_shadowed_pt
    
    The original name didn't express the purpose of the flag: It is being
    set once a page table page obtains a shadow, and it is removed when the
    last shadow of a page was destroyed.
    
    In set_tlbflush_timestamp() also remove the 2nd half of the condition as
    being redundant (PGC_shadowed_pt can't be set on a page without shadow
    mode being enabled on the owning domain).
    
    Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit f00ad745cfa774a269b28e88951b56b7001d4fe0
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 12 12:17:07 2022 +0100

    x86/tboot: drop failed attempt to hash shadow page tables
    
    While plausible to do what was intended based on the name of the flag
    (PGC_page_table), that name was misleading and is going to be changed.
    It marks page tables pages _having_ a shadow, not shadows of page table
    pages. The attempt also didn't cover the HAP case at all, and it
    constituted a potentially very long loop doing nothing when
    !SHADOW_PAGING. Instead leave a comment of what actually wants doing
    there (which then also may need to account for e.g. the risk of A/D bits
    becoming set behind our backs).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

commit c243c0bb2a77e1328842436ca654f808701161c6
Author: Wei Chen <wei.chen@arm.com>
Date:   Mon Dec 12 12:15:28 2022 +0100

    xen: introduce a Kconfig option to configure NUMA nodes number
    
    Currently the maximum number of NUMA nodes is a hardcoded value.
    This provides little flexibility unless changing the code.
    
    Introduce a new Kconfig option to change the maximum number of
    NUMA nodes conveniently. Also considering that not all
    architectures support NUMA, this Kconfig option is only visible
    on NUMA enabled architectures. Architectures not supporting NUMA
    still use 1 for MAX_NUMNODES.
    
    As NODES_SHIFT is currently unused, we're taking this
    opportunity to remove it.
    
    Signed-off-by: Wei Chen <wei.chen@arm.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit d46b1f5c29400a25bfc2492a649225a7915b04b2
Author: Wei Chen <wei.chen@arm.com>
Date:   Mon Dec 12 12:14:53 2022 +0100

    xen/x86: move NUMA process nodes nodes code from x86 to common
    
    x86 has implemented a set of codes to process NUMA nodes. These
    codes will parse NUMA memory and processor information from
    ACPI SRAT table. But except some ACPI specific codes, most
    of the process code like memory blocks validation, node memory
    range updates and some sanity check can be reused by other
    NUMA implementation.
    
    So in this patch, we move some variables and related functions
    for NUMA memory and processor to common as library. At the
    same time, numa_set_processor_nodes_parsed has been introduced
    for ACPI specific code to update processor parsing results.
    With this helper, we can reuse most of NUMA memory affinity init
    code from ACPI. As bad_srat and node_to_pxm functions have been
    used in common code to do architectural fallback and node to
    architectural node info translation. But it doesn't make sense
    to reuse the functions names in common code, we have rename them
    to neutral names as well.
    
    PXM is an ACPI specific item, we can't use it in common code
    directly. So we introduced an numa_fw_nid_name for each NUMA
    implementation to set their specific firmware NUMA node name.
    In this case, we do not need to retain a lot of per-arch code
    but still can print architectural log messages for different
    NUMA implementations. A default value "???" will be set to
    indicate an unset numa_fw_nid_name.
    
    mem_hotplug is accessed by common code if memory hotplug is
    activated. Even if this is only supported by x86, export the
    variable so that other architectures could support it in the future.
    
    As asm/acpi.h has been removed from common/numa.c, we have to
    move NR_NODE_MEMBLKS from asm/acpi.h to xen/numa.h in this patch
    as well.
    
    Signed-off-by: Wei Chen <wei.chen@arm.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit cfee463c112b8ac261f6ca1d32e4c70e4821ba7a
Author: Wei Chen <wei.chen@arm.com>
Date:   Mon Dec 12 12:14:13 2022 +0100

    xen/x86: use arch_get_ram_range to get information from E820 map
    
    The sanity check of nodes_cover_memory is also a requirement of
    other architectures that support NUMA. But now, the code of
    nodes_cover_memory is tied to the x86 E820. In this case, we
    introduce arch_get_ram_range to decouple architecture specific
    memory map from this function. This means, other architectures
    like Arm can also use it to check its node and memory coverage
    from bootmem info.
    
    Depends arch_get_ram_range, we make nodes_cover_memory become
    architecture independent. We also use neutral words to replace
    SRAT and E820 in the print message of this function. This will
    to make the massage seems more common.
    
    As arch_get_ram_range use unsigned int for index, we also adjust
    the index in nodes_cover_memory from int to unsigned int.
    
    Signed-off-by: Wei Chen <wei.chen@arm.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
Author: Wei Chen <wei.chen@arm.com>
Date:   Mon Dec 12 12:13:26 2022 +0100

    xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
    
    VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
    results in two lines of error-checking code in phys_to_nid
    that is not actually working and causing two compilation
    errors:
    1. error: "MAX_NUMNODES" undeclared (first use in this function).
       This is because in the common header file, "MAX_NUMNODES" is
       defined after the common header file includes the ARCH header
       file, where phys_to_nid has attempted to use "MAX_NUMNODES".
       This error was resolved after we moved the phys_to_nid from
       x86 ARCH header file to common header file.
    2. error: wrong type argument to unary exclamation mark.
       This is because, the error-checking code contains !node_data[nid].
       But node_data is a data structure variable, it's not a pointer.
    
    So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
    enable the two lines of error-checking code. And fix the left
    compilation errors by replacing !node_data[nid] to
    !node_data[nid].node_spanned_pages. Although NUMA allows one node
    can only have CPUs but without any memory. And node with 0 bytes
    of memory might have an entry in memnodemap[] theoretically. But
    that doesn't mean phys_to_nid can find any valid address from a
    node with 0 bytes memory.
    
    Signed-off-by: Wei Chen <wei.chen@arm.com>
    Tested-by: Jiamei Xie <jiamei.xie@arm.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit eac84d9d579011f311d502317b74dc56e788463d
Author: Wei Chen <wei.chen@arm.com>
Date:   Mon Dec 12 12:11:55 2022 +0100

    xen/x86: move generically usable NUMA code from x86 to common
    
    There are some codes in x86/numa.c can be shared by common
    architectures to implememnt NUMA support. Just like some
    variables and functions to check and store NUMA memory map.
    And some variables and functions to do NUMA initialization.
    
    In this patch, we move them to common/numa.c and xen/numa.h
    and use the CONFIG_NUMA to gate them for non-NUMA supported
    architectures. As the target header file is Xen-style, so
    we trim some spaces and replace tabs for the codes that has
    been moved to xen/numa.h at the same time.
    
    As acpi_scan_nodes has been used in a common function, it
    doesn't make sense to use acpi_xxx in common code, so we
    rename it to numa_process_nodes in this patch too. After that
    if we still use CONFIG_ACPI_NUMA in to gate numa_process_nodes
    in numa_initmem_init, that doesn't make sense. As CONFIG_NUMA
    will be selected by CONFIG_ACPI_NUMA for x86. So, we replace
    CONFIG_ACPI_NUMA by CONFIG_NUMA to gate numa_process_nodes.
    
    As arch_numa_disabled has been implememnted for ACPI NUMA,
    we can rename srat_disabled to numa_disabled and move it
    to common code as well.
    
    The macro node_to_first_cpu(node) hasn't been used anywhere,
    so we drop it in this patch too.
    
    Because some architectures allow to use all 64 physical address
    bits, but some architectures are not (like Arm64 allows 52, 48
    bits). In this case, we use min(PADDR_BITS, BITS_PER_LONG - 1)
    to calculate the shift when only one node is in the system in
    this patch too.
    
    Signed-off-by: Wei Chen <wei.chen@arm.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 9bbfd7b14c4ad3774d88fe6430ab8726720633ec
Author: Wei Chen <wei.chen@arm.com>
Date:   Mon Dec 12 12:10:18 2022 +0100

    xen/x86: Provide helpers for common code to access acpi_numa
    
    acpi_numa is a specific NUMA switch for ACPI NUMA implementation.
    Other NUMA implementation may not need this switch. But this switch is
    not only used by ACPI code, it is also used directly in some general
    NUMA logic code. So far this hasn't caused any problem because Xen only
    has x86 implementing ACPI NUMA, but now Arm is implementing device tree
    based NUMA. Accesssing acpi_numa directly in some functions will be a
    block of reusing NUMA common code. It is also difficult for us to replace
    it with a new generic switch, because it is hard to prove that the new
    switch states can guarantee the original code will work correctly.
    
    So in this patch, we provide two helpers for common code to update and
    get states of acpi_numa. And other new NUMA implementations just need
    to provide the same helpers for common code. In this case, the generic
    NUMA logic code can be reused by all NUMA implementations.
    
    Signed-off-by: Wei Chen <wei.chen@arm.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 09:23:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 09:23:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460316.718195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51Va-0007Mq-Rk; Tue, 13 Dec 2022 09:23:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460316.718195; Tue, 13 Dec 2022 09:23:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51Va-0007Mj-PB; Tue, 13 Dec 2022 09:23:30 +0000
Received: by outflank-mailman (input) for mailman id 460316;
 Tue, 13 Dec 2022 09:23:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nvb8=4L=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p51VZ-0007Md-GV
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 09:23:29 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2069.outbound.protection.outlook.com [40.107.92.69])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8a5d295-7ac7-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 10:23:21 +0100 (CET)
Received: from DS7PR05CA0054.namprd05.prod.outlook.com (2603:10b6:8:2f::28) by
 MN0PR12MB5906.namprd12.prod.outlook.com (2603:10b6:208:37a::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 09:23:25 +0000
Received: from DS1PEPF0000E653.namprd02.prod.outlook.com
 (2603:10b6:8:2f:cafe::38) by DS7PR05CA0054.outlook.office365.com
 (2603:10b6:8:2f::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.6 via Frontend
 Transport; Tue, 13 Dec 2022 09:23:24 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000E653.mail.protection.outlook.com (10.167.18.9) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.7 via Frontend Transport; Tue, 13 Dec 2022 09:23:24 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 03:23:23 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 13 Dec 2022 03:23:22 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8a5d295-7ac7-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WzBnqb7XrD/Qf6MKIjJ7PgMYaOklaLIMOgUMXsiKKhMKzmpVMg9yJH4nudZApuCNHKjKIxkGf2vyrO4yQJNKGry4cJjSudqbkPNS1vtn6yzIzXurhBqQ+ZuqPBbWgIhw244LIAA2TFWiI7omNzL8MmvoPFZWhWn9ZrD+fsG7SoibkU5gh1SbxSpSwZ2cP6GOKkmh/sI5nVabgZe4tBlRSf/J9IKLaK0gnUDRKMB/VK5XEBdvLuDP1r59FssPmTYbIO1ybXS1Y7bdgr5EUdH4NyBo6Wk5CrU7XYJnq6TXgfTj/0V6n9t5FaIOfWDyFQIbTaUCQ2VYSefCHWftBhJ3gQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G8Ok8/F4ZfkpY+SoWaLL0+xyQKIus7BpNIU7NP/+sP8=;
 b=nm7oTkYsouF+akGwlPVg8QFZOh5+Eb0Ut/Jz2pFrijoJdfAdkWSsh6P8AdRemV3k5UnshN6uZ8jN0lKZ4sZpO55sluTnE20Mr4lsqfxXS56i9VOpJUh71GD/gr45420Z/ymLOnH3xT7XVIbmhPAqP9H+ylmbQjTXRwiYaRTTTHK/y3lYdt4efssJdEcUk7Xzg49m0nFh85uO72buIXjG4RHtJ0l/OOjpiFOW2UQlYlOXgIo0Kq1PSEd65/dT/YFCAE5VPzRHlIJINHiVWMRlhAReOANesPZOG4rtdOGU3vjShtbsdlTlfz0fOHZ0vpVBM+Pgd61EkoCv35Zl0iVnDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G8Ok8/F4ZfkpY+SoWaLL0+xyQKIus7BpNIU7NP/+sP8=;
 b=VqzC0uwq1ORKVvvw61dwBO/Y1f/J42GqOrhmWA7gAWeRKT6S9jGvytVQe7BuIBkyAbAOUte5YciwE6+NSgAgvO++K/+N/RiEzFilq0btwgfK0PHLHzypsI9UIlLJB6uLK/G94SUeIeZRVw/t+bkJfcBD7N08vOU/JtyQXbOLGwY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <1ce91eb8-a445-11f1-9dda-59983eb5d3ed@amd.com>
Date: Tue, 13 Dec 2022 10:23:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 02/18] xen/arm64: flushtlb: Implement the TLBI repeat
 workaround for TLB flush by VA
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: <Luca.Fancellu@arm.com>, Julien Grall <jgrall@amazon.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-3-julien@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20221212095523.52683-3-julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E653:EE_|MN0PR12MB5906:EE_
X-MS-Office365-Filtering-Correlation-Id: c995b87f-6614-49a2-6f0b-08dadcebaf58
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	C/ZDl8ZzQyitiKzlPNXVqmMKtJNPsmK0r6yLr6FE7E6P/UoFK0dgnzAChYhUfmqdVZ+qPUHU7ONUnX4/ya4tmtLd0WLtY1d3f+RyQRGzX/W4ck3pt2i4W04kD1Oeq26Z8H0JFj8hGJAK4aOem8j4V9ZstaKrdVTQQqdLBKb+hguFPi6irDjARrfNwi/pA/Dsax8HezeXFAXFrNQZkYb0ww+rdfHB0rBljU5566bhmMdhOo9WxNLnklvNXF6sgPLUXkvDTQCMYpMeBEUbK1uHm5KmHepZsMAQpMUjv0f6k+mWkwYiRctWEtCZvBDhux/1QYRpqo60AOyX3u6XVvUoyjjuepavcqu46zd9HIKLMA/KZrzwrujxGsarL6GmwqF0N/Yfqemxxqd1Ws5+zRq0rr6y8U+viOJTdXlq1O6S3ZK8I+RL9nwqu67wZYx14o3tatghVjtsmOLLZCyTjAfc8xB3LIkYdOrSUOX05zJcB8eRmwId6eKJJYg9o397x+m7uFbjeWef8jMi32EUyQ+cB7U9HwogTaZcSh2+tln6ZEtywcQp4TnL9jXzeiV90XKqt5LVSDrEgRsfwoyauAQEZNjMDgwa53wuKYLq1i3bv/h8Jr0c1yJFFQb9smPY+Mcalsly3Bo8OsPHiRDJpDYkjMrX/grdBfW0u23JcMmNcuQmFFDt2TCd+neUGvGfmsNlUNXl2P4NtcZKZQbTHnemLIWyyjnbiTrKR7wSN1SM6sPO4gJZkusEi0zyCXCd1+o89qAajNxWXLYAayC3A9HnfQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(39860400002)(396003)(346002)(451199015)(46966006)(36840700001)(40470700004)(31686004)(4744005)(41300700001)(4326008)(40480700001)(31696002)(8936002)(44832011)(19627235002)(86362001)(316002)(70586007)(8676002)(54906003)(5660300002)(70206006)(110136005)(16576012)(478600001)(356005)(47076005)(82740400003)(81166007)(336012)(426003)(53546011)(36756003)(26005)(186003)(82310400005)(2906002)(36860700001)(2616005)(40460700003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 09:23:24.2798
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c995b87f-6614-49a2-6f0b-08dadcebaf58
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E653.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5906

Hi Julien,

On 12/12/2022 10:55, Julien Grall wrote:
> 
> 
> From: Julien Grall <jgrall@amazon.com>
> 
> Looking at the Neoverse N1 errata document, it is not clear to me
> why the TLBI repeat workaround is not applied for TLB flush by VA.
> 
> The TBL flush by VA helpers are used in flush_xen_tlb_range_va_local()
> and flush_xen_tlb_range_va(). So if the range size if a fixed size smaller
> than a PAGE_SIZE, it would be possible that the compiler remove the loop
> and therefore replicate the sequence described in the erratum 1286807.
> 
> So the TLBI repeat workaround should also be applied for the TLB flush
> by VA helpers.
> 
> Fixes: 22e323d115d8 ("xen/arm: Add workaround for Cortex-A76/Neoverse-N1 erratum #1286807")
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 09:35:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 09:35:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460325.718207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51hR-0000dt-1N; Tue, 13 Dec 2022 09:35:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460325.718207; Tue, 13 Dec 2022 09:35:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51hQ-0000dm-Tt; Tue, 13 Dec 2022 09:35:44 +0000
Received: by outflank-mailman (input) for mailman id 460325;
 Tue, 13 Dec 2022 09:35:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p51hP-0000dg-9H
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 09:35:43 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p51hO-0002cX-DC; Tue, 13 Dec 2022 09:35:42 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.2.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p51hO-0000t8-7A; Tue, 13 Dec 2022 09:35:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=mdkwrexcvNpKvg+Y5cwbcZrQG+99dA3JMBZzLm7u4rA=; b=I1qxGjBuq0s8lx4Ei+lkYASYtT
	WiKHRk++FO4ZBoom+gpIKd29k8+avHooAiVSYIIOshOtsI38VriP+jFN6UERAjdUiu66B8D3zLnS1
	1fGrEWIuurbMw2v0PhRn2WUVGSUzmzMwFA6f+bnIuw+vbkjc6HQ4u1YesST2tWpYrTsU=;
Message-ID: <81985efe-7335-770c-c411-55c88db26a75@xen.org>
Date: Tue, 13 Dec 2022 09:35:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 11/20] tools/xenstore: move changed domain handling
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-12-jgross@suse.com>
 <6bad7b3c-eaa2-d342-a7f2-d265bdefd54a@xen.org>
 <e2aa2c60-5d4f-06ca-153e-cdb422aa084d@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e2aa2c60-5d4f-06ca-153e-cdb422aa084d@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 13/12/2022 06:53, Juergen Gross wrote:
> On 01.12.22 22:58, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 01/11/2022 15:28, Juergen Gross wrote:
>>>   static bool check_indexes(XENSTORE_RING_IDX cons, XENSTORE_RING_IDX 
>>> prod)
>>> @@ -492,8 +504,12 @@ static struct domain 
>>> *find_or_alloc_existing_domain(unsigned int domid)
>>>       xc_dominfo_t dominfo;
>>>       domain = find_domain_struct(domid);
>>> -    if (!domain && get_domain_info(domid, &dominfo))
>>> -        domain = alloc_domain(NULL, domid);
>>> +    if (!domain) {
>>> +        if (!get_domain_info(domid, &dominfo))
>>> +            errno = ENOENT;
>>> +        else
>>> +            domain = alloc_domain(NULL, domid);
>>> +    }
>>
>> I don't understand how this change is related to this commit.
> 
> It is directly related to the hunk below. Returning errno in
> acc_add_dom_nbentry() requires it to be set correctly in
> find_or_alloc_existing_domain().
> 
> I'll add a remark in the commit message.
> 
>>
>> [...]
>>
>>> +int acc_add_dom_nbentry(const void *ctx, struct list_head *head, int 
>>> val,
>>> +            unsigned int domid)
>>> +{
>>> +    struct changed_domain *cd;
>>> +
>>> +    cd = acc_get_changed_domain(ctx, head, domid);
>>> +    if (!cd)
>>> +        return errno;
>>> +
>>> +    cd->nbentry += val;
>>
>> As a future improvement, it would be worth considering to check for 
>> underflow/overflow.
> 
> Do you really think we need to make sure not to add/remove more than
> 2 billion nodes owned by a single domain?
No and that's not my point. If you look at domain_entry_fix() we have an 
assert() to check if the sum is still over 0.

This assert() was actually triggered a few times while testing the 
previous XSAs batch. So I think it would be worth to carry a similar 
check (maybe not an assert()) just in case we mess up with accounting in 
the future.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 09:41:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 09:41:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460334.718218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51n6-0002DQ-Km; Tue, 13 Dec 2022 09:41:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460334.718218; Tue, 13 Dec 2022 09:41:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51n6-0002DJ-I7; Tue, 13 Dec 2022 09:41:36 +0000
Received: by outflank-mailman (input) for mailman id 460334;
 Tue, 13 Dec 2022 09:41:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p51n5-0002DD-5B
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 09:41:35 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p51n4-0002jx-1r; Tue, 13 Dec 2022 09:41:34 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.2.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p51n3-00018G-ST; Tue, 13 Dec 2022 09:41:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=f+XyvhETo3/jm4R9BjD5tXQOsytKqvYrdDnJWgjv90I=; b=YJYjGg+37vz+/rWJHezXHxmcdJ
	T8D3tFSLbRXPJQ913eODxm9ak3SB2XU5jaEaEE3kAfW7puzV/k7eS9h5tn1R5M6jlPZwl5jBR392C
	wy6hDFOoLSsEWNzEYIp765esxLNK5nc8J0/62CU4z4BAaaBbQAeB7LpKRxDFcxW3rugI=;
Message-ID: <2aad994c-8b4e-1521-a718-cbb807c18360@xen.org>
Date: Tue, 13 Dec 2022 09:41:32 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 15/20] tools/xenstore: make domain_is_unprivileged() an
 inline function
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-16-jgross@suse.com>
 <872b4aae-34c1-be54-be58-6738ebd0537c@xen.org>
 <96e98cc3-71fd-13c5-ec0c-be9cdafc3678@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <96e98cc3-71fd-13c5-ec0c-be9cdafc3678@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 13/12/2022 07:57, Juergen Gross wrote:
> On 01.12.22 23:05, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 01/11/2022 15:28, Juergen Gross wrote:
>>> clang is complaining about a NULL dereference for constructs like:
>>>
>>>    domain_is_unprivileged(conn) ? conn->in : NULL
>>
>> I have just build xenstored with clang 11 and didn't get a complain. 
>> So can you provide more details?
> 
> It was reported by Edwin during development of the XSA series:
> 
> On 11/08/2022 19:01, Edwin Torok wrote:
>  > xenstored_watch.c:152:39: warning: Access to field 'in' results in a 
> dereference of a null pointer (loaded from variable 'conn') 
> [core.NullDereference]
>  >          req = domain_is_unprivileged(conn) ? conn->in : NULL;
>  >                                               ^~~~~~~~
>  > 1 warning generated.
>  >
>  > clang 14 says this is a NULL dereference ...
> 
> You even responded to that report, BTW.

I respond to a lot of e-mails and don't necessarily remember all of them 
:). That's why we have commit message.

In this case, you want to mention the compiler version in the commit 
message.

With that:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 09:45:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 09:45:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460340.718228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51qe-0002qT-3j; Tue, 13 Dec 2022 09:45:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460340.718228; Tue, 13 Dec 2022 09:45:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51qe-0002qM-0w; Tue, 13 Dec 2022 09:45:16 +0000
Received: by outflank-mailman (input) for mailman id 460340;
 Tue, 13 Dec 2022 09:45:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p51qd-0002qG-HD
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 09:45:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p51qd-0002mr-5b; Tue, 13 Dec 2022 09:45:15 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.2.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p51qc-0001Lp-Vf; Tue, 13 Dec 2022 09:45:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=KQ86Goubtns4N8CWC1j/jBdSSOAc7AKLigib8WTWJCM=; b=awEUJl2kxeUopCbDC5MPINsk+Z
	uMPhPT1Qc0hjqlsnvUHaDbLQ//RXYLN5iwM8di7LqckF7E2PHzTW6k5CLnCnSfpjY21js8EULPN6b
	EjfNEaqitG+wO1LBayiK8mLQMvtG0JkAIwAxBivwHZqoGJhsKwm4aorKaIBk+bU1p3Jw=;
Message-ID: <a45d9304-0db3-930b-7ebd-1ae1dafabac8@xen.org>
Date: Tue, 13 Dec 2022 09:45:12 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v3 01/18] xen/arm64: flushtlb: Reduce scope of barrier for
 local TLB flush
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-2-julien@xen.org>
 <650bc040-63a9-8950-e2ff-6829c9a452a8@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <650bc040-63a9-8950-e2ff-6829c9a452a8@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 13/12/2022 09:11, Michal Orzel wrote:
> Hi Julien,

Hi Michal,

> On 12/12/2022 10:55, Julien Grall wrote:
>>
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Per D5-4929 in ARM DDI 0487H.a:
>> "A DSB NSH is sufficient to ensure completion of TLB maintenance
>>   instructions that apply to a single PE. A DSB ISH is sufficient to
>>   ensure completion of TLB maintenance instructions that apply to PEs
>>   in the same Inner Shareable domain.
>> "
>>
>> This means barrier after local TLB flushes could be reduced to
>> non-shareable.
>>
>> Note that the scope of the barrier in the workaround has not been
>> changed because Linux v6.1-rc8 is also using 'ish' and I couldn't
>> find anything in the Neoverse N1 suggesting that a 'nsh' would
>> be sufficient.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>>
>> ---
>>
>>      I have used an older version of the Arm Arm because the explanation
>>      in the latest (ARM DDI 0487I.a) is less obvious. I reckon the paragraph
>>      about DSB in D8.13.8 is missing the shareability. But this is implied
>>      in B2.3.11:
>>
>>      "If the required access types of the DSB is reads and writes, the
>>       following instructions issued by PEe before the DSB are complete for
>>       the required shareability domain:
>>
>>       [...]
>>
>>       — All TLB maintenance instructions.
>>      "
>>
>>      Changes in v3:
>>          - Patch added
>> ---
>>   xen/arch/arm/include/asm/arm64/flushtlb.h | 27 ++++++++++++++---------
>>   1 file changed, 16 insertions(+), 11 deletions(-)
>>
>> diff --git a/xen/arch/arm/include/asm/arm64/flushtlb.h b/xen/arch/arm/include/asm/arm64/flushtlb.h
>> index 7c5431518741..39d429ace552 100644
>> --- a/xen/arch/arm/include/asm/arm64/flushtlb.h
>> +++ b/xen/arch/arm/include/asm/arm64/flushtlb.h
>> @@ -12,8 +12,9 @@
>>    * ARM64_WORKAROUND_REPEAT_TLBI:
> Before this line, in the same comment, we state DSB ISHST. This should also be changed
> to reflect the change done by this patch.

This is on purpose. I decided to keep the sequence as-is and instead add 
a paragraph explaining that 'nsh' is sufficient for local TLB flushes.

> 
>>    * Modification of the translation table for a virtual address might lead to
>>    * read-after-read ordering violation.
>> - * The workaround repeats TLBI+DSB operation for all the TLB flush operations.
>> - * While this is stricly not necessary, we don't want to take any risk.
>> + * The workaround repeats TLBI+DSB ISH operation for all the TLB flush
>> + * operations. While this is stricly not necessary, we don't want to
> s/stricly/strictly/
> 
>> + * take any risk.
>>    *
>>    * For Xen page-tables the ISB will discard any instructions fetched
>>    * from the old mappings.
>> @@ -21,38 +22,42 @@
>>    * For the Stage-2 page-tables the ISB ensures the completion of the DSB
>>    * (and therefore the TLB invalidation) before continuing. So we know
>>    * the TLBs cannot contain an entry for a mapping we may have removed.
>> + *
>> + * Note that for local TLB flush, using non-shareable (nsh) is sufficient
>> + * (see D5-4929 in ARM DDI 0487H.a). Althougth, the memory barrier in
> s/Althougth/Although/
> 
>> + * for the workaround is left as inner-shareable to match with Linux.
> So for the workaround we stay with DSB ISH. But ...
> 
>>    */
>> -#define TLB_HELPER(name, tlbop)                  \
>> +#define TLB_HELPER(name, tlbop, sh)              \
>>   static inline void name(void)                    \
>>   {                                                \
>>       asm volatile(                                \
>> -        "dsb  ishst;"                            \
>> +        "dsb  "  # sh  "st;"                     \
>>           "tlbi "  # tlbop  ";"                    \
>>           ALTERNATIVE(                             \
>>               "nop; nop;",                         \
>> -            "dsb  ish;"                          \
>> +            "dsb  "  # sh  ";"                   \
> ... you do not adhere to this.

This is a leftover from my previous approach. I will drop it.

[...]

> 
> With the remarks fixed:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

I am not planning to fix the first remark. Please let me know if your 
Reviewed-by tag stands.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 09:47:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 09:47:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460347.718239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51sr-0003YP-GW; Tue, 13 Dec 2022 09:47:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460347.718239; Tue, 13 Dec 2022 09:47:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51sr-0003YI-Do; Tue, 13 Dec 2022 09:47:33 +0000
Received: by outflank-mailman (input) for mailman id 460347;
 Tue, 13 Dec 2022 09:47:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p51sq-0003Y9-3f
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 09:47:32 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2086.outbound.protection.outlook.com [40.107.22.86])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ab82995-7acb-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 10:47:09 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8823.eurprd04.prod.outlook.com (2603:10a6:10:2e2::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 13 Dec
 2022 09:47:04 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 09:47:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ab82995-7acb-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PVXQTvkRB7XD059WaB7PlApA5TGmF5MBhuvawcf4wuJOeK7qRlpd4+V9q4way/a3XTxHpFslCtTD5RyEIltBUVl9LqRbGq+1bWrWa+aDeVNr4eX4uQgT2p26bpaUK6Rc1eUjct36V9LifHLkC7y9vsQUQJHSieDrblkjPXCFfItlb6xSvA7xEY2tG2SIBtWPYAVrZFoLTxOlHUEnSc6GtyZ4LZv24xZTKISv75AETRPKpngVnK4ZgOhBXcarobVNWU8gv4NjQQXCDBVCsYMd0dH6nFgUsdvc0GjZc3e1Qc2aHQgYiBwLtp0P/XoJWeOtAIhRQiP9wydW/c9dRxOycQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KA4YTDdTQ1CTJU6glAlVJFH6RXBlghU9l+pqgF7PwO0=;
 b=bOGt4/6InMqmKM8Erkos1E+NEtsm+ra6pLBOW2DJWdb5ieIPGs4nfpcEz4lmIMbFyanJxIshk0PFlaDinXaBJswPoswZoMbav9Bd4vx2kVT0E96TOIyOH87cep9OZO9BJfaJnFGGC4ELTdL6xKMrGosCho76uB21zh2DF80gBt7xcmdP5Kj5lELwXb21RReTv3MHWz7Vo/Ydzzr8rWdDdcc0XfeoBxoExhunWd5uTBNZVbHoEFA2+W1yCKTMSpQq5RiD/kuJKwvnCBaomSgWG6sU+FY2k4QppXGW/sYZQJgX/ClT9vY/dooCX+qAyrYyyZtSZvzkpYkx9z3PU73mjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KA4YTDdTQ1CTJU6glAlVJFH6RXBlghU9l+pqgF7PwO0=;
 b=1pxsgW0e5b3N23X9Ue7+0hqv/qIDtC5qn7hQ09N5/Hg4WJVqg34XEhHDUBIedPjQ0mWF81lpi4l31S9jX/hH56a/wP1y84lP1lrq1k9miRkMlXkpKGU+cS3up1rp4XR60gwbYUcI6JRRWDm7FhWx6kK6Nv+NbjVzFY0+LKZZ/47ijITBSpMU5MgdDozDh+MsPAjDZLVrmcr+ifxX8otO7r7s1A+D35ruEMns3Lxku+ub+aB5qDoaxE5LG9xfkV10bYF5FHRA0D5ygtYs1sx9v1vnw1c2byr2r2EUpoOITwrURC5ciYcX9LHrAI93oY/rsCdUEo5bkTCq31WWvu4uWQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6f04f1e7-4fd9-8ab5-0ea0-b6cf5925ca29@suse.com>
Date: Tue, 13 Dec 2022 10:47:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v9 3/6] xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for
 phys_to_nid
Content-Language: en-US
To: Wei Chen <wei.chen@arm.com>
Cc: nd@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Jiamei Xie <jiamei.xie@arm.com>, xen-devel@lists.xenproject.org,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20221118104508.768274-1-wei.chen@arm.com>
 <20221118104508.768274-4-wei.chen@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221118104508.768274-4-wei.chen@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0140.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8823:EE_
X-MS-Office365-Filtering-Correlation-Id: 3f1017ce-bb6d-4248-a9d5-08dadceefd9d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	o/470LcqprIOZRQGzUArX2dAbzJ7KcQuJ9MmJ5L2GP4Tjxp4wK1jAWGAQnKct1UP2g0iilyIxBKgP/9iAVt9+nPMIVEOsypSyRVv7edSUIlfC8EEaORUtt0eFyTDZaGVJup7/4/fd7rmOoEDRd79WfD6tOoQpNotfjfQwlPgO/tx4guQ/lFMEiUk4kDgNQ3qGBWEL8uth0+tN/pZBQCmvt1t+2apoMNDTO2q7tjqaZ5YURxXobXi55uOmWAdkJvQDFiXEcfDE7N+CYi/9AiWToASH86ojxVjs7mCvZ/4680HTpiFyHJuWvTZuISM+uPsTQstcCBb6D+eB3xRTv5sFSzOrmoIiCOcfhWzUVWdW4m9gL1+veWGlcWFOAWHyvqMhXI7gGw4obXshG9MFfgIYNBV9etx/Qh6moOA/qyEnaBVihm10HZE3zGSbJa4hIcrALxn8tDZPvdCM0caf+xocLqOnXWSW/jUmUaX+V0KVJCh/rbXRFZKsvJO3L8jefnngpOsVmXoyoZPmvPX+lU5myOIbvjy5XtBRK5CfzP+YLaNX5s0pDf1a/6CAaGCrg/4wfi+QOguDAIgsy5b0fKAqBtEVOmBK9+OgPiAR0fIs075gpRJIN6ZVDwfcB6qYNdaCzFGQW6j01UKMLCNDAn14qN5MSq8pe8UncS7j8anIRayFkOFkIBWOSiN58QaRg2uULGAocd8jX8lENbpXWReqaxTIrhHUjoWkFzXyeGLTV8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(39860400002)(376002)(346002)(136003)(366004)(451199015)(41300700001)(38100700002)(66556008)(31686004)(8936002)(66476007)(8676002)(5660300002)(4326008)(7416002)(186003)(2906002)(316002)(6916009)(66946007)(54906003)(36756003)(6506007)(53546011)(478600001)(26005)(6486002)(31696002)(86362001)(2616005)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TUFoZDZMelJmem5oTTJDL1BmTnYyRnUyTXQ2TjRKOUp0YXhwTlRrZEhZTHFK?=
 =?utf-8?B?SXpUbWdBN3dDeURXMlVSM0hYWGlraSt3NkJvRkNOa21lMFMxeEZYeEZuNC9U?=
 =?utf-8?B?YWxVb1hqN3hIdld6K1poYUtkV1hZQklhRVBQaE5NVG9ZMGJrZDN2VFZlMjhJ?=
 =?utf-8?B?SWNhRmt3bXU4a3JrM0JpZGU5ZWNjR05qdjA2VVJCSmE1K0VjN0E0UlBKdE9m?=
 =?utf-8?B?aWZoWWxwbE03b1p1NEdSS0ZSOFdHRHQ5YytMMjI4TDJwWXBpMzhJZnFXOGFr?=
 =?utf-8?B?dkFXMmNnRm1vTFpQQWEyaG9iOC9ERytmZXJoS2FzUWovNU9ScDdJV0xJeldM?=
 =?utf-8?B?bTYvYkxkekNUMEozZkFURUxFOHI3UXZQUXBXWms2TXJQUWk4Zkw3UHp3aHla?=
 =?utf-8?B?MHRKVTVoNEUyZ09NZk4vN29IcXlwSUNDcVl2WEZyNFpTaS9IU0p0UDV2eXJj?=
 =?utf-8?B?azZ5dFBTUmVEeEpkWGRCNnpmTmdKRWtESzdZWTNVZXlqU3Bab3pTNTlUK3li?=
 =?utf-8?B?Rk5NYTNNV2xmQTVQMHFBQ2ZQcjVSZVdkNFVBaEkxbXpPbVpOQ1dSbmFhU0xO?=
 =?utf-8?B?MGt0VjZHb3c3ZTM2eUR5VXhFd2RUcUVGNmt0TjcwWkx5OENFL1FSaFJGTVY1?=
 =?utf-8?B?aDBnd3FCcnNmK2UzZGN5cU5qVFdiUktlQnN2V09pSVhKOG5LMmsvZWRybXpy?=
 =?utf-8?B?cnQvRXB5S0E1QUtsbmF3dkdnNzY2ck1MTjdXSEtudXZyaTErYzBzOUtTcThX?=
 =?utf-8?B?V3hqSTc1QndoUzZ2UTErRVk3YW4wSEwrWkxBNHN6MjRDYzk2KzhaWlN0RnF6?=
 =?utf-8?B?V0dVdmJ2d0s3OUdZVUFUd0RSdlZZdUVab1RhSHpnRmFCZmNHTWRmaTRtbjdG?=
 =?utf-8?B?ZnlabWpLREh3b0RGT0Q5V2hjSG1ycjd3UHFyQjFzN0VldnhQYkN5Z1ptbkxN?=
 =?utf-8?B?QkZUQ3JmTE1aZ05DVG9pbGNPNVJId3pRNmZVakpKY3dYek1CSkJGaHhRNHhr?=
 =?utf-8?B?a0VvSk5wM29sNU5nNHFQci9UQnlZNlJNWkpseTh3M1hPalZJbkNDMnp2WC9D?=
 =?utf-8?B?NU5rSzdUaGN4RTZtYlRtV2xvTy9GSk5ZcjlCNUJWUHFhZysybTFVK3BFS0gr?=
 =?utf-8?B?ZzFtdDNiN01jUUVaVnNORVc4R0VDTUFHU2VaUmlMdGowQldEUFpPNXJGUzdo?=
 =?utf-8?B?c2VpTTBTWlBTamhZMUZFSUxEci81MnYrNEFoeWFFZ2NZRjR4T3dXZGRhdzlJ?=
 =?utf-8?B?dWZVdG11MkJVS1ptN0wvMGxTNUxNODdYRHhxeEpobkdtcDZpN0pxV3RabGd6?=
 =?utf-8?B?QWszaHhSSDdrc0tkUG96VTBPeTBhN0NOeFBwaHhVa29ERWtpaUtNeWNya09N?=
 =?utf-8?B?aDdHSVk2bk5SUUdDTnQycWVUQ2ZlRWhzZjVQN21jemxSblhqYmZGYjlYYlBB?=
 =?utf-8?B?RC95WUlLTFhRYmJaVFI1RTZMUWlvNHZjaEZtUXk4MkRJMjNsK05pK0JGR1NR?=
 =?utf-8?B?ZXpDazRFVzhlV1kvU2hZTE94S1RCUURSaWtVWHdWMEF1dkpLbGJLbjZva25h?=
 =?utf-8?B?cHpnOFpiakhkU0xUNXU1Rm5uWTBrVW1adGRUZkJta05CYjJrNWdaeWhpWWY0?=
 =?utf-8?B?QjE5M0NyYkZ0d2ZVclpiN2RTNEFObmV4QmkraGZlc21KNDFPWXhWUC8vRW1v?=
 =?utf-8?B?RkVmaWV2K09yZHZXbGR5ZWFDSWk3UER5RHpzbFEySDcrQzVWOFhVZ3NNeS80?=
 =?utf-8?B?NWE3c3lESUZKS3l1M1pkK2I4WXRQcEdFWU1pdlhCcnlNQys1Qk53WHRvekxw?=
 =?utf-8?B?MzdFeGVFWFc2WU5VK1ByQ3l3T0FZc3VKR1FsUDNXTlh5QWVrT0lvMk5HeFV2?=
 =?utf-8?B?Y0lEWWxCWXcvWlVScXk2WWd2a0ExYjU4a0ZkdU1MOUNtRUhtM0N3cGF0M2FQ?=
 =?utf-8?B?ejdpWkgrOW9KenhLRjJtWUlZb05PMVlCRGRLSHlSM2FEUDJDdXZGUmE4Y0xz?=
 =?utf-8?B?eC90NVVrdGRLckdHeTFqYUVYZkI2SGFtSk8vZWR4MDNoYm82OGlDeFZGcU9u?=
 =?utf-8?B?dXUxaGlGdzJTOXpXQ0JqN2ZkR2tuY29FOUVoTFNtVkNpcWNhT2pwN2NaajRy?=
 =?utf-8?Q?Q8dKqF6FK+4rcAJZcXIEB1k3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f1017ce-bb6d-4248-a9d5-08dadceefd9d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 09:47:04.3204
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NMKz2ajHbXYyeJTpd9D1HSONAxLAK20KFV3dWsHza9BRteZo2AE/WiMg/yN7JG6vHs4ptdA6KBgZwSvpjoJniA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8823

On 18.11.2022 11:45, Wei Chen wrote:
> VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
> results in two lines of error-checking code in phys_to_nid
> that is not actually working and causing two compilation
> errors:
> 1. error: "MAX_NUMNODES" undeclared (first use in this function).
>    This is because in the common header file, "MAX_NUMNODES" is
>    defined after the common header file includes the ARCH header
>    file, where phys_to_nid has attempted to use "MAX_NUMNODES".
>    This error was resolved after we moved the phys_to_nid from
>    x86 ARCH header file to common header file.
> 2. error: wrong type argument to unary exclamation mark.
>    This is because, the error-checking code contains !node_data[nid].
>    But node_data is a data structure variable, it's not a pointer.
> 
> So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
> enable the two lines of error-checking code. And fix the left
> compilation errors by replacing !node_data[nid] to
> !node_data[nid].node_spanned_pages. Although NUMA allows one node
> can only have CPUs but without any memory. And node with 0 bytes
> of memory might have an entry in memnodemap[] theoretically. But
> that doesn't mean phys_to_nid can find any valid address from a
> node with 0 bytes memory.
> 
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Tested-by: Jiamei Xie <jiamei.xie@arm.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

This patch is what is causing the regression found by osstest. The
previously silent (dead) checks no trigger when paging_init()
encounters a hole in SRAT-described space, as is the case e.g. on
the himrods:

(XEN) NUMA: Node 0 PXM 0 [0000000000000000, 000000007fffffff]
(XEN) NUMA: Node 0 PXM 0 [0000000100000000, 000000087fffffff]
(XEN) NUMA: Node 1 PXM 1 [0000000880000000, 000000107fffffff]
(XEN) NUMA: Using 19 for the hash shift

The node ID for 0x80000000 (slot 1 of memnodemap[]) is NUMA_NO_NODE,
which of course fails the left side of ...

> @@ -69,9 +67,9 @@ extern struct node_data node_data[];
>  static inline nodeid_t __attribute_pure__ phys_to_nid(paddr_t addr)
>  {
>      nodeid_t nid;
> -    VIRTUAL_BUG_ON((paddr_to_pdx(addr) >> memnode_shift) >= memnodemapsize);
> +    ASSERT((paddr_to_pdx(addr) >> memnode_shift) < memnodemapsize);
>      nid = memnodemap[paddr_to_pdx(addr) >> memnode_shift];
> -    VIRTUAL_BUG_ON(nid >= MAX_NUMNODES || !node_data[nid]);
> +    ASSERT(nid < MAX_NUMNODES && node_data[nid].node_spanned_pages);

... the && here. As I don't think the use of phys_to_nid() by
paging_init() is outright invalid, I would conclude that the
condition needs to be relaxed to permit for NUMA_NO_NODE. Otoh it's
possible that the function was really intended to never return
NUMA_NO_NODE (and only ever be used on valid memory ranges), in
which case paging_init() would need to use something else (or
make the call conditional): According to my audit all uses except
the two in paging_init() are on (supposedly) valid addresses only
(commonly when already holding in hands a valid struct page_info).

Then again us having phys_to_nid() in the first place is somewhat
bogus: No caller really starts from a physical address. It would
be quite a bit more sensible to have page_to_nid() and mfn_to_nid(),
the more that what phys_to_nid() does is pass the address to
paddr_to_pdx() (undoing every caller's to-addr conversion). At which
point the former could do strict checking (disallowing NUMA_NO_NODE
output) while the latter could be more relaxed. I guess I'll make a
patch along these lines.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 09:50:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 09:50:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460356.718251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51w4-000523-3B; Tue, 13 Dec 2022 09:50:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460356.718251; Tue, 13 Dec 2022 09:50:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51w4-00051w-0U; Tue, 13 Dec 2022 09:50:52 +0000
Received: by outflank-mailman (input) for mailman id 460356;
 Tue, 13 Dec 2022 09:50:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nvb8=4L=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p51w2-00051o-Ga
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 09:50:50 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2071.outbound.protection.outlook.com [40.107.92.71])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9ede5dab-7acb-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 10:50:48 +0100 (CET)
Received: from MW2PR16CA0042.namprd16.prod.outlook.com (2603:10b6:907:1::19)
 by DS0PR12MB7582.namprd12.prod.outlook.com (2603:10b6:8:13c::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 09:50:44 +0000
Received: from CO1NAM11FT110.eop-nam11.prod.protection.outlook.com
 (2603:10b6:907:1:cafe::17) by MW2PR16CA0042.outlook.office365.com
 (2603:10b6:907:1::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8 via Frontend
 Transport; Tue, 13 Dec 2022 09:50:44 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT110.mail.protection.outlook.com (10.13.175.125) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.21 via Frontend Transport; Tue, 13 Dec 2022 09:50:43 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 03:50:42 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 13 Dec 2022 03:50:41 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ede5dab-7acb-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fJXUCYDK0P1vMFZPmIYAI3eTN2uMARr5G/4m5vBr6E/6cJFh/U7tChERqTHojb5dlaoU5ggQdfgbXaqYwPyLBXK0XlsaFUExgAD00OjzEcvGzwugO1yUsNI8ylu77A/wiXE5qLr7HBwca34WBtfalEV13HlWePVj9KL2K/lCffvMCzp8VZxsWOjdDgtSK1qoQK1hJ7eQ4PHtFaezU+oxe7bhKRaERS/Nypsdjf+dsC0mlL5XfMD7eyYmCcM2scb1cbNtpKFNXl1ZrUZEGjL0HaPyqgemJzymNcLBr3pxQzgyanvrmmQGtezKrDnuKpuQsd1+eTYUl4IaIe1hLI9DYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BpGYpQLpiYNG4IMYJmZTzr5C+lGyRr8TzkKCHh9njpc=;
 b=FlyrbCDgoF3IWVxFIVLv+Ti1dLLWz6KRQv5ZLPqfXZJrl3kPMkoFpRY5Wi4YecHEU/RTkOTt/JxgS/JnysaGBVsbhR7x0xK9EIIOYt2JEsV8JxSv4ddaOetTk8zdsNGxMxIpn2iDRaBScB3AlflprgnY4Wo9haBPn63cI46d6GlRdJuzqgMOBTiLKCK5KdxYVTb8giluG4x+qOj8wEE26+k+e7QYkq2nqcPJqEO9DJUPgYWoeTwwHTxaiD9Q06JQaJuHXgn0giThwpXGWADttCXA2by3reQmlYfNupH8q6enNbTqIeZ7FyP+8fP/BJWwKqEC8WwSNa6LKL7N20AYzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BpGYpQLpiYNG4IMYJmZTzr5C+lGyRr8TzkKCHh9njpc=;
 b=UaS0qdW4FYcoMazcoefrEh836fI2lGXAiRRoTfJw9b9QzYgsiCRwBtiDwCFWTxL4P/VdLumb4exnp/++iQrur9gc9aNLlmEX1pHLwS/98pu01mZyEG5XwQn+BINP7cQqfu4wzDJt407Ji2Rm7+Nqu9IHpjLxzKJ+ay2iBXUp5QA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <4eecd73b-df8b-bbdb-b9ce-0d4ae720f8f6@amd.com>
Date: Tue, 13 Dec 2022 10:50:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 01/18] xen/arm64: flushtlb: Reduce scope of barrier for
 local TLB flush
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: <Luca.Fancellu@arm.com>, Julien Grall <jgrall@amazon.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-2-julien@xen.org>
 <650bc040-63a9-8950-e2ff-6829c9a452a8@amd.com>
 <a45d9304-0db3-930b-7ebd-1ae1dafabac8@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <a45d9304-0db3-930b-7ebd-1ae1dafabac8@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT110:EE_|DS0PR12MB7582:EE_
X-MS-Office365-Filtering-Correlation-Id: d6f0924d-d9f1-46ec-4652-08dadcef80af
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+KlIBHgjHN14RE4uzN6iMhJXz72klzjC90n9mfweIWcx+QAjMm8aWJtILgYYtQvfK4KInHX8p8go1wJyuqF835+agcigX0n2v8LYZgV0cUAFRE9Yfy6GvLGfjlR0whcMtM0PZ+TOh81P1HBVV7iKT8DURG618VCmXACuZJldN22jIt+8eEJJ30uapnlTtbIQZI+5FXayJxMpFKySusHgoSBYS4VXD61aEUgIfXz40ahWQksZrcR3OirMj6WwOqD+ZKba6Ru9mnVP3kog17u0ww7sYuFBbLMMeSQHJzstDKGPX9F16Z5n6j50bEB9OwUeVL1+GiFwDvlarHjnOLvA9/K4cnnG/tfj+EBFO7qzOpvRyRD2tORorbVJ4orwhl/S6rZGqOdOopis1zyor3K2tGYmlyKLKmjVke9w5HHJl/HrzWLwMDVXZcK/qI0TD1YfS/2ZnQLaFPg0k0seUmft90p7iRNTKvQUVEJZU6SxJzEcH1p1QqAzGjWr9BUvtaNfPOvtFfbAETTf2xoYYvfoAsyDBsnRDSfZfL+IBdYq4OLuMkaiTHiqHgNcpxlBIy0Tvgs6l+a8rj6iGjeNi1KU3ERDxWt7qC0yMJta0GGgee/nsBv/bzQVBBbQq6CCs3iuKoqfWImvlL10wGeZQKcEQ5DFUuUjho5ZkUvd1vSsWfyLelctYqQwfWhDUARdgAZ4/Ith34tQe97N4qnfMz8zuyZDXB1lC0qPdlYHj7K6g20krvUKae/1a5qaWqQpmEIk4m7Vszj7zuJZbmyeF0qTGA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(39860400002)(376002)(346002)(451199015)(36840700001)(46966006)(40470700004)(81166007)(82740400003)(356005)(36860700001)(31696002)(40480700001)(41300700001)(82310400005)(86362001)(40460700003)(8936002)(478600001)(4326008)(426003)(186003)(70586007)(8676002)(110136005)(70206006)(2906002)(83380400001)(54906003)(47076005)(316002)(26005)(2616005)(53546011)(44832011)(336012)(16576012)(5660300002)(31686004)(36756003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 09:50:43.9048
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d6f0924d-d9f1-46ec-4652-08dadcef80af
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT110.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7582

Hi Julien,

On 13/12/2022 10:45, Julien Grall wrote:
> 
> 
> On 13/12/2022 09:11, Michal Orzel wrote:
>> Hi Julien,
> 
> Hi Michal,
> 
>> On 12/12/2022 10:55, Julien Grall wrote:
>>>
>>>
>>> From: Julien Grall <jgrall@amazon.com>
>>>
>>> Per D5-4929 in ARM DDI 0487H.a:
>>> "A DSB NSH is sufficient to ensure completion of TLB maintenance
>>>   instructions that apply to a single PE. A DSB ISH is sufficient to
>>>   ensure completion of TLB maintenance instructions that apply to PEs
>>>   in the same Inner Shareable domain.
>>> "
>>>
>>> This means barrier after local TLB flushes could be reduced to
>>> non-shareable.
>>>
>>> Note that the scope of the barrier in the workaround has not been
>>> changed because Linux v6.1-rc8 is also using 'ish' and I couldn't
>>> find anything in the Neoverse N1 suggesting that a 'nsh' would
>>> be sufficient.
>>>
>>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>>>
>>> ---
>>>
>>>      I have used an older version of the Arm Arm because the explanation
>>>      in the latest (ARM DDI 0487I.a) is less obvious. I reckon the paragraph
>>>      about DSB in D8.13.8 is missing the shareability. But this is implied
>>>      in B2.3.11:
>>>
>>>      "If the required access types of the DSB is reads and writes, the
>>>       following instructions issued by PEe before the DSB are complete for
>>>       the required shareability domain:
>>>
>>>       [...]
>>>
>>>       — All TLB maintenance instructions.
>>>      "
>>>
>>>      Changes in v3:
>>>          - Patch added
>>> ---
>>>   xen/arch/arm/include/asm/arm64/flushtlb.h | 27 ++++++++++++++---------
>>>   1 file changed, 16 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/include/asm/arm64/flushtlb.h b/xen/arch/arm/include/asm/arm64/flushtlb.h
>>> index 7c5431518741..39d429ace552 100644
>>> --- a/xen/arch/arm/include/asm/arm64/flushtlb.h
>>> +++ b/xen/arch/arm/include/asm/arm64/flushtlb.h
>>> @@ -12,8 +12,9 @@
>>>    * ARM64_WORKAROUND_REPEAT_TLBI:
>> Before this line, in the same comment, we state DSB ISHST. This should also be changed
>> to reflect the change done by this patch.
> 
> This is on purpose. I decided to keep the sequence as-is and instead add
> a paragraph explaining that 'nsh' is sufficient for local TLB flushes.
> 
>>
>>>    * Modification of the translation table for a virtual address might lead to
>>>    * read-after-read ordering violation.
>>> - * The workaround repeats TLBI+DSB operation for all the TLB flush operations.
>>> - * While this is stricly not necessary, we don't want to take any risk.
>>> + * The workaround repeats TLBI+DSB ISH operation for all the TLB flush
>>> + * operations. While this is stricly not necessary, we don't want to
>> s/stricly/strictly/
>>
>>> + * take any risk.
>>>    *
>>>    * For Xen page-tables the ISB will discard any instructions fetched
>>>    * from the old mappings.
>>> @@ -21,38 +22,42 @@
>>>    * For the Stage-2 page-tables the ISB ensures the completion of the DSB
>>>    * (and therefore the TLB invalidation) before continuing. So we know
>>>    * the TLBs cannot contain an entry for a mapping we may have removed.
>>> + *
>>> + * Note that for local TLB flush, using non-shareable (nsh) is sufficient
>>> + * (see D5-4929 in ARM DDI 0487H.a). Althougth, the memory barrier in
>> s/Althougth/Although/
>>
>>> + * for the workaround is left as inner-shareable to match with Linux.
>> So for the workaround we stay with DSB ISH. But ...
>>
>>>    */
>>> -#define TLB_HELPER(name, tlbop)                  \
>>> +#define TLB_HELPER(name, tlbop, sh)              \
>>>   static inline void name(void)                    \
>>>   {                                                \
>>>       asm volatile(                                \
>>> -        "dsb  ishst;"                            \
>>> +        "dsb  "  # sh  "st;"                     \
>>>           "tlbi "  # tlbop  ";"                    \
>>>           ALTERNATIVE(                             \
>>>               "nop; nop;",                         \
>>> -            "dsb  ish;"                          \
>>> +            "dsb  "  # sh  ";"                   \
>> ... you do not adhere to this.
> 
> This is a leftover from my previous approach. I will drop it.
> 
> [...]
> 
>>
>> With the remarks fixed:
>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> I am not planning to fix the first remark. Please let me know if your
> Reviewed-by tag stands.
I'm ok with it so you can keep my tag.

> 
> Cheers,
> 
> --
> Julien Grall

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 09:54:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 09:54:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460362.718261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51zF-0005er-Hv; Tue, 13 Dec 2022 09:54:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460362.718261; Tue, 13 Dec 2022 09:54:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p51zF-0005ek-FG; Tue, 13 Dec 2022 09:54:09 +0000
Received: by outflank-mailman (input) for mailman id 460362;
 Tue, 13 Dec 2022 09:54:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p51zE-0005eN-7f
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 09:54:08 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1571ffd4-7acc-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 10:54:07 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id CA3F81FE0B;
 Tue, 13 Dec 2022 09:54:06 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id A584D138F9;
 Tue, 13 Dec 2022 09:54:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id U+aMJr5LmGNFUAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 09:54:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1571ffd4-7acc-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670925246; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=/a1K4N0hh9cznFFXMy6xA20fHOnTYTkrUHnpzqubU54=;
	b=G/ZraK19iPOgZSsYQbRbcDwjQVK8OnGM+BBa8FWeMSovOThdoyf05wIAYLPpsfRu6VIhuD
	bVHOwdpC/TyMD/nkp9bR0L7RhJE0D1CECyJvbVETP+BaP4xqqvgDFOwpDiu10XX0LWe4iP
	kT9ZcobQxNhkHi6OJ7QbQA8Hh/uk6Rs=
Message-ID: <0dd9932b-356b-7201-d017-41dd061c6b44@suse.com>
Date: Tue, 13 Dec 2022 10:54:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 11/20] tools/xenstore: move changed domain handling
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-12-jgross@suse.com>
 <6bad7b3c-eaa2-d342-a7f2-d265bdefd54a@xen.org>
 <e2aa2c60-5d4f-06ca-153e-cdb422aa084d@suse.com>
 <81985efe-7335-770c-c411-55c88db26a75@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <81985efe-7335-770c-c411-55c88db26a75@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------J00SrWioZKjMZDGMXtoANtbC"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------J00SrWioZKjMZDGMXtoANtbC
Content-Type: multipart/mixed; boundary="------------eEjgJAtHEBNk8GUGvVImFVjW";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <0dd9932b-356b-7201-d017-41dd061c6b44@suse.com>
Subject: Re: [PATCH 11/20] tools/xenstore: move changed domain handling
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-12-jgross@suse.com>
 <6bad7b3c-eaa2-d342-a7f2-d265bdefd54a@xen.org>
 <e2aa2c60-5d4f-06ca-153e-cdb422aa084d@suse.com>
 <81985efe-7335-770c-c411-55c88db26a75@xen.org>
In-Reply-To: <81985efe-7335-770c-c411-55c88db26a75@xen.org>

--------------eEjgJAtHEBNk8GUGvVImFVjW
Content-Type: multipart/mixed; boundary="------------xgDkKHKwjEtXi7sbY0G40XMB"

--------------xgDkKHKwjEtXi7sbY0G40XMB
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTMuMTIuMjIgMTA6MzUsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDEzLzEyLzIwMjIgMDY6NTMsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
biAwMS4xMi4yMiAyMjo1OCwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IEhpIEp1ZXJnZW4s
DQo+Pj4NCj4+PiBPbiAwMS8xMS8yMDIyIDE1OjI4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4+PiDCoCBzdGF0aWMgYm9vbCBjaGVja19pbmRleGVzKFhFTlNUT1JFX1JJTkdfSURYIGNv
bnMsIFhFTlNUT1JFX1JJTkdfSURYIHByb2QpDQo+Pj4+IEBAIC00OTIsOCArNTA0LDEyIEBA
IHN0YXRpYyBzdHJ1Y3QgZG9tYWluIA0KPj4+PiAqZmluZF9vcl9hbGxvY19leGlzdGluZ19k
b21haW4odW5zaWduZWQgaW50IGRvbWlkKQ0KPj4+PiDCoMKgwqDCoMKgIHhjX2RvbWluZm9f
dCBkb21pbmZvOw0KPj4+PiDCoMKgwqDCoMKgIGRvbWFpbiA9IGZpbmRfZG9tYWluX3N0cnVj
dChkb21pZCk7DQo+Pj4+IC3CoMKgwqAgaWYgKCFkb21haW4gJiYgZ2V0X2RvbWFpbl9pbmZv
KGRvbWlkLCAmZG9taW5mbykpDQo+Pj4+IC3CoMKgwqDCoMKgwqDCoCBkb21haW4gPSBhbGxv
Y19kb21haW4oTlVMTCwgZG9taWQpOw0KPj4+PiArwqDCoMKgIGlmICghZG9tYWluKSB7DQo+
Pj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoIWdldF9kb21haW5faW5mbyhkb21pZCwgJmRvbWlu
Zm8pKQ0KPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlcnJubyA9IEVOT0VOVDsNCj4+
Pj4gK8KgwqDCoMKgwqDCoMKgIGVsc2UNCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
ZG9tYWluID0gYWxsb2NfZG9tYWluKE5VTEwsIGRvbWlkKTsNCj4+Pj4gK8KgwqDCoCB9DQo+
Pj4NCj4+PiBJIGRvbid0IHVuZGVyc3RhbmQgaG93IHRoaXMgY2hhbmdlIGlzIHJlbGF0ZWQg
dG8gdGhpcyBjb21taXQuDQo+Pg0KPj4gSXQgaXMgZGlyZWN0bHkgcmVsYXRlZCB0byB0aGUg
aHVuayBiZWxvdy4gUmV0dXJuaW5nIGVycm5vIGluDQo+PiBhY2NfYWRkX2RvbV9uYmVudHJ5
KCkgcmVxdWlyZXMgaXQgdG8gYmUgc2V0IGNvcnJlY3RseSBpbg0KPj4gZmluZF9vcl9hbGxv
Y19leGlzdGluZ19kb21haW4oKS4NCj4+DQo+PiBJJ2xsIGFkZCBhIHJlbWFyayBpbiB0aGUg
Y29tbWl0IG1lc3NhZ2UuDQo+Pg0KPj4+DQo+Pj4gWy4uLl0NCj4+Pg0KPj4+PiAraW50IGFj
Y19hZGRfZG9tX25iZW50cnkoY29uc3Qgdm9pZCAqY3R4LCBzdHJ1Y3QgbGlzdF9oZWFkICpo
ZWFkLCBpbnQgdmFsLA0KPj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBp
bnQgZG9taWQpDQo+Pj4+ICt7DQo+Pj4+ICvCoMKgwqAgc3RydWN0IGNoYW5nZWRfZG9tYWlu
ICpjZDsNCj4+Pj4gKw0KPj4+PiArwqDCoMKgIGNkID0gYWNjX2dldF9jaGFuZ2VkX2RvbWFp
bihjdHgsIGhlYWQsIGRvbWlkKTsNCj4+Pj4gK8KgwqDCoCBpZiAoIWNkKQ0KPj4+PiArwqDC
oMKgwqDCoMKgwqAgcmV0dXJuIGVycm5vOw0KPj4+PiArDQo+Pj4+ICvCoMKgwqAgY2QtPm5i
ZW50cnkgKz0gdmFsOw0KPj4+DQo+Pj4gQXMgYSBmdXR1cmUgaW1wcm92ZW1lbnQsIGl0IHdv
dWxkIGJlIHdvcnRoIGNvbnNpZGVyaW5nIHRvIGNoZWNrIGZvciANCj4+PiB1bmRlcmZsb3cv
b3ZlcmZsb3cuDQo+Pg0KPj4gRG8geW91IHJlYWxseSB0aGluayB3ZSBuZWVkIHRvIG1ha2Ug
c3VyZSBub3QgdG8gYWRkL3JlbW92ZSBtb3JlIHRoYW4NCj4+IDIgYmlsbGlvbiBub2RlcyBv
d25lZCBieSBhIHNpbmdsZSBkb21haW4/DQo+IE5vIGFuZCB0aGF0J3Mgbm90IG15IHBvaW50
LiBJZiB5b3UgbG9vayBhdCBkb21haW5fZW50cnlfZml4KCkgd2UgaGF2ZSBhbiANCj4gYXNz
ZXJ0KCkgdG8gY2hlY2sgaWYgdGhlIHN1bSBpcyBzdGlsbCBvdmVyIDAuDQo+IA0KPiBUaGlz
IGFzc2VydCgpIHdhcyBhY3R1YWxseSB0cmlnZ2VyZWQgYSBmZXcgdGltZXMgd2hpbGUgdGVz
dGluZyB0aGUgcHJldmlvdXMgWFNBcyANCj4gYmF0Y2guIFNvIEkgdGhpbmsgaXQgd291bGQg
YmUgd29ydGggdG8gY2FycnkgYSBzaW1pbGFyIGNoZWNrIChtYXliZSBub3QgYW4gDQo+IGFz
c2VydCgpKSBqdXN0IGluIGNhc2Ugd2UgbWVzcyB1cCB3aXRoIGFjY291bnRpbmcgaW4gdGhl
IGZ1dHVyZS4NCg0KUGF0Y2ggMiBvZiB0aGUgMm5kIHNlcmllcyBkb2VzIHRoYXQgYWxyZWFk
eS4NCg0KDQpKdWVyZ2VuDQo=
--------------xgDkKHKwjEtXi7sbY0G40XMB
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------xgDkKHKwjEtXi7sbY0G40XMB--

--------------eEjgJAtHEBNk8GUGvVImFVjW--

--------------J00SrWioZKjMZDGMXtoANtbC
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOYS74FAwAAAAAACgkQsN6d1ii/Ey+R
0wf/Shp81pS4IoqRhVXr4fUWOljYElMPTXb7N2dYSb13yWGmfqQcMigKpPOI6C+OhWuTlsdxcAwT
KOcqqTDqW8Z2bRselDhaXl1UqN43tmcYIXwjJeGYybHw46gpF4GcToirNzZepC6FjR8AwkSs1eZ/
kjCJ101wMbNv+1xEMNQZwnslOUvFvvvqqWYep99sgfQdgJFFuMNLBMt9XBdbnpm3iuGU0eqcrAOW
diWx0YM3/a4lHxMvWGDvwRKdveYhAxqUBQWkPLBtv4S6bfy+nLIJpkMd9loyFphmTb17ACnXbqn4
Og0rv/rYvJ0tO6kopu7RDhAjnFpA0sqNWD6LMKdyog==
=lCYA
-----END PGP SIGNATURE-----

--------------J00SrWioZKjMZDGMXtoANtbC--


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 09:58:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 09:58:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460373.718273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p523T-0006U1-3F; Tue, 13 Dec 2022 09:58:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460373.718273; Tue, 13 Dec 2022 09:58:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p523T-0006Tu-0O; Tue, 13 Dec 2022 09:58:31 +0000
Received: by outflank-mailman (input) for mailman id 460373;
 Tue, 13 Dec 2022 09:58:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p523R-0006Tg-4W; Tue, 13 Dec 2022 09:58:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p523R-0003C6-1X; Tue, 13 Dec 2022 09:58:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p523Q-0006Q9-KP; Tue, 13 Dec 2022 09:58:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p523Q-0002qf-Jw; Tue, 13 Dec 2022 09:58:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8Sy0iFmKpcJdZl37Baz7gk5rUBhE68Ki53af8qHSvx4=; b=gg8yt0HLLzTeadzFw3QZEPATtu
	e8KMLObwtTirDvW7Fjf4BpETP60QYUwfrQsPodpYddH9XkGKEnehbIoDLrTmskNJPnUkvOKUaVL4b
	efySqpF0prqZpCiCw16ekjGkEYrtpo2pSFXLca1jHtDUtVle2afablEhBdsg1L/FG0h4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175162-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175162: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=03a25597f19cfd8e0e00aaa0cfd45940c916f896
X-Osstest-Versions-That:
    libvirt=a2ae3d299cf9c5ada8aa42ec4271748eb479dc27
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 13 Dec 2022 09:58:28 +0000

flight 175162 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175162/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175137
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175137
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175137
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              03a25597f19cfd8e0e00aaa0cfd45940c916f896
baseline version:
 libvirt              a2ae3d299cf9c5ada8aa42ec4271748eb479dc27

Last test of basis   175137  2022-12-10 04:25:13 Z    3 days
Testing same since   175162  2022-12-13 04:18:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrangé <berrange@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Nobuhiro MIKI <nmiki@yahoo-corp.jp>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   a2ae3d299c..03a25597f1  03a25597f19cfd8e0e00aaa0cfd45940c916f896 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 10:09:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 10:09:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460390.718284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52DZ-0008Kx-4C; Tue, 13 Dec 2022 10:08:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460390.718284; Tue, 13 Dec 2022 10:08:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52DZ-0008Kq-1R; Tue, 13 Dec 2022 10:08:57 +0000
Received: by outflank-mailman (input) for mailman id 460390;
 Tue, 13 Dec 2022 10:08:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TlCu=4L=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p52DY-0008Kk-4Z
 for xen-devel@lists.xen.org; Tue, 13 Dec 2022 10:08:56 +0000
Received: from mail-pf1-x436.google.com (mail-pf1-x436.google.com
 [2607:f8b0:4864:20::436])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d85e9e8-7acd-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 11:04:12 +0100 (CET)
Received: by mail-pf1-x436.google.com with SMTP id w26so1834566pfj.6
 for <xen-devel@lists.xen.org>; Tue, 13 Dec 2022 02:08:54 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 p127-20020a62d085000000b0057447bb0ddcsm7303623pfg.49.2022.12.13.02.08.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 13 Dec 2022 02:08:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d85e9e8-7acd-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=MEPGJn9q5adU/S8s2t73LSez7yHYVZcQQj4vV0P5hUM=;
        b=X8bYor2wPy//l8ImbPwYW8T1ZQnV+3BPOtWdNGUtmHcoRzaWEnBAav0BE9bULAYNI8
         NaCF04QmC+wTkS9Kdin3ZagV6y0JNNBKGg6RMl6HonkW8djuABfLKWj3YaaYfjdTPeD/
         0cehFt8wBxd2xhtIKFlombt6aNGCrp5z5trljLEE1zAAhqLaGBFLzIpZbu+DFxvw/SDx
         hufyI/lvW4MnIaarCY5khgvH8+6Y4BTtxze6qiOzD74la8x3HUhToezPNGeDjkC1YbNz
         kt6i5H8oO07cN8iCFJD7LHyHX/aMOG2Wm/l6VR/F4cldO+CTnfks+YTsIloz/IuVYfEo
         qUmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=MEPGJn9q5adU/S8s2t73LSez7yHYVZcQQj4vV0P5hUM=;
        b=rNkqxGge1/HxvPPJ9556DrgYcorKLHFewIa9t/Uee9FRBoJCg/i04dkhWktOHvcVpG
         W7MWsRNU7coyekSpdm1hMWGERTMdmQVp1S2nCWhHKBBX3RyS0fNsRaRJqAfpAUbfS/Xo
         dMtUHhEbbsUtUruOXRzOk3fUrjofW2VWagwRu9KkrPK4oOEng3k0mW3VMFiLWWt9bR24
         PiIwDArEitT8xWNLUV3JWo1tWUWj7MBZWFDBhZIO6mIw902WP7AGBh8R6vUhyBYS2v+P
         TXGNT6r181Simx6lljtjLj9xrAU53DR8V7aDf8GOAatlkFwP6jBmw6ioxCxFbBQj31+c
         IPig==
X-Gm-Message-State: ANoB5pkVYk3AG19SQK6zBX9ttdCo335/tCMRcqYu5HCoQYlR8qKgwjKh
	h8RAjMKB2Twk+dWgmQU+us/5aK7zmycW4SW2
X-Google-Smtp-Source: AA0mqf6oJUPIldSGXbAR/WBsPregy1vo5veyYFAEQADdpnwplQDnnEp41I49HfILwFcTY4UuYKQmLw==
X-Received: by 2002:a05:6a00:1786:b0:566:901d:cbef with SMTP id s6-20020a056a00178600b00566901dcbefmr26946623pfg.1.1670926132422;
        Tue, 13 Dec 2022 02:08:52 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH V9 0/3] toolstack support for generic virtio devices on Arm
Date: Tue, 13 Dec 2022 15:38:45 +0530
Message-Id: <cover.1670925998.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hello,

This patchset adds toolstack support for I2C, GPIO and generic virtio devices.
This is inspired from the work done by Oleksandr for the Disk device.

This is developed as part of Linaro's Project Stratos, where we are working
towards Hypervisor agnostic Rust based backends [1].

This is based of Xen's master branch.

V8->V9:
- Drop changes to tools/ocaml/libs/xl/genwrap.py file.
- Replace GPIO with I2C in a comment.
- Add Reviewed-by tags.

V7->V8:
- Use macros for compatible string names.
- Use strcmp() instead of strncmp() at several places.
- Rename "virtio,devices" to "virtio,device" in commit log.
- Remove extra call to fdt_end_node().
- Disallow "unknown" in xenstore transport.
- Use libxl__strdup().
- Update documentation.
- Remove DEVICE_ADDREMOVE(virtio).

V6->V7:
- Support generic virtio devices too. They are passed with type=virtio,device,
  and we only create the MMIO DT node for them.
- Add links to DT bindings of I2C and GPIO, in code and documentation.
- Call libxl__device_add() for all hypervisor types.
- Add (0, "UNKNOWN") for libxl_virtio_transport.
- Removed libxl_virtio_backend and libxl_virtioinfo, as they were unused.
- Remove unnecessary stuff from libxl__virtio_from_xenstore() and add support
  for type and transport.
- Add backend=domid in documentation and replace compatible with type.
- Improved commit logs.

V5->V6:
- The cleanup patches are sent separately [2].
- We don't add I2C or GPIO specific device changes anymore, rather we create
  generic "virtio" devices. The "type" of a virtio devices helps us identify the
  right device, and create an entry in the DT node. The same can be used for all
  Virtio devices now.
- Update man page xl.cfg.

V4->V5:
- Fixed indentation at few places.
- Removed/added blank lines.
- Added few comments.
- Added review tags from Oleksandr.
- Rebased over latest staging branch.

V3->V4:
- Update virtio_enabled independently of all devices, so we don't miss setting
  it to true.

- Add iommu handling for i2c/gpio and move it as part of
  make_virtio_mmio_node_common(), which gets backend_domid parameter as a
  result.

V2->V3:
- Rebased over latest tree and made changes according to changes in Oleksandr's
  patches from sometime back.
- Minor cleanups.

V1->V2:
- Patches 3/6 and 4/6 are new.
- Patches 5/6 and 6/6 updated based on the above two patches.
- Added link to the bindings for I2C and GPIO.
- Rebased over latest master branch.


Thanks.

--
Viresh

[1] https://lore.kernel.org/xen-devel/20220414092358.kepxbmnrtycz7mhe@vireshk-i7/

Viresh Kumar (3):
  libxl: Add support for generic virtio device
  xl: Add support to parse generic virtio device
  docs: Add documentation for generic virtio devices

 docs/man/xl.cfg.5.pod.in                  |  33 +++++
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_arm.c              | 100 +++++++++++++++
 tools/libs/light/libxl_create.c           |   4 +
 tools/libs/light/libxl_internal.h         |   6 +
 tools/libs/light/libxl_types.idl          |  18 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/libs/light/libxl_virtio.c           | 144 ++++++++++++++++++++++
 tools/xl/xl_parse.c                       |  81 ++++++++++++
 9 files changed, 388 insertions(+)
 create mode 100644 tools/libs/light/libxl_virtio.c

-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 10:09:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 10:09:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460391.718295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52Db-00008t-B4; Tue, 13 Dec 2022 10:08:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460391.718295; Tue, 13 Dec 2022 10:08:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52Db-00008m-7x; Tue, 13 Dec 2022 10:08:59 +0000
Received: by outflank-mailman (input) for mailman id 460391;
 Tue, 13 Dec 2022 10:08:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TlCu=4L=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p52Da-0008Kk-HI
 for xen-devel@lists.xen.org; Tue, 13 Dec 2022 10:08:58 +0000
Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com
 [2607:f8b0:4864:20::1030])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f62006a-7acd-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 11:04:15 +0100 (CET)
Received: by mail-pj1-x1030.google.com with SMTP id js9so2886003pjb.2
 for <xen-devel@lists.xen.org>; Tue, 13 Dec 2022 02:08:57 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 n10-20020a170902e54a00b00186ff402508sm8015004plf.281.2022.12.13.02.08.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 13 Dec 2022 02:08:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f62006a-7acd-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mTZu0m+CtVcg3lIpWEuYY6mdYbQncXJ7Pol70g22OOU=;
        b=KFukmjS53RU0JdTYkmBWL357JRG/21ARUmwmaBm1TlzA8StyRKPj42uJYqBRG1eQOT
         NfjMqsUG0s2vgQsn/yFnTbGGifHS9xQDvLRsnX90KAQm63m9MHY98QkkeV/SwCjHd0i0
         28Bn655MtjvhxZJJhHquMRKI4iZyloyRyutV6YAyAlJTENMya8ETkNDgsspwj3y/WDBK
         GQ6FLsc9vJ+ETKR1z9b0A5j9OJK23WnpCsfKtBxQ6kixkwCmhn9EjpjVXRwH4vkxGnLH
         ZaJ3TLRAOd5rFiIv7lWPyXkRwnE6nXUobYJ0QOULvu40HTlZSpoTqBElNyqOlDIxsjnz
         Djfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=mTZu0m+CtVcg3lIpWEuYY6mdYbQncXJ7Pol70g22OOU=;
        b=imweCmQVT2w8RT7jMqj+vbdbjV6pOxMBPxJmN/HCvAPj3OAmvLDF61cJsunaUdlWO0
         9HeqQlLbsUO8FhVnmfmZMFeEZERzL+NIpNjgpsMSUGPsm0a1ETCYmVpJwUEHUiYvz4uM
         b5jLE9KBvXoslsbNkSe8VE60X7/lsZU/RscIrEY2iHwF03+CSOX+038uz5sJtj76Cvh/
         VqRZS8QRIBR+t66Dv7WAJjIh6rRBB3KYkt7ETTRAZPfTkDc7Q3KRkMh5eol3aMm8VCJF
         I0dZCHUFBOwNuMPcQBNj05E438DS1bU7xSt58DIbqkE9FpFT68p4KKb+i0Nn7tCFkeqy
         Du1Q==
X-Gm-Message-State: ANoB5plaVsBe3hG9NZHFdnqngK2DqyH5/ZFZCSWMOUCyAxZtaUD24gBd
	jJX7HCKpL6USvB3tyizua2Py3QbziCW1q/yv
X-Google-Smtp-Source: AA0mqf7AgQdDN6Uqc0psd4UQTpisXQ5HkHH+MWsVU041Thb+OPk4Uh20sq+AjarQ5+eqK98jcks+Pg==
X-Received: by 2002:a17:902:f80e:b0:189:a520:2ff0 with SMTP id ix14-20020a170902f80e00b00189a5202ff0mr19761339plb.34.1670926135525;
        Tue, 13 Dec 2022 02:08:55 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH V9 1/3] libxl: Add support for generic virtio device
Date: Tue, 13 Dec 2022 15:38:46 +0530
Message-Id: <01dfa7692457a7f40255645f5239f74797e6db3a.1670925998.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1670925998.git.viresh.kumar@linaro.org>
References: <cover.1670925998.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for configuring and assisting generic
Virtio backends, which could run in any domain.

An example of domain configuration for mmio based Virtio I2C device is:
virtio = ["type=virtio,device22,transport=mmio"]

To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
region) and pass them to the backend and update guest device-tree to
create a DT node for the Virtio devices.

Add special support for I2C and GPIO devices, which require the
"compatible" DT property to be set, among other device specific
properties. Support for generic virtio devices is also added, which just
need a MMIO node but not any special DT properties, for such devices the
user needs to pass "virtio,device" in the "type" string.

The parsing of generic virtio device configurations will be done in a
separate commit.

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_arm.c              | 100 +++++++++++++++
 tools/libs/light/libxl_create.c           |   4 +
 tools/libs/light/libxl_internal.h         |   6 +
 tools/libs/light/libxl_types.idl          |  18 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/libs/light/libxl_virtio.c           | 144 ++++++++++++++++++++++
 7 files changed, 274 insertions(+)
 create mode 100644 tools/libs/light/libxl_virtio.c

diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 374be1cfab25..4fddcc6f51d7 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -106,6 +106,7 @@ OBJS-y += libxl_vdispl.o
 OBJS-y += libxl_pvcalls.o
 OBJS-y += libxl_vsnd.o
 OBJS-y += libxl_vkb.o
+OBJS-y += libxl_virtio.o
 OBJS-y += libxl_genid.o
 OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index fa3d61f1e882..ddc7b2a15975 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -113,6 +113,19 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         }
     }
 
+    for (i = 0; i < d_config->num_virtios; i++) {
+        libxl_device_virtio *virtio = &d_config->virtios[i];
+
+        if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
+            continue;
+
+        rc = alloc_virtio_mmio_params(gc, &virtio->base, &virtio->irq,
+                                      &virtio_mmio_base, &virtio_mmio_irq);
+
+        if (rc)
+            return rc;
+    }
+
     /*
      * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
      * present, make sure that we allocate enough SPIs for them.
@@ -956,6 +969,79 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *fdt, uint64_t base,
     return fdt_end_node(fdt);
 }
 
+/*
+ * The DT bindings for I2C device are present here:
+ *
+ * https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml
+ */
+static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt)
+{
+    int res;
+
+    res = fdt_begin_node(fdt, "i2c");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_I2C);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
+/*
+ * The DT bindings for GPIO device are present here:
+ *
+ * https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml
+ */
+static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt)
+{
+    int res;
+
+    res = fdt_begin_node(fdt, "gpio");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_GPIO);
+    if (res) return res;
+
+    res = fdt_property(fdt, "gpio-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#gpio-cells", 2);
+    if (res) return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 2);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
+static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt, uint64_t base,
+                                        uint32_t irq, const char *type,
+                                        uint32_t backend_domid)
+{
+    int res;
+
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
+    if (res) return res;
+
+    /* Add device specific nodes */
+    if (!strcmp(type, VIRTIO_DEVICE_TYPE_I2C)) {
+        res = make_virtio_mmio_node_i2c(gc, fdt);
+        if (res) return res;
+    } else if (!strcmp(type, VIRTIO_DEVICE_TYPE_GPIO)) {
+        res = make_virtio_mmio_node_gpio(gc, fdt);
+        if (res) return res;
+    } else if (strcmp(type, VIRTIO_DEVICE_TYPE_GENERIC)) {
+        /* Doesn't match generic virtio device */
+        LOG(ERROR, "Invalid type for virtio device: %s", type);
+        return -EINVAL;
+    }
+
+    return fdt_end_node(fdt);
+}
+
 static const struct arch_info *get_arch_info(libxl__gc *gc,
                                              const struct xc_dom_image *dom)
 {
@@ -1277,6 +1363,20 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
             }
         }
 
+        for (i = 0; i < d_config->num_virtios; i++) {
+            libxl_device_virtio *virtio = &d_config->virtios[i];
+
+            if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
+                continue;
+
+            if (virtio->backend_domid != LIBXL_TOOLSTACK_DOMID)
+                iommu_needed = true;
+
+            FDT( make_virtio_mmio_node_device(gc, fdt, virtio->base,
+                                              virtio->irq, virtio->type,
+                                              virtio->backend_domid) );
+        }
+
         /*
          * The iommu node should be created only once for all virtio-mmio
          * devices.
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 612eacfc7fac..beec3f6b6fec 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -1752,6 +1752,10 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
         libxl__device_add(gc, domid, &libxl__pvcallsif_devtype,
                           &d_config->pvcallsifs[i]);
 
+    for (i = 0; i < d_config->num_virtios; i++)
+        libxl__device_add(gc, domid, &libxl__virtio_devtype,
+                          &d_config->virtios[i]);
+
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
     {
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index a7c447c10e5f..97e1e66d98af 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -166,6 +166,11 @@
 /* Convert pfn to physical address space. */
 #define pfn_to_paddr(x) ((uint64_t)(x) << XC_PAGE_SHIFT)
 
+/* Virtio device types */
+#define VIRTIO_DEVICE_TYPE_GENERIC   "virtio,device"
+#define VIRTIO_DEVICE_TYPE_GPIO      "virtio,device22"
+#define VIRTIO_DEVICE_TYPE_I2C       "virtio,device29"
+
 /* logging */
 _hidden void libxl__logv(libxl_ctx *ctx, xentoollog_level msglevel, int errnoval,
              const char *file /* may be 0 */, int line /* ignored if !file */,
@@ -4003,6 +4008,7 @@ static inline int *libxl__device_type_get_num(
 
 extern const libxl__device_type libxl__vfb_devtype;
 extern const libxl__device_type libxl__vkb_devtype;
+extern const libxl__device_type libxl__virtio_devtype;
 extern const libxl__device_type libxl__disk_devtype;
 extern const libxl__device_type libxl__nic_devtype;
 extern const libxl__device_type libxl__vtpm_devtype;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 9e3d33cb5a59..0cfad8508dbd 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -278,6 +278,11 @@ libxl_vkb_backend = Enumeration("vkb_backend", [
     (2, "LINUX")
     ])
 
+libxl_virtio_transport = Enumeration("virtio_transport", [
+    (0, "UNKNOWN"),
+    (1, "MMIO"),
+    ])
+
 libxl_passthrough = Enumeration("passthrough", [
     (0, "default"),
     (1, "disabled"),
@@ -703,6 +708,18 @@ libxl_device_vkb = Struct("device_vkb", [
     ("multi_touch_num_contacts", uint32)
     ])
 
+libxl_device_virtio = Struct("device_virtio", [
+    ("backend_domid", libxl_domid),
+    ("backend_domname", string),
+    ("type", string),
+    ("transport", libxl_virtio_transport),
+    ("devid", libxl_devid),
+    # Note that virtio-mmio parameters (irq and base) are for internal
+    # use by libxl and can't be modified.
+    ("irq", uint32),
+    ("base", uint64)
+    ])
+
 libxl_device_disk = Struct("device_disk", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
@@ -980,6 +997,7 @@ libxl_domain_config = Struct("domain_config", [
     ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
     ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
     ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
+    ("virtios", Array(libxl_device_virtio, "num_virtios")),
     ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
     ("p9s", Array(libxl_device_p9, "num_p9s")),
     ("pvcallsifs", Array(libxl_device_pvcallsif, "num_pvcallsifs")),
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index fb0f4f23d7c2..e24288f1a59e 100644
--- a/tools/libs/light/libxl_types_internal.idl
+++ b/tools/libs/light/libxl_types_internal.idl
@@ -33,6 +33,7 @@ libxl__device_kind = Enumeration("device_kind", [
     (15, "VSND"),
     (16, "VINPUT"),
     (17, "VIRTIO_DISK"),
+    (18, "VIRTIO"),
     ])
 
 libxl__console_backend = Enumeration("console_backend", [
diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virtio.c
new file mode 100644
index 000000000000..6a38def2faf5
--- /dev/null
+++ b/tools/libs/light/libxl_virtio.c
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_internal.h"
+
+static int libxl__device_virtio_setdefault(libxl__gc *gc, uint32_t domid,
+                                           libxl_device_virtio *virtio,
+                                           bool hotplug)
+{
+    return libxl__resolve_domid(gc, virtio->backend_domname,
+                                &virtio->backend_domid);
+}
+
+static int libxl__device_from_virtio(libxl__gc *gc, uint32_t domid,
+                                     libxl_device_virtio *virtio,
+                                     libxl__device *device)
+{
+    device->backend_devid   = virtio->devid;
+    device->backend_domid   = virtio->backend_domid;
+    device->devid           = virtio->devid;
+    device->domid           = domid;
+
+    device->backend_kind    = LIBXL__DEVICE_KIND_VIRTIO;
+    device->kind            = LIBXL__DEVICE_KIND_VIRTIO;
+
+    return 0;
+}
+
+static int libxl__set_xenstore_virtio(libxl__gc *gc, uint32_t domid,
+                                      libxl_device_virtio *virtio,
+                                      flexarray_t *back, flexarray_t *front,
+                                      flexarray_t *ro_front)
+{
+    const char *transport = libxl_virtio_transport_to_string(virtio->transport);
+
+    flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->irq));
+    flexarray_append_pair(back, "base", GCSPRINTF("%lu", virtio->base));
+    flexarray_append_pair(back, "type", GCSPRINTF("%s", virtio->type));
+    flexarray_append_pair(back, "transport", GCSPRINTF("%s", transport));
+
+    flexarray_append_pair(front, "irq", GCSPRINTF("%u", virtio->irq));
+    flexarray_append_pair(front, "base", GCSPRINTF("%lu", virtio->base));
+    flexarray_append_pair(front, "type", GCSPRINTF("%s", virtio->type));
+    flexarray_append_pair(front, "transport", GCSPRINTF("%s", transport));
+
+    return 0;
+}
+
+static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
+                                       libxl_devid devid,
+                                       libxl_device_virtio *virtio)
+{
+    const char *be_path, *tmp = NULL;
+    int rc;
+
+    virtio->devid = devid;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/backend", libxl_path),
+                                  &be_path);
+    if (rc) goto out;
+
+    rc = libxl__backendpath_parse_domid(gc, be_path, &virtio->backend_domid);
+    if (rc) goto out;
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/irq", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        virtio->irq = strtoul(tmp, NULL, 0);
+    }
+
+    tmp = NULL;
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/base", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        virtio->base = strtoul(tmp, NULL, 0);
+    }
+
+    tmp = NULL;
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/transport", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        if (!strcmp(tmp, "mmio")) {
+            virtio->transport = LIBXL_VIRTIO_TRANSPORT_MMIO;
+        } else {
+            return ERROR_INVAL;
+        }
+    }
+
+    tmp = NULL;
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/type", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        int len = sizeof(VIRTIO_DEVICE_TYPE_GENERIC) - 1;
+
+        if (!strncmp(tmp, VIRTIO_DEVICE_TYPE_GENERIC, len)) {
+            virtio->type = libxl__strdup(NOGC, tmp);
+        } else {
+            return ERROR_INVAL;
+        }
+    }
+
+out:
+    return rc;
+}
+
+static LIBXL_DEFINE_UPDATE_DEVID(virtio)
+
+#define libxl__add_virtios NULL
+#define libxl_device_virtio_compare NULL
+
+DEFINE_DEVICE_TYPE_STRUCT(virtio, VIRTIO, virtios,
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_virtio,
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__virtio_from_xenstore,
+    .skip_attach = 1
+);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 10:09:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 10:09:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460392.718306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52Dh-0000TH-KA; Tue, 13 Dec 2022 10:09:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460392.718306; Tue, 13 Dec 2022 10:09:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52Dh-0000TA-Gz; Tue, 13 Dec 2022 10:09:05 +0000
Received: by outflank-mailman (input) for mailman id 460392;
 Tue, 13 Dec 2022 10:09:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TlCu=4L=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p52Df-0008Kk-UF
 for xen-devel@lists.xen.org; Tue, 13 Dec 2022 10:09:04 +0000
Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com
 [2607:f8b0:4864:20::1035])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8300234d-7acd-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 11:04:21 +0100 (CET)
Received: by mail-pj1-x1035.google.com with SMTP id
 e7-20020a17090a77c700b00216928a3917so2996126pjs.4
 for <xen-devel@lists.xen.org>; Tue, 13 Dec 2022 02:09:03 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 je19-20020a170903265300b00186b3c3e2dasm8022658plb.155.2022.12.13.02.09.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 13 Dec 2022 02:09:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8300234d-7acd-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+7t/bITPAutPCDFaVHnpGALOK3FXJdmGHlDPnk3jI8E=;
        b=T6ILUYBJz8OYkA6h7aQqiHbdX/YufqnqVpUSrm46+PeL+wKskAseHPC9SD1qxUVjUU
         5P8voGXKEmyspxViIvC3nb9bLhzYmy9Iu2fiFJLkC9C6cj1clKZKP2z5wuBNTgztltoP
         HmqQVP5yZhsIRSuVNu72NGAqtaBXoG1UE6AXG5HAfeweGRIs0suXf+SafE2qyAQfSX+X
         /Vu1ZTNxQtHtIS4FM2B1mSStascJbxis73+wlu7qiUX+9LDBOy8zwVAusslltRNnHYQJ
         gFwxWFbkVdsACxyWMaBbRVPqQCxw45xXk1SHs0Mys1vOBICCfgSq9pvV+C/ebAKVxkca
         CS/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+7t/bITPAutPCDFaVHnpGALOK3FXJdmGHlDPnk3jI8E=;
        b=vCLkqD0IYHRdbbtomKfVsF0NqV7mRBeg+SJ2AFYMlw/PkDgXREQna8yffVRZRKHtMJ
         8Q97I1pMvzC8UseLn2yWtZJHayKGQuoRXgHg+AIZbdGz7jw79vGZQUw2X9ECJUN0WqfG
         h+YsCkdiB9X05EMW87XpSpu7/OXeUNIAv0Zh3dzCUGu+zPcCTly4xP9kBY4hbFj3U+tB
         fNc2VuJMEgXw0bZe3A4kvNFuqLVXGv+OJOPHeQGHO3IjB/TZrTwRue20miGYdd8vp0Xg
         yoYdTEn//Kqpx+S05Qp6g0/02HJj373GOfRmwe1/MCEJyUaGTlCL3YUqyYwL2y2qXnqO
         6CdA==
X-Gm-Message-State: ANoB5pkrX0HPypHpI6lQ7w5EUTGDBwIZ0aRARhD2+N+FVFiHXAKQJE0O
	z6+OvDPqaAnJL8bI+DCrhrBzXWtp9HwDAK4S
X-Google-Smtp-Source: AA0mqf7l+e1nb0jNYgH2yyzVnU1MdvImLWlvmag1vywWbAq22hfdLiuB2CN9FgOjV3n0e+SaULmc3A==
X-Received: by 2002:a17:903:2448:b0:189:f277:3830 with SMTP id l8-20020a170903244800b00189f2773830mr29937549pls.68.1670926141782;
        Tue, 13 Dec 2022 02:09:01 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH V9 3/3] docs: Add documentation for generic virtio devices
Date: Tue, 13 Dec 2022 15:38:48 +0530
Message-Id: <a0eb1c6d571cc3ed9ca7dd71dabe3aba6e69100c.1670925998.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1670925998.git.viresh.kumar@linaro.org>
References: <cover.1670925998.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch updates xl.cfg man page with details of generic Virtio device
related information.

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 docs/man/xl.cfg.5.pod.in | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index ec444fb2ba79..024bceeb61b2 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -1585,6 +1585,39 @@ Set maximum height for pointer device.
 
 =back
 
+=item B<virtio=[ "VIRTIO_DEVICE_STRING", "VIRTIO_DEVICE_STRING", ...]>
+
+Specifies the Virtio devices to be provided to the guest.
+
+Each B<VIRTIO_DEVICE_STRING> is a comma-separated list of C<KEY=VALUE> settings
+from the following list. As a special case, a single comma is allowed in the
+VALUE of the "type" KEY, where the VALUE is set with "virtio,device<N>".
+
+=over 4
+
+=item B<backend=domain-id>
+
+Specifies the backend domain name or id, defaults to dom0.
+
+=item B<type=STRING>
+
+Specifies the compatible string for the specific Virtio device. The same will be
+written in the Device Tree compatible property of the Virtio device. For
+example, "type=virtio,device22" for the I2C device, whose device-tree binding is
+present here:
+
+L<https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml>
+
+For generic virtio devices, where we don't need to set special or compatible
+properties in the Device Tree, the type field must be set to "virtio,device".
+
+=item B<transport=STRING>
+
+Specifies the transport mechanism for the Virtio device, only "mmio" is
+supported for now.
+
+=back
+
 =item B<tee="STRING">
 
 B<Arm only.> Set TEE type for the guest. TEE is a Trusted Execution
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 10:11:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 10:11:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460408.718317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52Fk-0002Pd-6L; Tue, 13 Dec 2022 10:11:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460408.718317; Tue, 13 Dec 2022 10:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52Fk-0002PW-3k; Tue, 13 Dec 2022 10:11:12 +0000
Received: by outflank-mailman (input) for mailman id 460408;
 Tue, 13 Dec 2022 10:11:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TlCu=4L=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p52Fi-0002PB-5S
 for xen-devel@lists.xen.org; Tue, 13 Dec 2022 10:11:10 +0000
Received: from mail-pg1-x52f.google.com (mail-pg1-x52f.google.com
 [2607:f8b0:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2940d26c-7ace-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 11:10:41 +0100 (CET)
Received: by mail-pg1-x52f.google.com with SMTP id 62so10069553pgb.13
 for <xen-devel@lists.xen.org>; Tue, 13 Dec 2022 02:10:15 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 q18-20020aa79832000000b005745635c5b5sm7319649pfl.183.2022.12.13.02.08.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 13 Dec 2022 02:08:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2940d26c-7ace-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vXqoRJdEJYKdn1X+SDtx30T59nlBol+wjpDAJ9IO1pU=;
        b=aE7AlhS8CgiEtCGbMGnU/ptP0rTc82SENRGLfLbOy4cE3BNmEMTvP3xN2bM1/+QBGF
         JTvhcik719IsAk1k7kAoWvQSlIpPeUWl//gy3+BB7G0LLYBi2pKjEA/BffcrGpwKDMGT
         5qdKhnSBTJVQAq1biGJjQ/Y8oG085gWBVVslABKQ36kR93ro3e39/RUExL/hqLnIx83K
         cfx3bXtW6vDrTF1lPulqjtBClPLmYiA2WpgEE5tDXBiOTIb9rZ9lO4mBt5W1R+xlvcDo
         3q0Kp/arsZB67mVU466ddIO0XoUIQuYM6ppJMNu5SidTfQUwaKiCXRa8lyax/dV5PO9s
         JfNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vXqoRJdEJYKdn1X+SDtx30T59nlBol+wjpDAJ9IO1pU=;
        b=RQRRP4KxI4rq/4D5fra+DZuI0kbiFKaxKUaxHI/DzdKGeDXCvXs+SdmQE/6EPpv752
         WI77hGV9+esp07jc0beIesSLKTq2WylzW+VvebiK/9a9FQm2vwQan15UC2vkU0yi8eJ9
         hLbJu2ycef4O+jPKH1Vjtu4QwNLJ+nJC4Y3BLYmBEiuYOtAc8Wce/xi2wLn5vS/KK5YS
         wOicU7RMC9GpLJcYrOLSQ8hhnb7m+EpOKX9mI+viwZ7R3hBtXijbzwU3pyVDJ8nshRzP
         o4GRfypELP8pD2cCe/8fnRMaau/+bfVoB1tTXlIYhMEzCoF4CoEAtisGkAX08tddG3t1
         vPOQ==
X-Gm-Message-State: ANoB5plUngysryhGJdl9EnET4jwPaiemOERjA2VCxKdGFs3Sa3zIwr6s
	fDOMprs0V9M5Vq8sgw9idII+a/lkt7ajNuUx
X-Google-Smtp-Source: AA0mqf7+39FAJZsI44hx/oCohVMvUC0nXhz3ahrFNjHR+3KrnEo/vp4OPA64ktQeWDAzTCHTsEqMmg==
X-Received: by 2002:a62:870d:0:b0:576:f02e:d0ef with SMTP id i13-20020a62870d000000b00576f02ed0efmr18610880pfe.4.1670926138720;
        Tue, 13 Dec 2022 02:08:58 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH V9 2/3] xl: Add support to parse generic virtio device
Date: Tue, 13 Dec 2022 15:38:47 +0530
Message-Id: <9822fd35c2b072da0fcdc37fc029c67d5543c716.1670925998.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1670925998.git.viresh.kumar@linaro.org>
References: <cover.1670925998.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for parsing generic Virtio backend.

An example of domain configuration for mmio based Virtio I2C device is:
virtio = ["type=virtio,device22,transport=mmio"]

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/xl/xl_parse.c | 81 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)

diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 644ab8f8fd36..853e9f357a1a 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1208,6 +1208,83 @@ static void parse_vkb_list(const XLU_Config *config,
     if (rc) exit(EXIT_FAILURE);
 }
 
+static int parse_virtio_config(libxl_device_virtio *virtio, char *token)
+{
+    char *oparg;
+    int rc;
+
+    if (MATCH_OPTION("backend", token, oparg)) {
+        virtio->backend_domname = strdup(oparg);
+    } else if (MATCH_OPTION("type", token, oparg)) {
+        virtio->type = strdup(oparg);
+    } else if (MATCH_OPTION("transport", token, oparg)) {
+        rc = libxl_virtio_transport_from_string(oparg, &virtio->transport);
+        if (rc) return rc;
+    } else {
+        fprintf(stderr, "Unknown string \"%s\" in virtio spec\n", token);
+        return -1;
+    }
+
+    return 0;
+}
+
+static void parse_virtio_list(const XLU_Config *config,
+                              libxl_domain_config *d_config)
+{
+    XLU_ConfigList *virtios;
+    const char *item;
+    char *buf = NULL, *oparg, *str = NULL;
+    int rc;
+
+    if (!xlu_cfg_get_list (config, "virtio", &virtios, 0, 0)) {
+        int entry = 0;
+        while ((item = xlu_cfg_get_listitem(virtios, entry)) != NULL) {
+            libxl_device_virtio *virtio;
+            char *p;
+
+            virtio = ARRAY_EXTEND_INIT(d_config->virtios, d_config->num_virtios,
+                                       libxl_device_virtio_init);
+
+            buf = strdup(item);
+
+            p = strtok(buf, ",");
+            while (p != NULL)
+            {
+                while (*p == ' ') p++;
+
+                // Type may contain a comma, do special handling.
+                if (MATCH_OPTION("type", p, oparg)) {
+                    if (!strncmp(oparg, "virtio", strlen("virtio"))) {
+                        char *p2 = strtok(NULL, ",");
+                        str = malloc(strlen(p) + strlen(p2) + 2);
+
+                        strcpy(str, p);
+                        strcat(str, ",");
+                        strcat(str, p2);
+                        p = str;
+                    }
+                }
+
+                rc = parse_virtio_config(virtio, p);
+                if (rc) goto out;
+
+                free(str);
+                str = NULL;
+                p = strtok(NULL, ",");
+            }
+
+            entry++;
+            free(buf);
+        }
+    }
+
+    return;
+
+out:
+    free(buf);
+    if (rc) exit(EXIT_FAILURE);
+}
+
 void parse_config_data(const char *config_source,
                        const char *config_data,
                        int config_len,
@@ -2753,6 +2830,10 @@ void parse_config_data(const char *config_source,
 
     parse_vkb_list(config, d_config);
 
+    d_config->virtios = NULL;
+    d_config->num_virtios = 0;
+    parse_virtio_list(config, d_config);
+
     xlu_cfg_get_defbool(config, "xend_suspend_evtchn_compat",
                         &c_info->xend_suspend_evtchn_compat, 0);
 
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 10:13:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 10:13:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460424.718327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52I2-00035Y-L4; Tue, 13 Dec 2022 10:13:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460424.718327; Tue, 13 Dec 2022 10:13:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52I2-00035R-IL; Tue, 13 Dec 2022 10:13:34 +0000
Received: by outflank-mailman (input) for mailman id 460424;
 Tue, 13 Dec 2022 10:13:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p52I1-00035L-Gf
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 10:13:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p52I0-0003aq-Ol; Tue, 13 Dec 2022 10:13:32 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.2.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p52I0-0002Wy-Ir; Tue, 13 Dec 2022 10:13:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=XUq9awQrE4nu+LgTbPCtSN6BsQ7c/e5iCJR4gwtx3Vk=; b=GUTYF7lOthjnfNsavdU8hh5XiR
	rbPXL/mWbOLUaMCOKl5nY1sa8hJBaYRfDvTxb4UHxI47YeGTRdXgtNUHgg53B6pE8nXheTj6duaVE
	Hz5IOW9FpSLpzUv85pvgeUtkgeBq7Rs56R/tylBAo91RG5DtWyuqsGGV2RkdnzQOgnOU=;
Message-ID: <d802fa56-ca43-8542-5ade-1e396e34b8e2@xen.org>
Date: Tue, 13 Dec 2022 10:13:30 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 11/20] tools/xenstore: move changed domain handling
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101152842.4257-1-jgross@suse.com>
 <20221101152842.4257-12-jgross@suse.com>
 <6bad7b3c-eaa2-d342-a7f2-d265bdefd54a@xen.org>
 <e2aa2c60-5d4f-06ca-153e-cdb422aa084d@suse.com>
 <81985efe-7335-770c-c411-55c88db26a75@xen.org>
 <0dd9932b-356b-7201-d017-41dd061c6b44@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <0dd9932b-356b-7201-d017-41dd061c6b44@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 13/12/2022 09:54, Juergen Gross wrote:
> On 13.12.22 10:35, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 13/12/2022 06:53, Juergen Gross wrote:
>>> On 01.12.22 22:58, Julien Grall wrote:
>>>> Hi Juergen,
>>>>
>>>> On 01/11/2022 15:28, Juergen Gross wrote:
>>>>>   static bool check_indexes(XENSTORE_RING_IDX cons, 
>>>>> XENSTORE_RING_IDX prod)
>>>>> @@ -492,8 +504,12 @@ static struct domain 
>>>>> *find_or_alloc_existing_domain(unsigned int domid)
>>>>>       xc_dominfo_t dominfo;
>>>>>       domain = find_domain_struct(domid);
>>>>> -    if (!domain && get_domain_info(domid, &dominfo))
>>>>> -        domain = alloc_domain(NULL, domid);
>>>>> +    if (!domain) {
>>>>> +        if (!get_domain_info(domid, &dominfo))
>>>>> +            errno = ENOENT;
>>>>> +        else
>>>>> +            domain = alloc_domain(NULL, domid);
>>>>> +    }
>>>>
>>>> I don't understand how this change is related to this commit.
>>>
>>> It is directly related to the hunk below. Returning errno in
>>> acc_add_dom_nbentry() requires it to be set correctly in
>>> find_or_alloc_existing_domain().
>>>
>>> I'll add a remark in the commit message.
>>>
>>>>
>>>> [...]
>>>>
>>>>> +int acc_add_dom_nbentry(const void *ctx, struct list_head *head, 
>>>>> int val,
>>>>> +            unsigned int domid)
>>>>> +{
>>>>> +    struct changed_domain *cd;
>>>>> +
>>>>> +    cd = acc_get_changed_domain(ctx, head, domid);
>>>>> +    if (!cd)
>>>>> +        return errno;
>>>>> +
>>>>> +    cd->nbentry += val;
>>>>
>>>> As a future improvement, it would be worth considering to check for 
>>>> underflow/overflow.
>>>
>>> Do you really think we need to make sure not to add/remove more than
>>> 2 billion nodes owned by a single domain?
>> No and that's not my point. If you look at domain_entry_fix() we have 
>> an assert() to check if the sum is still over 0.
>>
>> This assert() was actually triggered a few times while testing the 
>> previous XSAs batch. So I think it would be worth to carry a similar 
>> check (maybe not an assert()) just in case we mess up with accounting 
>> in the future.
> 
> Patch 2 of the 2nd series does that already.

Ok. I will have a look.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 10:15:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 10:15:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460435.718339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52JV-0003kx-25; Tue, 13 Dec 2022 10:15:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460435.718339; Tue, 13 Dec 2022 10:15:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52JU-0003kq-UB; Tue, 13 Dec 2022 10:15:04 +0000
Received: by outflank-mailman (input) for mailman id 460435;
 Tue, 13 Dec 2022 10:15:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=scEP=4L=citrix.com=prvs=339c6d897=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p52JU-0003kd-8Z
 for xen-devel@lists.xen.org; Tue, 13 Dec 2022 10:15:04 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 00376574-7acf-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 11:15:02 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00376574-7acf-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670926502;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=2U1W/tBYnBYuvXKQ7BjW6QflCqBrrmwKgXU3wNrcxTc=;
  b=g939hzRGPJ0eyVDKhKCAuy7a5Bq+zFwBMoP60/nmbINT+eCsJMDbo3xO
   G0/25SqPyyOfJbUsB5de6mlY91uwE4ksUaPwAsyl5RyD9Gl/v1SykER08
   D+E8gS5gKwjLQZG2UFM+vLX/lOP9BOqQUDgJkTXoyX3CkRZvCuc/9Yoir
   8=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88085696
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:OI/EAalyKrHvyqSxGppiY/Ho5gzpIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xIcWGHUbP6LMzCmfIogPt6//EMOsMTcm4JrHVdu/ik1FSMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icf3grHmeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aqaVA8w5ARkP6kR5QSGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 fs+IhkhUCG9u92Z5aKnCdE2l+UpEMa+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsfYT/7C7pn9AusrnD5bz1frkPTvact6nLf5AdwzKLsIJzefdniqcB9zhbA9
 j+YrjqR7hcyd/imyiTc/U6WrcTIuijkfY4TOu2Tz6s/6LGU7jNKU0BHPbehmtG8g1K+Wt9Cb
 VQT+zAvoLIa8E2tR8P6GRa/pRaspQIRVdNWFKsh9AiHx67Q4gCYLngFSj9HeJots8pebTUu2
 0/Pld7vAzFimLmUT3uH8fGTtzzaETcRBX8PY2kDVwRty97nrYIokgPUTv5sFae0ipv+HjSY6
 zWLryV4h7IXiMMQ/6G6+1ndhHSrvJehZgw6/ALMRUq+8xh0IoWiYuSA+VXdqPpNMoudZl2Ap
 2Qf3diT6qYJF57lvDKMWugWHPeq+vOMKhXYgFhmBZ5n8C6ik1a4YZpZ/DZlYUtkLO4DYXrtY
 VTPokVV5ZlaJnzsarV4C6qvCsIhwK78U9v4V+zIacZmZpl3fRWAuiZ0aia43X3pkUUqubEyP
 9Gca8nEMJoBIf05lnzsHb5biOJ1gHBlrY/OeXzl5xOB25OyWk+rdYgqFUuSLdhj/YKOnAqAp
 r6zKPC24xlYVeT/ZAze/ogSMU0GIBAHOHzmlyBEXrXde1Q7QQnNH9eUmOp8INI9w8y5g8+Sp
 hmAtllkJE0TbJEtASGDcThdZbzmRv6TRlprbHV3bT5EN5XOCLtDDZvzlbNtJdHLF8Q5l5aYq
 sXpnO3easmjshydp1wggWDV9eSOjiiDiwOUJDaCazMiZZNmTAGh0oa6IVO/q3FWVnTr6pdWT
 1icOuTzGMpreuifJJyONKLHI62Z4hDxZ96er2OXe4IOKS0AAaBhKjDrj+9fHi3/AUyr+9du7
 C7PWU1wjbCU8+cIHCzh2fjsQ3GBT7EvQSK33gDzsd6LCMUt1jH7kNUdCr/RLW+1uaGd0PzKW
 Ni5BsrUaJUv9GumeaIme1q35crSP+fSmoI=
IronPort-HdrOrdr: A9a23:qCui5qm8V9qH59mVCtugh8IIiZjpDfLa3DAbv31ZSRFFG/Fw9/
 rCoB3U73/JYVcqKRcdcLW7UpVoLkmyyXcY2+cs1PKZLWvbUQiTXeZfBOnZsl7d8kTFn4Yw6U
 4jSdkaNDSZNzNHZK3BkW2F+rgboeVu8MqT9JjjJ3UGd3AVV0m3hT0JezpyESdNNXl77YJSLu
 vk2iLezQDQBEj+aK6AdwE4dtmGnfLnvrT8byULAhY2gTP+8Q9BuNbBYmOlNg51aUI0/Ysf
X-IronPort-AV: E=Sophos;i="5.96,241,1665460800"; 
   d="scan'208";a="88085696"
Date: Tue, 13 Dec 2022 10:14:55 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
CC: <xen-devel@lists.xen.org>, Juergen Gross <jgross@suse.com>, Julien Grall
	<julien@xen.org>, Vincent Guittot <vincent.guittot@linaro.org>,
	<stratos-dev@op-lists.linaro.org>, Alex =?iso-8859-1?Q?Benn=E9e?=
	<alex.bennee@linaro.org>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>, Mike Holmes
	<mike.holmes@linaro.org>, Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH V9 2/3] xl: Add support to parse generic virtio device
Message-ID: <Y5hQn0CB08wSeJJM@perard.uk.xensource.com>
References: <cover.1670925998.git.viresh.kumar@linaro.org>
 <9822fd35c2b072da0fcdc37fc029c67d5543c716.1670925998.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <9822fd35c2b072da0fcdc37fc029c67d5543c716.1670925998.git.viresh.kumar@linaro.org>

On Tue, Dec 13, 2022 at 03:38:47PM +0530, Viresh Kumar wrote:
> This patch adds basic support for parsing generic Virtio backend.
> 
> An example of domain configuration for mmio based Virtio I2C device is:
> virtio = ["type=virtio,device22,transport=mmio"]
> 
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 10:40:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 10:40:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460447.718349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52iG-0007a6-4z; Tue, 13 Dec 2022 10:40:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460447.718349; Tue, 13 Dec 2022 10:40:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52iG-0007Zz-2L; Tue, 13 Dec 2022 10:40:40 +0000
Received: by outflank-mailman (input) for mailman id 460447;
 Tue, 13 Dec 2022 10:40:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=koDi=4L=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1p52iE-0007Zt-6Y
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 10:40:38 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2053.outbound.protection.outlook.com [40.107.7.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 936a6305-7ad2-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 11:40:35 +0100 (CET)
Received: from AS8P189CA0030.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:31f::35)
 by DB9PR08MB6652.eurprd08.prod.outlook.com (2603:10a6:10:2ab::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.10; Tue, 13 Dec
 2022 10:40:33 +0000
Received: from VI1EUR03FT013.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:31f:cafe::a2) by AS8P189CA0030.outlook.office365.com
 (2603:10a6:20b:31f::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19 via Frontend
 Transport; Tue, 13 Dec 2022 10:40:32 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT013.mail.protection.outlook.com (100.127.145.11) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.21 via Frontend Transport; Tue, 13 Dec 2022 10:40:32 +0000
Received: ("Tessian outbound b4aebcc5bc64:v130");
 Tue, 13 Dec 2022 10:40:31 +0000
Received: from 797967815af4.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3310B2EA-DB2C-417D-934A-2793BDFE5531.1; 
 Tue, 13 Dec 2022 10:40:21 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 797967815af4.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 13 Dec 2022 10:40:21 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by PAWPR08MB10133.eurprd08.prod.outlook.com (2603:10a6:102:35f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.9; Tue, 13 Dec
 2022 10:40:19 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::eb53:5027:9f6c:cb1b]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::eb53:5027:9f6c:cb1b%2]) with mapi id 15.20.5924.009; Tue, 13 Dec 2022
 10:40:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 936a6305-7ad2-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=H05V9UWEn9+HrRt78Sv1zi2jvkV/Z6lHfEjfWmvr8TU=;
 b=esCX8MReti4g6xptQVhscyJoZX6XWDQZN0zLzdrupmmhMB7jfmDqbMZkKAFTjJRzyVrO27aPuij3BwYmrLVxzWWwzAUDcEsXU8oTVq0xyISzFOPpWh0xLUl0zjI07TOgnE3vPG0x/0O7OLbhOci0v8DA6uOCML17Kj2cpN0KVyQ=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UBIeVMlSw0+fRW1Hv/tkAlkquDpn9OfPhuApQde2j22txRhAovKpABd0ynADB+1F+wYevn8DSRcf1hCP5XTk3VjMH38nBmVuFXCAFB4NCJ2nFctMqLPTqt2OxolP6XBQhrHHDkX3x82V8TxFroI7B8CjMECBr5OP4A13plJElEkgyke8PjuzfU/Ty7IIbbnIhfmlscCjTXecvuzE/W0+fr8N6GiLN2yWC8SZzusc4SOSLpNyMqwg30noSYn9ZRmCaKMDFYFbk5K5ksnHS2ef3m+5nbAizRTxWwSQuTmpuML35yHLoFmdXAnOus/6fgiXOZzr4CkmFzxbEyTFh3A87A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H05V9UWEn9+HrRt78Sv1zi2jvkV/Z6lHfEjfWmvr8TU=;
 b=E42LlLAu6UK/71Xv2MdcMpkk462a1/jtJ8jIPMJgSRTzxS9n92YZ9vlqSi1Lj+kbOkqvYDmB8aZm4PY56Z8JGqOXchiBH2Tcg86wUDphO3Yd6hcrfanpKdbR32iNiBQigcy6oc5ofnf54cvuA9M8Sz1INdTXoSjObnUHQnEy/AhINBOWa3xsJnfQzOBd3DFaN2FJj4S7+bGSq8C1PKti5qmY+el1Zz2ByuEkPWsTvyeYsJ/+jowHa5MOKi42e1VY78jQW8qWSVtG2ROTE1K44+W364qrhLahds7+dG4chE9UDPAxG99E+Pcu6ay3zbK0u386haF1JvmrTOZ+1hbjEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=H05V9UWEn9+HrRt78Sv1zi2jvkV/Z6lHfEjfWmvr8TU=;
 b=esCX8MReti4g6xptQVhscyJoZX6XWDQZN0zLzdrupmmhMB7jfmDqbMZkKAFTjJRzyVrO27aPuij3BwYmrLVxzWWwzAUDcEsXU8oTVq0xyISzFOPpWh0xLUl0zjI07TOgnE3vPG0x/0O7OLbhOci0v8DA6uOCML17Kj2cpN0KVyQ=
From: Wei Chen <Wei.Chen@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: nd <nd@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Jiamei Xie
	<Jiamei.Xie@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>
Subject: RE: [PATCH v9 3/6] xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for
 phys_to_nid
Thread-Topic: [PATCH v9 3/6] xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for
 phys_to_nid
Thread-Index: AQHY+zrluQ6bhO04RE6Xg9on5yXu8a5ruT0AgAALEbA=
Date: Tue, 13 Dec 2022 10:40:18 +0000
Message-ID:
 <PAXPR08MB7420A426B6159B3669AC32A29EE39@PAXPR08MB7420.eurprd08.prod.outlook.com>
References: <20221118104508.768274-1-wei.chen@arm.com>
 <20221118104508.768274-4-wei.chen@arm.com>
 <6f04f1e7-4fd9-8ab5-0ea0-b6cf5925ca29@suse.com>
In-Reply-To: <6f04f1e7-4fd9-8ab5-0ea0-b6cf5925ca29@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: F3330E0F4A75244BBA88B86631C2C673.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	PAXPR08MB7420:EE_|PAWPR08MB10133:EE_|VI1EUR03FT013:EE_|DB9PR08MB6652:EE_
X-MS-Office365-Filtering-Correlation-Id: 9fa93b84-d85f-49b2-96f8-08dadcf675bd
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 rtYF3GY5cUUSZYsBuJX83UmC4eseCwlluV11S7aL0WAVzXYzRl8AKbFZDezI7Cu0RNUn2nLpL6E5eFW4LgJpKdghnDDceHzadlMtikzcWyo9OCKICd1nDiJY9yIb83UR1Xxz/eKF30BoB9ago4Rp9FNKCr309bUYsChrg+EjBNoh5YR2Z0wtPlZBJ/fTZ7eg1oyF6lg8WYdosQWdy4ZJ7wDmZ88Oaz7hmXE+TqjAfQtw7tOF2GCSKrdkS+V8HYozo+cxrV3gUA4dfHwRfPFAq7H1mqiyv0SZrufAXpZTPCkvXvLhe9IidbyYEKtVrfSVTBDCPI8ir3vfib5ESiik3hkXUi1wV1fIy+SJX9oUiSY1xDR/kOT2SPUNuQ6QAAXo1G3e8A1/paxcN57hJcqYj8if4RARyysuvvxHmAF0FSb00v9jgAvxHOhIOzg4LtLZ8RU0KniVhu0Om4G8Xl+PfmdQyhi7OjBa8qcFKIJcbVkAUX8TXoCO0OsVRwe6EfAjZBW6LWb2jNTiHk9cJMQgHJKKD3MQf+UPmXNH7DXfFxEaFVqJRM1STBkVij7jurmwi80gdqe1OHMr+kDLLFtNRbau5ET6xKWwCUgE6eSYSvU16Fp2cbCutBPCEtzHwqaRqj9gH+Vv/LBGlg1uxHk6GBtg6Ba8WKA6dpZ3KNT2BQ1uwp8H9s0tb++U31xyHgMNtVZTmIQpMAiEO9epJnWyFA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(366004)(376002)(136003)(39860400002)(346002)(451199015)(33656002)(86362001)(2906002)(53546011)(6506007)(9686003)(478600001)(7696005)(83380400001)(66946007)(64756008)(66556008)(186003)(38070700005)(8676002)(66476007)(66446008)(4326008)(71200400001)(38100700002)(76116006)(5660300002)(41300700001)(122000001)(8936002)(316002)(52536014)(6916009)(54906003)(26005)(55016003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10133
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VI1EUR03FT013.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	70e37342-d7bb-4b06-bafb-08dadcf66d8d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eFByv6sRLZfV2f4G8iSHOB2iwrxIVwFLRktMWH4zbH5beGh+/BfhaIEp/uVH2ECSYLhf33bY7E7YYbhbu45CzEYvozJfIrK6pGfiIck9OvJuVEfcm3McLb4qXC9uHkn8QAR4D54b44jeqRfyTZfJU4NVeZFgULR6yMJw+rwbh0QgTLIZ//mwnc5sFkVK0tBdUpakF7CvndR2S44491Aa6XzBtrF/NwnfPQkqM1Rq+K76+hZqN1cMukS0JBWJw9vr3ZG1SPzXHpxhXvGU92tSFQ+Aggcb7sd7JfY8WTJYb+J1hD8nWwVnyoF52cR0eEYuo+AKaE2ht09+MUs4u/vrQwPzQYX4pZuNFDTQaFYa0eOPNFFkftgBCTy+n+KmcRP25/ErOK+jf6UdIHBfei6uUyziHPQFz4bXPnFx8nI5NRvmjMIpRvGmFzsk9GZXjTV5ZTIvbHDfXAstqFjUfpiUCcN5+GCppVBsK31QEnqEResL2W3RfwOBNy0t4N19pwD/QzTn/WyTJF1h2mmZMGmZLPJ9mp7M3/jiub2TRdCBA47vHWXk8+up3psxC9jQA0nRcYhs5B87QU34ytEF/5KuC8GxnUBJEMA7A8MxAsK2fg1zCtvyCDdO2NAECyxfZrNPzaFZ2U/Czacmjda4WPqxZq+fdeJybaK1EqA0ZfKxvadFLu/aK/k+VizoSD1yGsSxtPB/YqW0mfrEqAADLrD8rA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(39860400002)(346002)(396003)(451199015)(36840700001)(40470700004)(46966006)(47076005)(336012)(83380400001)(81166007)(356005)(86362001)(82740400003)(36860700001)(2906002)(52536014)(6862004)(5660300002)(8936002)(40480700001)(40460700003)(4326008)(82310400005)(186003)(41300700001)(107886003)(478600001)(9686003)(26005)(53546011)(70206006)(70586007)(6506007)(7696005)(8676002)(316002)(55016003)(54906003)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 10:40:32.0208
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9fa93b84-d85f-49b2-96f8-08dadcf675bd
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VI1EUR03FT013.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6652

SGkgSmFuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCj4gU2VudDogMjAyMuW5tDEy5pyIMTPml6UgMTc6NDcN
Cj4gVG86IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPg0KPiBDYzogbmQgPG5kQGFybS5jb20+
OyBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPjsgR2VvcmdlDQo+IER1
bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPjsgSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVu
Lm9yZz47IFN0ZWZhbm8NCj4gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz47IFdl
aSBMaXUgPHdsQHhlbi5vcmc+OyBKaWFtZWkgWGllDQo+IDxKaWFtZWkuWGllQGFybS5jb20+OyB4
ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IFJvZ2VyIFBhdSBNb25uw6kNCj4gPHJvZ2Vy
LnBhdUBjaXRyaXguY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIHY5IDMvNl0geGVuL3g4Njog
VXNlIEFTU0VSVCBpbnN0ZWFkIG9mIFZJUlRVQUxfQlVHX09ODQo+IGZvciBwaHlzX3RvX25pZA0K
PiANCj4gT24gMTguMTEuMjAyMiAxMTo0NSwgV2VpIENoZW4gd3JvdGU6DQo+ID4gVklSVFVBTF9C
VUdfT04gaXMgYW4gZW1wdHkgbWFjcm8gdXNlZCBpbiBwaHlzX3RvX25pZC4gVGhpcw0KPiA+IHJl
c3VsdHMgaW4gdHdvIGxpbmVzIG9mIGVycm9yLWNoZWNraW5nIGNvZGUgaW4gcGh5c190b19uaWQN
Cj4gPiB0aGF0IGlzIG5vdCBhY3R1YWxseSB3b3JraW5nIGFuZCBjYXVzaW5nIHR3byBjb21waWxh
dGlvbg0KPiA+IGVycm9yczoNCj4gPiAxLiBlcnJvcjogIk1BWF9OVU1OT0RFUyIgdW5kZWNsYXJl
ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pLg0KPiA+ICAgIFRoaXMgaXMgYmVjYXVzZSBp
biB0aGUgY29tbW9uIGhlYWRlciBmaWxlLCAiTUFYX05VTU5PREVTIiBpcw0KPiA+ICAgIGRlZmlu
ZWQgYWZ0ZXIgdGhlIGNvbW1vbiBoZWFkZXIgZmlsZSBpbmNsdWRlcyB0aGUgQVJDSCBoZWFkZXIN
Cj4gPiAgICBmaWxlLCB3aGVyZSBwaHlzX3RvX25pZCBoYXMgYXR0ZW1wdGVkIHRvIHVzZSAiTUFY
X05VTU5PREVTIi4NCj4gPiAgICBUaGlzIGVycm9yIHdhcyByZXNvbHZlZCBhZnRlciB3ZSBtb3Zl
ZCB0aGUgcGh5c190b19uaWQgZnJvbQ0KPiA+ICAgIHg4NiBBUkNIIGhlYWRlciBmaWxlIHRvIGNv
bW1vbiBoZWFkZXIgZmlsZS4NCj4gPiAyLiBlcnJvcjogd3JvbmcgdHlwZSBhcmd1bWVudCB0byB1
bmFyeSBleGNsYW1hdGlvbiBtYXJrLg0KPiA+ICAgIFRoaXMgaXMgYmVjYXVzZSwgdGhlIGVycm9y
LWNoZWNraW5nIGNvZGUgY29udGFpbnMgIW5vZGVfZGF0YVtuaWRdLg0KPiA+ICAgIEJ1dCBub2Rl
X2RhdGEgaXMgYSBkYXRhIHN0cnVjdHVyZSB2YXJpYWJsZSwgaXQncyBub3QgYSBwb2ludGVyLg0K
PiA+DQo+ID4gU28sIGluIHRoaXMgcGF0Y2gsIHdlIHVzZSBBU1NFUlQgaW5zdGVhZCBvZiBWSVJU
VUFMX0JVR19PTiB0bw0KPiA+IGVuYWJsZSB0aGUgdHdvIGxpbmVzIG9mIGVycm9yLWNoZWNraW5n
IGNvZGUuIEFuZCBmaXggdGhlIGxlZnQNCj4gPiBjb21waWxhdGlvbiBlcnJvcnMgYnkgcmVwbGFj
aW5nICFub2RlX2RhdGFbbmlkXSB0bw0KPiA+ICFub2RlX2RhdGFbbmlkXS5ub2RlX3NwYW5uZWRf
cGFnZXMuIEFsdGhvdWdoIE5VTUEgYWxsb3dzIG9uZSBub2RlDQo+ID4gY2FuIG9ubHkgaGF2ZSBD
UFVzIGJ1dCB3aXRob3V0IGFueSBtZW1vcnkuIEFuZCBub2RlIHdpdGggMCBieXRlcw0KPiA+IG9m
IG1lbW9yeSBtaWdodCBoYXZlIGFuIGVudHJ5IGluIG1lbW5vZGVtYXBbXSB0aGVvcmV0aWNhbGx5
LiBCdXQNCj4gPiB0aGF0IGRvZXNuJ3QgbWVhbiBwaHlzX3RvX25pZCBjYW4gZmluZCBhbnkgdmFs
aWQgYWRkcmVzcyBmcm9tIGENCj4gPiBub2RlIHdpdGggMCBieXRlcyBtZW1vcnkuDQo+ID4NCj4g
PiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4NCj4gPiBUZXN0ZWQt
Ynk6IEppYW1laSBYaWUgPGppYW1laS54aWVAYXJtLmNvbT4NCj4gPiBBY2tlZC1ieTogSmFuIEJl
dWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPiANCj4gVGhpcyBwYXRjaCBpcyB3aGF0IGlzIGNh
dXNpbmcgdGhlIHJlZ3Jlc3Npb24gZm91bmQgYnkgb3NzdGVzdC4gVGhlDQo+IHByZXZpb3VzbHkg
c2lsZW50IChkZWFkKSBjaGVja3Mgbm8gdHJpZ2dlciB3aGVuIHBhZ2luZ19pbml0KCkNCj4gZW5j
b3VudGVycyBhIGhvbGUgaW4gU1JBVC1kZXNjcmliZWQgc3BhY2UsIGFzIGlzIHRoZSBjYXNlIGUu
Zy4gb24NCj4gdGhlIGhpbXJvZHM6DQo+IA0KPiAoWEVOKSBOVU1BOiBOb2RlIDAgUFhNIDAgWzAw
MDAwMDAwMDAwMDAwMDAsIDAwMDAwMDAwN2ZmZmZmZmZdDQo+IChYRU4pIE5VTUE6IE5vZGUgMCBQ
WE0gMCBbMDAwMDAwMDEwMDAwMDAwMCwgMDAwMDAwMDg3ZmZmZmZmZl0NCj4gKFhFTikgTlVNQTog
Tm9kZSAxIFBYTSAxIFswMDAwMDAwODgwMDAwMDAwLCAwMDAwMDAxMDdmZmZmZmZmXQ0KPiAoWEVO
KSBOVU1BOiBVc2luZyAxOSBmb3IgdGhlIGhhc2ggc2hpZnQNCj4gDQo+IFRoZSBub2RlIElEIGZv
ciAweDgwMDAwMDAwIChzbG90IDEgb2YgbWVtbm9kZW1hcFtdKSBpcyBOVU1BX05PX05PREUsDQo+
IHdoaWNoIG9mIGNvdXJzZSBmYWlscyB0aGUgbGVmdCBzaWRlIG9mIC4uLg0KPiANCg0KSSBhbSBz
b3JyeSwgSSBoYWQgbm90IHRyaWdnZXJlZCB0aGlzIGluIG15IHRlc3RpbmcgbWFjaGluZS4gSSdt
IGEgYml0DQpjdXJpb3VzLCBvbiBOVU1BIHBsYXRmb3JtcyB3aWxsIHRoZXJlIGJlIG1lbW9yeSB0
aGF0IGRvZXNuJ3QgYmVsb25nIHRvDQphbnkgbm9kZT8gSWYgbm90LCB3aHkgdGhlIHNwYWNlIG9m
IDB4ODAwMDAwMDAgd2lsbCBiZSB1c2VkIGluIHBhZ2luZ19pbml0Pw0KDQo+ID4gQEAgLTY5LDkg
KzY3LDkgQEAgZXh0ZXJuIHN0cnVjdCBub2RlX2RhdGEgbm9kZV9kYXRhW107DQo+ID4gIHN0YXRp
YyBpbmxpbmUgbm9kZWlkX3QgX19hdHRyaWJ1dGVfcHVyZV9fIHBoeXNfdG9fbmlkKHBhZGRyX3Qg
YWRkcikNCj4gPiAgew0KPiA+ICAgICAgbm9kZWlkX3QgbmlkOw0KPiA+IC0gICAgVklSVFVBTF9C
VUdfT04oKHBhZGRyX3RvX3BkeChhZGRyKSA+PiBtZW1ub2RlX3NoaWZ0KSA+PQ0KPiBtZW1ub2Rl
bWFwc2l6ZSk7DQo+ID4gKyAgICBBU1NFUlQoKHBhZGRyX3RvX3BkeChhZGRyKSA+PiBtZW1ub2Rl
X3NoaWZ0KSA8IG1lbW5vZGVtYXBzaXplKTsNCj4gPiAgICAgIG5pZCA9IG1lbW5vZGVtYXBbcGFk
ZHJfdG9fcGR4KGFkZHIpID4+IG1lbW5vZGVfc2hpZnRdOw0KPiA+IC0gICAgVklSVFVBTF9CVUdf
T04obmlkID49IE1BWF9OVU1OT0RFUyB8fCAhbm9kZV9kYXRhW25pZF0pOw0KPiA+ICsgICAgQVNT
RVJUKG5pZCA8IE1BWF9OVU1OT0RFUyAmJiBub2RlX2RhdGFbbmlkXS5ub2RlX3NwYW5uZWRfcGFn
ZXMpOw0KPiANCj4gLi4uIHRoZSAmJiBoZXJlLiBBcyBJIGRvbid0IHRoaW5rIHRoZSB1c2Ugb2Yg
cGh5c190b19uaWQoKSBieQ0KPiBwYWdpbmdfaW5pdCgpIGlzIG91dHJpZ2h0IGludmFsaWQsIEkg
d291bGQgY29uY2x1ZGUgdGhhdCB0aGUNCj4gY29uZGl0aW9uIG5lZWRzIHRvIGJlIHJlbGF4ZWQg
dG8gcGVybWl0IGZvciBOVU1BX05PX05PREUuIE90b2ggaXQncw0KPiBwb3NzaWJsZSB0aGF0IHRo
ZSBmdW5jdGlvbiB3YXMgcmVhbGx5IGludGVuZGVkIHRvIG5ldmVyIHJldHVybg0KPiBOVU1BX05P
X05PREUgKGFuZCBvbmx5IGV2ZXIgYmUgdXNlZCBvbiB2YWxpZCBtZW1vcnkgcmFuZ2VzKSwgaW4N
Cj4gd2hpY2ggY2FzZSBwYWdpbmdfaW5pdCgpIHdvdWxkIG5lZWQgdG8gdXNlIHNvbWV0aGluZyBl
bHNlIChvcg0KPiBtYWtlIHRoZSBjYWxsIGNvbmRpdGlvbmFsKTogQWNjb3JkaW5nIHRvIG15IGF1
ZGl0IGFsbCB1c2VzIGV4Y2VwdA0KPiB0aGUgdHdvIGluIHBhZ2luZ19pbml0KCkgYXJlIG9uIChz
dXBwb3NlZGx5KSB2YWxpZCBhZGRyZXNzZXMgb25seQ0KPiAoY29tbW9ubHkgd2hlbiBhbHJlYWR5
IGhvbGRpbmcgaW4gaGFuZHMgYSB2YWxpZCBzdHJ1Y3QgcGFnZV9pbmZvKS4NCj4gDQo+IFRoZW4g
YWdhaW4gdXMgaGF2aW5nIHBoeXNfdG9fbmlkKCkgaW4gdGhlIGZpcnN0IHBsYWNlIGlzIHNvbWV3
aGF0DQo+IGJvZ3VzOiBObyBjYWxsZXIgcmVhbGx5IHN0YXJ0cyBmcm9tIGEgcGh5c2ljYWwgYWRk
cmVzcy4gSXQgd291bGQNCj4gYmUgcXVpdGUgYSBiaXQgbW9yZSBzZW5zaWJsZSB0byBoYXZlIHBh
Z2VfdG9fbmlkKCkgYW5kIG1mbl90b19uaWQoKSwNCj4gdGhlIG1vcmUgdGhhdCB3aGF0IHBoeXNf
dG9fbmlkKCkgZG9lcyBpcyBwYXNzIHRoZSBhZGRyZXNzIHRvDQo+IHBhZGRyX3RvX3BkeCgpICh1
bmRvaW5nIGV2ZXJ5IGNhbGxlcidzIHRvLWFkZHIgY29udmVyc2lvbikuIEF0IHdoaWNoDQo+IHBv
aW50IHRoZSBmb3JtZXIgY291bGQgZG8gc3RyaWN0IGNoZWNraW5nIChkaXNhbGxvd2luZyBOVU1B
X05PX05PREUNCj4gb3V0cHV0KSB3aGlsZSB0aGUgbGF0dGVyIGNvdWxkIGJlIG1vcmUgcmVsYXhl
ZC4gSSBndWVzcyBJJ2xsIG1ha2UgYQ0KPiBwYXRjaCBhbG9uZyB0aGVzZSBsaW5lcy4NCj4gDQoN
ClRoYW5rcywgSSB3aWxsIHJldmlldyBpdCBhZnRlciB5b3Ugc2VudCB0aGF0IHBhdGNoLg0KDQpD
aGVlcnMsDQpXZWkgQ2hlbg0KDQo+IEphbg0K


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 10:49:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 10:49:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460458.718364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52qW-00006R-3i; Tue, 13 Dec 2022 10:49:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460458.718364; Tue, 13 Dec 2022 10:49:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52qW-00006K-12; Tue, 13 Dec 2022 10:49:12 +0000
Received: by outflank-mailman (input) for mailman id 460458;
 Tue, 13 Dec 2022 10:49:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nvb8=4L=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p52qU-00006E-Qj
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 10:49:10 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on2083.outbound.protection.outlook.com [40.107.100.83])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1ce72d68-7ad3-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 11:44:27 +0100 (CET)
Received: from BN1PR14CA0008.namprd14.prod.outlook.com (2603:10b6:408:e3::13)
 by CH0PR12MB5284.namprd12.prod.outlook.com (2603:10b6:610:d7::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 10:49:06 +0000
Received: from BN8NAM11FT011.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:e3:cafe::a6) by BN1PR14CA0008.outlook.office365.com
 (2603:10b6:408:e3::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19 via Frontend
 Transport; Tue, 13 Dec 2022 10:49:06 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT011.mail.protection.outlook.com (10.13.176.140) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.10 via Frontend Transport; Tue, 13 Dec 2022 10:49:05 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 04:49:04 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 04:49:04 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 13 Dec 2022 04:49:03 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ce72d68-7ad3-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZgeA//zoXxUqp6yQFj5hO9gGQvp6bZ618CTLyUNfa67vhLcikl2cFQ+bXcEH5RDQ56x83IMIDwCk1goLMtLvqbt1BezTEZh+mRVGEMlt/rcF5tJJAd7HkLJFAqX2pyN3a6GpUqFFYKmCiD/7vVBCSocPeIih8ePT68ibia81tLK9lNJJE7MnYzE6F/9RouJEaFrxZzeJzfyFnK0hfNBPzVdi9QPP+i4V2IfPPMgVP+mXvFPX9PS0O3LdaHxZCGV2pUgdQEcNprZRpsQXOuh4RmpSgd49pAKibTsjJsQJSNrl/wzrMX4qxr651RtDsHanyQHcyK0H+mgINIB2hB51ZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HuNpgwYzPNZ6sJRzy8OLXSaURUuZ7f6G0pEmrqOaVZ0=;
 b=mMpI6ozm95K6Vg23ZwbJi3zDCnjHHGhkhSDCH9r0D4+8G7CIHddPJzNklsKv7jFCT8rQpcawzISI0i+xmSXX47n8EeqoWam23Z1+Ksmt3xHrLSZFcT/JPmC9YRIAKQn4UJWyMt7hOD/vT+NLBdy37i3nsbTM+o6YkULCJ3VQ7GfUeprIDb/Fnzlboor236EBp5EboNh98Wp3k88oBBR+bbxAut4jn8GGF6ZR+5Cf4nP6sAlRVqTVNJoSponuqUjDAa2L6E3tIVerRtksx2+QXzezDNhw63wXwr3idAi7iuPHxD1pa6txQpHUUDaRWsL89sz18qzgdYLw1RcHSnNf/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HuNpgwYzPNZ6sJRzy8OLXSaURUuZ7f6G0pEmrqOaVZ0=;
 b=XvjM+zER//iBQuNmzSjLdRLxDardozZw4BxLJMUWJSTZKQeFJi+WAgvOuNVKh3zwyzY8pUoU8H4RbwonFCOGhSGiyGSvUZhFXxRk/LDvDII9LAnBri840v9WCphpPxlDGda11MrDIuZNUVdYZOIh5JnVnrBvTdSkUc5Av3bd/DU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <6b1172bc-2b26-457b-5653-1046bf8ce0de@amd.com>
Date: Tue, 13 Dec 2022 11:48:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 03/18] xen/arm32: flushtlb: Reduce scope of barrier for
 local TLB flush
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: <Luca.Fancellu@arm.com>, Julien Grall <jgrall@amazon.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-4-julien@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20221212095523.52683-4-julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT011:EE_|CH0PR12MB5284:EE_
X-MS-Office365-Filtering-Correlation-Id: bb361b4d-93d7-497b-1da7-08dadcf7a7ae
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tytR7vxkE6bVK4peBdHnyQdcRiE5/GOJm3OTINAPyE57p2vLSU/J46EQGCF2EEmrkRiNBTYt3Erl9hjxCwibLxq0/SFyXmxJc0Gn4f2G1asKxSlNGLDXpirhqysitv6Biw+9XM2Fyc43LofMxu3RL8egJbEvZZew7IAeWj6l4K6PuzBrVEAFCx3cABDIKA359sONxnz96IWB3teJVhlhGO5xMgkDhp3jvq2KF97gkC/yncsATFZZK20vNge6eoEzJ+n3ri9LxIrzxKM6bV084E4mJHiS8XgPa4hkVPoRGzCr1oiOjvbBvFtJZyIjx52bVNVMDk+HzLEvlE/GY5H0jWuTansLIP/SKqoNgy3JXzY7cauGF+UfyIGBW1lnof5mkFqFu0dvgDK3SD9igbr3exm+MFL05VaJdZuy5//Ue004A+kKNiw+nbL8IY16CfmwyCBKNfWgvMUeabT2vVTq5eFD+fjfa19ucykVrPjzCl1TJUeSowly+7gFKmiVxOaHFcN/yMxlZq7Y6CxPxXkAIQQUOzK3ZYaWCxoPzyUUC+oF9gfi6hr7XWy6RwavPb9JkRXx1YyrcCRjOGog58OEpE9mF2AFTSWx1DFDKhnD+LB1jzCxrShguYfw2ykkfUYZ9JI7apV/KFYjVcYd4euKBUWTu+LYp1FxFepuAKA4FP9k+aGS6kKtNMeG6eKvBvnrzsFBc2MjR84jqneca2u2FwlkCCPI+8braFTfYiIcSCoKG6RVmZS9f4ed4CcsQOuzVIiB+UcsXM+P2c4mXBL99A==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(39860400002)(346002)(376002)(451199015)(36840700001)(40470700004)(46966006)(81166007)(82740400003)(2906002)(31686004)(44832011)(40480700001)(4744005)(426003)(8676002)(53546011)(86362001)(82310400005)(6666004)(70586007)(54906003)(8936002)(5660300002)(316002)(4326008)(16576012)(70206006)(26005)(110136005)(478600001)(41300700001)(36756003)(356005)(36860700001)(31696002)(186003)(2616005)(83380400001)(336012)(47076005)(40460700003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 10:49:05.4116
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bb361b4d-93d7-497b-1da7-08dadcf7a7ae
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT011.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5284

Hi Julien,

On 12/12/2022 10:55, Julien Grall wrote:
> 
> 
> From: Julien Grall <jgrall@amazon.com>
> 
> Per G5-9224 in ARM DDI 0487I.a:
> 
> "A DSB NSH is sufficient to ensure completion of TLB maintenance
>  instructions that apply to a single PE. A DSB ISH is sufficient to
>  ensure completion of TLB maintenance instructions that apply to PEs
>  in the same Inner Shareable domain.
> "
> 
> This is quoting the Armv8 specification because I couldn't find an
> explicit statement in the Armv7 specification. Instead, I could find
> bits in various places that confirm the same implementation.
> 
> Furthermore, Linux has been using 'nsh' since 2013 (62cbbc42e001
> "ARM: tlb: reduce scope of barrier domains for TLB invalidation").
> 
> This means barrier after local TLB flushes could be reduced to
> non-shareable.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 10:56:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 10:56:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460468.718378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52xL-0001lw-Tf; Tue, 13 Dec 2022 10:56:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460468.718378; Tue, 13 Dec 2022 10:56:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52xL-0001lp-Qy; Tue, 13 Dec 2022 10:56:15 +0000
Received: by outflank-mailman (input) for mailman id 460468;
 Tue, 13 Dec 2022 10:56:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CKYI=4L=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p52xL-0001lj-4G
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 10:56:15 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on2040.outbound.protection.outlook.com [40.107.15.40])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a1faa85-7ad4-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 11:51:31 +0100 (CET)
Received: from DB6PR0202CA0003.eurprd02.prod.outlook.com (2603:10a6:4:29::13)
 by DBBPR08MB5929.eurprd08.prod.outlook.com (2603:10a6:10:208::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.9; Tue, 13 Dec
 2022 10:56:10 +0000
Received: from DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:29:cafe::8) by DB6PR0202CA0003.outlook.office365.com
 (2603:10a6:4:29::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11 via Frontend
 Transport; Tue, 13 Dec 2022 10:56:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT049.mail.protection.outlook.com (100.127.142.192) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5901.21 via Frontend Transport; Tue, 13 Dec 2022 10:56:10 +0000
Received: ("Tessian outbound 73ab5f36653e:v130");
 Tue, 13 Dec 2022 10:56:10 +0000
Received: from 2d5b50c9d11e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E05CB3EB-A968-4292-9DB2-3ABD5A1AE3BE.1; 
 Tue, 13 Dec 2022 10:56:00 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2d5b50c9d11e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 13 Dec 2022 10:56:00 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by VI1PR08MB10050.eurprd08.prod.outlook.com (2603:10a6:800:1c4::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.10; Tue, 13 Dec
 2022 10:55:55 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5924.010; Tue, 13 Dec 2022
 10:55:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a1faa85-7ad4-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NTdLLYaDC3+ZSY+aa8x5LCfn5EC6Euf4pS1uAG6MKx4=;
 b=HPgos1KD+5K7emMdcxFGCzWGNwievqYwJWX7fgIB3MKBHiM9+lln2K6qUxB/zVeLuu2b922FZeDnoEhFuSl2bgYAHSgoIKNPt4Hxf8Fh6ZBn5fSDy55tk5RbaueCi46/yw3rfXt5kyxcASEHZcC4v1REy2+yoI9zcLrh8EsnsVE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 089b1512e8883f9d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xmcv2lszNBvsxPob/pidv8y0MBTwy0rXLbLFbtb4ZAMxSR43yNxCsKFhTpg35zElhF0DhMztr+dm1tvhXL00vxLZOtaIEnJeoGQ4ygjtm+PAMRMrpI+qgJ5GJqHh08vPfFEQL9S+69vM0OQQcdHGecHj88NaNJvQW2RbK45fhM3I8qNDiX/tY9tDa0Xmuar5lBJrZwKKl6/V1n7LCMFZXFpeZmoKNJMmpVLx98Q2Ny3IpCXswUbjhfR0r8trDjiP6W/OlbNPaPV/jpLoIvWO4yQtIDWkOcMSR1qEjJP7e+Pp+syfvF/v010pyEhdCSXizeIEMt8ZVbOcPKeIAIJw+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NTdLLYaDC3+ZSY+aa8x5LCfn5EC6Euf4pS1uAG6MKx4=;
 b=IEF7t9hCpFOYrvZxT5I6YsY70o1ossgsO4OSxCXrszfFgv86NCbB67tORLYhWPWJpfWQGwPHhTPH5jN69NQEH9HLP0b0DEcWJNAvEBhyuSwavL4+1OJM9VpKKVVKdgjJp8+5eoA7a7/T2n5xhpCFEYOMpa6+t2PJjbfBwSu3kNUKbApCNnSPSs77KOQEZQxGj/awDM2Ds0KdFBu+tnJtu9jmi1EflLTMseNcn9zAEFryi60NXqv7fkU5KGKF2nh4EVx7r2ndDKZfGnRFdF5OWNvrJriYrYvPHM+DWZQ9IoD4J+O88QEmLBWnpBziyGmCqK0Y9x2VbKzkjCPTzmYbMA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NTdLLYaDC3+ZSY+aa8x5LCfn5EC6Euf4pS1uAG6MKx4=;
 b=HPgos1KD+5K7emMdcxFGCzWGNwievqYwJWX7fgIB3MKBHiM9+lln2K6qUxB/zVeLuu2b922FZeDnoEhFuSl2bgYAHSgoIKNPt4Hxf8Fh6ZBn5fSDy55tk5RbaueCi46/yw3rfXt5kyxcASEHZcC4v1REy2+yoI9zcLrh8EsnsVE=
From: Rahul Singh <Rahul.Singh@arm.com>
To: sisyphean <sisyphean@zlw.email>
CC: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: Re: [BUG]Add PCIE devie to SMMUv3 fail
Thread-Topic: [BUG]Add PCIE devie to SMMUv3 fail
Thread-Index: AQHZC5XCObk04ipFEE+2cKVjhEnU1a5lUAQAgARztoCAAEeegIAA9McAgACrnIA=
Date: Tue, 13 Dec 2022 10:55:55 +0000
Message-ID: <7A3DEEF0-F5B2-4CBD-BFB7-47C38C024E46@arm.com>
References: <793eb471-e68b-c3ff-52e8-20d77252c0bf@zlw.email>
 <A9FCD688-3CA2-484A-ADC1-F1235F18890F@arm.com>
 <75bbfc8c-b89f-9478-63af-c37fda0ad3c0@zlw.email>
 <e7766518-275c-1030-e8c0-51a5787a9985@xen.org>
 <757ac91b-150d-53fe-751b-7f42ec447f15@zlw.email>
In-Reply-To: <757ac91b-150d-53fe-751b-7f42ec447f15@zlw.email>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7158:EE_|VI1PR08MB10050:EE_|DBAEUR03FT049:EE_|DBBPR08MB5929:EE_
X-MS-Office365-Filtering-Correlation-Id: 43c35d8b-d656-48d6-1de3-08dadcf8a4e3
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 zSSYYwVoefZKq6L5UGHBEF4NJvgmPPB5GvOqHxMO6lhsRIzE5RSOx2+W+H2xAycsKQ16TjhijYwkrNWudiZcjwPor3xu9b6prdCLa+jwnTgxCNC1Pp8E3qIhXLkHVapGhp2Js6R+fhZmJkafUm4pAktxRcNTsC2OUdMYIV0Pdw5nNDGW8HHOW+FOGPeWWEfoV3E4Igd5yUmrK1VQwrP2qknE4Rd1B72wqQZEc8pXV8/J5UrlbpmoVlE9WR71wJgZKKiZrhPNOAhqbZWcuqBtUg+wJ2dBUzMDzO2pfLSUhAYxE1h3Woh9CophZq+r2TGluSXZJtP3wXkgn+P4f5/gFAayJqJ75hDn5cGHHrDD/kD/GcQyONI6zWsyfx5x0YIub06bbHFpPnLZUPPDTcAe0BM/5jISauUi23tGWB6HuJlm020LNdkdEvaH2VZ1+/FvYdKIUXf4OgppCEt/aFlK4iYDycdksmzQ6++lbpU2QoEnaSAsRK0cEznsa+hY3MNFZRI9vEsvYSCjO2FAM/hbZUfmoEfv/WD7XI62gxSQ/9p6SOGtQUQ3eJmrFEEYC+/MmVmA2BH1z8RDShDhv9Nqz27zep0j8R4jnueRr4VVEBbb5Ubd37hUePEN9REvlq9dSnIC5QFFzUpmhClzb8oFIvPQCEJ6yo3UWkoL3aklUrcFEOXMyZYooSuP6RS+dY7HOJAgIrG+cnAbEKXIqRrb06+eBN7txHxsZNqbH6w3XWs=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(366004)(136003)(346002)(376002)(39860400002)(451199015)(122000001)(38100700002)(33656002)(83380400001)(38070700005)(5660300002)(66556008)(2906002)(4326008)(64756008)(66476007)(8936002)(8676002)(66446008)(66946007)(41300700001)(76116006)(53546011)(186003)(6506007)(6512007)(26005)(316002)(54906003)(6916009)(91956017)(6486002)(2616005)(478600001)(71200400001)(86362001)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <16E3658F9DE0E34C9DE725C390B92F31@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10050
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	684b9cb9-1b01-47a0-1756-08dadcf89c07
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	H0PMBclR/QXINPhpMityUrQUNaOEkCEIyvZKXtYn7O046wPFIFk8zfAF6ARsthCbnt7Dvk6lDrgF3T+P37Q06nEbOmuBxDvGSWv9ezosX0v0LcsHeaSMtP2VP3yrK2Nc0HggGKHqhsKA/n8tOei9hdq8JKX9446RDeOTc5ElcYUdaAGe0vRKcNISdrfwbifpDPszYoYq11dU6fY5Vpr2RL2h3rF5oMmqjHRy5dCnamUGw4qvFy3goawCEa0zziJrsyLAMLq+FGygffyIxSmaIL4gSEpL1rTaPkFVKbbLgzS+03fEHbKJT1GD0TiHEZxNdWFEG1NYvBuYdvkUaHPaPIhEWj7ughQ94tjYSGWi/HNkc25GrrcIikFbXdFxTKifu3Nd71cAzeurtrq2ssCw34LrjgDLd2fFLuT95r5oGBFqkvyEq/JCSFoVqaopn6GjCFbJguQ6qy8Y0w3lDsniYDtvMLQJHvIP3NUYlJYdU8RiDe3T8ZMLR4vCMHoI9j8DFmk0oIqHbFJjM6ZPVzIHqaMeYbmzzhHzkufLcjM72/p5X4Xp4imOsyTdOxHR4+rAoKyISFDRT6/jEjIJ79lgUjusPr0ajvhnGME5OGxNM/jMkqP7wZbbV0ve5uwBRAaYGednkF7VhKU4y/oIUbTfG0kc/z/4XED0iHqZKpKAWQZsgU8lJ9UOAeUOTxb+3951zN1HQ3nxABw1YjD457MsVg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(396003)(376002)(136003)(451199015)(40470700004)(46966006)(36840700001)(6486002)(316002)(4326008)(36756003)(70206006)(478600001)(54906003)(70586007)(8676002)(36860700001)(83380400001)(81166007)(82310400005)(40480700001)(82740400003)(356005)(6506007)(53546011)(336012)(47076005)(26005)(2616005)(6512007)(186003)(40460700003)(86362001)(41300700001)(8936002)(6862004)(5660300002)(2906002)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 10:56:10.2538
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 43c35d8b-d656-48d6-1de3-08dadcf8a4e3
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5929

SGkgU2lzeXBoZWFuLA0KDQo+IE9uIDEzIERlYyAyMDIyLCBhdCAxMjo0MSBhbSwgc2lzeXBoZWFu
IDxzaXN5cGhlYW5Aemx3LmVtYWlsPiB3cm90ZToNCj4gDQo+IEhpLA0KPiANCj4g5ZyoIDIwMjIv
MTIvMTIgMTg6MDUsIEp1bGllbiBHcmFsbCDlhpnpgZM6DQo+PiANCj4+IE9uIDEyLzEyLzIwMjIg
MDU6NDksIHNpc3lwaGVhbiB3cm90ZToNCj4+PiBIaSwNCj4+IA0KPj4gSGksDQo+IFNvcnJ5IGZv
ciBteSBuZWdsaWdlbmNlLCBJIHdpbGwgYWRkIGEgY2MgdG8gYWxsIHN1YnNlcXVlbnQgZW1haWxz
Lg0KPj4gV2hlbiBzdWJtaXR0aW5nIGEgYnVnIHJlcG9ydCBmb3IgQXJtLCBjYW4geW91IHBsZWFz
ZSBDQyB0aGUgQXJtIG1haW50YWluZXJzPw0KPj4gDQo+Pj4g5ZyoIDIwMjIvMTIvOSAxNzo1MCwg
UmFodWwgU2luZ2gg5YaZ6YGTOg0KPj4+IEFmdGVyIHNldHRpbmcgWEVOIGFuZCBrZXJuZWwgYXMg
YWJvdmUsIEkgdHJpZWQgdGhlIGZvbGxvd2luZyB0d28gbWV0aG9kcyB0byBhZGQgYSBQQ0lFIGRl
dmljZSBwYXNzdGhyb3VnaDoNCj4+PiANCj4+PiAxLiBBY2NvcmRpbmcgdG8geW91ciBzdWdnZXN0
aW9uLCB1c2UgdGhlIGNvbW1hbmQgeGwgcGNpLWFzc2lnbmFibGUtYWRkIDAwMDI6MjE6MDAuMCB0
byBzZXQgaW4gdGhlIERvbTAuIEJ1dCBpbiBmdW5jdGlvbg0KPj4+IGlvbW11X2RvX3BjaV9kb21j
dGwsICBhZnRlciBkZXZpY2VfYXNzaWduZWQgaXMgY2FsbGVkLCBFTk9ERVYgZXJyb3IgaXMgb2J0
YWluZWQuDQo+Pj4gDQo+Pj4gMi4gQWRkIHhlbi1wY2liYWNrLmhpZGU9KDAwMDI6MjE6MDAuMCkg
dG8gZG9tMC1ib290YXJncyBpbiB0aGUgZGV2aWNlIHRyZWUsIEkgZW5jb3VudGVyZWQgdGhlIHNh
bWUgcHJvYmxlbSBhcyBiZWZvcmUNCj4+PiB3aGVuIGluaXRpYWxpemluZyB0aGUga2VybmVsLiBJ
biBmdW5jdGlvbiBwY2lfYWRkX2RldmljZSwgUENJRSBkZXZpY2VzIGNhbm5vdCBiZSBhZGRlZCB0
byBTTU1VdjMuDQo+Pj4gDQo+Pj4gVGhlIGtlcm5lbCB2ZXJzaW9uIEkgdXNlIGlzIDUuMTAuIERv
ZXMgdGhpcyBoYXZlIGFuIGltcGFjdD8NCj4+PiANCj4+PiBJbiBhZGRpdGlvbiwgYW4gZXJyb3Ig
d2FzIGVuY291bnRlcmVkIGFmdGVyIFhFTiBlbmFibGluZyBJVFM6DQo+Pj4gDQo+Pj4gSW4gZnVu
Y3Rpb24gZ2ljdjNfY3B1X2luaXQsIGdpY3YzX2l0c19zZXR1cF9jb2xsZWN0aW9uIHJldHVybiAt
RVRJTUVET1VULiBUaGlzIHByb2JsZW0gd2FzIHNvbHZlZCBhZnRlciBJIG1hZGUgdGhlDQo+Pj4g
Zm9sbG93aW5nIGNoYW5nZXM6DQo+Pj4gDQo+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9n
aWMtdjMtaXRzLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLWl0cy5jDQo+Pj4gaW5kZXggOTU1OGJh
ZC4uYTEyYzBkMSAxMDA2NDQNCj4+PiAtLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLWl0cy5jDQo+
Pj4gKysrIGIveGVuL2FyY2gvYXJtL2dpYy12My1pdHMuYw0KPj4+IEBAIC0xMTgsMTEgKzExOCwx
MSBAQCBzdGF0aWMgaW50IGl0c19zZW5kX2NvbW1hbmQoc3RydWN0IGhvc3RfaXRzICpod19pdHMs
IGNvbnN0IHZvaWQgKml0c19jbWQpDQo+Pj4gICAgICAgfQ0KPj4+IA0KPj4+ICAgICAgIG1lbWNw
eShod19pdHMtPmNtZF9idWYgKyB3cml0ZXAsIGl0c19jbWQsIElUU19DTURfU0laRSk7DQo+Pj4g
LSAgICBpZiAoIGh3X2l0cy0+ZmxhZ3MgJiBIT1NUX0lUU19GTFVTSF9DTURfUVVFVUUgKQ0KPj4+
ICsgICAgLy8gaWYgKCBod19pdHMtPmZsYWdzICYgSE9TVF9JVFNfRkxVU0hfQ01EX1FVRVVFICkN
Cj4+IA0KPj4gVGhpcyBpcyBzdWdnZXN0aW5nIHRoYXQgdGhlIGxvZ2ljIGluIGl0c19tYXBfY2Jh
c2VyKCkgZG9lc24ndCBkZXRlY3QgdGhlIGNvbW1hbmQgcXVldWUgaXMgdW5jYWNoZWFibGUuDQo+
PiANCj4+IExvb2tpbmcgYXQgdGhlIGNvZGUsIFhlbiB3aWxsIHdyaXRlIHRoZSByZWdpc3RlciB3
aXRoIHRoZSBzaGFyZWFiaWxpdHkgaXQgd2FudHMgYW5kIHRoZW4gcmVhZCBiYWNrIHRvIGNvbmZp
cm0gdGhlIElUUyAiYWNjZXB0IGl0Ii4gSWYgaXQgZGlkbid0IGFjY2VwdCwgdGhlbiB3ZSB3aWxs
IHVzZSB1bmNhY2hlYWJsZS4NCj4+IA0KPiBGdW5jdGlvbiBpdHNfbWFwX2NiYXNlcigpIGlzIGNh
bGxlZCB0d2ljZSwgYW5kIHRoZSByZWcgdmFsdWVzIHJlYWQgYnkgcmVhZHFfcmVsYXhlZChjYmFz
ZXJlZykNCj4gYXJlIDB4QjgwMDAwMDBFQkQwMDRGRiBhbmQgMHhCODAwMDAwMEVCQzAwNEZGIHJl
c3BlY3RpdmVseQ0KPj4gQ2FuIHlvdSBwcmludCB0aGUgdmFsdWUgcmVhZCBmcm9tIHRoZSBJVFMg
aW4gaXRzX21hcF9jYmFzZXIoKT8NCg0KWGVuIHdyaXRlcyAiSW5uZXJDYWNoZSwgYml0cyBbNjE6
NTldIiB0byAweDcgKE5vcm1hbCBJbm5lciBDYWNoZWFibGUgUmVhZC1hbGxvY2F0ZSwgV3JpdGUt
YWxsb2NhdGUsIFdyaXRlLWJhY2sgKSBvZiBjYmFzZXIgdG8gcGh5c2ljYWwgSVRTIGFuZA0Kd2hl
biB3ZSByZWFkIGJhY2sgd2UgYXJlIGdldHRpbmcgdGhlIHNhbWUgdmFsdWUgdGhhdCBtZWFucyBj
b21tYW5kIHF1ZXVlIG1lbW9yeSBpcyBtYXBwZWQgYXMgY2FjaGVkIGFzIHBlciBwaHlzaWNhbCBJ
VFMuDQoNCkJ1dCB3aGF0IHlvdSBhcmUgb2JzZXJ2aW5nIGlzIG9wcG9zaXRlLCBjb21tYW5kIHF1
ZXVlIG1lbW9yeSBpcyB1bmNhY2hlZCB0aGF0IGlzIHdoeSB5b3UgaGF2ZSB0byBjbGVhbiBhbmQg
aW52YWxpZGF0ZSB0aGUgZGNhY2hlLg0KSSBhbSBub3Qgc3VyZSB3aHkgdGhpcyBpcyBoYXBwZW5p
bmcgYnV0IG1heWJlIEhXIGlzIG5vdCBvcGVyYXRpbmcgY29ycmVjdGx5Lg0KIA0KUmVnYXJkcywN
ClJhaHVs


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 10:58:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 10:58:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460475.718389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52zA-0002Lt-9z; Tue, 13 Dec 2022 10:58:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460475.718389; Tue, 13 Dec 2022 10:58:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p52zA-0002Lm-6j; Tue, 13 Dec 2022 10:58:08 +0000
Received: by outflank-mailman (input) for mailman id 460475;
 Tue, 13 Dec 2022 10:58:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nvb8=4L=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p52z9-0002Lg-7o
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 10:58:07 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d15557c-7ad4-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 11:53:24 +0100 (CET)
Received: from DM5PR08CA0043.namprd08.prod.outlook.com (2603:10b6:4:60::32) by
 CH0PR12MB5041.namprd12.prod.outlook.com (2603:10b6:610:e0::16) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.19; Tue, 13 Dec 2022 10:58:02 +0000
Received: from DS1PEPF0000E64A.namprd02.prod.outlook.com
 (2603:10b6:4:60:cafe::ba) by DM5PR08CA0043.outlook.office365.com
 (2603:10b6:4:60::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19 via Frontend
 Transport; Tue, 13 Dec 2022 10:58:02 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000E64A.mail.protection.outlook.com (10.167.18.40) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.8 via Frontend Transport; Tue, 13 Dec 2022 10:58:02 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 04:58:01 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 02:58:01 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 13 Dec 2022 04:58:00 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d15557c-7ad4-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y+GMCNOzABO8j/S4fwodduq9OcwkTErDb7Mz5C+fu+HnzCVLNN3gANnCBXKWVJOqqLFb7lWiDdZ+JTa1N0kgfZYHl/mZGJh2FtzM55+VTelzc+qIztNT2OHS7IwjKT1TIWRUqbHm2zAVEhGGs3Of+UKlhIk9eo1xqBApHO3X8GSPRTBH0C5XWMxMwsycU2z/T09+CcuTVm+9wn3tSW/t0SGkVpNaVOqDIkYs3d3JEhZLCmCsC1Xw8O/KIVtq+Cig6o1lzolKrgD+8de0THuy/WfoLmAlLGdf9y+VamKGu6YoCx17DmhXHGBbr89bwAuzCMWIpnHQEAd2FMemRGLq4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=emc+NLYHPqe93LSQzTkL3pqarCjQ3viBJpEdUhH4NeI=;
 b=XhWi8jiV6s2XQL3nf+SZm9t4D4GlaS4p9J7wQ+HBMlkRq8B7AeyuRU2EYpXVRlWiAm9YrDrwD29oiXYyA3NlKBNPjd/NhJ4fJuMKJEwV4p9d+5y6L4CeTYKCv+XA1EXcAzItLcP+6vfih2v57Rp6/Pl62yZLOMYxHmJ27noh61CDaCve0nD5HR9hJt06I0pgH3lXqfPU+OWZevyePRKrvG1Ebm2tBg4FyeugDAvEAyNsA6cTbtJFirg4LhB0iD2iSJhCNld8dfFy/7u2+89K/E1YXJF+VjWDcCPAHkI4AE2Vr7YorkPnHxGVJO7v4zybZRI3HBZ1nXIR7+RyS6Aw7Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=emc+NLYHPqe93LSQzTkL3pqarCjQ3viBJpEdUhH4NeI=;
 b=Nd1LqKRRBOCazVtUnL4MLLbARjVwFSDf9WMQHSCvxvJkzfC/HiwFKJuv/4QtqlXwo8D9VVTC4Jm//NjAHLpQHduBM8rC5fzUs4nPJLTdn/32YfcyaaN64yNheKKvGDzDww1xucRP2emilR82Hai7pL/ez8Ng1NTedOs1ReoY6YY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <876a32c3-7eab-6503-c58b-4d0aa2fd7621@amd.com>
Date: Tue, 13 Dec 2022 11:57:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 05/18] xen/arm: Clean-up the memory layout
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: <Luca.Fancellu@arm.com>, Julien Grall <jgrall@amazon.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-6-julien@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20221212095523.52683-6-julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E64A:EE_|CH0PR12MB5041:EE_
X-MS-Office365-Filtering-Correlation-Id: 35c5159e-8bd4-445c-bcd5-08dadcf8e78b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	J27gq1SQczUzoXlCe21tAu8UUbanR+3iOtzoQGeUoxVUEhB6yUkY7vD+Re4WySC6uCS2kbBK3cBRn72HLVwJIyLvfRtSP5+E4znc0P81vyxrMbvp01MIqliPB1pbn2ayECcZpAvw0yZurqM9gukzDKV+9i61iHVSYNVWr/0PA76hkX+iUaD0dxtnaAs1yFMyzF+ydPCliVal55t2GKLtgjAgaBcuTcD8FoZofOy4fwhHyMHfsBSU3+dt5I9WI+08XQbTT6ZaqfORmi02s9dMHv/5zZMSGQbZOI6fqiWZnHF3lRDFRfH8j126+2pD613t7Qa11rItfLg9Xc+ko2TPfxA1fYazWUuvMO/bnhxxlzmGGNXYPiGOxfEAMuTppcP64VdBjZu2/srrL50hTaVRJfUVzGgordE2yKHaQ6Ufzjn0JB+SfyW5Vm1cV9eiPrDHGzXbtCtA3nFNeJb3VUcLciWp89Eg81xGfYm0n6yxVawG5E7qwNXwoEKqWpw0a7NbXfaogj+xVu3/r7ihwiSAwxiw+P/MiVwkUS6HcZbFHtkqycZWne7JKBuuxSukCcVDfg/5ZE4f4jeLl8757KWVmkcGe15peTaU9gu9MrDGmAudwJyzmvKpXP6taHEr7xv4QxWyqcD4Acn7sAS5ikRhv3cLzxN3zLIarou02zOHLnpBVX7gjRGm9LOgMl5YKBvLFBP7TzfkBHXQbvPHeMps71kuOWpjIg8iiD991n/2tRMFJfKZjsi+7UlIitdGb1ZQiot1faagEwou/o4JNWpDdg==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(396003)(376002)(136003)(451199015)(46966006)(40470700004)(36840700001)(110136005)(16576012)(8936002)(36860700001)(5660300002)(316002)(26005)(8676002)(4326008)(70206006)(41300700001)(36756003)(47076005)(70586007)(82310400005)(53546011)(86362001)(54906003)(426003)(2616005)(186003)(40460700003)(478600001)(336012)(4744005)(2906002)(31686004)(31696002)(81166007)(356005)(40480700001)(44832011)(82740400003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 10:58:02.0259
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 35c5159e-8bd4-445c-bcd5-08dadcf8e78b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E64A.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5041

Hi Julien,

On 12/12/2022 10:55, Julien Grall wrote:
> 
> 
> From: Julien Grall <jgrall@amazon.com>
> 
> In a follow-up patch, the base address for the common mappings will
> vary between arm32 and arm64. To avoid any duplication, define
> every mapping in the common region from the previous one.
> 
> Take the opportunity to:
>     * add missing *_SIZE for FIXMAP_VIRT_* and XEN_VIRT_*
>     * switch to MB()/GB() to be avoid hexadecimal (easier to read)
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:01:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:01:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460486.718400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p532C-0003rG-RY; Tue, 13 Dec 2022 11:01:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460486.718400; Tue, 13 Dec 2022 11:01:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p532C-0003r9-OQ; Tue, 13 Dec 2022 11:01:16 +0000
Received: by outflank-mailman (input) for mailman id 460486;
 Tue, 13 Dec 2022 11:01:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nvb8=4L=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p532B-0003r3-9j
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 11:01:15 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2079.outbound.protection.outlook.com [40.107.244.79])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 748c22e8-7ad5-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 12:01:13 +0100 (CET)
Received: from BN0PR07CA0030.namprd07.prod.outlook.com (2603:10b6:408:141::13)
 by DS0PR12MB8270.namprd12.prod.outlook.com (2603:10b6:8:fe::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 11:01:09 +0000
Received: from BN8NAM11FT005.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:141:cafe::df) by BN0PR07CA0030.outlook.office365.com
 (2603:10b6:408:141::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19 via Frontend
 Transport; Tue, 13 Dec 2022 11:01:09 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT005.mail.protection.outlook.com (10.13.176.69) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.21 via Frontend Transport; Tue, 13 Dec 2022 11:01:08 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 05:01:07 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 03:01:00 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 13 Dec 2022 05:00:59 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 748c22e8-7ad5-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q/00ESfNWx9ibvKXw+M4aEnwjayzRcT2OUBNHyKMnHQs5OPZ5ZmZ5RjY9h5XSVsQmcr9r3vWGW5yZ+tdSE9FqnTHO7VUz2Uu9p51mD15xQU07gzxDAaILsrcVyu/xdgxqVjCgxWGeahoZqBYAFQiQDxdYrsnPcFioccSCnDU7/O8PyWtvezTZ9x59jpJ2I46QU37P4hC/PK1O2z1WvUvvcNv3pZiDRFnSAbiqoz0MY89avSy26x4q+Xk32HJOBmJIzwyLM2WhNfSkt5MB/Kg1PcEUcPSjlgNuKr7lmoh4QVQMjmFkjqxAAf7aVgiQDCtLpaCmts9X8s/zvYj8cuMEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Jk5wOyOTt+uxgrFJolwdZrWgJ2UIB8HAi3os42RQM/w=;
 b=nfBehRA10WmGg/MmrEhTUkckgb/yLY/Y1rrBBKlv8BX/7NEw85tNSRSRI/YczR9G8iB4lfdul/cALq8K1gL0FDQrteYijeHdJNsOlZ3DLKK+dTzKQtnNvFPnv15IyYn2jqOV5LcO6hQtY9puns1WrkE62PvhnL+qB4C7lv0+jKdk6AGzqA5OL1Q88/3/LRBk8owFez3JwgIM7muurOXrqx11lkPdc095x1w68CizxwvaUHMYPxxypA61vmXk0c5O/OcKmwyJe+b0VvzDyyXzO6sDebEKRym86ZTipZarqGEOHM0kmc60pTJTDOfCZY90nNTIcrd5nBEgvyew7Qxy6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Jk5wOyOTt+uxgrFJolwdZrWgJ2UIB8HAi3os42RQM/w=;
 b=MRyam6TzSz6yhGMiey6H0gbsy//TUgcMAEU3TMfP1j2F0RtWjmfULD4J22of9OdVE7Kbyw1cGGTAi5EvP5fG49wi2W1xvOD2z0axiOX/5icPiITnMUyyEBz4BGz3LppCHHczxPmHGDOLkgiOy0u0NGJcRHIlK+En2JIVsAdS5hk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <b2cd2cdb-661e-5ae4-923f-f5d6fc405279@amd.com>
Date: Tue, 13 Dec 2022 12:00:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 05/18] xen/arm: Clean-up the memory layout
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: <Luca.Fancellu@arm.com>, Julien Grall <jgrall@amazon.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-6-julien@xen.org>
 <876a32c3-7eab-6503-c58b-4d0aa2fd7621@amd.com>
In-Reply-To: <876a32c3-7eab-6503-c58b-4d0aa2fd7621@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT005:EE_|DS0PR12MB8270:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ef7c5a5-8952-4728-cf22-08dadcf956ca
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AMMoSlJr/jH+k6GmB6LPw6amgXp5XyWK47fFVMapxwvYAgLrvAqVA6X/QZg7Xr2CI/5ndVJbkVXr2nZh/qzUL83fNuOn1xH/6Gcy89o269Pj/X+HDcbiVSGvsm2ya0M29Ya/hjghFXTxN2Ug7GC4YS/FkAVBqZ+dAq2Fxfc+F9OWZUPBiJ9uNdKVcN7Jyv+GjeuNN1y83R9+HYPtncvqti4RfVUXPFKtgAgrHLnDpmZIdKBlhWD4ifrMnUQ/F9frWp41GNl+xzACaiCaRmjoqesHAP6poShjLym8jnE+aDm5prOdnNJexEAS/GBWF0kLa/UbBzTu8jP3I6EFep7sfWN8n/+EQptR4b/8Xf1soRqvU4eI5C+oUKmEjmTUAJ0mOws2uW8ygocnIJpuiRemRmMapr1U48G1/1mL8RDyhZL1U7aCnERTlLBlBVDy6V01TVbjgzXfze8IqraFFoVKgGRo4mVy7q1pDP0NyHblKsW1U0b5yVzvBA7cdtaQEOitCniGJKM+wISAZRuNaFbMsufdHmG0w9bvVDa6sILgJSUC10dndVhTbYlHKjJEU9p0s9oyguI6X6178DgOnyler/gQvolZW0XDtvzfAzDevmy/41raApzd6sdArX9zgWBjWe7uUOLlt/85ekazu9Rpn7gaGsZYjWJDfwc6XabgTF8mQyVK0D2ZMOZMFII2u4oBx5EqdKywS4xw8QHwaKhh0Pu8+EBay5X1WFpKZ8ujFVRk+eWIl+1/ZPdWpmxH2fxPXx2Pta5DfCoxHKkVaRwrSA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(39860400002)(136003)(396003)(451199015)(40470700004)(46966006)(36840700001)(4744005)(82310400005)(478600001)(44832011)(82740400003)(81166007)(8936002)(2616005)(31696002)(41300700001)(40460700003)(8676002)(70206006)(86362001)(70586007)(26005)(53546011)(36756003)(47076005)(5660300002)(356005)(426003)(4326008)(186003)(336012)(6666004)(31686004)(16576012)(40480700001)(316002)(36860700001)(110136005)(2906002)(54906003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 11:01:08.6977
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ef7c5a5-8952-4728-cf22-08dadcf956ca
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT005.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8270



On 13/12/2022 11:57, Michal Orzel wrote:
> 
> 
> Hi Julien,
> 
> On 12/12/2022 10:55, Julien Grall wrote:
>>
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> In a follow-up patch, the base address for the common mappings will
>> vary between arm32 and arm64. To avoid any duplication, define
>> every mapping in the common region from the previous one.
>>
>> Take the opportunity to:
>>     * add missing *_SIZE for FIXMAP_VIRT_* and XEN_VIRT_*
>>     * switch to MB()/GB() to be avoid hexadecimal (easier to read)
I forgot about this one:
NIT: s/to be/to/

>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> ~Michal
> 
> 

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:10:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:10:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460496.718411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53B1-0005Uq-Og; Tue, 13 Dec 2022 11:10:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460496.718411; Tue, 13 Dec 2022 11:10:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53B1-0005Uj-LS; Tue, 13 Dec 2022 11:10:23 +0000
Received: by outflank-mailman (input) for mailman id 460496;
 Tue, 13 Dec 2022 11:10:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nvb8=4L=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p53Az-0005Ud-MJ
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 11:10:21 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2080.outbound.protection.outlook.com [40.107.243.80])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bab5f656-7ad6-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 12:10:20 +0100 (CET)
Received: from CY5PR20CA0026.namprd20.prod.outlook.com (2603:10b6:930:3::23)
 by SA0PR12MB4398.namprd12.prod.outlook.com (2603:10b6:806:9f::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 11:10:17 +0000
Received: from CY4PEPF0000C979.namprd02.prod.outlook.com
 (2603:10b6:930:3:cafe::c1) by CY5PR20CA0026.outlook.office365.com
 (2603:10b6:930:3::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10 via Frontend
 Transport; Tue, 13 Dec 2022 11:10:17 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000C979.mail.protection.outlook.com (10.167.241.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.10 via Frontend Transport; Tue, 13 Dec 2022 11:10:16 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 05:10:15 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 13 Dec 2022 05:10:13 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bab5f656-7ad6-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aNxF1HBVU3Fbs8S7BsUMXH1xP1iMkTNxm2n/9fdQp2Cwj4s4xBxar2O3JDgK4QgPdduvCINYWqdTUoB7gp3IeDxqSGiNavW8celu6lwASu6qj158Gqu45CJo+w3HUuPVB3rMFG6hrCdGusLU4zuLbRMTZQu529jR2xzqYvrQrD69x1k88ScA+JZvVYZRWFA4CezwCPQnLAfVFysC6O2q35d220B4PfH5WFlzoBEO7GiV7mBwSKVOaBjyBWSFu3JTZ3ZWaLq8XTmJqAYjxUVVKiKDThhc1A95ZzOAHo0TFDTkG9XT4KNyhW4eB6Og0eY6r/ZaPtccny6U8BUSWJDatg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=epaaIeIAwGR88f0Enbm1nLUuuorgoZwBW9q2x7pQILY=;
 b=cdQLA/3qtulT59cvST81ZVwyttVFJwjDOplzdDkMx0qRvUP3+pyu1MIm1opjK9+D1Ek89PKXRADEBDxKxfBXei6dNmRd4dRyr/PyNRaTBbFVt76GfQLyKXIqL5mlCq3WtCToIYNrg0GtdehNnDZQW8P54ww0TnfTuReF4VHRV7IU58m9TGU6/XyVMiF657fiYLJNvxZ3LXrwQT8l/ncRWI15Cv717c2WAwNaClyVTlZjj1OpRLgMGAFpUC7r4VFGCbZPMvIlujeTEDu511xNrwn/MVYb4G86gqAd0Z7rpgPAXLUk8r5sE/j8Z0w9tW8HJGOYx8kOH1mcFV0/dL9a4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=epaaIeIAwGR88f0Enbm1nLUuuorgoZwBW9q2x7pQILY=;
 b=T0tIDybR0eOB1FToQBDEYAwGR3fVM+Q2Vz+g+h+T3NnMNOMlE4ptGin0qeEq4tGrHWkoY5iK/mRDMlt+kzrgX/7VH4Mg3rTgHrNg89ufa27Z20cA9fEuMtrwrFoClAWQp6WMNGqvDsrl1ztipHlMo7ig3IwhiGcWlY2UUo2cPyY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <c88c2c9d-61e8-205d-3117-74c01c144936@amd.com>
Date: Tue, 13 Dec 2022 12:10:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 06/18] xen/arm32: head: Replace "ldr rX, =<label>" with
 "mov_w rX, <label>"
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: <Luca.Fancellu@arm.com>, Julien Grall <jgrall@amazon.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-7-julien@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20221212095523.52683-7-julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000C979:EE_|SA0PR12MB4398:EE_
X-MS-Office365-Filtering-Correlation-Id: 7b01a2f3-76c1-4733-63a1-08dadcfa9d9a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jRwiQsEppS6ei+8Mb05vL/ItnOAC7C0jWGEpC3FmkVY2sNRCvoivj31GJgIzkNyDX8AdfDcd76I07TTTDfa/u7cEZsW86H4TFf+9BLymZdWSpF7somlvBCAx3A8lD8Q8Vl6xwSD69oeAzP7+FktB1RL43HRTKXo42sUMnrjwEpL2L3YO2OQZzEB9YeZu/EFll/2m2Ye5usLqk0zESvBcJfGoqYoTBwVMaxBpDqLlxzvfmj2H938boBqhZZAbl0SNyYBnznsljpHO0JC9qWnL2nnmVw4AnvusliGpBadpc1l8qq8RNQ/Nk7JusmYLh9BBZHdmYB75mP2MVgEigCCCEokDvR3Z/nVXI98ahlNnOFpwWIYhq0bsQZMTdt8KOGqCW4L3ls9b1Ks4nvF0VEx9tpS7bN+KWjBa05gFLZkpj2Gp4dKG8ktlIBAT9kRdsFOhtigGvoDjIn5iL14TNgxm5PQoElIrc5nbps8gadeDWbvpcuL0t+G7gxVZZnrtqn800d31KXnLBV0CDmJyXo93RgWtdbFbmaI2XNrQWfZhEaDVTGxZ6zJ62RSQQLRnNlsxa3+81QFToAFImr3RR4RrQZeaeKihL7lvMg70IIU1sttIlvu6VpMsJmwJ6nTbhUpIGS38ahdZfUp/KgbXcVo4Yhj3L14bilWluOrO88CanpOasq/zR8Hzu/DmdR1RT4bDOS8enodDG1NAmacHTGdrW22hDy2dR8fZsWwh+6FT0JVBg00QQDj3zUfa4QOtXzjRvuiJQYbrIOe5j6a2BKpjbx2SQ8oluZ/r9LtOkv4hjQc=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(376002)(136003)(346002)(451199015)(40470700004)(46966006)(36840700001)(336012)(47076005)(478600001)(186003)(426003)(53546011)(81166007)(356005)(36860700001)(83380400001)(2616005)(26005)(82310400005)(40480700001)(8676002)(70586007)(41300700001)(4326008)(316002)(44832011)(54906003)(70206006)(2906002)(110136005)(16576012)(5660300002)(8936002)(40460700003)(82740400003)(31686004)(86362001)(31696002)(36756003)(21314003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 11:10:16.9328
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b01a2f3-76c1-4733-63a1-08dadcfa9d9a
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CY4PEPF0000C979.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4398

Hi Julien,

On 12/12/2022 10:55, Julien Grall wrote:
> 
> 
> From: Julien Grall <jgrall@amazon.com>
> 
> "ldr rX, =<label>" is used to load a value from the literal pool. This
> implies a memory access.
> 
> This can be avoided by using the macro mov_w which encode the value in
> the immediate of two instructions.
> 
> So replace all "ldr rX, =<label>" with "mov_w rX, <label>".
> 
> No functional changes intended.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

with one small change.

> 
> ---
> 
>     Changes in v3:
>         * Patch added
> ---
>  xen/arch/arm/arm32/head.S | 38 +++++++++++++++++++-------------------
>  1 file changed, 19 insertions(+), 19 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index a558c2a6876e..ce680be91be1 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -62,7 +62,7 @@
>  .endm
> 
>  .macro load_paddr rb, sym
> -        ldr   \rb, =\sym
> +        mov_w \rb, \sym
>          add   \rb, \rb, r10
>  .endm
> 
> @@ -149,7 +149,7 @@ past_zImage:
>          mov   r8, r2                 /* r8 := DTB base address */
> 
>          /* Find out where we are */
> -        ldr   r0, =start
> +        mov_w r0, start
>          adr   r9, start              /* r9  := paddr (start) */
>          sub   r10, r9, r0            /* r10 := phys-offset */
> 
> @@ -170,7 +170,7 @@ past_zImage:
>          bl    enable_mmu
> 
>          /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
> -        ldr   r0, =primary_switched
> +        mov_w r0, primary_switched
>          mov   pc, r0
>  primary_switched:
>          /*
> @@ -190,7 +190,7 @@ primary_switched:
>          /* Setup the arguments for start_xen and jump to C world */
>          mov   r0, r10                /* r0 := Physical offset */
>          mov   r1, r8                 /* r1 := paddr(FDT) */
> -        ldr   r2, =start_xen
> +        mov_w r2, start_xen
>          b     launch
>  ENDPROC(start)
> 
> @@ -198,7 +198,7 @@ GLOBAL(init_secondary)
>          cpsid aif                    /* Disable all interrupts */
> 
>          /* Find out where we are */
> -        ldr   r0, =start
> +        mov_w r0, start
>          adr   r9, start              /* r9  := paddr (start) */
>          sub   r10, r9, r0            /* r10 := phys-offset */
> 
> @@ -227,7 +227,7 @@ GLOBAL(init_secondary)
> 
> 
>          /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
> -        ldr   r0, =secondary_switched
> +        mov_w r0, secondary_switched
>          mov   pc, r0
>  secondary_switched:
>          /*
> @@ -236,7 +236,7 @@ secondary_switched:
>           *
>           * XXX: This is not compliant with the Arm Arm.
>           */
> -        ldr   r4, =init_ttbr         /* VA of HTTBR value stashed by CPU 0 */
> +        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
>          ldrd  r4, r5, [r4]           /* Actual value */
>          dsb
>          mcrr  CP64(r4, r5, HTTBR)
> @@ -254,7 +254,7 @@ secondary_switched:
>  #endif
>          PRINT("- Ready -\r\n")
>          /* Jump to C world */
> -        ldr   r2, =start_secondary
> +        mov_w r2, start_secondary
>          b     launch
>  ENDPROC(init_secondary)
> 
> @@ -297,8 +297,8 @@ ENDPROC(check_cpu_mode)
>   */
>  zero_bss:
>          PRINT("- Zero BSS -\r\n")
> -        ldr   r0, =__bss_start       /* r0 := vaddr(__bss_start) */
> -        ldr   r1, =__bss_end         /* r1 := vaddr(__bss_start) */
> +        mov_w r0, __bss_start        /* r0 := vaddr(__bss_start) */
> +        mov_w r1, __bss_end          /* r1 := vaddr(__bss_start) */
> 
>          mov   r2, #0
>  1:      str   r2, [r0], #4
> @@ -330,8 +330,8 @@ cpu_init:
> 
>  cpu_init_done:
>          /* Set up memory attribute type tables */
> -        ldr   r0, =MAIR0VAL
> -        ldr   r1, =MAIR1VAL
> +        mov_w r0, MAIR0VAL
> +        mov_w r1,MAIR1VAL
NIT: please separate arguments with a single space just like you did in every other place

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:15:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:15:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460505.718422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53FR-0006E4-AL; Tue, 13 Dec 2022 11:14:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460505.718422; Tue, 13 Dec 2022 11:14:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53FR-0006Dx-7P; Tue, 13 Dec 2022 11:14:57 +0000
Received: by outflank-mailman (input) for mailman id 460505;
 Tue, 13 Dec 2022 11:14:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p53FQ-000678-6C
 for xen-devel@lists.xen.org; Tue, 13 Dec 2022 11:14:56 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on2080.outbound.protection.outlook.com [40.107.6.80])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6c9cb46-7ad6-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 12:10:13 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8197.eurprd04.prod.outlook.com (2603:10a6:20b:3fd::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 13 Dec
 2022 11:14:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 11:14:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6c9cb46-7ad6-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T6vxxdlhkE27Er1BAB9H4pBRlugYVMQ9fcvWv5SdpEUPPqmPo0iANtFFc6L1DMIvfh1DMjj9/Y0s0GVepwjG/kk+077WiBV2FXphBW7CdrF7zX94xACK8hdLMterIV0PDotQFwaimjMS6lFP68f6W4TDU8IdWHkxCIv4qoc7gkuTc5gzTABSxfANAZzR9fbz9MCOqCb/V0CdxTAgDEsO4jtGGg5oQdFcwggFz6ylbYcW74rFmzlAtp7WGO+rOKI9cH6FOx1guO1KxymvxDb2iyv/ra2aWpxUzutIj3f82XHu4jeo7l/Q3RkmUa0bNcarnEq8FGsbA/HoJeJ17PWbuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vzlJB/qobAiV2EEHX7ZW3jZAgTsL1ylUJznVow4Zubw=;
 b=j7WNs6HrdiqOd6f7J+vshleDvnpZ0OjicG/g305R1uGVfuHOMboo+zzW24wE4UJE287zm6ZXH6EUVvtZRfzCaNDLaz50PiCiyQkEJqaJyNR8h1GWvwul1MKz6hqx2pkCW/RiVp+BlzTXsYoRkG6C+J4zOT1USpn3elPE8WArRq4qsvyieRLfqgQSiqJ/jOa/c8LP4ZRUv9PYG4ndWuWlKDzg1Tr6WR8fhFvLQ8umiKo9GuEfLBLp8gSao8ClfCYPapTyUNb253dg1hsd5UV8r25g/6Rhxl1QdRX2VmMTXhobpDDnRRRy773AMcZtWxZO+A1C4VNlOREJQtJKPKyfEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vzlJB/qobAiV2EEHX7ZW3jZAgTsL1ylUJznVow4Zubw=;
 b=wFPSsYHT95ip6iJvgznMPcGwZSnqEJ36GpDpueIGhrnhAC/wGB4j7rlHJktItQRFoPD8WYjjMn6phALqngRzeokwxnW4W4OzQlsqbyr/dPcOfSxjQt+Qbralr23QgUHWf6VUdaUSPD8mkcrqyO24RfywSSPup0U+TEqBaJGETC5HMGL6dGimnI03BdwecoazT1MlDxTXzmCiTCfyBVVQYhi5AfkK6DPrXmMwf0/+Rdi9c2rzeFmrgMgIe54ocEhKdvYrO/hYI6C4DFlSEMqFKP8SxkU+pFtrp9HUmGESaWr1S+G0Nei3ixlSvugKNPzm3Q3vhVBrl5c5XWgVMnQICg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <36e4038a-d394-62c0-3bce-1c81450c6bb9@suse.com>
Date: Tue, 13 Dec 2022 12:14:50 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH V9 1/3] libxl: Add support for generic virtio device
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu <wl@xen.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xen.org, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <cover.1670925998.git.viresh.kumar@linaro.org>
 <01dfa7692457a7f40255645f5239f74797e6db3a.1670925998.git.viresh.kumar@linaro.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <01dfa7692457a7f40255645f5239f74797e6db3a.1670925998.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0110.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8197:EE_
X-MS-Office365-Filtering-Correlation-Id: 8ac5ac9c-1cd0-43d1-9699-08dadcfb4211
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fho2ItGF3EzxNkb/dL2dnhUY3JhBnuJ0vbvZHZYkxTjXfZkmEf+tZrxpSD3cUcAfdNCqALGfDCV271Unq2hx+131mOxftIklW8d0GV1G1wb8lp2e0Da99IjDZemyPpIMp5Gu0jYvKuXyNL/a9qW85pLB6k9AKzoqjVdAhe/6Hj7qPUSj4mDZpDMmUJfU+4qghXbI4dRI51+fq4aHTVNbiSWSvPmeTlMnnCHM8hfYXfc3AAuBcQYHxCvcSc9wepAzV8kb6nIHGyvQ1ixyqhZZmkW8A6sw/8tbx0v9JawanoGLWQYmbX/dnhIZIf6Rpgxx/ueroTbrEh+JJez1nd9weWJ46CynmGDWZJRwBIRqeWW1bCQw6qF5iT8kXoIY3H83qbga3LsiM3G6OhxLruCrLY39hu3hbxcwTzmyE9fAQb/VYOm6cuZtlncgtLz+4sXjzi+RL4eEhAKSC0FtbIgclz+dez67lHQEPjtspPSfOCcdUppYRrdyO5ff1YyLPBCCmSOM0jePjgjOVgK+3/aWKW3DJoYU0+6hmgNxGASYn1f6uGNay/vAPXrCfduw+EXYIz5BjdxxUeb8eKozIgx8bfGTCCWfJFiW0qaCm6oZqzDIcgMZUwKIBIVY5azvp0WvRXXD3c/znLpYohMt2nWduOYD/oVlryWNWvapn2dWBx7tabNuMXgIu6aAFks3IVY+wc2KEn4wOiARVU0D05kPm+aLWoLisS3phBHgNzeN6EI5G6UrUcKRF1F+x+fhBblx
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(396003)(376002)(39860400002)(346002)(136003)(451199015)(31696002)(316002)(86362001)(38100700002)(4326008)(8676002)(66946007)(6916009)(186003)(66556008)(2616005)(7416002)(478600001)(5660300002)(66476007)(41300700001)(8936002)(83380400001)(2906002)(26005)(54906003)(6506007)(6486002)(53546011)(6512007)(31686004)(36756003)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d2lEeVBCTmpkV0p6ajJpSWdsVGpzSksxODNoOUZzNjByQVJ3MXR0MEFZUGM1?=
 =?utf-8?B?UWhQYjR1aTB3VFArQU4wbVRHWVBUaHZ3RHVFclNOU0VsaFJZdHA5azgrRFVP?=
 =?utf-8?B?akR1MDNXSlV5UitFbmgzL3RLc2QyRzkvTTBacWpkVDRuUUsyTFEyTmtxdnB6?=
 =?utf-8?B?Qk5jcktnaE51TDl5TytydzdPdzBjSFFoS3VkNjFpQnYrd09yQTNIVm9td3NT?=
 =?utf-8?B?QkVCZUkzemZycHBvOGhDNlFqYUdHOXFXVC8zditWM0E3cjBjZFJUUEtCMzA3?=
 =?utf-8?B?NS92S0x6UjhFaWNpdE5VYU96MFRML2ZweDZob2JLQ0NGaXN6L1BRMXBoejBm?=
 =?utf-8?B?M3llTHRqQTc4KyticmROSkhiK25zbW5lSm9vUUEvZ2FZZVVnRnVkM1hGNDZp?=
 =?utf-8?B?T3hZV1ZzL2E3MUZlQzFBcWJXUFkyN3RpNkVnb2Z1ZEFhWWJacmtPTnl0aU1G?=
 =?utf-8?B?bDRWR2Y3SjhZZmJXbUVZQWtZZUlDekQ3NEgwaHRzbXhzUnlkWklTcU8zNUc1?=
 =?utf-8?B?SlpSQytmRFFMSVFKSnB1NjRzUXliOW41YzRQeW51UkpnS0xCUUNqeWNDUkdm?=
 =?utf-8?B?NEU2NGFOK2hRayt6M3Aya2tjWmR1YzdzbWJlNlR5cHZIS1NjN0dIaGRjb3Qx?=
 =?utf-8?B?NXlEeGp1VDhvZXBtR1d3QlNMTWJBNEtmTzlyT0RVZHBQeWlWeFdIc1Z4MnpU?=
 =?utf-8?B?ZjdqNmZXeGhrWnZPQTYrWS93MktVbTNlWTRZdjNLc0JmOXMxMmJoM1pDSllK?=
 =?utf-8?B?OHE5QVlWTWZOTEZRZ042ek1TL3dDNkQrS2h2YVpXT2pUck9UTUJOZ3BjcEVM?=
 =?utf-8?B?TnMwcC81Q2d4dU9xeTNIeURjMksvQ3dXTTZLTnRRbmRKUVNjTHVuejZid2VQ?=
 =?utf-8?B?ejBhbTNaZlhjMCs1aXhRSkwxREV0Q2UvWXRCTkRDazQrdW5wbk9HUlpPS3cw?=
 =?utf-8?B?WWpCYkZRMWY1Wk5KdlVFdjYzL1l3djNXM3ZpaUw0dEQ2dndSNkFKZHd5K3dV?=
 =?utf-8?B?N0tkODlHR1JicUpoZWJSbDZWUGxoZnJma3lhcWQ0cGxqWGVKU1RDZnhCNHgw?=
 =?utf-8?B?Q0FPVDlyVGprR2RnOXZLZVhxZ3lmdEFSWlZaUXRXdElNdG5EWjZlQ3ZlUU5H?=
 =?utf-8?B?VndLWTJhWGo3VFZNSkxZQXR1USswTE9XSzNrZ2R2ei9pK3cyNkxiVXFaNVV6?=
 =?utf-8?B?UFFvbytubjB3SlpLVUlEN002d1hXay91NGlQRWx4Y3lwTVlJeWVCUVpzb1BO?=
 =?utf-8?B?WnBMSVNoTDB6QTlDNnlMdTd1N0ZVMUVWZ1BUamJLdzhxREp3ODR5OTFWajRv?=
 =?utf-8?B?VHYwaG1lVytYSzVWRjc3bVljQU1sdDVyYkI4cmtRVG80ZVVUTnlzbzdpcXQz?=
 =?utf-8?B?VjhOWE1CbENuT2ZJZnhUbFpnT1FQc2k4czJxbjhKRVA5VGNHM29qZHlvdVFW?=
 =?utf-8?B?NWUxaEc0WEtoeHFNeDZVbnFsSkJ1Y2VDNFRGVW4vV0lIV09abFk5ZTlBWjZ5?=
 =?utf-8?B?U3AyN3A0TkhTc0JyTUpNUUx0OFI5T21vVStwMDFxTTlqcEIvUC96cGtoWXBv?=
 =?utf-8?B?ODQ4RzFxNkNCZ01vaDM3TXhGazdlLzZoVkdmK0g3WlNzRzVyb0J4cDNIRU9N?=
 =?utf-8?B?ZWZqRnA2ZmhDbWRwRytEcHgwNWplRi9hZTZ5dHUxRUR5TlhTdHV2NUVXNXlm?=
 =?utf-8?B?aHZlcjJLSmpHRWFGVzRJbi9vRkkycHU1amh1ckdjMUt2M1MzaWlrKzR3YjRY?=
 =?utf-8?B?MWtoY3o0cHI2S3BuK3N4RC9wSktULytPS1VnUG01SGZxSmpBZ2xrc3NxUjV3?=
 =?utf-8?B?aC85NWd0K2ZJNkRCQVdDOUorK1lSd0U3NHZXZzc4aTJmSUl4SUFWclV3ajBt?=
 =?utf-8?B?NmpjR2hMR1AxK3BsblRvdVVUOE9wTjNrUERTcVJVNCswb0RLd3d6aEIyVlZa?=
 =?utf-8?B?RUNvNDFRcTQ4MWNIQ3VLNWZsaWdCaDd5RjR2S3ZJZWl1ODFtQUpaS0xjMXRP?=
 =?utf-8?B?bGtiL3BoK2phd2dFZXQ3MVRzaFR4MEJpc3FnTEFvYUhBdFlyMTMrMU9kUHFr?=
 =?utf-8?B?MmJlNjZHaUpLNld6QTBhakZSdGdTOUNtKzQrVkw4ZXg5Zit4M29WNCtEZTQv?=
 =?utf-8?Q?XVezNC7oi3MZVYqquiK0ZM95C?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ac5ac9c-1cd0-43d1-9699-08dadcfb4211
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 11:14:53.2041
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: g4F2LkGNw4MgyXNoB8txqz/jYWm5NG9v0G4UfOxkq8ZCoHMGUQy/ivY5pRbH6c2q0kXt6lr46Ul5Zsk3PS+s9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8197

On 13.12.2022 11:08, Viresh Kumar wrote:
> This patch adds basic support for configuring and assisting generic
> Virtio backends, which could run in any domain.
> 
> An example of domain configuration for mmio based Virtio I2C device is:
> virtio = ["type=virtio,device22,transport=mmio"]
> 
> To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
> region) and pass them to the backend and update guest device-tree to
> create a DT node for the Virtio devices.
> 
> Add special support for I2C and GPIO devices, which require the
> "compatible" DT property to be set, among other device specific
> properties. Support for generic virtio devices is also added, which just
> need a MMIO node but not any special DT properties, for such devices the
> user needs to pass "virtio,device" in the "type" string.
> 
> The parsing of generic virtio device configurations will be done in a
> separate commit.
> 
> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
> Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

Please can you arrange tags in time order, which would mean R-b past any
S-o-b? I'll try to remember to swap them while committing, but in the
future please save committers from needing to do so.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:15:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:15:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460513.718433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53GB-0006nM-MD; Tue, 13 Dec 2022 11:15:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460513.718433; Tue, 13 Dec 2022 11:15:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53GB-0006nF-JA; Tue, 13 Dec 2022 11:15:43 +0000
Received: by outflank-mailman (input) for mailman id 460513;
 Tue, 13 Dec 2022 11:15:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nvb8=4L=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p53G9-0006Xp-TY
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 11:15:42 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2079.outbound.protection.outlook.com [40.107.243.79])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79cd57f2-7ad7-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 12:15:40 +0100 (CET)
Received: from MWH0EPF00056D05.namprd21.prod.outlook.com
 (2603:10b6:30f:fff2:0:1:0:e) by SA1PR12MB7270.namprd12.prod.outlook.com
 (2603:10b6:806:2b9::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 11:15:38 +0000
Received: from CO1NAM11FT064.eop-nam11.prod.protection.outlook.com
 (2a01:111:f400:7eab::205) by MWH0EPF00056D05.outlook.office365.com
 (2603:1036:d20::b) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.4 via Frontend
 Transport; Tue, 13 Dec 2022 11:15:38 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT064.mail.protection.outlook.com (10.13.175.77) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.21 via Frontend Transport; Tue, 13 Dec 2022 11:15:37 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 05:15:35 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 03:15:26 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 13 Dec 2022 05:15:25 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79cd57f2-7ad7-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FMbEKkWHN+1J4LE5ypmUGXch5YMYCfjQf2XpYTxN+GM22FLya69G4oqPr1EAbDNwC62Nrel1s0tIAfYlYZluhz6rjNPWdxKgLXkIzf08FydiakDbS/q7XtCYbc3eItuDndLUXwA0k0FtnSlqp3omdIk3afFcJPgowSRM8cCutQIxUVIyfvHk3RIWK0JQTxDvtKzlUrzvrSJF9hW5hjZw8OJ9LtwD0Z/kuFUBAKgs2o74YRUDqf/ZK+HBKH5yDySW28EKGO/TNQRhUQO41xHR50fhAERyORLZzWNlVhickqpjdC7DifBlozSfJQLd2opJLZkiHNNSIIaSQCnA5g1TGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mZv2BOBeiwQj8AIfhOvYiRfO9zZ/zOcsoW76c9Hyg4E=;
 b=CTx0AEjgH7SCpGumSD0MQpWAGx6pXt2Kd+bDLQPWG/lGSebVCScjRyHrxSPNx5fe3nNqHmt2ti3qL2/dURw7IiQ+60vB4Qv2PSnFlLWEmXfRI9nkEXmui0GDfca0+gM24iAAL0HTbmGM+TI+mQVCkJPH+eVNLCQc5YBP8n5zH64iAdEVpM4jN65KPOjAEJzQMbtBPrMsAcVuLzzYXM+Cb8EeMOzg7WC3ZGK39K0wvgv9q/llAveswhiTP6IwXbtEmUS0HE125uBaCQCwBJ9BqDz12CTtZoq6UZmMasIQb7HL6GOsd6mbvN475KNaxArZiGJ1U9zGZ1m41W4vgeraCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mZv2BOBeiwQj8AIfhOvYiRfO9zZ/zOcsoW76c9Hyg4E=;
 b=hAZzEYpjZUC0CcH/LovRjJSKkIHB0aY/cyoAqsJ4vNnoIrgu3UTfBeBgnohQQF61zZrkv9ZFxjter2d9Do6VJ6xVzh/NKTqbiRm48XDfnHYB1SNjh8WKgbbciBG0m4bU6mg+Nj4UKvj1A61ogvr9gxwm7hagGRaAc6m85CoxJds=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <4504e545-04ed-2f2d-2fb1-b84a491aad69@amd.com>
Date: Tue, 13 Dec 2022 12:15:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 04/18] xen/arm: flushtlb: Reduce scope of barrier for
 the TLB range flush
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: <Luca.Fancellu@arm.com>, Julien Grall <jgrall@amazon.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-5-julien@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20221212095523.52683-5-julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT064:EE_|SA1PR12MB7270:EE_
X-MS-Office365-Filtering-Correlation-Id: c3927d49-004d-4bf4-5e92-08dadcfb5c69
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2bGgVTao36iTVzWejUn7E4tkyCsM7KwpUCMge4hpGKqYVU/BzLO5bhKuWfP6qBgQ61zozBEKu1Fb10D5VroC6Jk7ozwXTb2d9RJFuY8ClEEdXTl0Jce2Mg8ousAFZlxT9bCoLrLw6utldeLDq43dmnCNrHsmM1Rg+cPSkF9hy2tnO74v+A1tZzybHURLMEKJjhQw9w+iGNmkx+aR4kYnsWyPHySJKoaHBq23Pmo2OA9Iu2kjsqKMhP2fyKCozi2eFliOO4MBT7bkNHx1IUekK0o40535EYzMQdf+HKZM7rBnKB76f0cSAwmQr896HAUw66oeC1uyDotqqNXD7MsBx+02Uxy+z+q9sopJszddb3t1TxCFyFVGhw/lxE+EzxPBQLclOSidT8Q44lBjuMen7KPjS+QRRDzWSF/Jz+xO9Jq1ggUl2Y9rBUR99OpnLg8yDhMS+7sJREkVed2uyJ30z52xqXdlsbxEc+GzMs4T/n2ro6jtcZqZ1cDBSLPHXILEMuyG6qtOqJlYQfQOMJVBwEtsJoEoU4F+cKCNo7+OUlFUyhYEXVs1663tccjaD7vkOIDcOFwAQBX3Z5ROS3sPB2nZhoNO+buPSbVkq1vK6kBNqydh2hlFKTVov3CchiKxWsRiI00zbJVfRFl9k0h48/Qi+SrcEgdZZaerIlhh7xuthVp/GiEnP8b8I2uXNccztHhniDRsRoT6g9oyA8jhrrJRQLLVhUJNO+s8MBVnKK7ZT5idQP356W9xN2KZPdxV
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(396003)(376002)(346002)(451199015)(36840700001)(40470700004)(46966006)(31686004)(2906002)(2616005)(36756003)(70206006)(47076005)(82310400005)(70586007)(186003)(4326008)(426003)(336012)(8676002)(40460700003)(5660300002)(41300700001)(44832011)(8936002)(4744005)(110136005)(16576012)(54906003)(31696002)(53546011)(478600001)(316002)(81166007)(26005)(82740400003)(356005)(40480700001)(86362001)(36860700001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 11:15:37.0251
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c3927d49-004d-4bf4-5e92-08dadcfb5c69
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT064.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7270

Hi Julien,

On 12/12/2022 10:55, Julien Grall wrote:
> 
> 
> From: Julien Grall <jgrall@amazon.com>
> 
> At the moment, flush_xen_tlb_range_va{,_local}() are using system
> wide memory barrier. This is quite expensive and unnecessary.
> 
> For the local version, a non-shareable barrier is sufficient.
> For the SMP version, a inner-shareable barrier is sufficient.
s/a/an/

> 
> Furthermore, the initial barrier only need to a store barrier.
s/need/needs/

> 
> For the full explanation of the sequence see asm/arm{32,64}/flushtlb.h.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:24:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:24:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460524.718443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53Oo-0008NL-GV; Tue, 13 Dec 2022 11:24:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460524.718443; Tue, 13 Dec 2022 11:24:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53Oo-0008NE-Dp; Tue, 13 Dec 2022 11:24:38 +0000
Received: by outflank-mailman (input) for mailman id 460524;
 Tue, 13 Dec 2022 11:24:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p53Om-0008N8-SO
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 11:24:36 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on2045.outbound.protection.outlook.com [40.107.8.45])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10d21fb4-7ad8-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 12:19:53 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8381.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Tue, 13 Dec
 2022 11:24:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 11:24:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10d21fb4-7ad8-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=afUxU+Za2NXX6tjgSnljSxhr3zm38InO44sh9Y4X7hUX6pXomJLRcWrSv4LT1UuyjOkVyrG+nJHRH3Z08Kivu+W1UvUCOmVx9v0fKK74VFuDvpZdcMzXbgVSMHFF6oUS+/MuY2htUt+woLuXoMwJ1dUR+1PsXYmYe0z+GqqeR/i1+lnf1jAiw2Sc5xf/umruxvzFLnhiBKp6/mhrRlVdwVzU9dt+QS+SSYzTWMD15w7eNf5uriXkst7TFpzHMLN3VRt09tSJLDUP+ZARBVlK4f3qoqtrJqcKg4KciGVnYZAG2o5ZfwtSNbZinWgmPlEWJk8pTI6rfGg5ldEo12dFMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=l386G49r1IlBCqfuP/pobRRCl5ZQMkNUQKj+vlaBwAU=;
 b=EVyZtow/FLfsupxjo7viKbZY2b2luhhmPRJDyWWXkiOF3yjZzTJRUDwsNydUSDW7ROeL7HaNVHNlflBE+o/mbPq/Tagwqoj5gfZMgCw9zLk9FmT6lk0dAjJ2YFyDPOKCawn4WxlrwbL6SELlI9LZK44DDNCvbRRIYiSJ+uBCqs12yZCbe4PzJTH1WAkoPIIZyatXbjkrI9WEj5bJ/OZK/Wz8U+TZmk38LzNNpqsryfo7wXQsf7C7skonxAi90Zo4rmUp5bUBx5+JoeWw943y82D2kPP8M/B8xR1tvFcHsY6i/1+FMnNff+HPPRasVW9/8CjbVD7aBqBv66vPPgK/bQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=l386G49r1IlBCqfuP/pobRRCl5ZQMkNUQKj+vlaBwAU=;
 b=Cw65NpIRySuwcFeLydG3933HDORbWNZRQX8iS1dlq90cb8bVtyG4utm/rdPvzbm+wKP85hWkQCWAzo9K3PkeQkvldDtlYEzrl+dwzF9nRWmkAnu5iPSzAXesYD8f3pEbkM6drOHLH+aakXIeE9vF2cyrYKKpkZrZU41JsOO6xBqly0G7WKH7tmXcEgD6X6Lu6i0wVtf3UEslopIFOVW8KZu6lZ/pF5R1f96qVHFuLSzzPsS/J5XQ355HQksxqJU1JHlUha9zpHkcuNvCsIOO24bdNNSsyHTmnwrqQFLbioqpZYZU8sFv9/dhTcYbRMiAdr348Qya31qdXyRU9vla2g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2df82668-2d41-6b19-1a78-91ecb60ce187@suse.com>
Date: Tue, 13 Dec 2022 12:24:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v9 3/6] xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for
 phys_to_nid
Content-Language: en-US
To: Wei Chen <Wei.Chen@arm.com>
Cc: nd <nd@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Jiamei Xie <Jiamei.Xie@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20221118104508.768274-1-wei.chen@arm.com>
 <20221118104508.768274-4-wei.chen@arm.com>
 <6f04f1e7-4fd9-8ab5-0ea0-b6cf5925ca29@suse.com>
 <PAXPR08MB7420A426B6159B3669AC32A29EE39@PAXPR08MB7420.eurprd08.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <PAXPR08MB7420A426B6159B3669AC32A29EE39@PAXPR08MB7420.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0199.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8381:EE_
X-MS-Office365-Filtering-Correlation-Id: bb3f2315-5ae1-4647-197d-08dadcfc9bf3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RYCtlPaITE4jJSA1qaG7pDTrXG5uvdA14MMQ2eo9rFX5skf2DvWAXcBXzFh/rF1z8xAsybXzH/sljex/cOwhopAUTeH4n9KrQPDfHpmbtwOmbXH5gywlgf4fFz5MmHPcYKcoXR5M7uF4dSrYQaUNIi7qbvEExKn/9AabVTO/fLms6aNY7D2U5PiqnrXTKN9LWlX32G34A8L2b4i+wiovews4L/ZTdj2scs5XsO5+m9tvGpkRndYFdPqyFzvHWuG7iULriqD4Gfg6ucbMiOAGroUJPYQVpooSF/if3v2KDXEmqe+T7p9S3bVZ6ENLpmEFA1EUcVuuRcDZjlkr9RhQD3nqhScZr+bbiHurDn7sBn895+RhxgYRkutELa5q9EntuPv7D5moL611V4rr188VxlLOrXRxBrkviVuKQlBRYJDdN9qGtdb8VPj93J4BJvB1s+TfJlbTcbGwSeQCt68QWNAyFBfblbihbaF2BGYzJIYbv5OgmoY/fwfi7CScXHLheFuiEUjBERm3nA+liGrhiLQzh/XvIrvwo5otaaAS/gq/cgOfO+ncxgVbHrLEZYR72njOF1Q8L6Z4gIuPg48p6hUKkGt2n2nGZC9ni4e39mcFJ8gutrmqeUdWx6wHRh79wyCPHcXuVG8nmGmlgXIKlK4zFT/2SYOMyj/XKyQ6H0tUS+Ik/p7xKfQpyv37Tkd1Ku69KxY3P2LDtIG/X65uzW2jWo5k9cz0LjBu6qbaYCs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(366004)(396003)(346002)(451199015)(6506007)(53546011)(54906003)(7416002)(316002)(6916009)(6512007)(6486002)(31686004)(478600001)(2906002)(41300700001)(8676002)(2616005)(66946007)(66556008)(66476007)(4326008)(5660300002)(83380400001)(8936002)(31696002)(26005)(186003)(36756003)(86362001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WmFpRzY0OStrRzNwOFhWYW1laFJVdnhSdzhIbHZ2VkZvY0pyWnE5ZWJDMGIy?=
 =?utf-8?B?RWpRblVCZ3pocGhVSTNBUFFuTGd6OHo5d2FxWU1WQW5LRkNiTmE0REtsbG9m?=
 =?utf-8?B?eURmeEJMK1J4eWhkV1JEN3VuQ0RIaDhmWk1SNjJFZTVVR0czMzZlZ3FDcXA5?=
 =?utf-8?B?dkVRYXFMTVFLOWptMTNqQjh4L2MycmtoTUZxbDFRYnliWVZuT1pQanFRalBD?=
 =?utf-8?B?R3pCY3R0ZWNmanJ6S2tRM0I1czkvWC9XcndCOENrS2FLWHp4dkFlOGptN1dQ?=
 =?utf-8?B?OGFQNTJzb0JOOURNNEs1eHJkbmIyNm13L21rYitPR2tlQTNpRmpFWEJoV09j?=
 =?utf-8?B?K2Fkb3R6WFNBeUQwM29BeUlsS1kzREZnckJmeUp4Y2NPcExrSnBxOUU5Qy9t?=
 =?utf-8?B?L0NLV1lnZEMxQnRuYXk0ZjBic09GbnZnUmh1cDBWSmptQzFhWVcyY0J6NUdM?=
 =?utf-8?B?S1ZLZnY4RGUxR3RvazV4OVRVTWc3QlEyODRlMWJIMkhxN3E1SFlmb24xWmth?=
 =?utf-8?B?UVJRWThEVnJxRFh1eHJkT3Q2Z09wUEtVRFkzT29NZjFkTXR4cHBqMDNwOTB1?=
 =?utf-8?B?enBlcXE3eGtDT3pYL2R4cDZWb3gzU2hpMlhBT0Q5YVloK3VTbkM1dWxVVXlI?=
 =?utf-8?B?M0JnWGh6SXF2WXFXeEdDNFpPOGdhWjlTZkI0bENPZ1ZZem1HcmR1WjAwS0NW?=
 =?utf-8?B?SFlMdWJKQXNuQ1ZGVmExNmJYM0J5RUZTak4xQVpDb3ppdkJKeXQ4T09qcjdJ?=
 =?utf-8?B?c0pwMEtaVFF5RFIrNjNXV2QyclNLdDdUN0E4QjB3ZitPcDJlK1NlaWYzRGxB?=
 =?utf-8?B?R2pGL2JYV1Y2SkRGQSszQ0k4aHN4bHlxQjVMa3BBQzF1K1Rxdy9qbmcwTHVv?=
 =?utf-8?B?aXl3RjZ6c29KMVpiRDZnMW91Smlrc2xsWWtGQlJibStzWDNkOTJwOVdGYzU2?=
 =?utf-8?B?bFRmc3M2ajRFUkxKQlpDd0NNZC9qUDQ2OEZFaXM3R0FCaTR6dGU1UUVvZ2da?=
 =?utf-8?B?TUtBOWFkMUdsK2VsZW9Ec1QzN0V6RHlqUktxQWZrbm1aY0xXeUZXWG1pS09Y?=
 =?utf-8?B?bmFmRlNPd2lrbVh5TkxvVEtUYXRCTVJWczdWZUc3WmNrdlg0MWZQWXMycnA0?=
 =?utf-8?B?Sk5qNnMvTXo4Zjd3VWxUU2dWNklMMWMvRVI0QlZQeFkwcU9QUlJ2aW5qd3V2?=
 =?utf-8?B?bzhZbmFnZkZFM3JtYnpGQjdkc1IyTVJCR0F0d1laZzdGclFuTjZ6ZlA5MlJh?=
 =?utf-8?B?VG1WS0JUVXA5ejQxMld2cjRXU08vcnVCeHpCM0NjMFlJTmo5THJYRGcwYWo4?=
 =?utf-8?B?c2o3UENEcnV2aUd5OGNwMjFxaWdrZVl4UXFMT0ovTnhRbWZHSk1uRGhQbWFK?=
 =?utf-8?B?YzRNbHZNUmFnNEtFNFBBZjdjZ0VwbG1Dd3QwclFDcTl0eUZrdElrUEVxWFNn?=
 =?utf-8?B?QlFyN3BvM0d2Ump6T0JZaW5FdktTQ254VFpJOTFFT3NRQTdSTWdkelJqMFJn?=
 =?utf-8?B?aVpNZFcvclBrZDhvWVB0djVkZ0pwM1kxZTRMK1RLdDVPa1ByV3YxZW91N3R3?=
 =?utf-8?B?WkdSZTdWWGdndzliZWYvekRyN2prbEgxcTdkZUdjR1pIOUZuWm1Qa1dwV1Rh?=
 =?utf-8?B?cit0SkhMUC8ycHpjMHp5bS9KbHNITTZ0U28ybGRvaDJxdW9FUUhmZVRaWldX?=
 =?utf-8?B?R0hrQU84NnJjTUcyVnN2OGxZSU45ckNRL1R2RU1sVzhvekZYSm9tQk9PVHB1?=
 =?utf-8?B?K2g5TUFTOUVJaUNBZ05QZWRTT0xDcytIZlJTYlhCOG54bjNrNW1NUDlOeWtN?=
 =?utf-8?B?endITmZaNVl4OW84dmVKM0Vzc2hzcVB0NmlLck9ST29JV1dVT3UvUExKb1pw?=
 =?utf-8?B?eVZpSWhJbHY5WER0bG1DVXNOMTdJQ0JlcGhiUXh1NHlEZE9NQXR0VzJDV01B?=
 =?utf-8?B?N3hGOCtnbklFODZ2VE0vOWdJdytWc1RWWVdxN3BObWx6ZzRTdlloSk9nYXp6?=
 =?utf-8?B?T3ZaaFRpSnhzZ1N5Y3lqM1BldnIwLzJkQjI2REQzRWdsOUVvYWQxUmhUQzM2?=
 =?utf-8?B?cnh3N0Vsb2k2YVZIU3JyNUlEbG50RldvclllYWhDQWtZREFkdmNzaTE1UERR?=
 =?utf-8?Q?SATX/dzHGGmqej4D1wMuJvjJm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bb3f2315-5ae1-4647-197d-08dadcfc9bf3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 11:24:33.4178
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6uvSoTbTxFkTj7xYBD62TMbVqQE+xPPytG3H1SdWcgeEzOTnWuXvOt8L3mR2HuH7xB8MXHeol9bnAco2iz5b8A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8381

On 13.12.2022 11:40, Wei Chen wrote:
> Hi Jan,
> 
>> -----Original Message-----
>> From: Jan Beulich <jbeulich@suse.com>
>> Sent: 2022年12月13日 17:47
>> To: Wei Chen <Wei.Chen@arm.com>
>> Cc: nd <nd@arm.com>; Andrew Cooper <andrew.cooper3@citrix.com>; George
>> Dunlap <george.dunlap@citrix.com>; Julien Grall <julien@xen.org>; Stefano
>> Stabellini <sstabellini@kernel.org>; Wei Liu <wl@xen.org>; Jiamei Xie
>> <Jiamei.Xie@arm.com>; xen-devel@lists.xenproject.org; Roger Pau Monné
>> <roger.pau@citrix.com>
>> Subject: Re: [PATCH v9 3/6] xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON
>> for phys_to_nid
>>
>> On 18.11.2022 11:45, Wei Chen wrote:
>>> VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
>>> results in two lines of error-checking code in phys_to_nid
>>> that is not actually working and causing two compilation
>>> errors:
>>> 1. error: "MAX_NUMNODES" undeclared (first use in this function).
>>>    This is because in the common header file, "MAX_NUMNODES" is
>>>    defined after the common header file includes the ARCH header
>>>    file, where phys_to_nid has attempted to use "MAX_NUMNODES".
>>>    This error was resolved after we moved the phys_to_nid from
>>>    x86 ARCH header file to common header file.
>>> 2. error: wrong type argument to unary exclamation mark.
>>>    This is because, the error-checking code contains !node_data[nid].
>>>    But node_data is a data structure variable, it's not a pointer.
>>>
>>> So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
>>> enable the two lines of error-checking code. And fix the left
>>> compilation errors by replacing !node_data[nid] to
>>> !node_data[nid].node_spanned_pages. Although NUMA allows one node
>>> can only have CPUs but without any memory. And node with 0 bytes
>>> of memory might have an entry in memnodemap[] theoretically. But
>>> that doesn't mean phys_to_nid can find any valid address from a
>>> node with 0 bytes memory.
>>>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> Tested-by: Jiamei Xie <jiamei.xie@arm.com>
>>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>
>> This patch is what is causing the regression found by osstest. The
>> previously silent (dead) checks no trigger when paging_init()
>> encounters a hole in SRAT-described space, as is the case e.g. on
>> the himrods:
>>
>> (XEN) NUMA: Node 0 PXM 0 [0000000000000000, 000000007fffffff]
>> (XEN) NUMA: Node 0 PXM 0 [0000000100000000, 000000087fffffff]
>> (XEN) NUMA: Node 1 PXM 1 [0000000880000000, 000000107fffffff]
>> (XEN) NUMA: Using 19 for the hash shift
>>
>> The node ID for 0x80000000 (slot 1 of memnodemap[]) is NUMA_NO_NODE,
>> which of course fails the left side of ...
>>
> 
> I am sorry, I had not triggered this in my testing machine. I'm a bit
> curious, on NUMA platforms will there be memory that doesn't belong to
> any node? If not, why the space of 0x80000000 will be used in paging_init?

The space isn't used (see the full memory map in the log collected by
osstest), but the function is called early to calculate memflags (which
then isn't used in that particular loop iteration).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:25:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:25:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460526.718455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53PA-0000aA-Ou; Tue, 13 Dec 2022 11:25:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460526.718455; Tue, 13 Dec 2022 11:25:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53PA-0000a3-L5; Tue, 13 Dec 2022 11:25:00 +0000
Received: by outflank-mailman (input) for mailman id 460526;
 Tue, 13 Dec 2022 11:24:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3cNm=4L=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1p53P8-0000ME-Om
 for xen-devel@lists.xen.org; Tue, 13 Dec 2022 11:24:58 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c65a23eb-7ad8-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 12:24:58 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 ay14-20020a05600c1e0e00b003cf6ab34b61so7621859wmb.2
 for <xen-devel@lists.xen.org>; Tue, 13 Dec 2022 03:24:57 -0800 (PST)
Received: from [10.17.77.104] (ll-74.141.223.85.sovam.net.ua. [85.223.141.74])
 by smtp.gmail.com with ESMTPSA id
 p4-20020a1c5444000000b003d1e051f671sm12240135wmi.9.2022.12.13.03.24.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 13 Dec 2022 03:24:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c65a23eb-7ad8-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0zzKSrhRjNKwDPrxvmmbmQD2gMH3MjOqGUB1YYKIlmc=;
        b=g4/+bZT2eqxOtIwW+DvoGleVrRvlfq3wog3BvMaXR8zPCVuSLDI0m2Kr+7/gUjjtoy
         Z0omMWFAGHUXmKiKcPxmvRxVDb+5nDzhCA5yBlqIQ1pIizR9SW4XnC0XmjOXs+U9PD95
         ICuHQ4QxHXzqjCHp0Q2rlkyX2zQ8e+8mC+gcbxbxofLvEeQm5Asr6y6nn/Ytg2AbJTMM
         2Lhw6763aGFByjeu+zy6K2ciCEftIYBfrpjcVMndZMtah7jHWUItQhDNKIxOSsYmJaMs
         dvflc6ZiXgf54BwqAZRvt10rXOJDLBxrdYQv8MKGzfn+t29c0tpeTKlBWKqZ2zGEeAYF
         BKRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0zzKSrhRjNKwDPrxvmmbmQD2gMH3MjOqGUB1YYKIlmc=;
        b=25KwmcCjGgP0BDNyBWCeLuj7bG/zZSB8zvhph/hwjjlQi4od8ihIv72GUDfKf8Tmd/
         29hyqjwYSg2EEOXAK5xWUiioTq61LbJKgvyMTWBtPYXGh5zKMZMDTQFZ1bSSskxUOy8i
         /+cgTendVEA6M5KRe2K3wm4U2sTa8HUw7xeHbwRom0lywNp8d7yCoBBJSOtQl3ginXzh
         5eZ4Ke8LNF6ysQIQSZW+NLAgCHvJzTtCpJix9fr3Wi7SnkMcwywTAtUj1Ajqx1kZUFh4
         IoF4ZeNFFic0WPGULsQukD8FX7QAVRMakFlX8ZIEMYLp9ipOrn8SmoAyfoYElityC6d9
         4GRQ==
X-Gm-Message-State: ANoB5pnCWkRhvpq3b8LX0VlAdynLzJOxW7iZGT9lwkw4cROIXTbY1/4w
	7g5603MNaHaFLCHZGi6JftY=
X-Google-Smtp-Source: AA0mqf4BOJ2Lb3iJ25AUgRIHFcXdprIhJXCpxVoJG7rrBf2qKQqMO5cyjUkUgx80BRHLPzGpXznk5g==
X-Received: by 2002:a05:600c:3d15:b0:3c6:e62e:2e8d with SMTP id bh21-20020a05600c3d1500b003c6e62e2e8dmr15122741wmb.40.1670930697287;
        Tue, 13 Dec 2022 03:24:57 -0800 (PST)
Message-ID: <93a31fd0-d610-aee0-31a0-cf0e21ed8057@gmail.com>
Date: Tue, 13 Dec 2022 13:24:54 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [PATCH V9 3/3] docs: Add documentation for generic virtio devices
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xen.org, Juergen Gross <jgross@suse.com>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <cover.1670925998.git.viresh.kumar@linaro.org>
 <a0eb1c6d571cc3ed9ca7dd71dabe3aba6e69100c.1670925998.git.viresh.kumar@linaro.org>
Content-Language: en-US
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <a0eb1c6d571cc3ed9ca7dd71dabe3aba6e69100c.1670925998.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 13.12.22 12:08, Viresh Kumar wrote:


Hello Viresh

> This patch updates xl.cfg man page with details of generic Virtio device
> related information.
> 
> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>


Now it looks perfect, thanks

Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

> ---
>   docs/man/xl.cfg.5.pod.in | 33 +++++++++++++++++++++++++++++++++
>   1 file changed, 33 insertions(+)
> 
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index ec444fb2ba79..024bceeb61b2 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -1585,6 +1585,39 @@ Set maximum height for pointer device.
>   
>   =back
>   
> +=item B<virtio=[ "VIRTIO_DEVICE_STRING", "VIRTIO_DEVICE_STRING", ...]>
> +
> +Specifies the Virtio devices to be provided to the guest.
> +
> +Each B<VIRTIO_DEVICE_STRING> is a comma-separated list of C<KEY=VALUE> settings
> +from the following list. As a special case, a single comma is allowed in the
> +VALUE of the "type" KEY, where the VALUE is set with "virtio,device<N>".
> +
> +=over 4
> +
> +=item B<backend=domain-id>
> +
> +Specifies the backend domain name or id, defaults to dom0.
> +
> +=item B<type=STRING>
> +
> +Specifies the compatible string for the specific Virtio device. The same will be
> +written in the Device Tree compatible property of the Virtio device. For
> +example, "type=virtio,device22" for the I2C device, whose device-tree binding is
> +present here:
> +
> +L<https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml>
> +
> +For generic virtio devices, where we don't need to set special or compatible
> +properties in the Device Tree, the type field must be set to "virtio,device".
> +
> +=item B<transport=STRING>
> +
> +Specifies the transport mechanism for the Virtio device, only "mmio" is
> +supported for now.
> +
> +=back
> +
>   =item B<tee="STRING">
>   
>   B<Arm only.> Set TEE type for the guest. TEE is a Trusted Execution


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:34:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:34:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460540.718466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53YB-0002CU-Ly; Tue, 13 Dec 2022 11:34:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460540.718466; Tue, 13 Dec 2022 11:34:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53YB-0002CN-I0; Tue, 13 Dec 2022 11:34:19 +0000
Received: by outflank-mailman (input) for mailman id 460540;
 Tue, 13 Dec 2022 11:34:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iLc3=4L=cantab.net=dvrabel@srs-se1.protection.inumbo.net>)
 id 1p53Y9-0002CH-Dw
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 11:34:17 +0000
Received: from smarthost01b.ixn.mail.zen.net.uk
 (smarthost01b.ixn.mail.zen.net.uk [212.23.1.21])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 130c5e53-7ada-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 12:34:16 +0100 (CET)
Received: from [82.70.146.41] (helo=pear.davidvrabel.org.uk)
 by smarthost01b.ixn.mail.zen.net.uk with esmtps
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1)
 (envelope-from <dvrabel@cantab.net>)
 id 1p53Y1-0005Vx-VX; Tue, 13 Dec 2022 11:34:10 +0000
Received: from apple.davidvrabel.org.uk ([82.70.146.43])
 by pear.davidvrabel.org.uk with esmtp (Exim 4.94.2)
 (envelope-from <dvrabel@cantab.net>)
 id 1p53Xs-004m5V-Fb; Tue, 13 Dec 2022 11:34:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 130c5e53-7ada-11ed-91b6-6bf2151ebd3b
Message-ID: <e0c05cb6-32be-bfea-9a4f-4567272042b4@cantab.net>
Date: Tue, 13 Dec 2022 11:34:00 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, David Vrabel <dvrabel@amazon.co.uk>,
 xen-devel@lists.xenproject.org
References: <20221110165935.106376-1-dvrabel@amazon.co.uk>
 <20221110165935.106376-4-dvrabel@amazon.co.uk>
 <641a5905-3a1a-e128-788d-e907297aa213@suse.com>
Content-Language: en-GB
From: David Vrabel <dvrabel@cantab.net>
In-Reply-To: <641a5905-3a1a-e128-788d-e907297aa213@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-SA-Exim-Connect-IP: 82.70.146.43
X-SA-Exim-Mail-From: dvrabel@cantab.net
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
	pear.davidvrabel.org.uk
X-Spam-Level: 
X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_00,NICE_REPLY_A,
	SPF_HELO_NONE,SPF_SOFTFAIL autolearn=ham autolearn_force=no
	version=3.4.6
Subject: Re: [PATCH 3/3] x86/pci: Fix racy accesses to MSI-X Control register
X-SA-Exim-Version: 4.2.1 (built Sat, 13 Feb 2021 17:57:42 +0000)
X-SA-Exim-Scanned: Yes (on pear.davidvrabel.org.uk)
X-Originating-smarthost01b-IP: [82.70.146.41]
Feedback-ID: 82.70.146.41



On 12/12/2022 17:04, Jan Beulich wrote:
> On 10.11.2022 17:59, David Vrabel wrote:
>> 
>> --- a/xen/arch/x86/include/asm/msi.h
>> +++ b/xen/arch/x86/include/asm/msi.h
>> @@ -237,7 +237,10 @@ struct arch_msix {
>>       int table_refcnt[MAX_MSIX_TABLE_PAGES];
>>       int table_idx[MAX_MSIX_TABLE_PAGES];
>>       spinlock_t table_lock;
>> +    spinlock_t control_lock;
>>       bool host_maskall, guest_maskall;
>> +    uint16_t host_enable;
> 
> If you want to keep this more narrow than "unsigned int", then please
> add a BUILD_BUG_ON() against NR_CPUS, so the need to update the field
> can be easily noticed (in some perhaps distant future).

This is only incremented:

- while holding the pci_devs lock, or
- while holding a lock for one of the associated IRQs.

Since there are at most 4096 MSI-X vectors (and thus at most 4096 IRQs), 
the highest value this can be (even with >> 4096 PCPUs) is 4097, thus a 
uint16_t is fine.

>> +static void msix_update_unlock(struct pci_dev *dev, unsigned int pos, uint16_t control)
>> +{
>> +    uint16_t new_control;
>> +    unsigned long flags;
>> +
>> +    spin_lock_irqsave(&dev->msix->control_lock, flags);
>> +
>> +    dev->msix->host_enable--;
>> +
>> +    new_control = control & ~(PCI_MSIX_FLAGS_ENABLE | PCI_MSIX_FLAGS_MASKALL);
>> +
>> +    if ( dev->msix->host_enable || dev->msix->guest_enable )
>> +        new_control |= PCI_MSIX_FLAGS_ENABLE;
>> +    if ( dev->msix->host_maskall || dev->msix->guest_maskall || dev->msix->host_enable )
>> +        new_control |= PCI_MSIX_FLAGS_MASKALL;
> 
> In particular this use of "host_enable" suggests the field wants to be
> named differently: It makes no sense to derive MASKALL from ENABLE
> without it being clear (from the name) that the field is an init-time
> override only.

I think the name as-is makes sense. It is analogous to the host_maskall 
and complements guest_enable. I can't think of a better name, so what 
name do you suggest.

David


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:35:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:35:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460551.718477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53Zd-00032j-3S; Tue, 13 Dec 2022 11:35:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460551.718477; Tue, 13 Dec 2022 11:35:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53Zd-00032c-0f; Tue, 13 Dec 2022 11:35:49 +0000
Received: by outflank-mailman (input) for mailman id 460551;
 Tue, 13 Dec 2022 11:35:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p53Zc-00032W-FA
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 11:35:48 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on2047.outbound.protection.outlook.com [40.107.14.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a14e960e-7ad9-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 12:31:05 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8381.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Tue, 13 Dec
 2022 11:35:46 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 11:35:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a14e960e-7ad9-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AGMHQXyQ1ueC6A57xCDdvtXVzv08bYAOM8t5llCZLUQbRel/aO9X2+4JTvxwVKZ7+CwTpfXgJEQYeVi7FZRoMgw7+QqIAIyK5fjmIpFIGTsoQLc8ZZfv/EabPnZeE65LdTkVXuhkIux8IEagE+LEo8d80GJhP2F+WkQnDKZFJvmYoax3qc3Uln53KwtyBXTb8z/IpK3b3HSynBWiBJUKvKUSzyVZ3j7aSSV/vXVotflUkQwi9YFnFlLC2zGiQ92qJviNbvPE0HFDmkP+QP4sYB392mVWyY1i5UGz1MlGfFYwdROx3J992IvUKjcb+0SkkMAC429ZIvYQFH6uR097EA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=43ZenRijF+5J/r/Cm44hqql35sA/6bKvw9e+vWf6plc=;
 b=j6pOV4sxoiHap1rMsL1LP/77rp9xRp/nAZvIfksUnIKA4qPxkf1rDe3juvwXss/KElK9H0v4nhqyGwQ2PfKvpgd72/2+bhBfFT7b04t/AysZfsXZS1B1a94YJKanUfaXWRGG4r4kyaiaD4z3K1VUfE+2q6YNqbRHhhOAs+Q2DitnKqvJdHuiwbeapdtdV7ztIPeCr5/K9qvqd172hXmI1mgQOUMC5DeqcfsfdMHJj517+32KRw3OuBQvoFu7i6v4HKKPiPboyUtVit8NVJikLSc6YIooDJcsOFyfKPav210SWzgjCa7DDH4gsdeNP2r5uorT3Fp0xTI7pywWDzEWBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=43ZenRijF+5J/r/Cm44hqql35sA/6bKvw9e+vWf6plc=;
 b=tVChMcBv7V9Tt+57NUBxGyVCN/KcTZCEa57dVZWhKBZnheKdj92IOlE095UQMwN0gluudJPsS3NI3Amd5rHylPU9dGMa0hmOJNUwbCckgiVmZ5KAeiExmVYdl/ubfb5ZkbYgdXTktNd9dTJZCWES8fXzY8OT4C/L6d6kKiKeENxDxSknf6G+AAmTeY7UTId/Kw746RVxe0iPV6KtmErIzJQACOTVf4aDm5q2BCwLO5WAklwBJpbV6fjh//kFfkIPTEDTbXm1ntweRNd8CGZIuKVUIcr2tFlUae4zyBwbsb8U2xY/SCgDuwca+oG2OqHHDOKxJUNksCasxfcMDp2sCw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
Date: Tue, 13 Dec 2022 12:35:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/2] NUMA: phys_to_nid() related adjustments
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0099.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8381:EE_
X-MS-Office365-Filtering-Correlation-Id: 897d9804-7a34-4a66-a9f6-08dadcfe2cd4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WwrglpvxEc6SSeYQ8msDKZARmo/5GxrI7ncCBXC3YzWEtWuzMiaitsTuAemQPO3ZmqPTaOG+cGOP5PTGcZ53t5UKbzWt1AOb55fLlPiHTwGWO2+M4jEyBUuVjfROgeUmspAJhE2t9EmuZTRTIiVGaxy/mEJeNeGDqqcrakZFoTBBnhRcih/7rx/MB4Ualrj5OCgMylR3bh8SZpSkhtmgKvdy8IQy5hYIH47nhanP2yveMHbOdYBfJ90oHO6ndPT82nLBVNT5pCaIIbJrNaFXf0qlSVhhY5qYOj5W/eLyGxuSUvvnt48n0Ib84siavBFXZhGEcO7dzXIllgZK3EqC773LFY/oDcgGuPYUwpJl1K6fihVkCzOhVCEzUCObpDORIQXU6HrMJdlVRFjE+Sy+JNVAdIf/5NelwrkGuBRBymK+Kqak6YnuhFNvfdfPIhsQP96nsfXXOxwyh7XhlthEjg9Yl+tx6pW7p00/y7CDEOo2kMW3ovzHQqrxpyqJpMLIQOFh9Uo+ckIS9ANHvcNUd7paKfZvfKwkeH0ffOz1raxGSHbZCtPDFen2kSwww5pBaDhKJBmavgi0ATAcyXXVzACSDZ1IPaYaoOrOHQRJIrVsq6n5yc8NesG1u6CigmBiXRcbCkvd5u8y/ouhtRuIyNEmKQ0M1JrB0ZxB0AtZewEBAF3eZWwWZlJcL9OjLDqz4CVcQ5CNpesmmp5mrFh3UdXaYISDG9J0GW3tDt2ma3c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(396003)(366004)(376002)(39860400002)(451199015)(31696002)(86362001)(36756003)(38100700002)(26005)(66899015)(186003)(6916009)(6512007)(316002)(478600001)(6486002)(31686004)(6506007)(54906003)(5660300002)(8936002)(4744005)(2906002)(8676002)(2616005)(66946007)(66556008)(66476007)(4326008)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RkJZSUNIck1EczFPRmNuYVRHajFySzB6d3NZMDVVS3JPME13ZFowMzRzL0Ez?=
 =?utf-8?B?cndBa1piVkJKYTdIZ1htbVdQUS8zWUhNVXlDK1FiQ2J3RldvRTlqcUNidDZJ?=
 =?utf-8?B?Y3pVaHZDZ0p1aWJNdlRGMzh1Y0kzbnU5dXBHajdEdldrcEM4WE1Ib1ZYUXMz?=
 =?utf-8?B?ZDJLN3UvdFZqTkFIbTN3YWszRXRVSmR5US9lWDVzcG9nc0lkaHZGUDRocDRy?=
 =?utf-8?B?R0RYTmc3LzNHczdQa0NwOE04ZUNhQ2xkb0w3RzhlUGNERmY3MHRNaEg3UjM0?=
 =?utf-8?B?bEp6dlE5bm9uTWxPNkJPaklNTkdyRkRsZVNlc2hGdmpTRmRYQnVzZFFEZEht?=
 =?utf-8?B?bzhsQnZMQUFldjA1Z2huQVdnSjlKM0RKellIRFlSY2lMb0pMS0JjOVRhWHJ0?=
 =?utf-8?B?eCtsZ3lYczdXNFR2c0VPcnBvNjl5WmVIbjBnL0hEakowR3V2elZ2ZWxHS2JI?=
 =?utf-8?B?OFhPZ2ZqOThBR2w3WVpHZGZHcVZyb29zd2QwdFAxbTFjVE1NZm50Z2pLOUtN?=
 =?utf-8?B?cG1OMjdmbjk3SFUzZkhhNG9xRmttSjdoMG4zdzlzUnBtWGRDbW8rZHAvRHdH?=
 =?utf-8?B?b3MyRVlJemF0SjJEZmZ4QWNOOURBZFJiVURzME0yUHVIaWFBeWlxTmJOK05x?=
 =?utf-8?B?WGpXbGJ5UGtONzY2Z3F6ejd4MUxIcXpmcDZ4dU5ISUt2aWFETnkzckh2cy96?=
 =?utf-8?B?MHdrRGlKTkxteGhpU0JPODRDTDYzeGNDTVlIZERBREVnKzRpOWZUNDFmRzdI?=
 =?utf-8?B?T0dSYnRIb2UxSDBRVys3OFJqU0QrL05UbWlzUlZwcmIvcnppdUx2Vyt2YzZQ?=
 =?utf-8?B?OWl4aS9QM2l0R210ZExlejdMREt4TVdzaW1KczN5N0pQcnhzMmFKS0dqb2VP?=
 =?utf-8?B?MTIyamJTSUd3KzVGNXhnS01WL1IzYURMU1p0b0xVbGtkMWpxYWR6Q0xyQlVn?=
 =?utf-8?B?T0RjOVQwdCsxY0VMc3NDNDZOendIMnFPa1pjRWlnalNCZm82M3ZtRThRbHVR?=
 =?utf-8?B?MmxSdXlHeXRjZnY0NUdiTm5zOTlWVEc3UXJScUdxdVBHOE9KZ01Sb1lOWUlM?=
 =?utf-8?B?ckxNaUF4U1I2UlY0TW5BQThqMTRqMUNNTE04YVRnQnNIV1k0L0JueTlwN1RF?=
 =?utf-8?B?eGdqaW1aNFcrVXp0elA3eXNRdGk3QjZ5UFR4R0g5eWxKZTYrQUVySzdINExu?=
 =?utf-8?B?Y1B5cG44RFFxNXVjelQ5NWhkVmU4cVVDTUJSZlN1RTBtNTN5K2FVQk5VUWx6?=
 =?utf-8?B?NW1oQ1VZRnpjdkRMNW91MzVMdUpTNjJhSmdUS041aVpGS29SRTd4d1RJR0ll?=
 =?utf-8?B?SDVJcXBPTFNBTFo4VWVDMkgrTXBFQkZ5UkpnUGVlU2lTS3J4c091SWRMSGY2?=
 =?utf-8?B?YlpTOWUxclR5SnBHU1d5SjQ4Y0JjQ1dNd2RwVnFneHZWVFJSRTFxVUgyVXQv?=
 =?utf-8?B?ZjU3WlI0dHBWa1ZyelpDREVNeUNDOUtURWpzaS9vbzhSMG4rQ2YvME0yS281?=
 =?utf-8?B?SkVaSUZURDVzMGg5U0FzWEVEaENvSWkxMUlMNUJ2Y1I0bUVTR0V3MW1lOElU?=
 =?utf-8?B?eThkMCt4YUk5eEZXbkhMQlphZmtSWnFNb0xJdUpqZzRQUG54ZDMvS29PNGlz?=
 =?utf-8?B?bzErdXc5Umdlamw0MC82NnVhS2Zzb29pazUxTEswM0ptdnAySkFWODdxUmVO?=
 =?utf-8?B?Tkd1QUw3RXQzeHMzR1dReGM0Q0xmVlZnNEloYStFbzc5MUtsTzNWbHhRbWtQ?=
 =?utf-8?B?aGQ1aHFmNWt4dzF1a0x5elNKZFU5QlVtUis0WTlQZHVXazY4cThZcUEzN3FX?=
 =?utf-8?B?a3FEUStGdWhWa1pYaURIcnEzdlRrbVJyZlpmS25HbkRTMHQwTEdHL3ZrcjZw?=
 =?utf-8?B?SXBXWWZlajRpRUErbWVDQzl5U0x0M296ZU4vd2ErUkR3OVJicEtpNFJIUk9J?=
 =?utf-8?B?d0NnSmFjUGdaNS9UOTRzK2YveDZKN1pPUUZBaWRJWVNidnBZazRHa3g5Zy9a?=
 =?utf-8?B?d0U0cS9WclVVaWYyWjk5QkR5NDlaRkxaQ3F1WnRsb1Z1VXZnRlNDVlozWGlM?=
 =?utf-8?B?UlkzMlBKRTBsdzd4N0dmbFRYdUYxSytDWkZKbW8yUjdmRytOckw3bGZiaXIr?=
 =?utf-8?Q?VIPSNzPYkfU0B2+XB4cV2Ydrq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 897d9804-7a34-4a66-a9f6-08dadcfe2cd4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 11:35:46.0003
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bweubIQOcI0uL3p7tINWJR6PpgbTf3VTuBpbvBHqgzcWy46I4TG0G56ZB+EbXoQ88L//5znoj5nJBf0UWsl3Xw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8381

First of all we need to deal with fallout from converting the
function's previously dead checks to ASSERT(). An approach with a
weakness is proposed on patch 1; see the RFC remark there. Plus
phys_to_nid() has been somewhat inefficient with respect to all of
its present callers.

1: x86/mm: avoid phys_to_nid() calls for invalid addresses
2: NUMA: replace phys_to_nid()

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:37:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:37:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460559.718488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53al-0003b9-DD; Tue, 13 Dec 2022 11:36:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460559.718488; Tue, 13 Dec 2022 11:36:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53al-0003b2-9g; Tue, 13 Dec 2022 11:36:59 +0000
Received: by outflank-mailman (input) for mailman id 460559;
 Tue, 13 Dec 2022 11:36:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p53ak-0003Zb-CY
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 11:36:58 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2054.outbound.protection.outlook.com [40.107.21.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb1a4143-7ad9-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 12:32:15 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7338.eurprd04.prod.outlook.com (2603:10a6:102:80::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 13 Dec
 2022 11:36:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 11:36:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb1a4143-7ad9-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fN4/pZmTQgWw1txxYV+1LbB33sHqWNIwsIblBjA55NZGUPEQnoYGKfpNwOuJwdKPtXJJTYf9lc/zv2Bhq2IJiziHvExkRL7HaOy2noyATpR2gVIGV+niCj8dzckT03WiaxdnvD4rTDmDeOTBXvpNkZoKmozG3tyUDroo+xGV7jXwk28BOKBVUfpuBQjwVFLG59WFrnVCOuF8u09DfOmlCrfwb0eJTOQ5+0oJltxCrPGvP6tONJkM00y1u3rbrTDCS4q1pZvh4sGnjhoy0itUQwkiwAQigxmBDsFkMQ1N/cf8M6rmuWNO+dTF9zd6fQwZ2jrZ8E4UKc/gt2Fr6pC4+w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dI5yJpzzZtco6iDYZtvKt6sm4LVJzPtpRGFeBOoz680=;
 b=KjfyiTAk82DkBCrWwROjKYsgVUI5sUvr0ZR6t4FONez6HHAMheFVBKVOcy8ScADPWTRJ1/GNK/jCBrF/0ZnKwYlzJwF9huCVMSELIs7MyNZjorXAzTBWxDYUFWtA/Xo7CgT0aIIWCUqStdud5oNkzEsj7uvs+ZyspyMBnDe2aKXoNXT3hexYt+N/yH5bmKH7GJ/mQKFc0NiVFqLTCwS32kjlR/kfo/4eNJndcwWpc2BjmtXpCOBm3LtiSwO0+lgur62KqzwUzkvTQkRuB3T1VA2qZOC/TXxQW5NYSb+v4FysqoZHglAV45BM4Ek7IbKb8mKx4eyXhXL6IvEt7+uhsA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dI5yJpzzZtco6iDYZtvKt6sm4LVJzPtpRGFeBOoz680=;
 b=bkEEYaYgSJTXLNsIqGj6g/db+KhPCmHmKJGWMsueOwFN6HEzUxmO/vOXa9cYbsmcV2F5Jzsl4qvfZM64dpvuCGVuzwJg73dKJcsHXsuceZoY9EdmcxYvxIZHaZwywDE3IvR2UZTJ/awgykfvYEeQeviuWiZOJXuecqUjynwLv8FuW/i3q7Gq1NRv4YnjAGcLwdQGWkOIyjDc8d6DyeyaXvgpXuYYNPcgLJoZ9/pYRXq4y4xxoUD6KjKB42hmgGdy2omNtuzSySIuUrnhHGO4diQkTAUaup6gZNXFd0tR6WAPTA5SOHk1rW0yweJHZS7uEEZwVB9NNfc4E0S4dsLiLQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d503a684-1689-ef60-23e8-5eb6b33ab5c8@suse.com>
Date: Tue, 13 Dec 2022 12:36:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: [PATCH 1/2] x86/mm: avoid phys_to_nid() calls for invalid addresses
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
In-Reply-To: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0076.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7338:EE_
X-MS-Office365-Filtering-Correlation-Id: 6a7ce60c-faca-4cae-28fc-08dadcfe564f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m3Sjf1HhILvpZMt6A0mEKHw4jP9Daq19apmaCvmO/ngfvnBm8bQvm1Jmv6xJiAgEMfnwW9a36ZNFJhdd0zZK+EkLyKQbsqOOEC89Rl4QEurl2qCBykcV97JXGzvddgjojBZdGbDmDgcV5HQ5UMEy8vCp30M4pl9fp1M4nTMNpN5aIiL0O7nC2Gz2b+9HF4ZIhACwZnoKk8XtzGk6VNllM0JXwEfK0lpE1DLl0pV7VdxLMgASsfKFxlAfpTcAIebDHKzOlqwwQ8Grtd2IrZjWQzfhxLEpFlc5t/f0sFwG4U4dUC1BWi5W7sDLeirBay00To5ZTsDPSEj36LPhG+cROA09Ga+h7q3uIhkSi7oM+gAIJetpo5WS4SohBi+5eY8BGA+LdYrSyjYZ9xBUUFEL0j2db6mcFwaAiPZTjhRb5a5Zaw+znX9I8zyFvlphWhHjV59jxma2s09LfXIQzU9ZsumtUGlE/8KPt0IwFbQ64Ta3Bb6d2ZQwPV91+zypiylJMTZvBAIXU+CQnpSC1cRZprFoilaHssbRgOwilgOXvcTo9TJA3NihE9arEk/vQ7ZhBUFXguzr9zcwvgWE+vYDoomfmKqH4W8GfDtrYlrX7GM3HKlVtx7oxc7v1XfBD+ic936FieyfS3w0dx/cba8i+JPLRoHnushM2Fe4Ir6/2smFN8XrNvQ2D1TTlDvyfPYsjmydFnhFARRDK/r40gBdicu582GJloInQ1gYBZXIcFo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(396003)(136003)(366004)(39860400002)(346002)(451199015)(38100700002)(83380400001)(31696002)(86362001)(8676002)(66946007)(66556008)(41300700001)(66476007)(54906003)(6916009)(316002)(4326008)(2906002)(8936002)(5660300002)(26005)(6512007)(186003)(2616005)(478600001)(6486002)(6506007)(31686004)(66899015)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YmRWRDhCSE8zcXBRcUNCZS9IcXVNc0c3S3FyR3RHZWNsYldxTVdrcjUxd0Qw?=
 =?utf-8?B?Zzdta1Y5RUdCeHloZFpVNTNlKzdJVWxZRHpwSkU0c1Fvdk80L1JCbjBkYWRL?=
 =?utf-8?B?aFpFeDcwUG9hWkgxc1AycllPN0MxeUdocmFBVUhLdlN3VDNuYUZsTHUyRXJQ?=
 =?utf-8?B?N0JnS1ZXSHVtdm1qK0o4bDFJWUZaM0pFUUxvT2x2V1hINTljUkJyME9uLzBu?=
 =?utf-8?B?ak9HbDdXRitnM0lRejFnYW9JVkp6QzlubGpaYUM2TFUxcUdiZjNqYVNJNWhW?=
 =?utf-8?B?bDFqRkw2RERWcnhyWGMxT0YrdDJuakhSZnhhVS8zbEU3Z3RRcUpydzFRZ2NE?=
 =?utf-8?B?aE5OUjE3bEFkM1BTOFJJVHNkMkozR0FOaDBtdWZVNlFab3hKU3NDR29ha1k5?=
 =?utf-8?B?Vk9wdG9SSklCYitQRjc0VDVBUDhOMUtQVTREU0NKd3BoZjBYNXhLYTlXWVlv?=
 =?utf-8?B?MTZ5K1pMZGdMQmlhSVhZVjhDbWhhbkJsaE15eGUwY0R5SzB1amhSN1VLUGgy?=
 =?utf-8?B?bWJSd0M1RVd4ZGtyekhhZ1NITHJIZzREME9oNjYza0l4emJJU3ZsMmExOFVl?=
 =?utf-8?B?YzBZenRIZEhpT1B6QmdVSmNDS29kUHNiR3prVjRLb213Q1pWTUEyTFYzWWMy?=
 =?utf-8?B?UHE5eStKZ1pVdEkzVTl2WU1nVVVRTkRtaXQ0THd6anFETjBqMmtEU2xQKzRj?=
 =?utf-8?B?NUJMMHZLOTdmSXQ5UnZlZVJkNUpvcTB1S2JYT09nb0Q5SHdBZ0lQOE1zY2c2?=
 =?utf-8?B?TlJtM3NSUmkwVkZwT3BlNDNKcHdoaGxySS82S0JFQTY0YjVna1h0b2FvVEsx?=
 =?utf-8?B?WFhTUUVmeEg0V3ZLeWp1NEtXLzhUN3BDTm53RGp0K3ZaSUJmejJZRFB5MDdB?=
 =?utf-8?B?UGl3dFArczNNRmpXKzdxaUxGSWIwWEs0Qm5vKzR3bE01L3hGcEhTbm43ZHZY?=
 =?utf-8?B?ckQreW02T1Q3V04rTXQwd3V5KzV2bTNqeHFncWJvTlNaZ1daK1NibldvZE1j?=
 =?utf-8?B?a3JnRStIUkhWeDBPVzVVS2dzSzdCY3U3RUhqenZaMDFFcjRHMDNLdS9WNHh2?=
 =?utf-8?B?dUV5Z3RWeWxTZE9RTGZnTW5FZ3UvUVE3T0I2MmJBZWpscHA2eXZpVXFqd3A1?=
 =?utf-8?B?cVFYWVl5SloydUdPS1k3cmNvTmE4RGJVYmFTaDNOVHJSYlFOS09YcmNaL0Rx?=
 =?utf-8?B?SURYRCszMTZvMzNhb0tKQ2oxK3FGOVpWaHhHL015UzhDM1o2clhrdGdaWERR?=
 =?utf-8?B?ZVJjdFp3QVJwYzBrKzJZNklzbHcwWDZkcFhPSHVTR1BiQ1cwTFBxNkFtSnR3?=
 =?utf-8?B?ZkpraDFpS2xMZzhsTDZZV0UrVlY0TXVya04wUE9STXlDN2VZa1U1aW56Nzhq?=
 =?utf-8?B?alExRVR1WHI5a3U3OElWZUhzdlJNRW42ZGcySTBXVGJUQW44Y0U4QWc5aXR6?=
 =?utf-8?B?L3FxV1czdU45TXVvNzJ5Q2VtYnZVcnR2cWtrUnZPQ1AycDBOc1VxS2dkOFZT?=
 =?utf-8?B?SnR5VmFiRUc4K1U4MVBNWmpuSTNidW81NzRCc3NuaEYxZkdjNHdJQnlhZEZI?=
 =?utf-8?B?ZW1CYzVSNWkxbmVpZ1dseFFlUVhHVkEzSmNHaGNvMDB1NjFJRXovMnJ6Q1Rx?=
 =?utf-8?B?QnRJWWhERFYxcFUvZVR2S09mMGZVa0xoZ0x3RXRISC9rcFZTYUI2amJjT2Vn?=
 =?utf-8?B?RWIwQWZZVXhOcldKZzYyMjJqRXlCR3lyeUpzVHBWR0hPTEtPN2xrVHVjdTRX?=
 =?utf-8?B?cTY5VnpXUWVFeGRhYmdvM1Q0MkUvSW9YQ0pzc3VHdUt1bTZVUWR6SlV0emto?=
 =?utf-8?B?eVRkWmhyTUlGYy9KdGZkZzBIU3lyN1AzU25LWW5sM3IxOTMzZmIxRk5QSjdM?=
 =?utf-8?B?bE45Szl0U1pnbUxYajB0a1B4R3FXdU9kUkdNT2JpbWdNRHY4cmVYc24wZzl4?=
 =?utf-8?B?NklId3kyMWtldHk5QmpxdHBPdktFRjROczdIN244YThzQ3VrQ2ZxYU9NLzZy?=
 =?utf-8?B?SmFXS0hWNEgwQ3ptWFNtQ1VTbERjbUg3cU5sOHZQMENtTWI3RUxUZW5KL1NT?=
 =?utf-8?B?dGROK1lRRjhEcUFOS3lNeHVoamwzZGdYTndiY0ZvMmN5d0svZHlMb0ppUkh5?=
 =?utf-8?Q?mLN6Ixaw03gkbgwsui8+D7JRV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6a7ce60c-faca-4cae-28fc-08dadcfe564f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 11:36:55.5741
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ofVMM9FV7JGgDo3i+iSk+XDQnprzSOAfTqmhBhmxTsbtcjGU+KaUfp2jSpjfjoxzsmGrcqeUi147fxfYHSmUnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7338

With phys_to_nid() now actively checking that a valid node ID is on
record, the two uses in paging_init() can actually trigger at least the
2nd of the assertions there. They're used to calculate allocation flags,
but the calculated flags wouldn't be used when dealing with an invalid
(unpopulated) address range. Defer the calculations such that they can
be done with a validated MFN in hands. This also does away with the
artificial calculations of an address to pass to phys_to_nid().

Note that while the variable is provably written before use, at least
some compiler versions can't actually verify that. Hence the variable
also needs to gain a (dead) initializer.

Fixes: e9c72d524fbd ("xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: With small enough a NUMA hash shift it would still be possible to
     hit an SRAT hole, despite mfn_valid() passing. Hence, like was the
     original plan, it may still be necessary to relax the checking in
     phys_to_nid() (or its designated replacements). At which point the
     value of this change here would shrink to merely reducing the
     chance of unintentionally doing NUMA_NO_NODE allocations.

--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -498,7 +498,7 @@ error:
 void __init paging_init(void)
 {
     unsigned long i, mpt_size, va;
-    unsigned int n, memflags;
+    unsigned int n, memflags = 0;
     l3_pgentry_t *l3_ro_mpt;
     l2_pgentry_t *pl2e = NULL, *l2_ro_mpt = NULL;
     struct page_info *l1_pg;
@@ -547,8 +547,6 @@ void __init paging_init(void)
     {
         BUILD_BUG_ON(RO_MPT_VIRT_START & ((1UL << L3_PAGETABLE_SHIFT) - 1));
         va = RO_MPT_VIRT_START + (i << L2_PAGETABLE_SHIFT);
-        memflags = MEMF_node(phys_to_nid(i <<
-            (L2_PAGETABLE_SHIFT - 3 + PAGE_SHIFT)));
 
         if ( cpu_has_page1gb &&
              !((unsigned long)pl2e & ~PAGE_MASK) &&
@@ -559,10 +557,15 @@ void __init paging_init(void)
             for ( holes = k = 0; k < 1 << PAGETABLE_ORDER; ++k)
             {
                 for ( n = 0; n < CNT; ++n)
-                    if ( mfn_valid(_mfn(MFN(i + k) + n * PDX_GROUP_COUNT)) )
+                {
+                    mfn = _mfn(MFN(i + k) + n * PDX_GROUP_COUNT);
+                    if ( mfn_valid(mfn) )
                         break;
+                }
                 if ( n == CNT )
                     ++holes;
+                else if ( k == holes )
+                    memflags = MEMF_node(phys_to_nid(mfn_to_maddr(mfn)));
             }
             if ( k == holes )
             {
@@ -593,8 +596,14 @@ void __init paging_init(void)
         }
 
         for ( n = 0; n < CNT; ++n)
-            if ( mfn_valid(_mfn(MFN(i) + n * PDX_GROUP_COUNT)) )
+        {
+            mfn = _mfn(MFN(i) + n * PDX_GROUP_COUNT);
+            if ( mfn_valid(mfn) )
+            {
+                memflags = MEMF_node(phys_to_nid(mfn_to_maddr(mfn)));
                 break;
+            }
+        }
         if ( n == CNT )
             l1_pg = NULL;
         else if ( (l1_pg = alloc_domheap_pages(NULL, PAGETABLE_ORDER,
@@ -663,15 +672,19 @@ void __init paging_init(void)
                  sizeof(*compat_machine_to_phys_mapping));
     for ( i = 0; i < (mpt_size >> L2_PAGETABLE_SHIFT); i++, pl2e++ )
     {
-        memflags = MEMF_node(phys_to_nid(i <<
-            (L2_PAGETABLE_SHIFT - 2 + PAGE_SHIFT)));
         for ( n = 0; n < CNT; ++n)
-            if ( mfn_valid(_mfn(MFN(i) + n * PDX_GROUP_COUNT)) )
+        {
+            mfn = _mfn(MFN(i) + n * PDX_GROUP_COUNT);
+            if ( mfn_valid(mfn) )
+            {
+                memflags = MEMF_node(phys_to_nid(mfn_to_maddr(mfn)));
                 break;
+            }
+        }
         if ( n == CNT )
             continue;
         if ( (l1_pg = alloc_domheap_pages(NULL, PAGETABLE_ORDER,
-                                               memflags)) == NULL )
+                                          memflags)) == NULL )
             goto nomem;
         map_pages_to_xen(
             RDWR_COMPAT_MPT_VIRT_START + (i << L2_PAGETABLE_SHIFT),



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:38:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:38:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460567.718499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53cD-0004BR-NC; Tue, 13 Dec 2022 11:38:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460567.718499; Tue, 13 Dec 2022 11:38:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53cD-0004BK-KV; Tue, 13 Dec 2022 11:38:29 +0000
Received: by outflank-mailman (input) for mailman id 460567;
 Tue, 13 Dec 2022 11:38:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p53cC-0004BE-Bt
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 11:38:28 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2045.outbound.protection.outlook.com [40.107.7.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a89e90cb-7ada-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 12:38:27 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6773.eurprd04.prod.outlook.com (2603:10a6:20b:dc::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 13 Dec
 2022 11:38:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 11:38:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a89e90cb-7ada-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LA0D0LxmkAf+yF3cRNmCoCHyzlkaPKqJajBO8dhpqQoSZihGVGi9KR5IXfMxda2Y+tE8zt/dD4Rt7dIOt+6vCA3rxqbDQ7T6U1DQtgmqpPDAf+cf1NJ7tRBypBwvC22CUkansP3Q3Cu5mz9HiylDTbPZa3RTepj5AzA5UpT4YB4V01ch/6pw3TlKBMXXAAc5K0HFl7bySuh0EUYlHhEeP/5LQsgqqu4KllZ9EhmoV6kkOPZ7WRXifaw9XUHH2KJLU/O6fHrYDbG/54l2GzoYMYJDVrc6ZrRkMBJzQyfxuoiJJVmXBFFyG2YCe67psGsUEf00kmN4vCnYSH3g6O2hcw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2fKU73ItCQMSb+9aoT7onl24CYSr8frLerEBargv7u8=;
 b=h+YsQEDPYV3gG8zrouq8E37Q3ASRzFGj0KsyF7rFwqA0E2HEjoaBCJupFFmBh1kvGnoolxt3RbOwvsj6LATmYkzoA9ecD2v7PdYt+qxKL9rTGPpJit1Ti31ssAL5OvG7CZVSpg8rrshRJbPUyp62zof2X2nZa+NCDwxtOmUd4nQOilBCSiE8zO5u8PfCdz0aRwPCBPT/qjZd0ki1T9VHtX+/XCG4nIWFTK7mSX9sbVDThNklzFZIHyjuJiqTeVxpPsi2lqKukXz2cAGWlmn0eJ3H4RtcawCQ4KxBCchhHtKp5qLLIpGEO41YtNdcNRA3EmfnS7eBtgkWch96FkB7Cw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2fKU73ItCQMSb+9aoT7onl24CYSr8frLerEBargv7u8=;
 b=oVlhHI6GZ8s99s3Z5w/lhE3Xl4TA0Q67nHrKjTxWN0UDuhoTpd0jikCa9uoSiNTjiN/DAtOSx8xYngBfQw1zWTg3FI5/8txIDy/PddZ2gcrBIrjbT3UHSI3DYJ3oCUe8736VdRqReNYny+cJ8zqZnZkBDAlxGrkgo0tscb8ejO80ZuyhiVP3texo8LKjH+7LjIKPfYWGoqXWPTmgINHn6AFRQJYVP1s/Lx7TKOJCkHshVrMYcSa0T09cslHGScwpdaIIklotf6tFzaevmUUc0irMCZ4O6gK+rHoGTIxI7XI7FvcJOwLZc5RXYQ0Bw38GzdjvACjQslS6m7Zrg6s4WA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <670b7017-4a6e-fa9e-9d65-65013bd4ad80@suse.com>
Date: Tue, 13 Dec 2022 12:38:22 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: [PATCH 2/2] NUMA: replace phys_to_nid()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
In-Reply-To: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0139.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB6773:EE_
X-MS-Office365-Filtering-Correlation-Id: e2e5c921-9d92-4a71-c6a3-08dadcfe8b42
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4na9XTIPMtTlX9vSVrveEyO49QjKIJpTgCOD2IBT1ppehiI2tiDh/GBooHKmawJ+2jVYTsr1Prg4JJPY52nT9oRF1hu+u1w4WpPzVCjJgPW+Y+ZsIkoyq0RvlAEgYCgh0SQPSZjQlkjauEHwB8yH4FInvZdeD3m1gr3+z1VJFKySFAjJcGExAzICzbNJh9kbAv4OL+5Btj/QWROkL2yU3IySUN77JA+tGWxcNMuqZkg07BxY1yR/ZEh2j4YcMv1lsYujZRDhRDfihetqofnBm1BSZXbTWBOGNPZw6fnHi3FW8u5pcF9H4WH6KGXVY96+J8bwQ4KSpBQ35evZ/lU3S2AX+5Fk8onrqUQD1LMPLVjAa6lz9cxGwFZ/oMwVmqB9boUv1pV6acsPtbsK2tWYzYIiBHW4LGjEDTRKltuSdToc46cE4+Ed+k0xi5YzUegaGcKXO6D1HFEJpjOaxqlct+cMlrGg75BYleoYExP9H7GgKlMWjvvgF1Nf+cJtM9K1wOdz5SBVkUuDYuYQn78BCexN6S9Vjl382l/QAl0lQW4UaCZVNpScNElnXR27j2nJB0bf2Id7k/1W+uPnfH9594QwPjlG1Reo9M/hDKjbz0vzS8a2KD/Grt8++V01Q0+mUN44M7DQCWJYSiNNO8o1wZiZFCXoyXJjyTWs0a0RdIRbSulU+STNSM6FYuZnZ0u4BiaFjtCyE/u9oLkIP1/1S0qa6GZ0aoUMZA53SJNFkgQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(39860400002)(396003)(366004)(136003)(451199015)(38100700002)(31696002)(6486002)(86362001)(5660300002)(478600001)(66946007)(2906002)(41300700001)(66556008)(4326008)(8676002)(316002)(83380400001)(6506007)(186003)(26005)(8936002)(6512007)(66476007)(2616005)(31686004)(54906003)(6916009)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WUdOaTh5TnJBdEVIbGFZQ0V3ZkJtZXZrdVM5bVluYWpKb04zNmxiRXdMK2da?=
 =?utf-8?B?VFZHZ2xkVTVMMFdyU24xelVIWHNkWG15QkdCVzV0aklZb0R4WVJxRXJTRFpv?=
 =?utf-8?B?aFVoWmdVQmN1RkduVFA0aC9SUm5HMis3WTNOV25wRExnNTBWNW5TekkzWmZi?=
 =?utf-8?B?S1RIK3lCK3JyV3dRMjB0WDhiU3dUdVo0WlUxMUJWUDZOMmFjT2lWdTVCckFn?=
 =?utf-8?B?eHVYS1lZTnRzMllTU1NCc0FPaEFsOVR2MThYNXRCMWdOK2lGZUlETVZIK1Rj?=
 =?utf-8?B?Q1h2Q3VoYkJKTVpaN2R4U21IMXgxV2E0Wjdha1R0bHd3QUowREt2OEh2U0hY?=
 =?utf-8?B?c21LMjE2REJhc2RwQzNKSGFHWDczR1Z1ZE1Sck1BaFgrZE5TRTcvcXZyMWFJ?=
 =?utf-8?B?MEJTRUxxNEZSYVhtQmw5RGlKUEtVMlNEUXRBZEZ3UCtkcWJQSDlhTkxUQkhB?=
 =?utf-8?B?Y210Szg3WDNrb3VBVkFSV3hQV1dsczRrYkNnRzMya0lsOXRPQThjWjVGRklJ?=
 =?utf-8?B?SWdkdjEvL0tzM1ZndGtrbzBRcTR0M1l3VHp3c3d1bisvOC8va2RkUWlMbEl1?=
 =?utf-8?B?cmlRTWMxcmFhYXZQRUpYU0FxUU8wZ0Z4UEhUd1Vrb09kTkE4amZTT3dNc3ps?=
 =?utf-8?B?RDBRenBaR1dXZVdQN3JCT1REZXIySTNkMHU4UjZ0dTFlN1Z3Y2xkZnN3aXJr?=
 =?utf-8?B?RytRZ0hMRDh1akFTSS9JWktpMGl2V2NWQVdKS3c1eDdOalZUTi9RTWZpSUpM?=
 =?utf-8?B?WHlyVk1yd0J4NUNmZmxwbU5nZHJyc1lrZFdaOC9SRVd6TW4wNkpSUGVEVmZm?=
 =?utf-8?B?eUJCQkVTWisyRStqVzEyMTFZazFHNFJWd0t3TDBxbHY5K2licmNScVFuMDBY?=
 =?utf-8?B?c29vZ3lLTWVmUXZmU1BGTHZIT3VzMXc2ZDZ3WjJ5NnpEbnhTME9pMERmTlpI?=
 =?utf-8?B?VDV6WklENVlyVE5vczFJbDlSemYrVWN6WUNVRHYyM3ltOTBnWDJFdm1INEF6?=
 =?utf-8?B?M294UnpRcm5wcnhqbjcvSUtMN1Z5STVGNnVxVnphdHZuK3BTSFVsZnR3Y1FP?=
 =?utf-8?B?TzJKa2ZJbFdGUmxkbllRWEdaajd0RVQ0aVlaQzl6cFRwcXVYVno0eFVVT2hB?=
 =?utf-8?B?YUZLZWMzUUZPQWxsVHRkbEhqWG5nc25yMzgvUEJOR0VNcVZsLzhvY1RIbTAx?=
 =?utf-8?B?d1RiVHRFaHIrb3k3REI3a2x3TUZGbGEzV3J3WmVIeU0vM3lOUERpdXkyQXhz?=
 =?utf-8?B?bGxReUxmOUd0Tk5MZ1RLMEJmd3IxOG9RTEFzSU1BZ3hNaTAxTWZyREhSQUYv?=
 =?utf-8?B?NUZ4MFovSDFnUW5STmpNRnN5emxsVlU5MXZ0NVVWeExSaTRQdmF0bm81bEVZ?=
 =?utf-8?B?OFJzT0xFVjZzVk1DaVpVeHF0TmRwaEpGZmtxcWJZNWQ2OG1sb24xa0ZjN2FP?=
 =?utf-8?B?dFVSTGFyczNNL1VwaXdrdFZKL3RyMXZ6UDQ0d2NXeko2UHNLVGV5MDEzYmU1?=
 =?utf-8?B?Y2tPZ1I4bFFodHhGYlR6SC9PUGprbE5RRVhqSjcxVk1hZUxSeVZOSzBncm1p?=
 =?utf-8?B?RlRiaDFOV2pxTDBsY3p0YllsYUNOMDF0RlZ5M3dhNU41bjlXcHBkb1M5aUlx?=
 =?utf-8?B?QWJhK21EN010U1grV0htV1pJNHRmWTJQYkEzVThtS0FXdVdUYXZaN2gyTU9X?=
 =?utf-8?B?L2NXQWdyZThjM3Rxa09aMlBaSE5wdDRqaSt6bXNwbTlCSFFFWEVjbVlYWkpw?=
 =?utf-8?B?ZzhIaUFEOHJEMkdMR0tMcUdubkNSNXZ4ZEtER0ZKRHM1eXdMMStNV3ZVa2xO?=
 =?utf-8?B?NFZaV09xb0NzS2MvYlF6azRvVUxST3BVcnhxTG9IMWJjWlRYTkNNVGg4VExD?=
 =?utf-8?B?dk1ESUJCd3FoNmdNeTRSOElOSWlUalBYNVhNakE4K0w3ak80NzNSaUpIY093?=
 =?utf-8?B?Z2R2UXI2VnQvN3VVbnJNMDk1T1ZweCtZVXNuZEh1L0dkcGxPVzVrdFBkSGgx?=
 =?utf-8?B?ZnoySW5lSElway8vbUR6WnpHbk5EdnduL01Td2FsK2M3TTNkazl5djF2S1RH?=
 =?utf-8?B?MTZycnNQalFkdzByRGdyUnJhcTJIUzlhY09tUTIrTkpLMElKa3I2c0k3NTVj?=
 =?utf-8?Q?uHuCQkzu8YbwW2Mj1NtWbhgZV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2e5c921-9d92-4a71-c6a3-08dadcfe8b42
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 11:38:24.3809
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6cCeR+a6vioXWRsXuMuLZbgpv5D8icjQ8jmW2a3eV1PNFEvr4mHNilgJC1/2VFWzOPksGINT0BQEgV52gDo57w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6773

All callers convert frame numbers (perhaps in turn derived from struct
page_info pointers) to an address, just for the function to convert it
back to a frame number (as the first step of paddr_to_pdx()). Replace
the function by mfn_to_nid() plus a page_to_nid() wrapper macro. Replace
call sites by the respectively most suitable one.

While there also introduce a !NUMA stub, eliminating the need for Arm
(and potentially other ports) to carry one individually.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
At the top of free_heap_pages() mfn_to_nid() could also be used, since
the MFN is calculated immediately ahead. The choice of using
page_to_nid() (for now at least) was with the earlier patch's RFC in
mind, addressing of which may require to make mfn_to_nid() do weaker
checking than page_to_nid().

--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/arch/arm/include/asm/numa.h
@@ -11,11 +11,6 @@ typedef u8 nodeid_t;
 #define cpu_to_node(cpu) 0
 #define node_to_cpumask(node)   (cpu_online_map)
 
-static inline __attribute__((pure)) nodeid_t phys_to_nid(paddr_t addr)
-{
-    return 0;
-}
-
 /*
  * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
  * is required because the dummy helpers are using it.
--- a/xen/arch/x86/mm/p2m-pod.c
+++ b/xen/arch/x86/mm/p2m-pod.c
@@ -492,7 +492,7 @@ p2m_pod_offline_or_broken_replace(struct
 {
     struct domain *d;
     struct p2m_domain *p2m;
-    nodeid_t node = phys_to_nid(page_to_maddr(p));
+    nodeid_t node = page_to_nid(p);
 
     if ( !(d = page_get_owner(p)) || !(p2m = p2m_get_hostp2m(d)) )
         return;
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -565,7 +565,7 @@ void __init paging_init(void)
                 if ( n == CNT )
                     ++holes;
                 else if ( k == holes )
-                    memflags = MEMF_node(phys_to_nid(mfn_to_maddr(mfn)));
+                    memflags = MEMF_node(mfn_to_nid(mfn));
             }
             if ( k == holes )
             {
@@ -600,7 +600,7 @@ void __init paging_init(void)
             mfn = _mfn(MFN(i) + n * PDX_GROUP_COUNT);
             if ( mfn_valid(mfn) )
             {
-                memflags = MEMF_node(phys_to_nid(mfn_to_maddr(mfn)));
+                memflags = MEMF_node(mfn_to_nid(mfn));
                 break;
             }
         }
@@ -677,7 +677,7 @@ void __init paging_init(void)
             mfn = _mfn(MFN(i) + n * PDX_GROUP_COUNT);
             if ( mfn_valid(mfn) )
             {
-                memflags = MEMF_node(phys_to_nid(mfn_to_maddr(mfn)));
+                memflags = MEMF_node(mfn_to_nid(mfn));
                 break;
             }
         }
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -671,15 +671,15 @@ static void cf_check dump_numa(unsigned
 
     for_each_online_node ( i )
     {
-        paddr_t pa = pfn_to_paddr(node_start_pfn(i) + 1);
+        mfn_t mfn = _mfn(node_start_pfn(i) + 1);
 
         printk("NODE%u start->%lu size->%lu free->%lu\n",
                i, node_start_pfn(i), node_spanned_pages(i),
                avail_node_heap_pages(i));
-        /* Sanity check phys_to_nid() */
-        if ( phys_to_nid(pa) != i )
-            printk("phys_to_nid(%"PRIpaddr") -> %d should be %u\n",
-                   pa, phys_to_nid(pa), i);
+        /* Sanity check mfn_to_nid() */
+        if ( node_spanned_pages(i) && mfn_to_nid(mfn) != i )
+            printk("mfn_to_nid(%"PRI_mfn") -> %d should be %u\n",
+                   mfn_x(mfn), mfn_to_nid(mfn), i);
     }
 
     j = cpumask_first(&cpu_online_map);
@@ -721,7 +721,7 @@ static void cf_check dump_numa(unsigned
         spin_lock(&d->page_alloc_lock);
         page_list_for_each ( page, &d->page_list )
         {
-            i = phys_to_nid(page_to_maddr(page));
+            i = page_to_nid(page);
             page_num_node[i]++;
         }
         spin_unlock(&d->page_alloc_lock);
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -971,7 +971,7 @@ static struct page_info *alloc_heap_page
         return NULL;
     }
 
-    node = phys_to_nid(page_to_maddr(pg));
+    node = page_to_nid(pg);
     zone = page_to_zone(pg);
     buddy_order = PFN_ORDER(pg);
 
@@ -1078,7 +1078,7 @@ static struct page_info *alloc_heap_page
 /* Remove any offlined page in the buddy pointed to by head. */
 static int reserve_offlined_page(struct page_info *head)
 {
-    unsigned int node = phys_to_nid(page_to_maddr(head));
+    unsigned int node = page_to_nid(head);
     int zone = page_to_zone(head), i, head_order = PFN_ORDER(head), count = 0;
     struct page_info *cur_head;
     unsigned int cur_order, first_dirty;
@@ -1443,7 +1443,7 @@ static void free_heap_pages(
 {
     unsigned long mask;
     mfn_t mfn = page_to_mfn(pg);
-    unsigned int i, node = phys_to_nid(mfn_to_maddr(mfn));
+    unsigned int i, node = page_to_nid(pg);
     unsigned int zone = page_to_zone(pg);
     bool pg_offlined = false;
 
@@ -1487,7 +1487,7 @@ static void free_heap_pages(
                  !page_state_is(predecessor, free) ||
                  (predecessor->count_info & PGC_static) ||
                  (PFN_ORDER(predecessor) != order) ||
-                 (phys_to_nid(page_to_maddr(predecessor)) != node) )
+                 (page_to_nid(predecessor) != node) )
                 break;
 
             check_and_stop_scrub(predecessor);
@@ -1511,7 +1511,7 @@ static void free_heap_pages(
                  !page_state_is(successor, free) ||
                  (successor->count_info & PGC_static) ||
                  (PFN_ORDER(successor) != order) ||
-                 (phys_to_nid(page_to_maddr(successor)) != node) )
+                 (page_to_nid(successor) != node) )
                 break;
 
             check_and_stop_scrub(successor);
@@ -1574,7 +1574,7 @@ static unsigned long mark_page_offline(s
 static int reserve_heap_page(struct page_info *pg)
 {
     struct page_info *head = NULL;
-    unsigned int i, node = phys_to_nid(page_to_maddr(pg));
+    unsigned int i, node = page_to_nid(pg);
     unsigned int zone = page_to_zone(pg);
 
     for ( i = 0; i <= MAX_ORDER; i++ )
@@ -1794,7 +1794,7 @@ static void _init_heap_pages(const struc
                              bool need_scrub)
 {
     unsigned long s, e;
-    unsigned int nid = phys_to_nid(page_to_maddr(pg));
+    unsigned int nid = page_to_nid(pg);
 
     s = mfn_x(page_to_mfn(pg));
     e = mfn_x(mfn_add(page_to_mfn(pg + nr_pages - 1), 1));
@@ -1869,7 +1869,7 @@ static void init_heap_pages(
 #ifdef CONFIG_SEPARATE_XENHEAP
         unsigned int zone = page_to_zone(pg);
 #endif
-        unsigned int nid = phys_to_nid(page_to_maddr(pg));
+        unsigned int nid = page_to_nid(pg);
         unsigned long left = nr_pages - i;
         unsigned long contig_pages;
 
@@ -1893,7 +1893,7 @@ static void init_heap_pages(
                 break;
 #endif
 
-            if ( nid != (phys_to_nid(page_to_maddr(pg + contig_pages))) )
+            if ( nid != (page_to_nid(pg + contig_pages)) )
                 break;
         }
 
@@ -1934,7 +1934,7 @@ void __init end_boot_allocator(void)
     {
         struct bootmem_region *r = &bootmem_region_list[i];
         if ( (r->s < r->e) &&
-             (phys_to_nid(pfn_to_paddr(r->s)) == cpu_to_node(0)) )
+             (mfn_to_nid(_mfn(r->s)) == cpu_to_node(0)) )
         {
             init_heap_pages(mfn_to_page(_mfn(r->s)), r->e - r->s);
             r->e = r->s;
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -1,6 +1,7 @@
 #ifndef _XEN_NUMA_H
 #define _XEN_NUMA_H
 
+#include <xen/mm-frame.h>
 #include <asm/numa.h>
 
 #define NUMA_NO_NODE     0xFF
@@ -68,12 +69,15 @@ struct node_data {
 
 extern struct node_data node_data[];
 
-static inline nodeid_t __attribute_pure__ phys_to_nid(paddr_t addr)
+static inline nodeid_t __attribute_pure__ mfn_to_nid(mfn_t mfn)
 {
     nodeid_t nid;
-    ASSERT((paddr_to_pdx(addr) >> memnode_shift) < memnodemapsize);
-    nid = memnodemap[paddr_to_pdx(addr) >> memnode_shift];
+    unsigned long pdx = mfn_to_pdx(mfn);
+
+    ASSERT((pdx >> memnode_shift) < memnodemapsize);
+    nid = memnodemap[pdx >> memnode_shift];
     ASSERT(nid < MAX_NUMNODES && node_data[nid].node_spanned_pages);
+
     return nid;
 }
 
@@ -102,6 +106,15 @@ extern bool numa_update_node_memblks(nod
                                      paddr_t start, paddr_t size, bool hotplug);
 extern void numa_set_processor_nodes_parsed(nodeid_t node);
 
+#else
+
+static inline nodeid_t __attribute_pure__ mfn_to_nid(mfn_t mfn)
+{
+    return 0;
+}
+
 #endif
 
+#define page_to_nid(pg) mfn_to_nid(page_to_mfn(pg))
+
 #endif /* _XEN_NUMA_H */



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:41:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:41:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460576.718510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53fJ-0005fy-9G; Tue, 13 Dec 2022 11:41:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460576.718510; Tue, 13 Dec 2022 11:41:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53fJ-0005fr-6W; Tue, 13 Dec 2022 11:41:41 +0000
Received: by outflank-mailman (input) for mailman id 460576;
 Tue, 13 Dec 2022 11:41:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=v/kW=4L=oracle.com=daniel.kiper@srs-se1.protection.inumbo.net>)
 id 1p53fH-0005fj-Pl
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 11:41:39 +0000
Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com
 [205.220.177.32]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 71b6c71e-7ada-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 12:36:56 +0100 (CET)
Received: from pps.filterd (m0246631.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 2BDBddhe011560; Tue, 13 Dec 2022 11:41:32 GMT
Received: from phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta01.appoci.oracle.com [138.1.114.2])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3mcgw2d5d8-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 13 Dec 2022 11:41:32 +0000
Received: from pps.filterd
 (phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5)
 with ESMTP id 2BDBZF6C031776; Tue, 13 Dec 2022 11:41:31 GMT
Received: from nam12-bn8-obe.outbound.protection.outlook.com
 (mail-bn8nam12lp2168.outbound.protection.outlook.com [104.47.55.168])
 by phxpaimrmta01.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 3mcgj5h5vm-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 13 Dec 2022 11:41:31 +0000
Received: from BN0PR10MB4822.namprd10.prod.outlook.com (2603:10b6:408:124::13)
 by CH0PR10MB5386.namprd10.prod.outlook.com (2603:10b6:610:dd::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 11:41:29 +0000
Received: from BN0PR10MB4822.namprd10.prod.outlook.com
 ([fe80::8781:9b5f:7205:b8b7]) by BN0PR10MB4822.namprd10.prod.outlook.com
 ([fe80::8781:9b5f:7205:b8b7%9]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 11:41:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71b6c71e-7ada-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=date : from : to : cc
 : subject : message-id : references : content-type :
 content-transfer-encoding : in-reply-to : mime-version; s=corp-2022-7-12;
 bh=IiiwiamCcb4dBLyurtu9zcRiozYQjwfAOYRDpKAaKhM=;
 b=j1R5p37ayTK6aJT1rvGcxNpXW4gKerGOGfFpSHiG8RbewCFkjiC5iw17RjdGyyvrO85R
 jtUBhBz1s9cIVBiSsX6FhYTAJyuuf23U/V/xfIjN48w9m6lAfS2EXKDLu7Nwg9a3HsVK
 AcizmxvnVP7J61RexP4Q4XUsmT3n6Rvj5uko6NJA2e+MkpbJw+6cATsSrhMg0Qu8Zjii
 Jrnn6I8vydCie23a8icvEMJFKKsSbI5ExoIVk2DMrEP5FTAUFCWuAfp0mnKsVNXenEsO
 mwfuCRtLWiRKPpxGqSvt5AMyq/vyAVWKi2T0SO0CJabKCRo15IjHGECrgrebAMzjZVKo 6A== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Sj1373DqWI6gKFAK4M/Fv1QJiyU1Y8QddQD4jNu9Z9ehxW6uSLi8AMa8Ri2Cxq01zHjqM1imO6qFXHhj9JBE354tJN5tI1lQrsF45tq9xFgOpqneMUhLHMgj6CWKgkgdBC3aqcPz9+aVuf69dgff4flM6GyN2ShOZkb1+VrJ6GrFucZoA++PLHZTjgk6UpVAqx/flyJHf9cIgvlmYb8DgqsneS4VEwoP0cSFkjTvPQK1IFEwLBoYuznrq3DG1bh0ggvADjD4A2DXw1mKATUXPBZos1ao9dPpYOb/z6IPUxlvNro6wSOwotXVVC4w8bJkQZQW02Dl/ACrq7lvonnXWw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+uLSL5o0yzU34w/gGEHsG5WDd52rKFwHfr9/R3xuo4o=;
 b=QitmXza7EJC8V24ZmvxIL0a+wT0m6/LkBf+8rfhPKWSKCc8gNCr9cIr7E05BGr20Eu6pKH2Krw0Rsz/8Bjuklw5TSPskqjjOXPDW0otvZlXGQh4pqojgJaFSqwAHJQRcYVDXhtOy/BoDRriSztLAo66eBUxBIL88IVr2UPmgcuuxnEi957fMVLA2WG2qkxUgrpWOQASKaI9Mo9/mwHeA9ewAEZFrCtS+X22W/glOKjlmBFnSmXrV+8vuH2TbqWykey1kaokB5DYYlzO6guE2tZ3Ju6dl6mIgMou0giY6F3/Kivac6lRxAscSWmCtWZ8oFX9AaV+j7gSKo6Y0tA5czg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+uLSL5o0yzU34w/gGEHsG5WDd52rKFwHfr9/R3xuo4o=;
 b=XW4pKHP2Wrodtah89UoyqxYCOtbcJExgUgMK3LickLE7HybX8MuVWszxG5D/1+AQ+NAkn0IZfyCVbOHBPUQbQCARSgWJXU2trBj8j4OJm9R+7Gujy+EbmZDd7AF2Zp/8n3CbWkMNb8FLeYoUF4dOu1FRDEytRwujnZzYIWpkaUk=
Date: Tue, 13 Dec 2022 12:41:22 +0100
From: Daniel Kiper <daniel.kiper@oracle.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, marmarek@invisiblethingslab.com,
        Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
        xen-devel@lists.xenproject.org
Subject: Re: [PATCH 4/5] multiboot2: parse console= option when setting GOP
 mode
Message-ID: <Y5hk4m7HE6n9Tr9H@tomti.i.net-space.pl>
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-5-roger.pau@citrix.com>
 <8f7e0393-8c0f-a924-7cee-25b9fca6f739@suse.com>
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <8f7e0393-8c0f-a924-7cee-25b9fca6f739@suse.com>
X-ClientProxiedBy: BE0P281CA0021.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:b10:14::8) To BN0PR10MB4822.namprd10.prod.outlook.com
 (2603:10b6:408:124::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN0PR10MB4822:EE_|CH0PR10MB5386:EE_
X-MS-Office365-Filtering-Correlation-Id: 62971276-ad38-46d4-5355-08dadcfef94c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	VwqZLvZ7tTxxBspHhx5TTasbuRIpNuQPJisiPuloz9tFdMTQPexBURtgBNKNm9vnJYd0vPcbU6iz4sgE/f6EfcwNcIFtbsLAtsU6bsC6swr103/gaFMtZ8kZS8+ZP9pDiVKxs8rw0r9ayPES4syCPp1Px7li23SjsifILU8dO9ydurUK98ZVowaSZ3cUTQEpAzxCPuA4IoLxYRand0bIVC35P2pd/txZv160EjBn56hs2jzMhRaLiO4f/R/YjSFc2cAdZDVcut3u9eFwnJqS3P9A+vq1SO103cRlDFirFBb/TjJhQ9fv8A3BMdxW5eTt1jynKdC3ooTAWBdXhQECA6KpfpFB2u63Lk4fBgzWidwqTpFXNOVHJDq6X6PAVPGZWM84TqBMHUH+UGfVEjJGc7bnOHU4O2eCsddvEywQntfd7Z+U5VGRC74CPdY3jJ/92r9G/6S2BUSHHO2E/ItNxgd3i/8HdyNb1M2gnQD8bhhD/rksL6kmhxFbvd0WVdAB8Duh/CmbpzI4GxhFzg8leFru55QFahfyp/0rc3BZpPVAjV4m3/vO90sTeyL9Q8ZPXT8y0WnVgYNgEx1maL/TK56ECHoK99SIvvD2RQpt5W/wGj57VS6M3ZbxAtZdKBcfMLFpSxlInxHtHlR2MmVNQw==
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0PR10MB4822.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(376002)(39860400002)(346002)(366004)(136003)(451199015)(2906002)(44832011)(38100700002)(26005)(8676002)(6512007)(41300700001)(6666004)(66556008)(6506007)(53546011)(9686003)(54906003)(6916009)(316002)(5660300002)(66476007)(4326008)(8936002)(86362001)(6486002)(478600001)(66946007)(186003)(83380400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?iso-8859-1?Q?yNI3K/3mTjjfZZpVs+2Mn7LU6jtMoKCJLKWMIKF0Q7WDNGgiQti/IEinK9?=
 =?iso-8859-1?Q?XZ0sPvKO7DmBynfxOiA3Ll5YYQHCdMVtT/RqvrqsePKHVYCysYdL86jz+o?=
 =?iso-8859-1?Q?n/DXQiOb02RQjduKc9PudHhziUjrBukwzUXTBRnLqFVidnOowdZP7gGwBD?=
 =?iso-8859-1?Q?TKBGuaZP+rBTHPX6fC3Pmk198goduG9qVivcqqbUVrlqHFaaxUC2FtYJng?=
 =?iso-8859-1?Q?beBUsWXwk8wQ5slL5/2EmdaKF5CHiK+310JXPPLjwcrjVh5wp4kOCxonBE?=
 =?iso-8859-1?Q?V5kiGFizQKKNu8wGI1/lpUj8CmxzEbxsMoEJfoCdP9nAR8DJQby8JqQZdz?=
 =?iso-8859-1?Q?AGqitr4/9j1KwhbFOY38OeJjYpOaUBTEOj+s76gbFeZt3oznHwsxGvE0Dq?=
 =?iso-8859-1?Q?tEybpL0Z/pPSPyCcWnkAb12FuTJio9w8X9WIL5N8iXp54kSVKdd1M6kB7M?=
 =?iso-8859-1?Q?S1z6KEVHazT97xP3mNtMLG//Judd9ntjX07vpp4ISLNsDcU3fiVGQEvazp?=
 =?iso-8859-1?Q?kPz146njlSH0puYZfSzdTiBLcGEpUG6vusCmvBY7KZtANO3V1MlMupkShd?=
 =?iso-8859-1?Q?knPpzOfIJ74cX9uaTv6QqCfGqfN+4H8V+S+9cACYVITMNkv9WHNJ6lMvSC?=
 =?iso-8859-1?Q?Kbz6B9XZCrRU/H3dXceg7CX6NgpYJ1Heymomk10p/8SlJAQ7I9tMcQuLoS?=
 =?iso-8859-1?Q?CQ2JsDqcEbETIeuWTavrCGN2lOnUjuOx1s866GJgjENVC2coOGkwE3dv8E?=
 =?iso-8859-1?Q?GPCMw9tSFWWXOt/L5ngZZZP8zxquk3+PF5qmt25ZVKPeWd7ArSuNo2OivX?=
 =?iso-8859-1?Q?cy92mxzixr8I+ra2R0ckHCbe1PJTnuJ/HVjpssUaSRc7Ijkhb110nwgc50?=
 =?iso-8859-1?Q?aluZHGzw9sBmVTvte3mQDlRVJeQMHICkz6RCzKKbLbP+nHCtlTJSrnjKs9?=
 =?iso-8859-1?Q?nvyjKGODJk0rlNNBM4f1wig/LuygX6Xi7DiJPSD7ojZPffdXDiCaDzeujb?=
 =?iso-8859-1?Q?+tRMhg0dEIEG0GPphENm0s8sEcXJ7n4JVt3hXgXK7pqxEnp264U8E/QP9z?=
 =?iso-8859-1?Q?510n29SznYCQoGdFw1RgUR6un0Bfelq2TIh/GaCzObDEQxRic2Xnf1cg1m?=
 =?iso-8859-1?Q?JgUfB62jCp1/JI1Gr/bZ78LyOo5sBhXvxARqBTyDa1lkYJzAuwQMvj209r?=
 =?iso-8859-1?Q?+P0g9i98UUxmazkkgG1NCXloKvQZeMozVkN7smzeWtsVnMpTFLv/lCvYoI?=
 =?iso-8859-1?Q?04CUkJVKY4BC0xp0yntwc0tjDa4M2NEQgKgJNXEDdGl9uDSg/d71oAmHkf?=
 =?iso-8859-1?Q?/UyBauGKD9wg7j3tKgPY6bab1ky2Ca1ngU5N6Z9rP7wiAJXPBIYIREf94G?=
 =?iso-8859-1?Q?9neoukeDvE9oW0rJ7Gr2oT4kLWoaObPwLu3eWAGbLjp1S46h7ttytO/s7i?=
 =?iso-8859-1?Q?uFZ6e6ITwukF4QZVIa0iGxXCTg3x9T7r6QFyCETxLYY2r4eoQ9LuC5x4AW?=
 =?iso-8859-1?Q?MR5Jct00ygHoA8EOAtdjEZXu39dO1Rwlu1gzCkzXs2NqGHIkYAdr+Dqgbv?=
 =?iso-8859-1?Q?+tHn6UrwjHiFtxZ4IUXBPhn695Zn46Z0/GpJhNSADH6ZrvbytOxXVGfsZg?=
 =?iso-8859-1?Q?QC5B6kF42INZMQNh/aiJDmTwlyvRlB9j295uYgLjPHU3vMFwbbF1qdAQ?=
 =?iso-8859-1?Q?=3D=3D?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 62971276-ad38-46d4-5355-08dadcfef94c
X-MS-Exchange-CrossTenant-AuthSource: BN0PR10MB4822.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 11:41:29.1022
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FNDvOkEWm6xN+EoQUDfAXHS5524Q7SqI+gQIP0geHnBNkAfQRYBmG/rmfIPmjqe9E4rpxzmkBEs2btV8h3ssUw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR10MB5386
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1
 definitions=2022-12-13_03,2022-12-13_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0
 mlxlogscore=924 adultscore=0 malwarescore=0 phishscore=0 bulkscore=0
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2210170000 definitions=main-2212130103
X-Proofpoint-ORIG-GUID: BEtBnZhvN8Qcx1puRV4edxexwauOGRwu
X-Proofpoint-GUID: BEtBnZhvN8Qcx1puRV4edxexwauOGRwu

Sorry for late reply...

On Mon, Dec 05, 2022 at 04:10:28PM +0100, Jan Beulich wrote:
> On 23.11.2022 16:45, Roger Pau Monne wrote:
> > Only set the GOP mode if vga is selected in the console option,
> > otherwise just fetch the information from the current mode in order to
> > make it available to dom0.
> >
> > Introduce support for passing the command line to the efi_multiboot2()
> > helper, and parse the console= option if present.
> >
> > Signed-off-by: Roger Pau Monn <roger.pau@citrix.com>
> > ---
> > I'm unsure why the parsing of the multiboot2 tags is done in assembly,
> > it could very well be done in efi_multiboot2() in C, but I don't want
> > to switch that code now.
>
> I guess that's mainly mirroring the non-EFI boot path, where the amount
> of work needed to eventually enter C land is quite a bit larger?
> Anything beyond that Daniel may want to point out.

Yeah, you are right, its mainly mirroring the non-EFI boot path and it
evolved from that code. However, if you want to move it to C go for it...

Daniel


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:45:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:45:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460585.718521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53ih-0006PC-OO; Tue, 13 Dec 2022 11:45:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460585.718521; Tue, 13 Dec 2022 11:45:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53ih-0006P5-LM; Tue, 13 Dec 2022 11:45:11 +0000
Received: by outflank-mailman (input) for mailman id 460585;
 Tue, 13 Dec 2022 11:45:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3cNm=4L=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1p53ig-0006Oz-Dh
 for xen-devel@lists.xen.org; Tue, 13 Dec 2022 11:45:10 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id efe7723c-7ada-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 12:40:26 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 b24-20020a05600c4a9800b003d21efdd61dso6205103wmp.3
 for <xen-devel@lists.xen.org>; Tue, 13 Dec 2022 03:45:08 -0800 (PST)
Received: from [10.17.77.104] (ll-22.209.223.85.sovam.net.ua. [85.223.209.22])
 by smtp.gmail.com with ESMTPSA id
 bu4-20020a056000078400b00236576c8eddsm11474105wrb.12.2022.12.13.03.45.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 13 Dec 2022 03:45:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: efe7723c-7ada-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=HvbQMk0rgwAVWehQmYzA2S5Uu5kHGu8p19NlJk5ENIg=;
        b=VYbV/U1yAmTaqZ3ACn7pLYI/HddPLTP/R5t+yfCjO8EjaqWXc9v02sB2DY/mjgE7o5
         Jft9hwPXYgpp0KYo7AmzTqkut/Xpua9qCmAay/cQvQhH6ry2raanLFasObYUI+EAUlU7
         bxWWN2u8z1Lo0Nczet7sgbqvPPy1GQzZYrTQig8vVe6LPGGScVZNbY/nQws0Chci/MsS
         fq+dUhetnALOhfKB+GhqyhTBLcyMGBvED070+N01G00E7xnGQo7DmERg8jycpk9cOiNf
         hHg4477+BDBNRyCCA63Izk9Im+XyNaavDpZcH2JyGu85F1TlxF9WajT5tmUyr5Is2UMX
         5uew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=HvbQMk0rgwAVWehQmYzA2S5Uu5kHGu8p19NlJk5ENIg=;
        b=q+xSdCSFaefRC9k9Hj6Fa8dfrLSyHmL8ddlRmVqtbMGbjADNlKHd2Yqd9x2BNumGRf
         ljKyMnb+Ma1sFVUdyjuERFSFWJcQzevVGQsGtNOHlw2VEGvbD5zXQgKbzV0X/9XO1lTy
         pWszYbynp6mBlTlTISJhBCbAbgXwAX+kjkPZseG0ozfbJP0/pyVL/ZyTRGCQEKrlcKAL
         oMBntaBVJzcPY8qVTpL0wGosC9feZChq/5Kgv3WQ0ZiWXEsdTZ6bKNiUVRvM36wbLZCE
         qVqtvTUT7wtsn721eLRmaaD6Yu6sKlSDQVfYCHfNMc0898cUH+pSY7Di3XkuDuRotKRP
         Qliw==
X-Gm-Message-State: ANoB5pnVLDX+8owGvfqvmlDkyeUL6LFjKaJKvssn6C9hp2KHl//iIPUl
	UtNdC0ytl0WS1Reltn5DuwQ=
X-Google-Smtp-Source: AA0mqf6F2qjzVAJgQNa6NhMVVE6wL3lKwPbnWHtopoJG9et890j17igDFo65KhuP7jLl4+RYUYmujw==
X-Received: by 2002:a05:600c:310e:b0:3cf:a39f:eb2a with SMTP id g14-20020a05600c310e00b003cfa39feb2amr15457558wmo.11.1670931907953;
        Tue, 13 Dec 2022 03:45:07 -0800 (PST)
Message-ID: <c86ac2ad-3fc3-7250-052e-45936c807dbd@gmail.com>
Date: Tue, 13 Dec 2022 13:45:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [PATCH V9 1/3] libxl: Add support for generic virtio device
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 Julien Grall <julien@xen.org>, stratos-dev@op-lists.linaro.org,
 Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>,
 Stefano Stabellini <stefano.stabellini@xilinx.com>, xen-devel@lists.xen.org,
 Mathieu Poirier <mathieu.poirier@linaro.com>,
 Mike Holmes <mike.holmes@linaro.org>, Wei Liu <wl@xen.org>,
 Juergen Gross <jgross@suse.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <cover.1670925998.git.viresh.kumar@linaro.org>
 <01dfa7692457a7f40255645f5239f74797e6db3a.1670925998.git.viresh.kumar@linaro.org>
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <01dfa7692457a7f40255645f5239f74797e6db3a.1670925998.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 13.12.22 12:08, Viresh Kumar wrote:

Hello Viresh

> This patch adds basic support for configuring and assisting generic
> Virtio backends, which could run in any domain.
> 
> An example of domain configuration for mmio based Virtio I2C device is:
> virtio = ["type=virtio,device22,transport=mmio"]
> 
> To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
> region) and pass them to the backend and update guest device-tree to
> create a DT node for the Virtio devices.
> 
> Add special support for I2C and GPIO devices, which require the
> "compatible" DT property to be set, among other device specific
> properties. Support for generic virtio devices is also added, which just
> need a MMIO node but not any special DT properties, for such devices the
> user needs to pass "virtio,device" in the "type" string.
> 
> The parsing of generic virtio device configurations will be done in a
> separate commit.
> 
> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
> Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>   tools/libs/light/Makefile                 |   1 +
>   tools/libs/light/libxl_arm.c              | 100 +++++++++++++++
>   tools/libs/light/libxl_create.c           |   4 +
>   tools/libs/light/libxl_internal.h         |   6 +
>   tools/libs/light/libxl_types.idl          |  18 +++
>   tools/libs/light/libxl_types_internal.idl |   1 +
>   tools/libs/light/libxl_virtio.c           | 144 ++++++++++++++++++++++
>   7 files changed, 274 insertions(+)
>   create mode 100644 tools/libs/light/libxl_virtio.c
> 
> diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
> index 374be1cfab25..4fddcc6f51d7 100644
> --- a/tools/libs/light/Makefile
> +++ b/tools/libs/light/Makefile
> @@ -106,6 +106,7 @@ OBJS-y += libxl_vdispl.o
>   OBJS-y += libxl_pvcalls.o
>   OBJS-y += libxl_vsnd.o
>   OBJS-y += libxl_vkb.o
> +OBJS-y += libxl_virtio.o
>   OBJS-y += libxl_genid.o
>   OBJS-y += _libxl_types.o
>   OBJS-y += libxl_flask.o
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index fa3d61f1e882..ddc7b2a15975 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -113,6 +113,19 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>           }
>       }
>   
> +    for (i = 0; i < d_config->num_virtios; i++) {
> +        libxl_device_virtio *virtio = &d_config->virtios[i];
> +
> +        if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
> +            continue;
> +
> +        rc = alloc_virtio_mmio_params(gc, &virtio->base, &virtio->irq,
> +                                      &virtio_mmio_base, &virtio_mmio_irq);
> +
> +        if (rc)
> +            return rc;
> +    }
> +
>       /*
>        * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
>        * present, make sure that we allocate enough SPIs for them.
> @@ -956,6 +969,79 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *fdt, uint64_t base,
>       return fdt_end_node(fdt);
>   }
>   
> +/*
> + * The DT bindings for I2C device are present here:
> + *
> + * https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml
> + */
> +static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt)
> +{
> +    int res;
> +
> +    res = fdt_begin_node(fdt, "i2c");
> +    if (res) return res;
> +
> +    res = fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_I2C);
> +    if (res) return res;
> +
> +    return fdt_end_node(fdt);
> +}
> +
> +/*
> + * The DT bindings for GPIO device are present here:
> + *
> + * https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml
> + */
> +static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt)
> +{
> +    int res;
> +
> +    res = fdt_begin_node(fdt, "gpio");
> +    if (res) return res;
> +
> +    res = fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_GPIO);
> +    if (res) return res;
> +
> +    res = fdt_property(fdt, "gpio-controller", NULL, 0);
> +    if (res) return res;
> +
> +    res = fdt_property_cell(fdt, "#gpio-cells", 2);
> +    if (res) return res;
> +
> +    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
> +    if (res) return res;
> +
> +    res = fdt_property_cell(fdt, "#interrupt-cells", 2);
> +    if (res) return res;
> +
> +    return fdt_end_node(fdt);
> +}
> +
> +static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt, uint64_t base,
> +                                        uint32_t irq, const char *type,
> +                                        uint32_t backend_domid)
> +{
> +    int res;
> +
> +    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
> +    if (res) return res;
> +
> +    /* Add device specific nodes */
> +    if (!strcmp(type, VIRTIO_DEVICE_TYPE_I2C)) {
> +        res = make_virtio_mmio_node_i2c(gc, fdt);
> +        if (res) return res;
> +    } else if (!strcmp(type, VIRTIO_DEVICE_TYPE_GPIO)) {
> +        res = make_virtio_mmio_node_gpio(gc, fdt);
> +        if (res) return res;
> +    } else if (strcmp(type, VIRTIO_DEVICE_TYPE_GENERIC)) {
> +        /* Doesn't match generic virtio device */
> +        LOG(ERROR, "Invalid type for virtio device: %s", type);
> +        return -EINVAL;
> +    }
> +
> +    return fdt_end_node(fdt);
> +}
> +
>   static const struct arch_info *get_arch_info(libxl__gc *gc,
>                                                const struct xc_dom_image *dom)
>   {
> @@ -1277,6 +1363,20 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
>               }
>           }
>   
> +        for (i = 0; i < d_config->num_virtios; i++) {
> +            libxl_device_virtio *virtio = &d_config->virtios[i];
> +
> +            if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
> +                continue;
> +
> +            if (virtio->backend_domid != LIBXL_TOOLSTACK_DOMID)
> +                iommu_needed = true;
> +
> +            FDT( make_virtio_mmio_node_device(gc, fdt, virtio->base,
> +                                              virtio->irq, virtio->type,
> +                                              virtio->backend_domid) );
> +        }
> +
>           /*
>            * The iommu node should be created only once for all virtio-mmio
>            * devices.
> diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
> index 612eacfc7fac..beec3f6b6fec 100644
> --- a/tools/libs/light/libxl_create.c
> +++ b/tools/libs/light/libxl_create.c
> @@ -1752,6 +1752,10 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
>           libxl__device_add(gc, domid, &libxl__pvcallsif_devtype,
>                             &d_config->pvcallsifs[i]);
>   
> +    for (i = 0; i < d_config->num_virtios; i++)
> +        libxl__device_add(gc, domid, &libxl__virtio_devtype,
> +                          &d_config->virtios[i]);
> +
>       switch (d_config->c_info.type) {
>       case LIBXL_DOMAIN_TYPE_HVM:
>       {
> diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
> index a7c447c10e5f..97e1e66d98af 100644
> --- a/tools/libs/light/libxl_internal.h
> +++ b/tools/libs/light/libxl_internal.h
> @@ -166,6 +166,11 @@
>   /* Convert pfn to physical address space. */
>   #define pfn_to_paddr(x) ((uint64_t)(x) << XC_PAGE_SHIFT)
>   
> +/* Virtio device types */
> +#define VIRTIO_DEVICE_TYPE_GENERIC   "virtio,device"
> +#define VIRTIO_DEVICE_TYPE_GPIO      "virtio,device22"
> +#define VIRTIO_DEVICE_TYPE_I2C       "virtio,device29"


Sorry for pointing this out only now, I have just realized that this 
doesn't match device-tree bindings. According to the bindings they 
should be the other way around:

#define VIRTIO_DEVICE_TYPE_I2C      "virtio,device22"
#define VIRTIO_DEVICE_TYPE_GPIO       "virtio,device29"


> +
>   /* logging */
>   _hidden void libxl__logv(libxl_ctx *ctx, xentoollog_level msglevel, int errnoval,
>                const char *file /* may be 0 */, int line /* ignored if !file */,
> @@ -4003,6 +4008,7 @@ static inline int *libxl__device_type_get_num(
>   
>   extern const libxl__device_type libxl__vfb_devtype;
>   extern const libxl__device_type libxl__vkb_devtype;
> +extern const libxl__device_type libxl__virtio_devtype;
>   extern const libxl__device_type libxl__disk_devtype;
>   extern const libxl__device_type libxl__nic_devtype;
>   extern const libxl__device_type libxl__vtpm_devtype;
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index 9e3d33cb5a59..0cfad8508dbd 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -278,6 +278,11 @@ libxl_vkb_backend = Enumeration("vkb_backend", [
>       (2, "LINUX")
>       ])
>   
> +libxl_virtio_transport = Enumeration("virtio_transport", [
> +    (0, "UNKNOWN"),
> +    (1, "MMIO"),
> +    ])
> +
>   libxl_passthrough = Enumeration("passthrough", [
>       (0, "default"),
>       (1, "disabled"),
> @@ -703,6 +708,18 @@ libxl_device_vkb = Struct("device_vkb", [
>       ("multi_touch_num_contacts", uint32)
>       ])
>   
> +libxl_device_virtio = Struct("device_virtio", [
> +    ("backend_domid", libxl_domid),
> +    ("backend_domname", string),
> +    ("type", string),
> +    ("transport", libxl_virtio_transport),
> +    ("devid", libxl_devid),
> +    # Note that virtio-mmio parameters (irq and base) are for internal
> +    # use by libxl and can't be modified.
> +    ("irq", uint32),
> +    ("base", uint64)
> +    ])
> +
>   libxl_device_disk = Struct("device_disk", [
>       ("backend_domid", libxl_domid),
>       ("backend_domname", string),
> @@ -980,6 +997,7 @@ libxl_domain_config = Struct("domain_config", [
>       ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
>       ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
>       ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
> +    ("virtios", Array(libxl_device_virtio, "num_virtios")),
>       ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
>       ("p9s", Array(libxl_device_p9, "num_p9s")),
>       ("pvcallsifs", Array(libxl_device_pvcallsif, "num_pvcallsifs")),
> diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
> index fb0f4f23d7c2..e24288f1a59e 100644
> --- a/tools/libs/light/libxl_types_internal.idl
> +++ b/tools/libs/light/libxl_types_internal.idl
> @@ -33,6 +33,7 @@ libxl__device_kind = Enumeration("device_kind", [
>       (15, "VSND"),
>       (16, "VINPUT"),
>       (17, "VIRTIO_DISK"),
> +    (18, "VIRTIO"),
>       ])
>   
>   libxl__console_backend = Enumeration("console_backend", [
> diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virtio.c
> new file mode 100644
> index 000000000000..6a38def2faf5
> --- /dev/null
> +++ b/tools/libs/light/libxl_virtio.c
> @@ -0,0 +1,144 @@
> +/*
> + * Copyright (C) 2022 Linaro Ltd.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU Lesser General Public License as published
> + * by the Free Software Foundation; version 2.1 only. with the special
> + * exception on linking described in file LICENSE.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU Lesser General Public License for more details.
> + */
> +
> +#include "libxl_internal.h"
> +
> +static int libxl__device_virtio_setdefault(libxl__gc *gc, uint32_t domid,
> +                                           libxl_device_virtio *virtio,
> +                                           bool hotplug)
> +{
> +    return libxl__resolve_domid(gc, virtio->backend_domname,
> +                                &virtio->backend_domid);
> +}
> +
> +static int libxl__device_from_virtio(libxl__gc *gc, uint32_t domid,
> +                                     libxl_device_virtio *virtio,
> +                                     libxl__device *device)
> +{
> +    device->backend_devid   = virtio->devid;
> +    device->backend_domid   = virtio->backend_domid;
> +    device->devid           = virtio->devid;
> +    device->domid           = domid;
> +
> +    device->backend_kind    = LIBXL__DEVICE_KIND_VIRTIO;
> +    device->kind            = LIBXL__DEVICE_KIND_VIRTIO;
> +
> +    return 0;
> +}
> +
> +static int libxl__set_xenstore_virtio(libxl__gc *gc, uint32_t domid,
> +                                      libxl_device_virtio *virtio,
> +                                      flexarray_t *back, flexarray_t *front,
> +                                      flexarray_t *ro_front)
> +{
> +    const char *transport = libxl_virtio_transport_to_string(virtio->transport);
> +
> +    flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->irq));
> +    flexarray_append_pair(back, "base", GCSPRINTF("%lu", virtio->base));
> +    flexarray_append_pair(back, "type", GCSPRINTF("%s", virtio->type));
> +    flexarray_append_pair(back, "transport", GCSPRINTF("%s", transport));
> +
> +    flexarray_append_pair(front, "irq", GCSPRINTF("%u", virtio->irq));
> +    flexarray_append_pair(front, "base", GCSPRINTF("%lu", virtio->base));
> +    flexarray_append_pair(front, "type", GCSPRINTF("%s", virtio->type));
> +    flexarray_append_pair(front, "transport", GCSPRINTF("%s", transport));
> +
> +    return 0;
> +}
> +
> +static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
> +                                       libxl_devid devid,
> +                                       libxl_device_virtio *virtio)
> +{
> +    const char *be_path, *tmp = NULL;
> +    int rc;
> +
> +    virtio->devid = devid;
> +
> +    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
> +                                  GCSPRINTF("%s/backend", libxl_path),
> +                                  &be_path);
> +    if (rc) goto out;
> +
> +    rc = libxl__backendpath_parse_domid(gc, be_path, &virtio->backend_domid);
> +    if (rc) goto out;
> +
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +				GCSPRINTF("%s/irq", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        virtio->irq = strtoul(tmp, NULL, 0);
> +    }
> +
> +    tmp = NULL;
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +				GCSPRINTF("%s/base", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        virtio->base = strtoul(tmp, NULL, 0);
> +    }
> +
> +    tmp = NULL;
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +				GCSPRINTF("%s/transport", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        if (!strcmp(tmp, "mmio")) {
> +            virtio->transport = LIBXL_VIRTIO_TRANSPORT_MMIO;
> +        } else {
> +            return ERROR_INVAL;
> +        }
> +    }
> +
> +    tmp = NULL;
> +    rc = libxl__xs_read_checked(gc, XBT_NULL,
> +				GCSPRINTF("%s/type", be_path), &tmp);
> +    if (rc) goto out;
> +
> +    if (tmp) {
> +        int len = sizeof(VIRTIO_DEVICE_TYPE_GENERIC) - 1;
> +
> +        if (!strncmp(tmp, VIRTIO_DEVICE_TYPE_GENERIC, len)) {
> +            virtio->type = libxl__strdup(NOGC, tmp);
> +        } else {
> +            return ERROR_INVAL;
> +        }
> +    }
> +
> +out:
> +    return rc;
> +}
> +
> +static LIBXL_DEFINE_UPDATE_DEVID(virtio)
> +
> +#define libxl__add_virtios NULL
> +#define libxl_device_virtio_compare NULL
> +
> +DEFINE_DEVICE_TYPE_STRUCT(virtio, VIRTIO, virtios,
> +    .set_xenstore_config = (device_set_xenstore_config_fn_t)
> +                           libxl__set_xenstore_virtio,
> +    .from_xenstore = (device_from_xenstore_fn_t)libxl__virtio_from_xenstore,
> +    .skip_attach = 1
> +);
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:50:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:50:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460595.718532 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53nV-00082G-Fv; Tue, 13 Dec 2022 11:50:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460595.718532; Tue, 13 Dec 2022 11:50:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53nV-000829-C4; Tue, 13 Dec 2022 11:50:09 +0000
Received: by outflank-mailman (input) for mailman id 460595;
 Tue, 13 Dec 2022 11:50:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p53nT-000822-N9
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 11:50:07 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on2054.outbound.protection.outlook.com [40.107.8.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1662825-7adb-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 12:45:24 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7951.eurprd04.prod.outlook.com (2603:10a6:102:ca::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 13 Dec
 2022 11:50:04 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 11:50:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1662825-7adb-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cfGI0spFGbDr/w8nO6dfQtv6PTSZp7iF2JTVi1fDckBcCxKtLtym6lXR0I89VGz7Fv1Oes6mp7OaPj+y75VN+0/uxu/G+qNe2N8VGT/CckufFvgFUhaqZkPi4AaRDBUqjXXDiWc0ugBy0NQydNL4VSjMyo5J4R0rhDmh2IKlD45HLBiihCJ08DNbn6ChL7BN0ay2P5jXeC5fNJIgpEVQkmtnzUBI4AgdA8Bkj9XIaOR1hReAnSlXHbDMibmRP/jigbMoHiO0VpWsUVE8Kp6+F5BizjG6+te6V6RvZwsStd87CdyvkWls5SIYSYocMB6EVdQum4npidL9AOZnKw5jHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ssesvDldU0t7qmLV4JTp66rx59p48v+0v6QU8SFGCX8=;
 b=dkkk1zCCWOyNcT6v9OojVNokqm7RVOfJhhvARJvQvexzcX+xZsb7nlvRxHRgnOkuEvxzkwTf2oq4Bfv06SHix2jJVACjiUNipQ+ItXH/aGxhrtzCoWne/LGkQC5ahE4/nJNkKugrhMlasmqkvkZY4mOyh660u3ddGDeDKpHwIVe7lphUU1OXgzNTJW/4Oi7PKNDwXdWrC9pw2xOQNBibWLm/3MnnwLVVoMFd6bNXxYaKYdAIKPJeWXMHh31uTfS3pRjlFyprVC1nc4WEa/0zrnOoxMvC9XzCbPsAktraO0kukJzJx6x6d9VfrVCIYPL1Du+XwKJx8tt4/oSHROVp4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ssesvDldU0t7qmLV4JTp66rx59p48v+0v6QU8SFGCX8=;
 b=X9rfuGmMD0dyiCR217YEOgqCb8QpL3sVH+PNKAJxwywg6+ue73KjHAQT/JVAFYV4LAuChs2aA4LuRH1zvy3zte3bPHzH/G4s54BIJe59UihV7L1BmlHYEUFm3tA4z866BSCo23UfOTu4gRyz1Z3ICiO6MRj+ePkSjXGgVhvUadZ3STxhLUcnQgX31eZ4pmFkqsggx0SQCi0dSIcbOtnMEH1MrQF6uiz3mK1SvRTtDyUBUVWV7gOTl+eSv3J6WSonIRnK6QRINChORf5p8Sqif/1xIW5q1bmrUN+tXFH4dDkCqGz2J0VsCHagZLHkFuet3lbEW9GS0hNC/KqQbHDkyA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <87eb39b5-ee6f-7324-0add-bd4755719a08@suse.com>
Date: Tue, 13 Dec 2022 12:50:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 3/3] x86/pci: Fix racy accesses to MSI-X Control register
Content-Language: en-US
To: David Vrabel <dvrabel@cantab.net>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, David Vrabel <dvrabel@amazon.co.uk>,
 xen-devel@lists.xenproject.org
References: <20221110165935.106376-1-dvrabel@amazon.co.uk>
 <20221110165935.106376-4-dvrabel@amazon.co.uk>
 <641a5905-3a1a-e128-788d-e907297aa213@suse.com>
 <e0c05cb6-32be-bfea-9a4f-4567272042b4@cantab.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e0c05cb6-32be-bfea-9a4f-4567272042b4@cantab.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0050.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7951:EE_
X-MS-Office365-Filtering-Correlation-Id: c5ea3676-ae2e-4147-5e84-08dadd002c83
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+4TRi72OLcyaTWc5xShcc3EJBm4W8G0UhR0bIqZC4/as3RpuPNSDTKOb8L/pOGrO/IA8t4YDzlsFV8Ps1CfslmP3v7h/UfKag/GzHlRdZm6nx9aPWI/Zft82g63HEWH1FMBxtTu+7JUp/a6Ic0UD+FllDq7kFI/CyWJsb7xwbnYLL6munVe3YNpRBeYx9UP6MoAcfW8DVrSLcsbKCRUQGoVVIQLmDeZNS6oXyVCRznll2eIFgCpjr0JYHn8gyCsfrgX08uipDWNHzJ7PoWihKlRQFKChsOk2QH54azAl45DFXsyY8+BtikzmP8bKwIeZpaqaXnvVjLKe5lxYT3CYeCsRmogAOjDYY0BpRuHTVFXHvYpLyteJ85IEJ3TXnUmqZr/QiBUVg7QyHXINz1oHkfgHvJM3/Oeff1PrRl7Zzdfoe3yIKj05J3h6E9me6kHfIzkwJvJrN0KSMNhG0g95I+eRvsFENVLZpqvR+0XuDMGPzvnYvyNtGy1FYOD5ZgqxzpMpZyEsW5RoWMo8uIjrnKbKqNW4n4iRU3yECa1moSyhDsQi1HqafO/ILkdgObP2zacqQJheV3CpA6jIbmss4r5F3IWzQHBy+ETZKETt9xDKldPVaR0FKjY7iyv9W+6KAIVCyEADxlPKh2RGYYJ8/e8KKZ/un+sh6D6Vfzyq3PlWKUtoWdOM1BWYNtfFObapYk9m20Q8BTD1wvc3AmjNj3q1zQ/DwHQZZFN01bOwWWs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(376002)(136003)(366004)(39860400002)(346002)(451199015)(478600001)(53546011)(6486002)(6512007)(186003)(6506007)(2616005)(26005)(66476007)(31696002)(8676002)(4326008)(86362001)(2906002)(41300700001)(66946007)(54906003)(83380400001)(316002)(6916009)(66556008)(5660300002)(31686004)(8936002)(38100700002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZFUyMkVEcVRWR0NxQitnRnFzYVc0V3gyYlBHNGZaOXdrMHE3bmQwbzNBMjRJ?=
 =?utf-8?B?aHF0S0NRQVdBcTl3YjZzd1FtT1l3QThST2d4aHF0MWVQdE1leGRMOHl2dEp6?=
 =?utf-8?B?SnZNTnV4SE54bUxRcWNpY0Y1Rjd4NmNuTU54K2J1Y2pNTmxhWVhPeEhxaVN6?=
 =?utf-8?B?cE9iMG42YnJHQi9UblpYdUpJQ3U2Z2djL1JWc0xwNzBOdWtQeGhuMDlsYXkw?=
 =?utf-8?B?cFpxc2NOd1c0cWxSSVJDU0xoVnhHTUlPWWhTaXRJc0l5d0RSK2V3Njlwbytn?=
 =?utf-8?B?NDRySFNLWnRaZm0xcHhRMkpGSU1aUlhNamRQcCtXdWZvOG9rZVpOSmdtTEo1?=
 =?utf-8?B?dmlCR0JpbjZOT0JZUDFLR3RoU0c3UGNYU2lDR2VPY1R0N01qM0twQkl6d0Fi?=
 =?utf-8?B?eW5qUXhZZXRic3RsZC9QVnVEaWpjcHNjR2xzbmhwaHd4U0w4cTRSSXZpa2ZQ?=
 =?utf-8?B?WWNjQkdKU21FMTFHdGkrcGJlcjUxdUQxbEc2eCt1RGRGbGVESFl1V2UxenRW?=
 =?utf-8?B?Zis2Y0dreW1wU1N3eVdPazJGS1VZWEVpVE9rQnFJS0Nsblp4MnBxRGxxQVNM?=
 =?utf-8?B?VTJUMnVOVWdTRDhZbHJoOGpIQTJrS1NTZ1oyL29Pd0JuRzJmK040aEhYY2k2?=
 =?utf-8?B?NTZ5L1pSSXhQRUVFcG5yRjRyeGJldjFxZ2Nzbkc5blAzbW9meVlPUUFCNnVJ?=
 =?utf-8?B?ZDZ1Uk5iLzZ1NnkwZE5EWTdTYXNQQUZpd21OTjJkWnBaL2Z3eW9zYlpPTys0?=
 =?utf-8?B?ZHV1b2h0Z21Wc0FxUk1CRVczL2N1bHBlZVk4VE9YRXJNbHNOS1ovOEU1dldJ?=
 =?utf-8?B?bi82RWN1aGtDaFNpZ2xXc1ppRm5Bc1pwL0N3K0NnRER3c04rL1N1MmNWY21k?=
 =?utf-8?B?QTZHQnpPTXR4QWlhOC9kamxqYzlBOHRGM3NsWDA0Q0RielAzSHZwWjJCZ2lz?=
 =?utf-8?B?dllDSWVZUkwyL3NYRUhsWFdmSmJJa2N6K1hjUHI4NWZlL0ZyUTluQTBiYSsx?=
 =?utf-8?B?dUI1QXc2cnBtYWxubVZRc0JMbGxCT2dWSlQ0U1Z3Qnk4S0N5cDgvNTdTN24v?=
 =?utf-8?B?d2hNSjJPS0VTMFNIKzVxeExTVXZzYmVIKzB4WW5scExuRUpYMWE0WDVUVllW?=
 =?utf-8?B?ck9uOTJnUk1Mb2Y2dUkwU3E0SUxyMmNVYXMyUngySUtiZEU0ZlIvSktEdUVM?=
 =?utf-8?B?ZHNpV2o2R1haY1ViRmpEdC8zZ2ZNNDIyYzFmanJrNC9FN05sYndSYnRsRnBn?=
 =?utf-8?B?RW1SN1ZwWnVld0k5dTUrMXN6K3pTclhMMmlialpmdXZ6YkU3TnpKblNteFpa?=
 =?utf-8?B?VUwwb05nSmVPdHdXVGFsV1U5RDVDMXBZZ0ZGT2Z3QlVtSFI4NTZLcmVRYWxn?=
 =?utf-8?B?SGh0c2xsbWJibzNENDZpa085Y2JKRUtZL2dyK1cvTTJpcHh5dmE4R0Z3TkRP?=
 =?utf-8?B?NEp2bDhQRTFRNUxDZTN6eEl5ZEJrUE90ODBZT3ZMd1ZGMDVZNXp5ay9GZGoy?=
 =?utf-8?B?cENIYWNsTFNzeGcvUUdOZE85OUFWM1oxaGs5dkw2NlIvWGhtY3RnZzNOOEtH?=
 =?utf-8?B?bHpQZjVmbUJmTlovcDhmNWsvdDVQTTBrbmZtSkRNMGpYSit5L1ZkNjQ4MFRL?=
 =?utf-8?B?SzRBV0c5S2ZLQTVUZkpGeWtZSGdmMktjVzZSOGVOWTc0S25hK3NjWXhGeno4?=
 =?utf-8?B?KzNtTXNFdUFZNlF1cTBXZ09CU1NLUllEM1JsUlpFR3Q1R0orWXIrQ1NwRUhv?=
 =?utf-8?B?TU5KaVBlRTJIb3dBM3pwR0VGV0tleXdOYWFaK2h0WFBPV2h6bkU3NWR5amtn?=
 =?utf-8?B?c2dvbXNGdFV3R0VuV0dvcVRqQlNjcVFoVlZSMHA0SFZmMnFGcGhNQVNBRmVE?=
 =?utf-8?B?V21yNk40WDNHRTBTNEhHcmc2V1ZIYVRzYlY2TUV5K0pQbEt3dGNEZnNzS2NQ?=
 =?utf-8?B?QzFGUUtxZmN0MWhlcWIwMGMvbnVvU25oaUxwb1VDTWd5U0Z0T2FpT0RwMEZY?=
 =?utf-8?B?dUViYXNZVXQ4QXh1MzVEZ1VxN1dSckFnWjB5ZDR0RS9KSGd1Z1dqWER4ZWlO?=
 =?utf-8?B?eHpya0lTbVo1b0tya0pTVkY1aU9xSmJqdXJUa2VXS1BVOCtEelBXN3N4OHhI?=
 =?utf-8?Q?QJf0kAQLJqjc5FgqwU5NUfcQ5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5ea3676-ae2e-4147-5e84-08dadd002c83
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 11:50:04.4766
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: an3GsnSLiWY6kJU3ir8GvyHRFWCtIhMTT1j9yXwvS/5bgb2xNhtjiCr2as21h8FJRbgTJbeJC1HSmB4Kod7YAA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7951

On 13.12.2022 12:34, David Vrabel wrote:
> On 12/12/2022 17:04, Jan Beulich wrote:
>> On 10.11.2022 17:59, David Vrabel wrote:
>>>
>>> --- a/xen/arch/x86/include/asm/msi.h
>>> +++ b/xen/arch/x86/include/asm/msi.h
>>> @@ -237,7 +237,10 @@ struct arch_msix {
>>>       int table_refcnt[MAX_MSIX_TABLE_PAGES];
>>>       int table_idx[MAX_MSIX_TABLE_PAGES];
>>>       spinlock_t table_lock;
>>> +    spinlock_t control_lock;
>>>       bool host_maskall, guest_maskall;
>>> +    uint16_t host_enable;
>>
>> If you want to keep this more narrow than "unsigned int", then please
>> add a BUILD_BUG_ON() against NR_CPUS, so the need to update the field
>> can be easily noticed (in some perhaps distant future).
> 
> This is only incremented:
> 
> - while holding the pci_devs lock, or
> - while holding a lock for one of the associated IRQs.

How do the locks held matter here, especially given that - as iirc you say
in the description - neither lock is held uniformly?

> Since there are at most 4096 MSI-X vectors (and thus at most 4096 IRQs), 
> the highest value this can be (even with >> 4096 PCPUs) is 4097, thus a 
> uint16_t is fine.

Where's the 4096 coming from as a limit for MSI-X vectors? DYM 2048, which
is the per-device limit (because the qsize field is 11 bits wide)? If so,
yes, I think that's indeed restricting how large the number can get.

>>> +static void msix_update_unlock(struct pci_dev *dev, unsigned int pos, uint16_t control)
>>> +{
>>> +    uint16_t new_control;
>>> +    unsigned long flags;
>>> +
>>> +    spin_lock_irqsave(&dev->msix->control_lock, flags);
>>> +
>>> +    dev->msix->host_enable--;
>>> +
>>> +    new_control = control & ~(PCI_MSIX_FLAGS_ENABLE | PCI_MSIX_FLAGS_MASKALL);
>>> +
>>> +    if ( dev->msix->host_enable || dev->msix->guest_enable )
>>> +        new_control |= PCI_MSIX_FLAGS_ENABLE;
>>> +    if ( dev->msix->host_maskall || dev->msix->guest_maskall || dev->msix->host_enable )
>>> +        new_control |= PCI_MSIX_FLAGS_MASKALL;
>>
>> In particular this use of "host_enable" suggests the field wants to be
>> named differently: It makes no sense to derive MASKALL from ENABLE
>> without it being clear (from the name) that the field is an init-time
>> override only.
> 
> I think the name as-is makes sense. It is analogous to the host_maskall 
> and complements guest_enable. I can't think of a better name, so what 
> name do you suggest.

I could only think of less neat ones like host_enable_override or
forced_enable or some such. If I had any good name in mind, I would
certainly have said so.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 11:58:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 11:58:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460604.718543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53vh-0000X1-8B; Tue, 13 Dec 2022 11:58:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460604.718543; Tue, 13 Dec 2022 11:58:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p53vh-0000Wu-5K; Tue, 13 Dec 2022 11:58:37 +0000
Received: by outflank-mailman (input) for mailman id 460604;
 Tue, 13 Dec 2022 11:58:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mGeL=4L=citrix.com=prvs=339e21e18=roger.pau@srs-se1.protection.inumbo.net>)
 id 1p53vf-0000Wo-W4
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 11:58:36 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 76c18b9f-7add-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 12:58:33 +0100 (CET)
Received: from mail-mw2nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Dec 2022 06:58:30 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BY5PR03MB5029.namprd03.prod.outlook.com (2603:10b6:a03:1e2::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 11:58:29 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1%9]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 11:58:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76c18b9f-7add-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670932713;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=s9HRN4Twy1L3r6ABRcX3i+ZOdH2TBpTKdk5PUEbCWUQ=;
  b=WDvAVTBLTlUZQrGoQEHW9lYzjdm8ofTSyfyqsiR0jdVT/pqfch1gu50p
   FnB8Y8GUdOb+QNNO0cVcWQGreenfU4CqY3sMytPyVGE+yWmV3wi6/wy9R
   5PzZMl8dwnQfILJ0Wdd8fAYfoe6zD2VxxBTRP0zkvSAwrrOok+HBmyhVh
   Y=;
X-IronPort-RemoteIP: 104.47.55.105
X-IronPort-MID: 88495162
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Fz3e+6yGZKEG0jqQdP96t+fixyrEfRIJ4+MujC+fZmUNrF6WrkUGz
 2EdWGuGOKuPZGb8LY90aIuzoR4FucTQnYIySQtq+SAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPKsT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KXBs9
 uY6BWAqUgC4jNqR4pOkS/hC3Nt2eaEHPKtH0p1h5RfwKK9+BLX8GeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjWVlVQsuFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE1r+TzH6iBth6+LuQsc9wx2O8zzIvKxgJXlDqr+KAumWhRIcKQ
 6AT0m90xUQoz2SoQ8f8WVukoXeClh8aR9dUVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWXVHTb8L6XpDGzPCE9LGkeaCtCRgwAi/HBiowuihPETv54DbW4yNbyHFnY3
 DSivCU4wbIJgqY2O76T+FnGh3epucLPRwtsvgHPBDv9s0V+eZKvYJGu5R7D9/FcIY2FT16H+
 n8Zh8yZ6+NIBpaI/MCQfNgw8HiSz67tGFXhbZRHRfHNKxzFF6afQL1t
IronPort-HdrOrdr: A9a23:sJrotqlI6V7i5Yv8nIFs8jyIi5HpDfIQ3DAbv31ZSRFFG/Fw9v
 rPoB1/73TJYVkqNk3I9erwWpVoBEmskqKdn7NhWYtKLTOGhILAFugLgbcKgQeQfREW2dQz6U
 4KSdkcNDSfNykesS5zjTPIaurJiLG8mpxBz4/loktQcQ==
X-IronPort-AV: E=Sophos;i="5.96,241,1665460800"; 
   d="scan'208";a="88495162"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NDKLpt1JPKAL/Nue1Xp8TMoO2By7SFeYtyymO0DIZAeB+hnq3TV0QzpYaeZA1Govpv3JAsv4Ru5qGVLBB2wiYfaaVPQXzb53ZiP0YUuPvnUVhjR3h8LlrES1VfTi2GGAYJMgdlcKd+x7ZB92qasMjELuyEk8y94UBRSL4Shci3s9kQFgELAGddtp8Y2w8a/Ht/9cjwD8yUCwrX+eoZIFyC0tN/idEbjLcwNznffpld9UGfaCB8EHImGhlibqguRO7KV8+Jfy6cLxCpCWffY/5LenkGunB9XC09v7/QF6OZU7/lQyMn8xr4EjYc5b2lFegiej3fueBQwf4CK8rh5p9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tWNXsaRD/d+EwuAZAFxSCkW2dju97M7XgpALDcoIa9c=;
 b=Sw8nvx8ikF4KdVkI4uWNYsU1vZGZ3bwt0ENiOoMQSwqpCmyiH12AZ0FKaoyFpY/yOa/PFMFoCi5v6fV8YZfWulYxQfCNPVM2r5PyebUtAQmKigl9PIX275yWMxbKumSA7JzERNJphO3JcQAAh01E8PwD/mAYNz/FghsT3SfCXjsyhWw0T4nt3JUNNVlUE/STrhFDhMXqzx7hhBA7vpbE24bHrS+dcy+O0eeuZvx5K5dykYmUJSGydXhW6gNsAMnFsP8B58/liCcAh9CuV2Z9UPZFeb/bpignZdGSqQf09tZ2A7y8pRKoMkv/VJu1A20/YVqeA9qc4h3Tj1JYVmXMew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tWNXsaRD/d+EwuAZAFxSCkW2dju97M7XgpALDcoIa9c=;
 b=blKmNWzTN1r13aJqGbvZDfF5qGArYZt3bq2aQwhw6Lg6p6UwFR8p3TgvO6nDmhsWpgCdOk84r28Rv1O7jIBELfzOH46DSxy3KngzW93FYQNDlBuFDevPj+AqMSVeDZB2oa6Rbyd8v89SALTXDsdm0uOPiD/TrMb661YLTL4lrws=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 13 Dec 2022 12:58:21 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Tian, Kevin" <kevin.tian@intel.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Nakajima, Jun" <jun.nakajima@intel.com>,
	"Beulich, Jan" <JBeulich@suse.com>,
	"Cooper, Andrew" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v3 1/3] x86/vmx: implement VMExit based guest Bus Lock
 detection
Message-ID: <Y5ho3U6Kd3RlLs3W@MacBook-Air-de-Roger.local>
References: <20220701131648.34292-1-roger.pau@citrix.com>
 <20220701131648.34292-2-roger.pau@citrix.com>
 <BN9PR11MB5276F1BD6EF95A7E35534B648C8F9@BN9PR11MB5276.namprd11.prod.outlook.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <BN9PR11MB5276F1BD6EF95A7E35534B648C8F9@BN9PR11MB5276.namprd11.prod.outlook.com>
X-ClientProxiedBy: LO0P123CA0013.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:354::6) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BY5PR03MB5029:EE_
X-MS-Office365-Filtering-Correlation-Id: c55dbe71-6344-4070-fe97-08dadd015833
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i/NJipE5pHoyyXhoZrMAPqsdzcigQKawbp0nLTSYsJ/ste8eOrZfRt5zJp5H6IZSio+ptNTCZlMNckdHPUg1YvVujmklCJbInySNjyurUVxpCymqGwMFkrE3cFN7ewCCeCuumXP3IHzq7FfKmipsRxrh4PCqGEiHkjERqES7lB5cTg4exA86xnImEQmf25OYAgDD0GOVrP3cwuw0YnwZPfe8Epmln5wQrHJC3bJ/TfiDxZUWOmbMEbHc3WmWF+H/KX7PAjsd4lTn6KoD8cMGd6EdzzE/flOL6m1dewRUMCih1jp502bdVXjmLh6mHaxGwE5iFirO5it4YanRLJuZtlFeLPLaFlJH0GtcVDh/fpcLvw1T+UjI6bLodChqg7bm2TbJPujWDXyqfE1z7Lc3/QdRD+t6/ZmjmcRjeuw7zHd0gmYvsr+H1CNOyizcIyvtG6EveQdexwR0eN6RX9ylLUZgyObpPq36RjUmaEnO+tnX7HO1IEAhykvLI58oPF5HVzZv9+yQ2t80jWPAUvJVrJzu2fwMjc459qlMx/7CpzqZWokMwBkH37FoM096wqC1Eb/A6JiNhcVIiAtojkKqvseq6biHVt8BWtx1odXgbSH66G7CPF3wDYaDopcIIZW3QBLOicUO8Hj06/cfheU1wQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(39860400002)(376002)(396003)(366004)(451199015)(478600001)(41300700001)(5660300002)(8676002)(4326008)(6666004)(6486002)(54906003)(6916009)(85182001)(316002)(2906002)(66476007)(8936002)(66556008)(66946007)(86362001)(6512007)(38100700002)(9686003)(6506007)(82960400001)(26005)(83380400001)(186003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZXRXbTRaOGpHMEh6cDlQUmxtTFVyWmo0cDFHWUVnV205SGlkVkFuNmh3Qk1u?=
 =?utf-8?B?Z3FxQ2s1ZGhiS1d0OUtZV0h5Z0Erc0hrOG1OSDFrb216LzBTd2QwMEs3cHZW?=
 =?utf-8?B?WFdIdXk1bEZwcVkvT2c2d2RJMVJsYmNYQkg4SmVGenIzc2FzVWZoTFhGaG5i?=
 =?utf-8?B?VXUySTdMbmpPSUd1TW4xaE1SWVhjdjVra1Y1a3h0aFpxekUxbmlBMU9Ganc2?=
 =?utf-8?B?WVJnelU2Nk1XdUdrZThaN3U1RG41Z24wYXpaVDdxcFZ1Z2tTb1JCbCtMN0pU?=
 =?utf-8?B?d004cmNoQXJRYXpYbWR6Q3FKcnltS3Myd2xGREx5cWt0MjlDZ3IxQzVOblRX?=
 =?utf-8?B?Q3VkeDVOQjRwZWxlTkwzYlpNQXBOY0dGZEg1aXBTVmdzTERqZXphY3VaUm1w?=
 =?utf-8?B?cWpnWU9zRndsZ3Z4NGJtZmZVODcrSmdDRUxPTU50RDFSOWRROEw5bFpaaTE2?=
 =?utf-8?B?dkMvbmpTZWJkNE16bU1RZkcvVnNmQXhDaVVWVWx5a25TYnQyMzZ4MkZSamtT?=
 =?utf-8?B?QXhNZy9wa3BpZHk0SlJpbkVCSGpqOUhNM2ZDbzhzK01ycFo0Vm41RFIzcmlr?=
 =?utf-8?B?ZDJzM3U3eVp4bC9pRS9oQ3IxU2VIdlA1L0tCdFdDS0hUdmtFZnI5Y1BVT3BS?=
 =?utf-8?B?dFZmbjBDY0V3K2pIOHZTakFxems2TU5UZWdhaDJTcGQ5WmFPck5hZXVpeVVl?=
 =?utf-8?B?TDhRWnJjUG9uNGltaGF0cVlTcU1HUmhTaWU2NXpKWGNvMlkvbWZaenpQVitw?=
 =?utf-8?B?TnRKNWdmMjVuUnF2bzUrdDU0WGdPMUpDQ3ZHczJLNmJDRnZFTmt3OE43enBN?=
 =?utf-8?B?UlltRnhUa2ladjZySGdRVGNmT1FVT0pZTzgzMjBhN0FjVnYvN2hlUVZrRDgv?=
 =?utf-8?B?aWc5SmY4djdjenZSbVZkdFh4TXhUN29pNjdWSHZhQXVlZFlvZE9MMEs1djZM?=
 =?utf-8?B?MjZERlBGNEVxdTYrWFNGQnBvVUgxc1VmNFQ4OW0xNGlVTTJ6RE9QK0loVzZU?=
 =?utf-8?B?blJrdXQzSWdvV2N5L3I2L0gyWEp6UFUwRW4weXBJUFM2L1JaSXRuOXFFRGht?=
 =?utf-8?B?eitaNTY4enVIQXVST0N3NFRqd0NQOTQ5MVFtVzAzdzAyWm5NNFlNL0hmM283?=
 =?utf-8?B?Q2FaWFFKclhiNVAybysrVkhaYURsbWx5SWtrRUVua1YyZ3U5SDZ0YmhnNHdj?=
 =?utf-8?B?MGk0bWRDUm9ZSW8rUDN3dlhOZm43TlUzL0FCeVkwZjkxQlRzS2lGc3RNUTRI?=
 =?utf-8?B?eW1EWEd6T1hKalhmWVJ4VzVsV3RiSERCa0JTdUFnWEREaGFMeGpZektkakFL?=
 =?utf-8?B?cDFCUVA1R0xGTzRURnBXNXF2VDR1a3k5UWVxa0k5TGJFTWpxK2pTeWt3ODdB?=
 =?utf-8?B?NWFXcDFOU1huSmVKTkNoRnFoMTdINFU4WkZLWlg1bG1vOE9PUkN1UkU5OGxt?=
 =?utf-8?B?UWtvOXNJL2tRZUt5TExKL2Y3UEZOREozM2lkbE5wTWtHTlplMXBqMzJpaXpU?=
 =?utf-8?B?bXZGSDIwY2VWRGFPT1JubnFWMzdaeDBTQ2pPWWlMQUpUOStCS1MwdWtvZEMx?=
 =?utf-8?B?T29kUUJ1M1BlWnp1T2doM0JnYVYrd0lhRmhrdXZDT0hhdHJ6QmxraEtLMnhw?=
 =?utf-8?B?bWFPZXZIQVhlZzlDY2VaNEdmTngxRnhTZ0JlcmpjQy9NMDZwYmNpVy9RVXcx?=
 =?utf-8?B?WndFeWEvM3ljVnBOaFlsSkZSQlVBSSt2NXNtb1Eva0IwdjczVUFXdnEwdUtu?=
 =?utf-8?B?bUJpa1hESFV4MFZXSHpTdkFMb1pTVFpKdFYxQy9Fc3RSbzNaV3YrT0tORlB6?=
 =?utf-8?B?Y3gyWjVEYkh4U1p6WXd3OWRpNW9ySU9scFNqWW1kdTd2SGlzQmMvY29Nd2hy?=
 =?utf-8?B?SkRFS2tYbEVDeGxGVDBEQ0tESFNUdHNJdlptU1hyTzJXWXF1cmY0aTYvR3Z3?=
 =?utf-8?B?bGhNdmhMYnZ2VjFzM0VHT3pTYnYzTy9KckwvdlJNbFlUckNDMFNqV09QNDRC?=
 =?utf-8?B?cytxN0MrdURhTTQzMS91WXo2YnNsS2JtOUN2ZE94VnA1eVBON3NGblozVThO?=
 =?utf-8?B?clZjNUZ2MVp2d0svZDNtOTlmd1FlMytrdVEwai9QUTRuQ2krbFVTNm9oU0l2?=
 =?utf-8?Q?o9tsOPOZ+MxGwJXDtTcwJzy+E?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c55dbe71-6344-4070-fe97-08dadd015833
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 11:58:28.7550
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VWU88saiVJY/MKllfzpJduoFYqGWQT+xZvRjm7Gn7MyRpSNcV+RqqMFp6EIbwPFPP0iYnJ/fNqagypsuwbKv0w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5029

On Tue, Jul 19, 2022 at 07:26:08AM +0000, Tian, Kevin wrote:
> > From: Roger Pau Monne <roger.pau@citrix.com>
> > Sent: Friday, July 1, 2022 9:17 PM
> > 
> > @@ -4065,6 +4065,11 @@ void vmx_vmexit_handler(struct cpu_user_regs
> > *regs)
> > 
> >      if ( unlikely(exit_reason & VMX_EXIT_REASONS_FAILED_VMENTRY) )
> >          return vmx_failed_vmentry(exit_reason, regs);
> 
> Add a blank line.
> 
> > +    if ( unlikely(exit_reason & VMX_EXIT_REASONS_BUS_LOCK) )
> > +    {
> > +        perfc_incr(buslock);
> > +        exit_reason &= ~VMX_EXIT_REASONS_BUS_LOCK;
> > +    }
> > 
> >      if ( v->arch.hvm.vmx.vmx_realmode )
> >      {
> > @@ -4561,6 +4566,15 @@ void vmx_vmexit_handler(struct cpu_user_regs
> > *regs)
> >          vmx_handle_descriptor_access(exit_reason);
> >          break;
> > 
> > +    case EXIT_REASON_BUS_LOCK:
> > +        /*
> > +         * Nothing to do: just taking a vmexit should be enough of a pause to
> > +         * prevent a VM from crippling the host with bus locks.  Note
> > +         * EXIT_REASON_BUS_LOCK will always have bit 26 set in exit_reason,
> > and
> > +         * hence the perf counter is already increased.
> > +         */
> > +        break;
> > +
> 
> Would it be helpful from diagnostic angle by throwing out a warning,
> once per the culprit domain?

Hm, not sure.  I've assumed that increasing the counter would be
enough, but that's not tied to a domain.

I will leave as-is unless someone else expresses interest in this (and
can also be added later if desired).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 12:03:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 12:03:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460620.718554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p540d-0002Cd-71; Tue, 13 Dec 2022 12:03:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460620.718554; Tue, 13 Dec 2022 12:03:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p540d-0002CW-47; Tue, 13 Dec 2022 12:03:43 +0000
Received: by outflank-mailman (input) for mailman id 460620;
 Tue, 13 Dec 2022 12:03:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=iLc3=4L=cantab.net=dvrabel@srs-se1.protection.inumbo.net>)
 id 1p540b-0002CQ-ND
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 12:03:41 +0000
Received: from smarthost01c.ixn.mail.zen.net.uk
 (smarthost01c.ixn.mail.zen.net.uk [212.23.1.22])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ebd50c5-7ade-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 13:03:40 +0100 (CET)
Received: from [82.70.146.41] (helo=pear.davidvrabel.org.uk)
 by smarthost01c.ixn.mail.zen.net.uk with esmtps
 (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1)
 (envelope-from <dvrabel@cantab.net>)
 id 1p540X-0005XT-4Q; Tue, 13 Dec 2022 12:03:37 +0000
Received: from apple.davidvrabel.org.uk ([82.70.146.43])
 by pear.davidvrabel.org.uk with esmtp (Exim 4.94.2)
 (envelope-from <dvrabel@cantab.net>)
 id 1p540V-004mHf-9r; Tue, 13 Dec 2022 12:03:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ebd50c5-7ade-11ed-91b6-6bf2151ebd3b
Message-ID: <99a807bf-57c6-aeb6-9b95-efb7e4ee7e9e@cantab.net>
Date: Tue, 13 Dec 2022 12:03:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, David Vrabel <dvrabel@amazon.co.uk>,
 xen-devel@lists.xenproject.org
References: <20221110165935.106376-1-dvrabel@amazon.co.uk>
 <20221110165935.106376-4-dvrabel@amazon.co.uk>
 <641a5905-3a1a-e128-788d-e907297aa213@suse.com>
 <e0c05cb6-32be-bfea-9a4f-4567272042b4@cantab.net>
 <87eb39b5-ee6f-7324-0add-bd4755719a08@suse.com>
From: David Vrabel <dvrabel@cantab.net>
In-Reply-To: <87eb39b5-ee6f-7324-0add-bd4755719a08@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-SA-Exim-Connect-IP: 82.70.146.43
X-SA-Exim-Mail-From: dvrabel@cantab.net
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on
	pear.davidvrabel.org.uk
X-Spam-Level: 
X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_00,NICE_REPLY_A,
	SPF_HELO_NONE,SPF_SOFTFAIL autolearn=ham autolearn_force=no
	version=3.4.6
Subject: Re: [PATCH 3/3] x86/pci: Fix racy accesses to MSI-X Control register
X-SA-Exim-Version: 4.2.1 (built Sat, 13 Feb 2021 17:57:42 +0000)
X-SA-Exim-Scanned: Yes (on pear.davidvrabel.org.uk)
X-Originating-smarthost01c-IP: [82.70.146.41]
Feedback-ID: 82.70.146.41



On 13/12/2022 11:50, Jan Beulich wrote:
> On 13.12.2022 12:34, David Vrabel wrote:
>> On 12/12/2022 17:04, Jan Beulich wrote:
>>> On 10.11.2022 17:59, David Vrabel wrote:
>>>>
>>>> --- a/xen/arch/x86/include/asm/msi.h
>>>> +++ b/xen/arch/x86/include/asm/msi.h
>>>> @@ -237,7 +237,10 @@ struct arch_msix {
>>>>        int table_refcnt[MAX_MSIX_TABLE_PAGES];
>>>>        int table_idx[MAX_MSIX_TABLE_PAGES];
>>>>        spinlock_t table_lock;
>>>> +    spinlock_t control_lock;
>>>>        bool host_maskall, guest_maskall;
>>>> +    uint16_t host_enable;
>>>
>>> If you want to keep this more narrow than "unsigned int", then please
>>> add a BUILD_BUG_ON() against NR_CPUS, so the need to update the field
>>> can be easily noticed (in some perhaps distant future).
>>
>> This is only incremented:
>>
>> - while holding the pci_devs lock, or
>> - while holding a lock for one of the associated IRQs.
> 
> How do the locks held matter here, especially given that - as iirc you say
> in the description - neither lock is held uniformly?

Because the usage here is:

    lock()
    host_enable++
    ...
    host_enable--
    unlock()

>> Since there are at most 4096 MSI-X vectors (and thus at most 4096 IRQs),
>> the highest value this can be (even with >> 4096 PCPUs) is 4097, thus a
>> uint16_t is fine.
> 
> Where's the 4096 coming from as a limit for MSI-X vectors? DYM 2048, which
> is the per-device limit (because the qsize field is 11 bits wide)? If so,
> yes, I think that's indeed restricting how large the number can get.

Yes, I did mean 2048 here.

> I could only think of less neat ones like host_enable_override or
> forced_enable or some such. If I had any good name in mind, I would > certainly have said so.

host_enable_override works for me.

David


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 12:07:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 12:07:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460630.718565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p543s-00031m-Lz; Tue, 13 Dec 2022 12:07:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460630.718565; Tue, 13 Dec 2022 12:07:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p543s-00031f-IV; Tue, 13 Dec 2022 12:07:04 +0000
Received: by outflank-mailman (input) for mailman id 460630;
 Tue, 13 Dec 2022 12:07:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p543r-00031Z-1J
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 12:07:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p543q-0006Ym-2E; Tue, 13 Dec 2022 12:07:02 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.2.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p543p-00076w-R5; Tue, 13 Dec 2022 12:07:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Hu4EfwXLcNlxg6e1/LqOnYigKgPtwaiGx3G+DRC4bvU=; b=bxj6OtTyTb/3GhE9F1gtU0DlTn
	XS6LwgnztmkJHaAopGQM2eMHgaZ8hQkoM3MQv87Kg8wlgesalIGFp+B0shH8yEpAWii1py9pQWxJg
	b8lUq0lRNub4SzElTYu8AuhWlhiA/Ahqy/18zAXoprKSNDqoj8Tpxz1R49ignqLxzc+Q=;
Message-ID: <520abcb0-0edd-bb09-f3a2-bb3d96c569b3@xen.org>
Date: Tue, 13 Dec 2022 12:06:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 2/2] NUMA: replace phys_to_nid()
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
 <670b7017-4a6e-fa9e-9d65-65013bd4ad80@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <670b7017-4a6e-fa9e-9d65-65013bd4ad80@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 13/12/2022 11:38, Jan Beulich wrote:
> All callers convert frame numbers (perhaps in turn derived from struct
> page_info pointers) to an address, just for the function to convert it
> back to a frame number (as the first step of paddr_to_pdx()). Replace
> the function by mfn_to_nid() plus a page_to_nid() wrapper macro. Replace
> call sites by the respectively most suitable one.
> 
> While there also introduce a !NUMA stub, eliminating the need for Arm
> (and potentially other ports) to carry one individually.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> At the top of free_heap_pages() mfn_to_nid() could also be used, since
> the MFN is calculated immediately ahead. The choice of using
> page_to_nid() (for now at least) was with the earlier patch's RFC in
> mind, addressing of which may require to make mfn_to_nid() do weaker
> checking than page_to_nid().

I haven't looked in details at the previous patch. However, I don't like 
the idea of making mfn_to_nid() do weaker checking because this could 
easily confuse the reader/developper.

If you want to use weaker check, then it would be better if a separate 
helper is provided with a name reflecting its purpose.

> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -671,15 +671,15 @@ static void cf_check dump_numa(unsigned
>   
>       for_each_online_node ( i )
>       {
> -        paddr_t pa = pfn_to_paddr(node_start_pfn(i) + 1);
> +        mfn_t mfn = _mfn(node_start_pfn(i) + 1);
>   
>           printk("NODE%u start->%lu size->%lu free->%lu\n",
>                  i, node_start_pfn(i), node_spanned_pages(i),
>                  avail_node_heap_pages(i));
> -        /* Sanity check phys_to_nid() */
> -        if ( phys_to_nid(pa) != i )
> -            printk("phys_to_nid(%"PRIpaddr") -> %d should be %u\n",
> -                   pa, phys_to_nid(pa), i);
> +        /* Sanity check mfn_to_nid() */
> +        if ( node_spanned_pages(i) && mfn_to_nid(mfn) != i )


 From the commit message, I would have expected that we would only 
replace phys_to_nid() with either mfn_to_nid() or page_to_nid(). 
However, here you added node_spanned_pages(). Can you explain why?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 12:46:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 12:46:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460640.718582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p54g9-000838-Ph; Tue, 13 Dec 2022 12:46:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460640.718582; Tue, 13 Dec 2022 12:46:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p54g9-000831-LR; Tue, 13 Dec 2022 12:46:37 +0000
Received: by outflank-mailman (input) for mailman id 460640;
 Tue, 13 Dec 2022 12:46:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p54g8-00082v-1U
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 12:46:36 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2072.outbound.protection.outlook.com [40.107.13.72])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c082807-7ae4-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 13:46:33 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB7124.eurprd04.prod.outlook.com (2603:10a6:208:1a0::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Tue, 13 Dec
 2022 12:46:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 12:46:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c082807-7ae4-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HHR8hv2QvZaYkOcVkJHf6M6RVZZzp1dm2sAwPMkkunrasMjACUnbkODfpritfziMPsYkJAsVB5jyiEpmGcq7t7LNJTuOKF5Tfd13LmoOWZVlwKmF6lJEDMqpJ44ppiSJH5SYljbe+Mp9LMYQUzVa8THs9duYr5X3p3QwQq1gqf8z++/PRpgDGT63Yr3NgDV0jb3oSC2y34ZqakuGpFUbpiZVdz4Q2yEUlCk7m+B0/PE/YM4Jt5wv+o+I5251yImsPdXl5Gr6s7CFaQbeVAeiylNxtP/M0LwhxmBcYtL9XJNjBKPogfQTQQBQVjyexQY/6hkV9Aeb5k5qbdayt+QclA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7gsyNg8PR+tPEEr8HkotP5cSLT5uho8ff65Ed90jliM=;
 b=l1PtIFHrTSZHSZMqJB5Mws8hH1g+HALzCylKd1yA+DzYSWqF1x6HVYCA87TmD41vLc5xCHSZmU0bjFvwus3EMcYsbRj0DLh50HKgG4BIQZ8i8ypXEXeesAXo6o92QupIDLZJjk4c5FhrSPectwA+FS0Mqyy7spAEz76CL4inRR+cOgOV4wzfxfr+DNzgZr7+diR/Y9MmdpfmsniRR/ymPxPvAWRAHzaWQbrAF2LdiyrEfTgi2ippjK8cNA+rtvx4S9pqxmkXbjaJN/c1odIpD3io41pwDZHYFpIqmWkOHpIRf8Nb/npYJ3Q5/1kJZfr7qgY0vfqRsa4HbK80JInMvQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7gsyNg8PR+tPEEr8HkotP5cSLT5uho8ff65Ed90jliM=;
 b=SEWSeceDCYrfYQs1mep/82SrLiuWKvkz+On3pmrBhbGqY1u2Ct5a9TZHsqptQFGp92wkI+DqenoN35eZpjDZHJUc9rAwF9y8qU4PMtTDmxMSdOv7f/MJ1sfv5MjQE5I3Oy8qfjTBgLtaxGwlL1TIXM50FUb7CHv7WRkdQ2aLV1oQ47WC9SyQnlKuTIi/eN6k+eJFXesi7hCS+LtM6wHM+gIDj8RRouxDupiP97UU6deSRxXPi13Ai2Rw2prm+Eloc0IEHbrPV3xC3V7GAh38mXwgJ5IL/KhSM/iY03hC8eVCSiKYoJuFAKWXqhhqkZu0v8oWPOA+JPiWZaxcrbenIg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <76e1edfd-07d8-1d02-788b-bd9e6beb49fd@suse.com>
Date: Tue, 13 Dec 2022 13:46:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 2/2] NUMA: replace phys_to_nid()
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
 <670b7017-4a6e-fa9e-9d65-65013bd4ad80@suse.com>
 <520abcb0-0edd-bb09-f3a2-bb3d96c569b3@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <520abcb0-0edd-bb09-f3a2-bb3d96c569b3@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0007.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB7124:EE_
X-MS-Office365-Filtering-Correlation-Id: 9cf55397-deeb-45f8-a4ce-08dadd080f2f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ALDmgOQoeqb+1VmJw1He8uXmvsIeUG9NbVBzY6eMUkxn8E5LtwTQFumsgfyWcCE84UAjDDNwWSc/PGDX/g2UN3x8MvrDIWvgOIvBK0fLZ8XfK0gy+PuUNSztGJceb5XYBfL8g3w7D4wBT1rtAE4K4dHgdYUaJsfOrMU7mc9rqNWp0TF2MrVpM8z0rLv+canTV9edBpBoIGEXkT8GBP0dwogTsk1lWsCSDeBT1e/fF9xj96z+8J6Sl9sK0Kx/Pp+TESv8s0ySrynzmjHkL52z0+iofmyu+LgmoxWe5OJIMpdLsjrTaX5JYO+EG/OFadgt0xUPi441L0l2AuzdiJAyzDzE+ufWZjBd5u2DxWm0z6kbJIwKzD98zUKiiV9q/PTFdWJ9ovdovlhpnwDm/DNOYQqhPK/7Rnl69a5B7eVlkoU22CpFangpHtkdISu2UNC8DygLru4XTH8DuNWfCxOG5d1evj+I/7x5cxCG8qOHLnBQlT/SYVVwAB0MybfMrbIeQfItjDfJ6PbhOs3D+kQLQuPxmrlvHXDU1YFbJvdE5uujtMu7PbohHrSrh8rbHKx3p5aY2IsRGvdMayaDf+nWAmzIxF7qU2/6ce6f8hFIm9WW05a4aWN+2fOrP7oMWpWseS759MxOP4bf+D3ca8y9XhM+1aZyWBkDBmyEZ/LI4MTsPTFFjs+T9e7hNKbE8GFaqRk71r7YRbrXKxKWYhEr/LNMdpQDYWK8MCUHwIRTtk0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(346002)(376002)(136003)(396003)(451199015)(36756003)(2906002)(38100700002)(5660300002)(8936002)(41300700001)(86362001)(31696002)(83380400001)(31686004)(54906003)(6916009)(4326008)(316002)(6486002)(66946007)(8676002)(2616005)(6512007)(66556008)(26005)(66476007)(186003)(478600001)(6506007)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SGoyZ0c5YmFoenNaVWJXekx2bUN6aldtczVyRUlNVDF3L3RmYUlnb1h1Kzl5?=
 =?utf-8?B?UzY5S0h5ZTNGVVg1WUl1Z3o5OWdnYVAxdXoycTJTSVpaYURWMkNpejJuVzQr?=
 =?utf-8?B?TjBmTjRFUFZObTR4U3c3YWpncmRTS2k0SjdhWjBTbjVJbEdaT05MV1lPS0xz?=
 =?utf-8?B?SEE1WFFBeDJ3U2p2Q3JUaThBSWVIcDJNVzl4RVlvK2l0N2s4ZVZzZXVRNTRU?=
 =?utf-8?B?WFQyN0VHQ3RLd01kOFpNVFNDeGd1aWFsMFFvTjRhVHI0c3FDRFBkZ3NUMEtu?=
 =?utf-8?B?TzFablZGajlVS3h0WFFab1lVMWxkVFBUZXZJa3FUTERMQlRjUkYrcyttWHB0?=
 =?utf-8?B?ZG5ub2xlRGV0WUxNZFdnbEhvd0Q1dzJXTEFKbk1pZjdnOWdjd2lFVXVCN2Rz?=
 =?utf-8?B?Z2J1Wnh3ekZjeWdBMTczTFd1SGk1L0tnMTZndkVaOVlVajVkaEFBRit3TGFE?=
 =?utf-8?B?RXRjVWluRFpMRDFHVnl4emREYkdXUkdxSksvRlFIT2owTmI2VS9QNHBCOEVs?=
 =?utf-8?B?VmlpZ1M4ekM1QVp2UDA2VkpMeVBwUkoyWVZZMTMvOUw2cnRmTmhMeXVBZ3dh?=
 =?utf-8?B?Syt4d2c1U0NMSndvK1Zwd0VqRU1rVG03L05aNnJJWGJnd0grK0ZWTm5JeXJ2?=
 =?utf-8?B?cnU4eTZEaDNxeS96OHBQWkZaZHJPWlpWeHZPS0oyUlNMRWRwbWdHWEFDdzBa?=
 =?utf-8?B?MWlCYm81cnVVQXBvUE9hZmxkak5FTlhsVlJBQWpBVkdSMGlTZHF6dmdTZ28w?=
 =?utf-8?B?dkhrWW43SHpMVUI5TlVIb2F6WDJaRjVVS1VKTWZTdk1qSmZBcDlUOGM3Nmgx?=
 =?utf-8?B?T2lzTjJVOU9kVHg3dG5Nako2UnpJckxjZmc1Vk1tM3NQemNpRXZYb2E4blll?=
 =?utf-8?B?ZE41MGZHVG9hblNCcnRFYVh0Rk1kN3drODZ1cFdmbyttMjMyNFVmay9EQ2VG?=
 =?utf-8?B?cVk2b2lPcjZHbzhwR0FoQU83aTJocFpXTWRWaDcvU0tDM0JwUWFOS29rVHhB?=
 =?utf-8?B?YTdzV3FDZXJjUkJ6L09NNDhJY1lCV0EwWGgwbVRCNTB1a2RTVkd4ZHVHbmF4?=
 =?utf-8?B?TVZJaElzVWIvZThlWENpYXAxdUVqeHZhUGc0c0w1aDF5Sk4xZS96d3JqNldn?=
 =?utf-8?B?VE5mbEZ5dmlVdGI1VHZtc1k3WGFwWG9iVlZLZWV3YUlSREQ1YTJFS2lTT2c2?=
 =?utf-8?B?SUpnaHRDWHhxRVh0N3djeEJVKzQ3SlBtdXFNdndMdWNjdEltODdZWitUd2xl?=
 =?utf-8?B?R2ppRld0OHVvbFVMQ09ISHU5ek8rSXJSZHFBZXd1V1ZGZEE2U2dwTGFET3A2?=
 =?utf-8?B?NGcwSFp0bmtnb3RKOTAzY3RpR2tVSUtRd1lHeUw0K2UzTmJBeFBWa3JsZTlN?=
 =?utf-8?B?QjY5NmsySVlSYXNLdWJMendDOUlMMDVQZ2xUcVFwbmpaQWVzL1dxMmgxWWVr?=
 =?utf-8?B?ZVYyYlc1MWhMQmJSQmtXNUhGbkVoNjVXa2NnQ0FuaHdNQ29uY05TK0NSYUxi?=
 =?utf-8?B?VU90c1FyU0tSQmRpWGF3NHR4dWpYUG4vdmFpMmhHeDNsNmtGRm5WYkZpbkx5?=
 =?utf-8?B?VFRqRFNQc0d3WDdTbEFqd2dmcVRDMkh6MmxjbFE2Q1NDU2FlTWZPaHFwbTBR?=
 =?utf-8?B?ZEhKT3hzUHhxUFpxcUEweHhtVjhvOTlJUWJKNG9aN3hVMGh2N0x6TU02QWZW?=
 =?utf-8?B?TUU1amp1ZXprNHVFM2pzRW5sYmFYcURhQmR0RDRNUEJxZlMrYU9YWk5CV0tG?=
 =?utf-8?B?MFVMQXJnTEtpenpERXV1eUFQbk51emlIUThqQmoxU3JhTlRkZDlMaFJScTNo?=
 =?utf-8?B?dThhMjdkS3RvQWhyYlRjSnFGTEhDYmYxK1N6TEJsNWVhYlpLdnV6QnFRdWpH?=
 =?utf-8?B?OGNWRzFxOWs4SG1hc1JpNk00K29vMmhwZk9nQkNrRVRZMVdHTDduWGwvNGE4?=
 =?utf-8?B?YTRwbS9Pb1JKNWFQVjNML2h3a3doRFZZMDZYU0tKcWduNTFoUlNNUnN2VmNN?=
 =?utf-8?B?MXh4MTdBV2h6ZzBoZHdhLzJDcWxXSzByWXZROFFnRGpYenJGbTc5ZVl4bWt6?=
 =?utf-8?B?Zm41S3k1c1l5aER3WVVHckZYVXdtd2NlK2dzVnM4REtqdWVJQ2xvTW5uYUFR?=
 =?utf-8?Q?iXnkO2Z+OMJaCSURAjNxHnEGr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9cf55397-deeb-45f8-a4ce-08dadd080f2f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 12:46:31.1853
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Vtuks8OPkZ5rfhufSey9fgWiyiORXM3g86lNwgPijJBCRoyAfrPfZjeIpvbu2fWgh6siNcyIikuL8y0hI6XmQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7124

On 13.12.2022 13:06, Julien Grall wrote:
> On 13/12/2022 11:38, Jan Beulich wrote:
>> All callers convert frame numbers (perhaps in turn derived from struct
>> page_info pointers) to an address, just for the function to convert it
>> back to a frame number (as the first step of paddr_to_pdx()). Replace
>> the function by mfn_to_nid() plus a page_to_nid() wrapper macro. Replace
>> call sites by the respectively most suitable one.
>>
>> While there also introduce a !NUMA stub, eliminating the need for Arm
>> (and potentially other ports) to carry one individually.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> At the top of free_heap_pages() mfn_to_nid() could also be used, since
>> the MFN is calculated immediately ahead. The choice of using
>> page_to_nid() (for now at least) was with the earlier patch's RFC in
>> mind, addressing of which may require to make mfn_to_nid() do weaker
>> checking than page_to_nid().
> 
> I haven't looked in details at the previous patch. However, I don't like 
> the idea of making mfn_to_nid() do weaker checking because this could 
> easily confuse the reader/developper.
> 
> If you want to use weaker check, then it would be better if a separate 
> helper is provided with a name reflecting its purpose.

Well, the purpose then still is the very same conversion, so the name
is quite appropriate. I don't view mfn_to_nid_bug_dont_look_very_closely()
(exaggerating) as very sensible a name.

>> --- a/xen/common/numa.c
>> +++ b/xen/common/numa.c
>> @@ -671,15 +671,15 @@ static void cf_check dump_numa(unsigned
>>   
>>       for_each_online_node ( i )
>>       {
>> -        paddr_t pa = pfn_to_paddr(node_start_pfn(i) + 1);
>> +        mfn_t mfn = _mfn(node_start_pfn(i) + 1);
>>   
>>           printk("NODE%u start->%lu size->%lu free->%lu\n",
>>                  i, node_start_pfn(i), node_spanned_pages(i),
>>                  avail_node_heap_pages(i));
>> -        /* Sanity check phys_to_nid() */
>> -        if ( phys_to_nid(pa) != i )
>> -            printk("phys_to_nid(%"PRIpaddr") -> %d should be %u\n",
>> -                   pa, phys_to_nid(pa), i);
>> +        /* Sanity check mfn_to_nid() */
>> +        if ( node_spanned_pages(i) && mfn_to_nid(mfn) != i )
> 
> 
>  From the commit message, I would have expected that we would only 
> replace phys_to_nid() with either mfn_to_nid() or page_to_nid(). 
> However, here you added node_spanned_pages(). Can you explain why?

Oh, indeed, I meant to say a word on this but then forgot. This
simply is because the adding of 1 to the start PFN (which by
itself is imo a little funny) makes it so that the printk()
inside the conditional would be certain to be called for an
empty (e.g. CPU-only) node.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 13:48:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 13:48:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460649.718593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p55dn-0006mi-90; Tue, 13 Dec 2022 13:48:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460649.718593; Tue, 13 Dec 2022 13:48:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p55dn-0006mb-5w; Tue, 13 Dec 2022 13:48:15 +0000
Received: by outflank-mailman (input) for mailman id 460649;
 Tue, 13 Dec 2022 13:48:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p55dl-0006mV-SQ
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 13:48:13 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p55di-0000hr-LO; Tue, 13 Dec 2022 13:48:10 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.2.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p55di-0002Zn-Ex; Tue, 13 Dec 2022 13:48:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=uOESWWIKmK6bxwYl+Ee6HfcUlH3PQL4zACendaGs7Ro=; b=MWYNQVg1vHOBVxsNx3lNHume+j
	TsHvIzyWowOpK7eq8FRi4jiNg0IpiUw1E1q2lVriXySpEzVLRynCTuUzJN22RlunTIeiJuL6mFz9U
	MbdWr06/PzYExDVzGdAVGHtndr1K3hkK6UU1ZDnsGTHvGQExlqLzf7RiPgWmgPrqQJAM=;
Message-ID: <3911cb46-e691-5539-b2d5-04de1a119329@xen.org>
Date: Tue, 13 Dec 2022 13:48:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 2/2] NUMA: replace phys_to_nid()
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
 <670b7017-4a6e-fa9e-9d65-65013bd4ad80@suse.com>
 <520abcb0-0edd-bb09-f3a2-bb3d96c569b3@xen.org>
 <76e1edfd-07d8-1d02-788b-bd9e6beb49fd@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <76e1edfd-07d8-1d02-788b-bd9e6beb49fd@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 13/12/2022 12:46, Jan Beulich wrote:
> On 13.12.2022 13:06, Julien Grall wrote:
>> On 13/12/2022 11:38, Jan Beulich wrote:
>>> All callers convert frame numbers (perhaps in turn derived from struct
>>> page_info pointers) to an address, just for the function to convert it
>>> back to a frame number (as the first step of paddr_to_pdx()). Replace
>>> the function by mfn_to_nid() plus a page_to_nid() wrapper macro. Replace
>>> call sites by the respectively most suitable one.
>>>
>>> While there also introduce a !NUMA stub, eliminating the need for Arm
>>> (and potentially other ports) to carry one individually.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> At the top of free_heap_pages() mfn_to_nid() could also be used, since
>>> the MFN is calculated immediately ahead. The choice of using
>>> page_to_nid() (for now at least) was with the earlier patch's RFC in
>>> mind, addressing of which may require to make mfn_to_nid() do weaker
>>> checking than page_to_nid().
>>
>> I haven't looked in details at the previous patch. However, I don't like
>> the idea of making mfn_to_nid() do weaker checking because this could
>> easily confuse the reader/developper.
>>
>> If you want to use weaker check, then it would be better if a separate
>> helper is provided with a name reflecting its purpose.
> 
> Well, the purpose then still is the very same conversion, so the name
> is quite appropriate. I don't view mfn_to_nid_bug_dont_look_very_closely()
> (exaggerating) as very sensible a name.

I understand they are both doing the same conversion. But the checks 
will be different. With your proposal, we are now going to say if the 
caller is "buggy" then use mfn_to_nid() if not then you can use any.

I think this is wrong to hide the "bug" just because the name is longer. 
In fact, it means that any non-buggy caller will still have relaxed 
check. The risk if we are going to introduce more "buggy" caller in the 
future.

So from my perspective there are only two acceptable solutions:
   1. Provide a different helper that will be used for just "buggy" 
caller. This will make super clear that the helper should only be used 
in very limited circumstances.
   2. Fix the "buggy" callers.

 From your previous e-mails, it wasn't clear whether 2) is possible. So 
that's leave us only with 1).

>>> --- a/xen/common/numa.c
>>> +++ b/xen/common/numa.c
>>> @@ -671,15 +671,15 @@ static void cf_check dump_numa(unsigned
>>>    
>>>        for_each_online_node ( i )
>>>        {
>>> -        paddr_t pa = pfn_to_paddr(node_start_pfn(i) + 1);
>>> +        mfn_t mfn = _mfn(node_start_pfn(i) + 1);
>>>    
>>>            printk("NODE%u start->%lu size->%lu free->%lu\n",
>>>                   i, node_start_pfn(i), node_spanned_pages(i),
>>>                   avail_node_heap_pages(i));
>>> -        /* Sanity check phys_to_nid() */
>>> -        if ( phys_to_nid(pa) != i )
>>> -            printk("phys_to_nid(%"PRIpaddr") -> %d should be %u\n",
>>> -                   pa, phys_to_nid(pa), i);
>>> +        /* Sanity check mfn_to_nid() */
>>> +        if ( node_spanned_pages(i) && mfn_to_nid(mfn) != i )
>>
>>
>>   From the commit message, I would have expected that we would only
>> replace phys_to_nid() with either mfn_to_nid() or page_to_nid().
>> However, here you added node_spanned_pages(). Can you explain why?
> 
> Oh, indeed, I meant to say a word on this but then forgot. This
> simply is because the adding of 1 to the start PFN (which by
> itself is imo a little funny) makes it so that the printk()
> inside the conditional would be certain to be called for an
> empty (e.g. CPU-only) node.

Ok. I think this wants to be a separate patch as this sounds like bug 
and we should avoid mixing code conversion with bug fix.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 14:08:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 14:08:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460660.718609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p55xG-0001CA-VN; Tue, 13 Dec 2022 14:08:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460660.718609; Tue, 13 Dec 2022 14:08:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p55xG-0001C3-SK; Tue, 13 Dec 2022 14:08:22 +0000
Received: by outflank-mailman (input) for mailman id 460660;
 Tue, 13 Dec 2022 14:08:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p55xF-0001Bs-Nb
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 14:08:22 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2054.outbound.protection.outlook.com [40.107.20.54])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 98559b8f-7aef-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 15:08:19 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8119.eurprd04.prod.outlook.com (2603:10a6:20b:3f9::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Tue, 13 Dec
 2022 14:08:16 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 14:08:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98559b8f-7aef-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IoXDTplnB+a/h4Olv9XCeMZe5Ayru/arwuLxrp2KtaiNrpKmlSPEsESufcZI3RAZejWvBifAhKfzZOeXTiVl5dNZ6o7ikoicGS6eiNLhrTnrXVRmESfUYgzHfUt4ztplJe+E9P1Vu49V9AlL86LdcLxuB/ZTIbfx4Yp3sZ2PBtMPKUdF/pEog1jKt9Lu4k4FDMfXBbPLtTLoWEWjL+ygm0DmJiCk6pi4H/Rjxe2HJh309AQrx682dsRByEW1lAgOCrcUiEGfwCqin6qwpSbzSgcv94iS5h2Am1ariW5eps6zYIK8U4XaYAUtBgpYMgpZCtc0//P0lAxFZZ1pKczj+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UkRol2jtFrbk4nMGRwE3Zao6cWnE8PZ56ERcc3/2JGk=;
 b=mdNxB6uL0Q9DBQR6PgbaLVa51AAEVqtkWRwm1XvyeJJ9jZv+wGtdaOCkdQyzu4WLO3h3HwV0VVTxQVkXAlsxEvgaL9JKQXebYKkODsVTsmXunytPV9ArMqGaWzozdYHT2Xa71Y/4qCr26M+nOXAr/ARv4zQ7NwXqeigg+A2qrH9s1JxmeGl3ybDgz94T059FH9YJDcVJVeidSTCyRoFg+4TB8weJpkB+7pG6Q4stpZxfRxLvC3pwsL7zogr7xF1RH/evhI+nsFrenwCpEjVfhwjKYibuFslTXvBFOwvImvwhYnNtsGHB2Hkz2BfCevwbp+WP0xzjIsQcBAIiCleLSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UkRol2jtFrbk4nMGRwE3Zao6cWnE8PZ56ERcc3/2JGk=;
 b=xqHk4oC9uWwmZsySeo/B4+Qvv2OF8s6tch5KHI4375UsmamD+q/SzXzlAz6R9cFkO4qbt14Qzl/Xosziej17WyrNjZ5cbEEJ1YyfYTNGqJfvsHRLJtppaKsoaif4kUAC6Ioc1nY6T2TErqI5nQTqbCVtw6MGC1zN9vxpOJeORrVFW4wRfEKNiFDov1Au6m31IQtOACpgykxfrM1l9WjZWlXfddUEw4CZtkF+ShHqxjOb3aEaffgfofqdGBwb+mrEDG5/lxYftyjydlHpDpuh2PxOLbHRpHfyY5J8lYGWWRHTmJgM6Fr3+vwMXmVXhtmxPzqLJX3Zbda5ORw+vHdawg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d1805f03-2f74-7595-03d7-8fe69c275413@suse.com>
Date: Tue, 13 Dec 2022 15:08:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 2/2] NUMA: replace phys_to_nid()
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
 <670b7017-4a6e-fa9e-9d65-65013bd4ad80@suse.com>
 <520abcb0-0edd-bb09-f3a2-bb3d96c569b3@xen.org>
 <76e1edfd-07d8-1d02-788b-bd9e6beb49fd@suse.com>
 <3911cb46-e691-5539-b2d5-04de1a119329@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3911cb46-e691-5539-b2d5-04de1a119329@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0085.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8119:EE_
X-MS-Office365-Filtering-Correlation-Id: 1fbe738d-3f42-4048-0c43-08dadd137b00
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dG1B8/3TTRfbbWHny7k5iJah1HuNfpuGzkwRZ5EREmgm96wJFU7/mr2vQ6o76kikDAkVirN78qjTww1yJBKSwmYCsXHl5KqPwJS8GmeQBphQqIFyLe6GsSidhJStNeE0QsF3PdVaqztz3tJ1awbeNSsDeettxnCnGDPRmNiDDzSW4r9FLti7ddy1h4icvQRn1D3hxUouP2RyLm1wNV1Tc/UqZQRj6nB682co1Lrh8coXG6O2zWmNEFlIt2mXvNC//TmTPcBrzhFeAG2jMS6/oTdI29uvVeEo2QfjvvQbBOoU1aPA9cvE4M7LdiwEsgAHXUde+vixx3keedLe8gVXBLtUU0tCPCb7hvIqAmh7GFCcXgWoE7DmUuRMguVqVFgXXez9rziKlTB3UwVcMD/tSJniAdRrkV1la3w0FAalFdpa+v3ZOEkzs2D6PON+ZpwpqE+WdUQhgj0HPPMVuGPSyaqkYYRJF5tUBZ0IY6+dp9wnMN9yi+fN1P4/3ACydOGJs8NLxT6GagDDlYjLp4JgIo+M1iyUobkU9F6/F3o4EKEIkcOpYdDYFNT9Yd3cedN8v5x/hjb/8akY+zP7Uqnb+qnYnghf8CK+zwharVYK/nB77eLFpPm+fi79BObroI6Qu7mGgxSAI0oqIp2lBQQXjKohiMSrRg5DFEslDm8Sc3HByGiyCKat/XjY6j1rWBn9DIAolg1onlTzI5k/GxgIIztT0XRuKp7r6hduG0DocPg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(396003)(346002)(136003)(376002)(451199015)(6506007)(53546011)(54906003)(316002)(6916009)(6512007)(6486002)(31686004)(478600001)(2906002)(41300700001)(8676002)(2616005)(66946007)(66556008)(4326008)(66476007)(83380400001)(5660300002)(8936002)(31696002)(26005)(186003)(36756003)(86362001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?amc4bzZqMFVXYWI2QkJBMFR2akxNU2h2WDM0dk1FTnZCZXRaNU9vTnRCamZD?=
 =?utf-8?B?cnBxUmJnNHNxMCtMdTBVeFpzUDZSYTBKSEVKeEtqRlFRTkk0VWdPUVlhWGxt?=
 =?utf-8?B?Y0owL3Y1UEhCdklXZ2lNbzBXNTRXOWd6S3ljbzd3dTZzZTlqY0pLWDk3N3FF?=
 =?utf-8?B?WksrZDBja1VRTG9valRqaFpxYUJRaTF0dDFtVDE0MDczbW1ROTFwU1p4Ykx5?=
 =?utf-8?B?dVpZWFc3QXRBM3Q2MDV3YnJwRXE1ZXlUb3labkVsWHBYMkE0UkVhYkxzcWw4?=
 =?utf-8?B?bnJENWNzeHFJRXV4VE5EaTdEeXI4a2Fpa3Z5Zm44VTZvR0pBZUZaVUwyUFEy?=
 =?utf-8?B?WWZGY0JXT1pSWXRrWS92U3daQTBJdnJaVWk2blEvVklvQk14Sy8xSXNNSDFK?=
 =?utf-8?B?dUtDbmpXcEwwV3Q3bkpSSCszc1NoK3ZXWHhHWUx2WkwydzJkSGhLK0tQaitM?=
 =?utf-8?B?VG1yY0dIb0xrWEttOExoM1l0Q2UrZDFKa3NRY2I5ZUdoQVdPYXBOK0kzS2ps?=
 =?utf-8?B?RTZDTkFWL0RKME96TmhSL2pPMTgzNWFVRkN6Q2ROQlBoekk0b2dKV0U2eUIr?=
 =?utf-8?B?ZDJMY2lpOGQzbG1KOFRlMHpzWlV0aHo5V1pDZHdqamNRcTNaQ3lIbnUwaDQ4?=
 =?utf-8?B?Ymx3VEptN2lwNWZzcnkraExoMlczN3lqK0dvYkd0OGNYU3Z4a0hvQ2JtS1pO?=
 =?utf-8?B?cFUzS2xISzUzamJBZ290QUhjQldHUDJBMWNFRFRIcFU0aVhxSGY0VmhnRmhN?=
 =?utf-8?B?Wi9kaFRDaDJBczYydDhRTEpaNWMzWnlsMGQ1bnNycHBCL0czU1FkOUlxOTVU?=
 =?utf-8?B?emtOcEMwTVFueDMxR3VxWXg3L3ljQ01sWk9vV2JjODB4VVdhYldyT3drMlpD?=
 =?utf-8?B?MzBlSWtMSTlzU0xMWjNpY05BdGEyMStjNEVNVmFVMFhUOFZUUE1GK3NZc0R2?=
 =?utf-8?B?ZVJDcFJ3azhuL3ZJUzl5Mk9zdlJrVWdIeFFHUUkwK2VaQkhZTDltNU40K1dp?=
 =?utf-8?B?Y0NZTGdkSFVlc2RCNUpBWnlnbzZuTU4vdE1MVDVjUm1oVC8zaXFoZGhMT2pI?=
 =?utf-8?B?Tk5GQXpLNGt1bnh4QU9pcDNRMkZhcUNDUHIyMlhFQXVxMjNVSzJUYW16Y2gr?=
 =?utf-8?B?dVcrbmRlU2FDb0h2a1lTUnpJYTloWkxkK2lvWThtZE9pVDJuZm1RMXRlQ0Nq?=
 =?utf-8?B?WGJNSk5HVENoTGhpampvWWtEWEdiV0d0OXBDVVp0bmU0WFhaUE8rSmRlWUpz?=
 =?utf-8?B?bWM2dFRvVDc2K0ZhMXhzaW5UVll5NlF5RmkyV1VBbDRzTlU3Y2JYNUhVeEEw?=
 =?utf-8?B?cFRnbFN0anNwM1pqaW9pa2tWcGhPSFFxMHlQMkhCcU1nOVBTYWZqQkl3TkF0?=
 =?utf-8?B?UUtCakNsS0djdXVLY0Jock55Y2hnRUNKTzZLMVJML25hM0EvQWV2WjlrUlBw?=
 =?utf-8?B?bHE2Rkh1RVpBRHlITk5TTFpqVjJOQUpzU2Uxb0pQRHlibkJvRHFGb05xK3hS?=
 =?utf-8?B?cEtndURzcEhubEFVNkttZlpGZXh0MHRqTjhnNFkwSy9raGJFRmJCdy8zd2ps?=
 =?utf-8?B?VHJmWGF4MHEzUnhyR1VJOS92Njc0VzgrbUExWG9URE1sZU4rTy9wZU1ycXpS?=
 =?utf-8?B?TWlWT0Q2SjN4U1ZDa1pDN2x5ZWtEZXNyT0VCb1NKR1J2QmY3Rm1aV2RiV0Vw?=
 =?utf-8?B?c1Y2K1VlV2IwMWx4RzI2VmNzblZBcC8yemF6SzFVeVV3YURNY28zM0o0dEN4?=
 =?utf-8?B?RzNEazltQWNndzJ0TzlUQ0FZb3dnT2Nqc09TMXZVODhtdm5JditjcTRDcCtK?=
 =?utf-8?B?ditFN3pPZTdvejI0UE1vTmdxNE4waGVRODBqRFl3aDVCVWNiMHFSWHZSTm1h?=
 =?utf-8?B?VHNMb1lVR253cjQ1QlJyckwwWEhVNlZLaER0aG8wY3ZIRzZmV2NCV0E4VFpL?=
 =?utf-8?B?Nm8rOUVmNzVYRUNhNWtWTUR3aWZHY2FENTBROFRhcHRDRmtPcHpGUXJST2Nl?=
 =?utf-8?B?eHp5WWs5WUtDNFkwTEtyRkg4Rm1YZ2dNK25uRVVrREh1ZTZTWjgwWlhiSlVq?=
 =?utf-8?B?ellnbWJTVWFYSXpGU3pneklGUitUSGVHanozenJQWldYTHZLR1oybXJEaEZW?=
 =?utf-8?Q?35TesYVl+cN7lhj4UvEtHZkOP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1fbe738d-3f42-4048-0c43-08dadd137b00
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 14:08:16.5626
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nIz/VD0/7n/QQ5MuCX4ADc0Qe9+0usBdkS7UsIQdMnXHK2LhWjrak4+6DIiupyf0EeUhH5NGDJV0KTY7+6kcGw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8119

On 13.12.2022 14:48, Julien Grall wrote:
> On 13/12/2022 12:46, Jan Beulich wrote:
>> On 13.12.2022 13:06, Julien Grall wrote:
>>> On 13/12/2022 11:38, Jan Beulich wrote:
>>>> All callers convert frame numbers (perhaps in turn derived from struct
>>>> page_info pointers) to an address, just for the function to convert it
>>>> back to a frame number (as the first step of paddr_to_pdx()). Replace
>>>> the function by mfn_to_nid() plus a page_to_nid() wrapper macro. Replace
>>>> call sites by the respectively most suitable one.
>>>>
>>>> While there also introduce a !NUMA stub, eliminating the need for Arm
>>>> (and potentially other ports) to carry one individually.
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>> ---
>>>> At the top of free_heap_pages() mfn_to_nid() could also be used, since
>>>> the MFN is calculated immediately ahead. The choice of using
>>>> page_to_nid() (for now at least) was with the earlier patch's RFC in
>>>> mind, addressing of which may require to make mfn_to_nid() do weaker
>>>> checking than page_to_nid().
>>>
>>> I haven't looked in details at the previous patch. However, I don't like
>>> the idea of making mfn_to_nid() do weaker checking because this could
>>> easily confuse the reader/developper.
>>>
>>> If you want to use weaker check, then it would be better if a separate
>>> helper is provided with a name reflecting its purpose.
>>
>> Well, the purpose then still is the very same conversion, so the name
>> is quite appropriate. I don't view mfn_to_nid_bug_dont_look_very_closely()
>> (exaggerating) as very sensible a name.
> 
> I understand they are both doing the same conversion. But the checks 
> will be different. With your proposal, we are now going to say if the 
> caller is "buggy" then use mfn_to_nid() if not then you can use any.
> 
> I think this is wrong to hide the "bug" just because the name is longer. 
> In fact, it means that any non-buggy caller will still have relaxed 
> check. The risk if we are going to introduce more "buggy" caller in the 
> future.

While I, too, have taken your perspective as one possible one, I've
also been considering a slightly different perspective: page_to_nid()
implies the caller to have a struct page_info *, which in turn implies
you pass in something identifying valid memory (which hence should have
a valid node ID associated with it). mfn_to_nid(), otoh, has nothing
to pre-qualify (see patch 1's RFC remark as to mfn_valid() not being
sufficient). Hence less rigid checking there can make sense (and you'll
notice that mfn_to_nid() was also used quite sparingly in the course of
the conversion.)

> So from my perspective there are only two acceptable solutions:
>    1. Provide a different helper that will be used for just "buggy" 
> caller. This will make super clear that the helper should only be used 
> in very limited circumstances.
>    2. Fix the "buggy" callers.
> 
>  From your previous e-mails, it wasn't clear whether 2) is possible. So 
> that's leave us only with 1).

The buggy callers are the ones touched by patch 1; see (again) the RFC
remark there for limitations of that approach.

>>>> --- a/xen/common/numa.c
>>>> +++ b/xen/common/numa.c
>>>> @@ -671,15 +671,15 @@ static void cf_check dump_numa(unsigned
>>>>    
>>>>        for_each_online_node ( i )
>>>>        {
>>>> -        paddr_t pa = pfn_to_paddr(node_start_pfn(i) + 1);
>>>> +        mfn_t mfn = _mfn(node_start_pfn(i) + 1);
>>>>    
>>>>            printk("NODE%u start->%lu size->%lu free->%lu\n",
>>>>                   i, node_start_pfn(i), node_spanned_pages(i),
>>>>                   avail_node_heap_pages(i));
>>>> -        /* Sanity check phys_to_nid() */
>>>> -        if ( phys_to_nid(pa) != i )
>>>> -            printk("phys_to_nid(%"PRIpaddr") -> %d should be %u\n",
>>>> -                   pa, phys_to_nid(pa), i);
>>>> +        /* Sanity check mfn_to_nid() */
>>>> +        if ( node_spanned_pages(i) && mfn_to_nid(mfn) != i )
>>>
>>>
>>>   From the commit message, I would have expected that we would only
>>> replace phys_to_nid() with either mfn_to_nid() or page_to_nid().
>>> However, here you added node_spanned_pages(). Can you explain why?
>>
>> Oh, indeed, I meant to say a word on this but then forgot. This
>> simply is because the adding of 1 to the start PFN (which by
>> itself is imo a little funny) makes it so that the printk()
>> inside the conditional would be certain to be called for an
>> empty (e.g. CPU-only) node.
> 
> Ok. I think this wants to be a separate patch as this sounds like bug 
> and we should avoid mixing code conversion with bug fix.

Yet then this is only in a debug key handler. (Else I would have made
it a separate patch, yes.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 14:23:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 14:23:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460672.718621 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p56BS-0003q0-CS; Tue, 13 Dec 2022 14:23:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460672.718621; Tue, 13 Dec 2022 14:23:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p56BS-0003pt-8E; Tue, 13 Dec 2022 14:23:02 +0000
Received: by outflank-mailman (input) for mailman id 460672;
 Tue, 13 Dec 2022 14:23:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p56BR-0003pn-Dx
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 14:23:01 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2085.outbound.protection.outlook.com [40.107.20.85])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a568fabf-7af1-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 15:23:00 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8622.eurprd04.prod.outlook.com (2603:10a6:102:219::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 13 Dec
 2022 14:22:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 14:22:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a568fabf-7af1-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aTsuBtzdors2mROChSOP9cijUvMmC7Bg3ioEdpWm6Lpvenh/LE/PBnPEcYQoJJAjag7IJtC8oZkxszcgaYVPgJ6GXriDmAgbQ8uB7kSHLqC2mfiVhbtkIm4dvlzW7IgIUJGa8UGFvZ0CaHtTcAdZXKmdeGjOzoaBl5HXfeD/3DJ3oheb9yewFtsmBg9uWGYJb3hEuWPtrMrh8OvKk8UXISDLIU0i3qbzsTv5yXnpBUjl0wLFXT6+KX2f7ZfoGJcAvazoVLKQ6Y2ZgSjGANh0o7J2VMq1z5gzSzx/Afw1QXEkRubcb8ZwHZX3MqsdYx6jx8SxmS9GeIiCSY1ejmrL8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lsuVLthkkiwRc3cGgJgC8giW+xrAnne6Nrr1GmY3WIw=;
 b=Ipp0eaTeKH/W+iDA9i3N6qdptsTJnx2/IkBEKZPrwCSmxSmhbm1oUoeiPHJEuh+Mp29/QL2YqDBzRJsXIaYPt/FXBF/RZTtgDbKv5FoOcrmfWQ5BmVHqLtYleJ7LO6Skj/4kbMEQA6QPbCBOb7iqxTvk/iCYRvZs9Ek1hFs/ckNZMVeR3y92NEQ8HnxU0qf3Wq9YTaANVWRUkH8nEnBhlRRRZ5dx25z96dl1Y9hLf0aTMkv5sqj8jyjROUROJWlmMLbvGw8P/sLIAprSJs9GZ0GdXr10hDe3JJxNSHIdtHKn6z8vT3WzRHb7K/DvGYodXBSnaxYe3TA1AX3FQ4C28A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lsuVLthkkiwRc3cGgJgC8giW+xrAnne6Nrr1GmY3WIw=;
 b=BJtR5ee3KnR2aW4EAvnTyWRTm28Jy8ahAVVjW28WvPCVNm8vUxt+TwJoTV7bOkphrmot7sb5KdE9u5wqdJhUxXnLAOBVpy5eb911Ku+jNc79oWqAB3CBvObfN/lQT70S1+H6vAtR2Zw39Fk4SUuEfMb4NEllFsDC+y8U/IXh8FcMpwswEkxebxl0joLDBHycrQHEdBvocxZyKehhhXrIqWf+l489ehCvUgNfZwGTTYjFuCeeHLfTDCqzC/7l7D5tGC9GcPtQrEfwUkF+yEc46YqAqz02ywgIHn3jpA8eNIbA4ziAZx0oDkd5ryT34UMEP68jmmtwSmfGuS/Z9TAB5w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b305d4bb-b561-1dee-0869-2d08edebfe47@suse.com>
Date: Tue, 13 Dec 2022 15:22:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] Relocate the ESRT when booting via multiboot2
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <74145e57307e9b35cbdc296b22241e6f36405f6a.1670546744.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <74145e57307e9b35cbdc296b22241e6f36405f6a.1670546744.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0018.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::28) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8622:EE_
X-MS-Office365-Filtering-Correlation-Id: 3f90f583-1c14-4c9f-f064-08dadd15887b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ex4UNvZ07Qk6jnBV1mJJMF3g2uwE11O9pnGt0FbWQIE0BT7tPQQsIIEUX3Dz1gyCFme1jtX6gtTdCsFBBxtofMvwRjKUzgH8VfK+wNPGVY1rk5pVXqa3TQMHGHVkQQzKtwz5RJGQQPzm1b7j4E17+JGBRmEmxOJT0H6w28texHxZTDBseAPl1CZxMPdqb4FARKPLGivD+zZGxBi70mY+Q8MVHr8ecZarRKlDU8mvdpMBCQHPGiOLq100bLJWMyNyRLH9zcJHGSYs5ue27+wQw9lqVwR46GDly7NIGwJdnpHmT/7epzXhMScLEsPP9b+dagvYRTd/T/nwh7cgbC+pGSeqot7DKs9IkMfdNQkXcuWor7roQd4EU8qFtpqlemHZh1A6p0W/QNoUOVAfqjgxANlGz6D/nuhANqlwepi6mLUk7Kx0OXuaQ+UPa/U32FmhFA8MsYNmz7V5HCovfAQaUDsmII9LKAiqtlT65IX0AtSnw7T8kf/gCOex2Yr63vhqhFHTgz8/tTF6R5ZrNaXiECy+i/RA2YWEAHVpTsa4tzM2VfyEMZjy/SDorXXuyFNAig0jnMutQLpviyt2cz/Pgy88BLeRPgIlrqDvHAWRIKRDPE4284xeEKwDnpCfWLRPHa5mvQHz7XQNliSWxUU2lUKvyPDw9GyV3KpMum490vUREF+EZNxUjD6318YSg4EgDHZW5YEsQS+bZWIic53sL7x872XEptYTiHIC4Pp6HFk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(39860400002)(396003)(376002)(366004)(136003)(451199015)(38100700002)(6486002)(31696002)(5660300002)(86362001)(478600001)(66946007)(2906002)(41300700001)(66556008)(4326008)(8676002)(316002)(26005)(186003)(6512007)(6506007)(8936002)(2616005)(66476007)(53546011)(31686004)(54906003)(6916009)(36756003)(558084003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S0NrNi9EUklBVCtGcXYrdW41aldxcXpkRXl4eUxNOUMwR2hZeC9TUU9nSHlS?=
 =?utf-8?B?QlJJdmo3MmRuQWY5RUJwZXFoZGZIVjhPRE1GZThCWURUVGsrNXhadGdVUDd3?=
 =?utf-8?B?bTh2MkZuYnphUWQ0YmwxYWoxbUliNkFlZDlueHBtakNnMFJGY0pxYlhDbUJP?=
 =?utf-8?B?a3Yyc1BIbDhuMkQ3bDBFOTA5ajJpT0hoYnVTV2p3UUdWMERjMmt6alhhVDNo?=
 =?utf-8?B?SVA3NmJvMy9rOHRNaXJEUnNKd0Rxb2t4ZEliak81ancwd2VhNm4vRnBnTkhv?=
 =?utf-8?B?cW14S0xqM2RuVHo5UG1YN1ZQY09GYUtqbEVJYVBhMW9LZnZITXdsL2E3ZHlN?=
 =?utf-8?B?aVpwenIwcTlSR29oWnhROHNidWZLTGRabkdvemJ6Q0tpSWpvRTU2NHFuclBG?=
 =?utf-8?B?MTZYQTdvWWorWHpTN0hMYlNsWmFHMEEvOGcyUzZsSHJmYVQ5K1lObU1TekUv?=
 =?utf-8?B?RmRwaUhkY1cxS216K3ptOG5CRE5jcWxZY1l1KzVmMXJ0eWtNSmJxZFNJUVps?=
 =?utf-8?B?YzNaTm1RQ2ZIMTdkNDBBMmx5WVRBREF5NTU3ejFERHhFZHAyNnlzclpiRkJn?=
 =?utf-8?B?WW41ZDY1TXJhNlJKVkx1cmN1OHNhKzBwRXFCOXhQZXhyTjhibWlRRDBDTE1k?=
 =?utf-8?B?c240U0tXWkg1WGJWOEU1S3Y2QUR4eWh6Z3plWXFEbUwvZTVFU1BUV1I2TTlk?=
 =?utf-8?B?V3NGTWV4L3JsMU5weXZzSHoxU0RuT0wvUnFqT0t2NE45b1dENUp5a2lwaFkr?=
 =?utf-8?B?c2lIdFlOdnVOdk1qZld2SWs0eVJmeEpzL3JRcm9TNTJOVkVTQjJNa3Q4dHFr?=
 =?utf-8?B?R0xXeFZOY29yVWh1aytzeldBajNNTjN2QlJLc1dGTWtxWWZMRTZ5WnhCT3Mv?=
 =?utf-8?B?VEhpVG56YXVRV1JBNTZRRlFWaU50cFlPMFJoKy8ydUwvMnBrd3Q5N2hyRWxI?=
 =?utf-8?B?MncwRG1kRzJ0RStlTmtyQ3daKzMzRjdXWlRKcGtVWHRsMis1RERWNGFPYUg5?=
 =?utf-8?B?b2hFclQxbUlvMWc0ZFo3ejVPci83T29ra1IvdVErZmt5ZEJOMERZdW16cnJk?=
 =?utf-8?B?NWZVNmhLWnMwSVhEYmJVNlZwOGR5S0JBNjRFK3V2TmovSFNSTDRia1prWUNh?=
 =?utf-8?B?aTBoczZ2cVJPTUhUa0FhSEtPcDkySTlkNzRqZ2RFSGRRdEN3dEVoRDlma1pN?=
 =?utf-8?B?RFRPUk1TRGN5R3NudUFaV2dVd0dSOGpkMW1rN2JxSDFkaC9pTU9xYXNXaEZP?=
 =?utf-8?B?UUxkM29Md1J5Ny9EMldKdk5jaitpN1drOXVoc2xVbHhpbEg5VW5kZElrd0VC?=
 =?utf-8?B?Vlk3U1FlYlBMcDVGUGV2b0dKaFc2UG5Nd0ZjQ2ppbGs2OXozV0Robjl6eGFN?=
 =?utf-8?B?eVU2NGc3ZmZ0TmtnVmtZUHdwMWgwUXJ0Vm9aWUhxc0dNRTh2VFZjMUpLSE5M?=
 =?utf-8?B?dVpoSzI3WnhCVHd4ZDN4ZTNXZ01TYTFzREVJTkRMNXNRVXRXS25iVEpGclFk?=
 =?utf-8?B?OEwzdkRzb0JlSnZzWU9zUWJ0MzV0VW5IcjBCdTFvVlNHeTMyL2NQWVBmd2ZW?=
 =?utf-8?B?OVA1T0xON2QwTkNBZ2QyaVNmNTlITGxTS28yVXdvVFRLdVRlNEVkTWswdEZ0?=
 =?utf-8?B?NUpQazE2eWRqQVdNSUx5eFFJQmdnUW5JZ1l4U0p3Y2U1ZUg1Q0lXVUJQU29h?=
 =?utf-8?B?dDJxK1VlNi9vQzdZOUd3cW9mdWpvaE1TMC9xYTduaGNKTFk3L2UyblRwOE8r?=
 =?utf-8?B?VWdhN1BMV1p4bGc5clVJMFdnNDd1ZS9xZlltZU45cWlyVFdBSjdhdmdMRUVM?=
 =?utf-8?B?NlZKdno4RDJKWk9aNWE1Tmc4eE9uOW0raXlQSi9sMHdFYWFNbFRwZWdrZ3JM?=
 =?utf-8?B?aE52QmJjK1kyem1idVJwNFpQOVNCeHk3QzZkMlBFelhWOWNCUHBwTWhZbTI5?=
 =?utf-8?B?Y0tKRUc4cEtHSFhNa3FYUzUxREJsOTY4Z3V0ZVNxUDVHQzdHYmNvOWtVQ3lt?=
 =?utf-8?B?cmhMbGNzaTNMUU9xejB4b01pY2psbmZkZFV4MEo3OGlTQXdYbFp1V1N4TDFt?=
 =?utf-8?B?NkRwdlFpT3hnYUhyb1M0b1IwcFZtL2JKcjdIdW5IdzlGblJZcVlRdFhHdzZt?=
 =?utf-8?Q?VSTASb2miaXUqOWjq//QQgaFt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f90f583-1c14-4c9f-f064-08dadd15887b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 14:22:58.2409
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uNt8JQaEvyJQoPi4eugbMPwZTLJZ1eVPQXo8GaZ26US0hZuK/uwVLZiQ6vqk7MOHuYQ7Feq2TEYSB2we+ViTzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8622

On 09.12.2022 01:52, Demi Marie Obenour wrote:
> This was missed in the initial patchset.
> 
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

This doesn't apply to current staging, apparently because you didn't
put it on top of your own "Use EfiACPIReclaimMemory for ESRT".

Jan



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 14:42:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 14:42:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460682.718633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p56Ub-0006hP-28; Tue, 13 Dec 2022 14:42:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460682.718633; Tue, 13 Dec 2022 14:42:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p56Ua-0006hI-TL; Tue, 13 Dec 2022 14:42:48 +0000
Received: by outflank-mailman (input) for mailman id 460682;
 Tue, 13 Dec 2022 14:42:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mGeL=4L=citrix.com=prvs=339e21e18=roger.pau@srs-se1.protection.inumbo.net>)
 id 1p56UZ-0006hC-HV
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 14:42:47 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 66f100ed-7af4-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 15:42:45 +0100 (CET)
Received: from mail-dm6nam04lp2044.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Dec 2022 09:42:35 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SA1PR03MB6337.namprd03.prod.outlook.com (2603:10b6:806:1b4::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 14:42:32 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1%9]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 14:42:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66f100ed-7af4-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670942565;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=nvSwYXry0UQz2Mwe2g7tvvMgpZI9euZyt//lEWwO0+8=;
  b=en2nx5PLSFP+JT+1N3oibPevj/LtkKZpa3FX5UdXpmu7xlwlurRe9/Kb
   aTC6+8cy8HUj8Q0Zj+8rlnq5SvjthtHEizhG/YGl8M1fA9BkOC4eCIpH2
   +Y+ErnYn/nU9owkvRcIn//rxTuAaJNb1fzeTc66OEjKKgGun5LGttN1cm
   8=;
X-IronPort-RemoteIP: 104.47.73.44
X-IronPort-MID: 90624858
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:/7DNV6m/anrjVYsyTEwtL/fo5gxLJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJNUW+BPa7YNmCjcot/bYzi9h5Sv8DSytM3SQttqi5kEyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icf3grHmeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aqaVA8w5ARkP6kR5QSGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 flbCT81UyibvsOZ/o7mQcZjj894M8a+aevzulk4pd3YJdAPZMifBonvu5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVk1c3jOSF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eexX2hBNJPRNVU8NZJuBqq1GM5EidRD1uyhdLmmEHvRP52f
 hl8Fi0G6PJaGFaQZtrwQRy+5mKFtxg0WtxMHul84waIooLE7gDcCmUaQzppbN09qNRwVTEsz
 kWOnd7iGXpoqrL9YXCA8PGSpDC7OykQJEcDYzMJSU0O5NyLiKMZgw/LT91jOLWoldCzEjb1q
 xiVqAAuirNVitQEv5hX5njCijOo45TMEAg8412LWnr/tl8lIom4e4av9F7Xq+5aK5qURUWAu
 35CnNWC6OcJDteGkynlrPgxIYxFLs2taFX06WOD1bF4n9hx0xZPpbxt3Qw=
IronPort-HdrOrdr: A9a23:MqWWP6jrAZ/rT2m66ljrFXeDP3BQXhIji2hC6mlwRA09TyX4rb
 HSoB1/73TJYVkqNk3I9ersBEDCexPhHOdOkO8s1O6ZLXDbUQiTTb2Kj7GSuQEIcheWnoRgPM
 FbAtND4bbLYmSS4/yX3OD2KadC/PC3tI2lgOfAw2x8JDsaDp2JiG9Ce36m++BNNW177N4CZf
 2hz9sCoza7Y3wYYua2FhA+Lor+m+E=
X-IronPort-AV: E=Sophos;i="5.96,241,1665460800"; 
   d="scan'208";a="90624858"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WBATAZk8xyBn1zeocQdq+GMZpnSMDM3hsBZBTPV+uohPSUY52kLPkTsfF26YHOeqcrXurELeAav+wSuhbu7YB5y7ZaD9VBwx69Q4f6WHOfHlY7qfm41/JIx8JHevD5RNOUW25PrSEyQTCGxt7vnTpeSV4B3kLoQgmJzZov+UedsFUyB5qtHG+sZDIJzSzJe2frAFQuATSOHcU6qQtRI51P3RhyjQD/c+JA/WavudhuFYNdglQLdhLwAx0CCixlWidbjPmzHwX1w3wB/jy+q1xu+ucz7ylssa7e3L6rCwhK1mTzYhpcCkLm2w7bXpulc5czmW6s/vJTD52llpjfa18A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wi1FT+R79LLj6/DKLBVwhCjfsJ2N7DoGX0am970KiKw=;
 b=ieHRbFkSTyb4JINmdgMud7/nCmaQ5TphDxcjB1l/TqGCW8zTaYrqGgjQzu7uJE/XKCnFYkP4xNLvAb49KHBJx1JZmQ3EDUadKGHvWbrRmNNzDOwoTXPsEwpzcKd/t0eyC5pNRjylni2NsAughArDOUa+lnv3PKA4s5Dc3vqocN/9CoPmzzqJmIPiL11mzWuBkD2GK7MD44SwEf8NfVmdOvCqz6iDx2yoWKWSjAzu5DvT0pFyqyNKKNulXLn7lwdudZaPCSWjlfQYafCCrDckjkkmNF8YFI9Dsnue5xrEAWW8EfHk1D3GaAoYnZK5Fnkw0BAUsyNtd32IvfKDTKuGYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wi1FT+R79LLj6/DKLBVwhCjfsJ2N7DoGX0am970KiKw=;
 b=A5+6fMBB/f6QM0aS4pJbMWKk/RRyA3wBvfjl8B3+mImMNO/LIW/VWgl6WEBoEYS8/ACOl1Gu6l2K8dUbFTX25d6A/RBjO6GsrF+ZgMYaKkt+f07y7a6dV7ZgCCgSqeB8LTyzKP7AG026NrOEBR6dwCRIulycs1KW0jGLIvBZFts=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 13 Dec 2022 15:42:24 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Tian, Kevin" <kevin.tian@intel.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Nakajima, Jun" <jun.nakajima@intel.com>,
	"Beulich, Jan" <JBeulich@suse.com>,
	"Cooper, Andrew" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v3 2/3] x86/vmx: introduce helper to set
 VMX_INTR_SHADOW_NMI
Message-ID: <Y5iPUN7TmLCiKWng@MacBook-Air-de-Roger.local>
References: <20220701131648.34292-1-roger.pau@citrix.com>
 <20220701131648.34292-3-roger.pau@citrix.com>
 <BN9PR11MB52763434820370E44457745D8C8F9@BN9PR11MB5276.namprd11.prod.outlook.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <BN9PR11MB52763434820370E44457745D8C8F9@BN9PR11MB5276.namprd11.prod.outlook.com>
X-ClientProxiedBy: LO2P123CA0026.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600::14)
 To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SA1PR03MB6337:EE_
X-MS-Office365-Filtering-Correlation-Id: 8160eb0c-d0c4-4581-b1d1-08dadd1843c3
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yYeQR3atrq8/0ATv7cpUoPl9Xhba8urCLEwmD0GxYNzjAvxELEr2gn7XKiqA+V13JYs+c1v8DxW1FOZQSzXjomAmPURm9QPpIkPSatOf6ATYcXBcHH39qKc0wxkmCISSSk85D77WjnhIMWV/sNEP8ckcySHXIYMAQdl4rhZgxyx6OvBoTasKFSf3levhPTti7IXfpWUVNOwAGKw+E2iQh4+rMLUyyuBPm/+BtUXNsrq7D/oLaZlcsEtEoPxYyJIf40zulFjeRLqiXT1k/Y5iaprgvHZuLbg3j11ftxkjxk7+Q6gpQ2dFHmjMg3FoobXjtqZw3O1SlZlkg5mOmLmWVPW56c6zARDsKvp3U0l6nCT4H03F/bxbXZYd1DtHnd0JKjQ06vAGEzk/wBZH2VIWgVB7/3TEoeBX51SPpNSmh9bcYJSUxu+0Otpqkco6ZGTgA+kZ/XJxOpYMsFZHFP/YGntNoUCevu+lb6qjWgJGhj4Jwc9eSiVEx4szZf0s/GDn2cJBT1fCf6BfJH/AD+NhnvKNIthL3606GHK+j+UhGP8a3p9C8r1oMc6tO1xVHK5OlH1UXUVqDkHSv4EFNGdxB5wW3bMkKnPAql/o8KMr0KpcmbhR1fpgSDG+rZCIjx2C/8d4m7WU5MYGJ/UX2jRhlA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(366004)(39860400002)(376002)(396003)(451199015)(85182001)(41300700001)(8936002)(6666004)(478600001)(38100700002)(86362001)(6486002)(82960400001)(5660300002)(6916009)(4326008)(66946007)(316002)(66556008)(8676002)(186003)(6512007)(26005)(66476007)(6506007)(9686003)(83380400001)(54906003)(2906002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UjgrK0RWSW5mRW56TVppT1JQbytad0Z1bWJPdFFSeGFtRk1LbkJOd1Q2STVO?=
 =?utf-8?B?RnJuLzZ0N2hmNytBTzBPNHJKbElTb3dPMHJLeldZL3R2NTBTNkN4OE84aE5T?=
 =?utf-8?B?Wjd2MXVWeGRQaC9pZk5HbWJHd2lmVTlVdjg0OGcrRFRZTnBPNTk0aFBMK0d6?=
 =?utf-8?B?UjI3akxJWWUxUitoSnNGcUtoenhpZngwbkFsbnZJWmgwOFZkaHVzTTlDYnZu?=
 =?utf-8?B?ZVFBbU5LR3VIaFpFVitFOXpGTUFRbTkzVkVnWUFSRHR6WDZZU3BzcUZ5YVFC?=
 =?utf-8?B?WTFkSEN4R2NxNzBQbmtLT3RVckpicGRLRjFqdFhPZnZBYjRLVkZ0aWZNMnFT?=
 =?utf-8?B?eEdzdFNDb09VdTd4TVlSL0lYK0FjTjhad0twbkN5aWZyejdUUjNsMXJ2ZjlI?=
 =?utf-8?B?R21EdS81SFZwNzR4TTdlcmllSHNDTVhiUjVrbWMvaW1nR29YeExTaUN1ZGRk?=
 =?utf-8?B?ZzBqZVBKZ0NzbFJmbkVhNDJDZ0N0WDJ0aU1HODV1eUlBcWdhR2drQTFUR3Fy?=
 =?utf-8?B?ZTZGVjJqc2pvY21Pa2NQdVZ5RHBMLzRBZGVlTzBQQWQwcU9DWUNwQ3NJRncz?=
 =?utf-8?B?MFpKQ0hrRHh4bSt6ZlRCaUwrQll4VUlEeDgycEZpalFGcFFpdjNyTXBZNVJY?=
 =?utf-8?B?dEpQbFZtTHA0a0ZHbHlsMTg2UjNsdkFSTk1vTVp2ckNpNGVBTGNaR2lCTmZZ?=
 =?utf-8?B?a2trUlNzeGlYNjNyc2Qzd2tGM2NaRzBPRkIvZHVKVXQ0SC9Ya3dmVnhjNk9B?=
 =?utf-8?B?aVE0cldiUFZ4ZlhpWlNJSms0VmRhTDJWTXg4UHg4V0w1WTM0ZnppTCtOSXRH?=
 =?utf-8?B?NlBTREl4S0xUa2ZNSE5rbW5wQnc0UUMwQmZMZjZQdEhMT2FEWmlkdG1HMm5p?=
 =?utf-8?B?dkRHc2d2dWtXcE9UK3dUajFQYk84Y0RMb1BsSmxHd0F3RmljcHhyZ05URytQ?=
 =?utf-8?B?L0ViamcrSk5JamRDZ2lqVlhhVXA3OXRwMWR0OHlncU50VUZ1Qml0Y2VxbVZv?=
 =?utf-8?B?SFNQUXgzTmlYR3ROMWdiYXBlYm84L290NDRTUEdFdVJLWlYrUjgzb0JxTE9n?=
 =?utf-8?B?dllvTm1Edk1PbTNxdyttZi9ZSXFIRmJHQUVrM2N1bGY5b0lMRXk4M0U1dkR4?=
 =?utf-8?B?U0pYQVZOVFZieDR3Zzlib0M1QlEzM1AxVk1CWWdoYzBQM0ZpR1FjWlB0aG1i?=
 =?utf-8?B?QkhPcys4RjBMTlIyM2h6VmdJalBsOTNBOHlkakxWL0FoWmFGWjFxUHp1ajl6?=
 =?utf-8?B?RVlvem92LzFBSXdycktCWHVhWVFIclU5b2ZtZjNLM2Mzb2lGc3BKYjBORGFP?=
 =?utf-8?B?QVRWMXEzUnNEV0ZHR2xxRGhOZ3FUNEZTYzRWdVVscldxYnA0K2Q3WCttL1hq?=
 =?utf-8?B?SUl1QzlzZmp0bUpSRnJNS1RhNGxpUGxKWEVVRUFHcHNsdVZiNGYxU0Y1S0hR?=
 =?utf-8?B?a1pQMkxWcVEwcXR1R01jdFl0VWpDUmhNWkFGUWRIQUM1V3hQWDgrR29nUTlo?=
 =?utf-8?B?MmRLUDJxb3dpZEVDYXJJeTVTdjVjdWdrY3gzVk9QRHhqUmp3cG1MVk42bjBx?=
 =?utf-8?B?dy9oaVZDaE5iak5mbVp0VWxwcFh3SnVDOFd6L3NRQmVjQi9PT25DcnhmNzVx?=
 =?utf-8?B?SGJaNGVuRHN4Vis1VFBESitXYjFaa0hmZDRJL1RhMUx0aklrWUc5WGFkWXM4?=
 =?utf-8?B?c3pGVFFDc1VQbjJjOS9IVFpXQU5ieDRwa1UwVjU5aDVIdmFUOG9kZFhBMEZP?=
 =?utf-8?B?T09kTlBEQTEwamF5eHlIVU9SUDNubk54VEFnblZTcjBxLzRidi9HUmFKNXFz?=
 =?utf-8?B?UGp0YWJjdW5BMXRNL2VrRnFlWVBybUt0dEtlcFAxSW45aUNWbnFURjlUNkVl?=
 =?utf-8?B?ZHI0b3BTWGZ2b2ZrdmU3RlJYUlZnVXk0ZHY0MWd2ZHJKMXZlb3ZPVk1hbytW?=
 =?utf-8?B?WXRpbjJkaEVHbU9lOVRqTzVGY2dnUkJUdEJBS0w1ZHhUSGlTcG9mckYyWXR2?=
 =?utf-8?B?YzEyVnVlSkdBYzNpYmhZb1ZjaCswYzdFdEIxZ2hYZmpWY01jbXpOb1d2WjUv?=
 =?utf-8?B?cWVLSk83bWswellISU5qb2ZDNXRjSi9PWDJoQTYwOFhyYlJKMDNzSURQdEVp?=
 =?utf-8?Q?Ehqjey1IDnh8dzb0c94AWhL/w?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8160eb0c-d0c4-4581-b1d1-08dadd1843c3
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 14:42:31.6729
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eEBH1lsDZ4jEdQqeNeiiPEkyguh1R5pgTRslF9aNRfEbTNkr6KhZGJUTk1BF8bkSglN8AOrryYTMslsmgLwPjQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6337

On Tue, Jul 19, 2022 at 07:33:47AM +0000, Tian, Kevin wrote:
> > From: Roger Pau Monne <roger.pau@citrix.com>
> > Sent: Friday, July 1, 2022 9:17 PM
> > 
> > @@ -225,6 +225,9 @@ static inline void pi_clear_sn(struct pi_desc *pi_desc)
> > 
> >  /*
> >   * Interruption-information format
> > + *
> > + * Note INTR_INFO_NMI_UNBLOCKED_BY_IRET is also used with Exit
> > Qualification
> > + * field under some circumstances.
> >   */
> >  #define INTR_INFO_VECTOR_MASK           0xff            /* 7:0 */
> >  #define INTR_INFO_INTR_TYPE_MASK        0x700           /* 10:8 */
> 
> Overall this is good. But I wonder whether the readability is slightly better
> by defining a dedicate flag bit for exit qualification with a clear comment
> on which events it makes sense to...

I've expanded the comment to:

"Note INTR_INFO_NMI_UNBLOCKED_BY_IRET is also used with Exit Qualification
field for EPT violations, PML full and SPP-related event vmexits."

I leave the creation of the specific flag to a separate commit, to not
block the series on that.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 14:46:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 14:46:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460690.718643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p56Xt-0007Va-FM; Tue, 13 Dec 2022 14:46:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460690.718643; Tue, 13 Dec 2022 14:46:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p56Xt-0007VT-Bx; Tue, 13 Dec 2022 14:46:13 +0000
Received: by outflank-mailman (input) for mailman id 460690;
 Tue, 13 Dec 2022 14:46:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p56Xr-0007VN-LW
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 14:46:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p56Xr-00021s-C6; Tue, 13 Dec 2022 14:46:11 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.2.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p56Xr-0004zI-6E; Tue, 13 Dec 2022 14:46:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=KC9005s/KywlPJeKFn7yVMOxSsuA9eqqkyCG6iuoSZI=; b=Z5KCvuoA5yOEyQtMJUjeo1sslz
	hUtLXekPyrVxGjKuVuyah3H5p5m1ZHRjpEaszl8pLNvnLzmNEXgY3S4LBfT6B34iLReF/FXbe2BET
	bimr2Mc42qtiUMlhJoxm7tOj5RPXLXzgQjg0iP5jDJ7BmLCgHYATgdMYum7QiMRuXrBc=;
Message-ID: <728c43c9-895a-2126-a587-113d7041bf54@xen.org>
Date: Tue, 13 Dec 2022 14:46:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 1/3] xen/arm: Add memory overlap check for
 bootinfo.reserved_mem
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Henry Wang <Henry.Wang@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221205025753.2178965-1-Henry.Wang@arm.com>
 <20221205025753.2178965-2-Henry.Wang@arm.com>
 <alpine.DEB.2.22.394.2212061716170.4039@ubuntu-linux-20-04-desktop>
 <8e635354-fdf4-a37f-0dba-c4b29063e152@xen.org>
 <alpine.DEB.2.22.394.2212071424060.4039@ubuntu-linux-20-04-desktop>
 <556d4b3f-3983-a336-f299-ce6b2b4a6e72@xen.org>
 <alpine.DEB.2.22.394.2212071534260.2730675@ubuntu-linux-20-04-desktop>
 <AS8PR08MB799135DFF656809F03039BE9921F9@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <alpine.DEB.2.22.394.2212121327010.3075842@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2212121327010.3075842@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 12/12/2022 21:29, Stefano Stabellini wrote:
>>>> Personally, I think trying to share the code between the two types is a bit
>>>> odd. The logic is the same today, but I envision to merge reserved_mem,
>>> mem
>>>> and acpi in a single array (it would look like the E820) as this would make
>>>> easier to find the caching attributes per regions when mapping the RAM. So
>>>> sharing the code would not be possible.
>>>>
>>>> That said, if you really want to share the code between the two types. Then
>>> I
>>>> would prefer one of the following option:
>>>>     1) Provide a callback that is used to fetch the information from the array
>>>>     2) Provide a common structure that could be used by the function.
>>>>
>>>> This would match other generic function like sort & co.
>>>
>>> I think option 2) would be the best but I couldn't think of a simple way
>>> to do it (without using a union and I thought a union would not make
>>> things nicer in this case).
>>>
>>> Rather than option 1), I think I would rather have 2 different functions
>>> to check struct bootmodules and struct meminfo, or the macro.
>>
>> I personally don't have specific taste here. I think the option
>> is good one as long as we can (1) share most part of the code (2) make the
>> code easy to extend in the future. So as long as you two reach
>> a consensus here I will change to the agreed method in v2.
> 
> I think Julien and I already agree on having 2 separate functions to
> check for struct bootmodules and struct meminfo. Julien, I take you
> prefer the two separate functions to a MACRO, right?

In this case, yes because the macro would IMHO a bit too large.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 15:21:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 15:21:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460701.718653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5763-0003zQ-1v; Tue, 13 Dec 2022 15:21:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460701.718653; Tue, 13 Dec 2022 15:21:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5762-0003zJ-VU; Tue, 13 Dec 2022 15:21:30 +0000
Received: by outflank-mailman (input) for mailman id 460701;
 Tue, 13 Dec 2022 15:21:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+6Gs=4L=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1p5761-0003zD-5g
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 15:21:29 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2087.outbound.protection.outlook.com [40.107.93.87])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce8cf001-7af9-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 16:21:26 +0100 (CET)
Received: from DM6PR03CA0011.namprd03.prod.outlook.com (2603:10b6:5:40::24) by
 IA0PR12MB8302.namprd12.prod.outlook.com (2603:10b6:208:40f::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 15:21:22 +0000
Received: from DM6NAM11FT068.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:40:cafe::5) by DM6PR03CA0011.outlook.office365.com
 (2603:10b6:5:40::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19 via Frontend
 Transport; Tue, 13 Dec 2022 15:21:22 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT068.mail.protection.outlook.com (10.13.173.67) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5901.21 via Frontend Transport; Tue, 13 Dec 2022 15:21:22 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 09:21:22 -0600
Received: from [192.168.137.15] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 13 Dec 2022 09:21:20 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce8cf001-7af9-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O2QfCnCsQ8g/KxvRy7Qnjjiyy/2gjkaqLhSGvPgIeMyVH6hnpbGqWKP+2b5O7KI2OKObUxGPXa3wfV7SosUIKJFOHQo8amJB7W/Jgzd4sy/N3gyt75PZZ8hJY1OLP5CqXtGPFjj6Daq1p4FMRZmeVvvucfyjd/FaKDsvg5aluk81qh2UAPiEGsOqNH+s/Prx9jUOSASkt/SiycQ4viKXmBCykgc077RipJIwiBOdBx+Sv01g5TZgw90j7CHNEg0CU+AhoFqsGtJ8jrlwDXYbABEgBioQ+CNfp7GzJg8Y7crkeoU9MBUmU27xv3IIC4E8Y6eXyoKhaJNTiYSmxNgxLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3//X6CAvaR9OwunMNpIuRV2EDPy+55g+1ib5pvktsew=;
 b=Cn7Q5EBVL6Vlwq/Ql8fS9lWLx9c6kDdzL2yCIc4qp00XJhWDnSJQn6Mfr8ThmPOyaHI5R7ynZpuVWjB3VXr5+gYFNWlfCSJTKJ9ahIfgzvNM6CjHs6S8DcVUsvG+eDTQlraKLjNNvnDr8v+Bf50aHuO2UNK4Woew0Ja+dqKqymqnsBkV2sQ5hKQO+JdUIJTM1y3drfwR86qrhk1NIlLpklUWZ7B3hQCRfcZpVYoAWZ9f5THkPAfzArlYUGon+0vrvGuVxxjdzDI8RUZM0iqSH63gc1y5BuN6w+i4PDwHqOOOeVwsAaM3JOdPjMJUjvfRVj1rKrEZ+ifuiDwCNuutXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3//X6CAvaR9OwunMNpIuRV2EDPy+55g+1ib5pvktsew=;
 b=aIFxOug0EVA83YG4vtY33KFp9l/FcPJLvxcNQd5mhPueaOK9ohusNgSvA6NeTvDay934OZtqdHdBotLOBPA4aYIXymQx9BOAMz5JMfQ6XVPhdWEDwt4py6bVzDtIR6U3lyE+HPJqZptfhc+VjtlC/yrZA2f8lNY9FU02l9XrE0g=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <a16836f1-8758-1276-8378-cb7a4af1a36e@amd.com>
Date: Tue, 13 Dec 2022 10:21:20 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [PATCH] xen/arm: smmuv3: remove unused function
Content-Language: en-US
To: Rahul Singh <Rahul.Singh@arm.com>, Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212160031.31590-1-stewart.hildebrand@amd.com>
 <19f2def6-89ac-4cb3-9cfc-78351e9b5bde@xen.org>
 <32990D42-8944-4438-ACE6-A4884ED5E74B@arm.com>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <32990D42-8944-4438-ACE6-A4884ED5E74B@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT068:EE_|IA0PR12MB8302:EE_
X-MS-Office365-Filtering-Correlation-Id: 6f033633-36a8-4d01-b94b-08dadd1db149
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ra5a/IGYUqCOXih5rn+NFThusD2B1SyR22ekHrgGUd6B/qH1f6gu/N+d7IS0yElqLMrLnoIZbkQY1AhRjEa7ROLBpKIOKCUC0O9ma0KjzlVfSdCdSUYFzJQih0dETjwiED6caVFI1u09leq/lrnPyz5YJ2qOEvJ/nl9zF7zGW6zkOlgB2JrAEN+fETU6VqNVJWJ9KRqHLc8CAwx5YfvXXVf3+xmLLWRDNCh2wpN5LiPzSC5Yxc7yqMCcNaUaqGEMLfqqGax7NtgiqO2tVBQ5kfnWORrXI23vmzNJ5q2yf5Rzd4CPsfnX2PHi5v8Qkr/B3/0px0Qxzqkw7sNCayltB8o/B6YpXxQzmv09F4wXNtoMOWbPuoDlU7I00JgVhBIc8xmjnP0gzfSetRTk5GUcRFQN1Uq7skFcC8NmibdL29awOLjHv0OMEnqo/sT4QQuXyU+d+xOegWgyExwluZeGQU7WT0cu6LxMyn402kVBLy5qoO3CzEUdGiy9fbf3qAQ+XZzo4aKsRcKyGvVYeAV5ydxVY0Z+ni8wutpanLv+rIwIJcLMhEXiuoN+3xoeZzVH3afjQILQqRwzNm4HaeMIZmj35Vs1RNeCdMqmTfea3EZIG7l0lH1s3GpVDGleS4shK7Cl97rq+ctmefKN4wS5ejmYRh2+FoXJJzsMt4qFn56H1JByiCWf9kXeSpuIJXrrWeWMlZ//Hfr8bQhVYE5PInp2JWyeBg2ZfBLysFdzyBrU+NqWz9OUDZFtV1B1VTf3TfUEXIsyCUmDgnfcOW+kpg==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(39860400002)(396003)(136003)(451199015)(46966006)(40470700004)(36840700001)(356005)(36756003)(70586007)(70206006)(2616005)(36860700001)(4326008)(8676002)(40480700001)(478600001)(186003)(26005)(110136005)(82310400005)(31696002)(54906003)(86362001)(53546011)(316002)(16576012)(81166007)(82740400003)(5660300002)(31686004)(2906002)(40460700003)(44832011)(336012)(426003)(47076005)(8936002)(41300700001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 15:21:22.3754
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6f033633-36a8-4d01-b94b-08dadd1db149
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT068.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8302

On 12/12/22 11:24, Rahul Singh wrote:
> Hi Julien,
> 
>> On 12 Dec 2022, at 4:07 pm, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Stewart,
>>
>> On 12/12/2022 16:00, Stewart Hildebrand wrote:
>>> When building with clang 12 and CONFIG_ARM_SMMU_V3=y, we observe the
>>> following build error:
>>> drivers/passthrough/arm/smmu-v3.c:1408:20: error: unused function 'arm_smmu_disable_pasid' [-Werror,-Wunused-function]
>>> static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
>>>                    ^
>>> Remove the function.
>>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>> ---
>>> There is also a definition of arm_smmu_disable_pasid() just above,
>>> guarded by #ifdef CONFIG_PCI_ATS. Should this one be removed too? It
>>> might be nice to keep this definition for ease of backporting patches
>>> from Linux, but if we ever plan on supporting PCI_ATS in Xen this may
>>> need to be re-visited.
>>
>> Given the function is not called at all, I think this is a bit odd to remove the stub but leave the implementation when CONFIG_PCI_ATS is defined.
>>
>> Rahul, do you plan to use it in the PCI passthrough code? If yes, then I would consider to use __maybe_unused.
> 
> No, this function will not be used in PCI passthrough code, but when we merged the SMMUv3 code from Linux at that time we
> decided to have this code and gate with CONFIG_PCI_ATS so that in the future if someone wants to implement the PASID feature
> will use these functions.
> 
> I also agree with Julien we would consider using __maybe_unused.

OK, I will send a v2 with the __maybe_unused attribute (in both locations), in case PASID is to be implemented in the future.


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 15:47:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 15:47:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460712.718668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57V1-0006z8-8k; Tue, 13 Dec 2022 15:47:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460712.718668; Tue, 13 Dec 2022 15:47:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57V1-0006z1-55; Tue, 13 Dec 2022 15:47:19 +0000
Received: by outflank-mailman (input) for mailman id 460712;
 Tue, 13 Dec 2022 15:47:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AlGL=4L=outlook.com=set_pte_at@srs-se1.protection.inumbo.net>)
 id 1p57Uz-0006yv-8o
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 15:47:17 +0000
Received: from JPN01-OS0-obe.outbound.protection.outlook.com
 (mail-os0jpn01olkn2027.outbound.protection.outlook.com [40.92.98.27])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6941b80c-7afd-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 16:47:14 +0100 (CET)
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:152::9)
 by TYCP286MB2227.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:13a::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 15:47:08 +0000
Received: from TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605]) by TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
 ([fe80::ff96:9cb6:e047:c605%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 15:47:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6941b80c-7afd-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QBzpB29jo4U7rKJUlu/J9Ps/msxU+ApxGJtHJqwRPjSyOz6uklp65oq7ZRQB6GtfMJ9bVHn/lOapEZ/7HaYq7TYmmVx3ZAvublp7h0/Bnvpe0R1oY6DKMpMro/+1xLv/a6TVp+xOFIaWEEQ1tM449BRqhdL9IrumqMgNSmdVD8UuY6+xXPDNzOC/HuVwBjbbKyZ8c5ZAb25DcURCAcIFVzJC/3GzQ4PztN1IwP90+ICsaoeDNG6XdvGeUdxYTX6s9jRQtG+WF7qfmuN9HoFWEXgNCs8ZPM9dT20Yuzvi/9RHkSyOqI6jk+gOGEl7jSmhxhzZJQHCHTjcDMIfKUCF9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XPSr3vTFyf4g308stz5pBdSs8FX4E7G1g4FXN60zMVM=;
 b=P6gQRObQM5qyi13bnpGBYlQkJ/8UvnM3k0RGFC9mqLDDcsiDMXbgaDhC5sHO+lDGr7qWI21Ph1EBWRvtDuEqnB44G4l7Xq2hfQgC+1zOh5eMaNn/xFPsAdOvah6FyjLsCFr9peGrHyT3C6oYQbV3t7XNS7lgc27lIArXjNWJT8CNySCaAYyVP33Yc8xaRLbekHPPov5dVl1I2lnkpIVDPBehB8Z9n36HXMnn1u5ekN4FRktFZjxP43LuTy/goS6ldFSLK/mn+WoIPFDm/H5ycQCNWPZ0tVg1qHbG7zXjlSnHTWjbILWDwxiWUZkNAIewWL1iNErsBykG0rBOfvDr/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XPSr3vTFyf4g308stz5pBdSs8FX4E7G1g4FXN60zMVM=;
 b=lUr1tsA3lLNvdelYqWgTqcQyFAYGZnQBVTcU2FRzl1Ah2dAXWOLZE5esVIp5avWoGJW5I1G19AXYT7Rx4e6wv3K+bwR1Kx5NorQMqYBmr1d67c/q0B56y3cXJg2g81U+QjPJGsxDvqdy15Tq3opuDqmiHzqZO/7i3b5aXjXiu0lFCDrii2NQqqmqjADgGpaaB4LtRIK0nhYnSzFJ4CWdYZmuNk+vv0vAAphvf1zFmdmRUoH+fb0JAr7HkH0izmgiwtcPCluG4T3PORZM3UMFyMLuGQhqItz1ARINE7EFpHAMZA+6DtmpgVJ/A3qmzx68P4P+nO8clMRBpj9CFtuydQ==
From: Dawei Li <set_pte_at@outlook.com>
To: jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com
Cc: roger.pau@citrix.com,
	peterhuewe@gmx.de,
	oleksandr_andrushchenko@epam.com,
	airlied@gmail.com,
	dmitry.torokhov@gmail.com,
	wei.liu@kernel.org,
	bhelgaas@google.com,
	jejb@linux.ibm.com,
	gregkh@linuxfoundation.org,
	ericvh@gmail.com,
	tiwai@suse.com,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	Dawei Li <set_pte_at@outlook.com>
Subject: [PATCH v2] xen: make remove callback of xen driver void returned
Date: Tue, 13 Dec 2022 23:46:52 +0800
Message-ID:
 <TYCP286MB23238119AB4DF190997075C9CAE39@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM>
X-Mailer: git-send-email 2.25.1
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-TMN: [bUw3LIKsGFBdoyvDHSf7gjXqCJ9EO3cn]
X-ClientProxiedBy: SG2P153CA0036.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::23)
 To TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:152::9)
X-Microsoft-Original-Message-ID:
 <20221213154652.78360-1-set_pte_at@outlook.com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: TYCP286MB2323:EE_|TYCP286MB2227:EE_
X-MS-Office365-Filtering-Correlation-Id: 46a69a06-ae5c-41d7-b09b-08dadd214a80
X-MS-Exchange-SLBlob-MailProps:
	mWtqiNqNgRscvYkgDebxiuAUYjwcBrMtWuDiwhRbFxQKCsJhL0oJSF5c0oS6vHnAMh+RBYztonasNcT/F/cpGt1LrwmrltxRS/+H8gOpwewKkVaBuO+gho++yFmjthc2rrM0v1r5uTinNOo0h+NlMhvVlk1hxacbGBqnA94bmNIQiEiDkpY3adh/5L7m4tYl6wGv62WPlst9FeWynTolF3UOzw4UZ6ePGOt7DMQAiFn6xT+TdV+UNf+50xq/OltijjHy/UkKuMM1xeWrbC01aqCc3hiPE5Jkvn37oxywUH9nut0c+0HASgSCOx0M3WqZwX+yEaeNVh/Eo9atu5br2TV/FY1LNAtS9P5WWVg/uG6n3acHnSvjipofl/rbDN+anzrB2txwYOBv0Cwfk+/7i8GpkbHfRL4iTVPFFOfG731G+2DF+k9aT8ESJTXGrNiowtP34YntxoxWF7r4UIxnX0yNU7xZv77264LrbtLEIotPBoLw5Me+D+AvjkWK2zuxFSaZiMx62xCfam44obO4PakJufEcxFL5rOaZOj5Y1eMdR6PkDXiTTfgLVzsU8qo6nCKyhaComaYGH0+fbu9wok/gaDygxlWGVnnURU2ZIpMlXkarglFwHqq5cTB2AdlSrFoRQr0CTSjlaxX3dHiB9fGbD1zYcmrfQOU2XqIPsVkIwizgPbPuNIxIUwYlGDPfWBqlpYrGe1Wf181FUksoZJ1vv/ANvSsyYBrCq4aWFTZE6Kk+4Om8NiMbU72D+JaXu+hEXuXZFSEPba8vuzsUus1kQVemCcTNirU0bpGgOTU=
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PukBzQpB7qwyNPxNyRzugREyUdqiza9jCMHnjDrAE6wpC5XPiczqfNebnmNbs0FKmw2pd/ZU22YVn8ULpQuPXk8TZGP8TZllRvd6pqmGC/NwdvqpLBilWDQXR8IW9ScZmKXxwRYgBpfLJmYG4Z8Xzuq2IIvXR6BDH4wt90cUmE8Yf7olIqPmErnixzCmHZMlzBbX4m6Q+pqJbbIVOCwvLa3sD2Pel/oyyTqsj612f4TrDyo+v8dlRzbogOsephIZ+ljOEseBd698YKkYHozgmFwsGycduns+uoMxnO/80jfyGIvTReg+r3Ov6zjS0r0POksHt//bBsxcG+d7wK8swoiNvENDHs9j/UGDhztvUWgCuDUB64TCmmRD8bfTiwr2wzy5/oiY8AWCPh6+F/dU2+2r/aTNgIFEL8GcfIpDTPX7u6vATwKnMYJN7kPaz+HemxosCu0LPaHCg31qDtdwgYbpkLqoPBHXO1/fZAKPXOZMKQGsHABT8K2ZKgrHMG+I7qvhOg+SPK460xFN5ftBw52maaORkbpW70NxxvlJ7vpMPuPwiQzVcYoovlVUhfVdLeoGBT7Fuhw9acM1pNjdVd2xTiiaEaS31IIt88HW1Y4yhMieG2yce25ckaojIN22Nj8BOxAnAQWXk/UVg18RmQ==
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?bjXmm/CpzQxoxChDGHVM462Xul6qOCLFp0RZHWimxU+Qg/ADvGPKQnB5nPCd?=
 =?us-ascii?Q?x38jXBzxC0J55rTp9f7BLwhVOHOqYDpnMS56aV2jNQN2YyZ2wfE/2yXgLF40?=
 =?us-ascii?Q?77T+btbS+dOSHHR50eO/GW17nHF8uCTDoTZGNK9n4wl/Ox2s/6IlXxRPiT0J?=
 =?us-ascii?Q?kzB41ltb+M8uqUsHRkHWlXsKMymRN5TncJZzgTS+kkAk3fxs0Oliocl+j3Xf?=
 =?us-ascii?Q?WeAwaQrh8q/+5vH2qeRtToyXWqxz8NLMvG87j1ifQHH74p+QBFwNMDcAW2R4?=
 =?us-ascii?Q?g9kiX4gtP8M39tvvHfcNk2Gz9Dfs5jo6RjanIiJTpMlaYMQOjiG5H3hMNhmO?=
 =?us-ascii?Q?hmX0iWAz4sdjNEfXVzb3VfUVxXYb1R0xcq0KUd/+7K0c8U83FqfyE4Kkp6yz?=
 =?us-ascii?Q?wUhqTsq9onDra3BGVDZmHm04WaOG3noakDd/dl1H/Y7VgG0Vu2AGFoBatEtb?=
 =?us-ascii?Q?asenGrpctJypiWcMlhw5Hz7tWfrUSlyr28T3N7RtBXwOCWM6VOmwBfPRKITO?=
 =?us-ascii?Q?5FoUpkc2H6Sh9FSRDy6OJqcV0H58o938dbXsUkCPULohyEIGXN1UjklNxwYs?=
 =?us-ascii?Q?LA7JvXpN5I+Xr99iK+UcQRvCvWJ1M+a+LPJylxVBSWtXBmptCoC3Yjkjd5zR?=
 =?us-ascii?Q?lWPA0tO120c47hHZjA6CP7do1hx7YZOjBZ59YLEj1RI1r8DOgZEXS+b4DsnS?=
 =?us-ascii?Q?6+vdbo5unaFS599NDjhxfRWUhrp4qFyhjfBCE4Uiu3lKaoI2mW9WXww63Vb2?=
 =?us-ascii?Q?N97mf9mcPjHzbYwYzDIouZLjOPHd/s1df330Pdco+prPphAxNZysZCOiMX5D?=
 =?us-ascii?Q?Q0kxmabVDFgv8grhwQoIWjFoxTZbUNIDrtpwEZfaTZllTjOH8/UG070wBUxF?=
 =?us-ascii?Q?4EZtuECPB7h8G5URdVIYxAK+00tY8hDPgUSxIwpRJ4G7ggVC1DZZhnk3wUno?=
 =?us-ascii?Q?nIPAx5iCj0F3x1i3+hJnJt2ls85Wm7tHSwjiDh6n5xzQP7Hn0PpRui6BzDbx?=
 =?us-ascii?Q?SaY33BzfZkmaZeXvh5qq8hq1P2zXnTiSRYNUZZ4OcBpCWUmigNHBb07JScO9?=
 =?us-ascii?Q?me2xKaSDYdtmE3f2lr2MXMIOdW9BJyk5dFyY5xBxpMopN1jnm22CrtXmZJdi?=
 =?us-ascii?Q?DIykFiTMqmZAWsB2Fq/jEkFwWXQSpdBmOz6kLMeA4WFKMttBxy16wQQ9Wnjl?=
 =?us-ascii?Q?4knR95GvHT8LEEPDibvvoSIgQ/qMYeTMfhEoTNuyoT9fad0IyrUXRDCse6K5?=
 =?us-ascii?Q?/4hlb7gjOdvaPCTBXTvpQwWEoZkkPXY186zEneKFbg=3D=3D?=
X-OriginatorOrg: outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 46a69a06-ae5c-41d7-b09b-08dadd214a80
X-MS-Exchange-CrossTenant-AuthSource: TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 15:47:08.3090
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
	00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCP286MB2227

Since commit fc7a6209d571 ("bus: Make remove callback return void")
forces bus_type::remove be void-returned, it doesn't make much sense for
any bus based driver implementing remove callbalk to return non-void to
its caller.

This change is for xen bus based drivers.

Acked-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Dawei Li <set_pte_at@outlook.com>
---
v1 -> v2
- Rebased on latest xen/linux-next.
- 72 columns wrapping on changelog.

v1
- https://lore.kernel.org/all/TYCP286MB232333CB411691110A8B9D96CA189@TYCP286MB2323.JPNP286.PROD.OUTLOOK.COM/
---
 drivers/block/xen-blkback/xenbus.c  | 4 +---
 drivers/block/xen-blkfront.c        | 3 +--
 drivers/char/tpm/xen-tpmfront.c     | 3 +--
 drivers/gpu/drm/xen/xen_drm_front.c | 3 +--
 drivers/input/misc/xen-kbdfront.c   | 5 ++---
 drivers/net/xen-netback/xenbus.c    | 3 +--
 drivers/net/xen-netfront.c          | 4 +---
 drivers/pci/xen-pcifront.c          | 4 +---
 drivers/scsi/xen-scsifront.c        | 4 +---
 drivers/tty/hvc/hvc_xen.c           | 4 ++--
 drivers/usb/host/xen-hcd.c          | 4 +---
 drivers/video/fbdev/xen-fbfront.c   | 6 ++----
 drivers/xen/pvcalls-back.c          | 3 +--
 drivers/xen/pvcalls-front.c         | 3 +--
 drivers/xen/xen-pciback/xenbus.c    | 4 +---
 drivers/xen/xen-scsiback.c          | 4 +---
 include/xen/xenbus.h                | 2 +-
 net/9p/trans_xen.c                  | 3 +--
 sound/xen/xen_snd_front.c           | 3 +--
 19 files changed, 22 insertions(+), 47 deletions(-)

diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
index c0227dfa4688..4807af1d5805 100644
--- a/drivers/block/xen-blkback/xenbus.c
+++ b/drivers/block/xen-blkback/xenbus.c
@@ -524,7 +524,7 @@ static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle,
 	return 0;
 }
 
-static int xen_blkbk_remove(struct xenbus_device *dev)
+static void xen_blkbk_remove(struct xenbus_device *dev)
 {
 	struct backend_info *be = dev_get_drvdata(&dev->dev);
 
@@ -547,8 +547,6 @@ static int xen_blkbk_remove(struct xenbus_device *dev)
 		/* Put the reference we set in xen_blkif_alloc(). */
 		xen_blkif_put(be->blkif);
 	}
-
-	return 0;
 }
 
 int xen_blkbk_flush_diskcache(struct xenbus_transaction xbt,
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 35b9bcad9db9..e68576ded7cb 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -2468,7 +2468,7 @@ static void blkback_changed(struct xenbus_device *dev,
 	}
 }
 
-static int blkfront_remove(struct xenbus_device *xbdev)
+static void blkfront_remove(struct xenbus_device *xbdev)
 {
 	struct blkfront_info *info = dev_get_drvdata(&xbdev->dev);
 
@@ -2489,7 +2489,6 @@ static int blkfront_remove(struct xenbus_device *xbdev)
 	}
 
 	kfree(info);
-	return 0;
 }
 
 static int blkfront_is_ready(struct xenbus_device *dev)
diff --git a/drivers/char/tpm/xen-tpmfront.c b/drivers/char/tpm/xen-tpmfront.c
index 379291826261..80cca3b83b22 100644
--- a/drivers/char/tpm/xen-tpmfront.c
+++ b/drivers/char/tpm/xen-tpmfront.c
@@ -360,14 +360,13 @@ static int tpmfront_probe(struct xenbus_device *dev,
 	return tpm_chip_register(priv->chip);
 }
 
-static int tpmfront_remove(struct xenbus_device *dev)
+static void tpmfront_remove(struct xenbus_device *dev)
 {
 	struct tpm_chip *chip = dev_get_drvdata(&dev->dev);
 	struct tpm_private *priv = dev_get_drvdata(&chip->dev);
 	tpm_chip_unregister(chip);
 	ring_free(priv);
 	dev_set_drvdata(&chip->dev, NULL);
-	return 0;
 }
 
 static int tpmfront_resume(struct xenbus_device *dev)
diff --git a/drivers/gpu/drm/xen/xen_drm_front.c b/drivers/gpu/drm/xen/xen_drm_front.c
index 0d8e6bd1ccbf..90996c108146 100644
--- a/drivers/gpu/drm/xen/xen_drm_front.c
+++ b/drivers/gpu/drm/xen/xen_drm_front.c
@@ -717,7 +717,7 @@ static int xen_drv_probe(struct xenbus_device *xb_dev,
 	return xenbus_switch_state(xb_dev, XenbusStateInitialising);
 }
 
-static int xen_drv_remove(struct xenbus_device *dev)
+static void xen_drv_remove(struct xenbus_device *dev)
 {
 	struct xen_drm_front_info *front_info = dev_get_drvdata(&dev->dev);
 	int to = 100;
@@ -751,7 +751,6 @@ static int xen_drv_remove(struct xenbus_device *dev)
 
 	xen_drm_drv_fini(front_info);
 	xenbus_frontend_closed(dev);
-	return 0;
 }
 
 static const struct xenbus_device_id xen_driver_ids[] = {
diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
index 8d8ebdc2039b..67f1c7364c95 100644
--- a/drivers/input/misc/xen-kbdfront.c
+++ b/drivers/input/misc/xen-kbdfront.c
@@ -51,7 +51,7 @@ module_param_array(ptr_size, int, NULL, 0444);
 MODULE_PARM_DESC(ptr_size,
 	"Pointing device width, height in pixels (default 800,600)");
 
-static int xenkbd_remove(struct xenbus_device *);
+static void xenkbd_remove(struct xenbus_device *);
 static int xenkbd_connect_backend(struct xenbus_device *, struct xenkbd_info *);
 static void xenkbd_disconnect_backend(struct xenkbd_info *);
 
@@ -404,7 +404,7 @@ static int xenkbd_resume(struct xenbus_device *dev)
 	return xenkbd_connect_backend(dev, info);
 }
 
-static int xenkbd_remove(struct xenbus_device *dev)
+static void xenkbd_remove(struct xenbus_device *dev)
 {
 	struct xenkbd_info *info = dev_get_drvdata(&dev->dev);
 
@@ -417,7 +417,6 @@ static int xenkbd_remove(struct xenbus_device *dev)
 		input_unregister_device(info->mtouch);
 	free_page((unsigned long)info->page);
 	kfree(info);
-	return 0;
 }
 
 static int xenkbd_connect_backend(struct xenbus_device *dev,
diff --git a/drivers/net/xen-netback/xenbus.c b/drivers/net/xen-netback/xenbus.c
index c1ba4294f364..001636901dda 100644
--- a/drivers/net/xen-netback/xenbus.c
+++ b/drivers/net/xen-netback/xenbus.c
@@ -977,7 +977,7 @@ static int read_xenbus_vif_flags(struct backend_info *be)
 	return 0;
 }
 
-static int netback_remove(struct xenbus_device *dev)
+static void netback_remove(struct xenbus_device *dev)
 {
 	struct backend_info *be = dev_get_drvdata(&dev->dev);
 
@@ -992,7 +992,6 @@ static int netback_remove(struct xenbus_device *dev)
 	kfree(be->hotplug_script);
 	kfree(be);
 	dev_set_drvdata(&dev->dev, NULL);
-	return 0;
 }
 
 /*
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
index 9af2b027c19c..bc17f5391b1a 100644
--- a/drivers/net/xen-netfront.c
+++ b/drivers/net/xen-netfront.c
@@ -2640,7 +2640,7 @@ static void xennet_bus_close(struct xenbus_device *dev)
 	} while (!ret);
 }
 
-static int xennet_remove(struct xenbus_device *dev)
+static void xennet_remove(struct xenbus_device *dev)
 {
 	struct netfront_info *info = dev_get_drvdata(&dev->dev);
 
@@ -2656,8 +2656,6 @@ static int xennet_remove(struct xenbus_device *dev)
 		rtnl_unlock();
 	}
 	xennet_free_netdev(info->netdev);
-
-	return 0;
 }
 
 static const struct xenbus_device_id netfront_ids[] = {
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index 7378e2f3e525..fcd029ca2eb1 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -1055,14 +1055,12 @@ static int pcifront_xenbus_probe(struct xenbus_device *xdev,
 	return err;
 }
 
-static int pcifront_xenbus_remove(struct xenbus_device *xdev)
+static void pcifront_xenbus_remove(struct xenbus_device *xdev)
 {
 	struct pcifront_device *pdev = dev_get_drvdata(&xdev->dev);
 
 	if (pdev)
 		free_pdev(pdev);
-
-	return 0;
 }
 
 static const struct xenbus_device_id xenpci_ids[] = {
diff --git a/drivers/scsi/xen-scsifront.c b/drivers/scsi/xen-scsifront.c
index 66b316d173b0..71a3bb83984c 100644
--- a/drivers/scsi/xen-scsifront.c
+++ b/drivers/scsi/xen-scsifront.c
@@ -995,7 +995,7 @@ static int scsifront_suspend(struct xenbus_device *dev)
 	return err;
 }
 
-static int scsifront_remove(struct xenbus_device *dev)
+static void scsifront_remove(struct xenbus_device *dev)
 {
 	struct vscsifrnt_info *info = dev_get_drvdata(&dev->dev);
 
@@ -1011,8 +1011,6 @@ static int scsifront_remove(struct xenbus_device *dev)
 
 	scsifront_free_ring(info);
 	scsi_host_put(info->host);
-
-	return 0;
 }
 
 static void scsifront_disconnect(struct vscsifrnt_info *info)
diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
index 7c23112dc923..c879f922c716 100644
--- a/drivers/tty/hvc/hvc_xen.c
+++ b/drivers/tty/hvc/hvc_xen.c
@@ -394,9 +394,9 @@ static int xen_console_remove(struct xencons_info *info)
 	return 0;
 }
 
-static int xencons_remove(struct xenbus_device *dev)
+static void xencons_remove(struct xenbus_device *dev)
 {
-	return xen_console_remove(dev_get_drvdata(&dev->dev));
+	xen_console_remove(dev_get_drvdata(&dev->dev));
 }
 
 static int xencons_connect_backend(struct xenbus_device *dev,
diff --git a/drivers/usb/host/xen-hcd.c b/drivers/usb/host/xen-hcd.c
index de1b09158318..46fdab940092 100644
--- a/drivers/usb/host/xen-hcd.c
+++ b/drivers/usb/host/xen-hcd.c
@@ -1530,15 +1530,13 @@ static void xenhcd_backend_changed(struct xenbus_device *dev,
 	}
 }
 
-static int xenhcd_remove(struct xenbus_device *dev)
+static void xenhcd_remove(struct xenbus_device *dev)
 {
 	struct xenhcd_info *info = dev_get_drvdata(&dev->dev);
 	struct usb_hcd *hcd = xenhcd_info_to_hcd(info);
 
 	xenhcd_destroy_rings(info);
 	usb_put_hcd(hcd);
-
-	return 0;
 }
 
 static int xenhcd_probe(struct xenbus_device *dev,
diff --git a/drivers/video/fbdev/xen-fbfront.c b/drivers/video/fbdev/xen-fbfront.c
index 4d2694d904aa..ae8a50ecdbd3 100644
--- a/drivers/video/fbdev/xen-fbfront.c
+++ b/drivers/video/fbdev/xen-fbfront.c
@@ -67,7 +67,7 @@ MODULE_PARM_DESC(video,
 	"Video memory size in MB, width, height in pixels (default 2,800,600)");
 
 static void xenfb_make_preferred_console(void);
-static int xenfb_remove(struct xenbus_device *);
+static void xenfb_remove(struct xenbus_device *);
 static void xenfb_init_shared_page(struct xenfb_info *, struct fb_info *);
 static int xenfb_connect_backend(struct xenbus_device *, struct xenfb_info *);
 static void xenfb_disconnect_backend(struct xenfb_info *);
@@ -527,7 +527,7 @@ static int xenfb_resume(struct xenbus_device *dev)
 	return xenfb_connect_backend(dev, info);
 }
 
-static int xenfb_remove(struct xenbus_device *dev)
+static void xenfb_remove(struct xenbus_device *dev)
 {
 	struct xenfb_info *info = dev_get_drvdata(&dev->dev);
 
@@ -542,8 +542,6 @@ static int xenfb_remove(struct xenbus_device *dev)
 	vfree(info->gfns);
 	vfree(info->fb);
 	kfree(info);
-
-	return 0;
 }
 
 static unsigned long vmalloc_to_gfn(void *address)
diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c
index d6f945fd4147..ea52a2092bb8 100644
--- a/drivers/xen/pvcalls-back.c
+++ b/drivers/xen/pvcalls-back.c
@@ -1181,9 +1181,8 @@ static void pvcalls_back_changed(struct xenbus_device *dev,
 	}
 }
 
-static int pvcalls_back_remove(struct xenbus_device *dev)
+static void pvcalls_back_remove(struct xenbus_device *dev)
 {
-	return 0;
 }
 
 static int pvcalls_back_uevent(struct xenbus_device *xdev,
diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c
index 1826e8e67125..5328f4d35f25 100644
--- a/drivers/xen/pvcalls-front.c
+++ b/drivers/xen/pvcalls-front.c
@@ -1085,7 +1085,7 @@ static const struct xenbus_device_id pvcalls_front_ids[] = {
 	{ "" }
 };
 
-static int pvcalls_front_remove(struct xenbus_device *dev)
+static void pvcalls_front_remove(struct xenbus_device *dev)
 {
 	struct pvcalls_bedata *bedata;
 	struct sock_mapping *map = NULL, *n;
@@ -1121,7 +1121,6 @@ static int pvcalls_front_remove(struct xenbus_device *dev)
 	kfree(bedata->ring.sring);
 	kfree(bedata);
 	xenbus_switch_state(dev, XenbusStateClosed);
-	return 0;
 }
 
 static int pvcalls_front_probe(struct xenbus_device *dev,
diff --git a/drivers/xen/xen-pciback/xenbus.c b/drivers/xen/xen-pciback/xenbus.c
index d171091eec12..b11e401f1b1e 100644
--- a/drivers/xen/xen-pciback/xenbus.c
+++ b/drivers/xen/xen-pciback/xenbus.c
@@ -716,14 +716,12 @@ static int xen_pcibk_xenbus_probe(struct xenbus_device *dev,
 	return err;
 }
 
-static int xen_pcibk_xenbus_remove(struct xenbus_device *dev)
+static void xen_pcibk_xenbus_remove(struct xenbus_device *dev)
 {
 	struct xen_pcibk_device *pdev = dev_get_drvdata(&dev->dev);
 
 	if (pdev != NULL)
 		free_pdev(pdev);
-
-	return 0;
 }
 
 static const struct xenbus_device_id xen_pcibk_ids[] = {
diff --git a/drivers/xen/xen-scsiback.c b/drivers/xen/xen-scsiback.c
index 6106ed93817d..954188b0b858 100644
--- a/drivers/xen/xen-scsiback.c
+++ b/drivers/xen/xen-scsiback.c
@@ -1249,7 +1249,7 @@ static void scsiback_release_translation_entry(struct vscsibk_info *info)
 	spin_unlock_irqrestore(&info->v2p_lock, flags);
 }
 
-static int scsiback_remove(struct xenbus_device *dev)
+static void scsiback_remove(struct xenbus_device *dev)
 {
 	struct vscsibk_info *info = dev_get_drvdata(&dev->dev);
 
@@ -1261,8 +1261,6 @@ static int scsiback_remove(struct xenbus_device *dev)
 	gnttab_page_cache_shrink(&info->free_pages, 0);
 
 	dev_set_drvdata(&dev->dev, NULL);
-
-	return 0;
 }
 
 static int scsiback_probe(struct xenbus_device *dev,
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h
index eaa932b99d8a..ad4fb4eab753 100644
--- a/include/xen/xenbus.h
+++ b/include/xen/xenbus.h
@@ -117,7 +117,7 @@ struct xenbus_driver {
 		     const struct xenbus_device_id *id);
 	void (*otherend_changed)(struct xenbus_device *dev,
 				 enum xenbus_state backend_state);
-	int (*remove)(struct xenbus_device *dev);
+	void (*remove)(struct xenbus_device *dev);
 	int (*suspend)(struct xenbus_device *dev);
 	int (*resume)(struct xenbus_device *dev);
 	int (*uevent)(struct xenbus_device *, struct kobj_uevent_env *);
diff --git a/net/9p/trans_xen.c b/net/9p/trans_xen.c
index aaa5fd364691..9950e1a5acb7 100644
--- a/net/9p/trans_xen.c
+++ b/net/9p/trans_xen.c
@@ -303,13 +303,12 @@ static void xen_9pfs_front_free(struct xen_9pfs_front_priv *priv)
 	kfree(priv);
 }
 
-static int xen_9pfs_front_remove(struct xenbus_device *dev)
+static void xen_9pfs_front_remove(struct xenbus_device *dev)
 {
 	struct xen_9pfs_front_priv *priv = dev_get_drvdata(&dev->dev);
 
 	dev_set_drvdata(&dev->dev, NULL);
 	xen_9pfs_front_free(priv);
-	return 0;
 }
 
 static int xen_9pfs_front_alloc_dataring(struct xenbus_device *dev,
diff --git a/sound/xen/xen_snd_front.c b/sound/xen/xen_snd_front.c
index 4041748c12e5..b66e037710d0 100644
--- a/sound/xen/xen_snd_front.c
+++ b/sound/xen/xen_snd_front.c
@@ -311,7 +311,7 @@ static int xen_drv_probe(struct xenbus_device *xb_dev,
 	return xenbus_switch_state(xb_dev, XenbusStateInitialising);
 }
 
-static int xen_drv_remove(struct xenbus_device *dev)
+static void xen_drv_remove(struct xenbus_device *dev)
 {
 	struct xen_snd_front_info *front_info = dev_get_drvdata(&dev->dev);
 	int to = 100;
@@ -345,7 +345,6 @@ static int xen_drv_remove(struct xenbus_device *dev)
 
 	xen_snd_drv_fini(front_info);
 	xenbus_frontend_closed(dev);
-	return 0;
 }
 
 static const struct xenbus_device_id xen_drv_ids[] = {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:00:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:00:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460722.718693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57iC-0001uU-Nd; Tue, 13 Dec 2022 16:00:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460722.718693; Tue, 13 Dec 2022 16:00:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57iC-0001uN-KY; Tue, 13 Dec 2022 16:00:56 +0000
Received: by outflank-mailman (input) for mailman id 460722;
 Tue, 13 Dec 2022 16:00:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57iA-0001ta-Ri
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:00:54 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5254fc0c-7aff-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:00:53 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 65DF21FDB7;
 Tue, 13 Dec 2022 16:00:53 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 376CC138EE;
 Tue, 13 Dec 2022 16:00:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id vs9JDLWhmGNiKQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:00:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5254fc0c-7aff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947253; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=UkdcCX4m0Tzxnb/7Dfls6s6w+LujAbSreSJEwDPanj0=;
	b=IlK4JJwK4Ol4674YisO8TvDrZMlzBcZIAIcn0KpsnNdssMRVdyHAoQJuXox3ENeBFZqa+a
	3JxcslbFx6ZJKrIBmme5fI9LQokJChudSd2eOSMBxIk3s1CCFA+7un9oPb5NY95D5PNyMA
	O6CPxsSK9T9U3y4YqCeXci9JadPQvls=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 01/19] tools/xenstore: let talloc_free() preserve errno
Date: Tue, 13 Dec 2022 17:00:27 +0100
Message-Id: <20221213160045.28170-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today talloc_free() is not guaranteed to preserve errno, especially in
case a custom destructor is being used.

Change that by renaming talloc_free() to _talloc_free() in talloc.c and
adding a wrapper to talloc.c.

This allows to remove some errno saving outside of talloc.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- drop wrapper (Julien Grall)
---
 tools/xenstore/talloc.c         | 21 +++++++++++++--------
 tools/xenstore/xenstored_core.c |  2 --
 2 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/tools/xenstore/talloc.c b/tools/xenstore/talloc.c
index d7edcf3a93..23c3a23b19 100644
--- a/tools/xenstore/talloc.c
+++ b/tools/xenstore/talloc.c
@@ -541,38 +541,39 @@ static void talloc_free_children(void *ptr)
 */
 int talloc_free(void *ptr)
 {
+	int saved_errno = errno;
 	struct talloc_chunk *tc;
 
 	if (ptr == NULL) {
-		return -1;
+		goto err;
 	}
 
 	tc = talloc_chunk_from_ptr(ptr);
 
 	if (tc->null_refs) {
 		tc->null_refs--;
-		return -1;
+		goto err;
 	}
 
 	if (tc->refs) {
 		talloc_reference_destructor(tc->refs);
-		return -1;
+		goto err;
 	}
 
 	if (tc->flags & TALLOC_FLAG_LOOP) {
 		/* we have a free loop - stop looping */
-		return 0;
+		goto success;
 	}
 
 	if (tc->destructor) {
 		talloc_destructor_t d = tc->destructor;
 		if (d == (talloc_destructor_t)-1) {
-			return -1;
+			goto err;
 		}
 		tc->destructor = (talloc_destructor_t)-1;
 		if (d(ptr) == -1) {
 			tc->destructor = d;
-			return -1;
+			goto err;
 		}
 		tc->destructor = NULL;
 	}
@@ -594,10 +595,14 @@ int talloc_free(void *ptr)
 	tc->flags |= TALLOC_FLAG_FREE;
 
 	free(tc);
+ success:
+	errno = saved_errno;
 	return 0;
-}
-
 
+ err:
+	errno = saved_errno;
+	return -1;
+}
 
 /*
   A talloc version of realloc. The context argument is only used if
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 476d5c6d51..5a174b9881 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -771,9 +771,7 @@ struct node *read_node(struct connection *conn, const void *ctx,
 	return node;
 
  error:
-	err = errno;
 	talloc_free(node);
-	errno = err;
 	return NULL;
 }
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:00:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:00:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460721.718682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57i7-0001e6-Fe; Tue, 13 Dec 2022 16:00:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460721.718682; Tue, 13 Dec 2022 16:00:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57i7-0001dz-D1; Tue, 13 Dec 2022 16:00:51 +0000
Received: by outflank-mailman (input) for mailman id 460721;
 Tue, 13 Dec 2022 16:00:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57i5-0001dt-MT
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:00:49 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4f171b34-7aff-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 17:00:48 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id CC7CF229CF;
 Tue, 13 Dec 2022 16:00:47 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 89475138EE;
 Tue, 13 Dec 2022 16:00:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Tm8tIK+hmGNMKQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:00:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f171b34-7aff-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947247; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=LeNFgbvb0DVGs4PJBV5NvbNyxzLEE2RrqXxEx521iMk=;
	b=QT9nsQw4DPKeyAx/SSETsMlnbhpUCqVFh0xtdizNH+7qrw1mDuLHniAtmzpU6TZXjICWxx
	y3JZ3ET5vz0v89Q6oCe8p9nlrtvv9OUmmbvIR181yAsoFPnBWBoQSJgc3m6bzq4P5GjaHR
	EFhg37X8Db5nry4+HVIaT5N7MpvtSV8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 00/19] tools/xenstore: do some cleanup and fixes
Date: Tue, 13 Dec 2022 17:00:26 +0100
Message-Id: <20221213160045.28170-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is a first run of post-XSA patches which piled up during the
development phase of all the recent Xenstore related XSA patches.

At least the first 5 patches are completely independent from each
other. After those the dependencies are starting to be more complex.

This is a mixture of small fixes, enhancements and cleanups.

Changes in V2:
- patches 1+2 of V1 have been applied already
- addressed comments
- new patch 19

Juergen Gross (19):
  tools/xenstore: let talloc_free() preserve errno
  tools/xenstore: let tdb_logger() preserve errno
  tools/xenstore: preserve errno across corrupt()
  tools/xenstore: remove all watches when a domain has stopped
  tools/xenstore: enhance hashtable implementation
  tools/xenstore: add hashlist for finding struct domain by domid
  tools/xenstore: introduce dummy nodes for special watch paths
  tools/xenstore: replace watch->relative_path with a prefix length
  tools/xenstore: move changed domain handling
  tools/xenstore: change per-domain node accounting interface
  tools/xenstore: don't allow creating too many nodes in a transaction
  tools/xenstore: replace literal domid 0 with dom0_domid
  tools/xenstore: make domain_is_unprivileged() an inline function
  tools/xenstore: let chk_domain_generation() return a bool
  tools/xenstore: switch hashtable to use the talloc framework
  tools/xenstore: make log macro globally available
  tools/xenstore: introduce trace classes
  tools/xenstore: let check_store() check the accounting data
  tools/xenstore: make output of "xenstore-control help" more pretty

 docs/misc/xenstore.txt                 |  10 +-
 tools/xenstore/hashtable.c             | 134 +++---
 tools/xenstore/hashtable.h             |  38 +-
 tools/xenstore/talloc.c                |  21 +-
 tools/xenstore/xenstored_control.c     |  36 +-
 tools/xenstore/xenstored_core.c        | 259 +++++++----
 tools/xenstore/xenstored_core.h        |  31 ++
 tools/xenstore/xenstored_domain.c      | 609 +++++++++++++------------
 tools/xenstore/xenstored_domain.h      |  21 +-
 tools/xenstore/xenstored_transaction.c |  76 +--
 tools/xenstore/xenstored_transaction.h |   7 +-
 tools/xenstore/xenstored_watch.c       |  44 +-
 12 files changed, 707 insertions(+), 579 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:01:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:01:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460723.718704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57iH-0002DQ-6K; Tue, 13 Dec 2022 16:01:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460723.718704; Tue, 13 Dec 2022 16:01:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57iH-0002DJ-3H; Tue, 13 Dec 2022 16:01:01 +0000
Received: by outflank-mailman (input) for mailman id 460723;
 Tue, 13 Dec 2022 16:01:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57iG-0001ta-32
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:01:00 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 55b84f6f-7aff-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:00:59 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0487622A1E;
 Tue, 13 Dec 2022 16:00:59 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id CC2D1138EE;
 Tue, 13 Dec 2022 16:00:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 6EmZMLqhmGNvKQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:00:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55b84f6f-7aff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947259; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=IYyxVkScp9Y7u/oG4opchX0eSNjJmBkYlufg+dfmLdE=;
	b=CexiKLaWiHw5fmoZEGl+11vnfDxFaZ+lSpvXDUaIgn2C2liNnO6jOONuw/76WNq9Nq8u3b
	+SAI6jN0jXBlPJ0PAo2ndAL5wf0AhdLmhiipqQO+ckIV5tCFfj2pojaq8pf9sprKyACzQy
	zZM3WMAs8vQT6gVhwgzlGZ2yg2FS3LE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 02/19] tools/xenstore: let tdb_logger() preserve errno
Date: Tue, 13 Dec 2022 17:00:28 +0100
Message-Id: <20221213160045.28170-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

tdb_logger() is called by TDB for logging errors. As errno is checked
often after doing the logging, tdb_logger() should preserve errno.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstore/xenstored_core.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 5a174b9881..d48208ecfe 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2345,6 +2345,7 @@ static void tdb_logger(TDB_CONTEXT *tdb, int level, const char * fmt, ...)
 {
 	va_list ap;
 	char *s;
+	int saved_errno = errno;
 
 	va_start(ap, fmt);
 	s = talloc_vasprintf(NULL, fmt, ap);
@@ -2360,6 +2361,8 @@ static void tdb_logger(TDB_CONTEXT *tdb, int level, const char * fmt, ...)
 		trace("talloc failure during logging\n");
 		syslog(LOG_ERR, "talloc failure during logging\n");
 	}
+
+	errno = saved_errno;
 }
 
 void setup_structure(bool live_update)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:01:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:01:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460724.718715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57iM-0002XG-FQ; Tue, 13 Dec 2022 16:01:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460724.718715; Tue, 13 Dec 2022 16:01:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57iM-0002X9-Ba; Tue, 13 Dec 2022 16:01:06 +0000
Received: by outflank-mailman (input) for mailman id 460724;
 Tue, 13 Dec 2022 16:01:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57iL-0001dt-Er
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:01:05 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59050102-7aff-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 17:01:04 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A4B97229F7;
 Tue, 13 Dec 2022 16:01:04 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 667AA138EE;
 Tue, 13 Dec 2022 16:01:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id O354F8ChmGN/KQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:01:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59050102-7aff-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947264; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=dpNYpi1fxBC/eShrKdLUi9ljmxvtfrqIkoCQUMZbd3o=;
	b=PhusaDShad9p4mo6QMQs+X6+BxpEW3T6WJFICeyxj/WHkXwDW5EatTLBM2mtatHw/YxuDp
	sjeYoj6De02s3kqqmY5/p84I+vOCMRdhciyYMRDPI3vfqPhR1LWhu/pFtKxUVvg5jf+DEF
	03uQFTK/bKnl09XDDW8wBetKjY/rg7w=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 03/19] tools/xenstore: preserve errno across corrupt()
Date: Tue, 13 Dec 2022 17:00:29 +0100
Message-Id: <20221213160045.28170-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Let corrupt() preserve errno in order to be able to simplify error
handling in future.

This is rather easy as the errno value when entering corrupt() is
saved already.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstore/xenstored_core.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index d48208ecfe..8c2cca62b7 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2549,6 +2549,8 @@ void corrupt(struct connection *conn, const char *fmt, ...)
 	talloc_free(str);
 
 	check_store();
+
+	errno = saved_errno;
 }
 
 #ifndef NO_SOCKETS
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:01:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:01:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460728.718726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57iT-000301-Nx; Tue, 13 Dec 2022 16:01:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460728.718726; Tue, 13 Dec 2022 16:01:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57iT-0002zr-L2; Tue, 13 Dec 2022 16:01:13 +0000
Received: by outflank-mailman (input) for mailman id 460728;
 Tue, 13 Dec 2022 16:01:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57iR-0001ta-M4
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:01:11 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c5dd08d-7aff-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:01:10 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3D78621AEB;
 Tue, 13 Dec 2022 16:01:10 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 126DF138EE;
 Tue, 13 Dec 2022 16:01:10 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id dnYyA8ahmGOTKQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:01:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c5dd08d-7aff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947270; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=ryi6cpb7BKe6PnGwXvBdTnm0HFWHWSERp75CSqVgKRY=;
	b=j7OBQOE0S7Myf69+kqS9ueBkolTn5whgOPeiQNe8+KXYEyqdUdNbEBVOPQ1yDgB+JjPlwG
	wyxeHYqw4J/+XJgPWY2mfJ8Ab5dPQjQSi5eO1pOaG09q/jB3Fg2+W3gTle9khzNlAmQXxL
	XAXtfFtQOwfZz39ma5OE4iAWBB7M2zg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 04/19] tools/xenstore: remove all watches when a domain has stopped
Date: Tue, 13 Dec 2022 17:00:30 +0100
Message-Id: <20221213160045.28170-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When a domain has been released by Xen tools, remove all its
registered watches. This avoids sending watch events to the dead domain
when all the nodes related to it are being removed by the Xen tools.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- move call to do_release() (Julien Grall)
---
 tools/xenstore/xenstored_domain.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index aa86892fed..e669c89e94 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -740,6 +740,9 @@ int do_release(const void *ctx, struct connection *conn,
 	if (IS_ERR(domain))
 		return -PTR_ERR(domain);
 
+	/* Avoid triggering watch events when the domain's nodes are deleted. */
+	conn_delete_all_watches(domain->conn);
+
 	talloc_free(domain->conn);
 
 	send_ack(conn, XS_RELEASE);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:01:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:01:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460738.718737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57iY-0003PT-4F; Tue, 13 Dec 2022 16:01:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460738.718737; Tue, 13 Dec 2022 16:01:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57iX-0003PK-Vc; Tue, 13 Dec 2022 16:01:17 +0000
Received: by outflank-mailman (input) for mailman id 460738;
 Tue, 13 Dec 2022 16:01:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57iX-0001ta-2t
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:01:17 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5fb2cfc3-7aff-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:01:16 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id CCB881FDAB;
 Tue, 13 Dec 2022 16:01:15 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9B29F138EE;
 Tue, 13 Dec 2022 16:01:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id fUujJMuhmGOqKQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:01:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5fb2cfc3-7aff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947275; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=1UptZp8ROkSilFG4tYMMbyMYYtc6wOlksuu4FVRkdJc=;
	b=S3zy+L0C34e7+ma26sn5nOxhXTJO8ZBhTTchLaa7GCfFstMmofecEK6w6uo81hxD7NiLDM
	lBpEy5/OatcKh7znQwn4NWgELqX4t2qZ9xKwK/7kXw6+tNHM6J/Z8jpCsyzsGPkTxLkcq5
	KxVN/JbwlNgBXSwnDuKj6B1dYDQBpsU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 05/19] tools/xenstore: enhance hashtable implementation
Date: Tue, 13 Dec 2022 17:00:31 +0100
Message-Id: <20221213160045.28170-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today it is possible to set a flag when calling hashtable_destroy() in
order to specify whether the data associated with the hashtable entries
should be freed or not. The keys of the entries will always be freed.

Change that by replacing the flag of hashtable_destroy() by two flags
for create_hashtable() which will specify whether the data and/or the
key of each entry should be freed or not.

This will enable users to have the key e.g. as part of the data.

Add a new function hashtable_iterate() to call a user specified
function for each entry in the hashtable.

Add new primes to the primetable in order to support smaller sizes of
the hashtable. The primes are selected according to:

https://planetmath.org/goodhashtableprimes

Update the URL in the source as the old one wasn't correct any longer.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
V2:
- add const to hashtable_iterate() callback (Julien Grall)
---
 tools/xenstore/hashtable.c      | 66 +++++++++++++++++++++++----------
 tools/xenstore/hashtable.h      | 35 +++++++++++++++--
 tools/xenstore/xenstored_core.c |  7 ++--
 3 files changed, 82 insertions(+), 26 deletions(-)

diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c
index 6ac336eff1..299549c51e 100644
--- a/tools/xenstore/hashtable.c
+++ b/tools/xenstore/hashtable.c
@@ -16,6 +16,7 @@ struct entry
 
 struct hashtable {
     unsigned int tablelength;
+    unsigned int flags;
     struct entry **table;
     unsigned int entrycount;
     unsigned int loadlimit;
@@ -25,12 +26,11 @@ struct hashtable {
 };
 
 /*
-Credit for primes table: Aaron Krowne
- http://br.endernet.org/~akrowne/
- http://planetmath.org/encyclopedia/GoodHashTablePrimes.html
-*/
+ * Credit for primes table: Aaron Krowne
+ * https://planetmath.org/goodhashtableprimes
+ */
 static const unsigned int primes[] = {
-53, 97, 193, 389,
+11, 23, 53, 97, 193, 389,
 769, 1543, 3079, 6151,
 12289, 24593, 49157, 98317,
 196613, 393241, 786433, 1572869,
@@ -52,7 +52,8 @@ indexFor(unsigned int tablelength, unsigned int hashvalue) {
 struct hashtable *
 create_hashtable(unsigned int minsize,
                  unsigned int (*hashf) (void*),
-                 int (*eqf) (void*,void*))
+                 int (*eqf) (void*,void*),
+                 unsigned int flags)
 {
     struct hashtable *h;
     unsigned int pindex, size = primes[0];
@@ -73,6 +74,7 @@ create_hashtable(unsigned int minsize,
         goto err1;
 
     h->tablelength  = size;
+    h->flags        = flags;
     h->primeindex   = pindex;
     h->entrycount   = 0;
     h->hashfn       = hashf;
@@ -235,7 +237,8 @@ hashtable_remove(struct hashtable *h, void *k)
             *pE = e->next;
             h->entrycount--;
             v = e->v;
-            free(e->k);
+            if (h->flags & HASHTABLE_FREE_KEY)
+                free(e->k);
             free(e);
             return v;
         }
@@ -246,29 +249,52 @@ hashtable_remove(struct hashtable *h, void *k)
 }
 
 /*****************************************************************************/
-/* destroy */
-void
-hashtable_destroy(struct hashtable *h, int free_values)
+int
+hashtable_iterate(struct hashtable *h,
+                  int (*func)(const void *k, void *v, void *arg), void *arg)
 {
+    int ret;
     unsigned int i;
     struct entry *e, *f;
     struct entry **table = h->table;
-    if (free_values)
+
+    for (i = 0; i < h->tablelength; i++)
     {
-        for (i = 0; i < h->tablelength; i++)
+        e = table[i];
+        while (e)
         {
-            e = table[i];
-            while (NULL != e)
-            { f = e; e = e->next; free(f->k); free(f->v); free(f); }
+            f = e;
+            e = e->next;
+            ret = func(f->k, f->v, arg);
+            if (ret)
+                return ret;
         }
     }
-    else
+
+    return 0;
+}
+
+/*****************************************************************************/
+/* destroy */
+void
+hashtable_destroy(struct hashtable *h)
+{
+    unsigned int i;
+    struct entry *e, *f;
+    struct entry **table = h->table;
+
+    for (i = 0; i < h->tablelength; i++)
     {
-        for (i = 0; i < h->tablelength; i++)
+        e = table[i];
+        while (NULL != e)
         {
-            e = table[i];
-            while (NULL != e)
-            { f = e; e = e->next; free(f->k); free(f); }
+            f = e;
+            e = e->next;
+            if (h->flags & HASHTABLE_FREE_KEY)
+                free(f->k);
+            if (h->flags & HASHTABLE_FREE_VALUE)
+                free(f->v);
+            free(f);
         }
     }
     free(h->table);
diff --git a/tools/xenstore/hashtable.h b/tools/xenstore/hashtable.h
index 62fef6081a..6d65431f96 100644
--- a/tools/xenstore/hashtable.h
+++ b/tools/xenstore/hashtable.h
@@ -12,13 +12,21 @@ struct hashtable;
  * @param   minsize         minimum initial size of hashtable
  * @param   hashfunction    function for hashing keys
  * @param   key_eq_fn       function for determining key equality
+ * @param   flags           flags HASHTABLE_*
  * @return                  newly created hashtable or NULL on failure
  */
 
+/* Let hashtable_destroy() free the entries' values. */
+#define HASHTABLE_FREE_VALUE (1U << 0)
+/* Let hashtable_remove() and hashtable_destroy() free the entries' keys. */
+#define HASHTABLE_FREE_KEY   (1U << 1)
+
 struct hashtable *
 create_hashtable(unsigned int minsize,
                  unsigned int (*hashfunction) (void*),
-                 int (*key_eq_fn) (void*,void*));
+                 int (*key_eq_fn) (void*,void*),
+                 unsigned int flags
+);
 
 /*****************************************************************************
  * hashtable_insert
@@ -76,16 +84,37 @@ hashtable_remove(struct hashtable *h, void *k);
 unsigned int
 hashtable_count(struct hashtable *h);
 
+/*****************************************************************************
+ * hashtable_iterate
+
+ * @name           hashtable_iterate
+ * @param   h      the hashtable
+ * @param   func   function to call for each entry
+ * @param   arg    user supplied parameter for func
+ * @return         0 if okay, non-zero return value of func (and iteration
+ *                 was aborted)
+ *
+ * Iterates over all entries in the hashtable and calls func with the
+ * key, value, and the user supplied parameter.
+ * func returning a non-zero value will abort the iteration. In case func is
+ * removing an entry other than itself from the hashtable, it must return a
+ * non-zero value in order to abort the iteration. Inserting entries is
+ * allowed, but it is undefined whether func will be called for those new
+ * entries during this iteration.
+ */
+int
+hashtable_iterate(struct hashtable *h,
+                  int (*func)(const void *k, void *v, void *arg), void *arg);
+
 /*****************************************************************************
  * hashtable_destroy
    
  * @name        hashtable_destroy
  * @param   h   the hashtable
- * @param       free_values     whether to call 'free' on the remaining values
  */
 
 void
-hashtable_destroy(struct hashtable *h, int free_values);
+hashtable_destroy(struct hashtable *h);
 
 #endif /* __HASHTABLE_CWC22_H__ */
 
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 8c2cca62b7..1650821922 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2512,7 +2512,9 @@ void check_store(void)
 		.enoent = check_store_enoent,
 	};
 
-	reachable = create_hashtable(16, hash_from_key_fn, keys_equal_fn);
+	/* Don't free values (they are all void *1) */
+	reachable = create_hashtable(16, hash_from_key_fn, keys_equal_fn,
+				     HASHTABLE_FREE_KEY);
 	if (!reachable) {
 		log("check_store: ENOMEM");
 		return;
@@ -2526,8 +2528,7 @@ void check_store(void)
 		clean_store(reachable);
 	log("Checking store complete.");
 
-	hashtable_destroy(reachable, 0 /* Don't free values (they are all
-					  (void *)1) */);
+	hashtable_destroy(reachable);
 }
 
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460762.718764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mC-0005Y0-FJ; Tue, 13 Dec 2022 16:05:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460762.718764; Tue, 13 Dec 2022 16:05:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mC-0005Xh-7i; Tue, 13 Dec 2022 16:05:04 +0000
Received: by outflank-mailman (input) for mailman id 460762;
 Tue, 13 Dec 2022 16:05:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57ic-0001ta-IL
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:01:22 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 630383cb-7aff-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:01:21 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 6346D22087;
 Tue, 13 Dec 2022 16:01:21 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 37D3A138EE;
 Tue, 13 Dec 2022 16:01:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id xqFWDNGhmGO0KQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:01:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 630383cb-7aff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947281; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=/yMggqf7XCSTmCxwrfXIT/H70kRm49+PbV95j/KSC7I=;
	b=eJTnmfVHa+Fe9VBT/jLUCFwiGUCSo2tGv5qe/2No3kcPkxN/9758h+w4QUV01yyazPe3PF
	8l6B03c4QB08rVTiyoMKANlnRxi9B1S7RTZyMb4K2fYhsAWpmRqC0KNrN3RCPkWHTnZoO7
	j66dojP344oQO/SeKeJu2Q2DI7wqMrE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 06/19] tools/xenstore: add hashlist for finding struct domain by domid
Date: Tue, 13 Dec 2022 17:00:32 +0100
Message-Id: <20221213160045.28170-7-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today finding a struct domain by its domain id requires to scan the
list of domains until finding the correct domid.

Add a hashlist for being able to speed this up. This allows to remove
the linking of struct domain in a list. Note that the list of changed
domains per transaction is kept as a list, as there are no known use
cases with more than 4 domains being touched in a single transaction
(this would be a device handled by a driver domain and being assigned
to a HVM domain with device model in a stubdom, plus the control
domain).

Some simple performance tests comparing the scanning and hashlist have
shown that the hashlist will win as soon as more than 6 entries need
to be scanned.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- add comment, fix return value of check_domain() (Julien Grall)
---
 tools/xenstore/xenstored_domain.c | 102 ++++++++++++++++++------------
 1 file changed, 60 insertions(+), 42 deletions(-)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index e669c89e94..3ad1028edb 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -48,8 +48,6 @@ static struct node_perms dom_introduce_perms;
 
 struct domain
 {
-	struct list_head list;
-
 	/* The id of this domain */
 	unsigned int domid;
 
@@ -96,7 +94,7 @@ struct domain
 	bool wrl_delay_logged;
 };
 
-static LIST_HEAD(domains);
+static struct hashtable *domhash;
 
 static bool check_indexes(XENSTORE_RING_IDX cons, XENSTORE_RING_IDX prod)
 {
@@ -309,7 +307,7 @@ static int destroy_domain(void *_domain)
 
 	domain_tree_remove(domain);
 
-	list_del(&domain->list);
+	hashtable_remove(domhash, &domain->domid);
 
 	if (!domain->introduced)
 		return 0;
@@ -341,43 +339,50 @@ static bool get_domain_info(unsigned int domid, xc_dominfo_t *dominfo)
 	       dominfo->domid == domid;
 }
 
-void check_domains(void)
+static int check_domain(const void *k, void *v, void *arg)
 {
 	xc_dominfo_t dominfo;
-	struct domain *domain;
 	struct connection *conn;
-	int notify = 0;
 	bool dom_valid;
+	struct domain *domain = v;
+	bool *notify = arg;
 
- again:
-	list_for_each_entry(domain, &domains, list) {
-		dom_valid = get_domain_info(domain->domid, &dominfo);
-		if (!domain->introduced) {
-			if (!dom_valid) {
-				talloc_free(domain);
-				goto again;
-			}
-			continue;
-		}
-		if (dom_valid) {
-			if ((dominfo.crashed || dominfo.shutdown)
-			    && !domain->shutdown) {
-				domain->shutdown = true;
-				notify = 1;
-			}
-			if (!dominfo.dying)
-				continue;
-		}
-		if (domain->conn) {
-			/* domain is a talloc child of domain->conn. */
-			conn = domain->conn;
-			domain->conn = NULL;
-			talloc_unlink(talloc_autofree_context(), conn);
-			notify = 0; /* destroy_domain() fires the watch */
-			goto again;
+	dom_valid = get_domain_info(domain->domid, &dominfo);
+	if (!domain->introduced) {
+		if (!dom_valid)
+			talloc_free(domain);
+		return 0;
+	}
+	if (dom_valid) {
+		if ((dominfo.crashed || dominfo.shutdown)
+		    && !domain->shutdown) {
+			domain->shutdown = true;
+			*notify = true;
 		}
+		if (!dominfo.dying)
+			return 0;
+	}
+	if (domain->conn) {
+		/* domain is a talloc child of domain->conn. */
+		conn = domain->conn;
+		domain->conn = NULL;
+		talloc_unlink(talloc_autofree_context(), conn);
+		*notify = false; /* destroy_domain() fires the watch */
+
+		/* Above unlink might result in 2 domains being freed! */
+		return 1;
 	}
 
+	return 0;
+}
+
+void check_domains(void)
+{
+	bool notify = false;
+
+	while (hashtable_iterate(domhash, check_domain, &notify))
+		;
+
 	if (notify)
 		fire_watches(NULL, NULL, "@releaseDomain", NULL, true, NULL);
 }
@@ -415,13 +420,7 @@ static char *talloc_domain_path(const void *context, unsigned int domid)
 
 static struct domain *find_domain_struct(unsigned int domid)
 {
-	struct domain *i;
-
-	list_for_each_entry(i, &domains, list) {
-		if (i->domid == domid)
-			return i;
-	}
-	return NULL;
+	return hashtable_search(domhash, &domid);
 }
 
 int domain_get_quota(const void *ctx, struct connection *conn,
@@ -470,9 +469,13 @@ static struct domain *alloc_domain(const void *context, unsigned int domid)
 	domain->generation = generation;
 	domain->introduced = false;
 
-	talloc_set_destructor(domain, destroy_domain);
+	if (!hashtable_insert(domhash, &domain->domid, domain)) {
+		talloc_free(domain);
+		errno = ENOMEM;
+		return NULL;
+	}
 
-	list_add(&domain->list, &domains);
+	talloc_set_destructor(domain, destroy_domain);
 
 	return domain;
 }
@@ -906,10 +909,25 @@ void dom0_init(void)
 	xenevtchn_notify(xce_handle, dom0->port);
 }
 
+static unsigned int domhash_fn(void *k)
+{
+	return *(unsigned int *)k;
+}
+
+static int domeq_fn(void *key1, void *key2)
+{
+	return *(unsigned int *)key1 == *(unsigned int *)key2;
+}
+
 void domain_init(int evtfd)
 {
 	int rc;
 
+	/* Start with a random rather low domain count for the hashtable. */
+	domhash = create_hashtable(8, domhash_fn, domeq_fn, 0);
+	if (!domhash)
+		barf_perror("Failed to allocate domain hashtable");
+
 	xc_handle = talloc(talloc_autofree_context(), xc_interface*);
 	if (!xc_handle)
 		barf_perror("Failed to allocate domain handle");
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460761.718758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mC-0005Vj-1s; Tue, 13 Dec 2022 16:05:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460761.718758; Tue, 13 Dec 2022 16:05:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mB-0005Va-Ul; Tue, 13 Dec 2022 16:05:03 +0000
Received: by outflank-mailman (input) for mailman id 460761;
 Tue, 13 Dec 2022 16:05:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57j4-0001ta-9X
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:01:50 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 73a6837e-7aff-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:01:49 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 4CFFA1FDAE;
 Tue, 13 Dec 2022 16:01:49 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 21963138EE;
 Tue, 13 Dec 2022 16:01:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id yFLaBu2hmGPyKQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:01:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73a6837e-7aff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947309; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=wTUWj5ykTPwfIHjTYHUnZ+eNs/GAKQHItmGrRO3n/AA=;
	b=cZBHJkGxhDHKy0rtA26FhFzuEEtjsLoow0RmLdDNhELNrYqIz0PFsKDNg/3KCVfIL9kwHX
	8Jptgffyy0XDFRGMV8K5kgQFSBybL93p6YX5KkGqjozgUV6eAGkeYP+OM1vm0EIwSqIj0H
	T+1O0Iz3PqwJ9Whj0J0AbJi7hnogYH8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 11/19] tools/xenstore: don't allow creating too many nodes in a transaction
Date: Tue, 13 Dec 2022 17:00:37 +0100
Message-Id: <20221213160045.28170-12-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The accounting for the number of nodes of a domain in an active
transaction is not working correctly, as it allows to create arbitrary
number of nodes. The transaction will finally fail due to exceeding
the number of nodes quota, but before closing the transaction an
unprivileged guest could cause Xenstore to use a lot of memory.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_domain.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 40b24056c5..1ae79b5b54 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -1118,9 +1118,8 @@ int domain_nbentry_fix(unsigned int domid, int num, bool update)
 
 int domain_nbentry(struct connection *conn)
 {
-	return (domain_is_unprivileged(conn))
-		? conn->domain->nbentry
-		: 0;
+	return domain_is_unprivileged(conn)
+	       ? domain_nbentry_add(conn, conn->id, 0, true) : 0;
 }
 
 static bool domain_chk_quota(struct domain *domain, int mem)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460763.718768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mC-0005fT-Qk; Tue, 13 Dec 2022 16:05:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460763.718768; Tue, 13 Dec 2022 16:05:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mC-0005cr-KI; Tue, 13 Dec 2022 16:05:04 +0000
Received: by outflank-mailman (input) for mailman id 460763;
 Tue, 13 Dec 2022 16:05:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57jF-0001dt-I4
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:02:01 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a4a002e-7aff-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 17:02:00 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 78BAD22A30;
 Tue, 13 Dec 2022 16:02:00 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4B466138EE;
 Tue, 13 Dec 2022 16:02:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id SJ8yEfihmGMPKgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:02:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a4a002e-7aff-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947320; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Rd5kqjg8Itv+7WroyptP0xdbZofMNnnXVQRH2ymCEfM=;
	b=Jmj3sJeVLWVsnC89d6KmWFd/Vbx7iMv7tEjxtIjdVlQMPir7YAzzJQkVRGCdenNiVdxat7
	brDyHtW27NPJZyPB6btr5xu8ThyO5kTbvwNygKCMg749mkY6QlUZRN5Dtn9tbZqdaTFqKc
	JKNd3G1rODkLctwVBBA757OkO2RgBoo=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 13/19] tools/xenstore: make domain_is_unprivileged() an inline function
Date: Tue, 13 Dec 2022 17:00:39 +0100
Message-Id: <20221213160045.28170-14-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

clang 14 is complaining about a NULL dereference for constructs like:

  domain_is_unprivileged(conn) ? conn->in : NULL

as it can't know that domain_is_unprivileged(conn) will return false
if conn is NULL.

Fix that by making domain_is_unprivileged() an inline function (and
related to that domid_is_unprivileged(), too).

In order not having to make struct domain public, use conn->id instead
of conn->domain->domid for the test.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstore/xenstored_core.h   | 10 ++++++++++
 tools/xenstore/xenstored_domain.c | 11 -----------
 tools/xenstore/xenstored_domain.h |  2 --
 3 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 37006d508d..3c4e27d0dd 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -297,6 +297,16 @@ void unmap_xenbus(void *interface);
 
 static inline int xenbus_master_domid(void) { return dom0_domid; }
 
+static inline bool domid_is_unprivileged(unsigned int domid)
+{
+	return domid != dom0_domid && domid != priv_domid;
+}
+
+static inline bool domain_is_unprivileged(const struct connection *conn)
+{
+	return conn && domid_is_unprivileged(conn->id);
+}
+
 /* Return the event channel used by xenbus. */
 evtchn_port_t xenbus_evtchn(void);
 
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 1e9d7545b7..a3ecdb382f 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -406,17 +406,6 @@ void handle_event(void)
 		barf_perror("Failed to write to event fd");
 }
 
-static bool domid_is_unprivileged(unsigned int domid)
-{
-	return domid != dom0_domid && domid != priv_domid;
-}
-
-bool domain_is_unprivileged(struct connection *conn)
-{
-	return conn && conn->domain &&
-	       domid_is_unprivileged(conn->domain->domid);
-}
-
 static char *talloc_domain_path(const void *context, unsigned int domid)
 {
 	return talloc_asprintf(context, "/local/domain/%u", domid);
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index 1e402f2609..22996e2576 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -59,8 +59,6 @@ void ignore_connection(struct connection *conn, unsigned int err);
 /* Returns the implicit path of a connection (only domains have this) */
 const char *get_implicit_path(const struct connection *conn);
 
-bool domain_is_unprivileged(struct connection *conn);
-
 /* Remove node permissions for no longer existing domains. */
 int domain_adjust_node_perms(struct node *node);
 int domain_alloc_permrefs(struct node_perms *perms);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460760.718748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mA-0005E0-LU; Tue, 13 Dec 2022 16:05:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460760.718748; Tue, 13 Dec 2022 16:05:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mA-0005Di-HY; Tue, 13 Dec 2022 16:05:02 +0000
Received: by outflank-mailman (input) for mailman id 460760;
 Tue, 13 Dec 2022 16:05:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57it-0001ta-QV
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:01:39 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6cf98d92-7aff-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:01:38 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 1B3B122432;
 Tue, 13 Dec 2022 16:01:38 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id E6709138EE;
 Tue, 13 Dec 2022 16:01:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id l3MPN+GhmGPcKQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:01:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cf98d92-7aff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947298; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=h+MN9y0bPALr5OCfAt3o0SkRejs7R+oi4BpFIHkof0E=;
	b=bBx7vbo6J24mkGsE+AxDFFc0DkBb7LOu2nRRuV4aslCwXZyHuSzaUM5EiZMvLTmyWBo9pZ
	A5oTnUqsCX15cJIZEPvnGhiFJushGDvLu5uhHsbf/WS/uxRTqOp7hqGdfzzF+oUD59Wymb
	4wUsOmVwfr/BsbSI/0zoMAMFDyFgybA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 09/19] tools/xenstore: move changed domain handling
Date: Tue, 13 Dec 2022 17:00:35 +0100
Message-Id: <20221213160045.28170-10-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move all code related to struct changed_domain from
xenstored_transaction.c to xenstored_domain.c.

This will be needed later in order to simplify the accounting data
updates in cases of errors during a request.

Split the code to have a more generic base framework.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- remove unrelated change (Julien Grall)
---
 tools/xenstore/xenstored_domain.c      | 77 ++++++++++++++++++++++++++
 tools/xenstore/xenstored_domain.h      |  3 +
 tools/xenstore/xenstored_transaction.c | 64 ++-------------------
 3 files changed, 84 insertions(+), 60 deletions(-)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index c881c93d1d..3216119e83 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -91,6 +91,18 @@ struct domain
 	bool wrl_delay_logged;
 };
 
+struct changed_domain
+{
+	/* List of all changed domains. */
+	struct list_head list;
+
+	/* Identifier of the changed domain. */
+	unsigned int domid;
+
+	/* Amount by which this domain's nbentry field has changed. */
+	int nbentry;
+};
+
 static struct hashtable *domhash;
 
 static bool check_indexes(XENSTORE_RING_IDX cons, XENSTORE_RING_IDX prod)
@@ -541,6 +553,71 @@ static struct domain *find_domain_by_domid(unsigned int domid)
 	return (d && d->introduced) ? d : NULL;
 }
 
+int acc_fix_domains(struct list_head *head, bool update)
+{
+	struct changed_domain *cd;
+	int cnt;
+
+	list_for_each_entry(cd, head, list) {
+		cnt = domain_entry_fix(cd->domid, cd->nbentry, update);
+		if (!update) {
+			if (cnt >= quota_nb_entry_per_domain)
+				return ENOSPC;
+			if (cnt < 0)
+				return ENOMEM;
+		}
+	}
+
+	return 0;
+}
+
+static struct changed_domain *acc_find_changed_domain(struct list_head *head,
+						      unsigned int domid)
+{
+	struct changed_domain *cd;
+
+	list_for_each_entry(cd, head, list) {
+		if (cd->domid == domid)
+			return cd;
+	}
+
+	return NULL;
+}
+
+static struct changed_domain *acc_get_changed_domain(const void *ctx,
+						     struct list_head *head,
+						     unsigned int domid)
+{
+	struct changed_domain *cd;
+
+	cd = acc_find_changed_domain(head, domid);
+	if (cd)
+		return cd;
+
+	cd = talloc_zero(ctx, struct changed_domain);
+	if (!cd)
+		return NULL;
+
+	cd->domid = domid;
+	list_add_tail(&cd->list, head);
+
+	return cd;
+}
+
+int acc_add_dom_nbentry(const void *ctx, struct list_head *head, int val,
+			unsigned int domid)
+{
+	struct changed_domain *cd;
+
+	cd = acc_get_changed_domain(ctx, head, domid);
+	if (!cd)
+		return errno;
+
+	cd->nbentry += val;
+
+	return 0;
+}
+
 static void domain_conn_reset(struct domain *domain)
 {
 	struct connection *conn = domain->conn;
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index 630641d620..9e20d2b17d 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -98,6 +98,9 @@ void domain_outstanding_dec(struct connection *conn);
 void domain_outstanding_domid_dec(unsigned int domid);
 int domain_get_quota(const void *ctx, struct connection *conn,
 		     unsigned int domid);
+int acc_fix_domains(struct list_head *head, bool update);
+int acc_add_dom_nbentry(const void *ctx, struct list_head *head, int val,
+			unsigned int domid);
 
 /* Write rate limiting */
 
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index ac854197ca..89b92f0baf 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -137,18 +137,6 @@ struct accessed_node
 	bool watch_exact;
 };
 
-struct changed_domain
-{
-	/* List of all changed domains in the context of this transaction. */
-	struct list_head list;
-
-	/* Identifier of the changed domain. */
-	unsigned int domid;
-
-	/* Amount by which this domain's nbentry field has changed. */
-	int nbentry;
-};
-
 struct transaction
 {
 	/* List of all transactions active on this connection. */
@@ -514,24 +502,6 @@ int do_transaction_start(const void *ctx, struct connection *conn,
 	return 0;
 }
 
-static int transaction_fix_domains(struct transaction *trans, bool update)
-{
-	struct changed_domain *d;
-	int cnt;
-
-	list_for_each_entry(d, &trans->changed_domains, list) {
-		cnt = domain_entry_fix(d->domid, d->nbentry, update);
-		if (!update) {
-			if (cnt >= quota_nb_entry_per_domain)
-				return ENOSPC;
-			if (cnt < 0)
-				return ENOMEM;
-		}
-	}
-
-	return 0;
-}
-
 int do_transaction_end(const void *ctx, struct connection *conn,
 		       struct buffered_data *in)
 {
@@ -558,7 +528,7 @@ int do_transaction_end(const void *ctx, struct connection *conn,
 	if (streq(arg, "T")) {
 		if (trans->fail)
 			return ENOMEM;
-		ret = transaction_fix_domains(trans, false);
+		ret = acc_fix_domains(&trans->changed_domains, false);
 		if (ret)
 			return ret;
 		ret = finalize_transaction(conn, trans, &is_corrupt);
@@ -568,7 +538,7 @@ int do_transaction_end(const void *ctx, struct connection *conn,
 		wrl_apply_debit_trans_commit(conn);
 
 		/* fix domain entry for each changed domain */
-		transaction_fix_domains(trans, true);
+		acc_fix_domains(&trans->changed_domains, true);
 
 		if (is_corrupt)
 			corrupt(conn, "transaction inconsistency");
@@ -580,44 +550,18 @@ int do_transaction_end(const void *ctx, struct connection *conn,
 
 void transaction_entry_inc(struct transaction *trans, unsigned int domid)
 {
-	struct changed_domain *d;
-
-	list_for_each_entry(d, &trans->changed_domains, list)
-		if (d->domid == domid) {
-			d->nbentry++;
-			return;
-		}
-
-	d = talloc(trans, struct changed_domain);
-	if (!d) {
+	if (acc_add_dom_nbentry(trans, &trans->changed_domains, 1, domid)) {
 		/* Let the transaction fail. */
 		trans->fail = true;
-		return;
 	}
-	d->domid = domid;
-	d->nbentry = 1;
-	list_add_tail(&d->list, &trans->changed_domains);
 }
 
 void transaction_entry_dec(struct transaction *trans, unsigned int domid)
 {
-	struct changed_domain *d;
-
-	list_for_each_entry(d, &trans->changed_domains, list)
-		if (d->domid == domid) {
-			d->nbentry--;
-			return;
-		}
-
-	d = talloc(trans, struct changed_domain);
-	if (!d) {
+	if (acc_add_dom_nbentry(trans, &trans->changed_domains, -1, domid)) {
 		/* Let the transaction fail. */
 		trans->fail = true;
-		return;
 	}
-	d->domid = domid;
-	d->nbentry = -1;
-	list_add_tail(&d->list, &trans->changed_domains);
 }
 
 void fail_transaction(struct transaction *trans)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460765.718777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mD-0005lr-Gv; Tue, 13 Dec 2022 16:05:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460765.718777; Tue, 13 Dec 2022 16:05:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mD-0005kB-5d; Tue, 13 Dec 2022 16:05:05 +0000
Received: by outflank-mailman (input) for mailman id 460765;
 Tue, 13 Dec 2022 16:05:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57jR-0001ta-0E
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:02:13 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80f8ebc9-7aff-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:02:11 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A0F6722A34;
 Tue, 13 Dec 2022 16:02:11 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 742AE138EE;
 Tue, 13 Dec 2022 16:02:11 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id EqsSGwOimGM2KgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:02:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80f8ebc9-7aff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947331; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=BJICrHCD5+EtD6cNAuaLcaHoi3Y4QOxd31Quuffyc8E=;
	b=GqD+LIQOdzjfPC+SDpaoeScwTRXqeXlaTeTo3jIXIIGlgjSllpCFIXnnyALYgu8nW1LIOo
	+I3fmyO5fITcT1Rr7/Rv4QkxwJh5B96BmNvGZ9A9O4nP9MtolW/sfwy8cjUklUwmzIybdl
	inD6R03sVrbzSs/j2lzy2nCbUXlcDik=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 15/19] tools/xenstore: switch hashtable to use the talloc framework
Date: Tue, 13 Dec 2022 17:00:41 +0100
Message-Id: <20221213160045.28170-16-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of using malloc() and friends, let the hashtable implementation
use the talloc framework.

This is more consistent with the rest of xenstored and it allows to
track memory usage via "xenstore-control memreport".

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/hashtable.c        | 86 ++++++++++++-------------------
 tools/xenstore/hashtable.h        |  3 +-
 tools/xenstore/xenstored_core.c   |  5 +-
 tools/xenstore/xenstored_domain.c |  2 +-
 4 files changed, 39 insertions(+), 57 deletions(-)

diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c
index 299549c51e..3b6745b692 100644
--- a/tools/xenstore/hashtable.c
+++ b/tools/xenstore/hashtable.c
@@ -6,6 +6,8 @@
 #include <string.h>
 #include <math.h>
 #include <stdint.h>
+#include <stdarg.h>
+#include "talloc.h"
 
 struct entry
 {
@@ -50,7 +52,7 @@ indexFor(unsigned int tablelength, unsigned int hashvalue) {
 
 /*****************************************************************************/
 struct hashtable *
-create_hashtable(unsigned int minsize,
+create_hashtable(const void *ctx, unsigned int minsize,
                  unsigned int (*hashf) (void*),
                  int (*eqf) (void*,void*),
                  unsigned int flags)
@@ -66,10 +68,10 @@ create_hashtable(unsigned int minsize,
         if (primes[pindex] > minsize) { size = primes[pindex]; break; }
     }
 
-    h = (struct hashtable *)calloc(1, sizeof(struct hashtable));
+    h = talloc_zero(ctx, struct hashtable);
     if (NULL == h)
         goto err0;
-    h->table = (struct entry **)calloc(size, sizeof(struct entry *));
+    h->table = talloc_zero_array(h, struct entry *, size);
     if (NULL == h->table)
         goto err1;
 
@@ -83,7 +85,7 @@ create_hashtable(unsigned int minsize,
     return h;
 
 err1:
-   free(h);
+   talloc_free(h);
 err0:
    return NULL;
 }
@@ -115,47 +117,32 @@ hashtable_expand(struct hashtable *h)
     if (h->primeindex == (prime_table_length - 1)) return 0;
     newsize = primes[++(h->primeindex)];
 
-    newtable = (struct entry **)calloc(newsize, sizeof(struct entry*));
-    if (NULL != newtable)
+    newtable = talloc_realloc(h, h->table, struct entry *, newsize);
+    if (!newtable)
     {
-        /* This algorithm is not 'stable'. ie. it reverses the list
-         * when it transfers entries between the tables */
-        for (i = 0; i < h->tablelength; i++) {
-            while (NULL != (e = h->table[i])) {
-                h->table[i] = e->next;
-                index = indexFor(newsize,e->h);
+        h->primeindex--;
+        return 0;
+    }
+
+    h->table = newtable;
+    memset(newtable + h->tablelength, 0,
+           (newsize - h->tablelength) * sizeof(*newtable));
+    for (i = 0; i < h->tablelength; i++) {
+        for (pE = &(newtable[i]), e = *pE; e != NULL; e = *pE) {
+            index = indexFor(newsize,e->h);
+            if (index == i)
+            {
+                pE = &(e->next);
+            }
+            else
+            {
+                *pE = e->next;
                 e->next = newtable[index];
                 newtable[index] = e;
             }
         }
-        free(h->table);
-        h->table = newtable;
-    }
-    /* Plan B: realloc instead */
-    else 
-    {
-        newtable = (struct entry **)
-                   realloc(h->table, newsize * sizeof(struct entry *));
-        if (NULL == newtable) { (h->primeindex)--; return 0; }
-        h->table = newtable;
-        memset(newtable + h->tablelength, 0,
-               (newsize - h->tablelength) * sizeof(*newtable));
-        for (i = 0; i < h->tablelength; i++) {
-            for (pE = &(newtable[i]), e = *pE; e != NULL; e = *pE) {
-                index = indexFor(newsize,e->h);
-                if (index == i)
-                {
-                    pE = &(e->next);
-                }
-                else
-                {
-                    *pE = e->next;
-                    e->next = newtable[index];
-                    newtable[index] = e;
-                }
-            }
-        }
     }
+
     h->tablelength = newsize;
     h->loadlimit   = (unsigned int)
         (((uint64_t)newsize * max_load_factor) / 100);
@@ -184,7 +171,7 @@ hashtable_insert(struct hashtable *h, void *k, void *v)
          * element may be ok. Next time we insert, we'll try expanding again.*/
         hashtable_expand(h);
     }
-    e = (struct entry *)calloc(1, sizeof(struct entry));
+    e = talloc_zero(h, struct entry);
     if (NULL == e) { --(h->entrycount); return 0; } /*oom*/
     e->h = hash(h,k);
     index = indexFor(h->tablelength,e->h);
@@ -238,8 +225,8 @@ hashtable_remove(struct hashtable *h, void *k)
             h->entrycount--;
             v = e->v;
             if (h->flags & HASHTABLE_FREE_KEY)
-                free(e->k);
-            free(e);
+                talloc_free(e->k);
+            talloc_free(e);
             return v;
         }
         pE = &(e->next);
@@ -280,25 +267,20 @@ void
 hashtable_destroy(struct hashtable *h)
 {
     unsigned int i;
-    struct entry *e, *f;
+    struct entry *e;
     struct entry **table = h->table;
 
     for (i = 0; i < h->tablelength; i++)
     {
-        e = table[i];
-        while (NULL != e)
+        for (e = table[i]; e; e = e->next)
         {
-            f = e;
-            e = e->next;
             if (h->flags & HASHTABLE_FREE_KEY)
-                free(f->k);
+                talloc_free(e->k);
             if (h->flags & HASHTABLE_FREE_VALUE)
-                free(f->v);
-            free(f);
+                talloc_free(e->v);
         }
     }
-    free(h->table);
-    free(h);
+    talloc_free(h);
 }
 
 /*
diff --git a/tools/xenstore/hashtable.h b/tools/xenstore/hashtable.h
index 6d65431f96..becec73092 100644
--- a/tools/xenstore/hashtable.h
+++ b/tools/xenstore/hashtable.h
@@ -9,6 +9,7 @@ struct hashtable;
  * create_hashtable
    
  * @name                    create_hashtable
+ * @param   ctx             talloc context to use for allocations
  * @param   minsize         minimum initial size of hashtable
  * @param   hashfunction    function for hashing keys
  * @param   key_eq_fn       function for determining key equality
@@ -22,7 +23,7 @@ struct hashtable;
 #define HASHTABLE_FREE_KEY   (1U << 1)
 
 struct hashtable *
-create_hashtable(unsigned int minsize,
+create_hashtable(const void *ctx, unsigned int minsize,
                  unsigned int (*hashfunction) (void*),
                  int (*key_eq_fn) (void*,void*),
                  unsigned int flags
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 6c9d22b8a2..60433265ed 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2419,11 +2419,10 @@ static int keys_equal_fn(void *key1, void *key2)
 
 int remember_string(struct hashtable *hash, const char *str)
 {
-	char *k = malloc(strlen(str) + 1);
+	char *k = talloc_strdup(NULL, str);
 
 	if (!k)
 		return 0;
-	strcpy(k, str);
 	return hashtable_insert(hash, k, (void *)1);
 }
 
@@ -2518,7 +2517,7 @@ void check_store(void)
 	};
 
 	/* Don't free values (they are all void *1) */
-	reachable = create_hashtable(16, hash_from_key_fn, keys_equal_fn,
+	reachable = create_hashtable(NULL, 16, hash_from_key_fn, keys_equal_fn,
 				     HASHTABLE_FREE_KEY);
 	if (!reachable) {
 		log("check_store: ENOMEM");
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 65e94e3822..4d735a5951 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -929,7 +929,7 @@ void domain_init(int evtfd)
 	int rc;
 
 	/* Start with a random rather low domain count for the hashtable. */
-	domhash = create_hashtable(8, domhash_fn, domeq_fn, 0);
+	domhash = create_hashtable(NULL, 8, domhash_fn, domeq_fn, 0);
 	if (!domhash)
 		barf_perror("Failed to allocate domain hashtable");
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460766.718783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mE-0005zg-9j; Tue, 13 Dec 2022 16:05:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460766.718783; Tue, 13 Dec 2022 16:05:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mD-0005tW-Sj; Tue, 13 Dec 2022 16:05:05 +0000
Received: by outflank-mailman (input) for mailman id 460766;
 Tue, 13 Dec 2022 16:05:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57in-0001dt-E3
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:01:33 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69a36e11-7aff-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 17:01:32 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 883C7222FD;
 Tue, 13 Dec 2022 16:01:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5C4C5138EE;
 Tue, 13 Dec 2022 16:01:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id UasqFdyhmGPOKQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:01:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69a36e11-7aff-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947292; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=gyVuyD9+Q+M1bRSHu0iGPheTESc8gyqYCTxyk6Njp7w=;
	b=o5jnocG/7buStr8FLFt5rEcqT1hhnzt3/pLqXIJnjrbvS70iR59xVQhvhTLD3Fh/Aj5xfX
	Q/lkIcAVa84/CJnUI+b/eMbpUsZQn9VjoiAMYdHBfnZOmzbbViSFuHvg0m++uJ3RyR/uWA
	gqEciAjP/l3PJXN/exhw/mrJGMQJjvY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 08/19] tools/xenstore: replace watch->relative_path with a prefix length
Date: Tue, 13 Dec 2022 17:00:34 +0100
Message-Id: <20221213160045.28170-9-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of storing a pointer to the path which is prepended to
relative paths in struct watch, just use the length of the prepended
path.

It should be noted that the now removed special case of the
relative path being "" in get_watch_path() can't happen at all.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- don't open code get_watch_path() (Julien Grall)
---
 tools/xenstore/xenstored_watch.c | 27 ++++++++-------------------
 1 file changed, 8 insertions(+), 19 deletions(-)

diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c
index 75748ac109..5c0f764781 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstore/xenstored_watch.c
@@ -39,8 +39,8 @@ struct watch
 	/* Current outstanding events applying to this watch. */
 	struct list_head events;
 
-	/* Is this relative to connnection's implicit path? */
-	const char *relative_path;
+	/* Offset into path for skipping prefix (used for relative paths). */
+	unsigned int prefix_len;
 
 	char *token;
 	char *node;
@@ -66,15 +66,7 @@ static bool is_child(const char *child, const char *parent)
 
 static const char *get_watch_path(const struct watch *watch, const char *name)
 {
-	const char *path = name;
-
-	if (watch->relative_path) {
-		path += strlen(watch->relative_path);
-		if (*path == '/') /* Could be "" */
-			path++;
-	}
-
-	return path;
+	return name + watch->prefix_len;
 }
 
 /*
@@ -211,10 +203,7 @@ static struct watch *add_watch(struct connection *conn, char *path, char *token,
 			      no_quota_check))
 		goto nomem;
 
-	if (relative)
-		watch->relative_path = get_implicit_path(conn);
-	else
-		watch->relative_path = NULL;
+	watch->prefix_len = relative ? strlen(get_implicit_path(conn)) + 1 : 0;
 
 	INIT_LIST_HEAD(&watch->events);
 
@@ -313,19 +302,19 @@ const char *dump_state_watches(FILE *fp, struct connection *conn,
 			       unsigned int conn_id)
 {
 	const char *ret = NULL;
+	const char *watch_path;
 	struct watch *watch;
 	struct xs_state_watch sw;
 	struct xs_state_record_header head;
-	const char *path;
 
 	head.type = XS_STATE_TYPE_WATCH;
 
 	list_for_each_entry(watch, &conn->watches, list) {
 		head.length = sizeof(sw);
 
+		watch_path = get_watch_path(watch, watch->node);
 		sw.conn_id = conn_id;
-		path = get_watch_path(watch, watch->node);
-		sw.path_length = strlen(path) + 1;
+		sw.path_length = strlen(watch_path) + 1;
 		sw.token_length = strlen(watch->token) + 1;
 		head.length += sw.path_length + sw.token_length;
 		head.length = ROUNDUP(head.length, 3);
@@ -334,7 +323,7 @@ const char *dump_state_watches(FILE *fp, struct connection *conn,
 		if (fwrite(&sw, sizeof(sw), 1, fp) != 1)
 			return "Dump watch state error";
 
-		if (fwrite(path, sw.path_length, 1, fp) != 1)
+		if (fwrite(watch_path, sw.path_length, 1, fp) != 1)
 			return "Dump watch path error";
 		if (fwrite(watch->token, sw.token_length, 1, fp) != 1)
 			return "Dump watch token error";
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460768.718797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mF-0006Gr-B2; Tue, 13 Dec 2022 16:05:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460768.718797; Tue, 13 Dec 2022 16:05:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mE-0006By-Sd; Tue, 13 Dec 2022 16:05:06 +0000
Received: by outflank-mailman (input) for mailman id 460768;
 Tue, 13 Dec 2022 16:05:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57jK-0001dt-Ud
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:02:06 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7d9edf47-7aff-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 17:02:06 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 1423A1FDAE;
 Tue, 13 Dec 2022 16:02:06 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D7809138EE;
 Tue, 13 Dec 2022 16:02:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id dERXM/2hmGMfKgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:02:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d9edf47-7aff-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947326; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=JdgZ1VuZvqNGh5getUJSQZgnrcQ2jyvptjdFRbrPjw4=;
	b=GpEsvWQy3SoCa9waloGggwBG82cl58uECCxZ+kAUvCqZA7TFvgmltanbkVtAgW1tZibY2x
	CHojaVNLmxjkdNpOsbr54U+RpaffMZiBoi/GJLW1YmT3oWaqfXr4WE0UhkbWlZvcIUWVWS
	hckQM5B4apb/mxBF683Lu7Wz2vp1k9o=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 14/19] tools/xenstore: let chk_domain_generation() return a bool
Date: Tue, 13 Dec 2022 17:00:40 +0100
Message-Id: <20221213160045.28170-15-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of returning 0 or 1 let chk_domain_generation() return a
boolean value.

Simplify the only caller by removing the ret variable.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstore/xenstored_domain.c | 18 ++++++++----------
 1 file changed, 8 insertions(+), 10 deletions(-)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index a3ecdb382f..65e94e3822 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -983,20 +983,20 @@ void domain_deinit(void)
  * count (used for testing whether a node permission is older than a domain).
  *
  * Return values:
- *  0: domain has higher generation count (it is younger than a node with the
- *     given count), or domain isn't existing any longer
- *  1: domain is older than the node
+ *  false: domain has higher generation count (it is younger than a node with
+ *     the given count), or domain isn't existing any longer
+ *  true: domain is older than the node
  */
-static int chk_domain_generation(unsigned int domid, uint64_t gen)
+static bool chk_domain_generation(unsigned int domid, uint64_t gen)
 {
 	struct domain *d;
 
 	if (!xc_handle && domid == dom0_domid)
-		return 1;
+		return true;
 
 	d = find_domain_struct(domid);
 
-	return (d && d->generation <= gen) ? 1 : 0;
+	return d && d->generation <= gen;
 }
 
 /*
@@ -1031,14 +1031,12 @@ int domain_alloc_permrefs(struct node_perms *perms)
 int domain_adjust_node_perms(struct node *node)
 {
 	unsigned int i;
-	int ret;
 
 	for (i = 1; i < node->perms.num; i++) {
 		if (node->perms.p[i].perms & XS_PERM_IGNORE)
 			continue;
-		ret = chk_domain_generation(node->perms.p[i].id,
-					    node->generation);
-		if (!ret)
+		if (!chk_domain_generation(node->perms.p[i].id,
+					   node->generation))
 			node->perms.p[i].perms |= XS_PERM_IGNORE;
 	}
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460770.718803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mF-0006NU-Ro; Tue, 13 Dec 2022 16:05:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460770.718803; Tue, 13 Dec 2022 16:05:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mF-0006LD-Co; Tue, 13 Dec 2022 16:05:07 +0000
Received: by outflank-mailman (input) for mailman id 460770;
 Tue, 13 Dec 2022 16:05:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57jW-0001dt-4h
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:02:18 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 84442e7e-7aff-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 17:02:17 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 384F622A34;
 Tue, 13 Dec 2022 16:02:17 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 0B6A0138EE;
 Tue, 13 Dec 2022 16:02:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Ip56AQmimGNIKgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:02:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84442e7e-7aff-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947337; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=okx7qxg8bFtkyLH12eZ25h2C7wGOfWUBp/Y3Edy1SaY=;
	b=RaNYIjUBi6HZ8E9257o+IbFLis69cz97V83G93v48zzHI4LeY6Pbadoogvgc8DBOa8OtkW
	rr2oh6aVCBt85zLSNLh2bx5jBtqH1SFcJWQg8Z7NRoOuS9zY5voB0hJImvCpFUW1YolPaB
	/sf4hIATk+MLnA23GOTaUQM0av6LBWg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 16/19] tools/xenstore: make log macro globally available
Date: Tue, 13 Dec 2022 17:00:42 +0100
Message-Id: <20221213160045.28170-17-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move the definition of the log() macro to xenstored_core.h in order
to make it usable from other source files, too.

While at it preserve errno from being modified.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstore/xenstored_core.c | 14 --------------
 tools/xenstore/xenstored_core.h | 15 +++++++++++++++
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 60433265ed..48c2793aeb 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -88,20 +88,6 @@ TDB_CONTEXT *tdb_ctx = NULL;
 
 static const char *sockmsg_string(enum xsd_sockmsg_type type);
 
-#define log(...)							\
-	do {								\
-		char *s = talloc_asprintf(NULL, __VA_ARGS__);		\
-		if (s) {						\
-			trace("%s\n", s);				\
-			syslog(LOG_ERR, "%s\n",  s);			\
-			talloc_free(s);					\
-		} else {						\
-			trace("talloc failure during logging\n");	\
-			syslog(LOG_ERR, "talloc failure during logging\n"); \
-		}							\
-	} while (0)
-
-
 int quota_nb_entry_per_domain = 1000;
 int quota_nb_watch_per_domain = 128;
 int quota_max_entry_size = 2048; /* 2K */
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 3c4e27d0dd..3b96ecd018 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -267,6 +267,21 @@ void trace(const char *fmt, ...) __attribute__ ((format (printf, 1, 2)));
 void reopen_log(void);
 void close_log(void);
 
+#define log(...)							\
+	do {								\
+		int _saved_errno = errno;				\
+		char *s = talloc_asprintf(NULL, __VA_ARGS__);		\
+		if (s) {						\
+			trace("%s\n", s);				\
+			syslog(LOG_ERR, "%s\n",	s);			\
+			talloc_free(s);					\
+		} else {						\
+			trace("talloc failure during logging\n");	\
+			syslog(LOG_ERR, "talloc failure during logging\n"); \
+		}							\
+		errno = _saved_errno;					\
+	} while (0)
+
 extern int orig_argc;
 extern char **orig_argv;
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460774.718836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mK-0007aH-9G; Tue, 13 Dec 2022 16:05:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460774.718836; Tue, 13 Dec 2022 16:05:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mK-0007Zw-4N; Tue, 13 Dec 2022 16:05:12 +0000
Received: by outflank-mailman (input) for mailman id 460774;
 Tue, 13 Dec 2022 16:05:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57jc-0001ta-5C
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:02:24 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 876c238a-7aff-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:02:22 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E025522A3A;
 Tue, 13 Dec 2022 16:02:22 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 9DAA2138EE;
 Tue, 13 Dec 2022 16:02:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id PZIdJQ6imGNZKgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:02:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 876c238a-7aff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947342; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=cYY4+JQatq0yxroA0693aBz8mhvS4scd7j3Blc0Yn4E=;
	b=GYM64a3cpem9iRuD8sGtzof/YFd03xbqX+pdsVvQ1eshRZaQFJIDD/sofQCFXOCXWBG9mR
	R9l0k+tncPopIm0f/kx6eVV5c8+dKv2XgslHq7ei8bBy+LWKYCZb2BkCQOK8jfN3cU45Ai
	PupFZPfiXEsfZ1I6KC4yC4w8/xeyVxc=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 17/19] tools/xenstore: introduce trace classes
Date: Tue, 13 Dec 2022 17:00:43 +0100
Message-Id: <20221213160045.28170-18-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Make the xenstored internal trace configurable by adding classes
which can be switched on and off independently from each other.

Define the following classes:

- obj: Creation and deletion of interesting "objects" (watch,
  transaction, connection)
- io: incoming requests and outgoing responses
- wrl: write limiting

Per default "obj" and "io" are switched on.

Entries written via trace() will always be printed (if tracing is on
at all).

Add the capability to control the trace settings via the "log"
command and via a new "--log-control" command line option.

Add a missing trace_create() call for creating a transaction.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- keep "log" and "logfile" command names (Julien Grall)
---
 docs/misc/xenstore.txt                 | 10 +++--
 tools/xenstore/xenstored_control.c     | 31 +++++++++++++--
 tools/xenstore/xenstored_core.c        | 55 ++++++++++++++++++++++++--
 tools/xenstore/xenstored_core.h        |  6 +++
 tools/xenstore/xenstored_domain.c      | 27 +++++++------
 tools/xenstore/xenstored_transaction.c |  1 +
 6 files changed, 106 insertions(+), 24 deletions(-)

diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
index 44428ae3a7..8887e7df88 100644
--- a/docs/misc/xenstore.txt
+++ b/docs/misc/xenstore.txt
@@ -409,10 +409,12 @@ CONTROL			<command>|[<parameters>|]
 		error string in case of failure. -s can return "BUSY" in case
 		of an active transaction, a retry of -s can be done in that
 		case.
-	log|on
-		turn xenstore logging on
-	log|off
-		turn xenstore logging off
+	log|[on|off|+<switch>|-<switch>]
+		without parameters: show possible log switches
+		on: turn xenstore logging on
+		off: turn xenstore logging off
+		+<switch>: activates log entries for <switch>,
+		-<switch>: deactivates log entries for <switch>
 	logfile|<file-name>
 		log to specified file
 	memreport|[<file-name>]
diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstore/xenstored_control.c
index 41e6992591..000b2bb8c7 100644
--- a/tools/xenstore/xenstored_control.c
+++ b/tools/xenstore/xenstored_control.c
@@ -182,6 +182,28 @@ static int do_control_check(const void *ctx, struct connection *conn,
 static int do_control_log(const void *ctx, struct connection *conn,
 			  char **vec, int num)
 {
+	int ret;
+
+	if (num == 0) {
+		char *resp = talloc_asprintf(ctx, "Log switch settings:\n");
+		unsigned int idx;
+		bool on;
+
+		if (!resp)
+			return ENOMEM;
+		for (idx = 0; trace_switches[idx]; idx++) {
+			on = trace_flags & (1u << idx);
+			resp = talloc_asprintf_append(resp, "%-8s: %s\n",
+						      trace_switches[idx],
+						      on ? "on" : "off");
+			if (!resp)
+				return ENOMEM;
+		}
+
+		send_reply(conn, XS_CONTROL, resp, strlen(resp) + 1);
+		return 0;
+	}
+
 	if (num != 1)
 		return EINVAL;
 
@@ -189,8 +211,11 @@ static int do_control_log(const void *ctx, struct connection *conn,
 		reopen_log();
 	else if (!strcmp(vec[0], "off"))
 		close_log();
-	else
-		return EINVAL;
+	else {
+		ret = set_trace_switch(vec[0]);
+		if (ret)
+			return ret;
+	}
 
 	send_ack(conn, XS_CONTROL);
 	return 0;
@@ -923,7 +948,7 @@ static int do_control_help(const void *, struct connection *, char **, int);
 
 static struct cmd_s cmds[] = {
 	{ "check", do_control_check, "" },
-	{ "log", do_control_log, "on|off" },
+	{ "log", do_control_log, "[on|off|+<switch>|-<switch>]" },
 
 #ifndef NO_LIVE_UPDATE
 	/*
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 48c2793aeb..0d5b5a0d82 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -85,6 +85,7 @@ static int reopen_log_pipe[2];
 static int reopen_log_pipe0_pollfd_idx = -1;
 char *tracefile = NULL;
 TDB_CONTEXT *tdb_ctx = NULL;
+unsigned int trace_flags = TRACE_OBJ | TRACE_IO;
 
 static const char *sockmsg_string(enum xsd_sockmsg_type type);
 
@@ -139,13 +140,13 @@ static void trace_io(const struct connection *conn,
 	time_t now;
 	struct tm *tm;
 
-	if (tracefd < 0)
+	if (tracefd < 0 || !(trace_flags & TRACE_IO))
 		return;
 
 	now = time(NULL);
 	tm = localtime(&now);
 
-	trace("%s %p %04d%02d%02d %02d:%02d:%02d %s (",
+	trace("io: %s %p %04d%02d%02d %02d:%02d:%02d %s (",
 	      out ? "OUT" : "IN", conn,
 	      tm->tm_year + 1900, tm->tm_mon + 1,
 	      tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec,
@@ -158,12 +159,14 @@ static void trace_io(const struct connection *conn,
 
 void trace_create(const void *data, const char *type)
 {
-	trace("CREATE %s %p\n", type, data);
+	if (trace_flags & TRACE_OBJ)
+		trace("obj: CREATE %s %p\n", type, data);
 }
 
 void trace_destroy(const void *data, const char *type)
 {
-	trace("DESTROY %s %p\n", type, data);
+	if (trace_flags & TRACE_OBJ)
+		trace("obj: DESTROY %s %p\n", type, data);
 }
 
 /**
@@ -2599,6 +2602,8 @@ static void usage(void)
 "  -N, --no-fork           to request that the daemon does not fork,\n"
 "  -P, --output-pid        to request that the pid of the daemon is output,\n"
 "  -T, --trace-file <file> giving the file for logging, and\n"
+"      --trace-control=+<switch> activate a specific <switch>\n"
+"      --trace-control=-<switch> deactivate a specific <switch>\n"
 "  -E, --entry-nb <nb>     limit the number of entries per domain,\n"
 "  -S, --entry-size <size> limit the size of entry per domain, and\n"
 "  -W, --watch-nb <nb>     limit the number of watches per domain,\n"
@@ -2642,6 +2647,7 @@ static struct option options[] = {
 	{ "output-pid", 0, NULL, 'P' },
 	{ "entry-size", 1, NULL, 'S' },
 	{ "trace-file", 1, NULL, 'T' },
+	{ "trace-control", 1, NULL, 1 },
 	{ "transaction", 1, NULL, 't' },
 	{ "perm-nb", 1, NULL, 'A' },
 	{ "path-max", 1, NULL, 'M' },
@@ -2716,6 +2722,43 @@ static void set_quota(const char *arg, bool soft)
 		barf("unknown quota \"%s\"\n", arg);
 }
 
+/* Sorted by bit values of TRACE_* flags. Flag is (1u << index). */
+const char *trace_switches[] = {
+	"obj", "io", "wrl",
+	NULL
+};
+
+int set_trace_switch(const char *arg)
+{
+	bool remove = (arg[0] == '-');
+	unsigned int idx;
+
+	switch (arg[0]) {
+	case '-':
+		remove = true;
+		break;
+	case '+':
+		remove = false;
+		break;
+	default:
+		return EINVAL;
+	}
+
+	arg++;
+
+	for (idx = 0; trace_switches[idx]; idx++) {
+		if (!strcmp(arg, trace_switches[idx])) {
+			if (remove)
+				trace_flags &= ~(1u << idx);
+			else
+				trace_flags |= 1u << idx;
+			return 0;
+		}
+	}
+
+	return EINVAL;
+}
+
 int main(int argc, char *argv[])
 {
 	int opt;
@@ -2764,6 +2807,10 @@ int main(int argc, char *argv[])
 		case 'T':
 			tracefile = optarg;
 			break;
+		case 1:
+			if (set_trace_switch(optarg))
+				barf("Illegal trace switch \"%s\"\n", optarg);
+			break;
 		case 'I':
 			if (optarg && !strcmp(optarg, "off"))
 				tdb_flags = 0;
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 3b96ecd018..c85b15515c 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -287,6 +287,12 @@ extern char **orig_argv;
 
 extern char *tracefile;
 extern int tracefd;
+extern unsigned int trace_flags;
+#define TRACE_OBJ	0x00000001
+#define TRACE_IO	0x00000002
+#define TRACE_WRL	0x00000004
+extern const char *trace_switches[];
+int set_trace_switch(const char *arg);
 
 extern TDB_CONTEXT *tdb_ctx;
 extern int dom0_domid;
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 4d735a5951..28c58b5c6d 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -1249,6 +1249,12 @@ static long wrl_ndomains;
 static wrl_creditt wrl_reserve; /* [-wrl_config_newdoms_dburst, +_gburst ] */
 static time_t wrl_log_last_warning; /* 0: no previous warning */
 
+#define trace_wrl(...)				\
+do {						\
+	if (trace_flags & TRACE_WRL)		\
+		trace("wrl: " __VA_ARGS__);	\
+} while (0)
+
 void wrl_gettime_now(struct wrl_timestampt *now_wt)
 {
 	struct timespec now_ts;
@@ -1354,12 +1360,9 @@ void wrl_credit_update(struct domain *domain, struct wrl_timestampt now)
 
 	domain->wrl_timestamp = now;
 
-	trace("wrl: dom %4d %6ld  msec  %9ld credit   %9ld reserve"
-	      "  %9ld discard\n",
-	      domain->domid,
-	      msec,
-	      (long)domain->wrl_credit, (long)wrl_reserve,
-	      (long)surplus);
+	trace_wrl("dom %4d %6ld msec %9ld credit %9ld reserve %9ld discard\n",
+		  domain->domid, msec, (long)domain->wrl_credit,
+		  (long)wrl_reserve, (long)surplus);
 }
 
 void wrl_check_timeout(struct domain *domain,
@@ -1391,10 +1394,9 @@ void wrl_check_timeout(struct domain *domain,
 	if (*ptimeout==-1 || wakeup < *ptimeout)
 		*ptimeout = wakeup;
 
-	trace("wrl: domain %u credit=%ld (reserve=%ld) SLEEPING for %d\n",
-	      domain->domid,
-	      (long)domain->wrl_credit, (long)wrl_reserve,
-	      wakeup);
+	trace_wrl("domain %u credit=%ld (reserve=%ld) SLEEPING for %d\n",
+		  domain->domid, (long)domain->wrl_credit, (long)wrl_reserve,
+		  wakeup);
 }
 
 #define WRL_LOG(now, ...) \
@@ -1412,9 +1414,8 @@ void wrl_apply_debit_actual(struct domain *domain)
 	wrl_credit_update(domain, now);
 
 	domain->wrl_credit -= wrl_config_writecost;
-	trace("wrl: domain %u credit=%ld (reserve=%ld)\n",
-	      domain->domid,
-	      (long)domain->wrl_credit, (long)wrl_reserve);
+	trace_wrl("domain %u credit=%ld (reserve=%ld)\n", domain->domid,
+		  (long)domain->wrl_credit, (long)wrl_reserve);
 
 	if (domain->wrl_credit < 0) {
 		if (!domain->wrl_delay_logged) {
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index 82e5e66c18..1aa9d3cb3d 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -475,6 +475,7 @@ int do_transaction_start(const void *ctx, struct connection *conn,
 	if (!trans)
 		return ENOMEM;
 
+	trace_create(trans, "transaction");
 	INIT_LIST_HEAD(&trans->accessed);
 	INIT_LIST_HEAD(&trans->changed_domains);
 	trans->conn = conn;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460787.718847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mP-0008DK-N0; Tue, 13 Dec 2022 16:05:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460787.718847; Tue, 13 Dec 2022 16:05:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mP-0008Ci-Gq; Tue, 13 Dec 2022 16:05:17 +0000
Received: by outflank-mailman (input) for mailman id 460787;
 Tue, 13 Dec 2022 16:05:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57jA-0001dt-J0
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:01:56 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 76f95091-7aff-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 17:01:55 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id DF5AE1FDAE;
 Tue, 13 Dec 2022 16:01:54 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id ABEB9138EE;
 Tue, 13 Dec 2022 16:01:54 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Ns2hKPKhmGMAKgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:01:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76f95091-7aff-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947314; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=G0PY04YTlNHfpxJX5B2TwZQKHcJ1RMK8FOhlgYczIF8=;
	b=FHuvMg/GdBCUTgScDY29glnNT7ai2GLFgXFlm3LLu6IJXwN10trVg0Ymh5UmLkQx9Cgqqe
	ENaqd4+HPcO9vgZEgBO1NtGHFizNQeAbAGv5VrX2pP8VfZLCULduZWYiQEX6SYmpZU4U71
	QhRQTD3vOrU4yLkC4DmjiCe3ZuNaTe0=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 12/19] tools/xenstore: replace literal domid 0 with dom0_domid
Date: Tue, 13 Dec 2022 17:00:38 +0100
Message-Id: <20221213160045.28170-13-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are some places left where dom0 is associated with domid 0.

Use dom0_domid instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstore/xenstored_core.c   | 5 +++--
 tools/xenstore/xenstored_domain.c | 8 ++++----
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 61569cecbb..6c9d22b8a2 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2311,9 +2311,10 @@ static void accept_connection(int sock)
 		return;
 
 	conn = new_connection(&socket_funcs);
-	if (conn)
+	if (conn) {
 		conn->fd = fd;
-	else
+		conn->id = dom0_domid;
+	} else
 		close(fd);
 }
 #endif
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 1ae79b5b54..1e9d7545b7 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -324,7 +324,7 @@ static int destroy_domain(void *_domain)
 	if (domain->interface) {
 		/* Domain 0 was mapped by dom0_init, so it must be unmapped
 		   using munmap() and not the grant unmap call. */
-		if (domain->domid == 0)
+		if (domain->domid == dom0_domid)
 			unmap_xenbus(domain->interface);
 		else
 			unmap_interface(domain->interface);
@@ -408,7 +408,7 @@ void handle_event(void)
 
 static bool domid_is_unprivileged(unsigned int domid)
 {
-	return domid != 0 && domid != priv_domid;
+	return domid != dom0_domid && domid != priv_domid;
 }
 
 bool domain_is_unprivileged(struct connection *conn)
@@ -796,7 +796,7 @@ static struct domain *onearg_domain(struct connection *conn,
 		return ERR_PTR(-EINVAL);
 
 	domid = atoi(domid_str);
-	if (!domid)
+	if (domid == dom0_domid)
 		return ERR_PTR(-EINVAL);
 
 	return find_connected_domain(domid);
@@ -1002,7 +1002,7 @@ static int chk_domain_generation(unsigned int domid, uint64_t gen)
 {
 	struct domain *d;
 
-	if (!xc_handle && domid == 0)
+	if (!xc_handle && domid == dom0_domid)
 		return 1;
 
 	d = find_domain_struct(domid);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460791.718858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mU-0000dA-5m; Tue, 13 Dec 2022 16:05:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460791.718858; Tue, 13 Dec 2022 16:05:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mU-0000bN-0E; Tue, 13 Dec 2022 16:05:22 +0000
Received: by outflank-mailman (input) for mailman id 460791;
 Tue, 13 Dec 2022 16:05:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57iz-0001ta-6Y
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:01:45 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7054a234-7aff-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:01:44 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id B538A1FDAE;
 Tue, 13 Dec 2022 16:01:43 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 78A82138EE;
 Tue, 13 Dec 2022 16:01:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id w/cvHOehmGPkKQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:01:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7054a234-7aff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947303; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=N3zvSnCKpj0DzBEC+Ai7Jx1wER0H/t3euAgTSYa4VlU=;
	b=u4Up9iggY3sAGAraxkrwGvZ1RwaVSi/Z+yA4ycNXxJULUpCPZ9IpAdBIVezAGb3HZeqN9/
	+jfXlgFi9uOKc2c0Phqh4obWTx8idbGbRko9UrJVYExcjuypc+NQ/O3yO29u5eQ+uAmqDJ
	0TnpgPBwsQvYj7QdBfuEqG8y3Yx1M5U=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 10/19] tools/xenstore: change per-domain node accounting interface
Date: Tue, 13 Dec 2022 17:00:36 +0100
Message-Id: <20221213160045.28170-11-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rework the interface and the internals of the per-domain node
accounting:

- rename the functions to domain_nbentry_*() in order to better match
  the related counter name

- switch from node pointer to domid as interface, as all nodes have the
  owner filled in

- use a common internal function for adding a value to the counter

For the transaction case add a helper function to get the list head
of the per-transaction changed domains, enabling to eliminate the
transaction_entry_*() functions.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_core.c        |  22 ++---
 tools/xenstore/xenstored_domain.c      | 122 +++++++++++--------------
 tools/xenstore/xenstored_domain.h      |  10 +-
 tools/xenstore/xenstored_transaction.c |  15 +--
 tools/xenstore/xenstored_transaction.h |   7 +-
 5 files changed, 72 insertions(+), 104 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index f96714e1b8..61569cecbb 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -1459,7 +1459,7 @@ static void destroy_node_rm(struct connection *conn, struct node *node)
 static int destroy_node(struct connection *conn, struct node *node)
 {
 	destroy_node_rm(conn, node);
-	domain_entry_dec(conn, node);
+	domain_nbentry_dec(conn, node->perms.p[0].id);
 
 	/*
 	 * It is not possible to easily revert the changes in a transaction.
@@ -1498,7 +1498,7 @@ static struct node *create_node(struct connection *conn, const void *ctx,
 	for (i = node; i; i = i->parent) {
 		/* i->parent is set for each new node, so check quota. */
 		if (i->parent &&
-		    domain_entry(conn) >= quota_nb_entry_per_domain) {
+		    domain_nbentry(conn) >= quota_nb_entry_per_domain) {
 			ret = ENOSPC;
 			goto err;
 		}
@@ -1509,7 +1509,7 @@ static struct node *create_node(struct connection *conn, const void *ctx,
 
 		/* Account for new node */
 		if (i->parent) {
-			if (domain_entry_inc(conn, i)) {
+			if (domain_nbentry_inc(conn, i->perms.p[0].id)) {
 				destroy_node_rm(conn, i);
 				return NULL;
 			}
@@ -1662,7 +1662,7 @@ static int delnode_sub(const void *ctx, struct connection *conn,
 	watch_exact = strcmp(root, node->name);
 	fire_watches(conn, ctx, node->name, node, watch_exact, NULL);
 
-	domain_entry_dec(conn, node);
+	domain_nbentry_dec(conn, node->perms.p[0].id);
 
 	return WALK_TREE_RM_CHILDENTRY;
 }
@@ -1802,25 +1802,25 @@ static int do_set_perms(const void *ctx, struct connection *conn,
 		return EPERM;
 
 	old_perms = node->perms;
-	domain_entry_dec(conn, node);
+	domain_nbentry_dec(conn, node->perms.p[0].id);
 	node->perms = perms;
-	if (domain_entry_inc(conn, node)) {
+	if (domain_nbentry_inc(conn, node->perms.p[0].id)) {
 		node->perms = old_perms;
 		/*
 		 * This should never fail because we had a reference on the
 		 * domain before and Xenstored is single-threaded.
 		 */
-		domain_entry_inc(conn, node);
+		domain_nbentry_inc(conn, node->perms.p[0].id);
 		return ENOMEM;
 	}
 
 	if (write_node(conn, node, false)) {
 		int saved_errno = errno;
 
-		domain_entry_dec(conn, node);
+		domain_nbentry_dec(conn, node->perms.p[0].id);
 		node->perms = old_perms;
 		/* No failure possible as above. */
-		domain_entry_inc(conn, node);
+		domain_nbentry_inc(conn, node->perms.p[0].id);
 
 		errno = saved_errno;
 		return errno;
@@ -2392,7 +2392,7 @@ void setup_structure(bool live_update)
 		manual_node("/tool/xenstored", NULL);
 		manual_node("@releaseDomain", NULL);
 		manual_node("@introduceDomain", NULL);
-		domain_entry_fix(dom0_domid, 5, true);
+		domain_nbentry_fix(dom0_domid, 5, true);
 	}
 
 	check_store();
@@ -3400,7 +3400,7 @@ void read_state_node(const void *ctx, const void *state)
 	if (write_node_raw(NULL, &key, node, true))
 		barf("write node error restoring node");
 
-	if (domain_entry_inc(&conn, node))
+	if (domain_nbentry_inc(&conn, node->perms.p[0].id))
 		barf("node accounting error restoring node");
 
 	talloc_free(node);
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 3216119e83..40b24056c5 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -249,7 +249,7 @@ static int domain_tree_remove_sub(const void *ctx, struct connection *conn,
 		domain->nbentry--;
 		node->perms.p[0].id = priv_domid;
 		node->acc.memory = 0;
-		domain_entry_inc(NULL, node);
+		domain_nbentry_inc(NULL, priv_domid);
 		if (write_node_raw(NULL, &key, node, true)) {
 			/* That's unfortunate. We only can try to continue. */
 			syslog(LOG_ERR,
@@ -559,7 +559,7 @@ int acc_fix_domains(struct list_head *head, bool update)
 	int cnt;
 
 	list_for_each_entry(cd, head, list) {
-		cnt = domain_entry_fix(cd->domid, cd->nbentry, update);
+		cnt = domain_nbentry_fix(cd->domid, cd->nbentry, update);
 		if (!update) {
 			if (cnt >= quota_nb_entry_per_domain)
 				return ENOSPC;
@@ -604,18 +604,19 @@ static struct changed_domain *acc_get_changed_domain(const void *ctx,
 	return cd;
 }
 
-int acc_add_dom_nbentry(const void *ctx, struct list_head *head, int val,
-			unsigned int domid)
+static int acc_add_dom_nbentry(const void *ctx, struct list_head *head, int val,
+			       unsigned int domid)
 {
 	struct changed_domain *cd;
 
 	cd = acc_get_changed_domain(ctx, head, domid);
 	if (!cd)
-		return errno;
+		return 0;
 
+	errno = 0;
 	cd->nbentry += val;
 
-	return 0;
+	return cd->nbentry;
 }
 
 static void domain_conn_reset(struct domain *domain)
@@ -988,30 +989,6 @@ void domain_deinit(void)
 		xenevtchn_unbind(xce_handle, virq_port);
 }
 
-int domain_entry_inc(struct connection *conn, struct node *node)
-{
-	struct domain *d;
-	unsigned int domid;
-
-	if (!node->perms.p)
-		return 0;
-
-	domid = node->perms.p[0].id;
-
-	if (conn && conn->transaction) {
-		transaction_entry_inc(conn->transaction, domid);
-	} else {
-		d = (conn && domid == conn->id && conn->domain) ? conn->domain
-		    : find_or_alloc_existing_domain(domid);
-		if (d)
-			d->nbentry++;
-		else
-			return ENOMEM;
-	}
-
-	return 0;
-}
-
 /*
  * Check whether a domain was created before or after a specific generation
  * count (used for testing whether a node permission is older than a domain).
@@ -1079,62 +1056,67 @@ int domain_adjust_node_perms(struct node *node)
 	return 0;
 }
 
-void domain_entry_dec(struct connection *conn, struct node *node)
+static int domain_nbentry_add(struct connection *conn, unsigned int domid,
+			      int add, bool dom_exists)
 {
 	struct domain *d;
-	unsigned int domid;
-
-	if (!node->perms.p)
-		return;
+	struct list_head *head;
+	int ret;
 
-	domid = node->perms.p ? node->perms.p[0].id : conn->id;
+	if (conn && domid == conn->id && conn->domain)
+		d = conn->domain;
+	else if (dom_exists) {
+		d = find_domain_struct(domid);
+		if (!d) {
+			errno = ENOENT;
+			corrupt(conn, "Missing domain %u\n", domid);
+			return -1;
+		}
+	} else {
+		d = find_or_alloc_existing_domain(domid);
+		if (!d) {
+			errno = ENOMEM;
+			return -1;
+		}
+	}
 
 	if (conn && conn->transaction) {
-		transaction_entry_dec(conn->transaction, domid);
-	} else {
-		d = (conn && domid == conn->id && conn->domain) ? conn->domain
-		    : find_domain_struct(domid);
-		if (d) {
-			d->nbentry--;
-		} else {
-			errno = ENOENT;
-			corrupt(conn,
-				"Node \"%s\" owned by non-existing domain %u\n",
-				node->name, domid);
+		head = transaction_get_changed_domains(conn->transaction);
+		ret = acc_add_dom_nbentry(conn->transaction, head, add, domid);
+		if (errno) {
+			fail_transaction(conn->transaction);
+			return -1;
 		}
+		return d->nbentry + ret;
 	}
+
+	d->nbentry += add;
+
+	return d->nbentry;
 }
 
-int domain_entry_fix(unsigned int domid, int num, bool update)
+int domain_nbentry_inc(struct connection *conn, unsigned int domid)
 {
-	struct domain *d;
-	int cnt;
+	return (domain_nbentry_add(conn, domid, 1, false) < 0) ? errno : 0;
+}
 
-	if (update) {
-		d = find_domain_struct(domid);
-		assert(d);
-	} else {
-		/*
-		 * We are called first with update == false in order to catch
-		 * any error. So do a possible allocation and check for error
-		 * only in this case, as in the case of update == true nothing
-		 * can go wrong anymore as the allocation already happened.
-		 */
-		d = find_or_alloc_existing_domain(domid);
-		if (!d)
-			return -1;
-	}
+int domain_nbentry_dec(struct connection *conn, unsigned int domid)
+{
+	return (domain_nbentry_add(conn, domid, -1, true) < 0) ? errno : 0;
+}
 
-	cnt = d->nbentry + num;
-	assert(cnt >= 0);
+int domain_nbentry_fix(unsigned int domid, int num, bool update)
+{
+	int ret;
 
-	if (update)
-		d->nbentry = cnt;
+	ret = domain_nbentry_add(NULL, domid, update ? num : 0, update);
+	if (ret < 0 || update)
+		return ret;
 
-	return domid_is_unprivileged(domid) ? cnt : 0;
+	return domid_is_unprivileged(domid) ? ret + num : 0;
 }
 
-int domain_entry(struct connection *conn)
+int domain_nbentry(struct connection *conn)
 {
 	return (domain_is_unprivileged(conn))
 		? conn->domain->nbentry
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index 9e20d2b17d..1e402f2609 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -66,10 +66,10 @@ int domain_adjust_node_perms(struct node *node);
 int domain_alloc_permrefs(struct node_perms *perms);
 
 /* Quota manipulation */
-int domain_entry_inc(struct connection *conn, struct node *);
-void domain_entry_dec(struct connection *conn, struct node *);
-int domain_entry_fix(unsigned int domid, int num, bool update);
-int domain_entry(struct connection *conn);
+int domain_nbentry_inc(struct connection *conn, unsigned int domid);
+int domain_nbentry_dec(struct connection *conn, unsigned int domid);
+int domain_nbentry_fix(unsigned int domid, int num, bool update);
+int domain_nbentry(struct connection *conn);
 int domain_memory_add(unsigned int domid, int mem, bool no_quota_check);
 
 /*
@@ -99,8 +99,6 @@ void domain_outstanding_domid_dec(unsigned int domid);
 int domain_get_quota(const void *ctx, struct connection *conn,
 		     unsigned int domid);
 int acc_fix_domains(struct list_head *head, bool update);
-int acc_add_dom_nbentry(const void *ctx, struct list_head *head, int val,
-			unsigned int domid);
 
 /* Write rate limiting */
 
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index 89b92f0baf..82e5e66c18 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -548,20 +548,9 @@ int do_transaction_end(const void *ctx, struct connection *conn,
 	return 0;
 }
 
-void transaction_entry_inc(struct transaction *trans, unsigned int domid)
+struct list_head *transaction_get_changed_domains(struct transaction *trans)
 {
-	if (acc_add_dom_nbentry(trans, &trans->changed_domains, 1, domid)) {
-		/* Let the transaction fail. */
-		trans->fail = true;
-	}
-}
-
-void transaction_entry_dec(struct transaction *trans, unsigned int domid)
-{
-	if (acc_add_dom_nbentry(trans, &trans->changed_domains, -1, domid)) {
-		/* Let the transaction fail. */
-		trans->fail = true;
-	}
+	return &trans->changed_domains;
 }
 
 void fail_transaction(struct transaction *trans)
diff --git a/tools/xenstore/xenstored_transaction.h b/tools/xenstore/xenstored_transaction.h
index 3417303f94..b6f8cb7d0a 100644
--- a/tools/xenstore/xenstored_transaction.h
+++ b/tools/xenstore/xenstored_transaction.h
@@ -36,10 +36,6 @@ int do_transaction_end(const void *ctx, struct connection *conn,
 
 struct transaction *transaction_lookup(struct connection *conn, uint32_t id);
 
-/* inc/dec entry number local to trans while changing a node */
-void transaction_entry_inc(struct transaction *trans, unsigned int domid);
-void transaction_entry_dec(struct transaction *trans, unsigned int domid);
-
 /* This node was accessed. */
 int __must_check access_node(struct connection *conn, struct node *node,
                              enum node_access_type type, TDB_DATA *key);
@@ -54,6 +50,9 @@ void transaction_prepend(struct connection *conn, const char *name,
 /* Mark the transaction as failed. This will prevent it to be committed. */
 void fail_transaction(struct transaction *trans);
 
+/* Get the list head of the changed domains. */
+struct list_head *transaction_get_changed_domains(struct transaction *trans);
+
 void conn_delete_all_transactions(struct connection *conn);
 int check_transactions(struct hashtable *hash);
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460792.718865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mV-0000oJ-2X; Tue, 13 Dec 2022 16:05:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460792.718865; Tue, 13 Dec 2022 16:05:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mU-0000kz-PU; Tue, 13 Dec 2022 16:05:22 +0000
Received: by outflank-mailman (input) for mailman id 460792;
 Tue, 13 Dec 2022 16:05:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57jh-0001dt-Ih
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:02:29 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8af65a3f-7aff-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 17:02:28 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 704E722A33;
 Tue, 13 Dec 2022 16:02:28 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4876C138EE;
 Tue, 13 Dec 2022 16:02:28 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id P2SBEBSimGNdKgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:02:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8af65a3f-7aff-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947348; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=PvzsvEbcVzcoeZVoNOvl1etWZmPnuBYu2/dBIMStau0=;
	b=pOXL5ZhS4sQ61TeLD8IWQXcn8rZlbAfbqTUTZKqpSW+pTrCUNAwN0C59SILBKS/xDpho3V
	9R5KxBnt+QY+8P5ucIVwPWjMKUQ03fLNvPPZglXEU/knKbj3bMNr49PwxxHfdUSAdLWmVC
	OPVtNaXfWa9Fhz37GxMe1cYwI+pKzDw=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 18/19] tools/xenstore: let check_store() check the accounting data
Date: Tue, 13 Dec 2022 17:00:44 +0100
Message-Id: <20221213160045.28170-19-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today check_store() is only testing the correctness of the node tree.

Add verification of the accounting data (number of nodes)  and correct
the data if it is wrong.

Do the initial check_store() call only after Xenstore entries of a
live update have been read.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_core.c   | 62 ++++++++++++++++------
 tools/xenstore/xenstored_domain.c | 86 +++++++++++++++++++++++++++++++
 tools/xenstore/xenstored_domain.h |  4 ++
 3 files changed, 137 insertions(+), 15 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 0d5b5a0d82..8fac7c9477 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2384,8 +2384,6 @@ void setup_structure(bool live_update)
 		manual_node("@introduceDomain", NULL);
 		domain_nbentry_fix(dom0_domid, 5, true);
 	}
-
-	check_store();
 }
 
 static unsigned int hash_from_key_fn(void *k)
@@ -2428,20 +2426,28 @@ int remember_string(struct hashtable *hash, const char *str)
  * As we go, we record each node in the given reachable hashtable.  These
  * entries will be used later in clean_store.
  */
+
+struct check_store_data {
+	struct hashtable *reachable;
+	struct hashtable *domains;
+};
+
 static int check_store_step(const void *ctx, struct connection *conn,
 			    struct node *node, void *arg)
 {
-	struct hashtable *reachable = arg;
+	struct check_store_data *data = arg;
 
-	if (hashtable_search(reachable, (void *)node->name)) {
+	if (hashtable_search(data->reachable, (void *)node->name)) {
 		log("check_store: '%s' is duplicated!", node->name);
 		return recovery ? WALK_TREE_RM_CHILDENTRY
 				: WALK_TREE_SKIP_CHILDREN;
 	}
 
-	if (!remember_string(reachable, node->name))
+	if (!remember_string(data->reachable, node->name))
 		return WALK_TREE_ERROR_STOP;
 
+	domain_check_acc_add(node, data->domains);
+
 	return WALK_TREE_OK;
 }
 
@@ -2491,37 +2497,61 @@ static int clean_store_(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA val,
  * Given the list of reachable nodes, iterate over the whole store, and
  * remove any that were not reached.
  */
-static void clean_store(struct hashtable *reachable)
+static void clean_store(struct check_store_data *data)
 {
-	tdb_traverse(tdb_ctx, &clean_store_, reachable);
+	tdb_traverse(tdb_ctx, &clean_store_, data->reachable);
+	domain_check_acc(data->domains);
 }
 
+int check_store_path(const char *name, struct check_store_data *data)
+{
+	struct node *node;
+
+	node = read_node(NULL, NULL, name);
+	if (!node) {
+		log("check_store: error %d reading special node '%s'", errno,
+		    name);
+		return errno;
+	}
+
+	return check_store_step(NULL, NULL, node, data);
+}
 
 void check_store(void)
 {
-	struct hashtable *reachable;
 	struct walk_funcs walkfuncs = {
 		.enter = check_store_step,
 		.enoent = check_store_enoent,
 	};
+	struct check_store_data data;
 
 	/* Don't free values (they are all void *1) */
-	reachable = create_hashtable(NULL, 16, hash_from_key_fn, keys_equal_fn,
-				     HASHTABLE_FREE_KEY);
-	if (!reachable) {
+	data.reachable = create_hashtable(NULL, 16, hash_from_key_fn,
+					  keys_equal_fn, HASHTABLE_FREE_KEY);
+	if (!data.reachable) {
 		log("check_store: ENOMEM");
 		return;
 	}
 
+	data.domains = domain_check_acc_init();
+	if (!data.domains) {
+		log("check_store: ENOMEM");
+		goto out_hash;
+	}
+
 	log("Checking store ...");
-	if (walk_node_tree(NULL, NULL, "/", &walkfuncs, reachable)) {
+	if (walk_node_tree(NULL, NULL, "/", &walkfuncs, &data)) {
 		if (errno == ENOMEM)
 			log("check_store: ENOMEM");
-	} else if (!check_transactions(reachable))
-		clean_store(reachable);
+	} else if (!check_store_path("@introduceDomain", &data) &&
+		   !check_store_path("@releaseDomain", &data) &&
+		   !check_transactions(data.reachable))
+		clean_store(&data);
 	log("Checking store complete.");
 
-	hashtable_destroy(reachable);
+	hashtable_destroy(data.domains);
+ out_hash:
+	hashtable_destroy(data.reachable);
 }
 
 
@@ -2920,6 +2950,8 @@ int main(int argc, char *argv[])
 		lu_read_state();
 #endif
 
+	check_store();
+
 	/* Get ready to listen to the tools. */
 	initialize_fds(&sock_pollfd_idx, &timeout);
 
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 28c58b5c6d..9162cabe48 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -1562,6 +1562,92 @@ void read_state_connection(const void *ctx, const void *state)
 	read_state_buffered_data(ctx, conn, sc);
 }
 
+struct domain_acc {
+	unsigned int domid;
+	int nodes;
+};
+
+static int domain_check_acc_init_sub(const void *k, void *v, void *arg)
+{
+	struct hashtable *domains = arg;
+	struct domain *d = v;
+	struct domain_acc *dom;
+
+	dom = talloc_zero(NULL, struct domain_acc);
+	if (!dom)
+		return -1;
+
+	dom->domid = d->domid;
+	/*
+	 * Set the initial value to the negative one of the current domain.
+	 * If everything is correct incrementing the value for each node will
+	 * result in dom->nodes being 0 at the end.
+	 */
+	dom->nodes = -d->nbentry;
+
+	if (!hashtable_insert(domains, &dom->domid, dom)) {
+		talloc_free(dom);
+		return -1;
+	}
+
+	return 0;
+}
+
+struct hashtable *domain_check_acc_init(void)
+{
+	struct hashtable *domains;
+
+	domains = create_hashtable(NULL, 8, domhash_fn, domeq_fn,
+				   HASHTABLE_FREE_VALUE);
+	if (!domains)
+		return NULL;
+
+	if (hashtable_iterate(domhash, domain_check_acc_init_sub, domains)) {
+		hashtable_destroy(domains);
+		return NULL;
+	}
+
+	return domains;
+}
+
+void domain_check_acc_add(const struct node *node, struct hashtable *domains)
+{
+	struct domain_acc *dom;
+	unsigned int domid;
+
+	domid = node->perms.p[0].id;
+	dom = hashtable_search(domains, &domid);
+	if (!dom)
+		log("Node %s owned by unknown domain %u", node->name, domid);
+	else
+		dom->nodes++;
+}
+
+static int domain_check_acc_sub(const void *k, void *v, void *arg)
+{
+	struct domain_acc *dom = v;
+	struct domain *d;
+
+	if (!dom->nodes)
+		return 0;
+
+	log("Correct accounting data for domain %u: nodes are %d off",
+	    dom->domid, dom->nodes);
+
+	d = find_domain_struct(dom->domid);
+	if (!d)
+		return 0;
+
+	d->nbentry += dom->nodes;
+
+	return 0;
+}
+
+void domain_check_acc(struct hashtable *domains)
+{
+	hashtable_iterate(domains, domain_check_acc_sub, NULL);
+}
+
 /*
  * Local variables:
  *  mode: C
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index 22996e2576..dc4660861e 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -129,4 +129,8 @@ const char *dump_state_connections(FILE *fp);
 
 void read_state_connection(const void *ctx, const void *state);
 
+struct hashtable *domain_check_acc_init(void);
+void domain_check_acc_add(const struct node *node, struct hashtable *domains);
+void domain_check_acc(struct hashtable *domains);
+
 #endif /* _XENSTORED_DOMAIN_H */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460806.718880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mZ-0001sP-Jk; Tue, 13 Dec 2022 16:05:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460806.718880; Tue, 13 Dec 2022 16:05:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mZ-0001s9-Ej; Tue, 13 Dec 2022 16:05:27 +0000
Received: by outflank-mailman (input) for mailman id 460806;
 Tue, 13 Dec 2022 16:05:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57jn-0001ta-66
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:02:35 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8e0be871-7aff-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:02:33 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0875322A34;
 Tue, 13 Dec 2022 16:02:34 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D03B8138EE;
 Tue, 13 Dec 2022 16:02:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id /YOFMRmimGNsKgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:02:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e0be871-7aff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947354; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=hbeYM9pX9rme/MidcA7zKLWfF87qgsmjrN7bSznT5S0=;
	b=BLaU+lI2DeLbF1LLGTSBoJUqghFWQ2QhyO4e4yko1LD5sKsEL1RzAOdMBWSDmjin+eyPEN
	byW4iPtQ/8j74Er7BkWNZtYkRnlIPUOMZP4gmRDzcLN9DMmNhjKVkmrDGnt2xuiKjkFhdt
	55MH9k9aHdGwbUziX18Weufq5siSdLI=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 19/19] tools/xenstore: make output of "xenstore-control help" more pretty
Date: Tue, 13 Dec 2022 17:00:45 +0100
Message-Id: <20221213160045.28170-20-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Using a tab for separating the command from the options in the output
of "xenstore-control help" results in a rather ugly list.

Use a fixed size for the command instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 tools/xenstore/xenstored_control.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstore/xenstored_control.c
index 000b2bb8c7..cbd62556c3 100644
--- a/tools/xenstore/xenstored_control.c
+++ b/tools/xenstore/xenstored_control.c
@@ -996,7 +996,7 @@ static int do_control_help(const void *ctx, struct connection *conn,
 	if (!resp)
 		return ENOMEM;
 	for (cmd = 0; cmd < ARRAY_SIZE(cmds); cmd++) {
-		resp = talloc_asprintf_append(resp, "%s\t%s\n",
+		resp = talloc_asprintf_append(resp, "%-15s %s\n",
 					      cmds[cmd].cmd, cmds[cmd].pars);
 		if (!resp)
 			return ENOMEM;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:05:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:05:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460808.718885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57ma-0001we-42; Tue, 13 Dec 2022 16:05:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460808.718885; Tue, 13 Dec 2022 16:05:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p57mZ-0001vV-RD; Tue, 13 Dec 2022 16:05:27 +0000
Received: by outflank-mailman (input) for mailman id 460808;
 Tue, 13 Dec 2022 16:05:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=7Djt=4L=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p57ii-0001ta-Km
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:01:28 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 66557bf7-7aff-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:01:27 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id ED7DE22087;
 Tue, 13 Dec 2022 16:01:26 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BD70D138EE;
 Tue, 13 Dec 2022 16:01:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2Nz+LNahmGPBKQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 13 Dec 2022 16:01:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66557bf7-7aff-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1670947286; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=4icxtWJv46RMUBYYAQr+H73PUdXTpWFKC53mCeCpDfA=;
	b=JvzyOxirX/TgVXvWjLGFTH6uFi+zHVsunKLrREYWc88Cp/kx8jbL6dFJbrMWqQ7AO92/uQ
	PYiF3nPw8gRcs0myj35udMyPokv0tTCM1vsDnJvKmNjY4cYXpSzjejYKd9dzq4yj6TRcVv
	8mKVX6GVOih2SqMpN9hpklVtaRQ4COs=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 07/19] tools/xenstore: introduce dummy nodes for special watch paths
Date: Tue, 13 Dec 2022 17:00:33 +0100
Message-Id: <20221213160045.28170-8-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
References: <20221213160045.28170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of special casing the permission handling and watch event
firing for the special watch paths "@introduceDomain" and
"@releaseDomain", use static dummy nodes added to the data base when
starting Xenstore.

The node accounting needs to reflect that change by adding the special
nodes in the domain_entry_fix() call in setup_structure().

Note that this requires to rework the calls of fire_watches() for the
special events in order to avoid leaking memory.

Move the check for a valid node name from get_node() to
get_node_canonicalized(), as it allows to use get_node() for the
special nodes, too.

In order to avoid read and write accesses to the special nodes use a
special variant for obtaining the current node data for the permission
handling.

This allows to simplify quite some code. In future sub-nodes of the
special nodes will be possible due to this change, allowing more fine
grained permission control of special events for specific domains.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- add get_spec_node()
- expand commit message (Julien Grall)
---
 tools/xenstore/xenstored_control.c |   3 -
 tools/xenstore/xenstored_core.c    |  92 +++++++++-------
 tools/xenstore/xenstored_domain.c  | 162 ++++-------------------------
 tools/xenstore/xenstored_domain.h  |   6 --
 tools/xenstore/xenstored_watch.c   |  17 +--
 5 files changed, 80 insertions(+), 200 deletions(-)

diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstore/xenstored_control.c
index d1aaa00bf4..41e6992591 100644
--- a/tools/xenstore/xenstored_control.c
+++ b/tools/xenstore/xenstored_control.c
@@ -676,9 +676,6 @@ static const char *lu_dump_state(const void *ctx, struct connection *conn)
 	if (ret)
 		goto out;
 	ret = dump_state_connections(fp);
-	if (ret)
-		goto out;
-	ret = dump_state_special_nodes(fp);
 	if (ret)
 		goto out;
 	ret = dump_state_nodes(fp, ctx);
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 1650821922..f96714e1b8 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -616,7 +616,8 @@ static void get_acc_data(TDB_DATA *key, struct node_account_data *acc)
 static unsigned int get_acc_domid(struct connection *conn, TDB_DATA *key,
 				  unsigned int domid)
 {
-	return (!conn || key->dptr[0] == '/') ? domid : conn->id;
+	return (!conn || key->dptr[0] == '/' || key->dptr[0] == '@')
+	       ? domid : conn->id;
 }
 
 int do_tdb_write(struct connection *conn, TDB_DATA *key, TDB_DATA *data,
@@ -958,10 +959,6 @@ static struct node *get_node(struct connection *conn,
 {
 	struct node *node;
 
-	if (!name || !is_valid_nodename(name)) {
-		errno = EINVAL;
-		return NULL;
-	}
 	node = read_node(conn, ctx, name);
 	/* If we don't have permission, we don't have node. */
 	if (node) {
@@ -1250,9 +1247,23 @@ static struct node *get_node_canonicalized(struct connection *conn,
 	*canonical_name = canonicalize(conn, ctx, name);
 	if (!*canonical_name)
 		return NULL;
+	if (!is_valid_nodename(*canonical_name)) {
+		errno = EINVAL;
+		return NULL;
+	}
 	return get_node(conn, ctx, *canonical_name, perm);
 }
 
+static struct node *get_spec_node(struct connection *conn, const void *ctx,
+				  const char *name, char **canonical_name,
+				  unsigned int perm)
+{
+	if (name[0] == '@')
+		return get_node(conn, ctx, name, perm);
+
+	return get_node_canonicalized(conn, ctx, name, canonical_name, perm);
+}
+
 static int send_directory(const void *ctx, struct connection *conn,
 			  struct buffered_data *in)
 {
@@ -1737,8 +1748,7 @@ static int do_get_perms(const void *ctx, struct connection *conn,
 	char *strings;
 	unsigned int len;
 
-	node = get_node_canonicalized(conn, ctx, onearg(in), NULL,
-				      XS_PERM_READ);
+	node = get_spec_node(conn, ctx, onearg(in), NULL, XS_PERM_READ);
 	if (!node)
 		return errno;
 
@@ -1780,17 +1790,9 @@ static int do_set_perms(const void *ctx, struct connection *conn,
 	if (perms.p[0].perms & XS_PERM_IGNORE)
 		return ENOENT;
 
-	/* First arg is node name. */
-	if (strstarts(in->buffer, "@")) {
-		if (set_perms_special(conn, in->buffer, &perms))
-			return errno;
-		send_ack(conn, XS_SET_PERMS);
-		return 0;
-	}
-
 	/* We must own node to do this (tools can do this too). */
-	node = get_node_canonicalized(conn, ctx, in->buffer, &name,
-				      XS_PERM_WRITE | XS_PERM_OWNER);
+	node = get_spec_node(conn, ctx, in->buffer, &name,
+			     XS_PERM_WRITE | XS_PERM_OWNER);
 	if (!node)
 		return errno;
 
@@ -2388,7 +2390,9 @@ void setup_structure(bool live_update)
 		manual_node("/", "tool");
 		manual_node("/tool", "xenstored");
 		manual_node("/tool/xenstored", NULL);
-		domain_entry_fix(dom0_domid, 3, true);
+		manual_node("@releaseDomain", NULL);
+		manual_node("@introduceDomain", NULL);
+		domain_entry_fix(dom0_domid, 5, true);
 	}
 
 	check_store();
@@ -3170,6 +3174,23 @@ static int dump_state_node(const void *ctx, struct connection *conn,
 	return WALK_TREE_OK;
 }
 
+static int dump_state_special_node(FILE *fp, const void *ctx,
+				   struct dump_node_data *data,
+				   const char *name)
+{
+	struct node *node;
+	int ret;
+
+	node = read_node(NULL, ctx, name);
+	if (!node)
+		return dump_state_node_err(data, "Dump node read node error");
+
+	ret = dump_state_node(ctx, NULL, node, data);
+	talloc_free(node);
+
+	return ret;
+}
+
 const char *dump_state_nodes(FILE *fp, const void *ctx)
 {
 	struct dump_node_data data = {
@@ -3181,6 +3202,11 @@ const char *dump_state_nodes(FILE *fp, const void *ctx)
 	if (walk_node_tree(ctx, NULL, "/", &walkfuncs, &data))
 		return data.err;
 
+	if (dump_state_special_node(fp, ctx, &data, "@releaseDomain"))
+		return data.err;
+	if (dump_state_special_node(fp, ctx, &data, "@introduceDomain"))
+		return data.err;
+
 	return NULL;
 }
 
@@ -3354,25 +3380,21 @@ void read_state_node(const void *ctx, const void *state)
 		node->perms.p[i].id = sn->perms[i].domid;
 	}
 
-	if (strstarts(name, "@")) {
-		set_perms_special(&conn, name, &node->perms);
-		talloc_free(node);
-		return;
-	}
-
-	parentname = get_parent(node, name);
-	if (!parentname)
-		barf("allocation error restoring node");
-	parent = read_node(NULL, node, parentname);
-	if (!parent)
-		barf("read parent error restoring node");
+	if (!strstarts(name, "@")) {
+		parentname = get_parent(node, name);
+		if (!parentname)
+			barf("allocation error restoring node");
+		parent = read_node(NULL, node, parentname);
+		if (!parent)
+			barf("read parent error restoring node");
 
-	if (add_child(node, parent, name))
-		barf("allocation error restoring node");
+		if (add_child(node, parent, name))
+			barf("allocation error restoring node");
 
-	set_tdb_key(parentname, &key);
-	if (write_node_raw(NULL, &key, parent, true))
-		barf("write parent error restoring node");
+		set_tdb_key(parentname, &key);
+		if (write_node_raw(NULL, &key, parent, true))
+			barf("write parent error restoring node");
+	}
 
 	set_tdb_key(name, &key);
 	if (write_node_raw(NULL, &key, node, true))
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 3ad1028edb..c881c93d1d 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -43,9 +43,6 @@ static evtchn_port_t virq_port;
 
 xenevtchn_handle *xce_handle = NULL;
 
-static struct node_perms dom_release_perms;
-static struct node_perms dom_introduce_perms;
-
 struct domain
 {
 	/* The id of this domain */
@@ -225,27 +222,6 @@ static void unmap_interface(void *interface)
 	xengnttab_unmap(*xgt_handle, interface, 1);
 }
 
-static void remove_domid_from_perm(struct node_perms *perms,
-				   struct domain *domain)
-{
-	unsigned int cur, new;
-
-	if (perms->p[0].id == domain->domid)
-		perms->p[0].id = priv_domid;
-
-	for (cur = new = 1; cur < perms->num; cur++) {
-		if (perms->p[cur].id == domain->domid)
-			continue;
-
-		if (new != cur)
-			perms->p[new] = perms->p[cur];
-
-		new++;
-	}
-
-	perms->num = new;
-}
-
 static int domain_tree_remove_sub(const void *ctx, struct connection *conn,
 				  struct node *node, void *arg)
 {
@@ -297,8 +273,24 @@ static void domain_tree_remove(struct domain *domain)
 			       "error when looking for orphaned nodes\n");
 	}
 
-	remove_domid_from_perm(&dom_release_perms, domain);
-	remove_domid_from_perm(&dom_introduce_perms, domain);
+	walk_node_tree(domain, NULL, "@releaseDomain", &walkfuncs, domain);
+	walk_node_tree(domain, NULL, "@introduceDomain", &walkfuncs, domain);
+}
+
+static void fire_special_watches(const char *name)
+{
+	void *ctx = talloc_new(NULL);
+	struct node *node;
+
+	if (!ctx)
+		return;
+
+	node = read_node(NULL, ctx, name);
+
+	if (node)
+		fire_watches(NULL, ctx, name, node, true, NULL);
+
+	talloc_free(ctx);
 }
 
 static int destroy_domain(void *_domain)
@@ -326,7 +318,7 @@ static int destroy_domain(void *_domain)
 			unmap_interface(domain->interface);
 	}
 
-	fire_watches(NULL, domain, "@releaseDomain", NULL, true, NULL);
+	fire_special_watches("@releaseDomain");
 
 	wrl_domain_destroy(domain);
 
@@ -384,7 +376,7 @@ void check_domains(void)
 		;
 
 	if (notify)
-		fire_watches(NULL, NULL, "@releaseDomain", NULL, true, NULL);
+		fire_special_watches("@releaseDomain");
 }
 
 /* We scan all domains rather than use the information given here. */
@@ -633,8 +625,7 @@ static struct domain *introduce_domain(const void *ctx,
 		}
 
 		if (!is_master_domain && !restore)
-			fire_watches(NULL, ctx, "@introduceDomain", NULL,
-				     true, NULL);
+			fire_special_watches("@introduceDomain");
 	} else {
 		/* Use XS_INTRODUCE for recreating the xenbus event-channel. */
 		if (domain->port)
@@ -840,59 +831,6 @@ const char *get_implicit_path(const struct connection *conn)
 	return conn->domain->path;
 }
 
-static int set_dom_perms_default(struct node_perms *perms)
-{
-	perms->num = 1;
-	perms->p = talloc_array(NULL, struct xs_permissions, perms->num);
-	if (!perms->p)
-		return -1;
-	perms->p->id = 0;
-	perms->p->perms = XS_PERM_NONE;
-
-	return 0;
-}
-
-static struct node_perms *get_perms_special(const char *name)
-{
-	if (!strcmp(name, "@releaseDomain"))
-		return &dom_release_perms;
-	if (!strcmp(name, "@introduceDomain"))
-		return &dom_introduce_perms;
-	return NULL;
-}
-
-int set_perms_special(struct connection *conn, const char *name,
-		      struct node_perms *perms)
-{
-	struct node_perms *p;
-
-	p = get_perms_special(name);
-	if (!p)
-		return EINVAL;
-
-	if ((perm_for_conn(conn, p) & (XS_PERM_WRITE | XS_PERM_OWNER)) !=
-	    (XS_PERM_WRITE | XS_PERM_OWNER))
-		return EACCES;
-
-	p->num = perms->num;
-	talloc_free(p->p);
-	p->p = perms->p;
-	talloc_steal(NULL, perms->p);
-
-	return 0;
-}
-
-bool check_perms_special(const char *name, struct connection *conn)
-{
-	struct node_perms *p;
-
-	p = get_perms_special(name);
-	if (!p)
-		return false;
-
-	return perm_for_conn(conn, p) & XS_PERM_READ;
-}
-
 void dom0_init(void)
 {
 	evtchn_port_t port;
@@ -962,10 +900,6 @@ void domain_init(int evtfd)
 	if (xce_handle == NULL)
 		barf_perror("Failed to open evtchn device");
 
-	if (set_dom_perms_default(&dom_release_perms) ||
-	    set_dom_perms_default(&dom_introduce_perms))
-		barf_perror("Failed to set special permissions");
-
 	if ((rc = xenevtchn_bind_virq(xce_handle, VIRQ_DOM_EXC)) == -1)
 		barf_perror("Failed to bind to domain exception virq port");
 	virq_port = rc;
@@ -1535,60 +1469,6 @@ const char *dump_state_connections(FILE *fp)
 	return ret;
 }
 
-static const char *dump_state_special_node(FILE *fp, const char *name,
-					   const struct node_perms *perms)
-{
-	struct xs_state_record_header head;
-	struct xs_state_node sn;
-	unsigned int pathlen;
-	const char *ret;
-
-	pathlen = strlen(name) + 1;
-
-	head.type = XS_STATE_TYPE_NODE;
-	head.length = sizeof(sn);
-
-	sn.conn_id = 0;
-	sn.ta_id = 0;
-	sn.ta_access = 0;
-	sn.perm_n = perms->num;
-	sn.path_len = pathlen;
-	sn.data_len = 0;
-	head.length += perms->num * sizeof(*sn.perms);
-	head.length += pathlen;
-	head.length = ROUNDUP(head.length, 3);
-	if (fwrite(&head, sizeof(head), 1, fp) != 1)
-		return "Dump special node error";
-	if (fwrite(&sn, sizeof(sn), 1, fp) != 1)
-		return "Dump special node error";
-
-	ret = dump_state_node_perms(fp, perms->p, perms->num);
-	if (ret)
-		return ret;
-
-	if (fwrite(name, pathlen, 1, fp) != 1)
-		return "Dump special node path error";
-
-	ret = dump_state_align(fp);
-
-	return ret;
-}
-
-const char *dump_state_special_nodes(FILE *fp)
-{
-	const char *ret;
-
-	ret = dump_state_special_node(fp, "@releaseDomain",
-				      &dom_release_perms);
-	if (ret)
-		return ret;
-
-	ret = dump_state_special_node(fp, "@introduceDomain",
-				      &dom_introduce_perms);
-
-	return ret;
-}
-
 void read_state_connection(const void *ctx, const void *state)
 {
 	const struct xs_state_connection *sc = state;
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index b38c82991d..630641d620 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -99,11 +99,6 @@ void domain_outstanding_domid_dec(unsigned int domid);
 int domain_get_quota(const void *ctx, struct connection *conn,
 		     unsigned int domid);
 
-/* Special node permission handling. */
-int set_perms_special(struct connection *conn, const char *name,
-		      struct node_perms *perms);
-bool check_perms_special(const char *name, struct connection *conn);
-
 /* Write rate limiting */
 
 #define WRL_FACTOR   1000 /* for fixed-point arithmetic */
@@ -132,7 +127,6 @@ void wrl_apply_debit_direct(struct connection *conn);
 void wrl_apply_debit_trans_commit(struct connection *conn);
 
 const char *dump_state_connections(FILE *fp);
-const char *dump_state_special_nodes(FILE *fp);
 
 void read_state_connection(const void *ctx, const void *state);
 
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c
index 316c08b7f7..75748ac109 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstore/xenstored_watch.c
@@ -46,13 +46,6 @@ struct watch
 	char *node;
 };
 
-static bool check_special_event(const char *name)
-{
-	assert(name);
-
-	return strstarts(name, "@");
-}
-
 /* Is child a subnode of parent, or equal? */
 static bool is_child(const char *child, const char *parent)
 {
@@ -153,14 +146,8 @@ void fire_watches(struct connection *conn, const void *ctx, const char *name,
 
 	/* Create an event for each watch. */
 	list_for_each_entry(i, &connections, list) {
-		/* introduce/release domain watches */
-		if (check_special_event(name)) {
-			if (!check_perms_special(name, i))
-				continue;
-		} else {
-			if (!watch_permitted(i, ctx, name, node, perms))
-				continue;
-		}
+		if (!watch_permitted(i, ctx, name, node, perms))
+			continue;
 
 		list_for_each_entry(watch, &i->watches, list) {
 			if (exact) {
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:32:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:32:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460895.718930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58Ci-0000Wu-8y; Tue, 13 Dec 2022 16:32:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460895.718930; Tue, 13 Dec 2022 16:32:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58Ci-0000Wn-5K; Tue, 13 Dec 2022 16:32:28 +0000
Received: by outflank-mailman (input) for mailman id 460895;
 Tue, 13 Dec 2022 16:32:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mGeL=4L=citrix.com=prvs=339e21e18=roger.pau@srs-se1.protection.inumbo.net>)
 id 1p58Cg-0008Sb-B5
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:32:26 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b96f8bb1-7b03-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:32:24 +0100 (CET)
Received: from mail-dm6nam11lp2175.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Dec 2022 11:32:22 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by CO3PR03MB6791.namprd03.prod.outlook.com (2603:10b6:303:175::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 16:32:20 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1%9]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 16:32:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b96f8bb1-7b03-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670949145;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=kFQ6UCqPmnuqJ9WmouCTU+CbLPqWzGus9jI8R/AS+bQ=;
  b=BZieA+n6C1yUvjA0EhDgYFK+haU9ve24Dy846lEmJWKnhHmdnYw9ZQra
   jrAh6ObNlvJABjN72fboxy5yV1rDKkwIXl9/6xSADsuD8EVypG8HpgPiB
   bbJt19Ln2sWrAKx9wRk1y+GnZ2rSiSN/tLxamPz6hQw004ePksFSPKAp6
   c=;
X-IronPort-RemoteIP: 104.47.57.175
X-IronPort-MID: 88160297
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:GDoIMqn/uYSQJvTWtQFFIk/o5gxUJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJKWmDTMvjbZWSkKYt2O4ng/BkFu8CGndJgT1Nr+H0xEyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icf3grHmeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aqaVA8w5ARkP6kR5QSGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 c06KBQObk3TvsuRmYOHEMJBguAkPvC+aevzulk4pd3YJdAPZMmaBonvu5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVM3ieewWDbWUoXiqcF9hEGXq
 3iA523kKhobKMae2XyO9XfEaurnzXOiBtpIReLQGvhC2WS8nVE5NjgqbwHk+cOAjUyvcIxhA
 hlBksYphe1onKCxdfHtUhv9rHOasxo0X9tLD/Z8+AyL0rDT4QuSGi4DVDEpQN47sokwTD8j1
 F6MlvvoAyBitPueTnf13rSZszK0fzQUJGkqZCkYQA9D6N7myKkxhB/SStdoEIauk8b4Xzr3x
 liisywWl7gVy8kR2M2GEUvvhjutot3FS1Az7wCOB2a9tFomOciiepCi7kXd4bBYNoGFQ1Kdv
 X8C3c+D8OQJCpLLnyuIKAkQIIyUCz++GGW0qTZS81MJrlxBJ1bLkVhs3QxD
IronPort-HdrOrdr: A9a23:rYUF2aqRXin5aHoiD/eFFXkaV5rveYIsimQD101hICG9Evb0qy
 nOpoV/6faQslwssR4b9uxoVJPvfZq+z+8W3WByB9eftWDd0QPFEGgL1+DfKlbbak7DH4BmtJ
 uJc8JFeafN5VoRt7eG3OFveexQvOVu88qT9JjjJ28Gd3APV0n5hT0JcjpyFCdNNW57LKt8Lr
 WwzOxdqQGtfHwGB/7LfUXsD4D41rv2fIuNW29+OyIa
X-IronPort-AV: E=Sophos;i="5.96,241,1665460800"; 
   d="scan'208";a="88160297"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fG1VzlQN9LwuLlw9M/WlTSdHPF59H9BQAmJW4cYH/qIrLTqvzgISFyINU+bO54JSdHb1NVpbzl4THRaUDP4SDfTovWkT8DcAqQgNs2eNi/8gz5JqvV3ZiYeOh6iABplaZesHJgFeHZ3CkGmtkXdgcNGvrR/UBjxGB69/vqDSuZIBDG71vuGfNYRHBlHaGf4+yKByGPEUd69FTb1rwTtAaN8nA7NQ+pq66PYqElg1A2aHC+6DOeU0iJc5Y2JfOr9aK6PSgrxeshwII1C5paCKG3Lp0u6QpREuWvBqg+WebpxCdrlgX30TdDRZWXfPFHNTOu2RzmhoZV4TEEdmUDEX6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+pOZwwS0tJfftDQXUS/cr3DkGL4CfPBmraxxIz5hRpk=;
 b=H38MuZJZXVRER+a2MqtY1nW5mXJewGGgAQuVJHVbdNfxcGGevBY7CYPHI2/GjfiXePlFAtKEDQFDqEnsmVMjgi7LnsUV/VX2C8KMj01uAgmK5T2byJbbQssEQ7AYfCP/te+0LlwOAOxSI1fL0kTsP/6k+MuwnengQ10j0ag8nYrtB2d22NY0qQjl8QopCnxXEenEgIIkbQT6myQKS/JDgBJ2Cm0lSxd1iDLt2HsdveWvMC0206DRd6ai+6vVNVc5Lr0g+sgzUelRrbe50+XfUPDMypPaeONG8Tv8Ak7i9bcoTzrIGH6qYOTgigtq53eKWFxApcxiP5uKECAo4vSP3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+pOZwwS0tJfftDQXUS/cr3DkGL4CfPBmraxxIz5hRpk=;
 b=NncEd5VGMjgmAM5DBqh19h402gVwBTwB17LIUyXdvy/68XioqHweex/QYWJPowRQILkoIk2Asw89JPE6EyLEA2CaT7OkTjknw6ye6MZCieaVGrvgA+q2CYwZKZd+YeyBs1BY1PP4169aHQ3p+eQATTW6aRmBSMehwyfIYSuNhls=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v4 2/3] x86/vmx: introduce helper to set VMX_INTR_SHADOW_NMI
Date: Tue, 13 Dec 2022 17:31:03 +0100
Message-Id: <20221213163104.19066-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20221213163104.19066-1-roger.pau@citrix.com>
References: <20221213163104.19066-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0125.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:192::22) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|CO3PR03MB6791:EE_
X-MS-Office365-Filtering-Correlation-Id: 9fe188e2-06ed-478d-a611-08dadd279af2
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LeSFaoEnyywJ1vmy26yWSm1EnGtuokBua718gL6RRYoi55Yby7yezxlSJdT8ng+Bw/tEj6dUm4mcvPGIYde42xPa9C2NWvK+Y411F7bo5pomv/NthOuiQ0LWtBPgEv0LBDuh3Mz7cuyMMKIOlFn00RByxoDsNmw3T0z/I8BznAYEkbdMO978i92qqVZiJu5go+STyYdAHkgH2CEbZ2XAtvCfKzqZBvucDGDJNHlqcnaOY3jafw5A+R9qOJ44RysLVc8Tllgb3gC2aEpFEce9M7/zO46fFCBSjL5ZbjkqDtywjMvlZlFj0HdFnqv6ieHwyhyUKvbhYoU+KAtRCR4ze+WEFPBob9W8jAljXDlM3J+TeY7TFL1ITHI+E8kEkGL2maH8JLNbFO0T9y+wXzJvEhPKgvRTKSMDlIVUJL8Wa8j+zlFkpxKxrCezYDcp/eO38+Y6mWGZrgV+fxJQjat9mJLpubzF8bLTAQliMiwfyKUW9Hhg1dMl6UOHjlVJWDH7cv72JEmkRSnd3ITKXrf1r+Nj/LFn7raTAaBLV4JNTzfdXIXo1MHE53Yj6UM+Ohp3n9YkJGWxamx5jSO7Fzmw5nD6LzHaHFFSjljjnQyTKZshlG0BJISc1gb2gNQ86XlBBNhd8JUOZifGIQ/k+IyzUg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(39860400002)(396003)(366004)(136003)(451199015)(38100700002)(82960400001)(5660300002)(86362001)(478600001)(2906002)(6486002)(41300700001)(6666004)(83380400001)(66946007)(6916009)(6506007)(66476007)(316002)(8936002)(4326008)(54906003)(186003)(6512007)(26005)(1076003)(8676002)(66556008)(2616005)(66899015)(36756003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZUs0bUdnZENkdnlXbDJhNk1IK0lmMnJVMWdGNVdkVHoycG9SMHBBelZpMVJD?=
 =?utf-8?B?OTkvQjhkdmxqbUMwS2VSeU1PcjNwdkxzUnRaV0hqRi9JZDZBRExvZUQyNFMr?=
 =?utf-8?B?UkdXb0t6ZXQwcnJRamlDT003bnlYdlU0RkZaemNEdWt1eEgyMjZpTlpDeHFR?=
 =?utf-8?B?YkNlb3VpdUZZRkJKckpJNEVkdHEwK0d6ZFdHT0xvRktDUXZhK0cxNnJwTnNJ?=
 =?utf-8?B?NjFmZDR5a1JybG9RaVJ4QkdibHRVeWc2UGFiNFUvZzRKTlRxaXVZNERLenho?=
 =?utf-8?B?cy9SVWYwaVR1eUk5VERJanpXMG12S2djcGZPNFpqQTFQOExqVzVIUy9MWlpQ?=
 =?utf-8?B?bG0rSktPdjllcEExbEsrQUI1Q0tRam9VRXY0emw2T3FkL3NhTDZZRnVwMkZh?=
 =?utf-8?B?cnFPeW9pSzh0L0dzVTVIM0s5ZnM3QzNhTlgrWU83RXNkRXNxQkd4eUpEOGFn?=
 =?utf-8?B?bnhieXpsZ25ZK05DUEpBNXdXNnFGY2Q4anNUcjgyb2ZOdkFxSjBkdzU1RTVK?=
 =?utf-8?B?RCtRU0JjM01HWGpmbDYyWHJmNVYxb2JDdXBiZEFMaFpQTHZSUEw4eWNIZllY?=
 =?utf-8?B?SnlPMUFmdFhwOXBCYkpzQXBhWlhtb1RtMGk4TWFCWVZqdFhqU1BlS1gwWlVu?=
 =?utf-8?B?TURETXYxaE92NWgrT3p6SFRRc2s4Q1V5S1lvNDZtdUQxVzVZSUw3S1dnVDBX?=
 =?utf-8?B?OEt6L0c5MjFKaUNHdE9wTDlacWE5THc2WlNvdk1VSm5CeGVSTXFncFlESDhK?=
 =?utf-8?B?K3ZHYVVMa1NQS2ZNdnhZcGNsV3R2RTFibmJNMHExMCt6RVMzYlRUaHZNVFg3?=
 =?utf-8?B?MkxTRGRqVlFPUXBDMkUrNW5SL0pUOUloZWVKUVBPdWxXLzVHZkJ1NGFwSEdW?=
 =?utf-8?B?cktZYVNtcGZBTDh2eWlZMzNwM2JxZDBoTkphS0tTTTNWL3JiUXRuYnI2YmpZ?=
 =?utf-8?B?VFNPV2UydXlaL2JNSkZrOW45NzRhM0V1MmZoQWkvZmxITGNUeGJucWlicnlx?=
 =?utf-8?B?N1I2cWNZNEsrSDFRY2ZYN2RVZmhnZ2p4SGQyb1QyT29aM1hMd0F1TlVFdytK?=
 =?utf-8?B?Zkk4U0d4STZIeE9PcUZYQnc4eXpKU0dmVkNhSGhCQUdyeUg1WTUrSFpjYS8z?=
 =?utf-8?B?NHUxaHN4UDNXOUFFUW40eThMR0pZNW55ZFZJWGc2OEpObmhvcENqR0QxRE9D?=
 =?utf-8?B?OUJHN1RPL2JjVUdHbGVNTTZ1cVBRcXpNVzY5cngwSmYxeVhoYldveWVHOWpQ?=
 =?utf-8?B?bFJwVE5XWWdSWlJUamNNSjFCaU5ES3dkWGFxUkdkRUlaOUs5K2cwNExZejFO?=
 =?utf-8?B?Y3lUeldFMTlFVmVXTVQ3ZEF2bHVDeEE1OENJYjlhbmJNYWwybDJJMHlIS2tE?=
 =?utf-8?B?ZStwMkJEUTlGVkpLSzFvTVdpSmNxbkJCZGFZb3JhYk1SbGl4MXp1OG9lUnJr?=
 =?utf-8?B?bVhPdzExeXVqcEU3THNsYUxHVElyY1JqT3JRbWFzeUg5azY5b2l0cHVzcDdw?=
 =?utf-8?B?SXhFTFJKYnFlSFh4RWhlVWgxOGpYMnFsTlVyMmZZamw1K2tQNTNIU1lTL3dK?=
 =?utf-8?B?YXMvUEx5emZqSHBMSnBFYmUxOVM4cnd3SWtCWEllVTlHQVZtdE5pd0s2OEVM?=
 =?utf-8?B?YmswaVNMR3lwRERJdXdPN1VKSHNUQ1hPaDlCaDRHdTNFczVpeGtLRTlybHRK?=
 =?utf-8?B?WmtKaEc4VUtqazBuZG82bjYyMGs0WlowZ2xGYkEvdmx6TW5ZZWJwUExISzVB?=
 =?utf-8?B?aHQvNjNZQVI2L0xzWG13MnJHYllHRHFLa2tEeDlBeUxUaVEvQ0xvYWpiaVAy?=
 =?utf-8?B?OUJQeFpvdDJlMW15K1ZxNTNTUmxFZnZiekhERThUOFEveTM2YzNYRm9WektH?=
 =?utf-8?B?N3k3M3plbGE2ejIxL0tabGc5RWhTSVE3NUh3bXFlQngvK3RsRHk2MmZOWXJo?=
 =?utf-8?B?MjgvQkZmbzhySWIrV1d2WjVYK0ZUYjJiRlB5aTJJNU1vRWRwOXlqZ3RUZDhm?=
 =?utf-8?B?Sndaall4b2VoWlhaQTNOSzJYbkROdG9NbXJSMEk1clZZblJWRGFpcHhzYVZN?=
 =?utf-8?B?U2x3V3ZvZXlqT1cxVmFrcEVDd2ZtRzJrVFhNWGFSdTh0VThXUDB6a0V1T0F0?=
 =?utf-8?B?dEJ4end4WnpvRGpZYldOZnNmbldWSnBocDcyNjNKVE9sRy93UHJhQVFwS295?=
 =?utf-8?B?MHc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9fe188e2-06ed-478d-a611-08dadd279af2
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 16:32:20.1773
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: beDoLpPcgWhu9OR4AMudKyoebG8FVtmmT98Dz7W4vI785c80WBgImFTtQr7X9amGKBFNzl/QK5mK5ZYWCTNhnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR03MB6791

Introduce a small helper to OR VMX_INTR_SHADOW_NMI in
GUEST_INTERRUPTIBILITY_INFO in order to help dealing with the NMI
unblocked by IRET case.  Replace the existing usage in handling
EXIT_REASON_EXCEPTION_NMI and also add such handling to EPT violations
and page-modification log-full events.

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v3:
 - Expand comment.
---
 xen/arch/x86/hvm/vmx/vmx.c             | 28 +++++++++++++++++++-------
 xen/arch/x86/include/asm/hvm/vmx/vmx.h |  3 +++
 2 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 3898f92f85..dabf4a3552 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3964,6 +3964,15 @@ static int vmx_handle_apic_write(void)
     return vlapic_apicv_write(current, exit_qualification & 0xfff);
 }
 
+static void undo_nmis_unblocked_by_iret(void)
+{
+    unsigned long guest_info;
+
+    __vmread(GUEST_INTERRUPTIBILITY_INFO, &guest_info);
+    __vmwrite(GUEST_INTERRUPTIBILITY_INFO,
+              guest_info | VMX_INTR_SHADOW_NMI);
+}
+
 void vmx_vmexit_handler(struct cpu_user_regs *regs)
 {
     unsigned long exit_qualification, exit_reason, idtv_info, intr_info = 0;
@@ -4164,13 +4173,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         if ( unlikely(intr_info & INTR_INFO_NMI_UNBLOCKED_BY_IRET) &&
              !(idtv_info & INTR_INFO_VALID_MASK) &&
              (vector != TRAP_double_fault) )
-        {
-            unsigned long guest_info;
-
-            __vmread(GUEST_INTERRUPTIBILITY_INFO, &guest_info);
-            __vmwrite(GUEST_INTERRUPTIBILITY_INFO,
-                      guest_info | VMX_INTR_SHADOW_NMI);
-        }
+            undo_nmis_unblocked_by_iret();
 
         perfc_incra(cause_vector, vector);
 
@@ -4536,6 +4539,11 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
 
         __vmread(GUEST_PHYSICAL_ADDRESS, &gpa);
         __vmread(EXIT_QUALIFICATION, &exit_qualification);
+
+        if ( unlikely(exit_qualification & INTR_INFO_NMI_UNBLOCKED_BY_IRET) &&
+             !(idtv_info & INTR_INFO_VALID_MASK) )
+            undo_nmis_unblocked_by_iret();
+
         ept_handle_violation(exit_qualification, gpa);
         break;
     }
@@ -4580,6 +4588,12 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         break;
 
     case EXIT_REASON_PML_FULL:
+        __vmread(EXIT_QUALIFICATION, &exit_qualification);
+
+        if ( unlikely(exit_qualification & INTR_INFO_NMI_UNBLOCKED_BY_IRET) &&
+             !(idtv_info & INTR_INFO_VALID_MASK) )
+            undo_nmis_unblocked_by_iret();
+
         vmx_vcpu_flush_pml_buffer(v);
         break;
 
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
index 03995701a1..eae39365aa 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -225,6 +225,9 @@ static inline void pi_clear_sn(struct pi_desc *pi_desc)
 
 /*
  * Interruption-information format
+ *
+ * Note INTR_INFO_NMI_UNBLOCKED_BY_IRET is also used with Exit Qualification
+ * field for EPT violations, PML full and SPP-related event vmexits.
  */
 #define INTR_INFO_VECTOR_MASK           0xff            /* 7:0 */
 #define INTR_INFO_INTR_TYPE_MASK        0x700           /* 10:8 */
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:32:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:32:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460894.718919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58Cg-0000HB-Ts; Tue, 13 Dec 2022 16:32:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460894.718919; Tue, 13 Dec 2022 16:32:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58Cg-0000H0-QZ; Tue, 13 Dec 2022 16:32:26 +0000
Received: by outflank-mailman (input) for mailman id 460894;
 Tue, 13 Dec 2022 16:32:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mGeL=4L=citrix.com=prvs=339e21e18=roger.pau@srs-se1.protection.inumbo.net>)
 id 1p58Cf-0008Sb-Bb
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:32:25 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7d50a4c-7b03-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:32:23 +0100 (CET)
Received: from mail-dm6nam11lp2177.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Dec 2022 11:32:20 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by CO3PR03MB6791.namprd03.prod.outlook.com (2603:10b6:303:175::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 16:32:14 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1%9]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 16:32:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7d50a4c-7b03-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670949143;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=sJ93Kqcs+vf82vQOcu7gbTEFhxiM3Uy2ge4FFxcQ4GQ=;
  b=dOrrVZq0xko4JLK2F7MmLglkrbvqIbLKJuSGN0SbaNSNnhUraS3mKTUf
   omxyT+kZHCAoeX/89vm5wptcszsdmu5EJ081pFQfTfhJG0XuP8suUWpl4
   WYwIM/HdSs8V+jxZsuxVgMypi6wzz2Ul3j1f7rW7Cf2ANNAFfvg1kR2f1
   c=;
X-IronPort-RemoteIP: 104.47.57.177
X-IronPort-MID: 88160268
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:B/O6hq79OW+qLs9KRly+pQxRtO3GchMFZxGqfqrLsTDasY5as4F+v
 mVLC2uFP/nbYTbxL9tyOt/l8klVuMTQmtIxHgpu+H8yHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoS5weE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5my
 O41bzccby6/q8mS26ySCfV9r8E8M5y+VG8fkikIITDxK98DGMmGb4CUoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Ok0ooj+eF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8efzXqlANhMRNVU8NZ6uGDOn3IIUSFMTBjqoNuT1Uq/GNJmf
 hl8Fi0G6PJaGFaQZsnwWVi0rWCJujYYWsFMCKsq5QeV0K3W7g2FQG8eQVZpasEg8sk/RjUo1
 1qAt9LvGTFr9raSTBq19bqKrDX0JSkcK0cDYzMJSU0O5NyLiIM5gw/LT91jOLWoldCzEjb1q
 xiVqAAuirNVitQEv5hX5njCijOo45TMEAg841yOWnr/t1wmIom4e4av9F7Xq+5aK5qURUWAu
 35CnNWC6OcJDteGkynlrPgxIYxFLs2taFX06WOD1bF9n9hx0xZPpbxt3Qw=
IronPort-HdrOrdr: A9a23:QxDQUK/RPQDfDo9/ODBuk+AcI+orL9Y04lQ7vn2ZKSY5TiX4rb
 HKoB1/73XJYVkqN03I9ervBEDiewK/yXcW2+ks1N6ZNWGLhILBFupfBODZsl7d8kPFl9K01c
 1bAtJD4N+bNykGsS4tijPIb+rJw7O8gd+Vbf+19QYIcenzAZsQlzuQDGygYypLbTgDP7UVPr
 yG6PFKojKxEE5nFfhSVhE+Lo7+T8SgruOeXSI7
X-IronPort-AV: E=Sophos;i="5.96,241,1665460800"; 
   d="scan'208";a="88160268"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=huuHqqWJbw/1Gq98HymnQ8vU0U61OEK6OXynt1AS2XOq0X/lfc1fg7R5CBI4kmCY4eDL7racnyhcBexCQ8QEDhyfAff+pDGmgsAHzBZPmORVU3DNb4KPV3skWrpVr3vtiVnvZ2psiZ4zDGwJF325lP5qwTjA1Ok2pUCeWqunkC/TzelLvSzUrKmPIciX+D/FsU42AbbnheEZquPujtqczHh8sTlAsbyCqWR4jzhyT1k+YRVMmhgCxJcC+k9sWoc+yfdiJMEP4sROPKkaPucbRzyI2Rjtx8+1oStyFw5kIzg2L0S8979qsKGM90Ad1vYgpM7yv4Jgi1ChF2m4m8Iaew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2iXDq00v+qB0BlrrSzP2Ii0oJyOF3yLc5fy3YIt0O2M=;
 b=CaH0BI8X44qCAO6PLWk54PG7TkCstLiKUlhahNFOq/53T59laRx4Hr2TFP91FCw7zjZrb+kmBhPfwBF2IBRG0Cv8H5Zkyl+zB8eENDRdZAnKBvXrShVkjtLgeToz0Hhwvfe3PWPcf3q7pR32bsCiXn+XYC7BG9wGX7Evdo5diNZY/gsXn+ivF05W/T5q3fClTJ+LIyPhm/2eIOkcPn7LHo904HjaJMcVE6qbYOvvPZawb7SnHejTLvuF3fgJ6bCZPXf1CAj8QRmOytvpNwWN3KGxS3MQJBaswyjTzXPStaBr/HiQK5+Hb4MjcvmR7sUedDJjG5UBa6z1FO0+wkNP7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2iXDq00v+qB0BlrrSzP2Ii0oJyOF3yLc5fy3YIt0O2M=;
 b=tBFr9CJaSaSlS3o+UI59rvtsN9P4h3ScOvBlGShFFliDSzyRjxnOfZxrXID5Bl9zBGCeZQPKZD8gJ+sXw1a41ghOCjp6y1/QWXRjMbh/RwmQKfuPkeuNdGZTo8KmZoFeHozPJ4DXdcxPNqgO3dR9M4Nyvf9r+E+ocK0rDKixqpA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v4 1/3] x86/vmx: implement VMExit based guest Bus Lock detection
Date: Tue, 13 Dec 2022 17:31:02 +0100
Message-Id: <20221213163104.19066-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20221213163104.19066-1-roger.pau@citrix.com>
References: <20221213163104.19066-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0414.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:189::23) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|CO3PR03MB6791:EE_
X-MS-Office365-Filtering-Correlation-Id: 4cfd1f5e-a44f-4da9-2e54-08dadd2797a3
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PQaYFccMUNJSh64LURevxmH/09jhoW8ca/Hj++ePOsUIS4S2xSxrWUNiGvoj/hUc5pUgp/Fb1imBTWKklj1LXEo5W5PwjSWl0NbSMJVgqJ0dGxENR5tih4TQEaOvyRBjKYGtzMCVteoUVykdU1v2a8eEXQzBT61wo/T+tLX7cximLtnDAEpyWm5miRX4S2h8ItGmsPy0UJ+U94cznvpWAS8IsDwB6kFfrD0bgoSqV9mR+go36eLS8nN9E5whmxv3BJIWIrpNy8q3DUq+yKj6v679BKb2O6JaAmZ5CTbJ/mgu4aSmC5Q2qB1/xc8JSpL+K5hKxF4GiJ6AEVFfJacB8jvAPFHedttONf9NfjfM/QcuQylE3EbPVs7ngqJ050GnzNF98nnC73KPx4PlzEu2btF0LgiCQTL/362COG5lw3z6WEHP//N+ls9m4fIj2Cd9vz8EgyED7OhKEduWnKF7OtGOYVkIc5GfeTqknza8Dpy3n+t+DOGIOCrTHjYGk7LMzeQGyGdoB8u2taR9FOBFeIkz87Xj6plH7M8zxnRzAXMlhvUtPSM+a8l/n0m/jQWD0ikJ+o+DtcyGYo3ynVszZ5E4UgIaV7A/ekvE1U/xJIFPUDP6YopHe7lMGY+4dxHcN55h+SB1vT/8xGZREUXTYDNVWC+EpHtPpoTd8EakuGuAnESUM1fClf3xMRDi3Vui
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(39860400002)(396003)(366004)(136003)(451199015)(38100700002)(82960400001)(5660300002)(86362001)(478600001)(2906002)(6486002)(41300700001)(6666004)(83380400001)(66946007)(6916009)(6506007)(66476007)(316002)(8936002)(4326008)(54906003)(186003)(6512007)(26005)(1076003)(8676002)(66556008)(2616005)(36756003)(21314003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OTFjM1dodi9LYURldUlrN1VwVFlRaFNCS1k1OENZRGVYRDNKS0FMdnkrTmRE?=
 =?utf-8?B?MGFBa20vV2NJYW42QkNjbTE5SUNwS2hnRUNtZW9WdXZ5L2RXOGcvMzBEMHR3?=
 =?utf-8?B?NmJldkc2TkVMUFRVZ0phK2NMaHk1TWs1aktGNTQ5NFA3b0k3dzgvbVA2a25S?=
 =?utf-8?B?Q0M5V2gvUGJVOTNkTkpOS3VVSFZnUW5yNXl0WGZrR3phSjhvKzF5YTZPeUpt?=
 =?utf-8?B?ZEViUHpPYUNBUFA0R3FJc0FEcXE0UGFISVQ0dERxN0dGNmJxd05XUHRwdWN4?=
 =?utf-8?B?bHdNNUZOWGF3MmI1QzV0WlMxdnRGVlpDcWZBbkovWUxZL2s3UDBkMVlaaXJo?=
 =?utf-8?B?TWF3VEsxWU1QK1JoRTZwV3NTR0tvNFdZM0E5UUNERW43WUpzUnRNMjF4dTk5?=
 =?utf-8?B?RVJjV3ptVHZmMDVza2JxTkE4akE1bmZyU2hvb2dRYTBPNWlsdldDb1ZmR1dW?=
 =?utf-8?B?MGlGMjVrdTBNVmR6SXhab2dxYmN3Ukl0SVZqaEUrajNmN1ludDRaakh3Z1RO?=
 =?utf-8?B?ZXJsaXVpY2dKOFUyRlEzNk9BdzNBNXlzTDM2VXgxN1o0TmdGTFprOHFvWkJi?=
 =?utf-8?B?MmJyUE1CSmI1YkNLOWZhR2pscFcyVGFnQk4wVi8vVGJiMmRRelo3YldPZEoz?=
 =?utf-8?B?NnQreWE1MEZvUm0wckJYMy9EY1hiaHJ5eUMvZEZyZDh0ZEN0YTBENHNhbVRP?=
 =?utf-8?B?aWhndUxZM2JicHZFT3k3Lzk3THA3MG9TWk5Td0ppRkdQSjFhSnZ1cFFZNDRz?=
 =?utf-8?B?dGI0cisyZk50ZmR4THZLNDVreFBoU1ZQTUMxSHd3eUl5ZTg3Umx4Zjhobm9D?=
 =?utf-8?B?LzlESjdkSi81ckU0WnRlUTJzbXhZN1FyVEMyWngzcFJKRFhObEtFS3FXNlNL?=
 =?utf-8?B?dzd6RXRlaXVEQm0zU2hVQW1aQjh1dzVKWjhBbkpwdWF0V1ZNdXVWQ3hveDVn?=
 =?utf-8?B?WGxDYVNFN2ZGQ3JNenhxN21seC8vUmFXbWU3RHU5bVIydFFQVU03djRzYmFZ?=
 =?utf-8?B?aWJ5VDJNR3lpaGE4a0lEeDZQVUhRcmcvWlBQYlArQllBUXNzSm04QWZNTkpn?=
 =?utf-8?B?ZXNLYVE5d0NMQU40UkQ0SlJiUXl6QlRJZlpFZGpTSlplVHpic0w0L2V6dXRY?=
 =?utf-8?B?NEZ6WnRjRXZrZEJ5WlBpY3gxSVdaSHpYMXR0UWgvbGVKMExCQVc5RGFOc05t?=
 =?utf-8?B?VmlIcEVEd1FicExpTmpLaGI1ei9yRWkzUFFRZTdsbVhTVlZEZkVpV2hheDZL?=
 =?utf-8?B?dmtPTGdSa25KbFVtK2hMMnkyd09iVnd2ai9oY1lRNmJraVM1cjJwU3NrVnl3?=
 =?utf-8?B?R1NNcnBueGwweVowS3FiT3QzNnpETFdiUEc4dmRuQzhNNVNpTW1vUUtIWU5l?=
 =?utf-8?B?MXJRaGNrTW1iVVpOc05ZNDl4YjNXd1BrRnRYZUpmeCtkM3F5ZlZNMjhVYytn?=
 =?utf-8?B?ZzNTOW90djFoYmRtYlFZUTFFN1Q3QU1iRUJZNlVLam1CemloTityVi93VmpD?=
 =?utf-8?B?L3YrVDdxQVNvU0o0c3pLVkppT0FjZWxiaFFlREFYNDdwaUNZQ2MyRDFQTHdr?=
 =?utf-8?B?cTNNYjFZaXI5Z0JMTHdlekFEa2NBdkRxTkVTanhEMjFaMFRabFBjN0QveFl0?=
 =?utf-8?B?L0ZGTmx4RDFyR3RiclZyMzJEM09BRGt5RERXQVRtMUFoRzl6UjRIQ2M0aGRC?=
 =?utf-8?B?RTlEeTkxY2lGMHB1Yy9CZnBGeDVNWDhabzIvSHFvOHBrR3lYSzhpVjA4NjJt?=
 =?utf-8?B?NXZ3MmlaR3NjZTFuYk9uRXdzSXE1VThhZTluM204N1UwSTY2dlM3R3M1eDZ3?=
 =?utf-8?B?c0NEYXpUYWczdlJVQTNmdjIzaUhHZWlPM0NuVXJJMDlIN3RmZm1raG1FOVRQ?=
 =?utf-8?B?ZG5QRWxTcXVDRU0ybGxVR29rd2twSUtTVHZLa0k5TmE4ZFlGZ1BYWXhYVDlY?=
 =?utf-8?B?bW5ZeS94MDVJZ0V5WVJMTmhFQ0xtWExwSzdMK1hiWEwxSHptQ3VJVGI3Q3Zs?=
 =?utf-8?B?VXQ4cyt6WmVVZUlSNW1nRUg2ZmFaVXQzKzZEUm9OL3NPaXpBakd2R0xUWHF3?=
 =?utf-8?B?OTEwNXZsTSs5bFV3dXk4RG9Vdk5zWW9qZFR1Y0FBMTV4UzNUdTdKTjRGamRW?=
 =?utf-8?B?eDJHRkV1cU9XclpXWm5yNmVIODF1RFlDREhweUFCSWNDRGQ1czlyOHlnalRV?=
 =?utf-8?B?ZWc9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4cfd1f5e-a44f-4da9-2e54-08dadd2797a3
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 16:32:14.6206
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CEKxYMYLPkcGx5vr+HG3M08d8ax3rQXU66XGeI822BCNJbCSiPSR3sK1PPgevBGRyufa5kxUXHJRSgARy95qpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR03MB6791

Add support for enabling guest Bus Lock Detection on Intel systems.
Such detection works by triggering a vmexit, which ought to be enough
of a pause to prevent a guest from abusing of the Bus Lock.

Add an extra Xen perf counter to track the number of Bus Locks detected.
This is done because Bus Locks can also be reported by setting the bit
26 in the exit reason field, so also account for those.

Note EXIT_REASON_BUS_LOCK VMExits will always have bit 26 set in
exit_reason, and hence the performance counter doesn't need to be
increased for EXIT_REASON_BUS_LOCK handling.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Style fixes.
 - Fix usage of exit_reason by nested handlers.

Changes since v2:
 - Subject/commit log adjustments.
 - Simply logic given bit 26 will always be set.

Changes since v1:
 - Adjust commit message.
---
 xen/arch/x86/hvm/vmx/vmcs.c             |  4 +++-
 xen/arch/x86/hvm/vmx/vmx.c              | 15 +++++++++++++++
 xen/arch/x86/hvm/vmx/vvmx.c             |  3 ++-
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |  3 +++
 xen/arch/x86/include/asm/hvm/vmx/vmx.h  |  2 ++
 xen/arch/x86/include/asm/perfc_defn.h   |  4 +++-
 6 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index 84dbb88d33..a0d5e8d6ab 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -209,6 +209,7 @@ static void __init vmx_display_features(void)
     P(cpu_has_vmx_virt_exceptions, "Virtualisation Exceptions");
     P(cpu_has_vmx_pml, "Page Modification Logging");
     P(cpu_has_vmx_tsc_scaling, "TSC Scaling");
+    P(cpu_has_vmx_bus_lock_detection, "Bus Lock Detection");
 #undef P
 
     if ( !printed )
@@ -318,7 +319,8 @@ static int vmx_init_vmcs_config(bool bsp)
                SECONDARY_EXEC_ENABLE_VM_FUNCTIONS |
                SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS |
                SECONDARY_EXEC_XSAVES |
-               SECONDARY_EXEC_TSC_SCALING);
+               SECONDARY_EXEC_TSC_SCALING |
+               SECONDARY_EXEC_BUS_LOCK_DETECTION);
         if ( _vmx_misc_cap & VMX_MISC_VMWRITE_ALL )
             opt |= SECONDARY_EXEC_ENABLE_VMCS_SHADOWING;
         if ( opt_vpid_enabled )
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 7c81b80710..3898f92f85 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4081,6 +4081,12 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
             return;
     }
 
+    if ( unlikely(exit_reason & VMX_EXIT_REASONS_BUS_LOCK) )
+    {
+        perfc_incr(buslock);
+        exit_reason &= ~VMX_EXIT_REASONS_BUS_LOCK;
+    }
+
     /* XXX: This looks ugly, but we need a mechanism to ensure
      * any pending vmresume has really happened
      */
@@ -4590,6 +4596,15 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         vmx_handle_descriptor_access(exit_reason);
         break;
 
+    case EXIT_REASON_BUS_LOCK:
+        /*
+         * Nothing to do: just taking a vmexit should be enough of a pause to
+         * prevent a VM from crippling the host with bus locks.  Note
+         * EXIT_REASON_BUS_LOCK will always have bit 26 set in exit_reason, and
+         * hence the perf counter is already increased.
+         */
+        break;
+
     case EXIT_REASON_VMX_PREEMPTION_TIMER_EXPIRED:
     case EXIT_REASON_INVPCID:
     /* fall through */
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 5f54451475..2095c1e612 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -2405,7 +2405,7 @@ void nvmx_idtv_handling(void)
      * be reinjected, otherwise, pass to L1.
      */
     __vmread(VM_EXIT_REASON, &reason);
-    if ( reason != EXIT_REASON_EPT_VIOLATION ?
+    if ( (uint16_t)reason != EXIT_REASON_EPT_VIOLATION ?
          !(nvmx->intr.intr_info & INTR_INFO_VALID_MASK) :
          !nvcpu->nv_vmexit_pending )
     {
@@ -2486,6 +2486,7 @@ int nvmx_n2_vmexit_handler(struct cpu_user_regs *regs,
     case EXIT_REASON_EPT_VIOLATION:
     case EXIT_REASON_EPT_MISCONFIG:
     case EXIT_REASON_EXTERNAL_INTERRUPT:
+    case EXIT_REASON_BUS_LOCK:
         /* pass to L0 handler */
         break;
     case VMX_EXIT_REASONS_FAILED_VMENTRY:
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
index 75f9928abf..f3df5113d4 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -267,6 +267,7 @@ extern u32 vmx_vmentry_control;
 #define SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS   0x00040000
 #define SECONDARY_EXEC_XSAVES                   0x00100000
 #define SECONDARY_EXEC_TSC_SCALING              0x02000000
+#define SECONDARY_EXEC_BUS_LOCK_DETECTION       0x40000000
 extern u32 vmx_secondary_exec_control;
 
 #define VMX_EPT_EXEC_ONLY_SUPPORTED                         0x00000001
@@ -346,6 +347,8 @@ extern u64 vmx_ept_vpid_cap;
     (vmx_secondary_exec_control & SECONDARY_EXEC_XSAVES)
 #define cpu_has_vmx_tsc_scaling \
     (vmx_secondary_exec_control & SECONDARY_EXEC_TSC_SCALING)
+#define cpu_has_vmx_bus_lock_detection \
+    (vmx_secondary_exec_control & SECONDARY_EXEC_BUS_LOCK_DETECTION)
 
 #define VMCS_RID_TYPE_MASK              0x80000000
 
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
index 8eedf59155..03995701a1 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -159,6 +159,7 @@ static inline void pi_clear_sn(struct pi_desc *pi_desc)
  * Exit Reasons
  */
 #define VMX_EXIT_REASONS_FAILED_VMENTRY 0x80000000
+#define VMX_EXIT_REASONS_BUS_LOCK       (1u << 26)
 
 #define EXIT_REASON_EXCEPTION_NMI       0
 #define EXIT_REASON_EXTERNAL_INTERRUPT  1
@@ -219,6 +220,7 @@ static inline void pi_clear_sn(struct pi_desc *pi_desc)
 #define EXIT_REASON_PML_FULL            62
 #define EXIT_REASON_XSAVES              63
 #define EXIT_REASON_XRSTORS             64
+#define EXIT_REASON_BUS_LOCK            74
 /* Remember to also update VMX_PERF_EXIT_REASON_SIZE! */
 
 /*
diff --git a/xen/arch/x86/include/asm/perfc_defn.h b/xen/arch/x86/include/asm/perfc_defn.h
index 509afc516b..6fce21e85a 100644
--- a/xen/arch/x86/include/asm/perfc_defn.h
+++ b/xen/arch/x86/include/asm/perfc_defn.h
@@ -6,7 +6,7 @@ PERFCOUNTER_ARRAY(exceptions,           "exceptions", 32)
 
 #ifdef CONFIG_HVM
 
-#define VMX_PERF_EXIT_REASON_SIZE 65
+#define VMX_PERF_EXIT_REASON_SIZE 75
 #define VMEXIT_NPF_PERFC 143
 #define SVM_PERF_EXIT_REASON_SIZE (VMEXIT_NPF_PERFC + 1)
 PERFCOUNTER_ARRAY(vmexits,              "vmexits",
@@ -128,4 +128,6 @@ PERFCOUNTER(pauseloop_exits, "vmexits from Pause-Loop Detection")
 PERFCOUNTER(iommu_pt_shatters,    "IOMMU page table shatters")
 PERFCOUNTER(iommu_pt_coalesces,   "IOMMU page table coalesces")
 
+PERFCOUNTER(buslock, "Bus Locks Detected")
+
 /*#endif*/ /* __XEN_PERFC_DEFN_H__ */
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:32:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:32:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460893.718908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58Cf-0008Sn-LL; Tue, 13 Dec 2022 16:32:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460893.718908; Tue, 13 Dec 2022 16:32:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58Cf-0008Sg-HX; Tue, 13 Dec 2022 16:32:25 +0000
Received: by outflank-mailman (input) for mailman id 460893;
 Tue, 13 Dec 2022 16:32:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mGeL=4L=citrix.com=prvs=339e21e18=roger.pau@srs-se1.protection.inumbo.net>)
 id 1p58Cd-0008SV-M0
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:32:23 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6386d7b-7b03-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 17:32:21 +0100 (CET)
Received: from mail-mw2nam12lp2048.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.48])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Dec 2022 11:32:12 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by CH0PR03MB6146.namprd03.prod.outlook.com (2603:10b6:610:d1::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 16:32:09 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1%9]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 16:32:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6386d7b-7b03-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670949141;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=Rb0PVpyO6UZQphC7ePHW6gyjvHs/esSEaC34+2Mr6Eo=;
  b=BTTWTES91ggOjBYjYf8hGpyFxRBt5/BjCv111X2+J8qBPAO2XtKuAHFX
   IN8Ja06GiPqjtpFPlCSf4ebuK6z+GyWv+/jzuFJ1bCGC46g5r7MqEB5Tc
   5mscQoK3WvMZCjASQWulQcdnRmKI3E4ZGdE2rJXFCjLyxcPaOZjjjG2QN
   s=;
X-IronPort-RemoteIP: 104.47.66.48
X-IronPort-MID: 87683692
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:cKXaDKhbnY/zPjWphRfZzpEBX161khEKZh0ujC45NGQN5FlHY01je
 htvUWqHOvuCYGXzedhxYIq18ExTv5LWyIdjSQBk+SgxEHwb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5gaFzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQ2B3cKMRGuxNiRxZS3DbhMrOBgKND0adZ3VnFIlVk1DN4AaLWaGeDv2oUd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilIvluS9WDbWUoXiqcF9hEGXq
 3iA523kKhobKMae2XyO9XfEaurnzXylCNlMRefQGvhCr2yC/2grFzgvXEar/9fiuhHmYfgDA
 hlBksYphe1onKCxdfHtUhv9rHOasxo0X9tLD/Z8+AyL0rDT4QuSGi4DVDEpQN47sokwTD8j1
 F6MlvvoAyBitPueTnf13rSZszK0fzQUJGkqZCkYQA9D6N7myKkxhB/SStdoEIauk8b4Xzr3x
 liisywWl7gVy8kR2M2T/03Dgj+qjojESEgy/Aq/dnm+8gpzaYqhZoqpwVvW9/BNKMCeVFbpg
 ZQfs82X7eRLCI7XkiWIGb8JBOvxu6bDNyDAi1lyGZVn7y6q53OoYYFX5nd5OVttNcEHPzTuZ
 Sc/pD9s2XOaB1PyBYcfXm57I51CIXTIfTg9as3pUw==
IronPort-HdrOrdr: A9a23:wOtk3qGE6m4ccrnKpLqE7MeALOsnbusQ8zAXPhZKOHhom62j9/
 xG885x6faZslwssRIb+OxoWpPufZqGz+8R3WB5B97LYOCBggaVxepZg7cKrQeNJ8VQnNQtsp
 uJ38JFeb7N5fkRt7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.96,241,1665460800"; 
   d="scan'208";a="87683692"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XIEzDnoBAqE5SgKMItUevIebhCQ8tIA6zGupskCgXQlt8gLee9DZ/xZgoyekmq3k7g8RbLo5U53JzqYv4Xt9XpgG2fTSaTfMcpkqWqRfEYLMacoeX8ShF5jtyzs/jfqpoorfCm5aL8i3mBFydwDLzG1hzeTCIDxcCxDD1ep2bbnbVPhAbmwqzkMhTC7Vg4vSApB+HUTMK1iJ6Mrq0R4V1ww7D6+lTJ9/ekHfvTn6EGZ7MpEDqA/HIC+OpzH0DitkfKYiwjXiHSYh0hpIpXU3ADmLwEf4Tclk/uCX8nNyiwWL9f6ZYqIYL3NhgSpy3Zyxd/ydXsay0/TifcGjgqeLoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ig8V4x1i3sBd5WtBFvDALy6avUXFdyviSX2qFVqoJgU=;
 b=HmUvZl4MP06xPp+EyUFi8bD5lkn0fUHnZgbXVeBfWQm/4/169ZRqYuYBAX3qYPrTL7x9D+NUFgX68LGr6wjDDMkM3xUWBwFbzYN5RDGK18cLkvRacza0OXmQKnz4HpW5EdylzvpGh/9utnuxZyUVxmjQju/Y0CyHam6iFpv5jF/nd4OMZuz9LHs4lANFSc5rbkL05DL/8DBjHNDKq3sLANWE4+VcvspG6WbVViHk8L+GwEu5m68R+aO28WyEmKvYtf4G2ie9nRn48ni90Q69TsDbf2ssnRXB83uZGkAY/+8ZPPi5bl5Td4BKm+DSKSisSXTQKvCLHQBGXzkhrBh88A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ig8V4x1i3sBd5WtBFvDALy6avUXFdyviSX2qFVqoJgU=;
 b=pb26ViSVwUuKUIQlKvMcf1+6NMIzMcz71RR10/zeZyMo4RTBGb6Iq32U3v40YRg2lJz7yXbund7V7/GL4IvVXDU3XhSxGfNeSO3m16Hnz8Jcyt27XBQhPfh043fuBK+WFazIzXeMi/sZz62oils6w/1oo9el+z+meibwPhwoNh0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 0/3] x86/vmx: implement Bus Lock and VM Notify
Date: Tue, 13 Dec 2022 17:31:01 +0100
Message-Id: <20221213163104.19066-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.39.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0155.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:188::16) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|CH0PR03MB6146:EE_
X-MS-Office365-Filtering-Correlation-Id: a1fd18c6-0f6a-4b3d-961a-08dadd2794b1
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sDSEa8cnC+mbctzCPk8QDgAy1uC0s3A03rK7mN3IS3kZ3z5pZTY5Yqxe0QBBCDRhthX9Ygrz94sMuJCo13CFZd2juoth4Cs0HBh20A/NLi9IgKNkTF4X70t0jwQuSWcQrqFUxyPF4Dr1K2dJO2croCTid5Wmrbi0e2pvzkEXjnIYUKGRk89L2mrSqTRvq0ixjzau31zVVyXPUNC7iVh8fRBn7YIgFk9jmAJpdfDIRebiGu3uKz0vC2+VhrBCtvcuPaRM2DZ2iL37Eujexbr20hZwhQ6mG9atNixWqCZzd5fSBY73CVONmvQw2g3ldLVIua7qqtWNJPjbtF2EwoJBbKMdn9Bgt5+qfUpo6A8gsjz0z0ZIyswIe93pknRf9wGM9eC8D+rhJxnKsmMqIB1Xm2DKvliZ3Q4akI3f1U9lonVsW7aFoMFs3Wf9td7XZ9vYef9+GiYkda1xYgVACYIXwQGfu1iKhCRgfR0itbS31dksuAwzQcKINjEIwF2T6+LRuaK0ORfB8YveJqgNRUkEx+LxbvyQvamxdaqcqSsJQQmdh9AAOS4gO8hC6ZUj6Mhwejvr73EDg5V/tdrmwQmswnP3ygp62cr7VsX5e6HHROB0VYN3ZM2H8O26skgO07YL6i7L8J/s8XUsHhUES7vnfg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(366004)(39860400002)(136003)(396003)(451199015)(86362001)(66556008)(83380400001)(7416002)(82960400001)(66476007)(54906003)(38100700002)(6916009)(316002)(8676002)(66946007)(2906002)(4744005)(1076003)(5660300002)(8936002)(26005)(2616005)(41300700001)(478600001)(186003)(6512007)(4326008)(6486002)(6666004)(6506007)(36756003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZlFCLzFJN0E4eUJwRm0rL0tFbE9iN0p4VGdYdTNyNmVsb0FuazhjOGROU094?=
 =?utf-8?B?M3o0UXhDMDlMZmFZTTRVa3hhN2Z6d3RITEppaWdHMjZkUncxTCtNOUNWZmFN?=
 =?utf-8?B?SjY4dDFGcTMwd2ZMN0pOcXJmd2s0c09GU0krOHFrWE9mcUJXUjhLZFZQK1ls?=
 =?utf-8?B?bmhtTzVWN0pvYktMTTNTVG9RUDQzcVdxVzgvZjZuRzdML2ZHQVc1aFZpdU1M?=
 =?utf-8?B?d2ZUUkhUMlRIR09VaVJYMGI1U2t4V09vZ2hSZ1hZWUtxTGJzNUZlSlFETExz?=
 =?utf-8?B?alF2UTBNeVVVQlJaWjEya3dybXZpL2YyVmY2emFMQlZzZEszQU1GcFoxck9t?=
 =?utf-8?B?bWl0VWtCdG9HeVk2Wm9aVkt0NWpNYXQrWklhUU5LZGF2ZC9pbzlXWFp6Qkpy?=
 =?utf-8?B?WkhXdXV3MTFVYzdkSnl4VzY1RTloRTg5UEhnWStMNEpPL0UxSStaeGNSVG5i?=
 =?utf-8?B?QnhtUUxxZ1dvYWk2OHhic1lUL3p2Sk5yMVhwOHRJazNOQ1VVU3REQ0hHT2Ev?=
 =?utf-8?B?UmNod3J0NEhRYnB5OHdSUmZDbjk5ZUs1WXFQRHoyblEwSHU5ZEpXWHpLeE1w?=
 =?utf-8?B?Y3BIYUZIMFlmaDFVVml4VVYrQ3N2VkV6S2x5eHVBck1aUDNSM3gvSkoveHFY?=
 =?utf-8?B?Rm1Ua0Y5OCtOZFU1VTNIQUxOZ3hoZ1ZXY3oxYjRiTTJkTW5OdXFNQ05zVEg1?=
 =?utf-8?B?dWxwWTBmODl3ejd5UXRkaU9mYm0xSS9uR2N4c2hqWHd5QmZBcDk2U1h2aTdX?=
 =?utf-8?B?WmxWYkZQWWdSSCttZG16aUVjVlgzNEMyK1plblM4UWxqU094RFpkT2RxM003?=
 =?utf-8?B?UU1EWVArd005RzhHcHlHREZaTDlFaHcyeEVmNUhpWHUrY1RhWHVZZnRjRE9u?=
 =?utf-8?B?QmpnUzIzRXNLdk5seWVuTllNaktyZXcxdlBUeVVialExejVXYjVmNld2QS9k?=
 =?utf-8?B?MEFZZWFOU3FDWTNkTTIvOUYyYVdSUDhNY0hqU1RHZFp3QTVtYXc4NTdDckJs?=
 =?utf-8?B?MjJpOFNiKzNJNVhOTGs4ZGxJUkgycStleVBGbU9TZFZ2OHYrZjRvQmp6U2dV?=
 =?utf-8?B?MlJtWUlRZmIvSnBxRi9JZEZ5YmRhN0lyRnZxY1ZOS25VQVZDN05mN1RQdEFE?=
 =?utf-8?B?djJReHlPQ1dVckdGWEdHM2V4cWo3S3J1VWFUeDZjZnU1Vkx1OC9CUlFzaDQw?=
 =?utf-8?B?cTA0STY2QVhuMzlkbDhoeDR6dDRrQmlZdEFaeldHMFF0VlJqYTVrcjYraHRD?=
 =?utf-8?B?b2ovSjJlVVdrSDhWalhDd3JsTXlXNVp0R3RVOXIvSWtEMDdENXBvVnZuOGdY?=
 =?utf-8?B?VGhxeWVoUXpMeERKckRRZzNOVXB5Q21GUFpYOHFIeDFMUHM4UnBxaDY4NHJj?=
 =?utf-8?B?M2U1MFcwbDVXUVpvd2pUVmhwOFhYR3BvV1RIKzJVVXZDNXFMNUpwQitaa2dB?=
 =?utf-8?B?dXY2ZUt1a091UW1Ta0ZEaFNibnNCVTlqblN3a1BJbWVOM0I4N0wvRHN1V28v?=
 =?utf-8?B?UGhQMVRkQ3pEQnRmMUxXU24zb3FHbTg0SzBHOXlHRk9sWWt2VmJMcUY2QmJR?=
 =?utf-8?B?d0x2eG5NRS9Gdm5KNXhQV0VnVW1adE52cEZFYjBwZE1ZNkVXemlvWE1xLzJV?=
 =?utf-8?B?TXJ2VnEvcGd1SHZ0Zjg1NzFMVm1QZS9zeTNtRVU5b1BOcndBL2Q2NTQxNTdz?=
 =?utf-8?B?WUNHT1pmajc1ZmkvUHRra1pvbE0wSnFFQU02UStWblRFKzFVRCs5ODZXWWVa?=
 =?utf-8?B?dU84K1daTkpiWkk0MmJMVXM0dEs1eFU3Zm1MZjRjRW5kZXVKaCttZDJndmkx?=
 =?utf-8?B?eDhQcndleE1WMEIzb2JWSXd0RytPU3dyT3drck4zbmhMeG5TbXY0VDdmd0dl?=
 =?utf-8?B?aVdhdFpLRVlpcnVnaDBJNExWb2NCN29wRCt6ME03VWxsR2Z1Z2hxSDhqWXMw?=
 =?utf-8?B?SVY1WnVwekZpdFRzcjRFK1ZBbzVvVjVhV2FXWVhneW1ZQ3ByNHFiT1ZQVyt0?=
 =?utf-8?B?OVNsMDFlN1hpbE1NclVNdzF3VHVxYVFQYTduYm5LUzRvaVNrb0cwMHlRRUx0?=
 =?utf-8?B?QlJaZXJIWFBoZDZvTzZ3bUkrYmRYczQvbmRkUzJmdWNPVGpnOEgvdk9hTVBt?=
 =?utf-8?Q?JxIz7ph4tiE8z5OpsCqQw4coh?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a1fd18c6-0f6a-4b3d-961a-08dadd2794b1
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 16:32:09.5725
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PmofeYxfLhCAY3/vuyjSBqvAIsEjm0kgpg0kDdw028BTfogMYMV+1dP6KCQcT220yGrEgyt/bvAOxpxfG42b1g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6146

Hello,

Following series implements support for bus lock and notify VM exit.

Patches are not really dependent, but I've developed them together by
virtue of both features being in Intel Instructions Set Extensions PR
Chapter 9.

Thanks, Roger.

Roger Pau Monne (3):
  x86/vmx: implement VMExit based guest Bus Lock detection
  x86/vmx: introduce helper to set VMX_INTR_SHADOW_NMI
  x86/vmx: implement Notify VM Exit

 docs/misc/xen-command-line.pandoc       | 11 ++++
 xen/arch/x86/hvm/vmx/vmcs.c             | 21 ++++++-
 xen/arch/x86/hvm/vmx/vmx.c              | 75 ++++++++++++++++++++++---
 xen/arch/x86/hvm/vmx/vvmx.c             |  4 +-
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |  7 +++
 xen/arch/x86/include/asm/hvm/vmx/vmx.h  | 11 ++++
 xen/arch/x86/include/asm/perfc_defn.h   |  5 +-
 7 files changed, 122 insertions(+), 12 deletions(-)

-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 16:32:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 16:32:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460896.718941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58Cr-0000uc-Kp; Tue, 13 Dec 2022 16:32:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460896.718941; Tue, 13 Dec 2022 16:32:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58Cr-0000uT-H3; Tue, 13 Dec 2022 16:32:37 +0000
Received: by outflank-mailman (input) for mailman id 460896;
 Tue, 13 Dec 2022 16:32:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mGeL=4L=citrix.com=prvs=339e21e18=roger.pau@srs-se1.protection.inumbo.net>)
 id 1p58Cp-0008Sb-VQ
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 16:32:36 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bddf442b-7b03-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 17:32:33 +0100 (CET)
Received: from mail-dm6nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Dec 2022 11:32:30 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by CO3PR03MB6791.namprd03.prod.outlook.com (2603:10b6:303:175::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 16:32:26 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::740b:4e0a:7de4:5ab1%9]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 16:32:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bddf442b-7b03-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1670949153;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=sMuxSnFpNQrAkbbLtQpLS0YoQ8ak+oc74VRZ4eqVs+c=;
  b=g4/VOi0DJm2RfEvNLG9UkpoIfM/rA1pJsrdVACFNcw91dfq3STde5kFS
   HB53k4vZq3iXpk16lLGlEt6TdOppXG/0cz6zVmML5PvpYheJSEIFJNTFi
   3WPUXtsEnmBDueSZY2fw82Ci0GwDERY0OPOqxA3j2CYiNhTvBY21/z8rO
   I=;
X-IronPort-RemoteIP: 104.47.57.169
X-IronPort-MID: 88555885
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:e3M/Iaubevy4kw3wfLubK0HIzefnVKtfMUV32f8akzHdYApBsoF/q
 tZmKW/TOPqIN2vxco9za4638k8OvMLWyN5mGgJk+SBnES4W+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWHzCFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwN2EfSgCJm/2Pm7+cVeA9v8sEFMbqBdZK0p1g5Wmx4fcOZ7nmGvyPyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osj/60bou9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAurCN9PSe3oq5aGhnXUxFIIFAM2XGKH/6GHtFa7BfsDG
 WY9r39GQa8asRbDosPGdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QOtsU7WDgr3
 V+hhM7yCHpkt7j9YXCA8raZqxuiNC5TKnUNDQcfVhcM6dTnpIA1jzrMQ8xlHarzicf6cRnvx
 xiaoS54gK8c5eYJyqP9+1nEijCto5HhTwgp6wGRVWWghit6aZCkYcq06FHdxfdGMIudCFKGu
 RA5d9O26ekPCdSBkXKLSeBURbWxva/bYXvbnEJlGIQn+3K14Xm/cItM4TZ4YkB0LsIDfjyva
 0jW0e9M2KJu0LKRRfcfS+qM5w4ClMAMyfyNuijoU+dz
IronPort-HdrOrdr: A9a23:GDlBVKEzl45v1kSNpLqENMeALOsnbusQ8zAXPiFKOGdom6mj/P
 xG88506faZslsssTIb6LS90dC7IE80rKQU3WBzB8bBYOCFghrREGgK1+KLqQEIfReOk9K1vp
 0OT0ERMrHN5BdB/KHHCaSDYrAd6cjC2pqBwc3Zy25pTQlsYa0l1QFkEQyWe3cGJzWuQaBJba
 ah2g==
X-IronPort-AV: E=Sophos;i="5.96,241,1665460800"; 
   d="scan'208";a="88555885"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gAaWQ9K/uLG4tD/iYgsrQ6QAXsPeXvJO7XKGD/9zYaeu5hPRFfja7NacxtYXfZUyJerEGSRnCsHHMw+mqaBz0KNcN5D+KjIKW6ep31e49uTUw+PwOEj6dHTiRyYGyC7lMr8YhE5B6W+7x1eIFlUeW2use6IhFyDLcvPAVaphNTyZwhihxdzd5MquBL6Tn4lOuytKxAAyzoCgZfOdVIc8WF0XCtJjOvNUuV8JZWU/HQyx0rxi6Oj2MpWgtGUJTFjswSZl/hPESebtiU/el4Pz7YfA6cOFIFJW14U9XykL0z2Gduj1bq0fbTHbc86Li3Vh5Z8gOeo3ic1lZHzb+06XLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Rd68Qyv0Xcs0YjD78x9OxU/cmhG5hpGT4Fa+ZPnIUaU=;
 b=FrJbQs3UHdNOdSrWScuDO1/hkvJSyt6xANtwlMfevjlvMQvX/MWVGAoAsVfysiEJK2AqLDvIpAFO3kNTLTajlOOav61MtqjbrbXRglGLkc308OiKmGgLcvFIOladNBkpMaQcLNiORe3FhykwpP//W3HSgPZQm6bBJPcvWzVIr7kOICJV/bzBzrnfPppnXB32x0OS8yJQGkzlY6beyJ1ivkNqA/BmogwTCCHgGY4F1Bi15UEdLIYK9smPHnbAOBg1JKp2oQgROEKWDek2xB23/GM3rhjdCYxfH2Q64MIkyzYVkR+Ksml/pSKWH+G7XsKPJUiRJ5qaaRnPEVELP/Oguw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Rd68Qyv0Xcs0YjD78x9OxU/cmhG5hpGT4Fa+ZPnIUaU=;
 b=BHY4FmENRs/YCV6kdSpCjmp7wWLVTFp3MOowaiBWwmLiJIMxFUkjI9U4mGzt+olBGU6MWHhZiIY9Ml6sKjYK3QTzvPvPHSGFNiScJt4xdGNbMn/PkPKKdRcBDWie24r4tbcgwnNezh2THZXE34762JZFYUrXtS6eI3SeYvdyUtE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v4 3/3] x86/vmx: implement Notify VM Exit
Date: Tue, 13 Dec 2022 17:31:04 +0100
Message-Id: <20221213163104.19066-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20221213163104.19066-1-roger.pau@citrix.com>
References: <20221213163104.19066-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0146.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9::14) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|CO3PR03MB6791:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c00f314-15d2-4509-cab1-08dadd279ea8
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9uX97OJgu2pA8uMKGN7UlFn6B9aSnaZ4OZWYUb3iRE7Z7wYWTn+4jQVUL/BPjAsyENURFBaQ2jZFBMuIggwkvi3WGKngvk1fV44Jm916vNpCjCxCPoGFhAJGZ2fVqLroOLw0wqfSPzdmNQp1n/z5OChdSiZsSCTg7Qxb4Zk84d8RnCeGj+wfAQfKvqklamtxM9fT/wcWzkEz/tng37tTFcLUSxjubMHYzqWGGbYVlsG5MXvkIVXf53AIr6ifngw+gG3ZO6VqsflcSgKd2IdnU8ET3eVqOcCHTgmqON3DlZK55Ftv8y07NKo/4C3SVQ8qx7yiKWqA/tlhHYK63/fDEzrPJah4Y9edr8Q5s+rB/4Tf8bbCppnzg0qYZJ9TzvvEGUGZ4cjfsIrEFiF0plFnD/gIrqPI3MMjr+s6C5RvWl3xRYGqIG60OgfdhCEbtUpS8NC2FTW1cAzL0Bs3jesrNUvUiH5regbtMw4wWB7UXDEKNjrOHNVGy8aSjb2khIgWbPL9H8HECh/QcJ8EXUVD0v4QKCJzpPuobPElHZh5pFBgHX0v0Hmk9kk6F2uI7Fjiqv5DL9cr3jhxZPn/26wGLopHgJmweiOY/bhYpCBr1DGJjzc5wRqEH79woPIoI5Ox0mWypQ8L9mZkwnG2UZ75Qw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(39860400002)(396003)(366004)(136003)(451199015)(38100700002)(7416002)(82960400001)(5660300002)(86362001)(478600001)(2906002)(6486002)(41300700001)(6666004)(83380400001)(66946007)(6916009)(6506007)(66476007)(316002)(8936002)(4326008)(54906003)(186003)(6512007)(26005)(1076003)(8676002)(66556008)(2616005)(36756003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b0wxRUc2bHJYLzcwNnJqcjdWMUdiRXhWRXhsbW9vdVhyQVJIL01kYjBKQzZI?=
 =?utf-8?B?QUd2a3FpQW5obnhVb0R6TFNjd0prRHRmODRkRFluQzhleXFrR1N5azE3QTFa?=
 =?utf-8?B?UjhBbXE0NE1mZ0d3aXFicXBKYXhIcHhyUG9OV1RhM1ZPRDVqNXJyUGVidEdr?=
 =?utf-8?B?d1dYVk1xRndaWTI2aS9aVTJXVlJ4Yml5eGI5VFJJc3dIY0NBY1E3ZGs0RHgw?=
 =?utf-8?B?bHo3N1VROGFkNUlEMGdHa0lZRG9PMExSbWNIMlFXTzdlaEhYS2p1eGdBZTdX?=
 =?utf-8?B?ajNMeGY1TUlIV2pIQXZSRnlsaHZ2MmdwejlQMU5ZUmp4U2VHRDNneERNRGtQ?=
 =?utf-8?B?SWpHemtFclZtR0FxVE1vNjlXWlNXNlYrSGtvRG8zUGJmSjlxZ0pabVRaTVhE?=
 =?utf-8?B?S0JPMHNwNEplVE8vWVBESDNKWThDc2REUVlPTm0rbzZJeGhtSnZGREUvTHdi?=
 =?utf-8?B?VDhpZnUrMzNZZUM5TVhITkw5MlVJaVNuS2lGR1BEb1JuK1ZkbjR0U2NOZDNQ?=
 =?utf-8?B?RTRlYmUyZ3FCTjlMUUNGYjhTSkw1ajYrTlg3eVZ2YVlFTnV4WVMzZ1c4a1M3?=
 =?utf-8?B?ak90TXVVR2VyT0Z4N2NsZlpWd3hMWGZHRUtHQkhQY0dLbGNtYnlScGpNK29w?=
 =?utf-8?B?VktabUVONjhhZ3RDbHhGWTdJMHMxOVJBK25Bc0kyVU5Ud2htYWdKSUk4TEVN?=
 =?utf-8?B?UDlGbGh6WW5XOGVpTmoxNDFSS0ZFeGhmN2lRNTFNMnZrU2xDb2QzMUJiSDF2?=
 =?utf-8?B?L0gydmxWV1JmeFM3amt2UW9keHpLQWU2ZFZCWWhNYkpjQm93b0x1dncrM3pp?=
 =?utf-8?B?OXhZOCtpZnJTOC9kdWFFS2lYQlNheWtrQ3FIUWtOMm8yeURyK0JhbENmVkJq?=
 =?utf-8?B?alhKTSs0NkkrSThSOXRXUVhXMzBiV0ZpS3RyZEF4YWxtN3puTmtuOGlSeDI1?=
 =?utf-8?B?YkhUcmRJcGcxbVB5aHkvdnR3N29xR0dxa3BxTzJvMGNHbWx4ZE5pQ1NLaTcx?=
 =?utf-8?B?cXpDRWxjM0NNM1h6V1hNY0Y2WXNmUVRMVmNJajFjWWYyb04xWFV1TFF4V1BN?=
 =?utf-8?B?UU5Wem55dHpHT0plVHlPQ01jTGo2TW5GL2hkeFpxR1NuYTZrQ21ORU9JcXdO?=
 =?utf-8?B?Y001elltc2RWaGhzZXpGR29LT1UveHlYQmlYeHl6YmU0UENueWI0dzdyUG85?=
 =?utf-8?B?OE9zKzR1ZUhaOWZHeTN0cWJSUm9XRHI2YWNJVTlleXdXU2dlQXhmcUVwaDds?=
 =?utf-8?B?Q080WmpWQTl2dG1hcmV6WlUvbEdnWVluOWpxRjVVeTI2c2EzcU5JRE13WDFZ?=
 =?utf-8?B?dGhobGVpemJEV3Bta1M1cVZZSStId0hRbHAydGJSYlZoaGFNcmw1ZWhyWVcr?=
 =?utf-8?B?R2xSaUdJa1dWVG1Eam9SMi9FakVlK0RiaUdNSTdmREFsbFRJQUNybjBjV0Vo?=
 =?utf-8?B?bGxzaEFjT0pTTHI4ZFdqRVNPdDQzM3VMaktzeGpXSHVFZFRIa3lkUmJwZFF5?=
 =?utf-8?B?eENyRjRDMklJNHplK0lyWjA5RXUxb24wdEhVMkQyUE5yYUNrTkJPKzhkSEZs?=
 =?utf-8?B?RTVjVDV3T1l2Zkg4eWtiYnFqZDlyZ3BjelBabktVVG5aOG4rUEhEYTQzaEdq?=
 =?utf-8?B?WXVCaE9HczNIWlZjYUxlVW5kU2RuK01PUHlteG1FdFR6MDUybHE4aEV5STRY?=
 =?utf-8?B?N3F1V3VmQ291d0cyZFJrN1o0a1NIbXpCdmNnQkR6VUlOL2xQYXBUTmtiSWlN?=
 =?utf-8?B?T3I4VzQzODZjZTNhcE9kWjJmQjhDSVNTNVlzZXRLa0VoSnBvNmE1a3oxaUpj?=
 =?utf-8?B?Q0psN3VmTEpOc2x4VThaWU5obHRQR2lXdnJBZ29qTmxxN2VPWFp3dWNlRTJm?=
 =?utf-8?B?MXREd0JwZFVSZ2p3TkJQb3BJT0JKdDZ4NVhaRzhKTjU4TlpJUDhpL1FrL3JU?=
 =?utf-8?B?MTUxOU9TbWFnVTFKUGZzSnVzeDN4TkMvazY2akViWGxpZmw2NnRvZTdIR2dO?=
 =?utf-8?B?U3A3S1JlSFF5dU8wMTFFSlRzSzlGM0FidFNnMllLUUxlbDFIL2V6ejBEUEd6?=
 =?utf-8?B?eDM2YlpFR09LSFFDZkdoLzBFSWtqZW5vdlZhVEtFbjkyL1FIOGFTZmZHanR0?=
 =?utf-8?B?UmgzZ0JJYVFXcVBSZXYzRXNVMkxuT2h1WUxIclg0QjEyMktyK21DaU1ITXNB?=
 =?utf-8?B?QlE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c00f314-15d2-4509-cab1-08dadd279ea8
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 16:32:26.4327
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: akwhcQSgkspBXIBb49+xI/k3y5c6/HsDwGcegpE/B8qbyHuoyc5SHKsOqEgqnMIPmKFadMnPPD9L2E0AiO5qGg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR03MB6791

Under certain conditions guests can get the CPU stuck in an unbounded
loop without the possibility of an interrupt window to occur on
instruction boundary.  This was the case with the scenarios described
in XSA-156.

Make use of the Notify VM Exit mechanism, that will trigger a VM Exit
if no interrupt window occurs for a specified amount of time.  Note
that using the Notify VM Exit avoids having to trap #AC and #DB
exceptions, as Xen is guaranteed to get a VM Exit even if the guest
puts the CPU in a loop without an interrupt window, as such disable
the intercepts if the feature is available and enabled.

Setting the notify VM exit window to 0 is safe because there's a
threshold added by the hardware in order to have a sane window value.

Note the handling of EXIT_REASON_NOTIFY in the nested virtualization
case is passed to L0, and hence a nested guest being able to trigger a
notify VM exit with an invalid context would be able to crash the L1
hypervisor (by L0 destroying the domain).  Since we don't expose VM
Notify support to L1 it should already enable the required
protections in order to prevent VM Notify from triggering in the first
place.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
---
Changes since v3:
 - Handle the exit reason in nvmx_n2_vmexit_handler().
 - Use unlikely.
 - Expand commit message.

Changes since v2:
 - Move up the logic to set the exception bitmap in construct_vmcs().
 - Change perfcounter description.

Changes since v1:
 - Properly update debug state when using notify VM exit.
 - Reword commit message.
---
 docs/misc/xen-command-line.pandoc       | 11 +++++++++
 xen/arch/x86/hvm/vmx/vmcs.c             | 17 +++++++++++++
 xen/arch/x86/hvm/vmx/vmx.c              | 32 +++++++++++++++++++++++--
 xen/arch/x86/hvm/vmx/vvmx.c             |  1 +
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |  4 ++++
 xen/arch/x86/include/asm/hvm/vmx/vmx.h  |  6 +++++
 xen/arch/x86/include/asm/perfc_defn.h   |  3 ++-
 7 files changed, 71 insertions(+), 3 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index b7ee97be76..923910f553 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2636,6 +2636,17 @@ guest will notify Xen that it has failed to acquire a spinlock.
 <major>, <minor> and <build> must be integers. The values will be
 encoded in guest CPUID 0x40000002 if viridian enlightenments are enabled.
 
+### vm-notify-window (Intel)
+> `= <integer>`
+
+> Default: `0`
+
+Specify the value of the VM Notify window used to detect locked VMs. Set to -1
+to disable the feature.  Value is in units of crystal clock cycles.
+
+Note the hardware might add a threshold to the provided value in order to make
+it safe, and hence using 0 is fine.
+
 ### vpid (Intel)
 > `= <boolean>`
 
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index a0d5e8d6ab..3d7c471a3f 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -67,6 +67,9 @@ integer_param("ple_gap", ple_gap);
 static unsigned int __read_mostly ple_window = 4096;
 integer_param("ple_window", ple_window);
 
+static unsigned int __ro_after_init vm_notify_window;
+integer_param("vm-notify-window", vm_notify_window);
+
 static bool __read_mostly opt_ept_pml = true;
 static s8 __read_mostly opt_ept_ad = -1;
 int8_t __read_mostly opt_ept_exec_sp = -1;
@@ -210,6 +213,7 @@ static void __init vmx_display_features(void)
     P(cpu_has_vmx_pml, "Page Modification Logging");
     P(cpu_has_vmx_tsc_scaling, "TSC Scaling");
     P(cpu_has_vmx_bus_lock_detection, "Bus Lock Detection");
+    P(cpu_has_vmx_notify_vm_exiting, "Notify VM Exit");
 #undef P
 
     if ( !printed )
@@ -329,6 +333,8 @@ static int vmx_init_vmcs_config(bool bsp)
             opt |= SECONDARY_EXEC_UNRESTRICTED_GUEST;
         if ( opt_ept_pml )
             opt |= SECONDARY_EXEC_ENABLE_PML;
+        if ( vm_notify_window != ~0u )
+            opt |= SECONDARY_EXEC_NOTIFY_VM_EXITING;
 
         /*
          * "APIC Register Virtualization" and "Virtual Interrupt Delivery"
@@ -1290,6 +1296,17 @@ static int construct_vmcs(struct vcpu *v)
     v->arch.hvm.vmx.exception_bitmap = HVM_TRAP_MASK
               | (paging_mode_hap(d) ? 0 : (1U << TRAP_page_fault))
               | (v->arch.fully_eager_fpu ? 0 : (1U << TRAP_no_device));
+    if ( cpu_has_vmx_notify_vm_exiting )
+    {
+        __vmwrite(NOTIFY_WINDOW, vm_notify_window);
+        /*
+         * Disable #AC and #DB interception: by using VM Notify Xen is
+         * guaranteed to get a VM exit even if the guest manages to lock the
+         * CPU.
+         */
+        v->arch.hvm.vmx.exception_bitmap &= ~((1U << TRAP_debug) |
+                                              (1U << TRAP_alignment_check));
+    }
     vmx_update_exception_bitmap(v);
 
     v->arch.hvm.guest_cr[0] = X86_CR0_PE | X86_CR0_ET;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index dabf4a3552..b11578777a 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1428,10 +1428,19 @@ static void cf_check vmx_update_host_cr3(struct vcpu *v)
 
 void vmx_update_debug_state(struct vcpu *v)
 {
+    unsigned int mask = 1u << TRAP_int3;
+
+    if ( !cpu_has_monitor_trap_flag && cpu_has_vmx_notify_vm_exiting )
+        /*
+         * Only allow toggling TRAP_debug if notify VM exit is enabled, as
+         * unconditionally setting TRAP_debug is part of the XSA-156 fix.
+         */
+        mask |= 1u << TRAP_debug;
+
     if ( v->arch.hvm.debug_state_latch )
-        v->arch.hvm.vmx.exception_bitmap |= 1U << TRAP_int3;
+        v->arch.hvm.vmx.exception_bitmap |= mask;
     else
-        v->arch.hvm.vmx.exception_bitmap &= ~(1U << TRAP_int3);
+        v->arch.hvm.vmx.exception_bitmap &= ~mask;
 
     vmx_vmcs_enter(v);
     vmx_update_exception_bitmap(v);
@@ -4180,6 +4189,9 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         switch ( vector )
         {
         case TRAP_debug:
+            if ( cpu_has_monitor_trap_flag && cpu_has_vmx_notify_vm_exiting )
+                goto exit_and_crash;
+
             /*
              * Updates DR6 where debugger can peek (See 3B 23.2.1,
              * Table 23-1, "Exit Qualification for Debug Exceptions").
@@ -4619,6 +4631,22 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
          */
         break;
 
+    case EXIT_REASON_NOTIFY:
+        __vmread(EXIT_QUALIFICATION, &exit_qualification);
+
+        if ( unlikely(exit_qualification & NOTIFY_VM_CONTEXT_INVALID) )
+        {
+            perfc_incr(vmnotify_crash);
+            gprintk(XENLOG_ERR, "invalid VM context after notify vmexit\n");
+            domain_crash(v->domain);
+            break;
+        }
+
+        if ( unlikely(exit_qualification & INTR_INFO_NMI_UNBLOCKED_BY_IRET) )
+            undo_nmis_unblocked_by_iret();
+
+        break;
+
     case EXIT_REASON_VMX_PREEMPTION_TIMER_EXPIRED:
     case EXIT_REASON_INVPCID:
     /* fall through */
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 2095c1e612..f8fe8d0c14 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -2487,6 +2487,7 @@ int nvmx_n2_vmexit_handler(struct cpu_user_regs *regs,
     case EXIT_REASON_EPT_MISCONFIG:
     case EXIT_REASON_EXTERNAL_INTERRUPT:
     case EXIT_REASON_BUS_LOCK:
+    case EXIT_REASON_NOTIFY:
         /* pass to L0 handler */
         break;
     case VMX_EXIT_REASONS_FAILED_VMENTRY:
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
index f3df5113d4..78404e42b3 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -268,6 +268,7 @@ extern u32 vmx_vmentry_control;
 #define SECONDARY_EXEC_XSAVES                   0x00100000
 #define SECONDARY_EXEC_TSC_SCALING              0x02000000
 #define SECONDARY_EXEC_BUS_LOCK_DETECTION       0x40000000
+#define SECONDARY_EXEC_NOTIFY_VM_EXITING        0x80000000
 extern u32 vmx_secondary_exec_control;
 
 #define VMX_EPT_EXEC_ONLY_SUPPORTED                         0x00000001
@@ -349,6 +350,8 @@ extern u64 vmx_ept_vpid_cap;
     (vmx_secondary_exec_control & SECONDARY_EXEC_TSC_SCALING)
 #define cpu_has_vmx_bus_lock_detection \
     (vmx_secondary_exec_control & SECONDARY_EXEC_BUS_LOCK_DETECTION)
+#define cpu_has_vmx_notify_vm_exiting \
+    (vmx_secondary_exec_control & SECONDARY_EXEC_NOTIFY_VM_EXITING)
 
 #define VMCS_RID_TYPE_MASK              0x80000000
 
@@ -456,6 +459,7 @@ enum vmcs_field {
     SECONDARY_VM_EXEC_CONTROL       = 0x0000401e,
     PLE_GAP                         = 0x00004020,
     PLE_WINDOW                      = 0x00004022,
+    NOTIFY_WINDOW                   = 0x00004024,
     VM_INSTRUCTION_ERROR            = 0x00004400,
     VM_EXIT_REASON                  = 0x00004402,
     VM_EXIT_INTR_INFO               = 0x00004404,
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
index eae39365aa..8e1e42ac47 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -221,6 +221,7 @@ static inline void pi_clear_sn(struct pi_desc *pi_desc)
 #define EXIT_REASON_XSAVES              63
 #define EXIT_REASON_XRSTORS             64
 #define EXIT_REASON_BUS_LOCK            74
+#define EXIT_REASON_NOTIFY              75
 /* Remember to also update VMX_PERF_EXIT_REASON_SIZE! */
 
 /*
@@ -236,6 +237,11 @@ static inline void pi_clear_sn(struct pi_desc *pi_desc)
 #define INTR_INFO_VALID_MASK            0x80000000      /* 31 */
 #define INTR_INFO_RESVD_BITS_MASK       0x7ffff000
 
+/*
+ * Exit Qualifications for NOTIFY VM EXIT
+ */
+#define NOTIFY_VM_CONTEXT_INVALID       1u
+
 /*
  * Exit Qualifications for MOV for Control Register Access
  */
diff --git a/xen/arch/x86/include/asm/perfc_defn.h b/xen/arch/x86/include/asm/perfc_defn.h
index 6fce21e85a..487e20dc97 100644
--- a/xen/arch/x86/include/asm/perfc_defn.h
+++ b/xen/arch/x86/include/asm/perfc_defn.h
@@ -6,7 +6,7 @@ PERFCOUNTER_ARRAY(exceptions,           "exceptions", 32)
 
 #ifdef CONFIG_HVM
 
-#define VMX_PERF_EXIT_REASON_SIZE 75
+#define VMX_PERF_EXIT_REASON_SIZE 76
 #define VMEXIT_NPF_PERFC 143
 #define SVM_PERF_EXIT_REASON_SIZE (VMEXIT_NPF_PERFC + 1)
 PERFCOUNTER_ARRAY(vmexits,              "vmexits",
@@ -129,5 +129,6 @@ PERFCOUNTER(iommu_pt_shatters,    "IOMMU page table shatters")
 PERFCOUNTER(iommu_pt_coalesces,   "IOMMU page table coalesces")
 
 PERFCOUNTER(buslock, "Bus Locks Detected")
+PERFCOUNTER(vmnotify_crash, "domain crashes by Notify VM Exit")
 
 /*#endif*/ /* __XEN_PERFC_DEFN_H__ */
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 17:03:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 17:03:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460938.718964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58gJ-0006DN-Ff; Tue, 13 Dec 2022 17:03:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460938.718964; Tue, 13 Dec 2022 17:03:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58gJ-0006DD-7z; Tue, 13 Dec 2022 17:03:03 +0000
Received: by outflank-mailman (input) for mailman id 460938;
 Tue, 13 Dec 2022 17:03:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=F6Pn=4L=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p58gI-0005xu-Cy
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 17:03:02 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2081.outbound.protection.outlook.com [40.107.21.81])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff98daca-7b07-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 18:03:00 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8783.eurprd04.prod.outlook.com (2603:10a6:102:20e::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Tue, 13 Dec
 2022 17:02:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 17:02:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff98daca-7b07-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DOcy0X4scPSfzOGnEeWz3Hm4ejvsz2qHYua6F+El4ZV4RJdc4aY/4dsZj0CR44siGBzJ0o1uNcPdn7CWcLEs4MdAIixnIRi1fompKb+gRGEimFnSxRFXTa3o9Jtp+TpO5u252pVmmo3iHq0fcnabibCk64lroL4lylZlWq1jSGbEJK+1McfiwyQIL3mKT6k+Nd5KKp0B8sg3oWWr0e5O9+3qm1YNGpk+QKDR40rtGuXaYdJAI5pxsLi1hBkc3t2nGqvGfzLNutY2lU/cUv/fedQBy+ut1O9iPwBBlkkn7J7VnLmigDYjWEPawYT4ndt4fYEG9qZcJW94B0WJD9O98g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tCM7S0P3p1mzg3sbyO5EYEk6eyDEULRwMujHuRSaYMY=;
 b=ZL0K9ewv6wzwboibBBiv/gqV8K3krZ431fHEI3kcQ703ZY7/1Fr2owJKvhERZDQ8lCGkL587XGktNOv4WX/sf9WPS2ZFHAMTr+dyqIwcT7PzutV5fZXQzowTcI6wGK0CmE4eOCHQllZTFZx4HgLFFsip5cKAr07FoHOSIZGAMMAs/TTuVzIiujOGNyyawIhUCOde0aZ5jnwKjVbbSi9ZvBlxs+0xFfO9sWvmcumHlAROfD0hhs56N+WwCqKSGpaePZxy0S0cxjUCg4ssvVikCNZxLOL3TJPxLtNzVoF2FqHk547p95CU2hRLqyGa1Cinqy/ZVT4Cf6rgQrsL5yeDHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tCM7S0P3p1mzg3sbyO5EYEk6eyDEULRwMujHuRSaYMY=;
 b=XIkcwVTUQX51IybLCxzRYyESZCJChRIceFwvJS4cOWKxdjX69ZKQpVSUZu/3W2V2XgDvJy3VRGCeoqBTgb0EDaSD2zBjkGU1LQ4fhL3Y1vmnGoB5bKvcc5ocv37GuMMXGrM+UuMJBgMN0OYjG2vwGToFzZPli19D75LmGStaWfiRcOzaCpr9Tpp+rqqUQSCuPvlCphipvDAmDkYPHY1iu8lq0ystfh9k/ZQowF1gadq8tgdDyn+/dFRGzGA9EfHNDrQo8SVhz9zAOfQQL9RBBUWJzo0wRfSYLDyV42LuSkSMyaCV6P0mJdYvPJmpTHV3djV9YeRfGm5Xk2a/uboUow==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <283a8095-3046-3324-3e8a-8671dc1ee8e7@suse.com>
Date: Tue, 13 Dec 2022 18:02:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH v2 1/2] xen/memory : Add a stats_table resource type
Content-Language: en-US
To: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
Cc: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1665138677.git.matias.vara@vates.fr>
 <af6032c9f5863b7e6fb183a0a197407ec92bb067.1665138677.git.matias.vara@vates.fr>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <af6032c9f5863b7e6fb183a0a197407ec92bb067.1665138677.git.matias.vara@vates.fr>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0164.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8783:EE_
X-MS-Office365-Filtering-Correlation-Id: 79271ac1-d19d-4635-2309-08dadd2be240
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	j42aIQ2CvJ3zdKrlNSnUmSaGS/5hdjeW1wKpZ6F5CHDzTczQHJD6N0W08xE/zZfHtlDiwQLBnGROcaDmCHcYuHj8i8e7BUhgKYj3/IjrEUZQMHfqVHucR7xyITJ/dquaiiWGTY0yT3PT6kHNhgQrrTTNyqDxrJkCKdkogza4GiyDrzMG4BN47Lcm905I9nebtA3X996zy+7H1fvZe0nar7Njc7BS5bAuG5Y0Axb9UPibKCNJweNE6ju/LKsIV7++rOCvnx9WMPHzgejhD1ndr+57DSqXiHTCEixZo5ru9MUoBOZnH3evjGl2ZaCn9pCk+91J8fD86dcwcnnBKpFnFEUD5b2hQJQh1aALuQr9IYj6x8TWqzcxcPGLOHvyNvoPH00TjSfpRTXy9n5/M3euOX4W6j1TYRD5TM6PbHVnBmBeim7ApNQx1oLQJGOC3PDd/XMASrrP0nX1Fojo+C9R4gYB380sJz66C2PBIV2TcoLyAfsv1sjWhM0Z+82d/BH/Emk6PPNkxfPESdo7mya2DEd9OtdPa9sMgZ8WTX/nDwxQssqp4rsuwMyamcHiSlJ3WU0AZ0hK4z2b6JeVFl5r3N95nxi0LPEWeDSdUtJxZckNXGGvtSA2Rsz3QuyF/njqV1spPUU+e2iK/BPEpZXFZbZHPcwEEVZrpJOW3EU1wZeY87wsQSDWqFKR3B98OV57JLd+1N4/gjoN5ItM7YQ9Jfl+la/JxtdAFZLgKwISPak=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(366004)(396003)(39860400002)(346002)(376002)(451199015)(36756003)(478600001)(41300700001)(66946007)(2906002)(38100700002)(5660300002)(86362001)(6486002)(31696002)(53546011)(31686004)(2616005)(66476007)(6916009)(54906003)(316002)(8676002)(66556008)(4326008)(6512007)(186003)(6506007)(8936002)(26005)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L2RhVUdrMDlzaFBrcFlFS2l0eTM3VXdGNXhrZWdKNTdNQUpIK0RSRHBad2xN?=
 =?utf-8?B?dmdRZlVoUWVZNGRQak1MNnVpZ2RkZUo3a2dPWE1RdUtib1VKRk9LK2tXSHhG?=
 =?utf-8?B?SmVycmx3cjNlbVVDeVFieW5sRWR5TzNrMnowKzhqS01HbUgrakI2ekxTV29t?=
 =?utf-8?B?Y25IV2FWR0dhTWdFd3gwZzgwdU5RdTJHQXVOazhKaTBQd2E3NTdIT0h5a3dI?=
 =?utf-8?B?MUNTODhSRHQwVUx1TEpvMmc0d04ydGR4TjdwZmwveWJubWVFREg1VGt2Z2Ja?=
 =?utf-8?B?TngyRnhoQm9iODFHUVJ3Q1JhK1FpZGRBRXBQcUFGenM3YXZqYTFWeWVKZkw2?=
 =?utf-8?B?SURhbkNXNnBzWEI5aWZhY2hDdDFJdVU2TjR0T25Mc0wxLytPTU0xUjJJUzB3?=
 =?utf-8?B?ZVp6NXZwUXFzK0ZMZGZYWkZ6K1BjK1JnWGhMdnZZaTJoWTd6Z3Awc1RKSDlp?=
 =?utf-8?B?a00xZzJZd0cxTXdDTllMM3pzVUZhOGkyUEJQcXh5OFAvT2RrUWROdVJBaDJC?=
 =?utf-8?B?N3ZYV1BaYjJPaDMvZEtFa1A4ZnIxcDgraWhaRTBXUDdwWElHZmovV1Fodlc1?=
 =?utf-8?B?QldCeWpJSzdaZnFYUTJOSVBTa2cyeFM4eE4wNGtZaXBMWHZlbVcreXhHT3U1?=
 =?utf-8?B?KzZOclg5YVViSmNKL2ZMRFdka0x3R1A0TndxNXh1SmpwUzFxcWp3V1ViZ0d6?=
 =?utf-8?B?QjkrM21IZHlwcG55YW9mZUdEMUEzMTVybnZhV2lhMjZYb2c0dlJzTmFqZXZo?=
 =?utf-8?B?QjFmUzhpeW42VHdidTZmdFFMUWZQNVBtMWRkV3prKytKc1QrZURkWCtSRFht?=
 =?utf-8?B?Q05tQi9Od3JxNElIZ1VMQUZKazZJWERPcDhsTGxyb0w3MUVhYjNOdDY0V2li?=
 =?utf-8?B?Y2p4L0RWQUhBYnhiNWw2VUdSVnRBSHg2S1IyS3BLT1lFcC9OV2VFcTY2U0pH?=
 =?utf-8?B?TG8rVmdudmZBOFJrSTJ5V3NjVGkyRkIrSHB4UUJnM2pQT1ZvQkRoUm82eXU2?=
 =?utf-8?B?anlnZ2lRelNjTFVvZXd5QmR6VkNheUJvQjhaRktTTk5sRlVWN2FZN0s0bUk3?=
 =?utf-8?B?UkN5MFJnNnJ1S3V1K28wc1UzOGs5REhWMVF4MFo3ZWpSUTI5eDZybGxQbGRN?=
 =?utf-8?B?Zzc1VW1UYmVUdlVHZlQvWmV2YjdHVVhzTkZ5QzlsSkdDTDExZ3J0ajR4V2FM?=
 =?utf-8?B?SjBFZi8xOEJVWEVhSnZjT2FuQzJsOXBkK0RlYmxlaVZRWWJma0FRS3ZxVU12?=
 =?utf-8?B?Ujg1R05ONERab09JSGZ1SzVycVBXM2FVU0JNSDdzUER0dWx3cHNKZHVRTks2?=
 =?utf-8?B?RU82c0ZBOTNuRzNPOE13dFFZU1dUbU1zL2JqYWVPMUVjYW5SRUFNZTAvSUlo?=
 =?utf-8?B?QXFxWkhXM1BTOVFuNEN3S1VyZ3Fua2QwYWVlTU1qcnM4M05Ec1RNYysrSEdx?=
 =?utf-8?B?a2dCN0IrQ2k4WlJGVGY2K29hKzdqYWdzNWpnbjZHc1VFcHNPNVJ6ZVI2NVFN?=
 =?utf-8?B?UXJJUHFHTUttZk00M3RlMW84SXVUMjdlS2Vzc04wVk5FZngvREJOUzc0bUR6?=
 =?utf-8?B?QWNXamJSUnlwZHA3bW9kRUNSeEFHU0Z0R2lOUk93SHhMKzBlWmpGQUdPdXZs?=
 =?utf-8?B?TkJwSUZPSWdpRHlrUmY0R1dWV1RPaUF5dnBCSnhiVEhqNE9XMi80L1JwOG5r?=
 =?utf-8?B?eDhuZFV3OG5yL0ZkaStnbzJDUDJaTmR4ZXAxWDlUSVdHVE05cEVEaHdjUXU1?=
 =?utf-8?B?eURUeHU5dUUzSUtKbzhBd0N5c21DRmdFWEVydEZtQ1p6ajZyWVd1UlIvdFJ3?=
 =?utf-8?B?ZDhIOStVenNYM3BsT3VCc0VXNkM3azFQbExsQmlLcVRvNXBCbDd1RzZEN2RF?=
 =?utf-8?B?aFgzMnAyc1kxMGJxY2VOM3Z1blZUM1JoaDZHNExyeWdvZUVTZGZ2eFdEK3l6?=
 =?utf-8?B?U1hqMU5wSWhCbWdiSHgxR0F5SzVGTXVSYldrVzRyTTA0L0ViZzNjbjlZcE9M?=
 =?utf-8?B?UHI3dGlGN1RWZ3ozQ2dBV1FjZ1VUTWlRa2JWR3lhT1JIUExaVjN0Szljb1No?=
 =?utf-8?B?Vkk5UTBzSXkvSjFPUWZmdzlLSGZJVUcvbWRMTlk1Wm5YSno3bm5OeUd3alN0?=
 =?utf-8?Q?6SmtBloM9M0VAJ3o2+48f4UM7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79271ac1-d19d-4635-2309-08dadd2be240
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 17:02:57.6782
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nIVzlvhYIMwMCNjr5Y1t+s/011+PI7cZcpIV87ZpoFOB8IRLqZx7OpkORygoLnVChNnCeFEh/YeufgTAJGTcgA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8783

On 07.10.2022 14:39, Matias Ezequiel Vara Larsen wrote:
> This commit proposes a new mechanism to query the RUNSTATE_running counter for
> a given vcpu from a dom0 userspace application. This commit proposes to expose
> that counter by using the acquire_resource interface. The current mechanism
> relies on the XEN_DOMCTL_getvcpuinfo and holds a single global domctl_lock for
> the entire hypercall; and iterate over every vcpu in the system for every
> update thus impacting operations that share that lock.
> 
> This commit proposes to expose vcpu RUNSTATE_running via the
> xenforeignmemory interface thus preventing to issue the hypercall and holding
> the lock. For that purpose, a new resource type named stats_table is added. The
> first frame of this resource stores per-vcpu counters. The frame has one entry
> of type struct vcpu_stats per vcpu. The allocation of this frame only happens
> if the resource is requested. The frame is released after the domain is
> destroyed.
> 
> Note that the updating of this counter is in a hot path, thus, in this commit,
> copying only happens if it is specifically required.
> 
> Note that the exposed structure is extensible in two ways. First, the structure
> vcpu_stats can be extended with new per-vcpu counters while it fits in a frame.

I'm afraid I don't see how this is "extensible". I would recommend that
you outline for yourself how a change would look like to actually add
such a 2nd counter. While doing that keep in mind that whatever changes
you make may not break existing consumers.

It's also not clear what you mean with "fits in a frame": struct
shared_vcpustatspage is a container for an array with a single element.
I may guess (looking at just the public interface) that this really is
meant to be a flexible array (and hence should be marked as such - see
other uses of XEN_FLEX_ARRAY_DIM in the public headers). Yet if that's
the case, then a single page already won't suffice for a domain with
sufficiently many vCPU-s.

> Second, new frames can be added in case new counters are required.

Are you talking of "new counters" here which aren't "new per-vcpu
counters"? Or else what's the difference from the 1st way?

> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -741,6 +741,8 @@ void hvm_domain_relinquish_resources(struct domain *d)
>  
>      ioreq_server_destroy_all(d);
>  
> +    stats_free_vcpu_mfn(d);

How come this lives here? Surely this new feature should be not only
guest-type independent, but also arch-agnostic? Clearly you putting
the new data in struct domain (and not struct arch_domain or yet
deeper in the hierarchy) indicates you may have been meaning to make
it so.

> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -1078,6 +1078,12 @@ unsigned int ioreq_server_max_frames(const struct domain *d)
>      return nr;
>  }
>  
> +unsigned int stats_table_max_frames(const struct domain *d)
> +{
> +    /* One frame per 512 vcpus. */
> +    return 1;
> +}

As alluded to earlier already - 1 isn't going to be suitable for
arbitrary size domains. (Yes, HVM domains are presently limited to
128 vCPU-s, but as per above this shouldn't be a HVM-only feature.)

> @@ -1162,6 +1171,88 @@ static int acquire_vmtrace_buf(
>      return nr_frames;
>  }
>  
> +void stats_free_vcpu_mfn(struct domain * d)
> +{
> +    struct page_info *pg = d->vcpustats_page.pg;
> +
> +    if ( !pg )
> +        return;
> +
> +    d->vcpustats_page.pg = NULL;
> +
> +    if ( d->vcpustats_page.va )
> +        unmap_domain_page_global(d->vcpustats_page.va);
> +
> +    d->vcpustats_page.va = NULL;

We ought to gain UNMAP_DOMAIN_PAGE_GLOBAL() for purposes like this one,
paralleling UNMAP_DOMAIN_PAGE().

> +    put_page_alloc_ref(pg);
> +    put_page_and_type(pg);
> +}
> +
> +static int stats_vcpu_alloc_mfn(struct domain *d)
> +{
> +    struct page_info *pg;
> +
> +    pg = alloc_domheap_page(d, MEMF_no_refcount);
> +
> +    if ( !pg )
> +        return -ENOMEM;
> +
> +    if ( !get_page_and_type(pg, d, PGT_writable_page) ) {

Style: Brace placement (more elsewhere).

> +        put_page_alloc_ref(pg);

This is not allowed when what you may put is the last reference.
See other examples we have in the tree.

> +        return -ENODATA;
> +    }
> +
> +    d->vcpustats_page.va = __map_domain_page_global(pg);
> +    if ( !d->vcpustats_page.va )
> +        goto fail;
> +
> +    d->vcpustats_page.pg = pg;
> +    clear_page(d->vcpustats_page.va);

I guess this should happen before you globally announce the
address.

> +    return 1;

Functions returning -errno on error want to return 0 on success,
unless e.g. multiple success indicators are needed.

> +fail:

Style: Label indentation.

> +    put_page_alloc_ref(pg);
> +    put_page_and_type(pg);
> +
> +    return -ENOMEM;
> +}
> +
> +static int acquire_stats_table(struct domain *d,
> +                                unsigned int id,
> +                                unsigned int frame,
> +                                unsigned int nr_frames,
> +                                xen_pfn_t mfn_list[])

Style: Indentation.

> +{
> +    mfn_t mfn;
> +    int rc;
> +    unsigned int i;
> +
> +    if ( !d )
> +        return -ENOENT;
> +
> +    for ( i = 0; i < nr_frames; i++ )
> +    {
> +        switch ( i )
> +        {
> +        case XENMEM_resource_stats_frame_vcpustats:

Isn't this supposed to be indexed by "id" (which presently you ignore
altogether, which can't be right)?

> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -264,6 +264,8 @@ static inline void vcpu_runstate_change(
>  {
>      s_time_t delta;
>      struct sched_unit *unit = v->sched_unit;
> +    shared_vcpustatspage_t * vcpustats_va;

Style: Stray blank (more elsewhere).

> @@ -287,6 +289,20 @@ static inline void vcpu_runstate_change(
>      }
>  
>      v->runstate.state = new_state;
> +
> +    vcpustats_va = (shared_vcpustatspage_t*)d->vcpustats_page.va;

There should be no need for a cast here.

> +    if ( vcpustats_va )
> +    {
> +	vcpustats_va->vcpu_info[v->vcpu_id].version =

Style: Hard tab.

> +	    version_update_begin(vcpustats_va->vcpu_info[v->vcpu_id].version);
> +        smp_wmb();
> +        memcpy(&vcpustats_va->vcpu_info[v->vcpu_id].runstate_running_time,
> +               &v->runstate.time[RUNSTATE_running],
> +               sizeof(v->runstate.time[RUNSTATE_running]));

Why memcpy() and not a plain assignment?

> +        smp_wmb();
> +        vcpustats_va->vcpu_info[v->vcpu_id].version =
> +            version_update_end(vcpustats_va->vcpu_info[v->vcpu_id].version);
> +    }

Overall latching &vcpustats_va->vcpu_info[v->vcpu_id] into a helper
variable would likely help readability quite a bit.

> --- a/xen/include/public/vcpu.h
> +++ b/xen/include/public/vcpu.h
> @@ -235,6 +235,22 @@ struct vcpu_register_time_memory_area {
>  typedef struct vcpu_register_time_memory_area vcpu_register_time_memory_area_t;
>  DEFINE_XEN_GUEST_HANDLE(vcpu_register_time_memory_area_t);
>  
> +struct vcpu_stats{

Style: Missing blank.

> +    /* If the least-significant bit of the version number is set then an update

Style: Comment layout.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 17:03:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 17:03:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460936.718952 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58gI-0005y2-3A; Tue, 13 Dec 2022 17:03:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460936.718952; Tue, 13 Dec 2022 17:03:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58gH-0005xv-Ud; Tue, 13 Dec 2022 17:03:01 +0000
Received: by outflank-mailman (input) for mailman id 460936;
 Tue, 13 Dec 2022 17:03:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p58gH-0005xk-G5; Tue, 13 Dec 2022 17:03:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p58gH-00061s-Dz; Tue, 13 Dec 2022 17:03:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p58gH-0001CB-74; Tue, 13 Dec 2022 17:03:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p58gH-0002T3-6Y; Tue, 13 Dec 2022 17:03:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wOTOpB8Zvxi1qreqa+bm1HjWITrijwdu5G+A+cp2m+Q=; b=K2tqitlrjupj1XKkUlGvc6e4Kk
	Ci3yB/0MzthsrRoTvdKdWdvHkL5zg0wtMLo/Y7RsUfCcLF+EH1U+lEpWyxSEtpdTw85b6ewZklwlY
	UmufQwKyPeY3SdchgQBR7vYTbpqBLdGGS7ywlq5nzBr8Cws22q009sVyqIvAlCkPiswY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175172-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175172: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=11ce7a2de7549306a853cc3fe3abe6ef8f874b40
X-Osstest-Versions-That:
    ovmf=5890a18409a0e67a491c600b930e6c904ad3b3fd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 13 Dec 2022 17:03:01 +0000

flight 175172 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175172/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 11ce7a2de7549306a853cc3fe3abe6ef8f874b40
baseline version:
 ovmf                 5890a18409a0e67a491c600b930e6c904ad3b3fd

Last test of basis   175151  2022-12-12 06:42:41 Z    1 days
Testing same since   175172  2022-12-13 14:40:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Pierre Gondois <pierre.gondois@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   5890a18409..11ce7a2de7  11ce7a2de7549306a853cc3fe3abe6ef8f874b40 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 17:21:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 17:21:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460958.718974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58yL-0000rw-WC; Tue, 13 Dec 2022 17:21:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460958.718974; Tue, 13 Dec 2022 17:21:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58yL-0000rp-TJ; Tue, 13 Dec 2022 17:21:41 +0000
Received: by outflank-mailman (input) for mailman id 460958;
 Tue, 13 Dec 2022 17:21:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p58yK-0000rb-DT; Tue, 13 Dec 2022 17:21:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p58yK-0006VR-AR; Tue, 13 Dec 2022 17:21:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p58yJ-0001bs-UA; Tue, 13 Dec 2022 17:21:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p58yJ-0006L0-Tb; Tue, 13 Dec 2022 17:21:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7TMl9qr0bt4bCAIazhHnMmKwyc6FRTgQEuw5T+1eo3w=; b=U62Mc8ZZ0jmE/mk5sDBAswNqlp
	h0c3nuYo77TfSmN2o7+kUjXSW7PAtZ0gnU36njZcJOdWfzi31Y0emvT2ASDepeR8F7KLD8J4JFMsu
	TQqEpHZCV8SD2aybkPLjmjxqWrozMh5dq6ReiupQ+06OSgHqJghQMzktLWQ+ZBgbOk44=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175166-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175166: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-localmigrate/x10:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=764822972d64e7f3e6792278ecc7a3b3c81087cd
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 13 Dec 2022 17:21:39 +0000

flight 175166 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175166/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl 20 guest-localmigrate/x10  fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                764822972d64e7f3e6792278ecc7a3b3c81087cd
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   66 days
Failing since        173470  2022-10-08 06:21:34 Z   66 days  134 attempts
Testing same since   175166  2022-12-13 08:33:35 Z    0 days    1 attempts

------------------------------------------------------------
2299 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 259053 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 17:21:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 17:21:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460961.718985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58ya-0001EH-B5; Tue, 13 Dec 2022 17:21:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460961.718985; Tue, 13 Dec 2022 17:21:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p58ya-0001E9-8M; Tue, 13 Dec 2022 17:21:56 +0000
Received: by outflank-mailman (input) for mailman id 460961;
 Tue, 13 Dec 2022 17:21:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p58yY-0001CP-TO; Tue, 13 Dec 2022 17:21:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p58yY-0006Vc-Rl; Tue, 13 Dec 2022 17:21:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p58yY-0001cA-Dr; Tue, 13 Dec 2022 17:21:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p58yY-0006X2-DM; Tue, 13 Dec 2022 17:21:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=G4DuUAiW9DSvJ7Hk2tLOMMy1W82/PZX68mt2aOAcELY=; b=xAuHaRq92dWwVYCsbb9bWauOJf
	56ohyVTHTjECaa3G36YnNr+ac69RNwCSZAqrDUFl13TehAznea7ymzca+c678uob7mipjAKxdTlp9
	vwHbfyca8DxTnRtNalUP7lu2yFdvTLSzoL7xAnKtZer9MNuuIYs4GnAaIYmKT0r+nxIs=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable bisection] complete test-xtf-amd64-amd64-4
Message-Id: <E1p58yY-0006X2-DM@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 13 Dec 2022 17:21:54 +0000

branch xen-unstable
xenbranch xen-unstable
job test-xtf-amd64-amd64-4
testid xen-boot

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Tree: xtf git://xenbits.xen.org/xtf.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Bug not present: eac84d9d579011f311d502317b74dc56e788463d
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175175/


  commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Author: Wei Chen <wei.chen@arm.com>
  Date:   Mon Dec 12 12:13:26 2022 +0100
  
      xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
      
      VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
      results in two lines of error-checking code in phys_to_nid
      that is not actually working and causing two compilation
      errors:
      1. error: "MAX_NUMNODES" undeclared (first use in this function).
         This is because in the common header file, "MAX_NUMNODES" is
         defined after the common header file includes the ARCH header
         file, where phys_to_nid has attempted to use "MAX_NUMNODES".
         This error was resolved after we moved the phys_to_nid from
         x86 ARCH header file to common header file.
      2. error: wrong type argument to unary exclamation mark.
         This is because, the error-checking code contains !node_data[nid].
         But node_data is a data structure variable, it's not a pointer.
      
      So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
      enable the two lines of error-checking code. And fix the left
      compilation errors by replacing !node_data[nid] to
      !node_data[nid].node_spanned_pages. Although NUMA allows one node
      can only have CPUs but without any memory. And node with 0 bytes
      of memory might have an entry in memnodemap[] theoretically. But
      that doesn't mean phys_to_nid can find any valid address from a
      node with 0 bytes memory.
      
      Signed-off-by: Wei Chen <wei.chen@arm.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-xtf-amd64-amd64-4.xen-boot.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable/test-xtf-amd64-amd64-4.xen-boot --summary-out=tmp/175175.bisection-summary --basis-template=175148 --blessings=real,real-bisect,real-retry xen-unstable test-xtf-amd64-amd64-4 xen-boot
Searching for failure / basis pass:
 175154 fail [host=himrod0] / 175148 [host=italia1] 175144 [host=debina1] 175141 [host=pinot1] 175135 [host=godello0] 175126 [host=nocera1] 175104 [host=pinot0] 175091 [host=godello1] 175083 [host=sabro0] 175071 [host=huxelrebe0] 175066 [host=elbling0] 175062 ok.
Failure / basis pass flights: 175154 / 175062
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Tree: xtf git://xenbits.xen.org/xtf.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 96993519424c3fef49fd00d80a271d986767a3cd 5e770502e81e6bde08f55db6b0f66fbc1013850d
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 a6da84524ceaf24ff997d03407b93f60c12857f3 5e770502e81e6bde08f55db6b0f66fbc1013850d
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-c3038e718a19fc596f7b1baba0f83d5146dc7784 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7\
 a0bedfaa6-b746458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/xen.git#a6da84524ceaf24ff997d03407b93f60c12857f3-96993519424c3fef49fd00d80a271d986767a3cd git://xenbits.xen.org/xtf.git#5e770502e81e6bde08f55db6b0f66fbc1013850d-5e770502e81e6bde08f55db6b0f66fbc1013850d
Loaded 5001 nodes in revision graph
Searching for test results:
 175062 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 a6da84524ceaf24ff997d03407b93f60c12857f3 5e770502e81e6bde08f55db6b0f66fbc1013850d
 175066 [host=elbling0]
 175071 [host=huxelrebe0]
 175083 [host=sabro0]
 175091 [host=godello1]
 175104 [host=pinot0]
 175126 [host=nocera1]
 175135 [host=godello0]
 175141 [host=pinot1]
 175144 [host=debina1]
 175148 [host=italia1]
 175154 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 96993519424c3fef49fd00d80a271d986767a3cd 5e770502e81e6bde08f55db6b0f66fbc1013850d
 175158 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 a6da84524ceaf24ff997d03407b93f60c12857f3 5e770502e81e6bde08f55db6b0f66fbc1013850d
 175161 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 96993519424c3fef49fd00d80a271d986767a3cd 5e770502e81e6bde08f55db6b0f66fbc1013850d
 175163 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 54073350bad16b6045522df40a90be79d970aa0e 5e770502e81e6bde08f55db6b0f66fbc1013850d
 175164 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d 5e770502e81e6bde08f55db6b0f66fbc1013850d
 175165 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f00ad745cfa774a269b28e88951b56b7001d4fe0 5e770502e81e6bde08f55db6b0f66fbc1013850d
 175167 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 cfee463c112b8ac261f6ca1d32e4c70e4821ba7a 5e770502e81e6bde08f55db6b0f66fbc1013850d
 175169 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f 5e770502e81e6bde08f55db6b0f66fbc1013850d
 175170 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d 5e770502e81e6bde08f55db6b0f66fbc1013850d
 175171 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f 5e770502e81e6bde08f55db6b0f66fbc1013850d
 175174 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d 5e770502e81e6bde08f55db6b0f66fbc1013850d
 175175 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f 5e770502e81e6bde08f55db6b0f66fbc1013850d
Searching for interesting versions
 Result found: flight 175062 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d 5e770502e81e6bde08f55db6b0f66fbc1013850d, results HASH(0x55cfcc3fe308) HASH(0x55cfcc481480) HASH(0x55cfcc484410) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05\
 e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 54073350bad16b6045522df40a90be79d970aa0e 5e770502e81e6bde08f55db6b0f66fbc1013850d, results HASH(0x55cfcc3fc300) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 a6da84524ceaf24ff997d03407b93f60c12857f3 5e770502e81e6bde08f55db6b0f66fbc1013850d, results HASH(0x55cfcc3f\
 2310) HASH(0x55cfcc3f9cf8) Result found: flight 175154 (fail), for basis failure (at ancestor ~839)
 Repro found: flight 175158 (pass), for basis pass
 Repro found: flight 175161 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d 5e770502e81e6bde08f55db6b0f66fbc1013850d
No revisions left to test, checking graph state.
 Result found: flight 175164 (pass), for last pass
 Result found: flight 175169 (fail), for first failure
 Repro found: flight 175170 (pass), for last pass
 Repro found: flight 175171 (fail), for first failure
 Repro found: flight 175174 (pass), for last pass
 Repro found: flight 175175 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Bug not present: eac84d9d579011f311d502317b74dc56e788463d
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175175/


  commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Author: Wei Chen <wei.chen@arm.com>
  Date:   Mon Dec 12 12:13:26 2022 +0100
  
      xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
      
      VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
      results in two lines of error-checking code in phys_to_nid
      that is not actually working and causing two compilation
      errors:
      1. error: "MAX_NUMNODES" undeclared (first use in this function).
         This is because in the common header file, "MAX_NUMNODES" is
         defined after the common header file includes the ARCH header
         file, where phys_to_nid has attempted to use "MAX_NUMNODES".
         This error was resolved after we moved the phys_to_nid from
         x86 ARCH header file to common header file.
      2. error: wrong type argument to unary exclamation mark.
         This is because, the error-checking code contains !node_data[nid].
         But node_data is a data structure variable, it's not a pointer.
      
      So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
      enable the two lines of error-checking code. And fix the left
      compilation errors by replacing !node_data[nid] to
      !node_data[nid].node_spanned_pages. Although NUMA allows one node
      can only have CPUs but without any memory. And node with 0 bytes
      of memory might have an entry in memnodemap[] theoretically. But
      that doesn't mean phys_to_nid can find any valid address from a
      node with 0 bytes memory.
      
      Signed-off-by: Wei Chen <wei.chen@arm.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/test-xtf-amd64-amd64-4.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
175175: tolerable ALL FAIL

flight 175175 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/175175/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-xtf-amd64-amd64-4        8 xen-boot                fail baseline untested


jobs:
 test-xtf-amd64-amd64-4                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 17:28:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 17:28:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460980.718996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p595G-0002RK-1x; Tue, 13 Dec 2022 17:28:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460980.718996; Tue, 13 Dec 2022 17:28:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p595F-0002RD-Vb; Tue, 13 Dec 2022 17:28:49 +0000
Received: by outflank-mailman (input) for mailman id 460980;
 Tue, 13 Dec 2022 17:28:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TMzb=4L=armlinux.org.uk=linux+xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1p595E-0002R7-Bu
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 17:28:49 +0000
Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk
 [2001:4d48:ad52:32c8:5054:ff:fe00:142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 97aafae4-7b0b-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 18:28:46 +0100 (CET)
Received: from shell.armlinux.org.uk
 ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:35694)
 by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2)
 (envelope-from <linux@armlinux.org.uk>)
 id 1p5956-0007O7-04; Tue, 13 Dec 2022 17:28:40 +0000
Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2)
 (envelope-from <linux@shell.armlinux.org.uk>)
 id 1p5951-0006c0-Lf; Tue, 13 Dec 2022 17:28:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 97aafae4-7b0b-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To:Content-Type:
	MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:
	Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:
	List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;
	bh=+gHcL0GavN66hEyQQto3Gxp/s7JccGCmVE4ksMartuc=; b=svtedpfrmgRz4xaWewVFJm/yqD
	yqeYYjNiqllJeWMYVvO+hGpYRaoRLiwtrOCkBuiaN5D4ma8GagYKR/y3usItIh61p4SRs5FuOTCmv
	K8B84LSgkFMmRSUZ2fPjpdcZv3X6Hn/skU4RME/va+fXJ1nHlrdxCbWA302/9209llsZdYYnH2hCG
	31l2qENg7yJ/X4MPoWpN3r7S8mCGzzA4pIL9d9i9N0BUqOKUya3gsoEpFW3ZgFJea5M4wIMJas0Ck
	18jb1tkQO3d2LE8fn0MTcre9vD/rvQuVYxGY4my9+yKPCVkbhkqLLIRKFkFGGBf7cX9HKwGkyp5Ug
	Xc51TFIA==;
Date: Tue, 13 Dec 2022 17:28:35 +0000
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: "Seija K." <doremylover123@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Chris Zankel <chris@zankel.net>, Max Filippov <jcmvbkbc@gmail.com>,
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org
Subject: Re: [PATCH] arch: change variable types to match those of what is
 assigned to them
Message-ID: <Y5i2Q+wcl3S2JFg4@shell.armlinux.org.uk>
References: <CAA42iKzgsHDC5b+nUyiH8TV0od8LjGp4G-WRyamB=NYtoDtMMw@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAA42iKzgsHDC5b+nUyiH8TV0od8LjGp4G-WRyamB=NYtoDtMMw@mail.gmail.com>
Sender: Russell King (Oracle) <linux@armlinux.org.uk>

On Tue, Dec 13, 2022 at 12:03:51PM -0500, Seija K. wrote:
> There are many places where "int len = strlen(foo);" is written, just
> for len to be passed as a parameter of size_t. This causes truncation
> and then expansion back from int to size_t. Not to mention this is
> poor logic and needless truncations can add extra unneeded
> instructions.
> This patch aims to fix the worst offenders.

I didn't bother looking too closely as the patch has been severely
mangled. I think you need to reconsider how you send patches and
find a way to test before you send emails to mailing lists.

Thanks.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 17:38:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 17:38:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460992.719010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59EH-0004Cq-4L; Tue, 13 Dec 2022 17:38:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460992.719010; Tue, 13 Dec 2022 17:38:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59EH-0004Cj-01; Tue, 13 Dec 2022 17:38:09 +0000
Received: by outflank-mailman (input) for mailman id 460992;
 Tue, 13 Dec 2022 17:38:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wckY=4L=gmail.com=vsuneja63@srs-se1.protection.inumbo.net>)
 id 1p59EC-0004Cd-TO
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 17:38:07 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e1f1378c-7b0c-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 18:37:58 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id qk9so38369084ejc.3
 for <xen-devel@lists.xenproject.org>; Tue, 13 Dec 2022 09:37:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1f1378c-7b0c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=u5DYsc5+b/iQPwRnPfufQ/ADqyKO79nxPEbah5yMSBc=;
        b=EnEVBBRI3Y2VhVeq7QGpjiwFYvh/pppLe33dkWwqyIon+8BN5OG/DOEpXoc/nGy9ov
         W8cVBc1BrespNpArZesElTgd7WuWNsINqqACx0nS/CMXz0g2wwtrqNlDQvbcS+skO2EB
         vDv+cmJzBcMgz/yMieSmERJtiz3xaCPNNIH3nsZJist07o9Y6puDeNWmNJE27tP70zix
         +Fu4vgOLAfVOWpEduEXvwrQ1VVmqUfB74mB5E/jpLlxXqRMaSUW7JWxBr+ocbRCwpx36
         0SNbxRPlKZFvCXbAaPG0E75xn6ihABPLTxnOSFMUjrWWVD/vkfkyNyTbCmodckIpZ8pl
         2lXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=u5DYsc5+b/iQPwRnPfufQ/ADqyKO79nxPEbah5yMSBc=;
        b=K6lePlVpre1bjPcaZJ6bYBa7lJ5KIp/iVu5Y4il6++JCU7ajLqKokXiX4DKVKA/hNV
         1rHFxCZbIYbJ7k+UeSTfmA408TEa/mIPoAUFPeBqH9Ya/x0UlHim9EVCWlpZHt0QRrcG
         AMtgWKSITLCQR/dInaOlnRqCUq7j26YqvFoJP12IgA+lGiap/1kdvBFJ837TueOY5fqx
         EwpdVL651mF3cq5l06LCCm6aqxXHc51FVXdRu6uzOUhbH9KuOODkmLcLnhs4qXOHAmWd
         iJxQTQ+w+U/wZfrfg2I08KwSJEO/whZYgYOwDgL/yNTodwjAgzbRsBEXbcC0rXjNlvUU
         RVfg==
X-Gm-Message-State: ANoB5plBwjtjJBc3rWUGD7kg5Z0zrf90kOkU0UB3cwYNtrg+/AbBExrT
	a18QINGXD1P9871Z1EyoDZjUMyLo+YwQ95jbtDg=
X-Google-Smtp-Source: AA0mqf78pDZHpR1Ho5ulOig8LsGik2deaT4IVREjsUEMSF1OBqV7XTIGRzy6dTcjdcc0jCxoL5REMmWSpFOOIqVk5yI=
X-Received: by 2002:a17:906:72cc:b0:7c1:1c1:c7d6 with SMTP id
 m12-20020a17090672cc00b007c101c1c7d6mr12147639ejl.556.1670953077174; Tue, 13
 Dec 2022 09:37:57 -0800 (PST)
MIME-Version: 1.0
References: <CALAP8f--jyG=ufJ9WGtL6qoeGdsykjNK85G3q50SzJm5+wOzhQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2210171400570.2351079@ubuntu-linux-20-04-desktop>
 <CALAP8f81ojfVD9n5EMtD7DxY-8uomgENVEQH9Afz7Hk9rfaAsw@mail.gmail.com>
 <alpine.DEB.2.22.394.2210181213370.4587@ubuntu-linux-20-04-desktop>
 <CALAP8f9Zgue6WfAk2uRGkg=1Up2Z+eQWqvQ1_Z2=r66Z5fvKoA@mail.gmail.com>
 <alpine.DEB.2.22.394.2210251641540.1397955@ubuntu-linux-20-04-desktop>
 <CALAP8f8Z8A2u8h56EJWOCN7nJFDvyEvM-Q85XMnUP6Y6mZDg3w@mail.gmail.com>
 <CALAP8f_n2okQ-Ss_kGACAq3BVYXS_D2P_8AyhOzUxqgWpz9f4g@mail.gmail.com>
 <alpine.DEB.2.22.394.2211101702250.50442@ubuntu-linux-20-04-desktop>
 <CALAP8f8zGfNA_CZU4UQXy7-rPT6dqih9XpzuKM3vvkoBvy6usg@mail.gmail.com>
 <alpine.DEB.2.22.394.2211221605470.1049131@ubuntu-linux-20-04-desktop>
 <CALAP8f_QiHN4dP3z+LQgKdGeo8-=9DMyk0W7+x6P2eHvnOD_wQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2212011128430.4039@ubuntu-linux-20-04-desktop>
 <CALAP8f_b=0m0dqj9a50UYXYfw9X873i07sG9eyxFSqxF0yEneQ@mail.gmail.com> <alpine.DEB.2.22.394.2212121406270.3075842@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2212121406270.3075842@ubuntu-linux-20-04-desktop>
From: Vipul Suneja <vsuneja63@gmail.com>
Date: Tue, 13 Dec 2022 23:07:44 +0530
Message-ID: <CALAP8f9JY23ZyDGnku4iWf5YCamSQKsZtdZj3MhX9TrF7wgEpw@mail.gmail.com>
Subject: Re: Porting Xen in raspberry pi4B
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, oleksandr_andrushchenko@epam.com, 
	oleksandr_tyshchenko@epam.com, jgross@suse.com, boris.ostrovsky@oracle.com, 
	Bertrand.Marquis@arm.com
Content-Type: multipart/mixed; boundary="0000000000009a391305efb91454"

--0000000000009a391305efb91454
Content-Type: multipart/alternative; boundary="0000000000009a391005efb91452"

--0000000000009a391005efb91452
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Stefano,

Thanks!

I modified xen-fbfront.c source file, included printk debug logs & cross
compiled it. I included the printk debug log at the entry & exit of all
functions of xen-fbfront.c file.
Generated kernel module & loaded in guest machine at bootup. I could see
lots of logs coming up, and could see multiple functions being invoked even
if I have not used
vncviewer in the host. Attaching the log file for reference. Any specific
function or parameters that have to be checked or any other suggestion as
per logs?

Thanks & Regards,
Vipul Kumar

On Tue, Dec 13, 2022 at 3:44 AM Stefano Stabellini <sstabellini@kernel.org>
wrote:

> Hi Vipul,
>
> I am online on IRC OFTC #xendevel (https://www.oftc.net/, you need a
> registered nickname to join #xendevel).
>
> For development and debugging I find that it is a lot easier to
> crosscompile the kernel "by hand", and do a monolithic build, rather
> than going through Yocto.
>
> For instance the following builds for me:
>
> cd linux.git
> export ARCH=3Darm64
> export CROSS_COMPILE=3D/path/to/cross-compiler
> make defconfig
> [add printks to drivers/video/fbdev/xen-fbfront.c]
> make -j8 Image.gz
>
> And Image.gz boots on Xen as DomU kernel without issues.
>
> Cheers,
>
> Stefano
>
> On Sat, 10 Dec 2022, Vipul Suneja wrote:
> > Hi Stefano,
> >
> > Thanks!
> >
> > I have included printk debug logs in the xen-fbfront.c source file.
> While cross compiling to generate .ko with "xen-guest-image-minimal"
> > toolchain it's throwing a modpost
> > not found error. I could see the modpost.c source file but the final
> script is missing. Any input on this, Below are the logs:
> >
> > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Applicatio=
n/Xen/Framebuffer$
> make
> > make ARCH=3Darm64
> -I/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/usr/include/asm -C
> >
> /opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-s=
tandard/build
> >
> M=3D/home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Frameb=
uffer
> modules
> > make[1]: Entering directory
> '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-=
standard/build'
> > arch/arm64/Makefile:36: Detected assembler with broken .inst;
> disassembly will be unreliable
> > warning: the compiler differs from the one used to build the kernel
> >   The kernel was built by: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
> >   You are using:           aarch64-poky-linux-gcc (GCC) 11.3.0
> >   CC [M]
>  /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuff=
er/xen-fbfront.o
> >   MODPOST
> /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffe=
r/Module.symvers
> > /bin/sh: 1: scripts/mod/modpost: not found
> > make[2]: *** [scripts/Makefile.modpost:133:
> /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffe=
r/Module.symvers]
> > Error 127
> > make[1]: *** [Makefile:1813: modules] Error 2
> > make[1]: Leaving directory
> '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-=
standard/build'
> > make: *** [Makefile:5: all] Error 2
> > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Applicatio=
n/Xen/Framebuffer$
> ls -l
> > total 324
> > -rwxrwxrwx 1 agl agl    359 Dec 10 22:41 Makefile
> > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 modules.order
> > -rw-r--r-- 1 agl agl  18331 Dec  1 20:32 xen-fbfront.c
> > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 xen-fbfront.mod
> > -rw-rw-r-- 1 agl agl 297832 Dec 10 22:49 xen-fbfront.o
> > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Applicatio=
n/Xen/Framebuffer$
> file xen-fbfront.o
> > xen-fbfront.o: ELF 64-bit LSB relocatable, ARM aarch64, version 1
> (SYSV), with debug_info, not stripped
> > agl@agl-OptiPlex-7010
> :~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$
> >
> > I have connected a HDMI based 1980x1024 resolution display screen to
> raspberrypi4 for testing purposes. I hope connecting this display to
> > rpi4 should be ok.
> >
> > Is there any other way we can connect also for detailed discussion on
> the display bringup issue? This will really help to resolve this
> > issue.
> >
> > Thanks & Regards,
> > Vipul Kumar
> >
> > On Fri, Dec 2, 2022 at 1:02 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       On Thu, 1 Dec 2022, Vipul Suneja wrote:
> >       > Hi Stefano,
> >       > Thanks!
> >       >
> >       > I am exploring both options here, modification of framebuffer
> source file & setting up x11vnc server in guest.
> >       > Other than these I would like to share a few findings with you.
> >       >
> >       > 1. If i keep "CONFIG_XEN_FBDEV_FRONTEND=3Dy" then xen-fbfront.k=
o
> is not generating but if i keep "CONFIG_XEN_FBDEV_FRONTEND=3Dm"
> >       > then could see xen-fbfront.ko & its loading also. Same things
> with other frontend/backend drivers also. Do we need to
> >       configure these
> >       > drivers as a module(m) only?
> >
> >       xen-fbfront should work both as a module (xen-fbfront.ko) or
> built-in
> >       (CONFIG_XEN_FBDEV_FRONTEND=3Dy).
> >
> >
> >
> >       > 2. I could see xenstored service is running for the host but
> it's always failing for the guest machine. I could see it in
> >       bootup logs & via
> >       > systemctl status also.
> >
> >       That is normal. xenstored is only meant to be run in Dom0, not in
> the
> >       domUs. If you use the same rootfs for Dom0 and DomU then xenstore=
d
> will
> >       fail starting in the DomU (but should succeed in Dom0), which is
> what we
> >       want.
> >
> >       If you run "xenstore-ls" in Dom0, you'll see a bunch of entries,
> >       including some of them related to "vfb" which is the virtual
> framebuffer
> >       protocol. You should also see an entry called "state" set to "4"
> which
> >       means "connected". state =3D 4 is usually when everything works.
> Normally
> >       when things don't work state !=3D 4.
> >
> >
> >
> >       > Below are the logs:
> >       > [  OK  ] Reached target Basic System.
> >       > [  OK  ] Started Kernel Logging Service.
> >       > [  OK  ] Started System Logging Service.
> >       >          Starting D-Bus System Message Bus...
> >       >          Starting User Login Management...
> >       >          Starting Permit User Sessions...
> >       >          Starting The Xen xenstore...
> >       >          Starting OpenSSH Key Generation...
> >       > [FAILED] Failed to start The Xen xenstore.
> >       > See 'systemctl status xenstored.service' for details.
> >       > [DEPEND] Dependency failed for qemu for xen dom0 disk backend.
> >       > [DEPEND] Dependency failed for Xend=E2=80=A6p guests on boot an=
d
> shutdown.
> >       > [DEPEND] Dependency failed for xen-=E2=80=A6des, JSON configura=
tion
> stub).
> >       > [DEPEND] Dependency failed for Xenc=E2=80=A6guest consoles and
> hypervisor.
> >       > [  OK  ] Finished Permit User Sessions.
> >       > [  OK  ] Started Getty on tty1.
> >       > [  OK  ] Started Serial Getty on hvc0.
> >       > [  OK  ] Started Serial Getty on ttyS0.
> >       > [  OK  ] Reached target Login Prompts.
> >       >          Starting Xen-watchdog - run xen watchdog daemon...
> >       > [  OK  ] Started D-Bus System Message Bus.
> >       > [  OK  ] Started Xen-watchdog - run xen watchdog daemon.
> >       > [  OK  ] Finished OpenSSH Key Generation.
> >       > [  OK  ] Started User Login Management.
> >       > [  OK  ] Reached target Multi-User System.
> >       >          Starting Record Runlevel Change in UTMP...
> >       > [  OK  ] Finished Record Runlevel Change in UTMP.
> >       > fbcon: Taking over console
> >       >
> >       > Poky (Yocto Project Reference Distro) 4.0.4 raspberrypi4-64 hvc=
0
> >       >
> >       > raspberrypi4-64 login: root
> >       > root@raspberrypi4-64:~#
> >       > root@raspberrypi4-64:~#
> >       > root@raspberrypi4-64:~# systemctl status xenstored.service
> >       > x xenstored.service - The Xen xenstore
> >       >      Loaded: loaded (/lib/systemd/system/xenstored.service;
> enabled; vendor preset: enabled)
> >       >      Active: failed (Result: exit-code) since Thu 2022-12-01
> 06:12:05 UTC; 26s ago
> >       >     Process: 195 ExecStartPre=3D/bin/grep -q control_d
> /proc/xen/capabilities (code=3Dexited, status=3D1/FAILURE)
> >       >
> >       > Dec 01 06:12:04 raspberrypi4-64 systemd[1]: Starting The Xen
> xenstore...
> >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service:
> Control pro...URE
> >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service:
> Failed with...e'.
> >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: Failed to start The
> Xen xenstore.
> >       > Hint: Some lines were ellipsized, use -l to show in full.
> >       > root@raspberrypi4-64:~#
> >       >
> >       > Any input on these?
> >       >
> >       > Thanks & Regards,
> >       > Vipul Kumar
> >       >
> >       > On Wed, Nov 23, 2022 at 5:41 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       >       Hi Vipul,
> >       >
> >       >       I cannot spot any issue in the configuration, in particua=
l
> you have:
> >       >
> >       >       CONFIG_XEN_FBDEV_FRONTEND=3Dy
> >       >
> >       >       which is what you need.
> >       >
> >       >       The only thing I can suggest is to add printks to the
> Linux frontend
> >       >       driver (the one running in the domU) which is
> >       >       drivers/video/fbdev/xen-fbfront.c and printfs to the QEMU
> backend
> >       >       (running in Dom0) which is hw/display/xenfb.c to figure
> out what is
> >       >       going on.
> >       >
> >       >
> >       >       Alternatively, you can setup PV network with the domU,
> such as:
> >       >
> >       >         vif=3D['']
> >       >
> >       >       and then run x11 and a x11vnc server in your domU. You
> should be able to
> >       >       connect to it using vncviewer at the network IP of your
> domU.
> >       >
> >       >       Basically you are skipping the problem because instead of
> using the PV
> >       >       framebuffer protocol, you just use VNC over the network
> with the domU.
> >       >
> >       >
> >       >       Cheers,
> >       >
> >       >       Stefano
> >       >
> >       >
> >       >       On Tue, 22 Nov 2022, Vipul Suneja wrote:
> >       >       > Hi Stefano,
> >       >       > Thanks for the support!
> >       >       >
> >       >       > Looks like I have tried all the combinations & possible
> ways to get display up but failed. Is there any document or
> >       pdf for
> >       >       porting xen on
> >       >       > raspberrypi4.
> >       >       > I could find lot's of links telling the same but
> couldn't see any official user guide or document from the xen
> >       community on
> >       >       the same. If
> >       >       > there is something to refer
> >       >       > to please share with me.
> >       >       > I am attaching the kernel configuration file also, just
> take a look if i have missed anything.
> >       >       > Any other suggestions or input from your end could be
> really helpful?
> >       >       >
> >       >       > Regards,
> >       >       > Vipul Kumar
> >       >       >
> >       >       > On Fri, Nov 11, 2022 at 6:40 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       >       >       Hi Vipul,
> >       >       >
> >       >       >       Sorry for the late reply. From the earlier logs
> that you sent, it looks
> >       >       >       like everything should be working correctly.
> Specifically:
> >       >       >
> >       >       >            vfb =3D ""
> >       >       >             1 =3D ""
> >       >       >              0 =3D ""
> >       >       >               frontend =3D "/local/domain/1/device/vfb/=
0"
> >       >       >               frontend-id =3D "1"
> >       >       >               online =3D "1"
> >       >       >               state =3D "4"
> >       >       >               vnc =3D "1"
> >       >       >               vnclisten =3D "127.0.0.1"
> >       >       >               vncdisplay =3D "0"
> >       >       >               vncunused =3D "1"
> >       >       >               sdl =3D "0"
> >       >       >               opengl =3D "0"
> >       >       >               feature-resize =3D "1"
> >       >       >               hotplug-status =3D "connected"
> >       >       >               request-update =3D "1"
> >       >       >
> >       >       >       state "4" means "connected". So I would expect
> that you should be able
> >       >       >       to connect to the vnc server using vncviewer. You
> might not see anything
> >       >       >       (black screen) but you should definitely be able
> to connect.
> >       >       >
> >       >       >       I wouldn't try to launch x11 in the guest just
> yet. fbcon in Linux is
> >       >       >       enough to render something on the screen. You
> should be able to see the
> >       >       >       Linux text-based console rendered graphically,
> connecting to it via vnc.
> >       >       >
> >       >       >       Sorry for the basic question, but have you tried
> all the following?
> >       >       >
> >       >       >       vncviewer 127.0.0.1:0
> >       >       >       vncviewer 127.0.0.1:1
> >       >       >       vncviewer 127.0.0.1:2
> >       >       >       vncviewer 127.0.0.1:5900
> >       >       >       vncviewer 127.0.0.1:5901
> >       >       >       vncviewer 127.0.0.1:5902
> >       >       >
> >       >       >       Given that from the xenstore-ls logs everything
> seems to work correctly
> >       >       >       I am not sure what else to suggest. You might hav=
e
> to add printf to QEMU
> >       >       >       ui/vnc.c and hw/display/xenfb.c to see what is
> going wrong.
> >       >       >
> >       >       >       Cheers,
> >       >       >
> >       >       >       Stefano
> >       >       >
> >       >       >
> >       >       >       On Mon, 7 Nov 2022, Vipul Suneja wrote:
> >       >       >       > Hi Stefano,
> >       >       >       > Thanks!
> >       >       >       >
> >       >       >       > Any input further on "xenstore-ls" logs?
> >       >       >       >
> >       >       >       > I am trying to run the x0vncserver & x11vnc
> server manually on guest machine(xen_guest_image_minimal) image
> >       but it's
> >       >       failing
> >       >       >       with the below
> >       >       >       > error.
> >       >       >       >
> >       >       >       > root@raspberrypi4-64:/usr/bin# x0vncserver
> >       >       >       > x0vncserver: unable to open display ""
> >       >       >       > root@raspberrypi4-64:/usr/bin#
> >       >       >       > root@raspberrypi4-64:/usr/bin# x11vnc
> >       >       >       >
> ###############################################################
> >       >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       >       > #@
>             @#
> >       >       >       > #@  **  WARNING  **  WARNING  **  WARNING  **
>  WARNING  **   @#
> >       >       >       > #@
>             @#
> >       >       >       > #@        YOU ARE RUNNING X11VNC WITHOUT A
> PASSWORD!!        @#
> >       >       >       > #@
>             @#
> >       >       >       > #@  This means anyone with network access to
> this computer   @#
> >       >       >       > #@  may be able to view and control your
> desktop.            @#
> >       >       >       > #@
>             @#
> >       >       >       > #@ >>> If you did not mean to do this Press
> CTRL-C now!! <<< @#
> >       >       >       > #@
>             @#
> >       >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       >       > #@
>             @#
> >       >       >       > #@  You can create an x11vnc password file by
> running:       @#
> >       >       >       > #@
>             @#
> >       >       >       > #@       x11vnc -storepasswd password
> /path/to/passfile      @#
> >       >       >       > #@  or   x11vnc -storepasswd /path/to/passfile
>             @#
> >       >       >       > #@  or   x11vnc -storepasswd
>             @#
> >       >       >       > #@
>             @#
> >       >       >       > #@  (the last one will use ~/.vnc/passwd)
>              @#
> >       >       >       > #@
>             @#
> >       >       >       > #@  and then starting x11vnc via:
>              @#
> >       >       >       > #@
>             @#
> >       >       >       > #@      x11vnc -rfbauth /path/to/passfile
>              @#
> >       >       >       > #@
>             @#
> >       >       >       > #@  an existing ~/.vnc/passwd file from another
> VNC          @#
> >       >       >       > #@  application will work fine too.
>              @#
> >       >       >       > #@
>             @#
> >       >       >       > #@  You can also use the -passwdfile or -passwd
> options.     @#
> >       >       >       > #@  (note -passwd is unsafe if local users are
> not trusted)  @#
> >       >       >       > #@
>             @#
> >       >       >       > #@  Make sure any -rfbauth and -passwdfile
> password files    @#
> >       >       >       > #@  cannot be read by untrusted users.
>             @#
> >       >       >       > #@
>             @#
> >       >       >       > #@  Use x11vnc -usepw to automatically use your
>              @#
> >       >       >       > #@  ~/.vnc/passwd or ~/.vnc/passwdfile password
> files.       @#
> >       >       >       > #@  (and prompt you to create ~/.vnc/passwd if
> neither       @#
> >       >       >       > #@  file exists.)  Under -usepw, x11vnc will
> exit if it      @#
> >       >       >       > #@  cannot find a password to use.
>             @#
> >       >       >       > #@
>             @#
> >       >       >       > #@
>             @#
> >       >       >       > #@  Even with a password, the subsequent VNC
> traffic is      @#
> >       >       >       > #@  sent in the clear.  Consider tunnelling via
> ssh(1):      @#
> >       >       >       > #@
>             @#
> >       >       >       > #@
> http://www.karlrunge.com/x11vnc/#tunnelling            @#
> >       >       >       > #@
>             @#
> >       >       >       > #@  Or using the x11vnc SSL options: -ssl and
> -stunnel       @#
> >       >       >       > #@
>             @#
> >       >       >       > #@  Please Read the documentation for more info
> about        @#
> >       >       >       > #@  passwords, security, and encryption.
>             @#
> >       >       >       > #@
>             @#
> >       >       >       > #@
> http://www.karlrunge.com/x11vnc/faq.html#faq-passwd    @#
> >       >       >       > #@
>             @#
> >       >       >       > #@  To disable this warning use the -nopw
> option, or put     @#
> >       >       >       > #@  'nopw' on a line in your ~/.x11vncrc file.
>             @#
> >       >       >       > #@
>             @#
> >       >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       >       >
> ###############################################################
> >       >       >       > 09/03/2018 12:58:41 x11vnc version: 0.9.16
> lastmod: 2019-01-05  pid: 424
> >       >       >       > 09/03/2018 12:58:41 XOpenDisplay("") failed.
> >       >       >       > 09/03/2018 12:58:41 Trying again with
> XAUTHLOCALHOSTNAME=3Dlocalhost ...
> >       >       >       > 09/03/2018 12:58:41
> >       >       >       > 09/03/2018 12:58:41 *** XOpenDisplay failed. No
> -display or DISPLAY.
> >       >       >       > 09/03/2018 12:58:41 *** Trying ":0" in 4
> seconds.  Press Ctrl-C to abort.
> >       >       >       > 09/03/2018 12:58:41 *** 1 2 3 4
> >       >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
> >       >       >       > 09/03/2018 12:58:45 Trying again with
> XAUTHLOCALHOSTNAME=3Dlocalhost ...
> >       >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
> >       >       >       > 09/03/2018 12:58:45 Trying again with unset
> XAUTHLOCALHOSTNAME ...
> >       >       >       > 09/03/2018 12:58:45
> >       >       >       >
> >       >       >       > 09/03/2018 12:58:45
> ***************************************
> >       >       >       > 09/03/2018 12:58:45 *** XOpenDisplay failed (:0=
)
> >       >       >       >
> >       >       >       > *** x11vnc was unable to open the X DISPLAY:
> ":0", it cannot continue.
> >       >       >       > *** There may be "Xlib:" error messages above
> with details about the failure.
> >       >       >       >
> >       >       >       > Some tips and guidelines:
> >       >       >       >
> >       >       >       > ** An X server (the one you wish to view) must
> be running before x11vnc is
> >       >       >       >    started: x11vnc does not start the X server.
>  (however, see the -create
> >       >       >       >    option if that is what you really want).
> >       >       >       >
> >       >       >       > ** You must use -display <disp>, -OR- set and
> export your $DISPLAY
> >       >       >       >    environment variable to refer to the display
> of the desired X server.
> >       >       >       >  - Usually the display is simply ":0" (in fact
> x11vnc uses this if you forget
> >       >       >       >    to specify it), but in some multi-user
> situations it could be ":1", ":2",
> >       >       >       >    or even ":137".  Ask your administrator or a
> guru if you are having
> >       >       >       >    difficulty determining what your X DISPLAY i=
s.
> >       >       >       >
> >       >       >       > ** Next, you need to have sufficient permission=
s
> (Xauthority)
> >       >       >       >    to connect to the X DISPLAY.   Here are some
> Tips:
> >       >       >       >
> >       >       >       >  - Often, you just need to run x11vnc as the
> user logged into the X session.
> >       >       >       >    So make sure to be that user when you type
> x11vnc.
> >       >       >       >  - Being root is usually not enough because the
> incorrect MIT-MAGIC-COOKIE
> >       >       >       >    file may be accessed.  The cookie file
> contains the secret key that
> >       >       >       >    allows x11vnc to connect to the desired X
> DISPLAY.
> >       >       >       >  - You can explicitly indicate which
> MIT-MAGIC-COOKIE file should be used
> >       >       >       >    by the -auth option, e.g.:
> >       >       >       >        x11vnc -auth /home/someuser/.Xauthority
> -display :0
> >       >       >       >        x11vnc -auth /tmp/.gdmzndVlR -display :0
> >       >       >       >    you must have read permission for the auth
> file.
> >       >       >       >    See also '-auth guess' and '-findauth'
> discussed below.
> >       >       >       >
> >       >       >       > ** If NO ONE is logged into an X session yet,
> but there is a greeter login
> >       >       >       >    program like "gdm", "kdm", "xdm", or
> "dtlogin" running, you will need
> >       >       >       >    to find and use the raw display manager
> MIT-MAGIC-COOKIE file.
> >       >       >       >    Some examples for various display managers:
> >       >       >       >
> >       >       >       >      gdm:     -auth /var/gdm/:0.Xauth
> >       >       >       >               -auth /var/lib/gdm/:0.Xauth
> >       >       >       >      kdm:     -auth /var/lib/kdm/A:0-crWk72
> >       >       >       >               -auth /var/run/xauth/A:0-crWk72
> >       >       >       >      xdm:     -auth
> /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
> >       >       >       >      dtlogin: -auth /var/dt/A:0-UgaaXa
> >       >       >       >
> >       >       >       >    Sometimes the command "ps wwwwaux | grep
> auth" can reveal the file location.
> >       >       >       >
> >       >       >       >    Starting with x11vnc 0.9.9 you can have it
> try to guess by using:
> >       >       >       >
> >       >       >       >               -auth guess
> >       >       >       >
> >       >       >       >    (see also the x11vnc -findauth option.)
> >       >       >       >
> >       >       >       >    Only root will have read permission for the
> file, and so x11vnc must be run
> >       >       >       >    as root (or copy it).  The random characters
> in the filenames will of course
> >       >       >       >    change and the directory the cookie file
> resides in is system dependent.
> >       >       >       >
> >       >       >       > See also:
> http://www.karlrunge.com/x11vnc/faq.html
> >       >       >       >
> >       >       >       > Regards,
> >       >       >       > Vipul Kumar
> >       >       >       >
> >       >       >       > On Thu, Nov 3, 2022 at 10:27 PM Vipul Suneja <
> vsuneja63@gmail.com> wrote:
> >       >       >       >       Hi Stefano,
> >       >       >       > Thanks!
> >       >       >       >
> >       >       >       > I used xen-guest-image-minimal(simple console
> based image) as a guest with fbcon & fbdev enabled in kernel
> >       >       configurations but
> >       >       >       still
> >       >       >       > the same error can't open the display.
> >       >       >       > below are the outcome of "xenstore-ls":
> >       >       >       >
> >       >       >       > root@raspberrypi4-64:~/guest1# xenstore-ls
> >       >       >       > tool =3D ""
> >       >       >       >  xenstored =3D ""
> >       >       >       > local =3D ""
> >       >       >       >  domain =3D ""
> >       >       >       >   0 =3D ""
> >       >       >       >    control =3D ""
> >       >       >       >     feature-poweroff =3D "1"
> >       >       >       >     feature-reboot =3D "1"
> >       >       >       >    domid =3D "0"
> >       >       >       >    name =3D "Domain-0"
> >       >       >       >    device-model =3D ""
> >       >       >       >     0 =3D ""
> >       >       >       >      backends =3D ""
> >       >       >       >       console =3D ""
> >       >       >       >       vkbd =3D ""
> >       >       >       >       vfb =3D ""
> >       >       >       >       qnic =3D ""
> >       >       >       >      state =3D "running"
> >       >       >       >     1 =3D ""
> >       >       >       >      backends =3D ""
> >       >       >       >       console =3D ""
> >       >       >       >       vkbd =3D ""
> >       >       >       >       vfb =3D ""
> >       >       >       >       qnic =3D ""
> >       >       >       >      state =3D "running"
> >       >       >       >    backend =3D ""
> >       >       >       >     vbd =3D ""
> >       >       >       >      1 =3D ""
> >       >       >       >       51712 =3D ""
> >       >       >       >        frontend =3D
> "/local/domain/1/device/vbd/51712"
> >       >       >       >        params =3D
> "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
> >       >       >       >        script =3D "/etc/xen/scripts/block"
> >       >       >       >        frontend-id =3D "1"
> >       >       >       >        online =3D "1"
> >       >       >       >        removable =3D "0"
> >       >       >       >        bootable =3D "1"
> >       >       >       >        state =3D "4"
> >       >       >       >        dev =3D "xvda"
> >       >       >       >        type =3D "phy"
> >       >       >       >        mode =3D "w"
> >       >       >       >        device-type =3D "disk"
> >       >       >       >        discard-enable =3D "1"
> >       >       >       >        feature-max-indirect-segments =3D "256"
> >       >       >       >        multi-queue-max-queues =3D "4"
> >       >       >       >        max-ring-page-order =3D "4"
> >       >       >       >        node =3D "/dev/loop0"
> >       >       >       >        physical-device =3D "7:0"
> >       >       >       >        physical-device-path =3D "/dev/loop0"
> >       >       >       >        hotplug-status =3D "connected"
> >       >       >       >        feature-flush-cache =3D "1"
> >       >       >       >        discard-granularity =3D "4096"
> >       >       >       >        discard-alignment =3D "0"
> >       >       >       >        discard-secure =3D "0"
> >       >       >       >        feature-discard =3D "1"
> >       >       >       >        feature-barrier =3D "1"
> >       >       >       >        feature-persistent =3D "1"
> >       >       >       >        sectors =3D "1794048"
> >       >       >       >        info =3D "0"
> >       >       >       >        sector-size =3D "512"
> >       >       >       >        physical-sector-size =3D "512"
> >       >       >       >     vfb =3D ""
> >       >       >       >      1 =3D ""
> >       >       >       >       0 =3D ""
> >       >       >       >        frontend =3D "/local/domain/1/device/vfb=
/0"
> >       >       >       >        frontend-id =3D "1"
> >       >       >       >        online =3D "1"
> >       >       >       >        state =3D "4"
> >       >       >       >        vnc =3D "1"
> >       >       >       >        vnclisten =3D "127.0.0.1"
> >       >       >       >        vncdisplay =3D "0"
> >       >       >       >        vncunused =3D "1"
> >       >       >       >        sdl =3D "0"
> >       >       >       >        opengl =3D "0"
> >       >       >       >        feature-resize =3D "1"
> >       >       >       >        hotplug-status =3D "connected"
> >       >       >       >        request-update =3D "1"
> >       >       >       >     vkbd =3D ""
> >       >       >       >      1 =3D ""
> >       >       >       >       0 =3D ""
> >       >       >       >        frontend =3D "/local/domain/1/device/vkb=
d/0"
> >       >       >       >        frontend-id =3D "1"
> >       >       >       >        online =3D "1"
> >       >       >       >        state =3D "4"
> >       >       >       >        feature-abs-pointer =3D "1"
> >       >       >       >        feature-raw-pointer =3D "1"
> >       >       >       >        hotplug-status =3D "connected"
> >       >       >       >     console =3D ""
> >       >       >       >      1 =3D ""
> >       >       >       >       0 =3D ""
> >       >       >       >        frontend =3D "/local/domain/1/console"
> >       >       >       >        frontend-id =3D "1"
> >       >       >       >        online =3D "1"
> >       >       >       >        state =3D "1"
> >       >       >       >        protocol =3D "vt100"
> >       >       >       >     vif =3D ""
> >       >       >       >      1 =3D ""
> >       >       >       >       0 =3D ""
> >       >       >       >        frontend =3D "/local/domain/1/device/vif=
/0"
> >       >       >       >        frontend-id =3D "1"
> >       >       >       >        online =3D "1"
> >       >       >       >        state =3D "4"
> >       >       >       >        script =3D "/etc/xen/scripts/vif-bridge"
> >       >       >       >        mac =3D "e4:5f:01:cd:7b:dd"
> >       >       >       >        bridge =3D "xenbr0"
> >       >       >       >        handle =3D "0"
> >       >       >       >        type =3D "vif"
> >       >       >       >        hotplug-status =3D "connected"
> >       >       >       >        feature-sg =3D "1"
> >       >       >       >        feature-gso-tcpv4 =3D "1"
> >       >       >       >        feature-gso-tcpv6 =3D "1"
> >       >       >       >        feature-ipv6-csum-offload =3D "1"
> >       >       >       >        feature-rx-copy =3D "1"
> >       >       >       >        feature-xdp-headroom =3D "1"
> >       >       >       >        feature-rx-flip =3D "0"
> >       >       >       >        feature-multicast-control =3D "1"
> >       >       >       >        feature-dynamic-multicast-control =3D "1=
"
> >       >       >       >        feature-split-event-channels =3D "1"
> >       >       >       >        multi-queue-max-queues =3D "4"
> >       >       >       >        feature-ctrl-ring =3D "1"
> >       >       >       >   1 =3D ""
> >       >       >       >    vm =3D
> "/vm/d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
> >       >       >       >    name =3D "guest2"
> >       >       >       >    cpu =3D ""
> >       >       >       >     0 =3D ""
> >       >       >       >      availability =3D "online"
> >       >       >       >     1 =3D ""
> >       >       >       >      availability =3D "online"
> >       >       >       >    memory =3D ""
> >       >       >       >     static-max =3D "2097152"
> >       >       >       >     target =3D "2097152"
> >       >       >       >     videoram =3D "0"
> >       >       >       >    device =3D ""
> >       >       >       >     suspend =3D ""
> >       >       >       >      event-channel =3D ""
> >       >       >       >     vbd =3D ""
> >       >       >       >      51712 =3D ""
> >       >       >       >       backend =3D
> "/local/domain/0/backend/vbd/1/51712"
> >       >       >       >       backend-id =3D "0"
> >       >       >       >       state =3D "4"
> >       >       >       >       virtual-device =3D "51712"
> >       >       >       >       device-type =3D "disk"
> >       >       >       >       multi-queue-num-queues =3D "2"
> >       >       >       >       queue-0 =3D ""
> >       >       >       >        ring-ref =3D "8"
> >       >       >       >        event-channel =3D "4"
> >       >       >       >       queue-1 =3D ""
> >       >       >       >        ring-ref =3D "9"
> >       >       >       >        event-channel =3D "5"
> >       >       >       >       protocol =3D "arm-abi"
> >       >       >       >       feature-persistent =3D "1"
> >       >       >       >     vfb =3D ""
> >       >       >       >      0 =3D ""
> >       >       >       >       backend =3D "/local/domain/0/backend/vfb/=
1/0"
> >       >       >       >       backend-id =3D "0"
> >       >       >       >       state =3D "4"
> >       >       >       >       page-ref =3D "275022"
> >       >       >       >       event-channel =3D "3"
> >       >       >       >       protocol =3D "arm-abi"
> >       >       >       >       feature-update =3D "1"
> >       >       >       >     vkbd =3D ""
> >       >       >       >      0 =3D ""
> >       >       >       >       backend =3D
> "/local/domain/0/backend/vkbd/1/0"
> >       >       >       >       backend-id =3D "0"
> >       >       >       >       state =3D "4"
> >       >       >       >       request-abs-pointer =3D "1"
> >       >       >       >       page-ref =3D "275322"
> >       >       >       >       page-gref =3D "1284"
> >       >       >       >       event-channel =3D "10"
> >       >       >       >     vif =3D ""
> >       >       >       >      0 =3D ""
> >       >       >       >       backend =3D "/local/domain/0/backend/vif/=
1/0"
> >       >       >       >       backend-id =3D "0"
> >       >       >       >       state =3D "4"
> >       >       >       >       handle =3D "0"
> >       >       >       >       mac =3D "e4:5f:01:cd:7b:dd"
> >       >       >       >       mtu =3D "1500"
> >       >       >       >       xdp-headroom =3D "0"
> >       >       >       >       multi-queue-num-queues =3D "2"
> >       >       >       >       queue-0 =3D ""
> >       >       >       >        tx-ring-ref =3D "1280"
> >       >       >       >        rx-ring-ref =3D "1281"
> >       >       >       >        event-channel-tx =3D "6"
> >       >       >       >        event-channel-rx =3D "7"
> >       >       >       >       queue-1 =3D ""
> >       >       >       >        tx-ring-ref =3D "1282"
> >       >       >       >        rx-ring-ref =3D "1283"
> >       >       >       >        event-channel-tx =3D "8"
> >       >       >       >        event-channel-rx =3D "9"
> >       >       >       >       request-rx-copy =3D "1"
> >       >       >       >       feature-rx-notify =3D "1"
> >       >       >       >       feature-sg =3D "1"
> >       >       >       >       feature-gso-tcpv4 =3D "1"
> >       >       >       >       feature-gso-tcpv6 =3D "1"
> >       >       >       >       feature-ipv6-csum-offload =3D "1"
> >       >       >       >    control =3D ""
> >       >       >       >     shutdown =3D ""
> >       >       >       >     feature-poweroff =3D "1"
> >       >       >       >     feature-reboot =3D "1"
> >       >       >       >     feature-suspend =3D ""
> >       >       >       >     sysrq =3D ""
> >       >       >       >     platform-feature-multiprocessor-suspend =3D=
 "1"
> >       >       >       >     platform-feature-xs_reset_watches =3D "1"
> >       >       >       >    data =3D ""
> >       >       >       >    drivers =3D ""
> >       >       >       >    feature =3D ""
> >       >       >       >    attr =3D ""
> >       >       >       >    error =3D ""
> >       >       >       >    domid =3D "1"
> >       >       >       >    store =3D ""
> >       >       >       >     port =3D "1"
> >       >       >       >     ring-ref =3D "233473"
> >       >       >       >    console =3D ""
> >       >       >       >     backend =3D
> "/local/domain/0/backend/console/1/0"
> >       >       >       >     backend-id =3D "0"
> >       >       >       >     limit =3D "1048576"
> >       >       >       >     type =3D "xenconsoled"
> >       >       >       >     output =3D "pty"
> >       >       >       >     tty =3D "/dev/pts/1"
> >       >       >       >     port =3D "2"
> >       >       >       >     ring-ref =3D "233472"
> >       >       >       >     vnc-listen =3D "127.0.0.1"
> >       >       >       >     vnc-port =3D "5900"
> >       >       >       >    image =3D ""
> >       >       >       >     device-model-pid =3D "788"
> >       >       >       > vm =3D ""
> >       >       >       >  d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f =3D ""
> >       >       >       >   name =3D "guest2"
> >       >       >       >   uuid =3D "d81ec5a9-5bf9-4f2b-89e8-0f60d6da948=
f"
> >       >       >       >   start_time =3D "1520600274.27"
> >       >       >       > libxl =3D ""
> >       >       >       >  1 =3D ""
> >       >       >       >   device =3D ""
> >       >       >       >    vbd =3D ""
> >       >       >       >     51712 =3D ""
> >       >       >       >      frontend =3D
> "/local/domain/1/device/vbd/51712"
> >       >       >       >      backend =3D
> "/local/domain/0/backend/vbd/1/51712"
> >       >       >       >      params =3D
> "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
> >       >       >       >      script =3D "/etc/xen/scripts/block"
> >       >       >       >      frontend-id =3D "1"
> >       >       >       >      online =3D "1"
> >       >       >       >      removable =3D "0"
> >       >       >       >      bootable =3D "1"
> >       >       >       >      state =3D "1"
> >       >       >       >      dev =3D "xvda"
> >       >       >       >      type =3D "phy"
> >       >       >       >      mode =3D "w"
> >       >       >       >      device-type =3D "disk"
> >       >       >       >      discard-enable =3D "1"
> >       >       >       >    vfb =3D ""
> >       >       >       >     0 =3D ""
> >       >       >       >      frontend =3D "/local/domain/1/device/vfb/0=
"
> >       >       >       >      backend =3D "/local/domain/0/backend/vfb/1=
/0"
> >       >       >       >      frontend-id =3D "1"
> >       >       >       >      online =3D "1"
> >       >       >       >      state =3D "1"
> >       >       >       >      vnc =3D "1"
> >       >       >       >      vnclisten =3D "127.0.0.1"
> >       >       >       >      vncdisplay =3D "0"
> >       >       >       >      vncunused =3D "1"
> >       >       >       >      sdl =3D "0"
> >       >       >       >      opengl =3D "0"
> >       >       >       >    vkbd =3D ""
> >       >       >       >     0 =3D ""
> >       >       >       >      frontend =3D "/local/domain/1/device/vkbd/=
0"
> >       >       >       >      backend =3D "/local/domain/0/backend/vkbd/=
1/0"
> >       >       >       >      frontend-id =3D "1"
> >       >       >       >      online =3D "1"
> >       >       >       >      state =3D "1"
> >       >       >       >    console =3D ""
> >       >       >       >     0 =3D ""
> >       >       >       >      frontend =3D "/local/domain/1/console"
> >       >       >       >      backend =3D
> "/local/domain/0/backend/console/1/0"
> >       >       >       >      frontend-id =3D "1"
> >       >       >       >      online =3D "1"
> >       >       >       >      state =3D "1"
> >       >       >       >      protocol =3D "vt100"
> >       >       >       >    vif =3D ""
> >       >       >       >     0 =3D ""
> >       >       >       >      frontend =3D "/local/domain/1/device/vif/0=
"
> >       >       >       >      backend =3D "/local/domain/0/backend/vif/1=
/0"
> >       >       >       >      frontend-id =3D "1"
> >       >       >       >      online =3D "1"
> >       >       >       >      state =3D "1"
> >       >       >       >      script =3D "/etc/xen/scripts/vif-bridge"
> >       >       >       >      mac =3D "e4:5f:01:cd:7b:dd"
> >       >       >       >      bridge =3D "xenbr0"
> >       >       >       >      handle =3D "0"
> >       >       >       >      type =3D "vif"
> >       >       >       >      hotplug-status =3D ""
> >       >       >       >   type =3D "pvh"
> >       >       >       >   dm-version =3D "qemu_xen"
> >       >       >       > root@raspberrypi4-64:~/guest1#
> >       >       >       >
> >       >       >       > Any input as per above? Looking forward to
> hearing from you.
> >       >       >       >
> >       >       >       > Regards,
> >       >       >       > Vipul Kumar
> >       >       >       >
> >       >       >       > On Wed, Oct 26, 2022 at 5:21 AM Stefano
> Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       Hi Vipul,
> >       >       >       >
> >       >       >       >       If you look at the QEMU logs, it says:
> >       >       >       >
> >       >       >       >       VNC server running on 127.0.0.1:5900
> >       >       >       >
> >       >       >       >       That is the VNC server you need to connec=
t
> to. So in theory:
> >       >       >       >
> >       >       >       >         vncviewer 127.0.0.1:5900
> >       >       >       >
> >       >       >       >       should work correctly.
> >       >       >       >
> >       >       >       >
> >       >       >       >       If you have:
> >       >       >       >
> >       >       >       >         vfb =3D ["type=3Dvnc"]
> >       >       >       >
> >       >       >       >       in your xl config file and you have
> "fbdev" in your Linux guest, it
> >       >       >       >       should work.
> >       >       >       >
> >       >       >       >       If you connect to the VNC server but you
> get a black screen, it might be
> >       >       >       >       a guest configuration issue. I would try
> with a simpler guest, text only
> >       >       >       >       (no X11, no Wayland) and enable the fbdev
> console (fbcon). See
> >       >       >       >       Documentation/fb/fbcon.rst in Linux. You
> should be able to see a
> >       >       >       >       graphical console over VNC.
> >       >       >       >
> >       >       >       >       If that works, then you know that the
> fbdev kernel driver (xen-fbfront)
> >       >       >       >       works correctly.
> >       >       >       >
> >       >       >       >       If it doesn't work, the output of
> "xenstore-ls" would be interesting.
> >       >       >       >
> >       >       >       >       Cheers,
> >       >       >       >
> >       >       >       >       Stefano
> >       >       >       >
> >       >       >       >
> >       >       >       >       On Wed, 19 Oct 2022, Vipul Suneja wrote:
> >       >       >       >       > Hi Stefano,
> >       >       >       >       >
> >       >       >       >       > Thanks for the response!
> >       >       >       >       >
> >       >       >       >       > I am following the same link you shared
> from the beginning. Tried the command "vncviewer localhost:0"
> >       in DOM0
> >       >       but
> >       >       >       same
> >       >       >       >       issue "Can't open
> >       >       >       >       > display", below are the logs:
> >       >       >       >       >
> >       >       >       >       > root@raspberrypi4-64:~# vncviewer
> localhost:0
> >       >       >       >       >
> >       >       >       >       > TigerVNC Viewer 64-bit v1.11.0
> >       >       >       >       > Built on: 2020-09-08 12:16
> >       >       >       >       > Copyright (C) 1999-2020 TigerVNC Team
> and many others (see README.rst)
> >       >       >       >       > See https://www.tigervnc.org for
> information on TigerVNC.
> >       >       >       >       > Can't open display:
> >       >       >       >       >
> >       >       >       >       > Below are the netstat logs, i couldn't
> see anything running at port 5900 or 5901:
> >       >       >       >       >
> >       >       >       >       > root@raspberrypi4-64:~# netstat -tuwx
> >       >       >       >       > Active Internet connections (w/o server=
s)
> >       >       >       >       > Proto Recv-Q Send-Q Local Address
>     Foreign Address         State
> >       >       >       >       > tcp        0    164 192.168.1.39:ssh
>      192.168.1.38:37472      ESTABLISHED
> >       >       >       >       > Active UNIX domain sockets (w/o servers=
)
> >       >       >       >       > Proto RefCnt Flags       Type
> State         I-Node Path
> >       >       >       >       > unix  8      [ ]         DGRAM
>  CONNECTED      10565 /dev/log
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      10891 /var/run/xenstored/socket
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      13791
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      10843 /var/run/xenstored/socket
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      10573 /var/run/xenstored/socket
> >       >       >       >       > unix  2      [ ]         DGRAM
>  CONNECTED      14510
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      13249
> >       >       >       >       > unix  2      [ ]         DGRAM
>  CONNECTED      13887
> >       >       >       >       > unix  2      [ ]         DGRAM
>  CONNECTED      10599
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      14005
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      13258
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      13248
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      14003
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      10572 /var/run/xenstored/socket
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      10786 /var/run/xenstored/socket
> >       >       >       >       > unix  3      [ ]         DGRAM
>  CONNECTED      13186
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      10864 /var/run/xenstored/socket
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      10812 /var/run/xenstored/socket
> >       >       >       >       > unix  2      [ ]         DGRAM
>  CONNECTED      14083
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      10813 /var/run/xenstored/socket
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      14068
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      13256
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      10571 /var/run/xenstored/socket
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      10842
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      13985
> >       >       >       >       > unix  3      [ ]         DGRAM
>  CONNECTED      13185
> >       >       >       >       > unix  2      [ ]         STREAM
> CONNECTED      13884
> >       >       >       >       > unix  2      [ ]         DGRAM
>  CONNECTED      14528
> >       >       >       >       > unix  2      [ ]         DGRAM
>  CONNECTED      13785
> >       >       >       >       > unix  3      [ ]         STREAM
> CONNECTED      14034
> >       >       >       >       >
> >       >       >       >       > Attaching xen log files of /var/log/xen=
.
> >       >       >       >       > I didn't get the role of QEMU here
> because as mentioned earlier, I am porting in raspberrypi 4B.
> >       >       >       >       >
> >       >       >       >       > Regards,
> >       >       >       >       > Vipul Kumar
> >       >       >       >       >
> >       >       >       >       > On Wed, Oct 19, 2022 at 12:43 AM Stefan=
o
> Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       >       It usually works the way it is
> described in the guide:
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >
> >       >       >
> >       >
> >
> https://www.virtuatopia.com/index.php?title=3DConfiguring_a_VNC_based_Gra=
phical_Console_for_a_Xen_Paravirtualized_domainU_Guest
> >       >       >       >       >
> >       >       >       >       >       You don't need to install any
> VNC-related server software because it is
> >       >       >       >       >       already provided by Xen (to be
> precise it is provided by QEMU working
> >       >       >       >       >       together with Xen.)
> >       >       >       >       >
> >       >       >       >       >       You only need the vnc client in
> dom0 so that you can connect, but you
> >       >       >       >       >       could also run the vnc client
> outside from another host. So basically
> >       >       >       >       >       the following should work when
> executed in Dom0 after creating DomU:
> >       >       >       >       >
> >       >       >       >       >         vncviewer localhost:0
> >       >       >       >       >
> >       >       >       >       >       Can you attach the Xen and QEMU
> logs (/var/log/xen/*)? And also use
> >       >       >       >       >       netstat -taunp to check if there
> is anything running at port 5900 or
> >       >       >       >       >       5901?
> >       >       >       >       >
> >       >       >       >       >       Cheers,
> >       >       >       >       >
> >       >       >       >       >       Stefano
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >       On Tue, 18 Oct 2022, Vipul Suneja
> wrote:
> >       >       >       >       >       > Hi Stefano,
> >       >       >       >       >       >
> >       >       >       >       >       > Thanks for the response!
> >       >       >       >       >       >
> >       >       >       >       >       > I could install tigerVNC, x11vn=
c
> & libvncserver in Dom0 xen-image-minimal but only manage to
> >       install
> >       >       >       >       libvncserver(couldn't
> >       >       >       >       >       install tigervnc
> >       >       >       >       >       > & x11vnc because of x11
> >       >       >       >       >       > support missing, it's wayland)
> in DOMU custom graphical image. I tried running vncviewer with
> >       IP
> >       >       address &
> >       >       >       port
> >       >       >       >       in dom0 to
> >       >       >       >       >       access the domu
> >       >       >       >       >       > graphical image display as per
> below commands.
> >       >       >       >       >       >
> >       >       >       >       >       >  vncviewer 192.168.1.42:5901
> >       >       >       >       >       >
> >       >       >       >       >       >  But it showing can't open
> display, below are the logs:
> >       >       >       >       >       >
> >       >       >       >       >       > root@raspberrypi4-64:~/guest1#
> vncviewer 192.168.1.42:5901
> >       >       >       >       >       >
> >       >       >       >       >       > TigerVNC Viewer 64-bit v1.11.0
> >       >       >       >       >       > Built on: 2020-09-08 12:16
> >       >       >       >       >       > Copyright (C) 1999-2020 TigerVN=
C
> Team and many others (see README.rst)
> >       >       >       >       >       > See https://www.tigervnc.org
> for information on TigerVNC.
> >       >       >       >       >       > Can't open display:
> >       >       >       >       >       > root@raspberrypi4-64:~/guest1#
> >       >       >       >       >       >
> >       >       >       >       >       > I am not exactly sure what the
> issue is but I thought only libvncserver in DOMU could work to
> >       get
> >       >       access but
> >       >       >       it
> >       >       >       >       did not
> >       >       >       >       >       work.
> >       >       >       >       >       > If TigerVNC is the issue here
> then is there any other VNC source which could be installed for
> >       both
> >       >       x11 &
> >       >       >       >       wayland supported
> >       >       >       >       >       images?
> >       >       >       >       >       >
> >       >       >       >       >       > Regards,
> >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >       >
> >       >       >       >       >       > On Tue, Oct 18, 2022 at 2:40 AM
> Stefano Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       >       >       VNC is typically easier t=
o
> setup, because SDL needs extra libraries at
> >       >       >       >       >       >       build time and runtime. I=
f
> QEMU is built without SDL support it won't
> >       >       >       >       >       >       start when you ask for SD=
L.
> >       >       >       >       >       >
> >       >       >       >       >       >       VNC should work with both
> x11 and wayland in your domU. It doesn't work
> >       >       >       >       >       >       at the x11 level, it
> exposes a special fbdev device in your domU that
> >       >       >       >       >       >       should work with:
> >       >       >       >       >       >       - a graphical console in
> Linux domU
> >       >       >       >       >       >       - x11
> >       >       >       >       >       >       - wayland (but I haven't
> tested this so I am not 100% sure about it)
> >       >       >       >       >       >
> >       >       >       >       >       >       When you say "it doesn't
> work", what do you mean? Do you get a black
> >       >       >       >       >       >       window?
> >       >       >       >       >       >
> >       >       >       >       >       >       You need
> CONFIG_XEN_FBDEV_FRONTEND in Linux domU
> >       >       >       >       >       >
>  (drivers/video/fbdev/xen-fbfront.c). I would try to get a graphical text
> >       >       >       >       >       >       console up and running in
> your domU before attempting x11/wayland.
> >       >       >       >       >       >
> >       >       >       >       >       >       Cheers,
> >       >       >       >       >       >
> >       >       >       >       >       >       Stefano
> >       >       >       >       >       >
> >       >       >       >       >       >       On Mon, 17 Oct 2022, Vipu=
l
> Suneja wrote:
> >       >       >       >       >       >       > Hi,
> >       >       >       >       >       >       > Thanks!
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > I have ported xen
> minimal image as DOM0 & custom wayland GUI based image as DOMU in
> >       raspberry
> >       >       pi4B. I
> >       >       >       >       am trying to
> >       >       >       >       >       make GUI
> >       >       >       >       >       >       display up
> >       >       >       >       >       >       > for guest machine. I
> tried using sdl, included below line in guest.conf file
> >       >       >       >       >       >       > vfb=3D [ 'sdl=3D1' ]
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > But it is throwing belo=
w
> error:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > root@raspberrypi4-64:~/=
guest1#
> xl create -c guest1.cfg
> >       >       >       >       >       >       > Parsing config from
> guest1.cfg
> >       >       >       >       >       >       > libxl: error:
> libxl_qmp.c:1400:qmp_ev_fd_callback: Domain 3:error on QMP socket:
> >       Connection
> >       >       reset by
> >       >       >       >       peer
> >       >       >       >       >       >       > libxl: error:
> libxl_qmp.c:1439:qmp_ev_fd_callback: Domain 3:Error happened with the
> >       QMP
> >       >       connection to
> >       >       >       >       QEMU
> >       >       >       >       >       >       > libxl: error:
> libxl_dm.c:3351:device_model_postconfig_done: Domain 3:Post DM startup
> >       configs
> >       >       failed,
> >       >       >       >       rc=3D-26
> >       >       >       >       >       >       > libxl: error:
> libxl_create.c:1867:domcreate_devmodel_started: Domain 3:device model
> >       did not
> >       >       start:
> >       >       >       -26
> >       >       >       >       >       >       > libxl: error:
> libxl_aoutils.c:646:libxl__kill_xs_path: Device Model already exited
> >       >       >       >       >       >       > libxl: error:
> libxl_domain.c:1183:libxl__destroy_domid: Domain 3:Non-existant domain
> >       >       >       >       >       >       > libxl: error:
> libxl_domain.c:1137:domain_destroy_callback: Domain 3:Unable to destroy
> >       guest
> >       >       >       >       >       >       > libxl: error:
> libxl_domain.c:1064:domain_destroy_cb: Domain 3:Destruction of domain
> >       failed
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Another way is VNC, i
> could install tigervnc in DOM0 but same i couldn't in guest
> >       machine
> >       >       because it
> >       >       >       >       doesn't support
> >       >       >       >       >       >       x11(supports wayland
> >       >       >       >       >       >       > only). I am completely
> blocked here, Need your support to enable the display up.
> >       >       >       >       >       >       > Any alternative of VNC
> which could work in both x11 & wayland supported images?
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Any input on VNC, SDL o=
r
> any other way to proceed on this? Looking forward to hearing
> >       from
> >       >       you.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Regards,
> >       >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >
> >       >       >       >
> >       >       >       >
> >       >       >
> >       >       >
> >       >       >
> >       >
> >       >
> >       >
> >
> >
> >

--0000000000009a391005efb91452
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+SGkgU3RlZmFubyw8YnI+PGJyPlRoYW5rcyE8YnI+PGJyPkkgbW9kaWZp
ZWQgeGVuLWZiZnJvbnQuYyBzb3VyY2UgZmlsZSwgaW5jbHVkZWQgcHJpbnRrIGRlYnVnIGxvZ3Mg
JmFtcDsgY3Jvc3MgY29tcGlsZWQgaXQuIEkgaW5jbHVkZWQgdGhlIHByaW50ayBkZWJ1ZyBsb2cg
YXQgdGhlIGVudHJ5ICZhbXA7IGV4aXQgb2YgYWxsIGZ1bmN0aW9ucyBvZiB4ZW4tZmJmcm9udC5j
IGZpbGUuPGJyPkdlbmVyYXRlZCBrZXJuZWwgbW9kdWxlICZhbXA7IGxvYWRlZCBpbiBndWVzdCBt
YWNoaW5lIGF0IGJvb3R1cC4gSSBjb3VsZCBzZWUgbG90cyBvZiBsb2dzIGNvbWluZyB1cCwgYW5k
IGNvdWxkIHNlZSBtdWx0aXBsZSBmdW5jdGlvbnMgYmVpbmcgaW52b2tlZCBldmVuIGlmIEkgaGF2
ZcKgbm90IHVzZWTCoDxkaXY+dm5jdmlld2VyIGluIHRoZSBob3N0LiBBdHRhY2hpbmcgdGhlIGxv
ZyBmaWxlIGZvciByZWZlcmVuY2UuIEFueSBzcGVjaWZpYyBmdW5jdGlvbiBvciBwYXJhbWV0ZXJz
IHRoYXQgaGF2ZSB0byBiZSBjaGVja2VkIG9yIGFueSBvdGhlciBzdWdnZXN0aW9uIGFzIHBlciBs
b2dzPzxicj48YnI+VGhhbmtzICZhbXA7IFJlZ2FyZHMsPGJyPlZpcHVsIEt1bWFyPGJyPjwvZGl2
PjwvZGl2Pjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+PGRpdiBkaXI9Imx0ciIgY2xhc3M9
ImdtYWlsX2F0dHIiPk9uIFR1ZSwgRGVjIDEzLCAyMDIyIGF0IDM6NDQgQU0gU3RlZmFubyBTdGFi
ZWxsaW5pICZsdDs8YSBocmVmPSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyI+c3N0YWJl
bGxpbmlAa2VybmVsLm9yZzwvYT4mZ3Q7IHdyb3RlOjxicj48L2Rpdj48YmxvY2txdW90ZSBjbGFz
cz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxl
ZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+SGkgVmlwdWws
PGJyPg0KPGJyPg0KSSBhbSBvbmxpbmUgb24gSVJDIE9GVEMgI3hlbmRldmVsICg8YSBocmVmPSJo
dHRwczovL3d3dy5vZnRjLm5ldC8iIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0
dHBzOi8vd3d3Lm9mdGMubmV0LzwvYT4sIHlvdSBuZWVkIGE8YnI+DQpyZWdpc3RlcmVkIG5pY2tu
YW1lIHRvIGpvaW4gI3hlbmRldmVsKS48YnI+DQo8YnI+DQpGb3IgZGV2ZWxvcG1lbnQgYW5kIGRl
YnVnZ2luZyBJIGZpbmQgdGhhdCBpdCBpcyBhIGxvdCBlYXNpZXIgdG88YnI+DQpjcm9zc2NvbXBp
bGUgdGhlIGtlcm5lbCAmcXVvdDtieSBoYW5kJnF1b3Q7LCBhbmQgZG8gYSBtb25vbGl0aGljIGJ1
aWxkLCByYXRoZXI8YnI+DQp0aGFuIGdvaW5nIHRocm91Z2ggWW9jdG8uPGJyPg0KPGJyPg0KRm9y
IGluc3RhbmNlIHRoZSBmb2xsb3dpbmcgYnVpbGRzIGZvciBtZTo8YnI+DQo8YnI+DQpjZCBsaW51
eC5naXQ8YnI+DQpleHBvcnQgQVJDSD1hcm02NDxicj4NCmV4cG9ydCBDUk9TU19DT01QSUxFPS9w
YXRoL3RvL2Nyb3NzLWNvbXBpbGVyPGJyPg0KbWFrZSBkZWZjb25maWc8YnI+DQpbYWRkIHByaW50
a3MgdG8gZHJpdmVycy92aWRlby9mYmRldi94ZW4tZmJmcm9udC5jXTxicj4NCm1ha2UgLWo4IElt
YWdlLmd6PGJyPg0KPGJyPg0KQW5kIEltYWdlLmd6IGJvb3RzIG9uIFhlbiBhcyBEb21VIGtlcm5l
bCB3aXRob3V0IGlzc3Vlcy48YnI+DQo8YnI+DQpDaGVlcnMsPGJyPg0KPGJyPg0KU3RlZmFubzxi
cj4NCjxicj4NCk9uIFNhdCwgMTAgRGVjIDIwMjIsIFZpcHVsIFN1bmVqYSB3cm90ZTo8YnI+DQom
Z3Q7IEhpIFN0ZWZhbm8sPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IFRoYW5rcyE8YnI+DQomZ3Q7IDxi
cj4NCiZndDsgSSBoYXZlIGluY2x1ZGVkIHByaW50ayBkZWJ1ZyBsb2dzIGluIHRoZSB4ZW4tZmJm
cm9udC5jIHNvdXJjZSBmaWxlLiBXaGlsZSBjcm9zcyBjb21waWxpbmcgdG8gZ2VuZXJhdGUgLmtv
IHdpdGggJnF1b3Q7eGVuLWd1ZXN0LWltYWdlLW1pbmltYWwmcXVvdDs8YnI+DQomZ3Q7IHRvb2xj
aGFpbiBpdCYjMzk7cyB0aHJvd2luZyBhIG1vZHBvc3Q8YnI+DQomZ3Q7IG5vdCBmb3VuZCBlcnJv
ci4gSSBjb3VsZCBzZWUgdGhlIG1vZHBvc3QuYyBzb3VyY2UgZmlsZSBidXQgdGhlIGZpbmFsIHNj
cmlwdCBpcyBtaXNzaW5nLiBBbnkgaW5wdXQgb24gdGhpcywgQmVsb3cgYXJlIHRoZSBsb2dzOjxi
cj4NCiZndDsgPGJyPg0KJmd0OyBhZ2xAYWdsLU9wdGlQbGV4LTcwMTA6fi9BdXRvbW90aXZlL0FE
QVNfSW5mb3RhaW5tZW50L3Byb2plY3QvQXBwbGljYXRpb24vWGVuL0ZyYW1lYnVmZmVyJCBtYWtl
PGJyPg0KJmd0OyBtYWtlIEFSQ0g9YXJtNjQgLUkvb3B0L3Bva3kvNC4wLjUvc3lzcm9vdHMvY29y
dGV4YTcyLXBva3ktbGludXgvdXNyL2luY2x1ZGUvYXNtIC1DPGJyPg0KJmd0OyAvb3B0L3Bva3kv
NC4wLjUvc3lzcm9vdHMvY29ydGV4YTcyLXBva3ktbGludXgvbGliL21vZHVsZXMvNS4xNS43Mi15
b2N0by1zdGFuZGFyZC9idWlsZDxicj4NCiZndDsgTT0vaG9tZS9hZ2wvQXV0b21vdGl2ZS9BREFT
X0luZm90YWlubWVudC9wcm9qZWN0L0FwcGxpY2F0aW9uL1hlbi9GcmFtZWJ1ZmZlciBtb2R1bGVz
PGJyPg0KJmd0OyBtYWtlWzFdOiBFbnRlcmluZyBkaXJlY3RvcnkgJiMzOTsvb3B0L3Bva3kvNC4w
LjUvc3lzcm9vdHMvY29ydGV4YTcyLXBva3ktbGludXgvbGliL21vZHVsZXMvNS4xNS43Mi15b2N0
by1zdGFuZGFyZC9idWlsZCYjMzk7PGJyPg0KJmd0OyBhcmNoL2FybTY0L01ha2VmaWxlOjM2OiBE
ZXRlY3RlZCBhc3NlbWJsZXIgd2l0aCBicm9rZW4gLmluc3Q7IGRpc2Fzc2VtYmx5IHdpbGwgYmUg
dW5yZWxpYWJsZTxicj4NCiZndDsgd2FybmluZzogdGhlIGNvbXBpbGVyIGRpZmZlcnMgZnJvbSB0
aGUgb25lIHVzZWQgdG8gYnVpbGQgdGhlIGtlcm5lbDxicj4NCiZndDsgwqAgVGhlIGtlcm5lbCB3
YXMgYnVpbHQgYnk6IGdjYyAoVWJ1bnR1IDkuNC4wLTF1YnVudHUxfjIwLjA0LjEpIDkuNC4wPGJy
Pg0KJmd0OyDCoCBZb3UgYXJlIHVzaW5nOiDCoCDCoCDCoCDCoCDCoCBhYXJjaDY0LXBva3ktbGlu
dXgtZ2NjIChHQ0MpIDExLjMuMDxicj4NCiZndDsgwqAgQ0MgW01dIMKgL2hvbWUvYWdsL0F1dG9t
b3RpdmUvQURBU19JbmZvdGFpbm1lbnQvcHJvamVjdC9BcHBsaWNhdGlvbi9YZW4vRnJhbWVidWZm
ZXIveGVuLWZiZnJvbnQubzxicj4NCiZndDsgwqAgTU9EUE9TVCAvaG9tZS9hZ2wvQXV0b21vdGl2
ZS9BREFTX0luZm90YWlubWVudC9wcm9qZWN0L0FwcGxpY2F0aW9uL1hlbi9GcmFtZWJ1ZmZlci9N
b2R1bGUuc3ltdmVyczxicj4NCiZndDsgL2Jpbi9zaDogMTogc2NyaXB0cy9tb2QvbW9kcG9zdDog
bm90IGZvdW5kPGJyPg0KJmd0OyBtYWtlWzJdOiAqKiogW3NjcmlwdHMvTWFrZWZpbGUubW9kcG9z
dDoxMzM6IC9ob21lL2FnbC9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L3Byb2plY3QvQXBw
bGljYXRpb24vWGVuL0ZyYW1lYnVmZmVyL01vZHVsZS5zeW12ZXJzXTxicj4NCiZndDsgRXJyb3Ig
MTI3PGJyPg0KJmd0OyBtYWtlWzFdOiAqKiogW01ha2VmaWxlOjE4MTM6IG1vZHVsZXNdIEVycm9y
IDI8YnI+DQomZ3Q7IG1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5ICYjMzk7L29wdC9wb2t5LzQu
MC41L3N5c3Jvb3RzL2NvcnRleGE3Mi1wb2t5LWxpbnV4L2xpYi9tb2R1bGVzLzUuMTUuNzIteW9j
dG8tc3RhbmRhcmQvYnVpbGQmIzM5Ozxicj4NCiZndDsgbWFrZTogKioqIFtNYWtlZmlsZTo1OiBh
bGxdIEVycm9yIDI8YnI+DQomZ3Q7IGFnbEBhZ2wtT3B0aVBsZXgtNzAxMDp+L0F1dG9tb3RpdmUv
QURBU19JbmZvdGFpbm1lbnQvcHJvamVjdC9BcHBsaWNhdGlvbi9YZW4vRnJhbWVidWZmZXIkIGxz
IC1sPGJyPg0KJmd0OyB0b3RhbCAzMjQ8YnI+DQomZ3Q7IC1yd3hyd3hyd3ggMSBhZ2wgYWdsIMKg
IMKgMzU5IERlYyAxMCAyMjo0MSBNYWtlZmlsZTxicj4NCiZndDsgLXJ3LXJ3LXItLSAxIGFnbCBh
Z2wgwqAgwqAgOTAgRGVjIDEwIDIyOjQ5IG1vZHVsZXMub3JkZXI8YnI+DQomZ3Q7IC1ydy1yLS1y
LS0gMSBhZ2wgYWdsIMKgMTgzMzEgRGVjIMKgMSAyMDozMiB4ZW4tZmJmcm9udC5jPGJyPg0KJmd0
OyAtcnctcnctci0tIDEgYWdsIGFnbCDCoCDCoCA5MCBEZWMgMTAgMjI6NDkgeGVuLWZiZnJvbnQu
bW9kPGJyPg0KJmd0OyAtcnctcnctci0tIDEgYWdsIGFnbCAyOTc4MzIgRGVjIDEwIDIyOjQ5IHhl
bi1mYmZyb250Lm88YnI+DQomZ3Q7IGFnbEBhZ2wtT3B0aVBsZXgtNzAxMDp+L0F1dG9tb3RpdmUv
QURBU19JbmZvdGFpbm1lbnQvcHJvamVjdC9BcHBsaWNhdGlvbi9YZW4vRnJhbWVidWZmZXIkIGZp
bGUgeGVuLWZiZnJvbnQubzxicj4NCiZndDsgeGVuLWZiZnJvbnQubzogRUxGIDY0LWJpdCBMU0Ig
cmVsb2NhdGFibGUsIEFSTSBhYXJjaDY0LCB2ZXJzaW9uIDEgKFNZU1YpLCB3aXRoIGRlYnVnX2lu
Zm8sIG5vdCBzdHJpcHBlZDxicj4NCiZndDsgYWdsQGFnbC1PcHRpUGxleC03MDEwOn4vQXV0b21v
dGl2ZS9BREFTX0luZm90YWlubWVudC9wcm9qZWN0L0FwcGxpY2F0aW9uL1hlbi9GcmFtZWJ1ZmZl
ciQ8YnI+DQomZ3Q7IDxicj4NCiZndDsgSSBoYXZlIGNvbm5lY3RlZCBhIEhETUkgYmFzZWQgMTk4
MHgxMDI0IHJlc29sdXRpb24gZGlzcGxheSBzY3JlZW4gdG8gcmFzcGJlcnJ5cGk0IGZvciB0ZXN0
aW5nIHB1cnBvc2VzLiBJIGhvcGUgY29ubmVjdGluZyB0aGlzIGRpc3BsYXkgdG88YnI+DQomZ3Q7
IHJwaTQgc2hvdWxkIGJlIG9rLjxicj4NCiZndDsgPGJyPg0KJmd0OyBJcyB0aGVyZSBhbnkgb3Ro
ZXIgd2F5IHdlIGNhbiBjb25uZWN0IGFsc28gZm9yIGRldGFpbGVkIGRpc2N1c3Npb24gb24gdGhl
IGRpc3BsYXkgYnJpbmd1cCBpc3N1ZT8gVGhpcyB3aWxsIHJlYWxseSBoZWxwIHRvIHJlc29sdmUg
dGhpczxicj4NCiZndDsgaXNzdWUuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IFRoYW5rcyAmYW1wOyBS
ZWdhcmRzLDxicj4NCiZndDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7IDxicj4NCiZndDsgT24gRnJp
LCBEZWMgMiwgMjAyMiBhdCAxOjAyIEFNIFN0ZWZhbm8gU3RhYmVsbGluaSAmbHQ7PGEgaHJlZj0i
bWFpbHRvOnNzdGFiZWxsaW5pQGtlcm5lbC5vcmciIHRhcmdldD0iX2JsYW5rIj5zc3RhYmVsbGlu
aUBrZXJuZWwub3JnPC9hPiZndDsgd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgT24gVGh1LCAx
IERlYyAyMDIyLCBWaXB1bCBTdW5lamEgd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBI
aSBTdGVmYW5vLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgVGhhbmtzITxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEkgYW0gZXhwbG9yaW5nIGJvdGgg
b3B0aW9ucyBoZXJlLCBtb2RpZmljYXRpb24gb2YgZnJhbWVidWZmZXIgc291cmNlIGZpbGUgJmFt
cDsgc2V0dGluZyB1cCB4MTF2bmMgc2VydmVyIGluIGd1ZXN0Ljxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgT3RoZXIgdGhhbiB0aGVzZSBJIHdvdWxkIGxpa2UgdG8gc2hhcmUgYSBmZXcgZmluZGlu
Z3Mgd2l0aCB5b3UuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgMS4gSWYgaSBrZWVwICZxdW90O0NPTkZJR19YRU5fRkJERVZfRlJPTlRFTkQ9eSZxdW90
OyB0aGVuIHhlbi1mYmZyb250LmtvIGlzIG5vdCBnZW5lcmF0aW5nIGJ1dCBpZiBpIGtlZXAgJnF1
b3Q7Q09ORklHX1hFTl9GQkRFVl9GUk9OVEVORD1tJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0OyB0aGVuIGNvdWxkIHNlZSB4ZW4tZmJmcm9udC5rbyAmYW1wOyBpdHMgbG9hZGluZyBhbHNv
LiBTYW1lIHRoaW5ncyB3aXRoIG90aGVyIGZyb250ZW5kL2JhY2tlbmQgZHJpdmVycyBhbHNvLiBE
byB3ZSBuZWVkIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgY29uZmlndXJlwqB0aGVzZTxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDsgZHJpdmVycyBhcyBhIG1vZHVsZShtKSBvbmx5Pzxicj4NCiZndDsg
PGJyPg0KJmd0O8KgIMKgIMKgIMKgeGVuLWZiZnJvbnQgc2hvdWxkIHdvcmsgYm90aCBhcyBhIG1v
ZHVsZSAoeGVuLWZiZnJvbnQua28pIG9yIGJ1aWx0LWluPGJyPg0KJmd0O8KgIMKgIMKgIMKgKENP
TkZJR19YRU5fRkJERVZfRlJPTlRFTkQ9eSkuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDxicj4NCiZn
dDsgPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAyLiBJIGNvdWxkIHNlZSB4ZW5zdG9yZWQgc2Vy
dmljZSBpcyBydW5uaW5nIGZvciB0aGUgaG9zdCBidXQgaXQmIzM5O3MgYWx3YXlzIGZhaWxpbmcg
Zm9yIHRoZSBndWVzdMKgbWFjaGluZS4gSSBjb3VsZCBzZWUgaXQgaW48YnI+DQomZ3Q7wqAgwqAg
wqAgwqBib290dXAgbG9ncyAmYW1wOyB2aWE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHN5c3Rl
bWN0bCBzdGF0dXMgYWxzby48YnI+DQomZ3Q7IDxicj4NCiZndDvCoCDCoCDCoCDCoFRoYXQgaXMg
bm9ybWFsLiB4ZW5zdG9yZWQgaXMgb25seSBtZWFudCB0byBiZSBydW4gaW4gRG9tMCwgbm90IGlu
IHRoZTxicj4NCiZndDvCoCDCoCDCoCDCoGRvbVVzLiBJZiB5b3UgdXNlIHRoZSBzYW1lIHJvb3Rm
cyBmb3IgRG9tMCBhbmQgRG9tVSB0aGVuIHhlbnN0b3JlZCB3aWxsPGJyPg0KJmd0O8KgIMKgIMKg
IMKgZmFpbCBzdGFydGluZyBpbiB0aGUgRG9tVSAoYnV0IHNob3VsZCBzdWNjZWVkIGluIERvbTAp
LCB3aGljaCBpcyB3aGF0IHdlPGJyPg0KJmd0O8KgIMKgIMKgIMKgd2FudC48YnI+DQomZ3Q7IDxi
cj4NCiZndDvCoCDCoCDCoCDCoElmIHlvdSBydW4gJnF1b3Q7eGVuc3RvcmUtbHMmcXVvdDsgaW4g
RG9tMCwgeW91JiMzOTtsbCBzZWUgYSBidW5jaCBvZiBlbnRyaWVzLDxicj4NCiZndDvCoCDCoCDC
oCDCoGluY2x1ZGluZyBzb21lIG9mIHRoZW0gcmVsYXRlZCB0byAmcXVvdDt2ZmImcXVvdDsgd2hp
Y2ggaXMgdGhlIHZpcnR1YWwgZnJhbWVidWZmZXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqBwcm90b2Nv
bC4gWW91IHNob3VsZCBhbHNvIHNlZSBhbiBlbnRyeSBjYWxsZWQgJnF1b3Q7c3RhdGUmcXVvdDsg
c2V0IHRvICZxdW90OzQmcXVvdDsgd2hpY2g8YnI+DQomZ3Q7wqAgwqAgwqAgwqBtZWFucyAmcXVv
dDtjb25uZWN0ZWQmcXVvdDsuIHN0YXRlID0gNCBpcyB1c3VhbGx5IHdoZW4gZXZlcnl0aGluZyB3
b3Jrcy4gTm9ybWFsbHk8YnI+DQomZ3Q7wqAgwqAgwqAgwqB3aGVuIHRoaW5ncyBkb24mIzM5O3Qg
d29yayBzdGF0ZSAhPSA0Ljxicj4NCiZndDsgPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDsgQmVsb3cgYXJlIHRoZSBsb2dzOjxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgWyDCoE9LIMKgXSBSZWFjaGVkIHRhcmdldCBCYXNpYyBTeXN0ZW0uPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyBbIMKgT0sgwqBdIFN0YXJ0ZWQgS2VybmVsIExvZ2dpbmcgU2VydmljZS48
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0gU3RhcnRlZCBTeXN0ZW0gTG9nZ2lu
ZyBTZXJ2aWNlLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqAgwqBTdGFydGlu
ZyBELUJ1cyBTeXN0ZW0gTWVzc2FnZSBCdXMuLi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIMKgIMKgU3RhcnRpbmcgVXNlciBMb2dpbiBNYW5hZ2VtZW50Li4uPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoCDCoFN0YXJ0aW5nIFBlcm1pdCBVc2VyIFNlc3Npb25z
Li4uPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoCDCoFN0YXJ0aW5nIFRoZSBY
ZW4geGVuc3RvcmUuLi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgIMKgU3Rh
cnRpbmcgT3BlblNTSCBLZXkgR2VuZXJhdGlvbi4uLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsg
W0ZBSUxFRF0gRmFpbGVkIHRvIHN0YXJ0IFRoZSBYZW4geGVuc3RvcmUuPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyBTZWUgJiMzOTtzeXN0ZW1jdGwgc3RhdHVzIHhlbnN0b3JlZC5zZXJ2aWNlJiMz
OTsgZm9yIGRldGFpbHMuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbREVQRU5EXSBEZXBlbmRl
bmN5IGZhaWxlZCBmb3IgcWVtdSBmb3IgeGVuIGRvbTAgZGlzayBiYWNrZW5kLjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgW0RFUEVORF0gRGVwZW5kZW5jeSBmYWlsZWQgZm9yIFhlbmTigKZwIGd1
ZXN0cyBvbiBib290IGFuZCBzaHV0ZG93bi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFtERVBF
TkRdIERlcGVuZGVuY3kgZmFpbGVkIGZvciB4ZW4t4oCmZGVzLCBKU09OIGNvbmZpZ3VyYXRpb24g
c3R1YikuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbREVQRU5EXSBEZXBlbmRlbmN5IGZhaWxl
ZCBmb3IgWGVuY+KApmd1ZXN0IGNvbnNvbGVzIGFuZCBoeXBlcnZpc29yLjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgWyDCoE9LIMKgXSBGaW5pc2hlZCBQZXJtaXQgVXNlciBTZXNzaW9ucy48YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0gU3RhcnRlZCBHZXR0eSBvbiB0dHkxLjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgWyDCoE9LIMKgXSBTdGFydGVkIFNlcmlhbCBHZXR0eSBv
biBodmMwLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgWyDCoE9LIMKgXSBTdGFydGVkIFNlcmlh
bCBHZXR0eSBvbiB0dHlTMC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0gUmVh
Y2hlZCB0YXJnZXQgTG9naW4gUHJvbXB0cy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgIMKgU3RhcnRpbmcgWGVuLXdhdGNoZG9nIC0gcnVuIHhlbiB3YXRjaGRvZyBkYWVtb24u
Li48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0gU3RhcnRlZCBELUJ1cyBTeXN0
ZW0gTWVzc2FnZSBCdXMuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbIMKgT0sgwqBdIFN0YXJ0
ZWQgWGVuLXdhdGNoZG9nIC0gcnVuIHhlbiB3YXRjaGRvZyBkYWVtb24uPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyBbIMKgT0sgwqBdIEZpbmlzaGVkIE9wZW5TU0ggS2V5IEdlbmVyYXRpb24uPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbIMKgT0sgwqBdIFN0YXJ0ZWQgVXNlciBMb2dpbiBNYW5h
Z2VtZW50Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgWyDCoE9LIMKgXSBSZWFjaGVkIHRhcmdl
dCBNdWx0aS1Vc2VyIFN5c3RlbS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKg
IMKgU3RhcnRpbmcgUmVjb3JkIFJ1bmxldmVsIENoYW5nZSBpbiBVVE1QLi4uPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyBbIMKgT0sgwqBdIEZpbmlzaGVkIFJlY29yZCBSdW5sZXZlbCBDaGFuZ2Ug
aW4gVVRNUC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGZiY29uOiBUYWtpbmcgb3ZlciBjb25z
b2xlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgUG9r
eSAoWW9jdG8gUHJvamVjdCBSZWZlcmVuY2UgRGlzdHJvKSA0LjAuNCByYXNwYmVycnlwaTQtNjQg
aHZjMDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJh
c3BiZXJyeXBpNC02NCBsb2dpbjogcm9vdDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgcm9vdEBy
YXNwYmVycnlwaTQtNjQ6fiM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5
cGk0LTY0On4jPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDp+
IyBzeXN0ZW1jdGwgc3RhdHVzIHhlbnN0b3JlZC5zZXJ2aWNlPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0OyB4IHhlbnN0b3JlZC5zZXJ2aWNlIC0gVGhlIFhlbiB4ZW5zdG9yZTxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqBMb2FkZWQ6IGxvYWRlZCAoL2xpYi9zeXN0ZW1kL3N5c3RlbS94
ZW5zdG9yZWQuc2VydmljZTsgZW5hYmxlZDsgdmVuZG9yIHByZXNldDogZW5hYmxlZCk8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgQWN0aXZlOiBmYWlsZWQgKFJlc3VsdDogZXhpdC1j
b2RlKSBzaW5jZSBUaHUgMjAyMi0xMi0wMSAwNjoxMjowNSBVVEM7IDI2cyBhZ288YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIFByb2Nlc3M6IDE5NSBFeGVjU3RhcnRQcmU9L2Jpbi9ncmVw
IC1xIGNvbnRyb2xfZCAvcHJvYy94ZW4vY2FwYWJpbGl0aWVzIChjb2RlPWV4aXRlZCwgc3RhdHVz
PTEvRkFJTFVSRSk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0OyBEZWMgMDEgMDY6MTI6MDQgcmFzcGJlcnJ5cGk0LTY0IHN5c3RlbWRbMV06IFN0YXJ0aW5n
IFRoZSBYZW4geGVuc3RvcmUuLi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IERlYyAwMSAwNjox
MjowNSByYXNwYmVycnlwaTQtNjQgc3lzdGVtZFsxXTogeGVuc3RvcmVkLnNlcnZpY2U6IENvbnRy
b2wgcHJvLi4uVVJFPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBEZWMgMDEgMDY6MTI6MDUgcmFz
cGJlcnJ5cGk0LTY0IHN5c3RlbWRbMV06IHhlbnN0b3JlZC5zZXJ2aWNlOiBGYWlsZWQgd2l0aC4u
LmUmIzM5Oy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IERlYyAwMSAwNjoxMjowNSByYXNwYmVy
cnlwaTQtNjQgc3lzdGVtZFsxXTogRmFpbGVkIHRvIHN0YXJ0IFRoZSBYZW4geGVuc3RvcmUuPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBIaW50OiBTb21lIGxpbmVzIHdlcmUgZWxsaXBzaXplZCwg
dXNlIC1sIHRvIHNob3cgaW4gZnVsbC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFz
cGJlcnJ5cGk0LTY0On4jwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0OyBBbnkgaW5wdXQgb24gdGhlc2U/PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgVGhhbmtzICZhbXA7IFJlZ2FyZHMsPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIFdlZCwgTm92IDIzLCAyMDIyIGF0IDU6NDEgQU0gU3RlZmFu
byBTdGFiZWxsaW5pICZsdDs8YSBocmVmPSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIg
dGFyZ2V0PSJfYmxhbmsiPnNzdGFiZWxsaW5pQGtlcm5lbC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBIaSBWaXB1bCw8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSSBjYW5ub3Qgc3Bv
dCBhbnkgaXNzdWUgaW4gdGhlIGNvbmZpZ3VyYXRpb24sIGluIHBhcnRpY3VhbCB5b3UgaGF2ZTo8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgQ09ORklHX1hFTl9GQkRFVl9GUk9OVEVORD15PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHdoaWNoIGlzIHdoYXQgeW91IG5lZWQu
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoFRoZSBvbmx5IHRoaW5nIEkgY2FuIHN1Z2dlc3QgaXMgdG8gYWRkIHByaW50a3MgdG8gdGhl
IExpbnV4IGZyb250ZW5kPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZHJpdmVy
ICh0aGUgb25lIHJ1bm5pbmcgaW4gdGhlIGRvbVUpIHdoaWNoIGlzPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgZHJpdmVycy92aWRlby9mYmRldi94ZW4tZmJmcm9udC5jIGFuZCBw
cmludGZzIHRvIHRoZSBRRU1VIGJhY2tlbmQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAocnVubmluZyBpbiBEb20wKSB3aGljaCBpcyBody9kaXNwbGF5L3hlbmZiLmMgdG8gZmln
dXJlIG91dCB3aGF0IGlzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZ29pbmcg
b24uPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHNl
dHVwIFBWIG5ldHdvcmsgd2l0aCB0aGUgZG9tVSwgc3VjaCBhczo8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqAgdmlmPVsmIzM5OyYj
Mzk7XTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqBhbmQgdGhlbiBydW4geDExIGFuZCBhIHgxMXZuYyBzZXJ2ZXIgaW4geW91ciBkb21V
LiBZb3Ugc2hvdWxkIGJlIGFibGUgdG88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBjb25uZWN0IHRvIGl0IHVzaW5nIHZuY3ZpZXdlciBhdCB0aGUgbmV0d29yayBJUCBvZiB5b3Vy
IGRvbVUuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoEJhc2ljYWxseSB5b3UgYXJlIHNraXBwaW5nIHRoZSBwcm9ibGVtIGJlY2F1c2Ug
aW5zdGVhZCBvZiB1c2luZyB0aGUgUFY8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBmcmFtZWJ1ZmZlciBwcm90b2NvbCwgeW91IGp1c3QgdXNlIFZOQyBvdmVyIHRoZSBuZXR3b3Jr
IHdpdGggdGhlIGRvbVUuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFN0
ZWZhbm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoE9uIFR1ZSwgMjIgTm92IDIwMjIsIFZp
cHVsIFN1bmVqYSB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IEhpIFN0ZWZhbm8sPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFu
a3MgZm9yIHRoZcKgc3VwcG9ydCE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBMb29rcyBsaWtlIEkg
aGF2ZSB0cmllZCBhbGwgdGhlIGNvbWJpbmF0aW9uc8KgJmFtcDsgcG9zc2libGUgd2F5cyB0byBn
ZXQgZGlzcGxheSB1cCBidXQgZmFpbGVkLiBJcyB0aGVyZSBhbnkgZG9jdW1lbnQgb3I8YnI+DQom
Z3Q7wqAgwqAgwqAgwqBwZGYgZm9yPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
cG9ydGluZyB4ZW4gb248YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJh
c3BiZXJyeXBpNC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEkgY291
bGQgZmluZCBsb3QmIzM5O3Mgb2YgbGlua3MgdGVsbGluZyB0aGUgc2FtZSBidXQgY291bGRuJiMz
OTt0IHNlZSBhbnkgb2ZmaWNpYWwgdXNlciBndWlkZSBvciBkb2N1bWVudCBmcm9tIHRoZSB4ZW48
YnI+DQomZ3Q7wqAgwqAgwqAgwqBjb21tdW5pdHkgb248YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqB0aGUgc2FtZS4gSWY8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IHRoZXJlIGlzIHNvbWV0aGluZyB0byByZWZlcsKgPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyB0byBwbGVhc2Ugc2hhcmUgd2l0aCBtZS48YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEkgYW0gYXR0YWNoaW5nIHRoZSBrZXJuZWwgY29u
ZmlndXJhdGlvbiBmaWxlIGFsc28sIGp1c3QgdGFrZSBhIGxvb2sgaWYgaSBoYXZlIG1pc3NlZCBh
bnl0aGluZy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFueSBvdGhl
ciBzdWdnZXN0aW9ucyBvciBpbnB1dCBmcm9tIHlvdXIgZW5kIGNvdWxkIGJlIHJlYWxseSBoZWxw
ZnVsPzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9u
IEZyaSwgTm92IDExLCAyMDIyIGF0IDY6NDAgQU0gU3RlZmFubyBTdGFiZWxsaW5pICZsdDs8YSBo
cmVmPSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNzdGFi
ZWxsaW5pQGtlcm5lbC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBIaSBWaXB1bCw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgU29ycnkgZm9yIHRoZSBsYXRlIHJlcGx5LiBGcm9tIHRoZSBlYXJsaWVyIGxv
Z3MgdGhhdCB5b3Ugc2VudCwgaXQgbG9va3M8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqBsaWtlIGV2ZXJ5dGhpbmcgc2hvdWxkIGJlIHdvcmtpbmcgY29y
cmVjdGx5LiBTcGVjaWZpY2FsbHk6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKg
wqAgwqAgdmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoDEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIDAgPSAmcXVv
dDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqDCoMKgIMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvZGV2aWNlL3Zm
Yi8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgwqDCoCDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAgwqBvbmxpbmUg
PSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgwqDCoCDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAgwqB2bmMgPSAm
cXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgwqDCoCDCoCDCoCDCoHZuY2xpc3RlbiA9ICZxdW90OzEyNy4wLjAuMSZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAg
wqB2bmNkaXNwbGF5ID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAgwqB2bmN1bnVzZWQgPSAmcXVvdDsxJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqDC
oCDCoCDCoCDCoHNkbCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgb3BlbmdsID0gJnF1b3Q7MCZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAg
wqAgwqAgwqBmZWF0dXJlLXJlc2l6ZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgaG90cGx1Zy1zdGF0
dXMgPSAmcXVvdDtjb25uZWN0ZWQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgcmVxdWVzdC11cGRhdGUgPSAmcXVvdDsx
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHN0YXRlICZxdW90OzQmcXVv
dDsgbWVhbnMgJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7LiBTbyBJIHdvdWxkIGV4cGVjdCB0aGF0IHlv
dSBzaG91bGQgYmUgYWJsZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoHRvIGNvbm5lY3QgdG8gdGhlIHZuYyBzZXJ2ZXIgdXNpbmcgdm5jdmlld2VyLiBZ
b3UgbWlnaHQgbm90IHNlZSBhbnl0aGluZzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoChibGFjayBzY3JlZW4pIGJ1dCB5b3Ugc2hvdWxkIGRlZmluaXRl
bHkgYmUgYWJsZSB0byBjb25uZWN0Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJ
IHdvdWxkbiYjMzk7dCB0cnkgdG8gbGF1bmNoIHgxMSBpbiB0aGUgZ3Vlc3QganVzdCB5ZXQuIGZi
Y29uIGluIExpbnV4IGlzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgZW5vdWdoIHRvIHJlbmRlciBzb21ldGhpbmcgb24gdGhlIHNjcmVlbi4gWW91IHNo
b3VsZCBiZSBhYmxlIHRvIHNlZSB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBMaW51eCB0ZXh0LWJhc2VkIGNvbnNvbGUgcmVuZGVyZWQgZ3JhcGhp
Y2FsbHksIGNvbm5lY3RpbmcgdG8gaXQgdmlhIHZuYy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgU29ycnkgZm9yIHRoZSBiYXNpYyBxdWVzdGlvbiwgYnV0IGhhdmUgeW91IHRyaWVk
IGFsbCB0aGUgZm9sbG93aW5nPzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2
aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTowIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdl
dD0iX2JsYW5rIj4xMjcuMC4wLjE6MDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTox
IiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6MTwvYT48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEg
aHJlZj0iaHR0cDovLzEyNy4wLjAuMToyIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5r
Ij4xMjcuMC4wLjE6MjwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo1OTAwIiByZWw9
Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6NTkwMDwvYT48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJl
Zj0iaHR0cDovLzEyNy4wLjAuMTo1OTAxIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5r
Ij4xMjcuMC4wLjE6NTkwMTwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo1OTAyIiBy
ZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6NTkwMjwvYT48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgR2l2ZW4gdGhhdCBmcm9tIHRoZSB4ZW5zdG9yZS1s
cyBsb2dzIGV2ZXJ5dGhpbmcgc2VlbXMgdG8gd29yayBjb3JyZWN0bHk8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJIGFtIG5vdCBzdXJlIHdoYXQgZWxz
ZSB0byBzdWdnZXN0LiBZb3UgbWlnaHQgaGF2ZSB0byBhZGQgcHJpbnRmIHRvIFFFTVU8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB1aS92bmMuYyBhbmQg
aHcvZGlzcGxheS94ZW5mYi5jIHRvIHNlZSB3aGF0IGlzIGdvaW5nIHdyb25nLjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoFN0ZWZhbm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoE9uIE1vbiwgNyBOb3YgMjAyMiwgVmlwdWwg
U3VuZWphIHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgSGkgU3RlZmFubyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFRoYW5rcyE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBBbnkgaW5wdXQgZnVydGhlciBvbiAmcXVvdDt4ZW5z
dG9yZS1scyZxdW90OyBsb2dzPzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IEkgYW0gdHJ5aW5nIHRvIHJ1biB0aGUgeDB2bmNzZXJ2ZXIgJmFtcDsg
eDExdm5jIHNlcnZlciBtYW51YWxseSBvbiBndWVzdCBtYWNoaW5lKHhlbl9ndWVzdF9pbWFnZV9t
aW5pbWFsKSBpbWFnZTxicj4NCiZndDvCoCDCoCDCoCDCoGJ1dCBpdCYjMzk7czxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGZhaWxpbmc8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB3aXRoIHRoZSBiZWxvdzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgZXJyb3IuPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVycnlw
aTQtNjQ6L3Vzci9iaW4jIHgwdm5jc2VydmVyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB4MHZuY3NlcnZlcjogdW5hYmxlIHRvIG9wZW4gZGlz
cGxheSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0Oi91c3IvYmluIzxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVy
cnlwaTQtNjQ6L3Vzci9iaW4jIHgxMXZuYzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyAjQCDCoCoqIMKgV0FSTklORyDCoCoqIMKgV0FSTklORyDCoCoqIMKgV0FSTklO
RyDCoCoqIMKgV0FSTklORyDCoCoqIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgI0AgwqAgwqAgwqAgwqBZT1UgQVJFIFJVTk5JTkcgWDExVk5DIFdJVEhPVVQgQSBQQVNTV09S
RCEhIMKgIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoFRo
aXMgbWVhbnMgYW55b25lIHdpdGggbmV0d29yayBhY2Nlc3MgdG8gdGhpcyBjb21wdXRlciDCoCBA
Izxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
I0AgwqBtYXkgYmUgYWJsZSB0byB2aWV3IGFuZCBjb250cm9sIHlvdXIgZGVza3RvcC4gwqAgwqAg
wqAgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAICZndDsmZ3Q7
Jmd0OyBJZiB5b3UgZGlkIG5vdCBtZWFuIHRvIGRvIHRoaXMgUHJlc3MgQ1RSTC1DIG5vdyEhICZs
dDsmbHQ7Jmx0OyBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIzxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgWW91IGNhbiBjcmVhdGUgYW4geDExdm5j
IHBhc3N3b3JkIGZpbGUgYnkgcnVubmluZzogwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCB4MTF2bmMgLXN0b3JlcGFzc3dkIHBhc3N3b3JkIC9w
YXRoL3RvL3Bhc3NmaWxlIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgb3IgwqAgeDExdm5jIC1zdG9yZXBhc3N3ZCAv
cGF0aC90by9wYXNzZmlsZSDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBvciDCoCB4MTF2bmMg
LXN0b3JlcGFzc3dkIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAodGhlIGxhc3Qgb25l
IHdpbGwgdXNlIH4vLnZuYy9wYXNzd2QpIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgQCM8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNA
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoGFuZCB0aGVuIHN0YXJ0aW5nIHgx
MXZuYyB2aWE6IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgQCM8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoHgxMXZuYyAtcmZiYXV0aCAv
cGF0aC90by9wYXNzZmlsZSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEAjPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBhbiBleGlzdGluZyB+Ly52bmMvcGFzc3dkIGZp
bGUgZnJvbSBhbm90aGVyIFZOQyDCoCDCoCDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoGFwcGxpY2F0aW9uIHdpbGwg
d29yayBmaW5lIHRvby4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBAIzxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0Ag
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgWW91IGNhbiBhbHNvIHVzZSB0aGUg
LXBhc3N3ZGZpbGUgb3IgLXBhc3N3ZCBvcHRpb25zLiDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAobm90ZSAtcGFzc3dk
IGlzIHVuc2FmZSBpZiBsb2NhbCB1c2VycyBhcmUgbm90IHRydXN0ZWQpIMKgQCM8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoE1ha2Ugc3VyZSBhbnkgLXJmYmF1dGggYW5kIC1w
YXNzd2RmaWxlIHBhc3N3b3JkIGZpbGVzIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgY2Fubm90IGJlIHJlYWQgYnkgdW50
cnVzdGVkIHVzZXJzLiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgVXNlIHgxMXZuYyAtdXNlcHcgdG8gYXV0b21h
dGljYWxseSB1c2UgeW91ciDCoCDCoCDCoCDCoCDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoH4vLnZuYy9wYXNzd2Qg
b3Igfi8udm5jL3Bhc3N3ZGZpbGUgcGFzc3dvcmQgZmlsZXMuIMKgIMKgIMKgIEAjPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoChhbmQg
cHJvbXB0IHlvdSB0byBjcmVhdGUgfi8udm5jL3Bhc3N3ZCBpZiBuZWl0aGVyIMKgIMKgIMKgIEAj
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAj
QCDCoGZpbGUgZXhpc3RzLikgwqBVbmRlciAtdXNlcHcsIHgxMXZuYyB3aWxsIGV4aXQgaWYgaXQg
wqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgI0AgwqBjYW5ub3QgZmluZCBhIHBhc3N3b3JkIHRvIHVzZS4gwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBFdmVuIHdpdGggYSBw
YXNzd29yZCwgdGhlIHN1YnNlcXVlbnQgVk5DIHRyYWZmaWMgaXMgwqAgwqAgwqBAIzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBzZW50
IGluIHRoZSBjbGVhci7CoCBDb25zaWRlciB0dW5uZWxsaW5nIHZpYSBzc2goMSk6IMKgIMKgIMKg
QCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoDxhIGhyZWY9Imh0dHA6
Ly93d3cua2FybHJ1bmdlLmNvbS94MTF2bmMvI3R1bm5lbGxpbmciIHJlbD0ibm9yZWZlcnJlciIg
dGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cua2FybHJ1bmdlLmNvbS94MTF2bmMvI3R1bm5lbGxp
bmc8L2E+IMKgIMKgIMKgIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyAjQCDCoE9yIHVzaW5nIHRoZSB4MTF2bmMgU1NMIG9wdGlvbnM6IC1zc2wgYW5kIC1zdHVubmVs
IMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBQbGVhc2Ug
UmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvIGFib3V0IMKgIMKgIMKgIMKgQCM8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNA
IMKgcGFzc3dvcmRzLCBzZWN1cml0eSwgYW5kIGVuY3J5cHRpb24uIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqA8
YSBocmVmPSJodHRwOi8vd3d3LmthcmxydW5nZS5jb20veDExdm5jL2ZhcS5odG1sI2ZhcS1wYXNz
d2QiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cua2FybHJ1bmdl
LmNvbS94MTF2bmMvZmFxLmh0bWwjZmFxLXBhc3N3ZDwvYT4gwqAgwqBAIzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgVG8gZGlzYWJsZSB0aGlzIHdhcm5pbmcgdXNlIHRoZSAt
bm9wdyBvcHRpb24sIG9yIHB1dCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAmIzM5O25vcHcmIzM5OyBvbiBhIGxpbmUg
aW4geW91ciB+Ly54MTF2bmNyYyBmaWxlLiDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQxIHgx
MXZuYyB2ZXJzaW9uOiAwLjkuMTYgbGFzdG1vZDogMjAxOS0wMS0wNSDCoHBpZDogNDI0PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8y
MDE4IDEyOjU4OjQxIFhPcGVuRGlzcGxheSgmcXVvdDsmcXVvdDspIGZhaWxlZC48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAzLzIwMTgg
MTI6NTg6NDEgVHJ5aW5nIGFnYWluIHdpdGggWEFVVEhMT0NBTEhPU1ROQU1FPWxvY2FsaG9zdCAu
Li48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IDA5LzAzLzIwMTggMTI6NTg6NDE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAzLzIwMTggMTI6NTg6NDEgKioqIFhPcGVuRGlzcGxheSBm
YWlsZWQuIE5vIC1kaXNwbGF5IG9yIERJU1BMQVkuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQxICoqKiBUcnlp
bmcgJnF1b3Q7OjAmcXVvdDsgaW4gNCBzZWNvbmRzLsKgIFByZXNzIEN0cmwtQyB0byBhYm9ydC48
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5
LzAzLzIwMTggMTI6NTg6NDEgKioqIDEgMiAzIDQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAzLzIwMTggMTI6NTg6NDUgWE9wZW5EaXNw
bGF5KCZxdW90OzowJnF1b3Q7KSBmYWlsZWQuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQ1IFRyeWluZyBhZ2Fp
biB3aXRoIFhBVVRITE9DQUxIT1NUTkFNRT1sb2NhbGhvc3QgLi4uPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQ1
IFhPcGVuRGlzcGxheSgmcXVvdDs6MCZxdW90OykgZmFpbGVkLjxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0NSBU
cnlpbmcgYWdhaW4gd2l0aCB1bnNldCBYQVVUSExPQ0FMSE9TVE5BTUUgLi4uPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEy
OjU4OjQ1PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgMDkvMDMvMjAxOCAxMjo1ODo0NSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKio8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IDA5LzAzLzIwMTggMTI6NTg6NDUgKioqIFhPcGVuRGlzcGxheSBmYWlsZWQgKDowKTxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICoqKiB4MTF2
bmMgd2FzIHVuYWJsZSB0byBvcGVuIHRoZSBYIERJU1BMQVk6ICZxdW90OzowJnF1b3Q7LCBpdCBj
YW5ub3QgY29udGludWUuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyAqKiogVGhlcmUgbWF5IGJlICZxdW90O1hsaWI6JnF1b3Q7IGVycm9yIG1l
c3NhZ2VzIGFib3ZlIHdpdGggZGV0YWlscyBhYm91dCB0aGUgZmFpbHVyZS48YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBTb21lIHRpcHMgYW5kIGd1
aWRlbGluZXM6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgKiogQW4gWCBzZXJ2ZXIgKHRoZSBvbmUgeW91IHdpc2ggdG8gdmlldykgbXVzdCBiZSBy
dW5uaW5nIGJlZm9yZSB4MTF2bmMgaXM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgc3RhcnRlZDogeDExdm5jIGRvZXMgbm90IHN0YXJ0
IHRoZSBYIHNlcnZlci4gwqAoaG93ZXZlciwgc2VlIHRoZSAtY3JlYXRlPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoG9wdGlvbiBpZiB0
aGF0IGlzIHdoYXQgeW91IHJlYWxseSB3YW50KS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAqKiBZb3UgbXVzdCB1c2UgLWRpc3BsYXkgJmx0O2Rp
c3AmZ3Q7LCAtT1ItIHNldCBhbmQgZXhwb3J0IHlvdXIgJERJU1BMQVk8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgZW52aXJvbm1lbnQg
dmFyaWFibGUgdG8gcmVmZXIgdG8gdGhlIGRpc3BsYXkgb2YgdGhlIGRlc2lyZWQgWCBzZXJ2ZXIu
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oC0gVXN1YWxseSB0aGUgZGlzcGxheSBpcyBzaW1wbHkgJnF1b3Q7OjAmcXVvdDsgKGluIGZhY3Qg
eDExdm5jIHVzZXMgdGhpcyBpZiB5b3UgZm9yZ2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoHRvIHNwZWNpZnkgaXQpLCBidXQgaW4g
c29tZSBtdWx0aS11c2VyIHNpdHVhdGlvbnMgaXQgY291bGQgYmUgJnF1b3Q7OjEmcXVvdDssICZx
dW90OzoyJnF1b3Q7LDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqBvciBldmVuICZxdW90OzoxMzcmcXVvdDsuwqAgQXNrIHlvdXIgYWRt
aW5pc3RyYXRvciBvciBhIGd1cnUgaWYgeW91IGFyZSBoYXZpbmc8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgZGlmZmljdWx0eSBkZXRl
cm1pbmluZyB3aGF0IHlvdXIgWCBESVNQTEFZIGlzLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICoqIE5leHQsIHlvdSBuZWVkIHRvIGhhdmUgc3Vm
ZmljaWVudCBwZXJtaXNzaW9ucyAoWGF1dGhvcml0eSk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdG8gY29ubmVjdCB0byB0aGUgWCBE
SVNQTEFZLiDCoCBIZXJlIGFyZSBzb21lIFRpcHM6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAtIE9mdGVuLCB5b3UganVzdCBuZWVkIHRvIHJ1
biB4MTF2bmMgYXMgdGhlIHVzZXIgbG9nZ2VkIGludG8gdGhlIFggc2Vzc2lvbi48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgU28gbWFr
ZSBzdXJlIHRvIGJlIHRoYXQgdXNlciB3aGVuIHlvdSB0eXBlIHgxMXZuYy48YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgLSBCZWluZyByb290
IGlzIHVzdWFsbHkgbm90IGVub3VnaCBiZWNhdXNlIHRoZSBpbmNvcnJlY3QgTUlULU1BR0lDLUNP
T0tJRTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqBmaWxlIG1heSBiZSBhY2Nlc3NlZC7CoCBUaGUgY29va2llIGZpbGUgY29udGFpbnMg
dGhlIHNlY3JldCBrZXkgdGhhdDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqBhbGxvd3MgeDExdm5jIHRvIGNvbm5lY3QgdG8gdGhlIGRl
c2lyZWQgWCBESVNQTEFZLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAtIFlvdSBjYW4gZXhwbGljaXRseSBpbmRpY2F0ZSB3aGljaCBNSVQt
TUFHSUMtQ09PS0lFIGZpbGUgc2hvdWxkIGJlIHVzZWQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgYnkgdGhlIC1hdXRoIG9wdGlvbiwg
ZS5nLjo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIMKgeDExdm5jIC1hdXRoIC9ob21lL3NvbWV1c2VyLy5YYXV0aG9yaXR5IC1k
aXNwbGF5IDowPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCDCoHgxMXZuYyAtYXV0aCAvdG1wLy5nZG16bmRWbFIgLWRpc3BsYXkg
OjA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgeW91IG11c3QgaGF2ZSByZWFkIHBlcm1pc3Npb24gZm9yIHRoZSBhdXRoIGZpbGUuPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oFNlZSBhbHNvICYjMzk7LWF1dGggZ3Vlc3MmIzM5OyBhbmQgJiMzOTstZmluZGF1dGgmIzM5OyBk
aXNjdXNzZWQgYmVsb3cuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgKiogSWYgTk8gT05FIGlzIGxvZ2dlZCBpbnRvIGFuIFggc2Vzc2lvbiB5ZXQs
IGJ1dCB0aGVyZSBpcyBhIGdyZWV0ZXIgbG9naW48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgcHJvZ3JhbSBsaWtlICZxdW90O2dkbSZx
dW90OywgJnF1b3Q7a2RtJnF1b3Q7LCAmcXVvdDt4ZG0mcXVvdDssIG9yICZxdW90O2R0bG9naW4m
cXVvdDsgcnVubmluZywgeW91IHdpbGwgbmVlZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqB0byBmaW5kIGFuZCB1c2UgdGhlIHJhdyBk
aXNwbGF5IG1hbmFnZXIgTUlULU1BR0lDLUNPT0tJRSBmaWxlLjxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBTb21lIGV4YW1wbGVzIGZv
ciB2YXJpb3VzIGRpc3BsYXkgbWFuYWdlcnM6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBnZG06IMKgIMKgIC1hdXRoIC92YXIvZ2Rt
LzowLlhhdXRoPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCDCoCDCoCDCoCDCoCAtYXV0aCAvdmFyL2xpYi9nZG0vOjAuWGF1dGg8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKga2RtOiDCoCDCoCAtYXV0aCAvdmFyL2xpYi9rZG0vQTowLWNyV2s3Mjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgLWF1dGggL3Zhci9ydW4veGF1dGgvQTowLWNyV2s3Mjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB4ZG06IMKgIMKg
IC1hdXRoIC92YXIvbGliL3hkbS9hdXRoZGlyL2F1dGhmaWxlcy9BOjAtWFF2YUprPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGR0
bG9naW46IC1hdXRoIC92YXIvZHQvQTowLVVnYWFYYTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgU29tZXRpbWVzIHRoZSBjb21tYW5kICZx
dW90O3BzIHd3d3dhdXggfCBncmVwIGF1dGgmcXVvdDsgY2FuIHJldmVhbCB0aGUgZmlsZSBsb2Nh
dGlvbi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoFN0YXJ0aW5nIHdpdGggeDExdm5jIDAuOS45IHlvdSBjYW4gaGF2ZSBpdCB0cnkgdG8g
Z3Vlc3MgYnkgdXNpbmc6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgLWF1dGggZ3Vlc3M8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoChzZWUgYWxzbyB0
aGUgeDExdm5jIC1maW5kYXV0aCBvcHRpb24uKTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgT25seSByb290IHdpbGwgaGF2ZSByZWFkIHBl
cm1pc3Npb24gZm9yIHRoZSBmaWxlLCBhbmQgc28geDExdm5jIG11c3QgYmUgcnVuPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGFzIHJv
b3QgKG9yIGNvcHkgaXQpLsKgIFRoZSByYW5kb20gY2hhcmFjdGVycyBpbiB0aGUgZmlsZW5hbWVz
IHdpbGwgb2YgY291cnNlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoGNoYW5nZSBhbmQgdGhlIGRpcmVjdG9yeSB0aGUgY29va2llIGZp
bGUgcmVzaWRlcyBpbiBpcyBzeXN0ZW0gZGVwZW5kZW50Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFNlZSBhbHNvOiA8YSBocmVmPSJodHRwOi8v
d3d3LmthcmxydW5nZS5jb20veDExdm5jL2ZhcS5odG1sIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdl
dD0iX2JsYW5rIj5odHRwOi8vd3d3LmthcmxydW5nZS5jb20veDExdm5jL2ZhcS5odG1sPC9hPjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFJlZ2Fy
ZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IE9uIFRodSwgTm92IDMsIDIwMjIgYXQgMTA6MjcgUE0gVmlwdWwgU3VuZWphICZs
dDs8YSBocmVmPSJtYWlsdG86dnN1bmVqYTYzQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnZz
dW5lamE2M0BnbWFpbC5jb208L2E+Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBIaSBTdGVmYW5vLDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVGhhbmtz
ITxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEkg
dXNlZCB4ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbChzaW1wbGUgY29uc29sZSBiYXNlZCBpbWFnZSkg
YXMgYSBndWVzdCB3aXRoIGZiY29uICZhbXA7IGZiZGV2IGVuYWJsZWQgaW4ga2VybmVsPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgY29uZmlndXJhdGlvbnMgYnV0PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgc3RpbGw8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHRoZSBzYW1lIGVy
cm9yIGNhbiYjMzk7dCBvcGVuIHRoZSBkaXNwbGF5Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgYmVsb3cgYXJlIHRoZSBvdXRjb21lIG9mICZx
dW90O3hlbnN0b3JlLWxzJnF1b3Q7Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4vZ3Vlc3QxIyB4ZW5zdG9y
ZS1sczxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgdG9vbCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqB4ZW5zdG9yZWQgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxvY2FsID0gJnF1
b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoGRvbWFpbiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgMCA9ICZxdW90OyZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBjb250
cm9sID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBmZWF0dXJlLXBvd2Vyb2ZmID0gJnF1b3Q7MSZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgZmVhdHVyZS1yZWJvb3QgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRvbWlkID0gJnF1b3Q7MCZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqBuYW1lID0gJnF1b3Q7RG9tYWluLTAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgZGV2aWNlLW1vZGVsID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGJhY2tlbmRzID0gJnF1b3Q7JnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoCBjb25zb2xlID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCB2a2JkID0gJnF1b3Q7JnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoCB2ZmIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHFuaWMgPSAmcXVvdDsmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgc3RhdGUgPSAmcXVvdDtydW5uaW5nJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oGJhY2tlbmRzID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBjb25zb2xlID0gJnF1b3Q7JnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCB2a2JkID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCB2ZmIgPSAmcXVvdDsmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IHFuaWMgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgc3RhdGUgPSAmcXVvdDtydW5uaW5nJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oGJhY2tlbmQgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHZiZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAxID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCA1MTcxMiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmcm9udGVu
ZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMS9kZXZpY2UvdmJkLzUxNzEyJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oHBhcmFtcyA9ICZxdW90Oy9ob21lL3Jvb3QvZ3Vlc3QyL3hlbi1ndWVzdC1pbWFnZS1taW5pbWFs
LXJhc3BiZXJyeXBpNC02NC5leHQzJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHNjcmlwdCA9ICZxdW90Oy9ldGMv
eGVuL3NjcmlwdHMvYmxvY2smcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJvbnRlbmQtaWQgPSAmcXVvdDsxJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCDCoG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcmVtb3ZhYmxlID0g
JnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgwqBib290YWJsZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKg
c3RhdGUgPSAmcXVvdDs0JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGRldiA9ICZxdW90O3h2ZGEmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgdHlwZSA9ICZxdW90O3BoeSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBtb2RlID0gJnF1b3Q7dyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqBkZXZpY2UtdHlwZSA9ICZxdW90O2Rpc2smcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZGlzY2Fy
ZC1lbmFibGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtbWF4LWluZGlyZWN0LXNl
Z21lbnRzID0gJnF1b3Q7MjU2JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoG11bHRpLXF1ZXVlLW1heC1xdWV1ZXMg
PSAmcXVvdDs0JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoG1heC1yaW5nLXBhZ2Utb3JkZXIgPSAmcXVvdDs0JnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCDCoG5vZGUgPSAmcXVvdDsvZGV2L2xvb3AwJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHBoeXNp
Y2FsLWRldmljZSA9ICZxdW90Ozc6MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBwaHlzaWNhbC1kZXZpY2UtcGF0
aCA9ICZxdW90Oy9kZXYvbG9vcDAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgaG90cGx1Zy1zdGF0dXMgPSAmcXVv
dDtjb25uZWN0ZWQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1mbHVzaC1jYWNoZSA9ICZxdW90OzEm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIMKgZGlzY2FyZC1ncmFudWxhcml0eSA9ICZxdW90OzQwOTYmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgZGlzY2FyZC1hbGlnbm1lbnQgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGRpc2NhcmQt
c2VjdXJlID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLWRpc2NhcmQgPSAmcXVvdDsx
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtYmFycmllciA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKg
ZmVhdHVyZS1wZXJzaXN0ZW50ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBzZWN0b3JzID0gJnF1
b3Q7MTc5NDA0OCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBpbmZvID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBz
ZWN0b3Itc2l6ZSA9ICZxdW90OzUxMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBwaHlzaWNhbC1zZWN0b3Itc2l6
ZSA9ICZxdW90OzUxMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoDEgPSAmcXVv
dDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVv
dDsvbG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZmYi8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250ZW5kLWlk
ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB2bmMgPSAmcXVvdDsxJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoHZuY2xpc3RlbiA9ICZxdW90OzEyNy4wLjAuMSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB2bmNkaXNwbGF5
ID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB2bmN1bnVzZWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoHNkbCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgb3BlbmdsID0gJnF1b3Q7MCZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAgwqBmZWF0dXJlLXJlc2l6ZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgaG90cGx1Zy1z
dGF0dXMgPSAmcXVvdDtjb25uZWN0ZWQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcmVxdWVzdC11cGRhdGUgPSAm
cXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCB2a2JkID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoDEgPSAmcXVvdDsmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9j
YWwvZG9tYWluLzEvZGV2aWNlL3ZrYmQvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmcm9udGVuZC1pZCA9ICZx
dW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgIMKgb25saW5lID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBzdGF0
ZSA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1hYnMtcG9pbnRlciA9ICZxdW90OzEm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1yYXctcG9pbnRlciA9ICZxdW90OzEmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IMKgaG90cGx1Zy1zdGF0dXMgPSAmcXVvdDtjb25uZWN0ZWQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIGNvbnNvbGUgPSAm
cXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgMSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgMCA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqBmcm9udGVuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMS9jb25zb2xlJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBvbmxpbmUgPSAm
cXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBwcm90
b2NvbCA9ICZxdW90O3Z0MTAwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB2aWYgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgMSA9
ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmcm9udGVuZCA9
ICZxdW90Oy9sb2NhbC9kb21haW4vMS9kZXZpY2UvdmlmLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJvbnRl
bmQtaWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgc3RhdGUgPSAmcXVvdDs0JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHNjcmlwdCA9ICZxdW90Oy9ldGMv
eGVuL3NjcmlwdHMvdmlmLWJyaWRnZSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBtYWMgPSAmcXVvdDtlNDo1Zjow
MTpjZDo3YjpkZCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBicmlkZ2UgPSAmcXVvdDt4ZW5icjAmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgaGFuZGxlID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB0eXBlID0gJnF1b3Q7dmlmJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCDCoGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoGZlYXR1cmUtc2cgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtZ3NvLXRjcHY0
ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLWdzby10Y3B2NiA9ICZxdW90OzEmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgIMKgZmVhdHVyZS1pcHY2LWNzdW0tb2ZmbG9hZCA9ICZxdW90OzEmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgZmVhdHVyZS1yeC1jb3B5ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLXhk
cC1oZWFkcm9vbSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1yeC1mbGlwID0gJnF1
b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLW11bHRpY2FzdC1jb250cm9sID0gJnF1b3Q7MSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgwqBmZWF0dXJlLWR5bmFtaWMtbXVsdGljYXN0LWNvbnRyb2wgPSAmcXVvdDsx
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtc3BsaXQtZXZlbnQtY2hhbm5lbHMgPSAmcXVvdDsxJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCDCoG11bHRpLXF1ZXVlLW1heC1xdWV1ZXMgPSAmcXVvdDs0JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoGZlYXR1cmUtY3RybC1yaW5nID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgMSA9ICZxdW90OyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqB2bSA9ICZxdW90Oy92bS9kODFlYzVhOS01YmY5LTRmMmItODllOC0wZjYwZDZkYTk0OGYmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgbmFtZSA9ICZxdW90O2d1ZXN0MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBjcHUgPSAmcXVvdDsmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgYXZhaWxhYmlsaXR5ID0gJnF1b3Q7b25saW5lJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGF2YWlsYWJpbGl0eSA9ICZxdW90O29ubGluZSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqBtZW1vcnkgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHN0YXRpYy1tYXggPSAmcXVvdDsyMDk3
MTUyJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCB0YXJnZXQgPSAmcXVvdDsyMDk3MTUyJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB2aWRlb3JhbSA9
ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgZGV2aWNlID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBzdXNwZW5kID0gJnF1
b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoGV2ZW50LWNoYW5uZWwgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHZiZCA9ICZx
dW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqA1MTcxMiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgYmFja2VuZCA9ICZx
dW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3ZiZC8xLzUxNzEyJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBiYWNr
ZW5kLWlkID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgc3RhdGUgPSAmcXVvdDs0JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCB2aXJ0dWFsLWRldmljZSA9ICZxdW90OzUxNzEyJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBkZXZpY2UtdHlwZSA9
ICZxdW90O2Rpc2smcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIG11bHRpLXF1ZXVlLW51bS1xdWV1ZXMgPSAmcXVvdDsy
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCBxdWV1ZS0wID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHJpbmctcmVmID0g
JnF1b3Q7OCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgwqBldmVudC1jaGFubmVsID0gJnF1b3Q7NCZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqAgcXVldWUtMSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqByaW5nLXJlZiA9ICZxdW90OzkmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgIMKgZXZlbnQtY2hhbm5lbCA9ICZxdW90OzUmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHByb3RvY29s
ID0gJnF1b3Q7YXJtLWFiaSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgZmVhdHVyZS1wZXJzaXN0ZW50ID0gJnF1b3Q7
MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgdmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoDAgPSAmcXVvdDsmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzAvYmFja2VuZC92ZmIvMS8wJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoCBiYWNrZW5kLWlkID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgc3RhdGUgPSAmcXVvdDs0
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCBwYWdlLXJlZiA9ICZxdW90OzI3NTAyMiZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgZXZlbnQt
Y2hhbm5lbCA9ICZxdW90OzMmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHByb3RvY29sID0gJnF1b3Q7YXJtLWFiaSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgZmVhdHVyZS11cGRhdGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB2a2JkID0gJnF1
b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGJhY2tlbmQgPSAmcXVvdDsv
bG9jYWwvZG9tYWluLzAvYmFja2VuZC92a2JkLzEvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgYmFja2VuZC1pZCA9
ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgcmVxdWVz
dC1hYnMtcG9pbnRlciA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHBhZ2UtcmVmID0gJnF1b3Q7Mjc1
MzIyJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCBwYWdlLWdyZWYgPSAmcXVvdDsxMjg0JnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBldmVu
dC1jaGFubmVsID0gJnF1b3Q7MTAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHZpZiA9ICZxdW90OyZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAw
ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBiYWNrZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8wL2Jh
Y2tlbmQvdmlmLzEvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgYmFja2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgaGFuZGxlID0gJnF1b3Q7MCZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAgbWFjID0gJnF1b3Q7ZTQ6NWY6MDE6Y2Q6N2I6ZGQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIG10dSA9ICZx
dW90OzE1MDAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHhkcC1oZWFkcm9vbSA9ICZxdW90OzAmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IG11bHRpLXF1ZXVlLW51bS1xdWV1ZXMgPSAmcXVvdDsyJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBxdWV1ZS0wID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCDCoHR4LXJpbmctcmVmID0gJnF1b3Q7MTI4MCZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqAgwqByeC1yaW5nLXJlZiA9ICZxdW90OzEyODEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZlbnQtY2hhbm5l
bC10eCA9ICZxdW90OzYmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZlbnQtY2hhbm5lbC1yeCA9ICZxdW90Ozcm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIHF1ZXVlLTEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdHgtcmluZy1yZWYg
PSAmcXVvdDsxMjgyJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHJ4LXJpbmctcmVmID0gJnF1b3Q7MTI4MyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqBldmVudC1jaGFubmVsLXR4ID0gJnF1b3Q7OCZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBldmVu
dC1jaGFubmVsLXJ4ID0gJnF1b3Q7OSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgcmVxdWVzdC1yeC1jb3B5ID0gJnF1
b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAgZmVhdHVyZS1yeC1ub3RpZnkgPSAmcXVvdDsxJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCBmZWF0dXJlLXNnID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgZmVhdHVyZS1nc28tdGNwdjQgPSAm
cXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCBmZWF0dXJlLWdzby10Y3B2NiA9ICZxdW90OzEmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIGZlYXR1cmUtaXB2Ni1jc3VtLW9mZmxvYWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGNvbnRyb2wg
PSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIHNodXRkb3duID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBmZWF0dXJlLXBv
d2Vyb2ZmID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgZmVhdHVyZS1yZWJvb3QgPSAmcXVvdDsxJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCBmZWF0dXJlLXN1c3BlbmQgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHN5c3JxID0gJnF1b3Q7JnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCBwbGF0Zm9ybS1mZWF0dXJlLW11bHRpcHJvY2Vzc29yLXN1c3BlbmQgPSAmcXVvdDsx
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCBwbGF0Zm9ybS1mZWF0dXJlLXhzX3Jlc2V0X3dhdGNoZXMgPSAmcXVvdDsxJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoGRhdGEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgZHJpdmVycyA9ICZxdW90OyZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBm
ZWF0dXJlID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGF0dHIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgZXJyb3IgPSAm
cXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgZG9taWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoHN0b3JlID0gJnF1b3Q7JnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCBwb3J0ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgcmluZy1yZWYgPSAmcXVvdDsyMzM0NzMm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgY29uc29sZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgYmFja2VuZCA9ICZxdW90Oy9sb2Nh
bC9kb21haW4vMC9iYWNrZW5kL2NvbnNvbGUvMS8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBiYWNrZW5kLWlkID0gJnF1
b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgbGltaXQgPSAmcXVvdDsxMDQ4NTc2JnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB0eXBlID0gJnF1
b3Q7eGVuY29uc29sZWQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIG91dHB1dCA9ICZxdW90O3B0eSZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdHR5
ID0gJnF1b3Q7L2Rldi9wdHMvMSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgcG9ydCA9ICZxdW90OzImcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHJp
bmctcmVmID0gJnF1b3Q7MjMzNDcyJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB2bmMtbGlzdGVuID0gJnF1b3Q7MTI3LjAu
MC4xJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCB2bmMtcG9ydCA9ICZxdW90OzU5MDAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgaW1hZ2UgPSAmcXVv
dDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIGRldmljZS1tb2RlbC1waWQgPSAmcXVvdDs3ODgmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHZtID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoGQ4MWVjNWE5LTViZjktNGYyYi04OWU4LTBmNjBkNmRhOTQ4ZiA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgbmFtZSA9ICZxdW90O2d1ZXN0MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgdXVpZCA9ICZxdW90O2Q4MWVjNWE5LTViZjkt
NGYyYi04OWU4LTBmNjBkNmRhOTQ4ZiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgc3RhcnRfdGltZSA9ICZxdW90OzE1MjA2MDAy
NzQuMjcmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IGxpYnhsID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoDEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIGRldmljZSA9
ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqB2YmQgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIDUxNzEyID0gJnF1b3Q7JnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8xL2RldmljZS92YmQvNTE3
MTImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3Zi
ZC8xLzUxNzEyJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoHBhcmFtcyA9ICZxdW90Oy9ob21lL3Jvb3QvZ3Vlc3QyL3hl
bi1ndWVzdC1pbWFnZS1taW5pbWFsLXJhc3BiZXJyeXBpNC02NC5leHQzJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHNj
cmlwdCA9ICZxdW90Oy9ldGMveGVuL3NjcmlwdHMvYmxvY2smcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZnJvbnRlbmQt
aWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgcmVt
b3ZhYmxlID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBib290YWJsZSA9ICZxdW90OzEmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgc3RhdGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGRldiA9ICZxdW90O3h2ZGEmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgdHlwZSA9ICZxdW90O3BoeSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBtb2RlID0gJnF1b3Q7dyZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqBkZXZpY2UtdHlwZSA9ICZxdW90O2Rpc2smcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZGlzY2FyZC1lbmFibGUgPSAm
cXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoHZmYiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMCA9ICZxdW90OyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqBmcm9udGVuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMS9kZXZpY2UvdmZiLzAmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3ZmYi8xLzAmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgZnJvbnRlbmQtaWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoG9ubGluZSA9ICZxdW90
OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgc3RhdGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHZuYyA9ICZxdW90OzEm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgdm5jbGlzdGVuID0gJnF1b3Q7MTI3LjAuMC4xJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHZuY2Rp
c3BsYXkgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHZuY3VudXNlZCA9ICZxdW90OzEmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgc2RsID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvcGVuZ2wgPSAmcXVvdDswJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoHZr
YmQgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZnJvbnRlbmQgPSAm
cXVvdDsvbG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZrYmQvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBiYWNrZW5kID0g
JnF1b3Q7L2xvY2FsL2RvbWFpbi8wL2JhY2tlbmQvdmtiZC8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZnJvbnRl
bmQtaWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
c3RhdGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGNvbnNvbGUgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIDAgPSAm
cXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvY29uc29s
ZSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqBiYWNrZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8wL2JhY2tlbmQvY29u
c29sZS8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZnJvbnRlbmQtaWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoG9u
bGluZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgc3RhdGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHBy
b3RvY29sID0gJnF1b3Q7dnQxMDAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdmlmID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCAwID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8xL2Rldmlj
ZS92aWYvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqBiYWNrZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8wL2JhY2tl
bmQvdmlmLzEvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqBmcm9udGVuZC1pZCA9ICZxdW90OzEmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
b25saW5lID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBzdGF0ZSA9ICZxdW90OzEmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
c2NyaXB0ID0gJnF1b3Q7L2V0Yy94ZW4vc2NyaXB0cy92aWYtYnJpZGdlJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoG1h
YyA9ICZxdW90O2U0OjVmOjAxOmNkOjdiOmRkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGJyaWRnZSA9ICZxdW90O3hl
bmJyMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqBoYW5kbGUgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHR5cGUgPSAmcXVv
dDt2aWYmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgaG90cGx1Zy1zdGF0dXMgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIHR5cGUgPSAm
cXVvdDtwdmgmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIGRtLXZlcnNpb24gPSAmcXVvdDtxZW11X3hlbiZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgcm9vdEByYXNw
YmVycnlwaTQtNjQ6fi9ndWVzdDEjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgQW55IGlucHV0IGFzIHBlciBhYm92ZT8gTG9va2luZyBmb3J3YXJk
IHRvIGhlYXJpbmcgZnJvbSB5b3UuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgUmVnYXJkcyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFZpcHVsIEt1bWFyPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgT24gV2VkLCBPY3QgMjYsIDIwMjIgYXQg
NToyMSBBTSBTdGVmYW5vIFN0YWJlbGxpbmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3RhYmVsbGlu
aUBrZXJuZWwub3JnIiB0YXJnZXQ9Il9ibGFuayI+c3N0YWJlbGxpbmlAa2VybmVsLm9yZzwvYT4m
Z3Q7IHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoEhpIFZpcHVsLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJZiB5b3UgbG9vayBhdCB0aGUgUUVN
VSBsb2dzLCBpdCBzYXlzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBWTkMgc2VydmVyIHJ1bm5pbmcgb24gPGEgaHJlZj0iaHR0
cDovLzEyNy4wLjAuMTo1OTAwIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcu
MC4wLjE6NTkwMDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgVGhhdCBpcyB0aGUgVk5DIHNlcnZlciB5b3UgbmVlZCB0byBj
b25uZWN0IHRvLiBTbyBpbiB0aGVvcnk6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgIHZuY3ZpZXdlciA8YSBocmVmPSJodHRw
Oi8vMTI3LjAuMC4xOjU5MDAiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjEyNy4w
LjAuMTo1OTAwPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqBzaG91bGQgd29yayBjb3JyZWN0bHkuPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJZiB5b3UgaGF2
ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgwqAgdmZiID0gWyZxdW90O3R5cGU9dm5jJnF1b3Q7XTxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBpbiB5b3VyIHhs
IGNvbmZpZyBmaWxlIGFuZCB5b3UgaGF2ZSAmcXVvdDtmYmRldiZxdW90OyBpbiB5b3VyIExpbnV4
IGd1ZXN0LCBpdDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoHNob3VsZCB3b3JrLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJZiB5b3UgY29ubmVjdCB0byB0
aGUgVk5DIHNlcnZlciBidXQgeW91IGdldCBhIGJsYWNrIHNjcmVlbiwgaXQgbWlnaHQgYmU8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqBhIGd1ZXN0IGNvbmZpZ3VyYXRpb24gaXNzdWUuIEkgd291bGQgdHJ5IHdpdGggYSBzaW1w
bGVyIGd1ZXN0LCB0ZXh0IG9ubHk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAobm8gWDExLCBubyBXYXlsYW5kKSBhbmQgZW5h
YmxlIHRoZSBmYmRldiBjb25zb2xlIChmYmNvbikuIFNlZTxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoERvY3VtZW50YXRpb24v
ZmIvZmJjb24ucnN0IGluIExpbnV4LiBZb3Ugc2hvdWxkIGJlIGFibGUgdG8gc2VlIGE8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBncmFwaGljYWwgY29uc29sZSBvdmVyIFZOQy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSWYgdGhhdCB3b3JrcywgdGhlbiB5
b3Uga25vdyB0aGF0IHRoZSBmYmRldiBrZXJuZWwgZHJpdmVyICh4ZW4tZmJmcm9udCk8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqB3b3JrcyBjb3JyZWN0bHkuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoElmIGl0IGRvZXNuJiMzOTt0IHdvcmssIHRoZSBvdXRw
dXQgb2YgJnF1b3Q7eGVuc3RvcmUtbHMmcXVvdDsgd291bGQgYmUgaW50ZXJlc3RpbmcuPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oENoZWVycyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgU3RlZmFubzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgT24gV2VkLCAxOSBPY3QgMjAyMiwgVmlwdWwgU3Vu
ZWphIHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSGkgU3RlZmFubyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyBUaGFua3MgZm9yIHRoZSByZXNwb25zZSE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJ
IGFtIGZvbGxvd2luZyB0aGUgc2FtZSBsaW5rIHlvdSBzaGFyZWQgZnJvbSB0aGUgYmVnaW5uaW5n
LiBUcmllZCB0aGUgY29tbWFuZCAmcXVvdDt2bmN2aWV3ZXIgbG9jYWxob3N0OjAmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqBpbiBET00wPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgYnV0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
c2FtZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoGlzc3VlICZxdW90O0NhbiYjMzk7dCBvcGVuPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBkaXNw
bGF5JnF1b3Q7LCBiZWxvdyBhcmUgdGhlIGxvZ3M6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
cm9vdEByYXNwYmVycnlwaTQtNjQ6fiMgdm5jdmlld2VyIGxvY2FsaG9zdDowPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgVGlnZXJWTkMgVmlld2VyIDY0LWJpdCB2MS4xMS4wPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyBCdWlsdCBvbjogMjAyMC0wOS0wOCAxMjoxNjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgQ29weXJpZ2h0IChDKSAx
OTk5LTIwMjAgVGlnZXJWTkMgVGVhbSBhbmQgbWFueSBvdGhlcnMgKHNlZSBSRUFETUUucnN0KTxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgU2VlIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnRpZ2Vydm5jLm9yZyIgcmVsPSJu
b3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly93d3cudGlnZXJ2bmMub3JnPC9hPiBm
b3IgaW5mb3JtYXRpb24gb24gVGlnZXJWTkMuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBDYW4mIzM5O3Qgb3BlbiBk
aXNwbGF5Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEJlbG93IGFyZSB0aGUgbmV0c3RhdCBs
b2dzLCBpIGNvdWxkbiYjMzk7dCBzZWUgYW55dGhpbmcgcnVubmluZyBhdCBwb3J0IDU5MDAgb3Ig
NTkwMTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDp+IyBu
ZXRzdGF0IC10dXd4PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBBY3RpdmUgSW50ZXJuZXQgY29ubmVjdGlvbnMgKHcv
byBzZXJ2ZXJzKTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgUHJvdG8gUmVjdi1RIFNlbmQtUSBMb2NhbCBBZGRyZXNz
IMKgIMKgIMKgIMKgIMKgIEZvcmVpZ24gQWRkcmVzcyDCoCDCoCDCoCDCoCBTdGF0ZSDCoCDCoCDC
oDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgdGNwIMKgIMKgIMKgIMKgMCDCoCDCoDE2NCAxOTIuMTY4LjEuMzk6c3No
IMKgIMKgIMKgIMKgPGEgaHJlZj0iaHR0cDovLzE5Mi4xNjguMS4zODozNzQ3MiIgcmVsPSJub3Jl
ZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+MTkyLjE2OC4xLjM4OjM3NDcyPC9hPiDCoCDCoCDCoEVT
VEFCTElTSEVEPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBBY3RpdmUgVU5JWCBkb21haW4gc29ja2V0cyAody9vIHNl
cnZlcnMpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBQcm90byBSZWZDbnQgRmxhZ3MgwqAgwqAgwqAgVHlwZSDCoCDC
oCDCoCBTdGF0ZSDCoCDCoCDCoCDCoCBJLU5vZGUgUGF0aDxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDgg
wqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgREdSQU0gwqAgwqAgwqBDT05ORUNURUQgwqAgwqAgwqAx
MDU2NSAvZGV2L2xvZzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAg
wqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwODkxIC92YXIvcnVuL3hlbnN0b3Jl
ZC9zb2NrZXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNU
UkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMzc5MTxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMg
wqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEw
ODQzIC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKg
IMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMDU3MyAv
dmFyL3J1bi94ZW5zdG9yZWQvc29ja2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMiDCoCDCoCDCoFsg
XSDCoCDCoCDCoCDCoCBER1JBTSDCoCDCoCDCoENPTk5FQ1RFRCDCoCDCoCDCoDE0NTEwPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09O
TkVDVEVEIMKgIMKgIMKgMTMyNDk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKgWyBdIMKg
IMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKgMTM4ODc8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IHVuaXggwqAyIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVD
VEVEIMKgIMKgIMKgMTA1OTk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKg
IMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxNDAwNTxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
dW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDC
oCDCoCDCoDEzMjU4PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDC
oCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTMyNDg8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXgg
wqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAg
wqAxNDAwMzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RS
RUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwNTcyIC92YXIvcnVuL3hlbnN0b3JlZC9zb2Nr
ZXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDC
oCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMDc4NiAvdmFyL3J1bi94ZW5zdG9yZWQvc29ja2V0PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBER1JBTSDCoCDCoCDC
oENPTk5FQ1RFRCDCoCDCoCDCoDEzMTg2PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsg
XSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA4NjQgL3Zhci9y
dW4veGVuc3RvcmVkL3NvY2tldDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAg
wqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwODEyIC92YXIvcnVuL3hl
bnN0b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKgWyBdIMKgIMKgIMKg
IMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKgMTQwODM8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVu
aXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAg
wqAgwqAxMDgxMyAvdmFyL3J1bi94ZW5zdG9yZWQvc29ja2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKg
MyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKg
MTQwNjg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVB
TSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMzI1Njxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAg
wqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwNTcx
IC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKg
WyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMDg0Mjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENP
Tk5FQ1RFRCDCoCDCoCDCoDEzOTg1PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDC
oCDCoCDCoCDCoCBER1JBTSDCoCDCoCDCoENPTk5FQ1RFRCDCoCDCoCDCoDEzMTg1PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyB1bml4IMKgMiDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVD
VEVEIMKgIMKgIMKgMTM4ODQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKgWyBdIMKgIMKg
IMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKgMTQ1Mjg8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IHVuaXggwqAyIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVE
IMKgIMKgIMKgMTM3ODU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKg
IMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxNDAzNDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IEF0dGFjaGluZyB4ZW4gbG9nIGZpbGVzIG9mIC92YXIvbG9nL3hlbi48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IEkgZGlkbiYjMzk7dCBnZXQgdGhlIHJvbGUgb2YgUUVNVSBoZXJlIGJlY2F1c2UgYXMg
bWVudGlvbmVkIGVhcmxpZXIsIEkgYW0gcG9ydGluZyBpbiByYXNwYmVycnlwaSA0Qi48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBSZWdhcmRzLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVmlwdWwgS3VtYXI8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBPbiBXZWQsIE9jdCAxOSwgMjAyMiBhdCAxMjo0MyBBTSBT
dGVmYW5vIFN0YWJlbGxpbmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwu
b3JnIiB0YXJnZXQ9Il9ibGFuayI+c3N0YWJlbGxpbmlAa2VybmVsLm9yZzwvYT4mZ3Q7IHdyb3Rl
Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoEl0IHVzdWFsbHkgd29ya3MgdGhlIHdheSBpdCBpcyBk
ZXNjcmliZWQgaW4gdGhlIGd1aWRlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqA8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqA8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqDCoMKgwqDC
oDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZpcnR1YXRvcGlhLmNvbS9pbmRleC5waHA/dGl0bGU9Q29u
ZmlndXJpbmdfYV9WTkNfYmFzZWRfR3JhcGhpY2FsX0NvbnNvbGVfZm9yX2FfWGVuX1BhcmF2aXJ0
dWFsaXplZF9kb21haW5VX0d1ZXN0IiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5o
dHRwczovL3d3dy52aXJ0dWF0b3BpYS5jb20vaW5kZXgucGhwP3RpdGxlPUNvbmZpZ3VyaW5nX2Ff
Vk5DX2Jhc2VkX0dyYXBoaWNhbF9Db25zb2xlX2Zvcl9hX1hlbl9QYXJhdmlydHVhbGl6ZWRfZG9t
YWluVV9HdWVzdDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgWW91IGRv
biYjMzk7dCBuZWVkIHRvIGluc3RhbGwgYW55IFZOQy1yZWxhdGVkIHNlcnZlciBzb2Z0d2FyZSBi
ZWNhdXNlIGl0IGlzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYWxyZWFkeSBwcm92aWRlZCBieSBY
ZW4gKHRvIGJlIHByZWNpc2UgaXQgaXMgcHJvdmlkZWQgYnkgUUVNVSB3b3JraW5nPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgdG9nZXRoZXIgd2l0aCBYZW4uKTxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqBZb3Ugb25seSBuZWVkIHRoZSB2bmMgY2xpZW50IGluIGRvbTAgc28gdGhh
dCB5b3UgY2FuIGNvbm5lY3QsIGJ1dCB5b3U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBjb3VsZCBh
bHNvIHJ1biB0aGUgdm5jIGNsaWVudCBvdXRzaWRlIGZyb20gYW5vdGhlciBob3N0LiBTbyBiYXNp
Y2FsbHk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB0aGUgZm9sbG93aW5nIHNob3VsZCB3b3JrIHdo
ZW4gZXhlY3V0ZWQgaW4gRG9tMCBhZnRlciBjcmVhdGluZyBEb21VOjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoCB2bmN2aWV3ZXIgbG9jYWxob3N0OjA8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgQ2FuIHlvdSBhdHRhY2ggdGhlIFhlbiBhbmQgUUVNVSBs
b2dzICgvdmFyL2xvZy94ZW4vKik/IEFuZCBhbHNvIHVzZTxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oG5ldHN0YXQgLXRhdW5wIHRvIGNoZWNrIGlmIHRoZXJlIGlzIGFueXRoaW5nIHJ1bm5pbmcgYXQg
cG9ydCA1OTAwIG9yPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgNTkwMT88YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgQ2hlZXJzLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqBTdGVmYW5vPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqBPbiBUdWUsIDE4IE9jdCAyMDIyLCBWaXB1bCBTdW5lamEgd3JvdGU6PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBIaSBTdGVmYW5vLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFRoYW5rcyBmb3IgdGhlIHJlc3BvbnNlITxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEkg
Y291bGQgaW5zdGFsbCB0aWdlclZOQywgeDExdm5jICZhbXA7IGxpYnZuY3NlcnZlciBpbiBEb20w
IHhlbi1pbWFnZS1taW5pbWFsIGJ1dCBvbmx5IG1hbmFnZSB0bzxicj4NCiZndDvCoCDCoCDCoCDC
oGluc3RhbGw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBsaWJ2bmNzZXJ2ZXIoY291bGRuJiMzOTt0PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgaW5zdGFsbCB0aWdlcnZuYzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgJmFt
cDsgeDExdm5jIGJlY2F1c2Ugb2YgeDExPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBzdXBw
b3J0IG1pc3NpbmcsIGl0JiMzOTtzIHdheWxhbmQpIGluIERPTVUgY3VzdG9tIGdyYXBoaWNhbCBp
bWFnZS4gSSB0cmllZCBydW5uaW5nIHZuY3ZpZXdlciB3aXRoPGJyPg0KJmd0O8KgIMKgIMKgIMKg
SVA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBhZGRyZXNzICZhbXA7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgcG9ydDxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oGluIGRvbTAgdG88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBhY2Nlc3MgdGhlIGRvbXU8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGdyYXBoaWNhbCBpbWFnZSBkaXNwbGF5IGFzIHBlciBiZWxv
dyBjb21tYW5kcy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoHZuY3ZpZXdlciA8YSBocmVmPSJodHRwOi8vMTkyLjE2OC4xLjQyOjU5
MDEiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjE5Mi4xNjguMS40Mjo1OTAxPC9h
Pjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgQnV0IGl0IHNob3dpbmcgY2FuJiMzOTt0IG9wZW4gZGlzcGxheSwgYmVsb3cgYXJlIHRo
ZSBsb2dzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqA8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4vZ3Vlc3QxIyB2bmN2aWV3ZXIgPGEgaHJl
Zj0iaHR0cDovLzE5Mi4xNjguMS40Mjo1OTAxIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2Js
YW5rIj4xOTIuMTY4LjEuNDI6NTkwMTwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaWdlclZOQyBWaWV3ZXIgNjQtYml0IHYxLjExLjA8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEJ1aWx0IG9uOiAyMDIwLTA5LTA4IDEyOjE2PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBDb3B5cmlnaHQgKEMpIDE5OTktMjAyMCBUaWdlclZO
QyBUZWFtIGFuZCBtYW55IG90aGVycyAoc2VlIFJFQURNRS5yc3QpPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyBTZWUgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGlnZXJ2bmMub3JnIiByZWw9Im5v
cmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL3d3dy50aWdlcnZuYy5vcmc8L2E+IGZv
ciBpbmZvcm1hdGlvbiBvbiBUaWdlclZOQy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IENh
biYjMzk7dCBvcGVuIGRpc3BsYXk6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJh
c3BiZXJyeXBpNC02NDp+L2d1ZXN0MSM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJIGFtIG5vdCBleGFjdGx5wqBzdXJlIHdoYXQgdGhlIGlz
c3VlIGlzIGJ1dCBJIHRob3VnaHQgb25seSBsaWJ2bmNzZXJ2ZXIgaW4gRE9NVSBjb3VsZCB3b3Jr
IHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgZ2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgYWNjZXNzIGJ1dDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoGl0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgZGlkIG5vdDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHdvcmsu
wqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IElmIFRpZ2VyVk5DIGlzIHRoZSBpc3N1ZSBo
ZXJlIHRoZW4gaXMgdGhlcmUgYW55IG90aGVyIFZOQyBzb3VyY2Ugd2hpY2ggY291bGQgYmUgaW5z
dGFsbGVkIGZvcjxicj4NCiZndDvCoCDCoCDCoCDCoGJvdGg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqB4MTEgJmFtcDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB3YXlsYW5kIHN1cHBvcnRlZDxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoGltYWdlcz88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBSZWdhcmRzLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyBPbiBUdWUsIE9jdCAxOCwgMjAyMiBhdCAyOjQwIEFNIFN0ZWZhbm8gU3Rh
YmVsbGluaSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNzdGFiZWxsaW5pQGtlcm5lbC5vcmciIHRhcmdl
dD0iX2JsYW5rIj5zc3RhYmVsbGluaUBrZXJuZWwub3JnPC9hPiZndDsgd3JvdGU6PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgVk5DIGlzIHR5cGljYWxseSBlYXNpZXIgdG8g
c2V0dXAsIGJlY2F1c2UgU0RMIG5lZWRzIGV4dHJhIGxpYnJhcmllcyBhdDxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGJ1aWxkIHRpbWUgYW5kIHJ1bnRpbWUuIElmIFFFTVUg
aXMgYnVpbHQgd2l0aG91dCBTREwgc3VwcG9ydCBpdCB3b24mIzM5O3Q8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBzdGFydCB3aGVuIHlvdSBhc2sgZm9yIFNETC48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgVk5DIHNob3VsZCB3b3JrIHdpdGggYm90aCB4MTEgYW5kIHdheWxhbmQgaW4geW91ciBkb21V
LiBJdCBkb2VzbiYjMzk7dCB3b3JrPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgYXQgdGhlIHgxMSBsZXZlbCwgaXQgZXhwb3NlcyBhIHNwZWNpYWwgZmJkZXYgZGV2aWNlIGlu
IHlvdXIgZG9tVSB0aGF0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgc2hv
dWxkIHdvcmsgd2l0aDo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAtIGEg
Z3JhcGhpY2FsIGNvbnNvbGUgaW4gTGludXggZG9tVTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoC0geDExPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
LSB3YXlsYW5kIChidXQgSSBoYXZlbiYjMzk7dCB0ZXN0ZWQgdGhpcyBzbyBJIGFtIG5vdCAxMDAl
IHN1cmUgYWJvdXQgaXQpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFdoZW4geW91IHNheSAmcXVvdDtpdCBkb2VzbiYjMzk7
dCB3b3JrJnF1b3Q7LCB3aGF0IGRvIHlvdSBtZWFuPyBEbyB5b3UgZ2V0IGEgYmxhY2s8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB3aW5kb3c/PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFlvdSBuZWVk
IENPTkZJR19YRU5fRkJERVZfRlJPTlRFTkQgaW4gTGludXggZG9tVTxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoChkcml2ZXJzL3ZpZGVvL2ZiZGV2L3hlbi1mYmZyb250LmMp
LiBJIHdvdWxkIHRyeSB0byBnZXQgYSBncmFwaGljYWwgdGV4dDxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoGNvbnNvbGUgdXAgYW5kIHJ1bm5pbmcgaW4geW91ciBkb21VIGJl
Zm9yZSBhdHRlbXB0aW5nIHgxMS93YXlsYW5kLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFN0
ZWZhbm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgT24gTW9uLCAxNyBPY3QgMjAyMiwgVmlwdWwgU3VuZWphIHdyb3RlOjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSGksPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFua3MhPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgSSBoYXZlIHBvcnRlZCB4ZW4gbWluaW1hbCBpbWFnZSBhcyBET00wICZhbXA7
IGN1c3RvbSB3YXlsYW5kIEdVSSBiYXNlZCBpbWFnZSBhcyBET01VIGluPGJyPg0KJmd0O8KgIMKg
IMKgIMKgcmFzcGJlcnJ5PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgcGk0Qi4g
STxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoGFtIHRyeWluZyB0bzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoG1ha2UgR1VJPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZGlzcGxheSB1cDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgZm9ywqBndWVzdCBtYWNoaW5lLiBJIHRy
aWVkIHVzaW5nwqBzZGwsIGluY2x1ZGVkIGJlbG93IGxpbmUgaW4gZ3Vlc3QuY29uZiBmaWxlPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB2ZmI9IFsgJiMzOTtzZGw9
MSYjMzk7IF08YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBCdXQgaXQgaXMgdGhyb3dpbmcg
YmVsb3cgZXJyb3I6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVycnlw
aTQtNjQ6fi9ndWVzdDEjIHhsIGNyZWF0ZSAtYyBndWVzdDEuY2ZnPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBQYXJzaW5nIGNvbmZpZyBmcm9tIGd1ZXN0MS5jZmc8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxpYnhsOiBlcnJvcjog
bGlieGxfcW1wLmM6MTQwMDpxbXBfZXZfZmRfY2FsbGJhY2s6IERvbWFpbiAzOmVycm9yIG9uIFFN
UCBzb2NrZXQ6PGJyPg0KJmd0O8KgIMKgIMKgIMKgQ29ubmVjdGlvbjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoHJlc2V0IGJ5PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgcGVlcjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9xbXAuYzoxNDM5
OnFtcF9ldl9mZF9jYWxsYmFjazogRG9tYWluIDM6RXJyb3IgaGFwcGVuZWQgd2l0aCB0aGU8YnI+
DQomZ3Q7wqAgwqAgwqAgwqBRTVA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBj
b25uZWN0aW9uIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgUUVNVTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9kbS5jOjMzNTE6ZGV2aWNlX21vZGVsX3Bv
c3Rjb25maWdfZG9uZTogRG9tYWluIDM6UG9zdCBETSBzdGFydHVwPGJyPg0KJmd0O8KgIMKgIMKg
IMKgY29uZmlnczxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGZhaWxlZCw8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqByYz0tMjY8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxp
YnhsOiBlcnJvcjogbGlieGxfY3JlYXRlLmM6MTg2Nzpkb21jcmVhdGVfZGV2bW9kZWxfc3RhcnRl
ZDogRG9tYWluIDM6ZGV2aWNlIG1vZGVsPGJyPg0KJmd0O8KgIMKgIMKgIMKgZGlkIG5vdDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHN0YXJ0Ojxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoC0yNjxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9hb3V0aWxzLmM6NjQ2Omxp
YnhsX19raWxsX3hzX3BhdGg6IERldmljZSBNb2RlbCBhbHJlYWR5IGV4aXRlZDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9kb21h
aW4uYzoxMTgzOmxpYnhsX19kZXN0cm95X2RvbWlkOiBEb21haW4gMzpOb24tZXhpc3RhbnQgZG9t
YWluPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBsaWJ4bDogZXJy
b3I6IGxpYnhsX2RvbWFpbi5jOjExMzc6ZG9tYWluX2Rlc3Ryb3lfY2FsbGJhY2s6IERvbWFpbiAz
OlVuYWJsZSB0byBkZXN0cm95PGJyPg0KJmd0O8KgIMKgIMKgIMKgZ3Vlc3Q8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxpYnhsOiBlcnJvcjogbGlieGxfZG9tYWlu
LmM6MTA2NDpkb21haW5fZGVzdHJveV9jYjogRG9tYWluIDM6RGVzdHJ1Y3Rpb24gb2YgZG9tYWlu
PGJyPg0KJmd0O8KgIMKgIMKgIMKgZmFpbGVkPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
QW5vdGhlciB3YXkgaXMgVk5DLCBpIGNvdWxkIGluc3RhbGwgdGlnZXJ2bmMgaW4gRE9NMCBidXQg
c2FtZSBpIGNvdWxkbiYjMzk7dCBpbiBndWVzdDxicj4NCiZndDvCoCDCoCDCoCDCoG1hY2hpbmU8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBiZWNhdXNlIGl0PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZG9l
c24mIzM5O3Qgc3VwcG9ydDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHgx
MShzdXBwb3J0cyB3YXlsYW5kPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyBvbmx5KS4gSSBhbSBjb21wbGV0ZWx5IGJsb2NrZWQgaGVyZSwgTmVlZCB5b3VyIHN1cHBv
cnQgdG8gZW5hYmxlIHRoZSBkaXNwbGF5IHVwLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgQW55IGFsdGVybmF0aXZlIG9mIFZOQyB3aGljaCBjb3VsZCB3b3JrIGlu
IGJvdGggeDExICZhbXA7IHdheWxhbmQgc3VwcG9ydGVkIGltYWdlcz88YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyBBbnkgaW5wdXQgb24gVk5DLCBTREwgb3IgYW55IG90aGVyIHdheSB0byBw
cm9jZWVkIG9uIHRoaXM/IExvb2tpbmcgZm9yd2FyZCB0byBoZWFyaW5nPGJyPg0KJmd0O8KgIMKg
IMKgIMKgZnJvbTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHlvdS48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBSZWdhcmRzLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7IDxicj4NCiZndDsgPGJyPg0KJmd0OyA8L2Jsb2NrcXVvdGU+PC9kaXY+DQo=
--0000000000009a391005efb91452--
--0000000000009a391305efb91454
Content-Type: text/plain; charset="US-ASCII"; name="xenfb-logs.txt"
Content-Disposition: attachment; filename="xenfb-logs.txt"
Content-Transfer-Encoding: base64
Content-ID: <f_lbmhd0tm0>
X-Attachment-Id: f_lbmhd0tm0

WyAxMTM2Ljc0OTQzNV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExMzYu
NzQ5NDQwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDEx
MzYuNzQ5NDQ2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0Clsg
MTEzNi43NDk0NTFdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTM2
Ljc0OTQ1Nl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTEzNi43NDk0
NjBdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExMzYuNzQ5NDY0XSAq
KioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTEzNi43NDk0ODVdICoqKioq
KioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExMzYuNzQ5NDg5XSAqKioqKioqKnhl
bmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExMzYuNzQ5NDk0XSAqKioqKioqKnhlbmZiX3Jl
ZnJlc2gqKioqKioqKmV4aXQKWyAxMTM2Ljc0OTQ5OF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQq
KioqKioqKmV4aXQKWyAxMTM2Ljc0OTY2Nl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioq
KioqKiplbnRyeQpbIDExMzYuNzQ5Njc0XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVu
dHJ5ClsgMTEzNi43NDk2NzldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmVudHJ5ClsgMTEzNi43NDk2ODRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioq
KioqKmV4aXQKWyAxMTM2Ljc0OTY4OV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipl
bnRyeQpbIDExMzYuNzQ5Njk0XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQK
WyAxMTM2Ljc0OTY5OF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTEzNi43
NDk3MDJdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExMzYuOTU3
NDIxXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTM2Ljk1NzQzNF0g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExMzYuOTU3NDM5XSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExMzYuOTU3NDQ0XSAqKioq
KioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTEzNi45NTc0NTBdICoq
KioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTM2Ljk1NzQ1NF0gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTEzNi45NTc0NTldICoqKioqKioqeGVu
ZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExMzYuOTU3NDYzXSAqKioqKioqKnhlbmZiX3Nl
bmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTEzNi45NTc0ODNdICoqKioqKioqeGVuZmJfc2VuZF9l
dmVudCoqKioqKioqZXhpdApbIDExMzYuOTU3NDg4XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoq
KioqKioqZXhpdApbIDExMzYuOTU3NDkyXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4
aXQKWyAxMTM2Ljk1NzQ5Nl0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAx
MTM2Ljk1NzY3Nl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDEx
MzYuOTU3Njg0XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTEzNi45NTc2
ODldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTEzNi45
NTc2OTRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTM2
Ljk1NzY5OF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExMzYuOTU3
NzAzXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTM2Ljk1NzcwN10g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTEzNi45NTc3MTFdICoqKioqKioq
eGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExMzcuMTY1NDIzXSAqKioqKioqKnhl
bmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTM3LjE2NTQzOV0gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKiplbnRyeQpbIDExMzcuMTY1NDQ0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExMzcuMTY1NDQ5XSAqKioqKioqKnhlbmZiX2hhbmRs
ZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTEzNy4xNjU0NTVdICoqKioqKioqeGVuZmJfcXVl
dWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTM3LjE2NTQ1OV0gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKipleGl0ClsgMTEzNy4xNjU0NjNdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioq
KioqKiplbnRyeQpbIDExMzcuMTY1NDY3XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioq
KmVudHJ5ClsgMTEzNy4xNjU0ODldICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhp
dApbIDExMzcuMTY1NDk0XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDEx
MzcuMTY1NDk4XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTM3LjE2NTUw
Ml0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTM3LjE2NTY5MV0gKioq
KioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExMzcuMTY1NzAwXSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTEzNy4xNjU3MDRdICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTEzNy4xNjU3MDldICoqKioqKioq
eGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTM3LjE2NTcxNF0gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExMzcuMTY1NzE4XSAqKioqKioqKnhl
bmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTM3LjE2NTcyM10gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKipleGl0ClsgMTEzNy4xNjU3MjhdICoqKioqKioqeGVuZmJfZXZlbnRfaGFu
ZGxlcioqKioqKioqZXhpdApbIDExMzcuMzczNDI0XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoq
KioqKioqZW50cnkKWyAxMTM3LjM3MzQzOF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
bnRyeQpbIDExMzcuMzczNDQzXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KiplbnRyeQpbIDExMzcuMzczNDQ5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5Kioq
KioqKipleGl0ClsgMTEzNy4zNzM0NTVdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioq
ZW50cnkKWyAxMTM3LjM3MzQ1OV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0
ClsgMTEzNy4zNzM0NjNdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDEx
MzcuMzczNDY3XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTEzNy4z
NzM0OTBdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExMzcuMzczNDk0
XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExMzcuMzczNDk5XSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTM3LjM3MzUwM10gKioqKioqKip4ZW5m
Yl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTM3LjM3MzcxNV0gKioqKioqKip4ZW5mYl9ldmVu
dF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExMzcuMzczNzI0XSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmVudHJ5ClsgMTEzNy4zNzM3MjldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmVudHJ5ClsgMTEzNy4zNzM3MzRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jl
c2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTM3LjM3MzczOV0gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKiplbnRyeQpbIDExMzcuMzczNzQzXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwq
KioqKioqKmV4aXQKWyAxMTM3LjM3Mzc0OF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
eGl0ClsgMTEzNy4zNzM3NTJdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhp
dApbIDExMzcuNTc3NDMzXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAx
MTM3LjU3NzQ1MF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExMzcuNTc3
NDU1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExMzcu
NTc3NDYxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTEz
Ny41Nzc0NjddICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTM3LjU3
NzQ3MV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTEzNy41Nzc0NzZd
ICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExMzcuNTc3NDgwXSAqKioq
KioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTEzNy41Nzc1MDJdICoqKioqKioq
eGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExMzcuNTc3NTA3XSAqKioqKioqKnhlbmZi
X2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExMzcuNTc3NTExXSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmV4aXQKWyAxMTM3LjU3NzUxNV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioq
KioqKmV4aXQKWyAxMTM3LjU3NzY5N10gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioq
KiplbnRyeQpbIDExMzcuNTc3NzA3XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5
ClsgMTEzNy41Nzc3MTJdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVu
dHJ5ClsgMTEzNy41Nzc3MTZdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmV4aXQKWyAxMTM3LjU3NzcyMV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRy
eQpbIDExMzcuNTc3NzI2XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAx
MTM3LjU3NzczMF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTEzNy41Nzc3
MzVdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExMzcuNzgxNDI2
XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTM3Ljc4MTQ0NF0gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExMzcuNzgxNDQ4XSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExMzcuNzgxNDU0XSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTEzNy43ODE0NjBdICoqKioq
KioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTM3Ljc4MTQ2NF0gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTEzNy43ODE0NjhdICoqKioqKioqeGVuZmJf
ZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExMzcuNzgxNDczXSAqKioqKioqKnhlbmZiX3NlbmRf
ZXZlbnQqKioqKioqKmVudHJ5ClsgMTEzNy43ODE0OTJdICoqKioqKioqeGVuZmJfc2VuZF9ldmVu
dCoqKioqKioqZXhpdApbIDExMzcuNzgxNDk2XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioq
KioqZXhpdApbIDExMzcuNzgxNTAxXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQK
WyAxMTM3Ljc4MTUwNV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTM3
Ljc4MTY3NV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExMzcu
NzgxNjg1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTEzNy43ODE2OTBd
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTEzNy43ODE2
OTVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTM3Ljc4
MTY5OV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExMzcuNzgxNzA0
XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTM3Ljc4MTcwOF0gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTEzNy43ODE3MTNdICoqKioqKioqeGVu
ZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExMzcuOTg5NDIyXSAqKioqKioqKnhlbmZi
X2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTM3Ljk4OTQ0MF0gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKiplbnRyeQpbIDExMzcuOTg5NDQ1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKiplbnRyeQpbIDExMzcuOTg5NDUxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKipleGl0ClsgMTEzNy45ODk0NTZdICoqKioqKioqeGVuZmJfcXVldWVf
ZnVsbCoqKioqKioqZW50cnkKWyAxMTM3Ljk4OTQ2MV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKipleGl0ClsgMTEzNy45ODk0NjVdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioq
KiplbnRyeQpbIDExMzcuOTg5NDY5XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVu
dHJ5ClsgMTEzNy45ODk0OTFdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApb
IDExMzcuOTg5NDk2XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExMzcu
OTg5NTAxXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTM3Ljk4OTUwNV0g
KioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTM3Ljk4OTcyMF0gKioqKioq
Kip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExMzcuOTg5NzMwXSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTEzNy45ODk3MzVdICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTEzNy45ODk3NDBdICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTM3Ljk4OTc0NV0gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExMzcuOTg5NzUwXSAqKioqKioqKnhlbmZi
X3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTM3Ljk4OTc1NF0gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKipleGl0ClsgMTEzNy45ODk3NThdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxl
cioqKioqKioqZXhpdApbIDExMzguMTkzNDIxXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioq
KioqZW50cnkKWyAxMTM4LjE5MzQzNV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRy
eQpbIDExMzguMTkzNDM5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
bnRyeQpbIDExMzguMTkzNDQ0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KipleGl0ClsgMTEzOC4xOTM0NTBdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50
cnkKWyAxMTM4LjE5MzQ1NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0Clsg
MTEzOC4xOTM0NTldICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExMzgu
MTkzNDYzXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTEzOC4xOTM0
ODRdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExMzguMTkzNDg4XSAq
KioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExMzguMTkzNDkzXSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTM4LjE5MzQ5N10gKioqKioqKip4ZW5mYl9p
bWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTM4LjE5MzY0MV0gKioqKioqKip4ZW5mYl9ldmVudF9o
YW5kbGVyKioqKioqKiplbnRyeQpbIDExMzguMTkzNjUwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmVudHJ5ClsgMTEzOC4xOTM2NTVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmVudHJ5ClsgMTEzOC4xOTM2NjBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmV4aXQKWyAxMTM4LjE5MzY2NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKiplbnRyeQpbIDExMzguMTkzNjY5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioq
KioqKmV4aXQKWyAxMTM4LjE5MzY3M10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0
ClsgMTEzOC4xOTM2NzhdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApb
IDExMzguMzk3NDI0XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTM4
LjM5NzQzOV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExMzguMzk3NDQ0
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExMzguMzk3
NDQ5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTEzOC4z
OTc0NTVdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTM4LjM5NzQ2
MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTEzOC4zOTc0NjRdICoq
KioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExMzguMzk3NDY4XSAqKioqKioq
KnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTEzOC4zOTc0ODldICoqKioqKioqeGVu
ZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExMzguMzk3NDk0XSAqKioqKioqKnhlbmZiX2Rv
X3VwZGF0ZSoqKioqKioqZXhpdApbIDExMzguMzk3NDk4XSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmV4aXQKWyAxMTM4LjM5NzUwM10gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioq
KmV4aXQKWyAxMTM4LjM5NzcwN10gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKipl
bnRyeQpbIDExMzguMzk3NzE2XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5Clsg
MTEzOC4zOTc3MjFdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5
ClsgMTEzOC4zOTc3MjZdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4
aXQKWyAxMTM4LjM5NzczMV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpb
IDExMzguMzk3NzM2XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTM4
LjM5Nzc0MF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTEzOC4zOTc3NDRd
ICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExMzguNjAxNDIzXSAq
KioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTM4LjYwMTQzOF0gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExMzguNjAxNDQzXSAqKioqKioqKnhlbmZi
X2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExMzguNjAxNDQ5XSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTEzOC42MDE0NTRdICoqKioqKioq
eGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTM4LjYwMTQ1OV0gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTEzOC42MDE0NjJdICoqKioqKioqeGVuZmJfZG9f
dXBkYXRlKioqKioqKiplbnRyeQpbIDExMzguNjAxNDY3XSAqKioqKioqKnhlbmZiX3NlbmRfZXZl
bnQqKioqKioqKmVudHJ5ClsgMTEzOC42MDE0ODldICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoq
KioqKioqZXhpdApbIDExMzguNjAxNDkzXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioq
ZXhpdApbIDExMzguNjAxNDk3XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAx
MTM4LjYwMTUwMl0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTM4LjYw
MTcyMl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExMzguNjAx
NzMyXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTEzOC42MDE3MzddICoq
KioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTEzOC42MDE3NDJd
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTM4LjYwMTc0
Nl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExMzguNjAxNzUxXSAq
KioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTM4LjYwMTc1Nl0gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTEzOC42MDE3NjBdICoqKioqKioqeGVuZmJf
ZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExMzguODA1NDIzXSAqKioqKioqKnhlbmZiX2lt
YWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTM4LjgwNTQzN10gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKiplbnRyeQpbIDExMzguODA1NDQyXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVf
ZHB5KioqKioqKiplbnRyeQpbIDExMzguODA1NDQ4XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKipleGl0ClsgMTEzOC44MDU0NTNdICoqKioqKioqeGVuZmJfcXVldWVfZnVs
bCoqKioqKioqZW50cnkKWyAxMTM4LjgwNTQ1OF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKipleGl0ClsgMTEzOC44MDU0NjJdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKipl
bnRyeQpbIDExMzguODA1NDY2XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5
ClsgMTEzOC44MDU0ODddICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDEx
MzguODA1NDkyXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExMzguODA1
NDk3XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTM4LjgwNTUwMV0gKioq
KioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTM4LjgwNTY3OV0gKioqKioqKip4
ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExMzguODA1Njg4XSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTEzOC44MDU2OTJdICoqKioqKioqeGVuZmJfaGFu
ZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTEzOC44MDU2OTddICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTM4LjgwNTcwMl0gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExMzguODA1NzA3XSAqKioqKioqKnhlbmZiX3F1
ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTM4LjgwNTcxMV0gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKipleGl0ClsgMTEzOC44MDU3MTZdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioq
KioqKioqZXhpdApbIDExMzkuMDA5NDI1XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioq
ZW50cnkKWyAxMTM5LjAwOTQ0Ml0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpb
IDExMzkuMDA5NDQ3XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRy
eQpbIDExMzkuMDA5NDUzXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
eGl0ClsgMTEzOS4wMDk0NTldICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkK
WyAxMTM5LjAwOTQ2M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTEz
OS4wMDk0NjhdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExMzkuMDA5
NDcyXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTEzOS4wMDk0OTJd
ICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExMzkuMDA5NDk3XSAqKioq
KioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExMzkuMDA5NTAxXSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTM5LjAwOTUwNV0gKioqKioqKip4ZW5mYl9pbWFn
ZWJsaXQqKioqKioqKmV4aXQKWyAxMTM5LjAwOTY4MF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5k
bGVyKioqKioqKiplbnRyeQpbIDExMzkuMDA5NjkwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmVudHJ5ClsgMTEzOS4wMDk2OTVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkq
KioqKioqKmVudHJ5ClsgMTEzOS4wMDk3MDBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmV4aXQKWyAxMTM5LjAwOTcwNF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKiplbnRyeQpbIDExMzkuMDA5NzA5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioq
KmV4aXQKWyAxMTM5LjAwOTcxM10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0Clsg
MTEzOS4wMDk3MThdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDEx
MzkuMjE3NDIzXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTM5LjIx
NzQzOF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExMzkuMjE3NDQyXSAq
KioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExMzkuMjE3NDQ4
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTEzOS4yMTc0
NTRdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTM5LjIxNzQ1OF0g
KioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTEzOS4yMTc0NjJdICoqKioq
KioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExMzkuMjE3NDY3XSAqKioqKioqKnhl
bmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTEzOS4yMTc0ODddICoqKioqKioqeGVuZmJf
c2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExMzkuMjE3NDkxXSAqKioqKioqKnhlbmZiX2RvX3Vw
ZGF0ZSoqKioqKioqZXhpdApbIDExMzkuMjE3NDk2XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmV4aXQKWyAxMTM5LjIxNzUwMF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4
aXQKWyAxMTM5LjIxNzY1OV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRy
eQpbIDExMzkuMjE3NjY4XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTEz
OS4yMTc2NzNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5Clsg
MTEzOS4yMTc2NzhdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQK
WyAxMTM5LjIxNzY4M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDEx
MzkuMjE3Njg3XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTM5LjIx
NzY5Ml0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTEzOS4yMTc2OTZdICoq
KioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExMzkuNDIxNDIwXSAqKioq
KioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTM5LjQyMTQzNV0gKioqKioqKip4
ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExMzkuNDIxNDM5XSAqKioqKioqKnhlbmZiX2hh
bmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExMzkuNDIxNDQ1XSAqKioqKioqKnhlbmZi
X2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTEzOS40MjE0NTBdICoqKioqKioqeGVu
ZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTM5LjQyMTQ1NV0gKioqKioqKip4ZW5mYl9x
dWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTEzOS40MjE0NTldICoqKioqKioqeGVuZmJfZG9fdXBk
YXRlKioqKioqKiplbnRyeQpbIDExMzkuNDIxNDYzXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQq
KioqKioqKmVudHJ5ClsgMTEzOS40MjE0ODRdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioq
KioqZXhpdApbIDExMzkuNDIxNDg5XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhp
dApbIDExMzkuNDIxNDkzXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTM5
LjQyMTQ5N10gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTM5LjQyMTY4
M10gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExMzkuNDIxNjky
XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTEzOS40MjE2OTddICoqKioq
KioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTEzOS40MjE3MDJdICoq
KioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTM5LjQyMTcwNl0g
KioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExMzkuNDIxNzExXSAqKioq
KioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTM5LjQyMTcxNV0gKioqKioqKip4
ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTEzOS40MjE3MTldICoqKioqKioqeGVuZmJfZXZl
bnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExMzkuNjI5NDIwXSAqKioqKioqKnhlbmZiX2ltYWdl
YmxpdCoqKioqKioqZW50cnkKWyAxMTM5LjYyOTQzNV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioq
KioqKiplbnRyeQpbIDExMzkuNjI5NDM5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5
KioqKioqKiplbnRyeQpbIDExMzkuNjI5NDQ1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVf
ZHB5KioqKioqKipleGl0ClsgMTEzOS42Mjk0NTBdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoq
KioqKioqZW50cnkKWyAxMTM5LjYyOTQ1NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioq
KipleGl0ClsgMTEzOS42Mjk0NTldICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRy
eQpbIDExMzkuNjI5NDYzXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5Clsg
MTEzOS42Mjk0ODRdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExMzku
NjI5NDg4XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExMzkuNjI5NDkz
XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTM5LjYyOTQ5N10gKioqKioq
Kip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTM5LjYyOTY2OV0gKioqKioqKip4ZW5m
Yl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExMzkuNjI5Njc4XSAqKioqKioqKnhlbmZi
X3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTEzOS42Mjk2ODNdICoqKioqKioqeGVuZmJfaGFuZGxl
X3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTEzOS42Mjk2ODhdICoqKioqKioqeGVuZmJfaGFu
ZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTM5LjYyOTY5Ml0gKioqKioqKip4ZW5mYl9x
dWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExMzkuNjI5Njk3XSAqKioqKioqKnhlbmZiX3F1ZXVl
X2Z1bGwqKioqKioqKmV4aXQKWyAxMTM5LjYyOTcwMV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioq
KioqKipleGl0ClsgMTEzOS42Mjk3MDZdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioq
KioqZXhpdApbIDExMzkuODMzNDIxXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50
cnkKWyAxMTM5LjgzMzQzNV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDEx
MzkuODMzNDM5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpb
IDExMzkuODMzNDQ1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0
ClsgMTEzOS44MzM0NTBdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAx
MTM5LjgzMzQ1NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTEzOS44
MzM0NTldICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExMzkuODMzNDYz
XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTEzOS44MzM0ODVdICoq
KioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExMzkuODMzNDg5XSAqKioqKioq
KnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExMzkuODMzNDkzXSAqKioqKioqKnhlbmZi
X3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTM5LjgzMzQ5N10gKioqKioqKip4ZW5mYl9pbWFnZWJs
aXQqKioqKioqKmV4aXQKWyAxMTM5LjgzMzcwNl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVy
KioqKioqKiplbnRyeQpbIDExMzkuODMzNzE1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioq
KmVudHJ5ClsgMTEzOS44MzM3MjBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioq
KioqKmVudHJ5ClsgMTEzOS44MzM3MjVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkq
KioqKioqKmV4aXQKWyAxMTM5LjgzMzcyOV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioq
KiplbnRyeQpbIDExMzkuODMzNzM0XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4
aXQKWyAxMTM5LjgzMzczOF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTEz
OS44MzM3NDJdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDAu
MDQxNDIzXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQwLjA0MTQz
OV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDAuMDQxNDQ0XSAqKioq
KioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDAuMDQxNDUwXSAq
KioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0MC4wNDE0NTVd
ICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQwLjA0MTQ2MF0gKioq
KioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0MC4wNDE0NjRdICoqKioqKioq
eGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDAuMDQxNDY4XSAqKioqKioqKnhlbmZi
X3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0MC4wNDE0ODhdICoqKioqKioqeGVuZmJfc2Vu
ZF9ldmVudCoqKioqKioqZXhpdApbIDExNDAuMDQxNDkyXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0
ZSoqKioqKioqZXhpdApbIDExNDAuMDQxNDk3XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioq
KmV4aXQKWyAxMTQwLjA0MTUwMV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQK
WyAxMTQwLjA0MTY3MV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpb
IDExNDAuMDQxNjgxXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0MC4w
NDE2ODZdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0
MC4wNDE2OTFdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAx
MTQwLjA0MTY5NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDAu
MDQxNzAwXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQwLjA0MTcw
NF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0MC4wNDE3MDldICoqKioq
KioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDAuMjQ1NDIwXSAqKioqKioq
KnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQwLjI0NTQzM10gKioqKioqKip4ZW5m
Yl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDAuMjQ1NDM4XSAqKioqKioqKnhlbmZiX2hhbmRs
ZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDAuMjQ1NDQ0XSAqKioqKioqKnhlbmZiX2hh
bmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0MC4yNDU0NTBdICoqKioqKioqeGVuZmJf
cXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQwLjI0NTQ1NV0gKioqKioqKip4ZW5mYl9xdWV1
ZV9mdWxsKioqKioqKipleGl0ClsgMTE0MC4yNDU0NThdICoqKioqKioqeGVuZmJfZG9fdXBkYXRl
KioqKioqKiplbnRyeQpbIDExNDAuMjQ1NDYzXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioq
KioqKmVudHJ5ClsgMTE0MC4yNDU0ODRdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioq
ZXhpdApbIDExNDAuMjQ1NDg5XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApb
IDExNDAuMjQ1NDkzXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQwLjI0
NTQ5N10gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQwLjI0NTY3NF0g
KioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDAuMjQ1NjgyXSAq
KioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0MC4yNDU2ODddICoqKioqKioq
eGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0MC4yNDU2OTJdICoqKioq
KioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQwLjI0NTY5Nl0gKioq
KioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDAuMjQ1NzAxXSAqKioqKioq
KnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQwLjI0NTcwNV0gKioqKioqKip4ZW5m
Yl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0MC4yNDU3MTBdICoqKioqKioqeGVuZmJfZXZlbnRf
aGFuZGxlcioqKioqKioqZXhpdApbIDExNDAuNDQ5NDIwXSAqKioqKioqKnhlbmZiX2ltYWdlYmxp
dCoqKioqKioqZW50cnkKWyAxMTQwLjQ0OTQzNV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioq
KiplbnRyeQpbIDExNDAuNDQ5NDM5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5Kioq
KioqKiplbnRyeQpbIDExNDAuNDQ5NDQ1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5
KioqKioqKipleGl0ClsgMTE0MC40NDk0NTFdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioq
KioqZW50cnkKWyAxMTQwLjQ0OTQ1NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipl
eGl0ClsgMTE0MC40NDk0NTldICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpb
IDExNDAuNDQ5NDY0XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0
MC40NDk0ODVdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDAuNDQ5
NDkwXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDAuNDQ5NDk0XSAq
KioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQwLjQ0OTQ5OF0gKioqKioqKip4
ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQwLjQ0OTcwNV0gKioqKioqKip4ZW5mYl9l
dmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDAuNDQ5NzE0XSAqKioqKioqKnhlbmZiX3Jl
ZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0MC40NDk3MTldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jl
c2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0MC40NDk3MjRdICoqKioqKioqeGVuZmJfaGFuZGxl
X3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQwLjQ0OTcyOF0gKioqKioqKip4ZW5mYl9xdWV1
ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDAuNDQ5NzMzXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1
bGwqKioqKioqKmV4aXQKWyAxMTQwLjQ0OTczOF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioq
KipleGl0ClsgMTE0MC40NDk3NDJdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioq
ZXhpdApbIDExNDAuNjU3NDIyXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkK
WyAxMTQwLjY1NzQzNl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDAu
NjU3NDQxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDEx
NDAuNjU3NDQ2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0Clsg
MTE0MC42NTc0NTFdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQw
LjY1NzQ1Nl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0MC42NTc0
NjBdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDAuNjU3NDY0XSAq
KioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0MC42NTc0ODVdICoqKioq
KioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDAuNjU3NDkwXSAqKioqKioqKnhl
bmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDAuNjU3NDk0XSAqKioqKioqKnhlbmZiX3Jl
ZnJlc2gqKioqKioqKmV4aXQKWyAxMTQwLjY1NzQ5OF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQq
KioqKioqKmV4aXQKWyAxMTQwLjY1NzY5MF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioq
KioqKiplbnRyeQpbIDExNDAuNjU3NzAxXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVu
dHJ5ClsgMTE0MC42NTc3MDVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmVudHJ5ClsgMTE0MC42NTc3MTBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioq
KioqKmV4aXQKWyAxMTQwLjY1NzcxNV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipl
bnRyeQpbIDExNDAuNjU3NzE5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQK
WyAxMTQwLjY1NzcyNF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0MC42
NTc3MjhdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDAuODY1
NDMxXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQwLjg2NTQ0NV0g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDAuODY1NDUwXSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDAuODY1NDU2XSAqKioq
KioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0MC44NjU0NjFdICoq
KioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQwLjg2NTQ2NV0gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0MC44NjU0NjldICoqKioqKioqeGVu
ZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDAuODY1NDc0XSAqKioqKioqKnhlbmZiX3Nl
bmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0MC44NjU0OTVdICoqKioqKioqeGVuZmJfc2VuZF9l
dmVudCoqKioqKioqZXhpdApbIDExNDAuODY1NDk5XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoq
KioqKioqZXhpdApbIDExNDAuODY1NTA0XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4
aXQKWyAxMTQwLjg2NTUwOF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAx
MTQwLjg2NTY3OF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDEx
NDAuODY1Njg3XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0MC44NjU2
OTJdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0MC44
NjU2OTZdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQw
Ljg2NTcwMV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDAuODY1
NzA2XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQwLjg2NTcxMF0g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0MC44NjU3MTVdICoqKioqKioq
eGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDEuMDY5NDIyXSAqKioqKioqKnhl
bmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQxLjA2OTQzOV0gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDEuMDY5NDQ0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDEuMDY5NDUwXSAqKioqKioqKnhlbmZiX2hhbmRs
ZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0MS4wNjk0NTVdICoqKioqKioqeGVuZmJfcXVl
dWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQxLjA2OTQ2MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKipleGl0ClsgMTE0MS4wNjk0NjRdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioq
KioqKiplbnRyeQpbIDExNDEuMDY5NDY4XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioq
KmVudHJ5ClsgMTE0MS4wNjk0ODldICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhp
dApbIDExNDEuMDY5NDk0XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDEx
NDEuMDY5NDk4XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQxLjA2OTUw
Ml0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQxLjA2OTY3MF0gKioq
KioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDEuMDY5Njc5XSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0MS4wNjk2ODRdICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0MS4wNjk2ODldICoqKioqKioq
eGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQxLjA2OTY5NF0gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDEuMDY5Njk4XSAqKioqKioqKnhl
bmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQxLjA2OTcwM10gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKipleGl0ClsgMTE0MS4wNjk3MDddICoqKioqKioqeGVuZmJfZXZlbnRfaGFu
ZGxlcioqKioqKioqZXhpdApbIDExNDEuMjczNDE4XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoq
KioqKioqZW50cnkKWyAxMTQxLjI3MzQzM10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
bnRyeQpbIDExNDEuMjczNDM4XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KiplbnRyeQpbIDExNDEuMjczNDQ0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5Kioq
KioqKipleGl0ClsgMTE0MS4yNzM0NTBdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioq
ZW50cnkKWyAxMTQxLjI3MzQ1NF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0
ClsgMTE0MS4yNzM0NThdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDEx
NDEuMjczNDYzXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0MS4y
NzM0ODRdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDEuMjczNDg5
XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDEuMjczNDkzXSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQxLjI3MzQ5N10gKioqKioqKip4ZW5m
Yl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQxLjI3MzY1M10gKioqKioqKip4ZW5mYl9ldmVu
dF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDEuMjczNjYyXSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmVudHJ5ClsgMTE0MS4yNzM2NjZdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0MS4yNzM2NzFdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jl
c2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQxLjI3MzY3Nl0gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKiplbnRyeQpbIDExNDEuMjczNjgxXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwq
KioqKioqKmV4aXQKWyAxMTQxLjI3MzY4NV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
eGl0ClsgMTE0MS4yNzM2OTBdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhp
dApbIDExNDEuNDgxNDQ1XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAx
MTQxLjQ4MTQ2M10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDEuNDgx
NDY3XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDEu
NDgxNDczXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0
MS40ODE0NzldICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQxLjQ4
MTQ4M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0MS40ODE0ODhd
ICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDEuNDgxNDkyXSAqKioq
KioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0MS40ODE1MTVdICoqKioqKioq
eGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDEuNDgxNTE5XSAqKioqKioqKnhlbmZi
X2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDEuNDgxNTI0XSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmV4aXQKWyAxMTQxLjQ4MTUyOF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioq
KioqKmV4aXQKWyAxMTQxLjQ4MTc3OF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioq
KiplbnRyeQpbIDExNDEuNDgxNzg5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5
ClsgMTE0MS40ODE3OTRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVu
dHJ5ClsgMTE0MS40ODE3OTldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmV4aXQKWyAxMTQxLjQ4MTgwNF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRy
eQpbIDExNDEuNDgxODA5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAx
MTQxLjQ4MTgxM10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0MS40ODE4
MThdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDEuNjg1NDMx
XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQxLjY4NTQ0OV0gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDEuNjg1NDU0XSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDEuNjg1NDYwXSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0MS42ODU0NjZdICoqKioq
KioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQxLjY4NTQ3MF0gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0MS42ODU0NzRdICoqKioqKioqeGVuZmJf
ZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDEuNjg1NDc4XSAqKioqKioqKnhlbmZiX3NlbmRf
ZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0MS42ODU1MDBdICoqKioqKioqeGVuZmJfc2VuZF9ldmVu
dCoqKioqKioqZXhpdApbIDExNDEuNjg1NTA1XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioq
KioqZXhpdApbIDExNDEuNjg1NTA5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQK
WyAxMTQxLjY4NTUxM10gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQx
LjY4NTcxMF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDEu
Njg1NzE5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0MS42ODU3MjRd
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0MS42ODU3
MjldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQxLjY4
NTczM10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDEuNjg1NzM4
XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQxLjY4NTc0M10gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0MS42ODU3NDddICoqKioqKioqeGVu
ZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDEuODkzNDI0XSAqKioqKioqKnhlbmZi
X2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQxLjg5MzQ0MV0gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKiplbnRyeQpbIDExNDEuODkzNDQ2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKiplbnRyeQpbIDExNDEuODkzNDUyXSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0MS44OTM0NTddICoqKioqKioqeGVuZmJfcXVldWVf
ZnVsbCoqKioqKioqZW50cnkKWyAxMTQxLjg5MzQ2Ml0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKipleGl0ClsgMTE0MS44OTM0NjZdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioq
KiplbnRyeQpbIDExNDEuODkzNDcwXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVu
dHJ5ClsgMTE0MS44OTM0OTNdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApb
IDExNDEuODkzNDk3XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDEu
ODkzNTAyXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQxLjg5MzUwNl0g
KioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQxLjg5Mzc2NV0gKioqKioq
Kip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDEuODkzNzc0XSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0MS44OTM3NzldICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0MS44OTM3ODNdICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQxLjg5Mzc4OF0gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDEuODkzNzkyXSAqKioqKioqKnhlbmZi
X3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQxLjg5Mzc5N10gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKipleGl0ClsgMTE0MS44OTM4MDFdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxl
cioqKioqKioqZXhpdApbIDExNDIuMTAxNDQ1XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioq
KioqZW50cnkKWyAxMTQyLjEwMTQ2M10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRy
eQpbIDExNDIuMTAxNDY4XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
bnRyeQpbIDExNDIuMTAxNDc0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KipleGl0ClsgMTE0Mi4xMDE0ODBdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50
cnkKWyAxMTQyLjEwMTQ4NF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0Clsg
MTE0Mi4xMDE0ODhdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDIu
MTAxNDkzXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0Mi4xMDE1
MTZdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDIuMTAxNTIxXSAq
KioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDIuMTAxNTI1XSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQyLjEwMTUyOV0gKioqKioqKip4ZW5mYl9p
bWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQyLjEwMTc0NV0gKioqKioqKip4ZW5mYl9ldmVudF9o
YW5kbGVyKioqKioqKiplbnRyeQpbIDExNDIuMTAxNzUzXSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmVudHJ5ClsgMTE0Mi4xMDE3NThdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmVudHJ5ClsgMTE0Mi4xMDE3NjJdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQyLjEwMTc2N10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKiplbnRyeQpbIDExNDIuMTAxNzcxXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioq
KioqKmV4aXQKWyAxMTQyLjEwMTc3Nl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0
ClsgMTE0Mi4xMDE3ODBdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApb
IDExNDIuMzA1NDMyXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQy
LjMwNTQ1MF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDIuMzA1NDU1
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDIuMzA1
NDYxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0Mi4z
MDU0NjddICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQyLjMwNTQ3
Ml0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0Mi4zMDU0NzZdICoq
KioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDIuMzA1NDgxXSAqKioqKioq
KnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0Mi4zMDU1MDNdICoqKioqKioqeGVu
ZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDIuMzA1NTA4XSAqKioqKioqKnhlbmZiX2Rv
X3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDIuMzA1NTEyXSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmV4aXQKWyAxMTQyLjMwNTUxNl0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioq
KmV4aXQKWyAxMTQyLjMwNTczOF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKipl
bnRyeQpbIDExNDIuMzA1NzQ5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5Clsg
MTE0Mi4zMDU3NTNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5
ClsgMTE0Mi4zMDU3NThdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4
aXQKWyAxMTQyLjMwNTc2M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpb
IDExNDIuMzA1NzY4XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQy
LjMwNTc3Ml0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0Mi4zMDU3NzZd
ICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDIuNTA5NDM2XSAq
KioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQyLjUwOTQ1M10gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDIuNTA5NDU3XSAqKioqKioqKnhlbmZi
X2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDIuNTA5NDYzXSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0Mi41MDk0NjldICoqKioqKioq
eGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQyLjUwOTQ3M10gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0Mi41MDk0NzddICoqKioqKioqeGVuZmJfZG9f
dXBkYXRlKioqKioqKiplbnRyeQpbIDExNDIuNTA5NDgxXSAqKioqKioqKnhlbmZiX3NlbmRfZXZl
bnQqKioqKioqKmVudHJ5ClsgMTE0Mi41MDk1MDZdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoq
KioqKioqZXhpdApbIDExNDIuNTA5NTEwXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioq
ZXhpdApbIDExNDIuNTA5NTE1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAx
MTQyLjUwOTUxOV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQyLjUw
OTc0MV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDIuNTA5
NzUwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0Mi41MDk3NTVdICoq
KioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0Mi41MDk3NjBd
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQyLjUwOTc2
NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDIuNTA5NzY5XSAq
KioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQyLjUwOTc3NF0gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0Mi41MDk3NzhdICoqKioqKioqeGVuZmJf
ZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDIuNzEzNDMyXSAqKioqKioqKnhlbmZiX2lt
YWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQyLjcxMzQ0OV0gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKiplbnRyeQpbIDExNDIuNzEzNDUzXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVf
ZHB5KioqKioqKiplbnRyeQpbIDExNDIuNzEzNDU5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKipleGl0ClsgMTE0Mi43MTM0NjVdICoqKioqKioqeGVuZmJfcXVldWVfZnVs
bCoqKioqKioqZW50cnkKWyAxMTQyLjcxMzQ2OV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKipleGl0ClsgMTE0Mi43MTM0NzRdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKipl
bnRyeQpbIDExNDIuNzEzNDc4XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5
ClsgMTE0Mi43MTM1MDFdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDEx
NDIuNzEzNTA1XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDIuNzEz
NTEwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQyLjcxMzUxNF0gKioq
KioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQyLjcxMzc0NV0gKioqKioqKip4
ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDIuNzEzNzU2XSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0Mi43MTM3NjFdICoqKioqKioqeGVuZmJfaGFu
ZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0Mi43MTM3NjddICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQyLjcxMzc3MV0gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDIuNzEzNzc2XSAqKioqKioqKnhlbmZiX3F1
ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQyLjcxMzc4MF0gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKipleGl0ClsgMTE0Mi43MTM3ODRdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioq
KioqKioqZXhpdApbIDExNDIuOTIxNDE1XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioq
ZW50cnkKWyAxMTQyLjkyMTQzMV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpb
IDExNDIuOTIxNDM2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRy
eQpbIDExNDIuOTIxNDQyXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
eGl0ClsgMTE0Mi45MjE0NDhdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkK
WyAxMTQyLjkyMTQ1Ml0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0
Mi45MjE0NTddICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDIuOTIx
NDYxXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0Mi45MjE0ODRd
ICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDIuOTIxNDg5XSAqKioq
KioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDIuOTIxNDkzXSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQyLjkyMTQ5N10gKioqKioqKip4ZW5mYl9pbWFn
ZWJsaXQqKioqKioqKmV4aXQKWyAxMTQyLjkyMTcwNl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5k
bGVyKioqKioqKiplbnRyeQpbIDExNDIuOTIxNzE2XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmVudHJ5ClsgMTE0Mi45MjE3MjJdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkq
KioqKioqKmVudHJ5ClsgMTE0Mi45MjE3MjddICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmV4aXQKWyAxMTQyLjkyMTczMV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKiplbnRyeQpbIDExNDIuOTIxNzM2XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioq
KmV4aXQKWyAxMTQyLjkyMTc0MV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0Clsg
MTE0Mi45MjE3NDVdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDEx
NDMuMTI1NDE2XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQzLjEy
NTQzMl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDMuMTI1NDM3XSAq
KioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDMuMTI1NDQy
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0My4xMjU0
NDhdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQzLjEyNTQ1Ml0g
KioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0My4xMjU0NTZdICoqKioq
KioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDMuMTI1NDYxXSAqKioqKioqKnhl
bmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0My4xMjU0ODNdICoqKioqKioqeGVuZmJf
c2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDMuMTI1NDg4XSAqKioqKioqKnhlbmZiX2RvX3Vw
ZGF0ZSoqKioqKioqZXhpdApbIDExNDMuMTI1NDkyXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmV4aXQKWyAxMTQzLjEyNTQ5Nl0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4
aXQKWyAxMTQzLjEyNTY3MF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRy
eQpbIDExNDMuMTI1Njc5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0
My4xMjU2ODRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5Clsg
MTE0My4xMjU2ODldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQK
WyAxMTQzLjEyNTY5NF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDEx
NDMuMTI1Njk4XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQzLjEy
NTcwM10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0My4xMjU3MDddICoq
KioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDMuMzI5NDE2XSAqKioq
KioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQzLjMyOTQzMF0gKioqKioqKip4
ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDMuMzI5NDM1XSAqKioqKioqKnhlbmZiX2hh
bmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDMuMzI5NDQxXSAqKioqKioqKnhlbmZi
X2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0My4zMjk0NDddICoqKioqKioqeGVu
ZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQzLjMyOTQ1MV0gKioqKioqKip4ZW5mYl9x
dWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0My4zMjk0NTVdICoqKioqKioqeGVuZmJfZG9fdXBk
YXRlKioqKioqKiplbnRyeQpbIDExNDMuMzI5NDU5XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQq
KioqKioqKmVudHJ5ClsgMTE0My4zMjk0ODBdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioq
KioqZXhpdApbIDExNDMuMzI5NDg1XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhp
dApbIDExNDMuMzI5NDg5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQz
LjMyOTQ5NF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQzLjMyOTY3
Nl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDMuMzI5Njg1
XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0My4zMjk2ODldICoqKioq
KioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0My4zMjk2OTRdICoq
KioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQzLjMyOTY5OV0g
KioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDMuMzI5NzAzXSAqKioq
KioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQzLjMyOTcwOF0gKioqKioqKip4
ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0My4zMjk3MTJdICoqKioqKioqeGVuZmJfZXZl
bnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDMuNTMzNDE2XSAqKioqKioqKnhlbmZiX2ltYWdl
YmxpdCoqKioqKioqZW50cnkKWyAxMTQzLjUzMzQzMV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioq
KioqKiplbnRyeQpbIDExNDMuNTMzNDM2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5
KioqKioqKiplbnRyeQpbIDExNDMuNTMzNDQxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVf
ZHB5KioqKioqKipleGl0ClsgMTE0My41MzM0NDddICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoq
KioqKioqZW50cnkKWyAxMTQzLjUzMzQ1Ml0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioq
KipleGl0ClsgMTE0My41MzM0NTZdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRy
eQpbIDExNDMuNTMzNDYwXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5Clsg
MTE0My41MzM0ODJdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDMu
NTMzNDg3XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDMuNTMzNDkx
XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQzLjUzMzQ5NV0gKioqKioq
Kip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQzLjUzMzY4MF0gKioqKioqKip4ZW5m
Yl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDMuNTMzNjkwXSAqKioqKioqKnhlbmZi
X3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0My41MzM2OTRdICoqKioqKioqeGVuZmJfaGFuZGxl
X3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0My41MzM2OTldICoqKioqKioqeGVuZmJfaGFu
ZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQzLjUzMzcwNF0gKioqKioqKip4ZW5mYl9x
dWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDMuNTMzNzA4XSAqKioqKioqKnhlbmZiX3F1ZXVl
X2Z1bGwqKioqKioqKmV4aXQKWyAxMTQzLjUzMzcxM10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioq
KioqKipleGl0ClsgMTE0My41MzM3MTddICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioq
KioqZXhpdApbIDExNDMuNzM3NDE1XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50
cnkKWyAxMTQzLjczNzQyOF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDEx
NDMuNzM3NDM0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpb
IDExNDMuNzM3NDQwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0
ClsgMTE0My43Mzc0NDVdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAx
MTQzLjczNzQ1MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0My43
Mzc0NTRdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDMuNzM3NDU4
XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0My43Mzc0NzldICoq
KioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDMuNzM3NDgzXSAqKioqKioq
KnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDMuNzM3NDg4XSAqKioqKioqKnhlbmZi
X3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQzLjczNzQ5Ml0gKioqKioqKip4ZW5mYl9pbWFnZWJs
aXQqKioqKioqKmV4aXQKWyAxMTQzLjczNzcwMF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVy
KioqKioqKiplbnRyeQpbIDExNDMuNzM3NzA5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioq
KmVudHJ5ClsgMTE0My43Mzc3MTNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioq
KioqKmVudHJ5ClsgMTE0My43Mzc3MThdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkq
KioqKioqKmV4aXQKWyAxMTQzLjczNzcyM10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioq
KiplbnRyeQpbIDExNDMuNzM3NzI4XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4
aXQKWyAxMTQzLjczNzczMl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0
My43Mzc3MzddICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDMu
OTQ1NDEyXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQzLjk0NTQy
NV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDMuOTQ1NDI5XSAqKioq
KioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDMuOTQ1NDM1XSAq
KioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0My45NDU0NDBd
ICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQzLjk0NTQ0NV0gKioq
KioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0My45NDU0NDldICoqKioqKioq
eGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDMuOTQ1NDU0XSAqKioqKioqKnhlbmZi
X3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0My45NDU0NzVdICoqKioqKioqeGVuZmJfc2Vu
ZF9ldmVudCoqKioqKioqZXhpdApbIDExNDMuOTQ1NDc5XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0
ZSoqKioqKioqZXhpdApbIDExNDMuOTQ1NDg0XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioq
KmV4aXQKWyAxMTQzLjk0NTQ4OF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQK
WyAxMTQzLjk0NTY2NF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpb
IDExNDMuOTQ1Njc1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0My45
NDU2ODBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0
My45NDU2ODVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAx
MTQzLjk0NTY4OV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDMu
OTQ1Njk0XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQzLjk0NTY5
OF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0My45NDU3MDNdICoqKioq
KioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDQuMTUzNDEzXSAqKioqKioq
KnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ0LjE1MzQyOF0gKioqKioqKip4ZW5m
Yl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDQuMTUzNDMzXSAqKioqKioqKnhlbmZiX2hhbmRs
ZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDQuMTUzNDM4XSAqKioqKioqKnhlbmZiX2hh
bmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0NC4xNTM0NDRdICoqKioqKioqeGVuZmJf
cXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ0LjE1MzQ0OF0gKioqKioqKip4ZW5mYl9xdWV1
ZV9mdWxsKioqKioqKipleGl0ClsgMTE0NC4xNTM0NTJdICoqKioqKioqeGVuZmJfZG9fdXBkYXRl
KioqKioqKiplbnRyeQpbIDExNDQuMTUzNDU2XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioq
KioqKmVudHJ5ClsgMTE0NC4xNTM0NzhdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioq
ZXhpdApbIDExNDQuMTUzNDgzXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApb
IDExNDQuMTUzNDg4XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ0LjE1
MzQ5Ml0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ0LjE1MzYzMF0g
KioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDQuMTUzNjM5XSAq
KioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0NC4xNTM2NDNdICoqKioqKioq
eGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0NC4xNTM2NDhdICoqKioq
KioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ0LjE1MzY1M10gKioq
KioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDQuMTUzNjU3XSAqKioqKioq
KnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ0LjE1MzY2Ml0gKioqKioqKip4ZW5m
Yl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0NC4xNTM2NjZdICoqKioqKioqeGVuZmJfZXZlbnRf
aGFuZGxlcioqKioqKioqZXhpdApbIDExNDQuMzYxNDE4XSAqKioqKioqKnhlbmZiX2ltYWdlYmxp
dCoqKioqKioqZW50cnkKWyAxMTQ0LjM2MTQzNV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioq
KiplbnRyeQpbIDExNDQuMzYxNDQwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5Kioq
KioqKiplbnRyeQpbIDExNDQuMzYxNDQ2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5
KioqKioqKipleGl0ClsgMTE0NC4zNjE0NTJdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioq
KioqZW50cnkKWyAxMTQ0LjM2MTQ1N10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipl
eGl0ClsgMTE0NC4zNjE0NjFdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpb
IDExNDQuMzYxNDY1XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0
NC4zNjE0ODldICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDQuMzYx
NDkzXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDQuMzYxNDk4XSAq
KioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ0LjM2MTUwMl0gKioqKioqKip4
ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ0LjM2MTc0OF0gKioqKioqKip4ZW5mYl9l
dmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDQuMzYxNzU5XSAqKioqKioqKnhlbmZiX3Jl
ZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0NC4zNjE3NjRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jl
c2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0NC4zNjE3NjldICoqKioqKioqeGVuZmJfaGFuZGxl
X3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ0LjM2MTc3M10gKioqKioqKip4ZW5mYl9xdWV1
ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDQuMzYxNzc4XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1
bGwqKioqKioqKmV4aXQKWyAxMTQ0LjM2MTc4M10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioq
KipleGl0ClsgMTE0NC4zNjE3ODddICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioq
ZXhpdApbIDExNDQuNTY1NDIxXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkK
WyAxMTQ0LjU2NTQzOV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDQu
NTY1NDQ0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDEx
NDQuNTY1NDUwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0Clsg
MTE0NC41NjU0NTVdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ0
LjU2NTQ2MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0NC41NjU0
NjRdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDQuNTY1NDY4XSAq
KioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0NC41NjU0OTNdICoqKioq
KioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDQuNTY1NDk4XSAqKioqKioqKnhl
bmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDQuNTY1NTAyXSAqKioqKioqKnhlbmZiX3Jl
ZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ0LjU2NTUwNl0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQq
KioqKioqKmV4aXQKWyAxMTQ0LjU2NTcwOF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioq
KioqKiplbnRyeQpbIDExNDQuNTY1NzE5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVu
dHJ5ClsgMTE0NC41NjU3MjRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmVudHJ5ClsgMTE0NC41NjU3MjldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioq
KioqKmV4aXQKWyAxMTQ0LjU2NTczM10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipl
bnRyeQpbIDExNDQuNTY1NzM4XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQK
WyAxMTQ0LjU2NTc0M10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0NC41
NjU3NDddICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDQuNzY5
NDMwXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ0Ljc2OTQ0N10g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDQuNzY5NDUyXSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDQuNzY5NDU3XSAqKioq
KioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0NC43Njk0NjNdICoq
KioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ0Ljc2OTQ2N10gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0NC43Njk0NzFdICoqKioqKioqeGVu
ZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDQuNzY5NDc2XSAqKioqKioqKnhlbmZiX3Nl
bmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0NC43Njk0OTZdICoqKioqKioqeGVuZmJfc2VuZF9l
dmVudCoqKioqKioqZXhpdApbIDExNDQuNzY5NTAxXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoq
KioqKioqZXhpdApbIDExNDQuNzY5NTA1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4
aXQKWyAxMTQ0Ljc2OTUwOV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAx
MTQ0Ljc2OTY5OF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDEx
NDQuNzY5NzA3XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0NC43Njk3
MTJdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0NC43
Njk3MTddICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ0
Ljc2OTcyMl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDQuNzY5
NzI3XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ0Ljc2OTczMV0g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0NC43Njk3MzZdICoqKioqKioq
eGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDQuOTczNDEyXSAqKioqKioqKnhl
bmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ0Ljk3MzQyN10gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDQuOTczNDMyXSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDQuOTczNDM4XSAqKioqKioqKnhlbmZiX2hhbmRs
ZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0NC45NzM0NDRdICoqKioqKioqeGVuZmJfcXVl
dWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ0Ljk3MzQ0OF0gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKipleGl0ClsgMTE0NC45NzM0NTJdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioq
KioqKiplbnRyeQpbIDExNDQuOTczNDU3XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioq
KmVudHJ5ClsgMTE0NC45NzM0NzddICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhp
dApbIDExNDQuOTczNDgyXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDEx
NDQuOTczNDg2XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ0Ljk3MzQ5
MF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ0Ljk3MzY5MV0gKioq
KioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDQuOTczNzAwXSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0NC45NzM3MDVdICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0NC45NzM3MTBdICoqKioqKioq
eGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ0Ljk3MzcxNF0gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDQuOTczNzE5XSAqKioqKioqKnhl
bmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ0Ljk3MzcyM10gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKipleGl0ClsgMTE0NC45NzM3MjddICoqKioqKioqeGVuZmJfZXZlbnRfaGFu
ZGxlcioqKioqKioqZXhpdApbIDExNDUuMTc3NDE2XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoq
KioqKioqZW50cnkKWyAxMTQ1LjE3NzQzNF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
bnRyeQpbIDExNDUuMTc3NDM4XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KiplbnRyeQpbIDExNDUuMTc3NDQ0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5Kioq
KioqKipleGl0ClsgMTE0NS4xNzc0NTBdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioq
ZW50cnkKWyAxMTQ1LjE3NzQ1NF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0
ClsgMTE0NS4xNzc0NTldICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDEx
NDUuMTc3NDYzXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0NS4x
Nzc0ODVdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDUuMTc3NDkw
XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDUuMTc3NDk1XSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ1LjE3NzQ5OV0gKioqKioqKip4ZW5m
Yl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ1LjE3NzY4MF0gKioqKioqKip4ZW5mYl9ldmVu
dF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDUuMTc3NjkwXSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmVudHJ5ClsgMTE0NS4xNzc2OTRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0NS4xNzc2OTldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jl
c2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ1LjE3NzcwNF0gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKiplbnRyeQpbIDExNDUuMTc3NzA5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwq
KioqKioqKmV4aXQKWyAxMTQ1LjE3NzcxM10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
eGl0ClsgMTE0NS4xNzc3MTddICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhp
dApbIDExNDUuMzg1NDI2XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAx
MTQ1LjM4NTQ0NF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDUuMzg1
NDQ5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDUu
Mzg1NDU1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0
NS4zODU0NjFdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ1LjM4
NTQ2NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0NS4zODU0NzBd
ICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDUuMzg1NDc0XSAqKioq
KioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0NS4zODU0OTRdICoqKioqKioq
eGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDUuMzg1NDk4XSAqKioqKioqKnhlbmZi
X2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDUuMzg1NTAzXSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmV4aXQKWyAxMTQ1LjM4NTUwN10gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioq
KioqKmV4aXQKWyAxMTQ1LjM4NTcxMl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioq
KiplbnRyeQpbIDExNDUuMzg1NzIzXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5
ClsgMTE0NS4zODU3MjhdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVu
dHJ5ClsgMTE0NS4zODU3MzNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmV4aXQKWyAxMTQ1LjM4NTczN10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRy
eQpbIDExNDUuMzg1NzQyXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAx
MTQ1LjM4NTc0N10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0NS4zODU3
NTFdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDUuNTkzNDE3
XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ1LjU5MzQzNF0gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDUuNTkzNDM4XSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDUuNTkzNDQ0XSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0NS41OTM0NTBdICoqKioq
KioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ1LjU5MzQ1NV0gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0NS41OTM0NTldICoqKioqKioqeGVuZmJf
ZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDUuNTkzNDYzXSAqKioqKioqKnhlbmZiX3NlbmRf
ZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0NS41OTM0ODZdICoqKioqKioqeGVuZmJfc2VuZF9ldmVu
dCoqKioqKioqZXhpdApbIDExNDUuNTkzNDkxXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioq
KioqZXhpdApbIDExNDUuNTkzNDk1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQK
WyAxMTQ1LjU5MzQ5OV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ1
LjU5MzczOV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDUu
NTkzNzQ4XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0NS41OTM3NTNd
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0NS41OTM3
NThdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ1LjU5
Mzc2Ml0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDUuNTkzNzY3
XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ1LjU5Mzc3MV0gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0NS41OTM3NzZdICoqKioqKioqeGVu
ZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDUuNzk3NDE0XSAqKioqKioqKnhlbmZi
X2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ1Ljc5NzQzMF0gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKiplbnRyeQpbIDExNDUuNzk3NDM1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKiplbnRyeQpbIDExNDUuNzk3NDQxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0NS43OTc0NDZdICoqKioqKioqeGVuZmJfcXVldWVf
ZnVsbCoqKioqKioqZW50cnkKWyAxMTQ1Ljc5NzQ1MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKipleGl0ClsgMTE0NS43OTc0NTVdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioq
KiplbnRyeQpbIDExNDUuNzk3NDU5XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVu
dHJ5ClsgMTE0NS43OTc0ODBdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApb
IDExNDUuNzk3NDg1XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDUu
Nzk3NDg5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ1Ljc5NzQ5M10g
KioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ1Ljc5NzY4M10gKioqKioq
Kip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDUuNzk3NjkzXSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0NS43OTc2OThdICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0NS43OTc3MDNdICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ1Ljc5NzcwOF0gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDUuNzk3NzEzXSAqKioqKioqKnhlbmZi
X3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ1Ljc5NzcxN10gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKipleGl0ClsgMTE0NS43OTc3MjJdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxl
cioqKioqKioqZXhpdApbIDExNDYuMDA1NDExXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioq
KioqZW50cnkKWyAxMTQ2LjAwNTQyNV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRy
eQpbIDExNDYuMDA1NDMwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
bnRyeQpbIDExNDYuMDA1NDM1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KipleGl0ClsgMTE0Ni4wMDU0NDFdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50
cnkKWyAxMTQ2LjAwNTQ0Nl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0Clsg
MTE0Ni4wMDU0NTBdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDYu
MDA1NDU0XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0Ni4wMDU0
NzNdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDYuMDA1NDc3XSAq
KioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDYuMDA1NDgyXSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ2LjAwNTQ4Nl0gKioqKioqKip4ZW5mYl9p
bWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ2LjAwNTY2Nl0gKioqKioqKip4ZW5mYl9ldmVudF9o
YW5kbGVyKioqKioqKiplbnRyeQpbIDExNDYuMDA1Njc1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmVudHJ5ClsgMTE0Ni4wMDU2ODFdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmVudHJ5ClsgMTE0Ni4wMDU2ODZdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ2LjAwNTY5MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKiplbnRyeQpbIDExNDYuMDA1Njk1XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioq
KioqKmV4aXQKWyAxMTQ2LjAwNTcwMF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0
ClsgMTE0Ni4wMDU3MDRdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApb
IDExNDYuMjA5NDExXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ2
LjIwOTQyNl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDYuMjA5NDMw
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDYuMjA5
NDM2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0Ni4y
MDk0NDFdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ2LjIwOTQ0
Nl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0Ni4yMDk0NTBdICoq
KioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDYuMjA5NDU0XSAqKioqKioq
KnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0Ni4yMDk0NzVdICoqKioqKioqeGVu
ZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDYuMjA5NDgwXSAqKioqKioqKnhlbmZiX2Rv
X3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDYuMjA5NDg1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmV4aXQKWyAxMTQ2LjIwOTQ4OV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioq
KmV4aXQKWyAxMTQ2LjIwOTY0Nl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKipl
bnRyeQpbIDExNDYuMjA5NjU1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5Clsg
MTE0Ni4yMDk2NjBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5
ClsgMTE0Ni4yMDk2NjVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4
aXQKWyAxMTQ2LjIwOTY3MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpb
IDExNDYuMjA5Njc0XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ2
LjIwOTY3OV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0Ni4yMDk2ODNd
ICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDYuNDEzNDExXSAq
KioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ2LjQxMzQyNV0gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDYuNDEzNDMwXSAqKioqKioqKnhlbmZi
X2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDYuNDEzNDM1XSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0Ni40MTM0NDFdICoqKioqKioq
eGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ2LjQxMzQ0NV0gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0Ni40MTM0NDldICoqKioqKioqeGVuZmJfZG9f
dXBkYXRlKioqKioqKiplbnRyeQpbIDExNDYuNDEzNDU0XSAqKioqKioqKnhlbmZiX3NlbmRfZXZl
bnQqKioqKioqKmVudHJ5ClsgMTE0Ni40MTM0NzVdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoq
KioqKioqZXhpdApbIDExNDYuNDEzNDgwXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioq
ZXhpdApbIDExNDYuNDEzNDg0XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAx
MTQ2LjQxMzQ4OF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ2LjQx
MzY3MF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDYuNDEz
Njc5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0Ni40MTM2ODRdICoq
KioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0Ni40MTM2ODld
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ2LjQxMzY5
NF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDYuNDEzNjk4XSAq
KioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ2LjQxMzcwM10gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0Ni40MTM3MDddICoqKioqKioqeGVuZmJf
ZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDYuNjE3NDEwXSAqKioqKioqKnhlbmZiX2lt
YWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ2LjYxNzQyNF0gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKiplbnRyeQpbIDExNDYuNjE3NDI5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVf
ZHB5KioqKioqKiplbnRyeQpbIDExNDYuNjE3NDM0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKipleGl0ClsgMTE0Ni42MTc0NDBdICoqKioqKioqeGVuZmJfcXVldWVfZnVs
bCoqKioqKioqZW50cnkKWyAxMTQ2LjYxNzQ0NF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKipleGl0ClsgMTE0Ni42MTc0NDhdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKipl
bnRyeQpbIDExNDYuNjE3NDUyXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5
ClsgMTE0Ni42MTc0NzRdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDEx
NDYuNjE3NDc5XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDYuNjE3
NDgzXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ2LjYxNzQ4N10gKioq
KioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ2LjYxNzY4MV0gKioqKioqKip4
ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDYuNjE3NjkwXSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0Ni42MTc2OTVdICoqKioqKioqeGVuZmJfaGFu
ZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0Ni42MTc2OTldICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ2LjYxNzcwNF0gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDYuNjE3NzA5XSAqKioqKioqKnhlbmZiX3F1
ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ2LjYxNzcxM10gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKipleGl0ClsgMTE0Ni42MTc3MThdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioq
KioqKioqZXhpdApbIDExNDYuODI1NDEwXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioq
ZW50cnkKWyAxMTQ2LjgyNTQyNV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpb
IDExNDYuODI1NDI5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRy
eQpbIDExNDYuODI1NDM1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
eGl0ClsgMTE0Ni44MjU0NDBdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkK
WyAxMTQ2LjgyNTQ0NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0
Ni44MjU0NDhdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDYuODI1
NDUzXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0Ni44MjU0NzNd
ICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDYuODI1NDc4XSAqKioq
KioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDYuODI1NDgyXSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ2LjgyNTQ4Nl0gKioqKioqKip4ZW5mYl9pbWFn
ZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ2LjgyNTY1OV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5k
bGVyKioqKioqKiplbnRyeQpbIDExNDYuODI1NjY4XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmVudHJ5ClsgMTE0Ni44MjU2NzJdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkq
KioqKioqKmVudHJ5ClsgMTE0Ni44MjU2NzddICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmV4aXQKWyAxMTQ2LjgyNTY4Ml0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKiplbnRyeQpbIDExNDYuODI1Njg3XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioq
KmV4aXQKWyAxMTQ2LjgyNTY5MV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0Clsg
MTE0Ni44MjU2OTZdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDEx
NDcuMDMzNDEwXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ3LjAz
MzQyNF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDcuMDMzNDI5XSAq
KioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDcuMDMzNDM1
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0Ny4wMzM0
NDBdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ3LjAzMzQ0NV0g
KioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0Ny4wMzM0NDldICoqKioq
KioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDcuMDMzNDUzXSAqKioqKioqKnhl
bmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0Ny4wMzM0NzVdICoqKioqKioqeGVuZmJf
c2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDcuMDMzNDgwXSAqKioqKioqKnhlbmZiX2RvX3Vw
ZGF0ZSoqKioqKioqZXhpdApbIDExNDcuMDMzNDg0XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmV4aXQKWyAxMTQ3LjAzMzQ4OF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4
aXQKWyAxMTQ3LjAzMzY5MV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRy
eQpbIDExNDcuMDMzNzAxXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0
Ny4wMzM3MDVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5Clsg
MTE0Ny4wMzM3MTBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQK
WyAxMTQ3LjAzMzcxNF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDEx
NDcuMDMzNzE5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ3LjAz
MzcyNF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0Ny4wMzM3MjhdICoq
KioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDcuMjM3NDE0XSAqKioq
KioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ3LjIzNzQyOV0gKioqKioqKip4
ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDcuMjM3NDMzXSAqKioqKioqKnhlbmZiX2hh
bmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDcuMjM3NDM5XSAqKioqKioqKnhlbmZi
X2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0Ny4yMzc0NDRdICoqKioqKioqeGVu
ZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ3LjIzNzQ0OV0gKioqKioqKip4ZW5mYl9x
dWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0Ny4yMzc0NTNdICoqKioqKioqeGVuZmJfZG9fdXBk
YXRlKioqKioqKiplbnRyeQpbIDExNDcuMjM3NDU3XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQq
KioqKioqKmVudHJ5ClsgMTE0Ny4yMzc0NzldICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioq
KioqZXhpdApbIDExNDcuMjM3NDg0XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhp
dApbIDExNDcuMjM3NDg4XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ3
LjIzNzQ5Ml0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ3LjIzNzY0
M10gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDcuMjM3NjUy
XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0Ny4yMzc2NTddICoqKioq
KioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0Ny4yMzc2NjJdICoq
KioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ3LjIzNzY2Nl0g
KioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDcuMjM3NjcxXSAqKioq
KioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ3LjIzNzY3NV0gKioqKioqKip4
ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0Ny4yMzc2ODBdICoqKioqKioqeGVuZmJfZXZl
bnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDcuNDQ1NDE0XSAqKioqKioqKnhlbmZiX2ltYWdl
YmxpdCoqKioqKioqZW50cnkKWyAxMTQ3LjQ0NTQyOV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioq
KioqKiplbnRyeQpbIDExNDcuNDQ1NDM0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5
KioqKioqKiplbnRyeQpbIDExNDcuNDQ1NDQwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVf
ZHB5KioqKioqKipleGl0ClsgMTE0Ny40NDU0NDVdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoq
KioqKioqZW50cnkKWyAxMTQ3LjQ0NTQ1MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioq
KipleGl0ClsgMTE0Ny40NDU0NTRdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRy
eQpbIDExNDcuNDQ1NDU4XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5Clsg
MTE0Ny40NDU0NzldICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDcu
NDQ1NDg0XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDcuNDQ1NDg4
XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ3LjQ0NTQ5M10gKioqKioq
Kip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ3LjQ0NTY5NF0gKioqKioqKip4ZW5m
Yl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDcuNDQ1NzAzXSAqKioqKioqKnhlbmZi
X3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0Ny40NDU3MDddICoqKioqKioqeGVuZmJfaGFuZGxl
X3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0Ny40NDU3MTJdICoqKioqKioqeGVuZmJfaGFu
ZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ3LjQ0NTcxN10gKioqKioqKip4ZW5mYl9x
dWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDcuNDQ1NzIxXSAqKioqKioqKnhlbmZiX3F1ZXVl
X2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ3LjQ0NTcyNl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioq
KioqKipleGl0ClsgMTE0Ny40NDU3MzBdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioq
KioqZXhpdApbIDExNDcuNjQ5NDEyXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50
cnkKWyAxMTQ3LjY0OTQyNl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDEx
NDcuNjQ5NDMxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpb
IDExNDcuNjQ5NDM3XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0
ClsgMTE0Ny42NDk0NDJdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAx
MTQ3LjY0OTQ0N10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0Ny42
NDk0NTFdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDcuNjQ5NDU1
XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0Ny42NDk0NzhdICoq
KioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDcuNjQ5NDgyXSAqKioqKioq
KnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDcuNjQ5NDg3XSAqKioqKioqKnhlbmZi
X3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ3LjY0OTQ5MV0gKioqKioqKip4ZW5mYl9pbWFnZWJs
aXQqKioqKioqKmV4aXQKWyAxMTQ3LjY0OTY3N10gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVy
KioqKioqKiplbnRyeQpbIDExNDcuNjQ5Njg2XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioq
KmVudHJ5ClsgMTE0Ny42NDk2OTBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioq
KioqKmVudHJ5ClsgMTE0Ny42NDk2OTVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkq
KioqKioqKmV4aXQKWyAxMTQ3LjY0OTcwMF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioq
KiplbnRyeQpbIDExNDcuNjQ5NzA0XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4
aXQKWyAxMTQ3LjY0OTcwOV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0
Ny42NDk3MTNdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDcu
ODU3NDA2XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ3Ljg1NzQy
MF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDcuODU3NDI1XSAqKioq
KioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDcuODU3NDMxXSAq
KioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0Ny44NTc0MzZd
ICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ3Ljg1NzQ0MF0gKioq
KioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0Ny44NTc0NDVdICoqKioqKioq
eGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDcuODU3NDQ5XSAqKioqKioqKnhlbmZi
X3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0Ny44NTc0NzFdICoqKioqKioqeGVuZmJfc2Vu
ZF9ldmVudCoqKioqKioqZXhpdApbIDExNDcuODU3NDc1XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0
ZSoqKioqKioqZXhpdApbIDExNDcuODU3NDc5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioq
KmV4aXQKWyAxMTQ3Ljg1NzQ4NF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQK
WyAxMTQ3Ljg1NzY4Nl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpb
IDExNDcuODU3Njk1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0Ny44
NTc2OTldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0
Ny44NTc3MDVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAx
MTQ3Ljg1NzcwOV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDcu
ODU3NzE0XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ3Ljg1Nzcx
OF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0Ny44NTc3MjNdICoqKioq
KioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDguMDY1NDA4XSAqKioqKioq
KnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ4LjA2NTQyMl0gKioqKioqKip4ZW5m
Yl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDguMDY1NDI2XSAqKioqKioqKnhlbmZiX2hhbmRs
ZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDguMDY1NDMyXSAqKioqKioqKnhlbmZiX2hh
bmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0OC4wNjU0MzddICoqKioqKioqeGVuZmJf
cXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ4LjA2NTQ0Ml0gKioqKioqKip4ZW5mYl9xdWV1
ZV9mdWxsKioqKioqKipleGl0ClsgMTE0OC4wNjU0NDZdICoqKioqKioqeGVuZmJfZG9fdXBkYXRl
KioqKioqKiplbnRyeQpbIDExNDguMDY1NDUwXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioq
KioqKmVudHJ5ClsgMTE0OC4wNjU0NzFdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioq
ZXhpdApbIDExNDguMDY1NDc1XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApb
IDExNDguMDY1NDgwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ4LjA2
NTQ4NF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ4LjA2NTY0N10g
KioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDguMDY1NjU3XSAq
KioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0OC4wNjU2NjJdICoqKioqKioq
eGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0OC4wNjU2NjddICoqKioq
KioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ4LjA2NTY3MV0gKioq
KioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDguMDY1Njc2XSAqKioqKioq
KnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ4LjA2NTY4MV0gKioqKioqKip4ZW5m
Yl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0OC4wNjU2ODVdICoqKioqKioqeGVuZmJfZXZlbnRf
aGFuZGxlcioqKioqKioqZXhpdApbIDExNDguMjczNDEwXSAqKioqKioqKnhlbmZiX2ltYWdlYmxp
dCoqKioqKioqZW50cnkKWyAxMTQ4LjI3MzQyNV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioq
KiplbnRyeQpbIDExNDguMjczNDMwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5Kioq
KioqKiplbnRyeQpbIDExNDguMjczNDM2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5
KioqKioqKipleGl0ClsgMTE0OC4yNzM0NDJdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioq
KioqZW50cnkKWyAxMTQ4LjI3MzQ0Nl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipl
eGl0ClsgMTE0OC4yNzM0NTBdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpb
IDExNDguMjczNDU0XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0
OC4yNzM0NzZdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDguMjcz
NDgwXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDguMjczNDg1XSAq
KioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ4LjI3MzQ4OV0gKioqKioqKip4
ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ4LjI3MzY2N10gKioqKioqKip4ZW5mYl9l
dmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDguMjczNjc1XSAqKioqKioqKnhlbmZiX3Jl
ZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0OC4yNzM2ODBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jl
c2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0OC4yNzM2ODVdICoqKioqKioqeGVuZmJfaGFuZGxl
X3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ4LjI3MzY4OV0gKioqKioqKip4ZW5mYl9xdWV1
ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDguMjczNjk0XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1
bGwqKioqKioqKmV4aXQKWyAxMTQ4LjI3MzY5OF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioq
KipleGl0ClsgMTE0OC4yNzM3MDNdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioq
ZXhpdApbIDExNDguNDgxNDExXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkK
WyAxMTQ4LjQ4MTQyNF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDgu
NDgxNDI5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDEx
NDguNDgxNDM0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0Clsg
MTE0OC40ODE0NDBdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ4
LjQ4MTQ0NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0OC40ODE0
NDhdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDguNDgxNDUzXSAq
KioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0OC40ODE0NzRdICoqKioq
KioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDguNDgxNDc4XSAqKioqKioqKnhl
bmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDguNDgxNDgzXSAqKioqKioqKnhlbmZiX3Jl
ZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ4LjQ4MTQ4N10gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQq
KioqKioqKmV4aXQKWyAxMTQ4LjQ4MTYzOV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioq
KioqKiplbnRyeQpbIDExNDguNDgxNjQ5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVu
dHJ5ClsgMTE0OC40ODE2NTNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmVudHJ5ClsgMTE0OC40ODE2NThdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioq
KioqKmV4aXQKWyAxMTQ4LjQ4MTY2M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipl
bnRyeQpbIDExNDguNDgxNjY3XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQK
WyAxMTQ4LjQ4MTY3Ml0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0OC40
ODE2NzZdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDguNjg5
NDA4XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ4LjY4OTQyNV0g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDguNjg5NDMwXSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDguNjg5NDM2XSAqKioq
KioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0OC42ODk0NDFdICoq
KioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ4LjY4OTQ0Nl0gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0OC42ODk0NTBdICoqKioqKioqeGVu
ZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDguNjg5NDU0XSAqKioqKioqKnhlbmZiX3Nl
bmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0OC42ODk0NzddICoqKioqKioqeGVuZmJfc2VuZF9l
dmVudCoqKioqKioqZXhpdApbIDExNDguNjg5NDgxXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoq
KioqKioqZXhpdApbIDExNDguNjg5NDg2XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4
aXQKWyAxMTQ4LjY4OTQ5MF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAx
MTQ4LjY4OTcxNl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDEx
NDguNjg5NzI1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0OC42ODk3
MzBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0OC42
ODk3MzVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ4
LjY4OTczOV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDguNjg5
NzQ0XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ4LjY4OTc0OV0g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0OC42ODk3NTNdICoqKioqKioq
eGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDguODkzNDA4XSAqKioqKioqKnhl
bmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ4Ljg5MzQyMl0gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDguODkzNDI2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDguODkzNDMyXSAqKioqKioqKnhlbmZiX2hhbmRs
ZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0OC44OTM0MzhdICoqKioqKioqeGVuZmJfcXVl
dWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ4Ljg5MzQ0Ml0gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKipleGl0ClsgMTE0OC44OTM0NDZdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioq
KioqKiplbnRyeQpbIDExNDguODkzNDUwXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioq
KmVudHJ5ClsgMTE0OC44OTM0NzFdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhp
dApbIDExNDguODkzNDc2XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDEx
NDguODkzNDgwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ4Ljg5MzQ4
NF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ4Ljg5MzY1N10gKioq
KioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDguODkzNjY3XSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0OC44OTM2NzFdICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0OC44OTM2NzZdICoqKioqKioq
eGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ4Ljg5MzY4MV0gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDguODkzNjg1XSAqKioqKioqKnhl
bmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ4Ljg5MzY5MF0gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKipleGl0ClsgMTE0OC44OTM2OTRdICoqKioqKioqeGVuZmJfZXZlbnRfaGFu
ZGxlcioqKioqKioqZXhpdApbIDExNDkuMTAxNDE4XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoq
KioqKioqZW50cnkKWyAxMTQ5LjEwMTQzNl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
bnRyeQpbIDExNDkuMTAxNDQwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KiplbnRyeQpbIDExNDkuMTAxNDQ2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5Kioq
KioqKipleGl0ClsgMTE0OS4xMDE0NTFdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioq
ZW50cnkKWyAxMTQ5LjEwMTQ1Nl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0
ClsgMTE0OS4xMDE0NjBdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDEx
NDkuMTAxNDY0XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0OS4x
MDE0ODNdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDkuMTAxNDg4
XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDkuMTAxNDkzXSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ5LjEwMTQ5N10gKioqKioqKip4ZW5m
Yl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ5LjEwMTY5OV0gKioqKioqKip4ZW5mYl9ldmVu
dF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDkuMTAxNzA5XSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmVudHJ5ClsgMTE0OS4xMDE3MTRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0OS4xMDE3MThdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jl
c2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ5LjEwMTcyM10gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKiplbnRyeQpbIDExNDkuMTAxNzI3XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwq
KioqKioqKmV4aXQKWyAxMTQ5LjEwMTczMl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
eGl0ClsgMTE0OS4xMDE3MzddICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhp
dApbIDExNDkuMzA1NDE1XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAx
MTQ5LjMwNTQzMl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDkuMzA1
NDM3XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDku
MzA1NDQyXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0
OS4zMDU0NDddICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ5LjMw
NTQ1Ml0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0OS4zMDU0NTZd
ICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDkuMzA1NDYwXSAqKioq
KioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0OS4zMDU0NzldICoqKioqKioq
eGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDkuMzA1NDgzXSAqKioqKioqKnhlbmZi
X2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDkuMzA1NDg4XSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmV4aXQKWyAxMTQ5LjMwNTQ5Ml0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioq
KioqKmV4aXQKWyAxMTQ5LjMwNTY2MF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioq
KiplbnRyeQpbIDExNDkuMzA1NjcwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5
ClsgMTE0OS4zMDU2NzVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVu
dHJ5ClsgMTE0OS4zMDU2ODBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmV4aXQKWyAxMTQ5LjMwNTY4NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRy
eQpbIDExNDkuMzA1Njg5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAx
MTQ5LjMwNTY5NF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0OS4zMDU2
OThdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDkuNTEzNDE2
XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ5LjUxMzQzMl0gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNDkuNTEzNDM3XSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNDkuNTEzNDQzXSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0OS41MTM0NDhdICoqKioq
KioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTQ5LjUxMzQ1M10gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE0OS41MTM0NTddICoqKioqKioqeGVuZmJf
ZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDkuNTEzNDYxXSAqKioqKioqKnhlbmZiX3NlbmRf
ZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0OS41MTM0ODBdICoqKioqKioqeGVuZmJfc2VuZF9ldmVu
dCoqKioqKioqZXhpdApbIDExNDkuNTEzNDg1XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioq
KioqZXhpdApbIDExNDkuNTEzNDkwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQK
WyAxMTQ5LjUxMzQ5NF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ5
LjUxMzY0Nl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDku
NTEzNjU1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0OS41MTM2NjBd
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0OS41MTM2
NjVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ5LjUx
MzY3MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDkuNTEzNjc0
XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ5LjUxMzY3OV0gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE0OS41MTM2ODNdICoqKioqKioqeGVu
ZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNDkuNzIxNDE2XSAqKioqKioqKnhlbmZi
X2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTQ5LjcyMTQzMl0gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKiplbnRyeQpbIDExNDkuNzIxNDM3XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKiplbnRyeQpbIDExNDkuNzIxNDQzXSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE0OS43MjE0NDhdICoqKioqKioqeGVuZmJfcXVldWVf
ZnVsbCoqKioqKioqZW50cnkKWyAxMTQ5LjcyMTQ1M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKipleGl0ClsgMTE0OS43MjE0NThdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioq
KiplbnRyeQpbIDExNDkuNzIxNDYyXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVu
dHJ5ClsgMTE0OS43MjE0ODJdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApb
IDExNDkuNzIxNDg2XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDku
NzIxNDkxXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ5LjcyMTQ5NV0g
KioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ5LjcyMTY5N10gKioqKioq
Kip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNDkuNzIxNzA2XSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE0OS43MjE3MTFdICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE0OS43MjE3MTZdICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ5LjcyMTcyMF0gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNDkuNzIxNzI1XSAqKioqKioqKnhlbmZi
X3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTQ5LjcyMTcyOV0gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKipleGl0ClsgMTE0OS43MjE3MzRdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxl
cioqKioqKioqZXhpdApbIDExNDkuOTI1NDA2XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioq
KioqZW50cnkKWyAxMTQ5LjkyNTQyMF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRy
eQpbIDExNDkuOTI1NDI1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
bnRyeQpbIDExNDkuOTI1NDMxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KipleGl0ClsgMTE0OS45MjU0MzddICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50
cnkKWyAxMTQ5LjkyNTQ0MV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0Clsg
MTE0OS45MjU0NDVdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNDku
OTI1NDQ5XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE0OS45MjU0
NzBdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNDkuOTI1NDc1XSAq
KioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNDkuOTI1NDc5XSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTQ5LjkyNTQ4NF0gKioqKioqKip4ZW5mYl9p
bWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTQ5LjkyNTY4OF0gKioqKioqKip4ZW5mYl9ldmVudF9o
YW5kbGVyKioqKioqKiplbnRyeQpbIDExNDkuOTI1Njk3XSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmVudHJ5ClsgMTE0OS45MjU3MDJdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmVudHJ5ClsgMTE0OS45MjU3MDZdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmV4aXQKWyAxMTQ5LjkyNTcxMV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKiplbnRyeQpbIDExNDkuOTI1NzE2XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioq
KioqKmV4aXQKWyAxMTQ5LjkyNTcyMF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0
ClsgMTE0OS45MjU3MjVdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApb
IDExNTAuMTMzNDA1XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTUw
LjEzMzQxOV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTAuMTMzNDI0
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTAuMTMz
NDI5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1MC4x
MzM0MzVdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTUwLjEzMzQz
OV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1MC4xMzM0NDNdICoq
KioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTAuMTMzNDQ4XSAqKioqKioq
KnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1MC4xMzM0NjhdICoqKioqKioqeGVu
ZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTAuMTMzNDczXSAqKioqKioqKnhlbmZiX2Rv
X3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTAuMTMzNDc3XSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmV4aXQKWyAxMTUwLjEzMzQ4MV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioq
KmV4aXQKWyAxMTUwLjEzMzYyM10gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKipl
bnRyeQpbIDExNTAuMTMzNjMyXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5Clsg
MTE1MC4xMzM2MzddICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5
ClsgMTE1MC4xMzM2NDJdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4
aXQKWyAxMTUwLjEzMzY0N10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpb
IDExNTAuMTMzNjUxXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTUw
LjEzMzY1Nl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1MC4xMzM2NjBd
ICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTAuMzM3NDA2XSAq
KioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTUwLjMzNzQyMV0gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTAuMzM3NDI1XSAqKioqKioqKnhlbmZi
X2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTAuMzM3NDMxXSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1MC4zMzc0MzZdICoqKioqKioq
eGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTUwLjMzNzQ0MF0gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1MC4zMzc0NDVdICoqKioqKioqeGVuZmJfZG9f
dXBkYXRlKioqKioqKiplbnRyeQpbIDExNTAuMzM3NDQ5XSAqKioqKioqKnhlbmZiX3NlbmRfZXZl
bnQqKioqKioqKmVudHJ5ClsgMTE1MC4zMzc0NzBdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoq
KioqKioqZXhpdApbIDExNTAuMzM3NDc1XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioq
ZXhpdApbIDExNTAuMzM3NDc5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAx
MTUwLjMzNzQ4M10gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTUwLjMz
NzY2MF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTAuMzM3
NjcwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1MC4zMzc2NzRdICoq
KioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1MC4zMzc2Nzld
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTUwLjMzNzY4
M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTAuMzM3Njg4XSAq
KioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTUwLjMzNzY5M10gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1MC4zMzc2OTddICoqKioqKioqeGVuZmJf
ZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTAuNTQ1NDA3XSAqKioqKioqKnhlbmZiX2lt
YWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTUwLjU0NTQyMl0gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKiplbnRyeQpbIDExNTAuNTQ1NDI2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVf
ZHB5KioqKioqKiplbnRyeQpbIDExNTAuNTQ1NDMyXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKipleGl0ClsgMTE1MC41NDU0MzddICoqKioqKioqeGVuZmJfcXVldWVfZnVs
bCoqKioqKioqZW50cnkKWyAxMTUwLjU0NTQ0Ml0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKipleGl0ClsgMTE1MC41NDU0NDZdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKipl
bnRyeQpbIDExNTAuNTQ1NDUwXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5
ClsgMTE1MC41NDU0NzJdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDEx
NTAuNTQ1NDc2XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTAuNTQ1
NDgxXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTUwLjU0NTQ4NV0gKioq
KioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTUwLjU0NTY4OF0gKioqKioqKip4
ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTAuNTQ1Njk4XSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1MC41NDU3MDJdICoqKioqKioqeGVuZmJfaGFu
ZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1MC41NDU3MDddICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTUwLjU0NTcxMV0gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTAuNTQ1NzE2XSAqKioqKioqKnhlbmZiX3F1
ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTUwLjU0NTcyMF0gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKipleGl0ClsgMTE1MC41NDU3MjVdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioq
KioqKioqZXhpdApbIDExNTAuNzQ5NDA5XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioq
ZW50cnkKWyAxMTUwLjc0OTQyM10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpb
IDExNTAuNzQ5NDI4XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRy
eQpbIDExNTAuNzQ5NDMzXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
eGl0ClsgMTE1MC43NDk0MzldICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkK
WyAxMTUwLjc0OTQ0M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1
MC43NDk0NDddICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTAuNzQ5
NDUxXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1MC43NDk0NzNd
ICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTAuNzQ5NDc4XSAqKioq
KioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTAuNzQ5NDgzXSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTUwLjc0OTQ4N10gKioqKioqKip4ZW5mYl9pbWFn
ZWJsaXQqKioqKioqKmV4aXQKWyAxMTUwLjc0OTY3MF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5k
bGVyKioqKioqKiplbnRyeQpbIDExNTAuNzQ5Njc4XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmVudHJ5ClsgMTE1MC43NDk2ODNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkq
KioqKioqKmVudHJ5ClsgMTE1MC43NDk2ODddICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmV4aXQKWyAxMTUwLjc0OTY5Ml0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKiplbnRyeQpbIDExNTAuNzQ5Njk3XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioq
KmV4aXQKWyAxMTUwLjc0OTcwMV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0Clsg
MTE1MC43NDk3MDZdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDEx
NTAuOTU3NDAyXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTUwLjk1
NzQxNV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTAuOTU3NDIwXSAq
KioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTAuOTU3NDI1
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1MC45NTc0
MzFdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTUwLjk1NzQzNV0g
KioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1MC45NTc0MzldICoqKioq
KioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTAuOTU3NDQ0XSAqKioqKioqKnhl
bmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1MC45NTc0NjRdICoqKioqKioqeGVuZmJf
c2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTAuOTU3NDY4XSAqKioqKioqKnhlbmZiX2RvX3Vw
ZGF0ZSoqKioqKioqZXhpdApbIDExNTAuOTU3NDczXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmV4aXQKWyAxMTUwLjk1NzQ3N10gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4
aXQKWyAxMTUwLjk1NzY0N10gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRy
eQpbIDExNTAuOTU3NjU2XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1
MC45NTc2NjFdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5Clsg
MTE1MC45NTc2NjZdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQK
WyAxMTUwLjk1NzY3MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDEx
NTAuOTU3Njc1XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTUwLjk1
NzY3OV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1MC45NTc2ODRdICoq
KioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTEuMTYxNDA2XSAqKioq
KioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTUxLjE2MTQxOV0gKioqKioqKip4
ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTEuMTYxNDIzXSAqKioqKioqKnhlbmZiX2hh
bmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTEuMTYxNDI5XSAqKioqKioqKnhlbmZi
X2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1MS4xNjE0MzRdICoqKioqKioqeGVu
ZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTUxLjE2MTQzOV0gKioqKioqKip4ZW5mYl9x
dWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1MS4xNjE0NDNdICoqKioqKioqeGVuZmJfZG9fdXBk
YXRlKioqKioqKiplbnRyeQpbIDExNTEuMTYxNDQ3XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQq
KioqKioqKmVudHJ5ClsgMTE1MS4xNjE0NjhdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioq
KioqZXhpdApbIDExNTEuMTYxNDcyXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhp
dApbIDExNTEuMTYxNDc3XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTUx
LjE2MTQ4MV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTUxLjE2MTY0
OF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTEuMTYxNjU3
XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1MS4xNjE2NjFdICoqKioq
KioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1MS4xNjE2NjZdICoq
KioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTUxLjE2MTY3MV0g
KioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTEuMTYxNjc1XSAqKioq
KioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTUxLjE2MTY4MF0gKioqKioqKip4
ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1MS4xNjE2ODRdICoqKioqKioqeGVuZmJfZXZl
bnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTEuMzY5NDE2XSAqKioqKioqKnhlbmZiX2ltYWdl
YmxpdCoqKioqKioqZW50cnkKWyAxMTUxLjM2OTQzM10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioq
KioqKiplbnRyeQpbIDExNTEuMzY5NDM4XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5
KioqKioqKiplbnRyeQpbIDExNTEuMzY5NDQ0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVf
ZHB5KioqKioqKipleGl0ClsgMTE1MS4zNjk0NDldICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoq
KioqKioqZW50cnkKWyAxMTUxLjM2OTQ1NF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioq
KipleGl0ClsgMTE1MS4zNjk0NTldICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRy
eQpbIDExNTEuMzY5NDYzXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5Clsg
MTE1MS4zNjk0ODRdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTEu
MzY5NDg4XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTEuMzY5NDky
XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTUxLjM2OTQ5N10gKioqKioq
Kip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTUxLjM2OTcwOV0gKioqKioqKip4ZW5m
Yl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTEuMzY5NzE5XSAqKioqKioqKnhlbmZi
X3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1MS4zNjk3MjNdICoqKioqKioqeGVuZmJfaGFuZGxl
X3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1MS4zNjk3MjldICoqKioqKioqeGVuZmJfaGFu
ZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTUxLjM2OTczM10gKioqKioqKip4ZW5mYl9x
dWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTEuMzY5NzM4XSAqKioqKioqKnhlbmZiX3F1ZXVl
X2Z1bGwqKioqKioqKmV4aXQKWyAxMTUxLjM2OTc0Ml0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioq
KioqKipleGl0ClsgMTE1MS4zNjk3NDddICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioq
KioqZXhpdApbIDExNTEuNTczNDA5XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50
cnkKWyAxMTUxLjU3MzQyNF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDEx
NTEuNTczNDI5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpb
IDExNTEuNTczNDM1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0
ClsgMTE1MS41NzM0NDFdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAx
MTUxLjU3MzQ0NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1MS41
NzM0NDldICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTEuNTczNDUz
XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1MS41NzM0NzRdICoq
KioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTEuNTczNDc5XSAqKioqKioq
KnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTEuNTczNDgzXSAqKioqKioqKnhlbmZi
X3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTUxLjU3MzQ4N10gKioqKioqKip4ZW5mYl9pbWFnZWJs
aXQqKioqKioqKmV4aXQKWyAxMTUxLjU3MzY2NV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVy
KioqKioqKiplbnRyeQpbIDExNTEuNTczNjc0XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioq
KmVudHJ5ClsgMTE1MS41NzM2NzldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioq
KioqKmVudHJ5ClsgMTE1MS41NzM2ODRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkq
KioqKioqKmV4aXQKWyAxMTUxLjU3MzY4OV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioq
KiplbnRyeQpbIDExNTEuNTczNjkzXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4
aXQKWyAxMTUxLjU3MzY5OF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1
MS41NzM3MDJdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTEu
Nzc3NDE3XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTUxLjc3NzQz
NF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTEuNzc3NDM5XSAqKioq
KioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTEuNzc3NDQ0XSAq
KioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1MS43Nzc0NDld
ICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTUxLjc3NzQ1NF0gKioq
KioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1MS43Nzc0NThdICoqKioqKioq
eGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTEuNzc3NDYyXSAqKioqKioqKnhlbmZi
X3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1MS43Nzc0ODJdICoqKioqKioqeGVuZmJfc2Vu
ZF9ldmVudCoqKioqKioqZXhpdApbIDExNTEuNzc3NDg2XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0
ZSoqKioqKioqZXhpdApbIDExNTEuNzc3NDkxXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioq
KmV4aXQKWyAxMTUxLjc3NzQ5NV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQK
WyAxMTUxLjc3NzY3Nl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpb
IDExNTEuNzc3Njg2XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1MS43
Nzc2OTBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1
MS43Nzc2OTVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAx
MTUxLjc3NzcwMF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTEu
Nzc3NzA0XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTUxLjc3Nzcw
OV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1MS43Nzc3MTNdICoqKioq
KioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTEuOTgxNDA2XSAqKioqKioq
KnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTUxLjk4MTQyMF0gKioqKioqKip4ZW5m
Yl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTEuOTgxNDI1XSAqKioqKioqKnhlbmZiX2hhbmRs
ZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTEuOTgxNDMwXSAqKioqKioqKnhlbmZiX2hh
bmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1MS45ODE0MzZdICoqKioqKioqeGVuZmJf
cXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTUxLjk4MTQ0MV0gKioqKioqKip4ZW5mYl9xdWV1
ZV9mdWxsKioqKioqKipleGl0ClsgMTE1MS45ODE0NDVdICoqKioqKioqeGVuZmJfZG9fdXBkYXRl
KioqKioqKiplbnRyeQpbIDExNTEuOTgxNDQ5XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioq
KioqKmVudHJ5ClsgMTE1MS45ODE0NzBdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioq
ZXhpdApbIDExNTEuOTgxNDc1XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApb
IDExNTEuOTgxNDc5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTUxLjk4
MTQ4NF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTUxLjk4MTcyMl0g
KioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTEuOTgxNzMyXSAq
KioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1MS45ODE3MzddICoqKioqKioq
eGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1MS45ODE3NDJdICoqKioq
KioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTUxLjk4MTc0Nl0gKioq
KioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTEuOTgxNzUxXSAqKioqKioq
KnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTUxLjk4MTc1Nl0gKioqKioqKip4ZW5m
Yl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1MS45ODE3NjBdICoqKioqKioqeGVuZmJfZXZlbnRf
aGFuZGxlcioqKioqKioqZXhpdApbIDExNTIuMTg5NDEzXSAqKioqKioqKnhlbmZiX2ltYWdlYmxp
dCoqKioqKioqZW50cnkKWyAxMTUyLjE4OTQyOV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioq
KiplbnRyeQpbIDExNTIuMTg5NDM0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5Kioq
KioqKiplbnRyeQpbIDExNTIuMTg5NDQwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5
KioqKioqKipleGl0ClsgMTE1Mi4xODk0NDZdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioq
KioqZW50cnkKWyAxMTUyLjE4OTQ1MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipl
eGl0ClsgMTE1Mi4xODk0NTRdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpb
IDExNTIuMTg5NDU5XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1
Mi4xODk0NzldICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTIuMTg5
NDgzXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTIuMTg5NDg4XSAq
KioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTUyLjE4OTQ5Ml0gKioqKioqKip4
ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTUyLjE4OTcyM10gKioqKioqKip4ZW5mYl9l
dmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTIuMTg5NzM0XSAqKioqKioqKnhlbmZiX3Jl
ZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1Mi4xODk3MzhdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jl
c2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1Mi4xODk3NDRdICoqKioqKioqeGVuZmJfaGFuZGxl
X3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTUyLjE4OTc0OF0gKioqKioqKip4ZW5mYl9xdWV1
ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTIuMTg5NzUzXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1
bGwqKioqKioqKmV4aXQKWyAxMTUyLjE4OTc1N10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioq
KipleGl0ClsgMTE1Mi4xODk3NjJdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioq
ZXhpdApbIDExNTIuMzkzNDEyXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkK
WyAxMTUyLjM5MzQzMF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTIu
MzkzNDM0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDEx
NTIuMzkzNDQwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0Clsg
MTE1Mi4zOTM0NDZdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTUy
LjM5MzQ1MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1Mi4zOTM0
NTRdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTIuMzkzNDU4XSAq
KioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1Mi4zOTM0NzhdICoqKioq
KioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTIuMzkzNDgzXSAqKioqKioqKnhl
bmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTIuMzkzNDg3XSAqKioqKioqKnhlbmZiX3Jl
ZnJlc2gqKioqKioqKmV4aXQKWyAxMTUyLjM5MzQ5MV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQq
KioqKioqKmV4aXQKWyAxMTUyLjM5MzY4OF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioq
KioqKiplbnRyeQpbIDExNTIuMzkzNjk4XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVu
dHJ5ClsgMTE1Mi4zOTM3MDNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmVudHJ5ClsgMTE1Mi4zOTM3MDddICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioq
KioqKmV4aXQKWyAxMTUyLjM5MzcxMl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipl
bnRyeQpbIDExNTIuMzkzNzE3XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQK
WyAxMTUyLjM5MzcyMV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1Mi4z
OTM3MjZdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTIuNTk3
NDA2XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTUyLjU5NzQyMF0g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTIuNTk3NDI1XSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTIuNTk3NDMwXSAqKioq
KioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1Mi41OTc0MzVdICoq
KioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTUyLjU5NzQ0MF0gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1Mi41OTc0NDRdICoqKioqKioqeGVu
ZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTIuNTk3NDQ4XSAqKioqKioqKnhlbmZiX3Nl
bmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1Mi41OTc0NjldICoqKioqKioqeGVuZmJfc2VuZF9l
dmVudCoqKioqKioqZXhpdApbIDExNTIuNTk3NDc0XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoq
KioqKioqZXhpdApbIDExNTIuNTk3NDc4XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4
aXQKWyAxMTUyLjU5NzQ4Ml0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAx
MTUyLjU5NzY3NV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDEx
NTIuNTk3Njg1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1Mi41OTc2
OTBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1Mi41
OTc2OTVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTUy
LjU5NzcwMF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTIuNTk3
NzA0XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTUyLjU5NzcwOF0g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1Mi41OTc3MTNdICoqKioqKioq
eGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTIuODAxNDA5XSAqKioqKioqKnhl
bmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTUyLjgwMTQyNF0gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTIuODAxNDI5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTIuODAxNDM0XSAqKioqKioqKnhlbmZiX2hhbmRs
ZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1Mi44MDE0NDBdICoqKioqKioqeGVuZmJfcXVl
dWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTUyLjgwMTQ0NF0gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKipleGl0ClsgMTE1Mi44MDE0NDhdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioq
KioqKiplbnRyeQpbIDExNTIuODAxNDUzXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioq
KmVudHJ5ClsgMTE1Mi44MDE0NzVdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhp
dApbIDExNTIuODAxNDc5XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDEx
NTIuODAxNDgzXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTUyLjgwMTQ4
OF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTUyLjgwMTY4NF0gKioq
KioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTIuODAxNjkyXSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1Mi44MDE2OTddICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1Mi44MDE3MDJdICoqKioqKioq
eGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTUyLjgwMTcwN10gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTIuODAxNzExXSAqKioqKioqKnhl
bmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTUyLjgwMTcxNl0gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKipleGl0ClsgMTE1Mi44MDE3MjBdICoqKioqKioqeGVuZmJfZXZlbnRfaGFu
ZGxlcioqKioqKioqZXhpdApbIDExNTMuMDA1NDAzXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoq
KioqKioqZW50cnkKWyAxMTUzLjAwNTQxN10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
bnRyeQpbIDExNTMuMDA1NDIxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KiplbnRyeQpbIDExNTMuMDA1NDI2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5Kioq
KioqKipleGl0ClsgMTE1My4wMDU0MzJdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioq
ZW50cnkKWyAxMTUzLjAwNTQzN10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0
ClsgMTE1My4wMDU0NDFdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDEx
NTMuMDA1NDQ1XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1My4w
MDU0NjVdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTMuMDA1NDcw
XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTMuMDA1NDc0XSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTUzLjAwNTQ3OF0gKioqKioqKip4ZW5m
Yl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTUzLjAwNTY3Nl0gKioqKioqKip4ZW5mYl9ldmVu
dF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTMuMDA1Njg2XSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmVudHJ5ClsgMTE1My4wMDU2OTBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1My4wMDU2OTVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jl
c2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTUzLjAwNTcwMF0gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKiplbnRyeQpbIDExNTMuMDA1NzA1XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwq
KioqKioqKmV4aXQKWyAxMTUzLjAwNTcwOV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
eGl0ClsgMTE1My4wMDU3MTNdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhp
dApbIDExNTMuMjA5NDA2XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAx
MTUzLjIwOTQyMV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTMuMjA5
NDI2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTMu
MjA5NDMxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1
My4yMDk0MzddICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTUzLjIw
OTQ0MV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1My4yMDk0NDVd
ICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTMuMjA5NDUwXSAqKioq
KioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1My4yMDk0NzJdICoqKioqKioq
eGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTMuMjA5NDc3XSAqKioqKioqKnhlbmZi
X2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTMuMjA5NDgxXSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmV4aXQKWyAxMTUzLjIwOTQ4NV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioq
KioqKmV4aXQKWyAxMTUzLjIwOTYyNl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioq
KiplbnRyeQpbIDExNTMuMjA5NjM0XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5
ClsgMTE1My4yMDk2MzldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVu
dHJ5ClsgMTE1My4yMDk2NDRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmV4aXQKWyAxMTUzLjIwOTY0OF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRy
eQpbIDExNTMuMjA5NjUzXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAx
MTUzLjIwOTY1N10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1My4yMDk2
NjJdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTMuNDEzNDA4
XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTUzLjQxMzQyM10gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTMuNDEzNDI4XSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTMuNDEzNDMzXSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1My40MTM0MzldICoqKioq
KioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTUzLjQxMzQ0NF0gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1My40MTM0NDhdICoqKioqKioqeGVuZmJf
ZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTMuNDEzNDUyXSAqKioqKioqKnhlbmZiX3NlbmRf
ZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1My40MTM0NzNdICoqKioqKioqeGVuZmJfc2VuZF9ldmVu
dCoqKioqKioqZXhpdApbIDExNTMuNDEzNDc3XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioq
KioqZXhpdApbIDExNTMuNDEzNDgyXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQK
WyAxMTUzLjQxMzQ4Nl0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTUz
LjQxMzY5M10gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTMu
NDEzNzAzXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1My40MTM3MDdd
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1My40MTM3
MTJdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTUzLjQx
MzcxN10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTMuNDEzNzIx
XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTUzLjQxMzcyNl0gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1My40MTM3MzBdICoqKioqKioqeGVu
ZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTMuNjIxNDA2XSAqKioqKioqKnhlbmZi
X2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTUzLjYyMTQyMF0gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKiplbnRyeQpbIDExNTMuNjIxNDI1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKiplbnRyeQpbIDExNTMuNjIxNDMxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1My42MjE0MzZdICoqKioqKioqeGVuZmJfcXVldWVf
ZnVsbCoqKioqKioqZW50cnkKWyAxMTUzLjYyMTQ0MV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKipleGl0ClsgMTE1My42MjE0NDVdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioq
KiplbnRyeQpbIDExNTMuNjIxNDQ5XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVu
dHJ5ClsgMTE1My42MjE0NzBdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApb
IDExNTMuNjIxNDc1XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTMu
NjIxNDc5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTUzLjYyMTQ4M10g
KioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTUzLjYyMTY3Nl0gKioqKioq
Kip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTMuNjIxNjg1XSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1My42MjE2ODldICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1My42MjE2OTRdICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTUzLjYyMTY5OV0gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTMuNjIxNzAzXSAqKioqKioqKnhlbmZi
X3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTUzLjYyMTcwOF0gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKipleGl0ClsgMTE1My42MjE3MTJdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxl
cioqKioqKioqZXhpdApbIDExNTMuODI1NDA4XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioq
KioqZW50cnkKWyAxMTUzLjgyNTQyMl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRy
eQpbIDExNTMuODI1NDI3XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
bnRyeQpbIDExNTMuODI1NDMzXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KipleGl0ClsgMTE1My44MjU0MzhdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50
cnkKWyAxMTUzLjgyNTQ0M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0Clsg
MTE1My44MjU0NDddICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTMu
ODI1NDUxXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1My44MjU0
NzNdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTMuODI1NDc4XSAq
KioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTMuODI1NDgyXSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTUzLjgyNTQ4Nl0gKioqKioqKip4ZW5mYl9p
bWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTUzLjgyNTY4OV0gKioqKioqKip4ZW5mYl9ldmVudF9o
YW5kbGVyKioqKioqKiplbnRyeQpbIDExNTMuODI1Njk5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmVudHJ5ClsgMTE1My44MjU3MDNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmVudHJ5ClsgMTE1My44MjU3MDhdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmV4aXQKWyAxMTUzLjgyNTcxM10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKiplbnRyeQpbIDExNTMuODI1NzE3XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioq
KioqKmV4aXQKWyAxMTUzLjgyNTcyMl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0
ClsgMTE1My44MjU3MjZdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApb
IDExNTQuMDMzNDAzXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU0
LjAzMzQxN10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTQuMDMzNDIx
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTQuMDMz
NDI3XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1NC4w
MzM0MzJdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU0LjAzMzQz
Nl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1NC4wMzM0NDBdICoq
KioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTQuMDMzNDQ0XSAqKioqKioq
KnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1NC4wMzM0NjZdICoqKioqKioqeGVu
ZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTQuMDMzNDcwXSAqKioqKioqKnhlbmZiX2Rv
X3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTQuMDMzNDc1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmV4aXQKWyAxMTU0LjAzMzQ3OV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioq
KmV4aXQKWyAxMTU0LjAzMzY1M10gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKipl
bnRyeQpbIDExNTQuMDMzNjYyXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5Clsg
MTE1NC4wMzM2NjddICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5
ClsgMTE1NC4wMzM2NzJdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4
aXQKWyAxMTU0LjAzMzY3Nl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpb
IDExNTQuMDMzNjgxXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU0
LjAzMzY4Nl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1NC4wMzM2OTBd
ICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTQuMjQxNDE1XSAq
KioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU0LjI0MTQzMl0gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTQuMjQxNDM2XSAqKioqKioqKnhlbmZi
X2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTQuMjQxNDQyXSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1NC4yNDE0NDddICoqKioqKioq
eGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU0LjI0MTQ1Ml0gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1NC4yNDE0NTZdICoqKioqKioqeGVuZmJfZG9f
dXBkYXRlKioqKioqKiplbnRyeQpbIDExNTQuMjQxNDYxXSAqKioqKioqKnhlbmZiX3NlbmRfZXZl
bnQqKioqKioqKmVudHJ5ClsgMTE1NC4yNDE0ODFdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoq
KioqKioqZXhpdApbIDExNTQuMjQxNDg1XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioq
ZXhpdApbIDExNTQuMjQxNDg5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAx
MTU0LjI0MTQ5M10gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU0LjI0
MTY2NV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTQuMjQx
Njc1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1NC4yNDE2NzldICoq
KioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1NC4yNDE2ODRd
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU0LjI0MTY4
OV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTQuMjQxNjkzXSAq
KioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU0LjI0MTY5OF0gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1NC4yNDE3MDJdICoqKioqKioqeGVuZmJf
ZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTQuNDQ5NDEyXSAqKioqKioqKnhlbmZiX2lt
YWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU0LjQ0OTQyOF0gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKiplbnRyeQpbIDExNTQuNDQ5NDMzXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVf
ZHB5KioqKioqKiplbnRyeQpbIDExNTQuNDQ5NDQwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKipleGl0ClsgMTE1NC40NDk0NDVdICoqKioqKioqeGVuZmJfcXVldWVfZnVs
bCoqKioqKioqZW50cnkKWyAxMTU0LjQ0OTQ0OV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKipleGl0ClsgMTE1NC40NDk0NTRdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKipl
bnRyeQpbIDExNTQuNDQ5NDU4XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5
ClsgMTE1NC40NDk0ODBdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDEx
NTQuNDQ5NDg0XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTQuNDQ5
NDg5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU0LjQ0OTQ5M10gKioq
KioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU0LjQ0OTcwMF0gKioqKioqKip4
ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTQuNDQ5NzExXSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1NC40NDk3MTVdICoqKioqKioqeGVuZmJfaGFu
ZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1NC40NDk3MjBdICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU0LjQ0OTcyNV0gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTQuNDQ5NzI5XSAqKioqKioqKnhlbmZiX3F1
ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU0LjQ0OTczNF0gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKipleGl0ClsgMTE1NC40NDk3MzhdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioq
KioqKioqZXhpdApbIDExNTQuNjUzNDM0XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioq
ZW50cnkKWyAxMTU0LjY1MzQ1MV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpb
IDExNTQuNjUzNDU2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRy
eQpbIDExNTQuNjUzNDYyXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
eGl0ClsgMTE1NC42NTM0NjhdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkK
WyAxMTU0LjY1MzQ3M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1
NC42NTM0NzddICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTQuNjUz
NDgxXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1NC42NTM1MDRd
ICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTQuNjUzNTA5XSAqKioq
KioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTQuNjUzNTEzXSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU0LjY1MzUxN10gKioqKioqKip4ZW5mYl9pbWFn
ZWJsaXQqKioqKioqKmV4aXQKWyAxMTU0LjY1Mzc4Ml0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5k
bGVyKioqKioqKiplbnRyeQpbIDExNTQuNjUzNzkwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmVudHJ5ClsgMTE1NC42NTM3OTVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkq
KioqKioqKmVudHJ5ClsgMTE1NC42NTM4MDBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmV4aXQKWyAxMTU0LjY1MzgwNF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKiplbnRyeQpbIDExNTQuNjUzODA5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioq
KmV4aXQKWyAxMTU0LjY1MzgxM10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0Clsg
MTE1NC42NTM4MTddICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDEx
NTQuODU3NDI1XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU0Ljg1
NzQ0M10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTQuODU3NDQ4XSAq
KioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTQuODU3NDU0
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1NC44NTc0
NjBdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU0Ljg1NzQ2NF0g
KioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1NC44NTc0NjldICoqKioq
KioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTQuODU3NDczXSAqKioqKioqKnhl
bmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1NC44NTc0OTZdICoqKioqKioqeGVuZmJf
c2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTQuODU3NTAxXSAqKioqKioqKnhlbmZiX2RvX3Vw
ZGF0ZSoqKioqKioqZXhpdApbIDExNTQuODU3NTA1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmV4aXQKWyAxMTU0Ljg1NzUwOV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4
aXQKWyAxMTU0Ljg1NzcxN10gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRy
eQpbIDExNTQuODU3NzI4XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1
NC44NTc3MzNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5Clsg
MTE1NC44NTc3MzhdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQK
WyAxMTU0Ljg1Nzc0M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDEx
NTQuODU3NzQ4XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU0Ljg1
Nzc1M10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1NC44NTc3NTddICoq
KioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTUuMDYxNDE3XSAqKioq
KioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU1LjA2MTQzNV0gKioqKioqKip4
ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTUuMDYxNDQwXSAqKioqKioqKnhlbmZiX2hh
bmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTUuMDYxNDQ2XSAqKioqKioqKnhlbmZi
X2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1NS4wNjE0NTFdICoqKioqKioqeGVu
ZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU1LjA2MTQ1Nl0gKioqKioqKip4ZW5mYl9x
dWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1NS4wNjE0NjBdICoqKioqKioqeGVuZmJfZG9fdXBk
YXRlKioqKioqKiplbnRyeQpbIDExNTUuMDYxNDY0XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQq
KioqKioqKmVudHJ5ClsgMTE1NS4wNjE0ODddICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioq
KioqZXhpdApbIDExNTUuMDYxNDkxXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhp
dApbIDExNTUuMDYxNDk2XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU1
LjA2MTUwMF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU1LjA2MTcx
MF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTUuMDYxNzIx
XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1NS4wNjE3MjZdICoqKioq
KioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1NS4wNjE3MzJdICoq
KioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU1LjA2MTczN10g
KioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTUuMDYxNzQxXSAqKioq
KioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU1LjA2MTc0Nl0gKioqKioqKip4
ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1NS4wNjE3NTBdICoqKioqKioqeGVuZmJfZXZl
bnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTUuMjY5NDE2XSAqKioqKioqKnhlbmZiX2ltYWdl
YmxpdCoqKioqKioqZW50cnkKWyAxMTU1LjI2OTQzNF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioq
KioqKiplbnRyeQpbIDExNTUuMjY5NDM5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5
KioqKioqKiplbnRyeQpbIDExNTUuMjY5NDQ1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVf
ZHB5KioqKioqKipleGl0ClsgMTE1NS4yNjk0NTBdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoq
KioqKioqZW50cnkKWyAxMTU1LjI2OTQ1NF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioq
KipleGl0ClsgMTE1NS4yNjk0NTldICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRy
eQpbIDExNTUuMjY5NDYzXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5Clsg
MTE1NS4yNjk0ODddICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTUu
MjY5NDkxXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTUuMjY5NDk2
XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU1LjI2OTUwMF0gKioqKioq
Kip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU1LjI2OTcyNV0gKioqKioqKip4ZW5m
Yl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTUuMjY5NzM2XSAqKioqKioqKnhlbmZi
X3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1NS4yNjk3NDFdICoqKioqKioqeGVuZmJfaGFuZGxl
X3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1NS4yNjk3NDZdICoqKioqKioqeGVuZmJfaGFu
ZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU1LjI2OTc1MV0gKioqKioqKip4ZW5mYl9x
dWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTUuMjY5NzU1XSAqKioqKioqKnhlbmZiX3F1ZXVl
X2Z1bGwqKioqKioqKmV4aXQKWyAxMTU1LjI2OTc2MF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioq
KioqKipleGl0ClsgMTE1NS4yNjk3NjRdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioq
KioqZXhpdApbIDExNTUuNDczNDIxXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50
cnkKWyAxMTU1LjQ3MzQzOV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDEx
NTUuNDczNDQ0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpb
IDExNTUuNDczNDUwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0
ClsgMTE1NS40NzM0NTZdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAx
MTU1LjQ3MzQ2MV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1NS40
NzM0NjVdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTUuNDczNDY5
XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1NS40NzM0OTJdICoq
KioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTUuNDczNDk3XSAqKioqKioq
KnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTUuNDczNTAxXSAqKioqKioqKnhlbmZi
X3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU1LjQ3MzUwNV0gKioqKioqKip4ZW5mYl9pbWFnZWJs
aXQqKioqKioqKmV4aXQKWyAxMTU1LjQ3MzczNV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVy
KioqKioqKiplbnRyeQpbIDExNTUuNDczNzQ1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioq
KmVudHJ5ClsgMTE1NS40NzM3NTBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioq
KioqKmVudHJ5ClsgMTE1NS40NzM3NTZdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkq
KioqKioqKmV4aXQKWyAxMTU1LjQ3Mzc2MV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioq
KiplbnRyeQpbIDExNTUuNDczNzY1XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4
aXQKWyAxMTU1LjQ3Mzc3MF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1
NS40NzM3NzRdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTUu
Njc3NDE0XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU1LjY3NzQz
MV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTUuNjc3NDM2XSAqKioq
KioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTUuNjc3NDQyXSAq
KioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1NS42Nzc0NDhd
ICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU1LjY3NzQ1Ml0gKioq
KioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1NS42Nzc0NTZdICoqKioqKioq
eGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTUuNjc3NDYxXSAqKioqKioqKnhlbmZi
X3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1NS42Nzc0ODJdICoqKioqKioqeGVuZmJfc2Vu
ZF9ldmVudCoqKioqKioqZXhpdApbIDExNTUuNjc3NDg2XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0
ZSoqKioqKioqZXhpdApbIDExNTUuNjc3NDkxXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioq
KmV4aXQKWyAxMTU1LjY3NzQ5NV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQK
WyAxMTU1LjY3NzcwNV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpb
IDExNTUuNjc3NzE1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1NS42
Nzc3MjBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1
NS42Nzc3MjVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAx
MTU1LjY3NzczMF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTUu
Njc3NzM0XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU1LjY3Nzcz
OV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1NS42Nzc3NDNdICoqKioq
KioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTUuODgxNDE0XSAqKioqKioq
KnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU1Ljg4MTQzM10gKioqKioqKip4ZW5m
Yl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTUuODgxNDM4XSAqKioqKioqKnhlbmZiX2hhbmRs
ZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTUuODgxNDQ0XSAqKioqKioqKnhlbmZiX2hh
bmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1NS44ODE0NDldICoqKioqKioqeGVuZmJf
cXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU1Ljg4MTQ1NF0gKioqKioqKip4ZW5mYl9xdWV1
ZV9mdWxsKioqKioqKipleGl0ClsgMTE1NS44ODE0NThdICoqKioqKioqeGVuZmJfZG9fdXBkYXRl
KioqKioqKiplbnRyeQpbIDExNTUuODgxNDYzXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioq
KioqKmVudHJ5ClsgMTE1NS44ODE0ODddICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioq
ZXhpdApbIDExNTUuODgxNDkxXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApb
IDExNTUuODgxNDk1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU1Ljg4
MTQ5OV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU1Ljg4MTc2M10g
KioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTUuODgxNzcxXSAq
KioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1NS44ODE3NzZdICoqKioqKioq
eGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1NS44ODE3ODFdICoqKioq
KioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU1Ljg4MTc4Nl0gKioq
KioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTUuODgxNzkwXSAqKioqKioq
KnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU1Ljg4MTc5NV0gKioqKioqKip4ZW5m
Yl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1NS44ODE3OTldICoqKioqKioqeGVuZmJfZXZlbnRf
aGFuZGxlcioqKioqKioqZXhpdApbIDExNTYuMDg1NDEyXSAqKioqKioqKnhlbmZiX2ltYWdlYmxp
dCoqKioqKioqZW50cnkKWyAxMTU2LjA4NTQyOV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioq
KiplbnRyeQpbIDExNTYuMDg1NDM0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5Kioq
KioqKiplbnRyeQpbIDExNTYuMDg1NDQwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5
KioqKioqKipleGl0ClsgMTE1Ni4wODU0NDZdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioq
KioqZW50cnkKWyAxMTU2LjA4NTQ1MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipl
eGl0ClsgMTE1Ni4wODU0NTRdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpb
IDExNTYuMDg1NDU5XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1
Ni4wODU0NzhdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTYuMDg1
NDgzXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTYuMDg1NDg3XSAq
KioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU2LjA4NTQ5Ml0gKioqKioqKip4
ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU2LjA4NTY3OF0gKioqKioqKip4ZW5mYl9l
dmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTYuMDg1Njg5XSAqKioqKioqKnhlbmZiX3Jl
ZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1Ni4wODU2OTRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jl
c2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1Ni4wODU2OTldICoqKioqKioqeGVuZmJfaGFuZGxl
X3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU2LjA4NTcwNF0gKioqKioqKip4ZW5mYl9xdWV1
ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTYuMDg1NzA5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1
bGwqKioqKioqKmV4aXQKWyAxMTU2LjA4NTcxM10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioq
KipleGl0ClsgMTE1Ni4wODU3MThdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioq
ZXhpdApbIDExNTYuMjg5NDA3XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkK
WyAxMTU2LjI4OTQyMl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTYu
Mjg5NDI2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDEx
NTYuMjg5NDMyXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0Clsg
MTE1Ni4yODk0MzddICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU2
LjI4OTQ0Ml0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1Ni4yODk0
NDZdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTYuMjg5NDUwXSAq
KioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1Ni4yODk0NzFdICoqKioq
KioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTYuMjg5NDc2XSAqKioqKioqKnhl
bmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTYuMjg5NDgwXSAqKioqKioqKnhlbmZiX3Jl
ZnJlc2gqKioqKioqKmV4aXQKWyAxMTU2LjI4OTQ4NF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQq
KioqKioqKmV4aXQKWyAxMTU2LjI4OTY4Ml0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioq
KioqKiplbnRyeQpbIDExNTYuMjg5NjkyXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVu
dHJ5ClsgMTE1Ni4yODk2OTZdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmVudHJ5ClsgMTE1Ni4yODk3MDFdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioq
KioqKmV4aXQKWyAxMTU2LjI4OTcwNl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipl
bnRyeQpbIDExNTYuMjg5NzExXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQK
WyAxMTU2LjI4OTcxNV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1Ni4y
ODk3MTldICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTYuNDkz
NDA0XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU2LjQ5MzQxOV0g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTYuNDkzNDI1XSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTYuNDkzNDMwXSAqKioq
KioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1Ni40OTM0MzZdICoq
KioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU2LjQ5MzQ0MF0gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1Ni40OTM0NDRdICoqKioqKioqeGVu
ZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTYuNDkzNDQ5XSAqKioqKioqKnhlbmZiX3Nl
bmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1Ni40OTM0NzFdICoqKioqKioqeGVuZmJfc2VuZF9l
dmVudCoqKioqKioqZXhpdApbIDExNTYuNDkzNDc2XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoq
KioqKioqZXhpdApbIDExNTYuNDkzNDgwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4
aXQKWyAxMTU2LjQ5MzQ4NF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAx
MTU2LjQ5MzY5Ml0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDEx
NTYuNDkzNzAxXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1Ni40OTM3
MDVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1Ni40
OTM3MTBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU2
LjQ5MzcxNV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTYuNDkz
NzE5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU2LjQ5MzcyNF0g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1Ni40OTM3MjhdICoqKioqKioq
eGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTYuNzAxNDA5XSAqKioqKioqKnhl
bmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU2LjcwMTQyNl0gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTYuNzAxNDMxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTYuNzAxNDM3XSAqKioqKioqKnhlbmZiX2hhbmRs
ZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1Ni43MDE0NDJdICoqKioqKioqeGVuZmJfcXVl
dWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU2LjcwMTQ0N10gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKipleGl0ClsgMTE1Ni43MDE0NTFdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioq
KioqKiplbnRyeQpbIDExNTYuNzAxNDU2XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioq
KmVudHJ5ClsgMTE1Ni43MDE0NzZdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhp
dApbIDExNTYuNzAxNDgwXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDEx
NTYuNzAxNDg0XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU2LjcwMTQ4
OF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU2LjcwMTY1Nl0gKioq
KioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTYuNzAxNjY3XSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1Ni43MDE2NzJdICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1Ni43MDE2NzddICoqKioqKioq
eGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU2LjcwMTY4MV0gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTYuNzAxNjg2XSAqKioqKioqKnhl
bmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU2LjcwMTY5MV0gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKipleGl0ClsgMTE1Ni43MDE2OTVdICoqKioqKioqeGVuZmJfZXZlbnRfaGFu
ZGxlcioqKioqKioqZXhpdApbIDExNTYuOTA5NDA1XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoq
KioqKioqZW50cnkKWyAxMTU2LjkwOTQyMV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
bnRyeQpbIDExNTYuOTA5NDI2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KiplbnRyeQpbIDExNTYuOTA5NDMyXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5Kioq
KioqKipleGl0ClsgMTE1Ni45MDk0MzhdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioq
ZW50cnkKWyAxMTU2LjkwOTQ0Ml0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0
ClsgMTE1Ni45MDk0NDddICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDEx
NTYuOTA5NDUxXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1Ni45
MDk0NzBdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTYuOTA5NDc1
XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTYuOTA5NDc5XSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU2LjkwOTQ4M10gKioqKioqKip4ZW5m
Yl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU2LjkwOTY0OV0gKioqKioqKip4ZW5mYl9ldmVu
dF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTYuOTA5NjU4XSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmVudHJ5ClsgMTE1Ni45MDk2NjNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1Ni45MDk2NjhdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jl
c2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU2LjkwOTY3M10gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKiplbnRyeQpbIDExNTYuOTA5Njc3XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwq
KioqKioqKmV4aXQKWyAxMTU2LjkwOTY4Ml0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
eGl0ClsgMTE1Ni45MDk2ODddICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhp
dApbIDExNTcuMTE3NDA5XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAx
MTU3LjExNzQyNV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTcuMTE3
NDMwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTcu
MTE3NDM2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1
Ny4xMTc0NDFdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU3LjEx
NzQ0Nl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1Ny4xMTc0NTBd
ICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTcuMTE3NDU0XSAqKioq
KioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1Ny4xMTc0NzRdICoqKioqKioq
eGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTcuMTE3NDc5XSAqKioqKioqKnhlbmZi
X2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTcuMTE3NDgzXSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmV4aXQKWyAxMTU3LjExNzQ4N10gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioq
KioqKmV4aXQKWyAxMTU3LjExNzY1N10gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioq
KiplbnRyeQpbIDExNTcuMTE3NjY3XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5
ClsgMTE1Ny4xMTc2NzJdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVu
dHJ5ClsgMTE1Ny4xMTc2NzddICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmV4aXQKWyAxMTU3LjExNzY4MV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRy
eQpbIDExNTcuMTE3Njg2XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAx
MTU3LjExNzY5MF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1Ny4xMTc2
OTVdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTcuMzIxNDA2
XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU3LjMyMTQyMl0gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTcuMzIxNDI3XSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTcuMzIxNDMzXSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1Ny4zMjE0MzhdICoqKioq
KioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU3LjMyMTQ0Ml0gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1Ny4zMjE0NDZdICoqKioqKioqeGVuZmJf
ZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTcuMzIxNDUxXSAqKioqKioqKnhlbmZiX3NlbmRf
ZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1Ny4zMjE0NzNdICoqKioqKioqeGVuZmJfc2VuZF9ldmVu
dCoqKioqKioqZXhpdApbIDExNTcuMzIxNDc3XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioq
KioqZXhpdApbIDExNTcuMzIxNDgxXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQK
WyAxMTU3LjMyMTQ4Nl0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU3
LjMyMTcwNl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTcu
MzIxNzE1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1Ny4zMjE3MjBd
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1Ny4zMjE3
MjVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU3LjMy
MTcyOV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTcuMzIxNzM0
XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU3LjMyMTczOF0gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1Ny4zMjE3NDNdICoqKioqKioqeGVu
ZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTcuNTI1NDEwXSAqKioqKioqKnhlbmZi
X2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU3LjUyNTQyNV0gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKiplbnRyeQpbIDExNTcuNTI1NDMwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKiplbnRyeQpbIDExNTcuNTI1NDM2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1Ny41MjU0NDFdICoqKioqKioqeGVuZmJfcXVldWVf
ZnVsbCoqKioqKioqZW50cnkKWyAxMTU3LjUyNTQ0Nl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKipleGl0ClsgMTE1Ny41MjU0NTBdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioq
KiplbnRyeQpbIDExNTcuNTI1NDU0XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVu
dHJ5ClsgMTE1Ny41MjU0NzddICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApb
IDExNTcuNTI1NDgxXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTcu
NTI1NDg1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU3LjUyNTQ5MF0g
KioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU3LjUyNTY2OF0gKioqKioq
Kip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTcuNTI1Njc3XSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1Ny41MjU2ODFdICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1Ny41MjU2ODZdICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU3LjUyNTY5MV0gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTcuNTI1Njk1XSAqKioqKioqKnhlbmZi
X3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU3LjUyNTcwMF0gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKipleGl0ClsgMTE1Ny41MjU3MDRdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxl
cioqKioqKioqZXhpdApbIDExNTcuNzI5NDExXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioq
KioqZW50cnkKWyAxMTU3LjcyOTQyOF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRy
eQpbIDExNTcuNzI5NDMzXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
bnRyeQpbIDExNTcuNzI5NDQwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KipleGl0ClsgMTE1Ny43Mjk0NDVdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50
cnkKWyAxMTU3LjcyOTQ1MF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0Clsg
MTE1Ny43Mjk0NTRdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTcu
NzI5NDU5XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1Ny43Mjk0
ODJdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTcuNzI5NDg2XSAq
KioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTcuNzI5NDkwXSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU3LjcyOTQ5NV0gKioqKioqKip4ZW5mYl9p
bWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU3LjcyOTcxMl0gKioqKioqKip4ZW5mYl9ldmVudF9o
YW5kbGVyKioqKioqKiplbnRyeQpbIDExNTcuNzI5NzIzXSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmVudHJ5ClsgMTE1Ny43Mjk3MjhdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmVudHJ5ClsgMTE1Ny43Mjk3MzNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU3LjcyOTczOF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKiplbnRyeQpbIDExNTcuNzI5NzQyXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioq
KioqKmV4aXQKWyAxMTU3LjcyOTc0N10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0
ClsgMTE1Ny43Mjk3NTFdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApb
IDExNTcuOTMzNDA0XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU3
LjkzMzQyMl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTcuOTMzNDI2
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTcuOTMz
NDMzXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1Ny45
MzM0MzhdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU3LjkzMzQ0
M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1Ny45MzM0NDddICoq
KioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTcuOTMzNDUyXSAqKioqKioq
KnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1Ny45MzM0NzVdICoqKioqKioqeGVu
ZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTcuOTMzNDc5XSAqKioqKioqKnhlbmZiX2Rv
X3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTcuOTMzNDg0XSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmV4aXQKWyAxMTU3LjkzMzQ4OF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioq
KmV4aXQKWyAxMTU3LjkzMzc0MV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKipl
bnRyeQpbIDExNTcuOTMzNzUyXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5Clsg
MTE1Ny45MzM3NThdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5
ClsgMTE1Ny45MzM3NjNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4
aXQKWyAxMTU3LjkzMzc2OF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpb
IDExNTcuOTMzNzcyXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU3
LjkzMzc3N10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1Ny45MzM3ODFd
ICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTguMTM3NDExXSAq
KioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU4LjEzNzQyN10gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTguMTM3NDMyXSAqKioqKioqKnhlbmZi
X2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTguMTM3NDM5XSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1OC4xMzc0NDRdICoqKioqKioq
eGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU4LjEzNzQ0OF0gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1OC4xMzc0NTJdICoqKioqKioqeGVuZmJfZG9f
dXBkYXRlKioqKioqKiplbnRyeQpbIDExNTguMTM3NDU3XSAqKioqKioqKnhlbmZiX3NlbmRfZXZl
bnQqKioqKioqKmVudHJ5ClsgMTE1OC4xMzc0NzZdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoq
KioqKioqZXhpdApbIDExNTguMTM3NDgwXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioq
ZXhpdApbIDExNTguMTM3NDg1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAx
MTU4LjEzNzQ4OV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU4LjEz
NzY2NF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTguMTM3
Njc0XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1OC4xMzc2NzhdICoq
KioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1OC4xMzc2ODNd
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU4LjEzNzY4
OF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTguMTM3NjkyXSAq
KioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU4LjEzNzY5N10gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1OC4xMzc3MDFdICoqKioqKioqeGVuZmJf
ZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTguMzQxNDA3XSAqKioqKioqKnhlbmZiX2lt
YWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU4LjM0MTQyMV0gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKiplbnRyeQpbIDExNTguMzQxNDI1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVf
ZHB5KioqKioqKiplbnRyeQpbIDExNTguMzQxNDMxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKipleGl0ClsgMTE1OC4zNDE0MzddICoqKioqKioqeGVuZmJfcXVldWVfZnVs
bCoqKioqKioqZW50cnkKWyAxMTU4LjM0MTQ0MV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKipleGl0ClsgMTE1OC4zNDE0NDVdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKipl
bnRyeQpbIDExNTguMzQxNDUwXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5
ClsgMTE1OC4zNDE0NzFdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDEx
NTguMzQxNDc1XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTguMzQx
NDc5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU4LjM0MTQ4M10gKioq
KioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU4LjM0MTY2N10gKioqKioqKip4
ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTguMzQxNjc3XSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1OC4zNDE2ODFdICoqKioqKioqeGVuZmJfaGFu
ZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1OC4zNDE2ODZdICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU4LjM0MTY5MV0gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTguMzQxNjk1XSAqKioqKioqKnhlbmZiX3F1
ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU4LjM0MTcwMF0gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKipleGl0ClsgMTE1OC4zNDE3MDRdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioq
KioqKioqZXhpdApbIDExNTguNTQ5NDEwXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioq
ZW50cnkKWyAxMTU4LjU0OTQyNl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpb
IDExNTguNTQ5NDMxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRy
eQpbIDExNTguNTQ5NDM2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
eGl0ClsgMTE1OC41NDk0NDJdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkK
WyAxMTU4LjU0OTQ0Nl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1
OC41NDk0NTFdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTguNTQ5
NDU1XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1OC41NDk0NzRd
ICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTguNTQ5NDc4XSAqKioq
KioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTguNTQ5NDgzXSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU4LjU0OTQ4N10gKioqKioqKip4ZW5mYl9pbWFn
ZWJsaXQqKioqKioqKmV4aXQKWyAxMTU4LjU0OTY0OV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5k
bGVyKioqKioqKiplbnRyeQpbIDExNTguNTQ5NjU5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmVudHJ5ClsgMTE1OC41NDk2NjNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkq
KioqKioqKmVudHJ5ClsgMTE1OC41NDk2NjhdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmV4aXQKWyAxMTU4LjU0OTY3M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKiplbnRyeQpbIDExNTguNTQ5Njc4XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioq
KmV4aXQKWyAxMTU4LjU0OTY4Ml0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0Clsg
MTE1OC41NDk2ODddICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDEx
NTguNzUzNDEwXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU4Ljc1
MzQyNl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTguNzUzNDMwXSAq
KioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTguNzUzNDM2
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1OC43NTM0
NDFdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU4Ljc1MzQ0NV0g
KioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1OC43NTM0NTBdICoqKioq
KioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTguNzUzNDU0XSAqKioqKioqKnhl
bmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1OC43NTM0NzNdICoqKioqKioqeGVuZmJf
c2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTguNzUzNDc3XSAqKioqKioqKnhlbmZiX2RvX3Vw
ZGF0ZSoqKioqKioqZXhpdApbIDExNTguNzUzNDgyXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmV4aXQKWyAxMTU4Ljc1MzQ4NV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4
aXQKWyAxMTU4Ljc1MzY0OF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRy
eQpbIDExNTguNzUzNjU4XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1
OC43NTM2NjNdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5Clsg
MTE1OC43NTM2NjhdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQK
WyAxMTU4Ljc1MzY3M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDEx
NTguNzUzNjc3XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU4Ljc1
MzY4Ml0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1OC43NTM2ODZdICoq
KioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTguOTU3NDAzXSAqKioq
KioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU4Ljk1NzQxOV0gKioqKioqKip4
ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTguOTU3NDIzXSAqKioqKioqKnhlbmZiX2hh
bmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTguOTU3NDI5XSAqKioqKioqKnhlbmZi
X2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1OC45NTc0MzVdICoqKioqKioqeGVu
ZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU4Ljk1NzQzOV0gKioqKioqKip4ZW5mYl9x
dWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1OC45NTc0NDNdICoqKioqKioqeGVuZmJfZG9fdXBk
YXRlKioqKioqKiplbnRyeQpbIDExNTguOTU3NDQ4XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQq
KioqKioqKmVudHJ5ClsgMTE1OC45NTc0NzFdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioq
KioqZXhpdApbIDExNTguOTU3NDc2XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhp
dApbIDExNTguOTU3NDgwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU4
Ljk1NzQ4NF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU4Ljk1NzY4
NV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTguOTU3Njk0
XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1OC45NTc2OTldICoqKioq
KioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1OC45NTc3MDRdICoq
KioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU4Ljk1NzcwOV0g
KioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTguOTU3NzEzXSAqKioq
KioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU4Ljk1NzcxOF0gKioqKioqKip4
ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1OC45NTc3MjJdICoqKioqKioqeGVuZmJfZXZl
bnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTkuMTYxNDA5XSAqKioqKioqKnhlbmZiX2ltYWdl
YmxpdCoqKioqKioqZW50cnkKWyAxMTU5LjE2MTQyN10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioq
KioqKiplbnRyeQpbIDExNTkuMTYxNDMxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5
KioqKioqKiplbnRyeQpbIDExNTkuMTYxNDM3XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVf
ZHB5KioqKioqKipleGl0ClsgMTE1OS4xNjE0NDJdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoq
KioqKioqZW50cnkKWyAxMTU5LjE2MTQ0N10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioq
KipleGl0ClsgMTE1OS4xNjE0NTFdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRy
eQpbIDExNTkuMTYxNDU2XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5Clsg
MTE1OS4xNjE0NzZdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTku
MTYxNDgwXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTkuMTYxNDg0
XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU5LjE2MTQ4OF0gKioqKioq
Kip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU5LjE2MTY1M10gKioqKioqKip4ZW5m
Yl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTkuMTYxNjYyXSAqKioqKioqKnhlbmZi
X3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1OS4xNjE2NjddICoqKioqKioqeGVuZmJfaGFuZGxl
X3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1OS4xNjE2NzJdICoqKioqKioqeGVuZmJfaGFu
ZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU5LjE2MTY3N10gKioqKioqKip4ZW5mYl9x
dWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTkuMTYxNjgxXSAqKioqKioqKnhlbmZiX3F1ZXVl
X2Z1bGwqKioqKioqKmV4aXQKWyAxMTU5LjE2MTY4Nl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioq
KioqKipleGl0ClsgMTE1OS4xNjE2OTBdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioq
KioqZXhpdApbIDExNTkuMzY5NDA2XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50
cnkKWyAxMTU5LjM2OTQyM10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDEx
NTkuMzY5NDI4XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpb
IDExNTkuMzY5NDM1XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0
ClsgMTE1OS4zNjk0NDBdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAx
MTU5LjM2OTQ0NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1OS4z
Njk0NDldICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTkuMzY5NDUz
XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1OS4zNjk0NzNdICoq
KioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTkuMzY5NDc3XSAqKioqKioq
KnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTkuMzY5NDgyXSAqKioqKioqKnhlbmZi
X3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU5LjM2OTQ4Nl0gKioqKioqKip4ZW5mYl9pbWFnZWJs
aXQqKioqKioqKmV4aXQKWyAxMTU5LjM2OTY3OF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVy
KioqKioqKiplbnRyeQpbIDExNTkuMzY5Njg3XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioq
KmVudHJ5ClsgMTE1OS4zNjk2OTJdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioq
KioqKmVudHJ5ClsgMTE1OS4zNjk2OTddICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkq
KioqKioqKmV4aXQKWyAxMTU5LjM2OTcwMl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioq
KiplbnRyeQpbIDExNTkuMzY5NzA3XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4
aXQKWyAxMTU5LjM2OTcxMV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1
OS4zNjk3MTZdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTku
NTczNDA2XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU5LjU3MzQy
MF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTkuNTczNDI1XSAqKioq
KioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTkuNTczNDMxXSAq
KioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1OS41NzM0MzZd
ICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU5LjU3MzQ0MV0gKioq
KioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE1OS41NzM0NDVdICoqKioqKioq
eGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNTkuNTczNDQ5XSAqKioqKioqKnhlbmZi
X3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1OS41NzM0NzNdICoqKioqKioqeGVuZmJfc2Vu
ZF9ldmVudCoqKioqKioqZXhpdApbIDExNTkuNTczNDc3XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0
ZSoqKioqKioqZXhpdApbIDExNTkuNTczNDgxXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioq
KmV4aXQKWyAxMTU5LjU3MzQ4NV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQK
WyAxMTU5LjU3MzY3Ml0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpb
IDExNTkuNTczNjgwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1OS41
NzM2ODVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1
OS41NzM2OTBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAx
MTU5LjU3MzY5NF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTku
NTczNjk5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU5LjU3Mzcw
M10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1OS41NzM3MDhdICoqKioq
KioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNTkuNzgxNDAyXSAqKioqKioq
KnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTU5Ljc4MTQxNV0gKioqKioqKip4ZW5m
Yl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNTkuNzgxNDIwXSAqKioqKioqKnhlbmZiX2hhbmRs
ZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNTkuNzgxNDI2XSAqKioqKioqKnhlbmZiX2hh
bmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE1OS43ODE0MzFdICoqKioqKioqeGVuZmJf
cXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTU5Ljc4MTQzNV0gKioqKioqKip4ZW5mYl9xdWV1
ZV9mdWxsKioqKioqKipleGl0ClsgMTE1OS43ODE0MzldICoqKioqKioqeGVuZmJfZG9fdXBkYXRl
KioqKioqKiplbnRyeQpbIDExNTkuNzgxNDQ0XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioq
KioqKmVudHJ5ClsgMTE1OS43ODE0NjRdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioq
ZXhpdApbIDExNTkuNzgxNDY5XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApb
IDExNTkuNzgxNDczXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU5Ljc4
MTQ3N10gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU5Ljc4MTY5M10g
KioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTkuNzgxNzAyXSAq
KioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1OS43ODE3MDddICoqKioqKioq
eGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1OS43ODE3MTNdICoqKioq
KioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU5Ljc4MTcxN10gKioq
KioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTkuNzgxNzIyXSAqKioqKioq
KnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTU5Ljc4MTcyN10gKioqKioqKip4ZW5m
Yl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE1OS43ODE3MzFdICoqKioqKioqeGVuZmJfZXZlbnRf
aGFuZGxlcioqKioqKioqZXhpdApbIDExNTkuOTg5Mzk5XSAqKioqKioqKnhlbmZiX2ltYWdlYmxp
dCoqKioqKioqZW50cnkKWyAxMTU5Ljk4OTQxNF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioq
KiplbnRyeQpbIDExNTkuOTg5NDE4XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5Kioq
KioqKiplbnRyeQpbIDExNTkuOTg5NDI0XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5
KioqKioqKipleGl0ClsgMTE1OS45ODk0MjldICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioq
KioqZW50cnkKWyAxMTU5Ljk4OTQzM10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipl
eGl0ClsgMTE1OS45ODk0MzhdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpb
IDExNTkuOTg5NDQyXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE1
OS45ODk0NjVdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNTkuOTg5
NDY5XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNTkuOTg5NDczXSAq
KioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTU5Ljk4OTQ3OF0gKioqKioqKip4
ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTU5Ljk4OTY4Ml0gKioqKioqKip4ZW5mYl9l
dmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNTkuOTg5NjkyXSAqKioqKioqKnhlbmZiX3Jl
ZnJlc2gqKioqKioqKmVudHJ5ClsgMTE1OS45ODk2OTZdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jl
c2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE1OS45ODk3MDJdICoqKioqKioqeGVuZmJfaGFuZGxl
X3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTU5Ljk4OTcwNl0gKioqKioqKip4ZW5mYl9xdWV1
ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNTkuOTg5NzExXSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1
bGwqKioqKioqKmV4aXQKWyAxMTU5Ljk4OTcxNV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioq
KipleGl0ClsgMTE1OS45ODk3MTldICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioq
ZXhpdApbIDExNjAuMTkzNDA0XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkK
WyAxMTYwLjE5MzQxN10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNjAu
MTkzNDIyXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDEx
NjAuMTkzNDI4XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0Clsg
MTE2MC4xOTM0MzNdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTYw
LjE5MzQzOF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE2MC4xOTM0
NDJdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNjAuMTkzNDQ2XSAq
KioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE2MC4xOTM0NjddICoqKioq
KioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNjAuMTkzNDcxXSAqKioqKioqKnhl
bmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNjAuMTkzNDc2XSAqKioqKioqKnhlbmZiX3Jl
ZnJlc2gqKioqKioqKmV4aXQKWyAxMTYwLjE5MzQ4MF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQq
KioqKioqKmV4aXQKWyAxMTYwLjE5MzY3N10gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioq
KioqKiplbnRyeQpbIDExNjAuMTkzNjg2XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVu
dHJ5ClsgMTE2MC4xOTM2OTBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmVudHJ5ClsgMTE2MC4xOTM2OTVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioq
KioqKmV4aXQKWyAxMTYwLjE5MzcwMF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipl
bnRyeQpbIDExNjAuMTkzNzA0XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQK
WyAxMTYwLjE5MzcwOV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE2MC4x
OTM3MTNdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNjAuNDAx
NDAzXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTYwLjQwMTQxN10g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNjAuNDAxNDIxXSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNjAuNDAxNDI3XSAqKioq
KioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE2MC40MDE0MzJdICoq
KioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTYwLjQwMTQzN10gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE2MC40MDE0NDFdICoqKioqKioqeGVu
ZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNjAuNDAxNDQ2XSAqKioqKioqKnhlbmZiX3Nl
bmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE2MC40MDE0NjZdICoqKioqKioqeGVuZmJfc2VuZF9l
dmVudCoqKioqKioqZXhpdApbIDExNjAuNDAxNDcwXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoq
KioqKioqZXhpdApbIDExNjAuNDAxNDc1XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4
aXQKWyAxMTYwLjQwMTQ3OV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAx
MTYwLjQwMTY1N10gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDEx
NjAuNDAxNjY2XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE2MC40MDE2
NzFdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE2MC40
MDE2NzZdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTYw
LjQwMTY4MV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNjAuNDAx
Njg1XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTYwLjQwMTY5MF0g
KioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE2MC40MDE2OTVdICoqKioqKioq
eGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNjAuNjA1NDE2XSAqKioqKioqKnhl
bmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTYwLjYwNTQzM10gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKiplbnRyeQpbIDExNjAuNjA1NDM4XSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNjAuNjA1NDQ0XSAqKioqKioqKnhlbmZiX2hhbmRs
ZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE2MC42MDU0NDldICoqKioqKioqeGVuZmJfcXVl
dWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTYwLjYwNTQ1M10gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKipleGl0ClsgMTE2MC42MDU0NThdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioq
KioqKiplbnRyeQpbIDExNjAuNjA1NDYyXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioq
KmVudHJ5ClsgMTE2MC42MDU0ODFdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhp
dApbIDExNjAuNjA1NDg2XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDEx
NjAuNjA1NDkwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTYwLjYwNTQ5
NV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTYwLjYwNTY4Ml0gKioq
KioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNjAuNjA1NjkyXSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE2MC42MDU2OTddICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE2MC42MDU3MDJdICoqKioqKioq
eGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTYwLjYwNTcwN10gKioqKioq
Kip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNjAuNjA1NzExXSAqKioqKioqKnhl
bmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTYwLjYwNTcxNl0gKioqKioqKip4ZW5mYl9y
ZWZyZXNoKioqKioqKipleGl0ClsgMTE2MC42MDU3MjFdICoqKioqKioqeGVuZmJfZXZlbnRfaGFu
ZGxlcioqKioqKioqZXhpdApbIDExNjAuODA5NDA1XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoq
KioqKioqZW50cnkKWyAxMTYwLjgwOTQyMV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
bnRyeQpbIDExNjAuODA5NDI2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KiplbnRyeQpbIDExNjAuODA5NDMyXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5Kioq
KioqKipleGl0ClsgMTE2MC44MDk0MzddICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioq
ZW50cnkKWyAxMTYwLjgwOTQ0Ml0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0
ClsgMTE2MC44MDk0NDZdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDEx
NjAuODA5NDUxXSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE2MC44
MDk0NjldICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNjAuODA5NDc0
XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNjAuODA5NDc4XSAqKioq
KioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTYwLjgwOTQ4M10gKioqKioqKip4ZW5m
Yl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTYwLjgwOTY4M10gKioqKioqKip4ZW5mYl9ldmVu
dF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNjAuODA5NjkxXSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmVudHJ5ClsgMTE2MC44MDk2OTVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE2MC44MDk3MDBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jl
c2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTYwLjgwOTcwNF0gKioqKioqKip4ZW5mYl9xdWV1ZV9m
dWxsKioqKioqKiplbnRyeQpbIDExNjAuODA5NzA5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwq
KioqKioqKmV4aXQKWyAxMTYwLjgwOTcxNF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipl
eGl0ClsgMTE2MC44MDk3MThdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhp
dApbIDExNjEuMDEzNDA0XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAx
MTYxLjAxMzQyMl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNjEuMDEz
NDI2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNjEu
MDEzNDMzXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE2
MS4wMTM0MzhdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTYxLjAx
MzQ0M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE2MS4wMTM0NDdd
ICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNjEuMDEzNDUyXSAqKioq
KioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE2MS4wMTM0NzFdICoqKioqKioq
eGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNjEuMDEzNDc2XSAqKioqKioqKnhlbmZi
X2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNjEuMDEzNDgwXSAqKioqKioqKnhlbmZiX3JlZnJl
c2gqKioqKioqKmV4aXQKWyAxMTYxLjAxMzQ4NF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioq
KioqKmV4aXQKWyAxMTYxLjAxMzY1MV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioq
KiplbnRyeQpbIDExNjEuMDEzNjYwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5
ClsgMTE2MS4wMTM2NjVdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVu
dHJ5ClsgMTE2MS4wMTM2NzBdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioq
KmV4aXQKWyAxMTYxLjAxMzY3NF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRy
eQpbIDExNjEuMDEzNjc5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAx
MTYxLjAxMzY4NF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE2MS4wMTM2
ODhdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNjEuMjE3NDA2
XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTYxLjIxNzQyM10gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNjEuMjE3NDI3XSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNjEuMjE3NDMzXSAqKioqKioq
KnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE2MS4yMTc0MzldICoqKioq
KioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTYxLjIxNzQ0M10gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE2MS4yMTc0NDddICoqKioqKioqeGVuZmJf
ZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNjEuMjE3NDUyXSAqKioqKioqKnhlbmZiX3NlbmRf
ZXZlbnQqKioqKioqKmVudHJ5ClsgMTE2MS4yMTc0NzFdICoqKioqKioqeGVuZmJfc2VuZF9ldmVu
dCoqKioqKioqZXhpdApbIDExNjEuMjE3NDc1XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioq
KioqZXhpdApbIDExNjEuMjE3NDgwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQK
WyAxMTYxLjIxNzQ4NF0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTYx
LjIxNzY3Nl0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNjEu
MjE3Njg3XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE2MS4yMTc2OTJd
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE2MS4yMTc2
OTddICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTYxLjIx
NzcwMV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNjEuMjE3NzA2
XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTYxLjIxNzcxMV0gKioq
KioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE2MS4yMTc3MTVdICoqKioqKioqeGVu
ZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNjEuNDI1NDA5XSAqKioqKioqKnhlbmZi
X2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTYxLjQyNTQyN10gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKiplbnRyeQpbIDExNjEuNDI1NDMyXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKiplbnRyeQpbIDExNjEuNDI1NDM3XSAqKioqKioqKnhlbmZiX2hhbmRsZV9y
ZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE2MS40MjU0NDNdICoqKioqKioqeGVuZmJfcXVldWVf
ZnVsbCoqKioqKioqZW50cnkKWyAxMTYxLjQyNTQ0N10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKipleGl0ClsgMTE2MS40MjU0NTJdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioq
KiplbnRyeQpbIDExNjEuNDI1NDU2XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVu
dHJ5ClsgMTE2MS40MjU0NzVdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApb
IDExNjEuNDI1NDgwXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNjEu
NDI1NDg0XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTYxLjQyNTQ4OV0g
KioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTYxLjQyNTY3NF0gKioqKioq
Kip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNjEuNDI1NjgzXSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE2MS40MjU2ODhdICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE2MS40MjU2OTNdICoqKioqKioqeGVu
ZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTYxLjQyNTY5N10gKioqKioqKip4
ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNjEuNDI1NzAyXSAqKioqKioqKnhlbmZi
X3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTYxLjQyNTcwN10gKioqKioqKip4ZW5mYl9yZWZy
ZXNoKioqKioqKipleGl0ClsgMTE2MS40MjU3MTFdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxl
cioqKioqKioqZXhpdApbIDExNjEuNjI5NDEwXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioq
KioqZW50cnkKWyAxMTYxLjYyOTQyNl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRy
eQpbIDExNjEuNjI5NDMxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
bnRyeQpbIDExNjEuNjI5NDM3XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioq
KipleGl0ClsgMTE2MS42Mjk0NDJdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50
cnkKWyAxMTYxLjYyOTQ0N10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0Clsg
MTE2MS42Mjk0NTJdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNjEu
NjI5NDU2XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE2MS42Mjk0
NzZdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNjEuNjI5NDgxXSAq
KioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNjEuNjI5NDg1XSAqKioqKioq
KnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTYxLjYyOTQ4OV0gKioqKioqKip4ZW5mYl9p
bWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTYxLjYyOTcyN10gKioqKioqKip4ZW5mYl9ldmVudF9o
YW5kbGVyKioqKioqKiplbnRyeQpbIDExNjEuNjI5NzM5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmVudHJ5ClsgMTE2MS42Mjk3NDRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmVudHJ5ClsgMTE2MS42Mjk3NDldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6
ZV9kcHkqKioqKioqKmV4aXQKWyAxMTYxLjYyOTc1NF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxs
KioqKioqKiplbnRyeQpbIDExNjEuNjI5NzU4XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioq
KioqKmV4aXQKWyAxMTYxLjYyOTc2M10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0
ClsgMTE2MS42Mjk3NjhdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApb
IDExNjEuODM3NDA0XSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTYx
LjgzNzQxOV0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNjEuODM3NDIz
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNjEuODM3
NDI5XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE2MS44
Mzc0MzRdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTYxLjgzNzQz
OF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE2MS44Mzc0NDJdICoq
KioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNjEuODM3NDQ3XSAqKioqKioq
KnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE2MS44Mzc0NjhdICoqKioqKioqeGVu
ZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNjEuODM3NDczXSAqKioqKioqKnhlbmZiX2Rv
X3VwZGF0ZSoqKioqKioqZXhpdApbIDExNjEuODM3NDc3XSAqKioqKioqKnhlbmZiX3JlZnJlc2gq
KioqKioqKmV4aXQKWyAxMTYxLjgzNzQ4MV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioq
KmV4aXQKWyAxMTYxLjgzNzY4MF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKipl
bnRyeQpbIDExNjEuODM3Njg5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5Clsg
MTE2MS44Mzc2OTRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5
ClsgMTE2MS44Mzc2OTldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4
aXQKWyAxMTYxLjgzNzcwNF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpb
IDExNjEuODM3NzA4XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTYx
LjgzNzcxM10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE2MS44Mzc3MTdd
ICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNjIuMDQxNDA1XSAq
KioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTYyLjA0MTQyMF0gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNjIuMDQxNDI0XSAqKioqKioqKnhlbmZi
X2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNjIuMDQxNDMwXSAqKioqKioqKnhl
bmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE2Mi4wNDE0MzVdICoqKioqKioq
eGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTYyLjA0MTQ0MF0gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE2Mi4wNDE0NDRdICoqKioqKioqeGVuZmJfZG9f
dXBkYXRlKioqKioqKiplbnRyeQpbIDExNjIuMDQxNDQ5XSAqKioqKioqKnhlbmZiX3NlbmRfZXZl
bnQqKioqKioqKmVudHJ5ClsgMTE2Mi4wNDE0NzFdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoq
KioqKioqZXhpdApbIDExNjIuMDQxNDc2XSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioq
ZXhpdApbIDExNjIuMDQxNDgwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAx
MTYyLjA0MTQ4NV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTYyLjA0
MTY4MV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNjIuMDQx
NjkwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE2Mi4wNDE2OTVdICoq
KioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE2Mi4wNDE3MDBd
ICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTYyLjA0MTcw
NV0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNjIuMDQxNzA5XSAq
KioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTYyLjA0MTcxNF0gKioqKioq
Kip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE2Mi4wNDE3MThdICoqKioqKioqeGVuZmJf
ZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDExNjIuMjQ1NDAyXSAqKioqKioqKnhlbmZiX2lt
YWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTYyLjI0NTQxNl0gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKiplbnRyeQpbIDExNjIuMjQ1NDIxXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVf
ZHB5KioqKioqKiplbnRyeQpbIDExNjIuMjQ1NDI2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNp
emVfZHB5KioqKioqKipleGl0ClsgMTE2Mi4yNDU0MzFdICoqKioqKioqeGVuZmJfcXVldWVfZnVs
bCoqKioqKioqZW50cnkKWyAxMTYyLjI0NTQzNl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKipleGl0ClsgMTE2Mi4yNDU0NDBdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKipl
bnRyeQpbIDExNjIuMjQ1NDQ0XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5
ClsgMTE2Mi4yNDU0NjZdICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDEx
NjIuMjQ1NDcxXSAqKioqKioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNjIuMjQ1
NDc2XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTYyLjI0NTQ4MF0gKioq
KioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4aXQKWyAxMTYyLjI0NTYxNV0gKioqKioqKip4
ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRyeQpbIDExNjIuMjQ1NjI0XSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE2Mi4yNDU2MjldICoqKioqKioqeGVuZmJfaGFu
ZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5ClsgMTE2Mi4yNDU2MzRdICoqKioqKioqeGVuZmJf
aGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQKWyAxMTYyLjI0NTYzOV0gKioqKioqKip4ZW5m
Yl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDExNjIuMjQ1NjQ0XSAqKioqKioqKnhlbmZiX3F1
ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTYyLjI0NTY0OF0gKioqKioqKip4ZW5mYl9yZWZyZXNo
KioqKioqKipleGl0ClsgMTE2Mi4yNDU2NTNdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioq
KioqKioqZXhpdApbIDExNjIuNDQ5NDAyXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioq
ZW50cnkKWyAxMTYyLjQ0OTQxNl0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpb
IDExNjIuNDQ5NDIwXSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRy
eQpbIDExNjIuNDQ5NDI2XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipl
eGl0ClsgMTE2Mi40NDk0MzFdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkK
WyAxMTYyLjQ0OTQzNl0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE2
Mi40NDk0NDBdICoqKioqKioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNjIuNDQ5
NDQ0XSAqKioqKioqKnhlbmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE2Mi40NDk0NjVd
ICoqKioqKioqeGVuZmJfc2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNjIuNDQ5NDcwXSAqKioq
KioqKnhlbmZiX2RvX3VwZGF0ZSoqKioqKioqZXhpdApbIDExNjIuNDQ5NDc0XSAqKioqKioqKnhl
bmZiX3JlZnJlc2gqKioqKioqKmV4aXQKWyAxMTYyLjQ0OTQ3OF0gKioqKioqKip4ZW5mYl9pbWFn
ZWJsaXQqKioqKioqKmV4aXQKWyAxMTYyLjQ0OTY1MV0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5k
bGVyKioqKioqKiplbnRyeQpbIDExNjIuNDQ5NjYwXSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmVudHJ5ClsgMTE2Mi40NDk2NjRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkq
KioqKioqKmVudHJ5ClsgMTE2Mi40NDk2NjldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9k
cHkqKioqKioqKmV4aXQKWyAxMTYyLjQ0OTY3NF0gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioq
KioqKiplbnRyeQpbIDExNjIuNDQ5Njc5XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioq
KmV4aXQKWyAxMTYyLjQ0OTY4M10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0Clsg
MTE2Mi40NDk2ODhdICoqKioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdApbIDEx
NjIuNjU3NDAzXSAqKioqKioqKnhlbmZiX2ltYWdlYmxpdCoqKioqKioqZW50cnkKWyAxMTYyLjY1
NzQxOF0gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKiplbnRyeQpbIDExNjIuNjU3NDIzXSAq
KioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKiplbnRyeQpbIDExNjIuNjU3NDI4
XSAqKioqKioqKnhlbmZiX2hhbmRsZV9yZXNpemVfZHB5KioqKioqKipleGl0ClsgMTE2Mi42NTc0
MzNdICoqKioqKioqeGVuZmJfcXVldWVfZnVsbCoqKioqKioqZW50cnkKWyAxMTYyLjY1NzQzOF0g
KioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKipleGl0ClsgMTE2Mi42NTc0NDJdICoqKioq
KioqeGVuZmJfZG9fdXBkYXRlKioqKioqKiplbnRyeQpbIDExNjIuNjU3NDQ2XSAqKioqKioqKnhl
bmZiX3NlbmRfZXZlbnQqKioqKioqKmVudHJ5ClsgMTE2Mi42NTc0NjddICoqKioqKioqeGVuZmJf
c2VuZF9ldmVudCoqKioqKioqZXhpdApbIDExNjIuNjU3NDcyXSAqKioqKioqKnhlbmZiX2RvX3Vw
ZGF0ZSoqKioqKioqZXhpdApbIDExNjIuNjU3NDc2XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioq
KioqKmV4aXQKWyAxMTYyLjY1NzQ4MV0gKioqKioqKip4ZW5mYl9pbWFnZWJsaXQqKioqKioqKmV4
aXQKWyAxMTYyLjY1NzY0MF0gKioqKioqKip4ZW5mYl9ldmVudF9oYW5kbGVyKioqKioqKiplbnRy
eQpbIDExNjIuNjU3NjQ5XSAqKioqKioqKnhlbmZiX3JlZnJlc2gqKioqKioqKmVudHJ5ClsgMTE2
Mi42NTc2NTRdICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmVudHJ5Clsg
MTE2Mi42NTc2NTldICoqKioqKioqeGVuZmJfaGFuZGxlX3Jlc2l6ZV9kcHkqKioqKioqKmV4aXQK
WyAxMTYyLjY1NzY2M10gKioqKioqKip4ZW5mYl9xdWV1ZV9mdWxsKioqKioqKiplbnRyeQpbIDEx
NjIuNjU3NjY4XSAqKioqKioqKnhlbmZiX3F1ZXVlX2Z1bGwqKioqKioqKmV4aXQKWyAxMTYyLjY1
NzY3M10gKioqKioqKip4ZW5mYl9yZWZyZXNoKioqKioqKipleGl0ClsgMTE2Mi42NTc2NzhdICoq
KioqKioqeGVuZmJfZXZlbnRfaGFuZGxlcioqKioqKioqZXhpdAo=
--0000000000009a391305efb91454--


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 17:40:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 17:40:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461002.719020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59Gz-0005cJ-R0; Tue, 13 Dec 2022 17:40:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461002.719020; Tue, 13 Dec 2022 17:40:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59Gz-0005cC-OS; Tue, 13 Dec 2022 17:40:57 +0000
Received: by outflank-mailman (input) for mailman id 461002;
 Tue, 13 Dec 2022 17:40:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lPgA=4L=infradead.org=rdunlap@srs-se1.protection.inumbo.net>)
 id 1p59Gy-0005c6-Lt
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 17:40:57 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ac89af9-7b0d-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 18:40:54 +0100 (CET)
Received: from [2601:1c2:d80:3110::a2e7]
 by bombadil.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1p59Gm-003nu3-Vf; Tue, 13 Dec 2022 17:40:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ac89af9-7b0d-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:
	Message-ID:Sender:Reply-To:Content-ID:Content-Description;
	bh=j0UALbMgWQAz5SBhNk+ZMMQCCxLWBTsG/ugs2SigX6o=; b=vCmNDThnkvzF3Biq7JJkRv7Xcg
	aTFh6YkGjF35i1JLHTPvsrfPImXzCU7eOVVkI/ZQoHnryV9KObeBeF/Eco9A0EFzhx2sVqgfHikFN
	GFL8t6pu9lATlmlSrs1lodMlJxNjllhEH1o0R8Rky9dSL3CmoJTck11v2E+9/bZ8UmsissbqOmLhz
	IBbnVgBSTY6DLUII/lQ0zgx9PzhtML+pHEAH44iirFg7apYqSOtWv/rjVdw6/HhOHvJ3XTm0Eg1Yy
	6woAwfosCYydMeZ+y+A3knS3QIhyABCHUz1pXK/XMm0fVUtjihuxzZ5VANIsdS+ws3rdyMZ9hJoqR
	1jbBmqIA==;
Message-ID: <33fd0ddb-c2dc-c403-a742-bac32d24825c@infradead.org>
Date: Tue, 13 Dec 2022 09:40:44 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] arch: change variable types to match those of what is
 assigned to them
Content-Language: en-US
To: "Seija K." <doremylover123@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
 Chris Zankel <chris@zankel.net>, Max Filippov <jcmvbkbc@gmail.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org
References: <CAA42iKx2f2LsAQ9C5rxnCTPhOB6n+L35Winc5WK1K2EySAjvXA@mail.gmail.com>
From: Randy Dunlap <rdunlap@infradead.org>
In-Reply-To: <CAA42iKx2f2LsAQ9C5rxnCTPhOB6n+L35Winc5WK1K2EySAjvXA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi,

Please look at
  https://lore.kernel.org/lkml/CAA42iKx2f2LsAQ9C5rxnCTPhOB6n+L35Winc5WK1K2EySAjvXA@mail.gmail.com/T/#u

and see if that matches what you thought you sent as a patch.

The gmail web interface is notorious for dropping tabs in emails.


On 12/13/22 09:35, Seija K. wrote:
> There are many places where "int len = strlen(foo);" is written, just
> for len to be passed as a parameter of size_t. This causes truncation
> and then expansion back from int to size_t. Not to mention this is
> poor logic and needless truncations can add extra unneeded
> instructions.
> 
> This patch aims to fix the worst offenders.
> 
> Signed-off-by: Seija Kijin <doremylover123@gmail.com>
> ---
>  arch/arm/mm/mmu.c                      | 30 +++++++++++++-------------
>  arch/arm/probes/kprobes/test-core.c    |  8 +++----
>  arch/arm/vfp/vfpmodule.c               |  4 ++--
>  arch/arm/xen/p2m.c                     |  4 ++--
>  arch/mips/alchemy/common/irq.c         |  2 +-
>  arch/mips/alchemy/common/prom.c        |  2 +-
>  arch/mips/alchemy/devboards/bcsr.c     |  2 +-
>  arch/mips/alchemy/devboards/platform.c |  8 +++----
>  arch/mips/ar7/prom.c                   |  4 ++--
>  arch/mips/boot/compressed/dbg.c        | 14 +++++-------
>  arch/mips/fw/arc/cmdline.c             |  4 ++--
>  arch/xtensa/platforms/iss/console.c    |  4 ++--
>  12 files changed, 41 insertions(+), 45 deletions(-)
> 


-- 
~Randy


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 17:45:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 17:45:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461011.719033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59LN-0006X0-EQ; Tue, 13 Dec 2022 17:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461011.719033; Tue, 13 Dec 2022 17:45:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59LN-0006Wt-A8; Tue, 13 Dec 2022 17:45:29 +0000
Received: by outflank-mailman (input) for mailman id 461011;
 Tue, 13 Dec 2022 17:45:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TMzb=4L=armlinux.org.uk=linux+xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1p59LM-0006Wn-IY
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 17:45:28 +0000
Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk
 [2001:4d48:ad52:32c8:5054:ff:fe00:142])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed9bea97-7b0d-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 18:45:27 +0100 (CET)
Received: from shell.armlinux.org.uk
 ([fd8f:7570:feb6:1:5054:ff:fe00:4ec]:35696)
 by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2)
 (envelope-from <linux@armlinux.org.uk>)
 id 1p59LJ-0007QC-0d; Tue, 13 Dec 2022 17:45:25 +0000
Received: from linux by shell.armlinux.org.uk with local (Exim 4.94.2)
 (envelope-from <linux@shell.armlinux.org.uk>)
 id 1p59LH-0006d0-Vw; Tue, 13 Dec 2022 17:45:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: ed9bea97-7b0d-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=armlinux.org.uk; s=pandora-2019; h=Sender:In-Reply-To:Content-Type:
	MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:
	Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:
	List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive;
	bh=z0omR0ISWAA4du1XKL80E5Cf5YbDXbqPmELEAXHKvQo=; b=oEeJCQRTr3YsEUk4WlvGuWYrWO
	MmgYaL2cPSShnoGVDBLrFUmnaAJapVRvgMNLCrsoAysmkulQQV4JNQduZVticVd/l67BlfPCFan9k
	f1+BrhK5ZSCAnpthmveiFJ98zTsYarYTTx0k/YplqYLnItSSIKOaEDd8YVlNZYwaj3svQY+v4oWSD
	U7NRAB78y4u6BCMR4ymIphcrEeh8QShAKSOyxoCfl7Ossfcyr0FzXNe4kjTXAep8YvaEV1g7MJaDg
	riGz3On3drqZLxqx99C5PN6peFFhyj0WB08lrEgaWCAZC0CoH6w4f/xDLKcHvhVD8/Y4g4pEAnYPT
	669iiaiA==;
Date: Tue, 13 Dec 2022 17:45:23 +0000
From: "Russell King (Oracle)" <linux@armlinux.org.uk>
To: "Seija K." <doremylover123@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Chris Zankel <chris@zankel.net>, Max Filippov <jcmvbkbc@gmail.com>,
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org
Subject: Re: [PATCH] arch: change variable types to match those of what is
 assigned to them
Message-ID: <Y5i6M/9XEr0zvenj@shell.armlinux.org.uk>
References: <CAA42iKx2f2LsAQ9C5rxnCTPhOB6n+L35Winc5WK1K2EySAjvXA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAA42iKx2f2LsAQ9C5rxnCTPhOB6n+L35Winc5WK1K2EySAjvXA@mail.gmail.com>
Sender: Russell King (Oracle) <linux@armlinux.org.uk>

On Tue, Dec 13, 2022 at 12:35:35PM -0500, Seija K. wrote:
> There are many places where "int len = strlen(foo);" is written, just
> for len to be passed as a parameter of size_t. This causes truncation
> and then expansion back from int to size_t. Not to mention this is
> poor logic and needless truncations can add extra unneeded
> instructions.
> 
> This patch aims to fix the worst offenders.

I suggested to test _not_ on the mailing lists, because it adds
unnecessary noise - and remember that your email needlessly gets
sent to thousands of recipients.

Yet again, the patch is mangled, but is better than the last one.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 18:03:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 18:03:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461020.719043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59cr-0000vp-Tj; Tue, 13 Dec 2022 18:03:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461020.719043; Tue, 13 Dec 2022 18:03:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59cr-0000vi-Qp; Tue, 13 Dec 2022 18:03:33 +0000
Received: by outflank-mailman (input) for mailman id 461020;
 Tue, 13 Dec 2022 18:03:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p59cq-0000vY-MF; Tue, 13 Dec 2022 18:03:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p59cq-0007UZ-Io; Tue, 13 Dec 2022 18:03:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p59cq-0002Yf-28; Tue, 13 Dec 2022 18:03:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p59cq-0002vJ-1d; Tue, 13 Dec 2022 18:03:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=f6SexootBMvxIUpee754Jy5pXbSwYIEu/ng+aUXirSo=; b=fxv6wjyrZCfG7p04VbsQuVTGK1
	JatyVuXiq0nlecfOVQPOw8nR5U5MvqEA28H8wcPvJ/z/a5yUmGO6aN0Fbm8pVP+4o1d1QAHF7pt+M
	CFnVttQeBuPHysDz0RKwXuitMgJfsozTutBEY/bA8gKfWR2A0s/TaDGhQbHrvWdAK6Og=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175168-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175168: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-livepatch:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-4:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-pygrub:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-5:xen-boot:fail:regression
    xen-unstable:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-examine-uefi:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine:reboot:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=bc19af0bd4b8d0bb817defa4470873c80f67b6c2
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 13 Dec 2022 18:03:32 +0000

flight 175168 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175168/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-livepatch     8 xen-boot                 fail REGR. vs. 175144
 test-xtf-amd64-amd64-4        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 175148
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 175148
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 175148
 test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-pair         12 xen-boot/src_host        fail REGR. vs. 175148
 test-amd64-i386-pair         13 xen-boot/dst_host        fail REGR. vs. 175148
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 175148
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 175148
 test-xtf-amd64-amd64-5        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 175148
 test-amd64-amd64-qemuu-freebsd11-amd64  8 xen-boot       fail REGR. vs. 175148

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175148
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175148
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175148
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175148
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175148
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175148
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175148
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  bc19af0bd4b8d0bb817defa4470873c80f67b6c2
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175148  2022-12-12 01:53:19 Z    1 days
Failing since        175154  2022-12-12 15:07:03 Z    1 days    3 attempts
Testing same since   175168  2022-12-13 09:15:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       fail    
 test-xtf-amd64-amd64-5                                       fail    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 420 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 18:19:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 18:19:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461035.719060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59s2-00037N-FY; Tue, 13 Dec 2022 18:19:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461035.719060; Tue, 13 Dec 2022 18:19:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59s2-00037G-Aj; Tue, 13 Dec 2022 18:19:14 +0000
Received: by outflank-mailman (input) for mailman id 461035;
 Tue, 13 Dec 2022 18:19:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+6Gs=4L=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1p59s0-00036r-QX
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 18:19:13 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2079.outbound.protection.outlook.com [40.107.212.79])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a30f48ae-7b12-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 19:19:10 +0100 (CET)
Received: from DS7PR07CA0001.namprd07.prod.outlook.com (2603:10b6:5:3af::10)
 by DS7PR12MB6023.namprd12.prod.outlook.com (2603:10b6:8:85::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.19; Tue, 13 Dec 2022 18:19:08 +0000
Received: from DS1PEPF0000E64A.namprd02.prod.outlook.com
 (2603:10b6:5:3af:cafe::ac) by DS7PR07CA0001.outlook.office365.com
 (2603:10b6:5:3af::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19 via Frontend
 Transport; Tue, 13 Dec 2022 18:19:08 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E64A.mail.protection.outlook.com (10.167.18.40) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.8 via Frontend Transport; Tue, 13 Dec 2022 18:19:07 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 12:19:06 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 13 Dec
 2022 12:19:06 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 13 Dec 2022 12:19:04 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a30f48ae-7b12-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RI8VFlAqqHqimwKDuy1HuZmec6201RvgDJkMloCiuQtAq2XUR3BlPk+OARfPLcYPxbKiRuNga7H8VaWEmoUWD04myp8ot2fTNDgEXAGFM+f89GOq1XlUSp+GTqMHCCPwZKH1KMStzTvb0A3ldtXG2QBTQzYkSt0a6DyEbCWndGYVVhX9Hv4mQ1yZVTYAJGgLQ4Sf8sfNjsUZ/IFAp7hKIiZ3qaFcQVX890jjJ8ThT6V4DruotiaRO2AAaG+dxD7ItQPn+lnjcc8MI4NLvsusr0VoUyOhR3bunAEPG3VzbGnBEfy95UcmVUbbhuxf3LdQQ2ePBPhTuE5eCUe8LKw3qw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LmPmK2+6Wu9pcJ1F0gBeU8LzctlkNxLzw3IfsluHrjk=;
 b=NU76HvOGwEh7b4ZGk/VSnZAJcfEErGfiw0Boiwe/mYq+RrHcLWMMWKVpEIpI0KToRfmpMFAbLnSD3gIg/LTiOacSMpvQi8As+BzKcRYIF0SX/SG4f37PusW7tTTk4xva1UdQzavk5hWBHQwP1HlQuWMjENn2D7muvhZ2Ed2iWeBqok2nxzH52MlEw07a+4XOBcUg2xCfAmULT3VTcGtE76/In/gKHMAAZuwbhBmArb07ZatDScVEUk6IQFJAb/LnXqh9tMYXQbd0kgu+00oD4H1TavUFNGzgSJa9FyhGXTGNzTcEEsEwjdhvJmQWuv3O3EVFSAPfsXPPR2L8L4029Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LmPmK2+6Wu9pcJ1F0gBeU8LzctlkNxLzw3IfsluHrjk=;
 b=11OrP9QUtpLV2jL8169LTqBylJTAPLkDrV7p1BV7Dd4il1mKiaaGErMQCjXi3aF2ggBsm/xWJT7JZDPRycm1L5QUySnTXrzJLw2zV5ZF+gsjfysphACn6RPtb5NsYLy/0uEfUwp88zN6Xh96YgNvWuyDX0gXlz3o8GMBtdRTBAg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Rahul Singh <rahul.singh@arm.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2] xen/arm: smmuv3: mark arm_smmu_disable_pasid __maybe_unused
Date: Tue, 13 Dec 2022 13:18:55 -0500
Message-ID: <20221213181855.81713-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.39.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E64A:EE_|DS7PR12MB6023:EE_
X-MS-Office365-Filtering-Correlation-Id: be150b85-11b3-45c1-3662-08dadd36861b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZuRlFbK5U3twr3K6h+4BboDPrZLPrWa4PQnWI5SH0iM3mzjWnZlpcI90q7IgB3A6PIs4KxrRkSnqRaNl4l8AAv2HgOANgPN6COBBA0n2eySWSmc4MQmPNNs1CC6OR3zdc1+ChoyCKXp7ajsPfO9y6U4ejTZ+4FuujIe3dlsbEnYzKF29zCY+48vRS47cWcHIRvkTmfWCazn/YtqfXayhk8gmfMZhjgkjoKl3Vqr+nF92mljT1Ea8VUc6mzDXUGSWBKVsw0c/o8YOtdUzPUQZiEjX1L5/6RKSXkEPLNQw1R13GwKFSJB5miLlyDXQ+sghckT9yDuGk+fYd+2v27gtFG2pPo8Lepd7GNR/GI8cKQR8ClezCml0LWjpASTLiqeNi0fR8BYjp6R4U0wFgcGDu7BnB1JO6XG9dRMtDw0W0cr9dQVBIiJTT0JpzfgwARtuTF82iyHe/mQXi3pCD3eA2iorkuJWqCci34/8+LkEyYppF94ucBtTKo4ya+BJZbbtZUmiwH0sygxtKcixCw0vgSObTlhYF4ZTYLp9NUBuUJVZxx1bvIO42uSuQjtgIZaPSIE20DHXfRp5QA7cqGg8iPqYGil3u+Is3efJs7IgiaN+ectv3ql586FCFpcjfIYgUmg8oCcDS2yIvWqobQGIbptZDW/9u3Idsy8bn9OZLSRNKwcUlwU+J9sF3G6lii9h2n39J+/lpXs6TXS+9H0lkX8zV0v6GV5EuETEtsof8MY=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(396003)(346002)(39860400002)(451199015)(36840700001)(46966006)(40470700004)(81166007)(82740400003)(356005)(36860700001)(41300700001)(40480700001)(86362001)(82310400005)(40460700003)(6666004)(8936002)(478600001)(4326008)(426003)(8676002)(70586007)(6916009)(186003)(70206006)(2906002)(47076005)(54906003)(26005)(316002)(1076003)(336012)(44832011)(2616005)(5660300002)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 18:19:07.3468
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: be150b85-11b3-45c1-3662-08dadd36861b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E64A.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6023

When building with clang 12 and CONFIG_ARM_SMMU_V3=y, we observe the
following build error:

drivers/passthrough/arm/smmu-v3.c:1408:20: error: unused function 'arm_smmu_disable_pasid' [-Werror,-Wunused-function]
static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
                   ^

arm_smmu_disable_pasid is not currently called from anywhere in Xen, but
it is inside a section of code guarded by CONFIG_PCI_ATS, which may be
helpful in the future if the PASID feature is to be implemented. Add the
attribute __maybe_unused to the function.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v1->v2:
Add __maybe_unused attribute instead of removing
---
 xen/drivers/passthrough/arm/smmu-v3.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 9c9f4630090e..0cdc862f96d1 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -1376,6 +1376,7 @@ static int arm_smmu_enable_pasid(struct arm_smmu_master *master)
 	return 0;
 }
 
+__maybe_unused
 static void arm_smmu_disable_pasid(struct arm_smmu_master *master)
 {
 	struct pci_dev *pdev;
@@ -1405,6 +1406,7 @@ static inline int arm_smmu_enable_pasid(struct arm_smmu_master *master)
 	return 0;
 }
 
+__maybe_unused
 static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
 #endif /* CONFIG_PCI_ATS */
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 18:20:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 18:20:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461043.719071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59so-0003qE-PS; Tue, 13 Dec 2022 18:20:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461043.719071; Tue, 13 Dec 2022 18:20:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59so-0003pj-Kd; Tue, 13 Dec 2022 18:20:02 +0000
Received: by outflank-mailman (input) for mailman id 461043;
 Tue, 13 Dec 2022 18:20:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p59sm-0003cy-FN; Tue, 13 Dec 2022 18:20:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p59sm-0007ve-DN; Tue, 13 Dec 2022 18:20:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p59sl-0002zS-VS; Tue, 13 Dec 2022 18:20:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p59sl-0007K6-Uy; Tue, 13 Dec 2022 18:19:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=In64wbNAP9QP+6atNYd5lIE6RGOnXf42aU2M+eaS1v8=; b=Idn0fJcBFnXeEP7P1MokvdASCJ
	zcbp25qc8+j4T3DaAm8bceXz1enyPRtBaPtCXEAQYWQbVdFi8Vv92FLKMq06lwaBIolGKI4uYaL5x
	kzW6cesGDTFXEPLj5iu2LTBtk9RRl6q8mbvBObBhbKdQvarYvpL6gIONaF51o+b0OtDE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175173-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175173: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
X-Osstest-Versions-That:
    xen=bc19af0bd4b8d0bb817defa4470873c80f67b6c2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 13 Dec 2022 18:19:59 +0000

flight 175173 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175173/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5
baseline version:
 xen                  bc19af0bd4b8d0bb817defa4470873c80f67b6c2

Last test of basis   175156  2022-12-12 23:01:58 Z    0 days
Testing same since   175173  2022-12-13 15:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   bc19af0bd4..630dc3798e  630dc3798e1d0d1b95f7be8b176563eb40e866e5 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 18:23:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 18:23:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461053.719081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59vm-00054B-5l; Tue, 13 Dec 2022 18:23:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461053.719081; Tue, 13 Dec 2022 18:23:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p59vm-000544-32; Tue, 13 Dec 2022 18:23:06 +0000
Received: by outflank-mailman (input) for mailman id 461053;
 Tue, 13 Dec 2022 18:23:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p59vk-00053y-LV
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 18:23:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p59vk-00080j-Bd; Tue, 13 Dec 2022 18:23:04 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.2.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p59vk-0002Ki-56; Tue, 13 Dec 2022 18:23:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=72riBgDDk87ReXXsjXAPbj/2mCgXQUGBgBSX9xb4wXQ=; b=OzKw/ZVnIcJdXxKdvyZiBaXyO2
	qHmlpkDd67nuneA0D2ocCjp/Igp0+2WBCAjOcWQJv+snlCY1qmPIm/6LahvCf45Zuj8hQld6D8krU
	ycC4KlRJbjdy+dlRbVxbhVgpXftsET4wKeefJEzhUub4ml1B2t4OQheEAMqQDn8xk4qQ=;
Message-ID: <48622388-b6de-e6dd-065d-0de6e8d8fbbb@xen.org>
Date: Tue, 13 Dec 2022 18:23:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v3 09/18] xen/arm32: head: Remove restriction where to
 load Xen
Content-Language: en-US
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, Luca.Fancellu@arm.com,
 Julien Grall <jgrall@amazon.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-10-julien@xen.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221212095523.52683-10-julien@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 12/12/2022 09:55, Julien Grall wrote:
>   /*
>    * Map the UART in the fixmap (when earlyprintk is used) and hook the
>    * fixmap table in the page tables.
> diff --git a/xen/arch/arm/domain_page.c b/xen/arch/arm/domain_page.c
> index b7c02c919064..907fb93d4df0 100644
> --- a/xen/arch/arm/domain_page.c
> +++ b/xen/arch/arm/domain_page.c
> @@ -60,6 +60,7 @@ bool init_domheap_mappings(unsigned int cpu)
>       for ( i = 0; i < DOMHEAP_SECOND_PAGES; i++ )
>       {
>           lpae_t pte = mfn_to_xen_entry(mfn_add(mfn, i), MT_NORMAL);
> +

While the newline is correct, this shouldn't have been part of this 
patch. So I have dropped it from this patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 18:31:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 18:31:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461062.719093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5A3V-0006k9-VA; Tue, 13 Dec 2022 18:31:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461062.719093; Tue, 13 Dec 2022 18:31:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5A3V-0006k2-S9; Tue, 13 Dec 2022 18:31:05 +0000
Received: by outflank-mailman (input) for mailman id 461062;
 Tue, 13 Dec 2022 18:31:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5A3U-0006ju-Rl
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 18:31:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5A3U-00088b-Hh; Tue, 13 Dec 2022 18:31:04 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.2.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5A3U-0002Sn-5b; Tue, 13 Dec 2022 18:31:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=6UfpZFnUfdvX13RKPH1crLDQ+vK9P+9AIhgu3XxVfQ4=; b=kZxgv1Awo4SnO6khs7ZeqLtDto
	NUqMH+FEIiKR2b9QkfntnEOktuRhBL5q3WhuJMVY7ihfqwr87TRdE9WviPJys3O8/D726q68L1++1
	uhLE+w+bHiBWERdKO83EDea7XA6HzEl+HxU0fBkcaF+O5MFw+g+767OcaItVLJ29juVc=;
Message-ID: <60828b0c-ffd2-ba02-9016-3bafb2eff96e@xen.org>
Date: Tue, 13 Dec 2022 18:31:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v3 12/18] xen/arm64: Rework the memory layout
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-13-julien@xen.org>
 <alpine.DEB.2.22.394.2212121710470.3075842@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2212121710470.3075842@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 13/12/2022 01:22, Stefano Stabellini wrote:
> On Mon, 12 Dec 2022, Julien Grall wrote:
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Xen is currently not fully compliant with the Arm Arm because it will
>> switch the TTBR with the MMU on.
>>
>> In order to be compliant, we need to disable the MMU before
>> switching the TTBR. The implication is the page-tables should
>> contain an identity mapping of the code switching the TTBR.
>>
>> In most of the case we expect Xen to be loaded in low memory. I am aware
>> of one platform (i.e AMD Seattle) where the memory start above 512GB.
>> To give us some slack, consider that Xen may be loaded in the first 2TB
>> of the physical address space.
>>
>> The memory layout is reshuffled to keep the first two slots of the zeroeth
>> level free. Xen will now be loaded at (2TB + 2MB). This requires a slight
>> tweak of the boot code because XEN_VIRT_START cannot be used as an
>> immediate.
>>
>> This reshuffle will make trivial to create a 1:1 mapping when Xen is
>> loaded below 2TB.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>> ---
>>
>>      Changes in v2:
>>          - Reword the commit message
>>          - Load Xen at 2TB + 2MB
>>          - Update the documentation to reflect the new layout
>> ---
>>   xen/arch/arm/arm64/head.S         |  3 ++-
>>   xen/arch/arm/include/asm/config.h | 34 +++++++++++++++++++++----------
>>   xen/arch/arm/mm.c                 | 11 +++++-----
>>   3 files changed, 31 insertions(+), 17 deletions(-)
>>
>> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
>> index ad014716db6f..23c2c7491db2 100644
>> --- a/xen/arch/arm/arm64/head.S
>> +++ b/xen/arch/arm/arm64/head.S
>> @@ -607,7 +607,8 @@ create_page_tables:
>>            * need an additional 1:1 mapping, the virtual mapping will
>>            * suffice.
>>            */
>> -        cmp   x19, #XEN_VIRT_START
>> +        ldr   x0, =XEN_VIRT_START
>> +        cmp   x19, x0
>>           bne   1f
>>           ret
>>   1:
>> diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
>> index 6c1b762e976d..9fe6bfeeeb95 100644
>> --- a/xen/arch/arm/include/asm/config.h
>> +++ b/xen/arch/arm/include/asm/config.h
>> @@ -72,15 +72,12 @@
>>   #include <xen/page-size.h>
>>   
>>   /*
>> - * Common ARM32 and ARM64 layout:
>> + * ARM32 layout:
>>    *   0  -   2M   Unmapped
>>    *   2M -   4M   Xen text, data, bss
>>    *   4M -   6M   Fixmap: special-purpose 4K mapping slots
>>    *   6M -  10M   Early boot mapping of FDT
>> - *   10M - 12M   Livepatch vmap (if compiled in)
>> - *
>> - * ARM32 layout:
>> - *   0  -  12M   <COMMON>
>> + *  10M -  12M   Livepatch vmap (if compiled in)
>>    *
>>    *  32M - 128M   Frametable: 24 bytes per page for 16GB of RAM
>>    * 256M -   1G   VMAP: ioremap and early_ioremap use this virtual address
>> @@ -90,8 +87,17 @@
>>    *   2G -   4G   Domheap: on-demand-mapped
>>    *
>>    * ARM64 layout:
>> - * 0x0000000000000000 - 0x0000007fffffffff (512GB, L0 slot [0])
>> - *   0  -  12M   <COMMON>
>> + * 0x0000000000000000 - 0x00001fffffffffff (2TB, L0 slots [0..1])
>> + *
> 
> Extra blank line

I have removed it.

> 
> 
>> + *  Reserved to identity map Xen
>> + *
>> + * 0x0000020000000000 - 0x000028fffffffff (512TB, L0 slot [2]
>> + *  (Relative offsets)
>> + *   0  -   2M   Unmapped
>> + *   2M -   4M   Xen text, data, bss
>> + *   4M -   6M   Fixmap: special-purpose 4K mapping slots
>> + *   6M -  10M   Early boot mapping of FDT
>> + *  10M -  12M   Livepatch vmap (if compiled in)
>>    *
>>    *   1G -   2G   VMAP: ioremap and early_ioremap
>>    *
>> @@ -107,7 +113,17 @@
>>    *  Unused
>>    */
>>   
>> +#ifdef CONFIG_ARM_32
>>   #define XEN_VIRT_START          _AT(vaddr_t, MB(2))
>> +#else
>> +
>> +#define SLOT0_ENTRY_BITS  39
>> +#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
>> +#define SLOT0_ENTRY_SIZE  SLOT0(1)
>> +
>> +#define XEN_VIRT_START          (SLOT0(2) + _AT(vaddr_t, MB(2)))
>> +#endif
> 
> Sorry for the silly question and I apologize if I got the math wrong.
> 
> 1<<39 is 512MB, so:

Looking at how you use below, I am guessing you mean GB rather than MB.

> 
> slot0 is [0..512MB]
> slot1 is [512MB..1TB]
> slot2 is [1TB..1.5TB]
> slot3 is [1.5TB..2TB]
> slot4 is [2TB..2.5TB]
> 
> So, if we want Xen just above 2TB we should use slot4? Which would be
> SLOT0(4) ?

You are right. I will update the code.

> 
> 
>>   #define XEN_VIRT_SIZE           _AT(vaddr_t, MB(2))
>>   
>>   #define FIXMAP_VIRT_START       (XEN_VIRT_START + XEN_VIRT_SIZE)
>> @@ -164,10 +180,6 @@
>>   
>>   #else /* ARM_64 */
>>   
>> -#define SLOT0_ENTRY_BITS  39
>> -#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
>> -#define SLOT0_ENTRY_SIZE  SLOT0(1)
>> -
>>   #define VMAP_VIRT_START  GB(1)
>>   #define VMAP_VIRT_SIZE   GB(1)
>>   
>> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
>> index d0b1cf55f550..cc11f5c639e6 100644
>> --- a/xen/arch/arm/mm.c
>> +++ b/xen/arch/arm/mm.c
>> @@ -153,7 +153,7 @@ static void __init __maybe_unused build_assertions(void)
>>   #endif
>>       /* Page table structure constraints */
>>   #ifdef CONFIG_ARM_64
>> -    BUILD_BUG_ON(zeroeth_table_offset(XEN_VIRT_START));
>> +    BUILD_BUG_ON(zeroeth_table_offset(XEN_VIRT_START) < 2);
>>   #endif
>>       BUILD_BUG_ON(first_table_offset(XEN_VIRT_START));
>>   #ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
>> @@ -498,10 +498,11 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
>>       phys_offset = boot_phys_offset;
>>   
>>   #ifdef CONFIG_ARM_64
>> -    p = (void *) xen_pgtable;
>> -    p[0] = pte_of_xenaddr((uintptr_t)xen_first);
>> -    p[0].pt.table = 1;
>> -    p[0].pt.xn = 0;
>> +    pte = pte_of_xenaddr((uintptr_t)xen_first);
>> +    pte.pt.table = 1;
>> +    pte.pt.xn = 0;
>> +    xen_pgtable[zeroeth_table_offset(XEN_VIRT_START)] = pte;
>> +
>>       p = (void *) xen_first;
>>   #else
>>       p = (void *) cpu0_pgtable;
>> -- 
>> 2.38.1
>>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 18:47:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 18:47:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461073.719104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5AJM-0000M3-Af; Tue, 13 Dec 2022 18:47:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461073.719104; Tue, 13 Dec 2022 18:47:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5AJM-0000Lw-7I; Tue, 13 Dec 2022 18:47:28 +0000
Received: by outflank-mailman (input) for mailman id 461073;
 Tue, 13 Dec 2022 18:47:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5AJL-0000Lm-0n; Tue, 13 Dec 2022 18:47:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5AJK-00009Q-VK; Tue, 13 Dec 2022 18:47:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5AJK-0003ge-HM; Tue, 13 Dec 2022 18:47:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5AJK-0000BM-Gv; Tue, 13 Dec 2022 18:47:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vW0ZhJrTaMBMi2Sqn2GRLKhBeyQx82rii9Pc2OpimyI=; b=6xurJQyVY4j62fjMO80awV7mBy
	XSeol8hv+d4uy3UWAB0+VJ6f+cwGuykFNdvhjmaiTBNxWvDdX2Z7C8HeqqLxFdWU/8DcURjyMhRSB
	lScyjAf6RRK0OOVIevrXFf8OphHKSs/TyGtqkHFh4mbKidlaJBKihg7o5E8dxROms3LY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175176-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175176: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=1fd8d08970a9ee7d350c7dd42bffb0cb96426041
X-Osstest-Versions-That:
    ovmf=11ce7a2de7549306a853cc3fe3abe6ef8f874b40
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 13 Dec 2022 18:47:26 +0000

flight 175176 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175176/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 1fd8d08970a9ee7d350c7dd42bffb0cb96426041
baseline version:
 ovmf                 11ce7a2de7549306a853cc3fe3abe6ef8f874b40

Last test of basis   175172  2022-12-13 14:40:49 Z    0 days
Testing same since   175176  2022-12-13 17:10:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jeff Brasen <jbrasen@nvidia.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   11ce7a2de7..1fd8d08970  1fd8d08970a9ee7d350c7dd42bffb0cb96426041 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 18:58:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 18:58:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461086.719115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5AUP-0002EI-Fw; Tue, 13 Dec 2022 18:58:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461086.719115; Tue, 13 Dec 2022 18:58:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5AUP-0002EB-Cm; Tue, 13 Dec 2022 18:58:53 +0000
Received: by outflank-mailman (input) for mailman id 461086;
 Tue, 13 Dec 2022 18:58:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mprF=4L=templeofstupid.com=kjlx@srs-se1.protection.inumbo.net>)
 id 1p5AUN-0002E3-Sf
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 18:58:52 +0000
Received: from cow.elm.relay.mailchannels.net (cow.elm.relay.mailchannels.net
 [23.83.212.41]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2bb8d130-7b18-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 19:58:48 +0100 (CET)
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id A9E0A3C193E
 for <xen-devel@lists.xenproject.org>; Tue, 13 Dec 2022 18:58:45 +0000 (UTC)
Received: from pdx1-sub0-mail-a304.dreamhost.com (unknown [127.0.0.6])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 3F1F23C2162
 for <xen-devel@lists.xenproject.org>; Tue, 13 Dec 2022 18:58:45 +0000 (UTC)
Received: from pdx1-sub0-mail-a304.dreamhost.com (pop.dreamhost.com
 [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384)
 by 100.123.200.72 (trex/6.7.1); Tue, 13 Dec 2022 18:58:45 +0000
Received: from kmjvbox (c-73-70-108-208.hsd1.ca.comcast.net [73.70.108.208])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 (Authenticated sender: kjlx@templeofstupid.com)
 by pdx1-sub0-mail-a304.dreamhost.com (Postfix) with ESMTPSA id 4NWnpD275xzhj
 for <xen-devel@lists.xenproject.org>; Tue, 13 Dec 2022 10:58:44 -0800 (PST)
Received: from johansen (uid 1000) (envelope-from kjlx@templeofstupid.com)
 id e0106 by kmjvbox (DragonFly Mail Agent v0.12);
 Tue, 13 Dec 2022 10:58:42 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2bb8d130-7b18-11ed-91b6-6bf2151ebd3b
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1670957925; a=rsa-sha256;
	cv=none;
	b=vbxmtodfxpAhP/S3TK48+NjWBYDR0OvBKkeJGv9vjJN66H8aXMUJXlj+07w2iX+OWz8cK0
	sxapHBK2uMRITvYyeGGu1s5USkxwWEDOXb0Q1a1SxXNhVAIEja49ZfTFT6yiz7ytrn5x/C
	1hTYZ1YCs61AT6PYZgXdD4H6JSZ0iczwAxA/35DCEtmBKIV230WtbSOALgT+qy32b2rHDn
	BL0xY+5qs4IDn9ADewDBuxdT7C44LFm3Unl/MDeHWGWCLcgC2ffp7hLYHUYll5NtE7urQy
	5M79SgMpwBgXR8GqOBuhUXVQUfjzBUtu0DEq6PenP7Ocr+P3yG0z2lXqlW0wKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
 d=mailchannels.net;
	s=arc-2022; t=1670957925;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:dkim-signature;
	bh=E0qUk9TTQJ05tyym3+Ykvnx/NywduTmX7ZoBw4ir51k=;
	b=NXSLQcRbT2saxtsgmEjKwf1sWyth/k73W2naGvnIqY+VdOZCauVYSIk9fsDLEISu7B4IDD
	Bmn+NlUxU3tKxi3Zc4Zp2h+XkogU3S08Irl8iIX/Q2EMeccsabaVKeLRWhli5tNNu/iQow
	LOeNWZgCMk0dwz1gCmzpwSbuRBlsknUviddq1Ipw0Vs6sO+1+Ti/VG7ShIHoRL83a3YEB3
	HxNVU4HWt64YupEtazTQVbTlnGp+a500CZ8XtXaOssb6D0KbH2QuNgrCqBAME197j0LglT
	uPBWtz9jOZ6mdJO+jkyIyGCOExvVBPHV/IBjXk76Il1AJbyCNPZcVQz0cRNeXg==
ARC-Authentication-Results: i=1;
	rspamd-85f95c7974-5pdxx;
	auth=pass smtp.auth=dreamhost smtp.mailfrom=kjlx@templeofstupid.com
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MC-Relay: Good
X-MailChannels-SenderId: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MailChannels-Auth-Id: dreamhost
X-Towering-Whispering: 3f7945cf58d1283b_1670957925521_3882195599
X-MC-Loop-Signature: 1670957925521:1036023872
X-MC-Ingress-Time: 1670957925521
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=templeofstupid.com;
	s=dreamhost; t=1670957924;
	bh=E0qUk9TTQJ05tyym3+Ykvnx/NywduTmX7ZoBw4ir51k=;
	h=Date:From:To:Cc:Subject:Content-Type;
	b=HDlQsT9u0YLBXZPEfKIFYcff6girmqTtncfGBUnOmGwWXI8rggk9jNK67G3PGTWu9
	 ZA5nMtDJs5WyZ9/CSfZTiuoR1IPMmnkmhbYXgmL8zt9VQ3CFzueXSSGvUkUMrAQvXm
	 LYX/C+ss6rRjla0ibnVwKS78ieA28c89hHxwgV+w=
Date: Tue, 13 Dec 2022 10:58:42 -0800
From: Krister Johansen <kjlx@templeofstupid.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Anthony Liguori <aliguori@amazon.com>,
	David Reaver <me@davidreaver.com>,
	Brendan Gregg <brendan@intel.com>, Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [PATCH linux-next v2] x86/xen/time: prefer tsc as clocksource
 when it is invariant
Message-ID: <20221213185842.GA1987@templeofstupid.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
 <20221212155730.GA1973@templeofstupid.com>
 <20221212160524.GB1973@templeofstupid.com>
 <1eb6048b-bf23-78a0-9c3c-54bbd12c3864@suse.com>
 <20221212220519.GA1935@templeofstupid.com>
 <60582b25-4fb9-a2c8-9db3-9b5593f039c1@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <60582b25-4fb9-a2c8-9db3-9b5593f039c1@suse.com>

On Tue, Dec 13, 2022 at 08:23:29AM +0100, Jan Beulich wrote:
> On 12.12.2022 23:05, Krister Johansen wrote:
> > On Mon, Dec 12, 2022 at 05:46:29PM +0100, Jan Beulich wrote:
> >> On 12.12.2022 17:05, Krister Johansen wrote:
> >>> Both the Intel SDM[4] and the Xen tsc documentation explain that marking
> >>> a tsc as invariant means that it should be considered stable by the OS
> >>> and is elibile to be used as a wall clock source.  The Xen documentation
> >>> further clarifies that this is only reliable on HVM and PVH because PV
> >>> cannot intercept a cpuid instruction.
> >>
> >> Without meaning to express a view on the argumentation as a whole, this
> >> PV aspect is suspicious. Unless you open-code a use of the CPUID insn
> >> in the kernel, all uses of CPUID are going to be processed by Xen by
> >> virtue of the respective pvops hook. Documentation says what it says
> >> for environments where this might not be the case.
> > 
> > Thanks, appreciate the clarification here. Just restating this for my
> > own understanding: your advice would be to drop this check below?
> 
> No, I'm unconvinced of if/where this transformation is really appropriate.

Ah, I see.  You're saying that you're not convinced that this code
should ever lower the priority of xen clocksource in favor of the tsc?
If so, are you willing to say a bit more about what you find to be
unconvincing?

In as much detail as I can muster: the impetus for the patch was that I
had a variety of different systems running as both kvm and xen guests.
Some of these guests had clocksource tunings in place as a result of
consulting the documentation linked in the patch.  But others didn't.
On kvm they had somehow done the "right" (?) thing.  Some systems had
tuning in place for xen, despite no longer being a xen guests.  Other
systems were running on xen and didn't have the recommended tuning
applied.  That's all sorted now, but it seemed like it might be nice to
eliminate the need for others to do this in future. With kvm doing
something similar, I thought there might be enough precedent to consider
this for xen guests.

> My comment was merely to indicate that the justification for ...
> 
> >>> +	if (!(xen_hvm_domain() || xen_pvh_domain()))
> >>> +		return 0;
> 
> ... this isn't really correct.

The rationale for this bit of code was the justification that turns
out to be incorrect.  That sounds to me like I have unnessary code,
unless I was right by mistake?

> > And then update the commit message to dispense with the distinction
> > between HVM, PV, and PVH?
> > 
> >>> +	cpuid(xen_cpuid_base() + 3, &eax, &ebx, &ecx, &edx);
> >>
> >> Xen leaf 3 has sub-leaves, so I think you need to set ecx to zero before
> >> this call.
> > 
> > The cpuid() inline in arch/x86/include/asm/processor.h assigns zero to
> > ecx prior to calling __cpuid.  In arch/x86/boot/cpuflags.c the macros
> > are a little different, but it looks like there too, the macro passes 0
> > as an input argument to cpuid_count which ends up being %ecx.  Happy to
> > fix this up if I'm looking at the wrong cpuid functions, though.
> 
> Oh, I didn't expect cpuid() to be more than a trivial wrapper around the
> the pvops hook, and I merely looked at native_cpuid() and xen_cpuid().
> I'm sorry for the noise then. Yet still, with there being sub-leaves, I'd
> recommend switching to cpuid_count() just for clarity.

No apology necessary.  I'm happy to modify this to use cpuid_count() for
clarity.

-K


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 19:08:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 19:08:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461095.719125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Adb-00041t-A9; Tue, 13 Dec 2022 19:08:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461095.719125; Tue, 13 Dec 2022 19:08:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Adb-00041m-7N; Tue, 13 Dec 2022 19:08:23 +0000
Received: by outflank-mailman (input) for mailman id 461095;
 Tue, 13 Dec 2022 19:08:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5Ada-00041d-4L
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 19:08:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5AdZ-0000Y0-LR; Tue, 13 Dec 2022 19:08:21 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.2.179]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5AdZ-00043m-EW; Tue, 13 Dec 2022 19:08:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=3aWGQN60DPPv8Q6n0KPsy27lBgN4V0tszruDaqxQCak=; b=I5a7ePmOyQXeq1hXz+6TYAt/MY
	d2H6nPyod4wOUCM2FURb/oGDPUQhmjGWMJRXUcWW7QAXRyWulJNZSKkxYF1toXnCWe2A60UOFa/pT
	4OoQXS1y1biVrAfnHabv8cs+ctbqsWxhkdomvICd95PjKLhpXPGZm3CDnoECQmNUlbFE=;
Message-ID: <aa82a916-5c2b-83eb-328d-ac234eabc77c@xen.org>
Date: Tue, 13 Dec 2022 19:08:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v3 18/18] xen/arm64: mm: Rework switch_ttbr()
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-19-julien@xen.org>
 <alpine.DEB.2.22.394.2212121748560.3075842@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2212121748560.3075842@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 13/12/2022 02:00, Stefano Stabellini wrote:
> On Mon, 12 Dec 2022, Julien Grall wrote:
>> From: Julien Grall <jgrall@amazon.com>
>>
>> At the moment, switch_ttbr() is switching the TTBR whilst the MMU is
>> still on.
>>
>> Switching TTBR is like replacing existing mappings with new ones. So
>> we need to follow the break-before-make sequence.
>>
>> In this case, it means the MMU needs to be switched off while the
>> TTBR is updated. In order to disable the MMU, we need to first
>> jump to an identity mapping.
>>
>> Rename switch_ttbr() to switch_ttbr_id() and create an helper on
>> top to temporary map the identity mapping and call switch_ttbr()
>> via the identity address.
>>
>> switch_ttbr_id() is now reworked to temporarily turn off the MMU
>> before updating the TTBR.
>>
>> We also need to make sure the helper switch_ttbr() is part of the
>> identity mapping. So move _end_boot past it.
>>
>> The arm32 code will use a different approach. So this issue is for now
>> only resolved on arm64.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> This patch looks overall good to me, aside from the few minor comments
> below. I would love for someone else, maybe from ARM, reviewing steps
> 1-6 making sure they are the right sequence.
> 
> 
>> ---
>>
>>      Changes in v2:
>>          - Remove the arm32 changes. This will be addressed differently
>>          - Re-instate the instruct cache flush. This is not strictly
>>            necessary but kept it for safety.
>>          - Use "dsb ish"  rather than "dsb sy".
>>
>>      TODO:
>>          * Handle the case where the runtime Xen is loaded at a different
>>            position for cache coloring. This will be dealt separately.
>> ---
>>   xen/arch/arm/arm64/head.S     | 50 +++++++++++++++++++++++------------
>>   xen/arch/arm/arm64/mm.c       | 39 +++++++++++++++++++++++++++
>>   xen/arch/arm/include/asm/mm.h |  2 ++
>>   xen/arch/arm/mm.c             | 14 +++++-----
>>   4 files changed, 82 insertions(+), 23 deletions(-)
>>
>> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
>> index 663f5813b12e..1f69864492b6 100644
>> --- a/xen/arch/arm/arm64/head.S
>> +++ b/xen/arch/arm/arm64/head.S
>> @@ -816,30 +816,46 @@ ENDPROC(fail)
>>    * Switch TTBR
>>    *
>>    * x0    ttbr
>> - *
>> - * TODO: This code does not comply with break-before-make.
>>    */
>> -ENTRY(switch_ttbr)
>> -        dsb   sy                     /* Ensure the flushes happen before
>> -                                      * continuing */
>> -        isb                          /* Ensure synchronization with previous
>> -                                      * changes to text */
>> -        tlbi   alle2                 /* Flush hypervisor TLB */
>> -        ic     iallu                 /* Flush I-cache */
>> -        dsb    sy                    /* Ensure completion of TLB flush */
>> +ENTRY(switch_ttbr_id)
>> +        /* 1) Ensure any previous read/write have completed */
>> +        dsb    ish
>> +        isb
>> +
>> +        /* 2) Turn off MMU */
>> +        mrs    x1, SCTLR_EL2
>> +        bic    x1, x1, #SCTLR_Axx_ELx_M
> 
> do we need a "dsb   sy" here? we have in enable_mmu

Hmmm... The explanation of the dsb + isb in enable_mmu makes no sense. 
The isb doesn't flush the I-cache, it just flushes the pipeline.

For the dsb, I am not convinced it is necessary because we already have 
the 'dsb nsh' above and in any case the barrier seems to be too strong.

I guess that will be another patch... (probably at a lower priority).

Now back to your question of the 'dsb' here. There is already a 'dsb 
ish' above. So memory access before turning off the MMU should be 
completed. Also...

> 
> 
>> +        msr    SCTLR_EL2, x1
>> +        isb

... this isb will ensure the completion of SCTLR before the TLBs are 
flushed before. And there should be no memory access (or than 
instructions here). So I don't think the a dsb is needed.

Would you mind to explain why you think there is one needed?

>> +
>> +        /*
>> +         * 3) Flush the TLBs.
>> +         * See asm/arm64/flushtlb.h for the explanation of the sequence.
>> +         */
>> +        dsb   nshst
>> +        tlbi  alle2
>> +        dsb   nsh
>> +        isb
>> +
>> +        /* 4) Update the TTBR */
>> +        msr   TTBR0_EL2, x0
>>           isb
>>   
>> -        msr    TTBR0_EL2, x0
>> +        /*
>> +         * 5) Flush I-cache
>> +         * This should not be necessary but it is kept for safety.
>> +         */
>> +        ic     iallu
>> +        isb
>>   
>> -        isb                          /* Ensure synchronization with previous
>> -                                      * changes to text */
>> -        tlbi   alle2                 /* Flush hypervisor TLB */
>> -        ic     iallu                 /* Flush I-cache */
>> -        dsb    sy                    /* Ensure completion of TLB flush */
>> +        /* 5) Turn on the MMU */
> 
> This should be 6)

I will update it.

> 
> 
>> +        mrs   x1, SCTLR_EL2
>> +        orr   x1, x1, #SCTLR_Axx_ELx_M  /* Enable MMU */
>> +        msr   SCTLR_EL2, x1
>>           isb
>>   
>>           ret
>> -ENDPROC(switch_ttbr)
>> +ENDPROC(switch_ttbr_id)
>>   
>>   #ifdef CONFIG_EARLY_PRINTK
>>   /*
>> diff --git a/xen/arch/arm/arm64/mm.c b/xen/arch/arm/arm64/mm.c
>> index 9eaf545ea9dd..2ede4e75ae33 100644
>> --- a/xen/arch/arm/arm64/mm.c
>> +++ b/xen/arch/arm/arm64/mm.c
>> @@ -31,6 +31,15 @@ static void __init prepare_boot_identity_mapping(void)
>>       lpae_t pte;
>>       DECLARE_OFFSETS(id_offsets, id_addr);
>>   
>> +    /*
>> +     * We will be re-using the boot ID tables. They may not have been
>> +     * zeroed but they should be unlinked. So it is fine to use
>> +     * clear_page().
>> +     */
>> +    clear_page(boot_first_id);
>> +    clear_page(boot_second_id);
>> +    clear_page(boot_third_id);
> 
> Could this code be in patch #15?

Yes, I can't remember why I decided to clear them in patch #18.

>>       if ( id_offsets[0] != 0 )
>>           panic("Cannot handled ID mapping above 512GB\n");
>>   
>> @@ -111,6 +120,36 @@ void update_identity_mapping(bool enable)
>>       BUG_ON(rc);
>>   }
>>   
>> +extern void switch_ttbr_id(uint64_t ttbr);
>> +
>> +typedef void (switch_ttbr_fn)(uint64_t ttbr);
>> +
>> +void __init switch_ttbr(uint64_t ttbr)
>> +{
>> +    vaddr_t id_addr = virt_to_maddr(switch_ttbr_id);
>> +    switch_ttbr_fn *fn = (switch_ttbr_fn *)id_addr;
>> +    lpae_t pte;
>> +
>> +    /* Enable the identity mapping in the boot page tables */
> 
> See below...
> 
>> +    update_identity_mapping(true);
>> +    /* Enable the identity mapping in the runtime page tables */
>> +    pte = pte_of_xenaddr((vaddr_t)switch_ttbr_id);
>> +    pte.pt.table = 1;
>> +    pte.pt.xn = 0;
>> +    pte.pt.ro = 1;
>> +    write_pte(&xen_third_id[third_table_offset(id_addr)], pte);
>> +
>> +    /* Switch TTBR */
>> +    fn(ttbr);
>> +
>> +    /*
>> +     * Disable the identity mapping in the runtime page tables.
>> +     * Note it is not necessary to disable it in the boot page tables
>> +     * because they are not going to be used by this CPU anymore.
>> +     */
> 
> ...is update_identity_mapping acting on the boot pagetables or the
> runtime pagetables? The two comments make me think that
> update_identity_mapping is enabling mapping in the boot pagetables and
> removing them from the runtime pagetable, which would be strangely
> inconsistent.

update_identity_mapping() is acting on the live page-tables (i.e. the 
one pointed by TTBR_EL2).

Before switch_ttbr(), this will be the boot page-tables. But after, this 
will be the runtime page-tables.

Would the following comment on top of the declaration of 
update_identity_mapping() clarifies it:

"Enable/disable the identity mapping in the live page-tables (i.e. the 
one pointed by TTBR_EL2)."

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 19:48:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 19:48:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461108.719143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5BG7-0000wP-Bb; Tue, 13 Dec 2022 19:48:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461108.719143; Tue, 13 Dec 2022 19:48:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5BG7-0000wI-8q; Tue, 13 Dec 2022 19:48:11 +0000
Received: by outflank-mailman (input) for mailman id 461108;
 Tue, 13 Dec 2022 19:48:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jsqc=4L=riversideresearch.org=rsmith@srs-se1.protection.inumbo.net>)
 id 1p5BG6-0000wC-GF
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 19:48:10 +0000
Received: from USG02-BN3-obe.outbound.protection.office365.us
 (mail-bn3usg02on0127.outbound.protection.office365.us [23.103.208.127])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0fcd62b8-7b1f-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 20:48:07 +0100 (CET)
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:185::22)
 by BN0P110MB1144.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:16c::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 19:48:04 +0000
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::81df:6431:7a2d:4610]) by BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::81df:6431:7a2d:4610%5]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 19:48:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0fcd62b8-7b1f-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=nsslWmkWArSMGNzKn2zVkbcau8Peri9+vMfpdBdHlycDpQuoYNFHzs+2680ciECO7sRLYc7immKTw0VaX97cirNLPY8+T/lC3nceEgi7DcxxDEuMUjz93kXdEYuBfeu5G9IlB8ZxMgF94RvIxZ3NTt1Lshe9vx047nNrYX3jAuRh3lDmkYFUhjIDjWsYKUAXlR9K70GENP7gfz6JIEpZL9h0wek2S5gLL1WlfFPD4I20c0HHCX5vRklWKgAFxTo3mNydI4s+ERAVY79o5BDDQPgMiKj8S/77eaaL0YZKSUcPGssjaWWlqmJAA3F9vXo5bIDrgrSKFU+JhFj8a+ftSQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x7cs8Sj6YtftJejRuD+FMBnMFGkvfySrbdQX/bpMOAs=;
 b=U0QO+2tI1SLyVglvfbYH6AosfCpgYQJ62eUKmRi8Ehr7bKR3PewWZC6t/uOFZhnVukgpvhV4NUqoX1xjRBKsHzxdC8d5pckyC5oCcc4PxWEQ0XDig5Rf6h79SreQ49qxeBH8V7eOF5rNAo7snhCNeTaqykFjbeY0FIn6zQnD8o/zLNX1jS++9VowPDFkX+S4FUz7zPX82Mbs96Nu7mA/N/7XiluwmaEcpJai1yNiY9SF/WWIIKf7iph6I1szdAQqvI9tUqahfbpeQT41ljQ00bg+/JX70e3f1Vdj+e78WNPf7ySVnCZpGSSfCfjq8JORPFSDadFTcHpNC8HASsk/gw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=riversideresearch.org; dmarc=pass action=none
 header.from=riversideresearch.org; dkim=pass header.d=riversideresearch.org;
 arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riversideresearch.org;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=x7cs8Sj6YtftJejRuD+FMBnMFGkvfySrbdQX/bpMOAs=;
 b=IlDny066VdOOOXtEZSRvQnwVezw7zZn9oggDT9R83ESFsutwNnJJXKMIzxmBbgsiv5F/dqylrMuWpM9YYp+VrEJSaH71iqGW+TUNECHusRvEaaTbYZEN5vnmD6YQjxe9NepGsJHjtW2j6SLT1o0CFFgXawloadnyJhn7a5UGwjDYLqOZdWuQtN54j45Uz/ar2KsyB+2Wx8INa6lU6mbyiBXEq/990K9/FS/fTuA8a6NMtUJJ/9jr8lq4bF44zS2FcUKELI7psf8LC6gzT/M6zI/QrNHDvlVVHFNR0iqB+1zBYI6HeV0LRQfMjG9+zcg8Saw1bEcbmAA2CWDDVYf+QQ==
From: "Smith, Jackson" <rsmith@RiversideResearch.org>
To: "Smith, Jackson" <rsmith@RiversideResearch.org>
CC: "Brookes, Scott" <sbrookes@RiversideResearch.org>, Xen-devel
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, "jbeulich@suse.com"
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, "demi@invisiblethingslab.com"
	<demi@invisiblethingslab.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, "christopher.w.clark@gmail.com"
	<christopher.w.clark@gmail.com>
Subject: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Thread-Topic: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Thread-Index: AQHZDyrHUdSstfue4UmxiTJ0hoNsog==
Date: Tue, 13 Dec 2022 19:48:04 +0000
Message-ID:
 <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
suggested_attachment_session_id: 02f0e44f-2ae9-b871-7f78-7f3bc069c8a2
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=RiversideResearch.org;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0P110MB1642:EE_|BN0P110MB1144:EE_
x-ms-office365-filtering-correlation-id: d2db4263-6a44-4974-c6c6-08dadd42f300
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 QCXjn6URE1/80STJqg0PBphadXmccUOdfO13+85VzM26wV2OsBHus6JZf5QqzaQuX81WPIuawJNW9u6db9PACfhYqJNf/8ttR8oDuIrZ0xGmAoe0a0Po4CdQZYtdbAVsx5ARAftlgiwPa6LTQBvZyzNrBs5Cdy72FJaSBQ1cIMbX8nzIdZPdft6pfDyOyWojt+2gLIRFyZa8CwF1MPaYHpDCiqBgvhYXFp8O8b4dO62JqkR53xU7WZeR/tmy+QV0gpJ7PrjW1iTy57hDNY3Yh4LwKQ+iExlMS7IF0OIXVL2S0les4QV2bN5xv8kqdlja0DJPdsE7L6hOgGpLykZTuhmefMqbrs9aFSUC7jDHz14NTf38DZj5S25cDt5Ef4A1RtJ1ztpYbVZlJkNECsiwy2RL2CewqQ9i49WFlXp8SzCj8u/d+exyV6toy/no6O2e0ErafnAjc7pSyAII+v6MfEV0z4Xr4fbduAwgYQGJ6LDrHPS5ksW3jL701kd8doO0vP/8d02Gum0f3mg8POZUbYvc6j8kAxLucRLu86BgnUxrsWMpjbRO5ZTOjI4qJpXjCTBdmZmEgJlBrtwZOKRxHQqhtVwylsDacIrZ1TiYHuwTj0WN2aAug7Uu1x8h0k/eNvFo2uU+bukE5xeNRks5c8YvPi9JT4cffc/291GLeHU=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(366004)(451199015)(6506007)(83380400001)(7696005)(9686003)(508600001)(2906002)(6200100001)(86362001)(55016003)(33656002)(54906003)(38100700002)(82960400001)(966005)(38070700005)(76116006)(71200400001)(66556008)(66476007)(26005)(4326008)(66946007)(64756008)(8676002)(186003)(66446008)(8936002)(7416002)(6862004)(122000001)(5660300002)(52536014)(85282002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 W9nxsQ+CSdGyU3njmC+/327YVZLMNFpF3Gb25rmtmT/XvkwocbWD6qIZ5n6SjAIquvl0HOJ+LZmm2WfUnFR2EUtHMMwlWNwWPmePCbUPgBAmI0gVufayEKooqHQUj0PHg+QaMeQk60LebC7phBO6YuzHKwA7AWBAqGzJ9y95+KpLQeT4vCZDdWKe4BpVHGzEj0+sKMk1jzi0ilVhXO99NhuRKIMCpC38K6ahTX34wiJ1pRbidC7wM3HSm7bbvFuBdBkQKMovIQ73qC9eYB4UzFAfMrpPm3iJ71zirkb5qal4foiJmHumuZsBkPBHkary3k8pFRO2mpwnVYAKt4E2nCDDbsgHypGpBhduYX5g9IoaHltpZF9MOCkeoj3kO27+bALoL8f03B3nSKbA3tPhJ30VSflQI/kS7dNeuAM5uAo=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: riversideresearch.org
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: d2db4263-6a44-4974-c6c6-08dadd42f300
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2022 19:48:04.0684
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bfc64a8d-9064-4c64-91c3-9d10b44c1cb6
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P110MB1144

Hi Xen Developers,=0A=
=0A=
My team at Riverside Research is currently spending IRAD funding=0A=
to prototype next-generation secure hypervisor design ideas=0A=
on Xen. In particular, we are prototyping the idea of Virtual=0A=
Memory Fuses for Software Enclaves, as described in this paper:=0A=
https://www.nspw.org/papers/2020/nspw2020-brookes.pdf. Note that=0A=
that paper talks about OS/Process while we have implemented the idea=0A=
for Hypervisor/VM.=0A=
=0A=
Our goal is to emulate something akin to Intel SGX or AMD SEV,=0A=
but using only existing virtual memory features common in all=0A=
processors. The basic idea is not to map guest memory into the=0A=
hypervisor so that a compromised hypervisor cannot compromise=0A=
(e.g. read/write) the guest. This idea has been proposed before,=0A=
however, Virtual Memory Fuses go one step further; they delete the=0A=
hypervisor's mappings to its own page tables, essentially locking=0A=
the virtual memory configuration for the lifetime of the system. This=0A=
creates what we call "Software Enclaves", ensuring that an adversary=0A=
with arbitrary code execution in the hypervisor STILL cannot read/write=0A=
guest memory.=0A=
=0A=
With this technique, we protect the integrity and confidentiality of=0A=
guest memory. However, a compromised hypervisor can still read/write=0A=
register state during traps, or refuse to schedule a guest, denying=0A=
service. We also recognize that because this technique precludes=0A=
modifying Xen's page tables after startup, it may not be compatible=0A=
with all of Xen's potential use cases. On the other hand, there are=0A=
some uses cases (in particular statically defined embedded systems)=0A=
where our technique could be adopted with minimal friction.=0A=
=0A=
With this in mind our goal is to work with the Xen community to=0A=
upstream this work as an optional feature. At this point, we have=0A=
a prototype implementation of VMF on Xen (the contents of this RFC=0A=
patch series) that supports dom0less guests on arm 64. By sharing=0A=
our prototype, we hope to socialize our idea, gauge interest, and=0A=
hopefully gain useful feedback as we work toward upstreaming.=0A=
=0A=
** IMPLEMENTATION **=0A=
In our current setup we have a static configuration with dom0 and=0A=
one or two domUs. Soon after boot, Dom0 issues a hypercall through=0A=
the xenctrl interface to blow the fuse for the domU. In the future,=0A=
we could also add code to support blowing the fuse automatically on=0A=
startup, before any domains are un-paused.=0A=
=0A=
Our Xen/arm64 prototype creates Software Enclaves in two steps,=0A=
represented by these two functions defined in xen/vmf.h:=0A=
void vmf_unmap_guest(struct domain *d);=0A=
void vmf_lock_xen_pgtables(void);=0A=
=0A=
In the first, the Xen removes mappings to the guest(s) On arm64, Xen=0A=
keeps a reference to all of guest memory in the directmap. Right now,=0A=
we simply walk all of the guest second stage tables and remove them=0A=
from the directmap, although there is probably a more elegant method=0A=
for this.=0A=
=0A=
Second, the Xen removes mappings to its own page tables.=0A=
On arm64, this also involves manipulating the directmap. One challenge=0A=
here is that as we start to unmap our tables from the directmap,=0A=
we can't use the directmap to walk them. Our solution here is also=0A=
bit less elegant, we temporarily insert a recursive mapping and use=0A=
that to remove page table entries.=0A=
=0A=
** LIMITATIONS and other closing thoughts **=0A=
The current Xen code has obviously been implemented under the=0A=
assumption that new pages can be mapped, and that guest virtual=0A=
addresses can be read, so this technique will break some Xen=0A=
features. However, in the general case (in particular for static=0A=
workloads where the number of guest's is not changed after boot)=0A=
we've seen that Xen rarely needs to access guest memory or adjust=0A=
its page tables.=0A=
=0A=
We see a lot of potential synergy with other Xen initiatives like=0A=
Hyperlaunch for static domain allocation, or SEV support driving new=0A=
hypercall interfaces that don't require reading guest memory. These=0A=
features would allow VMF (Virtual Memory Fuses) to work with more=0A=
configurations and architectures than our current prototype, which=0A=
only supports static configurations on ARM 64.=0A=
=0A=
We have not yet studied how the prototype VMF implementation impacts=0A=
performance. On the surface, there should be no significant changes.=0A=
However, cache effects from splitting the directmap superpages could=0A=
introduce a performance cost.=0A=
=0A=
Additionally, there is additional latency introduced by walking all the=0A=
tables to retroactively remove guest memory. This could be optimized=0A=
by reworking the Xen code to remove the directmap. We've toyed with=0A=
the idea, but haven't attempted it yet.=0A=
=0A=
Finally, our initial testing suggests that Xen never reads guest memory=0A=
(in a static, non-dom0-enchanced configuration), but have not really=0A=
explored this thoroughly.=0A=
We know at least these things work:=0A=
	Dom0less virtual serial terminal=0A=
	Domain scheduling=0A=
We are aware that these things currently depend on accessible guest=0A=
memory:=0A=
	Some hypercalls take guest pointers as arguments=0A=
	Virtualized MMIO on arm needs to decode certain load/store=0A=
	instructions=0A=
=0A=
It's likely that other Xen features require guest memory access.=0A=
=0A=
Also, there is currently a lot of debug code that isn't needed for=0A=
normal operation, but assumes the ability to read guest memory or=0A=
walk page tables in an exceptional case. The xen codebase will need=0A=
to be audited for these cases, and proper guards inserted so this=0A=
code doesn't pagefault.=0A=
=0A=
Thanks for allowing us to share our work with you. We are really=0A=
excited about it, and we look forward to hearing your feedback. We=0A=
figure those working with Xen on a day to day basis will likely=0A=
uncover details we have overlooked.=0A=
=0A=
Jackson=0A=


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 19:50:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 19:50:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461118.719154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5BI8-0002MD-S2; Tue, 13 Dec 2022 19:50:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461118.719154; Tue, 13 Dec 2022 19:50:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5BI8-0002M6-Oe; Tue, 13 Dec 2022 19:50:16 +0000
Received: by outflank-mailman (input) for mailman id 461118;
 Tue, 13 Dec 2022 19:50:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jsqc=4L=riversideresearch.org=rsmith@srs-se1.protection.inumbo.net>)
 id 1p5BI7-0002M0-55
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 19:50:15 +0000
Received: from USG02-BN3-obe.outbound.protection.office365.us
 (mail-bn3usg02on0095.outbound.protection.office365.us [23.103.208.95])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b8422b5-7b1f-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 20:50:13 +0100 (CET)
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:185::22)
 by BN0P110MB1548.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:186::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 19:50:11 +0000
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::81df:6431:7a2d:4610]) by BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::81df:6431:7a2d:4610%5]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 19:50:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b8422b5-7b1f-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=sEwwqX+hQl3R+O9CVk4C7NL5UrlDq8/TOqaN1DCpWwtJfs47mA8gEgGJVRtrRA1Z2ARSCpIf+OFVwAIGokrNFrjw0sVQ84lU2W3ora0hc1+J4YfUdQ2HjIrdzXE3Izuku2VbtLeITic+hsG0Ngprr9eRc0QvwxyhbGj+SPSyBzAN6sGR+riEksPhUTcltG6egt8dBrXtnMpoSugsGs+qGYjwlXvrUEBaZQBZ/jrU2/RZ2hcUdofNzProAaYzAC9JtJvvSY5+QaJ7PHgem1qrf6fMixPN0xc7C89Am0EevHLLAj39iwqg+MpR9s2k9Dw9dGDdZ4JlZErvjDNY3s+zfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I0PsUDkmjU8ZqrhC77SP7qB92xlR9kM72Qt2ugNECpA=;
 b=dpX60XY5mfugGZGnAFw7EdWakLrRNnLT+uS/E3fhfKzBC5iux2OoGsjP5y4FKHCHsKirDtOG7FgYSVwFMyB/YaIxvNufnQcSLqJfV9FdxHRTfMFQSQKCJ3rzDm0dU+pcWSXZ9Q7TskrscW4FZFbTHlHth0T9YMY019JFI8veHqSxXJsHHvX9XP2CUyZlI/ft2yUUehFTDVFm750f048aFvxA66NSEJg+YWjMG2f5QwEgEBiavUWjfqOoH5neC0biCGxlYVCa4Fd+oyRvWVg21LjU7kGqS6zKqtBexOZYD5BNHmYCFYDvjxSO+wSTE54XY3tsL50qEwIGNW8CNIWwZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=riversideresearch.org; dmarc=pass action=none
 header.from=riversideresearch.org; dkim=pass header.d=riversideresearch.org;
 arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riversideresearch.org;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I0PsUDkmjU8ZqrhC77SP7qB92xlR9kM72Qt2ugNECpA=;
 b=qE8asZl9Igx8921sStM9BDszW1nVghv9Oog12oBcuYk9xbu7QgPAJXHXsz/HGqRDkE8iRt1Lp54Y5THp0OsvtSfaC+BzEROXev5Yp+A25Y2qgWseRwvvDHGn7Kw3tJvErSNQq3/qW4RTAbBrTR+fMQUhpRfrx8V0fpdeep8XBlzIlkx2EH4N3w28yCgnS9lJE73ZxL4bhtCVBoQ6cvrbRy5JAXie3506a2d0ww6EyzG1ADsZm9XIwcw12hK6meg+LTNZvPNKKPycWu7QVU+AjTZDuvqSRuRKJejx+LyaMXf2ujYJsitHNsdrHqGxWBWUaTbvK0vT5Cw6pNv3SBJGzQ==
From: "Smith, Jackson" <rsmith@RiversideResearch.org>
To: "Smith, Jackson" <rsmith@RiversideResearch.org>
CC: "Brookes, Scott" <sbrookes@RiversideResearch.org>, Xen-devel
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, "jbeulich@suse.com"
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, "demi@invisiblethingslab.com"
	<demi@invisiblethingslab.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, "christopher.w.clark@gmail.com"
	<christopher.w.clark@gmail.com>
Subject: [RFC 1/4] Add VMF Hypercall
Thread-Topic: [RFC 1/4] Add VMF Hypercall
Thread-Index: AQHZDywch81VanlmwUKrsDP9tDkwnQ==
Date: Tue, 13 Dec 2022 19:50:11 +0000
Message-ID:
 <BN0P110MB16428FBE352C8FC0E76E6C75CFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
References:
 <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
In-Reply-To:
 <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
suggested_attachment_session_id: 0f26b3df-fdae-edcd-dd64-bdcb516094da
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=RiversideResearch.org;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0P110MB1642:EE_|BN0P110MB1548:EE_
x-ms-office365-filtering-correlation-id: 23a5c9e5-4aae-4066-b453-08dadd433ef9
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 0xT7MpEoVqmChA2wI5osg3VqrI8nKc7Wkw5gP2mrbLrtaEDEdAYfmrterikgwteL5JAMyfvJkZUjMSPTBRmGY1ymGZkx4ICDfPl9bDwPhqELfb05Z1kKcBlpx10yZVHs0UTxnXwL9xY4VUjJhp1AWlrQBi6cr3JpTiq/+pnXZ36F/d42u0F8Z0lXtOV3Wb4Ap6yPLpCn85mhHNJhVMaYeebvLbpMVDW9L3nawwT4hUbhR3d+34NbAda1N7tdsPpPYOzrgRj3Sug8j8bshRCQYabMr1TyRKIF+gVqhMZ8JN8uBghETaLsfMYNVjoTrZK1MR/GhoDIuctqeRiypHuU9Y7W0cgvs56jiiweoD4aWhUw3u8FYjHzyYKdbvVWiuRzfxwCZJ2Yu7F/qxyZf/jc+oUWceyddq1u+FFc73IPwYjJKeR6v1C3hyg9Y5+qDudMEL0pjqcz5B29bou5LSAssgYWFGl1PzEcjN3gqxUp6v6GoROZoQvnwnt9cCkMYylzIJfYZvUwYGegTbPWqLZnSaIwfgYvlY3xfq+2T/q7+7UmwSt54nWys4nZZTkDaK1vWA1v+MsiNyi7wShJoD+LVMYEj9PYbhKCfd4mwzoBz/nWHgXjClMGVyMK9FgjJWkd3oQ3Ag3bg+Vz2flZa0Hpgg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(366004)(451199015)(64756008)(6200100001)(38070700005)(2906002)(38100700002)(5660300002)(7416002)(8936002)(33656002)(83380400001)(52536014)(6862004)(76116006)(66556008)(71200400001)(86362001)(8676002)(54906003)(4326008)(6506007)(55016003)(7696005)(122000001)(82960400001)(66946007)(508600001)(66446008)(9686003)(66476007)(26005)(186003)(2940100002)(85282002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 Q4JICLo5CJNYi0RHdrzPVdK62sw73Ux7/KlpJWGMn2o4rlqJ1i1qOXVwoT6g+nBvIvAlTgz207/Qwd+9Jopz5NMFnSyuD4CVH/XmaTs66/31OHbhg9NZlk3EuvkthpFp61KUuphFALZdIOK/LsP3x6iuKY3J7Mk5yMdf04YBgj7q3mRfwkiz6OtM+PC1mpcQQjPZ0HNXO+OVvusIemoDILXicWwYio08PLdncNx0k4p5pNPDeeweTwNP4hWWQs1mFppX+edkxWS5R5LBy7zExYeGD+iP8HgqPqqbvfxH+V1Ey7HqpvvB1OCZryakDYGAuKb8OUGY0fkMKobUyafEK0Q+4YiTL4DVQTPVtn9dOsHPE38UDxQam/syXwZ0oPWgAoixljoZUI6EmMGSsdDYGGfbs0JGGfOvL3nE4UnOJ9c=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: riversideresearch.org
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 23a5c9e5-4aae-4066-b453-08dadd433ef9
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2022 19:50:11.5289
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bfc64a8d-9064-4c64-91c3-9d10b44c1cb6
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P110MB1548

This commit introduces a new vmf_op hypercall. If desired, could be merged=
=0A=
into an exisiting hypercall.=0A=
=0A=
Also, introduce a VMF Kconfig option and xen/vmf.h, defining the arch speci=
fic=0A=
functions that must be implmented to support vmf.=0A=
---=0A=
 tools/include/xenctrl.h                 |   2 +=0A=
 tools/libs/ctrl/xc_private.c            |   5 ++=0A=
 tools/libs/ctrl/xc_private.h            |   5 ++=0A=
 xen/arch/x86/guest/xen/hypercall_page.S |   2 +=0A=
 xen/common/Kconfig                      |   3 +=0A=
 xen/common/Makefile                     |   1 +=0A=
 xen/common/vmf.c                        | 111 ++++++++++++++++++++++++++++=
++++=0A=
 xen/include/hypercall-defs.c            |   6 ++=0A=
 xen/include/public/vmf.h                |  24 +++++++=0A=
 xen/include/public/xen.h                |   3 +=0A=
 xen/include/xen/vmf.h                   |  20 ++++++=0A=
 11 files changed, 182 insertions(+)=0A=
 create mode 100644 xen/common/vmf.c=0A=
 create mode 100644 xen/include/public/vmf.h=0A=
 create mode 100644 xen/include/xen/vmf.h=0A=
=0A=
diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h=0A=
index 2303787..804ddba 100644=0A=
--- a/tools/include/xenctrl.h=0A=
+++ b/tools/include/xenctrl.h=0A=
@@ -1604,6 +1604,8 @@ long xc_memory_op(xc_interface *xch, unsigned int cmd=
, void *arg, size_t len);=0A=
 =0A=
 int xc_version(xc_interface *xch, int cmd, void *arg);=0A=
 =0A=
+int xc_vmf_op(xc_interface *xch, unsigned int cmd, uint32_t domid);=0A=
+=0A=
 int xc_flask_op(xc_interface *xch, xen_flask_op_t *op);=0A=
 =0A=
 /*=0A=
diff --git a/tools/libs/ctrl/xc_private.c b/tools/libs/ctrl/xc_private.c=0A=
index 2f99a7d..44fe9ba 100644=0A=
--- a/tools/libs/ctrl/xc_private.c=0A=
+++ b/tools/libs/ctrl/xc_private.c=0A=
@@ -555,6 +555,11 @@ int xc_version(xc_interface *xch, int cmd, void *arg)=
=0A=
     return rc;=0A=
 }=0A=
 =0A=
+int xc_vmf_op(xc_interface *xch, unsigned int cmd, uint32_t domid)=0A=
+{=0A=
+    return do_vmf_op(xch, cmd, domid);=0A=
+}=0A=
+=0A=
 unsigned long xc_make_page_below_4G(=0A=
     xc_interface *xch, uint32_t domid, unsigned long mfn)=0A=
 {=0A=
diff --git a/tools/libs/ctrl/xc_private.h b/tools/libs/ctrl/xc_private.h=0A=
index ed960c6..fb72cb4 100644=0A=
--- a/tools/libs/ctrl/xc_private.h=0A=
+++ b/tools/libs/ctrl/xc_private.h=0A=
@@ -222,6 +222,11 @@ static inline int do_xen_version(xc_interface *xch, in=
t cmd, xc_hypercall_buffer=0A=
                     cmd, HYPERCALL_BUFFER_AS_ARG(dest));=0A=
 }=0A=
 =0A=
+static inline int do_vmf_op(xc_interface *xch, unsigned int cmd, uint32_t =
domid)=0A=
+{=0A=
+    return xencall2(xch->xcall, __HYPERVISOR_vmf_op, cmd, domid);=0A=
+}=0A=
+=0A=
 static inline int do_physdev_op(xc_interface *xch, int cmd, void *op, size=
_t len)=0A=
 {=0A=
     int ret =3D -1;=0A=
diff --git a/xen/arch/x86/guest/xen/hypercall_page.S b/xen/arch/x86/guest/x=
en/hypercall_page.S=0A=
index 9958d02..2efdd58 100644=0A=
--- a/xen/arch/x86/guest/xen/hypercall_page.S=0A=
+++ b/xen/arch/x86/guest/xen/hypercall_page.S=0A=
@@ -70,6 +70,8 @@ DECLARE_HYPERCALL(arch_5)=0A=
 DECLARE_HYPERCALL(arch_6)=0A=
 DECLARE_HYPERCALL(arch_7)=0A=
 =0A=
+DECLARE_HYPERCALL(vmf_op)=0A=
+=0A=
 /*=0A=
  * Local variables:=0A=
  * tab-width: 8=0A=
diff --git a/xen/common/Kconfig b/xen/common/Kconfig=0A=
index f1ea319..3bf92b8 100644=0A=
--- a/xen/common/Kconfig=0A=
+++ b/xen/common/Kconfig=0A=
@@ -92,6 +92,9 @@ config STATIC_MEMORY=0A=
 =0A=
 	  If unsure, say N.=0A=
 =0A=
+config VMF=0A=
+	bool "Virtual Memory Fuse Support"=0A=
+=0A=
 menu "Speculative hardening"=0A=
 =0A=
 config INDIRECT_THUNK=0A=
diff --git a/xen/common/Makefile b/xen/common/Makefile=0A=
index 3baf83d..fb9118d 100644=0A=
--- a/xen/common/Makefile=0A=
+++ b/xen/common/Makefile=0A=
@@ -48,6 +48,7 @@ obj-y +=3D timer.o=0A=
 obj-$(CONFIG_TRACEBUFFER) +=3D trace.o=0A=
 obj-y +=3D version.o=0A=
 obj-y +=3D virtual_region.o=0A=
+obj-$(CONFIG_VMF) +=3D vmf.o=0A=
 obj-y +=3D vm_event.o=0A=
 obj-y +=3D vmap.o=0A=
 obj-y +=3D vsprintf.o=0A=
diff --git a/xen/common/vmf.c b/xen/common/vmf.c=0A=
new file mode 100644=0A=
index 0000000..20c61d1=0A=
--- /dev/null=0A=
+++ b/xen/common/vmf.c=0A=
@@ -0,0 +1,111 @@=0A=
+/*************************************************************************=
*****=0A=
+ * vmf.c=0A=
+ * =0A=
+ * Common implementation of the VMF hypercall=0A=
+ */=0A=
+=0A=
+#include <xen/lib.h>=0A=
+#include <xen/sched.h>=0A=
+=0A=
+#include <public/vmf.h>=0A=
+#include <xen/vmf.h>=0A=
+=0A=
+static void dump_domain_vcpus(struct domain *d)=0A=
+{=0A=
+    struct vcpu *v;=0A=
+    int i;=0A=
+=0A=
+    if (d =3D=3D NULL) {=0A=
+        printk("NULL\n");=0A=
+        return;=0A=
+    }=0A=
+=0A=
+    printk("Domain: %d (%d vcpus)\n", d->domain_id, d->max_vcpus);=0A=
+#if defined(CONFIG_ARM_64)=0A=
+    printk("  vttbr: 0x%lx\n", d->arch.p2m.vttbr);=0A=
+#endif=0A=
+=0A=
+    i =3D 0;=0A=
+    for_each_vcpu(d, v)=0A=
+    {=0A=
+        printk("  vcpu [%d: id=3D%d, proc=3D%d]: \n", i++, v->vcpu_id, v->=
processor);=0A=
+        /* archvcpu for arm has: */=0A=
+#if defined(CONFIG_ARM_64)=0A=
+        printk("    .ttbr0     is 0x%lx\n", v->arch.ttbr0);=0A=
+        printk("    .ttbr1     is 0x%lx\n", v->arch.ttbr1);=0A=
+#endif=0A=
+    }=0A=
+}=0A=
+=0A=
+static void dump_domains(void)=0A=
+{=0A=
+    struct domain *d;=0A=
+=0A=
+    for_each_domain(d)=0A=
+        dump_domain_vcpus(d);=0A=
+=0A=
+    /* Dump system domains */=0A=
+    printk("IDLE DOMAIN:\n");=0A=
+    dump_domain_vcpus(idle_vcpu[0]->domain);=0A=
+    printk("HARDWARE DOMAIN:\n");=0A=
+    dump_domain_vcpus(hardware_domain);=0A=
+    printk("XEN DOMAIN:\n");=0A=
+    dump_domain_vcpus(dom_xen);=0A=
+    printk("IO DOMAIN:\n");=0A=
+    dump_domain_vcpus(dom_io);=0A=
+}=0A=
+=0A=
+long do_vmf_op(unsigned int cmd, domid_t domid)=0A=
+{=0A=
+    int ret =3D 0;=0A=
+    struct domain *d =3D NULL;=0A=
+=0A=
+    printk("VMF hypercall: ");=0A=
+=0A=
+    if (domid =3D=3D DOMID_IDLE) {=0A=
+        printk("Xen\n");=0A=
+    } else if ((domid < DOMID_FIRST_RESERVED) && (d =3D get_domain_by_id(d=
omid))) {=0A=
+        printk("Domain(%d)\n", domid);=0A=
+    } else {=0A=
+        printk("Invalid domain id (%d)\n", domid);=0A=
+        ret =3D -1;=0A=
+        goto out;=0A=
+    }=0A=
+=0A=
+    switch (cmd) {=0A=
+    case XENVMF_dump_info:=0A=
+        if (d) {=0A=
+            vmf_dump_domain_info(d);=0A=
+        } else {=0A=
+            dump_domains();=0A=
+            vmf_dump_xen_info();=0A=
+        }=0A=
+        break;=0A=
+=0A=
+    case XENVMF_dump_tables:=0A=
+        if (d)=0A=
+            vmf_dump_domain_tables(d);=0A=
+        else=0A=
+            vmf_dump_xen_tables();=0A=
+        break;=0A=
+=0A=
+    case XENVMF_unmap:=0A=
+        printk("BLOW VIRTUAL MEMORY FUSE:\n");=0A=
+        if (d) {=0A=
+            printk("Unmapping Domain(%d)\n", d->domain_id);=0A=
+            vmf_unmap_guest(d);=0A=
+        } else {=0A=
+            printk("Locking Virtual Memory Configuration\n");=0A=
+            vmf_lock_xen_pgtables();=0A=
+        }=0A=
+        break;=0A=
+=0A=
+    default:=0A=
+        printk("Not Implemented\n");=0A=
+        break;=0A=
+    }=0A=
+=0A=
+out:=0A=
+    printk("Done!\n");=0A=
+    return ret;=0A=
+}=0A=
diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c=0A=
index 1896121..fb61bc6 100644=0A=
--- a/xen/include/hypercall-defs.c=0A=
+++ b/xen/include/hypercall-defs.c=0A=
@@ -166,6 +166,9 @@ vm_assist(unsigned int cmd, unsigned int type)=0A=
 event_channel_op(int cmd, void *arg)=0A=
 mmuext_op(mmuext_op_t *uops, unsigned int count, unsigned int *pdone, unsi=
gned int foreigndom)=0A=
 multicall(multicall_entry_t *call_list, unsigned int nr_calls)=0A=
+#if defined(CONFIG_VMF)=0A=
+vmf_op(unsigned int cmd, domid_t domid)=0A=
+#endif=0A=
 #ifdef CONFIG_PV=0A=
 mmu_update(mmu_update_t *ureqs, unsigned int count, unsigned int *pdone, u=
nsigned int foreigndom)=0A=
 stack_switch(unsigned long ss, unsigned long esp)=0A=
@@ -239,6 +242,9 @@ update_va_mapping                  compat   do       - =
       -        -=0A=
 set_timer_op                       compat   do       compat   do       -=
=0A=
 event_channel_op_compat            do       do       -        -        dep=
=0A=
 xen_version                        compat   do       compat   do       do=
=0A=
+#if defined(CONFIG_VMF)=0A=
+vmf_op                             do       do       do       do       do=
=0A=
+#endif=0A=
 console_io                         do       do       do       do       do=
=0A=
 physdev_op_compat                  compat   do       -        -        dep=
=0A=
 #if defined(CONFIG_GRANT_TABLE)=0A=
diff --git a/xen/include/public/vmf.h b/xen/include/public/vmf.h=0A=
new file mode 100644=0A=
index 0000000..a5ec004=0A=
--- /dev/null=0A=
+++ b/xen/include/public/vmf.h=0A=
@@ -0,0 +1,24 @@=0A=
+/* SPDX-License-Identifier: MIT */=0A=
+/*************************************************************************=
*****=0A=
+ * vmf.h=0A=
+ *=0A=
+ */=0A=
+=0A=
+#ifndef __XEN_PUBLIC_VMF_H__=0A=
+#define __XEN_PUBLIC_VMF_H__=0A=
+=0A=
+#define XENVMF_dump_info 1=0A=
+#define XENVMF_dump_tables 2=0A=
+#define XENVMF_unmap 11=0A=
+=0A=
+#endif /* __XEN_PUBLIC_VMF_H__ */=0A=
+=0A=
+/*=0A=
+ * Local variables:=0A=
+ * mode: C=0A=
+ * c-file-style: "BSD"=0A=
+ * c-basic-offset: 4=0A=
+ * tab-width: 4=0A=
+ * indent-tabs-mode: nil=0A=
+ * End:=0A=
+ */=0A=
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h=0A=
index 920567e..077000c 100644=0A=
--- a/xen/include/public/xen.h=0A=
+++ b/xen/include/public/xen.h=0A=
@@ -125,6 +125,9 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);=0A=
 #define __HYPERVISOR_arch_6               54=0A=
 #define __HYPERVISOR_arch_7               55=0A=
 =0A=
+/* custom vmf hypercall */=0A=
+#define __HYPERVISOR_vmf_op               56=0A=
+=0A=
 /* ` } */=0A=
 =0A=
 /*=0A=
diff --git a/xen/include/xen/vmf.h b/xen/include/xen/vmf.h=0A=
new file mode 100644=0A=
index 0000000..f4b350c=0A=
--- /dev/null=0A=
+++ b/xen/include/xen/vmf.h=0A=
@@ -0,0 +1,20 @@=0A=
+/*************************************************************************=
*****=0A=
+ * vmf.h=0A=
+ * =0A=
+ * Public VMF interface to be implemented in arch specific code=0A=
+ */=0A=
+=0A=
+#ifndef __XEN_VMF_H__=0A=
+#define __XEN_VMF_H__=0A=
+=0A=
+struct domain;=0A=
+=0A=
+void vmf_dump_xen_info(void);=0A=
+void vmf_dump_domain_info(struct domain *d);=0A=
+void vmf_dump_xen_tables(void);=0A=
+void vmf_dump_domain_tables(struct domain *d);=0A=
+=0A=
+void vmf_unmap_guest(struct domain *d);=0A=
+void vmf_lock_xen_pgtables(void);=0A=
+=0A=
+#endif /* __XEN_VMF_H__ */=0A=
-- =0A=
2.7.4=0A=
=0A=


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 19:53:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 19:53:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461126.719165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5BKv-0002zZ-8z; Tue, 13 Dec 2022 19:53:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461126.719165; Tue, 13 Dec 2022 19:53:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5BKv-0002zS-65; Tue, 13 Dec 2022 19:53:09 +0000
Received: by outflank-mailman (input) for mailman id 461126;
 Tue, 13 Dec 2022 19:53:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jsqc=4L=riversideresearch.org=rsmith@srs-se1.protection.inumbo.net>)
 id 1p5BKt-0002zI-J2
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 19:53:07 +0000
Received: from USG02-BN3-obe.outbound.protection.office365.us
 (mail-bn3usg02on0124.outbound.protection.office365.us [23.103.208.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c268770a-7b1f-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 20:53:06 +0100 (CET)
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:185::22)
 by BN0P110MB1692.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:186::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 19:53:02 +0000
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::81df:6431:7a2d:4610]) by BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::81df:6431:7a2d:4610%5]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 19:53:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c268770a-7b1f-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=tnvgy/xTAJuKoLYyk/KSQLpuol8U3VjmsSAGbzsOfNnUX9eafwae9MP279xtvki9zBzrbLMQSUAmQ7nggyOKM1omI7pc6Z8CLYy5Q3VwV7V2+Jlm5pVQJG/FmeUZ3mlsYfWfftN9P9sbgfFnzrPiLFJoWRmUgcutDsbO77gQYtNee4bxdoYyicVev91fJCKz3BSf8O7fvUjFTLWAbpfSeR9Y8ZpE80/Jd1RJsEEL4rZTSPqys84F+huIS8rBkaKm9+jaR7L/hY4UaXNkkp/1jcPKZtxQcJd6f3su+JKIqlsCjmajSpf9tY7kjMMBprcsyaQ4DY8OxwrRhj6a18oZeQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pHSvZrTZQtWFI7F16rrfG3KOpPlzn9NPjYA2g0/qmS8=;
 b=CppTCcgYWyROidHWmbHX75/ZWNdmGln7ZHwteVuSvmIC6ZnGFDPl1tIB6u/MUQTAa17FzHVs+DEZjUz1AGLgyhKfSvjYnFV+780cqoOh44skiWN3vQdM4ryhulKKn8MgSOYiMJN7DX5Fd+++AYRl0Rd90GwurmSdIgv1r/mQclFGOcaozNw1jDjp5EZARff9TgQDTHgGNQ+XQHpybPCOI2sZZZeF2V6lAZoMzjyYwWFcVLx9/IHsFUns809jh606GpHNDTo4vj1ThlrIThYXidvd+ReQSjsIe5xdZQsT8eeM1CTHzPafgSz2nlV2u5k5NlBaaSzkXliQ0JgFKe/xMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=riversideresearch.org; dmarc=pass action=none
 header.from=riversideresearch.org; dkim=pass header.d=riversideresearch.org;
 arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riversideresearch.org;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pHSvZrTZQtWFI7F16rrfG3KOpPlzn9NPjYA2g0/qmS8=;
 b=rFBqmPhFr44D3GoNKdcl16bBZqxZwpRjDJtvrxytPbZdVZNqxjMcM87Yw3ZWp6YzjvQmYsHia7kile9+wdhUdRdyzRSCDNslTFWZslllTfRL8T157iKlEceyMJa3m8OYggMq3ZBuS55i3vnsKRCXe3wshq/jk4BfBiaA/l3VMkODlqTZWG2utKEE3KXfFInhB8vNqLOrtIrS/65i8mLCSTdUwKkYfPOgvtL2BLCZQ4iGzq5Y14zVWB/HuGzAzDNQe3iTiz1dOOA6dEm6Q8OlOEfSCZP0V26KBorxXKlS7bwF9E6ZcuSvfm7K/vOU7DYTA+1WN6O82tE4Il7qDHay2Q==
From: "Smith, Jackson" <rsmith@RiversideResearch.org>
To: "Smith, Jackson" <rsmith@RiversideResearch.org>
CC: "Brookes, Scott" <sbrookes@RiversideResearch.org>, Xen-devel
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, "jbeulich@suse.com"
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, "demi@invisiblethingslab.com"
	<demi@invisiblethingslab.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, "christopher.w.clark@gmail.com"
	<christopher.w.clark@gmail.com>
Subject: [RFC 2/4] Add VMF tool
Thread-Topic: [RFC 2/4] Add VMF tool
Thread-Index: AQHZDyyCZmiYxt72lUSeSdNxVMCy4A==
Date: Tue, 13 Dec 2022 19:53:02 +0000
Message-ID:
 <BN0P110MB16421A321E63E8DE766E0C44CFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
References:
 <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
In-Reply-To:
 <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
suggested_attachment_session_id: 909825dd-f06a-34b3-d508-9ecb7894b4f7
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=RiversideResearch.org;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0P110MB1642:EE_|BN0P110MB1692:EE_
x-ms-office365-filtering-correlation-id: 9891cc48-a4b6-4cbb-3e06-08dadd43a518
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 nCakgadVebztqIerCv/2u6rfRGwe9XHMdLSO6WfssGvXzOPSU1za6JNXH6P33cRLZeKs5C2jRt094hZL1VFvpiJThW5zImmY+ww26SCTmUnjYdxjVvtk5lC8tFMnF0v9Gv/MXXvBKfinisVRWTCSby9FywhAcf5D0z4HRrRlnUj2/cXP0OuSxXMj5KSnQQkabjbL8uW4pKnDiytTjeRwhAsj0USIVWNBCyLkiiwA6yt7HAC+Dt2vazEKlASb6l3waYQc9Zk9j1ISiM0parASKeR1FFnYNDQVER5MTXZ2oINqOcdbWBM9cXmyWNXMowxTQkWOuBgUiPWy6ahWJ66wK0JQLWX9jRywH3D759xL5U9LNLq/RlicZjdUfe0zAsRB4iqWZgScP9QJ49d9Z01xG996uJumYKT+GVx6MQmaCz2Hy/dotjTUiv9geEUENZutjW6oX3Nb8HyYmbADuvwFMntXi8H7awQYIqtj6adhmVnyctFZ9tEM9wSSvjmsZ/9a2gBqWjJ/jh9e4aJqrdhA00RVZJYxSYUWkvKOlSobUWh9zJTn/NKMCSLb2mgxMGlzKgVexF5XKazsTDiRxmquQ4wXsYqQbokTG+Z0J9TFzZAS6DX+L9v5wA0skMucCw5HeKq+Up+vpxrGba1rdsaHBg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(366004)(451199015)(33656002)(5660300002)(7416002)(8936002)(83380400001)(6200100001)(6862004)(52536014)(38070700005)(2906002)(38100700002)(508600001)(71200400001)(8676002)(66556008)(6506007)(9686003)(186003)(26005)(2940100002)(66476007)(122000001)(7696005)(4326008)(76116006)(64756008)(82960400001)(54906003)(66446008)(86362001)(55016003)(66946007)(85282002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 SPxrhJKb3NQixgyTO97nAykM34le54EgEMKzDTlqZfhSN6Pq/AV/6/KCpP0N1JAYquJxPHjslVXYBxg2VLPDpb39NvfhTHrgiq6eBVL9rj08HDXNl9+4pmuqFWGjO7/EnB/PEu5nyZ+1uX6b3PB2CMcK092FvSWSR3VccbN0ZRJqXv80vKIdP8R+OhOYTxJJvGRk9HO5eolvo3J0coEx/wcH3beykKZnzbIus8Cx2paz2j3hdZtHUCCaS17Nr2xCiE0KS1VNBPNsmJENUM3d9Ox5wxIcRdzvcSyOmChFSQ97HIuTBRFHJ3FA6Bi0uBBRclKcP9WW6LmU608KwNlUcYHZFywJG/KAyk7pvvdRBPrnDmBVjS9nYAJFI4Ii5mBa6B/qlLp0Wv6QoyRVQA37RwTBvHNxjjEQQztUbGefwBc=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: riversideresearch.org
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 9891cc48-a4b6-4cbb-3e06-08dadd43a518
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2022 19:53:02.8566
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bfc64a8d-9064-4c64-91c3-9d10b44c1cb6
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P110MB1692

VMF tool for calling vmf_op hypercall. Eventually should be merged into xl =
and=0A=
related libraries.=0A=
---=0A=
 tools/Makefile     |  1 +=0A=
 tools/vmf/Makefile | 32 +++++++++++++++++++++++++++=0A=
 tools/vmf/vmf.c    | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++=
++++=0A=
 3 files changed, 98 insertions(+)=0A=
 create mode 100644 tools/vmf/Makefile=0A=
 create mode 100644 tools/vmf/vmf.c=0A=
=0A=
diff --git a/tools/Makefile b/tools/Makefile=0A=
index 7997535..ccf36a1 100644=0A=
--- a/tools/Makefile=0A=
+++ b/tools/Makefile=0A=
@@ -9,6 +9,7 @@ SUBDIRS-y +=3D libs=0A=
 SUBDIRS-y +=3D flask=0A=
 SUBDIRS-y +=3D fuzz=0A=
 SUBDIRS-y +=3D xenstore=0A=
+SUBDIRS-y +=3D vmf=0A=
 SUBDIRS-y +=3D misc=0A=
 SUBDIRS-y +=3D examples=0A=
 SUBDIRS-y +=3D hotplug=0A=
diff --git a/tools/vmf/Makefile b/tools/vmf/Makefile=0A=
new file mode 100644=0A=
index 0000000..ac5073b=0A=
--- /dev/null=0A=
+++ b/tools/vmf/Makefile=0A=
@@ -0,0 +1,32 @@=0A=
+XEN_ROOT=3D$(CURDIR)/../..=0A=
+include $(XEN_ROOT)/tools/Rules.mk=0A=
+=0A=
+CFLAGS  +=3D $(CFLAGS_libxenctrl)=0A=
+LDLIBS  +=3D $(LDLIBS_libxenctrl)=0A=
+=0A=
+.PHONY: all=0A=
+all: build=0A=
+=0A=
+.PHONY: build=0A=
+build: vmf=0A=
+=0A=
+.PHONY: install=0A=
+install: build=0A=
+	$(INSTALL_DIR) $(DESTDIR)$(bindir)=0A=
+	$(INSTALL_PROG) vmf $(DESTDIR)$(bindir)/vmf=0A=
+=0A=
+.PHONY: uninstall=0A=
+uninstall:=0A=
+	rm -f $(DESTDIR)$(bindir)/vmf=0A=
+=0A=
+.PHONY: clean=0A=
+clean:=0A=
+	$(RM) -f $(DEPS_RM) vmf vmf.o=0A=
+=0A=
+.PHONY: distclean=0A=
+distclean: clean=0A=
+=0A=
+vmf: vmf.o Makefile=0A=
+	$(CC) $(LDFLAGS) $< -o $@ $(LDLIBS) $(APPEND_LDFLAGS)=0A=
+=0A=
+-include $(DEPS_INCLUDE)=0A=
diff --git a/tools/vmf/vmf.c b/tools/vmf/vmf.c=0A=
new file mode 100644=0A=
index 0000000..8b7b293=0A=
--- /dev/null=0A=
+++ b/tools/vmf/vmf.c=0A=
@@ -0,0 +1,65 @@=0A=
+#include <stdio.h>=0A=
+#include <string.h>=0A=
+#include <stdlib.h>=0A=
+#include <xenctrl.h>=0A=
+=0A=
+#include <xen/xen.h>=0A=
+#include <xen/vmf.h>=0A=
+=0A=
+int call(unsigned int cmd, unsigned int domid)=0A=
+{=0A=
+  int ret;=0A=
+=0A=
+  xc_interface *xch =3D xc_interface_open(NULL, NULL, 0);=0A=
+  ret =3D xc_vmf_op(xch, cmd, domid);=0A=
+  xc_interface_close(xch);=0A=
+=0A=
+  return ret;=0A=
+}=0A=
+=0A=
+void help(const char *arg0)=0A=
+{=0A=
+  printf("Usage:\n");=0A=
+  printf("  %s dump\n", arg0);=0A=
+  printf("  %s info <domid>\n", arg0);=0A=
+  printf("  %s tables <domid>\n", arg0);=0A=
+  printf("  %s unmap <domid>\n", arg0);=0A=
+  printf("  %s lock\n", arg0);=0A=
+}=0A=
+=0A=
+int get_domid(const char *str) {=0A=
+  char *endptr;=0A=
+  long domid =3D strtol(str, &endptr, 10);=0A=
+  if (domid >=3D 0)=0A=
+    return (int)domid;=0A=
+=0A=
+  printf("Invalid domid (%ld)\n", domid);=0A=
+  exit(1);=0A=
+}=0A=
+=0A=
+int main(int argc, const char* argv[])=0A=
+{=0A=
+  int domid;=0A=
+  if (argc =3D=3D 2) {=0A=
+    domid =3D DOMID_IDLE;=0A=
+  } else if (argc =3D=3D 3) {=0A=
+    domid =3D get_domid(argv[2]);=0A=
+  } else {=0A=
+    help(argv[0]);=0A=
+    return 0;=0A=
+  }=0A=
+=0A=
+#define ARG(cmd) ((strcmp(cmd, argv[1]) =3D=3D 0))=0A=
+=0A=
+  if (ARG("info"))=0A=
+    return call(XENVMF_dump_info, domid);=0A=
+  else if (ARG("tables"))=0A=
+    return call(XENVMF_dump_tables, domid);=0A=
+  else if (ARG("unmap"))=0A=
+    return call(XENVMF_unmap, domid);=0A=
+  else if (ARG("lock") && (argc =3D=3D 2))=0A=
+    return call(XENVMF_unmap, DOMID_IDLE);=0A=
+=0A=
+  help(argv[0]);=0A=
+  return 0;=0A=
+}=0A=
-- =0A=
2.7.4=0A=
=0A=


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 19:54:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 19:54:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461134.719176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5BLw-0003Yf-I1; Tue, 13 Dec 2022 19:54:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461134.719176; Tue, 13 Dec 2022 19:54:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5BLw-0003YY-FN; Tue, 13 Dec 2022 19:54:12 +0000
Received: by outflank-mailman (input) for mailman id 461134;
 Tue, 13 Dec 2022 19:54:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jsqc=4L=riversideresearch.org=rsmith@srs-se1.protection.inumbo.net>)
 id 1p5BLv-0003YK-0r
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 19:54:11 +0000
Received: from USG02-BN3-obe.outbound.protection.office365.us
 (mail-bn3usg02on0094.outbound.protection.office365.us [23.103.208.94])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e85604e7-7b1f-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 20:54:10 +0100 (CET)
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:185::22)
 by BN0P110MB1144.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:16c::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 19:54:07 +0000
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::81df:6431:7a2d:4610]) by BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::81df:6431:7a2d:4610%5]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 19:54:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e85604e7-7b1f-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=O+/0vzajBh+OmvEUVk170fpT1FVhL9xZerkWC9wVoBhm+76ZUfWDDiSq53jgf484a0FCKz7iykqFkUS1g+NzXrBdWOgjdKYTnDBVkOUPqpbcCyIrbTxWfo1+XlATZ+tCexOiqankzhuunFudI9knhUczE7H35F3/nze2i7Uj0oXNp+x7avawrMOx87K2Y/N7pdb7Y8nw62H20CUh629cV8HpGsodfD9bpdoGkXql/0Xure20hcaFD9L1rKSXUCJmhDRXeoomnmhRna9NDsY+OsABU4hgVMtReoHw9HPyfXhf9aalzsDbZWdUboprJoXimBZLAqxn3qL52TYFlIOqmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I0hQaAJM6caWYQsVLchpOdKLdgvJiFe099wRxpfgIbQ=;
 b=1CKsVqn1PcNis65wzRqOGVxOjJkHRIBph4jSu8QzQUZppcZ2pg8KDzg6FLmy4XIYVzN8lDeXgN/fIseSD1659V3cUYgszp6f1Dxiczc35cCaqHMCunlQ+TZ/PCMTaqDbQ0jHZoijOO6RXA+3vvkBircDtzU/kEIXsb9EoDXX76yqybIjO32PBgW35nVrH2/y8DpYPhiJV4F40jKQj8bmKl+2uGV9lGDfJ1Hwr6HBBghju6NS9+QwaVG0WEC1HTINSN4/rLcMEShzX7TPoJKvQcIfqtSqypybIJBNbSD58zj/waMQVJ8MjIwd6k56OD75wzEOIt7lFe2lvq22YJvGwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=riversideresearch.org; dmarc=pass action=none
 header.from=riversideresearch.org; dkim=pass header.d=riversideresearch.org;
 arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riversideresearch.org;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I0hQaAJM6caWYQsVLchpOdKLdgvJiFe099wRxpfgIbQ=;
 b=KYG33CvJUZs56K0bN5ZPLS9FkDuZEnHLZJeKc1TgVkE+BSmez5lfQTS3nqd1eN4nSk9BW4Obvi6FCO6kLZVUu9xsmUl4LxSx2rkM1J98SOJYSKbXRQz7irM/BCLXuRA2mkIxJ+FbDwiTT79SH11CGRY05URcogiFzMHjWAbKuPMAsG9KH4CyTxjzLoiXeHZu2DKRW7d+RF0gBoUr+gij+ZnSwAQspGI1ibzJ+L6CoUrcpiL+RGK5F7YT/8X/Gt2J0Tget54eb7nJ24jkdY+TEPhKGnEmM6u6EUbs95O6kGYf4uX2gPWkx+00iEkoR7D/Dpj4hihchsBGRvWHkBdPYg==
From: "Smith, Jackson" <rsmith@RiversideResearch.org>
To: "Smith, Jackson" <rsmith@RiversideResearch.org>
CC: "Brookes, Scott" <sbrookes@RiversideResearch.org>, Xen-devel
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, "jbeulich@suse.com"
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, "demi@invisiblethingslab.com"
	<demi@invisiblethingslab.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, "christopher.w.clark@gmail.com"
	<christopher.w.clark@gmail.com>
Subject: [RFC 3/4] Add xen superpage splitting support to arm
Thread-Topic: [RFC 3/4] Add xen superpage splitting support to arm
Thread-Index: AQHZDyypbad3do/0AUGsmgE77Sct8w==
Date: Tue, 13 Dec 2022 19:54:07 +0000
Message-ID:
 <BN0P110MB1642CCC518921DC7F2BB3BB3CFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
References:
 <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
In-Reply-To:
 <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
suggested_attachment_session_id: a5e26e9e-108f-3533-e10a-338a3d7bfe08
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=RiversideResearch.org;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0P110MB1642:EE_|BN0P110MB1144:EE_
x-ms-office365-filtering-correlation-id: 5f3813f8-b491-42a9-268d-08dadd43cbde
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 7XpYaVGp3N8EOCa2JupsF7Ms8g0/3Bm5wueOBuuz2r/8w2s1QH6z466VbVgkaDeBXmlLwsRTczgcTK5zpitTcH185bMmdpWxaPOg/2i/uIUPwajJ+hN4u0odtKoBYCZNGDjn7vg/lX16FQ4vISQU8gFfWPzKC/+bBW1+hod13nVdMKp2XEnqF0JejL8/SsqFG2lyU7IwtZhKn874ERf5p0XJ6A7ww36YLl9t9VZSD+BSE0jW0pUfZ1OMRpaW43+sb0zc9JMIIT3sUbMxh/yFnKJThkv8CSTfdAOoepB3LducXSPJSbAUVIadhekZXyA2S/tR7jNJVTHapb3GEONr9xAfrTCMey7aKMVoqCY1HvFtD/1khO5m90ICpJK5v+q42v84KZhaT2L4eS6rS0kE4hzXjSbQVUp4kS/sUTQ+6Fjkj3yrEOZ2OkIhchk9UzTLIYaPvkh6qXq1NX5vpzRqbX6Yve9UnlGyXgm3UAsVYj3KZPQJBnBcJWtRbHJioH2AKj9s5S+/YdBt1U6waJTT7g4Kltn9lx5UAY3UpwYioqZ/DRF3GpVOZ058lb/f4sXrCOjKUpa3DQi4/S1YvoHwuDiEFOaVUZfHxsOL+RJ7WEu9DkJA0uFV9RV5LepqigCByyf5PazZ5wqD8U0iWbkqtg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(366004)(451199015)(6506007)(83380400001)(7696005)(9686003)(2940100002)(508600001)(2906002)(6200100001)(86362001)(55016003)(33656002)(54906003)(38100700002)(82960400001)(38070700005)(76116006)(71200400001)(66556008)(66476007)(26005)(4326008)(66946007)(64756008)(8676002)(186003)(66446008)(8936002)(7416002)(6862004)(122000001)(5660300002)(52536014)(85282002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 32tv+ytXFtOPFk15lgXZU+fK8Ft0ParkAqR3ZHgLV0XCrRfT+TuM4K7OCz0QJEjECOc5Y6wlVu2Mg3SrlvJj5B3BHfk6j+7SQvV9GwP1XwVAliUF+DSRgvM2HmQwXq3e18dnvoxTrzzkoxllX1Fz6jaRD3lkhtujXspxPEQYBC8bmNEvMDAWgTC7TgdQ/L/7UNcuCfziTQmgkgebVo0wXAMMnWlPUD9xr10Ryg8BuRS9pi4aH/b90JZ7O8PHuIAKYt7iTHdd3nc6sjAWT0yvTiS1owoKjsY9FZf+yqmv8fKQfLIsGEx4+2TZId2rOCoIHnTp3Xh2Ktz1HBqbD38o73G9VtYA6F1dm7QpL3s6yMviV0B59QEk0Ce7IC/hZnuTjxK50GUU8erXt1e2jfJykCuvYRQeaqWFYpkRSOMx8LM=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: riversideresearch.org
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 5f3813f8-b491-42a9-268d-08dadd43cbde
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2022 19:54:07.8758
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bfc64a8d-9064-4c64-91c3-9d10b44c1cb6
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P110MB1144

Updates xen_pt_update_entry function from xen/arch/arm/mm.c to=0A=
automatically split superpages as needed.=0A=
---=0A=
 xen/arch/arm/mm.c | 91 +++++++++++++++++++++++++++++++++++++++++++++++----=
----=0A=
 1 file changed, 78 insertions(+), 13 deletions(-)=0A=
=0A=
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c=0A=
index 6301752..91b9c2b 100644=0A=
--- a/xen/arch/arm/mm.c=0A=
+++ b/xen/arch/arm/mm.c=0A=
@@ -753,8 +753,78 @@ static int create_xen_table(lpae_t *entry)=0A=
 }=0A=
 =0A=
 #define XEN_TABLE_MAP_FAILED 0=0A=
-#define XEN_TABLE_SUPER_PAGE 1=0A=
-#define XEN_TABLE_NORMAL_PAGE 2=0A=
+#define XEN_TABLE_NORMAL_PAGE 1=0A=
+=0A=
+/* More or less taken from p2m_split_superpage, without the p2m stuff */=
=0A=
+static bool xen_split_superpage(lpae_t *entry, unsigned int level,=0A=
+                                unsigned int target, const unsigned int *o=
ffsets)=0A=
+{=0A=
+    struct page_info *page;=0A=
+    lpae_t pte, *table;=0A=
+    unsigned int i;=0A=
+    bool rv =3D true;=0A=
+=0A=
+    mfn_t mfn =3D lpae_get_mfn(*entry);=0A=
+    unsigned int next_level =3D level + 1;=0A=
+    unsigned int level_order =3D XEN_PT_LEVEL_ORDER(next_level);=0A=
+=0A=
+    ASSERT(level < target);=0A=
+    ASSERT(lpae_is_superpage(*entry, level));=0A=
+=0A=
+    page =3D alloc_domheap_page(NULL, 0);=0A=
+    if ( !page )=0A=
+        return false;=0A=
+=0A=
+    table =3D __map_domain_page(page);=0A=
+=0A=
+    /*=0A=
+     * We are either splitting a first level 1G page into 512 second level=
=0A=
+     * 2M pages, or a second level 2M page into 512 third level 4K pages.=
=0A=
+     */=0A=
+    for ( i =3D 0; i < XEN_PT_LPAE_ENTRIES; i++ )=0A=
+    {=0A=
+        lpae_t *new_entry =3D table + i;=0A=
+=0A=
+        /*=0A=
+         * Use the content of the superpage entry and override=0A=
+         * the necessary fields. So the correct permission are kept.=0A=
+         */=0A=
+        pte =3D *entry;=0A=
+        lpae_set_mfn(pte, mfn_add(mfn, i << level_order));=0A=
+=0A=
+        /*=0A=
+         * First and second level pages set walk.table =3D 0, but third=0A=
+         * level entries set walk.table =3D 1.=0A=
+         */=0A=
+        pte.walk.table =3D (next_level =3D=3D 3);=0A=
+=0A=
+        write_pte(new_entry, pte);=0A=
+    }=0A=
+=0A=
+    /*=0A=
+     * Shatter superpage in the page to the level we want to make the=0A=
+     * changes.=0A=
+     * This is done outside the loop to avoid checking the offset to=0A=
+     * know whether the entry should be shattered for every entry.=0A=
+     */=0A=
+    if ( next_level !=3D target )=0A=
+        rv =3D xen_split_superpage(table + offsets[next_level],=0A=
+                                 level + 1, target, offsets);=0A=
+=0A=
+    clean_dcache_va_range(table, PAGE_SIZE);=0A=
+    unmap_domain_page(table);=0A=
+=0A=
+    /*=0A=
+     * Generate the entry for this new table we created,=0A=
+     * and write it back in place of the superpage entry.=0A=
+     */=0A=
+    pte =3D mfn_to_xen_entry(page_to_mfn(page), MT_NORMAL);=0A=
+    pte.pt.table =3D 1;=0A=
+    write_pte(entry, pte);=0A=
+    clean_dcache(*entry);=0A=
+=0A=
+    return rv;=0A=
+}=0A=
 =0A=
 /*=0A=
  * Take the currently mapped table, find the corresponding entry,=0A=
@@ -767,16 +837,15 @@ static int create_xen_table(lpae_t *entry)=0A=
  *  XEN_TABLE_MAP_FAILED: Either read_only was set and the entry=0A=
  *  was empty, or allocating a new page failed.=0A=
  *  XEN_TABLE_NORMAL_PAGE: next level mapped normally=0A=
- *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.=0A=
  */=0A=
 static int xen_pt_next_level(bool read_only, unsigned int level,=0A=
-                             lpae_t **table, unsigned int offset)=0A=
+                             lpae_t **table, const unsigned int *offsets)=
=0A=
 {=0A=
     lpae_t *entry;=0A=
     int ret;=0A=
     mfn_t mfn;=0A=
 =0A=
-    entry =3D *table + offset;=0A=
+    entry =3D *table + offsets[level];=0A=
 =0A=
     if ( !lpae_is_valid(*entry) )=0A=
     {=0A=
@@ -790,7 +859,8 @@ static int xen_pt_next_level(bool read_only, unsigned i=
nt level,=0A=
 =0A=
     /* The function xen_pt_next_level is never called at the 3rd level */=
=0A=
     if ( lpae_is_mapping(*entry, level) )=0A=
-        return XEN_TABLE_SUPER_PAGE;=0A=
+        /* Shatter the superpage before continuing */=0A=
+        xen_split_superpage(entry, level, level + 1, offsets);=0A=
 =0A=
     mfn =3D lpae_get_mfn(*entry);=0A=
 =0A=
@@ -915,7 +985,7 @@ static int xen_pt_update_entry(mfn_t root, unsigned lon=
g virt,=0A=
     table =3D xen_map_table(root);=0A=
     for ( level =3D HYP_PT_ROOT_LEVEL; level < target; level++ )=0A=
     {=0A=
-        rc =3D xen_pt_next_level(read_only, level, &table, offsets[level])=
;=0A=
+        rc =3D xen_pt_next_level(read_only, level, &table, offsets);=0A=
         if ( rc =3D=3D XEN_TABLE_MAP_FAILED )=0A=
         {=0A=
             /*=0A=
@@ -941,12 +1011,7 @@ static int xen_pt_update_entry(mfn_t root, unsigned l=
ong virt,=0A=
             break;=0A=
     }=0A=
 =0A=
-    if ( level !=3D target )=0A=
-    {=0A=
-        mm_printk("%s: Shattering superpage is not supported\n", __func__)=
;=0A=
-        rc =3D -EOPNOTSUPP;=0A=
-        goto out;=0A=
-    }=0A=
+    BUG_ON( level !=3D target );=0A=
 =0A=
     entry =3D table + offsets[level];=0A=
 =0A=
-- =0A=
2.7.4=0A=
=0A=


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 19:55:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 19:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461144.719187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5BNM-0004DQ-2j; Tue, 13 Dec 2022 19:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461144.719187; Tue, 13 Dec 2022 19:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5BNL-0004DJ-Vl; Tue, 13 Dec 2022 19:55:39 +0000
Received: by outflank-mailman (input) for mailman id 461144;
 Tue, 13 Dec 2022 19:55:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jsqc=4L=riversideresearch.org=rsmith@srs-se1.protection.inumbo.net>)
 id 1p5BNL-0004DD-81
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 19:55:39 +0000
Received: from USG02-BN3-obe.outbound.protection.office365.us
 (mail-bn3usg02on0102.outbound.protection.office365.us [23.103.208.102])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1c7be157-7b20-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 20:55:37 +0100 (CET)
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:185::22)
 by BN0P110MB1723.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:16f::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 19:55:34 +0000
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::81df:6431:7a2d:4610]) by BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::81df:6431:7a2d:4610%5]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 19:55:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c7be157-7b20-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=imL7yCjurKa27rC7dgfE9HCqhq2TiwWcoSEFvXDBAG5kMKLiPyAVNqOfs7lECKpHAkrzyNSBJsfXX/2PMt7m0tv2gQdZVwbYC3cMFzX9bJSj1XV5ChmXeqpLzrwQItDfyRAKFdQrfqvpipV74TwigptuzKK0Xn2huMKgbmXYA4egtvLudr2UTenrIq9ilQMqj90wjvnSZ4r1y4sgSGOi1lH9zd1x+P+E9VD9MpNr61EvkxFMwcTCGEo7TxMpnYxrloRwjs6ESpI8lMDUR8WEE1jBRmOr6aIug3eAcWzyPYlIBAxI5+HE+wIM8o9OVW9SeDuhnAKY48OSm7VvPhORzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8IMI+mmkmPVmMi766DubIF+lD8dUSlj9ua78sytnAyM=;
 b=wC6IgpssASedNx2cvzJHW+WDfM/Tka3DNL46sE0PVLvl7FzPrtK78gMTQjd6CBz8pLueKdX3XoCaGKtWPx1Dm3j3Rc5RS4WSGrf5Jy0kCYCc/uHNl7VWvYcku+p6XuLqhq1x05ZOWXlDx0WTs2xZ6Bu8y5Fl5lCRO3Qa6v0s0UFxqqnyVBgwnOGBNgojcRslKIna7QZIxDqSPAHZrBeTOGYPvTf0xx43gJAGHGrmv7SMGz0WxuBENAVZQtX2wDshM7p76cWT19S+P5RqFxcg27qKNOqO60HfR3N0hpGbd81UzlJnkBBteBdbWsgCr+Hgv4BtLYuOEhxj4o8YbS567A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=riversideresearch.org; dmarc=pass action=none
 header.from=riversideresearch.org; dkim=pass header.d=riversideresearch.org;
 arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riversideresearch.org;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8IMI+mmkmPVmMi766DubIF+lD8dUSlj9ua78sytnAyM=;
 b=ZoCWXtXVTv1GMonMKnUjoZWIlVDNS3C/tcHIdJ8GMB+eChENikRlbn1cypGgT3dP6KWEb90yaOLN68qgtCpjt2t7jWzubcWgUAvF4epzuHcHOyfgI15QG+6re12NZDTdT+JiSTv1L8mQFl0me/vB6Z+2In+95+cmO+QchriWbptYrSi+XGxd+nC141IFQx1/fD+JLf06kE7lxd/3oncbnESZpZsg/cWYYK/n2jkw4NDZt8LiJJa5r5dAB7I+BrwVBaelwB45bOgS9rY1r/mmghqEOm3UmlDUgnMxyg/Phs0m2E0oQHrmdC1j4sp2g5Uc+PFO+18d8TqOg4QF3Ekfew==
From: "Smith, Jackson" <rsmith@RiversideResearch.org>
To: "Smith, Jackson" <rsmith@RiversideResearch.org>
CC: "Brookes, Scott" <sbrookes@RiversideResearch.org>, Xen-devel
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, "jbeulich@suse.com"
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, "demi@invisiblethingslab.com"
	<demi@invisiblethingslab.com>, "Daniel P. Smith"
	<dpsmith@apertussolutions.com>, "christopher.w.clark@gmail.com"
	<christopher.w.clark@gmail.com>
Subject: [RFC 4/4] Implement VMF for arm64
Thread-Topic: [RFC 4/4] Implement VMF for arm64
Thread-Index: AQHZDyzdNLqpW42xnEGVL+R/wWY6pg==
Date: Tue, 13 Dec 2022 19:55:34 +0000
Message-ID:
 <BN0P110MB16426A3F6761700C397AADD0CFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
References:
 <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
In-Reply-To:
 <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
suggested_attachment_session_id: c8fc6a6e-64fc-8b95-9f14-261ab31ebef3
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=RiversideResearch.org;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0P110MB1642:EE_|BN0P110MB1723:EE_
x-ms-office365-filtering-correlation-id: d191301d-682b-4a07-86f5-08dadd43ffa8
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 4CPAHUiMcyua0BIinpi+oOCBLmY/iVlBxOOEIKZrdIJscUMnXvhgzJXp75JK5prO3KqIHWJQhTGQ6obOaNBIFdLXPdS/YYUJX7tzophdFDkeRp+SIfMKd0QvpQfhOgcaKbA2mde3b7y8MkEMHBmRbzzUlO6HttTlOX9GRbDfHOjrc5FEkPKgwCr2k2yX/bzol4Q0WKwVvXCAEAh0HMHuZACn6AnSdQoCfq3C5i2U58TTQ/CkKhVkz3EGK3s7MW/NgBDDflztsVmS6FEaQvF3o8znCeBQM4haRQA/A6flceQXV/lDAj4ePerP+9qzsjy9uitH7n6535JdaX1IA+0aAyBdCI0VbmhdPsO+1xnjpa5hQBydUmp+UxKxoYNFbT6nRowUtRa7dt2dYw+S68yAn+4rwovl54DdIxLY3lTmS9XpxRo/9aMIHjjNj2vZ7Rz7G9L934BTxRg3Ejnmtvb1BEDdPPQ6oTsiitqi5sxNtSeQH826N/jMwSmjVzohWIX+3NXs7uC+PIhNOQQHB7daP7bNfONLU29Mbv/6BxP1rNvsulAW+X82udHvUffpG/4BozbyFvhNmJwKZjuNo2s3gj/smMS1fdKgMG1c/Md3wr1gEpFl4iQu7W3R0s3TQq8CdRmmiQyv31QBpTrDUadZT61SrJOtCVwrdwTV85a0IrCrXYbLFo6F4Jh5f98fW5eM
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(366004)(451199015)(7696005)(2906002)(33656002)(66946007)(86362001)(6506007)(186003)(508600001)(6200100001)(9686003)(2940100002)(83380400001)(4326008)(66556008)(64756008)(66476007)(76116006)(6862004)(26005)(52536014)(5660300002)(122000001)(7416002)(30864003)(82960400001)(8936002)(8676002)(54906003)(71200400001)(38070700005)(38100700002)(66446008)(55016003)(2004002)(21314003)(85282002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 9oz6PTr2lz0cxAWTwBFXqzjvmZj1AYqsuiYvpd7O2r3l8Mkg0wwu+CsT8lB0FSLxkLtuEeEizXSfvB+SXEyB7gOZEIOU/6Gw3v6hD+3RA5JOoPQaonVPPuqG+aurEbhyCvrZfuF6ij/Q1wQEQz9ATESYiT6QYLUZsD2gc2hq0DgUYhH/Tw0mhyIGPLMzqV0oKC0W+iSzD3Flevg/jk2QwQ57CCHeLZvFROBTM5Gzes19SP+6PvuErWTZsbqqVyGn9DAVgZ1Ga/lBjsPRo6IK2SVyLykYLkQE/7y5KudKfxQztxuOSYwdGhQOIzI20EGygGTMriwfGMbrhxRTziLESGhRjTBY2Q1uBNftvU1I14w/d6KUjX6bW3kiF2AvoNXl1+E4siv14xdZjhRU8GZBInWfmojDMJqgKHY45wpRFcw=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: riversideresearch.org
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: d191301d-682b-4a07-86f5-08dadd43ffa8
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Dec 2022 19:55:34.7816
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bfc64a8d-9064-4c64-91c3-9d10b44c1cb6
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P110MB1723

Implements the functions from xen/vmf.h for arm64.=0A=
Introduces an xen/arch/arm/mm-walk.c helper file for=0A=
walking an entire page table structure.=0A=
---=0A=
 xen/arch/arm/Makefile              |   1 +=0A=
 xen/arch/arm/include/asm/mm-walk.h |  53 ++++++++++=0A=
 xen/arch/arm/include/asm/mm.h      |  11 +++=0A=
 xen/arch/arm/mm-walk.c             | 181 +++++++++++++++++++++++++++++++++=
=0A=
 xen/arch/arm/mm.c                  | 198 +++++++++++++++++++++++++++++++++=
+++-=0A=
 xen/common/Kconfig                 |   2 +=0A=
 6 files changed, 445 insertions(+), 1 deletion(-)=0A=
 create mode 100644 xen/arch/arm/include/asm/mm-walk.h=0A=
 create mode 100644 xen/arch/arm/mm-walk.c=0A=
=0A=
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile=0A=
index 4d076b2..e358452 100644=0A=
--- a/xen/arch/arm/Makefile=0A=
+++ b/xen/arch/arm/Makefile=0A=
@@ -37,6 +37,7 @@ obj-y +=3D kernel.init.o=0A=
 obj-$(CONFIG_LIVEPATCH) +=3D livepatch.o=0A=
 obj-y +=3D mem_access.o=0A=
 obj-y +=3D mm.o=0A=
+obj-y +=3D mm-walk.o=0A=
 obj-y +=3D monitor.o=0A=
 obj-y +=3D p2m.o=0A=
 obj-y +=3D percpu.o=0A=
diff --git a/xen/arch/arm/include/asm/mm-walk.h b/xen/arch/arm/include/asm/=
mm-walk.h=0A=
new file mode 100644=0A=
index 0000000..770cc89=0A=
--- /dev/null=0A=
+++ b/xen/arch/arm/include/asm/mm-walk.h=0A=
@@ -0,0 +1,53 @@=0A=
+#ifndef __ARM_MM_WALK_H__=0A=
+#define __ARM_MM_WALK_H__=0A=
+=0A=
+#include <asm/lpae.h>=0A=
+=0A=
+#define RECURSIVE_IDX ((unsigned long)(XEN_PT_LPAE_ENTRIES-1))=0A=
+#define RECURSIVE_VA (RECURSIVE_IDX << ZEROETH_SHIFT)=0A=
+=0A=
+/*=0A=
+ * Remove all mappings in these tables from Xen's address space=0A=
+ * Only makes sense if walking a guest's tables=0A=
+ */=0A=
+#define WALK_HIDE_GUEST_MAPPING (1U << 0)=0A=
+/*=0A=
+ * Remove all mappings to these tables from Xen's address space=0A=
+ * Makes sense if walking a guest's table (hide guest tables from Xen)=0A=
+ * Or if walking Xen's tables (lock Xen's virtual memory configuration)=0A=
+ */=0A=
+#define WALK_HIDE_GUEST_TABLE (1U << 1)=0A=
+=0A=
+/*=0A=
+ * Before we can hide individual table entires,=0A=
+ * we need to split the directmap superpages=0A=
+ */=0A=
+#define WALK_SPLIT_DIRECTMAP_TABLE (1U << 2)=0A=
+/*=0A=
+ * Like walk table hide, but using recursive mapping=0A=
+ * to bypass walking directmap when table is in the directmap=0A=
+ */=0A=
+#define WALK_HIDE_DIRECTMAP_TABLE (1U << 3)=0A=
+=0A=
+/* These are useful for development/debug */=0A=
+/* Show all pte's for a given address space */=0A=
+#define WALK_DUMP_ENTRIES (1U << 4)=0A=
+/* Show all mappings for a given address space */=0A=
+#define WALK_DUMP_MAPPINGS (1U << 5)=0A=
+=0A=
+/*=0A=
+ * Given the value of a ttbr register, this function walks every valid ent=
ry in the trie=0A=
+ * (As opposed to dump_pt_walk, which follows a single address from root t=
o leaf)=0A=
+ */=0A=
+void do_walk_tables(paddr_t ttbr, int root_level, int nr_root_tables, int =
flags);=0A=
+=0A=
+#endif /*  __ARM_MM_WALK_H__ */=0A=
+/*=0A=
+ * Local variables:=0A=
+ * mode: C=0A=
+ * c-file-style: "BSD"=0A=
+ * c-basic-offset: 4=0A=
+ * tab-width: 4=0A=
+ * indent-tabs-mode: nil=0A=
+ * End:=0A=
+ */=0A=
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h=
=0A=
index 68adcac..2e85885 100644=0A=
--- a/xen/arch/arm/include/asm/mm.h=0A=
+++ b/xen/arch/arm/include/asm/mm.h=0A=
@@ -209,6 +209,17 @@ extern void mmu_init_secondary_cpu(void);=0A=
  * For Arm64, map the region in the directmap area.=0A=
  */=0A=
 extern void setup_directmap_mappings(unsigned long base_mfn, unsigned long=
 nr_mfns);=0A=
+/* Shatter superpages for these mfns if needed */=0A=
+extern int split_directmap_mapping(unsigned long mfn, unsigned long nr_mfn=
s);=0A=
+/* Remove these mfns from the directmap */=0A=
+extern int destroy_directmap_mapping(unsigned long mfn, unsigned long nr_m=
fns);=0A=
+/*=0A=
+ * Remove this mfn from the directmap (bypassing normal update code)=0A=
+ * This is a workaround for current pgtable update code, which cannot be u=
sed=0A=
+ * to remove directmap table entries from the directmap (because they are=
=0A=
+ * needed to walk the directmap)=0A=
+ */=0A=
+extern void destroy_directmap_table(unsigned long mfn);=0A=
 /* Map a frame table to cover physical addresses ps through pe */=0A=
 extern void setup_frametable_mappings(paddr_t ps, paddr_t pe);=0A=
 /* map a physical range in virtual memory */=0A=
diff --git a/xen/arch/arm/mm-walk.c b/xen/arch/arm/mm-walk.c=0A=
new file mode 100644=0A=
index 0000000..48f9b2d=0A=
--- /dev/null=0A=
+++ b/xen/arch/arm/mm-walk.c=0A=
@@ -0,0 +1,181 @@=0A=
+/*=0A=
+ * xen/arch/arm/mm-walk.c=0A=
+ *=0A=
+ * This program is free software; you can redistribute it and/or modify=0A=
+ * it under the terms of the GNU General Public License as published by=0A=
+ * the Free Software Foundation; either version 2 of the License, or=0A=
+ * (at your option) any later version.=0A=
+ *=0A=
+ * This program is distributed in the hope that it will be useful,=0A=
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of=0A=
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the=0A=
+ * GNU General Public License for more details.=0A=
+ */=0A=
+=0A=
+#include <xen/lib.h>=0A=
+#include <xen/domain_page.h>=0A=
+=0A=
+#include <asm/page.h>=0A=
+#include <asm/mm-walk.h>=0A=
+=0A=
+typedef struct {=0A=
+    /* Keeps track of all the table offsets so we can reconstruct the VA i=
f we need to */=0A=
+    int off[4];=0A=
+=0A=
+    /* Keeps track of root level so we can make sense of the table offsets=
 */=0A=
+    int root_level;=0A=
+    int root_table_idx; /* only meaningful when nr_root_tables > 1 */=0A=
+} walk_info_t;=0A=
+=0A=
+/*=0A=
+ * Turn a walk_info_t into a virtual address=0A=
+ *=0A=
+ * XXX: This only applies to the lower VA range=0A=
+ * Ie. if you are looking at a table in ttbr1, this is different=0A=
+ * XXX: doesn't work for concat tables right now either=0A=
+ */=0A=
+static unsigned long walk_to_va(int level, walk_info_t *walk)=0A=
+{=0A=
+/* #define off_valid(x) (((x) <=3D level) && ((x) >=3D walk->root_level)) =
*/=0A=
+#define off_valid(x) ((x) <=3D level)=0A=
+#define off_val(x) ((u64)(off_valid(x) ? walk->off[x] : 0))=0A=
+=0A=
+    return (off_val(0) << ZEROETH_SHIFT)  \=0A=
+           | (off_val(1) << FIRST_SHIFT)  \=0A=
+           | (off_val(2) << SECOND_SHIFT) \=0A=
+           | (off_val(3) << THIRD_SHIFT);=0A=
+}=0A=
+=0A=
+/* Prints each entry in the form "\t @XTH TABLE:0.0.0.0 =3D 0xENTRY" */=0A=
+static void dump_entry(int level, lpae_t pte, walk_info_t *walk)=0A=
+{=0A=
+    int i;=0A=
+    static const char *level_strs[4] =3D { "0TH", "1ST", "2ND", "3RD" };=
=0A=
+    ASSERT(level <=3D 3);=0A=
+=0A=
+    for (i =3D 0; i < level; i++)=0A=
+        printk("  ");=0A=
+=0A=
+    printk("@%s %i:", level_strs[level], walk->root_table_idx);=0A=
+=0A=
+    for (i =3D walk->root_level; i < level; i++)=0A=
+        printk("%d.", walk->off[i]);=0A=
+=0A=
+    printk("%d =3D 0x%lx\n", walk->off[level], pte.bits);=0A=
+}=0A=
+=0A=
+/* Prints each mapping in the form IA:0xIA -> OFN:0xOFN XG,M,K */=0A=
+static void dump_mapping(int level, lpae_t pte, walk_info_t *walk)=0A=
+{=0A=
+    unsigned long va;=0A=
+    unsigned long ofn =3D pte.walk.base;=0A=
+    const char *size[4] =3D {"??", "1G", "2M", "4K"};=0A=
+=0A=
+    ASSERT(level >=3D 1);=0A=
+    ASSERT(level <=3D 3);=0A=
+=0A=
+    va =3D walk_to_va(level, walk);=0A=
+=0A=
+    /* ofn stands for output frame number.. I just made it up. */=0A=
+    printk("0x%lx -> 0x%lx %s\n", va, ofn, size[level]);=0A=
+}=0A=
+=0A=
+/* Recursive walk function */=0A=
+static void walk_table(mfn_t mfn, int level, walk_info_t *walk, int flags)=
=0A=
+{=0A=
+    lpae_t *table;=0A=
+=0A=
+    #define i (walk->off[level])=0A=
+=0A=
+    BUG_ON(level > 3);=0A=
+=0A=
+    table =3D map_domain_page(mfn);=0A=
+    for ( i =3D 0; i < XEN_PT_LPAE_ENTRIES; i++ )=0A=
+    {=0A=
+        lpae_t pte =3D table[i];=0A=
+        if ( !lpae_is_valid(pte) )=0A=
+            continue;=0A=
+=0A=
+        /* Skip recursive mapping */=0A=
+        if ( level =3D=3D 0 && i =3D=3D RECURSIVE_IDX )=0A=
+            continue;=0A=
+=0A=
+        if ( flags & WALK_DUMP_ENTRIES )=0A=
+            dump_entry(level, pte, walk);=0A=
+=0A=
+        if ( lpae_is_mapping(pte, level) )=0A=
+        {=0A=
+            /* Do mapping related things */=0A=
+            if ( flags & WALK_DUMP_MAPPINGS )=0A=
+                dump_mapping(level, pte, walk);=0A=
+            if ( flags & WALK_HIDE_GUEST_MAPPING )=0A=
+                /* Destroy all of Xen's mappings to the physical frames co=
vered by this entry */=0A=
+                destroy_directmap_mapping(pte.walk.base, 1 << XEN_PT_LEVEL=
_ORDER(level));=0A=
+        }=0A=
+        else if ( lpae_is_table(pte, level) )=0A=
+        {=0A=
+            /* else, pte is a table: recurse! */=0A=
+            walk_table(lpae_get_mfn(pte), level + 1, walk, flags);=0A=
+=0A=
+            /* Note that the entry is a normal entry in xen's page tables =
*/=0A=
+            if ( flags & WALK_HIDE_GUEST_TABLE )=0A=
+                /*=0A=
+                 * This call will look up the table pointed to by this ent=
ry in the directmap=0A=
+                 * and remove it in the typical way=0A=
+                 * This leaves the table intact, but removes the directmap=
 mapping to it, hiding it from xen=0A=
+                 */=0A=
+                destroy_directmap_mapping(pte.walk.base, 1);=0A=
+            if ( flags & WALK_SPLIT_DIRECTMAP_TABLE )=0A=
+                /*=0A=
+                 * This call will look up the table pointed to by this ent=
ry in the directmap=0A=
+                 * and make sure that it has it's own l3 entry, splitting =
superpages if needed=0A=
+                 */=0A=
+                split_directmap_mapping(pte.walk.base, 1);=0A=
+            if ( flags & WALK_HIDE_DIRECTMAP_TABLE )=0A=
+                /*=0A=
+                 * This call will look up the table pointed to by this ent=
ry in the directmap=0A=
+                 * and (now that it has it's own l3 entry) overwrite that =
entry with 0's=0A=
+                 * This leaves the table intact, but removes the directmap=
 mapping to it, hiding it from xen=0A=
+                 */=0A=
+                destroy_directmap_table(pte.walk.base);=0A=
+        }=0A=
+        /* else, invalid pte, level =3D=3D 3, vaild =3D=3D true, table =3D=
 false */=0A=
+    }=0A=
+    unmap_domain_page(table);=0A=
+=0A=
+    #undef i=0A=
+}=0A=
+=0A=
+void do_walk_tables(paddr_t ttbr, int root_level, int nr_root_tables, int =
flags)=0A=
+{=0A=
+    int i;=0A=
+    mfn_t root =3D maddr_to_mfn(ttbr & PADDR_MASK);=0A=
+    walk_info_t walk =3D {=0A=
+        .off =3D {0},=0A=
+        .root_level =3D root_level,=0A=
+    };=0A=
+=0A=
+    BUG_ON( !mfn_x(root) || !mfn_valid(root) );=0A=
+=0A=
+    for ( i =3D 0; i < nr_root_tables; i++, root =3D mfn_add(root, 1) ) {=
=0A=
+        walk.root_table_idx =3D i;=0A=
+        walk_table(root, root_level, &walk, flags);=0A=
+=0A=
+        /* Our walk doesn't consider the root table, so do that here */=0A=
+        if ( flags & WALK_SPLIT_DIRECTMAP_TABLE )=0A=
+            split_directmap_mapping(mfn_x(root), 1);=0A=
+        if ( flags & WALK_HIDE_GUEST_TABLE )=0A=
+            destroy_directmap_mapping(mfn_x(root), 1);=0A=
+        if ( flags & WALK_HIDE_DIRECTMAP_TABLE )=0A=
+            destroy_directmap_table(mfn_x(root));=0A=
+    }=0A=
+}=0A=
+=0A=
+/*=0A=
+ * Local variables:=0A=
+ * mode: C=0A=
+ * c-file-style: "BSD"=0A=
+ * c-basic-offset: 4=0A=
+ * indent-tabs-mode: nil=0A=
+ * End:=0A=
+ */=0A=
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c=0A=
index 91b9c2b..64e9efd 100644=0A=
--- a/xen/arch/arm/mm.c=0A=
+++ b/xen/arch/arm/mm.c=0A=
@@ -21,11 +21,13 @@=0A=
 #include <xen/sizes.h>=0A=
 #include <xen/types.h>=0A=
 #include <xen/vmap.h>=0A=
+#include <xen/vmf.h>=0A=
 =0A=
 #include <xsm/xsm.h>=0A=
 =0A=
 #include <asm/fixmap.h>=0A=
 #include <asm/setup.h>=0A=
+#include <asm/mm-walk.h>=0A=
 =0A=
 #include <public/memory.h>=0A=
 =0A=
@@ -1164,7 +1166,8 @@ static int xen_pt_update(unsigned long virt,=0A=
      *=0A=
      * XXX: Add a check.=0A=
      */=0A=
-    const mfn_t root =3D virt_to_mfn(THIS_CPU_PGTABLE);=0A=
+    /* TODO: does this change have a negative performance impact? */=0A=
+    const mfn_t root =3D maddr_to_mfn(READ_SYSREG64(TTBR0_EL2));=0A=
 =0A=
     /*=0A=
      * The hardware was configured to forbid mapping both writeable and=0A=
@@ -1273,6 +1276,199 @@ int modify_xen_mappings(unsigned long s, unsigned l=
ong e, unsigned int flags)=0A=
     return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, flags);=0A=
 }=0A=
 =0A=
+static void insert_recursive_mapping(void)=0A=
+{=0A=
+    uint64_t ttbr =3D READ_SYSREG64(TTBR0_EL2);=0A=
+    const mfn_t root_mfn =3D maddr_to_mfn(ttbr & PADDR_MASK);=0A=
+    lpae_t *pgtable =3D map_domain_page(root_mfn);=0A=
+=0A=
+    lpae_t pte =3D mfn_to_xen_entry(root_mfn, MT_NORMAL);=0A=
+    pte.pt.table =3D 1;=0A=
+=0A=
+    spin_lock(&xen_pt_lock);=0A=
+=0A=
+    write_pte(&pgtable[RECURSIVE_IDX], pte);=0A=
+    clean_dcache(pgtable[RECURSIVE_IDX]);=0A=
+=0A=
+    unmap_domain_page(pgtable);=0A=
+    spin_unlock(&xen_pt_lock);=0A=
+}=0A=
+=0A=
+/*=0A=
+ * Converts va to a table pointer through the recursive mapping=0A=
+ * Only valid for the current address space obviously=0A=
+ */=0A=
+static lpae_t *va_to_table(int level, unsigned long va)=0A=
+{=0A=
+    /* Shift everything by 9 for each walk we skip */=0A=
+    /* Last off shifted out becomes becomes offset into page */=0A=
+    for ( ;level <=3D 3; level++ ) {=0A=
+        va >>=3D XEN_PT_LPAE_SHIFT;=0A=
+        va |=3D RECURSIVE_VA;=0A=
+    }=0A=
+=0A=
+    /* Mask out any offset, in case caller is asking about a misalligned v=
a */=0A=
+    va &=3D ~0x7;=0A=
+    return (lpae_t *)va;=0A=
+}=0A=
+=0A=
+/*=0A=
+ * Zero out the table at level when walking to virt=0A=
+ * Do this through the recursive mapping, in case we have already=0A=
+ * removed part of the directmap and can't walk to that entry=0A=
+ */=0A=
+static void clear_pte_directly(int level, void *virt)=0A=
+{=0A=
+    unsigned long va =3D (unsigned long)virt;=0A=
+    lpae_t empty =3D {.pt =3D {0x0}};=0A=
+    lpae_t *table;=0A=
+=0A=
+    spin_lock(&xen_pt_lock);=0A=
+=0A=
+    /* We're assuming we can safely remove an entry at `level` */=0A=
+    /* This depends on va not living in a superpage */=0A=
+    BUG_ON(level > 1 && !va_to_table(1, va)->pt.table);=0A=
+    BUG_ON(level > 2 && !va_to_table(2, va)->pt.table);=0A=
+=0A=
+    table =3D va_to_table(level, va);=0A=
+    write_pte(table, empty);=0A=
+    clean_dcache(*table);=0A=
+    flush_xen_tlb_range_va((vaddr_t)table, sizeof(*table));=0A=
+=0A=
+    spin_unlock(&xen_pt_lock);=0A=
+}=0A=
+=0A=
+static void remove_recursive_mapping(void)=0A=
+{=0A=
+    clear_pte_directly(0, (void *)RECURSIVE_VA);=0A=
+}=0A=
+=0A=
+static int modify_virt_mapping(void *virt, int nr_pages, int flags)=0A=
+{=0A=
+    unsigned long va =3D (unsigned long)virt;=0A=
+    return modify_xen_mappings(va, va + (PAGE_SIZE * nr_pages), flags);=0A=
+}=0A=
+=0A=
+static int destroy_virt_mapping(void *virt, int nr_pages)=0A=
+{=0A=
+    return modify_virt_mapping(virt, nr_pages, 0);=0A=
+}=0A=
+=0A=
+static int modify_directmap_mapping(unsigned long mfn, unsigned long nr_mf=
ns, int flags)=0A=
+{=0A=
+    if ( mfn & pfn_hole_mask )=0A=
+    {=0A=
+        printk("** Skipping mfn 0x%lx because it lives in the pfn hole **\=
n", mfn);=0A=
+        return 0;=0A=
+    }=0A=
+=0A=
+    return modify_virt_mapping(__mfn_to_virt(mfn), nr_mfns, flags);=0A=
+}=0A=
+=0A=
+int split_directmap_mapping(unsigned long mfn, unsigned long nr_mfns)=0A=
+{=0A=
+    return modify_directmap_mapping(mfn, nr_mfns, PAGE_HYPERVISOR);=0A=
+}=0A=
+=0A=
+int destroy_directmap_mapping(unsigned long mfn, unsigned long nr_mfns)=0A=
+{=0A=
+    return modify_directmap_mapping(mfn, nr_mfns, 0);=0A=
+}=0A=
+=0A=
+void destroy_directmap_table(unsigned long mfn)=0A=
+{=0A=
+    BUG_ON(mfn & pfn_hole_mask);=0A=
+    clear_pte_directly(3, __mfn_to_virt(mfn));=0A=
+}=0A=
+=0A=
+static void unmap_xen_root_tables(void)=0A=
+{=0A=
+    destroy_virt_mapping(xen_xenmap, 1);=0A=
+    destroy_virt_mapping(xen_fixmap, 1);=0A=
+    destroy_virt_mapping(xen_second, 1);=0A=
+#if defined(CONFIG_ARM_64)=0A=
+    destroy_virt_mapping(xen_first, 1);=0A=
+    destroy_virt_mapping(xen_pgtable, 1);=0A=
+#endif=0A=
+}=0A=
+=0A=
+static void walk_hyp_tables(int flags)=0A=
+{=0A=
+    uint64_t httbr =3D READ_SYSREG64(TTBR0_EL2);=0A=
+    do_walk_tables(httbr, HYP_PT_ROOT_LEVEL, 1, flags);=0A=
+}=0A=
+=0A=
+static void walk_guest_tables(struct domain *d, int flags)=0A=
+{=0A=
+    uint64_t vttbr =3D d->arch.p2m.vttbr;=0A=
+    do_walk_tables(vttbr, P2M_ROOT_LEVEL, 1<<P2M_ROOT_ORDER, flags);=0A=
+}=0A=
+=0A=
+=0A=
+void vmf_unmap_guest(struct domain *d)=0A=
+{=0A=
+    /* Remove all of directmap mappings to guest */=0A=
+    walk_guest_tables(d, WALK_HIDE_GUEST_MAPPING);=0A=
+=0A=
+    /* Remove all mappings to guest second stage tables */=0A=
+    walk_guest_tables(d, WALK_HIDE_GUEST_TABLE);=0A=
+}=0A=
+=0A=
+void vmf_lock_xen_pgtables(void)=0A=
+{=0A=
+    /* Remove all of the static allocated root tables */=0A=
+    unmap_xen_root_tables();=0A=
+=0A=
+    /*=0A=
+     * Remove all tables from directmap=0A=
+     * Becuase we can't use the directmap to walk tables while we are remo=
ving=0A=
+     * the directmap, add a recursive pointer and use that to erase pte's=
=0A=
+     */=0A=
+    insert_recursive_mapping();=0A=
+    walk_hyp_tables(WALK_SPLIT_DIRECTMAP_TABLE);=0A=
+    walk_hyp_tables(WALK_HIDE_DIRECTMAP_TABLE);=0A=
+    remove_recursive_mapping();=0A=
+}=0A=
+=0A=
+void vmf_dump_xen_info()=0A=
+{=0A=
+    printk("Dump reg info...\n");=0A=
+    printk("current httbr0 is 0x%lx\n", READ_SYSREG64(TTBR0_EL2));=0A=
+    printk("current vttbr is 0x%lx\n", READ_SYSREG64(VTTBR_EL2));=0A=
+    printk("current ttbr0 is 0x%lx\n", READ_SYSREG64(TTBR0_EL1));=0A=
+    printk("current ttbr1 is 0x%lx\n", READ_SYSREG64(TTBR1_EL1));=0A=
+    printk("\n");=0A=
+=0A=
+    printk("Dump xen table info...\n");=0A=
+#if defined(CONFIG_ARM_64)=0A=
+    printk("xen_pgtable: 0x%"PRIvaddr"\n", (vaddr_t)xen_pgtable);=0A=
+    printk("xen_first: 0x%"PRIvaddr"\n", (vaddr_t)xen_first);=0A=
+#endif=0A=
+    printk("xen_second: 0x%"PRIvaddr"\n", (vaddr_t)xen_second);=0A=
+    printk("xen_xenmap: 0x%"PRIvaddr"\n", (vaddr_t)xen_xenmap);=0A=
+    printk("xen_fixmap: 0x%"PRIvaddr"\n", (vaddr_t)xen_fixmap);=0A=
+}=0A=
+=0A=
+void vmf_dump_domain_info(struct domain *d)=0A=
+{=0A=
+    uint64_t vttbr =3D d->arch.p2m.vttbr;=0A=
+    uint64_t httbr =3D READ_SYSREG64(TTBR0_EL2);=0A=
+=0A=
+    printk("Dump domain info...\n");=0A=
+    printk("guest mfn =3D 0x%lx\n", paddr_to_pfn(vttbr & PADDR_MASK));=0A=
+    printk("xen mfn =3D 0x%lx\n", paddr_to_pfn(httbr & PADDR_MASK));=0A=
+}=0A=
+=0A=
+void vmf_dump_xen_tables()=0A=
+{=0A=
+    walk_hyp_tables(WALK_DUMP_MAPPINGS | WALK_DUMP_ENTRIES);=0A=
+}=0A=
+=0A=
+void vmf_dump_domain_tables(struct domain *d)=0A=
+{=0A=
+    walk_guest_tables(d, WALK_DUMP_MAPPINGS | WALK_DUMP_ENTRIES);=0A=
+}=0A=
+=0A=
 /* Release all __init and __initdata ranges to be reused */=0A=
 void free_init_memory(void)=0A=
 {=0A=
diff --git a/xen/common/Kconfig b/xen/common/Kconfig=0A=
index 3bf92b8..c087371 100644=0A=
--- a/xen/common/Kconfig=0A=
+++ b/xen/common/Kconfig=0A=
@@ -94,6 +94,8 @@ config STATIC_MEMORY=0A=
 =0A=
 config VMF=0A=
 	bool "Virtual Memory Fuse Support"=0A=
+	depends on ARM_64=0A=
+	default y=0A=
 =0A=
 menu "Speculative hardening"=0A=
 =0A=
-- =0A=
2.7.4=0A=
=0A=


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 20:55:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 20:55:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461156.719198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5CJI-0003lo-Fj; Tue, 13 Dec 2022 20:55:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461156.719198; Tue, 13 Dec 2022 20:55:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5CJI-0003lh-Cu; Tue, 13 Dec 2022 20:55:32 +0000
Received: by outflank-mailman (input) for mailman id 461156;
 Tue, 13 Dec 2022 20:55:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5CJH-0003lb-Bu
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 20:55:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5CJG-00035e-SH; Tue, 13 Dec 2022 20:55:30 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5CJG-00085K-MV; Tue, 13 Dec 2022 20:55:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=7ZWRSN+wWP8i4lrKdOuMjSki1Ve9CeXCg2rOUgdKsrQ=; b=yYS7PTrt7EoQctSWvHOutK/H2f
	hyIUVKdTU65+7CPd80SvVA6Izd8qf6MPyTfYkr99x9RDVIyqpC+QlpiOdimpmx15aRozyRJR7zwPG
	FsBdRacqNsp1OUm6W1OaxRRKUJN/F6U10JQj0V22rS1IHYrp0Bv6MJJKRrj58cATR2xU=;
Message-ID: <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
Date: Tue, 13 Dec 2022 20:55:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
To: "Smith, Jackson" <rsmith@RiversideResearch.org>
Cc: "Brookes, Scott" <sbrookes@RiversideResearch.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "demi@invisiblethingslab.com" <demi@invisiblethingslab.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
From: Julien Grall <julien@xen.org>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
In-Reply-To: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 13/12/2022 19:48, Smith, Jackson wrote:
> Hi Xen Developers,

Hi Jackson,

Thanks for sharing the prototype with the community. Some 
questions/remarks below.

> My team at Riverside Research is currently spending IRAD funding
> to prototype next-generation secure hypervisor design ideas
> on Xen. In particular, we are prototyping the idea of Virtual
> Memory Fuses for Software Enclaves, as described in this paper:
> https://www.nspw.org/papers/2020/nspw2020-brookes.pdf. Note that
> that paper talks about OS/Process while we have implemented the idea
> for Hypervisor/VM.
> 
> Our goal is to emulate something akin to Intel SGX or AMD SEV,
> but using only existing virtual memory features common in all
> processors. The basic idea is not to map guest memory into the
> hypervisor so that a compromised hypervisor cannot compromise
> (e.g. read/write) the guest. This idea has been proposed before,
> however, Virtual Memory Fuses go one step further; they delete the
> hypervisor's mappings to its own page tables, essentially locking
> the virtual memory configuration for the lifetime of the system. This
> creates what we call "Software Enclaves", ensuring that an adversary
> with arbitrary code execution in the hypervisor STILL cannot read/write
> guest memory.

I am confused, if the attacker is able to execute arbitrary code, then 
what prevent them to write code to map/unmap the page?

Skimming through the paper (pages 5-6), it looks like you would need to 
implement extra defense in Xen to be able to prevent map/unmap a page.

> 
> With this technique, we protect the integrity and confidentiality of
> guest memory. However, a compromised hypervisor can still read/write
> register state during traps, or refuse to schedule a guest, denying
> service. We also recognize that because this technique precludes
> modifying Xen's page tables after startup, it may not be compatible
> with all of Xen's potential use cases. On the other hand, there are
> some uses cases (in particular statically defined embedded systems)
> where our technique could be adopted with minimal friction.

 From what you wrote, this sounds very much like the project Citrix and 
Amazon worked on called "Secret-free hypervisor" with a twist. In your 
case, you want to prevent the hypervisor to map/unmap the guest memory.

You can find some details in [1]. The code is x86 only, but I don't see 
any major blocker to port it on arm64.

> 
> With this in mind our goal is to work with the Xen community to
> upstream this work as an optional feature. At this point, we have
> a prototype implementation of VMF on Xen (the contents of this RFC
> patch series) that supports dom0less guests on arm 64. By sharing
> our prototype, we hope to socialize our idea, gauge interest, and
> hopefully gain useful feedback as we work toward upstreaming.
> 
> ** IMPLEMENTATION **
> In our current setup we have a static configuration with dom0 and
> one or two domUs. Soon after boot, Dom0 issues a hypercall through
> the xenctrl interface to blow the fuse for the domU. In the future,
> we could also add code to support blowing the fuse automatically on
> startup, before any domains are un-paused.
> 
> Our Xen/arm64 prototype creates Software Enclaves in two steps,
> represented by these two functions defined in xen/vmf.h:
> void vmf_unmap_guest(struct domain *d);
> void vmf_lock_xen_pgtables(void);
> 
> In the first, the Xen removes mappings to the guest(s) On arm64, Xen
> keeps a reference to all of guest memory in the directmap. Right now,
> we simply walk all of the guest second stage tables and remove them
> from the directmap, although there is probably a more elegant method
> for this.

IIUC, you first map all the RAM and then remove the pages. What you 
could do instead is to map only the memory required for Xen use. The 
rest would be left unmapped.

This would be similar to what we are doing on arm32. We have a split 
heap. Only the xenheap is mapped. The pages from the domheap will be 
mapped ondemand.

Another approach, would be to have a single heap where pages used by Xen 
are mapped in the page-tables when allocated (this is what secret-free 
hypervisor is doing is).

If you don't map to keep the page-tables around, then it sounds like you 
want the first approach.

> 
> Second, the Xen removes mappings to its own page tables.
> On arm64, this also involves manipulating the directmap. One challenge
> here is that as we start to unmap our tables from the directmap,
> we can't use the directmap to walk them. Our solution here is also
> bit less elegant, we temporarily insert a recursive mapping and use
> that to remove page table entries.

See above.

> 
> ** LIMITATIONS and other closing thoughts **
> The current Xen code has obviously been implemented under the
> assumption that new pages can be mapped, and that guest virtual
> addresses can be read, so this technique will break some Xen
> features. However, in the general case

Can you clarify your definition of "general case"? From my PoV, it is a 
lot more common to have guest with PV emulated device rather than with 
device attached. So it will be mandatory to access part of the memory 
(e.g. grant table).

> (in particular for static
> workloads where the number of guest's is not changed after boot)

That very much depend on how you configure your guest. If they have 
device assigned then possibly yes. Otherwise see above.

> Finally, our initial testing suggests that Xen never reads guest memory
> (in a static, non-dom0-enchanced configuration), but have not really
> explored this thoroughly.
> We know at least these things work:
> 	Dom0less virtual serial terminal
> 	Domain scheduling
> We are aware that these things currently depend on accessible guest
> memory:
> 	Some hypercalls take guest pointers as arguments

There are not many hypercalls that don't take guest pointers.

> 	Virtualized MMIO on arm needs to decode certain load/store
> 	instructions

On Arm, this can be avoided of the guest OS is not using such 
instruction. In fact they were only added to cater "broken" guest OS.

Also, this will probably be a lot more difficult on x86 as, AFAIK, there 
is no instruction syndrome. So you will need to decode the instruction 
in order to emulate the access.

> 
> It's likely that other Xen features require guest memory access.

For Arm, guest memory access is also needed when using the GICv3 ITS 
and/or second-level SMMU (still in RFC).

For x86, if you don't want to access the guest memory, then you may need 
to restrict to PVH as for HVM we need to emulate some devices in QEMU. 
That said, I am not sure PVH is even feasible.

Cheers,

[1] 
https://www.youtube.com/watch?v=RKJOwIkCnB4&list=PLYyw7IQjL-zFYmEoZEYswoVuXrHvXAWxj&index=5

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 21:16:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 21:16:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461166.719209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Cd0-0006dT-4w; Tue, 13 Dec 2022 21:15:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461166.719209; Tue, 13 Dec 2022 21:15:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Cd0-0006dM-0y; Tue, 13 Dec 2022 21:15:54 +0000
Received: by outflank-mailman (input) for mailman id 461166;
 Tue, 13 Dec 2022 21:15:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5Ccy-0006dG-UD
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 21:15:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5Ccy-0003So-D7; Tue, 13 Dec 2022 21:15:52 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5Ccy-0000Y9-6u; Tue, 13 Dec 2022 21:15:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=gjPsJ9WyooZ2dnLJb3vM2kvOmfn14KMOFW08ryIjlUQ=; b=01aLj2cAAuUGy/fbM7h4iWA1BU
	KdGrQZREC1Fleq1eIqYPfVq1uoPMFHJwrxs1phMt82JaQbQnDOisTJ/oYGX96udOBy8qmVjt+7/XU
	yAoM9rtXE9PG0I78jK1ygi5s9UaNSknnRuAzkrS/DBHK8GkSXsRkB5+9ZdvXrLMMIM5Q=;
Message-ID: <c8f9e15a-81d1-ef8c-0baf-1758e7d89eee@xen.org>
Date: Tue, 13 Dec 2022 21:15:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
To: "Smith, Jackson" <rsmith@RiversideResearch.org>
Cc: "Brookes, Scott" <sbrookes@RiversideResearch.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "demi@invisiblethingslab.com" <demi@invisiblethingslab.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <BN0P110MB1642CCC518921DC7F2BB3BB3CFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
From: Julien Grall <julien@xen.org>
Subject: Re: [RFC 3/4] Add xen superpage splitting support to arm
In-Reply-To: <BN0P110MB1642CCC518921DC7F2BB3BB3CFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 13/12/2022 19:54, Smith, Jackson wrote:
> Updates xen_pt_update_entry function from xen/arch/arm/mm.c to
> automatically split superpages as needed.
Your signed-off-by is missing.

> ---
>   xen/arch/arm/mm.c | 91 +++++++++++++++++++++++++++++++++++++++++++++++--------
>   1 file changed, 78 insertions(+), 13 deletions(-)
> 
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index 6301752..91b9c2b 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -753,8 +753,78 @@ static int create_xen_table(lpae_t *entry)
>   }
>   
>   #define XEN_TABLE_MAP_FAILED 0
> -#define XEN_TABLE_SUPER_PAGE 1
> -#define XEN_TABLE_NORMAL_PAGE 2
> +#define XEN_TABLE_NORMAL_PAGE 1
> +
> +/* More or less taken from p2m_split_superpage, without the p2m stuff */
> +static bool xen_split_superpage(lpae_t *entry, unsigned int level,
> +                                unsigned int target, const unsigned int *offsets)
> +{
> +    struct page_info *page;
> +    lpae_t pte, *table;
> +    unsigned int i;
> +    bool rv = true;
> +
> +    mfn_t mfn = lpae_get_mfn(*entry);
> +    unsigned int next_level = level + 1;
> +    unsigned int level_order = XEN_PT_LEVEL_ORDER(next_level);
> +
> +    ASSERT(level < target);
> +    ASSERT(lpae_is_superpage(*entry, level));
> +
> +    page = alloc_domheap_page(NULL, 0);
Page-table may be allocated from the boot allocator. So you want to use 
create_xen_table().

> +    if ( !page )
> +        return false;
> +
> +    table = __map_domain_page(page);

You want to use xen_map_table().

> +
> +    /*
> +     * We are either splitting a first level 1G page into 512 second level
> +     * 2M pages, or a second level 2M page into 512 third level 4K pages.
> +     */
> +    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
> +    {
> +        lpae_t *new_entry = table + i;
> +
> +        /*
> +         * Use the content of the superpage entry and override
> +         * the necessary fields. So the correct permission are kept.
> +         */
> +        pte = *entry;
> +        lpae_set_mfn(pte, mfn_add(mfn, i << level_order));
> +
> +        /*
> +         * First and second level pages set walk.table = 0, but third
> +         * level entries set walk.table = 1.
> +         */
> +        pte.walk.table = (next_level == 3);
> +
> +        write_pte(new_entry, pte);
> +    }
> +
> +    /*
> +     * Shatter superpage in the page to the level we want to make the
> +     * changes.
> +     * This is done outside the loop to avoid checking the offset to
> +     * know whether the entry should be shattered for every entry.
> +     */
> +    if ( next_level != target )
> +        rv = xen_split_superpage(table + offsets[next_level],
> +                                 level + 1, target, offsets);
> +
> +    clean_dcache_va_range(table, PAGE_SIZE);

Cleaning the cache is not necessary. This is done in the P2M case 
because it is shared with the IOMMU which may not support coherent access.

> +    unmap_domain_page(table);

This would be xen_map

> +
> +    /*
> +     * Generate the entry for this new table we created,
> +     * and write it back in place of the superpage entry.
> +     */

I am afraid this is not compliant with the Arm Arm. If you want to 
update valid entry (e.g. shattering a superpage), then you need to 
follow the break-before-make sequence. This means that:
   1. Replace the valid entry with an entry with an invalid one
   2. Flush the TLBs
   3. Write the new entry

Those steps will make your code compliant but it also means that a 
virtual address will be temporarily invalid so you could take a fault in 
the middle of your split if your stack or the table was part of the 
region. The same could happen for the other running CPUs but this is 
less problematic as they could spin on the page-table lock.

This is the main reason why we never implemented super-page shattering 
for the hypervisor.

So I would rather prefer if we can avoid shattering (I have made some 
suggestion in the cover letter). If we really need to shatter, then we 
should make sure this is only used in very limited use case by 
introducing a flag. So the caller will be reponsible to acknowledge it 
doesn't modify a region that may be used by itself or another CPU.

> +    pte = mfn_to_xen_entry(page_to_mfn(page), MT_NORMAL);
> +    pte.pt.table = 1;
> +    write_pte(entry, pte);
> +    clean_dcache(*entry);

Ditto about the cache cleaning.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 21:21:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 21:21:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461174.719220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Ci1-00082x-MQ; Tue, 13 Dec 2022 21:21:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461174.719220; Tue, 13 Dec 2022 21:21:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Ci1-00082q-JY; Tue, 13 Dec 2022 21:21:05 +0000
Received: by outflank-mailman (input) for mailman id 461174;
 Tue, 13 Dec 2022 21:21:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5Chz-00082k-L6
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 21:21:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5Chz-0003iA-8m; Tue, 13 Dec 2022 21:21:03 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5Chz-0000da-2B; Tue, 13 Dec 2022 21:21:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=cjRx5hXdxpXNGVbSLpSQnPjoQVg2yVEZzvnlkEbrIQI=; b=buYT0AQGnBWMuxlWJFe13P0QgT
	6d2XMaSb3Pi8wGXgxj+NM6qKC33klQZ23DpSzqCNtxZccoLrS/hZwDz34mAIXOJsHcyUG/aRkGf6L
	PWNpzYG7v9h9acCQoYJTWRxDAjTkRq+U2gYpxVdj5cWit61lZQBzJzXBESqWbEOSXzTU=;
Message-ID: <bde7c3ec-b9d1-b8c3-e276-b364abf8dc3f@xen.org>
Date: Tue, 13 Dec 2022 21:21:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v5 07/11] xen/Arm: GICv3: Define ICH_LR<n>_EL2 on AArch32
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, michal.orzel@amd.com, jgrall@amazon.com,
 burzalodowa@gmail.com
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
 <20221205132637.26775-8-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221205132637.26775-8-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 05/12/2022 13:26, Ayan Kumar Halder wrote:
> Refer "Arm IHI 0069H ID020922", 12.4.6, Interrupt Controller List Registers
> 
> AArch64 System register ICH_LR<n>_EL2 bits [31:0] are architecturally
> mapped to AArch32 System register ICH_LR<n>[31:0].
> AArch64 System register ICH_LR<n>_EL2 bits [63:32] are architecturally
> mapped to AArch32 System register ICH_LRC<n>[31:0].
> 
> Defined ICH_LR<0...15>_EL2 and ICH_LRC<0...15>_EL2 for AArch32.
> For AArch32, the link register is stored as :-
> (((uint64_t) ICH_LRC<0...15>_EL2) << 32) | ICH_LR<0...15>_EL2
> 
> Also, ICR_LR macros need to be modified as ULL is 64 bits for AArch32 and
> AArch64.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 21:21:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 21:21:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461181.719231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Cis-00008T-Vy; Tue, 13 Dec 2022 21:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461181.719231; Tue, 13 Dec 2022 21:21:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Cis-00008M-Sx; Tue, 13 Dec 2022 21:21:58 +0000
Received: by outflank-mailman (input) for mailman id 461181;
 Tue, 13 Dec 2022 21:21:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5Cir-00008D-Sn
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 21:21:57 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5Cir-0003kM-HU; Tue, 13 Dec 2022 21:21:57 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5Cir-0000eR-BJ; Tue, 13 Dec 2022 21:21:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=vOMrTmeZv3ZRdo9Oz5VUpINoTRnGuKc0dkoYbXSV37w=; b=P/kGTC22yEtcADioI9BSHTh7hu
	iPY7+bwyFHiEpwpqf8kJE9JnkiiWCPxIWnxvidBbhVbLFNAT/oQYlP5BTu6Gn/dEx47hT+taJXdEz
	8MjegzZeQMjpxdNVIqu/635zBvTFD2PQ4woRR955AcjHAPntAoAfDCfHLq1CuIazw+wQ=;
Message-ID: <12115a68-6210-6af0-b1a0-e8596b12fc89@xen.org>
Date: Tue, 13 Dec 2022 21:21:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v5 08/11] xen/Arm: GICv3: Define ICH_AP0R<n> and ICH_AP1R<n>
 for AArch32
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, michal.orzel@amd.com, jgrall@amazon.com,
 burzalodowa@gmail.com
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
 <20221205132637.26775-9-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221205132637.26775-9-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 05/12/2022 13:26, Ayan Kumar Halder wrote:
> Adapt save_aprn_regs()/restore_aprn_regs() for AArch32.
> 
> For which we have defined the following registers:-
> 1. Interrupt Controller Hyp Active Priorities Group0 Registers 0-3
> 2. Interrupt Controller Hyp Active Priorities Group1 Registers 0-3
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 21:22:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 21:22:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461190.719243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5CjT-0000fx-B3; Tue, 13 Dec 2022 21:22:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461190.719243; Tue, 13 Dec 2022 21:22:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5CjT-0000fq-6U; Tue, 13 Dec 2022 21:22:35 +0000
Received: by outflank-mailman (input) for mailman id 461190;
 Tue, 13 Dec 2022 21:22:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5CjS-0000fg-HN
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 21:22:34 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5CjS-0003lO-53; Tue, 13 Dec 2022 21:22:34 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5CjR-0000p5-UW; Tue, 13 Dec 2022 21:22:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=25WgTk7TUdam7O/dffDJLrpoKcOfiFMVV7PrcQdZ7SI=; b=gbs6QEQlD72YYjeaAXey5YzCld
	Wad9+FacyGx+pmcgMjIRg/+FajuYXqbaB0N7kFPidWJXYHIu8aQYe7sZjzDawf7iCpxL8Vj2Yr6ym
	XAhxTKG2ncQAs81ZvqtheGq0L34HhP7vyI9FvhZTrb8GcViF3E3UPb6RADP7xjMwQ+SQ=;
Message-ID: <b1206296-dda6-fa2f-b143-c2611bca4d43@xen.org>
Date: Tue, 13 Dec 2022 21:22:32 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v5 09/11] xen/Arm: GICv3: Define remaining GIC registers for
 AArch32
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, michal.orzel@amd.com, jgrall@amazon.com,
 burzalodowa@gmail.com
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
 <20221205132637.26775-10-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221205132637.26775-10-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 05/12/2022 13:26, Ayan Kumar Halder wrote:
> Define missing assembly aliases for GIC registers on arm32, taking the ones
> defined already for arm64 as a base. Aliases are defined according to the
> GIC Architecture Specification ARM IHI 0069H.
> 
> Defined the following registers:-
> 1. Interrupt Controller Interrupt Priority Mask Register
> 2. Interrupt Controller System Register Enable register
> 3. Interrupt Controller Deactivate Interrupt Register
> 4. Interrupt Controller End Of Interrupt Register 1
> 5. Interrupt Controller Interrupt Acknowledge Register 1
> 6. Interrupt Controller Binary Point Register 1
> 7. Interrupt Controller Control Register
> 8. Interrupt Controller Interrupt Group 1 Enable register
> 9. Interrupt Controller Maintenance Interrupt State Register
> 10. Interrupt Controller End of Interrupt Status Register
> 11. Interrupt Controller Empty List Register Status Register
> 12. Interrupt Controller Virtual Machine Control Register
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 21:24:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 21:24:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461197.719252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Clg-0001LN-Le; Tue, 13 Dec 2022 21:24:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461197.719252; Tue, 13 Dec 2022 21:24:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Clg-0001LG-J1; Tue, 13 Dec 2022 21:24:52 +0000
Received: by outflank-mailman (input) for mailman id 461197;
 Tue, 13 Dec 2022 21:24:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5Clf-0001L4-Je
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 21:24:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5Clf-0003nv-IT
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 21:24:51 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5Clf-0000qP-Dh; Tue, 13 Dec 2022 21:24:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=gXnhtS/3l/O6hELM/t7xtIGJEw2w5M5KOEgxTgmFHh0=; b=XKvNn8T/IlMHqSmyCfQ7/I8Bs+
	yaNTVHrz5L9qOEldEqVKIyWWm8asbAhsBzfF5YzfKGFtq/6OpF+7ruKz+TbAmN3Ap4VGwaSeaHvQg
	g4f5Ft9HAe2QUsA76GuXkZnK5voB0FzSoEDVN05T5z7kbsp+Z1MeKa2QvUGDG3D0RuM4=;
Message-ID: <6849354d-6e45-11f3-6c8c-c1cdeae2ffb2@xen.org>
Date: Tue, 13 Dec 2022 21:24:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v5 10/11] xen/Arm: GICv3: Define macros to read/write 64 bit
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, michal.orzel@amd.com, jgrall@amazon.com,
 burzalodowa@gmail.com
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
 <20221205132637.26775-11-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221205132637.26775-11-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 05/12/2022 13:26, Ayan Kumar Halder wrote:
> On AArch32, ldrd/strd instructions are not atomic when used to access MMIO.
> Furthermore, ldrd/strd instructions are not decoded by Arm when running as
> a guest to access emulated MMIO region.
> Thus, we have defined readq_relaxed_non_atomic()/writeq_relaxed_non_atomic()
> which in turn calls readl_relaxed()/writel_relaxed() for the lower and upper
> 32 bits.
> For AArch64, readq_relaxed_non_atomic()/writeq_relaxed_non_atomic() invokes
> readq_relaxed()/writeq_relaxed() respectively.
> As GICv3 registers (GICD_IROUTER, GICR_TYPER) can be accessed in a non atomic
> manner, so we have used readq_relaxed_non_atomic()/readq_relaxed_non_atomic().
> 
> However, the following points are noted for the non atomic access :-
> 1. In gicv3_dist_init(), using non atomic write on GICD_IROUTER is fine as this
> gets invoked when interrupts are disabled.
> 2. In gicv3_populate_rdist(), using non atomic read on GICR_TYPER is fine as
> the register is read and the interrupts are disabled as well.
> 3. In gicv3_irq_set_affinity(), using non atomic write on GICD_IROUTER. This
> may be called with interrupts enabled. So, a non-atomic access (on AArch32)
> means the GIC will see a transient value when only one of two 32-bit will be
> updated. However, only AFF3 is defined in the upper 32 bits and they are 0, so
> this will never change.
> On AArch64, writeq_relaxed_non_atomic() invokes writeq_relaxed() (which is
> atomic), so this problem does not arise.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 21:26:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 21:26:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461205.719263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Cmq-0002BU-VZ; Tue, 13 Dec 2022 21:26:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461205.719263; Tue, 13 Dec 2022 21:26:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Cmq-0002BN-Sb; Tue, 13 Dec 2022 21:26:04 +0000
Received: by outflank-mailman (input) for mailman id 461205;
 Tue, 13 Dec 2022 21:26:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5Cmp-0002BH-IO
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 21:26:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5Cmp-0003pK-AC; Tue, 13 Dec 2022 21:26:03 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5Cmp-0000rx-50; Tue, 13 Dec 2022 21:26:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=25l2B35j46qJmV7lPA7q0BErmY5UTjh3TAmgDCYDTvs=; b=k3pzeoE9CoLccilntGhiiejtw4
	+U8YBGCRZgC2Ax2NDyVKkPkqbw/g/8i8O6PCr2a+T/P9heOqBQEJjSnc8PXr1mDduXs8OxPznXSXj
	BZkng9kwedPgnf+KjSQGmRRIkcmISmPVpg4eetJyqz0KRX+Z5pSb3qPE+zSZtj8UGn9U=;
Message-ID: <11fcdadd-66e3-9d90-e1da-124c12f5b9e3@xen.org>
Date: Tue, 13 Dec 2022 21:26:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v5 11/11] xen/Arm: GICv3: Enable GICv3 for AArch32
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, michal.orzel@amd.com, jgrall@amazon.com,
 burzalodowa@gmail.com
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
 <20221205132637.26775-12-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221205132637.26775-12-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 05/12/2022 13:26, Ayan Kumar Halder wrote:
> One can now use GICv3 on AArch32 systems. However, ITS is not supported.
> The reason being currently we are trying to validate GICv3 on an AArch32_v8R
> system. Refer ARM DDI 0568A.c ID110520, B1.3.1,
> "A Generic Interrupt Controller (GIC) implemented with an Armv8-R PE must not
> implement LPI support."
> 
> By default GICv3 is disabled on AArch32 and enabled on AArch64.
> 
> Updated SUPPORT.md to state that GICv3 on Arm32 is not security supported.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 21:26:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 21:26:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461206.719275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Cmu-0002RU-7Q; Tue, 13 Dec 2022 21:26:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461206.719275; Tue, 13 Dec 2022 21:26:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Cmu-0002RL-3y; Tue, 13 Dec 2022 21:26:08 +0000
Received: by outflank-mailman (input) for mailman id 461206;
 Tue, 13 Dec 2022 21:26:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T0WE=4L=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1p5Cms-0002Ov-6y
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 21:26:06 +0000
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com
 [205.220.165.32]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf045888-7b2c-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 22:26:04 +0100 (CET)
Received: from pps.filterd (m0246617.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 2BDLO8mR016099; Tue, 13 Dec 2022 21:25:40 GMT
Received: from phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta02.appoci.oracle.com [147.154.114.232])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3meyewr9ve-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 13 Dec 2022 21:25:40 +0000
Received: from pps.filterd
 (phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5)
 with ESMTP id 2BDLNK2j030241; Tue, 13 Dec 2022 21:25:39 GMT
Received: from nam11-co1-obe.outbound.protection.outlook.com
 (mail-co1nam11lp2172.outbound.protection.outlook.com [104.47.56.172])
 by phxpaimrmta02.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 3meyenwwfj-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 13 Dec 2022 21:25:39 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by IA1PR10MB6194.namprd10.prod.outlook.com (2603:10b6:208:3a6::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 13 Dec
 2022 21:25:37 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::909f:fa34:2dac:11c5]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::909f:fa34:2dac:11c5%7]) with mapi id 15.20.5880.019; Tue, 13 Dec 2022
 21:25:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf045888-7b2c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date :
 to : cc : references : from : subject : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2022-7-12;
 bh=TIG+p19bCGlszanUSqVWC+PxpXzQLT9505FiIpN2ww4=;
 b=VdsXkbWtWPeVJZ3VmV3jqSeLZ2RFW5kd4Ixq3rSRQfFsNyodZP+khzSFCq1HFCshpNbW
 a8ZNEECIpoueYjeTJ5DCL2VUNHHY8IuCL6iY3K33J0i1bmYfLWSNoFRbi3TfU5PfDXJQ
 K6av9UEIqdR+FTWFcm6pnhH4M3YNMc4yTjA+XwCvXQLcmWVkLXgpnukHGOLZc863iVPD
 rtgZ4zuQOH2gIbyeZbfi8eWCyGFdMmPt+Z55pzeaKUmL/bR/Xy8OmfrEOmyhDaRY1Ls6
 rKzw7TBI8chaNc3SMnxDHmw6/4b3JBQFmdH0yqI7w/aOuuhOoPtX0H4dPkQPulcJMyBi NA== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NIz8DSjMXY0WJQOLKLArrgCoz47iWrgPKnVVavLYcg0g4SGbZ+DBHD0rkGhk8ts5vz3dfxAUE3JPvsgDC9OLIDuSqZDiwJbz2+XHt333X9IX18nyb3zMMihGt9sufx548hboRfDnWv0yRfIA0zHZozf4AFAg8ELBI7PlI0u8LiDiNNOBnJv5jY4EzrKjbLWgAyQf9tKlg3WU2rBZz7w8zmZNvmpKDvHOy8TPDuROK+FZuZshHGqyrxe0Zw26t/DaDqnO++5o30kpEYUt8c6EPHtgR4zjSOLXiaxky1QZBi2jylxU3yLnCUwnHa6KCZEcN5f4NpATEOzc2zPe9XxpDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TIG+p19bCGlszanUSqVWC+PxpXzQLT9505FiIpN2ww4=;
 b=Vki8Tq6ZKfJgxpy8aG/IBMzvJG88wDoyx8AA9IXpTsBjB/sdW2SPcS1dn9YZBvdzL56xqrcwYrJUxVIL7rDbCR49rhRjrIVHLhpIUzJlkbYx91W1K6do8xCe59ZaREqsHxtgLjeu9jFCgX+8se0ljmgzIlL6fPJoolpJT9cM2lZxNXTki9ZOnqDqC4WV/dqZsBEhqhZjbwAYkrogz8dJARuu+kjR+GKelfhg+KD4ynnodTpuq1PUHJHlgG8uP5oucdjbIAumyuQtrocvxBgkopHTjDC2HFbGVqOO0VzcbeDj1c/qnYX5iRtymqdqWUWVsofw1VQziIn5KO29vV1gUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TIG+p19bCGlszanUSqVWC+PxpXzQLT9505FiIpN2ww4=;
 b=HlxyLxyYWpmA9tq4PoTy65nHrlOqJTBsS3OeTdPv/NmJZ1ckw+vreq6xgDeLvlUDY0hnCidRBVoPuMJkoiEFCNn9LyTsuvw42Pgh0hOxKXiJW/2dvLKsWdTfPMsKaDp2zUtYap3ntf0F5q1R9OdM4IavxCk9Lwn50tnCEXZT0B0=
Message-ID: <9dfe87f0-fc95-6c28-6695-62f1f5403df6@oracle.com>
Date: Tue, 13 Dec 2022 16:25:32 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Content-Language: en-US
To: Krister Johansen <kjlx@templeofstupid.com>
Cc: Juergen Gross <jgross@suse.com>, Thomas Gleixner <tglx@linutronix.de>,
        Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
        Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
        "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
        linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
        Anthony Liguori <aliguori@amazon.com>,
        David Reaver <me@davidreaver.com>, Brendan Gregg <brendan@intel.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
 <20221212155730.GA1973@templeofstupid.com>
 <20221212160524.GB1973@templeofstupid.com>
 <d1a2b785-edc7-b7da-d2f2-123d1555022e@oracle.com>
 <20221212220959.GB1935@templeofstupid.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [PATCH linux-next v2] x86/xen/time: prefer tsc as clocksource
 when it is invariant
In-Reply-To: <20221212220959.GB1935@templeofstupid.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SA1P222CA0059.NAMP222.PROD.OUTLOOK.COM
 (2603:10b6:806:2c1::11) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BLAPR10MB5009:EE_|IA1PR10MB6194:EE_
X-MS-Office365-Filtering-Correlation-Id: 47ec1c74-08d6-4a2a-0a56-08dadd50939d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	5dYJgUXWvdKTRjz0AsFcgprMvM68enCUkIrHiVmiAYMiJ+ci3wtQVS9KduvHUYehp6TcGl7AGWp/Xh7X/A1pki+zmkb9sEO41pfv+klO1Q/f0qvc5D7FkKvaLmXBvtXs6Uta8oqTq5Td0Cs9atTdoxcQOMdFrZzpe5q5bZWYJdVbL+ZRBhf5Oxn0cp+QcnwSqU4TPEIN2vzbH3y/ZapmR46mRQ73I8V5XclxS9joPde1meYhQfDNYxg14AOOpz0NlFvEufszZr5QC0YSPvI0vUZKnzpjHUQb1dw8RiGsWLNxRMYJM6PbcgM2zlkPNt8WvqCYeYb6AFSOSaD6QdPmdhcTB/FQvktbwiL7nfxFlWUvn3rGzjyHVA2yXv5otsy65NcNImhaudxjCF33n4ZQwsTbWGqtrkJ1Q4lMJsn2dJv/e0A32hPm54qYVSSKKXpHvbVOKaj/7ch7PppPaih/9oQpYkI1CqZR8VB7lpTn6eK/z5G1f5ekBj442xF55N2vO5Qs3Fhj6MJiXL8i9DMHkxjZg+za4VU6exR3aPmtR/1IUUHHrlyhSf9j1DkTccdXwgkpIcMJeW2KoQQo8IZfK4yC2GddGge+NEl2dPaVUG6OwEMH3GyoFFlGI49fnNPalpqy3PxH5dKdEf+t+cXVBkc4RomKZy48sFQkgQF8UG5cdQ/bSHpGvrTrvkmhU/qqcbdrqq1CKYsRT4HhTm0Z05Z+3sYSSWwgIfy1OGsLEGg=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5009.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(366004)(376002)(39860400002)(396003)(451199015)(6506007)(6512007)(31686004)(53546011)(26005)(8676002)(478600001)(4326008)(66946007)(54906003)(6666004)(66556008)(316002)(6916009)(6486002)(66476007)(2616005)(186003)(41300700001)(5660300002)(86362001)(7416002)(31696002)(36756003)(8936002)(83380400001)(44832011)(2906002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?YTBJVHhNQVpvUEVvdTIyTHNmQlVYM0EwcW1scklJbDNXRTA1YzJ3SWd1T1hr?=
 =?utf-8?B?OFdNUWdKT3d6cXo5Vm5CN3U4eGliM2pHM0tiOXBQWHZCbHd5Rk5Gd0s0QXQz?=
 =?utf-8?B?RVYreDVhZmhHOHJ4ditrWG9lYWxnc3JvbHBiMVdkRHNzVHFQWGtNY09mRkZ4?=
 =?utf-8?B?aFpnS1Vwck5lTVlZQmNHYmVyMm80Z1VJSjhEckxONVY4YjBmc3ZPMlNDK2Jq?=
 =?utf-8?B?cWtLc1ZIVGRWL3R6QjNOZytiVnpXamtZWjBDTkovMElZdUk4VDhibHRzenNB?=
 =?utf-8?B?L0xUR3NWZ1hpcmN5eWRhWFhkTTRxOFRKOEg5Y3NIM3V5RUhxNldJeTJUeGVE?=
 =?utf-8?B?dlE2SjVzeXdZaG12N0o0dDkySUVVOXRlZ0JzMnNIN1U1NEw5cHNPTXBCZVE2?=
 =?utf-8?B?REJsVm9yNHNDSjltQ2NGWjJTdXBUK1EvckdQcEgrUU4wbXA1UTlUVVJUM0Vp?=
 =?utf-8?B?YlF5VTIyTVRMbWhxZy8vNEVMN0xTZGdCbUxpUGRFN2Fib0hyUUEyU1VnU1Rk?=
 =?utf-8?B?SE45cDI1TWZHWDBTeExKMDZxYWo2cDZFWThXenhzQXd1RGhzcXgrc09sUlgw?=
 =?utf-8?B?Q3dZR3h6Q0o4cXpkUVBWc3J3VGhJemlua0hzR2NzUUR2d25DTFhRZ1J6dG9y?=
 =?utf-8?B?OGh6WEU1ZlZ3RWEybzdKcXVpcG1Na0lXajViQ0dNQmI0Rzh0MzFyWThUZXgv?=
 =?utf-8?B?NndUc2g3NlkrMU1YRG9rcjhZajlkUHMzcmxOT0d0UHdzcXhJVG5DQkkvNlRw?=
 =?utf-8?B?d3gvTEFkdW15b2FPR1JocUtDMUFXb2daS1Y1YkY2MFQ3SmRZQSsxbzVjbTRH?=
 =?utf-8?B?aHE1MjRiVzBEMW5BMjNFNDVsbXNzL0wyK2pENVhUUytEWFpjNWJGZmVmR0pZ?=
 =?utf-8?B?Ujl4R3RWakpiK1RzemVYdGlvbHVEKzd2SHIxK1laWldaRWpxY2tmUERobytY?=
 =?utf-8?B?STE0aWJRcWZqZlVOTkdPSlp0bjdleUpMTDdQbW1sRWxKdDUxOWt5dTh1VWY0?=
 =?utf-8?B?OUYxb2tXSkZEYVRZWDJSS2VyOWhocjlKbUhOclhUZEZaT0pkWUk5ZzVTVlgx?=
 =?utf-8?B?VnE1a242WG84QVhIVW9mbzJ1Y0RmaG9QK1FPVUk1UkQ5OEtNV01PYzRSY1dC?=
 =?utf-8?B?VUxOMFhKZGNxZXdBOUtMSER0aUdLUkNYbVZwS3hlNTlDcTNQQjZTblZVckN2?=
 =?utf-8?B?dDZpMkpxRmR6eTJkZEM1ZVZleUhUa1ZUMHpJK0Vod2tTdHlYdi8rNi9STjEw?=
 =?utf-8?B?am96aitHQUFnMUdlY0RxWGVHSkFBNjVnTjE1U3kyTFpDUlJTWHpmMUNVYzdV?=
 =?utf-8?B?WUFPbSt1cHhTWFQ3ejV6ZjA1enVIQWtVRXpXWC9NTFVPSFowc1VZTCttTHJy?=
 =?utf-8?B?THFVVlF5K1NSMGhJR2lkRFFXZ0FkZStmRjh5bm5xQm42dVdLcGlNYXNra3pK?=
 =?utf-8?B?L0tOWkZBWnN0RE9VV2w5WFNod1pXVFhUKzFMekhwdzFnOFloZmtnczc5T0hH?=
 =?utf-8?B?TmlwMjc1MjVzdSs1ZVU1dXNGckJyZDdwbUFPcUZ5NTNnQ0ZGZVhjcCtPaXFB?=
 =?utf-8?B?aDN6WU9tSnhIV1FWcTZGQTFPeXdpdjV5VElpME94SXlmc3hDTENFbWo2NzVs?=
 =?utf-8?B?YzZERWVzTjRoUlF6azVkMXRqZWVVbFdHVFh5ZnJTQUNmUzhhRGZvdllISVFH?=
 =?utf-8?B?d1hMVmVRQWJGMHArYjYvZGRGMG1sQytLUWxTS2hpTVlITEVxWVVZdW5LaVBi?=
 =?utf-8?B?aUhZM0RWV3Rvd05uT2ZWVjF3R1hEcUdGcGhMM0UrcDQ2QVkxOHB2RDUwN05O?=
 =?utf-8?B?cUNwOGREakNKZ3AyTzk3VHBKVDhqY1BBWTVVRm4zNlpIU3d2NWk3WS8rS01r?=
 =?utf-8?B?L0hmNmdVeW93aXU3eXU5RC9PZ3dxMDFiZmhaN2ttdmVLYWU1U0oxS1V3SGEx?=
 =?utf-8?B?dlpIc0pSY0lHRU0yQjZWQ21HWnU4VzFMdjlXZmdnU0FzZDJpa0owK1pYRENo?=
 =?utf-8?B?YWVNUTJvUGhVMlluYkZCbTF6OVFlNGcrUDFyMUVPanJWbC80Qlh1K2tGVWV3?=
 =?utf-8?B?TVVremx5a21CNUVxOGxMd1hUTmNyb29SUUE1TW5ocDQvMGZqdk9INWdRRnJW?=
 =?utf-8?B?M1lWUXNCVWhMemRVbzNTZFNJcFdBa3MvNUdYSmIzZ3Q1MXEzQlFndDRKRHNC?=
 =?utf-8?B?UWc9PQ==?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 47ec1c74-08d6-4a2a-0a56-08dadd50939d
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Dec 2022 21:25:37.6728
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PmIzWHe1g8klWZnw/xEtef0Q5xkObCXuWeGy0vX3WA6URpl+lBibHVSABwLCaVhP0zUEdutw9d3xCc1RJVu6vCLQWcFi9d2bcv84CEJJxe0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR10MB6194
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1
 definitions=2022-12-13_03,2022-12-13_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 adultscore=0 bulkscore=0 mlxscore=0
 phishscore=0 malwarescore=0 spamscore=0 mlxlogscore=999 suspectscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000
 definitions=main-2212130186
X-Proofpoint-ORIG-GUID: sNlQXmlEEKrlm4HgpJ-YgBR8i48z7t0e
X-Proofpoint-GUID: sNlQXmlEEKrlm4HgpJ-YgBR8i48z7t0e


On 12/12/22 5:09 PM, Krister Johansen wrote:
> On Mon, Dec 12, 2022 at 01:48:24PM -0500, Boris Ostrovsky wrote:
>> On 12/12/22 11:05 AM, Krister Johansen wrote:
>>> diff --git a/arch/x86/include/asm/xen/cpuid.h b/arch/x86/include/asm/xen/cpuid.h
>>> index 6daa9b0c8d11..d9d7432481e9 100644
>>> --- a/arch/x86/include/asm/xen/cpuid.h
>>> +++ b/arch/x86/include/asm/xen/cpuid.h
>>> @@ -88,6 +88,12 @@
>>>     *             EDX: shift amount for tsc->ns conversion
>>>     * Sub-leaf 2: EAX: host tsc frequency in kHz
>>>     */
>>> +#define XEN_CPUID_TSC_EMULATED       (1u << 0)
>>> +#define XEN_CPUID_HOST_TSC_RELIABLE  (1u << 1)
>>> +#define XEN_CPUID_RDTSCP_INSTR_AVAIL (1u << 2)
>>> +#define XEN_CPUID_TSC_MODE_DEFAULT   (0)
>>> +#define XEN_CPUID_TSC_MODE_EMULATE   (1u)
>>> +#define XEN_CPUID_TSC_MODE_NOEMULATE (2u)
>> This file is a copy of Xen public interface so this change should go to Xen first.
> Ok, should I split this into a separate patch on the linux side too?


Yes. Once the Xen patch has been accepted you will either submit the same patch for Linux or sync Linux file with Xen (if there are more differences).


>
>>> +static int __init xen_tsc_safe_clocksource(void)
>>> +{
>>> +	u32 eax, ebx, ecx, edx;
>>> +
>>> +	if (!(xen_hvm_domain() || xen_pvh_domain()))
>>> +		return 0;
>>> +
>>> +	if (!(boot_cpu_has(X86_FEATURE_CONSTANT_TSC)))
>>> +		return 0;
>>> +
>>> +	if (!(boot_cpu_has(X86_FEATURE_NONSTOP_TSC)))
>>> +		return 0;
>>> +
>>> +	if (check_tsc_unstable())
>>> +		return 0;
>>> +
>>> +	cpuid(xen_cpuid_base() + 3, &eax, &ebx, &ecx, &edx);
>>> +
>>> +	if (eax & XEN_CPUID_TSC_EMULATED)
>>> +		return 0;
>>> +
>>> +	if (ebx != XEN_CPUID_TSC_MODE_NOEMULATE)
>>> +		return 0;
>> Why is the last test needed?
> I was under the impression that if the mode was 0 (default) it would be
> possible for the tsc to become emulated in the future, perhaps after a
> migration.  The presence of the tsc_mode noemulate meant that we could
> count on the falseneess of the XEN_CPUID_TSC_EMULATED check remaining
> constant.


This will filter out most modern processors with TSC scaling support where in default mode we don't intercept RDTCS after migration. But I don't think we have proper interface to determine this so we don't have much choice but to indeed make this check.


-boris



From xen-devel-bounces@lists.xenproject.org Tue Dec 13 21:33:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 21:33:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461223.719286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Cu7-0004JY-45; Tue, 13 Dec 2022 21:33:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461223.719286; Tue, 13 Dec 2022 21:33:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Cu7-0004JR-19; Tue, 13 Dec 2022 21:33:35 +0000
Received: by outflank-mailman (input) for mailman id 461223;
 Tue, 13 Dec 2022 21:33:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5Cu6-0004JI-Ej
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 21:33:34 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5Cu4-0003yU-Pw; Tue, 13 Dec 2022 21:33:32 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5Cu4-00019X-KQ; Tue, 13 Dec 2022 21:33:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=zTMSA0dtXC8KYRK8UH5JTkv6dzXdAUVSGj7cFc7qE7Q=; b=6gup2+I0nchs7/C6RyVZx5taWc
	tZoIQoPOedN9HDS5B5zmiqumgRjYX8QGBwNDU5ePQeu/XRrQBfhV0gcDTflf9n2QP3HIiAkw6+7IF
	LcD1fDD8dKG92grEWNEgiGJN15FvutJmPQBoQ71tjXkdbVaetwV/gu9oS6L2Qf+d+l5U=;
Message-ID: <02637a10-c223-99d6-f06a-ece62a42e151@xen.org>
Date: Tue, 13 Dec 2022 21:33:30 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
 <670b7017-4a6e-fa9e-9d65-65013bd4ad80@suse.com>
 <520abcb0-0edd-bb09-f3a2-bb3d96c569b3@xen.org>
 <76e1edfd-07d8-1d02-788b-bd9e6beb49fd@suse.com>
 <3911cb46-e691-5539-b2d5-04de1a119329@xen.org>
 <d1805f03-2f74-7595-03d7-8fe69c275413@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH 2/2] NUMA: replace phys_to_nid()
In-Reply-To: <d1805f03-2f74-7595-03d7-8fe69c275413@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 13/12/2022 14:08, Jan Beulich wrote:
> On 13.12.2022 14:48, Julien Grall wrote:
>> On 13/12/2022 12:46, Jan Beulich wrote:
>>> On 13.12.2022 13:06, Julien Grall wrote:
>>>> On 13/12/2022 11:38, Jan Beulich wrote:
>>>>> All callers convert frame numbers (perhaps in turn derived from struct
>>>>> page_info pointers) to an address, just for the function to convert it
>>>>> back to a frame number (as the first step of paddr_to_pdx()). Replace
>>>>> the function by mfn_to_nid() plus a page_to_nid() wrapper macro. Replace
>>>>> call sites by the respectively most suitable one.
>>>>>
>>>>> While there also introduce a !NUMA stub, eliminating the need for Arm
>>>>> (and potentially other ports) to carry one individually.
>>>>>
>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>> ---
>>>>> At the top of free_heap_pages() mfn_to_nid() could also be used, since
>>>>> the MFN is calculated immediately ahead. The choice of using
>>>>> page_to_nid() (for now at least) was with the earlier patch's RFC in
>>>>> mind, addressing of which may require to make mfn_to_nid() do weaker
>>>>> checking than page_to_nid().
>>>>
>>>> I haven't looked in details at the previous patch. However, I don't like
>>>> the idea of making mfn_to_nid() do weaker checking because this could
>>>> easily confuse the reader/developper.
>>>>
>>>> If you want to use weaker check, then it would be better if a separate
>>>> helper is provided with a name reflecting its purpose.
>>>
>>> Well, the purpose then still is the very same conversion, so the name
>>> is quite appropriate. I don't view mfn_to_nid_bug_dont_look_very_closely()
>>> (exaggerating) as very sensible a name.
>>
>> I understand they are both doing the same conversion. But the checks
>> will be different. With your proposal, we are now going to say if the
>> caller is "buggy" then use mfn_to_nid() if not then you can use any.
>>
>> I think this is wrong to hide the "bug" just because the name is longer.
>> In fact, it means that any non-buggy caller will still have relaxed
>> check. The risk if we are going to introduce more "buggy" caller in the
>> future.
> 
> While I, too, have taken your perspective as one possible one, I've
> also been considering a slightly different perspective: page_to_nid()
> implies the caller to have a struct page_info *, which in turn implies
> you pass in something identifying valid memory (which hence should have
> a valid node ID associated with it). mfn_to_nid(), otoh, has nothing
> to pre-qualify (see patch 1's RFC remark as to mfn_valid() not being
> sufficient). Hence less rigid checking there can make sense (and you'll
> notice that mfn_to_nid() was also used quite sparingly in the course of
> the conversion.)
> 
>> So from my perspective there are only two acceptable solutions:
>>     1. Provide a different helper that will be used for just "buggy"
>> caller. This will make super clear that the helper should only be used
>> in very limited circumstances.
>>     2. Fix the "buggy" callers.
>>
>>   From your previous e-mails, it wasn't clear whether 2) is possible. So
>> that's leave us only with 1).
> 
> The buggy callers are the ones touched by patch 1; see (again) the RFC
> remark there for limitations of that approach.

Even with what you wrote above, I still think that relaxing the check 
for everyone is wrong. Anyway, this patch is not changing the helper. So 
I will wait and see a formal proposal.

> 
>>>>> --- a/xen/common/numa.c
>>>>> +++ b/xen/common/numa.c
>>>>> @@ -671,15 +671,15 @@ static void cf_check dump_numa(unsigned
>>>>>     
>>>>>         for_each_online_node ( i )
>>>>>         {
>>>>> -        paddr_t pa = pfn_to_paddr(node_start_pfn(i) + 1);
>>>>> +        mfn_t mfn = _mfn(node_start_pfn(i) + 1);
>>>>>     
>>>>>             printk("NODE%u start->%lu size->%lu free->%lu\n",
>>>>>                    i, node_start_pfn(i), node_spanned_pages(i),
>>>>>                    avail_node_heap_pages(i));
>>>>> -        /* Sanity check phys_to_nid() */
>>>>> -        if ( phys_to_nid(pa) != i )
>>>>> -            printk("phys_to_nid(%"PRIpaddr") -> %d should be %u\n",
>>>>> -                   pa, phys_to_nid(pa), i);
>>>>> +        /* Sanity check mfn_to_nid() */
>>>>> +        if ( node_spanned_pages(i) && mfn_to_nid(mfn) != i )
>>>>
>>>>
>>>>    From the commit message, I would have expected that we would only
>>>> replace phys_to_nid() with either mfn_to_nid() or page_to_nid().
>>>> However, here you added node_spanned_pages(). Can you explain why?
>>>
>>> Oh, indeed, I meant to say a word on this but then forgot. This
>>> simply is because the adding of 1 to the start PFN (which by
>>> itself is imo a little funny) makes it so that the printk()
>>> inside the conditional would be certain to be called for an
>>> empty (e.g. CPU-only) node.
>>
>> Ok. I think this wants to be a separate patch as this sounds like bug
>> and we should avoid mixing code conversion with bug fix.
> 
> Yet then this is only in a debug key handler. (Else I would have made
> it a separate patch, yes.)

IMO, the fact it is a debug key handler doesn't matter. While I am 
generally OK if we do minor swapin patch modifying the behavior. I think 
the other way around is quite confusing. And therefore, I would rather 
prefer the split unless another maintainer thinks otherwise.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 21:34:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 21:34:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461231.719297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5CvJ-0004rS-ES; Tue, 13 Dec 2022 21:34:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461231.719297; Tue, 13 Dec 2022 21:34:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5CvJ-0004rL-Ba; Tue, 13 Dec 2022 21:34:49 +0000
Received: by outflank-mailman (input) for mailman id 461231;
 Tue, 13 Dec 2022 21:34:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5CvI-0004rD-5D
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 21:34:48 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5CvI-0003zv-1r; Tue, 13 Dec 2022 21:34:48 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5CvH-0001Bi-TW; Tue, 13 Dec 2022 21:34:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=nukfUzNjk3FeVDxFZNyoJNwPhsu1/XSGo408LdITb7I=; b=KowsZ2b1ShlSEQ/TK/b/VTPpo9
	OIPMoYQNsX7Mo5MZzZedZUeDi+nZMeoXrIoC+oDqFkwotIMleYAMS6PqI8QyoGbkoUN1FwTdz+7Qc
	5c05ygMO5aEJut3LvLSjcqCRMyReOrX6/KbTqCbA7mEhSR6a3ipCdaUI4tTtVlHnRGr8=;
Message-ID: <5767e87a-b280-4c9e-4815-869d045fafff@xen.org>
Date: Tue, 13 Dec 2022 21:34:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH] xen/arm: Reduce redundant clear root pages when teardown
 p2m
To: Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212064119.2632626-1-Henry.Wang@arm.com>
 <65819ff9-1a1a-dfc3-f700-289dd8c340dc@xen.org>
 <AS8PR08MB799154878CCA46EE1A1B998D92E29@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AS8PR08MB799154878CCA46EE1A1B998D92E29@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 12/12/2022 11:27, Henry Wang wrote:
> Hi Julien,

Hi,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Subject: Re: [PATCH] xen/arm: Reduce redundant clear root pages when
>> teardown p2m
>>
>> Hi Henry,
>>
>>>        PROGRESS(p2m):
>>> +        /*
>>> +         * We are about to free the intermediate page-tables, so clear the
>>> +         * root to prevent any walk to use them.
>>> +         */
>>> +        p2m_clear_root_pages(&d->arch.p2m);
>>
>> The commit message suggests this should only be called once. However,
>> you will still end up to call p2m_clear_root_pages() multiple time if
>> p2m_teardown() is preempted.
> 
> Thanks for confirming this, would adding another PROGRESS stage
> such as PROGRESS(p2m_clean) before PROGRESS(p2m) seem ok to you?

The would be fine with me.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 21:44:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 21:44:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461238.719307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5D4r-0006dB-BF; Tue, 13 Dec 2022 21:44:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461238.719307; Tue, 13 Dec 2022 21:44:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5D4r-0006d4-8d; Tue, 13 Dec 2022 21:44:41 +0000
Received: by outflank-mailman (input) for mailman id 461238;
 Tue, 13 Dec 2022 21:44:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5D4p-0006cy-Be
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 21:44:39 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5D4p-0004AL-9B
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 21:44:39 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5D4p-0001ew-4H; Tue, 13 Dec 2022 21:44:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=4HNjL+OHMW2gJM/h6kTzNG1P4lyBer7zcyLQRNkABTM=; b=6uuky+PdRpSGApD66pYNRivJgY
	ZtATHU8lOjiTyKp0HXDLWZpQHk7uOAu2W4tCubXWKa7eli4n5Yz68bfU34Ax0+5mQdyf2vFdIzOdv
	YllMAP+4VOPKeZzHx5E/PQI8loWLElQRQwBsdvQ6o39q2cv0aFVb+jqJ1JicHbx5ebn0=;
Message-ID: <46fefa9d-5bba-0738-2ea9-86c07fbcfde2@xen.org>
Date: Tue, 13 Dec 2022 21:44:37 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <214c9ec9-b948-1ca6-24d6-4e7f8852ac45@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH RFC 03/10] domain: GADDR based shared guest area
 registration alternative - teardown
In-Reply-To: <214c9ec9-b948-1ca6-24d6-4e7f8852ac45@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 19/10/2022 08:40, Jan Beulich wrote:
> In preparation of the introduction of new vCPU operations allowing to
> register the respective areas (one of the two is x86-specific) by
> guest-physical address, add the necessary domain cleanup hooks.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> RFC: Zapping the areas in pv_shim_shutdown() may not be strictly
>       necessary: Aiui unmap_vcpu_info() is called only because the vCPU
>       info area cannot be re-registered. Beyond that I guess the
>       assumption is that the areas would only be re-registered as they
>       were before. If that's not the case I wonder whether the guest
>       handles for both areas shouldn't also be zapped.

I don't know the code enough to be able to answer it.

The code itself looks good to me. With one remark below:

Reviewed-by: Julien Grall <jgrall@amazon.com>

[...]

> @@ -1555,6 +1559,15 @@ void unmap_vcpu_info(struct vcpu *v)
>       put_page_and_type(mfn_to_page(mfn));
>   }
>   
> +/*
> + * This is only intended to be used for domain cleanup (or more generally only
> + * with at least the respective vCPU, if it's not the current one, reliably
> + * paused).
> + */
> +void unmap_guest_area(struct vcpu *v, struct guest_area *area)
> +{

IIUC, you will add the ASSERT() we discussed in patch #7 in this patch. 
I would be fine if you keep my reviewed-by.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:18:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:18:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461256.719321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Dar-0002fL-VK; Tue, 13 Dec 2022 22:17:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461256.719321; Tue, 13 Dec 2022 22:17:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Dar-0002fE-SF; Tue, 13 Dec 2022 22:17:45 +0000
Received: by outflank-mailman (input) for mailman id 461256;
 Tue, 13 Dec 2022 22:17:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5Dap-0002f7-RF
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:17:44 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4ca84aa-7b33-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:17:41 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id F060E32005B5;
 Tue, 13 Dec 2022 17:17:37 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Tue, 13 Dec 2022 17:17:38 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:17:36 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4ca84aa-7b33-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670969857; x=
	1671056257; bh=Kup6ZQkTZkd625cYDAS1Nqee6DmzrAAqp7YEQ0GQpA4=; b=E
	EBm9ThhrI+oDQT5QmTzETc+mxHOwwQ0yv6yNEUC/ld/vpzKpq5mzqT4aS87QKqsA
	R/LRB2cXkhaNlLV5GiyR7EdVKyEBJf3uOvpeCjDXoxkJWanbMfzpjvx+WKuIsai8
	zzIl0SVvgt5rC/btCihsiKbRq08fXGIPd9hjcaBLYT2iT+yUxU7+Ehseki+scF+w
	AdZ3mSOcIRDI5v6eTicH3KifHUIvdk/8pEZdVCq3oFoM+/EDQpXeYVLBPYb5dijf
	9DF9FnqqT7sleOGObdWYHwuw0IG7IBp6L3/aak7jYjj8LJompRyBLTJDyje73BtK
	ZDFcNha3f4GoIzZfUycBA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1670969857; x=1671056257; bh=Kup6ZQkTZkd625cYDAS1Nqee6Dmz
	rAAqp7YEQ0GQpA4=; b=Xpz/IytRi2UfyIoYL52jI7wwEaPHyXRMdL3//WBo5lt9
	Tq3fcrrp0BbhwFZpRSixKM9PQQRDR7y9L3K6KHF4NfVvymc8b8b7zCzLPaqWOwRJ
	Mv68pJ40iUNZGQclDRGndB6MZ3FJkzJaht6EMsbLUTNTej5MW8er+LGu/BkfBLhC
	P8Jmqj/13Uaqxxb1ssFcjF1AKuQKhjv8P8DY9sCsOTuug893o6oXTI0Z7HQA2I7z
	1U5P31cCZQG0/kvj41y6lZ59c+1oZ6RUfMnbKWIaS9lQWOhFSaE0RirnFz0YsrCi
	XAjM51JhVmGfsPm9VDFRqzvcVq76vR6KX2jbus5WUw==
X-ME-Sender: <xms:AfqYY0IqKNFuuRWN91UwStq0kxbI9lpG62X0dDR2XMyz-tF16Z0sXg>
    <xme:AfqYY0Jm35xDCJbP5hD2oSwbGf0uFnLFLACu3c-R8JWwWyUWsh5cEwlLZuktYvJu7
    LAZGVKmeRQrLTs>
X-ME-Received: <xmr:AfqYY0suNvmysDpQuX_1pe-6K2r9JjY56iztvRsD6BhrygsMPt07tZ5mcuyD>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekhecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeduieelfeeutedvleehueetffejgeej
    geffkeelveeuleeukeejjeduffetjeekteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:AfqYYxaEsMVDvOWZRe-2BHaYd3lw6pITs33uh8lMu2Eob8ZiU6BH9A>
    <xmx:AfqYY7bFX9fbKiZtEhPUWaxJxDHB2mZHHc2aVUlyS2QB4XoWUXVHFA>
    <xmx:AfqYY9BOF1h8wfeCXNt_piFKkAe_IyonfVoeln1JYY5AQMewi455qg>
    <xmx:AfqYY1nW5snyYPd4PqE46ajjfVKPbcJHsYKy5WtFokdZp3J5T6iFKQ>
Feedback-ID: iac594737:Fastmail
Date: Tue, 13 Dec 2022 17:17:32 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>,
	"Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 3/4] Add xen superpage splitting support to arm
Message-ID: <Y5j5/qinMwxizxMc@itl-email>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <BN0P110MB1642CCC518921DC7F2BB3BB3CFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <c8f9e15a-81d1-ef8c-0baf-1758e7d89eee@xen.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="+Z+BkJtS1zxzekW8"
Content-Disposition: inline
In-Reply-To: <c8f9e15a-81d1-ef8c-0baf-1758e7d89eee@xen.org>


--+Z+BkJtS1zxzekW8
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 13 Dec 2022 17:17:32 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>,
	"Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 3/4] Add xen superpage splitting support to arm

On Tue, Dec 13, 2022 at 09:15:49PM +0000, Julien Grall wrote:
> Hi,
>=20
> On 13/12/2022 19:54, Smith, Jackson wrote:
> > Updates xen_pt_update_entry function from xen/arch/arm/mm.c to
> > automatically split superpages as needed.
> Your signed-off-by is missing.
>=20
> > ---
> >   xen/arch/arm/mm.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++=
+--------
> >   1 file changed, 78 insertions(+), 13 deletions(-)
> >=20
> > diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> > index 6301752..91b9c2b 100644
> > --- a/xen/arch/arm/mm.c
> > +++ b/xen/arch/arm/mm.c
> > @@ -753,8 +753,78 @@ static int create_xen_table(lpae_t *entry)
> >   }
> >   #define XEN_TABLE_MAP_FAILED 0
> > -#define XEN_TABLE_SUPER_PAGE 1
> > -#define XEN_TABLE_NORMAL_PAGE 2
> > +#define XEN_TABLE_NORMAL_PAGE 1
> > +
> > +/* More or less taken from p2m_split_superpage, without the p2m stuff =
*/
> > +static bool xen_split_superpage(lpae_t *entry, unsigned int level,
> > +                                unsigned int target, const unsigned in=
t *offsets)
> > +{
> > +    struct page_info *page;
> > +    lpae_t pte, *table;
> > +    unsigned int i;
> > +    bool rv =3D true;
> > +
> > +    mfn_t mfn =3D lpae_get_mfn(*entry);
> > +    unsigned int next_level =3D level + 1;
> > +    unsigned int level_order =3D XEN_PT_LEVEL_ORDER(next_level);
> > +
> > +    ASSERT(level < target);
> > +    ASSERT(lpae_is_superpage(*entry, level));
> > +
> > +    page =3D alloc_domheap_page(NULL, 0);
> Page-table may be allocated from the boot allocator. So you want to use
> create_xen_table().
>=20
> > +    if ( !page )
> > +        return false;
> > +
> > +    table =3D __map_domain_page(page);
>=20
> You want to use xen_map_table().
>=20
> > +
> > +    /*
> > +     * We are either splitting a first level 1G page into 512 second l=
evel
> > +     * 2M pages, or a second level 2M page into 512 third level 4K pag=
es.
> > +     */
> > +    for ( i =3D 0; i < XEN_PT_LPAE_ENTRIES; i++ )
> > +    {
> > +        lpae_t *new_entry =3D table + i;
> > +
> > +        /*
> > +         * Use the content of the superpage entry and override
> > +         * the necessary fields. So the correct permission are kept.
> > +         */
> > +        pte =3D *entry;
> > +        lpae_set_mfn(pte, mfn_add(mfn, i << level_order));
> > +
> > +        /*
> > +         * First and second level pages set walk.table =3D 0, but third
> > +         * level entries set walk.table =3D 1.
> > +         */
> > +        pte.walk.table =3D (next_level =3D=3D 3);
> > +
> > +        write_pte(new_entry, pte);
> > +    }
> > +
> > +    /*
> > +     * Shatter superpage in the page to the level we want to make the
> > +     * changes.
> > +     * This is done outside the loop to avoid checking the offset to
> > +     * know whether the entry should be shattered for every entry.
> > +     */
> > +    if ( next_level !=3D target )
> > +        rv =3D xen_split_superpage(table + offsets[next_level],
> > +                                 level + 1, target, offsets);
> > +
> > +    clean_dcache_va_range(table, PAGE_SIZE);
>=20
> Cleaning the cache is not necessary. This is done in the P2M case because=
 it
> is shared with the IOMMU which may not support coherent access.
>=20
> > +    unmap_domain_page(table);
>=20
> This would be xen_map
>=20
> > +
> > +    /*
> > +     * Generate the entry for this new table we created,
> > +     * and write it back in place of the superpage entry.
> > +     */
>=20
> I am afraid this is not compliant with the Arm Arm. If you want to update
> valid entry (e.g. shattering a superpage), then you need to follow the
> break-before-make sequence. This means that:
>   1. Replace the valid entry with an entry with an invalid one
>   2. Flush the TLBs
>   3. Write the new entry
>=20
> Those steps will make your code compliant but it also means that a virtual
> address will be temporarily invalid so you could take a fault in the midd=
le
> of your split if your stack or the table was part of the region. The same
> could happen for the other running CPUs but this is less problematic as t=
hey
> could spin on the page-table lock.

Could this be worked around by writing the critical section in
assembler?  The assembler code would never access the stack and would
run with interrupts disabled.  There could also be BUG() checks for
attempting to shatter a PTE that was needed to access the PTE in
question, though I suspect one can work around this with a temporary
PTE.  That said, shattering large pages requires allocating memory,
which might fail.  What happens if the allocation does fail?
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--+Z+BkJtS1zxzekW8
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOY+f0ACgkQsoi1X/+c
IsHCqw/+Na5l85XXjIzHuwXgL+m8+Tnspco4ZurXSW26wGmUWHJZLNqXtLqmj0pM
Mji2qQdcm4dmL2FUYNebMVbZa4RJ2prSf6usP0QCFfGTgfD6DyYHghxMeY9bP7DJ
ZMXoQ43589xzGh8QxQrt4ejs19VCfL+dcRw7iqSGr2dH4fuKSZbzONPG0U7hyIAO
sD21f97b7X184kUl/rC0bwYzGhIHEeAx5aQRpV/wTqYK6ZnvSbJtWYWmZEs9HH8F
vJ67Wpcy11aSczetPXH6VeGR5+9IaOB77zm29Ah7tX8R2Y9kM1BTdhCX0SegQ4dJ
HBGchuL+6AJYwgrfeVY65piE5T887qsdF8uZFQdBgORP8Y+U71iSWU2HVGDZymHX
Cw8orwsl0plhu6m01mtg82IaB4XVUPOQ1BInsjeToOTi9nSPcY7b2kfEU9pdOF05
aIZLtAA4/4k85fEfYQzoRC+nOjI+B1Cl/dt6zJK+D3vx3m1Rvo14ztBbR5MUqz0Q
u6Yt0NnBkptoLKWlWtSpesSYKcDHK58RGIY5mxzBlrtxQ9EbkR2u56EX7b73vmgL
PIgjkmxpp6Qo92AqIt8kGkivk0FpBrRUhjm2bGCbpFpnXl+cn81TvNOG5K7v2dP0
uxC3JAVIdzrmKoUZAxqg9jPKn17hgsa6GnSu8Qmyd7ROlTyVow8=
=/gI1
-----END PGP SIGNATURE-----

--+Z+BkJtS1zxzekW8--


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:22:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:22:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461266.719336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Dfc-00044q-JB; Tue, 13 Dec 2022 22:22:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461266.719336; Tue, 13 Dec 2022 22:22:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Dfc-00044j-FO; Tue, 13 Dec 2022 22:22:40 +0000
Received: by outflank-mailman (input) for mailman id 461266;
 Tue, 13 Dec 2022 22:22:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5Dfc-00044d-1R
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:22:40 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6655dac-7b34-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:22:38 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 96EF132003C0;
 Tue, 13 Dec 2022 17:22:36 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Tue, 13 Dec 2022 17:22:37 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:22:34 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6655dac-7b34-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670970156; x=
	1671056556; bh=XnBVA0h1DUnwb9MFZ4Gxd4oEQ3gITguNU9qteIZbzqw=; b=V
	DemX/jxOFeRB+oQwc2RVyW7aHDuklaNaQ3anESoZUK3658OaAcPIm1FvMQMxiX1/
	VltIcfxs0pZ0t3qRzWWctNZFkb6OUdNu0oSNf1AiFBeNvaaoYvSnfssRbe2qJW4o
	DU2DX5hcHMKiT417AW/FfQ9ZOkRzVtQy/1OSLh//P3mn0kskjVmdyNBw+Zc0OaO0
	wtzfW8xLFnj2G2g/hZRlZZ7H7IaHR/irzpJHrlPE1Q2gckiCspJq+Akm+Bt4nSUh
	ORvdXOLHOA1yySAsjP5F4BlS2lAt2VJYGiostFgp58NygcRj+s/0YioaB2ezBqrn
	H85p4WQBDe9oVeZMAGmjg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1670970156; x=1671056556; bh=XnBVA0h1DUnwb9MFZ4Gxd4oEQ3gI
	TguNU9qteIZbzqw=; b=Sx/oYsY2fznTH/A0DWdTuyPgMkLeMxqiUw0FIiRATTmv
	j98zZOY0qYem+TSvKsXEnUC/jDKLKe73Mwj0OlFVeWjV56KXK/5rjnoUTORn/BR/
	rNPJ9THE75ujnRQC6/llCxlwhkWVykrxfhoeTzjjrKwVKzjz/Cp2wcWEjYiPyq7B
	f10MCj0xPSbuoBZ7huANHBgTOQkpBWyL/Deh6/Txh7G+5g64GCdPAQgXHyt96E9F
	NdrbOsCz9vte0R1ASfGHHKQK8hETRI8tr1HEWXVHYVYLMemPIyAkr/msmGEsBWl9
	cUjwj3oBNcmS5w5NyY9+EujgqChujFEabC2TZ3MMBA==
X-ME-Sender: <xms:K_uYY9r6ZoNQ4_cYXEM5KdnNYeZH8OqkYcQAN9dNmOyg8TeCVwEIBw>
    <xme:K_uYY_rGJg0QCmF3GBE-s5FmfFagv3ogpRx0dEEPb7SPzP_S0c6CWrWnHihFKGjmz
    sOQ6ypI7hQkV3I>
X-ME-Received: <xmr:K_uYY6OsH6JyP2r0nwYjH2Q4eiy_QE47yESaw4D3V1qV59nl2GCk-APfV0cY>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekiecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffegfffg
    uddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:K_uYY45fvkGXg0waSPIXDQ7K3D2hd6WoTj6Ri1nQ8KfXgSFOA-Dafg>
    <xmx:K_uYY84HFH9AqVjJtpAT3pjWOmoa4ZakMISOludugyGYpfvq_LFtxw>
    <xmx:K_uYYwgDWXEISo_MQMtgXVzAUjj637jXE7_RN1Qr2lAZGPTB2qtoZQ>
    <xmx:LPuYY9F_gtcgVz-6k0uVDA35LIJ7QY2ZHDV7jowkqyJ81bDImrIQ5A>
Feedback-ID: iac594737:Fastmail
Date: Tue, 13 Dec 2022 17:22:32 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>,
	"Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Message-ID: <Y5j7KQ9g5Yb/ufn+@itl-email>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="zIRSLsV3K51aFaBD"
Content-Disposition: inline
In-Reply-To: <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>


--zIRSLsV3K51aFaBD
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 13 Dec 2022 17:22:32 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>,
	"Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen

On Tue, Dec 13, 2022 at 08:55:28PM +0000, Julien Grall wrote:
> On 13/12/2022 19:48, Smith, Jackson wrote:
> > Hi Xen Developers,
>=20
> Hi Jackson,
>=20
> Thanks for sharing the prototype with the community. Some questions/remar=
ks
> below.

[snip]

> > With this technique, we protect the integrity and confidentiality of
> > guest memory. However, a compromised hypervisor can still read/write
> > register state during traps, or refuse to schedule a guest, denying
> > service. We also recognize that because this technique precludes
> > modifying Xen's page tables after startup, it may not be compatible
> > with all of Xen's potential use cases. On the other hand, there are
> > some uses cases (in particular statically defined embedded systems)
> > where our technique could be adopted with minimal friction.
>=20
> From what you wrote, this sounds very much like the project Citrix and
> Amazon worked on called "Secret-free hypervisor" with a twist. In your ca=
se,
> you want to prevent the hypervisor to map/unmap the guest memory.
>=20
> You can find some details in [1]. The code is x86 only, but I don't see a=
ny
> major blocker to port it on arm64.

Is there any way the secret-free hypervisor code could be upstreamed?
My understanding is that it would enable guests to use SMT without
risking the host, which would be amazing.

> > 	Virtualized MMIO on arm needs to decode certain load/store
> > 	instructions
>=20
> On Arm, this can be avoided of the guest OS is not using such instruction.
> In fact they were only added to cater "broken" guest OS.
>=20
> Also, this will probably be a lot more difficult on x86 as, AFAIK, there =
is
> no instruction syndrome. So you will need to decode the instruction in or=
der
> to emulate the access.

Is requiring the guest to emulate such instructions itself an option?
=CE=BCXen, SEV-SNP, and TDX all do this.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--zIRSLsV3K51aFaBD
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOY+ygACgkQsoi1X/+c
IsGT/Q/+NL531LE5Pgxvxpc98/qW0WKIyefcqJl/mVyV0yFYncb6qwyAXM6g6NnL
V+pYrLsXKAH6R3FjgISVRdpDGzAUo/kRMVHWoYeP+uykWdsN/yWhFXtGWcyETHAV
oy3KgBxm+WlJiXNtN+Z1lFFAzMrTCtDV2HMeWJDs8Uur6B4bxkP2srwgU+Bz/i5h
BC/afejv3OYVfQDkvuZOTBi/xBs0NRrVnEJXfnlJJswOJ+f6EvHp2gn32qVoRqMV
N+5Fq9HmalYK5uR6ub5LgQLqCW1Cx17YbG4s22PJt3N7wVq24AGBz3P/eCj94dNJ
rhAUQv7NYGNlELqAVudkVsSCGmNRT62rU3X8cMhDtYpTFbpD1in2Sle7f4yYrry3
VYm9HtZ6ONSZ1B08zcAsdIatUJ1MFYQ4BL1jp1x7bDsai0U2nnEVWYI/FkQ1emBr
3nc9uOPkm6daSnikqB2SMOm9vV0duOTBC1DoxUz6fWT641hsBZoxxavhHuC/Mvyh
ncv5BRvsSena0HVf8ndyKvZGpB6vJqyl11M8sVqClwkm51HcT4neejO3ZAhvF0pS
U2JL6HI5hhp3ZIl0wNzK8rxIaWWOrq0OHwo3rPPUXWDOr+uoq7tfEe/qLukZKUh2
N2UhWx8uWE+eZXb1DBjqMGehCgHCRIC46JaT2IAG/TQwWzmwlMQ=
=hcFn
-----END PGP SIGNATURE-----

--zIRSLsV3K51aFaBD--


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:28:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:28:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461278.719348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Dkl-00051N-Aa; Tue, 13 Dec 2022 22:27:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461278.719348; Tue, 13 Dec 2022 22:27:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Dkl-00051G-5q; Tue, 13 Dec 2022 22:27:59 +0000
Received: by outflank-mailman (input) for mailman id 461278;
 Tue, 13 Dec 2022 22:27:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5Dkj-000519-IL
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:27:57 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6369c9b2-7b35-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:27:56 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 107CC32003C0;
 Tue, 13 Dec 2022 17:27:52 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Tue, 13 Dec 2022 17:27:53 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:27:51 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6369c9b2-7b35-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970472; x=1671056872; bh=Ldq7Pv+NvG7CcoJ4mR1C6yl2msqUQ/nXhK8
	gFnNvRd4=; b=oYs20aMcCDCEIk45BUGRQu4NKFc0P5lcwW5dqAtSFA5Z0EDh1DM
	ETet9TeEms7RvM42wtGmLtCu0hc1+iLLPGJMXuq+c/K602/XgBCX7e1Vsw6vGQoe
	PKqAhv7yGzX1Jh0P490ySQhVQhVpzwGQ0m6Y1ES67KrEmeFGp775k4kcsMJ8js+p
	0Zgq3gRbAHmG3s/0d2CINuxovEDViahysIz1z+Ocv//+wKCcAZ9mZvwTukz926zJ
	DnTisam+Qxwyw2xtEUdlbOEZwyaoNU+5TJOZ1+nVqo3ks8BKKnQEs4XR2z1wV1xT
	8L2SXbzIwlFkU23GqCRU6v82V24vD35ErTQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970472; x=1671056872; bh=Ldq7Pv+NvG7Cc
	oJ4mR1C6yl2msqUQ/nXhK8gFnNvRd4=; b=oolH8GtYbdWQyw9UT4rQe0igkwJem
	Z1dnaUDZOh3AT6/J+sQXRb3IfURdUE1qXZIy6YEkuYKg19HUoSlvYib5zGeBm9+X
	FocCf8PbmaqOaM2jf0Ra5e5tWcaRcaXaec2QbadWr3Z02StlSiu3UPG8saL8RfA0
	Ongf9s1Z/Z5MUMR3vz4VEvPMY5olgmEdYssWQ6zlYb0CPK0FA1Q8kFNOV0UUDO3x
	4GiN+aAMHLKpzNIhWXz+XWMV4uDvgSmgKMRtgQmX2PnVJd0HobuDSuYgz2clJEvT
	OHqeO+c8FUZKztebdhnBk8HV06oShJWSgLY4cEEhWK41/yaMI2gPskE9Q==
X-ME-Sender: <xms:aPyYYwQYQIc7je0RdeypUXcJZxpcs3KymSlxC2Y5i7TKOC5ZSVltdg>
    <xme:aPyYY9ztgw-KuncOC8N2SMIJIzFdZqI_F4_4GmUqDqXOFhbWcLqJOXHjV77LqX70h
    sYQ34E1DqXUpIo>
X-ME-Received: <xmr:aPyYY91GECl4h9xaEs-tWmQFny1i0WWUS1LIGnmUlEgwGqeqEUeRlptCRflGLWt79U73zUqrBNMI>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomhepffgvmhhiucfo
    rghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomheqnecuggftrfgrthhtvghrnhephfeggfeiiedtieejgedutdekgfetgeeh
    heegteekvefhfefgudehtdevleegueegnecuvehluhhsthgvrhfuihiivgeptdenucfrrg
    hrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgr
    sgdrtghomh
X-ME-Proxy: <xmx:aPyYY0AmOFrQ2-KncJhIxlwGn1k7Ugn0Iyt1X-hhw0YxwHcaGOMItA>
    <xmx:aPyYY5iNidvzmvGhUgGvftpGK68X5jgLEWrW6HZPX0JIsIMlVaHwww>
    <xmx:aPyYYwp2zuc36aSYcDZqhzwPn8qkkNAhB-Eq5APhSd-ges6-rVmgeA>
    <xmx:aPyYY6WggsELqlCIor-gZ_v_1Vk2spD2gvafsInvZ2LSE9BY8cKQLA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 00/14] Make PAT handling less brittle
Date: Tue, 13 Dec 2022 17:26:41 -0500
Message-Id: <cover.1670947711.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

While working on Qubes OS Marek found out that there were some PAT hacks
in the Linux i195 driver.  I decided to make Xen use Linux’s PAT to see
if it solved the graphics glitches that were observed; it did.  This
required a substantial amount of preliminary work that is useful even
without using Linux’s PAT.

Patches 1 through 13 are the preliminary work and I would like them to
be accepted into upstream Xen.  Patch 13 does break ABI by rejecting the
unused PAT entries, but this will only impact buggy PV guests and can be
disabled with a Xen command-line option.  Patch 14 actually switches to
Linux’s PAT and is NOT intended to be merged (at least for now) as it
would at a minimum break migration of PV guests from hosts that do not
have the patch.

Demi Marie Obenour (14):
  x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
  p2m-pt: Avoid hard-coding Xen's PAT
  x86/mm/shadow: avoid assuming a specific Xen PAT
  efi: Avoid hard-coding the various PAT constants
  x86/mm/shadow: do not open-code PAGE_CACHE_ATTRS
  x86: Add memory type constants
  x86: Replace PAT_* with X86_MT_*
  x86: Replace MTRR_* constants with X86_MT_* constants
  x86: Replace EPT_EMT_* constants with X86_MT_*
  x86: Remove remaining uses of MTRR_* constants
  x86: Derive XEN_MSR_PAT from its individual entries
  x86/mm: make code robust to future PAT changes
  x86/mm: Reject invalid cacheability in PV guests by default
  x86: Use Linux's PAT

 xen/arch/x86/cpu/mtrr/generic.c         |  12 +--
 xen/arch/x86/cpu/mtrr/main.c            |  33 ++++----
 xen/arch/x86/e820.c                     |   4 +-
 xen/arch/x86/hvm/hvm.c                  |  12 +--
 xen/arch/x86/hvm/mtrr.c                 | 102 ++++++++++++------------
 xen/arch/x86/hvm/vmx/vmcs.c             |   2 +-
 xen/arch/x86/hvm/vmx/vmx.c              |  18 ++---
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |   2 +-
 xen/arch/x86/include/asm/hvm/vmx/vmx.h  |   9 ---
 xen/arch/x86/include/asm/mtrr.h         |  22 +----
 xen/arch/x86/include/asm/page.h         |   4 +-
 xen/arch/x86/include/asm/processor.h    |  15 ++--
 xen/arch/x86/include/asm/x86-defns.h    |  13 +++
 xen/arch/x86/mm.c                       |  80 +++++++++++++++++--
 xen/arch/x86/mm/hap/nested_ept.c        |   4 +-
 xen/arch/x86/mm/p2m-ept.c               |  70 ++++++++--------
 xen/arch/x86/mm/p2m-pt.c                |   6 +-
 xen/arch/x86/mm/shadow/multi.c          |  16 ++--
 xen/common/efi/boot.c                   |  12 +--
 19 files changed, 248 insertions(+), 188 deletions(-)

-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:28:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:28:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461280.719358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Dkx-0005Ju-Gh; Tue, 13 Dec 2022 22:28:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461280.719358; Tue, 13 Dec 2022 22:28:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Dkx-0005Jn-Du; Tue, 13 Dec 2022 22:28:11 +0000
Received: by outflank-mailman (input) for mailman id 461280;
 Tue, 13 Dec 2022 22:28:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5Dkv-000519-FY
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:09 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6af79959-7b35-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:28:08 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 7734432003C0;
 Tue, 13 Dec 2022 17:28:06 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Tue, 13 Dec 2022 17:28:07 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:04 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6af79959-7b35-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970486; x=1671056886; bh=+4Lu+3eVukKK0PupilX1JexIM0HZp5Aii+G
	i4upYzw0=; b=DHB83JBJT/HWstSj4lhjbu6gEH/xeDvPxL9+4M8vXy0j4qIzwX2
	RnAx1hiJEVJijxG/1/oqDDwDsNcs/FXVdPuEnz4ssVntaFAWCyV/s0aiDCwCsGIO
	DsNfDDfUERhW4icawEHU4Pp7FvMFiOH6KOoNI5lgHFTmGu/EZ1usbdgP9MW9Rn6T
	FGncY/bjATjo3VCf9GgAVXeqBpQSIo8WBQZ/0enqBTBfeBJq4GIAc2XoV9h4szBl
	6qaOh9b5SwsNPHTMQkbZGRGJQYsVp6oH/5jW4+fhqsm+luAxvOb11oddJ/tXSbX9
	VWuiYPFQgAM+aQOLvlicTptwqa1XDuY136w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970486; x=1671056886; bh=+4Lu+3eVukKK0
	PupilX1JexIM0HZp5Aii+Gi4upYzw0=; b=DcFCBpQ2tMJEgZya6pXH2cr9NqVEX
	0sjMaIU6uQ7F32sxYy3x3cY2VmWEP5FswFyo7Aw2348kCUUg20/Bi9z5JfDIVILf
	24QHb8DpojstLIP34WuJBJ6R1oEThokpVuau69VZMcxa94iQrYSySMKhTg4CoWU+
	C2EkWvZ5jGPzQxqM6UBDB8QVJOBDXaVPnfUMz9/9NiZiFtWHi9RF7o9nhMpsTSow
	qALezR3jfjDjbzMDZJwU4MHpuYnmJQ/ocS10wCgMo7LKyIj/f3JhkyjeSvoI4xCu
	5DCqm7a/bDsBQC5ACcVjqvnKLLJsTgK8jO+lC1DfTcZQxpRuhceu23wbQ==
X-ME-Sender: <xms:dfyYY5qgPKT1lFewG_2cHFvZLFeaoOb0EF0Lrvqn86W3D2Nd_-Ywug>
    <xme:dfyYY7rZCEhZvOO02QI02viyqV85W442oXT2msABhneM8nFAbNy9zkum2rlb166X0
    udeOfyaubVrMWg>
X-ME-Received: <xmr:dfyYY2MoOpqyHBEL6Nf9wJn1sI_A6xsDU3HWW5QIjs7SDvmoWNrMiUo4LqKnhDbuk0TUKYZyEbRH>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:dfyYY06QM0WZFc0vbJUo8MGzq1UICpsWAh1Dmt3zyGHBmpG7MqtiFw>
    <xmx:dfyYY45JxrKp86OVsGm5lElYRu7blJA2sz-JCNGowM9naf2FBRdyeg>
    <xmx:dfyYY8iBUbgske0ozblznvwE17-he0QkBrot1WTFjtKx0Ddvkl3KXg>
    <xmx:dvyYY6vvn0EREtz6_mB66fJO7LfqH6RNCDH9jB1OV-zAvyEBIOe5qw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 01/14] x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
Date: Tue, 13 Dec 2022 17:26:42 -0500
Message-Id: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1670947711.git.demi@invisiblethingslab.com>
References: <cover.1670947711.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Also force the unused entries to UC and add a comment.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 78b1972e4170cacccc9c37c6e64e76e66a7da87f..b73cb29327ba49703673886d09d79f2f8928a6c0 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -959,14 +959,19 @@ get_page_from_l1e(
             flip = _PAGE_RW;
         }
 
+        /* Force cacheable memtypes to UC */
         switch ( l1f & PAGE_CACHE_ATTRS )
         {
-        case 0: /* WB */
-            flip |= _PAGE_PWT | _PAGE_PCD;
+        case _PAGE_UC:
+        case _PAGE_UCM:
+        case _PAGE_WC:
+            /* not cached */
             break;
-        case _PAGE_PWT: /* WT */
-        case _PAGE_PWT | _PAGE_PAT: /* WP */
-            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+        case _PAGE_WB:
+        case _PAGE_WT:
+        case _PAGE_WP:
+        default:
+            flip |= (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC;
             break;
         }
 
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:28:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:28:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461281.719369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Dl0-0005d7-Ox; Tue, 13 Dec 2022 22:28:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461281.719369; Tue, 13 Dec 2022 22:28:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Dl0-0005d0-Ls; Tue, 13 Dec 2022 22:28:14 +0000
Received: by outflank-mailman (input) for mailman id 461281;
 Tue, 13 Dec 2022 22:28:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5Dky-000519-Sc
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:12 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6cf983ca-7b35-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:28:12 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id CE2913200923;
 Tue, 13 Dec 2022 17:28:09 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Tue, 13 Dec 2022 17:28:10 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:08 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cf983ca-7b35-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970489; x=1671056889; bh=yIAGImPg9jXiK1FiJVlbgF2FFk9SjFvShth
	ylTLb5D8=; b=KSjB2hZJlroU0Tb+vsnZA6+N0osPPqAF9TkObkaWyQOhRX1ZOaw
	u1M+32wlOa1G9zRAQjXfj6M5r2K5Oz+ab8mQGg+um/vHlLH8a6symEOuZx0WEdPb
	MxIT7lmyG6KAfAti0Vin0jx2TFQsOVSSmg/ntlrmdXjNq7EYOz+VlGR8PsciJHYS
	yNx56tlEalKpZTxfU+papOHxIe8Ie6Umz72KoltgSYYkyP1jIyV8yLV7ugQbtJQ1
	2Cbn3LI7ZRPhpZmxkOIwPkUE0xm1XDVwD4BJaqqQZPUt0lPf0KqiQGY1yKgxMpdf
	b/8B7y5OrjbXJvRIXbyXBPOTN4FtL+PvSQA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970489; x=1671056889; bh=yIAGImPg9jXiK
	1FiJVlbgF2FFk9SjFvShthylTLb5D8=; b=jG0EH4aZeIxs3M+AbXeLey5OfkRaJ
	tOZAdcOb4Ajw/KuEgeKQaEeERjDmLpWRFEC7BLaomI07iGvvrFT+bv+5YCb2fr9R
	a++EqLuSlnnQVSfT6mCtA5zdVwM0wNntFiIZ+mIyHtZPndkiDE2eDHJx0blTcNrn
	xqH4fdq6Ncp0Z/MDEbe94VdOrbkXxMrFLulh+91tvw1kQk3/cZGo13hI/GdW2lJ0
	VDcEXXLZhpPUKhihMJGIS0v7U7JUzT6IKbViLgrDhquROO1oJfhserq9FHKRKJOh
	EEc491PQPn6FuFD+MLz7EXK9qqc45momCEpoD1j6/sRI45zPwIZ3ccVmw==
X-ME-Sender: <xms:efyYY7gH23Egf1NFHy4c36xJgpzpqBtlO0YQLwqkAgP5t4e_xmsV0w>
    <xme:efyYY4C1xzh-8zM7P4CDMQngohxyh9J70KhPbTtlozeSZUuuPxr086Miemc86J-du
    ZSfiVP_-dfweWE>
X-ME-Received: <xmr:efyYY7GfeeNLz2zON1nZRoPWwydhmyBPj14DHKe079-v6wMbP9_OUvW6LijgD5KU64qpTISiWos5>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedunecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:efyYY4RwURqhh95TQssJegrX1Ui2IW4K6GgbG2TUhci3RIIpLgp5Pg>
    <xmx:efyYY4xEt82oq6AXow3sYxRSpVu4SZEatuJTzjgcsm24rzU-LaQRuw>
    <xmx:efyYY-6TlFgZTqF6CTCT35iOcf_rtDftb_QCEtQvi_0dinRvhmJsLA>
    <xmx:efyYY3nWA6nQ8-bxvSUqcc1_nCQGW4OZO-hsrDzbkyOF5cJXoBIiXA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 02/14] p2m-pt: Avoid hard-coding Xen's PAT
Date: Tue, 13 Dec 2022 17:26:43 -0500
Message-Id: <f23de83cda04312c84c14bf475d7050d3a384650.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This makes the code much easier to understand.  No functional change
intended.  As per Andrew Cooper, the existing logic is incorrect, but
this does not make it any worse.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm/p2m-pt.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index eaba2b0fb4e6830f52b7d112fba8175dfe6d2770..cd1af33b6772ab1016e8d4c3284a6bc5d282869d 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -99,13 +99,13 @@ static unsigned long p2m_type_to_flags(const struct p2m_domain *p2m,
         return flags | P2M_BASE_FLAGS | _PAGE_RW | _PAGE_NX_BIT;
     case p2m_mmio_direct:
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
-            flags |= _PAGE_RW;
+            flags |= _PAGE_RW | _PAGE_UCM;
         else
         {
-            flags |= _PAGE_PWT;
+            flags |= _PAGE_UC;
             ASSERT(!level);
         }
-        return flags | P2M_BASE_FLAGS | _PAGE_PCD;
+        return flags | P2M_BASE_FLAGS;
     }
 }
 
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:28:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:28:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461285.719380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Dl5-000601-1o; Tue, 13 Dec 2022 22:28:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461285.719380; Tue, 13 Dec 2022 22:28:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Dl4-0005zs-Uq; Tue, 13 Dec 2022 22:28:18 +0000
Received: by outflank-mailman (input) for mailman id 461285;
 Tue, 13 Dec 2022 22:28:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5Dl3-000519-TZ
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:18 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6ffef484-7b35-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:28:17 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id E1A433200583;
 Tue, 13 Dec 2022 17:28:14 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Tue, 13 Dec 2022 17:28:15 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:13 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ffef484-7b35-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970494; x=1671056894; bh=6JSEczb+hySbpeqafqNiYdIAHff3k1hBHf0
	cIR9cHpE=; b=mmBngvgYaONW/Xbk1NLfWrxKF0qOj2wvOFA0QZZ/99KCpMEOZLz
	/vkCvYL8b3Howh8dNvMvXa4PTA6OJ+kCGkZFxuO6euDudSj9jJ0v0EQCRfBWuKwO
	fL+GRa7XiUyKmT1fan38U9MbH2rJAevy6ZH0Sy0CPzfMmdCkmNLZPwB5TMzMTDnu
	ZiEq/QVCOiL9VFMjXpBpGsJKf4lFUOOKpistJKoi1gpWBRanA9SlK00AUMF2xe51
	2opITt61Q3E5WeGVJzVKda/M6ijhup0iJ4iUyIpGzQkVZJYl2pk4d84QoEvdYUck
	jvcejkdX58EmOMxzg32vNLTwpmOs1KaG9rA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970494; x=1671056894; bh=6JSEczb+hySbp
	eqafqNiYdIAHff3k1hBHf0cIR9cHpE=; b=Bvme0P/8kG0Dt8thxMyS04mgHp7M8
	c84gkmZ4zk66VBVuPw1FcGp14vHHAmZBy0/BeaQZ6b5mkIwAF4fecHfgTMqso+T1
	mVhIWtdZBXvsKU9uEJcsxNeLga/82g/jGLpSERhdrOH66/LbF1tuD7N66s6ENSlK
	EXzyTeI83wHOt8UxEZLLorC/271XgGaUSyp0uuXAVvX5c98W7UIZYbapGZszZ1Hr
	+TK24kS2dnHjNZiF6IC7dyUBuPqtCg+N13X7l5f+coPQZhC2HP/w2vJxM75PkKkv
	Ho51YCHICofy+cQA3zaFtDJAXYFWv82JrJuj2R8nylb9uXJmUdoRDBXGQ==
X-ME-Sender: <xms:fvyYYxcYMvJ6ZBx6VNNlPzSVfSJFfmVtQstacKnxfNxRmKcMqZYHZA>
    <xme:fvyYY_MHI5C0rhK7XdL1Dwa7n5lfUhbxbGpg0Ts24C8Z50Bd0047ySK0Lgxk73A1s
    OEHSbrQZBqt3_I>
X-ME-Received: <xmr:fvyYY6gMc92SIk0HL6L8_bcQ4j00MbryEn6yBdxVhSjSYBh0HAHOi7tLW0sYg6D2ToIquMUR61Qc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:fvyYY6-_Hkc3-i0waVj3dQEz3ADETz5jvQ7eidd69CloeqpzAdF1Bw>
    <xmx:fvyYY9ub5psz8nx01SWNZ2UDSKPXeGvl0jbjeAsy-hGn5VqEZ9UuLQ>
    <xmx:fvyYY5G6Aaop8gfuMXiVBAv9DfJU91kP1tSTh-vTkMUcgZop3jK4OQ>
    <xmx:fvyYYzBvHhQSN16wLKrdTQUUZ9hgp-fiJ6WXzgretoZKqdNje-_kew>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 03/14] x86/mm/shadow: avoid assuming a specific Xen PAT
Date: Tue, 13 Dec 2022 17:26:44 -0500
Message-Id: <44c46e9512017eea43bea64aecf534ac6ac818f7.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This makes the code easier to understand and more robust if Xen's PAT
ever changes.

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm/shadow/multi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 2370b3060285fee895f335f2a82d3d22ca5d31ed..4e94fec3d50cde0e5a26ecb62ff4d00dd00f759d 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -629,8 +629,8 @@ _sh_propagate(struct vcpu *v,
     else if ( p2mt == p2m_mmio_direct &&
               rangeset_contains_singleton(mmio_ro_ranges, mfn_x(target_mfn)) )
     {
-        sflags &= ~(_PAGE_RW | _PAGE_PAT);
-        sflags |= _PAGE_PCD | _PAGE_PWT;
+        sflags &= ~(_PAGE_RW | PAGE_CACHE_ATTRS);
+        sflags |= _PAGE_UC;
     }
 
     // protect guest page tables
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:28:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:28:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461289.719391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DlA-0006NZ-Bq; Tue, 13 Dec 2022 22:28:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461289.719391; Tue, 13 Dec 2022 22:28:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DlA-0006NL-88; Tue, 13 Dec 2022 22:28:24 +0000
Received: by outflank-mailman (input) for mailman id 461289;
 Tue, 13 Dec 2022 22:28:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5Dl8-0006J3-On
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:22 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72da7cf8-7b35-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 23:28:22 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id AD48F3200921;
 Tue, 13 Dec 2022 17:28:19 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Tue, 13 Dec 2022 17:28:20 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:18 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72da7cf8-7b35-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970499; x=1671056899; bh=AG+JzsJ3HKJNDx5QoGJM0lvbk6XjCc6DnXE
	BAaXjCGE=; b=r5OkBoxOdiQi87gbbLcbDGilrvbPu2EgEwLsnYTLCGm4zxHgMvQ
	N0TDZtRWCAFYHtW8WA0aoWOK91p1GWUMYyG1IQsGSDHprdqELpLRtdof9c8EyV4S
	fQryfYSX5PYtc5ViemCK3FQjEFXBm8tMUQbK7ADux9tJ18Nev9b628mFMdzRc7J0
	IFdItf9qLfbJk5/1rp+Gt95K4ox8bEyFN2rRVlLBungjsZFGLXaWOiCMHLgfqW4z
	TfIKXrWoSR9p4ZrpNN/C55O9Wyb6s4Utm+t8H/jvemwDEtd5lRGjgcntT1jKi4qM
	NIe+nLKBN++HeCLFS24rvAlpgny+pkfmJHA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970499; x=1671056899; bh=AG+JzsJ3HKJND
	x5QoGJM0lvbk6XjCc6DnXEBAaXjCGE=; b=Fc70eJt413E2cjShFYc/mD4vJ0q5K
	C3TkbarJaF7opCsb/C6LgmesxGRln0pkUnZEwL6uGs04m0pepWGu9wUFD7eUMKbZ
	nQxBYE/ezSbit939cDqCM24X59FzDsYRNIY+OubpVnWKHODs7KUsQmW2M796h3cW
	fB4kNMu1P1dnIgoLGz0/CreFBof1eBWel6pOOvhAJngj/3BnyiAJfvj6hwi6b6Mu
	LYe9l5cj732slWa3hKrsGfxBBESNR2pkcJztefjB6Us5H4vPHPmP7gL2GepRj974
	GXSp6zMm1SHyTkgLc7PxprgK9YWXfDNWoJA6gWGFS8psH2vxr6vtPZNZQ==
X-ME-Sender: <xms:g_yYY0C-PF2PVKQebxRKOKSmrREYFJYxdMyMShCI-5lEKQgFiiOJTA>
    <xme:g_yYY2idwHBJgMzre1fGc5bfFU79aYHXqlgkO8c7DrUsY_jr4HkAPydHF_ZY7ONAG
    NvqKZaA0j-GuQU>
X-ME-Received: <xmr:g_yYY3nNrlK5S-gh7IrDwxcT1WyzvZ3bSLoqSBdu6vUhVi7gsnewk3lUq3o7Dh-YCCe6cIBYvuGc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:g_yYY6yed98aBoyKpWvTPecXSBkMeDtNJ1vbX6Zx4wRUpGX7kKAVOw>
    <xmx:g_yYY5TbUEnERlXHCYieYzSFFb_-8G25GXhkprnZlMSaMM14T3UyNA>
    <xmx:g_yYY1YSCyLBbLL7zz6GuE8vWPy_xDR5Xv70t25wzox5MutIvjTdyw>
    <xmx:g_yYY0EGgA4xZ6gDm5C27qQUjPsYdw1hZmyoR4CSvbhYr3TmbNOC1g>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 05/14] x86/mm/shadow: do not open-code PAGE_CACHE_ATTRS
Date: Tue, 13 Dec 2022 17:26:46 -0500
Message-Id: <fab47400b38d7ffaa4f7417d4cf290439f2eb27d.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This makes the code easier to understand.

Acked-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm/shadow/multi.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 4e94fec3d50cde0e5a26ecb62ff4d00dd00f759d..6bb564b0145285afc93b72a60b7797fcfe8696dc 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -535,7 +535,7 @@ _sh_propagate(struct vcpu *v,
     if ( guest_nx_enabled(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
     if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
-        pass_thru_flags |= _PAGE_PAT | _PAGE_PCD | _PAGE_PWT;
+        pass_thru_flags |= PAGE_CACHE_ATTRS;
     sflags = gflags & pass_thru_flags;
 
     /*
@@ -548,7 +548,7 @@ _sh_propagate(struct vcpu *v,
     {
         int type;
 
-        ASSERT(!(sflags & (_PAGE_PAT | _PAGE_PCD | _PAGE_PWT)));
+        ASSERT(!(sflags & PAGE_CACHE_ATTRS));
 
         /* compute the PAT index for shadow page entry when VT-d is enabled
          * and device assigned.
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:28:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:28:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461290.719397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DlA-0006RA-P0; Tue, 13 Dec 2022 22:28:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461290.719397; Tue, 13 Dec 2022 22:28:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DlA-0006Ps-I2; Tue, 13 Dec 2022 22:28:24 +0000
Received: by outflank-mailman (input) for mailman id 461290;
 Tue, 13 Dec 2022 22:28:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5Dl9-000519-7Q
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:23 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7164f844-7b35-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:28:19 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 4242F32004ED;
 Tue, 13 Dec 2022 17:28:17 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Tue, 13 Dec 2022 17:28:18 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:15 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7164f844-7b35-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970496; x=1671056896; bh=B6KqEgF1ikxhkXO6Eev+8KZcWfjm4y01EPw
	zBXI1oLQ=; b=YFnGjxkmp34n1pvCzAdNPbSyO8pOzuzBy6JZkbkd8xBT7zwncqG
	jQC8INhjaUUS063/c3vSya4tcckrFiVw36qNNDzh5tpR920BaYvqk3x2vIVAE4xB
	XDV5xfDoIVLAV4Djya+C2jK+QB5S+7T6w0UWgHXE5ObX13QTb36op+n/j6HNjp0x
	7VVov8Rs9bloLl0j4FDVkc5pujYJEWakUoVRl6R7sYepBs7m+ceqljdJKIomzhZD
	N04AwS0DYBlofP9pH2ZRxotRC3yv23efJ19Psnv0o/CJs2irZS+0hWVUHnAN7BBD
	MvHgYVrp36F0kFB2EB3mYxXfK98dCmyxWcA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970496; x=1671056896; bh=B6KqEgF1ikxhk
	XO6Eev+8KZcWfjm4y01EPwzBXI1oLQ=; b=wVAw/sb1e5DtEZhlkDRKISdDReP43
	c0xqMvq4kUZ0FAdnyWkVYLt30TOFcPilq3uoN0G6EzIvTTApQr0VodZdWdGkdn5B
	kE1Kuxj9dfjI2DfoorZz3UKrE5VYTU/8BsIWR0Z6q8yw0J59Awxrt0twI/dCmjkr
	olCQuEDOK0d1JLu3iP1/g7XGPB9q4bRI9UgQqkIRv9nvzNR9XgxFoqtAeHzZ43VG
	giV4gRr4CobMiQg2O/ocvW3FDQ9h94rdRSFma4I0/QQy9+SdT6n7yIBw2Lb3B9IQ
	asAIPjqX3eYul6Ya+34i91d3vxFX4IglXV1zkV3rw3D/1K/NtHNLhWIBg==
X-ME-Sender: <xms:gPyYYy2J8BcNZDCqEfTJLSnxdxUECLMLOAHP4AGKRShMUeCfc9Wwcw>
    <xme:gPyYY1HyGhBgmkmCuE2jmqWe8ly6uyozFmss7jNR_bQEj1JKZxXxDMoCy1KzWsjwU
    HhVBQ9jYO9Gf_4>
X-ME-Received: <xmr:gPyYY65KOqmUGU5zG2l8nOVhqaZnDXfhBf7br8cba6bvtGaTY9y17MfHBC5Z6UR6yamJBoLWw_o5>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:gPyYYz2MNW7vtYWNkpdonY4HlyOIVmfm9XKY6t56eZcw-OJlgkCwwA>
    <xmx:gPyYY1FIS3MWNqBJtAP_HjQlD8ZEexk-lz8LWpHvffl1SCTVmTvdYQ>
    <xmx:gPyYY88smSMuDdG9xvtogvSlSx3fP_Ad3F71Y-JC8vrIJV4a04Ejyg>
    <xmx:gPyYY7Y66brZFrYLc3OB4eVbY_JiwtZxsrrUDH2PinMKZ80HhTnPoQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 04/14] efi: Avoid hard-coding the various PAT constants
Date: Tue, 13 Dec 2022 17:26:45 -0500
Message-Id: <aad022471c81db163ed7b4780f926898c2ff9065.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This makes the code much easier to understand, and avoids problems if
Xen's PAT ever changes in the future.

Reviewed-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/common/efi/boot.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index d521b47bc6d9513ca6e65c3170abb94881a71910..e1248d63e7f99d598a6b1df04e34ed34ed0b6910 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -1748,23 +1748,23 @@ void __init efi_init_memory(void)
         emfn = PFN_UP(desc->PhysicalStart + len);
 
         if ( desc->Attribute & EFI_MEMORY_WB )
-            /* nothing */;
+            prot |= _PAGE_WB;
         else if ( desc->Attribute & EFI_MEMORY_WT )
-            prot |= _PAGE_PWT | MAP_SMALL_PAGES;
+            prot |= _PAGE_WT | MAP_SMALL_PAGES;
         else if ( desc->Attribute & EFI_MEMORY_WC )
-            prot |= _PAGE_PAT | MAP_SMALL_PAGES;
+            prot |= _PAGE_WC | MAP_SMALL_PAGES;
         else if ( desc->Attribute & (EFI_MEMORY_UC | EFI_MEMORY_UCE) )
-            prot |= _PAGE_PWT | _PAGE_PCD | MAP_SMALL_PAGES;
+            prot |= _PAGE_UC | MAP_SMALL_PAGES;
         else if ( efi_bs_revision >= EFI_REVISION(2, 5) &&
                   (desc->Attribute & EFI_MEMORY_WP) )
-            prot |= _PAGE_PAT | _PAGE_PWT | MAP_SMALL_PAGES;
+            prot |= _PAGE_WP | MAP_SMALL_PAGES;
         else
         {
             printk(XENLOG_ERR "Unknown cachability for MFNs %#lx-%#lx%s\n",
                    smfn, emfn - 1, efi_map_uc ? ", assuming UC" : "");
             if ( !efi_map_uc )
                 continue;
-            prot |= _PAGE_PWT | _PAGE_PCD | MAP_SMALL_PAGES;
+            prot |= _PAGE_UC | MAP_SMALL_PAGES;
         }
 
         if ( desc->Attribute & (efi_bs_revision < EFI_REVISION(2, 5)
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:28:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:28:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461294.719413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DlG-00079n-7o; Tue, 13 Dec 2022 22:28:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461294.719413; Tue, 13 Dec 2022 22:28:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DlG-00079g-4V; Tue, 13 Dec 2022 22:28:30 +0000
Received: by outflank-mailman (input) for mailman id 461294;
 Tue, 13 Dec 2022 22:28:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5DlF-0006J3-5i
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:29 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75e5234e-7b35-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 23:28:27 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 7E7B732003C0;
 Tue, 13 Dec 2022 17:28:24 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Tue, 13 Dec 2022 17:28:25 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:23 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75e5234e-7b35-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970504; x=1671056904; bh=4Sfgc94Ph9uJcjlu4oLMffC3RtHar9p+8di
	0uXzzn8o=; b=Grz8Mbrf1f2sRyzzELnR+zdcuc2kiGj9qJOPualk49v+NTKOuGi
	sV1JZkjur1C5Fc03SLcGFn25y9MN8Jm0uH2J9evheppRaDxkd98r6b3PAvLoFpHc
	UzeqG4eDkCI+vbOm1kMlF0b0IsBoQf4YlmUORlK2VIYDuk4OBbrS3b4ASAQBB6Xx
	yQ1iBvkErxWhN44O43w1IjaEc8CMKjQOnnnA8ob4eRt9XwVqcqd4SSs/gdr9FU8G
	CaCoFIQ5zkJTaq21+amZAi1O0VHnKgudqFfJ3XFVoEPsLdQmP+auibxyfGFULSF9
	ZWB+A/EdOdyUMgHDI/8HPJX3XVd6q+Jfjiw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970504; x=1671056904; bh=4Sfgc94Ph9uJc
	jlu4oLMffC3RtHar9p+8di0uXzzn8o=; b=Oe+FrVSMRKtmTTiC15cxRXGhtshPJ
	pSFeg0W0V48s5Nxms/Y8SP/OOMtNHqa5K8BfwGrT4ykCUB3F0KJ+TSqVCSg4l/Ix
	OkyqIn+H1Pd5QrOcIKKBc4G1nJ3DA3NWYHj+MnFkcr5HIMEqPSC4+7WrxkoEMeIO
	ACjS7rtEhwJ1GAbviC0efI0K/kBRmDDmTBjhFL/4lL8rJKgdSsaDvC8ojZbOsynD
	SRls4nH+KDeyy5KsDVtr+fkXjq+VCxciXpmGIe8Yl72UOt32gqid4/j2H0h79qXc
	WhEm313AVH/bE7ErR91ZDwotFouUAOW3FJ31BnzCjUBZDBtClIuIAeK4w==
X-ME-Sender: <xms:h_yYY5ek2WhWMBNMe9AbrHPVdhbg9AO1Z1iZfZzbFULA7ILoqcsLgw>
    <xme:h_yYY3PatCMu6guyWLZzM0Tzki8p7tan_pJppYQNpxxy1oLo5k2qo9MnIF5twW_R5
    l-LDbl7Wa67ETA>
X-ME-Received: <xmr:h_yYYyitqMMQAMG5HIePm0BYiV86CCYuBVKiIJkUpXVjCz7GhvvC0EBZbCuyHxQuhcWZdmkKeNwh>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeefkeelveethfeuffetvdeigeduteev
    geffhfekieettdfhuedtvdduteetgffftdenucffohhmrghinhephhhvmhdrihhsnecuve
    hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepuggvmhhisehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:iPyYYy8WJ3BFYhsOmRWtax854PymBiPNbv3-WkKvG6r-WcQPP4M7Hw>
    <xmx:iPyYY1twKlDtVRCaB--ZIYx8L6c_uGh2a_UeRjfUgrDfB6VLOz9hTA>
    <xmx:iPyYYxE1zkFw0p46CD4hr0qgKp2cQ6fvo5_QWGO3m3gZ5_zDKJlJmw>
    <xmx:iPyYY7Av_awkoYZaQpHwhfieCWO8MURbCIlXQ0UUgUIZNd_iv4Ohbw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 07/14] x86: Replace PAT_* with X86_MT_*
Date: Tue, 13 Dec 2022 17:26:48 -0500
Message-Id: <7e961ee6d14f52182b023369b770d7831e006783.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This allows eliminating the former.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/hvm/hvm.c          | 12 ++++----
 xen/arch/x86/hvm/mtrr.c         | 52 ++++++++++++++++-----------------
 xen/arch/x86/hvm/vmx/vmx.c      | 16 +++++-----
 xen/arch/x86/include/asm/mtrr.h | 12 +-------
 xen/arch/x86/mm/p2m-ept.c       |  2 +-
 xen/arch/x86/mm/shadow/multi.c  |  4 +--
 6 files changed, 44 insertions(+), 54 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index ae4368ec4b338cf8c6cb14d383f612c91c98e800..00b3fa56e25e2934e2870e11fd19b120daff2715 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -307,12 +307,12 @@ int hvm_set_guest_pat(struct vcpu *v, uint64_t guest_pat)
     for ( i = 0, tmp = guest_pat; i < 8; i++, tmp >>= 8 )
         switch ( tmp & 0xff )
         {
-        case PAT_TYPE_UC_MINUS:
-        case PAT_TYPE_UNCACHABLE:
-        case PAT_TYPE_WRBACK:
-        case PAT_TYPE_WRCOMB:
-        case PAT_TYPE_WRPROT:
-        case PAT_TYPE_WRTHROUGH:
+        case X86_MT_UCM:
+        case X86_MT_UC:
+        case X86_MT_WB:
+        case X86_MT_WC:
+        case X86_MT_WP:
+        case X86_MT_WT:
             break;
         default:
             return 0;
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 4d2aa6def86de45aeeaade7a1a7815c5ef2b3d7a..eff0a4891bb3d9db9e25f4f1f7798af10ca865f7 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -37,7 +37,7 @@ static const uint8_t pat_entry_2_pte_flags[8] = {
     _PAGE_PAT | _PAGE_PCD, _PAGE_PAT | _PAGE_PCD | _PAGE_PWT };
 
 /* Effective mm type lookup table, according to MTRR and PAT. */
-static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][PAT_TYPE_NUMS] = {
+static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
 #define RS MEMORY_NUM_TYPES
 #define UC MTRR_TYPE_UNCACHABLE
 #define WB MTRR_TYPE_WRBACK
@@ -72,8 +72,8 @@ static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
     };
 
 /* Lookup table for PAT entry of a given PAT value in host PAT. */
-static uint8_t __read_mostly pat_entry_tbl[PAT_TYPE_NUMS] =
-    { [0 ... PAT_TYPE_NUMS-1] = INVALID_MEM_TYPE };
+static uint8_t __read_mostly pat_entry_tbl[X86_NUM_MT] =
+    { [0 ... X86_NUM_MT-1] = INVALID_MEM_TYPE };
 
 static int __init cf_check hvm_mtrr_pat_init(void)
 {
@@ -81,7 +81,7 @@ static int __init cf_check hvm_mtrr_pat_init(void)
 
     for ( i = 0; i < MTRR_NUM_TYPES; i++ )
     {
-        for ( j = 0; j < PAT_TYPE_NUMS; j++ )
+        for ( j = 0; j < X86_NUM_MT; j++ )
         {
             unsigned int tmp = mm_type_tbl[i][j];
 
@@ -90,9 +90,9 @@ static int __init cf_check hvm_mtrr_pat_init(void)
         }
     }
 
-    for ( i = 0; i < PAT_TYPE_NUMS; i++ )
+    for ( i = 0; i < X86_NUM_MT; i++ )
     {
-        for ( j = 0; j < PAT_TYPE_NUMS; j++ )
+        for ( j = 0; j < X86_NUM_MT; j++ )
         {
             if ( pat_cr_2_paf(XEN_MSR_PAT, j) == i )
             {
@@ -115,7 +115,7 @@ uint8_t pat_type_2_pte_flags(uint8_t pat_type)
      * given pat_type. If host PAT covers all the PAT types, it can't happen.
      */
     if ( unlikely(pat_entry == INVALID_MEM_TYPE) )
-        pat_entry = pat_entry_tbl[PAT_TYPE_UNCACHABLE];
+        pat_entry = pat_entry_tbl[X86_MT_UC];
 
     return pat_entry_2_pte_flags[pat_entry];
 }
@@ -145,14 +145,14 @@ int hvm_vcpu_cacheattr_init(struct vcpu *v)
     m->mtrr_cap = (1u << 10) | (1u << 8) | num_var_ranges;
 
     v->arch.hvm.pat_cr =
-        ((uint64_t)PAT_TYPE_WRBACK) |               /* PAT0: WB */
-        ((uint64_t)PAT_TYPE_WRTHROUGH << 8) |       /* PAT1: WT */
-        ((uint64_t)PAT_TYPE_UC_MINUS << 16) |       /* PAT2: UC- */
-        ((uint64_t)PAT_TYPE_UNCACHABLE << 24) |     /* PAT3: UC */
-        ((uint64_t)PAT_TYPE_WRBACK << 32) |         /* PAT4: WB */
-        ((uint64_t)PAT_TYPE_WRTHROUGH << 40) |      /* PAT5: WT */
-        ((uint64_t)PAT_TYPE_UC_MINUS << 48) |       /* PAT6: UC- */
-        ((uint64_t)PAT_TYPE_UNCACHABLE << 56);      /* PAT7: UC */
+        ((uint64_t)X86_MT_WB) |           /* PAT0: WB */
+        ((uint64_t)X86_MT_WT << 8) |      /* PAT1: WT */
+        ((uint64_t)X86_MT_UCM << 16) |    /* PAT2: UC- */
+        ((uint64_t)X86_MT_UC << 24) |     /* PAT3: UC */
+        ((uint64_t)X86_MT_WB << 32) |     /* PAT4: WB */
+        ((uint64_t)X86_MT_WT << 40) |     /* PAT5: WT */
+        ((uint64_t)X86_MT_UCM << 48) |    /* PAT6: UC- */
+        ((uint64_t)X86_MT_UC << 56);      /* PAT7: UC */
 
     if ( is_hardware_domain(v->domain) )
     {
@@ -356,7 +356,7 @@ uint32_t get_pat_flags(struct vcpu *v,
      */
     pat_entry_value = mtrr_epat_tbl[shadow_mtrr_type][guest_eff_mm_type];
     /* If conflit occurs(e.g host MTRR is UC, guest memory type is
-     * WB),set UC as effective memory. Here, returning PAT_TYPE_UNCACHABLE will
+     * WB),set UC as effective memory. Here, returning X86_MT_UC will
      * always set effective memory as UC.
      */
     if ( pat_entry_value == INVALID_MEM_TYPE )
@@ -371,7 +371,7 @@ uint32_t get_pat_flags(struct vcpu *v,
                     "because the host mtrr type is:%d\n",
                     gl1e_flags, (uint64_t)gpaddr, guest_eff_mm_type,
                     shadow_mtrr_type);
-        pat_entry_value = PAT_TYPE_UNCACHABLE;
+        pat_entry_value = X86_MT_UC;
     }
     /* 4. Get the pte flags */
     return pat_type_2_pte_flags(pat_entry_value);
@@ -620,13 +620,13 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
                 p2m_memory_type_changed(d);
                 switch ( type )
                 {
-                case PAT_TYPE_UC_MINUS:
+                case X86_MT_UCM:
                     /*
                      * For EPT we can also avoid the flush in this case;
                      * see epte_get_entry_emt().
                      */
                     if ( hap_enabled(d) && cpu_has_vmx )
-                case PAT_TYPE_UNCACHABLE:
+                case X86_MT_UC:
                         break;
                     /* fall through */
                 default:
@@ -638,12 +638,12 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
         rcu_read_unlock(&pinned_cacheattr_rcu_lock);
         return -ENOENT;
 
-    case PAT_TYPE_UC_MINUS:
-    case PAT_TYPE_UNCACHABLE:
-    case PAT_TYPE_WRBACK:
-    case PAT_TYPE_WRCOMB:
-    case PAT_TYPE_WRPROT:
-    case PAT_TYPE_WRTHROUGH:
+    case X86_MT_UCM:
+    case X86_MT_UC:
+    case X86_MT_WB:
+    case X86_MT_WC:
+    case X86_MT_WP:
+    case X86_MT_WT:
         break;
 
     default:
@@ -681,7 +681,7 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
 
     list_add_rcu(&range->list, &d->arch.hvm.pinned_cacheattr_ranges);
     p2m_memory_type_changed(d);
-    if ( type != PAT_TYPE_WRBACK )
+    if ( type != X86_MT_WB )
         flush_all(FLUSH_CACHE);
 
     return 0;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 7c81b80710f99e08fe8291d3e413c449322b777d..b543c3983d77ae807e8bd97330691a79d8d39bae 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1231,14 +1231,14 @@ static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
              * memory type are all UC.
              */
             u64 uc_pat =
-                ((uint64_t)PAT_TYPE_UNCACHABLE)       |       /* PAT0 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 8)  |       /* PAT1 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 16) |       /* PAT2 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 24) |       /* PAT3 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 32) |       /* PAT4 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 40) |       /* PAT5 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 48) |       /* PAT6 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 56);        /* PAT7 */
+                ((uint64_t)X86_MT_UC)       |       /* PAT0 */
+                ((uint64_t)X86_MT_UC << 8)  |       /* PAT1 */
+                ((uint64_t)X86_MT_UC << 16) |       /* PAT2 */
+                ((uint64_t)X86_MT_UC << 24) |       /* PAT3 */
+                ((uint64_t)X86_MT_UC << 32) |       /* PAT4 */
+                ((uint64_t)X86_MT_UC << 40) |       /* PAT5 */
+                ((uint64_t)X86_MT_UC << 48) |       /* PAT6 */
+                ((uint64_t)X86_MT_UC << 56);        /* PAT7 */
 
             vmx_get_guest_pat(v, pat);
             vmx_set_guest_pat(v, uc_pat);
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index 7733800b798fc2c72ba87e4ce6500e4183553d04..92fc930c692039b6c709d6a04f6553593f40aa55 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -16,17 +16,7 @@
 #define NORMAL_CACHE_MODE          0
 #define NO_FILL_CACHE_MODE         2
 
-enum {
-    PAT_TYPE_UNCACHABLE=0,
-    PAT_TYPE_WRCOMB=1,
-    PAT_TYPE_WRTHROUGH=4,
-    PAT_TYPE_WRPROT=5,
-    PAT_TYPE_WRBACK=6,
-    PAT_TYPE_UC_MINUS=7,
-    PAT_TYPE_NUMS
-};
-
-#define INVALID_MEM_TYPE PAT_TYPE_NUMS
+#define INVALID_MEM_TYPE X86_NUM_MT
 
 /* In the Intel processor's MTRR interface, the MTRR type is always held in
    an 8 bit field: */
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index d61d66c20e4180f8cbe21bcd97b568519e0b738e..b73133f73756e532377eaf71a68ba3de725258b9 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -573,7 +573,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
     if ( gmtrr_mtype >= 0 )
     {
         *ipat = true;
-        return gmtrr_mtype != PAT_TYPE_UC_MINUS ? gmtrr_mtype
+        return gmtrr_mtype != X86_MT_UCM ? gmtrr_mtype
                                                 : MTRR_TYPE_UNCACHABLE;
     }
     if ( gmtrr_mtype == -EADDRNOTAVAIL )
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 6bb564b0145285afc93b72a60b7797fcfe8696dc..b64bba70fc17906236872a017ad48ce91fd30803 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -561,7 +561,7 @@ _sh_propagate(struct vcpu *v,
              (type = hvm_get_mem_pinned_cacheattr(d, target_gfn, 0)) >= 0 )
             sflags |= pat_type_2_pte_flags(type);
         else if ( d->arch.hvm.is_in_uc_mode )
-            sflags |= pat_type_2_pte_flags(PAT_TYPE_UNCACHABLE);
+            sflags |= pat_type_2_pte_flags(X86_MT_UC);
         else
             if ( iomem_access_permitted(d, mfn_x(target_mfn), mfn_x(target_mfn)) )
             {
@@ -572,7 +572,7 @@ _sh_propagate(struct vcpu *v,
                             mfn_to_maddr(target_mfn),
                             MTRR_TYPE_UNCACHABLE);
                 else if ( iommu_snoop )
-                    sflags |= pat_type_2_pte_flags(PAT_TYPE_WRBACK);
+                    sflags |= pat_type_2_pte_flags(X86_MT_WB);
                 else
                     sflags |= get_pat_flags(v,
                             gflags,
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:35:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:35:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461312.719435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DrW-0001nt-E9; Tue, 13 Dec 2022 22:34:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461312.719435; Tue, 13 Dec 2022 22:34:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DrW-0001nm-AL; Tue, 13 Dec 2022 22:34:58 +0000
Received: by outflank-mailman (input) for mailman id 461312;
 Tue, 13 Dec 2022 22:34:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5DlI-000519-OE
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:32 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 78c844e7-7b35-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:28:31 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id A2983320084E;
 Tue, 13 Dec 2022 17:28:29 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Tue, 13 Dec 2022 17:28:30 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:28 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78c844e7-7b35-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970509; x=1671056909; bh=B67xsZEjuniXSLGiNTbDtXcUgnHe8HQATry
	KNiozL1k=; b=LVlcjzqZJkgr6+qvfRi6zdalC7KDNWLHM2wl61iKk+qC4AXqhMb
	Ml6TWk7aBYRIxyPTm5kQGaOS5+7jPtc6ZiJMKjg7B6mFz8wOo5mwaYO6JPMn3lhW
	eiHTW8hiZE3CmH2Rjtix7c1yeWWC5gPCMf7H8snDgrf+r+70WavGpaxVYdy+eaY4
	dZCExp41ae4TUOYwjrkeEoYzNSq8MiIt9TixTvnTGhFlk1t3piEnWRjA2M9++zsF
	doC5/OoqRXEwjclO/HSn18O1EbTepeQv6skiLLrIeW+78/1yVJDzkiCVqWuRjPgb
	GNnWUQ22RqNMSICYv+fUhw/IMPhwImF9fXw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970509; x=1671056909; bh=B67xsZEjuniXS
	LGiNTbDtXcUgnHe8HQATryKNiozL1k=; b=qtS7wcqLezAcW2GnMGxkMh5fVmA6J
	kBr9ii/IuMpOnd0Ejg/Bn4b467/eB++mq4xPG+0NxErlEAg7ITfZgygPdM/uowpv
	o6k+mN4phEK2C4eQwNQ1BK1nCe+KH4dK1o8nyx6sFPU5MG3IAKijZtIBWN9Odt3b
	ZnwHYWTQNsvsdfYqbFR7P7LW9BWemaR1Ik5/LrerILtx6O+L3SSpPNLrfFCVJBq5
	IsY2QePKDFxmhUEwqy7yxZwnrrEyuRSr4dmSk0R5CqbMuqj9PjfYPD7WVA8lu2IL
	PsIEPYqHou+k1Ljn6a01kq2iyihsuSYuMw61OQHQbIb1I0BZA6wl6Fydg==
X-ME-Sender: <xms:jfyYY1oEUreGdvOBL3PlC_ej2PDACxJkvIHV5tlzDvRQg2zpMVJF-g>
    <xme:jfyYY3rSwhS6MY6jTsGBhhVmmaC1LubnfIs8n7o1_pZeAvIpxZReK4EkSo6xBprWF
    OMQX7794xqyWMk>
X-ME-Received: <xmr:jfyYYyOS5atmSgIkk8NCeNZMPg6_rpRSE9xkMlko7rhkZvg-CsNW-2X6lOd7BiRih0QlVOWhF3kC>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedvnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:jfyYYw4XMsmPZCVM9i_TY_xYDnPekoRca6Bs8AydUvilyHsm8Mq8mQ>
    <xmx:jfyYY04pNkyhqCTUIuRvM-DsX-RrYBgvoTfaNjNqFiFUhbN1iYdB9A>
    <xmx:jfyYY4hG-lQe7NGLa57qAFk7mseL5cgCUNmSTk-z-i0f1fYdeIMZuw>
    <xmx:jfyYY2tJ-f8uvdy8vtZ4mM1M6hvIkAEEdZLP1_77zJxJvnaiwRcukg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 09/14] x86: Replace EPT_EMT_* constants with X86_MT_*
Date: Tue, 13 Dec 2022 17:26:50 -0500
Message-Id: <9c5787748bebac492648f352b5971b3bdfcdc7fe.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This allows eliminating the former.  No functional change intended.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/include/asm/hvm/vmx/vmx.h | 9 ---------
 xen/arch/x86/mm/hap/nested_ept.c       | 4 ++--
 2 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
index 8eedf59155e01ec1ca84dcc6b30961f9c884cb3b..49fe9822fac5eae15b67f0cfd3d0cb96347dc7ed 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -80,15 +80,6 @@ typedef enum {
 #define EPTE_RWX_MASK           0x7
 #define EPTE_FLAG_MASK          0x7f
 
-#define EPT_EMT_UC              0
-#define EPT_EMT_WC              1
-#define EPT_EMT_RSV0            2
-#define EPT_EMT_RSV1            3
-#define EPT_EMT_WT              4
-#define EPT_EMT_WP              5
-#define EPT_EMT_WB              6
-#define EPT_EMT_RSV2            7
-
 #define PI_xAPIC_NDST_MASK      0xFF00
 
 void vmx_asm_vmexit_handler(struct cpu_user_regs);
diff --git a/xen/arch/x86/mm/hap/nested_ept.c b/xen/arch/x86/mm/hap/nested_ept.c
index 1cb7fefc37091bf7d92a277203e652add5611871..84fdec024ad216f2c9b333ac65d46b55cf90dada 100644
--- a/xen/arch/x86/mm/hap/nested_ept.c
+++ b/xen/arch/x86/mm/hap/nested_ept.c
@@ -84,8 +84,8 @@ static bool_t nept_emt_bits_check(ept_entry_t e, uint32_t level)
 {
     if ( e.sp || level == 1 )
     {
-        if ( e.emt == EPT_EMT_RSV0 || e.emt == EPT_EMT_RSV1 ||
-             e.emt == EPT_EMT_RSV2 )
+        if ( e.emt == X86_MT_RESERVED_1 || e.emt == X86_MT_RESERVED_2 ||
+             e.emt == X86_MT_UCM )
             return 1;
     }
     return 0;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:35:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:35:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461317.719446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DrX-00026B-Mj; Tue, 13 Dec 2022 22:34:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461317.719446; Tue, 13 Dec 2022 22:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DrX-00025i-JH; Tue, 13 Dec 2022 22:34:59 +0000
Received: by outflank-mailman (input) for mailman id 461317;
 Tue, 13 Dec 2022 22:34:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5DlO-000519-5m
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:38 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a2ad0b1-7b35-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:28:34 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id EEA683200923;
 Tue, 13 Dec 2022 17:28:31 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Tue, 13 Dec 2022 17:28:32 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:30 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a2ad0b1-7b35-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970511; x=1671056911; bh=BC3rEI9VJdr8/NKr5K4rhG8NtAbe23W3rKw
	dQB/q0PI=; b=boiZQ6S06M8d1hzB+lj7vkstYJDNme6RqwXitfhnFltFa3axR3q
	oTcXbU2NVK6jPxZAfJtgsXiDRmwZRJqR6OZX0UG/CGAhmqs7rH4tbOcJmM9Yqi6W
	g/wNghmTOKUJe9sXHT3VkAjuPA5IriKl581UgnB+6yrM30RSr7y+/7nLeRi/uquV
	XWkDDSxND9MnQ1/gngmdWeUVbJBHcLLs4Nfvs054IzMAk3Tc+ZT/eOuUUFyJ2ZDz
	xAD3leDvL2aa4j3FZY2TxmRbtsB2wsClUYIZrdMc4evJRhLknrflD1hmRDrUUL4z
	C+nnJcxnFLRbRFH3KFCXX4Y/hhOmWRd9B3g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970511; x=1671056911; bh=BC3rEI9VJdr8/
	NKr5K4rhG8NtAbe23W3rKwdQB/q0PI=; b=pUEP3YGyBQr1eAFHdIlD1ufCfl0oj
	2aZybNVhIBzdP4gSl9GvB8W7wv9iE3PUJ4Ow2FUezN8C68G/RcSBXhvE/l7xNa4F
	SbR+SdCNHW+AxxefTCSGuw43v9/M3WhSRyk2ZsyYxruBUd7+eF+FHL5HL8t29ZXi
	rp5z7eEvWEj9gCubT3aJk+NvX2lYwKwVmWYp/a+dqijVptU1VPkc6lKsy0YtKBSn
	DWOXW2BhTO5D/aszbW/TIsU3kVIyGSvyDZRMO/P5Lza0V89o8PCqVXlI5sieyOrR
	hvBA+YQQERbkbHgP5vZCGi2509ETdrshwyx6Q2mCBDdn0mK6KYOJX5KSg==
X-ME-Sender: <xms:j_yYYzmOdD9Yrh8qduao0fgbuBMULvJtLhhLJaMnNwJoSeyw8Sla0Q>
    <xme:j_yYY23g6Y5LwqTuxqOYbsRN1qR4XGTTl8TNE0I7Bi3DPkmTfConrmMT_99nQtU8U
    uGc3j3Ci0S9wwE>
X-ME-Received: <xmr:j_yYY5rUElux8Y1wPNrobT1gz7RQ0PCYvi34MHDzg1ZarSk1qxOwblky9D2ueWdJ8JnmDt2GKI-m>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedvnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:j_yYY7lN4oAuOGTqJHIuokqrlQnahYAETKEDq80nYfGnti431gUjPw>
    <xmx:j_yYYx0S_4K69WQlhDqClilNi-OlHC9tjAr7lUSNLFrrxLJWOkKx4Q>
    <xmx:j_yYY6tgg0qem_DSrW28nXrFUDfj2-R-PuLv0UAHss10FW79oQ4UTw>
    <xmx:j_yYY6IX6JKcj2Jh5hV75SSJZ7PYQkMt51awP1Y4vbEzOKYSTYdt0w>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 10/14] x86: Remove remaining uses of MTRR_* constants
Date: Tue, 13 Dec 2022 17:26:51 -0500
Message-Id: <6b68a168ec09b1044f39082646255d104751b598.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No functional change intended.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/cpu/mtrr/generic.c |  2 +-
 xen/arch/x86/cpu/mtrr/main.c    |  7 +++++--
 xen/arch/x86/hvm/mtrr.c         | 22 +++++++++++-----------
 xen/arch/x86/include/asm/mtrr.h |  4 ----
 xen/arch/x86/mm/p2m-ept.c       | 18 +++++++++---------
 xen/arch/x86/mm/shadow/multi.c  |  2 +-
 6 files changed, 27 insertions(+), 28 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index 660ae26c2350b3436a471155fc0426699ba8ac1d..85744fd881f888c9a1b92d2d99f24d8cad1395bd 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -125,7 +125,7 @@ boolean_param("mtrr.show", mtrr_show);
 
 static const char *__init mtrr_attrib_to_str(mtrr_type x)
 {
-	static const char __initconst strings[MTRR_NUM_TYPES][16] =
+	static const char __initconst strings[X86_NUM_MT - 1][16] =
 	{
 		[X86_MT_UC] = "uncachable",
 		[X86_MT_WC] = "write-combining",
diff --git a/xen/arch/x86/cpu/mtrr/main.c b/xen/arch/x86/cpu/mtrr/main.c
index 2946003b84938f3b83c98b62dfaa3ace90822983..61e514e557106b09b317766e104feaa0fd838106 100644
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -62,7 +62,7 @@ const struct mtrr_ops *__read_mostly mtrr_if = NULL;
 static void set_mtrr(unsigned int reg, unsigned long base,
 		     unsigned long size, mtrr_type type);
 
-static const char *const mtrr_strings[MTRR_NUM_TYPES] =
+static const char *const mtrr_strings[X86_NUM_MT] =
 {
     "uncachable",               /* 0 */
     "write-combining",          /* 1 */
@@ -71,6 +71,7 @@ static const char *const mtrr_strings[MTRR_NUM_TYPES] =
     "write-through",            /* 4 */
     "write-protect",            /* 5 */
     "write-back",               /* 6 */
+    "?",                        /* 7 */
 };
 
 static const char *mtrr_attrib_to_str(int x)
@@ -322,7 +323,9 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 	if ((error = mtrr_if->validate_add_page(base,size,type)))
 		return error;
 
-	if (type >= MTRR_NUM_TYPES) {
+	if (type == X86_MT_RESERVED_1 ||
+	    type == X86_MT_RESERVED_2 ||
+	    type >= X86_MT_UCM) {
 		printk(KERN_WARNING "mtrr: type: %u invalid\n", type);
 		return -EINVAL;
 	}
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 31756e4e8b0a5c73400f5f12f2c88197eb68c474..81f33947bc7513d6b403eef6c485160ec8a6ba92 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -37,8 +37,8 @@ static const uint8_t pat_entry_2_pte_flags[8] = {
     _PAGE_PAT | _PAGE_PCD, _PAGE_PAT | _PAGE_PCD | _PAGE_PWT };
 
 /* Effective mm type lookup table, according to MTRR and PAT. */
-static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
-#define RS MEMORY_NUM_TYPES
+static const uint8_t mm_type_tbl[X86_NUM_MT - 1][X86_NUM_MT] = {
+#define RS X86_MT_UCM
 #define UC X86_MT_UC
 #define WB X86_MT_WB
 #define WC X86_MT_WC
@@ -66,9 +66,9 @@ static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
  * Reverse lookup table, to find a pat type according to MTRR and effective
  * memory type. This table is dynamically generated.
  */
-static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
-    { [0 ... MTRR_NUM_TYPES-1] =
-        { [0 ... MEMORY_NUM_TYPES-1] = INVALID_MEM_TYPE }
+static uint8_t __read_mostly mtrr_epat_tbl[X86_NUM_MT - 1][X86_NUM_MT] =
+    { [0 ... X86_NUM_MT - 2] =
+        { [0 ... X86_NUM_MT - 2] = INVALID_MEM_TYPE }
     };
 
 /* Lookup table for PAT entry of a given PAT value in host PAT. */
@@ -79,13 +79,13 @@ static int __init cf_check hvm_mtrr_pat_init(void)
 {
     unsigned int i, j;
 
-    for ( i = 0; i < MTRR_NUM_TYPES; i++ )
+    for ( i = 0; i < X86_NUM_MT - 1; i++ )
     {
         for ( j = 0; j < X86_NUM_MT; j++ )
         {
             unsigned int tmp = mm_type_tbl[i][j];
 
-            if ( tmp < MEMORY_NUM_TYPES )
+            if ( tmp < X86_NUM_MT - 1 )
                 mtrr_epat_tbl[i][tmp] = j;
         }
     }
@@ -317,11 +317,11 @@ static uint8_t effective_mm_type(struct mtrr_state *m,
                                  uint8_t gmtrr_mtype)
 {
     uint8_t mtrr_mtype, pat_value;
-   
+
     /* if get_pat_flags() gives a dedicated MTRR type,
      * just use it
-     */ 
-    if ( gmtrr_mtype == NO_HARDCODE_MEM_TYPE )
+     */
+    if ( gmtrr_mtype == X86_MT_UCM )
         mtrr_mtype = mtrr_get_type(m, gpa, 0);
     else
         mtrr_mtype = gmtrr_mtype;
@@ -346,7 +346,7 @@ uint32_t get_pat_flags(struct vcpu *v,
     /* 1. Get the effective memory type of guest physical address,
      * with the pair of guest MTRR and PAT
      */
-    guest_eff_mm_type = effective_mm_type(g, pat, gpaddr, 
+    guest_eff_mm_type = effective_mm_type(g, pat, gpaddr,
                                           gl1e_flags, gmtrr_mtype);
     /* 2. Get the memory type of host physical address, with MTRR */
     shadow_mtrr_type = mtrr_get_type(&mtrr_state, spaddr, 0);
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index 23f908063fb987ee8a5b2dd3d772106d3a55e644..b82d4587a3c4a1aac12f961b63c9e5b56a1be72a 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -3,10 +3,6 @@
 
 #include <xen/mm.h>
 
-#define MTRR_NUM_TYPES       7
-#define MEMORY_NUM_TYPES     MTRR_NUM_TYPES
-#define NO_HARDCODE_MEM_TYPE    MTRR_NUM_TYPES
-
 #define NORMAL_CACHE_MODE          0
 #define NO_FILL_CACHE_MODE         2
 
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index aa7a3287c46ace715106385151e1834b3cd64508..9f048a5680eb87518c1ac6b6bf25178d82ebc018 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -394,10 +394,10 @@ static bool ept_invalidate_emt_subtree(struct p2m_domain *p2m, mfn_t mfn,
         ept_entry_t e = atomic_read_ept_entry(&epte[i]);
 
         if ( !is_epte_valid(&e) || !is_epte_present(&e) ||
-             (e.emt == MTRR_NUM_TYPES && (e.recalc || !recalc)) )
+             (e.emt == X86_MT_UCM && (e.recalc || !recalc)) )
             continue;
 
-        e.emt = MTRR_NUM_TYPES;
+        e.emt = X86_MT_UCM;
         if ( recalc )
             e.recalc = 1;
         rc = atomic_write_ept_entry(p2m, &epte[i], e, level - 1);
@@ -470,9 +470,9 @@ static int ept_invalidate_emt_range(struct p2m_domain *p2m,
         ept_entry_t e = atomic_read_ept_entry(&table[index]);
 
         if ( is_epte_valid(&e) && is_epte_present(&e) &&
-             (e.emt != MTRR_NUM_TYPES || !e.recalc) )
+             (e.emt != X86_MT_UCM || !e.recalc) )
         {
-            e.emt = MTRR_NUM_TYPES;
+            e.emt = X86_MT_UCM;
             e.recalc = 1;
             wrc = atomic_write_ept_entry(p2m, &table[index], e, target);
             ASSERT(wrc == 0);
@@ -655,7 +655,7 @@ static int cf_check resolve_misconfig(struct p2m_domain *p2m, unsigned long gfn)
         {
             bool ipat;
 
-            if ( e.emt != MTRR_NUM_TYPES )
+            if ( e.emt != X86_MT_UCM )
                 break;
 
             if ( level == 0 )
@@ -665,7 +665,7 @@ static int cf_check resolve_misconfig(struct p2m_domain *p2m, unsigned long gfn)
                     p2m_type_t nt;
 
                     e = atomic_read_ept_entry(&epte[i]);
-                    if ( e.emt == MTRR_NUM_TYPES )
+                    if ( e.emt == X86_MT_UCM )
                         e.emt = 0;
                     if ( !is_epte_valid(&e) || !is_epte_present(&e) )
                         continue;
@@ -741,7 +741,7 @@ static int cf_check resolve_misconfig(struct p2m_domain *p2m, unsigned long gfn)
             break;
         }
 
-        if ( e.emt == MTRR_NUM_TYPES )
+        if ( e.emt == X86_MT_UCM )
         {
             ASSERT(is_epte_present(&e));
             ept_invalidate_emt_subtree(p2m, _mfn(e.mfn), e.recalc, level);
@@ -931,7 +931,7 @@ ept_set_entry(struct p2m_domain *p2m, gfn_t gfn_, mfn_t mfn,
         if ( emt >= 0 )
             new_entry.emt = emt;
         else /* ept_handle_misconfig() will need to take care of this. */
-            new_entry.emt = MTRR_NUM_TYPES;
+            new_entry.emt = X86_NUM_MT - 1;
 
         new_entry.ipat = ipat;
         new_entry.sp = !!i;
@@ -1471,7 +1471,7 @@ static void cf_check ept_dump_p2m_table(unsigned char key)
             for ( i = ept->wl; i > 0; i-- )
             {
                 ept_entry = table + (gfn_remainder >> (i * EPT_TABLE_ORDER));
-                if ( ept_entry->emt == MTRR_NUM_TYPES )
+                if ( ept_entry->emt == X86_MT_UCM )
                     c = '?';
                 ret = ept_next_level(p2m, 1, &table, &gfn_remainder, i);
                 if ( ret != GUEST_TABLE_NORMAL_PAGE )
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index f5f7ff021bd9e057c5b6f6329de7acb5ef05d58f..964f21829841777156aa9bfc24490ea4e052c344 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -578,7 +578,7 @@ _sh_propagate(struct vcpu *v,
                             gflags,
                             gfn_to_paddr(target_gfn),
                             mfn_to_maddr(target_mfn),
-                            NO_HARDCODE_MEM_TYPE);
+                            X86_MT_UCM);
             }
     }
 
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:35:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:35:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461311.719424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DrV-0001VT-09; Tue, 13 Dec 2022 22:34:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461311.719424; Tue, 13 Dec 2022 22:34:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DrU-0001V5-RX; Tue, 13 Dec 2022 22:34:56 +0000
Received: by outflank-mailman (input) for mailman id 461311;
 Tue, 13 Dec 2022 22:34:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5DlH-000519-4g
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:31 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77637195-7b35-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:28:29 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 4D6E532004ED;
 Tue, 13 Dec 2022 17:28:27 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Tue, 13 Dec 2022 17:28:28 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:25 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77637195-7b35-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970506; x=1671056906; bh=S/0YwHKk87HS5GkZYQhIUjN0CMQcJLRHeSC
	omFTaRaE=; b=rzbXTrGHrRpHuZ0+3lKIAOnnA6ydh1FFOuTzPHp8n3LpKTg29CV
	3Ol/shsGppTub4E/G72CbuYMt98yUGum9J1WA/JDw0U3Dm9ruF+dxgNS33kqo+tz
	i1N1EP9LH4Ag8VwHX9Mwzr9pULt6FfxOiiRmLPB3x0mLmUKIqV0iUbQDTaCTRoIp
	gFHtdhGTYmUSCxK1k7v2jPmgcuc4VLZhMYNvzjZQoEP1Ni3gdOPmCKygggcfY85u
	4c1lMeNronWCE3LGMwrtAvEuemWT09IzBDYn9LyXcJ5z6EhKivnPr/GIRYlNMLA5
	nu8Ok0S6UYUH7x8tg+GmxH+xv0/vfaZpliw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970506; x=1671056906; bh=S/0YwHKk87HS5
	GkZYQhIUjN0CMQcJLRHeSComFTaRaE=; b=r+Ooa3hXB8P9lL0Pa9ooda8rCdGB2
	FBRPplqDjIfHbtLpqtO4Xvw5t89nbOolpiAKfUJ0hGBqUv+hSU5lUY9wmmcie+Y9
	yfSyW1scaG1cazEGA6GLeP9xoQYz/BKOWJJWSiQyshoxdgfbj8zseH5JjlufTBzt
	myNNH+Yoc7EWnx+ZU7dDavhKs/Qf0gwlOLJmBXzSrWhBEexVuKPqPL0iG8AWdp3m
	ZpxQ+OxUx0GVjUlOmmM9Kfh5wCSnJFrhEvyvCDn3qbdOZQQzDPv1Jf9Y+7KoFHnl
	dYouJV+HGB9LS2Qhz1fgboJ48s+LQs9bMFGJphwVqc7JQAfGxyb8mIHDQ==
X-ME-Sender: <xms:ivyYYzkmHjQat_iV9Kx4wcVquMtGwMlgTU3fcPo1oROIFXVMgXlCyA>
    <xme:ivyYY22Yrzn-tkmKkGZmLAcALmZNYWf62fqNxF270M2RIPl5zeu_8EqYOforhOagH
    -uZ038roU8POXA>
X-ME-Received: <xmr:ivyYY5osklT98FPH-BRVeW1zJcXmKG-DwDa20I6EmW0l5w9v5tam8WX-PmxPjxBRzIjML0hkOd6v>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedunecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:ivyYY7nFKkXiYzoC57mzAd0-KJu4iKf1nz0qLxWqXclITF1ggZH2ag>
    <xmx:ivyYYx0qqtHs75-AzU1Rj03OLOmMnzKjwCsgB7J7J5nMsj8cwX2ABA>
    <xmx:ivyYY6uY7KC96-uRtwt_t7sNqPM9fClub1WBN5m8_inRz3uQhyhEGQ>
    <xmx:ivyYY6Jv7cp96tzwHOWpnsjnZUkbuErtPV4E0FBWvOq-YWDfz7wpNA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 08/14] x86: Replace MTRR_* constants with X86_MT_* constants
Date: Tue, 13 Dec 2022 17:26:49 -0500
Message-Id: <fec68f62fcea8fe7f6cf6e7963ea4c6b30ea5166.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This allows eliminating most of the former.  No functional change
intended.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/cpu/mtrr/generic.c         | 10 ++---
 xen/arch/x86/cpu/mtrr/main.c            | 26 ++++++-------
 xen/arch/x86/e820.c                     |  4 +-
 xen/arch/x86/hvm/mtrr.c                 | 30 +++++++--------
 xen/arch/x86/hvm/vmx/vmcs.c             |  2 +-
 xen/arch/x86/hvm/vmx/vmx.c              |  2 +-
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |  2 +-
 xen/arch/x86/include/asm/mtrr.h         |  6 ---
 xen/arch/x86/mm/p2m-ept.c               | 50 ++++++++++++-------------
 xen/arch/x86/mm/shadow/multi.c          |  2 +-
 10 files changed, 64 insertions(+), 70 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index 47aaf76226e0a8a0712b7211ed339a4a032ab3f3..660ae26c2350b3436a471155fc0426699ba8ac1d 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -127,11 +127,11 @@ static const char *__init mtrr_attrib_to_str(mtrr_type x)
 {
 	static const char __initconst strings[MTRR_NUM_TYPES][16] =
 	{
-		[MTRR_TYPE_UNCACHABLE]     = "uncachable",
-		[MTRR_TYPE_WRCOMB]         = "write-combining",
-		[MTRR_TYPE_WRTHROUGH]      = "write-through",
-		[MTRR_TYPE_WRPROT]         = "write-protect",
-		[MTRR_TYPE_WRBACK]         = "write-back",
+		[X86_MT_UC] = "uncachable",
+		[X86_MT_WC] = "write-combining",
+		[X86_MT_WT] = "write-through",
+		[X86_MT_WP] = "write-protect",
+		[X86_MT_WB] = "write-back",
 	};
 
 	return (x < ARRAY_SIZE(strings) && strings[x][0]) ? strings[x] : "?";
diff --git a/xen/arch/x86/cpu/mtrr/main.c b/xen/arch/x86/cpu/mtrr/main.c
index 4e01c8d6f9df6562b94438f265d79a0a6fca8de6..2946003b84938f3b83c98b62dfaa3ace90822983 100644
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -163,10 +163,10 @@ static void cf_check ipi_handler(void *info)
 }
 
 static inline int types_compatible(mtrr_type type1, mtrr_type type2) {
-	return type1 == MTRR_TYPE_UNCACHABLE ||
-	       type2 == MTRR_TYPE_UNCACHABLE ||
-	       (type1 == MTRR_TYPE_WRTHROUGH && type2 == MTRR_TYPE_WRBACK) ||
-	       (type1 == MTRR_TYPE_WRBACK && type2 == MTRR_TYPE_WRTHROUGH);
+	return type1 == X86_MT_UC ||
+	       type2 == X86_MT_UC ||
+	       (type1 == X86_MT_WT && type2 == X86_MT_WB) ||
+	       (type1 == X86_MT_WB && type2 == X86_MT_WT);
 }
 
 /**
@@ -297,13 +297,13 @@ static void set_mtrr(unsigned int reg, unsigned long base,
  *
  *	The available types are
  *
- *	%MTRR_TYPE_UNCACHABLE	-	No caching
+ *	%X86_MT_UC	-	No caching
  *
- *	%MTRR_TYPE_WRBACK	-	Write data back in bursts whenever
+ *	%X86_MT_WB	-	Write data back in bursts whenever
  *
- *	%MTRR_TYPE_WRCOMB	-	Write data back soon but allow bursts
+ *	%X86_MT_WC	-	Write data back soon but allow bursts
  *
- *	%MTRR_TYPE_WRTHROUGH	-	Cache reads but not writes
+ *	%X86_MT_WT	-	Cache reads but not writes
  *
  *	BUGS: Needs a quiet flag for the cases where drivers do not mind
  *	failures and do not wish system log messages to be sent.
@@ -328,7 +328,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 	}
 
 	/*  If the type is WC, check that this processor supports it  */
-	if ((type == MTRR_TYPE_WRCOMB) && !have_wrcomb()) {
+	if ((type == X86_MT_WC) && !have_wrcomb()) {
 		printk(KERN_WARNING
 		       "mtrr: your processor doesn't support write-combining\n");
 		return -EOPNOTSUPP;
@@ -442,13 +442,13 @@ static int mtrr_check(unsigned long base, unsigned long size)
  *
  *	The available types are
  *
- *	%MTRR_TYPE_UNCACHABLE	-	No caching
+ *	%X86_MT_UC	-	No caching
  *
- *	%MTRR_TYPE_WRBACK	-	Write data back in bursts whenever
+ *	%X86_MT_WB	-	Write data back in bursts whenever
  *
- *	%MTRR_TYPE_WRCOMB	-	Write data back soon but allow bursts
+ *	%X86_MT_WC	-	Write data back soon but allow bursts
  *
- *	%MTRR_TYPE_WRTHROUGH	-	Cache reads but not writes
+ *	%X86_MT_WT	-	Cache reads but not writes
  *
  *	BUGS: Needs a quiet flag for the cases where drivers do not mind
  *	failures and do not wish system log messages to be sent.
diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c
index b653a19c93afb98c2d64330384cb4fa7b4d2e1ec..c5911cf48dc4a281c03ddef35f23b19bc7af42eb 100644
--- a/xen/arch/x86/e820.c
+++ b/xen/arch/x86/e820.c
@@ -459,7 +459,7 @@ static uint64_t __init mtrr_top_of_ram(void)
         printk(" MTRR cap: %"PRIx64" type: %"PRIx64"\n", mtrr_cap, mtrr_def);
 
     /* MTRRs enabled, and default memory type is not writeback? */
-    if ( !test_bit(11, &mtrr_def) || ((uint8_t)mtrr_def == MTRR_TYPE_WRBACK) )
+    if ( !test_bit(11, &mtrr_def) || ((uint8_t)mtrr_def == X86_MT_WB) )
         return 0;
 
     /*
@@ -476,7 +476,7 @@ static uint64_t __init mtrr_top_of_ram(void)
             printk(" MTRR[%d]: base %"PRIx64" mask %"PRIx64"\n",
                    i, base, mask);
 
-        if ( !test_bit(11, &mask) || ((uint8_t)base != MTRR_TYPE_WRBACK) )
+        if ( !test_bit(11, &mask) || ((uint8_t)base != X86_MT_WB) )
             continue;
         base &= addr_mask;
         mask &= addr_mask;
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index eff0a4891bb3d9db9e25f4f1f7798af10ca865f7..31756e4e8b0a5c73400f5f12f2c88197eb68c474 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -39,11 +39,11 @@ static const uint8_t pat_entry_2_pte_flags[8] = {
 /* Effective mm type lookup table, according to MTRR and PAT. */
 static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
 #define RS MEMORY_NUM_TYPES
-#define UC MTRR_TYPE_UNCACHABLE
-#define WB MTRR_TYPE_WRBACK
-#define WC MTRR_TYPE_WRCOMB
-#define WP MTRR_TYPE_WRPROT
-#define WT MTRR_TYPE_WRTHROUGH
+#define UC X86_MT_UC
+#define WB X86_MT_WB
+#define WC X86_MT_WC
+#define WP X86_MT_WP
+#define WT X86_MT_WT
 
 /*          PAT(UC, WC, RS, RS, WT, WP, WB, UC-) */
 /* MTRR(UC) */ {UC, WC, RS, RS, UC, UC, UC, UC},
@@ -202,7 +202,7 @@ int mtrr_get_type(const struct mtrr_state *m, paddr_t pa, unsigned int order)
    unsigned int seg, num_var_ranges = MASK_EXTR(m->mtrr_cap, MTRRcap_VCNT);
 
    if ( unlikely(!m->enabled) )
-       return MTRR_TYPE_UNCACHABLE;
+       return X86_MT_UC;
 
    pa &= mask;
    if ( (pa < 0x100000) && m->fixed_enabled )
@@ -277,13 +277,13 @@ int mtrr_get_type(const struct mtrr_state *m, paddr_t pa, unsigned int order)
        return -1;
 
    /* Two or more matches, one being UC? */
-   if ( overlap_mtrr & (1 << MTRR_TYPE_UNCACHABLE) )
-       return MTRR_TYPE_UNCACHABLE;
+   if ( overlap_mtrr & (1 << X86_MT_UC) )
+       return X86_MT_UC;
 
    /* Two or more matches, all of them WT and WB? */
    if ( overlap_mtrr ==
-        ((1 << MTRR_TYPE_WRTHROUGH) | (1 << MTRR_TYPE_WRBACK)) )
-       return MTRR_TYPE_WRTHROUGH;
+        ((1 << X86_MT_WT) | (1 << X86_MT_WB)) )
+       return X86_MT_WT;
 
    /* Behaviour is undefined, but return the last overlapped type. */
    return overlap_mtrr_pos;
@@ -381,11 +381,11 @@ static inline bool_t valid_mtrr_type(uint8_t type)
 {
     switch ( type )
     {
-    case MTRR_TYPE_UNCACHABLE:
-    case MTRR_TYPE_WRBACK:
-    case MTRR_TYPE_WRCOMB:
-    case MTRR_TYPE_WRPROT:
-    case MTRR_TYPE_WRTHROUGH:
+    case X86_MT_UC:
+    case X86_MT_WB:
+    case X86_MT_WC:
+    case X86_MT_WP:
+    case X86_MT_WT:
         return 1;
     }
     return 0;
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index 84dbb88d33b76111833a37339186199f8bc03b5e..f0825216d722d978f221bb34a797d8de5505cb80 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -555,7 +555,7 @@ static int vmx_init_vmcs_config(bool bsp)
     /* Require Write-Back (WB) memory type for VMCS accesses. */
     opt = (vmx_basic_msr_high & (VMX_BASIC_MEMORY_TYPE_MASK >> 32)) /
           ((VMX_BASIC_MEMORY_TYPE_MASK & -VMX_BASIC_MEMORY_TYPE_MASK) >> 32);
-    if ( opt != MTRR_TYPE_WRBACK )
+    if ( opt != X86_MT_WB )
     {
         printk("VMX: CPU%d has unexpected VMCS access type %u\n",
                smp_processor_id(), opt);
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index b543c3983d77ae807e8bd97330691a79d8d39bae..4ae7dd56c9981d32ac545d6e7b7c126b15f68969 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -434,7 +434,7 @@ static void cf_check domain_creation_finished(struct domain *d)
         return;
 
     ASSERT(epte_get_entry_emt(d, gfn, apic_access_mfn, 0, &ipat,
-                              p2m_mmio_direct) == MTRR_TYPE_WRBACK);
+                              p2m_mmio_direct) == X86_MT_WB);
     ASSERT(ipat);
 
     if ( set_mmio_p2m_entry(d, gfn, apic_access_mfn, PAGE_ORDER_4K) )
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
index 75f9928abfad28e3895fe3dd4058b2b0a6e145c3..65e9e27b5437adff59abc46976f73a9f2cc587da 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -38,7 +38,7 @@ struct vmx_msr_entry {
     u64 data;
 };
 
-#define EPT_DEFAULT_MT      MTRR_TYPE_WRBACK
+#define EPT_DEFAULT_MT      X86_MT_WB
 
 struct ept_data {
     union {
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index 92fc930c692039b6c709d6a04f6553593f40aa55..23f908063fb987ee8a5b2dd3d772106d3a55e644 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -3,12 +3,6 @@
 
 #include <xen/mm.h>
 
-/* These are the region types. They match the architectural specification. */
-#define MTRR_TYPE_UNCACHABLE 0
-#define MTRR_TYPE_WRCOMB     1
-#define MTRR_TYPE_WRTHROUGH  4
-#define MTRR_TYPE_WRPROT     5
-#define MTRR_TYPE_WRBACK     6
 #define MTRR_NUM_TYPES       7
 #define MEMORY_NUM_TYPES     MTRR_NUM_TYPES
 #define NO_HARDCODE_MEM_TYPE    MTRR_NUM_TYPES
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index b73133f73756e532377eaf71a68ba3de725258b9..aa7a3287c46ace715106385151e1834b3cd64508 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -506,7 +506,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
                                                mfn_x(mfn) | ((1UL << order) - 1)) )
         {
             *ipat = true;
-            return MTRR_TYPE_UNCACHABLE;
+            return X86_MT_UC;
         }
         /* Force invalid memory type so resolve_misconfig() will split it */
         return -1;
@@ -515,7 +515,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
     if ( !mfn_valid(mfn) )
     {
         *ipat = true;
-        return MTRR_TYPE_UNCACHABLE;
+        return X86_MT_UC;
     }
 
     /*
@@ -526,7 +526,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
          !cache_flush_permitted(d) )
     {
         *ipat = true;
-        return MTRR_TYPE_WRBACK;
+        return X86_MT_WB;
     }
 
     for ( special_pgs = i = 0; i < (1ul << order); i++ )
@@ -539,13 +539,13 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
             return -1;
 
         *ipat = true;
-        return MTRR_TYPE_WRBACK;
+        return X86_MT_WB;
     }
 
     switch ( type )
     {
     case p2m_mmio_direct:
-        return MTRR_TYPE_UNCACHABLE;
+        return X86_MT_UC;
 
     case p2m_grant_map_ro:
     case p2m_grant_map_rw:
@@ -563,7 +563,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
          * diverges. See p2m_type_to_flags for the AMD attributes.
          */
         *ipat = true;
-        return MTRR_TYPE_WRBACK;
+        return X86_MT_WB;
 
     default:
         break;
@@ -574,14 +574,14 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
     {
         *ipat = true;
         return gmtrr_mtype != X86_MT_UCM ? gmtrr_mtype
-                                                : MTRR_TYPE_UNCACHABLE;
+                                                : X86_MT_UC;
     }
     if ( gmtrr_mtype == -EADDRNOTAVAIL )
         return -1;
 
     gmtrr_mtype = v ? mtrr_get_type(&v->arch.hvm.mtrr,
                                     gfn_x(gfn) << PAGE_SHIFT, order)
-                    : MTRR_TYPE_WRBACK;
+                    : X86_MT_WB;
     hmtrr_mtype = mtrr_get_type(&mtrr_state, mfn_x(mfn) << PAGE_SHIFT,
                                 order);
     if ( gmtrr_mtype < 0 || hmtrr_mtype < 0 )
@@ -592,14 +592,14 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
         return hmtrr_mtype;
 
     /* If either type is UC, we have to go with that one. */
-    if ( gmtrr_mtype == MTRR_TYPE_UNCACHABLE ||
-         hmtrr_mtype == MTRR_TYPE_UNCACHABLE )
-        return MTRR_TYPE_UNCACHABLE;
+    if ( gmtrr_mtype == X86_MT_UC ||
+         hmtrr_mtype == X86_MT_UC )
+        return X86_MT_UC;
 
     /* If either type is WB, we have to go with the other one. */
-    if ( gmtrr_mtype == MTRR_TYPE_WRBACK )
+    if ( gmtrr_mtype == X86_MT_WB )
         return hmtrr_mtype;
-    if ( hmtrr_mtype == MTRR_TYPE_WRBACK )
+    if ( hmtrr_mtype == X86_MT_WB )
         return gmtrr_mtype;
 
     /*
@@ -610,13 +610,13 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
      * permit this), while WT and WP require writes to go straight to memory
      * (WC can buffer them).
      */
-    if ( (gmtrr_mtype == MTRR_TYPE_WRTHROUGH &&
-          hmtrr_mtype == MTRR_TYPE_WRPROT) ||
-         (gmtrr_mtype == MTRR_TYPE_WRPROT &&
-          hmtrr_mtype == MTRR_TYPE_WRTHROUGH) )
-        return MTRR_TYPE_WRPROT;
+    if ( (gmtrr_mtype == X86_MT_WT &&
+          hmtrr_mtype == X86_MT_WP) ||
+         (gmtrr_mtype == X86_MT_WP &&
+          hmtrr_mtype == X86_MT_WT) )
+        return X86_MT_WP;
 
-    return MTRR_TYPE_UNCACHABLE;
+    return X86_MT_UC;
 }
 
 /*
@@ -1426,12 +1426,12 @@ void ept_p2m_uninit(struct p2m_domain *p2m)
 static const char *memory_type_to_str(unsigned int x)
 {
     static const char memory_types[8][3] = {
-        [MTRR_TYPE_UNCACHABLE]     = "UC",
-        [MTRR_TYPE_WRCOMB]         = "WC",
-        [MTRR_TYPE_WRTHROUGH]      = "WT",
-        [MTRR_TYPE_WRPROT]         = "WP",
-        [MTRR_TYPE_WRBACK]         = "WB",
-        [MTRR_NUM_TYPES]           = "??"
+        [X86_MT_UC]  = "UC",
+        [X86_MT_WC]  = "WC",
+        [X86_MT_WT]  = "WT",
+        [X86_MT_WP]  = "WP",
+        [X86_MT_WB]  = "WB",
+        [X86_MT_UCM] = "??",
     };
 
     ASSERT(x < ARRAY_SIZE(memory_types));
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index b64bba70fc17906236872a017ad48ce91fd30803..f5f7ff021bd9e057c5b6f6329de7acb5ef05d58f 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -570,7 +570,7 @@ _sh_propagate(struct vcpu *v,
                             gflags,
                             gfn_to_paddr(target_gfn),
                             mfn_to_maddr(target_mfn),
-                            MTRR_TYPE_UNCACHABLE);
+                            X86_MT_UC);
                 else if ( iommu_snoop )
                     sflags |= pat_type_2_pte_flags(X86_MT_WB);
                 else
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:35:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461325.719457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DrY-0002OL-Uw; Tue, 13 Dec 2022 22:35:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461325.719457; Tue, 13 Dec 2022 22:35:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DrY-0002OC-R0; Tue, 13 Dec 2022 22:35:00 +0000
Received: by outflank-mailman (input) for mailman id 461325;
 Tue, 13 Dec 2022 22:34:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5DlB-000519-7j
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:25 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74450876-7b35-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:28:24 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 182383200930;
 Tue, 13 Dec 2022 17:28:22 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Tue, 13 Dec 2022 17:28:22 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:20 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74450876-7b35-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970501; x=1671056901; bh=8idr1A+xHVMAGVzfBDTePLErWzDXZf/dFyI
	s0HO6PNc=; b=QuTxrs1uvyS4KS36vWpMNXEbtpjy2kJKRvLsEY8T8Of+N/1YQBG
	jOKunJTThfa7JGPDdsmv6VAQ+05LWJgyEne5f5MCLmlNH32f+9Sxu4YWCFFekkbY
	V8CbqDjMYYgG7kK21+ON6Jgx0+nUkaaKsjteMlwNWBkV/isYBvXIWcRakqNacj78
	jMvc0u63uYsOxoL992JfUULh/H2G4iLpsOFTj3lCW85vsbb+kFa8qAt4DTZ3R4UQ
	ShfGtUAmBfT6eVI4APlUmrsjWymBTpUT/bFvsHNPD/XK3W8g/H8alzZZHy3s0g/m
	PqzH/RGxnTXAJo2vzqBfH6KVIe2ZBx16Zig==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970501; x=1671056901; bh=8idr1A+xHVMAG
	VzfBDTePLErWzDXZf/dFyIs0HO6PNc=; b=srH4yGGDBdwF7hydCmyD/ZZZ9vbDD
	smjDPyLYUK9gY6i0+h+QtcL+a9EbAOwfcfaWTmu3FtYfiX8Jwv7ICx6AWf1ENqFu
	XMSd2qILcUH7T/92oQ/5OdJqozfhbF+j5qz1+nR6T6uCxDo4aFZH06kv+Bm3XVS0
	2IGoayeYQrO7ba3iHa6H5rIJwBCqaITkLO5skvWys3HZlTbX90XYFjB4z9ucpIaV
	NE+0KqW+y4+X0/Ikbk2DyNtiF32XhL0rT+mRla49c2hcx98Zy87hO+oPE4bLMCSB
	zirLpU1E4/t3tyQMScb95HH9hqw+81kWW506jl+NIZlPMtJ4uWvKcsilg==
X-ME-Sender: <xms:hfyYY4Yllys_NhzSknSXQTZRh5NT_01X0FIc7BTQ2wM8IhjetGYmlQ>
    <xme:hfyYYzZ6j262y8uaTJqWpCIcZrE9zhcp2xR2DRP3NgkJztyyyE_Ahh23Vu9zu3EzH
    uVJS4YLsLem7UQ>
X-ME-Received: <xmr:hfyYYy_lC3Cki-OvIjz2CLVq8JM_xC8JdVPZSL7cQlps8gjUPJZALqaZOSi4InSeahQBbMCVl40e>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedvnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:hfyYYyo7MLMIRtxn1Mky2kIF_AtsRc6LLWLvnZxyHJeGTD4vw0XkZQ>
    <xmx:hfyYYzqxrNMX7dQbk1sDgLaTs9fKr2A-3kmZkVdi2_ymfWwOh2yQNQ>
    <xmx:hfyYYwQuIHYgvWdjlQ3cfxgLx0UxM2yWH6UuX8rE9UAxCkYKp3L8dg>
    <xmx:hfyYY3d3yjvG29xd-nx5wW9xwEP3SzdjT0cEOymcrvDorDW5MHM-HA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 06/14] x86: Add memory type constants
Date: Tue, 13 Dec 2022 17:26:47 -0500
Message-Id: <d01afab33bcf551f96f5650c37c51a567c43ad4d.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

These are not currently used, so there is no functional change.  Future
patches will use these constants.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/include/asm/x86-defns.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
index 28628807cb9897cf6fa8e266f71f5f220813984d..d7c6c986a556e62e1e7a57e9e3ef50e89de3f0ab 100644
--- a/xen/arch/x86/include/asm/x86-defns.h
+++ b/xen/arch/x86/include/asm/x86-defns.h
@@ -153,4 +153,17 @@
      (1u << X86_EXC_AC) | (1u << X86_EXC_CP) |                      \
      (1u << X86_EXC_VC) | (1u << X86_EXC_SX))
 
+/* Memory types */
+#define X86_MT_UC  _AC(0x00, ULL) /* uncachable */
+#define X86_MT_WC  _AC(0x01, ULL) /* write-combined */
+#define X86_MT_WT  _AC(0x04, ULL) /* write-through */
+#define X86_MT_WP  _AC(0x05, ULL) /* write-protect */
+#define X86_MT_WB  _AC(0x06, ULL) /* write-back */
+#define X86_MT_UCM _AC(0x07, ULL) /* UC- */
+#define X86_NUM_MT _AC(0x08, ULL)
+
+/* Reserved memory types (cannot be used) */
+#define X86_MT_RESERVED_1 _AC(0x02, ULL)
+#define X86_MT_RESERVED_2 _AC(0x03, ULL)
+
 #endif	/* __XEN_X86_DEFNS_H__ */
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:35:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461326.719462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DrZ-0002Ro-In; Tue, 13 Dec 2022 22:35:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461326.719462; Tue, 13 Dec 2022 22:35:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5DrZ-0002R1-7V; Tue, 13 Dec 2022 22:35:01 +0000
Received: by outflank-mailman (input) for mailman id 461326;
 Tue, 13 Dec 2022 22:35:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5DlZ-000519-7b
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:49 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 801302a3-7b35-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:28:44 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id DA1D632003C0;
 Tue, 13 Dec 2022 17:28:41 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Tue, 13 Dec 2022 17:28:42 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:40 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 801302a3-7b35-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970521; x=1671056921; bh=8HdS0C58v8DuAAjtm9L8m2ErkGOALkKTDMX
	7IVJUtxs=; b=S30AQL7dUfbtlTLCTrnRuFnxnLwBF+hn36Q3hcYO1K8kOIgaLwE
	ILodrs8Ian63UsR+T4AxLieROYUeXT3Et20zVW1QV3KtrqjnJJoCshgxKlDntzXR
	U6SuA9McQgDcoWzWwEZ5xtkaF5/gNFtcBXYSwdJWSpO7zBHS+Ne5BwNovFWEdgd2
	wTWXSZmntJFVIN/IlH90oqqo+U1k79ZTOoQOrueWx2DnKLN/cGwGwWfBxlVG+8Ly
	5gXWPVFHojO4OOGGpYuhvAyXPus2thmhkvjE0ZYaLcDyjC06NKQaEyyKK9jC31hA
	U2k4kQRlX5PWRZMzOXRxBNZQdWl0Hc8a6PQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970521; x=1671056921; bh=8HdS0C58v8DuA
	Ajtm9L8m2ErkGOALkKTDMX7IVJUtxs=; b=CJxMiNqL4XcEP2145xxcTGheInBJe
	la+CSDcvrq0jW1MqSzr6+/uGW/JBJbok6P81/p51nPebGkmYFKTyltzh+ps2Bzj4
	dqtTPKsb8Zxbl3LrV9zxLEAaNNIlUtOUVFFWMGuPMyaM1uRo27SE1NDuo0dXt9T3
	A+YlrtsxndUy9e19mSfjnJkuZsrHJhdnA7VwCl3c/iTUXkVeCsfEWWIqUWKEATH1
	/kN9PrMLG7dZH889mTDTobXJIhtyC8DrbHa3/CORxiY5J2jLgK2e9fWdgzIH3DIM
	Yq5d8qWTOEorp9LOIH7bJ/Fnq2OPimK6No1FwV7bB9E8KDGuRCKd12c9w==
X-ME-Sender: <xms:mfyYY3pb6etj9i3ileDveu5a9ClpoVbNQtRKL2SZOMFDjPk_K3V1Zg>
    <xme:mfyYYxqr-YK7KkYpVQ3QWEVFgOjoQcGGMPE6ppc7JKEZcOAoqxM3hJ99ockJOa8C0
    1SI89ApW7hk3MA>
X-ME-Received: <xmr:mfyYY0OOX1MEzehy9E4UlZLIny-x-6MRBiIt3hHUERJfwYmD-OyvI_9tQMmcKeh0_s1qREZXobPl>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpeegnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:mfyYY64wJ96Qm_F77q0ZSGfecanBFo0GMCRHva8_ucL4bcLk62lHpw>
    <xmx:mfyYY27SF81WlHIeE9L4ndlc7tIcqE0dDZe4Os2iBcPz0mRkNDO-KA>
    <xmx:mfyYYygJgpyI8wyzGSWAl3j7DnU1SDx7xVJdb8UNfemWeOzJ-AXCpw>
    <xmx:mfyYY4uNariMkcU6t_vc2dyHGBv5Hr7B5WKI0F6vvOd5aLkIw5rGIw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 14/14] x86: Use Linux's PAT
Date: Tue, 13 Dec 2022 17:26:55 -0500
Message-Id: <d3516b2ae70a63a44d3655135f6d36b04511a901.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is purely for testing, to see if it works around a bug in i915.  It
is not intended to be merged.

NOT-signed-off-by: DO NOT MERGE
---
 xen/arch/x86/include/asm/page.h      |  4 ++--
 xen/arch/x86/include/asm/processor.h | 13 +++++--------
 xen/arch/x86/mm.c                    |  2 --
 3 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/include/asm/page.h b/xen/arch/x86/include/asm/page.h
index b585235d064a567082582c8e92a4e8283fd949ca..ab9b46f1d0901e50a83fd035ff28d1bda0b781a2 100644
--- a/xen/arch/x86/include/asm/page.h
+++ b/xen/arch/x86/include/asm/page.h
@@ -333,11 +333,11 @@ void efi_update_l4_pgtable(unsigned int l4idx, l4_pgentry_t);
 
 /* Memory types, encoded under Xen's choice of MSR_PAT. */
 #define _PAGE_WB         (                                0)
-#define _PAGE_WT         (                        _PAGE_PWT)
+#define _PAGE_WC         (                        _PAGE_PWT)
 #define _PAGE_UCM        (            _PAGE_PCD            )
 #define _PAGE_UC         (            _PAGE_PCD | _PAGE_PWT)
-#define _PAGE_WC         (_PAGE_PAT                        )
 #define _PAGE_WP         (_PAGE_PAT |             _PAGE_PWT)
+#define _PAGE_WT         (_PAGE_PAT | _PAGE_PCD | _PAGE_PWT)
 
 /*
  * Debug option: Ensure that granted mappings are not implicitly unmapped.
diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 9535b1f7f49d75e6853365e6109a33359c740f4f..04e9674ea76ce11a2ac00fb7457f3ce97db24d70 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -92,18 +92,15 @@
                           X86_EFLAGS_NT|X86_EFLAGS_DF|X86_EFLAGS_IF|    \
                           X86_EFLAGS_TF)
 
-/*
- * Host IA32_CR_PAT value to cover all memory types.  This is not the default
- * MSR_PAT value, and is an ABI with PV guests.
- */
+/* Linux PAT, required by i915 driver */
 #define XEN_MSR_PAT (X86_MT_WB  << 0x00 | \
-                     X86_MT_WT  << 0x08 | \
+                     X86_MT_WC  << 0x08 | \
                      X86_MT_UCM << 0x10 | \
                      X86_MT_UC  << 0x18 | \
-                     X86_MT_WC  << 0x20 | \
+                     X86_MT_WB  << 0x20 | \
                      X86_MT_WP  << 0x28 | \
-                     X86_MT_UC  << 0x30 | \
-                     X86_MT_UC  << 0x38 | \
+                     X86_MT_UCM << 0x30 | \
+                     X86_MT_WT  << 0x38 | \
                      0)
 
 #ifndef __ASSEMBLY__
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index a199bb05031e0fb1ea4c25ef1d641afe71690d74..b844ff441d8ddd371bc69f4e43c796d03638cbb3 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6382,8 +6382,6 @@ static void __init __maybe_unused build_assertions(void)
 {
     /* A bunch of static assertions to check that the XEN_MSR_PAT is valid
      * and consistent with the _PAGE_* macros */
-    BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL &&
-                 "wrong XEN_MSR_PAT breaks PV guests");
     BUILD_BUG_ON(_PAGE_WB && "Linux requires _PAGE_WB to be 0");
 #define PAT_VALUE(v) (0xFF & (XEN_MSR_PAT >> (8 * (v))))
 #define BAD_VALUE(v) ((v) < 0 || (v) > 7 ||                                    \
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:35:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:35:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461335.719479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Drd-00037h-3q; Tue, 13 Dec 2022 22:35:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461335.719479; Tue, 13 Dec 2022 22:35:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Drc-00037L-UE; Tue, 13 Dec 2022 22:35:04 +0000
Received: by outflank-mailman (input) for mailman id 461335;
 Tue, 13 Dec 2022 22:35:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5DlS-0006J3-Iw
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:42 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7ea652c5-7b35-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 23:28:41 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 7799932004ED;
 Tue, 13 Dec 2022 17:28:39 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Tue, 13 Dec 2022 17:28:40 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:38 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ea652c5-7b35-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970519; x=1671056919; bh=uEembJaSpvhKFJgq6aTBN99RsIDXzs5dpLn
	+PB+Vf9A=; b=T0yB9rdh+oj38XfHbSshYV0Xuk4qpUte4IeZnTlZ44CXPt5WYIJ
	wnyPIklPvN0/fpm+GSlLKT6xIcZIU3aTDAUzmK4onNRoQ6F1rjf808EfT4wZOMNV
	9RdY+/8xz3FHwTg+qLJGhVYVpFX7NcYlbFV9DooQKlL+aJhOvickAadkC2Jvfexr
	HqRoEWxO579efanUj2cEG5VEmQyxiSJi8/qgQqlwfSNxdIlab+ArZSB+vEW8YsqH
	jccH2obpY8A92awuF8njhH3DgKvTVsgX/iYbhAFFR+h3qn6k8dRskT6+M6qFGKmb
	87/WLyB3yfiKdxy/BsWaCdLfP5AYwzl+g/g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970519; x=1671056919; bh=uEembJaSpvhKF
	Jgq6aTBN99RsIDXzs5dpLn+PB+Vf9A=; b=ctbCsqrBVPwIO6qNOVXZD+3goF47S
	YFngIgpWexAn8fTaX1C04gC2b3sOjyZGdMIm9/F5B5mWB5ftkJ3fwd5GRyDYPf2F
	hLbwRZBOjjv5bELZe2AQ5XB6PO3m92TaFaoheNjzudM78hCTclsv3TXb7NF+lWNJ
	IF/jlPDPCvE3r99ZfPF5Q/R7tdR08poMGqy+kT3tmiktz++dzK3IjI4Uw6N0zIKh
	otqKpKWuDpWHr586bIgJtdIggpUaGn2ytYTAwhZDJGJ+ISa+JM557BybqGorXoYe
	qwhZ5sTo2Gawgmrtz4zaPbJY4PSvFAS0TUicJQ8oQcxJNcA8IVbQEJPwQ==
X-ME-Sender: <xms:lvyYY2sw08RdaOpn2qPbxOcQuR9_ARziaf36VsAOKxnwJyd_7H4mPg>
    <xme:lvyYY7fbBUC48QqmtxVUQNtJUYEd4DAPJYUo37emqQQU_so9TbPFGxwWI_WggdA3n
    hFF-ehjTzD1jB8>
X-ME-Received: <xmr:lvyYYxxP-btMTqOziIXDQyQM1vH9NgH36Na-uNHsLjE4AC_AOZvtGUQlwvuoymceikajA3-x3KsJ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekkecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:lvyYYxND7YAHEt58FcybTb2Ai5OZz5xBpiQlIZRryueUMtnz43twzg>
    <xmx:lvyYY29lEJu1vVqUWw61GbJRZRPffx4MG6tc1if9VVIcmKBBBooKTg>
    <xmx:lvyYY5WGVwZWUlRhuRDoApQYgA7xrFHO3nzTfnwz42DWQ-tDt-t3eg>
    <xmx:l_yYY6Q2Sj1OByAMMl_tXXuVYmxH2HRoBv9RwRCoOnI4zT_F4FJ50g>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 13/14] x86/mm: Reject invalid cacheability in PV guests by default
Date: Tue, 13 Dec 2022 17:26:54 -0500
Message-Id: <c4e78a3f07b20c0c0a1c1c2ef222448a5f938fa5.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Setting cacheability flags that are not ones specified by Xen is a bug
in the guest.  By default, inject #GP into any guest that does this.
allow_invalid_cacheability can be used on the Xen command line to
disable this check.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm.c | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 7fb1a0f91910952640378f316a68096a08895b37..a199bb05031e0fb1ea4c25ef1d641afe71690d74 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -145,6 +145,8 @@
 
 #ifdef CONFIG_PV
 #include "pv/mm.h"
+bool allow_invalid_cacheability;
+boolean_param("allow_invalid_cacheability", allow_invalid_cacheability);
 #endif
 
 /* Override macros from asm/page.h to make them work with mfn_t */
@@ -1346,7 +1348,28 @@ static int promote_l1_table(struct page_info *page)
         }
         else
         {
-            switch ( ret = get_page_from_l1e(pl1e[i], d, d) )
+            l1_pgentry_t l1e = pl1e[i];
+
+            BUILD_BUG_ON(PAGE_CACHE_ATTRS > 0xffff);
+            if ( !allow_invalid_cacheability )
+            {
+                switch ( l1e.l1 & PAGE_CACHE_ATTRS )
+                {
+                case _PAGE_WB:
+                case _PAGE_UC:
+                case _PAGE_UCM:
+                case _PAGE_WC:
+                case _PAGE_WT:
+                case _PAGE_WP:
+                    break;
+                default:
+                    pv_inject_hw_exception(TRAP_gp_fault, 0);
+                    ret = -EINVAL;
+                    goto fail;
+                }
+            }
+
+            switch ( ret = get_page_from_l1e(l1e, d, d) )
             {
             default:
                 goto fail;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:35:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:35:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461336.719484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Drd-0003Aj-K9; Tue, 13 Dec 2022 22:35:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461336.719484; Tue, 13 Dec 2022 22:35:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Drd-00039t-A4; Tue, 13 Dec 2022 22:35:05 +0000
Received: by outflank-mailman (input) for mailman id 461336;
 Tue, 13 Dec 2022 22:35:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5DlV-000519-6e
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:45 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d4213f6-7b35-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:28:39 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 2BA8332007F0;
 Tue, 13 Dec 2022 17:28:37 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Tue, 13 Dec 2022 17:28:37 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:35 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d4213f6-7b35-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970516; x=1671056916; bh=SYVIhlygQCbQDxRM0Jvhm4RPjrLE8QTHJIb
	nQIRdaN4=; b=mzKKWnLkNm/PJhMQoe6dTzWBW4NWkUeoYBsHPHgcgVp0az7eqYy
	hBY2k+F5mda6NIiP4DfsRsVZf1aJbdrWLrUDmdRK3f6N1+t3U+AQM6GMZBLAywTf
	sOCmZfEjbMWj+MxP82b70JaLJ1+xACf0jpePW2rhpWej46KyYEiTfBxbUYYRK0J5
	3HuBjdY/uBPy2WaBIGsmDrFdNJSNzqKVosnkFH7VTaLesumIXxNm3HPMjLDVvecT
	w3uaRvZ8D16DpQ2zhCQvRzwdldXISO0vnE9/GX1X3oKPZvWISjuKpVX2JooAbFOj
	fvKLuSix0lpP1kYshKD6EWQKzLVnHXu250A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970516; x=1671056916; bh=SYVIhlygQCbQD
	xRM0Jvhm4RPjrLE8QTHJIbnQIRdaN4=; b=BxXIrc3t8f2Y4hjzdwY0vjzjCeZom
	gLeTSxLS1MTo+sJLqWkdKb33TqAkl00NYyoCMtwpQnAd3o3TLdv95SUXzltasECv
	+umqZfPlm/L3fY9CEjLySxsd3oqzCGDsQgCJZzIITvaLbuMPp7yzp9wEHowQ/Gbc
	alI1Iah7KTdTgT6BeEvK8bZYYkyl3b54UE87jJ7RFlvg6HHLr+qgTVcbwp9GyuIO
	Z+KCCfrMVoBiJFykPcymM2uVVnY8AR3T2Zit3ByjQkE9i9OHGPV9CjZzQvwMsHVx
	30q/6LpA+Cr6TZXJOPFJGQjLEL+A4vPx1Zcyw9CsEkFzw17CGFsfR2EnQ==
X-ME-Sender: <xms:lPyYY04rooUitHEjHk5XgyzNEz5icIMQXLC5ih4VJTJ8rCHLSiNNyg>
    <xme:lPyYY16g0nBTUxI6WDHPMjtH6e8SoaOSA5-oa6s3YjLMWkq7FtOa4eiUgT24JNrfe
    gv09pmntJmAmBU>
X-ME-Received: <xmr:lPyYYzcUy5fKQ5XMGWyIoABEnnWFHfDJct0gttdSwJ5xpHfwVD8OtVhXXBnZhsZHRZ0ND5qSSBnO>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpeefnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:lPyYY5JxOK_r3WFcQzjUebjAPqidJ8xjsDe4hhJz9Ek70EicyZmBUg>
    <xmx:lPyYY4JL7dun01lpPavJWK68Q1eHdZEyNUSWmYldSE_BD7aKk31VAg>
    <xmx:lPyYY6yOnq6TxawM15V4_49Q7Ai-Z_BNNhC8DRIe2o2kRbJmVCFmGQ>
    <xmx:lPyYY394UyFd0x99MvyHF8l82VApJPFgrVSp1YKTlxwHa4XhTO-veg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 12/14] x86/mm: make code robust to future PAT changes
Date: Tue, 13 Dec 2022 17:26:53 -0500
Message-Id: <7d62227e2b25909afed8b489819a12e24bf27024.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It may be desirable to change Xen's PAT for various reasons.  This
requires changes to several _PAGE_* macros as well.  Add static
assertions to check that XEN_MSR_PAT is consistent with the _PAGE_*
macros, and that _PAGE_WB is 0 as required by Linux.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index a8def47aa3bf9770576c62a190032d45d63dd86e..7fb1a0f91910952640378f316a68096a08895b37 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6357,8 +6357,44 @@ unsigned long get_upper_mfn_bound(void)
 
 static void __init __maybe_unused build_assertions(void)
 {
+    /* A bunch of static assertions to check that the XEN_MSR_PAT is valid
+     * and consistent with the _PAGE_* macros */
     BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL &&
                  "wrong XEN_MSR_PAT breaks PV guests");
+    BUILD_BUG_ON(_PAGE_WB && "Linux requires _PAGE_WB to be 0");
+#define PAT_VALUE(v) (0xFF & (XEN_MSR_PAT >> (8 * (v))))
+#define BAD_VALUE(v) ((v) < 0 || (v) > 7 ||                                    \
+                      (v) == X86_MT_RESERVED_1 || (v) == X86_MT_RESERVED_2)
+#define BAD_PAT_VALUE(v) BUILD_BUG_ON(BAD_VALUE(PAT_VALUE(v)))
+    BAD_PAT_VALUE(0);
+    BAD_PAT_VALUE(1);
+    BAD_PAT_VALUE(2);
+    BAD_PAT_VALUE(3);
+    BAD_PAT_VALUE(4);
+    BAD_PAT_VALUE(5);
+    BAD_PAT_VALUE(6);
+    BAD_PAT_VALUE(7);
+#undef BAD_PAT_VALUE
+#undef BAD_VALUE
+#define PAT_SHIFT(page_value) (((page_value) & _PAGE_PAT) >> 5 |               \
+                               ((page_value) & (_PAGE_PCD | _PAGE_PWT)) >> 3)
+#define CHECK_PAGE_VALUE(page_value) do {                                      \
+    /* Check that the _PAGE_* macros only use bits from PAGE_CACHE_ATTRS */    \
+    BUILD_BUG_ON(((_PAGE_##page_value) & PAGE_CACHE_ATTRS) !=                  \
+                  (_PAGE_##page_value));                                       \
+    /* Check that the _PAGE_* are consistent with XEN_MSR_PAT */               \
+    BUILD_BUG_ON(PAT_VALUE(PAT_SHIFT(_PAGE_##page_value)) !=                   \
+                 (X86_MT_##page_value));                                       \
+} while (0)
+    CHECK_PAGE_VALUE(WT);
+    CHECK_PAGE_VALUE(WB);
+    CHECK_PAGE_VALUE(WC);
+    CHECK_PAGE_VALUE(UC);
+    CHECK_PAGE_VALUE(UCM);
+    CHECK_PAGE_VALUE(WP);
+#undef CHECK_PAGE_VALUE
+#undef PAT_SHIFT
+#undef PAT_VALUE
 }
 
 /*
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:35:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:35:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461345.719501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Drh-0003uB-Rm; Tue, 13 Dec 2022 22:35:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461345.719501; Tue, 13 Dec 2022 22:35:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Drh-0003tu-OQ; Tue, 13 Dec 2022 22:35:09 +0000
Received: by outflank-mailman (input) for mailman id 461345;
 Tue, 13 Dec 2022 22:35:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5DlR-000519-FP
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:28:41 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b930665-7b35-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:28:36 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 557AB3200921;
 Tue, 13 Dec 2022 17:28:34 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Tue, 13 Dec 2022 17:28:35 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 17:28:33 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b930665-7b35-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1670970513; x=1671056913; bh=87eKmhvdtfrb1isW/t1MA2+ANFEQ1h0ZL33
	QPdjF+bA=; b=fYrqb9W2l1VBOPO7O/EYfNHg2sWG4WZjnXiC8OjDVfOyhUDsfEt
	fN5l+sGSUm8QtFmkNI4YmCQnBoUjSlVM6rMcgqFrodehqliYuvWtVU/69SywlDpm
	F0TdFWgaqtsIYaBy1gnFwRvJfbKSic94fvtZJR9AXuWITbpNvWdeRIuZ/G8KAQx0
	tCCRaXuD2uxQzeYR9xHzi8ob1sIOiSpdqJDrDgc1F7os5oJoP2L+s8jP9cRPloOn
	ktDdFd7BtL2HNlWumoJ/6gs1C/1jhFImHhrCjZ1ww6XT67lDsBTUxRGZTYVz/PXo
	9F3AW+pNxME+KHW2P+VATIuLeKuD5e2dbmA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1670970513; x=1671056913; bh=87eKmhvdtfrb1
	isW/t1MA2+ANFEQ1h0ZL33QPdjF+bA=; b=A/uzdRVFDMh5HMBL1S7CcRd1MBWHG
	TjXVc3RF4uxPS/IoBphNrHjwXXXGSyCiomLvO4F6/+h0dLZgNxCYhhbH2j7wTD3Q
	9n8ALMFaRcguqg6CY7mL0u1znXzpbN7ZMRMMgZeuwCvfsdDiC/1Szb7SYmz23PSW
	kDXrkVDOlXQq0ZCOyvZVZv9PcwlqUbVAojPNf19V6dF5QQWv3sq0dQvGZj533qUs
	/uDXLg14AmMNM8a/NGDgpcWSmbaNPcxbcJAaizrtRXOPsH8C0Xdy9dfMyzRRBc3L
	3MvWGKA8dCLAO1GeE3piU2tdZwZY6x3wTHnRAmBonykqhdl1uG+xXlzUw==
X-ME-Sender: <xms:kfyYY_thb4-ia1XXJcA3n4gGixQzXW6R0IMwa2cAZhubN4A2U4rFTg>
    <xme:kfyYYwdWzmnWkRm2B1yUyEi2quHHS7RTn4uWj73pwm9FFuAOouxpeeW3I5okiyfUs
    li9d0Rq01VdQ4E>
X-ME-Received: <xmr:kfyYYyxD-cVrEhALXwSHya8aYfN2f6yFxc9dbGVffuUrw16NwELoSGzePCN22cE0WOFXNoLj5MYI>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedugdekjecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:kfyYY-ON7pYTUNkLiKqHpfxeuyFiRVR6Kmh5YZuhnsI9lJ0f_YAMdQ>
    <xmx:kfyYY_8flHq3sSArv9D3gttrni7qffGVE5HHyV18qGdM7DragJbHSg>
    <xmx:kfyYY-VVy2cbEvbQ_9qH_eTculd9X4v0Hu4dS4j64MpRUP5M1-PfFA>
    <xmx:kfyYY7ROb14R3CfYCzBdBtSxlwwPHN0Euf5dM-X2---43f24-1fNjQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 11/14] x86: Derive XEN_MSR_PAT from its individual entries
Date: Tue, 13 Dec 2022 17:26:52 -0500
Message-Id: <5088d6bada42380948bcee333a3b347307888b17.1670948141.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This avoids it being a magic constant that is difficult for humans to
decode.  Use BUILD_BUG_ON to check that the old and new values are
identical.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/include/asm/processor.h | 10 +++++++++-
 xen/arch/x86/mm.c                    |  6 ++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 8e2816fae9b97bd4e153a30cc3802971fe0355af..9535b1f7f49d75e6853365e6109a33359c740f4f 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -96,7 +96,15 @@
  * Host IA32_CR_PAT value to cover all memory types.  This is not the default
  * MSR_PAT value, and is an ABI with PV guests.
  */
-#define XEN_MSR_PAT _AC(0x050100070406, ULL)
+#define XEN_MSR_PAT (X86_MT_WB  << 0x00 | \
+                     X86_MT_WT  << 0x08 | \
+                     X86_MT_UCM << 0x10 | \
+                     X86_MT_UC  << 0x18 | \
+                     X86_MT_WC  << 0x20 | \
+                     X86_MT_WP  << 0x28 | \
+                     X86_MT_UC  << 0x30 | \
+                     X86_MT_UC  << 0x38 | \
+                     0)
 
 #ifndef __ASSEMBLY__
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index b73cb29327ba49703673886d09d79f2f8928a6c0..a8def47aa3bf9770576c62a190032d45d63dd86e 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6355,6 +6355,12 @@ unsigned long get_upper_mfn_bound(void)
     return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1;
 }
 
+static void __init __maybe_unused build_assertions(void)
+{
+    BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL &&
+                 "wrong XEN_MSR_PAT breaks PV guests");
+}
+
 /*
  * Local variables:
  * mode: C
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 22:57:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 22:57:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461445.719529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ECx-0001G5-6D; Tue, 13 Dec 2022 22:57:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461445.719529; Tue, 13 Dec 2022 22:57:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ECx-0001Fh-1w; Tue, 13 Dec 2022 22:57:07 +0000
Received: by outflank-mailman (input) for mailman id 461445;
 Tue, 13 Dec 2022 22:57:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TuKI=4L=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p5ECw-0001Ds-2L
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 22:57:06 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 762f9b1b-7b39-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 23:57:04 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id C3D46B81240;
 Tue, 13 Dec 2022 22:57:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 74DD5C433D2;
 Tue, 13 Dec 2022 22:57:01 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 762f9b1b-7b39-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670972222;
	bh=RZF7YxK9C6fEgXEoXwg7SW0/uTk3r5OCdO1nma8FaRI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ES+3TkobSpNzhjHnBM8KzrgGtuhffCyh57yLxEo2Pi8UxcR6tgUg9BkR7ssaD2cgo
	 k39CvC9aDA80c383xiW4VoTXd8RqL58gwu5Qz2cpuTU6EBXw7oa3JzgquwWKugGrT7
	 9MJRBdCv9hsufdZGBpEdJAdW8YTyLWwPSyqM0EEvmn8d/3VBh9Xn4+6DH3OmJ0qlVX
	 JSXZiafmwR/2lvArmMNyYtfvzxAwhXc86kwEkPhr8+I3UqWG2Tdv1rz3XKH5L4B3HU
	 0mO0xZG1TDB7C+zeiRxkKe12MeA2as3G89rTw1aTKh6ko4ktTUfCg+4C1bwoXwgXYd
	 x1U9t3Kgp+5Nw==
Date: Tue, 13 Dec 2022 14:56:51 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 18/18] xen/arm64: mm: Rework switch_ttbr()
In-Reply-To: <aa82a916-5c2b-83eb-328d-ac234eabc77c@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212131456450.315094@ubuntu-linux-20-04-desktop>
References: <20221212095523.52683-1-julien@xen.org> <20221212095523.52683-19-julien@xen.org> <alpine.DEB.2.22.394.2212121748560.3075842@ubuntu-linux-20-04-desktop> <aa82a916-5c2b-83eb-328d-ac234eabc77c@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 13 Dec 2022, Julien Grall wrote:
> Hi Stefano,
> 
> On 13/12/2022 02:00, Stefano Stabellini wrote:
> > On Mon, 12 Dec 2022, Julien Grall wrote:
> > > From: Julien Grall <jgrall@amazon.com>
> > > 
> > > At the moment, switch_ttbr() is switching the TTBR whilst the MMU is
> > > still on.
> > > 
> > > Switching TTBR is like replacing existing mappings with new ones. So
> > > we need to follow the break-before-make sequence.
> > > 
> > > In this case, it means the MMU needs to be switched off while the
> > > TTBR is updated. In order to disable the MMU, we need to first
> > > jump to an identity mapping.
> > > 
> > > Rename switch_ttbr() to switch_ttbr_id() and create an helper on
> > > top to temporary map the identity mapping and call switch_ttbr()
> > > via the identity address.
> > > 
> > > switch_ttbr_id() is now reworked to temporarily turn off the MMU
> > > before updating the TTBR.
> > > 
> > > We also need to make sure the helper switch_ttbr() is part of the
> > > identity mapping. So move _end_boot past it.
> > > 
> > > The arm32 code will use a different approach. So this issue is for now
> > > only resolved on arm64.
> > > 
> > > Signed-off-by: Julien Grall <jgrall@amazon.com>
> > 
> > This patch looks overall good to me, aside from the few minor comments
> > below. I would love for someone else, maybe from ARM, reviewing steps
> > 1-6 making sure they are the right sequence.
> > 
> > 
> > > ---
> > > 
> > >      Changes in v2:
> > >          - Remove the arm32 changes. This will be addressed differently
> > >          - Re-instate the instruct cache flush. This is not strictly
> > >            necessary but kept it for safety.
> > >          - Use "dsb ish"  rather than "dsb sy".
> > > 
> > >      TODO:
> > >          * Handle the case where the runtime Xen is loaded at a different
> > >            position for cache coloring. This will be dealt separately.
> > > ---
> > >   xen/arch/arm/arm64/head.S     | 50 +++++++++++++++++++++++------------
> > >   xen/arch/arm/arm64/mm.c       | 39 +++++++++++++++++++++++++++
> > >   xen/arch/arm/include/asm/mm.h |  2 ++
> > >   xen/arch/arm/mm.c             | 14 +++++-----
> > >   4 files changed, 82 insertions(+), 23 deletions(-)
> > > 
> > > diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> > > index 663f5813b12e..1f69864492b6 100644
> > > --- a/xen/arch/arm/arm64/head.S
> > > +++ b/xen/arch/arm/arm64/head.S
> > > @@ -816,30 +816,46 @@ ENDPROC(fail)
> > >    * Switch TTBR
> > >    *
> > >    * x0    ttbr
> > > - *
> > > - * TODO: This code does not comply with break-before-make.
> > >    */
> > > -ENTRY(switch_ttbr)
> > > -        dsb   sy                     /* Ensure the flushes happen before
> > > -                                      * continuing */
> > > -        isb                          /* Ensure synchronization with
> > > previous
> > > -                                      * changes to text */
> > > -        tlbi   alle2                 /* Flush hypervisor TLB */
> > > -        ic     iallu                 /* Flush I-cache */
> > > -        dsb    sy                    /* Ensure completion of TLB flush */
> > > +ENTRY(switch_ttbr_id)
> > > +        /* 1) Ensure any previous read/write have completed */
> > > +        dsb    ish
> > > +        isb
> > > +
> > > +        /* 2) Turn off MMU */
> > > +        mrs    x1, SCTLR_EL2
> > > +        bic    x1, x1, #SCTLR_Axx_ELx_M
> > 
> > do we need a "dsb   sy" here? we have in enable_mmu
> 
> Hmmm... The explanation of the dsb + isb in enable_mmu makes no sense. The isb
> doesn't flush the I-cache, it just flushes the pipeline.
> 
> For the dsb, I am not convinced it is necessary because we already have the
> 'dsb nsh' above and in any case the barrier seems to be too strong.
> 
> I guess that will be another patch... (probably at a lower priority).
> 
> Now back to your question of the 'dsb' here. There is already a 'dsb ish'
> above. So memory access before turning off the MMU should be completed.
> Also...
> 
> > 
> > 
> > > +        msr    SCTLR_EL2, x1
> > > +        isb
> 
> ... this isb will ensure the completion of SCTLR before the TLBs are flushed
> before. And there should be no memory access (or than instructions here). So I
> don't think the a dsb is needed.
> 
> Would you mind to explain why you think there is one needed?

I am not at all sure whether it is needed or not, I was just noticing
that we have the "dsb sy" in enable_mmu and here we don't.

Thinking about it, the only reason for the additional dsb would be to
make sure that the two operations:

  mrs    x1, SCTLR_EL2
  bic    x1, x1, #SCTLR_Axx_ELx_M

are completed before disabling the MMU:

  msr    SCTLR_EL2, x1

Is that actually a requirement? I don't know.


> > > +
> > > +        /*
> > > +         * 3) Flush the TLBs.
> > > +         * See asm/arm64/flushtlb.h for the explanation of the sequence.
> > > +         */
> > > +        dsb   nshst
> > > +        tlbi  alle2
> > > +        dsb   nsh
> > > +        isb
> > > +
> > > +        /* 4) Update the TTBR */
> > > +        msr   TTBR0_EL2, x0
> > >           isb
> > >   -        msr    TTBR0_EL2, x0
> > > +        /*
> > > +         * 5) Flush I-cache
> > > +         * This should not be necessary but it is kept for safety.
> > > +         */
> > > +        ic     iallu
> > > +        isb
> > >   -        isb                          /* Ensure synchronization with
> > > previous
> > > -                                      * changes to text */
> > > -        tlbi   alle2                 /* Flush hypervisor TLB */
> > > -        ic     iallu                 /* Flush I-cache */
> > > -        dsb    sy                    /* Ensure completion of TLB flush */
> > > +        /* 5) Turn on the MMU */
> > 
> > This should be 6)
> 
> I will update it.
> 
> > 
> > 
> > > +        mrs   x1, SCTLR_EL2
> > > +        orr   x1, x1, #SCTLR_Axx_ELx_M  /* Enable MMU */
> > > +        msr   SCTLR_EL2, x1
> > >           isb
> > >             ret
> > > -ENDPROC(switch_ttbr)
> > > +ENDPROC(switch_ttbr_id)
> > >     #ifdef CONFIG_EARLY_PRINTK
> > >   /*
> > > diff --git a/xen/arch/arm/arm64/mm.c b/xen/arch/arm/arm64/mm.c
> > > index 9eaf545ea9dd..2ede4e75ae33 100644
> > > --- a/xen/arch/arm/arm64/mm.c
> > > +++ b/xen/arch/arm/arm64/mm.c
> > > @@ -31,6 +31,15 @@ static void __init prepare_boot_identity_mapping(void)
> > >       lpae_t pte;
> > >       DECLARE_OFFSETS(id_offsets, id_addr);
> > >   +    /*
> > > +     * We will be re-using the boot ID tables. They may not have been
> > > +     * zeroed but they should be unlinked. So it is fine to use
> > > +     * clear_page().
> > > +     */
> > > +    clear_page(boot_first_id);
> > > +    clear_page(boot_second_id);
> > > +    clear_page(boot_third_id);
> > 
> > Could this code be in patch #15?
> 
> Yes, I can't remember why I decided to clear them in patch #18.
> 
> > >       if ( id_offsets[0] != 0 )
> > >           panic("Cannot handled ID mapping above 512GB\n");
> > >   @@ -111,6 +120,36 @@ void update_identity_mapping(bool enable)
> > >       BUG_ON(rc);
> > >   }
> > >   +extern void switch_ttbr_id(uint64_t ttbr);
> > > +
> > > +typedef void (switch_ttbr_fn)(uint64_t ttbr);
> > > +
> > > +void __init switch_ttbr(uint64_t ttbr)
> > > +{
> > > +    vaddr_t id_addr = virt_to_maddr(switch_ttbr_id);
> > > +    switch_ttbr_fn *fn = (switch_ttbr_fn *)id_addr;
> > > +    lpae_t pte;
> > > +
> > > +    /* Enable the identity mapping in the boot page tables */
> > 
> > See below...
> > 
> > > +    update_identity_mapping(true);
> > > +    /* Enable the identity mapping in the runtime page tables */
> > > +    pte = pte_of_xenaddr((vaddr_t)switch_ttbr_id);
> > > +    pte.pt.table = 1;
> > > +    pte.pt.xn = 0;
> > > +    pte.pt.ro = 1;
> > > +    write_pte(&xen_third_id[third_table_offset(id_addr)], pte);
> > > +
> > > +    /* Switch TTBR */
> > > +    fn(ttbr);
> > > +
> > > +    /*
> > > +     * Disable the identity mapping in the runtime page tables.
> > > +     * Note it is not necessary to disable it in the boot page tables
> > > +     * because they are not going to be used by this CPU anymore.
> > > +     */
> > 
> > ...is update_identity_mapping acting on the boot pagetables or the
> > runtime pagetables? The two comments make me think that
> > update_identity_mapping is enabling mapping in the boot pagetables and
> > removing them from the runtime pagetable, which would be strangely
> > inconsistent.
> 
> update_identity_mapping() is acting on the live page-tables (i.e. the one
> pointed by TTBR_EL2).
> 
> Before switch_ttbr(), this will be the boot page-tables. But after, this will
> be the runtime page-tables.
> 
> Would the following comment on top of the declaration of
> update_identity_mapping() clarifies it:
> 
> "Enable/disable the identity mapping in the live page-tables (i.e. the one
> pointed by TTBR_EL2)."

Thank you!


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 23:01:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 23:01:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461456.719540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5EGn-000307-PD; Tue, 13 Dec 2022 23:01:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461456.719540; Tue, 13 Dec 2022 23:01:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5EGn-000300-MJ; Tue, 13 Dec 2022 23:01:05 +0000
Received: by outflank-mailman (input) for mailman id 461456;
 Tue, 13 Dec 2022 23:01:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5EGl-0002zq-JE
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 23:01:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5EGl-00061B-7K; Tue, 13 Dec 2022 23:01:03 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5EGl-0004OQ-0v; Tue, 13 Dec 2022 23:01:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=5iJa+5WTYXSRmeHJJsAJNHl5tiuJAE11GRxeprfRpWQ=; b=DBNinOxF3MBfPShAfXEs5A25c7
	b3UP1SBQlcFHnXzZXWuAUtdcPSrFYusTuoVJMMdmjzP4W8DUiKvs5W3WgsWFJcqHZNgbN3umBn2KD
	Y3JzvfV98j1sxOOuzJT3Oi+7nsXnkMjTwMW6cqq4m5vTgvjWoxt6/zmc2lqqRqNz1D3M=;
Message-ID: <523c5e55-4c34-f67b-1d00-f54b01c609c2@xen.org>
Date: Tue, 13 Dec 2022 23:01:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH v3 18/18] xen/arm64: mm: Rework switch_ttbr()
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 Luca.Fancellu@arm.com, Julien Grall <jgrall@amazon.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-19-julien@xen.org>
 <alpine.DEB.2.22.394.2212121748560.3075842@ubuntu-linux-20-04-desktop>
 <aa82a916-5c2b-83eb-328d-ac234eabc77c@xen.org>
 <alpine.DEB.2.22.394.2212131456450.315094@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2212131456450.315094@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 13/12/2022 22:56, Stefano Stabellini wrote:
> On Tue, 13 Dec 2022, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 13/12/2022 02:00, Stefano Stabellini wrote:
>>> On Mon, 12 Dec 2022, Julien Grall wrote:
>>>> From: Julien Grall <jgrall@amazon.com>
>>>>
>>>> At the moment, switch_ttbr() is switching the TTBR whilst the MMU is
>>>> still on.
>>>>
>>>> Switching TTBR is like replacing existing mappings with new ones. So
>>>> we need to follow the break-before-make sequence.
>>>>
>>>> In this case, it means the MMU needs to be switched off while the
>>>> TTBR is updated. In order to disable the MMU, we need to first
>>>> jump to an identity mapping.
>>>>
>>>> Rename switch_ttbr() to switch_ttbr_id() and create an helper on
>>>> top to temporary map the identity mapping and call switch_ttbr()
>>>> via the identity address.
>>>>
>>>> switch_ttbr_id() is now reworked to temporarily turn off the MMU
>>>> before updating the TTBR.
>>>>
>>>> We also need to make sure the helper switch_ttbr() is part of the
>>>> identity mapping. So move _end_boot past it.
>>>>
>>>> The arm32 code will use a different approach. So this issue is for now
>>>> only resolved on arm64.
>>>>
>>>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>>>
>>> This patch looks overall good to me, aside from the few minor comments
>>> below. I would love for someone else, maybe from ARM, reviewing steps
>>> 1-6 making sure they are the right sequence.
>>>
>>>
>>>> ---
>>>>
>>>>       Changes in v2:
>>>>           - Remove the arm32 changes. This will be addressed differently
>>>>           - Re-instate the instruct cache flush. This is not strictly
>>>>             necessary but kept it for safety.
>>>>           - Use "dsb ish"  rather than "dsb sy".
>>>>
>>>>       TODO:
>>>>           * Handle the case where the runtime Xen is loaded at a different
>>>>             position for cache coloring. This will be dealt separately.
>>>> ---
>>>>    xen/arch/arm/arm64/head.S     | 50 +++++++++++++++++++++++------------
>>>>    xen/arch/arm/arm64/mm.c       | 39 +++++++++++++++++++++++++++
>>>>    xen/arch/arm/include/asm/mm.h |  2 ++
>>>>    xen/arch/arm/mm.c             | 14 +++++-----
>>>>    4 files changed, 82 insertions(+), 23 deletions(-)
>>>>
>>>> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
>>>> index 663f5813b12e..1f69864492b6 100644
>>>> --- a/xen/arch/arm/arm64/head.S
>>>> +++ b/xen/arch/arm/arm64/head.S
>>>> @@ -816,30 +816,46 @@ ENDPROC(fail)
>>>>     * Switch TTBR
>>>>     *
>>>>     * x0    ttbr
>>>> - *
>>>> - * TODO: This code does not comply with break-before-make.
>>>>     */
>>>> -ENTRY(switch_ttbr)
>>>> -        dsb   sy                     /* Ensure the flushes happen before
>>>> -                                      * continuing */
>>>> -        isb                          /* Ensure synchronization with
>>>> previous
>>>> -                                      * changes to text */
>>>> -        tlbi   alle2                 /* Flush hypervisor TLB */
>>>> -        ic     iallu                 /* Flush I-cache */
>>>> -        dsb    sy                    /* Ensure completion of TLB flush */
>>>> +ENTRY(switch_ttbr_id)
>>>> +        /* 1) Ensure any previous read/write have completed */
>>>> +        dsb    ish
>>>> +        isb
>>>> +
>>>> +        /* 2) Turn off MMU */
>>>> +        mrs    x1, SCTLR_EL2
>>>> +        bic    x1, x1, #SCTLR_Axx_ELx_M
>>>
>>> do we need a "dsb   sy" here? we have in enable_mmu
>>
>> Hmmm... The explanation of the dsb + isb in enable_mmu makes no sense. The isb
>> doesn't flush the I-cache, it just flushes the pipeline.
>>
>> For the dsb, I am not convinced it is necessary because we already have the
>> 'dsb nsh' above and in any case the barrier seems to be too strong.
>>
>> I guess that will be another patch... (probably at a lower priority).
>>
>> Now back to your question of the 'dsb' here. There is already a 'dsb ish'
>> above. So memory access before turning off the MMU should be completed.
>> Also...
>>
>>>
>>>
>>>> +        msr    SCTLR_EL2, x1
>>>> +        isb
>>
>> ... this isb will ensure the completion of SCTLR before the TLBs are flushed
>> before. And there should be no memory access (or than instructions here). So I
>> don't think the a dsb is needed.
>>
>> Would you mind to explain why you think there is one needed?
> 
> I am not at all sure whether it is needed or not, I was just noticing
> that we have the "dsb sy" in enable_mmu and here we don't.
> 
> Thinking about it, the only reason for the additional dsb would be to
> make sure that the two operations:
> 
>    mrs    x1, SCTLR_EL2
>    bic    x1, x1, #SCTLR_Axx_ELx_M
> 
> are completed before disabling the MMU:

That's not what a 'dsb' is for. It is used for memory ordering there are 
are no memory access involved here.

If you want the operations to be completed, then this would be an 'isb'. 
Yet, this would not be necessary here as the next instruction cannot be 
re-ordered because of the register dependency.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 23:05:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 23:05:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461463.719551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ELT-0003lS-Bm; Tue, 13 Dec 2022 23:05:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461463.719551; Tue, 13 Dec 2022 23:05:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ELT-0003lL-90; Tue, 13 Dec 2022 23:05:55 +0000
Received: by outflank-mailman (input) for mailman id 461463;
 Tue, 13 Dec 2022 23:05:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5ELS-0003lF-K6
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 23:05:54 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5ELQ-00066D-8M; Tue, 13 Dec 2022 23:05:52 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5ELQ-0004bH-2W; Tue, 13 Dec 2022 23:05:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=0QsfKQ+pjRM5GbdxX0yFfXBfTml6diznF3ClEYq9GmU=; b=mqgPc0Za90mqOTtcBGr1DBdMHX
	lqBwS1/hpfgf/vXRRpHtBBfQvxrdjlJ1LkQi4/ef/oRZ4LcIu3YrSasW06cYjvzeOl0QnltLdsFIZ
	zkyXlR1cxN2FvPqLNZsZJasCyz/SCktO3XEdcBE0Prz9LP7FOWn2HLjbYm9AE1/sCc0Q=;
Message-ID: <901d2088-49e7-634f-f55b-e4ea2e706fed@xen.org>
Date: Tue, 13 Dec 2022 23:05:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 "Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org> <Y5j7KQ9g5Yb/ufn+@itl-email>
From: Julien Grall <julien@xen.org>
In-Reply-To: <Y5j7KQ9g5Yb/ufn+@itl-email>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Demi,

On 13/12/2022 22:22, Demi Marie Obenour wrote:
> On Tue, Dec 13, 2022 at 08:55:28PM +0000, Julien Grall wrote:
>> On 13/12/2022 19:48, Smith, Jackson wrote:
>>> Hi Xen Developers,
>>
>> Hi Jackson,
>>
>> Thanks for sharing the prototype with the community. Some questions/remarks
>> below.
> 
> [snip]
> 
>>> With this technique, we protect the integrity and confidentiality of
>>> guest memory. However, a compromised hypervisor can still read/write
>>> register state during traps, or refuse to schedule a guest, denying
>>> service. We also recognize that because this technique precludes
>>> modifying Xen's page tables after startup, it may not be compatible
>>> with all of Xen's potential use cases. On the other hand, there are
>>> some uses cases (in particular statically defined embedded systems)
>>> where our technique could be adopted with minimal friction.
>>
>>  From what you wrote, this sounds very much like the project Citrix and
>> Amazon worked on called "Secret-free hypervisor" with a twist. In your case,
>> you want to prevent the hypervisor to map/unmap the guest memory.
>>
>> You can find some details in [1]. The code is x86 only, but I don't see any
>> major blocker to port it on arm64.
> 
> Is there any way the secret-free hypervisor code could be upstreamed?
This has been in my todo list for more than year but didn't yet find 
anyone to finish the work.

I need to have a look how much left the original work it is left to do. 
Would you be interested to contribute?

> My understanding is that it would enable guests to use SMT without
> risking the host, which would be amazing.
> 
>>> 	Virtualized MMIO on arm needs to decode certain load/store
>>> 	instructions
>>
>> On Arm, this can be avoided of the guest OS is not using such instruction.
>> In fact they were only added to cater "broken" guest OS.
>>
>> Also, this will probably be a lot more difficult on x86 as, AFAIK, there is
>> no instruction syndrome. So you will need to decode the instruction in order
>> to emulate the access.
> 
> Is requiring the guest to emulate such instructions itself an option?
> μXen, SEV-SNP, and TDX all do this.


I am not very familiar with this. So a few questions:
  * Does this mean the OS needs to be modified?
  * What happen for emulated device?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 23:06:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 23:06:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461464.719561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ELg-00045R-K9; Tue, 13 Dec 2022 23:06:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461464.719561; Tue, 13 Dec 2022 23:06:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ELg-00045K-Ge; Tue, 13 Dec 2022 23:06:08 +0000
Received: by outflank-mailman (input) for mailman id 461464;
 Tue, 13 Dec 2022 23:06:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mJcE=4L=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5ELf-00044C-QY
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 23:06:07 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6f84edd-7b3a-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 00:06:03 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 35419320079B;
 Tue, 13 Dec 2022 18:06:01 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Tue, 13 Dec 2022 18:06:01 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 18:06:00 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6f84edd-7b3a-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:message-id:mime-version:reply-to
	:sender:subject:subject:to:to; s=fm1; t=1670972760; x=
	1671059160; bh=l9in6W1y9JfHnZdCgIaroaKvCryg4beZ3lAXpT8+2CM=; b=T
	QA3mIgoKHz1RzItf4sf2YefE8oDeKJPyJbAjZ15Ot1Lg5FZpQgaIK/jS6JEEN8gy
	xhc6hsx6AcI0Mx85/MCoDD/BGf3/fBwttSzwYSAwAvB76/tcLwMGGI7TsMKAQIh0
	BUJ1pEedljk0vVlzQBkn5rDHgx+cJca4GsUfzB0cVO1hgHmuQqTATQywZxZDixys
	65/dFLTPmsr/rwdzLo/7LAhZVLoCUzAx4id9QiUtIc1vXnm0ocm3silYojCnD847
	fn4q3dIdFIG29MStDvJGGyODeij4dEXQjRBC9P4+Jqj7BAD8Sra/3llry3xiNmRJ
	B/iIZva06EXGLKoQCwEdA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy
	:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=
	1670972760; x=1671059160; bh=l9in6W1y9JfHnZdCgIaroaKvCryg4beZ3lA
	XpT8+2CM=; b=PWiaqJurpSo8d5WZdNQaNvRayLFMrVUnWENi2+f9JRTU/ZW1I0d
	qrsHJMb7PDQ3mVTLDwuNdImkadPM37+spVx/4KIYu0BTi7KBOCGZ746KpSdAJOD4
	dBvZKvQ6zxH9MqbjIkztUoOzZVYZCGNZFjkRWgscPbhvxqWuCqcKuQxpEeky31LZ
	cLwlNMkzhs/wQ9G3+/d66YlgUGsUvoIsNqSJVcH33oJEQ/E8UcnVqH17BT+ef+4a
	Si4KEUsRvI4jHHXrhqmdL86d4MzRhbvj1ePP8us5pCokn08MU5HKTZqOEv3DFRs4
	EgFt4lumSD882mrpiu8YMcCBsmaWLm3v2Sw==
X-ME-Sender: <xms:WAWZYx-ezqaldiSXd5QFDxSjWG7g1UvwpLP6T6HqFKUMSwCIoqlQZA>
    <xme:WAWZY1tJk5ZWWTSXTwjOqmVcxW1tjsCsMIRzB-boO93JBNoUdBBIjqt807N_nTDVR
    -gcv6YWRI3nPW0>
X-ME-Received: <xmr:WAWZY_BV4vHCn2cfsdVUh5qTeAE-DZ5KZ6jcVEzqhnq1HIzpHLhR66EBZTVYZ805EtUibYzZxNn8>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedvgddtfecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffoggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcuofgr
    rhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgshhlrg
    gsrdgtohhmqeenucggtffrrghtthgvrhhnpedvfeegkedvkefgffegkefhieejtdffkeeh
    hfelheefjeeutefgleeggfdtveeileenucevlhhushhtvghrufhiiigvpedtnecurfgrrh
    grmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhlrggs
    rdgtohhm
X-ME-Proxy: <xmx:WAWZY1ejt_TSNWTFos7haUK0ZfbsC7j1wrhZkBOQ98S2RysViY7RyQ>
    <xmx:WAWZY2N6aHEIC9pFzNhRqM6Zmaj64MxDTsHZdnTLv0CPch7M-bDZGQ>
    <xmx:WAWZY3mqm1VpjeMJIy7-v-UA0DitnjLtQDQXG_FbPAbmxqamunCzPw>
    <xmx:WAWZY40iCVoMg43791EA5Epnp8V-bVoJnrqsINEmbBMBo0NGDLXNSA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] efi: Relocate the ESRT when booting via multiboot2
Date: Tue, 13 Dec 2022 18:03:20 -0500
Message-Id: <a7336c832b0276a1bc7692c537cc14f6e70d65a4.1670972544.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This was missed in the initial patchset.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/efi/efi-boot.h |   2 +
 xen/common/efi/boot.c       | 136 ++++++++++++++++++------------------
 2 files changed, 70 insertions(+), 68 deletions(-)

diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index abfc7ab0f31511e2c1ee402a09ac533d260444b2..a9a2991d6462dec9cea695c8b912b72df26bd511 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -825,6 +825,8 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable
     if ( gop )
         efi_set_gop_mode(gop, gop_mode);
 
+    efi_relocate_esrt(SystemTable);
+
     efi_exit_boot(ImageHandle, SystemTable, true);
 }
 
diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index 32ae6b43bb53448421c908819cda552757157c1f..ea5f010df1c5ce40fb67a91fdbfe28f40865252c 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -625,6 +625,74 @@ static size_t __init get_esrt_size(const EFI_MEMORY_DESCRIPTOR *desc)
     return esrt_ptr->FwResourceCount * sizeof(esrt_ptr->Entries[0]);
 }
 
+static EFI_GUID __initdata esrt_guid = EFI_SYSTEM_RESOURCE_TABLE_GUID;
+
+static void __init efi_relocate_esrt(EFI_SYSTEM_TABLE *SystemTable)
+{
+    EFI_STATUS status;
+    UINTN info_size = 0, map_key, mdesc_size;
+    void *memory_map = NULL;
+    UINT32 ver;
+    unsigned int i;
+
+    for ( ; ; )
+    {
+        status = efi_bs->GetMemoryMap(&info_size, memory_map, &map_key,
+                                      &mdesc_size, &ver);
+        if ( status == EFI_SUCCESS && memory_map != NULL )
+            break;
+        if ( status == EFI_BUFFER_TOO_SMALL || memory_map == NULL )
+        {
+            info_size += 8 * mdesc_size;
+            if ( memory_map != NULL )
+                efi_bs->FreePool(memory_map);
+            memory_map = NULL;
+            status = efi_bs->AllocatePool(EfiLoaderData, info_size, &memory_map);
+            if ( status == EFI_SUCCESS )
+                continue;
+            PrintErr(L"Cannot allocate memory to relocate ESRT\r\n");
+        }
+        else
+            PrintErr(L"Cannot obtain memory map to relocate ESRT\r\n");
+        return;
+    }
+
+    /* Try to obtain the ESRT.  Errors are not fatal. */
+    for ( i = 0; i < info_size; i += mdesc_size )
+    {
+        /*
+         * ESRT needs to be moved to memory of type EfiACPIReclaimMemory
+         * so that the memory it is in will not be used for other purposes.
+         */
+        void *new_esrt = NULL;
+        const EFI_MEMORY_DESCRIPTOR *desc = memory_map + i;
+        size_t esrt_size = get_esrt_size(desc);
+
+        if ( !esrt_size )
+            continue;
+        if ( desc->Type == EfiRuntimeServicesData ||
+             desc->Type == EfiACPIReclaimMemory )
+            break; /* ESRT already safe from reuse */
+        status = efi_bs->AllocatePool(EfiACPIReclaimMemory, esrt_size,
+                                      &new_esrt);
+        if ( status == EFI_SUCCESS && new_esrt )
+        {
+            memcpy(new_esrt, (void *)esrt, esrt_size);
+            status = efi_bs->InstallConfigurationTable(&esrt_guid, new_esrt);
+            if ( status != EFI_SUCCESS )
+            {
+                PrintErr(L"Cannot install new ESRT\r\n");
+                efi_bs->FreePool(new_esrt);
+            }
+        }
+        else
+            PrintErr(L"Cannot allocate memory for ESRT\r\n");
+        break;
+    }
+
+    efi_bs->FreePool(memory_map);
+}
+
 /*
  * Include architecture specific implementation here, which references the
  * static globals defined above.
@@ -903,8 +971,6 @@ static UINTN __init efi_find_gop_mode(EFI_GRAPHICS_OUTPUT_PROTOCOL *gop,
     return gop_mode;
 }
 
-static EFI_GUID __initdata esrt_guid = EFI_SYSTEM_RESOURCE_TABLE_GUID;
-
 static void __init efi_tables(void)
 {
     unsigned int i;
@@ -1113,72 +1179,6 @@ static void __init efi_set_gop_mode(EFI_GRAPHICS_OUTPUT_PROTOCOL *gop, UINTN gop
 #define INVALID_VIRTUAL_ADDRESS (0xBAAADUL << \
                                  (EFI_PAGE_SHIFT + BITS_PER_LONG - 32))
 
-static void __init efi_relocate_esrt(EFI_SYSTEM_TABLE *SystemTable)
-{
-    EFI_STATUS status;
-    UINTN info_size = 0, map_key, mdesc_size;
-    void *memory_map = NULL;
-    UINT32 ver;
-    unsigned int i;
-
-    for ( ; ; )
-    {
-        status = efi_bs->GetMemoryMap(&info_size, memory_map, &map_key,
-                                      &mdesc_size, &ver);
-        if ( status == EFI_SUCCESS && memory_map != NULL )
-            break;
-        if ( status == EFI_BUFFER_TOO_SMALL || memory_map == NULL )
-        {
-            info_size += 8 * mdesc_size;
-            if ( memory_map != NULL )
-                efi_bs->FreePool(memory_map);
-            memory_map = NULL;
-            status = efi_bs->AllocatePool(EfiLoaderData, info_size, &memory_map);
-            if ( status == EFI_SUCCESS )
-                continue;
-            PrintErr(L"Cannot allocate memory to relocate ESRT\r\n");
-        }
-        else
-            PrintErr(L"Cannot obtain memory map to relocate ESRT\r\n");
-        return;
-    }
-
-    /* Try to obtain the ESRT.  Errors are not fatal. */
-    for ( i = 0; i < info_size; i += mdesc_size )
-    {
-        /*
-         * ESRT needs to be moved to memory of type EfiACPIReclaimMemory
-         * so that the memory it is in will not be used for other purposes.
-         */
-        void *new_esrt = NULL;
-        const EFI_MEMORY_DESCRIPTOR *desc = memory_map + i;
-        size_t esrt_size = get_esrt_size(desc);
-
-        if ( !esrt_size )
-            continue;
-        if ( desc->Type == EfiRuntimeServicesData ||
-             desc->Type == EfiACPIReclaimMemory )
-            break; /* ESRT already safe from reuse */
-        status = efi_bs->AllocatePool(EfiACPIReclaimMemory, esrt_size,
-                                      &new_esrt);
-        if ( status == EFI_SUCCESS && new_esrt )
-        {
-            memcpy(new_esrt, (void *)esrt, esrt_size);
-            status = efi_bs->InstallConfigurationTable(&esrt_guid, new_esrt);
-            if ( status != EFI_SUCCESS )
-            {
-                PrintErr(L"Cannot install new ESRT\r\n");
-                efi_bs->FreePool(new_esrt);
-            }
-        }
-        else
-            PrintErr(L"Cannot allocate memory for ESRT\r\n");
-        break;
-    }
-
-    efi_bs->FreePool(memory_map);
-}
-
 static void __init efi_exit_boot(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable, bool exit_boot_services)
 {
     EFI_STATUS status;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 23:08:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 23:08:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461480.719573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ENU-0004uB-00; Tue, 13 Dec 2022 23:08:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461480.719573; Tue, 13 Dec 2022 23:07:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ENT-0004u4-TQ; Tue, 13 Dec 2022 23:07:59 +0000
Received: by outflank-mailman (input) for mailman id 461480;
 Tue, 13 Dec 2022 23:07:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5ENS-0004tw-7e
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 23:07:58 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5ENR-00069y-Kf; Tue, 13 Dec 2022 23:07:57 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5ENR-0004iQ-Fa; Tue, 13 Dec 2022 23:07:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=DdR432rU1drkysnE7/E+qi6MeP6q9kiJU/Opxjz1jgE=; b=nwV0m6uWsUzfTHTFMFc7CPHSV8
	SE54i3lMZc6VVmiQH+YhzH9lnQZwCF3WYbt06wf76LyWaUDmy3Oxrle78XJ9LONiZzCAF8sMqp+H/
	grlTRGCsqRrQi2jBmiZXBtL8qzjjSkmdDH7VdtHXmW6U6DqoNaAOIWL2xRyXY+O6il1s=;
Message-ID: <dd6a05d5-5c3d-7a65-9951-b9c0aabadc81@xen.org>
Date: Tue, 13 Dec 2022 23:07:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [RFC 3/4] Add xen superpage splitting support to arm
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 "Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <BN0P110MB1642CCC518921DC7F2BB3BB3CFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <c8f9e15a-81d1-ef8c-0baf-1758e7d89eee@xen.org> <Y5j5/qinMwxizxMc@itl-email>
From: Julien Grall <julien@xen.org>
In-Reply-To: <Y5j5/qinMwxizxMc@itl-email>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Demi,

On 13/12/2022 22:17, Demi Marie Obenour wrote:
> On Tue, Dec 13, 2022 at 09:15:49PM +0000, Julien Grall wrote:
>> Hi,
>>
>> On 13/12/2022 19:54, Smith, Jackson wrote:
>>> Updates xen_pt_update_entry function from xen/arch/arm/mm.c to
>>> automatically split superpages as needed.
>> Your signed-off-by is missing.
>>
>>> ---
>>>    xen/arch/arm/mm.c | 91 +++++++++++++++++++++++++++++++++++++++++++++++--------
>>>    1 file changed, 78 insertions(+), 13 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
>>> index 6301752..91b9c2b 100644
>>> --- a/xen/arch/arm/mm.c
>>> +++ b/xen/arch/arm/mm.c
>>> @@ -753,8 +753,78 @@ static int create_xen_table(lpae_t *entry)
>>>    }
>>>    #define XEN_TABLE_MAP_FAILED 0
>>> -#define XEN_TABLE_SUPER_PAGE 1
>>> -#define XEN_TABLE_NORMAL_PAGE 2
>>> +#define XEN_TABLE_NORMAL_PAGE 1
>>> +
>>> +/* More or less taken from p2m_split_superpage, without the p2m stuff */
>>> +static bool xen_split_superpage(lpae_t *entry, unsigned int level,
>>> +                                unsigned int target, const unsigned int *offsets)
>>> +{
>>> +    struct page_info *page;
>>> +    lpae_t pte, *table;
>>> +    unsigned int i;
>>> +    bool rv = true;
>>> +
>>> +    mfn_t mfn = lpae_get_mfn(*entry);
>>> +    unsigned int next_level = level + 1;
>>> +    unsigned int level_order = XEN_PT_LEVEL_ORDER(next_level);
>>> +
>>> +    ASSERT(level < target);
>>> +    ASSERT(lpae_is_superpage(*entry, level));
>>> +
>>> +    page = alloc_domheap_page(NULL, 0);
>> Page-table may be allocated from the boot allocator. So you want to use
>> create_xen_table().
>>
>>> +    if ( !page )
>>> +        return false;
>>> +
>>> +    table = __map_domain_page(page);
>>
>> You want to use xen_map_table().
>>
>>> +
>>> +    /*
>>> +     * We are either splitting a first level 1G page into 512 second level
>>> +     * 2M pages, or a second level 2M page into 512 third level 4K pages.
>>> +     */
>>> +    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
>>> +    {
>>> +        lpae_t *new_entry = table + i;
>>> +
>>> +        /*
>>> +         * Use the content of the superpage entry and override
>>> +         * the necessary fields. So the correct permission are kept.
>>> +         */
>>> +        pte = *entry;
>>> +        lpae_set_mfn(pte, mfn_add(mfn, i << level_order));
>>> +
>>> +        /*
>>> +         * First and second level pages set walk.table = 0, but third
>>> +         * level entries set walk.table = 1.
>>> +         */
>>> +        pte.walk.table = (next_level == 3);
>>> +
>>> +        write_pte(new_entry, pte);
>>> +    }
>>> +
>>> +    /*
>>> +     * Shatter superpage in the page to the level we want to make the
>>> +     * changes.
>>> +     * This is done outside the loop to avoid checking the offset to
>>> +     * know whether the entry should be shattered for every entry.
>>> +     */
>>> +    if ( next_level != target )
>>> +        rv = xen_split_superpage(table + offsets[next_level],
>>> +                                 level + 1, target, offsets);
>>> +
>>> +    clean_dcache_va_range(table, PAGE_SIZE);
>>
>> Cleaning the cache is not necessary. This is done in the P2M case because it
>> is shared with the IOMMU which may not support coherent access.
>>
>>> +    unmap_domain_page(table);
>>
>> This would be xen_map
>>
>>> +
>>> +    /*
>>> +     * Generate the entry for this new table we created,
>>> +     * and write it back in place of the superpage entry.
>>> +     */
>>
>> I am afraid this is not compliant with the Arm Arm. If you want to update
>> valid entry (e.g. shattering a superpage), then you need to follow the
>> break-before-make sequence. This means that:
>>    1. Replace the valid entry with an entry with an invalid one
>>    2. Flush the TLBs
>>    3. Write the new entry
>>
>> Those steps will make your code compliant but it also means that a virtual
>> address will be temporarily invalid so you could take a fault in the middle
>> of your split if your stack or the table was part of the region. The same
>> could happen for the other running CPUs but this is less problematic as they
>> could spin on the page-table lock.
> 
> Could this be worked around by writing the critical section in
> assembler? 

Everything is feasible. Is this worth it? I don't think so. There are 
way we can avoid the shattering at first by simply not mapping all the RAM.

> The assembler code would never access the stack and would
> run with interrupts disabled.  There could also be BUG() checks for
> attempting to shatter a PTE that was needed to access the PTE in
> question, though I suspect one can work around this with a temporary
> PTE.  That said, shattering large pages requires allocating memory,
> which might fail.  What happens if the allocation does fail?

If this is only done during boot, then I would argue you will want to 
crash Xen.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 13 23:26:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 13 Dec 2022 23:26:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461492.719583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Ef6-0007ec-JA; Tue, 13 Dec 2022 23:26:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461492.719583; Tue, 13 Dec 2022 23:26:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Ef6-0007eV-GT; Tue, 13 Dec 2022 23:26:12 +0000
Received: by outflank-mailman (input) for mailman id 461492;
 Tue, 13 Dec 2022 23:26:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TuKI=4L=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p5Ef4-0007eP-7f
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 23:26:10 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 80be6579-7b3d-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 00:26:02 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id 38CFFCE17D7;
 Tue, 13 Dec 2022 23:25:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 666D0C433EF;
 Tue, 13 Dec 2022 23:25:53 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80be6579-7b3d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1670973954;
	bh=lMgkpAvvIeqtCNhHR71RO8NQNAmGCCAkMZA0LvtIXbk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=c+5Buwe76k3xDq651K2bZTp4SPCsQJ2IP39uvb1VGOYuP6JEIhOZ27nnvk+qkIwHz
	 d/cdmNuRejbXngMl0AfVQzd6Kc9um75bBqivpUJC70w5NTeFbl8ILHA8/R6lbsarj9
	 UvLCNteDz8G8m3OoGIb/tiOOUK+tgq5/OdUcT/Tn9nFad5qNNEQN6If9TTA/T6lpDs
	 mjAQU5XeF3TfP8MLKwsIZ6PNeWTNNeg9OD97J9p/J7JLDKJPQyvmT8gcYLbCPRinb0
	 YpdS44eOgPQLY6LxNdoSKTOdmSPfA+Y719zu948ek92Ss91BV1PF7KDbR2EM7l0Law
	 hKNZ0TnRYVPWw==
Date: Tue, 13 Dec 2022 15:25:51 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Vipul Suneja <vsuneja63@gmail.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, oleksandr_andrushchenko@epam.com, 
    oleksandr_tyshchenko@epam.com, jgross@suse.com, boris.ostrovsky@oracle.com, 
    Bertrand.Marquis@arm.com
Subject: Re: Porting Xen in raspberry pi4B
In-Reply-To: <CALAP8f9JY23ZyDGnku4iWf5YCamSQKsZtdZj3MhX9TrF7wgEpw@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2212131518180.315094@ubuntu-linux-20-04-desktop>
References: <CALAP8f--jyG=ufJ9WGtL6qoeGdsykjNK85G3q50SzJm5+wOzhQ@mail.gmail.com> <alpine.DEB.2.22.394.2210181213370.4587@ubuntu-linux-20-04-desktop> <CALAP8f9Zgue6WfAk2uRGkg=1Up2Z+eQWqvQ1_Z2=r66Z5fvKoA@mail.gmail.com> <alpine.DEB.2.22.394.2210251641540.1397955@ubuntu-linux-20-04-desktop>
 <CALAP8f8Z8A2u8h56EJWOCN7nJFDvyEvM-Q85XMnUP6Y6mZDg3w@mail.gmail.com> <CALAP8f_n2okQ-Ss_kGACAq3BVYXS_D2P_8AyhOzUxqgWpz9f4g@mail.gmail.com> <alpine.DEB.2.22.394.2211101702250.50442@ubuntu-linux-20-04-desktop> <CALAP8f8zGfNA_CZU4UQXy7-rPT6dqih9XpzuKM3vvkoBvy6usg@mail.gmail.com>
 <alpine.DEB.2.22.394.2211221605470.1049131@ubuntu-linux-20-04-desktop> <CALAP8f_QiHN4dP3z+LQgKdGeo8-=9DMyk0W7+x6P2eHvnOD_wQ@mail.gmail.com> <alpine.DEB.2.22.394.2212011128430.4039@ubuntu-linux-20-04-desktop> <CALAP8f_b=0m0dqj9a50UYXYfw9X873i07sG9eyxFSqxF0yEneQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2212121406270.3075842@ubuntu-linux-20-04-desktop> <CALAP8f9JY23ZyDGnku4iWf5YCamSQKsZtdZj3MhX9TrF7wgEpw@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-250311784-1670973508=:315094"
Content-ID: <alpine.DEB.2.22.394.2212131518400.315094@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-250311784-1670973508=:315094
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2212131518401.315094@ubuntu-linux-20-04-desktop>

Hi Vipul,

Good progress! The main function we should check is "xenfb_refresh" but
from the logs it looks like it is called several times. Which means that
everything seems to be working as expected on the Linux side.

It is time to investigate the QEMU side:
./hw/display/xenfb.c:xenfb_handle_events
./hw/display/xenfb.c:xenfb_map_fb

I wonder if the issue is internal to QEMU. You might want to use an
older QEMU version to check if it works, maybe 6.0 or 5.0 or even 4.0.
I also wonder if it is a problem between xenfb.c and the rest of QEMU. I
would investigate how xenfb->pixels is rendered by the rest of QEMU.
Specifically you might want to look at the call to
qemu_create_displaysurface, qemu_create_displaysurface_from and
dpy_gfx_replace_surface in xenfb_update.

I hope this helps.

Cheers,

Stefano


On Tue, 13 Dec 2022, Vipul Suneja wrote:
> Hi Stefano,
> 
> Thanks!
> 
> I modified xen-fbfront.c source file, included printk debug logs & cross compiled it. I included the printk debug log at the entry & exit
> of all functions of xen-fbfront.c file.
> Generated kernel module & loaded in guest machine at bootup. I could see lots of logs coming up, and could see multiple functions being
> invoked even if I have not used vncviewer in the host. Attaching the log file for reference. Any specific function or parameters that have
> to be checked or any other suggestion as per logs?
> 
> Thanks & Regards,
> Vipul Kumar
> 
> On Tue, Dec 13, 2022 at 3:44 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       Hi Vipul,
> 
>       I am online on IRC OFTC #xendevel (https://www.oftc.net/, you need a
>       registered nickname to join #xendevel).
> 
>       For development and debugging I find that it is a lot easier to
>       crosscompile the kernel "by hand", and do a monolithic build, rather
>       than going through Yocto.
> 
>       For instance the following builds for me:
> 
>       cd linux.git
>       export ARCH=arm64
>       export CROSS_COMPILE=/path/to/cross-compiler
>       make defconfig
>       [add printks to drivers/video/fbdev/xen-fbfront.c]
>       make -j8 Image.gz
> 
>       And Image.gz boots on Xen as DomU kernel without issues.
> 
>       Cheers,
> 
>       Stefano
> 
>       On Sat, 10 Dec 2022, Vipul Suneja wrote:
>       > Hi Stefano,
>       >
>       > Thanks!
>       >
>       > I have included printk debug logs in the xen-fbfront.c source file. While cross compiling to generate .ko with
>       "xen-guest-image-minimal"
>       > toolchain it's throwing a modpost
>       > not found error. I could see the modpost.c source file but the final script is missing. Any input on this, Below are the
>       logs:
>       >
>       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ make
>       > make ARCH=arm64 -I/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/usr/include/asm -C
>       > /opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build
>       > M=/home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer modules
>       > make[1]: Entering directory '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build'
>       > arch/arm64/Makefile:36: Detected assembler with broken .inst; disassembly will be unreliable
>       > warning: the compiler differs from the one used to build the kernel
>       >   The kernel was built by: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
>       >   You are using:           aarch64-poky-linux-gcc (GCC) 11.3.0
>       >   CC [M]  /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/xen-fbfront.o
>       >   MODPOST /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/Module.symvers
>       > /bin/sh: 1: scripts/mod/modpost: not found
>       > make[2]: *** [scripts/Makefile.modpost:133:
>       /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/Module.symvers]
>       > Error 127
>       > make[1]: *** [Makefile:1813: modules] Error 2
>       > make[1]: Leaving directory '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build'
>       > make: *** [Makefile:5: all] Error 2
>       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ ls -l
>       > total 324
>       > -rwxrwxrwx 1 agl agl    359 Dec 10 22:41 Makefile
>       > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 modules.order
>       > -rw-r--r-- 1 agl agl  18331 Dec  1 20:32 xen-fbfront.c
>       > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 xen-fbfront.mod
>       > -rw-rw-r-- 1 agl agl 297832 Dec 10 22:49 xen-fbfront.o
>       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ file xen-fbfront.o
>       > xen-fbfront.o: ELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), with debug_info, not stripped
>       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$
>       >
>       > I have connected a HDMI based 1980x1024 resolution display screen to raspberrypi4 for testing purposes. I hope connecting
>       this display to
>       > rpi4 should be ok.
>       >
>       > Is there any other way we can connect also for detailed discussion on the display bringup issue? This will really help to
>       resolve this
>       > issue.
>       >
>       > Thanks & Regards,
>       > Vipul Kumar
>       >
>       > On Fri, Dec 2, 2022 at 1:02 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       On Thu, 1 Dec 2022, Vipul Suneja wrote:
>       >       > Hi Stefano,
>       >       > Thanks!
>       >       >
>       >       > I am exploring both options here, modification of framebuffer source file & setting up x11vnc server in guest.
>       >       > Other than these I would like to share a few findings with you.
>       >       >
>       >       > 1. If i keep "CONFIG_XEN_FBDEV_FRONTEND=y" then xen-fbfront.ko is not generating but if i keep
>       "CONFIG_XEN_FBDEV_FRONTEND=m"
>       >       > then could see xen-fbfront.ko & its loading also. Same things with other frontend/backend drivers also. Do we need to
>       >       configure these
>       >       > drivers as a module(m) only?
>       >
>       >       xen-fbfront should work both as a module (xen-fbfront.ko) or built-in
>       >       (CONFIG_XEN_FBDEV_FRONTEND=y).
>       >
>       >
>       >
>       >       > 2. I could see xenstored service is running for the host but it's always failing for the guest machine. I could see
>       it in
>       >       bootup logs & via
>       >       > systemctl status also.
>       >
>       >       That is normal. xenstored is only meant to be run in Dom0, not in the
>       >       domUs. If you use the same rootfs for Dom0 and DomU then xenstored will
>       >       fail starting in the DomU (but should succeed in Dom0), which is what we
>       >       want.
>       >
>       >       If you run "xenstore-ls" in Dom0, you'll see a bunch of entries,
>       >       including some of them related to "vfb" which is the virtual framebuffer
>       >       protocol. You should also see an entry called "state" set to "4" which
>       >       means "connected". state = 4 is usually when everything works. Normally
>       >       when things don't work state != 4.
>       >
>       >
>       >
>       >       > Below are the logs:
>       >       > [  OK  ] Reached target Basic System.
>       >       > [  OK  ] Started Kernel Logging Service.
>       >       > [  OK  ] Started System Logging Service.
>       >       >          Starting D-Bus System Message Bus...
>       >       >          Starting User Login Management...
>       >       >          Starting Permit User Sessions...
>       >       >          Starting The Xen xenstore...
>       >       >          Starting OpenSSH Key Generation...
>       >       > [FAILED] Failed to start The Xen xenstore.
>       >       > See 'systemctl status xenstored.service' for details.
>       >       > [DEPEND] Dependency failed for qemu for xen dom0 disk backend.
>       >       > [DEPEND] Dependency failed for Xend…p guests on boot and shutdown.
>       >       > [DEPEND] Dependency failed for xen-…des, JSON configuration stub).
>       >       > [DEPEND] Dependency failed for Xenc…guest consoles and hypervisor.
>       >       > [  OK  ] Finished Permit User Sessions.
>       >       > [  OK  ] Started Getty on tty1.
>       >       > [  OK  ] Started Serial Getty on hvc0.
>       >       > [  OK  ] Started Serial Getty on ttyS0.
>       >       > [  OK  ] Reached target Login Prompts.
>       >       >          Starting Xen-watchdog - run xen watchdog daemon...
>       >       > [  OK  ] Started D-Bus System Message Bus.
>       >       > [  OK  ] Started Xen-watchdog - run xen watchdog daemon.
>       >       > [  OK  ] Finished OpenSSH Key Generation.
>       >       > [  OK  ] Started User Login Management.
>       >       > [  OK  ] Reached target Multi-User System.
>       >       >          Starting Record Runlevel Change in UTMP...
>       >       > [  OK  ] Finished Record Runlevel Change in UTMP.
>       >       > fbcon: Taking over console
>       >       >
>       >       > Poky (Yocto Project Reference Distro) 4.0.4 raspberrypi4-64 hvc0
>       >       >
>       >       > raspberrypi4-64 login: root
>       >       > root@raspberrypi4-64:~#
>       >       > root@raspberrypi4-64:~#
>       >       > root@raspberrypi4-64:~# systemctl status xenstored.service
>       >       > x xenstored.service - The Xen xenstore
>       >       >      Loaded: loaded (/lib/systemd/system/xenstored.service; enabled; vendor preset: enabled)
>       >       >      Active: failed (Result: exit-code) since Thu 2022-12-01 06:12:05 UTC; 26s ago
>       >       >     Process: 195 ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities (code=exited, status=1/FAILURE)
>       >       >
>       >       > Dec 01 06:12:04 raspberrypi4-64 systemd[1]: Starting The Xen xenstore...
>       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service: Control pro...URE
>       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service: Failed with...e'.
>       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: Failed to start The Xen xenstore.
>       >       > Hint: Some lines were ellipsized, use -l to show in full.
>       >       > root@raspberrypi4-64:~# 
>       >       >
>       >       > Any input on these?
>       >       >
>       >       > Thanks & Regards,
>       >       > Vipul Kumar
>       >       >
>       >       > On Wed, Nov 23, 2022 at 5:41 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       Hi Vipul,
>       >       >
>       >       >       I cannot spot any issue in the configuration, in particual you have:
>       >       >
>       >       >       CONFIG_XEN_FBDEV_FRONTEND=y
>       >       >
>       >       >       which is what you need.
>       >       >
>       >       >       The only thing I can suggest is to add printks to the Linux frontend
>       >       >       driver (the one running in the domU) which is
>       >       >       drivers/video/fbdev/xen-fbfront.c and printfs to the QEMU backend
>       >       >       (running in Dom0) which is hw/display/xenfb.c to figure out what is
>       >       >       going on.
>       >       >
>       >       >
>       >       >       Alternatively, you can setup PV network with the domU, such as:
>       >       >
>       >       >         vif=['']
>       >       >
>       >       >       and then run x11 and a x11vnc server in your domU. You should be able to
>       >       >       connect to it using vncviewer at the network IP of your domU.
>       >       >
>       >       >       Basically you are skipping the problem because instead of using the PV
>       >       >       framebuffer protocol, you just use VNC over the network with the domU.
>       >       >
>       >       >
>       >       >       Cheers,
>       >       >
>       >       >       Stefano
>       >       >
>       >       >
>       >       >       On Tue, 22 Nov 2022, Vipul Suneja wrote:
>       >       >       > Hi Stefano,
>       >       >       > Thanks for the support!
>       >       >       >
>       >       >       > Looks like I have tried all the combinations & possible ways to get display up but failed. Is there any
>       document or
>       >       pdf for
>       >       >       porting xen on
>       >       >       > raspberrypi4.
>       >       >       > I could find lot's of links telling the same but couldn't see any official user guide or document from the
>       xen
>       >       community on
>       >       >       the same. If
>       >       >       > there is something to refer 
>       >       >       > to please share with me.
>       >       >       > I am attaching the kernel configuration file also, just take a look if i have missed anything.
>       >       >       > Any other suggestions or input from your end could be really helpful?
>       >       >       >
>       >       >       > Regards,
>       >       >       > Vipul Kumar
>       >       >       >
>       >       >       > On Fri, Nov 11, 2022 at 6:40 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       Hi Vipul,
>       >       >       >
>       >       >       >       Sorry for the late reply. From the earlier logs that you sent, it looks
>       >       >       >       like everything should be working correctly. Specifically:
>       >       >       >
>       >       >       >            vfb = ""
>       >       >       >             1 = ""
>       >       >       >              0 = ""
>       >       >       >               frontend = "/local/domain/1/device/vfb/0"
>       >       >       >               frontend-id = "1"
>       >       >       >               online = "1"
>       >       >       >               state = "4"
>       >       >       >               vnc = "1"
>       >       >       >               vnclisten = "127.0.0.1"
>       >       >       >               vncdisplay = "0"
>       >       >       >               vncunused = "1"
>       >       >       >               sdl = "0"
>       >       >       >               opengl = "0"
>       >       >       >               feature-resize = "1"
>       >       >       >               hotplug-status = "connected"
>       >       >       >               request-update = "1"
>       >       >       >
>       >       >       >       state "4" means "connected". So I would expect that you should be able
>       >       >       >       to connect to the vnc server using vncviewer. You might not see anything
>       >       >       >       (black screen) but you should definitely be able to connect.
>       >       >       >
>       >       >       >       I wouldn't try to launch x11 in the guest just yet. fbcon in Linux is
>       >       >       >       enough to render something on the screen. You should be able to see the
>       >       >       >       Linux text-based console rendered graphically, connecting to it via vnc.
>       >       >       >
>       >       >       >       Sorry for the basic question, but have you tried all the following?
>       >       >       >
>       >       >       >       vncviewer 127.0.0.1:0
>       >       >       >       vncviewer 127.0.0.1:1
>       >       >       >       vncviewer 127.0.0.1:2
>       >       >       >       vncviewer 127.0.0.1:5900
>       >       >       >       vncviewer 127.0.0.1:5901
>       >       >       >       vncviewer 127.0.0.1:5902
>       >       >       >
>       >       >       >       Given that from the xenstore-ls logs everything seems to work correctly
>       >       >       >       I am not sure what else to suggest. You might have to add printf to QEMU
>       >       >       >       ui/vnc.c and hw/display/xenfb.c to see what is going wrong.
>       >       >       >
>       >       >       >       Cheers,
>       >       >       >
>       >       >       >       Stefano
>       >       >       >
>       >       >       >
>       >       >       >       On Mon, 7 Nov 2022, Vipul Suneja wrote:
>       >       >       >       > Hi Stefano,
>       >       >       >       > Thanks!
>       >       >       >       >
>       >       >       >       > Any input further on "xenstore-ls" logs?
>       >       >       >       >
>       >       >       >       > I am trying to run the x0vncserver & x11vnc server manually on guest machine(xen_guest_image_minimal)
>       image
>       >       but it's
>       >       >       failing
>       >       >       >       with the below
>       >       >       >       > error.
>       >       >       >       >
>       >       >       >       > root@raspberrypi4-64:/usr/bin# x0vncserver
>       >       >       >       > x0vncserver: unable to open display ""
>       >       >       >       > root@raspberrypi4-64:/usr/bin#
>       >       >       >       > root@raspberrypi4-64:/usr/bin# x11vnc
>       >       >       >       > ###############################################################
>       >       >       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@  **  WARNING  **  WARNING  **  WARNING  **  WARNING  **   @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@        YOU ARE RUNNING X11VNC WITHOUT A PASSWORD!!        @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@  This means anyone with network access to this computer   @#
>       >       >       >       > #@  may be able to view and control your desktop.            @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@ >>> If you did not mean to do this Press CTRL-C now!! <<< @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@  You can create an x11vnc password file by running:       @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@       x11vnc -storepasswd password /path/to/passfile      @#
>       >       >       >       > #@  or   x11vnc -storepasswd /path/to/passfile               @#
>       >       >       >       > #@  or   x11vnc -storepasswd                                 @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@  (the last one will use ~/.vnc/passwd)                    @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@  and then starting x11vnc via:                            @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@      x11vnc -rfbauth /path/to/passfile                    @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@  an existing ~/.vnc/passwd file from another VNC          @#
>       >       >       >       > #@  application will work fine too.                          @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@  You can also use the -passwdfile or -passwd options.     @#
>       >       >       >       > #@  (note -passwd is unsafe if local users are not trusted)  @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@  Make sure any -rfbauth and -passwdfile password files    @#
>       >       >       >       > #@  cannot be read by untrusted users.                       @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@  Use x11vnc -usepw to automatically use your              @#
>       >       >       >       > #@  ~/.vnc/passwd or ~/.vnc/passwdfile password files.       @#
>       >       >       >       > #@  (and prompt you to create ~/.vnc/passwd if neither       @#
>       >       >       >       > #@  file exists.)  Under -usepw, x11vnc will exit if it      @#
>       >       >       >       > #@  cannot find a password to use.                           @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@  Even with a password, the subsequent VNC traffic is      @#
>       >       >       >       > #@  sent in the clear.  Consider tunnelling via ssh(1):      @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@    http://www.karlrunge.com/x11vnc/#tunnelling            @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@  Or using the x11vnc SSL options: -ssl and -stunnel       @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@  Please Read the documentation for more info about        @#
>       >       >       >       > #@  passwords, security, and encryption.                     @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@    http://www.karlrunge.com/x11vnc/faq.html#faq-passwd    @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@  To disable this warning use the -nopw option, or put     @#
>       >       >       >       > #@  'nopw' on a line in your ~/.x11vncrc file.               @#
>       >       >       >       > #@                                                           @#
>       >       >       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       >       >       > ###############################################################
>       >       >       >       > 09/03/2018 12:58:41 x11vnc version: 0.9.16 lastmod: 2019-01-05  pid: 424
>       >       >       >       > 09/03/2018 12:58:41 XOpenDisplay("") failed.
>       >       >       >       > 09/03/2018 12:58:41 Trying again with XAUTHLOCALHOSTNAME=localhost ...
>       >       >       >       > 09/03/2018 12:58:41
>       >       >       >       > 09/03/2018 12:58:41 *** XOpenDisplay failed. No -display or DISPLAY.
>       >       >       >       > 09/03/2018 12:58:41 *** Trying ":0" in 4 seconds.  Press Ctrl-C to abort.
>       >       >       >       > 09/03/2018 12:58:41 *** 1 2 3 4
>       >       >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
>       >       >       >       > 09/03/2018 12:58:45 Trying again with XAUTHLOCALHOSTNAME=localhost ...
>       >       >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
>       >       >       >       > 09/03/2018 12:58:45 Trying again with unset XAUTHLOCALHOSTNAME ...
>       >       >       >       > 09/03/2018 12:58:45
>       >       >       >       >
>       >       >       >       > 09/03/2018 12:58:45 ***************************************
>       >       >       >       > 09/03/2018 12:58:45 *** XOpenDisplay failed (:0)
>       >       >       >       >
>       >       >       >       > *** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.
>       >       >       >       > *** There may be "Xlib:" error messages above with details about the failure.
>       >       >       >       >
>       >       >       >       > Some tips and guidelines:
>       >       >       >       >
>       >       >       >       > ** An X server (the one you wish to view) must be running before x11vnc is
>       >       >       >       >    started: x11vnc does not start the X server.  (however, see the -create
>       >       >       >       >    option if that is what you really want).
>       >       >       >       >
>       >       >       >       > ** You must use -display <disp>, -OR- set and export your $DISPLAY
>       >       >       >       >    environment variable to refer to the display of the desired X server.
>       >       >       >       >  - Usually the display is simply ":0" (in fact x11vnc uses this if you forget
>       >       >       >       >    to specify it), but in some multi-user situations it could be ":1", ":2",
>       >       >       >       >    or even ":137".  Ask your administrator or a guru if you are having
>       >       >       >       >    difficulty determining what your X DISPLAY is.
>       >       >       >       >
>       >       >       >       > ** Next, you need to have sufficient permissions (Xauthority)
>       >       >       >       >    to connect to the X DISPLAY.   Here are some Tips:
>       >       >       >       >
>       >       >       >       >  - Often, you just need to run x11vnc as the user logged into the X session.
>       >       >       >       >    So make sure to be that user when you type x11vnc.
>       >       >       >       >  - Being root is usually not enough because the incorrect MIT-MAGIC-COOKIE
>       >       >       >       >    file may be accessed.  The cookie file contains the secret key that
>       >       >       >       >    allows x11vnc to connect to the desired X DISPLAY.
>       >       >       >       >  - You can explicitly indicate which MIT-MAGIC-COOKIE file should be used
>       >       >       >       >    by the -auth option, e.g.:
>       >       >       >       >        x11vnc -auth /home/someuser/.Xauthority -display :0
>       >       >       >       >        x11vnc -auth /tmp/.gdmzndVlR -display :0
>       >       >       >       >    you must have read permission for the auth file.
>       >       >       >       >    See also '-auth guess' and '-findauth' discussed below.
>       >       >       >       >
>       >       >       >       > ** If NO ONE is logged into an X session yet, but there is a greeter login
>       >       >       >       >    program like "gdm", "kdm", "xdm", or "dtlogin" running, you will need
>       >       >       >       >    to find and use the raw display manager MIT-MAGIC-COOKIE file.
>       >       >       >       >    Some examples for various display managers:
>       >       >       >       >
>       >       >       >       >      gdm:     -auth /var/gdm/:0.Xauth
>       >       >       >       >               -auth /var/lib/gdm/:0.Xauth
>       >       >       >       >      kdm:     -auth /var/lib/kdm/A:0-crWk72
>       >       >       >       >               -auth /var/run/xauth/A:0-crWk72
>       >       >       >       >      xdm:     -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
>       >       >       >       >      dtlogin: -auth /var/dt/A:0-UgaaXa
>       >       >       >       >
>       >       >       >       >    Sometimes the command "ps wwwwaux | grep auth" can reveal the file location.
>       >       >       >       >
>       >       >       >       >    Starting with x11vnc 0.9.9 you can have it try to guess by using:
>       >       >       >       >
>       >       >       >       >               -auth guess
>       >       >       >       >
>       >       >       >       >    (see also the x11vnc -findauth option.)
>       >       >       >       >
>       >       >       >       >    Only root will have read permission for the file, and so x11vnc must be run
>       >       >       >       >    as root (or copy it).  The random characters in the filenames will of course
>       >       >       >       >    change and the directory the cookie file resides in is system dependent.
>       >       >       >       >
>       >       >       >       > See also: http://www.karlrunge.com/x11vnc/faq.html
>       >       >       >       >
>       >       >       >       > Regards,
>       >       >       >       > Vipul Kumar
>       >       >       >       >
>       >       >       >       > On Thu, Nov 3, 2022 at 10:27 PM Vipul Suneja <vsuneja63@gmail.com> wrote:
>       >       >       >       >       Hi Stefano,
>       >       >       >       > Thanks!
>       >       >       >       >
>       >       >       >       > I used xen-guest-image-minimal(simple console based image) as a guest with fbcon & fbdev enabled in
>       kernel
>       >       >       configurations but
>       >       >       >       still
>       >       >       >       > the same error can't open the display.
>       >       >       >       > below are the outcome of "xenstore-ls":
>       >       >       >       >
>       >       >       >       > root@raspberrypi4-64:~/guest1# xenstore-ls
>       >       >       >       > tool = ""
>       >       >       >       >  xenstored = ""
>       >       >       >       > local = ""
>       >       >       >       >  domain = ""
>       >       >       >       >   0 = ""
>       >       >       >       >    control = ""
>       >       >       >       >     feature-poweroff = "1"
>       >       >       >       >     feature-reboot = "1"
>       >       >       >       >    domid = "0"
>       >       >       >       >    name = "Domain-0"
>       >       >       >       >    device-model = ""
>       >       >       >       >     0 = ""
>       >       >       >       >      backends = ""
>       >       >       >       >       console = ""
>       >       >       >       >       vkbd = ""
>       >       >       >       >       vfb = ""
>       >       >       >       >       qnic = ""
>       >       >       >       >      state = "running"
>       >       >       >       >     1 = ""
>       >       >       >       >      backends = ""
>       >       >       >       >       console = ""
>       >       >       >       >       vkbd = ""
>       >       >       >       >       vfb = ""
>       >       >       >       >       qnic = ""
>       >       >       >       >      state = "running"
>       >       >       >       >    backend = ""
>       >       >       >       >     vbd = ""
>       >       >       >       >      1 = ""
>       >       >       >       >       51712 = ""
>       >       >       >       >        frontend = "/local/domain/1/device/vbd/51712"
>       >       >       >       >        params = "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
>       >       >       >       >        script = "/etc/xen/scripts/block"
>       >       >       >       >        frontend-id = "1"
>       >       >       >       >        online = "1"
>       >       >       >       >        removable = "0"
>       >       >       >       >        bootable = "1"
>       >       >       >       >        state = "4"
>       >       >       >       >        dev = "xvda"
>       >       >       >       >        type = "phy"
>       >       >       >       >        mode = "w"
>       >       >       >       >        device-type = "disk"
>       >       >       >       >        discard-enable = "1"
>       >       >       >       >        feature-max-indirect-segments = "256"
>       >       >       >       >        multi-queue-max-queues = "4"
>       >       >       >       >        max-ring-page-order = "4"
>       >       >       >       >        node = "/dev/loop0"
>       >       >       >       >        physical-device = "7:0"
>       >       >       >       >        physical-device-path = "/dev/loop0"
>       >       >       >       >        hotplug-status = "connected"
>       >       >       >       >        feature-flush-cache = "1"
>       >       >       >       >        discard-granularity = "4096"
>       >       >       >       >        discard-alignment = "0"
>       >       >       >       >        discard-secure = "0"
>       >       >       >       >        feature-discard = "1"
>       >       >       >       >        feature-barrier = "1"
>       >       >       >       >        feature-persistent = "1"
>       >       >       >       >        sectors = "1794048"
>       >       >       >       >        info = "0"
>       >       >       >       >        sector-size = "512"
>       >       >       >       >        physical-sector-size = "512"
>       >       >       >       >     vfb = ""
>       >       >       >       >      1 = ""
>       >       >       >       >       0 = ""
>       >       >       >       >        frontend = "/local/domain/1/device/vfb/0"
>       >       >       >       >        frontend-id = "1"
>       >       >       >       >        online = "1"
>       >       >       >       >        state = "4"
>       >       >       >       >        vnc = "1"
>       >       >       >       >        vnclisten = "127.0.0.1"
>       >       >       >       >        vncdisplay = "0"
>       >       >       >       >        vncunused = "1"
>       >       >       >       >        sdl = "0"
>       >       >       >       >        opengl = "0"
>       >       >       >       >        feature-resize = "1"
>       >       >       >       >        hotplug-status = "connected"
>       >       >       >       >        request-update = "1"
>       >       >       >       >     vkbd = ""
>       >       >       >       >      1 = ""
>       >       >       >       >       0 = ""
>       >       >       >       >        frontend = "/local/domain/1/device/vkbd/0"
>       >       >       >       >        frontend-id = "1"
>       >       >       >       >        online = "1"
>       >       >       >       >        state = "4"
>       >       >       >       >        feature-abs-pointer = "1"
>       >       >       >       >        feature-raw-pointer = "1"
>       >       >       >       >        hotplug-status = "connected"
>       >       >       >       >     console = ""
>       >       >       >       >      1 = ""
>       >       >       >       >       0 = ""
>       >       >       >       >        frontend = "/local/domain/1/console"
>       >       >       >       >        frontend-id = "1"
>       >       >       >       >        online = "1"
>       >       >       >       >        state = "1"
>       >       >       >       >        protocol = "vt100"
>       >       >       >       >     vif = ""
>       >       >       >       >      1 = ""
>       >       >       >       >       0 = ""
>       >       >       >       >        frontend = "/local/domain/1/device/vif/0"
>       >       >       >       >        frontend-id = "1"
>       >       >       >       >        online = "1"
>       >       >       >       >        state = "4"
>       >       >       >       >        script = "/etc/xen/scripts/vif-bridge"
>       >       >       >       >        mac = "e4:5f:01:cd:7b:dd"
>       >       >       >       >        bridge = "xenbr0"
>       >       >       >       >        handle = "0"
>       >       >       >       >        type = "vif"
>       >       >       >       >        hotplug-status = "connected"
>       >       >       >       >        feature-sg = "1"
>       >       >       >       >        feature-gso-tcpv4 = "1"
>       >       >       >       >        feature-gso-tcpv6 = "1"
>       >       >       >       >        feature-ipv6-csum-offload = "1"
>       >       >       >       >        feature-rx-copy = "1"
>       >       >       >       >        feature-xdp-headroom = "1"
>       >       >       >       >        feature-rx-flip = "0"
>       >       >       >       >        feature-multicast-control = "1"
>       >       >       >       >        feature-dynamic-multicast-control = "1"
>       >       >       >       >        feature-split-event-channels = "1"
>       >       >       >       >        multi-queue-max-queues = "4"
>       >       >       >       >        feature-ctrl-ring = "1"
>       >       >       >       >   1 = ""
>       >       >       >       >    vm = "/vm/d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
>       >       >       >       >    name = "guest2"
>       >       >       >       >    cpu = ""
>       >       >       >       >     0 = ""
>       >       >       >       >      availability = "online"
>       >       >       >       >     1 = ""
>       >       >       >       >      availability = "online"
>       >       >       >       >    memory = ""
>       >       >       >       >     static-max = "2097152"
>       >       >       >       >     target = "2097152"
>       >       >       >       >     videoram = "0"
>       >       >       >       >    device = ""
>       >       >       >       >     suspend = ""
>       >       >       >       >      event-channel = ""
>       >       >       >       >     vbd = ""
>       >       >       >       >      51712 = ""
>       >       >       >       >       backend = "/local/domain/0/backend/vbd/1/51712"
>       >       >       >       >       backend-id = "0"
>       >       >       >       >       state = "4"
>       >       >       >       >       virtual-device = "51712"
>       >       >       >       >       device-type = "disk"
>       >       >       >       >       multi-queue-num-queues = "2"
>       >       >       >       >       queue-0 = ""
>       >       >       >       >        ring-ref = "8"
>       >       >       >       >        event-channel = "4"
>       >       >       >       >       queue-1 = ""
>       >       >       >       >        ring-ref = "9"
>       >       >       >       >        event-channel = "5"
>       >       >       >       >       protocol = "arm-abi"
>       >       >       >       >       feature-persistent = "1"
>       >       >       >       >     vfb = ""
>       >       >       >       >      0 = ""
>       >       >       >       >       backend = "/local/domain/0/backend/vfb/1/0"
>       >       >       >       >       backend-id = "0"
>       >       >       >       >       state = "4"
>       >       >       >       >       page-ref = "275022"
>       >       >       >       >       event-channel = "3"
>       >       >       >       >       protocol = "arm-abi"
>       >       >       >       >       feature-update = "1"
>       >       >       >       >     vkbd = ""
>       >       >       >       >      0 = ""
>       >       >       >       >       backend = "/local/domain/0/backend/vkbd/1/0"
>       >       >       >       >       backend-id = "0"
>       >       >       >       >       state = "4"
>       >       >       >       >       request-abs-pointer = "1"
>       >       >       >       >       page-ref = "275322"
>       >       >       >       >       page-gref = "1284"
>       >       >       >       >       event-channel = "10"
>       >       >       >       >     vif = ""
>       >       >       >       >      0 = ""
>       >       >       >       >       backend = "/local/domain/0/backend/vif/1/0"
>       >       >       >       >       backend-id = "0"
>       >       >       >       >       state = "4"
>       >       >       >       >       handle = "0"
>       >       >       >       >       mac = "e4:5f:01:cd:7b:dd"
>       >       >       >       >       mtu = "1500"
>       >       >       >       >       xdp-headroom = "0"
>       >       >       >       >       multi-queue-num-queues = "2"
>       >       >       >       >       queue-0 = ""
>       >       >       >       >        tx-ring-ref = "1280"
>       >       >       >       >        rx-ring-ref = "1281"
>       >       >       >       >        event-channel-tx = "6"
>       >       >       >       >        event-channel-rx = "7"
>       >       >       >       >       queue-1 = ""
>       >       >       >       >        tx-ring-ref = "1282"
>       >       >       >       >        rx-ring-ref = "1283"
>       >       >       >       >        event-channel-tx = "8"
>       >       >       >       >        event-channel-rx = "9"
>       >       >       >       >       request-rx-copy = "1"
>       >       >       >       >       feature-rx-notify = "1"
>       >       >       >       >       feature-sg = "1"
>       >       >       >       >       feature-gso-tcpv4 = "1"
>       >       >       >       >       feature-gso-tcpv6 = "1"
>       >       >       >       >       feature-ipv6-csum-offload = "1"
>       >       >       >       >    control = ""
>       >       >       >       >     shutdown = ""
>       >       >       >       >     feature-poweroff = "1"
>       >       >       >       >     feature-reboot = "1"
>       >       >       >       >     feature-suspend = ""
>       >       >       >       >     sysrq = ""
>       >       >       >       >     platform-feature-multiprocessor-suspend = "1"
>       >       >       >       >     platform-feature-xs_reset_watches = "1"
>       >       >       >       >    data = ""
>       >       >       >       >    drivers = ""
>       >       >       >       >    feature = ""
>       >       >       >       >    attr = ""
>       >       >       >       >    error = ""
>       >       >       >       >    domid = "1"
>       >       >       >       >    store = ""
>       >       >       >       >     port = "1"
>       >       >       >       >     ring-ref = "233473"
>       >       >       >       >    console = ""
>       >       >       >       >     backend = "/local/domain/0/backend/console/1/0"
>       >       >       >       >     backend-id = "0"
>       >       >       >       >     limit = "1048576"
>       >       >       >       >     type = "xenconsoled"
>       >       >       >       >     output = "pty"
>       >       >       >       >     tty = "/dev/pts/1"
>       >       >       >       >     port = "2"
>       >       >       >       >     ring-ref = "233472"
>       >       >       >       >     vnc-listen = "127.0.0.1"
>       >       >       >       >     vnc-port = "5900"
>       >       >       >       >    image = ""
>       >       >       >       >     device-model-pid = "788"
>       >       >       >       > vm = ""
>       >       >       >       >  d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f = ""
>       >       >       >       >   name = "guest2"
>       >       >       >       >   uuid = "d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
>       >       >       >       >   start_time = "1520600274.27"
>       >       >       >       > libxl = ""
>       >       >       >       >  1 = ""
>       >       >       >       >   device = ""
>       >       >       >       >    vbd = ""
>       >       >       >       >     51712 = ""
>       >       >       >       >      frontend = "/local/domain/1/device/vbd/51712"
>       >       >       >       >      backend = "/local/domain/0/backend/vbd/1/51712"
>       >       >       >       >      params = "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
>       >       >       >       >      script = "/etc/xen/scripts/block"
>       >       >       >       >      frontend-id = "1"
>       >       >       >       >      online = "1"
>       >       >       >       >      removable = "0"
>       >       >       >       >      bootable = "1"
>       >       >       >       >      state = "1"
>       >       >       >       >      dev = "xvda"
>       >       >       >       >      type = "phy"
>       >       >       >       >      mode = "w"
>       >       >       >       >      device-type = "disk"
>       >       >       >       >      discard-enable = "1"
>       >       >       >       >    vfb = ""
>       >       >       >       >     0 = ""
>       >       >       >       >      frontend = "/local/domain/1/device/vfb/0"
>       >       >       >       >      backend = "/local/domain/0/backend/vfb/1/0"
>       >       >       >       >      frontend-id = "1"
>       >       >       >       >      online = "1"
>       >       >       >       >      state = "1"
>       >       >       >       >      vnc = "1"
>       >       >       >       >      vnclisten = "127.0.0.1"
>       >       >       >       >      vncdisplay = "0"
>       >       >       >       >      vncunused = "1"
>       >       >       >       >      sdl = "0"
>       >       >       >       >      opengl = "0"
>       >       >       >       >    vkbd = ""
>       >       >       >       >     0 = ""
>       >       >       >       >      frontend = "/local/domain/1/device/vkbd/0"
>       >       >       >       >      backend = "/local/domain/0/backend/vkbd/1/0"
>       >       >       >       >      frontend-id = "1"
>       >       >       >       >      online = "1"
>       >       >       >       >      state = "1"
>       >       >       >       >    console = ""
>       >       >       >       >     0 = ""
>       >       >       >       >      frontend = "/local/domain/1/console"
>       >       >       >       >      backend = "/local/domain/0/backend/console/1/0"
>       >       >       >       >      frontend-id = "1"
>       >       >       >       >      online = "1"
>       >       >       >       >      state = "1"
>       >       >       >       >      protocol = "vt100"
>       >       >       >       >    vif = ""
>       >       >       >       >     0 = ""
>       >       >       >       >      frontend = "/local/domain/1/device/vif/0"
>       >       >       >       >      backend = "/local/domain/0/backend/vif/1/0"
>       >       >       >       >      frontend-id = "1"
>       >       >       >       >      online = "1"
>       >       >       >       >      state = "1"
>       >       >       >       >      script = "/etc/xen/scripts/vif-bridge"
>       >       >       >       >      mac = "e4:5f:01:cd:7b:dd"
>       >       >       >       >      bridge = "xenbr0"
>       >       >       >       >      handle = "0"
>       >       >       >       >      type = "vif"
>       >       >       >       >      hotplug-status = ""
>       >       >       >       >   type = "pvh"
>       >       >       >       >   dm-version = "qemu_xen"
>       >       >       >       > root@raspberrypi4-64:~/guest1#
>       >       >       >       >
>       >       >       >       > Any input as per above? Looking forward to hearing from you.
>       >       >       >       >
>       >       >       >       > Regards,
>       >       >       >       > Vipul Kumar
>       >       >       >       >
>       >       >       >       > On Wed, Oct 26, 2022 at 5:21 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       >       Hi Vipul,
>       >       >       >       >
>       >       >       >       >       If you look at the QEMU logs, it says:
>       >       >       >       >
>       >       >       >       >       VNC server running on 127.0.0.1:5900
>       >       >       >       >
>       >       >       >       >       That is the VNC server you need to connect to. So in theory:
>       >       >       >       >
>       >       >       >       >         vncviewer 127.0.0.1:5900
>       >       >       >       >
>       >       >       >       >       should work correctly.
>       >       >       >       >
>       >       >       >       >
>       >       >       >       >       If you have:
>       >       >       >       >
>       >       >       >       >         vfb = ["type=vnc"]
>       >       >       >       >
>       >       >       >       >       in your xl config file and you have "fbdev" in your Linux guest, it
>       >       >       >       >       should work.
>       >       >       >       >
>       >       >       >       >       If you connect to the VNC server but you get a black screen, it might be
>       >       >       >       >       a guest configuration issue. I would try with a simpler guest, text only
>       >       >       >       >       (no X11, no Wayland) and enable the fbdev console (fbcon). See
>       >       >       >       >       Documentation/fb/fbcon.rst in Linux. You should be able to see a
>       >       >       >       >       graphical console over VNC.
>       >       >       >       >
>       >       >       >       >       If that works, then you know that the fbdev kernel driver (xen-fbfront)
>       >       >       >       >       works correctly.
>       >       >       >       >
>       >       >       >       >       If it doesn't work, the output of "xenstore-ls" would be interesting.
>       >       >       >       >
>       >       >       >       >       Cheers,
>       >       >       >       >
>       >       >       >       >       Stefano
>       >       >       >       >
>       >       >       >       >
>       >       >       >       >       On Wed, 19 Oct 2022, Vipul Suneja wrote:
>       >       >       >       >       > Hi Stefano,
>       >       >       >       >       >
>       >       >       >       >       > Thanks for the response!
>       >       >       >       >       >
>       >       >       >       >       > I am following the same link you shared from the beginning. Tried the command "vncviewer
>       localhost:0"
>       >       in DOM0
>       >       >       but
>       >       >       >       same
>       >       >       >       >       issue "Can't open
>       >       >       >       >       > display", below are the logs:
>       >       >       >       >       >
>       >       >       >       >       > root@raspberrypi4-64:~# vncviewer localhost:0
>       >       >       >       >       >
>       >       >       >       >       > TigerVNC Viewer 64-bit v1.11.0
>       >       >       >       >       > Built on: 2020-09-08 12:16
>       >       >       >       >       > Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst)
>       >       >       >       >       > See https://www.tigervnc.org for information on TigerVNC.
>       >       >       >       >       > Can't open display:
>       >       >       >       >       >
>       >       >       >       >       > Below are the netstat logs, i couldn't see anything running at port 5900 or 5901:
>       >       >       >       >       >
>       >       >       >       >       > root@raspberrypi4-64:~# netstat -tuwx
>       >       >       >       >       > Active Internet connections (w/o servers)
>       >       >       >       >       > Proto Recv-Q Send-Q Local Address           Foreign Address         State      
>       >       >       >       >       > tcp        0    164 192.168.1.39:ssh        192.168.1.38:37472      ESTABLISHED
>       >       >       >       >       > Active UNIX domain sockets (w/o servers)
>       >       >       >       >       > Proto RefCnt Flags       Type       State         I-Node Path
>       >       >       >       >       > unix  8      [ ]         DGRAM      CONNECTED      10565 /dev/log
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10891 /var/run/xenstored/socket
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13791
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10843 /var/run/xenstored/socket
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10573 /var/run/xenstored/socket
>       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14510
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13249
>       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      13887
>       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      10599
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14005
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13258
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13248
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14003
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10572 /var/run/xenstored/socket
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10786 /var/run/xenstored/socket
>       >       >       >       >       > unix  3      [ ]         DGRAM      CONNECTED      13186
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10864 /var/run/xenstored/socket
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10812 /var/run/xenstored/socket
>       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14083
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10813 /var/run/xenstored/socket
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14068
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13256
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10571 /var/run/xenstored/socket
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10842
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13985
>       >       >       >       >       > unix  3      [ ]         DGRAM      CONNECTED      13185
>       >       >       >       >       > unix  2      [ ]         STREAM     CONNECTED      13884
>       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14528
>       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      13785
>       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14034
>       >       >       >       >       >
>       >       >       >       >       > Attaching xen log files of /var/log/xen.
>       >       >       >       >       > I didn't get the role of QEMU here because as mentioned earlier, I am porting in raspberrypi
>       4B.
>       >       >       >       >       >
>       >       >       >       >       > Regards,
>       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >
>       >       >       >       >       > On Wed, Oct 19, 2022 at 12:43 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       >       >       It usually works the way it is described in the guide:
>       >       >       >       >       >
>       >       >       >       >       >     
>       >       >       >       >     
>       >       >       >     
>       >       >     
>       >     
>            https://www.virtuatopia.com/index.php?title=Configuring_a_VNC_based_Graphical_Console_for_a_Xen_Paravirtualized_domainU_Guest
>       >       >       >       >       >
>       >       >       >       >       >       You don't need to install any VNC-related server software because it is
>       >       >       >       >       >       already provided by Xen (to be precise it is provided by QEMU working
>       >       >       >       >       >       together with Xen.)
>       >       >       >       >       >
>       >       >       >       >       >       You only need the vnc client in dom0 so that you can connect, but you
>       >       >       >       >       >       could also run the vnc client outside from another host. So basically
>       >       >       >       >       >       the following should work when executed in Dom0 after creating DomU:
>       >       >       >       >       >
>       >       >       >       >       >         vncviewer localhost:0
>       >       >       >       >       >
>       >       >       >       >       >       Can you attach the Xen and QEMU logs (/var/log/xen/*)? And also use
>       >       >       >       >       >       netstat -taunp to check if there is anything running at port 5900 or
>       >       >       >       >       >       5901?
>       >       >       >       >       >
>       >       >       >       >       >       Cheers,
>       >       >       >       >       >
>       >       >       >       >       >       Stefano
>       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >       >       On Tue, 18 Oct 2022, Vipul Suneja wrote:
>       >       >       >       >       >       > Hi Stefano,
>       >       >       >       >       >       >
>       >       >       >       >       >       > Thanks for the response!
>       >       >       >       >       >       >
>       >       >       >       >       >       > I could install tigerVNC, x11vnc & libvncserver in Dom0 xen-image-minimal but only
>       manage to
>       >       install
>       >       >       >       >       libvncserver(couldn't
>       >       >       >       >       >       install tigervnc
>       >       >       >       >       >       > & x11vnc because of x11
>       >       >       >       >       >       > support missing, it's wayland) in DOMU custom graphical image. I tried running
>       vncviewer with
>       >       IP
>       >       >       address &
>       >       >       >       port
>       >       >       >       >       in dom0 to
>       >       >       >       >       >       access the domu
>       >       >       >       >       >       > graphical image display as per below commands.
>       >       >       >       >       >       >  
>       >       >       >       >       >       >  vncviewer 192.168.1.42:5901
>       >       >       >       >       >       >  
>       >       >       >       >       >       >  But it showing can't open display, below are the logs:
>       >       >       >       >       >       >  
>       >       >       >       >       >       > root@raspberrypi4-64:~/guest1# vncviewer 192.168.1.42:5901
>       >       >       >       >       >       >
>       >       >       >       >       >       > TigerVNC Viewer 64-bit v1.11.0
>       >       >       >       >       >       > Built on: 2020-09-08 12:16
>       >       >       >       >       >       > Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst)
>       >       >       >       >       >       > See https://www.tigervnc.org for information on TigerVNC.
>       >       >       >       >       >       > Can't open display:
>       >       >       >       >       >       > root@raspberrypi4-64:~/guest1#
>       >       >       >       >       >       >
>       >       >       >       >       >       > I am not exactly sure what the issue is but I thought only libvncserver in DOMU could
>       work to
>       >       get
>       >       >       access but
>       >       >       >       it
>       >       >       >       >       did not
>       >       >       >       >       >       work. 
>       >       >       >       >       >       > If TigerVNC is the issue here then is there any other VNC source which could be
>       installed for
>       >       both
>       >       >       x11 &
>       >       >       >       >       wayland supported
>       >       >       >       >       >       images?
>       >       >       >       >       >       >
>       >       >       >       >       >       > Regards,
>       >       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >       >
>       >       >       >       >       >       > On Tue, Oct 18, 2022 at 2:40 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       >       >       >       VNC is typically easier to setup, because SDL needs extra libraries at
>       >       >       >       >       >       >       build time and runtime. If QEMU is built without SDL support it won't
>       >       >       >       >       >       >       start when you ask for SDL.
>       >       >       >       >       >       >
>       >       >       >       >       >       >       VNC should work with both x11 and wayland in your domU. It doesn't work
>       >       >       >       >       >       >       at the x11 level, it exposes a special fbdev device in your domU that
>       >       >       >       >       >       >       should work with:
>       >       >       >       >       >       >       - a graphical console in Linux domU
>       >       >       >       >       >       >       - x11
>       >       >       >       >       >       >       - wayland (but I haven't tested this so I am not 100% sure about it)
>       >       >       >       >       >       >
>       >       >       >       >       >       >       When you say "it doesn't work", what do you mean? Do you get a black
>       >       >       >       >       >       >       window?
>       >       >       >       >       >       >
>       >       >       >       >       >       >       You need CONFIG_XEN_FBDEV_FRONTEND in Linux domU
>       >       >       >       >       >       >       (drivers/video/fbdev/xen-fbfront.c). I would try to get a graphical text
>       >       >       >       >       >       >       console up and running in your domU before attempting x11/wayland.
>       >       >       >       >       >       >
>       >       >       >       >       >       >       Cheers,
>       >       >       >       >       >       >
>       >       >       >       >       >       >       Stefano
>       >       >       >       >       >       >
>       >       >       >       >       >       >       On Mon, 17 Oct 2022, Vipul Suneja wrote:
>       >       >       >       >       >       >       > Hi,
>       >       >       >       >       >       >       > Thanks!
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > I have ported xen minimal image as DOM0 & custom wayland GUI based image as
>       DOMU in
>       >       raspberry
>       >       >       pi4B. I
>       >       >       >       >       am trying to
>       >       >       >       >       >       make GUI
>       >       >       >       >       >       >       display up
>       >       >       >       >       >       >       > for guest machine. I tried using sdl, included below line in guest.conf file
>       >       >       >       >       >       >       > vfb= [ 'sdl=1' ]
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > But it is throwing below error:
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > root@raspberrypi4-64:~/guest1# xl create -c guest1.cfg
>       >       >       >       >       >       >       > Parsing config from guest1.cfg
>       >       >       >       >       >       >       > libxl: error: libxl_qmp.c:1400:qmp_ev_fd_callback: Domain 3:error on QMP
>       socket:
>       >       Connection
>       >       >       reset by
>       >       >       >       >       peer
>       >       >       >       >       >       >       > libxl: error: libxl_qmp.c:1439:qmp_ev_fd_callback: Domain 3:Error happened
>       with the
>       >       QMP
>       >       >       connection to
>       >       >       >       >       QEMU
>       >       >       >       >       >       >       > libxl: error: libxl_dm.c:3351:device_model_postconfig_done: Domain 3:Post DM
>       startup
>       >       configs
>       >       >       failed,
>       >       >       >       >       rc=-26
>       >       >       >       >       >       >       > libxl: error: libxl_create.c:1867:domcreate_devmodel_started: Domain 3:device
>       model
>       >       did not
>       >       >       start:
>       >       >       >       -26
>       >       >       >       >       >       >       > libxl: error: libxl_aoutils.c:646:libxl__kill_xs_path: Device Model already
>       exited
>       >       >       >       >       >       >       > libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain 3:Non-existant
>       domain
>       >       >       >       >       >       >       > libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain 3:Unable to
>       destroy
>       >       guest
>       >       >       >       >       >       >       > libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain 3:Destruction of
>       domain
>       >       failed
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > Another way is VNC, i could install tigervnc in DOM0 but same i couldn't in
>       guest
>       >       machine
>       >       >       because it
>       >       >       >       >       doesn't support
>       >       >       >       >       >       >       x11(supports wayland
>       >       >       >       >       >       >       > only). I am completely blocked here, Need your support to enable the display
>       up.
>       >       >       >       >       >       >       > Any alternative of VNC which could work in both x11 & wayland supported
>       images?
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > Any input on VNC, SDL or any other way to proceed on this? Looking forward to
>       hearing
>       >       from
>       >       >       you.
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > Regards,
>       >       >       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >       >
>       >       >       >       >       >       >
>       >       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >
>       >       >       >       >
>       >       >       >       >
>       >       >       >
>       >       >       >
>       >       >       >
>       >       >
>       >       >
>       >       >
>       >
>       >
>       >
> 
> 
> 
--8323329-250311784-1670973508=:315094--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 01:24:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 01:24:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461513.719601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5GVD-0004ja-46; Wed, 14 Dec 2022 01:24:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461513.719601; Wed, 14 Dec 2022 01:24:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5GVD-0004jT-1J; Wed, 14 Dec 2022 01:24:07 +0000
Received: by outflank-mailman (input) for mailman id 461513;
 Wed, 14 Dec 2022 01:24:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5GVC-0004jJ-Ma; Wed, 14 Dec 2022 01:24:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5GVC-00086h-LQ; Wed, 14 Dec 2022 01:24:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5GVC-0005oY-BS; Wed, 14 Dec 2022 01:24:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5GVC-0005iT-B2; Wed, 14 Dec 2022 01:24:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1mxqQEmREP9hv9RAXFRebsAPRLTruWcRNsiBjUCDDH8=; b=gi9sc8wV4Hf0/3zERso6xGLmmi
	RQekIQ/APWj8wEnuRrrXm3E3gYFeOFyrT6ftfBXsmguFqsp65lMOqKbL9eOxqoO7msrKS+FdxMjpD
	b/iTH+oh1I91aaloUJXnfD8gPM9GlHzcsd61C7yZBwtUqQlzZlMvMDEoRLCkOlkUaz8M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175182-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175182: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=592bf33a29360e8a447ed8b75daefe94c0888642
X-Osstest-Versions-That:
    ovmf=1fd8d08970a9ee7d350c7dd42bffb0cb96426041
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 01:24:06 +0000

flight 175182 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175182/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 592bf33a29360e8a447ed8b75daefe94c0888642
baseline version:
 ovmf                 1fd8d08970a9ee7d350c7dd42bffb0cb96426041

Last test of basis   175176  2022-12-13 17:10:42 Z    0 days
Testing same since   175182  2022-12-13 21:40:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michael D Kinney <michael.d.kinney@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   1fd8d08970..592bf33a29  592bf33a29360e8a447ed8b75daefe94c0888642 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 01:29:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 01:29:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461524.719615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5GZv-0005bV-NA; Wed, 14 Dec 2022 01:28:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461524.719615; Wed, 14 Dec 2022 01:28:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5GZv-0005bO-KY; Wed, 14 Dec 2022 01:28:59 +0000
Received: by outflank-mailman (input) for mailman id 461524;
 Wed, 14 Dec 2022 01:28:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5GZt-0005bH-QG
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 01:28:58 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id abcf4636-7b4e-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 02:28:55 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 85A405C018C;
 Tue, 13 Dec 2022 20:28:53 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Tue, 13 Dec 2022 20:28:53 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 20:28:52 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abcf4636-7b4e-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670981333; x=
	1671067733; bh=bW+6nZ6X+HdfQiDzZQYpMKlivPvU5Aik6D+P6x0U79M=; b=P
	dkkJ87pVs+hEttzhzQjcoBpHRjiRtcXcwHmleT0JLGmNzcsSqt47k9x1q9HbNivu
	r0dhzwFA6ZqgP/jTYoYf0CZSZBcG3HjA+Egib6uUoXxS9D/Iccwl6//hTjFmW3MN
	SwwdbVFywTvtgFvxGZh87Anj+ujBJzgbhdDXQwPN9h82cL+WSlcw6wgJIHK5CTT2
	4kLXgfJ9veO1Sh7uejT/srgGPvpW50jqhgWMcD1eqjQmf4NL/O/wLLKc+3ZrxUJY
	+UheW5pT/h3QZrEBUmFfS6wJN2dqhR5V1ADe2GGsTeCicTu/IhBJgpWeHAYApagk
	4xLiGe43eGGnoacc+5H5Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1670981333; x=1671067733; bh=bW+6nZ6X+HdfQiDzZQYpMKlivPvU
	5Aik6D+P6x0U79M=; b=F7PtiWsUNbm5eBiwijb/8yUVC6zEmaTiwjS6EUJQJhbj
	W+oXJ0loppxx7yT6IS9feLDaWPfn0UyOZVbIK5Pr7dnmw0voYcSXGVvlqI+cmhXD
	7omaPjLQ/c7kCTk7aRl9hf84LimDsdGIOVbbFIBGwITmtoyz9VqaaXwP89/fP8l+
	Dnm6plJXuWrBy0Ac2n8yXm8UbCt6RFyjkmJpWdJZk0r20PkzQGCdQPhZ1JBTcTzM
	VGKNXZ6N0Uoc/0oLfOHzDzLKbcK+JQTVE5ivRsXWzYAslxk4oO/KmnX0IWW72gNI
	yRw1PN3VKrvWCw3XQabMUSyLbFpfAZU0jQp+KKP2CQ==
X-ME-Sender: <xms:1SaZYxmBRYYlHEHOXwJUwSUGU4GRG1TdHwTSlFCZ6QHzd7DXMtMraw>
    <xme:1SaZY82Jlpa5pVKIdKbq0uTkXNWHg1lpWO1GRyxZjrobukY7BpZ5Tx3VIFU6623N3
    0w8V08Qr71iXO0>
X-ME-Received: <xmr:1SaZY3oyQyQiGXKKmxxfHjlJATQDVR30TENa5-wWnjHsYaR-t-j5sJqrOXYB>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedvgdeffecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffegfffg
    uddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:1SaZYxmGUWm0T2ajjd8bqye5zY02xB0TOv6Ybzsll4RyRDbac7ihBA>
    <xmx:1SaZY_1SgJ8B17Cc_n5599VSSc-MHzswVKoKSLzi4pTBpW0iCTNYAQ>
    <xmx:1SaZYwtAVZxXQ4cmvcH4TbiARWfT1nyHJcvIo5e4M61MWhR52GEUpw>
    <xmx:1SaZY4ueRYvWTyD3HM73i_iL8z174d33xuRqt8b5JvDwpb-EEklrKg>
Feedback-ID: iac594737:Fastmail
Date: Tue, 13 Dec 2022 20:28:45 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>,
	"Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Message-ID: <Y5km0/9Nb7gJTxGq@itl-email>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
 <Y5j7KQ9g5Yb/ufn+@itl-email>
 <901d2088-49e7-634f-f55b-e4ea2e706fed@xen.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="iRoJtQnmne3JpMVv"
Content-Disposition: inline
In-Reply-To: <901d2088-49e7-634f-f55b-e4ea2e706fed@xen.org>


--iRoJtQnmne3JpMVv
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 13 Dec 2022 20:28:45 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>,
	"Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen

On Tue, Dec 13, 2022 at 11:05:49PM +0000, Julien Grall wrote:
> Hi Demi,
>=20
> On 13/12/2022 22:22, Demi Marie Obenour wrote:
> > On Tue, Dec 13, 2022 at 08:55:28PM +0000, Julien Grall wrote:
> > > On 13/12/2022 19:48, Smith, Jackson wrote:
> > > > Hi Xen Developers,
> > >=20
> > > Hi Jackson,
> > >=20
> > > Thanks for sharing the prototype with the community. Some questions/r=
emarks
> > > below.
> >=20
> > [snip]
> >=20
> > > > With this technique, we protect the integrity and confidentiality of
> > > > guest memory. However, a compromised hypervisor can still read/write
> > > > register state during traps, or refuse to schedule a guest, denying
> > > > service. We also recognize that because this technique precludes
> > > > modifying Xen's page tables after startup, it may not be compatible
> > > > with all of Xen's potential use cases. On the other hand, there are
> > > > some uses cases (in particular statically defined embedded systems)
> > > > where our technique could be adopted with minimal friction.
> > >=20
> > >  From what you wrote, this sounds very much like the project Citrix a=
nd
> > > Amazon worked on called "Secret-free hypervisor" with a twist. In you=
r case,
> > > you want to prevent the hypervisor to map/unmap the guest memory.
> > >=20
> > > You can find some details in [1]. The code is x86 only, but I don't s=
ee any
> > > major blocker to port it on arm64.
> >=20
> > Is there any way the secret-free hypervisor code could be upstreamed?
> This has been in my todo list for more than year but didn't yet find anyo=
ne
> to finish the work.
>=20
> I need to have a look how much left the original work it is left to do.
> Would you be interested to contribute?

That=E2=80=99s up to Marek.  My understanding is that it would allow guests=
 to
use SMT if (and only if) they do not rely on any form of in-guest
sandboxing (at least as far as confidentiality is concerned).  In Qubes
OS, most guests should satisfy this criterion.  The main exception are
guests that run a web browser or that use the sandboxed indexing
functionality of tracker3.  In particular, Marek=E2=80=99s builders and oth=
er
qubes that do CPU-intensive workloads could benefit significantly.

> > My understanding is that it would enable guests to use SMT without
> > risking the host, which would be amazing.
> >=20
> > > > 	Virtualized MMIO on arm needs to decode certain load/store
> > > > 	instructions
> > >=20
> > > On Arm, this can be avoided of the guest OS is not using such instruc=
tion.
> > > In fact they were only added to cater "broken" guest OS.
> > >=20
> > > Also, this will probably be a lot more difficult on x86 as, AFAIK, th=
ere is
> > > no instruction syndrome. So you will need to decode the instruction i=
n order
> > > to emulate the access.
> >=20
> > Is requiring the guest to emulate such instructions itself an option?
> > =CE=BCXen, SEV-SNP, and TDX all do this.
>=20
>=20
> I am not very familiar with this. So a few questions:
>  * Does this mean the OS needs to be modified?

Any form of confidential computing requires that the OS be modified to
treat the devices (such as disk and network interfaces) that it receives
=66rom the host as untrusted, so such modification will be needed anyway.
Therefore, this is not an obstacle.  Conversely, cases where modifying
the guest is not possible invariably consider the host to be trusted,
unless I am missing something.

In contexts where the host is trusted, and the goal is to e.g. get rid
of the hypervisor=E2=80=99s instruction emulator, one approach would be inj=
ect
some emulation code into the guest that runs with guest kernel
privileges and has full R/W over all guest memory.  The emulation code
would normally be hidden by second-level page tables, but when the
hypervisor needs to emulate an instruction, the hypervisor switches to a
second-level page table in which this code and its stack are visible.
The emulation logic then does the needed emulation and returns to the
hypervisor, without the guest ever being aware that anything unusual has
happened.  While the emulation logic runs in the guest, it is normally
hidden by second-level page tables, so even the guest kernel cannot
observe or tamper with it.

>  * What happen for emulated device?

Using emulated devices in a setup where the emulator is not trusted
makes no sense anyway, so I don=E2=80=99t think this question is relevant. =
 The
only reason to use emulated devices is legacy compatibility, and the
legacy OSs that require them will consider them to be trusted.
Therefore, relying on emulated devices would defeat the purpose.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--iRoJtQnmne3JpMVv
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOZJtEACgkQsoi1X/+c
IsEQNQ/9G0MlrtKsmmrWsax1fjzqpKzVRJp8oFmXTT1M7IX5ycJkWJSqTufufZH9
SwCE2vjh+b0jeRkIsGwPOm4l/VOX5LSB3eYk9f3edp/aqS/nRlENQzZCEZkPEkWG
6SSEzU+7M5bBhVnl8cOJYC/2F5z8D9b+PPc3GDHgm5a7tMiO/YfdMNxyu2TfwD/r
1xzyjm61+xR4Mvb4BjlKNWutCQnSglaiWUR1HfPE5IV5dN1hSKiqRfvSGTVWtPOW
5w9Xo3m1fM926fwQwobm/UYg51NYdERoQDuJHoWr/QIRsdxRwihioK93xnKayL9L
YK+vggiQr26aLRVZ3lLlGis9V5OZQAY37IzjIwBjJFmXdkWGJLUv1HUakeDgArzq
hJbNfPAYMT3Yx//4B8LWSgDzQeTLFV1xPLZL0WFVp0lQMjPBoeCY4rWbspYP2OWt
AukQBOIQVJuvi0/dCBT8ONNiZxHZ+WFnW4rn5CSOEiDGpgIowvgDlTLO5Rgn57jW
LXawByavWp9IVO2eYcfqquj01Mcpd5CvbfKHe4vw3FRzT+d+b0DnvfXAELqltpB+
MImhoqsjbr8aLa/9tClO5huhdYXHMH7DlsTWSstQVfzA86FkWJp0D5GI3BEL3Lz3
2z9QVibX3G05UR/D/nEeJJUBmv0j49XjCZZmhtjm18v72d/3NFE=
=XBb6
-----END PGP SIGNATURE-----

--iRoJtQnmne3JpMVv--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 01:38:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 01:38:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461534.719629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5GjC-0007BS-L9; Wed, 14 Dec 2022 01:38:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461534.719629; Wed, 14 Dec 2022 01:38:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5GjC-0007BL-Gr; Wed, 14 Dec 2022 01:38:34 +0000
Received: by outflank-mailman (input) for mailman id 461534;
 Wed, 14 Dec 2022 01:38:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5GjB-0007BF-LQ
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 01:38:33 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 03717c09-7b50-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 02:38:31 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id AF7D45C017F;
 Tue, 13 Dec 2022 20:38:30 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Tue, 13 Dec 2022 20:38:30 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 13 Dec 2022 20:38:29 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03717c09-7b50-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1670981910; x=
	1671068310; bh=4EvO4EjpuT5PqkbOxBE4XWZGMp84vpwN7Pun9n+xRcI=; b=a
	IOZhlGIE8oMthkLWBTV6tNwWPJg5pRfUGCy+ijcWlwdIETOmnZrM4xgDkEiI+esl
	Gq6e1QAcEGcbj2ZMNTdPIhenqVyJ193ISuR6ktwS7IXxstdSeSwacrj1+QGR1wLS
	jwhHq0S2Bq/grD3F91TOMFmJCA9eXOkODTbJuEFe1r42KlvlAJIQ/4OaGzT0pfDq
	2sZbckvLMTIWTa1tLBxIU1RvEOaKg93IXZaiXWaeG/Jm+Tde29v+8y1NRW0aeG+8
	VRSh2UaZOIqIm1ZsgQMKdQq7sJuObssDre5d3e9/LA1CSa5kLbiGnKfq89nj5O2c
	4bpWFIV5EWZ4e/PqnwHuA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1670981910; x=1671068310; bh=4EvO4EjpuT5PqkbOxBE4XWZGMp84
	vpwN7Pun9n+xRcI=; b=Zu7G7Xcr/fOJFOJYLNuXNbLBHNGoW6FpPSenJzbiRE2E
	Rspx9ZSnXcwIuT8e7dxVuSZt2yze8kzvBO0dzaiFWjKUrWI/uj2w71NRy3pLNqWI
	2sRoku420nURgZwpN5nQbBKYW+wJXJnszps2B9D3Tuu86h23lZWpZ5fdIHqCxHYy
	ASDXsWaODIZSYNARw1WYXyaLlcokBXsMV8ascTvReRSzSnw/O7lx5fVbCr11bR1K
	RssSdWeAcH2IQpX0MnhySqDFRUQ6TiG4KplTZtQZ1WsHy0DWQjPB7ZCDqeJWcSqx
	v21TF9jmcuFejJB/Pc7i3hla13dBDVGRxM0gzTWN+A==
X-ME-Sender: <xms:FimZY2pvclI1egvormuLfCPzVofvXa3DjPxXm0g75EII98DY5cIY1Q>
    <xme:FimZY0rIgNQSPo1UBMSxLrExwFcF2MipQEDKP1R87ZvBTiWIW_a6QHTtaaN5VokIn
    yDyGhT2e1NDi0g>
X-ME-Received: <xmr:FimZY7MbYPb3xrPpOy2273F_qg-YH555dB-GfHIODXBJXglFA8m98WACA18N>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfedvgdefhecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffegfffg
    uddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:FimZY14Jtkfbcv7NO7TXXLXrKMbbpbVoYfgUilN2PZj1ZZm64fVwbg>
    <xmx:FimZY1412He-oRdklh7clnI0WqWUGjtORemAEJa2NQG0l0NBx094ZQ>
    <xmx:FimZY1jJj36TlEnUR_5VVDgjEz95CnlMCAgT5aRHZ-pwktHRQoDfFw>
    <xmx:FimZY6E9-DxwRe2zph_85BICrWUyeKlaVibRb0dkyEQSSO7Qb2QuXw>
Feedback-ID: iac594737:Fastmail
Date: Tue, 13 Dec 2022 20:38:26 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>,
	"Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 3/4] Add xen superpage splitting support to arm
Message-ID: <Y5kpFMp38Yg7If/Y@itl-email>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <BN0P110MB1642CCC518921DC7F2BB3BB3CFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <c8f9e15a-81d1-ef8c-0baf-1758e7d89eee@xen.org>
 <Y5j5/qinMwxizxMc@itl-email>
 <dd6a05d5-5c3d-7a65-9951-b9c0aabadc81@xen.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="M6mo/HmIjDqfcmrC"
Content-Disposition: inline
In-Reply-To: <dd6a05d5-5c3d-7a65-9951-b9c0aabadc81@xen.org>


--M6mo/HmIjDqfcmrC
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 13 Dec 2022 20:38:26 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>,
	"Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 3/4] Add xen superpage splitting support to arm

On Tue, Dec 13, 2022 at 11:07:55PM +0000, Julien Grall wrote:
> Hi Demi,
>=20
> On 13/12/2022 22:17, Demi Marie Obenour wrote:
> > On Tue, Dec 13, 2022 at 09:15:49PM +0000, Julien Grall wrote:

[snip]

> > > > +
> > > > +    /*
> > > > +     * Generate the entry for this new table we created,
> > > > +     * and write it back in place of the superpage entry.
> > > > +     */
> > >=20
> > > I am afraid this is not compliant with the Arm Arm. If you want to up=
date
> > > valid entry (e.g. shattering a superpage), then you need to follow the
> > > break-before-make sequence. This means that:
> > >    1. Replace the valid entry with an entry with an invalid one
> > >    2. Flush the TLBs
> > >    3. Write the new entry
> > >=20
> > > Those steps will make your code compliant but it also means that a vi=
rtual
> > > address will be temporarily invalid so you could take a fault in the =
middle
> > > of your split if your stack or the table was part of the region. The =
same
> > > could happen for the other running CPUs but this is less problematic =
as they
> > > could spin on the page-table lock.
> >=20
> > Could this be worked around by writing the critical section in
> > assembler?
>=20
> Everything is feasible. Is this worth it? I don't think so. There are way=
 we
> can avoid the shattering at first by simply not mapping all the RAM.

Good point.  I do wonder what would go wrong if one replaced one live
PTE with another that pointed to the same physical address.  Is this
merely a case of =E2=80=9Cspec doesn=E2=80=99t allow it=E2=80=9D, or does i=
t actually break on
real hardware?

> > The assembler code would never access the stack and would
> > run with interrupts disabled.  There could also be BUG() checks for
> > attempting to shatter a PTE that was needed to access the PTE in
> > question, though I suspect one can work around this with a temporary
> > PTE.  That said, shattering large pages requires allocating memory,
> > which might fail.  What happens if the allocation does fail?
>=20
> If this is only done during boot, then I would argue you will want to cra=
sh
> Xen.

Fair!  Even NASA=E2=80=99s coding standards for spacecraft allow for dynamic
allocation during initialization.  After all, initialization is
typically deterministic and easy to test.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--M6mo/HmIjDqfcmrC
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOZKRMACgkQsoi1X/+c
IsEZOQ//SaV7lrEwUq406S9M54mcBzrcJCwa6BajG7QysXxDypFV+vr6F83JV0Vb
DfGq6j9NXBy3BU3LNDt4JfwEacoSacBy7xWb+TcBbqFtTC3qc3oMHj5EYqRoWylE
I5SKwp/G/SiDFKOfrol7fJylbUKqJUHuXVaScolkxSt5ejP/j8fWmVMObHowTvjJ
s003hd2gTTvjB9IpElv2eMD7P3PW/kvlZKJMQPpR+WdjIG+9A/t3VWtt+AISJDt1
7A7wnr4tcXIDQ+qygD3hs/Ki9tuhrn7w7z9WEFfkj1DnApT5A7s7PR45AWFjOnmV
lGt+a58HnGIo3U6h7yx8Y2tJIR1RhZM2kUSdiZoTkSrRzuPnH/nY+s6Y2wEL+nL9
iSpBiS2DadvFU64to/Hrk0ci8eIW0zzMDVES0XPWWarc6L9p5sxkCi26kID67NsA
d/WyHFGBqMGPICP4QWt99HX6JiVKqERJGj1RXkLWGfYDckTGhcFHa/3Yqzd288fD
6t2i11l1fN7nBNr56qhfoY8qwwRTOrFQWT3btXlmUR5elprC/Wu0vsr8P99PcvV6
aYE031fPjqh5UavyzMZNvhQUXvbWdo/AOsf7wNkBx9g665JOgoVuK0fR2RpZQ1cb
4WvnthWzhz8QzwSlvrV9LjtlBrAzp6m9S0r0AGMUFkiFR45Vhlc=
=vZvL
-----END PGP SIGNATURE-----

--M6mo/HmIjDqfcmrC--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 01:47:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 01:47:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461543.719640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Grj-0000fa-FC; Wed, 14 Dec 2022 01:47:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461543.719640; Wed, 14 Dec 2022 01:47:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Grj-0000fT-Bp; Wed, 14 Dec 2022 01:47:23 +0000
Received: by outflank-mailman (input) for mailman id 461543;
 Wed, 14 Dec 2022 01:47:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5Gri-0000fJ-AB; Wed, 14 Dec 2022 01:47:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5Gri-0000DM-8G; Wed, 14 Dec 2022 01:47:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5Grh-0006KX-Mt; Wed, 14 Dec 2022 01:47:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5Grh-0004cw-ME; Wed, 14 Dec 2022 01:47:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=O/RlhWetMBM2gF58oS7BYpsNzMSwepGSR8AvvwIu4ew=; b=3p0b1G0CXO+gtHMQ2Js2rBp8zz
	v2X5GknxWRgYLhkQSvZogAcvVWsuHPeFDqpf/JkOg00mN9TS/dAWeFGpxEzTlRivrGqIKRkl/Ozr0
	8S+w+606kLl/AE0r0XWtryOl6S2cc+/kqFwM8r+lV/azrjkLT+lMPhBDYv4EDSFsYo6o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175178-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175178: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:heisenbug
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=764822972d64e7f3e6792278ecc7a3b3c81087cd
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 01:47:21 +0000

flight 175178 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175178/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Tests which are failing intermittently (not blocking):
 test-amd64-coresched-amd64-xl 20 guest-localmigrate/x10 fail in 175166 pass in 175178
 test-amd64-amd64-xl-credit2   8 xen-boot                   fail pass in 175166
 test-amd64-amd64-freebsd12-amd64  8 xen-boot               fail pass in 175166
 test-amd64-amd64-xl-xsm      18 guest-localmigrate         fail pass in 175166
 test-amd64-amd64-pair        12 xen-boot/src_host          fail pass in 175166
 test-amd64-amd64-pair        13 xen-boot/dst_host          fail pass in 175166

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                764822972d64e7f3e6792278ecc7a3b3c81087cd
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   67 days
Failing since        173470  2022-10-08 06:21:34 Z   66 days  135 attempts
Testing same since   175166  2022-12-13 08:33:35 Z    0 days    2 attempts

------------------------------------------------------------
2299 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 259053 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 01:49:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 01:49:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461555.719651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5GtV-0001JW-W4; Wed, 14 Dec 2022 01:49:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461555.719651; Wed, 14 Dec 2022 01:49:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5GtV-0001JP-T9; Wed, 14 Dec 2022 01:49:13 +0000
Received: by outflank-mailman (input) for mailman id 461555;
 Wed, 14 Dec 2022 01:49:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=akjR=4M=gmail.com=jcmvbkbc@srs-se1.protection.inumbo.net>)
 id 1p5GtU-0001JJ-EG
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 01:49:12 +0000
Received: from mail-yb1-xb2d.google.com (mail-yb1-xb2d.google.com
 [2607:f8b0:4864:20::b2d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8113bdec-7b51-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 02:49:11 +0100 (CET)
Received: by mail-yb1-xb2d.google.com with SMTP id o127so19850797yba.5
 for <xen-devel@lists.xenproject.org>; Tue, 13 Dec 2022 17:49:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8113bdec-7b51-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=xExdyQDhYTgV1IdxIuGP7o71ehB3CFKVoLy9PDmyibI=;
        b=CpQZevHLxrKv/1hgs+V2M6cSkSoV06F4lrYnaOXQP0TPCfiOv3a3XN/FUVsGLczONc
         Xoat0JVF6aWTnCtcoy0u8DaFnXLbOjr0GHowLyZMrkgrzMTSZuQb7jBkg29up3JFdnwb
         z1xpRhcvLh6rCbteub8Jcjve+YrOKZGEMD7u0Lze3jmBJXrFTkMX5NNiAeXpg7USuUsU
         H40QWeWHAWUskJKHXI/uEl0ZGO7h/DpvUk2CvRbW29DwT9GxFM07swURLZpZdI4fbjpV
         Hlq89BIEjgQzeMI9bDbAYiB6D/gX0qGIS3aqm628+LMHVQ3l5rrxI4O+dCFluPi5Hu0T
         Q+Rg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=xExdyQDhYTgV1IdxIuGP7o71ehB3CFKVoLy9PDmyibI=;
        b=URdnxqOyuHVfW+e3AgK9kywZ13z5YF80WbxYMoV44C8S2z/MI/k0XNkhpyH+KqtGmK
         hP3sZ8dghdpvAwl7vrsZuaEbRPerpi+la4nNZqngqxi3Q1ukWeEYCZWgG/V55IOVoXdZ
         JC6Ol5D2R8RPUOtYohMCxYD6Aa00G7D9058pcQSVOZ5jJMoUFSD1UcqrwDNlxHUz/K3g
         NM4wIagupCZTctS5WnnT24VQGDo35MoNpCxY6L4KG93/TxlQWgKJx0d7NQmTksCQrNZ1
         2Pc22KIDE2zVJU8D5PqqsscsTZMpEM8udGCh4dNUMcRGZ5c89U5VadpTP+lGk5s1ZQlS
         FY/w==
X-Gm-Message-State: ANoB5pkEwsYsJvUe7F8aOKKkSeCwOFqaw9lS1IjRy66ACv9rE9Z9Z6Xg
	2QbHB7EoU/v/bBKTNTpgTbC7Zwe4MUMP4olh1aQ=
X-Google-Smtp-Source: AA0mqf6aVToRrr31IEWqBS+HG0H/EHpXHAs4dR9uyadBVst6sowJPiHa9e2nz4BE/XZPJEaRMOKC5NsyelGKuryt+Ws=
X-Received: by 2002:a25:6b4e:0:b0:6f9:91bd:c5de with SMTP id
 o14-20020a256b4e000000b006f991bdc5demr41309865ybm.497.1670982550268; Tue, 13
 Dec 2022 17:49:10 -0800 (PST)
MIME-Version: 1.0
References: <b2ada465-8eec-a7e3-0265-df9d0e8492d2@gmail.com>
In-Reply-To: <b2ada465-8eec-a7e3-0265-df9d0e8492d2@gmail.com>
From: Max Filippov <jcmvbkbc@gmail.com>
Date: Tue, 13 Dec 2022 17:48:59 -0800
Message-ID: <CAMo8Bf+8Bn7pNNbBbXgphfe41Kxx7cHb9LTtBexy15mpL8hKuw@mail.gmail.com>
Subject: Re: [PATCH] arch: change variable types to match those of what is
 assigned to them
To: Seija Kijin <doremylover123@gmail.com>
Cc: sstabellini@kernel.org, tsbogend@alpha.franken.de, chris@zankel.net, 
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

Hi Seija,

On Tue, Dec 13, 2022 at 4:51 PM Seija Kijin <doremylover123@gmail.com> wrote:
>
> There are many places where "int len = strlen(foo);" is written, just for len to be passed as a parameter of size_t.

[...]

> diff --git a/arch/xtensa/platforms/iss/console.c b/arch/xtensa/platforms/iss/console.c
> index 10b79d3c74e0..3159917ffd2f 100644
> --- a/arch/xtensa/platforms/iss/console.c
> +++ b/arch/xtensa/platforms/iss/console.c
> @@ -64,7 +64,7 @@ static int rs_write(struct tty_struct * tty,
>   static void rs_poll(struct timer_list *unused)
>   {
>       struct tty_port *port = &serial_port;
> -    int i = 0;
> +    size_t i = 0;

This is not what happens here at all.

-- 
Thanks.
-- Max


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 02:28:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 02:28:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461563.719661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5HVm-00078B-1n; Wed, 14 Dec 2022 02:28:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461563.719661; Wed, 14 Dec 2022 02:28:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5HVl-000784-VM; Wed, 14 Dec 2022 02:28:45 +0000
Received: by outflank-mailman (input) for mailman id 461563;
 Wed, 14 Dec 2022 02:28:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5HVk-00077u-Nj; Wed, 14 Dec 2022 02:28:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5HVk-0001WJ-KP; Wed, 14 Dec 2022 02:28:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5HVj-0007Nb-VL; Wed, 14 Dec 2022 02:28:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5HVj-0004Zx-Uy; Wed, 14 Dec 2022 02:28:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cdO9pmxEjqxlYVa9/qOUYmH/+PHa3HWqUEmnbFfI+qQ=; b=HlkDoUVqRIdWbnEtBWFEBa5Hmk
	Bfdfmu1dKbM8ultzi80ITVSIXRhn9IN57WFECbrPtJ2bpVba7xcbEcV4n1NQM+Fl2VowSPY+8wknY
	ojWimxutwpOiIalRaCsPV+X13FoYG2l/f78EKJUdhAME2UvmV56bzotSZ5tJzzmqCxG0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175180-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175180: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-livepatch:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-4:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-pygrub:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-5:xen-boot:fail:regression
    xen-unstable:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-examine-uefi:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine:reboot:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-pair:xen-install/src_host:fail:heisenbug
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-pair:xen-boot/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-pair:xen-boot/dst_host:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-xsm:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qcow2:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=bc19af0bd4b8d0bb817defa4470873c80f67b6c2
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 02:28:43 +0000

flight 175180 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175180/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-livepatch     8 xen-boot                 fail REGR. vs. 175144
 test-xtf-amd64-amd64-4        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 175148
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 175148
 test-amd64-i386-qemut-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 175148
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 175148
 test-xtf-amd64-amd64-5        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 175148
 test-amd64-amd64-qemuu-freebsd11-amd64  8 xen-boot       fail REGR. vs. 175148
 test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot fail in 175168 REGR. vs. 175148
 test-amd64-i386-pair      12 xen-boot/src_host fail in 175168 REGR. vs. 175148
 test-amd64-i386-pair      13 xen-boot/dst_host fail in 175168 REGR. vs. 175148

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 175168 pass in 175180
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot                fail pass in 175168
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot   fail pass in 175168
 test-amd64-i386-pair         10 xen-install/src_host       fail pass in 175168
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 175168
 test-amd64-amd64-pair        12 xen-boot/src_host          fail pass in 175168
 test-amd64-amd64-pair        13 xen-boot/dst_host          fail pass in 175168
 test-amd64-i386-xl-xsm        8 xen-boot                   fail pass in 175168
 test-amd64-amd64-xl-qcow2     8 xen-boot                   fail pass in 175168
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175168

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175148
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175148
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175148
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175148
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175148
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175148
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175148
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  bc19af0bd4b8d0bb817defa4470873c80f67b6c2
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175148  2022-12-12 01:53:19 Z    2 days
Failing since        175154  2022-12-12 15:07:03 Z    1 days    4 attempts
Testing same since   175168  2022-12-13 09:15:35 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       fail    
 test-xtf-amd64-amd64-5                                       fail    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 420 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 03:17:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 03:17:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461576.719684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5IGd-0005kz-UX; Wed, 14 Dec 2022 03:17:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461576.719684; Wed, 14 Dec 2022 03:17:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5IGd-0005ks-RR; Wed, 14 Dec 2022 03:17:11 +0000
Received: by outflank-mailman (input) for mailman id 461576;
 Wed, 14 Dec 2022 03:17:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LNGa=4M=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p5IGd-0005ka-6z
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 03:17:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id cae3d30d-7b5d-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 04:17:09 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 8C041FEC;
 Tue, 13 Dec 2022 19:17:48 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.24])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id DD9CC3F73B;
 Tue, 13 Dec 2022 19:17:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cae3d30d-7b5d-11ed-8fd2-01056ac49cbb
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 1/3] xen/arm: Add memory overlap check for bootinfo.reserved_mem
Date: Wed, 14 Dec 2022 11:16:52 +0800
Message-Id: <20221214031654.2815589-2-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221214031654.2815589-1-Henry.Wang@arm.com>
References: <20221214031654.2815589-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As we are having more and more types of static region, and all of
these static regions are defined in bootinfo.reserved_mem, it is
necessary to add the overlap check of reserved memory regions in Xen,
because such check will help user to identify the misconfiguration in
the device tree at the early stage of boot time.

Currently we have 3 types of static region, namely
(1) static memory
(2) static heap
(3) static shared memory

(1) and (2) are parsed by the function `device_tree_get_meminfo()` and
(3) is parsed using its own logic. All of parsed information of these
types will be stored in `struct meminfo`.

Therefore, to unify the overlap checking logic for all of these types,
this commit firstly introduces a helper `meminfo_overlap_check()` and
a function `check_reserved_regions_overlap()` to check if an input
physical address range is overlapping with the existing memory regions
defined in bootinfo. After that, use `check_reserved_regions_overlap()`
in `device_tree_get_meminfo()` to do the overlap check of (1) and (2)
and replace the original overlap check of (3) with
`check_reserved_regions_overlap()`.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v1 -> v2:
1. Split original `overlap_check()` to `meminfo_overlap_check()`.
2. Rework commit message.
---
 xen/arch/arm/bootfdt.c           | 13 +++++-----
 xen/arch/arm/include/asm/setup.h |  2 ++
 xen/arch/arm/setup.c             | 42 ++++++++++++++++++++++++++++++++
 3 files changed, 50 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 0085c28d74..e2f6c7324b 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -88,6 +88,9 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
     for ( i = 0; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
     {
         device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
+        if ( mem == &bootinfo.reserved_mem &&
+             check_reserved_regions_overlap(start, size) )
+            return -EINVAL;
         /* Some DT may describe empty bank, ignore them */
         if ( !size )
             continue;
@@ -482,7 +485,9 @@ static int __init process_shm_node(const void *fdt, int node,
                 return -EINVAL;
             }
 
-            if ( (end <= mem->bank[i].start) || (paddr >= bank_end) )
+            if ( check_reserved_regions_overlap(paddr, size) )
+                return -EINVAL;
+            else
             {
                 if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
                     continue;
@@ -493,12 +498,6 @@ static int __init process_shm_node(const void *fdt, int node,
                     return -EINVAL;
                 }
             }
-            else
-            {
-                printk("fdt: shared memory region overlap with an existing entry %#"PRIpaddr" - %#"PRIpaddr"\n",
-                        mem->bank[i].start, bank_end);
-                return -EINVAL;
-            }
         }
     }
 
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index fdbf68aadc..6a9f88ecbb 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -143,6 +143,8 @@ void fw_unreserved_regions(paddr_t s, paddr_t e,
 size_t boot_fdt_info(const void *fdt, paddr_t paddr);
 const char *boot_fdt_cmdline(const void *fdt);
 
+int check_reserved_regions_overlap(paddr_t region_start, paddr_t region_size);
+
 struct bootmodule *add_boot_module(bootmodule_kind kind,
                                    paddr_t start, paddr_t size, bool domU);
 struct bootmodule *boot_module_find_by_kind(bootmodule_kind kind);
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 1f26f67b90..e6eeb3a306 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -261,6 +261,31 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
     cb(s, e);
 }
 
+static int __init meminfo_overlap_check(struct meminfo *meminfo,
+                                        paddr_t region_start,
+                                        paddr_t region_end)
+{
+    paddr_t bank_start = INVALID_PADDR, bank_end = 0;
+    unsigned int i, bank_num = meminfo->nr_banks;
+
+    for ( i = 0; i < bank_num; i++ )
+    {
+        bank_start = meminfo->bank[i].start;
+        bank_end = bank_start + meminfo->bank[i].size;
+
+        if ( region_end <= bank_start || region_start >= bank_end )
+            continue;
+        else
+        {
+            printk("Region %#"PRIpaddr" - %#"PRIpaddr" overlapping with bank[%u] %#"PRIpaddr" - %#"PRIpaddr"\n",
+                   region_start, region_end, i, bank_start, bank_end);
+            return -EINVAL;
+        }
+    }
+
+    return 0;
+}
+
 void __init fw_unreserved_regions(paddr_t s, paddr_t e,
                                   void (*cb)(paddr_t, paddr_t),
                                   unsigned int first)
@@ -271,7 +296,24 @@ void __init fw_unreserved_regions(paddr_t s, paddr_t e,
         cb(s, e);
 }
 
+/*
+ * Given an input physical address range, check if this range is overlapping
+ * with the existing reserved memory regions defined in bootinfo.
+ * Return 0 if the input physical address range is not overlapping with any
+ * existing reserved memory regions, otherwise -EINVAL.
+ */
+int __init check_reserved_regions_overlap(paddr_t region_start,
+                                          paddr_t region_size)
+{
+    paddr_t region_end = region_start + region_size;
+
+    /* Check if input region is overlapping with bootinfo.reserved_mem banks */
+    if ( meminfo_overlap_check(&bootinfo.reserved_mem,
+                               region_start, region_end) )
+        return -EINVAL;
 
+    return 0;
+}
 
 struct bootmodule __init *add_boot_module(bootmodule_kind kind,
                                           paddr_t start, paddr_t size,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 03:17:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 03:17:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461575.719673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5IGa-0005VX-OH; Wed, 14 Dec 2022 03:17:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461575.719673; Wed, 14 Dec 2022 03:17:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5IGa-0005VQ-KC; Wed, 14 Dec 2022 03:17:08 +0000
Received: by outflank-mailman (input) for mailman id 461575;
 Wed, 14 Dec 2022 03:17:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LNGa=4M=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p5IGZ-0005VK-AV
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 03:17:07 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id c811b259-7b5d-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 04:17:05 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CDD98FEC;
 Tue, 13 Dec 2022 19:17:43 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.24])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 1FD0D3F73B;
 Tue, 13 Dec 2022 19:17:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c811b259-7b5d-11ed-91b6-6bf2151ebd3b
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 0/3] Memory region overlap check in device tree
Date: Wed, 14 Dec 2022 11:16:51 +0800
Message-Id: <20221214031654.2815589-1-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As we are having more and more types of memory region defined in the
device tree, it is necessary to add the overlap check of these memory
regions in Xen, because such check will help user to identify the
misconfiguration in the device tree at the early stage of boot time.

The first patch introduces the basic memory overlap check mechanism,
and does the memory check for memory regions in bootinfo.reserved_mem.
Following patches extend the overlap check to include bootmodules and
EfiACPIReclaimMemory.

v1 -> v2:
- Split original `overlap_check()` to `meminfo_overlap_check()` and
  `bootmodules_overlap_check()`.
- Rework commit message.

Henry Wang (3):
  xen/arm: Add memory overlap check for bootinfo.reserved_mem
  xen/arm: Extend the memory overlap check to include bootmodules
  xen/arm: Extend the memory overlap check to include
    EfiACPIReclaimMemory

 xen/arch/arm/bootfdt.c           | 13 +++--
 xen/arch/arm/efi/efi-boot.h      | 10 +++-
 xen/arch/arm/include/asm/setup.h |  2 +
 xen/arch/arm/setup.c             | 82 ++++++++++++++++++++++++++++++++
 4 files changed, 98 insertions(+), 9 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 03:17:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 03:17:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461577.719695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5IGg-00061S-5i; Wed, 14 Dec 2022 03:17:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461577.719695; Wed, 14 Dec 2022 03:17:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5IGg-00061J-2U; Wed, 14 Dec 2022 03:17:14 +0000
Received: by outflank-mailman (input) for mailman id 461577;
 Wed, 14 Dec 2022 03:17:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LNGa=4M=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p5IGe-0005ka-KC
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 03:17:12 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id ccc3519a-7b5d-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 04:17:11 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CD8CEFEC;
 Tue, 13 Dec 2022 19:17:51 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.24])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 2AFD53F73B;
 Tue, 13 Dec 2022 19:17:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ccc3519a-7b5d-11ed-8fd2-01056ac49cbb
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 2/3] xen/arm: Extend the memory overlap check to include bootmodules
Date: Wed, 14 Dec 2022 11:16:53 +0800
Message-Id: <20221214031654.2815589-3-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221214031654.2815589-1-Henry.Wang@arm.com>
References: <20221214031654.2815589-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Similarly as the static regions defined in bootinfo.reserved_mem,
the bootmodule regions defined in bootinfo.modules should also not
be overlapping with memory regions in either bootinfo.reserved_mem
or bootinfo.modules.

Therefore, this commit introduces a helper `bootmodules_overlap_check()`
and uses this helper to extend the check in function
`check_reserved_regions_overlap()` so that memory regions in
bootinfo.modules are included. Use `check_reserved_regions_overlap()`
in `add_boot_module()` to return early if any error occurs.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v1 -> v2:
1. Split original `overlap_check()` to `bootmodules_overlap_check()`.
2. Rework commit message.
---
 xen/arch/arm/setup.c | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index e6eeb3a306..ba0152f868 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -286,6 +286,31 @@ static int __init meminfo_overlap_check(struct meminfo *meminfo,
     return 0;
 }
 
+static int __init bootmodules_overlap_check(struct bootmodules *bootmodules,
+                                            paddr_t region_start,
+                                            paddr_t region_end)
+{
+    paddr_t mod_start = INVALID_PADDR, mod_end = 0;
+    unsigned int i, mod_num = bootmodules->nr_mods;
+
+    for ( i = 0; i < mod_num; i++ )
+    {
+        mod_start = bootmodules->module[i].start;
+        mod_end = mod_start + bootmodules->module[i].size;
+
+        if ( region_end <= mod_start || region_start >= mod_end )
+            continue;
+        else
+        {
+            printk("Region %#"PRIpaddr" - %#"PRIpaddr" overlapping with mod[%u] %#"PRIpaddr" - %#"PRIpaddr"\n",
+                   region_start, region_end, i, mod_start, mod_end);
+            return -EINVAL;
+        }
+    }
+
+    return 0;
+}
+
 void __init fw_unreserved_regions(paddr_t s, paddr_t e,
                                   void (*cb)(paddr_t, paddr_t),
                                   unsigned int first)
@@ -312,6 +337,11 @@ int __init check_reserved_regions_overlap(paddr_t region_start,
                                region_start, region_end) )
         return -EINVAL;
 
+    /* Check if input region is overlapping with bootmodules */
+    if ( bootmodules_overlap_check(&bootinfo.modules,
+                                   region_start, region_end) )
+        return -EINVAL;
+
     return 0;
 }
 
@@ -329,6 +359,10 @@ struct bootmodule __init *add_boot_module(bootmodule_kind kind,
                boot_module_kind_as_string(kind), start, start + size);
         return NULL;
     }
+
+    if ( check_reserved_regions_overlap(start, size) )
+        return NULL;
+
     for ( i = 0 ; i < mods->nr_mods ; i++ )
     {
         mod = &mods->module[i];
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 03:17:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 03:17:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461578.719706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5IGj-0006KY-GZ; Wed, 14 Dec 2022 03:17:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461578.719706; Wed, 14 Dec 2022 03:17:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5IGj-0006KN-Cy; Wed, 14 Dec 2022 03:17:17 +0000
Received: by outflank-mailman (input) for mailman id 461578;
 Wed, 14 Dec 2022 03:17:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LNGa=4M=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p5IGh-0005ka-Qf
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 03:17:15 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id cea565f4-7b5d-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 04:17:15 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E46EFFEC;
 Tue, 13 Dec 2022 19:17:54 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.24])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 41B633F73B;
 Tue, 13 Dec 2022 19:17:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cea565f4-7b5d-11ed-8fd2-01056ac49cbb
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 3/3] xen/arm: Extend the memory overlap check to include EfiACPIReclaimMemory
Date: Wed, 14 Dec 2022 11:16:54 +0800
Message-Id: <20221214031654.2815589-4-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221214031654.2815589-1-Henry.Wang@arm.com>
References: <20221214031654.2815589-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Similarly as the static regions and boot modules, memory regions with
EfiACPIReclaimMemory type (defined in bootinfo.acpi if CONFIG_ACPI is
enabled) should also not be overlapping with memory regions in
bootinfo.reserved_mem and bootinfo.modules.

Therefore, this commit reuses the `meminfo_overlap_check()` to further
extends the check in function `check_reserved_regions_overlap()` so that
memory regions in bootinfo.acpi are included. If any error occurs in the
extended `check_reserved_regions_overlap()`, the `meminfo_add_bank()`
defined in `efi-boot.h` will return early.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v1 -> v2:
1. Rebase on top of patch #1 and #2.
---
 xen/arch/arm/efi/efi-boot.h | 10 ++++++++--
 xen/arch/arm/setup.c        |  6 ++++++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 43a836c3a7..6121ba1f2f 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -161,13 +161,19 @@ static bool __init meminfo_add_bank(struct meminfo *mem,
                                     EFI_MEMORY_DESCRIPTOR *desc)
 {
     struct membank *bank;
+    paddr_t start = desc->PhysicalStart;
+    paddr_t size = desc->NumberOfPages * EFI_PAGE_SIZE;
 
     if ( mem->nr_banks >= NR_MEM_BANKS )
         return false;
+#ifdef CONFIG_ACPI
+    if ( check_reserved_regions_overlap(start, size) )
+        return false;
+#endif
 
     bank = &mem->bank[mem->nr_banks];
-    bank->start = desc->PhysicalStart;
-    bank->size = desc->NumberOfPages * EFI_PAGE_SIZE;
+    bank->start = start;
+    bank->size = size;
 
     mem->nr_banks++;
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index ba0152f868..a0cb2dd588 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -342,6 +342,12 @@ int __init check_reserved_regions_overlap(paddr_t region_start,
                                    region_start, region_end) )
         return -EINVAL;
 
+#ifdef CONFIG_ACPI
+    /* Check if input region is overlapping with ACPI EfiACPIReclaimMemory */
+    if ( meminfo_overlap_check(&bootinfo.acpi, region_start, region_end) )
+        return -EINVAL;
+#endif
+
     return 0;
 }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 03:22:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 03:22:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461605.719720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ILl-0000By-5j; Wed, 14 Dec 2022 03:22:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461605.719720; Wed, 14 Dec 2022 03:22:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ILl-0000Br-36; Wed, 14 Dec 2022 03:22:29 +0000
Received: by outflank-mailman (input) for mailman id 461605;
 Wed, 14 Dec 2022 03:22:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LNGa=4M=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p5ILj-0000BL-1C
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 03:22:27 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 88033e6c-7b5e-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 04:22:26 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id D6FC1FEC;
 Tue, 13 Dec 2022 19:23:05 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.24])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 32C883F73B;
 Tue, 13 Dec 2022 19:22:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88033e6c-7b5e-11ed-91b6-6bf2151ebd3b
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2] xen/arm: Reduce redundant clear root pages when teardown p2m
Date: Wed, 14 Dec 2022 11:22:12 +0800
Message-Id: <20221214032212.2816658-1-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, p2m for a domain will be teardown from two paths:
(1) The normal path when a domain is destroyed.
(2) The arch_domain_destroy() in the failure path of domain creation.

When tearing down p2m from (1), the part to clear and clean the root
is only needed to do once rather than for every call of p2m_teardown().
If the p2m teardown is from (2), the clear and clean of the root
is unnecessary because the domain is not scheduled.

Therefore, this patch introduces a helper `p2m_clear_root_pages()` to
do the clear and clean of the root, and move this logic outside of
p2m_teardown(). With this movement, the `page_list_empty(&p2m->pages)`
check can be dropped.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v1 -> v2:
1. Introduce a new PROGRESS for p2m_clear_root_pages() to avoid
   multiple calling when p2m_teardown() is preempted.
2. Move p2m_force_tlb_flush_sync() to p2m_clear_root_pages().
---
 xen/arch/arm/domain.c          | 12 ++++++++++++
 xen/arch/arm/include/asm/p2m.h |  1 +
 xen/arch/arm/p2m.c             | 34 ++++++++++++++--------------------
 3 files changed, 27 insertions(+), 20 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 99577adb6c..961dab9166 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -959,6 +959,7 @@ enum {
     PROG_xen,
     PROG_page,
     PROG_mapping,
+    PROG_p2m_root,
     PROG_p2m,
     PROG_p2m_pool,
     PROG_done,
@@ -1021,6 +1022,17 @@ int domain_relinquish_resources(struct domain *d)
         if ( ret )
             return ret;
 
+    PROGRESS(p2m_root):
+        /*
+         * We are about to free the intermediate page-tables, so clear the
+         * root to prevent any walk to use them.
+         * The domain will not be scheduled anymore, so in theory we should
+         * not need to flush the TLBs. Do it for safety purpose.
+         * Note that all the devices have already been de-assigned. So we don't
+         * need to flush the IOMMU TLB here.
+         */
+        p2m_clear_root_pages(&d->arch.p2m);
+
     PROGRESS(p2m):
         ret = p2m_teardown(d, true);
         if ( ret )
diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index 91df922e1c..bf5183e53a 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -281,6 +281,7 @@ int p2m_set_entry(struct p2m_domain *p2m,
 
 bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn);
 
+void p2m_clear_root_pages(struct p2m_domain *p2m);
 void p2m_invalidate_root(struct p2m_domain *p2m);
 
 /*
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 948f199d84..7de7d822e9 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1314,6 +1314,20 @@ static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
     p2m->need_flush = true;
 }
 
+void p2m_clear_root_pages(struct p2m_domain *p2m)
+{
+    unsigned int i;
+
+    p2m_write_lock(p2m);
+
+    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
+        clear_and_clean_page(p2m->root + i);
+
+    p2m_force_tlb_flush_sync(p2m);
+
+    p2m_write_unlock(p2m);
+}
+
 /*
  * Invalidate all entries in the root page-tables. This is
  * useful to get fault on entry and do an action.
@@ -1698,30 +1712,10 @@ int p2m_teardown(struct domain *d, bool allow_preemption)
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
     unsigned long count = 0;
     struct page_info *pg;
-    unsigned int i;
     int rc = 0;
 
-    if ( page_list_empty(&p2m->pages) )
-        return 0;
-
     p2m_write_lock(p2m);
 
-    /*
-     * We are about to free the intermediate page-tables, so clear the
-     * root to prevent any walk to use them.
-     */
-    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
-        clear_and_clean_page(p2m->root + i);
-
-    /*
-     * The domain will not be scheduled anymore, so in theory we should
-     * not need to flush the TLBs. Do it for safety purpose.
-     *
-     * Note that all the devices have already been de-assigned. So we don't
-     * need to flush the IOMMU TLB here.
-     */
-    p2m_force_tlb_flush_sync(p2m);
-
     while ( (pg = page_list_remove_head(&p2m->pages)) )
     {
         p2m_free_page(p2m->domain, pg);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 03:28:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 03:28:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461621.719731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5IRW-0001E5-SM; Wed, 14 Dec 2022 03:28:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461621.719731; Wed, 14 Dec 2022 03:28:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5IRW-0001Dy-Of; Wed, 14 Dec 2022 03:28:26 +0000
Received: by outflank-mailman (input) for mailman id 461621;
 Wed, 14 Dec 2022 03:28:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+hnq=4M=arm.com=Wei.Chen@srs-se1.protection.inumbo.net>)
 id 1p5IRV-0001Ds-AB
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 03:28:25 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on2051.outbound.protection.outlook.com [40.107.14.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5cb79fae-7b5f-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 04:28:23 +0100 (CET)
Received: from AS8P250CA0018.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:330::23)
 by DBAPR08MB5813.eurprd08.prod.outlook.com (2603:10a6:10:1a5::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 03:28:20 +0000
Received: from AM7EUR03FT010.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:330:cafe::71) by AS8P250CA0018.outlook.office365.com
 (2603:10a6:20b:330::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11 via Frontend
 Transport; Wed, 14 Dec 2022 03:28:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT010.mail.protection.outlook.com (100.127.141.22) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5924.11 via Frontend Transport; Wed, 14 Dec 2022 03:28:19 +0000
Received: ("Tessian outbound 0800d254cb3b:v130");
 Wed, 14 Dec 2022 03:28:19 +0000
Received: from 141e4d6af98a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9096FD12-1C27-4EBC-B9F6-5C2DA5248CE8.1; 
 Wed, 14 Dec 2022 03:28:13 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 141e4d6af98a.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 14 Dec 2022 03:28:13 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com (2603:10a6:102:2b9::9)
 by PAXPR08MB6608.eurprd08.prod.outlook.com (2603:10a6:102:150::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 03:28:11 +0000
Received: from PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::eb53:5027:9f6c:cb1b]) by PAXPR08MB7420.eurprd08.prod.outlook.com
 ([fe80::eb53:5027:9f6c:cb1b%2]) with mapi id 15.20.5924.009; Wed, 14 Dec 2022
 03:28:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5cb79fae-7b5f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZTOvCLoCmMQhOdF/WWZuf+zufey6SN9JrstnA22HoIo=;
 b=l4R9cBqAEmprGLs9Wt3rHhVay+FjEqlgy5chGHbueCR0SOAZ4i3IfwDzCXbnxHJaPz826+8+aSblwR7JPTdRZL1sJ854zaL10tPMUPG4ewCtAGJX6XhbxswGwcyAQ1aKlJO6eg1XbEpnVyO9bs8dLbzSs3plOE1+cwhuM0OeZNU=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: fc05eb3cb9730310
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Vjee6QjXAIjTyvKyW6HvadaFMK31r79rTVZBdsNdDaiGsMvQKuziVlRvDiJ5F84St6n1gZLst8eVMTwHc7MNBJGkQ+Ai1SqT/kvJYLBDp76ef/j9MOn8umNV0umRJE6ZlESH8FxJKWntKsmco/cNQXbv9ydVx+Uxr6ch286BnU2wBPnDkjqVODWvoIwJ1q+tcChBuhh1UnqhPQ+nyABrfsz8WWZOwdYcnZDc/ozmiUXZkfrvQNXURy+yKjIObFJljhNcKMjiF4J53RayJ5KwHhKeRge/UtqOG5di8JxsldPfA9Dbz1cOeRrwSJOdkWngNpJSlw0qY8t+Sy9qvCxJpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZTOvCLoCmMQhOdF/WWZuf+zufey6SN9JrstnA22HoIo=;
 b=XBwObm7GgIVdTopZ66V1r12BdCgLq9hw2ni7UHqbMBC7Wic4ph6JrgUPlq6CpeTf5nSdnoJ2sWB9JPbE6n0HljBNFVgJZ4l0dwFq+cmcxWYYJudQ/Qi96fYGTHYYIRCqgNuNXFWxd+DWdU4K/WeTUwv1GjtjQcoDyv8ZUgILJh/xVTXyV2UNRe8DIubTIg6YXBKtkdtb1QRoNgaGhhnaCcWvq03avOVWaj5uDeMiE5v9kK5qvFiov1BKtpLTfWM9/uaDcOTclryeQ8GHiREtVP2NO7o0l9T2+kVgoUQon7tYwKP2wRl/UPvncUHKptANXzE79Yzaqbw54ODLSEc+Jg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZTOvCLoCmMQhOdF/WWZuf+zufey6SN9JrstnA22HoIo=;
 b=l4R9cBqAEmprGLs9Wt3rHhVay+FjEqlgy5chGHbueCR0SOAZ4i3IfwDzCXbnxHJaPz826+8+aSblwR7JPTdRZL1sJ854zaL10tPMUPG4ewCtAGJX6XhbxswGwcyAQ1aKlJO6eg1XbEpnVyO9bs8dLbzSs3plOE1+cwhuM0OeZNU=
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
Message-ID: <495b4c44-0af0-d057-c584-8601c65c770a@arm.com>
Date: Wed, 14 Dec 2022 11:28:02 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 1/2] x86/mm: avoid phys_to_nid() calls for invalid
 addresses
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
 <d503a684-1689-ef60-23e8-5eb6b33ab5c8@suse.com>
Content-Language: en-US
From: Wei Chen <Wei.Chen@arm.com>
In-Reply-To: <d503a684-1689-ef60-23e8-5eb6b33ab5c8@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SG2PR01CA0139.apcprd01.prod.exchangelabs.com
 (2603:1096:4:8f::19) To PAXPR08MB7420.eurprd08.prod.outlook.com
 (2603:10a6:102:2b9::9)
MIME-Version: 1.0
X-MS-TrafficTypeDiagnostic:
	PAXPR08MB7420:EE_|PAXPR08MB6608:EE_|AM7EUR03FT010:EE_|DBAPR08MB5813:EE_
X-MS-Office365-Filtering-Correlation-Id: b94eb001-fca7-4fdd-adba-08dadd833f61
x-checkrecipientrouted: true
NoDisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 ClhoVq2D7NWSzc1xU60QUcbclxP3R/vn2t82eiSX4j4e/Kj7vQ9Tz6ENanvPKVqQ95nqPEfr03R6FZmnZTzJjeJt6RC/NJ1i5SxWw9mnnNJ3xMNncuKpwXln0AdCuCIL/prBu4l3H/bMUNn3dENGrIlctQCbpVwjnloBJZ+UezJBkdIZo6zKzERwk0c930LYtujftA1REd265IykB/yZW+1a2LP84YiFT7XlpG4sdkv3u3W7AOPB1Qu2IisM20dCKDn1CM574Xqx1r0DJTcUcE1a+HweVD2k/fOl+yD5wkpqiNiul0ui/raIXdMIciR1ACyA0GTWGlQwBbZ6OOX49JvY7RdTzbL0w5pUPnTqY93+vF8bEi82mCFNKuESDS+F7TV8loD4ad4tb4i1eIFkKWyuwryoAgdDprDV6bd9FBFji0MANRUPt8L9LzJ5X82XWa6MlMRSiG0EU1bamsAhLKoGvRAUGF+EuEzQ9xQfRoWR0shg7ggDgrZr+mYr3mjN5gBXEFHN7Swx56jkbyhRI+jJxItQkGYESACTQCKkoyBBZEDor/o8UVZIKkIzj8tt00NdCV6NMtDLu1wGikkBfckC43tW2Xrmt5rNrD29tXaIXu4eE6cbtVqGlG5bh9jZ+mSFTvIghIqvtjlpkBd9marhoVBZGR/t3kNZGZbiEMDOC6qwN+qmpXUaetYX5SDNyLR1r2oGHijfkbzg31XGTyBMy5tSPcBR0Rq8GuKTDQ4=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB7420.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(376002)(39860400002)(366004)(136003)(451199015)(8676002)(66899015)(4326008)(36756003)(83380400001)(41300700001)(186003)(66946007)(6512007)(6506007)(6666004)(66556008)(53546011)(66476007)(26005)(31686004)(6486002)(478600001)(316002)(2616005)(54906003)(2906002)(5660300002)(110136005)(31696002)(38100700002)(86362001)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6608
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3d0d251f-32cf-41fa-3753-08dadd8339cf
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MvptXZ52XMCEbRvvk6YAOez3s2o6g86tCA5dkbRa87znf9FE46256hRoQWoD5/MqyNjgXUj0ky3jNfFII8rBpfeien+C/BUaL9tIP4UNC2kOFjTzLSS2sNVAGJE2zOs5why6BD5Maiw0/2xAkL3LEWpe+1dU9Am1Ep9xP5/T3D2PGInocFhuQ5Cs01BDKCIKQ2av5AXA0+Z3HMfBlMchhQJMd6Tg4CvfZIVQEZnlm2URnF864zcz7qvCnllyHC/yp2BCU9bgIB5fWbMBWEdg95i/JaONAbdsfs/+fs4uCDwNYI1eyg+ctCswH3YBuYGfBwGAC5QZap35miPKRN878foDbVtzJgHHKsRls0dGx4C+bG4sSUh6Gwo/ZLAQXP4ryviZYVOYg8twOy5rDB+kX1IQSOZP73//5z2CcX3/Tjoogw+Gv26Y0Ym1vOdKNw5UGXLg7gpIK00Do6JI75fP8kXdZnEbBhDaw0DLGf+L5RoR9A5QUBjalBwhelhc0DMMlJK/y9yxemHq29h0gLSy4xv8cVWJCEL88NjZEH13vpOfbwfI+vSZkqdH891YXgBxV6uyXH799a96H3hNi/txLMbANLsBwbSvvSGChJWQoN9Je08wL+6cy0eOBL+kPHYWT5FLm3RsmR2vmj3ADGbpCOYPIB4tlgcbOdeHXUwN8S8dc8ynWxzQKuqOPdpEFidzVEZFj00eITvDhqE2fA/GSgIybSXLbsq2wGb4CKMe3HQ=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(396003)(376002)(39860400002)(451199015)(46966006)(40470700004)(36840700001)(36756003)(40480700001)(356005)(40460700003)(86362001)(31696002)(316002)(110136005)(54906003)(478600001)(107886003)(6666004)(6486002)(2906002)(5660300002)(8676002)(4326008)(70586007)(70206006)(8936002)(41300700001)(81166007)(36860700001)(82740400003)(6512007)(186003)(26005)(53546011)(6506007)(82310400005)(83380400001)(47076005)(2616005)(336012)(66899015)(31686004)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 03:28:19.9541
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b94eb001-fca7-4fdd-adba-08dadd833f61
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5813

Hi Jan,

On 2022/12/13 19:36, Jan Beulich wrote:
> With phys_to_nid() now actively checking that a valid node ID is on
> record, the two uses in paging_init() can actually trigger at least the
> 2nd of the assertions there. They're used to calculate allocation flags,
> but the calculated flags wouldn't be used when dealing with an invalid
> (unpopulated) address range. Defer the calculations such that they can
> be done with a validated MFN in hands. This also does away with the
> artificial calculations of an address to pass to phys_to_nid().
> 
> Note that while the variable is provably written before use, at least
> some compiler versions can't actually verify that. Hence the variable
> also needs to gain a (dead) initializer.
> 
> Fixes: e9c72d524fbd ("xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> RFC: With small enough a NUMA hash shift it would still be possible to
>       hit an SRAT hole, despite mfn_valid() passing. Hence, like was the
>       original plan, it may still be necessary to relax the checking in
>       phys_to_nid() (or its designated replacements). At which point the
>       value of this change here would shrink to merely reducing the
>       chance of unintentionally doing NUMA_NO_NODE allocations.
> 

I think it's better to place the last sentence or the whole RFC to the
commit log. Without the RFC content, after a while, when I check this 
commit again, I will be confused about what problem this commit solved. 
Because just looking at the changes, as your said in RFC, it doesn't 
completely solve the problem.

Cheers,
Wei Chen

> --- a/xen/arch/x86/x86_64/mm.c
> +++ b/xen/arch/x86/x86_64/mm.c
> @@ -498,7 +498,7 @@ error:
>   void __init paging_init(void)
>   {
>       unsigned long i, mpt_size, va;
> -    unsigned int n, memflags;
> +    unsigned int n, memflags = 0;
>       l3_pgentry_t *l3_ro_mpt;
>       l2_pgentry_t *pl2e = NULL, *l2_ro_mpt = NULL;
>       struct page_info *l1_pg;
> @@ -547,8 +547,6 @@ void __init paging_init(void)
>       {
>           BUILD_BUG_ON(RO_MPT_VIRT_START & ((1UL << L3_PAGETABLE_SHIFT) - 1));
>           va = RO_MPT_VIRT_START + (i << L2_PAGETABLE_SHIFT);
> -        memflags = MEMF_node(phys_to_nid(i <<
> -            (L2_PAGETABLE_SHIFT - 3 + PAGE_SHIFT)));
>   
>           if ( cpu_has_page1gb &&
>                !((unsigned long)pl2e & ~PAGE_MASK) &&
> @@ -559,10 +557,15 @@ void __init paging_init(void)
>               for ( holes = k = 0; k < 1 << PAGETABLE_ORDER; ++k)
>               {
>                   for ( n = 0; n < CNT; ++n)
> -                    if ( mfn_valid(_mfn(MFN(i + k) + n * PDX_GROUP_COUNT)) )
> +                {
> +                    mfn = _mfn(MFN(i + k) + n * PDX_GROUP_COUNT);
> +                    if ( mfn_valid(mfn) )
>                           break;
> +                }
>                   if ( n == CNT )
>                       ++holes;
> +                else if ( k == holes )
> +                    memflags = MEMF_node(phys_to_nid(mfn_to_maddr(mfn)));
>               }
>               if ( k == holes )
>               {
> @@ -593,8 +596,14 @@ void __init paging_init(void)
>           }
>   
>           for ( n = 0; n < CNT; ++n)
> -            if ( mfn_valid(_mfn(MFN(i) + n * PDX_GROUP_COUNT)) )
> +        {
> +            mfn = _mfn(MFN(i) + n * PDX_GROUP_COUNT);
> +            if ( mfn_valid(mfn) )
> +            {
> +                memflags = MEMF_node(phys_to_nid(mfn_to_maddr(mfn)));
>                   break;
> +            }
> +        }
>           if ( n == CNT )
>               l1_pg = NULL;
>           else if ( (l1_pg = alloc_domheap_pages(NULL, PAGETABLE_ORDER,
> @@ -663,15 +672,19 @@ void __init paging_init(void)
>                    sizeof(*compat_machine_to_phys_mapping));
>       for ( i = 0; i < (mpt_size >> L2_PAGETABLE_SHIFT); i++, pl2e++ )
>       {
> -        memflags = MEMF_node(phys_to_nid(i <<
> -            (L2_PAGETABLE_SHIFT - 2 + PAGE_SHIFT)));
>           for ( n = 0; n < CNT; ++n)
> -            if ( mfn_valid(_mfn(MFN(i) + n * PDX_GROUP_COUNT)) )
> +        {
> +            mfn = _mfn(MFN(i) + n * PDX_GROUP_COUNT);
> +            if ( mfn_valid(mfn) )
> +            {
> +                memflags = MEMF_node(phys_to_nid(mfn_to_maddr(mfn)));
>                   break;
> +            }
> +        }
>           if ( n == CNT )
>               continue;
>           if ( (l1_pg = alloc_domheap_pages(NULL, PAGETABLE_ORDER,
> -                                               memflags)) == NULL )
> +                                          memflags)) == NULL )
>               goto nomem;
>           map_pages_to_xen(
>               RDWR_COMPAT_MPT_VIRT_START + (i << L2_PAGETABLE_SHIFT),
> 
> 


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 05:00:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 05:00:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461637.719751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Js0-0004d9-Mh; Wed, 14 Dec 2022 04:59:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461637.719751; Wed, 14 Dec 2022 04:59:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Js0-0004d2-J3; Wed, 14 Dec 2022 04:59:52 +0000
Received: by outflank-mailman (input) for mailman id 461637;
 Wed, 14 Dec 2022 04:59:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XtkE=4M=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p5Jrz-0004cw-9y
 for xen-devel@lists.xen.org; Wed, 14 Dec 2022 04:59:51 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2289d46d-7b6c-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 05:59:49 +0100 (CET)
Received: by mail-pl1-x632.google.com with SMTP id t2so2195050ply.2
 for <xen-devel@lists.xen.org>; Tue, 13 Dec 2022 20:59:49 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 e8-20020a170902784800b00186c3afb49esm739019pln.209.2022.12.13.20.59.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 13 Dec 2022 20:59:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2289d46d-7b6c-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=bFucnG/T5ns6x7NB4ooMO+qUTJtpLJD/hjTYgeTpV6c=;
        b=DKDR9LADKPrbVlwWP1byp1idfp8K8KCbnJckhpMlpH/zxD8adyeg0fLGz/MeqCEfWN
         eUfjWgEgG3EaIioNVFdGA18w2+CPTFM7u0mj0+aUfBd0u9IHkvv7q19G3a6kNeHJJ9Dr
         CEIHTN8SnM61ygS1Srvu9OiyVUrT/V+kV3iZ8w2PewM8JKROLApvAYbK1lFpK4B7abyk
         5C0ts5KhJUnyVCN0pcP66r9ZGalmbMUtuOBFTL3c3b0Wh9nII5WSszq8gZMxlR9wngnp
         /VB+EK+j5D0LOC/KyDXV8mkRtTUG+3EaQlBLJO+zoTYOzWfxhJD02OWTY24lOu9yhlkL
         4pKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bFucnG/T5ns6x7NB4ooMO+qUTJtpLJD/hjTYgeTpV6c=;
        b=RAc5T3SXddU14wGpCt7VL5i6OBB/irRjfOrbNxDLk4pQYEIaqv7Jg+QiHwXTLoTHre
         EVt45LHj9OJdJosIxkbyKpWqp6/ugZEa8EJnKV1x4KUN/L590Fg9DZUpUTCG60KKlpij
         7M5T+mttxc04uKiEPJFqrgsnvCxj3Er/Y7YS+U/eP+W/o+eV+lchqDxkXjag049E5iBA
         jVTw00AA5rLcI8GJC2jIASUfdSNJlokVu6QmX0xOsuL+lHYBvgkOygEBNrF+VRdAHQi5
         o306Ng2L/lWd2ew+UhohpskfCkqtBtxHe4VXwtndFGj04Yvupg/Rjs6P7Q5s1OQlfIk+
         qLmw==
X-Gm-Message-State: ANoB5pmCwxx2+eDExXyFZKMh/ByGgOUKmmQGuGFG3FVypvdcz6gwjW5l
	qdi2LI6i16+8grChDdZof15HDg==
X-Google-Smtp-Source: AA0mqf4xb3MW6vOCu8qynEBlc/B81+UcHTzgvwFOnt0Wc3701E6PVCXzjNeJpuKZVgGo0/mFGF+DxA==
X-Received: by 2002:a17:902:cec1:b0:189:cef2:88e3 with SMTP id d1-20020a170902cec100b00189cef288e3mr32654790plg.57.1670993987873;
        Tue, 13 Dec 2022 20:59:47 -0800 (PST)
Date: Wed, 14 Dec 2022 10:29:44 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu <wl@xen.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xen.org, Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH V9 1/3] libxl: Add support for generic virtio device
Message-ID: <20221214045944.bu2vxk363dlxcksq@vireshk-i7>
References: <cover.1670925998.git.viresh.kumar@linaro.org>
 <01dfa7692457a7f40255645f5239f74797e6db3a.1670925998.git.viresh.kumar@linaro.org>
 <36e4038a-d394-62c0-3bce-1c81450c6bb9@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <36e4038a-d394-62c0-3bce-1c81450c6bb9@suse.com>

On 13-12-22, 12:14, Jan Beulich wrote:
> Please can you arrange tags in time order, which would mean R-b past any
> S-o-b? I'll try to remember to swap them while committing, but in the
> future please save committers from needing to do so.

I was confused if Reviewed-by's should be after of before Author's
signed-off, understood it now. Will remember that going ahead. Thanks.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 05:06:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 05:06:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461647.719762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5JyT-0006gb-CR; Wed, 14 Dec 2022 05:06:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461647.719762; Wed, 14 Dec 2022 05:06:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5JyT-0006gU-9t; Wed, 14 Dec 2022 05:06:33 +0000
Received: by outflank-mailman (input) for mailman id 461647;
 Wed, 14 Dec 2022 05:06:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XtkE=4M=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p5JyR-0006gO-Et
 for xen-devel@lists.xen.org; Wed, 14 Dec 2022 05:06:31 +0000
Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com
 [2607:f8b0:4864:20::1036])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 112a09d0-7b6d-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 06:06:30 +0100 (CET)
Received: by mail-pj1-x1036.google.com with SMTP id
 k88-20020a17090a4ce100b00219d0b857bcso5880374pjh.1
 for <xen-devel@lists.xen.org>; Tue, 13 Dec 2022 21:06:29 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 i9-20020a17090332c900b00188ef3ea2b6sm742702plr.262.2022.12.13.21.06.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 13 Dec 2022 21:06:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 112a09d0-7b6d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=0/e3VnvaypkEGOcyYVVqy9UzmHR2Tbcq2TMUw0UAtS0=;
        b=tttKxr+5b7nXn2BnzFtE48zxHoC9IYZbEqxhOmjl6HZ107q8BT3JG9xT4CnPHKgWss
         lRwv3YEFZiQjAdarwXiAi9qHsP0CTFBl5wY69KYGzpJrmkDY4SiPV8S0OdEaIwF9imf8
         jcwkYYH9KNuccSJ9SlKxM2VJfnpv+UPl/VtRlEbf8AgkbFzviZ/vaPqe/F0Nwit1X/ze
         iOCg1CIV+F0qQ05wWwS5u2SADo4ggTuZXSUCC1qoeO++OERB6m3CUXh3MRvFnrDE/Cqq
         sb2anosBPVnlZIkd0i6ZL0WvFkWSGEFD+yFLUVeKrZ8MN/jBR985YtO7dNTSYWScHCgW
         uglw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0/e3VnvaypkEGOcyYVVqy9UzmHR2Tbcq2TMUw0UAtS0=;
        b=cBwSoSMTXCLxO5HBgPoHZCh+uyuSXaOUX+1vd1RWecTnPb9z41USf8PDY8VKJFGr18
         6DVcxtB750KH1PAbdFGaJbcEkiNWYUVK8TW4s+aBqae1qOU4HwfETwv14DgxzmPau3N2
         m0aXrtrnHkjdlWeSMMhQDHKVSbF5i40Kv/cNh0JbB9bDq1es1IEMBGIzVdL1kBGtHOlg
         cuSJ5zCg+XoswJpDyFxSzuD9QjyDLd9XG7ZuXHK0dWWA4IQbJSuQnkiALigl2uFa3K7X
         MJ4TQYrKyinlgZ0gV7V/w2KVklduFj2y9UQlR1+AZYs0sqSK6yBZC1EfocoRMkwx/5Mj
         NMFw==
X-Gm-Message-State: ANoB5pkF8bZ4z0kMyF0yfV2vEtGKzyjCMEeg9dfOetpCNfgu16Nt+QPQ
	ckP+43wNX93+zKfnn7idgWYFCQ==
X-Google-Smtp-Source: AA0mqf6zNb0AnZcjFqGeoeUhCmc+qlyJcvV3hpD/yURMrOxCJc7zGwJ8vZQjCVxTYukODt3heJUtSA==
X-Received: by 2002:a05:6a20:8e1a:b0:ad:c97f:1c1b with SMTP id y26-20020a056a208e1a00b000adc97f1c1bmr9379780pzj.0.1670994388197;
        Tue, 13 Dec 2022 21:06:28 -0800 (PST)
Date: Wed, 14 Dec 2022 10:36:25 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
	Julien Grall <julien@xen.org>, stratos-dev@op-lists.linaro.org,
	Anthony PERARD <anthony.perard@citrix.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	xen-devel@lists.xen.org,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>, Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH V9 1/3] libxl: Add support for generic virtio device
Message-ID: <20221214050625.fvz3gllsyvtrzf4u@vireshk-i7>
References: <cover.1670925998.git.viresh.kumar@linaro.org>
 <01dfa7692457a7f40255645f5239f74797e6db3a.1670925998.git.viresh.kumar@linaro.org>
 <c86ac2ad-3fc3-7250-052e-45936c807dbd@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <c86ac2ad-3fc3-7250-052e-45936c807dbd@gmail.com>

On 13-12-22, 13:45, Oleksandr Tyshchenko wrote:
> On 13.12.22 12:08, Viresh Kumar wrote:
> > +/* Virtio device types */
> > +#define VIRTIO_DEVICE_TYPE_GENERIC   "virtio,device"
> > +#define VIRTIO_DEVICE_TYPE_GPIO      "virtio,device22"
> > +#define VIRTIO_DEVICE_TYPE_I2C       "virtio,device29"
> 
> 
> Sorry for pointing this out only now, I have just realized that this doesn't
> match device-tree bindings. According to the bindings they should be the
> other way around:
> 
> #define VIRTIO_DEVICE_TYPE_I2C      "virtio,device22"
> #define VIRTIO_DEVICE_TYPE_GPIO       "virtio,device29"

That's a shocker, as I definitely tested this.

Now that I went back and looked at how it didn't break my system, I
found the reason. The string passed in domu.conf in my case is the
valid one: "virtio,device22", which ended up creating a GPIO node
eventually, but with the compatible value of I2C. The kernel didn't
complain as for I2C only the compatible string is checked currently.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 05:15:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 05:15:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460990.719777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5K6b-0008Jm-EL; Wed, 14 Dec 2022 05:14:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460990.719777; Wed, 14 Dec 2022 05:14:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5K6b-0008J9-Ax; Wed, 14 Dec 2022 05:14:57 +0000
Received: by outflank-mailman (input) for mailman id 460990;
 Tue, 13 Dec 2022 17:35:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Rdq=4L=gmail.com=doremylover123@srs-se1.protection.inumbo.net>)
 id 1p59C0-00049M-NB
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 17:35:48 +0000
Received: from mail-lf1-x135.google.com (mail-lf1-x135.google.com
 [2a00:1450:4864:20::135])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93ff6849-7b0c-11ed-91b6-6bf2151ebd3b;
 Tue, 13 Dec 2022 18:35:47 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id 1so6117606lfz.4
 for <xen-devel@lists.xenproject.org>; Tue, 13 Dec 2022 09:35:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93ff6849-7b0c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=eSt1jbSifrhoBzpt2oiUz4xVDfgJT0kAJKwiLdgF3Ts=;
        b=QPc9F4tug35CxGyUlHWay/kvkP+YQBZoXGpasra6QshJKhlDFMG5EEOWZlrzBTezgu
         ztVTbqPPPiBD854TYcMWYZiSi08tKTSUosliU/5Vphp7CQ4JxG2CTpRLtLtfRSJLW0Y8
         dz7NT5/pK8AT65+VUqXkf0vAa7DDPwRGb/lDbHFwpIW1/fTXs83i9/s0AVMzGozyn82n
         4hkddAgX1tgqNtNx6ieScpIa9VyBHA84s7RARans9Nom5bR8bffvRTOeQc959tEV8Hge
         AGtTSB6cePk5CwpRzHlR4l37HN5EdRid3egnsUOZ4C5h6G5zO4ksUxBEFNu8FooM4Gva
         /mRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=eSt1jbSifrhoBzpt2oiUz4xVDfgJT0kAJKwiLdgF3Ts=;
        b=fcOtxV4IoSG6S/Hv1xcCPgy97SCcuDylKH8ctuLpxgff1/GaN/Dj223Yur+vbVLU79
         OAVq7fqqFn+hZqIZAA8U6mqBPyAlvPc8u0aXXF239WcE3q6PFCZoUKf/SwXtcbHxKla0
         KmsQstFwgxmWL0k+D/744x8vvgni+9q4nO3cJflf9sEezuUpKx/YI/3VvGxMi90RqUXl
         dt2FRG4yDKMJwpps9qfwUBRkiVoe7pHLb4RvnwmNKo4aPGySUfxkC0kbPOCYuVHJ+rmZ
         1cmcoMspq3tvuoZxLw46XgbU98QH0t5AfacWObE946rpbSCGfgcVemffb/r3B26GS1yS
         3lxw==
X-Gm-Message-State: ANoB5pleRKG4nQd/S+8GBCnPQGPl3WeiPiFd5IkRDCy00QKqbkzZfT8E
	h8yIr0sG5fqCvb5aRdeshQG4q9uprZb06QoV+A==
X-Google-Smtp-Source: AA0mqf6ith2ABL/SjU/Ac08XFiwyNxALwJDXmA69i5AGe0dp+lz0482/57jF2nubAcwzlpc4GYs8FVATaeNC3mYYRl0=
X-Received: by 2002:a05:6512:1398:b0:4b5:9365:cd51 with SMTP id
 p24-20020a056512139800b004b59365cd51mr3438747lfa.87.1670952946668; Tue, 13
 Dec 2022 09:35:46 -0800 (PST)
MIME-Version: 1.0
From: "Seija K." <doremylover123@gmail.com>
Date: Tue, 13 Dec 2022 12:35:35 -0500
Message-ID: <CAA42iKx2f2LsAQ9C5rxnCTPhOB6n+L35Winc5WK1K2EySAjvXA@mail.gmail.com>
Subject: [PATCH] arch: change variable types to match those of what is
 assigned to them
To: Stefano Stabellini <sstabellini@kernel.org>, Thomas Bogendoerfer <tsbogend@alpha.franken.de>, 
	Chris Zankel <chris@zankel.net>, Max Filippov <jcmvbkbc@gmail.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

There are many places where "int len = strlen(foo);" is written, just
for len to be passed as a parameter of size_t. This causes truncation
and then expansion back from int to size_t. Not to mention this is
poor logic and needless truncations can add extra unneeded
instructions.

This patch aims to fix the worst offenders.

Signed-off-by: Seija Kijin <doremylover123@gmail.com>
---
 arch/arm/mm/mmu.c                      | 30 +++++++++++++-------------
 arch/arm/probes/kprobes/test-core.c    |  8 +++----
 arch/arm/vfp/vfpmodule.c               |  4 ++--
 arch/arm/xen/p2m.c                     |  4 ++--
 arch/mips/alchemy/common/irq.c         |  2 +-
 arch/mips/alchemy/common/prom.c        |  2 +-
 arch/mips/alchemy/devboards/bcsr.c     |  2 +-
 arch/mips/alchemy/devboards/platform.c |  8 +++----
 arch/mips/ar7/prom.c                   |  4 ++--
 arch/mips/boot/compressed/dbg.c        | 14 +++++-------
 arch/mips/fw/arc/cmdline.c             |  4 ++--
 arch/xtensa/platforms/iss/console.c    |  4 ++--
 12 files changed, 41 insertions(+), 45 deletions(-)

diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 463fc2a8448f..27f5acb69c3b 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -117,7 +117,7 @@ static unsigned long initial_pmd_value __initdata = 0;
  */
 void __init init_default_cache_policy(unsigned long pmd)
 {
- int i;
+ unsigned i;

  initial_pmd_value = pmd;

@@ -140,20 +140,22 @@ void __init init_default_cache_policy(unsigned long pmd)
  */
 static int __init early_cachepolicy(char *p)
 {
- int i, selected = -1;
+ size_t i, selected = 0;

  for (i = 0; i < ARRAY_SIZE(cache_policies); i++) {
- int len = strlen(cache_policies[i].policy);
+ size_t len = strlen(cache_policies[i].policy);

  if (memcmp(p, cache_policies[i].policy, len) == 0) {
  selected = i;
- break;
+ goto no_err;
  }
  }

- if (selected == -1)
- pr_err("ERROR: unknown or unsupported cache policy\n");
+ pr_err("ERROR: unknown or unsupported cache policy\n");

+no_err:
+ if (selected != cachepolicy) {
+ unsigned long cr;
  /*
  * This restriction is partly to do with the way we boot; it is
  * unpredictable to have memory mapped using two different sets of
@@ -161,14 +163,12 @@ static int __init early_cachepolicy(char *p)
  * change these attributes once the initial assembly has setup the
  * page tables.
  */
- if (cpu_architecture() >= CPU_ARCH_ARMv6 && selected != cachepolicy) {
- pr_warn("Only cachepolicy=%s supported on ARMv6 and later\n",
- cache_policies[cachepolicy].policy);
- return 0;
- }
-
- if (selected != cachepolicy) {
- unsigned long cr = __clear_cr(cache_policies[selected].cr_mask);
+ if (cpu_architecture() >= CPU_ARCH_ARMv6) {
+ pr_warn("Only cachepolicy=%s supported on ARMv6 and later\n",
+ cache_policies[cachepolicy].policy);
+ return 0;
+ }
+ cr = __clear_cr(cache_policies[selected].cr_mask);
  cachepolicy = selected;
  flush_cache_all();
  set_cr(cr);
@@ -445,7 +445,7 @@ static void __init build_mem_type_table(void)
  unsigned int cr = get_cr();
  pteval_t user_pgprot, kern_pgprot, vecs_pgprot;
  int cpu_arch = cpu_architecture();
- int i;
+ size_t i;

  if (cpu_arch < CPU_ARCH_ARMv6) {
 #if defined(CONFIG_CPU_DCACHE_DISABLE)
diff --git a/arch/arm/probes/kprobes/test-core.c
b/arch/arm/probes/kprobes/test-core.c
index c562832b8627..7e8694eb772c 100644
--- a/arch/arm/probes/kprobes/test-core.c
+++ b/arch/arm/probes/kprobes/test-core.c
@@ -723,9 +723,9 @@ static const char coverage_register_lookup[16] = {
 unsigned coverage_start_registers(const struct decode_header *h)
 {
  unsigned regs = 0;
- int i;
+ unsigned i;
  for (i = 0; i < 20; i += 4) {
- int r = (h->type_regs.bits >> (DECODE_TYPE_BITS + i)) & 0xf;
+ unsigned r = (h->type_regs.bits >> (DECODE_TYPE_BITS + i)) & 0xf;
  regs |= coverage_register_lookup[r] << i;
  }
  return regs;
@@ -774,12 +774,12 @@ static int coverage_start(const union decode_item *table)
 static void
 coverage_add_registers(struct coverage_entry *entry, kprobe_opcode_t insn)
 {
- int regs = entry->header->type_regs.bits >> DECODE_TYPE_BITS;
+ u32 regs = entry->header->type_regs.bits >> DECODE_TYPE_BITS;
  int i;
  for (i = 0; i < 20; i += 4) {
  enum decode_reg_type reg_type = (regs >> i) & 0xf;
  int reg = (insn >> i) & 0xf;
- int flag;
+ unsigned flag;

  if (!reg_type)
  continue;
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c
index 2cb355c1b5b7..c491ed8e5cf2 100644
--- a/arch/arm/vfp/vfpmodule.c
+++ b/arch/arm/vfp/vfpmodule.c
@@ -227,7 +227,7 @@ static void vfp_raise_sigfpe(unsigned int sicode,
struct pt_regs *regs)

 static void vfp_panic(char *reason, u32 inst)
 {
- int i;
+ unsigned i;

  pr_err("VFP: Error: %s\n", reason);
  pr_err("VFP: EXC 0x%08x SCR 0x%08x INST 0x%08x\n",
@@ -700,7 +700,7 @@ static struct undef_hook vfp_kmode_exception_hook[] = {{

 static int __init vfp_kmode_exception_hook_init(void)
 {
- int i;
+ size_t i;

  for (i = 0; i < ARRAY_SIZE(vfp_kmode_exception_hook); i++)
  register_undef_hook(&vfp_kmode_exception_hook[i]);
diff --git a/arch/arm/xen/p2m.c b/arch/arm/xen/p2m.c
index 309648c17f48..7417da4d1236 100644
--- a/arch/arm/xen/p2m.c
+++ b/arch/arm/xen/p2m.c
@@ -92,7 +92,7 @@ int set_foreign_p2m_mapping(struct
gnttab_map_grant_ref *map_ops,
      struct gnttab_map_grant_ref *kmap_ops,
      struct page **pages, unsigned int count)
 {
- int i;
+ unsigned i;

  for (i = 0; i < count; i++) {
  struct gnttab_unmap_grant_ref unmap;
@@ -137,7 +137,7 @@ int clear_foreign_p2m_mapping(struct
gnttab_unmap_grant_ref *unmap_ops,
        struct gnttab_unmap_grant_ref *kunmap_ops,
        struct page **pages, unsigned int count)
 {
- int i;
+ unsigned i;

  for (i = 0; i < count; i++) {
  set_phys_to_machine(unmap_ops[i].host_addr >> XEN_PAGE_SHIFT,
diff --git a/arch/mips/alchemy/common/irq.c b/arch/mips/alchemy/common/irq.c
index da9f9220048f..83f73ae7d225 100644
--- a/arch/mips/alchemy/common/irq.c
+++ b/arch/mips/alchemy/common/irq.c
@@ -809,7 +809,7 @@ static int alchemy_gpic_suspend(void)
 static void alchemy_gpic_resume(void)
 {
  void __iomem *base = (void __iomem *)KSEG1ADDR(AU1300_GPIC_PHYS_ADDR);
- int i;
+ u32 i;

  /* disable all first */
  __raw_writel(~0UL, base + AU1300_GPIC_IDIS + 0x0);
diff --git a/arch/mips/alchemy/common/prom.c b/arch/mips/alchemy/common/prom.c
index b13d8adf3be4..7b28b9ce1d3a 100644
--- a/arch/mips/alchemy/common/prom.c
+++ b/arch/mips/alchemy/common/prom.c
@@ -111,7 +111,7 @@ static inline unsigned char str2hexnum(unsigned char c)

 static inline void str2eaddr(unsigned char *ea, unsigned char *str)
 {
- int i;
+ unsigned i;

  for (i = 0; i < 6; i++) {
  unsigned char num;
diff --git a/arch/mips/alchemy/devboards/bcsr.c
b/arch/mips/alchemy/devboards/bcsr.c
index 8df0ccdc9287..894916e95ff6 100644
--- a/arch/mips/alchemy/devboards/bcsr.c
+++ b/arch/mips/alchemy/devboards/bcsr.c
@@ -28,7 +28,7 @@ static int bcsr_csc_base; /* linux-irq of first
cascaded irq */

 void __init bcsr_init(unsigned long bcsr1_phys, unsigned long bcsr2_phys)
 {
- int i;
+ unsigned i;

  bcsr1_phys = KSEG1ADDR(CPHYSADDR(bcsr1_phys));
  bcsr2_phys = KSEG1ADDR(CPHYSADDR(bcsr2_phys));
diff --git a/arch/mips/alchemy/devboards/platform.c
b/arch/mips/alchemy/devboards/platform.c
index 754bdd2ca630..a69d9d56f130 100644
--- a/arch/mips/alchemy/devboards/platform.c
+++ b/arch/mips/alchemy/devboards/platform.c
@@ -122,10 +122,10 @@ int __init
db1x_register_pcmcia_socket(phys_addr_t pcmcia_attr_start,

  i = 5;
  if (stschg_irq) {
- sr[i].name = "stschg";
- sr[i].flags = IORESOURCE_IRQ;
- sr[i].start = sr[i].end = stschg_irq;
- i++;
+ sr[5].name = "stschg";
+ sr[5].flags = IORESOURCE_IRQ;
+ sr[5].start = sr[5].end = stschg_irq;
+ i = 6;
  }
  if (eject_irq) {
  sr[i].name = "eject";
diff --git a/arch/mips/ar7/prom.c b/arch/mips/ar7/prom.c
index 5810d3993fc6..dda3ed6934ac 100644
--- a/arch/mips/ar7/prom.c
+++ b/arch/mips/ar7/prom.c
@@ -144,7 +144,7 @@ static void __init add_adam2_var(char *name, char *value)

 static int __init parse_psp_env(void *psp_env_base)
 {
- int i, n;
+ unsigned i, n;
  char *name, *value;
  struct psp_env_chunk *chunks = (struct psp_env_chunk *)psp_env_data;

@@ -171,7 +171,7 @@ static int __init parse_psp_env(void *psp_env_base)

 static void __init ar7_init_env(struct env_var *env)
 {
- int i;
+ unsigned i;
  struct psbl_rec *psbl = (struct psbl_rec *)(KSEG1ADDR(0x14000300));
  void *psp_env = (void *)KSEG1ADDR(psbl->env_base);

diff --git a/arch/mips/boot/compressed/dbg.c b/arch/mips/boot/compressed/dbg.c
index f6728a8fd1c3..5957f9030e0c 100644
--- a/arch/mips/boot/compressed/dbg.c
+++ b/arch/mips/boot/compressed/dbg.c
@@ -25,13 +25,9 @@ void puts(const char *s)

 void puthex(unsigned long long val)
 {
-
- unsigned char buf[10];
- int i;
- for (i = 7; i >= 0; i--) {
- buf[i] = "0123456789ABCDEF"[val & 0x0F];
- val >>= 4;
- }
- buf[8] = '\0';
- puts(buf);
+    char buf[9];
+    size_t i = sizeof(buf) - 1;
+    for (buf[i] = '\0'; i; val >>= 4)
+        buf[--i] = "0123456789ABCDEF"[val & 0xF];
+    puts(buf);
 }
diff --git a/arch/mips/fw/arc/cmdline.c b/arch/mips/fw/arc/cmdline.c
index 155c5e911723..5b05069fec8f 100644
--- a/arch/mips/fw/arc/cmdline.c
+++ b/arch/mips/fw/arc/cmdline.c
@@ -47,7 +47,7 @@ static char __init *move_firmware_args(int argc,
LONG *argv, char *cp)

  while (actr < argc) {
  for(i = 0; i < ARRAY_SIZE(used_arc); i++) {
- int len = strlen(used_arc[i][0]);
+ size_t len = strlen(used_arc[i][0]);

  if (!strncmp(prom_argv(actr), used_arc[i][0], len)) {
  /* Ok, we want it. First append the replacement... */
@@ -86,7 +86,7 @@ void __init prom_init_cmdline(int argc, LONG *argv)

  while (actr < argc) {
  for (i = 0; i < ARRAY_SIZE(ignored); i++) {
- int len = strlen(ignored[i]);
+ size_t len = strlen(ignored[i]);

  if (!strncmp(prom_argv(actr), ignored[i], len))
  goto pic_cont;
diff --git a/arch/xtensa/platforms/iss/console.c
b/arch/xtensa/platforms/iss/console.c
index 10b79d3c74e0..3159917ffd2f 100644
--- a/arch/xtensa/platforms/iss/console.c
+++ b/arch/xtensa/platforms/iss/console.c
@@ -64,7 +64,7 @@ static int rs_write(struct tty_struct * tty,
 static void rs_poll(struct timer_list *unused)
 {
  struct tty_port *port = &serial_port;
- int i = 0;
+ size_t i = 0;
  int rd = 1;
  unsigned char c;

@@ -192,7 +192,7 @@ late_initcall(rs_init);
 static void iss_console_write(struct console *co, const char *s,
unsigned count)
 {
  if (s && *s != 0) {
- int len = strlen(s);
+ size_t len = strlen(s);
  simc_write(1, s, count < len ? count : len);
  }
 }
-- 
2.38.2


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 05:15:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 05:15:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.460954.719773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5K6b-0008Gf-7B; Wed, 14 Dec 2022 05:14:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 460954.719773; Wed, 14 Dec 2022 05:14:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5K6b-0008G2-3e; Wed, 14 Dec 2022 05:14:57 +0000
Received: by outflank-mailman (input) for mailman id 460954;
 Tue, 13 Dec 2022 17:04:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5Rdq=4L=gmail.com=doremylover123@srs-se1.protection.inumbo.net>)
 id 1p58hI-0005xu-Hd
 for xen-devel@lists.xenproject.org; Tue, 13 Dec 2022 17:04:04 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25373ee6-7b08-11ed-8fd2-01056ac49cbb;
 Tue, 13 Dec 2022 18:04:03 +0100 (CET)
Received: by mail-lj1-x235.google.com with SMTP id l8so3912737ljh.13
 for <xen-devel@lists.xenproject.org>; Tue, 13 Dec 2022 09:04:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25373ee6-7b08-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=jdv/9Wbrqh81zZL/X/QwbMewBfzQZFI6F3JeWT7jcoU=;
        b=SW4r+twtRer3sbhKPsy4VHSvZew1ilW/wQtEMZn8GMmYrssSuAst+enQ+EE1mxWDd8
         TISTl4+GEQ83NDwRWmvwnZFjp2SMeMG4MnLwyNQvtww4X2Ph9kpnBZXsteLzwFx+VCnn
         MGwNdof31bCYukVfjoRISe4tPLw3TBbIyJL7zxY7ftSThPSFJMcKPoyhSCjKS31Qx964
         GWXe6ZyZnxwxtzrxAHlBERrdsD5vvrYVVBfOl/8s+1Lbw+w8/z/pkHufgaoM6RpCNt9r
         PWI40PMNivoo4pSAYXOccpXZaVi2g5ScrZbtWTUl7uFV/Mh6xVgDp2CQ7/YC9IbjCpCH
         Syzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=jdv/9Wbrqh81zZL/X/QwbMewBfzQZFI6F3JeWT7jcoU=;
        b=MysQSORBu8gNgshDneGy+E6B9zBh5cEB0ta5Z+8ahgdhMHd0OFvCmJB0HCzOR1/DCQ
         2f2Tr/1OWgYW/fDICk/iAOUa9AH2KZA1PMrMehDKE/yGEtjW5bttPmm6Sg2V7o/McDNz
         tqFrvJmnz0dMSJKRWZ7jTfww+txq6uKgRmTSRzumUldHaF/OyWrmFJnCcjcCgwW6Y3zh
         mf1NBfPKC1OuZFEQEU5lTxBFWMp6ve8cSpuPvLyNKSy8YlO76gRm+lNVfoChjkwIsf7S
         yWt4flznXm2+SAll5+PA0pJiCjvPzVAClcaIz6hqL3Px8WFvVflhT5cXYmoNmMAeQ/8H
         p9sA==
X-Gm-Message-State: ANoB5plw6261j6buSDgvSsEqmEmkl9B4CNf4oZlxJ10zmR4sseSWPb5M
	uEl43NM4zqpw+pJSvdDR6mB0K9PEjhRDuu/CFmrUqTTHxhE8
X-Google-Smtp-Source: AA0mqf5J24j4v0oPrhTmSeo5m/CDFyKvgHRBsRySwK8s0wmk/rE7mmg5VC9IRowRD5ab81vlcCivuTUrDsBbewz8zTw=
X-Received: by 2002:a05:651c:19ab:b0:276:66a4:47c3 with SMTP id
 bx43-20020a05651c19ab00b0027666a447c3mr24952647ljb.49.1670951042719; Tue, 13
 Dec 2022 09:04:02 -0800 (PST)
MIME-Version: 1.0
From: "Seija K." <doremylover123@gmail.com>
Date: Tue, 13 Dec 2022 12:03:51 -0500
Message-ID: <CAA42iKzgsHDC5b+nUyiH8TV0od8LjGp4G-WRyamB=NYtoDtMMw@mail.gmail.com>
Subject: [PATCH] arch: change variable types to match those of what is
 assigned to them
To: Stefano Stabellini <sstabellini@kernel.org>, Thomas Bogendoerfer <tsbogend@alpha.franken.de>, 
	Chris Zankel <chris@zankel.net>, Max Filippov <jcmvbkbc@gmail.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

There are many places where "int len = strlen(foo);" is written, just
for len to be passed as a parameter of size_t. This causes truncation
and then expansion back from int to size_t. Not to mention this is
poor logic and needless truncations can add extra unneeded
instructions.
This patch aims to fix the worst offenders.

Signed-off-by: Seija Kijin <doremylover123@gmail.com>

diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 463fc2a8448f..27f5acb69c3b 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -117,7 +117,7 @@ static unsigned long initial_pmd_value __initdata = 0;
*/
void __init init_default_cache_policy(unsigned long pmd)
{
- int i;
+ unsigned i;
initial_pmd_value = pmd;
@@ -140,20 +140,22 @@ void __init init_default_cache_policy(unsigned long pmd)
*/
static int __init early_cachepolicy(char *p)
{
- int i, selected = -1;
+ size_t i, selected = 0;
for (i = 0; i < ARRAY_SIZE(cache_policies); i++) {
- int len = strlen(cache_policies[i].policy);
+ size_t len = strlen(cache_policies[i].policy);
if (memcmp(p, cache_policies[i].policy, len) == 0) {
selected = i;
- break;
+ goto no_err;
}
}
- if (selected == -1)
- pr_err("ERROR: unknown or unsupported cache policy\n");
+ pr_err("ERROR: unknown or unsupported cache policy\n");
+no_err:
+ if (selected != cachepolicy) {
+ unsigned long cr;
/*
* This restriction is partly to do with the way we boot; it is
* unpredictable to have memory mapped using two different sets of
@@ -161,14 +163,12 @@ static int __init early_cachepolicy(char *p)
* change these attributes once the initial assembly has setup the
* page tables.
*/
- if (cpu_architecture() >= CPU_ARCH_ARMv6 && selected != cachepolicy) {
- pr_warn("Only cachepolicy=%s supported on ARMv6 and later\n",
- cache_policies[cachepolicy].policy);
- return 0;
- }
-
- if (selected != cachepolicy) {
- unsigned long cr = __clear_cr(cache_policies[selected].cr_mask);
+ if (cpu_architecture() >= CPU_ARCH_ARMv6) {
+ pr_warn("Only cachepolicy=%s supported on ARMv6 and later\n",
+ cache_policies[cachepolicy].policy);
+ return 0;
+ }
+ cr = __clear_cr(cache_policies[selected].cr_mask);
cachepolicy = selected;
flush_cache_all();
set_cr(cr);
@@ -445,7 +445,7 @@ static void __init build_mem_type_table(void)
unsigned int cr = get_cr();
pteval_t user_pgprot, kern_pgprot, vecs_pgprot;
int cpu_arch = cpu_architecture();
- int i;
+ size_t i;
if (cpu_arch < CPU_ARCH_ARMv6) {
#if defined(CONFIG_CPU_DCACHE_DISABLE)
diff --git a/arch/arm/probes/kprobes/test-core.c
b/arch/arm/probes/kprobes/test-core.c
index c562832b8627..7e8694eb772c 100644
--- a/arch/arm/probes/kprobes/test-core.c
+++ b/arch/arm/probes/kprobes/test-core.c
@@ -723,9 +723,9 @@ static const char coverage_register_lookup[16] = {
unsigned coverage_start_registers(const struct decode_header *h)
{
unsigned regs = 0;
- int i;
+ unsigned i;
for (i = 0; i < 20; i += 4) {
- int r = (h->type_regs.bits >> (DECODE_TYPE_BITS + i)) & 0xf;
+ unsigned r = (h->type_regs.bits >> (DECODE_TYPE_BITS + i)) & 0xf;
regs |= coverage_register_lookup[r] << i;
}
return regs;
@@ -774,12 +774,12 @@ static int coverage_start(const union decode_item *table)
static void
coverage_add_registers(struct coverage_entry *entry, kprobe_opcode_t insn)
{
- int regs = entry->header->type_regs.bits >> DECODE_TYPE_BITS;
+ u32 regs = entry->header->type_regs.bits >> DECODE_TYPE_BITS;
int i;
for (i = 0; i < 20; i += 4) {
enum decode_reg_type reg_type = (regs >> i) & 0xf;
int reg = (insn >> i) & 0xf;
- int flag;
+ unsigned flag;
if (!reg_type)
continue;
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c
index 2cb355c1b5b7..c491ed8e5cf2 100644
--- a/arch/arm/vfp/vfpmodule.c
+++ b/arch/arm/vfp/vfpmodule.c
@@ -227,7 +227,7 @@ static void vfp_raise_sigfpe(unsigned int sicode,
struct pt_regs *regs)
static void vfp_panic(char *reason, u32 inst)
{
- int i;
+ unsigned i;
pr_err("VFP: Error: %s\n", reason);
pr_err("VFP: EXC 0x%08x SCR 0x%08x INST 0x%08x\n",
@@ -700,7 +700,7 @@ static struct undef_hook vfp_kmode_exception_hook[] = {{
static int __init vfp_kmode_exception_hook_init(void)
{
- int i;
+ size_t i;
for (i = 0; i < ARRAY_SIZE(vfp_kmode_exception_hook); i++)
register_undef_hook(&vfp_kmode_exception_hook[i]);
diff --git a/arch/arm/xen/p2m.c b/arch/arm/xen/p2m.c
index 309648c17f48..7417da4d1236 100644
--- a/arch/arm/xen/p2m.c
+++ b/arch/arm/xen/p2m.c
@@ -92,7 +92,7 @@ int set_foreign_p2m_mapping(struct
gnttab_map_grant_ref *map_ops,
struct gnttab_map_grant_ref *kmap_ops,
struct page **pages, unsigned int count)
{
- int i;
+ unsigned i;
for (i = 0; i < count; i++) {
struct gnttab_unmap_grant_ref unmap;
@@ -137,7 +137,7 @@ int clear_foreign_p2m_mapping(struct
gnttab_unmap_grant_ref *unmap_ops,
struct gnttab_unmap_grant_ref *kunmap_ops,
struct page **pages, unsigned int count)
{
- int i;
+ unsigned i;
for (i = 0; i < count; i++) {
set_phys_to_machine(unmap_ops[i].host_addr >> XEN_PAGE_SHIFT,
diff --git a/arch/mips/alchemy/common/irq.c b/arch/mips/alchemy/common/irq.c
index da9f9220048f..83f73ae7d225 100644
--- a/arch/mips/alchemy/common/irq.c
+++ b/arch/mips/alchemy/common/irq.c
@@ -809,7 +809,7 @@ static int alchemy_gpic_suspend(void)
static void alchemy_gpic_resume(void)
{
void __iomem *base = (void __iomem *)KSEG1ADDR(AU1300_GPIC_PHYS_ADDR);
- int i;
+ u32 i;
/* disable all first */
__raw_writel(~0UL, base + AU1300_GPIC_IDIS + 0x0);
diff --git a/arch/mips/alchemy/common/prom.c b/arch/mips/alchemy/common/prom.c
index b13d8adf3be4..7b28b9ce1d3a 100644
--- a/arch/mips/alchemy/common/prom.c
+++ b/arch/mips/alchemy/common/prom.c
@@ -111,7 +111,7 @@ static inline unsigned char str2hexnum(unsigned char c)
static inline void str2eaddr(unsigned char *ea, unsigned char *str)
{
- int i;
+ unsigned i;
for (i = 0; i < 6; i++) {
unsigned char num;
diff --git a/arch/mips/alchemy/devboards/bcsr.c
b/arch/mips/alchemy/devboards/bcsr.c
index 8df0ccdc9287..894916e95ff6 100644
--- a/arch/mips/alchemy/devboards/bcsr.c
+++ b/arch/mips/alchemy/devboards/bcsr.c
@@ -28,7 +28,7 @@ static int bcsr_csc_base; /* linux-irq of first
cascaded irq */
void __init bcsr_init(unsigned long bcsr1_phys, unsigned long bcsr2_phys)
{
- int i;
+ unsigned i;
bcsr1_phys = KSEG1ADDR(CPHYSADDR(bcsr1_phys));
bcsr2_phys = KSEG1ADDR(CPHYSADDR(bcsr2_phys));
diff --git a/arch/mips/alchemy/devboards/platform.c
b/arch/mips/alchemy/devboards/platform.c
index 754bdd2ca630..a69d9d56f130 100644
--- a/arch/mips/alchemy/devboards/platform.c
+++ b/arch/mips/alchemy/devboards/platform.c
@@ -122,10 +122,10 @@ int __init
db1x_register_pcmcia_socket(phys_addr_t pcmcia_attr_start,
i = 5;
if (stschg_irq) {
- sr[i].name = "stschg";
- sr[i].flags = IORESOURCE_IRQ;
- sr[i].start = sr[i].end = stschg_irq;
- i++;
+ sr[5].name = "stschg";
+ sr[5].flags = IORESOURCE_IRQ;
+ sr[5].start = sr[5].end = stschg_irq;
+ i = 6;
}
if (eject_irq) {
sr[i].name = "eject";
diff --git a/arch/mips/ar7/prom.c b/arch/mips/ar7/prom.c
index 5810d3993fc6..dda3ed6934ac 100644
--- a/arch/mips/ar7/prom.c
+++ b/arch/mips/ar7/prom.c
@@ -144,7 +144,7 @@ static void __init add_adam2_var(char *name, char *value)
static int __init parse_psp_env(void *psp_env_base)
{
- int i, n;
+ unsigned i, n;
char *name, *value;
struct psp_env_chunk *chunks = (struct psp_env_chunk *)psp_env_data;
@@ -171,7 +171,7 @@ static int __init parse_psp_env(void *psp_env_base)
static void __init ar7_init_env(struct env_var *env)
{
- int i;
+ unsigned i;
struct psbl_rec *psbl = (struct psbl_rec *)(KSEG1ADDR(0x14000300));
void *psp_env = (void *)KSEG1ADDR(psbl->env_base);
diff --git a/arch/mips/boot/compressed/dbg.c b/arch/mips/boot/compressed/dbg.c
index f6728a8fd1c3..5957f9030e0c 100644
--- a/arch/mips/boot/compressed/dbg.c
+++ b/arch/mips/boot/compressed/dbg.c
@@ -25,13 +25,9 @@ void puts(const char *s)
void puthex(unsigned long long val)
{
-
- unsigned char buf[10];
- int i;
- for (i = 7; i >= 0; i--) {
- buf[i] = "0123456789ABCDEF"[val & 0x0F];
- val >>= 4;
- }
- buf[8] = '\0';
- puts(buf);
+ char buf[9];
+ size_t i = sizeof(buf) - 1;
+ for (buf[i] = '\0'; i; val >>= 4)
+ buf[--i] = "0123456789ABCDEF"[val & 0xF];
+ puts(buf);
}
diff --git a/arch/mips/fw/arc/cmdline.c b/arch/mips/fw/arc/cmdline.c
index 155c5e911723..5b05069fec8f 100644
--- a/arch/mips/fw/arc/cmdline.c
+++ b/arch/mips/fw/arc/cmdline.c
@@ -47,7 +47,7 @@ static char __init *move_firmware_args(int argc,
LONG *argv, char *cp)
while (actr < argc) {
for(i = 0; i < ARRAY_SIZE(used_arc); i++) {
- int len = strlen(used_arc[i][0]);
+ size_t len = strlen(used_arc[i][0]);
if (!strncmp(prom_argv(actr), used_arc[i][0], len)) {
/* Ok, we want it. First append the replacement... */
@@ -86,7 +86,7 @@ void __init prom_init_cmdline(int argc, LONG *argv)
while (actr < argc) {
for (i = 0; i < ARRAY_SIZE(ignored); i++) {
- int len = strlen(ignored[i]);
+ size_t len = strlen(ignored[i]);
if (!strncmp(prom_argv(actr), ignored[i], len))
goto pic_cont;
diff --git a/arch/xtensa/platforms/iss/console.c
b/arch/xtensa/platforms/iss/console.c
index 10b79d3c74e0..3159917ffd2f 100644
--- a/arch/xtensa/platforms/iss/console.c
+++ b/arch/xtensa/platforms/iss/console.c
@@ -64,7 +64,7 @@ static int rs_write(struct tty_struct * tty,
static void rs_poll(struct timer_list *unused)
{
struct tty_port *port = &serial_port;
- int i = 0;
+ size_t i = 0;
int rd = 1;
unsigned char c;
@@ -192,7 +192,7 @@ late_initcall(rs_init);
static void iss_console_write(struct console *co, const char *s, unsigned count)
{
if (s && *s != 0) {
- int len = strlen(s);
+ size_t len = strlen(s);
simc_write(1, s, count < len ? count : len);
}
}


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 05:15:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 05:15:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461508.719785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5K6b-0008Sc-QK; Wed, 14 Dec 2022 05:14:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461508.719785; Wed, 14 Dec 2022 05:14:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5K6b-0008Pz-Jq; Wed, 14 Dec 2022 05:14:57 +0000
Received: by outflank-mailman (input) for mailman id 461508;
 Wed, 14 Dec 2022 00:51:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KWmA=4M=gmail.com=doremylover123@srs-se1.protection.inumbo.net>)
 id 1p5G06-0002wf-7F
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 00:51:58 +0000
Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com
 [2607:f8b0:4864:20::82f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81993c3c-7b49-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 01:51:56 +0100 (CET)
Received: by mail-qt1-x82f.google.com with SMTP id a16so1342111qtw.10
 for <xen-devel@lists.xenproject.org>; Tue, 13 Dec 2022 16:51:56 -0800 (PST)
Received: from ?IPV6:2603:7080:a33a:d95d:20:71fc:7eaf:858a?
 (2603-7080-a33a-d95d-0020-71fc-7eaf-858a.res6.spectrum.com.
 [2603:7080:a33a:d95d:20:71fc:7eaf:858a])
 by smtp.gmail.com with ESMTPSA id
 p20-20020ac84614000000b003a611cb2a95sm833107qtn.9.2022.12.13.16.51.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 13 Dec 2022 16:51:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81993c3c-7b49-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:subject:from:cc:to:content-language
         :user-agent:mime-version:date:message-id:from:to:cc:subject:date
         :message-id:reply-to;
        bh=agc2D5uYmPBhslvrwBFEjc9DPi+bA6UTLkfJdzaASJc=;
        b=IRmaO3gTkbp/3ZHH3PwmQ3dcmX2tUXE9ATSXJYxd82SbVNdvwyCcKiVtkLpVFdmZda
         3iZRMHIc9o9FPGD+hJroEnSNWflBT6bu1WlCsgF2mLuja5Sw0OqtjXeHjV1fYMkQ+DMT
         WZDWp9MUQmkDm3ZysJxKeY/5dL4CfSD3bVYiqPLRMapFDGcHGnaL9sUT2YkABzYNDrpK
         jCrgiGxeycHPgimneAiL6B9nvf8I0nrDH9bYVsJ11popj2wYHO/TEuboSecLf0DE08L6
         lRrIoyR8T/B/55eMQDEDtpgyBxBo1w+3NN/5Nf4ZY/Vj2NFEOH0fPvO8ifu2eQUxhCwY
         mIOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:subject:from:cc:to:content-language
         :user-agent:mime-version:date:message-id:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=agc2D5uYmPBhslvrwBFEjc9DPi+bA6UTLkfJdzaASJc=;
        b=58dwbdEfvCixbFdx/FaGOAJ28qD8W7X8H2yMYj9im5wKXKHxlvL563GB6i6FSE0gvD
         B7wcYiNkprswK2KUNUrJjEnm0egPiocL03GvnTmXzrZDFtKkE6O4XPxM7xH6OPln3XLr
         o2vF0Xu0qR+Kv7CVjinT2N0BJVXk7fjzIAdgkJyXcHXLphsuSIMT8fvArisbpA3gh2m/
         P1YyUaFt8hLMYyDVsLzeTLaVfXWmtrPKUMRyCE/FwEnRE0DwkVtLT54LtNmRYj6YFXq8
         K5eQv2mehO6Ql3uxOJ7h15Tuabk+pW26aHZtPE+7+BCtSdGa1UQcRwmetYildvJJ6V2h
         ainw==
X-Gm-Message-State: ANoB5pl3h5QG3QqFrvX52kWjZKP0p+puTW0UNeK2c97kJzEd4zdOy+0o
	fS9blgi1oFmRbJ4O0v0FvA==
X-Google-Smtp-Source: AA0mqf6xtw54xm0GMZdLZAEzR7nsKOAr/4XmlduLF8bSU3of4o7NGfBAgtwAq1Nc4Ln6pTf7X8o1FA==
X-Received: by 2002:ac8:1118:0:b0:3a5:fef7:dfe5 with SMTP id c24-20020ac81118000000b003a5fef7dfe5mr26533804qtj.12.1670979114961;
        Tue, 13 Dec 2022 16:51:54 -0800 (PST)
Message-ID: <b2ada465-8eec-a7e3-0265-df9d0e8492d2@gmail.com>
Date: Tue, 13 Dec 2022 19:51:53 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Content-Language: en-US
To: sstabellini@kernel.org, tsbogend@alpha.franken.de, chris@zankel.net,
 jcmvbkbc@gmail.com
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org
From: Seija Kijin <doremylover123@gmail.com>
Subject: [PATCH] arch: change variable types to match those of what is
 assigned to them
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

There are many places where "int len = strlen(foo);" is written, just for len to be passed as a parameter of size_t. This causes truncation and then expansion back from int to size_t. Not to mention this is poor logic and needless truncations can add extra unneeded instructions.

This patch aims to fix the worst offenders.

Signed-off-by: Seija Kijin <doremylover123@gmail.com>
---
  arch/arm/mm/mmu.c                      | 30 +++++++++++++-------------
  arch/arm/probes/kprobes/test-core.c    |  8 +++----
  arch/arm/vfp/vfpmodule.c               |  4 ++--
  arch/arm/xen/p2m.c                     |  4 ++--
  arch/mips/alchemy/common/irq.c         |  2 +-
  arch/mips/alchemy/common/prom.c        |  2 +-
  arch/mips/alchemy/devboards/bcsr.c     |  2 +-
  arch/mips/alchemy/devboards/platform.c |  8 +++----
  arch/mips/ar7/prom.c                   |  4 ++--
  arch/mips/boot/compressed/dbg.c        | 14 +++++-------
  arch/mips/fw/arc/cmdline.c             |  4 ++--
  arch/xtensa/platforms/iss/console.c    |  4 ++--
  12 files changed, 41 insertions(+), 45 deletions(-)

diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 463fc2a8448f..27f5acb69c3b 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -117,7 +117,7 @@ static unsigned long initial_pmd_value __initdata = 0;
   */
  void __init init_default_cache_policy(unsigned long pmd)
  {
-    int i;
+    unsigned i;

      initial_pmd_value = pmd;

@@ -140,20 +140,22 @@ void __init init_default_cache_policy(unsigned long pmd)
   */
  static int __init early_cachepolicy(char *p)
  {
-    int i, selected = -1;
+    size_t i, selected = 0;

      for (i = 0; i < ARRAY_SIZE(cache_policies); i++) {
-        int len = strlen(cache_policies[i].policy);
+        size_t len = strlen(cache_policies[i].policy);

          if (memcmp(p, cache_policies[i].policy, len) == 0) {
              selected = i;
-            break;
+            goto no_err;
          }
      }

-    if (selected == -1)
-        pr_err("ERROR: unknown or unsupported cache policy\n");
+    pr_err("ERROR: unknown or unsupported cache policy\n");

+no_err:
+    if (selected != cachepolicy) {
+        unsigned long cr;
      /*
       * This restriction is partly to do with the way we boot; it is
       * unpredictable to have memory mapped using two different sets of
@@ -161,14 +163,12 @@ static int __init early_cachepolicy(char *p)
       * change these attributes once the initial assembly has setup the
       * page tables.
       */
-    if (cpu_architecture() >= CPU_ARCH_ARMv6 && selected != cachepolicy) {
-        pr_warn("Only cachepolicy=%s supported on ARMv6 and later\n",
-            cache_policies[cachepolicy].policy);
-        return 0;
-    }
-
-    if (selected != cachepolicy) {
-        unsigned long cr = __clear_cr(cache_policies[selected].cr_mask);
+        if (cpu_architecture() >= CPU_ARCH_ARMv6) {
+            pr_warn("Only cachepolicy=%s supported on ARMv6 and later\n",
+                cache_policies[cachepolicy].policy);
+            return 0;
+        }
+        cr = __clear_cr(cache_policies[selected].cr_mask);
          cachepolicy = selected;
          flush_cache_all();
          set_cr(cr);
@@ -445,7 +445,7 @@ static void __init build_mem_type_table(void)
      unsigned int cr = get_cr();
      pteval_t user_pgprot, kern_pgprot, vecs_pgprot;
      int cpu_arch = cpu_architecture();
-    int i;
+    size_t i;

      if (cpu_arch < CPU_ARCH_ARMv6) {
  #if defined(CONFIG_CPU_DCACHE_DISABLE)
diff --git a/arch/arm/probes/kprobes/test-core.c b/arch/arm/probes/kprobes/test-core.c
index c562832b8627..7e8694eb772c 100644
--- a/arch/arm/probes/kprobes/test-core.c
+++ b/arch/arm/probes/kprobes/test-core.c
@@ -723,9 +723,9 @@ static const char coverage_register_lookup[16] = {
  unsigned coverage_start_registers(const struct decode_header *h)
  {
      unsigned regs = 0;
-    int i;
+    unsigned i;
      for (i = 0; i < 20; i += 4) {
-        int r = (h->type_regs.bits >> (DECODE_TYPE_BITS + i)) & 0xf;
+        unsigned r = (h->type_regs.bits >> (DECODE_TYPE_BITS + i)) & 0xf;
          regs |= coverage_register_lookup[r] << i;
      }
      return regs;
@@ -774,12 +774,12 @@ static int coverage_start(const union decode_item *table)
  static void
  coverage_add_registers(struct coverage_entry *entry, kprobe_opcode_t insn)
  {
-    int regs = entry->header->type_regs.bits >> DECODE_TYPE_BITS;
+    u32 regs = entry->header->type_regs.bits >> DECODE_TYPE_BITS;
      int i;
      for (i = 0; i < 20; i += 4) {
          enum decode_reg_type reg_type = (regs >> i) & 0xf;
          int reg = (insn >> i) & 0xf;
-        int flag;
+        unsigned flag;

          if (!reg_type)
              continue;
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c
index 2cb355c1b5b7..c491ed8e5cf2 100644
--- a/arch/arm/vfp/vfpmodule.c
+++ b/arch/arm/vfp/vfpmodule.c
@@ -227,7 +227,7 @@ static void vfp_raise_sigfpe(unsigned int sicode, struct pt_regs *regs)

  static void vfp_panic(char *reason, u32 inst)
  {
-    int i;
+    unsigned i;

      pr_err("VFP: Error: %s\n", reason);
      pr_err("VFP: EXC 0x%08x SCR 0x%08x INST 0x%08x\n",
@@ -700,7 +700,7 @@ static struct undef_hook vfp_kmode_exception_hook[] = {{

  static int __init vfp_kmode_exception_hook_init(void)
  {
-    int i;
+    size_t i;

      for (i = 0; i < ARRAY_SIZE(vfp_kmode_exception_hook); i++)
          register_undef_hook(&vfp_kmode_exception_hook[i]);
diff --git a/arch/arm/xen/p2m.c b/arch/arm/xen/p2m.c
index 309648c17f48..7417da4d1236 100644
--- a/arch/arm/xen/p2m.c
+++ b/arch/arm/xen/p2m.c
@@ -92,7 +92,7 @@ int set_foreign_p2m_mapping(struct gnttab_map_grant_ref *map_ops,
                  struct gnttab_map_grant_ref *kmap_ops,
                  struct page **pages, unsigned int count)
  {
-    int i;
+    unsigned i;

      for (i = 0; i < count; i++) {
          struct gnttab_unmap_grant_ref unmap;
@@ -137,7 +137,7 @@ int clear_foreign_p2m_mapping(struct gnttab_unmap_grant_ref *unmap_ops,
                    struct gnttab_unmap_grant_ref *kunmap_ops,
                    struct page **pages, unsigned int count)
  {
-    int i;
+    unsigned i;

      for (i = 0; i < count; i++) {
          set_phys_to_machine(unmap_ops[i].host_addr >> XEN_PAGE_SHIFT,
diff --git a/arch/mips/alchemy/common/irq.c b/arch/mips/alchemy/common/irq.c
index da9f9220048f..83f73ae7d225 100644
--- a/arch/mips/alchemy/common/irq.c
+++ b/arch/mips/alchemy/common/irq.c
@@ -809,7 +809,7 @@ static int alchemy_gpic_suspend(void)
  static void alchemy_gpic_resume(void)
  {
      void __iomem *base = (void __iomem *)KSEG1ADDR(AU1300_GPIC_PHYS_ADDR);
-    int i;
+    u32 i;

      /* disable all first */
      __raw_writel(~0UL, base + AU1300_GPIC_IDIS + 0x0);
diff --git a/arch/mips/alchemy/common/prom.c b/arch/mips/alchemy/common/prom.c
index b13d8adf3be4..7b28b9ce1d3a 100644
--- a/arch/mips/alchemy/common/prom.c
+++ b/arch/mips/alchemy/common/prom.c
@@ -111,7 +111,7 @@ static inline unsigned char str2hexnum(unsigned char c)

  static inline void str2eaddr(unsigned char *ea, unsigned char *str)
  {
-    int i;
+    unsigned i;

      for (i = 0; i < 6; i++) {
          unsigned char num;
diff --git a/arch/mips/alchemy/devboards/bcsr.c b/arch/mips/alchemy/devboards/bcsr.c
index 8df0ccdc9287..894916e95ff6 100644
--- a/arch/mips/alchemy/devboards/bcsr.c
+++ b/arch/mips/alchemy/devboards/bcsr.c
@@ -28,7 +28,7 @@ static int bcsr_csc_base;    /* linux-irq of first cascaded irq */

  void __init bcsr_init(unsigned long bcsr1_phys, unsigned long bcsr2_phys)
  {
-    int i;
+    unsigned i;

      bcsr1_phys = KSEG1ADDR(CPHYSADDR(bcsr1_phys));
      bcsr2_phys = KSEG1ADDR(CPHYSADDR(bcsr2_phys));
diff --git a/arch/mips/alchemy/devboards/platform.c b/arch/mips/alchemy/devboards/platform.c
index 754bdd2ca630..a69d9d56f130 100644
--- a/arch/mips/alchemy/devboards/platform.c
+++ b/arch/mips/alchemy/devboards/platform.c
@@ -122,10 +122,10 @@ int __init db1x_register_pcmcia_socket(phys_addr_t pcmcia_attr_start,

      i = 5;
      if (stschg_irq) {
-        sr[i].name    = "stschg";
-        sr[i].flags    = IORESOURCE_IRQ;
-        sr[i].start = sr[i].end = stschg_irq;
-        i++;
+        sr[5].name    = "stschg";
+        sr[5].flags    = IORESOURCE_IRQ;
+        sr[5].start = sr[5].end = stschg_irq;
+        i = 6;
      }
      if (eject_irq) {
          sr[i].name    = "eject";
diff --git a/arch/mips/ar7/prom.c b/arch/mips/ar7/prom.c
index 5810d3993fc6..dda3ed6934ac 100644
--- a/arch/mips/ar7/prom.c
+++ b/arch/mips/ar7/prom.c
@@ -144,7 +144,7 @@ static void __init add_adam2_var(char *name, char *value)

  static int __init parse_psp_env(void *psp_env_base)
  {
-    int i, n;
+    unsigned i, n;
      char *name, *value;
      struct psp_env_chunk *chunks = (struct psp_env_chunk *)psp_env_data;

@@ -171,7 +171,7 @@ static int __init parse_psp_env(void *psp_env_base)

  static void __init ar7_init_env(struct env_var *env)
  {
-    int i;
+    unsigned i;
      struct psbl_rec *psbl = (struct psbl_rec *)(KSEG1ADDR(0x14000300));
      void *psp_env = (void *)KSEG1ADDR(psbl->env_base);

diff --git a/arch/mips/boot/compressed/dbg.c b/arch/mips/boot/compressed/dbg.c
index f6728a8fd1c3..5957f9030e0c 100644
--- a/arch/mips/boot/compressed/dbg.c
+++ b/arch/mips/boot/compressed/dbg.c
@@ -25,13 +25,9 @@ void puts(const char *s)

  void puthex(unsigned long long val)
  {
-
-    unsigned char buf[10];
-    int i;
-    for (i = 7; i >= 0; i--) {
-        buf[i] = "0123456789ABCDEF"[val & 0x0F];
-        val >>= 4;
-    }
-    buf[8] = '\0';
-    puts(buf);
+    char buf[9];
+    size_t i = sizeof(buf) - 1;
+    for (buf[i] = '\0'; i; val >>= 4)
+        buf[--i] = "0123456789ABCDEF"[val & 0xF];
+    puts(buf);
  }
diff --git a/arch/mips/fw/arc/cmdline.c b/arch/mips/fw/arc/cmdline.c
index 155c5e911723..5b05069fec8f 100644
--- a/arch/mips/fw/arc/cmdline.c
+++ b/arch/mips/fw/arc/cmdline.c
@@ -47,7 +47,7 @@ static char __init *move_firmware_args(int argc, LONG *argv, char *cp)

      while (actr < argc) {
          for(i = 0; i < ARRAY_SIZE(used_arc); i++) {
-            int len = strlen(used_arc[i][0]);
+            size_t len = strlen(used_arc[i][0]);

              if (!strncmp(prom_argv(actr), used_arc[i][0], len)) {
              /* Ok, we want it. First append the replacement... */
@@ -86,7 +86,7 @@ void __init prom_init_cmdline(int argc, LONG *argv)

      while (actr < argc) {
          for (i = 0; i < ARRAY_SIZE(ignored); i++) {
-            int len = strlen(ignored[i]);
+            size_t len = strlen(ignored[i]);

              if (!strncmp(prom_argv(actr), ignored[i], len))
                  goto pic_cont;
diff --git a/arch/xtensa/platforms/iss/console.c b/arch/xtensa/platforms/iss/console.c
index 10b79d3c74e0..3159917ffd2f 100644
--- a/arch/xtensa/platforms/iss/console.c
+++ b/arch/xtensa/platforms/iss/console.c
@@ -64,7 +64,7 @@ static int rs_write(struct tty_struct * tty,
  static void rs_poll(struct timer_list *unused)
  {
      struct tty_port *port = &serial_port;
-    int i = 0;
+    size_t i = 0;
      int rd = 1;
      unsigned char c;

@@ -192,7 +192,7 @@ late_initcall(rs_init);
  static void iss_console_write(struct console *co, const char *s, unsigned count)
  {
      if (s && *s != 0) {
-        int len = strlen(s);
+        size_t len = strlen(s);
          simc_write(1, s, count < len ? count : len);
      }
  }
-- 
2.38.2




From xen-devel-bounces@lists.xenproject.org Wed Dec 14 05:19:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 05:19:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461678.719805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5KBM-0001qK-GS; Wed, 14 Dec 2022 05:19:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461678.719805; Wed, 14 Dec 2022 05:19:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5KBM-0001qD-Dg; Wed, 14 Dec 2022 05:19:52 +0000
Received: by outflank-mailman (input) for mailman id 461678;
 Wed, 14 Dec 2022 05:19:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XtkE=4M=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p5KBK-0001q7-Qg
 for xen-devel@lists.xen.org; Wed, 14 Dec 2022 05:19:50 +0000
Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com
 [2607:f8b0:4864:20::1031])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id edb919ce-7b6e-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 06:19:49 +0100 (CET)
Received: by mail-pj1-x1031.google.com with SMTP id
 b13-20020a17090a5a0d00b0021906102d05so5865576pjd.5
 for <xen-devel@lists.xen.org>; Tue, 13 Dec 2022 21:19:49 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 3-20020a17090a08c300b0021937b2118bsm395935pjn.54.2022.12.13.21.19.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 13 Dec 2022 21:19:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edb919ce-7b6e-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=k9S/I5H56OQfUtRRUB+uh1kRSu48OPEPKhm4BNOTasE=;
        b=FVIMjHJEap/07K1ESAvavwHEl5dK5kB2XpHslc/awSoiNXKs37VzUHISOmjRKJ1nQB
         X7iQwenOKxGTe8qn6b7Lsy6f24jLQvzo10qhhNPSW62eatbpXstLzN1r/gWTktjS1h1P
         lbTa2YC4D3mXKpYxk4/Mb5ZGW0hNW4rdknTgW/juKEwPUxGhiGCIODSA+DlU+F3XcABs
         Z6gDubR5phHt5FlhjgES9aWmpB35zXD0KtweN/RBRUmgoZ0Wm1oUfLqXWCtCxpyv8IWJ
         XSa0ZnNMcJ4stMfM28rDgLD47DOaUdvGMz/5enoburENJaeirX/dJqaOtxfsgxP5nPJY
         cC9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=k9S/I5H56OQfUtRRUB+uh1kRSu48OPEPKhm4BNOTasE=;
        b=4jsh0dvlx+UmOHkXTFGR9/dHABVLXKQBIr5KrPQBbHakNJJ6wgG+4Hsos8TcgKMRV4
         1NTSv3O1dddqIKaD+r1i48sN0yYr/ssw9PhdtNVqLsZAsa4zcVJfMq3gItaErgD1DZi8
         aG2mG2fnMb/vyCD+4fWCIFphh46+XrdDAUtUDyMGzSydEM5piNaGuXvq2xud4IMkyMHR
         4HaRYYSuHD6Zo4Ccg4yIzCNbqYRvbHNmmnFUFak/KMmE6GZmYrr0BFsfq21mqNqMXGXG
         TnDYxe5qOVFxp1u7yq43FDth2vjC8c8IDE06uDAKqV2M6eP0FX3ElP806Ths9LtzkG1r
         eJIw==
X-Gm-Message-State: ANoB5pmTKyfGIH9/8R/h63kRxlGwtF3qEeolIdoDg1ySgYRY1gK2zmUe
	sf/8Gp4ODLJ1buFB7PWt2rgjMUbdBW6E/zwD
X-Google-Smtp-Source: AA0mqf6P1nJKn8c3Ys2Jse0scUjnMOELsQioU6D5lAv/hgsGdIoRvBu5qRoLyyDDEmELm6bGpL30tA==
X-Received: by 2002:a17:90a:17e8:b0:21a:2306:a9bc with SMTP id q95-20020a17090a17e800b0021a2306a9bcmr23173134pja.7.1670995187682;
        Tue, 13 Dec 2022 21:19:47 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH V10 0/3] toolstack support for generic virtio devices on Arm
Date: Wed, 14 Dec 2022 10:49:39 +0530
Message-Id: <cover.1670994930.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hello,

This patchset adds toolstack support for I2C, GPIO and generic virtio devices.
This is inspired from the work done by Oleksandr for the Disk device.

This is developed as part of Linaro's Project Stratos, where we are working
towards Hypervisor agnostic Rust based backends [1].

This is based of Xen's master branch.

V9->V10:
- Swap I2C/GPIO compatible strings, they were wrongly added earlier.
- Arrange tags in timely order and add new ones.

V8->V9:
- Drop changes to tools/ocaml/libs/xl/genwrap.py file.
- Replace GPIO with I2C in a comment.
- Add Reviewed-by tags.

V7->V8:
- Use macros for compatible string names.
- Use strcmp() instead of strncmp() at several places.
- Rename "virtio,devices" to "virtio,device" in commit log.
- Remove extra call to fdt_end_node().
- Disallow "unknown" in xenstore transport.
- Use libxl__strdup().
- Update documentation.
- Remove DEVICE_ADDREMOVE(virtio).

V6->V7:
- Support generic virtio devices too. They are passed with type=virtio,device,
  and we only create the MMIO DT node for them.
- Add links to DT bindings of I2C and GPIO, in code and documentation.
- Call libxl__device_add() for all hypervisor types.
- Add (0, "UNKNOWN") for libxl_virtio_transport.
- Removed libxl_virtio_backend and libxl_virtioinfo, as they were unused.
- Remove unnecessary stuff from libxl__virtio_from_xenstore() and add support
  for type and transport.
- Add backend=domid in documentation and replace compatible with type.
- Improved commit logs.

V5->V6:
- The cleanup patches are sent separately [2].
- We don't add I2C or GPIO specific device changes anymore, rather we create
  generic "virtio" devices. The "type" of a virtio devices helps us identify the
  right device, and create an entry in the DT node. The same can be used for all
  Virtio devices now.
- Update man page xl.cfg.

V4->V5:
- Fixed indentation at few places.
- Removed/added blank lines.
- Added few comments.
- Added review tags from Oleksandr.
- Rebased over latest staging branch.

V3->V4:
- Update virtio_enabled independently of all devices, so we don't miss setting
  it to true.

- Add iommu handling for i2c/gpio and move it as part of
  make_virtio_mmio_node_common(), which gets backend_domid parameter as a
  result.

V2->V3:
- Rebased over latest tree and made changes according to changes in Oleksandr's
  patches from sometime back.
- Minor cleanups.

V1->V2:
- Patches 3/6 and 4/6 are new.
- Patches 5/6 and 6/6 updated based on the above two patches.
- Added link to the bindings for I2C and GPIO.
- Rebased over latest master branch.


Thanks.

--
Viresh

[1] https://lore.kernel.org/xen-devel/20220414092358.kepxbmnrtycz7mhe@vireshk-i7/

Viresh Kumar (3):
  libxl: Add support for generic virtio device
  xl: Add support to parse generic virtio device
  docs: Add documentation for generic virtio devices

 docs/man/xl.cfg.5.pod.in                  |  33 +++++
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_arm.c              | 100 +++++++++++++++
 tools/libs/light/libxl_create.c           |   4 +
 tools/libs/light/libxl_internal.h         |   6 +
 tools/libs/light/libxl_types.idl          |  18 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/libs/light/libxl_virtio.c           | 144 ++++++++++++++++++++++
 tools/xl/xl_parse.c                       |  81 ++++++++++++
 9 files changed, 388 insertions(+)
 create mode 100644 tools/libs/light/libxl_virtio.c

-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 05:19:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 05:19:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461679.719817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5KBO-00026S-OX; Wed, 14 Dec 2022 05:19:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461679.719817; Wed, 14 Dec 2022 05:19:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5KBO-00026H-Lc; Wed, 14 Dec 2022 05:19:54 +0000
Received: by outflank-mailman (input) for mailman id 461679;
 Wed, 14 Dec 2022 05:19:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XtkE=4M=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p5KBN-00023h-PK
 for xen-devel@lists.xen.org; Wed, 14 Dec 2022 05:19:53 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef871dfe-7b6e-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 06:19:52 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id x2so901119plb.13
 for <xen-devel@lists.xen.org>; Tue, 13 Dec 2022 21:19:52 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 g12-20020aa79dcc000000b0057a9b146592sm772871pfq.186.2022.12.13.21.19.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 13 Dec 2022 21:19:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef871dfe-7b6e-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9pNNo2wAa9SBYQflEdFOWHayo9Jk6WnxOmcU3FXbm+k=;
        b=vPBidiMsSs1V/c1JcHhGBAUmkAKkVLDnyfoGTj0ec5mpDO6LrXlL5eC5Wud+QTNUSc
         +A8wJ1UKMKgO9l/8LBZJuvKSVJbYv6jjSWQewcfbOjVJZwKNq+k7c9k9VMg81IGgdj0C
         UzXyurN0I+mJOQBI7R1AYLc+wZPmDPvw3CtlEgDGuhiwaOyOGNwqT+kQpqiSeINVKqOv
         6J3yiNLoPjY7sDcyOXyCdU7E9I39ukyWZDhxXP3r5J1hmaJFMQJOqaVZ+i6gB0b5LAUf
         m58nRlboeJOMzr6uDtaDxRiya0/YigErLtk9QOGu5xmLeq4OazlmNgcNoa9754ZYzit9
         qLXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9pNNo2wAa9SBYQflEdFOWHayo9Jk6WnxOmcU3FXbm+k=;
        b=4hwvTG6815BQ9ZkMlpRv4XNqwWnHjZnL6qCOyx26ehLmb4b2eJpx65uItyCY5WnLlI
         ZgmgWrKYlLYAUIfax4AyLizSowMFDvXUZ+I7X2vdyFp5HVYAwSn9ERA8iEfjU43wTrVk
         IjqCf65NH/C0AO0iMZ7/b7WSXf9+gzgaW5g1tq7WAVnMBPjPPim7wFPwKubBe+l212mb
         4gMh+JpMYkmsNXJxRhnkmNP/AgNwaaYV6TcjIsMc0ON/WBxOQAjgxAnaNVApUT9DnUIy
         lXATJjZGgG25GB2uZZnwgkmjahfKLxAsjr6Tgk0D35ztzE3785x3SWNy4viY/o5JQqdH
         RDEg==
X-Gm-Message-State: ANoB5pl+2ylqQUNgW/i/0xV0aTzXzancMVVVy1UR40ujoUouPOygdukj
	Mu6zRdN9VXVgN1HnfUfZgV554+rftQiuPXbG
X-Google-Smtp-Source: AA0mqf4IKF0BB9KlNsFy27Ln0zN6iHwhFMRIlRM4gMmaAbVwAc08amCXJV5zQ21cMS2+SkUHI33BzA==
X-Received: by 2002:a05:6a21:1589:b0:a7:9e22:8cc5 with SMTP id nr9-20020a056a21158900b000a79e228cc5mr23150716pzb.29.1670995190699;
        Tue, 13 Dec 2022 21:19:50 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH V10 1/3] libxl: Add support for generic virtio device
Date: Wed, 14 Dec 2022 10:49:40 +0530
Message-Id: <c8a547d357870a4aec350ac6f2ab258e81fcb7f7.1670994930.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1670994930.git.viresh.kumar@linaro.org>
References: <cover.1670994930.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for configuring and assisting generic
Virtio backends, which could run in any domain.

An example of domain configuration for mmio based Virtio I2C device is:
virtio = ["type=virtio,device22,transport=mmio"]

To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
region) and pass them to the backend and update guest device-tree to
create a DT node for the Virtio devices.

Add special support for I2C and GPIO devices, which require the
"compatible" DT property to be set, among other device specific
properties. Support for generic virtio devices is also added, which just
need a MMIO node but not any special DT properties, for such devices the
user needs to pass "virtio,device" in the "type" string.

The parsing of generic virtio device configurations will be done in a
separate commit.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
 tools/libs/light/Makefile                 |   1 +
 tools/libs/light/libxl_arm.c              | 100 +++++++++++++++
 tools/libs/light/libxl_create.c           |   4 +
 tools/libs/light/libxl_internal.h         |   6 +
 tools/libs/light/libxl_types.idl          |  18 +++
 tools/libs/light/libxl_types_internal.idl |   1 +
 tools/libs/light/libxl_virtio.c           | 144 ++++++++++++++++++++++
 7 files changed, 274 insertions(+)
 create mode 100644 tools/libs/light/libxl_virtio.c

diff --git a/tools/libs/light/Makefile b/tools/libs/light/Makefile
index 374be1cfab25..4fddcc6f51d7 100644
--- a/tools/libs/light/Makefile
+++ b/tools/libs/light/Makefile
@@ -106,6 +106,7 @@ OBJS-y += libxl_vdispl.o
 OBJS-y += libxl_pvcalls.o
 OBJS-y += libxl_vsnd.o
 OBJS-y += libxl_vkb.o
+OBJS-y += libxl_virtio.o
 OBJS-y += libxl_genid.o
 OBJS-y += _libxl_types.o
 OBJS-y += libxl_flask.o
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index fa3d61f1e882..ddc7b2a15975 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -113,6 +113,19 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         }
     }
 
+    for (i = 0; i < d_config->num_virtios; i++) {
+        libxl_device_virtio *virtio = &d_config->virtios[i];
+
+        if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
+            continue;
+
+        rc = alloc_virtio_mmio_params(gc, &virtio->base, &virtio->irq,
+                                      &virtio_mmio_base, &virtio_mmio_irq);
+
+        if (rc)
+            return rc;
+    }
+
     /*
      * Every virtio-mmio device uses one emulated SPI. If Virtio devices are
      * present, make sure that we allocate enough SPIs for them.
@@ -956,6 +969,79 @@ static int make_virtio_mmio_node(libxl__gc *gc, void *fdt, uint64_t base,
     return fdt_end_node(fdt);
 }
 
+/*
+ * The DT bindings for I2C device are present here:
+ *
+ * https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml
+ */
+static int make_virtio_mmio_node_i2c(libxl__gc *gc, void *fdt)
+{
+    int res;
+
+    res = fdt_begin_node(fdt, "i2c");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_I2C);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
+/*
+ * The DT bindings for GPIO device are present here:
+ *
+ * https://www.kernel.org/doc/Documentation/devicetree/bindings/gpio/gpio-virtio.yaml
+ */
+static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt)
+{
+    int res;
+
+    res = fdt_begin_node(fdt, "gpio");
+    if (res) return res;
+
+    res = fdt_property_compat(gc, fdt, 1, VIRTIO_DEVICE_TYPE_GPIO);
+    if (res) return res;
+
+    res = fdt_property(fdt, "gpio-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#gpio-cells", 2);
+    if (res) return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if (res) return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 2);
+    if (res) return res;
+
+    return fdt_end_node(fdt);
+}
+
+static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt, uint64_t base,
+                                        uint32_t irq, const char *type,
+                                        uint32_t backend_domid)
+{
+    int res;
+
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
+    if (res) return res;
+
+    /* Add device specific nodes */
+    if (!strcmp(type, VIRTIO_DEVICE_TYPE_I2C)) {
+        res = make_virtio_mmio_node_i2c(gc, fdt);
+        if (res) return res;
+    } else if (!strcmp(type, VIRTIO_DEVICE_TYPE_GPIO)) {
+        res = make_virtio_mmio_node_gpio(gc, fdt);
+        if (res) return res;
+    } else if (strcmp(type, VIRTIO_DEVICE_TYPE_GENERIC)) {
+        /* Doesn't match generic virtio device */
+        LOG(ERROR, "Invalid type for virtio device: %s", type);
+        return -EINVAL;
+    }
+
+    return fdt_end_node(fdt);
+}
+
 static const struct arch_info *get_arch_info(libxl__gc *gc,
                                              const struct xc_dom_image *dom)
 {
@@ -1277,6 +1363,20 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
             }
         }
 
+        for (i = 0; i < d_config->num_virtios; i++) {
+            libxl_device_virtio *virtio = &d_config->virtios[i];
+
+            if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
+                continue;
+
+            if (virtio->backend_domid != LIBXL_TOOLSTACK_DOMID)
+                iommu_needed = true;
+
+            FDT( make_virtio_mmio_node_device(gc, fdt, virtio->base,
+                                              virtio->irq, virtio->type,
+                                              virtio->backend_domid) );
+        }
+
         /*
          * The iommu node should be created only once for all virtio-mmio
          * devices.
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index 612eacfc7fac..beec3f6b6fec 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -1752,6 +1752,10 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
         libxl__device_add(gc, domid, &libxl__pvcallsif_devtype,
                           &d_config->pvcallsifs[i]);
 
+    for (i = 0; i < d_config->num_virtios; i++)
+        libxl__device_add(gc, domid, &libxl__virtio_devtype,
+                          &d_config->virtios[i]);
+
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
     {
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index a7c447c10e5f..0dc8b8f210cb 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -166,6 +166,11 @@
 /* Convert pfn to physical address space. */
 #define pfn_to_paddr(x) ((uint64_t)(x) << XC_PAGE_SHIFT)
 
+/* Virtio device types */
+#define VIRTIO_DEVICE_TYPE_GENERIC   "virtio,device"
+#define VIRTIO_DEVICE_TYPE_I2C       "virtio,device22"
+#define VIRTIO_DEVICE_TYPE_GPIO      "virtio,device29"
+
 /* logging */
 _hidden void libxl__logv(libxl_ctx *ctx, xentoollog_level msglevel, int errnoval,
              const char *file /* may be 0 */, int line /* ignored if !file */,
@@ -4003,6 +4008,7 @@ static inline int *libxl__device_type_get_num(
 
 extern const libxl__device_type libxl__vfb_devtype;
 extern const libxl__device_type libxl__vkb_devtype;
+extern const libxl__device_type libxl__virtio_devtype;
 extern const libxl__device_type libxl__disk_devtype;
 extern const libxl__device_type libxl__nic_devtype;
 extern const libxl__device_type libxl__vtpm_devtype;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 9e3d33cb5a59..0cfad8508dbd 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -278,6 +278,11 @@ libxl_vkb_backend = Enumeration("vkb_backend", [
     (2, "LINUX")
     ])
 
+libxl_virtio_transport = Enumeration("virtio_transport", [
+    (0, "UNKNOWN"),
+    (1, "MMIO"),
+    ])
+
 libxl_passthrough = Enumeration("passthrough", [
     (0, "default"),
     (1, "disabled"),
@@ -703,6 +708,18 @@ libxl_device_vkb = Struct("device_vkb", [
     ("multi_touch_num_contacts", uint32)
     ])
 
+libxl_device_virtio = Struct("device_virtio", [
+    ("backend_domid", libxl_domid),
+    ("backend_domname", string),
+    ("type", string),
+    ("transport", libxl_virtio_transport),
+    ("devid", libxl_devid),
+    # Note that virtio-mmio parameters (irq and base) are for internal
+    # use by libxl and can't be modified.
+    ("irq", uint32),
+    ("base", uint64)
+    ])
+
 libxl_device_disk = Struct("device_disk", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
@@ -980,6 +997,7 @@ libxl_domain_config = Struct("domain_config", [
     ("dtdevs", Array(libxl_device_dtdev, "num_dtdevs")),
     ("vfbs", Array(libxl_device_vfb, "num_vfbs")),
     ("vkbs", Array(libxl_device_vkb, "num_vkbs")),
+    ("virtios", Array(libxl_device_virtio, "num_virtios")),
     ("vtpms", Array(libxl_device_vtpm, "num_vtpms")),
     ("p9s", Array(libxl_device_p9, "num_p9s")),
     ("pvcallsifs", Array(libxl_device_pvcallsif, "num_pvcallsifs")),
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index fb0f4f23d7c2..e24288f1a59e 100644
--- a/tools/libs/light/libxl_types_internal.idl
+++ b/tools/libs/light/libxl_types_internal.idl
@@ -33,6 +33,7 @@ libxl__device_kind = Enumeration("device_kind", [
     (15, "VSND"),
     (16, "VINPUT"),
     (17, "VIRTIO_DISK"),
+    (18, "VIRTIO"),
     ])
 
 libxl__console_backend = Enumeration("console_backend", [
diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virtio.c
new file mode 100644
index 000000000000..6a38def2faf5
--- /dev/null
+++ b/tools/libs/light/libxl_virtio.c
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) 2022 Linaro Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+#include "libxl_internal.h"
+
+static int libxl__device_virtio_setdefault(libxl__gc *gc, uint32_t domid,
+                                           libxl_device_virtio *virtio,
+                                           bool hotplug)
+{
+    return libxl__resolve_domid(gc, virtio->backend_domname,
+                                &virtio->backend_domid);
+}
+
+static int libxl__device_from_virtio(libxl__gc *gc, uint32_t domid,
+                                     libxl_device_virtio *virtio,
+                                     libxl__device *device)
+{
+    device->backend_devid   = virtio->devid;
+    device->backend_domid   = virtio->backend_domid;
+    device->devid           = virtio->devid;
+    device->domid           = domid;
+
+    device->backend_kind    = LIBXL__DEVICE_KIND_VIRTIO;
+    device->kind            = LIBXL__DEVICE_KIND_VIRTIO;
+
+    return 0;
+}
+
+static int libxl__set_xenstore_virtio(libxl__gc *gc, uint32_t domid,
+                                      libxl_device_virtio *virtio,
+                                      flexarray_t *back, flexarray_t *front,
+                                      flexarray_t *ro_front)
+{
+    const char *transport = libxl_virtio_transport_to_string(virtio->transport);
+
+    flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->irq));
+    flexarray_append_pair(back, "base", GCSPRINTF("%lu", virtio->base));
+    flexarray_append_pair(back, "type", GCSPRINTF("%s", virtio->type));
+    flexarray_append_pair(back, "transport", GCSPRINTF("%s", transport));
+
+    flexarray_append_pair(front, "irq", GCSPRINTF("%u", virtio->irq));
+    flexarray_append_pair(front, "base", GCSPRINTF("%lu", virtio->base));
+    flexarray_append_pair(front, "type", GCSPRINTF("%s", virtio->type));
+    flexarray_append_pair(front, "transport", GCSPRINTF("%s", transport));
+
+    return 0;
+}
+
+static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
+                                       libxl_devid devid,
+                                       libxl_device_virtio *virtio)
+{
+    const char *be_path, *tmp = NULL;
+    int rc;
+
+    virtio->devid = devid;
+
+    rc = libxl__xs_read_mandatory(gc, XBT_NULL,
+                                  GCSPRINTF("%s/backend", libxl_path),
+                                  &be_path);
+    if (rc) goto out;
+
+    rc = libxl__backendpath_parse_domid(gc, be_path, &virtio->backend_domid);
+    if (rc) goto out;
+
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/irq", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        virtio->irq = strtoul(tmp, NULL, 0);
+    }
+
+    tmp = NULL;
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/base", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        virtio->base = strtoul(tmp, NULL, 0);
+    }
+
+    tmp = NULL;
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/transport", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        if (!strcmp(tmp, "mmio")) {
+            virtio->transport = LIBXL_VIRTIO_TRANSPORT_MMIO;
+        } else {
+            return ERROR_INVAL;
+        }
+    }
+
+    tmp = NULL;
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/type", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        int len = sizeof(VIRTIO_DEVICE_TYPE_GENERIC) - 1;
+
+        if (!strncmp(tmp, VIRTIO_DEVICE_TYPE_GENERIC, len)) {
+            virtio->type = libxl__strdup(NOGC, tmp);
+        } else {
+            return ERROR_INVAL;
+        }
+    }
+
+out:
+    return rc;
+}
+
+static LIBXL_DEFINE_UPDATE_DEVID(virtio)
+
+#define libxl__add_virtios NULL
+#define libxl_device_virtio_compare NULL
+
+DEFINE_DEVICE_TYPE_STRUCT(virtio, VIRTIO, virtios,
+    .set_xenstore_config = (device_set_xenstore_config_fn_t)
+                           libxl__set_xenstore_virtio,
+    .from_xenstore = (device_from_xenstore_fn_t)libxl__virtio_from_xenstore,
+    .skip_attach = 1
+);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 05:19:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 05:19:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461680.719828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5KBR-0002Nx-4I; Wed, 14 Dec 2022 05:19:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461680.719828; Wed, 14 Dec 2022 05:19:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5KBR-0002No-0t; Wed, 14 Dec 2022 05:19:57 +0000
Received: by outflank-mailman (input) for mailman id 461680;
 Wed, 14 Dec 2022 05:19:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XtkE=4M=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p5KBQ-0001q7-5v
 for xen-devel@lists.xen.org; Wed, 14 Dec 2022 05:19:56 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f16151e0-7b6e-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 06:19:55 +0100 (CET)
Received: by mail-pl1-x62a.google.com with SMTP id m4so2226845pls.4
 for <xen-devel@lists.xen.org>; Tue, 13 Dec 2022 21:19:55 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 z38-20020a634c26000000b00478162d9923sm7495563pga.13.2022.12.13.21.19.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 13 Dec 2022 21:19:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f16151e0-7b6e-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7i4PRyF/+8MS7bdaR8Oyx6LWpA2zFmwm7P/OIHxlUa4=;
        b=AeKaFazcTk8vJ7dAO85UgvzTe+n4a5R9wj1vOvI6m/CM94BybwvAnGxY0n+mU4PCFQ
         LX+EBLe7zhdKgAPPNDN1PS/JUP4rB0gHrr79wij7Mlvo3X5htwZhn5tlKJr9TD51pyCw
         /x9D8T3kBF4GZvKTX3U1OaHTkAPh7ImJUxAl6mmVAzRDi6/uLsAxonnUIIBHmSXhWJue
         rwMWAcnUQLNTSl/Go1arkRyrbGbibYKA9rq31RDBRBZ6gnMxIezGA0DvjfuMhrVUR71t
         g/VXFknz9zTvRPemFSqOpdrp1Oz6a9rGAawSpUKt21Ca9ZJZO86qrE/54JAKUhaPvnM6
         NaYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=7i4PRyF/+8MS7bdaR8Oyx6LWpA2zFmwm7P/OIHxlUa4=;
        b=EyqD5UNLqUwI6j2LiaSK9T4bIedxNlvAiwDRuFT0A6kcCBfU5vZ0eixpPuqvGYvxPI
         soZQBzlLOgARZCB1g7C3omZhTw0ULBO4igIEBQlBqKWK04el32Km2AlSEuQp+kef8pZz
         Az8/5vLSzexjRPA127uib3iUJ/j0X33XC5+Q9cPiLs1IsLn5JVxpHBfr+Ndef+TrzmAI
         aHlJMrPPHAeY4CpqZs4d46VTUvjisjD8Z0KPU8+qzL2O+RKz5YWKcu03KpjViwhhK2t+
         EehcUuv+2BY4t0d6QVAz8SVhbBrX8+TcMkgEUcSKXF0GojJ+rAgcDtYUaF6eUlNUdlHp
         PKbg==
X-Gm-Message-State: ANoB5pmuQQcACYN6CNCGsuYx6lXqBc0ovOWtaTHelrMoBF1Hog9gy4lE
	1+PFQA9Pod2XVMN04YNsSfagSwxe4QXD4uPw
X-Google-Smtp-Source: AA0mqf6lnA/EDSbd1jUuEKEFwKIzfUD+7RGXMteaneoemorxF+0kK9a54NNT93u8kmKjZJgyJNxu9Q==
X-Received: by 2002:a05:6a20:6d8a:b0:ad:a0c2:53ee with SMTP id gl10-20020a056a206d8a00b000ada0c253eemr11577690pzb.12.1670995193943;
        Tue, 13 Dec 2022 21:19:53 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH V10 2/3] xl: Add support to parse generic virtio device
Date: Wed, 14 Dec 2022 10:49:41 +0530
Message-Id: <487d57d805774d3a348d009dc3582eaf29c19ca3.1670994930.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1670994930.git.viresh.kumar@linaro.org>
References: <cover.1670994930.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch adds basic support for parsing generic Virtio backend.

An example of domain configuration for mmio based Virtio I2C device is:
virtio = ["type=virtio,device22,transport=mmio"]

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/xl/xl_parse.c | 81 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)

diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 644ab8f8fd36..853e9f357a1a 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1208,6 +1208,83 @@ static void parse_vkb_list(const XLU_Config *config,
     if (rc) exit(EXIT_FAILURE);
 }
 
+static int parse_virtio_config(libxl_device_virtio *virtio, char *token)
+{
+    char *oparg;
+    int rc;
+
+    if (MATCH_OPTION("backend", token, oparg)) {
+        virtio->backend_domname = strdup(oparg);
+    } else if (MATCH_OPTION("type", token, oparg)) {
+        virtio->type = strdup(oparg);
+    } else if (MATCH_OPTION("transport", token, oparg)) {
+        rc = libxl_virtio_transport_from_string(oparg, &virtio->transport);
+        if (rc) return rc;
+    } else {
+        fprintf(stderr, "Unknown string \"%s\" in virtio spec\n", token);
+        return -1;
+    }
+
+    return 0;
+}
+
+static void parse_virtio_list(const XLU_Config *config,
+                              libxl_domain_config *d_config)
+{
+    XLU_ConfigList *virtios;
+    const char *item;
+    char *buf = NULL, *oparg, *str = NULL;
+    int rc;
+
+    if (!xlu_cfg_get_list (config, "virtio", &virtios, 0, 0)) {
+        int entry = 0;
+        while ((item = xlu_cfg_get_listitem(virtios, entry)) != NULL) {
+            libxl_device_virtio *virtio;
+            char *p;
+
+            virtio = ARRAY_EXTEND_INIT(d_config->virtios, d_config->num_virtios,
+                                       libxl_device_virtio_init);
+
+            buf = strdup(item);
+
+            p = strtok(buf, ",");
+            while (p != NULL)
+            {
+                while (*p == ' ') p++;
+
+                // Type may contain a comma, do special handling.
+                if (MATCH_OPTION("type", p, oparg)) {
+                    if (!strncmp(oparg, "virtio", strlen("virtio"))) {
+                        char *p2 = strtok(NULL, ",");
+                        str = malloc(strlen(p) + strlen(p2) + 2);
+
+                        strcpy(str, p);
+                        strcat(str, ",");
+                        strcat(str, p2);
+                        p = str;
+                    }
+                }
+
+                rc = parse_virtio_config(virtio, p);
+                if (rc) goto out;
+
+                free(str);
+                str = NULL;
+                p = strtok(NULL, ",");
+            }
+
+            entry++;
+            free(buf);
+        }
+    }
+
+    return;
+
+out:
+    free(buf);
+    if (rc) exit(EXIT_FAILURE);
+}
+
 void parse_config_data(const char *config_source,
                        const char *config_data,
                        int config_len,
@@ -2753,6 +2830,10 @@ void parse_config_data(const char *config_source,
 
     parse_vkb_list(config, d_config);
 
+    d_config->virtios = NULL;
+    d_config->num_virtios = 0;
+    parse_virtio_list(config, d_config);
+
     xlu_cfg_get_defbool(config, "xend_suspend_evtchn_compat",
                         &c_info->xend_suspend_evtchn_compat, 0);
 
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 05:20:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 05:20:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461681.719839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5KBU-0002hT-EJ; Wed, 14 Dec 2022 05:20:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461681.719839; Wed, 14 Dec 2022 05:20:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5KBU-0002hI-9l; Wed, 14 Dec 2022 05:20:00 +0000
Received: by outflank-mailman (input) for mailman id 461681;
 Wed, 14 Dec 2022 05:19:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XtkE=4M=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p5KBT-0001q7-2o
 for xen-devel@lists.xen.org; Wed, 14 Dec 2022 05:19:59 +0000
Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com
 [2607:f8b0:4864:20::1030])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f31f6701-7b6e-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 06:19:58 +0100 (CET)
Received: by mail-pj1-x1030.google.com with SMTP id
 q17-20020a17090aa01100b002194cba32e9so5979963pjp.1
 for <xen-devel@lists.xen.org>; Tue, 13 Dec 2022 21:19:58 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 n15-20020a170902d2cf00b00186b0ac12c5sm792489plc.172.2022.12.13.21.19.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 13 Dec 2022 21:19:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f31f6701-7b6e-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OIMHWod3nlZXI5RU0uCiLAkBPk1CCoIYR7gbpGQe3bE=;
        b=I2KLF4quE9jLfiKGrHkVnyQVFA+AAPT0vwH+Jt3+Ku+2jgo+tm92L/QRDknTVoncr6
         szAdhhUWE7qhyCJVAZXBgT4QA/6lFJuJ5PAUzDIMeLxyeSw64es3rSrYs4odftUsJXAH
         48M4r19WWUqx4YTXLS8RaGcaiNZUtrpFt/dgKKE8r7a8kHBMet17K0nBcp/GadsfS/Dj
         ViKAbiIINOzMrC3xT3obh9GeY1IgSlF0YznlLqxm2M7PH0to4XVH++xMYYi6XvMlDVJa
         +xekvCrsS35BjnwK8miXspysA5R3V73uLofOyv9f0+ld9h56A0s+7pP6z2UZEsZpn3L/
         rPHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=OIMHWod3nlZXI5RU0uCiLAkBPk1CCoIYR7gbpGQe3bE=;
        b=c0dqXMgJk7xGIWCd8n0wHtWiOk/eJrwV63oqbHN8cYjGWBW/2fXmo47SJsKmsDmpW4
         WYkxqNGO+F6q/iuxuofOpKlIpbRuX8oFXU8sl0ACAI6L9QS5kDYXCuuv0UifpJpXOwMb
         24jf5SVbcEHYCETmbAg6mqWmRZGZf3cDSVG0et/5zv1N+S8nfNVGwS6UZcsAZSt4AKFg
         /HCAlXrUcLHWb7ODiFsRNLFmOQLORCwej9mBiGdVMOy4sZw/TTW5yocROqBKB9/cIOwz
         5goSvQ16nmAT8kGi9nTOfuAKIi5OlHrN0QRqTynlRHeZqL+X6TJMha46MuOm02ltl8bR
         TwPw==
X-Gm-Message-State: ANoB5pnLAVuHeRz71NnHzCpS019f/IBV9tV/x7HbHIEoLiiqnnMYxLcE
	DtzHoNHvhGYZYZWlmC8gjSjbbobMG18JQkeu
X-Google-Smtp-Source: AA0mqf44Zwb8GAsu21BUerAIW1rTTs3xTs7nTZPbVYXwjbZeEN0JomGGYp9AeJ0rEByrUEx++MwdTQ==
X-Received: by 2002:a17:902:c454:b0:189:fba2:3756 with SMTP id m20-20020a170902c45400b00189fba23756mr20937187plm.66.1670995196857;
        Tue, 13 Dec 2022 21:19:56 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH V10 3/3] docs: Add documentation for generic virtio devices
Date: Wed, 14 Dec 2022 10:49:42 +0530
Message-Id: <d24e53a633b3efae690aad6b545a0b0474cd5f85.1670994930.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1670994930.git.viresh.kumar@linaro.org>
References: <cover.1670994930.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch updates xl.cfg man page with details of generic Virtio device
related information.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
---
 docs/man/xl.cfg.5.pod.in | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index ec444fb2ba79..024bceeb61b2 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -1585,6 +1585,39 @@ Set maximum height for pointer device.
 
 =back
 
+=item B<virtio=[ "VIRTIO_DEVICE_STRING", "VIRTIO_DEVICE_STRING", ...]>
+
+Specifies the Virtio devices to be provided to the guest.
+
+Each B<VIRTIO_DEVICE_STRING> is a comma-separated list of C<KEY=VALUE> settings
+from the following list. As a special case, a single comma is allowed in the
+VALUE of the "type" KEY, where the VALUE is set with "virtio,device<N>".
+
+=over 4
+
+=item B<backend=domain-id>
+
+Specifies the backend domain name or id, defaults to dom0.
+
+=item B<type=STRING>
+
+Specifies the compatible string for the specific Virtio device. The same will be
+written in the Device Tree compatible property of the Virtio device. For
+example, "type=virtio,device22" for the I2C device, whose device-tree binding is
+present here:
+
+L<https://www.kernel.org/doc/Documentation/devicetree/bindings/i2c/i2c-virtio.yaml>
+
+For generic virtio devices, where we don't need to set special or compatible
+properties in the Device Tree, the type field must be set to "virtio,device".
+
+=item B<transport=STRING>
+
+Specifies the transport mechanism for the Virtio device, only "mmio" is
+supported for now.
+
+=back
+
 =item B<tee="STRING">
 
 B<Arm only.> Set TEE type for the guest. TEE is a Trusted Execution
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 05:32:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 05:32:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461712.719849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5KNL-000671-F9; Wed, 14 Dec 2022 05:32:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461712.719849; Wed, 14 Dec 2022 05:32:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5KNL-00066u-CR; Wed, 14 Dec 2022 05:32:15 +0000
Received: by outflank-mailman (input) for mailman id 461712;
 Wed, 14 Dec 2022 05:32:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5KNJ-00066k-Do; Wed, 14 Dec 2022 05:32:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5KNJ-0006IT-CL; Wed, 14 Dec 2022 05:32:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5KNI-0001HR-RT; Wed, 14 Dec 2022 05:32:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5KNI-00043w-Qz; Wed, 14 Dec 2022 05:32:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=L14NSuqy8YkxZC8fZFIZI/r9WwVmJeZGPmM6556k3HE=; b=sfep1dugZe8fo8LwcPl0ORlVUa
	3JljLl1BFjv7qfIDmw/EVWkekCeFrNty1Ptk7jFUG/p4vn6R7kvdS6k46uKL26iJC9wtFTMXFWXVb
	VnTShmcCb7LBV0oE+2MbqoTD+BcLpby7AACLnv8HbuhrefdHIubPqxTB3u4/UTRzVf9o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175187-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175187: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=804e8c656643642894a26a2ce3652ad4567b658f
X-Osstest-Versions-That:
    ovmf=592bf33a29360e8a447ed8b75daefe94c0888642
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 05:32:12 +0000

flight 175187 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175187/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 804e8c656643642894a26a2ce3652ad4567b658f
baseline version:
 ovmf                 592bf33a29360e8a447ed8b75daefe94c0888642

Last test of basis   175182  2022-12-13 21:40:55 Z    0 days
Testing same since   175187  2022-12-14 01:40:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   592bf33a29..804e8c6566  804e8c656643642894a26a2ce3652ad4567b658f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 06:10:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 06:10:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461724.719872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Kxu-0002Z1-NH; Wed, 14 Dec 2022 06:10:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461724.719872; Wed, 14 Dec 2022 06:10:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Kxu-0002YP-Ih; Wed, 14 Dec 2022 06:10:02 +0000
Received: by outflank-mailman (input) for mailman id 461724;
 Wed, 14 Dec 2022 06:10:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uNQb=4M=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1p5Kxt-00024h-1I
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 06:10:01 +0000
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id efc6d547-7b75-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 07:10:00 +0100 (CET)
Received: from fmsmga007.fm.intel.com ([10.253.24.52])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 13 Dec 2022 22:09:57 -0800
Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16])
 by fmsmga007.fm.intel.com with ESMTP; 13 Dec 2022 22:09:56 -0800
Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by
 ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.16; Tue, 13 Dec 2022 22:09:56 -0800
Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by
 orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.16 via Frontend Transport; Tue, 13 Dec 2022 22:09:56 -0800
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.107)
 by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.16; Tue, 13 Dec 2022 22:09:55 -0800
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
 by SJ0PR11MB5039.namprd11.prod.outlook.com (2603:10b6:a03:2da::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Wed, 14 Dec
 2022 06:09:49 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::c9ee:bc36:6cf4:c6fb]) by BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::c9ee:bc36:6cf4:c6fb%5]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 06:09:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: efc6d547-7b75-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1670998200; x=1702534200;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=7ATK/o85qBLZQC7Ad+GlCRDiYmPGjPc3RIOFdQo847g=;
  b=do2/85LMc+LHjODxcpaYqASO45f20D1gSI4lGeKHhZzL8uFDMGWrqoFs
   sL8nc2WlnvZbQD6c4t9XZ8/C6K6DxK03UY0asW0gelcxEg3pRfZOzxVNd
   PxgbEoH8EyPacucZdSSlUMBVV4TvBb+gBmKl+VEsw1T5J3LBT9ZrT0DO3
   VUkwOosUptkQJHgVb+donahExnK/SIxjslUGOUnK9evS89jVVIQjahqbX
   kupDTnhUhGol3URleULXAxi58RgrOHPhPgVbhuwTZHG16j4z6ii5ATUDa
   TifKUY56W06CZi2lCQPR0lrLn3QHmsAnsZ5TJUwu5QLziEh5qWu6VWq++
   A==;
X-IronPort-AV: E=McAfee;i="6500,9779,10560"; a="305962843"
X-IronPort-AV: E=Sophos;i="5.96,243,1665471600"; 
   d="scan'208";a="305962843"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10560"; a="650968551"
X-IronPort-AV: E=Sophos;i="5.96,243,1665471600"; 
   d="scan'208";a="650968551"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ix6Ezool1A2ehawECFD04gGUCCFJGHDSlb6+zvZfD/MIEiaR4ItpcvMX8U5VyPM17WljUZQslVRY2Rl642Q+xf0qhuz4pGXPz2Xzl6A7lebsz5GDTFxm6mYfYkk9nwK/IHX+FFLTXzWhmH+RvD42tmUwWDyQrW4l4U+EV779Lo0oYS+SSUuqiIfyBA5kSAVUKhe/9MUfHCPZ2gj3CM6rA/VwJgU7rgNttuH3h3qEcZ73aiY+B+wSnQyHCroLKAXmBSKspzIbXfm6dGkTjJk1Fw451t208IGrbAE49QmftOnbaYTGHG4X0TflB4b/CYGWyDhK6WijDiwlJuvHwwPLYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7ATK/o85qBLZQC7Ad+GlCRDiYmPGjPc3RIOFdQo847g=;
 b=G8CbkOWAa4NhzdCOPnBjvGSv7I3nW9LatYr/x5IP5OWFrvzm08QqQzFUtHuXGyQd2kWROERVJ3r01MEDnM3sVWBbDr9lUkAU6QmSs8WSf1LnHgPt00S61U0kiYGxcOaP9lxbDnv16ES98xRPOOCzX3HLUbxWVMNRmmFrR5cvCJdqUeHi8UR+agGu517ROEb6/s+HwhBy2qOYLqnapirkQXVFrSmQNjAVMqvwgvO9I5MN2narYZMUV8wKat2Pd2z9Uz1TX9M8Pt7Ti015yN1bDfgIyq3Toeo+qNTUA3HiTURRBNTbSa31vk+NS6LFvykHSYu8mCoxXlYTbZa68aaPDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Tian, Kevin" <kevin.tian@intel.com>
To: =?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: =?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?= <roger.pau@citrix.com>, "Nakajima,
 Jun" <jun.nakajima@intel.com>, "Beulich, Jan" <JBeulich@suse.com>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: RE: [PATCH v4 2/3] x86/vmx: introduce helper to set
 VMX_INTR_SHADOW_NMI
Thread-Topic: [PATCH v4 2/3] x86/vmx: introduce helper to set
 VMX_INTR_SHADOW_NMI
Thread-Index: AQHZDxCBOkIXi/pKL02uY/kEP+OO8q5s5w+Q
Date: Wed, 14 Dec 2022 06:09:49 +0000
Message-ID: <BN9PR11MB52762952316DFC0A3E9814F28CE09@BN9PR11MB5276.namprd11.prod.outlook.com>
References: <20221213163104.19066-1-roger.pau@citrix.com>
 <20221213163104.19066-3-roger.pau@citrix.com>
In-Reply-To: <20221213163104.19066-3-roger.pau@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN9PR11MB5276:EE_|SJ0PR11MB5039:EE_
x-ms-office365-filtering-correlation-id: f3575008-bd98-44f8-2251-08dadd99ce9e
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: M4uUfTcmKF2TdJB8+FWGBfIuRjG9IRYhXQMtnMKM++qS9ocvcC2BVlEEowogKgqg/vLQRLRFjLra0RSqEBRNodvaQZY78a9oBB3KVov6GlzpgijYMdEcWDYgLm77K+H3IZjgNyr1eUXRiWS17a8RpDeZdId0JSb8Nwsxy9Ozz9rslgUSEHeTotLR6GmeSDftIB3xm+MTvBNMekjuO0Iz5ae8EqlwzTVN4STesuU5xXl12IMeDfIBt6mNPelOS/56Mc5fSn338dRClAtHnS5+kpkP4nlkqg+aXgBFTJDMD6RApFTf+gYIFsTAEjFBbkHATseOCR27vHdrQkmlpywSzCKUyPJphqlnfKaVTGm3fx9qCUhaBWqCksVrHgorMBfSMNhpcmsBUhBU91l70iWF1RrL2TNRXJTVwDqJVvMAn5IHEb5vRGAM8MniDKV2+Ap4YG0D1nW12dJiNAbKrfooQ9DHTuZZaVkrt0TjrDQqMB8UEnTZwLuQ9bMv0AU7XQn/S3unIMEmzrVL818APaibmEdujVTJe7Cw/l6qU8IYdRBIHoY3lWZr1FC8oSMQ7UX4A1ibTZ857n7g6w4YIO+lDLQvpYAwmsfPcKxYFj+9pgCMI8SzjdvaXS3Dftg4eOjjCcEeHJL1E/eRB8zQ6mHTZvNNLO9yFCT/xn0Es2Nsa63rfbRn5qYdCfUd2A1wbTsQTrG+ZYfW4m1TvCv0B0vU4Q==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(366004)(396003)(346002)(39860400002)(451199015)(33656002)(66446008)(82960400001)(2906002)(110136005)(66946007)(66556008)(55016003)(64756008)(54906003)(38100700002)(76116006)(316002)(83380400001)(122000001)(86362001)(8676002)(66476007)(6506007)(26005)(38070700005)(478600001)(7696005)(4326008)(66899015)(5660300002)(8936002)(52536014)(4744005)(71200400001)(9686003)(186003)(41300700001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UlF4R2tWZ21zMWpudFpKamtxaWE1M2djWXN0UDhQdmVTbE1GMUVqUVdEMnJ3?=
 =?utf-8?B?N2xIUkZnRExBZTNtTzN0UlJ2d21ENUNuUU1iMWRFcmdSK1l4Ny9VTmFUeHUx?=
 =?utf-8?B?dUdPaXpEZjJJZVp1dDNzQnVyVk5FMDNGMDV4QUZSeU1iUUdvRUdXcjVOQUo2?=
 =?utf-8?B?M2orK2ZJVXRsNnhzTzVLdi9NdXpybDVPOU5EM0xZMXlSaThSR3NUZ0pvOHF0?=
 =?utf-8?B?Y2ZpNzhYMjRMMk9HcHNGb0tkNGlKU2QzWlp5Ujk5ejltV3hDU3ZYNFJyM0Y0?=
 =?utf-8?B?amJRNWRBc3R5NFlrRlNZaC83TmJKQTJmT0NYZU1JSzBhWGRTcEc4VHhrVldF?=
 =?utf-8?B?RzBobkNwc0tNRHQ2bUFxOXNYTjVqUHk4Ny8wS3R4OWJDRUpNQUhuT3U1dUlF?=
 =?utf-8?B?RDZWS3p6N2haRU1yRS9PQU1xZ2VXZWNuNk50RWRqL21CcDBzS2dlYWkvZGdT?=
 =?utf-8?B?WElNcmFHSTJEVEdKSnVkOVNoeWYxWno2ZUFJNzR1VmViYXhsUjN4bHcxT0Rp?=
 =?utf-8?B?UEwwT2ZNTlVEa0QxMEcwQ0pRMmtEZktqZy9ZQUJobmVVMFFYaEcrQTNRTjZM?=
 =?utf-8?B?RHFPU0xTaHhrOHBqcHZzT0M1WjFBOEVKcDBnWlp5YmtNOE9BZWswa0FpRU1L?=
 =?utf-8?B?Z2NSMjRCNCthazF5cFhWK3V5L09VSHMrbFk4S1J6cytoZVdFbnkwalVtampT?=
 =?utf-8?B?MWZLc250Qlh2NFZQZWtxUnErbCtrZ1NWeTd4MldVamR4aVJ2TWVNSXZLRFRM?=
 =?utf-8?B?alVkcXJiUGovTit1MVhtWlNBOXhoNS9Lenh0bWFPd0JQNEI3S0NwWndxbkJH?=
 =?utf-8?B?TXo0aGpoWjduTEJvRmYrV0ZWS21tQXVib2xxcyswMVhvWHloRW9KU1F1SVNy?=
 =?utf-8?B?aVl1OXRuTTBiMmdmemJ3UmhtYW9vdDhxVzJNMFVCWEFzVFNtTUwvVW9nOHhI?=
 =?utf-8?B?K1RuTldGYStQcFU3aHczWkxVNHVtWmg3S0xmWi94dGYrLzFZQzhOMlRzSDZD?=
 =?utf-8?B?c0Y2eHJhSk5xOW9VRGhMRi9UVEtoWGoyMXlQZHk0dXdYSTVJVklaQ1VnUVNo?=
 =?utf-8?B?WFQyMTBEQXhsUHM2eW1NcWVlQWtWZWl6eDFVZjloaGFJMUd1Yk5mZ2JMTlpj?=
 =?utf-8?B?elV4VnZmeE5kU2tkUGxwY1BGOVFxdVVvT05sT2VpcHpRbWxXVWJUNXZyZnQ2?=
 =?utf-8?B?ZVJjVEw0SUFIRnVBV083ZWVVRGU3cHRtZG40QVQ2emJlVGxJT0RtbTV4OFZr?=
 =?utf-8?B?b2tQY3p6YlVqN1FtSEdrOGVkMzBmOE9rMjBYWmhaMis1bWFMZ25zMjVPWmVu?=
 =?utf-8?B?ZUhEcHpJb1dwcVg0SUt1cUdPRCt0ZFJjNmxjYmJYVkxwRVVGd2ttbGpDSE5N?=
 =?utf-8?B?M0NDZWJyT1pCbFBVaGdwWTNHZmxZYjc0UVl4RGxCeDA2cjNlbHQ1aE05Zm05?=
 =?utf-8?B?WkxSbWZSaVlURng0SGhkZjJmTzd0eWg0clRZR214YVcxSVlOYW1zMG5DY0xY?=
 =?utf-8?B?UW5BUmlLaFNRcmtPVzIyS0xiSFlhQlBtMXBkYy9aKzgwd1Jaek5vdnYvQVh2?=
 =?utf-8?B?TnhnVmFDalNnenhDL0kvZ0N6bm0vL2R4YnBFUUcwQkphaXlseVFqTWZDRjVz?=
 =?utf-8?B?TmJOL3FaMDZNNFVPdlhZajMzWExzeXZTVUR3WkxIRmY5T2l3T0E5bkpDNDBL?=
 =?utf-8?B?V090eGphN1A1NDMzVXR1QThzVHNoS0hUbXpxbXFCZUs5bUtVQWF5U0NvbDkr?=
 =?utf-8?B?cUZUelNtWkZhdm9BNlg1NG9ab2dEY1JrNUtyUlg5c1pxU3p5bWZkNktURWZy?=
 =?utf-8?B?bDRqSGZScGRBb215K1R6aHI0TWk0OVUvQUM2QmY2TW5TbmRpb3FGTE1hNFlC?=
 =?utf-8?B?cSs2RDBHN0k4NDRDeVVoVGJ5NWlzRUlaZ2srUWJZZ0NCTEdhSWdqM0IybEVX?=
 =?utf-8?B?ZDdJNnpKNFROR1RPamJER3g3SWlhQi9GVUR4TzdramZJTkg3eEQrVlU2ZmhZ?=
 =?utf-8?B?aEducjRCYTN2VEo4WFIvUnNTdGxKYjB3ZSsvMVhMQ01mSW0wN0RkV244OGRr?=
 =?utf-8?B?dElyRFN1Sk5DLzBqOFY2SGJzd1VZQW9LVU1ubTBaOWxiWmYrVjQ1eHdZU2lv?=
 =?utf-8?Q?BXGm1Kvlo3rG+5s0x0BhB5DLI?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f3575008-bd98-44f8-2251-08dadd99ce9e
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Dec 2022 06:09:49.1926
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 7cgQ453pb/h1YZ1LxUsN2ifR1UyaN+p0+s4ObkcuFXOt1wTLgqKjws3mdKCRU70oFUeq6V/gedZawMdj1sn+eA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5039
X-OriginatorOrg: intel.com

PiBGcm9tOiBSb2dlciBQYXUgTW9ubmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPiBTZW50OiBX
ZWRuZXNkYXksIERlY2VtYmVyIDE0LCAyMDIyIDEyOjMxIEFNDQo+IA0KPiBJbnRyb2R1Y2UgYSBz
bWFsbCBoZWxwZXIgdG8gT1IgVk1YX0lOVFJfU0hBRE9XX05NSSBpbg0KPiBHVUVTVF9JTlRFUlJV
UFRJQklMSVRZX0lORk8gaW4gb3JkZXIgdG8gaGVscCBkZWFsaW5nIHdpdGggdGhlIE5NSQ0KPiB1
bmJsb2NrZWQgYnkgSVJFVCBjYXNlLiAgUmVwbGFjZSB0aGUgZXhpc3RpbmcgdXNhZ2UgaW4gaGFu
ZGxpbmcNCj4gRVhJVF9SRUFTT05fRVhDRVBUSU9OX05NSSBhbmQgYWxzbyBhZGQgc3VjaCBoYW5k
bGluZyB0byBFUFQgdmlvbGF0aW9ucw0KPiBhbmQgcGFnZS1tb2RpZmljYXRpb24gbG9nLWZ1bGwg
ZXZlbnRzLg0KPiANCj4gUmVwb3J0ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz
QGNpdHJpeC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBh
dUBjaXRyaXguY29tPg0KPiBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPg0KDQpSZXZpZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+DQo=


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 06:10:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 06:10:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461723.719861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Kxo-00024u-9d; Wed, 14 Dec 2022 06:09:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461723.719861; Wed, 14 Dec 2022 06:09:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Kxo-00024n-6n; Wed, 14 Dec 2022 06:09:56 +0000
Received: by outflank-mailman (input) for mailman id 461723;
 Wed, 14 Dec 2022 06:09:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uNQb=4M=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1p5Kxm-00024h-JS
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 06:09:55 +0000
Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e94d2d15-7b75-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 07:09:50 +0100 (CET)
Received: from orsmga008.jf.intel.com ([10.7.209.65])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 13 Dec 2022 22:09:46 -0800
Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15])
 by orsmga008.jf.intel.com with ESMTP; 13 Dec 2022 22:09:46 -0800
Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by
 ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.16; Tue, 13 Dec 2022 22:09:45 -0800
Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by
 ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.16; Tue, 13 Dec 2022 22:09:45 -0800
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
 orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.16 via Frontend Transport; Tue, 13 Dec 2022 22:09:45 -0800
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.105)
 by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.16; Tue, 13 Dec 2022 22:09:11 -0800
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
 by CY8PR11MB7873.namprd11.prod.outlook.com (2603:10b6:930:79::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 06:09:09 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::c9ee:bc36:6cf4:c6fb]) by BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::c9ee:bc36:6cf4:c6fb%5]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 06:09:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e94d2d15-7b75-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1670998190; x=1702534190;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=sgrmIp58KvDHrKx/yXY/JLBzxh5dZF+tSmaoMZ7DzeY=;
  b=I4h9mIVI8VCgUoUYWDbtXK/LCTtbsFjTBdFrVKBZWJg9BMQ9686TPEXu
   ATTzbxl9PTeYAA9VD3QEXSQJkfGDNqI0Bv+618+deJyIUX96XkNvWc9Nm
   NbztbyUyinuKhXj80ooRnm623R1xE1rNKFcw3aSdxzzXaStoxy1FZGmqs
   ljdbyNINxjEhWS6ZY5Gpgzj/VeV4TDroUniw7sy98vdG2UWil/kZa94eE
   Lj/LWvniu6gin3jYT/u1CCkhmwfev4XFTEluLE6zDYz/j1PRG7tUhwGho
   HmHc0eZ/DZL2DdD+FZmrCiLEhyFNoXu8WE0iIEjq2fJWj7ebx2zct6QtO
   A==;
X-IronPort-AV: E=McAfee;i="6500,9779,10560"; a="380527417"
X-IronPort-AV: E=Sophos;i="5.96,243,1665471600"; 
   d="scan'208";a="380527417"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10560"; a="679558514"
X-IronPort-AV: E=Sophos;i="5.96,243,1665471600"; 
   d="scan'208";a="679558514"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gc3LEZueRkYVgrdcQWCughFaox+8pDnlG/iJk/Mn9tbCsY726oZYqtIN43lqFmfBUE7ie5TPc3ms6+1HSchzgaRVRWFZPlkzNUm7IGziVEFy75nW5dH9B3onE9yOyy6SY3d3isc42vQwX3cjvRxCq4f0OPgYlDttit94+MzTyRA4ZIvRP/ouI/mpQ1rmhPzfDFtmOGB1fALIZ8OXETT3mwKkqPVaoiegMXraa8hEWHmd/SlMTfzBsTE3wgtwJYeT4YyguP3KtYvLsqlMf08GmxelurF+YeRID87s+4RsdZRNsBrDJ8lw7LnTsT/Hgp3F4uQYiL2Zf5zrSjX3+7K+4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sgrmIp58KvDHrKx/yXY/JLBzxh5dZF+tSmaoMZ7DzeY=;
 b=F6mnpbPMlq8WGM+WHWbzUUZB0/aoib6WaZMGTdChHxM9sTv4XSAeuLtuW5hwVfuHqlFVGTA+NBJpqW6iESYl7X29mCxknSPn7o3/8bHC/7K1gs1Q9bZiivqF/rmGjp+R14lwj34oPz4QYPIoItv/ZeCWdhs7weaxJcP2/Xb92tN79QR2pokzm0CchJ6J12SNlq7HfL7LnLsQPJv3IPQnNv4Nz8Y8IxueuxmUbyb18OhLcPMW2pz+z9TIBh/DnE2YDVDvyvE9JKXWFkHMIJMOsbgcIznKGtHSwnem7pPrJdnk0AJlhy8KHYtu5BuAUKF154Vo/bffVgu+uv0armYbEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Tian, Kevin" <kevin.tian@intel.com>
To: =?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?= <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: =?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?= <roger.pau@citrix.com>, "Nakajima,
 Jun" <jun.nakajima@intel.com>, "Beulich, Jan" <JBeulich@suse.com>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: RE: [PATCH v4 1/3] x86/vmx: implement VMExit based guest Bus Lock
 detection
Thread-Topic: [PATCH v4 1/3] x86/vmx: implement VMExit based guest Bus Lock
 detection
Thread-Index: AQHZDxCBORosQTsnbEKGSZV8tCFS9K5s5s7w
Date: Wed, 14 Dec 2022 06:09:08 +0000
Message-ID: <BN9PR11MB5276CA82A976C9BC4ABAE7E38CE09@BN9PR11MB5276.namprd11.prod.outlook.com>
References: <20221213163104.19066-1-roger.pau@citrix.com>
 <20221213163104.19066-2-roger.pau@citrix.com>
In-Reply-To: <20221213163104.19066-2-roger.pau@citrix.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN9PR11MB5276:EE_|CY8PR11MB7873:EE_
x-ms-office365-filtering-correlation-id: bbb155d6-8e23-4e3e-e654-08dadd99b681
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 1Z88ibzhHvYAlpdroDCQWj8YnWjfKXz5WDvRlrKNNlWMSyidyGRBZ39dqpmnkJ9ggJMLKXlPwpyO3s8JzDoftced/J/ocUefUG6hn4c4SWQUD11ikmTXzDY5HdEk8HtqDiGJ9Wp4UMiJX08wDsg0LtjzowmPde3CGDTLNvVpaqthtHxGdHsw7o3rVIklAozpVX9CNtc928IseJBHkBC0u7bWdn88AMtCiPz3zHQCxvJWq0X4UycitVGOugVXEiBs4ItLGkIQtB8H37cXpr5n+uNPKTucvkA8L+kxwH+NmK6fy3mCMUmAIGsZ/sUC9+ZoO9AwCyWbTLjL2ZgE9aYT4SR3dPTKJ8My7YlAwmmyG43Z0573tgpKtg3AiRay0kLX7Bo+j/UXgBD9TLcbexvfv09jOHlmHOBODurzZx9q8H9qpjxGKGrsgzlVTnNBBhi2rQtYk41AGAhWwJsfmUKgICw133BD65ixUL86C/AaFyOAVx5j8KXw+FoKOl9UGm7gTMbdYKuSOPiETc+x3shfhv2Sj4CcdRRZO3nMUFqdFpskWW6AZ52ueU9WARXCp4BjVH6CY1YE5XlgI6ii9k1Hv4FM6mYhWhRdU5Y02pA9uTNiyZUWcsl6Cysc2dZ9QCAmmB9FcKgXPm/IcNn5QKcJeiq6MY/sscT/z9joMOtZzRzb5jIidy1B2fB6npzC1Kuu
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(39860400002)(396003)(366004)(346002)(451199015)(76116006)(66946007)(52536014)(41300700001)(8676002)(64756008)(66446008)(66476007)(66556008)(4326008)(5660300002)(2906002)(316002)(8936002)(9686003)(7696005)(26005)(186003)(54906003)(71200400001)(110136005)(6506007)(478600001)(86362001)(55016003)(83380400001)(38100700002)(82960400001)(38070700005)(4744005)(33656002)(122000001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?L1p0WkJ4dlhPRE1OOVp1L25jM1ZUSG1kWVdvTWtZOVdEN01sSVg5UTlxUmVX?=
 =?utf-8?B?ZzFLMjFNN1F6SHBSYTlXd2hWKzNwdlBLUThUWCs5aFhGTFZCN1ZQejQ5R09V?=
 =?utf-8?B?b2pSZVA4d3hoZkpGS2M3TzE2WEVlZGU3VU5qN2QrVjFjbzJCcWYzU29US3gz?=
 =?utf-8?B?RWFUVWZmM1VsUDAwM1N6c3Z0aTh2WUsyTVVtd3M2UTZqTldLNTFDakpyK0J6?=
 =?utf-8?B?K2MxYzRmeHdXL0xiRUJhblNxUlVZcDlXYTk4Lys2YlQ1MWNIOUlMdGw3Q1dC?=
 =?utf-8?B?c2kvNXZvV2dOSFBielRaYkFXQkQ3Ynl5QnB6czMxR3FGNnBLdTI2UmlORW84?=
 =?utf-8?B?ZXdrcmxBTldRWXdZVVVWSExvYjFkSWVhOTdqSGE4ZEkrYXFsblYvZ2VYdisw?=
 =?utf-8?B?My9zTlFKZ2pQV3J0ckZCSjRQbHJ3ZjVpRUwyNVdpUGFuQjdya3FDd1V3MjZ5?=
 =?utf-8?B?TExYWDZEeU9wN1FxUnN4bTZCN2FNMXNJalBadkxOamdtU2IvNkNPUjJPdGtW?=
 =?utf-8?B?N3ZaMUd5R3l3bGVMaitxK0NuMXplMkkrSWJKV0RuRHliMit6U3dMZ0NNV0Vj?=
 =?utf-8?B?dnZ4c0tIRFA3UjBLeWI1RGZUT3pzcVRueE1pcWNLcUMrUUJKalVhS2NEeUNW?=
 =?utf-8?B?K3VQaENoOENBd2JhSG1PTmdaYnlXNHFkN1ZMYTVsd01SR01IVnBQYzQ5WHFD?=
 =?utf-8?B?WTRKSWZCcGV4NVh1M1YxNWRTRndsOWlDcElVZld6UG81SG9WMUNPMlpYdjBq?=
 =?utf-8?B?aFJ4Ry8rZW5hTVJBd3lJZklFbjhIc3lKZU1WeGJEN255ZW1ZbCtXWUxlaGRa?=
 =?utf-8?B?N0xxNmNoUGFDaXNKQk14L1lzei9MYVZEZlBISlRiQzJOQkRsVzYxZ0x6MXFl?=
 =?utf-8?B?d1lFVllQeEZjYzlhbElRSXdJamxqaTZ1V08zUEJIdytVK2FvUEk0RTUxR29H?=
 =?utf-8?B?Y0xLY2VSOGV2RVpldlkvbzNjM2l1Z3dIajFHcTY4dVpOekNhdkZ5aWN2eS9y?=
 =?utf-8?B?VjZCRVJvcmtlUDZRNWpBQS9Obm03T1JWTk5pbTlpK3BKQXZJdUgrWHZ2TDJu?=
 =?utf-8?B?OGM5QVFuOWx0dHRHT0ozNld0dVQ4OGNYOWRnZEI3MDNsRm1JRXZJRm1WUnVJ?=
 =?utf-8?B?amRpVFEzQWFaZk1ydDdma2ZMaW85UnhvTFo0dGE3ZFIzdlc0K2FYOURPRzZu?=
 =?utf-8?B?d041b1hCNXFWZjJzN2tnQTVBWVpsaXhoS3ZDVFJFOG0zRUkzK0l3MHZtZU1G?=
 =?utf-8?B?NDJ4T041Y3ZGenRqSG1ZVzhMNlRRNTYvMW5PYUtsTkE5cittUXlBeTdWL1RY?=
 =?utf-8?B?dzRoSkVQeHZKL1FNc1BVRkpTNUZlbitwS2xSQjJiN1E0ODFpbmsvUldHanVG?=
 =?utf-8?B?eEh4Uzdvdm95ZGNCREZZdzVnTm4xM0pVcm95ZFNQakcyNDRkaDNLbEswY3VS?=
 =?utf-8?B?NUhMNjF0Q1FNWmJpbnVaYnA3K091Q3MvbEdSVEZkUFEzdGIzVVNKQ2g0QnQ1?=
 =?utf-8?B?VHozYW1sUUEvU3c1b3BkM2FYYTY5THR4SDVsYUt0TmhEYm1EMHREUG45SGQw?=
 =?utf-8?B?M3VpcDByY2RFYVVPZEllNWl0T09tTGxZUXBJSW9HYkUwNVFOUUtKTk9iUXJ6?=
 =?utf-8?B?bHl0YmMxUzVDeEE2eldya0JrVnFCeFJCK3FFZGh6NlEreG0vZE1La081MWNZ?=
 =?utf-8?B?ZjBrRlBZdFVYYkNGNXlhSEpMbHJSZi9DSlQ2VWxqQXN3b0tGaHZRMnpmVkQ4?=
 =?utf-8?B?UnkxU2lIOG5sVThsM1FJVHNkeGNON0FVeWhMdml0NHpTMmN0bVp2N3hxT3NK?=
 =?utf-8?B?NHFNcWIxSUc3bThSV0xVQzhrMmlORk00NlJ2RnQxL3oyRU9OOFNMVzFjYXJT?=
 =?utf-8?B?dkpweXR4YnBVekpxSGZUVk4wY1pHanhjc2Q0WTFXQ0s1ZlVheWxIeWNLS1hu?=
 =?utf-8?B?c2phYW1hRXBrdWpWblB4SFltSWFLTmxmUHQ0NWhrRmRWajRQZ1F4UTAyN0NJ?=
 =?utf-8?B?YTFicW9uSlB0N3lzOHB6aFhwVFQ2VnFDd3h5NkNZUWNZWFZGZGU1QitSSnF4?=
 =?utf-8?B?WnpBQWVmdW9MU1JiZVRvOUhLSEtGcGd5WkhYTE9pQ0RlRnFYYzgxN2NFbFpl?=
 =?utf-8?Q?jSeESoUUNFcGNiXD8lei71Uth?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bbb155d6-8e23-4e3e-e654-08dadd99b681
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Dec 2022 06:09:08.7422
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: EZD9Ak2QUjhJMx3zXvb0cHHUGcDJ2BpneUlud8PhVaN+2mmCJX/gv7A4SiSdYQpOXBr7bPj2lFex1uVtmiunIg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR11MB7873
X-OriginatorOrg: intel.com

PiBGcm9tOiBSb2dlciBQYXUgTW9ubmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPiBTZW50OiBX
ZWRuZXNkYXksIERlY2VtYmVyIDE0LCAyMDIyIDEyOjMxIEFNDQo+IA0KPiBBZGQgc3VwcG9ydCBm
b3IgZW5hYmxpbmcgZ3Vlc3QgQnVzIExvY2sgRGV0ZWN0aW9uIG9uIEludGVsIHN5c3RlbXMuDQo+
IFN1Y2ggZGV0ZWN0aW9uIHdvcmtzIGJ5IHRyaWdnZXJpbmcgYSB2bWV4aXQsIHdoaWNoIG91Z2h0
IHRvIGJlIGVub3VnaA0KPiBvZiBhIHBhdXNlIHRvIHByZXZlbnQgYSBndWVzdCBmcm9tIGFidXNp
bmcgb2YgdGhlIEJ1cyBMb2NrLg0KPiANCj4gQWRkIGFuIGV4dHJhIFhlbiBwZXJmIGNvdW50ZXIg
dG8gdHJhY2sgdGhlIG51bWJlciBvZiBCdXMgTG9ja3MgZGV0ZWN0ZWQuDQo+IFRoaXMgaXMgZG9u
ZSBiZWNhdXNlIEJ1cyBMb2NrcyBjYW4gYWxzbyBiZSByZXBvcnRlZCBieSBzZXR0aW5nIHRoZSBi
aXQNCj4gMjYgaW4gdGhlIGV4aXQgcmVhc29uIGZpZWxkLCBzbyBhbHNvIGFjY291bnQgZm9yIHRo
b3NlLg0KPiANCj4gTm90ZSBFWElUX1JFQVNPTl9CVVNfTE9DSyBWTUV4aXRzIHdpbGwgYWx3YXlz
IGhhdmUgYml0IDI2IHNldCBpbg0KPiBleGl0X3JlYXNvbiwgYW5kIGhlbmNlIHRoZSBwZXJmb3Jt
YW5jZSBjb3VudGVyIGRvZXNuJ3QgbmVlZCB0byBiZQ0KPiBpbmNyZWFzZWQgZm9yIEVYSVRfUkVB
U09OX0JVU19MT0NLIGhhbmRsaW5nLg0KPiANCj4gU3VnZ2VzdGVkLWJ5OiBBbmRyZXcgQ29vcGVy
IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUg
TW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4g
PGtldmluLnRpYW5AaW50ZWwuY29tPg0K


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 06:17:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 06:17:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461741.719883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5L4q-0004Mr-Fw; Wed, 14 Dec 2022 06:17:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461741.719883; Wed, 14 Dec 2022 06:17:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5L4q-0004Mk-BO; Wed, 14 Dec 2022 06:17:12 +0000
Received: by outflank-mailman (input) for mailman id 461741;
 Wed, 14 Dec 2022 06:17:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cERt=4M=gmail.com=firemeteor.guo@srs-se1.protection.inumbo.net>)
 id 1p5L4p-0004Me-Dl
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 06:17:11 +0000
Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com
 [209.85.210.177]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0c2d7ff-7b76-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 07:17:10 +0100 (CET)
Received: by mail-pf1-f177.google.com with SMTP id 65so3750380pfx.9
 for <xen-devel@lists.xenproject.org>; Tue, 13 Dec 2022 22:17:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0c2d7ff-7b76-11ed-91b6-6bf2151ebd3b
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fmekMIg/QvmFbkK7YRAJt5X/gXQonQdIXfHvmwtBKxc=;
        b=Xs1w+wXJKvkTmvDqaftknZ0oem1O3411XxXd7HBXKRBlajU9+mzbmrrF16i0oImV8J
         ETBKaP+gZQSQJD9zHzYZhng9hkc34EWZWdyP+NFWjGcroyqU8l226F1EcfPZ8hUC4VXx
         ydboNiFwC+D5hsuIvgFvI8V82DHJypFzvajxynF86E7piEI1HJaXrResLtKfhcsD1hFg
         h3t9+bL7fROPkVxRjg4SDn3m4HapxibadfXfVMbPxNkxY1TGG3cHVt5cOMQHeR8wG2Ol
         +5DwvvJNs3ov+YFwlVpK3RJui2fb2e61JVwTucXzHpNcPdF6M2qpDN+P0C1X3rxpb1tK
         T/Wg==
X-Gm-Message-State: ANoB5plFBTVoTvgmypOZ0qMsQliUdlyHR8fIO07qmtDwX2KOOwAunRSB
	HoPRpa6U2kA4u0Z7eXyPWPrqmDtf9so2/1G4M2JufuHm
X-Google-Smtp-Source: AA0mqf4hr5cR/nVCKfnyndvULLbPsWYp/Gimbqju9MiImnULjZaLr1fcAGDQeAx5fVI0MqP0vU0DYOL6y8SHicJpusI=
X-Received: by 2002:a63:5f56:0:b0:478:a85f:f7ba with SMTP id
 t83-20020a635f56000000b00478a85ff7bamr19550433pgb.180.1670998628611; Tue, 13
 Dec 2022 22:17:08 -0800 (PST)
MIME-Version: 1.0
References: <CAKhsbWYU5_DGbGK2i_uhooXk4EzCLLO4SJGjDsvAkf2udQGsbg@mail.gmail.com>
 <Yc3/ytwCHFtR1BLi@Air-de-Roger> <CAKhsbWbRinNavBq4NnQ64nVrfWoOQWV0mM3Foao4VBYUWjoSnQ@mail.gmail.com>
 <YdQgf2+E467kuTxK@Air-de-Roger> <CAKhsbWbrvF6M-SAocACO5NvBaitUQ9mB5Qx+fMGtn_yVu0ZvEA@mail.gmail.com>
 <YdWsPWqALWBRGtqW@Air-de-Roger> <CAKhsbWbvjEcA220TTHGB3PPbfLmdS_MuK5Mn3Xvrr+JL=dHK7w@mail.gmail.com>
 <YdxIbLYRYh4hvVGj@Air-de-Roger> <CAKhsbWYHhveuwTjaiSGKCqf41nSHZKdt7W_y0qp-x09Pce22SA@mail.gmail.com>
 <735adbe4-238b-bb7b-ba91-eb53759223aa@onlineschubla.de> <Y2OwzjfUnCFf2EDU@Air-de-Roger>
In-Reply-To: <Y2OwzjfUnCFf2EDU@Air-de-Roger>
From: "G.R." <firemeteor@users.sourceforge.net>
Date: Wed, 14 Dec 2022 14:16:56 +0800
Message-ID: <CAKhsbWZM3y7D=vQzng3GndQOzhx5RcDHWFVXdJZhCt-qz5CtwQ@mail.gmail.com>
Subject: Re: Possible bug? DOM-U network stopped working after fatal error
 reported in DOM0
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Paul Leiber <paul@onlineschubla.de>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 3, 2022 at 8:37 PM Roger Pau Monn=C3=A9 <roger.pau@citrix.com> =
wrote:
> > > > Roger.
> > > Hi Roger, any news for the upstream fix? I haven't heard any news sin=
ce...
> > > The reason I came back to this thread is that I totally forgot about
> > > this issue and upgraded to FreeNAS 13 only to rediscover this issue
> > > once again :-(
> > >
> > > Any chance the patch can apply on FreeBSD 13.1-RELEASE-p1 kernel?
> > >
> > > Thanks,
> > > G.R.
> > >
> >
> > Hi,
> >
> > I want to confirm that the patch in an official release would make quit=
e some people very happy. E.g. among OPNsense users, there are some who
> > suffer from the network issue [1]. FWIW, I compiled a kernel including =
Roger's patch, and it seems to be working without trouble in my OPNsense Do=
mU.
>
> Hello to both,
>
> Sorry, I completely dropped the ball on that patch, didn't even
> remember I had it pending :(.
>
> Will do a build test with it and commit later today, I don't think I
> will get any feedback, and it seems to improve the situation for your
> use-cases.

Hi Roger,
Just another query of the latest status. It'll be great if you can
share a link to the upstream commit.
I'm thinking of asking for a back-port of your fix to the FreeNAS
community, assuming it will take a long time to roll out otherwise.

Thanks,
G.R.

>
> Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 07:30:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 07:30:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461757.719899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5MDJ-000518-Mk; Wed, 14 Dec 2022 07:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461757.719899; Wed, 14 Dec 2022 07:30:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5MDJ-00050Y-Jr; Wed, 14 Dec 2022 07:30:01 +0000
Received: by outflank-mailman (input) for mailman id 461757;
 Wed, 14 Dec 2022 07:30:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5MDI-0004ye-27
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 07:30:00 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2076.outbound.protection.outlook.com [40.107.104.76])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ce6d2c0-7b81-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 08:29:58 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB9685.eurprd04.prod.outlook.com (2603:10a6:102:26e::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 14 Dec
 2022 07:29:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 07:29:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ce6d2c0-7b81-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZPAdMpijnHPzE9Or1HQYf3Ib4ZowdMJZOCIE4go0s29Ot5rq61A6mWjGGnQcPWowHtbdq/VL78sOL0321HJvxliik2I3/16JW9YY8RuKodi3u0C7wDPqOJtGDHG2d0nqwNVo1+9ADAr/gkyxZ6FCQcBdxfNkA+RNrkoc8VCoxCwIJpPXSljZ7zOuuhW9Cxev29o9Rf4YZjANBFmCDeh9UeGJeFCIZZ3W9hGtVBLxBnHG1y1ssULD2DWDlFxLUcvy7x9vHXMEDK3vmHBVukhw2pFF99igHgrbVme31OpMxLMsf4vwKgC04rnei+Q+AIEsqrx1tx1JvXtv4/bGoHpB5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9yzWEt4nyvMlvhXy7bhLnRWsozIpgvXnYXEUsGYqLXM=;
 b=GuReub7rqs2LdxTMLaqKQPqtAwqjhxLkdT0biOQpA1wL5HMdoP4miifAmZyjBponBGMeDbTyBPVQyiueTtjOSVRwCLfEz+BecXOYhAnL1zzZ8AIp2Y/kJx76GoSfIFOKAyhadltA3vnAsOTXhwZK2hBK5hH30PzuiSB55uCU4lrGvyFXp5cKg0+FjSwdAYb9ZIIiK2GpRG9QIKUG45BrBuKZtOxMaF8A71HPa9kNPLZmqftvVn1lm95r4bu2ZV8c0AWMZ/1v/migUtIAzFJkACWW0CG92Y6rXpjCyhcYH/ZrMfv2T/vD8g/growDEtcUjgqnLiWT2rr/kY+AYsdwDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9yzWEt4nyvMlvhXy7bhLnRWsozIpgvXnYXEUsGYqLXM=;
 b=ygIj5xm4zgX2Ftx/7VccHURlhhqJCd+bmiR7JUWTPLJNsBaT2p5Bo2E0iKlDN5bSC7pddCD02c5oGiS9sZC6rovp6LmJTYHFaYbTmVqzTN+/mO2dDI7HWTuk8xMCoL+beHII2K91XUVYN+mxa0kC2COehh4s3UH5auckeFBJJdzC7GaHmynTUhGHwU1XjG1CdmHg6BrcZeke98MnbjKrRmQWLHsGJOj71Y+H4rjaGyL0zeGB8u9CamxndNElTZkZFZ4DzTOkTlB7WfOvogfKV/qBLBYfQj19eGSHeNrAn/JZLuZvx6WIVgmw/Fqdg2gcnhPPDUWw+vJmZ5vde0sMtA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b59b6466-8d06-f7af-beb9-3c38c638a455@suse.com>
Date: Wed, 14 Dec 2022 08:29:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH v2 1/2] xen/memory : Add a stats_table resource type
Content-Language: en-US
To: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
Cc: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1665138677.git.matias.vara@vates.fr>
 <af6032c9f5863b7e6fb183a0a197407ec92bb067.1665138677.git.matias.vara@vates.fr>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <af6032c9f5863b7e6fb183a0a197407ec92bb067.1665138677.git.matias.vara@vates.fr>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0024.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB9685:EE_
X-MS-Office365-Filtering-Correlation-Id: 6731886e-f2c5-4d32-1595-08dadda4fefe
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DhuYc8f3G98lHfDGsDwwhRXiXuTyC/dUbe7Od6uqrgcIaICLR3Ni6MnxJqwmyldDOxkwL2YsN9CX6H5ryOQsXiUvjxInjow8V+X/Lynf8Nl+oWbKtORO/BG4TpJEJGZqQBDlXRWRueok83zdfQFPoFABBFyWS1kye66kAZPRie1hhIN9FoB1k7HT4sU/Ac4HW/Sx6+nUD88K4RkXJXEKBYjhZvVmP/N/N+ZBNMEp0TV8917S0/iXtnpU1AzHX9VmCUkqUOwi8MoUxuc6cGNrTO0Upfe06w0HCNGZHOAdQSmghpqK5Gd7oZswOig4uAPtG9ZpY7fZ7ErFI7Q9FYlfxnIFe5UbcFn97gtfJDuLssgy/n/OeKdhXF1y7QeMs8P6zJmj+98jAmQP3VoiKUW5xTBrGJA02CC8n1p/ckQbWc+b6290o4Py9x7M/vGNBW1Nlh0RvmHvRt1Au4Ygmu9NKnvy7BqNIHfCitEik02JsnuqXSOMn6XXpqAD3C/jyOsrxLPqi6HKNuCyaijQcEFXVU1cEtap/TMQJQ2A07Pd89ujL5+KC2C8vqVGFBePFiH2FmNGy7Astrxz12/MFvNa081S0CbUr0XyAuyX94440Zzn4bymkfTDqjkGnFn0YQtcB4dV9cVwBxNS8M4+ORLshhhjJFCldzNgJOLzaTE9CD2acw8ZC0kuXGVuCQCngtW8ef8XLX8qk+pcJVQa8/kSorOR8WOWUTeJS+e0vJ0gTX4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(376002)(39860400002)(136003)(366004)(396003)(451199015)(6512007)(86362001)(31696002)(36756003)(38100700002)(186003)(26005)(31686004)(4326008)(6916009)(316002)(6486002)(2616005)(54906003)(6506007)(478600001)(53546011)(83380400001)(5660300002)(8936002)(2906002)(66556008)(66946007)(8676002)(66476007)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1NQcXhGbVdNbVJxNzVoUkE3cUtZNk8yZldRdjlrQ3ArKzJDU2JXeDVJZWtS?=
 =?utf-8?B?MTRrWFF3aHlnak1Yb2syMmRZdHZVcmhnMHR2YTZqbkdLREluZUxhb0gyL2NL?=
 =?utf-8?B?TjlOVndmNkpqdmtxd1d0Z2ZhQUd4WS9MeHRvM0VuWFpjVURhQ3NCWnBna2JH?=
 =?utf-8?B?WlNhbi9XR3FvRk5MTmtFL21rS1NRMVZvTnFQdUNOZHEyMTRrZFNNUTRqNVJz?=
 =?utf-8?B?ZVFDOU96dzZPbWhYQlFyc1BzbE5zS0NPRGRHa0gyV2hNNHUwM2E2ZlRET05F?=
 =?utf-8?B?VWVXTTkydWFqV3cvZjlpRXB0ZGNiVjFMVlNQSFRucGw0eU5CQTZ6NkZKdWx3?=
 =?utf-8?B?RDNBTFdaUzJjYTZXdGxyQjVvNXF5UmNLTzd6SlQwVWpjZGRyZDIzaW5BQUF4?=
 =?utf-8?B?OStUd2cxbG13YmUzcGFERWs3cHY2ZU1PMFZFYThoNlZpVGtleGkrOEgrY2Nt?=
 =?utf-8?B?ZDZ1WHBlcHhKR21zS3hiWE1IaXBJai9QMUZ4dDk4clFIc1pEdWJCcWVjTEJX?=
 =?utf-8?B?VDBTZm52YVlZWEdNeURZd0U1bmNBK2hYd2pZNEVDQW0zZXJEWUNWdVZ4czFG?=
 =?utf-8?B?Ym9OOUFmcVlVS1daUGVCaTB6a1hQTjdLQmJIS20zUmhrL3NaMGFxWjdtRUdO?=
 =?utf-8?B?d2c2NFFlNlQ1SDdva0FpdnlYSjV2aHFmSnZpOGtab3NlL1RCUEd2RkJvUFVa?=
 =?utf-8?B?T090Z3Z0bC9QT2NBdks1Y2Q5SmNySVRNSzZEYkNXeWZ4ZXlpMDZuY3EwM1J3?=
 =?utf-8?B?WFEzM0tnWEVoTkFEYTlXREJGSWE0YUZNYVVkU1pjR1BuUTZ4V2FXZEkyZDZP?=
 =?utf-8?B?cEZ1MmZRN1BBdVVQYkQwVnpkUGg5cWtIdStKUlVCZnkzb1FISHlFSWtDNU5N?=
 =?utf-8?B?cms5T2MvUFVOL2w0WEcxclJ3akxmTjRscENuVUFPaXBiUzduSlhuYUVwYzhM?=
 =?utf-8?B?UzJPbmlTSGp1Q3NiWC9LYTBpRWxtVVMxbWIrZHlSRXZPYkFINXVMTXBtdjVp?=
 =?utf-8?B?N0p1bGl2Q3pabHI2RnM1WHVnbUxJNWdwNmNwc1VocmhrTFdLbFZicGlTRTdB?=
 =?utf-8?B?Q1pPMmp0L2l3RWNMa1B0elcrK2JSOFZsM0VJUEFUMEQ3NHV4cGNSczhwUWpC?=
 =?utf-8?B?R1lJd3V4Y0V6U1JjMkxmbm1ybTB5bVY5dmp5TDJIVW9WNGljM05VOUVmR3ov?=
 =?utf-8?B?d0EyQmJIb3UwUU9FSjVrM2p1b2QrSForREk1SjlVUk85b1kxV2t0OG1BVjUw?=
 =?utf-8?B?NjJEUmo1S2owYTF4M1FVSi9admFMWlAydGdGdElIb1FvdGZ1UzlqM0NKYlNz?=
 =?utf-8?B?WFpiUVZPN3NWdnB4VlJGcWczUHdVVE9USG92K3UxdEpjVkkrdjd3YmV2NUhw?=
 =?utf-8?B?K1doMnZaNk9iTTFzNG9ydzZCdmRXSktqZ2IvazFuYUJMMmxPN3lTUDZFTUdp?=
 =?utf-8?B?V1pycWw4ODRDUmNrc1Y1dFRtd1c1QkMvdGNHYjF1dWxTakZmTUFXSjdGVWYr?=
 =?utf-8?B?cmMvMlJrM1NDaWwvNVc3cWpkZEFUMVZVYW9Id2VCd1FIZXdXd3BYSUo5OTRu?=
 =?utf-8?B?SlFxRGZVRTBBNmlBcG4wUXQ0RGNMQkMwK0xCNkxhWGhNK2NZcWhOTzZDTjZW?=
 =?utf-8?B?b2NpbzBsQnp2cGtwU0puL1Bmb0x3K2w3eUFnQ3J3QU0rNE5SZ29qYndqRGRH?=
 =?utf-8?B?aVlOMGkxODV4ci92N1FHM2JMY0lGVDkyUGpxNGk4aHZwRXRPU0NIYzh4Z1Zw?=
 =?utf-8?B?WjBxVmFGcnVZQVhUMEVISFh5NUtPLytlamlkUDlnamVMSDB0NXAvUkZaenhQ?=
 =?utf-8?B?N2VNRUY5b0t0TUEwbU9lYVFKS3E2S2wxTTNETFBVdHZIeklIck9tbWlsQlY2?=
 =?utf-8?B?Uk9zOGNPRzJSSlh4MmJkalRPNUswVUZ1UUM5ZVN6NEtHa2M4ZEJzcFNNQ2dz?=
 =?utf-8?B?TGxUSEZZclZ4NHU1NWt2ZE1XQllCWGVtL1RwLzBhS2Z3eFhsN001QndnUUJj?=
 =?utf-8?B?YnQvZ2Q0OEhDdk90eXZQcVE4T09SR2JIOG5kVXJhbFk1NkRIZlhFaHRZclRw?=
 =?utf-8?B?NFpPMks1NHVHMTBMNFNOajZ4TXpOT2FUL0tPUmdXYnZ6WXcyaEpPbHlpZ1Ri?=
 =?utf-8?Q?C8k0c3CfpETwZgEVLRAfdGt38?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6731886e-f2c5-4d32-1595-08dadda4fefe
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 07:29:55.0035
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WA8/fjR/qN5oyIoaDkJkj0TuWesv5FbgzRmq3eEb++QV1fWxy69unFy+OZE4y4EXCqAhQthRvoLWEJVoAogvgg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9685

On 07.10.2022 14:39, Matias Ezequiel Vara Larsen wrote:
> --- a/xen/common/memory.c
> +++ b/xen/common/memory.c
> @@ -1078,6 +1078,12 @@ unsigned int ioreq_server_max_frames(const struct domain *d)
>       return nr;
>  }
>  
> +unsigned int stats_table_max_frames(const struct domain *d)
> +{
> +    /* One frame per 512 vcpus. */
> +    return 1;
> +}

Beyond my earlier comment (and irrespective of this needing changing
anyway): I guess this "512" was not updated to match the now larger
size of struct vcpu_stats?

> +static int stats_vcpu_alloc_mfn(struct domain *d)
> +{
> +    struct page_info *pg;
> +
> +    pg = alloc_domheap_page(d, MEMF_no_refcount);

The ioreq and vmtrace resources are also allocated this way, but they're
HVM-specific. The one here being supposed to be VM-type independent, I'm
afraid such pages will be accessible by an "owning" PV domain (it'll
need to guess the MFN, but that's no excuse).

> +    if ( !pg )
> +        return -ENOMEM;
> +
> +    if ( !get_page_and_type(pg, d, PGT_writable_page) ) {
> +        put_page_alloc_ref(pg);
> +        return -ENODATA;
> +    }
> +
> +    d->vcpustats_page.va = __map_domain_page_global(pg);
> +    if ( !d->vcpustats_page.va )
> +        goto fail;
> +
> +    d->vcpustats_page.pg = pg;
> +    clear_page(d->vcpustats_page.va);

Beyond my earlier comment: I think that by the time the surrounding
hypercall returns the page ought to contain valid data. Otherwise I
see no way for the consumer to know from which point on the data is
going to be valid.

> @@ -287,6 +289,20 @@ static inline void vcpu_runstate_change(
>      }
>  
>      v->runstate.state = new_state;
> +
> +    vcpustats_va = (shared_vcpustatspage_t*)d->vcpustats_page.va;
> +    if ( vcpustats_va )
> +    {
> +	vcpustats_va->vcpu_info[v->vcpu_id].version =
> +	    version_update_begin(vcpustats_va->vcpu_info[v->vcpu_id].version);
> +        smp_wmb();
> +        memcpy(&vcpustats_va->vcpu_info[v->vcpu_id].runstate_running_time,
> +               &v->runstate.time[RUNSTATE_running],
> +               sizeof(v->runstate.time[RUNSTATE_running]));
> +        smp_wmb();
> +        vcpustats_va->vcpu_info[v->vcpu_id].version =
> +            version_update_end(vcpustats_va->vcpu_info[v->vcpu_id].version);
> +    }

A further aspect to consider here is cache line ping-pong. I think the
per-vCPU elements of the array want to be big enough to not share a
cache line. The interface being generic this presents some challenge
in determining what the supposed size is to be. However, taking into
account the extensibility question, maybe the route to take is to
simply settle on a power-of-2 value somewhere between x86'es and Arm's
cache line sizes and the pretty common page size of 4k, e.g. 512 bytes
or 1k?

> --- a/xen/include/public/vcpu.h
> +++ b/xen/include/public/vcpu.h
> @@ -235,6 +235,22 @@ struct vcpu_register_time_memory_area {
>  typedef struct vcpu_register_time_memory_area vcpu_register_time_memory_area_t;
>  DEFINE_XEN_GUEST_HANDLE(vcpu_register_time_memory_area_t);
>  
> +struct vcpu_stats{
> +    /* If the least-significant bit of the version number is set then an update
> +     * is in progress and the guest must wait to read a consistent set of values
> +     * This mechanism is similar to Linux's seqlock.
> +     */
> +    uint32_t version;
> +    uint32_t pad0;
> +    uint64_t runstate_running_time;
> +};
> +
> +struct shared_vcpustatspage {
> +    struct vcpu_stats vcpu_info[1];
> +};
> +
> +typedef struct shared_vcpustatspage shared_vcpustatspage_t;

For new additions please avoid further name space issues: All types
and alike want to be prefixed by "xen_".

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 07:44:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 07:44:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461769.719911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5MRb-0007b1-5H; Wed, 14 Dec 2022 07:44:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461769.719911; Wed, 14 Dec 2022 07:44:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5MRb-0007au-1w; Wed, 14 Dec 2022 07:44:47 +0000
Received: by outflank-mailman (input) for mailman id 461769;
 Wed, 14 Dec 2022 07:44:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5MRa-0007ao-H0
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 07:44:46 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2048.outbound.protection.outlook.com [40.107.21.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d728312-7b83-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 08:44:45 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8054.eurprd04.prod.outlook.com (2603:10a6:20b:2a8::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Wed, 14 Dec
 2022 07:44:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 07:44:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d728312-7b83-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=if9uVh8Z79jsjrcOaPHubA+OGJ42bslQ2Hy/8vP8veEjywAoRxVOBvTjQOH66WkKQ2ztvWrMBgxtAkb2aotIhtfS6+4G57/812f2OMjEx0X2ccMoND8OtuOWLF2gPL1372dOzqFKEvJGAnQK81imieeSlOOeIFTE0GWz0Hu6K0aXsqt+qW/gfejCc88MIlIouCNov1hj/M5dcg1RKy9ERIRkqtBaP1r9hiBUIW9o2EEuoTDKZD/5sGXigDPA0brs6ekbeDfmpza5TEb0BXEzLYRXLcYHE131ejvkLZ2XWaDQ106CGfFgGFsG5xc6obdZEmGHfuvwQZnDK7vm3FRVAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qq3IpAcUi72TvglG7aCmx0LlJl/vlgVF+F4dXcQsL1o=;
 b=GVBDmhnuz6OL82zMT0nMfbsSPnCW5Uw1WI5wqTFOBQGv4xERV5A1FrP1pmAcuxkfB+QtV0SkJp4FQ83/u2EwsBSSdXU+CEBJPV/t2YygZzHC/TGvRM5rXZDsa7HJWhBMA1vKExg1osu/WsnhXW3nz/7b8BCjzE/J5KaCVyf80gIqjs1c3l139op77qCFozNAnPWoqERoLBLltJj5F/Qo5y+k0lBOH5Mvo/31OjhpqH9pBzjHxZdDeDIs0/AonK9clT8wTlianeMe/ylYn1rbb4bPlW6QieKZnzubnBxj7UOTrJEOkYDomOPubeDlnV8IIOlTZJ2cnoIglHh5uL5q+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qq3IpAcUi72TvglG7aCmx0LlJl/vlgVF+F4dXcQsL1o=;
 b=Af9JQCVmF3rfuOjpWamhWP47GAFPodbPueQS1/TYNMnElZzEnokLDppU7kpTYQkquoDx9fmiuwBTqCBaSkPL5F20fcip/Z9o185Ft0RkZuq740LtPVMHdIj27txqvo+86aPmgDTBzsS07B+3BsluEosVIg+QKcklWfL4Oab65Zu0XAJmCslvBGRoIMxJL8daJGlhK1QUfZKywLLMUCOR9UkqdYWtvBSUfTuBiL1mY9NObOu9dBiPUYmKUVY5vQjE+WYiTA6ByDtLIDeYhLGpb1GG56HUho+bHU5OyEyfU8WCw0XzRbbWc6tH9SWEMKnqe0SMfxvL+8w9ndMdaYcWOQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bde2aa35-773f-1c8f-3a80-f4ecb2d445bb@suse.com>
Date: Wed, 14 Dec 2022 08:44:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 1/2] x86/mm: avoid phys_to_nid() calls for invalid
 addresses
Content-Language: en-US
To: Wei Chen <Wei.Chen@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
 <d503a684-1689-ef60-23e8-5eb6b33ab5c8@suse.com>
 <495b4c44-0af0-d057-c584-8601c65c770a@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <495b4c44-0af0-d057-c584-8601c65c770a@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0084.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8054:EE_
X-MS-Office365-Filtering-Correlation-Id: a514a76d-61f1-4fdb-458d-08dadda710b4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yud2mzHyGGvjvXVHTaoYadgwxE/me1ipKvp1eObXjgidndphdMI8N/v+Z+P+H04cJ1IxbC7EVRb2yhiPkVCMg74M5DVR7wYdluDlc3A7Rp1gdvIOORso+mcOu7JM8gJtg6Qjol8GOpPPxHHATrgjnpLSh/tT35SldDahDmp/NMT9xBm4ztxE1QTaAreVD1YWP9mMMbX7NZ6vpJyh1XuhUvZJ92Yq0Y2kKHRnh7sPGpyeFm/ar5RAEANh/Tqvl0QsnsOj+ahu3jZLtRZQP2LX7kArpVXKv1ItQEOO/dDLSdL5QbT+OjwOyVPr8sQDbgTkxSsLwjiaCnNDd5vPJvJMw3TMVcIlGuLtoJ3YfdFXvpRiUJQ6DWSZGuGWn+jv62T+69dm7Oa1Rc5/HL2UKu+KfCoLfSVPwlkKs+Q7p5pG/YAw3RnPibnQdG217Y5L28Veh75ciepTZxYLh93PDJeTpbcLjhL1laUBoO1hqlxf5fY/pNBzqngxR8KWUSLiKWeohxwz3Ni2aWw/RFtxJjqGtn86kG0gvn9/UXsKyn6/b5i4Z4vWzjcxXZWXIYgdnSTuIcs34baG3b7CJo/dbYLEduQbx8xwThU8lYgbbizUDXcfi5orPan28ZZd0KlklIw5VAD9bEeSSsp4hRLIwv6xdPWcTC4Q1CAADqz01P/sRph7Gg17sMsjYlhXml4LP8lCGUZaivNMrYKFZKn4AqVCQWiS9/uBUNHppjJcMMygSr0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(396003)(366004)(39860400002)(136003)(451199015)(41300700001)(38100700002)(66556008)(5660300002)(8936002)(4326008)(31686004)(66946007)(8676002)(66476007)(83380400001)(6506007)(54906003)(36756003)(186003)(2906002)(6916009)(316002)(6512007)(2616005)(6486002)(478600001)(53546011)(26005)(66899015)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SUhrSkZPQ05BT0JNaFdhYlhRSThJV1NXbWJ0Qmd6bE9raENVM3U2cXpXNmNr?=
 =?utf-8?B?QlZ1d29sY1ZCZTNtNzV6QTllR1FRdHhDVG40S3o5dVlTcEtuYlA3ZmlvZzN5?=
 =?utf-8?B?aUFBU1p6ZlZLNnhFdkxNdWtBK3p3MkREdkp0TG01azBhRDFQZG8wbjdUeUFa?=
 =?utf-8?B?V2FiRGFzT3N0VWdoK3VLS0xmVmdwbU5zQ1ZkYVFoTys5MW9iWXpDNXRsTmNz?=
 =?utf-8?B?dkFDOSt3WWpDM25OTjJVUUg0MFBScmFWOFRibDcxZjBwL21sblRuQ1psMG1n?=
 =?utf-8?B?cXVETmR0VkE5ZGxPYU03WE00OGlnS1N4VmdheXoxbnUzNHhiaHFMN2pYNkxi?=
 =?utf-8?B?ZTlSSG55MU9WSGhVbmNMLy9aTy8yR2VyeFNNQjc5bm11OGtrMis2bGNESkUv?=
 =?utf-8?B?OEowN2srUUJWNkJQb1Zld2NudWRVbzVLamZHWUFrd2xoUytQM1VueGdVaTZJ?=
 =?utf-8?B?UExKc1N2ckNmOVNBbFBRYjUrWXBsWGZyTUs1VVlhekNCN2lnWHZ0STFSY3lP?=
 =?utf-8?B?dnJHVlRjV0tLbmV2SmFrNEpGcWpZek9rL3p4QlRDRkU3cFN2NmVGWVZjVXlI?=
 =?utf-8?B?T1lyNDUzVjF5UVk5dDdCRGZ5WDNsSHQ5cTEzZ3lrUHVyTHV5alpZZ2YrU012?=
 =?utf-8?B?VUU4eStCenAzOWZTWUVsNzJESW9zcG5Idk1NWVlyUkRQcjVsRWVOZndqUkxG?=
 =?utf-8?B?bFFBUjdETFBDcEhrUEliVk9IVXB2RG1JKzNZZUdJbnFXdGNVdWRqdThNeXUy?=
 =?utf-8?B?TjhOVGU3L0gvN0kxQk9YTDFVRkRIb1JDOStUY08wWVBGL09QZmY4TnBVOU43?=
 =?utf-8?B?ZFVpbkMrd2E1UUxOcUxQeE1qeTdyZGVPbzBpYzFIWHFQVndwWEQ1eTV6ZDJq?=
 =?utf-8?B?MWRUa1R2ektLbHZvVUNnWXJtMFd1VWM0bHQ2SUMrQXJSeVFITmxNTEF3L1ZN?=
 =?utf-8?B?Q2tnZHlwQkRjYW41elBXakhmTHp0cTVlQmlFRDc3WkxvVmsxaDBPNFAyUkd4?=
 =?utf-8?B?TWFJdVNBdDdLOHl2WTk1YnIvVDlOb1dDQjMrc0NSMmEwbzV1dXFlTnEvZkxM?=
 =?utf-8?B?RjRHRHpTRk5oZHBQS0pWSHFicEgweXZOc3ZWdW5wODdnM2VjOTE5UkdNZXM0?=
 =?utf-8?B?VTRrNlNvdjNNSzB0a29uUWFwWTc2bDBtN2c3Z3lwN1VONlVieXNodzl5cENX?=
 =?utf-8?B?MUgvN3V6ZGxTMzgzSEdnRVVucUkvRm5xczlTM0hhUWdFN0hxa1E5TlgvcWdN?=
 =?utf-8?B?cUtxNWJPemcxV0laZm9ubmZCNWQvM2dLc0JTdnUyWXRjU3lCdU5ERVZrMStW?=
 =?utf-8?B?T2hvU2lNeWw1VVJka2dwUTFwdnlYRGxGdE5HZmNxWHF6NGtTVDFrZ0NvNTMy?=
 =?utf-8?B?SHFIUHdIMXQ4YzJVaDZTcWlCYlEwcktaZUhnMVFLS2hMbk43eVA5eDhqOStu?=
 =?utf-8?B?Q3lmR3A4RkNTRTdFODZKNElUc2VZb0RMUlJPM2NqN0hqa0VEU0c3ZmtjNVdH?=
 =?utf-8?B?ZWJnazYrc2hpR0MwdEdtL2QwWkswemZ3Yk9GUEZ3cTg1bW9icGs4TEY5WFVl?=
 =?utf-8?B?WUR2dkFKdzZTZzZVajBzOG96YVkwazdTL2ZqdzdHWUpuSEFkRjBtdGM3eWJF?=
 =?utf-8?B?SlJkeS84WFBuRERld1U3ckpxcmRCbHRmb0I0MGZUdWdwbXNZcTBKNFAxVk5h?=
 =?utf-8?B?ZGNNWmVsVXVuMXF0bWJWcjZXWjlsTGtmNU9tcldBb0EvSS8vTkpiU2VudjdT?=
 =?utf-8?B?TWNDWEliZVk5UG1hcXJXWlB1OTRvRWtlbDFPMHRnYnNUQjY0V05hckYrYWFh?=
 =?utf-8?B?UEtqdE9Lc2V5YktRejdZVHZxdk03SUNkNmFIY29KWlEyRUUwa3NJZUIxOVV3?=
 =?utf-8?B?bUZ1alF6Tm9VMVpwd2M3QkJjZmpQeWx5ODJOKzYvRDRrTGZzVzdYbVZETm9O?=
 =?utf-8?B?bDlkWFh5c1J6TWRsbGxXdGR4UmtndmYyUTl3ZDlmc2xnQk9rNnF1dW9VWjd2?=
 =?utf-8?B?UGFlWXg4dkhqbnkvcjJJVmNNelJWWllhN3lRK0N2MG5nVGdlTE44Nys1TlFL?=
 =?utf-8?B?ckdBNGxhdlc4M0k2TlBXcTRqa0ZTZVVlN29oQWtIeDRQdlhzTS96YlhtRS9K?=
 =?utf-8?Q?Nq8xbvFnj6XECTs2bdzn+HkrG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a514a76d-61f1-4fdb-458d-08dadda710b4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 07:44:43.6810
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JVVRjakEqgNP4YT7IYusBRlag0ru9atP0SOQrn5y8Vl5zQBfU4TaTCCB5IvAVQ1+QF4xsDKSI5MKNyAJLd8rTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8054

On 14.12.2022 04:28, Wei Chen wrote:
> Hi Jan,
> 
> On 2022/12/13 19:36, Jan Beulich wrote:
>> With phys_to_nid() now actively checking that a valid node ID is on
>> record, the two uses in paging_init() can actually trigger at least the
>> 2nd of the assertions there. They're used to calculate allocation flags,
>> but the calculated flags wouldn't be used when dealing with an invalid
>> (unpopulated) address range. Defer the calculations such that they can
>> be done with a validated MFN in hands. This also does away with the
>> artificial calculations of an address to pass to phys_to_nid().
>>
>> Note that while the variable is provably written before use, at least
>> some compiler versions can't actually verify that. Hence the variable
>> also needs to gain a (dead) initializer.
>>
>> Fixes: e9c72d524fbd ("xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> RFC: With small enough a NUMA hash shift it would still be possible to
>>       hit an SRAT hole, despite mfn_valid() passing. Hence, like was the
>>       original plan, it may still be necessary to relax the checking in
>>       phys_to_nid() (or its designated replacements). At which point the
>>       value of this change here would shrink to merely reducing the
>>       chance of unintentionally doing NUMA_NO_NODE allocations.
>>
> 
> I think it's better to place the last sentence or the whole RFC to the
> commit log. Without the RFC content, after a while, when I check this 
> commit again, I will be confused about what problem this commit solved. 
> Because just looking at the changes, as your said in RFC, it doesn't 
> completely solve the problem.

Moving some/all of this to the commit message is one of the ways to
resolve this RFC, yes. But the other one, flipping the order of the
two patches and making mfn_to_nid() check less than page_to_nid() is
one where the commit message here would need re-writing anyway. IOW
the primary question here is what route to go.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 07:46:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 07:46:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461777.719921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5MT2-0008S9-Fd; Wed, 14 Dec 2022 07:46:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461777.719921; Wed, 14 Dec 2022 07:46:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5MT2-0008S2-Cw; Wed, 14 Dec 2022 07:46:16 +0000
Received: by outflank-mailman (input) for mailman id 461777;
 Wed, 14 Dec 2022 07:46:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=H8nZ=4M=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p5MT1-0008Ru-A2
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 07:46:15 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 623f6c35-7b83-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 08:46:14 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 812E821878;
 Wed, 14 Dec 2022 07:46:13 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 575C6138F6;
 Wed, 14 Dec 2022 07:46:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id zGTtE0V/mWNoRwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 14 Dec 2022 07:46:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 623f6c35-7b83-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671003973; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=GmTzt/eB5MUdxyQ5AL6gTML5riPlOse+Ynz/1qPbKhI=;
	b=T0veXJaeIC9WlRAzKmiR6frbfCazkAdMGwgnicds48QZDRyumdHWeCb7JqF4mkH83RXJ7V
	rIF3dwUiR+Ptb9svZT1Wo0zUmSY1z5nLtWx9iLcyMmoy3M4ZGS0GjSYOdyKkFdMm45DxF0
	VgwyASJcpvXUE2uDUd8gdUeky0AToOc=
Message-ID: <9a63c162-1684-1703-22f4-89c5dbf1ae71@suse.com>
Date: Wed, 14 Dec 2022 08:46:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 01/12] tools/xenstore: manage per-transaction domain
 accounting data in an array
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221101160422.7212-1-jgross@suse.com>
 <20221101160422.7212-2-jgross@suse.com>
 <34de8b28-76d9-dcd4-8193-c327a02d94f3@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <34de8b28-76d9-dcd4-8193-c327a02d94f3@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------OecxqhHZiILGZPa5uMZs7kD7"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------OecxqhHZiILGZPa5uMZs7kD7
Content-Type: multipart/mixed; boundary="------------m5qimV0hDTSSwtDXFx24DZ6i";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <9a63c162-1684-1703-22f4-89c5dbf1ae71@suse.com>
Subject: Re: [PATCH 01/12] tools/xenstore: manage per-transaction domain
 accounting data in an array
References: <20221101160422.7212-1-jgross@suse.com>
 <20221101160422.7212-2-jgross@suse.com>
 <34de8b28-76d9-dcd4-8193-c327a02d94f3@xen.org>
In-Reply-To: <34de8b28-76d9-dcd4-8193-c327a02d94f3@xen.org>

--------------m5qimV0hDTSSwtDXFx24DZ6i
Content-Type: multipart/mixed; boundary="------------U0mD0bG83tRouharJal0Zcbo"

--------------U0mD0bG83tRouharJal0Zcbo
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDEuMTIuMjIgMjM6MTMsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDAxLzExLzIwMjIgMTY6MDQsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBJ
biBvcmRlciB0byBwcmVwYXJlIGtlZXBpbmcgYWNjb3VudGluZyBkYXRhIGluIGFuIGFycmF5
IGluc3RlYWQgb2YNCj4+IHVzaW5nIGluZGVwZW5kZW50IGZpZWxkcywgc3dpdGNoIHRoZSBz
dHJ1Y3QgY2hhbmdlZF9kb21haW4gYWNjb3VudGluZw0KPj4gZGF0YSB0byB0aGF0IHNjaGVt
ZSwgZm9yIG5vdyBvbmx5IHVzaW5nIGFuIGFycmF5IHdpdGggb25lIGVsZW1lbnQuDQo+Pg0K
Pj4gSW4gb3JkZXIgdG8gYmUgYWJsZSB0byBleHRlbmQgdGhpcyBzY2hlbWUgYWRkIHRoZSBu
ZWVkZWQgaW5kZXhpbmcgZW51bQ0KPj4gdG8geGVuc3RvcmVkX2RvbWFpbi5oLg0KPj4NCj4+
IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+IC0t
LQ0KPj4gwqAgdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2RvbWFpbi5jIHwgMTcgKysrKysr
KysrLS0tLS0tLS0NCj4+IMKgIHRvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uaCB8
wqAgNSArKysrKw0KPj4gwqAgMiBmaWxlcyBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCA4
IGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9yZS94ZW5z
dG9yZWRfZG9tYWluLmMgDQo+PiBiL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4u
Yw0KPj4gaW5kZXggNTgyYjc4YjBlZS4uMzk5ZmM5MjBiYiAxMDA2NDQNCj4+IC0tLSBhL3Rv
b2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uYw0KPj4gKysrIGIvdG9vbHMveGVuc3Rv
cmUveGVuc3RvcmVkX2RvbWFpbi5jDQo+PiBAQCAtOTksOCArOTksOCBAQCBzdHJ1Y3QgY2hh
bmdlZF9kb21haW4NCj4+IMKgwqDCoMKgwqAgLyogSWRlbnRpZmllciBvZiB0aGUgY2hhbmdl
ZCBkb21haW4uICovDQo+PiDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBkb21pZDsNCj4+IC3C
oMKgwqAgLyogQW1vdW50IGJ5IHdoaWNoIHRoaXMgZG9tYWluJ3MgbmJlbnRyeSBmaWVsZCBo
YXMgY2hhbmdlZC4gKi8NCj4+IC3CoMKgwqAgaW50IG5iZW50cnk7DQo+PiArwqDCoMKgIC8q
IEFjY291bnRpbmcgZGF0YS4gKi8NCj4+ICvCoMKgwqAgaW50IGFjY1tBQ0NfVFJfTl07DQo+
PiDCoCB9Ow0KPj4gwqAgc3RhdGljIHN0cnVjdCBoYXNodGFibGUgKmRvbWhhc2g7DQo+PiBA
QCAtNTU4LDcgKzU1OCw3IEBAIGludCBhY2NfZml4X2RvbWFpbnMoc3RydWN0IGxpc3RfaGVh
ZCAqaGVhZCwgYm9vbCB1cGRhdGUpDQo+PiDCoMKgwqDCoMKgIGludCBjbnQ7DQo+PiDCoMKg
wqDCoMKgIGxpc3RfZm9yX2VhY2hfZW50cnkoY2QsIGhlYWQsIGxpc3QpIHsNCj4+IC3CoMKg
wqDCoMKgwqDCoCBjbnQgPSBkb21haW5fbmJlbnRyeV9maXgoY2QtPmRvbWlkLCBjZC0+bmJl
bnRyeSwgdXBkYXRlKTsNCj4+ICvCoMKgwqDCoMKgwqDCoCBjbnQgPSBkb21haW5fbmJlbnRy
eV9maXgoY2QtPmRvbWlkLCBjZC0+YWNjW0FDQ19OT0RFU10sIHVwZGF0ZSk7DQo+PiDCoMKg
wqDCoMKgwqDCoMKgwqAgaWYgKCF1cGRhdGUpIHsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIGlmIChjbnQgPj0gcXVvdGFfbmJfZW50cnlfcGVyX2RvbWFpbikNCj4+IMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIEVOT1NQQzsNCj4+IEBAIC02
MDMsOCArNjAzLDggQEAgc3RhdGljIHN0cnVjdCBjaGFuZ2VkX2RvbWFpbiAqYWNjX2dldF9j
aGFuZ2VkX2RvbWFpbihjb25zdCANCj4+IHZvaWQgKmN0eCwNCj4+IMKgwqDCoMKgwqAgcmV0
dXJuIGNkOw0KPj4gwqAgfQ0KPj4gLXN0YXRpYyBpbnQgYWNjX2FkZF9kb21fbmJlbnRyeShj
b25zdCB2b2lkICpjdHgsIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQsIGludCB2YWwsDQo+PiAt
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBkb21p
ZCkNCj4+ICtzdGF0aWMgaW50IGFjY19hZGRfY2hhbmdlZF9kb20oY29uc3Qgdm9pZCAqY3R4
LCBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkLA0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgd2hhdCwgaW50IHZhbCwgdW5zaWduZWQgaW50
IGRvbWlkKQ0KPiANCj4gQUZBSVUgIndoYXQiIHdpbGwgYmUgYSB2YWx1ZSBmcm9tIHRoZSBl
bnVtLiBTbyBsZXQncyBkbyBzb21lIGhhcmRlbmluZyBhbmQgdXNlIA0KPiB0aGUgdHlwZSAi
ZW51bSAuLi4iLg0KDQpZZXMsIHdpbGwgZG8gdGhhdCAoYW5kIGluIHRoZSBmb2xsb3dpbmcg
cGF0Y2hlcywgdG9vKS4NCg0KPiANCj4+IMKgIHsNCj4+IMKgwqDCoMKgwqAgc3RydWN0IGNo
YW5nZWRfZG9tYWluICpjZDsNCj4+IEBAIC02MTMsOSArNjEzLDkgQEAgc3RhdGljIGludCBh
Y2NfYWRkX2RvbV9uYmVudHJ5KGNvbnN0IHZvaWQgKmN0eCwgc3RydWN0IA0KPj4gbGlzdF9o
ZWFkICpoZWFkLCBpbnQgdmFsLA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiAwOw0K
Pj4gwqDCoMKgwqDCoCBlcnJubyA9IDA7DQo+PiAtwqDCoMKgIGNkLT5uYmVudHJ5ICs9IHZh
bDsNCj4gDQo+IEkgd291bGQgY29uc2lkZXIgdG8gYWRkaW5nIGFuIGFzc2VydCgpIChvciBw
b3NzaWJseSBydW50aW1lIGNoZWNrKSB0byBjb25maXJtIA0KPiB0aGUgJ3doYXQnIGlzIHNt
YWxsZXIgdGhhbiB0aGUgYXJyYXkgc2l6ZS4NCg0KT2theS4NCg0KDQpKdWVyZ2VuDQo=
--------------U0mD0bG83tRouharJal0Zcbo
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------U0mD0bG83tRouharJal0Zcbo--

--------------m5qimV0hDTSSwtDXFx24DZ6i--

--------------OecxqhHZiILGZPa5uMZs7kD7
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOZf0QFAwAAAAAACgkQsN6d1ii/Ey+W
pwf+IK9ybdWszPmD8DraNhhUA0lhDWz7e3zM38l2w/PhfAOsDe3P0n9wHv55BID7VgJwRIXd8kcy
efVdCMx5CwuwZ0Q5xNHGlLjErl79/ptzKHxdLP3YCeRwo0B9S5YcSogIeX5SyL5CrwNyaEYST0tk
RQ2qBetgjkYxRTGwO/+3J25Rd79OsOvQXe4Imnrmai9eZkVPlDVXZzhB6pqz5TiHjWHGLssSKNuI
4/TWPxOMLggLf3AUYTYS4NQCjAeXkh7x7cNCUefiTcakHuwOmEC+vhfK0IDApfoPopEs5+6ifA9u
jNACFjKqjuY6yyl8V2PSOfB+xd3+tOOv0el3v8dSlw==
=I2se
-----END PGP SIGNATURE-----

--------------OecxqhHZiILGZPa5uMZs7kD7--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 07:57:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 07:57:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461786.719932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5MdU-0001fT-F9; Wed, 14 Dec 2022 07:57:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461786.719932; Wed, 14 Dec 2022 07:57:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5MdU-0001fM-CA; Wed, 14 Dec 2022 07:57:04 +0000
Received: by outflank-mailman (input) for mailman id 461786;
 Wed, 14 Dec 2022 07:57:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5MdT-0001fG-B9
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 07:57:03 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2058.outbound.protection.outlook.com [40.107.103.58])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e48c5751-7b84-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 08:57:02 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8604.eurprd04.prod.outlook.com (2603:10a6:20b:43b::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 14 Dec
 2022 07:56:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 07:56:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e48c5751-7b84-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GE2TvQZSvJDB/pXIRF3v+JnDkV0a9AYmhvPgQqVgOiw2vjg4tPWlKT5+n9IlBJBz9oQu4s3FwNXY+h4r7/WQ7PuVLYDdashjH6xKfIh22aWxY53h7g31w/r18QfCmuf4i3IDNcWuDNLRWoiroVfnD54YXf9K17KwtpkmIP72/LTt16qYthhQHrKs8Stsv1wULvPzrMHxITSpOMENVH1LCGwIJjZp6JU9LIwhW+F7A0P9kWjM65rO+vFqnB2NMSgPKtHeg+HA0XSSIFt0wBFd0TIFer8/7ywnEg0N4yv9QLa0hHaeCJXpTv67JQCJWJpSWXP1kAz/3hfQ2NMKo2xZuw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zo4vZGUxkZXAazECKQB+/3LjGsIxwEmAkmnlT1+b+vI=;
 b=hpqX7Ccvo5d/dcKX7npFsGucDLe1f7cKTQQpB774Ae1g2UDyeT/AcsfJssIkVDJG6ouFd34sPyWfwgamKRw0Z1nq/SyWzaqBh5YavWTfzb7+7WRyS303yFrJb4m68209jwlzIN4Tymq2bZAYPV10OZKznX2BvqHF7qZgg3PuiatqhlOgHvZGLq6XIE7SSUWv0qo5uoG6I6OgMStxG8mYad4+uLWpKXll3QyWUDEnB9Q+mjxvhVxJsWJhkSLcr54WOavtIOf4duApqAITuL2fVadCVWq1YOhbMCuJ1bK9Lbl/A9Wbsiecf3MBjS2OIhesueuUaN5+rpqXC78/+FElrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zo4vZGUxkZXAazECKQB+/3LjGsIxwEmAkmnlT1+b+vI=;
 b=CyxIGpKSU1AZ9k06sfCWEPpSq2cLeLzqnOrvpWzhaiCt8gRx+3bj/Hlw9pV7qyp2H8D7QTV7wOb/cxylR7i7VEkrxUio0yY4DEaE9UYG0wzg2BzoIrCgPQzcNyP83xORkwopo20BgFRUem2DhGrJF6rUO5CpAVv+NCZCyO0I0GAqCsj2oUfnimp7jQPCumR4Ly8owHJTdMNrwLaW+uEjxWZqt40CE/emC6JltMF8oqz3Qtx1tB3+o2UkI8Oc+PTG2NhHa4CjgS9hqJ3Q2AJt47oe3dkDgGJ+Kgk4+ync1u9pT+vrQ1Rxz6FHMmJyeiyx4HT4xWDvVwbx89VtuQ6OXQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3aa736d3-b833-0c6c-2a41-71cc4b953aae@suse.com>
Date: Wed, 14 Dec 2022 08:56:57 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH v2 1/2] xen/memory : Add a stats_table resource type
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
Cc: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1665138677.git.matias.vara@vates.fr>
 <af6032c9f5863b7e6fb183a0a197407ec92bb067.1665138677.git.matias.vara@vates.fr>
 <b59b6466-8d06-f7af-beb9-3c38c638a455@suse.com>
In-Reply-To: <b59b6466-8d06-f7af-beb9-3c38c638a455@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0122.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8604:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b6b9712-aace-4d77-30a0-08dadda8c741
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3bJwE/XylgDGbfHF585Zpzme3H/C3KcEJY/n+IxZEvXjEL5OizhZYaRbX/nGAaQOoTPsaYQC2ibY4kDHWCJ4CHa6O1Qqu6ibx2cneLMk+bx+1x+d7ylZgKkqSmKXn5iT711Y5hhnYp6wl6RJjo/k4/IO8VvvdxRoWg0+ZoXxV/XfGh7ZaU7LzYZnEOJutsKk0Vpd6dgmy6NrK71oZm0NZ8qgbFUmlvcx3eJTMYxcYriseXBJVhjzbWkU0KyRmdtGMPh+y5y4lMGIiIiloSmAg+hD8L3gsPKcHOzbVvMI/SdG7/jY1DrxckG7dvctG5UNQBBgUwLWGTB60o/V5mfnKABw+CcRiNG3JZEiFWc9GmKCe3iUdzZyhuN2jZyZUpAYgH2xkKBxgXLvBJ8/UBDfMdQgEI1/JpryPesEQCCS8tdS/ckVYO81DSpjGhwhM9FEx0oZcX75u/2V2I+XufZQE8AIfRIskKFfXEqT8Wx8nwxRQRdWUI3EZ02zfEA6g7loGRGEqpw6x78a+TcAhLChwVEAsoRBjDTeLPBOtKCPzGdk5usbqBkSbjSev07IJ3Z0XQLb6AgM1f5oqbLLwbN9oB2C7aq1NsHfDg618U20bt72zO/+GkQYkiUwsRSUIgvkYP0DcvAU6SkbeLuQviqJvnD5RU1OYmPIiCmPX2mAA6UuMKXOs+Zdb4ce67LP4bTTWMsEJA4wAXvnH1g5XeZwghr3Dx+TfmRffEWV4stGDhk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(39860400002)(346002)(396003)(366004)(451199015)(186003)(31686004)(2616005)(6486002)(6916009)(478600001)(316002)(54906003)(31696002)(36756003)(86362001)(6512007)(26005)(83380400001)(53546011)(6506007)(38100700002)(66476007)(4326008)(2906002)(8676002)(41300700001)(66556008)(66946007)(8936002)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NFhxS2JVckU2UFVQRXJmU2g0VzZZeXNtWXBwWEduVEk3ZE9wOHdvMER6aThi?=
 =?utf-8?B?WGo1T3Fodldld3F4RWpNOE1qQUdkK3ZWbWR3MjM2TzF3dU9nV1lYN01maEY3?=
 =?utf-8?B?dW5RdTVXWDZneEFaby9pUko0Q0lNNlFsN0NmV3hlKzViN01TQk9KRmFKME16?=
 =?utf-8?B?RkM2Nk1Zem5zR1U3cG5xQXYyaWRVeisydEVPUUVibWRNUzlrUjBxMEdFaDlj?=
 =?utf-8?B?SXJqcUw0Mmxobk8yT3c4ekFzWFZKVUdWeWRhQWxVOWJlZk9zK0w0TDZ2NHlo?=
 =?utf-8?B?UVJMdG5YSElOSnRCNkM3cjF3SC85ZFQxWmZJU0tVajF1OVI1SlU5TXBHSDVH?=
 =?utf-8?B?b3poSlV1L2J0Zzh3NFVXNGhZbGVkcXg5NnNYeFd1aEk2bzVtek1ZRnBONDB4?=
 =?utf-8?B?dVZNUzFabk5uWjhwWTVuSGNvYkZ4dDFnVnlsNEgwYTBGcUhLMVF3TGp6aUlT?=
 =?utf-8?B?ZU9XSjRGNi9Pb3Yyd1BpSmc4U1BXMUc3NlNlWDhvTTJkNVR6ZVgzSnJYMGVt?=
 =?utf-8?B?Wm5EUk9SSTZRWklhRHE5eFVYSHFYSTJ6UU53TTBEQW81VnNnajl3blpVR28y?=
 =?utf-8?B?TmpQN2hBVVRIS3FFL0RVOXR2ZjRIN0NkQm53QjNqV2lSMkRhUGUra2VVaEhH?=
 =?utf-8?B?VEw1c3kwYit0M2JZc2RneWY0Z2VSN2tmWnA3RmIvREdpS04yNFh2QWNvR2pj?=
 =?utf-8?B?RkhHSjRvdk9NSGtneE14OHVnbHdpTjhnNXVwbzhhUXVnbVJTWEZzdEdFWDFk?=
 =?utf-8?B?cWZselA4dzFkTjJzK2RZcnFPdjZ6azhkSnhRUlZQMEtSczJHQmVienJVM1Ew?=
 =?utf-8?B?dS9kZnltVnBHVnlaU2lUeVhPdHlFL044UVMrbnFvRG01UVUyRnAzdEpwc1Y5?=
 =?utf-8?B?bGluRm91ZjkySnFGWVdPOCtiS1ZRZm9HTUI3N3I5TUFMcEZlRXQrM0NXcFN2?=
 =?utf-8?B?Zk80MWkrVkNwYnFFSWJELzEwMmpKcEQrb1FycXVING9oYitseUZ6Unl6MERS?=
 =?utf-8?B?UWhOSlJYa0srZGxUeFBlWjhkdytkSDlTbG55WExCN3h2dWt4V09ZQmhGN0Jz?=
 =?utf-8?B?SHZpY0ZZOFcwcU1KTktVeitjbkRXMWJCY3I2RDJmQWJLb0RYRVkrUlhHQ0FN?=
 =?utf-8?B?RHhvcWppYlFHNklmUXZpRVJqckJ4YXBORFQ3a1I3TWpweHlyUFI3NkdTS1lu?=
 =?utf-8?B?WUVPZThGV1BNVkFBT3ovaDkzWjdVZmw5Ykt5eTJlWit4dEtRcEhXdWt1a294?=
 =?utf-8?B?SHJYdGpveVRRNGRvK3dyN3VXb3NNWmNXMkorUXhnTkMyczlwMlI1QXpKc044?=
 =?utf-8?B?Y1JxSnN5OElzWUJaZmkxTmhtRGd6ZDZlc01VQkJnMTFqRWNqVlo2YVJwME9Q?=
 =?utf-8?B?b2swcnNUcS9Fai9IMEZYVCtUN2ZqbWFZM2hmSXB1OWdnd3hIU3djdzM5SkRD?=
 =?utf-8?B?TVFkcU1NaTZnTnJ3Zk1QOXBOa2E3OGJjeW5PTTlLNEEyR2gxVlVuRXVKN0NI?=
 =?utf-8?B?NllZUUFZcXBCdXJXRERTK0FRVTQyRUdnNlNoQnhUOUdrY2IzZDVnZXBUSlh2?=
 =?utf-8?B?UG9ia2ZsWk1CQU5YZ0ppL0g2S0E3S3ZnV2tnak1XMVg4QXVXKzJndXNtZ1N4?=
 =?utf-8?B?b3ExdzZWTmxUbGJNemRjdXVZd0xHdE5Cdis1NmhudTdWNUx2ZlhJcTgxcnlH?=
 =?utf-8?B?R1Y5RG43Z0x6REdheU55YUxhYjMraFRyOHMvR2Z0RFZhdkZPTTh6b2xkK2dq?=
 =?utf-8?B?L1hGY0ZiYWYxRExPK2ZObFVzOXA4bjJ2U1hWZUVENmZmNnpVZ2xUME1wRHQw?=
 =?utf-8?B?RTlyMmxFbHVpK1U3VG51TjZVMGphbmJsWVphUGFSVXpxNUE5R3VrV1l4S1Qr?=
 =?utf-8?B?Tm5PTTloaEJDa1htOHV1YlZXUUZiWDNrTFlENC8zalkwdElNOCthVTZidjNn?=
 =?utf-8?B?bmhZSWE2WVhWYTBPWjdLcFlhd3BSTnBtcDdwNWtyOHo2ZFQxcmhsWUYrYzBV?=
 =?utf-8?B?KzQxVHk5all1dzFsUmVmRGJBM3pDRG4wZlpabDkySlBSMkdTTWdSdW1KcFda?=
 =?utf-8?B?VUpyR25JbmJLcDh2ZEZ0ai91RHJpT0t0eEZxTEdvS0M2Y1dIMXRvUHEwWFN2?=
 =?utf-8?Q?Lk6Ox7UZeeqWIAuB00pItgPyu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b6b9712-aace-4d77-30a0-08dadda8c741
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 07:56:59.5560
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bDK+fPB0WybIUZGDd4Zd8TEnNStmrviU17+c/QZ6brLPjbaq4h5RX3THaFUMHc+pR5G5JmBMqKady8joj1pb/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8604

On 14.12.2022 08:29, Jan Beulich wrote:
> On 07.10.2022 14:39, Matias Ezequiel Vara Larsen wrote:
>> +static int stats_vcpu_alloc_mfn(struct domain *d)
>> +{
>> +    struct page_info *pg;
>> +
>> +    pg = alloc_domheap_page(d, MEMF_no_refcount);
> 
> The ioreq and vmtrace resources are also allocated this way, but they're
> HVM-specific. The one here being supposed to be VM-type independent, I'm
> afraid such pages will be accessible by an "owning" PV domain (it'll
> need to guess the MFN, but that's no excuse).

Which might be tolerable if it then can't write to the page. That would
require "locking" the page r/o (from guest pov), which ought to be
possible by leveraging a variant of what share_xen_page_with_guest()
does: It marks pages PGT_none with a single type ref. This would mean
...

>> +    if ( !pg )
>> +        return -ENOMEM;
>> +
>> +    if ( !get_page_and_type(pg, d, PGT_writable_page) ) {

... using PGT_none here. Afaict this _should_ work, but we have no
precedent of doing so in the tree, and I may be overlooking something
which prevents that from working.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 08:17:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 08:17:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461803.719943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5MxH-0005Ti-NK; Wed, 14 Dec 2022 08:17:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461803.719943; Wed, 14 Dec 2022 08:17:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5MxH-0005Tb-KD; Wed, 14 Dec 2022 08:17:31 +0000
Received: by outflank-mailman (input) for mailman id 461803;
 Wed, 14 Dec 2022 08:17:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5MxG-0005TV-C4
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 08:17:30 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2049.outbound.protection.outlook.com [40.107.105.49])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf8ba219-7b87-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 09:17:28 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB7096.eurprd04.prod.outlook.com (2603:10a6:20b:113::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 08:17:26 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 08:17:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf8ba219-7b87-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AAuZK69/8C3NqlJTxfRrHSBTD1QrtkjoFOyPqef0PJqlqQNhnxzz+QWT++OxJLWET2a7+mNLd9iIl78Am6d7n9wluuzDW1lkGydJrBCroXzWQtljOmRnrS9hkXfyhnis/JHOoPFS/h8FS20BzOHyd6Yh6lvTjt7TOW03EHD/7WD9FeSWqPrj/evdHpDVGRK3+ZUZi2liZ3jPRCDwQ1fvQFKsvQW+DCQ1ZWrQ+7a3iUwrZn3JB14LlImfrYsX8Gd5zDogckE0EwpDm7udR3xWdzMUC7HOuzTXlm4LmpvP+he51T6GgWN2hx07eVxgbEVYAMygbWUNN/ydzVAk1q2W5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b4MBS3XTcj8lsac6eceq+OnUKOQ4/NzZ3T07a5HQShY=;
 b=J4m1ckZaUWOZWNMvqMr5f+R7y4SFWI+V+KMfVEQQwd8+8lL7SxlcohJyLXaqXK1qEIkoTJJvAhMzWTkBq/Te5Py/1kPAZ8rz2l+RksoSlOJFWBDtWnRy3EZQArZgvXppK9YDdSX8UJvJANt/8oXCp/K0TXg/gM4ASDRUh4X64eqhOR+/AY6TQvqaF4B+Pld6zg0TvgQaoaJNfqbysFbLv5KM37n7i8sms4w7IxYhsa/n8JVX1Ab0fz/6BHRCoyHaVuxTJzTQlS5p4XPUG4lFxTabcU4HD74gSW57bIK0fxlv/RbvPyCgooJI1fUc6prC5wNfUKsxmUKhL8m6Bke8kA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b4MBS3XTcj8lsac6eceq+OnUKOQ4/NzZ3T07a5HQShY=;
 b=5WkC7DbV+LaddJzCT86WCNR6DjOJGEOcZGg1bOtSrbQOabMxW3sGTKubRELHne+HGL+jrUfx/3Y7vgjBeiLWHzV6vj4uvCDbedWeqP53Bqq7P5PtiiWELh1r8gZHxlRhtLeBiAN1EoJo9F9X7A7ktAOb0ZnL7ZtkgVU20/LQw/Ftw030tBjObeX3+eGKfTFBsTPgud1ygSodFv2n02W25gNuOtKhGhxspeH2J17nq1qQ/VJvSLZpy5LpMycQW8+An1bmGnmiMastHpLR3iy+edkSxnYX8JaBfCJIdmMZU6VWkmqQbNxYPiEkMizc46jwcBnzz1NGMbuTgbfCfPAAAw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9bec6472-1f61-8b36-102d-7f7c884be869@suse.com>
Date: Wed, 14 Dec 2022 09:17:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH linux-next v2] x86/xen/time: prefer tsc as clocksource
 when it is invariant
Content-Language: en-US
To: Krister Johansen <kjlx@templeofstupid.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 Marcelo Tosatti <mtosatti@redhat.com>, Anthony Liguori
 <aliguori@amazon.com>, David Reaver <me@davidreaver.com>,
 Brendan Gregg <brendan@intel.com>, Juergen Gross <jgross@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
 <20221212155730.GA1973@templeofstupid.com>
 <20221212160524.GB1973@templeofstupid.com>
 <1eb6048b-bf23-78a0-9c3c-54bbd12c3864@suse.com>
 <20221212220519.GA1935@templeofstupid.com>
 <60582b25-4fb9-a2c8-9db3-9b5593f039c1@suse.com>
 <20221213185842.GA1987@templeofstupid.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221213185842.GA1987@templeofstupid.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0127.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7096:EE_
X-MS-Office365-Filtering-Correlation-Id: 986f6ae6-f606-4e94-bda6-08daddaba2c0
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	S6lblFOAjfJvopnMfxiMVeXGYwU6l33TZbaMC25+ODHFbAzIg4VT1btVesuUL9rXrDzASnhC56odrxX9ckYrWma1cS1Mu7Kz6Jmw2ZMOQUrGq7kv1+GZb/FosM6g86SD2Dud6liKObpZXB8yM9eradlrlJKelIOzkNBSZaGMwGjYjJ2ch69reZ0OAs+zaK5gZlvbRXTpuT4qZdFfFoA+tzSZvd3kX1vRJrKR2E3bMYSfGugazEbxaiGtDBn0Ok+hLbIrLJYRWuXzauEVdQiCct/NUL6X4oknL+P0Ut/VtzWlqkaP5crBS0ppZUw+LASIh/rdw9nLyI4MQd5M8lZf9YVqNEDMfDQ0j5fLXiih17Qa+yWhA0cCtLHU9F23p+e+SVDO+GAaiHMi51RiLeGXRYSC6OcWjQGhfZj9HtK1Bcy4j0i/EaMx7DIf7Tz4FSYp8KkV5ljG3JeM+nZrGkA5PkuwIp/GgGYfvse38Ldik2JAqnLVpQ0QfqLu+01GCxHcak+aTnqX6oA9xhFDEeEBhS2uU18BI1LE2l837zpd4r3uLRk6U8KGDSmQbs7CehImkxcU4jT5J30/+4HNpWb+5MIW43SBB62qdP+vmXzdSdK7DbuicBy6zvfM2HHQKrGEPhwq9TVtXEH52rTgqw4LGt66ZBYwE550gN8fa6JNO3cJmStHqNh/7tSu1zLMz/icxwsKIUY1YjKeReWseb25pwDkGX8+MF3Z3eRoZ2e6p0I=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(346002)(366004)(39860400002)(396003)(451199015)(38100700002)(5660300002)(7416002)(8936002)(186003)(26005)(66946007)(66556008)(36756003)(66476007)(83380400001)(4326008)(8676002)(41300700001)(86362001)(2616005)(2906002)(31686004)(478600001)(316002)(6512007)(6506007)(53546011)(6486002)(6916009)(54906003)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MlJTb2JJNG02bFZ1eEM3MStXenFWUWFXNUdaWFZaSk4xeXU4N0tFeW52RkNx?=
 =?utf-8?B?cloyeHJnQUR2cWFCWVFXV2VZMjE5M0JzSmFJcXJrdlFqRTJEYUdDbC8wUytw?=
 =?utf-8?B?WEtJSXZSZ2l0Uk5PTC8yQ3ZNVXIycUxIb0NuU1RmN0Urd2lFVVZnVjBwVU1k?=
 =?utf-8?B?NFByTElPQzB6NEFrUjQ2aWMrWUJVdkZpZmhrekxKUlhpaDB4ejNubjV1RWd6?=
 =?utf-8?B?Lzc2dUs2cmY5dXBYSzNXTzJhbVBvM05hNXFpdysvSGJjbHA5R1hZWFJrWmhZ?=
 =?utf-8?B?R25MamZmWTFYbFhaR3FaQXEzSUJ6dlZkUStVai9CQkx2N3p1TkM0ZHIxTVdZ?=
 =?utf-8?B?VElpTkNBRk9GT2s2UXR1REswMkZtdE8rWVFUZ09BdU5OeUVGRWV4ZGk1TGdC?=
 =?utf-8?B?bGVad1Zuc013RTNMTmRuYnZHUEZPVlBMKzBPVW51QXVPMDU2SFRvcThvK3l1?=
 =?utf-8?B?eEdmc1VJQXhkOTVUQlVRZDM3bGFvMVg2OGUxd3JVTWJiczBtTTdPRXFtalkr?=
 =?utf-8?B?aXJDOVgrajFVam9nUlpqSHRUUlN6cjRzckdyT2ltSDFNdkZNZG5OUDZHS1M1?=
 =?utf-8?B?ZXpXa1Bkam8vN0Q5czRjWjNPLzdHMGNmdloyZnNobWJwa2p5U214R3N0ZnJx?=
 =?utf-8?B?K3lJZ2lLdXNnSDB1ZFpwY2hobzN2aDB0RmhydWU1ZTROZ2FUSTdmTm04N0Z4?=
 =?utf-8?B?dVBDMUpCUDRGSnhEVEEvNHJ4YzBOejRIWWFTWVV5ekowUU1FbStDM0JVUUsw?=
 =?utf-8?B?V2pEOHU2U0JzbkpVS3ZVc3p2UzhHU0Rtak90eDRicVZhSjNLMG10bGdQYmkw?=
 =?utf-8?B?U1RIamx3NFBrVy9xWm8rS09xOTgwUzVLdEJmMEd2VGJKS01wSzNLRlRkTnZV?=
 =?utf-8?B?ZFFlczlueXAxcldidWk0akt3b0ZSK09lZXhoa2Q0UkJSTmZJNjFJa3B6TThF?=
 =?utf-8?B?VUVHOXo4TWtCRFZ5d01pTzh2K29PeFJZcnozZXVkNFZuVVh6VkpIdUJyQzFG?=
 =?utf-8?B?S2JyakJ3UlFEdmpCR2Q4LzgrWlN5OHJmSTIvVE1iaDNpTWlQMW9ISmNUVEp1?=
 =?utf-8?B?VVZJUG1uNG1FRy9Sait5cGJXZHR4WU5FM0RQZVBjUkZqYWd3MHlTNDBoZk51?=
 =?utf-8?B?L2s3bUovcXMzaklqcHVmQlpYaE5GR1ROUnFYaGErY1k0YXowcGdHdVl5azJ6?=
 =?utf-8?B?UXFWT09GcVB5ZWs4ZGlvNm84NzdoVk1RRXVuM1BKMFM4U3BpNU9nRklLWXFD?=
 =?utf-8?B?WGF2ZUVNcnAwd1R2bFl5N0F2OERSS1lpSVpZTGE2b3BKK3AyMDdjT1JBTHht?=
 =?utf-8?B?SHVPTnMwT1E5bVpHa0N0cmg1NHhpNEVsKzRsbjl6WUVXczExZVNGMUNHSmhB?=
 =?utf-8?B?UFB6dlJxUjZ2VG0rT3ZNTVowcVJINVVGYk1yMVluUGhRQWwxa3RFbS9iQ0ZC?=
 =?utf-8?B?Vzd1SUVNWE0wZ3VRajR1dzVERTh1ckNCckF3ZEt6SFNnUFhnVjQwK21UV3Zm?=
 =?utf-8?B?TjFPbVRuL1pWMnlhVUg5Q3hrNWh4MHgwa2JSSkxlekN4V2p2TlVLSTBSQnl2?=
 =?utf-8?B?SnZsZ0FTMmFWK0xLbXJrM1dybENiR29KTkhKOXZxQ2tvT040c0gxYUgzWkRp?=
 =?utf-8?B?Sm9tQnpIWTBnYUJBNTFtdjBDOXlIR24zSHRUdzVjc0EwYlNBMXBLSXFTWmNK?=
 =?utf-8?B?TTZKRCtZczVEdTBsWGVoNUorSGZIVU9CN20zVkcrK3BUUWk4MVFjYktzRkZI?=
 =?utf-8?B?UnpoRjB5Qmd5RWtCcEVrWG40RjRlR2tvc2VPcERMNUJSTWppV0NPc0ltN1dQ?=
 =?utf-8?B?eGkxUzYvRWtrQTBRWlFyY3lZUTBFbWlCSWFrbGpISmZua3pkSlJZanloL1FT?=
 =?utf-8?B?ZCtVRHpYcHFWbmk4VDJJcEpKSXY0Vjk0aWFxbG9UamxKMUJ6R1NWMVdTU3pS?=
 =?utf-8?B?djhjZ1owQWZQcFVyM1J4NnZGdU51blFlZlNFUHMvVDRrZFJQODkrZk13K1hN?=
 =?utf-8?B?d0xnOC9hZ01pUURhOUJEanVtT2JiQm9NNHVPZHk0bE5wOVZuT3VWYnZKTGd1?=
 =?utf-8?B?Ukt3MmdDTU9oZ1hnV2RuRktuTUk5bmJMVDgvTWFOMXIveERMdjB4TU42Qlps?=
 =?utf-8?Q?yP+pHAMq2aE/zu0fEtOBeEn2K?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 986f6ae6-f606-4e94-bda6-08daddaba2c0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 08:17:26.7126
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7wFYGQ3b4q1w9HZgsaY0PfGSnLkcouAVT/ZoChii3NsIRiAmSWGTap2GJAWJxS4mxxXQ3fKPyJzK4YwaO0AbpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7096

On 13.12.2022 19:58, Krister Johansen wrote:
> On Tue, Dec 13, 2022 at 08:23:29AM +0100, Jan Beulich wrote:
>> On 12.12.2022 23:05, Krister Johansen wrote:
>>> On Mon, Dec 12, 2022 at 05:46:29PM +0100, Jan Beulich wrote:
>>>> On 12.12.2022 17:05, Krister Johansen wrote:
>>>>> Both the Intel SDM[4] and the Xen tsc documentation explain that marking
>>>>> a tsc as invariant means that it should be considered stable by the OS
>>>>> and is elibile to be used as a wall clock source.  The Xen documentation
>>>>> further clarifies that this is only reliable on HVM and PVH because PV
>>>>> cannot intercept a cpuid instruction.
>>>>
>>>> Without meaning to express a view on the argumentation as a whole, this
>>>> PV aspect is suspicious. Unless you open-code a use of the CPUID insn
>>>> in the kernel, all uses of CPUID are going to be processed by Xen by
>>>> virtue of the respective pvops hook. Documentation says what it says
>>>> for environments where this might not be the case.
>>>
>>> Thanks, appreciate the clarification here. Just restating this for my
>>> own understanding: your advice would be to drop this check below?
>>
>> No, I'm unconvinced of if/where this transformation is really appropriate.
> 
> Ah, I see.  You're saying that you're not convinced that this code
> should ever lower the priority of xen clocksource in favor of the tsc?
> If so, are you willing to say a bit more about what you find to be
> unconvincing?

With the not-for-PV justification not really applicable, the main question
is how else you mean to justify that aspect. Once limited back to HVM/PVH,
it may all be okay.

>> My comment was merely to indicate that the justification for ...
>>
>>>>> +	if (!(xen_hvm_domain() || xen_pvh_domain()))
>>>>> +		return 0;
>>
>> ... this isn't really correct.
> 
> The rationale for this bit of code was the justification that turns
> out to be incorrect.  That sounds to me like I have unnessary code,
> unless I was right by mistake?

The PV clock interface was specifically introduced because the TSC could
not be reliably used by PV domains. This may have been purely due to
limitations of the TSC at the time, so taking into account more modern
stability guarantees may make it okay to be used by PV as well. But
migration needs to be considered, and validity (for PV) of the deriving
of the two synthetic feature bits you use also needs to be checked (I
find X86_FEATURE_NONSTOP_TSC particularly interesting, because PV domains
don't really have any notion of "C states"). Note that e.g.
early_init_intel() derives the two bits from CPUID[80000007].EDX[8],
which is an opt-in feature for all guest types as per the present CPUID
policy logic in the hypervisor, but then goes on and sets
X86_FEATURE_NONSTOP_TSC_S3 (which you don't use in your patch, so just to
point out a possible pitfall) purely based on family/model information.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 08:21:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 08:21:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461812.719955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5N0z-0006sT-6f; Wed, 14 Dec 2022 08:21:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461812.719955; Wed, 14 Dec 2022 08:21:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5N0z-0006sM-3p; Wed, 14 Dec 2022 08:21:21 +0000
Received: by outflank-mailman (input) for mailman id 461812;
 Wed, 14 Dec 2022 08:21:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5N0x-0006sG-V1
 for xen-devel@lists.xen.org; Wed, 14 Dec 2022 08:21:20 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on2059.outbound.protection.outlook.com [40.107.6.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 48ab3f3f-7b88-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 09:21:18 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8038.eurprd04.prod.outlook.com (2603:10a6:20b:2aa::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 08:21:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 08:21:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48ab3f3f-7b88-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IA6hGzlWyVaga4UPmlHYaM2o8eMY3Fyahti+lIqcWkRpHL2dIoBtPq7ghMRzoM6+DY1qJ2mtf/rhnWYo7Y0PTW8rGGesbwIhVbJklxRXFPJsR8ijePWhsXHoPOFOx0rBXnOu7flc8R7Ac7zVFgQGAZM5y6VGLUtFQub0L6qGbR5P/y30PKu6l2YaRacjtTIdGgAOeVICbubvtQ5+g93KeHrVXYPyCM1WISYZ9N+/AgLbqOtsCRjfKLfcMUIMcdQ44CJkbYSpFbmNFRhYoXmbOmv6dLv72tKeaGN2lsMXzo/057Oj2mmXP7w83XGRZx6gKDfFqihcFyqLXJutpxvUeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VtrOIpBPAbPhSYUexI4OcRm1sUQ6R8q7F2TdUya+S7s=;
 b=ktJQmpPG27w3KmfEmMnngDI/T7m5f033222lStiCZzpGtaoYAqz8AO1gjnucAOyJwtCROdikinCtYH8i7LMcFe9fepiKMmezm24ejsxJMkz0SofzSJM+LgNLwXMd3ZFoHM/ghO09ljADzAbe7OAu+xQLet+CahapjbutmG9iqDxEpquM8Hdmu9cRwY7FjI9NW+6uGoWo87M8QIzCN+qEoCxZ0c2nYRoTxvMfS5XdUCTWn/bR26E4YA+AO1HuN5W6uLOSbIhswOS2YdH8pLZXtqAZK0SUNQkNN+oW+e4rf2a14JfaxMYuwKBytWodxDl5bUZ6EqlERH/7jDCjdHCQhA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VtrOIpBPAbPhSYUexI4OcRm1sUQ6R8q7F2TdUya+S7s=;
 b=k/bg4rpl52LC9UTMcCr5S7I9Wo3qz/1W3ljNGcyqBo8MgkcFu7Bdk0orTLqgfHVkXoN3LEWW0uh1aty86Z0HZj453Kt0d/ik3OiUAGt3hVSEFXJkTNqyNDQAU5Oug6BCsxgd58bHYIbfUIK8llHHv1fv/O/yUUmcDIAEPKCnfWDsx+J3JNba7qM3wf33jv9yggCigdqw/ksUHGWZr+hnK22bjW+qyu/uM7+zSZWu39zxJz0Zkkj0SWzrJOAPrxlqpwhmd5vGE5bdq8bKqt88Rt8u5U9wcQhq88ZvziRIiZ+VZhIVTFoJQRJHtNy0MP1/wdmweKPVL05XW8NRbku4Gg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <47096c1c-4b03-2e3d-c28b-c8920b7d31f9@suse.com>
Date: Wed, 14 Dec 2022 09:21:13 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH V10 0/3] toolstack support for generic virtio devices on
 Arm
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xen.org, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <cover.1670994930.git.viresh.kumar@linaro.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cover.1670994930.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0004.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8038:EE_
X-MS-Office365-Filtering-Correlation-Id: 68116aba-9876-4507-7ff3-08daddac2b2c
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rM9IikOSoPe5qCsSu5f3+m6iOn4GuCoPRQqhVDLPIWo2TM580tU1oBmTyQi1eYdM4XT9C0/1idULMsc62utOtFfL94PCw+tAmq/GrHbFCQLCTvKzHHbk/TeCvLdmsP8H15NSofWTS0HnbcW42sMacWWSq9HsMX5dNaCtHFSLP+tHlQg+/vOznUk/vqEe4vL2MIOP44iXWQxSoDc6+blcpVkGINp7aWlAfdVn5ptAiKb/BGCOtcUOg1C47nIv2CAflcKLFmE+cbd6KpYd52aBHl1e5yHEQDlKGi6RQBSO5UEFyKLZJrSihF0u9Bq7yBf9hiI06IUrnjHhQMtR+Id+XiHTar62ky+VVpdTIB0m4Pf1YbpBSQeEY3fYNsmFAPySiOZhoRKParVGWi28aAbyAZEhMolUbw+p99fDMlFYmuj+h54Fgk5BPdd3zKRIWf+erf7uArsRageZclAcZVvB4Cy7OZjJVaFbIf6Od/fD6Fur4ra09iQnUHgsml0bAQOuIBVCXfgA92q98aToWpn8p9oIiKIxXFndfnXsdHOwagkYRxTjSzwG3bLzVMrk2eTLGe6IPGsAiEyRe+LBZcW6WpUQEDHtQUXpodWUIhYqkrd64/5npUmA7BTK5CkelwPBzuLSKadRalGhN2Lux8wO0hGn4uE+O3UaV92DOwlta4D3q5f9bQEB9lVJ/gDrwyzVwrPGIA9f61NI10eHs5BoanA1DsXls3VWTSJzkddip20/mK10PpzQaGYLv4jzlH2d
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(396003)(39860400002)(366004)(346002)(136003)(451199015)(83380400001)(2616005)(31686004)(316002)(86362001)(31696002)(478600001)(54906003)(6916009)(36756003)(38100700002)(6506007)(53546011)(186003)(26005)(6512007)(7416002)(2906002)(4744005)(6486002)(8936002)(66946007)(5660300002)(41300700001)(8676002)(66556008)(66476007)(4326008)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z3NQbDJwdUFwMWRpM1VhZDlYMVBqN1FYeHZwWDh4amIyaUlWNmhzaE1ud2Vx?=
 =?utf-8?B?UENoR01IRmx4dlFKMkIvQ2VNL0lMMGZLWk80dExIa01xcFFKKzBOVFBjM0pF?=
 =?utf-8?B?aTN3MHhwQ1FrZzY5UmxQajEyUTlhWTBjb0d5RFJJdUtXM0RLbHpKcUl2WjRG?=
 =?utf-8?B?WndTNHJoL1UvOGlwYkFxMDlZNFA2Y2pna2J5bmNuSnI5aVpuQUpEVG4vQ3RK?=
 =?utf-8?B?dlAwc2Ztb3NXUzBGUDhXcXNBa0xpSmJ0TnNJOUdmbW82SllERFdYUXU4NndY?=
 =?utf-8?B?UFMyL1dFRXQvYmlBQ1NFcXg5SUpLbXVMWkpvREFPbk1ITUlOanA3N0ZJU2p3?=
 =?utf-8?B?Sk1SN2NTcWxkcHdWdk1zM0d0QVJJcjdxZGNieWh2RXZTTGhHajJqeTh6U3JG?=
 =?utf-8?B?Tkp1cllmYkJTKzhXd3Fsb2swYUhIMTlJS3paYlY0Z0ZNZnUzZFhmL3VqcjhL?=
 =?utf-8?B?YTkwNDl4NktrQjd2MnJrV0YvTUo0MkVoZjZWUkNrNHQ5MmEzL0VsN0VlY25l?=
 =?utf-8?B?Rk1ML1RSRHp3TmhKYy84TzdwbHlpTnp2U3hQTHdvQ1N4N0hwdk92OEV1R01O?=
 =?utf-8?B?UGlnRDNmUFBDMW5USDhsUWZrVCtoYTEvcitIWXBxRnNxRVlQSjcxTnVmbFlI?=
 =?utf-8?B?Rkw5cWNQMjlXaDYxdC90RGtaNlYzQnAxTERKZ1JLNG52R0d0RFFaekt3TVMw?=
 =?utf-8?B?cTA3L016TWgxTWVkNmxpa2JjL3pORjhhc2ppS2dxU3FTQXEwWllIa0NWZTZN?=
 =?utf-8?B?b2lWOE4rSkxya1p5dWhFeERMcGlmdHhUZVJpaldxb2hjSXZ3ejBNRXBCblZz?=
 =?utf-8?B?NmJSWGduR1FLSk5hcGJGRTFTcitleGpPcEZWWFlTbGs5dzQ3S3pabG42N3NR?=
 =?utf-8?B?Y3N1cHFwbW11TUxybEtsOVV0SU9QNHY5UEp4U2hJTVlwVTNpWndzS05aNGk3?=
 =?utf-8?B?eFNNY2QxMkg0SkxpNmd5eVI4V2hraVAySWlBWk8yTDBtblRobFFTK3Z3bVha?=
 =?utf-8?B?WFBZdWlwTm9wY2xiSllkQXArZVpuTUR5VVRIcW9GMzFTNlAvQmJtL2d2SVND?=
 =?utf-8?B?NGRweHdEaUtaM3FaL3J4bVdORVVSTm43MW80bUlIWHhjbERYN2FQTndvV09V?=
 =?utf-8?B?THAvMFplb204ZjBxYjBSTDlXcGg5QzBNNFl1MEZOZjd3cEtrTjFPcVdLZEtH?=
 =?utf-8?B?elV1SVVUWnpuV0VTKzZmWW05OUxPSmRtMVp0Zko3QXhFWnJMSWFuQ0NpODNQ?=
 =?utf-8?B?MmozS2NKaWYzOGZrbEF0UEI4dXZCSmpDb1dheGM3M1k5ZnFNUDIySndkRlhv?=
 =?utf-8?B?cGlkU1VGdDZPK3h5RW5vamN6TU52Wk1ZVi82aHo0aTJVZFpRd0JNR0RZbFVO?=
 =?utf-8?B?T0tVT0VsblNCTjdaWGNkMjdKdUxOVVdqVXF4cXo3cnZqV09pb1dMYzlFbWFB?=
 =?utf-8?B?ZStlNUxwNTM1Tk9PTFZzOWFGM2dqbDNHRkRqSytnQXZWSlRIalpnZ2ZHYmIy?=
 =?utf-8?B?Y2hyMGN4VThnYzBHVElrNll5d01qWFBhNU5zRThTWnY5NHR2em1wTWx3Snhp?=
 =?utf-8?B?cDB3WUloMEs0TFd5ZjJsRFAzbFYza1poNXYwUzhldlpMWENoT0w2VXZLMzVw?=
 =?utf-8?B?a0lpOHp6Y1RXZEUxVk9iQzBRVkVDUE5WWG82SDlzNEV4dm9zemhDcWtjTmZs?=
 =?utf-8?B?TW96amgwQTRjOWxKWnVHWDJXaFJEbnRRNkowRFZhL3FMK1ZpaVhOQmVoaHVI?=
 =?utf-8?B?UTFBeDJGSEc5UUpzSlpoYmRuaEhvdGtoZjZBN3IrYURmTHNmTlFBSDRUeU1z?=
 =?utf-8?B?Yy9hMVJUVW9sZmI2Q0U0bUdFbHgyUzRPLzFYa3ZxVm90c0VIQTdwdlE1dXdH?=
 =?utf-8?B?UHhwT0VPaHlPWXliWHhKZGJ0SG9VT1Vwajk5ZTEvcmV5SFZEQTI5OXA3OVgv?=
 =?utf-8?B?ME01WUJsb0s3SExyY0w0dmM0WmI5T2NuN3pMQ1A3QmwwbUlCS25HaU5SNDJZ?=
 =?utf-8?B?cnArWjc2a2VOWENsK2dSbVZnQUFJcmtiZ3l6cUxNOVI3RWZSL0lLVXE0SWxE?=
 =?utf-8?B?MW5nRUhBemxRM1RHK2pISU9UTllsOWkxcDdzdW44VmMzQmEwOEh6NUtKZGV3?=
 =?utf-8?Q?taSzYh54HTaP5jx3qapatoGoS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 68116aba-9876-4507-7ff3-08daddac2b2c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 08:21:15.5890
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OZH5TE2NbyPStTpfAmZegYnNrQMlKPkZQ+QZjwDa2BqiewKGuGygI40g8CSoT+1TCc2QKfD7eDhqR+/Q+t9lGA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8038

On 14.12.2022 06:19, Viresh Kumar wrote:
> This patchset adds toolstack support for I2C, GPIO and generic virtio devices.
> This is inspired from the work done by Oleksandr for the Disk device.
> 
> This is developed as part of Linaro's Project Stratos, where we are working
> towards Hypervisor agnostic Rust based backends [1].
> 
> This is based of Xen's master branch.
> 
> V9->V10:
> - Swap I2C/GPIO compatible strings, they were wrongly added earlier.
> - Arrange tags in timely order and add new ones.

The affected patch surely needed all tags to be dropped which weren't
explicitly indicated to remain valid across the bug fix.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 08:35:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 08:35:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461822.719972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5NEG-0000cF-Da; Wed, 14 Dec 2022 08:35:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461822.719972; Wed, 14 Dec 2022 08:35:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5NEG-0000c8-An; Wed, 14 Dec 2022 08:35:04 +0000
Received: by outflank-mailman (input) for mailman id 461822;
 Wed, 14 Dec 2022 08:35:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XtkE=4M=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p5NEE-0000c2-7o
 for xen-devel@lists.xen.org; Wed, 14 Dec 2022 08:35:02 +0000
Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com
 [2607:f8b0:4864:20::102a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 321a866a-7b8a-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 09:35:00 +0100 (CET)
Received: by mail-pj1-x102a.google.com with SMTP id
 b13-20020a17090a5a0d00b0021906102d05so6285972pjd.5
 for <xen-devel@lists.xen.org>; Wed, 14 Dec 2022 00:35:00 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 l7-20020a170903244700b001894198d0ebsm1292876pls.24.2022.12.14.00.34.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 14 Dec 2022 00:34:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 321a866a-7b8a-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=5dD4K7AQVtDAjY15Gtjb7ofH/CVZuAINSvT3316FNi4=;
        b=BrDtn5iQ3f/JOkUastnS/tunE4BT5FU4S4S/KYW+v4IxotyTR1oKhBIiouwfa1mjw4
         Q/o/zyGZwg3TI+U+UjdWen4rUvDODw7ST9ICkbkewhlNQlvS1BWGApenaLsw4kggI7aE
         mIgncPUOg3tT3qsVRfUYvQSRmLwHvaPiC8ueCMAnJUMjiZbN/oWXvioN9eaeLr5/MXos
         J1IdAimUZbenwK7CwU0Q9xQcD0GVlBilQ5KDlv+FgS9Qa60hN5BLhhl0L7nrNxtQuZde
         z/UHo7Xh2gFIdSmHVr7oOcyrzbUus+Ye/+WqA2f/zVtyq96OYHxl0V1/ntf6gYwIdBGK
         0aew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5dD4K7AQVtDAjY15Gtjb7ofH/CVZuAINSvT3316FNi4=;
        b=EDOP4bTL096slvxYCjarENYjPsoa8gAyHDevhXaCn8+2k6Q98ma0ielD3ZbeNs0Pbj
         r/G0G+nr7xvI0WMaoba0AvYop14OtWi7MOCZX1JSCqmZYbdFHysOC88Gf15DJMAXT1z9
         kF5xq52KJHRG2DrnDXdcOCLWuoH3RWkX4wNuIybOcBqGyrpxkDtC7PGsv7Tz3RwJhISb
         UWGM6x5uS2VsMb3WPfrOHx1uYawuvbIHuF/MyPHENGN/32TS5uJE22ti+MijLGi2jsYW
         C/aMArzcHj9htMu4onD842UyOJDSkfoNjRcP9yG2+YzpcXo/LmpQblgrM9T1kNBFmHCG
         w4DA==
X-Gm-Message-State: ANoB5pnwh1p8vsdqDDW7J1T0KJ0+h9MT4abyzJf/PuOYCdwcr5mXLaSY
	qjsea0yx/GEG8Bdr7GirzTgtPQ==
X-Google-Smtp-Source: AA0mqf4BQyh9yi2jBgR4tS4mzRyI+uycrogrPI/fm2Vo4xy0hXA1xGXDv6f2DSSKYGQaBf7+Mr79wg==
X-Received: by 2002:a17:902:b60f:b0:188:a6ea:279f with SMTP id b15-20020a170902b60f00b00188a6ea279fmr27730803pls.12.1671006898933;
        Wed, 14 Dec 2022 00:34:58 -0800 (PST)
Date: Wed, 14 Dec 2022 14:04:56 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xen.org, Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>
Subject: Re: [PATCH V10 0/3] toolstack support for generic virtio devices on
 Arm
Message-ID: <20221214083456.4w6raz7wop3ajtve@vireshk-i7>
References: <cover.1670994930.git.viresh.kumar@linaro.org>
 <47096c1c-4b03-2e3d-c28b-c8920b7d31f9@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <47096c1c-4b03-2e3d-c28b-c8920b7d31f9@suse.com>

On 14-12-22, 09:21, Jan Beulich wrote:
> On 14.12.2022 06:19, Viresh Kumar wrote:
> > This patchset adds toolstack support for I2C, GPIO and generic virtio devices.
> > This is inspired from the work done by Oleksandr for the Disk device.
> > 
> > This is developed as part of Linaro's Project Stratos, where we are working
> > towards Hypervisor agnostic Rust based backends [1].
> > 
> > This is based of Xen's master branch.
> > 
> > V9->V10:
> > - Swap I2C/GPIO compatible strings, they were wrongly added earlier.
> > - Arrange tags in timely order and add new ones.
> 
> The affected patch surely needed all tags to be dropped which weren't
> explicitly indicated to remain valid across the bug fix.

Hmm, since it was a very small change (only fixed the compatible
strings) I thought it would be okay to carry the tags and rather harsh
to the reviewers to drop them, since they invested a lot of time
reviewing these. Though I do get what you are suggesting here.

Should I ask Oleksandr / Anthony to provide their tags for patch 1/3
again ?

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 09:01:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 09:01:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461832.719983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5NdV-0004OU-CH; Wed, 14 Dec 2022 09:01:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461832.719983; Wed, 14 Dec 2022 09:01:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5NdV-0004ON-9D; Wed, 14 Dec 2022 09:01:09 +0000
Received: by outflank-mailman (input) for mailman id 461832;
 Wed, 14 Dec 2022 09:01:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Q88x=4M=citrix.com=prvs=340486590=lin.liu@srs-se1.protection.inumbo.net>)
 id 1p5NdS-0004OH-ML
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 09:01:07 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4acccdc-7b8d-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 10:01:02 +0100 (CET)
Received: from mail-mw2nam04lp2176.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Dec 2022 04:00:50 -0500
Received: from SJ0PR03MB5405.namprd03.prod.outlook.com (2603:10b6:a03:286::9)
 by PH0PR03MB5861.namprd03.prod.outlook.com (2603:10b6:510:3a::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 09:00:40 +0000
Received: from SJ0PR03MB5405.namprd03.prod.outlook.com
 ([fe80::c828:7473:2c2d:e91d]) by SJ0PR03MB5405.namprd03.prod.outlook.com
 ([fe80::c828:7473:2c2d:e91d%7]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 09:00:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4acccdc-7b8d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671008462;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:mime-version;
  bh=wTg6JCRa/pciIgm9N2EzDTRmDKRl6qFw6f/+hfXlLOI=;
  b=KH0DWZ5Blc9GuSYulj+5kltE+NzK2Lh8vHpda1/qFceAOPOQwJVfS05s
   +kt0mcciqkbpL2iivbMlIxJIo4iShztxU/McO6AKRd+/5fV2r6uCl66Fo
   cT52ht3731GJ2jCn4TFjaRunxMkbzaZ4kUJW/hIo5HKU0EnAWvNXDfuc8
   s=;
X-IronPort-RemoteIP: 104.47.73.176
X-IronPort-MID: 87271278
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:DSEqCasQDznVk0lfTRMLtSJonOfnVLRfMUV32f8akzHdYApBsoF/q
 tZmKTyAaPbfMGD1ctF3atu1oElV6peEn4NqTlZs/ng1RCwU+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWHyyFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwKzAvUBqCl72M3a/lEesvvZotE9fiI9ZK0p1g5Wmx4fcOZ7nmG/mPwOACmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0oui/60b4S9lt+iHK25mm6cp
 2SA+2XkKhobKMae2XyO9XfEaurnzXyhB9tIS+3QGvhCrASM/EMsOkMqbnCAjv7hrn6ceMBZN
 BlBksYphe1onKCxdfHiUhz+q36JuDYVQd8WGOo/gCmdx6yR7wuHC2wsSj9adMdgpMIwXSYt1
 FKCg5XuHzMHmLuZYXuH8/GfqjbaESofIHIGZCQEZRAY+NSlq4Y25jrQSv5zHajzicf6cRny3
 jSLoS4Wl7gVy8kR2M2T5kvbijihopzISA8d5QjNWG+hqARja+aYi5eA7FHa6bNFM9yfR1zZ4
 HwcwZHBsqYJEI2HkzGLTKMVBra16v2ZMTrax1lyA50m8Dfr8HmmFWxN3AxDyI5SGp5sUVfUj
 IX74F05CEN7VJdyUZJKXg==
IronPort-HdrOrdr: A9a23:7LdQ8qiv7t92aIBAParZmUWWLnBQX5913DAbv31ZSRFFG/Fw9v
 re6cjzsCWe5gr5N0tBpTn+Atj9fZqxz/9ICOoqTMSftXfdyQmVxehZhOOJ/9SKIVycygcy79
 YET0B0YOeAcmST5azBjDVReLwbr+VuP8qT6Nv2/jNVaUVPVokl1gF+D2+gYz9LrMstP+tGKH
 JZjPA31wZJvB4sH7WG7wI+Loz+juyOrovifRkFQzY/8WC1/EqVwY+/KQGcwhAdFxhSwbIumF
 K17jDR1+GYqvSmzR2Z8GfW4/1t6bzc4+oGPtWIls8WbhPzjQqyDb4RPYGqjXQOueSy71Rvqv
 ngyi1QR/hb2jfqZ2Sophmo4QX6zzo0zHfnxTaj8ADeiP28fis+F81Cwb1UaQHY7U1IhqAH7J
 52
X-IronPort-AV: E=Sophos;i="5.96,243,1665460800"; 
   d="scan'208,217";a="87271278"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dejUn/tulM4OCDXCVYbgyUTTbQNy3CADTSMLd7yy5R01BmCnRAYgesld3+6doPdBHv1JvLLKHGP8Cd6gC+KUUGnKPpF5yEUqbeCW+8V7bNqWNgHI6dsS0Tvpl03Q5qo8RXebn4Zok4mNNpBmeY/64KeO569rUEcqsFDtB1sZPjQ2jbyrTs5HTFiOvpq80/owlyIWaM9yzwS8NuT07Scb4SN+EjfmXOR9ZRayppEHGwzl1jmBJG+Z0YYQfnX8R4jotTTOdxwPJPud5eWZeXD9uIGATdONOG0w4/pfHdIY6+ji2XIg2y7uCvLkJ2co6dOdq7sZ6JYrygOfc6sdp2KgqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ByagYlcFB4roTrhEfZnCzeiNY86VPPsmoKYSmyI/mEY=;
 b=d7yZFVdimv7MBargvG0EevjxZkOWCBwpg+d2X8LNCRKB7VEK5zjednfFjOhEIsMwn88PGMvJaH+R7uNAHPaDBCr+WIBo8tEKHWmYhJTfkw10gunlE76NrFIJVS3JaH6Yfq67CATZwBgH2u/7HONtP7ixJeN2sNfupr+AUXYStLLeUHq+X+nUiLuaeqj5ZsMmsgOAAJeN/fVnPv7yviPRwWQIJKWbNImhPklfUunLC4CSkCWxnCDu+IHflBDyk3HqCez9FpCgS7P+po9bhw1/Xi+sMNteQ5zGqG7u+nIIBqIitog+gOZdDc7mQdkCtoAcSx00OFKfuMEquOKTTTFqeQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ByagYlcFB4roTrhEfZnCzeiNY86VPPsmoKYSmyI/mEY=;
 b=ePVQXxuHCy0BARiB94ze9GfBeiQztRim5Y8FSDqOaaM2syBVu6WUQKzjQok+3yi2zT3jDJ5p81nMgsApXKtbbYBLBIfltKEpp8xor6nL0azbxBOv3XfgIhOxuseP1LqSRfrQeh5Xq3T3Bq/9Vt4tvI2b2IM4GRcPqcIWzlVZ2k8=
From: =?gb2312?B?TGluIExpdSCjqMH1wdajqQ==?= <lin.liu@citrix.com>
To: Wei Chen <wei.chen@arm.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "nd@arm.com" <nd@arm.com>, Wei Chen <wei.chen@arm.com>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <Andrew.Cooper3@citrix.com>, Roger Pau
 Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>
Subject: Re: [PATCH v9 0/6] Device tree based NUMA support for Arm - Part#2
Thread-Topic: [PATCH v9 0/6] Device tree based NUMA support for Arm - Part#2
Thread-Index: AQHY+zr26xpL2OkKokmVDlMaE15KnK5tPmaV
Date: Wed, 14 Dec 2022 09:00:40 +0000
Message-ID:
 <SJ0PR03MB5405FBAFC3B531CD150E6C599DE09@SJ0PR03MB5405.namprd03.prod.outlook.com>
References: <20221118104508.768274-1-wei.chen@arm.com>
In-Reply-To: <20221118104508.768274-1-wei.chen@arm.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR03MB5405:EE_|PH0PR03MB5861:EE_
x-ms-office365-filtering-correlation-id: f25a8fb0-094c-4f98-9af6-08daddb1acdd
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Q4786ndGh064JFJAZf08JqlTt3yhoBT6bIPsneiiE9S7MEZVBsLRaA/TlUWtCY3IITcKt7PMEZRbCToOoOHrRUyoV8nZZeD221kY+XXXQy+wt242Nnliz3FSNcm6BmDw7A1n3cs5hjLuZ02r29qdvztP6t2e6YRhhXe4FpGv6dOX5ckrfXSAZXz4RrDV43mr+K5lDWl0K8iALm/UwUdP+4VAvxVQ/AalAbRCDa6TV+lCXi+VzTljjBO8LE9SjizwJRD4EnEmrdrW4Bn6B5sQlIjvWZRUsmA8lMS2/7wLagbDmoJrFZRx0HYLBFGbU6Fxjf3eIactULDG2OYyfY7NItU30npcxKzrBbiul+0a1vwH3rd9QtAXZvT4eHiNU/dZ0sSqafJNdTEvY/IDTNEOaA01w6nbMMtXc++Oxi1nxwOUkaXVj5GRYVEqxD8M40sVy/Z/x/8tbS4SOIiX7GmNL8277ceOr50treDIgJDm4y0jH+8lgI0kDYWuHUhhZs3qz4LEEuz6mMz1q1gOVrh2a+4ML3TkPAZzakl047llYdMkmiuLLF6bPv5xRmdgX24e6E5LPJMfPFaj4VpXfI+moExCa+lnvT4Zs1inC80QfHwKjZMRV2G4O0Zj88IleByYc/ZinK1gj5Cu1c5aUm00HNEYdEpHAa/pYl9zZjdHcST2EBRTrSA116GTy3RiRGupaxcjVbAMSML0KM/NlYpdxTNcsim5J4Ab1Xr27Ike3bEYFMpNEpUXmOw6jPcz9SKUldSsLTOxDzmt0SRE9g54Fw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB5405.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(346002)(136003)(396003)(376002)(451199015)(8936002)(52536014)(41300700001)(38070700005)(85182001)(38100700002)(316002)(54906003)(91956017)(4326008)(76116006)(66946007)(66556008)(8676002)(64756008)(66446008)(66476007)(166002)(33656002)(55016003)(82960400001)(110136005)(83380400001)(7416002)(30864003)(86362001)(5660300002)(122000001)(2906002)(4001150100001)(186003)(26005)(45080400002)(478600001)(9686003)(6506007)(7696005)(71200400001)(53546011)(966005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?dDBPcmh2ckpJZWVycFhkQm5uc0V3TjRNcTBYelFRb0VIQVpmSGtQcCthaEJp?=
 =?gb2312?B?bzhkSWFXbFlYNkIrMEY3ekZveThjcEltTWw1YjUxMGozVWM5YmxuNHF2YVB3?=
 =?gb2312?B?MW4wR3JFczZiUnZWeVFpdlM1bWNZQ2pxYmpoM2RuL0k2YWdrS1ZjN2FXQ2hp?=
 =?gb2312?B?dlZSeEVPblo2UGw4bUh5US9oUitJOUdGL2I0dmViSkxobldDM1FBT1BuNXh6?=
 =?gb2312?B?eTVIcjUvTm5Xd0pkdlg4UmJEZXB0NVRTTkk4dXRVV3V2NjY1RUJjTzZGRFFa?=
 =?gb2312?B?Z1RPdlQ4QWNIaEE5SHRNTzVuTnlKWTJwck5XbjJ3T3RKTThXendIaVpYQWJE?=
 =?gb2312?B?d2J2d3gwb2gwNjJZUjl0VXV0blR4ZEdOWFVZZWRoWUMva0hHR2xvaHlnaHVT?=
 =?gb2312?B?L0VnV2hpd0Z6TUt2UGYyV0FNOVV0Wmc4Vlo4WjlWNmpWZWNGU3dGcWV4UThM?=
 =?gb2312?B?TWVQb3NXcUFxNy9aRDRaZUw0WGxGVjBVN2Rqb0IveHNsMzBGa09KcW9IQkhz?=
 =?gb2312?B?dWV4SVkwWG9MRmRrbVlTWlU1VGhuNVdBTTVMYTJFZ01pMmlqWEpkL2hlQ0V5?=
 =?gb2312?B?aHdvSG02a1RLcGZwVXZZcS9wTHZ6ZWVNS09Qckh4UXBZMFJ1MWxCaWdJR1R6?=
 =?gb2312?B?WkU4K3hPdVhCV3dkbkJBMVkyTWp0a1oyK0pGMW5FaFpBWG82Q3FjODZrdzRv?=
 =?gb2312?B?MEpLNTk5YXM5ckc3azhtSjJseFRGUkNKRVFiMTJjZUw0UTRZRmkrWFFmR2Vi?=
 =?gb2312?B?UmJMNnV2M1lVekhvWVhDaDBLV29CaEcyYkg5MCtQL0ovSUZvdjJZNHdxeE14?=
 =?gb2312?B?djlybXN3ZmVpU2lzRytDRGJxM0hFM3J1VmttQlE5d1Z1bzMveVdFWDkwdXQz?=
 =?gb2312?B?c1ZmaG1zMEg2OUptSUlWYzFUS05oaDdkZ1I5b2hQSEJQWVdRck9YWGtkQmJq?=
 =?gb2312?B?OUM5YWZtYW1lbHRqRTdDYklDNXVCdkw1RjN2NkJFUlB0MzVuNmhFdVJESm5x?=
 =?gb2312?B?dTU4WnVlMVFBbmlpcXpQQVJtMXJnZ0ZTbkE3UzdvVVFkdmMvL0p3Qy9JTVBR?=
 =?gb2312?B?QVRlbWd5REJPRyt0SXRoZVpqQzlzazV1bkZnYUtsOUtIYWVuTkRtZEo3cjdJ?=
 =?gb2312?B?Q2hvUytnVTZqb1BuNUdLbXorUHFFRnVtd0hHY2JscjF3UlN3L3NNb2Y1K3NC?=
 =?gb2312?B?Q2owQUlSRHJBeWJVYkdYUTJYaDJvUUZpa2I3dUhmVVAyb2t5OTI5dkgraEZI?=
 =?gb2312?B?WjRLdkgxMlBBbHlQc2NZeGJYeXdFS3YyS2c1eTNXbVdJY0tLVE9mbkpzRmxo?=
 =?gb2312?B?RGJlM3FCaVZuNzJ2c212Y1NxQ01mUTRzNko0cTlEZjhQZkNYZFUrUzBBcUxQ?=
 =?gb2312?B?UkNpTlJsanozVHBORm5Jb3RYNmRIbnpYbmFNOFVEYnpoMjNPc0RmUmxPcHNR?=
 =?gb2312?B?U1BsUXdhQ2plNHgyVHRrYlNpYjVQVVo1emxwNkM3cXNwVEpxaFVNcW5JalFL?=
 =?gb2312?B?LzJGVHdTbDV4TEtnOHZ3amJ0NDR3RVhZYkVXZ2VhRS9zQ1RBZklpYWVuMUxl?=
 =?gb2312?B?VkZOQ2EranBneDNmeWFCdzRhRFd0WE4ybTVkamxYWUpRSXlReDVXWHBKTFdS?=
 =?gb2312?B?OVJCamlRRzVLRHBYUUlMVmppRGhyOCtrWEJDWHlDQkMrNEY0Ry9RSU1sL1RP?=
 =?gb2312?B?a21nUFdOQUMxWnMxK3YvM2dLTUVGOElZRncxb0lZT2JnWHo4UytiVU5sMnZB?=
 =?gb2312?B?bjM5TDdmMWloYjVPUER4UnZNeUpDRyt5eTFpd1ZjMG5Tc3J1Qm9zaTU5Y3lU?=
 =?gb2312?B?NVJQbjJrR21lZjI0VzhZSU15bzdqY1d1dmtFa21yZis4M1VRY1oyZGtOa1Vs?=
 =?gb2312?B?d0Y2RFlldTFmckJFdExGVmJkZTlUY1lCN2xvbWpobklQQmg5Vk5qV2FzVjdX?=
 =?gb2312?B?dGpNNVhXZzhRbGhLS1hGNWZDWTRNSVRsalc3VDB0cWpPU2RVd2ZoeEViWmRv?=
 =?gb2312?B?Qms2M1BMZG0xM2dZb04yRWs3MmxFendnT1pkeThkSHpmOFRvdlJRU2I2anRO?=
 =?gb2312?B?b21jTndoQnk2aE9kTmx5ZnNoekk5eWUvcVJMcWVwTm9vbDN4VTV0LzUyaDNj?=
 =?gb2312?Q?/+mw9NZm7lS42DKDGzUg9Hcj2?=
Content-Type: multipart/alternative;
	boundary="_000_SJ0PR03MB5405FBAFC3B531CD150E6C599DE09SJ0PR03MB5405namp_"
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB5405.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f25a8fb0-094c-4f98-9af6-08daddb1acdd
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Dec 2022 09:00:40.5188
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Cb1iy6xT5piJmBNJuc4dAMeO9ke2jcsjL040vYRWNF9ppxnInQ5//nDd7rSFenk5Htz33PZeW9sRUKnFMHugGQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5861

--_000_SJ0PR03MB5405FBAFC3B531CD150E6C599DE09SJ0PR03MB5405namp_
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64

SGkgV2VpLA0KT3VyIGludGVybmFsIHJlZ3Jlc3Npb24gdGVzdGluZyBkZXRlY3RlZCBhIHBhbmlj
IHJlY2VudGx5Lg0KQ291bGQgeW91IHBsZWFzZSBoZWxwIHRvIHZlcmlmeSB3aGV0aGVyIGl0IGlz
IGludHJvZHVjZWQgYnkgdGhlc2UgcGF0Y2ggc2VyaWVzPw0KDQpUaGFua3MgZm9yIHlvdXIgaGVs
cCENCkJlc3QgUmVnYXJkcyENCkxpbg0KDQpbMjAyMi0xMi0xMyAwMDoyOToyNSBVVENdIChYRU4p
IFswMDAwMDAzODE3MGI5YjA0XSBTeXN0ZW0gUkFNOiA0OTEzOU1CICg1MDMxODQyOGtCKQ0KWzIw
MjItMTItMTMgMDA6Mjk6MjUgVVRDXSAoWEVOKSBbMDAwMDAwMzgxZjFlYWE4OF0gTlVNQTogTm9k
ZSAxIFBYTSAyIFswMDAwMDAwMDAwMDAwMDAwLCAwMDAwMDAwMGJmZmZmZmZmXQ0KWzIwMjItMTIt
MTMgMDA6Mjk6MjUgVVRDXSAoWEVOKSBbMDAwMDAwMzgyMDIyM2Y3Y10gTlVNQTogTm9kZSAxIFBY
TSAyIFswMDAwMDAwMTAwMDAwMDAwLCAwMDAwMDAwNjNmZmZmZmZmXQ0KWzIwMjItMTItMTMgMDA6
Mjk6MjUgVVRDXSAoWEVOKSBbMDAwMDAwMzgyMTI1ZGIyYV0gTlVNQTogTm9kZSAwIFBYTSAxIFsw
MDAwMDAwNjQwMDAwMDAwLCAwMDAwMDAwYzNmZmZmZmZmXQ0KWzIwMjItMTItMTMgMDA6Mjk6MjUg
VVRDXSAoWEVOKSBbMDAwMDAwMzgyMjI5NmI0YV0gTlVNQTogVXNpbmcgMTggZm9yIHRoZSBoYXNo
IHNoaWZ0DQpbMjAyMi0xMi0xMyAwMDoyOToyNSBVVENdIChYRU4pIFswMDAwMDAzODM4YmM5NGU2
XSBEb21haW4gaGVhcCBpbml0aWFsaXNlZCBETUEgd2lkdGggMzIgYml0cw0KWzIwMjItMTItMTMg
MDA6Mjk6MjUgVVRDXSAoWEVOKSBbMDAwMDAwMzgzOWQzYmM2ZF0gQXNzZXJ0aW9uICduaWQgPCBN
QVhfTlVNTk9ERVMgJiYgbm9kZV9kYXRhW25pZF0ubm9kZV9zcGFubmVkX3BhZ2VzJyBmYWlsZWQg
YXQgLi4vaW5jbHVkZS94ZW4vbnVtYS5oOjc2DQpbMjAyMi0xMi0xMyAwMDoyOToyNSBVVENdIChY
RU4pIFswMDAwMDAzODNiNmMxMjdhXSAtLS0tWyBYZW4tNC4xOC4wLTEwLjM2LWQgIHg4Nl82NCAg
ZGVidWc9eSAgTm90IHRhaW50ZWQgXS0tLS0NClsyMDIyLTEyLTEzIDAwOjI5OjI1IFVUQ10gKFhF
TikgWzAwMDAwMDM4M2M3Zjg4YWRdIENQVTogICAgMA0KWzIwMjItMTItMTMgMDA6Mjk6MjUgVVRD
XSAoWEVOKSBbMDAwMDAwMzgzY2YxOGQzZl0gUklQOiAgICBlMDA4Ols8ZmZmZjgyZDA0MDQ1NmU0
Mz5dIHBhZ2luZ19pbml0KzB4MWNkLzB4OTI2DQpbMjAyMi0xMi0xMyAwMDoyOToyNSBVVENdIChY
RU4pIFswMDAwMDAzODNkZmI2ODExXSBSRkxBR1M6IDAwMDAwMDAwMDAwMTAwODYgICBDT05URVhU
OiBoeXBlcnZpc29yDQpbMjAyMi0xMi0xMyAwMDoyOToyNSBVVENdIChYRU4pIFswMDAwMDAzODNl
ZTI5MzZkXSByYXg6IDAwMDAwMDAwMDAwMDAwZmYgICByYng6IDAwMDAwMDAwMDA2M2Y4MDAgICBy
Y3g6IDAwMDAwMDAwMDAwMDAwMTINClsyMDIyLTEyLTEzIDAwOjI5OjI1IFVUQ10gKFhFTikgWzAw
MDAwMDM4NDAxMjZmOGRdIHJkeDogZmZmZjgyZDA0MDM5ZDA0MCAgIHJzaTogMDAwMDAwMDAwMDAw
MDBmZiAgIHJkaTogZmZmZjgyODAwMDYwMDAwMA0KWzIwMjItMTItMTMgMDA6Mjk6MjUgVVRDXSAo
WEVOKSBbMDAwMDAwMzg0MTQyNmYxN10gcmJwOiBmZmZmODJkMDQwNDZmZGI4ICAgcnNwOiBmZmZm
ODJkMDQwNDZmZDM4ICAgcjg6ICBmZmZmODI4MDAwNDAwMDAwDQpbMjAyMi0xMi0xMyAwMDoyOToy
NSBVVENdIChYRU4pIFswMDAwMDAzODQyNzI0OTQ1XSByOTogIDAwMDAwMDAwMDAwMDAwMDAgICBy
MTA6IDAwMDAwMDAwMDAwMDAwMDAgICByMTE6IDAwMDAwMGZmZmZmZmZmZmYNClsyMDIyLTEyLTEz
IDAwOjI5OjI1IFVUQ10gKFhFTikgWzAwMDAwMDM4NDNhMjNiMGRdIHIxMjogZmZmZjgyODAwMDQw
MDAwMCAgIHIxMzogZmZmZjgyZDA0MDRlMjAwMCAgIHIxNDogMDAwMDAwMDdjN2ZmZmZmZg0KWzIw
MjItMTItMTMgMDA6Mjk6MjUgVVRDXSAoWEVOKSBbMDAwMDAwMzg0NGQyMjJmN10gcjE1OiBmZmZm
ODMwMDAwMDAwMDAwICAgY3IwOiAwMDAwMDAwMDgwMDUwMDMzICAgY3I0OiAwMDAwMDAwMDAwMDAw
MGEwDQpbMjAyMi0xMi0xMyAwMDoyOToyNSBVVENdIChYRU4pIFswMDAwMDAzODQ2MDIyM2RhXSBj
cjM6IDAwMDAwMDAwYmVlZTIwMDAgICBjcjI6IDAwMDAwMDAwMDAwMDAwMDANClsyMDIyLTEyLTEz
IDAwOjI5OjI1IFVUQ10gKFhFTikgWzAwMDAwMDM4NDZlNjBhNWFdIGZzYjogMDAwMDAwMDAwMDAw
MDAwMCAgIGdzYjogMDAwMDAwMDAwMDAwMDAwMCAgIGdzczogMDAwMDAwMDAwMDAwMDAwMA0KWzIw
MjItMTItMTMgMDA6Mjk6MjUgVVRDXSAoWEVOKSBbMDAwMDAwMzg0ODE1ZmY5N10gZHM6IDAwMDAg
ICBlczogMDAwMCAgIGZzOiAwMDAwICAgZ3M6IDAwMDAgICBzczogMDAwMCAgIGNzOiBlMDA4DQpb
MjAyMi0xMi0xMyAwMDoyOToyNSBVVENdIChYRU4pIFswMDAwMDAzODQ5MzJlZmU5XSBYZW4gY29k
ZSBhcm91bmQ0NTZlNDM+IChwYWdpbmdfaW5pdCsweDFjZC8weDkyNik6DQpbMjAyMi0xMi0xMyAw
MDoyOToyNSBVVENdIChYRU4pIFswMDAwMDAzODRhNDk3OGQwXSAgMDAgZTkgMjIgMDMgMDAgMDAg
MGYgMGIgPDBmPiAwYiA0YyA4YiA2NSBiOCA0OSBjMSBlYyAwMyBiYiAwMCAwMCAwMCAwMCA0Yw0K
WzIwMjItMTItMTMgMDA6Mjk6MjUgVVRDXSAoWEVOKSBbMDAwMDAwMzg0Yjg5M2JkMl0gWGVuIHN0
YWNrIHRyYWNlIGZyb20gcnNwPWZmZmY4MmQwNDA0NmZkMzg6DQpbMjAyMi0xMi0xMyAwMDoyOToy
NSBVVENdIChYRU4pIFswMDAwMDAzODRjNjNiMzk3XSAgICAwMDAwMDAwMDA2MjAwMDAwIDAwMDAw
MDAwMDAwMDAwMDAgZmZmZjgzMGMzNjc0MDAwMCAwMDAwMDAwMDAwMDAwMDMxDQpbMjAyMi0xMi0x
MyAwMDoyOToyNSBVVENdIChYRU4pIFswMDAwMDAzODRkOTZkMDdmXSAgICBmZmZmODAwMDAwNDAw
MDAwIGZmZmY4MzBjMzY3MzYwMDAgMDAwMjAwMDA0MDRlNTljMCAwMDAwMDAwMDAwNDAwMDAwDQpb
MjAyMi0xMi0xMyAwMDoyOToyNSBVVENdIChYRU4pIFswMDAwMDAzODRlYzllOWJmXSAgICBmZmZm
ODMwYzM2NzM2MDE4IDAwMDAwMDAwMDAwMDAwMDMgMDAwMDAwMDAwMGMzNjczNiAwMDAwMDAwMDAw
YzNmZmZmDQpbMjAyMi0xMi0xMyAwMDoyOToyNiBVVENdIChYRU4pIFswMDAwMDAzODRmZmNlYzdm
XSAgICAwMDAwMDAwMDAwMDA3N2UwIDAwMDAwMDAwMDAwMDAwMDIgMDAwMDAwMDAwMDgwMDE2MyBm
ZmZmODMwMDAwMDg3ZmIwDQpbMjAyMi0xMi0xMyAwMDoyOToyNiBVVENdIChYRU4pIFswMDAwMDAz
ODUxMzAxMTg5XSAgICBmZmZmODJkMDQwNDZmZWU4IGZmZmY4MmQwNDA0NWJjOTcgMDA0NzdiMDAw
MDAwMDAwMCBmZmZmODMwMDAwMDg3ZjEwDQpbMjAyMi0xMi0xMyAwMDoyOToyNiBVVENdIChYRU4p
IFswMDAwMDAzODUyNjMxZjRhXSAgICAwMDAwMDAwMDAwYzQwMDAwIDAwMDAwMDAwMDFhNDBmZmYg
ZmZmZjgyZDA0MDQ2ZmVmOCAwMDAwMDAwMDAxYTQwMDAwDQpbMjAyMi0xMi0xMyAwMDoyOToyNiBV
VENdIChYRU4pIFswMDAwMDAzODUzOTYzZjg5XSAgICAwMDAwMDAwMDAwMTAwMDAwIDAwMDAwMDAw
MDAwMDAwMDAgMDAwMDAwMDAwMDAwMDFmZiBmZmZmODMwMDAwMDg3ZmIwDQpbMjAyMi0xMi0xMyAw
MDoyOToyNiBVVENdIChYRU4pIFswMDAwMDAzODU0Yzk1NjRhXSAgICBmZmZmODMwYzM2NzM4MDAw
IGZmZmY4MzAwMDAwODdmMDEgMDAwMDAwMDEwMDAwMDAwMCBmZmZmODMwMDAwMDg3ZmIwDQpbMjAy
Mi0xMi0xMyAwMDoyOToyNiBVVENdIChYRU4pIFswMDAwMDAzODU1ZmM2YTQ3XSAgICBmZmZmODMw
MDAwMDg3YzEwIGZmZmY4MzAwMDAwODdmMTAgMDA0NDA3NGQwMDQ2ZmU2YyAwMDQ0MGQxYjAwMDg3
ZmEyDQpbMjAyMi0xMi0xMyAwMDoyOToyNiBVVENdIChYRU4pIFswMDAwMDAzODU3MzYyNjdhXSAg
ICA2ODJkMGQxYzAwNDQwNGJmIDAwNDQwZDE5MDAwMDAwMDAgMDA0NmZlOTgwMDA4N2ZhOCAwMDA4
N2ZhODAwNDQwN2MzDQpbMjAyMi0xMi0xMyAwMDoyOToyNiBVVENdIChYRU4pIFswMDAwMDAzODU4
Njk1MDQ5XSAgICAwMDAwMDAwNDAwNDQwZDE1IDAwNDZmZWIwMDAwODdmMDEgMDAwMDAwMDgwMDAw
MDAwMCAwMDAwMDAwMTAwMDAwMDZlDQpbMjAyMi0xMi0xMyAwMDoyOToyNiBVVENdIChYRU4pIFsw
MDAwMDAzODU5OWM1ZDJmXSAgICAwMDAwMDAwMDAwMDAwMDAzIDAwMDAwMDAwMDAwMDAyZjggZmZm
ZjgyZDA0MDYyOTAwMCBmZmZmODJkMDQwNTI5MDAwDQpbMjAyMi0xMi0xMyAwMDoyOToyNiBVVENd
IChYRU4pIFswMDAwMDAzODVhY2Y3OWFlXSAgICAwMDAwMDAwMDAwMDAwMDAyIDAwMDAwMDAwMDAw
MDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwDQpbMjAyMi0xMi0xMyAwMDoy
OToyNiBVVENdIChYRU4pIFswMDAwMDAzODVjMDI4ZTE3XSAgICAwMDAwMDAwMDAwMDAwMDAwIDAw
MDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCBmZmZmODJkMDQwMjA0MzQ0DQpbMjAyMi0x
Mi0xMyAwMDoyOToyNiBVVENdIChYRU4pIFswMDAwMDAzODVkMzVhOGM1XSAgICAwMDAwMDAwMDAw
MDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAw
DQpbMjAyMi0xMi0xMyAwMDoyOToyNiBVVENdIChYRU4pIFswMDAwMDAzODVlNjhiZWZjXSAgICAw
MDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAw
MDAwMDAwMDAwDQpbMjAyMi0xMi0xMyAwMDoyOToyNiBVVENdIChYRU4pIFswMDAwMDAzODVmOWJj
Y2QyXSAgICAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAw
MCAwMDAwMDAwMDAwMDAwMDAwDQpbMjAyMi0xMi0xMyAwMDoyOToyNiBVVENdIChYRU4pIFswMDAw
MDAzODYwY2VmMDA1XSAgICAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAwMDAgMDAwMDAw
MDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwDQpbMjAyMi0xMi0xMyAwMDoyOToyNiBVVENdIChY
RU4pIFswMDAwMDAzODYyMDFmOTdmXSAgICAwMDAwMDAwMDAwMDAwMDAwIDAwMDAwMDAwMDAwMDAw
MDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwDQpbMjAyMi0xMi0xMyAwMDoyOToy
NiBVVENdIChYRU4pIFswMDAwMDAzODYzMzUxYTlmXSAgICAwMDAwMDAwMDAwMDAwMDAwIDAwMDAw
MDAwMDAwMDAwMDAgMDAwMDAwMDAwMDAwMDAwMCAwMDAwMDAwMDAwMDAwMDAwDQpbMjAyMi0xMi0x
MyAwMDoyOToyNiBVVENdIChYRU4pIFswMDAwMDAzODY0NjgyYTlhXSBYZW4gY2FsbCB0cmFjZToN
ClsyMDIyLTEyLTEzIDAwOjI5OjI2IFVUQ10gKFhFTikgWzAwMDAwMDM4NjRlZDIzZGZdICAgIFs8
ZmZmZjgyZDA0MDQ1NmU0Mz5dIFIgcGFnaW5nX2luaXQrMHgxY2QvMHg5MjYNClsyMDIyLTEyLTEz
IDAwOjI5OjI2IFVUQ10gKFhFTikgWzAwMDAwMDM4NjVkZGJiNGRdICAgIFs8ZmZmZjgyZDA0MDQ1
YmM5Nz5dIEYgX19zdGFydF94ZW4rMHgxOWY3LzB4MjczOA0KWzIwMjItMTItMTMgMDA6Mjk6MjYg
VVRDXSAoWEVOKSBbMDAwMDAwMzg2NmQ0YjZiN10gICAgWzxmZmZmODJkMDQwMjA0MzQ0Pl0gRiBf
X2hpZ2hfc3RhcnQrMHg5NC8weGEwDQpbMjAyMi0xMi0xMyAwMDoyOToyNiBVVENdIChYRU4pIFsw
MDAwMDAzODY3YzIyOGI0XQ0KWzIwMjItMTItMTMgMDA6Mjk6MjYgVVRDXSAoWEVOKSBbMDAwMDAw
Mzg2ODE3OWU5N10NClsyMDIyLTEyLTEzIDAwOjI5OjI2IFVUQ10gKFhFTikgWzAwMDAwMDM4Njg2
ZDE5YjddICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNClsyMDIyLTEy
LTEzIDAwOjI5OjI2IFVUQ10gKFhFTikgWzAwMDAwMDM4Njk0MTMyNDVdIFBhbmljIG9uIENQVSAw
Og0KWzIwMjItMTItMTMgMDA6Mjk6MjYgVVRDXSAoWEVOKSBbMDAwMDAwMzg2OWM2Mzk2N10gQXNz
ZXJ0aW9uICduaWQgPCBNQVhfTlVNTk9ERVMgJiYgbm9kZV9kYXRhW25pZF0ubm9kZV9zcGFubmVk
X3BhZ2VzJyBmYWlsZWQgYXQgLi4vaW5jbHVkZS94ZW4vbnVtYS5oOjc2DQpbMjAyMi0xMi0xMyAw
MDoyOToyNiBVVENdIChYRU4pIFswMDAwMDAzODZiNWU5NzMzXSAqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqDQpbMjAyMi0xMi0xMyAwMDoyOToyNiBVVENdIChYRU4pIFsw
MDAwMDAzODZjMzJhOTJiXQ0KWzIwMjItMTItMTMgMDA6Mjk6MjYgVVRDXSAoWEVOKSBbMDAwMDAw
Mzg2Yzg4MjU3NF0gUmVib290IGluIGZpdmUgc2Vjb25kcy4uLg0KDQoNCg0KRnJvbTogWGVuLWRl
dmVsIDx4ZW4tZGV2ZWwtYm91bmNlc0BsaXN0cy54ZW5wcm9qZWN0Lm9yZz4gb24gYmVoYWxmIG9m
IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPg0KRGF0ZTogRnJpZGF5LCBOb3ZlbWJlciAxOCwg
MjAyMiBhdCA2OjQ2IFBNDQpUbzogeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnIDx4ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmc+DQpDYzogbmRAYXJtLmNvbSA8bmRAYXJtLmNvbT4s
IFdlaSBDaGVuIDx3ZWkuY2hlbkBhcm0uY29tPiwgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPiwgQW5kcmV3IENvb3BlciA8QW5kcmV3LkNvb3BlcjNAY2l0cml4LmNvbT4sIFJvZ2VyIFBh
dSBNb25uZSA8cm9nZXIucGF1QGNpdHJpeC5jb20+LCBXZWkgTGl1IDx3bEB4ZW4ub3JnPiwgR2Vv
cmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBjaXRyaXguY29tPiwgSnVsaWVuIEdyYWxsIDxqdWxp
ZW5AeGVuLm9yZz4sIFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4N
ClN1YmplY3Q6IFtQQVRDSCB2OSAwLzZdIERldmljZSB0cmVlIGJhc2VkIE5VTUEgc3VwcG9ydCBm
b3IgQXJtIC0gUGFydCMyDQooVGhlIEFybSBkZXZpY2UgdHJlZSBiYXNlZCBOVU1BIHN1cHBvcnQg
cGF0Y2ggc2V0IGNvbnRhaW5zIDM1DQpwYXRjaGVzLiBJbiBvcmRlciB0byBtYWtlIHN0dWZmIGVh
c2llciBmb3IgcmV2aWV3ZXJzLCBJIHNwbGl0DQp0aGVtIGludG8gMyBwYXJ0czoNCjEuIFByZXBh
cmF0aW9uLiBJIGhhdmUgcmUtc29ydGVkIHRoZSBwYXRjaCBzZXJpZXMuIEFuZCBtb3ZlZA0KICAg
aW5kZXBlbmRlbnQgcGF0Y2hlcyB0byB0aGUgaGVhZCBvZiB0aGUgc2VyaWVzIC0gbWVyZ2VkIGlu
IFsxXQ0KMi4gTW92ZSBnZW5lcmljYWxseSB1c2FibGUgY29kZSBmcm9tIHg4NiB0byBjb21tb24g
LSB0aGlzIHNlcmllcy4NCjMuIEFkZCBuZXcgY29kZSB0byBzdXBwb3J0IEFybS4NCg0KVGhpcyBz
ZXJpZXMgb25seSBjb250YWlucyB0aGUgc2Vjb25kIHBhcnQgcGF0Y2hlcy4gQXMgdGhlIHdob2xl
IE5VTUENCnNlcmllcyBoYXMgYmVlbiByZXZpZXdlZCBmb3IgMSByb3VuZCBpbiBbMl0sIHNvIHRo
aXMgc2VyaWVzIHdvdWxkDQpiZSB2OSkNCg0KWGVuIG1lbW9yeSBhbGxvY2F0aW9uIGFuZCBzY2hl
ZHVsZXIgbW9kdWxlcyBhcmUgTlVNQSBhd2FyZS4NCkJ1dCBhY3R1YWxseSwgb24geDg2IGhhcyBp
bXBsZW1lbnRlZCB0aGUgYXJjaGl0ZWN0dXJlIEFQSXMNCnRvIHN1cHBvcnQgTlVNQS4gQXJtIHdh
cyBwcm92aWRpbmcgYSBzZXQgb2YgZmFrZSBhcmNoaXRlY3R1cmUNCkFQSXMgdG8gbWFrZSBpdCBj
b21wYXRpYmxlIHdpdGggTlVNQSBhd2FyZWQgbWVtb3J5IGFsbG9jYXRpb24NCmFuZCBzY2hlZHVs
ZXIuDQoNCkFybSBzeXN0ZW0gd2FzIHdvcmtpbmcgd2VsbCBhcyBhIHNpbmdsZSBub2RlIE5VTUEg
c3lzdGVtIHdpdGgNCnRoZXNlIGZha2UgQVBJcywgYmVjYXVzZSB3ZSBkaWRuJ3QgaGF2ZSBtdWx0
aXBsZSBub2RlcyBOVU1BDQpzeXN0ZW0gb24gQXJtLiBCdXQgaW4gcmVjZW50IHllYXJzLCBtb3Jl
IGFuZCBtb3JlIEFybSBkZXZpY2VzDQpzdXBwb3J0IG11bHRpcGxlIG5vZGVzIE5VTUEgc3lzdGVt
Lg0KDQpTbyBub3cgd2UgaGF2ZSBhIG5ldyBwcm9ibGVtLiBXaGVuIFhlbiBpcyBydW5uaW5nIG9u
IHRoZXNlIEFybQ0KZGV2aWNlcywgWGVuIHN0aWxsIHRyZWF0IHRoZW0gYXMgc2luZ2xlIG5vZGUg
U01QIHN5c3RlbXMuIFRoZQ0KTlVNQSBhZmZpbml0eSBjYXBhYmlsaXR5IG9mIFhlbiBtZW1vcnkg
YWxsb2NhdGlvbiBhbmQgc2NoZWR1bGVyDQpiZWNvbWVzIG1lYW5pbmdsZXNzLiBCZWNhdXNlIHRo
ZXkgcmVseSBvbiBpbnB1dCBkYXRhIHRoYXQgZG9lcw0Kbm90IHJlZmxlY3QgcmVhbCBOVU1BIGxh
eW91dC4NCg0KWGVuIHN0aWxsIHRoaW5rIHRoZSBhY2Nlc3MgdGltZSBmb3IgYWxsIG9mIHRoZSBt
ZW1vcnkgaXMgdGhlDQpzYW1lIGZvciBhbGwgQ1BVcy4gSG93ZXZlciwgWGVuIG1heSBhbGxvY2F0
ZSBtZW1vcnkgdG8gYSBWTQ0KZnJvbSBkaWZmZXJlbnQgTlVNQSBub2RlcyB3aXRoIGRpZmZlcmVu
dCBhY2Nlc3Mgc3BlZWRzLiBUaGlzDQpkaWZmZXJlbmNlIGNhbiBiZSBhbXBsaWZpZWQgaW4gd29y
a2xvYWRzIGluc2lkZSBWTSwgY2F1c2luZw0KcGVyZm9ybWFuY2UgaW5zdGFiaWxpdHkgYW5kIHRp
bWVvdXRzLg0KDQpTbyBpbiB0aGlzIHBhdGNoIHNlcmllcywgd2UgaW1wbGVtZW50IGEgc2V0IG9m
IE5VTUEgQVBJIHRvIHVzZQ0KZGV2aWNlIHRyZWUgdG8gZGVzY3JpYmUgdGhlIE5VTUEgbGF5b3V0
LiBXZSByZXVzZSBtb3N0IG9mIHRoZQ0KY29kZSBvZiB4ODYgTlVNQSB0byBjcmVhdGUgYW5kIG1h
aW50YWluIHRoZSBtYXBwaW5nIGJldHdlZW4NCm1lbW9yeSBhbmQgQ1BVLCBjcmVhdGUgdGhlIG1h
dHJpeCBiZXR3ZWVuIGFueSB0d28gTlVNQSBub2Rlcy4NCkV4Y2VwdCBBQ1BJIGFuZCBzb21lIHg4
NiBzcGVjaWZpZWQgY29kZSwgd2UgaGF2ZSBtb3ZlZCBvdGhlcg0KY29kZSB0byBjb21tb24uIElu
IG5leHQgc3RhZ2UsIHdoZW4gd2UgaW1wbGVtZW50IEFDUEkgYmFzZWQNCk5VTUEgZm9yIEFybTY0
LCB3ZSBtYXkgbW92ZSB0aGUgQUNQSSBOVU1BIGNvZGUgdG8gY29tbW9uIHRvbywNCmJ1dCBpbiBj
dXJyZW50IHN0YWdlLCB3ZSBrZWVwIGl0IGFzIHg4NiBvbmx5Lg0KDQpUaGlzIHBhdGNoIHNlcmly
ZXMgaGFzIGJlZW4gdGVzdGVkIGFuZCBib290ZWQgd2VsbCBvbiBvbmUNCkFybTY0IE5VTUEgbWFj
aGluZSBhbmQgb25lIEhQRSB4ODYgTlVNQSBtYWNoaW5lLg0KDQpbMV0gaHR0cHM6Ly9uYW0wNC5z
YWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGbGlzdHMu
eGVucHJvamVjdC5vcmclMkZhcmNoaXZlcyUyRmh0bWwlMkZ4ZW4tZGV2ZWwlMkYyMDIyLTA2JTJG
bXNnMDA0OTkuaHRtbCZhbXA7ZGF0YT0wNSU3QzAxJTdDbGluLmxpdSU0MGNpdHJpeC5jb20lN0Nh
NjU4MTc2NjNmZDM0NTlhMGMzNjA4ZGFjOTUyMTY1NCU3QzMzNTgzNmRlNDJlZjQzYTJiMTQ1MzQ4
YzJlZTljYTViJTdDMCU3QzAlN0M2MzgwNDM2NTE2NzUzNTY1NjglN0NVbmtub3duJTdDVFdGcGJH
WnNiM2Q4ZXlKV0lqb2lNQzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENKQlRpSTZJazFoYVd3
aUxDSlhWQ0k2TW4wJTNEJTdDMzAwMCU3QyU3QyU3QyZhbXA7c2RhdGE9YW1sdCUyRkNWUkVINlBE
eXN2akVYNm90QzA2S0JMRm5jRHlPRWVOeDQ2V01zJTNEJmFtcDtyZXNlcnZlZD0wDQpbMl0gaHR0
cHM6Ly9uYW0wNC5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHBzJTNB
JTJGJTJGbGlzdHMueGVucHJvamVjdC5vcmclMkZhcmNoaXZlcyUyRmh0bWwlMkZ4ZW4tZGV2ZWwl
MkYyMDIxLTA5JTJGbXNnMDE5MDMuaHRtbCZhbXA7ZGF0YT0wNSU3QzAxJTdDbGluLmxpdSU0MGNp
dHJpeC5jb20lN0NhNjU4MTc2NjNmZDM0NTlhMGMzNjA4ZGFjOTUyMTY1NCU3QzMzNTgzNmRlNDJl
ZjQzYTJiMTQ1MzQ4YzJlZTljYTViJTdDMCU3QzAlN0M2MzgwNDM2NTE2NzUzNTY1NjglN0NVbmtu
b3duJTdDVFdGcGJHWnNiM2Q4ZXlKV0lqb2lNQzR3TGpBd01EQWlMQ0pRSWpvaVYybHVNeklpTENK
QlRpSTZJazFoYVd3aUxDSlhWQ0k2TW4wJTNEJTdDMzAwMCU3QyU3QyU3QyZhbXA7c2RhdGE9cDcl
MkZyNlh0YWI5Uk1LSUZlSkRFTWFqJTJCYlN6Tnp0QkM0S1Z6WnExVElsSnclM0QmYW1wO3Jlc2Vy
dmVkPTANCg0KLS0tDQp2OCAtPnY5Og0KIDEuIFJlbW92ZSBpbmNvcnJlY3QgZGVzY3JpcHRpb24g
aW4gcGF0Y2gjNSdzIGNvbW1pdCBsb2cuDQogMi4gQWRkIGNvZGUgY29tbWVudHMgZm9yIHRoZSBw
bGFjZXMgdG8gc2V0IG51bWFfZndfbmlkX25hbWUuDQp2NyAtPiB2ODoNCiAxLiBDaGFuZ2UgIm9m
IHNoaWZ0IHRvbyBzbWFsbCIgdG8gIm9yIHNoaWZ0IHRvbyBzbWFsbCIuDQogMi4gQWRkIG51bWFf
ZndfbmlkX25hbWUgc2V0dGluZyBpbiBzcmF0X3BhcnNlX3JlZ2lvbnMgYWZ0ZXINCiAgICBhY3Bp
X3RhYmxlX3BhcnNlIHN1Y2NlZWRlZC4NCnY2IC0+IHY3Og0KIDEuIFJlc3RvcmUgJWQgZm9yIG5v
ZGVpZF90IGluIGR1bXBfbnVtYS4NCiAyLiBVc2Ugc2l6ZW9mKHBhZ2VfbnVtX25vZGUpIGZvciBw
YWdlX251bV9ub2RlIHNpemUgaW4gbWVtc2V0Lg0KIDMuIEFkZCBkZXNjcmlwdGlvbiBmb3IgdXNp
bmcgbWluKFBBRERSX0JJVFMsIEJJVFNfUEVSX0xPTkcgLSAxKQ0KICAgIHRvIGNhbGN1bGF0ZSB0
aGUgc2hpZnQgd2hlbiBvbmx5IG9uZSBub2RlIGlzIGluIHRoZSBzeXN0ZW0uDQogNC4gVXNlICVw
ZCBmb3IgZG9tYWluIHByaW50IGluIGR1bXBfbnVtYS4NCiA1LiBBZGQgX19pbml0IGZvciBhcmNo
X251bWFfdW5hdmFpbGFibGUuDQogNi4gVXNlIF9fcm9fYWZ0ZXJfaW5pdCBmb3IgbWVtX2hvdHBs
dWcuDQogNy4gVXNlICI/Pz8iIGluc3RlYWQgb2YgIk5PTkFNRSIgZm9yIHVuc2V0IG51bWFfZndf
bmlkX25hbWUuDQogOC4gRml4IGNvZGUtc3R5bGUuDQp2NSAtPiB2NjoNCiAxLiBSZXZlcnQgYXJj
aF9udW1hX2Jyb2tlbiB0byBhcmNoX251bWFfZGlzYWJsZWQsIGFzIGFjcGlfbnVtYQ0KICAgIGNh
biBiZSBzZXQgdG8gLTEgYnkgdXNlcnMuIFNvIGFjcGlfbnVtYSA8IDAgZG9lcyBub3QgbWVhbg0K
ICAgIGEgYnJva2VuIGZpcm13YXJlLg0KIDIuIFJlcGxhY2UgbnVtYV9zY2FuX25vZGUgdG8gbnVt
YV9wcm9jZXNzX25vZGVzIGluIGNvbW1pdCBsb2cuDQogMy4gTGltaXQgdGhlIHNjb3BlIG9mIHBh
Z2VfbnVtX25vZGUsIHZudW1hIGFuZCBwYWdlIG9mIG51bWFfc2V0dXANCiAgICBmdW5jdGlvbi4N
CiA0LiBVc2UgbWVtc2V0IHRvIGluaXQgcGFnZV9udW1fbm9kZSBpbnN0ZWFkIG9mIGZvcl9lYWNo
X29ubGluZV9ub2RlLg0KIDUuIFVzZSAldSBpbnN0ZWFkIG9mICVkIGZvciBub2RlaWRfdCBhbmQg
aiBpbiBudW1hX3NldHVwIHByaW50DQogICAgbWVzc2FnZXMuDQogNi4gVXNlIG1pbihQQUREUl9C
SVRTLCBCSVRTX1BFUl9MT05HIC0gMSkgdG8gY2FsY3VsYXRlIHRoZSBzaGlmdA0KICAgIHdoZW4g
b25seSBvbmUgbm9kZSBpcyBpbiB0aGUgc3lzdGVtLg0KIDcuIERyb3AgdGhlIG1hcmNvOiBub2Rl
X3RvX2ZpcnN0X2NwdShub2RlKQ0KIDguIFVzZSBhcmNoX251bWFfdW5hdmFpbGFibGUgdG8gcmVw
bGFjZSBhcmNoX251bWFfZGlzYWJsZWQgZm9yDQogICAgYWNwaV9udW1hIDw9IDAuDQogOS4gUmVt
b3ZlIEtjb25maWcgZm9yIEhBU19OVU1BX05PREVfRldJRC4NCjEwLiBVc2UgbnVtYV9md19uaWRf
bmFtZSBmb3IgTlVNQSBpbXBsZW1lbnRhdGlvbiB0byBzZXQgdGhlaXIgZncNCiAgICBOVU1BIG5v
ZGUgbmFtZSBmb3IgcHJpbnQgbWVzc2FnZXMuDQoNCnY0IC0+IHY1Og0KIDEuIFVzZSBhcmNoX251
bWFfYnJva2VuIGluc3RlYWQgb2YgYXJjaF9udW1hX2Rpc2FibGVkIGZvcg0KICAgIGFjcGlfbnVt
YSA8IDAgY2hlY2suIEJlY2F1c2UgYXJjaF9udW1hX2Rpc2FibGVkIG1pZ2h0DQogICAgaW5jbHVk
ZSBhY3BpX251bWEgPCAwIChpbml0IGZhaWxlZCkgYW5kIGFjcGlfbnVtYSA9PSAwDQogICAgKG5v
IGRhdGEgb3IgZGF0YSBubyBpbml0KSBjYXNlcy4NCiAyLiBVc2Ugbm9kZWlkX3QgaW5zdGVhZCBv
ZiB1aW50OF90IGZvciBtZW1ub2RlbWFwLg0KIDMuIFJlc3RvcmUgdG8gdXNlIHR5cGVvZigqbWVt
bm9kZW1hcCkgZm9yIF9tZW1ub2RlbWFwLCB0aGlzIHdpbGwgYXZvaWQgdGhlDQogICAgZnVydGhl
ciBhZGp1c3RtZW50cyBmb3IgX21lbW5vZGVtYXAncyB0eXBlLg0KIDQuIFVzZSBfX3JvX2FmdGVy
X2luaXQgZm9yIG51bWFfb2ZmLg0KIDUuIFVzZSBwb2ludGVyLXRvLWNvbnN0IGZvciBwcm9wZXIg
ZnVuY3Rpb24gcGFyYW1ldGVycy4NCiA2LiBVc2UgdW5zaWduZWQgaW50IGZvciB2YXJpYWJsZXMg
dGhhdCBhcmUgbm90IHJlYWx5IHVzZWQgZm9yIG5vZGUgSUQuDQogNy4gRml4IGNvZGUgY29tbWVu
dHMgY29kZS1zdHlsZSBhbmQgYWRqdXN0IHRoZSBsZW5ndGguDQogOC4gRml4IGNvZGUtc3R5bGVz
Lg0KIDkuIFJlbmFtZSBudW1hX3NjYW5fbm9kZXMgdG8gbnVtYV9wcm9jZXNzX25vZGVzLg0KMTAu
IERlZmVyIGludHJvZHVjZSBhcmNoX251bWFfZGlzYWJsZWQgZm9yIGFjcGlfbnVtYSA8PSAwLiBB
bmQgcmVtb3ZlDQogICAgdGhlIHBhcmFtdGVyIGluaXRfYXNfZGlzYWJsZSBvZiBhcmNoX251bWFf
ZGlzYWJsZWQuDQoxMS4gRml4IHR5cG8gImV4cGFuZHNpb24iLg0KMTIuIEZpeCBJbmRlbnRhdGlv
biBmb3IgbDF0Zl9zYWZlX21hZGRyLg0KMTMuIFJlbW92ZSBkb3VibGUgYmxhbmsgbGluZXMuDQox
NC4gQWRkIGEgc3BhY2UgYmV0d2VlbiBmb3JfZWFjaF9ub2RlX21hc2sgYW5kICcoJy4NCiAgICBB
ZGQgYSBzcGFjZSBwYWdlX2xpc3RfZm9yX2VhY2ggYW5kICcoJy4NCjE1LiBVc2UgYm9vbCBmb3Ig
bm9kZXNfY292ZXJfbWVtb3J5IHJldHVybiB2YWx1ZS4NCjE2LiBVc2UgYSBwbGFpbiAiaW50IHJl
dCIgdG8gcmVjb3JkIGNvbXB1dGVfaGFzaF9zaGlmdCByZXR1cm4gdmFsdWUuDQoxNy4gQWRkIGEg
YmxhbmsgbGluZSBiZWZvcmUgdGhlIGZ1bmN0aW9uJ3MgbWFpbiAicmV0dXJuIi4NCjE4LiBBZGQg
bmV3IEtjb25maWcgb3B0aW9uIEhBU19OVU1BX05PREVfRldJRCB0byBjb21tb24vS2NvbmZpZy4N
Cg0KdjMgLT4gdjQ6DQogMS4gQWRkIGluaXRfYXNfZGlzYWJsZSBhcyBhcmNoX251bWFfZGlzYWJs
ZWQgcGFyYW1ldGVyIGluIHRoZSBwYXRjaGUNCiAgICB3aGVyZSB1c2UgaXQuDQogMi4gRHJvcCB1
bm5lY2Vzc2FyeSAiZWxzZSIgZnJvbSBhcmNoX251bWFfc2V0dXAsIGFuZCBmaXggaXRzDQogICBp
bmRlbnRhdGlvbi4NCiAzLiBSZXN0b3JlIGNvbXB1dGVfaGFzaF9zaGlmdCdzIHJldHVybiB2YWx1
ZSB0byBpbnQuDQogNC4gUmVtb3ZlIHVubmVjZXNzYXJ5IHBhcmVudGhlc2VzIGZvciBtYWNyb3Mu
DQogNS4gVXNlIHVuc2lnbmVkIGludCBmb3IgcHJvcGVyIHZhcmlhYmxlcy4NCiA2LiBGaXggc29t
ZSBjb2RlLXN0eWxlLg0KIDcuIE1vdmUgYXJjaF9nZXRfcmFtX3JhbmdlIGZ1bmN0aW9uIGNvbW1l
bnQgdG8gaGVhZGVyIGZpbGUuDQogOC4gVXNlIGJvb2wgZm9yIGZvdW5kLCBhbmQgYWRkIGEgbmV3
ICJlcnIiIGZvciB0aGUgcmV0dXJuDQogICAgdmFsdWUgb2YgYXJjaF9nZXRfcmFtX3JhbmdlLg0K
IDkuIFVzZSAtRU5PREFUQSBpbnN0ZWFkIG9mIC1FSU5WQUwgZm9yIG5vbi1SQU0gdHlwZSByYW5n
ZXMuDQoxMC4gVXNlIGJvb2wgYXMgcmV0dXJuIHZhbHVlIGZvciBmdW5jdGlvbnMgdGhhdCBvbmx5
IHJldHVybg0KICAgIDAvMSBvciAwLy1FSU5WQUwuDQoxMS4gTW92ZSBtZW1faG90cGx1ZyB0byBh
IHByb3BlciBwbGFjZSBpbiBtbS5oDQoxMi4gUmVtb3ZlIHVzZWxlc3MgInNpemUiIGluIG51bWFf
c2Nhbl9ub2Rlcy4NCjEzLiBBZGQgQ09ORklHX0hBU19OVU1BX05PREVfRldJRCB0byBnYXRlIHBy
aW50IHRoZSBtYXBwaW5nDQogICAgYmV0d2VlbiBub2RlIGlkIGFuZCBhcmNoaXRlY3R1cmFsIG5v
ZGUgaWQgKGZ3IG5vZGUgaWQpLg0KDQp2MiAtPiB2MzoNCiAxLiBEcm9wIGVudW1lcmF0aW9uIG9m
IG51bWEgc3RhdHVzLg0KIDIuIFVzZSBoZWxwZXJzIHRvIGdldC91cGRhdGUgYWNwaV9udW1hLg0K
IDMuIEluc2VydCBzcGFjZXMgYW1vbmcgcGFyYW1ldGVycyBvZiBzdHJuY21wIGluIG51bWFfc2V0
dXAuDQogNC4gRHJvcCBoZWxwZXJzIHRvIGFjY2VzcyBtZW1faG90cGx1Zy4gRXhwb3J0IG1lbV9o
b3RwbHVnIGZvciBhbGwgYXJjaC4NCiA1LiBSZW1vdmUgYWNwaS5oIGZyb20gY29tbW9uL251bWEu
Yy4NCiA2LiBSZW5hbWUgYWNwaV9zY2FuX25vZGVzIHRvIG51bWFfc2Nhbl9ub2Rlcy4NCiA3LiBS
ZXBsYWNlIHU4IGJ5IHVpbnQ4X3QgZm9yIG1lbW5vZGVtYXAuDQogOC4gVXNlIHVuc2lnbmVkIGlu
dCBmb3IgbWVtbm9kZV9zaGlmdCBhbmQgYWRqdXN0IHJlbGF0ZWQgZnVuY3Rpb25zDQogICAgKGNv
bXB1dGVfaGFzaF9zaGlmdCwgcG9wdWxhdGVfbWVtbm9kZW1hcCkgdG8gdXNlIGNvcnJlY3QgdHlw
ZXMgZm9yDQogICAgcmV0dXJuIHZhbHVlcyBvciBwYXJhbWV0ZXJzLg0KIDkuIFVzZSBub2RlaWRf
dCBmb3Igbm9kZWlkIGFuZCBub2RlIG51bWJlcnMuDQoxMC4gVXNlIF9fcmVhZF9tb3N0bHkgYW5k
IF9fcm9fYWZ0ZXJfaW5pdCBmb3IgYXBwcm9wcmlhdGUgdmFyaWFibGVzLg0KMTEuIEFkanVzdCB0
aGUgX19yZWFkX21vc3RseSBhbmQgX19pbml0ZGF0YSBsb2NhdGlvbiBmb3Igc29tZSB2YXJpYWJs
ZXMuDQoxMi4gQ29udmVydCBmcm9tIHBsYWluIGludCB0byB1bnNpZ25lZCBmb3IgY3B1aWQgYW5k
IG90aGVyIHByb3Blcg0KMTMuIFJlbW92ZSB1bm5lY2Vzc2FyeSBjaGFuZ2UgaXRlbXMgaW4gaGlz
dG9yeS4NCjE0LiBSZW5hbWUgYXJjaF9nZXRfbWVtb3J5X21hcCB0byBhcmNoX2dldF9yYW1fcmFu
Z2UuDQoxNS4gVXNlIC1FTk9FTlQgaW5zdGVhZCBvZiAtRU5PREVWIHRvIGluZGljYXRlIGVuZCBv
ZiBtZW1vcnkgbWFwLg0KMTYuIEFkZCBkZXNjcmlwdGlvbiB0byBjb2RlIGNvbW1lbnQgdGhhdCBh
cmNoX2dldF9yYW1fcmFuZ2UgcmV0dXJucw0KICAgIFJBTSByYW5nZSBpbiBbc3RhcnQsIGVuZCkg
Zm9ybWF0Lg0KMTcuIFJlbmFtZSBiYWRfc3JhdCB0byBudW1hX2Z3X2JhZC4NCjE4LiBSZW5hbWUg
bm9kZV90b19weG0gdG8gbnVtYV9ub2RlX3RvX2FyY2hfbmlkLg0KMTkuIE1lcmdlIHBhdGNoIzcg
YW5kICM4IGludG8gcGF0Y2gjNi4NCjIwLiBNb3ZlIE5SX05PREVfTUVNQkxLUyBmcm9tIHg4Ni9h
Y3BpLmggdG8gY29tbW9uL251bWEuaA0KMjIuIFVzZSAyLTY0IGZvciBub2RlIHJhbmdlLg0KDQp2
MSAtPiB2MjoNCiAxLiBSZWZpbmUgdGhlIGNvbW1pdCBtZXNzYWdlcyBvZiBzZXZlcmFsIHBhdGNo
ZXMuDQogMi4gTWVyZ2UgdjEgcGF0Y2gjOSwxMCBpbnRvIG9uZSBwYXRjaC4gSW50cm9kdWNlIHRo
ZSBuZXcgZnVuY3Rpb25zDQogICAgaW4gdGhlIHNhbWUgcGF0Y2ggdGhhdCB0aGlzIHBhdGNoIHdp
bGwgYmUgdXNlZCBmaXJzdCB0aW1lLg0KIDMuIEZvbGQgaWYgKCBlbmQgPiBtZW1faG90cGx1ZyAp
IHRvIG1lbV9ob3RwbHVnX3VwZGF0ZV9ib3VuZGFyeSwNCiAgICBpbiB0aGlzIGNhc2UsIHdlIGNh
biBkcm9wIG1lbV9ob3RwbHVnX2JvdW5kYXJ5Lg0KIDQuIFJlbW92ZSBmd19udW1hLCB1c2UgZW51
bWVyYXRpb24gdG8gcmVwbGFjZSBudW1hX29mZiBhbmQgYWNwaV9udW1hLg0KIDUuIENvcnJlY3Qg
cmV0dXJuIHZhbHVlIG9mIHNyYXRfZGlzYWJsZWQuDQogNi4gSW50cm9kdWNlIG51bWFfZW5hYmxl
ZF93aXRoX2Zpcm13YXJlLg0KIDcuIFJlZmluZSB0aGUganVzdGlmaWNhdGlvbiBvZiB1c2luZyAh
bm9kZV9kYXRhW25pZF0ubm9kZV9zcGFubmVkX3BhZ2VzLg0KIDguIFVzZSBBU1NFUlQgdG8gcmVw
bGFjZSBWSVJUVUFMX0JVR19PTiBpbiBwaHlzX3RvX25pZC4NCiA5LiBBZGp1c3QgdGhlIGNvbmRp
dGlvbmFsIGV4cHJlc3MgZm9yIEFTU0VSVC4NCjEwLiBNb3ZlIE1BWF9OVU1OT0RFUyBmcm9tIHhl
bi9udW1hLmggdG8gYXNtL251bWEuaCBmb3IgeDg2Lg0KMTEuIFVzZSBjb25kaXRpb25hbCBtYWNy
byB0byBnYXRlIE1BWF9OVU1OT0RFUyBmb3Igb3RoZXIgYXJjaGl0ZWN0dXJlcy4NCjEyLiBVc2Ug
YXJjaF9nZXRfbWVtb3J5X21hcCB0byByZXBsYWNlIGFyY2hfZ2V0X21lbW9yeV9iYW5rX3Jhbmdl
DQogICAgYW5kIGFyY2hfZ2V0X21lbW9yeV9iYW5rX251bWJlci4NCjEzLiBSZW1vdmUgdGhlICFz
dGFydCB8fCAhZW5kIGNoZWNrLCBiZWNhdXNlIGNhbGxlciBndWFyYW50ZWUNCiAgICB0aGVzZSB0
d28gcG9pbnRlcnMgd2lsbCBub3QgYmUgTlVMTC4NCjE0LiBBZGQgY29kZSBjb21tZW50IGZvciBu
dW1hX3VwZGF0ZV9ub2RlX21lbWJsa3MgdG8gZXhwbGFpbjoNCiAgICBBc3N1bWVzIGFsbCBtZW1v
cnkgcmVnaW9ucyBiZWxvbmdpbmcgdG8gYSBzaW5nbGUgbm9kZQ0KICAgIGFyZSBpbiBvbmUgY2h1
bmsuIEhvbGVzIGJldHdlZW4gdGhlbSB3aWxsIGJlIGluY2x1ZGVkDQogICAgaW4gdGhlIG5vZGUu
DQoxNS4gTWVyZ2UgdGhpcyBzaW5nbGUgcGF0Y2ggaW5zdGVhZCBvZiBzZXJ2YWwgcGF0Y2hlcyB0
byBtb3ZlDQogICAgeDg2IFNSQVQgY29kZSB0byBjb21tb24uDQoxNi4gRXhwb3J0IG5vZGVfdG9f
cHhtIHRvIGtlZXAgcHhtIGluZm9ybWF0aW9uIGluIE5VTUEgc2Nhbg0KICAgIG5vZGVzIGVycm9y
IG1lc3NhZ2VzLg0KMTcuIENoYW5nZSB0aGUgY29kZSBzdHlsZSB0byB0YXJnZXQgZmlsZSdzIFhl
biBjb2RlLXN0eWxlLg0KMTguIEFkanVzdCBzb21lIF9faW5pdCBhbmQgX19pbml0ZGF0YSBmb3Ig
c29tZSBmdW5jdGlvbnMgYW5kDQogICAgdmFyaWFibGVzLg0KMTkuIFJlcGxhY2UgQ09ORklHX0FD
UElfTlVNQSBieSBDT05GSUdfTlVNQS4gUmVwbGFjZSAiU1JBVCIgdGV4dHMuDQoyMC4gVHVybiBu
dW1hX3NjYW5fbm9kZXMgdG8gc3RhdGljLg0KMjEuIENoYW5nZSBOUl9OVU1BX05PREVTIHVwcGVy
IGJvdW5kIGZyb20gNDA5NSB0byAyNTUuDQoNCldlaSBDaGVuICg2KToNCiAgeGVuL3g4NjogUHJv
dmlkZSBoZWxwZXJzIGZvciBjb21tb24gY29kZSB0byBhY2Nlc3MgYWNwaV9udW1hDQogIHhlbi94
ODY6IG1vdmUgZ2VuZXJpY2FsbHkgdXNhYmxlIE5VTUEgY29kZSBmcm9tIHg4NiB0byBjb21tb24N
CiAgeGVuL3g4NjogVXNlIEFTU0VSVCBpbnN0ZWFkIG9mIFZJUlRVQUxfQlVHX09OIGZvciBwaHlz
X3RvX25pZA0KICB4ZW4veDg2OiB1c2UgYXJjaF9nZXRfcmFtX3JhbmdlIHRvIGdldCBpbmZvcm1h
dGlvbiBmcm9tIEU4MjAgbWFwDQogIHhlbi94ODY6IG1vdmUgTlVNQSBwcm9jZXNzIG5vZGVzIG5v
ZGVzIGNvZGUgZnJvbSB4ODYgdG8gY29tbW9uDQogIHhlbjogaW50cm9kdWNlIGEgS2NvbmZpZyBv
cHRpb24gdG8gY29uZmlndXJlIE5VTUEgbm9kZXMgbnVtYmVyDQoNCiB4ZW4vYXJjaC9LY29uZmln
ICAgICAgICAgICAgICAgICB8ICAxMSArDQogeGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2FjcGku
aCAgfCAgIDIgLQ0KIHhlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9tbS5oICAgIHwgICAyIC0NCiB4
ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vbnVtYS5oICB8ICA2MSArLS0NCiB4ZW4vYXJjaC94ODYv
aW5jbHVkZS9hc20vc2V0dXAuaCB8ICAgMSAtDQogeGVuL2FyY2gveDg2L21tLmMgICAgICAgICAg
ICAgICAgfCAgIDIgLQ0KIHhlbi9hcmNoL3g4Ni9udW1hLmMgICAgICAgICAgICAgIHwgNDQxICst
LS0tLS0tLS0tLS0tLS0tDQogeGVuL2FyY2gveDg2L3NtcGJvb3QuYyAgICAgICAgICAgfCAgIDIg
Ky0NCiB4ZW4vYXJjaC94ODYvc3JhdC5jICAgICAgICAgICAgICB8IDMzNyArKy0tLS0tLS0tLS0t
DQogeGVuL2NvbW1vbi9NYWtlZmlsZSAgICAgICAgICAgICAgfCAgIDEgKw0KIHhlbi9jb21tb24v
bnVtYS5jICAgICAgICAgICAgICAgIHwgODAzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysNCiB4ZW4vY29tbW9uL3BhZ2VfYWxsb2MuYyAgICAgICAgICB8ICAgMiArDQogeGVuL2luY2x1
ZGUveGVuL21tLmggICAgICAgICAgICAgfCAgIDIgKw0KIHhlbi9pbmNsdWRlL3hlbi9udW1hLmgg
ICAgICAgICAgIHwgIDk2ICsrKy0NCiAxNCBmaWxlcyBjaGFuZ2VkLCA5NjQgaW5zZXJ0aW9ucygr
KSwgNzk5IGRlbGV0aW9ucygtKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vY29tbW9uL251bWEu
Yw0KDQotLQ0KMi4yNS4xDQoNCg==

--_000_SJ0PR03MB5405FBAFC3B531CD150E6C599DE09SJ0PR03MB5405namp_
Content-Type: text/html; charset="gb2312"
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dgb2312">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:DengXian;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:"\@DengXian";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	font-size:10.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
span.EmailStyle19
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
	{page:WordSection1;}
--></style>
</head>
<body lang=3D"en-CN" link=3D"blue" vlink=3D"purple" style=3D"word-wrap:brea=
k-word">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">Hi W=
ei,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">Our =
internal regression testing detected a panic recently.<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">Coul=
d you please help to verify whether it is introduced by these patch series?=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt"><o:p=
>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">Than=
ks for your help!<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">Best=
 Regards!<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">Lin =
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt"><o:p=
>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [00000038170b9b04] System RAM: 49139MB (5031842=
8kB)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000381f1eaa88] NUMA: Node 1 PXM 2 [00000000=
00000000, 00000000bfffffff]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [0000003820223f7c] NUMA: Node 1 PXM 2 [00000001=
00000000, 000000063fffffff]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000382125db2a] NUMA: Node 0 PXM 1 [00000006=
40000000, 0000000c3fffffff]<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [0000003822296b4a] NUMA: Using 18 for the hash =
shift<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [0000003838bc94e6] Domain heap initialised DMA =
width 32 bits<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [0000003839d3bc6d] Assertion 'nid &lt; MAX_NUMN=
ODES &amp;&amp; node_data[nid].node_spanned_pages' failed at ../include/xen=
/numa.h:76<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000383b6c127a] ----[ Xen-4.18.0-10.36-d&nbs=
p; x86_64&nbsp; debug=3Dy&nbsp; Not tainted ]----<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000383c7f88ad] CPU:&nbsp;&nbsp;&nbsp; 0<o:p=
></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000383cf18d3f] RIP:&nbsp;&nbsp;&nbsp; e008:=
[&lt;ffff82d040456e43&gt;] paging_init+0x1cd/0x926<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000383dfb6811] RFLAGS: 0000000000010086&nbs=
p;&nbsp; CONTEXT: hypervisor<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000383ee2936d] rax: 00000000000000ff&nbsp;&=
nbsp; rbx: 000000000063f800&nbsp;&nbsp; rcx: 0000000000000012<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [0000003840126f8d] rdx: ffff82d04039d040&nbsp;&=
nbsp; rsi: 00000000000000ff&nbsp;&nbsp; rdi: ffff828000600000<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [0000003841426f17] rbp: ffff82d04046fdb8&nbsp;&=
nbsp; rsp: ffff82d04046fd38&nbsp;&nbsp; r8:&nbsp; ffff828000400000<o:p></o:=
p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [0000003842724945] r9:&nbsp; 0000000000000000&n=
bsp;&nbsp; r10: 0000000000000000&nbsp;&nbsp; r11: 000000ffffffffff<o:p></o:=
p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [0000003843a23b0d] r12: ffff828000400000&nbsp;&=
nbsp; r13: ffff82d0404e2000&nbsp;&nbsp; r14: 00000007c7ffffff<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [0000003844d222f7] r15: ffff830000000000&nbsp;&=
nbsp; cr0: 0000000080050033&nbsp;&nbsp; cr4: 00000000000000a0<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [00000038460223da] cr3: 00000000beee2000&nbsp;&=
nbsp; cr2: 0000000000000000<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [0000003846e60a5a] fsb: 0000000000000000&nbsp;&=
nbsp; gsb: 0000000000000000&nbsp;&nbsp; gss: 0000000000000000<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000384815ff97] ds: 0000&nbsp;&nbsp; es: 000=
0 &nbsp;&nbsp;fs: 0000&nbsp;&nbsp; gs: 0000&nbsp;&nbsp; ss: 0000&nbsp;&nbsp=
; cs: e008<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000384932efe9] Xen code around456e43&gt; (p=
aging_init+0x1cd/0x926):<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000384a4978d0]&nbsp; 00 e9 22 03 00 00 0f 0=
b &lt;0f&gt; 0b 4c 8b 65 b8 49 c1 ec 03 bb 00 00 00 00 4c<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000384b893bd2] Xen stack trace from rsp=3Df=
fff82d04046fd38:<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000384c63b397]&nbsp;&nbsp;&nbsp; 0000000006=
200000 0000000000000000 ffff830c36740000 0000000000000031<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000384d96d07f]&nbsp;&nbsp;&nbsp; ffff800000=
400000 ffff830c36736000 00020000404e59c0 0000000000400000<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:25 UTC] (XEN) [000000384ec9e9bf]&nbsp;&nbsp;&nbsp; ffff830c36=
736018 0000000000000003 0000000000c36736 0000000000c3ffff<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [000000384ffcec7f]&nbsp;&nbsp;&nbsp; 0000000000=
0077e0 0000000000000002 0000000000800163 ffff830000087fb0<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003851301189]&nbsp;&nbsp;&nbsp; ffff82d040=
46fee8 ffff82d04045bc97 00477b0000000000 ffff830000087f10<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003852631f4a]&nbsp;&nbsp;&nbsp; 0000000000=
c40000 0000000001a40fff ffff82d04046fef8 0000000001a40000<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003853963f89]&nbsp;&nbsp;&nbsp; 0000000000=
100000 0000000000000000 00000000000001ff ffff830000087fb0<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003854c9564a]&nbsp;&nbsp;&nbsp; ffff830c36=
738000 ffff830000087f01 0000000100000000 ffff830000087fb0<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003855fc6a47]&nbsp;&nbsp;&nbsp; ffff830000=
087c10 ffff830000087f10 0044074d0046fe6c 00440d1b00087fa2<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [000000385736267a]&nbsp;&nbsp;&nbsp; 682d0d1c00=
4404bf 00440d1900000000 0046fe9800087fa8 00087fa8004407c3<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003858695049]&nbsp;&nbsp;&nbsp; 0000000400=
440d15 0046feb000087f01 0000000800000000 000000010000006e<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [00000038599c5d2f]&nbsp;&nbsp;&nbsp; 0000000000=
000003 00000000000002f8 ffff82d040629000 ffff82d040529000<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [000000385acf79ae]&nbsp;&nbsp;&nbsp; 0000000000=
000002 0000000000000000 0000000000000000 0000000000000000<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [000000385c028e17]&nbsp;&nbsp;&nbsp; 0000000000=
000000 0000000000000000 0000000000000000 ffff82d040204344<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [000000385d35a8c5]&nbsp;&nbsp;&nbsp; 0000000000=
000000 0000000000000000 0000000000000000 0000000000000000<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [000000385e68befc]&nbsp;&nbsp;&nbsp; 0000000000=
000000 0000000000000000 0000000000000000 0000000000000000<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [000000385f9bccd2]&nbsp;&nbsp;&nbsp; 0000000000=
000000 0000000000000000 0000000000000000 0000000000000000<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003860cef005]&nbsp;&nbsp;&nbsp; 0000000000=
000000 0000000000000000 0000000000000000 0000000000000000<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [000000386201f97f]&nbsp;&nbsp;&nbsp; 0000000000=
000000 0000000000000000 0000000000000000 0000000000000000<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003863351a9f]&nbsp;&nbsp;&nbsp; 0000000000=
000000 0000000000000000 0000000000000000 0000000000000000<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003864682a9a] Xen call trace:<o:p></o:p></=
span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003864ed23df]&nbsp;&nbsp;&nbsp; [&lt;ffff8=
2d040456e43&gt;] R paging_init+0x1cd/0x926<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003865ddbb4d]&nbsp;&nbsp;&nbsp; [&lt;ffff8=
2d04045bc97&gt;] F __start_xen+0x19f7/0x2738<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003866d4b6b7]&nbsp;&nbsp;&nbsp; [&lt;ffff8=
2d040204344&gt;] F __high_start+0x94/0xa0<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003867c228b4]
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003868179e97]
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [00000038686d19b7] ****************************=
************<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003869413245] Panic on CPU 0:<o:p></o:p></=
span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [0000003869c63967] Assertion 'nid &lt; MAX_NUMN=
ODES &amp;&amp; node_data[nid].node_spanned_pages' failed at ../include/xen=
/numa.h:76<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [000000386b5e9733] ****************************=
************<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [000000386c32a92b]
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">[202=
2-12-13 00:29:26 UTC] (XEN) [000000386c882574] Reboot in five seconds...<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>&nbsp;</o:p></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt"><o:p>&nbsp;</o:p></=
span></p>
<div style=3D"border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><b><span style=3D"fon=
t-size:12.0pt;color:black">From:
</span></b><span style=3D"font-size:12.0pt;color:black">Xen-devel &lt;xen-d=
evel-bounces@lists.xenproject.org&gt; on behalf of Wei Chen &lt;wei.chen@ar=
m.com&gt;<br>
<b>Date: </b>Friday, November 18, 2022 at 6:46 PM<br>
<b>To: </b>xen-devel@lists.xenproject.org &lt;xen-devel@lists.xenproject.or=
g&gt;<br>
<b>Cc: </b>nd@arm.com &lt;nd@arm.com&gt;, Wei Chen &lt;wei.chen@arm.com&gt;=
, Jan Beulich &lt;jbeulich@suse.com&gt;, Andrew Cooper &lt;Andrew.Cooper3@c=
itrix.com&gt;, Roger Pau Monne &lt;roger.pau@citrix.com&gt;, Wei Liu &lt;wl=
@xen.org&gt;, George Dunlap &lt;George.Dunlap@citrix.com&gt;, Julien Grall
 &lt;julien@xen.org&gt;, Stefano Stabellini &lt;sstabellini@kernel.org&gt;<=
br>
<b>Subject: </b>[PATCH v9 0/6] Device tree based NUMA support for Arm - Par=
t#2<o:p></o:p></span></p>
</div>
<div>
<p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><span style=3D"font-s=
ize:11.0pt">(The Arm device tree based NUMA support patch set contains 35<b=
r>
patches. In order to make stuff easier for reviewers, I split<br>
them into 3 parts:<br>
1. Preparation. I have re-sorted the patch series. And moved<br>
&nbsp;&nbsp; independent patches to the head of the series - merged in [1]<=
br>
2. Move generically usable code from x86 to common - this series.<br>
3. Add new code to support Arm.<br>
<br>
This series only contains the second part patches. As the whole NUMA<br>
series has been reviewed for 1 round in [2], so this series would<br>
be v9)<br>
<br>
Xen memory allocation and scheduler modules are NUMA aware.<br>
But actually, on x86 has implemented the architecture APIs<br>
to support NUMA. Arm was providing a set of fake architecture<br>
APIs to make it compatible with NUMA awared memory allocation<br>
and scheduler.<br>
<br>
Arm system was working well as a single node NUMA system with<br>
these fake APIs, because we didn't have multiple nodes NUMA<br>
system on Arm. But in recent years, more and more Arm devices<br>
support multiple nodes NUMA system.<br>
<br>
So now we have a new problem. When Xen is running on these Arm<br>
devices, Xen still treat them as single node SMP systems. The<br>
NUMA affinity capability of Xen memory allocation and scheduler<br>
becomes meaningless. Because they rely on input data that does<br>
not reflect real NUMA layout.<br>
<br>
Xen still think the access time for all of the memory is the<br>
same for all CPUs. However, Xen may allocate memory to a VM<br>
from different NUMA nodes with different access speeds. This<br>
difference can be amplified in workloads inside VM, causing<br>
performance instability and timeouts.<br>
<br>
So in this patch series, we implement a set of NUMA API to use<br>
device tree to describe the NUMA layout. We reuse most of the<br>
code of x86 NUMA to create and maintain the mapping between<br>
memory and CPU, create the matrix between any two NUMA nodes.<br>
Except ACPI and some x86 specified code, we have moved other<br>
code to common. In next stage, when we implement ACPI based<br>
NUMA for Arm64, we may move the ACPI NUMA code to common too,<br>
but in current stage, we keep it as x86 only.<br>
<br>
This patch serires has been tested and booted well on one<br>
Arm64 NUMA machine and one HPE x86 NUMA machine.<br>
<br>
[1] <a href=3D"https://nam04.safelinks.protection.outlook.com/?url=3Dhttps%=
3A%2F%2Flists.xenproject.org%2Farchives%2Fhtml%2Fxen-devel%2F2022-06%2Fmsg0=
0499.html&amp;amp;data=3D05%7C01%7Clin.liu%40citrix.com%7Ca65817663fd3459a0=
c3608dac9521654%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C63804365167535=
6568%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik=
1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;amp;sdata=3Damlt%2FCVREH6PDysvjEX6=
otC06KBLFncDyOEeNx46WMs%3D&amp;amp;reserved=3D0">
https://nam04.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Flists.x=
enproject.org%2Farchives%2Fhtml%2Fxen-devel%2F2022-06%2Fmsg00499.html&amp;a=
mp;data=3D05%7C01%7Clin.liu%40citrix.com%7Ca65817663fd3459a0c3608dac9521654=
%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638043651675356568%7CUnknown%=
7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6M=
n0%3D%7C3000%7C%7C%7C&amp;amp;sdata=3Damlt%2FCVREH6PDysvjEX6otC06KBLFncDyOE=
eNx46WMs%3D&amp;amp;reserved=3D0</a><br>
[2] <a href=3D"https://nam04.safelinks.protection.outlook.com/?url=3Dhttps%=
3A%2F%2Flists.xenproject.org%2Farchives%2Fhtml%2Fxen-devel%2F2021-09%2Fmsg0=
1903.html&amp;amp;data=3D05%7C01%7Clin.liu%40citrix.com%7Ca65817663fd3459a0=
c3608dac9521654%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C63804365167535=
6568%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik=
1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;amp;sdata=3Dp7%2Fr6Xtab9RMKIFeJDEM=
aj%2BbSzNztBC4KVzZq1TIlJw%3D&amp;amp;reserved=3D0">
https://nam04.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Flists.x=
enproject.org%2Farchives%2Fhtml%2Fxen-devel%2F2021-09%2Fmsg01903.html&amp;a=
mp;data=3D05%7C01%7Clin.liu%40citrix.com%7Ca65817663fd3459a0c3608dac9521654=
%7C335836de42ef43a2b145348c2ee9ca5b%7C0%7C0%7C638043651675356568%7CUnknown%=
7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6M=
n0%3D%7C3000%7C%7C%7C&amp;amp;sdata=3Dp7%2Fr6Xtab9RMKIFeJDEMaj%2BbSzNztBC4K=
VzZq1TIlJw%3D&amp;amp;reserved=3D0</a><br>
<br>
---<br>
v8 -&gt;v9:<br>
&nbsp;1. Remove incorrect description in patch#5's commit log.<br>
&nbsp;2. Add code comments for the places to set numa_fw_nid_name.<br>
v7 -&gt; v8:<br>
&nbsp;1. Change &quot;of shift too small&quot; to &quot;or shift too small&=
quot;.<br>
&nbsp;2. Add numa_fw_nid_name setting in srat_parse_regions after<br>
&nbsp;&nbsp;&nbsp; acpi_table_parse succeeded.<br>
v6 -&gt; v7:<br>
&nbsp;1. Restore %d for nodeid_t in dump_numa.<br>
&nbsp;2. Use sizeof(page_num_node) for page_num_node size in memset.<br>
&nbsp;3. Add description for using min(PADDR_BITS, BITS_PER_LONG - 1)<br>
&nbsp;&nbsp;&nbsp; to calculate the shift when only one node is in the syst=
em.<br>
&nbsp;4. Use %pd for domain print in dump_numa.<br>
&nbsp;5. Add __init for arch_numa_unavailable.<br>
&nbsp;6. Use __ro_after_init for mem_hotplug.<br>
&nbsp;7. Use &quot;???&quot; instead of &quot;NONAME&quot; for unset numa_f=
w_nid_name.<br>
&nbsp;8. Fix code-style.<br>
v5 -&gt; v6:<br>
&nbsp;1. Revert arch_numa_broken to arch_numa_disabled, as acpi_numa<br>
&nbsp;&nbsp;&nbsp; can be set to -1 by users. So acpi_numa &lt; 0 does not =
mean<br>
&nbsp;&nbsp;&nbsp; a broken firmware.<br>
&nbsp;2. Replace numa_scan_node to numa_process_nodes in commit log.<br>
&nbsp;3. Limit the scope of page_num_node, vnuma and page of numa_setup<br>
&nbsp;&nbsp;&nbsp; function.<br>
&nbsp;4. Use memset to init page_num_node instead of for_each_online_node.<=
br>
&nbsp;5. Use %u instead of %d for nodeid_t and j in numa_setup print<br>
&nbsp;&nbsp;&nbsp; messages.<br>
&nbsp;6. Use min(PADDR_BITS, BITS_PER_LONG - 1) to calculate the shift<br>
&nbsp;&nbsp;&nbsp; when only one node is in the system.<br>
&nbsp;7. Drop the marco: node_to_first_cpu(node)<br>
&nbsp;8. Use arch_numa_unavailable to replace arch_numa_disabled for<br>
&nbsp;&nbsp;&nbsp; acpi_numa &lt;=3D 0.<br>
&nbsp;9. Remove Kconfig for HAS_NUMA_NODE_FWID.<br>
10. Use numa_fw_nid_name for NUMA implementation to set their fw<br>
&nbsp;&nbsp;&nbsp; NUMA node name for print messages.<br>
<br>
v4 -&gt; v5:<br>
&nbsp;1. Use arch_numa_broken instead of arch_numa_disabled for<br>
&nbsp;&nbsp;&nbsp; acpi_numa &lt; 0 check. Because arch_numa_disabled might=
<br>
&nbsp;&nbsp;&nbsp; include acpi_numa &lt; 0 (init failed) and acpi_numa =3D=
=3D 0<br>
&nbsp;&nbsp;&nbsp; (no data or data no init) cases.<br>
&nbsp;2. Use nodeid_t instead of uint8_t for memnodemap.<br>
&nbsp;3. Restore to use typeof(*memnodemap) for _memnodemap, this will avoi=
d the<br>
&nbsp;&nbsp;&nbsp; further adjustments for _memnodemap's type.<br>
&nbsp;4. Use __ro_after_init for numa_off.<br>
&nbsp;5. Use pointer-to-const for proper function parameters.<br>
&nbsp;6. Use unsigned int for variables that are not realy used for node ID=
.<br>
&nbsp;7. Fix code comments code-style and adjust the length.<br>
&nbsp;8. Fix code-styles.<br>
&nbsp;9. Rename numa_scan_nodes to numa_process_nodes.<br>
10. Defer introduce arch_numa_disabled for acpi_numa &lt;=3D 0. And remove<=
br>
&nbsp;&nbsp;&nbsp; the paramter init_as_disable of arch_numa_disabled.<br>
11. Fix typo &quot;expandsion&quot;.<br>
12. Fix Indentation for l1tf_safe_maddr.<br>
13. Remove double blank lines.<br>
14. Add a space between for_each_node_mask and '('.<br>
&nbsp;&nbsp;&nbsp; Add a space page_list_for_each and '('.<br>
15. Use bool for nodes_cover_memory return value.<br>
16. Use a plain &quot;int ret&quot; to record compute_hash_shift return val=
ue.<br>
17. Add a blank line before the function's main &quot;return&quot;.<br>
18. Add new Kconfig option HAS_NUMA_NODE_FWID to common/Kconfig.<br>
<br>
v3 -&gt; v4:<br>
&nbsp;1. Add init_as_disable as arch_numa_disabled parameter in the patche<=
br>
&nbsp;&nbsp;&nbsp; where use it.<br>
&nbsp;2. Drop unnecessary &quot;else&quot; from arch_numa_setup, and fix it=
s<br>
&nbsp;&nbsp; indentation.<br>
&nbsp;3. Restore compute_hash_shift's return value to int.<br>
&nbsp;4. Remove unnecessary parentheses for macros.<br>
&nbsp;5. Use unsigned int for proper variables.<br>
&nbsp;6. Fix some code-style.<br>
&nbsp;7. Move arch_get_ram_range function comment to header file.<br>
&nbsp;8. Use bool for found, and add a new &quot;err&quot; for the return<b=
r>
&nbsp;&nbsp;&nbsp; value of arch_get_ram_range.<br>
&nbsp;9. Use -ENODATA instead of -EINVAL for non-RAM type ranges.<br>
10. Use bool as return value for functions that only return<br>
&nbsp;&nbsp;&nbsp; 0/1 or 0/-EINVAL.<br>
11. Move mem_hotplug to a proper place in mm.h<br>
12. Remove useless &quot;size&quot; in numa_scan_nodes.<br>
13. Add CONFIG_HAS_NUMA_NODE_FWID to gate print the mapping<br>
&nbsp;&nbsp;&nbsp; between node id and architectural node id (fw node id).<=
br>
<br>
v2 -&gt; v3:<br>
&nbsp;1. Drop enumeration of numa status.<br>
&nbsp;2. Use helpers to get/update acpi_numa.<br>
&nbsp;3. Insert spaces among parameters of strncmp in numa_setup.<br>
&nbsp;4. Drop helpers to access mem_hotplug. Export mem_hotplug for all arc=
h.<br>
&nbsp;5. Remove acpi.h from common/numa.c.<br>
&nbsp;6. Rename acpi_scan_nodes to numa_scan_nodes.<br>
&nbsp;7. Replace u8 by uint8_t for memnodemap.<br>
&nbsp;8. Use unsigned int for memnode_shift and adjust related functions<br=
>
&nbsp;&nbsp;&nbsp; (compute_hash_shift, populate_memnodemap) to use correct=
 types for<br>
&nbsp;&nbsp;&nbsp; return values or parameters.<br>
&nbsp;9. Use nodeid_t for nodeid and node numbers.<br>
10. Use __read_mostly and __ro_after_init for appropriate variables.<br>
11. Adjust the __read_mostly and __initdata location for some variables.<br=
>
12. Convert from plain int to unsigned for cpuid and other proper <br>
13. Remove unnecessary change items in history.<br>
14. Rename arch_get_memory_map to arch_get_ram_range.<br>
15. Use -ENOENT instead of -ENODEV to indicate end of memory map.<br>
16. Add description to code comment that arch_get_ram_range returns<br>
&nbsp;&nbsp;&nbsp; RAM range in [start, end) format.<br>
17. Rename bad_srat to numa_fw_bad.<br>
18. Rename node_to_pxm to numa_node_to_arch_nid.<br>
19. Merge patch#7 and #8 into patch#6.<br>
20. Move NR_NODE_MEMBLKS from x86/acpi.h to common/numa.h<br>
22. Use 2-64 for node range.<br>
<br>
v1 -&gt; v2:<br>
&nbsp;1. Refine the commit messages of several patches.<br>
&nbsp;2. Merge v1 patch#9,10 into one patch. Introduce the new functions<br=
>
&nbsp;&nbsp;&nbsp; in the same patch that this patch will be used first tim=
e.<br>
&nbsp;3. Fold if ( end &gt; mem_hotplug ) to mem_hotplug_update_boundary,<b=
r>
&nbsp;&nbsp;&nbsp; in this case, we can drop mem_hotplug_boundary.<br>
&nbsp;4. Remove fw_numa, use enumeration to replace numa_off and acpi_numa.=
<br>
&nbsp;5. Correct return value of srat_disabled.<br>
&nbsp;6. Introduce numa_enabled_with_firmware.<br>
&nbsp;7. Refine the justification of using !node_data[nid].node_spanned_pag=
es.<br>
&nbsp;8. Use ASSERT to replace VIRTUAL_BUG_ON in phys_to_nid.<br>
&nbsp;9. Adjust the conditional express for ASSERT.<br>
10. Move MAX_NUMNODES from xen/numa.h to asm/numa.h for x86.<br>
11. Use conditional macro to gate MAX_NUMNODES for other architectures.<br>
12. Use arch_get_memory_map to replace arch_get_memory_bank_range<br>
&nbsp;&nbsp;&nbsp; and arch_get_memory_bank_number.<br>
13. Remove the !start || !end check, because caller guarantee<br>
&nbsp;&nbsp;&nbsp; these two pointers will not be NULL.<br>
14. Add code comment for numa_update_node_memblks to explain:<br>
&nbsp;&nbsp;&nbsp; Assumes all memory regions belonging to a single node<br=
>
&nbsp;&nbsp;&nbsp; are in one chunk. Holes between them will be included<br=
>
&nbsp;&nbsp;&nbsp; in the node.<br>
15. Merge this single patch instead of serval patches to move<br>
&nbsp;&nbsp;&nbsp; x86 SRAT code to common.<br>
16. Export node_to_pxm to keep pxm information in NUMA scan<br>
&nbsp;&nbsp;&nbsp; nodes error messages.<br>
17. Change the code style to target file's Xen code-style.<br>
18. Adjust some __init and __initdata for some functions and<br>
&nbsp;&nbsp;&nbsp; variables.<br>
19. Replace CONFIG_ACPI_NUMA by CONFIG_NUMA. Replace &quot;SRAT&quot; texts=
.<br>
20. Turn numa_scan_nodes to static.<br>
21. Change NR_NUMA_NODES upper bound from 4095 to 255.<br>
<br>
Wei Chen (6):<br>
&nbsp; xen/x86: Provide helpers for common code to access acpi_numa<br>
&nbsp; xen/x86: move generically usable NUMA code from x86 to common<br>
&nbsp; xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid<br>
&nbsp; xen/x86: use arch_get_ram_range to get information from E820 map<br>
&nbsp; xen/x86: move NUMA process nodes nodes code from x86 to common<br>
&nbsp; xen: introduce a Kconfig option to configure NUMA nodes number<br>
<br>
&nbsp;xen/arch/Kconfig&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; 11 +<br>
&nbsp;xen/arch/x86/include/asm/acpi.h&nbsp; |&nbsp;&nbsp; 2 -<br>
&nbsp;xen/arch/x86/include/asm/mm.h&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp; 2 -<br>
&nbsp;xen/arch/x86/include/asm/numa.h&nbsp; |&nbsp; 61 +--<br>
&nbsp;xen/arch/x86/include/asm/setup.h |&nbsp;&nbsp; 1 -<br>
&nbsp;xen/arch/x86/mm.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp; 2 -<br>
&nbsp;xen/arch/x86/numa.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; | 441 +----------------<br>
&nbsp;xen/arch/x86/smpboot.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; |&nbsp;&nbsp; 2 +-<br>
&nbsp;xen/arch/x86/srat.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; | 337 ++-----------<br>
&nbsp;xen/common/Makefile&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp; 1 +<br>
&nbsp;xen/common/numa.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | 803 ++++++++++++++++++++++++++++++=
+<br>
&nbsp;xen/common/page_alloc.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp; |&nbsp;&nbsp; 2 +<br>
&nbsp;xen/include/xen/mm.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp; |&nbsp;&nbsp; 2 +<br>
&nbsp;xen/include/xen/numa.h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; |&nbsp; 96 +++-<br>
&nbsp;14 files changed, 964 insertions(+), 799 deletions(-)<br>
&nbsp;create mode 100644 xen/common/numa.c<br>
<br>
-- <br>
2.25.1<br>
<br>
<o:p></o:p></span></p>
</div>
</div>
</body>
</html>

--_000_SJ0PR03MB5405FBAFC3B531CD150E6C599DE09SJ0PR03MB5405namp_--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 09:09:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 09:09:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461846.719997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5NlY-0005OA-Dl; Wed, 14 Dec 2022 09:09:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461846.719997; Wed, 14 Dec 2022 09:09:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5NlY-0005O3-9f; Wed, 14 Dec 2022 09:09:28 +0000
Received: by outflank-mailman (input) for mailman id 461846;
 Wed, 14 Dec 2022 09:09:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5NlX-0005Nx-4M
 for xen-devel@lists.xen.org; Wed, 14 Dec 2022 09:09:27 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2056.outbound.protection.outlook.com [40.107.22.56])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0199b1c0-7b8f-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 10:09:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB7185.eurprd04.prod.outlook.com (2603:10a6:208:19d::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 14 Dec
 2022 09:09:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 09:09:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0199b1c0-7b8f-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y38XZjczS4W/ks7xVsjr3tcUZGdBJ/PxpLoecZ0oYTDQ5y1oPa3mYd5BGO/OeT2f4xoSkdkVgZipixWErXBUPAivgEZHhHncUSqGIWK4VdcyYFcAzwxp/yS+S0aEl5qcb3t7J0oZ1GJeYti162srHCeUva7WDsOcCktYQS6GkHx1Fy2JhRWyQbd3zt6w6FU5PvSoRYa8OAx4UuCUhz3PdhccfA50ZoJ/aGa9WuG1DR5+wRFvGVLKD47Ly5Xr468w8ytoBpLnXrjsiGReR0d4em9c0lAtfqxL0GBRy+TJocUlRqb0HAZB3RblM139szCdw2rkyNQypJ5jCpe/fhlz4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IS4SLI/aYBwcqNtkEeoDT6szLWznrVlJ2qNED8YZLhY=;
 b=QKoDybMBdwFHU5DMwwUE0HoYJuVcAz3NU7QHQgl0jzdgc9ZEcO/1Qj6+5rWiGPUbWE8hRLfFP9dfkNGTsIwt+sQu6mJyMUYcZyg7ut0Tee79kUoEXMNGmB3KYN5V4Yj0JcTjLseNZn/HdJ7IBmu/jJ3U6lN/U2FJCnUIyPkoo/7Ac1EC3NP/4pGFkjhulXj+xU/iTc/Shly4nprqbe6m5Ou2QQvnElj730USMppv9MJ6ZLNJD4CpqlRtzmLayLeQIqzyxkEuCfhdgxbYpXEAPMe6F8KZJdiq4hVimAN3UgKoYYbjA9fJtf7LR7oWXfdmJHhXQ0Z0N3yX3n5fwR6s/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IS4SLI/aYBwcqNtkEeoDT6szLWznrVlJ2qNED8YZLhY=;
 b=yPEce5vpTBfR2wXGAeABGFRik/y1d4XofLs23u50BaSDpTYMvqTwZ2PXDUZCTX7PLXJSIGp5g2oNbepoGCt9aR/PW2CTQD2SRMeIdpxpugYxtpLomuBR7XfLp8fmzN5zR5h4ifAGzNgs9pXlVESqvFN4wSdm1HnX7IKbie1vh0OV250zguulQjb2XF06wl9j73nMjqeFOBywsujohrLykl08h8XOG5hk6ZWLJF65lHIM6Rh9aDVqOTH4DicRxW6llFzifw/RBKpgiI7kwtO2aE/yuvVDrXYnB8gysCzdxLUj+zbzQSIfd1dlswLM3UDZqwxFPZ7oA7EaMxEZYwKfvw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f7f24676-b251-a7d0-b169-8229704c9f8c@suse.com>
Date: Wed, 14 Dec 2022 10:09:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH V10 0/3] toolstack support for generic virtio devices on
 Arm
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>,
 Oleksandr Tyshchenko <olekstysh@gmail.com>,
 Anthony PERARD <anthony.perard@citrix.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xen.org,
 Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>
References: <cover.1670994930.git.viresh.kumar@linaro.org>
 <47096c1c-4b03-2e3d-c28b-c8920b7d31f9@suse.com>
 <20221214083456.4w6raz7wop3ajtve@vireshk-i7>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221214083456.4w6raz7wop3ajtve@vireshk-i7>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0052.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB7185:EE_
X-MS-Office365-Filtering-Correlation-Id: 2d647a58-a142-4b97-2946-08daddb2e4a9
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gB1LttCGBFKw8I5/aSCbj7f8Bj3v5w0BsYMu+0UInvGLv1wifdCK1jt0EMQEXNvkWBEG2QvaRQuZdK/9G14BKDurPKPe+5gIX/fKPoapTA66cNa64v1Q12DFMvo8kdj2MqZ7ajMNQ015HfrKoX2SktCw24KlLa07RlP1lH+5HT5c4BOT/WI+0nJqe7y8jo+oTItScQLqJGWoKSK618O/pb5VByuYreNnCWI5VPBiM6zyogqn89D1YJyX6+lCq8vZllcjdtP7vYL3RwGPMWe6LqJXczk1NM6BcZJcEZ4yyk9oon7ZHkN/boVjUVnDmJ9vP2DjkzJWmA9fCxsAeqAqTJXPe+VrEbc5bfrzLZg/eNy0gUxCIlryTXkmkg+57FnH45GeVwxznUn84seKou0KbxiJKIEezuWjZfMQNF5Vx4SaVU4+qKehzy4k+SPMrs8WGp+JlieyRqxevNhOU9xTs4QnAjWMBYuIe58rgfSL1PFhHt1mILcu4SwN6z5BP1fE5ZAg4tHIM+mjNmze0gjUJHP6of0Emvq0b+3yVFFH07NDQ0VXFiKphBaMEOnihRDLEBObjOMcnv0sxNKgmG46F6VuAzK2w1mZ85l/zCmMAXuxvaqR4UnpnGLdu1Zepk3hpqi4olTe6+GRoDF24+H8QQ64qIy+ERoMjhHpLBxJDORkTlDL2G+JL1IsItH4Tg1HhKUOisKOVXSHCZE6RSGXs0eAW8t0TILOYpFFQVBOGczygOV/JKyCsL/SUnSCa1T+
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(39860400002)(366004)(376002)(346002)(136003)(451199015)(31686004)(31696002)(86362001)(2616005)(83380400001)(110136005)(316002)(54906003)(36756003)(38100700002)(186003)(6506007)(53546011)(26005)(6512007)(7416002)(2906002)(478600001)(6486002)(8936002)(41300700001)(5660300002)(8676002)(4326008)(66556008)(66946007)(66476007)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UmZXOUpFNnNRWEdHNjRLUGx1eUFHQkxwMlZIcVdLUG9nUFV6YW5qamVsNmNa?=
 =?utf-8?B?akwzbDRWN3Jmei9DVWlTUWhtelN1S0FFbHFPamtDME5iN3RkMXZTTWNQbkhy?=
 =?utf-8?B?TlJ2N29PaGEzb25FT3VjVkFDaHR6ZlM2K2hTVGNURXUxQ29oSkU0VEJkU2tl?=
 =?utf-8?B?d1gzdk1yWjZIaUQ1ZmtLMUFsbm9zcEYvVXU5SmsxZWp5ZGROQWdrUWRRTC9U?=
 =?utf-8?B?cWo4ZHplL2k5UVArVGxpY2JQbzR4SS9wQU5oelJHb3p2TURpQWx4SHdhZEw0?=
 =?utf-8?B?c1E0dEZkVFRhNUp4VFNzbWU2N3E1WGxiVUY2TjF2Yi96bkROK1p2UFJGR3Q0?=
 =?utf-8?B?UEw1SjhqUDNHRkNqTzRWNDA5WDBmaVliV1BPMHg1anBUQ204bjVwb0pXWnRX?=
 =?utf-8?B?Yit1VGNzTHRwOTNheW5TQ2pURENPaGloNS9lZXpMbXM4d0ZraHI0K0U3OFM2?=
 =?utf-8?B?NTJPY2xMdExzdG9wMWp1eWFOT1Z5VlJRK1huRjBVUTE4MEFGMEJaclVtOHc4?=
 =?utf-8?B?WFhRZTR5b0NkeHdmWXc0dGxuN0JzLzVzWlZjZjBNOXpLdHBMa0VSZ1FyZ05i?=
 =?utf-8?B?NXp6dVY4R3hRMUU0UGQ0dVNVeEU5SlNsQVV5Vnl6b2tpaDVjOHdXc1lMK013?=
 =?utf-8?B?c2QxcXhOb0xOZDc5S3pYR2dyRityUHRsc3hBVFR6Qnp6UUNqbkNLY3pCdlJY?=
 =?utf-8?B?Y1d3VExMK1ZNbzBNQUlScUNJZjU4WThrUUhPQ3VqTS90L3RJbFBnczdBcGxU?=
 =?utf-8?B?Tmt0RFZtWE1kNVJ0OFBzZWNWZ1RwTVdVOHhwUkRIWFhUSVZNSVdOWU13UGRo?=
 =?utf-8?B?VVVubEVZVnNVYmE4OU01OURGeXBTb05iUWVNakgvdDhZOFJlMEZqaG0vaWo2?=
 =?utf-8?B?U0NvYnNkVXdvdHFZVWk4WlFFNW1jUjUzaGNwdGdISFJ4QUtlRnJ1amZ2VS9o?=
 =?utf-8?B?SExac3dFcW84QTUvZFdHNS9ucmNGS2Ixeit2Ykh4QjZncnp0MEg2bDMxK3ZB?=
 =?utf-8?B?Z3JUd2UycU82QS91c1M3WEV4ckh5NFV2WGlkUVBLSlB1TmRJUXd0RlBYUlRK?=
 =?utf-8?B?dmNadXExTXNpWFpLUm5OMGJ1QUx4MDI5ZWNKekRzcUJMRElONXBVNVM5SzJk?=
 =?utf-8?B?ZTRhYWJaN0J0a1BucVJQWlFsTm52dWpBeUJVV3NyWUdIUW1PUEhBUTZueVFs?=
 =?utf-8?B?MFcxTC95aDlqN3JKV0lmVm50dlBDbTRDMVI3QWQxNXR2SlFDeHIvWFU2b3dn?=
 =?utf-8?B?Wi9ZQ0dZUkRVNkpFVThTdDFTcWJwWDlSM0lMSVFHSHN3TWl4Y2JUZXNRUWpk?=
 =?utf-8?B?RS9sNmVrT1lVS2prdFlhYzFJZitaKy9TNGNSYlFkeXlUbkg5d1JHdXdWenRM?=
 =?utf-8?B?WUxtNDdkQk12VGRYYmY3ZzAwRXNHYzFRVkhMTlV2dVUwQnFVUW1oV1M4UWFY?=
 =?utf-8?B?TlZyUXRreC9nN29Rd0lZaE96K01qUm9oSVNzTGVKTDExZ3Ryc1NJR3k0ZEdV?=
 =?utf-8?B?c2tPMHVqQlBuYkRLOFAyQ0FyWXluamQ3SUZ5UStzR0N3eE8zUTM1VTFIdFBR?=
 =?utf-8?B?Qi9zTFhqa0RqTnpGWnJRbnRXSnZzdnowTHRBR0R2Z1R1N2Jwb2NIQXZTN0tv?=
 =?utf-8?B?eGxCVDFGR09FWmFSL3AvQlhEdDlTU3ZHL2lWbm5oSUpkRlVFaFhCUFByTzJS?=
 =?utf-8?B?T3p5SDhNK1BnZGpwSkw1SG1obENJU0NnZHBwbDdnQ3JyL0wxczlVb0FWeXBk?=
 =?utf-8?B?Zm8yUDFORXFWaHBSeFhxQThoNlB1Y0Y2eEJXZ01Cb2RnOFZYL3U0YVB4VzJP?=
 =?utf-8?B?VEVTU2dNQU8yVGpLb1l3bm9sTXZ2aUI2NW13aWJucEtaM041NlNIUUZGRGxs?=
 =?utf-8?B?YWdES3V5Yk1pUmxtTXJLMDdEeWJxTnJhZlpYT2MzMnBCY1EvREdqNFpkK25N?=
 =?utf-8?B?VGVqczJ5akhlVjR6M2ZFUTVrVWo3MmRYencxRnh1Smo0WFRxUW8zYU9vL0VV?=
 =?utf-8?B?eCtIVzcyRXFkWTRtbDhMNmZaaEJqRk50bjF4bXU1b2ZxdEY4UW5DbE9zeFhB?=
 =?utf-8?B?UWxoWDJoZGt2K3ozcjJETGljSExxd2tldTZmQ0VFTFowSHh1Uzd0Z1RsMEFT?=
 =?utf-8?Q?Kyx1StdN4gyero4ToBdHy5U5s?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2d647a58-a142-4b97-2946-08daddb2e4a9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 09:09:23.8898
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CGwzX91Lv/eGZ4+WwdfZUBWQfNrqTRYh1EpbPnGE+jBc4VK/ql1EXpnq39MFtgLCFtG8gFOFNLiKxwObyEiRLA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7185

On 14.12.2022 09:34, Viresh Kumar wrote:
> On 14-12-22, 09:21, Jan Beulich wrote:
>> On 14.12.2022 06:19, Viresh Kumar wrote:
>>> This patchset adds toolstack support for I2C, GPIO and generic virtio devices.
>>> This is inspired from the work done by Oleksandr for the Disk device.
>>>
>>> This is developed as part of Linaro's Project Stratos, where we are working
>>> towards Hypervisor agnostic Rust based backends [1].
>>>
>>> This is based of Xen's master branch.
>>>
>>> V9->V10:
>>> - Swap I2C/GPIO compatible strings, they were wrongly added earlier.
>>> - Arrange tags in timely order and add new ones.
>>
>> The affected patch surely needed all tags to be dropped which weren't
>> explicitly indicated to remain valid across the bug fix.
> 
> Hmm, since it was a very small change (only fixed the compatible
> strings) I thought it would be okay to carry the tags and rather harsh
> to the reviewers to drop them, since they invested a lot of time
> reviewing these. Though I do get what you are suggesting here.
> 
> Should I ask Oleksandr / Anthony to provide their tags for patch 1/3
> again ?

Let's simply wait for them to confirm their tags.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 09:10:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 09:10:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461854.720008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Nm8-0006MY-Lh; Wed, 14 Dec 2022 09:10:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461854.720008; Wed, 14 Dec 2022 09:10:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Nm8-0006M6-Ix; Wed, 14 Dec 2022 09:10:04 +0000
Received: by outflank-mailman (input) for mailman id 461854;
 Wed, 14 Dec 2022 09:10:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5Nm6-00065G-Q5
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 09:10:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5Nm4-0003CE-Ol; Wed, 14 Dec 2022 09:10:00 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5Nm4-0003qd-IK; Wed, 14 Dec 2022 09:10:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=JkujZxZJaKoOVKDxceTX6dLjhOzTugtyosrKFGID73U=; b=Ud0xicYTf+CSEljdw6zP7Chn0n
	Y3NBR6aNCnvCMj1v08IHgA3WdHipklvZPABFrw4tUa/x6HNAxYh+rJGGg1AjJmSLRR9DYqNfio1hH
	qXB9DZNY7qlDoH+a9aUFwLpofnplZSHRl2HPwZpOeJQn1112ErbRrt+SoXSwF2qB5BAQ=;
Message-ID: <ce49d2e8-294a-18d0-c094-dd352dca1936@xen.org>
Date: Wed, 14 Dec 2022 09:09:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [RFC 3/4] Add xen superpage splitting support to arm
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 "Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <BN0P110MB1642CCC518921DC7F2BB3BB3CFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <c8f9e15a-81d1-ef8c-0baf-1758e7d89eee@xen.org> <Y5j5/qinMwxizxMc@itl-email>
 <dd6a05d5-5c3d-7a65-9951-b9c0aabadc81@xen.org> <Y5kpFMp38Yg7If/Y@itl-email>
From: Julien Grall <julien@xen.org>
In-Reply-To: <Y5kpFMp38Yg7If/Y@itl-email>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Demi,

On 14/12/2022 01:38, Demi Marie Obenour wrote:
> On Tue, Dec 13, 2022 at 11:07:55PM +0000, Julien Grall wrote:
>> Hi Demi,
>>
>> On 13/12/2022 22:17, Demi Marie Obenour wrote:
>>> On Tue, Dec 13, 2022 at 09:15:49PM +0000, Julien Grall wrote:
> 
> [snip]
> 
>>>>> +
>>>>> +    /*
>>>>> +     * Generate the entry for this new table we created,
>>>>> +     * and write it back in place of the superpage entry.
>>>>> +     */
>>>>
>>>> I am afraid this is not compliant with the Arm Arm. If you want to update
>>>> valid entry (e.g. shattering a superpage), then you need to follow the
>>>> break-before-make sequence. This means that:
>>>>     1. Replace the valid entry with an entry with an invalid one
>>>>     2. Flush the TLBs
>>>>     3. Write the new entry
>>>>
>>>> Those steps will make your code compliant but it also means that a virtual
>>>> address will be temporarily invalid so you could take a fault in the middle
>>>> of your split if your stack or the table was part of the region. The same
>>>> could happen for the other running CPUs but this is less problematic as they
>>>> could spin on the page-table lock.
>>>
>>> Could this be worked around by writing the critical section in
>>> assembler?
>>
>> Everything is feasible. Is this worth it? I don't think so. There are way we
>> can avoid the shattering at first by simply not mapping all the RAM.
> 
> Good point.  I do wonder what would go wrong if one replaced one live
> PTE with another that pointed to the same physical address. 

It depends what you are modifying the PTE. If you only modify the 
permissions, then that's fine. But anything else could result to TLB 
conflict, loss of coherency...

> Is this
> merely a case of “spec doesn’t allow it”, or does it actually break on
> real hardware?
I have seen issues on real HW if the ordering is not respected. Recent 
version of the Arm Arm introduced the possibility to skip the sequence 
in certain conditions and if the HW supports it (reported via the ID 
registers).

I haven't yet seen such processor.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 09:12:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 09:12:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461864.720019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Noc-0007JD-5B; Wed, 14 Dec 2022 09:12:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461864.720019; Wed, 14 Dec 2022 09:12:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Noc-0007J6-1B; Wed, 14 Dec 2022 09:12:38 +0000
Received: by outflank-mailman (input) for mailman id 461864;
 Wed, 14 Dec 2022 09:12:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5Noa-0007Iw-Op
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 09:12:36 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2077.outbound.protection.outlook.com [40.107.241.77])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72ab2ef2-7b8f-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 10:12:35 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6883.eurprd04.prod.outlook.com (2603:10a6:208:17f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Wed, 14 Dec
 2022 09:12:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 09:12:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72ab2ef2-7b8f-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mFsbB22rpKv73V31mp5CSugZAgslWyBMjc4X+2xLu3jiV3CIDBjaJttP8fFoWFu1zluAbLMtfAXQcqNCaT/tQndYw45wUtPsHns/J9zuYjPGZUZZuRWxosGhK1EUTuwb+7qVnyTMBYsDv30wCV5VD2OiI3KWyWmj2kHdLvMYFbSAMX7JPb2rKtnpOc5yQXAMEXNvHSD5d+cTTCE4H8Bl/fMN0gA6oYqmtxcXDvuSoUPpWRRIlOTKaaY+p/0RyvVOPFDmSZgjaIH7AfU5skJV65jjh4xzaGeMXz44uIZ2uBmamlD95bSsET6uReUTNdbRxDxyjyx0TBspj7NAEyWCEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=frc3gGYnjpPbkoI87ym2uQ+d9o9UoAXztLkCV2dPPCk=;
 b=LuZgWVZyGdYQtLM6Dw0hRQCDPC0Mg6M6XsFVfxZ85C0e5cgvnCh/BcMdYd6i9L3ST+a2APKvfg6ATw8mu0u0c4Bp5TVGylo78ES89XTld+vqIWyEatzSSNzevbfK8NqASvouhkUMX8YKwbf1UZRByMvM91VtQBrXy5bwQjoCFwJ6hr/8ek5zwfLE956kXaJKgAqyuf+ja7IE4fRpFZjBpDtKvYp8mP5A/GW8d9aSm6bVzaWXXo+j+ZfCD9eQhafhiXdnreGcaDL8lBJDb1U50aQiqi3OtFwiZfFDQHIkYiOt3rqOtHuQlyQRwzKP7r1OQ1oXp68ROCFctwDuUa1cww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=frc3gGYnjpPbkoI87ym2uQ+d9o9UoAXztLkCV2dPPCk=;
 b=bcbY7BeGRlm5/Gh3PLs11cFmSM5FXqOfSzBEFsXkF4TiI/OJFcUEebZ6M2t4rbM3cXH5XVLQeUAp/fMbuOSy0p4EJNLG9KjtR2PrukN48OpC6qt23cMM/7z3pWPuAJiqHsAGuH1J8sgT3pg3LNLPc9hS52e6Le8PER1VoPXPK8iE3YPoyBG1adPhf/JM5qSiymczTKuJQfPwkRvV0iuDLRS+A23txIh86lhltpTKrCdOFk/OGQQ8IeRiJeUL2xNXmlp36kJB7nnI+HxwT0JEMiu1JPyLS346GELatnBGsmOE/IahaHZxvgrml4iUz5laISsn91E+ACMEhtTWGgaDDA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <783285b1-d137-30e4-735b-6628f9fbdafd@suse.com>
Date: Wed, 14 Dec 2022 10:12:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH RFC 03/10] domain: GADDR based shared guest area
 registration alternative - teardown
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <214c9ec9-b948-1ca6-24d6-4e7f8852ac45@suse.com>
 <46fefa9d-5bba-0738-2ea9-86c07fbcfde2@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <46fefa9d-5bba-0738-2ea9-86c07fbcfde2@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0002.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB6883:EE_
X-MS-Office365-Filtering-Correlation-Id: 8c10fa6c-0e19-455b-6f9a-08daddb3558c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WJl8M8Lt4MbCvcppUMXvGY7rQ3PtXkCS27Tg+x3XLNPvl0uYV7iXjJV2Ey3TBHoQ4rO6ahRa8NywEm2HT7k12IYpeWbnQwmHILAl2udEImYt+TccyTk7ESXCsvq5DoTu3pM2o6AdhhGqsF30bS7mg/mjd1xVxPCyhaZGfj0OGHqYzwCz6nuA6EUGNZti1Hyo9rXyO9o78l3dfOGdRNaqXqu4QnsIv4PVXA94B+y5WR3hLIz8Vta69irh2fDddK6vMH5lagswJzgLjrucVkKJa+7WiIor0u7x8fxCS7w7e0V9zHEJmMbv5Cfhkai4uyxX/NxjDsmey3DYwsZ2Z2jaIklDdcAsqc/QbPCZf8EPMtlmfvFjjA9NRLFp8T08sOJnK4U2tQon4qc0YbfcOh786RcNoG7HKJxoLo/DyEqMS4lEENpl+diA3KtQla66RUxS24E3z/C21je8H8ybugmvwJBwPNRGIMW33jI22o+4NF/yVRxLghg8zCtF0icn8c80slToLBKsFUDmoNSlxYgpyWNANsLUEuqWZt5omc5GMk7qx0iG4b25snDonH2XGm5Jd5eZ/4tHfpSn3gIfa7A5LII1as0UOBqrn1aJJ2fR28QcYvaiG0l9oK31h3XAPSs8sBHPsj/fMBdHsT4G1TT+nQ/Qaba2r+ZHqmXU/NL/rK8z6Y8c/NqaoPsL1h4Uj2oDwQ9x//hqHqV/eEnwvkWiANbCELAL8v2pk0RF60qEMcA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(396003)(366004)(39860400002)(376002)(451199015)(2616005)(6916009)(316002)(31686004)(54906003)(31696002)(86362001)(38100700002)(8936002)(5660300002)(41300700001)(6486002)(36756003)(478600001)(2906002)(4326008)(8676002)(66556008)(66476007)(66946007)(186003)(53546011)(26005)(6512007)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?emdCeUJuMFRDQ3NBVmUxVTNablB5R1JaVzJzZHdiWDB6YzM0T0ZQSHM3Sk9w?=
 =?utf-8?B?Q1B4SXVIajQ5M3BxVkc5RjJDaUYyMDJEeUY1YlF6Yk5NS24wNEZ2d2d4d29R?=
 =?utf-8?B?cEJKYnc1OUJSeVJWVi9wbGdCcHlkV2t5NWIzeVo0TTE3RTdHNWVUMlFuVHBZ?=
 =?utf-8?B?aE4waDJOZERwS0NBcXFNcjdrR0E5bVhYSEg1c3Z2cHJ4Q0RFYXR2V0FDYXkr?=
 =?utf-8?B?aDNtcmM2dFFZQmhiWERUNkdsekZPYmhYWHVVU2I4TUJ0cFQ0NlVRMGV0NlU1?=
 =?utf-8?B?MW0vaHI5RDA1UjVXUnZEcFhCNXNSTUp0V0tyelFQNFo1azhIVHF3ZXlxdVhS?=
 =?utf-8?B?M2RWZW9VRU0wTG9ZMnZTbFdrbUlyUnVMVExTc0lNd3ZrbVF4d2txZHhjSERF?=
 =?utf-8?B?ejVMT3MvcGNreERXb3BrQWFKUHg1RHM2TEhCdGEwbE5COEExM3hRaVFhSFoy?=
 =?utf-8?B?VkhSV0xVM2diVytjOHkyNDM2dllaT0R3TEpRWEMvYWRHMnNWRkhmQkFnOVVT?=
 =?utf-8?B?WGxtbC9rdW9VVFpXQ2E2K2JLOC8rSERqRmxwR1BXSnpESi94bFdLNkFIczQ2?=
 =?utf-8?B?Q3ZNRlhWWnRUbksyeldyY3lwcDU3NFhQWmFxUUc1elF6SWdnU1dhRFNlY1hL?=
 =?utf-8?B?VlQ4dmJiNElUQ0w4Tm4xV0puT0taUG1GYmlRMGxHTFk3YzIvcHlRV0hVWU13?=
 =?utf-8?B?bEZCQklFQWNmUHpHSVA5K1Y5MUNmeGxGcGlSVFA3NEgxQ3dBU2NZeWFNaThW?=
 =?utf-8?B?MVF3VmM5a1BkcDk1L1RXenhNWGZISnJlUm8zWFN5TmdFajlaMWZxT3FzdHdM?=
 =?utf-8?B?Zlp1bjRlakZXS1NNc2dVMU1URG5DYytHakNXWVgxWEFxRC9BaEhCMnlFYUsr?=
 =?utf-8?B?VE1EVC8rSld3bUhJdW9LQU5sQm1nY3NRTFBtSGJFKzdKZHM2cUhZVUZlTFZC?=
 =?utf-8?B?QkcrSUJJT1hnWWFiWmNSZWxnNU1KaDdwUTIxc1h5WDYxRGRxNXdXancxWksx?=
 =?utf-8?B?dWFJOGdzTGZISUNDbzhPWEhOTU5abW9YV2MwaHJCQnVFc2pOeXBDWW4yRExW?=
 =?utf-8?B?R3dRN0tKUi9WTmVlZDhja0VtWGRTemJQa1AvdTVFcjhGV2gxRXlrWFppL3Vo?=
 =?utf-8?B?R0dUdWdoQXJCc2JtQkV5VlVMVExjWEptTnBnaTZUWktMMi9BNG1KNVkrQjM0?=
 =?utf-8?B?WE1zZXRPZVhnWWxrT3lvQWFFREsxYW1zV2xPc040bUcrRkVlQ3VqcmN3UmFo?=
 =?utf-8?B?VjRkcmFQb2Vsdkh1NnFhZFpUV3RZbjc3eDJUQWdwRWErSFFBWXcvRkxIN1lh?=
 =?utf-8?B?cGZxYW1YQkF4aHlSSW4xaTRPajVnOXJobWRETmMxWGdxbUxxc2NtSVRQYTQy?=
 =?utf-8?B?TWNubnpvcDZBLzJJeFQ4K256VFBtTDJ5MUU4dTh5M2ttTXZIMmpFWmplL1ZK?=
 =?utf-8?B?cUViQ2w3bUc5SmFHZXRQRFdWVjk5WVd0eWhOMzBOME1FYnU3OFA1UzFmZ1d2?=
 =?utf-8?B?MGdQSHB0SDBDazI1RnhkZVhoajI2L2lHZzV4cENRcWdQNExPbW84Mi9iQVFI?=
 =?utf-8?B?K0dGdHg1SHFueURZT3VLTmlBSXNJd1htbTdSSnRqVjVQUGRtT3ZoYjFYTHNq?=
 =?utf-8?B?Z29sSWlDUWxsZXpUMUExOTAwV0lrRkZsbkZvK24vK3BHMi9kSVhQakFiVm5h?=
 =?utf-8?B?cnhEeDZVRExLNkc4eVJTblJRN2lDdUVieDRzc1hiRHZZZmZLaDU4bVArZFlB?=
 =?utf-8?B?KzhGTXlnMWN6eVN5ZW83YWR2MTc4LzNBMGN5dTdkbm10bzRxMDJnTmF0NFNK?=
 =?utf-8?B?YXhURTZXQlA4aXdzOGJlTWlacWlVUGsvM2xmTDkxa2M5bGNGRXNYT1E2MTNy?=
 =?utf-8?B?d0dJckN3QUFxajRuZkdwaURwOCtKRGhxeEcvQ3N3cnpFeDB6RnBpUlBVMkxY?=
 =?utf-8?B?cDlVQXF4bEc3cUFyTmN5T3RiM0g2RStGZzlRR0ZONUw2c2tManpBMHdnSW9H?=
 =?utf-8?B?OWpuancycWliblE3d0laRWxITGltMmhheFF2UWZ0dzBkem1uUDRVVWp6eWpF?=
 =?utf-8?B?Z3VtZVVOWHJYbUtzRGtEVEJHbjUwMWcrNlRZNGs4NG9PdHJuQkNDZUV4aW1W?=
 =?utf-8?Q?Q1tXb4jiUf99Wiwo6bNMFHIcH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8c10fa6c-0e19-455b-6f9a-08daddb3558c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 09:12:33.2685
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zkoNUt0xQ0ml9o63p8SZz3wXIpF1r7m1zd9aPc5KZTPBcG32QyhbW+iKh0zlZsq7UhsnDYdQQ6Ld8vAd4d7pkw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6883

On 13.12.2022 22:44, Julien Grall wrote:
> On 19/10/2022 08:40, Jan Beulich wrote:
>> In preparation of the introduction of new vCPU operations allowing to
>> register the respective areas (one of the two is x86-specific) by
>> guest-physical address, add the necessary domain cleanup hooks.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> RFC: Zapping the areas in pv_shim_shutdown() may not be strictly
>>       necessary: Aiui unmap_vcpu_info() is called only because the vCPU
>>       info area cannot be re-registered. Beyond that I guess the
>>       assumption is that the areas would only be re-registered as they
>>       were before. If that's not the case I wonder whether the guest
>>       handles for both areas shouldn't also be zapped.
> 
> I don't know the code enough to be able to answer it.

Right; I hope the original shim authors to be able to shed some light
on this.

> The code itself looks good to me. With one remark below:
> 
> Reviewed-by: Julien Grall <jgrall@amazon.com>

Thanks.

>> @@ -1555,6 +1559,15 @@ void unmap_vcpu_info(struct vcpu *v)
>>       put_page_and_type(mfn_to_page(mfn));
>>   }
>>   
>> +/*
>> + * This is only intended to be used for domain cleanup (or more generally only
>> + * with at least the respective vCPU, if it's not the current one, reliably
>> + * paused).
>> + */
>> +void unmap_guest_area(struct vcpu *v, struct guest_area *area)
>> +{
> 
> IIUC, you will add the ASSERT() we discussed in patch #7 in this patch. 
> I would be fine if you keep my reviewed-by.

And thanks again. Indeed this is what I have pending for v2:

/*
 * This is only intended to be used for domain cleanup (or more generally only
 * with at least the respective vCPU, if it's not the current one, reliably
 * paused).
 */
void unmap_guest_area(struct vcpu *v, struct guest_area *area)
{
    if ( v != current )
        ASSERT(atomic_read(&v->pause_count) | atomic_read(&d->pause_count));
}

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 09:16:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 09:16:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461874.720033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5NsB-0008By-Lu; Wed, 14 Dec 2022 09:16:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461874.720033; Wed, 14 Dec 2022 09:16:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5NsB-0008Br-J4; Wed, 14 Dec 2022 09:16:19 +0000
Received: by outflank-mailman (input) for mailman id 461874;
 Wed, 14 Dec 2022 09:16:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2C/v=4M=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1p5NsA-0008Bj-ET
 for xen-devel@lists.xen.org; Wed, 14 Dec 2022 09:16:18 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f71cb7a4-7b8f-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 10:16:17 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id p36so9361296lfa.12
 for <xen-devel@lists.xen.org>; Wed, 14 Dec 2022 01:16:17 -0800 (PST)
Received: from [192.168.0.105] ([212.22.223.21])
 by smtp.gmail.com with ESMTPSA id
 w12-20020a05651234cc00b00485caa0f5dfsm738143lfr.44.2022.12.14.01.16.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 14 Dec 2022 01:16:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f71cb7a4-7b8f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=TzU5mIHt6Ft3TWRUfStw39S24fSHuwdJdE133R1GM68=;
        b=e12FYImr1oCGv7fIVKX9pCQNI1y2Ea5QE7ck48IIP143sIp7HHX1xIA6lc7A9E5+E+
         9uLgVYo+DxljV/tOtMOVz9nlzgW3nF+zubSySjKLSrpBYKhXObEgp3sh9aHV5WYtRfqr
         zavNuuex94W8mah2GM2T/AFfVs2SfZGGJh57Q4TxC4P1kg8GUMroE+ir7eUtWQg1+Hb1
         MjPEJf6uvFeL46WUL+6YUjIlQMVs8PVMHHNEuf867LbMslY95B9xIf/fzCREE45nwQGx
         K5lurrEyyfYx7H7l3MuCkFGhfVhyjMMkANOUn9DYcYMm8NRVSVinCYR5yllfIGB4lJE2
         kW3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=TzU5mIHt6Ft3TWRUfStw39S24fSHuwdJdE133R1GM68=;
        b=KdtTywEWScYaykGHSzcUZwzJiK/UlGQmH4ESAjgkR3Z1IjZFd5NpSDZRum19TvRsNh
         JabaeXU4dm/EkMm9PQ08hlIuMo45kZ7AsXSrmcUKdTh4cbu4jx9e/8R27g66wYqWruLS
         bcTimwQwUAo5PfdS/eDCPTTAtkbsf0SRNYaCu5c1vUxK393BV44si6g0i6Udpp5lz7K/
         z0QCjeQSLEFw4wiHCUdNy8kzOr/M9DKPyBBZfldvVTiNuGtJnW3GAYGc9i1LtlLo38+f
         xP96eyWW1AsOCGj8J0cl4010cpGvtUSB7W+g9VhuOGIU5BeXdONm7MfsgaXhS9GfHx97
         DT1w==
X-Gm-Message-State: ANoB5pkzeWqIeMIU655/eNqiXUxCn6vtP9c9y+Vls6SRamwz4GnDEDCN
	s3O+cI0AwTDfiR1uSg3WS7k=
X-Google-Smtp-Source: AA0mqf4OfM1W812ib6P6DFh5Q6RwEjpq696IZF2/2A1Hf+xKtFw0WVqKgapNkds3Vt7uhCJCLg9yBQ==
X-Received: by 2002:a19:ad06:0:b0:4b5:b8a9:b42c with SMTP id t6-20020a19ad06000000b004b5b8a9b42cmr3711348lfc.17.1671009376880;
        Wed, 14 Dec 2022 01:16:16 -0800 (PST)
Message-ID: <9867da27-b67f-e6ad-3d5c-0fdfa65e979e@gmail.com>
Date: Wed, 14 Dec 2022 11:16:14 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [PATCH V10 0/3] toolstack support for generic virtio devices on
 Arm
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Viresh Kumar <viresh.kumar@linaro.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xen.org,
 Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>
References: <cover.1670994930.git.viresh.kumar@linaro.org>
 <47096c1c-4b03-2e3d-c28b-c8920b7d31f9@suse.com>
 <20221214083456.4w6raz7wop3ajtve@vireshk-i7>
 <f7f24676-b251-a7d0-b169-8229704c9f8c@suse.com>
From: Oleksandr <olekstysh@gmail.com>
In-Reply-To: <f7f24676-b251-a7d0-b169-8229704c9f8c@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 14.12.22 11:09, Jan Beulich wrote:

Hello all

> On 14.12.2022 09:34, Viresh Kumar wrote:
>> On 14-12-22, 09:21, Jan Beulich wrote:
>>> On 14.12.2022 06:19, Viresh Kumar wrote:
>>>> This patchset adds toolstack support for I2C, GPIO and generic virtio devices.
>>>> This is inspired from the work done by Oleksandr for the Disk device.
>>>>
>>>> This is developed as part of Linaro's Project Stratos, where we are working
>>>> towards Hypervisor agnostic Rust based backends [1].
>>>>
>>>> This is based of Xen's master branch.
>>>>
>>>> V9->V10:
>>>> - Swap I2C/GPIO compatible strings, they were wrongly added earlier.
>>>> - Arrange tags in timely order and add new ones.
>>> The affected patch surely needed all tags to be dropped which weren't
>>> explicitly indicated to remain valid across the bug fix.
>> Hmm, since it was a very small change (only fixed the compatible
>> strings) I thought it would be okay to carry the tags and rather harsh
>> to the reviewers to drop them, since they invested a lot of time
>> reviewing these. Though I do get what you are suggesting here.
>>
>> Should I ask Oleksandr / Anthony to provide their tags for patch 1/3
>> again ?
> Let's simply wait for them to confirm their tags.


Viresh, I confirm that my R-b for #1/3 is still valid (thanks for making 
a change). I probably should have mentioned that explicitly when making 
a comment.



>
> Jan

-- 
Regards,

Oleksandr Tyshchenko



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 09:18:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 09:18:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461885.720043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Nu3-0000QB-4e; Wed, 14 Dec 2022 09:18:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461885.720043; Wed, 14 Dec 2022 09:18:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Nu3-0000Q4-1d; Wed, 14 Dec 2022 09:18:15 +0000
Received: by outflank-mailman (input) for mailman id 461885;
 Wed, 14 Dec 2022 09:18:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5Nu1-0000Py-Ia
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 09:18:13 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2075.outbound.protection.outlook.com [40.107.21.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b7e28bb-7b90-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 10:18:12 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7832.eurprd04.prod.outlook.com (2603:10a6:20b:2af::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 14 Dec
 2022 09:18:11 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 09:18:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b7e28bb-7b90-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i+v72wj6U0+TIiBETqY1rTx2L3Cvm0SDw08xE3xgq0fgbfG9FUKURE1qeLQo55j+NI6oktwvbQcrky3LSh05cQXIsWBHhoThUxePWc50ixN4W5EdIdMkk8t14/0YprdLpAPGwMzrNqW9tRah0RrEA274EujY+YJOrSsr8nYFjRSZcYe7Ryj4KasaVdyvtYs2cxQ1HdBkTmp5rrddU3wLXv1QUTJLYwqV3ZRWae5LHJcERCoOEvRKvECVP9Q68SqPz9V3MF5gk4mkUMbjr8zCWDcnkpG0aWXHONRJVVyQz0L7XP/r/1lB74uCJC17MFxOEsDKVL7TWSE7TKrJV0iKpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MNepkMkD0YVpjZ9cJ2L9o8KhZZiDjlnOkbz6d7ke/BM=;
 b=E8WT55BpBUjexW1iX8g0hMzCj83BBnsVuPQ2+wrpEPSkokfCcdU4468fBWNv9QULlR0n1WF1lkLrYjHu/wG2Uje03AJpbY5QTHangN4nAQcDMFwGECa5UlZtMHv0XLyYTdf5lOQwE3YRgfmOD+DKHEYXg5/sOGHpKsMf+pde1JXoGqrEDDHqY4VrJVlSWl69m04y1TOGbRFg9lPAJQT4Vsh5rQPDhTYy5wYRROYExo/6OoZLIILyazFeh6/FWFmRsh3RB2G5SHfwhLaAMkvlnEilqS2Z74OxKrXqRJrz3mVLbBDNSMviG4No0Z4Phyf9wLbbsNIPZMgYbS3Kjz6KLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MNepkMkD0YVpjZ9cJ2L9o8KhZZiDjlnOkbz6d7ke/BM=;
 b=Z/ltjlIqSavDxK5cXT41KFuo2FdqFsnCPL8QM1FBvYb1fBC0vuaLtaM/RY8BnqhzQ1jBhKnKj7DG/2AP9sB8Sd7N8W3u1neF827yOljvhBZAvXpDZLiDq2XkBoj/fPQgHV8p6Tf5U8zeLas9ChSo1kcJE2ruEFOruKeCEo39byHf4WiTlRo2xwtEsgeneuZRPrm9eMZ8wdV7Z+wH6ZiPUfRgPdJKcLeBXGvPzOvKlZTjAJdYti1SYRil5dObdO+c4+zVjobRuFVAeHoPmpz3YC4RtBNNPVouPHH1b46ZPAQRihnZBOrDao0v208i09JU3CzDYSz+b9FoU3xbwZJy3A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9cfb2a7d-fa47-b386-b6a5-305b11f2ce6d@suse.com>
Date: Wed, 14 Dec 2022 10:18:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v9 0/6] Device tree based NUMA support for Arm - Part#2
Content-Language: en-US
To: =?UTF-8?B?TGluIExpdSDvvIjliJjmnpfvvIk=?= <lin.liu@citrix.com>
Cc: "nd@arm.com" <nd@arm.com>, Andrew Cooper <Andrew.Cooper3@citrix.com>,
 Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Chen <wei.chen@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20221118104508.768274-1-wei.chen@arm.com>
 <SJ0PR03MB5405FBAFC3B531CD150E6C599DE09@SJ0PR03MB5405.namprd03.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <SJ0PR03MB5405FBAFC3B531CD150E6C599DE09@SJ0PR03MB5405.namprd03.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0029.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7832:EE_
X-MS-Office365-Filtering-Correlation-Id: cad1b643-287e-4031-78c8-08daddb41ede
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jkCV5btlOv4T46U0IzBCBOAjgfTyF6WsXCtTjcqNyle0skUOO7QUAIN1xYBAy0EQOS2RlYO25Tq1U41CvSf9Mu3pTfJ7BXX0HA6GH5cx+XqgLin3gE99SUhwMklCgGibo19W4xOb0PhtWPZJZytYzEMdaN5tpXBJheyRQG5/5FAUTnIFs/IeIMNE0cQctVvT+35sI4IZxdox02hM9XZhRBmD/oAeFCJuYTJKOJlGzBwQrW89rwnVBfOSkb+xQfJti/1YIQ99KsEFOWkMbS2/bTD3UvbGsN2cPqnMe62gZu0PgR/NWvuPe5w2pR6JB6Se4Gm6Pky8tU1ZH/nlhHQ0INTRfM6iICapiyu4Ayv8l/S2vBJVS8F9Y5beDL942j40WNa5c/ykbKeUdTA9KpTHUKttDAp+8ap9ilUq6GmOVjNAUV9A9cqExEYbWDo+wGjGaUC/inAsDxTIxwTXZH6siwmQFxHT6ug6uoRZM47nYfZNXfmVeKrCG0J6Yl8UVNa1uYyXfeqJi5cVzOh6fQMmHfrsgNXXfbj2mRl6p6aXaX1zSGPIzWC8ZPyHVYg7n832wnx6dUAOjVGUTuPABemdMHkRnE1HkTikXILFmTzmcx8GPnpNkmDlVxWbQs6230LwFb9Vq9lo33ykUuviWcdMSABM064pdXFPIHQgN7bFI7qG6ku4VaZrcLpVu986cCvmeacoad5J1s810oYAgSA9jhtpvL9m6rKcKi14u99Ea/SrgWbBbrB3kKBYNSJEpOh+10IemIuk8ZwfXXawdhAu/nlnaS2yrdzAc+WY6VMg5BaAXd00yjRXbOuMblcJpNw1
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(136003)(39860400002)(366004)(396003)(451199015)(2906002)(31686004)(36756003)(4744005)(8936002)(41300700001)(5660300002)(4326008)(83380400001)(7416002)(31696002)(8676002)(2616005)(86362001)(186003)(66476007)(66556008)(66946007)(53546011)(6506007)(6512007)(966005)(6486002)(316002)(26005)(6916009)(54906003)(38100700002)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NlR1S21ZbEd5eTB5aU1MVWtRY3ZQRFhFcEdmYUxZemkyRkxpOGN5cnFtZ2Jh?=
 =?utf-8?B?d25LNk9xQ3VyYVVjV1pjOEY1T1BXby92WS9zOWp6cEdXbENiVDNuaU9rcmVS?=
 =?utf-8?B?NEdVNnAzWE5XSnFQQk1ESDA5Q0U4WStzTGF1MnI3bkNFc0NDckVPc21sVjFW?=
 =?utf-8?B?SitMNXozQy9ucVVHc3FlSzhFYW51OHZXRHpFZWRzTHlKNG1qNklSMzJ4dzMx?=
 =?utf-8?B?YUw0aHY1Vk1QYWtLOS9WS05iWThqblQ5cGRGZXdHRUJJWGRkZlBYN21kc1JD?=
 =?utf-8?B?c09XeWhwL01JaXBMOTE0cm83a1hGRzlkaFhIemRCcEtiTHBVbm1OMVgvT1Vn?=
 =?utf-8?B?eDFLSC95c2RJaDQ0TS91ZUc1cEErN3R2NXhtUFBWVlRnaURGZFpNa0NGNTRU?=
 =?utf-8?B?WlNSZXVVb1dBcEFONmlyUXZEY1Z3NVdqR25ZR0Jqa1pzUnZhc2VnTUJvaURW?=
 =?utf-8?B?VDdVSEhlUC9jYzRZRVhpM0JjdG82UWlMMFViTWRud0ZoT1lQZmlmOEh6d0No?=
 =?utf-8?B?aWY2bGZVOE1QdktkblR0b1ZTNVhLOUd0dXZEWDYzQWJ4NEJTSS9iR251Q0xm?=
 =?utf-8?B?YlJMUVg3b3VUNzNVbldtdGdWK2pFK25lNzlTcWJrUnZKS1JsTjNGdWx4V3pv?=
 =?utf-8?B?UjlpZnNHSW1wOXZlVHdRbWNvVWtQOHJ3bDg2Q21ScjhYMzk0UDRqRjg0Tkti?=
 =?utf-8?B?bnRpVEVXQzBneVlSemlwVVp1M0J2ck1KdFg0TTNkZ3FOWURWa01VUWZuMDhU?=
 =?utf-8?B?dFBOQTlhVDJwdlpuMVJxeW5rbE1VREc5Vlp5c2Y5Q3ZRbkVxS1ZKcGRpMFBw?=
 =?utf-8?B?WEJOa3NYbHFhRVBOcVQwZXJjL2hKNXRUY1FOR01RRXRJWEd2UGpOWlNWbGp1?=
 =?utf-8?B?ckNGVzFmQlJpK004aENwcnRDbHc3d3FIbDdiL2dFYk8rNnQ5Y2QvZnBESFdO?=
 =?utf-8?B?Y0Q2N3FZMElTaFgyT0ZGb3p3aXpMbHJYUnM0TjJwWWg0MTVTSlRPamdvZHNH?=
 =?utf-8?B?U1h3UExiSGFSNStDRkh0ZTE5dWU0TXNNVmZCOWkyU0loZS9IVHNsQjFjYjJ3?=
 =?utf-8?B?VVVxbDVMRUVYMjg2d2ZsOW1tSVBiVmtVZThXRk1HaWdCZFVkT0ZjZlZTczMz?=
 =?utf-8?B?VzNGM0tRRGtpSnlaQkZBVkNacUd6MDg5NDAwWFA5cFc0SFdFSUNiakRwUjRP?=
 =?utf-8?B?ZHdacFNXZGRBLzk4dXk5M2R3cjNsSWVJdFV0S0dzNkYvcFhmU1N6OThwa0xF?=
 =?utf-8?B?dzN1aW9ldXRFL3JwYXFOS1h3UG83SytCcDJwWnJBb29DUUZEdjBVRlFyYlcw?=
 =?utf-8?B?dm84MHZ6dWtQNE4yYmRQOG1IVGtvSm9vN1AzVGhPREMvbUxPVTRianJXNWZl?=
 =?utf-8?B?bUEvMVRUWmFCUlREQldGTU9iVWhwNjExNDFjK28waXc1TDJkc1owWGVKWTlX?=
 =?utf-8?B?aDRpdHFxS1BSTEUrZnhyNUwyd2IxemduM2RiWXR2d0dlNlNUQVhFdkE0OXlX?=
 =?utf-8?B?MzB2MVp6WnZmTW9jZElIdFdlRXd2OE1sNE5pZzV2eFRyUXZidUt0ajRnYjBN?=
 =?utf-8?B?VEFiSkNneU5PR2w5eGJTRUdPRmFJbWZuRjZkWEdmM09jalNiMU4vbkVOekFr?=
 =?utf-8?B?ckhUb2VuQTY3OTBiWlJRRDgvaGJ0MkJ1dDBxeUZXQXlFeDV0MnVmQStSUVFs?=
 =?utf-8?B?Q3NTQVpaMEpGUS9pdG42SjEwRmMwSHNtRzNyTGkzRmI5WkY3YW5zMWk4VEFo?=
 =?utf-8?B?eC9sVG9UQkFOTnRFWVovSzREZTRxbmtTb1Z4Q21HcmNoeGJMUG5XdHlqRWha?=
 =?utf-8?B?Z0tFYnk0ME92YVc2U0F6QVNsVCtvOExtTW5VT3RSRGZ5MmdudzZDUUhoS1pX?=
 =?utf-8?B?WC9md3lEaU1qZDFpOE5pWE0zMXplTTZsWGRuZGNudXVXTlRQQmxCQituNkVB?=
 =?utf-8?B?ai9qbGRLazBiK2VZL2U2YnJhTnE4L0RvMTEyQ0kxYW9PWTAwYU1JVC9aRDdn?=
 =?utf-8?B?aXUxV0lqZmgrUkdla1JZNkp3TXJsc3BoVXlNOFBVNnFxZkRMd2ZoUEZNcjRr?=
 =?utf-8?B?M3lFZlNabHZETmJUK2NjdU1RYTRmK3JhMHhBUy93R3BzMDVadi9PUlhoa2Ux?=
 =?utf-8?Q?XqL5VnevQ0do7Ef6gvsx7uawE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cad1b643-287e-4031-78c8-08daddb41ede
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 09:18:10.9032
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LvpcjUfq8eMW7Qffwr2pNxvvjhWIciL492s4Hz8t4VHVT68SpPvhY2Kfrof9L8Evz8eG8d8AjMcxhtv2TPgSww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7832

On 14.12.2022 10:00, Lin Liu （刘林） wrote:
> Our internal regression testing detected a panic recently.
> Could you please help to verify whether it is introduced by these patch series?

Please see
https://lists.xen.org/archives/html/xen-devel/2022-12/msg00879.html
and
https://lists.xen.org/archives/html/xen-devel/2022-12/msg00887.html
and the draft (partly RFC) fix
https://lists.xen.org/archives/html/xen-devel/2022-12/msg00908.html

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 09:29:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 09:29:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461894.720054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5O4c-0002GM-3W; Wed, 14 Dec 2022 09:29:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461894.720054; Wed, 14 Dec 2022 09:29:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5O4c-0002GF-0w; Wed, 14 Dec 2022 09:29:10 +0000
Received: by outflank-mailman (input) for mailman id 461894;
 Wed, 14 Dec 2022 09:29:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5O4a-0002G9-9Y
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 09:29:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2067.outbound.protection.outlook.com [40.107.21.67])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c193f203-7b91-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 10:29:07 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7797.eurprd04.prod.outlook.com (2603:10a6:20b:2a8::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 09:29:04 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 09:29:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c193f203-7b91-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iKbFNjod6x/ucMUpT3YE7mofZw2jBW8Je5yVgFpB+Vw3tSNHqz6WY8gtmaFisXrtZuoNRQWbb31xCL2NPDeN8nircPYtu55vBIR+WowM0GrFqbbhxSqpOsN8gMe35ByPPkdVyd3nQlU9mGuLmxTSQuQE77j3Z8ZoAeZpk8b3KvP4DW3QIS5rUnumMx+V2H46bAcQEn/FLgs00wXxEvU2x1MBbivwAMvOyuzMd9bsvvAx4cuIUnmo/d+TKQdRiSCoCnssTUsmVcGP0IZnh5Wlrv/rC6RgjUjoySZeZKe4XZulOXleyoA+xyAyUsYR+JXs2L1pX0gS9h4Op0zilhIA2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i3hXx2cbdpKx3o9kl14I0z199W/XNiiVhDO1ry9IzAw=;
 b=lXJ0CKR/y55ibqQfq0PjQ4g0bBaVpv4Nx8afz8CyfPLNr6uYeczdtN9PahhRSA03bFUWEstMjycT0a+W64uvyu0vP5Mh/iyKAQxBUcybnaWNg0B0ywjOfWs9X99d9R/tTR5pq5TBFr4Z8+8akltMeZk22E4dShC285ulbrXaU3BZelsWN93Rh+/uVgRZLkBUC036GaMHc9r+hYf+93qYmZFA/nMjEwy+750hMDbGI04GzHlWpSk0hiAsbZmTR5FhiMDDONJ/6s7DSG9wgUeqNuRp7i4Z01pJ1/ibpmmOdQyT3iIc6/+Fq+Z+Lgvz2r7CFlniCdj9Ztm5nxCIIhyOtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i3hXx2cbdpKx3o9kl14I0z199W/XNiiVhDO1ry9IzAw=;
 b=xTI6n37aWThP0ZAsTZA0bM9QEatNfu9+wencRauM1qS/EAdhoQ8MPQbmxdHWj0lP0ynmZMPlQ/3s3FvZkKS1O95KO82gt7sP2nchIwDLEPXpuqL3elkmAaEwEQUjSh8IiSLqw6vuitW5nEkGdfbvz2qGP3n1Rx5axccGufjaI25BR91Vxws39lAlguYlsfypaMc7hXgFyR8XP1EIsCq0vTuB6RveXOLjVmBI+04uRbcStSAf2jdykT0FqDWL1tH4g3cBmQEBz6YMvDp0EgO+k70uIhToD4YqrsEfZ0+NKchKcCXxAXO1kr60/wSXg1boRDn7Zs4Irm5d8sE3Lf8giw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <42aac506-8226-cd69-cfce-0430781bda80@suse.com>
Date: Wed, 14 Dec 2022 10:29:00 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC 1/4] Add VMF Hypercall
Content-Language: en-US
To: "Smith, Jackson" <rsmith@RiversideResearch.org>
Cc: "Brookes, Scott" <sbrookes@RiversideResearch.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "demi@invisiblethingslab.com" <demi@invisiblethingslab.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <BN0P110MB16428FBE352C8FC0E76E6C75CFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <BN0P110MB16428FBE352C8FC0E76E6C75CFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0057.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7797:EE_
X-MS-Office365-Filtering-Correlation-Id: 13afa134-94ba-411a-6d23-08daddb5a46f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7tYOOyrO60rEDyaDX607Mpzs95GB8VClZs/KOqTYrVw4uqjh5wz3IyULOBoicptVUsmk8czbPihhzKQWjz/ep4qM0brPpBcLk7OJsJ2sY+dIFa/Fhy/bVMOR2QT3oHYriF5VTTmOlPPTL67oCZCWZ99aT3jgXg0a8/BkilpHB4iz8fZAAFedBgHNAhYdaDtLW61UaiMeSy/5sCSgWXBRc0U+0BCONU54r5xlzA8hnEprvVlRrMeHjY1cyj/OqRukLn1ZZNuvJ7C09DGNA9ABShURvEZVqKbVzoUmwq2XHWO/eQ48sW8qK0BuoAh2RAGjgPzLxkB4FJiB5udH8L5Wvn7vlAPeVQN24HyWXfg8NqC4bytwAvxJUTpQ8pFHU0BMLe5ppxP3tygzyLaBs0oZt+L8tjXmu8l2Z4cpOw+aFGW3fdQZja+zxWiSoLrh9STmh1diaNluoPkaBr70Q4a3J6XiB+Lq+/5+ErL/pnPlfllxt53nl51s1uvL6lphf5tJ/mlQWQ1z2mSC81WMxL89Hn79koGnAB3TkqxJpRwMgt9g39cDOE88M3XT2B2kdGDiEjtqWkY0e3vLRbYywQ/IKDp2B3mQ/fVWKruDDwAg6N/c5OmSE0k8sSHv0IN7iHgdcNwev0p/lwWUOhuV3DPa7OLsDSDelTLuGD/n0GHLjL4CZ8cJIJTJItxTWv+PMb6cO8AZ5oratPPTC/11x98XlM01Iuz+XLQresaiX+zySY0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(136003)(346002)(376002)(396003)(366004)(451199015)(2906002)(6512007)(26005)(186003)(41300700001)(5660300002)(8676002)(86362001)(36756003)(66556008)(31696002)(4326008)(66946007)(2616005)(66476007)(54906003)(6916009)(7416002)(316002)(478600001)(6486002)(31686004)(4744005)(6506007)(8936002)(6666004)(38100700002)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N2hWT0xySFkycE9DVWtVQW1TY011SU9kQWR3YTlCajViS3VVanF0bDFHdFMr?=
 =?utf-8?B?MU1WUW03K0tCemVEWGVzVG5MZk8zeUFjY1BrVXMyVGdkYW1NdU9WMkI1WDZP?=
 =?utf-8?B?ZTVkbEUxWExLVjh1dTZpcTZhZkoyRjc4Vm5ZcEU5M2wrUE5Yd1F0ZS9Nb2Qy?=
 =?utf-8?B?M285VlgreTZmTnova0NXOTBaVkp3MldaSHlhRTQzNSthK3I4WXlvc2JDQzZ4?=
 =?utf-8?B?YkZEZnNNdGtxTEZtZnkyMTE2d2ZGRXd2cU5vemZwQVVYZGxybGg2Mlp5bk5M?=
 =?utf-8?B?RWdWSUlrZHo3MlVSWkw1R1VUbE5NbzVrdWZ5YXAxY3RuTlJpOStpeDFnZGZF?=
 =?utf-8?B?eUlFZDRzRGVRNUQyeWdtdGMzQ1N0Z0tJdFBqSGkrUVJWZGk2eDIrT0xuSDVk?=
 =?utf-8?B?cVhwZWJobUd1cWZXME1nMHBGVWFERjhlSnJvWW9MM1lRWTJNaURCWGV0cEMy?=
 =?utf-8?B?VXZDaVpzUTBNbVlxYkRQbzBVS05XVVZ1RnFZaEg1emNTZ1BRVmF6NVRmaUpn?=
 =?utf-8?B?bEdwbU5oS0MxWU0yczJwUlAxdnBzbTVDRHRMdk0vUS9LOFM0VlFxUXhHMXhV?=
 =?utf-8?B?Z2RhVThFbitVektDNVZjL2NZbnU5T3JzdGlYTHlBREsxR0dzdXdSVXFyYWQv?=
 =?utf-8?B?TC9mcGQvby9DZjlRVjh5VEFiVFJIQW1HRGdnRnYzTStlWTk2V2dzM2hXcWdH?=
 =?utf-8?B?WlZncjVYbWpkTE12c3duTVJEVk1wRlFtZVZONklhRWE0Y1VmQW11dEZEVlNX?=
 =?utf-8?B?MThoSWdKWmVnc1dOSHgrOVpzdkRwQW16Y1BwMGFHM1VpandCaUtVQnNrOEJB?=
 =?utf-8?B?NzZscVlsOXFRUWtiYXI5TWRqZyttcVN6dmZuU0w3M1NPeE5wSDJaVTl0dnhB?=
 =?utf-8?B?ZTRPaTN6UC9aTXRuQW0veEtDcTI4Z0FmSFhiVUdJdTlta3g4KzVNYUlyaDlx?=
 =?utf-8?B?SldoUEtHaC9zQXkrZ0tmMUZJSTVJdmNWRHpkRWcrNjIrNllpVWdRSDZ3NHZR?=
 =?utf-8?B?dkk5UFJ0OVNSWlFvYVB4dUVYek1Dd3B6Tk42c3RUNTl6Z2RIdXJTQ1FwQnBI?=
 =?utf-8?B?U3QzQXhiQXZTWGpMTURKQ0hoMjZ5Q01TVlpWTm9ZdVJUS1ZBcVVBTGpLaTll?=
 =?utf-8?B?SUNPRWp4dkt3ZHI4WENuR1Zmck0yR1pxTndod0lWVXN4ZjF5aDZGUVJzNjNO?=
 =?utf-8?B?dytBNzlOQ2E4VldCTzR5SnlxMHZiQ0FWVHBuSUhuSkRFaWN2bldjb2RRRkFm?=
 =?utf-8?B?OHpWbUN5NmlnMmF3ZTdKNFJ4cjZPMDU2TUxHTzBucXRabDg2dkNpV041eEdN?=
 =?utf-8?B?MVFKMXZ0OEY3dkFrYUpNOUg2MExyWERlSkpISWh2aG5lUGtBZkVtbS8yc2FC?=
 =?utf-8?B?N3hQL01BM1F5Z05mOE1IbkZkL00rTk53TkFDeU5mbWM0ZlIrQjBscm9LWW1t?=
 =?utf-8?B?ZVMvKzI5V0xaaXA4WXFYMzRWT2xkMThrVU42SkpxRGc4Z2JGb0ZGd2locklZ?=
 =?utf-8?B?YVl2d0hOTU9OT2RIaDFaMGU5SXY5QSt5M1lpM2RnV2pvMUp4RG9qdjJMUkw2?=
 =?utf-8?B?azBZeVBicVdsNk55QmMvUWRzSjA5cVJLT1plWE5Pb1Y4aStEVVowYUQ3VUhK?=
 =?utf-8?B?emNLdW9WL1R4TzVWd2NWS3g0UVdUd0dwY3FSSzJnOGJVNHdhZnVGS2xmb3c2?=
 =?utf-8?B?OHVtRzY5Wnp2dDN2c29sSDF5UElCSDdSZVpMaHR0M0NHck5lOHRLbXA3YXY1?=
 =?utf-8?B?ODVuQ21TWkVlMTJCNnhFdytVZmZ2cEEzd0NENUhwcmFCb2dUSm13dnBVbGxX?=
 =?utf-8?B?dEc3aGdFUDEyTy9BejN4RDg3RTNLWTJDV1ZjMlNnTkY5SmZhUk5zZEFldTZR?=
 =?utf-8?B?Rk9OM3hpY0FpQS8yZDRSY0Rab0xNVllNbUtHWHZRZkVmekNydEs4NitsQzhY?=
 =?utf-8?B?V2hDSHhhcjZNN0xQVmF6czFpTlNNVW5xYkprWTllYlpyVnRRZkhxc1BweWFB?=
 =?utf-8?B?bTNsNUpmMk03OG9iOHFiZDdxTWprdDE0YUhFR0l2cFNuRnlyTEdPa3AwL3dT?=
 =?utf-8?B?MmVHTzVIVkUxczZRQk1tYjc3elo2b0hWRzdRdmVaNmFjcVFSalJuTUN4Uk5I?=
 =?utf-8?Q?7bEetphX45rsg8iFt7KNemcVO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 13afa134-94ba-411a-6d23-08daddb5a46f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 09:29:04.6118
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8zXukKDZ6Jkhel9gtiJ2TcvDDasJmyW4QZbulQA0ZEp6DkyOKvne5twVK6OPHzOZKPG6jVUWxxESxlejsFyX7A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7797

On 13.12.2022 20:50, Smith, Jackson wrote:
> This commit introduces a new vmf_op hypercall. If desired, could be merged
> into an exisiting hypercall.
> 
> Also, introduce a VMF Kconfig option and xen/vmf.h, defining the arch specific
> functions that must be implmented to support vmf.

Neither here nor in the public interface header you describe what this is
intended to do (including both present sub-ops as well as future ones,
which - judging from the numbering - appear to exist somewhere). Therefore
there is too little context here to make any judgement.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 09:31:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 09:31:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461903.720066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5O6t-0003cA-HL; Wed, 14 Dec 2022 09:31:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461903.720066; Wed, 14 Dec 2022 09:31:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5O6t-0003c3-Dw; Wed, 14 Dec 2022 09:31:31 +0000
Received: by outflank-mailman (input) for mailman id 461903;
 Wed, 14 Dec 2022 09:31:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5O6r-0003bt-UJ; Wed, 14 Dec 2022 09:31:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5O6r-0003kn-QD; Wed, 14 Dec 2022 09:31:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5O6r-0005CO-9m; Wed, 14 Dec 2022 09:31:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5O6r-0000r2-9N; Wed, 14 Dec 2022 09:31:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kB2Xkq5v//ORBAaa0zhSiAsnTxS6Kde9+Qk20dSCh0E=; b=iik8x9ktbAz3NzKsVj5pGC9uFQ
	+iFxiCfOSHWqshxLHWKGwTdRdfbUi1YARl0C4/QA0y37WZb+HkQ8knbjpK4z5HnMLgD5g3BGTzpxS
	STxalySkBwDY2s+jleXO74O4pTfLqG7ea3EWsLRRTVLEPqLUc2uwZV3iKYUI80sIdzUs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175186-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175186: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=5204b499a6cae4dfd9fe762d5e6e82224892383b
X-Osstest-Versions-That:
    qemuu=ea3a008d2d9ced9c4f93871c823baee237047f93
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 09:31:29 +0000

flight 175186 qemu-mainline real [real]
flight 175194 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175186/
http://logs.test-lab.xenproject.org/osstest/logs/175194/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail pass in 175194-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175068
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175068
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175068
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175068
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175068
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175068
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175068
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175068
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                5204b499a6cae4dfd9fe762d5e6e82224892383b
baseline version:
 qemuu                ea3a008d2d9ced9c4f93871c823baee237047f93

Last test of basis   175068  2022-12-07 01:08:35 Z    7 days
Testing same since   175186  2022-12-14 01:37:36 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   ea3a008d2d..5204b499a6  5204b499a6cae4dfd9fe762d5e6e82224892383b -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 09:34:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 09:34:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461916.720077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5O9w-0004Jf-4X; Wed, 14 Dec 2022 09:34:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461916.720077; Wed, 14 Dec 2022 09:34:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5O9w-0004JY-1a; Wed, 14 Dec 2022 09:34:40 +0000
Received: by outflank-mailman (input) for mailman id 461916;
 Wed, 14 Dec 2022 09:34:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5O9u-0004JN-T1
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 09:34:38 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2073.outbound.protection.outlook.com [40.107.20.73])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86dce9f9-7b92-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 10:34:38 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9338.eurprd04.prod.outlook.com (2603:10a6:20b:4e6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Wed, 14 Dec
 2022 09:34:29 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 09:34:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86dce9f9-7b92-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JkXHGHUgmQh0XpFjMJz3YYuJPN4YTSYQLFhpeZjVH5MiXTvWhsQ0oPfLZBFC1MrCYp6zzJ6P5mbJopc390Ec/nlJV+yzcSB2T0PaULtVte3M2t8LPFnyJg0v52Wn6uXW3lRaXmWPzMbyB0DBTPsOqULxf3DIEyb6AuwsSY1oUrJx2OZrX+itXKNLiHNvLcxaH4mh8oJCOq22o6yy8iny8BeBtrJ8GlEYyFkFKTpc+9bXWSJPX7JFCgT8Nb8q4fnX8vaKVp0hDdrPNL6tMntshoMR5nvXQUoS7Kln802GKJNhL5zUn5p6PihTKpH5DY2RAGXtbf1t+QcuUw2rGMo8jg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eWw5HH9xajBUKyQ7zeSCCSpXOdeoVqkj2/ya9fqC3tY=;
 b=kpDEo+JtuROvBu0JKKMiEhkIOK9N7eJ2u1s2fmyyh2NmKpxonni0qG21trVShJhPG+2Xyycj5yrj7cGRxIFwORmCWbrvEVlz/RCV+h+H8z8etZpZiJGTtFRjzjB26DBm49fl5yMePwghi9Ki8UutlcnK6S0grtAjI7kRMEdALQ05pBV9oDwCwO4ZukW8j/qeb+cOcuifAy53pCZVOHq4I9t6SbLE35LdjBIRYY34CDVMbUhK6YvNaGORpmoviOJdBR/PHbhHF0A13Aj5plu65QSQ/iXE/BgbG6hnekc627PWqW4qU+QChwBvAgHwOkB9gCZoFQlpz2NUFbgCZtGNBA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eWw5HH9xajBUKyQ7zeSCCSpXOdeoVqkj2/ya9fqC3tY=;
 b=Gx9IvB9TeayStN6XCSheUnuBW0GPlOfcpw3D0UO+Vyv/mbV0w/tlLpthXj0LJPLKtqYzN/u/kPG7k4onlRVWyGDc1AfyIki2MlbviS86BSxtx2GtYr3rFev27ffVw/cTd67X8FXEzQvZPkI0MuTM7Z6mwAaxj7cIxU+nGPGilO5S+y7Jbk+qHAEFzTb7fWIemLkG8P6QXIU0P4IATCH1UhrLEDHJY65VkzyVDRwdkPtVzPfIjzrrKe+aL4VVMoCCHk6QZzoZ6zKtaN5i9gLhnPCpM8Ou4vIRgWEHbAGUlV3AhIpdy9WxO+/pb2xwA2syPAZxXoZBocokFGt6gix0qg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e4935fb1-8223-a2c5-9700-b2277d78404f@suse.com>
Date: Wed, 14 Dec 2022 10:34:27 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2] efi: Relocate the ESRT when booting via multiboot2
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <a7336c832b0276a1bc7692c537cc14f6e70d65a4.1670972544.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a7336c832b0276a1bc7692c537cc14f6e70d65a4.1670972544.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0078.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS4PR04MB9338:EE_
X-MS-Office365-Filtering-Correlation-Id: 489d0d93-e61b-4879-86ce-08daddb665cd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jdb/6qOqSR2hNkmf4rvPmNewOXZsoBcdmpMdR6oy46i2mXkQncInuZ3gw0JWY4TuDIGYEn/6fd8TFyWXnHhbYTCqn6z4rIT+sPhtyLDV1mUB9Xs6kgm7SSfGL1lBdXYZQ8sFLgiDZqolPxvJMZB7KvX55Npi4kBm/2tZ7i4aOAI30HYQIsXpteTXMTR2gXWJnEz/QxDVqCrWbIIA6AP0AfLT+i/p6PW/8mv7t+GiGsnMUgf1cvAWCd6leObXghWOfOHo+ogQZLJpWG+/zwDRneO/tSBwiHoousuy4mLPJYsnIGqs5i/X+40nzZ4ezRXA9ps+QeCxdAngIZPhFeF5x8Z24X1JpiRTPzkM/8Qz19WciD/SOTcGv8Z1IYUhNkddYNr8tAzPUev+MNx4uoqUNxaBAe+QrvJGR+cIkSqtq9C7XfxLnghLJEVVXTq4KaDltszUwt7n7WMF6CXk3edm/iGsaTCfYTfqk07zmoQGTfABFp/dwok11IuyChWLdJDHJZn1+1Fn1iKBKpx7v3i7TZe9ocbubpInrH1hDgpnzGgGAb8pH9o89pt2bTH92+cPoIIrCCCpwksB1XGm2CK+kWkD2aikyQWLf5cptnX/FdVN4P7HA7f+vX8l2iooJxHo/RUUVbDX9FAulRBcdoylotSelVWv3OhkfaFtmA4bXpbqu6Y58y347YMUNdT2ywPKQY7/p1mxQ16YHMXwvTyZ4gPVX9diy6PJcCuuOkz6zUM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(366004)(396003)(136003)(39860400002)(451199015)(38100700002)(2906002)(4744005)(186003)(8936002)(66476007)(31686004)(4326008)(26005)(6512007)(8676002)(86362001)(41300700001)(66556008)(53546011)(5660300002)(2616005)(31696002)(36756003)(66946007)(6916009)(66899015)(83380400001)(316002)(6486002)(478600001)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MmJDSFBKTElPaWhGd2wzWEVFUm56R2xia1haTFJYUkc3Y0IyWXJxU2lYVWd0?=
 =?utf-8?B?em5JajRMaml6bGtxd1FnaGRVQmtud0lBcHVOTmNubHZ0NUNtMmY1RW5CSWl4?=
 =?utf-8?B?Y1dkS2dMRG5GOTBjL2drYTRmaW1neHdkcFhaWlNrVGwzOXNZSmEvV2FWM3Vu?=
 =?utf-8?B?NEhDK0lic2RlR1ZLZWhmd2lxUG5UdDdOMy9SeU9hNTU1aGEwYnhwVy9JN0hi?=
 =?utf-8?B?Wk5xcTVvYU1rR3lseFU0V0pRSnlMSXJVUnpxZTJzZlM5VFZ5VitwUnd6K2VS?=
 =?utf-8?B?UzlWMDY2NUp6RnRtS094L0Q2azRGVGR4NEwvVHlUbVhZSnB5TkMyM0c5UkNT?=
 =?utf-8?B?aXZXRGg5bUlheXNVakF0dE1RSm8wMEFCSCtHdi92ZE94Q1UyeWg1amdSVGsw?=
 =?utf-8?B?b01oQ0NoNVdOemxwajFpR1JtQlVYSW5SYlRIRVBjVHkzMEdIZHJrUHlHbVc3?=
 =?utf-8?B?OTdjTjhFZGZRSzdXU3Q1ci9EL243SGc1MFZzdFZrSS9ERjhDaVAvbW0xdHJh?=
 =?utf-8?B?T003VTViR28yY2txaXovTEdvSHFDQ3JIK21JV0JYeE4wWTRCMW91di92RmJh?=
 =?utf-8?B?TzFPUzhicDl6MkVKa1pPREtncEpHM1pXdTdaV0IwRFJFS3kzb0tVdUtzeXYx?=
 =?utf-8?B?QkJqdVhiTWZGaXFkdnRrNEdmU3FZd0l4Y2dZYk9YaHVpVEtBaG1lR3JmQVZv?=
 =?utf-8?B?RTRQSXkwU0tZK0djTjZpUFFHQmZNWVVQR0hXbXg1c2NncitNMUdjU1IzRk5a?=
 =?utf-8?B?dVd4L2FCMDNDU0VlbWhlT0FiRFJoUlMyb0Z0YUUvelVKb3QzRHVZb0JLZ0Fo?=
 =?utf-8?B?N1Z0bU5Pc2I2bVl1SG9IdVRiV1lIWVRsRnBNYkE3alhaeTFmeE5rVkhNVkdy?=
 =?utf-8?B?QWUvcnEzQTk4SDY4aUZzeXE3ckNJaDFiNlA3VWhTVUdPTWdQOXJYdTlvQnR0?=
 =?utf-8?B?ZFpvLzN1UmhYOUpYalNJWklwYlVGZVpQYnVPWGFvZTdwSWF2dzN1TElPUHA0?=
 =?utf-8?B?VGdPVDI3dkoxSGZ6UldDd3BaRloycnRkcFRnYjVBdWdBQzBiS3NVL0ZJYkRj?=
 =?utf-8?B?RHJoNU9ibSs3TzcwSVg5dUhDdUlFVi83NzdhcFRVU2YrOXpkY3JzU2Z4T2Vm?=
 =?utf-8?B?Skc0dEZmNWE3MEFDQWx4Ynpnbzl0dmJsdmtERXFONmo1U2IwaGdTd0hobDZq?=
 =?utf-8?B?SDUvRlgwTDFLRU15MjdQaW9tNTZTZjAzV0VkRU44R0xPR2dZS3RRRkxYRHli?=
 =?utf-8?B?dDVDenhDMEFtVUZPUEZUazdGWE1tdkg2MkR4c1BHd2ZIaGNZVFFOOUVzVlUw?=
 =?utf-8?B?NjVsQy9Ic0szV3JJN3J2andNSUV3Rjd2ZW1hb1pxUlcwNDVFN1AxM3pweW9x?=
 =?utf-8?B?eVVRUEJUYmNxRXVlVE9kTVVxOFoxNXVJdjdQQVp3OVdXa0oyQlY0UlQzUjMw?=
 =?utf-8?B?cDFGNCticFFFOUc4L0hUSUtRaERqUlpwQ2xaWFpCV3puU2c3QWs3ZmdGempv?=
 =?utf-8?B?dlBUc3F5aytPcEYvTGZIb0NsWnVUU1F6blBwcjZDTmw2ampFa0t1QnhNb0Vk?=
 =?utf-8?B?UllGSkcrNGNsbmlCZEt0NHlPQ0Zwd3h1VWVQbjVSQlNaa3laUisrV1NzdVY4?=
 =?utf-8?B?eXp0bFpHaGwvczIvYk1CZyswRVdGaVpKUjZUQkMzcHR4aHZ2aXVTdFRlQ21F?=
 =?utf-8?B?WGNablN2ZnZoRVhab2ZGLzNqa2FBN0ppeHUwd29WdE1YOUxxZnN6V0hkWVRG?=
 =?utf-8?B?azNxTjIzUDl3MkljT2g3dGZnbnJGYkMzelREaGR4TXRtUlJCTGs3ekd4ZS9l?=
 =?utf-8?B?N0RrTFJqbjJidkpkdStRTm9xcXgwQWxadXFnNzdnUis3Si83VTlwRFNGc1BB?=
 =?utf-8?B?U1RPSlpsQUh1ZnRnTjJVa3BqOEZVcTFUZWJvemFOdWNad204eFBvenVnTEFG?=
 =?utf-8?B?aTN1M3VCZkhlMzJIajJtTTliZmtZdmRRcE9rcEh1SzdiS0ViaTRobGxJbTZt?=
 =?utf-8?B?TWJXbW14eCtwVnduVGVEWTlIZ1BhUE1MWXN0OHBMMEJJSEp2SVFkcDM1UFV4?=
 =?utf-8?B?b2Z6a1RNUS9aSHJaRW5kUFhBelY3VHFmbjVyVi9YMmxSOFpPOHdLbjc0ZWRp?=
 =?utf-8?Q?lVsCfhJNHHy5S+30ZsagUE6R2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 489d0d93-e61b-4879-86ce-08daddb665cd
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 09:34:29.1850
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: o4ZMC11HNqhyinTy4c+k7z3LXr1+W0JXztO6yHGePsIKw1iNPtvRa5lX+Rm6/LIgq9snW0VROxJ8uOlWpZxUuA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9338

On 14.12.2022 00:03, Demi Marie Obenour wrote:
> This was missed in the initial patchset.
> 
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

I'm sorry, but no: In a v2 submission you should address prior comments.
On v1 I did offer to extend the description while committing, but you
should not take this as an invitation to make the committer again put
more time into getting this into the tree than should actually be needed
(and reviewers to re-figure the unmentioned aspect).

You also will want to get used to adding brief revision log remarks
outside of the commit message area. It would be relevant to know here
there the sole difference from v1 is re-basing.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 09:41:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 09:41:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461925.720089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5OFo-00065t-RP; Wed, 14 Dec 2022 09:40:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461925.720089; Wed, 14 Dec 2022 09:40:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5OFo-00065m-Lu; Wed, 14 Dec 2022 09:40:44 +0000
Received: by outflank-mailman (input) for mailman id 461925;
 Wed, 14 Dec 2022 09:40:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5OFn-00065g-Rf
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 09:40:43 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2059.outbound.protection.outlook.com [40.107.21.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f285ebf-7b93-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 10:40:42 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7519.eurprd04.prod.outlook.com (2603:10a6:102:f3::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 14 Dec
 2022 09:40:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 09:40:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f285ebf-7b93-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DqOEJ+T8/YNDP9OIdCeTN/KQzcDW6YBnLXN2H3b9pcJPhJ3PrLlRNqyGaV5v9wlGZXOtQ94P57iRCdmqxAqj7zuupLW99YiHox28HT6Q6pE5mSowq+eJqVpGIrVreOpi0kgNgYBT9j1JSXrwtn+FPO8lned4XxbPrMOLySaTCSVBk4x6RYVfoqx0KkiWNxDY0ultAvyTaDC9aD99BFaxlMnaiDRX2KUsrvaWxYs9y4glsLvp6z32pvZrW4HPyOLuWWdt79mt9GJJKRsTcSmvXgAYhHkno5zR8zxzz2NVop1Y1Z1RX8/mSH8OtxVk+tOygD4KH1L+fDGjKBryEXhZvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+WiBrV9/WQrZ9ezepPYtvAR+hTCv7mOI9NgXXwZv0N0=;
 b=c6M090wJrF1OvReVJ+oeT7N8909Dpi3c5SG9so698+Bjl96CNcuHOTIt1OMXpWqWELHieP+sGSWhJ6Zm7ryKDyCGBpSw7RrlbBa6R5oeYoljvYdoFIMZNyWcniq+VfuUnKTukgLfG9aZGuH9WKJ6FZpw04ab4l/wTLFhp3o6XP76mdihZbIMnheSRi67f3LbzYENBwNTej7VF84XRxRebNFsJEk5p+bWpWPFW9dkZDEiUCbSQMd9mOaxBR5O2GapI+YlRrMcXB85stowiA3dYS48eHkmm+/1gSHTTrqz+reN9YqTcgLR6VFTIz5Ov5NGDJphrIylJtOUutdMDB5GTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+WiBrV9/WQrZ9ezepPYtvAR+hTCv7mOI9NgXXwZv0N0=;
 b=c/wDvg+dev10UjP6SbYYFXNG6IRK/J+IpKPyiQvcC0/JFj7/wxZIlYzlPZfZM/2jSPnF2itWpxHhwhDt8oiRRk5NYaR14Vr3K34CZskd0Kx+HbC2dzVWBQi89GHXt/kfV9tBq0jrUrs+Ut2hOS5qXeHkDMr199vIhM4G0flFnTb/sOdLZBUonH+Q89XgDXaQhZgrqNg7gZ28H9r3rvPdcJk3gn0Lg7cGCbHfJ/YryXSNY3y51afcp6I0qgbJL4nwHzI+MXRvTDoT10X4IAyMRpTbDh04Fzc425sviQsLK2mwshDfJ4Y3PkHI3put/KjS+Or2YoBPCl5MtVSeHZ1drg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ab1beed9-8953-4196-fba8-ac9c36e4cd1a@suse.com>
Date: Wed, 14 Dec 2022 10:40:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2 04/14] efi: Avoid hard-coding the various PAT constants
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
 <aad022471c81db163ed7b4780f926898c2ff9065.1670948141.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <aad022471c81db163ed7b4780f926898c2ff9065.1670948141.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0080.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7519:EE_
X-MS-Office365-Filtering-Correlation-Id: 4786ef45-1a74-4792-e8f9-08daddb7420b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TB3mASF+30Mh7klGi7f68UDcCgTmV7fb+QjERT7hCV3SdRgfVDBxLTwZH0DgZYA/Lz6OLVWI9REaT0qNWFCbB7CQ8V9eNECz1+kNcROwVc5DC3fyO+jd0E1+ji6vpjZW+EEQVAuFeVC46YAuEXK2kxSRk75//U+xuQ4ibnCsZcsauN6UqYY0lsyntGKK17jSKs77YtrfAN1mOVPUe2hzqJ+E2rr5LM+9Kv5p8ynGNQ9ldN8N/B9eXz/2zuJMAOr9QAB9gvpUnG614fMcrSckRu28UGEVI08syC1fKFFrphi4xfOakGOqBCAImRHXWWH02mZ1ODB7maB/onlucN4J+pyUAHULXtbmiT+OnXd2+/O6dXsXU4kyLackQARENXUzOP3xCR2p3ZVrnktl80lMj3kig2NZz36Q5FC3KvyKjx4KUXwUIf6Xm22e46VGtXHSOJOvFOLzUyNaRI3L8ryynqCuh1k/wLF3kPcvCtnT8cqHUedUFXE5vwBs/2PunoK0vK2YTmho204l3wsxw7lCAMaLjBCpZTZq4kBvQa4wBUd6qNtnaWNOVSDEzLjUUCbIoLTLu/7ThKrf+E63rWWJO73RNbj6E+vVpL2XWkpuCKK73t71Rp+x8Mhtizskbo9PYnIYy73EX+dlKhrrztX19VAyrGBZyNIWsajqHRgZQxe+wgKGztxMs8r4yMpth1IunNIrffg0mV4RhuqOLhHU0ZPo16H5ZQK4EV8gLKEFCLY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(39860400002)(136003)(366004)(376002)(396003)(451199015)(6916009)(6512007)(31696002)(86362001)(38100700002)(186003)(36756003)(26005)(31686004)(316002)(6486002)(478600001)(6506007)(53546011)(54906003)(7416002)(4744005)(83380400001)(5660300002)(8936002)(2616005)(2906002)(4326008)(66476007)(66946007)(8676002)(41300700001)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OGIxRlN0UjNOa0FJRFBsYTc3SXBGZlQ5SGMyUzZhV2RpN2pXUTdHanQ3My93?=
 =?utf-8?B?YzdIR0dGTFhrbjA5aHlsUTVhT2NteDUraC9HTHBVS0p1VVJGYnlPV2wvYlFV?=
 =?utf-8?B?bU1wT3VVVnk1aVNZR3g2SzEvZm03enFHL0pla1dJR1dGY2hRd3h0ODdIWTF2?=
 =?utf-8?B?emFsMGNtVSt2Kzk3VytkYU1qMnZoVGZwb05naERhczFYSEM1RHY0NGpBdThN?=
 =?utf-8?B?U0FpNUZpMTBnTlhiMFJKc1BjN0MwMnU4aTE5Sm96VmxPbUhUSVNYdzczWjFp?=
 =?utf-8?B?MFl2OStkUzc0VmtDRldYL0p4QlpyL0RvZ25ySTZ5VWx5Q2oza2FRajVYZHlR?=
 =?utf-8?B?ZkhJbDYyZ0lMR0lqMm1vdU02RGVTWTl5bzYzNkhMSlRyMjRtV2l3Vy9OeHdH?=
 =?utf-8?B?WUlUK25UMWY2RnBZZzNDZHd0eXRPUzBkY3g0R24xSDMrdnpIM1FscEUvNHJ6?=
 =?utf-8?B?VHAwN3FGQ21YNlo3Y1QrMy9Qb1p6Um8vbnpEU0d3czVPSHBNQVgydTJod1NE?=
 =?utf-8?B?cmpWcU9PUU5BTzYwZkFLSlovSFl3YnU5S1VpU3RzSU9rTllualpFOEZSN0l6?=
 =?utf-8?B?R3RMQ3NoY041Y2JUZ0hkYWZjMWhPVyt0UUpLYUMrVE5CTlRiTkRLUDlyUm9u?=
 =?utf-8?B?YW5xWHBVSjRXU1Eyc1JGWnIxSEx1M0xlREhkL1ROdHVSMUd6ZU1ScU9wQ1l3?=
 =?utf-8?B?SFVybUJVeVliWW5vWWw4RWxUb2FZNUJEWmRkOUZOTGJwVkZZdDhWQ09WRFZR?=
 =?utf-8?B?MWpEeDhGWmltSzU1eEJYc21mYmJQTVV2QXo1dThnVkVhaXN4cXNiRG5mOGF6?=
 =?utf-8?B?OUZIcEYzSUtPdzhqQ0pwaE1jQllxZ2pOQ3Y1V1NmSytvc1J0VEkyWmU2dzV2?=
 =?utf-8?B?TlhjWndJWWl0WUJpVkRPaHFjclpLT3ZaZ0RoWVBCNEFqY2s3RjA4VUFUTjJM?=
 =?utf-8?B?OTlZVWZXM1NVWFZHSmVLZEZvUVFvRHBpeWUyaHlQK2RMTVZhSVZDM0FwOWVZ?=
 =?utf-8?B?Zm1LazZ0Snp6d3RnbUpiUTBNa3k5U25EK2RwTXE3NHNpTlpKTTdUQVJRL0cy?=
 =?utf-8?B?UlM5a1pNY2tPUkZ4WVJOSEt1aHVMYk5RRm82YXlGa2UwRHRoRDFldkxYK1M0?=
 =?utf-8?B?NDdlL3lIOUp6RXExcE1hMzQ2Y0YrOGp5ajgrNnl0dTFOejRPVHY0SW9YVUtK?=
 =?utf-8?B?OHdodklEamhRWUkxcWorSXZwcmVxdzRYNmNnZThoZVZvUEtSVm1jK0VCN1RY?=
 =?utf-8?B?Y3EzNnNnTVc0QmtEZFhYRzB2cXBpY002YmFmVEplOWFqWHVTSys3ek5tdkRz?=
 =?utf-8?B?RHJnR3IvSTlRNGpGUHhXV29lL2lrb0lGL1VaUC9IbjhwaTlrY24xTVV1ZHFQ?=
 =?utf-8?B?ZUdoRHpMdnM4ZVF3dFpFdjBsWFB0K29IT3Q0RERGR1FLRW5tWmVLaE9nOTAw?=
 =?utf-8?B?dnd0RFNzRmtEcnVWdmplU0RTa2NqSDByQXdhRlB2d3B3MDl5bC83SkZIQ05j?=
 =?utf-8?B?QmRFSWpvazcrem04RXZaTUhEZ2d0dXgyRTYra0xKYlNMN002dUJ2NEdFOWl5?=
 =?utf-8?B?NXpaYXZjZHY3dlJpRmhINjJYVS9DZFl2T29FcmFheTdFUEMwZGYzS1hnVFRo?=
 =?utf-8?B?dVJBaHh2bGx6bGQ1RFFMTmthL0VFTm5hTjRoWCtVVkZqeFlYc2xNSHFHcmFW?=
 =?utf-8?B?cXFtVXNRTm9tTnAyUjVUbTc0NXE4d0hCaHl1eWlpcmR2dlVhODR5R2ExZWZl?=
 =?utf-8?B?dzQyL1FCTCtrczU5blV1TkMwTG4rR2Irek05SlpJTEg5Kys4aHk2d0VhRVMr?=
 =?utf-8?B?UFNrLzIwS2VFN3RneUMrYS91eWpTbWQ3Z0ZJeG9jYTl5enl1dnVnUVhSM0M5?=
 =?utf-8?B?N3d4b1lMdm5ZS3JPeGk2KzlHdHdrenFqWmxHMG4yalBCMlgyUGViWUNudTdV?=
 =?utf-8?B?M1VrU2lwOFF4V3crV0RiWFdOS0ZpQWhzNEV5dTdaSWN1eTRhY0VsVk5UWlRn?=
 =?utf-8?B?TTlwckJFbHFFbXpvVWF0Z1A5NTZLZG5WTnRDWGJGYUhGSGxkWmtuY0pqZVl4?=
 =?utf-8?B?SDlXd1hjUEJ4N3RFQVRjZjBlTWxCTUt1YjBqaUFzbjNoWWxOTUIrY0NGNVJR?=
 =?utf-8?Q?To8faRuVcOo5SyH2Na8+O/JPN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4786ef45-1a74-4792-e8f9-08daddb7420b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 09:40:38.4426
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FCoY9HPr8edXPk99IqTclyGUgUf0bRj8RA0weR8AhhzudXISO1SKAerVEkEoFzGa+aDxc1t+QOBpSPKgrEc8Qw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7519

On 13.12.2022 23:26, Demi Marie Obenour wrote:
> This makes the code much easier to understand, and avoids problems if
> Xen's PAT ever changes in the future.
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

Nit (quoting docs/process/sending-patches.doc):

In general tags are added in chronological order. So a `Reviewed-by:` tag
should be added **after** the `Signed-off-by:` tag, as the review happened
after the patch was written.

Otherwise it looks like this patch could go in right away, if only it was
clear that it's independent of the earlier three (it looks as if it is).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 09:43:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 09:43:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461934.720099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5OIS-0006gg-8l; Wed, 14 Dec 2022 09:43:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461934.720099; Wed, 14 Dec 2022 09:43:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5OIS-0006gZ-4l; Wed, 14 Dec 2022 09:43:28 +0000
Received: by outflank-mailman (input) for mailman id 461934;
 Wed, 14 Dec 2022 09:43:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5OIQ-0006gT-Vi
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 09:43:26 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on2071.outbound.protection.outlook.com [40.107.15.71])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1a8938b-7b93-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 10:43:26 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8991.eurprd04.prod.outlook.com (2603:10a6:102:20e::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 14 Dec
 2022 09:43:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 09:43:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1a8938b-7b93-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HCDGt13o/tY7l7TmOp88kcEKAHXO8ghSaYK7xr4Qrqz9SNT2ZjhLXLbAEvEMQXFVc3NoHtBw3mZMMi2BB6NnMov0ov/uQ7PTBMKzAY16YviJN5iGEfESQw2/sUHTS+3Ym+ArPLByVd1cG8XdO1TVBANEZ6IVcD6q0orG19KVHC1OWujRoN21Kw3jzSttg4EMADzpl7x7nYPjrrWgeUs4zn25o3SpnQCA3G8yB1+9p5x+O95gW0b7rM6PYVmUU03v+K5VBSQ7SQIx+UINF500UAtxqiqSebIp10fSsUBkFU3IoRHIHfN9JZ7D6IRnFIOP7RXIPws7MUCDphUqmJ0Z4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gYGDK2bdy8MGV58xl3EAdl3TsLTNCNSxhEe74Ekk9nY=;
 b=b5ks5edxZVgQu3ugqUH5i1yGAIkC3LxOKfxObkAS/ZQ3pttT4XuxL+J++3z6HASd8pOCJFP3q2u73dJy1+hPm6ieqJaimXzKbGNhtNLi757Ah0NrgurOwYKPBzPW3RheR/nYHt7sEbBFec/vBWs3lVwQrAQO8ewpFXEc1dddxzUWVeLuCPEqsGixPs9PQeVcHRr+Sl3UAQXY6sJJ7k6ohMC3f+IN8lkDxxCYbbJUruNA/xOTQyw+A6Zcy5Vhc2BY8k1xSwb7Fr8Wmlc+D9jCaBqDl4RC187sj7f8iyTNQ5Jx5YnyHWkbcGL1Fs7AffiAxxU0PmbBc9V0U7pSYOewMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gYGDK2bdy8MGV58xl3EAdl3TsLTNCNSxhEe74Ekk9nY=;
 b=qzT8vU1EwC3QgZ+tByGD8BJyEvkCEnrYfB9a+Llkz9eXFwpqrWLQyXjRILdodqm2l1eVKcxwLLn++MtCO2KcVicU3WQCSZS+Mim3qtjPdMCTBjEpb4o+mmCDHOXTFZwZokt9St5f1uKUH0u9KBP3yNuuFGoQMtcMlVZQ55SO+ZDY58s+eEGG/aykagMQmm6VStjqqNoSxcotrlNZQmKQaSvnm/NMzubyHZ12tD9/db+WJIqI3CpV84YSktuEDitym4d/eaN6tnY3uuvFBOoUV62vo0cfZ8/yrjqXXAQpZSJ/+lPWn/FEs5YFIkMKJp2bQ284VNW/Ho2k16vJNvDTkw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4cb91eb8-f44d-f517-a0c9-b7aad5493324@suse.com>
Date: Wed, 14 Dec 2022 10:43:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2 01/14] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1670947711.git.demi@invisiblethingslab.com>
 <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0185.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8991:EE_
X-MS-Office365-Filtering-Correlation-Id: 520ff578-d7d0-4772-aab2-08daddb7a471
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AafLgAgk1KER2I4Qe+hBS5tkquHu55wySmzBYFCKCfkzqMVGF5pS/mDNITYxBdkrFrjELd0FHhyLsoRoMwFKTochwucnkDoWk6epa34mWI0VuzJXto47AUBTBqhZk85NkIE0FGzKQWbxdlI57cABZWi0Sp1ePhu/vtjsE1GGmnPNEbQ81J9Adh9llCtWqAZdL5+LVqlmaceksvwT3rPKl6WhDG5MArVBSIaEMlGIfO1mdUL2KCd7G3+/1LR3mf+vpXNAXsRxOjwlvmuTEk/HM+771n+U2rLjcr09KjvZMSsjpyevFShGQs5l0l1gbMkJr8vcGG20MB9r2rr4pkje/yqYcLoJxUTl9g+1qmiL9FyXRBm3LyYc2SuVdm1se/zAzHo+yjzyo8l4xiSx2y9CfuEsj0NnLlNdK7fS1GdmdUst8YqtI9d3eFkiaoNkT6/T3tatqbcjSaBfvS0Eeg/HqiUXCCjQgYYAwUCttd2D/5Mfjc0rgi1NyichfKNMdPIVRhDJZJ1t3uiXHGLiOdHL/n3sH6iBYhKq5HAU2+5PPsY35uLUWDhTC/cCxzRZN6bUpkQqQ68Y1U3x4oaUWrnAhHIAvPcodJKdHVFlnwG33BeVi5UhGpHUjqMmLm+SjZR3My5El4idfYjj86ZB2w2AwiySD2YOYY6PgAcGUZoDvz/mywzb4oMf4v1xkQl5/fbPpVc3HM2Waw2a8xegVm3QKPhrpONLT+PCc74ateX91GU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(396003)(376002)(366004)(39860400002)(451199015)(6506007)(53546011)(31686004)(2906002)(4326008)(2616005)(7416002)(558084003)(41300700001)(5660300002)(86362001)(36756003)(8936002)(31696002)(66946007)(8676002)(66556008)(66476007)(186003)(26005)(6512007)(316002)(54906003)(6916009)(38100700002)(478600001)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MzBpRTZWTE5vYm8wT25QQlROY3A3UTFXdTh1emMzT09zTitPM0ZTYTdMd2xH?=
 =?utf-8?B?bzYwZ3hjUnZRdFJPUFBoSExyZGRnYVBITGxENlZDL3p6dWlpUzkybWY3bXg0?=
 =?utf-8?B?bUdFU2srbzhuRytLMG9PRmI2UzJiUnFjSnRRODJOakJvY1M0WVMyVTIxRE84?=
 =?utf-8?B?WDI3alJ6Q0RqQ3QyckpUeEJLVmJvRVNlbnJzZmVKUDg2K1JkanJreWxHY1NO?=
 =?utf-8?B?ZjFFb3lscFl1SWgvOGMvdm4rcUZnd3BWTXNTdTl2b3VHcEI5YjhrTisxZHNk?=
 =?utf-8?B?WG5ZYnhnQm9KbEtGMjY0U0t5UGlIUFFUMEEzMll0cy9QM2pDUFpIcUVudWlH?=
 =?utf-8?B?cVRHQVB3dE1ia3dIdUZZQVZsQW94R0dHUjlWMmszdkwwWC9mU2RrVHVDcFJM?=
 =?utf-8?B?YjliVEsyOWJFRnRzR2ErdVdTai9GV045RDRQYUNPQVZYZXo4VUpqZXFSd3JY?=
 =?utf-8?B?K0NOUWF3bmtoekE4RWYwMjh2UFlBQkVCYWs0M2dQbFh3eTRFTDdsYjZWZngx?=
 =?utf-8?B?OWZXZjdrLzJwY1lvUG91ZndIWXh2MTF3VklET29VbVZpaHM2aW9HV3V5TEVT?=
 =?utf-8?B?T0RyMVVoMkRiTm1FYjN5bXo1d0pFcGhCaGdqbmN0NFI3eDY5MytyVUIyTTVu?=
 =?utf-8?B?VkFrRDN3Z1IrS2tTa1JFYWtWNzJkcHF3UUg2a2pLTVNsa25jUXpEQlFtaDkz?=
 =?utf-8?B?Y1c3ZnZQdnVRYVVCL1ByUHZjcENjeFBBaktNQSs0OTdqcGZPOWdoaDFkemxX?=
 =?utf-8?B?U3lwTUhIbjRaNm5OTVpGeGo5OE5UOVE0NXZhRkZpdEpVVnBEaXhHQVJzNFBn?=
 =?utf-8?B?SzA1bU5lejFlbzhtSU4rT0tKTDQwQ0c3MlVaTGtYeFhVQWxXb0grZ29lN0x4?=
 =?utf-8?B?MHArQVQxQjlxUXk4dVBJWVY4WWhFKytpU3FHdGlhWXhPK01qSGg5RFVZR3RZ?=
 =?utf-8?B?dXd0WXBsaEVrOSttM29WaU4yUDlKWlVBRzJ5cWpobGtWSG5ZVlpaQWtsUEFt?=
 =?utf-8?B?Y2NsL2s5Z0llZUxRc2pTY2JRa3JjOXRpK0E0TmF6eFVvMXdXL29mQ1I0Nmt2?=
 =?utf-8?B?NDFQNmtVNFdUZ2owSDB4MTZIVEcrNWIvVFh6THBTaEZlQm83TXN1NzgwVndx?=
 =?utf-8?B?ZlJBRng5SlBKUzdWMjlXWFFST2Q4ZGJ6djFDWGpjdkNmQytJbnBsZHZmWmdQ?=
 =?utf-8?B?STBCZENRZFN5d1RIVjVUbE5XbWdBc2kwWEo2OUdRcWZ3eW1ZRzl6TTNUdTlq?=
 =?utf-8?B?cTJyRFdnak5idnMzcHo0OEJwOUZpQ01RRWo4a0hKNWhMQ1ZpdE5qek55OW1k?=
 =?utf-8?B?MDVQNlpabkJidHpCWmRwWHdxTU5TZkRqZlMydkNQdVNNaWd3ZHJOSmtvVmRO?=
 =?utf-8?B?QW9RSnVhQ291YWVuZitEby92aVdJL1NpSDg1NkZteEF0TW9jVjJ1aHBtMXEw?=
 =?utf-8?B?cGludTR0U05McGxDd051Z2NDZWlYQkVyWm5FSHlSMUpnUWQwc3ROYW9GMkVW?=
 =?utf-8?B?Qk5GSEdUd0J1OE5BNG90L3hHRTVDd002eVZBOGREQnVJeWZkejc3R1B3Sk9s?=
 =?utf-8?B?eXRGK0RUcWNtNTBGMDgrZkZER0xJa1hUdWh4REZaWUFNU3hxVHlzYllsamVC?=
 =?utf-8?B?NVlFWHF1YnY5eGVYcXdXTGFLT09yVEdzcTAxcEdRQnhUU2cvc1c4a0dXbUlh?=
 =?utf-8?B?Tzh2b3UycW5SSUZCTHlpYW5WQXlQaldGZS9lQWMzcGhmbFozczNNNm03NGh1?=
 =?utf-8?B?bmRGR2pZMjAzV0x5UjZpYld0eEt0c0I1amhBWHFyS2dpT1VaR2RzUytOMTU3?=
 =?utf-8?B?K2lZYUJtVHU3MnJWZTFpS0VqRHBsSzFHWkRVMEJSR2VCUGpYdjJPN2ZhZ01Z?=
 =?utf-8?B?eHd6RU9KREhtL2tVc04wcVI1RC83NWk4VjRWdG1BWE5QUGxPOTZoQStjMy9Q?=
 =?utf-8?B?Y1RLUHR2NzliQnhoa1pnNXp5L0x3SWl3dVl5R2dKWmlPU29GZG5yYVZqS2hK?=
 =?utf-8?B?Rm1NNW5mdGxuYlczcE5NRG9LTzhEQVdkMlRVbU1rbG5qY010MEhjaVFVdXM2?=
 =?utf-8?B?c3YwdlBZalhTdDFnNWpnWWZVNVR5YnpjS2d3aWI4RlZ1ZXVZd3p5b3hDbGdB?=
 =?utf-8?Q?H/rDV/4Vy8AUKmAsgSpRNS3RW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 520ff578-d7d0-4772-aab2-08daddb7a471
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 09:43:23.5731
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E7LfkitQf7ylZwfG2hIir77Rdn6WridhqO7gA9d8XAR2yLpTtq9QmPPVFMlwejOCX4RoC2r7ChqjcMPbe7Dc5g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8991

On 13.12.2022 23:26, Demi Marie Obenour wrote:
> Also force the unused entries to UC and add a comment.
> 
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

See my v1 comment as to what further needs saying / justifying.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 09:49:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 09:49:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461965.720114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5OOI-0007zi-C0; Wed, 14 Dec 2022 09:49:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461965.720114; Wed, 14 Dec 2022 09:49:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5OOI-0007zb-8b; Wed, 14 Dec 2022 09:49:30 +0000
Received: by outflank-mailman (input) for mailman id 461965;
 Wed, 14 Dec 2022 09:49:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5OOG-0007zQ-G1
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 09:49:28 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on2088.outbound.protection.outlook.com [40.107.15.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 98a34be1-7b94-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 10:49:26 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8530.eurprd04.prod.outlook.com (2603:10a6:20b:421::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 09:49:25 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 09:49:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98a34be1-7b94-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Lz9jt6KQ5BFRR+SfYSqYczau/n5sdbdX6MiGC20fetPsTLtBeetdg/jQefXZ37rSDf7RWpRRiugOXyWJOdzliMw8kdmrN08zj/mfiGV1yrHaeTRq9BKH7BB824CGvh0WkS1DgyXfHKbJcs8NhnrHEexFoNx77N/iBHlZVT2yHufgDPVl/2Hvi/M2nzfBNAZ7tiUW6gor9tGKEkuoRQJbqRmpFByfOA9P3m4udKWfmiC9EH3oXsvW1cZb4CTIykVoTSOlSTDZKdwikGimuGK9Qz9eWH3qxgUvkEfM7l2on5IRK98fn2+zBaXzspjFIUMxtOV9Sqfq9zcn4mdH0I7f/g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W9lGysKBPyAhxV7Qw/4sGAi02bOVAJ9Bp3/Xvrev0Ow=;
 b=kt+pFn+4H+zUbNb2sNyDmWcLOwGRH3ycsjAx7RtdSgb1k2mMpFjRPGnoBc1AIUibodHAUAz6dZFB9lMxKlD9l+N7RUavCH2NzjPQ9vZ/8Efqg8j19/0Qgi7b8l/5JMuXCA2f1m9kVRhD+5z23duyJZfytjrgFUv33aDDHKm9zwBAnzTDi+HQmcB8O6XSKcnkwwtgfeklM73n5oUoNO9kVs4ih5uyshfEbKFVqYZ29ToqWw+RUOm+Xo+jI5XEVzpotnteUIIbFawW1mdaJaC1b2Gk/UW2ySuishjfYbZgamoUZdUkezhOBs82n+/NvasbC+atH8NYed6hGq8JSP490Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=W9lGysKBPyAhxV7Qw/4sGAi02bOVAJ9Bp3/Xvrev0Ow=;
 b=tz5j0IpPbSNNoB/qhBRytNCPfQpBDl9KJtkRNre0ttvu6MtcaVpmJYfF8bTswGGl7ecD1iEQEKxgRe6DjI2alvHhynr91DZGcP5KjpKpBkVe6kZ9vX3J/os95d/LtUKMdF4Icy1LI4bHArMnx5C05PG0nMPLpxoVJz2gSqXnFSjl3VrXNFlnykHLGN2BiMJUv/xylyPWReIME8oMcDhDJQqRnNNfCN/wKcWs/uC9XKE35OyjNJI1mSULVrTRkkAFIz/vhvS82SCj9pVmEnG3mEpKYnTSR5aznhyXyZuBj3IkqvDi6fUuHZefyD2saRQgQW9Vr7njY5vHep/9cQyBLA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5b085c78-d77c-004d-a74b-eaf952335ba7@suse.com>
Date: Wed, 14 Dec 2022 10:49:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v4 1/3] x86/vmx: implement VMExit based guest Bus Lock
 detection
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221213163104.19066-1-roger.pau@citrix.com>
 <20221213163104.19066-2-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221213163104.19066-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0127.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8530:EE_
X-MS-Office365-Filtering-Correlation-Id: 577d2824-2bfa-410a-4d7c-08daddb87bdd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9LipWnyIGYcFpeGdC74+6hRHPbbkd3EFF5k3vHOIunzVxy807Kj8MoH1hmBMp9QMUNQ7m2qSJZ9qAh/3J/gBDLEsfyRvcbirc+JSut35Kp/AMmvufvluWWa5CF4ffOaNMgWEhXCw9JEiLdBCFTtHt8C6UHGhYRcWUE6J04g2GpyrBPhnahBRdYFYNIk88JUQCgZoVCPXDdER3q2dG8KkzJukM3a2m4QdSiiC3fguelLV0pK0puP38080xZXeksKxRb7HTP0d8f4sVjUDMxGnR418NBeIwUyjnpzAYUCA9tvPMSuAjtVu0Y5LA/N+nBJt0wXpLC70gpR6UXsEo8kRPna2iSxDh09l36fbWDGF6fsUBDGvqL31BIufE4yOH/BIa7/RBOpALtQHMJPWoTyfLqWK4fIphG2l//B1/4hsQu0Z/rMGks4eEvWcNDKKmrDQjLyrUN/GWDGZTlSPiof4tLj6OMs3wqZ4QjDAxr6bxSA0vExcyCKFWVhJyhA/2s+TzN/hGGRDE6vjfCMW1jqfW2F2WCGFpknYbah4r/CbcZsX7W8MmgmChjUmb4UBs/ufrqPdEQhpeIFVMV74Om5mZ1NJTL0O07TyBqWrnCqlOAad1uBlHpLDNju7HkmB7WuIHyeiaVKGQcMYKhqW/2dQEf8KbAUfGTFBu6Tr1D04297qC+NOpywSSy+2f2fEw7djzs+nvWzg6l+KqC/GNZtphhA/YyrJhA5abqGyiqSBqlM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(366004)(346002)(39860400002)(396003)(451199015)(66946007)(66556008)(41300700001)(8676002)(66476007)(4326008)(5660300002)(316002)(2906002)(8936002)(6512007)(26005)(53546011)(6506007)(186003)(6916009)(54906003)(6486002)(478600001)(31696002)(86362001)(83380400001)(2616005)(36756003)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bWVUWDFXZUQ3Ni9FNDg4b1NoNkh6SFhSajNweXRERUpUYUJJZ3FSK0Z2WFFl?=
 =?utf-8?B?K05Rc1FVVlZXQktkUXNNclNCUENVOXRrZGVUN0JZM1F1VGhjNFhzUDdjcmFy?=
 =?utf-8?B?d2k3OGE0Rm90Wis1WmJJcjAxZkx0bCtFVnZxUWRFSVJnSkh0dEkyTHJodTAw?=
 =?utf-8?B?VGFkaituY2lTVG1mQ3Nha1FpVnlITjBmSFY4NEZuY1pkZEFGNTBpMmpMbW84?=
 =?utf-8?B?dFl0U2kyYVBRRWRKWExQTUVNaWg5OVBMQnRteGV6VGhmc0N6VVRmcFpDRldQ?=
 =?utf-8?B?Q2NYRnhkcnF5TjFsZGs0UHBDeWpTV0c2WkxQTS9uVGdwOVpzZ0kyUTJVNWFj?=
 =?utf-8?B?UTdQOW9RcG14ZncycUNmYVpTcXQvRWtoZ3lyWEREa013MjFsaDE2aURkU1Ir?=
 =?utf-8?B?WVBhMTVoV205UVdaSk91MzNiSG5HVFcwS3FqMUhkbnFTRWw1T1RwS0t4Mis5?=
 =?utf-8?B?T2ovUjg1TklOUk5ZS3ZkN25uaTE3VEZVWWhzNFpyU280YVNJT2p5TktBL2R2?=
 =?utf-8?B?emVNVEFVcUt1TzhodVNMM2xHVGxzeVZQMnVPMzZ6dzhYNk9QRkZQbVorMzFW?=
 =?utf-8?B?UWFlb2RIeVRxTEJ1RkJQRU9IWU5nbU4zTWlTWUlJVFR3aFlnL0NjdWU3cUl4?=
 =?utf-8?B?Ui9xTnI5OGRkdUR6TCtLWUREdk5GUHJINDlGalg2QmFLaklZbFhHMmN3Uk12?=
 =?utf-8?B?S0pRRWg0UngrRllJU1lSUXMyWVMxb2hkS1o1NHM1NjEvZWQwR1ZsYXJ3ckRM?=
 =?utf-8?B?akRkTlNWOTc3RWNkQ0o0WmFMUDVpeXlDdnFnbEJBdG9rTTBrblhyU1grN3hB?=
 =?utf-8?B?MmdBb28wWTI5UGJpS3NtSTJGQnhrV1AvYnBwM2l4d1E1a2tiVXBrN1FIN2xT?=
 =?utf-8?B?MFFrbDBaT0RGaUVkWGlnbmYrdGRycWV6V2tOS2R0ZEltc3VhYVFvQnMyUzNQ?=
 =?utf-8?B?VWNIVlAzYTZ3WkJzdi9HQ0lyODM1TkJ4RFV6SmJ5OEsvMlVJbEtuRWpwNS9X?=
 =?utf-8?B?b0V6VHlsYUcxcElKQzZHQmM2WlcyUzljK3dmVnZEYWU2b2U4YWw0SFREeFFP?=
 =?utf-8?B?NXJPQkRDaUw5anBXb1I1NGtjSzBtN0s1RHJYNlR1c3pJcHRSbEJPWDBnbFFl?=
 =?utf-8?B?bkI5Mmx4bFJTb0Y4K0twYkR0WTBGS2wycUZwS2dPQThWbW8wWHppelhjdklV?=
 =?utf-8?B?b1V6alUwTFUwc2ExTUpvbzlwMG1IdTd4TXgyUVNxNVYvbmVSKzlUUFJRdEZ1?=
 =?utf-8?B?VXozN25xVlVUL21vUWhhVnVvSUJuTVFrYnVFU1M0bTYyZGFnRmlxclJnZEJ6?=
 =?utf-8?B?SDZjWmRNd3lnYmdrbmNMaldjazFtQjNJUjVBRU1taU1lQTc0ZUo5RUJGZDk3?=
 =?utf-8?B?Z1orTldKaTNIN3dlV1lMVEJjeE5XQ0QvMkJBSmNMT054M2dQbldRUlhVSUxS?=
 =?utf-8?B?Z1kwLy9QZ3Z3ZVVOK2JxQnhyK2l2REtsZkpuVnRENlFsTFo0MStTcEVVdERM?=
 =?utf-8?B?V1Q5WlhUU084cGVwMzVsZ253R0RMTm4xcURGaWRRWkZqRFVqMmROUjhmVDg2?=
 =?utf-8?B?QmF0T1VobW02d1RMMmxVa0poWTQzOTFYTEZ3S3dsajNUWUx5MXdxbEZ3Mm9w?=
 =?utf-8?B?clgvSk5WSUkwdHQvTzZ0OGQ5NWRNQU1sVVhFTnV2V05XQVlKS29XSnVxVito?=
 =?utf-8?B?L3hBa3hIQXZKdmNHajk4NWtqU0JjbkZGL29LaTJ2ZTNCRkFJN2tUK1hNYkVZ?=
 =?utf-8?B?UUxtcGg3Q3cxMGxYS0RPS0lSZzJyMHJIT0xNWFovaDdtYWFSNS81UkdkdXB3?=
 =?utf-8?B?UUNzT3RuSTNkWjlVM01SUDNMSXZXakdBemdqUTdDanJ3SndnaXJpaU9JaC9n?=
 =?utf-8?B?czFwSVZzalJ2eVlpZUtERXVQdU13ZjNvVTZnb3NPWDJveG56bjUrU0pVbUN1?=
 =?utf-8?B?eUdrOUlKU01GUHN4dnpaaGlQMjJiMUhFcytMOGE4MXdpRHg2Wm9YSlc2Z3Uz?=
 =?utf-8?B?c3g1dnM4ZzVveDh1ZUw5eGlDOXRybk0zODdscnlGb1NkTUtZNGRyelhnbE1D?=
 =?utf-8?B?cm1EN0E2ZnRLLzdxSThZYWxwemo3blg2T09HL2VXeUpQRTU1NXVHMi9HOEpE?=
 =?utf-8?Q?Q+GfrhuZc+sx00htETKUAnHvL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 577d2824-2bfa-410a-4d7c-08daddb87bdd
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 09:49:24.9262
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: T+7Q1kcwQpPU+3qceRdx6W8Miu74fek0TnsaBGS/p65XjmwsdmnNJURjfa1yrtts44LBwmXYyikXcq+7YurMCw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8530

On 13.12.2022 17:31, Roger Pau Monne wrote:
> --- a/xen/arch/x86/include/asm/perfc_defn.h
> +++ b/xen/arch/x86/include/asm/perfc_defn.h
> @@ -6,7 +6,7 @@ PERFCOUNTER_ARRAY(exceptions,           "exceptions", 32)
>  
>  #ifdef CONFIG_HVM
>  
> -#define VMX_PERF_EXIT_REASON_SIZE 65
> +#define VMX_PERF_EXIT_REASON_SIZE 75
>  #define VMEXIT_NPF_PERFC 143
>  #define SVM_PERF_EXIT_REASON_SIZE (VMEXIT_NPF_PERFC + 1)
>  PERFCOUNTER_ARRAY(vmexits,              "vmexits",
> @@ -128,4 +128,6 @@ PERFCOUNTER(pauseloop_exits, "vmexits from Pause-Loop Detection")
>  PERFCOUNTER(iommu_pt_shatters,    "IOMMU page table shatters")
>  PERFCOUNTER(iommu_pt_coalesces,   "IOMMU page table coalesces")
>  
> +PERFCOUNTER(buslock, "Bus Locks Detected")
> +
>  /*#endif*/ /* __XEN_PERFC_DEFN_H__ */

Is there a particular reason this is added outside the / another CONFIG_HVM
conditional? (I realize the one we have only covers part of what's HVM-
specific, but it would be nice if new ones were constrained right away
(unless there's a clear expectation for them to be re-used in a more general
fashion).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 09:55:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 09:55:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461974.720125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5OTX-0000zR-UX; Wed, 14 Dec 2022 09:54:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461974.720125; Wed, 14 Dec 2022 09:54:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5OTX-0000zK-Rq; Wed, 14 Dec 2022 09:54:55 +0000
Received: by outflank-mailman (input) for mailman id 461974;
 Wed, 14 Dec 2022 09:54:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5OTW-0000zE-Vc
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 09:54:55 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on2051.outbound.protection.outlook.com [40.107.15.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b8355c9-7b95-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 10:54:53 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB7090.eurprd04.prod.outlook.com (2603:10a6:208:19e::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 09:54:51 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 09:54:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b8355c9-7b95-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KQ/eW7KNnKboG3D/j2lHPtL1vCMkPukXlQMh9pZ9ebN0cLEb/4qnfYTc9LdI2WvQ6lR8FDVPpvdmmpE51Qm0INH2ZbrnpUGNGm7kqjs2Zk4oYCrr1nUJ/Bqb/F6mbSxSQ3KxMHAvIkxt1aDPq3EyCNzJa92IB+zHIj0nCj1jgHnyKknXTOaF01XfIKfP8jK395WW6MvqIHOhvbKH4JHH2HfRvTob00gYAqRjKui8KlZnndrRUfIK+p12fOsryuiGthZ3PbHrEC2DUpVbOOvicVB0oNqCE4C9wDkxiwCCI15zN6xgJyEjJgzVq4PPVvxztB5obs1NNKHf3n7rLoPy6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=glOYJ+UpQVslLNTGc1Qxkq2UXXHNyE0lNYIpA7VEbZ0=;
 b=AQ9sZxHc5JK6yyLKkfMqtvYv0q/EeE49ufvCdYPHhwKlwK/9iEEmtK9bESDVI4q6DrEX+muiknywkGL8hN/DAypa7ThizlEK4Qtbec71TKnDwH1sxT7pwUGKLXhZFI4+e0xx7jxSr3mfc0lSuWveBYQ6HDXtyaRlnoPEtQwQN6pL8/jVoH2h6TgVKBSYBqQf11lTn/nl679wStQXftcuvu1xijSw8U5hAhqSInyuR1BD3hODe2IMYBlrRethtLNckku8KLewRXQgjQf1bB5O81jgIbjikrUSCy0PLdCGvAqGxokIg81nF6EqIVZVCQyKXBKHRawub6GH+YVmCfL9bg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=glOYJ+UpQVslLNTGc1Qxkq2UXXHNyE0lNYIpA7VEbZ0=;
 b=wMH+o04BnOJAWVWh0XTYpH1Q+abOvjVcsNXLnaelVfsOdNkIAroJR6zOeK8YKImQYoXnoT49diXptg13UviJ8dcvTCbGmaONhksB92+1hvf6cNmICBP6RMtQljaugCXXEmPdNSEAf4Xe9G2OatkVFRf6UVLHQgnNa5VNS6V8XE082JlvP0ESr+webSrzaofygeiS36OblY64Xj10HNpFv5/qzPILX/EN7UCazvgmq4KjwkbSg/3Oji58FLnngycV+13x8kpMGTjkjWRlqHWTRbA91ZSdxMR5B8B7ho52YdumbSdMeemtzIMbjHfZdklL5WQfu0xiZtVEROrEaybVLw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cfa88146-96c2-33c2-e140-a486caa320ca@suse.com>
Date: Wed, 14 Dec 2022 10:54:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2 01/19] tools/xenstore: let talloc_free() preserve errno
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20221213160045.28170-1-jgross@suse.com>
 <20221213160045.28170-2-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221213160045.28170-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0097.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB7090:EE_
X-MS-Office365-Filtering-Correlation-Id: 8e6d5417-5a12-4fb7-c812-08daddb93e86
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	10vA9CXc1enj5ANq4eDB3+pqsu7cYMHRWmd+Qk9t43yGC0h7U+rVd89Z8AKVUC+Cbne0H/sI3BTihXm1YNMQloIQKAJph/F0VOyzaXCh/FMcj01y+2u4uwgo/s/u2B1vbaBCkUceCWB8eVnsQ0KcPfT1eghUH1I+e+Iszr5ydaTkjDODlaTjdBzJh2OHkgwzeJsSJ5PXmg5qgawbxhZgIzRmZnGSjtq2qok9xEdw4bfwg4YMNEHscdzfa4C5lEoqEudZcnhAvcJrBHV+HwvLkkX+TPNRDC7JbZwxBEwbmTJrTUOhMK6M1ge8EHi4hbkNOKk7JAsDopoAqz/SKbQSYKAJVd1zqJgpw/sKYKhTUTTv+gbckTkJV3WCsPzsGYORD6AUc5MN7e0dzivpmQnb80HBYHhc1LlyIDYOvMJJ7M8nTaZlsDGXl9CtjUNwZouxCmCgGbcmQUKaIbXXf0XdT30KVS3SiU2msmPoMG+rZlAqQnynAUfiFuYGg6HYUnoyZy2FsXT5a/YRhrglrQ+Cporo7zPNi9qBvffAFZIw3lKLYFPdxKC7NeckwXSpjYyRpyv6Ayg8gyV27EyZMzrU669N4WK3NssQ8S8/0ZDTGsoLmhK6yTkTtS1NSa1AoYVLtceIDer0pbX4rkwJECJmUBqCtRZkHLTOfjNzWiJu91l2Vl93za/5zBFiE3WvMcI0vyebNPNKpaWyGVJtEDa2Bfg/t8Ixi0akVavsodbNVw0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(346002)(366004)(396003)(376002)(136003)(451199015)(4326008)(66476007)(66556008)(41300700001)(66946007)(8676002)(2906002)(38100700002)(5660300002)(8936002)(6862004)(4744005)(2616005)(36756003)(6506007)(316002)(6636002)(6512007)(186003)(26005)(31686004)(86362001)(478600001)(31696002)(37006003)(53546011)(6486002)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NEIxdnNHNXUzQnF2R2ZhMksyWU50ZUZNZzZmMStkcDZPbjJwcjNZOWJ0WEly?=
 =?utf-8?B?MFg2SSsvKzU0d1JhK3A0dGZRY3BhaU5jRmxoWm54akF2c0FodklDY0d5VUor?=
 =?utf-8?B?Uml0WUtES1F4Y3VFM0xGdEJmOWVMc1VBSWpaY21OVEMyb0pjTTYxZk9IL05t?=
 =?utf-8?B?alpaNTJlcmVnMHpqVjh3Umx5dzIyeG9WQ2V0a2FocXBVbEpidWVZc3J5L2w5?=
 =?utf-8?B?eklmUGErVnlTcjZ5UkZ1L3JxZ08zUGhUOXRqNjBESCtIWURNNjJUT2J3OFhn?=
 =?utf-8?B?SnpoYnVLcm9ORHAva3FyUDhWbzJneEJ3NXhzYU9IbENWWUdnS0lXaGVmQkkv?=
 =?utf-8?B?MEdsSVVmR2w2NXozSEQ5SzJJbzZSLzRIN05OTE5kenAwUnhJaVlIemlyZlZQ?=
 =?utf-8?B?SzBTWGd3VG5zaXNFRXlWY2V4ekxuVERsekIzaGRDZG9BUUpZSEJ2UzZDZnpj?=
 =?utf-8?B?ZDQ2VFNLYUQzamR3NlFOcW5HbnpCTkF4Zi9qVm1odTRzUE1sM1duYXpBR2lY?=
 =?utf-8?B?c042UHN2bHVvYTFYUEE1MjZHdUFSbjhGL29pdjQwSGRqN2ZBS2xmeUZYSHFW?=
 =?utf-8?B?S013Uk14OXBMa3czWkNLTi9aSW45ME15STltdDlXRjVuVVVlbDE1UU91UThT?=
 =?utf-8?B?eGFWdHhtWTl4NElSRW1DbmdxNkplZTY0aklZNXZjd1NIcGhFbEtSRzNWazFU?=
 =?utf-8?B?Q3ExVVVDUFJUcmlvcU91cEdFTWRGSEh3WGs1bjR1YXBoZFNJdmtNWG1PTEpB?=
 =?utf-8?B?dEhlZDBnUHpnSWNHREppZEZZZUVOQWdDN0FSeXFBN2tEdW1iQ0Y4bWdoVjFT?=
 =?utf-8?B?Tmp3a2F5eE84TmJ1UDBtN3VydWVIYWtLNzJGRmdKSlZudU5kVnpGUWZYZUI0?=
 =?utf-8?B?Myt3VU5tY1Yyb1BjVXFIMG5mSWZZbFVDcHk2K2VZMzdUblFHV1FjbjAxRmVL?=
 =?utf-8?B?R0tOMVFUMWVhR2pvNmd6UVRqdlByaFdUQ0ErcGpZUXV5UDg5N0JDTzEycGs5?=
 =?utf-8?B?SU9kaEt1VjJLVVlmMnE4TXljUURNUGdpdTBOQ21zOGJsQTdsT1gyVDhSVkZG?=
 =?utf-8?B?Wnd6NWphMStIM0xoeW9VOGpCVXhpdGRxM1l2TSt5bm9EajBaUmRvVFhOSGpk?=
 =?utf-8?B?b3RqaTRmQStTaVkxK2tNZFBkNlFmNzZERzZIMGgyTzQzSW16SGRLY1JzdGVL?=
 =?utf-8?B?VEFKVC9Lc0Fxc2NiTXdaRHdmVGtDZmJXMTNtdEVyK0FFanpMb2djbndFQVBF?=
 =?utf-8?B?L082bVliTStyMkdRcVVOdDBwYTNsaE9lVnlOMDIwSVNyUytDZ0gvSXdJU2lp?=
 =?utf-8?B?ZTdyTEYxbm5SRnUrcEhIaGY1TEVVWElEMVpXMnIvVHZPQnMxTjVCYVNtaTZI?=
 =?utf-8?B?VjJuSUtMK1VGb0ZsUytWc1J0ejBKWlprcU1WWDZ1ZWN5OXNtM2ltcDNTUE1K?=
 =?utf-8?B?ZzRSYkNXazY4eUpzVkN0TStyVi9kYmdqVDRwcFdGaGZUQmFCK2RXazN4dTNs?=
 =?utf-8?B?NmllWmQ0RGZ2OWhsaFZNN2w3NFJheXNnTHFFajlwZzJ3VE0wQ1gwd25FdHIx?=
 =?utf-8?B?NnZHMEh3SFJWUm83UHpCWmZMSGhsazNBMWdaOW5QSDNlYmduVGFRa2plR2ZP?=
 =?utf-8?B?UTNQdUJNNnVVZG03YkJtRTdDN1ZqZitEaHJkZEIvQXZMZXljbk1LVEw3cng0?=
 =?utf-8?B?ZHg4THc2Y0dTTTdqOWJjOE16WFFoM2ovRWloYUNydnh0YVFaSlZIYm8xbUhq?=
 =?utf-8?B?SHM3RUQyZTlKUkFZYURja2RKVUxob3lpQ0xQRksyZDlhM21XT3NlYVFNRTNh?=
 =?utf-8?B?THpZd3NnNTRQS3pUVUIxNGxMNG1FMlU4aTg2WjFaektiaEo1cmpKRWpuSHhS?=
 =?utf-8?B?V1BkUDMvQ2xRbGFSUlBvODNNUnpIVnE5SjhFMGxlYW9vOUZJY2JGdnV2QnZT?=
 =?utf-8?B?SWVHK3JwemVpU0VIM21SeC9oOGJxVEg2Y3JYOW1ocnZ5Y2E5L0NISCs0dGRF?=
 =?utf-8?B?RElPQ1BiaTFuckxvMjN2ZkhJZGYvTWN2TmF0bHRYMjV4U2h5RjhyU0QrRHRt?=
 =?utf-8?B?d0xabDZlMWpzTGIxQnQvUVBqZTNuTE5HMjZ0MlB2S2V4bE93dUZUMUNhZkw2?=
 =?utf-8?Q?QEAf4djUCk7Z3IOP8oxVcsqBb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8e6d5417-5a12-4fb7-c812-08daddb93e86
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 09:54:51.6086
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eN0g2ksHeM4p/a4KXonTTnEQdmlOWEbH78ZnAjGSNLHwTk8rmaqaux8GRiJx0P1GHu6SKZo4ylA6i2FFaZ1x3A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7090

On 13.12.2022 17:00, Juergen Gross wrote:
> Today talloc_free() is not guaranteed to preserve errno, especially in
> case a custom destructor is being used.
> 
> Change that by renaming talloc_free() to _talloc_free() in talloc.c and
> adding a wrapper to talloc.c.

This looks to be stale ...

> This allows to remove some errno saving outside of talloc.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - drop wrapper (Julien Grall)

... after this change?

Jan



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 10:08:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 10:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461984.720137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5OgU-0003Gt-4T; Wed, 14 Dec 2022 10:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461984.720137; Wed, 14 Dec 2022 10:08:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5OgU-0003Gm-0x; Wed, 14 Dec 2022 10:08:18 +0000
Received: by outflank-mailman (input) for mailman id 461984;
 Wed, 14 Dec 2022 10:08:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=H8nZ=4M=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p5OgS-0003Gg-GM
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 10:08:16 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 395e1899-7b97-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 11:08:15 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3050E22111;
 Wed, 14 Dec 2022 10:08:14 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id F27581333E;
 Wed, 14 Dec 2022 10:08:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id vIO+OY2gmWOFFgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 14 Dec 2022 10:08:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 395e1899-7b97-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671012494; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=u6tzzth1nCNtShvbjU8W37+mofdr/Ic4vsmHlBuR0AE=;
	b=HTNX6g9K259pkfgdHvQ0QQs0aik39F3f9uWcCW9BrqcH4KOzMNBNpTttoA5npAVqvj71DO
	R+NGzB3dkN7C2JgtDbNa9GT1SmwGLQUaJ6S5KO5FyCscfboKlAEeo7LU8zBikmWjnCf0ny
	DPjpZhfnIYB0Zp8uOLHhu2+BXKKFq2k=
Message-ID: <e7bf1e02-7c32-cfab-9f02-1a4779c255e7@suse.com>
Date: Wed, 14 Dec 2022 11:08:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2 01/19] tools/xenstore: let talloc_free() preserve errno
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20221213160045.28170-1-jgross@suse.com>
 <20221213160045.28170-2-jgross@suse.com>
 <cfa88146-96c2-33c2-e140-a486caa320ca@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <cfa88146-96c2-33c2-e140-a486caa320ca@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------egry9dcsmULvJCaOuHU2KtAT"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------egry9dcsmULvJCaOuHU2KtAT
Content-Type: multipart/mixed; boundary="------------Ke2q7HbZ8iRGYQpiQu9NiK8m";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Message-ID: <e7bf1e02-7c32-cfab-9f02-1a4779c255e7@suse.com>
Subject: Re: [PATCH v2 01/19] tools/xenstore: let talloc_free() preserve errno
References: <20221213160045.28170-1-jgross@suse.com>
 <20221213160045.28170-2-jgross@suse.com>
 <cfa88146-96c2-33c2-e140-a486caa320ca@suse.com>
In-Reply-To: <cfa88146-96c2-33c2-e140-a486caa320ca@suse.com>

--------------Ke2q7HbZ8iRGYQpiQu9NiK8m
Content-Type: multipart/mixed; boundary="------------0061S55UXsbNRP1aZpAq6vvS"

--------------0061S55UXsbNRP1aZpAq6vvS
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTQuMTIuMjIgMTA6NTQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxMy4xMi4yMDIy
IDE3OjAwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gVG9kYXkgdGFsbG9jX2ZyZWUoKSBp
cyBub3QgZ3VhcmFudGVlZCB0byBwcmVzZXJ2ZSBlcnJubywgZXNwZWNpYWxseSBpbg0KPj4g
Y2FzZSBhIGN1c3RvbSBkZXN0cnVjdG9yIGlzIGJlaW5nIHVzZWQuDQo+Pg0KPj4gQ2hhbmdl
IHRoYXQgYnkgcmVuYW1pbmcgdGFsbG9jX2ZyZWUoKSB0byBfdGFsbG9jX2ZyZWUoKSBpbiB0
YWxsb2MuYyBhbmQNCj4+IGFkZGluZyBhIHdyYXBwZXIgdG8gdGFsbG9jLmMuDQo+IA0KPiBU
aGlzIGxvb2tzIHRvIGJlIHN0YWxlIC4uLg0KPiANCj4+IFRoaXMgYWxsb3dzIHRvIHJlbW92
ZSBzb21lIGVycm5vIHNhdmluZyBvdXRzaWRlIG9mIHRhbGxvYy5jLg0KPj4NCj4+IFNpZ25l
ZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+IC0tLQ0KPj4g
VjI6DQo+PiAtIGRyb3Agd3JhcHBlciAoSnVsaWVuIEdyYWxsKQ0KPiANCj4gLi4uIGFmdGVy
IHRoaXMgY2hhbmdlPw0KDQpPaCB5ZXMsIGluZGVlZC4NCg0KSXQgc2hvdWxkIGJlIHJlcGxh
Y2VkIGJ5Og0KDQoiU28gcHJlc2VydmUgZXJybm8gaW4gdGFsbG9jX2ZyZWUoKS4iDQoNCkp1
ZXJnZW4NCg0K
--------------0061S55UXsbNRP1aZpAq6vvS
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------0061S55UXsbNRP1aZpAq6vvS--

--------------Ke2q7HbZ8iRGYQpiQu9NiK8m--

--------------egry9dcsmULvJCaOuHU2KtAT
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOZoI0FAwAAAAAACgkQsN6d1ii/Ey+p
tAgAicRzlvJiqvlA0hhiskMureb2LRrteq0l+0f4h4/VNbnm4pzeXGhfPMVfFTNHz9+ZfMw9lpwO
eKbhIEAz85qKOTRe3cBDBaFEFm+qoUXMXgMcL71FnKBewwGJofulXOhWnMHBA8DPzvTc4Klijg3X
qF7CkWIrqhvQv2Lc7wueY3CDglZT8Loeke6xC3ieQY3pV2cqDt7j/Z9WShCrZQ2vQQJSDuenYqXn
ibBCmecO+MerqW4HlD1qWUK9lKSxiNC4wX3HNhg5QN1rrbdfhE6g6v+VrTagxksoXfxVeoWN2bl0
EmRdCbNXlcqVo9bFYMzmIuKN75coVXt+EDObKqiCMw==
=m0Yt
-----END PGP SIGNATURE-----

--------------egry9dcsmULvJCaOuHU2KtAT--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 10:21:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 10:21:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.461996.720148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5OtF-00060X-FJ; Wed, 14 Dec 2022 10:21:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 461996.720148; Wed, 14 Dec 2022 10:21:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5OtF-00060Q-CI; Wed, 14 Dec 2022 10:21:29 +0000
Received: by outflank-mailman (input) for mailman id 461996;
 Wed, 14 Dec 2022 10:21:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5OtD-00060I-H2
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 10:21:27 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on2048.outbound.protection.outlook.com [40.107.14.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10890151-7b99-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 11:21:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB7069.eurprd04.prod.outlook.com (2603:10a6:800:127::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 14 Dec
 2022 10:21:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 10:21:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10890151-7b99-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XLh/wcqNnYJMX7ZEFbgkH555dYT12GRlpNQi4SiNW5f+yvPFcBEvgwM+vI7ZUDhfLCtSKcvgKmnAStuRwU2yMf5l17Sgdva9XdrXoRwaPXEN8KLC12jof96O+m12Kin/b9d9XjfyCxHZuSNEsQCIPo8u9wYdcgztQqKrvBkYvGYzPx6Jo5jV0u/15wasbvaquXv+G9e00fak3Ng3PigzBdKW3HdYgcgTCJrVeaBA6bD7VmQ6d4chjholQMNYJCZdYtpjhXJg34mEmpNHF5AWYUBHKjzxHRfnZXYUKar/K7HmSHt7SRWc5HaqVjfR766gfx3L13MQZj5YzBs78D9rQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eTUGgviKbTddHLQh/4IWDvQPPFqEPSjZ9Pgapw5bwX8=;
 b=L2iQrBQ1c6dTrrw+qN/SjbBhCLHF+cLvlSuPciluBnpH2wjIuY3CdDaAhSJEGq4qWA3Pkrs3Oh3loBNHAZsILaZZ2kLmipLZ3HBoLPTlpg65n/tG/P2oiMMCgUrdCPtXYdhE274469UdK+lqnfmlk64a/8yfKKuWKHfgqb5EYE8aPj2hJvkgLmq7ySSBRemKoKrFIfzJKIuR+dww5X/YHcVNHWtLPCYYQDMQUViGGbeGzac89oy7UYiMFrquC2io2ybN0y1tm9huKv2ImVYr6iPf2g2NTr6GdWywRuR9xXee6AEK1q2Sfc2OdLRGC3mrHpKuvppspro4++/H0x87oA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eTUGgviKbTddHLQh/4IWDvQPPFqEPSjZ9Pgapw5bwX8=;
 b=JGHzARbC5cTVfI1J42N1Ca/XgJbQPglFgX3rjA8t++Lxphgx/pOJZAC56S1ZttCokqx3GYDTZG29Bd2fml5qIw8Eo6wfU2l5FRLcdALaYDEHYF3OU4fYjMwV98u4BH8F9bx/iWq1kCPAHBUNl/IDv8KdcEvWXenkW/RXVLR9K+EgejIYCXuQaDSF5uS2EiyaT6Tb6VOmJMlMNaIGwDuMgAlbOeSYCcxDTJ5rcSvaNuGay6jA0ZW8fUtX2YI15jlOJn0801lyRzMvGmkIQaJmwGh6DS/+UXzxZJtvZhvQ0y8YdIZSJO+sPhtrjfYUHYj1fcHBwW2wGSMubyS3Va2sOQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5a3c8cd5-7f78-aaaa-0338-d063bb04e357@suse.com>
Date: Wed, 14 Dec 2022 11:21:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 1/3] xen/spinlock: add explicit non-recursive locking
 functions
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20220910154959.15971-1-jgross@suse.com>
 <20220910154959.15971-2-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220910154959.15971-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0060.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB7069:EE_
X-MS-Office365-Filtering-Correlation-Id: a5f1e8d6-97ea-4385-5f97-08daddbcf2b1
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PYv/Tt361kXs2kMjGMZbllt1PHtDAuxsUoK+P27sjInscQIEJY1Jk9RpOh09HleukRts6+QZaddV1fki25TCWAYxvqxs+3KIsmjT/3aq3IWQ9QPnL+gK41dp4nnoaNhhUkxOcd28hBPhNdqXdz+sU4NACnJVrRL7K90rDIF3tz5mbBx9ns/+JABNGxPn1oI+/+9px7oNapfRQQ+Xq+G8mbCy2O9lGSBuZ8t/cokyfp3Cyu6VGy+pwuZCbdHb1WAogaJ6S0SgodFtN0kRryHbCEA48jUgXDZLVXkx6VUmqvgYQcUUcuLQzd4eyr1E6G4DNzI2/2UXFQcE0yvXWjXly7YzArA+cYa1sb2Y8/Nm2/njA7Fu7H9UDCZoaKS5YURnr5mlYArFUaNH0Ta3kcpO1l8NQMdjQJsToBwp2uzqrPvGqZwa7Heqz7swT0YaRuCJ6xmCnRTzNvK/bWts4eumFAZmjgP7l8GR7u/LTysEJak7RR2TWBZYqFeRnK0fFDdI0kFrOhSzIYLPmF4K+nk0XhMYMcboo2lmgR9qkBQIBRy+iWPXOyzx7gxDsXChDH0uC4Ig8BerA6ugd3BttaIEual5ilPWkliQEKe3EmhrZDhNX2Cqn1tDsXCw3C8vM82JuK2n4uq0VotTBCaKzqbgbuL8m60UZUdTZSSStdW7HhZtxl43WgqbKhuXUyqsrjpNdn8tSUDFdFO+oVNzn1Z2X0qZgRdqB0IiICT50V1dcxkoRWT9c+FgKIsdciBXqP0VS38mLqXeQSrl38t7uvPxOg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(396003)(39860400002)(366004)(136003)(451199015)(2616005)(31686004)(37006003)(31696002)(54906003)(86362001)(6636002)(316002)(478600001)(6666004)(83380400001)(36756003)(6506007)(53546011)(6512007)(26005)(186003)(4744005)(2906002)(7416002)(38100700002)(6486002)(41300700001)(6862004)(8676002)(66946007)(8936002)(66556008)(5660300002)(66476007)(4326008)(43740500002)(45980500001)(309714004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZGZxR2xqOHNlSWxLZVFHZHUxRWhBUlZiNFZVajJXdVB0eWQvd2RFeVNNY0pP?=
 =?utf-8?B?UGt5NXduaDFBeEFadm9MSkV6T3JaakphVHB6QWRuNnhnT1RrUkRkbnp3Mk5B?=
 =?utf-8?B?Q1VzTVo1TnVlTFIveGJ3TThTaHZxMG8yR2FBMEMvMjBCL3hrVjlXeExnYkxn?=
 =?utf-8?B?UGYxMk5NamRDTVA4T0xBSENIYzJpSEZEWkoxMmN6Q1ovbzh4dys0anBKYVJP?=
 =?utf-8?B?a3lCWVFYK3JkbmQ4NFlabVZKRVpTanh4SXBqVEs2OU5tc1cwdTMzTWxFRnhj?=
 =?utf-8?B?QW5LQ01HblBOb2dHYVIvZVMwUkRFZVlRcFk5YmE5d1ZGMFNUVGQ4cmlCL1pi?=
 =?utf-8?B?SUxrMDk2eUpSTUZQeHcyd2owSUZEMmR6RHhITkVrUUNmQklBb2RheE9PSnNn?=
 =?utf-8?B?VWlYbXVBWU9vbEJjQW9YTnRPY29tOFNITDdxVGdJOGxhckN0c29FZityVHgr?=
 =?utf-8?B?dElYTyt2b2hvcjlJZGxHaHBSNm84dy9kTDF2TWNTRngya2ZBbkhadStLWUZE?=
 =?utf-8?B?OUYzbnp6SUVQNllYSENvQmNHNUZhd1Zzb3B5NlNLb1AramJ5OGwydllIL2ho?=
 =?utf-8?B?amR5VkNlNXlzMFpHS1NHek9zWGd0WmV3Z2xtaThwTEFEMW9IaCtKN3F1REVW?=
 =?utf-8?B?WDhWQVFVNytzcEx2OXNnL0k1NVk0c2tyb0NuWnVvd0ExOG5lVHI5ajEzNzkv?=
 =?utf-8?B?eE9hT1RYdTJiYlV6Q2p0cFp2SGozT25Ic0hKd2twanp5MTdSWFNXSHdLbjNl?=
 =?utf-8?B?dnNncFVuWnJlWmlVdlRoMU9yMW9IL0VjeFpWa3UrcUw5VmJIQXdsVUMvL3JI?=
 =?utf-8?B?bmJ1UUZzZ2dtRk1aYzM3dmtVTlpaMGpjUUtEWDRTWkRqZHNBRDBzNzRXMmhM?=
 =?utf-8?B?aGhHMmMxQ0JNVHJUbFFwTVRTWnpidzFaQ0h0VVhLZE9FUDA2OFNEV3BOOURP?=
 =?utf-8?B?STZ6UzdoVzZGZXVCNXFMVG9lKzdsSnMzekVRcURnMWpNL00wS2xoeEJzNWJu?=
 =?utf-8?B?c2ZRU2drOXdDMzFsV0xLbXhuNlpNZWxlcVptdTU1RGtnS1EvY2U1dXQydit1?=
 =?utf-8?B?emVOT0dFNVJsaStwVUZ3Zkcrd0FnZGlpZVZTRGlXOVVsL25JT1NvS3FpWG14?=
 =?utf-8?B?YmhaN2FvdWJ3ODlnQmNGa0UzSUVKK3MwNjlPbjZsV2dLWngwKzMvRFVjWS9B?=
 =?utf-8?B?L1g4UDVIZXBwYkFjaTdsMHBLSmlGdE5tRHkxSVovTzlNZmF1NVVDdnZOY2pS?=
 =?utf-8?B?MVdtSlMvZHdIdGVnV1JKakVzbHdndkRoL21SdHlsYUZBbUo1a0J6eXQ5dE5J?=
 =?utf-8?B?RVFlcmtXMDlSb3JMNmNLNUZsU2ZmS1VNSTlJOXFxLzNaZndiS1ZjRWY2SThH?=
 =?utf-8?B?SGJlN2tFQnVZOVNBenRldHdpaXl3VXorYkU3MUxaeldxaEF3Wk5xYkw2b2xm?=
 =?utf-8?B?SitZdzFWR2hHaDAvV1RKSUJxMXRYclNBMnYrOUs4ZTY4allIa0pyZjZpL2N4?=
 =?utf-8?B?ak9oZEJZZDRxY0MrZ0REdW93R3NHTnhaOE5wRHhJVGxwclFmSlhJUm12OWdP?=
 =?utf-8?B?dm50NmVlR3huazYxbUNHUWpnSjd0M3dKV0REZXg4a09UQVhjQmljbzlEVGpr?=
 =?utf-8?B?V3V5RTlmSW9xSDBpZnFyRDdHNXkwZzYxbUowM05UeCtqNzhHRGZEWHNXUHZR?=
 =?utf-8?B?MTRTMWRkUmpuU0hGNmNGYnhIcHAxUlBRVzBVWEEvY2ZvVzZ4bG9Pb3laRk02?=
 =?utf-8?B?RDVCMGJpNWl1a1l2ZjYrTk5SZWx4NzNaQTlwLzBWcE1CdkRMR1BaVmxsUmJa?=
 =?utf-8?B?RnNkbUlxK2pUL1M4TSs5NncyaVQ1c0doWmtycUdIQlZ1RE9PeUJtT1ZGSlFu?=
 =?utf-8?B?cVpLUXM5REhLNmtNUHJmQXFmcTVWZTZtQTYzQ0VibGJEUVh5NlRBbWhDU0RS?=
 =?utf-8?B?cnFvVEdoRzBNM0VXYVh4cU1Wc0FqYVVONzJYdHhPazhKMzRBN2NvUDZwdDMz?=
 =?utf-8?B?WEJnajFVUmFwZUtWcGp4ZWZCYlFaUzZQcm5lVG5TRTRPWUdHWVdJeXQyMzhx?=
 =?utf-8?B?ZU5jdDB0clV0NUJMV3NITDNsdlNxajlQd0paK0ZjMEUwL3Bud3c0eHdPMk9W?=
 =?utf-8?Q?FB04KCkD/Qj6V+PN72Zume007?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a5f1e8d6-97ea-4385-5f97-08daddbcf2b1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 10:21:22.5553
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c2DHIEjCDjmxY0kzWjGgFpxJ4yMVM+9DjCeWq3nZse+xcyJA+F2TbhPqZ+XN4SwD8+5qKXwAI9Exr/IW84F//Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7069

On 10.09.2022 17:49, Juergen Gross wrote:
> In order to prepare a type-safe recursive spinlock structure, add
> explicitly non-recursive locking functions to be used for non-recursive
> locking of spinlocks, which are use recursively, too.

While I can see that something needs doing, a function name like
spin_unlock_nonrecursive_irqrestore() is really unwieldy, imo.

Just one minor further remark:

> @@ -64,7 +64,7 @@ void pcidevs_unlock(void)
>  
>  bool_t pcidevs_locked(void)
>  {
> -    return !!spin_is_locked(&_pcidevs_lock);
> +    return !!spin_recursive_is_locked(&_pcidevs_lock);
>  }

While touching this line, could you please also get rid of the !! ?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 10:32:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 10:32:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462006.720158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5P3p-0007lw-FT; Wed, 14 Dec 2022 10:32:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462006.720158; Wed, 14 Dec 2022 10:32:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5P3p-0007lp-Ch; Wed, 14 Dec 2022 10:32:25 +0000
Received: by outflank-mailman (input) for mailman id 462006;
 Wed, 14 Dec 2022 10:32:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=H8nZ=4M=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p5P3o-0007lj-Mb
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 10:32:24 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9892d436-7b9a-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 11:32:23 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 3C7761FE5F;
 Wed, 14 Dec 2022 10:32:23 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id CBBA11333E;
 Wed, 14 Dec 2022 10:32:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ya02MDammWPpIwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 14 Dec 2022 10:32:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9892d436-7b9a-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671013943; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=bUdMqT7dV5ID3LnWJzrEX3UOp4NEunxHDWa+aTvT16Y=;
	b=oIJo0S5Us4SuV029ytup/9jR6345sC88VNPp+OrQHLjkMfQOtt7hAj2qN2VPoipknMr+M4
	KdRsBqGdKpg0Ul1xNsOyOY4e5wrHTwCSZWCC9m0nYghAMFB4GFZ51Z9yH3uX7DsPDKSuJq
	IdqssQCSv0S153gEBMx+8FjBiVagY+o=
Message-ID: <7e37a734-9977-c2e4-2f4a-17dd77b19585@suse.com>
Date: Wed, 14 Dec 2022 11:32:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 1/3] xen/spinlock: add explicit non-recursive locking
 functions
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20220910154959.15971-1-jgross@suse.com>
 <20220910154959.15971-2-jgross@suse.com>
 <5a3c8cd5-7f78-aaaa-0338-d063bb04e357@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <5a3c8cd5-7f78-aaaa-0338-d063bb04e357@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------8Qlnr06WiuCjzE6aD1sFJnnJ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------8Qlnr06WiuCjzE6aD1sFJnnJ
Content-Type: multipart/mixed; boundary="------------j6vJMDLPgRrk6MZ7FHmuooPy";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
Message-ID: <7e37a734-9977-c2e4-2f4a-17dd77b19585@suse.com>
Subject: Re: [RFC PATCH 1/3] xen/spinlock: add explicit non-recursive locking
 functions
References: <20220910154959.15971-1-jgross@suse.com>
 <20220910154959.15971-2-jgross@suse.com>
 <5a3c8cd5-7f78-aaaa-0338-d063bb04e357@suse.com>
In-Reply-To: <5a3c8cd5-7f78-aaaa-0338-d063bb04e357@suse.com>

--------------j6vJMDLPgRrk6MZ7FHmuooPy
Content-Type: multipart/mixed; boundary="------------NDy9Gm0iRKYK1M5z6Qze0g6v"

--------------NDy9Gm0iRKYK1M5z6Qze0g6v
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTQuMTIuMjIgMTE6MjEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxMC4wOS4yMDIy
IDE3OjQ5LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gSW4gb3JkZXIgdG8gcHJlcGFyZSBh
IHR5cGUtc2FmZSByZWN1cnNpdmUgc3BpbmxvY2sgc3RydWN0dXJlLCBhZGQNCj4+IGV4cGxp
Y2l0bHkgbm9uLXJlY3Vyc2l2ZSBsb2NraW5nIGZ1bmN0aW9ucyB0byBiZSB1c2VkIGZvciBu
b24tcmVjdXJzaXZlDQo+PiBsb2NraW5nIG9mIHNwaW5sb2Nrcywgd2hpY2ggYXJlIHVzZSBy
ZWN1cnNpdmVseSwgdG9vLg0KPiANCj4gV2hpbGUgSSBjYW4gc2VlIHRoYXQgc29tZXRoaW5n
IG5lZWRzIGRvaW5nLCBhIGZ1bmN0aW9uIG5hbWUgbGlrZQ0KPiBzcGluX3VubG9ja19ub25y
ZWN1cnNpdmVfaXJxcmVzdG9yZSgpIGlzIHJlYWxseSB1bndpZWxkeSwgaW1vLg0KDQpXb3Vs
ZCB5b3UgYmUgZmluZSB3aXRoIHMvbm9ucmVjdXJzaXZlL25vbnJlYy8gaW4gYWxsIHRoZSBu
YW1lcz8NCg0KPiANCj4gSnVzdCBvbmUgbWlub3IgZnVydGhlciByZW1hcms6DQo+IA0KPj4g
QEAgLTY0LDcgKzY0LDcgQEAgdm9pZCBwY2lkZXZzX3VubG9jayh2b2lkKQ0KPj4gICANCj4+
ICAgYm9vbF90IHBjaWRldnNfbG9ja2VkKHZvaWQpDQo+PiAgIHsNCj4+IC0gICAgcmV0dXJu
ICEhc3Bpbl9pc19sb2NrZWQoJl9wY2lkZXZzX2xvY2spOw0KPj4gKyAgICByZXR1cm4gISFz
cGluX3JlY3Vyc2l2ZV9pc19sb2NrZWQoJl9wY2lkZXZzX2xvY2spOw0KPj4gICB9DQo+IA0K
PiBXaGlsZSB0b3VjaGluZyB0aGlzIGxpbmUsIGNvdWxkIHlvdSBwbGVhc2UgYWxzbyBnZXQg
cmlkIG9mIHRoZSAhISA/DQoNCk9rYXkuDQoNCg0KSnVlcmdlbg0K
--------------NDy9Gm0iRKYK1M5z6Qze0g6v
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------NDy9Gm0iRKYK1M5z6Qze0g6v--

--------------j6vJMDLPgRrk6MZ7FHmuooPy--

--------------8Qlnr06WiuCjzE6aD1sFJnnJ
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOZpjYFAwAAAAAACgkQsN6d1ii/Ey8E
9ggAg7U/Vac8pcKVR2sQwPEcps/v9qagdQySZgq7kBRL34nzGMIwjp28esKA5oo5jPyQ+FxYd4XL
eqcIQmdXR9GmQEmaCsQEh4dFMGPrRKbs+Gqb9pvNhXB+M67csFOedE3fWVm1oat/ZweD0IHvg/KS
Dijo2U+7uoBjMdjsJlqrwmvUZIUrSW2S/WhcLMEqRZ0+FyPJw7DLHPDHjcvrsSFx5NXHjIIMjxKN
vYbJRTFsjymKlS05BiFDrP0R++fxODq1qPJuT6rFlaIBoPBPWwgH0lW8rcM3uX+2BByGp6kJGEIU
nyfULzrCeWgSKrpEcthayOFD0tqNpWkaiWoEwk9U6Q==
=gcfh
-----END PGP SIGNATURE-----

--------------8Qlnr06WiuCjzE6aD1sFJnnJ--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 10:33:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 10:33:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462013.720169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5P4N-0008Hk-Nf; Wed, 14 Dec 2022 10:32:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462013.720169; Wed, 14 Dec 2022 10:32:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5P4N-0008Hd-Kw; Wed, 14 Dec 2022 10:32:59 +0000
Received: by outflank-mailman (input) for mailman id 462013;
 Wed, 14 Dec 2022 10:32:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5P4M-0008DW-BB
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 10:32:58 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2058.outbound.protection.outlook.com [40.107.20.58])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac3f14ef-7b9a-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 11:32:56 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7710.eurprd04.prod.outlook.com (2603:10a6:102:e6::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 14 Dec
 2022 10:32:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 10:32:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac3f14ef-7b9a-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TQPZX4TyzvXJIpzxUn0ChCpaP2FL5/0S1ik1Ght3Ttkp3pWqFM02q6KX3nUfgTcrVW2ii3T6ks/rzuxGGHjXfnouxG3r476F1qJvvvaArDZrnfEqgc/kqqJLv8NaO2sPXDFcOf2oqrGCtEjmvQ+hYAvTWS4BNjE67dO7GuuT2oM4Yq+EuqThwbLtJvv8WfyuSBJiCbGFE+A0K0vgUIfLzeXKUZ/QfxggJwb0xQxoWy+fHLalaxfBnkIlOQNj7CiBdQm+g4QaEr4GT4RUnfAAp2jUWcaXG13XAf5tjP+AwNs8Pyymg61RvjhuU6GqLnAtrMTwUyYWkBLWB5yvrF13kw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cmt5gqVyJRkt4e6qAL0DVscfkdMb7JaZkWZ32j2x7Y0=;
 b=a0njlAPZOCbIYr8wtqMXw9QRBkVPwogS7kWQiyqDPZfnHzFuapfz7sL4fds3Xcbf17IsaH9r5aKlfhDLyExFclXdKJDhV3btIBxfhjNtuyiLmd7LOeTOTP0soJq0XXifKnEpn4fJboH3pckky6CX+5e6GmTy9EJf/mbGAabGXTPK6nlD1QOF5g9DDiNqNgyKldH5DXJGVd4ukCsieJYwdewRY6SVKzdu8lmVok1BrSt7TcDg+h3DmnBB2yQuo96l+rCyjd79KQzoMFqg9jzE5+anL20tusnfYwWtVAEI58opd5fMNyA+eQLUsh6GSmbUc5Xz9ktveLgx49htoKafmw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cmt5gqVyJRkt4e6qAL0DVscfkdMb7JaZkWZ32j2x7Y0=;
 b=0Ev+dxC4Spm0E8a5zJLfXqBLEKIzHy763Jibxj8uaMPe+ZnoGveg4tBpIFbYh1I7sDeXTUyRQi7gN8AiY9OB4vYXxSZbRh595kixaY+0ga2gxGSGww2Qz/h6eUI4rLtvHIEEKISnFtqrl+PahTPUltb3D+EBHJdue7OEfcQcf9qQ1GFpWkG3DfDS1vOD72556RRIgqt1Z71uhfbOLb131ChlqMzIbZUUtnB8XTIH2snhOx3Cjb0DRpJ5+Kqg3dHJgc5dCf3cCaLppI7dMpMGbjsJGrRcMfcCMH3x99F5vsZrnjO14CmXIpryyCykbBCBEonnGjwp2hXVsCzNdXjuuw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <03f07de4-400b-941f-0efb-77ff3f76e9f0@suse.com>
Date: Wed, 14 Dec 2022 11:32:52 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 1/3] xen/spinlock: add explicit non-recursive locking
 functions
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20220910154959.15971-1-jgross@suse.com>
 <20220910154959.15971-2-jgross@suse.com>
 <5a3c8cd5-7f78-aaaa-0338-d063bb04e357@suse.com>
In-Reply-To: <5a3c8cd5-7f78-aaaa-0338-d063bb04e357@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0082.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7710:EE_
X-MS-Office365-Filtering-Correlation-Id: c8c0e736-a835-4c1a-37f5-08daddbe8f45
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vVMH26FKUvKKO/JVkpxRwnDJ8oAiQ2so+mTfPDQMqpsX6bTAfHhxGa6rzmO2SJJ9YQeRBadZSbp5GOPRWTthyKij/hI58pOJKLz03adUzAP8mAii3A7jNvtGyu+xKcjdklvsEUXVUOPOJVtscrnZrcRrv5cNo/aGwCdjqeXt8KZFqrmlVQoldjOTofkQfq9y2+uGdLcxtcJj8C9W0HNaO5w2Es/J4coSpayOhk8pZ1BrI+5dOZILD//Cx0s9/q3Tthl2W/Kqj1/7AqlmiLPxpmO2JSEF5dB2oTt2k5tAqzvqD5akHaq10s12qC/m0c4ujlWg7ftU6lx1wh9JuZJReHw7y2GclM3sfWaOxucVvyERGHfBI5RZXN78APhGFProgg+ob+OFznIueP2haBiFV2h92mqj2TR5mC1ScLM/dWfg1BG2R+bOHh5eMl4AaKlTV2tVvxlae07idR5fcAaeuZRzCcaWwTZUpsFrCAq5E5uYCftNI4Fx+9TUNrJJrTfFta0jzgxgGz+nMoufCRyEKyuPKlZLLZ1DMKMl6/wwUfLyCSbobpIgNN1n38nj+38SLTbACO1jx/dX9judk8Z8brnjEONybanGkvfaX6Aw7Pjt8G+THn0rl7zHbQf8ZXuREcciA4cBesr/GPS1IvXocb7Wj2TBDwfxJTM5ivrP070TXjA8vcLa7nDaPnFFWesAlg/842D+Kh/ODkv2ITRwUGVsXNcbz3k9secNXtflhTdk6SYFQHKRvxDJoLmAyNgQ2ZFsdBsR2jN/KeNAz3IX19We9rhTXR+PCXxtCXM7Byc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(396003)(39860400002)(346002)(366004)(376002)(451199015)(83380400001)(31686004)(2616005)(186003)(6512007)(26005)(53546011)(6506007)(478600001)(6486002)(2906002)(66556008)(66476007)(66946007)(8676002)(4326008)(41300700001)(36756003)(38100700002)(6636002)(37006003)(5660300002)(54906003)(316002)(6862004)(8936002)(86362001)(31696002)(7416002)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZUtSR1F4azF4STg4UTVoRXlQRHMwaVdvWVpiQkhCcUtUQWdNQVRRMUtla3Iv?=
 =?utf-8?B?VmVKN1dzdFJndG1ZSnFoTC9IS3FCR21QYm9jMHAxbk1WSDY4bTNMbEZiRmZQ?=
 =?utf-8?B?M1lnK3UzYjlkYTNrTHdtOXpBWGVuSVl3QmphcmlENDhtZUZMaVk1Z1JoNGdt?=
 =?utf-8?B?Y1JlbUpkT2JPV0d4N2Z4V1F1eTZsQlprOXZ3S1RiamhzRCtTb3dGcGxUaFlM?=
 =?utf-8?B?eVZDd0dObGtWMk43RnNURmN5cUx2ZkhOam1NdjUrZUhvWWxqUWhPK0grc0h0?=
 =?utf-8?B?ZFJaZXdWbnhiZW80UUZjTFZERE00TWMyWG50SzBYUS9QZzBGZXE5RStodGtN?=
 =?utf-8?B?QVpjb3NBTVlmWXpDYzBBUEIyYWVqbHpjdEpMOGFoamtONlB5U2xSb0o4aGdh?=
 =?utf-8?B?QUwyTXVyb2R4UnMxdFg5VVNpVGVsU2grMXlTQ1hZclZLQ2xnUUpFbzFyNys0?=
 =?utf-8?B?aGk3bnJLVFd4MW8wV0tTazQ2RjlER0lZWHlmNnAvUFNBNFg2RzFhSFpmYXhv?=
 =?utf-8?B?N3ZHcUh0NFIzMzY2akc1UWtqbXlmMG54dGFVT1ZiT01XUmhFcW81clF5S2Ru?=
 =?utf-8?B?VVZXMG5GRGNTL2tQRXFxL2tzVnpldjNHNXVHdkRoWjFQSjdoS3oyTVJPMEhu?=
 =?utf-8?B?Y29YZCtkWlFSUVNTMW5zNkVsalFCem9GQVllcG8zZndvcUJpSmx5TVVJREpF?=
 =?utf-8?B?QlpxdTdDamlzYkRTYTRXalpZbGkvSkphWm10NUF5VUduaEt1dU5RQzliMFEw?=
 =?utf-8?B?U2tLZWxWYUFDZnhpU25jbVEyZ05xcXlSRVhxV3YrdVc1OFY5MmQ5c0h5Mm8z?=
 =?utf-8?B?U3ZJaGxQSGtob3FkK3k2U3U4ODUyWnV6Sll1Mnc3czZWd2Q3b0w2WWJYWVFS?=
 =?utf-8?B?Z0h4S3YraHo0STk3cHkydkxHcmdUK090NzNiZjVaVWJkRUVtQnhoak00aW5P?=
 =?utf-8?B?WWtlWHYxaUpNaWlKOEJnbXBjNVdqRWN6NGxVQk8zaWVVaW1ielpqc3N4WVll?=
 =?utf-8?B?a2pPN09NQUkrM3BldzY5S1U4cWhPWjdoVWJSRGIzVGtVdDQ1angvL1MxUWNP?=
 =?utf-8?B?UnhoeitXZ2o4aUxLUmRsM05NUitrU05nRFRmbFE1dXFEUkM2U29rVC9sTkhH?=
 =?utf-8?B?bGdLUDVGbC8zRVdocVIzdU9hMnNLYStNV1VLMTdkTEF3MU9KWVY5Q0s3bFdz?=
 =?utf-8?B?MXpFUnRVTzBLT0tjY0RyVUJLbnd5c29aMVBpTkN2N21vVXVJTVNwUjB6cEVt?=
 =?utf-8?B?SmtvZnNQc09URWFMT0xPaU9DL1Y3ZmFrVVd3a1lNbzAwVHVLbWhQRExpQzVL?=
 =?utf-8?B?SkJaRmdESVFaN0tZZk56WEpYSkpGYy9WVXdxYnNkRlh1VlRtUGo4bDF1bzV3?=
 =?utf-8?B?a1YwT3BrbTgyeUg4UVp5SE5welR2c1h0Z3BWTnRwQ3A2bzF3eE05aFNnN0F4?=
 =?utf-8?B?OE5oWEVqU2FUSFhhWE9LaWJTWUtETTdrWkMwV085cksyc1pDcVQxQlo0UE5N?=
 =?utf-8?B?b2NhY3RybGlDRGlmQ2VwdVBPTzUvQjNFQlMwQTVrckgxZU0rblgxOUlnbmxp?=
 =?utf-8?B?M2ZoZGVGY3BFOTE0SkpTZW1sVXNwcnBheHNxTUlKRjA2dUkzMC8yZXhrQlkv?=
 =?utf-8?B?MzRXdXg2ZkV0dHUzdmwydU9jRjJhUW5ISDZCQ2J1Q0xhMGhGRm9VSUtrTzZv?=
 =?utf-8?B?R25iVnZXcjFMRVhnbUI1WVNzekZkSXZIY0dSL2tiN2pQTi9ORWpJekFmMWlx?=
 =?utf-8?B?UGxVUmVGaU5MWW40L2IvaS85b0dXZVpxQ0svZHdEb2xqOFhxOGpNT1Y5QzdT?=
 =?utf-8?B?MWpLdE9XMlM2MVE5UXVOWVROVDE4d2pndHRYWkdRdGk0ZHhDZTZ0L0tiZmUv?=
 =?utf-8?B?bHZYd1I0MmlnQ3ZlQzlsTUdKUWtVS3ZMOU9kNzdYbDg2cnU0Nm5qNnRSMzBx?=
 =?utf-8?B?YVZwM1pIZkhaV0UwbkVZQVFBRzlrRFQ4eUNycGF5WlBWY000dEdvUDZkbmlx?=
 =?utf-8?B?S1RLU2g4cGVtb0NNQnpQdUFHalNvU0R2QU0xYW1oRzV6aXZTczVXL2xiUnJP?=
 =?utf-8?B?UUxOVzF4WEtUbHhkUHYzMEVxcVh5Ky9WVmN0dVFvQVQyOHdhTWRTVzlsa0pD?=
 =?utf-8?Q?oUGGpmyZyoSgJSL33NXNiR+HW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8c0e736-a835-4c1a-37f5-08daddbe8f45
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 10:32:54.4955
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: z0uSgLsqbY6KUVZIn7Ofa4IT1grz3ZM9S5wa9V5lH3IRL/63lq1ApaFgrt80vD4A+DHxBb1pbPjVwbVG2wmF0A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7710

On 14.12.2022 11:21, Jan Beulich wrote:
> On 10.09.2022 17:49, Juergen Gross wrote:
>> In order to prepare a type-safe recursive spinlock structure, add
>> explicitly non-recursive locking functions to be used for non-recursive
>> locking of spinlocks, which are use recursively, too.
> 
> While I can see that something needs doing, a function name like
> spin_unlock_nonrecursive_irqrestore() is really unwieldy, imo.

While further looking at patch 2 - how about rspinlock_t and rspin_lock()
etc, and then nrspin_lock() etc here?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 10:38:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 10:38:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462026.720181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5PA3-0000tO-FU; Wed, 14 Dec 2022 10:38:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462026.720181; Wed, 14 Dec 2022 10:38:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5PA3-0000tH-Cd; Wed, 14 Dec 2022 10:38:51 +0000
Received: by outflank-mailman (input) for mailman id 462026;
 Wed, 14 Dec 2022 10:38:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=H8nZ=4M=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p5PA2-0000tB-FV
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 10:38:50 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e9dae81-7b9b-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 11:38:49 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 17EE01FE82;
 Wed, 14 Dec 2022 10:38:49 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id A3BE41333E;
 Wed, 14 Dec 2022 10:38:48 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id PFOGJrinmWNzJwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 14 Dec 2022 10:38:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e9dae81-7b9b-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671014329; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=zq8BZqrPNzJVT2V8MZEYV7uJeThDUpqEtPhtIfdPtW4=;
	b=M+vbHxxRW3jQoUeeKz5WMwMccMR5Wa1LNiF1rN4rXqXv5otndP/ockV3NJpXXb3ilJhSff
	wp47e4I0kcpWqLDB19uLJIWhxoJ7rnvXGGdL8H2qJBRDtfbMQJ+UXQ0nnw227IoL69EGiH
	q+xmlspNfPe5GAS5T7eTzLPDIYwps7A=
Message-ID: <9165f5ae-b1d6-58fa-4f9a-9afcfcb4161c@suse.com>
Date: Wed, 14 Dec 2022 11:38:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 1/3] xen/spinlock: add explicit non-recursive locking
 functions
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20220910154959.15971-1-jgross@suse.com>
 <20220910154959.15971-2-jgross@suse.com>
 <5a3c8cd5-7f78-aaaa-0338-d063bb04e357@suse.com>
 <03f07de4-400b-941f-0efb-77ff3f76e9f0@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <03f07de4-400b-941f-0efb-77ff3f76e9f0@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------3SvHT46k2viicluMyTvfH8Y0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------3SvHT46k2viicluMyTvfH8Y0
Content-Type: multipart/mixed; boundary="------------cJ0W0YSjX9GuqjuJOKUrZ0mL";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
Message-ID: <9165f5ae-b1d6-58fa-4f9a-9afcfcb4161c@suse.com>
Subject: Re: [RFC PATCH 1/3] xen/spinlock: add explicit non-recursive locking
 functions
References: <20220910154959.15971-1-jgross@suse.com>
 <20220910154959.15971-2-jgross@suse.com>
 <5a3c8cd5-7f78-aaaa-0338-d063bb04e357@suse.com>
 <03f07de4-400b-941f-0efb-77ff3f76e9f0@suse.com>
In-Reply-To: <03f07de4-400b-941f-0efb-77ff3f76e9f0@suse.com>

--------------cJ0W0YSjX9GuqjuJOKUrZ0mL
Content-Type: multipart/mixed; boundary="------------iDUWEu3PmzzPrl00QcgJ0po2"

--------------iDUWEu3PmzzPrl00QcgJ0po2
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTQuMTIuMjIgMTE6MzIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNC4xMi4yMDIy
IDExOjIxLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+IE9uIDEwLjA5LjIwMjIgMTc6NDksIEp1
ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4gSW4gb3JkZXIgdG8gcHJlcGFyZSBhIHR5cGUtc2Fm
ZSByZWN1cnNpdmUgc3BpbmxvY2sgc3RydWN0dXJlLCBhZGQNCj4+PiBleHBsaWNpdGx5IG5v
bi1yZWN1cnNpdmUgbG9ja2luZyBmdW5jdGlvbnMgdG8gYmUgdXNlZCBmb3Igbm9uLXJlY3Vy
c2l2ZQ0KPj4+IGxvY2tpbmcgb2Ygc3BpbmxvY2tzLCB3aGljaCBhcmUgdXNlIHJlY3Vyc2l2
ZWx5LCB0b28uDQo+Pg0KPj4gV2hpbGUgSSBjYW4gc2VlIHRoYXQgc29tZXRoaW5nIG5lZWRz
IGRvaW5nLCBhIGZ1bmN0aW9uIG5hbWUgbGlrZQ0KPj4gc3Bpbl91bmxvY2tfbm9ucmVjdXJz
aXZlX2lycXJlc3RvcmUoKSBpcyByZWFsbHkgdW53aWVsZHksIGltby4NCj4gDQo+IFdoaWxl
IGZ1cnRoZXIgbG9va2luZyBhdCBwYXRjaCAyIC0gaG93IGFib3V0IHJzcGlubG9ja190IGFu
ZCByc3Bpbl9sb2NrKCkNCj4gZXRjLCBhbmQgdGhlbiBucnNwaW5fbG9jaygpIGV0YyBoZXJl
Pw0KDQpXb3VsZCB3b3JrIGZvciBtZS4NCg0KDQpKdWVyZ2VuDQoNCg==
--------------iDUWEu3PmzzPrl00QcgJ0po2
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------iDUWEu3PmzzPrl00QcgJ0po2--

--------------cJ0W0YSjX9GuqjuJOKUrZ0mL--

--------------3SvHT46k2viicluMyTvfH8Y0
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOZp7gFAwAAAAAACgkQsN6d1ii/Ey8b
TQf/aaUpCXkK9IAMn9I6c3Vbdg0Fya15MFIpDOsYu+wfffauDZ4pURozqqV6VH7QbZipvS/bjY7z
P2CrVuIKolfkhUjXS28N67/YRXHgMY3ut69OnR2SLSTxjFUTzt6RGRwXe6nnWQjvM1hkTlOANiRm
xFE4yD5nx87/7jZUXYVmloT4X/YKuKKDrXrwjA5WlDdzVRkOA9CXVm9Rw8FeWm6w5CgUk4Qm/BEH
mDE2LyO4FsPGjw8VvkLGOhR4YlfXD6vtq/uYdPw9lEKltzpF7ccwZZi3d3wGWCQN72S6bsNP3IT4
q7QqXh2k/GAZOAtrn2FuAPCUn0c4naf19b802ngyng==
=6xXV
-----END PGP SIGNATURE-----

--------------3SvHT46k2viicluMyTvfH8Y0--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 10:39:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 10:39:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462033.720192 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5PAs-0001Py-RQ; Wed, 14 Dec 2022 10:39:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462033.720192; Wed, 14 Dec 2022 10:39:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5PAs-0001Pr-Ms; Wed, 14 Dec 2022 10:39:42 +0000
Received: by outflank-mailman (input) for mailman id 462033;
 Wed, 14 Dec 2022 10:39:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5PAr-0000tB-6l
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 10:39:41 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2054.outbound.protection.outlook.com [40.107.20.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ce79490-7b9b-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 11:39:40 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6793.eurprd04.prod.outlook.com (2603:10a6:10:11a::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 10:39:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 10:39:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ce79490-7b9b-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IZqw00ZaHpuo/kwaJho0P8ynE4TPyrKXSER5oYjpGa3e0WAX8nYtYc3AmXQF1gpgIiUJ5Gf+8EfdZX3IJC32NlBVscdE6Kb1+C07uYywJcVsosoGJv/6xIkGXexuc1CT9/UA43dopYMbZs63m2qR0F0Qy4wbGfuqahxa4Kp8ogD0kgCsHNNsy1Ya05XhSQqYQbqUGwfA+0io79prxqHs7Kpr2HHX8L5a/Xf4hny6atu87STW4sm7kkSRuJedKkrUnoR6DKzeINEEE6czcfr86CqAJ8CSZIv6OndrYLz4hufBzad0sZjTXXwPYK9B5cUZO3jEMPcN30X+OhwyudS6ZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SQRBrkQnmiPADbFGop9mFJ88PezLbKCysrXuE5d5kZI=;
 b=hlILITk64GqTi25sU0X+aiEwzcYkhyq7+h5tDSXMhcaJhHzAvZSRv2h0Ygm6k+IX2zkwQj1pLKCLjZVQC3vDhVMu3/Guhv6XBjTtLPWJaUYXMiiQu/G9ryjN0flNUxVmSuxIGbH5P8pHHO6n41b8rkvQnOFtPxcoWAN1yHflkWVfcBXSdsdsXGmCTlViKr4Ug3IAh7K9J6MSkmodQi1IZbmd3tysDu0ofA6ol6QzbimRPAx1p3Q9jetPxyQ1efUlk9k4MKW4XDnD1XkvZuMV9GXc1UtFcs9PMStU2FuhwTTeRQcWfZC20icx/NjtgAHTZmIsdm+/UXBCS8j8o1AQRw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SQRBrkQnmiPADbFGop9mFJ88PezLbKCysrXuE5d5kZI=;
 b=JiKNjkh7rne7zN7RJUo2gMygf8D0uWE2ZmwNZ8aTFtyiq8o2fmRQ/398Hkz/Is9wA/q1zVsnJguunW4XZqMGYyR2qUAU4HyYBipUVtqFkFMPtmJbzUYZwpIpSNIZ7654j7kSHDP7z6EEoNzxkuoZdsczfz1UCXZif50jsG80am5sDU31qqVHN7yYNeLoKNAmT/bCxFVgPM0U01WwFriIy17QglTi4KQYROu94MpHCfypTT462N3SWyhkuWwXVa0m8qiGli9jNmG4/dam7KkrKB6+bRfgNhbNvrR8IXt4mFEBRm+q/Fmei8ZTOiKs+k+/VaeFdVOAwEMKEM6X/WwZSw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <71281857-7387-afc1-f9b0-e076e4f076a8@suse.com>
Date: Wed, 14 Dec 2022 11:39:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 2/3] xen/spinlock: split recursive spinlocks from
 normal ones
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20220910154959.15971-1-jgross@suse.com>
 <20220910154959.15971-3-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20220910154959.15971-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0095.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB6793:EE_
X-MS-Office365-Filtering-Correlation-Id: 371fb02a-8c13-4f00-18eb-08daddbf7f49
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vZrr202J2iPlQ5WDqCcsF/OnbSOgWk4ieUh6wpU+6Mm+kh9tUkj51UvGHYhEEompNmTyiuy7gVWP51r0YvwHZhEgUmfBtZYP3Q4GGVeJ+FXzhOWjESe6j4oWK8y9ohHq0I2QdnsNVISnCK9n0/Pyms2/s/T6s5sHsWjQssz9KMWQFvCAM+RF0Vdx+fMgtSHamt/fn9RkoMkm3PUIvc1Sp6jkZan3tfEACLto2OjO3HTsgqJ9nWVUW1zjtFHKYrZ/gwGdvEg8eKdNkOzZCe8mxkP+/PeOKS+xS4hODVBE83giLYs7tM68CpwrwCY7QQ9D94MDsfKf9V3JIY9AmGOfaBaURtxpey9WA13Fb1bzrj9F97g7sp9yCvjj2F9ygG61MWCijj3KPbqqcEerI3MP9GV0GLwTJXcOH7TFeXVj5YRZl4hwlXJcyTJlvUQUBopDSykxkf34BZGgIfvMNnctdp/Md+mxvNVLgNFSz9cWNCKp4FvH1lsv37DNpvKQQNqhmRE7kZqQEAeVLnkcJcdpmwKH+4hYHtm7JEB8qsVjcAnp5MaEA1UNf7Zo+SJ619+x3YC2IlU9zMIG5b5nYXrfkhHwrsJWNJ7nbX51q2fDl7V+22fLE53m34cmrViudXYw0kvdYHb0AM6gh+qHeDcqfZbrMPwRrOgh6K6Jm3RW+KfUzzl75ztthRHMUQ1+QJbwh5l4tEU/eaClHZgSCB18upgnKz4XX6v2+7Zc8NLJG6I=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(346002)(376002)(366004)(136003)(39860400002)(451199015)(86362001)(31696002)(83380400001)(2616005)(38100700002)(2906002)(6862004)(8936002)(5660300002)(186003)(41300700001)(26005)(6512007)(478600001)(6486002)(4326008)(6506007)(66946007)(53546011)(66556008)(66476007)(8676002)(316002)(6636002)(54906003)(37006003)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UGl2RHhUdkhDR2RyRTU0QmYxSWszc2x4Z0xlNGQxclgrTHJURXdzSzJrRzBw?=
 =?utf-8?B?UC9PcTYrVXhJN29DR1MzNzdEUUw2UmJ6cTFONW85b3JlNldQUExaTDhkaFFl?=
 =?utf-8?B?c0p0d0oyVTQrRFNrTDFpZ2RldnNzS2RTT0k3c2RXZG94eUhPeGxMSGhvQURW?=
 =?utf-8?B?ZE1TUkxuQjBOd0FGZVBocDhHTHpxdCtjVnpsaVJsMW9DcGEwdEFBVTNxRk5Z?=
 =?utf-8?B?Nmd6YlVGVTRvSTF5eTVrR3RZbEZWSzVGdTZDbjVxMlhuMTYxTjZTTzZDS1Vi?=
 =?utf-8?B?aXQ5WGZyNWl6TE5uSkZkM1V4UENITmwvdTJtV3o2NmhPUTkvbUZXTDhuR0tr?=
 =?utf-8?B?Qk9ZRENVNHFXL1JnSUUzTWRWM3EyemVzYUFDZE02a1pib2xBenNIOHByenRx?=
 =?utf-8?B?YlhWS1dHOGVFdjhkZzlzQ2h5dTF5U2svZlZFYTBwd21OME1SNGUrWnVsQWFW?=
 =?utf-8?B?RUM5YVNFZXowa0dtTGl0bG8yREpET3BtaFVrL2FKVnhrdyt2bkI0Z016ZGVX?=
 =?utf-8?B?WEtaT0RwOWRYVlhmQm5FVmF4V0huQ1RQUDBBNEhrdHU1Q1ZySlBEcTUvYVhB?=
 =?utf-8?B?YVNkdDRoYTg3Skczei9WTXBkT2VpSmVsb0NUK1kzTkFMTE9BcnVZVWt5WGNJ?=
 =?utf-8?B?aXdvc0xtNUkydlJSNVRmM21vYjZyTkVHZndEQnFTN3dqY2Nldlo5Rzk5Z1lv?=
 =?utf-8?B?UXBLQWtjRjQwbDg0by9JczBoU3JuTlJ1R0RZMVUwMFlXaUlQYUNYaGwrbjQr?=
 =?utf-8?B?NmhLUDJrdEIrN0Y5dnV6SlZGTW1abHFZOG9SZ1p0NTlMYkxkeE1QaHhFOTlJ?=
 =?utf-8?B?dkJzNlpXRlBTd1lNbHlnWnVyMjRuUTgyRm1raExKU1QxOUFsNFFDOWJWUFNr?=
 =?utf-8?B?eSs3TXpVMGo1WjM5YzlYcW5odUI5RWJ3TmtmMUUyOGVNWTRkRXNZMW44TlFV?=
 =?utf-8?B?V2l0eXJaMVUyMWZsVXQwRnYvbUVDbDMralZLcXFyVzQ0ZUNEZTJ5RGNMMzRC?=
 =?utf-8?B?MWw4Qm1MaUVOQmZoUmhXd1NrUmtETllEL281aFVsZVY1dm1rMVRFanpLMlVX?=
 =?utf-8?B?QWFsd3RISHVaZVVsUnY3OUZKZG1UWG54VG9HSW0wcWYzTU5ERkE4T0pJb2ZV?=
 =?utf-8?B?MGRwNzg4eVJuQlF1eVMwM2ZENGtUdCtXZWh0VHhWSzhXWEN6aitHSlNTMDlZ?=
 =?utf-8?B?QjMvZE5UOFBRUHI4TjdENExhNUVpemdyTWNFSzZnMWx5V01yYjljVEJPcWxl?=
 =?utf-8?B?MXIySFFnUXZMWm5laW00QkwrS0xxckhyQ25vajBONmtNNkVqNFB1N3hncVdr?=
 =?utf-8?B?Y1NxOTVEMzkxcEFNSDQ1c0ZjUWMwSUJpZWM3ZWo4TjR2cHZRWVdZR3R6Q015?=
 =?utf-8?B?N0VjaHVnd2cvbVRSc2lIY2hXZnl0L010MFovaXArTU8xZkE0NXFueUYzdCtG?=
 =?utf-8?B?UGlhMjc2c2JFQnU0dkcxMjdoNG9OT2loeGkyTUpQYytwcDNGOW5VeGpQVUdC?=
 =?utf-8?B?TTNFd0d4aWZvdGNTTjZaUUI5di9CaVZDaHBqeU5LY3NsRU9PMElkOFcvN2tE?=
 =?utf-8?B?alVndm1VbEM3RVpZcExMMzl4bkNPeWEvZHdhaE45SGMwSzNFYlVraWdtT1Zu?=
 =?utf-8?B?N083b1FFZE4vZnVkMVdqYkFxa2c5UmwvMmVNZzhEclh5UEZ3ZFBXU1NMa3By?=
 =?utf-8?B?SElqQ1hpSTlCL2JqVVpGdVRNNWsxTXFwalF6MFJ1VkIxb01rVjBTNnF2TDVy?=
 =?utf-8?B?R3Q4eUVURG1kLzA5OE14R0xEeENsTnJVaUhoeWQzWlpVbG1SRzNXalB1VjYw?=
 =?utf-8?B?eFAzMGRaQndpT0hYR3lsU0xwR1B5QTVoOEtyOTBVWVhyQUdnUEVERDVkckwr?=
 =?utf-8?B?cnBhVDcxOXI4YzFCODVpZ0RHMEt0Wk1YTHhWVDRHNk02Mk84eVI4SUdnNEtH?=
 =?utf-8?B?dXV5SldadU1oK2k4NG1nTy9nbFNmMytsQUtrZ2Exb1Q1Z2lvTGxDVWVHNGtr?=
 =?utf-8?B?VVk1OTNQL1RQUjQzdTJLTTFjSjNPUUhWRG9xN1c4VlVQSDROZWFiMDc2NHd0?=
 =?utf-8?B?bXJ5eUVHUXdqQ0tPanV3RUx0bC9XRS9UV2RWZUlQRUlSOFFRaXRPeFRhekxI?=
 =?utf-8?Q?oz74pCOnZ4pxl23qM0ZGKuiR6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 371fb02a-8c13-4f00-18eb-08daddbf7f49
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 10:39:37.1585
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TwFRNdEe7OABqkpMScoB57BdvkSqipPrwHy0CjsMR00ipfM9Tb9wYG/LIGlXK6kOdTrYVUu0yBsc5ww+31ecEA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6793

On 10.09.2022 17:49, Juergen Gross wrote:
> --- a/xen/arch/x86/mm/p2m-pod.c
> +++ b/xen/arch/x86/mm/p2m-pod.c
> @@ -397,7 +397,7 @@ int p2m_pod_empty_cache(struct domain *d)
>  
>      /* After this barrier no new PoD activities can happen. */
>      BUG_ON(!d->is_dying);
> -    spin_barrier(&p2m->pod.lock.lock);
> +    spin_barrier(&p2m->pod.lock.lock.lock);

This is getting unwieldy as well, and ...

> @@ -160,21 +165,30 @@ typedef union {
>  
>  typedef struct spinlock {
>      spinlock_tickets_t tickets;
> -    u16 recurse_cpu:SPINLOCK_CPU_BITS;
> -#define SPINLOCK_NO_CPU        ((1u << SPINLOCK_CPU_BITS) - 1)
> -#define SPINLOCK_RECURSE_BITS  (16 - SPINLOCK_CPU_BITS)
> -    u16 recurse_cnt:SPINLOCK_RECURSE_BITS;
> -#define SPINLOCK_MAX_RECURSE   ((1u << SPINLOCK_RECURSE_BITS) - 1)
>      union lock_debug debug;
>  #ifdef CONFIG_DEBUG_LOCK_PROFILE
>      struct lock_profile *profile;
>  #endif
>  } spinlock_t;
>  
> +struct spinlock_recursive {
> +    struct spinlock lock;
> +    u16 recurse_cpu:SPINLOCK_CPU_BITS;
> +#define SPINLOCK_NO_CPU        ((1u << SPINLOCK_CPU_BITS) - 1)
> +#define SPINLOCK_RECURSE_BITS  (16 - SPINLOCK_CPU_BITS)
> +    u16 recurse_cnt:SPINLOCK_RECURSE_BITS;
> +#define SPINLOCK_MAX_RECURSE   ((1u << SPINLOCK_RECURSE_BITS) - 1)
> +};

... I'm not sure anyway it's a good idea to embed spinlock_t inside the
new struct. I'd prefer if non-optional fields were always at the same
position, and there's not going to be that much duplication if we went
with

typedef struct spinlock {
    spinlock_tickets_t tickets;
    union lock_debug debug;
#ifdef CONFIG_DEBUG_LOCK_PROFILE
    struct lock_profile *profile;
#endif
} spinlock_t;

typedef struct rspinlock {
    spinlock_tickets_t tickets;
    u16 recurse_cpu:SPINLOCK_CPU_BITS;
#define SPINLOCK_NO_CPU        ((1u << SPINLOCK_CPU_BITS) - 1)
#define SPINLOCK_RECURSE_BITS  (16 - SPINLOCK_CPU_BITS)
    u16 recurse_cnt:SPINLOCK_RECURSE_BITS;
#define SPINLOCK_MAX_RECURSE   ((1u << SPINLOCK_RECURSE_BITS) - 1)
    union lock_debug debug;
#ifdef CONFIG_DEBUG_LOCK_PROFILE
    struct lock_profile *profile;
#endif
} rspinlock_t;

This would also eliminate the size increase of recursive locks in
debug builds. And functions like spin_barrier() then also would
(have to) properly indicate what kind of lock they act on.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 10:44:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 10:44:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462044.720203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5PEs-0002su-A6; Wed, 14 Dec 2022 10:43:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462044.720203; Wed, 14 Dec 2022 10:43:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5PEs-0002sn-7E; Wed, 14 Dec 2022 10:43:50 +0000
Received: by outflank-mailman (input) for mailman id 462044;
 Wed, 14 Dec 2022 10:43:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+yf7=4M=citrix.com=prvs=340718c6c=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p5PEr-0002sh-61
 for xen-devel@lists.xen.org; Wed, 14 Dec 2022 10:43:49 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2eea8bf7-7b9c-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 11:43:46 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2eea8bf7-7b9c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671014626;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=1A/lYC6mWSeu716cMPT47BwZjdznzjCKDHUOkVRzajQ=;
  b=e34ZJCW6Jr45Bb16smM0RNjxxolrqJ7gDwM/mIpNCifA66hJLAi1awd6
   Qtop8yp8ZV0E190v5oHU8XCWo/UaR7pxVwagCH2Vuf8Bj5OhrSqkFCdoT
   GbWRaV67PGN71VhVrP3SVOfb/2X6WVQMrDgiB/abZ7+3JGJZpNR2S7ieZ
   Q=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87286841
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:KEQRVa5xy7tpKIQ5h4mR3QxRtD3AchMFZxGqfqrLsTDasY5as4F+v
 mdODWCGaPrZYzehfd52b4u1/UNU6JKGyoRrGwc4+S82Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoS4AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5mz
 OI6NR4KSTe5tsm2+oKpZdtFi8QkI5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJU0UUrsUIMtWcOOAj3/jczpeuRSNqLA++WT7xw1tyrn9dtHSf7RmQO0FwRzI+
 DKapgwVBDkDN/OzkBnGqUi9pfHRpAmhQN8VSZSBo6sCbFq7mTVIVUx+uUGAiea9ol6zXZRYM
 UN80i8vrqV09EuvS9Tmdxm5pneeuVgbQdU4O+gz9AGMx7eS+wGYHGkJVBZFadovrshwTjsvv
 neLgtfoCDpHoLCTD3WH+d+8rzyoPjMOBXQffiJCRgwAi/HzrYd2gh/RQ9JLFK+uksazCTz2h
 TeQo0AWnKkeg8cN0OOg4VnNjjaop57IZh404gTRTiSu6QYRTIyvapGs6FPbxe1dN4vfRV6E1
 FADn8Wd9/wfFpGlmymEQeFLF7asj96bMSfRml4pHIQk/i6F/3+ldJpXpjZkKy9BO8IJaXnjb
 UnVtA554J5VNWGtK6htbOqZENgwxLTnDpHpW+78acILZplqaBTB+CBobFSXmWf3nyAEj6A5M
 pqdbYCjEHcGFaN75D63Qe4H1vks3C9W+I/IbcmllVL9i+PYPSPLD+deWLeTUgwnxJqaghj79
 PF4Dfqhyy9vQsLMSyTX9oFGeDjmMkMHLZzxrsVWcMuKLQxnBHwtBpft/F8xR2B2t/8Lz7mVp
 xlRTmcdkQOi3iOfdW1mf1g5MNvSsYBDQWXX1MDGFXKhwDAdbImm98/znLNnLOB8pISPIROZJ
 sTpmvls4NwVElwrGBxHN/ERSbCOkzz17T9ixwL/PFACk2dIHmQlAOPMcAr17zUpBSGqr8Y4q
 LDI/lqFHsJSGlo+UpiGOaPHI7aNUZ81wbIaYqc1CoMLJBWEHHZCdUQdccPb0+lTcE6el1N2J
 i6dAAsCpPmlnmPG2IChuExwlK/wS7EWNhMDTwHmAUOeaXGyEpyLndURD45lvFn1CAvJxUlVT
 b4OkK2sb6RczAwiXkgVO+8D8J/SLuDH/9dypjmI1l2SB7h3ItuM+kW74PQ=
IronPort-HdrOrdr: A9a23:MNl/UKvGQ8mOc90ztJIBDWuH7skDgNV00zEX/kB9WHVpm6yj+v
 xGUs566faUskd2ZJhEo7q90ca7Lk80maQa3WBVB8bBYOCEghrOEGgB1/qA/9SIIUSXmtK1l5
 0QFpSWYOeaMbEQt7ef3ODXKbcdKNnsytHWuQ/dpU0dMz2DvctbnnZE4gXwKDwHeOFfb6BJba
 Z1fqB81kedkXJ8VLXCOlA1G9Ltivfsj5zcbRsPF3ccmXWzZWPB0s+AL/CAtC1uKQ9y/Q==
X-IronPort-AV: E=Sophos;i="5.96,244,1665460800"; 
   d="scan'208";a="87286841"
Date: Wed, 14 Dec 2022 10:43:36 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
CC: Oleksandr Tyshchenko <olekstysh@gmail.com>, Jan Beulich
	<jbeulich@suse.com>, Vincent Guittot <vincent.guittot@linaro.org>,
	<stratos-dev@op-lists.linaro.org>, Alex =?iso-8859-1?Q?Benn=E9e?=
	<alex.bennee@linaro.org>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>, Mike Holmes
	<mike.holmes@linaro.org>, Wei Liu <wl@xen.org>, <xen-devel@lists.xen.org>,
	Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH V10 0/3] toolstack support for generic virtio devices on
 Arm
Message-ID: <Y5mo2DujvfnhxL6V@perard.uk.xensource.com>
References: <cover.1670994930.git.viresh.kumar@linaro.org>
 <47096c1c-4b03-2e3d-c28b-c8920b7d31f9@suse.com>
 <20221214083456.4w6raz7wop3ajtve@vireshk-i7>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20221214083456.4w6raz7wop3ajtve@vireshk-i7>

On Wed, Dec 14, 2022 at 02:04:56PM +0530, Viresh Kumar wrote:
> On 14-12-22, 09:21, Jan Beulich wrote:
> > On 14.12.2022 06:19, Viresh Kumar wrote:
> > > This patchset adds toolstack support for I2C, GPIO and generic virtio devices.
> > > This is inspired from the work done by Oleksandr for the Disk device.
> > > 
> > > This is developed as part of Linaro's Project Stratos, where we are working
> > > towards Hypervisor agnostic Rust based backends [1].
> > > 
> > > This is based of Xen's master branch.
> > > 
> > > V9->V10:
> > > - Swap I2C/GPIO compatible strings, they were wrongly added earlier.
> > > - Arrange tags in timely order and add new ones.
> > 
> > The affected patch surely needed all tags to be dropped which weren't
> > explicitly indicated to remain valid across the bug fix.
> 
> Hmm, since it was a very small change (only fixed the compatible
> strings) I thought it would be okay to carry the tags and rather harsh
> to the reviewers to drop them, since they invested a lot of time
> reviewing these. Though I do get what you are suggesting here.

I would have carry over the tags as well in this case.

If the tag were dropped, it wouldn't really have been an issue for me,
it doesn't take much time to review a patch series that I've already
reviewed. I usually look at a diff with the previous version (with `git
range-diff`, patchew can help as well[1]), and my previous comment if
needed.

But dropping rvb tag of non-maintainer maybe more "harsh" as you says as
they may not have time to re-apply their tags before patch gets committed.

> Should I ask Oleksandr / Anthony to provide their tags for patch 1/3
> again ?

My tag is still valid. Thanks.

Cheers,


[1] https://patchew.org/Xen/cover.1670994930.git.viresh.kumar@linaro.org/
    Then look for "diff against: v9"

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 10:44:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 10:44:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462050.720214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5PFS-0003Mu-J2; Wed, 14 Dec 2022 10:44:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462050.720214; Wed, 14 Dec 2022 10:44:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5PFS-0003Mn-Fj; Wed, 14 Dec 2022 10:44:26 +0000
Received: by outflank-mailman (input) for mailman id 462050;
 Wed, 14 Dec 2022 10:44:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5PFR-0002sh-TA
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 10:44:26 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2053.outbound.protection.outlook.com [40.107.22.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46b1ddf9-7b9c-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 11:44:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7915.eurprd04.prod.outlook.com (2603:10a6:10:1ea::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 14 Dec
 2022 10:44:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 10:44:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46b1ddf9-7b9c-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aviHrQG6yPNmHIOatBltcl8YMKk7VBoY0n3mM85Cv3B/9hdYJb/UeocWkE4CsgurQDhKzzoCbW1KefaeYPbfnsgIMkLIX6/d746R8M+xEEbJTjWQoKAXIujYD81YwtRpOA6GYnbfMlnao4Xe8zgzB9dAK5CDG6n6MflLDCoROisAxOR0w143qrDz+iJNWB/3wqafONQbUkZ42XfcRum6XaCVXQNKqRQGzKJNsHpbASUxWsz5qUKLlAVkTmICKATDKov7kqQHTvB0TVcZcR+v862fE5E+KXP1MnbZ82r0kZizCzxJoebkYDYSaI0ZA9p5opi9SY/ZOP99BDWb62b1LQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Fdp8Xs7GrHwvTtEpIJkSGlMjTOZrewPWiwBJ4NmCM7o=;
 b=HKs3XPl2e9acWxluxVGSfD5JQM4D+7PL/epuvPUzBBJTOv2OqBorgwZIhoiwWEFU9BOpRxgn1bkyt7AmyvLLB5i2o7dPio72yWdejAI2S7BGFwUj+LHqOIc7IsqHIXtsPJGNK21dGgR5MnmOG5DcA/CSNPC95w9c7nUFFj4Zx26gvTFClcQDUN98mqmpL9NGuPTtTX2GuhUSMFCTHpkpbEgfdCCHU9Y/tM1IaM/L+7/UlN8smQf4tCf/HpTTb6+vimqTcIVfpqpRYqa0Q/YqKV15Tpk2R3ldVBbiBfHNDR28QvBXfXHtEgtdiyZT7fdFfJUDyqLM8Z6mzJ1U7n+WNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Fdp8Xs7GrHwvTtEpIJkSGlMjTOZrewPWiwBJ4NmCM7o=;
 b=WTs0+K9mWBIW36WvP+/16NZlbRLDKFaUKnafZuS4r0dq2tXdj5G3TTM0K+I64r42V9YqmS3EKZTHOEwr3ZVxlJ8cCIcQCrxTZc2Quo8UhqYeXZ+7Am5nJt8CZ0m6MR2TJ/5iZYEBrFHkxqM+5Y3tCLfwNKKdzVPvCBPsK+jHf3kT5mGXwQUxGbsB06/7oyzk3H/i/VZRRSKsdoY1kG3ftHPYoK/F3bVkwjZcNJlGUhZ2FAbI/fNupFjdC/8wey/awWpqwVmV1AgqqZKCVbDpvr+xwwhPChD7+xNyaMZwrTQeKRfH+cX/2hkjAdu3zyqpMTFyrUeZrCdD7qqLX5hIBQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <638706b0-bbaa-f077-b874-eddc18d7026b@suse.com>
Date: Wed, 14 Dec 2022 11:44:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 1/3] drivers/char: support up to 1M BAR0 of xhci
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.932f486c1b08268190342f8918b09fa6a7c3f149.1670724490.git-series.marmarek@invisiblethingslab.com>
 <3398f603208397e2894dd452e9de047431599c58.1670724490.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3398f603208397e2894dd452e9de047431599c58.1670724490.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0005.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7915:EE_
X-MS-Office365-Filtering-Correlation-Id: 9683bbff-5ebc-4574-c7bd-08daddc029cc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mHJ1dkBG86akf+w1J4xvRn/0kQuQEt9Z8s/ECt877/HqLpbPP7UfObh9Sy1/unOyV5c9cla63QGojW4tLfcHoKsFb4hEMdhwVAhxSnKvlpKOFrz7Mq8XL7yEjRrILWBiOtwvqFk94Y2gqhiq9eJaE1uh+Dw/o1X83jQWWW5zy395ihj+4t8GMukJZRQlnIElaC8x9pHnrM7dkrVd7DWw++5AAuSKd6VKow3ZpOni7zKyPi5rRYrYX7D9fM9o90DN0jlp3mrsQYjcZvL8i7Lt8yDouhXKEOcoGMOmoEL09IVJcwqKWkApIMePYXFtHfEQ94vA/XUu9wZTTBTcGM2m2e2IBs+z70Od72Bqfa7PKTrcymlwIj85uSrE5CJAWGAVJMmZ6bt9+SHNDtX2roGPlotsCweuSZjokg2bia36osvBhOQ0aRoYRzAal5rbEWqkc8Z26OWQh4E9R4CTI8uy9fhyhU4I2TAdSXwlzZyrobNs/oYpj8W0iXJU4sdjtet3PylACUk2NhLa654shOdVnNH1jFMXkvyhQ5E0UXlgiJkaSuJ2aFhldNkCNnk+u8Thp8FzP3q43YXA5IPwwv1POxcpRSnbcuJ9mszVku3qaaIokqXxVwWQfkRatHHF+oG+UwhoG7SdSDj3hmqCF19JBriq3XlF/RXqsI7fo4xYpZrPuvdjcbwAQnrc1BvQk+WsbTjthBjJf5Db0lwduPiJ6dNHoEFWG7B674I2ZnGircw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(396003)(366004)(346002)(136003)(376002)(451199015)(38100700002)(31696002)(86362001)(54906003)(4326008)(66946007)(66476007)(66556008)(41300700001)(6916009)(8676002)(316002)(2906002)(8936002)(5660300002)(4744005)(6512007)(53546011)(478600001)(6486002)(186003)(2616005)(26005)(6506007)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dS9aVUV6alVtVVgvc1luVVlXVzR3eHdaRU1WWGY3MmhONnpVR0dqVW9ZbVNv?=
 =?utf-8?B?WnJEYnJjeFdXTzZrL25tOXJ3QkpmRHJsNnVibkhKQmJ4T2JzVytCUG9hSmcz?=
 =?utf-8?B?a3UzaWhOb2xUUGZVYVR1TjFZMiszRXg0S2VPSGxzZW1Edm0xTHRQMFIzRStN?=
 =?utf-8?B?RGl6azdxRGN0U0szOFBtWEo2OFRad1Z1QWkvdEJka0c4Z3pyL2pXMk5INFRI?=
 =?utf-8?B?WlFzWUtRYWZHeG83VkVnUXdjSUV6T0JUNEVRQnFrRy9lSUNza3hXcmtMLy9h?=
 =?utf-8?B?VjFKa3Z5MFFrR1JSOG9iMG5GcUVwWHFTeUsxYWtzaW4rZ0ZvS3M3Q25WaVJ4?=
 =?utf-8?B?UGh5NlEvKzhycHhtYU10d0F5TjEzZGYwNFhhQlFGN3pFMi80Z041SE1XT0kv?=
 =?utf-8?B?bDA5dXRRNnFsS2tUU3g5dUZSVEFXM3p5N3FBRDdSeXlhSnBIZkU5N1RaY1Zt?=
 =?utf-8?B?QUlBZWJqem5abSsxejA1ajMzVFFaNlVKbHZEYk1oWkVXTFgvdXdCdG91cUFH?=
 =?utf-8?B?UlpRQ0xqWDB4MDI3dFJGNkdET1NFaGI3K1RlMXBCbHJsSVdmSklEZ3ZUSUlY?=
 =?utf-8?B?c2RaS0JYVDBBMkZCc1BHckwzNHpxekNlYUI2Q04wcjZwYVlvV0gycE9BSklZ?=
 =?utf-8?B?VHc3ZkRLNitvU2E1K05YTGhVd1E0VzBGT2JEeFZFZGZPTklMSlFlRVl3ZTVl?=
 =?utf-8?B?MkZVMGFLRWlrYUR1bm1reTlIcHZabm5MWmFBK3NaaDFKU28rbzhGT1Vuektq?=
 =?utf-8?B?Ti9yNlVSR2pGUnJTdlRKK0lEQ3phemcrOW1mWW1lMnRwcTFZU3NSZW1EWmVH?=
 =?utf-8?B?eVU3VVp2ZURaWUtzVndWZWFNNXpKbHFOdlYwU0xrQy9TbzNMZm9IMlZLNngr?=
 =?utf-8?B?Sk0vd1VqVnJVVGhPV1hkZFFwakpJWGtuNEJPZ29MUFF1d04xNjM4TE9iQ1Fl?=
 =?utf-8?B?OHhYK281eU91Q1J6d0xqZE91L3ZqVjRRVlZzWWxienlwZXJaTlhNM0YyV3ZT?=
 =?utf-8?B?blNFZUdpd0g0Nm9leS8rQkY2NDBrcjhTREEzNnBZYkRSVHp3SUhRZW15ZlY1?=
 =?utf-8?B?RDUwaytQejZQUEt5Z3VBMmRxOXcvM2VQQUdoakN4QkloRlhBWnA5Rm5zc3Nm?=
 =?utf-8?B?ekMxNTFHbzkvZ09qdnNtOFBLNDl2RC9RWjMxQXAwM0twd1d2SVk3bXBLNmor?=
 =?utf-8?B?MXNUcVhhOWZLenZZaFpRZjVBaXFZZ3Q2U2FmMXc1SklVaGk2RE9UK3BmdndF?=
 =?utf-8?B?TC9oVkE4UEJHU2dGQ1NDS0tTZkJsYzFmMjVnREEySzhOLzlwb2N5Rm5vNlZQ?=
 =?utf-8?B?L3hjSW1rNVhLTk1xelkwdEE3aXBzZ2VTVE1lRk56OHB5aVRNNXFrZlpvdEM0?=
 =?utf-8?B?RGpPVlpXbUc2bGpVRGFHZ21GTytERzdXQWJnU2hMN0c1SExLYkdFMk03Z1N4?=
 =?utf-8?B?Q1ZWbGNTVmJrUG9WbzNzU3ZpZ1RvVzJ6OGV5Q2hMeFJIdGJZSFByYWxBZ3JS?=
 =?utf-8?B?VmpBeUV1ZkNNU3ZuR0d0bEt4MzdPL2psWGdXdDZtWm5FK1ZOWW1MNEdURDlN?=
 =?utf-8?B?bE9ndDhPYUFZZldHWnNFNGRoYWEvczNNeWJVRVJtc3I2MXNuWm11c2tSUnV2?=
 =?utf-8?B?N3BwVGQzb1RxNlRhemNJUUpjZEtJckZodEVxZko5d2xiL2tHaWZKUFg1dXJq?=
 =?utf-8?B?RTltVnFQdFRxNWp1RjlzUlhISGo2bS9pMFdiRDdOSVVabk1CQ1Mra1NQb2Q2?=
 =?utf-8?B?S3dORGhMbnFQTURranJjUnN5WmtiOTJKM1grZVBNeVpYSHJGZDA2YzA1WWdk?=
 =?utf-8?B?bWhaK1U3UmtuZWpsTVZYdGVoMTYybFJEb1ZCWkFDT2N6WDJGOVVXTy9FcW9V?=
 =?utf-8?B?MHhIWVpveEg1MmJCc2xTKzVLS2xwcVV0NDVOMGxlVFdvS0g0c2pyYVpleTBi?=
 =?utf-8?B?YUFGT1ZaNVJ6N0c4Z2xyVmJuVlpTdzFZSktpcFlWYS94Rll1RG9zWWRCbTZp?=
 =?utf-8?B?bzJGdEVsUlFDbFgxak5ZRml2ZTFJZnJOKy9xSXpCUDBqbWQyNVdpUWpybGVp?=
 =?utf-8?B?MndHOEhmUHhuSGZ2eVYyU2R0T1ZvWGlnUjBDMVJvM3J0Ujh4emN5dFFCYUtz?=
 =?utf-8?Q?s/Kv7IZ0PLYaOefe14q86Hg9N?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9683bbff-5ebc-4574-c7bd-08daddc029cc
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 10:44:23.4060
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ymdbhah3Qf+LYxiHItxJo5Uu2673QFZ1M/K9oLpcEqxPcPhDW3lg8n3RuPaSN6doXiXc6keyLsOGBUxAUnRKSg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7915

On 11.12.2022 03:10, Marek Marczykowski-Górecki wrote:
> AMD's XHCI has BAR0 of 1M (compared to 64K on Intel). Map it as a whole
> (reserving more space in the fixmap). Make fixmap slot conditional on
> CONFIG_XHCI.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> --- a/xen/drivers/char/xhci-dbc.c
> +++ b/xen/drivers/char/xhci-dbc.c
> @@ -268,10 +268,12 @@ static void *dbc_sys_map_xhc(uint64_t phys, size_t size)
>  {
>      size_t i;
>  
> -    if ( size != MAX_XHCI_PAGES * PAGE_SIZE )
> +    if ( size > MAX_XHCI_PAGES * PAGE_SIZE )
>          return NULL;

To be honest I didn't really like the original, overly strict check.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 10:51:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 10:51:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462063.720225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5PMP-0005JF-Fv; Wed, 14 Dec 2022 10:51:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462063.720225; Wed, 14 Dec 2022 10:51:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5PMP-0005J8-D6; Wed, 14 Dec 2022 10:51:37 +0000
Received: by outflank-mailman (input) for mailman id 462063;
 Wed, 14 Dec 2022 10:51:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5PMO-0005J2-Dv
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 10:51:36 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2068.outbound.protection.outlook.com [40.107.21.68])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 470ae627-7b9d-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 11:51:35 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8971.eurprd04.prod.outlook.com (2603:10a6:20b:40a::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 10:51:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 10:51:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 470ae627-7b9d-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KVklUqsLtCG68hSL1MazJ4CrNzU0ParRIbL2sJW1xDv6SZvN+nBY0TrsMRn4gyGOxrG02KcO76ZnjvVW9ixkGNDT7v7pj2hV8bwbV6fDNJj69rsRN+Eff8vdKytmRkrhZ2guQ5LFdNpxRcL4lkw6gElk1XXrww4phwTXJFpvZniaxDxgGNAbfgMFLgMPItCIDJMB2dkjEemL9JRagY93eKL84hf7UPINpSzIW262PL/UmQu48oaEn7v74Ls65+DclyiqTVBcAuJKHR3uldzgyjqgZOXycmGbamLuS9t5XmTBzJywxpfxpu1IHAr0v6u6i5k0RDErfMfyAX9PLPgs1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=76LIOYxzyYWLY++n6bI0Ju/ckTO2RIiiredNjz4AO6M=;
 b=hoj+KH7YCQZYjkoDQjvYfJaHb6qFyOp1pB7xeJkTg9oDfj6gBlAUJUNJxOfLPjYUuiyoIvh98SHqGTUj2fV4rp58yyC/ZRrwdBf34ghAygkfLshDNNSuYDWtcykrj0M7nUIRsQ45mdRL7tDCJnQ6uA7aidnv9rE9+ih/be4i7J8v4Bfh8M0JRCcWHnSkFGL0vBvPSswemWbnZ429Oz1vDhhMhwk5Vgtb2zR3GCkL5I0gh/3m1MKdJ8nF2eU/qLzmFOGGkLi6fI5ImNTPyEdB9mNRZfOHY0aYAlisiVzr+CiUWBVZWClg1yZCUXXgG5h0aB08pnDpxjy0wKDJbfZnCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=76LIOYxzyYWLY++n6bI0Ju/ckTO2RIiiredNjz4AO6M=;
 b=oVFdcz0i/S35kfyXcGohFcWt2Og6MivCMyTQ6q7j84XQvTiOZzj6cYGbEILeQDJ623GjWzd2VlrJ+Szkc6J/+xc2oFX7aFeOt/dlUJMQRKL/7HgY5NzrsELMFGj3LYu0WHKIFSto5B9kpeoeS5Gv9GpkMye3/LfruYfU4pVXpbsW4gUPYNgEY69Muto52Wgx8ORiDXnTDVPf/lzZhzP4Uur4KaX71QWE1PIbyueUm+mqfCT5XtgU55qJfC7RiwlMFHWg/SCFwQ/HxUJWaVwkHqRf2gaWXSp1o7fmx1WI9QmfkIN3geamRb3wcILcd5KP28cpq1rzEcFTW65Lu5ws+A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f447c631-720d-0ac0-2f26-21fee800b948@suse.com>
Date: Wed, 14 Dec 2022 11:51:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 2/3] drivers/char: search all buses for xhci
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.932f486c1b08268190342f8918b09fa6a7c3f149.1670724490.git-series.marmarek@invisiblethingslab.com>
 <34d3e4e4067b86183e6d834c8bc93736f058fe19.1670724490.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <34d3e4e4067b86183e6d834c8bc93736f058fe19.1670724490.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0082.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8971:EE_
X-MS-Office365-Filtering-Correlation-Id: 299e5fa3-8f2d-4d31-91b0-08daddc12a3b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	orPRKE7n9waqPx0x9vCDkM3WztT5noP4lz1oc/1gO5Mk2XQBmnvV8H3tMcNd97NfLMTLdd9QTU4TK2QVMix3GTP1rOGrBa6SlEjMuomdnic1ql0yMvWmdjvQBzw2nMCne/4149XlOi91ypoH1ZHBGmeHRadeI0oVYW0/XYYH8CALOm+95FYC3dANtqrEKeqLqPg/qoLnlH1ZWrR8ckajRb/gsCXXh7B5+8Z/O9R1GVUnJMqv7NxNVu+QYNfzaAhs2HGLmmNv6s4Gfjnucmtt0t75Nd/upMGrZj3QuUB+6HnK3yGdYC1yztm8b/yFzlrrroqb+51qHrrBh1OchxF4BcIjFIB33Lgns3C+hh23sEhy4D4FR/hXEzgrrnkcNBz2AVVkLFg4xZMptAOB7JIhD4vKETiu4h/A7x/b1jioE7OVZCLQxlsL+t6H0C78fBk6KFCB6UuGqXc0ihYWW7mGd70kERZWIVwDQ+n051Hqlw6Ww700byF9TNkFMwRX2W5Ke3qJho1xLfPL48QOX4vi3guUZG3CWKRWUxUrJD8Nbg2fpxkeocuoA6wbIyTRuxHXocKXws8eaXtado/7L17JMyD6XPF4KzCkKLbuJNa2wjfLGaO0tB7SUlUbOv6zhlyB/UGnWvqafmQqztwNonLEJscGNxlNNlyFzie7t21dsIOJurhm54DBfyi5u09VbBvkBRarY8fZir6oLXuRH9gIR/Y+3a/OsMqFLtZyPv2fjyc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(376002)(366004)(396003)(39860400002)(136003)(451199015)(36756003)(6506007)(86362001)(31696002)(41300700001)(478600001)(53546011)(6486002)(38100700002)(66574015)(31686004)(66946007)(66476007)(83380400001)(66556008)(8676002)(6916009)(316002)(5660300002)(54906003)(4326008)(26005)(186003)(6512007)(8936002)(2616005)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bEdoVVRJQVFWR3ZhbnVUditTMU9XNmhMc3pBMWhNNXA3UC9HalBsMFFWWjQ2?=
 =?utf-8?B?clBWL2V0Mk1manNyVThLdVVTRjJoMEthWHdhVWtzdFFhZmcxc0MrYVNhU1NY?=
 =?utf-8?B?b243bXFIUytQeENPVnM3aURnZWg3QjZqMGdaMGtRMjBzRlZqYy9vaXZKWEJH?=
 =?utf-8?B?QWV6ckhDdENjZytCUFNlZHVaQjdZYVNnUXczSFpQOU5nSzlGWkptSWVFVlZ1?=
 =?utf-8?B?OTR1QlpTUmROZ2Q5TTk0QWlkUEx5UmJ3a0xoZ3E0TlpxZ01JR1pmb2ZiWGNv?=
 =?utf-8?B?bUlETmpKcnNxaTJMUEFnZEFEeEd4YXRRS0ZNNDgzMnc3YTVkVG1GU0tXQkdX?=
 =?utf-8?B?V3puWEFvYUJZVXhMa0ZmZjVKLytwVzZIVkkxZUxIeUJxamM5WmREYjRzUmJ6?=
 =?utf-8?B?amYyVllZdHg4anR4Q1VMdzd0eFluNDVUZmpwT1N6emVFMjB2ejFsY1kxYktl?=
 =?utf-8?B?RXVEbWtjeXg1OWxZZkpUNEsySmFHZEtnR3N5eUtGWVBtTHJSZk90VlRXZzVH?=
 =?utf-8?B?dGUzM0pxZDRvL1JuYkFKNE10TXo3eXN2VHAxenlUcnNSeTV2akZTc3YzOTZT?=
 =?utf-8?B?YTYxd2FUcHFtTlF3Y3g3cUc4L1JEWHdFL0orNUJWZGJuc0dzUVhUc1pkWW9D?=
 =?utf-8?B?c0JFM1IyOCtZYzN2a3JnaGdQQnBiUnBuUm1aNmthZjVCZ0xRQ0krSkxRYllq?=
 =?utf-8?B?M21LbGFMYi9UcnRLbVpiSTlzWFpXZ2p0YUlKWC81M2VYTy9xMVFQTUZITmRQ?=
 =?utf-8?B?OERnT014V29qMi9lVk5wNDB4SHJtc2x6cjl6YVpGNEJsS2ZxblZKV1kzSHkv?=
 =?utf-8?B?c3RoS0tRMGt4Y3JjNC9TRW5Rc0VXOXNVeUVtbDdtNUI2OS9RWWpXcHhIMW9n?=
 =?utf-8?B?VGIzOWtxbVNuTGE2amVsdDF3Q01uaml6OWFYVnl3MzlYK2hxOGs4L05UcFNz?=
 =?utf-8?B?NVRwOGRwQitBRisvMHpFalBoVDBabW5ZS3Z3b0pTcnpPS2JBR1lUZWxTVjhE?=
 =?utf-8?B?L1Bmbi93Rk1xNm9xMHhKRlYzKzc2UmNlZlNQcmF1b09vUW9qUVBFZEI5OTZS?=
 =?utf-8?B?bEFkNkpHNzI5NmQ5T1pxZTFzbE5aTzFzUGRMU1I2RzU2MW41YU13Zy9BK0tT?=
 =?utf-8?B?R3ZUTllQWFJxaDRydjNvSkxkSkpITkVlWEgxanBUKzZPR3lnRlZlSmpTeGZt?=
 =?utf-8?B?c1liZDRVSnhFOTlKUlMwTVZtVVNpbHNrbWs3VXJhWWRObjVDaGY3TTk3ZHdB?=
 =?utf-8?B?bDdCZGI2cWlpWWZ5OThVTnZDaU0zZ2dFMGdQb2h0QUN6dXQrQVNUNFlkeVBD?=
 =?utf-8?B?Q1hRd3E2dEVyY3R5ZXlLd1Q2bVUweXUzdGE0aUlPUU5TUDd2ZlpmNGdBL1hy?=
 =?utf-8?B?ZDA0ZnZnYzQ2YVk2eHhCd1NrSE5wRFRZb1VxTzVLdjJ0RzhtL0c4RmJpUkxQ?=
 =?utf-8?B?QkZGZVVhNXhMeDFJQ2ViSnZXa2xHbUlyUEJFVzlxbG9IWVJmL1ZsTUV2YStj?=
 =?utf-8?B?aFdXeU9Vc2FERkNkL3gveUQxWjdhaUZUNzFRNDJWb0ZyTzBjeGF1MnpjT3dm?=
 =?utf-8?B?N2YwOXBORVZwclhkQTVvaDJnTWJKME45Qkkzd0JMZEJMRi9FelJ2Y3J2UXIz?=
 =?utf-8?B?aUw4VDhIQmF6dnBDb2Z0WitTVkdnNzMvK0MvV3dydXJ1Y05CSENSNHpmQkJh?=
 =?utf-8?B?SEM4REJSZUd4UEx0Qk1kSkw4c1Y0Ykx1b0Y0T1dHbEFYVEk3NTFWdVVNazVB?=
 =?utf-8?B?VnV1TWtqeGowWGFEcVhHVHRKQzRRVnRaS3I4VGp3aEVDUU5QOUNLdUtLQ1Uz?=
 =?utf-8?B?MkhuZStpMjF1bHV5MTFSUXRSMnpHeVR5LzVadTBIZERIeVo3TG5DL29RVWJ1?=
 =?utf-8?B?bkpBMndCQXVHUWZKYTlnWU5SSkVYckVsY21BdHhZTmNLMTZCR0ZWTDhnQXZk?=
 =?utf-8?B?UTI4c0IrN1pycXZTdlNDZzJjWCt3MldWNllPb3paQTQwYVpwRjl0ZThwLzNJ?=
 =?utf-8?B?RFo1VS80LzBGeE8wR2NMakZGOUpRWTBYalB3VnR4R0NnVEZuZFFaQ0UvVHpW?=
 =?utf-8?B?d0JtUlZYTFJ3aUIwTHRlalBpQ2dIQlBMYStWbUpvR2VKdzNNUlMzUzQycTJl?=
 =?utf-8?Q?TDeh9eSj8jVPnQGg9f2aPPgw0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 299e5fa3-8f2d-4d31-91b0-08daddc12a3b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 10:51:33.4570
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xm5LfVCEqQkab6L4b8gG1qlh0mLn9UZnaa83I4xmS/dQnbx/0goZqMqYKKxKNSTapgfGUmMfQPFc5+tP/MqxkA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8971

On 11.12.2022 03:10, Marek Marczykowski-Górecki wrote:
> --- a/xen/drivers/char/xhci-dbc.c
> +++ b/xen/drivers/char/xhci-dbc.c
> @@ -286,39 +286,87 @@ static void *dbc_sys_map_xhc(uint64_t phys, size_t size)
>      return fix_to_virt(FIX_XHCI_END);
>  }
>  
> +static void xhci_bios_handoff(struct dbc *dbc)
> +{
> +    const uint32_t __iomem *xcap;
> +    uint32_t xcap_val;
> +    uint32_t next;
> +    uint32_t id = 0;
> +    const void __iomem *mmio = dbc->xhc_mmio;
> +    const uint32_t __iomem *hccp1 = mmio + 0x10;
> +    const uint32_t LEGACY_ID = 0x1;
> +    int ttl = 48;
> +    int timeout = 10000;
> +
> +    xcap = mmio;
> +    /*
> +     * This is initially an offset to the first capability. All the offsets
> +     * (both in HCCP1 and then next capability pointer) are dword-based.
> +     */
> +    next = (readl(hccp1) & 0xFFFF0000) >> 16;
> +
> +    while ( id != LEGACY_ID && next && ttl-- )
> +    {
> +        xcap += next;
> +        xcap_val = readl(xcap);
> +        id = xcap_val & 0xFF;
> +        next = (xcap_val & 0xFF00) >> 8;
> +    }
> +
> +    if ( id != LEGACY_ID )
> +        return;
> +
> +    xcap_val = readl(xcap);
> +#define XHCI_HC_BIOS_OWNED (1U << 16)
> +#define XHCI_HC_OS_OWNED (1U << 24)
> +    if (xcap_val & XHCI_HC_BIOS_OWNED) {
> +        dbc_error("bios owned\n");
> +        writeb(1, (uint8_t*)xcap + 3);
> +        while ((readl(xcap) & (XHCI_HC_BIOS_OWNED | XHCI_HC_OS_OWNED)) != XHCI_HC_OS_OWNED)
> +        {
> +            cpu_relax();
> +            if (!--timeout)
> +                break;
> +        }
> +        if (!timeout)
> +            dbc_error("handoff timeout\n");
> +        xcap_val = readl(xcap + 1);
> +        xcap_val &= ((0x7 << 1) + (0xff << 5) + (0x7 << 17)); // XHCI_LEGACY_DISABLE_SMI
> +        xcap_val |= (0x7 << 29); // XHCI_LEGACY_SMI_EVENTS
> +        writel(xcap_val, xcap + 1);
> +    }
> +}
> +

Unused new function (introducing a build failure at this point of the series)?

>  static bool __init dbc_init_xhc(struct dbc *dbc)
>  {
>      uint32_t bar0;
>      uint64_t bar1;
>      uint64_t bar_val;
>      uint64_t bar_size;
> -    uint64_t devfn;
> +    unsigned int bus, devfn;
>      uint16_t cmd;
>      size_t xhc_mmio_size;
>  
>      if ( dbc->sbdf.sbdf == 0 )
>      {
> -        /*
> -         * Search PCI bus 0 for the xHC. All the host controllers supported so
> -         * far are part of the chipset and are on bus 0.
> -         */
> -        for ( devfn = 0; devfn < 256; devfn++ )
> -        {
> -            pci_sbdf_t sbdf = PCI_SBDF(0, 0, devfn);
> -            uint8_t hdr = pci_conf_read8(sbdf, PCI_HEADER_TYPE);
> -
> -            if ( hdr == 0 || hdr == 0x80 )
> +        for ( bus = 0; bus < 0x100; bus++ )

Hex here and ...

> +            for ( devfn = 0; devfn < 256; devfn++ )

... dec here looks odd. Now that you want to fully iterate segment 0,
may I suggest to move the function closer to ehci-dbgp.c:find_dbgp(),
making use of pci_device_detect() and iterating over busses, slots,
and functions separately?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 11:00:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 11:00:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462072.720236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5PUk-0007AH-Aq; Wed, 14 Dec 2022 11:00:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462072.720236; Wed, 14 Dec 2022 11:00:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5PUk-0007AA-86; Wed, 14 Dec 2022 11:00:14 +0000
Received: by outflank-mailman (input) for mailman id 462072;
 Wed, 14 Dec 2022 11:00:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5PUj-0007A4-3s
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 11:00:13 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2061.outbound.protection.outlook.com [40.107.105.61])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a5da73c-7b9e-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 12:00:12 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7525.eurprd04.prod.outlook.com (2603:10a6:20b:29b::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 11:00:09 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 11:00:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a5da73c-7b9e-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EBtUCAwegMFkdSkKQxksu6RfYS2x7p5fg3HhDnx1CoudTPzGK5Ki7boRCxW0DJ/pdVndVoPTVERoVrdpjploReKXbpGfHzxg4BSgfozKR+JNWftbaMr6v3/E2rWgVNjpz6udKKm/3Fxe3tx30pOixNOhDEzWRRCB3Lf8MV3Tt/Sclk0jLEO4GTMLPRFfj+fH7lx8ExGrMD82q46L5VLqpg8Wu1DaznliEx541m9/I1YC4szvSdU+kHnYnCtwWUaWLyFeeVzwyr7RArDBb+JpFw3TuMB+rbHxEzMU3SpcxB5cWmDXKuMjLwFWP/4oQ7ksHpsdR7GGwbJObVaEuSrupw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QFBsSfanF/G/8mwfNr9fgD43rwYBz3jtPGkAwp+2Pss=;
 b=f0TqE5fIMXIsiW572CU2wOZ/byXTkJBUvQjKT7CLq/mHfhKcukAYGJOZSN4NUJOz3Jp0fkLoaA1VmT2q5hQCgoqP/Ca6xGRigs34udx0to6IaavLXZ6vj9n9dD2kf21a2C78ga2FIPNsOF/ZVkNeXoqOBe86BViXNzMVmhdqM/6uXO24a8H9/MEyuzafL+lMDf7nwsQYpENRSpGaT4sLevoUnk0+MLJvOC6wd3+/n6mwePBPB2P0PTJPcLlMgxV2alHTmMxHTsNS7KQLTsnGUkyPd4teE9Awkg2+eJh3fusm0Qj7bXPqM7oUGhfYOg++pqQ4ZQa1O3lnI8IJILjojQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QFBsSfanF/G/8mwfNr9fgD43rwYBz3jtPGkAwp+2Pss=;
 b=Q4Za4g6QdWp2K726opHbcPtQSCOZhtVb4gy3/1kwIdKPEa9BpR6mqvtSr3wvstf4J4pasXqAV4lXHTeFFT2buoJdMuV1Py7N11quf//GYKnriizrKUv/SFGBlIqkdpSTE9fE0NV7HAFMWwN9RcY83JQ8nXdD3iD03q/Eir+rHe2iYjm1iL95aJdDoCb8H2LAzMjA7AuoU6XoZ/3Phs71aqJCAh2OMmINOSuBW3otKL554pvnUXE+Xt1hgKcf8ebmNNW8BabHegeOLOpvzADe2v1CKopUcWCbNBTKv2xHQ3vdx/wjvSV/eZ/3ojzcU23fwwJ8GacO6j9INbDY6GcvaA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <874a6123-52e4-d5e5-7558-51525c04eddb@suse.com>
Date: Wed, 14 Dec 2022 12:00:07 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2] efi: Relocate the ESRT when booting via multiboot2
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <a7336c832b0276a1bc7692c537cc14f6e70d65a4.1670972544.git.demi@invisiblethingslab.com>
 <e4935fb1-8223-a2c5-9700-b2277d78404f@suse.com>
In-Reply-To: <e4935fb1-8223-a2c5-9700-b2277d78404f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0119.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7525:EE_
X-MS-Office365-Filtering-Correlation-Id: 3e3b69de-42ed-451f-d052-08daddc25dca
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	S7KppL6y9YeQWCL8HlHpsvQaTa9jZ7he6S/eFgPkLlSaL25TSdhvRnVS0E60Izsv0jfEBIjQQoUuCh/oT/F6sS70gGk4QMOrizWod80XUNOFIOXSZWyGHzHHatsYuOriXRp9UL9/UAo0pan07LSLvMESEut8KhT4tMIrXSC8GxSVzVY7K3d8XZ45tM+EmIKrnefWnb6HzrKmHrcIGImsP7zwHNXGUkkUijw4cToC4pt4WPD5RabYjyPrOupbORC26mtVwAmjvR4R/X8E5o8nq7WfiR4mJGUwwOhq7nlFA6GLteIGuTmdMvnKqjI3PF6LAAXzk0uWdFe1juMzdAx6oT4AHIy4QukdxIKgpwvMfbCKtPdfQWwCtJ58psTGGk3bC2Pizo/AqHJ+5AswaOQwq2WRFSF/9GlNe3c8gfOD3biyXn8111jX6sU26i2S4KPagvNDpufr/3k/X53+fOd72fAH9CvYAlo8Gy5GpwHhtAGivMrUlJSaRIu3RrdTTfuEKvO3dkENZEoa0QdD86Ajs8CU1sSuUeLqfNVs7DpnBwM1y8ttdQhnNCe9cGAHjqlS8aEbK4ECnLu9l+qOPpjRedLT9UxB2eHju11wul+7RnUYY9NC1eHsrJuOruBSUGk3aA/bHvqVGs5hI4VU76NDNk/4u+a9OE6mStFAy8jk8Ow6M0vdZ75AdphyrPwxBS4zzOFJc0Np6R56UsR+QYMIBORCH2evw/ZKQpFalLw33Vo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(136003)(396003)(39860400002)(366004)(451199015)(316002)(2906002)(36756003)(5660300002)(26005)(4744005)(6512007)(186003)(8936002)(53546011)(6916009)(6486002)(6506007)(86362001)(31696002)(41300700001)(8676002)(31686004)(4326008)(66476007)(66556008)(66899015)(66946007)(2616005)(478600001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Wm1DcVR5QWtRMGhFMmtlSFBia0xVOGhEdTVidXRkenlpUGFQTkJuRVA2bUUr?=
 =?utf-8?B?c0hPRmxPUkNPWTg1VDFheTF4N01MNnhvdXBVczZidzNqSEFPU2FuWVg5d083?=
 =?utf-8?B?dkpHUitjUVRMVmw1N1phZWt0NHAzK2o1MUFzOVhQUGVJckROVlZ5SE4yZml6?=
 =?utf-8?B?UEI3KzhKdWZHdEN4NkpNVU9FbGtvTnUySHJXc0hnZ2o3aEhxNXRGRGl3ak12?=
 =?utf-8?B?YU9yUzVQcXpvQ2pqcVlDSko4N2pnL1BsK0JvMGR1d1Yxa01TdXFBaU9LTzZ0?=
 =?utf-8?B?UU53UlhXUzgrckxhOE81ZjZrd0VUTlFHTzlJdytENWxFUVNEREVldWdXK3BQ?=
 =?utf-8?B?WnVzb0xaeTJTSzdVa2o0a2dxWUtVNGYwNXB5c2RTVTA2NUREanZodFZtd1Vz?=
 =?utf-8?B?RDdGMjZiamt4ZFk0MVZWRGJMNS83SDRzZGdlM3ovc0ZuMjF5RHUvRG9TdElt?=
 =?utf-8?B?c1NMS285U3YxcjJ4VlVEMTkxZ09YTmdrdlVLc3o0SkRmamdPS3RuZmorbnhN?=
 =?utf-8?B?cU9lSk85UEYrZTI0RjdNUDZvNXF3RzhubHdCcXBIUFAxS0xXdTFBMExuMEZU?=
 =?utf-8?B?M0M5SDNkNTY5dnhreG5pcXhwcnBITGNsNDQ1YmZaTWt4eWlKQnN6SU1kRE5t?=
 =?utf-8?B?NUp2cDBJVnBKME1IU1JWcVJHRC9NZjNwTXJMbjVGK2pOZFJkVWlIMitvTnpI?=
 =?utf-8?B?SzlqMGZHVHl1Z2lSY2t4YWgyYWRzOEJuMys3RkhSN0RxK1ZQWVc4UFFESDV6?=
 =?utf-8?B?VTlpNVk2ZWRHMlJURnRuSGcyVHpObW00Y0lGT1NSalljckJVWk1HNFZMSGpI?=
 =?utf-8?B?YmtCcVE3c25HeHc2VUNiMjB0amI3SkcwaW9UeVBhOVl2bDNLYjhOTnVrU3M1?=
 =?utf-8?B?Q3U2enBKN09FUnFTWS80dVN6YVh6NmFhN2ZadkN6UklWUjZuTmkzaDVoMzQ3?=
 =?utf-8?B?ZXVPSlp4RnhYaElsbW50N3VDNlhXMWxaUGxCS1ZNK0ZYM2N2dG8vS2c5bWsz?=
 =?utf-8?B?ZWcyalVFMXgvT0d3cFRHay9TUy9ZVm9IK1JLYVhuMkRkYkdtdkhySEZ5TVlB?=
 =?utf-8?B?YTNLOEFnY2hRNUtoTjVRRDh6V3IzRU56RlpqNm0vR1BkOVZENjFMdXdyWEZu?=
 =?utf-8?B?OHFVV0FxcDlOeWJNTytrSDlENElFM0lETysvTnMrMHdwU3U2WldrVUt3cmNy?=
 =?utf-8?B?Y0tHV1B6OUExNHFYZTJlVmovMTlaYjVuRE9HckNHa0g5a2I4bE5sYmM3N3d3?=
 =?utf-8?B?eVRoaXlBMXZyQ3RoZkgzK1RZY25mZk1rd3creW0yZ3BKcVZqdWNMRzRXVTFH?=
 =?utf-8?B?K0d0WjBkTE1aRStJY0hmZ21ENVlEVUJKY3Y0aXBJcWRoYU9VYStENXhQYm1P?=
 =?utf-8?B?U1VLTXYyMDZVR1lOT2Q1aUw1ak1xemgwVWwrS3ArbWcwckJSb0Jsb2JHYUht?=
 =?utf-8?B?T3hPTHFleTNPL3RTMllvL1ViSUtWN2x1OXlCcTVtMmFlNzRpLzJiald2MkpO?=
 =?utf-8?B?YnV2UldWbC91Lzc2bDMrUmxtMm93SXVMVlNsUUR6SHB0bFQwZU9DMkovUEp5?=
 =?utf-8?B?WUUyVi9CS05qK0JpQ0p6NkhaUGYyQXBiYUd0UTVUbTZuQjJjREh5N0VsSStk?=
 =?utf-8?B?UG5KSkZ2SjU4R0g3V0RuclNPN3d6OFluSU9PSlNSajkrbWo5TWxHREpTOURy?=
 =?utf-8?B?N3hyR1QvU2VsZWhtRDRld3dXQU9qZ2tUbHFZRmhuR2JmT0lES0NlZWhnZGEv?=
 =?utf-8?B?MWtLYTJ5RGFrQWJXc2x5YlowN2hvckdpOHpaSzlNa1BTaHlmWnl2aGVVVjRj?=
 =?utf-8?B?dVF4R2VjU1FBKytmdUo2RWxvUUdsb1VlZWg5disrQ3pCVnZNMFJsU0t3eTFG?=
 =?utf-8?B?c1I2VVoybTROckZHbDFsRWczZ0d1b29RMi96N1VKWFQrZmsxNzJoZGRVdUs1?=
 =?utf-8?B?eFR0aTNpVVZtVytnOHdVZ25xWjB1MUZiTzBoRmhjMDR5elVKekRqc3N3N0I3?=
 =?utf-8?B?b2k5SEVtYitmdFBZc2w2cFpFNkcreUNBOGEwWlhJa3RSeU43TWJyNytlTmhX?=
 =?utf-8?B?VTFJakNranJ3Z3hTdHlpUjNHUklRUmN0NU9iNFp2SmxzUU9rWHB4dXM5dmNu?=
 =?utf-8?Q?gqvXaWqib8j2pDJJd2v1EOIX6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e3b69de-42ed-451f-d052-08daddc25dca
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 11:00:09.4563
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zLVN6qgmld9cVwEtj9xtIofApvgJTyUVt/qQ/gajZhiempojanBLPxuboPNdnegE/CzD+QSfs4GgAP4/a2EPOg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7525

On 14.12.2022 10:34, Jan Beulich wrote:
> On 14.12.2022 00:03, Demi Marie Obenour wrote:
>> This was missed in the initial patchset.
>>
>> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> 
> I'm sorry, but no: In a v2 submission you should address prior comments.
> On v1 I did offer to extend the description while committing, but you
> should not take this as an invitation to make the committer again put
> more time into getting this into the tree than should actually be needed
> (and reviewers to re-figure the unmentioned aspect).

So I thought I'd be kind and do what I said I didn't really want to do,
but things are worse: The patch again doesn't apply, this time because
of assuming an apparently private patch of yours to also be in place.
As it's merely patch context which is a problem, I'll edit the patch,
but only to be done with it rather than wasting yet more time.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 11:06:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 11:06:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462082.720247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Pb6-00089T-11; Wed, 14 Dec 2022 11:06:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462082.720247; Wed, 14 Dec 2022 11:06:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Pb5-00089M-Tt; Wed, 14 Dec 2022 11:06:47 +0000
Received: by outflank-mailman (input) for mailman id 462082;
 Wed, 14 Dec 2022 11:06:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5Pb5-00089G-3i
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 11:06:47 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2061.outbound.protection.outlook.com [40.107.247.61])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 65d26a43-7b9f-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 12:06:46 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8912.eurprd04.prod.outlook.com (2603:10a6:102:20f::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Wed, 14 Dec
 2022 11:06:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 11:06:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65d26a43-7b9f-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZLF+g+SiarLlRwz/kYylQ8FWAs/yw4tPRGJXJ8DFMlY2NHiwoxxxkYEVNJw5hDItwEM/e75c2YLtB3Ai+O0w8EhYU+Ll8cduFxBaPxKy/7kV6Hceoo+BCSWXu5AAtXfvO3JX69vH2IXiPub+ey5pa8mZSTb24Fl+OqH75aL9QDVXjDhgMY9dmW6fbqdJVuGtEJ7hYsKw+V5XnmovvWDp0blPA5mXWsCoDhJmR/Z756Gne6TGgbMXIiBKBjokZrTBBAC96s3F5gvWu2sfvOFgktKbPB2+/F4/OQ/HjTLGMAUXtawm3pix5NwUzdKowVKPY8Hrf83C3M7viSfRPJ6xYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+pA44uoYki8uYwFNCNH942dZqMVs7QAbyxqF6N/+jCM=;
 b=doPzXP8SaNnE4r1mdi0DL9ZpghqeHFZIrMo+iuvLvHYbLHClh0iHFTBOfgIqXoUySjHe2tz/nhiAStyWU7h6h63vt5iBxBbfvC/mFwVHKSBOLa/SoOLWoOUJlhuKiFNdCzBq1UAbzcHkcR5CkGWrf2IKFdX7JLIR4kBTc/X0LoQkItRh6PnP/1iAZ3ChEErBDs/XY8AGVA5eVoo9vfz8pEQEdyAw7JtfQqSdSulY5uPbFzTqXzVB7qr/6N9oduQRShqemUsQc3a2k+iGOXuypYvekb9W+W2oAKFIc2GcGBe3MidDHNiPJQoIBNSHt+N5hu91E73wF860WIfSwoDQPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+pA44uoYki8uYwFNCNH942dZqMVs7QAbyxqF6N/+jCM=;
 b=LSquFzD0VKbgwT5gGywcJpgnHJl904GJQHWsHJxNgcNQiDQ/I2REw5JjUzNbDeNtsvp5Augnyx28vDIpnHBjB2DgGp6+tRC9YoyURK8l1FzGneKSk7f25iM694YI3DBtpBjZxzfDKv+1KrrrTZWAVz1vrZhuhNjbDE35Ryy0d/CSd8kJMqIj7sdV6iLiB/w04s0Ag227xzUya0F7Fo2JVyx8qitE+2Q9OvsIxWdHmyJxi4JYjq0CiGJRV3/RWh/JEIYVfw7wEn3LPUc5FPUisoaER8OuvbnoaIHLyWB+rjsYBLwGE3qO2w9flgPQJUa9wVW3HxE39vlF6SSvNfTD8Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <33c65ef5-3f09-b568-4f06-aec0c6d68997@suse.com>
Date: Wed, 14 Dec 2022 12:06:39 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2 00/19] tools/xenstore: do some cleanup and fixes
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20221213160045.28170-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221213160045.28170-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0191.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8912:EE_
X-MS-Office365-Filtering-Correlation-Id: 04533c41-e4cf-4bd7-6e48-08daddc348f4
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VXep8zM8az7rkQeip7dsuzmSMAaPvmD8pHMJ4ug1SQJdETmgf5PYFbigTsJmFqB9bf6jUMhKNq0bCz8Pl21dsnWLqdtxYS5h2P+mLb43VDrQT8+LF3Pe86yZAW4isYu8U/Irjb2P8+vcGH56Zdl7HUOp9V2Vr+vVQIaY/y1vTl0j4imS6DC7g2VqmcNTwstTWvCutC5HMUOuJpWP7deI4FWTGpxtvmo/ACbP5v0wjsebSvbr/ScJiCSPYqP1NQYj3kMurSkGSri7BN8UmRhovgx9ZP0DRse5BXmrpEu6QCg+jRIx3sCp235JTYt2txoPgydaLzwDjn+6xNQyVdc+PJ1gHuROpB2fIDQE9A0o8oF3/bWCjDQqXsnThv8NXrcbzufwSRLaEdGpc0SlUY2kXHgDPQ0PvEZ9/djBxDz649r7BrF7dQnMtfceZaxc5xLmYGJGF50hSj+cfFAx5FFIvsaRJxy006mK96dMad+F4OHbxiunVufT3y2rtnWQAs2wiD/YXSkMWR4Ttib80M9FdqXpcwzJcGm9un3WoEaOf6O9VXcf3RNR2aPhYfyLWd+yWsyRVXj5fFzocweP2BregBhR0qM8+A3ZJKvnWvPdNUcyU9DK6hcYuFFzch8c9U9lFv5MiqieIg7fjpPdmJ1k/LGrdWEQ5iTJRQiXm+bcL5zx2QVfy4XvKu5Yzarbyyt3trDnPSptq1FAJgUDa7srFkQR/EyOYJZqC08ilR/N+xY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(39860400002)(376002)(396003)(366004)(136003)(451199015)(38100700002)(31696002)(2906002)(6486002)(5660300002)(86362001)(478600001)(4744005)(66946007)(6666004)(41300700001)(66556008)(4326008)(6506007)(37006003)(6636002)(316002)(8676002)(26005)(186003)(6862004)(6512007)(8936002)(53546011)(66476007)(2616005)(31686004)(54906003)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dVBzL3cvbkQyUXZ1TG9vWFJTcEpvRWtNRmh3cmhudVhHRlozTlI1Z096MWhV?=
 =?utf-8?B?VnNXaWswZ2VRQ2JpSGxaZitTTFJpMldmemF4V242N0Nibmp6WUpsTUtTR0VB?=
 =?utf-8?B?OEFBVzJhY293MysrS2RRKytRK2VZOUxZem80eGhwdDEzV0c2RURPNUhmV2lD?=
 =?utf-8?B?UWRydk1VZjdNbnV2K2hhamtBL2JVUjN5Z0RrTGxsQjd3a2pReDUwUmZRNlVm?=
 =?utf-8?B?OVl6eUZQWlpYSXBkV1JYS3M2UlhJcU5hTUtFczAvVlR4Y25lbytqZEhOcFRW?=
 =?utf-8?B?aXJyZjhMR29Cc2VSTGJGVXRzemxVSVNDbmdGT1FaK3IvdklubzlXOFkrK3dC?=
 =?utf-8?B?RDZ6TFNFeDJhVUNhczcvbEtpSzVVSGpLNkwrVGhrUnErNEFtbGV6TE9iaWsr?=
 =?utf-8?B?a2M2VG41UlVkbm0xcGo0Z1IyYlJWNDc3SW9OWkt0d2VFRVNzZWhxUlJFajRv?=
 =?utf-8?B?YmZ5VjljTjRldWlHbGpzeVZWYSsvb2VXRzhYS05scXcyTUpaT2tsR2lGOU5y?=
 =?utf-8?B?by83NVZXcGdNUm5JRUV1N1RCZGwxNHhsczJBazJySGQ4UDlMTzdDenVKdG1P?=
 =?utf-8?B?L3RCd216OERzbmFqMW1DMGJ1Tm9vcWFqMGJnUmtmcWE1ZGZuY2NrTXVRVDdK?=
 =?utf-8?B?UmROanRBZERjV0tidDF0anNuMnMvdEFTaElua2wvdEtqNFZyN214SDRaTzZx?=
 =?utf-8?B?MytPQzc3aTlkT1hRTk5lS3laVG50b0NyT1RTMWpDUU13UFd4MkVZbjJEMGNx?=
 =?utf-8?B?NUpYS0R1VHVaMlh0bTZENE03ZkNSK2NWNFVJK0hjOC9adEwvRDBWMHNrcWFO?=
 =?utf-8?B?dDRIR1ZvTmtqM2N1WFErRzlBU0E1VDZnMUg3QjdrNVYxeUVtSldDMEtzUExi?=
 =?utf-8?B?TjRwKzVhWXlpSW1UZytxMTNhOFlJQ2tabStTZDVubEtxQ3V2NHNrNHpCVzdz?=
 =?utf-8?B?UmowTmYxTHVGamJ4clltSldGY3c3aFJZRi81MVd0Q2w1ZkRGL1FYQW9lOWN4?=
 =?utf-8?B?ekRqUXY1T1RmWFBuRmZSdGdBNXRiSFQrTHdjUjFYR2V4dEluakx4a05LRDZB?=
 =?utf-8?B?ZXJRSW5MckQwTmZ0Zy9KR0lyTDJNTDZPWGkyTEI4YVRKaTFicmZXWTRnT2Ry?=
 =?utf-8?B?NE9QRXVkcjdoWHQvRDAwdWNndmdONGVOODVOTkgzUzgxVlhza1d2WnFJN0VE?=
 =?utf-8?B?RzZTNDdZbVBQQzVBSENIVnhma2dxZDRSOS9MU2YrNHBHQjFzRWF0Szg4RVVi?=
 =?utf-8?B?M2wveEpYNldZblRUeWdQdUlCejdFTUE5ZXo1aUZwOVhIejdWaVR6Rnh4QTdl?=
 =?utf-8?B?aUR5TWlJa3VWdS9YNDZKOUVvckxSNDN5Wk4zQU9Jd0x3MTdoL0hKRGJRT2Iw?=
 =?utf-8?B?NkhrcHp5Q3pCbEdsQmk1Njh1QVdhWHhmeVFBY1ZKVWQ4T1RGcHBSaWpGZFp4?=
 =?utf-8?B?NmtqaXdYUHRMZ2VWVGdlSHVuSTh4enRGWjBOeWpua2tKUk5TY0ZtWDJOSzUy?=
 =?utf-8?B?TjVVRGFXUHhIdmg4eXFqQkJUUXh0U1A3N1N6ZVFXZC9kVVNYYWZBSkFuVE1T?=
 =?utf-8?B?MGdTRmd3M0FpWnNWUDcwek56RmM0SXZsbGd1QWVRbGtTNE1TSGtXTjVTdHVF?=
 =?utf-8?B?bWlqenhwc2NQWjJJemlPM2JBNVI3K2dtSFc5Wk9vcWkvNm1yZGFxL2c0UVQx?=
 =?utf-8?B?cCtnRXY4R0EreFFGSC9kRk40cVphWGdPdVVWM2dpVHdHMTNKNHNWelVqOTU0?=
 =?utf-8?B?WTlCc3QvMjdpWjU5enJCNTdsa0VUaFRvdGNJZHFKd01MSzhET09tRWsyOHpr?=
 =?utf-8?B?cjEyb01zVzZCMWl6RkRBN2NnK3dPUUcrSGhjcC91THpXRUovM0Z4Sm1RbThL?=
 =?utf-8?B?Y0RWNXoydk5iVnJ2Z2FuMlI1VWtrRXU0K1VZSlVTZENWRmRFeXVDOVNhSjFM?=
 =?utf-8?B?RnZHU1VhUkFUQ1dPaExudG0rM2R3bGZjU3QzMUllbkk0eTVmcEkrcnZIeU9x?=
 =?utf-8?B?bEJmS0JHSTNpN2E2dkI1SktBNEkzSlp4dGNubVhFeWl3cWJTVVI4VkkwdThK?=
 =?utf-8?B?b2FvVmRPc01rRldnWWN6Z3R1R05Fb3N0aEthL09pMTRubFJwbWhaT3pWTXlK?=
 =?utf-8?Q?aJDyNXKDn9kY+/NAT4UF/G/p9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 04533c41-e4cf-4bd7-6e48-08daddc348f4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 11:06:44.0717
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bkw08FKWHc0lOLyzxe9FlA0gRF3fDO6u2WmJkwDUiyMJXWzig0Kc4ayuShpPQHeduXAXC6IfqyOtXxX34uwKOg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8912

On 13.12.2022 17:00, Juergen Gross wrote:
> This is a first run of post-XSA patches which piled up during the
> development phase of all the recent Xenstore related XSA patches.
> 
> At least the first 5 patches are completely independent from each
> other. After those the dependencies are starting to be more complex.

I've applied the three ones of these which were fully ready.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 11:10:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 11:10:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462093.720258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Pel-0001CZ-Ip; Wed, 14 Dec 2022 11:10:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462093.720258; Wed, 14 Dec 2022 11:10:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Pel-0001CS-GG; Wed, 14 Dec 2022 11:10:35 +0000
Received: by outflank-mailman (input) for mailman id 462093;
 Wed, 14 Dec 2022 11:10:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=H8nZ=4M=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p5Pek-0001CI-G8
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 11:10:34 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed42760d-7b9f-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 12:10:33 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id CE39522217;
 Wed, 14 Dec 2022 11:10:32 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 8EB77138F6;
 Wed, 14 Dec 2022 11:10:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id LFtlISivmWP4OAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 14 Dec 2022 11:10:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed42760d-7b9f-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671016232; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=eQXZSV9cUYq4VSFcTa7m4KzsknaGVcSHrjzxxm4S644=;
	b=PfTorPjih5oSplosoxA0a5+70/CcDDnsx4n5/eQcXFshSwQQGrcvHrAcHQkYKkAt4Gl1rC
	IFTh3/j1QWDIMl9cb5O4O9VNfWMsJypYtvGB3HRgXWxY9xGdtNCHTMozGnOEBcv2mFcaYw
	w33PTmPdl9W/NAoIo2wbBJOMFdwB8S8=
Message-ID: <a6aadbc6-e34e-43db-26e5-5379ce2d88d3@suse.com>
Date: Wed, 14 Dec 2022 12:10:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20220910154959.15971-1-jgross@suse.com>
 <20220910154959.15971-3-jgross@suse.com>
 <71281857-7387-afc1-f9b0-e076e4f076a8@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 2/3] xen/spinlock: split recursive spinlocks from
 normal ones
In-Reply-To: <71281857-7387-afc1-f9b0-e076e4f076a8@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------lK8lR0EOo9wU7sKTjeHfZ4FJ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------lK8lR0EOo9wU7sKTjeHfZ4FJ
Content-Type: multipart/mixed; boundary="------------7wh2gLwl0JQh02FtlPC80shO";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Message-ID: <a6aadbc6-e34e-43db-26e5-5379ce2d88d3@suse.com>
Subject: Re: [RFC PATCH 2/3] xen/spinlock: split recursive spinlocks from
 normal ones
References: <20220910154959.15971-1-jgross@suse.com>
 <20220910154959.15971-3-jgross@suse.com>
 <71281857-7387-afc1-f9b0-e076e4f076a8@suse.com>
In-Reply-To: <71281857-7387-afc1-f9b0-e076e4f076a8@suse.com>

--------------7wh2gLwl0JQh02FtlPC80shO
Content-Type: multipart/mixed; boundary="------------F0EcMBudQdUqPPoUzPPjOWJl"

--------------F0EcMBudQdUqPPoUzPPjOWJl
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTQuMTIuMjIgMTE6MzksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxMC4wOS4yMDIy
IDE3OjQ5LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEveGVuL2FyY2gveDg2L21t
L3AybS1wb2QuYw0KPj4gKysrIGIveGVuL2FyY2gveDg2L21tL3AybS1wb2QuYw0KPj4gQEAg
LTM5Nyw3ICszOTcsNyBAQCBpbnQgcDJtX3BvZF9lbXB0eV9jYWNoZShzdHJ1Y3QgZG9tYWlu
ICpkKQ0KPj4gICANCj4+ICAgICAgIC8qIEFmdGVyIHRoaXMgYmFycmllciBubyBuZXcgUG9E
IGFjdGl2aXRpZXMgY2FuIGhhcHBlbi4gKi8NCj4+ICAgICAgIEJVR19PTighZC0+aXNfZHlp
bmcpOw0KPj4gLSAgICBzcGluX2JhcnJpZXIoJnAybS0+cG9kLmxvY2subG9jayk7DQo+PiAr
ICAgIHNwaW5fYmFycmllcigmcDJtLT5wb2QubG9jay5sb2NrLmxvY2spOw0KPiANCj4gVGhp
cyBpcyBnZXR0aW5nIHVud2llbGR5IGFzIHdlbGwsIGFuZCAuLi4NCj4gDQo+PiBAQCAtMTYw
LDIxICsxNjUsMzAgQEAgdHlwZWRlZiB1bmlvbiB7DQo+PiAgIA0KPj4gICB0eXBlZGVmIHN0
cnVjdCBzcGlubG9jayB7DQo+PiAgICAgICBzcGlubG9ja190aWNrZXRzX3QgdGlja2V0czsN
Cj4+IC0gICAgdTE2IHJlY3Vyc2VfY3B1OlNQSU5MT0NLX0NQVV9CSVRTOw0KPj4gLSNkZWZp
bmUgU1BJTkxPQ0tfTk9fQ1BVICAgICAgICAoKDF1IDw8IFNQSU5MT0NLX0NQVV9CSVRTKSAt
IDEpDQo+PiAtI2RlZmluZSBTUElOTE9DS19SRUNVUlNFX0JJVFMgICgxNiAtIFNQSU5MT0NL
X0NQVV9CSVRTKQ0KPj4gLSAgICB1MTYgcmVjdXJzZV9jbnQ6U1BJTkxPQ0tfUkVDVVJTRV9C
SVRTOw0KPj4gLSNkZWZpbmUgU1BJTkxPQ0tfTUFYX1JFQ1VSU0UgICAoKDF1IDw8IFNQSU5M
T0NLX1JFQ1VSU0VfQklUUykgLSAxKQ0KPj4gICAgICAgdW5pb24gbG9ja19kZWJ1ZyBkZWJ1
ZzsNCj4+ICAgI2lmZGVmIENPTkZJR19ERUJVR19MT0NLX1BST0ZJTEUNCj4+ICAgICAgIHN0
cnVjdCBsb2NrX3Byb2ZpbGUgKnByb2ZpbGU7DQo+PiAgICNlbmRpZg0KPj4gICB9IHNwaW5s
b2NrX3Q7DQo+PiAgIA0KPj4gK3N0cnVjdCBzcGlubG9ja19yZWN1cnNpdmUgew0KPj4gKyAg
ICBzdHJ1Y3Qgc3BpbmxvY2sgbG9jazsNCj4+ICsgICAgdTE2IHJlY3Vyc2VfY3B1OlNQSU5M
T0NLX0NQVV9CSVRTOw0KPj4gKyNkZWZpbmUgU1BJTkxPQ0tfTk9fQ1BVICAgICAgICAoKDF1
IDw8IFNQSU5MT0NLX0NQVV9CSVRTKSAtIDEpDQo+PiArI2RlZmluZSBTUElOTE9DS19SRUNV
UlNFX0JJVFMgICgxNiAtIFNQSU5MT0NLX0NQVV9CSVRTKQ0KPj4gKyAgICB1MTYgcmVjdXJz
ZV9jbnQ6U1BJTkxPQ0tfUkVDVVJTRV9CSVRTOw0KPj4gKyNkZWZpbmUgU1BJTkxPQ0tfTUFY
X1JFQ1VSU0UgICAoKDF1IDw8IFNQSU5MT0NLX1JFQ1VSU0VfQklUUykgLSAxKQ0KPj4gK307
DQo+IA0KPiAuLi4gSSdtIG5vdCBzdXJlIGFueXdheSBpdCdzIGEgZ29vZCBpZGVhIHRvIGVt
YmVkIHNwaW5sb2NrX3QgaW5zaWRlIHRoZQ0KPiBuZXcgc3RydWN0LiBJJ2QgcHJlZmVyIGlm
IG5vbi1vcHRpb25hbCBmaWVsZHMgd2VyZSBhbHdheXMgYXQgdGhlIHNhbWUNCj4gcG9zaXRp
b24sIGFuZCB0aGVyZSdzIG5vdCBnb2luZyB0byBiZSB0aGF0IG11Y2ggZHVwbGljYXRpb24g
aWYgd2Ugd2VudA0KPiB3aXRoDQo+IA0KPiB0eXBlZGVmIHN0cnVjdCBzcGlubG9jayB7DQo+
ICAgICAgc3BpbmxvY2tfdGlja2V0c190IHRpY2tldHM7DQo+ICAgICAgdW5pb24gbG9ja19k
ZWJ1ZyBkZWJ1ZzsNCj4gI2lmZGVmIENPTkZJR19ERUJVR19MT0NLX1BST0ZJTEUNCj4gICAg
ICBzdHJ1Y3QgbG9ja19wcm9maWxlICpwcm9maWxlOw0KPiAjZW5kaWYNCj4gfSBzcGlubG9j
a190Ow0KPiANCj4gdHlwZWRlZiBzdHJ1Y3QgcnNwaW5sb2NrIHsNCj4gICAgICBzcGlubG9j
a190aWNrZXRzX3QgdGlja2V0czsNCj4gICAgICB1MTYgcmVjdXJzZV9jcHU6U1BJTkxPQ0tf
Q1BVX0JJVFM7DQo+ICNkZWZpbmUgU1BJTkxPQ0tfTk9fQ1BVICAgICAgICAoKDF1IDw8IFNQ
SU5MT0NLX0NQVV9CSVRTKSAtIDEpDQo+ICNkZWZpbmUgU1BJTkxPQ0tfUkVDVVJTRV9CSVRT
ICAoMTYgLSBTUElOTE9DS19DUFVfQklUUykNCj4gICAgICB1MTYgcmVjdXJzZV9jbnQ6U1BJ
TkxPQ0tfUkVDVVJTRV9CSVRTOw0KPiAjZGVmaW5lIFNQSU5MT0NLX01BWF9SRUNVUlNFICAg
KCgxdSA8PCBTUElOTE9DS19SRUNVUlNFX0JJVFMpIC0gMSkNCj4gICAgICB1bmlvbiBsb2Nr
X2RlYnVnIGRlYnVnOw0KPiAjaWZkZWYgQ09ORklHX0RFQlVHX0xPQ0tfUFJPRklMRQ0KPiAg
ICAgIHN0cnVjdCBsb2NrX3Byb2ZpbGUgKnByb2ZpbGU7DQo+ICNlbmRpZg0KPiB9IHJzcGlu
bG9ja190Ow0KPiANCj4gVGhpcyB3b3VsZCBhbHNvIGVsaW1pbmF0ZSB0aGUgc2l6ZSBpbmNy
ZWFzZSBvZiByZWN1cnNpdmUgbG9ja3MgaW4NCj4gZGVidWcgYnVpbGRzLiBBbmQgZnVuY3Rp
b25zIGxpa2Ugc3Bpbl9iYXJyaWVyKCkgdGhlbiBhbHNvIHdvdWxkDQo+IChoYXZlIHRvKSBw
cm9wZXJseSBpbmRpY2F0ZSB3aGF0IGtpbmQgb2YgbG9jayB0aGV5IGFjdCBvbi4NCg0KWW91
IGFyZSBhd2FyZSB0aGF0IHRoaXMgd291bGQgcmVxdWlyZSB0byBkdXBsaWNhdGUgYWxsIHRo
ZSBzcGlubG9jaw0KZnVuY3Rpb25zIGZvciB0aGUgcmVjdXJzaXZlIHNwaW5sb2Nrcz8NCg0K
SSdtIG5vdCBzdHJpY3RseSBhZ2FpbnN0IHRoaXMsIGJ1dCBiZWZvcmUgZ29pbmcgdGhpcyBy
b3V0ZSBJIHRoaW5rIEkNCnNob3VsZCBtZW50aW9uIHRoZSBpbXBsaWNhdGlvbnMuDQoNCg0K
SnVlcmdlbg0K
--------------F0EcMBudQdUqPPoUzPPjOWJl
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------F0EcMBudQdUqPPoUzPPjOWJl--

--------------7wh2gLwl0JQh02FtlPC80shO--

--------------lK8lR0EOo9wU7sKTjeHfZ4FJ
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOZrygFAwAAAAAACgkQsN6d1ii/Ey/f
IAf/ZXlFtnbG994Brl8m2D4tMMK+VPsO3E8gB5NBhL2aCzQSMcm/TUzZgXYGUzaYV/L0npZeF9RA
PDv1x59m7kvjNjwPSGeuliyucECghYe2FukR3U401ryMBWNGuzRAwcseqhap6s3l2BNdRs94V+9X
v9z4PvwUVpSX52BelH30VIWPornap93U+BlM/WmqcROgcahcdtIL8GAy5T4VYUWEYExTkgRxWjqf
wKjpPNv7ncosjXGy6CjCwZcKGR4jqkz0WwwU0keI8tEM8LBQAAlVpO+eAhUq03WXLNMYuanx+zfk
2UiHScCrH6XtC4+pT9qCk7q/U5Sf3/4coDQeN8aGRQ==
=2Lx6
-----END PGP SIGNATURE-----

--------------lK8lR0EOo9wU7sKTjeHfZ4FJ--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 11:14:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 11:14:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462103.720272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Pih-0001qY-3R; Wed, 14 Dec 2022 11:14:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462103.720272; Wed, 14 Dec 2022 11:14:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Pih-0001qR-0V; Wed, 14 Dec 2022 11:14:39 +0000
Received: by outflank-mailman (input) for mailman id 462103;
 Wed, 14 Dec 2022 11:14:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5Pif-0001qL-Sk
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 11:14:37 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on2087.outbound.protection.outlook.com [40.107.6.87])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e98279f-7ba0-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 12:14:37 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8838.eurprd04.prod.outlook.com (2603:10a6:10:2e1::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 14 Dec
 2022 11:14:34 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 11:14:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e98279f-7ba0-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Uwmd5ATdoA2bdxQeqF9LEZ7/jN/8gWIFNIt1NrS80Sk3k7mrjFht/7JuHxbunIlY8fRr9bLG4KcwHxC9CGenJ8ao+L4FlE4JfGoVxJsgBk87gyOsPaNrJgoc0Npx9ToesKpOgfHj0Ob9P/PX4kVMRpFiJJC2EJBkERTWPvpX0tDfPUkiKK91WIMqCFL8a2A3ot2KMW7bLcXI+mES4hoUBu5t9YttSBjCkgEePzynJ3EHFS7dKf0c/YkNaf6F9RvBumnMwVndXuNDbDFE1dMislvCTzvmNSPnY9QVilaD0P4sg3UspTFwWaxLakPScN+dxdOvjOWQaGfz/hJXM4BoFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oj2yZvdIO+hFPGZx/OLVEkuVaEkfKG9rEVa0u2i/1ec=;
 b=Qjc4o3EqHuT9EN2/0KltolnpsDMnJHp1z+yn9lrX25G2BlxTNNtdNAl/8UVDLxnFdwKqZN/gcyRYHxHVyufUXnVLh0CgkBwZYfAFY2LW9OwtimNhMCvbUzbyubDdA1x2yTub69gWkdAw2gQQ1AEjuxFG2DjfTDQNdpXICNNY7ziATPZYkv3QVRaHM8cpGEDcryVduMSwhiBX+XcnnXLJa4WnPYum4C7vM5kHZLRvWC8RgTtPxHh1ZN++7AhcSy1EEoKQsTyR9HmTD4gNHggdcmDa/dm3GtKhWo88rf2/SlHlQex3hmMnQjIoX5FE4evM5UFgoifNZc1svrPavMg7ig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oj2yZvdIO+hFPGZx/OLVEkuVaEkfKG9rEVa0u2i/1ec=;
 b=kyTl/MMGcyRkvusD1NnBHsBxn9BBb4LD3q69jyO151/7pqWBhhd0lIGcbvFmkruSu+m9I+M/o3IrHGxdFJlb7w+k3A9RzbVdkHIGzdOBzHw8CsOrd24I1cv4eaRSYVVEXmH6hO0sF3t004fFWI0Snq6Q0w5olSW05sMKt0FT2w/eJMq+oSQ2gb/b3nT3kKUUWNiIiq5nzesFRUwBfoDdnLVTMyQePBwYZ+1YSRtm3TxOoR7MZJi5tGm/aIfjtxNBdd9unoudpZiQH9n171/Gmu+WmDIZMXLEOLFZZwu8LEgj881brWniGB0AM35rCDP+mkqC1pz/6YEupSdWVx476A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c3a0d72a-0209-3d98-5054-6f1d02dca1a5@suse.com>
Date: Wed, 14 Dec 2022 12:14:32 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2 02/14] p2m-pt: Avoid hard-coding Xen's PAT
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
 <f23de83cda04312c84c14bf475d7050d3a384650.1670948141.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f23de83cda04312c84c14bf475d7050d3a384650.1670948141.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0131.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8838:EE_
X-MS-Office365-Filtering-Correlation-Id: df66f86b-e7c9-4712-deec-08daddc46162
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3mH3rB6yeae4aAVyHWQRfNK5Aq8vMw41WOzPRWgNiRJ0uqk3TtshmHqFIkMjW//XcWuweq5YGHm0cVtKOEbAGH/6kkafVF8HTAIWX6WtwvQw47Oi+tfoj5UVWsPuoRKJnhfXx8mtLnA0sckSHajW6mRprdxfV72azpOZv+9uvTK0l2CEEfTvo3atUDwwnQYO5DT+1zh9wk6qGgQgmYrKpHZaqbqHt+8nrB4/JrjiUAAut1bfK1J1SPQvijXdAmxOmvurRhr6W1cX69Sf/l+kzzvXKQk8yFcuvINOw5ZPR+NhGlMINgp7g/APIt27JWn5w3ExW+kXYX05pvnXfm+3L0ZYqd/lWVDGXzEKAofyENuivBsEvzrQtIk57dlGFurFaGVpss9ltXrB60tyD2vrWjEDjtOVOjBBDSaJdSKlQvhylx5uMKU1C/AbNRPySkizEC+R56OvJ7a4t3PybHxXBgttO3LQXwQ9wBi6EHAg683EGXPkK6I4VQKb1Yvl40X9VAv+oKE7N5QEAjBj7PXqffOWZPGB9JJjIO/4bHSL5P6gYCJx13GY/bZRjuj6yVl9aCXdKrslySAFVC7ydvLgaKpFVPGsinL7ahZc4qmcToXTLKN4KqaYwSI7fzYilxZmnXxlDPa1+O5qgsLwUkVaevDXcIriKQ2oHJ2hy+c6s4VsR38OqyHg9eGRQxRUSCVebm6y6eC9ZFul6AQwgIN562GFTQ1yAcgwLbSuFu/ciAA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(366004)(39860400002)(396003)(376002)(346002)(451199015)(5660300002)(6916009)(7416002)(2906002)(4744005)(86362001)(31696002)(2616005)(6506007)(186003)(6512007)(26005)(53546011)(6486002)(36756003)(478600001)(41300700001)(38100700002)(8936002)(8676002)(316002)(66946007)(4326008)(66556008)(54906003)(66476007)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ODJDRnBpWmIrODNyVVRJTC9IMXdvTU81anlQeHpDWnNNNUhEa2gwMVVnbGNa?=
 =?utf-8?B?TXpTOVZVdFRDNXZOQitWNk1UVGhXVmVvaFk4d1BvSCtac1NTT2c5amF0MDlD?=
 =?utf-8?B?eSswQmZlWUhkMDVpM1FPaUltd2RaeG1QRVJ4SlJUVGhRSHpOakt4blJjUXEr?=
 =?utf-8?B?cmlJdmtQWHEwNWladlR5TTFXNXNiZ3NyQitRcW9yajRWeHlHdXNSQ1E0b0dh?=
 =?utf-8?B?Q0xZbkZETXJGOVIydjRVOWluemdMUzQ1R2dPZW9hY0VMQkEzdDh3TzJyNWdT?=
 =?utf-8?B?YUl3LzVLTzJLNGJwSndLb0xYR3hzQnVJZ3NhY0N6dEQ2V1BRMFFwNXpVLzM3?=
 =?utf-8?B?QUdnMmtGZjFOdENEOEVtWEhyL1E1REppL2pyWlcrVzFKSnRTUm1objNNOXc0?=
 =?utf-8?B?MGRDMG5XeVlZbTBRWDI5RWlIVDFBL1JKZ1VSUWdvZnNnUDMzQ0RmOVhtaHlP?=
 =?utf-8?B?cnZVWXJwU2tPalBlZTBDQlBVMEpaRjhsZ3ZkWlBXdW1Sa1c2YjRHei9naU9Y?=
 =?utf-8?B?WlZSWVREREd0WjN6TFdLVVNUZU9CeEtLZDNyV0dpVU1BelBoWHVmMUJlYy83?=
 =?utf-8?B?aGovZ0Vmb0pwdUNxTno0RlltQzlpWkNQYitCaEc3KzNPRHNlR2FTMlJmTEpy?=
 =?utf-8?B?M29GWGFPSTErcWpzUFovYTFHNnlEZ3lLeGY1TzlDek83OHRpRlN3Y09YVklj?=
 =?utf-8?B?QU5IcW9uandsOGFscGU1SnRNMDd4WFF1Nm1pVXBCWDcvdENPMkx6RlR2RS9p?=
 =?utf-8?B?a2lBSjRMMDlXcndOSjk0VW4yUmd5MzB4ZDR0bmVnRmFMcGVpV2JVeVgyU3cw?=
 =?utf-8?B?TGlLTXJOZlIyclYzS1RwQys3SjZaZzh2VUJRR3dHM1FCZFZpeGpLWEY4c095?=
 =?utf-8?B?a1hQR0kvT1ZZWEJWMmI5RlJFZnM3UFQ5OUdFMEtDZkx2RzN5TlVVWGh1ZzBU?=
 =?utf-8?B?WER1Ym5sUmJkUXYyNlIwVWpLUk9RTjBla1hWUWZObmlJWHpTd3JJdXNaempP?=
 =?utf-8?B?VjMzcjF6SHJ0SDY1R0E4cDhTR3JKRTd2dkZvQ3c0WlJycG5rQmd2SStNaFNr?=
 =?utf-8?B?Mnh4aHNkOGdGbS9pSGRwRTFwRmlVdnFHV3M0ZUU4NGsyb3NsWG9KYVZDYnFT?=
 =?utf-8?B?YW1JRThyTDRlZ1U0eGt0YlRYQ29ibGUzcUZ6VktDOFJCeGs5ejN5Nk85eTlO?=
 =?utf-8?B?UEZySEh2M3VKTWc4YWVYOGlIcHhDekY2Nml5TjBPU0hoSHdTbjFpbXQwZ3JP?=
 =?utf-8?B?OWoySWt5Q0VVWjR4Z2tZRTNIMWNDWFdhOVE4aS9tS0Q1UEJxMjNsUnhsc3R2?=
 =?utf-8?B?NUJDMk8wU3lxV09aUFVEWkt6QUlFUksvazZBN0ZHdFNxaitVQ0ZmOVo5NnlG?=
 =?utf-8?B?ZC8rS0pLNVhWZVdtbm8raU83M0E3M3RnQ0tRQVdVSytWZktsQU9NNnBHSVdy?=
 =?utf-8?B?ZHd3aXYzV3lHZDAvcmJITjlJc013TW5vamx2dTZhaVYwMS9xbGtUMis2QmlF?=
 =?utf-8?B?WTFTdzRPZjVHSitocEtnU3RTTGhXZWpxNDZFTmQyalBnWTM2c09tMW1ac3NL?=
 =?utf-8?B?ekk2QkxxRC95bDRSL25hUVdLVVdjS0lISktTbmQ1R0ZIZTZwd3RBZThCR2pi?=
 =?utf-8?B?czQ1Z1NsVVR0bjlUT05LZmZTaGZVRVVaSElwTW05ZW1EWjBsUkxURGpjQThU?=
 =?utf-8?B?RGFDTUhJeW9EWWxKU1dkOXNqWUtCaHZkajBYaXpBUDljU0RDb0dINjdWSXRQ?=
 =?utf-8?B?UUVrbnFDSDZtTkdYN2MrdVNFRDlhQkMvVlNuaElZMTA4M1EvU1JuZUxCSVow?=
 =?utf-8?B?Sy9LWU1OVzIvcnh0Y2JKVXZiaUo2R0U5alFqQjB4ckswb01jeFRMeUNIVGtm?=
 =?utf-8?B?clVxc3BhSjc1Mjd1OHEwY2pHdWhyN0t6WFg4aHcyYTcwVjhQZFgwTklYRXkz?=
 =?utf-8?B?OG9GbG1pNFdnMzhzRmJ1L0NMZExIWUl6TXczYTgrUXkxbm1WY0VUYzJrTDZo?=
 =?utf-8?B?M0FJRWZ6YWREclNZT3dvbU02QzFIbk1MbkNncjh0dyt4SjlBdUlYeEw5ZE5L?=
 =?utf-8?B?SzRxV0VOcEd3eTNTclREbVNjZHo2cmJ0ZVkreFpBVmgzOEw4OWU5RURnbXVM?=
 =?utf-8?Q?qFxfZ12YMZtDvvJQJupee9mpx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: df66f86b-e7c9-4712-deec-08daddc46162
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 11:14:34.5106
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0g9KbJIAyHIFp1cQLjo0sx83uMWA+RxxMup5GxbyFHodSVQful0PTGCnp7m7bJl3oPmJgjNPdg/hic2Y6Ajwng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8838

On 13.12.2022 23:26, Demi Marie Obenour wrote:
> This makes the code much easier to understand.  No functional change
> intended.  As per Andrew Cooper, the existing logic is incorrect, but
> this does not make it any worse.
> 
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

I'm inclined to suggest to prefix "incorrect" by "(now)", or say
"questionable" instead. This would give at least a vague hint at what
the problem really is (and that the code is merely stale, still
matching intentions we no longer have).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 11:23:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 11:23:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462114.720285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Pql-0003fz-Sn; Wed, 14 Dec 2022 11:22:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462114.720285; Wed, 14 Dec 2022 11:22:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Pql-0003fs-QA; Wed, 14 Dec 2022 11:22:59 +0000
Received: by outflank-mailman (input) for mailman id 462114;
 Wed, 14 Dec 2022 11:22:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5Pqk-0003fm-5M
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 11:22:58 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2067.outbound.protection.outlook.com [40.107.21.67])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a85be5e5-7ba1-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 12:22:56 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9572.eurprd04.prod.outlook.com (2603:10a6:102:24f::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Wed, 14 Dec
 2022 11:22:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 11:22:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a85be5e5-7ba1-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=frK/xWBkk6ehSVRjBauO1biba6QwtmRrzrPb8JIZ+6kU4QrfjbUByr5nMEqqfQzbbVQuOe3oqf7vKaBLm37iXacpEsXTS0fObOXP56M7bgVABKPOe7xUiIqR9nvMJB/RxPsYw8emmvUtPcwGop2f5uSJcjX2RbCs6s/8wvCMaxF7PCs5YNE9IKSal5zd/jaIFfTgR7uKsTE0hl5NqZWtKy9bAfTGRbq0C4rngdY9d9YSpq1UWjSlsx5Z+zcyUhkGlweb755zYKgQMv6NNyU513sQF6SYVWDHvAhvvD3f72pKLe//sm+ZGsiCi/f7YSdedvvigVa3dv/1aepmf2+XIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eBA5lNcjGcZD7ReAdaK7UScmScRtsExD91+lEt51eVU=;
 b=Em3Hxr1WjxekrkRDW65gYbeRykPxjUBHZSzvItF+QX04dXFWzYC1fsIQvR0QRk7CXgx5stlb/v06ysONXMgbSNqiS5ZSnbi5zPOLt1uuCb96Ge+BXejDzXcbZGMzVOKDbH+FesDmh1EQtwfWKjIQ0Rcc2hRP1aPnKc3pMyBT0omo2XBAQboGDCEi8j+q9HCqPUPahuB0UnmJAJvzkaUZUUj0vRDu+bW82B+owAQdjkHC5qvIXVw7F3zIEowPMhkyC/GEiZjrQxH0iRfGuedZibGfnZ5uWPwuhlQywWXTF+LqKSzkVq53MAyhD8Hvi+gz8dXsT+MociXvgaK9m90HQA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eBA5lNcjGcZD7ReAdaK7UScmScRtsExD91+lEt51eVU=;
 b=I36Xh2q0OlNbpx9Sh2xAxyVk7HfWidchJFOVZuss/HVihimCPJSQl2riS70SSuvUlkkmSzG7XrCAgfXw+EmWk5+zpTChNSg/YI7g30wb/A2MDB/krYWDjRzVjDwSLWtUTdC+M+7QEzCf6dXnFpuedhXpfEg0PdLtn97k9HEt8Jk+OjbbIDlhgsXKyGCfoYmvEc8CEaGZbcbJ4F1ImMOL5XIhvLot+5C/HJhQLhKcadO5NMy9pB9biTRoBxlCUR0uqheGBp3ySFZCHuRfiHHVKnnVT51o6N/eLJAfR0OkNcCYSxVI9owfA1sRnavZEWaATJzngoMbVoPtt+3JjQm0Dg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1ecbb51a-02d5-1ee4-d484-0a16c52d2493@suse.com>
Date: Wed, 14 Dec 2022 12:22:50 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2 06/14] x86: Add memory type constants
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
 <d01afab33bcf551f96f5650c37c51a567c43ad4d.1670948141.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d01afab33bcf551f96f5650c37c51a567c43ad4d.1670948141.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0172.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9572:EE_
X-MS-Office365-Filtering-Correlation-Id: a7b6b961-0132-4771-83c6-08daddc58ab3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dvLb3kTpIPet7kSGMM26IOmTJa+mQeVGpnCn9++14EJaYvwiDZN5sdmD9TYwF1GoZ2KKp/5OWSKia0kCNKTUSp9Nz7Ce5GyUHVv8IpublxLo3odeWa2qzHO+dnsvPsaDhQnajp5+wxJP3lD4C7NcrAnX+GPOnTJF2yhLwt9ifPs9f3wnYUeK4SlFbs3LlcJnFtXDqgyF6xIN7CmWyNiSlXx6ibdgJKkQJEyMiHJLPmLrr7w+C7FQqT2fWBRqOp1kRk/G1LqbpoEqeT6VHRfRG8T+ddgmS7Zhg4mZtDVQarm36n8EnWyqPSTnUIzFaGlNzcagZLozlzhRH19B+0X5iPzo38tieQZtXU52YUapg+9kBSxNO3/41N0RjOB/3iyxxUSuoHvpEKCJa3JQE+R2JeBA4PbJ7d4hNF+skr0Ljg6O/xvoQ9wgiUzOT1Jw3Jlu3G+1lB5gZKz4Sz8eNxQzuUNFR6DIc3thcmgf/Aa7vAycn82BJMLVnpB7fPgyxkH7WGTZcBy31dSkfPMW+v0iD1bTH4Z8EpvrraVPXJFQ/1XfbGshM5jPQ+6VfCWivjIGZhQCeFTqXGX+zpaGkJcXscI00N4Er5L1bZngjOfzCXdx/6uhgb2HRNXUXNNVXm9XmRMf5B3hd8fPrgT6E3fgy5FJoxy3DUxAVBWlWvb6rU5QDnHsNroRJV0xFYo/aRaBVnensVOoei6GGvSIzBKE3Q0aAw2X7QgS8ILMjyuvUP5xAixZW3M169QA0+x5Y2X9Hg4usr5qH8Dh7XGffTjbTnO63qIWug+1imu5GeRNJb8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(136003)(396003)(39860400002)(346002)(376002)(451199015)(86362001)(31696002)(36756003)(54906003)(53546011)(316002)(6512007)(6916009)(6486002)(7416002)(4326008)(8936002)(66556008)(5660300002)(66946007)(8676002)(41300700001)(2906002)(66476007)(38100700002)(2616005)(478600001)(6506007)(26005)(186003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T1kzcGZObFlWOFQ2KzkyR0pldFRMRkJ3d0dNdktUV0xBL0FKU3kxUVBpRTFn?=
 =?utf-8?B?aXd6b3VIRk9ZVGxFNmNuL2swZ0VkU094cFFBdzM2cG5DazFRd3plZnZBb0hG?=
 =?utf-8?B?NjJWbHpUTHZHRVhzaytERTl6VHRIVEo4TTV5Nmt5Tk5MSkpDUGw5MEVDTDgv?=
 =?utf-8?B?THluK3c5SUVmVUFjelFoMkhLV0RUZTJBOHkxL0xkeVd1bVFoaFNQenM2OVZM?=
 =?utf-8?B?WHN2NU45TUU4c2FoaHF1NG0wMVRCck5Qc2htVTZPUThNMHUwZmNYa3RYSkJx?=
 =?utf-8?B?ZXFWUEFlYlZ3eTJSSWJyZUtrVEU4ZGZWN01yRnZ2dng3K09nQ3Y0dkhHMnF1?=
 =?utf-8?B?QXpkUUJNdjVuWEcxeHUrNW5xSkx4OVdoQTZCL3c1ay9SL1l3SHVFR3B0NVBP?=
 =?utf-8?B?V3hFT0JHNXFYSHJxY1VYaVdmbWxRTEsxUHBqb2U1N0k0N0l5NzYvOVNCeGVR?=
 =?utf-8?B?RHYrd3BSVExaeC9xODRpbEpFdTUwYlZtRERyS3d4VWFuMmFkdnVyT1FWeUhh?=
 =?utf-8?B?blBTcm1ZMEFYa1kwaTQ2dlh3cktjOTJVeWkzTnRpTnVwK3I3NmpUSXhUWlp6?=
 =?utf-8?B?YVNiaEZHSE1UWCtha2lVVHREVjJLdUJrRUVhQ0t5bTB4TFVCbytoblQ1MkFp?=
 =?utf-8?B?bnhEQXBXUG01ZTkzU1IyNUdvbTcrRUJGekYwdUp0TXk3NEt4UUtIbmtzb2M2?=
 =?utf-8?B?ZERmTVZUWEErRFNVOWFXNzRJVnhlT1d1a2RzdHVrU25hMWtNYTJaTWxUZE1i?=
 =?utf-8?B?eHZMRlVIdWZ2MzQ1RXFnVWNURXIrNVJtWTEyQVdDTDMwOEZIdlhDY2ExY2pD?=
 =?utf-8?B?MzBIU2RuUnJZSGdVMGhPRUpLYUJBNHN5ZzJWb3VTblMveTNVS1N1TEZ1L1lh?=
 =?utf-8?B?Y05zd081OVl6SW9HKzA0SHRqOU1aNG1SNjdzOGJBdldJbmZ4TGd6ZVlaUHpK?=
 =?utf-8?B?eEFEN3VvaGo1KzVUV3ROQk1DcnI1b2FXNWZwREVrN2kwMENaK2VnQ2xHUFlW?=
 =?utf-8?B?OGNUc3Ira3YxSG9NaGdBSnFoamZNRDdUSGZJUTV4TzR6K09Na3JZTVZqVkZz?=
 =?utf-8?B?R0JZUHA0QkVNQnFwVVFaaDYzY090NVhMZzJXd3FhTzd0Y2ZXTklKYXhhNGlt?=
 =?utf-8?B?Z05pM3R0eDNWUkJnN2JuQ2pJZzN2RWovSDJKWERRUFBjU000Z3NaaWtBUVpn?=
 =?utf-8?B?WHVtOGxSOStoaHVUbm5KVDJVQ1hwZ2hpVmZRZ0luRThpYTVhNFI5ZENRUXph?=
 =?utf-8?B?dGV6NjBCeTV0M2hKbEVva1gxVWJDdGU3WHJyU3JLZ3pQa1ZOSDdhM3lPK3Zn?=
 =?utf-8?B?ZFRGejRKcGJxQnB3Rld2bUVaK3JaZGpRbTdyUHlpRmx0TXpRVHY2Ym1DeHBj?=
 =?utf-8?B?ZXhrQllueHB6RStCUndpOFdFUDFRcXpMZ3BJMWdLOTBMazdONkNxbUhxckhL?=
 =?utf-8?B?SElSaXRkckRta3RnSi91YjZkelJXOFdUYld4U3RGMjBtaUl5ZHZIUVFPK0d1?=
 =?utf-8?B?QlRKTmZ1cUN6WXE2WmxnWStvb2cxSjJDdGtYWjJPWS9vei9vNFYybXMzSDh2?=
 =?utf-8?B?TXVnYS9QQ09SNVZGcXV0cTZ3WDJobjNWUStaaTcxbnVCRExtWVF0bGVrUTRW?=
 =?utf-8?B?R2pOWXJpUkExRlo4aGFNM0NsaVFNL1UreEtqQ0NxWDZQbUtUYUlDR3lpZWk4?=
 =?utf-8?B?em9xRkhPZVd3cjl3c2JxQXRCYUJ0Qnl4Um1nNXNJSWlKZ1d1MitCNUdtWnVj?=
 =?utf-8?B?b2xzdHVEYjZiL1JXVkhwNmx3RC9Rd1pCbW5leGtSTDNjVldla0Q4VjUwc2FF?=
 =?utf-8?B?Mm0rdUFZMDhya3JUNkxydlhFcDBXYk9SeVdzeU5aRUtDWWs5RjQ4K3hQUWVh?=
 =?utf-8?B?eWliOHFXNXJZWXhIQkNhSUFyby81dTV2dnUzYXBnblNxUEZBOFpuSVh0cTBS?=
 =?utf-8?B?c05mckVsVndRVG1WY0l5WW1pMitSY3hGZndOeU9LcmRKOWkzRko1UlhyajNZ?=
 =?utf-8?B?V3A3ZkFia2N5clc2WUZnL3Y2UXczUzQ0eXBDWnNuQnJoWVpOcGpueUNPZC9I?=
 =?utf-8?B?akNZZGlnMFlndEFHTTk2MmpON1lhSzAwOS9GQ3NmZWRhTStEdS8rYit3ZCtD?=
 =?utf-8?Q?Sq4t3iwJh5QCJcrFYQ/Y257r4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a7b6b961-0132-4771-83c6-08daddc58ab3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 11:22:53.3850
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NXYVFHACUMmmAXm7hLj8nnul0cENhe4lAgc0hb4ZYCCUtwQ7bGBFptHxFb8s7XKx+zv7Bv563egYENXUoIC3Pw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9572

On 13.12.2022 23:26, Demi Marie Obenour wrote:
> --- a/xen/arch/x86/include/asm/x86-defns.h
> +++ b/xen/arch/x86/include/asm/x86-defns.h
> @@ -153,4 +153,17 @@
>       (1u << X86_EXC_AC) | (1u << X86_EXC_CP) |                      \
>       (1u << X86_EXC_VC) | (1u << X86_EXC_SX))
>  
> +/* Memory types */
> +#define X86_MT_UC  _AC(0x00, ULL) /* uncachable */
> +#define X86_MT_WC  _AC(0x01, ULL) /* write-combined */
> +#define X86_MT_WT  _AC(0x04, ULL) /* write-through */
> +#define X86_MT_WP  _AC(0x05, ULL) /* write-protect */
> +#define X86_MT_WB  _AC(0x06, ULL) /* write-back */
> +#define X86_MT_UCM _AC(0x07, ULL) /* UC- */

I'm guessing that you use ULL here to simplify arithmetic when constructing
PAT MSR values, but did you also check that this doesn't lead to compilers
needlessly doing calculations in 64 bits when 32-bit (or yet more narrow)
operation would suffice?

> +#define X86_NUM_MT _AC(0x08, ULL)

This pretty certainly doesn't need ULL, and no use of _AC() at all.

> +/* Reserved memory types (cannot be used) */
> +#define X86_MT_RESERVED_1 _AC(0x02, ULL)
> +#define X86_MT_RESERVED_2 _AC(0x03, ULL)

I think it would be better if the left hand numbers matched the right hand
ones here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 11:30:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 11:30:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462124.720296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Pxc-0005Cc-PW; Wed, 14 Dec 2022 11:30:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462124.720296; Wed, 14 Dec 2022 11:30:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Pxc-0005CQ-Lq; Wed, 14 Dec 2022 11:30:04 +0000
Received: by outflank-mailman (input) for mailman id 462124;
 Wed, 14 Dec 2022 11:30:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5Pxc-00051p-1N
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 11:30:04 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2040.outbound.protection.outlook.com [40.107.13.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a66ceb88-7ba2-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 12:30:02 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8314.eurprd04.prod.outlook.com (2603:10a6:10:249::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Wed, 14 Dec
 2022 11:30:01 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 11:30:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a66ceb88-7ba2-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aVXWStHhhW+kL07F+fHInyjWhQ2yyRirtQwEoeeP1AOlUGKR/UJ55H1aLngs+JP8R1OoLHrIfDlIfcPCD6JNTC9+k9StbxqigYWYxH681OtvYA6QmZdbAtSdWWK2JPfiq9aVJwAqP5k9vNnBBrNwpEerqrri1s5hfBhGY/9vnQ8dqx5Up8g//+g2XJyyOJ15FvYHnz6OJQn1v08bvvGZME7sQyjJ0GGkYBGYrosohr3ovT2eg3bX+Ow71bvQduYv/Rwo7sTTlzEl90pPsFdOhKaH9e0xmb3Uo6pkfmzCnm9I3qzKM2/+o5iG1OlD4GxAFPM6uVb3ilDwR9ihuhRyAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LIzrLopL3QSHlFN1s/F+V7MIbNyR4QYzULjovpeNT3w=;
 b=bgU6GNCWVeUU3SAUBVGiOkhNkZFfz6W4au3nEjHZakVlqCA/vrW4FYt0CVTwpH27aLKQcyNqOrllaxXKiqsKDDnSuSUztKaBetGvWZ72kLPA2iWVAv3mwDOpNTqInKFglbBVtl+Cy3qyyS8cF6O8gaBUXh3deAAlnGM0e3FIrkYcl/48fxLnIWpSJjvSaOJhs+BlLcibpZVeBnr/69chBKs0xgNfvxW3AktLyI90Ugm9iSMAU/LISjqYC/AQwSA0A2qwet92dLBtlUBTPCF3ygk1BUAdeD3HDrtJp6r6GJWNRBZc7tvJLd3Hauian3rIrFiWOEb7+OXiHRp3+a3cKw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LIzrLopL3QSHlFN1s/F+V7MIbNyR4QYzULjovpeNT3w=;
 b=E1RAvAh7LDBJ4RWD6n+tAQd6sLtlZTEHIKm/8pQF7THxfLMyc0XpOYgz4STl5VAS79ck6X2MbkjDgWvV8rjfrF8PTJgswXD0wjyAUkWE8AZuOyNTFAQR9RaZVJHzsr2PMZXpqyDEFRa6MnqC4624AyYGVKFOj4HSz1gRA+b9TiGIyTcTBHsCyYN7x4+yOmlHI/45mYP4z9fa719wZEc420CCO8Tf/LFJ5hRpaC1ZlgmzQKtAl10XzzPnGq2XfgqzcMVrFopgYcy9x2K9+wfEIGHwqTp6Fe8Rdi+c6R3ZFQ4odUJxMTgldOYqpoAp1MpiCv8Cs2ZqHGEXJca7RtI3iA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ca86527a-94f6-a42e-4dbc-ed9134cec31b@suse.com>
Date: Wed, 14 Dec 2022 12:29:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 2/3] xen/spinlock: split recursive spinlocks from
 normal ones
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20220910154959.15971-1-jgross@suse.com>
 <20220910154959.15971-3-jgross@suse.com>
 <71281857-7387-afc1-f9b0-e076e4f076a8@suse.com>
 <a6aadbc6-e34e-43db-26e5-5379ce2d88d3@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a6aadbc6-e34e-43db-26e5-5379ce2d88d3@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0098.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8314:EE_
X-MS-Office365-Filtering-Correlation-Id: c02a16b2-afcc-47fd-1d04-08daddc6898d
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k6Zz9R4V8WNbS95oZaLT1ABjfKO9z8H8g5/HJaknWuY581+iY/OmH9OBzFpER05xVCe9Ts6gfrThXSIouH0DBvoPu1BzDBS2HROszzOghOVb9jCLtHRInL6pyTCSXlx3/YSQVpv8lJl63zrHQZ5UXyfngobXEIUhR03HQVFUwmr469AewaPHP62KiDZx90YviRN6buHNlgodzOq8p8nmdMSIT2YBNkeZqK46Iu7gXUi/W6umshvYlA5cjRprmX0p9Ja7R11Q+Dn3iqLIi0O98RtLaBKJX7eSTYyh+W2aXp/taUemMy4G57ASlgZqjLwP84pgjPovMbOl4PKCR9xVlVAbXGlv5T7LD6gQ2/r1Rj77N+dwaragYyOHpMCrXO/SDR1BnEdvvDrFQC52JJb2QuK4X+Mr8MaQ8qGfiuvphjXzHLVEUWmK9lbuVlz/6gHYo/fyG6i5oAoRgQ6CDyt9Tnl8XvDLUuHYxckntjQmVfyLRQXMeJADrNwF7IYd3qmAdqUTISwAyjicU2MePocywRICKZKJdlLlsQnJZwJHCI+EM+pb8tTE6+Pn9DLc3rkaYQg41TImy54gEBQ9y2ucMDRwTDO7W3xGcv1e6MXgKFa8VKZL6wg9HBUkxJrUxEM9Mt68qzjcwlbHsVtWgxkc9yV0+brX5TlKASwAfyaryD0MrghRCMRqad8BBjp/HNxa3XP42ylX7nG5c69kf5Ms8FOy2iGv5RhCbZ3CWb3dSHw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(376002)(346002)(136003)(366004)(39860400002)(451199015)(31686004)(31696002)(36756003)(54906003)(86362001)(6486002)(478600001)(6636002)(37006003)(316002)(38100700002)(8936002)(2906002)(186003)(6506007)(26005)(53546011)(2616005)(8676002)(6512007)(5660300002)(6862004)(66476007)(66556008)(4326008)(66946007)(41300700001)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cFdNdm1hM3dCcmV2ek1hU0F3OVlKSWs4ZzlMajlaRDkvcGlod3ZRMjRGazFx?=
 =?utf-8?B?bWt4bDNWdU9HRXQwMWd5R0tjUENKN0hUS0lHdDUrOXZWL3BxZTByY1M3aDAr?=
 =?utf-8?B?YmZjZG1DYWY0L05ueTF1RUl1L2NoMFAzOExkRUNXL2VlS21IVUVUQUZmUm55?=
 =?utf-8?B?cDBxWkdaR2xmMmxHQlJzMjJrU1RRaHVueDRJUkY0cXBZMTRNSXpSTklDT1J5?=
 =?utf-8?B?WVB5Tm1Vbk56SXRidFA4YkhQdEVFLzQ0UG1VNDFwODFGVGcyemQ5akw4L1hn?=
 =?utf-8?B?SkRtM0EzbjkwSjVJTFh3ditxdWZGZlc4VDJOTEdVc21aaXZhQWFXQTRRamRp?=
 =?utf-8?B?c3JkVXZPVVNzWTF2clY0QmtmSjlCZllxbTJtYlZKYkVTcFlBVGpLUEtKNllM?=
 =?utf-8?B?L1A1R0gyS2h5eVpoMDVLdDRmQXFGSUorNUF3V1o0b2ZYbXFsdkEzTGFWalRY?=
 =?utf-8?B?SEQ1RXdRbEVkNk5SM3V5N2t3VjhYUHU2dWQrS25JZVRVZ3dkV1BUSGtJYkw1?=
 =?utf-8?B?R0NFK1FzS2d2ZEZnMjVmQU9FVHRxc2d2aThFMzdORllQRzhMUzFITStSZDJI?=
 =?utf-8?B?SkVhQkl2cFBqTkhQNlgrN095SGNrNjh4UFJNNGtLV3JrWjZHc3JnVlNmaHJu?=
 =?utf-8?B?aXBnZHJuelBOSVNwSk85MTBzamt5MStHeTd1UFNvZHc4aEltRUE4elFNVXRh?=
 =?utf-8?B?dlhqaTdlS1A0U05LbjEyNkpMR3luM0ovSlc0YkVrakpUYmhKYVMySnlRUUFC?=
 =?utf-8?B?UlRvWEVtWDMwNy9mbkhEcHpTc0dXdVJQV2hmRXVXVXNmNU9ZVUd6VTcxaTM0?=
 =?utf-8?B?dE1XT25BYnhlWk1KMWo0cUFMTjFZeS9HMFBLT2UydEcvNVNmdzZHY2liMWlw?=
 =?utf-8?B?VGtiekpRTHJFVlc3QUR0bUZSOVFGaFBVOGJnU0RxYmpvNFZyZ3ozK2UwU3ZD?=
 =?utf-8?B?Mm5UUDhnVFpxVFc5N1VDTXBXZ1dKZFh5Q2V2RHd6akZMN002S0lRdEZ6WFBR?=
 =?utf-8?B?RWs4VENBQ1h4TFdxN1ZGUkplZ2JtUWxPaHhBbFJCTG9JMXVSeDJMZTAvSWpi?=
 =?utf-8?B?VCt4Mkc2emkxTkxTL0FPenpzb3FhcUhPV3lIUkxNcUo3Q3pna3ZuN2hZOHVQ?=
 =?utf-8?B?eWtiRVg4RmJ4WEJNd3BDMFM2UUhZK1NwbFRPcDl3cEZrTWdVbnpTT1piVGdr?=
 =?utf-8?B?ZWRVRmFURlA4RjZsenMrOCt5Z3JOSUNqaUJ4MGRhQjBuQklmVko4MTNGdUdJ?=
 =?utf-8?B?ZXpRcDlZOWpHMnZKU25VV0ZxV3RoalBRRWw4bWg0RXB2Uk9mZ0hYaHVGU3VF?=
 =?utf-8?B?YXE0N2dISzh3Ujhpc0VZOW9HeGtGdDhrazUvL1R5OXVmMEg2bks0S2hNS29s?=
 =?utf-8?B?U0hrWC9Sd0dacysvMEFyNEg1c2F6eW9FaEVjbmpGZUZudERKbHFtZHRhL3Jw?=
 =?utf-8?B?UlkweFFjdVdhUVRZVkhndFRqV0tRUnJqYzlQUG10KzlXUjhyanU3cXBqZWxY?=
 =?utf-8?B?dXVYTldCcE5wcHRqNDFCeS9YeGVLN2VWdnV3Sklrekk2R1dlaVBZVkpxZGdT?=
 =?utf-8?B?OXptdWw1VGVtM0ROVGc2VC9aZ0wrN1VCcVA0UUNVYm5DMUVCajlEV21LRUNW?=
 =?utf-8?B?VnU5UzJ0OVdmTnZiNzU0YldoSkdySHQ4MXhLU0ZYaU1GTjFaOG5BSFFQUmgw?=
 =?utf-8?B?NGFrTUNEcUdYRG82SHRCMW9pWVRzWERVQWhNOUVNUTRQL3NFRCtvWkdtS3h6?=
 =?utf-8?B?QUJvb0RBemppU1RQQk9EdGZkK0lJaTNaV01wY1JpMjloWkJyUytST0Vxb1dy?=
 =?utf-8?B?N0FGSmtPRUNnNXRTU0txNW1YNjZCTVpZRC8wYmdTSG1mNjdDUHZqeEJwTEpn?=
 =?utf-8?B?S1B5eDFtWVc0NEl1NlFqR2I3Y1NHR0N4UmtCOFBSTUZIbDZNNm14VWFOd3Fr?=
 =?utf-8?B?dVBSMlA2c05pUERNcEVqNVM2ZFR1QzQ5Slh1dnlXQ0NYRWZiL29pNDIwMTFS?=
 =?utf-8?B?MkF6YXV0MXdFMDhqQUhyOWkvS1hyandEMW95Z01SVGVmMkpDbW9ieDhoS2p5?=
 =?utf-8?B?SFpLcVBCNjNOQVBuQTBqSHErNmViR3l2bTAybGlMeXRRcWZob1N5ZSsxMERW?=
 =?utf-8?Q?ykOpov7scGt5OvwM7B/1QdAKr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c02a16b2-afcc-47fd-1d04-08daddc6898d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 11:30:00.9054
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Alhk82SFs8glx3o1vNwmOp+TqvpBfFheelV+Pi8nCNZXgZlGG7elEcEU/ww+Xr5RuHkuiC+aiHmefGlzTSpbVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8314

On 14.12.2022 12:10, Juergen Gross wrote:
> On 14.12.22 11:39, Jan Beulich wrote:
>> On 10.09.2022 17:49, Juergen Gross wrote:
>>> --- a/xen/arch/x86/mm/p2m-pod.c
>>> +++ b/xen/arch/x86/mm/p2m-pod.c
>>> @@ -397,7 +397,7 @@ int p2m_pod_empty_cache(struct domain *d)
>>>   
>>>       /* After this barrier no new PoD activities can happen. */
>>>       BUG_ON(!d->is_dying);
>>> -    spin_barrier(&p2m->pod.lock.lock);
>>> +    spin_barrier(&p2m->pod.lock.lock.lock);
>>
>> This is getting unwieldy as well, and ...
>>
>>> @@ -160,21 +165,30 @@ typedef union {
>>>   
>>>   typedef struct spinlock {
>>>       spinlock_tickets_t tickets;
>>> -    u16 recurse_cpu:SPINLOCK_CPU_BITS;
>>> -#define SPINLOCK_NO_CPU        ((1u << SPINLOCK_CPU_BITS) - 1)
>>> -#define SPINLOCK_RECURSE_BITS  (16 - SPINLOCK_CPU_BITS)
>>> -    u16 recurse_cnt:SPINLOCK_RECURSE_BITS;
>>> -#define SPINLOCK_MAX_RECURSE   ((1u << SPINLOCK_RECURSE_BITS) - 1)
>>>       union lock_debug debug;
>>>   #ifdef CONFIG_DEBUG_LOCK_PROFILE
>>>       struct lock_profile *profile;
>>>   #endif
>>>   } spinlock_t;
>>>   
>>> +struct spinlock_recursive {
>>> +    struct spinlock lock;
>>> +    u16 recurse_cpu:SPINLOCK_CPU_BITS;
>>> +#define SPINLOCK_NO_CPU        ((1u << SPINLOCK_CPU_BITS) - 1)
>>> +#define SPINLOCK_RECURSE_BITS  (16 - SPINLOCK_CPU_BITS)
>>> +    u16 recurse_cnt:SPINLOCK_RECURSE_BITS;
>>> +#define SPINLOCK_MAX_RECURSE   ((1u << SPINLOCK_RECURSE_BITS) - 1)
>>> +};
>>
>> ... I'm not sure anyway it's a good idea to embed spinlock_t inside the
>> new struct. I'd prefer if non-optional fields were always at the same
>> position, and there's not going to be that much duplication if we went
>> with
>>
>> typedef struct spinlock {
>>      spinlock_tickets_t tickets;
>>      union lock_debug debug;
>> #ifdef CONFIG_DEBUG_LOCK_PROFILE
>>      struct lock_profile *profile;
>> #endif
>> } spinlock_t;
>>
>> typedef struct rspinlock {
>>      spinlock_tickets_t tickets;
>>      u16 recurse_cpu:SPINLOCK_CPU_BITS;
>> #define SPINLOCK_NO_CPU        ((1u << SPINLOCK_CPU_BITS) - 1)
>> #define SPINLOCK_RECURSE_BITS  (16 - SPINLOCK_CPU_BITS)
>>      u16 recurse_cnt:SPINLOCK_RECURSE_BITS;
>> #define SPINLOCK_MAX_RECURSE   ((1u << SPINLOCK_RECURSE_BITS) - 1)
>>      union lock_debug debug;
>> #ifdef CONFIG_DEBUG_LOCK_PROFILE
>>      struct lock_profile *profile;
>> #endif
>> } rspinlock_t;
>>
>> This would also eliminate the size increase of recursive locks in
>> debug builds. And functions like spin_barrier() then also would
>> (have to) properly indicate what kind of lock they act on.
> 
> You are aware that this would require to duplicate all the spinlock
> functions for the recursive spinlocks?

Well, to be honest I didn't really consider this aspect, but I think
that's a reasonable price to pay (with some de-duplication potential
if we wanted to), provided we want to go this route in the first place.
The latest with this aspect in mind I wonder whether we aren't better
off with the current state (the more that iirc Andrew thinks that we
should get rid of recursive locking altogether).

Jan

> I'm not strictly against this, but before going this route I think I
> should mention the implications.
> 
> 
> Juergen



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 11:37:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 11:37:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462133.720308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Q4R-0006XQ-Gw; Wed, 14 Dec 2022 11:37:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462133.720308; Wed, 14 Dec 2022 11:37:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Q4R-0006XJ-D8; Wed, 14 Dec 2022 11:37:07 +0000
Received: by outflank-mailman (input) for mailman id 462133;
 Wed, 14 Dec 2022 11:37:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=30QF=4M=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p5Q4Q-0006XD-CN
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 11:37:06 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2069.outbound.protection.outlook.com [40.107.104.69])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1e0f1ba-7ba3-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 12:37:04 +0100 (CET)
Received: from DB6PR07CA0202.eurprd07.prod.outlook.com (2603:10a6:6:42::32) by
 DB9PR08MB9851.eurprd08.prod.outlook.com (2603:10a6:10:460::17) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5924.9; Wed, 14 Dec 2022 11:37:02 +0000
Received: from DBAEUR03FT057.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:42:cafe::89) by DB6PR07CA0202.outlook.office365.com
 (2603:10a6:6:42::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11 via Frontend
 Transport; Wed, 14 Dec 2022 11:37:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT057.mail.protection.outlook.com (100.127.142.182) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5924.11 via Frontend Transport; Wed, 14 Dec 2022 11:37:02 +0000
Received: ("Tessian outbound 58faf9791229:v130");
 Wed, 14 Dec 2022 11:37:02 +0000
Received: from e14aaa33c6ad.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FDCFAE6D-6740-4074-90BE-61B9A47F457E.1; 
 Wed, 14 Dec 2022 11:36:55 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e14aaa33c6ad.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 14 Dec 2022 11:36:55 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AS8PR08MB9454.eurprd08.prod.outlook.com (2603:10a6:20b:5ee::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.10; Wed, 14 Dec
 2022 11:36:47 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5924.011; Wed, 14 Dec 2022
 11:36:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1e0f1ba-7ba3-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YhpfXd8LVh0HhvYEWzdU5VwFs1BNznNeFJUckR9KOhY=;
 b=xOyc7xXsL9Y/yz8pjLpO8BwczuDZFIOO6Hxzba8Bu8inGosGMRYm7aimUUZwjg+qGGrA5IGe1p+T4gCtzDRLqcHqzsULRkCdVYCi+Gp/rN9ns3yL5QGs884SqktQPdn/qU/a+OuPv3jY1bIKTvv3wuWAO+duRgwzoyzpr3OYo3k=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 65b4cc51230a9da6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ixuxKDCt6VKtHIAfeSETJB+deNlvPmqCSlJXkdehBTXF+xcvAv80LGiMyuyYBB/B/PYtI+28qy57OdNLqxua0ZQH2N51mMlz2pbBj/61CBm5TRRv+xeYwAatKiTJrmSZoLnWWycicdP9CiFFxd9zenGC8BGuRoDZvX/iCPBqeVbmBdtX3h3A4Xp6o7ZhyAHIQZqMoWr6DCnLvgVJUDQiLP5dlgxzdtvFHNFfU4lDu31odaB2ZeIHfUgGqsd+ARm3C5HuOilYdGc9TRJRU6G1797pBKWvqO5gZfRPvBX5EaFv7QGf6X6k59RTMT5a0tg9xXBFsi7+8Uv0DvZIehiFHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YhpfXd8LVh0HhvYEWzdU5VwFs1BNznNeFJUckR9KOhY=;
 b=Ns5lRumGWTonyu7/MReAg+hM8Fe6itx8AHyHDfxb4nvDu3xQ1BcyUg3sPIgF8iGp9atmAE0jb6VskF0PTeOYwAieXtofKqNOsz7oDYz7j8HqvkaYIzYt04joL/6Ol3yHenr8IjHFFuGnRqDhFd8Jzxz+iQnLiai2huEWt/+6/J1Og4qX7OIGyogU603pV5Z6l/1Kf+5yFrmBgDsk+NbtFrgZbfAuI5mYw6xIFFpEf3NSWluJqFRxLMg2REJL/LRHtrAPwqK7ZfaofYYH7N56q+MW0Tqkr1f2Ze3DDkiBm7NsmxUSEWGcqJsU3nqfCaNKPPkChSUon4weQPY/GoLcig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YhpfXd8LVh0HhvYEWzdU5VwFs1BNznNeFJUckR9KOhY=;
 b=xOyc7xXsL9Y/yz8pjLpO8BwczuDZFIOO6Hxzba8Bu8inGosGMRYm7aimUUZwjg+qGGrA5IGe1p+T4gCtzDRLqcHqzsULRkCdVYCi+Gp/rN9ns3yL5QGs884SqktQPdn/qU/a+OuPv3jY1bIKTvv3wuWAO+duRgwzoyzpr3OYo3k=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
CC: Xen developer discussion <xen-devel@lists.xenproject.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2] xen/arm: smmuv3: mark arm_smmu_disable_pasid
 __maybe_unused
Thread-Topic: [PATCH v2] xen/arm: smmuv3: mark arm_smmu_disable_pasid
 __maybe_unused
Thread-Index: AQHZDx9yw/wEVo2DeEWwDI7Q4pTE1a5tQmYA
Date: Wed, 14 Dec 2022 11:36:47 +0000
Message-ID: <6CB8AAAA-A653-459C-9493-2586AF057D99@arm.com>
References: <20221213181855.81713-1-stewart.hildebrand@amd.com>
In-Reply-To: <20221213181855.81713-1-stewart.hildebrand@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7158:EE_|AS8PR08MB9454:EE_|DBAEUR03FT057:EE_|DB9PR08MB9851:EE_
X-MS-Office365-Filtering-Correlation-Id: 103fd38c-e3d0-44c1-b915-08daddc784c7
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 KYAJ+bzD3yLSE7AKGp/jC2Z9bcMx9Xt+7I8X87m/5xaqdU0gA/cb07LF8ahPhqs7oAA6m7UPwKxStvzmO6jHUrk8N/PugbvDQdesyEo1qcVBFfEWHl5mJsWJot7KbtMJo8sJSkQMI3fAoIHeKvMwPy+dcnpCpliuCq1oHYgBz3DHE9GlBOfgzlpze4bxB3TxUzzQJKnjfB69k7q7Z+j8rKsWdeewbOGTTI2O0p7B+XmnJqxEa+OcJ98QF30oegTi34D9grP+s+wN6HAR9WD7pVGYShUBSD5xD73fzYFEVifwKwyMZnA/0a9qvyIFE3v9V1suHZeEvWt3X2DLjnSx6bf6D6KKBuMdy5JtgcG+qK2PN4NZGGV8jppoCaAB/IS8w/pJe/MI5vKwNzvlRSo5T556TpmcFs/EFOUm3lWMguoDdLopxI8Y3M1JKGEPndHgO8sWGLTHqnbUf31wkWc4SSbPijmq3JHVZbCK39KIhvBX6FLLqxNuopTUSUAOPtyTxDsoWf5syLO2hLchTcYoloXirugFpqQtSBq9A7M5LOJgdjSEsRxOYB5yPhH3BAtJoRLwBZm8Z/xvtdrJ2qREudTPo9FtnVQbjBkJsCJ/PogqGxr6Re0tw5uG81Iat9wfoJHah8/eUGoU5+K5AzOFWogs9yXuV6HUUgfwFfAvN+kJuppJlwG8fCrk/LAyQ0FTsWlf/6QvYGRfIIwkxBic0e0jbfPpm1DpUtEwjuHKlmc=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(396003)(136003)(376002)(366004)(451199015)(91956017)(26005)(6486002)(478600001)(53546011)(6512007)(186003)(6506007)(316002)(6916009)(122000001)(36756003)(71200400001)(86362001)(2616005)(54906003)(38070700005)(38100700002)(33656002)(5660300002)(2906002)(41300700001)(8936002)(4744005)(66556008)(66946007)(66476007)(4326008)(66446008)(76116006)(8676002)(64756008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <0E2A4E2218B9E64B8489EDAAD311C2C1@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9454
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT057.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f9133223-7e6e-4e2c-4f90-08daddc77bd9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hQNB6+LhQzCXqoCVw4zCZyaEOHlOWM/zX1X6yW41E4GKYHn8l9qkeDCN4e2lixTMqIGduRQbOwGDZt9YJ2+CaqTBxiOWA4rQMJUuNGx37ncjBci/YXS5GOcxny9LSrewEFiGryagpzx3iAYzm6ToKTnQRV6Ysx0xqMWmcev8BOtJb5PhLLZ//eULtPiDYtJli2y9Ro+/gJbt+YnD/fTAaqGTI26Hnh8xQPhbggEtmgHYPcVLeoghdOPqjnNVGgmoib4r04oBTFwU0HVcWs3KBZV+wC/MxmtQuUpbRVEFE4XoFQtzBtT5HyiOfdQF+1avfFM4dyi1fUPG7N7DC0AJOEvTMYXIdBSZgO21Or9lTfQpecvo7FZ/0C8RBvevnnBg63Ik7cTkmiatXO+jfNh3tu0Q68wvWjOWRRw1CawlF4Qik6ghoKxhNW0f6NCc0MiVwF7JqFZFZCDHsobAt3MawKKW/j6wDKSKKAXv82aMVgvXaYskPqU0lAfDP2oGMIwXRnXQP05hGESIlgrKKDrjJfjhOLK56RLPnxeub+6P5IiJKsAmMLuX+9z+nA3oY/5+j0uogaw65e8ScYsuVvlGbbJi0ctx1l9fb6FmEovndu35W2wqxz+iN/v8vdSq7x45iK2tCbGzLtJgvmUacHY5Uc5faxAvrrde3byaR10XNe8znQ6iVvhThNWJXTRsqEQTwgVZtwle/RzknNEWFwDxvg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(346002)(39860400002)(136003)(451199015)(40470700004)(36840700001)(46966006)(6862004)(8936002)(5660300002)(4744005)(41300700001)(2906002)(36756003)(36860700001)(6486002)(107886003)(70206006)(54906003)(316002)(33656002)(4326008)(8676002)(70586007)(478600001)(336012)(86362001)(47076005)(6512007)(53546011)(6506007)(186003)(26005)(40460700003)(2616005)(82740400003)(81166007)(82310400005)(40480700001)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 11:37:02.2258
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 103fd38c-e3d0-44c1-b915-08daddc784c7
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT057.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9851

Hi Stewart,

> On 13 Dec 2022, at 6:18 pm, Stewart Hildebrand <stewart.hildebrand@amd.co=
m> wrote:
>=20
> When building with clang 12 and CONFIG_ARM_SMMU_V3=3Dy, we observe the
> following build error:
>=20
> drivers/passthrough/arm/smmu-v3.c:1408:20: error: unused function 'arm_sm=
mu_disable_pasid' [-Werror,-Wunused-function]
> static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master)=
 { }
>                   ^
>=20
> arm_smmu_disable_pasid is not currently called from anywhere in Xen, but
> it is inside a section of code guarded by CONFIG_PCI_ATS, which may be
> helpful in the future if the PASID feature is to be implemented. Add the
> attribute __maybe_unused to the function.
>=20
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

Reviewed-by: Rahul Singh <rahul.singh@arm.com>

Regards,
Rahul
 =


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 11:38:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 11:38:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462142.720319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Q5Q-00076d-R6; Wed, 14 Dec 2022 11:38:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462142.720319; Wed, 14 Dec 2022 11:38:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Q5Q-00076W-Nx; Wed, 14 Dec 2022 11:38:08 +0000
Received: by outflank-mailman (input) for mailman id 462142;
 Wed, 14 Dec 2022 11:38:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=H8nZ=4M=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p5Q5P-00076J-0n
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 11:38:07 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c6760706-7ba3-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 12:38:06 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 8BD921FF05;
 Wed, 14 Dec 2022 11:38:05 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 4C69D138F6;
 Wed, 14 Dec 2022 11:38:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id xeIREZ21mWO/RwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 14 Dec 2022 11:38:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6760706-7ba3-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671017885; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=4kJHOoA2MomV4EuPcRpBb9reZiDh6rY4+5RNbO7b728=;
	b=XjVtK/zKVl5e8yl1fMyZX8WMPh0x8QSkCMKO88q99y6jM/U8C6nUURuzNld2bH0cHN9lG7
	38I2wAN/6Lc1HqSJ/YVVslU6k2iRDtN61HEbNYLXa5b/2DHuH/vriYxaNLp+G5PgzTkT3C
	yZ5fGjPgddExeGSk+7pu8lx12j+2ezA=
Message-ID: <359c146a-ab34-9a0a-ee1b-9cc166fcc83d@suse.com>
Date: Wed, 14 Dec 2022 12:38:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 2/3] xen/spinlock: split recursive spinlocks from
 normal ones
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20220910154959.15971-1-jgross@suse.com>
 <20220910154959.15971-3-jgross@suse.com>
 <71281857-7387-afc1-f9b0-e076e4f076a8@suse.com>
 <a6aadbc6-e34e-43db-26e5-5379ce2d88d3@suse.com>
 <ca86527a-94f6-a42e-4dbc-ed9134cec31b@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <ca86527a-94f6-a42e-4dbc-ed9134cec31b@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Q8uEK9yNpgQX8xKERkwkdiaN"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Q8uEK9yNpgQX8xKERkwkdiaN
Content-Type: multipart/mixed; boundary="------------yjqBUejQ4EyVpiD1Bz7O3kuT";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Message-ID: <359c146a-ab34-9a0a-ee1b-9cc166fcc83d@suse.com>
Subject: Re: [RFC PATCH 2/3] xen/spinlock: split recursive spinlocks from
 normal ones
References: <20220910154959.15971-1-jgross@suse.com>
 <20220910154959.15971-3-jgross@suse.com>
 <71281857-7387-afc1-f9b0-e076e4f076a8@suse.com>
 <a6aadbc6-e34e-43db-26e5-5379ce2d88d3@suse.com>
 <ca86527a-94f6-a42e-4dbc-ed9134cec31b@suse.com>
In-Reply-To: <ca86527a-94f6-a42e-4dbc-ed9134cec31b@suse.com>

--------------yjqBUejQ4EyVpiD1Bz7O3kuT
Content-Type: multipart/mixed; boundary="------------mjrR1drdHDF0t2e9nfZz0G4D"

--------------mjrR1drdHDF0t2e9nfZz0G4D
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTQuMTIuMjIgMTI6MjksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNC4xMi4yMDIy
IDEyOjEwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMTQuMTIuMjIgMTE6MzksIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDEwLjA5LjIwMjIgMTc6NDksIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IC0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcG9kLmMNCj4+Pj4g
KysrIGIveGVuL2FyY2gveDg2L21tL3AybS1wb2QuYw0KPj4+PiBAQCAtMzk3LDcgKzM5Nyw3
IEBAIGludCBwMm1fcG9kX2VtcHR5X2NhY2hlKHN0cnVjdCBkb21haW4gKmQpDQo+Pj4+ICAg
IA0KPj4+PiAgICAgICAgLyogQWZ0ZXIgdGhpcyBiYXJyaWVyIG5vIG5ldyBQb0QgYWN0aXZp
dGllcyBjYW4gaGFwcGVuLiAqLw0KPj4+PiAgICAgICAgQlVHX09OKCFkLT5pc19keWluZyk7
DQo+Pj4+IC0gICAgc3Bpbl9iYXJyaWVyKCZwMm0tPnBvZC5sb2NrLmxvY2spOw0KPj4+PiAr
ICAgIHNwaW5fYmFycmllcigmcDJtLT5wb2QubG9jay5sb2NrLmxvY2spOw0KPj4+DQo+Pj4g
VGhpcyBpcyBnZXR0aW5nIHVud2llbGR5IGFzIHdlbGwsIGFuZCAuLi4NCj4+Pg0KPj4+PiBA
QCAtMTYwLDIxICsxNjUsMzAgQEAgdHlwZWRlZiB1bmlvbiB7DQo+Pj4+ICAgIA0KPj4+PiAg
ICB0eXBlZGVmIHN0cnVjdCBzcGlubG9jayB7DQo+Pj4+ICAgICAgICBzcGlubG9ja190aWNr
ZXRzX3QgdGlja2V0czsNCj4+Pj4gLSAgICB1MTYgcmVjdXJzZV9jcHU6U1BJTkxPQ0tfQ1BV
X0JJVFM7DQo+Pj4+IC0jZGVmaW5lIFNQSU5MT0NLX05PX0NQVSAgICAgICAgKCgxdSA8PCBT
UElOTE9DS19DUFVfQklUUykgLSAxKQ0KPj4+PiAtI2RlZmluZSBTUElOTE9DS19SRUNVUlNF
X0JJVFMgICgxNiAtIFNQSU5MT0NLX0NQVV9CSVRTKQ0KPj4+PiAtICAgIHUxNiByZWN1cnNl
X2NudDpTUElOTE9DS19SRUNVUlNFX0JJVFM7DQo+Pj4+IC0jZGVmaW5lIFNQSU5MT0NLX01B
WF9SRUNVUlNFICAgKCgxdSA8PCBTUElOTE9DS19SRUNVUlNFX0JJVFMpIC0gMSkNCj4+Pj4g
ICAgICAgIHVuaW9uIGxvY2tfZGVidWcgZGVidWc7DQo+Pj4+ICAgICNpZmRlZiBDT05GSUdf
REVCVUdfTE9DS19QUk9GSUxFDQo+Pj4+ICAgICAgICBzdHJ1Y3QgbG9ja19wcm9maWxlICpw
cm9maWxlOw0KPj4+PiAgICAjZW5kaWYNCj4+Pj4gICAgfSBzcGlubG9ja190Ow0KPj4+PiAg
ICANCj4+Pj4gK3N0cnVjdCBzcGlubG9ja19yZWN1cnNpdmUgew0KPj4+PiArICAgIHN0cnVj
dCBzcGlubG9jayBsb2NrOw0KPj4+PiArICAgIHUxNiByZWN1cnNlX2NwdTpTUElOTE9DS19D
UFVfQklUUzsNCj4+Pj4gKyNkZWZpbmUgU1BJTkxPQ0tfTk9fQ1BVICAgICAgICAoKDF1IDw8
IFNQSU5MT0NLX0NQVV9CSVRTKSAtIDEpDQo+Pj4+ICsjZGVmaW5lIFNQSU5MT0NLX1JFQ1VS
U0VfQklUUyAgKDE2IC0gU1BJTkxPQ0tfQ1BVX0JJVFMpDQo+Pj4+ICsgICAgdTE2IHJlY3Vy
c2VfY250OlNQSU5MT0NLX1JFQ1VSU0VfQklUUzsNCj4+Pj4gKyNkZWZpbmUgU1BJTkxPQ0tf
TUFYX1JFQ1VSU0UgICAoKDF1IDw8IFNQSU5MT0NLX1JFQ1VSU0VfQklUUykgLSAxKQ0KPj4+
PiArfTsNCj4+Pg0KPj4+IC4uLiBJJ20gbm90IHN1cmUgYW55d2F5IGl0J3MgYSBnb29kIGlk
ZWEgdG8gZW1iZWQgc3BpbmxvY2tfdCBpbnNpZGUgdGhlDQo+Pj4gbmV3IHN0cnVjdC4gSSdk
IHByZWZlciBpZiBub24tb3B0aW9uYWwgZmllbGRzIHdlcmUgYWx3YXlzIGF0IHRoZSBzYW1l
DQo+Pj4gcG9zaXRpb24sIGFuZCB0aGVyZSdzIG5vdCBnb2luZyB0byBiZSB0aGF0IG11Y2gg
ZHVwbGljYXRpb24gaWYgd2Ugd2VudA0KPj4+IHdpdGgNCj4+Pg0KPj4+IHR5cGVkZWYgc3Ry
dWN0IHNwaW5sb2NrIHsNCj4+PiAgICAgICBzcGlubG9ja190aWNrZXRzX3QgdGlja2V0czsN
Cj4+PiAgICAgICB1bmlvbiBsb2NrX2RlYnVnIGRlYnVnOw0KPj4+ICNpZmRlZiBDT05GSUdf
REVCVUdfTE9DS19QUk9GSUxFDQo+Pj4gICAgICAgc3RydWN0IGxvY2tfcHJvZmlsZSAqcHJv
ZmlsZTsNCj4+PiAjZW5kaWYNCj4+PiB9IHNwaW5sb2NrX3Q7DQo+Pj4NCj4+PiB0eXBlZGVm
IHN0cnVjdCByc3BpbmxvY2sgew0KPj4+ICAgICAgIHNwaW5sb2NrX3RpY2tldHNfdCB0aWNr
ZXRzOw0KPj4+ICAgICAgIHUxNiByZWN1cnNlX2NwdTpTUElOTE9DS19DUFVfQklUUzsNCj4+
PiAjZGVmaW5lIFNQSU5MT0NLX05PX0NQVSAgICAgICAgKCgxdSA8PCBTUElOTE9DS19DUFVf
QklUUykgLSAxKQ0KPj4+ICNkZWZpbmUgU1BJTkxPQ0tfUkVDVVJTRV9CSVRTICAoMTYgLSBT
UElOTE9DS19DUFVfQklUUykNCj4+PiAgICAgICB1MTYgcmVjdXJzZV9jbnQ6U1BJTkxPQ0tf
UkVDVVJTRV9CSVRTOw0KPj4+ICNkZWZpbmUgU1BJTkxPQ0tfTUFYX1JFQ1VSU0UgICAoKDF1
IDw8IFNQSU5MT0NLX1JFQ1VSU0VfQklUUykgLSAxKQ0KPj4+ICAgICAgIHVuaW9uIGxvY2tf
ZGVidWcgZGVidWc7DQo+Pj4gI2lmZGVmIENPTkZJR19ERUJVR19MT0NLX1BST0ZJTEUNCj4+
PiAgICAgICBzdHJ1Y3QgbG9ja19wcm9maWxlICpwcm9maWxlOw0KPj4+ICNlbmRpZg0KPj4+
IH0gcnNwaW5sb2NrX3Q7DQo+Pj4NCj4+PiBUaGlzIHdvdWxkIGFsc28gZWxpbWluYXRlIHRo
ZSBzaXplIGluY3JlYXNlIG9mIHJlY3Vyc2l2ZSBsb2NrcyBpbg0KPj4+IGRlYnVnIGJ1aWxk
cy4gQW5kIGZ1bmN0aW9ucyBsaWtlIHNwaW5fYmFycmllcigpIHRoZW4gYWxzbyB3b3VsZA0K
Pj4+IChoYXZlIHRvKSBwcm9wZXJseSBpbmRpY2F0ZSB3aGF0IGtpbmQgb2YgbG9jayB0aGV5
IGFjdCBvbi4NCj4+DQo+PiBZb3UgYXJlIGF3YXJlIHRoYXQgdGhpcyB3b3VsZCByZXF1aXJl
IHRvIGR1cGxpY2F0ZSBhbGwgdGhlIHNwaW5sb2NrDQo+PiBmdW5jdGlvbnMgZm9yIHRoZSBy
ZWN1cnNpdmUgc3BpbmxvY2tzPw0KPiANCj4gV2VsbCwgdG8gYmUgaG9uZXN0IEkgZGlkbid0
IHJlYWxseSBjb25zaWRlciB0aGlzIGFzcGVjdCwgYnV0IEkgdGhpbmsNCj4gdGhhdCdzIGEg
cmVhc29uYWJsZSBwcmljZSB0byBwYXkgKHdpdGggc29tZSBkZS1kdXBsaWNhdGlvbiBwb3Rl
bnRpYWwNCj4gaWYgd2Ugd2FudGVkIHRvKSwgcHJvdmlkZWQgd2Ugd2FudCB0byBnbyB0aGlz
IHJvdXRlIGluIHRoZSBmaXJzdCBwbGFjZS4NCg0KT2theS4NCg0KPiBUaGUgbGF0ZXN0IHdp
dGggdGhpcyBhc3BlY3QgaW4gbWluZCBJIHdvbmRlciB3aGV0aGVyIHdlIGFyZW4ndCBiZXR0
ZXINCj4gb2ZmIHdpdGggdGhlIGN1cnJlbnQgc3RhdGUgKHRoZSBtb3JlIHRoYXQgaWlyYyBB
bmRyZXcgdGhpbmtzIHRoYXQgd2UNCj4gc2hvdWxkIGdldCByaWQgb2YgcmVjdXJzaXZlIGxv
Y2tpbmcgYWx0b2dldGhlcikuDQoNClRoZSBxdWVzdGlvbiBpcyBob3cgKGFuZCB3aGVuKSB0
byByZWFjaCB0aGF0IGdvYWwuDQoNCkluIHRoZSBlbmQgdGhpcyB3YXMgdGhlIHJlYXNvbiB0
byBzZW5kIHRoZSBzZXJpZXMgYXMgUkZDIGZpcnN0Lg0KDQpJJ20gd2FpdGluZyB3aXRoIGFk
ZHJlc3NpbmcgeW91ciBjb21tZW50cyB1bnRpbCB0aGVyZSBpcyBjb25zZW5zdXMNCnRoYXQg
dGhlIHdob2xlIGlkZWEgaXMgcmVhbGx5IHdvcnRoIHRvIGJlIHB1cnN1ZWQuDQoNCg0KSnVl
cmdlbg0K
--------------mjrR1drdHDF0t2e9nfZz0G4D
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------mjrR1drdHDF0t2e9nfZz0G4D--

--------------yjqBUejQ4EyVpiD1Bz7O3kuT--

--------------Q8uEK9yNpgQX8xKERkwkdiaN
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOZtZwFAwAAAAAACgkQsN6d1ii/Ey/N
2wf/U/q3+0T+llgvSl3hvV60Ms3R/R6JlI2SmfZO3QP+Wr19L2+aMoRyCYJSMgdq+fL9m+f1HOTa
Z6ZiQgaaZOPJXsSImG7ExPucTLeDMD4QiUdN4j4PBALfC557ce2Cc3n3gmCljb7y4MC6BIg6Bcxn
eCV6txxTz12FxaAFo9PcXSpsvHxRQZOpvBAwwOYYMTDcx2ZXrpeFJOC1m5/cY3tw03ecr2UYa4gE
O6dvhtxFu0VKdYe/VieFLq+9TIkJ7N44nQSyMRunU+3FvCnqVH90whhGCrAmNwg02wSlceVegjKc
icgJtUQ12zMtsg89npz5NT11C7UCXDpU54sImzhnnA==
=JIiu
-----END PGP SIGNATURE-----

--------------Q8uEK9yNpgQX8xKERkwkdiaN--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 11:38:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 11:38:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462145.720330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Q5j-0007Za-7U; Wed, 14 Dec 2022 11:38:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462145.720330; Wed, 14 Dec 2022 11:38:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Q5j-0007ZR-4D; Wed, 14 Dec 2022 11:38:27 +0000
Received: by outflank-mailman (input) for mailman id 462145;
 Wed, 14 Dec 2022 11:38:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5Q5h-00076G-O2
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 11:38:25 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on2043.outbound.protection.outlook.com [40.107.15.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d1ad208a-7ba3-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 12:38:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8684.eurprd04.prod.outlook.com (2603:10a6:20b:43f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.14; Wed, 14 Dec
 2022 11:38:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 11:38:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1ad208a-7ba3-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P4Mch/R7mxTNxz6b9oVQKETC5oBszEvkgRd68YZ4nSga0ucQbCN1P/0buCb9R31JPFUMuER0XcByBbfoqq+zScHn683cGnEHsAWVqszyEPrQbk/PiOTbxss7HnurFyh0i4gD/G4WnD0C2jtKxnXp/bPTtNVRO57r8L5OlujpDBvyfTmUkEy5POBFUkQHcnsrEvrgAfR2/7CM6nDa3dOr7klVXYwgaKLURly9nNAfLbKcik7CnfO009Go88OX3pMh8/B2kp2wmPaFknJYMX+62QsitEZERiD9NmSUtbIkMnqgkmhziYwehkufUhcHJuxX8OLQNY7AiX+hjFutRsTXSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oucn5LEDRW60YoGzgSCT9hN8TSmGKPLzZU2HJpdsSEk=;
 b=ObM+w7/WVJHaqmyy8P2Rzmr9eRUJ0MVLS9iXJy596AyTIx5Usmr75W+TmXDrQvHoTM7wg0epk5xUHIX1gexflKGwC7LtvrANY/JNYsAWofR4QocfYWnEdSGmi1thYfsfHi7DJLusXhggSghZ26YIyKRAX67pWbsx52gqz+ONbV5/8uSJSe1PCECcbedL30+tOEFm1/B9TowpG1bBuzpNCS18ISJnAiUR3aCNhJsk1nc2mo76lWd0gmbIHBSAFxs6oejvAwjgUFyknR8VyiZNH6Hj8ZbqPou/Y+RsK2cAi3NYqgchZ0tVpZeo85cqb2kboDCUUQtct16P/iDCNnC0Nw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oucn5LEDRW60YoGzgSCT9hN8TSmGKPLzZU2HJpdsSEk=;
 b=mFmVEJzMBUpsXF800CjOIMtC8yqjwX9uPAymWvjm4/nadbEqw+FRtNSfI+XHLOZYIW31IGApEuzKk8mxX6LOiD7HQ359j11NA5ioNI17UdeaXFXwXnH5FEVbatB4Hrc4e6TQEmirw8v+tvHBC/UFLjGWIaG6Fh97cGceZFjtsznMwVWoXCIjRw9A8kvNsyjlcXMDHL2/ota7csfzFrUgE0koah1AYBs2sqVxQbabwa/jykBk0SQNfaA4jrbgJgjyDx555vuxEQS7IZJ85SNRa4Hld5rGp416Q9CsYwgDe51PzZUziEyjZVj5Ji1prXkIxYjqCZFRvUpJHEjWYKq/ng==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7a2a9b0a-7227-f4ce-ff79-23aac151b895@suse.com>
Date: Wed, 14 Dec 2022 12:38:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2 07/14] x86: Replace PAT_* with X86_MT_*
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
 <7e961ee6d14f52182b023369b770d7831e006783.1670948141.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7e961ee6d14f52182b023369b770d7831e006783.1670948141.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0081.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8684:EE_
X-MS-Office365-Filtering-Correlation-Id: c77caea1-4787-4f4e-99f9-08daddc7b4d9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NUjME6fviIovNu8bgPs/3EvOoZc/Nwla/ArVZERXi6ogMBcGfQffG645KJgxpecVg1lQMLY+RmZLtYRNQUOIb7yaUQsOCMSbARNSqw6ZZ7taIMyohTTE1BoYsB/ZOEC/lTB0PDXcu8d0Ypyxcm6DKrC4OSVhdl41berI7JLniPagOlsHqAe3ZU9P6Z8LX3+jf9XxAhGk3oWxkzMN5iqcfsNmxlGWmNaThQ3xSVQzygdtuDnt+ykKQBPkhhjxWc8zBgo/YF9vwXXdFAQFjT1jrNEfOiwUqXl6il7XgzHrv2WTtiNlcuYD7Q6DclgBqGzbhvPkobzmYfKYtK2PJYEhACdL/LoHf1c1E+wCdFk5ZZC3cM5yq0lPDzik5qnetb7XuBeeX/uAE/D/V5aglIfKpbM4VWgiftR/xt+utYtXU9i+HnpgBKRHMYnnlRN5VFcV81XYbxtdzP5doo1YfSFrOSPKrMPZEaNNY6D7HyrXcFSfqP7LYD8NhOWpdymr+6r9vX/B32MbY7Qxz9AAmfJbxDKhnwO2X9yV18BVqTk34NgrCtM2XJ8gw5LhyeU7UM61IFXMn/64hc6zFeZzTLwLQzYFCb336WLnBRbQkZeISvAYMv3a5b7ykIKCdJAcDx/F7KyB5DgjKm8l9lXpdieYC5kQYHWYy4o7xBhOU4IkuuoX8XEljcBiBMGWqGnuZEqEK/OCIIVhFIvS2VdeJtNQ9dLkJLTug1mhblgLpLnzvmI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(136003)(396003)(376002)(346002)(451199015)(6486002)(478600001)(54906003)(6916009)(2906002)(316002)(36756003)(38100700002)(186003)(31696002)(6506007)(26005)(6512007)(2616005)(86362001)(53546011)(5660300002)(31686004)(8676002)(66946007)(41300700001)(4326008)(66476007)(66556008)(8936002)(7416002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?djI1MUl5c2FCcTJRL2dEc2RndEpwc2V1bnR2cElGcVpORlRSc1p0VVFsYUZ4?=
 =?utf-8?B?djFpZXU0TU1rUldEMG5vQVUvSzRTNW9GSmFHZ1JLZXlqOVVMK0dFcmZEei9x?=
 =?utf-8?B?V2c1LzEydVZlcDhUS1haNHozVEJ5ZTFMNXVCbHIzWk1rd3E4RU4zdE5Hcmdq?=
 =?utf-8?B?T1dMdE5mMlZTZHZDK1FhSjQxYTc4NWhuQTZ6RlpEM3BveFRsdEpxNkd6bmh5?=
 =?utf-8?B?NlA0a2JINyt0djI1L3orTlY1Yms0WmtmMjc5SDNqb1lTci9lOE5TSC9oUnFn?=
 =?utf-8?B?c01XQWxuNGFjaldGQkhNV005cVlGaGRJU2JLcjJpL29KOFkxa1Q0RmxHVC8y?=
 =?utf-8?B?NU9IQklmSkljT0xxRUR4Nm1iYkpQSVlpN0tOQjBUWkFaL3U0bHRyb25mczlD?=
 =?utf-8?B?UURmRksrS01oZTRVTHFvcHhpRVUvOGJWMExXZWtOTXFuTXFmd0hjMHFuYzQy?=
 =?utf-8?B?UGxzdzlFd04rbnYxMDRQR0pBUUNYampqUHVsdjJqOTlLUkpPMmxGcVRobkpF?=
 =?utf-8?B?STRudFdYci9WcWliczdiUmFLT1o0cC9nU3JrbFYzUFVKOE9MWEtDVVFXUkV1?=
 =?utf-8?B?RThGb09uVXg5QTc2Wmc1MTREOW53UVFqTUUwZHd6cVpzN3diTEpGSER4STI3?=
 =?utf-8?B?V1h4UGJTYUF3a2hpdVdkUVQ0azB5WGdLU3lxMG9SR1FXb0NMdUVGWlZQZytK?=
 =?utf-8?B?UW4ySmpVb09xTlhyY0F2U3htRTlzSlduVHFCSGpPdzlmY2ZBOWp5aFlrZHVu?=
 =?utf-8?B?WE96d3NXSWJ5ekYzTWd6THV4cUMyMmtTK0x2TWRUYmIyRlMzNDQrQVppRTRS?=
 =?utf-8?B?a3pxQnF1T1V4dVgrNDVkSktKNUc0L1FLcVZ6ckx6dGpnN3QzTXFjTDJxNzR4?=
 =?utf-8?B?a1ZsL2RxdmVGdVlHLzlKNlcvTEF3TzhxVEJWUXdRNS9KMVg2VFdtTEx0bW1C?=
 =?utf-8?B?VnNaWVBkWVhodGIyaGVHMFFwRURZWGo4bFp5YTZ6OW96cDVKT3JqM3F1aWFJ?=
 =?utf-8?B?M3QrNERzbldhNDExOTkraUc0SHdHS2l1aVY1RG9jTGJVVS93UHlKWGZQQmlz?=
 =?utf-8?B?ZHp0SnYyZ0Z6VVREdmVBdGs0K1owcHlLVlR4a3dZSTZ4MlpWY0htRGNWSGZR?=
 =?utf-8?B?VnBBWTJMdlY3NVNPTWtscUVpNnFCQ1hJTHJyMnI4M0R2Ny8wM2pjQUNYQ0Iv?=
 =?utf-8?B?ejZHNXFKU01pMEhOamxDU2RWcGVMYzNRRmUydVZ5czJTVm04VHNWQWVKdkFI?=
 =?utf-8?B?WENzaFNrWFdySDlRdjFUNStnNldra3M0UWxyOWdIMXRBS1FSM2RZbEQyVjc2?=
 =?utf-8?B?dldMbVFNSWNsd3U3UzVJVEFmOHRVTGY3RmExM1NWNTlvUGR0SlVQSjNqOVRK?=
 =?utf-8?B?MVdqeWhSLzQvZmVyZTJ4Sy9kK25ENi8za3BHaitkSDY4K1R1aEJYVTU2OVZT?=
 =?utf-8?B?U3l2M3lWMGRhUGN2bGZmS1liT1RzMjFPWURmVEFHbUtsQWhSRHNIbFR2cGhk?=
 =?utf-8?B?TjVXZC9CMnB2amJuci9WTjE0Qm9oZlkxWExUS3RHY045VkdNR2E5UTRpUG00?=
 =?utf-8?B?elBVVHdHZHc4cEpaV1IwY1ptYkRxRXg3alpyZEpWcEdpL3Z2aU16RlVXRjFR?=
 =?utf-8?B?QVYzNkVIUmpRUlUycGxXeUt1N3JyZ1VrcUcyWDhmR0dDRkl1OUtGR1pvelVx?=
 =?utf-8?B?eHk1Y2E0Z1F4SjBmeDNiWTZveE9Lc09zL2tldTAzU2ppUVNZVzJLUDRzeEQx?=
 =?utf-8?B?OTFzTjBVbHlLc2JXeE1tMHc2NG0wanAwakdsem1uMERhY3JWYTJzRkRKM1ll?=
 =?utf-8?B?QU0xTmZwei9jZnNMc3VCSlZIcStjelErdWhabytNVGV3R3IxNVRTOTVHZy9B?=
 =?utf-8?B?UXIrTDEzVlpqaHdadGx4cHY1SU9yaWFaQjdsNDlzdm5sRTByMkhhekM2ZUZ4?=
 =?utf-8?B?Wm1nby9oRlhzMXZ2dG1ZWnBya2VJN1VKSUpHRUkybnRBMlQ2QnhhS20wRXRV?=
 =?utf-8?B?K0t0T1BVYVBpVzdUckllRUtNa3ZoUGJSSlk3dWlpU3ZXZ0NSak5QaEt3L1Nu?=
 =?utf-8?B?bWpXZlJiZXhFVzRjMFg5bzQ4bmE5VGdHWEpPc0N4TW1YRkROYi8yYW83ZWdB?=
 =?utf-8?Q?UKoRUdyWMCNdFH23Pfs/L0Vrc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c77caea1-4787-4f4e-99f9-08daddc7b4d9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 11:38:22.9830
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ge/WwpqAbLog4JlTOA+eRv5u6DPRk3Wr5DnVzZ3+ZllVDFPjBEnnYE0mKQN07NIV7hSzge3A7N9MBPoafFA4vQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8684

On 13.12.2022 23:26, Demi Marie Obenour wrote:
> This allows eliminating the former.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with a couple of small remarks (some asking for minor adjustments):

> @@ -72,8 +72,8 @@ static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
>      };
>  
>  /* Lookup table for PAT entry of a given PAT value in host PAT. */
> -static uint8_t __read_mostly pat_entry_tbl[PAT_TYPE_NUMS] =
> -    { [0 ... PAT_TYPE_NUMS-1] = INVALID_MEM_TYPE };
> +static uint8_t __read_mostly pat_entry_tbl[X86_NUM_MT] =
> +    { [0 ... X86_NUM_MT-1] = INVALID_MEM_TYPE };

When touching code like this, please also correct style (here: missing
blanks around '-').

> @@ -145,14 +145,14 @@ int hvm_vcpu_cacheattr_init(struct vcpu *v)
>      m->mtrr_cap = (1u << 10) | (1u << 8) | num_var_ranges;
>  
>      v->arch.hvm.pat_cr =
> -        ((uint64_t)PAT_TYPE_WRBACK) |               /* PAT0: WB */
> -        ((uint64_t)PAT_TYPE_WRTHROUGH << 8) |       /* PAT1: WT */
> -        ((uint64_t)PAT_TYPE_UC_MINUS << 16) |       /* PAT2: UC- */
> -        ((uint64_t)PAT_TYPE_UNCACHABLE << 24) |     /* PAT3: UC */
> -        ((uint64_t)PAT_TYPE_WRBACK << 32) |         /* PAT4: WB */
> -        ((uint64_t)PAT_TYPE_WRTHROUGH << 40) |      /* PAT5: WT */
> -        ((uint64_t)PAT_TYPE_UC_MINUS << 48) |       /* PAT6: UC- */
> -        ((uint64_t)PAT_TYPE_UNCACHABLE << 56);      /* PAT7: UC */
> +        ((uint64_t)X86_MT_WB) |           /* PAT0: WB */
> +        ((uint64_t)X86_MT_WT << 8) |      /* PAT1: WT */
> +        ((uint64_t)X86_MT_UCM << 16) |    /* PAT2: UC- */
> +        ((uint64_t)X86_MT_UC << 24) |     /* PAT3: UC */
> +        ((uint64_t)X86_MT_WB << 32) |     /* PAT4: WB */
> +        ((uint64_t)X86_MT_WT << 40) |     /* PAT5: WT */
> +        ((uint64_t)X86_MT_UCM << 48) |    /* PAT6: UC- */
> +        ((uint64_t)X86_MT_UC << 56);      /* PAT7: UC */

As per my comment on the earlier patch the casts indeed want to stay, but
with how you had the earlier patch I wonder why you did keep them in this
version (and elsewhere below as well).

> @@ -356,7 +356,7 @@ uint32_t get_pat_flags(struct vcpu *v,
>       */
>      pat_entry_value = mtrr_epat_tbl[shadow_mtrr_type][guest_eff_mm_type];
>      /* If conflit occurs(e.g host MTRR is UC, guest memory type is
> -     * WB),set UC as effective memory. Here, returning PAT_TYPE_UNCACHABLE will
> +     * WB),set UC as effective memory. Here, returning X86_MT_UC will

Would you mind at least adding the missing blank after the comma while
you touch the line?

> --- a/xen/arch/x86/mm/p2m-ept.c
> +++ b/xen/arch/x86/mm/p2m-ept.c
> @@ -573,7 +573,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
>      if ( gmtrr_mtype >= 0 )
>      {
>          *ipat = true;
> -        return gmtrr_mtype != PAT_TYPE_UC_MINUS ? gmtrr_mtype
> +        return gmtrr_mtype != X86_MT_UCM ? gmtrr_mtype
>                                                  : MTRR_TYPE_UNCACHABLE;

Please adjust indentation on this line then as well.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 11:54:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 11:54:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462163.720344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5QLA-00025k-KO; Wed, 14 Dec 2022 11:54:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462163.720344; Wed, 14 Dec 2022 11:54:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5QLA-00025d-Hd; Wed, 14 Dec 2022 11:54:24 +0000
Received: by outflank-mailman (input) for mailman id 462163;
 Wed, 14 Dec 2022 11:54:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=dEbZ=4M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5QL9-00025V-OI
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 11:54:23 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on2088.outbound.protection.outlook.com [40.107.6.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0bbfea64-7ba6-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 12:54:21 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9701.eurprd04.prod.outlook.com (2603:10a6:10:300::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Wed, 14 Dec
 2022 11:54:19 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 11:54:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0bbfea64-7ba6-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F3GdCkrtDMcs9LUchMF3+0VnPydSYfi2vPpC+7/Pc0+foGlJqe6/HnoXecfE9oRdAoi+z3ErXIankJXscPc/3zteRzzJ6aTI2lpgNsS7Cd70XCLXCHdKoSUUdilyS+1UL/tqPcNiunSHG+JpmK+BlHzN8uv8ip1wNSYetpaSFHzEeGrnDjMGqxOcWb+/3duB8t/9OMFGHdP6cWiuHQvhp1W1+nh4Vx2v+JDNdWm7jMh2XrG3hNtcvpEAyXSHmxDeyEDl967uAML55I2DXqsZXV0uN8KtT3mMJWUIhrEHjktQObYRILMVWxdgevhBIoFa7QuUpc8DDY25HBfvGz49eA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Qdv8Na738mTutxaTQ2Oa+Hb/dUEQRhluANPt31YL9m8=;
 b=T8gEZWlCXGKV9wexlFaNIbbjp9p9721oZJDUTdZvqWA+qqOEc9+m5236jWHZuyiwLhVtZqfpaoJyOUtoBUPZuogXD11ol/Dy5yFz7fQ5bMyFk9wFBHDJ24PA5n0ZXRq2WsBurS1GKgLeiyyp6MJddJ76ctC1Cd5KVBkD6nJFC1YpbDqksxqEKuilhqUSLaM84Ml353mPRU0Xe3iET1PxQdwJVvWKzsXHocXi98rVsdNierzKyVPcxTYTtqXaZn2xghKdMOaXPlmimb09bpQyfwnAo3O7YJKBXAndP9U3sSbQZtmYAQ7UUpTPn8Xg4FGZC4Yn1+hYJ9tM2lfomDs2UA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Qdv8Na738mTutxaTQ2Oa+Hb/dUEQRhluANPt31YL9m8=;
 b=laFfJxH9A0icgef924Wa9foCloIi0zRgCuYmd4yBywMW+J9uOlfJmmuU1IteE1fWQUPdh/MyCAUDz7cxy6ePn1SAZgevGUH5/zJUK/6z2bZXEEP5LHeWwJ56nhjLUS85GpAyWGdQL5Irq0Y0Rvjxnpz8bmvGMeLOwV1qNzGquRwMxHpIQK44oWydEVjsJ+VJHY2Sg0T03NjmECwb1ZggbvnvBnu9q7xXWjgEFzQjSRj41yGINdqPrTz1QctxaexO7OeKik6g6ergfTIrMObWmRDgCjpeC0RHtcy2ftTKMktzfsKJgAWvnq7ZQlpfzAO6jYuWrayNndQ/xXtlmlddCw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <933cd359-7b79-0261-825c-2b5ca1c7a917@suse.com>
Date: Wed, 14 Dec 2022 12:54:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v2 08/14] x86: Replace MTRR_* constants with X86_MT_*
 constants
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <71482430c20a701b1d577e87dc72e7c2661e69de.1670948141.git.demi@invisiblethingslab.com>
 <fec68f62fcea8fe7f6cf6e7963ea4c6b30ea5166.1670948141.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <fec68f62fcea8fe7f6cf6e7963ea4c6b30ea5166.1670948141.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0155.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9701:EE_
X-MS-Office365-Filtering-Correlation-Id: 0bf517bc-54f9-424a-4c17-08daddc9eee0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DScNakBsFPDd8ImarjqlRLTiD8xT7z7NkYb14R+qAsMbBnedQMTh4o5+3Mcq5+ow1oQ5l4/OhM5nFYn+JvSYnn5z6h1/Fbttu3LRsAdvQUtgBqd9fKjYSgpD10VfNZDQBPGFB0Di8HgxuPjntboj+GOlxFqpuqn6jLpkzkgTlxOBiKJ1Nk2wJA70oLIVbwkCyMIFyJePynjfx/VH/8FdqeVN6wYCC7w/vNOf+MxeOaIN7WeRGS0z9Kk7jwxCzqU9ejZ0PD0pPxF2QRsfvU0g7s3cgJNlrkpPd7Pt4HDaZkFVQY188ZOwfjWkf95XEzssckUXnnrkbrDSjdKI6DYpbCs/CURc0hdBKfhYNCvoUIVtZ60VTmYfWL/7QkMhQa38jJ4oxsbD7BANgr8B6xrXUSFccuOmKuaRDhz8cya+moLghS2AgqEWa3QwDnuIIpTdFdTvqVJyIt5SJoLMjGyInAK3bVbdhNemy2hAyUVmpqcK1wJ4pxHc+gt5nYXJZ3JioelLvPKa/yikV5liTSdeR7clVQpmfFHrEjyDrof+MnhEuucJ5nGeRjYYVtln0DY55LBEH18jCudUsVKEhgEx4g9lLnYhyKmKs9e7tPbx/jdyEXMGUBYQCxMV/RV9jYvbT5UZzzGG3ylSzgORILhhF603kTA9VEfGDuz2EIJoqXfD8a/dwRdFI9OAJz5C7SV7+quPxrHAO/XgJ+PZEQsNAkoKWWKe73yB0zQTxD3ykms=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(396003)(136003)(346002)(376002)(451199015)(31686004)(2616005)(86362001)(31696002)(6486002)(54906003)(316002)(6916009)(36756003)(53546011)(6506007)(186003)(26005)(6512007)(38100700002)(8676002)(2906002)(7416002)(478600001)(5660300002)(66556008)(8936002)(66946007)(41300700001)(66476007)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z1RPUzJWUVFuTDBBVTVZK0FadHVQRm9hODRlcVhXTi9ocWxhY3V3TGdWUyt3?=
 =?utf-8?B?eFRVRjhtUnRmTzBMSmc2Rm1TNFBMOTJhQ2RPY0ZMK0s5MlVHY3JqdGFHNEJw?=
 =?utf-8?B?ZnNKOWtHbnl2b1R0RFdtZmNWWmd2Ny9Wcmt2b1NoVGcxY0lYUnlHRmw4Y2xP?=
 =?utf-8?B?VGg2NmVLTFQzbWozdkJtcStleXZmYVVndmFZWUVYUkQ1bVlzQ3FSZk1OeStL?=
 =?utf-8?B?RVN4cGk0VCtqWlV5MFNVaVNwZ1dOSkdrNVZJMzFLQ3ZVbyt5M2Jxb3NwZS9v?=
 =?utf-8?B?NHV2UjFXdkVraTNBWnhuZ3JKeVM2U085ckw4Yzg5S01jck1xYWozbGlQYk5X?=
 =?utf-8?B?UzVGOFJEcVlOSmdUNTVOMWxEbDV2bGR6ZWpUSEpleWd4V3JwakFydER1VFlB?=
 =?utf-8?B?YUd0YVVWYkVXYmZpQU9ZZkYyVDFCRklXLzVSUzFzaENEK09iRm5SSWZUM3VI?=
 =?utf-8?B?SGttZjhWMkxkMXVsak1vOWRSWWQ1M2dod0pIT3ByMzQ1eE14NzEza0VBOElN?=
 =?utf-8?B?c09nL2UzOTREdERqVnBaZ0FHWHZadnRjcmw4Y3prNElVWnJMSWVhNlh6NHNp?=
 =?utf-8?B?dy96UGozTC9VY1NGRk40Qkt6dU11SXVhR29vSnRCdVphSzdUdHZ3ZDNOdmlp?=
 =?utf-8?B?bC9ZaU5oRjJqbmNkNUR6emhFQWZkMzJOeFFPemFYL24xbDdYZ0liTmR4Y3FG?=
 =?utf-8?B?Tnc3bDRRS1JmQnkzaHRtNnpuNEVnM3d1OTMxZ0ZmQWlxQ3ZCNTFRc1VOL2Vj?=
 =?utf-8?B?N0VSaGxwampmMGxBcmRBK3ZZdmRWYTNkaFN2OWpFV0pCQkUwOEtXck9wNHJk?=
 =?utf-8?B?QUVLUlBHMGpLQnlidkVRbHdYK2JvVURXOHYzZ3Jqckw0QzRqQlVUVmFaQVNH?=
 =?utf-8?B?dmJMUEw1b0JES3NWTVo5Zm8wTmEyd0hxamZ1N2REdVFXeXU5SUQ4N3FVVGdz?=
 =?utf-8?B?ZGV1Vk1CTmluTkVUcm91VnVRR1FUWjBCYU1GK29oYzdzMWVmay9EYlR5c1hk?=
 =?utf-8?B?R0w0Z0VzSHZpZDhMRXRadmE1b3ZER2R4OGVBSzVmejM3dlBscUR6dS8rZUh5?=
 =?utf-8?B?T0M0Um5DeWlHbHA3U054dDFyVDR4aG9BcVlyNW9vUUl2dll6WG1nR2FmVGNL?=
 =?utf-8?B?czBFWm9yQ2pUTDltNmVRZ24zbzBSMldHUUV6VUxCQ3VSSkNuZWVnSktETnRC?=
 =?utf-8?B?R09TVTBCdGJGMUlmWXdSK1FEZnFRQURRR2xPSElySEZIaUhadkRiamZvcTlY?=
 =?utf-8?B?MTNmMlcyYUp5bUVaem9IbWVDUzByWHNRUmR5MTV2SGFwYTZDQm5lTG5KYVUx?=
 =?utf-8?B?a00vMllLbzR0N3I1S0tIOXlwUkdEUkFiQmJleUREYUJ6Y3NPMitIUWRhMFVn?=
 =?utf-8?B?aXpBUCt4bzkvNnFjd2MzYWpyNGpyTUQ1VExlRTVyNzdEdis5ZytHVFJ2SjZx?=
 =?utf-8?B?Zkl1bTRFVkZHbVEvclJlOHlGRmhBZGZhTGNIWjBQalRRLy9GMTlZRC9xQWh0?=
 =?utf-8?B?bmFwQTFFalVaVWRLaHJ5QVgycmZ0QTdkcUZuZFg5c2pGU2Z5dlRHbHFIbzdt?=
 =?utf-8?B?SGpQUjdGU3F2OWxidSs5dlNPVVcvbXJpMjVSSjdmaUdOUVNNUlY3dUFQNGFa?=
 =?utf-8?B?NGJwNnZGR2lWbmxjM1pPS0p4aUM3SHRwbDM3d3UvdEVwcmZwSmRoRlJGNUJY?=
 =?utf-8?B?NE9IZ2R1VFIvbzlCTlAwUTFhL0wrRmpGUU80ZWFuZXoyRzBjbHMrNEUvZjFJ?=
 =?utf-8?B?VUNRZzFlRUdWRm1ZL1lYbm95WE5TcGNrQnQ4N0s2V2NaWG1uSDBoUEp3SUZO?=
 =?utf-8?B?QVp5REdlUS9TK2l1REZCRXJFb2FzbU1xZnZnTjVmTDQxNmVHSE0rMHZUMnRX?=
 =?utf-8?B?ekFRd2FQS1RhS2tzU3RZOGlkQXVSNU45OUNNUjVTeXNqNmVTU1pZS3B5WFQw?=
 =?utf-8?B?WWQ3WGgwT2xtbkw2WTVzcXNsYzFYRnEwemJieDRRZVRHRzRCS1BtT1FvcE1T?=
 =?utf-8?B?cjVQVzFISzAvbGdBeFhTSzNKSUgvRXRTM1UyaUVzNU9EUHRoRTJhcFhYZTd1?=
 =?utf-8?B?VjBXblZkZE5jSjFVTWM2VmNINStvQzBDYVJmTlJDc1VSNTZiWnBNaTBlczhJ?=
 =?utf-8?Q?1WuPltV3zCw5vYgIZz4SuGjyN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0bf517bc-54f9-424a-4c17-08daddc9eee0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 11:54:19.3438
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dQE4ALaxZ7cmPKLEBH4NCdJLDlkOBAkPYX0/P3ZSt5NMk39Q3C0zIlmSQdU6bcUgV/uvByMz/iFhduzgVeybGA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9701

On 13.12.2022 23:26, Demi Marie Obenour wrote:
> This allows eliminating most of the former.  No functional change
> intended.

"most" would be nice to accompany by what has to stay, and for what reason.
Is this solely about MTRR_NUM_TYPES or more?

> --- a/xen/arch/x86/include/asm/mtrr.h
> +++ b/xen/arch/x86/include/asm/mtrr.h
> @@ -3,12 +3,6 @@
>  
>  #include <xen/mm.h>
>  
> -/* These are the region types. They match the architectural specification. */
> -#define MTRR_TYPE_UNCACHABLE 0
> -#define MTRR_TYPE_WRCOMB     1
> -#define MTRR_TYPE_WRTHROUGH  4
> -#define MTRR_TYPE_WRPROT     5
> -#define MTRR_TYPE_WRBACK     6
>  #define MTRR_NUM_TYPES       7

May I suggest to use X86_MT_UCM here, matching the transformation you
do ...

> @@ -1426,12 +1426,12 @@ void ept_p2m_uninit(struct p2m_domain *p2m)
>  static const char *memory_type_to_str(unsigned int x)
>  {
>      static const char memory_types[8][3] = {
> -        [MTRR_TYPE_UNCACHABLE]     = "UC",
> -        [MTRR_TYPE_WRCOMB]         = "WC",
> -        [MTRR_TYPE_WRTHROUGH]      = "WT",
> -        [MTRR_TYPE_WRPROT]         = "WP",
> -        [MTRR_TYPE_WRBACK]         = "WB",
> -        [MTRR_NUM_TYPES]           = "??"
> +        [X86_MT_UC]  = "UC",
> +        [X86_MT_WC]  = "WC",
> +        [X86_MT_WT]  = "WT",
> +        [X86_MT_WP]  = "WP",
> +        [X86_MT_WB]  = "WB",
> +        [X86_MT_UCM] = "??",

... here (and where I wonder whether MTRR_NUM_TYPES wouldn't better be
kept).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 12:55:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 12:55:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462185.720357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5RII-0001oh-Fi; Wed, 14 Dec 2022 12:55:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462185.720357; Wed, 14 Dec 2022 12:55:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5RII-0001oa-Cy; Wed, 14 Dec 2022 12:55:30 +0000
Received: by outflank-mailman (input) for mailman id 462185;
 Wed, 14 Dec 2022 12:55:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=aTin=4M=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1p5RIG-0001oU-Nt
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 12:55:29 +0000
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com
 [66.111.4.27]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 938bb8c0-7bae-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 13:55:26 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 8B3975C0138;
 Wed, 14 Dec 2022 07:55:24 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Wed, 14 Dec 2022 07:55:24 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 07:55:21 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 938bb8c0-7bae-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm1; t=1671022524; x=
	1671108924; bh=erz5Eg3lahj4nJyJfFHnrhEfB1Rx6p+vybp0T8Zf+0E=; b=i
	Qwsu9H52ahuOMD1vHvKd//D2WqD6gXp+nKZn1jrVakXarRUx9aKh+lDQ3yY1CrYR
	3dsEmICMYnZjhBThDegQFM2gxyZkK6OSZ834Q/PMz7gTKaiIkxUI3zW2uI7fMs+T
	wkTw90lgeq+DwR+/qmRPFMUs3ZpixUJUO6f0lVE+WGRhSqS9BFrZoy+/8CWlC1Fw
	6G2h6K+THk4eDL+UXE2knVXQMpRB32/Up/eA45GicPZis044mJSfR8Y9ubsj5azH
	MpILbJc3RvQRylUbDOWfiLwLh5B6xE3Jvedpvlz4YRQZzliKAiWHdRXEHdAm7AvQ
	565LF9+KMRxjS3R5KMA/g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671022524; x=1671108924; bh=erz5Eg3lahj4nJyJfFHnrhEfB1Rx
	6p+vybp0T8Zf+0E=; b=YJSUdwohjncF06QHG5PxpZCTvlhnJ7e/iE5jwyV7NPnt
	z1/thB4e1e2FGsB55ae1/CwYhDD5v433jNURa7ycJqST6rbbhCCIyTv0vFmyNoMH
	Nr33fjX51Gd0jBqe7fxL7nEZnWpMPOtdNcyOlFlfPEYdRsP/z7dAGX0w1ogwrpgA
	pikm6gSwlZ3eVDwsecUZDuX3x+OR9foCLPXcKATIpBk2mDTz9+Eo3M5mobPYE5fk
	afR5P7tBMA+iPkjnykbKOg/VlKFz8t//m99B36W4Mdx3b81HtCYVtZanIgHgDRZR
	IsA54vO9u95gAzE/e9nOku5L4S1ZnrCPV5oxGZ0D/Q==
X-ME-Sender: <xms:vMeZY2O3Pe6RN8YeQFFcnhLc41AGNikh2oEBnUg_5y07O3aX764DMw>
    <xme:vMeZY08jRBTXu2scL9pvIZbO9dekLu_Vdto1rzkGbGnr1HGfwr6SK49TwU9dhK5XJ
    jRnKq5sP3OFPA>
X-ME-Received: <xmr:vMeZY9Ra8N42tK8exXhhAw2gHzraMU4DQG0-o3FZI4k0u7TlqbeqYT0mVnYD>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeefgdegiecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefgudel
    teefvefhfeehieetleeihfejhfeludevteetkeevtedtvdegueetfeejudenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:vMeZY2uQRLZBMeEP2qIXqQE5mpjhQyqpUNbHA42Bw9eXRUhKZB2zFg>
    <xmx:vMeZY-dj2V1ct9eU6VleTpobwDCLmWfLaF0j5_xcUQ48WrtMujK3cA>
    <xmx:vMeZY62vKzHnwvdX0U56CyXCyh2gu_bosU-GbGTt38-8lj6MNYE8rg>
    <xmx:vMeZY94RMAx1vTUw0QliMDHXBwMsk3HTa4YZrSeHsYx0al3QiuTagA>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 14 Dec 2022 13:55:19 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [RFC PATCH 2/3] drivers/char: search all buses for xhci
Message-ID: <Y5nHt7PGbeBWEOfs@mail-itl>
References: <cover.932f486c1b08268190342f8918b09fa6a7c3f149.1670724490.git-series.marmarek@invisiblethingslab.com>
 <34d3e4e4067b86183e6d834c8bc93736f058fe19.1670724490.git-series.marmarek@invisiblethingslab.com>
 <f447c631-720d-0ac0-2f26-21fee800b948@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="ZIIp5QYUX65rD9D7"
Content-Disposition: inline
In-Reply-To: <f447c631-720d-0ac0-2f26-21fee800b948@suse.com>


--ZIIp5QYUX65rD9D7
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 14 Dec 2022 13:55:19 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [RFC PATCH 2/3] drivers/char: search all buses for xhci

On Wed, Dec 14, 2022 at 11:51:31AM +0100, Jan Beulich wrote:
> On 11.12.2022 03:10, Marek Marczykowski-G=C3=B3recki wrote:
> > --- a/xen/drivers/char/xhci-dbc.c
> > +++ b/xen/drivers/char/xhci-dbc.c
> > @@ -286,39 +286,87 @@ static void *dbc_sys_map_xhc(uint64_t phys, size_=
t size)
> >      return fix_to_virt(FIX_XHCI_END);
> >  }
> > =20
> > +static void xhci_bios_handoff(struct dbc *dbc)
> > +{
> > +    const uint32_t __iomem *xcap;
> > +    uint32_t xcap_val;
> > +    uint32_t next;
> > +    uint32_t id =3D 0;
> > +    const void __iomem *mmio =3D dbc->xhc_mmio;
> > +    const uint32_t __iomem *hccp1 =3D mmio + 0x10;
> > +    const uint32_t LEGACY_ID =3D 0x1;
> > +    int ttl =3D 48;
> > +    int timeout =3D 10000;
> > +
> > +    xcap =3D mmio;
> > +    /*
> > +     * This is initially an offset to the first capability. All the of=
fsets
> > +     * (both in HCCP1 and then next capability pointer) are dword-base=
d.
> > +     */
> > +    next =3D (readl(hccp1) & 0xFFFF0000) >> 16;
> > +
> > +    while ( id !=3D LEGACY_ID && next && ttl-- )
> > +    {
> > +        xcap +=3D next;
> > +        xcap_val =3D readl(xcap);
> > +        id =3D xcap_val & 0xFF;
> > +        next =3D (xcap_val & 0xFF00) >> 8;
> > +    }
> > +
> > +    if ( id !=3D LEGACY_ID )
> > +        return;
> > +
> > +    xcap_val =3D readl(xcap);
> > +#define XHCI_HC_BIOS_OWNED (1U << 16)
> > +#define XHCI_HC_OS_OWNED (1U << 24)
> > +    if (xcap_val & XHCI_HC_BIOS_OWNED) {
> > +        dbc_error("bios owned\n");
> > +        writeb(1, (uint8_t*)xcap + 3);
> > +        while ((readl(xcap) & (XHCI_HC_BIOS_OWNED | XHCI_HC_OS_OWNED))=
 !=3D XHCI_HC_OS_OWNED)
> > +        {
> > +            cpu_relax();
> > +            if (!--timeout)
> > +                break;
> > +        }
> > +        if (!timeout)
> > +            dbc_error("handoff timeout\n");
> > +        xcap_val =3D readl(xcap + 1);
> > +        xcap_val &=3D ((0x7 << 1) + (0xff << 5) + (0x7 << 17)); // XHC=
I_LEGACY_DISABLE_SMI
> > +        xcap_val |=3D (0x7 << 29); // XHCI_LEGACY_SMI_EVENTS
> > +        writel(xcap_val, xcap + 1);
> > +    }
> > +}
> > +
>=20
> Unused new function (introducing a build failure at this point of the ser=
ies)?

Oh, sorry, it wasn't supposed to be included in this patch.

> >  static bool __init dbc_init_xhc(struct dbc *dbc)
> >  {
> >      uint32_t bar0;
> >      uint64_t bar1;
> >      uint64_t bar_val;
> >      uint64_t bar_size;
> > -    uint64_t devfn;
> > +    unsigned int bus, devfn;
> >      uint16_t cmd;
> >      size_t xhc_mmio_size;
> > =20
> >      if ( dbc->sbdf.sbdf =3D=3D 0 )
> >      {
> > -        /*
> > -         * Search PCI bus 0 for the xHC. All the host controllers supp=
orted so
> > -         * far are part of the chipset and are on bus 0.
> > -         */
> > -        for ( devfn =3D 0; devfn < 256; devfn++ )
> > -        {
> > -            pci_sbdf_t sbdf =3D PCI_SBDF(0, 0, devfn);
> > -            uint8_t hdr =3D pci_conf_read8(sbdf, PCI_HEADER_TYPE);
> > -
> > -            if ( hdr =3D=3D 0 || hdr =3D=3D 0x80 )
> > +        for ( bus =3D 0; bus < 0x100; bus++ )
>=20
> Hex here and ...
>=20
> > +            for ( devfn =3D 0; devfn < 256; devfn++ )
>=20
> ... dec here looks odd. Now that you want to fully iterate segment 0,
> may I suggest to move the function closer to ehci-dbgp.c:find_dbgp(),
> making use of pci_device_detect() and iterating over busses, slots,
> and functions separately?

Ok, will look into it.

But still, this all is not enough to get it working on AMD, so I'd wait
with v2 until it starts being functional.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--ZIIp5QYUX65rD9D7
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmOZx7cACgkQ24/THMrX
1yzoKQf8DyB8s77UViGZlp4Qsy2RkxjahcXGHdvTYsYu7tI7KDqtNBz27sBkRD8b
jJslnKMBM0BpvdlMkr8yEITvZxoP3T4C0j0rlrvRu6A3pflBwNx9GEMi/fZ/a/Xp
xK/pmVZb/jsBGHkDPVbscpjXEq1WNVGbPZCcRaF+wqErkkWpvtk1DN6aPfEWnNKH
fwQVvcOw1l0/OFZRM+zUk+IghEGzX2dIgmtdynsKtlPHH2uVE5OzEMt7lvAsT+Dt
OW/rfZMPgJmKVWF8BEpTi57jUGlfiULXNZ9lQZlWIZlrzeYauDVphpQFwDMdYuUH
BbHOhiq9QhjfRN8Z0CMjLr+u665rLw==
=GsmY
-----END PGP SIGNATURE-----

--ZIIp5QYUX65rD9D7--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 13:05:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 13:05:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462197.720372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5RSE-0003nZ-E6; Wed, 14 Dec 2022 13:05:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462197.720372; Wed, 14 Dec 2022 13:05:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5RSE-0003nS-BC; Wed, 14 Dec 2022 13:05:46 +0000
Received: by outflank-mailman (input) for mailman id 462197;
 Wed, 14 Dec 2022 13:05:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=30QF=4M=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p5RSC-0003nL-QT
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 13:05:45 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2048.outbound.protection.outlook.com [40.107.21.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0379fa50-7bb0-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 14:05:42 +0100 (CET)
Received: from DUZPR01CA0030.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:46b::19) by AM8PR08MB6387.eurprd08.prod.outlook.com
 (2603:10a6:20b:365::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.9; Wed, 14 Dec
 2022 13:05:40 +0000
Received: from DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:46b:cafe::26) by DUZPR01CA0030.outlook.office365.com
 (2603:10a6:10:46b::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11 via Frontend
 Transport; Wed, 14 Dec 2022 13:05:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT007.mail.protection.outlook.com (100.127.142.161) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5924.11 via Frontend Transport; Wed, 14 Dec 2022 13:05:39 +0000
Received: ("Tessian outbound aeae1c7b66fd:v130");
 Wed, 14 Dec 2022 13:05:39 +0000
Received: from 630cba18130b.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3782856D-F611-4611-830E-B5E879A6D0F4.1; 
 Wed, 14 Dec 2022 13:05:33 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 630cba18130b.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 14 Dec 2022 13:05:33 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by AS4PR08MB8143.eurprd08.prod.outlook.com (2603:10a6:20b:58e::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 13:05:31 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5924.011; Wed, 14 Dec 2022
 13:05:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0379fa50-7bb0-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j6YVIzXAdWYl1WfnZmFRCLHY+VSeKqRRz09tcxlaUbU=;
 b=h07mYWsPEpQT4atn5uVsG+x+rpSuwN66yGJHBcYjEP6y5AYeUQdEzBZMhm9Zag3Gxk7e4kFtAsE+lApD3ZdC4s/xjC2jL5ujPlOaXI+y19n4riMFVkR/L4X4dDzkwA387WkwLHm/bZ0I3fMp2yaxTi0KLtvGBl+S01cg8owN0Jg=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: e4ca6c30109bceba
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jSHL8EVARhZnqm7g9PusM0R/brvB20kDRfCjKQURCMag3uvmofViCO/F/nWQGShQDp2qHg5De0Ein8JNnAO5tCSEKRbnhpzvogJY120kIk7fOVmfAUd31un4nPl8oi3LSx53seOLVTU37KWD0zIA+govpNl/l869j+EolEhEiiK7BJ5kshM+dbKYsao4DhImowOyQHESBYg8gUMHaoEUAdblxe3Kq0GrXL3BkX9ollH4CRqhB/upWzrU126CyQUZJ/QyAFWDqoFACvn6tb7dnI0lVIOj4C6U9fyx0FwYYJiDHiz+6c+/IUMNteG3KHW/+k/jH0iHy/PSkpLp/n7x8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j6YVIzXAdWYl1WfnZmFRCLHY+VSeKqRRz09tcxlaUbU=;
 b=HPrrRJeLc/DPQuANbPEnpzcdR/NfNgWkvBb6HyzMCVPoY39mu0LP8WNe7JRMvc9jYAnnujDsz/lWk3ZXMxNdfXh6+ah/W1tdMsnhk2MV3jTkH2BV2z9LjiDvOVn+955LTXvBbIM0gW3cIy0KsPpgVJwX5A24S+5cL6gq9yJ0eD2reOjCAcdfbMBKoSxRJcZA+AuWimC/E204VALiZbbL6d+HrIB/yKXSs7x13955XUKFVnOpw8QKxR6HX9gMCHQPYy4asu2f3DKJPZopMj4aVg+6AOP2aQB99sWJMg1L7y/4RfAW/iR2kek3bZtfw7HX7bFwKHzKBKCMeVTTwgA3NA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j6YVIzXAdWYl1WfnZmFRCLHY+VSeKqRRz09tcxlaUbU=;
 b=h07mYWsPEpQT4atn5uVsG+x+rpSuwN66yGJHBcYjEP6y5AYeUQdEzBZMhm9Zag3Gxk7e4kFtAsE+lApD3ZdC4s/xjC2jL5ujPlOaXI+y19n4riMFVkR/L4X4dDzkwA387WkwLHm/bZ0I3fMp2yaxTi0KLtvGBl+S01cg8owN0Jg=
From: Rahul Singh <Rahul.Singh@arm.com>
To: sisyphean <sisyphean@zlw.email>
CC: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: Re: [BUG]Add PCIE devie to SMMUv3 fail
Thread-Topic: [BUG]Add PCIE devie to SMMUv3 fail
Thread-Index: AQHZC5XCObk04ipFEE+2cKVjhEnU1a5lUAQAgARztoCAALM7gIAAk3WAgAJX2gA=
Date: Wed, 14 Dec 2022 13:05:30 +0000
Message-ID: <9478D04C-9BD6-44C1-ADBD-EAA688897811@arm.com>
References: <793eb471-e68b-c3ff-52e8-20d77252c0bf@zlw.email>
 <A9FCD688-3CA2-484A-ADC1-F1235F18890F@arm.com>
 <75bbfc8c-b89f-9478-63af-c37fda0ad3c0@zlw.email>
 <5BCFEC7E-85B6-4464-A2B1-EA08C6E2EB20@arm.com>
 <340463d2-528e-848f-0ec2-a4cc7ba04399@zlw.email>
In-Reply-To: <340463d2-528e-848f-0ec2-a4cc7ba04399@zlw.email>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7158:EE_|AS4PR08MB8143:EE_|DBAEUR03FT007:EE_|AM8PR08MB6387:EE_
X-MS-Office365-Filtering-Correlation-Id: a202b76d-2439-494e-8007-08daddd3e668
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 6bRhe/cxGaVy6LBC0xYVz2Ox0zdILCGB0mUk5kZJwNl561/ic8scuoJpwEx951fjbLXD80U5LkC6AMeP6L8mcBxhRJx7EJigMke3H57ftvPadRY7zS78LzpLN1xgbLlTZBy9JO52P62di1f3D/9o0zSTtacuGdvBIvK3p3oQoQZTpPLpFAOmCQOYr483o7G/xNL2jzEf4YqxXjrTpxVKgspVtLkN6ij7YMfzXfhf+YCyqaHWFQJugjBFv883tGVo03/vAcSA9Ovf3ctp7lZ/EeikQLom2mdaLESV6zSsF0lM+uWMP945+5Ti9tD3ZQxbD800+xPP5ehrECuDBIWcaXv2wUxmyTewhUf8wADE/EIAoGHhgVXTB7pJ8jKGFVgMnuFXfctXEb0Ntx8jwg3SOEhURdFpdgy9FgjxUZbT3T+m+iBllBCIMONHRKzeG9jKs82zJHc4DxdTFOFdeiusAxaCgeC/NX9zphu/U0Rfvi3Bpujml/Ns/fnqoxBNSTKPR0vA91ZjP2IwQqG5OpWvYpLa1Uv8r+wzHOpmjcDPAgi2KgDjKudH2thjFHszmEXWMkMPoecLEAh8EGmBnmp8Q6f634afJbLJTvACgWs7BIfmbNHS6uD+aiwpHkhkFgw+9LS5LNe0sahyixkcnoJr3I/9avYtmgmZc6uWzcEqdiTW+DO6F1u+XQSmiZWwQjgolHKfBMm03WKL0P3Hm7MEibMgtrvBvDQfLIyxd+fM08lZxmwYwp7O5wXdKXIGZEzvPmBijYWhHLjiB6llCCDqFWcbs+VAK1F/HKC14p4LwavEQ3k2wrVcq0VozqSobiom
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(376002)(136003)(366004)(396003)(451199015)(83380400001)(5660300002)(8936002)(2906002)(41300700001)(86362001)(38070700005)(36756003)(33656002)(38100700002)(122000001)(966005)(6486002)(316002)(71200400001)(26005)(478600001)(6512007)(6916009)(54906003)(8676002)(66446008)(53546011)(64756008)(66556008)(91956017)(66946007)(4326008)(66476007)(2616005)(76116006)(6506007)(186003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <FCC770758D149748A1E305B39FFCB2D2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8143
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	8e4af815-83eb-4186-5075-08daddd3e112
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6SSFkmBwcBE2a6wWhYhg1Y1t3kRSQB2VbWx1Q3dJEXavR+c0rnaeagXLxvDrF7cFbf+oG2uuj1nnUeb42A+/Y1ujxiSPcEgUWRrkwURWHFir1uCYjwTdnxDq9yGI8nddYhwgbVZFl2w+cg9Xm3aL5gx7mZvSO7kWc27WLYoULYzNPbLg9wTDVCw+7IrEeO5a8RSsTfSVPFfCkduDiT5Y0Wxn3Pqd7qkOZCX6N+56uSKyqetfxTqaUzwBSf6TXoYhGzxVPjf3FcXwbHrq8xouW73Un9+CWApIrmxb5gFbwhoKuZ7Eia/squ1PnOQWTCXIG6EjzhmPmtB8426Awq8evL5Frr+02Kh/JP0jtna8o2hKWcvpyfU72sghLn3VMLfM70tTJmmWQzNnzZqhdQpivQWzG3IRF1RNCiRhoWYfT+7q8KlgOqtN+eMUh+b7aD3LyKHpG0hH5h0X1a6DJVgRiqxmPmQ2N9c1wktQ76Zf0NntdZGokfFud/2tNe4Zfx1/CiV50DYlAHVAQ/FBEkaq7gP2YTncY6lTViblBxOLzcuBjmk3CZEKZMl3vXTedofK7C+KAwQ3x6Y8DDzYB2RndxNE5s6CqX2ETIwQcKeresoPQxSFw/R94Q67fDfR5Cel29X0tk7QDjzdO3yoYpZ+L1Te0M5lnv3DUBseLcMPVlCMoDqEkhvESeVws8tGYg9YVCeXyo0wMleLWXn87Ws36ux/LY3PiYveb4naAuGYxi8kMjBEx5EIi2K6lVlxMxsXl5K6VaNEB0H7CLTaxEdiTw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(346002)(396003)(136003)(376002)(39860400002)(451199015)(36840700001)(46966006)(40470700004)(82310400005)(36756003)(54906003)(40480700001)(6512007)(316002)(53546011)(6486002)(186003)(6506007)(83380400001)(26005)(33656002)(86362001)(966005)(40460700003)(70206006)(36860700001)(4326008)(8676002)(70586007)(47076005)(2906002)(2616005)(336012)(41300700001)(356005)(478600001)(6862004)(5660300002)(8936002)(82740400003)(81166007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 13:05:39.9636
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a202b76d-2439-494e-8007-08daddd3e668
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6387

SGkgU2lzcGhlYW4sDQoNCj4gT24gMTMgRGVjIDIwMjIsIGF0IDE6MTggYW0sIHNpc3lwaGVhbiA8
c2lzeXBoZWFuQHpsdy5lbWFpbD4gd3JvdGU6DQo+IA0KPiBIaSwNCj4gDQo+IOWcqCAyMDIyLzEy
LzEzIDAwOjMwLCBSYWh1bCBTaW5naCDlhpnpgZM6DQo+PiBIaSBTaXN5cGhlYW4sDQo+PiANCj4+
PiBPbiAxMiBEZWMgMjAyMiwgYXQgNTo0OSBhbSwgc2lzeXBoZWFuIDxzaXN5cGhlYW5Aemx3LmVt
YWlsPiB3cm90ZToNCj4+PiANCj4+PiBIaSwNCj4+PiDlnKggMjAyMi8xMi85IDE3OjUwLCBSYWh1
bCBTaW5naCDlhpnpgZM6DQo+Pj4+IEhpIFNpc3lwaGVhbiwNCj4+Pj4gDQo+Pj4+PiBPbiA5IERl
YyAyMDIyLCBhdCA2OjE1IGFtLCBzaXN5cGhlYW4gPHNpc3lwaGVhbkB6bHcuZW1haWw+IHdyb3Rl
Og0KPj4+Pj4gDQo+Pj4+PiBIaSwNCj4+Pj4+IA0KPj4+Pj4gSSB0cnkgdG8gcnVuIFhFTiBvbiBt
eSBBUk0gYm9hcmQoU29ycnksIGZvciBzb21lIGNvbW1lcmNpYWwgcmVhc29ucywgSSBjYW4ndCB0
ZWxsIHlvdQ0KPj4+Pj4gb24gd2hpY2ggcGxhdGZvcm0gSSBydW4gWEVOKSAgYW5kIGFkZCBQQ0lF
IGRldmljZSBwYXNzdGhyb3VnaCB0byBEb21VLkJ1dCBhbiBlcnJvcg0KPj4+Pj4gb2NjdXJyZWQg
d2hpbGUgYWRkaW5nIHRoZSBQQ0lFIGRldmljZSB0byBTTU1VdjMuDQo+Pj4+IFBDSSBwYXNzdGhy
b3VnaCBzdXBwb3J0IGlzIG5vdCBmdWxseSB1cHN0cmVhbSB0byBYZW4gb24gQVJNLiBXZSBoYXZl
IHdvcmtpbmcNCj4+Pj4gUENJIHBhc3N0aHJvdWdoIGJyYW5jaCB0aGF0IHlvdSBjYW4gdXNlIHRv
IHRlc3QgaXQuDQo+Pj4+IA0KPj4+PiBodHRwczovL2dpdGxhYi5jb20veGVuLXByb2plY3QvZnVz
YS94ZW4taW50ZWdyYXRpb24vLS9jb21taXRzL2ludGVncmF0aW9uL3BjaS1wYXNzdGhyb3VnaA0K
Pj4+PiANCj4+Pj4+IFRocm91Z2ggcmVhZGluZyB0aGUgY29kZSBhbmQgdHJhY2luZyBkZWJ1Z2dp
bmcsIHRoZSBlcnJvciBpcyBmb3VuZCBpbiB0aGUgZnVuY3Rpb24NCj4+Pj4+IGFybV9zbW11X2Fk
ZF9kZXZpY2UsIHdoaWNoIHdpbGwgb2J0YWluIGFuZCBkZXRlcm1pbmUgd2hldGhlciB0aGUgZndz
cGVjIG9mIHRoZQ0KPj4+Pj4gZGV2aWNlIHRvIGJlIGFkZGVkIHRvIFNNTVUgZXhpc3RzLkJ1dCBm
b3IgdGhlIFhFTiBvZiBhcm0sIHRoZSBmd3NwZWMgb2YgdGhlIGRldmljZSBpcw0KPj4+Pj4gY3Jl
YXRlZCBhbmQgYWRkZWQgYnkganVkZ2luZyB3aGV0aGVyIHRoZSBpb21tdSBmaWVsZCBleGlzdHMg
aW4gdGhlIGRldmljZSBub2RlIHdoZW4NCj4+Pj4+IFhFTiBwYXJzZXMgdGhlIGRldmljZSB0cmVl
Lkhvd2V2ZXIsIHRoZSBQQ0lFIGRldmljZSBkb2VzIG5vdCBhcHBlYXIgaW4gdGhlIGRldmljZSB0
cmVlLA0KPj4+Pj4gc28gdGhlcmUgd2lsbCBiZSBubyBmd3NwZWMgZm9yIGFsbCBQQ0lFIGRldmlj
ZXMuIFdoZW4gYXR0ZW1wdGluZyB0byBhZGQgYSBQQ0lFIGRldmljZSB0bw0KPj4+Pj4gU01NVSwg
YSBFTk9ERVYgZXJyb3Igd2lsbCBiZSByZXR1cm5lZC4NCj4+Pj4gQXMgb2Ygbm93IFhlbiBkb2Vz
buKAmXQgc3VwcG9ydCB0byBhZGQgUENJIGRldmljZSB0byBJT01NVSBvbiBBUk0uDQo+Pj4+PiBJ
biBhZGRpdGlvbiwgdGhlIGNvZGUgYXQgeGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMgYWxz
byB2ZXJpZmllcyB0aGUgYWJvdmUgdmlldy4NCj4+Pj4+IEZvciBQQ0lFIGRldmljZXMsIHBkZXYg
aXMgYWxsb2MgaW4gZnVuY3Rpb24gcGNpX2FkZF9kZXZpY2UgYnkgYWxsb2NfcGRldi5Ib3dldmVy
LA0KPj4+Pj4gdGhlIGZ1bmN0aW9uIGFsbG9jX3BkZXYgZG9lcyBub3QgY3JlYXRlIGFuZCBhZGQg
ZndzcGVjIHRvIHRoZSBQQ0lFIGRldmljZS5UaGVyZWZvcmUsDQo+Pj4+PiB3aGVuIGZ1bmN0aW9u
IHBjaV9hZGRfZGV2aWNlIGV4ZWN1dGVzIHRvIGlvbW11X2FkZF9kZXZpY2UsaXQgd2lsbCBnZXQg
dGhlIGVycm9yDQo+Pj4+PiByZXR1cm4gb2YgRU5PREVWLg0KPj4+Pj4gDQo+Pj4+PiBIb3cgY2Fu
IEkgcmVzb2x2ZSB0aGUgYWJvdmUgZXJyb3JzPw0KPj4+PiBJZiB5b3Ugd2FudCB0byB0ZXN0IHRo
ZSBQQ0kgcGFzc3Rocm91Z2ggcGxlYXNlIGZvbGxvdyBiZWxvdyBzdGVwcy4NCj4+Pj4gDQo+Pj4+
IFhlbiBzZXR1cDoNCj4+Pj4gICAgIOKAoiBBIGNoZWNrb3V0IG9mIHRoZSDigJxpbnRlZ3JhdGlv
bi9wY2ktcGFzc3Rocm91Z2jigJ0gYnJhbmNoIGZyb20gdGhlICBnaXRsYWIgaHR0cHM6Ly9naXRs
YWIuY29tL3hlbi1wcm9qZWN0L2Z1c2EveGVuLWludGVncmF0aW9uLy0vY29tbWl0cy9pbnRlZ3Jh
dGlvbi9wY2ktcGFzc3Rocm91Z2gNCj4+Pj4gICAgIOKAoiBQYXNzIGlvbW11PXllcyAgYW5kIHBj
aS1wYXNzdGhyb3VnaD1vbiB0byBYZW4gY29tbWFuZCBsaW5lIHRvIGVuYWJsZSBQQ0kgcGFzc3Ro
cm91Z2guDQo+Pj4+IA0KPj4+PiAgTGludXggS2VybmVsIHNldHVwOg0KPj4+PiAgICAgICDigKIg
U29tZSBjaGFuZ2VzIGFyZSByZXF1aXJlZCBmb3IgdGhlIGtlcm5lbCB0byB3b3JrIHdpdGggUENJ
IHBhc3N0aHJvdWdoLiBGaXJzdCBhcmUgc29tZSBjb25maWd1cmF0aW9uIG9wdGlvbnMsIGVuYWJs
ZSB0aGVtIGluIGtlcm5lbCBjb25maWcuDQo+Pj4+ICAgICAgICAgIENPTkZJR19YRU49eQ0KPj4+
PiAgICAgICAgICBDT05GSUdfWEVOX0JBQ0tFTkQ9eQ0KPj4+PiAgICAgICAgICBDT05GSUdfWEVO
X1BDSURFVl9CQUNLRU5EPXkNCj4+Pj4gICAgIOKAoiBUaGVuIGEgcGF0Y2ggbmVlZHMgdG8gYmUg
YXBwbGllZCBmb3IgZW5hYmxpbmcgdGhlIHBjaWJhY2sgZHJpdmVyLiBQYXRjaCBpcyBhdHRhY2hl
ZCBpbiB0aGlzIGVtYWlsLg0KPj4+PiAgVXNpbmcgUENJIHBhc3N0aHJvdWdoOg0KPj4+PiAgICAg
ICDigKIgSW4gb3JkZXIgdG8gcGFzcyBhIGRldmljZSB0byBhIGd1ZXN0LCB5b3UgZmlyc3QgbmVl
ZCBpdHMgUENJIGFkZHJlc3MoU0JERikuIFlvdSBjYW4gZWl0aGVyIGdldCBpdCBmcm9tIGEgYmFy
ZS1tZXRhbA0KPj4+PiAgICAgICBMaW51eCBydW5uaW5nIG9uIHRoZSBwbGF0Zm9ybSBvciBieSBo
YXZpbmcgcGNpdXRpbHMgIGluc3RhbGxlZCAoaWYgeW91IGFyZSB1c2luZyBhIHlvY3RvLWJhc2Vk
IGRvbTAgb3IgaGF2ZSBhcHQgYXZhaWxhYmxlKSwgd2hpY2ggcHJvdmlkZXMgbHNwY2kuDQo+Pj4+
ICAgICAgICBGb3IgZXhhbXBsZSwgbGV0J3MgcGFzcyBvbmUgZXRoZXJuZXQgaW50ZXJmYWNlIHRv
IHRoZSBndWVzdC4gUnVubmluZyBsc3BjaSBnaXZlcyB1cyB0aGlzIG91dHB1dCAodHJ1bmNhdGVk
KSA6DQo+Pj4+ICAgICAgICAwMDAwOjAwOjAwLjAgSG9zdCBicmlkZ2U6IEFtcGVyZSBDb21wdXRp
bmcsIExMQyBEZXZpY2UgZTEwMA0KPj4+PiAgICAgICAgMDAwMDowMDowMS4wIFBDSSBicmlkZ2U6
IEFtcGVyZSBDb21wdXRpbmcsIExMQyBEZXZpY2UgZTEwMSAocmV2IDA0KQ0KPj4+PiAgICAgICAg
MDAwMDowMTowMC4wIEV0aGVybmV0IGNvbnRyb2xsZXI6IEludGVsIENvcnBvcmF0aW9uIEV0aGVy
bmV0IENvbnRyb2xsZXIgWDcxMC9YNTU3LUFUIDEwR0JBU0UtVCAocmV2IDAxKQ0KPj4+PiAgICAg
ICAgICAgICAgICBbLi4uXQ0KPj4+PiAgICAgICAgV2Ugd2lsbCBwYXNzIG9uZSBvZiB0aGUgZXRo
ZXJuZXQgZnJvbSB0aGUgUENJIG5ldHdvcmsgY2FyZCA6IDAwMDA6MDE6MDAuMCAuDQo+Pj4+ICAg
ICAgIOKAoiBBZGQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIHRoZSBndWVzdCBjb25maWd1cmF0aW9u
IGZpbGUgOg0KPj4+PiAgICAgICAgICAgcGNpID0gWycwMDAwOjAxOjAwLjAnXQ0KPj4+PiAgICAg
ICDigKIgUnVuIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBiZWZvcmUgc3RhcnRpbmcgdGhlIGd1ZXN0
IDoNCj4+Pj4gICAgICAgICAgICB4bCBwY2ktYXNzaWduYWJsZS1hZGQgMDAwMDowMTowMC4wDQo+
Pj4+ICAgICDigKIgU3RhcnQgdGhlIGd1ZXN0LiBUaGUgbmV0d29yayBpbnRlcmZhY2Ugc2hvdWxk
IGFwcGVhciBhcyAwMDowMC4wICBpbiB0aGUgZ3Vlc3QgYW5kIGJlIHVzYWJsZS4NCj4+Pj4gIFBs
ZWFzZSBsZXQgbWUga25vdyBpZiB5b3UgbmVlZCBtb3JlIGluZm8uDQo+Pj4+IA0KPj4+PiANCj4+
Pj4gDQo+Pj4+IFJlZ2FyZHMsDQo+Pj4+IFJhaHVsDQo+Pj4+IA0KPj4+IFRoYW5rIHlvdSBmb3Ig
eW91ciByZXBseS4NCj4+PiBBZnRlciBzZXR0aW5nIFhFTiBhbmQga2VybmVsIGFzIGFib3ZlLCBJ
IHRyaWVkIHRoZSBmb2xsb3dpbmcgdHdvIG1ldGhvZHMgdG8gYWRkIGEgUENJRSBkZXZpY2UgcGFz
c3Rocm91Z2g6DQo+Pj4gMS4gQWNjb3JkaW5nIHRvIHlvdXIgc3VnZ2VzdGlvbiwgdXNlIHRoZSBj
b21tYW5kIHhsIHBjaS1hc3NpZ25hYmxlLWFkZCAwMDAyOjIxOjAwLjAgdG8gc2V0IGluIHRoZSBE
b20wLiBCdXQgaW4gZnVuY3Rpb24NCj4+PiBpb21tdV9kb19wY2lfZG9tY3RsLCAgYWZ0ZXIgZGV2
aWNlX2Fzc2lnbmVkIGlzIGNhbGxlZCwgRU5PREVWIGVycm9yIGlzIG9idGFpbmVkLg0KPj4+IDIu
IEFkZCB4ZW4tcGNpYmFjay5oaWRlPSgwMDAyOjIxOjAwLjApIHRvIGRvbTAtYm9vdGFyZ3MgaW4g
dGhlIGRldmljZSB0cmVlLCBJIGVuY291bnRlcmVkIHRoZSBzYW1lIHByb2JsZW0gYXMgYmVmb3Jl
DQo+Pj4gd2hlbiBpbml0aWFsaXppbmcgdGhlIGtlcm5lbC4gSW4gZnVuY3Rpb24gcGNpX2FkZF9k
ZXZpY2UsIFBDSUUgZGV2aWNlcyBjYW5ub3QgYmUgYWRkZWQgdG8gU01NVXYzLg0KPj4gSXQgaXMg
aGFyZCB0byBmaW5kIHdoYXQgaXMgaGFwcGVuaW5nIHdpdGhvdXQgbG9ncy4gQ291bGQgeW91IHBs
ZWFzZSBzaGFyZSB0aGUgWGVuIGFuZCBMaW51eCBib290IGxvZ3Mgc28gdGhhdCBJIGNhbg0KPj4g
Y2hlY2sgd2hhdCBpcyB0aGUgcm9vdCBjYXVzZSBvZiB0aGlzIGlzc3VlLg0KPj4gDQo+Pj4gVGhl
IGtlcm5lbCB2ZXJzaW9uIEkgdXNlIGlzIDUuMTAuIERvZXMgdGhpcyBoYXZlIGFuIGltcGFjdD8N
Cj4+IEkgYW0gdXNpbmcgdGhlIExpbnV4IHZlcnNpb24gNS4xNS40NCBidXQgSSBkb27igJl0IHRo
aW5rIGlzIGJlY2F1c2Ugb2YgTGludXguDQo+PiANCj4+IFJlZ2FyZHMsDQo+PiBSYWh1bA0KPiAN
Cj4gVGhlIGF0dGFjaG1lbnQgaXMgYSBsb2cgZmlsZS4gSSBoYXZlIHRvIGRlbGV0ZSBzb21lIGNv
bnRlbnQgdGhhdCBtYXkgaW52b2x2ZSBjb21tZXJjaWFsLiBQbGVhc2UgZm9yZ2l2ZSBtZS4NCj4g
DQo+IEluIGFkZGl0aW9uLCBJIGhhdmUgZm9yZ290dGVuIHRvIHRlbGwgeW91IGEgdmVyeSBpbXBv
cnRhbnQgaW5mb3JtYXRpb24uIFRoZSBQQ0lFIGNvbnRyb2xsZXIgdXNlZCBvbiBteSBib2FyZA0K
PiBpcyBEZXNpZ25XYXJlLiBJIHJlZmVycmVkIHRvIHRoZSBjb2RlIG9mIEVDQU0gdW5kZXIgWEVO
IGFuZCBhZGRlZCBzb21lIHN1cHBvcnQgcmVsYXRlZCB0byBEZXNpZ25XYXJlDQo+IChEQkkgc3Bh
Y2UgbWFwcGluZyBhbmQgUENJRSByZWFkL3dyaXRlKS4NCj4gDQoNCldoYXQgSSB1bmRlcnN0b29k
IGZyb20gdGhlIGxvZ3MgaXMgeW91IHNoYXJlZCB0aGUgbG9ncyBmb3IgZG9tVSBib290LiBDb3Vs
ZCB5b3UgcGxlYXNlIGNvbmZpcm0gdGhhdCBkb20wIGJvb3RlZA0KZmluZSB3aXRoIHRoZSBQQ0kg
cGFzc3Rocm91Z2ggYnJhbmNoIGFuZCB0aGUgUENJIGRldmljZSB5b3UgdHJ5aW5nIHRvIGFzc2ln
biB0byBkb21VIGlzIHdvcmtpbmcgZmluZSBpbiBkb20wLg0KDQpJbiB0aGF0IGNhc2Ugd2UgY2Fu
IGNvbmZpcm0gdGhhdCBjb2RlIHlvdSBhZGRlZCB0byBzdXBwb3J0IERlc2lnbldhcmUgUENJRSBj
b250cm9sbGVyIGlzIGZpbmUuDQoNCj4gSW4gYWRkaXRpb24sIGlmIG5lZWRlZCAsSSBjYW4gcHJl
IGluaXRpYWxpemVkIFBDSUUgY29udHJvbGxlciBpbiB0aGUgdWJvb3Qgc3RhZ2UsIHNvICBJIGNh
biBzY2FuIHRoZSBQQ0lFIGRldmljZQ0KPiBpbiB0aGUgdWJvb3QgY29tbWFuZCBsaW5lLg0KDQpZ
ZXMsIHdlIGNhbiB0cnkgdGhhdCBhbmQgdXNlIHRoZSBiZWxvdyBicmFuY2ggdG8gY2hlY2sgaWYg
aXQgd29ya3MuIEJlbG93IGJyYW5jaCBzdXBwb3J0cyB0byBhZGQgUENJIGRldmljZQ0KIGR1cmlu
ZyBYZW4gYm9vdCBhcyBjb21wYXJlZCB0byBwcmV2aW91cyBicmFuY2ggd2hlcmUgTGludXggaW5m
b3JtIFhlbiB0byBhZGQgUENJIGRldmljZXMuDQoNCllvdSBuZWVkIHRvIGFkZCAicGNpLXNjYW49
b27igJ0gaW4gWGVuIGNvbW1hbmQgbGluZSB0byBhZGQgUENJIGRldmljZXMgZHVyaW5nIFhlbiBi
b290Lg0KDQpodHRwczovL2dpdGxhYi5jb20veGVuLXByb2plY3QvcGVvcGxlL2JtYXJxdWlzL3hl
bi1hcm0tcG9jLy0vdHJlZS9wb2MvcGNpLXBhc3N0aHJvdWdoIA0KIA0KDQpSZWdhcmRzLA0KUmFo
dWw=


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 13:08:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 13:08:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462207.720383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5RUQ-0004Ok-Sp; Wed, 14 Dec 2022 13:08:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462207.720383; Wed, 14 Dec 2022 13:08:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5RUQ-0004OZ-OX; Wed, 14 Dec 2022 13:08:02 +0000
Received: by outflank-mailman (input) for mailman id 462207;
 Wed, 14 Dec 2022 13:08:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LNGa=4M=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1p5RUP-0004OH-K9
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 13:08:01 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on2058.outbound.protection.outlook.com [40.107.6.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5439f2d1-7bb0-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 14:07:59 +0100 (CET)
Received: from AS9PR0301CA0026.eurprd03.prod.outlook.com
 (2603:10a6:20b:468::12) by DB8PR08MB5354.eurprd08.prod.outlook.com
 (2603:10a6:10:114::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 13:07:54 +0000
Received: from AM7EUR03FT008.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:468:cafe::a) by AS9PR0301CA0026.outlook.office365.com
 (2603:10a6:20b:468::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11 via Frontend
 Transport; Wed, 14 Dec 2022 13:07:54 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT008.mail.protection.outlook.com (100.127.141.25) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5924.11 via Frontend Transport; Wed, 14 Dec 2022 13:07:54 +0000
Received: ("Tessian outbound 6c699027a257:v130");
 Wed, 14 Dec 2022 13:07:54 +0000
Received: from de28fffe11c5.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E862ABBA-A57B-444C-952D-97D611C5EFA2.1; 
 Wed, 14 Dec 2022 13:07:47 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id de28fffe11c5.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 14 Dec 2022 13:07:47 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAXPR08MB6749.eurprd08.prod.outlook.com (2603:10a6:102:13d::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 13:07:45 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::1245:e53:a5ec:66fd%8]) with mapi id 15.20.5924.009; Wed, 14 Dec 2022
 13:07:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5439f2d1-7bb0-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=03lNVbzWY76D7u/NjYyUe5EVruMkOvu6iz0M+Qh95Eo=;
 b=+OKb8XsE7SA5wPMIiSI0aYjQHE4h+DT8xx2rSiFHH+1RgBpnYXG2pQ0avuYcxcYRbf6HoAq9DcN0hAbuercItaH90L11saGJUuZQEQ7bWD6s3KLj52cU4pABeQyk5Fx2g6kUBi0X0fkRV8YyNL0WbjBWA7oWK9bg/hySHa9heK8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lpFG6gkCK+CThixAM0yLCCwz5rezTgoA5F7HV+8f8vSl+LQ1Dw8irI1tB4QbWs2k2W249OaaZM2Ws/NICX/Y8W+BTCq/m2KllenZ76I8T7KXQpk+y29ZuBona9wjmf/HQO7NAu30uJQwkvvnM+dgCQd//fgTNK7oHNT2VzUOIYf7ZOaKZBZijgCM1kBURM0zRkTDQoPQwRc3GECfSGTdlhU0UjvTHOG44AAps63keDvRggpWrXRNV/RnbxoyoCfpyQ0s6sTlUyQCIttbNqc04h4YaGZMJ52nQXi/cqbAKLqRFcflW+Xo742AaZ1kjd4EABW/ie6q7qI3jDs/td+vFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=03lNVbzWY76D7u/NjYyUe5EVruMkOvu6iz0M+Qh95Eo=;
 b=na57/EhhdvkfzZDCna9Bgs4eQnA7DNbswPtSXfNawehtxFHamzMfbC6yEwcIWuQJoKdhyGdCrp67AizHb4wHeB1mK7X3QX4q2Zq428ga2SRtV1GjN1oIHlC5c0m46U5Prr2LQQfIJ5L08ZMEJheRgFe4akFR3W6lQMlrPAri+rMs5dQZohgodPSBMKymxNhcLsk/WbSXxshsjONvgN4u6favbQGYcpimWlamWdEG9nFYwOGW9W/fJoUOhX9gsoPWDabLq9pXnrui9ot7w6LOjV6FUYIR8/eLSH+Uz7VOuF5vKpAaDs3vlO3CZoZ32/BbbWhn3QzR9n46KlptHJwUnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=03lNVbzWY76D7u/NjYyUe5EVruMkOvu6iz0M+Qh95Eo=;
 b=+OKb8XsE7SA5wPMIiSI0aYjQHE4h+DT8xx2rSiFHH+1RgBpnYXG2pQ0avuYcxcYRbf6HoAq9DcN0hAbuercItaH90L11saGJUuZQEQ7bWD6s3KLj52cU4pABeQyk5Fx2g6kUBi0X0fkRV8YyNL0WbjBWA7oWK9bg/hySHa9heK8=
From: Henry Wang <Henry.Wang@arm.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"xen-announce@lists.xenproject.org" <xen-announce@lists.xenproject.org>,
	Xen-users <xen-users@lists.xenproject.org>
Subject: [ANNOUNCEMENT] Xen 4.17 is released
Thread-Topic: [ANNOUNCEMENT] Xen 4.17 is released
Thread-Index: AdkPhB/We2miLp4BTbmjb8taM7dc5Q==
Date: Wed, 14 Dec 2022 13:07:44 +0000
Message-ID:
 <AS8PR08MB7991FA6E147FC0C0E4B99D3392E09@AS8PR08MB7991.eurprd08.prod.outlook.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 8F25FE6A80BA0846A218CC61685782D2.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PAXPR08MB6749:EE_|AM7EUR03FT008:EE_|DB8PR08MB5354:EE_
X-MS-Office365-Filtering-Correlation-Id: 72a802e9-db1a-4260-e4f6-08daddd4368a
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 Wu8g44OKhyXcV/hnLc/KcChwllW+yCbtGMeUiCyRH7CJMN0LDzL7XsDjRO+wo8/EEt/C0vI8v8nAlJjxB4LIdckLxHYCRQcmQlKC7acvhWmiI6TUFVGH+yflyFi/AiQRhcbnIdiWDSB1Hs6pcPbAI9AgwnbGVYu4VFQtnSbYl6rMtm//QZKUgIpZc4sW4eqfSRS7djmstW1bdWlh2PP3QvW+KRbPpaMtZMI+NglA0ZgDoShDzFaIqra+oSh6hu2Rn0AkaMmzkUP9iz0zE8CN1HbMj3ZHgGHgktyr+wMg3v2tg4ED/XgzBeXCQCvn140AY8LhNB3htCWHSHZJ5fUqBdcZkEt2C2i8Sls962RzZlNxt2qGJoLF+JtsWxm812sKN0N21g93sfHx0EM1sYft2pO6v+pmcS8Px200dEoK0AzW5qqO2OKrJ3lqTJQoTGoRLt8X2Rz7CbgQ3DMAUzTrkLzCAbtvjHWkyjd7A8CZZjU3PNpZwHEg7dOJ5UmrIP2iRBExBE+2x7jAJwWdOSfzY6p4l/ViaNJjq7sQMgJLrjXdhjHKCoEaX6d8UMphyS8HkYrmaeGH6fxTDeOsqHFGOyj0zNUmSdH+6NAdxWq8703eYRDgfv1xvg65edW8ZRUHZ3AJTZJlo2Ckun9tPHuc46Yem244/sn3ZEZjifn9IH+IFBWbQooLnT+WnlRr9MIMaxYTRDyddVT3+1SowppFgvPTh5suMlw5kJaVEtZiEf4=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7991.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(366004)(376002)(39860400002)(396003)(451199015)(76116006)(450100002)(8676002)(64756008)(66476007)(66446008)(66556008)(86362001)(66946007)(186003)(7696005)(6506007)(9686003)(38100700002)(33656002)(55016003)(83380400001)(2906002)(41300700001)(122000001)(52536014)(8936002)(5660300002)(38070700005)(966005)(478600001)(316002)(110136005)(26005)(71200400001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6749
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9a62c6fa-0008-49a3-0137-08daddd430b3
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	saSyuJ8Q4E+InwbqwRtdlkdhVB0xG/051UE0WRAskQr08h+m4eBLOE2iI/RQWbu+WZ37Ydjm1QjPgeLQfe/IyMne7WyGGQcSBzPMElueq4A9ZAOJyRopPiz7foYfcSw+VmOfIp4bdjgqFQDAUjTHX8MQAskfTL8SYfgwK0ATkSsEHAYy76/hHkaxdT5F+Ke81j++UWHUW1E7XhagVjdXT5W9S0mPRmOQbAl1ry0s26h9WUVKf4PyGZQNJ6KeZVjimFZgscVtvx1jZHbz2BMxfI8ozl+z80Wj3WyoRbwmAR9eUjgxWBonHxoC1LOtKG7PsQIX81yCP4lDE4nkxIC/sXwhpToS8ij/W40IrZcT1c406R2GPFN6cyE0SbKk4zWDosr53MB7goNTIsE2fIf8ieNATE8969dJQmqFbPikqyiHe+Mfxz6XJ6ADMn1y2tinS/EhnjfoG6vYRf/lGIi6x00+YnOe/oiHxRv0hY9xP7Y8gFdoM6i1O6IUEPAIZqwMoYYjyCRSms0vsjFtCbXrsCzLUeu7lEGY8bgABOJHikGsHwoW773fDQ1Gjb4WLYxoTt8KCtLwtJ6J/i1v7/9/Ee6BFDWa8o9EGYTEJ7Xu09/MeMoNqCgICO8JlaLJ4FgJKcbJXMG6Uhw6A7jK4zAsCSN84xmsDMAinFdH++Vk4xH2jA0GAB6BDzF7824gZG4XPaQXhXhF6lBlP71NGpNBqVnzp1N0VYWCJUfKhhV8+rQ=
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(396003)(136003)(376002)(451199015)(36840700001)(46966006)(40470700004)(7696005)(52536014)(9686003)(6506007)(186003)(8936002)(26005)(82740400003)(81166007)(356005)(55016003)(2906002)(110136005)(478600001)(40480700001)(33656002)(86362001)(316002)(966005)(70206006)(70586007)(40460700003)(5660300002)(450100002)(8676002)(83380400001)(82310400005)(336012)(47076005)(41300700001)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 13:07:54.3286
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 72a802e9-db1a-4260-e4f6-08daddd4368a
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT008.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5354

Dear community members,

I'm pleased to announce that Xen 4.17.0 is released.

Please find the tarball and its signature at:

https://xenproject.org/downloads/xen-project-archives/xen-project-4-17-seri=
es/xen-project-4-17-0/

You can also check out the tag in xen.git:

git://xenbits.xen.org/xen.git RELEASE-4.17.0

Git checkout and build instructions can be found at:

https://wiki.xenproject.org/wiki/Xen_Project_4.17_Release_Notes#Build_Requi=
rements

Release notes can be found at:

https://wiki.xenproject.org/wiki/Xen_Project_4.17_Release_Notes

A summary for 4.17 release documents can be found at:

https://wiki.xenproject.org/wiki/Category:Xen_4.17

Technical blog post for 4.17 can be found at:

https://xenproject.org/2022/12/14/xen-project-releases-version-4-17-with-en=
hanced-security-higher-performance-improved-embedded-static-configuration-a=
nd-speculative-mitigation-support/

Thanks everyone who contributed to this release. This release would
not have happened without all the awesome contributions from around
the globe.

Kind regards,
Henry Wang (on behalf of the Xen Project Hypervisor team)


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 13:11:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 13:11:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462237.720411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5RXf-0006ml-VC; Wed, 14 Dec 2022 13:11:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462237.720411; Wed, 14 Dec 2022 13:11:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5RXf-0006me-SS; Wed, 14 Dec 2022 13:11:23 +0000
Received: by outflank-mailman (input) for mailman id 462237;
 Wed, 14 Dec 2022 13:11:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5RXe-0006mO-NT; Wed, 14 Dec 2022 13:11:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5RXe-0000Xn-JM; Wed, 14 Dec 2022 13:11:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5RXe-0006oe-8U; Wed, 14 Dec 2022 13:11:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5RXe-0001Xp-7z; Wed, 14 Dec 2022 13:11:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gNE+BP+fohjL6330L49uzBvAC8VVt+mJH40iWubmXjo=; b=Fsai+wxyITLS595RETX6RWgnkP
	voSCuNsg6FViiYrUjf9fzN94SgJolUMPI/MfDXyNyjvN+0I0abIgvSaw9xxSUmfQRyKf3VCrDK0vq
	lBfLs8wuN3DJaKcsxfh4mE1TRMwJN/YKO1ouJ2GINj+CR8gvl23pFYpPtfiCgFqKFGUc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175188-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175188: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=7e68dd7d07a28faa2e6574dd6b9dbd90cdeaae91
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 13:11:22 +0000

flight 175188 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175188/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                7e68dd7d07a28faa2e6574dd6b9dbd90cdeaae91
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   67 days
Failing since        173470  2022-10-08 06:21:34 Z   67 days  136 attempts
Testing same since   175188  2022-12-14 01:59:32 Z    0 days    1 attempts

------------------------------------------------------------
2882 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 387967 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 13:15:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 13:15:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462253.720421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5RbA-0007qi-D2; Wed, 14 Dec 2022 13:15:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462253.720421; Wed, 14 Dec 2022 13:15:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5RbA-0007qb-AF; Wed, 14 Dec 2022 13:15:00 +0000
Received: by outflank-mailman (input) for mailman id 462253;
 Wed, 14 Dec 2022 13:14:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RNn6=4M=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p5RVL-0004OH-4V
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 13:08:59 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2046.outbound.protection.outlook.com [40.107.96.46])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76fdbbb6-7bb0-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 14:08:57 +0100 (CET)
Received: from MW4PR03CA0080.namprd03.prod.outlook.com (2603:10b6:303:b6::25)
 by PH7PR12MB6537.namprd12.prod.outlook.com (2603:10b6:510:1f2::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Wed, 14 Dec
 2022 13:08:53 +0000
Received: from CO1NAM11FT095.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b6:cafe::b2) by MW4PR03CA0080.outlook.office365.com
 (2603:10b6:303:b6::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11 via Frontend
 Transport; Wed, 14 Dec 2022 13:08:53 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT095.mail.protection.outlook.com (10.13.174.179) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.11 via Frontend Transport; Wed, 14 Dec 2022 13:08:53 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 14 Dec
 2022 07:08:52 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Wed, 14 Dec 2022 07:08:51 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76fdbbb6-7bb0-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fUQdE8+lay1DP5VkJbj41WlkTYGl8l1w2mXV2LuUGsfDBlD32fd2m/qSXeImE6OpoReRjh5IOgRBtj1zaXBi/JnLsJgroiWeAIo5BBUZaMs98n/Bcm9UEPHA4MHyf6a3HpA/dVvUXXLvGsq8bO61NolPcViBbFNJd59jxPFyuMDQOIRuAK43C2co9mc/M0rYCMxsbnb7G+kb+idvD1IekDYJqzeMVhQ70X4A2JaZ8ZIK5HKVaWxrHBJvjE8myPUrhCQbyTDbdijuzrIBMzCqb4gkaRlgaGVLypDCu+IIRo3Q0xlvulThJjXVw9T4qGoaL/xDRT1G5xEEql724ENqBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XH+BOqeC0u8Gq46j2YibLK0oAlAp+LzB/ZPsy4RmlEs=;
 b=npjKoHSLWS+nOongGwHbHkZST/gPjkuRzJaxGYYzkdZlwglLuMlQN6jlFHQuTvNfzltKxdfV9uHyakm5235FCljroyBMMm6Wwe9bW3WXfI0W/RoivoSL6wRzVm8tFRvu+aJZhcO+322Ab7dlI3TVI33qTEt57lXGg3iYJknLQtve4SHKshnmCMnbM2Q1ho0YhS5MPCXek6FTZqkjbLQZ3hHqE6BvYyrEN2x2U8kSnPDzOPU9DShZ5d6FRiZESW2Khl6NmYexB7ekkgW3G6yWAscCaDqD3+SUqakaXk7hdPkYh2tRXEZMt1TnhU7lA/Si0jXZVSAQ7nSJbFB7B7YPIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XH+BOqeC0u8Gq46j2YibLK0oAlAp+LzB/ZPsy4RmlEs=;
 b=aGZRbIWAoVn5Q6QdHvHS/4o7HsGr/GbeYFWnNeyEN6S9W/Wuxq9xlLrMAy0VTtdkAmYtUZqfi+pJuV3hD123mNCfFNX2cGsQtN6fBzqeHkKijbw2u3el/Y52TDXhj9RxO7UTh8qGWLWMuD2gvuXkQQQNP9+WQB38QTbCzbH6mAM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] xen/arm: Allow to set grant table related limits for dom0less domUs
Date: Wed, 14 Dec 2022 14:08:33 +0100
Message-ID: <20221214130833.543-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT095:EE_|PH7PR12MB6537:EE_
X-MS-Office365-Filtering-Correlation-Id: 7daef9da-141e-4777-23ba-08daddd459ba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sQBJ13t6F48mn746QIghJ6CIlGZPYJ8OD1Rg5TxszrzPG5ylyYExHUQ2Jx+geJpgOAhXcRRc3eS6xSGWOCAi6un9/dPyUrLUyQpwk7FcdXMiK/1TAvlWwE6OEHyh0f2UanCKh+xK7HkTOXTE8EPGMo298WmDKEUNnH/T35JVLepxN/2RFtPQGkb/TZzpOX5/frc6EL5Z0aHdlLHvpacXB94PL6sGNZRlkUqjd3+/JFLly+CYTznxLMwjHyCKDyPsKq3jP4P8+o1lBqS2QTMossSu2EwYFeDynWft/HDtIRRlh302/Ifuz+UHN5z7bqpTBG39vFGtn3fYWNrYjx6w5LRBC/UtMzqow05T1XMnw1Ihj+lfzpNo3ByUJ8Kmp0dXZPEerlwYDpZdfPNaU0ku6ta3pd3ENggbe1I6m2WMjQlvTeAQIbjMrcuHTvn1a6op/EDR/sk/5zv6HuCDH5I9igROXKQpQTXvJ+PYs4xGS+7xT3UHhcWAdaBXplX5QfnK+vsuG/zfH4YBgUzZHiKdAcOVdOFi6yyL+UHcuaK3jWnmaMn9QrmmvMLwRfqW5eM6gVzFS1ZYTWk898or2u8jx2yapPw79bD4GHfciLlryc3fvsI1OJOWOWOPL3Se5GSJKiNSXBWmG0yBLst2Cm9fUInn3LpFAWQ/3VR9nLimImlAYu1q6KzNN05H/oSfg/50mEI1uMPMNyCgWqDNYUTO12wQwifruFcsZLBcm/wW8pvpmScsFKNA8P3u2meJlUDK3DBFFvOAy8vIUnBXt9XayQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(346002)(396003)(136003)(451199015)(36840700001)(46966006)(40470700004)(40460700003)(316002)(478600001)(6916009)(36756003)(54906003)(2906002)(356005)(81166007)(82310400005)(83380400001)(36860700001)(6666004)(47076005)(40480700001)(336012)(26005)(186003)(82740400003)(1076003)(2616005)(426003)(86362001)(8936002)(41300700001)(5660300002)(4326008)(70206006)(8676002)(70586007)(44832011)(32563001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 13:08:53.2804
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7daef9da-141e-4777-23ba-08daddd459ba
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT095.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6537

At the moment, for dom0less domUs, we do not have a way to specify
per domain grant table related limits (unlike when using xl), namely
max version, max number of grant frames, max number of maptrack frames.
This means that such domains always use the values specified by the Xen
command line parameters or their default values if unspecified.

In order to have more control over dom0less domUs, introduce the
following device-tree properties that can be set under domUs nodes:
 - max_grant_version to set the maximum grant table version the domain
   is allowed to use,
 - max_grant_frames to set the maximum number of grant frames the domain
   is allowed to have,
 - max_maptrack_frames to set the maximum number of grant maptrack frames
   the domain is allowed to have.

Update documentation accordingly.

Note that the sanity checks regarding the passed values are already
there in grant_table_init() resulting in panic in case of errors,
therefore no need to repeat them in create_domUs().

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 docs/misc/arm/device-tree/booting.txt | 21 +++++++++++++++++++++
 xen/arch/arm/domain_build.c           | 11 ++++++++++-
 2 files changed, 31 insertions(+), 1 deletion(-)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 87eaa3e25491..3879340b5e0a 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -223,6 +223,27 @@ with the following properties:
     the default size of domain P2M pool, i.e. 1MB per guest vCPU plus 4KB
     per MB of guest RAM plus 512KB for guest extended regions.
 
+- max_grant_version
+
+    Optional. A 32-bit integer specifying the maximum grant table version
+    the domain is allowed to use (valid values are 1 or 2). If this property
+    is missing, the value specified by Xen command line parameter gnttab=max-ver
+    (or its default value if unspecified, i.e. 1) is used.
+
+- max_grant_frames
+
+    Optional. A 32-bit integer specifying the maximum number of grant frames
+    the domain is allowed to have. If this property is missing, the value
+    specified by Xen command line parameter gnttab_max_frames (or its default
+    value if unspecified, i.e. 64) is used.
+
+- max_maptrack_frames
+
+    Optional. A 32-bit integer specifying the maximum number of grant maptrack
+    frames the domain is allowed to have. If this property is missing, the
+    value specified by Xen command line parameter gnttab_max_maptrack_frames
+    (or its default value if unspecified, i.e. 1024) is used.
+
 Under the "xen,domain" compatible node, one or more sub-nodes are present
 for the DomU kernel and ramdisk.
 
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index bef5e905a73c..29b2f3e1faa2 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3871,7 +3871,7 @@ void __init create_domUs(void)
             .max_maptrack_frames = -1,
             .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
         };
-        unsigned int flags = 0U;
+        unsigned int flags = 0U, val;
 
         if ( !dt_device_is_compatible(node, "xen,domain") )
             continue;
@@ -3940,6 +3940,15 @@ void __init create_domUs(void)
             d_cfg.cpupool_id = pool_id;
         }
 
+        if ( dt_property_read_u32(node, "max_grant_version", &val) )
+            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
+
+        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
+            d_cfg.max_grant_frames = val;
+
+        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
+            d_cfg.max_maptrack_frames = val;
+
         /*
          * The variable max_init_domid is initialized with zero, so here it's
          * very important to use the pre-increment operator to call
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 14:06:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 14:06:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462281.720446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5SOm-0006dt-Ev; Wed, 14 Dec 2022 14:06:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462281.720446; Wed, 14 Dec 2022 14:06:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5SOm-0006dm-CJ; Wed, 14 Dec 2022 14:06:16 +0000
Received: by outflank-mailman (input) for mailman id 462281;
 Wed, 14 Dec 2022 14:06:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5SOk-0006dg-Rt
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 14:06:14 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5SOi-00020w-GG; Wed, 14 Dec 2022 14:06:12 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.3.68])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5SOi-0007Yl-7n; Wed, 14 Dec 2022 14:06:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=NQmmUEVqnaEVHtjmWZ3bVrGGtwdmOoI/sc4Wt9EdboU=; b=41CyXtVhq5atZojHtD9YTnFyZI
	szqZi73iMh0OaPDoLjjkRnybd4hkGfSEIhHGh3U1cSZScjL68HSHNg615sXDAk4+BZiVd4yHH4g5k
	dTd59qdJ+O4AFrco1fsECZD9T7k1NxACPc8IfseO/yeZRmZLM6KR9DuE835AVO5//lfs=;
Message-ID: <37c9f4c7-34f6-c53e-dd0b-6d9d8c844097@xen.org>
Date: Wed, 14 Dec 2022 14:06:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Content-Language: en-US
From: Julien Grall <julien@xen.org>
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 "Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org> <Y5j7KQ9g5Yb/ufn+@itl-email>
 <901d2088-49e7-634f-f55b-e4ea2e706fed@xen.org>
In-Reply-To: <901d2088-49e7-634f-f55b-e4ea2e706fed@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 13/12/2022 23:05, Julien Grall wrote: > On 13/12/2022 22:22, Demi 
Marie Obenour wrote:
>> On Tue, Dec 13, 2022 at 08:55:28PM +0000, Julien Grall wrote:
>>> On 13/12/2022 19:48, Smith, Jackson wrote:
>>>> Hi Xen Developers,
>>>
>>> Hi Jackson,
>>>
>>> Thanks for sharing the prototype with the community. Some 
>>> questions/remarks
>>> below.
>>
>> [snip]
>>
>>>> With this technique, we protect the integrity and confidentiality of
>>>> guest memory. However, a compromised hypervisor can still read/write
>>>> register state during traps, or refuse to schedule a guest, denying
>>>> service. We also recognize that because this technique precludes
>>>> modifying Xen's page tables after startup, it may not be compatible
>>>> with all of Xen's potential use cases. On the other hand, there are
>>>> some uses cases (in particular statically defined embedded systems)
>>>> where our technique could be adopted with minimal friction.
>>>
>>>  From what you wrote, this sounds very much like the project Citrix and
>>> Amazon worked on called "Secret-free hypervisor" with a twist. In 
>>> your case,
>>> you want to prevent the hypervisor to map/unmap the guest memory.
>>>
>>> You can find some details in [1]. The code is x86 only, but I don't 
>>> see any
>>> major blocker to port it on arm64.
>>
>> Is there any way the secret-free hypervisor code could be upstreamed?
> This has been in my todo list for more than year but didn't yet find 
> anyone to finish the work.
> 
> I need to have a look how much left the original work it is left to do. 

I have looked at the series. It looks like there are only 16 patches 
left to be reviewed.

They are two years old but the code hasn't changed too much. So I will 
look at porting them over the next few days and hopefully I can respin 
the series before Christmas.

Cheers,
-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 14:23:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 14:23:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462292.720457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5SfP-00017W-2R; Wed, 14 Dec 2022 14:23:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462292.720457; Wed, 14 Dec 2022 14:23:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5SfO-00017P-VH; Wed, 14 Dec 2022 14:23:26 +0000
Received: by outflank-mailman (input) for mailman id 462292;
 Wed, 14 Dec 2022 14:23:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5SfN-00016w-M0; Wed, 14 Dec 2022 14:23:25 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5SfN-0002Vt-GU; Wed, 14 Dec 2022 14:23:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5SfN-0002jX-4o; Wed, 14 Dec 2022 14:23:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5SfN-0004Gm-3E; Wed, 14 Dec 2022 14:23:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mbJICmZEJZ6D4WRM4gDfVdZ8fyEu93wtjWYh1yNCmpc=; b=NYIuPBODaTZW7d1Z+vuA3kMqYn
	0gJYA4bJtaPZBPEWhmQS0GYbpZlEcqNaGT15EhBYHtJghQbeNOA4pouHwawGXSsBCc+BNKtgipiu+
	l1TpLUcum7AhUQekxZ8BoMCBmLr6UujRCoRAWDUdI5KbVOq7ufiAyOf3+iwh3ativLBw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175199-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175199: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=549b042943a57b748ce80070d1174e4ff5b8ef0b
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 14:23:25 +0000

flight 175199 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175199/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  549b042943a57b748ce80070d1174e4ff5b8ef0b
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    0 days
Testing same since   175199  2022-12-14 12:01:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 549b042943a57b748ce80070d1174e4ff5b8ef0b
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Wed Dec 14 12:04:26 2022 +0100

    drivers/char: support up to 1M BAR0 of xhci
    
    AMD's XHCI has BAR0 of 1M (compared to 64K on Intel). Map it as a whole
    (reserving more space in the fixmap). Make fixmap slot conditional on
    CONFIG_XHCI.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit dd54ea500be80f347402d75f3e4e7061e7db78d2
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:38 2022 +0100

    docs: add documentation for generic virtio devices
    
    This patch updates xl.cfg man page with details of generic Virtio device
    related information.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit 953efa0b7b188458b18e4a727f3b1dfa77eacb61
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:25 2022 +0100

    xl: add support to parse generic virtio device
    
    This patch adds basic support for parsing generic Virtio backend.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 43ba5202e2eebd350161a8db674bf928c3e6f859
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:09 2022 +0100

    libxl: add support for generic virtio device
    
    This patch adds basic support for configuring and assisting generic
    Virtio backends, which could run in any domain.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
    region) and pass them to the backend and update guest device-tree to
    create a DT node for the Virtio devices.
    
    Add special support for I2C and GPIO devices, which require the
    "compatible" DT property to be set, among other device specific
    properties. Support for generic virtio devices is also added, which just
    need a MMIO node but not any special DT properties, for such devices the
    user needs to pass "virtio,device" in the "type" string.
    
    The parsing of generic virtio device configurations will be done in a
    separate commit.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit db75092aea988b4be78c8273626f2ee40b4012b8
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:21 2022 +0100

    tools/xenstore: enhance hashtable implementation
    
    Today it is possible to set a flag when calling hashtable_destroy() in
    order to specify whether the data associated with the hashtable entries
    should be freed or not. The keys of the entries will always be freed.
    
    Change that by replacing the flag of hashtable_destroy() by two flags
    for create_hashtable() which will specify whether the data and/or the
    key of each entry should be freed or not.
    
    This will enable users to have the key e.g. as part of the data.
    
    Add a new function hashtable_iterate() to call a user specified
    function for each entry in the hashtable.
    
    Add new primes to the primetable in order to support smaller sizes of
    the hashtable. The primes are selected according to:
    
    https://planetmath.org/goodhashtableprimes
    
    Update the URL in the source as the old one wasn't correct any longer.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit bb65cbd81caaaaf325d23f63b4c2165960563459
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:04 2022 +0100

    tools/xenstore: preserve errno across corrupt()
    
    Let corrupt() preserve errno in order to be able to simplify error
    handling in future.
    
    This is rather easy as the errno value when entering corrupt() is
    saved already.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 6a0d1914f0b19742436367a0019602992573bd4b
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:01:47 2022 +0100

    tools/xenstore: let tdb_logger() preserve errno
    
    tdb_logger() is called by TDB for logging errors. As errno is checked
    often after doing the logging, tdb_logger() should preserve errno.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 8d7acf3f7d8d2555c78421dced45bc49f79ae806
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Wed Dec 14 12:00:35 2022 +0100

    EFI: relocate the ESRT when booting via multiboot2
    
    This was missed in the initial patchset.
    
    Move efi_relocate_esrt() up to avoid adding a forward declaration.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 14:25:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 14:25:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462303.720468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Sh4-00021a-DA; Wed, 14 Dec 2022 14:25:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462303.720468; Wed, 14 Dec 2022 14:25:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Sh4-00021T-AN; Wed, 14 Dec 2022 14:25:10 +0000
Received: by outflank-mailman (input) for mailman id 462303;
 Wed, 14 Dec 2022 14:25:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RNn6=4M=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p5Sh2-00021N-Ku
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 14:25:08 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1b4dfa8c-7bbb-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 15:25:07 +0100 (CET)
Received: from BL0PR02CA0133.namprd02.prod.outlook.com (2603:10b6:208:35::38)
 by CH3PR12MB8305.namprd12.prod.outlook.com (2603:10b6:610:12e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 14:25:04 +0000
Received: from BL02EPF0000C405.namprd05.prod.outlook.com
 (2603:10b6:208:35:cafe::f4) by BL0PR02CA0133.outlook.office365.com
 (2603:10b6:208:35::38) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19 via Frontend
 Transport; Wed, 14 Dec 2022 14:25:04 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0000C405.mail.protection.outlook.com (10.167.241.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.8 via Frontend Transport; Wed, 14 Dec 2022 14:25:04 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 14 Dec
 2022 08:25:03 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 14 Dec
 2022 08:24:55 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 14 Dec 2022 08:24:54 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b4dfa8c-7bbb-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FRH/j4oFBLyXnD/qELhnEXEwIvNooFbanKgRbYE/1iqulMlSCAZs6bf7vbSoyOi5+1pTfJ1FHjieSwxoCpJ3zqw7DTc5JIgGG/O7Krxk2vZgj48xJYC25JJ0SdBqnltChzp1hW60ErwdtUuLq/Z7yBqNB7kepRseMyiYIYTPmJtSqwEjLGXI43JLXjto9GRFG6gYRhkszZuOuhT/Im5iZGTsbQe9NV1/ubc5sNYElgAG4/xkmzELZ01R8bNpzSHWv82YnScQp7MGnnbVBk2nSHEJxHvk9jIOL5nK0mvUDD+5WUrELHSgxMVU+HQpMRl3ckCvNMRylAxE3QOivOY6Fw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rViC0E6/8AxUopNptHfoO3R1Lvi/izGcKZXYR4IMSb0=;
 b=axzh4JPx9QXNx/yLZxDcZYfJei8K5ujkFYc3j/2LtCodFlAZBTrW2Mv6vOzeF+8Yo+tbETh2+NiHCGVCEwQ4U/9g+IXZv304TKwEFs/VbE60wrHQUQwjyIWTD99NlQtqt6cpHYYj7XfWvyOVoyiKPreU5Evs4oWQoxDJyRv1koKiSlr9XbiwhmkQO7rwi0U2r7cjDde5zhuWqA03+wKRkxQ8l5ZTM0INOzoB7WidKrXSipfrUwbbtwc1cUjKEHh44i4Sm6SYacXRNeADbRkLLLP8zoW9bcwNwj2Jr/o5qTwyw+u1znT46cJo67hukcjeiec4CG6ttzKgqcR4QrxvfQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rViC0E6/8AxUopNptHfoO3R1Lvi/izGcKZXYR4IMSb0=;
 b=tgO42psWPLbY/1VOZC4ohs58W7pxOksLrh+Ogh7xQCXiOcYZWzX47Gp6/f6WLy9VQG24RpUdcF4m73m2jz+3t1yx1c2hYXmQiAW0Raszi5WZA14QrceZ24RfRfhxTwxCoU4WBI2fNRmxTQg9Qfk+EpPTMR1QsUJvqHKnv4Jg5ZE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <95e9eff5-038d-923f-1afe-4f2d72bde5b3@amd.com>
Date: Wed, 14 Dec 2022 15:24:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 08/18] xen/arm32: head: Introduce an helper to flush
 the TLBs
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: <Luca.Fancellu@arm.com>, Julien Grall <jgrall@amazon.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
 <20221212095523.52683-9-julien@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20221212095523.52683-9-julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0000C405:EE_|CH3PR12MB8305:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b5c7c2f-ec02-4416-6da5-08dadddefe24
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	A1MFb8kz21DrfwPrctEGGTH57hXSKHi+bS01DfdDQsONNa/k5RSl0ReJqpeBxxVQ5FRIIT1ydzcDYJbIFty3MHek1/+U5loc6lP0mWBzYzzoJWT63OPutMAb8kuVXLnVCDOloOqAMkybPiflzZ9ImHA//sGyYGMttW9TNbwDD/dpahGtQVU5InJyM8JjLAZvAj/00iOOGQOMkkPwvpvkHYzWrLaBpwXhjw8fFW60ylo2qSnvddq3uF8sKOz+fCM2lnibF2XgJW3cA/B5XNn7wjUlW1mTxarML0boiNh1eGXSdHMqh4XWpfoEqOe6s08Eo/ogOYbdvJXYbwTvedWVXnyjL5qcxa1vR1DMdiYtKgaiLz7cQVXZnK5WKsXsyM1gf3p6wCC1yohjId/PFZJHfmyLslOKS7PVHTY1a4UUUb3/TgBJVM/jsCozOdiNS0CvYMvkG1WeFym9+BHGMvzDWXD1kF7nrP08XcTkN3Q0QNR3o1bZoSxNX7xdRZQboA48ZdVM41bLdJUtJ9GSlOhLglcOPyxpuBGtbLwlDkU958DOcoGZPbe1egOrj8W5t6yKOAgbbBw8qsY9Noec1K7FPSf1ktopj72xkm471rSuwp10ydDlY3n9F8oOV2hXJEjTNC5qzCdUMWPaEu0HOQwpo359W8BcNXRAvg23cNv0cGQCfuRjhymwIzOJT5U0F0eYNoezHyCpTKdUzORyUKx0UXhZTq4nyfh3okktK1kdHVL/VSPJnlmCoDK3mjq/b1Mrv3SfD29z0bjGyWJZ+4C2ew==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(136003)(376002)(346002)(451199015)(40470700004)(36840700001)(46966006)(36860700001)(82310400005)(336012)(2616005)(47076005)(86362001)(426003)(31696002)(40480700001)(83380400001)(40460700003)(36756003)(356005)(82740400003)(81166007)(31686004)(44832011)(2906002)(316002)(16576012)(8936002)(41300700001)(70586007)(70206006)(5660300002)(8676002)(4326008)(478600001)(53546011)(186003)(26005)(110136005)(54906003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 14:25:04.2156
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b5c7c2f-ec02-4416-6da5-08dadddefe24
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BL02EPF0000C405.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8305

Hi Julien,

On 12/12/2022 10:55, Julien Grall wrote:
> 
> 
> From: Julien Grall <jgrall@amazon.com>
> 
> The sequence for flushing the TLBs is 4 instruction long and often
> requires an explanation how it works.
> 
> So create an helper and use it in the boot code (switch_ttbr() is left
Here and in title: s/an helper/a helper/

> alone for now).
Could you explain why?

> 
> Note that in secondary_switched, we were also flushing the instruction
> cache and branch predictor. Neither of them was necessary because:
>     * We are only supporting IVIPT cache on arm32, so the instruction
>       cache flush is only necessary when executable code is modified.
>       None of the boot code is doing that.
>     * The instruction cache is not invalidated and misprediction is not
>       a problem at boot.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Apart from that, the patch is good, so:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

> 
> ---
>     Changes in v3:
>         * Fix typo
>         * Update the documentation
>         * Rename the argument from tmp1 to tmp
> ---
>  xen/arch/arm/arm32/head.S | 30 +++++++++++++++++-------------
>  1 file changed, 17 insertions(+), 13 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 40c1d7502007..315abbbaebec 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -66,6 +66,20 @@
>          add   \rb, \rb, r10
>  .endm
> 
> +/*
> + * Flush local TLBs
> + *
> + * @tmp:    Scratch register
As you are respinning a series anyway, could you add just one space after @tmp:?

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 14:50:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 14:50:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462314.720482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5T5S-00063c-Fe; Wed, 14 Dec 2022 14:50:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462314.720482; Wed, 14 Dec 2022 14:50:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5T5S-00063V-CX; Wed, 14 Dec 2022 14:50:22 +0000
Received: by outflank-mailman (input) for mailman id 462314;
 Wed, 14 Dec 2022 14:50:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5T5R-00063L-Nt; Wed, 14 Dec 2022 14:50:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5T5R-0003jO-M3; Wed, 14 Dec 2022 14:50:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5T5R-0003wE-6h; Wed, 14 Dec 2022 14:50:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5T5R-0003IY-6E; Wed, 14 Dec 2022 14:50:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9m6Vp5wGdClFfitZ4bptMQIcJ5dtAPaihA63G2Iyngk=; b=jGQXxA+mOzGcdxnryA2s+nUiKl
	UU2Ex7kQx5hG5ttMOW9l/n/B5h5jhrjsd9XcNIVI6kBOyMDJs94rpAsHIPAUZvKrDunQw+D6ouDWK
	DGYizT1jyKg7WGONrZ9KadknkMKFczbLWlZLMs9i+M+LHaFdsr87qq+Dgg/7Ep7lXxFw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175191-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175191: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=5ef2582646eb98af208ce37355f82bdef39931fa
X-Osstest-Versions-That:
    libvirt=03a25597f19cfd8e0e00aaa0cfd45940c916f896
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 14:50:21 +0000

flight 175191 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175191/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175162
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175162
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175162
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              5ef2582646eb98af208ce37355f82bdef39931fa
baseline version:
 libvirt              03a25597f19cfd8e0e00aaa0cfd45940c916f896

Last test of basis   175162  2022-12-13 04:18:53 Z    1 days
Testing same since   175191  2022-12-14 04:18:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrangé <berrange@redhat.com>
  Jan Tomko <jtomko@redhat.com>
  Ján Tomko <jtomko@redhat.com>
  Kristina Hanicova <khanicov@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  김인수 <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   03a25597f1..5ef2582646  5ef2582646eb98af208ce37355f82bdef39931fa -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 15:02:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 15:02:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462329.720499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5TGk-0007yG-Jz; Wed, 14 Dec 2022 15:02:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462329.720499; Wed, 14 Dec 2022 15:02:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5TGk-0007y9-GB; Wed, 14 Dec 2022 15:02:02 +0000
Received: by outflank-mailman (input) for mailman id 462329;
 Wed, 14 Dec 2022 15:02:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2C/v=4M=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1p5TGj-0007y3-UP
 for xen-devel@lists.xen.org; Wed, 14 Dec 2022 15:02:02 +0000
Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com
 [2607:f8b0:4864:20::1029])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4283f505-7bc0-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 16:02:00 +0100 (CET)
Received: by mail-pj1-x1029.google.com with SMTP id u5so7194821pjy.5
 for <xen-devel@lists.xen.org>; Wed, 14 Dec 2022 07:02:00 -0800 (PST)
Received: from [10.17.77.104] (ll-22.209.223.85.sovam.net.ua. [85.223.209.22])
 by smtp.gmail.com with ESMTPSA id
 u18-20020a170903125200b001897916be2bsm1967396plh.268.2022.12.14.07.01.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 14 Dec 2022 07:01:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4283f505-7bc0-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=FkB8QBBXb8tMdOFML7d7eFNmZSeKWieQBEul+3uhvd0=;
        b=lZWNFg4GDox2W+G81y21rs42PO1TV5hSt5d87BZ6NdhQ2m9/Cj3UunQBS8YZZgrrQA
         dnuTVl9qdc7klWkHIvN1OGUfBeQkhjZROUPDrZMtEvRePuNXs7k55xnyRbmSZ2hlg8/T
         ENSRcZY9EC5tcXueREUOlgXjDh30iJS/SDcyVJeE2qAFWvPDehKFO0XYJn2nuyRd6u7E
         tKxC8nFg6/5Qwf5meNs8ra+5tHRyy4KSzjqTL5jVKZvEdyut36RCHMpQVlrl1f4RPV/9
         6ADofY6mE/ACDb8guzW1+PBDxMYE2LCO/3jTiDwNe0hz1wSCJisWpfvB3jkbAF1iVZso
         oeVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=FkB8QBBXb8tMdOFML7d7eFNmZSeKWieQBEul+3uhvd0=;
        b=baG7Ce6swUzV2P7AmrjGs0TdBcK8d+Vhsv9lSZGdFD7f6yhSROkI8OxU4WJJQRMcbn
         lY8YUCuuVScesFRPCMn7mEVzJ3NBwWae5OgtzELX+V28oqN07DSNyJ8dyKrN3bnHeOo4
         CzTTc4jsiejnqJMcRbIKCTh/WdPU7IGVpZrmpMZKNee7aA76QwsKMIPM2djOHfNCqlfx
         S6JM9gtUIgCxXkZjtsRGl4qzsOJmJyBLRfoAFp9zgkwd3VcuKNAIqHycEUy6IqevlDqT
         DrpVF/gMGcye8oqpYICGYHQ8y6ZKDP5ZDVbRsPAb/BLjKWYTnSMKiSM4f7+Cp132q/lg
         CPhw==
X-Gm-Message-State: ANoB5pm0hELJ2jZ/rBONbfK14JV7FBAHb1dDXWJI7c/+76Ob9zFGee1r
	akaqA2hIREK7Sr9JQlo5xZo=
X-Google-Smtp-Source: AA0mqf51dE1GMFmotbfkODve6SFky8sDj+mhLbj3b4J1onZWdhzOhii14b45dSwUwzBzQlvlWCVfcQ==
X-Received: by 2002:a17:902:768b:b0:186:865c:ea17 with SMTP id m11-20020a170902768b00b00186865cea17mr24325384pll.38.1671030119171;
        Wed, 14 Dec 2022 07:01:59 -0800 (PST)
Message-ID: <f4ba541c-d089-28af-c80b-dcb0fa87a9d7@gmail.com>
Date: Wed, 14 Dec 2022 17:01:49 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: Virtio-disk updates for latest Xen ?
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 Vincent Guittot <vincent.guittot@linaro.org>, Juergen Gross
 <jgross@suse.com>, xen-devel@lists.xen.org
References: <CAKohpo=u7qp4URjRRAMM4xEytmZoKZAJOZLw4v0HTk13BrK-fw@mail.gmail.com>
 <CAPD2p-kfhaygmNNutUdk-mApR7z1YDSTYCEhtLgLsXi+-wbv8A@mail.gmail.com>
 <20221207002138.qulrlav3z3heozk4@vireshk-i7>
 <20221207035918.amzgrybqub632dyc@vireshk-i7>
Content-Language: en-US
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <20221207035918.amzgrybqub632dyc@vireshk-i7>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 07.12.22 05:59, Viresh Kumar wrote:

Hello Viresh

First of all, sorry for the late response.
The second, thank you for the investigation.


> On 07-12-22, 05:51, Viresh Kumar wrote:
>> I am not sure how to get this working, as there is no finalizing event
>> for the directory. Maybe our design is broken from the start and we
>> need to do it properly in some recommended way ?
> 
> For now this is what I have done to make it work:
> 
> diff --git a/xs_dev.c b/xs_dev.c
> index a6c8403cfe84..4643394a52a2 100755
> --- a/xs_dev.c
> +++ b/xs_dev.c
> @@ -413,20 +413,7 @@ static int xenstore_get_fe_domid(struct xs_dev *dev)
>   
>   static int xenstore_poll_be_watch(struct xs_dev *dev)
>   {
> -    unsigned int num;
> -    char **vec;
> -    int rc = 0;
> -
> -    vec = xs_read_watch(dev->xsh, &num);
> -    if (!vec)
> -        return -1;
> -
> -    if (!strcmp(vec[XS_WATCH_PATH], dev->path))
> -        rc = xenstore_get_fe_domid(dev);
> -
> -    free(vec);
> -
> -    return rc;
> +    return xenstore_get_fe_domid(dev);
>   }
> 
> This rns xenstore_get_fe_domid() for each event in the path
> "backend/virtio", and in my case it passes with the second event
> itself, which came for "backend/virtio/1/0" and this code doesn't run
> after that.
> 
> Note that I have tested this with my rust counterpart which received a
> similar change, I didn't test virtio-disk directly.


Today I had a chance to check virtio-disk on my H/W using new Xen branch 
which does include Juergen's series with commit 3a96013a3e17 
("tools/xenstore: reduce number of watch events").

Very interesting, but I didn't manage to reproduce an issue the similar 
to what you had already faced with the rust counterparts before (caused 
by the lack of Xenstore watches?). Note that I didn't debug what exactly 
events I had got during guest creation/destruction, I just made sure 
that backend worked as before. I checked that by running the backend in 
Dom0 and DomD and performed a couple of guest power cycles (reboot, 
destroy/create).

If you could provide the debug patch which you seem to use to print 
incoming events which you described in previous email, I think I would 
be able to re-check the situation at my side more deeper.


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 15:03:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 15:03:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462340.720510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5TI2-00009Z-2i; Wed, 14 Dec 2022 15:03:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462340.720510; Wed, 14 Dec 2022 15:03:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5TI1-00009Q-W9; Wed, 14 Dec 2022 15:03:21 +0000
Received: by outflank-mailman (input) for mailman id 462340;
 Wed, 14 Dec 2022 15:03:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=o/MR=4M=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1p5TI0-00009K-84
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 15:03:20 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 707faa9c-7bc0-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 16:03:18 +0100 (CET)
Received: from [10.10.1.154] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1671030190854446.2302863694556;
 Wed, 14 Dec 2022 07:03:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 707faa9c-7bc0-11ed-8fd2-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; t=1671030193; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=To0eg3nOPOFaIqo/Uz9qgpCBZSq/VldJXqLvC2NaHm8juC/p5yq9ESjf6FzPxoIJ8kKmcr3EKR+hbHvvXn5xQBpkSx/vIdiPmao2d+22VWKzib7R089jJmnuvmnhth0OIAaloLZ0KVcMi/oHMtvlEOsfbDLYhcwhdE3q2i+Cf04=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1671030193; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=ziw5uJWrPocAPMdIHontHrRbLbVHDc1OW1HD88yaKng=; 
	b=VorjYlI1I+t+It6ypHLd30oALy1Hb36TCL2JDo6eung5SBUlJlaQgFpDmLOCDQjmfohBAAIPNmx57V94rS9u0JW5xNT782zdWLz7IvEQhA/RkjPfS74FQ6Y4x4LdWMHQSxxejadBkuh4JPRHPaFaLbfR4lrVogYLLDvfrDIG+GU=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1671030193;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=ziw5uJWrPocAPMdIHontHrRbLbVHDc1OW1HD88yaKng=;
	b=pH20jn6yI01eJxQBlN79kRSMM+PDdNQz6u/Bpr1ZDE1gxDcOc3085nKUeVFK8hh9
	MnwT8Nr9oC9KsKyNTXWr87AUaqZtGxxvLaZhvHP6m/hs0KnEHeoFxw/WVhQLKfOT0RO
	lHau+o/mxpvbaCRTHMqYallLOiTXwrzFh2yDy25w=
Message-ID: <933c9378-8f0d-41e6-ec9a-3a702ef13f24@apertussolutions.com>
Date: Wed, 14 Dec 2022 10:03:07 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [RFC PATCH 0/3] xen/spinlock: make recursive spinlocks a
 dedicated type
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Tamas K Lengyel <tamas@tklengyel.com>,
 Lukasz Hawrylko <lukasz@hawrylko.pl>, =?UTF-8?Q?Mateusz_M=c3=b3wka?=
 <mateusz.mowka@intel.com>, Paul Durrant <paul@xen.org>
References: <20220910154959.15971-1-jgross@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20220910154959.15971-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External


On 9/10/22 11:49, Juergen Gross wrote:
> Instead of being able to use normal spinlocks as recursive ones, too,
> make recursive spinlocks a special lock type.
> 
> This will make the spinlock structure smaller in production builds and
> add type-safety.

Just a little yak shaving, IMHO a spinlock is normally not expected to 
be recursive. Thus explicitly naming a spinlock as non-recursive I find 
to be redundant along with being expensive for typing. Whereas a 
recursive spinlock is the special instance and should have a declarative 
distinction. Only codifying the recursive type would significantly cut 
down on the size of the series and still provide equal type and visual 
clarification.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 15:21:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 15:21:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462349.720520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5TZ8-0003GN-JB; Wed, 14 Dec 2022 15:21:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462349.720520; Wed, 14 Dec 2022 15:21:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5TZ8-0003GG-GE; Wed, 14 Dec 2022 15:21:02 +0000
Received: by outflank-mailman (input) for mailman id 462349;
 Wed, 14 Dec 2022 15:21:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0y70=4M=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1p5TZ6-0003GA-U5
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 15:21:01 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on2082.outbound.protection.outlook.com [40.107.6.82])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e8880b10-7bc2-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 16:20:57 +0100 (CET)
Received: from AM6PR01CA0059.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:e0::36) by AM8PR08MB6451.eurprd08.prod.outlook.com
 (2603:10a6:20b:315::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 15:20:47 +0000
Received: from AM7EUR03FT028.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:e0:cafe::e4) by AM6PR01CA0059.outlook.office365.com
 (2603:10a6:20b:e0::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19 via Frontend
 Transport; Wed, 14 Dec 2022 15:20:47 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT028.mail.protection.outlook.com (100.127.140.192) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5924.11 via Frontend Transport; Wed, 14 Dec 2022 15:20:47 +0000
Received: ("Tessian outbound aeae1c7b66fd:v130");
 Wed, 14 Dec 2022 15:20:46 +0000
Received: from a566ae695563.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 72164559-CF17-47B0-9FE8-A16FCF384CF0.1; 
 Wed, 14 Dec 2022 15:20:45 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a566ae695563.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 14 Dec 2022 15:20:45 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DBAPR08MB5829.eurprd08.prod.outlook.com (2603:10a6:10:1a9::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Wed, 14 Dec
 2022 15:20:31 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda%3]) with mapi id 15.20.5924.010; Wed, 14 Dec 2022
 15:20:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8880b10-7bc2-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rTym/Yo5ckKFFKsvIeBULuz83/6+wmN7G1wBIkwWE4k=;
 b=Ko6qbhuibid0+i6sbuW3PEneOmZWKsO29c0M0m1gDYGPJwPXYgy5mkyR+ohdxlmSKwR/k8M7qOCof907LCkKAthU3capo737gPVbZ0sFCla9ZfnZGNiLQnXZlUos7Nrg2gQuxPjqslcq01vZbghfSoRfnYKOLc+GJByLdu8IyOs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 569ed49f5d80670b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NGnOur/jtEFs7N/csqCKlxaRO8ntsOdnWYVFJAgQyyYfdqDl0/NYBihczHUUOnrzDWnnC5NjNRCrxu6+e2quSjuaPAYtQbtbp0t+vXXw78tu6kYUt+W69bVNR2bgpBHCbYGDMkudBZeiSnZ5sqnUCJbikPllxbBXVA7/De88mRH1VaL6FRo2jA8YCeHrFDZEHwxfdP6hCYX+GZx5uJUDqdepbkWRXAhzVkWLSao/D/V2F6q7CNjonvAQMccFcEArvHj+LlyOesuOWUAOpakteh980Xh+QdSSEX6RAQmexvLYJ6nyC8TanOyPt+KgIqyvVxceaSr2j65CQfzJOA1F1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rTym/Yo5ckKFFKsvIeBULuz83/6+wmN7G1wBIkwWE4k=;
 b=ZjU1aqsW5cNFNdU0FJ0ERuvAseJms5bcxZGj3K3E6V9Hk3TWb8rIaQOWPLmHtNqQG5GOffo1epj6CZz6z+0PiDGv1C7EptVSh3e0S3t6ws0I8TqJXs9Gtg+i1b2jJ6fjWrLTXmu+sNQcIt/OQpzLSWt7iMTjjLa/Yr8xUAk7/a5yeMgcEk0nHw0glGoeUVQ3b25JAU25+X/1G2cphxCYGU+p8JwUwj5o//mfCK2SEc0po/b+NNU/OAMFCpf5QWeiKadT7MtsHpCgut5DNzFpCXTk12YbB/wNlaO/rmyVbCNuVQxRAto+wsGWirwVDFdObpbqm8m23vSOP2OVeLlllg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rTym/Yo5ckKFFKsvIeBULuz83/6+wmN7G1wBIkwWE4k=;
 b=Ko6qbhuibid0+i6sbuW3PEneOmZWKsO29c0M0m1gDYGPJwPXYgy5mkyR+ohdxlmSKwR/k8M7qOCof907LCkKAthU3capo737gPVbZ0sFCla9ZfnZGNiLQnXZlUos7Nrg2gQuxPjqslcq01vZbghfSoRfnYKOLc+GJByLdu8IyOs=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm: Allow to set grant table related limits for
 dom0less domUs
Thread-Topic: [PATCH] xen/arm: Allow to set grant table related limits for
 dom0less domUs
Thread-Index: AQHZD74qZCDATUsvpUqdx+UqIsQp5q5tf6sA
Date: Wed, 14 Dec 2022 15:20:31 +0000
Message-ID: <BAA21EC8-02F5-45AF-A8CB-34EF922AC7D6@arm.com>
References: <20221214130833.543-1-michal.orzel@amd.com>
In-Reply-To: <20221214130833.543-1-michal.orzel@amd.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DBAPR08MB5829:EE_|AM7EUR03FT028:EE_|AM8PR08MB6451:EE_
X-MS-Office365-Filtering-Correlation-Id: f16ea502-b2ed-4631-8205-08dadde6c6ae
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 kgCrP+9cWFyhw1/XXlhtjawJxWyVCzr07ikyq4UAs61Bm3V9xKsjkZuYXM3cUmrosjdCUQt2G59hAP3pRBinHmXcAYyXKfeF5pQEGCNb3KPy9RC6dRhL67LY4JWjP61jbeFGRSExMo74i2bmDPJPJ6GsvYYReGuzkQ2GmSo633x37p1+3BQTtvvdEjuc21VDzI/EzpfgOyk0FwKB+Y6AT/LnczOMAlb91qbzz764LieX+aMN6NSqeSZu7ENZ+4leA0Qy0j85QnI1Xw2VyV1wOxo79XJ6huwIQUeLA4QsCR/WlBwG5wN5PIaBMod+gUqyTD0XRcxbYwPnVQ35XHSSvvVWdzzEH7O4cKlnbov2c5ljEhttJZJSBtW4XxVQ+a7j2KykYRpbzx3CZCk2V9GTBDqw31LZd34x5uy9QF6p8MkoyVHH09YlbRGDJtwZDahhs91qxgoH9mgPMnXfAlpxeWA1UT6+KMmnSLwvgs7VqTpnE0DQeECXg9OTlWPR/U/EH7qh8u6axVn3Gb1v8MZnulHbIFb5zXLKuz0nQKp/9BOjaL1luUK9l8kdoeWsnuErkh+IncuzLbMSpLHv5wfXEOn1tkd1hhL+vc1rxL6h+07QtFJLptJwSbT2NfZtnJhGDOXrUbrKQuDIW+iIKBWLkhW5q0g7lntIvyOtT8VjGZ3mSK2/v4E0xpeoYV3ajp6bcuXLYAj2EH6/9vr8n2q0PHl9bg/H+afE6ESmmQtG7YlvLjlHcU3b0ZOQVUofRYCP
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(136003)(396003)(39860400002)(346002)(376002)(451199015)(38070700005)(66556008)(71200400001)(64756008)(66446008)(66476007)(53546011)(8676002)(4326008)(2906002)(2616005)(6506007)(86362001)(41300700001)(316002)(6916009)(54906003)(5660300002)(83380400001)(6512007)(36756003)(26005)(8936002)(186003)(66946007)(122000001)(33656002)(478600001)(6486002)(76116006)(38100700002)(91956017)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <C2BCF481B2151847AE2995A0572CEFB2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5829
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	70bb622c-2ba6-49e8-70fd-08dadde6bd14
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8pA7kueq4v3aI813D98UxjUGvYvbWLGEuvvTZ4ap6ZcGm4Pis0zAxjpI2fvhG6Zr0yVqpNhYWLZZEURPQPldy7nP60aInCIegJA6SKuAaV3qIRlmkkCh1yWAaJwEToRAZAcW4uYS3UPMK9/ikUPgWsj7mmwko50stjFe6zZIRrA46jm6GJ8cBbV1bFpy1g/eoG/I8ewqrVOEFLwzU5QMgrrLEF7sFchX7JGX+DQz84N6M6Df+ClZryEGQN+oLRqFJkzoSVoHVHfcJcuX0019aPoJbvWo4gQGYQ1FhcLNtDrpmSxqCVcTy/2ga54uD4zoxuhUeBMonL7+QsJYMAoAjt43aUP4xn3UwuhmVSwLcnUpu64mLv0OScEF8Om9N1Hs5E8xWI3iDKMEqDDcrJ267jcDeIbQ3RrbCWBPtNHcVB3Nk7FA7BFRjgfHXU4sKiOQd4x6tUzKv1HwbYryh8lmYWn2al/77YJ9kdMMHO6Yljia1IXWu7PAavyW0KxAfX1Qsf4tA65H3cmK/G33HSKrNs0gUuPLoLVwXPnJuMTLnUp/oDaCvMRrqMMw0piR3hUC+CGSLL+UT7DrjjIQcdvypDpOLQJRgd/wWClmuFa138WoW94MzKDQuudc3/QgM7TvQnUy93ykNHCnmF7S1YRjz7k4HttnqcVy4cFPnbZSkw7tiZD9DGGNTt8lTl02GD/9xCBlzqEU3tXZ+zAPAV/Wt32pPToRMFxNqGIYu8h2mw/UMG8gw7M9i31wcNcmmP1P8+db+/o5XDZs8Y6Qi61iVw==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(346002)(376002)(136003)(451199015)(36840700001)(40470700004)(46966006)(83380400001)(2616005)(336012)(86362001)(40460700003)(316002)(478600001)(54906003)(36756003)(356005)(33656002)(40480700001)(82740400003)(6506007)(53546011)(47076005)(82310400005)(81166007)(26005)(6512007)(186003)(2906002)(107886003)(6486002)(8936002)(6862004)(36860700001)(41300700001)(70206006)(5660300002)(8676002)(4326008)(70586007)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 15:20:47.1263
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f16ea502-b2ed-4631-8205-08dadde6c6ae
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6451



> On 14 Dec 2022, at 13:08, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> At the moment, for dom0less domUs, we do not have a way to specify
> per domain grant table related limits (unlike when using xl), namely
> max version, max number of grant frames, max number of maptrack frames.
> This means that such domains always use the values specified by the Xen
> command line parameters or their default values if unspecified.
>=20
> In order to have more control over dom0less domUs, introduce the
> following device-tree properties that can be set under domUs nodes:
> - max_grant_version to set the maximum grant table version the domain
>   is allowed to use,
> - max_grant_frames to set the maximum number of grant frames the domain
>   is allowed to have,
> - max_maptrack_frames to set the maximum number of grant maptrack frames
>   the domain is allowed to have.
>=20
> Update documentation accordingly.
>=20
> Note that the sanity checks regarding the passed values are already
> there in grant_table_init() resulting in panic in case of errors,
> therefore no need to repeat them in create_domUs().
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

The patch looks good to me.

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>


> ---
> docs/misc/arm/device-tree/booting.txt | 21 +++++++++++++++++++++
> xen/arch/arm/domain_build.c           | 11 ++++++++++-
> 2 files changed, 31 insertions(+), 1 deletion(-)
>=20
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device=
-tree/booting.txt
> index 87eaa3e25491..3879340b5e0a 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -223,6 +223,27 @@ with the following properties:
>     the default size of domain P2M pool, i.e. 1MB per guest vCPU plus 4KB
>     per MB of guest RAM plus 512KB for guest extended regions.
>=20
> +- max_grant_version
> +
> +    Optional. A 32-bit integer specifying the maximum grant table versio=
n
> +    the domain is allowed to use (valid values are 1 or 2). If this prop=
erty
> +    is missing, the value specified by Xen command line parameter gnttab=
=3Dmax-ver
> +    (or its default value if unspecified, i.e. 1) is used.
> +
> +- max_grant_frames
> +
> +    Optional. A 32-bit integer specifying the maximum number of grant fr=
ames
> +    the domain is allowed to have. If this property is missing, the valu=
e
> +    specified by Xen command line parameter gnttab_max_frames (or its de=
fault
> +    value if unspecified, i.e. 64) is used.
> +
> +- max_maptrack_frames
> +
> +    Optional. A 32-bit integer specifying the maximum number of grant ma=
ptrack
> +    frames the domain is allowed to have. If this property is missing, t=
he
> +    value specified by Xen command line parameter gnttab_max_maptrack_fr=
ames
> +    (or its default value if unspecified, i.e. 1024) is used.
> +
> Under the "xen,domain" compatible node, one or more sub-nodes are present
> for the DomU kernel and ramdisk.
>=20
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index bef5e905a73c..29b2f3e1faa2 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -3871,7 +3871,7 @@ void __init create_domUs(void)
>             .max_maptrack_frames =3D -1,
>             .grant_opts =3D XEN_DOMCTL_GRANT_version(opt_gnttab_max_versi=
on),
>         };
> -        unsigned int flags =3D 0U;
> +        unsigned int flags =3D 0U, val;
>=20
>         if ( !dt_device_is_compatible(node, "xen,domain") )
>             continue;
> @@ -3940,6 +3940,15 @@ void __init create_domUs(void)
>             d_cfg.cpupool_id =3D pool_id;
>         }
>=20
> +        if ( dt_property_read_u32(node, "max_grant_version", &val) )
> +            d_cfg.grant_opts =3D XEN_DOMCTL_GRANT_version(val);
> +
> +        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
> +            d_cfg.max_grant_frames =3D val;
> +
> +        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
> +            d_cfg.max_maptrack_frames =3D val;
> +
>         /*
>          * The variable max_init_domid is initialized with zero, so here =
it's
>          * very important to use the pre-increment operator to call
> --=20
> 2.25.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 15:28:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 15:28:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462358.720531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Tge-0004D5-DG; Wed, 14 Dec 2022 15:28:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462358.720531; Wed, 14 Dec 2022 15:28:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Tge-0004Cy-Ak; Wed, 14 Dec 2022 15:28:48 +0000
Received: by outflank-mailman (input) for mailman id 462358;
 Wed, 14 Dec 2022 15:28:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=H8nZ=4M=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p5Tgd-0004Cs-Ao
 for xen-devel@lists.xen.org; Wed, 14 Dec 2022 15:28:47 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff68d799-7bc3-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 16:28:46 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id D0A9B21E5F;
 Wed, 14 Dec 2022 15:28:44 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id A26731333E;
 Wed, 14 Dec 2022 15:28:44 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Nv9iJqzrmWOJSQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 14 Dec 2022 15:28:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff68d799-7bc3-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671031724; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=EvhfgL5DHeKPFJqizBygrm/mxuiC1yOz8RGaBFd+sMg=;
	b=XxXPznrlxJoQ5ST5gsP0gO9cJro9CIwabCCTeqqWlamKA3oBuuVbypOeJxD3VsH3Ngt/Fw
	GE4+A2Zo9+Rr3SiMYYR+p6ybSGGKTRM1BqKL+ddHQzH3090S894RY2RBmjJoRCrL2BBKgn
	kMj/kUtYattRjXXhe4VElgkcn8bpkIs=
Message-ID: <97149e94-0c3e-52fc-2da9-cacb9fdde9c2@suse.com>
Date: Wed, 14 Dec 2022 16:28:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>,
 Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 Vincent Guittot <vincent.guittot@linaro.org>, xen-devel@lists.xen.org
References: <CAKohpo=u7qp4URjRRAMM4xEytmZoKZAJOZLw4v0HTk13BrK-fw@mail.gmail.com>
 <CAPD2p-kfhaygmNNutUdk-mApR7z1YDSTYCEhtLgLsXi+-wbv8A@mail.gmail.com>
 <20221207002138.qulrlav3z3heozk4@vireshk-i7>
From: Juergen Gross <jgross@suse.com>
Subject: Re: Virtio-disk updates for latest Xen ?
In-Reply-To: <20221207002138.qulrlav3z3heozk4@vireshk-i7>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------G04LyaDo7F0D0dqTHHjFD2k0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------G04LyaDo7F0D0dqTHHjFD2k0
Content-Type: multipart/mixed; boundary="------------a3EuGedoNt8k700eH21q4gx0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Viresh Kumar <viresh.kumar@linaro.org>,
 Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 Vincent Guittot <vincent.guittot@linaro.org>, xen-devel@lists.xen.org
Message-ID: <97149e94-0c3e-52fc-2da9-cacb9fdde9c2@suse.com>
Subject: Re: Virtio-disk updates for latest Xen ?
References: <CAKohpo=u7qp4URjRRAMM4xEytmZoKZAJOZLw4v0HTk13BrK-fw@mail.gmail.com>
 <CAPD2p-kfhaygmNNutUdk-mApR7z1YDSTYCEhtLgLsXi+-wbv8A@mail.gmail.com>
 <20221207002138.qulrlav3z3heozk4@vireshk-i7>
In-Reply-To: <20221207002138.qulrlav3z3heozk4@vireshk-i7>

--------------a3EuGedoNt8k700eH21q4gx0
Content-Type: multipart/mixed; boundary="------------cvA6tuk8N9jXg5F4V0S1h08L"

--------------cvA6tuk8N9jXg5F4V0S1h08L
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMDcuMTIuMjIgMDE6MjEsIFZpcmVzaCBLdW1hciB3cm90ZToNCj4gK2xpc3QNCj4gDQo+
IE9uIDA2LTEyLTIyLCAxMzo0MCwgT2xla3NhbmRyIFR5c2hjaGVua28gd3JvdGU6DQo+PiBP
biBUdWUsIERlYyA2LCAyMDIyIGF0IDE6MTUgUE0gVmlyZXNoIEt1bWFyIDx2aXJlc2gua3Vt
YXJAbGluYXJvLm9yZz4gd3JvdGU6DQo+Pj4gSGkgT2xla3NhbmRyLA0KPj4gSGVsbG8gVmly
ZXNoDQo+Pj4NCj4+PiBJIGZvdW5kIHRoYXQgbXkgcnVzdCBjb3VudGVycGFydCBbMV0gb2Yg
dmlydGlvLWRpc2sgcmVwb3NpdG9yeSBicm9rZQ0KPj4+IHdpdGggdGhpcyBjb21taXQ6DQo+
Pj4NCj4+PiBjb21taXQgM2E5NjAxM2EzZTE3ICgidG9vbHMveGVuc3RvcmU6IHJlZHVjZSBu
dW1iZXIgb2Ygd2F0Y2ggZXZlbnRzIikNCj4+Pg0KPj4+IEFuZCBzbyB3YXMgd29uZGVyaW5n
IGlmIHlvdSBoYXZlIGFscmVhZHkgZml4ZWQgdGhhdCBmb3INCj4+PiB2aXJ0aW8tZGlzayBv
ciBub3QuIEFuZCBJIGNhbiBqdXN0IGNvcHkgd2hhdCB5b3UgaGF2ZSBjaGFuZ2VkIDopDQo+
Pj4NCj4+DQo+PiBJbnRlcmVzdGluZywgSSBhbSBub3QgYXdhcmUgb2YgdGhhdCBpc3N1ZS4g
SSBoYXZlbid0IHRyaWVkIHZpcnRpby1kaXNrIHdpdGgNCj4+IHJlY2VudCAobGF0ZXN0KSBY
ZW4sIEkgd2FzIG1vc3RseSBwbGF5aW5nIHdpdGggUWVtdSBiYWNrZW5kcy4gVGhhbmtzIGZv
cg0KPj4gbGV0dGluZyBtZSBrbm93LCBJIHdpbGwgcmUtY2hlY2sgb25jZSBJIGhhdmUgYWNj
ZXNzIHRvIG15IGhhcmR3YXJlIGFnYWluLg0KPiANCj4gSG1tLCBtb3ZlZCBhIGxpdHRsZSBj
bG9zZXIgOikNCj4gDQo+IFdlIGxvb2sgYXQgdGhlIHdhdGNoIGV2ZW50cyBoZXJlIFsyXSBv
bmUgYnkgb25lIGFuZCB3YWl0IGZvciB0aGUNCj4gZGlyZWN0b3J5IG9uZSB0byBjb21lICgi
YmFja2VuZC9kaXNrIiBpbiB5b3VyIGNhc2UgSSB0aGluaywgaXQgaXMNCj4gImJhY2tlbmQv
dmlydGlvIiB3aXRoIG15IGxhdGVzdCBwYXRjaGVzKS4gVGhpcyBpcyB0aGUgc2Vjb25kIGRp
cmVjdG9yeQ0KPiBldmVudCB3aGljaCB1c2VkIHRvIGNvbWUgYWZ0ZXIgdGhlIGRpcmVjdG9y
eSBpcyBmaW5hbGl6ZWQuDQo+IA0KPiBFYXJsaWVyIHRoZSBldmVudHMgd2VyZSByZWFkIGZv
ciBmb2xsb3dpbmcgcGF0aHM6DQo+IA0KPiAiYmFja2VuZC92aXJ0aW8iDQo+ICJiYWNrZW5k
L3ZpcnRpby8xLzAiDQo+ICJiYWNrZW5kL3ZpcnRpby8xIg0KPiAiYmFja2VuZC92aXJ0aW8i
DQo+IA0KPiBhbmQgb24gdGhlIGxhc3QgZXZlbnQsIHdlIHVzZWQgdG8gZ28gYWhlYWQgYW5k
IGxvb2sgYXQgdGhlIGRpcmVjdG9yeQ0KPiB0byBmaW5kIHRoZSBGRSBkb21pZC4NCj4gDQo+
IFdpdGggdGhlIG5ldyBjaGFuZ2VzLCB0aGUgZXZlbnRzIEkgYW0gZ2V0dGluZyBhcmU6DQo+
IA0KPiBbc3JjL3hzLnJzOjE2NF0gJm5hbWUgPSAiYmFja2VuZC92aXJ0aW8iDQo+IFtzcmMv
eHMucnM6MTY0XSAmbmFtZSA9ICJiYWNrZW5kL3ZpcnRpby8xLzAiDQo+IFtzcmMveHMucnM6
MTY0XSAmbmFtZSA9ICJiYWNrZW5kL3ZpcnRpby8xLzAvZnJvbnRlbmQiDQo+IFtzcmMveHMu
cnM6MTY0XSAmbmFtZSA9ICJiYWNrZW5kL3ZpcnRpby8xLzAvZnJvbnRlbmQtaWQiDQo+IFtz
cmMveHMucnM6MTY0XSAmbmFtZSA9ICJiYWNrZW5kL3ZpcnRpby8xLzAvb25saW5lIg0KPiBb
c3JjL3hzLnJzOjE2NF0gJm5hbWUgPSAiYmFja2VuZC92aXJ0aW8vMS8wL3N0YXRlIg0KPiBb
c3JjL3hzLnJzOjE2NF0gJm5hbWUgPSAiYmFja2VuZC92aXJ0aW8vMS8wL2lycSINCj4gW3Ny
Yy94cy5yczoxNjRdICZuYW1lID0gImJhY2tlbmQvdmlydGlvLzEvMC9iYXNlIg0KPiBbc3Jj
L3hzLnJzOjE2NF0gJm5hbWUgPSAiYmFja2VuZC92aXJ0aW8vMS8wL3R5cGUiDQo+IFtzcmMv
eHMucnM6MTY0XSAmbmFtZSA9ICJiYWNrZW5kL3ZpcnRpby8xLzAvdHJhbnNwb3J0Ig0KPiAN
Cj4gSGVyZSB0aGUgc2Vjb25kIGV2ZW50IGZvciAiYmFja2VuZC92aXJ0aW8iIG5ldmVyIGNv
bWVzIGFuZCBzbyB3ZSBmYWlsLg0KDQpZZXMsIHRoaXMgaXMgYnkgZGVzaWduLg0KDQpOb3Rl
IHRoYXQgYWxsIFhlbnN0b3JlIGVudHJpZXMgZm9yIGEgZGV2aWNlIGFyZSB3cml0dGVuIHZp
YSBhIHRyYW5zYWN0aW9uLA0Kc28gdGhlcmUgc2hvdWxkIGJlIG5vIHdheSB5b3UgY2FuIHNl
ZSBhbnkgb2YgdGhlIGJhY2tlbmQgbm9kZXMgbWlzc2luZyB3aGVuDQpyZWNlaXZpbmcgYSB3
YXRjaCBmb3IgImJhY2tlbmQvdmlydGlvLzEvMCIgZHVlIHRvIGNyZWF0aW9uIG9mIHRoZSBk
ZXZpY2UuDQoNCkluIGZ1dHVyZSB3ZSBhcmUgZXZlbiBwbGFubmluZyB0byBzdXBwb3J0IHNl
dHRpbmcgdXAgWGVuc3RvcmUgd2F0Y2hlcyBmb3INCmEgbGltaXRlZCBwYXRoIGRlcHRoLCBy
ZXN1bHRpbmcgaW4gb25seSB0aGUgImJhY2tlbmQvdmlydGlvIiwgImJhY2tlbmQvdmlydGlv
LzEiDQphbmQgImJhY2tlbmQvdmlydGlvLzEvMCIgd2F0Y2ggZXZlbnRzIGJlaW5nIHNlbnQg
KHRoaXMgZXhhbXBsZSBpcyBmb3IgdGhlDQprZXJuZWwsIHdoaWNoIHdpbGwgdXNlIHRoZSBs
YXN0IGV2ZW50IHRvIGV4dHJhY3QgYWxsIHRoZSBuZWVkZWQgaW5mb3JtYXRpb24NCmZyb20g
dGhlIHJlcG9ydGVkIHBhdGgpLg0KDQoNCkp1ZXJnZW4NCg==
--------------cvA6tuk8N9jXg5F4V0S1h08L
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------cvA6tuk8N9jXg5F4V0S1h08L--

--------------a3EuGedoNt8k700eH21q4gx0--

--------------G04LyaDo7F0D0dqTHHjFD2k0
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOZ66wFAwAAAAAACgkQsN6d1ii/Ey/q
KAf+NsBaY9x0dm1iH475DULej6h3yNMzbA+UKgboiYrnpUqOJY3VjEZqzc8Bk+jJ/pUSl6MrewRO
wd0Rz8TcXew7QwQ196GKNUoqZKUcU1hyK2Tlaa5SYwWo0631i/c9tgpABZszK0+fvnm0TjGJXeBv
XiayTFDfFn/h4WPYgKajTVokasmVyk9GsW9pB5Gp6p+ps5/WTKo8j5vieplnS9JMvEf1Tb210C71
+6ioA/JZ1ehUqE5Um3oBFmb4fdm861KAQWkWLkZ+RxN3ISt12veMFb0BMNGge/1pHRp/BQkPA4Nb
yl4u6E+O4n1eDbhZuabQJR/C5G15X+iOtKq12ZfGyw==
=F5dH
-----END PGP SIGNATURE-----

--------------G04LyaDo7F0D0dqTHHjFD2k0--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 15:31:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 15:31:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462369.720543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5TjN-0005eq-11; Wed, 14 Dec 2022 15:31:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462369.720543; Wed, 14 Dec 2022 15:31:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5TjM-0005ej-Tc; Wed, 14 Dec 2022 15:31:36 +0000
Received: by outflank-mailman (input) for mailman id 462369;
 Wed, 14 Dec 2022 15:31:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=H8nZ=4M=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p5TjL-0005ed-AO
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 15:31:35 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 63d452e9-7bc4-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 16:31:34 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 9797C2222F;
 Wed, 14 Dec 2022 15:31:33 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 2DB461333E;
 Wed, 14 Dec 2022 15:31:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id tDW6CVXsmWNGSwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 14 Dec 2022 15:31:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63d452e9-7bc4-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671031893; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=lcQ/Gv8YF6dzEpM0Jqu+P1LKJ/NzZB2VUTm3uCQJfJ8=;
	b=Qa9qmwdPr5DNhh+qDPnY7ryq9Q+WGo8/18GtZEI93T/m3vRKIFu59/T7FaY4FYZa1fzfl0
	50cB3QYVskhIaWjw4WV1ONPKZ0vFelgaKURg57mpO1KAXn+8vU5eei6sNL0/ZxXrHBGnMB
	pnAKbVoSBCfx5Uc+aMq08ttci8fbtKY=
Message-ID: <d28412f2-2b94-5c69-c43f-481634562356@suse.com>
Date: Wed, 14 Dec 2022 16:31:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 0/3] xen/spinlock: make recursive spinlocks a
 dedicated type
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Tamas K Lengyel <tamas@tklengyel.com>,
 Lukasz Hawrylko <lukasz@hawrylko.pl>, =?UTF-8?Q?Mateusz_M=c3=b3wka?=
 <mateusz.mowka@intel.com>, Paul Durrant <paul@xen.org>
References: <20220910154959.15971-1-jgross@suse.com>
 <933c9378-8f0d-41e6-ec9a-3a702ef13f24@apertussolutions.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <933c9378-8f0d-41e6-ec9a-3a702ef13f24@apertussolutions.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------BsPBzYjlOnm0SyDuNFC632AL"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------BsPBzYjlOnm0SyDuNFC632AL
Content-Type: multipart/mixed; boundary="------------aKaZMplz0xHsaQTZMkJlGrZJ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Tamas K Lengyel <tamas@tklengyel.com>,
 Lukasz Hawrylko <lukasz@hawrylko.pl>, =?UTF-8?Q?Mateusz_M=c3=b3wka?=
 <mateusz.mowka@intel.com>, Paul Durrant <paul@xen.org>
Message-ID: <d28412f2-2b94-5c69-c43f-481634562356@suse.com>
Subject: Re: [RFC PATCH 0/3] xen/spinlock: make recursive spinlocks a
 dedicated type
References: <20220910154959.15971-1-jgross@suse.com>
 <933c9378-8f0d-41e6-ec9a-3a702ef13f24@apertussolutions.com>
In-Reply-To: <933c9378-8f0d-41e6-ec9a-3a702ef13f24@apertussolutions.com>

--------------aKaZMplz0xHsaQTZMkJlGrZJ
Content-Type: multipart/mixed; boundary="------------3Z6OlOkUnntNCP1uUAv42U7i"

--------------3Z6OlOkUnntNCP1uUAv42U7i
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTQuMTIuMjIgMTY6MDMsIERhbmllbCBQLiBTbWl0aCB3cm90ZToNCj4gDQo+IE9uIDkv
MTAvMjIgMTE6NDksIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBJbnN0ZWFkIG9mIGJlaW5n
IGFibGUgdG8gdXNlIG5vcm1hbCBzcGlubG9ja3MgYXMgcmVjdXJzaXZlIG9uZXMsIHRvbywN
Cj4+IG1ha2UgcmVjdXJzaXZlIHNwaW5sb2NrcyBhIHNwZWNpYWwgbG9jayB0eXBlLg0KPj4N
Cj4+IFRoaXMgd2lsbCBtYWtlIHRoZSBzcGlubG9jayBzdHJ1Y3R1cmUgc21hbGxlciBpbiBw
cm9kdWN0aW9uIGJ1aWxkcyBhbmQNCj4+IGFkZCB0eXBlLXNhZmV0eS4NCj4gDQo+IEp1c3Qg
YSBsaXR0bGUgeWFrIHNoYXZpbmcsIElNSE8gYSBzcGlubG9jayBpcyBub3JtYWxseSBub3Qg
ZXhwZWN0ZWQgdG8gYmUgDQo+IHJlY3Vyc2l2ZS4gVGh1cyBleHBsaWNpdGx5IG5hbWluZyBh
IHNwaW5sb2NrIGFzIG5vbi1yZWN1cnNpdmUgSSBmaW5kIHRvIGJlIA0KPiByZWR1bmRhbnQg
YWxvbmcgd2l0aCBiZWluZyBleHBlbnNpdmUgZm9yIHR5cGluZy4gV2hlcmVhcyBhIHJlY3Vy
c2l2ZSBzcGlubG9jayBpcyANCj4gdGhlIHNwZWNpYWwgaW5zdGFuY2UgYW5kIHNob3VsZCBo
YXZlIGEgZGVjbGFyYXRpdmUgZGlzdGluY3Rpb24uIE9ubHkgY29kaWZ5aW5nIA0KPiB0aGUg
cmVjdXJzaXZlIHR5cGUgd291bGQgc2lnbmlmaWNhbnRseSBjdXQgZG93biBvbiB0aGUgc2l6
ZSBvZiB0aGUgc2VyaWVzIGFuZCANCj4gc3RpbGwgcHJvdmlkZSBlcXVhbCB0eXBlIGFuZCB2
aXN1YWwgY2xhcmlmaWNhdGlvbi4NCg0KQSAibm9ybWFsIiBzcGlubG9jayBpcyBub24tcmVj
dXJzaXZlLg0KDQpBIHJlY3Vyc2l2ZSBzcGlubG9jayBpbiBYZW4gY2FuIGJlIGVpdGhlciB0
YWtlbiByZWN1cnNpdmUsIG9yIGl0IGNhbiBiZSB0YWtlbg0Kbm9uLXJlY3Vyc2l2ZSwgY2F1
c2luZyBmdXJ0aGVyIHJlY3Vyc2l2ZSBhdHRlbXB0cyB0byBzcGluLg0KDQpTbyB0aGUgZXhw
bGljaXQgbm9uLXJlY3Vyc2l2ZSBsb2NraW5nIGFwcGxpZXMgdG8gdGhhdCBzcGVjaWFsIHRy
ZWF0bWVudCBvZg0KcmVjdXJzaXZlIHNwaW5sb2Nrcy4NCg0KDQpKdWVyZ2VuDQo=
--------------3Z6OlOkUnntNCP1uUAv42U7i
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------3Z6OlOkUnntNCP1uUAv42U7i--

--------------aKaZMplz0xHsaQTZMkJlGrZJ--

--------------BsPBzYjlOnm0SyDuNFC632AL
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOZ7FQFAwAAAAAACgkQsN6d1ii/Ey+M
uwf+JyNY6vDn0oOSsydsktFKAPyAhufOXHfsaAz0xP4Y/mRgDOYjcMa1XvzUyM4WKxuk2FsPWXs5
lp1VV0nmBGiW+OxDARRwj9TzT13SXakFWsr3bKYKZDTNIzW4FRszqgEnyuWWns+2fldWCZXSSH1L
vCTtrIiVMEMdqvwPeRvYW5rs23yqiL110Moy5SHnhO7Blk0SiL2j4bF0Jmk3SVd5vmLJOdl2skq3
+eQvMylS4Lnj7xWiumGc3bk711p297oxCiDnye2tl1PiWz413n7QqnwLunlFiOp7CBSU/NrEz4E3
Fssm0iRQIOfXGA40HImKa63wjqCwRjzd/hiGoI6m6A==
=0xw+
-----END PGP SIGNATURE-----

--------------BsPBzYjlOnm0SyDuNFC632AL--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 16:13:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 16:13:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462407.720570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5UNR-0003z3-NB; Wed, 14 Dec 2022 16:13:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462407.720570; Wed, 14 Dec 2022 16:13:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5UNR-0003yw-Jq; Wed, 14 Dec 2022 16:13:01 +0000
Received: by outflank-mailman (input) for mailman id 462407;
 Wed, 14 Dec 2022 16:13:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5UNQ-0003ym-Bk; Wed, 14 Dec 2022 16:13:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5UNQ-000629-4Z; Wed, 14 Dec 2022 16:13:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5UNP-0007nh-Ns; Wed, 14 Dec 2022 16:12:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5UNP-0008Qy-NO; Wed, 14 Dec 2022 16:12:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8qo8k6GXzu0XJR1YnI063hJ04g07uwy5pYNzarGgxxM=; b=ZLf5LeVvxvkJs16dq8clQXupaE
	HgXmhc+BGCRMLAJXp6Pacr1Hb1oWp5q9Gq4VoA1aGoLlSSjqGvt3Zoi1rGaBPHu+xaAm312k+YOfS
	adm6jL/oxCCNCcXItTVll/wsU6fqBD2dOjwOBM9i7MswGe+graOQZKhvWD8Wx6wyBfV8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175189-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175189: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-livepatch:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-4:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-install/src_host:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-i386-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qcow2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-5:xen-boot:fail:regression
    xen-unstable:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-pygrub:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-examine-uefi:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine-bios:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine:reboot:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 16:12:59 +0000

flight 175189 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175189/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-livepatch     8 xen-boot                 fail REGR. vs. 175144
 test-xtf-amd64-amd64-4        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 175148
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 175148
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 175148
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 175148
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 175148
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 175148
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 175148
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 175148
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 175148
 test-amd64-i386-xl-xsm        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 175148
 test-amd64-amd64-xl-qcow2     8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 175148
 test-xtf-amd64-amd64-5        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 175148
 test-amd64-amd64-qemuu-freebsd11-amd64  8 xen-boot       fail REGR. vs. 175148

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175148
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175148
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175148
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175148
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175148
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175148
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175148
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175148  2022-12-12 01:53:19 Z    2 days
Failing since        175154  2022-12-12 15:07:03 Z    2 days    5 attempts
Testing same since   175189  2022-12-14 02:31:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       fail    
 test-xtf-amd64-amd64-5                                       fail    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 435 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 16:26:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 16:26:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462434.720582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5UaD-0006Mj-G6; Wed, 14 Dec 2022 16:26:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462434.720582; Wed, 14 Dec 2022 16:26:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5UaD-0006Mc-D5; Wed, 14 Dec 2022 16:26:13 +0000
Received: by outflank-mailman (input) for mailman id 462434;
 Wed, 14 Dec 2022 16:26:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=o/MR=4M=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1p5UaB-0006MW-UD
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 16:26:12 +0000
Received: from sender4-of-o51.zoho.com (sender4-of-o51.zoho.com
 [136.143.188.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03d76287-7bcc-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 17:26:10 +0100 (CET)
Received: from [10.10.1.154] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1671035159837286.7464051219322;
 Wed, 14 Dec 2022 08:25:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03d76287-7bcc-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; t=1671035161; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=gbRL9qgJjUKYpgU0PubO4J3m9Z20t3kmx0sF44i11WS9j/qXYtniaHVgXv287X+jFZHRUcTuHWsoJJIcyjElCVnR30gHXFdj2wq01usqmW5HigM91cx3YMFGbGX1NBDBVC+exFGDMW9gYg5wcvphUJE/pYiMtDb1i8xWgQPrmCY=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1671035161; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=VW5pjBa/Gm0HRNFs/wA/xK0T+dMEFL/pzZrpPtto174=; 
	b=Grhj+LYtC9EtkyndlVMjNRjdohd/Y7oovNFN+mx3Y7nYO45atUmbS5KqkMl9nxG1uJXyAr/z/LE8R2fzNjCmB8Hc792brbQzlMi1C8owtYYuzqfY0lrv2Lo15dsMz8+iGKZELnaX8FViZgoU5QzOlMvjvkY9dWw2cBV0fdsyriU=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=apertussolutions.com;
	spf=pass  smtp.mailfrom=dpsmith@apertussolutions.com;
	dmarc=pass header.from=<dpsmith@apertussolutions.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1671035161;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:Cc:Cc:References:From:From:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=VW5pjBa/Gm0HRNFs/wA/xK0T+dMEFL/pzZrpPtto174=;
	b=D/1q0m4F8Q07a9TBPeCMCnK4df2MLjzJJp1Izb8I/44bZqtfS0jRzhcbiKEejRlo
	MqNjQ9jhJcErcSDWFJTCak1uAqSYlIWaXQNP5DrRDkG3eYz5vqz+GJRX1hAa09bcMWx
	cDg2hDQj2sB0xilYMp4PqaNteSVNl3XFL4QWMk7Q=
Message-ID: <d57129f5-cfaf-0ed7-0dac-985b3a646b79@apertussolutions.com>
Date: Wed, 14 Dec 2022 11:25:57 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.0
Subject: Re: [RFC PATCH 0/3] xen/spinlock: make recursive spinlocks a
 dedicated type
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Tamas K Lengyel <tamas@tklengyel.com>,
 Lukasz Hawrylko <lukasz@hawrylko.pl>, =?UTF-8?Q?Mateusz_M=c3=b3wka?=
 <mateusz.mowka@intel.com>, Paul Durrant <paul@xen.org>
References: <20220910154959.15971-1-jgross@suse.com>
 <933c9378-8f0d-41e6-ec9a-3a702ef13f24@apertussolutions.com>
 <d28412f2-2b94-5c69-c43f-481634562356@suse.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <d28412f2-2b94-5c69-c43f-481634562356@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 12/14/22 10:31, Juergen Gross wrote:
> On 14.12.22 16:03, Daniel P. Smith wrote:
>>
>> On 9/10/22 11:49, Juergen Gross wrote:
>>> Instead of being able to use normal spinlocks as recursive ones, too,
>>> make recursive spinlocks a special lock type.
>>>
>>> This will make the spinlock structure smaller in production builds and
>>> add type-safety.
>>
>> Just a little yak shaving, IMHO a spinlock is normally not expected to 
>> be recursive. Thus explicitly naming a spinlock as non-recursive I 
>> find to be redundant along with being expensive for typing. Whereas a 
>> recursive spinlock is the special instance and should have a 
>> declarative distinction. Only codifying the recursive type would 
>> significantly cut down on the size of the series and still provide 
>> equal type and visual clarification.
> 
> A "normal" spinlock is non-recursive.
> 
> A recursive spinlock in Xen can be either taken recursive, or it can be 
> taken
> non-recursive, causing further recursive attempts to spin.

Yes, I understand the current situation.

> So the explicit non-recursive locking applies to that special treatment of
> recursive spinlocks.

I understand this, but to help clarify what I am saying is that 
individuals coming from outside Xen would expect is the spinlock family 
of calls to behave as a non-recursive spinlocks and recursive spinlock 
family of calls would provide the recursive behavior. Currently Xen's 
behavior is backwards to this, which this series continues and is a 
valid approach. Here spinlock and recursive spinlock family of calls are 
recursive and must use non-recursive spinlock family to have "normal" 
spinlock behavior. IMHO it would greatly simplify the code and align 
with the "normal" understanding of spinlocks if instead 
spin_{lock,locked,unlock} macros were the non-recursive calls and 
spin_{lock,locked,unlock}_recursive macros were the recursive calls. 
Then there would only be two suites of calls for spinlocks and a lot 
less keystrokes for need for most development.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 16:37:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 16:37:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462449.720601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5UkZ-0008Gt-JZ; Wed, 14 Dec 2022 16:36:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462449.720601; Wed, 14 Dec 2022 16:36:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5UkZ-0008Gm-Gk; Wed, 14 Dec 2022 16:36:55 +0000
Received: by outflank-mailman (input) for mailman id 462449;
 Wed, 14 Dec 2022 16:36:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=H8nZ=4M=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p5UkY-0008Ge-6R
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 16:36:54 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 83b62e78-7bcd-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 17:36:53 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 46A4B21E40;
 Wed, 14 Dec 2022 16:36:52 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id CE6BF1333E;
 Wed, 14 Dec 2022 16:36:51 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id abyyMKP7mWM1cgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 14 Dec 2022 16:36:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83b62e78-7bcd-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671035812; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=PyvwgZmcHUwgn/iFdAylnfgSHpELP1GmOXa+thqQGvs=;
	b=urmVoqGn+iAIkp7XDwdQpBf9DXVUGcUQ8vZwIkP9v+vXHD0l+Lc+3YLxFznP0WQaD91AM4
	nWkNkcdKNG77NyM6bVZlNCtZregUp/nTBz05aVYVYryeqfgVStVYWp2B2P0QF784pBNUIf
	fje5jkSu0piR4MyTVqCidSmHOfmbPWc=
Message-ID: <0fef4389-0373-b214-800c-f2457676e929@suse.com>
Date: Wed, 14 Dec 2022 17:36:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Tamas K Lengyel <tamas@tklengyel.com>,
 Lukasz Hawrylko <lukasz@hawrylko.pl>, =?UTF-8?Q?Mateusz_M=c3=b3wka?=
 <mateusz.mowka@intel.com>, Paul Durrant <paul@xen.org>
References: <20220910154959.15971-1-jgross@suse.com>
 <933c9378-8f0d-41e6-ec9a-3a702ef13f24@apertussolutions.com>
 <d28412f2-2b94-5c69-c43f-481634562356@suse.com>
 <d57129f5-cfaf-0ed7-0dac-985b3a646b79@apertussolutions.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 0/3] xen/spinlock: make recursive spinlocks a
 dedicated type
In-Reply-To: <d57129f5-cfaf-0ed7-0dac-985b3a646b79@apertussolutions.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------zb895KB2Hz1S1W4J2TYXy201"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------zb895KB2Hz1S1W4J2TYXy201
Content-Type: multipart/mixed; boundary="------------u1Hi7PgPEGFWTpJt6G3fITCf";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Tamas K Lengyel <tamas@tklengyel.com>,
 Lukasz Hawrylko <lukasz@hawrylko.pl>, =?UTF-8?Q?Mateusz_M=c3=b3wka?=
 <mateusz.mowka@intel.com>, Paul Durrant <paul@xen.org>
Message-ID: <0fef4389-0373-b214-800c-f2457676e929@suse.com>
Subject: Re: [RFC PATCH 0/3] xen/spinlock: make recursive spinlocks a
 dedicated type
References: <20220910154959.15971-1-jgross@suse.com>
 <933c9378-8f0d-41e6-ec9a-3a702ef13f24@apertussolutions.com>
 <d28412f2-2b94-5c69-c43f-481634562356@suse.com>
 <d57129f5-cfaf-0ed7-0dac-985b3a646b79@apertussolutions.com>
In-Reply-To: <d57129f5-cfaf-0ed7-0dac-985b3a646b79@apertussolutions.com>

--------------u1Hi7PgPEGFWTpJt6G3fITCf
Content-Type: multipart/mixed; boundary="------------WCiPuWs07kgP047jbO9LR4T6"

--------------WCiPuWs07kgP047jbO9LR4T6
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTQuMTIuMjIgMTc6MjUsIERhbmllbCBQLiBTbWl0aCB3cm90ZToNCj4gT24gMTIvMTQv
MjIgMTA6MzEsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBPbiAxNC4xMi4yMiAxNjowMywg
RGFuaWVsIFAuIFNtaXRoIHdyb3RlOg0KPj4+DQo+Pj4gT24gOS8xMC8yMiAxMTo0OSwgSnVl
cmdlbiBHcm9zcyB3cm90ZToNCj4+Pj4gSW5zdGVhZCBvZiBiZWluZyBhYmxlIHRvIHVzZSBu
b3JtYWwgc3BpbmxvY2tzIGFzIHJlY3Vyc2l2ZSBvbmVzLCB0b28sDQo+Pj4+IG1ha2UgcmVj
dXJzaXZlIHNwaW5sb2NrcyBhIHNwZWNpYWwgbG9jayB0eXBlLg0KPj4+Pg0KPj4+PiBUaGlz
IHdpbGwgbWFrZSB0aGUgc3BpbmxvY2sgc3RydWN0dXJlIHNtYWxsZXIgaW4gcHJvZHVjdGlv
biBidWlsZHMgYW5kDQo+Pj4+IGFkZCB0eXBlLXNhZmV0eS4NCj4+Pg0KPj4+IEp1c3QgYSBs
aXR0bGUgeWFrIHNoYXZpbmcsIElNSE8gYSBzcGlubG9jayBpcyBub3JtYWxseSBub3QgZXhw
ZWN0ZWQgdG8gYmUgDQo+Pj4gcmVjdXJzaXZlLiBUaHVzIGV4cGxpY2l0bHkgbmFtaW5nIGEg
c3BpbmxvY2sgYXMgbm9uLXJlY3Vyc2l2ZSBJIGZpbmQgdG8gYmUgDQo+Pj4gcmVkdW5kYW50
IGFsb25nIHdpdGggYmVpbmcgZXhwZW5zaXZlIGZvciB0eXBpbmcuIFdoZXJlYXMgYSByZWN1
cnNpdmUgc3BpbmxvY2sgDQo+Pj4gaXMgdGhlIHNwZWNpYWwgaW5zdGFuY2UgYW5kIHNob3Vs
ZCBoYXZlIGEgZGVjbGFyYXRpdmUgZGlzdGluY3Rpb24uIE9ubHkgDQo+Pj4gY29kaWZ5aW5n
IHRoZSByZWN1cnNpdmUgdHlwZSB3b3VsZCBzaWduaWZpY2FudGx5IGN1dCBkb3duIG9uIHRo
ZSBzaXplIG9mIHRoZSANCj4+PiBzZXJpZXMgYW5kIHN0aWxsIHByb3ZpZGUgZXF1YWwgdHlw
ZSBhbmQgdmlzdWFsIGNsYXJpZmljYXRpb24uDQo+Pg0KPj4gQSAibm9ybWFsIiBzcGlubG9j
ayBpcyBub24tcmVjdXJzaXZlLg0KPj4NCj4+IEEgcmVjdXJzaXZlIHNwaW5sb2NrIGluIFhl
biBjYW4gYmUgZWl0aGVyIHRha2VuIHJlY3Vyc2l2ZSwgb3IgaXQgY2FuIGJlIHRha2VuDQo+
PiBub24tcmVjdXJzaXZlLCBjYXVzaW5nIGZ1cnRoZXIgcmVjdXJzaXZlIGF0dGVtcHRzIHRv
IHNwaW4uDQo+IA0KPiBZZXMsIEkgdW5kZXJzdGFuZCB0aGUgY3VycmVudCBzaXR1YXRpb24u
DQo+IA0KPj4gU28gdGhlIGV4cGxpY2l0IG5vbi1yZWN1cnNpdmUgbG9ja2luZyBhcHBsaWVz
IHRvIHRoYXQgc3BlY2lhbCB0cmVhdG1lbnQgb2YNCj4+IHJlY3Vyc2l2ZSBzcGlubG9ja3Mu
DQo+IA0KPiBJIHVuZGVyc3RhbmQgdGhpcywgYnV0IHRvIGhlbHAgY2xhcmlmeSB3aGF0IEkg
YW0gc2F5aW5nIGlzIHRoYXQgaW5kaXZpZHVhbHMgDQo+IGNvbWluZyBmcm9tIG91dHNpZGUg
WGVuIHdvdWxkIGV4cGVjdCBpcyB0aGUgc3BpbmxvY2sgZmFtaWx5IG9mIGNhbGxzIHRvIGJl
aGF2ZSANCj4gYXMgYSBub24tcmVjdXJzaXZlIHNwaW5sb2NrcyBhbmQgcmVjdXJzaXZlIHNw
aW5sb2NrIGZhbWlseSBvZiBjYWxscyB3b3VsZCANCj4gcHJvdmlkZSB0aGUgcmVjdXJzaXZl
IGJlaGF2aW9yLiBDdXJyZW50bHkgWGVuJ3MgYmVoYXZpb3IgaXMgYmFja3dhcmRzIHRvIHRo
aXMsIA0KPiB3aGljaCB0aGlzIHNlcmllcyBjb250aW51ZXMgYW5kIGlzIGEgdmFsaWQgYXBw
cm9hY2guIEhlcmUgc3BpbmxvY2sgYW5kIHJlY3Vyc2l2ZSANCj4gc3BpbmxvY2sgZmFtaWx5
IG9mIGNhbGxzIGFyZSByZWN1cnNpdmUgYW5kIG11c3QgdXNlIG5vbi1yZWN1cnNpdmUgc3Bp
bmxvY2sgDQo+IGZhbWlseSB0byBoYXZlICJub3JtYWwiIHNwaW5sb2NrIGJlaGF2aW9yLiBJ
TUhPIGl0IHdvdWxkIGdyZWF0bHkgc2ltcGxpZnkgdGhlIA0KDQpNeSBzZXJpZXMgZG9lc24n
dCBjaGFuZ2UgdHJlYXRtZW50IG9mIG5vcm1hbCBzcGlubG9ja3MuIFRoZXkgYXJlIHN0aWxs
IHVzZWQgdmlhDQpzcGluX3tsb2NrLGxvY2tlZCx1bmxvY2t9Lg0KDQo+IGNvZGUgYW5kIGFs
aWduIHdpdGggdGhlICJub3JtYWwiIHVuZGVyc3RhbmRpbmcgb2Ygc3BpbmxvY2tzIGlmIGlu
c3RlYWQgDQo+IHNwaW5fe2xvY2ssbG9ja2VkLHVubG9ja30gbWFjcm9zIHdlcmUgdGhlIG5v
bi1yZWN1cnNpdmUgY2FsbHMgYW5kIA0KPiBzcGluX3tsb2NrLGxvY2tlZCx1bmxvY2t9X3Jl
Y3Vyc2l2ZSBtYWNyb3Mgd2VyZSB0aGUgcmVjdXJzaXZlIGNhbGxzLiBUaGVuIHRoZXJlIA0K
PiB3b3VsZCBvbmx5IGJlIHR3byBzdWl0ZXMgb2YgY2FsbHMgZm9yIHNwaW5sb2NrcyBhbmQg
YSBsb3QgbGVzcyBrZXlzdHJva2VzIGZvciANCj4gbmVlZCBmb3IgbW9zdCBkZXZlbG9wbWVu
dC4NCg0KT25seSB0aGUgcmVjdXJzaXZlIHNwaW5sb2NrIHR5cGUgdXNlciBtdXN0IHNwZWNp
ZnksIHdoZXRoZXIgYSBsb2NrIGlzIG1lYW50IHRvDQpiZSBoYW5kbGVkIGFzIGEgcmVjdXJz
aXZlIG9yIGEgbm9uLXJlY3Vyc2l2ZSBsb2NrIGF0dGVtcHQuIFRoaXMgaXMgc2ltaWxhciB0
bw0KYSByd2xvY2ssIHdoZXJlIHRoZSB1c2VyIG11c3Qgc3BlY2lmeSB3aGV0aGVyIHRvIGxv
Y2sgYXMgYSByZWFkZXIgb3IgYSB3cml0ZXIuDQoNCg0KSnVlcmdlbg0K
--------------WCiPuWs07kgP047jbO9LR4T6
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------WCiPuWs07kgP047jbO9LR4T6--

--------------u1Hi7PgPEGFWTpJt6G3fITCf--

--------------zb895KB2Hz1S1W4J2TYXy201
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOZ+6MFAwAAAAAACgkQsN6d1ii/Ey/2
Awf+Ph1g2tEzIy3M1Vt0HIguIk5GyvO/ODiTZ5Qzeh8tGXGACUQ/9Lhshjpc/vwgvBx98EkhEohO
LHTty5Bd1nZCMXGw9J4tY8fqYC+27Bf2f3jBJQ7FuGEzZMlDR60mszOI6NAH/ZDQR5722/eymKHv
jCdg+UNJXhmGvdBI9Ae1GvwutnsMjmrnAn4JTM0pWBxUq4Ow9jqnUtzOLHxzuGrK06sN6ymMHbwp
U/ZL4QSlk7CyT2dBeSHwEx936nMRi/IHppS3FSTB68RQFk9o0iNUDA5gcG/l2PkPFi2HpT4zxOce
dwqrXpynn1+6D5DdaG7d9KuJv0nzGZSHhFqLIk0clQ==
=2RAi
-----END PGP SIGNATURE-----

--------------zb895KB2Hz1S1W4J2TYXy201--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 16:46:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 16:46:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462458.720616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Uu7-0001Lh-KU; Wed, 14 Dec 2022 16:46:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462458.720616; Wed, 14 Dec 2022 16:46:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Uu7-0001La-GF; Wed, 14 Dec 2022 16:46:47 +0000
Received: by outflank-mailman (input) for mailman id 462458;
 Wed, 14 Dec 2022 16:46:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5Uu6-0001LQ-J0; Wed, 14 Dec 2022 16:46:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5Uu6-0006vB-HM; Wed, 14 Dec 2022 16:46:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5Uu6-0000tF-7T; Wed, 14 Dec 2022 16:46:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5Uu6-0005GX-70; Wed, 14 Dec 2022 16:46:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LbHbWSEF2cS9Guu5rZ6dAAxokhcZ3HCBlUCQM0fXY1g=; b=7BBZEu0xjM+g855qKAMmSmm82B
	vR+zNSzjbdT8A80MgRSaOvthygyzcO0VPXgLLXAmqUROCMSSVzCZVzUQZax4FhIv99d12w42uR1Ek
	vd0NwSwU1hVufQ8r+69ingpRDUDyY1w1bE9Gjoy80f7dLh4tzeCn6k2FZ2c0IxvRzgXQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175205-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175205: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=549b042943a57b748ce80070d1174e4ff5b8ef0b
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 16:46:46 +0000

flight 175205 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175205/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  549b042943a57b748ce80070d1174e4ff5b8ef0b
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    1 days
Testing same since   175199  2022-12-14 12:01:52 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 549b042943a57b748ce80070d1174e4ff5b8ef0b
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Wed Dec 14 12:04:26 2022 +0100

    drivers/char: support up to 1M BAR0 of xhci
    
    AMD's XHCI has BAR0 of 1M (compared to 64K on Intel). Map it as a whole
    (reserving more space in the fixmap). Make fixmap slot conditional on
    CONFIG_XHCI.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit dd54ea500be80f347402d75f3e4e7061e7db78d2
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:38 2022 +0100

    docs: add documentation for generic virtio devices
    
    This patch updates xl.cfg man page with details of generic Virtio device
    related information.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit 953efa0b7b188458b18e4a727f3b1dfa77eacb61
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:25 2022 +0100

    xl: add support to parse generic virtio device
    
    This patch adds basic support for parsing generic Virtio backend.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 43ba5202e2eebd350161a8db674bf928c3e6f859
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:09 2022 +0100

    libxl: add support for generic virtio device
    
    This patch adds basic support for configuring and assisting generic
    Virtio backends, which could run in any domain.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
    region) and pass them to the backend and update guest device-tree to
    create a DT node for the Virtio devices.
    
    Add special support for I2C and GPIO devices, which require the
    "compatible" DT property to be set, among other device specific
    properties. Support for generic virtio devices is also added, which just
    need a MMIO node but not any special DT properties, for such devices the
    user needs to pass "virtio,device" in the "type" string.
    
    The parsing of generic virtio device configurations will be done in a
    separate commit.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit db75092aea988b4be78c8273626f2ee40b4012b8
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:21 2022 +0100

    tools/xenstore: enhance hashtable implementation
    
    Today it is possible to set a flag when calling hashtable_destroy() in
    order to specify whether the data associated with the hashtable entries
    should be freed or not. The keys of the entries will always be freed.
    
    Change that by replacing the flag of hashtable_destroy() by two flags
    for create_hashtable() which will specify whether the data and/or the
    key of each entry should be freed or not.
    
    This will enable users to have the key e.g. as part of the data.
    
    Add a new function hashtable_iterate() to call a user specified
    function for each entry in the hashtable.
    
    Add new primes to the primetable in order to support smaller sizes of
    the hashtable. The primes are selected according to:
    
    https://planetmath.org/goodhashtableprimes
    
    Update the URL in the source as the old one wasn't correct any longer.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit bb65cbd81caaaaf325d23f63b4c2165960563459
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:04 2022 +0100

    tools/xenstore: preserve errno across corrupt()
    
    Let corrupt() preserve errno in order to be able to simplify error
    handling in future.
    
    This is rather easy as the errno value when entering corrupt() is
    saved already.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 6a0d1914f0b19742436367a0019602992573bd4b
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:01:47 2022 +0100

    tools/xenstore: let tdb_logger() preserve errno
    
    tdb_logger() is called by TDB for logging errors. As errno is checked
    often after doing the logging, tdb_logger() should preserve errno.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 8d7acf3f7d8d2555c78421dced45bc49f79ae806
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Wed Dec 14 12:00:35 2022 +0100

    EFI: relocate the ESRT when booting via multiboot2
    
    This was missed in the initial patchset.
    
    Move efi_relocate_esrt() up to avoid adding a forward declaration.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 18:02:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 18:02:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462475.720633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5W4r-0003Xh-5K; Wed, 14 Dec 2022 18:01:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462475.720633; Wed, 14 Dec 2022 18:01:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5W4r-0003Xa-2R; Wed, 14 Dec 2022 18:01:57 +0000
Received: by outflank-mailman (input) for mailman id 462475;
 Wed, 14 Dec 2022 18:01:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oonF=4M=templeofstupid.com=kjlx@srs-se1.protection.inumbo.net>)
 id 1p5W4q-0003XU-6r
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 18:01:56 +0000
Received: from dog.birch.relay.mailchannels.net
 (dog.birch.relay.mailchannels.net [23.83.209.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 621237df-7bd9-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 19:01:52 +0100 (CET)
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id CD9895C1953
 for <xen-devel@lists.xenproject.org>; Wed, 14 Dec 2022 18:01:49 +0000 (UTC)
Received: from pdx1-sub0-mail-a305.dreamhost.com (unknown [127.0.0.6])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 5B4B05C0E40
 for <xen-devel@lists.xenproject.org>; Wed, 14 Dec 2022 18:01:49 +0000 (UTC)
Received: from pdx1-sub0-mail-a305.dreamhost.com (pop.dreamhost.com
 [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384)
 by 100.97.74.58 (trex/6.7.1); Wed, 14 Dec 2022 18:01:49 +0000
Received: from kmjvbox (c-73-70-108-208.hsd1.ca.comcast.net [73.70.108.208])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 (Authenticated sender: kjlx@templeofstupid.com)
 by pdx1-sub0-mail-a305.dreamhost.com (Postfix) with ESMTPSA id 4NXNV46dFTzTh
 for <xen-devel@lists.xenproject.org>; Wed, 14 Dec 2022 10:01:48 -0800 (PST)
Received: from johansen (uid 1000) (envelope-from kjlx@templeofstupid.com)
 id e0042 by kmjvbox (DragonFly Mail Agent v0.12);
 Wed, 14 Dec 2022 10:01:47 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 621237df-7bd9-11ed-91b6-6bf2151ebd3b
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1671040909; a=rsa-sha256;
	cv=none;
	b=KOXQpu/MCDoF8OavvYtI4yUGqWzUZwvgRAFLZms8+Wz0z2gP0bgnwiR+uCPMQaoIYVJrWZ
	+DgNBJlTzkmuWQQQMQGjwN2fTr1ztJFTxiIP1i0jcerAHCLsqxD7a2nwSsAYPucxgs847F
	u5HRpsCKP3u3PA3+/jnBU8WG1ITIJjCeXiTUJyShWmh8IQ4wNVxVt8coY8QCS66LI8100u
	R2gHO+XdMYDNE4pv/6xJ2zwdI9NpvZitkuq2pey2Wvlyj3yTeRGzOAZ5YP9eTjoR/LLoG5
	zY1yCrYsxuZj4glMjLMwS/ASm7x5uIpYTm/72FyTpcD7hMzfNDPmiJMbHPjWjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
 d=mailchannels.net;
	s=arc-2022; t=1671040909;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:dkim-signature;
	bh=nzCxD9ep+HzlNnesq87i3wkKKSLnVJxdvoCsaYb8DkE=;
	b=EVHn8yeGHVF373vDppqxFAocgriXP9wkQO2gWgjfR8DBiyxTCXToikz0hnQmeStYR1fTYl
	WC2IB2/yNaipow3kBbqpLPS1elfShAZ5FCcDiFFeFrv8ma5YIIaeQS068BANtrQTkqnZ9r
	BaivQGNNWw9SPSlbLxtO7cgNb01IBHXvbU9A+ncls4X1HMYjVNGZcPBCn9GBzOsRVmlNRF
	fylijvsoLqknTjfajbIFTqIkrqcI6HELmKc1mKHO76Mz1ElZxivFRMbygyNziTn0kjAUp6
	IroiWoWRG2yUGIUfDzCvIpP6z5oPCmps5aCL9LRxgUa1cE7RDZroNKUgF9X4QQ==
ARC-Authentication-Results: i=1;
	rspamd-747d4f8b9f-rfb9v;
	auth=pass smtp.auth=dreamhost smtp.mailfrom=kjlx@templeofstupid.com
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MailChannels-Auth-Id: dreamhost
X-Supply-Dime: 2699dd4d1f0ea51e_1671040909616_1261819350
X-MC-Loop-Signature: 1671040909616:3174972027
X-MC-Ingress-Time: 1671040909615
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=templeofstupid.com;
	s=dreamhost; t=1671040909;
	bh=nzCxD9ep+HzlNnesq87i3wkKKSLnVJxdvoCsaYb8DkE=;
	h=Date:From:To:Cc:Subject:Content-Type;
	b=OW9k8ELEAyWo+0pl83ai3xFagV5qPlnhBJEtud7VRNpzpUw4wqpMU8MMjnrnVczuo
	 JTzHJ6L0ry5Mc0/ItMtQ7l1hJfUYum5eDEp/MJzqTrNP7ctgqz2agBAj+5Zdw72tMj
	 AKsS43GKUbyW3dWNHcPVuW+wocpy+QINo+Q0VIvg=
Date: Wed, 14 Dec 2022 10:01:47 -0800
From: Krister Johansen <kjlx@templeofstupid.com>
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Krister Johansen <kjlx@templeofstupid.com>,
	Juergen Gross <jgross@suse.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Anthony Liguori <aliguori@amazon.com>,
	David Reaver <me@davidreaver.com>,
	Brendan Gregg <brendan@intel.com>
Subject: Re: [PATCH linux-next v2] x86/xen/time: prefer tsc as clocksource
 when it is invariant
Message-ID: <20221214180147.GA1953@templeofstupid.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
 <20221212155730.GA1973@templeofstupid.com>
 <20221212160524.GB1973@templeofstupid.com>
 <d1a2b785-edc7-b7da-d2f2-123d1555022e@oracle.com>
 <20221212220959.GB1935@templeofstupid.com>
 <9dfe87f0-fc95-6c28-6695-62f1f5403df6@oracle.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <9dfe87f0-fc95-6c28-6695-62f1f5403df6@oracle.com>

On Tue, Dec 13, 2022 at 04:25:32PM -0500, Boris Ostrovsky wrote:
> 
> On 12/12/22 5:09 PM, Krister Johansen wrote:
> > On Mon, Dec 12, 2022 at 01:48:24PM -0500, Boris Ostrovsky wrote:
> > > On 12/12/22 11:05 AM, Krister Johansen wrote:
> > > > diff --git a/arch/x86/include/asm/xen/cpuid.h b/arch/x86/include/asm/xen/cpuid.h
> > > > index 6daa9b0c8d11..d9d7432481e9 100644
> > > > --- a/arch/x86/include/asm/xen/cpuid.h
> > > > +++ b/arch/x86/include/asm/xen/cpuid.h
> > > > @@ -88,6 +88,12 @@
> > > >     *             EDX: shift amount for tsc->ns conversion
> > > >     * Sub-leaf 2: EAX: host tsc frequency in kHz
> > > >     */
> > > > +#define XEN_CPUID_TSC_EMULATED       (1u << 0)
> > > > +#define XEN_CPUID_HOST_TSC_RELIABLE  (1u << 1)
> > > > +#define XEN_CPUID_RDTSCP_INSTR_AVAIL (1u << 2)
> > > > +#define XEN_CPUID_TSC_MODE_DEFAULT   (0)
> > > > +#define XEN_CPUID_TSC_MODE_EMULATE   (1u)
> > > > +#define XEN_CPUID_TSC_MODE_NOEMULATE (2u)
> > > This file is a copy of Xen public interface so this change should go to Xen first.
> > Ok, should I split this into a separate patch on the linux side too?
> 
> Yes. Once the Xen patch has been accepted you will either submit the same patch for Linux or sync Linux file with Xen (if there are more differences).

Thanks.  Based upon the feedback I received from you and Jan, I may try
to shrink the check in xen_tsc_safe_clocksource() down a bit.  In that
case, I may only need to refer to a single field in the leaf that
provides this information.  In that case, are you alright with dropping
the change to the header and referring to the value directly, or would
you prefer that I proceed with adding these to the public API?

> > > > +static int __init xen_tsc_safe_clocksource(void)
> > > > +{
> > > > +	u32 eax, ebx, ecx, edx;
> > > > +
> > > > +	if (!(xen_hvm_domain() || xen_pvh_domain()))
> > > > +		return 0;
> > > > +
> > > > +	if (!(boot_cpu_has(X86_FEATURE_CONSTANT_TSC)))
> > > > +		return 0;
> > > > +
> > > > +	if (!(boot_cpu_has(X86_FEATURE_NONSTOP_TSC)))
> > > > +		return 0;
> > > > +
> > > > +	if (check_tsc_unstable())
> > > > +		return 0;
> > > > +
> > > > +	cpuid(xen_cpuid_base() + 3, &eax, &ebx, &ecx, &edx);
> > > > +
> > > > +	if (eax & XEN_CPUID_TSC_EMULATED)
> > > > +		return 0;
> > > > +
> > > > +	if (ebx != XEN_CPUID_TSC_MODE_NOEMULATE)
> > > > +		return 0;
> > > Why is the last test needed?
> > I was under the impression that if the mode was 0 (default) it would be
> > possible for the tsc to become emulated in the future, perhaps after a
> > migration.  The presence of the tsc_mode noemulate meant that we could
> > count on the falseneess of the XEN_CPUID_TSC_EMULATED check remaining
> > constant.
> 
> This will filter out most modern processors with TSC scaling support where in default mode we don't intercept RDTCS after migration. But I don't think we have proper interface to determine this so we don't have much choice but to indeed make this check.

Yes, if this remains a single boot-time check, I'm not sure that knowing
whether the processor supports tsc scaling helps us.  If tsc_mode is
default, there's always a possibility of the tsc becoming emulated later
on as part of migration, correct?

The other thing that might be possible here is to add a background
timer that periodically checks if the tsc is still not emulated, and if
it suddenly becomes so, change the rating again to prefer the xen
clocksource.  I had written this off initially as an impractical
solution, since it seemed like a lot more mechanism and because it meant
the performance characteristics of the system would change without user
intervention.  However, if this seems like a good idea, I'm not opposed
to giving it a try.

-K


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 18:02:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 18:02:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462476.720644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5W51-0003p7-G0; Wed, 14 Dec 2022 18:02:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462476.720644; Wed, 14 Dec 2022 18:02:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5W51-0003p0-Cz; Wed, 14 Dec 2022 18:02:07 +0000
Received: by outflank-mailman (input) for mailman id 462476;
 Wed, 14 Dec 2022 18:02:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oonF=4M=templeofstupid.com=kjlx@srs-se1.protection.inumbo.net>)
 id 1p5W50-0003oI-Dm
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 18:02:06 +0000
Received: from dormouse.elm.relay.mailchannels.net
 (dormouse.elm.relay.mailchannels.net [23.83.212.50])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 685cf834-7bd9-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 19:02:02 +0100 (CET)
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 820D53C2038
 for <xen-devel@lists.xenproject.org>; Wed, 14 Dec 2022 18:01:59 +0000 (UTC)
Received: from pdx1-sub0-mail-a305.dreamhost.com (unknown [127.0.0.6])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 0B72F3C1F72
 for <xen-devel@lists.xenproject.org>; Wed, 14 Dec 2022 18:01:59 +0000 (UTC)
Received: from pdx1-sub0-mail-a305.dreamhost.com (pop.dreamhost.com
 [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384)
 by 100.97.48.82 (trex/6.7.1); Wed, 14 Dec 2022 18:01:59 +0000
Received: from kmjvbox (c-73-70-108-208.hsd1.ca.comcast.net [73.70.108.208])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 (Authenticated sender: kjlx@templeofstupid.com)
 by pdx1-sub0-mail-a305.dreamhost.com (Postfix) with ESMTPSA id 4NXNVF14ygzXJ
 for <xen-devel@lists.xenproject.org>; Wed, 14 Dec 2022 10:01:56 -0800 (PST)
Received: from johansen (uid 1000) (envelope-from kjlx@templeofstupid.com)
 id e0042 by kmjvbox (DragonFly Mail Agent v0.12);
 Wed, 14 Dec 2022 10:01:55 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 685cf834-7bd9-11ed-8fd2-01056ac49cbb
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1671040919; a=rsa-sha256;
	cv=none;
	b=y9g4ijT/mEN7CUp/1NOxPg18Z9NtPZ7+rLBBHp5jdnuad2Ni+XoZgIERxubK/ygCfmQaMx
	ScSLFKQVXdVgNgAnAVdWq5vI/5ofjEy7oT4rB6+pTR9v4U41pm05bxAfkVgnm6a1d7p9vO
	2G4Z4n9F4nPCKG5Le4FJ8/Jjp0ylHTKoa4ze8kyBzCUefNmjpRlBLzop6aYPiEelxAByG1
	KfEVtzHu5TNf9Jkrl8oKG/mvClRUtVJxyJGOLAfhaY53yQ5/+ijT+6H7vYL2/clAh/F807
	ONyuxUYWsP3ZGJK8ZEOeS0CJqNFaZD7IDE7LQ7AtXV1SjGpoIGjQv9hM6n3puQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
 d=mailchannels.net;
	s=arc-2022; t=1671040919;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:dkim-signature;
	bh=G41YyEQdAvdLNdmcCgSApXt2iuCmtnH5EcY+eahbXKU=;
	b=vfVyGrwEPwgqy95SJbcaVevJpTVRrhOK2WwgiQkIuIwBRk2JWqoYSNHTwAdfDSvX6QZKAk
	lRfVZr5OgdmyjZPSWUNZU8dDfMNZ54ya+v2AEQndg/0I28K3pnjYRMq5O0SvKqAibWmIw4
	Y8GElJ8nlTYmhCnEQgHOKgkar6EXdnAVHocChBlfW8ceWmloEOsaxCOZ7hyWtlsBaszRqe
	EenLpqyre8nqYGawVIeV3xanmDoG8p3iOM2LjWL97I/tN67bQIkjyxShLrBqPozzfAxidA
	aEjHW3O+15FMjDC6fGIWbrU35FhxI6Lr484ZLscQQdUrqNT/a4Bupe50ck6E4A==
ARC-Authentication-Results: i=1;
	rspamd-747d4f8b9f-ksmzl;
	auth=pass smtp.auth=dreamhost smtp.mailfrom=kjlx@templeofstupid.com
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MailChannels-Auth-Id: dreamhost
X-Power-Absorbed: 39f96b5d5912fa20_1671040919292_1392245694
X-MC-Loop-Signature: 1671040919292:2356347636
X-MC-Ingress-Time: 1671040919292
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=templeofstupid.com;
	s=dreamhost; t=1671040917;
	bh=G41YyEQdAvdLNdmcCgSApXt2iuCmtnH5EcY+eahbXKU=;
	h=Date:From:To:Cc:Subject:Content-Type;
	b=o+H50Bvqh65TWxi6MQInHB3ASJ0s2PbHm75XsoPD8JF6Z9CzxDz+ZtvnA+N1fAvGU
	 ZwVoiKaZ0quAQnXCWJ5fNGxJijxKseL9s2BPeaoy5IxQKTj+JqfhZ18n6hjGI2x6X9
	 OIxAjF10fl755W7/J3wvypLQOfPdNzIyrcTNNbUE=
Date: Wed, 14 Dec 2022 10:01:55 -0800
From: Krister Johansen <kjlx@templeofstupid.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Krister Johansen <kjlx@templeofstupid.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Anthony Liguori <aliguori@amazon.com>,
	David Reaver <me@davidreaver.com>,
	Brendan Gregg <brendan@intel.com>, Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [PATCH linux-next v2] x86/xen/time: prefer tsc as clocksource
 when it is invariant
Message-ID: <20221214180155.GB1953@templeofstupid.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
 <20221212155730.GA1973@templeofstupid.com>
 <20221212160524.GB1973@templeofstupid.com>
 <1eb6048b-bf23-78a0-9c3c-54bbd12c3864@suse.com>
 <20221212220519.GA1935@templeofstupid.com>
 <60582b25-4fb9-a2c8-9db3-9b5593f039c1@suse.com>
 <20221213185842.GA1987@templeofstupid.com>
 <9bec6472-1f61-8b36-102d-7f7c884be869@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <9bec6472-1f61-8b36-102d-7f7c884be869@suse.com>

On Wed, Dec 14, 2022 at 09:17:24AM +0100, Jan Beulich wrote:
> On 13.12.2022 19:58, Krister Johansen wrote:
> > On Tue, Dec 13, 2022 at 08:23:29AM +0100, Jan Beulich wrote:
> >> On 12.12.2022 23:05, Krister Johansen wrote:
> >>> On Mon, Dec 12, 2022 at 05:46:29PM +0100, Jan Beulich wrote:
> >>>> On 12.12.2022 17:05, Krister Johansen wrote:
> >>>>> Both the Intel SDM[4] and the Xen tsc documentation explain that marking
> >>>>> a tsc as invariant means that it should be considered stable by the OS
> >>>>> and is elibile to be used as a wall clock source.  The Xen documentation
> >>>>> further clarifies that this is only reliable on HVM and PVH because PV
> >>>>> cannot intercept a cpuid instruction.
> >>>>
> >>>> Without meaning to express a view on the argumentation as a whole, this
> >>>> PV aspect is suspicious. Unless you open-code a use of the CPUID insn
> >>>> in the kernel, all uses of CPUID are going to be processed by Xen by
> >>>> virtue of the respective pvops hook. Documentation says what it says
> >>>> for environments where this might not be the case.
> >>>
> >>> Thanks, appreciate the clarification here. Just restating this for my
> >>> own understanding: your advice would be to drop this check below?
> >>
> >> No, I'm unconvinced of if/where this transformation is really appropriate.
> > 
> > Ah, I see.  You're saying that you're not convinced that this code
> > should ever lower the priority of xen clocksource in favor of the tsc?
> > If so, are you willing to say a bit more about what you find to be
> > unconvincing?
> 
> With the not-for-PV justification not really applicable, the main question
> is how else you mean to justify that aspect. Once limited back to HVM/PVH,
> it may all be okay.

Got it.  I think I can provide an answer for this.

> >> My comment was merely to indicate that the justification for ...
> >>
> >>>>> +	if (!(xen_hvm_domain() || xen_pvh_domain()))
> >>>>> +		return 0;
> >>
> >> ... this isn't really correct.
> > 
> > The rationale for this bit of code was the justification that turns
> > out to be incorrect.  That sounds to me like I have unnessary code,
> > unless I was right by mistake?
> 
> The PV clock interface was specifically introduced because the TSC could
> not be reliably used by PV domains. This may have been purely due to
> limitations of the TSC at the time, so taking into account more modern
> stability guarantees may make it okay to be used by PV as well. But
> migration needs to be considered, and validity (for PV) of the deriving
> of the two synthetic feature bits you use also needs to be checked

The current incarnation of the patch confines itself to just cases where
tsc_mode is never emulate.  In mode default, a non-virtualized tsc is
only selected if the host tsc is safe (this is also derived from the
CPUID[80000007].EDX[8] -- tsc invariant bit), and the domain is either
hvm with tsc scaling support, or a domain where the guest tsc frequency
matches the host tsc frequency.

For the PV case, or any case I think, the administrator would have had
to take an explicit action to ensure that no virutalize is enabled on
the tsc, and the underlying feature flags would have either been
inherited from the base cpu, or explicitly added by intervention. I
presume that we'd want to honor these settings if they were enabled
manually?

I may once again be misreading the documentation, but my interpretation
of the requirements around migration was that if you set no-emulate on
the tsc it was up to you to ensure that the target system for the
migration either had the same tsc frequency, or supported scaling.

> (I find X86_FEATURE_NONSTOP_TSC particularly interesting, because PV domains
> don't really have any notion of "C states"). Note that e.g.
> early_init_intel() derives the two bits from CPUID[80000007].EDX[8],
> which is an opt-in feature for all guest types as per the present CPUID
> policy logic in the hypervisor, but then goes on and sets
> X86_FEATURE_NONSTOP_TSC_S3 (which you don't use in your patch, so just to
> point out a possible pitfall) purely based on family/model information.

Thanks for pointing this out.  It looks like it's specific to Intel Atom
systems that have a tsc that does not stop during suspend.  If this is
set, then the clocksource is eligible to be used to for suspend timing.
Since we don't set this, it looks like there's no behavior change.  E.g.
the tsc remains ineligible for consideration as a suspend clocksource.

-K




From xen-devel-bounces@lists.xenproject.org Wed Dec 14 18:20:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 18:20:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462518.720672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5WN9-0008KZ-Di; Wed, 14 Dec 2022 18:20:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462518.720672; Wed, 14 Dec 2022 18:20:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5WN9-0008KS-AY; Wed, 14 Dec 2022 18:20:51 +0000
Received: by outflank-mailman (input) for mailman id 462518;
 Wed, 14 Dec 2022 18:20:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5WN8-0008KG-Eu; Wed, 14 Dec 2022 18:20:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5WN8-0000bH-Cp; Wed, 14 Dec 2022 18:20:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5WN7-0005oN-Mg; Wed, 14 Dec 2022 18:20:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5WN7-0004gW-MB; Wed, 14 Dec 2022 18:20:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Z0NIHBSe+n6innDMUWMGJu+7vvp1G5ztE5qXcM2Nq3g=; b=xCFTu75/0NEQN8wwrWP/PHxlcz
	02pp8hMI/W5SUTPdzmympcF9qox/t26f/c94yyFivoM5/4jRRy2xPGZWkRcufXjRi1mujURTABSb7
	P0dIf08u1CWW6SAmj0kT3K6D3yPOZmayNjBFQtGtgr15mFQJhr4gsUXuf3XJKDZkMBro=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175202-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175202: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
X-Osstest-Versions-That:
    ovmf=804e8c656643642894a26a2ce3652ad4567b658f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 18:20:49 +0000

flight 175202 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175202/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc
baseline version:
 ovmf                 804e8c656643642894a26a2ce3652ad4567b658f

Last test of basis   175187  2022-12-14 01:40:42 Z    0 days
Testing same since   175202  2022-12-14 13:42:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Ray Ni <ray.ni@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   804e8c6566..d103840cfb  d103840cfb559c28831c2635b916d60118f671cc -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 18:28:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 18:28:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462531.720683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5WUE-0000yj-6b; Wed, 14 Dec 2022 18:28:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462531.720683; Wed, 14 Dec 2022 18:28:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5WUE-0000yc-3h; Wed, 14 Dec 2022 18:28:10 +0000
Received: by outflank-mailman (input) for mailman id 462531;
 Wed, 14 Dec 2022 18:28:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5WUD-0000yS-II; Wed, 14 Dec 2022 18:28:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5WUD-0000js-E9; Wed, 14 Dec 2022 18:28:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5WUD-0006Ub-3C; Wed, 14 Dec 2022 18:28:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5WUD-00031L-2h; Wed, 14 Dec 2022 18:28:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FlbneUmVibe6RKnL5bYZ6ialinpl2IznPLlpsKSPJ/I=; b=hQC4eEeiNrTdDJgInVHO389G+x
	dMcycycu0I1/TFPusS9VGRc8Vd79BHZSnmFYvN1OlxSyUARQ/WjdYmLvEbw9cZlpeUnJT8qUfV+iH
	PbEN4lC+gC1XpKeGqlyBRvtGLzr+xl5fgnyYaeHTy72sEXxw7P+gqejXc78bp7zxvuko=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175210-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175210: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=549b042943a57b748ce80070d1174e4ff5b8ef0b
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 18:28:09 +0000

flight 175210 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175210/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  549b042943a57b748ce80070d1174e4ff5b8ef0b
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    1 days
Testing same since   175199  2022-12-14 12:01:52 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 549b042943a57b748ce80070d1174e4ff5b8ef0b
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Wed Dec 14 12:04:26 2022 +0100

    drivers/char: support up to 1M BAR0 of xhci
    
    AMD's XHCI has BAR0 of 1M (compared to 64K on Intel). Map it as a whole
    (reserving more space in the fixmap). Make fixmap slot conditional on
    CONFIG_XHCI.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit dd54ea500be80f347402d75f3e4e7061e7db78d2
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:38 2022 +0100

    docs: add documentation for generic virtio devices
    
    This patch updates xl.cfg man page with details of generic Virtio device
    related information.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit 953efa0b7b188458b18e4a727f3b1dfa77eacb61
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:25 2022 +0100

    xl: add support to parse generic virtio device
    
    This patch adds basic support for parsing generic Virtio backend.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 43ba5202e2eebd350161a8db674bf928c3e6f859
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:09 2022 +0100

    libxl: add support for generic virtio device
    
    This patch adds basic support for configuring and assisting generic
    Virtio backends, which could run in any domain.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
    region) and pass them to the backend and update guest device-tree to
    create a DT node for the Virtio devices.
    
    Add special support for I2C and GPIO devices, which require the
    "compatible" DT property to be set, among other device specific
    properties. Support for generic virtio devices is also added, which just
    need a MMIO node but not any special DT properties, for such devices the
    user needs to pass "virtio,device" in the "type" string.
    
    The parsing of generic virtio device configurations will be done in a
    separate commit.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit db75092aea988b4be78c8273626f2ee40b4012b8
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:21 2022 +0100

    tools/xenstore: enhance hashtable implementation
    
    Today it is possible to set a flag when calling hashtable_destroy() in
    order to specify whether the data associated with the hashtable entries
    should be freed or not. The keys of the entries will always be freed.
    
    Change that by replacing the flag of hashtable_destroy() by two flags
    for create_hashtable() which will specify whether the data and/or the
    key of each entry should be freed or not.
    
    This will enable users to have the key e.g. as part of the data.
    
    Add a new function hashtable_iterate() to call a user specified
    function for each entry in the hashtable.
    
    Add new primes to the primetable in order to support smaller sizes of
    the hashtable. The primes are selected according to:
    
    https://planetmath.org/goodhashtableprimes
    
    Update the URL in the source as the old one wasn't correct any longer.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit bb65cbd81caaaaf325d23f63b4c2165960563459
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:04 2022 +0100

    tools/xenstore: preserve errno across corrupt()
    
    Let corrupt() preserve errno in order to be able to simplify error
    handling in future.
    
    This is rather easy as the errno value when entering corrupt() is
    saved already.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 6a0d1914f0b19742436367a0019602992573bd4b
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:01:47 2022 +0100

    tools/xenstore: let tdb_logger() preserve errno
    
    tdb_logger() is called by TDB for logging errors. As errno is checked
    often after doing the logging, tdb_logger() should preserve errno.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 8d7acf3f7d8d2555c78421dced45bc49f79ae806
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Wed Dec 14 12:00:35 2022 +0100

    EFI: relocate the ESRT when booting via multiboot2
    
    This was missed in the initial patchset.
    
    Move efi_relocate_esrt() up to avoid adding a forward declaration.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 18:54:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 18:54:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462564.720711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Wtv-00063I-Om; Wed, 14 Dec 2022 18:54:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462564.720711; Wed, 14 Dec 2022 18:54:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5Wtv-00063B-LV; Wed, 14 Dec 2022 18:54:43 +0000
Received: by outflank-mailman (input) for mailman id 462564;
 Wed, 14 Dec 2022 18:54:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ovgA=4M=gmail.com=vsuneja63@srs-se1.protection.inumbo.net>)
 id 1p5Wts-000635-St
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 18:54:41 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1245fa3-7be0-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 19:54:36 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id b2so46782628eja.7
 for <xen-devel@lists.xenproject.org>; Wed, 14 Dec 2022 10:54:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1245fa3-7be0-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=8PQy8IfZHDWZBSdUCOgh+KNqmH7KkIujGCosGAeTWUA=;
        b=TX7zsUNN1guwdbUCGF7LHccltLmloCEvYMl3T5zRuhHwibtMngXTZxf1SYTx1vZUE1
         hj8UL8GPupD8+2AKdeyC+NVCgZUkW2DNOhFVgdbFPCH5L2VDsInCZB5gI3X0VgGDmd09
         kvWGp0NfBsnA/OCUEV/UuhTFWuilsmAIjfzIe6aip9AFJPPCqR9duFBSggcZyDvWBWmM
         /PQjabDx4l6SxAoTsCeD80A8lekO/PgInL5KjVPok71JQ32RqXXr/HsMYN8o+pHnaFUy
         hQFt2p/OpPZ3IgK0YwLKXgIuFpUhg5s25dwLyQ1B7O5RXY2JMod1BUNC/0rwk/NyzQmr
         NZIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=8PQy8IfZHDWZBSdUCOgh+KNqmH7KkIujGCosGAeTWUA=;
        b=mI4RsWq3nHqhN8e5rceSb44y8UNtB1reqXz8n6ep9CPEXNadij5vmanVGQXuEkGPPm
         OkOMLVlQxI9QmBvE88Yit4IdHjjHxUacZ0xGZ3Wfvd5SigjdTE2GnfGgVfjMGGbwUXL+
         hSUfwUo78Nh/lLSa7RqjMN7hCIDYIGHXe/w1o385HQ4z2JS5psd+yF6VzsW+VVxYecs5
         Jg+bH7hLB0mX7KH1kFJfTAH/yl7p8oVbYEjOhvTsDq4MVqCLT+Mq11bKiHJpZb2Tmb7r
         CcLrV89XWiTV9xZbxwPTDTBdRmx485kjM/O3FMLM7rEbcSFZ+jHtxRGC0MtTW9YT2ftg
         YnZQ==
X-Gm-Message-State: ANoB5pk+AsY00GuOlDTIa+cgYLFxHFLabdhjoD7BSB8wlhgbxCPKIyfK
	wFkdVwcFL29ot6Jbgj8lHTqes6WHwEPN9malk0H9/JaFA+8ooA==
X-Google-Smtp-Source: AA0mqf6ftuToxgJQFV/uVZ7d+jIe94UIOkNpnYm62TbPOo/SHR+RHA1OI0xqJ/X6a41EoWB9nrxmkZOhdYqFAVwWrFk=
X-Received: by 2002:a17:906:6859:b0:7c1:ff6:615b with SMTP id
 a25-20020a170906685900b007c10ff6615bmr9101727ejs.118.1671044075371; Wed, 14
 Dec 2022 10:54:35 -0800 (PST)
MIME-Version: 1.0
References: <CALAP8f--jyG=ufJ9WGtL6qoeGdsykjNK85G3q50SzJm5+wOzhQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2210181213370.4587@ubuntu-linux-20-04-desktop>
 <CALAP8f9Zgue6WfAk2uRGkg=1Up2Z+eQWqvQ1_Z2=r66Z5fvKoA@mail.gmail.com>
 <alpine.DEB.2.22.394.2210251641540.1397955@ubuntu-linux-20-04-desktop>
 <CALAP8f8Z8A2u8h56EJWOCN7nJFDvyEvM-Q85XMnUP6Y6mZDg3w@mail.gmail.com>
 <CALAP8f_n2okQ-Ss_kGACAq3BVYXS_D2P_8AyhOzUxqgWpz9f4g@mail.gmail.com>
 <alpine.DEB.2.22.394.2211101702250.50442@ubuntu-linux-20-04-desktop>
 <CALAP8f8zGfNA_CZU4UQXy7-rPT6dqih9XpzuKM3vvkoBvy6usg@mail.gmail.com>
 <alpine.DEB.2.22.394.2211221605470.1049131@ubuntu-linux-20-04-desktop>
 <CALAP8f_QiHN4dP3z+LQgKdGeo8-=9DMyk0W7+x6P2eHvnOD_wQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2212011128430.4039@ubuntu-linux-20-04-desktop>
 <CALAP8f_b=0m0dqj9a50UYXYfw9X873i07sG9eyxFSqxF0yEneQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2212121406270.3075842@ubuntu-linux-20-04-desktop>
 <CALAP8f9JY23ZyDGnku4iWf5YCamSQKsZtdZj3MhX9TrF7wgEpw@mail.gmail.com> <alpine.DEB.2.22.394.2212131518180.315094@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2212131518180.315094@ubuntu-linux-20-04-desktop>
From: Vipul Suneja <vsuneja63@gmail.com>
Date: Thu, 15 Dec 2022 00:24:23 +0530
Message-ID: <CALAP8f-fka4jicvLhzS8NFyyqD_NnffMxrZmqpz-x9JnL7Oy7w@mail.gmail.com>
Subject: Re: Porting Xen in raspberry pi4B
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, oleksandr_andrushchenko@epam.com, 
	oleksandr_tyshchenko@epam.com, jgross@suse.com, boris.ostrovsky@oracle.com, 
	Bertrand.Marquis@arm.com
Content-Type: multipart/alternative; boundary="00000000000084411105efce444c"

--00000000000084411105efce444c
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Stefano,

Thanks!

I could see QEMU 6.2.0 compiled & installed in the host image
xen-image-minimal. I could find xenfb.c source file also & modified the
same with debug logs.
I have set up a cross compile environment, did 'make clean' & 'make all' to
recompile but it's failing. In case i am doing wrong, Can you please assist
me
with the correct steps to compile qemu?
Below are the error logs:

agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/Platform/Poky_Kirkston=
e/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/build$
make all
[1/3864] Compiling C object libslirp.a.p/slirp_src_arp_table.c.o
[2/3864] Compiling C object
subprojects/libvhost-user/libvhost-user.a.p/libvhost-user.c.o
[3/3864] Linking static target subprojects/libvhost-user/libvhost-user.a
[4/3864] Compiling C object libslirp.a.p/slirp_src_vmstate.c.o
[5/3864] Compiling C object libslirp.a.p/slirp_src_dhcpv6.c.o
[6/3864] Compiling C object libslirp.a.p/slirp_src_dnssearch.c.o
[7/3864] Compiling C object libslirp.a.p/slirp_src_bootp.c.o
[8/3864] Compiling C object libslirp.a.p/slirp_src_cksum.c.o
[9/3864] Compiling C object libslirp.a.p/slirp_src_if.c.o
[10/3864] Compiling C object libslirp.a.p/slirp_src_ip6_icmp.c.o
[11/3864] Compiling C object libslirp.a.p/slirp_src_ip6_input.c.o
[12/3864] Compiling C object libslirp.a.p/slirp_src_ip6_output.c.o
[13/3864] Compiling C object libslirp.a.p/slirp_src_ip_icmp.c.o
[14/3864] Compiling C object libslirp.a.p/slirp_src_ip_input.c.o
[15/3864] Compiling C object libslirp.a.p/slirp_src_ip_output.c.o
[16/3864] Compiling C object libslirp.a.p/slirp_src_mbuf.c.o
[17/3864] Compiling C object libslirp.a.p/slirp_src_misc.c.o
[18/3864] Compiling C object libslirp.a.p/slirp_src_ncsi.c.o
[19/3864] Compiling C object libslirp.a.p/slirp_src_ndp_table.c.o
[20/3864] Compiling C object libslirp.a.p/slirp_src_sbuf.c.o
[21/3864] Compiling C object libslirp.a.p/slirp_src_slirp.c.o
[22/3864] Compiling C object libslirp.a.p/slirp_src_socket.c.o
[23/3864] Compiling C object libslirp.a.p/slirp_src_state.c.o
[24/3864] Compiling C object libslirp.a.p/slirp_src_stream.c.o
[25/3864] Compiling C object libslirp.a.p/slirp_src_tcp_input.c.o
[26/3864] Compiling C object libslirp.a.p/slirp_src_tcp_output.c.o
[27/3864] Compiling C object libslirp.a.p/slirp_src_tcp_subr.c.o
[28/3864] Compiling C object libslirp.a.p/slirp_src_tcp_timer.c.o
[29/3864] Compiling C object libslirp.a.p/slirp_src_tftp.c.o
[30/3864] Compiling C object libslirp.a.p/slirp_src_udp.c.o
[31/3864] Compiling C object libslirp.a.p/slirp_src_udp6.c.o
[32/3864] Compiling C object libslirp.a.p/slirp_src_util.c.o
[33/3864] Compiling C object libslirp.a.p/slirp_src_version.c.o
[34/3864] Linking static target libslirp.a
[35/3864] Generating qemu-version.h with a custom command (wrapped by meson
to capture output)
FAILED: qemu-version.h
/home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/wo=
rk/cortexa72-poky-linux/qemu/6.2.0-r0/recipe-sysroot-native/usr/bin/meson
--internal exe --capture qemu-version.h --
/home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/wo=
rk/cortexa72-poky-linux/qemu/6.2.0-r0/qemu-6.2.0/scripts/qemu-version.sh
/home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/wo=
rk/cortexa72-poky-linux/qemu/6.2.0-r0/qemu-6.2.0
'' 6.2.0
/usr/bin/env: =E2=80=98nativepython3=E2=80=99: No such file or directory
ninja: build stopped: subcommand failed.
make: *** [Makefile:162: run-ninja] Error 1

Thanks & Regards,
Vipul Kumar

On Wed, Dec 14, 2022 at 4:55 AM Stefano Stabellini <sstabellini@kernel.org>
wrote:

> Hi Vipul,
>
> Good progress! The main function we should check is "xenfb_refresh" but
> from the logs it looks like it is called several times. Which means that
> everything seems to be working as expected on the Linux side.
>
> It is time to investigate the QEMU side:
> ./hw/display/xenfb.c:xenfb_handle_events
> ./hw/display/xenfb.c:xenfb_map_fb
>
> I wonder if the issue is internal to QEMU. You might want to use an
> older QEMU version to check if it works, maybe 6.0 or 5.0 or even 4.0.
> I also wonder if it is a problem between xenfb.c and the rest of QEMU. I
> would investigate how xenfb->pixels is rendered by the rest of QEMU.
> Specifically you might want to look at the call to
> qemu_create_displaysurface, qemu_create_displaysurface_from and
> dpy_gfx_replace_surface in xenfb_update.
>
> I hope this helps.
>
> Cheers,
>
> Stefano
>
>
> On Tue, 13 Dec 2022, Vipul Suneja wrote:
> > Hi Stefano,
> >
> > Thanks!
> >
> > I modified xen-fbfront.c source file, included printk debug logs & cros=
s
> compiled it. I included the printk debug log at the entry & exit
> > of all functions of xen-fbfront.c file.
> > Generated kernel module & loaded in guest machine at bootup. I could se=
e
> lots of logs coming up, and could see multiple functions being
> > invoked even if I have not used vncviewer in the host. Attaching the lo=
g
> file for reference. Any specific function or parameters that have
> > to be checked or any other suggestion as per logs?
> >
> > Thanks & Regards,
> > Vipul Kumar
> >
> > On Tue, Dec 13, 2022 at 3:44 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       Hi Vipul,
> >
> >       I am online on IRC OFTC #xendevel (https://www.oftc.net/, you
> need a
> >       registered nickname to join #xendevel).
> >
> >       For development and debugging I find that it is a lot easier to
> >       crosscompile the kernel "by hand", and do a monolithic build,
> rather
> >       than going through Yocto.
> >
> >       For instance the following builds for me:
> >
> >       cd linux.git
> >       export ARCH=3Darm64
> >       export CROSS_COMPILE=3D/path/to/cross-compiler
> >       make defconfig
> >       [add printks to drivers/video/fbdev/xen-fbfront.c]
> >       make -j8 Image.gz
> >
> >       And Image.gz boots on Xen as DomU kernel without issues.
> >
> >       Cheers,
> >
> >       Stefano
> >
> >       On Sat, 10 Dec 2022, Vipul Suneja wrote:
> >       > Hi Stefano,
> >       >
> >       > Thanks!
> >       >
> >       > I have included printk debug logs in the xen-fbfront.c source
> file. While cross compiling to generate .ko with
> >       "xen-guest-image-minimal"
> >       > toolchain it's throwing a modpost
> >       > not found error. I could see the modpost.c source file but the
> final script is missing. Any input on this, Below are the
> >       logs:
> >       >
> >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Ap=
plication/Xen/Framebuffer$
> make
> >       > make ARCH=3Darm64
> -I/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/usr/include/asm -C
> >       >
> /opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-s=
tandard/build
> >       >
> M=3D/home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Frameb=
uffer
> modules
> >       > make[1]: Entering directory
> '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-=
standard/build'
> >       > arch/arm64/Makefile:36: Detected assembler with broken .inst;
> disassembly will be unreliable
> >       > warning: the compiler differs from the one used to build the
> kernel
> >       >   The kernel was built by: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1)
> 9.4.0
> >       >   You are using:           aarch64-poky-linux-gcc (GCC) 11.3.0
> >       >   CC [M]
>  /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuff=
er/xen-fbfront.o
> >       >   MODPOST
> /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffe=
r/Module.symvers
> >       > /bin/sh: 1: scripts/mod/modpost: not found
> >       > make[2]: *** [scripts/Makefile.modpost:133:
> >
>  /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuff=
er/Module.symvers]
> >       > Error 127
> >       > make[1]: *** [Makefile:1813: modules] Error 2
> >       > make[1]: Leaving directory
> '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-=
standard/build'
> >       > make: *** [Makefile:5: all] Error 2
> >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Ap=
plication/Xen/Framebuffer$
> ls -l
> >       > total 324
> >       > -rwxrwxrwx 1 agl agl    359 Dec 10 22:41 Makefile
> >       > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 modules.order
> >       > -rw-r--r-- 1 agl agl  18331 Dec  1 20:32 xen-fbfront.c
> >       > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 xen-fbfront.mod
> >       > -rw-rw-r-- 1 agl agl 297832 Dec 10 22:49 xen-fbfront.o
> >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Ap=
plication/Xen/Framebuffer$
> file xen-fbfront.o
> >       > xen-fbfront.o: ELF 64-bit LSB relocatable, ARM aarch64, version
> 1 (SYSV), with debug_info, not stripped
> >       > agl@agl-OptiPlex-7010
> :~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$
> >       >
> >       > I have connected a HDMI based 1980x1024 resolution display
> screen to raspberrypi4 for testing purposes. I hope connecting
> >       this display to
> >       > rpi4 should be ok.
> >       >
> >       > Is there any other way we can connect also for detailed
> discussion on the display bringup issue? This will really help to
> >       resolve this
> >       > issue.
> >       >
> >       > Thanks & Regards,
> >       > Vipul Kumar
> >       >
> >       > On Fri, Dec 2, 2022 at 1:02 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       >       On Thu, 1 Dec 2022, Vipul Suneja wrote:
> >       >       > Hi Stefano,
> >       >       > Thanks!
> >       >       >
> >       >       > I am exploring both options here, modification of
> framebuffer source file & setting up x11vnc server in guest.
> >       >       > Other than these I would like to share a few findings
> with you.
> >       >       >
> >       >       > 1. If i keep "CONFIG_XEN_FBDEV_FRONTEND=3Dy" then
> xen-fbfront.ko is not generating but if i keep
> >       "CONFIG_XEN_FBDEV_FRONTEND=3Dm"
> >       >       > then could see xen-fbfront.ko & its loading also. Same
> things with other frontend/backend drivers also. Do we need to
> >       >       configure these
> >       >       > drivers as a module(m) only?
> >       >
> >       >       xen-fbfront should work both as a module (xen-fbfront.ko)
> or built-in
> >       >       (CONFIG_XEN_FBDEV_FRONTEND=3Dy).
> >       >
> >       >
> >       >
> >       >       > 2. I could see xenstored service is running for the hos=
t
> but it's always failing for the guest machine. I could see
> >       it in
> >       >       bootup logs & via
> >       >       > systemctl status also.
> >       >
> >       >       That is normal. xenstored is only meant to be run in Dom0=
,
> not in the
> >       >       domUs. If you use the same rootfs for Dom0 and DomU then
> xenstored will
> >       >       fail starting in the DomU (but should succeed in Dom0),
> which is what we
> >       >       want.
> >       >
> >       >       If you run "xenstore-ls" in Dom0, you'll see a bunch of
> entries,
> >       >       including some of them related to "vfb" which is the
> virtual framebuffer
> >       >       protocol. You should also see an entry called "state" set
> to "4" which
> >       >       means "connected". state =3D 4 is usually when everything
> works. Normally
> >       >       when things don't work state !=3D 4.
> >       >
> >       >
> >       >
> >       >       > Below are the logs:
> >       >       > [  OK  ] Reached target Basic System.
> >       >       > [  OK  ] Started Kernel Logging Service.
> >       >       > [  OK  ] Started System Logging Service.
> >       >       >          Starting D-Bus System Message Bus...
> >       >       >          Starting User Login Management...
> >       >       >          Starting Permit User Sessions...
> >       >       >          Starting The Xen xenstore...
> >       >       >          Starting OpenSSH Key Generation...
> >       >       > [FAILED] Failed to start The Xen xenstore.
> >       >       > See 'systemctl status xenstored.service' for details.
> >       >       > [DEPEND] Dependency failed for qemu for xen dom0 disk
> backend.
> >       >       > [DEPEND] Dependency failed for Xend=E2=80=A6p guests on=
 boot and
> shutdown.
> >       >       > [DEPEND] Dependency failed for xen-=E2=80=A6des, JSON
> configuration stub).
> >       >       > [DEPEND] Dependency failed for Xenc=E2=80=A6guest conso=
les and
> hypervisor.
> >       >       > [  OK  ] Finished Permit User Sessions.
> >       >       > [  OK  ] Started Getty on tty1.
> >       >       > [  OK  ] Started Serial Getty on hvc0.
> >       >       > [  OK  ] Started Serial Getty on ttyS0.
> >       >       > [  OK  ] Reached target Login Prompts.
> >       >       >          Starting Xen-watchdog - run xen watchdog
> daemon...
> >       >       > [  OK  ] Started D-Bus System Message Bus.
> >       >       > [  OK  ] Started Xen-watchdog - run xen watchdog daemon=
.
> >       >       > [  OK  ] Finished OpenSSH Key Generation.
> >       >       > [  OK  ] Started User Login Management.
> >       >       > [  OK  ] Reached target Multi-User System.
> >       >       >          Starting Record Runlevel Change in UTMP...
> >       >       > [  OK  ] Finished Record Runlevel Change in UTMP.
> >       >       > fbcon: Taking over console
> >       >       >
> >       >       > Poky (Yocto Project Reference Distro) 4.0.4
> raspberrypi4-64 hvc0
> >       >       >
> >       >       > raspberrypi4-64 login: root
> >       >       > root@raspberrypi4-64:~#
> >       >       > root@raspberrypi4-64:~#
> >       >       > root@raspberrypi4-64:~# systemctl status
> xenstored.service
> >       >       > x xenstored.service - The Xen xenstore
> >       >       >      Loaded: loaded
> (/lib/systemd/system/xenstored.service; enabled; vendor preset: enabled)
> >       >       >      Active: failed (Result: exit-code) since Thu
> 2022-12-01 06:12:05 UTC; 26s ago
> >       >       >     Process: 195 ExecStartPre=3D/bin/grep -q control_d
> /proc/xen/capabilities (code=3Dexited, status=3D1/FAILURE)
> >       >       >
> >       >       > Dec 01 06:12:04 raspberrypi4-64 systemd[1]: Starting Th=
e
> Xen xenstore...
> >       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]:
> xenstored.service: Control pro...URE
> >       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]:
> xenstored.service: Failed with...e'.
> >       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: Failed to
> start The Xen xenstore.
> >       >       > Hint: Some lines were ellipsized, use -l to show in ful=
l.
> >       >       > root@raspberrypi4-64:~#
> >       >       >
> >       >       > Any input on these?
> >       >       >
> >       >       > Thanks & Regards,
> >       >       > Vipul Kumar
> >       >       >
> >       >       > On Wed, Nov 23, 2022 at 5:41 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       >       >       Hi Vipul,
> >       >       >
> >       >       >       I cannot spot any issue in the configuration, in
> particual you have:
> >       >       >
> >       >       >       CONFIG_XEN_FBDEV_FRONTEND=3Dy
> >       >       >
> >       >       >       which is what you need.
> >       >       >
> >       >       >       The only thing I can suggest is to add printks to
> the Linux frontend
> >       >       >       driver (the one running in the domU) which is
> >       >       >       drivers/video/fbdev/xen-fbfront.c and printfs to
> the QEMU backend
> >       >       >       (running in Dom0) which is hw/display/xenfb.c to
> figure out what is
> >       >       >       going on.
> >       >       >
> >       >       >
> >       >       >       Alternatively, you can setup PV network with the
> domU, such as:
> >       >       >
> >       >       >         vif=3D['']
> >       >       >
> >       >       >       and then run x11 and a x11vnc server in your domU=
.
> You should be able to
> >       >       >       connect to it using vncviewer at the network IP o=
f
> your domU.
> >       >       >
> >       >       >       Basically you are skipping the problem because
> instead of using the PV
> >       >       >       framebuffer protocol, you just use VNC over the
> network with the domU.
> >       >       >
> >       >       >
> >       >       >       Cheers,
> >       >       >
> >       >       >       Stefano
> >       >       >
> >       >       >
> >       >       >       On Tue, 22 Nov 2022, Vipul Suneja wrote:
> >       >       >       > Hi Stefano,
> >       >       >       > Thanks for the support!
> >       >       >       >
> >       >       >       > Looks like I have tried all the combinations &
> possible ways to get display up but failed. Is there any
> >       document or
> >       >       pdf for
> >       >       >       porting xen on
> >       >       >       > raspberrypi4.
> >       >       >       > I could find lot's of links telling the same bu=
t
> couldn't see any official user guide or document from the
> >       xen
> >       >       community on
> >       >       >       the same. If
> >       >       >       > there is something to refer
> >       >       >       > to please share with me.
> >       >       >       > I am attaching the kernel configuration file
> also, just take a look if i have missed anything.
> >       >       >       > Any other suggestions or input from your end
> could be really helpful?
> >       >       >       >
> >       >       >       > Regards,
> >       >       >       > Vipul Kumar
> >       >       >       >
> >       >       >       > On Fri, Nov 11, 2022 at 6:40 AM Stefano
> Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       Hi Vipul,
> >       >       >       >
> >       >       >       >       Sorry for the late reply. From the earlie=
r
> logs that you sent, it looks
> >       >       >       >       like everything should be working
> correctly. Specifically:
> >       >       >       >
> >       >       >       >            vfb =3D ""
> >       >       >       >             1 =3D ""
> >       >       >       >              0 =3D ""
> >       >       >       >               frontend =3D
> "/local/domain/1/device/vfb/0"
> >       >       >       >               frontend-id =3D "1"
> >       >       >       >               online =3D "1"
> >       >       >       >               state =3D "4"
> >       >       >       >               vnc =3D "1"
> >       >       >       >               vnclisten =3D "127.0.0.1"
> >       >       >       >               vncdisplay =3D "0"
> >       >       >       >               vncunused =3D "1"
> >       >       >       >               sdl =3D "0"
> >       >       >       >               opengl =3D "0"
> >       >       >       >               feature-resize =3D "1"
> >       >       >       >               hotplug-status =3D "connected"
> >       >       >       >               request-update =3D "1"
> >       >       >       >
> >       >       >       >       state "4" means "connected". So I would
> expect that you should be able
> >       >       >       >       to connect to the vnc server using
> vncviewer. You might not see anything
> >       >       >       >       (black screen) but you should definitely
> be able to connect.
> >       >       >       >
> >       >       >       >       I wouldn't try to launch x11 in the guest
> just yet. fbcon in Linux is
> >       >       >       >       enough to render something on the screen.
> You should be able to see the
> >       >       >       >       Linux text-based console rendered
> graphically, connecting to it via vnc.
> >       >       >       >
> >       >       >       >       Sorry for the basic question, but have yo=
u
> tried all the following?
> >       >       >       >
> >       >       >       >       vncviewer 127.0.0.1:0
> >       >       >       >       vncviewer 127.0.0.1:1
> >       >       >       >       vncviewer 127.0.0.1:2
> >       >       >       >       vncviewer 127.0.0.1:5900
> >       >       >       >       vncviewer 127.0.0.1:5901
> >       >       >       >       vncviewer 127.0.0.1:5902
> >       >       >       >
> >       >       >       >       Given that from the xenstore-ls logs
> everything seems to work correctly
> >       >       >       >       I am not sure what else to suggest. You
> might have to add printf to QEMU
> >       >       >       >       ui/vnc.c and hw/display/xenfb.c to see
> what is going wrong.
> >       >       >       >
> >       >       >       >       Cheers,
> >       >       >       >
> >       >       >       >       Stefano
> >       >       >       >
> >       >       >       >
> >       >       >       >       On Mon, 7 Nov 2022, Vipul Suneja wrote:
> >       >       >       >       > Hi Stefano,
> >       >       >       >       > Thanks!
> >       >       >       >       >
> >       >       >       >       > Any input further on "xenstore-ls" logs=
?
> >       >       >       >       >
> >       >       >       >       > I am trying to run the x0vncserver &
> x11vnc server manually on guest machine(xen_guest_image_minimal)
> >       image
> >       >       but it's
> >       >       >       failing
> >       >       >       >       with the below
> >       >       >       >       > error.
> >       >       >       >       >
> >       >       >       >       > root@raspberrypi4-64:/usr/bin#
> x0vncserver
> >       >       >       >       > x0vncserver: unable to open display ""
> >       >       >       >       > root@raspberrypi4-64:/usr/bin#
> >       >       >       >       > root@raspberrypi4-64:/usr/bin# x11vnc
> >       >       >       >       >
> ###############################################################
> >       >       >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@  **  WARNING  **  WARNING  **
>  WARNING  **  WARNING  **   @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@        YOU ARE RUNNING X11VNC WITHOU=
T
> A PASSWORD!!        @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@  This means anyone with network
> access to this computer   @#
> >       >       >       >       > #@  may be able to view and control you=
r
> desktop.            @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@ >>> If you did not mean to do this
> Press CTRL-C now!! <<< @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@  You can create an x11vnc password
> file by running:       @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@       x11vnc -storepasswd password
> /path/to/passfile      @#
> >       >       >       >       > #@  or   x11vnc -storepasswd
> /path/to/passfile               @#
> >       >       >       >       > #@  or   x11vnc -storepasswd
>                     @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@  (the last one will use
> ~/.vnc/passwd)                    @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@  and then starting x11vnc via:
>                      @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@      x11vnc -rfbauth
> /path/to/passfile                    @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@  an existing ~/.vnc/passwd file from
> another VNC          @#
> >       >       >       >       > #@  application will work fine too.
>                      @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@  You can also use the -passwdfile or
> -passwd options.     @#
> >       >       >       >       > #@  (note -passwd is unsafe if local
> users are not trusted)  @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@  Make sure any -rfbauth and
> -passwdfile password files    @#
> >       >       >       >       > #@  cannot be read by untrusted users.
>                     @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@  Use x11vnc -usepw to automatically
> use your              @#
> >       >       >       >       > #@  ~/.vnc/passwd or ~/.vnc/passwdfile
> password files.       @#
> >       >       >       >       > #@  (and prompt you to create
> ~/.vnc/passwd if neither       @#
> >       >       >       >       > #@  file exists.)  Under -usepw, x11vnc
> will exit if it      @#
> >       >       >       >       > #@  cannot find a password to use.
>                     @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@  Even with a password, the subsequen=
t
> VNC traffic is      @#
> >       >       >       >       > #@  sent in the clear.  Consider
> tunnelling via ssh(1):      @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@
> http://www.karlrunge.com/x11vnc/#tunnelling            @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@  Or using the x11vnc SSL options:
> -ssl and -stunnel       @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@  Please Read the documentation for
> more info about        @#
> >       >       >       >       > #@  passwords, security, and encryption=
.
>                     @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@
> http://www.karlrunge.com/x11vnc/faq.html#faq-passwd    @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       > #@  To disable this warning use the
> -nopw option, or put     @#
> >       >       >       >       > #@  'nopw' on a line in your ~/.x11vncr=
c
> file.               @#
> >       >       >       >       > #@
>                     @#
> >       >       >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       >       >       >
> ###############################################################
> >       >       >       >       > 09/03/2018 12:58:41 x11vnc version:
> 0.9.16 lastmod: 2019-01-05  pid: 424
> >       >       >       >       > 09/03/2018 12:58:41 XOpenDisplay("")
> failed.
> >       >       >       >       > 09/03/2018 12:58:41 Trying again with
> XAUTHLOCALHOSTNAME=3Dlocalhost ...
> >       >       >       >       > 09/03/2018 12:58:41
> >       >       >       >       > 09/03/2018 12:58:41 *** XOpenDisplay
> failed. No -display or DISPLAY.
> >       >       >       >       > 09/03/2018 12:58:41 *** Trying ":0" in =
4
> seconds.  Press Ctrl-C to abort.
> >       >       >       >       > 09/03/2018 12:58:41 *** 1 2 3 4
> >       >       >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0")
> failed.
> >       >       >       >       > 09/03/2018 12:58:45 Trying again with
> XAUTHLOCALHOSTNAME=3Dlocalhost ...
> >       >       >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0")
> failed.
> >       >       >       >       > 09/03/2018 12:58:45 Trying again with
> unset XAUTHLOCALHOSTNAME ...
> >       >       >       >       > 09/03/2018 12:58:45
> >       >       >       >       >
> >       >       >       >       > 09/03/2018 12:58:45
> ***************************************
> >       >       >       >       > 09/03/2018 12:58:45 *** XOpenDisplay
> failed (:0)
> >       >       >       >       >
> >       >       >       >       > *** x11vnc was unable to open the X
> DISPLAY: ":0", it cannot continue.
> >       >       >       >       > *** There may be "Xlib:" error messages
> above with details about the failure.
> >       >       >       >       >
> >       >       >       >       > Some tips and guidelines:
> >       >       >       >       >
> >       >       >       >       > ** An X server (the one you wish to
> view) must be running before x11vnc is
> >       >       >       >       >    started: x11vnc does not start the X
> server.  (however, see the -create
> >       >       >       >       >    option if that is what you really
> want).
> >       >       >       >       >
> >       >       >       >       > ** You must use -display <disp>, -OR-
> set and export your $DISPLAY
> >       >       >       >       >    environment variable to refer to the
> display of the desired X server.
> >       >       >       >       >  - Usually the display is simply ":0"
> (in fact x11vnc uses this if you forget
> >       >       >       >       >    to specify it), but in some
> multi-user situations it could be ":1", ":2",
> >       >       >       >       >    or even ":137".  Ask your
> administrator or a guru if you are having
> >       >       >       >       >    difficulty determining what your X
> DISPLAY is.
> >       >       >       >       >
> >       >       >       >       > ** Next, you need to have sufficient
> permissions (Xauthority)
> >       >       >       >       >    to connect to the X DISPLAY.   Here
> are some Tips:
> >       >       >       >       >
> >       >       >       >       >  - Often, you just need to run x11vnc a=
s
> the user logged into the X session.
> >       >       >       >       >    So make sure to be that user when yo=
u
> type x11vnc.
> >       >       >       >       >  - Being root is usually not enough
> because the incorrect MIT-MAGIC-COOKIE
> >       >       >       >       >    file may be accessed.  The cookie
> file contains the secret key that
> >       >       >       >       >    allows x11vnc to connect to the
> desired X DISPLAY.
> >       >       >       >       >  - You can explicitly indicate which
> MIT-MAGIC-COOKIE file should be used
> >       >       >       >       >    by the -auth option, e.g.:
> >       >       >       >       >        x11vnc -auth
> /home/someuser/.Xauthority -display :0
> >       >       >       >       >        x11vnc -auth /tmp/.gdmzndVlR
> -display :0
> >       >       >       >       >    you must have read permission for th=
e
> auth file.
> >       >       >       >       >    See also '-auth guess' and
> '-findauth' discussed below.
> >       >       >       >       >
> >       >       >       >       > ** If NO ONE is logged into an X sessio=
n
> yet, but there is a greeter login
> >       >       >       >       >    program like "gdm", "kdm", "xdm", or
> "dtlogin" running, you will need
> >       >       >       >       >    to find and use the raw display
> manager MIT-MAGIC-COOKIE file.
> >       >       >       >       >    Some examples for various display
> managers:
> >       >       >       >       >
> >       >       >       >       >      gdm:     -auth /var/gdm/:0.Xauth
> >       >       >       >       >               -auth /var/lib/gdm/:0.Xau=
th
> >       >       >       >       >      kdm:     -auth
> /var/lib/kdm/A:0-crWk72
> >       >       >       >       >               -auth
> /var/run/xauth/A:0-crWk72
> >       >       >       >       >      xdm:     -auth
> /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
> >       >       >       >       >      dtlogin: -auth /var/dt/A:0-UgaaXa
> >       >       >       >       >
> >       >       >       >       >    Sometimes the command "ps wwwwaux |
> grep auth" can reveal the file location.
> >       >       >       >       >
> >       >       >       >       >    Starting with x11vnc 0.9.9 you can
> have it try to guess by using:
> >       >       >       >       >
> >       >       >       >       >               -auth guess
> >       >       >       >       >
> >       >       >       >       >    (see also the x11vnc -findauth
> option.)
> >       >       >       >       >
> >       >       >       >       >    Only root will have read permission
> for the file, and so x11vnc must be run
> >       >       >       >       >    as root (or copy it).  The random
> characters in the filenames will of course
> >       >       >       >       >    change and the directory the cookie
> file resides in is system dependent.
> >       >       >       >       >
> >       >       >       >       > See also:
> http://www.karlrunge.com/x11vnc/faq.html
> >       >       >       >       >
> >       >       >       >       > Regards,
> >       >       >       >       > Vipul Kumar
> >       >       >       >       >
> >       >       >       >       > On Thu, Nov 3, 2022 at 10:27 PM Vipul
> Suneja <vsuneja63@gmail.com> wrote:
> >       >       >       >       >       Hi Stefano,
> >       >       >       >       > Thanks!
> >       >       >       >       >
> >       >       >       >       > I used xen-guest-image-minimal(simple
> console based image) as a guest with fbcon & fbdev enabled in
> >       kernel
> >       >       >       configurations but
> >       >       >       >       still
> >       >       >       >       > the same error can't open the display.
> >       >       >       >       > below are the outcome of "xenstore-ls":
> >       >       >       >       >
> >       >       >       >       > root@raspberrypi4-64:~/guest1#
> xenstore-ls
> >       >       >       >       > tool =3D ""
> >       >       >       >       >  xenstored =3D ""
> >       >       >       >       > local =3D ""
> >       >       >       >       >  domain =3D ""
> >       >       >       >       >   0 =3D ""
> >       >       >       >       >    control =3D ""
> >       >       >       >       >     feature-poweroff =3D "1"
> >       >       >       >       >     feature-reboot =3D "1"
> >       >       >       >       >    domid =3D "0"
> >       >       >       >       >    name =3D "Domain-0"
> >       >       >       >       >    device-model =3D ""
> >       >       >       >       >     0 =3D ""
> >       >       >       >       >      backends =3D ""
> >       >       >       >       >       console =3D ""
> >       >       >       >       >       vkbd =3D ""
> >       >       >       >       >       vfb =3D ""
> >       >       >       >       >       qnic =3D ""
> >       >       >       >       >      state =3D "running"
> >       >       >       >       >     1 =3D ""
> >       >       >       >       >      backends =3D ""
> >       >       >       >       >       console =3D ""
> >       >       >       >       >       vkbd =3D ""
> >       >       >       >       >       vfb =3D ""
> >       >       >       >       >       qnic =3D ""
> >       >       >       >       >      state =3D "running"
> >       >       >       >       >    backend =3D ""
> >       >       >       >       >     vbd =3D ""
> >       >       >       >       >      1 =3D ""
> >       >       >       >       >       51712 =3D ""
> >       >       >       >       >        frontend =3D
> "/local/domain/1/device/vbd/51712"
> >       >       >       >       >        params =3D
> "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
> >       >       >       >       >        script =3D "/etc/xen/scripts/blo=
ck"
> >       >       >       >       >        frontend-id =3D "1"
> >       >       >       >       >        online =3D "1"
> >       >       >       >       >        removable =3D "0"
> >       >       >       >       >        bootable =3D "1"
> >       >       >       >       >        state =3D "4"
> >       >       >       >       >        dev =3D "xvda"
> >       >       >       >       >        type =3D "phy"
> >       >       >       >       >        mode =3D "w"
> >       >       >       >       >        device-type =3D "disk"
> >       >       >       >       >        discard-enable =3D "1"
> >       >       >       >       >        feature-max-indirect-segments =
=3D
> "256"
> >       >       >       >       >        multi-queue-max-queues =3D "4"
> >       >       >       >       >        max-ring-page-order =3D "4"
> >       >       >       >       >        node =3D "/dev/loop0"
> >       >       >       >       >        physical-device =3D "7:0"
> >       >       >       >       >        physical-device-path =3D
> "/dev/loop0"
> >       >       >       >       >        hotplug-status =3D "connected"
> >       >       >       >       >        feature-flush-cache =3D "1"
> >       >       >       >       >        discard-granularity =3D "4096"
> >       >       >       >       >        discard-alignment =3D "0"
> >       >       >       >       >        discard-secure =3D "0"
> >       >       >       >       >        feature-discard =3D "1"
> >       >       >       >       >        feature-barrier =3D "1"
> >       >       >       >       >        feature-persistent =3D "1"
> >       >       >       >       >        sectors =3D "1794048"
> >       >       >       >       >        info =3D "0"
> >       >       >       >       >        sector-size =3D "512"
> >       >       >       >       >        physical-sector-size =3D "512"
> >       >       >       >       >     vfb =3D ""
> >       >       >       >       >      1 =3D ""
> >       >       >       >       >       0 =3D ""
> >       >       >       >       >        frontend =3D
> "/local/domain/1/device/vfb/0"
> >       >       >       >       >        frontend-id =3D "1"
> >       >       >       >       >        online =3D "1"
> >       >       >       >       >        state =3D "4"
> >       >       >       >       >        vnc =3D "1"
> >       >       >       >       >        vnclisten =3D "127.0.0.1"
> >       >       >       >       >        vncdisplay =3D "0"
> >       >       >       >       >        vncunused =3D "1"
> >       >       >       >       >        sdl =3D "0"
> >       >       >       >       >        opengl =3D "0"
> >       >       >       >       >        feature-resize =3D "1"
> >       >       >       >       >        hotplug-status =3D "connected"
> >       >       >       >       >        request-update =3D "1"
> >       >       >       >       >     vkbd =3D ""
> >       >       >       >       >      1 =3D ""
> >       >       >       >       >       0 =3D ""
> >       >       >       >       >        frontend =3D
> "/local/domain/1/device/vkbd/0"
> >       >       >       >       >        frontend-id =3D "1"
> >       >       >       >       >        online =3D "1"
> >       >       >       >       >        state =3D "4"
> >       >       >       >       >        feature-abs-pointer =3D "1"
> >       >       >       >       >        feature-raw-pointer =3D "1"
> >       >       >       >       >        hotplug-status =3D "connected"
> >       >       >       >       >     console =3D ""
> >       >       >       >       >      1 =3D ""
> >       >       >       >       >       0 =3D ""
> >       >       >       >       >        frontend =3D
> "/local/domain/1/console"
> >       >       >       >       >        frontend-id =3D "1"
> >       >       >       >       >        online =3D "1"
> >       >       >       >       >        state =3D "1"
> >       >       >       >       >        protocol =3D "vt100"
> >       >       >       >       >     vif =3D ""
> >       >       >       >       >      1 =3D ""
> >       >       >       >       >       0 =3D ""
> >       >       >       >       >        frontend =3D
> "/local/domain/1/device/vif/0"
> >       >       >       >       >        frontend-id =3D "1"
> >       >       >       >       >        online =3D "1"
> >       >       >       >       >        state =3D "4"
> >       >       >       >       >        script =3D
> "/etc/xen/scripts/vif-bridge"
> >       >       >       >       >        mac =3D "e4:5f:01:cd:7b:dd"
> >       >       >       >       >        bridge =3D "xenbr0"
> >       >       >       >       >        handle =3D "0"
> >       >       >       >       >        type =3D "vif"
> >       >       >       >       >        hotplug-status =3D "connected"
> >       >       >       >       >        feature-sg =3D "1"
> >       >       >       >       >        feature-gso-tcpv4 =3D "1"
> >       >       >       >       >        feature-gso-tcpv6 =3D "1"
> >       >       >       >       >        feature-ipv6-csum-offload =3D "1=
"
> >       >       >       >       >        feature-rx-copy =3D "1"
> >       >       >       >       >        feature-xdp-headroom =3D "1"
> >       >       >       >       >        feature-rx-flip =3D "0"
> >       >       >       >       >        feature-multicast-control =3D "1=
"
> >       >       >       >       >        feature-dynamic-multicast-contro=
l
> =3D "1"
> >       >       >       >       >        feature-split-event-channels =3D=
 "1"
> >       >       >       >       >        multi-queue-max-queues =3D "4"
> >       >       >       >       >        feature-ctrl-ring =3D "1"
> >       >       >       >       >   1 =3D ""
> >       >       >       >       >    vm =3D
> "/vm/d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
> >       >       >       >       >    name =3D "guest2"
> >       >       >       >       >    cpu =3D ""
> >       >       >       >       >     0 =3D ""
> >       >       >       >       >      availability =3D "online"
> >       >       >       >       >     1 =3D ""
> >       >       >       >       >      availability =3D "online"
> >       >       >       >       >    memory =3D ""
> >       >       >       >       >     static-max =3D "2097152"
> >       >       >       >       >     target =3D "2097152"
> >       >       >       >       >     videoram =3D "0"
> >       >       >       >       >    device =3D ""
> >       >       >       >       >     suspend =3D ""
> >       >       >       >       >      event-channel =3D ""
> >       >       >       >       >     vbd =3D ""
> >       >       >       >       >      51712 =3D ""
> >       >       >       >       >       backend =3D
> "/local/domain/0/backend/vbd/1/51712"
> >       >       >       >       >       backend-id =3D "0"
> >       >       >       >       >       state =3D "4"
> >       >       >       >       >       virtual-device =3D "51712"
> >       >       >       >       >       device-type =3D "disk"
> >       >       >       >       >       multi-queue-num-queues =3D "2"
> >       >       >       >       >       queue-0 =3D ""
> >       >       >       >       >        ring-ref =3D "8"
> >       >       >       >       >        event-channel =3D "4"
> >       >       >       >       >       queue-1 =3D ""
> >       >       >       >       >        ring-ref =3D "9"
> >       >       >       >       >        event-channel =3D "5"
> >       >       >       >       >       protocol =3D "arm-abi"
> >       >       >       >       >       feature-persistent =3D "1"
> >       >       >       >       >     vfb =3D ""
> >       >       >       >       >      0 =3D ""
> >       >       >       >       >       backend =3D
> "/local/domain/0/backend/vfb/1/0"
> >       >       >       >       >       backend-id =3D "0"
> >       >       >       >       >       state =3D "4"
> >       >       >       >       >       page-ref =3D "275022"
> >       >       >       >       >       event-channel =3D "3"
> >       >       >       >       >       protocol =3D "arm-abi"
> >       >       >       >       >       feature-update =3D "1"
> >       >       >       >       >     vkbd =3D ""
> >       >       >       >       >      0 =3D ""
> >       >       >       >       >       backend =3D
> "/local/domain/0/backend/vkbd/1/0"
> >       >       >       >       >       backend-id =3D "0"
> >       >       >       >       >       state =3D "4"
> >       >       >       >       >       request-abs-pointer =3D "1"
> >       >       >       >       >       page-ref =3D "275322"
> >       >       >       >       >       page-gref =3D "1284"
> >       >       >       >       >       event-channel =3D "10"
> >       >       >       >       >     vif =3D ""
> >       >       >       >       >      0 =3D ""
> >       >       >       >       >       backend =3D
> "/local/domain/0/backend/vif/1/0"
> >       >       >       >       >       backend-id =3D "0"
> >       >       >       >       >       state =3D "4"
> >       >       >       >       >       handle =3D "0"
> >       >       >       >       >       mac =3D "e4:5f:01:cd:7b:dd"
> >       >       >       >       >       mtu =3D "1500"
> >       >       >       >       >       xdp-headroom =3D "0"
> >       >       >       >       >       multi-queue-num-queues =3D "2"
> >       >       >       >       >       queue-0 =3D ""
> >       >       >       >       >        tx-ring-ref =3D "1280"
> >       >       >       >       >        rx-ring-ref =3D "1281"
> >       >       >       >       >        event-channel-tx =3D "6"
> >       >       >       >       >        event-channel-rx =3D "7"
> >       >       >       >       >       queue-1 =3D ""
> >       >       >       >       >        tx-ring-ref =3D "1282"
> >       >       >       >       >        rx-ring-ref =3D "1283"
> >       >       >       >       >        event-channel-tx =3D "8"
> >       >       >       >       >        event-channel-rx =3D "9"
> >       >       >       >       >       request-rx-copy =3D "1"
> >       >       >       >       >       feature-rx-notify =3D "1"
> >       >       >       >       >       feature-sg =3D "1"
> >       >       >       >       >       feature-gso-tcpv4 =3D "1"
> >       >       >       >       >       feature-gso-tcpv6 =3D "1"
> >       >       >       >       >       feature-ipv6-csum-offload =3D "1"
> >       >       >       >       >    control =3D ""
> >       >       >       >       >     shutdown =3D ""
> >       >       >       >       >     feature-poweroff =3D "1"
> >       >       >       >       >     feature-reboot =3D "1"
> >       >       >       >       >     feature-suspend =3D ""
> >       >       >       >       >     sysrq =3D ""
> >       >       >       >       >
> platform-feature-multiprocessor-suspend =3D "1"
> >       >       >       >       >     platform-feature-xs_reset_watches =
=3D
> "1"
> >       >       >       >       >    data =3D ""
> >       >       >       >       >    drivers =3D ""
> >       >       >       >       >    feature =3D ""
> >       >       >       >       >    attr =3D ""
> >       >       >       >       >    error =3D ""
> >       >       >       >       >    domid =3D "1"
> >       >       >       >       >    store =3D ""
> >       >       >       >       >     port =3D "1"
> >       >       >       >       >     ring-ref =3D "233473"
> >       >       >       >       >    console =3D ""
> >       >       >       >       >     backend =3D
> "/local/domain/0/backend/console/1/0"
> >       >       >       >       >     backend-id =3D "0"
> >       >       >       >       >     limit =3D "1048576"
> >       >       >       >       >     type =3D "xenconsoled"
> >       >       >       >       >     output =3D "pty"
> >       >       >       >       >     tty =3D "/dev/pts/1"
> >       >       >       >       >     port =3D "2"
> >       >       >       >       >     ring-ref =3D "233472"
> >       >       >       >       >     vnc-listen =3D "127.0.0.1"
> >       >       >       >       >     vnc-port =3D "5900"
> >       >       >       >       >    image =3D ""
> >       >       >       >       >     device-model-pid =3D "788"
> >       >       >       >       > vm =3D ""
> >       >       >       >       >  d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f =
=3D
> ""
> >       >       >       >       >   name =3D "guest2"
> >       >       >       >       >   uuid =3D
> "d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
> >       >       >       >       >   start_time =3D "1520600274.27"
> >       >       >       >       > libxl =3D ""
> >       >       >       >       >  1 =3D ""
> >       >       >       >       >   device =3D ""
> >       >       >       >       >    vbd =3D ""
> >       >       >       >       >     51712 =3D ""
> >       >       >       >       >      frontend =3D
> "/local/domain/1/device/vbd/51712"
> >       >       >       >       >      backend =3D
> "/local/domain/0/backend/vbd/1/51712"
> >       >       >       >       >      params =3D
> "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
> >       >       >       >       >      script =3D "/etc/xen/scripts/block=
"
> >       >       >       >       >      frontend-id =3D "1"
> >       >       >       >       >      online =3D "1"
> >       >       >       >       >      removable =3D "0"
> >       >       >       >       >      bootable =3D "1"
> >       >       >       >       >      state =3D "1"
> >       >       >       >       >      dev =3D "xvda"
> >       >       >       >       >      type =3D "phy"
> >       >       >       >       >      mode =3D "w"
> >       >       >       >       >      device-type =3D "disk"
> >       >       >       >       >      discard-enable =3D "1"
> >       >       >       >       >    vfb =3D ""
> >       >       >       >       >     0 =3D ""
> >       >       >       >       >      frontend =3D
> "/local/domain/1/device/vfb/0"
> >       >       >       >       >      backend =3D
> "/local/domain/0/backend/vfb/1/0"
> >       >       >       >       >      frontend-id =3D "1"
> >       >       >       >       >      online =3D "1"
> >       >       >       >       >      state =3D "1"
> >       >       >       >       >      vnc =3D "1"
> >       >       >       >       >      vnclisten =3D "127.0.0.1"
> >       >       >       >       >      vncdisplay =3D "0"
> >       >       >       >       >      vncunused =3D "1"
> >       >       >       >       >      sdl =3D "0"
> >       >       >       >       >      opengl =3D "0"
> >       >       >       >       >    vkbd =3D ""
> >       >       >       >       >     0 =3D ""
> >       >       >       >       >      frontend =3D
> "/local/domain/1/device/vkbd/0"
> >       >       >       >       >      backend =3D
> "/local/domain/0/backend/vkbd/1/0"
> >       >       >       >       >      frontend-id =3D "1"
> >       >       >       >       >      online =3D "1"
> >       >       >       >       >      state =3D "1"
> >       >       >       >       >    console =3D ""
> >       >       >       >       >     0 =3D ""
> >       >       >       >       >      frontend =3D "/local/domain/1/cons=
ole"
> >       >       >       >       >      backend =3D
> "/local/domain/0/backend/console/1/0"
> >       >       >       >       >      frontend-id =3D "1"
> >       >       >       >       >      online =3D "1"
> >       >       >       >       >      state =3D "1"
> >       >       >       >       >      protocol =3D "vt100"
> >       >       >       >       >    vif =3D ""
> >       >       >       >       >     0 =3D ""
> >       >       >       >       >      frontend =3D
> "/local/domain/1/device/vif/0"
> >       >       >       >       >      backend =3D
> "/local/domain/0/backend/vif/1/0"
> >       >       >       >       >      frontend-id =3D "1"
> >       >       >       >       >      online =3D "1"
> >       >       >       >       >      state =3D "1"
> >       >       >       >       >      script =3D
> "/etc/xen/scripts/vif-bridge"
> >       >       >       >       >      mac =3D "e4:5f:01:cd:7b:dd"
> >       >       >       >       >      bridge =3D "xenbr0"
> >       >       >       >       >      handle =3D "0"
> >       >       >       >       >      type =3D "vif"
> >       >       >       >       >      hotplug-status =3D ""
> >       >       >       >       >   type =3D "pvh"
> >       >       >       >       >   dm-version =3D "qemu_xen"
> >       >       >       >       > root@raspberrypi4-64:~/guest1#
> >       >       >       >       >
> >       >       >       >       > Any input as per above? Looking forward
> to hearing from you.
> >       >       >       >       >
> >       >       >       >       > Regards,
> >       >       >       >       > Vipul Kumar
> >       >       >       >       >
> >       >       >       >       > On Wed, Oct 26, 2022 at 5:21 AM Stefano
> Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       >       Hi Vipul,
> >       >       >       >       >
> >       >       >       >       >       If you look at the QEMU logs, it
> says:
> >       >       >       >       >
> >       >       >       >       >       VNC server running on
> 127.0.0.1:5900
> >       >       >       >       >
> >       >       >       >       >       That is the VNC server you need t=
o
> connect to. So in theory:
> >       >       >       >       >
> >       >       >       >       >         vncviewer 127.0.0.1:5900
> >       >       >       >       >
> >       >       >       >       >       should work correctly.
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >       If you have:
> >       >       >       >       >
> >       >       >       >       >         vfb =3D ["type=3Dvnc"]
> >       >       >       >       >
> >       >       >       >       >       in your xl config file and you
> have "fbdev" in your Linux guest, it
> >       >       >       >       >       should work.
> >       >       >       >       >
> >       >       >       >       >       If you connect to the VNC server
> but you get a black screen, it might be
> >       >       >       >       >       a guest configuration issue. I
> would try with a simpler guest, text only
> >       >       >       >       >       (no X11, no Wayland) and enable
> the fbdev console (fbcon). See
> >       >       >       >       >       Documentation/fb/fbcon.rst in
> Linux. You should be able to see a
> >       >       >       >       >       graphical console over VNC.
> >       >       >       >       >
> >       >       >       >       >       If that works, then you know that
> the fbdev kernel driver (xen-fbfront)
> >       >       >       >       >       works correctly.
> >       >       >       >       >
> >       >       >       >       >       If it doesn't work, the output of
> "xenstore-ls" would be interesting.
> >       >       >       >       >
> >       >       >       >       >       Cheers,
> >       >       >       >       >
> >       >       >       >       >       Stefano
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >       On Wed, 19 Oct 2022, Vipul Suneja
> wrote:
> >       >       >       >       >       > Hi Stefano,
> >       >       >       >       >       >
> >       >       >       >       >       > Thanks for the response!
> >       >       >       >       >       >
> >       >       >       >       >       > I am following the same link yo=
u
> shared from the beginning. Tried the command "vncviewer
> >       localhost:0"
> >       >       in DOM0
> >       >       >       but
> >       >       >       >       same
> >       >       >       >       >       issue "Can't open
> >       >       >       >       >       > display", below are the logs:
> >       >       >       >       >       >
> >       >       >       >       >       > root@raspberrypi4-64:~#
> vncviewer localhost:0
> >       >       >       >       >       >
> >       >       >       >       >       > TigerVNC Viewer 64-bit v1.11.0
> >       >       >       >       >       > Built on: 2020-09-08 12:16
> >       >       >       >       >       > Copyright (C) 1999-2020 TigerVN=
C
> Team and many others (see README.rst)
> >       >       >       >       >       > See https://www.tigervnc.org
> for information on TigerVNC.
> >       >       >       >       >       > Can't open display:
> >       >       >       >       >       >
> >       >       >       >       >       > Below are the netstat logs, i
> couldn't see anything running at port 5900 or 5901:
> >       >       >       >       >       >
> >       >       >       >       >       > root@raspberrypi4-64:~# netstat
> -tuwx
> >       >       >       >       >       > Active Internet connections (w/=
o
> servers)
> >       >       >       >       >       > Proto Recv-Q Send-Q Local
> Address           Foreign Address         State
> >       >       >       >       >       > tcp        0    164 192.168.1.3=
9:ssh
>        192.168.1.38:37472      ESTABLISHED
> >       >       >       >       >       > Active UNIX domain sockets (w/o
> servers)
> >       >       >       >       >       > Proto RefCnt Flags       Type
>     State         I-Node Path
> >       >       >       >       >       > unix  8      [ ]         DGRAM
>    CONNECTED      10565 /dev/log
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      10891 /var/run/xenstored/socket
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      13791
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      10843 /var/run/xenstored/socket
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      10573 /var/run/xenstored/socket
> >       >       >       >       >       > unix  2      [ ]         DGRAM
>    CONNECTED      14510
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      13249
> >       >       >       >       >       > unix  2      [ ]         DGRAM
>    CONNECTED      13887
> >       >       >       >       >       > unix  2      [ ]         DGRAM
>    CONNECTED      10599
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      14005
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      13258
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      13248
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      14003
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      10572 /var/run/xenstored/socket
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      10786 /var/run/xenstored/socket
> >       >       >       >       >       > unix  3      [ ]         DGRAM
>    CONNECTED      13186
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      10864 /var/run/xenstored/socket
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      10812 /var/run/xenstored/socket
> >       >       >       >       >       > unix  2      [ ]         DGRAM
>    CONNECTED      14083
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      10813 /var/run/xenstored/socket
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      14068
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      13256
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      10571 /var/run/xenstored/socket
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      10842
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      13985
> >       >       >       >       >       > unix  3      [ ]         DGRAM
>    CONNECTED      13185
> >       >       >       >       >       > unix  2      [ ]         STREAM
>     CONNECTED      13884
> >       >       >       >       >       > unix  2      [ ]         DGRAM
>    CONNECTED      14528
> >       >       >       >       >       > unix  2      [ ]         DGRAM
>    CONNECTED      13785
> >       >       >       >       >       > unix  3      [ ]         STREAM
>     CONNECTED      14034
> >       >       >       >       >       >
> >       >       >       >       >       > Attaching xen log files of
> /var/log/xen.
> >       >       >       >       >       > I didn't get the role of QEMU
> here because as mentioned earlier, I am porting in raspberrypi
> >       4B.
> >       >       >       >       >       >
> >       >       >       >       >       > Regards,
> >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >       >
> >       >       >       >       >       > On Wed, Oct 19, 2022 at 12:43 A=
M
> Stefano Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       >       >       It usually works the way
> it is described in the guide:
> >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >
> >       >       >       >
> >       >       >
> >       >
> >
> https://www.virtuatopia.com/index.php?title=3DConfiguring_a_VNC_based_Gra=
phical_Console_for_a_Xen_Paravirtualized_domainU_Guest
> >       >       >       >       >       >
> >       >       >       >       >       >       You don't need to install
> any VNC-related server software because it is
> >       >       >       >       >       >       already provided by Xen
> (to be precise it is provided by QEMU working
> >       >       >       >       >       >       together with Xen.)
> >       >       >       >       >       >
> >       >       >       >       >       >       You only need the vnc
> client in dom0 so that you can connect, but you
> >       >       >       >       >       >       could also run the vnc
> client outside from another host. So basically
> >       >       >       >       >       >       the following should work
> when executed in Dom0 after creating DomU:
> >       >       >       >       >       >
> >       >       >       >       >       >         vncviewer localhost:0
> >       >       >       >       >       >
> >       >       >       >       >       >       Can you attach the Xen an=
d
> QEMU logs (/var/log/xen/*)? And also use
> >       >       >       >       >       >       netstat -taunp to check i=
f
> there is anything running at port 5900 or
> >       >       >       >       >       >       5901?
> >       >       >       >       >       >
> >       >       >       >       >       >       Cheers,
> >       >       >       >       >       >
> >       >       >       >       >       >       Stefano
> >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >       >       On Tue, 18 Oct 2022, Vipu=
l
> Suneja wrote:
> >       >       >       >       >       >       > Hi Stefano,
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Thanks for the response=
!
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > I could install
> tigerVNC, x11vnc & libvncserver in Dom0 xen-image-minimal but only
> >       manage to
> >       >       install
> >       >       >       >       >       libvncserver(couldn't
> >       >       >       >       >       >       install tigervnc
> >       >       >       >       >       >       > & x11vnc because of x11
> >       >       >       >       >       >       > support missing, it's
> wayland) in DOMU custom graphical image. I tried running
> >       vncviewer with
> >       >       IP
> >       >       >       address &
> >       >       >       >       port
> >       >       >       >       >       in dom0 to
> >       >       >       >       >       >       access the domu
> >       >       >       >       >       >       > graphical image display
> as per below commands.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >  vncviewer
> 192.168.1.42:5901
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >  But it showing can't
> open display, below are the logs:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > root@raspberrypi4-64:~/=
guest1#
> vncviewer 192.168.1.42:5901
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > TigerVNC Viewer 64-bit
> v1.11.0
> >       >       >       >       >       >       > Built on: 2020-09-08
> 12:16
> >       >       >       >       >       >       > Copyright (C) 1999-2020
> TigerVNC Team and many others (see README.rst)
> >       >       >       >       >       >       > See
> https://www.tigervnc.org for information on TigerVNC.
> >       >       >       >       >       >       > Can't open display:
> >       >       >       >       >       >       > root@raspberrypi4-64
> :~/guest1#
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > I am not exactly sure
> what the issue is but I thought only libvncserver in DOMU could
> >       work to
> >       >       get
> >       >       >       access but
> >       >       >       >       it
> >       >       >       >       >       did not
> >       >       >       >       >       >       work.
> >       >       >       >       >       >       > If TigerVNC is the issu=
e
> here then is there any other VNC source which could be
> >       installed for
> >       >       both
> >       >       >       x11 &
> >       >       >       >       >       wayland supported
> >       >       >       >       >       >       images?
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Regards,
> >       >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > On Tue, Oct 18, 2022 at
> 2:40 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       >       >       >       VNC is typically
> easier to setup, because SDL needs extra libraries at
> >       >       >       >       >       >       >       build time and
> runtime. If QEMU is built without SDL support it won't
> >       >       >       >       >       >       >       start when you as=
k
> for SDL.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       VNC should work
> with both x11 and wayland in your domU. It doesn't work
> >       >       >       >       >       >       >       at the x11 level,
> it exposes a special fbdev device in your domU that
> >       >       >       >       >       >       >       should work with:
> >       >       >       >       >       >       >       - a graphical
> console in Linux domU
> >       >       >       >       >       >       >       - x11
> >       >       >       >       >       >       >       - wayland (but I
> haven't tested this so I am not 100% sure about it)
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       When you say "it
> doesn't work", what do you mean? Do you get a black
> >       >       >       >       >       >       >       window?
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       You need
> CONFIG_XEN_FBDEV_FRONTEND in Linux domU
> >       >       >       >       >       >       >
>  (drivers/video/fbdev/xen-fbfront.c). I would try to get a graphical text
> >       >       >       >       >       >       >       console up and
> running in your domU before attempting x11/wayland.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       Cheers,
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       Stefano
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       On Mon, 17 Oct
> 2022, Vipul Suneja wrote:
> >       >       >       >       >       >       >       > Hi,
> >       >       >       >       >       >       >       > Thanks!
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > I have ported
> xen minimal image as DOM0 & custom wayland GUI based image as
> >       DOMU in
> >       >       raspberry
> >       >       >       pi4B. I
> >       >       >       >       >       am trying to
> >       >       >       >       >       >       make GUI
> >       >       >       >       >       >       >       display up
> >       >       >       >       >       >       >       > for guest
> machine. I tried using sdl, included below line in guest.conf file
> >       >       >       >       >       >       >       > vfb=3D [ 'sdl=
=3D1' ]
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > But it is
> throwing below error:
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >
> root@raspberrypi4-64:~/guest1# xl create -c guest1.cfg
> >       >       >       >       >       >       >       > Parsing config
> from guest1.cfg
> >       >       >       >       >       >       >       > libxl: error:
> libxl_qmp.c:1400:qmp_ev_fd_callback: Domain 3:error on QMP
> >       socket:
> >       >       Connection
> >       >       >       reset by
> >       >       >       >       >       peer
> >       >       >       >       >       >       >       > libxl: error:
> libxl_qmp.c:1439:qmp_ev_fd_callback: Domain 3:Error happened
> >       with the
> >       >       QMP
> >       >       >       connection to
> >       >       >       >       >       QEMU
> >       >       >       >       >       >       >       > libxl: error:
> libxl_dm.c:3351:device_model_postconfig_done: Domain 3:Post DM
> >       startup
> >       >       configs
> >       >       >       failed,
> >       >       >       >       >       rc=3D-26
> >       >       >       >       >       >       >       > libxl: error:
> libxl_create.c:1867:domcreate_devmodel_started: Domain 3:device
> >       model
> >       >       did not
> >       >       >       start:
> >       >       >       >       -26
> >       >       >       >       >       >       >       > libxl: error:
> libxl_aoutils.c:646:libxl__kill_xs_path: Device Model already
> >       exited
> >       >       >       >       >       >       >       > libxl: error:
> libxl_domain.c:1183:libxl__destroy_domid: Domain 3:Non-existant
> >       domain
> >       >       >       >       >       >       >       > libxl: error:
> libxl_domain.c:1137:domain_destroy_callback: Domain 3:Unable to
> >       destroy
> >       >       guest
> >       >       >       >       >       >       >       > libxl: error:
> libxl_domain.c:1064:domain_destroy_cb: Domain 3:Destruction of
> >       domain
> >       >       failed
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > Another way is
> VNC, i could install tigervnc in DOM0 but same i couldn't in
> >       guest
> >       >       machine
> >       >       >       because it
> >       >       >       >       >       doesn't support
> >       >       >       >       >       >       >       x11(supports
> wayland
> >       >       >       >       >       >       >       > only). I am
> completely blocked here, Need your support to enable the display
> >       up.
> >       >       >       >       >       >       >       > Any alternative
> of VNC which could work in both x11 & wayland supported
> >       images?
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > Any input on
> VNC, SDL or any other way to proceed on this? Looking forward to
> >       hearing
> >       >       from
> >       >       >       you.
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > Regards,
> >       >       >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >
> >       >       >       >
> >       >       >       >
> >       >       >
> >       >       >
> >       >       >
> >       >
> >       >
> >       >
> >
> >
> >

--00000000000084411105efce444c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+SGkgU3RlZmFubyw8YnI+PGJyPlRoYW5rcyE8YnI+PGJyPkkgY291bGQg
c2VlIFFFTVUgNi4yLjAgY29tcGlsZWQgJmFtcDsgaW5zdGFsbGVkIGluIHRoZSBob3N0IGltYWdl
IHhlbi1pbWFnZS1taW5pbWFsLiBJIGNvdWxkIGZpbmQgeGVuZmIuYyBzb3VyY2UgZmlsZSBhbHNv
ICZhbXA7IG1vZGlmaWVkIHRoZSBzYW1lIHdpdGggZGVidWcgbG9ncy48YnI+SSBoYXZlIHNldCB1
cCBhIGNyb3NzIGNvbXBpbGUgZW52aXJvbm1lbnQsIGRpZCAmIzM5O21ha2UgY2xlYW4mIzM5OyAm
YW1wOyAmIzM5O21ha2UgYWxsJiMzOTsgdG8gcmVjb21waWxlIGJ1dCBpdCYjMzk7cyBmYWlsaW5n
LiBJbiBjYXNlIGkgYW0gZG9pbmcgd3JvbmcsIENhbiB5b3UgcGxlYXNlIGFzc2lzdCBtZSA8YnI+
d2l0aCB0aGUgY29ycmVjdCBzdGVwcyB0byBjb21waWxlIHFlbXU/wqA8ZGl2PkJlbG93IGFyZSB0
aGUgZXJyb3IgbG9nczo8YnI+PGJyPmFnbEBhZ2wtT3B0aVBsZXgtNzAxMDp+L0F1dG9tb3RpdmUv
QURBU19JbmZvdGFpbm1lbnQvUGxhdGZvcm0vUG9reV9LaXJrc3RvbmUvYnVpbGQvdG1wL3dvcmsv
Y29ydGV4YTcyLXBva3ktbGludXgvcWVtdS82LjIuMC1yMC9idWlsZCQgbWFrZSBhbGw8YnI+WzEv
Mzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfYXJwX3RhYmxl
LmMubzxicj5bMi8zODY0XSBDb21waWxpbmcgQyBvYmplY3Qgc3VicHJvamVjdHMvbGlidmhvc3Qt
dXNlci9saWJ2aG9zdC11c2VyLmEucC9saWJ2aG9zdC11c2VyLmMubzxicj5bMy8zODY0XSBMaW5r
aW5nIHN0YXRpYyB0YXJnZXQgc3VicHJvamVjdHMvbGlidmhvc3QtdXNlci9saWJ2aG9zdC11c2Vy
LmE8YnI+WzQvMzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNf
dm1zdGF0ZS5jLm88YnI+WzUvMzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9z
bGlycF9zcmNfZGhjcHY2LmMubzxicj5bNi8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xp
cnAuYS5wL3NsaXJwX3NyY19kbnNzZWFyY2guYy5vPGJyPls3LzM4NjRdIENvbXBpbGluZyBDIG9i
amVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3JjX2Jvb3RwLmMubzxicj5bOC8zODY0XSBDb21waWxp
bmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19ja3N1bS5jLm88YnI+WzkvMzg2NF0g
Q29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfaWYuYy5vPGJyPlsxMC8z
ODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19pcDZfaWNtcC5j
Lm88YnI+WzExLzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3Jj
X2lwNl9pbnB1dC5jLm88YnI+WzEyLzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5h
LnAvc2xpcnBfc3JjX2lwNl9vdXRwdXQuYy5vPGJyPlsxMy8zODY0XSBDb21waWxpbmcgQyBvYmpl
Y3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19pcF9pY21wLmMubzxicj5bMTQvMzg2NF0gQ29tcGls
aW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfaXBfaW5wdXQuYy5vPGJyPlsxNS8z
ODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19pcF9vdXRwdXQu
Yy5vPGJyPlsxNi8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3Ny
Y19tYnVmLmMubzxicj5bMTcvMzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9z
bGlycF9zcmNfbWlzYy5jLm88YnI+WzE4LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGly
cC5hLnAvc2xpcnBfc3JjX25jc2kuYy5vPGJyPlsxOS8zODY0XSBDb21waWxpbmcgQyBvYmplY3Qg
bGlic2xpcnAuYS5wL3NsaXJwX3NyY19uZHBfdGFibGUuYy5vPGJyPlsyMC8zODY0XSBDb21waWxp
bmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19zYnVmLmMubzxicj5bMjEvMzg2NF0g
Q29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfc2xpcnAuYy5vPGJyPlsy
Mi8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19zb2NrZXQu
Yy5vPGJyPlsyMy8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3Ny
Y19zdGF0ZS5jLm88YnI+WzI0LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAv
c2xpcnBfc3JjX3N0cmVhbS5jLm88YnI+WzI1LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJz
bGlycC5hLnAvc2xpcnBfc3JjX3RjcF9pbnB1dC5jLm88YnI+WzI2LzM4NjRdIENvbXBpbGluZyBD
IG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3JjX3RjcF9vdXRwdXQuYy5vPGJyPlsyNy8zODY0
XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY190Y3Bfc3Vici5jLm88
YnI+WzI4LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3JjX3Rj
cF90aW1lci5jLm88YnI+WzI5LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAv
c2xpcnBfc3JjX3RmdHAuYy5vPGJyPlszMC8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xp
cnAuYS5wL3NsaXJwX3NyY191ZHAuYy5vPGJyPlszMS8zODY0XSBDb21waWxpbmcgQyBvYmplY3Qg
bGlic2xpcnAuYS5wL3NsaXJwX3NyY191ZHA2LmMubzxicj5bMzIvMzg2NF0gQ29tcGlsaW5nIEMg
b2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfdXRpbC5jLm88YnI+WzMzLzM4NjRdIENvbXBp
bGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3JjX3ZlcnNpb24uYy5vPGJyPlszNC8z
ODY0XSBMaW5raW5nIHN0YXRpYyB0YXJnZXQgbGlic2xpcnAuYTxicj5bMzUvMzg2NF0gR2VuZXJh
dGluZyBxZW11LXZlcnNpb24uaCB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBwZWQgYnkgbWVz
b24gdG8gY2FwdHVyZSBvdXRwdXQpPGJyPkZBSUxFRDogcWVtdS12ZXJzaW9uLmg8YnI+L2hvbWUv
YWdsL0F1dG9tb3RpdmUvQURBU19JbmZvdGFpbm1lbnQvUGxhdGZvcm0vUG9reV9LaXJrc3RvbmUv
YnVpbGQvdG1wL3dvcmsvY29ydGV4YTcyLXBva3ktbGludXgvcWVtdS82LjIuMC1yMC9yZWNpcGUt
c3lzcm9vdC1uYXRpdmUvdXNyL2Jpbi9tZXNvbiAtLWludGVybmFsIGV4ZSAtLWNhcHR1cmUgcWVt
dS12ZXJzaW9uLmggLS0gL2hvbWUvYWdsL0F1dG9tb3RpdmUvQURBU19JbmZvdGFpbm1lbnQvUGxh
dGZvcm0vUG9reV9LaXJrc3RvbmUvYnVpbGQvdG1wL3dvcmsvY29ydGV4YTcyLXBva3ktbGludXgv
cWVtdS82LjIuMC1yMC9xZW11LTYuMi4wL3NjcmlwdHMvcWVtdS12ZXJzaW9uLnNoIC9ob21lL2Fn
bC9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L1BsYXRmb3JtL1Bva3lfS2lya3N0b25lL2J1
aWxkL3RtcC93b3JrL2NvcnRleGE3Mi1wb2t5LWxpbnV4L3FlbXUvNi4yLjAtcjAvcWVtdS02LjIu
MCAmIzM5OyYjMzk7IDYuMi4wPGJyPi91c3IvYmluL2Vudjog4oCYbmF0aXZlcHl0aG9uM+KAmTog
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeTxicj5uaW5qYTogYnVpbGQgc3RvcHBlZDogc3ViY29t
bWFuZCBmYWlsZWQuPGJyPm1ha2U6ICoqKiBbTWFrZWZpbGU6MTYyOiBydW4tbmluamFdIEVycm9y
IDE8YnI+PGJyPlRoYW5rcyAmYW1wOyBSZWdhcmRzLDxicj5WaXB1bCBLdW1hcjxicj48L2Rpdj48
L2Rpdj48YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPjxkaXYgZGlyPSJsdHIiIGNsYXNzPSJn
bWFpbF9hdHRyIj5PbiBXZWQsIERlYyAxNCwgMjAyMiBhdCA0OjU1IEFNIFN0ZWZhbm8gU3RhYmVs
bGluaSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNzdGFiZWxsaW5pQGtlcm5lbC5vcmciPnNzdGFiZWxs
aW5pQGtlcm5lbC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9
ImdtYWlsX3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0
OjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPkhpIFZpcHVsLDxi
cj4NCjxicj4NCkdvb2QgcHJvZ3Jlc3MhIFRoZSBtYWluIGZ1bmN0aW9uIHdlIHNob3VsZCBjaGVj
ayBpcyAmcXVvdDt4ZW5mYl9yZWZyZXNoJnF1b3Q7IGJ1dDxicj4NCmZyb20gdGhlIGxvZ3MgaXQg
bG9va3MgbGlrZSBpdCBpcyBjYWxsZWQgc2V2ZXJhbCB0aW1lcy4gV2hpY2ggbWVhbnMgdGhhdDxi
cj4NCmV2ZXJ5dGhpbmcgc2VlbXMgdG8gYmUgd29ya2luZyBhcyBleHBlY3RlZCBvbiB0aGUgTGlu
dXggc2lkZS48YnI+DQo8YnI+DQpJdCBpcyB0aW1lIHRvIGludmVzdGlnYXRlIHRoZSBRRU1VIHNp
ZGU6PGJyPg0KLi9ody9kaXNwbGF5L3hlbmZiLmM6eGVuZmJfaGFuZGxlX2V2ZW50czxicj4NCi4v
aHcvZGlzcGxheS94ZW5mYi5jOnhlbmZiX21hcF9mYjxicj4NCjxicj4NCkkgd29uZGVyIGlmIHRo
ZSBpc3N1ZSBpcyBpbnRlcm5hbCB0byBRRU1VLiBZb3UgbWlnaHQgd2FudCB0byB1c2UgYW48YnI+
DQpvbGRlciBRRU1VIHZlcnNpb24gdG8gY2hlY2sgaWYgaXQgd29ya3MsIG1heWJlIDYuMCBvciA1
LjAgb3IgZXZlbiA0LjAuPGJyPg0KSSBhbHNvIHdvbmRlciBpZiBpdCBpcyBhIHByb2JsZW0gYmV0
d2VlbiB4ZW5mYi5jIGFuZCB0aGUgcmVzdCBvZiBRRU1VLiBJPGJyPg0Kd291bGQgaW52ZXN0aWdh
dGUgaG93IHhlbmZiLSZndDtwaXhlbHMgaXMgcmVuZGVyZWQgYnkgdGhlIHJlc3Qgb2YgUUVNVS48
YnI+DQpTcGVjaWZpY2FsbHkgeW91IG1pZ2h0IHdhbnQgdG8gbG9vayBhdCB0aGUgY2FsbCB0bzxi
cj4NCnFlbXVfY3JlYXRlX2Rpc3BsYXlzdXJmYWNlLCBxZW11X2NyZWF0ZV9kaXNwbGF5c3VyZmFj
ZV9mcm9tIGFuZDxicj4NCmRweV9nZnhfcmVwbGFjZV9zdXJmYWNlIGluIHhlbmZiX3VwZGF0ZS48
YnI+DQo8YnI+DQpJIGhvcGUgdGhpcyBoZWxwcy48YnI+DQo8YnI+DQpDaGVlcnMsPGJyPg0KPGJy
Pg0KU3RlZmFubzxicj4NCjxicj4NCjxicj4NCk9uIFR1ZSwgMTMgRGVjIDIwMjIsIFZpcHVsIFN1
bmVqYSB3cm90ZTo8YnI+DQomZ3Q7IEhpIFN0ZWZhbm8sPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IFRo
YW5rcyE8YnI+DQomZ3Q7IDxicj4NCiZndDsgSSBtb2RpZmllZCB4ZW4tZmJmcm9udC5jIHNvdXJj
ZSBmaWxlLCBpbmNsdWRlZCBwcmludGsgZGVidWcgbG9ncyAmYW1wOyBjcm9zcyBjb21waWxlZCBp
dC4gSSBpbmNsdWRlZCB0aGUgcHJpbnRrIGRlYnVnIGxvZyBhdCB0aGUgZW50cnkgJmFtcDsgZXhp
dDxicj4NCiZndDsgb2YgYWxsIGZ1bmN0aW9ucyBvZiB4ZW4tZmJmcm9udC5jIGZpbGUuPGJyPg0K
Jmd0OyBHZW5lcmF0ZWQga2VybmVsIG1vZHVsZSAmYW1wOyBsb2FkZWQgaW4gZ3Vlc3QgbWFjaGlu
ZSBhdCBib290dXAuIEkgY291bGQgc2VlIGxvdHMgb2YgbG9ncyBjb21pbmcgdXAsIGFuZCBjb3Vs
ZCBzZWUgbXVsdGlwbGUgZnVuY3Rpb25zIGJlaW5nPGJyPg0KJmd0OyBpbnZva2VkIGV2ZW4gaWYg
SSBoYXZlwqBub3QgdXNlZMKgdm5jdmlld2VyIGluIHRoZSBob3N0LiBBdHRhY2hpbmcgdGhlIGxv
ZyBmaWxlIGZvciByZWZlcmVuY2UuIEFueSBzcGVjaWZpYyBmdW5jdGlvbiBvciBwYXJhbWV0ZXJz
IHRoYXQgaGF2ZTxicj4NCiZndDsgdG8gYmUgY2hlY2tlZCBvciBhbnkgb3RoZXIgc3VnZ2VzdGlv
biBhcyBwZXIgbG9ncz88YnI+DQomZ3Q7IDxicj4NCiZndDsgVGhhbmtzICZhbXA7IFJlZ2FyZHMs
PGJyPg0KJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDsgPGJyPg0KJmd0OyBPbiBUdWUsIERlYyAx
MywgMjAyMiBhdCAzOjQ0IEFNIFN0ZWZhbm8gU3RhYmVsbGluaSAmbHQ7PGEgaHJlZj0ibWFpbHRv
OnNzdGFiZWxsaW5pQGtlcm5lbC5vcmciIHRhcmdldD0iX2JsYW5rIj5zc3RhYmVsbGluaUBrZXJu
ZWwub3JnPC9hPiZndDsgd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgSGkgVmlwdWwsPGJyPg0K
Jmd0OyA8YnI+DQomZ3Q7wqAgwqAgwqAgwqBJIGFtIG9ubGluZSBvbiBJUkMgT0ZUQyAjeGVuZGV2
ZWwgKDxhIGhyZWY9Imh0dHBzOi8vd3d3Lm9mdGMubmV0LyIgcmVsPSJub3JlZmVycmVyIiB0YXJn
ZXQ9Il9ibGFuayI+aHR0cHM6Ly93d3cub2Z0Yy5uZXQvPC9hPiwgeW91IG5lZWQgYTxicj4NCiZn
dDvCoCDCoCDCoCDCoHJlZ2lzdGVyZWQgbmlja25hbWUgdG8gam9pbiAjeGVuZGV2ZWwpLjxicj4N
CiZndDsgPGJyPg0KJmd0O8KgIMKgIMKgIMKgRm9yIGRldmVsb3BtZW50IGFuZCBkZWJ1Z2dpbmcg
SSBmaW5kIHRoYXQgaXQgaXMgYSBsb3QgZWFzaWVyIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgY3Jv
c3Njb21waWxlIHRoZSBrZXJuZWwgJnF1b3Q7YnkgaGFuZCZxdW90OywgYW5kIGRvIGEgbW9ub2xp
dGhpYyBidWlsZCwgcmF0aGVyPGJyPg0KJmd0O8KgIMKgIMKgIMKgdGhhbiBnb2luZyB0aHJvdWdo
IFlvY3RvLjxicj4NCiZndDsgPGJyPg0KJmd0O8KgIMKgIMKgIMKgRm9yIGluc3RhbmNlIHRoZSBm
b2xsb3dpbmcgYnVpbGRzIGZvciBtZTo8YnI+DQomZ3Q7IDxicj4NCiZndDvCoCDCoCDCoCDCoGNk
IGxpbnV4LmdpdDxicj4NCiZndDvCoCDCoCDCoCDCoGV4cG9ydCBBUkNIPWFybTY0PGJyPg0KJmd0
O8KgIMKgIMKgIMKgZXhwb3J0IENST1NTX0NPTVBJTEU9L3BhdGgvdG8vY3Jvc3MtY29tcGlsZXI8
YnI+DQomZ3Q7wqAgwqAgwqAgwqBtYWtlIGRlZmNvbmZpZzxicj4NCiZndDvCoCDCoCDCoCDCoFth
ZGQgcHJpbnRrcyB0byBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3hlbi1mYmZyb250LmNdPGJyPg0KJmd0
O8KgIMKgIMKgIMKgbWFrZSAtajggSW1hZ2UuZ3o8YnI+DQomZ3Q7IDxicj4NCiZndDvCoCDCoCDC
oCDCoEFuZCBJbWFnZS5neiBib290cyBvbiBYZW4gYXMgRG9tVSBrZXJuZWwgd2l0aG91dCBpc3N1
ZXMuPGJyPg0KJmd0OyA8YnI+DQomZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0OyA8YnI+
DQomZ3Q7wqAgwqAgwqAgwqBTdGVmYW5vPGJyPg0KJmd0OyA8YnI+DQomZ3Q7wqAgwqAgwqAgwqBP
biBTYXQsIDEwIERlYyAyMDIyLCBWaXB1bCBTdW5lamEgd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0OyBIaSBTdGVmYW5vLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IFRoYW5rcyE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0OyBJIGhhdmUgaW5jbHVkZWQgcHJpbnRrIGRlYnVnIGxvZ3MgaW4gdGhlIHhl
bi1mYmZyb250LmMgc291cmNlIGZpbGUuIFdoaWxlIGNyb3NzIGNvbXBpbGluZyB0byBnZW5lcmF0
ZSAua28gd2l0aDxicj4NCiZndDvCoCDCoCDCoCDCoCZxdW90O3hlbi1ndWVzdC1pbWFnZS1taW5p
bWFsJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyB0b29sY2hhaW4gaXQmIzM5O3MgdGhy
b3dpbmcgYSBtb2Rwb3N0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBub3QgZm91bmQgZXJyb3Iu
IEkgY291bGQgc2VlIHRoZSBtb2Rwb3N0LmMgc291cmNlIGZpbGUgYnV0IHRoZSBmaW5hbCBzY3Jp
cHQgaXMgbWlzc2luZy4gQW55IGlucHV0IG9uIHRoaXMsIEJlbG93IGFyZSB0aGU8YnI+DQomZ3Q7
wqAgwqAgwqAgwqBsb2dzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IGFnbEBhZ2wtT3B0aVBsZXgtNzAxMDp+L0F1dG9tb3RpdmUvQURBU19JbmZvdGFp
bm1lbnQvcHJvamVjdC9BcHBsaWNhdGlvbi9YZW4vRnJhbWVidWZmZXIkIG1ha2U8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IG1ha2UgQVJDSD1hcm02NCAtSS9vcHQvcG9reS80LjAuNS9zeXNyb290
cy9jb3J0ZXhhNzItcG9reS1saW51eC91c3IvaW5jbHVkZS9hc20gLUM8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IC9vcHQvcG9reS80LjAuNS9zeXNyb290cy9jb3J0ZXhhNzItcG9reS1saW51eC9s
aWIvbW9kdWxlcy81LjE1LjcyLXlvY3RvLXN0YW5kYXJkL2J1aWxkPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0OyBNPS9ob21lL2FnbC9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L3Byb2plY3Qv
QXBwbGljYXRpb24vWGVuL0ZyYW1lYnVmZmVyIG1vZHVsZXM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IG1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSAmIzM5Oy9vcHQvcG9reS80LjAuNS9zeXNy
b290cy9jb3J0ZXhhNzItcG9reS1saW51eC9saWIvbW9kdWxlcy81LjE1LjcyLXlvY3RvLXN0YW5k
YXJkL2J1aWxkJiMzOTs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGFyY2gvYXJtNjQvTWFrZWZp
bGU6MzY6IERldGVjdGVkIGFzc2VtYmxlciB3aXRoIGJyb2tlbiAuaW5zdDsgZGlzYXNzZW1ibHkg
d2lsbCBiZSB1bnJlbGlhYmxlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyB3YXJuaW5nOiB0aGUg
Y29tcGlsZXIgZGlmZmVycyBmcm9tIHRoZSBvbmUgdXNlZCB0byBidWlsZCB0aGUga2VybmVsPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCBUaGUga2VybmVsIHdhcyBidWlsdCBieTogZ2NjIChV
YnVudHUgOS40LjAtMXVidW50dTF+MjAuMDQuMSkgOS40LjA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIFlvdSBhcmUgdXNpbmc6IMKgIMKgIMKgIMKgIMKgIGFhcmNoNjQtcG9reS1saW51eC1n
Y2MgKEdDQykgMTEuMy4wPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCBDQyBbTV0gwqAvaG9t
ZS9hZ2wvQXV0b21vdGl2ZS9BREFTX0luZm90YWlubWVudC9wcm9qZWN0L0FwcGxpY2F0aW9uL1hl
bi9GcmFtZWJ1ZmZlci94ZW4tZmJmcm9udC5vPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCBN
T0RQT1NUIC9ob21lL2FnbC9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L3Byb2plY3QvQXBw
bGljYXRpb24vWGVuL0ZyYW1lYnVmZmVyL01vZHVsZS5zeW12ZXJzPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0OyAvYmluL3NoOiAxOiBzY3JpcHRzL21vZC9tb2Rwb3N0OiBub3QgZm91bmQ8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IG1ha2VbMl06ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5tb2Rwb3N0
OjEzMzo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAvaG9tZS9hZ2wvQXV0b21vdGl2ZS9BREFTX0luZm90
YWlubWVudC9wcm9qZWN0L0FwcGxpY2F0aW9uL1hlbi9GcmFtZWJ1ZmZlci9Nb2R1bGUuc3ltdmVy
c108YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEVycm9yIDEyNzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgbWFrZVsxXTogKioqIFtNYWtlZmlsZToxODEzOiBtb2R1bGVzXSBFcnJvciAyPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0OyBtYWtlWzFdOiBMZWF2aW5nIGRpcmVjdG9yeSAmIzM5Oy9vcHQv
cG9reS80LjAuNS9zeXNyb290cy9jb3J0ZXhhNzItcG9reS1saW51eC9saWIvbW9kdWxlcy81LjE1
LjcyLXlvY3RvLXN0YW5kYXJkL2J1aWxkJiMzOTs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IG1h
a2U6ICoqKiBbTWFrZWZpbGU6NTogYWxsXSBFcnJvciAyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
OyBhZ2xAYWdsLU9wdGlQbGV4LTcwMTA6fi9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L3By
b2plY3QvQXBwbGljYXRpb24vWGVuL0ZyYW1lYnVmZmVyJCBscyAtbDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDsgdG90YWwgMzI0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAtcnd4cnd4cnd4IDEg
YWdsIGFnbCDCoCDCoDM1OSBEZWMgMTAgMjI6NDEgTWFrZWZpbGU8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IC1ydy1ydy1yLS0gMSBhZ2wgYWdsIMKgIMKgIDkwIERlYyAxMCAyMjo0OSBtb2R1bGVz
Lm9yZGVyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyAtcnctci0tci0tIDEgYWdsIGFnbCDCoDE4
MzMxIERlYyDCoDEgMjA6MzIgeGVuLWZiZnJvbnQuYzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsg
LXJ3LXJ3LXItLSAxIGFnbCBhZ2wgwqAgwqAgOTAgRGVjIDEwIDIyOjQ5IHhlbi1mYmZyb250Lm1v
ZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgLXJ3LXJ3LXItLSAxIGFnbCBhZ2wgMjk3ODMyIERl
YyAxMCAyMjo0OSB4ZW4tZmJmcm9udC5vPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBhZ2xAYWds
LU9wdGlQbGV4LTcwMTA6fi9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L3Byb2plY3QvQXBw
bGljYXRpb24vWGVuL0ZyYW1lYnVmZmVyJCBmaWxlIHhlbi1mYmZyb250Lm88YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IHhlbi1mYmZyb250Lm86IEVMRiA2NC1iaXQgTFNCIHJlbG9jYXRhYmxlLCBB
Uk0gYWFyY2g2NCwgdmVyc2lvbiAxIChTWVNWKSwgd2l0aCBkZWJ1Z19pbmZvLCBub3Qgc3RyaXBw
ZWQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGFnbEBhZ2wtT3B0aVBsZXgtNzAxMDp+L0F1dG9t
b3RpdmUvQURBU19JbmZvdGFpbm1lbnQvcHJvamVjdC9BcHBsaWNhdGlvbi9YZW4vRnJhbWVidWZm
ZXIkPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgSSBo
YXZlIGNvbm5lY3RlZCBhIEhETUkgYmFzZWQgMTk4MHgxMDI0IHJlc29sdXRpb24gZGlzcGxheSBz
Y3JlZW4gdG8gcmFzcGJlcnJ5cGk0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLiBJIGhvcGUgY29ubmVj
dGluZzxicj4NCiZndDvCoCDCoCDCoCDCoHRoaXMgZGlzcGxheSB0bzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDsgcnBpNCBzaG91bGQgYmUgb2suPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDsgSXMgdGhlcmUgYW55IG90aGVyIHdheSB3ZSBjYW4gY29ubmVj
dCBhbHNvIGZvciBkZXRhaWxlZCBkaXNjdXNzaW9uIG9uIHRoZSBkaXNwbGF5IGJyaW5ndXAgaXNz
dWU/IFRoaXMgd2lsbCByZWFsbHkgaGVscCB0bzxicj4NCiZndDvCoCDCoCDCoCDCoHJlc29sdmUg
dGhpczxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgaXNzdWUuPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgVGhhbmtzICZhbXA7IFJlZ2FyZHMsPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIEZyaSwgRGVjIDIsIDIwMjIgYXQgMTowMiBBTSBT
dGVmYW5vIFN0YWJlbGxpbmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwu
b3JnIiB0YXJnZXQ9Il9ibGFuayI+c3N0YWJlbGxpbmlAa2VybmVsLm9yZzwvYT4mZ3Q7IHdyb3Rl
Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoE9uIFRodSwgMSBEZWMgMjAyMiwg
VmlwdWwgU3VuZWphIHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgSGkgU3RlZmFubyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFRo
YW5rcyE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJIGFtIGV4cGxvcmluZyBib3RoIG9wdGlvbnMg
aGVyZSwgbW9kaWZpY2F0aW9uIG9mIGZyYW1lYnVmZmVyIHNvdXJjZSBmaWxlICZhbXA7IHNldHRp
bmcgdXAgeDExdm5jIHNlcnZlciBpbiBndWVzdC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IE90aGVyIHRoYW4gdGhlc2UgSSB3b3VsZCBsaWtlIHRvIHNoYXJlIGEgZmV3
IGZpbmRpbmdzIHdpdGggeW91Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDEuIElmIGkga2VlcCAm
cXVvdDtDT05GSUdfWEVOX0ZCREVWX0ZST05URU5EPXkmcXVvdDsgdGhlbiB4ZW4tZmJmcm9udC5r
byBpcyBub3QgZ2VuZXJhdGluZyBidXQgaWYgaSBrZWVwPGJyPg0KJmd0O8KgIMKgIMKgIMKgJnF1
b3Q7Q09ORklHX1hFTl9GQkRFVl9GUk9OVEVORD1tJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyB0aGVuIGNvdWxkIHNlZSB4ZW4tZmJmcm9udC5rbyAmYW1wOyBp
dHMgbG9hZGluZyBhbHNvLiBTYW1lIHRoaW5ncyB3aXRoIG90aGVyIGZyb250ZW5kL2JhY2tlbmQg
ZHJpdmVycyBhbHNvLiBEbyB3ZSBuZWVkIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgY29uZmlndXJlwqB0aGVzZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgZHJpdmVycyBhcyBhIG1vZHVsZShtKSBvbmx5Pzxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB4ZW4tZmJmcm9udCBzaG91bGQg
d29yayBib3RoIGFzIGEgbW9kdWxlICh4ZW4tZmJmcm9udC5rbykgb3IgYnVpbHQtaW48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAoQ09ORklHX1hFTl9GQkRFVl9GUk9OVEVORD15
KS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IDIuIEkgY291bGQgc2VlIHhlbnN0b3JlZCBzZXJ2aWNlIGlzIHJ1bm5pbmcgZm9yIHRoZSBo
b3N0IGJ1dCBpdCYjMzk7cyBhbHdheXMgZmFpbGluZyBmb3IgdGhlIGd1ZXN0wqBtYWNoaW5lLiBJ
IGNvdWxkIHNlZTxicj4NCiZndDvCoCDCoCDCoCDCoGl0IGluPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgYm9vdHVwIGxvZ3MgJmFtcDsgdmlhPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBzeXN0ZW1jdGwgc3RhdHVzIGFsc28uPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFRoYXQgaXMgbm9y
bWFsLiB4ZW5zdG9yZWQgaXMgb25seSBtZWFudCB0byBiZSBydW4gaW4gRG9tMCwgbm90IGluIHRo
ZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGRvbVVzLiBJZiB5b3UgdXNlIHRo
ZSBzYW1lIHJvb3RmcyBmb3IgRG9tMCBhbmQgRG9tVSB0aGVuIHhlbnN0b3JlZCB3aWxsPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZmFpbCBzdGFydGluZyBpbiB0aGUgRG9tVSAo
YnV0IHNob3VsZCBzdWNjZWVkIGluIERvbTApLCB3aGljaCBpcyB3aGF0IHdlPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgd2FudC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSWYgeW91IHJ1biAmcXVvdDt4ZW5zdG9y
ZS1scyZxdW90OyBpbiBEb20wLCB5b3UmIzM5O2xsIHNlZSBhIGJ1bmNoIG9mIGVudHJpZXMsPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgaW5jbHVkaW5nIHNvbWUgb2YgdGhlbSBy
ZWxhdGVkIHRvICZxdW90O3ZmYiZxdW90OyB3aGljaCBpcyB0aGUgdmlydHVhbCBmcmFtZWJ1ZmZl
cjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHByb3RvY29sLiBZb3Ugc2hvdWxk
IGFsc28gc2VlIGFuIGVudHJ5IGNhbGxlZCAmcXVvdDtzdGF0ZSZxdW90OyBzZXQgdG8gJnF1b3Q7
NCZxdW90OyB3aGljaDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoG1lYW5zICZx
dW90O2Nvbm5lY3RlZCZxdW90Oy4gc3RhdGUgPSA0IGlzIHVzdWFsbHkgd2hlbiBldmVyeXRoaW5n
IHdvcmtzLiBOb3JtYWxseTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHdoZW4g
dGhpbmdzIGRvbiYjMzk7dCB3b3JrIHN0YXRlICE9IDQuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBCZWxvdyBhcmUgdGhlIGxvZ3M6PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbIMKgT0sgwqBdIFJlYWNoZWQg
dGFyZ2V0IEJhc2ljIFN5c3RlbS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IFsgwqBPSyDCoF0gU3RhcnRlZCBLZXJuZWwgTG9nZ2luZyBTZXJ2aWNlLjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgWyDCoE9LIMKgXSBTdGFydGVkIFN5c3RlbSBM
b2dnaW5nIFNlcnZpY2UuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoCDCoCDCoFN0YXJ0aW5nIEQtQnVzIFN5c3RlbSBNZXNzYWdlIEJ1cy4uLjxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqAgwqBTdGFydGluZyBV
c2VyIExvZ2luIE1hbmFnZW1lbnQuLi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIMKgIMKgU3RhcnRpbmcgUGVybWl0IFVzZXIgU2Vzc2lvbnMuLi48YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgIMKgU3RhcnRp
bmcgVGhlIFhlbiB4ZW5zdG9yZS4uLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgwqAgwqBTdGFydGluZyBPcGVuU1NIIEtleSBHZW5lcmF0aW9uLi4uPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbRkFJTEVEXSBGYWlsZWQgdG8g
c3RhcnQgVGhlIFhlbiB4ZW5zdG9yZS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IFNlZSAmIzM5O3N5c3RlbWN0bCBzdGF0dXMgeGVuc3RvcmVkLnNlcnZpY2UmIzM5OyBm
b3IgZGV0YWlscy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFtERVBF
TkRdIERlcGVuZGVuY3kgZmFpbGVkIGZvciBxZW11IGZvciB4ZW4gZG9tMCBkaXNrIGJhY2tlbmQu
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbREVQRU5EXSBEZXBlbmRl
bmN5IGZhaWxlZCBmb3IgWGVuZOKApnAgZ3Vlc3RzIG9uIGJvb3QgYW5kIHNodXRkb3duLjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgW0RFUEVORF0gRGVwZW5kZW5jeSBm
YWlsZWQgZm9yIHhlbi3igKZkZXMsIEpTT04gY29uZmlndXJhdGlvbiBzdHViKS48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFtERVBFTkRdIERlcGVuZGVuY3kgZmFpbGVk
IGZvciBYZW5j4oCmZ3Vlc3QgY29uc29sZXMgYW5kIGh5cGVydmlzb3IuPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbIMKgT0sgwqBdIEZpbmlzaGVkIFBlcm1pdCBVc2Vy
IFNlc3Npb25zLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgWyDCoE9L
IMKgXSBTdGFydGVkIEdldHR5IG9uIHR0eTEuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyBbIMKgT0sgwqBdIFN0YXJ0ZWQgU2VyaWFsIEdldHR5IG9uIGh2YzAuPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbIMKgT0sgwqBdIFN0YXJ0ZWQgU2Vy
aWFsIEdldHR5IG9uIHR0eVMwLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgWyDCoE9LIMKgXSBSZWFjaGVkIHRhcmdldCBMb2dpbiBQcm9tcHRzLjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqAgwqBTdGFydGluZyBYZW4td2F0
Y2hkb2cgLSBydW4geGVuIHdhdGNoZG9nIGRhZW1vbi4uLjxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgWyDCoE9LIMKgXSBTdGFydGVkIEQtQnVzIFN5c3RlbSBNZXNzYWdl
IEJ1cy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0g
U3RhcnRlZCBYZW4td2F0Y2hkb2cgLSBydW4geGVuIHdhdGNoZG9nIGRhZW1vbi48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0gRmluaXNoZWQgT3BlblNT
SCBLZXkgR2VuZXJhdGlvbi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IFsgwqBPSyDCoF0gU3RhcnRlZCBVc2VyIExvZ2luIE1hbmFnZW1lbnQuPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbIMKgT0sgwqBdIFJlYWNoZWQgdGFyZ2V0IE11bHRp
LVVzZXIgU3lzdGVtLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAgwqAgwqBTdGFydGluZyBSZWNvcmQgUnVubGV2ZWwgQ2hhbmdlIGluIFVUTVAuLi48YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0gRmluaXNoZWQg
UmVjb3JkIFJ1bmxldmVsIENoYW5nZSBpbiBVVE1QLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgZmJjb246IFRha2luZyBvdmVyIGNvbnNvbGU8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyBQb2t5IChZb2N0byBQcm9qZWN0IFJlZmVyZW5jZSBEaXN0cm8pIDQuMC40IHJhc3Bi
ZXJyeXBpNC02NCBodmMwPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgcmFzcGJlcnJ5cGk0LTY0IGxv
Z2luOiByb290PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJh
c3BiZXJyeXBpNC02NDp+Izxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
cm9vdEByYXNwYmVycnlwaTQtNjQ6fiM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4jIHN5c3RlbWN0bCBzdGF0dXMgeGVuc3RvcmVk
LnNlcnZpY2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHggeGVuc3Rv
cmVkLnNlcnZpY2UgLSBUaGUgWGVuIHhlbnN0b3JlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoExvYWRlZDogbG9hZGVkICgvbGliL3N5c3RlbWQvc3lzdGVt
L3hlbnN0b3JlZC5zZXJ2aWNlOyBlbmFibGVkOyB2ZW5kb3IgcHJlc2V0OiBlbmFibGVkKTxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBBY3RpdmU6IGZhaWxl
ZCAoUmVzdWx0OiBleGl0LWNvZGUpIHNpbmNlIFRodSAyMDIyLTEyLTAxIDA2OjEyOjA1IFVUQzsg
MjZzIGFnbzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgUHJv
Y2VzczogMTk1IEV4ZWNTdGFydFByZT0vYmluL2dyZXAgLXEgY29udHJvbF9kIC9wcm9jL3hlbi9j
YXBhYmlsaXRpZXMgKGNvZGU9ZXhpdGVkLCBzdGF0dXM9MS9GQUlMVVJFKTxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IERlYyAwMSAwNjoxMjowNCByYXNwYmVycnlwaTQtNjQgc3lzdGVtZFsxXTogU3Rh
cnRpbmcgVGhlIFhlbiB4ZW5zdG9yZS4uLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgRGVjIDAxIDA2OjEyOjA1IHJhc3BiZXJyeXBpNC02NCBzeXN0ZW1kWzFdOiB4ZW5z
dG9yZWQuc2VydmljZTogQ29udHJvbCBwcm8uLi5VUkU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IERlYyAwMSAwNjoxMjowNSByYXNwYmVycnlwaTQtNjQgc3lzdGVtZFsx
XTogeGVuc3RvcmVkLnNlcnZpY2U6IEZhaWxlZCB3aXRoLi4uZSYjMzk7Ljxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgRGVjIDAxIDA2OjEyOjA1IHJhc3BiZXJyeXBpNC02
NCBzeXN0ZW1kWzFdOiBGYWlsZWQgdG8gc3RhcnQgVGhlIFhlbiB4ZW5zdG9yZS48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEhpbnQ6IFNvbWUgbGluZXMgd2VyZSBlbGxp
cHNpemVkLCB1c2UgLWwgdG8gc2hvdyBpbiBmdWxsLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVycnlwaTQtNjQ6fiPCoDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IEFueSBpbnB1dCBvbiB0aGVzZT88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFua3Mg
JmFtcDsgUmVnYXJkcyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFZp
cHVsIEt1bWFyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgT24gV2VkLCBOb3YgMjMsIDIwMjIgYXQg
NTo0MSBBTSBTdGVmYW5vIFN0YWJlbGxpbmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3RhYmVsbGlu
aUBrZXJuZWwub3JnIiB0YXJnZXQ9Il9ibGFuayI+c3N0YWJlbGxpbmlAa2VybmVsLm9yZzwvYT4m
Z3Q7IHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoEhpIFZpcHVsLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJIGNhbm5vdCBz
cG90IGFueSBpc3N1ZSBpbiB0aGUgY29uZmlndXJhdGlvbiwgaW4gcGFydGljdWFsIHlvdSBoYXZl
Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDT05GSUdfWEVOX0ZCREVWX0ZST05U
RU5EPXk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgd2hpY2ggaXMgd2hhdCB5b3Ug
bmVlZC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgVGhlIG9ubHkgdGhpbmcgSSBj
YW4gc3VnZ2VzdCBpcyB0byBhZGQgcHJpbnRrcyB0byB0aGUgTGludXggZnJvbnRlbmQ8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBkcml2ZXIgKHRoZSBv
bmUgcnVubmluZyBpbiB0aGUgZG9tVSkgd2hpY2ggaXM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3hlbi1mYmZyb250
LmMgYW5kIHByaW50ZnMgdG8gdGhlIFFFTVUgYmFja2VuZDxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoChydW5uaW5nIGluIERvbTApIHdoaWNoIGlzIGh3
L2Rpc3BsYXkveGVuZmIuYyB0byBmaWd1cmUgb3V0IHdoYXQgaXM8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBnb2luZyBvbi48YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oEFsdGVybmF0aXZlbHksIHlvdSBjYW4gc2V0dXAgUFYgbmV0d29yayB3aXRoIHRoZSBkb21VLCBz
dWNoIGFzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoCB2aWY9WyYjMzk7JiMz
OTtdPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGFuZCB0aGVuIHJ1biB4MTEgYW5k
IGEgeDExdm5jIHNlcnZlciBpbiB5b3VyIGRvbVUuIFlvdSBzaG91bGQgYmUgYWJsZSB0bzxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGNvbm5lY3QgdG8g
aXQgdXNpbmcgdm5jdmlld2VyIGF0IHRoZSBuZXR3b3JrIElQIG9mIHlvdXIgZG9tVS48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgQmFzaWNhbGx5IHlvdSBhcmUgc2tpcHBpbmcgdGhl
IHByb2JsZW0gYmVjYXVzZSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBQVjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGZyYW1lYnVmZmVyIHByb3RvY29sLCB5
b3UganVzdCB1c2UgVk5DIG92ZXIgdGhlIG5ldHdvcmsgd2l0aCB0aGUgZG9tVS48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoENoZWVycyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgU3RlZmFubzxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgT24gVHVlLCAyMiBOb3YgMjAyMiwgVmlwdWwgU3VuZWphIHdyb3RlOjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSGkg
U3RlZmFubyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IFRoYW5rcyBmb3IgdGhlwqBzdXBwb3J0ITxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IExvb2tzIGxpa2UgSSBoYXZlIHRyaWVkIGFsbCB0
aGUgY29tYmluYXRpb25zwqAmYW1wOyBwb3NzaWJsZSB3YXlzIHRvIGdldCBkaXNwbGF5IHVwIGJ1
dCBmYWlsZWQuIElzIHRoZXJlIGFueTxicj4NCiZndDvCoCDCoCDCoCDCoGRvY3VtZW50IG9yPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgcGRmIGZvcjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHBvcnRpbmcgeGVuIG9uPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByYXNwYmVycnlw
aTQuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyBJIGNvdWxkIGZpbmQgbG90JiMzOTtzIG9mIGxpbmtzIHRlbGxpbmcgdGhlIHNhbWUgYnV0IGNv
dWxkbiYjMzk7dCBzZWUgYW55IG9mZmljaWFsIHVzZXIgZ3VpZGUgb3IgZG9jdW1lbnQgZnJvbSB0
aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqB4ZW48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqBjb21tdW5pdHkgb248YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqB0aGUgc2FtZS4gSWY8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHRoZXJlIGlzIHNvbWV0aGluZyB0byByZWZlcsKgPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB0byBwbGVh
c2Ugc2hhcmUgd2l0aCBtZS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IEkgYW0gYXR0YWNoaW5nIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbiBm
aWxlIGFsc28sIGp1c3QgdGFrZSBhIGxvb2sgaWYgaSBoYXZlIG1pc3NlZCBhbnl0aGluZy48YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFueSBv
dGhlciBzdWdnZXN0aW9ucyBvciBpbnB1dCBmcm9tIHlvdXIgZW5kIGNvdWxkIGJlIHJlYWxseSBo
ZWxwZnVsPzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIEZyaSwgTm92IDExLCAyMDIyIGF0IDY6NDAgQU0gU3RlZmFu
byBTdGFiZWxsaW5pICZsdDs8YSBocmVmPSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIg
dGFyZ2V0PSJfYmxhbmsiPnNzdGFiZWxsaW5pQGtlcm5lbC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqBIaSBWaXB1bCw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgU29ycnkgZm9yIHRoZSBsYXRlIHJlcGx5LiBGcm9tIHRoZSBl
YXJsaWVyIGxvZ3MgdGhhdCB5b3Ugc2VudCwgaXQgbG9va3M8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBsaWtlIGV2ZXJ5dGhp
bmcgc2hvdWxkIGJlIHdvcmtpbmcgY29ycmVjdGx5LiBTcGVjaWZpY2FsbHk6PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAg
wqAgdmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoDEgPSAmcXVvdDsmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqDCoMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKg
ZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZmYi8wJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgwqDCoCDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAg
wqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCDCoHN0YXRl
ID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAgwqB2bmMgPSAmcXVvdDsxJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgwqDCoCDCoCDCoCDCoHZuY2xpc3RlbiA9ICZxdW90OzEyNy4wLjAuMSZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoMKgwqAgwqAgwqAgwqB2bmNkaXNwbGF5ID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKg
wqAgwqAgwqAgwqB2bmN1bnVzZWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCDC
oHNkbCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgb3BlbmdsID0gJnF1b3Q7
MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAgwqBmZWF0dXJlLXJlc2l6ZSA9ICZxdW90OzEmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgaG90cGx1Zy1zdGF0dXMgPSAmcXVvdDtjb25uZWN0ZWQm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgcmVxdWVzdC11cGRhdGUgPSAmcXVvdDsxJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoHN0YXRlICZxdW90OzQmcXVvdDsgbWVhbnMgJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7LiBT
byBJIHdvdWxkIGV4cGVjdCB0aGF0IHlvdSBzaG91bGQgYmUgYWJsZTxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHRvIGNvbm5l
Y3QgdG8gdGhlIHZuYyBzZXJ2ZXIgdXNpbmcgdm5jdmlld2VyLiBZb3UgbWlnaHQgbm90IHNlZSBh
bnl0aGluZzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoChibGFjayBzY3JlZW4pIGJ1dCB5b3Ugc2hvdWxkIGRlZmluaXRlbHkg
YmUgYWJsZSB0byBjb25uZWN0Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJIHdvdWxkbiYjMzk7dCB0cnkgdG8gbGF1bmNoIHgx
MSBpbiB0aGUgZ3Vlc3QganVzdCB5ZXQuIGZiY29uIGluIExpbnV4IGlzPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZW5vdWdo
IHRvIHJlbmRlciBzb21ldGhpbmcgb24gdGhlIHNjcmVlbi4gWW91IHNob3VsZCBiZSBhYmxlIHRv
IHNlZSB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBMaW51eCB0ZXh0LWJhc2VkIGNvbnNvbGUgcmVuZGVyZWQgZ3JhcGhp
Y2FsbHksIGNvbm5lY3RpbmcgdG8gaXQgdmlhIHZuYy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgU29ycnkgZm9yIHRoZSBiYXNp
YyBxdWVzdGlvbiwgYnV0IGhhdmUgeW91IHRyaWVkIGFsbCB0aGUgZm9sbG93aW5nPzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2
bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTowIiByZWw9Im5vcmVmZXJyZXIiIHRh
cmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6MDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0i
aHR0cDovLzEyNy4wLjAuMToxIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcu
MC4wLjE6MTwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMToy
IiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6MjwvYT48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo1OTAwIiByZWw9Im5vcmVmZXJy
ZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6NTkwMDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIg
PGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo1OTAxIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0i
X2JsYW5rIj4xMjcuMC4wLjE6NTkwMTwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0
cDovLzEyNy4wLjAuMTo1OTAyIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcu
MC4wLjE6NTkwMjwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgR2l2ZW4gdGhhdCBmcm9tIHRoZSB4ZW5zdG9yZS1scyBsb2dz
IGV2ZXJ5dGhpbmcgc2VlbXMgdG8gd29yayBjb3JyZWN0bHk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJIGFtIG5vdCBzdXJl
IHdoYXQgZWxzZSB0byBzdWdnZXN0LiBZb3UgbWlnaHQgaGF2ZSB0byBhZGQgcHJpbnRmIHRvIFFF
TVU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqB1aS92bmMuYyBhbmQgaHcvZGlzcGxheS94ZW5mYi5jIHRvIHNlZSB3aGF0IGlz
IGdvaW5nIHdyb25nLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFN0ZWZhbm88YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoE9uIE1vbiwgNyBO
b3YgMjAyMiwgVmlwdWwgU3VuZWphIHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSGkgU3RlZmFubyw8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IFRoYW5rcyE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBBbnkgaW5wdXQgZnVy
dGhlciBvbiAmcXVvdDt4ZW5zdG9yZS1scyZxdW90OyBsb2dzPzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IEkgYW0gdHJ5aW5nIHRvIHJ1biB0aGUgeDB2bmNzZXJ2ZXIgJmFtcDsgeDExdm5jIHNl
cnZlciBtYW51YWxseSBvbiBndWVzdCBtYWNoaW5lKHhlbl9ndWVzdF9pbWFnZV9taW5pbWFsKTxi
cj4NCiZndDvCoCDCoCDCoCDCoGltYWdlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgYnV0IGl0JiMzOTtzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgZmFpbGluZzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHdpdGggdGhlIGJlbG93PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBlcnJv
ci48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDovdXNyL2Jp
biMgeDB2bmNzZXJ2ZXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHgwdm5jc2VydmVyOiB1bmFibGUgdG8gb3BlbiBk
aXNwbGF5ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVycnlwaTQtNjQ6L3Vz
ci9iaW4jPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDovdXNyL2JpbiMgeDExdm5j
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0Ag
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgKiogwqBX
QVJOSU5HIMKgKiogwqBXQVJOSU5HIMKgKiogwqBXQVJOSU5HIMKgKiogwqBXQVJOSU5HIMKgKiog
wqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoFlPVSBBUkUgUlVOTklORyBYMTFWTkMgV0lUSE9VVCBB
IFBBU1NXT1JEISEgwqAgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgVGhpcyBtZWFucyBhbnlvbmUgd2l0
aCBuZXR3b3JrIGFjY2VzcyB0byB0aGlzIGNvbXB1dGVyIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDC
oG1heSBiZSBhYmxlIHRvIHZpZXcgYW5kIGNvbnRyb2wgeW91ciBkZXNrdG9wLiDCoCDCoCDCoCDC
oCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBA
Izxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgI0AgJmd0OyZndDsmZ3Q7IElmIHlvdSBkaWQgbm90IG1lYW4gdG8gZG8g
dGhpcyBQcmVzcyBDVFJMLUMgbm93ISEgJmx0OyZsdDsmbHQ7IEAjPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0BAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAjPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
I0AgwqBZb3UgY2FuIGNyZWF0ZSBhbiB4MTF2bmMgcGFzc3dvcmQgZmlsZSBieSBydW5uaW5nOiDC
oCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
QCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIHgxMXZuYyAtc3RvcmVwYXNzd2QgcGFzc3dvcmQg
L3BhdGgvdG8vcGFzc2ZpbGUgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBvciDCoCB4MTF2
bmMgLXN0b3JlcGFzc3dkIC9wYXRoL3RvL3Bhc3NmaWxlIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAj
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyAjQCDCoG9yIMKgIHgxMXZuYyAtc3RvcmVwYXNzd2QgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCh0aGUgbGFz
dCBvbmUgd2lsbCB1c2Ugfi8udm5jL3Bhc3N3ZCkgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7ICNAIMKgYW5kIHRoZW4gc3RhcnRpbmcgeDExdm5jIHZpYTogwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgeDExdm5jIC1y
ZmJhdXRoIC9wYXRoL3RvL3Bhc3NmaWxlIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgQCM8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyAjQCDCoGFuIGV4aXN0aW5nIH4vLnZuYy9wYXNzd2QgZmlsZSBmcm9tIGFub3RoZXIgVk5D
IMKgIMKgIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgYXBwbGljYXRpb24gd2lsbCB3b3Jr
IGZpbmUgdG9vLiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEAjPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
I0AgwqBZb3UgY2FuIGFsc28gdXNlIHRoZSAtcGFzc3dkZmlsZSBvciAtcGFzc3dkIG9wdGlvbnMu
IMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoChub3RlIC1wYXNzd2QgaXMgdW5zYWZlIGlmIGxv
Y2FsIHVzZXJzIGFyZSBub3QgdHJ1c3RlZCkgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgTWFrZSBzdXJlIGFueSAt
cmZiYXV0aCBhbmQgLXBhc3N3ZGZpbGUgcGFzc3dvcmQgZmlsZXMgwqAgwqBAIzxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgI0AgwqBjYW5ub3QgYmUgcmVhZCBieSB1bnRydXN0ZWQgdXNlcnMuIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBVc2UgeDExdm5jIC11c2VwdyB0byBhdXRv
bWF0aWNhbGx5IHVzZSB5b3VyIMKgIMKgIMKgIMKgIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNA
IMKgfi8udm5jL3Bhc3N3ZCBvciB+Ly52bmMvcGFzc3dkZmlsZSBwYXNzd29yZCBmaWxlcy4gwqAg
wqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgKGFuZCBwcm9tcHQgeW91IHRvIGNyZWF0ZSB+Ly52
bmMvcGFzc3dkIGlmIG5laXRoZXIgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgZmlsZSBl
eGlzdHMuKSDCoFVuZGVyIC11c2VwdywgeDExdm5jIHdpbGwgZXhpdCBpZiBpdCDCoCDCoCDCoEAj
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyAjQCDCoGNhbm5vdCBmaW5kIGEgcGFzc3dvcmQgdG8gdXNlLiDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoEV2ZW4gd2l0aCBhIHBhc3N3b3Jk
LCB0aGUgc3Vic2VxdWVudCBWTkMgdHJhZmZpYyBpcyDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAj
QCDCoHNlbnQgaW4gdGhlIGNsZWFyLsKgIENvbnNpZGVyIHR1bm5lbGxpbmcgdmlhIHNzaCgxKTog
wqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
QCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgPGEgaHJlZj0iaHR0cDovL3d3dy5rYXJscnVuZ2UuY29t
L3gxMXZuYy8jdHVubmVsbGluZyIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0
cDovL3d3dy5rYXJscnVuZ2UuY29tL3gxMXZuYy8jdHVubmVsbGluZzwvYT4gwqAgwqAgwqAgwqAg
wqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7ICNAIMKgT3IgdXNpbmcgdGhlIHgxMXZuYyBTU0wgb3B0aW9uczogLXNzbCBh
bmQgLXN0dW5uZWwgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoFBsZWFzZSBSZWFkIHRoZSBkb2N1bWVu
dGF0aW9uIGZvciBtb3JlIGluZm8gYWJvdXQgwqAgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0Ag
wqBwYXNzd29yZHMsIHNlY3VyaXR5LCBhbmQgZW5jcnlwdGlvbi4gwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoDxhIGhyZWY9Imh0dHA6Ly93d3cua2FybHJ1bmdl
LmNvbS94MTF2bmMvZmFxLmh0bWwjZmFxLXBhc3N3ZCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9
Il9ibGFuayI+aHR0cDovL3d3dy5rYXJscnVuZ2UuY29tL3gxMXZuYy9mYXEuaHRtbCNmYXEtcGFz
c3dkPC9hPiDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBUbyBkaXNhYmxlIHRoaXMgd2FybmluZyB1c2UgdGhl
IC1ub3B3IG9wdGlvbiwgb3IgcHV0IMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCYjMzk7bm9w
dyYjMzk7IG9uIGEgbGluZSBpbiB5b3VyIH4vLngxMXZuY3JjIGZpbGUuIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBA
Izxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgI0BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyM8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5
LzAzLzIwMTggMTI6NTg6NDEgeDExdm5jIHZlcnNpb246IDAuOS4xNiBsYXN0bW9kOiAyMDE5LTAx
LTA1IMKgcGlkOiA0MjQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAzLzIwMTggMTI6NTg6NDEgWE9wZW5EaXNw
bGF5KCZxdW90OyZxdW90OykgZmFpbGVkLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0
MSBUcnlpbmcgYWdhaW4gd2l0aCBYQVVUSExPQ0FMSE9TVE5BTUU9bG9jYWxob3N0IC4uLjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0MTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1
ODo0MSAqKiogWE9wZW5EaXNwbGF5IGZhaWxlZC4gTm8gLWRpc3BsYXkgb3IgRElTUExBWS48YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IDA5LzAzLzIwMTggMTI6NTg6NDEgKioqIFRyeWluZyAmcXVvdDs6MCZxdW90OyBp
biA0IHNlY29uZHMuwqAgUHJlc3MgQ3RybC1DIHRvIGFib3J0Ljxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMv
MjAxOCAxMjo1ODo0MSAqKiogMSAyIDMgNDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0
NSBYT3BlbkRpc3BsYXkoJnF1b3Q7OjAmcXVvdDspIGZhaWxlZC48YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAz
LzIwMTggMTI6NTg6NDUgVHJ5aW5nIGFnYWluIHdpdGggWEFVVEhMT0NBTEhPU1ROQU1FPWxvY2Fs
aG9zdCAuLi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAzLzIwMTggMTI6NTg6NDUgWE9wZW5EaXNwbGF5KCZx
dW90OzowJnF1b3Q7KSBmYWlsZWQuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQ1IFRy
eWluZyBhZ2FpbiB3aXRoIHVuc2V0IFhBVVRITE9DQUxIT1NUTkFNRSAuLi48YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IDA5LzAzLzIwMTggMTI6NTg6NDU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4
IDEyOjU4OjQ1ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKjxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0NSAqKiogWE9wZW5EaXNwbGF5IGZhaWxlZCAoOjApPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgKioqIHgxMXZuYyB3YXMgdW5hYmxlIHRvIG9wZW4gdGhl
IFggRElTUExBWTogJnF1b3Q7OjAmcXVvdDssIGl0IGNhbm5vdCBjb250aW51ZS48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7ICoqKiBUaGVyZSBtYXkgYmUgJnF1b3Q7WGxpYjomcXVvdDsgZXJyb3IgbWVzc2FnZXMgYWJv
dmUgd2l0aCBkZXRhaWxzIGFib3V0IHRoZSBmYWlsdXJlLjxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IFNvbWUgdGlwcyBhbmQgZ3VpZGVsaW5lczo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAq
KiBBbiBYIHNlcnZlciAodGhlIG9uZSB5b3Ugd2lzaCB0byB2aWV3KSBtdXN0IGJlIHJ1bm5pbmcg
YmVmb3JlIHgxMXZuYyBpczxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBzdGFydGVkOiB4MTF2bmMgZG9lcyBu
b3Qgc3RhcnQgdGhlIFggc2VydmVyLiDCoChob3dldmVyLCBzZWUgdGhlIC1jcmVhdGU8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgb3B0aW9uIGlmIHRoYXQgaXMgd2hhdCB5b3UgcmVhbGx5IHdhbnQpLjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICoqIFlvdSBtdXN0IHVzZSAtZGlzcGxheSAmbHQ7ZGlzcCZn
dDssIC1PUi0gc2V0IGFuZCBleHBvcnQgeW91ciAkRElTUExBWTxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBl
bnZpcm9ubWVudCB2YXJpYWJsZSB0byByZWZlciB0byB0aGUgZGlzcGxheSBvZiB0aGUgZGVzaXJl
ZCBYIHNlcnZlci48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgLSBVc3VhbGx5IHRoZSBkaXNwbGF5IGlzIHNpbXBs
eSAmcXVvdDs6MCZxdW90OyAoaW4gZmFjdCB4MTF2bmMgdXNlcyB0aGlzIGlmIHlvdSBmb3JnZXQ8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgdG8gc3BlY2lmeSBpdCksIGJ1dCBpbiBzb21lIG11bHRpLXVzZXIg
c2l0dWF0aW9ucyBpdCBjb3VsZCBiZSAmcXVvdDs6MSZxdW90OywgJnF1b3Q7OjImcXVvdDssPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoG9yIGV2ZW4gJnF1b3Q7OjEzNyZxdW90Oy7CoCBBc2sgeW91ciBhZG1p
bmlzdHJhdG9yIG9yIGEgZ3VydSBpZiB5b3UgYXJlIGhhdmluZzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBk
aWZmaWN1bHR5IGRldGVybWluaW5nIHdoYXQgeW91ciBYIERJU1BMQVkgaXMuPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgKiogTmV4dCwgeW91IG5lZWQgdG8gaGF2ZSBzdWZmaWNpZW50IHBlcm1p
c3Npb25zIChYYXV0aG9yaXR5KTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqB0byBjb25uZWN0IHRvIHRoZSBY
IERJU1BMQVkuIMKgIEhlcmUgYXJlIHNvbWUgVGlwczo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoC0gT2Z0ZW4sIHlvdSBqdXN0IG5lZWQgdG8gcnVuIHgxMXZuYyBhcyB0aGUgdXNlciBsb2dn
ZWQgaW50byB0aGUgWCBzZXNzaW9uLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBTbyBtYWtlIHN1cmUgdG8g
YmUgdGhhdCB1c2VyIHdoZW4geW91IHR5cGUgeDExdm5jLjxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAtIEJlaW5n
IHJvb3QgaXMgdXN1YWxseSBub3QgZW5vdWdoIGJlY2F1c2UgdGhlIGluY29ycmVjdCBNSVQtTUFH
SUMtQ09PS0lFPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGZpbGUgbWF5IGJlIGFjY2Vzc2VkLsKgIFRoZSBj
b29raWUgZmlsZSBjb250YWlucyB0aGUgc2VjcmV0IGtleSB0aGF0PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oGFsbG93cyB4MTF2bmMgdG8gY29ubmVjdCB0byB0aGUgZGVzaXJlZCBYIERJU1BMQVkuPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoC0gWW91IGNhbiBleHBsaWNpdGx5IGluZGljYXRlIHdoaWNoIE1JVC1NQUdJQy1D
T09LSUUgZmlsZSBzaG91bGQgYmUgdXNlZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBieSB0aGUgLWF1dGgg
b3B0aW9uLCBlLmcuOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB4MTF2bmMgLWF1dGggL2hvbWUv
c29tZXVzZXIvLlhhdXRob3JpdHkgLWRpc3BsYXkgOjA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKg
eDExdm5jIC1hdXRoIC90bXAvLmdkbXpuZFZsUiAtZGlzcGxheSA6MDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqB5b3UgbXVzdCBoYXZlIHJlYWQgcGVybWlzc2lvbiBmb3IgdGhlIGF1dGggZmlsZS48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgU2VlIGFsc28gJiMzOTstYXV0aCBndWVzcyYjMzk7IGFuZCAmIzM5Oy1maW5k
YXV0aCYjMzk7IGRpc2N1c3NlZCBiZWxvdy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAqKiBJ
ZiBOTyBPTkUgaXMgbG9nZ2VkIGludG8gYW4gWCBzZXNzaW9uIHlldCwgYnV0IHRoZXJlIGlzIGEg
Z3JlZXRlciBsb2dpbjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBwcm9ncmFtIGxpa2UgJnF1b3Q7Z2RtJnF1
b3Q7LCAmcXVvdDtrZG0mcXVvdDssICZxdW90O3hkbSZxdW90Oywgb3IgJnF1b3Q7ZHRsb2dpbiZx
dW90OyBydW5uaW5nLCB5b3Ugd2lsbCBuZWVkPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoHRvIGZpbmQgYW5k
IHVzZSB0aGUgcmF3IGRpc3BsYXkgbWFuYWdlciBNSVQtTUFHSUMtQ09PS0lFIGZpbGUuPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoFNvbWUgZXhhbXBsZXMgZm9yIHZhcmlvdXMgZGlzcGxheSBtYW5hZ2Vyczo8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGdkbTogwqAgwqAgLWF1dGggL3Zhci9n
ZG0vOjAuWGF1dGg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgIMKgIMKgIMKgIC1hdXRoIC92YXIv
bGliL2dkbS86MC5YYXV0aDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBrZG06IMKgIMKgIC1hdXRoIC92
YXIvbGliL2tkbS9BOjAtY3JXazcyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoCDCoCDCoCDCoCAt
YXV0aCAvdmFyL3J1bi94YXV0aC9BOjAtY3JXazcyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHhkbTog
wqAgwqAgLWF1dGggL3Zhci9saWIveGRtL2F1dGhkaXIvYXV0aGZpbGVzL0E6MC1YUXZhSms8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgZHRsb2dpbjogLWF1dGggL3Zhci9kdC9BOjAtVWdhYVhhPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBTb21ldGltZXMgdGhlIGNvbW1hbmQgJnF1b3Q7cHMg
d3d3d2F1eCB8IGdyZXAgYXV0aCZxdW90OyBjYW4gcmV2ZWFsIHRoZSBmaWxlIGxvY2F0aW9uLjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgU3RhcnRpbmcgd2l0aCB4MTF2bmMgMC45Ljkg
eW91IGNhbiBoYXZlIGl0IHRyeSB0byBndWVzcyBieSB1c2luZzo8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCDCoCDCoCDCoCDCoCAtYXV0aCBndWVzczxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgKHNlZSBhbHNvIHRoZSB4MTF2bmMgLWZpbmRhdXRoIG9wdGlvbi4pPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBPbmx5IHJvb3Qgd2lsbCBoYXZlIHJlYWQgcGVy
bWlzc2lvbiBmb3IgdGhlIGZpbGUsIGFuZCBzbyB4MTF2bmMgbXVzdCBiZSBydW48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgYXMgcm9vdCAob3IgY29weSBpdCkuwqAgVGhlIHJhbmRvbSBjaGFyYWN0ZXJzIGlu
IHRoZSBmaWxlbmFtZXMgd2lsbCBvZiBjb3Vyc2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgY2hhbmdlIGFu
ZCB0aGUgZGlyZWN0b3J5IHRoZSBjb29raWUgZmlsZSByZXNpZGVzIGluIGlzIHN5c3RlbSBkZXBl
bmRlbnQuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgU2VlIGFsc286IDxhIGhyZWY9Imh0dHA6
Ly93d3cua2FybHJ1bmdlLmNvbS94MTF2bmMvZmFxLmh0bWwiIHJlbD0ibm9yZWZlcnJlciIgdGFy
Z2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cua2FybHJ1bmdlLmNvbS94MTF2bmMvZmFxLmh0bWw8L2E+
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgUmVnYXJkcyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFZpcHVsIEt1
bWFyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgT24gVGh1LCBOb3YgMywgMjAyMiBhdCAxMDoy
NyBQTSBWaXB1bCBTdW5lamEgJmx0OzxhIGhyZWY9Im1haWx0bzp2c3VuZWphNjNAZ21haWwuY29t
IiB0YXJnZXQ9Il9ibGFuayI+dnN1bmVqYTYzQGdtYWlsLmNvbTwvYT4mZ3Q7IHdyb3RlOjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoEhpIFN0ZWZhbm8sPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFua3MhPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgSSB1c2VkIHhlbi1ndWVzdC1pbWFnZS1taW5pbWFsKHNpbXBs
ZSBjb25zb2xlIGJhc2VkIGltYWdlKSBhcyBhIGd1ZXN0IHdpdGggZmJjb24gJmFtcDsgZmJkZXYg
ZW5hYmxlZCBpbjxicj4NCiZndDvCoCDCoCDCoCDCoGtlcm5lbDxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGNvbmZpZ3VyYXRpb25zIGJ1dDxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oHN0aWxsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyB0aGUgc2FtZSBlcnJvciBjYW4mIzM5O3Qgb3BlbiB0aGUgZGlz
cGxheS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IGJlbG93IGFyZSB0aGUgb3V0Y29tZSBvZiAmcXVvdDt4ZW5zdG9y
ZS1scyZxdW90Ozo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02
NDp+L2d1ZXN0MSMgeGVuc3RvcmUtbHM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHRvb2wgPSAmcXVvdDsmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgeGVuc3RvcmVkID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBsb2Nh
bCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqBkb21haW4gPSAmcXVvdDsmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgY29udHJvbCA9
ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgZmVhdHVyZS1wb3dlcm9mZiA9ICZxdW90
OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIGZlYXR1cmUtcmVib290ID0gJnF1b3Q7MSZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqBkb21pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgbmFtZSA9ICZxdW90O0RvbWFpbi0wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRldmljZS1t
b2RlbCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMCA9ICZxdW90OyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqBiYWNrZW5kcyA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgY29uc29sZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmti
ZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmZiID0gJnF1b3Q7JnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBxbmljID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoHN0YXRlID0gJnF1b3Q7cnVubmluZyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMSA9
ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBiYWNrZW5kcyA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgY29uc29sZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmZi
ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBxbmljID0gJnF1b3Q7JnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7cnVubmluZyZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqBiYWNrZW5kID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB2YmQg
PSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgMSA9ICZxdW90OyZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAgNTE3MTIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZiZC81MTcxMiZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBwYXJhbXMgPSAmcXVvdDsvaG9tZS9yb290L2d1
ZXN0Mi94ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0MyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgwqBzY3JpcHQgPSAmcXVvdDsvZXRjL3hlbi9zY3JpcHRzL2Js
b2NrJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCDCoHJlbW92YWJsZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgIMKgYm9vdGFibGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBkZXYgPSAm
cXVvdDt4dmRhJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHR5cGUgPSAmcXVvdDtwaHkm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgbW9kZSA9ICZxdW90O3cmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIMKgZGV2aWNlLXR5cGUgPSAmcXVvdDtkaXNrJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoGRpc2NhcmQtZW5hYmxlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgwqBmZWF0dXJlLW1heC1pbmRpcmVjdC1zZWdtZW50cyA9ICZxdW90OzI1NiZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBtdWx0aS1xdWV1ZS1tYXgtcXVldWVzID0gJnF1
b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBtYXgtcmluZy1wYWdlLW9yZGVyID0g
JnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBub2RlID0gJnF1b3Q7L2Rldi9s
b29wMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBwaHlzaWNhbC1kZXZpY2UgPSAmcXVv
dDs3OjAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcGh5c2ljYWwtZGV2aWNlLXBhdGgg
PSAmcXVvdDsvZGV2L2xvb3AwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGhvdHBsdWct
c3RhdHVzID0gJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZl
YXR1cmUtZmx1c2gtY2FjaGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oGRpc2NhcmQtZ3JhbnVsYXJpdHkgPSAmcXVvdDs0MDk2JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCDCoGRpc2NhcmQtYWxpZ25tZW50ID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAgwqBkaXNjYXJkLXNlY3VyZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgZmVhdHVyZS1kaXNjYXJkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqAgwqBmZWF0dXJlLWJhcnJpZXIgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoGZlYXR1cmUtcGVyc2lzdGVudCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgc2VjdG9ycyA9ICZxdW90OzE3OTQwNDgmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IMKgaW5mbyA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgc2VjdG9yLXNp
emUgPSAmcXVvdDs1MTImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcGh5c2ljYWwtc2Vj
dG9yLXNpemUgPSAmcXVvdDs1MTImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHZmYiA9ICZxdW90
OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250
ZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8xL2RldmljZS92ZmIvMCZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgwqBmcm9udGVuZC1pZCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIMKgb25saW5lID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBz
dGF0ZSA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdm5jID0gJnF1b3Q7
MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB2bmNsaXN0ZW4gPSAmcXVvdDsxMjcuMC4w
LjEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdm5jZGlzcGxheSA9ICZxdW90OzAmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdm5jdW51c2VkID0gJnF1b3Q7MSZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAgwqBzZGwgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCDCoG9wZW5nbCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVh
dHVyZS1yZXNpemUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGhvdHBs
dWctc3RhdHVzID0gJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oHJlcXVlc3QtdXBkYXRlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmtiZCA9
ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8xL2RldmljZS92a2JkLzAmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJvbnRlbmQtaWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgc3RhdGUgPSAmcXVvdDs0JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1
cmUtYWJzLXBvaW50ZXIgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZl
YXR1cmUtcmF3LXBvaW50ZXIgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCBjb25zb2xlID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoDEgPSAmcXVvdDsm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvY29uc29sZSZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmcm9udGVuZC1pZCA9ICZxdW90OzEmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgIMKgb25saW5lID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqBzdGF0ZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKg
cHJvdG9jb2wgPSAmcXVvdDt2dDEwMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmlmID0gJnF1
b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoDEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJv
bnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZpZi8wJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBzY3JpcHQgPSAm
cXVvdDsvZXRjL3hlbi9zY3JpcHRzL3ZpZi1icmlkZ2UmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgbWFjID0gJnF1b3Q7ZTQ6NWY6MDE6Y2Q6N2I6ZGQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIMKgYnJpZGdlID0gJnF1b3Q7eGVuYnIwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoGhhbmRsZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdHlwZSA9
ICZxdW90O3ZpZiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBob3RwbHVnLXN0YXR1cyA9
ICZxdW90O2Nvbm5lY3RlZCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLXNn
ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLWdzby10Y3B2
NCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1nc28tdGNw
djYgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtaXB2Ni1j
c3VtLW9mZmxvYWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1
cmUtcngtY29weSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVy
ZS14ZHAtaGVhZHJvb20gPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZl
YXR1cmUtcngtZmxpcCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVh
dHVyZS1tdWx0aWNhc3QtY29udHJvbCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgZmVhdHVyZS1keW5hbWljLW11bHRpY2FzdC1jb250cm9sID0gJnF1b3Q7MSZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLXNwbGl0LWV2ZW50LWNoYW5uZWxzID0gJnF1
b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBtdWx0aS1xdWV1ZS1tYXgtcXVldWVz
ID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLWN0cmwtcmlu
ZyA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIDEgPSAmcXVvdDsmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgdm0gPSAmcXVvdDsvdm0vZDgxZWM1YTktNWJmOS00ZjJiLTg5ZTgtMGY2MGQ2
ZGE5NDhmJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoG5hbWUgPSAmcXVvdDtndWVzdDImcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgY3B1ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCAw
ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGF2YWlsYWJpbGl0eSA9ICZxdW90
O29ubGluZSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMSA9ICZxdW90OyZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqBhdmFpbGFiaWxpdHkgPSAmcXVvdDtvbmxpbmUmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgbWVtb3J5ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBzdGF0aWMt
bWF4ID0gJnF1b3Q7MjA5NzE1MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdGFyZ2V0ID0gJnF1
b3Q7MjA5NzE1MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmlkZW9yYW0gPSAmcXVvdDswJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRldmljZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgc3VzcGVuZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBldmVudC1j
aGFubmVsID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB2YmQgPSAmcXVvdDsmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgNTE3MTIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgIGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzAvYmFja2VuZC92YmQvMS81
MTcxMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgYmFja2VuZC1pZCA9ICZxdW90OzAmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgdmlydHVhbC1kZXZpY2UgPSAmcXVvdDs1MTcxMiZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgZGV2aWNlLXR5cGUgPSAmcXVvdDtkaXNrJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoCBtdWx0aS1xdWV1ZS1udW0tcXVldWVzID0gJnF1b3Q7MiZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgcXVldWUtMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
wqByaW5nLXJlZiA9ICZxdW90OzgmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZlbnQt
Y2hhbm5lbCA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHF1ZXVlLTEgPSAm
cXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcmluZy1yZWYgPSAmcXVvdDs5JnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGV2ZW50LWNoYW5uZWwgPSAmcXVvdDs1JnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBwcm90b2NvbCA9ICZxdW90O2FybS1hYmkmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtcGVyc2lzdGVudCA9ICZxdW90OzEmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIHZmYiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAw
ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBiYWNrZW5kID0gJnF1b3Q7L2xv
Y2FsL2RvbWFpbi8wL2JhY2tlbmQvdmZiLzEvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
YmFja2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHN0YXRlID0g
JnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgcGFnZS1yZWYgPSAmcXVvdDsyNzUw
MjImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGV2ZW50LWNoYW5uZWwgPSAmcXVvdDszJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBwcm90b2NvbCA9ICZxdW90O2FybS1hYmkmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtdXBkYXRlID0gJnF1b3Q7MSZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAw
ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBiYWNrZW5kID0gJnF1b3Q7L2xv
Y2FsL2RvbWFpbi8wL2JhY2tlbmQvdmtiZC8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IGJhY2tlbmQtaWQgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBzdGF0ZSA9
ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHJlcXVlc3QtYWJzLXBvaW50ZXIg
PSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBwYWdlLXJlZiA9ICZxdW90OzI3
NTMyMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgcGFnZS1ncmVmID0gJnF1b3Q7MTI4NCZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgZXZlbnQtY2hhbm5lbCA9ICZxdW90OzEwJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCB2aWYgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgYmFja2VuZCA9ICZxdW90
Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3ZpZi8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIGJhY2tlbmQtaWQgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBzdGF0
ZSA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGhhbmRsZSA9ICZxdW90OzAm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIG1hYyA9ICZxdW90O2U0OjVmOjAxOmNkOjdiOmRk
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBtdHUgPSAmcXVvdDsxNTAwJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCB4ZHAtaGVhZHJvb20gPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCBtdWx0aS1xdWV1ZS1udW0tcXVldWVzID0gJnF1b3Q7MiZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgcXVldWUtMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqAgwqB0eC1yaW5nLXJlZiA9ICZxdW90OzEyODAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IMKgcngtcmluZy1yZWYgPSAmcXVvdDsxMjgxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oGV2ZW50LWNoYW5uZWwtdHggPSAmcXVvdDs2JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oGV2ZW50LWNoYW5uZWwtcnggPSAmcXVvdDs3JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBx
dWV1ZS0xID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHR4LXJpbmctcmVm
ID0gJnF1b3Q7MTI4MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqByeC1yaW5nLXJlZiA9
ICZxdW90OzEyODMmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZlbnQtY2hhbm5lbC10
eCA9ICZxdW90OzgmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZlbnQtY2hhbm5lbC1y
eCA9ICZxdW90OzkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHJlcXVlc3QtcngtY29weSA9
ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtcngtbm90aWZ5ID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgZmVhdHVyZS1zZyA9ICZxdW90OzEm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtZ3NvLXRjcHY0ID0gJnF1b3Q7MSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgZmVhdHVyZS1nc28tdGNwdjYgPSAmcXVvdDsxJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBmZWF0dXJlLWlwdjYtY3N1bS1vZmZsb2FkID0gJnF1
b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBjb250cm9sID0gJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCBzaHV0ZG93biA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
ZmVhdHVyZS1wb3dlcm9mZiA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIGZlYXR1
cmUtcmVib290ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgZmVhdHVyZS1zdXNw
ZW5kID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBzeXNycSA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgcGxhdGZvcm0tZmVhdHVyZS1tdWx0aXByb2Nlc3Nvci1zdXNw
ZW5kID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgcGxhdGZvcm0tZmVhdHVyZS14
c19yZXNldF93YXRjaGVzID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBkYXRhID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRyaXZlcnMgPSAmcXVvdDsmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgZmVhdHVyZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBh
dHRyID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGVycm9yID0gJnF1b3Q7JnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoGRvbWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqBzdG9yZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgcG9ydCA9ICZxdW90OzEm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHJpbmctcmVmID0gJnF1b3Q7MjMzNDczJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoGNvbnNvbGUgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzAvYmFja2VuZC9jb25zb2xlLzEvMCZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgYmFja2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIGxpbWl0ID0gJnF1b3Q7MTA0ODU3NiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
dHlwZSA9ICZxdW90O3hlbmNvbnNvbGVkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBvdXRwdXQg
PSAmcXVvdDtwdHkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHR0eSA9ICZxdW90Oy9kZXYvcHRz
LzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHBvcnQgPSAmcXVvdDsyJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCByaW5nLXJlZiA9ICZxdW90OzIzMzQ3MiZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgdm5jLWxpc3RlbiA9ICZxdW90OzEyNy4wLjAuMSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
dm5jLXBvcnQgPSAmcXVvdDs1OTAwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGltYWdlID0gJnF1
b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBkZXZpY2UtbW9kZWwtcGlkID0gJnF1b3Q7Nzg4
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyB2bSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqBkODFl
YzVhOS01YmY5LTRmMmItODllOC0wZjYwZDZkYTk0OGYgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIG5hbWUgPSAmcXVvdDtndWVzdDImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIHV1aWQgPSAm
cXVvdDtkODFlYzVhOS01YmY5LTRmMmItODllOC0wZjYwZDZkYTk0OGYmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIHN0YXJ0X3RpbWUgPSAmcXVvdDsxNTIwNjAwMjc0LjI3JnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyBsaWJ4bCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAxID0gJnF1b3Q7JnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCBkZXZpY2UgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdmJk
ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCA1MTcxMiA9ICZxdW90OyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqBmcm9udGVuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMS9kZXZp
Y2UvdmJkLzUxNzEyJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGJhY2tlbmQgPSAmcXVvdDsv
bG9jYWwvZG9tYWluLzAvYmFja2VuZC92YmQvMS81MTcxMiZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqBwYXJhbXMgPSAmcXVvdDsvaG9tZS9yb290L2d1ZXN0Mi94ZW4tZ3Vlc3QtaW1hZ2UtbWlu
aW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0MyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBzY3Jp
cHQgPSAmcXVvdDsvZXRjL3hlbi9zY3JpcHRzL2Jsb2NrJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxp
bmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHJlbW92YWJsZSA9ICZxdW90
OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgYm9vdGFibGUgPSAmcXVvdDsxJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqBkZXYgPSAmcXVvdDt4dmRhJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHR5cGUgPSAm
cXVvdDtwaHkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgbW9kZSA9ICZxdW90O3cmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZGV2aWNlLXR5cGUgPSAmcXVvdDtkaXNrJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoGRpc2NhcmQtZW5hYmxlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqB2ZmIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIDAgPSAmcXVvdDsm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWlu
LzEvZGV2aWNlL3ZmYi8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGJhY2tlbmQgPSAmcXVv
dDsvbG9jYWwvZG9tYWluLzAvYmFja2VuZC92ZmIvMS8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxp
bmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7MSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB2bmMgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoHZuY2xpc3RlbiA9ICZxdW90OzEyNy4wLjAuMSZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqB2bmNkaXNwbGF5ID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB2
bmN1bnVzZWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHNkbCA9ICZxdW90
OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgb3BlbmdsID0gJnF1b3Q7MCZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqB2a2JkID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCAwID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2Fs
L2RvbWFpbi8xL2RldmljZS92a2JkLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgYmFja2Vu
ZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3ZrYmQvMS8wJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBjb25zb2xlID0gJnF1b3Q7JnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZy
b250ZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8xL2NvbnNvbGUmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL2NvbnNvbGUv
MS8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBwcm90
b2NvbCA9ICZxdW90O3Z0MTAwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoHZpZiA9ICZxdW90OyZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqBmcm9udGVuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMS9kZXZpY2UvdmlmLzAmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNr
ZW5kL3ZpZi8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZnJvbnRlbmQtaWQgPSAmcXVv
dDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgc3RhdGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoHNjcmlwdCA9ICZxdW90Oy9ldGMveGVuL3NjcmlwdHMvdmlmLWJyaWRnZSZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqBtYWMgPSAmcXVvdDtlNDo1ZjowMTpjZDo3YjpkZCZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqBicmlkZ2UgPSAmcXVvdDt4ZW5icjAmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgaGFuZGxlID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB0eXBl
ID0gJnF1b3Q7dmlmJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGhvdHBsdWctc3RhdHVzID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCB0eXBlID0gJnF1b3Q7cHZoJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCBkbS12ZXJzaW9uID0gJnF1b3Q7cWVtdV94ZW4mcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4vZ3Vlc3QxIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IEFueSBpbnB1dCBhcyBwZXIgYWJvdmU/IExvb2tpbmcgZm9yd2FyZCB0byBoZWFyaW5nIGZyb20g
eW91Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1
bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIFdlZCwgT2N0IDI2LCAyMDIyIGF0
IDU6MjEgQU0gU3RlZmFubyBTdGFiZWxsaW5pICZsdDs8YSBocmVmPSJtYWlsdG86c3N0YWJlbGxp
bmlAa2VybmVsLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNzdGFiZWxsaW5pQGtlcm5lbC5vcmc8L2E+
Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBIaSBWaXB1bCw8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSWYgeW91IGxvb2sgYXQgdGhlIFFFTVUgbG9ncywgaXQg
c2F5czo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgVk5DIHNlcnZlciBydW5u
aW5nIG9uIDxhIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjE6NTkwMCIgcmVsPSJub3JlZmVycmVyIiB0
YXJnZXQ9Il9ibGFuayI+MTI3LjAuMC4xOjU5MDA8L2E+PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoFRoYXQgaXMgdGhlIFZOQyBzZXJ2ZXIgeW91IG5lZWQgdG8gY29ubmVjdCB0
by4gU28gaW4gdGhlb3J5Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoCB2
bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo1OTAwIiByZWw9Im5vcmVmZXJyZXIi
IHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6NTkwMDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgc2hvdWxkIHdvcmsgY29ycmVjdGx5Ljxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSWYgeW91IGhhdmU6PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgIHZmYiA9IFsmcXVvdDt0eXBlPXZuYyZxdW90O108YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgaW4geW91ciB4bCBjb25maWcgZmlsZSBh
bmQgeW91IGhhdmUgJnF1b3Q7ZmJkZXYmcXVvdDsgaW4geW91ciBMaW51eCBndWVzdCwgaXQ8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqBzaG91bGQgd29yay48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgSWYgeW91IGNvbm5lY3QgdG8gdGhlIFZOQyBzZXJ2ZXIgYnV0IHlvdSBnZXQg
YSBibGFjayBzY3JlZW4sIGl0IG1pZ2h0IGJlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYSBndWVz
dCBjb25maWd1cmF0aW9uIGlzc3VlLiBJIHdvdWxkIHRyeSB3aXRoIGEgc2ltcGxlciBndWVzdCwg
dGV4dCBvbmx5PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgKG5vIFgxMSwgbm8gV2F5bGFuZCkgYW5k
IGVuYWJsZSB0aGUgZmJkZXYgY29uc29sZSAoZmJjb24pLiBTZWU8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqBEb2N1bWVudGF0aW9uL2ZiL2ZiY29uLnJzdCBpbiBMaW51eC4gWW91IHNob3VsZCBiZSBh
YmxlIHRvIHNlZSBhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZ3JhcGhpY2FsIGNvbnNvbGUgb3Zl
ciBWTkMuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoElmIHRoYXQgd29ya3Ms
IHRoZW4geW91IGtub3cgdGhhdCB0aGUgZmJkZXYga2VybmVsIGRyaXZlciAoeGVuLWZiZnJvbnQp
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgd29ya3MgY29ycmVjdGx5Ljxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqBJZiBpdCBkb2VzbiYjMzk7dCB3b3JrLCB0aGUgb3V0cHV0IG9m
ICZxdW90O3hlbnN0b3JlLWxzJnF1b3Q7IHdvdWxkIGJlIGludGVyZXN0aW5nLjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoFN0ZWZhbm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoE9uIFdlZCwgMTkgT2N0IDIwMjIsIFZpcHVsIFN1bmVqYSB3cm90ZTo8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEhpIFN0ZWZhbm8sPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVGhhbmtzIGZvciB0aGUgcmVzcG9u
c2UhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgSSBhbSBmb2xsb3dpbmcgdGhlIHNhbWUgbGluayB5b3Ugc2hhcmVkIGZyb20gdGhlIGJlZ2lu
bmluZy4gVHJpZWQgdGhlIGNvbW1hbmQgJnF1b3Q7dm5jdmlld2VyPGJyPg0KJmd0O8KgIMKgIMKg
IMKgbG9jYWxob3N0OjAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBp
biBET00wPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
YnV0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgc2FtZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGlzc3VlICZxdW90O0NhbiYj
Mzk7dCBvcGVuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBkaXNwbGF5JnF1b3Q7LCBiZWxv
dyBhcmUgdGhlIGxvZ3M6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVycnlwaTQtNjQ6fiMgdm5jdmlld2VyIGxvY2FsaG9z
dDowPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgVGlnZXJWTkMgVmlld2VyIDY0LWJpdCB2MS4xMS4wPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyBCdWlsdCBvbjogMjAyMC0wOS0wOCAxMjoxNjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgQ29weXJpZ2h0IChDKSAxOTk5LTIwMjAgVGlnZXJWTkMgVGVhbSBhbmQgbWFueSBvdGhlcnMg
KHNlZSBSRUFETUUucnN0KTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgU2VlIDxhIGhyZWY9
Imh0dHBzOi8vd3d3LnRpZ2Vydm5jLm9yZyIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFu
ayI+aHR0cHM6Ly93d3cudGlnZXJ2bmMub3JnPC9hPiBmb3IgaW5mb3JtYXRpb24gb24gVGlnZXJW
TkMuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBDYW4mIzM5O3Qgb3BlbiBkaXNwbGF5Ojxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEJl
bG93IGFyZSB0aGUgbmV0c3RhdCBsb2dzLCBpIGNvdWxkbiYjMzk7dCBzZWUgYW55dGhpbmcgcnVu
bmluZyBhdCBwb3J0IDU5MDAgb3IgNTkwMTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDp+IyBuZXRzdGF0
IC10dXd4PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBBY3RpdmUgSW50ZXJuZXQgY29ubmVj
dGlvbnMgKHcvbyBzZXJ2ZXJzKTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgUHJvdG8gUmVj
di1RIFNlbmQtUSBMb2NhbCBBZGRyZXNzIMKgIMKgIMKgIMKgIMKgIEZvcmVpZ24gQWRkcmVzcyDC
oCDCoCDCoCDCoCBTdGF0ZSDCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdGNw
IMKgIMKgIMKgIMKgMCDCoCDCoDE2NCAxOTIuMTY4LjEuMzk6c3NoIMKgIMKgIMKgIMKgPGEgaHJl
Zj0iaHR0cDovLzE5Mi4xNjguMS4zODozNzQ3MiIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9i
bGFuayI+MTkyLjE2OC4xLjM4OjM3NDcyPC9hPiDCoCDCoCDCoEVTVEFCTElTSEVEPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBBY3RpdmUgVU5JWCBkb21haW4gc29ja2V0cyAody9vIHNlcnZl
cnMpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBQcm90byBSZWZDbnQgRmxhZ3MgwqAgwqAg
wqAgVHlwZSDCoCDCoCDCoCBTdGF0ZSDCoCDCoCDCoCDCoCBJLU5vZGUgUGF0aDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDggwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgREdSQU0g
wqAgwqAgwqBDT05ORUNURUQgwqAgwqAgwqAxMDU2NSAvZGV2L2xvZzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKg
IENPTk5FQ1RFRCDCoCDCoCDCoDEwODkxIC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNU
UkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMzc5MTxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5F
Q1RFRCDCoCDCoCDCoDEwODQzIC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDC
oCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMDU3MyAvdmFyL3J1bi94ZW5zdG9yZWQvc29ja2V0PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMiDCoCDCoCDCoFsgXSDCoCDCoCDCoCDC
oCBER1JBTSDCoCDCoCDCoENPTk5FQ1RFRCDCoCDCoCDCoDE0NTEwPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAg
Q09OTkVDVEVEIMKgIMKgIMKgMTMyNDk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXgg
wqAyIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKg
IMKgMTM4ODc8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKgWyBd
IMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKgMTA1OTk8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNU
UkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxNDAwNTxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5F
Q1RFRCDCoCDCoCDCoDEzMjU4PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDC
oCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTMy
NDg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKg
IMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxNDAwMzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKg
IMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwNTcyIC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKg
IFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMDc4NiAvdmFyL3J1bi94ZW5zdG9yZWQv
c29ja2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDC
oCDCoCDCoCDCoCBER1JBTSDCoCDCoCDCoENPTk5FQ1RFRCDCoCDCoCDCoDEzMTg2PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJF
QU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA4NjQgL3Zhci9ydW4veGVuc3RvcmVkL3NvY2tl
dDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAg
wqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwODEyIC92YXIvcnVuL3hlbnN0
b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKg
WyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKgMTQwODM8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKg
IFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMDgxMyAvdmFyL3J1bi94ZW5zdG9yZWQv
c29ja2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDC
oCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTQwNjg8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVB
TSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMzI1Njxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RF
RCDCoCDCoCDCoDEwNTcxIC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDC
oCBDT05ORUNURUQgwqAgwqAgwqAxMDg0Mjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5p
eCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDC
oCDCoDEzOTg1PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsg
XSDCoCDCoCDCoCDCoCBER1JBTSDCoCDCoCDCoENPTk5FQ1RFRCDCoCDCoCDCoDEzMTg1PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMiDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBT
VFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTM4ODQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09O
TkVDVEVEIMKgIMKgIMKgMTQ1Mjg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAy
IMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKg
MTM3ODU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKg
IMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxNDAzNDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEF0dGFjaGluZyB4
ZW4gbG9nIGZpbGVzIG9mIC92YXIvbG9nL3hlbi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IEkgZGlkbiYjMzk7dCBnZXQgdGhlIHJvbGUgb2YgUUVNVSBoZXJlIGJlY2F1c2UgYXMgbWVudGlv
bmVkIGVhcmxpZXIsIEkgYW0gcG9ydGluZyBpbiByYXNwYmVycnlwaTxicj4NCiZndDvCoCDCoCDC
oCDCoDRCLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9u
IFdlZCwgT2N0IDE5LCAyMDIyIGF0IDEyOjQzIEFNIFN0ZWZhbm8gU3RhYmVsbGluaSAmbHQ7PGEg
aHJlZj0ibWFpbHRvOnNzdGFiZWxsaW5pQGtlcm5lbC5vcmciIHRhcmdldD0iX2JsYW5rIj5zc3Rh
YmVsbGluaUBrZXJuZWwub3JnPC9hPiZndDsgd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgSXQgdXN1YWxseSB3b3JrcyB0aGUgd2F5IGl0IGlzIGRlc2NyaWJlZCBp
biB0aGUgZ3VpZGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDCoMKgwqDCoMKgwqA8YSBocmVmPSJodHRw
czovL3d3dy52aXJ0dWF0b3BpYS5jb20vaW5kZXgucGhwP3RpdGxlPUNvbmZpZ3VyaW5nX2FfVk5D
X2Jhc2VkX0dyYXBoaWNhbF9Db25zb2xlX2Zvcl9hX1hlbl9QYXJhdmlydHVhbGl6ZWRfZG9tYWlu
VV9HdWVzdCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly93d3cudmly
dHVhdG9waWEuY29tL2luZGV4LnBocD90aXRsZT1Db25maWd1cmluZ19hX1ZOQ19iYXNlZF9HcmFw
aGljYWxfQ29uc29sZV9mb3JfYV9YZW5fUGFyYXZpcnR1YWxpemVkX2RvbWFpblVfR3Vlc3Q8L2E+
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoFlvdSBkb24mIzM5O3QgbmVlZCB0byBpbnN0YWxsIGFueSBWTkMtcmVsYXRlZCBz
ZXJ2ZXIgc29mdHdhcmUgYmVjYXVzZSBpdCBpczxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoGFscmVhZHkgcHJvdmlkZWQgYnkgWGVuICh0byBiZSBwcmVjaXNlIGl0IGlzIHBy
b3ZpZGVkIGJ5IFFFTVUgd29ya2luZzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoHRvZ2V0aGVyIHdpdGggWGVuLik8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgWW91IG9ubHkgbmVlZCB0aGUgdm5jIGNs
aWVudCBpbiBkb20wIHNvIHRoYXQgeW91IGNhbiBjb25uZWN0LCBidXQgeW91PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgY291bGQgYWxzbyBydW4gdGhlIHZuYyBjbGllbnQg
b3V0c2lkZSBmcm9tIGFub3RoZXIgaG9zdC4gU28gYmFzaWNhbGx5PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgdGhlIGZvbGxvd2luZyBzaG91bGQgd29yayB3aGVuIGV4ZWN1
dGVkIGluIERvbTAgYWZ0ZXIgY3JlYXRpbmcgRG9tVTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqAgdm5jdmlld2VyIGxv
Y2FsaG9zdDowPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoENhbiB5b3UgYXR0YWNoIHRoZSBYZW4gYW5kIFFFTVUgbG9ncyAo
L3Zhci9sb2cveGVuLyopPyBBbmQgYWxzbyB1c2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqBuZXRzdGF0IC10YXVucCB0byBjaGVjayBpZiB0aGVyZSBpcyBhbnl0aGluZyBy
dW5uaW5nIGF0IHBvcnQgNTkwMCBvcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoDU5MDE/PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoENoZWVycyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgU3RlZmFubzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgT24gVHVlLCAxOCBPY3QgMjAyMiwgVmlwdWwgU3VuZWph
IHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSGkgU3Rl
ZmFubyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFua3MgZm9yIHRoZSByZXNwb25z
ZSE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJIGNvdWxkIGluc3RhbGwgdGlnZXJWTkMs
IHgxMXZuYyAmYW1wOyBsaWJ2bmNzZXJ2ZXIgaW4gRG9tMCB4ZW4taW1hZ2UtbWluaW1hbCBidXQg
b25seTxicj4NCiZndDvCoCDCoCDCoCDCoG1hbmFnZSB0bzxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoGluc3RhbGw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBsaWJ2bmNzZXJ2ZXIo
Y291bGRuJiMzOTt0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgaW5zdGFs
bCB0aWdlcnZuYzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgJmFt
cDsgeDExdm5jIGJlY2F1c2Ugb2YgeDExPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyBzdXBwb3J0IG1pc3NpbmcsIGl0JiMzOTtzIHdheWxhbmQpIGluIERPTVUgY3Vz
dG9tIGdyYXBoaWNhbCBpbWFnZS4gSSB0cmllZCBydW5uaW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKg
dm5jdmlld2VyIHdpdGg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJUDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGFkZHJlc3MgJmFt
cDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqBwb3J0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgaW4gZG9tMCB0bzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGFjY2VzcyB0aGUgZG9tdTxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgZ3JhcGhpY2FsIGltYWdlIGRpc3BsYXkg
YXMgcGVyIGJlbG93IGNvbW1hbmRzLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
dm5jdmlld2VyIDxhIGhyZWY9Imh0dHA6Ly8xOTIuMTY4LjEuNDI6NTkwMSIgcmVsPSJub3JlZmVy
cmVyIiB0YXJnZXQ9Il9ibGFuayI+MTkyLjE2OC4xLjQyOjU5MDE8L2E+PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqBCdXQgaXQgc2hvd2luZyBjYW4mIzM5O3Qgb3BlbiBkaXNwbGF5
LCBiZWxvdyBhcmUgdGhlIGxvZ3M6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgcm9v
dEByYXNwYmVycnlwaTQtNjQ6fi9ndWVzdDEjIHZuY3ZpZXdlciA8YSBocmVmPSJodHRwOi8vMTky
LjE2OC4xLjQyOjU5MDEiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjE5Mi4xNjgu
MS40Mjo1OTAxPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFRpZ2VyVk5DIFZpZXdl
ciA2NC1iaXQgdjEuMTEuMDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgQnVpbHQgb246IDIwMjAtMDktMDggMTI6MTY8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IENvcHlyaWdodCAoQykgMTk5OS0yMDIwIFRpZ2VyVk5DIFRlYW0gYW5k
IG1hbnkgb3RoZXJzIChzZWUgUkVBRE1FLnJzdCk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IFNlZSA8YSBocmVmPSJodHRwczovL3d3dy50aWdlcnZuYy5vcmciIHJl
bD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3LnRpZ2Vydm5jLm9yZzwv
YT4gZm9yIGluZm9ybWF0aW9uIG9uIFRpZ2VyVk5DLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgQ2FuJiMzOTt0IG9wZW4gZGlzcGxheTo8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4vZ3Vlc3Qx
Izxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEkgYW0gbm90IGV4YWN0bHnCoHN1cmUgd2hh
dCB0aGUgaXNzdWUgaXMgYnV0IEkgdGhvdWdodCBvbmx5IGxpYnZuY3NlcnZlciBpbiBET01VIGNv
dWxkPGJyPg0KJmd0O8KgIMKgIMKgIMKgd29yayB0bzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoGdldDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoGFjY2VzcyBidXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBpdDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGRpZCBu
b3Q8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB3b3JrLsKgPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJZiBUaWdlclZOQyBpcyB0aGUgaXNz
dWUgaGVyZSB0aGVuIGlzIHRoZXJlIGFueSBvdGhlciBWTkMgc291cmNlIHdoaWNoIGNvdWxkIGJl
PGJyPg0KJmd0O8KgIMKgIMKgIMKgaW5zdGFsbGVkIGZvcjxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoGJvdGg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqB4MTEgJmFtcDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB3YXlsYW5kIHN1cHBv
cnRlZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGltYWdlcz88YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBSZWdhcmRzLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyBPbiBUdWUsIE9jdCAxOCwgMjAyMiBhdCAyOjQwIEFNIFN0ZWZhbm8gU3RhYmVsbGluaSAmbHQ7
PGEgaHJlZj0ibWFpbHRvOnNzdGFiZWxsaW5pQGtlcm5lbC5vcmciIHRhcmdldD0iX2JsYW5rIj5z
c3RhYmVsbGluaUBrZXJuZWwub3JnPC9hPiZndDsgd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgVk5DIGlzIHR5cGljYWxseSBlYXNpZXIg
dG8gc2V0dXAsIGJlY2F1c2UgU0RMIG5lZWRzIGV4dHJhIGxpYnJhcmllcyBhdDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGJ1aWxkIHRpbWUgYW5k
IHJ1bnRpbWUuIElmIFFFTVUgaXMgYnVpbHQgd2l0aG91dCBTREwgc3VwcG9ydCBpdCB3b24mIzM5
O3Q8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBz
dGFydCB3aGVuIHlvdSBhc2sgZm9yIFNETC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgVk5DIHNob3VsZCB3b3JrIHdpdGggYm90aCB4MTEgYW5kIHdheWxhbmQgaW4geW91
ciBkb21VLiBJdCBkb2VzbiYjMzk7dCB3b3JrPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYXQgdGhlIHgxMSBsZXZlbCwgaXQgZXhwb3NlcyBhIHNw
ZWNpYWwgZmJkZXYgZGV2aWNlIGluIHlvdXIgZG9tVSB0aGF0PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgc2hvdWxkIHdvcmsgd2l0aDo8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAtIGEgZ3JhcGhp
Y2FsIGNvbnNvbGUgaW4gTGludXggZG9tVTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoC0geDExPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgLSB3YXlsYW5kIChidXQgSSBoYXZlbiYjMzk7dCB0ZXN0
ZWQgdGhpcyBzbyBJIGFtIG5vdCAxMDAlIHN1cmUgYWJvdXQgaXQpPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoFdoZW4geW91IHNheSAmcXVvdDtpdCBkb2VzbiYjMzk7dCB3
b3JrJnF1b3Q7LCB3aGF0IGRvIHlvdSBtZWFuPyBEbyB5b3UgZ2V0IGEgYmxhY2s8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB3aW5kb3c/PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFlvdSBuZWVkIENPTkZJR19YRU5fRkJE
RVZfRlJPTlRFTkQgaW4gTGludXggZG9tVTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoChkcml2ZXJzL3ZpZGVvL2ZiZGV2L3hlbi1mYmZyb250LmMp
LiBJIHdvdWxkIHRyeSB0byBnZXQgYSBncmFwaGljYWwgdGV4dDxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGNvbnNvbGUgdXAgYW5kIHJ1bm5pbmcg
aW4geW91ciBkb21VIGJlZm9yZSBhdHRlbXB0aW5nIHgxMS93YXlsYW5kLjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoFN0ZWZhbm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgT24gTW9uLCAxNyBPY3QgMjAyMiwgVmlwdWwgU3VuZWphIHdyb3RlOjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSGksPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFu
a3MhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgSSBoYXZlIHBvcnRlZCB4ZW4gbWluaW1hbCBpbWFnZSBhcyBET00wICZhbXA7IGN1c3Rv
bSB3YXlsYW5kIEdVSSBiYXNlZCBpbWFnZSBhczxicj4NCiZndDvCoCDCoCDCoCDCoERPTVUgaW48
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqByYXNwYmVycnk8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBwaTRCLiBJPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgYW0gdHJ5aW5nIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgbWFrZSBHVUk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqBkaXNwbGF5IHVwPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBmb3LCoGd1ZXN0IG1hY2hpbmUuIEkgdHJpZWQgdXNpbmfC
oHNkbCwgaW5jbHVkZWQgYmVsb3cgbGluZSBpbiBndWVzdC5jb25mIGZpbGU8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHZmYj0gWyAmIzM5
O3NkbD0xJiMzOTsgXTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IEJ1dCBpdCBpcyB0aHJvd2luZyBiZWxvdyBlcnJvcjo8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJh
c3BiZXJyeXBpNC02NDp+L2d1ZXN0MSMgeGwgY3JlYXRlIC1jIGd1ZXN0MS5jZmc8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFBhcnNpbmcg
Y29uZmlnIGZyb20gZ3Vlc3QxLmNmZzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9xbXAuYzoxNDAwOnFt
cF9ldl9mZF9jYWxsYmFjazogRG9tYWluIDM6ZXJyb3Igb24gUU1QPGJyPg0KJmd0O8KgIMKgIMKg
IMKgc29ja2V0Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoENvbm5lY3Rpb248
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqByZXNldCBi
eTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHBlZXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxpYnhsOiBlcnJvcjogbGlieGxfcW1wLmM6
MTQzOTpxbXBfZXZfZmRfY2FsbGJhY2s6IERvbWFpbiAzOkVycm9yIGhhcHBlbmVkPGJyPg0KJmd0
O8KgIMKgIMKgIMKgd2l0aCB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBR
TVA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBjb25u
ZWN0aW9uIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgUUVNVTxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4
bF9kbS5jOjMzNTE6ZGV2aWNlX21vZGVsX3Bvc3Rjb25maWdfZG9uZTogRG9tYWluIDM6UG9zdCBE
TTxicj4NCiZndDvCoCDCoCDCoCDCoHN0YXJ0dXA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqBjb25maWdzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgZmFpbGVkLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHJjPS0yNjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVy
cm9yOiBsaWJ4bF9jcmVhdGUuYzoxODY3OmRvbWNyZWF0ZV9kZXZtb2RlbF9zdGFydGVkOiBEb21h
aW4gMzpkZXZpY2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqBtb2RlbDxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoGRpZCBub3Q8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBzdGFydDo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAtMjY8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxpYnhsOiBlcnJvcjogbGlieGxf
YW91dGlscy5jOjY0NjpsaWJ4bF9fa2lsbF94c19wYXRoOiBEZXZpY2UgTW9kZWwgYWxyZWFkeTxi
cj4NCiZndDvCoCDCoCDCoCDCoGV4aXRlZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9kb21haW4uYzox
MTgzOmxpYnhsX19kZXN0cm95X2RvbWlkOiBEb21haW4gMzpOb24tZXhpc3RhbnQ8YnI+DQomZ3Q7
wqAgwqAgwqAgwqBkb21haW48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IGxpYnhsOiBlcnJvcjogbGlieGxfZG9tYWluLmM6MTEzNzpkb21h
aW5fZGVzdHJveV9jYWxsYmFjazogRG9tYWluIDM6VW5hYmxlIHRvPGJyPg0KJmd0O8KgIMKgIMKg
IMKgZGVzdHJveTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGd1ZXN0PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBsaWJ4
bDogZXJyb3I6IGxpYnhsX2RvbWFpbi5jOjEwNjQ6ZG9tYWluX2Rlc3Ryb3lfY2I6IERvbWFpbiAz
OkRlc3RydWN0aW9uIG9mPGJyPg0KJmd0O8KgIMKgIMKgIMKgZG9tYWluPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgZmFpbGVkPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgQW5vdGhlciB3YXkgaXMgVk5DLCBpIGNvdWxk
IGluc3RhbGwgdGlnZXJ2bmMgaW4gRE9NMCBidXQgc2FtZSBpIGNvdWxkbiYjMzk7dCBpbjxicj4N
CiZndDvCoCDCoCDCoCDCoGd1ZXN0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
bWFjaGluZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oGJlY2F1c2UgaXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBkb2VzbiYjMzk7dCBzdXBwb3J0PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgeDExKHN1
cHBvcnRzIHdheWxhbmQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IG9ubHkpLiBJIGFtIGNvbXBsZXRlbHkgYmxvY2tlZCBoZXJlLCBOZWVk
IHlvdXIgc3VwcG9ydCB0byBlbmFibGUgdGhlIGRpc3BsYXk8YnI+DQomZ3Q7wqAgwqAgwqAgwqB1
cC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IEFueSBhbHRlcm5hdGl2ZSBvZiBWTkMgd2hpY2ggY291bGQgd29yayBpbiBib3RoIHgxMSAm
YW1wOyB3YXlsYW5kIHN1cHBvcnRlZDxicj4NCiZndDvCoCDCoCDCoCDCoGltYWdlcz88YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBBbnkg
aW5wdXQgb24gVk5DLCBTREwgb3IgYW55IG90aGVyIHdheSB0byBwcm9jZWVkIG9uIHRoaXM/IExv
b2tpbmcgZm9yd2FyZCB0bzxicj4NCiZndDvCoCDCoCDCoCDCoGhlYXJpbmc8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBmcm9tPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgeW91Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDsgPGJyPg0KJmd0OyA8
YnI+DQomZ3Q7IDwvYmxvY2txdW90ZT48L2Rpdj4NCg==
--00000000000084411105efce444c--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 19:16:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 19:16:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462576.720722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5XFB-000153-PV; Wed, 14 Dec 2022 19:16:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462576.720722; Wed, 14 Dec 2022 19:16:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5XFB-00014w-Ju; Wed, 14 Dec 2022 19:16:41 +0000
Received: by outflank-mailman (input) for mailman id 462576;
 Wed, 14 Dec 2022 19:16:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5XFA-00014i-Cf; Wed, 14 Dec 2022 19:16:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5XFA-0001uV-9K; Wed, 14 Dec 2022 19:16:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5XFA-00013z-1Q; Wed, 14 Dec 2022 19:16:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5XFA-00044C-0z; Wed, 14 Dec 2022 19:16:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=RqLsJySH19uF6dsMZTCbD7dSI15hhpYsadvSHcr1S6w=; b=NLhhsMrS7P9eZCQiWdkDOLC/ui
	DqdOKzSoFvUtmwGAlo3PT01rBfvbVMAy5AKXnjYPg33yElfZUNDUCjSy8zKVonJ99AzkMlv3Z5jH4
	1gTnzE2PCrACCbo3vuU62ZAH0lmt7jyYPhf3Guzf59vABHWj5KmUueWH4tqyd0NhzRjY=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable bisection] complete test-amd64-amd64-dom0pvh-xl-intel
Message-Id: <E1p5XFA-00044C-0z@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 19:16:40 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-dom0pvh-xl-intel
testid xen-boot

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Bug not present: eac84d9d579011f311d502317b74dc56e788463d
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175207/


  commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Author: Wei Chen <wei.chen@arm.com>
  Date:   Mon Dec 12 12:13:26 2022 +0100
  
      xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
      
      VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
      results in two lines of error-checking code in phys_to_nid
      that is not actually working and causing two compilation
      errors:
      1. error: "MAX_NUMNODES" undeclared (first use in this function).
         This is because in the common header file, "MAX_NUMNODES" is
         defined after the common header file includes the ARCH header
         file, where phys_to_nid has attempted to use "MAX_NUMNODES".
         This error was resolved after we moved the phys_to_nid from
         x86 ARCH header file to common header file.
      2. error: wrong type argument to unary exclamation mark.
         This is because, the error-checking code contains !node_data[nid].
         But node_data is a data structure variable, it's not a pointer.
      
      So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
      enable the two lines of error-checking code. And fix the left
      compilation errors by replacing !node_data[nid] to
      !node_data[nid].node_spanned_pages. Although NUMA allows one node
      can only have CPUs but without any memory. And node with 0 bytes
      of memory might have an entry in memnodemap[] theoretically. But
      that doesn't mean phys_to_nid can find any valid address from a
      node with 0 bytes memory.
      
      Signed-off-by: Wei Chen <wei.chen@arm.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-amd64-amd64-dom0pvh-xl-intel.xen-boot.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable/test-amd64-amd64-dom0pvh-xl-intel.xen-boot --summary-out=tmp/175207.bisection-summary --basis-template=175148 --blessings=real,real-bisect,real-retry xen-unstable test-amd64-amd64-dom0pvh-xl-intel xen-boot
Searching for failure / basis pass:
 175189 fail [host=sabro0] / 175154 [host=fiano1] 175148 [host=himrod0] 175144 [host=chardonnay1] 175141 [host=elbling1] 175135 [host=chardonnay0] 175126 [host=fiano0] 175104 [host=italia0] 175091 [host=albana1] 175083 [host=godello0] 175071 [host=elbling0] 175066 [host=debina1] 175062 [host=sabro1] 175058 [host=albana0] 175055 [host=nobling1] 175050 [host=huxelrebe0] 175044 [host=nobling0] 175040 [host=fiano1] 175037 [host=godello1] 175031 [host=italia1] 175029 [host=huxelrebe1] 175021 ok.
Failure / basis pass flights: 175189 / 175021
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 8b3c06a3e545204515e50733669ad6f5c7bddfd8
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-c3038e718a19fc596f7b1baba0f83d5146dc7784 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7\
 a0bedfaa6-b746458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/xen.git#8b3c06a3e545204515e50733669ad6f5c7bddfd8-630dc3798e1d0d1b95f7be8b176563eb40e866e5
Loaded 5001 nodes in revision graph
Searching for test results:
 175021 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 8b3c06a3e545204515e50733669ad6f5c7bddfd8
 175029 [host=huxelrebe1]
 175031 [host=italia1]
 175037 [host=godello1]
 175040 [host=fiano1]
 175044 [host=nobling0]
 175050 [host=huxelrebe0]
 175055 [host=nobling1]
 175058 [host=albana0]
 175062 [host=sabro1]
 175066 [host=debina1]
 175071 [host=elbling0]
 175083 [host=godello0]
 175091 [host=albana1]
 175104 [host=italia0]
 175126 [host=fiano0]
 175135 [host=chardonnay0]
 175141 [host=elbling1]
 175144 [host=chardonnay1]
 175148 [host=himrod0]
 175154 [host=fiano1]
 175168 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 bc19af0bd4b8d0bb817defa4470873c80f67b6c2
 175179 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 8b3c06a3e545204515e50733669ad6f5c7bddfd8
 175181 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 bc19af0bd4b8d0bb817defa4470873c80f67b6c2
 175183 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 a6da84524ceaf24ff997d03407b93f60c12857f3
 175184 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 72cfe1c3ad1fae95f4f0ac51dbdd6838264fdd7f
 175180 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 bc19af0bd4b8d0bb817defa4470873c80f67b6c2
 175185 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 c243c0bb2a77e1328842436ca654f808701161c6
 175190 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175192 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
 175193 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 9bbfd7b14c4ad3774d88fe6430ab8726720633ec
 175195 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175196 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
 175198 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175200 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
 175189 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175204 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175207 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
Searching for interesting versions
 Result found: flight 175021 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d, results HASH(0x564727457030) HASH(0x56472745b040) HASH(0x56472745daf0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1\
 ce1bec85e58b458386f8b7a0bedfaa6 9bbfd7b14c4ad3774d88fe6430ab8726720633ec, results HASH(0x564727458a38) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f86d0a1ff200264aaf80b65d7d200a3ba19c7845, results HASH(0x564727450270) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f\
 0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 72cfe1c3ad1fae95f4f0ac51dbdd6838264fdd7f, results HASH(0x564727443470) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 a6da84524ceaf24ff997d03407b93f60c12857f3, results HASH(0x56472745b4c0) For basis failure, parent search stopping at c3038e718a19\
 fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 8b3c06a3e545204515e50733669ad6f5c7bddfd8, results HASH(0x56472744ee68) HASH(0x56472745b340) Result found: flight 175168 (fail), for basis failure (at ancestor ~845)
 Repro found: flight 175179 (pass), for basis pass
 Repro found: flight 175189 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
No revisions left to test, checking graph state.
 Result found: flight 175195 (pass), for last pass
 Result found: flight 175196 (fail), for first failure
 Repro found: flight 175198 (pass), for last pass
 Repro found: flight 175200 (fail), for first failure
 Repro found: flight 175204 (pass), for last pass
 Repro found: flight 175207 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Bug not present: eac84d9d579011f311d502317b74dc56e788463d
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175207/


  commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Author: Wei Chen <wei.chen@arm.com>
  Date:   Mon Dec 12 12:13:26 2022 +0100
  
      xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
      
      VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
      results in two lines of error-checking code in phys_to_nid
      that is not actually working and causing two compilation
      errors:
      1. error: "MAX_NUMNODES" undeclared (first use in this function).
         This is because in the common header file, "MAX_NUMNODES" is
         defined after the common header file includes the ARCH header
         file, where phys_to_nid has attempted to use "MAX_NUMNODES".
         This error was resolved after we moved the phys_to_nid from
         x86 ARCH header file to common header file.
      2. error: wrong type argument to unary exclamation mark.
         This is because, the error-checking code contains !node_data[nid].
         But node_data is a data structure variable, it's not a pointer.
      
      So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
      enable the two lines of error-checking code. And fix the left
      compilation errors by replacing !node_data[nid] to
      !node_data[nid].node_spanned_pages. Although NUMA allows one node
      can only have CPUs but without any memory. And node with 0 bytes
      of memory might have an entry in memnodemap[] theoretically. But
      that doesn't mean phys_to_nid can find any valid address from a
      node with 0 bytes memory.
      
      Signed-off-by: Wei Chen <wei.chen@arm.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/test-amd64-amd64-dom0pvh-xl-intel.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
175207: tolerable ALL FAIL

flight 175207 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/175207/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot           fail baseline untested


jobs:
 test-amd64-amd64-dom0pvh-xl-intel                            fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 20:32:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 20:32:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462591.720736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5YQJ-0002bC-73; Wed, 14 Dec 2022 20:32:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462591.720736; Wed, 14 Dec 2022 20:32:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5YQJ-0002b5-4F; Wed, 14 Dec 2022 20:32:15 +0000
Received: by outflank-mailman (input) for mailman id 462591;
 Wed, 14 Dec 2022 20:32:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5YQH-0002av-1g; Wed, 14 Dec 2022 20:32:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5YQG-0003th-VK; Wed, 14 Dec 2022 20:32:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5YQG-0003yK-Kj; Wed, 14 Dec 2022 20:32:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5YQG-0001O8-KK; Wed, 14 Dec 2022 20:32:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lsZTl9NHf6SGajUwvba+dCGpY3bPQe1DBd5M1WcfasU=; b=hvHGBkJjNquZpoAcXl3yQPOmSR
	904Y++UwY2F4reA3xInTPrBro9DsRSN354fPme8GVBFvVoBOBZx7WKkAhGnhozacywH8hySm3nMHn
	rZzEixA+QNobiIGCgEYSgw+ps+ElN4OQaOixUubynoxqsoyIPOtPEQ8Ysec4t3gMmEIc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175197-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175197: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
X-Osstest-Versions-That:
    linux=316cdfc48d4db2c425370ef8575dd7d81283515d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 20:32:12 +0000

flight 175197 linux-5.4 real [real]
flight 175213 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175197/
http://logs.test-lab.xenproject.org/osstest/logs/175213/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-arndale  14 guest-start         fail pass in 175213-retest
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175213-retest
 test-armhf-armhf-libvirt-qcow2 13 guest-start       fail pass in 175213-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 175213 like 175128
 test-armhf-armhf-xl-arndale 15 migrate-support-check fail in 175213 never pass
 test-armhf-armhf-xl-arndale 16 saverestore-support-check fail in 175213 never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 175213 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175092
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175106
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175106
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175128
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175128
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175128
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175128
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175128
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175128
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175128
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175128
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175128
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175128
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175128
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69
baseline version:
 linux                316cdfc48d4db2c425370ef8575dd7d81283515d

Last test of basis   175128  2022-12-09 16:47:32 Z    5 days
Testing same since   175197  2022-12-14 10:43:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Alexander Aring <aahringo@redhat.com>
  Anastasia Belova <abelova@astralinux.ru>
  Andreas Kemnade <andreas@kemnade.info>
  Andrew Morton <akpm@linux-foundation.org>
  Ankit Patel <anpatel@nvidia.com>
  Artem Chernyshev <artem.chernyshev@red-soft.ru>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Bjørn Mork <bjorn@mork.no>
  Chen Zhongjin <chenzhongjin@huawei.com>
  Christoph Hellwig <hch@lst.de>
  Dan Carpenter <error27@gmail.com>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Davide Tronchin <davide.tronchin.94@gmail.com>
  Dominique Martinet <asmadeus@codewreck.org>
  Douglas Anderson <dianders@chromium.org>
  Eric Dumazet <edumazet@google.com>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Frank Jungclaus <frank.jungclaus@esd.eu>
  FUKAUMI Naoki <naoki@radxa.com>
  Giulio Benetti <giulio.benetti@benettiengineering.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  GUO Zihua <guozihua@huawei.com>
  Gurucharan <gurucharanx.g@intel.com> (A Contingent worker at Intel)
  Gurucharan G <gurucharanx.g@intel.com> (A Contingent worker at Intel)
  Hangbin Liu <liuhangbin@gmail.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Haotien Hsu <haotienh@nvidia.com>
  Hauke Mehrtens <hauke@hauke-m.de>
  Heiko Stuebner <heiko@sntech.de>
  Ido Schimmel <idosch@nvidia.com>
  Jakub Kicinski <kuba@kernel.org>
  Jan Sokolowski <jan.sokolowski@intel.com>
  Jann Horn <jannh@google.com>
  Janosch Frank <frankja@linux.ibm.com>
  Jason Andryuk <jandryuk@gmail.com>
  Javier Martinez Canillas <javierm@redhat.com>
  Jiri Kosina <jkosina@suse.cz>
  Jisheng Zhang <jszhang@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Johannes Weiner <hannes@cmpxchg.org>
  John Starks <jostarks@microsoft.com>
  Jon Hunter <jonathanh@nvidia.com>
  Juergen Gross <jgross@suse.com>
  Kamil Maziarz  <kamil.maziarz@intel.com>
  Kamil Maziarz <kamil.maziarz@intel.com>
  Kees Cook <keescook@chromium.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Konrad Jankowski <konrad0.jankowski@intel.com>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Lin Liu <lin.liu@citrix.com>
  Liu Jian <liujian56@huawei.com>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michal Jaron <michalx.jaron@intel.com>
  Naama Meir <naamax.meir@linux.intel.com>
  Oliver Hartkopp <socketcan@hartkopp.net>
  Pankaj Raghav <p.raghav@samsung.com>
  Paolo Abeni <pabeni@redhat.com>
  Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
  Qiqi Zhang <eddy.zhang@rock-chips.com>
  Rafał Miłecki <rafal@milecki.pl>
  Rob Clark <robdclark@chromium.org>
  Roman Gushchin <roman.gushchin@linux.dev>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Sasha Levin <sashal@kernel.org>
  Saurabh Sengar <ssengar@linux.microsoft.com>
  Sebastian Reichel <sebastian.reichel@collabora.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
  Stefan Schmidt <stefan@datenfreihafen.org>
  Stefano Stabellini <sstabellini@kernel.org>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
  Thomas Huth <thuth@redhat.com>
  Tomislav Novak <tnovak@fb.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Valentina Goncharenko <goncharenko.vp@ispras.ru>
  Wang ShaoBo <bobo.shaobowang@huawei.com>
  Wei Liu <wei.liu@kernel.org>
  Wei Yongjun <weiyongjun1@huawei.com>
  Xiongfeng Wang <wangxiongfeng2@huawei.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yongqiang Liu <liuyongqiang13@huawei.com>
  YueHaibing <yuehaibing@huawei.com>
  Zhang Changzhong <zhangchangzhong@huawei.com>
  ZhangPeng <zhangpeng362@huawei.com>
  Zhengchao Shao <shaozhengchao@huawei.com>
  Ziyang Xuan <william.xuanziyang@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

hint: The 'hooks/update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-receive' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
hint: The 'hooks/post-update' hook was ignored because it's not set as executable.
hint: You can disable this warning with `git config advice.ignoredHook false`.
To xenbits.xen.org:/home/xen/git/linux-pvops.git
   316cdfc48d4d..66bb2e2b24ce  66bb2e2b24ce52819a7070d3a3255726cb946b69 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 20:44:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 20:44:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462608.720759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5YcA-0004XD-JH; Wed, 14 Dec 2022 20:44:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462608.720759; Wed, 14 Dec 2022 20:44:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5YcA-0004X6-FS; Wed, 14 Dec 2022 20:44:30 +0000
Received: by outflank-mailman (input) for mailman id 462608;
 Wed, 14 Dec 2022 20:44:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5Yc9-0004Ww-TL; Wed, 14 Dec 2022 20:44:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5Yc9-00047L-Rk; Wed, 14 Dec 2022 20:44:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5Yc9-0004hb-E1; Wed, 14 Dec 2022 20:44:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5Yc9-0006DC-DY; Wed, 14 Dec 2022 20:44:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YHC3mFUolw/7AAjNz9h4/mP+71iTTXvMDKCFLKQe3VY=; b=N8bDWwlzfWHhNYJHKULt6wj0HA
	8OmaEfVnpyu9fcD3Wses6yW46ISTpceJdI+S9p37GPsPCU/yoqEe3cT2ZPxLjxMQpmP++p/AEztjR
	yk4xG7TlI+2x81BA0YYnDaYAlWMdlMxx/llNF/knT5W/j6uLOcqYU8aokSzRaxC5hXTs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175215-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175215: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=549b042943a57b748ce80070d1174e4ff5b8ef0b
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 20:44:29 +0000

flight 175215 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175215/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  549b042943a57b748ce80070d1174e4ff5b8ef0b
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    1 days
Testing same since   175199  2022-12-14 12:01:52 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 549b042943a57b748ce80070d1174e4ff5b8ef0b
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Wed Dec 14 12:04:26 2022 +0100

    drivers/char: support up to 1M BAR0 of xhci
    
    AMD's XHCI has BAR0 of 1M (compared to 64K on Intel). Map it as a whole
    (reserving more space in the fixmap). Make fixmap slot conditional on
    CONFIG_XHCI.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit dd54ea500be80f347402d75f3e4e7061e7db78d2
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:38 2022 +0100

    docs: add documentation for generic virtio devices
    
    This patch updates xl.cfg man page with details of generic Virtio device
    related information.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit 953efa0b7b188458b18e4a727f3b1dfa77eacb61
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:25 2022 +0100

    xl: add support to parse generic virtio device
    
    This patch adds basic support for parsing generic Virtio backend.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 43ba5202e2eebd350161a8db674bf928c3e6f859
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:09 2022 +0100

    libxl: add support for generic virtio device
    
    This patch adds basic support for configuring and assisting generic
    Virtio backends, which could run in any domain.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
    region) and pass them to the backend and update guest device-tree to
    create a DT node for the Virtio devices.
    
    Add special support for I2C and GPIO devices, which require the
    "compatible" DT property to be set, among other device specific
    properties. Support for generic virtio devices is also added, which just
    need a MMIO node but not any special DT properties, for such devices the
    user needs to pass "virtio,device" in the "type" string.
    
    The parsing of generic virtio device configurations will be done in a
    separate commit.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit db75092aea988b4be78c8273626f2ee40b4012b8
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:21 2022 +0100

    tools/xenstore: enhance hashtable implementation
    
    Today it is possible to set a flag when calling hashtable_destroy() in
    order to specify whether the data associated with the hashtable entries
    should be freed or not. The keys of the entries will always be freed.
    
    Change that by replacing the flag of hashtable_destroy() by two flags
    for create_hashtable() which will specify whether the data and/or the
    key of each entry should be freed or not.
    
    This will enable users to have the key e.g. as part of the data.
    
    Add a new function hashtable_iterate() to call a user specified
    function for each entry in the hashtable.
    
    Add new primes to the primetable in order to support smaller sizes of
    the hashtable. The primes are selected according to:
    
    https://planetmath.org/goodhashtableprimes
    
    Update the URL in the source as the old one wasn't correct any longer.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit bb65cbd81caaaaf325d23f63b4c2165960563459
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:04 2022 +0100

    tools/xenstore: preserve errno across corrupt()
    
    Let corrupt() preserve errno in order to be able to simplify error
    handling in future.
    
    This is rather easy as the errno value when entering corrupt() is
    saved already.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 6a0d1914f0b19742436367a0019602992573bd4b
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:01:47 2022 +0100

    tools/xenstore: let tdb_logger() preserve errno
    
    tdb_logger() is called by TDB for logging errors. As errno is checked
    often after doing the logging, tdb_logger() should preserve errno.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 8d7acf3f7d8d2555c78421dced45bc49f79ae806
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Wed Dec 14 12:00:35 2022 +0100

    EFI: relocate the ESRT when booting via multiboot2
    
    This was missed in the initial patchset.
    
    Move efi_relocate_esrt() up to avoid adding a forward declaration.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 21:26:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 21:26:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462622.720770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ZGa-00029X-Ms; Wed, 14 Dec 2022 21:26:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462622.720770; Wed, 14 Dec 2022 21:26:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ZGa-00029Q-Ja; Wed, 14 Dec 2022 21:26:16 +0000
Received: by outflank-mailman (input) for mailman id 462622;
 Wed, 14 Dec 2022 21:26:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5ZGZ-00029G-WD; Wed, 14 Dec 2022 21:26:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5ZGZ-0005Bx-Tf; Wed, 14 Dec 2022 21:26:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5ZGZ-0005t3-I5; Wed, 14 Dec 2022 21:26:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5ZGZ-0004rg-He; Wed, 14 Dec 2022 21:26:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=njUn7vkI95iaCalureG0/5mgoLStOyV5x/VsqA263j8=; b=lNJJNMcjBeyRspHmfXzti2hdKr
	l+kp5PeM+MPNjrCuF2JSGKHcJLInbB09aVGTNGRX2SiHRqDMCgYXmgA+e6oeLkvCJGSFeNBrfmSsf
	jpCgGBsuMoCa1rfCy2WADC0lZEpBAcWsKIljBYYHiKIfR0XLU+jih40oTrhsnqct+jTU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175214-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175214: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=cda98df16228970dcf9a4ce2af5368219711b4b0
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 21:26:15 +0000

flight 175214 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175214/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 cda98df16228970dcf9a4ce2af5368219711b4b0
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    0 days
Testing same since   175214  2022-12-14 18:42:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cda98df16228970dcf9a4ce2af5368219711b4b0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:09 2022 +0100

    OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported
    
    Remove global variables, store the state in PlatformInfoHob instead.
    Probing for fw_cfg happens on first use, at library initialization
    time the Hob might not be present yet.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 81bbc1452c972218f071cd4a8f5899df974b1dae
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:08 2022 +0100

    OvmfPkg/QemuFwCfgLib: rewrite fw_cfg probe
    
    Move the code to a new QemuFwCfgProbe() function.  Use direct Io*() calls
    instead of indirect QemuFwCfg*() calls to make sure we don't get
    recursive calls.  Also simplify CC guest detection.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit e59747bd8246135faeecc18879d62db66a6acfc2
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:07 2022 +0100

    OvmfPkg/DebugLibIoPort: use Rom version for PEI
    
    This variant does not use global variables.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit f6a196c7eb34affff0cfe1864e126953096885e1
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:06 2022 +0100

    OvmfPkg/PlatformPei: remove mFeatureControlValue
    
    Use PlatformInfoHob->FeatureControlValue instead.
    OnMpServicesAvailable() will find PlatformInfoHob using
    GetFirstGuidHob() and pass a pointer to the WriteFeatureControl
    callback.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 862614e2544997c848fab7388733774ae0ea92d8
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:05 2022 +0100

    OvmfPkg/PlatformPei: remove mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable.  Let
    BuildPlatformInfoHob() allocate and return PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 4bc2c748516e5c4a8bb86093cd5e1b80a9f35c0f
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:04 2022 +0100

    OvmfPkg/PlatformPei: Verification: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in S3Verification() and
    Q35BoardVerification() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 7dbb8a24d1a3403f85d959bc1234b9f4a92bfbf0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:03 2022 +0100

    OvmfPkg/PlatformPei: NoExec: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in NoexecDxeInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit cc6efda7770b8cabea3ae8c6054d47c4a8e229c3
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:02 2022 +0100

    OvmfPkg/PlatformPei: MemTypeInfo: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in MemTypeInfoInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 27874a382c38a95d3ab613eebd35c152ca9b3897
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:01 2022 +0100

    OvmfPkg/PlatformPei: PeiMemory: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PublishPeiMemory()
    and GetPeiMemoryCap() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 00743d144bc5b643e9323ad66f16cb48cf338705
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:00 2022 +0100

    OvmfPkg/PlatformPei Q35 SMM helpers: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in
    Q35TsegMbytesInitialization() and
    Q35SmramAtDefaultSmbaseInitialization() ) functions.
    Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 9d9d15b42a5e13bb18729da0f608c629aa274e80
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:59 2022 +0100

    OvmfPkg/PlatformPei: PeiFv: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PeiFvInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 78c373f2a5273af00b23b55d3e8c41583310cfb6
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:58 2022 +0100

    OvmfPkg/PlatformPei: AmdSev: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in AmdSevInitialize()
    and AmdSevEsInitialize() functions.  Pass a pointer to the
    PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 916825b84f23b691dcce09a57625fb8fcb0cbb48
Author: Jeff Brasen <jbrasen@nvidia.com>
Date:   Tue Nov 15 11:01:06 2022 -0700

    DynamicTablesPkg: SSDT _LPI revision is incorrect
    
    _LPI Revision should be 0 per the ACPI 6.5 specification.
    "The revision number of the _LPI object. Current revision is 0."
    
    Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
    Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 21:47:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 21:47:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462634.720784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ZaV-0005Is-Fx; Wed, 14 Dec 2022 21:46:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462634.720784; Wed, 14 Dec 2022 21:46:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ZaV-0005Il-CY; Wed, 14 Dec 2022 21:46:51 +0000
Received: by outflank-mailman (input) for mailman id 462634;
 Wed, 14 Dec 2022 21:46:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Xz6/=4M=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1p5ZaU-0005Id-BO
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 21:46:50 +0000
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com
 [205.220.165.32]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce98513d-7bf8-11ed-91b6-6bf2151ebd3b;
 Wed, 14 Dec 2022 22:46:48 +0100 (CET)
Received: from pps.filterd (m0333521.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 2BELhrhm009263; Wed, 14 Dec 2022 21:46:22 GMT
Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta03.appoci.oracle.com [138.1.37.129])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3meyex3gj8-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Wed, 14 Dec 2022 21:46:21 +0000
Received: from pps.filterd
 (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5)
 with ESMTP id 2BEKTFdN025311; Wed, 14 Dec 2022 21:46:21 GMT
Received: from nam11-dm6-obe.outbound.protection.outlook.com
 (mail-dm6nam11lp2176.outbound.protection.outlook.com [104.47.57.176])
 by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 3meyemya08-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Wed, 14 Dec 2022 21:46:21 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by CH3PR10MB6689.namprd10.prod.outlook.com (2603:10b6:610:153::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Wed, 14 Dec
 2022 21:46:19 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::909f:fa34:2dac:11c5]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::909f:fa34:2dac:11c5%7]) with mapi id 15.20.5880.019; Wed, 14 Dec 2022
 21:46:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce98513d-7bf8-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date :
 to : cc : references : from : subject : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2022-7-12;
 bh=WCVQxcn5xfuG2qoVHLb5zOS1maUjNeo6BQXYosGStl4=;
 b=OFskkryq1K/LyMw51Ud6tax6GlFmWdYhC+lHyws8svRCdwGNKuSghiN5hZfLRDjpAvdn
 JQzKhx4Bt7ctNRX1uA4YOe8NuTrLLWDATT90+g0sGJ4SF1bTJ8JB6PXkUP3R+Uuov+yA
 RRAH5U6UxK/QnC2x+IFfqV7NEUpqQK8yS18A7UjauJ0I/89+o0wjoFlQeNMgsq1FQxom
 4ivfehbdnykgkftgGcdbX43jDmpA665OYkCKUbEvITMR7jGjry1HuZ/cJh5wK1FVzv98
 1Cjq6hEbf8C1+mCpN/z+WKhFaCdbF5PzXx6v1MYrjFgLjHwOlg+fLEavWrzK6MgtnQAr VA== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WY3ZTrMzZkI8UP2IDroRQBUl57Xm8GW76lISTzTQt4KZPaXDsusTiCVAR+WT/o8IgmV7VCtJBQrN3wcPnwxbaKmfcFZErHKyrdur0fxxSOJqH7JgyGLYreP4uJzwipoZkvv+NJxBeUyB5fiDTPSbmFVaNrbD+pa6tSedoxvOMviso7doqd7bfMmXRP91RYn5wpezk6OWRAcLCYkOYpRNgQ9Ai5dKtq+luAN2h2XP5Zac5NotU7mEYRcf/CzxqiMXbdF5jPVYkzFJNGOYAmwsMH9uX6XOTc63uBLggKOiyVwzh0ebaygpiBe33NAEvnvfYKi6EQ+QTSDxBOpDtkdyCQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WCVQxcn5xfuG2qoVHLb5zOS1maUjNeo6BQXYosGStl4=;
 b=jidfQfCnNYs3pK7W71p1yE+aRylvbrnJf3PJX2KSbs38DLk4sDyT9zfd2RZueAsL9Y6kP7mFhDRE3rTxk+koClx8m9vSW1qFioGj9M5e6P6lbAplD1RFWwDKaM2EO6o3Cke6lMcwRDlU6wirGjHHIZIwZjGuDNXUwKZNQK3zD7hseMyHLE5Ls/VpFd6rj7tET9FdeyNRifpsw38emzF7PbaTZcDDx1GPp7t0KPxKyXxbHqOR8UqM3q6tLAUFeymgyUtMpZJEFviW5l3aUanLzsQg+9YOMhug5G9/uZqDBbJOR2k7A1YyQpRNxTlHOJ4o/GEPOQFBouUO9iD4E4jTeQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com;
 dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WCVQxcn5xfuG2qoVHLb5zOS1maUjNeo6BQXYosGStl4=;
 b=HOsYoZxjGuacLR6YKfLF2POXRpE9CeZYrjxfKPIC8Fa6ESNrNlqYwlAqL+qzPUp05YWdtjMOIkozi+qh94a7EUhSOyh4ezFQ0uwuulVaj5fxhzQRT6tusN9aEhSC/S0dFBdN0UvT7VQ3/tKrO24La/l3bsRZF+5nO7FZ6WKZDyc=
Message-ID: <0835453d-9617-48d5-b2dc-77a2ac298bad@oracle.com>
Date: Wed, 14 Dec 2022 16:46:10 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Content-Language: en-US
To: Krister Johansen <kjlx@templeofstupid.com>
Cc: Juergen Gross <jgross@suse.com>, Thomas Gleixner <tglx@linutronix.de>,
        Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
        Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
        "H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
        linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
        Anthony Liguori <aliguori@amazon.com>,
        David Reaver <me@davidreaver.com>, Brendan Gregg <brendan@intel.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
 <20221212155730.GA1973@templeofstupid.com>
 <20221212160524.GB1973@templeofstupid.com>
 <d1a2b785-edc7-b7da-d2f2-123d1555022e@oracle.com>
 <20221212220959.GB1935@templeofstupid.com>
 <9dfe87f0-fc95-6c28-6695-62f1f5403df6@oracle.com>
 <20221214180147.GA1953@templeofstupid.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Subject: Re: [PATCH linux-next v2] x86/xen/time: prefer tsc as clocksource
 when it is invariant
In-Reply-To: <20221214180147.GA1953@templeofstupid.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: SJ0PR03CA0143.namprd03.prod.outlook.com
 (2603:10b6:a03:33c::28) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BLAPR10MB5009:EE_|CH3PR10MB6689:EE_
X-MS-Office365-Filtering-Correlation-Id: f013a2c3-e824-42c7-1304-08dade1ca14d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	0jCb5gZltI8xdGK5SuoQBWz7q6CwptXP13CZk+SFs+65UVkFG3i+SBzI+xBWxaFaYaeqsnHmc67CaVXwTQA+xgVBkaHGKDXdpMYsXNo8oPGUsN6osOwJVjRZlZiDAUl/t+1h7xRUH1N2qV+tyzJdGup5ZSE9InKdP3ePrgreca5jRuJaYbvQht0vDhcf8xIylNQ54lFwMYdi8gF0j/JMQmCq4BK3ZRucErGqnfWGFbtclVOXjRxZsfP7fQMyjshDxmmLKfkGC6fH1VeAhKoVihA2cm2AzGCJkqiyjQyq2W6cV+DCVH6sLl1w3oyP0JsnWPIMzUYX6t+wKr3QnkqbuWa8EX/K4wRsSUpBzL16/I5T7QWqxc4jrrUnltSZtvEIb1VKFEfkV7B1HdYvOKGRvMLQcXa9+ycb+x/Ukod1faNt6bXbwmCrOOrS1uUMKhmTSlekTshAJZutt43r4xwOkYcY3BI8vbk2Fm73X8QZ36s40fM5fXpEQUazwxu7RZq7VLqUw2Q0VDSeyFg0OO7mfrY0boTtUNBuVep+0n0+9ficgCF7ZgzuujqyPoBGhEJv8+aAbAMZGS4gA66dEZbf3wAZN5CN0FO0CuoKSp7CyUkoYs2hncQKNHATUp0MIUOJ61MZQFGlF5p6SpxTn1QHq4TMyTwowhfmP+Nd77+fkfNVI4p61IhkzMyGh3I6esPNmTva6yQnBA0QN3ZpmkfYJUG6+d+4AB2tejGI9oYIgSE=
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5009.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(396003)(376002)(346002)(136003)(39860400002)(451199015)(7416002)(316002)(31686004)(6916009)(2906002)(54906003)(6666004)(41300700001)(31696002)(66476007)(38100700002)(478600001)(2616005)(44832011)(6506007)(53546011)(36756003)(5660300002)(6486002)(8936002)(83380400001)(186003)(4326008)(86362001)(66946007)(66556008)(6512007)(26005)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?eEwzM1JtYVFaNHNZRlNab1U2dTZXSDB6aXJINnpnSEF3cVU0OTEvVjRwSGl5?=
 =?utf-8?B?KzlKZndFNjZndDhQVURrdmRXVHV4QjgwUW16cWFsS0hOVG9tSER5eUl1cW5q?=
 =?utf-8?B?MmdqV01JNHRRbDZkRFkvTklMN2RuWmNpcFJETzFTZTk3OHVwM3Q1MFJBNHlE?=
 =?utf-8?B?TjRlVkhicGY3TjlxWDdMNHljUG80ck1PMmE3NHFaY0xNbEIxd2E4a2lPMVRw?=
 =?utf-8?B?dmRiaE1Hb1NUeXpCbkxiZlc2Wk9GM1lFMXlBZ28vVmNRdnE5bWJoYnBBbkpm?=
 =?utf-8?B?SHVMYm1TbmZ1bHgrWUNjSWZJRDBVdS9hd2Eyc2xQeHFQREcxOGEvUDZWd2t1?=
 =?utf-8?B?YU8wd09vUjhjUjVrbGNZY2VicTA0TytiNW5RdkxQNTNRS1ZLM1d2Zmtadkw4?=
 =?utf-8?B?YUlpVmpqMldSeEZNWS84L1V6ZkJVakJ6SURyeW01MFZTbTMzM3hianFrNnQ3?=
 =?utf-8?B?YkE4bmg0NjYvaWljeE5yd0NDaHNOc1YrNUl6MDJkMVlDYkVJOFBock5xNTRp?=
 =?utf-8?B?L0ZTR05OV3pEaS9zTEJGSjNOQzBGNDlXcDJVbWc2djFublpnZy9ENE1kSmdY?=
 =?utf-8?B?eWNEWnVLKzA0TUt1Y0UyNVMxZnFxSmw2U1h4bERQOHhXV2xYTngvME1NQjNw?=
 =?utf-8?B?Y0p4eXNoLzBQcDF5dVZmVzl5ZFhKeHl6Nkw4MEdIdXhUVnN1cEY3OFZZRVQw?=
 =?utf-8?B?SzJMWXVIdENwTUptWFo1VTlLb3VxbnJWcWl2SU00UUZHQnlYRzRIamh2MDN6?=
 =?utf-8?B?S1BzN011WExwY1hHQkxadTlXc1FYY2piZ1ZhcE9XcEk5Y0ZYVWRmNHIrWlhy?=
 =?utf-8?B?R25Kci9May93ckZ2aEZpOG5SbWg5NDZDOVRBMVl4bkoxVk1TaFI4NGtpQjF1?=
 =?utf-8?B?TTVuTVJaYzI3WmxDSHJ0TEE2S094aTVIT1c1RFJ0N2xJWjhNb2xmcld3NStm?=
 =?utf-8?B?bkFBb3YvY3pzekpSOHFDMFRva0FGcWRhRlhWNXVHZlBCT0RzMWlnaGNlT3U0?=
 =?utf-8?B?RUttWGd0L1hGN2U5QTVLR1NpcHUvNFB2M0JwL1ZvMEtwTk9JT3ErQWtaV2FI?=
 =?utf-8?B?Zi92SGV0a1lySC9uSjc1dDZNcHh0V1VoZWZBWmJQMzEyeDRYM0cvZHRGVTRj?=
 =?utf-8?B?TnNCTkcrZkhWd1JzZDlzRUJWczNjVTV2YkRudURJQlh1TDZKdjBlUnltb2pm?=
 =?utf-8?B?TERxQ3J5b1QwTHc5OGM2T0JJWS9oUkh1OG9EWUJDV3FjS3RCK0pLaGMveEE0?=
 =?utf-8?B?Sy9ER1hlbWE0SHBxYzgxRVBjeGQ3RklreFNhRXYvTGNnRHUyUzNmL09VWTln?=
 =?utf-8?B?WGdGVEJISUJWK3NzMStFNjQzOFZQc2x3UmFsTjhCU0xaVXltU2U4MXBrNWc0?=
 =?utf-8?B?ZmpXUFFCMkxNRWlhZWlreGF2V0psQVJmK1FaUlVJVDdNV09hc2NTRHZJNkQv?=
 =?utf-8?B?NldnZWIySmxsUDhBN2VzOTdpM04xZjNJL1BXa1pUM0JGb2FiQkNwaUovdlRX?=
 =?utf-8?B?YnE2ODlFZU53YkhBV3FUMUtZRFRkSUZHZXprWXZwQ3hYU0lQUW9QZFpCRFJ4?=
 =?utf-8?B?czRZUThiQVk0cG44ZVBjS0JKVng2UVNjeHNaWi9iZnhOVXhxTHRneHowclgx?=
 =?utf-8?B?YlZFY3JoU3RlbjRad0NwY2J2WThoalBiZlRvTWxNVmlwUCtJdlJscW9hb0JO?=
 =?utf-8?B?aUlZcXBaaXhJNC9kbURzazRnbXpsRUl5WkE0MHRFbURTWDVZWUZwazFSR1Zh?=
 =?utf-8?B?QmEzOGYzSG8wRUU1TW5jbXpHdmY5QVdpNmhRbStWRnZYVUEvR3JScjdNVTJs?=
 =?utf-8?B?MEdkaU1pQ29KQVRNeVZXSzRtb0xRaXViSU8ra3lKVkpuTG1zK2F6OW9RRjZQ?=
 =?utf-8?B?MlhWR3VnYWZud29KWXRpTStqMUEwNVl0dmg2QkQwTWdGbGFrTXAyNmVsaTJD?=
 =?utf-8?B?bUlZTEZYaEZENTQ4M0gzbm8wUFJYT29BbEpXeEJrK21OdlJBOEU0WnY1alY1?=
 =?utf-8?B?eWdyNGpyYmRIdXU2SHNWUmtNektHbE9NRFRXMHVEVzFSaGRvYy8weWZwSzE0?=
 =?utf-8?B?T3VYTDRMWCtacWVDQWY1UjJYTFFkNUxZYWpYSFpUY3ZJOEJILy9rU1Z3dSs1?=
 =?utf-8?B?OWs1MjNhcUE3MG82eWFqYU81UzlJNGtYNktHNHdRQmdub2tUeDdVVUpFdmU0?=
 =?utf-8?B?OHc9PQ==?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f013a2c3-e824-42c7-1304-08dade1ca14d
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Dec 2022 21:46:18.8445
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Is+ggaZk+pUlODXOrTH6N9mokkGVccpSInxMjOzfgYcRSvtXHlCN6eb5MRJfHB4npqp73IrYxqOBgBoR+zqXc7MF4sCc8bly9QV8k/453kU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR10MB6689
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1
 definitions=2022-12-14_11,2022-12-14_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 malwarescore=0 phishscore=0
 mlxlogscore=999 suspectscore=0 spamscore=0 adultscore=0 bulkscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000
 definitions=main-2212140177
X-Proofpoint-GUID: ye8L6pcXau3Aj6IckuXspMInE39b2fc4
X-Proofpoint-ORIG-GUID: ye8L6pcXau3Aj6IckuXspMInE39b2fc4


On 12/14/22 1:01 PM, Krister Johansen wrote:
> On Tue, Dec 13, 2022 at 04:25:32PM -0500, Boris Ostrovsky wrote:
>> On 12/12/22 5:09 PM, Krister Johansen wrote:
>>> On Mon, Dec 12, 2022 at 01:48:24PM -0500, Boris Ostrovsky wrote:
>>>> On 12/12/22 11:05 AM, Krister Johansen wrote:
>>>>> diff --git a/arch/x86/include/asm/xen/cpuid.h b/arch/x86/include/asm/xen/cpuid.h
>>>>> index 6daa9b0c8d11..d9d7432481e9 100644
>>>>> --- a/arch/x86/include/asm/xen/cpuid.h
>>>>> +++ b/arch/x86/include/asm/xen/cpuid.h
>>>>> @@ -88,6 +88,12 @@
>>>>>      *             EDX: shift amount for tsc->ns conversion
>>>>>      * Sub-leaf 2: EAX: host tsc frequency in kHz
>>>>>      */
>>>>> +#define XEN_CPUID_TSC_EMULATED       (1u << 0)
>>>>> +#define XEN_CPUID_HOST_TSC_RELIABLE  (1u << 1)
>>>>> +#define XEN_CPUID_RDTSCP_INSTR_AVAIL (1u << 2)
>>>>> +#define XEN_CPUID_TSC_MODE_DEFAULT   (0)
>>>>> +#define XEN_CPUID_TSC_MODE_EMULATE   (1u)
>>>>> +#define XEN_CPUID_TSC_MODE_NOEMULATE (2u)
>>>> This file is a copy of Xen public interface so this change should go to Xen first.
>>> Ok, should I split this into a separate patch on the linux side too?
>> Yes. Once the Xen patch has been accepted you will either submit the same patch for Linux or sync Linux file with Xen (if there are more differences).
> Thanks.  Based upon the feedback I received from you and Jan, I may try
> to shrink the check in xen_tsc_safe_clocksource() down a bit.  In that
> case, I may only need to refer to a single field in the leaf that
> provides this information.  In that case, are you alright with dropping
> the change to the header and referring to the value directly, or would
> you prefer that I proceed with adding these to the public API?


It would certainly be appreciated if you updated the header files but it's up to maintainers to decide whether it's required.


>>>>> +static int __init xen_tsc_safe_clocksource(void)
>>>>> +{
>>>>> +	u32 eax, ebx, ecx, edx;
>>>>> +
>>>>> +	if (!(xen_hvm_domain() || xen_pvh_domain()))
>>>>> +		return 0;
>>>>> +
>>>>> +	if (!(boot_cpu_has(X86_FEATURE_CONSTANT_TSC)))
>>>>> +		return 0;
>>>>> +
>>>>> +	if (!(boot_cpu_has(X86_FEATURE_NONSTOP_TSC)))
>>>>> +		return 0;
>>>>> +
>>>>> +	if (check_tsc_unstable())
>>>>> +		return 0;
>>>>> +
>>>>> +	cpuid(xen_cpuid_base() + 3, &eax, &ebx, &ecx, &edx);
>>>>> +
>>>>> +	if (eax & XEN_CPUID_TSC_EMULATED)
>>>>> +		return 0;
>>>>> +
>>>>> +	if (ebx != XEN_CPUID_TSC_MODE_NOEMULATE)
>>>>> +		return 0;
>>>> Why is the last test needed?
>>> I was under the impression that if the mode was 0 (default) it would be
>>> possible for the tsc to become emulated in the future, perhaps after a
>>> migration.  The presence of the tsc_mode noemulate meant that we could
>>> count on the falseneess of the XEN_CPUID_TSC_EMULATED check remaining
>>> constant.
>> This will filter out most modern processors with TSC scaling support where in default mode we don't intercept RDTCS after migration. But I don't think we have proper interface to determine this so we don't have much choice but to indeed make this check.
> Yes, if this remains a single boot-time check, I'm not sure that knowing
> whether the processor supports tsc scaling helps us.  If tsc_mode is
> default, there's always a possibility of the tsc becoming emulated later
> on as part of migration, correct?


If the processor supports TSC scaling I don't think it's possible (it can happen in theory) but if it doesn't and you migrate to a CPU running at different frequency then yes, hypervisor will start emulating RDTSC.


>
> The other thing that might be possible here is to add a background
> timer that periodically checks if the tsc is still not emulated, and if
> it suddenly becomes so, change the rating again to prefer the xen
> clocksource.  I had written this off initially as an impractical
> solution, since it seemed like a lot more mechanism and because it meant
> the performance characteristics of the system would change without user
> intervention.  However, if this seems like a good idea, I'm not opposed
> to giving it a try.


I don't think we should do it. Having the kernel suddenly change clocksource will probably be somewhat of a surprise to users.


-boris



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 22:48:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 22:48:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462649.720807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5aXa-0004q8-4X; Wed, 14 Dec 2022 22:47:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462649.720807; Wed, 14 Dec 2022 22:47:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5aXa-0004q1-10; Wed, 14 Dec 2022 22:47:54 +0000
Received: by outflank-mailman (input) for mailman id 462649;
 Wed, 14 Dec 2022 22:47:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dBmI=4M=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p5aXX-0004pv-Mb
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 22:47:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 53850dc4-7c01-11ed-8fd2-01056ac49cbb;
 Wed, 14 Dec 2022 23:47:46 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0BC24618CC;
 Wed, 14 Dec 2022 22:47:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8DB94C433EF;
 Wed, 14 Dec 2022 22:47:42 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53850dc4-7c01-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671058064;
	bh=8ouOhzzDfl0J7CrNY1EqWq4yuO1glqDPGewSLABpj0I=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=lqlwEUegzCHnK6TKi4l/ZH01B//IOBRVLvtTUzP1U0KNPrQNYtK6gvy+qummvsILS
	 bqvx6ytdBu8EmTPB126UwABl8i60xj7pNuf1e2Nc7bk80SXO1du01Q5LGfjRBrCUsb
	 boPnBVjwsCHg3DoNjiJxAMUY6OA6riZEloZKo/70+Z0m7wHL37oD6nGixi6OPPgqHJ
	 lGivrm4kZDyPcnnQch5vyJp+krBEj6gZs+5+O3KoiLf98BoocqWoICPt6dNDp1lgy6
	 sd9nWpH1ut2ouOjUftByKFO/157VyeEYgoIc2fqQq5+SsmeKyRvb7Yc1DikP1ZQfcn
	 ftdNmS1y6wfkw==
Date: Wed, 14 Dec 2022 14:47:40 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Vipul Suneja <vsuneja63@gmail.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, oleksandr_andrushchenko@epam.com, 
    oleksandr_tyshchenko@epam.com, jgross@suse.com, boris.ostrovsky@oracle.com, 
    Bertrand.Marquis@arm.com, Stewart.Hildebrand@amd.com, michal.orzel@amd.com, 
    vikram.garhwal@amd.com
Subject: Re: Porting Xen in raspberry pi4B
In-Reply-To: <CALAP8f-fka4jicvLhzS8NFyyqD_NnffMxrZmqpz-x9JnL7Oy7w@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2212141443130.315094@ubuntu-linux-20-04-desktop>
References: <CALAP8f--jyG=ufJ9WGtL6qoeGdsykjNK85G3q50SzJm5+wOzhQ@mail.gmail.com> <alpine.DEB.2.22.394.2210251641540.1397955@ubuntu-linux-20-04-desktop> <CALAP8f8Z8A2u8h56EJWOCN7nJFDvyEvM-Q85XMnUP6Y6mZDg3w@mail.gmail.com> <CALAP8f_n2okQ-Ss_kGACAq3BVYXS_D2P_8AyhOzUxqgWpz9f4g@mail.gmail.com>
 <alpine.DEB.2.22.394.2211101702250.50442@ubuntu-linux-20-04-desktop> <CALAP8f8zGfNA_CZU4UQXy7-rPT6dqih9XpzuKM3vvkoBvy6usg@mail.gmail.com> <alpine.DEB.2.22.394.2211221605470.1049131@ubuntu-linux-20-04-desktop> <CALAP8f_QiHN4dP3z+LQgKdGeo8-=9DMyk0W7+x6P2eHvnOD_wQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2212011128430.4039@ubuntu-linux-20-04-desktop> <CALAP8f_b=0m0dqj9a50UYXYfw9X873i07sG9eyxFSqxF0yEneQ@mail.gmail.com> <alpine.DEB.2.22.394.2212121406270.3075842@ubuntu-linux-20-04-desktop> <CALAP8f9JY23ZyDGnku4iWf5YCamSQKsZtdZj3MhX9TrF7wgEpw@mail.gmail.com>
 <alpine.DEB.2.22.394.2212131518180.315094@ubuntu-linux-20-04-desktop> <CALAP8f-fka4jicvLhzS8NFyyqD_NnffMxrZmqpz-x9JnL7Oy7w@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-412796817-1671058004=:315094"
Content-ID: <alpine.DEB.2.22.394.2212141446500.315094@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-412796817-1671058004=:315094
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2212141446501.315094@ubuntu-linux-20-04-desktop>

Hi Vipul,

For QEMU you actually need to follow the Yocto build process to update
the QEMU binary. That is because QEMU is a userspace application with
lots of library dependencies so we cannot just do "make" with a
cross-compiler like in the case of Xen.

So you need to make changes to QEMU and then add those changes as a
patch to the Yocto QEMU build recipe, or configure Yocto to your local
tree to build QEMU. I am not a Yocto expert and the Yocto community
would be a better place to ask for advice there. You can see from here
some instructions on how to build Xen using a local tree, see the usage
of EXTERNALSRC (note that this is *not* what you need: you need to build
QEMU with a local tree, not Xen. But I thought that the wikipage might
still be a starting point)

https://wiki.xenproject.org/wiki/Xen_on_ARM_and_Yocto

Cheers,

Stefano


On Thu, 15 Dec 2022, Vipul Suneja wrote:
> Hi Stefano,
> 
> Thanks!
> 
> I could see QEMU 6.2.0 compiled & installed in the host image xen-image-minimal. I could find xenfb.c source file also & modified the same
> with debug logs.
> I have set up a cross compile environment, did 'make clean' & 'make all' to recompile but it's failing. In case i am doing wrong, Can you
> please assist me
> with the correct steps to compile qemu? Below are the error logs:
> 
> agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/build$ make
> all
> [1/3864] Compiling C object libslirp.a.p/slirp_src_arp_table.c.o
> [2/3864] Compiling C object subprojects/libvhost-user/libvhost-user.a.p/libvhost-user.c.o
> [3/3864] Linking static target subprojects/libvhost-user/libvhost-user.a
> [4/3864] Compiling C object libslirp.a.p/slirp_src_vmstate.c.o
> [5/3864] Compiling C object libslirp.a.p/slirp_src_dhcpv6.c.o
> [6/3864] Compiling C object libslirp.a.p/slirp_src_dnssearch.c.o
> [7/3864] Compiling C object libslirp.a.p/slirp_src_bootp.c.o
> [8/3864] Compiling C object libslirp.a.p/slirp_src_cksum.c.o
> [9/3864] Compiling C object libslirp.a.p/slirp_src_if.c.o
> [10/3864] Compiling C object libslirp.a.p/slirp_src_ip6_icmp.c.o
> [11/3864] Compiling C object libslirp.a.p/slirp_src_ip6_input.c.o
> [12/3864] Compiling C object libslirp.a.p/slirp_src_ip6_output.c.o
> [13/3864] Compiling C object libslirp.a.p/slirp_src_ip_icmp.c.o
> [14/3864] Compiling C object libslirp.a.p/slirp_src_ip_input.c.o
> [15/3864] Compiling C object libslirp.a.p/slirp_src_ip_output.c.o
> [16/3864] Compiling C object libslirp.a.p/slirp_src_mbuf.c.o
> [17/3864] Compiling C object libslirp.a.p/slirp_src_misc.c.o
> [18/3864] Compiling C object libslirp.a.p/slirp_src_ncsi.c.o
> [19/3864] Compiling C object libslirp.a.p/slirp_src_ndp_table.c.o
> [20/3864] Compiling C object libslirp.a.p/slirp_src_sbuf.c.o
> [21/3864] Compiling C object libslirp.a.p/slirp_src_slirp.c.o
> [22/3864] Compiling C object libslirp.a.p/slirp_src_socket.c.o
> [23/3864] Compiling C object libslirp.a.p/slirp_src_state.c.o
> [24/3864] Compiling C object libslirp.a.p/slirp_src_stream.c.o
> [25/3864] Compiling C object libslirp.a.p/slirp_src_tcp_input.c.o
> [26/3864] Compiling C object libslirp.a.p/slirp_src_tcp_output.c.o
> [27/3864] Compiling C object libslirp.a.p/slirp_src_tcp_subr.c.o
> [28/3864] Compiling C object libslirp.a.p/slirp_src_tcp_timer.c.o
> [29/3864] Compiling C object libslirp.a.p/slirp_src_tftp.c.o
> [30/3864] Compiling C object libslirp.a.p/slirp_src_udp.c.o
> [31/3864] Compiling C object libslirp.a.p/slirp_src_udp6.c.o
> [32/3864] Compiling C object libslirp.a.p/slirp_src_util.c.o
> [33/3864] Compiling C object libslirp.a.p/slirp_src_version.c.o
> [34/3864] Linking static target libslirp.a
> [35/3864] Generating qemu-version.h with a custom command (wrapped by meson to capture output)
> FAILED: qemu-version.h
> /home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/recipe-sysroot-native/usr
> /bin/meson --internal exe --capture qemu-version.h --/home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/qemu-6.2.0/scripts/qemu-v
> ersion.sh /home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/qemu-6.2.0 ''
> 6.2.0
> /usr/bin/env: ‘nativepython3’: No such file or directory
> ninja: build stopped: subcommand failed.
> make: *** [Makefile:162: run-ninja] Error 1
> 
> Thanks & Regards,
> Vipul Kumar
> 
> On Wed, Dec 14, 2022 at 4:55 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       Hi Vipul,
> 
>       Good progress! The main function we should check is "xenfb_refresh" but
>       from the logs it looks like it is called several times. Which means that
>       everything seems to be working as expected on the Linux side.
> 
>       It is time to investigate the QEMU side:
>       ./hw/display/xenfb.c:xenfb_handle_events
>       ./hw/display/xenfb.c:xenfb_map_fb
> 
>       I wonder if the issue is internal to QEMU. You might want to use an
>       older QEMU version to check if it works, maybe 6.0 or 5.0 or even 4.0.
>       I also wonder if it is a problem between xenfb.c and the rest of QEMU. I
>       would investigate how xenfb->pixels is rendered by the rest of QEMU.
>       Specifically you might want to look at the call to
>       qemu_create_displaysurface, qemu_create_displaysurface_from and
>       dpy_gfx_replace_surface in xenfb_update.
> 
>       I hope this helps.
> 
>       Cheers,
> 
>       Stefano
> 
> 
>       On Tue, 13 Dec 2022, Vipul Suneja wrote:
>       > Hi Stefano,
>       >
>       > Thanks!
>       >
>       > I modified xen-fbfront.c source file, included printk debug logs & cross compiled it. I included the printk debug log at the
>       entry & exit
>       > of all functions of xen-fbfront.c file.
>       > Generated kernel module & loaded in guest machine at bootup. I could see lots of logs coming up, and could see multiple
>       functions being
>       > invoked even if I have not used vncviewer in the host. Attaching the log file for reference. Any specific function or
>       parameters that have
>       > to be checked or any other suggestion as per logs?
>       >
>       > Thanks & Regards,
>       > Vipul Kumar
>       >
>       > On Tue, Dec 13, 2022 at 3:44 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       Hi Vipul,
>       >
>       >       I am online on IRC OFTC #xendevel (https://www.oftc.net/, you need a
>       >       registered nickname to join #xendevel).
>       >
>       >       For development and debugging I find that it is a lot easier to
>       >       crosscompile the kernel "by hand", and do a monolithic build, rather
>       >       than going through Yocto.
>       >
>       >       For instance the following builds for me:
>       >
>       >       cd linux.git
>       >       export ARCH=arm64
>       >       export CROSS_COMPILE=/path/to/cross-compiler
>       >       make defconfig
>       >       [add printks to drivers/video/fbdev/xen-fbfront.c]
>       >       make -j8 Image.gz
>       >
>       >       And Image.gz boots on Xen as DomU kernel without issues.
>       >
>       >       Cheers,
>       >
>       >       Stefano
>       >
>       >       On Sat, 10 Dec 2022, Vipul Suneja wrote:
>       >       > Hi Stefano,
>       >       >
>       >       > Thanks!
>       >       >
>       >       > I have included printk debug logs in the xen-fbfront.c source file. While cross compiling to generate .ko with
>       >       "xen-guest-image-minimal"
>       >       > toolchain it's throwing a modpost
>       >       > not found error. I could see the modpost.c source file but the final script is missing. Any input on this, Below are
>       the
>       >       logs:
>       >       >
>       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ make
>       >       > make ARCH=arm64 -I/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/usr/include/asm -C
>       >       > /opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build
>       >       > M=/home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer modules
>       >       > make[1]: Entering directory '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build'
>       >       > arch/arm64/Makefile:36: Detected assembler with broken .inst; disassembly will be unreliable
>       >       > warning: the compiler differs from the one used to build the kernel
>       >       >   The kernel was built by: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
>       >       >   You are using:           aarch64-poky-linux-gcc (GCC) 11.3.0
>       >       >   CC [M]  /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/xen-fbfront.o
>       >       >   MODPOST /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/Module.symvers
>       >       > /bin/sh: 1: scripts/mod/modpost: not found
>       >       > make[2]: *** [scripts/Makefile.modpost:133:
>       >       /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/Module.symvers]
>       >       > Error 127
>       >       > make[1]: *** [Makefile:1813: modules] Error 2
>       >       > make[1]: Leaving directory '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build'
>       >       > make: *** [Makefile:5: all] Error 2
>       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ ls -l
>       >       > total 324
>       >       > -rwxrwxrwx 1 agl agl    359 Dec 10 22:41 Makefile
>       >       > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 modules.order
>       >       > -rw-r--r-- 1 agl agl  18331 Dec  1 20:32 xen-fbfront.c
>       >       > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 xen-fbfront.mod
>       >       > -rw-rw-r-- 1 agl agl 297832 Dec 10 22:49 xen-fbfront.o
>       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ file xen-fbfront.o
>       >       > xen-fbfront.o: ELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), with debug_info, not stripped
>       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$
>       >       >
>       >       > I have connected a HDMI based 1980x1024 resolution display screen to raspberrypi4 for testing purposes. I hope
>       connecting
>       >       this display to
>       >       > rpi4 should be ok.
>       >       >
>       >       > Is there any other way we can connect also for detailed discussion on the display bringup issue? This will really
>       help to
>       >       resolve this
>       >       > issue.
>       >       >
>       >       > Thanks & Regards,
>       >       > Vipul Kumar
>       >       >
>       >       > On Fri, Dec 2, 2022 at 1:02 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       On Thu, 1 Dec 2022, Vipul Suneja wrote:
>       >       >       > Hi Stefano,
>       >       >       > Thanks!
>       >       >       >
>       >       >       > I am exploring both options here, modification of framebuffer source file & setting up x11vnc server in
>       guest.
>       >       >       > Other than these I would like to share a few findings with you.
>       >       >       >
>       >       >       > 1. If i keep "CONFIG_XEN_FBDEV_FRONTEND=y" then xen-fbfront.ko is not generating but if i keep
>       >       "CONFIG_XEN_FBDEV_FRONTEND=m"
>       >       >       > then could see xen-fbfront.ko & its loading also. Same things with other frontend/backend drivers also. Do we
>       need to
>       >       >       configure these
>       >       >       > drivers as a module(m) only?
>       >       >
>       >       >       xen-fbfront should work both as a module (xen-fbfront.ko) or built-in
>       >       >       (CONFIG_XEN_FBDEV_FRONTEND=y).
>       >       >
>       >       >
>       >       >
>       >       >       > 2. I could see xenstored service is running for the host but it's always failing for the guest machine. I
>       could see
>       >       it in
>       >       >       bootup logs & via
>       >       >       > systemctl status also.
>       >       >
>       >       >       That is normal. xenstored is only meant to be run in Dom0, not in the
>       >       >       domUs. If you use the same rootfs for Dom0 and DomU then xenstored will
>       >       >       fail starting in the DomU (but should succeed in Dom0), which is what we
>       >       >       want.
>       >       >
>       >       >       If you run "xenstore-ls" in Dom0, you'll see a bunch of entries,
>       >       >       including some of them related to "vfb" which is the virtual framebuffer
>       >       >       protocol. You should also see an entry called "state" set to "4" which
>       >       >       means "connected". state = 4 is usually when everything works. Normally
>       >       >       when things don't work state != 4.
>       >       >
>       >       >
>       >       >
>       >       >       > Below are the logs:
>       >       >       > [  OK  ] Reached target Basic System.
>       >       >       > [  OK  ] Started Kernel Logging Service.
>       >       >       > [  OK  ] Started System Logging Service.
>       >       >       >          Starting D-Bus System Message Bus...
>       >       >       >          Starting User Login Management...
>       >       >       >          Starting Permit User Sessions...
>       >       >       >          Starting The Xen xenstore...
>       >       >       >          Starting OpenSSH Key Generation...
>       >       >       > [FAILED] Failed to start The Xen xenstore.
>       >       >       > See 'systemctl status xenstored.service' for details.
>       >       >       > [DEPEND] Dependency failed for qemu for xen dom0 disk backend.
>       >       >       > [DEPEND] Dependency failed for Xend…p guests on boot and shutdown.
>       >       >       > [DEPEND] Dependency failed for xen-…des, JSON configuration stub).
>       >       >       > [DEPEND] Dependency failed for Xenc…guest consoles and hypervisor.
>       >       >       > [  OK  ] Finished Permit User Sessions.
>       >       >       > [  OK  ] Started Getty on tty1.
>       >       >       > [  OK  ] Started Serial Getty on hvc0.
>       >       >       > [  OK  ] Started Serial Getty on ttyS0.
>       >       >       > [  OK  ] Reached target Login Prompts.
>       >       >       >          Starting Xen-watchdog - run xen watchdog daemon...
>       >       >       > [  OK  ] Started D-Bus System Message Bus.
>       >       >       > [  OK  ] Started Xen-watchdog - run xen watchdog daemon.
>       >       >       > [  OK  ] Finished OpenSSH Key Generation.
>       >       >       > [  OK  ] Started User Login Management.
>       >       >       > [  OK  ] Reached target Multi-User System.
>       >       >       >          Starting Record Runlevel Change in UTMP...
>       >       >       > [  OK  ] Finished Record Runlevel Change in UTMP.
>       >       >       > fbcon: Taking over console
>       >       >       >
>       >       >       > Poky (Yocto Project Reference Distro) 4.0.4 raspberrypi4-64 hvc0
>       >       >       >
>       >       >       > raspberrypi4-64 login: root
>       >       >       > root@raspberrypi4-64:~#
>       >       >       > root@raspberrypi4-64:~#
>       >       >       > root@raspberrypi4-64:~# systemctl status xenstored.service
>       >       >       > x xenstored.service - The Xen xenstore
>       >       >       >      Loaded: loaded (/lib/systemd/system/xenstored.service; enabled; vendor preset: enabled)
>       >       >       >      Active: failed (Result: exit-code) since Thu 2022-12-01 06:12:05 UTC; 26s ago
>       >       >       >     Process: 195 ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities (code=exited, status=1/FAILURE)
>       >       >       >
>       >       >       > Dec 01 06:12:04 raspberrypi4-64 systemd[1]: Starting The Xen xenstore...
>       >       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service: Control pro...URE
>       >       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service: Failed with...e'.
>       >       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: Failed to start The Xen xenstore.
>       >       >       > Hint: Some lines were ellipsized, use -l to show in full.
>       >       >       > root@raspberrypi4-64:~# 
>       >       >       >
>       >       >       > Any input on these?
>       >       >       >
>       >       >       > Thanks & Regards,
>       >       >       > Vipul Kumar
>       >       >       >
>       >       >       > On Wed, Nov 23, 2022 at 5:41 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       Hi Vipul,
>       >       >       >
>       >       >       >       I cannot spot any issue in the configuration, in particual you have:
>       >       >       >
>       >       >       >       CONFIG_XEN_FBDEV_FRONTEND=y
>       >       >       >
>       >       >       >       which is what you need.
>       >       >       >
>       >       >       >       The only thing I can suggest is to add printks to the Linux frontend
>       >       >       >       driver (the one running in the domU) which is
>       >       >       >       drivers/video/fbdev/xen-fbfront.c and printfs to the QEMU backend
>       >       >       >       (running in Dom0) which is hw/display/xenfb.c to figure out what is
>       >       >       >       going on.
>       >       >       >
>       >       >       >
>       >       >       >       Alternatively, you can setup PV network with the domU, such as:
>       >       >       >
>       >       >       >         vif=['']
>       >       >       >
>       >       >       >       and then run x11 and a x11vnc server in your domU. You should be able to
>       >       >       >       connect to it using vncviewer at the network IP of your domU.
>       >       >       >
>       >       >       >       Basically you are skipping the problem because instead of using the PV
>       >       >       >       framebuffer protocol, you just use VNC over the network with the domU.
>       >       >       >
>       >       >       >
>       >       >       >       Cheers,
>       >       >       >
>       >       >       >       Stefano
>       >       >       >
>       >       >       >
>       >       >       >       On Tue, 22 Nov 2022, Vipul Suneja wrote:
>       >       >       >       > Hi Stefano,
>       >       >       >       > Thanks for the support!
>       >       >       >       >
>       >       >       >       > Looks like I have tried all the combinations & possible ways to get display up but failed. Is there
>       any
>       >       document or
>       >       >       pdf for
>       >       >       >       porting xen on
>       >       >       >       > raspberrypi4.
>       >       >       >       > I could find lot's of links telling the same but couldn't see any official user guide or document
>       from the
>       >       xen
>       >       >       community on
>       >       >       >       the same. If
>       >       >       >       > there is something to refer 
>       >       >       >       > to please share with me.
>       >       >       >       > I am attaching the kernel configuration file also, just take a look if i have missed anything.
>       >       >       >       > Any other suggestions or input from your end could be really helpful?
>       >       >       >       >
>       >       >       >       > Regards,
>       >       >       >       > Vipul Kumar
>       >       >       >       >
>       >       >       >       > On Fri, Nov 11, 2022 at 6:40 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       >       Hi Vipul,
>       >       >       >       >
>       >       >       >       >       Sorry for the late reply. From the earlier logs that you sent, it looks
>       >       >       >       >       like everything should be working correctly. Specifically:
>       >       >       >       >
>       >       >       >       >            vfb = ""
>       >       >       >       >             1 = ""
>       >       >       >       >              0 = ""
>       >       >       >       >               frontend = "/local/domain/1/device/vfb/0"
>       >       >       >       >               frontend-id = "1"
>       >       >       >       >               online = "1"
>       >       >       >       >               state = "4"
>       >       >       >       >               vnc = "1"
>       >       >       >       >               vnclisten = "127.0.0.1"
>       >       >       >       >               vncdisplay = "0"
>       >       >       >       >               vncunused = "1"
>       >       >       >       >               sdl = "0"
>       >       >       >       >               opengl = "0"
>       >       >       >       >               feature-resize = "1"
>       >       >       >       >               hotplug-status = "connected"
>       >       >       >       >               request-update = "1"
>       >       >       >       >
>       >       >       >       >       state "4" means "connected". So I would expect that you should be able
>       >       >       >       >       to connect to the vnc server using vncviewer. You might not see anything
>       >       >       >       >       (black screen) but you should definitely be able to connect.
>       >       >       >       >
>       >       >       >       >       I wouldn't try to launch x11 in the guest just yet. fbcon in Linux is
>       >       >       >       >       enough to render something on the screen. You should be able to see the
>       >       >       >       >       Linux text-based console rendered graphically, connecting to it via vnc.
>       >       >       >       >
>       >       >       >       >       Sorry for the basic question, but have you tried all the following?
>       >       >       >       >
>       >       >       >       >       vncviewer 127.0.0.1:0
>       >       >       >       >       vncviewer 127.0.0.1:1
>       >       >       >       >       vncviewer 127.0.0.1:2
>       >       >       >       >       vncviewer 127.0.0.1:5900
>       >       >       >       >       vncviewer 127.0.0.1:5901
>       >       >       >       >       vncviewer 127.0.0.1:5902
>       >       >       >       >
>       >       >       >       >       Given that from the xenstore-ls logs everything seems to work correctly
>       >       >       >       >       I am not sure what else to suggest. You might have to add printf to QEMU
>       >       >       >       >       ui/vnc.c and hw/display/xenfb.c to see what is going wrong.
>       >       >       >       >
>       >       >       >       >       Cheers,
>       >       >       >       >
>       >       >       >       >       Stefano
>       >       >       >       >
>       >       >       >       >
>       >       >       >       >       On Mon, 7 Nov 2022, Vipul Suneja wrote:
>       >       >       >       >       > Hi Stefano,
>       >       >       >       >       > Thanks!
>       >       >       >       >       >
>       >       >       >       >       > Any input further on "xenstore-ls" logs?
>       >       >       >       >       >
>       >       >       >       >       > I am trying to run the x0vncserver & x11vnc server manually on guest
>       machine(xen_guest_image_minimal)
>       >       image
>       >       >       but it's
>       >       >       >       failing
>       >       >       >       >       with the below
>       >       >       >       >       > error.
>       >       >       >       >       >
>       >       >       >       >       > root@raspberrypi4-64:/usr/bin# x0vncserver
>       >       >       >       >       > x0vncserver: unable to open display ""
>       >       >       >       >       > root@raspberrypi4-64:/usr/bin#
>       >       >       >       >       > root@raspberrypi4-64:/usr/bin# x11vnc
>       >       >       >       >       > ###############################################################
>       >       >       >       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@  **  WARNING  **  WARNING  **  WARNING  **  WARNING  **   @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@        YOU ARE RUNNING X11VNC WITHOUT A PASSWORD!!        @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@  This means anyone with network access to this computer   @#
>       >       >       >       >       > #@  may be able to view and control your desktop.            @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@ >>> If you did not mean to do this Press CTRL-C now!! <<< @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@  You can create an x11vnc password file by running:       @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@       x11vnc -storepasswd password /path/to/passfile      @#
>       >       >       >       >       > #@  or   x11vnc -storepasswd /path/to/passfile               @#
>       >       >       >       >       > #@  or   x11vnc -storepasswd                                 @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@  (the last one will use ~/.vnc/passwd)                    @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@  and then starting x11vnc via:                            @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@      x11vnc -rfbauth /path/to/passfile                    @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@  an existing ~/.vnc/passwd file from another VNC          @#
>       >       >       >       >       > #@  application will work fine too.                          @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@  You can also use the -passwdfile or -passwd options.     @#
>       >       >       >       >       > #@  (note -passwd is unsafe if local users are not trusted)  @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@  Make sure any -rfbauth and -passwdfile password files    @#
>       >       >       >       >       > #@  cannot be read by untrusted users.                       @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@  Use x11vnc -usepw to automatically use your              @#
>       >       >       >       >       > #@  ~/.vnc/passwd or ~/.vnc/passwdfile password files.       @#
>       >       >       >       >       > #@  (and prompt you to create ~/.vnc/passwd if neither       @#
>       >       >       >       >       > #@  file exists.)  Under -usepw, x11vnc will exit if it      @#
>       >       >       >       >       > #@  cannot find a password to use.                           @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@  Even with a password, the subsequent VNC traffic is      @#
>       >       >       >       >       > #@  sent in the clear.  Consider tunnelling via ssh(1):      @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@    http://www.karlrunge.com/x11vnc/#tunnelling            @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@  Or using the x11vnc SSL options: -ssl and -stunnel       @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@  Please Read the documentation for more info about        @#
>       >       >       >       >       > #@  passwords, security, and encryption.                     @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@    http://www.karlrunge.com/x11vnc/faq.html#faq-passwd    @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@  To disable this warning use the -nopw option, or put     @#
>       >       >       >       >       > #@  'nopw' on a line in your ~/.x11vncrc file.               @#
>       >       >       >       >       > #@                                                           @#
>       >       >       >       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       >       >       >       > ###############################################################
>       >       >       >       >       > 09/03/2018 12:58:41 x11vnc version: 0.9.16 lastmod: 2019-01-05  pid: 424
>       >       >       >       >       > 09/03/2018 12:58:41 XOpenDisplay("") failed.
>       >       >       >       >       > 09/03/2018 12:58:41 Trying again with XAUTHLOCALHOSTNAME=localhost ...
>       >       >       >       >       > 09/03/2018 12:58:41
>       >       >       >       >       > 09/03/2018 12:58:41 *** XOpenDisplay failed. No -display or DISPLAY.
>       >       >       >       >       > 09/03/2018 12:58:41 *** Trying ":0" in 4 seconds.  Press Ctrl-C to abort.
>       >       >       >       >       > 09/03/2018 12:58:41 *** 1 2 3 4
>       >       >       >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
>       >       >       >       >       > 09/03/2018 12:58:45 Trying again with XAUTHLOCALHOSTNAME=localhost ...
>       >       >       >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
>       >       >       >       >       > 09/03/2018 12:58:45 Trying again with unset XAUTHLOCALHOSTNAME ...
>       >       >       >       >       > 09/03/2018 12:58:45
>       >       >       >       >       >
>       >       >       >       >       > 09/03/2018 12:58:45 ***************************************
>       >       >       >       >       > 09/03/2018 12:58:45 *** XOpenDisplay failed (:0)
>       >       >       >       >       >
>       >       >       >       >       > *** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.
>       >       >       >       >       > *** There may be "Xlib:" error messages above with details about the failure.
>       >       >       >       >       >
>       >       >       >       >       > Some tips and guidelines:
>       >       >       >       >       >
>       >       >       >       >       > ** An X server (the one you wish to view) must be running before x11vnc is
>       >       >       >       >       >    started: x11vnc does not start the X server.  (however, see the -create
>       >       >       >       >       >    option if that is what you really want).
>       >       >       >       >       >
>       >       >       >       >       > ** You must use -display <disp>, -OR- set and export your $DISPLAY
>       >       >       >       >       >    environment variable to refer to the display of the desired X server.
>       >       >       >       >       >  - Usually the display is simply ":0" (in fact x11vnc uses this if you forget
>       >       >       >       >       >    to specify it), but in some multi-user situations it could be ":1", ":2",
>       >       >       >       >       >    or even ":137".  Ask your administrator or a guru if you are having
>       >       >       >       >       >    difficulty determining what your X DISPLAY is.
>       >       >       >       >       >
>       >       >       >       >       > ** Next, you need to have sufficient permissions (Xauthority)
>       >       >       >       >       >    to connect to the X DISPLAY.   Here are some Tips:
>       >       >       >       >       >
>       >       >       >       >       >  - Often, you just need to run x11vnc as the user logged into the X session.
>       >       >       >       >       >    So make sure to be that user when you type x11vnc.
>       >       >       >       >       >  - Being root is usually not enough because the incorrect MIT-MAGIC-COOKIE
>       >       >       >       >       >    file may be accessed.  The cookie file contains the secret key that
>       >       >       >       >       >    allows x11vnc to connect to the desired X DISPLAY.
>       >       >       >       >       >  - You can explicitly indicate which MIT-MAGIC-COOKIE file should be used
>       >       >       >       >       >    by the -auth option, e.g.:
>       >       >       >       >       >        x11vnc -auth /home/someuser/.Xauthority -display :0
>       >       >       >       >       >        x11vnc -auth /tmp/.gdmzndVlR -display :0
>       >       >       >       >       >    you must have read permission for the auth file.
>       >       >       >       >       >    See also '-auth guess' and '-findauth' discussed below.
>       >       >       >       >       >
>       >       >       >       >       > ** If NO ONE is logged into an X session yet, but there is a greeter login
>       >       >       >       >       >    program like "gdm", "kdm", "xdm", or "dtlogin" running, you will need
>       >       >       >       >       >    to find and use the raw display manager MIT-MAGIC-COOKIE file.
>       >       >       >       >       >    Some examples for various display managers:
>       >       >       >       >       >
>       >       >       >       >       >      gdm:     -auth /var/gdm/:0.Xauth
>       >       >       >       >       >               -auth /var/lib/gdm/:0.Xauth
>       >       >       >       >       >      kdm:     -auth /var/lib/kdm/A:0-crWk72
>       >       >       >       >       >               -auth /var/run/xauth/A:0-crWk72
>       >       >       >       >       >      xdm:     -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
>       >       >       >       >       >      dtlogin: -auth /var/dt/A:0-UgaaXa
>       >       >       >       >       >
>       >       >       >       >       >    Sometimes the command "ps wwwwaux | grep auth" can reveal the file location.
>       >       >       >       >       >
>       >       >       >       >       >    Starting with x11vnc 0.9.9 you can have it try to guess by using:
>       >       >       >       >       >
>       >       >       >       >       >               -auth guess
>       >       >       >       >       >
>       >       >       >       >       >    (see also the x11vnc -findauth option.)
>       >       >       >       >       >
>       >       >       >       >       >    Only root will have read permission for the file, and so x11vnc must be run
>       >       >       >       >       >    as root (or copy it).  The random characters in the filenames will of course
>       >       >       >       >       >    change and the directory the cookie file resides in is system dependent.
>       >       >       >       >       >
>       >       >       >       >       > See also: http://www.karlrunge.com/x11vnc/faq.html
>       >       >       >       >       >
>       >       >       >       >       > Regards,
>       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >
>       >       >       >       >       > On Thu, Nov 3, 2022 at 10:27 PM Vipul Suneja <vsuneja63@gmail.com> wrote:
>       >       >       >       >       >       Hi Stefano,
>       >       >       >       >       > Thanks!
>       >       >       >       >       >
>       >       >       >       >       > I used xen-guest-image-minimal(simple console based image) as a guest with fbcon & fbdev
>       enabled in
>       >       kernel
>       >       >       >       configurations but
>       >       >       >       >       still
>       >       >       >       >       > the same error can't open the display.
>       >       >       >       >       > below are the outcome of "xenstore-ls":
>       >       >       >       >       >
>       >       >       >       >       > root@raspberrypi4-64:~/guest1# xenstore-ls
>       >       >       >       >       > tool = ""
>       >       >       >       >       >  xenstored = ""
>       >       >       >       >       > local = ""
>       >       >       >       >       >  domain = ""
>       >       >       >       >       >   0 = ""
>       >       >       >       >       >    control = ""
>       >       >       >       >       >     feature-poweroff = "1"
>       >       >       >       >       >     feature-reboot = "1"
>       >       >       >       >       >    domid = "0"
>       >       >       >       >       >    name = "Domain-0"
>       >       >       >       >       >    device-model = ""
>       >       >       >       >       >     0 = ""
>       >       >       >       >       >      backends = ""
>       >       >       >       >       >       console = ""
>       >       >       >       >       >       vkbd = ""
>       >       >       >       >       >       vfb = ""
>       >       >       >       >       >       qnic = ""
>       >       >       >       >       >      state = "running"
>       >       >       >       >       >     1 = ""
>       >       >       >       >       >      backends = ""
>       >       >       >       >       >       console = ""
>       >       >       >       >       >       vkbd = ""
>       >       >       >       >       >       vfb = ""
>       >       >       >       >       >       qnic = ""
>       >       >       >       >       >      state = "running"
>       >       >       >       >       >    backend = ""
>       >       >       >       >       >     vbd = ""
>       >       >       >       >       >      1 = ""
>       >       >       >       >       >       51712 = ""
>       >       >       >       >       >        frontend = "/local/domain/1/device/vbd/51712"
>       >       >       >       >       >        params = "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
>       >       >       >       >       >        script = "/etc/xen/scripts/block"
>       >       >       >       >       >        frontend-id = "1"
>       >       >       >       >       >        online = "1"
>       >       >       >       >       >        removable = "0"
>       >       >       >       >       >        bootable = "1"
>       >       >       >       >       >        state = "4"
>       >       >       >       >       >        dev = "xvda"
>       >       >       >       >       >        type = "phy"
>       >       >       >       >       >        mode = "w"
>       >       >       >       >       >        device-type = "disk"
>       >       >       >       >       >        discard-enable = "1"
>       >       >       >       >       >        feature-max-indirect-segments = "256"
>       >       >       >       >       >        multi-queue-max-queues = "4"
>       >       >       >       >       >        max-ring-page-order = "4"
>       >       >       >       >       >        node = "/dev/loop0"
>       >       >       >       >       >        physical-device = "7:0"
>       >       >       >       >       >        physical-device-path = "/dev/loop0"
>       >       >       >       >       >        hotplug-status = "connected"
>       >       >       >       >       >        feature-flush-cache = "1"
>       >       >       >       >       >        discard-granularity = "4096"
>       >       >       >       >       >        discard-alignment = "0"
>       >       >       >       >       >        discard-secure = "0"
>       >       >       >       >       >        feature-discard = "1"
>       >       >       >       >       >        feature-barrier = "1"
>       >       >       >       >       >        feature-persistent = "1"
>       >       >       >       >       >        sectors = "1794048"
>       >       >       >       >       >        info = "0"
>       >       >       >       >       >        sector-size = "512"
>       >       >       >       >       >        physical-sector-size = "512"
>       >       >       >       >       >     vfb = ""
>       >       >       >       >       >      1 = ""
>       >       >       >       >       >       0 = ""
>       >       >       >       >       >        frontend = "/local/domain/1/device/vfb/0"
>       >       >       >       >       >        frontend-id = "1"
>       >       >       >       >       >        online = "1"
>       >       >       >       >       >        state = "4"
>       >       >       >       >       >        vnc = "1"
>       >       >       >       >       >        vnclisten = "127.0.0.1"
>       >       >       >       >       >        vncdisplay = "0"
>       >       >       >       >       >        vncunused = "1"
>       >       >       >       >       >        sdl = "0"
>       >       >       >       >       >        opengl = "0"
>       >       >       >       >       >        feature-resize = "1"
>       >       >       >       >       >        hotplug-status = "connected"
>       >       >       >       >       >        request-update = "1"
>       >       >       >       >       >     vkbd = ""
>       >       >       >       >       >      1 = ""
>       >       >       >       >       >       0 = ""
>       >       >       >       >       >        frontend = "/local/domain/1/device/vkbd/0"
>       >       >       >       >       >        frontend-id = "1"
>       >       >       >       >       >        online = "1"
>       >       >       >       >       >        state = "4"
>       >       >       >       >       >        feature-abs-pointer = "1"
>       >       >       >       >       >        feature-raw-pointer = "1"
>       >       >       >       >       >        hotplug-status = "connected"
>       >       >       >       >       >     console = ""
>       >       >       >       >       >      1 = ""
>       >       >       >       >       >       0 = ""
>       >       >       >       >       >        frontend = "/local/domain/1/console"
>       >       >       >       >       >        frontend-id = "1"
>       >       >       >       >       >        online = "1"
>       >       >       >       >       >        state = "1"
>       >       >       >       >       >        protocol = "vt100"
>       >       >       >       >       >     vif = ""
>       >       >       >       >       >      1 = ""
>       >       >       >       >       >       0 = ""
>       >       >       >       >       >        frontend = "/local/domain/1/device/vif/0"
>       >       >       >       >       >        frontend-id = "1"
>       >       >       >       >       >        online = "1"
>       >       >       >       >       >        state = "4"
>       >       >       >       >       >        script = "/etc/xen/scripts/vif-bridge"
>       >       >       >       >       >        mac = "e4:5f:01:cd:7b:dd"
>       >       >       >       >       >        bridge = "xenbr0"
>       >       >       >       >       >        handle = "0"
>       >       >       >       >       >        type = "vif"
>       >       >       >       >       >        hotplug-status = "connected"
>       >       >       >       >       >        feature-sg = "1"
>       >       >       >       >       >        feature-gso-tcpv4 = "1"
>       >       >       >       >       >        feature-gso-tcpv6 = "1"
>       >       >       >       >       >        feature-ipv6-csum-offload = "1"
>       >       >       >       >       >        feature-rx-copy = "1"
>       >       >       >       >       >        feature-xdp-headroom = "1"
>       >       >       >       >       >        feature-rx-flip = "0"
>       >       >       >       >       >        feature-multicast-control = "1"
>       >       >       >       >       >        feature-dynamic-multicast-control = "1"
>       >       >       >       >       >        feature-split-event-channels = "1"
>       >       >       >       >       >        multi-queue-max-queues = "4"
>       >       >       >       >       >        feature-ctrl-ring = "1"
>       >       >       >       >       >   1 = ""
>       >       >       >       >       >    vm = "/vm/d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
>       >       >       >       >       >    name = "guest2"
>       >       >       >       >       >    cpu = ""
>       >       >       >       >       >     0 = ""
>       >       >       >       >       >      availability = "online"
>       >       >       >       >       >     1 = ""
>       >       >       >       >       >      availability = "online"
>       >       >       >       >       >    memory = ""
>       >       >       >       >       >     static-max = "2097152"
>       >       >       >       >       >     target = "2097152"
>       >       >       >       >       >     videoram = "0"
>       >       >       >       >       >    device = ""
>       >       >       >       >       >     suspend = ""
>       >       >       >       >       >      event-channel = ""
>       >       >       >       >       >     vbd = ""
>       >       >       >       >       >      51712 = ""
>       >       >       >       >       >       backend = "/local/domain/0/backend/vbd/1/51712"
>       >       >       >       >       >       backend-id = "0"
>       >       >       >       >       >       state = "4"
>       >       >       >       >       >       virtual-device = "51712"
>       >       >       >       >       >       device-type = "disk"
>       >       >       >       >       >       multi-queue-num-queues = "2"
>       >       >       >       >       >       queue-0 = ""
>       >       >       >       >       >        ring-ref = "8"
>       >       >       >       >       >        event-channel = "4"
>       >       >       >       >       >       queue-1 = ""
>       >       >       >       >       >        ring-ref = "9"
>       >       >       >       >       >        event-channel = "5"
>       >       >       >       >       >       protocol = "arm-abi"
>       >       >       >       >       >       feature-persistent = "1"
>       >       >       >       >       >     vfb = ""
>       >       >       >       >       >      0 = ""
>       >       >       >       >       >       backend = "/local/domain/0/backend/vfb/1/0"
>       >       >       >       >       >       backend-id = "0"
>       >       >       >       >       >       state = "4"
>       >       >       >       >       >       page-ref = "275022"
>       >       >       >       >       >       event-channel = "3"
>       >       >       >       >       >       protocol = "arm-abi"
>       >       >       >       >       >       feature-update = "1"
>       >       >       >       >       >     vkbd = ""
>       >       >       >       >       >      0 = ""
>       >       >       >       >       >       backend = "/local/domain/0/backend/vkbd/1/0"
>       >       >       >       >       >       backend-id = "0"
>       >       >       >       >       >       state = "4"
>       >       >       >       >       >       request-abs-pointer = "1"
>       >       >       >       >       >       page-ref = "275322"
>       >       >       >       >       >       page-gref = "1284"
>       >       >       >       >       >       event-channel = "10"
>       >       >       >       >       >     vif = ""
>       >       >       >       >       >      0 = ""
>       >       >       >       >       >       backend = "/local/domain/0/backend/vif/1/0"
>       >       >       >       >       >       backend-id = "0"
>       >       >       >       >       >       state = "4"
>       >       >       >       >       >       handle = "0"
>       >       >       >       >       >       mac = "e4:5f:01:cd:7b:dd"
>       >       >       >       >       >       mtu = "1500"
>       >       >       >       >       >       xdp-headroom = "0"
>       >       >       >       >       >       multi-queue-num-queues = "2"
>       >       >       >       >       >       queue-0 = ""
>       >       >       >       >       >        tx-ring-ref = "1280"
>       >       >       >       >       >        rx-ring-ref = "1281"
>       >       >       >       >       >        event-channel-tx = "6"
>       >       >       >       >       >        event-channel-rx = "7"
>       >       >       >       >       >       queue-1 = ""
>       >       >       >       >       >        tx-ring-ref = "1282"
>       >       >       >       >       >        rx-ring-ref = "1283"
>       >       >       >       >       >        event-channel-tx = "8"
>       >       >       >       >       >        event-channel-rx = "9"
>       >       >       >       >       >       request-rx-copy = "1"
>       >       >       >       >       >       feature-rx-notify = "1"
>       >       >       >       >       >       feature-sg = "1"
>       >       >       >       >       >       feature-gso-tcpv4 = "1"
>       >       >       >       >       >       feature-gso-tcpv6 = "1"
>       >       >       >       >       >       feature-ipv6-csum-offload = "1"
>       >       >       >       >       >    control = ""
>       >       >       >       >       >     shutdown = ""
>       >       >       >       >       >     feature-poweroff = "1"
>       >       >       >       >       >     feature-reboot = "1"
>       >       >       >       >       >     feature-suspend = ""
>       >       >       >       >       >     sysrq = ""
>       >       >       >       >       >     platform-feature-multiprocessor-suspend = "1"
>       >       >       >       >       >     platform-feature-xs_reset_watches = "1"
>       >       >       >       >       >    data = ""
>       >       >       >       >       >    drivers = ""
>       >       >       >       >       >    feature = ""
>       >       >       >       >       >    attr = ""
>       >       >       >       >       >    error = ""
>       >       >       >       >       >    domid = "1"
>       >       >       >       >       >    store = ""
>       >       >       >       >       >     port = "1"
>       >       >       >       >       >     ring-ref = "233473"
>       >       >       >       >       >    console = ""
>       >       >       >       >       >     backend = "/local/domain/0/backend/console/1/0"
>       >       >       >       >       >     backend-id = "0"
>       >       >       >       >       >     limit = "1048576"
>       >       >       >       >       >     type = "xenconsoled"
>       >       >       >       >       >     output = "pty"
>       >       >       >       >       >     tty = "/dev/pts/1"
>       >       >       >       >       >     port = "2"
>       >       >       >       >       >     ring-ref = "233472"
>       >       >       >       >       >     vnc-listen = "127.0.0.1"
>       >       >       >       >       >     vnc-port = "5900"
>       >       >       >       >       >    image = ""
>       >       >       >       >       >     device-model-pid = "788"
>       >       >       >       >       > vm = ""
>       >       >       >       >       >  d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f = ""
>       >       >       >       >       >   name = "guest2"
>       >       >       >       >       >   uuid = "d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
>       >       >       >       >       >   start_time = "1520600274.27"
>       >       >       >       >       > libxl = ""
>       >       >       >       >       >  1 = ""
>       >       >       >       >       >   device = ""
>       >       >       >       >       >    vbd = ""
>       >       >       >       >       >     51712 = ""
>       >       >       >       >       >      frontend = "/local/domain/1/device/vbd/51712"
>       >       >       >       >       >      backend = "/local/domain/0/backend/vbd/1/51712"
>       >       >       >       >       >      params = "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
>       >       >       >       >       >      script = "/etc/xen/scripts/block"
>       >       >       >       >       >      frontend-id = "1"
>       >       >       >       >       >      online = "1"
>       >       >       >       >       >      removable = "0"
>       >       >       >       >       >      bootable = "1"
>       >       >       >       >       >      state = "1"
>       >       >       >       >       >      dev = "xvda"
>       >       >       >       >       >      type = "phy"
>       >       >       >       >       >      mode = "w"
>       >       >       >       >       >      device-type = "disk"
>       >       >       >       >       >      discard-enable = "1"
>       >       >       >       >       >    vfb = ""
>       >       >       >       >       >     0 = ""
>       >       >       >       >       >      frontend = "/local/domain/1/device/vfb/0"
>       >       >       >       >       >      backend = "/local/domain/0/backend/vfb/1/0"
>       >       >       >       >       >      frontend-id = "1"
>       >       >       >       >       >      online = "1"
>       >       >       >       >       >      state = "1"
>       >       >       >       >       >      vnc = "1"
>       >       >       >       >       >      vnclisten = "127.0.0.1"
>       >       >       >       >       >      vncdisplay = "0"
>       >       >       >       >       >      vncunused = "1"
>       >       >       >       >       >      sdl = "0"
>       >       >       >       >       >      opengl = "0"
>       >       >       >       >       >    vkbd = ""
>       >       >       >       >       >     0 = ""
>       >       >       >       >       >      frontend = "/local/domain/1/device/vkbd/0"
>       >       >       >       >       >      backend = "/local/domain/0/backend/vkbd/1/0"
>       >       >       >       >       >      frontend-id = "1"
>       >       >       >       >       >      online = "1"
>       >       >       >       >       >      state = "1"
>       >       >       >       >       >    console = ""
>       >       >       >       >       >     0 = ""
>       >       >       >       >       >      frontend = "/local/domain/1/console"
>       >       >       >       >       >      backend = "/local/domain/0/backend/console/1/0"
>       >       >       >       >       >      frontend-id = "1"
>       >       >       >       >       >      online = "1"
>       >       >       >       >       >      state = "1"
>       >       >       >       >       >      protocol = "vt100"
>       >       >       >       >       >    vif = ""
>       >       >       >       >       >     0 = ""
>       >       >       >       >       >      frontend = "/local/domain/1/device/vif/0"
>       >       >       >       >       >      backend = "/local/domain/0/backend/vif/1/0"
>       >       >       >       >       >      frontend-id = "1"
>       >       >       >       >       >      online = "1"
>       >       >       >       >       >      state = "1"
>       >       >       >       >       >      script = "/etc/xen/scripts/vif-bridge"
>       >       >       >       >       >      mac = "e4:5f:01:cd:7b:dd"
>       >       >       >       >       >      bridge = "xenbr0"
>       >       >       >       >       >      handle = "0"
>       >       >       >       >       >      type = "vif"
>       >       >       >       >       >      hotplug-status = ""
>       >       >       >       >       >   type = "pvh"
>       >       >       >       >       >   dm-version = "qemu_xen"
>       >       >       >       >       > root@raspberrypi4-64:~/guest1#
>       >       >       >       >       >
>       >       >       >       >       > Any input as per above? Looking forward to hearing from you.
>       >       >       >       >       >
>       >       >       >       >       > Regards,
>       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >
>       >       >       >       >       > On Wed, Oct 26, 2022 at 5:21 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       >       >       Hi Vipul,
>       >       >       >       >       >
>       >       >       >       >       >       If you look at the QEMU logs, it says:
>       >       >       >       >       >
>       >       >       >       >       >       VNC server running on 127.0.0.1:5900
>       >       >       >       >       >
>       >       >       >       >       >       That is the VNC server you need to connect to. So in theory:
>       >       >       >       >       >
>       >       >       >       >       >         vncviewer 127.0.0.1:5900
>       >       >       >       >       >
>       >       >       >       >       >       should work correctly.
>       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >       >       If you have:
>       >       >       >       >       >
>       >       >       >       >       >         vfb = ["type=vnc"]
>       >       >       >       >       >
>       >       >       >       >       >       in your xl config file and you have "fbdev" in your Linux guest, it
>       >       >       >       >       >       should work.
>       >       >       >       >       >
>       >       >       >       >       >       If you connect to the VNC server but you get a black screen, it might be
>       >       >       >       >       >       a guest configuration issue. I would try with a simpler guest, text only
>       >       >       >       >       >       (no X11, no Wayland) and enable the fbdev console (fbcon). See
>       >       >       >       >       >       Documentation/fb/fbcon.rst in Linux. You should be able to see a
>       >       >       >       >       >       graphical console over VNC.
>       >       >       >       >       >
>       >       >       >       >       >       If that works, then you know that the fbdev kernel driver (xen-fbfront)
>       >       >       >       >       >       works correctly.
>       >       >       >       >       >
>       >       >       >       >       >       If it doesn't work, the output of "xenstore-ls" would be interesting.
>       >       >       >       >       >
>       >       >       >       >       >       Cheers,
>       >       >       >       >       >
>       >       >       >       >       >       Stefano
>       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >       >       On Wed, 19 Oct 2022, Vipul Suneja wrote:
>       >       >       >       >       >       > Hi Stefano,
>       >       >       >       >       >       >
>       >       >       >       >       >       > Thanks for the response!
>       >       >       >       >       >       >
>       >       >       >       >       >       > I am following the same link you shared from the beginning. Tried the command
>       "vncviewer
>       >       localhost:0"
>       >       >       in DOM0
>       >       >       >       but
>       >       >       >       >       same
>       >       >       >       >       >       issue "Can't open
>       >       >       >       >       >       > display", below are the logs:
>       >       >       >       >       >       >
>       >       >       >       >       >       > root@raspberrypi4-64:~# vncviewer localhost:0
>       >       >       >       >       >       >
>       >       >       >       >       >       > TigerVNC Viewer 64-bit v1.11.0
>       >       >       >       >       >       > Built on: 2020-09-08 12:16
>       >       >       >       >       >       > Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst)
>       >       >       >       >       >       > See https://www.tigervnc.org for information on TigerVNC.
>       >       >       >       >       >       > Can't open display:
>       >       >       >       >       >       >
>       >       >       >       >       >       > Below are the netstat logs, i couldn't see anything running at port 5900 or 5901:
>       >       >       >       >       >       >
>       >       >       >       >       >       > root@raspberrypi4-64:~# netstat -tuwx
>       >       >       >       >       >       > Active Internet connections (w/o servers)
>       >       >       >       >       >       > Proto Recv-Q Send-Q Local Address           Foreign Address         State      
>       >       >       >       >       >       > tcp        0    164 192.168.1.39:ssh        192.168.1.38:37472      ESTABLISHED
>       >       >       >       >       >       > Active UNIX domain sockets (w/o servers)
>       >       >       >       >       >       > Proto RefCnt Flags       Type       State         I-Node Path
>       >       >       >       >       >       > unix  8      [ ]         DGRAM      CONNECTED      10565 /dev/log
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10891 /var/run/xenstored/socket
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13791
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10843 /var/run/xenstored/socket
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10573 /var/run/xenstored/socket
>       >       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14510
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13249
>       >       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      13887
>       >       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      10599
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14005
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13258
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13248
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14003
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10572 /var/run/xenstored/socket
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10786 /var/run/xenstored/socket
>       >       >       >       >       >       > unix  3      [ ]         DGRAM      CONNECTED      13186
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10864 /var/run/xenstored/socket
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10812 /var/run/xenstored/socket
>       >       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14083
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10813 /var/run/xenstored/socket
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14068
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13256
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10571 /var/run/xenstored/socket
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10842
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13985
>       >       >       >       >       >       > unix  3      [ ]         DGRAM      CONNECTED      13185
>       >       >       >       >       >       > unix  2      [ ]         STREAM     CONNECTED      13884
>       >       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14528
>       >       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      13785
>       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14034
>       >       >       >       >       >       >
>       >       >       >       >       >       > Attaching xen log files of /var/log/xen.
>       >       >       >       >       >       > I didn't get the role of QEMU here because as mentioned earlier, I am porting in
>       raspberrypi
>       >       4B.
>       >       >       >       >       >       >
>       >       >       >       >       >       > Regards,
>       >       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >       >
>       >       >       >       >       >       > On Wed, Oct 19, 2022 at 12:43 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       >       >       >       It usually works the way it is described in the guide:
>       >       >       >       >       >       >
>       >       >       >       >       >       >     
>       >       >       >       >       >     
>       >       >       >       >     
>       >       >       >     
>       >       >     
>       >     
>             https://www.virtuatopia.com/index.php?title=Configuring_a_VNC_based_Graphical_Console_for_a_Xen_Paravirtualized_domainU_Guest
>       >       >       >       >       >       >
>       >       >       >       >       >       >       You don't need to install any VNC-related server software because it is
>       >       >       >       >       >       >       already provided by Xen (to be precise it is provided by QEMU working
>       >       >       >       >       >       >       together with Xen.)
>       >       >       >       >       >       >
>       >       >       >       >       >       >       You only need the vnc client in dom0 so that you can connect, but you
>       >       >       >       >       >       >       could also run the vnc client outside from another host. So basically
>       >       >       >       >       >       >       the following should work when executed in Dom0 after creating DomU:
>       >       >       >       >       >       >
>       >       >       >       >       >       >         vncviewer localhost:0
>       >       >       >       >       >       >
>       >       >       >       >       >       >       Can you attach the Xen and QEMU logs (/var/log/xen/*)? And also use
>       >       >       >       >       >       >       netstat -taunp to check if there is anything running at port 5900 or
>       >       >       >       >       >       >       5901?
>       >       >       >       >       >       >
>       >       >       >       >       >       >       Cheers,
>       >       >       >       >       >       >
>       >       >       >       >       >       >       Stefano
>       >       >       >       >       >       >
>       >       >       >       >       >       >
>       >       >       >       >       >       >       On Tue, 18 Oct 2022, Vipul Suneja wrote:
>       >       >       >       >       >       >       > Hi Stefano,
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > Thanks for the response!
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > I could install tigerVNC, x11vnc & libvncserver in Dom0 xen-image-minimal but
>       only
>       >       manage to
>       >       >       install
>       >       >       >       >       >       libvncserver(couldn't
>       >       >       >       >       >       >       install tigervnc
>       >       >       >       >       >       >       > & x11vnc because of x11
>       >       >       >       >       >       >       > support missing, it's wayland) in DOMU custom graphical image. I tried
>       running
>       >       vncviewer with
>       >       >       IP
>       >       >       >       address &
>       >       >       >       >       port
>       >       >       >       >       >       in dom0 to
>       >       >       >       >       >       >       access the domu
>       >       >       >       >       >       >       > graphical image display as per below commands.
>       >       >       >       >       >       >       >  
>       >       >       >       >       >       >       >  vncviewer 192.168.1.42:5901
>       >       >       >       >       >       >       >  
>       >       >       >       >       >       >       >  But it showing can't open display, below are the logs:
>       >       >       >       >       >       >       >  
>       >       >       >       >       >       >       > root@raspberrypi4-64:~/guest1# vncviewer 192.168.1.42:5901
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > TigerVNC Viewer 64-bit v1.11.0
>       >       >       >       >       >       >       > Built on: 2020-09-08 12:16
>       >       >       >       >       >       >       > Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst)
>       >       >       >       >       >       >       > See https://www.tigervnc.org for information on TigerVNC.
>       >       >       >       >       >       >       > Can't open display:
>       >       >       >       >       >       >       > root@raspberrypi4-64:~/guest1#
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > I am not exactly sure what the issue is but I thought only libvncserver in
>       DOMU could
>       >       work to
>       >       >       get
>       >       >       >       access but
>       >       >       >       >       it
>       >       >       >       >       >       did not
>       >       >       >       >       >       >       work. 
>       >       >       >       >       >       >       > If TigerVNC is the issue here then is there any other VNC source which could
>       be
>       >       installed for
>       >       >       both
>       >       >       >       x11 &
>       >       >       >       >       >       wayland supported
>       >       >       >       >       >       >       images?
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > Regards,
>       >       >       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > On Tue, Oct 18, 2022 at 2:40 AM Stefano Stabellini <sstabellini@kernel.org>
>       wrote:
>       >       >       >       >       >       >       >       VNC is typically easier to setup, because SDL needs extra libraries at
>       >       >       >       >       >       >       >       build time and runtime. If QEMU is built without SDL support it won't
>       >       >       >       >       >       >       >       start when you ask for SDL.
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       VNC should work with both x11 and wayland in your domU. It doesn't work
>       >       >       >       >       >       >       >       at the x11 level, it exposes a special fbdev device in your domU that
>       >       >       >       >       >       >       >       should work with:
>       >       >       >       >       >       >       >       - a graphical console in Linux domU
>       >       >       >       >       >       >       >       - x11
>       >       >       >       >       >       >       >       - wayland (but I haven't tested this so I am not 100% sure about it)
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       When you say "it doesn't work", what do you mean? Do you get a black
>       >       >       >       >       >       >       >       window?
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       You need CONFIG_XEN_FBDEV_FRONTEND in Linux domU
>       >       >       >       >       >       >       >       (drivers/video/fbdev/xen-fbfront.c). I would try to get a graphical
>       text
>       >       >       >       >       >       >       >       console up and running in your domU before attempting x11/wayland.
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       Cheers,
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       Stefano
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       On Mon, 17 Oct 2022, Vipul Suneja wrote:
>       >       >       >       >       >       >       >       > Hi,
>       >       >       >       >       >       >       >       > Thanks!
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       > I have ported xen minimal image as DOM0 & custom wayland GUI based
>       image as
>       >       DOMU in
>       >       >       raspberry
>       >       >       >       pi4B. I
>       >       >       >       >       >       am trying to
>       >       >       >       >       >       >       make GUI
>       >       >       >       >       >       >       >       display up
>       >       >       >       >       >       >       >       > for guest machine. I tried using sdl, included below line in
>       guest.conf file
>       >       >       >       >       >       >       >       > vfb= [ 'sdl=1' ]
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       > But it is throwing below error:
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       > root@raspberrypi4-64:~/guest1# xl create -c guest1.cfg
>       >       >       >       >       >       >       >       > Parsing config from guest1.cfg
>       >       >       >       >       >       >       >       > libxl: error: libxl_qmp.c:1400:qmp_ev_fd_callback: Domain 3:error on
>       QMP
>       >       socket:
>       >       >       Connection
>       >       >       >       reset by
>       >       >       >       >       >       peer
>       >       >       >       >       >       >       >       > libxl: error: libxl_qmp.c:1439:qmp_ev_fd_callback: Domain 3:Error
>       happened
>       >       with the
>       >       >       QMP
>       >       >       >       connection to
>       >       >       >       >       >       QEMU
>       >       >       >       >       >       >       >       > libxl: error: libxl_dm.c:3351:device_model_postconfig_done: Domain
>       3:Post DM
>       >       startup
>       >       >       configs
>       >       >       >       failed,
>       >       >       >       >       >       rc=-26
>       >       >       >       >       >       >       >       > libxl: error: libxl_create.c:1867:domcreate_devmodel_started: Domain
>       3:device
>       >       model
>       >       >       did not
>       >       >       >       start:
>       >       >       >       >       -26
>       >       >       >       >       >       >       >       > libxl: error: libxl_aoutils.c:646:libxl__kill_xs_path: Device Model
>       already
>       >       exited
>       >       >       >       >       >       >       >       > libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain
>       3:Non-existant
>       >       domain
>       >       >       >       >       >       >       >       > libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain
>       3:Unable to
>       >       destroy
>       >       >       guest
>       >       >       >       >       >       >       >       > libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain
>       3:Destruction of
>       >       domain
>       >       >       failed
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       > Another way is VNC, i could install tigervnc in DOM0 but same i
>       couldn't in
>       >       guest
>       >       >       machine
>       >       >       >       because it
>       >       >       >       >       >       doesn't support
>       >       >       >       >       >       >       >       x11(supports wayland
>       >       >       >       >       >       >       >       > only). I am completely blocked here, Need your support to enable the
>       display
>       >       up.
>       >       >       >       >       >       >       >       > Any alternative of VNC which could work in both x11 & wayland
>       supported
>       >       images?
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       > Any input on VNC, SDL or any other way to proceed on this? Looking
>       forward to
>       >       hearing
>       >       >       from
>       >       >       >       you.
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       > Regards,
>       >       >       >       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >
>       >       >       >       >       >       >
>       >       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >
>       >       >       >       >
>       >       >       >       >
>       >       >       >
>       >       >       >
>       >       >       >
>       >       >
>       >       >
>       >       >
>       >
>       >
>       >
> 
> 
> 
--8323329-412796817-1671058004=:315094--


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:12:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:12:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462660.720818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avU-0000HD-9H; Wed, 14 Dec 2022 23:12:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462660.720818; Wed, 14 Dec 2022 23:12:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avU-0000H4-4j; Wed, 14 Dec 2022 23:12:36 +0000
Received: by outflank-mailman (input) for mailman id 462660;
 Wed, 14 Dec 2022 23:12:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5avS-0000Gw-LL
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 23:12:34 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c899c716-7c04-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 00:12:32 +0100 (CET)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.west.internal (Postfix) with ESMTP id B374432001BB;
 Wed, 14 Dec 2022 18:12:28 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Wed, 14 Dec 2022 18:12:29 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 18:12:27 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c899c716-7c04-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1671059548; x=1671145948; bh=oBs0Nh08AHKYnmyQrNDqmx3RO20Y4UzhoQp
	HA2sg6Bc=; b=E2RVk1agIwg6+khCiCUNwKcK9VO7eVnXaEpm7Bp9Rxre2pnh/A0
	HE5VgpA/UN9XzjWSqVc9u31hXwj0MFwCldMphTYZ2snsyvYJ1XNZzh76n18DJYOg
	a6H99iuzxCTG9I7zHh4uylNo1XfS2GM7ti5CtrWM14TU+/uC4z+CMa5fXihp7MBW
	GANBKuApyfBX+2nqQqdfLRlBVVF/OBiYcFGhhovc2PNOR1IgUYReDFOGezql7UN4
	QTHXWNAvEDLrK3N3l9oacWItG6uuqcSvTzJlozeVsS8agLDS93UD+zS94M+ah+U4
	WHG/THjAYVrboYZ+9n+3DVpQK/PUy46wvNA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671059548; x=1671145948; bh=oBs0Nh08AHKYn
	myQrNDqmx3RO20Y4UzhoQpHA2sg6Bc=; b=RPE32msAX75qqO+jub+J9oQCpiubd
	5SrUz5SvkyP+pF733K/xYtg7/7CXSkDc4/227T5c+r+o36jTXbi3kuuSboKNYV6H
	0ao4rzn/zztg9PA7LbtDT+g8o0/Y5axxPrWTYG223Qf3vUTzj0CWK9t1tKwin6dV
	HBz1Tnx0mra+hr/+7J089sduR+fcn62vyDcGLpfBZwfDbHc56c7zggV1CGQkD0Fp
	6SwxIk1KYTueEDCslSnPszitKvAtnpLjL/6N3Qq4jR9+eoWA9ztVgSuV/crpyDW4
	rni5Lri2FlvMUvrrr1r2hWt6SFR2cqz76Bp8OqNR5Xzho8y0jNlLf4TZw==
X-ME-Sender: <xms:XFiaYw7N-wh7NidP7_M2K9qcp7JqGt0PSGwax_ktamjtDEylbYPrYQ>
    <xme:XFiaYx7_ToKq06OZIP7YhQUDuBNxx6XgAxdPrWgpE6pVCDLN9TIP9RgHz7To2_GzM
    txAYgluZ7pFrLs>
X-ME-Received: <xmr:XFiaY_fr358cFnbtipi22J6vmKoDnTsc3nQlhqqhSJSC9ycfzR7mdz3Ext6WtUMUpF47slfPUoNQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeggddtgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomhepffgvmhhiucfo
    rghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomheqnecuggftrfgrthhtvghrnhephfeggfeiiedtieejgedutdekgfetgeeh
    heegteekvefhfefgudehtdevleegueegnecuvehluhhsthgvrhfuihiivgeptdenucfrrg
    hrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgr
    sgdrtghomh
X-ME-Proxy: <xmx:XFiaY1LO7j4iP-4GuUVDOWSyajANnvhza_EpiX-yj5ROyuI4KYF5uw>
    <xmx:XFiaY0JJ5-RWae9VoipE5FhxJuT9aZYJ7CvJ6GmWwFF7Mlc1pHY6rQ>
    <xmx:XFiaY2wZCohMnZrzu_97ayaiH1mlZRKekjvKrw9mBJZ38cdu5HtdVw>
    <xmx:XFiaYz_ATRv6XjI19Qp6y27wf2U77qpxkvUQLOzbAbKgrQQHHuUOVQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v3 00/12] Make PAT handling less brittle
Date: Wed, 14 Dec 2022 18:11:50 -0500
Message-Id: <cover.1671057808.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

While working on Qubes OS Marek found out that there were some PAT hacks
in the Linux i195 driver.  I decided to make Xen use Linux’s PAT to see
if it solved the graphics glitches that were observed; it did.  This
required a substantial amount of preliminary work that is useful even
without using Linux’s PAT.

Patches 1 through 11 are the preliminary work and I would like them to
be accepted into upstream Xen.  Patch 11 does break ABI by rejecting the
unused PAT entries, but this will only impact buggy PV guests and can be
disabled with a Xen command-line option.  Patch 14 actually switches to
Linux’s PAT and is NOT intended to be merged (at least for now) as it
would at a minimum break migration of PV guests from hosts that do not
have the patch.

Demi Marie Obenour (12):
  x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
  p2m-pt: Avoid hard-coding Xen's PAT
  efi: Avoid hard-coding the various PAT constants
  x86: Add memory type constants
  x86: Replace PAT_* with X86_MT_*
  x86: Replace MTRR_* constants with X86_MT_* constants
  x86: Replace EPT_EMT_* constants with X86_MT_*
  x86: Remove MEMORY_NUM_TYPES and NO_HARDCODE_MEM_TYPE
  x86: Derive XEN_MSR_PAT from its individual entries
  x86/mm: make code robust to future PAT changes
  x86/mm: Reject invalid cacheability in PV guests by default
  x86: Use Linux's PAT

 xen/arch/x86/cpu/mtrr/generic.c         |  10 +--
 xen/arch/x86/cpu/mtrr/main.c            |  26 +++---
 xen/arch/x86/e820.c                     |   4 +-
 xen/arch/x86/hvm/hvm.c                  |  12 +--
 xen/arch/x86/hvm/mtrr.c                 | 100 ++++++++++++------------
 xen/arch/x86/hvm/vmx/vmcs.c             |   2 +-
 xen/arch/x86/hvm/vmx/vmx.c              |  18 ++---
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |   2 +-
 xen/arch/x86/include/asm/hvm/vmx/vmx.h  |   9 ---
 xen/arch/x86/include/asm/mtrr.h         |  22 +-----
 xen/arch/x86/include/asm/page.h         |   4 +-
 xen/arch/x86/include/asm/processor.h    |  15 ++--
 xen/arch/x86/include/asm/x86-defns.h    |  11 +++
 xen/arch/x86/mm.c                       |  80 +++++++++++++++++--
 xen/arch/x86/mm/hap/nested_ept.c        |   4 +-
 xen/arch/x86/mm/p2m-ept.c               |  51 ++++++------
 xen/arch/x86/mm/p2m-pt.c                |   6 +-
 xen/arch/x86/mm/shadow/multi.c          |   8 +-
 xen/common/efi/boot.c                   |  12 +--
 19 files changed, 226 insertions(+), 170 deletions(-)

-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:12:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:12:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462663.720850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avd-00018C-Ve; Wed, 14 Dec 2022 23:12:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462663.720850; Wed, 14 Dec 2022 23:12:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avd-000185-Sx; Wed, 14 Dec 2022 23:12:45 +0000
Received: by outflank-mailman (input) for mailman id 462663;
 Wed, 14 Dec 2022 23:12:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5avc-0000n2-Ft
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 23:12:44 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cfc51b6a-7c04-11ed-8fd2-01056ac49cbb;
 Thu, 15 Dec 2022 00:12:43 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 68AB632001BB;
 Wed, 14 Dec 2022 18:12:41 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Wed, 14 Dec 2022 18:12:42 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 18:12:40 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfc51b6a-7c04-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1671059561; x=1671145961; bh=7EZIiV8PP0oaWDOsX65nf5iok66St8LLUGA
	z0M5tZno=; b=qjxTwpDa7i7BtYYTkp2Zw0Y2tY0kNiv5qJcYVmceEbuNqsXvzNf
	6QzULaRkmnkgrZIP7jIUlY9Z20QNcrBSouNqKXXvHHBWewbVTf1+VwVw2EkusgcK
	Vi70lZtKRsHue2Ec4bPEIAq8O0eODO2sS1VHX6G9yFCJ7AlLg3q10EEsdQtN9aWr
	1Ap3fiHeblMnFCAM1n0SNjbiK3NzMdDfzV5olmdVYxg/EngTW2NPAmZo86Zo/yOo
	j25iMoCSGOKQZFCphSIPwzWe3xRRCbFGWamXdTUZYWBvXzQOjjCrdOwiugyRU690
	/B15C9rq6zbYgIn6iTc3RobUEt01P6Gn/TQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671059561; x=1671145961; bh=7EZIiV8PP0oaW
	DOsX65nf5iok66St8LLUGAz0M5tZno=; b=GRCugvKb2g0jKBp5jG0fvCcdSOYAo
	6R7LoP98PY3su95ddtCEr06n4CuGWHPpx+RcKt0YNtOifFaltC83PIqcmo/mD9b3
	4TLlbRoyNmGQJUuFq07uFQ9yd5YHtyXh2f211Xxvmgtiain0kh+Ndz9IAraJfPc+
	9YXx5kzGMjJQ2w80GCGEuGl01AoDSkCtq9fHk6SRiujh8WGFXspPu3T/keWQhTgb
	wGo7tQnSz1zLDN7x3WGq4CVqTBhJois7SdQGM2GNjlUJtfwSN8WDf7GdS/4NG8z4
	rJrwjh6huR8zb/sBlI2fx0qvCOfw58Gyb1VoVouC9bho+BCQ24ZEC9Yzg==
X-ME-Sender: <xms:aFiaY5l1wBzw90C7kd9u6tWdKqCkd6AGBsjPtt2Tgn9z70FPZLuShg>
    <xme:aFiaY02km4afB08abLvraf_BVITkIHeR_yJ0jUc6cYOjQBG3CkYi6gXbEqMS3BuFs
    SxkC6muCcdFSUg>
X-ME-Received: <xmr:aFiaY_p6Plr9lkzMWCqExN96x9YNRAJNBsufQ8vB4MjT-iRh_q6UUadux-QahuBzFVqAaSfiuj-A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeggddtgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedunecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:aFiaY5lkcv4Pkg4DTJDmbPhqmhG8iTbiIuYzRk_lnUi7KiVbEPXOoA>
    <xmx:aFiaY30PZsT7-iDQxZfRM679ExK6QP-OFJPOpc6Xotvmos2GvfrRPA>
    <xmx:aFiaY4uCgX-K_g_nLnXaT0mrhXn9Cf4BL8CQZJ43lUp5TH-P3e23KA>
    <xmx:aViaYwIWyhfklpYg7baRZNpVjyezRXDxfd2vcr7xCiMpgfassyCckw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v3 03/12] efi: Avoid hard-coding the various PAT constants
Date: Wed, 14 Dec 2022 18:11:53 -0500
Message-Id: <042c48cbf2fd4099aa3892a09302d499bbeef7fb.1671057808.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671057808.git.demi@invisiblethingslab.com>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This makes the code much easier to understand, and avoids problems if
Xen's PAT ever changes in the future.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
 xen/common/efi/boot.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index d521b47bc6d9513ca6e65c3170abb94881a71910..e1248d63e7f99d598a6b1df04e34ed34ed0b6910 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -1748,23 +1748,23 @@ void __init efi_init_memory(void)
         emfn = PFN_UP(desc->PhysicalStart + len);
 
         if ( desc->Attribute & EFI_MEMORY_WB )
-            /* nothing */;
+            prot |= _PAGE_WB;
         else if ( desc->Attribute & EFI_MEMORY_WT )
-            prot |= _PAGE_PWT | MAP_SMALL_PAGES;
+            prot |= _PAGE_WT | MAP_SMALL_PAGES;
         else if ( desc->Attribute & EFI_MEMORY_WC )
-            prot |= _PAGE_PAT | MAP_SMALL_PAGES;
+            prot |= _PAGE_WC | MAP_SMALL_PAGES;
         else if ( desc->Attribute & (EFI_MEMORY_UC | EFI_MEMORY_UCE) )
-            prot |= _PAGE_PWT | _PAGE_PCD | MAP_SMALL_PAGES;
+            prot |= _PAGE_UC | MAP_SMALL_PAGES;
         else if ( efi_bs_revision >= EFI_REVISION(2, 5) &&
                   (desc->Attribute & EFI_MEMORY_WP) )
-            prot |= _PAGE_PAT | _PAGE_PWT | MAP_SMALL_PAGES;
+            prot |= _PAGE_WP | MAP_SMALL_PAGES;
         else
         {
             printk(XENLOG_ERR "Unknown cachability for MFNs %#lx-%#lx%s\n",
                    smfn, emfn - 1, efi_map_uc ? ", assuming UC" : "");
             if ( !efi_map_uc )
                 continue;
-            prot |= _PAGE_PWT | _PAGE_PCD | MAP_SMALL_PAGES;
+            prot |= _PAGE_UC | MAP_SMALL_PAGES;
         }
 
         if ( desc->Attribute & (efi_bs_revision < EFI_REVISION(2, 5)
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:12:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:12:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462662.720840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avZ-0000nu-Nb; Wed, 14 Dec 2022 23:12:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462662.720840; Wed, 14 Dec 2022 23:12:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avZ-0000nn-Kk; Wed, 14 Dec 2022 23:12:41 +0000
Received: by outflank-mailman (input) for mailman id 462662;
 Wed, 14 Dec 2022 23:12:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5avZ-0000n2-3X
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 23:12:41 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd9a8f65-7c04-11ed-8fd2-01056ac49cbb;
 Thu, 15 Dec 2022 00:12:40 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id C3A6C320055E;
 Wed, 14 Dec 2022 18:12:37 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Wed, 14 Dec 2022 18:12:38 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 18:12:36 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd9a8f65-7c04-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1671059557; x=1671145957; bh=aWoaeexOsevKUuSJawe3x9dsZCT9K2E19kY
	rYrNtZzk=; b=uirJ4be71n0cNmo3nf4DqD6DhXpfqt9e8iGSpEwVkR5n7IwslH/
	gnj2kh1WJ96xnxoS23EPiY7YI1FiH7s5aAYJi7E/ZyWwJ3/155Qzp9bP3JbS2n9t
	8o3jxT0PVtJ1GSsSg05k3hV5gPgSRvJjUv4BtUwpz46GW76adiXD0rVZcuLyBHAo
	tyYMF5WLP5N0j08OeRUndRtCwY/PQUyuVMYZZJF85YsDwks0IAXVd9ixlZw7xQQn
	2cl74/xKhiZaqPunxUHeohMsHzASenilOQpPF0pp7GtIIjgzZQFlSWfCgFWMJ8P0
	XieyeNgRndkr5qHUkusWIbyzit54XsRfV5Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671059557; x=1671145957; bh=aWoaeexOsevKU
	uSJawe3x9dsZCT9K2E19kYrYrNtZzk=; b=t8I9R8hXAuobHi7naP00EAXF8aN0I
	HieOgzalkA5o43720V1XXwhcuHb7b01jio0o5zmrxLsBCwC2Ly9/tYgF/Jn1rsEA
	qGT7XSL0ocPoGvgk/S7Ry60Ieputf7OakrMiZMqHy1/YDxU/kHtEEWe2XJKDcmXu
	EgRzCCWS3D00hQYsd5dNorlQW2N9Jeba6AmPTLfErQWGz2cjPV8AbKOq9Pge4ahO
	2cAXHjKLrieHO6nIHAMVakv5eiIWSitnaKY3dQLUnMdybTT9+gxKRlbd8+5OoTRY
	fclzMWXBCoM35LWhiya8LxnSpOBmD3P4uTd19A350CFuBz+xeugQHLtow==
X-ME-Sender: <xms:ZViaY26NjmL69YHvyT-3LkqM4h8pB7lEuGgsGSohCWlqa7QIdrf0wg>
    <xme:ZViaY_4nIRem5gAmhvhlQBTYy2eztYvK86pPEoBDfCZaHjiCugF-tdNKPtdGkJ8Gv
    GFJcQuqcCKawM8>
X-ME-Received: <xmr:ZViaY1eTlLzZPvGAHqyZgWcSsEIgddv6gQt1Sa-47Nq8x-k39aYkKyEB_fzJ72qx52I-SD_pQL7R>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeggddtgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:ZViaYzJSulKjk919-pqitv8Uhdmov-_6IwOP2bFHYrK1ge-ZuXdKjQ>
    <xmx:ZViaY6Kvif2AUf0nn-nSMNbgdw_EB4sGLXB_nQ258DPbOTMDg8odAA>
    <xmx:ZViaY0zwqY30BQd4gDji6E4qYq1jwiBJ04cJbvbXnfmvHz4gZnJsHg>
    <xmx:ZViaY5__-qX4xGHDK0WJqFDNC4k4HOghBre7a23Px8_sCIPwx3J3fA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v3 02/12] p2m-pt: Avoid hard-coding Xen's PAT
Date: Wed, 14 Dec 2022 18:11:52 -0500
Message-Id: <a9d9fff6a4fe41b16ef7ce0794a85d8754524c3c.1671057808.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671057808.git.demi@invisiblethingslab.com>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This makes the code much easier to understand.  No functional change
intended.  As per Andrew Cooper, the existing logic is questionable, but
this does not make it any worse.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/arch/x86/mm/p2m-pt.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index eaba2b0fb4e6830f52b7d112fba8175dfe6d2770..cd1af33b6772ab1016e8d4c3284a6bc5d282869d 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -99,13 +99,13 @@ static unsigned long p2m_type_to_flags(const struct p2m_domain *p2m,
         return flags | P2M_BASE_FLAGS | _PAGE_RW | _PAGE_NX_BIT;
     case p2m_mmio_direct:
         if ( !rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)) )
-            flags |= _PAGE_RW;
+            flags |= _PAGE_RW | _PAGE_UCM;
         else
         {
-            flags |= _PAGE_PWT;
+            flags |= _PAGE_UC;
             ASSERT(!level);
         }
-        return flags | P2M_BASE_FLAGS | _PAGE_PCD;
+        return flags | P2M_BASE_FLAGS;
     }
 }
 
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:12:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:12:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462661.720829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avV-0000Wh-GT; Wed, 14 Dec 2022 23:12:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462661.720829; Wed, 14 Dec 2022 23:12:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avV-0000WX-D3; Wed, 14 Dec 2022 23:12:37 +0000
Received: by outflank-mailman (input) for mailman id 462661;
 Wed, 14 Dec 2022 23:12:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5avU-0000Gw-F4
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 23:12:36 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cae697d8-7c04-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 00:12:35 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 448503200495;
 Wed, 14 Dec 2022 18:12:33 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Wed, 14 Dec 2022 18:12:34 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 18:12:31 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cae697d8-7c04-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1671059552; x=1671145952; bh=e6bEQ7cyuv0fw5IP1zcDCnUrggycZ9qD2rR
	Jl6yeW5Y=; b=MWJa8k8uwjFe7AmLq/7HforeY9j6EuoB6uq2xIKaA1vTv//NQ+j
	WwuzEpRUn5yeV7Eq5K+ueyyQCwJeltc5fXtb1UZC/lXb53uI6TpY5hThYyDFoo3q
	ouSa6O7e9lCqPAD8jFU7BTcDgYs+OCV8ayOuIW4Ox/eHMMNLNmJjmgewcA00VhHg
	MBFy6eEHevwwFXdwnLeC1pm6sg6PMauDsVKLCEilc7d2ZgPCgMTdkLGgR6MFyWQ/
	dWDar3FDXacJyjxZNqUH0FbKtYu2ZX29U1WgYom+CggwP4H/SeLsCfVnsfpRyzbJ
	FptjCbvOjsjJb6entBtYrlIVLb2EB3LkaCg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671059552; x=1671145952; bh=e6bEQ7cyuv0fw
	5IP1zcDCnUrggycZ9qD2rRJl6yeW5Y=; b=cweWERN0Yq6xIQzjBlj62qz+4GH96
	T7CGEm620X//ZkozuEn7dRweEqyDYzDudLz4Rs3tqRIvk3PLsBVdBadCS7s8ZvYA
	9N2BrTsVoPPjsqOdscPWkoqJjuNesiMiAo4BFmReDa2HuBY0VzX2DoP9EI1PfYi6
	owQbjF5jnlct83o/etUPe0hyhZvpymU90ABCryGheXmkWTjl9Oi4gijE5mpNB1qt
	tLEyTait9haHncrijfw9/1dfO/gRvltWDZMqlrJLE787ECSbJiyvyO35o6jy4591
	ybKkionLTjCThXku2Rz5+dyivh/e/TVEhW1gL+IWSsLDrgaNW2OI03Q2g==
X-ME-Sender: <xms:YFiaY1FsMyu_xuIRYBoCjmYjh4GGFXttF9nq9ckWSUEvs2RB4B489w>
    <xme:YFiaY6UA2PiJwJMKH7xCq424aQe612lCLLVHXVVPM9l2M4I_PsVsafue-tL7cD3mw
    NG4BWYihdrrCYE>
X-ME-Received: <xmr:YFiaY3LcCKqK2XcchcqC8gRSOLFm4xr_Z7yl6hNnJKCNezB22L9AbJ6HhaUV8cRzV4Zk6j4xikpY>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeggddtgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:YFiaY7G0z7UhldXfTuk0gr62YqxJRqzgoVVwvLsXhyna3EuqVim8ig>
    <xmx:YFiaY7W5NlPlBe7jQ5VsZtifUVvlSxlyoiKDD09YLEmuDhTzm5ccAA>
    <xmx:YFiaY2NM6ELiQWPSJ9Trwdfw6U-f7LmfnVmlB7zI_HyvnkRgyl_udg>
    <xmx:YFiaY3rFTxmtEic_73qL4104nZ45RJCB-bbTCGAeps2QagRf-xYH3A>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v3 01/12] x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
Date: Wed, 14 Dec 2022 18:11:51 -0500
Message-Id: <6a0d969d0aade0258e108009ef33ad5d2663e969.1671057808.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671057808.git.demi@invisiblethingslab.com>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

get_page_from_l1e() relied on Xen's choice of PAT, which is brittle in
the face of future PAT changes.  Use the proper _PAGE_* constants
instead.  Also, treat the two unused cases as if they are cacheable, as
future changes may make them cacheable.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 78b1972e4170cacccc9c37c6e64e76e66a7da87f..b73cb29327ba49703673886d09d79f2f8928a6c0 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -959,14 +959,19 @@ get_page_from_l1e(
             flip = _PAGE_RW;
         }
 
+        /* Force cacheable memtypes to UC */
         switch ( l1f & PAGE_CACHE_ATTRS )
         {
-        case 0: /* WB */
-            flip |= _PAGE_PWT | _PAGE_PCD;
+        case _PAGE_UC:
+        case _PAGE_UCM:
+        case _PAGE_WC:
+            /* not cached */
             break;
-        case _PAGE_PWT: /* WT */
-        case _PAGE_PWT | _PAGE_PAT: /* WP */
-            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+        case _PAGE_WB:
+        case _PAGE_WT:
+        case _PAGE_WP:
+        default:
+            flip |= (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC;
             break;
         }
 
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:12:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:12:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462664.720862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avh-0001RY-84; Wed, 14 Dec 2022 23:12:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462664.720862; Wed, 14 Dec 2022 23:12:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avh-0001RR-4o; Wed, 14 Dec 2022 23:12:49 +0000
Received: by outflank-mailman (input) for mailman id 462664;
 Wed, 14 Dec 2022 23:12:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5avf-0000n2-J2
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 23:12:47 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d1a3e994-7c04-11ed-8fd2-01056ac49cbb;
 Thu, 15 Dec 2022 00:12:46 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 8AF87320016F;
 Wed, 14 Dec 2022 18:12:44 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Wed, 14 Dec 2022 18:12:45 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 18:12:43 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1a3e994-7c04-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1671059564; x=1671145964; bh=rHhpvg5/TvxIAxNHtWjWIfzcFCIVP/+4spF
	hIykyYZQ=; b=RqdpcyThi7n3ZHDb+UJwVtBqsTgZSTGoAA0oNsfLGH19ODEAR3T
	wFnZZeWr7LlW2XJapNs1vXYTIreVB2gBofY3qMMdybN3nbVm5DQFnekXBexydnSp
	nCah+E8yRqo5EWgmfq1DK1LkMRH2XdRhNUCMGhxDLksbYySfSGI0mv2facP+qUci
	naSrBknTUqSokNL5y2+wazL5MWas8pcSvXMWS0bLVQTijRZucFDiUcx5XdQi1tDa
	woUUx7lQN5A74LfDhn9e92uXWVnw7l1xAeowFpvyPhozftjsIuxPRAnMIKhmOTzF
	bHBBiux51dL030svplGAvh1/3g4AlcEsQxQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671059564; x=1671145964; bh=rHhpvg5/TvxIA
	xNHtWjWIfzcFCIVP/+4spFhIykyYZQ=; b=ZnVThbHC0WQePt8kJhCaoVilG1hpf
	gL2UH2pxn9OOr46JQvDvOAGjZ7PdNF+3yzR5xCCkNrM/mjcvYh1QDyZAohXk5eFM
	pqFZ76alROvk6kpWoDGwK5GC4ZoT1Zn9VGWvqHB9mkDWjkcZPxTNlg/7qcu1RKpX
	GhCJG7sV6W+GeCHxRXOHKDaxQQ2DFjcTN7jU9fQSDhJQBWD3fecYmo4rOdgJLgm7
	UB+kaJ6yN2ARL3ewKg/bc16RWwEJswG+DLyg/rUcSZWfMeQrjT7WAUf3hE5gmqQI
	CbnzdmxgQocwXpRFi/hGmdx1nnVVt/Qme4mrfbee+I3PVtADAdAccAGug==
X-ME-Sender: <xms:bFiaY4Ng7RRe73pNewe0M5k7Tzg2GcSe3NzJzKb57QuS-gb5Ve_HbQ>
    <xme:bFiaY-_lgQgcQ5ZFc9fhvjSurNxgBTi9vgq2mQYQF-wgzmQl8KU0Na-g8SQIwQ3oD
    MK8xtYiImLueA4>
X-ME-Received: <xmr:bFiaY_T4l4V8q5q-DkohE1hwKdl_6iS8UyH8BCOatAvEDdDMaLKTo3N0y9HQPsQjn1rnAmkg9a-b>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeggddtgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:bFiaYwukM8lh4yUShnb7X4-Ta3y6cUQKPunelWMX02mZM47NpEKJUw>
    <xmx:bFiaYwd_xhBurj_2BZt9IBXq_SZnLKz7zvpMpRJKWCJAD_SW7CCnig>
    <xmx:bFiaY038_idYwJKDx_bzWjoB84onzyt_qoP6kaqeOyu0M68GTrLA5A>
    <xmx:bFiaY3wGx6FD-4Wf7SKJt0bejcNtbK7KT5W0u_DOrVrfL5Md60xTOg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v3 04/12] x86: Add memory type constants
Date: Wed, 14 Dec 2022 18:11:54 -0500
Message-Id: <5e0dee8a2cc5076b677e813c9ee61fa08e8e4c1b.1671057808.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671057808.git.demi@invisiblethingslab.com>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

These are not currently used, so there is no functional change.  Future
patches will use these constants.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v2:

- Avoid using _AC where not required.
- Define reserved memory types inline
---
 xen/arch/x86/include/asm/x86-defns.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
index 28628807cb9897cf6fa8e266f71f5f220813984d..6380b8197c3b16a5d95286097d237579d3d55bd2 100644
--- a/xen/arch/x86/include/asm/x86-defns.h
+++ b/xen/arch/x86/include/asm/x86-defns.h
@@ -153,4 +153,15 @@
      (1u << X86_EXC_AC) | (1u << X86_EXC_CP) |                      \
      (1u << X86_EXC_VC) | (1u << X86_EXC_SX))
 
+/* Memory types */
+#define X86_MT_UC         0x00 /* uncachable */
+#define X86_MT_WC         0x01 /* write-combined */
+#define X86_MT_RESERVED_1 0x02 /* reserved */
+#define X86_MT_RESERVED_2 0x03 /* reserved */
+#define X86_MT_WT         0x04 /* write-through */
+#define X86_MT_WP         0x05 /* write-protect */
+#define X86_MT_WB         0x06 /* write-back */
+#define X86_MT_UCM        0x07 /* UC- */
+#define X86_NUM_MT        0x08
+
 #endif	/* __XEN_X86_DEFNS_H__ */
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:12:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:12:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462668.720872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avk-0001nf-PS; Wed, 14 Dec 2022 23:12:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462668.720872; Wed, 14 Dec 2022 23:12:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avk-0001nX-KE; Wed, 14 Dec 2022 23:12:52 +0000
Received: by outflank-mailman (input) for mailman id 462668;
 Wed, 14 Dec 2022 23:12:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5avj-0001la-Nn; Wed, 14 Dec 2022 23:12:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5avj-0007w3-K1; Wed, 14 Dec 2022 23:12:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5avj-0000KI-AF; Wed, 14 Dec 2022 23:12:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5avj-0001Ax-9p; Wed, 14 Dec 2022 23:12:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VfCm2tvlLjD3Ul2Zxwl4wKHAov0OH7F3jYeEUO/5qco=; b=aFaqObpdGnuAeH7NZ4t/CfiVbz
	7Q9aZZoqgr6nnCPIvwDUFHFF1WClIiGQ07GBPbtOVVrhMcEZYqfH0ARFXHB5ZF+EsCRjnIGkmipiy
	dwAnkRx0dkP03asZ/qgfWbD/9yPWUXOLH66PvD0zuHO5i30ef6zSW2LMQAiPw6SFtMWY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175219-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175219: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=549b042943a57b748ce80070d1174e4ff5b8ef0b
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 23:12:51 +0000

flight 175219 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175219/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  549b042943a57b748ce80070d1174e4ff5b8ef0b
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    1 days
Testing same since   175199  2022-12-14 12:01:52 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 549b042943a57b748ce80070d1174e4ff5b8ef0b
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Wed Dec 14 12:04:26 2022 +0100

    drivers/char: support up to 1M BAR0 of xhci
    
    AMD's XHCI has BAR0 of 1M (compared to 64K on Intel). Map it as a whole
    (reserving more space in the fixmap). Make fixmap slot conditional on
    CONFIG_XHCI.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit dd54ea500be80f347402d75f3e4e7061e7db78d2
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:38 2022 +0100

    docs: add documentation for generic virtio devices
    
    This patch updates xl.cfg man page with details of generic Virtio device
    related information.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit 953efa0b7b188458b18e4a727f3b1dfa77eacb61
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:25 2022 +0100

    xl: add support to parse generic virtio device
    
    This patch adds basic support for parsing generic Virtio backend.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 43ba5202e2eebd350161a8db674bf928c3e6f859
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:09 2022 +0100

    libxl: add support for generic virtio device
    
    This patch adds basic support for configuring and assisting generic
    Virtio backends, which could run in any domain.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
    region) and pass them to the backend and update guest device-tree to
    create a DT node for the Virtio devices.
    
    Add special support for I2C and GPIO devices, which require the
    "compatible" DT property to be set, among other device specific
    properties. Support for generic virtio devices is also added, which just
    need a MMIO node but not any special DT properties, for such devices the
    user needs to pass "virtio,device" in the "type" string.
    
    The parsing of generic virtio device configurations will be done in a
    separate commit.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit db75092aea988b4be78c8273626f2ee40b4012b8
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:21 2022 +0100

    tools/xenstore: enhance hashtable implementation
    
    Today it is possible to set a flag when calling hashtable_destroy() in
    order to specify whether the data associated with the hashtable entries
    should be freed or not. The keys of the entries will always be freed.
    
    Change that by replacing the flag of hashtable_destroy() by two flags
    for create_hashtable() which will specify whether the data and/or the
    key of each entry should be freed or not.
    
    This will enable users to have the key e.g. as part of the data.
    
    Add a new function hashtable_iterate() to call a user specified
    function for each entry in the hashtable.
    
    Add new primes to the primetable in order to support smaller sizes of
    the hashtable. The primes are selected according to:
    
    https://planetmath.org/goodhashtableprimes
    
    Update the URL in the source as the old one wasn't correct any longer.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit bb65cbd81caaaaf325d23f63b4c2165960563459
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:04 2022 +0100

    tools/xenstore: preserve errno across corrupt()
    
    Let corrupt() preserve errno in order to be able to simplify error
    handling in future.
    
    This is rather easy as the errno value when entering corrupt() is
    saved already.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 6a0d1914f0b19742436367a0019602992573bd4b
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:01:47 2022 +0100

    tools/xenstore: let tdb_logger() preserve errno
    
    tdb_logger() is called by TDB for logging errors. As errno is checked
    often after doing the logging, tdb_logger() should preserve errno.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 8d7acf3f7d8d2555c78421dced45bc49f79ae806
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Wed Dec 14 12:00:35 2022 +0100

    EFI: relocate the ESRT when booting via multiboot2
    
    This was missed in the initial patchset.
    
    Move efi_relocate_esrt() up to avoid adding a forward declaration.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:12:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:12:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462670.720884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avm-00024l-5j; Wed, 14 Dec 2022 23:12:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462670.720884; Wed, 14 Dec 2022 23:12:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avl-00024T-U1; Wed, 14 Dec 2022 23:12:53 +0000
Received: by outflank-mailman (input) for mailman id 462670;
 Wed, 14 Dec 2022 23:12:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5avk-0000n2-94
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 23:12:52 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d41be170-7c04-11ed-8fd2-01056ac49cbb;
 Thu, 15 Dec 2022 00:12:50 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id AEB2A320055E;
 Wed, 14 Dec 2022 18:12:48 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Wed, 14 Dec 2022 18:12:49 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 18:12:47 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d41be170-7c04-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1671059568; x=1671145968; bh=xq/7AzYNw/o1jMOYl29ZQus5z/RisXCH6hV
	d+SD7smw=; b=h8bqhXljvt6VIaUJZBo16Ey1rLQ7BD8kFSvB0fRiqw+/DJwlht5
	WlY6Aj9WYxCvpINkA3JMOO/a+4Nb16D2RhfpQ13prjLVOHyGerYSbs4Oi47RzyFV
	aQMWHWKpCYE3DzioWcAFtZ2U93O3nbBVIE7nNXQ4FmWk0FpONLznOW8orvgG6UVT
	6xigBsTQaWNyLOXaBOF4dI1Zw2IQr6Q0oyL4K5o0FQqESSBSMqCH0eBpNGHGthSs
	Zv2L5i0W8QGTYYyVK3WruAfyJzDe8auznjGOgxcZU2B7/K/XBfbUOqOJ+WEAqlBS
	+6uvA6fPgbX3vWlixZ+mVLjEqU6fedDFuuw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671059568; x=1671145968; bh=xq/7AzYNw/o1j
	MOYl29ZQus5z/RisXCH6hVd+SD7smw=; b=PvQqaLFEt3SWgoIkvwwGe5uGb/Iwr
	iE9gWXsE20TzNVJjUXkv6VNqZWIEK8DGaZ1oimldvsAo4HLtT3CdAqfE2wvGm3U6
	5ZF0Yi9miEP51hIk+KN1gZUm3HU/8fBlkSiRYD02YCHJ1aOb9DVhyv7f7Bg3SpCI
	NJwjafh3OVxhHP/1tGO9puiVFe5oPbKDA+MfnWGdOpn3QcEDv8d8gnfAQBdcKAq7
	S07x/w2lQOX/d/50/eJTud4dENpL6tn30x/dlaDMNXW0BnzK3To6DhNKW1UEWy1Y
	Qb4aF7zQZnOSzHZA32qI+5eVhSKZTjzzS83ICadduC86KN7Cih0WVWRmg==
X-ME-Sender: <xms:cFiaYytl-rsNDw00T2Az-y5--iY9xRhYIp5VOoyoXkATgthyvd4tDQ>
    <xme:cFiaY3fRG9Z7h57sn9J33bRMKKpjgiMnRXqF7RzdOu38SwmPj_MP8KQERPQGpATYs
    pgQRyjptiyc7cc>
X-ME-Received: <xmr:cFiaY9xxHWtarFT3lr_wOiu8prZf9FiU95mvi7zdHMuYTH0D6B_-fna3jSRZXAhFtEtkZD5pIA9u>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeggddtgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeefkeelveethfeuffetvdeigeduteev
    geffhfekieettdfhuedtvdduteetgffftdenucffohhmrghinhephhhvmhdrihhsnecuve
    hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepuggvmhhisehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:cFiaY9OOiBPI6MDxan9hgoDAfbSGvdWqIfxtfN7Adn9I7F3ICI0Yzg>
    <xmx:cFiaYy8mPuIbqp4IMSlEGCeOQV2fgFxP6ZcaAW5ZunaNhNBXSJa2kQ>
    <xmx:cFiaY1UY_6CYgdrKu9II2gduFA8_noRuohROQZAittDOPQYz7Bqg9w>
    <xmx:cFiaY2SJvLw1q00tTNTlrSs4WU1CoIEq4G4HxfBk_knDZ8pvcTEWmQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v3 05/12] x86: Replace PAT_* with X86_MT_*
Date: Wed, 14 Dec 2022 18:11:55 -0500
Message-Id: <06d9b2dc1e9f7e7de41414be676b5e9bcd24e5b9.1671057808.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671057808.git.demi@invisiblethingslab.com>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This allows eliminating the former.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v2: Style adjustments
---
 xen/arch/x86/hvm/hvm.c          | 12 ++++----
 xen/arch/x86/hvm/mtrr.c         | 52 ++++++++++++++++-----------------
 xen/arch/x86/hvm/vmx/vmx.c      | 16 +++++-----
 xen/arch/x86/include/asm/mtrr.h | 12 +-------
 xen/arch/x86/mm/p2m-ept.c       |  4 +--
 xen/arch/x86/mm/shadow/multi.c  |  4 +--
 6 files changed, 45 insertions(+), 55 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index ae4368ec4b338cf8c6cb14d383f612c91c98e800..00b3fa56e25e2934e2870e11fd19b120daff2715 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -307,12 +307,12 @@ int hvm_set_guest_pat(struct vcpu *v, uint64_t guest_pat)
     for ( i = 0, tmp = guest_pat; i < 8; i++, tmp >>= 8 )
         switch ( tmp & 0xff )
         {
-        case PAT_TYPE_UC_MINUS:
-        case PAT_TYPE_UNCACHABLE:
-        case PAT_TYPE_WRBACK:
-        case PAT_TYPE_WRCOMB:
-        case PAT_TYPE_WRPROT:
-        case PAT_TYPE_WRTHROUGH:
+        case X86_MT_UCM:
+        case X86_MT_UC:
+        case X86_MT_WB:
+        case X86_MT_WC:
+        case X86_MT_WP:
+        case X86_MT_WT:
             break;
         default:
             return 0;
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 4d2aa6def86de45aeeaade7a1a7815c5ef2b3d7a..242623f3c239ee18a44f882ecb3910a00c615825 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -37,7 +37,7 @@ static const uint8_t pat_entry_2_pte_flags[8] = {
     _PAGE_PAT | _PAGE_PCD, _PAGE_PAT | _PAGE_PCD | _PAGE_PWT };
 
 /* Effective mm type lookup table, according to MTRR and PAT. */
-static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][PAT_TYPE_NUMS] = {
+static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
 #define RS MEMORY_NUM_TYPES
 #define UC MTRR_TYPE_UNCACHABLE
 #define WB MTRR_TYPE_WRBACK
@@ -72,8 +72,8 @@ static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
     };
 
 /* Lookup table for PAT entry of a given PAT value in host PAT. */
-static uint8_t __read_mostly pat_entry_tbl[PAT_TYPE_NUMS] =
-    { [0 ... PAT_TYPE_NUMS-1] = INVALID_MEM_TYPE };
+static uint8_t __read_mostly pat_entry_tbl[X86_NUM_MT] =
+    { [0 ... X86_NUM_MT - 1] = INVALID_MEM_TYPE };
 
 static int __init cf_check hvm_mtrr_pat_init(void)
 {
@@ -81,7 +81,7 @@ static int __init cf_check hvm_mtrr_pat_init(void)
 
     for ( i = 0; i < MTRR_NUM_TYPES; i++ )
     {
-        for ( j = 0; j < PAT_TYPE_NUMS; j++ )
+        for ( j = 0; j < X86_NUM_MT; j++ )
         {
             unsigned int tmp = mm_type_tbl[i][j];
 
@@ -90,9 +90,9 @@ static int __init cf_check hvm_mtrr_pat_init(void)
         }
     }
 
-    for ( i = 0; i < PAT_TYPE_NUMS; i++ )
+    for ( i = 0; i < X86_NUM_MT; i++ )
     {
-        for ( j = 0; j < PAT_TYPE_NUMS; j++ )
+        for ( j = 0; j < X86_NUM_MT; j++ )
         {
             if ( pat_cr_2_paf(XEN_MSR_PAT, j) == i )
             {
@@ -115,7 +115,7 @@ uint8_t pat_type_2_pte_flags(uint8_t pat_type)
      * given pat_type. If host PAT covers all the PAT types, it can't happen.
      */
     if ( unlikely(pat_entry == INVALID_MEM_TYPE) )
-        pat_entry = pat_entry_tbl[PAT_TYPE_UNCACHABLE];
+        pat_entry = pat_entry_tbl[X86_MT_UC];
 
     return pat_entry_2_pte_flags[pat_entry];
 }
@@ -145,14 +145,14 @@ int hvm_vcpu_cacheattr_init(struct vcpu *v)
     m->mtrr_cap = (1u << 10) | (1u << 8) | num_var_ranges;
 
     v->arch.hvm.pat_cr =
-        ((uint64_t)PAT_TYPE_WRBACK) |               /* PAT0: WB */
-        ((uint64_t)PAT_TYPE_WRTHROUGH << 8) |       /* PAT1: WT */
-        ((uint64_t)PAT_TYPE_UC_MINUS << 16) |       /* PAT2: UC- */
-        ((uint64_t)PAT_TYPE_UNCACHABLE << 24) |     /* PAT3: UC */
-        ((uint64_t)PAT_TYPE_WRBACK << 32) |         /* PAT4: WB */
-        ((uint64_t)PAT_TYPE_WRTHROUGH << 40) |      /* PAT5: WT */
-        ((uint64_t)PAT_TYPE_UC_MINUS << 48) |       /* PAT6: UC- */
-        ((uint64_t)PAT_TYPE_UNCACHABLE << 56);      /* PAT7: UC */
+        ((uint64_t)X86_MT_WB) |           /* PAT0: WB */
+        ((uint64_t)X86_MT_WT << 8) |      /* PAT1: WT */
+        ((uint64_t)X86_MT_UCM << 16) |    /* PAT2: UC- */
+        ((uint64_t)X86_MT_UC << 24) |     /* PAT3: UC */
+        ((uint64_t)X86_MT_WB << 32) |     /* PAT4: WB */
+        ((uint64_t)X86_MT_WT << 40) |     /* PAT5: WT */
+        ((uint64_t)X86_MT_UCM << 48) |    /* PAT6: UC- */
+        ((uint64_t)X86_MT_UC << 56);      /* PAT7: UC */
 
     if ( is_hardware_domain(v->domain) )
     {
@@ -356,7 +356,7 @@ uint32_t get_pat_flags(struct vcpu *v,
      */
     pat_entry_value = mtrr_epat_tbl[shadow_mtrr_type][guest_eff_mm_type];
     /* If conflit occurs(e.g host MTRR is UC, guest memory type is
-     * WB),set UC as effective memory. Here, returning PAT_TYPE_UNCACHABLE will
+     * WB), set UC as effective memory. Here, returning X86_MT_UC will
      * always set effective memory as UC.
      */
     if ( pat_entry_value == INVALID_MEM_TYPE )
@@ -371,7 +371,7 @@ uint32_t get_pat_flags(struct vcpu *v,
                     "because the host mtrr type is:%d\n",
                     gl1e_flags, (uint64_t)gpaddr, guest_eff_mm_type,
                     shadow_mtrr_type);
-        pat_entry_value = PAT_TYPE_UNCACHABLE;
+        pat_entry_value = X86_MT_UC;
     }
     /* 4. Get the pte flags */
     return pat_type_2_pte_flags(pat_entry_value);
@@ -620,13 +620,13 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
                 p2m_memory_type_changed(d);
                 switch ( type )
                 {
-                case PAT_TYPE_UC_MINUS:
+                case X86_MT_UCM:
                     /*
                      * For EPT we can also avoid the flush in this case;
                      * see epte_get_entry_emt().
                      */
                     if ( hap_enabled(d) && cpu_has_vmx )
-                case PAT_TYPE_UNCACHABLE:
+                case X86_MT_UC:
                         break;
                     /* fall through */
                 default:
@@ -638,12 +638,12 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
         rcu_read_unlock(&pinned_cacheattr_rcu_lock);
         return -ENOENT;
 
-    case PAT_TYPE_UC_MINUS:
-    case PAT_TYPE_UNCACHABLE:
-    case PAT_TYPE_WRBACK:
-    case PAT_TYPE_WRCOMB:
-    case PAT_TYPE_WRPROT:
-    case PAT_TYPE_WRTHROUGH:
+    case X86_MT_UCM:
+    case X86_MT_UC:
+    case X86_MT_WB:
+    case X86_MT_WC:
+    case X86_MT_WP:
+    case X86_MT_WT:
         break;
 
     default:
@@ -681,7 +681,7 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
 
     list_add_rcu(&range->list, &d->arch.hvm.pinned_cacheattr_ranges);
     p2m_memory_type_changed(d);
-    if ( type != PAT_TYPE_WRBACK )
+    if ( type != X86_MT_WB )
         flush_all(FLUSH_CACHE);
 
     return 0;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 7c81b80710f99e08fe8291d3e413c449322b777d..b543c3983d77ae807e8bd97330691a79d8d39bae 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1231,14 +1231,14 @@ static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
              * memory type are all UC.
              */
             u64 uc_pat =
-                ((uint64_t)PAT_TYPE_UNCACHABLE)       |       /* PAT0 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 8)  |       /* PAT1 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 16) |       /* PAT2 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 24) |       /* PAT3 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 32) |       /* PAT4 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 40) |       /* PAT5 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 48) |       /* PAT6 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 56);        /* PAT7 */
+                ((uint64_t)X86_MT_UC)       |       /* PAT0 */
+                ((uint64_t)X86_MT_UC << 8)  |       /* PAT1 */
+                ((uint64_t)X86_MT_UC << 16) |       /* PAT2 */
+                ((uint64_t)X86_MT_UC << 24) |       /* PAT3 */
+                ((uint64_t)X86_MT_UC << 32) |       /* PAT4 */
+                ((uint64_t)X86_MT_UC << 40) |       /* PAT5 */
+                ((uint64_t)X86_MT_UC << 48) |       /* PAT6 */
+                ((uint64_t)X86_MT_UC << 56);        /* PAT7 */
 
             vmx_get_guest_pat(v, pat);
             vmx_set_guest_pat(v, uc_pat);
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index 7733800b798fc2c72ba87e4ce6500e4183553d04..92fc930c692039b6c709d6a04f6553593f40aa55 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -16,17 +16,7 @@
 #define NORMAL_CACHE_MODE          0
 #define NO_FILL_CACHE_MODE         2
 
-enum {
-    PAT_TYPE_UNCACHABLE=0,
-    PAT_TYPE_WRCOMB=1,
-    PAT_TYPE_WRTHROUGH=4,
-    PAT_TYPE_WRPROT=5,
-    PAT_TYPE_WRBACK=6,
-    PAT_TYPE_UC_MINUS=7,
-    PAT_TYPE_NUMS
-};
-
-#define INVALID_MEM_TYPE PAT_TYPE_NUMS
+#define INVALID_MEM_TYPE X86_NUM_MT
 
 /* In the Intel processor's MTRR interface, the MTRR type is always held in
    an 8 bit field: */
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index d61d66c20e4180f8cbe21bcd97b568519e0b738e..126437285d8a9f222fca6a7b6ff4434b60637847 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -573,8 +573,8 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
     if ( gmtrr_mtype >= 0 )
     {
         *ipat = true;
-        return gmtrr_mtype != PAT_TYPE_UC_MINUS ? gmtrr_mtype
-                                                : MTRR_TYPE_UNCACHABLE;
+        return gmtrr_mtype != X86_MT_UCM ? gmtrr_mtype
+                                         : MTRR_TYPE_UNCACHABLE;
     }
     if ( gmtrr_mtype == -EADDRNOTAVAIL )
         return -1;
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 6bb564b0145285afc93b72a60b7797fcfe8696dc..b64bba70fc17906236872a017ad48ce91fd30803 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -561,7 +561,7 @@ _sh_propagate(struct vcpu *v,
              (type = hvm_get_mem_pinned_cacheattr(d, target_gfn, 0)) >= 0 )
             sflags |= pat_type_2_pte_flags(type);
         else if ( d->arch.hvm.is_in_uc_mode )
-            sflags |= pat_type_2_pte_flags(PAT_TYPE_UNCACHABLE);
+            sflags |= pat_type_2_pte_flags(X86_MT_UC);
         else
             if ( iomem_access_permitted(d, mfn_x(target_mfn), mfn_x(target_mfn)) )
             {
@@ -572,7 +572,7 @@ _sh_propagate(struct vcpu *v,
                             mfn_to_maddr(target_mfn),
                             MTRR_TYPE_UNCACHABLE);
                 else if ( iommu_snoop )
-                    sflags |= pat_type_2_pte_flags(PAT_TYPE_WRBACK);
+                    sflags |= pat_type_2_pte_flags(X86_MT_WB);
                 else
                     sflags |= get_pat_flags(v,
                             gflags,
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:12:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:12:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462676.720895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avp-0002UP-E0; Wed, 14 Dec 2022 23:12:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462676.720895; Wed, 14 Dec 2022 23:12:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avp-0002U9-Ab; Wed, 14 Dec 2022 23:12:57 +0000
Received: by outflank-mailman (input) for mailman id 462676;
 Wed, 14 Dec 2022 23:12:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5avn-0000Gw-Ug
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 23:12:56 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d62984fa-7c04-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 00:12:54 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 2DF3B3200684;
 Wed, 14 Dec 2022 18:12:52 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Wed, 14 Dec 2022 18:12:53 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 18:12:50 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d62984fa-7c04-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1671059571; x=1671145971; bh=lU9/9Gab14UBam8CmbmvoG9bS/4YBhWR34n
	8RcxwJJ4=; b=Uemi7RO2sSBCFfAUcO9HX6i5pMbbbF6L07KXoaSeZVY/+KoQ6KD
	iJmZDiWdqQsZr3UshHLw8vm77Bc2RQCY8SRPRipCXZ0q3Gr5pGc1xhOyLlW3TE+i
	WLFFAtb/Cb6f/3ifzJ359HIL7n55W61mX8umHTHlMnJy3drp4ZgN2L14s/+TIjq8
	luv0On0sD9K5Xo5rl1W+bl9lu77/eDiXqSJ4z/y9oP//Z+VB6MNzs8SAVM80Yd2J
	RC5WGQpOy+NL2nPpW9IWGPt/u5ffwXRR6YDxqi3hLeM4U6dL0lrAjm+Qp6Rh1Hxt
	FozfLcG61EoHEdDBuYD8suCNjzor7PmdgBw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671059571; x=1671145971; bh=lU9/9Gab14UBa
	m8CmbmvoG9bS/4YBhWR34n8RcxwJJ4=; b=ERekboJIbe9OPHLD2bL3mrP9bFTIC
	BNhTLBUxILItn8NYY1uCqhrGAjk30MYwqgyulHN8Nvas1KtDnw5uKnkEZofsysse
	ud2khfzoeZBQk5Xv8ml8zWu9+Ur4/gVnUMJzxdebkkbAOqY66wEOXEdsBuQGHTE6
	IHK/fHhiAM2DFGs21z8wjSm3WtWzPataYwBGNuiWwADvlQ3lvgo9uJ+ttjKqZxWc
	kD9Aar290S3xVhdiify0VF8cMZqoIC8BsJhi8SgyeNNWVQ/e/7tnwgF7kxiubxL2
	DHp6UcCjA7WwmTltxEm6IwyROVQtnL7PItOj9485Kcn4ffDqdyESJd/QQ==
X-ME-Sender: <xms:c1iaY0bYgO-rCxvdK5Xs-AwZPSDoTwQWNVucRuaerDCaTWEg-9OFMQ>
    <xme:c1iaY_YVqRjDa1Uhjlwpstwrbtkuxv_AMOAMqyx4fhcrnSVs_Yu-5XSgr0Pb3j2cA
    GVGHJYM8TWsJnc>
X-ME-Received: <xmr:c1iaY--14fPWx8d_W1oMZkiz9OzEZjBvzvOS_wAYVHvmrGTFrOF0Lnb8uTnvJ1VX96JGSBFrqxBN>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeggddtgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedvnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:c1iaY-qcxt9F3K2eFyh3NVSHkCGLGFxS9A9ELuR3FyLWSXb90Nn2ag>
    <xmx:c1iaY_rPhog4HzbDOTkxAIEnFgDgaYh5sVzEoZ_weRpPSREr1kgEvw>
    <xmx:c1iaY8TFn0ci19D-K_Ul6Ppm09W3M4qLOiLnvkn8kFyT1NUC0OY5FQ>
    <xmx:c1iaYzf4tfdi63UBI2jA7gLPnCZRI9Y22pcRxzDUitaruYqDYCDxOg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v3 06/12] x86: Replace MTRR_* constants with X86_MT_* constants
Date: Wed, 14 Dec 2022 18:11:56 -0500
Message-Id: <8ab41b88c5724df7ee31d7b21221d5727216faac.1671057808.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671057808.git.demi@invisiblethingslab.com>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This allows eliminating of the former, with the exception of
MTRR_NUM_TYPES.  MTRR_NUM_TYPES is kept, as due to a quirk of the x86
architecture X86_MT_UCM (7) is not valid in an MTRR.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v2:

- Improve commit message
- Do not replace MTRR_NUM_TYPES with X86_MT_UCM
- State explicitly that MTRR_NUM_TYPES is kept
---
 xen/arch/x86/cpu/mtrr/generic.c         | 10 ++---
 xen/arch/x86/cpu/mtrr/main.c            | 26 ++++++-------
 xen/arch/x86/e820.c                     |  4 +-
 xen/arch/x86/hvm/mtrr.c                 | 30 +++++++--------
 xen/arch/x86/hvm/vmx/vmcs.c             |  2 +-
 xen/arch/x86/hvm/vmx/vmx.c              |  2 +-
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |  2 +-
 xen/arch/x86/include/asm/mtrr.h         | 10 +----
 xen/arch/x86/mm/p2m-ept.c               | 51 ++++++++++++-------------
 xen/arch/x86/mm/shadow/multi.c          |  2 +-
 10 files changed, 66 insertions(+), 73 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index 47aaf76226e0a8a0712b7211ed339a4a032ab3f3..660ae26c2350b3436a471155fc0426699ba8ac1d 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -127,11 +127,11 @@ static const char *__init mtrr_attrib_to_str(mtrr_type x)
 {
 	static const char __initconst strings[MTRR_NUM_TYPES][16] =
 	{
-		[MTRR_TYPE_UNCACHABLE]     = "uncachable",
-		[MTRR_TYPE_WRCOMB]         = "write-combining",
-		[MTRR_TYPE_WRTHROUGH]      = "write-through",
-		[MTRR_TYPE_WRPROT]         = "write-protect",
-		[MTRR_TYPE_WRBACK]         = "write-back",
+		[X86_MT_UC] = "uncachable",
+		[X86_MT_WC] = "write-combining",
+		[X86_MT_WT] = "write-through",
+		[X86_MT_WP] = "write-protect",
+		[X86_MT_WB] = "write-back",
 	};
 
 	return (x < ARRAY_SIZE(strings) && strings[x][0]) ? strings[x] : "?";
diff --git a/xen/arch/x86/cpu/mtrr/main.c b/xen/arch/x86/cpu/mtrr/main.c
index 4e01c8d6f9df6562b94438f265d79a0a6fca8de6..2946003b84938f3b83c98b62dfaa3ace90822983 100644
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -163,10 +163,10 @@ static void cf_check ipi_handler(void *info)
 }
 
 static inline int types_compatible(mtrr_type type1, mtrr_type type2) {
-	return type1 == MTRR_TYPE_UNCACHABLE ||
-	       type2 == MTRR_TYPE_UNCACHABLE ||
-	       (type1 == MTRR_TYPE_WRTHROUGH && type2 == MTRR_TYPE_WRBACK) ||
-	       (type1 == MTRR_TYPE_WRBACK && type2 == MTRR_TYPE_WRTHROUGH);
+	return type1 == X86_MT_UC ||
+	       type2 == X86_MT_UC ||
+	       (type1 == X86_MT_WT && type2 == X86_MT_WB) ||
+	       (type1 == X86_MT_WB && type2 == X86_MT_WT);
 }
 
 /**
@@ -297,13 +297,13 @@ static void set_mtrr(unsigned int reg, unsigned long base,
  *
  *	The available types are
  *
- *	%MTRR_TYPE_UNCACHABLE	-	No caching
+ *	%X86_MT_UC	-	No caching
  *
- *	%MTRR_TYPE_WRBACK	-	Write data back in bursts whenever
+ *	%X86_MT_WB	-	Write data back in bursts whenever
  *
- *	%MTRR_TYPE_WRCOMB	-	Write data back soon but allow bursts
+ *	%X86_MT_WC	-	Write data back soon but allow bursts
  *
- *	%MTRR_TYPE_WRTHROUGH	-	Cache reads but not writes
+ *	%X86_MT_WT	-	Cache reads but not writes
  *
  *	BUGS: Needs a quiet flag for the cases where drivers do not mind
  *	failures and do not wish system log messages to be sent.
@@ -328,7 +328,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 	}
 
 	/*  If the type is WC, check that this processor supports it  */
-	if ((type == MTRR_TYPE_WRCOMB) && !have_wrcomb()) {
+	if ((type == X86_MT_WC) && !have_wrcomb()) {
 		printk(KERN_WARNING
 		       "mtrr: your processor doesn't support write-combining\n");
 		return -EOPNOTSUPP;
@@ -442,13 +442,13 @@ static int mtrr_check(unsigned long base, unsigned long size)
  *
  *	The available types are
  *
- *	%MTRR_TYPE_UNCACHABLE	-	No caching
+ *	%X86_MT_UC	-	No caching
  *
- *	%MTRR_TYPE_WRBACK	-	Write data back in bursts whenever
+ *	%X86_MT_WB	-	Write data back in bursts whenever
  *
- *	%MTRR_TYPE_WRCOMB	-	Write data back soon but allow bursts
+ *	%X86_MT_WC	-	Write data back soon but allow bursts
  *
- *	%MTRR_TYPE_WRTHROUGH	-	Cache reads but not writes
+ *	%X86_MT_WT	-	Cache reads but not writes
  *
  *	BUGS: Needs a quiet flag for the cases where drivers do not mind
  *	failures and do not wish system log messages to be sent.
diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c
index b653a19c93afb98c2d64330384cb4fa7b4d2e1ec..c5911cf48dc4a281c03ddef35f23b19bc7af42eb 100644
--- a/xen/arch/x86/e820.c
+++ b/xen/arch/x86/e820.c
@@ -459,7 +459,7 @@ static uint64_t __init mtrr_top_of_ram(void)
         printk(" MTRR cap: %"PRIx64" type: %"PRIx64"\n", mtrr_cap, mtrr_def);
 
     /* MTRRs enabled, and default memory type is not writeback? */
-    if ( !test_bit(11, &mtrr_def) || ((uint8_t)mtrr_def == MTRR_TYPE_WRBACK) )
+    if ( !test_bit(11, &mtrr_def) || ((uint8_t)mtrr_def == X86_MT_WB) )
         return 0;
 
     /*
@@ -476,7 +476,7 @@ static uint64_t __init mtrr_top_of_ram(void)
             printk(" MTRR[%d]: base %"PRIx64" mask %"PRIx64"\n",
                    i, base, mask);
 
-        if ( !test_bit(11, &mask) || ((uint8_t)base != MTRR_TYPE_WRBACK) )
+        if ( !test_bit(11, &mask) || ((uint8_t)base != X86_MT_WB) )
             continue;
         base &= addr_mask;
         mask &= addr_mask;
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 242623f3c239ee18a44f882ecb3910a00c615825..093103f6c768cf64f880d1b20e1c14f5918c1250 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -39,11 +39,11 @@ static const uint8_t pat_entry_2_pte_flags[8] = {
 /* Effective mm type lookup table, according to MTRR and PAT. */
 static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
 #define RS MEMORY_NUM_TYPES
-#define UC MTRR_TYPE_UNCACHABLE
-#define WB MTRR_TYPE_WRBACK
-#define WC MTRR_TYPE_WRCOMB
-#define WP MTRR_TYPE_WRPROT
-#define WT MTRR_TYPE_WRTHROUGH
+#define UC X86_MT_UC
+#define WB X86_MT_WB
+#define WC X86_MT_WC
+#define WP X86_MT_WP
+#define WT X86_MT_WT
 
 /*          PAT(UC, WC, RS, RS, WT, WP, WB, UC-) */
 /* MTRR(UC) */ {UC, WC, RS, RS, UC, UC, UC, UC},
@@ -202,7 +202,7 @@ int mtrr_get_type(const struct mtrr_state *m, paddr_t pa, unsigned int order)
    unsigned int seg, num_var_ranges = MASK_EXTR(m->mtrr_cap, MTRRcap_VCNT);
 
    if ( unlikely(!m->enabled) )
-       return MTRR_TYPE_UNCACHABLE;
+       return X86_MT_UC;
 
    pa &= mask;
    if ( (pa < 0x100000) && m->fixed_enabled )
@@ -277,13 +277,13 @@ int mtrr_get_type(const struct mtrr_state *m, paddr_t pa, unsigned int order)
        return -1;
 
    /* Two or more matches, one being UC? */
-   if ( overlap_mtrr & (1 << MTRR_TYPE_UNCACHABLE) )
-       return MTRR_TYPE_UNCACHABLE;
+   if ( overlap_mtrr & (1 << X86_MT_UC) )
+       return X86_MT_UC;
 
    /* Two or more matches, all of them WT and WB? */
    if ( overlap_mtrr ==
-        ((1 << MTRR_TYPE_WRTHROUGH) | (1 << MTRR_TYPE_WRBACK)) )
-       return MTRR_TYPE_WRTHROUGH;
+        ((1 << X86_MT_WT) | (1 << X86_MT_WB)) )
+       return X86_MT_WT;
 
    /* Behaviour is undefined, but return the last overlapped type. */
    return overlap_mtrr_pos;
@@ -381,11 +381,11 @@ static inline bool_t valid_mtrr_type(uint8_t type)
 {
     switch ( type )
     {
-    case MTRR_TYPE_UNCACHABLE:
-    case MTRR_TYPE_WRBACK:
-    case MTRR_TYPE_WRCOMB:
-    case MTRR_TYPE_WRPROT:
-    case MTRR_TYPE_WRTHROUGH:
+    case X86_MT_UC:
+    case X86_MT_WB:
+    case X86_MT_WC:
+    case X86_MT_WP:
+    case X86_MT_WT:
         return 1;
     }
     return 0;
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index 84dbb88d33b76111833a37339186199f8bc03b5e..f0825216d722d978f221bb34a797d8de5505cb80 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -555,7 +555,7 @@ static int vmx_init_vmcs_config(bool bsp)
     /* Require Write-Back (WB) memory type for VMCS accesses. */
     opt = (vmx_basic_msr_high & (VMX_BASIC_MEMORY_TYPE_MASK >> 32)) /
           ((VMX_BASIC_MEMORY_TYPE_MASK & -VMX_BASIC_MEMORY_TYPE_MASK) >> 32);
-    if ( opt != MTRR_TYPE_WRBACK )
+    if ( opt != X86_MT_WB )
     {
         printk("VMX: CPU%d has unexpected VMCS access type %u\n",
                smp_processor_id(), opt);
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index b543c3983d77ae807e8bd97330691a79d8d39bae..4ae7dd56c9981d32ac545d6e7b7c126b15f68969 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -434,7 +434,7 @@ static void cf_check domain_creation_finished(struct domain *d)
         return;
 
     ASSERT(epte_get_entry_emt(d, gfn, apic_access_mfn, 0, &ipat,
-                              p2m_mmio_direct) == MTRR_TYPE_WRBACK);
+                              p2m_mmio_direct) == X86_MT_WB);
     ASSERT(ipat);
 
     if ( set_mmio_p2m_entry(d, gfn, apic_access_mfn, PAGE_ORDER_4K) )
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
index 75f9928abfad28e3895fe3dd4058b2b0a6e145c3..65e9e27b5437adff59abc46976f73a9f2cc587da 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -38,7 +38,7 @@ struct vmx_msr_entry {
     u64 data;
 };
 
-#define EPT_DEFAULT_MT      MTRR_TYPE_WRBACK
+#define EPT_DEFAULT_MT      X86_MT_WB
 
 struct ept_data {
     union {
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index 92fc930c692039b6c709d6a04f6553593f40aa55..e4f6ca6048334b2094a1836cc2f298453641232f 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -3,15 +3,9 @@
 
 #include <xen/mm.h>
 
-/* These are the region types. They match the architectural specification. */
-#define MTRR_TYPE_UNCACHABLE 0
-#define MTRR_TYPE_WRCOMB     1
-#define MTRR_TYPE_WRTHROUGH  4
-#define MTRR_TYPE_WRPROT     5
-#define MTRR_TYPE_WRBACK     6
-#define MTRR_NUM_TYPES       7
+#define MTRR_NUM_TYPES       X86_MT_UCM
 #define MEMORY_NUM_TYPES     MTRR_NUM_TYPES
-#define NO_HARDCODE_MEM_TYPE    MTRR_NUM_TYPES
+#define NO_HARDCODE_MEM_TYPE MTRR_NUM_TYPES
 
 #define NORMAL_CACHE_MODE          0
 #define NO_FILL_CACHE_MODE         2
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index 126437285d8a9f222fca6a7b6ff4434b60637847..bb143c6c42c69db4e054b9156aad9a18ea0b2378 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -506,7 +506,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
                                                mfn_x(mfn) | ((1UL << order) - 1)) )
         {
             *ipat = true;
-            return MTRR_TYPE_UNCACHABLE;
+            return X86_MT_UC;
         }
         /* Force invalid memory type so resolve_misconfig() will split it */
         return -1;
@@ -515,7 +515,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
     if ( !mfn_valid(mfn) )
     {
         *ipat = true;
-        return MTRR_TYPE_UNCACHABLE;
+        return X86_MT_UC;
     }
 
     /*
@@ -526,7 +526,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
          !cache_flush_permitted(d) )
     {
         *ipat = true;
-        return MTRR_TYPE_WRBACK;
+        return X86_MT_WB;
     }
 
     for ( special_pgs = i = 0; i < (1ul << order); i++ )
@@ -539,13 +539,13 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
             return -1;
 
         *ipat = true;
-        return MTRR_TYPE_WRBACK;
+        return X86_MT_WB;
     }
 
     switch ( type )
     {
     case p2m_mmio_direct:
-        return MTRR_TYPE_UNCACHABLE;
+        return X86_MT_UC;
 
     case p2m_grant_map_ro:
     case p2m_grant_map_rw:
@@ -563,7 +563,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
          * diverges. See p2m_type_to_flags for the AMD attributes.
          */
         *ipat = true;
-        return MTRR_TYPE_WRBACK;
+        return X86_MT_WB;
 
     default:
         break;
@@ -573,15 +573,14 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
     if ( gmtrr_mtype >= 0 )
     {
         *ipat = true;
-        return gmtrr_mtype != X86_MT_UCM ? gmtrr_mtype
-                                         : MTRR_TYPE_UNCACHABLE;
+        return gmtrr_mtype != X86_MT_UCM ? gmtrr_mtype : X86_MT_UC;
     }
     if ( gmtrr_mtype == -EADDRNOTAVAIL )
         return -1;
 
     gmtrr_mtype = v ? mtrr_get_type(&v->arch.hvm.mtrr,
                                     gfn_x(gfn) << PAGE_SHIFT, order)
-                    : MTRR_TYPE_WRBACK;
+                    : X86_MT_WB;
     hmtrr_mtype = mtrr_get_type(&mtrr_state, mfn_x(mfn) << PAGE_SHIFT,
                                 order);
     if ( gmtrr_mtype < 0 || hmtrr_mtype < 0 )
@@ -592,14 +591,14 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
         return hmtrr_mtype;
 
     /* If either type is UC, we have to go with that one. */
-    if ( gmtrr_mtype == MTRR_TYPE_UNCACHABLE ||
-         hmtrr_mtype == MTRR_TYPE_UNCACHABLE )
-        return MTRR_TYPE_UNCACHABLE;
+    if ( gmtrr_mtype == X86_MT_UC ||
+         hmtrr_mtype == X86_MT_UC )
+        return X86_MT_UC;
 
     /* If either type is WB, we have to go with the other one. */
-    if ( gmtrr_mtype == MTRR_TYPE_WRBACK )
+    if ( gmtrr_mtype == X86_MT_WB )
         return hmtrr_mtype;
-    if ( hmtrr_mtype == MTRR_TYPE_WRBACK )
+    if ( hmtrr_mtype == X86_MT_WB )
         return gmtrr_mtype;
 
     /*
@@ -610,13 +609,13 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
      * permit this), while WT and WP require writes to go straight to memory
      * (WC can buffer them).
      */
-    if ( (gmtrr_mtype == MTRR_TYPE_WRTHROUGH &&
-          hmtrr_mtype == MTRR_TYPE_WRPROT) ||
-         (gmtrr_mtype == MTRR_TYPE_WRPROT &&
-          hmtrr_mtype == MTRR_TYPE_WRTHROUGH) )
-        return MTRR_TYPE_WRPROT;
+    if ( (gmtrr_mtype == X86_MT_WT &&
+          hmtrr_mtype == X86_MT_WP) ||
+         (gmtrr_mtype == X86_MT_WP &&
+          hmtrr_mtype == X86_MT_WT) )
+        return X86_MT_WP;
 
-    return MTRR_TYPE_UNCACHABLE;
+    return X86_MT_UC;
 }
 
 /*
@@ -1426,12 +1425,12 @@ void ept_p2m_uninit(struct p2m_domain *p2m)
 static const char *memory_type_to_str(unsigned int x)
 {
     static const char memory_types[8][3] = {
-        [MTRR_TYPE_UNCACHABLE]     = "UC",
-        [MTRR_TYPE_WRCOMB]         = "WC",
-        [MTRR_TYPE_WRTHROUGH]      = "WT",
-        [MTRR_TYPE_WRPROT]         = "WP",
-        [MTRR_TYPE_WRBACK]         = "WB",
-        [MTRR_NUM_TYPES]           = "??"
+        [X86_MT_UC]      = "UC",
+        [X86_MT_WC]      = "WC",
+        [X86_MT_WT]      = "WT",
+        [X86_MT_WP]      = "WP",
+        [X86_MT_WB]      = "WB",
+        [MTRR_NUM_TYPES] = "??",
     };
 
     ASSERT(x < ARRAY_SIZE(memory_types));
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index b64bba70fc17906236872a017ad48ce91fd30803..f5f7ff021bd9e057c5b6f6329de7acb5ef05d58f 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -570,7 +570,7 @@ _sh_propagate(struct vcpu *v,
                             gflags,
                             gfn_to_paddr(target_gfn),
                             mfn_to_maddr(target_mfn),
-                            MTRR_TYPE_UNCACHABLE);
+                            X86_MT_UC);
                 else if ( iommu_snoop )
                     sflags |= pat_type_2_pte_flags(X86_MT_WB);
                 else
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:13:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:13:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462684.720906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avs-0002xi-Vr; Wed, 14 Dec 2022 23:13:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462684.720906; Wed, 14 Dec 2022 23:13:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5avs-0002xX-Rt; Wed, 14 Dec 2022 23:13:00 +0000
Received: by outflank-mailman (input) for mailman id 462684;
 Wed, 14 Dec 2022 23:12:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5avr-0000n2-SN
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 23:12:59 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d8468537-7c04-11ed-8fd2-01056ac49cbb;
 Thu, 15 Dec 2022 00:12:57 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id ABBB2320016F;
 Wed, 14 Dec 2022 18:12:55 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Wed, 14 Dec 2022 18:12:56 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 18:12:54 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8468537-7c04-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1671059575; x=1671145975; bh=B67xsZEjuniXSLGiNTbDtXcUgnHe8HQATry
	KNiozL1k=; b=BBIHxYQiVqStVc7bG7WLfXcgTHPPeCMG6Ukk+S8t7ihBIRgAR0s
	4OliStJ7jFyfkFKhcGptKZnufIVcFWn885A8k9uEOQiGrE8vQWG8vs5YoQHKZA1r
	+b8+CT0BwZ/bR71dfBJ7kCwjgVJ55fq88R1JCCdxcEUVLjPMVvWLj5c5ViBf4jXk
	b8q1e9QYztNSpry+nGJAOFY3E1LwhX/SOzo4tLsHL0KI6pD2nFLwlzUpqBiACrrf
	VCwQpttZLHq+jbP6AnYFWRMYDgaZyzmAnSF28FAU21oZlOFhnV7BhwQhky6FPzdM
	twT0AwY58hcXwkdIq2R6itZ55pegAgL3STw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671059575; x=1671145975; bh=B67xsZEjuniXS
	LGiNTbDtXcUgnHe8HQATryKNiozL1k=; b=C2A4iEw8O3rR9OBFGV/9iMvx5fybH
	LIGqE7OXGHvgCU9Xj7QBE+rvhMzmCp3gT6ogBDVySqhLO059/oE6O5HrMtW4qowh
	txnAStxioK4jBFST5oV5CngqIxFKxzIJJGVOPsr//UtXzNpY0/N3HvOFnfXfgqRf
	79T9QTIiqCX8mzohUB9ipfXrnZeuZ8v/1MyJ/AJUGGRmjdKOKowc+mNkuzUIGty7
	XhKXW8qZy1l13B3proJKNRlDg1vqS5b4XePx3Z35Hl29pJl7lwAF7xgPfy5yleTG
	3M50Ae2oHwfHDJTFyhjyFiKqtZtZtRJoZAonp+NhN/Qp7OuxhEEoI0Dog==
X-ME-Sender: <xms:dliaY45KDpTKTxv3hQGy8pF3le9Sh4jk69Jxwq-g10Iu43qulOR3eA>
    <xme:dliaY55u7wd-2QI4R140iPCkQpVOv6UdGJYNeNsJ24QUaW2-CK9umIRgzoJlVmR8_
    ZPP7dL-9OQcjSw>
X-ME-Received: <xmr:dliaY3dlXHMbgCB07BenSnewyBpcaiZPPQj6lwn0HLoHy8kbEljJIqG7w6f1am3KQPsdquApLigE>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeggddtgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedunecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:dliaY9KJFyLN0AZsTOXB8yfH8QKh9kvxCBG-WXw2SN-nYd_CuRYIyw>
    <xmx:dliaY8IetA96d82pxQUuciTkxtua90Dte9smeugwrBrvlkekv4--gQ>
    <xmx:dliaY-wAEpvgb2hKSwJ-DbRJ1u5jmVWWqugobEkg7sGGyULVLJiWdw>
    <xmx:d1iaY7-Z29Sf08TAa8fcnjYusMTwEMS78YEbC9GAnREQ2TJPfHIUPw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v3 07/12] x86: Replace EPT_EMT_* constants with X86_MT_*
Date: Wed, 14 Dec 2022 18:11:57 -0500
Message-Id: <02b5fd5285c206a971c1f131d8079fece54ac534.1671057808.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671057808.git.demi@invisiblethingslab.com>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This allows eliminating the former.  No functional change intended.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/include/asm/hvm/vmx/vmx.h | 9 ---------
 xen/arch/x86/mm/hap/nested_ept.c       | 4 ++--
 2 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
index 8eedf59155e01ec1ca84dcc6b30961f9c884cb3b..49fe9822fac5eae15b67f0cfd3d0cb96347dc7ed 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -80,15 +80,6 @@ typedef enum {
 #define EPTE_RWX_MASK           0x7
 #define EPTE_FLAG_MASK          0x7f
 
-#define EPT_EMT_UC              0
-#define EPT_EMT_WC              1
-#define EPT_EMT_RSV0            2
-#define EPT_EMT_RSV1            3
-#define EPT_EMT_WT              4
-#define EPT_EMT_WP              5
-#define EPT_EMT_WB              6
-#define EPT_EMT_RSV2            7
-
 #define PI_xAPIC_NDST_MASK      0xFF00
 
 void vmx_asm_vmexit_handler(struct cpu_user_regs);
diff --git a/xen/arch/x86/mm/hap/nested_ept.c b/xen/arch/x86/mm/hap/nested_ept.c
index 1cb7fefc37091bf7d92a277203e652add5611871..84fdec024ad216f2c9b333ac65d46b55cf90dada 100644
--- a/xen/arch/x86/mm/hap/nested_ept.c
+++ b/xen/arch/x86/mm/hap/nested_ept.c
@@ -84,8 +84,8 @@ static bool_t nept_emt_bits_check(ept_entry_t e, uint32_t level)
 {
     if ( e.sp || level == 1 )
     {
-        if ( e.emt == EPT_EMT_RSV0 || e.emt == EPT_EMT_RSV1 ||
-             e.emt == EPT_EMT_RSV2 )
+        if ( e.emt == X86_MT_RESERVED_1 || e.emt == X86_MT_RESERVED_2 ||
+             e.emt == X86_MT_UCM )
             return 1;
     }
     return 0;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:15:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:15:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462716.720917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5axn-0005Um-Dw; Wed, 14 Dec 2022 23:14:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462716.720917; Wed, 14 Dec 2022 23:14:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5axn-0005Uf-8L; Wed, 14 Dec 2022 23:14:59 +0000
Received: by outflank-mailman (input) for mailman id 462716;
 Wed, 14 Dec 2022 23:14:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5aw6-0000Gw-1y
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 23:13:14 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dfec70eb-7c04-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 00:13:10 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 881ED3200927;
 Wed, 14 Dec 2022 18:13:08 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Wed, 14 Dec 2022 18:13:09 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 18:13:07 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfec70eb-7c04-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1671059588; x=1671145988; bh=uEembJaSpvhKFJgq6aTBN99RsIDXzs5dpLn
	+PB+Vf9A=; b=lBa6nLSu5F8owIZ+ll/DknqWNdHK9Qq5ZSHrmbtO3xRWH11IClI
	CK8PmjX/ZEKaSbm0PaBDcTJ2Ye/e4+H3Wrciud5T9MzXKpdtB8fOJ/Gu09BQhEl3
	M+lDxz0mItSSlOhwFVzjuVr/6TRwsuKZWXtoJ67rbctzp1Poy/243e1UWZPHlvrt
	Rj1u3GF0NvnrwrJ1/WOq9lQzQtQGHKeVbIvijSoPcQgiMTWovL5lwBhYKieCumuv
	w4Y2V3p9T8h94eC7TN3LQWQByzSV/uSXXY3w5WPLPIYJz4XT3OZkfwXLqmyqJ0AP
	Z0iiIfwDy9ykCdoh5isjM4fyfix26U5/4vA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671059588; x=1671145988; bh=uEembJaSpvhKF
	Jgq6aTBN99RsIDXzs5dpLn+PB+Vf9A=; b=pXpsQResMJjC/sny1185KVVJvyMcz
	Il6endTmLeYDNp8lc3753VtX+1SBSBfzXMJ4aKb8EQEOHpbggC/ZDIkhOf2+vmHp
	RBa3nnnOI5V3QpHzK+YhMp5QTv9CSe0d5SNt+TMS6SFZY/OFCgkPdQK4TvPxPkZG
	2HCFgXwLypgqmL8gXpcTIJZgmIyMuS+FRH2zzRYITkQyGbzR/3A9dZrukScq67n/
	lwD6L7br1gZlqT5ArALmTw7ut0CAYzsyHCn6p5vYSgfrtTy/NM1KkBiS90YPhwc7
	VISmymcmKmVnbDS9eFILg1vxgQ2zA2Cp/O7wVDWcvOW7KKhMN3nB6Y61g==
X-ME-Sender: <xms:g1iaY5bzpjgNa40LQLUaGdgfYoG6_2jEt_VulzFXfWvd95x2YcO6pQ>
    <xme:g1iaYwaXLAhTrDki04Sd1CHpMxJZHk5uSG5B11XzDa89_8NTKYJ6x0Rf7pK33obpD
    oxGbtxI5j-3Lg8>
X-ME-Received: <xmr:g1iaY78JlO9_fgYSZ83QlW1y2rlTvznZpqBUwVtVxeLOcvyDHW_gx5dpEQcDjJwyl1YvNnUG3P89>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeggddtgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:hFiaY3osweVMfbDfLVuUg3St2BTZTjh1oWctKvZbSkLHIyPiAGgFag>
    <xmx:hFiaY0pQ8WnIlJY336_Jw-DfHrMRciBAU3iC-lulVqJSyub8c6tvqA>
    <xmx:hFiaY9RHAJvQ8zBSLAv5bo4dO-iTW7DClIB-6GVIuUluRxE1q8nZzQ>
    <xmx:hFiaYwfg5D75izhedFeLUgqX9tTekkHywgYH8H4vfhIZhVkBJ6TxJg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v3 11/12] x86/mm: Reject invalid cacheability in PV guests by default
Date: Wed, 14 Dec 2022 18:12:01 -0500
Message-Id: <bc146082e90b538be06eb89280617c7e9b966f0f.1671057808.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671057808.git.demi@invisiblethingslab.com>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Setting cacheability flags that are not ones specified by Xen is a bug
in the guest.  By default, inject #GP into any guest that does this.
allow_invalid_cacheability can be used on the Xen command line to
disable this check.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm.c | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 7fb1a0f91910952640378f316a68096a08895b37..a199bb05031e0fb1ea4c25ef1d641afe71690d74 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -145,6 +145,8 @@
 
 #ifdef CONFIG_PV
 #include "pv/mm.h"
+bool allow_invalid_cacheability;
+boolean_param("allow_invalid_cacheability", allow_invalid_cacheability);
 #endif
 
 /* Override macros from asm/page.h to make them work with mfn_t */
@@ -1346,7 +1348,28 @@ static int promote_l1_table(struct page_info *page)
         }
         else
         {
-            switch ( ret = get_page_from_l1e(pl1e[i], d, d) )
+            l1_pgentry_t l1e = pl1e[i];
+
+            BUILD_BUG_ON(PAGE_CACHE_ATTRS > 0xffff);
+            if ( !allow_invalid_cacheability )
+            {
+                switch ( l1e.l1 & PAGE_CACHE_ATTRS )
+                {
+                case _PAGE_WB:
+                case _PAGE_UC:
+                case _PAGE_UCM:
+                case _PAGE_WC:
+                case _PAGE_WT:
+                case _PAGE_WP:
+                    break;
+                default:
+                    pv_inject_hw_exception(TRAP_gp_fault, 0);
+                    ret = -EINVAL;
+                    goto fail;
+                }
+            }
+
+            switch ( ret = get_page_from_l1e(l1e, d, d) )
             {
             default:
                 goto fail;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:15:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:15:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462735.720929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5axp-0005ok-M0; Wed, 14 Dec 2022 23:15:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462735.720929; Wed, 14 Dec 2022 23:15:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5axp-0005oa-GW; Wed, 14 Dec 2022 23:15:01 +0000
Received: by outflank-mailman (input) for mailman id 462735;
 Wed, 14 Dec 2022 23:15:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5aw6-0000n2-0V
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 23:13:14 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ddf7078b-7c04-11ed-8fd2-01056ac49cbb;
 Thu, 15 Dec 2022 00:13:07 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 3D35D3200925;
 Wed, 14 Dec 2022 18:13:05 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Wed, 14 Dec 2022 18:13:06 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 18:13:04 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddf7078b-7c04-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1671059584; x=1671145984; bh=SYVIhlygQCbQDxRM0Jvhm4RPjrLE8QTHJIb
	nQIRdaN4=; b=rGUhhSIBBzfZ4mJE4GIp1CMwMIfyJq2ySpBOxSnGF6IwLH5VTIk
	3W5kSGgXnFQjPme+lnJmF/JfDr1rz4Ad3yz9Q63ASNj4qBf7RABHGocZhBsRnLJV
	dlagGvhxv09Gd3e5ostodBAdzgG6OltJN/WtGj9WTHbzeDiXLheJCk+rlC96w0ci
	BcApvwgXHLntVVC1tBZKnRnaiD08yg4ctkWTGqYD1VJGFT9BapW6Zf46dqkO+bsC
	UqtvC+YzRnuhP8wPWo5/CLLfiSUHGMS/Atc/aQvjRWVxK48Ad30MK1S6oMMzSFAt
	+w//qMGrxc2UuGg0S0lne6ajl8pFsg5bfkQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671059584; x=1671145984; bh=SYVIhlygQCbQD
	xRM0Jvhm4RPjrLE8QTHJIbnQIRdaN4=; b=mjDag8x4C10R186djGkVxAAmHqoBs
	CoXYgFCVk80XV8pcLXc3Ys11inuiJqpeEkMiu4NAZgIcyJB9QCFxWDXFKLihm/Gy
	MYzbWxCDxO0GzLqqAVCrvexV5kM9FBKl1T4/9F0OofzVG7O7DTDPGzo7/145/T+P
	hNgb/G8TE2aErrY4K51M177EDrbxppYd4sSpqSfg98s9uM3J2p9n5eId3dDP53cm
	nBCHdfV14I1Bo/nmoPBK+fxVus8cewItWbQpO9Bb2Bod1TKO+ThNFNNrB2STnnT/
	JSu+Rfccf+3PfSylrMBT+t/bAVG8JiFbZvNr1iR5ZLs8u0fiDcvsPKAzw==
X-ME-Sender: <xms:gFiaY_fjv8xAhra50idli-uy26by-UOmuBIIRPEcqE4Sl5g0vhI5Og>
    <xme:gFiaY1MWLjYFL2hJRb02RQR3co78qXKEgaDs3eM7neXuTUsdKjJ4G_5MF455MB6Yo
    YVEmuB7gtri-HQ>
X-ME-Received: <xmr:gFiaY4hrkv_qecdc4aeypk6eHkwUnGqOXQLD7AOj8mfbvTGcl7kv7WiYZuxLHMMBg1XIuFBf32fw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeggddtgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedvnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:gFiaYw9lN7QOnFd5ELvQOF1lU0pJfgqasKYbTYR9BrNvpP0opNurNQ>
    <xmx:gFiaY7tFeejxXJBZZHCt4pXosdUhI3sqB2JV_VxllShijo9fX8EhfQ>
    <xmx:gFiaY_FOk-PU76YhFxq856s4bFHKvsrHjwGVY1qtHS4ioj3STV0nRQ>
    <xmx:gFiaYxBGU_oUfbeVHwIpGjvV2XbNbaMoPFE_9GC4vi35Sbx1vuzZMQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v3 10/12] x86/mm: make code robust to future PAT changes
Date: Wed, 14 Dec 2022 18:12:00 -0500
Message-Id: <667b8ff33b4b0c25001a232a267b68574983d9e6.1671057808.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671057808.git.demi@invisiblethingslab.com>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It may be desirable to change Xen's PAT for various reasons.  This
requires changes to several _PAGE_* macros as well.  Add static
assertions to check that XEN_MSR_PAT is consistent with the _PAGE_*
macros, and that _PAGE_WB is 0 as required by Linux.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/mm.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index a8def47aa3bf9770576c62a190032d45d63dd86e..7fb1a0f91910952640378f316a68096a08895b37 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6357,8 +6357,44 @@ unsigned long get_upper_mfn_bound(void)
 
 static void __init __maybe_unused build_assertions(void)
 {
+    /* A bunch of static assertions to check that the XEN_MSR_PAT is valid
+     * and consistent with the _PAGE_* macros */
     BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL &&
                  "wrong XEN_MSR_PAT breaks PV guests");
+    BUILD_BUG_ON(_PAGE_WB && "Linux requires _PAGE_WB to be 0");
+#define PAT_VALUE(v) (0xFF & (XEN_MSR_PAT >> (8 * (v))))
+#define BAD_VALUE(v) ((v) < 0 || (v) > 7 ||                                    \
+                      (v) == X86_MT_RESERVED_1 || (v) == X86_MT_RESERVED_2)
+#define BAD_PAT_VALUE(v) BUILD_BUG_ON(BAD_VALUE(PAT_VALUE(v)))
+    BAD_PAT_VALUE(0);
+    BAD_PAT_VALUE(1);
+    BAD_PAT_VALUE(2);
+    BAD_PAT_VALUE(3);
+    BAD_PAT_VALUE(4);
+    BAD_PAT_VALUE(5);
+    BAD_PAT_VALUE(6);
+    BAD_PAT_VALUE(7);
+#undef BAD_PAT_VALUE
+#undef BAD_VALUE
+#define PAT_SHIFT(page_value) (((page_value) & _PAGE_PAT) >> 5 |               \
+                               ((page_value) & (_PAGE_PCD | _PAGE_PWT)) >> 3)
+#define CHECK_PAGE_VALUE(page_value) do {                                      \
+    /* Check that the _PAGE_* macros only use bits from PAGE_CACHE_ATTRS */    \
+    BUILD_BUG_ON(((_PAGE_##page_value) & PAGE_CACHE_ATTRS) !=                  \
+                  (_PAGE_##page_value));                                       \
+    /* Check that the _PAGE_* are consistent with XEN_MSR_PAT */               \
+    BUILD_BUG_ON(PAT_VALUE(PAT_SHIFT(_PAGE_##page_value)) !=                   \
+                 (X86_MT_##page_value));                                       \
+} while (0)
+    CHECK_PAGE_VALUE(WT);
+    CHECK_PAGE_VALUE(WB);
+    CHECK_PAGE_VALUE(WC);
+    CHECK_PAGE_VALUE(UC);
+    CHECK_PAGE_VALUE(UCM);
+    CHECK_PAGE_VALUE(WP);
+#undef CHECK_PAGE_VALUE
+#undef PAT_SHIFT
+#undef PAT_VALUE
 }
 
 /*
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:15:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:15:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462737.720939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5axq-00066V-W6; Wed, 14 Dec 2022 23:15:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462737.720939; Wed, 14 Dec 2022 23:15:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5axq-000660-PH; Wed, 14 Dec 2022 23:15:02 +0000
Received: by outflank-mailman (input) for mailman id 462737;
 Wed, 14 Dec 2022 23:15:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5awA-0000Gw-26
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 23:13:18 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3b71ae3-7c04-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 00:13:17 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id E255C320016F;
 Wed, 14 Dec 2022 18:13:14 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Wed, 14 Dec 2022 18:13:15 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 18:13:13 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3b71ae3-7c04-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1671059594; x=1671145994; bh=8HdS0C58v8DuAAjtm9L8m2ErkGOALkKTDMX
	7IVJUtxs=; b=M2jGyrN7EN6ik3b8+tAcaSjpfDFjFHZH3WkjA8z+JXAlhxMyK+L
	6GQMwXQ8nxzmfCN3pvAHirAajIWImrkWSqmDb2S3+vlDIUQU7P4Vt+XJD/ShNojv
	hhqOXARmti3/KN94WJJkiHVO8bR7DvPgMRp0Uan8CmEfU2hCg1/1STE3t7PdBoD9
	bJ63nQPB57d5yUoQPIvVRnM7sJMX4INN11S1izBaxAR3jR6dnFgKhiJtWVMwPM/q
	5/rjMmMDFOsVoMPUQnaoy8OjE3pUBfnuhe7Q0OSyBBVhRfx8D9BLAkCrMpZTPH9l
	W8jZNHKOxsCpMBHzGx4CjBTPXoBSEJmMJ9Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671059594; x=1671145994; bh=8HdS0C58v8DuA
	Ajtm9L8m2ErkGOALkKTDMX7IVJUtxs=; b=HEsrr2c0KzGibJKU42QWqM/RedYCs
	CVYmcCBfNWsLikAz6WFFQtekiyQ21cw262HXLi/DKlezsnvQneIxO1oVeNJ29Jw9
	hRyO5O8kEZOreDj4vVfRPqJWCYy/CVdab5wW+4tdTeoN3zyy3d+DRXlvvqaFJyaD
	jlbCYyk8DDspR83JiKL32Bhtd/qryop8KzDhOIR1Y8GPbLAaPFcdbceN0sQTmuTQ
	qmumf+FGrmI6OBzj1Tp4HdASG6ijIow6FmBBB8pFjIrkdJaCoMQuNbTRCrZwTVIV
	agiZmaxhbLyXb/UT3UA3Xxct+8coJdw3rLaV9oH01cb+PxtNdFifyxLXA==
X-ME-Sender: <xms:iliaY1PQeAogOh-Pwx5QZd6D9c6wqwYQsZRSbSUTEQ6kEZVmm_ab9w>
    <xme:iliaY39hFU-ka4M2VgTxIO5BFwqlTM1LHJn2qexlMzITG4rJFEpfEMY29tMrTBOtc
    uD78xe8GjRkGHE>
X-ME-Received: <xmr:iliaY0T1JtzIDSj87CGiFLEwdI67c8HAOUDSo0qjqykselOeGy_4k6g14povFZwxd3FEX3Cc32AK>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeggddtgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedvnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:iliaYxvyhBTjYXEqaiFf41r3b4WRr7cdY6tJrutxB50iAFLVyss60w>
    <xmx:iliaY9cbRwUks1J5uOIV2BGgkFjq9rIcUbk0fUOMbUEpHu5V2W7GaQ>
    <xmx:iliaY92gZL9cy3qIEn2soMUkikz_GykX4v-g91zbFo5pxBIPmYHvHQ>
    <xmx:iliaY8y2TQ6SPqaPKb9iw9DzvH0U8KY8KfgpzjXPOFOfJZAIFakmlg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v3 12/12] x86: Use Linux's PAT
Date: Wed, 14 Dec 2022 18:12:02 -0500
Message-Id: <d12d9a73be5cfc427f98925eede298a2d439a369.1671057808.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671057808.git.demi@invisiblethingslab.com>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is purely for testing, to see if it works around a bug in i915.  It
is not intended to be merged.

NOT-signed-off-by: DO NOT MERGE
---
 xen/arch/x86/include/asm/page.h      |  4 ++--
 xen/arch/x86/include/asm/processor.h | 13 +++++--------
 xen/arch/x86/mm.c                    |  2 --
 3 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/include/asm/page.h b/xen/arch/x86/include/asm/page.h
index b585235d064a567082582c8e92a4e8283fd949ca..ab9b46f1d0901e50a83fd035ff28d1bda0b781a2 100644
--- a/xen/arch/x86/include/asm/page.h
+++ b/xen/arch/x86/include/asm/page.h
@@ -333,11 +333,11 @@ void efi_update_l4_pgtable(unsigned int l4idx, l4_pgentry_t);
 
 /* Memory types, encoded under Xen's choice of MSR_PAT. */
 #define _PAGE_WB         (                                0)
-#define _PAGE_WT         (                        _PAGE_PWT)
+#define _PAGE_WC         (                        _PAGE_PWT)
 #define _PAGE_UCM        (            _PAGE_PCD            )
 #define _PAGE_UC         (            _PAGE_PCD | _PAGE_PWT)
-#define _PAGE_WC         (_PAGE_PAT                        )
 #define _PAGE_WP         (_PAGE_PAT |             _PAGE_PWT)
+#define _PAGE_WT         (_PAGE_PAT | _PAGE_PCD | _PAGE_PWT)
 
 /*
  * Debug option: Ensure that granted mappings are not implicitly unmapped.
diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 9535b1f7f49d75e6853365e6109a33359c740f4f..04e9674ea76ce11a2ac00fb7457f3ce97db24d70 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -92,18 +92,15 @@
                           X86_EFLAGS_NT|X86_EFLAGS_DF|X86_EFLAGS_IF|    \
                           X86_EFLAGS_TF)
 
-/*
- * Host IA32_CR_PAT value to cover all memory types.  This is not the default
- * MSR_PAT value, and is an ABI with PV guests.
- */
+/* Linux PAT, required by i915 driver */
 #define XEN_MSR_PAT (X86_MT_WB  << 0x00 | \
-                     X86_MT_WT  << 0x08 | \
+                     X86_MT_WC  << 0x08 | \
                      X86_MT_UCM << 0x10 | \
                      X86_MT_UC  << 0x18 | \
-                     X86_MT_WC  << 0x20 | \
+                     X86_MT_WB  << 0x20 | \
                      X86_MT_WP  << 0x28 | \
-                     X86_MT_UC  << 0x30 | \
-                     X86_MT_UC  << 0x38 | \
+                     X86_MT_UCM << 0x30 | \
+                     X86_MT_WT  << 0x38 | \
                      0)
 
 #ifndef __ASSEMBLY__
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index a199bb05031e0fb1ea4c25ef1d641afe71690d74..b844ff441d8ddd371bc69f4e43c796d03638cbb3 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6382,8 +6382,6 @@ static void __init __maybe_unused build_assertions(void)
 {
     /* A bunch of static assertions to check that the XEN_MSR_PAT is valid
      * and consistent with the _PAGE_* macros */
-    BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL &&
-                 "wrong XEN_MSR_PAT breaks PV guests");
     BUILD_BUG_ON(_PAGE_WB && "Linux requires _PAGE_WB to be 0");
 #define PAT_VALUE(v) (0xFF & (XEN_MSR_PAT >> (8 * (v))))
 #define BAD_VALUE(v) ((v) < 0 || (v) > 7 ||                                    \
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:15:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:15:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462740.720950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5axs-0006QN-Fb; Wed, 14 Dec 2022 23:15:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462740.720950; Wed, 14 Dec 2022 23:15:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5axs-0006Py-77; Wed, 14 Dec 2022 23:15:04 +0000
Received: by outflank-mailman (input) for mailman id 462740;
 Wed, 14 Dec 2022 23:15:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5avw-0000Gw-0C
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 23:13:04 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da2c3ab2-7c04-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 00:13:01 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id DFD67320055E;
 Wed, 14 Dec 2022 18:12:58 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Wed, 14 Dec 2022 18:12:59 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 18:12:57 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da2c3ab2-7c04-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1671059578; x=1671145978; bh=lFRjAyz2V8QJ7yU1YRzmTT1WULJJ6rEk/i2
	CB/Rdt1o=; b=jvMFriIeUh9v5EFmbRiCq39BgKcp7hyqpBmeUxI7IXBOWIMRWBz
	Aa5EbEaMP8Tn+eH8liPyFRBrsuZdSV9o84JiQwa9B8ESttOQujhYflBvtO6oLf0R
	7XNI7gTVfygZyZ2Qug4IP4adVYnsLuvoq5njy3aOszrr6sc12u42WTP2XdTcP93n
	ZBKgTIl9uhoemRb6RHXoE/Q0BPVgYsO1dPx8qkRqRLwAJAl6TuibYSDTlahnawhh
	stQNSYT6X+soi+BQ1vDJ0nx5iAecjOLPwAG/iKNE3/zIdiLL6BjgEQymN9vBP7gA
	VBWPSQjvmUZ5Q913txQ5MY+VAm/fXpF14zg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671059578; x=1671145978; bh=lFRjAyz2V8QJ7
	yU1YRzmTT1WULJJ6rEk/i2CB/Rdt1o=; b=ivrcwgHbGcqD0QcU7FgPjKq3L/ois
	3yM4zwwazX6ivrSnQXYw8GQ7F70t/tL0R9D7Kzi0eP7zkneSoGAzFZpgg2PyvAKN
	KOsw0IRx1nczh6d1FekAz2iVF/oXDqE5cjqJ9I5RhViFQc9dxRHGky6Z7IxGWUZM
	40ulTVU6pQp5jwh7aHIb9dqcuOStx7ItQwUpoXXw7EbC28JNWPHhX1f8HNuS7MtP
	ZKMR+mi9VOSlKXitBXM7Ie1vzHAZvjnaeqQDBW2zaQxAkc2saNkxZP5dsUF4LCgv
	sBItvhC1JCd776nn5A1GwIZko1QndQMB26E8x/6AAV1mPgVqY5NiRr+pQ==
X-ME-Sender: <xms:eliaY40GoUV8doyrvOQcY8_thIr9y4OV3iA9Z3oprdLq1juPnF4H9A>
    <xme:eliaYzGUZOnl-x_AvQG3I8L-ol1S3y0GKxuLRsWAFjzSaA690sPd9lBCxuYgUmwWw
    Y1uOtFpU7_AVGw>
X-ME-Received: <xmr:eliaYw53g889ffoyTnu7YXGkH-ykQpOcFOoU-SumnbQ_7aynaeidckR51r3VgIpjXwS5gQZdianL>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeggddtgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:eliaYx2xu6F3Ljn4P03zv7ZzJiFlePVoW5REfu50xDOf-nkZBCGymw>
    <xmx:eliaY7E7CidpLOOnYz14cTUp54Hfq9Ntaf8-6dJXnE8F9N9wrKxndA>
    <xmx:eliaY68MD9fFRFvsBTUjAH9Z71z8XAnxr2JOs9xDJMRLunMLyTz3xA>
    <xmx:eliaYxY_ViHBgBd21buNzqOJlUuZU9p2_Sufv5joBmk2Q3HoZjCRIQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v3 08/12] x86: Remove MEMORY_NUM_TYPES and NO_HARDCODE_MEM_TYPE
Date: Wed, 14 Dec 2022 18:11:58 -0500
Message-Id: <1de1a7456e4501bc67faa8ee17af76ca1688781e.1671057808.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671057808.git.demi@invisiblethingslab.com>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No functional change intended.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v2:

- Keep MTRR_NUM_TYPES and adjust commit message accordingly
---
 xen/arch/x86/hvm/mtrr.c         | 18 +++++++++---------
 xen/arch/x86/include/asm/mtrr.h |  2 --
 xen/arch/x86/mm/shadow/multi.c  |  2 +-
 3 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 093103f6c768cf64f880d1b20e1c14f5918c1250..05e978041d62fd0d559462de181a04bef8a5bca9 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -38,7 +38,7 @@ static const uint8_t pat_entry_2_pte_flags[8] = {
 
 /* Effective mm type lookup table, according to MTRR and PAT. */
 static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
-#define RS MEMORY_NUM_TYPES
+#define RS MTRR_NUM_TYPES
 #define UC X86_MT_UC
 #define WB X86_MT_WB
 #define WC X86_MT_WC
@@ -66,9 +66,9 @@ static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
  * Reverse lookup table, to find a pat type according to MTRR and effective
  * memory type. This table is dynamically generated.
  */
-static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
-    { [0 ... MTRR_NUM_TYPES-1] =
-        { [0 ... MEMORY_NUM_TYPES-1] = INVALID_MEM_TYPE }
+static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MTRR_NUM_TYPES] =
+    { [0 ... MTRR_NUM_TYPES - 1] =
+        { [0 ... MTRR_NUM_TYPES - 1] = INVALID_MEM_TYPE }
     };
 
 /* Lookup table for PAT entry of a given PAT value in host PAT. */
@@ -85,7 +85,7 @@ static int __init cf_check hvm_mtrr_pat_init(void)
         {
             unsigned int tmp = mm_type_tbl[i][j];
 
-            if ( tmp < MEMORY_NUM_TYPES )
+            if ( tmp < MTRR_NUM_TYPES )
                 mtrr_epat_tbl[i][tmp] = j;
         }
     }
@@ -317,11 +317,11 @@ static uint8_t effective_mm_type(struct mtrr_state *m,
                                  uint8_t gmtrr_mtype)
 {
     uint8_t mtrr_mtype, pat_value;
-   
+
     /* if get_pat_flags() gives a dedicated MTRR type,
      * just use it
-     */ 
-    if ( gmtrr_mtype == NO_HARDCODE_MEM_TYPE )
+     */
+    if ( gmtrr_mtype == MTRR_NUM_TYPES )
         mtrr_mtype = mtrr_get_type(m, gpa, 0);
     else
         mtrr_mtype = gmtrr_mtype;
@@ -346,7 +346,7 @@ uint32_t get_pat_flags(struct vcpu *v,
     /* 1. Get the effective memory type of guest physical address,
      * with the pair of guest MTRR and PAT
      */
-    guest_eff_mm_type = effective_mm_type(g, pat, gpaddr, 
+    guest_eff_mm_type = effective_mm_type(g, pat, gpaddr,
                                           gl1e_flags, gmtrr_mtype);
     /* 2. Get the memory type of host physical address, with MTRR */
     shadow_mtrr_type = mtrr_get_type(&mtrr_state, spaddr, 0);
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index e4f6ca6048334b2094a1836cc2f298453641232f..4b7f840a965954cc4b59698327a37e47026893a4 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -4,8 +4,6 @@
 #include <xen/mm.h>
 
 #define MTRR_NUM_TYPES       X86_MT_UCM
-#define MEMORY_NUM_TYPES     MTRR_NUM_TYPES
-#define NO_HARDCODE_MEM_TYPE MTRR_NUM_TYPES
 
 #define NORMAL_CACHE_MODE          0
 #define NO_FILL_CACHE_MODE         2
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index f5f7ff021bd9e057c5b6f6329de7acb5ef05d58f..1faf9940db6b0afefc5977c00c00fb6a39cd27d2 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -578,7 +578,7 @@ _sh_propagate(struct vcpu *v,
                             gflags,
                             gfn_to_paddr(target_gfn),
                             mfn_to_maddr(target_mfn),
-                            NO_HARDCODE_MEM_TYPE);
+                            MTRR_NUM_TYPES);
             }
     }
 
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:15:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:15:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462756.720961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5axw-0006yB-Mi; Wed, 14 Dec 2022 23:15:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462756.720961; Wed, 14 Dec 2022 23:15:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5axw-0006xj-GI; Wed, 14 Dec 2022 23:15:08 +0000
Received: by outflank-mailman (input) for mailman id 462756;
 Wed, 14 Dec 2022 23:15:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IksU=4M=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5aw0-0000n2-UH
 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2022 23:13:09 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dbf4a208-7c04-11ed-8fd2-01056ac49cbb;
 Thu, 15 Dec 2022 00:13:04 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id D503432005C1;
 Wed, 14 Dec 2022 18:13:01 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Wed, 14 Dec 2022 18:13:02 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 14 Dec 2022 18:13:00 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dbf4a208-7c04-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1671059581; x=1671145981; bh=87eKmhvdtfrb1isW/t1MA2+ANFEQ1h0ZL33
	QPdjF+bA=; b=FA52gg/ldVP8/mDHjIl3wzYIM24bt2ZmmNGxVOELfKtAeM0mJL5
	HE8FIsSQ8VhSnyx6kX6EWHJArPPVvnWb1x2aSaWbL+Gxx4O5Qh8easV6iuwhUYGo
	BwDM+xq0hpQ3+V0/8ItjYBP6gqyYNkljpIq4XFRveh3CwSte30m2LG1MSPZyb6b9
	qyX9uAUkiEQzIP5H/F9fyURzlyYU4aXSPUltwqcDLiaRj/ROMVCi1Ks2ui6RTKsm
	7VXUt2MKamY2DVf6sdsl7pIfCNReHGNG+Ch3OpNIQrHeeSjfdcVXdOW1z5ug3MIU
	FgWrmsq3C+qt8YGgO7aBj9lLdQdDBQF6hFw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671059581; x=1671145981; bh=87eKmhvdtfrb1
	isW/t1MA2+ANFEQ1h0ZL33QPdjF+bA=; b=s4bUEdXREhud28zLogUKCzxjWGPc/
	6gY0A0KdVABLIrvLofBIrvh5e1GA0LmIMvoCzvIhtI0eexZCWEej2TFut4I4Kw9h
	BTRyKA2i7CSalUdptKwMT6wY9KYDHXY57ue2LhBP29nyHwK5qyCBt8bOGDiZMpPY
	MLF2CHRKMVpTnNGjsjv4Sv88UF+3wKlLsoeWKN6v/bw3d7Rl+1+mXex34kB50vLj
	1tKXLK4J6JdG5I3+r7lZCTZvpFmdTF/CVe+2sxsHTyRybmx0ECue2NgsYMGeuIMl
	Vnke+nGbovUPVXHrm3fcXbEbzWo7BndZign6S9nSiksmIAZAYa3g5zLzA==
X-ME-Sender: <xms:fViaY4E_owDu2I-8xUmvrWpVAq9wA6PgH_SBmCKKwI5GE3-1Pl2sZw>
    <xme:fViaYxUMcqHatRRPZ0vkY_79xndrJ7dxXFvC_nx_niIHXrJpouPwqN096xzROF4Q4
    O4YTv19nSZXGkw>
X-ME-Received: <xmr:fViaYyJbJoVpZgvWv-J_rnZ6gLsO1vK1DIhInPR6qgNtnRW7BwrcC6C9yY7xcdC4ARJoGpnp_sBP>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeggddtgecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedunecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:fViaY6HFcOusLHEintFQfvliru_IXDpQOD9M7NP-jC-XTb_D-ENgVA>
    <xmx:fViaY-WPQpuJIhrVUxFXaWS6pg_CUD6zmbiJe39OuqEABzoWTxBwCA>
    <xmx:fViaY9OeoaY9Ca4mL-OaWLCfwPSL6foeRQY-vyQ6PSf-gHA19_6zBg>
    <xmx:fViaYypQil7AcoP8uzLaLA1aeLuCYQxXC6BfLGZjmqMQPVemAl-3xg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v3 09/12] x86: Derive XEN_MSR_PAT from its individual entries
Date: Wed, 14 Dec 2022 18:11:59 -0500
Message-Id: <06d61ac0d94ac66476cb7207b00ab1f4eda36464.1671057808.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671057808.git.demi@invisiblethingslab.com>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This avoids it being a magic constant that is difficult for humans to
decode.  Use BUILD_BUG_ON to check that the old and new values are
identical.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/include/asm/processor.h | 10 +++++++++-
 xen/arch/x86/mm.c                    |  6 ++++++
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 8e2816fae9b97bd4e153a30cc3802971fe0355af..9535b1f7f49d75e6853365e6109a33359c740f4f 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -96,7 +96,15 @@
  * Host IA32_CR_PAT value to cover all memory types.  This is not the default
  * MSR_PAT value, and is an ABI with PV guests.
  */
-#define XEN_MSR_PAT _AC(0x050100070406, ULL)
+#define XEN_MSR_PAT (X86_MT_WB  << 0x00 | \
+                     X86_MT_WT  << 0x08 | \
+                     X86_MT_UCM << 0x10 | \
+                     X86_MT_UC  << 0x18 | \
+                     X86_MT_WC  << 0x20 | \
+                     X86_MT_WP  << 0x28 | \
+                     X86_MT_UC  << 0x30 | \
+                     X86_MT_UC  << 0x38 | \
+                     0)
 
 #ifndef __ASSEMBLY__
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index b73cb29327ba49703673886d09d79f2f8928a6c0..a8def47aa3bf9770576c62a190032d45d63dd86e 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6355,6 +6355,12 @@ unsigned long get_upper_mfn_bound(void)
     return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1;
 }
 
+static void __init __maybe_unused build_assertions(void)
+{
+    BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL &&
+                 "wrong XEN_MSR_PAT breaks PV guests");
+}
+
 /*
  * Local variables:
  * mode: C
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Wed Dec 14 23:23:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 14 Dec 2022 23:23:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462798.720972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5b5c-0001HC-GJ; Wed, 14 Dec 2022 23:23:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462798.720972; Wed, 14 Dec 2022 23:23:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5b5c-0001H5-DU; Wed, 14 Dec 2022 23:23:04 +0000
Received: by outflank-mailman (input) for mailman id 462798;
 Wed, 14 Dec 2022 23:23:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5b5b-0001Gp-5i; Wed, 14 Dec 2022 23:23:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5b5b-0008Kh-2P; Wed, 14 Dec 2022 23:23:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5b5a-0000YW-Nk; Wed, 14 Dec 2022 23:23:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5b5a-0003FZ-NM; Wed, 14 Dec 2022 23:23:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aalsLdX9vZqcLBr6h1j9m/fnUfxNATXJUsVN1C5oqnM=; b=xiVbfLTm5KTO+BcQ2vurrtOkqu
	0jYf1288RPyJW090wR4lah7Cycsk7gKlJIUmZP6Cr+rmB7RRBvDYuZ7J8EifVDAvCe//iXXUGYWZH
	8QLaA1V6ygWE8TcRF57YFtpBKnf+MKgcJYxB0CsTXxCCTXcGgKqHqOPcIUJyKlsWhRG0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175221-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175221: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=cda98df16228970dcf9a4ce2af5368219711b4b0
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 14 Dec 2022 23:23:02 +0000

flight 175221 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175221/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 cda98df16228970dcf9a4ce2af5368219711b4b0
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    0 days
Testing same since   175214  2022-12-14 18:42:16 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cda98df16228970dcf9a4ce2af5368219711b4b0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:09 2022 +0100

    OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported
    
    Remove global variables, store the state in PlatformInfoHob instead.
    Probing for fw_cfg happens on first use, at library initialization
    time the Hob might not be present yet.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 81bbc1452c972218f071cd4a8f5899df974b1dae
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:08 2022 +0100

    OvmfPkg/QemuFwCfgLib: rewrite fw_cfg probe
    
    Move the code to a new QemuFwCfgProbe() function.  Use direct Io*() calls
    instead of indirect QemuFwCfg*() calls to make sure we don't get
    recursive calls.  Also simplify CC guest detection.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit e59747bd8246135faeecc18879d62db66a6acfc2
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:07 2022 +0100

    OvmfPkg/DebugLibIoPort: use Rom version for PEI
    
    This variant does not use global variables.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit f6a196c7eb34affff0cfe1864e126953096885e1
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:06 2022 +0100

    OvmfPkg/PlatformPei: remove mFeatureControlValue
    
    Use PlatformInfoHob->FeatureControlValue instead.
    OnMpServicesAvailable() will find PlatformInfoHob using
    GetFirstGuidHob() and pass a pointer to the WriteFeatureControl
    callback.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 862614e2544997c848fab7388733774ae0ea92d8
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:05 2022 +0100

    OvmfPkg/PlatformPei: remove mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable.  Let
    BuildPlatformInfoHob() allocate and return PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 4bc2c748516e5c4a8bb86093cd5e1b80a9f35c0f
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:04 2022 +0100

    OvmfPkg/PlatformPei: Verification: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in S3Verification() and
    Q35BoardVerification() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 7dbb8a24d1a3403f85d959bc1234b9f4a92bfbf0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:03 2022 +0100

    OvmfPkg/PlatformPei: NoExec: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in NoexecDxeInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit cc6efda7770b8cabea3ae8c6054d47c4a8e229c3
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:02 2022 +0100

    OvmfPkg/PlatformPei: MemTypeInfo: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in MemTypeInfoInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 27874a382c38a95d3ab613eebd35c152ca9b3897
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:01 2022 +0100

    OvmfPkg/PlatformPei: PeiMemory: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PublishPeiMemory()
    and GetPeiMemoryCap() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 00743d144bc5b643e9323ad66f16cb48cf338705
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:00 2022 +0100

    OvmfPkg/PlatformPei Q35 SMM helpers: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in
    Q35TsegMbytesInitialization() and
    Q35SmramAtDefaultSmbaseInitialization() ) functions.
    Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 9d9d15b42a5e13bb18729da0f608c629aa274e80
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:59 2022 +0100

    OvmfPkg/PlatformPei: PeiFv: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PeiFvInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 78c373f2a5273af00b23b55d3e8c41583310cfb6
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:58 2022 +0100

    OvmfPkg/PlatformPei: AmdSev: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in AmdSevInitialize()
    and AmdSevEsInitialize() functions.  Pass a pointer to the
    PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 916825b84f23b691dcce09a57625fb8fcb0cbb48
Author: Jeff Brasen <jbrasen@nvidia.com>
Date:   Tue Nov 15 11:01:06 2022 -0700

    DynamicTablesPkg: SSDT _LPI revision is incorrect
    
    _LPI Revision should be 0 per the ACPI 6.5 specification.
    "The revision number of the _LPI object. Current revision is 0."
    
    Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
    Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 01:42:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 01:42:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462832.721013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5dFu-0000yJ-Ly; Thu, 15 Dec 2022 01:41:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462832.721013; Thu, 15 Dec 2022 01:41:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5dFu-0000yC-HO; Thu, 15 Dec 2022 01:41:50 +0000
Received: by outflank-mailman (input) for mailman id 462832;
 Thu, 15 Dec 2022 01:41:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5dFt-0000y2-Gf; Thu, 15 Dec 2022 01:41:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5dFt-0001s0-F2; Thu, 15 Dec 2022 01:41:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5dFt-0003um-1n; Thu, 15 Dec 2022 01:41:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5dFt-0001hd-1K; Thu, 15 Dec 2022 01:41:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2RrkfDsY8PngWw1YLkPdAYZGk/e4OMb3AEVmcnhtzv8=; b=SeQePvI1FgK6kad8xO9tAt0pse
	Y6oOsURLSQ1qN2q1ZuGKEayhOsMG6a0H0W+wUcSAs2WOCLUDF0BOwUMTa7LA4xj4PQk2ouHD0O5AR
	jcyI1GojGK9KfkVCV76DkfEDzcUGuR+s3bOub7XvJtlwup1g4VYBL3lsEberClZDMfxM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175226-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175226: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=549b042943a57b748ce80070d1174e4ff5b8ef0b
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 01:41:49 +0000

flight 175226 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175226/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  549b042943a57b748ce80070d1174e4ff5b8ef0b
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    1 days
Testing same since   175199  2022-12-14 12:01:52 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 549b042943a57b748ce80070d1174e4ff5b8ef0b
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Wed Dec 14 12:04:26 2022 +0100

    drivers/char: support up to 1M BAR0 of xhci
    
    AMD's XHCI has BAR0 of 1M (compared to 64K on Intel). Map it as a whole
    (reserving more space in the fixmap). Make fixmap slot conditional on
    CONFIG_XHCI.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit dd54ea500be80f347402d75f3e4e7061e7db78d2
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:38 2022 +0100

    docs: add documentation for generic virtio devices
    
    This patch updates xl.cfg man page with details of generic Virtio device
    related information.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit 953efa0b7b188458b18e4a727f3b1dfa77eacb61
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:25 2022 +0100

    xl: add support to parse generic virtio device
    
    This patch adds basic support for parsing generic Virtio backend.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 43ba5202e2eebd350161a8db674bf928c3e6f859
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:09 2022 +0100

    libxl: add support for generic virtio device
    
    This patch adds basic support for configuring and assisting generic
    Virtio backends, which could run in any domain.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
    region) and pass them to the backend and update guest device-tree to
    create a DT node for the Virtio devices.
    
    Add special support for I2C and GPIO devices, which require the
    "compatible" DT property to be set, among other device specific
    properties. Support for generic virtio devices is also added, which just
    need a MMIO node but not any special DT properties, for such devices the
    user needs to pass "virtio,device" in the "type" string.
    
    The parsing of generic virtio device configurations will be done in a
    separate commit.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit db75092aea988b4be78c8273626f2ee40b4012b8
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:21 2022 +0100

    tools/xenstore: enhance hashtable implementation
    
    Today it is possible to set a flag when calling hashtable_destroy() in
    order to specify whether the data associated with the hashtable entries
    should be freed or not. The keys of the entries will always be freed.
    
    Change that by replacing the flag of hashtable_destroy() by two flags
    for create_hashtable() which will specify whether the data and/or the
    key of each entry should be freed or not.
    
    This will enable users to have the key e.g. as part of the data.
    
    Add a new function hashtable_iterate() to call a user specified
    function for each entry in the hashtable.
    
    Add new primes to the primetable in order to support smaller sizes of
    the hashtable. The primes are selected according to:
    
    https://planetmath.org/goodhashtableprimes
    
    Update the URL in the source as the old one wasn't correct any longer.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit bb65cbd81caaaaf325d23f63b4c2165960563459
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:04 2022 +0100

    tools/xenstore: preserve errno across corrupt()
    
    Let corrupt() preserve errno in order to be able to simplify error
    handling in future.
    
    This is rather easy as the errno value when entering corrupt() is
    saved already.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 6a0d1914f0b19742436367a0019602992573bd4b
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:01:47 2022 +0100

    tools/xenstore: let tdb_logger() preserve errno
    
    tdb_logger() is called by TDB for logging errors. As errno is checked
    often after doing the logging, tdb_logger() should preserve errno.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 8d7acf3f7d8d2555c78421dced45bc49f79ae806
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Wed Dec 14 12:00:35 2022 +0100

    EFI: relocate the ESRT when booting via multiboot2
    
    This was missed in the initial patchset.
    
    Move efi_relocate_esrt() up to avoid adding a forward declaration.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 01:44:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 01:44:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462845.721024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5dIT-0001cx-6N; Thu, 15 Dec 2022 01:44:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462845.721024; Thu, 15 Dec 2022 01:44:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5dIT-0001cq-3D; Thu, 15 Dec 2022 01:44:29 +0000
Received: by outflank-mailman (input) for mailman id 462845;
 Thu, 15 Dec 2022 01:44:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5dIS-0001cg-N8; Thu, 15 Dec 2022 01:44:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5dIS-0001uf-LT; Thu, 15 Dec 2022 01:44:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5dIS-0003zX-Ba; Thu, 15 Dec 2022 01:44:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5dIS-0003vN-BA; Thu, 15 Dec 2022 01:44:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kXq/48dcntQZEG0Wcx/HnUipWRLqkwECSrIFkjMCX/A=; b=A/GelL+1feCKbf7aFxTLpxgaUc
	0NttrTUQlJjozljptWFAftukhRmhzM1zmo0Jp2KnAKyML7LjAYCGlgb9BnTHMCh4tonvkvB//p6FN
	WQUWrDlKx/oOm3gbAaCR0Cuxv1AznfS176lR8JI0yoqE3JQTnuhjU3e3FSkhVlVbTDNM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175201-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175201: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=e2ca6ba6ba0152361aa4fcbf6067db71b2c7a770
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 01:44:28 +0000

flight 175201 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175201/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                e2ca6ba6ba0152361aa4fcbf6067db71b2c7a770
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   68 days
Failing since        173470  2022-10-08 06:21:34 Z   67 days  137 attempts
Testing same since   175201  2022-12-14 13:41:55 Z    0 days    1 attempts

------------------------------------------------------------
2907 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 396974 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 01:45:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 01:45:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462856.721035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5dJC-0002XW-GD; Thu, 15 Dec 2022 01:45:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462856.721035; Thu, 15 Dec 2022 01:45:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5dJC-0002XP-DX; Thu, 15 Dec 2022 01:45:14 +0000
Received: by outflank-mailman (input) for mailman id 462856;
 Thu, 15 Dec 2022 01:45:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5dJB-0002XD-UE; Thu, 15 Dec 2022 01:45:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5dJB-0001vb-QI; Thu, 15 Dec 2022 01:45:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5dJB-00040G-I3; Thu, 15 Dec 2022 01:45:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5dJB-0003vn-Hd; Thu, 15 Dec 2022 01:45:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4yrAbr/uXSVhGYKYw3SuUbYt6Itx+efipgpnJDN/K28=; b=5JdbD7lKsf8YWplNMoBcme5tyP
	pKe4zaVy+f2iwmU1qWI9JvtNL/f/yhWsfjZXosLJ7HWXlQm8GMbnnlBH8n022hYNdLYpMeJgpq7im
	SFGQXUq6UwYi1MPBo5x0FZJBbj0ZXNV2zWEuBc2OsNeaGatVvgGCYujlqypsrmwV6lvc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175225-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175225: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=cda98df16228970dcf9a4ce2af5368219711b4b0
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 01:45:13 +0000

flight 175225 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175225/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 cda98df16228970dcf9a4ce2af5368219711b4b0
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    0 days
Testing same since   175214  2022-12-14 18:42:16 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit cda98df16228970dcf9a4ce2af5368219711b4b0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:09 2022 +0100

    OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported
    
    Remove global variables, store the state in PlatformInfoHob instead.
    Probing for fw_cfg happens on first use, at library initialization
    time the Hob might not be present yet.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 81bbc1452c972218f071cd4a8f5899df974b1dae
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:08 2022 +0100

    OvmfPkg/QemuFwCfgLib: rewrite fw_cfg probe
    
    Move the code to a new QemuFwCfgProbe() function.  Use direct Io*() calls
    instead of indirect QemuFwCfg*() calls to make sure we don't get
    recursive calls.  Also simplify CC guest detection.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit e59747bd8246135faeecc18879d62db66a6acfc2
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:07 2022 +0100

    OvmfPkg/DebugLibIoPort: use Rom version for PEI
    
    This variant does not use global variables.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit f6a196c7eb34affff0cfe1864e126953096885e1
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:06 2022 +0100

    OvmfPkg/PlatformPei: remove mFeatureControlValue
    
    Use PlatformInfoHob->FeatureControlValue instead.
    OnMpServicesAvailable() will find PlatformInfoHob using
    GetFirstGuidHob() and pass a pointer to the WriteFeatureControl
    callback.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 862614e2544997c848fab7388733774ae0ea92d8
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:05 2022 +0100

    OvmfPkg/PlatformPei: remove mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable.  Let
    BuildPlatformInfoHob() allocate and return PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 4bc2c748516e5c4a8bb86093cd5e1b80a9f35c0f
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:04 2022 +0100

    OvmfPkg/PlatformPei: Verification: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in S3Verification() and
    Q35BoardVerification() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 7dbb8a24d1a3403f85d959bc1234b9f4a92bfbf0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:03 2022 +0100

    OvmfPkg/PlatformPei: NoExec: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in NoexecDxeInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit cc6efda7770b8cabea3ae8c6054d47c4a8e229c3
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:02 2022 +0100

    OvmfPkg/PlatformPei: MemTypeInfo: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in MemTypeInfoInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 27874a382c38a95d3ab613eebd35c152ca9b3897
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:01 2022 +0100

    OvmfPkg/PlatformPei: PeiMemory: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PublishPeiMemory()
    and GetPeiMemoryCap() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 00743d144bc5b643e9323ad66f16cb48cf338705
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:00 2022 +0100

    OvmfPkg/PlatformPei Q35 SMM helpers: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in
    Q35TsegMbytesInitialization() and
    Q35SmramAtDefaultSmbaseInitialization() ) functions.
    Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 9d9d15b42a5e13bb18729da0f608c629aa274e80
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:59 2022 +0100

    OvmfPkg/PlatformPei: PeiFv: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PeiFvInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 78c373f2a5273af00b23b55d3e8c41583310cfb6
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:58 2022 +0100

    OvmfPkg/PlatformPei: AmdSev: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in AmdSevInitialize()
    and AmdSevEsInitialize() functions.  Pass a pointer to the
    PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 916825b84f23b691dcce09a57625fb8fcb0cbb48
Author: Jeff Brasen <jbrasen@nvidia.com>
Date:   Tue Nov 15 11:01:06 2022 -0700

    DynamicTablesPkg: SSDT _LPI revision is incorrect
    
    _LPI Revision should be 0 per the ACPI 6.5 specification.
    "The revision number of the _LPI object. Current revision is 0."
    
    Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
    Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 03:20:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 03:20:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.462991.721076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5emk-0006yx-LX; Thu, 15 Dec 2022 03:19:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 462991.721076; Thu, 15 Dec 2022 03:19:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5emk-0006yq-Ih; Thu, 15 Dec 2022 03:19:50 +0000
Received: by outflank-mailman (input) for mailman id 462991;
 Thu, 15 Dec 2022 03:19:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=urv3=4N=zlw.email=sisyphean@srs-se1.protection.inumbo.net>)
 id 1p5emi-0006yi-NZ
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 03:19:49 +0000
Received: from mail.zlw.email (unknown [103.181.164.111])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4bb99ffd-7c27-11ed-8fd2-01056ac49cbb;
 Thu, 15 Dec 2022 04:19:44 +0100 (CET)
Received: from localhost (unknown [127.0.0.1])
 by mail.zlw.email (Postfix) with ESMTP id ECEA7174183;
 Thu, 15 Dec 2022 03:19:52 +0000 (UTC)
Received: from mail.zlw.email ([127.0.0.1])
 by localhost (mail.zlw.email [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id bZAy-OM7TXjQ; Thu, 15 Dec 2022 11:19:46 +0800 (CST)
Received: from [192.168.66.233] (OpenWrt.lan [192.168.66.1])
 by mail.zlw.email (Postfix) with ESMTPSA id 16475174169;
 Thu, 15 Dec 2022 11:19:45 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4bb99ffd-7c27-11ed-8fd2-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zlw.email; h=
	content-transfer-encoding:content-type:content-type:in-reply-to
	:references:to:from:from:content-language:subject:subject
	:user-agent:mime-version:date:date:message-id; s=dkim; t=
	1671074386; x=1673666387; bh=mqAJqMuSwym8RSpQzzA8NCvzBOyV6x6TAZz
	eSczqg7U=; b=gz3siLL5DDl0GAkNp8sB6j3SzRasWS5z1WvW6Gf+EsCi38PHcRD
	SP5CrRq+ETl/pVXcd5kx9NSs882UEP4U7WU0+bR3vqyTUCwdkx42XvG3yhir6Z+x
	1hOIPjJWP3hC8m9D7SA2g4Rq5SB7At9I5j2Hl6ADEBT6U+2MlhodBcDc=
X-Virus-Scanned: amavisd-new at zlw.email
Message-ID: <eec8c135-b2b6-09cf-3786-8c57723a92d4@zlw.email>
Date: Thu, 15 Dec 2022 11:19:13 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [BUG]Add PCIE devie to SMMUv3 fail
Content-Language: en-US
From: sisyphean <sisyphean@zlw.email>
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <793eb471-e68b-c3ff-52e8-20d77252c0bf@zlw.email>
 <A9FCD688-3CA2-484A-ADC1-F1235F18890F@arm.com>
 <75bbfc8c-b89f-9478-63af-c37fda0ad3c0@zlw.email>
 <5BCFEC7E-85B6-4464-A2B1-EA08C6E2EB20@arm.com>
 <340463d2-528e-848f-0ec2-a4cc7ba04399@zlw.email>
 <9478D04C-9BD6-44C1-ADBD-EAA688897811@arm.com>
 <d0f62d31-5673-e804-6e38-6e552989f249@zlw.email>
In-Reply-To: <d0f62d31-5673-e804-6e38-6e552989f249@zlw.email>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


在 2022/12/15 09:30, sisyphean 写道:
> Hi,
>
> 在 2022/12/14 21:05, Rahul Singh 写道:
>> Hi Sisphean,
>>
>>> On 13 Dec 2022, at 1:18 am, sisyphean <sisyphean@zlw.email> wrote:
>>>
>>> Hi,
>>>
>>> 在 2022/12/13 00:30, Rahul Singh 写道:
>>>> Hi Sisyphean,
>>>>
>>>>> On 12 Dec 2022, at 5:49 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>>
>>>>> Hi,
>>>>> 在 2022/12/9 17:50, Rahul Singh 写道:
>>>>>> Hi Sisyphean,
>>>>>>
>>>>>>> On 9 Dec 2022, at 6:15 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I try to run XEN on my ARM board(Sorry, for some commercial 
>>>>>>> reasons, I can't tell you
>>>>>>> on which platform I run XEN)  and add PCIE device passthrough to 
>>>>>>> DomU.But an error
>>>>>>> occurred while adding the PCIE device to SMMUv3.
>>>>>> PCI passthrough support is not fully upstream to Xen on ARM. We 
>>>>>> have working
>>>>>> PCI passthrough branch that you can use to test it.
>>>>>>
>>>>>> https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough 
>>>>>>
>>>>>>
>>>>>>> Through reading the code and tracing debugging, the error is 
>>>>>>> found in the function
>>>>>>> arm_smmu_add_device, which will obtain and determine whether the 
>>>>>>> fwspec of the
>>>>>>> device to be added to SMMU exists.But for the XEN of arm, the 
>>>>>>> fwspec of the device is
>>>>>>> created and added by judging whether the iommu field exists in 
>>>>>>> the device node when
>>>>>>> XEN parses the device tree.However, the PCIE device does not 
>>>>>>> appear in the device tree,
>>>>>>> so there will be no fwspec for all PCIE devices. When attempting 
>>>>>>> to add a PCIE device to
>>>>>>> SMMU, a ENODEV error will be returned.
>>>>>> As of now Xen doesn’t support to add PCI device to IOMMU on ARM.
>>>>>>> In addition, the code at xen/drivers/passthrough/pci.c also 
>>>>>>> verifies the above view.
>>>>>>> For PCIE devices, pdev is alloc in function pci_add_device by 
>>>>>>> alloc_pdev.However,
>>>>>>> the function alloc_pdev does not create and add fwspec to the 
>>>>>>> PCIE device.Therefore,
>>>>>>> when function pci_add_device executes to iommu_add_device,it 
>>>>>>> will get the error
>>>>>>> return of ENODEV.
>>>>>>>
>>>>>>> How can I resolve the above errors?
>>>>>> If you want to test the PCI passthrough please follow below steps.
>>>>>>
>>>>>> Xen setup:
>>>>>>      • A checkout of the “integration/pci-passthrough” branch 
>>>>>> from the  gitlab 
>>>>>> https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough
>>>>>>      • Pass iommu=yes  and pci-passthrough=on to Xen command line 
>>>>>> to enable PCI passthrough.
>>>>>>
>>>>>>   Linux Kernel setup:
>>>>>>        • Some changes are required for the kernel to work with 
>>>>>> PCI passthrough. First are some configuration options, enable 
>>>>>> them in kernel config.
>>>>>>           CONFIG_XEN=y
>>>>>>           CONFIG_XEN_BACKEND=y
>>>>>>           CONFIG_XEN_PCIDEV_BACKEND=y
>>>>>>      • Then a patch needs to be applied for enabling the pciback 
>>>>>> driver. Patch is attached in this email.
>>>>>>   Using PCI passthrough:
>>>>>>        • In order to pass a device to a guest, you first need its 
>>>>>> PCI address(SBDF). You can either get it from a bare-metal
>>>>>>        Linux running on the platform or by having pciutils  
>>>>>> installed (if you are using a yocto-based dom0 or have apt 
>>>>>> available), which provides lspci.
>>>>>>         For example, let's pass one ethernet interface to the 
>>>>>> guest. Running lspci gives us this output (truncated) :
>>>>>>         0000:00:00.0 Host bridge: Ampere Computing, LLC Device e100
>>>>>>         0000:00:01.0 PCI bridge: Ampere Computing, LLC Device 
>>>>>> e101 (rev 04)
>>>>>>         0000:01:00.0 Ethernet controller: Intel Corporation 
>>>>>> Ethernet Controller X710/X557-AT 10GBASE-T (rev 01)
>>>>>>                 [...]
>>>>>>         We will pass one of the ethernet from the PCI network 
>>>>>> card : 0000:01:00.0 .
>>>>>>        • Add the following line to the guest configuration file :
>>>>>>            pci = ['0000:01:00.0']
>>>>>>        • Run the following command before starting the guest :
>>>>>>             xl pci-assignable-add 0000:01:00.0
>>>>>>      • Start the guest. The network interface should appear as 
>>>>>> 00:00.0  in the guest and be usable.
>>>>>>   Please let me know if you need more info.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>> Rahul
>>>>>>
>>>>> Thank you for your reply.
>>>>> After setting XEN and kernel as above, I tried the following two 
>>>>> methods to add a PCIE device passthrough:
>>>>> 1. According to your suggestion, use the command xl 
>>>>> pci-assignable-add 0002:21:00.0 to set in the Dom0. But in function
>>>>> iommu_do_pci_domctl,  after device_assigned is called, ENODEV 
>>>>> error is obtained.
>>>>> 2. Add xen-pciback.hide=(0002:21:00.0) to dom0-bootargs in the 
>>>>> device tree, I encountered the same problem as before
>>>>> when initializing the kernel. In function pci_add_device, PCIE 
>>>>> devices cannot be added to SMMUv3.
>>>> It is hard to find what is happening without logs. Could you please 
>>>> share the Xen and Linux boot logs so that I can
>>>> check what is the root cause of this issue.
>>>>
>>>>> The kernel version I use is 5.10. Does this have an impact?
>>>> I am using the Linux version 5.15.44 but I don’t think is because 
>>>> of Linux.
>>>>
>>>> Regards,
>>>> Rahul
>>> The attachment is a log file. I have to delete some content that may 
>>> involve commercial. Please forgive me.
>>>
>>> In addition, I have forgotten to tell you a very important 
>>> information. The PCIE controller used on my board
>>> is DesignWare. I referred to the code of ECAM under XEN and added 
>>> some support related to DesignWare
>>> (DBI space mapping and PCIE read/write).
>>>
> The kernel.log file is from Dom0 boot. The PCIE device I trying to 
> assign to domU is working fine in dom0.
>> What I understood from the logs is you shared the logs for domU boot. 
>> Could you please confirm that dom0 booted
>> fine with the PCI passthrough branch and the PCI device you trying to 
>> assign to domU is working fine in dom0.
>>
>> In that case we can confirm that code you added to support DesignWare 
>> PCIE controller is fine.
>>
>>> In addition, if needed ,I can pre initialized PCIE controller in the 
>>> uboot stage, so  I can scan the PCIE device
>>> in the uboot command line.
>
>
> In order to verify my previous conjecture (there is no fwspec for the 
> PCIE device,
> which makes it impossible to passthrough), I used the following code 
> to test.
> The result is that the PCIE device can passthrough to the DomU, but 
> the DomU kernel
> appears Data Abort when trying to read the PCIE device. This may be 
> because I directly add
> the fwspec of the PCIE controller to the PCIE device, which leads to 
> memory mapping problems.
>
> diff --git a/xen/drivers/passthrough/device_tree.c 
> b/xen/drivers/passthrough/device_tree.c
> index 98f2aa0..28283d2 100644
> --- a/xen/drivers/passthrough/device_tree.c
> +++ b/xen/drivers/passthrough/device_tree.c
> @@ -127,6 +127,7 @@ int iommu_release_dt_devices(struct domain *d)
>      return 0;
>  }
>
> +struct device *smmu_dev_for_test;
>  int iommu_add_dt_device(struct dt_device_node *np)
>  {
>      const struct iommu_ops *ops = iommu_get_ops();
> @@ -167,7 +168,8 @@ int iommu_add_dt_device(struct dt_device_node *np)
>          rc = iommu_fwspec_init(dev, &iommu_spec.np->dev);
>          if ( rc )
>              break;
> -
> +        else
> +            smmu_dev_for_test = &iommu_spec.np->dev;
>          /*
>           * Provide DT IOMMU specifier which describes the IOMMU master
>           * interfaces of that device (device IDs, etc) to the driver.
>
>
> diff --git a/xen/drivers/passthrough/pci.c 
> b/xen/drivers/passthrough/pci.c
> index da4ecda..cf8a099 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -1316,6 +1316,8 @@ static int __init setup_dump_pcidevs(void)
>  }
>  __initcall(setup_dump_pcidevs);
>
> +extern int iommu_fwspec_init(struct device *dev, struct device 
> *iommu_dev);
> +extern struct device *smmu_dev_for_test;;
>  static int iommu_add_device(struct pci_dev *pdev)
>  {
>      const struct domain_iommu *hd;
> @@ -1331,6 +1333,10 @@ static int iommu_add_device(struct pci_dev *pdev)
>      if ( !is_iommu_enabled(pdev->domain) )
>          return 0;
>
> +    if (pdev->bus != 0x20)
> +    {
> +        iommu_fwspec_init(pci_to_dev(pdev), smmu_dev_for_test);
> +    }
>      rc = hd->platform_ops->add_device(pdev->devfn, pci_to_dev(pdev));
>      if ( rc || !pdev->phantom_stride )
>          return rc;
> @@ -1401,6 +1407,7 @@ static int device_assigned(u16 seg, u8 bus, u8 
> devfn)
>
>      ASSERT(pcidevs_locked());
>      pdev = pci_get_pdev(seg, bus, devfn);
> +    printk("%s:%p,%p,%p\n",__FUNCTION__, pdev->domain, 
> hardware_domain, dom_io);
>
>      if ( !pdev )
>          rc = -ENODEV;
>
The pci-passthrough  branch is xen-4.17-unstable, the xen tools does not 
work properly.
I can't use xl create command to create DomU. After the command is 
executed, it seems
to be suspended, and the kernel and terminal have no output.

> I will test the use of pci-passthrough  branch to verify the PCIE 
> passthrough function
>
>> Yes, we can try that and use the below branch to check if it works. 
>> Below branch supports to add PCI device
>>   during Xen boot as compared to previous branch where Linux inform 
>> Xen to add PCI devices.
>>
>> You need to add "pci-scan=on” in Xen command line to add PCI devices 
>> during Xen boot.
>>
>> https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc/-/tree/poc/pci-passthrough 
>>
>>
>> Regards,
>> Rahul
>
> Cheers,
> -- 
> Sisyphean
>


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 03:38:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 03:38:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463005.721093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5f4m-0001SV-Cl; Thu, 15 Dec 2022 03:38:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463005.721093; Thu, 15 Dec 2022 03:38:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5f4m-0001SO-A3; Thu, 15 Dec 2022 03:38:28 +0000
Received: by outflank-mailman (input) for mailman id 463005;
 Thu, 15 Dec 2022 03:38:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5f4k-0001SE-KJ; Thu, 15 Dec 2022 03:38:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5f4k-00055l-7k; Thu, 15 Dec 2022 03:38:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5f4j-0006aj-T2; Thu, 15 Dec 2022 03:38:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5f4j-0001NX-SV; Thu, 15 Dec 2022 03:38:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=aaDyv5l72HJt5dDFiHRXnZvng6IH1KzvlgUudjeg4XM=; b=vqoYQ+7m1UBouuS6v1MZGSiOPT
	jZtaqzN1sxp0nI/LIoQ4hosiCaF/MMxOS9ygdbISErZ0Qrbn/4FpgCYkjQrYPvPCIKd87KkRCF/iX
	OXg354j/7eoPvy2Z3KDHw/htWfiFAv0YTLq8AZ/UMZvR1jhK2PwVlm/kxYYrOR1inX7U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175236-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175236: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=549b042943a57b748ce80070d1174e4ff5b8ef0b
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 03:38:25 +0000

flight 175236 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175236/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  549b042943a57b748ce80070d1174e4ff5b8ef0b
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    1 days
Testing same since   175199  2022-12-14 12:01:52 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 549b042943a57b748ce80070d1174e4ff5b8ef0b
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Wed Dec 14 12:04:26 2022 +0100

    drivers/char: support up to 1M BAR0 of xhci
    
    AMD's XHCI has BAR0 of 1M (compared to 64K on Intel). Map it as a whole
    (reserving more space in the fixmap). Make fixmap slot conditional on
    CONFIG_XHCI.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit dd54ea500be80f347402d75f3e4e7061e7db78d2
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:38 2022 +0100

    docs: add documentation for generic virtio devices
    
    This patch updates xl.cfg man page with details of generic Virtio device
    related information.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit 953efa0b7b188458b18e4a727f3b1dfa77eacb61
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:25 2022 +0100

    xl: add support to parse generic virtio device
    
    This patch adds basic support for parsing generic Virtio backend.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 43ba5202e2eebd350161a8db674bf928c3e6f859
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:09 2022 +0100

    libxl: add support for generic virtio device
    
    This patch adds basic support for configuring and assisting generic
    Virtio backends, which could run in any domain.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
    region) and pass them to the backend and update guest device-tree to
    create a DT node for the Virtio devices.
    
    Add special support for I2C and GPIO devices, which require the
    "compatible" DT property to be set, among other device specific
    properties. Support for generic virtio devices is also added, which just
    need a MMIO node but not any special DT properties, for such devices the
    user needs to pass "virtio,device" in the "type" string.
    
    The parsing of generic virtio device configurations will be done in a
    separate commit.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit db75092aea988b4be78c8273626f2ee40b4012b8
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:21 2022 +0100

    tools/xenstore: enhance hashtable implementation
    
    Today it is possible to set a flag when calling hashtable_destroy() in
    order to specify whether the data associated with the hashtable entries
    should be freed or not. The keys of the entries will always be freed.
    
    Change that by replacing the flag of hashtable_destroy() by two flags
    for create_hashtable() which will specify whether the data and/or the
    key of each entry should be freed or not.
    
    This will enable users to have the key e.g. as part of the data.
    
    Add a new function hashtable_iterate() to call a user specified
    function for each entry in the hashtable.
    
    Add new primes to the primetable in order to support smaller sizes of
    the hashtable. The primes are selected according to:
    
    https://planetmath.org/goodhashtableprimes
    
    Update the URL in the source as the old one wasn't correct any longer.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit bb65cbd81caaaaf325d23f63b4c2165960563459
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:04 2022 +0100

    tools/xenstore: preserve errno across corrupt()
    
    Let corrupt() preserve errno in order to be able to simplify error
    handling in future.
    
    This is rather easy as the errno value when entering corrupt() is
    saved already.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 6a0d1914f0b19742436367a0019602992573bd4b
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:01:47 2022 +0100

    tools/xenstore: let tdb_logger() preserve errno
    
    tdb_logger() is called by TDB for logging errors. As errno is checked
    often after doing the logging, tdb_logger() should preserve errno.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 8d7acf3f7d8d2555c78421dced45bc49f79ae806
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Wed Dec 14 12:00:35 2022 +0100

    EFI: relocate the ESRT when booting via multiboot2
    
    This was missed in the initial patchset.
    
    Move efi_relocate_esrt() up to avoid adding a forward declaration.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 03:47:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 03:47:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463016.721104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5fD4-0003Dw-7J; Thu, 15 Dec 2022 03:47:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463016.721104; Thu, 15 Dec 2022 03:47:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5fD4-0003Dp-4D; Thu, 15 Dec 2022 03:47:02 +0000
Received: by outflank-mailman (input) for mailman id 463016;
 Thu, 15 Dec 2022 03:47:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5fD2-0003Df-HY; Thu, 15 Dec 2022 03:47:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5fD2-0005PN-F4; Thu, 15 Dec 2022 03:47:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5fD2-0006m6-3J; Thu, 15 Dec 2022 03:47:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5fD2-0007d5-2s; Thu, 15 Dec 2022 03:47:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=XgbsOfoXZfBaGFoe8CcyG0AaW8VOu+kZMg8whRfJ18Y=; b=tmOjPBo9B10zKxBwtTJ0QVn2Te
	4n7E99HieLO3+ULpaGvEaBzePMo64c0OqQV2llGQI3yXoW9wIENg1uoP4LqYvzUeInbBkGomabbZS
	zvmrxJiMPKyrWVKEVi9wpWahCAqYjvZHwHxTAyOYbmy1eS4SMBlg+2qScWzx2YpyVmm8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175235-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175235: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=44fc90eb0ea7299abc79577db55aa6257b46b7ae
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 03:47:00 +0000

flight 175235 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175235/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 44fc90eb0ea7299abc79577db55aa6257b46b7ae
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    0 days
Failing since        175214  2022-12-14 18:42:16 Z    0 days    4 attempts
Testing same since   175235  2022-12-15 02:00:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 44fc90eb0ea7299abc79577db55aa6257b46b7ae
Author: devel@edk2.groups.io <devel@edk2.groups.io>
Date:   Wed Nov 30 15:02:15 2022 -0800

    UnitTestFrameworkPkg/UnitTestLib: Print expected Status on ASSERT fail
    
    Update the UnitTestAssertStatusEqual error message to print out the
    expected value in addition to the seen value.
    
    Signed-off-by: Jeshua Smith <jeshuas@nvidia.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>

commit cda98df16228970dcf9a4ce2af5368219711b4b0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:09 2022 +0100

    OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported
    
    Remove global variables, store the state in PlatformInfoHob instead.
    Probing for fw_cfg happens on first use, at library initialization
    time the Hob might not be present yet.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 81bbc1452c972218f071cd4a8f5899df974b1dae
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:08 2022 +0100

    OvmfPkg/QemuFwCfgLib: rewrite fw_cfg probe
    
    Move the code to a new QemuFwCfgProbe() function.  Use direct Io*() calls
    instead of indirect QemuFwCfg*() calls to make sure we don't get
    recursive calls.  Also simplify CC guest detection.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit e59747bd8246135faeecc18879d62db66a6acfc2
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:07 2022 +0100

    OvmfPkg/DebugLibIoPort: use Rom version for PEI
    
    This variant does not use global variables.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit f6a196c7eb34affff0cfe1864e126953096885e1
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:06 2022 +0100

    OvmfPkg/PlatformPei: remove mFeatureControlValue
    
    Use PlatformInfoHob->FeatureControlValue instead.
    OnMpServicesAvailable() will find PlatformInfoHob using
    GetFirstGuidHob() and pass a pointer to the WriteFeatureControl
    callback.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 862614e2544997c848fab7388733774ae0ea92d8
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:05 2022 +0100

    OvmfPkg/PlatformPei: remove mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable.  Let
    BuildPlatformInfoHob() allocate and return PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 4bc2c748516e5c4a8bb86093cd5e1b80a9f35c0f
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:04 2022 +0100

    OvmfPkg/PlatformPei: Verification: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in S3Verification() and
    Q35BoardVerification() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 7dbb8a24d1a3403f85d959bc1234b9f4a92bfbf0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:03 2022 +0100

    OvmfPkg/PlatformPei: NoExec: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in NoexecDxeInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit cc6efda7770b8cabea3ae8c6054d47c4a8e229c3
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:02 2022 +0100

    OvmfPkg/PlatformPei: MemTypeInfo: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in MemTypeInfoInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 27874a382c38a95d3ab613eebd35c152ca9b3897
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:01 2022 +0100

    OvmfPkg/PlatformPei: PeiMemory: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PublishPeiMemory()
    and GetPeiMemoryCap() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 00743d144bc5b643e9323ad66f16cb48cf338705
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:00 2022 +0100

    OvmfPkg/PlatformPei Q35 SMM helpers: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in
    Q35TsegMbytesInitialization() and
    Q35SmramAtDefaultSmbaseInitialization() ) functions.
    Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 9d9d15b42a5e13bb18729da0f608c629aa274e80
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:59 2022 +0100

    OvmfPkg/PlatformPei: PeiFv: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PeiFvInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 78c373f2a5273af00b23b55d3e8c41583310cfb6
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:58 2022 +0100

    OvmfPkg/PlatformPei: AmdSev: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in AmdSevInitialize()
    and AmdSevEsInitialize() functions.  Pass a pointer to the
    PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 916825b84f23b691dcce09a57625fb8fcb0cbb48
Author: Jeff Brasen <jbrasen@nvidia.com>
Date:   Tue Nov 15 11:01:06 2022 -0700

    DynamicTablesPkg: SSDT _LPI revision is incorrect
    
    _LPI Revision should be 0 per the ACPI 6.5 specification.
    "The revision number of the _LPI object. Current revision is 0."
    
    Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
    Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 04:22:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 04:22:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463032.721129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5fl7-0000Tq-2U; Thu, 15 Dec 2022 04:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463032.721129; Thu, 15 Dec 2022 04:22:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5fl6-0000Tj-WB; Thu, 15 Dec 2022 04:22:12 +0000
Received: by outflank-mailman (input) for mailman id 463032;
 Thu, 15 Dec 2022 04:22:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8lTo=4N=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p5fl5-0000Td-Mf
 for xen-devel@lists.xen.org; Thu, 15 Dec 2022 04:22:11 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0a0fd971-7c30-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 05:22:09 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id n4so1935753plp.1
 for <xen-devel@lists.xen.org>; Wed, 14 Dec 2022 20:22:09 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 i31-20020a63221f000000b004792ff8ab61sm563959pgi.80.2022.12.14.20.22.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 14 Dec 2022 20:22:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a0fd971-7c30-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=QrqU72PGZgGOXQe0f/sy6mdR2E3gLTJqWCYdUGHEf9E=;
        b=TaoSGEEe5G5+ojji/LPo5kfxZVzYkStkNATwfAgeNz6VPVnOpZ4CVMueqW7fP+PIxg
         AgmZxXjAD7YGgDo2q0YsQDQ26az1tBiQgL5B2gTejeE/Ooi0ZXiaj81v5n2i333PTqRT
         XnAJH4j7SszcNrcla5ESQVu7ptbEsLlcjkJmQne1+QrxIxiRIASW6SdVajnv0fI1UDjx
         9xOrIzCqZLm1/csFWd5apHh080Bece5RrMWxhNSDFwCMynMH84wxUsgWRVh9ej4C0qGF
         xvVAcNIiyYUmIRUvH/6RHr8OHcPc1X/DaOX5coomE7//lPdYzyPxTqIr/O6ZrL35ZRPR
         PoSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QrqU72PGZgGOXQe0f/sy6mdR2E3gLTJqWCYdUGHEf9E=;
        b=hXSwbibkGx9SN33gF0e1qmNpskZfFnEKNfmJpiKJStJeXKO+QJHWboQbdxDtsR4PIz
         d//L9q0Cz6Mb20Uc/l2VsuKnloh4hDDE5ghAlCwzH4IHLgOUhZ+pTQ3jsSHaTE0jdd1T
         VKg4JYtwCM3Hj9ViLk7Fc2lg+Zo6f6+DCTqQe6VzsbYERRJQbcakS4f5hyCqouy2aRog
         LHrVZpQGE+Yms4F4BSUdjyUFTQjVus1H0qLxUq6dsL7F0MxneOq8p4V8SlQ0poeGQ2TB
         iOCEYPhjb7ahJ/twHWyPFjS+XXFdMet05SH/lYw7RK8rE1z/UV728OHxk0Ha81LWuQrz
         7uLQ==
X-Gm-Message-State: ANoB5pl+w65ghmJ0Q8xBS99Dpd5kzF4gvXutiZ+uEichXuzM/Hpd7ssG
	nlvlkDr4rOfbpxJo7ax9Mts5Ug==
X-Google-Smtp-Source: AA0mqf5uf5J2Bn83yiphpjZ+4LrnnWTImqjaEMsHjZ1PxSLQAy51LsYTYfWflPDrpgNWE53R9e50uQ==
X-Received: by 2002:a05:6a20:54a5:b0:aa:3e5f:88ab with SMTP id i37-20020a056a2054a500b000aa3e5f88abmr37822235pzk.54.1671078128170;
        Wed, 14 Dec 2022 20:22:08 -0800 (PST)
Date: Thu, 15 Dec 2022 09:52:05 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xen.org
Subject: Re: Virtio-disk updates for latest Xen ?
Message-ID: <20221215042205.y5565f7rv6asmsw5@vireshk-i7>
References: <CAKohpo=u7qp4URjRRAMM4xEytmZoKZAJOZLw4v0HTk13BrK-fw@mail.gmail.com>
 <CAPD2p-kfhaygmNNutUdk-mApR7z1YDSTYCEhtLgLsXi+-wbv8A@mail.gmail.com>
 <20221207002138.qulrlav3z3heozk4@vireshk-i7>
 <20221207035918.amzgrybqub632dyc@vireshk-i7>
 <f4ba541c-d089-28af-c80b-dcb0fa87a9d7@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f4ba541c-d089-28af-c80b-dcb0fa87a9d7@gmail.com>

On 14-12-22, 17:01, Oleksandr Tyshchenko wrote:
> Today I had a chance to check virtio-disk on my H/W using new Xen branch
> which does include Juergen's series with commit 3a96013a3e17
> ("tools/xenstore: reduce number of watch events").
> 
> Very interesting, but I didn't manage to reproduce an issue the similar to
> what you had already faced with the rust counterparts before (caused by the
> lack of Xenstore watches?). Note that I didn't debug what exactly events I
> had got during guest creation/destruction, I just made sure that backend
> worked as before. I checked that by running the backend in Dom0 and DomD and
> performed a couple of guest power cycles (reboot, destroy/create).
> 
> If you could provide the debug patch which you seem to use to print incoming
> events which you described in previous email, I think I would be able to
> re-check the situation at my side more deeper.

This should be enough to see the new changes I believe.

diff --git a/xs_dev.c b/xs_dev.c
index a6c8403cfe84..8525c6512299 100755
--- a/xs_dev.c
+++ b/xs_dev.c
@@ -421,6 +421,8 @@ static int xenstore_poll_be_watch(struct xs_dev *dev)
     if (!vec)
         return -1;
 
+    printf("%s: %s\n", vec[XS_WATCH_PATH], dev->path);
+
     if (!strcmp(vec[XS_WATCH_PATH], dev->path))
         rc = xenstore_get_fe_domid(dev);

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 05:40:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 05:40:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463045.721150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5gyl-0002EB-OM; Thu, 15 Dec 2022 05:40:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463045.721150; Thu, 15 Dec 2022 05:40:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5gyl-0002E4-LJ; Thu, 15 Dec 2022 05:40:23 +0000
Received: by outflank-mailman (input) for mailman id 463045;
 Thu, 15 Dec 2022 05:40:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5gyk-0002Du-UO; Thu, 15 Dec 2022 05:40:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5gyk-00006f-QO; Thu, 15 Dec 2022 05:40:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5gyk-0003Lf-EP; Thu, 15 Dec 2022 05:40:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5gyk-0004kz-Dv; Thu, 15 Dec 2022 05:40:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zu+fjjsPsIAdZR+OeItgMwIbd8llY1pzPn2ijnOTmE4=; b=2fadTG9YATFHIAMH/TTi4yloF+
	8MV2L08ZhF+zjFQ8mJ03lxjkpwl1mLX2IyMcr3OVJOBIAd0nEDn5lazoAeATnH0oMn8BBtD87ZIZD
	l75/9K6FnFOPkRQrT6HoS/pxEg9nk13JDBOI+K1W+9TfusApN5AdtbfxB32rUx0AL3BA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175242-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175242: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=549b042943a57b748ce80070d1174e4ff5b8ef0b
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 05:40:22 +0000

flight 175242 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175242/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  549b042943a57b748ce80070d1174e4ff5b8ef0b
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    1 days
Testing same since   175199  2022-12-14 12:01:52 Z    0 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 549b042943a57b748ce80070d1174e4ff5b8ef0b
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Wed Dec 14 12:04:26 2022 +0100

    drivers/char: support up to 1M BAR0 of xhci
    
    AMD's XHCI has BAR0 of 1M (compared to 64K on Intel). Map it as a whole
    (reserving more space in the fixmap). Make fixmap slot conditional on
    CONFIG_XHCI.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit dd54ea500be80f347402d75f3e4e7061e7db78d2
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:38 2022 +0100

    docs: add documentation for generic virtio devices
    
    This patch updates xl.cfg man page with details of generic Virtio device
    related information.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit 953efa0b7b188458b18e4a727f3b1dfa77eacb61
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:25 2022 +0100

    xl: add support to parse generic virtio device
    
    This patch adds basic support for parsing generic Virtio backend.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 43ba5202e2eebd350161a8db674bf928c3e6f859
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:09 2022 +0100

    libxl: add support for generic virtio device
    
    This patch adds basic support for configuring and assisting generic
    Virtio backends, which could run in any domain.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
    region) and pass them to the backend and update guest device-tree to
    create a DT node for the Virtio devices.
    
    Add special support for I2C and GPIO devices, which require the
    "compatible" DT property to be set, among other device specific
    properties. Support for generic virtio devices is also added, which just
    need a MMIO node but not any special DT properties, for such devices the
    user needs to pass "virtio,device" in the "type" string.
    
    The parsing of generic virtio device configurations will be done in a
    separate commit.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit db75092aea988b4be78c8273626f2ee40b4012b8
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:21 2022 +0100

    tools/xenstore: enhance hashtable implementation
    
    Today it is possible to set a flag when calling hashtable_destroy() in
    order to specify whether the data associated with the hashtable entries
    should be freed or not. The keys of the entries will always be freed.
    
    Change that by replacing the flag of hashtable_destroy() by two flags
    for create_hashtable() which will specify whether the data and/or the
    key of each entry should be freed or not.
    
    This will enable users to have the key e.g. as part of the data.
    
    Add a new function hashtable_iterate() to call a user specified
    function for each entry in the hashtable.
    
    Add new primes to the primetable in order to support smaller sizes of
    the hashtable. The primes are selected according to:
    
    https://planetmath.org/goodhashtableprimes
    
    Update the URL in the source as the old one wasn't correct any longer.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit bb65cbd81caaaaf325d23f63b4c2165960563459
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:04 2022 +0100

    tools/xenstore: preserve errno across corrupt()
    
    Let corrupt() preserve errno in order to be able to simplify error
    handling in future.
    
    This is rather easy as the errno value when entering corrupt() is
    saved already.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 6a0d1914f0b19742436367a0019602992573bd4b
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:01:47 2022 +0100

    tools/xenstore: let tdb_logger() preserve errno
    
    tdb_logger() is called by TDB for logging errors. As errno is checked
    often after doing the logging, tdb_logger() should preserve errno.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 8d7acf3f7d8d2555c78421dced45bc49f79ae806
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Wed Dec 14 12:00:35 2022 +0100

    EFI: relocate the ESRT when booting via multiboot2
    
    This was missed in the initial patchset.
    
    Move efi_relocate_esrt() up to avoid adding a forward declaration.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 07:35:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 07:35:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463076.721209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5imD-0007Nt-P5; Thu, 15 Dec 2022 07:35:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463076.721209; Thu, 15 Dec 2022 07:35:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5imD-0007Nm-MV; Thu, 15 Dec 2022 07:35:33 +0000
Received: by outflank-mailman (input) for mailman id 463076;
 Thu, 15 Dec 2022 07:35:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5imC-0007Na-Bm; Thu, 15 Dec 2022 07:35:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5imC-0002op-A5; Thu, 15 Dec 2022 07:35:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5imB-0006wU-VP; Thu, 15 Dec 2022 07:35:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5imB-0003c0-Uv; Thu, 15 Dec 2022 07:35:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZsKd+Gntmrw16zu+PC4r+OwfTDk6cSNrmyJmXv+61BY=; b=ScSuo6WodVKJTOe/h9F/eLb13o
	IQe8ouu8XExCjeDQ70BUw2VevwnRVg5/byNpOV/nNHawp+P+8P67G5TnxKtZ/GlI/diQ99l3WtcNc
	G2vOK7lXkexXU8GuOm31dnc26nezD6CqvICcaNMlPyYy6JWzM3IjhAkh+SdZfuhLg65A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175244-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175244: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=01c0d3c0d508b8c1b41fd58e2ec565b40ea000ca
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 07:35:31 +0000

flight 175244 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175244/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 01c0d3c0d508b8c1b41fd58e2ec565b40ea000ca
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    0 days
Failing since        175214  2022-12-14 18:42:16 Z    0 days    5 attempts
Testing same since   175244  2022-12-15 04:18:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 01c0d3c0d508b8c1b41fd58e2ec565b40ea000ca
Author: Min M Xu <min.m.xu@intel.com>
Date:   Wed Dec 14 15:14:19 2022 +0800

    OvmfPkg/SecTpmMeasurementLib: Fix the mapping error of PCR and RTMR index
    
    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4179
    
    TDVF has the feature to do RTMR measurement in SEC phase. In the same time
    it builds a GUID hob which carries the hash value of the measurement so
    that in DXE phase a td event can be created based on this GUID Hob. There
    is a mapping error between TPM PCR index and RTMR index according to UEFI
    2.10. That PCR6 is missing in the mapping. This patch fixes this issue.
    
    Cc: Erdem Aktas <erdemaktas@google.com> [ruleof2]
    Cc: James Bottomley <jejb@linux.ibm.com> [jejb]
    Cc: Jiewen Yao <jiewen.yao@intel.com> [jyao1]
    Cc: Tom Lendacky <thomas.lendacky@amd.com> [tlendacky]
    Cc: Arti Gupta <ARGU@microsoft.com>
    Signed-off-by: Min Xu <min.m.xu@intel.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

commit fb91d6cbd0cff704586c4cadbef870acef9c52ef
Author: Min M Xu <min.m.xu@intel.com>
Date:   Wed Dec 14 15:14:18 2022 +0800

    OvmfPkg/TdTcg2Dxe: Fix the mapping error between PCR index and MR index
    
    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4179
    
    According to UEFI Spec 2.10 it is supposed to return the mapping from PCR
    index to CC MR index:
    //
    // In the current version, we use the below mapping for TDX:
    //
    // TPM PCR Index | CC Measurement Register Index | TDX-measurement register
    // -----------------------------------------------------------------------
    // 0             |   0                           |   MRTD
    // 1, 7          |   1                           |   RTMR[0]
    // 2~6           |   2                           |   RTMR[1]
    // 8~15          |   3                           |   RTMR[2]
    
    In the current implementation TdMapPcrToMrIndex returns the index of RTMR,
    not the MR index.
    
    After fix the spec unconsistent, other related codes are updated
    accordingly.
    1) The index of event log uses the input MrIndex.
    2) MrIndex is decreated by 1 before it is sent for RTMR extending.
    
    Cc: Erdem Aktas <erdemaktas@google.com> [ruleof2]
    Cc: James Bottomley <jejb@linux.ibm.com> [jejb]
    Cc: Jiewen Yao <jiewen.yao@intel.com> [jyao1]
    Cc: Tom Lendacky <thomas.lendacky@amd.com> [tlendacky]
    Cc: Arti Gupta <ARGU@microsoft.com>
    Reported-by: Arti Gupta <ARGU@microsoft.com>
    Signed-off-by: Min Xu <min.m.xu@intel.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

commit 19f7c63ea978c5a4ef9345b9bf4995dcd48fa328
Author: Min M Xu <min.m.xu@intel.com>
Date:   Wed Dec 14 15:14:17 2022 +0800

    OvmfPkg/TdTcg2Dxe: Fix incorrect protocol and structure version
    
    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4184
    
    According to the Uefi spec 2.10 Section 38.2.2.
    EFI_CC_MEASUREMENT_PROTOCOL.GetCapability, the minor version of
    StructureVersion and ProtocolVersion should be 0.
    
    Cc: Erdem Aktas <erdemaktas@google.com> [ruleof2]
    Cc: James Bottomley <jejb@linux.ibm.com> [jejb]
    Cc: Jiewen Yao <jiewen.yao@intel.com> [jyao1]
    Cc: Tom Lendacky <thomas.lendacky@amd.com> [tlendacky]
    Cc: Arti Gupta <ARGU@microsoft.com>
    Reported-by: Arti Gupta <ARGU@microsoft.com>
    Signed-off-by: Min Xu <min.m.xu@intel.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

commit 44fc90eb0ea7299abc79577db55aa6257b46b7ae
Author: devel@edk2.groups.io <devel@edk2.groups.io>
Date:   Wed Nov 30 15:02:15 2022 -0800

    UnitTestFrameworkPkg/UnitTestLib: Print expected Status on ASSERT fail
    
    Update the UnitTestAssertStatusEqual error message to print out the
    expected value in addition to the seen value.
    
    Signed-off-by: Jeshua Smith <jeshuas@nvidia.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>

commit cda98df16228970dcf9a4ce2af5368219711b4b0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:09 2022 +0100

    OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported
    
    Remove global variables, store the state in PlatformInfoHob instead.
    Probing for fw_cfg happens on first use, at library initialization
    time the Hob might not be present yet.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 81bbc1452c972218f071cd4a8f5899df974b1dae
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:08 2022 +0100

    OvmfPkg/QemuFwCfgLib: rewrite fw_cfg probe
    
    Move the code to a new QemuFwCfgProbe() function.  Use direct Io*() calls
    instead of indirect QemuFwCfg*() calls to make sure we don't get
    recursive calls.  Also simplify CC guest detection.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit e59747bd8246135faeecc18879d62db66a6acfc2
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:07 2022 +0100

    OvmfPkg/DebugLibIoPort: use Rom version for PEI
    
    This variant does not use global variables.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit f6a196c7eb34affff0cfe1864e126953096885e1
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:06 2022 +0100

    OvmfPkg/PlatformPei: remove mFeatureControlValue
    
    Use PlatformInfoHob->FeatureControlValue instead.
    OnMpServicesAvailable() will find PlatformInfoHob using
    GetFirstGuidHob() and pass a pointer to the WriteFeatureControl
    callback.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 862614e2544997c848fab7388733774ae0ea92d8
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:05 2022 +0100

    OvmfPkg/PlatformPei: remove mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable.  Let
    BuildPlatformInfoHob() allocate and return PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 4bc2c748516e5c4a8bb86093cd5e1b80a9f35c0f
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:04 2022 +0100

    OvmfPkg/PlatformPei: Verification: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in S3Verification() and
    Q35BoardVerification() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 7dbb8a24d1a3403f85d959bc1234b9f4a92bfbf0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:03 2022 +0100

    OvmfPkg/PlatformPei: NoExec: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in NoexecDxeInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit cc6efda7770b8cabea3ae8c6054d47c4a8e229c3
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:02 2022 +0100

    OvmfPkg/PlatformPei: MemTypeInfo: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in MemTypeInfoInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 27874a382c38a95d3ab613eebd35c152ca9b3897
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:01 2022 +0100

    OvmfPkg/PlatformPei: PeiMemory: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PublishPeiMemory()
    and GetPeiMemoryCap() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 00743d144bc5b643e9323ad66f16cb48cf338705
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:00 2022 +0100

    OvmfPkg/PlatformPei Q35 SMM helpers: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in
    Q35TsegMbytesInitialization() and
    Q35SmramAtDefaultSmbaseInitialization() ) functions.
    Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 9d9d15b42a5e13bb18729da0f608c629aa274e80
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:59 2022 +0100

    OvmfPkg/PlatformPei: PeiFv: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PeiFvInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 78c373f2a5273af00b23b55d3e8c41583310cfb6
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:58 2022 +0100

    OvmfPkg/PlatformPei: AmdSev: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in AmdSevInitialize()
    and AmdSevEsInitialize() functions.  Pass a pointer to the
    PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 916825b84f23b691dcce09a57625fb8fcb0cbb48
Author: Jeff Brasen <jbrasen@nvidia.com>
Date:   Tue Nov 15 11:01:06 2022 -0700

    DynamicTablesPkg: SSDT _LPI revision is incorrect
    
    _LPI Revision should be 0 per the ACPI 6.5 specification.
    "The revision number of the _LPI object. Current revision is 0."
    
    Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
    Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 07:47:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 07:47:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463087.721220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ixC-0000ro-Pt; Thu, 15 Dec 2022 07:46:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463087.721220; Thu, 15 Dec 2022 07:46:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ixC-0000rh-Mw; Thu, 15 Dec 2022 07:46:54 +0000
Received: by outflank-mailman (input) for mailman id 463087;
 Thu, 15 Dec 2022 07:46:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5ixB-0000rX-NO; Thu, 15 Dec 2022 07:46:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5ixB-0003Az-Ik; Thu, 15 Dec 2022 07:46:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5ixB-0007Cf-89; Thu, 15 Dec 2022 07:46:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5ixB-0005wj-7m; Thu, 15 Dec 2022 07:46:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3KOKBQYEXnsydEmwl1qRgk8NYatNr4FNZS9MyRwqfUI=; b=EOsZg6na7YjlLQ1vWb3VCGeCI6
	PZXW2G9/1vekzPfFL3jFntauKxFAIlLBUxuCN81YKY2pd1qOYaBLjD0NLP8B+0QVzWuRX3nwzjmPy
	3hLP84EYnrJXNHQPOlg89oVCvWAoVpgYSY7YYAkcMgrRQFeVoHwm65XqQ5NE+u5nCZUg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175251-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175251: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=549b042943a57b748ce80070d1174e4ff5b8ef0b
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 07:46:53 +0000

flight 175251 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175251/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  549b042943a57b748ce80070d1174e4ff5b8ef0b
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    1 days
Testing same since   175199  2022-12-14 12:01:52 Z    0 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 549b042943a57b748ce80070d1174e4ff5b8ef0b
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Wed Dec 14 12:04:26 2022 +0100

    drivers/char: support up to 1M BAR0 of xhci
    
    AMD's XHCI has BAR0 of 1M (compared to 64K on Intel). Map it as a whole
    (reserving more space in the fixmap). Make fixmap slot conditional on
    CONFIG_XHCI.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit dd54ea500be80f347402d75f3e4e7061e7db78d2
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:38 2022 +0100

    docs: add documentation for generic virtio devices
    
    This patch updates xl.cfg man page with details of generic Virtio device
    related information.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit 953efa0b7b188458b18e4a727f3b1dfa77eacb61
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:25 2022 +0100

    xl: add support to parse generic virtio device
    
    This patch adds basic support for parsing generic Virtio backend.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 43ba5202e2eebd350161a8db674bf928c3e6f859
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:09 2022 +0100

    libxl: add support for generic virtio device
    
    This patch adds basic support for configuring and assisting generic
    Virtio backends, which could run in any domain.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
    region) and pass them to the backend and update guest device-tree to
    create a DT node for the Virtio devices.
    
    Add special support for I2C and GPIO devices, which require the
    "compatible" DT property to be set, among other device specific
    properties. Support for generic virtio devices is also added, which just
    need a MMIO node but not any special DT properties, for such devices the
    user needs to pass "virtio,device" in the "type" string.
    
    The parsing of generic virtio device configurations will be done in a
    separate commit.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit db75092aea988b4be78c8273626f2ee40b4012b8
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:21 2022 +0100

    tools/xenstore: enhance hashtable implementation
    
    Today it is possible to set a flag when calling hashtable_destroy() in
    order to specify whether the data associated with the hashtable entries
    should be freed or not. The keys of the entries will always be freed.
    
    Change that by replacing the flag of hashtable_destroy() by two flags
    for create_hashtable() which will specify whether the data and/or the
    key of each entry should be freed or not.
    
    This will enable users to have the key e.g. as part of the data.
    
    Add a new function hashtable_iterate() to call a user specified
    function for each entry in the hashtable.
    
    Add new primes to the primetable in order to support smaller sizes of
    the hashtable. The primes are selected according to:
    
    https://planetmath.org/goodhashtableprimes
    
    Update the URL in the source as the old one wasn't correct any longer.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit bb65cbd81caaaaf325d23f63b4c2165960563459
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:04 2022 +0100

    tools/xenstore: preserve errno across corrupt()
    
    Let corrupt() preserve errno in order to be able to simplify error
    handling in future.
    
    This is rather easy as the errno value when entering corrupt() is
    saved already.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 6a0d1914f0b19742436367a0019602992573bd4b
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:01:47 2022 +0100

    tools/xenstore: let tdb_logger() preserve errno
    
    tdb_logger() is called by TDB for logging errors. As errno is checked
    often after doing the logging, tdb_logger() should preserve errno.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 8d7acf3f7d8d2555c78421dced45bc49f79ae806
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Wed Dec 14 12:00:35 2022 +0100

    EFI: relocate the ESRT when booting via multiboot2
    
    This was missed in the initial patchset.
    
    Move efi_relocate_esrt() up to avoid adding a forward declaration.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 07:48:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 07:48:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463098.721231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5iym-0001Rx-4p; Thu, 15 Dec 2022 07:48:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463098.721231; Thu, 15 Dec 2022 07:48:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5iym-0001Rq-1U; Thu, 15 Dec 2022 07:48:32 +0000
Received: by outflank-mailman (input) for mailman id 463098;
 Thu, 15 Dec 2022 07:48:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=g8Eh=4N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5iyk-0001Rj-SJ
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 07:48:30 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2086.outbound.protection.outlook.com [40.107.105.86])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd902ccf-7c4c-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 08:48:29 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8899.eurprd04.prod.outlook.com (2603:10a6:20b:42e::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Thu, 15 Dec
 2022 07:48:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Thu, 15 Dec 2022
 07:48:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd902ccf-7c4c-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=blppM4ILNX01xuoAAMsgtW5pAhSRP60KXexDNVhFfaOcfyWzH6NkDi+0tK3GCehjNQB5oti87DzCKrY3WlfN/frP3j9crFH7W4TBiqxR+1pl3tamkYO9S89HJaDMKlVO/IGt3930swElhsTSfhCuSO6w0TouI77DalKik6jsG3cXJZexJjXBlYkGm4/BBr0YUwM4PZ1BqdlPcNa1HHx3zF3CPsN9v14QJkWRBXs2qqO1dghnZWeGKcYuoyCtCsPZ5IVFhxUYZjeKH/cvV0JkH3fZ3DyrkDBNjElk8uoD7dOQSNqU7Wg6WE3BEJlw1kbkkzCckGPoWh9u7whudE3o5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g/iBnEKcX4PXMTXbAEPvf4ujyqkHLjO6VJKRa5uoNtI=;
 b=aDowR7bPPPMYopeRnfvkraJn2eBef1oe1vpp7MadhebeAoK4Fdejk5z6VYOQPA4A3xigfYVQosSKstYPCdwX7BiLom1RBUhXam11ycJ4y20CtaKySgVOSQL3zCeXjUiT1gBN5P+dBL++0b3ucoTcIxDSTCKxSCxQANhtabtnBkyP0HL+V45tEAE4kjQ9t7B1uiwZ+GF5U2mBJ2NfF9GcH47N+Fhl1ATuT51P86DayVDH9Ge+iB0A7807DyOTXOnhdIdikPczNECPA0i8bE9Vbq7b36kIhdbkzwTMw6/hOIIk7l0jD1oVB/uApkhnHf1juSidtO82Y+Z8d4MWb0xQBA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=g/iBnEKcX4PXMTXbAEPvf4ujyqkHLjO6VJKRa5uoNtI=;
 b=c/uh1TIP4Oos0hFyBcJHQgn3N/dNq1Z7THYMEVgfscZeIO4wYXbnf8Hv5jQ7OSgjoEGCIF0SVWa1FCuwFKKkTRwcTEMPMfNo4ZwI3XW7END6hK9gSBwSFshNsmPoE+NW9XVaBBdDu+HpiR9O3IAQ6+QN+SVIojASeRACesLW6qMJa+jtKgcT1HHiHQPj4IkCbfEsT5ZkoqX7JI0N/y9SsERcV2j9wZI3Swz7W34hqNsMQYB9Dj7lTDAQwjGmtuRBmhkx/+rwVOczB28xhYzr6I7NlK+BVJoUED41DsZuLBZ8BRYpf7ARAjxPJdxv7KZ3QdhL0Srxjb85qnUt2hs82w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5b948f88-7757-7506-aa53-26308893fddf@suse.com>
Date: Thu, 15 Dec 2022 08:48:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [RFC PATCH 0/3] xen/spinlock: make recursive spinlocks a
 dedicated type
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>,
 Paul Durrant <paul@xen.org>, "Daniel P. Smith"
 <dpsmith@apertussolutions.com>, xen-devel@lists.xenproject.org
References: <20220910154959.15971-1-jgross@suse.com>
 <933c9378-8f0d-41e6-ec9a-3a702ef13f24@apertussolutions.com>
 <d28412f2-2b94-5c69-c43f-481634562356@suse.com>
 <d57129f5-cfaf-0ed7-0dac-985b3a646b79@apertussolutions.com>
 <0fef4389-0373-b214-800c-f2457676e929@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0fef4389-0373-b214-800c-f2457676e929@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0149.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8899:EE_
X-MS-Office365-Filtering-Correlation-Id: e41767ef-e8ea-4a19-7245-08dade70c06b
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lJT5gI2Ut5wOynTkvjfBH9rrvBsn+jBvDrGHQPOVGYgJBh8DGGsoShPVDTFCr6ycpMXpiy8UZQGpsAg8usGYtA1bzZyLYsuGopYkhZyHVnKj8pdMz8s1+pMvJDW+0bq3cybKEw8lyFsF4iTAbc80K22ovH11eC7wjrtXKzqiX0OWuXXLlrqenCsMaCrBqaAofXtLvl1dfIcOXCDZlD3uJRj7lo/iw4sRdgo2ScCvo2+oUrDqQfm/95eioWIandeJNfJRyiezAE3ZmJolKNt3lJnzIH0oF1RfAb7bYMenrt7Bh+hfjbtFY49Hv4C6z+LFEe94gkmhRQNt7hQ4A3FmCkiovAhDlkdcNZ6TIJfTc0S/Dphwg/fzs1BrgUSQ67EnJgagdyWUiRMUSRAQ7PklbR/puh3tq502ch9OzsBVGwfwVLPj8uu6gu1hXmK6qzmgGN7aFLTPebAGWicO8Cg2pz/s5cSVvEWvZAt2Sy28SgNir7ALHxaPInePxAaUyqrfQTdrJhSz4dM/i7+agbfqFhQjhSH2h1BpAdqlBNKzryLKwFAoQdbHwuZzxeg7ISFbHPS7adREcUc5jtVqs3zqz0Equ7qacAOJUfCa4zHyOUqDjGC4QnVH4oI9WKXp9ELW+rMnRtaXcEl59WRXCrI74cIMdfhyYLariXyDGo/f50esxK22CRwT9wh1bhkMqJ+Q3r2X8TmFJYrzPN9KGDPPu9f56K0BNQqv9+1bzqCjAx8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(136003)(396003)(346002)(366004)(451199015)(38100700002)(53546011)(186003)(26005)(6512007)(6506007)(2616005)(478600001)(6486002)(83380400001)(36756003)(31686004)(6862004)(8936002)(41300700001)(6636002)(54906003)(37006003)(4326008)(316002)(2906002)(66946007)(66556008)(66476007)(86362001)(8676002)(31696002)(5660300002)(7416002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGxNQUlHY0JhMW92a3QyMW1UMnozYWtEa1hEZGI5anNNTGVKbnlEYXlUME9D?=
 =?utf-8?B?RXFhbmNhbS9HdmV0Y3Q2dXd4UHBVak8veFAwWnY2RDVkejVON0s2YVlNc3R2?=
 =?utf-8?B?K2lBSEhRVUtCNE9UQ0RhNkRwbjNyYjVsZ05idUozSHQwaEJnS0Q5ODkwZDZv?=
 =?utf-8?B?TUxiWldTV2NnY1JQSENJL2ZXUlVDU3ZmVUwwcE1rT2JFM3hoWHY2YjlxYzZB?=
 =?utf-8?B?bUM5b25nV2FpdjlMeTJnMTE0aTB5VlpzUEx1UzUrK3dCUFlhYi93ZWZ2L2xp?=
 =?utf-8?B?SWdTYmhnbFpoYWNhcmhaWlo4MFJCb3RBU2RmSkNnYnB4dEFQNm5jdUU1TURy?=
 =?utf-8?B?Z3BRWjBPTFlPM2dsSEVtaEp2dFliM3M2UEoyNU1IdjFBVGNPL29RMm5meXBD?=
 =?utf-8?B?bDlheXl2VzZpTzZ1ZjJOMElOUnR2QThGMG94WEtpangyY1o5YmlERGdsNGE1?=
 =?utf-8?B?cWZpN3VoM2kwM1AvekJGMXBYMngrenVGb1U4Y0RaWC8zeWMxVWdVVlpiTms5?=
 =?utf-8?B?bTgwR3BKdlhWdHFiV1I0NVB0Lzlyb0E5YWU5WkRWR3hsY2VBUEg4MWVaVDdr?=
 =?utf-8?B?d1U4UXo5YmlneWZTVzhMUHRkZ3RIdXZzMkZZS2lBbldQMTRmbUFTbmVqbWhY?=
 =?utf-8?B?cHZreEhydDF0NEd0enVCQnRMOGxIV05pT1VyeWRQb29qdVNXcFRybFdnREFp?=
 =?utf-8?B?OUN5NFN5WWIrcjNsbUplVUFXSHNrMmpXL2NFcDkzQXYyK2ZHMGhLbE5RbERV?=
 =?utf-8?B?N01mMGpnTGJkc3BlZHVOMDVDSGw3SVBVbytwYnZwU0NWOC9UUFNBSHpnQkVG?=
 =?utf-8?B?c0ZIa0pFa3d3U2NHMlpHYVlJbUR4M0pZVW0vWmMrek9ORzVMcERjSy85VDlH?=
 =?utf-8?B?akdzMEpTWkxJelFseG1lUDc2NmNPM043V3VvY3JXSER3V09ROWFOYWRmZ2pj?=
 =?utf-8?B?R0lKc2ZKbGMxWWZsbVNOMC9wMjVtU0xYQiswejExR1ZMSWJnME03Y3hsTjZm?=
 =?utf-8?B?QzB4c0JiVnNQR0JEcGEvbktqWGx5TUs3RGRxdmNJUCsrVG41QldsRkN6YTN2?=
 =?utf-8?B?NDlTTTE3b0lkeWJPSUZRaEhaQU5rTTlES0lpUnVXVnNQWXNjMitrck51UzBl?=
 =?utf-8?B?NXdvMWpLLzdWN2hVVFVTZ2VyaktmajMyM21kOGtDcDhxcnZOZDZOVDdJODZB?=
 =?utf-8?B?dUR6SGI1KzJqQ3ZJcHZQN1JRSW05WHA1MEoxMkpVeXByNVphc3VRSHoyQkQx?=
 =?utf-8?B?MVU1emZWeHBNYm9WTzF6UzF0VnMrUTUxeGNUOVQyaWVmUVYrL0tTbkw0bVUr?=
 =?utf-8?B?UnAzSEt2c28xS1dnTW5NOTgvWXExZVBPc0hrUklIc1Fod0YrWEQ2c0lrZ2VG?=
 =?utf-8?B?NndRSXNYZHp5ck9zYWRxMVJQUWNOem1WQW5OdzllejVzN1dreDBjenR3b2E0?=
 =?utf-8?B?MUJxQ1V4YkRsT2duSDZrKzZJbWtmcFZ6M3VBQk9kYjhZSFRaWk5sNmFBVzhH?=
 =?utf-8?B?cC8wQ0hNL0grS1VQa3B2YllkMlBJem1oQm9tVDkvWGF4Ri9QSVEvZG1aZnJW?=
 =?utf-8?B?eVNaZjh6UkRhbHNKbGtPWW4zUThDTDB3ZUVMdjhxaDFGa1h6dVRxNjMxajJO?=
 =?utf-8?B?N0I2ampTVmZyRlJ5ZDN6b1lmWVp1bFF2MVF4VFpkYlU5T1FiRTlCeEpyMlVQ?=
 =?utf-8?B?MHZLZUxWNFVsSzJhbksvY3RLb1BPRE1xcVd3V0N0UExDWUN6Q1RkbHFTRkMw?=
 =?utf-8?B?aHZxZFQvczdCOFBLYVkvL3FEM3djNlVjckw2SXJEaExmSk51a1J3SkJDWFNN?=
 =?utf-8?B?QlZ5aWU1U1grYzFZYzVMVDN2bWQ2ZGRPTXlXbUF2anExckFEd2JjUmkySDBE?=
 =?utf-8?B?L3ZTMG5BQVdWYk9KRjJ4VWZTQlYyQTRzTm9HelBkQmtSNXhRc2VnVU1oSTNw?=
 =?utf-8?B?M1lkZU5wcm4yT0Z2NGpNb2JxUEVrcTJ6T1hxbERxRFVocHpWTDlJN1Q4bU1C?=
 =?utf-8?B?YmlXaVB6YUo0V2l3Q2JBajJRMVcyOFFXM05KeitscVZacG8rVGpTa2huRFhs?=
 =?utf-8?B?SFdmWHVFUUIwUlRWd3puOUJYN2FucEZIUkZYMWVyQ0gyTUg0MlEzbEwxRE9O?=
 =?utf-8?Q?w7aGhm+u54ZCnapStPPQtlO1H?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e41767ef-e8ea-4a19-7245-08dade70c06b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 07:48:27.3410
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Xnk/7LYoIOES4KmA8dQKPczrr9byxRkOkMx18hV+JBqHJsSKlE4496Ua//D0T3vrwfViwgtSxLQ2yDpBKhIlYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8899

On 14.12.2022 17:36, Juergen Gross wrote:
> On 14.12.22 17:25, Daniel P. Smith wrote:
>> On 12/14/22 10:31, Juergen Gross wrote:
>>> On 14.12.22 16:03, Daniel P. Smith wrote:
>>>>
>>>> On 9/10/22 11:49, Juergen Gross wrote:
>>>>> Instead of being able to use normal spinlocks as recursive ones, too,
>>>>> make recursive spinlocks a special lock type.
>>>>>
>>>>> This will make the spinlock structure smaller in production builds and
>>>>> add type-safety.
>>>>
>>>> Just a little yak shaving, IMHO a spinlock is normally not expected to be 
>>>> recursive. Thus explicitly naming a spinlock as non-recursive I find to be 
>>>> redundant along with being expensive for typing. Whereas a recursive spinlock 
>>>> is the special instance and should have a declarative distinction. Only 
>>>> codifying the recursive type would significantly cut down on the size of the 
>>>> series and still provide equal type and visual clarification.
>>>
>>> A "normal" spinlock is non-recursive.
>>>
>>> A recursive spinlock in Xen can be either taken recursive, or it can be taken
>>> non-recursive, causing further recursive attempts to spin.
>>
>> Yes, I understand the current situation.
>>
>>> So the explicit non-recursive locking applies to that special treatment of
>>> recursive spinlocks.
>>
>> I understand this, but to help clarify what I am saying is that individuals 
>> coming from outside Xen would expect is the spinlock family of calls to behave 
>> as a non-recursive spinlocks and recursive spinlock family of calls would 
>> provide the recursive behavior. Currently Xen's behavior is backwards to this, 
>> which this series continues and is a valid approach. Here spinlock and recursive 
>> spinlock family of calls are recursive and must use non-recursive spinlock 
>> family to have "normal" spinlock behavior. IMHO it would greatly simplify the 
> 
> My series doesn't change treatment of normal spinlocks. They are still used via
> spin_{lock,locked,unlock}.
> 
>> code and align with the "normal" understanding of spinlocks if instead 
>> spin_{lock,locked,unlock} macros were the non-recursive calls and 
>> spin_{lock,locked,unlock}_recursive macros were the recursive calls. Then there 
>> would only be two suites of calls for spinlocks and a lot less keystrokes for 
>> need for most development.
> 
> Only the recursive spinlock type user must specify, whether a lock is meant to
> be handled as a recursive or a non-recursive lock attempt. This is similar to
> a rwlock, where the user must specify whether to lock as a reader or a writer.

While I can't come up with anything neat right away, it feels like it should be
possible to come up with some trickery to make spin_lock() usable on both lock
types, eliminating the need to ..._nonrecursive() variants visible at use sites
(they may still be necessary as helpers then). At least if a spinlock_t instance
wasn't embedded in the recursive lock struct (as I did suggest), then something
along the lines of what tgmath.h does may be possible.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 08:03:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 08:03:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463112.721242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jD6-0004f1-R1; Thu, 15 Dec 2022 08:03:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463112.721242; Thu, 15 Dec 2022 08:03:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jD6-0004eu-O9; Thu, 15 Dec 2022 08:03:20 +0000
Received: by outflank-mailman (input) for mailman id 463112;
 Thu, 15 Dec 2022 08:03:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Ka2Q=4N=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p5jD6-0004eo-5z
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 08:03:20 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9b23635-7c4e-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 09:03:09 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 4A34121F13;
 Thu, 15 Dec 2022 08:03:18 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D55D0138E5;
 Thu, 15 Dec 2022 08:03:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 91ecMsXUmmNbAgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 15 Dec 2022 08:03:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9b23635-7c4e-11ed-8fd3-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671091398; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=cxDWF5TAQ0XznhghIGv+VKbx7KJfcY5xYS7v/ynjBuc=;
	b=fMv66WXJ2Aq+UV7oVkgJY6EU+47IYYxzzI2e2yXyt3qlBLfXkyPxwMCzQgWn2FktDnsY/A
	SPo450Ev12Zrz9CmVmtK5rzEe8rjLQDmFt6IXWW9tUdUYdMObIvNyu/u5tfF6iQRSyNtk+
	rbY5O1qDvMkpcRbLd2ah557rEQqusaY=
Message-ID: <9cf592ef-fa3c-251a-97a3-2f0e8f4f2a0b@suse.com>
Date: Thu, 15 Dec 2022 09:03:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>,
 Paul Durrant <paul@xen.org>, "Daniel P. Smith"
 <dpsmith@apertussolutions.com>, xen-devel@lists.xenproject.org
References: <20220910154959.15971-1-jgross@suse.com>
 <933c9378-8f0d-41e6-ec9a-3a702ef13f24@apertussolutions.com>
 <d28412f2-2b94-5c69-c43f-481634562356@suse.com>
 <d57129f5-cfaf-0ed7-0dac-985b3a646b79@apertussolutions.com>
 <0fef4389-0373-b214-800c-f2457676e929@suse.com>
 <5b948f88-7757-7506-aa53-26308893fddf@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 0/3] xen/spinlock: make recursive spinlocks a
 dedicated type
In-Reply-To: <5b948f88-7757-7506-aa53-26308893fddf@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------mrw3n1i81lmQMkQlx41MiBhH"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------mrw3n1i81lmQMkQlx41MiBhH
Content-Type: multipart/mixed; boundary="------------MuaQ07EDBklgIoYJB1Wh38vk";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>,
 Paul Durrant <paul@xen.org>, "Daniel P. Smith"
 <dpsmith@apertussolutions.com>, xen-devel@lists.xenproject.org
Message-ID: <9cf592ef-fa3c-251a-97a3-2f0e8f4f2a0b@suse.com>
Subject: Re: [RFC PATCH 0/3] xen/spinlock: make recursive spinlocks a
 dedicated type
References: <20220910154959.15971-1-jgross@suse.com>
 <933c9378-8f0d-41e6-ec9a-3a702ef13f24@apertussolutions.com>
 <d28412f2-2b94-5c69-c43f-481634562356@suse.com>
 <d57129f5-cfaf-0ed7-0dac-985b3a646b79@apertussolutions.com>
 <0fef4389-0373-b214-800c-f2457676e929@suse.com>
 <5b948f88-7757-7506-aa53-26308893fddf@suse.com>
In-Reply-To: <5b948f88-7757-7506-aa53-26308893fddf@suse.com>

--------------MuaQ07EDBklgIoYJB1Wh38vk
Content-Type: multipart/mixed; boundary="------------mtQfKfDi0kBFmczWY6OJdxhz"

--------------mtQfKfDi0kBFmczWY6OJdxhz
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTUuMTIuMjIgMDg6NDgsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNC4xMi4yMDIy
IDE3OjM2LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMTQuMTIuMjIgMTc6MjUsIERh
bmllbCBQLiBTbWl0aCB3cm90ZToNCj4+PiBPbiAxMi8xNC8yMiAxMDozMSwgSnVlcmdlbiBH
cm9zcyB3cm90ZToNCj4+Pj4gT24gMTQuMTIuMjIgMTY6MDMsIERhbmllbCBQLiBTbWl0aCB3
cm90ZToNCj4+Pj4+DQo+Pj4+PiBPbiA5LzEwLzIyIDExOjQ5LCBKdWVyZ2VuIEdyb3NzIHdy
b3RlOg0KPj4+Pj4+IEluc3RlYWQgb2YgYmVpbmcgYWJsZSB0byB1c2Ugbm9ybWFsIHNwaW5s
b2NrcyBhcyByZWN1cnNpdmUgb25lcywgdG9vLA0KPj4+Pj4+IG1ha2UgcmVjdXJzaXZlIHNw
aW5sb2NrcyBhIHNwZWNpYWwgbG9jayB0eXBlLg0KPj4+Pj4+DQo+Pj4+Pj4gVGhpcyB3aWxs
IG1ha2UgdGhlIHNwaW5sb2NrIHN0cnVjdHVyZSBzbWFsbGVyIGluIHByb2R1Y3Rpb24gYnVp
bGRzIGFuZA0KPj4+Pj4+IGFkZCB0eXBlLXNhZmV0eS4NCj4+Pj4+DQo+Pj4+PiBKdXN0IGEg
bGl0dGxlIHlhayBzaGF2aW5nLCBJTUhPIGEgc3BpbmxvY2sgaXMgbm9ybWFsbHkgbm90IGV4
cGVjdGVkIHRvIGJlDQo+Pj4+PiByZWN1cnNpdmUuIFRodXMgZXhwbGljaXRseSBuYW1pbmcg
YSBzcGlubG9jayBhcyBub24tcmVjdXJzaXZlIEkgZmluZCB0byBiZQ0KPj4+Pj4gcmVkdW5k
YW50IGFsb25nIHdpdGggYmVpbmcgZXhwZW5zaXZlIGZvciB0eXBpbmcuIFdoZXJlYXMgYSBy
ZWN1cnNpdmUgc3BpbmxvY2sNCj4+Pj4+IGlzIHRoZSBzcGVjaWFsIGluc3RhbmNlIGFuZCBz
aG91bGQgaGF2ZSBhIGRlY2xhcmF0aXZlIGRpc3RpbmN0aW9uLiBPbmx5DQo+Pj4+PiBjb2Rp
ZnlpbmcgdGhlIHJlY3Vyc2l2ZSB0eXBlIHdvdWxkIHNpZ25pZmljYW50bHkgY3V0IGRvd24g
b24gdGhlIHNpemUgb2YgdGhlDQo+Pj4+PiBzZXJpZXMgYW5kIHN0aWxsIHByb3ZpZGUgZXF1
YWwgdHlwZSBhbmQgdmlzdWFsIGNsYXJpZmljYXRpb24uDQo+Pj4+DQo+Pj4+IEEgIm5vcm1h
bCIgc3BpbmxvY2sgaXMgbm9uLXJlY3Vyc2l2ZS4NCj4+Pj4NCj4+Pj4gQSByZWN1cnNpdmUg
c3BpbmxvY2sgaW4gWGVuIGNhbiBiZSBlaXRoZXIgdGFrZW4gcmVjdXJzaXZlLCBvciBpdCBj
YW4gYmUgdGFrZW4NCj4+Pj4gbm9uLXJlY3Vyc2l2ZSwgY2F1c2luZyBmdXJ0aGVyIHJlY3Vy
c2l2ZSBhdHRlbXB0cyB0byBzcGluLg0KPj4+DQo+Pj4gWWVzLCBJIHVuZGVyc3RhbmQgdGhl
IGN1cnJlbnQgc2l0dWF0aW9uLg0KPj4+DQo+Pj4+IFNvIHRoZSBleHBsaWNpdCBub24tcmVj
dXJzaXZlIGxvY2tpbmcgYXBwbGllcyB0byB0aGF0IHNwZWNpYWwgdHJlYXRtZW50IG9mDQo+
Pj4+IHJlY3Vyc2l2ZSBzcGlubG9ja3MuDQo+Pj4NCj4+PiBJIHVuZGVyc3RhbmQgdGhpcywg
YnV0IHRvIGhlbHAgY2xhcmlmeSB3aGF0IEkgYW0gc2F5aW5nIGlzIHRoYXQgaW5kaXZpZHVh
bHMNCj4+PiBjb21pbmcgZnJvbSBvdXRzaWRlIFhlbiB3b3VsZCBleHBlY3QgaXMgdGhlIHNw
aW5sb2NrIGZhbWlseSBvZiBjYWxscyB0byBiZWhhdmUNCj4+PiBhcyBhIG5vbi1yZWN1cnNp
dmUgc3BpbmxvY2tzIGFuZCByZWN1cnNpdmUgc3BpbmxvY2sgZmFtaWx5IG9mIGNhbGxzIHdv
dWxkDQo+Pj4gcHJvdmlkZSB0aGUgcmVjdXJzaXZlIGJlaGF2aW9yLiBDdXJyZW50bHkgWGVu
J3MgYmVoYXZpb3IgaXMgYmFja3dhcmRzIHRvIHRoaXMsDQo+Pj4gd2hpY2ggdGhpcyBzZXJp
ZXMgY29udGludWVzIGFuZCBpcyBhIHZhbGlkIGFwcHJvYWNoLiBIZXJlIHNwaW5sb2NrIGFu
ZCByZWN1cnNpdmUNCj4+PiBzcGlubG9jayBmYW1pbHkgb2YgY2FsbHMgYXJlIHJlY3Vyc2l2
ZSBhbmQgbXVzdCB1c2Ugbm9uLXJlY3Vyc2l2ZSBzcGlubG9jaw0KPj4+IGZhbWlseSB0byBo
YXZlICJub3JtYWwiIHNwaW5sb2NrIGJlaGF2aW9yLiBJTUhPIGl0IHdvdWxkIGdyZWF0bHkg
c2ltcGxpZnkgdGhlDQo+Pg0KPj4gTXkgc2VyaWVzIGRvZXNuJ3QgY2hhbmdlIHRyZWF0bWVu
dCBvZiBub3JtYWwgc3BpbmxvY2tzLiBUaGV5IGFyZSBzdGlsbCB1c2VkIHZpYQ0KPj4gc3Bp
bl97bG9jayxsb2NrZWQsdW5sb2NrfS4NCj4+DQo+Pj4gY29kZSBhbmQgYWxpZ24gd2l0aCB0
aGUgIm5vcm1hbCIgdW5kZXJzdGFuZGluZyBvZiBzcGlubG9ja3MgaWYgaW5zdGVhZA0KPj4+
IHNwaW5fe2xvY2ssbG9ja2VkLHVubG9ja30gbWFjcm9zIHdlcmUgdGhlIG5vbi1yZWN1cnNp
dmUgY2FsbHMgYW5kDQo+Pj4gc3Bpbl97bG9jayxsb2NrZWQsdW5sb2NrfV9yZWN1cnNpdmUg
bWFjcm9zIHdlcmUgdGhlIHJlY3Vyc2l2ZSBjYWxscy4gVGhlbiB0aGVyZQ0KPj4+IHdvdWxk
IG9ubHkgYmUgdHdvIHN1aXRlcyBvZiBjYWxscyBmb3Igc3BpbmxvY2tzIGFuZCBhIGxvdCBs
ZXNzIGtleXN0cm9rZXMgZm9yDQo+Pj4gbmVlZCBmb3IgbW9zdCBkZXZlbG9wbWVudC4NCj4+
DQo+PiBPbmx5IHRoZSByZWN1cnNpdmUgc3BpbmxvY2sgdHlwZSB1c2VyIG11c3Qgc3BlY2lm
eSwgd2hldGhlciBhIGxvY2sgaXMgbWVhbnQgdG8NCj4+IGJlIGhhbmRsZWQgYXMgYSByZWN1
cnNpdmUgb3IgYSBub24tcmVjdXJzaXZlIGxvY2sgYXR0ZW1wdC4gVGhpcyBpcyBzaW1pbGFy
IHRvDQo+PiBhIHJ3bG9jaywgd2hlcmUgdGhlIHVzZXIgbXVzdCBzcGVjaWZ5IHdoZXRoZXIg
dG8gbG9jayBhcyBhIHJlYWRlciBvciBhIHdyaXRlci4NCj4gDQo+IFdoaWxlIEkgY2FuJ3Qg
Y29tZSB1cCB3aXRoIGFueXRoaW5nIG5lYXQgcmlnaHQgYXdheSwgaXQgZmVlbHMgbGlrZSBp
dCBzaG91bGQgYmUNCj4gcG9zc2libGUgdG8gY29tZSB1cCB3aXRoIHNvbWUgdHJpY2tlcnkg
dG8gbWFrZSBzcGluX2xvY2soKSB1c2FibGUgb24gYm90aCBsb2NrDQo+IHR5cGVzLCBlbGlt
aW5hdGluZyB0aGUgbmVlZCB0byAuLi5fbm9ucmVjdXJzaXZlKCkgdmFyaWFudHMgdmlzaWJs
ZSBhdCB1c2Ugc2l0ZXMNCj4gKHRoZXkgbWF5IHN0aWxsIGJlIG5lY2Vzc2FyeSBhcyBoZWxw
ZXJzIHRoZW4pLiBBdCBsZWFzdCBpZiBhIHNwaW5sb2NrX3QgaW5zdGFuY2UNCj4gd2Fzbid0
IGVtYmVkZGVkIGluIHRoZSByZWN1cnNpdmUgbG9jayBzdHJ1Y3QgKGFzIEkgZGlkIHN1Z2dl
c3QpLCB0aGVuIHNvbWV0aGluZw0KPiBhbG9uZyB0aGUgbGluZXMgb2Ygd2hhdCB0Z21hdGgu
aCBkb2VzIG1heSBiZSBwb3NzaWJsZS4NCg0KTWlnaHQgYmUsIGJ1dCBkbyB3ZSByZWFsbHkg
d2FudCB0aGF0Pw0KDQpXb3VsZG4ndCBpdCBtYWtlIG1vcmUgc2Vuc2UgdG8gbGV0IHRoZSB1
c2VyIGV4cGxpY2l0bHkgc2F5IHRoYXQgaGUgd2FudHMgYSBsb2NrDQp0byBiZSB0YWtlbiBu
b24tcmVjdXJzaXZlbHk/IEFsbG93aW5nICJzcGluX2xvY2soKSIgd291bGQgYWRkIHNvbWUg
bW9yZSByaXNrIHRvDQp1c2UgaXQgYnkgYWNjaWRlbnQgZS5nLiBiZWNhdXNlIG9mIGNvcHkv
cGFzdGUgd2l0aG91dCBub3RpY2luZyB0aGF0IGl0IGlzIGENCnJlY3Vyc2l2ZSBsb2NrIHRo
YXQgaXMgdGFrZW4gbm9uLXJlY3Vyc2l2ZWx5LiBTYW1lIGFwcGxpZXMgZm9yIHBhdGNoIHJl
dmlld3MuDQoNCkknZCBwcmVmZXIgdG8gbWFrZSB0aGlzIGVhc2lseSB2aXNpYmxlLg0KDQoN
Ckp1ZXJnZW4NCg==
--------------mtQfKfDi0kBFmczWY6OJdxhz
Content-Type: application/pgp-keys; name="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Disposition: attachment; filename="OpenPGP_0xB0DE9DD628BF132F.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjri
oyspZKOBycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2
kaV2KL9650I1SJvedYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i
1TXkH09XSSI8mEQ/ouNcMvIJNwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/B
BLUVbDa4+gmzDC9ezlZkTZG2t14zWPvxXP3FAp2pkW0xqG7/377qptDmrk42GlSK
N4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEBAAHNHEp1ZXJnZW4gR3Jvc3Mg
PGpnQHBmdXBmLm5ldD7CwHkEEwECACMFAlOMcBYCGwMHCwkIBwMCAQYVCAIJCgsE
FgIDAQIeAQIXgAAKCRCw3p3WKL8TL0KdB/93FcIZ3GCNwFU0u3EjNbNjmXBKDY4F
UGNQH2lvWAUy+dnyThpwdtF/jQ6j9RwE8VP0+NXcYpGJDWlNb9/JmYqLiX2Q3Tye
vpB0CA3dbBQp0OW0fgCetToGIQrg0MbD1C/sEOv8Mr4NAfbauXjZlvTj30H2jO0u
+6WGM6nHwbh2l5O8ZiHkH32iaSTfN7Eu5RnNVUJbvoPHZ8SlM4KWm8rG+lIkGurq
qu5gu8q8ZMKdsdGC4bBxdQKDKHEFExLJK/nRPFmAuGlId1E3fe10v5QL+qHI3EIP
tyfE7i9Hz6rVwi7lWKgh7pe0ZvatAudZ+JNIlBKptb64FaiIOAWDCx1SzR9KdWVy
Z2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+wsB5BBMBAgAjBQJTjHCvAhsDBwsJ
CAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/Ey/HmQf/RtI7kv5A2PS4
RF7HoZhPVPogNVbC4YA6lW7DrWf0teC0RR3MzXfy6pJ+7KLgkqMlrAbN/8Dvjoz7
8X+5vhH/rDLa9BuZQlhFmvcGtCF8eR0T1v0nC/nuAFVGy+67q2DH8As3KPu0344T
BDpAvr2uYM4tSqxK4DURx5INz4ZZ0WNFHcqsfvlGJALDeE0LhITTd9jLzdDad1pQ
SToCnLl6SBJZjDOX9QQcyUigZFtCXFst4dlsvddrxyqT1f17+2cFSdu7+ynLmXBK
7abQ3rwJY8SbRO2iRulogc5vr/RLMMlscDAiDkaFQWLoqHHOdfO9rURssHNN8WkM
nQfvUewRz80hSnVlcmdlbiBHcm9zcyA8amdyb3NzQG5vdmVsbC5jb20+wsB5BBMB
AgAjBQJTjHDXAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AACgkQsN6d1ii/
Ey8PUQf/ehmgCI9jB9hlgexLvgOtf7PJnFOXgMLdBQgBlVPO3/D9R8LtF9DBAFPN
hlrsfIG/SqICoRCqUcJ96Pn3P7UUinFG/I0ECGF4EvTE1jnDkfJZr6jrbjgyoZHi
w/4BNwSTL9rWASyLgqlA8u1mf+c2yUwcGhgkRAd1gOwungxcwzwqgljf0N51N5Jf
VRHRtyfwq/ge+YEkDGcTU6Y0sPOuj4Dyfm8fJzdfHNQsWq3PnczLVELStJNdapwP
OoE+lotufe3AM2vAEYJ9rTz3Cki4JFUsgLkHFqGZarrPGi1eyQcXeluldO3m91NK
/1xMI3/+8jbO0tsn1tqSEUGIJi7ox80eSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuZGU+wsB5BBMBAgAjBQJTjHDrAhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgEC
F4AACgkQsN6d1ii/Ey+LhQf9GL45eU5vOowA2u5N3g3OZUEBmDHVVbqMtzwlmNC4
k9Kx39r5s2vcFl4tXqW7g9/ViXYuiDXb0RfUpZiIUW89siKrkzmQ5dM7wRqzgJpJ
wK8Bn2MIxAKArekWpiCKvBOB/Cc+3EXE78XdlxLyOi/NrmSGRIov0karw2RzMNOu
5D+jLRZQd1Sv27AR+IP3I8U4aqnhLpwhK7MEy9oCILlgZ1QZe49kpcumcZKORmzB
TNh30FVKK1EvmV2xAKDoaEOgQB4iFQLhJCdP1I5aSgM5IVFdn7v5YgEYuJYx37Io
N1EblHI//x/e2AaIHpzK5h88NEawQsaNRpNSrcfbFmAg987ATQRTjHAWAQgAyzH6
AOODMBjgfWE9VeCgsrwH3exNAU32gLq2xvjpWnHIs98ndPUDpnoxWQugJ6MpMncr
0xSwFmHEgnSEjK/PAjppgmyc57BwKII3sV4on+gDVFJR6Y8ZRwgnBC5mVM6JjQ5x
Dk8WRXljExRfUX9pNhdE5eBOZJrDRoLUmmjDtKzWaDhIg/+1Hzz93X4fCQkNVbVF
LELU9bMaLPBG/x5q4iYZ2k2ex6d47YE1ZFdMm6YBYMOljGkZKwYde5ldM9mo45mm
we0icXKLkpEdIXKTZeKDO+Hdv1aqFuAcccTg9RXDQjmwhC3yEmrmcfl0+rPghO0I
v3OOImwTEe4co3c1mwARAQABwsBfBBgBAgAJBQJTjHAWAhsMAAoJELDendYovxMv
Q/gH/1ha96vm4P/L+bQpJwrZ/dneZcmEwTbe8YFsw2V/Buv6Z4Mysln3nQK5ZadD
534CF7TDVft7fC4tU4PONxF5D+/tvgkPfDAfF77zy2AH1vJzQ1fOU8lYFpZXTXIH
b+559UqvIB8AdgR3SAJGHHt4RKA0F7f5ipYBBrC6cyXJyyoprT10EMvU8VGiwXvT
yJz3fjoYsdFzpWPlJEBRMedCot60g5dmbdrZ5DWClAr0yau47zpWj3enf1tLWaqc
suylWsviuGjKGw7KHQd3bxALOknAp4dN3QwBYCKuZ7AddY9yjynVaD5X7nF9nO5B
jR/i1DG86lem3iBDXzXsZDn8R38=3D
=3D2wuH
-----END PGP PUBLIC KEY BLOCK-----

--------------mtQfKfDi0kBFmczWY6OJdxhz--

--------------MuaQ07EDBklgIoYJB1Wh38vk--

--------------mrw3n1i81lmQMkQlx41MiBhH
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmOa1MUFAwAAAAAACgkQsN6d1ii/Ey+5
jggAkhZGOc8UOKHz/3D/BuEgz0ZGTD4AhXRwBwNm2qEo6fE+n93+x93Lh3MWss3/PkfR9ZWtTIrO
iPjKLMzNqWZe/olVRkIw0qB3IvGicgUBvd6fEFlbM8XH+M8qd3nHSHlljHqbUEsZet4tIiHzUdYm
g/lLXr2ZaCIi4K18rO/OXQRqmKcmkcLlow9/hfV/Lq/eMDl2YuB4Q9ls/Q5V6Ux2XXpio3Hyf1MX
Pm8iw7ihoHcGvy3KXFDFXT7Kst/q/3q9GxuBDVAF//yhrsX9GHb0q2uV9c9UMb5Bsu+rKytpHUHE
pYZfXoCrIu5ijhJiZMSPyx+pcTj8FqqOofV+kq9QhQ==
=VIsc
-----END PGP SIGNATURE-----

--------------mrw3n1i81lmQMkQlx41MiBhH--


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 08:20:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 08:20:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463122.721255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jTg-0007fM-64; Thu, 15 Dec 2022 08:20:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463122.721255; Thu, 15 Dec 2022 08:20:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jTg-0007fF-3P; Thu, 15 Dec 2022 08:20:28 +0000
Received: by outflank-mailman (input) for mailman id 463122;
 Thu, 15 Dec 2022 08:20:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=g8Eh=4N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5jTe-0007f9-J1
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 08:20:26 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2083.outbound.protection.outlook.com [40.107.21.83])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5328166d-7c51-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 09:20:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8163.eurprd04.prod.outlook.com (2603:10a6:20b:3e8::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Thu, 15 Dec
 2022 08:20:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Thu, 15 Dec 2022
 08:20:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5328166d-7c51-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CIsjrOkCdIzdMBKpgkUyeahcsl04XTWsYLUGKzyQ8RUBgTTnLSNccNu2OBKIXCb0PHMqlnkJ8sAWys0ruI7rDcOmY0Ax7NbTYbTvJ9h+lYNTF/f2pUrNLvBw/x5xKhJNWql37oWnKhpNRN+hQhI4qesLI3qOZ41MKT0da9Kxo+JMclivafJrlyT4B3EynFqJjBNDzLp5PXEEjopXtbNQGYij4PWzFX8xtnALkBG/ou4BZs1+l92rtLz9af7tmcywUIKE4Gd5gp9nn5CyWDekgyD3u8ltcnXntDd7xib3Lprz2r6MgJ++uOWPIBf7Z2faYXAP44Aq8DIRtKS1x5Ng7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wb5l1KXUiBOGjR+uZCpnTrAK3ThRH8BMlU5i4PVgkJA=;
 b=c/DyhXv8bI/xNlSdmDT6dVps0mwzxtQ6Lo5ljDAJcZCUlRrWpp7yNfUL6XQmigKHwH1HasjH+URq1/K7HKI3WcnjMsolIhog5poOJkj0/cEKxeHVL+J91J+axUXSjpPkET+71tPMd2/PX/AzCIjFGzqtqsnBNCoAqPa0v3mtCVY99NGhNO+V7hjdsJjjWYLlCvcMNs9TMFipl385kaywMUaTT9ABfNh8xG2oWuNP8xUMd5739j/49EWod+l54inFEdT1pHNX/3pTcfCP7bcGVEOUGz3caacoNF6o+u8S8Bc6lQFk9B4giHQDscWc/Hi0niMZ9rp6LMGpv72jNV67Kw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wb5l1KXUiBOGjR+uZCpnTrAK3ThRH8BMlU5i4PVgkJA=;
 b=VvOkDwAt754Ysnss7DgwxuobRBG38y67jt8L9v3ZSNTZSUAPo0l4alojsrL9dlr/KoIYXcjcGYz9Rhg3anEGghzCP1FmxW2WGN0ww1UPzJ+R7yPBFbQeab0oDwRuqTxoiqwK/e9qEzvHQSnWpcrysyze0ONyV9UJtjzJ+awP/nJutXTzJkm8kMexv+EYoSkbNfjNkdr4PirK/Cs4Nc/Q6kz2p5GwdcYOVq4xwnQVYr8KVYfigJ3rOBb0laAcBHVsY163skISug4sii2KeM0OwxafWUDW7nO16WKGxntkGu1H4LfgpkbYHeac5K6nN1Xc08qQGRhaCNN7ZbJCDAYnow==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <30a79d1e-c638-9e74-52fa-4cce53cd12dd@suse.com>
Date: Thu, 15 Dec 2022 09:20:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86/SVM: restrict hardware SSBD update upon guest
 VIRT_SPEC_CTRL write
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0135.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8163:EE_
X-MS-Office365-Filtering-Correlation-Id: 8bcb94d7-9df0-4de8-ce66-08dade753674
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	42ujwb0BhCLwUf9JLPqX93edqEm2PYf+8hXJnUmtE3G4D7GX8XQvdVjelC/6agFgilKZZg1OFsZdwKAoqwJ8CcEIodVJ0FpBBneq5D0D98xF97DTzjWeZQoqy0zX5GbLiG9s5QZJvxfw4bEDlrlGco5Lal2QSrvjIUnkVVxFha6u5PRdmImeAv6TRyuP0Df7Mt6ZNCUUThTRSnwqAq0jMwONQ4oeAKtbwAngO1OLQHmjVWnhvEirTjSM3e8RxXjeb1fXC2m4Qv/PUeFsHJKIlcD7M8nd9k/vr5mky2CSyxfIwVx0cV77IGE160rSJTs/uG/FDlj9YeN8BJ0RaBrZocKGTA1FMN/2DjiTPS72h3g28CsjGI9lgwnFdmUJu0pxkDhRIP7wztmK8tyglZs0vUNmZH39O9Zpa9gemLNLTCFgdfGUXdVBZtd4pyIrciPSNgbn7ErgqT76tkJ4vYxuSsSm0Ai2Fp3JAN9WqBer3vemuuAe+PJORwEor85x9nQn2ox9bsfwS9wcMAidXTJ7NnQa9s1HKL7ZkLdfXe86FhlaKY1Xq1tLyGNJG2GhA0W8Smv8iaOphucnMzYUYlxYBkDTCLbUfDGUoQXeUs7j5BzuEKCJCGUGf5aMzJs9Sen4WnkafI1sILl31rIaB7FCazWl/aMvFJoTJN1LdaJSo3+dnJeyd6MNLBgNjBg42JGO54WFYvPa+Ly009O04CAtO/Sx1u3DMyzXtSC+XRPwOWs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(39860400002)(346002)(136003)(376002)(451199015)(31686004)(54906003)(26005)(66946007)(66556008)(8936002)(36756003)(31696002)(6506007)(6512007)(86362001)(316002)(38100700002)(83380400001)(6916009)(41300700001)(4326008)(8676002)(5660300002)(478600001)(6486002)(66476007)(186003)(2616005)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K25zOWhNWTNmeFNWaENjeFpSZFdsN2JUV0R0MHlKNlUzQW93RWpnRmtsVlE0?=
 =?utf-8?B?ZitEbTlFVDZSUlY3NHV5Z1B1ZWhzbmFFUmJKMWxTRkQwdk50QjZ3SUQ1Y0hY?=
 =?utf-8?B?NzZGQjFDZ2lJM3lUdWUyZ0ZrZDl0RStndWI3Wnp1ZWVJRjBLUlhrTlFMUVpr?=
 =?utf-8?B?VVhKdzlYaTJjZlBReDVsajFDWEJIaFNzQ1dZT2FnWUlGVXdjTHNBVi9ZVnZm?=
 =?utf-8?B?MzdvRE8wL29KZU9kbWlVOHpDUzNtSzBicElUeXlReTNwODY1VWM0V2NCN0dR?=
 =?utf-8?B?Uk42TGVIVHk4bEpadmtzcjZ1N1RWUVpYZlZsVEdaYTRUbEVpZzh4M3BCR3JU?=
 =?utf-8?B?QUE4TEN6elpTTkJKdStQUGFDV0dEVUNMc1F3ajlJSnRxV1dSbG9wVG5TOFEw?=
 =?utf-8?B?MXpKMzVyTWpnOTA4d29zeE16UURqUUV0R0lGb2wveEljamdEcHR2YVZpSThr?=
 =?utf-8?B?THMwVmZPMnZSMytxWUlPRWdFVFhnZTg2aEVhOVN2NXUrc0tla2VUcmZjZElk?=
 =?utf-8?B?eWlveEl0WVJoYWtIMk1xMy9RbU41YVhTRmpCMnpNeVRtV1FDME1CRXpZWUlB?=
 =?utf-8?B?VUMvQ3pOeGJveUdFMU0rRWJWQUhPMHAyR2UwYlo4N3lpUVdDS25hV0doS0FH?=
 =?utf-8?B?UFhlRUdzNm5LWmJ4RGp4elBkZTdPd0hGN0dVOGR3TXYrRkZDMGwwclFDLzZI?=
 =?utf-8?B?OTc5WmlaMTVMbitZZ0JMMmY1eHRlaDV5K3pGR2x5TFlnVUVNbXJHcjUrR2Mw?=
 =?utf-8?B?QWUxeUlFaDBDc085aDhCVHVhOEJJd2MySW5LUFpWcDcyR1I2ajJVYVhCZ2Vm?=
 =?utf-8?B?b2lZRjVZd0R5QzhJdExBcGlvc0hWenAxYjNRYjBhbGhHN3VDM0l3OHRmV01T?=
 =?utf-8?B?ZjdDc3djNWd1TDBsZjBXZmZ3WWVZOEhBU3grMHV4OXoyTk5LazVPY1RKdjhn?=
 =?utf-8?B?OXRWNmZGQ28zcXdtKzEweXVwUGJLMDJDM2kzNUJTOG5yV0NrdHp6a3FsUFgv?=
 =?utf-8?B?Z01vWDNmRmk5TlhTTkh2elFWbWo5SUFEcWNxNkN0bmNPNE4xNmVDSVVpbVlm?=
 =?utf-8?B?K2lNeWVEMHV6amtYYjFVandpNU5zODQ0T0Vtc2VLUjJCT2ZFRHdmeFN2QmJS?=
 =?utf-8?B?YXVja1JiSmI5cGo1UGFBUU5NdE41RWptTVljS2xLRDhKSWtWczQ3NG9SMnQz?=
 =?utf-8?B?VldpRmtBVHdOTEJpckZWUVJuV3diajFBN3Fjb0thUk1raXNrdm5tb2dlVU1v?=
 =?utf-8?B?Wjh4VENPaTZiQmt0WDB4ZlpaRXc5QWJFdDVPTXlnU0dzTTNYUWV5SjR5aUdN?=
 =?utf-8?B?SjRsN0ZCOExJRWhEOEIwcHVSbzJIMW5kRmpYTkx2aGxBWHlUeENmeFpndUp3?=
 =?utf-8?B?WGw1dk13WHpZaXFQZDgzQVZ4OENQL0NlaHNyTGkzaWx4dk9Fc2lJSWxpT0l6?=
 =?utf-8?B?UkFpNHovanEvWkFJWERmenJHT2IycG9ybmJFQWpRcll6ZE01bzhWTklWZE5H?=
 =?utf-8?B?MEVPRkpUTUwzTWlsVzJTQUJUUTZnUHhmaGU5aVdtVHYrbEVPSzJVbEJDTG1a?=
 =?utf-8?B?QzlqaER4aENtZjNIVWVjSHQvZ21TdWJId1h4T0Z4Z3R3Tk1MR096bjc3c0s4?=
 =?utf-8?B?Sm1HR0lobnE0c2p5YStyYWNNbGxJNmhvYi9PU3V5VUd6TGZDUFVYM2VsOHNL?=
 =?utf-8?B?ZTBQM3lxbTNmclRYTGJsUkpsd3c2am5UYXRzZnNqZGFkQnNzcGVxdDFYamJw?=
 =?utf-8?B?cFZhYUNkUGVVenlJSTFqV2JwUWNZUVJZR2dHUEVDWkoxWHJkaG52UUFjVTU4?=
 =?utf-8?B?UDFUUnRrdlN0L3Y1YlY2RlFNNjVDbXE1SisyQWRPTHExV0ZWcjFVbDdsaHl6?=
 =?utf-8?B?T1lIeVE2eXkwbEc3UFk5TytwOXdaZFhPdW0ySXhkMEhPbVc4NHZ5dHRRaEZX?=
 =?utf-8?B?b3ZJZExqMVB4TmN1eDFXUFJDMVNMZmhoa1NJOThEM05ZR3BDd3k5bDlXZzV5?=
 =?utf-8?B?ekJGekxiTkRBRG5NN1ZQaTZ4OWpOalEwSmw5LzYzU25yeHIybTN3TTc4VVRT?=
 =?utf-8?B?dWJmbTgvU1JmTkVJc3N3MklsTTRPWHZJN3dET2cwWGRzMVA2NitDMjZTQThJ?=
 =?utf-8?Q?letudo9F8Iz+m46syLklylewv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8bcb94d7-9df0-4de8-ce66-08dade753674
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 08:20:23.4854
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZIVA6SKXE7iAfj71yoDMNCgVegp+syCyJvjlgZ1Frricalihv3D1k5ZDhilqjensLs26OD+duw2UCyCWeZZpCg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8163

core_set_legacy_ssbd() counts the number of times SSBD is being enabled
via LS_CFG on a core. This assumes that calls there only occur if the
state actually changes. While svm_ctxt_switch_{to,from}() conform to
this, guest_wrmsr() doesn't: It also calls the function when the bit
doesn't actually change. Make core_set_legacy_ssbd() track per-thread
enabled state by converting the "count" field to a bitmap, thus allowing
to skip redundant enable/disable requests, constraining
amd_setup_legacy_ssbd() accordingly.

Fixes: b2030e6730a2 ("amd/virt_ssbd: set SSBD at vCPU context switch")
Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
This wants properly testing on affected hardware. From Andrew's
description it's also not clear whether this really is addressing that
problem, or yet another one in this same area.
---
v2: Change core_set_legacy_ssbd() itself rather than the problematic
    caller.

--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -744,7 +744,7 @@ void amd_init_ssbd(const struct cpuinfo_
 
 static struct ssbd_ls_cfg {
     spinlock_t lock;
-    unsigned int count;
+    unsigned long enabled;
 } __cacheline_aligned *ssbd_ls_cfg;
 static unsigned int __ro_after_init ssbd_max_cores;
 #define AMD_FAM17H_MAX_SOCKETS 2
@@ -757,6 +757,11 @@ bool __init amd_setup_legacy_ssbd(void)
 	    boot_cpu_data.x86_num_siblings <= 1 || opt_ssbd)
 		return true;
 
+	if (boot_cpu_data.x86_num_siblings > BITS_PER_LONG ||
+	    (boot_cpu_data.x86_num_siblings &
+	     (boot_cpu_data.x86_num_siblings - 1)))
+		return false;
+
 	/*
 	 * One could be forgiven for thinking that c->x86_max_cores is the
 	 * correct value to use here.
@@ -800,10 +805,12 @@ static void core_set_legacy_ssbd(bool en
 	                      c->cpu_core_id];
 
 	spin_lock_irqsave(&status->lock, flags);
-	status->count += enable ? 1 : -1;
-	ASSERT(status->count <= c->x86_num_siblings);
-	if (enable ? status->count == 1 : !status->count)
+	if (!enable)
+		__clear_bit(c->apicid & (c->x86_num_siblings - 1), &status->enabled);
+	if (!status->enabled)
 		BUG_ON(!set_legacy_ssbd(c, enable));
+	if (enable)
+		__set_bit(c->apicid & (c->x86_num_siblings - 1), &status->enabled);
 	spin_unlock_irqrestore(&status->lock, flags);
 }
 


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 08:29:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 08:29:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463131.721267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jcm-0000Ep-3L; Thu, 15 Dec 2022 08:29:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463131.721267; Thu, 15 Dec 2022 08:29:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jcm-0000Ei-0n; Thu, 15 Dec 2022 08:29:52 +0000
Received: by outflank-mailman (input) for mailman id 463131;
 Thu, 15 Dec 2022 08:29:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5jck-0000Ec-JP
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 08:29:50 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5jcX-0004ao-Ip; Thu, 15 Dec 2022 08:29:37 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5jcX-00089F-C1; Thu, 15 Dec 2022 08:29:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=lY+oKwmn34YirV4nmM1TKwDRiogOejpXJXfDxIqG6aI=; b=O25jp2oBA/yPZIP+fAupay8uAX
	xnn48u6VcUrIZVpOGtMt/USrX50DKdxR8FepCF7v6bLUCZtVvdlab/BEVDChvwu7cwobZIPFxfQPH
	rjz/J2NunK6zuO/pCizM3vOUTS+gcSObmbpnuKMERt9eXAl4qgkIH74yw8lk5fW60Ekk=;
Message-ID: <43f639ec-5884-0bd1-2db4-f5cdde9dde86@xen.org>
Date: Thu, 15 Dec 2022 08:29:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [RFC PATCH 0/3] xen/spinlock: make recursive spinlocks a
 dedicated type
To: Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>, Lukasz Hawrylko <lukasz@hawrylko.pl>,
 =?UTF-8?Q?Mateusz_M=c3=b3wka?= <mateusz.mowka@intel.com>,
 Paul Durrant <paul@xen.org>, "Daniel P. Smith"
 <dpsmith@apertussolutions.com>, xen-devel@lists.xenproject.org
References: <20220910154959.15971-1-jgross@suse.com>
 <933c9378-8f0d-41e6-ec9a-3a702ef13f24@apertussolutions.com>
 <d28412f2-2b94-5c69-c43f-481634562356@suse.com>
 <d57129f5-cfaf-0ed7-0dac-985b3a646b79@apertussolutions.com>
 <0fef4389-0373-b214-800c-f2457676e929@suse.com>
 <5b948f88-7757-7506-aa53-26308893fddf@suse.com>
 <9cf592ef-fa3c-251a-97a3-2f0e8f4f2a0b@suse.com>
Content-Language: en-US
From: Julien Grall <julien@xen.org>
In-Reply-To: <9cf592ef-fa3c-251a-97a3-2f0e8f4f2a0b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 15/12/2022 08:03, Juergen Gross wrote:
> Might be, but do we really want that?
> 
> Wouldn't it make more sense to let the user explicitly say that he wants 
> a lock
> to be taken non-recursively? Allowing "spin_lock()" would add some more 
> risk to
> use it by accident e.g. because of copy/paste without noticing that it is a
> recursive lock that is taken non-recursively. Same applies for patch 
> reviews.
> 
> I'd prefer to make this easily visible.

FWIW, +1.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 08:32:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 08:32:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463141.721281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jf9-0001bQ-Ic; Thu, 15 Dec 2022 08:32:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463141.721281; Thu, 15 Dec 2022 08:32:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jf9-0001bJ-Fj; Thu, 15 Dec 2022 08:32:19 +0000
Received: by outflank-mailman (input) for mailman id 463141;
 Thu, 15 Dec 2022 08:32:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5jf7-0001b9-EA; Thu, 15 Dec 2022 08:32:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5jf7-0004fE-Cb; Thu, 15 Dec 2022 08:32:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5jf6-0008J5-Qq; Thu, 15 Dec 2022 08:32:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5jf6-0004Ep-QR; Thu, 15 Dec 2022 08:32:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=Yse1gaV6e7HtpbL3lQoJ2QtxxXYzHiIPkWau9TQlLQo=; b=VRlS8wGoI0Hle87q2FtsgfTs+a
	wPUbSjLOKrYHsIxfuIfbmjeazYyEU2v/qlcQNniI2H6kJ9Aiy3WL9Rf7lv2IHbptKPIQ0EBjEXAGz
	Iq3+4+owhqqDZt89mTE5Au5BWhLY2qHrJ+PRPqgL1ZT5abeRSRIRauow7pxp4jbT+eIg=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable bisection] complete test-amd64-amd64-xl-pvhv2-intel
Message-Id: <E1p5jf6-0004Ep-QR@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 08:32:16 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-xl-pvhv2-intel
testid xen-boot

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Bug not present: eac84d9d579011f311d502317b74dc56e788463d
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175255/


  commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Author: Wei Chen <wei.chen@arm.com>
  Date:   Mon Dec 12 12:13:26 2022 +0100
  
      xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
      
      VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
      results in two lines of error-checking code in phys_to_nid
      that is not actually working and causing two compilation
      errors:
      1. error: "MAX_NUMNODES" undeclared (first use in this function).
         This is because in the common header file, "MAX_NUMNODES" is
         defined after the common header file includes the ARCH header
         file, where phys_to_nid has attempted to use "MAX_NUMNODES".
         This error was resolved after we moved the phys_to_nid from
         x86 ARCH header file to common header file.
      2. error: wrong type argument to unary exclamation mark.
         This is because, the error-checking code contains !node_data[nid].
         But node_data is a data structure variable, it's not a pointer.
      
      So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
      enable the two lines of error-checking code. And fix the left
      compilation errors by replacing !node_data[nid] to
      !node_data[nid].node_spanned_pages. Although NUMA allows one node
      can only have CPUs but without any memory. And node with 0 bytes
      of memory might have an entry in memnodemap[] theoretically. But
      that doesn't mean phys_to_nid can find any valid address from a
      node with 0 bytes memory.
      
      Signed-off-by: Wei Chen <wei.chen@arm.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-amd64-amd64-xl-pvhv2-intel.xen-boot.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable/test-amd64-amd64-xl-pvhv2-intel.xen-boot --summary-out=tmp/175255.bisection-summary --basis-template=175148 --blessings=real,real-bisect,real-retry xen-unstable test-amd64-amd64-xl-pvhv2-intel xen-boot
Searching for failure / basis pass:
 175189 fail [host=himrod0] / 175168 [host=chardonnay0] 175154 [host=italia0] 175148 [host=huxelrebe0] 175144 [host=fiano0] 175141 [host=chardonnay1] 175135 [host=elbling0] 175126 [host=elbling1] 175104 [host=debina0] 175091 [host=italia1] 175083 [host=debina1] 175071 [host=albana1] 175066 ok.
Failure / basis pass flights: 175189 / 175066
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 b926dbcccaa92831dda37576f768ddab9ec8a701
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-c3038e718a19fc596f7b1baba0f83d5146dc7784 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7\
 a0bedfaa6-b746458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/xen.git#b926dbcccaa92831dda37576f768ddab9ec8a701-630dc3798e1d0d1b95f7be8b176563eb40e866e5
Loaded 5001 nodes in revision graph
Searching for test results:
 175066 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 b926dbcccaa92831dda37576f768ddab9ec8a701
 175071 [host=albana1]
 175083 [host=debina1]
 175091 [host=italia1]
 175104 [host=debina0]
 175126 [host=elbling1]
 175135 [host=elbling0]
 175141 [host=chardonnay1]
 175144 [host=fiano0]
 175148 [host=huxelrebe0]
 175154 [host=italia0]
 175168 [host=chardonnay0]
 175180 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 bc19af0bd4b8d0bb817defa4470873c80f67b6c2
 175189 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175216 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 b926dbcccaa92831dda37576f768ddab9ec8a701
 175217 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175222 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175224 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 c44c0dc35889848ee27549ac3455314e236cfc3d
 175229 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 cfee463c112b8ac261f6ca1d32e4c70e4821ba7a
 175237 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175239 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
 175243 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175249 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
 175252 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175255 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
Searching for interesting versions
 Result found: flight 175066 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d, results HASH(0x55bd0b18b310) HASH(0x55bd0b181440) HASH(0x55bd0b18b610) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1\
 ce1bec85e58b458386f8b7a0bedfaa6 f86d0a1ff200264aaf80b65d7d200a3ba19c7845, results HASH(0x55bd0b182848) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 b926dbcccaa92831dda37576f768ddab9ec8a701, results HASH(0x55bd0b175bc8) HASH(0x55bd0b17dc10) Result found: flight 175180 (fail), for basis failure (at ancestor ~845)
 Repro found: flight 175216 (pass), for basis pass
 Repro found: flight 175217 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
No revisions left to test, checking graph state.
 Result found: flight 175237 (pass), for last pass
 Result found: flight 175239 (fail), for first failure
 Repro found: flight 175243 (pass), for last pass
 Repro found: flight 175249 (fail), for first failure
 Repro found: flight 175252 (pass), for last pass
 Repro found: flight 175255 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Bug not present: eac84d9d579011f311d502317b74dc56e788463d
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175255/


  commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Author: Wei Chen <wei.chen@arm.com>
  Date:   Mon Dec 12 12:13:26 2022 +0100
  
      xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
      
      VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
      results in two lines of error-checking code in phys_to_nid
      that is not actually working and causing two compilation
      errors:
      1. error: "MAX_NUMNODES" undeclared (first use in this function).
         This is because in the common header file, "MAX_NUMNODES" is
         defined after the common header file includes the ARCH header
         file, where phys_to_nid has attempted to use "MAX_NUMNODES".
         This error was resolved after we moved the phys_to_nid from
         x86 ARCH header file to common header file.
      2. error: wrong type argument to unary exclamation mark.
         This is because, the error-checking code contains !node_data[nid].
         But node_data is a data structure variable, it's not a pointer.
      
      So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
      enable the two lines of error-checking code. And fix the left
      compilation errors by replacing !node_data[nid] to
      !node_data[nid].node_spanned_pages. Although NUMA allows one node
      can only have CPUs but without any memory. And node with 0 bytes
      of memory might have an entry in memnodemap[] theoretically. But
      that doesn't mean phys_to_nid can find any valid address from a
      node with 0 bytes memory.
      
      Signed-off-by: Wei Chen <wei.chen@arm.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/test-amd64-amd64-xl-pvhv2-intel.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
175255: tolerable ALL FAIL

flight 175255 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/175255/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot             fail baseline untested


jobs:
 test-amd64-amd64-xl-pvhv2-intel                              fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 08:34:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 08:34:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463154.721292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jhU-0002H7-5n; Thu, 15 Dec 2022 08:34:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463154.721292; Thu, 15 Dec 2022 08:34:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jhU-0002H0-1a; Thu, 15 Dec 2022 08:34:44 +0000
Received: by outflank-mailman (input) for mailman id 463154;
 Thu, 15 Dec 2022 08:34:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5jhR-0002Gs-UP
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 08:34:41 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5jhQ-0004hF-Pl; Thu, 15 Dec 2022 08:34:40 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5jhQ-0008Nv-Kq; Thu, 15 Dec 2022 08:34:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:Cc:
	References:To:Subject:MIME-Version:Date:Message-ID;
	bh=wNaKOAMuqBt2Sx4uwfjW2J9iq6uzgSPsaqC4p0LVqRo=; b=5dtQCx0UJPwTW87HvP/FIhpQCD
	oMDbXnrsxlX+5R6RsbDftAYIlwqkOX4nQ9xwKZERVxLQGh5rk1c0U+EHYevF3jNE7+ARDy9HZzy74
	xT4cUdIvwH/Zw7G2VNxk6C/sSoI3IYr9E5muK3ihoYWWKItjCePlI4PnaaxQglA6nUQo=;
Message-ID: <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
Date: Thu, 15 Dec 2022 08:34:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [xen-unstable-smoke test] 175226: regressions - FAIL
Content-Language: en-US
To: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org, Viresh Kumar <viresh.kumar@linaro.org>
References: <osstest-175226-mainreport@xen.org>
Cc: Anthony PERARD <anthony.perard@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <osstest-175226-mainreport@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 15/12/2022 01:41, osstest service owner wrote:
> flight 175226 xen-unstable-smoke real [real]
> http://logs.test-lab.xenproject.org/osstest/logs/175226/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>   build-armhf                   6 xen-build                fail REGR. vs. 175173

armhf/xen/tools/libs/light/../../../tools/config.h  -c -o libxl_genid.o 
libxl_genid.c
In file included from libxl_virtio.c:15:
libxl_virtio.c: In function 'libxl__set_xenstore_virtio':
libxl_internal.h:4388:51: error: format '%lu' expects argument of type 
'long unsigned int', but argument 3 has type 'uint64_t' {aka 'long long 
unsigned int'} [-Werror=format=]
  #define GCSPRINTF(fmt, ...) (libxl__sprintf((gc), (fmt), __VA_ARGS__))
                                                    ^~~~~
libxl_virtio.c:48:41: note: in expansion of macro 'GCSPRINTF'
      flexarray_append_pair(back, "base", GCSPRINTF("%lu", virtio->base));
                                          ^~~~~~~~~
libxl_internal.h:4388:51: error: format '%lu' expects argument of type 
'long unsigned int', but argument 3 has type 'uint64_t' {aka 'long long 
unsigned int'} [-Werror=format=]
  #define GCSPRINTF(fmt, ...) (libxl__sprintf((gc), (fmt), __VA_ARGS__))
                                                    ^~~~~
libxl_virtio.c:53:42: note: in expansion of macro 'GCSPRINTF'
      flexarray_append_pair(front, "base", GCSPRINTF("%lu", virtio->base));
                                           ^~~~~~~~~
cc1: all warnings being treated as errors
make[5]: *** 
[/home/osstest/build.175251.build-armhf/xen/tools/libs/light/../../../tools/Rules.mk:188: 
libxl_virtio.o] Error 1


This build breakage was introduced by "libxl: add support for generic 
virtio device". %lu will likely want to be switched to PRIx64.

Viresh, we need to unblock OSStest (our CI) as soon as possible. So can 
you look at it and confirm the rest of the tools build on arm32?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 08:37:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 08:37:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463163.721303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jk1-0003Ac-IV; Thu, 15 Dec 2022 08:37:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463163.721303; Thu, 15 Dec 2022 08:37:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jk1-0003AV-F3; Thu, 15 Dec 2022 08:37:21 +0000
Received: by outflank-mailman (input) for mailman id 463163;
 Thu, 15 Dec 2022 08:37:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5jk0-0003AL-VN; Thu, 15 Dec 2022 08:37:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5jk0-0004l6-TS; Thu, 15 Dec 2022 08:37:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5jk0-0008QS-Eu; Thu, 15 Dec 2022 08:37:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5jk0-0008BW-EU; Thu, 15 Dec 2022 08:37:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Jh43tpMl6BFCSoNKkaAqmTHMp2qZ8D90aInvanPOJT8=; b=ObGiXmYW8pGprOoJf622G6z0qA
	oBh6KR8hHVuD4tvE9kCG09/tV4Mf1uc7MOOwiGn5OzGLGsn+pK1hFzlpwutKWg15DTdMbAtaHVD8w
	oL7Fkdc3j7g113wY0OIlWahPXiNx0/l1MvIaHGUjGvyyqnP56dRuoDfoyFsiXK1v3bgk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175245-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175245: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=8908615ef35da04bcf942fe1491da31df750836e
X-Osstest-Versions-That:
    libvirt=5ef2582646eb98af208ce37355f82bdef39931fa
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 08:37:20 +0000

flight 175245 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175245/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175191
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175191
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175191
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 libvirt              8908615ef35da04bcf942fe1491da31df750836e
baseline version:
 libvirt              5ef2582646eb98af208ce37355f82bdef39931fa

Last test of basis   175191  2022-12-14 04:18:52 Z    1 days
Testing same since   175245  2022-12-15 04:19:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Jiri Denemark <jdenemar@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   5ef2582646..8908615ef3  8908615ef35da04bcf942fe1491da31df750836e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 08:46:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 08:46:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463176.721316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jtA-000525-F9; Thu, 15 Dec 2022 08:46:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463176.721316; Thu, 15 Dec 2022 08:46:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jtA-00051y-CW; Thu, 15 Dec 2022 08:46:48 +0000
Received: by outflank-mailman (input) for mailman id 463176;
 Thu, 15 Dec 2022 08:46:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=g8Eh=4N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5jt9-00051s-0Q
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 08:46:47 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on2052.outbound.protection.outlook.com [40.107.8.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb6a8f65-7c54-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 09:46:35 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7760.eurprd04.prod.outlook.com (2603:10a6:102:c5::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Thu, 15 Dec
 2022 08:46:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Thu, 15 Dec 2022
 08:46:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb6a8f65-7c54-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iiJIqPw3HklVsbWubzx6o/FW0S/Ls75iNsN3NtmBSluFObgETCPYCGdTuNw16TrYdqrL4ORoSCaiBlgqYQc5Xg/x0TUUkYsLN8epCaSjAdRc8bpm1MdS7yfFxSwDLLgdTxgxcYu8lXosapFQLcJfrMh3mm/tqOTyaudwe6jPtZbuLr18jU2JpmE/C5sWCRU/xsW7OYptu1fco4j0fJ5mhof8NByHdcHOc82ainQ0RTPro6OUYps9DOYxZyf3dR31ewWJiAC6BEGWiKZfvZUytkaWllLpcbbKNOF1jdeQl3oFXscricCM6UnBw2aqow9xkWsBPef0NVnwB6Pw9zv4Mg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YaeD9LfcGhrBYh4I7awl+lPjYMNEbiEqWekCrFBz2zk=;
 b=kcG1u0kUxTB6kQgo3SPVhUKN7C47qsyGiFioGgxTk3LeTfb1VO/WRBKaM96ACAMdMsAnDyHdQhF1XAGFbNw+IgPalrYJOZkX5HOPAmj73UrWvyXteVE6PmwjFfFXcj7C0+hWSxIPfVzemUCow8hbJ5ZmYN4XXe2b6el29TZaFXTJUiK/l/CvZA0jQVn3SGeDSk+RuhdyoC8Hat1K22hFHLU1SSUPH3/USEJ2K5Zb6WIsu4ljKr1z8jLfQcc2J4KxExg3fb7dn/LAgZJFJEaWAcBCwPe6yVpigByS4t6Oju/sR6jIK6JIXp82RFl9PcAjhFgZqtvkqGMbg+JXtTvmVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YaeD9LfcGhrBYh4I7awl+lPjYMNEbiEqWekCrFBz2zk=;
 b=JWsM5zGBDwE0pUqXg38Ebu4LRkvUlA0YSfW6lKeUtwi2Hvenz/wB2puE9YvUn+ZY2ztSsfOac4kONNWIMxmEz1excnmilDxXVa8rNIBaoXHD8sjovZqNzDXOmaej5jGdj7zHkccSwZYWiYoAmU4bEc5p8fTzsPuvPU/eQjwU8a8tTBCpeHWDxPbTB28IddB+/uvUIAvC0F1I4+Od4XZuhy9Z9/HkSV8CLa8rpE+Q2dIBe4501LSKjDWdaY2DAJd7TAc8NCQZavo+IeYndZ5I+Xc+csJsgA916+QLWohRzvztGXrAkADOacprRid+Ev13dPomfljQZ0OC054r6U/EaA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a44afad2-4b63-a830-1ed9-2bd87e8aecde@suse.com>
Date: Thu, 15 Dec 2022 09:46:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 01/12] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671057808.git.demi@invisiblethingslab.com>
 <6a0d969d0aade0258e108009ef33ad5d2663e969.1671057808.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6a0d969d0aade0258e108009ef33ad5d2663e969.1671057808.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0093.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7760:EE_
X-MS-Office365-Filtering-Correlation-Id: 93ea7075-1c7b-4970-6474-08dade78e453
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mKEeztZnPUfZjasNP7XfaLsZEPBxIHgBSiu/Xg0Ovggd7v29OfrjYIMMOoRWMILPiuxAugvSOKhE2BvVBUy4EIzi1gaqn5MqAu3RhXZz+qHwJ2ajeqeZ3BP5oIG6mxeJuE2pXmawalk+wYMoKaODRKwVDIU3lCKGOubLjqlhquiRTyeeSl/XWdNj0ZiuQP9d2m9xHVNiiZqVSTABoKoPDjkY15C9NJPOThWId7dNYsef6IWVzwUJza1CLSd9hvdhWxl/LGOgtbQ9gUL2v20fhsE9Frpnbq5XLbhIiT6JlhPcgq0eAqKWrBKGyaz+Z8lcSWucwijAkiI8WTRG/8EhxeTJnD8fXUxv76l1QrZvLPWIgNUmNxnzdH0MJ4jM4AyGtiGQyus9cw5SxNSh/rm8Qxrtr7OeiVwsb6tLdCjmKvbM4W5WuXZUIDCfVBOIHaLhHhU7ZuxNT8tlB5kz1fVtGonXftNXrqbXJ6yg9KIbmaNaapUUS9DbW4NF8WfwJ+lat0+ZSDaoD9y25qSiQ1oQQJCN52aZf/J4K0Zhab/cl5Zi6HHlHCpW3LTwB3hS/ScGLWTbraoEHeaYTpdCeEdSW8yXI7/9IWJ1MPUrzgT0DJkILIZWpFVeHbs/2CxFR7Xi2O6sBDqWhOKjhPjIDHgQCM1n2lJVsYloFVzUVOp+mQC9kK4ULQ9SvIt7sS3DctkDOlThjy9oqMb7tT/etTY0yirT1oWCbPQU1bxKAjXsQUg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(346002)(136003)(39860400002)(376002)(451199015)(8936002)(6916009)(5660300002)(54906003)(316002)(41300700001)(186003)(66476007)(4326008)(8676002)(26005)(66946007)(53546011)(6512007)(31696002)(86362001)(7416002)(66556008)(36756003)(38100700002)(2616005)(478600001)(2906002)(6506007)(6486002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M1JzcjB5UHVYRENtRGhteW1Nejg5K1VCYzVWT3FDc0JmYW0vUU1MRlRJSnpy?=
 =?utf-8?B?bURGb0NOL0F0LzAyR2Z5cjI4dWcvR0FjNzBmNmIweHFYRENvc2VBV1o5UVB3?=
 =?utf-8?B?SzI5dnpOUlFRVHROOUQrNHBadVcxb0xNSXVQOXNlcUpGOXN3UVpPS1d4czlS?=
 =?utf-8?B?OHdZRHBIcllMem5vMFY5bmlOWGhsNm1MVnhXZUh6TmVLY3kwcDBRck9yQ3BN?=
 =?utf-8?B?VGlUSEdZa3hRNGVBZWJ5bm5aL055SVFIUzlraFVGMHdKNGR6Q0JOREg4ZFVx?=
 =?utf-8?B?UkFjbHYyT2JneWVzUm81cWJoR0duNkpBenN0NWxUTGgwampSZlE5OFM2dnM0?=
 =?utf-8?B?SzJlZDdzUnlsVWxEOW9hQ1BTRk1HUHBLRnQ5Z0gya045MFFDQjdsbkhCaXNZ?=
 =?utf-8?B?K0dFbXcwenV5VGc2NDJkNnNwWnY2SjViakdZejFpVlp4RVJHQnFhSGlkOGpp?=
 =?utf-8?B?ZkRaVTlrby84MG10WnIxNGRLa3RHbGMyVGFkaFVuOUliRCtVT0RKYWtEZ3Ay?=
 =?utf-8?B?SGZkOHdrOUVBbHZTMFUyQ2Z5NlhyK1dHSzBlVEFTeEU5QTc2SnlENkRGUU5L?=
 =?utf-8?B?Rm1NMHR6TCtobUJPNUx4VkFIS1NDM000d2NtOTlYNXVaTlFCYWF4eDRJbXhn?=
 =?utf-8?B?L3dwMUxjTzFnVnNCTXIvN2ptWlJxbGl4cnFWUWJWdml2Q0VuWXJ2R0VOeHJo?=
 =?utf-8?B?WVJBdldPM2RkY1NKZXhqWlgrblVacFZUQTFhR0lGWHUwMmlRYnhOcVo5cjgx?=
 =?utf-8?B?Y0NROGNmdnpyVEQ3eldPVndKU3BBZFdGc1BCSWFISHR2Z2RmS2lRRUNkM3p2?=
 =?utf-8?B?UHA4UkVDQXRQUzY5RnY5SVFjRS9nS2xldkd5KzhqbWlFMXh3V3U2MlBub0R1?=
 =?utf-8?B?M01hd2ZBaURwbnExVUtTMlFocEQzRkp2M1N6dE1ScEExQ1RjcFhhVnJacGUw?=
 =?utf-8?B?cUVJSXk1RmtDRlR3Ym9VTXd1MUg3SndiWmUwY2tmOWtzWXRWeG9PWTJaQUVj?=
 =?utf-8?B?SWxuWHJBMjJmeWNDbW9lVkdpSktpKzB2em0xZzJiSW9LZWphSVVuNXpaYldh?=
 =?utf-8?B?eU5MSWlmNDRSS3hFZ0doS2NkckE1L1p5Y3VOYlJuREJuS2hSRzlLYW1xWEJo?=
 =?utf-8?B?aWRucktOdWxqd2tXNXBpTmltTm5EeFhTQ1RUdml2U3ZxY2lKNHZTMEpjRlVH?=
 =?utf-8?B?VktRQVl3U21uMU41N2loSnpWbkRzNXFteThMaDQybkxjZGcrbXByRml5Ullk?=
 =?utf-8?B?YlZRUEJ4SVN6RkE1RjJpOFM1RitpTm9ocGx5czZId0UyRW9UZUNtc1dHeGlt?=
 =?utf-8?B?Kys0TkttYVJ6VnJHT3h0cCtIQjhRQVZ1OU5YdTJzbWt2dWZyZjBhL20xVVBU?=
 =?utf-8?B?M1puUlNrRnNrR0FwSlQvNWNsOXo4VDY1WTF2Wk1vY0N4YXlpSGJHUjhqMEw1?=
 =?utf-8?B?QTBWSTMvRm5PVzVEeHMyMFcwZEFRdTJ5OVRYUGphemhkY2x4RzQrcTZOY1FY?=
 =?utf-8?B?RUJpUHpVaEJPRWpVRm9CRDZ0R2JRUldobThnVjk1dElndUlyRE9ZaG5MQkp5?=
 =?utf-8?B?YWtNVmZvU0Y3cjI1dXF5bDcwVTR0aXFwaWxrSFNVdnhLMzIvcWVDTmUrSFVW?=
 =?utf-8?B?VkpXVVZzSndBdGdiZlp1Y2NsTDhwVjZvZlAyZm5rcnd3TklWcENsMVpacnZm?=
 =?utf-8?B?N0gwTDFRajFzMkdONUsxK2NZUGJMOXVqL1dqeXVHOE5MMHBNUXRoU1BlNjha?=
 =?utf-8?B?N1pCWktmV3dNMVovSVNqRnlHYzh5SDlkZzZBZXNaL3ppd0xPanJWbEVQdGlo?=
 =?utf-8?B?QjBVYzNqRzhEQ29obkVPbFF0L0ZMdEdTSTdVS29pZTNORWJwd2NKeDZKK1hl?=
 =?utf-8?B?N24vMDJDUTUyZ00zb2dYZ2twZVFwQURibU01WDlMMkw0dk4xYWNMMzN4RWMv?=
 =?utf-8?B?d2F5WTU2YjdydzVaOWM0QjFGL2RjeERxQmxJVDFEaWtSbkZiaU04UHRpVWl5?=
 =?utf-8?B?MFhFZkxxakg1UHJ4bnZDRFFNdWdSekUwWXhZNkt4RTRCMk5UbnZwLzZGNk01?=
 =?utf-8?B?VjVVKzZmVFpDNVA4WmFSdHh0RGRjQ2NLMjcrUlJHRFpiRmdZYXVaQlpnb3FB?=
 =?utf-8?Q?nVAxtwXFPAicHcGcUZNQUBNKV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 93ea7075-1c7b-4970-6474-08dade78e453
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 08:46:43.6646
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HOs6EHPRSLZmfiRBbSE1jueL4FC6mON1vsevEg2YV1gmuLsJL1D0uucmQqtIz+/AqFCDRE0wWuM4DfFdFQXQqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7760

On 15.12.2022 00:11, Demi Marie Obenour wrote:
> get_page_from_l1e() relied on Xen's choice of PAT, which is brittle in
> the face of future PAT changes.  Use the proper _PAGE_* constants
> instead.  Also, treat the two unused cases as if they are cacheable, as
> future changes may make them cacheable.

This still does not cover ...

> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -959,14 +959,19 @@ get_page_from_l1e(
>              flip = _PAGE_RW;
>          }
>  
> +        /* Force cacheable memtypes to UC */
>          switch ( l1f & PAGE_CACHE_ATTRS )
>          {
> -        case 0: /* WB */
> -            flip |= _PAGE_PWT | _PAGE_PCD;
> +        case _PAGE_UC:
> +        case _PAGE_UCM:
> +        case _PAGE_WC:
> +            /* not cached */
>              break;
> -        case _PAGE_PWT: /* WT */
> -        case _PAGE_PWT | _PAGE_PAT: /* WP */
> -            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
> +        case _PAGE_WB:
> +        case _PAGE_WT:
> +        case _PAGE_WP:
> +        default:
> +            flip |= (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC;
>              break;

... the three cases here assuming certain properties wrt the flipping of
_PAGE_UC. As said before - going from one kind of assumption to another
_may_ be a good thing to do, but needs justifying as actually being an
improvement. Alternatively such assumptions could be checked by suitable
BUILD_BUG_ON(), which then at the same serve as documentation thereof.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 08:49:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 08:49:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463185.721328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jwD-0005df-UE; Thu, 15 Dec 2022 08:49:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463185.721328; Thu, 15 Dec 2022 08:49:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5jwD-0005dX-QU; Thu, 15 Dec 2022 08:49:57 +0000
Received: by outflank-mailman (input) for mailman id 463185;
 Thu, 15 Dec 2022 08:49:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=g8Eh=4N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5jwC-0005dP-Fq
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 08:49:56 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2048.outbound.protection.outlook.com [40.107.22.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 71215fe9-7c55-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 09:49:55 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7328.eurprd04.prod.outlook.com (2603:10a6:800:1a5::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Thu, 15 Dec
 2022 08:49:51 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Thu, 15 Dec 2022
 08:49:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71215fe9-7c55-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fYAlu2jMIgkMmnonw+GuR8WDmNel/aNXNJYVC9xMzNheRstvpmDY/439r5RoQ62/lZDiizHZQeB/+SJ8q0pVQMQsLoKVjJIC3e79WkIMTzvt0SkzUwsb+7gjDrGkGivTlnDgpIMFU8l5OY3k9VuDnqYWbzYMYI3Yt5t+uaxxvEz27GVa1oTvUHSMXvVSZr000HvgNTf5NUT2alZI11voYY04Pi7gRCU3ox3t5kNfWr0mTVP4r0kSEs9SO0p/IwqVABQfB4TaoSAafaoaywuEyk5/osfDYp9T/uL3fHT5HETvMYta7sOLbshOfRpW5BM91Bt6Q0u1Me9xF8ERo8Ib0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vlHe8xFggJqRRsM1weoTECRgK4E0qlYgV8VKRyxJB0E=;
 b=BeEBLp/gXdANPgkDgKzcQ+M2XKz96jwzHMxj9nTBqqTNiyhyIy3w7NXgPvEBQ1NdeVIcanykfBMZBIcq8tgGv6vKrsoNPedRTXmmtT2fpznAbV+pqJ/2OM4sl1devCXExh8waqLn3sCwS1F0g1I2JmXhaUhtigvxxBB5wajCY5LBL4d5UtF6/Xb08xCiPvfW8/O4WZ1zh3Z581+P6pZXLZ5w7p6g6zDIA+7T+YvTU9l3E0vfI9sEHs5Vx2NpfuP6y/lEkQWn5LOkrK8+c4EZ8aFt1lkZE8qYW+nHwHRzDyur5Kh2bzBvnWiGicSwOgR1m7pLR0q7jSqLURYm6VrONQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vlHe8xFggJqRRsM1weoTECRgK4E0qlYgV8VKRyxJB0E=;
 b=HGum5YgP69kM0hgUv9SWCKxnwPaVDkwKLq5Ry3v+eVuf2UxmGUleGG3z9ELcVmGFxcBmXDJSh+MKaRNGIMfMn2PYEYuirqKh6q8cevWqZKYgDivZEp0UhYD4DX594Pj3sBgkl9nBzAJoSCeFtjz2+5dKSXh28somN/+098xBwPgnoMBLN9vXlYw2NmAmcPDtpiYAeYo9ZURU0qjprYWV365iWTXG+9iS+vN3jbAGqL786n5wbevjQPhIoxFRGro4/x4cl07ZPouWhtmsLhu+OblcuGnFjskIyLTpxSpW26wbACMC8Ernk5kUDRNFyvTnv/BNMNNtHYp2b15SjTxyLA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4a5e1508-b7fe-0bf3-6253-a7e546226ccb@suse.com>
Date: Thu, 15 Dec 2022 09:49:50 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 04/12] x86: Add memory type constants
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671057808.git.demi@invisiblethingslab.com>
 <5e0dee8a2cc5076b677e813c9ee61fa08e8e4c1b.1671057808.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5e0dee8a2cc5076b677e813c9ee61fa08e8e4c1b.1671057808.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0063.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7328:EE_
X-MS-Office365-Filtering-Correlation-Id: 3c00c571-4d2e-48bd-07cf-08dade795497
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Lmk7K053Osmbefv/5MCeTGK6ItCa6jYh0eMJb7Hxmo5E7ou4zKIfZU1LpKRFB9JkCEL1zB7LT8J++6379kMvU+2xOxbxlYOdk6d1uQ5GLiIeZ5vYBa5VFloiWXiSQ0r5jjahIv2mP/Y2LqfQvHS6P4fX5ci/mSIj49rbJ+Q96CPkP92542hqUbXheB4VWcVKIJIxELRqchSDYLze+K1EVGdvAsNJ3KJwB3pJlk4ZOzx+stTxdf7Y7egtwzQXDc+koUWiBF0Skmb+n4KOI1Fj8VQkrGREm5xp+5UuC19GtqYWnjY3V8n4Zd2CG5IMS/q8Yz5lsTPgiKQvZScTbLTyl4P2V7mqK+QLl85yMFAozw+muMDIcsFpECjRiXaRjCOZKFhsaFUYEjjppGVMVey21l8JlK2ZEYq894kMRA/ea1iRj1yrm1crUnwivvBgsV78I1jhakBBU4QFtjaSNjWUYXNYe2zJvZFrBOtNCFjLuhBkbflcIjwRcm8YMGLLh9uEFVYeYWrXgypSB9lvDKV9eOzlOlzhfw9whXsM+YJZIIIc4UO5AXNQAIxdB7cSqEBxvUgOx2jRmiVflySMD240bzXDw1yMKW8C8RWCZbb30EunBtuwCbjFV1eqjWMcj49ziedB/cpOrFgpT+qbTiY35SG6T5o53UYUcJWzcHhGUDK3HKzrvStbuQx1jHOzs6HoftsaJ7E6NkpDncFMlHDXMBnERxTgj77d3Mwv0F9Iny0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(376002)(136003)(366004)(396003)(39860400002)(451199015)(6512007)(6506007)(53546011)(26005)(2906002)(31686004)(478600001)(186003)(6486002)(316002)(38100700002)(54906003)(6916009)(4326008)(66476007)(8676002)(66946007)(2616005)(66556008)(8936002)(31696002)(41300700001)(36756003)(4744005)(86362001)(7416002)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RkNNVEppRmlwWUt0UHJFTE5zaXhUMzdHU0FFbEFXMUg1ZW5wS3ZKWWtoTW5J?=
 =?utf-8?B?ZTExVXFmMmhjYVB0dWhaMlJhNmh4bGZ4d2tHYUFZck55Y0pXRXNvR2tSQkNJ?=
 =?utf-8?B?OTdEV0lEOXJCZ2VidzlWQTFDY2xwM3BlZ1oxUTMxSGdTdFdYVS9GSndCZmkv?=
 =?utf-8?B?cW0xSnhId1gwbkVRU0duOWtlb1ZXMmJlZHlvMlpTbFdNSzhmNURTcU16S2dS?=
 =?utf-8?B?cThtaDZFTUVBTU9MSVZueFlFTmRmQjNkWEhrUm03VWgxK2kzcnRzMmJWejMx?=
 =?utf-8?B?T1hhdnJ6UXk0ZEs4Y083MndrZlNjR3NlSTg4Nzgrek1qdm1USkU2eEJjbUth?=
 =?utf-8?B?N2pkZUx4NHVYU0ZiYmZ5Z0djRGU0UFVQU082THoxNGRhMU9sTG55NlNFRGtz?=
 =?utf-8?B?TVBIaHQ2bVphbXdmN3l5NjkrbWc5VE02QTlHSXdYU3lHY3QwTm9CVlpkUTl3?=
 =?utf-8?B?SlZUTEc4d2hQYkdOSnF2TG9Zc2g4NUlZT2U3QWZ6R1lKRHZrcDlZbHUzaEY2?=
 =?utf-8?B?dG9qaFRJUFJMVGFNRWNOL25oOWorRy8rRXBIc0JWakxOK3c1RGRrWSt2SnZR?=
 =?utf-8?B?aXF3eGQvd0ZVLy9BNkg5QUl4Szl2dDExYWc1dUpOUk0rNjdDckZBRGd4ZnJR?=
 =?utf-8?B?UDZvRFJ3MDJlSDVPL1d5NHQ2WnJhdzNUaE5MVW9RM0hGSWRBbkt6Sk1SSlJG?=
 =?utf-8?B?RS91WXhVNXA5S1JWVjNFK2gyWjA3MUtNVDFuZWFFY0s1SDRBYUVVaDNHOFJJ?=
 =?utf-8?B?cm1SZWQ2RW9PbXRxL21wMEtwUzRRTDBOOTdkK2gxdGcwNzhCUDRxM1NFRnRw?=
 =?utf-8?B?b2JlWEYxWGE3WnlBZXZrS1U0UlZUazNsem9pOWhvVzZVN3Q5eFQraUtLcTR4?=
 =?utf-8?B?ODNjWS83V3E2VWp6U0o5SE1vTCswa0tLMDIyT3lmQXFvbzBZVmpRQ1hDVTRY?=
 =?utf-8?B?b3M2Z1JEajZ1b09SWi9HZ3Z5MG96QnhZZ3hvNFhqVzN4S3N3cHhOQ2w4czgr?=
 =?utf-8?B?d3ZkVlNKdnpvTWxxOEhUMjM3MURtUTZmV2hTQTJTRGkxSEY3SWNJUTBPN3BJ?=
 =?utf-8?B?aHpsOHdZWXQ0UXM3c1B6ZjdEOFdaZnhpVUt4SmhoaEs5Q21iMFc4bDJyTGlX?=
 =?utf-8?B?anIxbXFZdGhiUXF2STRESURiUjlyTVFTZ3VGL3Q1cTNHQ1U0b1kwYXFvTEVi?=
 =?utf-8?B?aDYwc05OU2tnUzg4UHpxcGNjZkxweUtLemF1dXY3Y0lWRmQvWHFxVTNDemhJ?=
 =?utf-8?B?S21UVzB4R0lQNTBxZXlwOStnM01CUU83cFNMaGtSSVRDT2IySXNKVm1uVDB4?=
 =?utf-8?B?akV0SG1sZVdpVHRXdmh6TEpMbTc0c2RjZlBhazZrTmVsbi9McnU0SVVDdmt4?=
 =?utf-8?B?UzR6bGwzbFIweTZQdHg3VnM2OWtMaEdkQVBvK0J2SDhLQVRWanhmQUdqYWtE?=
 =?utf-8?B?K08rdXo4U3c5U3gyZDJIWXlYZFkrTFBORnlZa2RHUjBaNy9JQUhXaGlLclQ0?=
 =?utf-8?B?NTRLV1ExQXRRam01TTdEbW1Za0ZmSTR0bXluQ2lXaHhxL3F5c2hHSmhDUlN2?=
 =?utf-8?B?KzA3NkJaR3I2c2NuNldsVDVYT201YU5aWjNDak01SlR1dTdjTGw4NHlRVjlK?=
 =?utf-8?B?YUVtQ0pYYWhYTytkWXVvayszL3prYWN6WEFUek9rZ3NvbVNqTkpRb1RhZk1U?=
 =?utf-8?B?M2JMSkFGTkxqenBNOCtxVzhWR2R2dEtYcWZia29aajNrVmlYakVybDlyejV1?=
 =?utf-8?B?WEZUaDhYdlZROHNPc0ozRDN5T1hBRFpLL0tWUGpyYXFKT243TU9kMzl1ckVP?=
 =?utf-8?B?cnR1MlE2VG8yQk1PSnFtdGVWZW9TdEw5RThuZW1tMHo1UkJ5REFWZkcyNlE3?=
 =?utf-8?B?L2d0YXlqSkJhbnM1OS9Xb3JjOEw2TXMzZzYrdGpJZWJlMUhHTlZ2ZlpNSEVX?=
 =?utf-8?B?QnRsalZuNk15NXJEWG8vLzFKc0R3NG9oamtBcVo2RjZEd3FmdWNyRXVPY0Qw?=
 =?utf-8?B?T1hzT0pJdFpFVDdVYzhUeHVRV1lKbnlSUGN6bUhmYjdHclNvS0djSnJENDM2?=
 =?utf-8?B?Q2NQcE81OVZudUFEUXljcFduZzFmOUdGQTdlaVpyS0lNUThCZ2gyT0s3V0li?=
 =?utf-8?Q?aFLR66+92JlEt2lSXk+7CL+oT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c00c571-4d2e-48bd-07cf-08dade795497
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 08:49:51.9033
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EeTBbrLMA0bHiPhroW6i9XBh8lJeOfQ7hMjznQIY30FkPPPJ2rMaZM+3d5S0RrGC+QJDzS+OOWo2UUeAdWZ7aw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7328

On 15.12.2022 00:11, Demi Marie Obenour wrote:
> --- a/xen/arch/x86/include/asm/x86-defns.h
> +++ b/xen/arch/x86/include/asm/x86-defns.h
> @@ -153,4 +153,15 @@
>       (1u << X86_EXC_AC) | (1u << X86_EXC_CP) |                      \
>       (1u << X86_EXC_VC) | (1u << X86_EXC_SX))
>  
> +/* Memory types */
> +#define X86_MT_UC         0x00 /* uncachable */
> +#define X86_MT_WC         0x01 /* write-combined */
> +#define X86_MT_RESERVED_1 0x02 /* reserved */
> +#define X86_MT_RESERVED_2 0x03 /* reserved */

As said, unless there's a good reason to use 1 and 2 (and not e.g.
0 and 1), I'd prefer these to be numbered 2 and 3 to match the
values they expand to (and the numbering then not being as arbitrary).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 08:56:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 08:56:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463196.721338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5k20-0007AP-Ls; Thu, 15 Dec 2022 08:55:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463196.721338; Thu, 15 Dec 2022 08:55:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5k20-0007AI-JB; Thu, 15 Dec 2022 08:55:56 +0000
Received: by outflank-mailman (input) for mailman id 463196;
 Thu, 15 Dec 2022 08:55:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GeMf=4N=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p5k1y-0007AA-UY
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 08:55:55 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2066.outbound.protection.outlook.com [40.107.237.66])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4718ef43-7c56-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 09:55:53 +0100 (CET)
Received: from MW4P223CA0030.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::35)
 by CH3PR12MB7689.namprd12.prod.outlook.com (2603:10b6:610:14d::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Thu, 15 Dec
 2022 08:55:50 +0000
Received: from CO1NAM11FT037.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:80:cafe::b1) by MW4P223CA0030.outlook.office365.com
 (2603:10b6:303:80::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11 via Frontend
 Transport; Thu, 15 Dec 2022 08:55:50 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT037.mail.protection.outlook.com (10.13.174.91) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 08:55:49 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 02:55:48 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 00:55:48 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 15 Dec 2022 02:55:46 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4718ef43-7c56-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FPtZcMH2vFFxY526wMtEbfSNNm6poCNO3QSgnuVpI0Q1vCWwaH9Q1u71uxVMotJlJWPqJx95/8OMsCMhsc4e3Mextn9l7CnyJMJhA8PY/V6LpItYXR8sbrRMWqi/IwTUa8hzDAXUonZLuD4TUcQuE24/NkobodJox51eyrWsqdCJJ/WCMz1EeR8PPpHRbLO5WB2Cc+noW7H7pGyu4nFyhT9osG86SIhuzcI943fIVQFi93NmFg4JPiblmeeFxmACXNaS9aUBiLe8iU8HPIVZfCMNfYVVbzVelkkAmiVzUK/jboSv6DAfeQmCc51HuIJWPw9a42ml7RSAjyMQ0Nb9Lw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vQ0Eaer3Bmldlr3d3CHXwBIs/+Amb/IDvR2dzsQ2gQ4=;
 b=oUV2chC/f3SEbifCcSSb+BrAxNmseQywX3QsoNMSiQS0HWdgD/Aj8mCDV0V8q9gZrS/8LI4t3ybME94/KGS27ZU2PHUKO5VDWQXVf+OS2J/Goa4JcBaO9nqdibkanpgYrXc2PIvj+DvjRfhqTGTCk8Lx58xtHuWFJ4zRbverN2753TzwKIOWcK3fzvmG7RFUlbi0IvO0gb30IBtiqt/bRUVhfuDj35VtCVQ3q1j7heeR/3hH983l42iGs3NaswlpCOqPOV8Xceblk5aqXbTPikqFbF9BO6g8q4l3r/DaxRxWcRqhi8+iO3Oz8OJiRUFYrUY8Tl6RfCfv6oVn19nDrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vQ0Eaer3Bmldlr3d3CHXwBIs/+Amb/IDvR2dzsQ2gQ4=;
 b=Ma6T88/5AEU1VaDetO3UbiWKhEQCe3PwXidZ9KzTA28SVRlbtrHB1JlpRhKCCRkeDGaU4UTEEzFWcsp21VD3x0EGiGXeJUQl65RZ+tG6BlG0FN9rLi1oWWu23VJpWnlgCeIoLq7TtmxfhzNU5vs0tKr2HHpMcqpbyT8v/o1p5TA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <2bab3307-1e0a-0a61-8a0e-52c832346515@amd.com>
Date: Thu, 15 Dec 2022 09:55:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [xen-unstable-smoke test] 175226: regressions - FAIL
To: Julien Grall <julien@xen.org>, osstest service owner
	<osstest-admin@xenproject.org>, <xen-devel@lists.xenproject.org>, "Viresh
 Kumar" <viresh.kumar@linaro.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
References: <osstest-175226-mainreport@xen.org>
 <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT037:EE_|CH3PR12MB7689:EE_
X-MS-Office365-Filtering-Correlation-Id: 73b5420d-3042-45ca-430c-08dade7a29b6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u/F1v7rfYPZ97d9o6YlHezoTDQwPh6Shx7vS2V7J0mCo7cnDwYsFQZlMsGIVcTEwyPIdOr/qhsWX2UHowssu8CcolvIZxS0hi+oZeEnb7Bslj2UrxFnslHPEfbhNH66ipSE7zCOn0JMY0xNei5gPIh311oZ5C38iltyHYcJOzqhLojT55+SRzBgzr3oG7zwkI6xIzkgxCqPnmF3Lr6FnbHpEXr+q0oWC+01abiOUNAZE0v8P4VKO6JyUhUbbNZLMNRy7PFBMnr24UcVSlqsgLzw4s5JJHkHOPhJ+ZLpYkse+ddWBX+St0E+t9rY8aHCevOiIhnJ/b4aUUxUMiZ1EFDY3kTf9JlOYqubmgU0cIO5fDvr5kT/V4p+qG+ntY0w49XEPVM3CvMWIulC6nlhJqW5Qvd5MkVIt1QCRxxOlzAxYiH4IQs+evjhbU4bhZb9dFukxfb/SMY1X0fYbvEbpOfibYdZPDNCBSaoi1iItu7e/7bBn5ZwX6tdgPS2dSPCG5JBmVp3Gyvqw4WnUuLVPCbX6LERbO0Tph6ksQ1Il4O7qOwJxkoS6bQsvduAGG5Md3HvMuvqkLsl9eTY0G1t8trn/zn5pRD2tDZpB36GtpSR58I8S29WAUiTlwlcaeFJ1Hii5OTKJOcXdsIgcFgHGqpAnI6jZah42U6W4yYLmItt7hz/8QPOnyGvinSvrcbFlf7v2Pq81hVO85mPwK1YVMrLzQtO6AtkPdoE6CxSjRwApWHOW9iJfyeitPXANNwmcRMqsQZ4AAsR2/0mRWPefErYQ8i93Ol0XFBDG82FLark=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(39860400002)(136003)(396003)(451199015)(40470700004)(36840700001)(46966006)(44832011)(16576012)(316002)(356005)(83380400001)(40460700003)(110136005)(426003)(47076005)(8936002)(36756003)(336012)(41300700001)(5660300002)(81166007)(70586007)(70206006)(2616005)(4326008)(8676002)(82740400003)(966005)(478600001)(82310400005)(186003)(45080400002)(31696002)(86362001)(31686004)(36860700001)(2906002)(53546011)(26005)(40480700001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 08:55:49.1971
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 73b5420d-3042-45ca-430c-08dade7a29b6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT037.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7689



On 15/12/2022 09:34, Julien Grall wrote:
> 
> 
> Hi,
> 
> On 15/12/2022 01:41, osstest service owner wrote:
>> flight 175226 xen-unstable-smoke real [real]
>> https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Flogs.test-lab.xenproject.org%2Fosstest%2Flogs%2F175226%2F&data=05%7C01%7Cmichal.orzel%40amd.com%7Cb8049c55691342b50a6608dade773f6f%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638066901002944667%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=GVUWKlOkecaJRZTcUqovWnc8WggDc4VokO%2BMKvHk9Qk%3D&reserved=0
>>
>> Regressions :-(
>>
>> Tests which did not succeed and are blocking,
>> including tests which could not be run:
>>   build-armhf                   6 xen-build                fail REGR. vs. 175173
> 
> armhf/xen/tools/libs/light/../../../tools/config.h  -c -o libxl_genid.o
> libxl_genid.c
> In file included from libxl_virtio.c:15:
> libxl_virtio.c: In function 'libxl__set_xenstore_virtio':
> libxl_internal.h:4388:51: error: format '%lu' expects argument of type
> 'long unsigned int', but argument 3 has type 'uint64_t' {aka 'long long
> unsigned int'} [-Werror=format=]
>   #define GCSPRINTF(fmt, ...) (libxl__sprintf((gc), (fmt), __VA_ARGS__))
>                                                     ^~~~~
> libxl_virtio.c:48:41: note: in expansion of macro 'GCSPRINTF'
>       flexarray_append_pair(back, "base", GCSPRINTF("%lu", virtio->base));
>                                           ^~~~~~~~~
> libxl_internal.h:4388:51: error: format '%lu' expects argument of type
> 'long unsigned int', but argument 3 has type 'uint64_t' {aka 'long long
> unsigned int'} [-Werror=format=]
>   #define GCSPRINTF(fmt, ...) (libxl__sprintf((gc), (fmt), __VA_ARGS__))
>                                                     ^~~~~
> libxl_virtio.c:53:42: note: in expansion of macro 'GCSPRINTF'
>       flexarray_append_pair(front, "base", GCSPRINTF("%lu", virtio->base));
>                                            ^~~~~~~~~
> cc1: all warnings being treated as errors
> make[5]: ***
> [/home/osstest/build.175251.build-armhf/xen/tools/libs/light/../../../tools/Rules.mk:188:
> libxl_virtio.o] Error 1
> 
> 
> This build breakage was introduced by "libxl: add support for generic
> virtio device". %lu will likely want to be switched to PRIx64.
> 
> Viresh, we need to unblock OSStest (our CI) as soon as possible. So can
> you look at it and confirm the rest of the tools build on arm32?
The failure is also observed on all the x86_32 builds:
https://gitlab.com/xen-project/xen/-/pipelines/722195904

> 
> Cheers,
> 
> --
> Julien Grall
> 

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 09:07:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 09:07:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463212.721356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5kDQ-0000l2-VI; Thu, 15 Dec 2022 09:07:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463212.721356; Thu, 15 Dec 2022 09:07:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5kDQ-0000kv-Rq; Thu, 15 Dec 2022 09:07:44 +0000
Received: by outflank-mailman (input) for mailman id 463212;
 Thu, 15 Dec 2022 09:07:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=urv3=4N=zlw.email=sisyphean@srs-se1.protection.inumbo.net>)
 id 1p5kDP-0000kY-IN
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 09:07:44 +0000
Received: from mail.zlw.email (unknown [103.181.164.111])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e103c30f-7c57-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 10:07:29 +0100 (CET)
Received: from localhost (unknown [127.0.0.1])
 by mail.zlw.email (Postfix) with ESMTP id 5F25217418D;
 Thu, 15 Dec 2022 08:54:03 +0000 (UTC)
Received: from mail.zlw.email ([127.0.0.1])
 by localhost (mail.zlw.email [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id pNwBmBeCmr3A; Thu, 15 Dec 2022 16:53:56 +0800 (CST)
Received: from [192.168.66.233] (OpenWrt.lan [192.168.66.1])
 by mail.zlw.email (Postfix) with ESMTPSA id 16090174169;
 Thu, 15 Dec 2022 16:53:55 +0800 (CST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e103c30f-7c57-11ed-8fd3-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=zlw.email; h=
	content-transfer-encoding:content-type:content-type:in-reply-to
	:references:to:from:from:content-language:subject:subject
	:user-agent:mime-version:date:date:message-id; s=dkim; t=
	1671094436; x=1673686437; bh=LAmFLWL2+J47QqwNLN9TlGRmD9avZwU31UB
	4TOH7iX4=; b=GoHzPkXQEQRtzAKsJPs1hCYrTBoLjiJtC/oF/wPTAlqi5hvGGRx
	moCzDELotoqYqA3zQUEV5jZSr9tCR9jcjY8AavPgKn4nAY3Wqr60yRg2N8fy9neW
	DbZrjea8xXf9JZV82JW7xqkPVvIN7VkRm0feH5QLu5RUkkvnbfYOpuEY=
X-Virus-Scanned: amavisd-new at zlw.email
Message-ID: <3e124fa6-84ba-d507-82d9-8e8a5aa74c73@zlw.email>
Date: Thu, 15 Dec 2022 16:53:23 +0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [BUG]Add PCIE devie to SMMUv3 fail
Content-Language: en-US
From: sisyphean <sisyphean@zlw.email>
To: Rahul Singh <Rahul.Singh@arm.com>
Cc: Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <793eb471-e68b-c3ff-52e8-20d77252c0bf@zlw.email>
 <A9FCD688-3CA2-484A-ADC1-F1235F18890F@arm.com>
 <75bbfc8c-b89f-9478-63af-c37fda0ad3c0@zlw.email>
 <5BCFEC7E-85B6-4464-A2B1-EA08C6E2EB20@arm.com>
 <340463d2-528e-848f-0ec2-a4cc7ba04399@zlw.email>
 <9478D04C-9BD6-44C1-ADBD-EAA688897811@arm.com>
 <d0f62d31-5673-e804-6e38-6e552989f249@zlw.email>
In-Reply-To: <d0f62d31-5673-e804-6e38-6e552989f249@zlw.email>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

在 2022/12/15 09:30, sisyphean 写道:
> Hi,
>
> 在 2022/12/14 21:05, Rahul Singh 写道:
>> Hi Sisphean,
>>
>>> On 13 Dec 2022, at 1:18 am, sisyphean <sisyphean@zlw.email> wrote:
>>>
>>> Hi,
>>>
>>> 在 2022/12/13 00:30, Rahul Singh 写道:
>>>> Hi Sisyphean,
>>>>
>>>>> On 12 Dec 2022, at 5:49 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>>
>>>>> Hi,
>>>>> 在 2022/12/9 17:50, Rahul Singh 写道:
>>>>>> Hi Sisyphean,
>>>>>>
>>>>>>> On 9 Dec 2022, at 6:15 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> I try to run XEN on my ARM board(Sorry, for some commercial 
>>>>>>> reasons, I can't tell you
>>>>>>> on which platform I run XEN)  and add PCIE device passthrough to 
>>>>>>> DomU.But an error
>>>>>>> occurred while adding the PCIE device to SMMUv3.
>>>>>> PCI passthrough support is not fully upstream to Xen on ARM. We 
>>>>>> have working
>>>>>> PCI passthrough branch that you can use to test it.
>>>>>>
>>>>>> https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough 
>>>>>>
>>>>>>
>>>>>>> Through reading the code and tracing debugging, the error is 
>>>>>>> found in the function
>>>>>>> arm_smmu_add_device, which will obtain and determine whether the 
>>>>>>> fwspec of the
>>>>>>> device to be added to SMMU exists.But for the XEN of arm, the 
>>>>>>> fwspec of the device is
>>>>>>> created and added by judging whether the iommu field exists in 
>>>>>>> the device node when
>>>>>>> XEN parses the device tree.However, the PCIE device does not 
>>>>>>> appear in the device tree,
>>>>>>> so there will be no fwspec for all PCIE devices. When attempting 
>>>>>>> to add a PCIE device to
>>>>>>> SMMU, a ENODEV error will be returned.
>>>>>> As of now Xen doesn’t support to add PCI device to IOMMU on ARM.
>>>>>>> In addition, the code at xen/drivers/passthrough/pci.c also 
>>>>>>> verifies the above view.
>>>>>>> For PCIE devices, pdev is alloc in function pci_add_device by 
>>>>>>> alloc_pdev.However,
>>>>>>> the function alloc_pdev does not create and add fwspec to the 
>>>>>>> PCIE device.Therefore,
>>>>>>> when function pci_add_device executes to iommu_add_device,it 
>>>>>>> will get the error
>>>>>>> return of ENODEV.
>>>>>>>
>>>>>>> How can I resolve the above errors?
>>>>>> If you want to test the PCI passthrough please follow below steps.
>>>>>>
>>>>>> Xen setup:
>>>>>>      • A checkout of the “integration/pci-passthrough” branch 
>>>>>> from the  gitlab 
>>>>>> https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough
>>>>>>      • Pass iommu=yes  and pci-passthrough=on to Xen command line 
>>>>>> to enable PCI passthrough.
>>>>>>
>>>>>>   Linux Kernel setup:
>>>>>>        • Some changes are required for the kernel to work with 
>>>>>> PCI passthrough. First are some configuration options, enable 
>>>>>> them in kernel config.
>>>>>>           CONFIG_XEN=y
>>>>>>           CONFIG_XEN_BACKEND=y
>>>>>>           CONFIG_XEN_PCIDEV_BACKEND=y
>>>>>>      • Then a patch needs to be applied for enabling the pciback 
>>>>>> driver. Patch is attached in this email.
>>>>>>   Using PCI passthrough:
>>>>>>        • In order to pass a device to a guest, you first need its 
>>>>>> PCI address(SBDF). You can either get it from a bare-metal
>>>>>>        Linux running on the platform or by having pciutils  
>>>>>> installed (if you are using a yocto-based dom0 or have apt 
>>>>>> available), which provides lspci.
>>>>>>         For example, let's pass one ethernet interface to the 
>>>>>> guest. Running lspci gives us this output (truncated) :
>>>>>>         0000:00:00.0 Host bridge: Ampere Computing, LLC Device e100
>>>>>>         0000:00:01.0 PCI bridge: Ampere Computing, LLC Device 
>>>>>> e101 (rev 04)
>>>>>>         0000:01:00.0 Ethernet controller: Intel Corporation 
>>>>>> Ethernet Controller X710/X557-AT 10GBASE-T (rev 01)
>>>>>>                 [...]
>>>>>>         We will pass one of the ethernet from the PCI network 
>>>>>> card : 0000:01:00.0 .
>>>>>>        • Add the following line to the guest configuration file :
>>>>>>            pci = ['0000:01:00.0']
>>>>>>        • Run the following command before starting the guest :
>>>>>>             xl pci-assignable-add 0000:01:00.0
>>>>>>      • Start the guest. The network interface should appear as 
>>>>>> 00:00.0  in the guest and be usable.
>>>>>>   Please let me know if you need more info.
>>>>>>
>>>>>>
>>>>>>
>>>>>> Regards,
>>>>>> Rahul
>>>>>>
>>>>> Thank you for your reply.
>>>>> After setting XEN and kernel as above, I tried the following two 
>>>>> methods to add a PCIE device passthrough:
>>>>> 1. According to your suggestion, use the command xl 
>>>>> pci-assignable-add 0002:21:00.0 to set in the Dom0. But in function
>>>>> iommu_do_pci_domctl,  after device_assigned is called, ENODEV 
>>>>> error is obtained.
>>>>> 2. Add xen-pciback.hide=(0002:21:00.0) to dom0-bootargs in the 
>>>>> device tree, I encountered the same problem as before
>>>>> when initializing the kernel. In function pci_add_device, PCIE 
>>>>> devices cannot be added to SMMUv3.
>>>> It is hard to find what is happening without logs. Could you please 
>>>> share the Xen and Linux boot logs so that I can
>>>> check what is the root cause of this issue.
>>>>
>>>>> The kernel version I use is 5.10. Does this have an impact?
>>>> I am using the Linux version 5.15.44 but I don’t think is because 
>>>> of Linux.
>>>>
>>>> Regards,
>>>> Rahul
>>> The attachment is a log file. I have to delete some content that may 
>>> involve commercial. Please forgive me.
>>>
>>> In addition, I have forgotten to tell you a very important 
>>> information. The PCIE controller used on my board
>>> is DesignWare. I referred to the code of ECAM under XEN and added 
>>> some support related to DesignWare
>>> (DBI space mapping and PCIE read/write).
>>>
> The kernel.log file is from Dom0 boot. The PCIE device I trying to 
> assign to domU is working fine in dom0.
>> What I understood from the logs is you shared the logs for domU boot. 
>> Could you please confirm that dom0 booted
>> fine with the PCI passthrough branch and the PCI device you trying to 
>> assign to domU is working fine in dom0.
>>
>> In that case we can confirm that code you added to support DesignWare 
>> PCIE controller is fine.
>>
>>> In addition, if needed ,I can pre initialized PCIE controller in the 
>>> uboot stage, so  I can scan the PCIE device
>>> in the uboot command line.
>
>
The reason for Data Abort is that the DomU uses the PCIE driver of the 
ecam instead of the PCIE frontend.
At present, PCIE frontend only supports x86. I'll try to migrate to ARM.

> In order to verify my previous conjecture (there is no fwspec for the 
> PCIE device,
> which makes it impossible to passthrough), I used the following code 
> to test.
> The result is that the PCIE device can passthrough to the DomU, but 
> the DomU kernel
> appears Data Abort when trying to read the PCIE device. This may be 
> because I directly add
> the fwspec of the PCIE controller to the PCIE device, which leads to 
> memory mapping problems.
>
> diff --git a/xen/drivers/passthrough/device_tree.c 
> b/xen/drivers/passthrough/device_tree.c
> index 98f2aa0..28283d2 100644
> --- a/xen/drivers/passthrough/device_tree.c
> +++ b/xen/drivers/passthrough/device_tree.c
> @@ -127,6 +127,7 @@ int iommu_release_dt_devices(struct domain *d)
>      return 0;
>  }
>
> +struct device *smmu_dev_for_test;
>  int iommu_add_dt_device(struct dt_device_node *np)
>  {
>      const struct iommu_ops *ops = iommu_get_ops();
> @@ -167,7 +168,8 @@ int iommu_add_dt_device(struct dt_device_node *np)
>          rc = iommu_fwspec_init(dev, &iommu_spec.np->dev);
>          if ( rc )
>              break;
> -
> +        else
> +            smmu_dev_for_test = &iommu_spec.np->dev;
>          /*
>           * Provide DT IOMMU specifier which describes the IOMMU master
>           * interfaces of that device (device IDs, etc) to the driver.
>
>
> diff --git a/xen/drivers/passthrough/pci.c 
> b/xen/drivers/passthrough/pci.c
> index da4ecda..cf8a099 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -1316,6 +1316,8 @@ static int __init setup_dump_pcidevs(void)
>  }
>  __initcall(setup_dump_pcidevs);
>
> +extern int iommu_fwspec_init(struct device *dev, struct device 
> *iommu_dev);
> +extern struct device *smmu_dev_for_test;;
>  static int iommu_add_device(struct pci_dev *pdev)
>  {
>      const struct domain_iommu *hd;
> @@ -1331,6 +1333,10 @@ static int iommu_add_device(struct pci_dev *pdev)
>      if ( !is_iommu_enabled(pdev->domain) )
>          return 0;
>
> +    if (pdev->bus != 0x20)
> +    {
> +        iommu_fwspec_init(pci_to_dev(pdev), smmu_dev_for_test);
> +    }
>      rc = hd->platform_ops->add_device(pdev->devfn, pci_to_dev(pdev));
>      if ( rc || !pdev->phantom_stride )
>          return rc;
> @@ -1401,6 +1407,7 @@ static int device_assigned(u16 seg, u8 bus, u8 
> devfn)
>
>      ASSERT(pcidevs_locked());
>      pdev = pci_get_pdev(seg, bus, devfn);
> +    printk("%s:%p,%p,%p\n",__FUNCTION__, pdev->domain, 
> hardware_domain, dom_io);
>
>      if ( !pdev )
>          rc = -ENODEV;
>
> I will test the use of pci-passthrough  branch to verify the PCIE 
> passthrough function
>
>> Yes, we can try that and use the below branch to check if it works. 
>> Below branch supports to add PCI device
>>   during Xen boot as compared to previous branch where Linux inform 
>> Xen to add PCI devices.
>>
>> You need to add "pci-scan=on” in Xen command line to add PCI devices 
>> during Xen boot.
>>
>> https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc/-/tree/poc/pci-passthrough 
>>
>>
>> Regards,
>> Rahul
>
> Cheers,
> -- 
> Sisyphean
>


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 09:11:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 09:11:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463220.721367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5kH0-00027M-EA; Thu, 15 Dec 2022 09:11:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463220.721367; Thu, 15 Dec 2022 09:11:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5kH0-00027F-Ag; Thu, 15 Dec 2022 09:11:26 +0000
Received: by outflank-mailman (input) for mailman id 463220;
 Thu, 15 Dec 2022 09:11:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5kGz-000271-8N; Thu, 15 Dec 2022 09:11:25 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5kGz-0005YD-5i; Thu, 15 Dec 2022 09:11:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5kGy-0000oj-VX; Thu, 15 Dec 2022 09:11:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5kGy-0006vq-V8; Thu, 15 Dec 2022 09:11:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZK7/kOQkjZZjhIxOlHQJ9Q+lxnTLX4eOirnYQRzBoeY=; b=ftJVMkWxbkFM8iK8RmudRQZwHZ
	dBw7CIvYKQjq98N08IUlX6WbZOejMea7Ia2kO74ZfjpuERQNXiOXyKR1tQ7P7ms4gqrudyxywBn+w
	nlzlvE87AkoippZioLzaMQ4pAZZa0SCfodmhu/hVhHzSuCff7ynCQQa0MyRKk1zRPQMs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175257-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175257: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=01c0d3c0d508b8c1b41fd58e2ec565b40ea000ca
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 09:11:24 +0000

flight 175257 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175257/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 01c0d3c0d508b8c1b41fd58e2ec565b40ea000ca
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    0 days
Failing since        175214  2022-12-14 18:42:16 Z    0 days    6 attempts
Testing same since   175244  2022-12-15 04:18:39 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 01c0d3c0d508b8c1b41fd58e2ec565b40ea000ca
Author: Min M Xu <min.m.xu@intel.com>
Date:   Wed Dec 14 15:14:19 2022 +0800

    OvmfPkg/SecTpmMeasurementLib: Fix the mapping error of PCR and RTMR index
    
    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4179
    
    TDVF has the feature to do RTMR measurement in SEC phase. In the same time
    it builds a GUID hob which carries the hash value of the measurement so
    that in DXE phase a td event can be created based on this GUID Hob. There
    is a mapping error between TPM PCR index and RTMR index according to UEFI
    2.10. That PCR6 is missing in the mapping. This patch fixes this issue.
    
    Cc: Erdem Aktas <erdemaktas@google.com> [ruleof2]
    Cc: James Bottomley <jejb@linux.ibm.com> [jejb]
    Cc: Jiewen Yao <jiewen.yao@intel.com> [jyao1]
    Cc: Tom Lendacky <thomas.lendacky@amd.com> [tlendacky]
    Cc: Arti Gupta <ARGU@microsoft.com>
    Signed-off-by: Min Xu <min.m.xu@intel.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

commit fb91d6cbd0cff704586c4cadbef870acef9c52ef
Author: Min M Xu <min.m.xu@intel.com>
Date:   Wed Dec 14 15:14:18 2022 +0800

    OvmfPkg/TdTcg2Dxe: Fix the mapping error between PCR index and MR index
    
    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4179
    
    According to UEFI Spec 2.10 it is supposed to return the mapping from PCR
    index to CC MR index:
    //
    // In the current version, we use the below mapping for TDX:
    //
    // TPM PCR Index | CC Measurement Register Index | TDX-measurement register
    // -----------------------------------------------------------------------
    // 0             |   0                           |   MRTD
    // 1, 7          |   1                           |   RTMR[0]
    // 2~6           |   2                           |   RTMR[1]
    // 8~15          |   3                           |   RTMR[2]
    
    In the current implementation TdMapPcrToMrIndex returns the index of RTMR,
    not the MR index.
    
    After fix the spec unconsistent, other related codes are updated
    accordingly.
    1) The index of event log uses the input MrIndex.
    2) MrIndex is decreated by 1 before it is sent for RTMR extending.
    
    Cc: Erdem Aktas <erdemaktas@google.com> [ruleof2]
    Cc: James Bottomley <jejb@linux.ibm.com> [jejb]
    Cc: Jiewen Yao <jiewen.yao@intel.com> [jyao1]
    Cc: Tom Lendacky <thomas.lendacky@amd.com> [tlendacky]
    Cc: Arti Gupta <ARGU@microsoft.com>
    Reported-by: Arti Gupta <ARGU@microsoft.com>
    Signed-off-by: Min Xu <min.m.xu@intel.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

commit 19f7c63ea978c5a4ef9345b9bf4995dcd48fa328
Author: Min M Xu <min.m.xu@intel.com>
Date:   Wed Dec 14 15:14:17 2022 +0800

    OvmfPkg/TdTcg2Dxe: Fix incorrect protocol and structure version
    
    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4184
    
    According to the Uefi spec 2.10 Section 38.2.2.
    EFI_CC_MEASUREMENT_PROTOCOL.GetCapability, the minor version of
    StructureVersion and ProtocolVersion should be 0.
    
    Cc: Erdem Aktas <erdemaktas@google.com> [ruleof2]
    Cc: James Bottomley <jejb@linux.ibm.com> [jejb]
    Cc: Jiewen Yao <jiewen.yao@intel.com> [jyao1]
    Cc: Tom Lendacky <thomas.lendacky@amd.com> [tlendacky]
    Cc: Arti Gupta <ARGU@microsoft.com>
    Reported-by: Arti Gupta <ARGU@microsoft.com>
    Signed-off-by: Min Xu <min.m.xu@intel.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

commit 44fc90eb0ea7299abc79577db55aa6257b46b7ae
Author: devel@edk2.groups.io <devel@edk2.groups.io>
Date:   Wed Nov 30 15:02:15 2022 -0800

    UnitTestFrameworkPkg/UnitTestLib: Print expected Status on ASSERT fail
    
    Update the UnitTestAssertStatusEqual error message to print out the
    expected value in addition to the seen value.
    
    Signed-off-by: Jeshua Smith <jeshuas@nvidia.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>

commit cda98df16228970dcf9a4ce2af5368219711b4b0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:09 2022 +0100

    OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported
    
    Remove global variables, store the state in PlatformInfoHob instead.
    Probing for fw_cfg happens on first use, at library initialization
    time the Hob might not be present yet.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 81bbc1452c972218f071cd4a8f5899df974b1dae
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:08 2022 +0100

    OvmfPkg/QemuFwCfgLib: rewrite fw_cfg probe
    
    Move the code to a new QemuFwCfgProbe() function.  Use direct Io*() calls
    instead of indirect QemuFwCfg*() calls to make sure we don't get
    recursive calls.  Also simplify CC guest detection.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit e59747bd8246135faeecc18879d62db66a6acfc2
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:07 2022 +0100

    OvmfPkg/DebugLibIoPort: use Rom version for PEI
    
    This variant does not use global variables.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit f6a196c7eb34affff0cfe1864e126953096885e1
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:06 2022 +0100

    OvmfPkg/PlatformPei: remove mFeatureControlValue
    
    Use PlatformInfoHob->FeatureControlValue instead.
    OnMpServicesAvailable() will find PlatformInfoHob using
    GetFirstGuidHob() and pass a pointer to the WriteFeatureControl
    callback.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 862614e2544997c848fab7388733774ae0ea92d8
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:05 2022 +0100

    OvmfPkg/PlatformPei: remove mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable.  Let
    BuildPlatformInfoHob() allocate and return PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 4bc2c748516e5c4a8bb86093cd5e1b80a9f35c0f
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:04 2022 +0100

    OvmfPkg/PlatformPei: Verification: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in S3Verification() and
    Q35BoardVerification() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 7dbb8a24d1a3403f85d959bc1234b9f4a92bfbf0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:03 2022 +0100

    OvmfPkg/PlatformPei: NoExec: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in NoexecDxeInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit cc6efda7770b8cabea3ae8c6054d47c4a8e229c3
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:02 2022 +0100

    OvmfPkg/PlatformPei: MemTypeInfo: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in MemTypeInfoInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 27874a382c38a95d3ab613eebd35c152ca9b3897
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:01 2022 +0100

    OvmfPkg/PlatformPei: PeiMemory: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PublishPeiMemory()
    and GetPeiMemoryCap() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 00743d144bc5b643e9323ad66f16cb48cf338705
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:00 2022 +0100

    OvmfPkg/PlatformPei Q35 SMM helpers: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in
    Q35TsegMbytesInitialization() and
    Q35SmramAtDefaultSmbaseInitialization() ) functions.
    Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 9d9d15b42a5e13bb18729da0f608c629aa274e80
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:59 2022 +0100

    OvmfPkg/PlatformPei: PeiFv: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PeiFvInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 78c373f2a5273af00b23b55d3e8c41583310cfb6
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:58 2022 +0100

    OvmfPkg/PlatformPei: AmdSev: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in AmdSevInitialize()
    and AmdSevEsInitialize() functions.  Pass a pointer to the
    PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 916825b84f23b691dcce09a57625fb8fcb0cbb48
Author: Jeff Brasen <jbrasen@nvidia.com>
Date:   Tue Nov 15 11:01:06 2022 -0700

    DynamicTablesPkg: SSDT _LPI revision is incorrect
    
    _LPI Revision should be 0 per the ACPI 6.5 specification.
    "The revision number of the _LPI object. Current revision is 0."
    
    Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
    Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 09:40:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 09:40:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463236.721384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5kiX-0005iv-Nh; Thu, 15 Dec 2022 09:39:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463236.721384; Thu, 15 Dec 2022 09:39:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5kiX-0005io-Kn; Thu, 15 Dec 2022 09:39:53 +0000
Received: by outflank-mailman (input) for mailman id 463236;
 Thu, 15 Dec 2022 09:39:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5kiW-0005ie-9I; Thu, 15 Dec 2022 09:39:52 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5kiW-0006CB-5Q; Thu, 15 Dec 2022 09:39:52 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5kiV-0001VD-VN; Thu, 15 Dec 2022 09:39:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5kiV-00060C-Uu; Thu, 15 Dec 2022 09:39:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=r5n6H+wsh0R0BxrV9PkelVofuLdQhiqJXuWJbrS/yzw=; b=d8CRWXsJvro6d3uZQ0FVy3S6AW
	01hX/FeUI8To1mN97DuS9UdxnWetd5I5zwp7/Ei29tmlc965fVuB2cmgXzYnyiyXFUMbM0QwcJWYV
	tmnLlnjnTetKqu7cXDSc7Grj4N42+AWeaHh0stxlkpYRw69eIWtlerm0wfNq53eCtXTI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175258-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175258: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=549b042943a57b748ce80070d1174e4ff5b8ef0b
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 09:39:51 +0000

flight 175258 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175258/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  549b042943a57b748ce80070d1174e4ff5b8ef0b
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    1 days
Testing same since   175199  2022-12-14 12:01:52 Z    0 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 549b042943a57b748ce80070d1174e4ff5b8ef0b
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Wed Dec 14 12:04:26 2022 +0100

    drivers/char: support up to 1M BAR0 of xhci
    
    AMD's XHCI has BAR0 of 1M (compared to 64K on Intel). Map it as a whole
    (reserving more space in the fixmap). Make fixmap slot conditional on
    CONFIG_XHCI.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit dd54ea500be80f347402d75f3e4e7061e7db78d2
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:38 2022 +0100

    docs: add documentation for generic virtio devices
    
    This patch updates xl.cfg man page with details of generic Virtio device
    related information.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit 953efa0b7b188458b18e4a727f3b1dfa77eacb61
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:25 2022 +0100

    xl: add support to parse generic virtio device
    
    This patch adds basic support for parsing generic Virtio backend.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 43ba5202e2eebd350161a8db674bf928c3e6f859
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:09 2022 +0100

    libxl: add support for generic virtio device
    
    This patch adds basic support for configuring and assisting generic
    Virtio backends, which could run in any domain.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
    region) and pass them to the backend and update guest device-tree to
    create a DT node for the Virtio devices.
    
    Add special support for I2C and GPIO devices, which require the
    "compatible" DT property to be set, among other device specific
    properties. Support for generic virtio devices is also added, which just
    need a MMIO node but not any special DT properties, for such devices the
    user needs to pass "virtio,device" in the "type" string.
    
    The parsing of generic virtio device configurations will be done in a
    separate commit.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit db75092aea988b4be78c8273626f2ee40b4012b8
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:21 2022 +0100

    tools/xenstore: enhance hashtable implementation
    
    Today it is possible to set a flag when calling hashtable_destroy() in
    order to specify whether the data associated with the hashtable entries
    should be freed or not. The keys of the entries will always be freed.
    
    Change that by replacing the flag of hashtable_destroy() by two flags
    for create_hashtable() which will specify whether the data and/or the
    key of each entry should be freed or not.
    
    This will enable users to have the key e.g. as part of the data.
    
    Add a new function hashtable_iterate() to call a user specified
    function for each entry in the hashtable.
    
    Add new primes to the primetable in order to support smaller sizes of
    the hashtable. The primes are selected according to:
    
    https://planetmath.org/goodhashtableprimes
    
    Update the URL in the source as the old one wasn't correct any longer.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit bb65cbd81caaaaf325d23f63b4c2165960563459
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:04 2022 +0100

    tools/xenstore: preserve errno across corrupt()
    
    Let corrupt() preserve errno in order to be able to simplify error
    handling in future.
    
    This is rather easy as the errno value when entering corrupt() is
    saved already.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 6a0d1914f0b19742436367a0019602992573bd4b
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:01:47 2022 +0100

    tools/xenstore: let tdb_logger() preserve errno
    
    tdb_logger() is called by TDB for logging errors. As errno is checked
    often after doing the logging, tdb_logger() should preserve errno.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 8d7acf3f7d8d2555c78421dced45bc49f79ae806
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Wed Dec 14 12:00:35 2022 +0100

    EFI: relocate the ESRT when booting via multiboot2
    
    This was missed in the initial patchset.
    
    Move efi_relocate_esrt() up to avoid adding a forward declaration.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 10:09:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 10:09:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463249.721401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5lBS-0001ho-2Y; Thu, 15 Dec 2022 10:09:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463249.721401; Thu, 15 Dec 2022 10:09:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5lBR-0001hh-W6; Thu, 15 Dec 2022 10:09:45 +0000
Received: by outflank-mailman (input) for mailman id 463249;
 Thu, 15 Dec 2022 10:09:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5lBR-0001hX-01; Thu, 15 Dec 2022 10:09:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5lBQ-0006xt-T4; Thu, 15 Dec 2022 10:09:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5lBQ-0002FI-Kr; Thu, 15 Dec 2022 10:09:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5lBQ-0007MZ-KJ; Thu, 15 Dec 2022 10:09:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mAxyx4tcoi3Ok6mL0aSA6LsV1KbWbM7FWFXYptpheek=; b=wwZYN5CbbC+5Zq5C7xWjCUJJq4
	rCugUNwueZhS2dHyZpTK9YfBsEw3h4WiXz7NG95hC4sUwa3TsnpnY3L81saPEQtTHD71BY733ES/q
	5nYIfGyl6urG1unhSOlJ3zTvUjv4V/4FjAKCtBRvnsQdMf+fsq3AmUrDWFdfx/g4aOBQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175208-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175208: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-install/src_host:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qcow2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-5:xen-boot:fail:regression
    xen-unstable:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-pygrub:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-examine-uefi:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine-bios:reboot:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-livepatch:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-4:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-pair:xen-boot/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-pair:xen-boot/dst_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-livepatch:xen-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 10:09:44 +0000

flight 175208 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175208/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 175148
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 175148
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 175148
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 175148
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-xl-xsm        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-qemut-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 175148
 test-amd64-amd64-xl-qcow2     8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 175148
 test-xtf-amd64-amd64-5        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 175148
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-qemuu-freebsd11-amd64  8 xen-boot       fail REGR. vs. 175148
 test-amd64-i386-livepatch     8 xen-boot       fail in 175189 REGR. vs. 175144

Tests which are failing intermittently (not blocking):
 test-xtf-amd64-amd64-4        8 xen-boot         fail in 175189 pass in 175208
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 175189 pass in 175208
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host fail in 175189 pass in 175208
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host fail in 175189 pass in 175208
 test-amd64-amd64-pair       12 xen-boot/src_host fail in 175189 pass in 175208
 test-amd64-amd64-pair       13 xen-boot/dst_host fail in 175189 pass in 175208
 test-amd64-amd64-libvirt      8 xen-boot                   fail pass in 175189
 test-amd64-i386-xl-vhd        8 xen-boot                   fail pass in 175189

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt    15 migrate-support-check fail in 175189 never pass
 test-amd64-i386-livepatch     7 xen-install                  fail  like 175148
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175148
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175148
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175148
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175148
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175148
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175148
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175148
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175148  2022-12-12 01:53:19 Z    3 days
Failing since        175154  2022-12-12 15:07:03 Z    2 days    6 attempts
Testing same since   175189  2022-12-14 02:31:01 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       fail    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 435 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 11:07:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 11:07:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463265.721420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5m4c-0000dV-HU; Thu, 15 Dec 2022 11:06:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463265.721420; Thu, 15 Dec 2022 11:06:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5m4c-0000dO-Ep; Thu, 15 Dec 2022 11:06:46 +0000
Received: by outflank-mailman (input) for mailman id 463265;
 Thu, 15 Dec 2022 11:06:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5m4b-0000dE-66; Thu, 15 Dec 2022 11:06:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5m4b-0008GP-4S; Thu, 15 Dec 2022 11:06:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5m4a-0003Xy-N7; Thu, 15 Dec 2022 11:06:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5m4a-0004HH-Mb; Thu, 15 Dec 2022 11:06:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=N22jbzDCguvjjGDt1E9SCT1HWJVHNiUoMf85NSdbIN0=; b=D/QkVCBiD0ADgJiUdsyAM1Oy2+
	ee8NO2nQCUunbsRbIgKeqeFF4RrR4Ke21A/VeS2RqUvey/Dc76hVJeH//f3d3dSqndFx+87C/EgXD
	Wcqu6zHDcduBsz8OiuJiKT9k08bGeS8iS2GnqI67wfEw+pYzL0sG1Hb9x1bGtwdy9aUg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175233-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175233: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=041fae9c105ae342a4245cf1e0dc56a23fbb9d3c
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 11:06:44 +0000

flight 175233 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175233/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                041fae9c105ae342a4245cf1e0dc56a23fbb9d3c
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   68 days
Failing since        173470  2022-10-08 06:21:34 Z   68 days  138 attempts
Testing same since   175233  2022-12-15 02:01:49 Z    0 days    1 attempts

------------------------------------------------------------
2993 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 419051 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 11:28:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 11:28:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463280.721441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5mPy-0003on-Cb; Thu, 15 Dec 2022 11:28:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463280.721441; Thu, 15 Dec 2022 11:28:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5mPy-0003og-9G; Thu, 15 Dec 2022 11:28:50 +0000
Received: by outflank-mailman (input) for mailman id 463280;
 Thu, 15 Dec 2022 11:28:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5mPw-0003oa-Fl
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 11:28:48 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5mPv-0000LP-TT; Thu, 15 Dec 2022 11:28:47 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=[10.85.36.201])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5mPv-0007Eq-I5; Thu, 15 Dec 2022 11:28:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=R1q7AVfpptThFItoUodJypQXobnZpAEV0d/Tob0b+Yc=; b=MX5xDf7abfhIAsAIicWcK1G3Xb
	ariCxkrUXDT2aPONXhZTWc4rblCyIwXv/KvWsFM3QsH9X46GzQdEN/sFG2aNGFHMDU+25gkIvccmJ
	pQmQLm4egIuykXRhzC35wHSSgX2HxBy5Lgq1RtP359EdwW+PidJCUci6oEwRb7AUS+wk=;
Message-ID: <0755f61b-693b-7410-48c3-9162163030c7@xen.org>
Date: Thu, 15 Dec 2022 11:28:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v5 00/11] Arm: Enable GICv3 for AArch32
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefanos@xilinx.com, Volodymyr_Babchuk@epam.com,
 bertrand.marquis@arm.com, michal.orzel@amd.com, jgrall@amazon.com,
 burzalodowa@gmail.com
References: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221205132637.26775-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 05/12/2022 13:26, Ayan Kumar Halder wrote:
> Hi All,

Hi Ayan,

> Please find the following patches to enable GICv3 for AArch32.
> This is a pre-requisite to support Xen on Cortex-R52 (AArch32-v8R system)
> 
> Let me know your thoughts.

The series is now merged.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 11:31:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 11:31:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463289.721452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5mSR-0005B9-Pt; Thu, 15 Dec 2022 11:31:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463289.721452; Thu, 15 Dec 2022 11:31:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5mSR-0005B2-Ln; Thu, 15 Dec 2022 11:31:23 +0000
Received: by outflank-mailman (input) for mailman id 463289;
 Thu, 15 Dec 2022 11:31:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5mSQ-0005Au-3u
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 11:31:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5mSO-0000O5-RN; Thu, 15 Dec 2022 11:31:20 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=[10.85.36.201])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5mSO-0007HI-LZ; Thu, 15 Dec 2022 11:31:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=p9WTWEvDp9ow7fo8j5qQi5TAMVs3MvV1ewbzynRdL0k=; b=YhJ1SrAwAvVOwEdc8VInP8l8oR
	9YJZiyw5Bln4FyCdhT4eyX32JsNdbo+B7Y6AK0dqzqaMnQGcSuNX6LEbuVrRfkSqxPWWPYTkKFMBv
	3EFIA7TXobdzpLuTgBwPC0hhIjv7qhW4jAxm5TFKqittokv2FXhy9aZDzMQrUpJvpBhs=;
Message-ID: <84ecad1e-2670-f6e0-ef74-cde5c9aaf496@xen.org>
Date: Thu, 15 Dec 2022 11:31:18 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [BUG]Add PCIE devie to SMMUv3 fail
Content-Language: en-US
To: sisyphean <sisyphean@zlw.email>, Rahul Singh <Rahul.Singh@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <793eb471-e68b-c3ff-52e8-20d77252c0bf@zlw.email>
 <A9FCD688-3CA2-484A-ADC1-F1235F18890F@arm.com>
 <75bbfc8c-b89f-9478-63af-c37fda0ad3c0@zlw.email>
 <5BCFEC7E-85B6-4464-A2B1-EA08C6E2EB20@arm.com>
 <340463d2-528e-848f-0ec2-a4cc7ba04399@zlw.email>
 <9478D04C-9BD6-44C1-ADBD-EAA688897811@arm.com>
 <d0f62d31-5673-e804-6e38-6e552989f249@zlw.email>
 <3e124fa6-84ba-d507-82d9-8e8a5aa74c73@zlw.email>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3e124fa6-84ba-d507-82d9-8e8a5aa74c73@zlw.email>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 15/12/2022 08:53, sisyphean wrote:
> Hi,

Hi,

> 在 2022/12/15 09:30, sisyphean 写道:
>> Hi,
>>
>> 在 2022/12/14 21:05, Rahul Singh 写道:
>>> Hi Sisphean,
>>>
>>>> On 13 Dec 2022, at 1:18 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>
>>>> Hi,
>>>>
>>>> 在 2022/12/13 00:30, Rahul Singh 写道:
>>>>> Hi Sisyphean,
>>>>>
>>>>>> On 12 Dec 2022, at 5:49 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>>>
>>>>>> Hi,
>>>>>> 在 2022/12/9 17:50, Rahul Singh 写道:
>>>>>>> Hi Sisyphean,
>>>>>>>
>>>>>>>> On 9 Dec 2022, at 6:15 am, sisyphean <sisyphean@zlw.email> wrote:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I try to run XEN on my ARM board(Sorry, for some commercial 
>>>>>>>> reasons, I can't tell you
>>>>>>>> on which platform I run XEN)  and add PCIE device passthrough to 
>>>>>>>> DomU.But an error
>>>>>>>> occurred while adding the PCIE device to SMMUv3.
>>>>>>> PCI passthrough support is not fully upstream to Xen on ARM. We 
>>>>>>> have working
>>>>>>> PCI passthrough branch that you can use to test it.
>>>>>>>
>>>>>>> https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough
>>>>>>>
>>>>>>>> Through reading the code and tracing debugging, the error is 
>>>>>>>> found in the function
>>>>>>>> arm_smmu_add_device, which will obtain and determine whether the 
>>>>>>>> fwspec of the
>>>>>>>> device to be added to SMMU exists.But for the XEN of arm, the 
>>>>>>>> fwspec of the device is
>>>>>>>> created and added by judging whether the iommu field exists in 
>>>>>>>> the device node when
>>>>>>>> XEN parses the device tree.However, the PCIE device does not 
>>>>>>>> appear in the device tree,
>>>>>>>> so there will be no fwspec for all PCIE devices. When attempting 
>>>>>>>> to add a PCIE device to
>>>>>>>> SMMU, a ENODEV error will be returned.
>>>>>>> As of now Xen doesn’t support to add PCI device to IOMMU on ARM.
>>>>>>>> In addition, the code at xen/drivers/passthrough/pci.c also 
>>>>>>>> verifies the above view.
>>>>>>>> For PCIE devices, pdev is alloc in function pci_add_device by 
>>>>>>>> alloc_pdev.However,
>>>>>>>> the function alloc_pdev does not create and add fwspec to the 
>>>>>>>> PCIE device.Therefore,
>>>>>>>> when function pci_add_device executes to iommu_add_device,it 
>>>>>>>> will get the error
>>>>>>>> return of ENODEV.
>>>>>>>>
>>>>>>>> How can I resolve the above errors?
>>>>>>> If you want to test the PCI passthrough please follow below steps.
>>>>>>>
>>>>>>> Xen setup:
>>>>>>>      • A checkout of the “integration/pci-passthrough” branch 
>>>>>>> from the  gitlab 
>>>>>>> https://gitlab.com/xen-project/fusa/xen-integration/-/commits/integration/pci-passthrough
>>>>>>>      • Pass iommu=yes  and pci-passthrough=on to Xen command line 
>>>>>>> to enable PCI passthrough.
>>>>>>>
>>>>>>>   Linux Kernel setup:
>>>>>>>        • Some changes are required for the kernel to work with 
>>>>>>> PCI passthrough. First are some configuration options, enable 
>>>>>>> them in kernel config.
>>>>>>>           CONFIG_XEN=y
>>>>>>>           CONFIG_XEN_BACKEND=y
>>>>>>>           CONFIG_XEN_PCIDEV_BACKEND=y
>>>>>>>      • Then a patch needs to be applied for enabling the pciback 
>>>>>>> driver. Patch is attached in this email.
>>>>>>>   Using PCI passthrough:
>>>>>>>        • In order to pass a device to a guest, you first need its 
>>>>>>> PCI address(SBDF). You can either get it from a bare-metal
>>>>>>>        Linux running on the platform or by having pciutils 
>>>>>>> installed (if you are using a yocto-based dom0 or have apt 
>>>>>>> available), which provides lspci.
>>>>>>>         For example, let's pass one ethernet interface to the 
>>>>>>> guest. Running lspci gives us this output (truncated) :
>>>>>>>         0000:00:00.0 Host bridge: Ampere Computing, LLC Device e100
>>>>>>>         0000:00:01.0 PCI bridge: Ampere Computing, LLC Device 
>>>>>>> e101 (rev 04)
>>>>>>>         0000:01:00.0 Ethernet controller: Intel Corporation 
>>>>>>> Ethernet Controller X710/X557-AT 10GBASE-T (rev 01)
>>>>>>>                 [...]
>>>>>>>         We will pass one of the ethernet from the PCI network 
>>>>>>> card : 0000:01:00.0 .
>>>>>>>        • Add the following line to the guest configuration file :
>>>>>>>            pci = ['0000:01:00.0']
>>>>>>>        • Run the following command before starting the guest :
>>>>>>>             xl pci-assignable-add 0000:01:00.0
>>>>>>>      • Start the guest. The network interface should appear as 
>>>>>>> 00:00.0  in the guest and be usable.
>>>>>>>   Please let me know if you need more info.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Regards,
>>>>>>> Rahul
>>>>>>>
>>>>>> Thank you for your reply.
>>>>>> After setting XEN and kernel as above, I tried the following two 
>>>>>> methods to add a PCIE device passthrough:
>>>>>> 1. According to your suggestion, use the command xl 
>>>>>> pci-assignable-add 0002:21:00.0 to set in the Dom0. But in function
>>>>>> iommu_do_pci_domctl,  after device_assigned is called, ENODEV 
>>>>>> error is obtained.
>>>>>> 2. Add xen-pciback.hide=(0002:21:00.0) to dom0-bootargs in the 
>>>>>> device tree, I encountered the same problem as before
>>>>>> when initializing the kernel. In function pci_add_device, PCIE 
>>>>>> devices cannot be added to SMMUv3.
>>>>> It is hard to find what is happening without logs. Could you please 
>>>>> share the Xen and Linux boot logs so that I can
>>>>> check what is the root cause of this issue.
>>>>>
>>>>>> The kernel version I use is 5.10. Does this have an impact?
>>>>> I am using the Linux version 5.15.44 but I don’t think is because 
>>>>> of Linux.
>>>>>
>>>>> Regards,
>>>>> Rahul
>>>> The attachment is a log file. I have to delete some content that may 
>>>> involve commercial. Please forgive me.
>>>>
>>>> In addition, I have forgotten to tell you a very important 
>>>> information. The PCIE controller used on my board
>>>> is DesignWare. I referred to the code of ECAM under XEN and added 
>>>> some support related to DesignWare
>>>> (DBI space mapping and PCIE read/write).
>>>>
>> The kernel.log file is from Dom0 boot. The PCIE device I trying to 
>> assign to domU is working fine in dom0.
>>> What I understood from the logs is you shared the logs for domU boot. 
>>> Could you please confirm that dom0 booted
>>> fine with the PCI passthrough branch and the PCI device you trying to 
>>> assign to domU is working fine in dom0.
>>>
>>> In that case we can confirm that code you added to support DesignWare 
>>> PCIE controller is fine.
>>>
>>>> In addition, if needed ,I can pre initialized PCIE controller in the 
>>>> uboot stage, so  I can scan the PCIE device
>>>> in the uboot command line.
>>
>>
> The reason for Data Abort is that the DomU uses the PCIE driver of the 
> ecam instead of the PCIE frontend.
> At present, PCIE frontend only supports x86. I'll try to migrate to ARM.

The PV PCI frontend will not be used on Arm. Instead, we will use an 
emulated ECAM hostbridge in Xen. This will avoid extra modification in 
the guest OS to use PCI passthrough.

So you want to understand why you receive a data abort when accessing 
the ECAM. If it is not done yet, can you enable CONFIG_DEBUG=y in Xen 
and post the logs around the data abort?

Similarly, can you post the log from your guest?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 11:34:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 11:34:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463298.721463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5mVZ-0005of-6a; Thu, 15 Dec 2022 11:34:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463298.721463; Thu, 15 Dec 2022 11:34:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5mVZ-0005oY-3Z; Thu, 15 Dec 2022 11:34:37 +0000
Received: by outflank-mailman (input) for mailman id 463298;
 Thu, 15 Dec 2022 11:34:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5mVY-0005oS-8d
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 11:34:36 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5mVY-0000T2-0C; Thu, 15 Dec 2022 11:34:36 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=[10.85.36.201])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5mVX-0007W1-Qs; Thu, 15 Dec 2022 11:34:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=QVKXA/3pokrugzyZhClqiiT6TCEK+2Lp3zg1BgPAwMI=; b=H136cReGI6ew59DcQjRpVekiBE
	wySlXj6EStrC+CgLOZ5Iigg6yTL7UZlSCyyeFZt9ZEP4g6VQF5voWjnNajIJpo02UdeS/uneCYnYF
	KI989RUDYXBXoeETqypLghlS6K0w8Um0F65/9xuyHQD0ZqTqFnAtXha/scAYWGn0Aw9s=;
Message-ID: <423b32d1-90f1-2a0c-865c-24030a7dcdba@xen.org>
Date: Thu, 15 Dec 2022 11:34:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v2] xen/arm: smmuv3: mark arm_smmu_disable_pasid
 __maybe_unused
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221213181855.81713-1-stewart.hildebrand@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221213181855.81713-1-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stewart,

I was about to commit this patch when I noticed the placement of the 
attribute doesn't match what we are usually doing in Xen.

On 13/12/2022 18:18, Stewart Hildebrand wrote:
> When building with clang 12 and CONFIG_ARM_SMMU_V3=y, we observe the
> following build error:
> 
> drivers/passthrough/arm/smmu-v3.c:1408:20: error: unused function 'arm_smmu_disable_pasid' [-Werror,-Wunused-function]
> static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
>                     ^
> 
> arm_smmu_disable_pasid is not currently called from anywhere in Xen, but
> it is inside a section of code guarded by CONFIG_PCI_ATS, which may be
> helpful in the future if the PASID feature is to be implemented. Add the
> attribute __maybe_unused to the function.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> ---
> v1->v2:
> Add __maybe_unused attribute instead of removing
> ---
>   xen/drivers/passthrough/arm/smmu-v3.c | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
> index 9c9f4630090e..0cdc862f96d1 100644
> --- a/xen/drivers/passthrough/arm/smmu-v3.c
> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
> @@ -1376,6 +1376,7 @@ static int arm_smmu_enable_pasid(struct arm_smmu_master *master)
>   	return 0;
>   }
>   
> +__maybe_unused
>   static void arm_smmu_disable_pasid(struct arm_smmu_master *master)

The attribute should be placed after "void". I.e.:

static void __maybe_unused arm_smmu_disable_pasid(...)

>   {
>   	struct pci_dev *pdev;
> @@ -1405,6 +1406,7 @@ static inline int arm_smmu_enable_pasid(struct arm_smmu_master *master)
>   	return 0;
>   }
>   
> +__maybe_unused
>   static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }

Same here.

>   #endif /* CONFIG_PCI_ATS */
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 11:36:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 11:36:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463310.721474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5mXT-0006nd-NJ; Thu, 15 Dec 2022 11:36:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463310.721474; Thu, 15 Dec 2022 11:36:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5mXT-0006nW-KL; Thu, 15 Dec 2022 11:36:35 +0000
Received: by outflank-mailman (input) for mailman id 463310;
 Thu, 15 Dec 2022 11:36:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5mXS-0006nQ-86
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 11:36:34 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5mXR-0000Wb-Vp; Thu, 15 Dec 2022 11:36:33 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=[10.85.36.201])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5mXR-0007cP-Q6; Thu, 15 Dec 2022 11:36:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=G0hyqitgQIcFjn8b8TvD4WXfpdebuN8X05wM0wp9Rtk=; b=39CJvUl/kA9VX2LrYLDHvqLcoo
	qfigoLKWeyaOiA6mYwG1GV+dFPFdlNuVmeaaeayhxB7pW0lOhyofZKMvtdaKll7YnqMRcF279UQPu
	Z/EpS5ms6fFjCPKCmh9PYo+ah0FWxJhMN1f81gP4cgYlJeLQUfYgZcSX6ATgZ3LrKe9k=;
Message-ID: <e1e4a666-7c1d-86d2-927a-2e059bfa0e5b@xen.org>
Date: Thu, 15 Dec 2022 11:36:32 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v2] xen/arm: efi-boot misra rule 4.1 fix
Content-Language: en-US
From: Julien Grall <julien@xen.org>
To: Stefano Stabellini <sstabellini@kernel.org>, bertrand.marquis@arm.com
Cc: Volodymyr_Babchuk@epam.com, xen-devel@lists.xenproject.org,
 jbeulich@suse.com, Luca.Fancellu@arm.com,
 Stefano Stabellini <stefano.stabellini@amd.com>
References: <20221209222552.3353993-1-sstabellini@kernel.org>
 <25584924-2701-dfcc-58c1-b9a0e4036fc1@xen.org>
In-Reply-To: <25584924-2701-dfcc-58c1-b9a0e4036fc1@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 11/12/2022 11:10, Julien Grall wrote:
> Hi Stefano,
> 
> On 09/12/2022 22:25, Stefano Stabellini wrote:
>> We have 3 violations of MISRA C Rule 4.1 ("Octal and hexadecimal escape
>> sequences shall be terminated") in xen/arch/arm/efi/efi-boot.h. Fix them
>> and take the opportunity to declare them as static const __initconst and
>> improve the style.
>>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Reviewed-by: Julien Grall <jgrall@amazon.com>

Committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 11:40:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 11:40:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463319.721484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5map-0007gG-6l; Thu, 15 Dec 2022 11:40:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463319.721484; Thu, 15 Dec 2022 11:40:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5map-0007g9-3r; Thu, 15 Dec 2022 11:40:03 +0000
Received: by outflank-mailman (input) for mailman id 463319;
 Thu, 15 Dec 2022 11:40:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5man-0007Re-7y; Thu, 15 Dec 2022 11:40:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5man-0000ZR-6F; Thu, 15 Dec 2022 11:40:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5mam-0004R7-RM; Thu, 15 Dec 2022 11:40:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5mam-00051C-Qr; Thu, 15 Dec 2022 11:40:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PFTbsx13rBpacoE2mn7TIrRc/NF4gIywI6zGHrzcx4E=; b=2cmJAZbw9Lzo0NP8Vk/NneeVTy
	C0hkQjagJGoYpDq1DwzAkNa42UsYeRsis0zZVdjxNrKLLJvsSKxG0TF6m27JoQiBghGPsi64VFoC4
	AKflPzVONKpK4q/ZErH9AE/wSU1b0rIKazMdM09CuS1CFyxFcbUpAdtjTP00jTtjN1CQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175265-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175265: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=549b042943a57b748ce80070d1174e4ff5b8ef0b
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 11:40:00 +0000

flight 175265 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175265/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  549b042943a57b748ce80070d1174e4ff5b8ef0b
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    1 days
Testing same since   175199  2022-12-14 12:01:52 Z    0 days   11 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 549b042943a57b748ce80070d1174e4ff5b8ef0b
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Wed Dec 14 12:04:26 2022 +0100

    drivers/char: support up to 1M BAR0 of xhci
    
    AMD's XHCI has BAR0 of 1M (compared to 64K on Intel). Map it as a whole
    (reserving more space in the fixmap). Make fixmap slot conditional on
    CONFIG_XHCI.
    
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit dd54ea500be80f347402d75f3e4e7061e7db78d2
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:38 2022 +0100

    docs: add documentation for generic virtio devices
    
    This patch updates xl.cfg man page with details of generic Virtio device
    related information.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit 953efa0b7b188458b18e4a727f3b1dfa77eacb61
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:25 2022 +0100

    xl: add support to parse generic virtio device
    
    This patch adds basic support for parsing generic Virtio backend.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 43ba5202e2eebd350161a8db674bf928c3e6f859
Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Wed Dec 14 12:03:09 2022 +0100

    libxl: add support for generic virtio device
    
    This patch adds basic support for configuring and assisting generic
    Virtio backends, which could run in any domain.
    
    An example of domain configuration for mmio based Virtio I2C device is:
    virtio = ["type=virtio,device22,transport=mmio"]
    
    To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
    region) and pass them to the backend and update guest device-tree to
    create a DT node for the Virtio devices.
    
    Add special support for I2C and GPIO devices, which require the
    "compatible" DT property to be set, among other device specific
    properties. Support for generic virtio devices is also added, which just
    need a MMIO node but not any special DT properties, for such devices the
    user needs to pass "virtio,device" in the "type" string.
    
    The parsing of generic virtio device configurations will be done in a
    separate commit.
    
    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
    Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

commit db75092aea988b4be78c8273626f2ee40b4012b8
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:21 2022 +0100

    tools/xenstore: enhance hashtable implementation
    
    Today it is possible to set a flag when calling hashtable_destroy() in
    order to specify whether the data associated with the hashtable entries
    should be freed or not. The keys of the entries will always be freed.
    
    Change that by replacing the flag of hashtable_destroy() by two flags
    for create_hashtable() which will specify whether the data and/or the
    key of each entry should be freed or not.
    
    This will enable users to have the key e.g. as part of the data.
    
    Add a new function hashtable_iterate() to call a user specified
    function for each entry in the hashtable.
    
    Add new primes to the primetable in order to support smaller sizes of
    the hashtable. The primes are selected according to:
    
    https://planetmath.org/goodhashtableprimes
    
    Update the URL in the source as the old one wasn't correct any longer.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit bb65cbd81caaaaf325d23f63b4c2165960563459
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:02:04 2022 +0100

    tools/xenstore: preserve errno across corrupt()
    
    Let corrupt() preserve errno in order to be able to simplify error
    handling in future.
    
    This is rather easy as the errno value when entering corrupt() is
    saved already.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 6a0d1914f0b19742436367a0019602992573bd4b
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Dec 14 12:01:47 2022 +0100

    tools/xenstore: let tdb_logger() preserve errno
    
    tdb_logger() is called by TDB for logging errors. As errno is checked
    often after doing the logging, tdb_logger() should preserve errno.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>

commit 8d7acf3f7d8d2555c78421dced45bc49f79ae806
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Wed Dec 14 12:00:35 2022 +0100

    EFI: relocate the ESRT when booting via multiboot2
    
    This was missed in the initial patchset.
    
    Move efi_relocate_esrt() up to avoid adding a forward declaration.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 11:40:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 11:40:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463328.721496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5mbY-0000L9-HF; Thu, 15 Dec 2022 11:40:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463328.721496; Thu, 15 Dec 2022 11:40:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5mbY-0000L2-Dz; Thu, 15 Dec 2022 11:40:48 +0000
Received: by outflank-mailman (input) for mailman id 463328;
 Thu, 15 Dec 2022 11:40:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5mbX-0000Ko-4k; Thu, 15 Dec 2022 11:40:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5mbX-0000Zv-2L; Thu, 15 Dec 2022 11:40:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5mbW-0004UJ-TE; Thu, 15 Dec 2022 11:40:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5mbW-0006Nu-Sk; Thu, 15 Dec 2022 11:40:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ifCgj8hcSU6V6IR4r2tyPbOk/tL3g4glTsnwIIzxKvk=; b=IGI6MkQAM6GPgJY/Po7mhLpAJG
	/lCbj3cxGfOtz79cF4zS7ghI6z0ITuRum5UWna20B2YE7MhoC39EoWp+aTEHRp/pKYNtyKO12rRL3
	0R6691VlAq4r57+qNdEhqqQVi0yoe6ASkoKgtWprQT8JWnCLZP9CI5Or5Ck95rF2tLWk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175263-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175263: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=3e3f5bb21c0a2c1368c43713cf7f4b51097259af
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 11:40:46 +0000

flight 175263 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175263/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 3e3f5bb21c0a2c1368c43713cf7f4b51097259af
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    0 days
Failing since        175214  2022-12-14 18:42:16 Z    0 days    7 attempts
Testing same since   175263  2022-12-15 09:40:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 3e3f5bb21c0a2c1368c43713cf7f4b51097259af
Author: Adam Dunlap <acdunlap@google.com>
Date:   Sat Dec 10 05:04:16 2022 +0800

    OvmfPkg/PlatformPei: Validate SEC's GHCB page
    
    When running under SEV-ES, a page of shared memory is allocated for the
    GHCB during the SEC phase at address 0x809000. This page of memory is
    eventually passed to the OS as EfiConventionalMemory. When running
    SEV-SNP, this page is not PVALIDATE'd in the RMP table, meaning that if
    the guest OS tries to access the page, it will think that the host has
    voilated the security guarantees and will likely crash.
    
    This patch validates this page immediately after EDK2 switches to using
    the GHCB page allocated for the PEI phase.
    
    This was tested by writing a UEFI application that reads to and writes
    from one byte of each page of memory and checks to see if a #VC
    exception is generated indicating that the page was not validated.
    
    Fixes: 6995a1b79bab ("OvmfPkg: Create a GHCB page for use during Sec phase")
    
    Signed-off-by: Adam Dunlap <acdunlap@google.com>
    Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>

commit 01c0d3c0d508b8c1b41fd58e2ec565b40ea000ca
Author: Min M Xu <min.m.xu@intel.com>
Date:   Wed Dec 14 15:14:19 2022 +0800

    OvmfPkg/SecTpmMeasurementLib: Fix the mapping error of PCR and RTMR index
    
    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4179
    
    TDVF has the feature to do RTMR measurement in SEC phase. In the same time
    it builds a GUID hob which carries the hash value of the measurement so
    that in DXE phase a td event can be created based on this GUID Hob. There
    is a mapping error between TPM PCR index and RTMR index according to UEFI
    2.10. That PCR6 is missing in the mapping. This patch fixes this issue.
    
    Cc: Erdem Aktas <erdemaktas@google.com> [ruleof2]
    Cc: James Bottomley <jejb@linux.ibm.com> [jejb]
    Cc: Jiewen Yao <jiewen.yao@intel.com> [jyao1]
    Cc: Tom Lendacky <thomas.lendacky@amd.com> [tlendacky]
    Cc: Arti Gupta <ARGU@microsoft.com>
    Signed-off-by: Min Xu <min.m.xu@intel.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

commit fb91d6cbd0cff704586c4cadbef870acef9c52ef
Author: Min M Xu <min.m.xu@intel.com>
Date:   Wed Dec 14 15:14:18 2022 +0800

    OvmfPkg/TdTcg2Dxe: Fix the mapping error between PCR index and MR index
    
    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4179
    
    According to UEFI Spec 2.10 it is supposed to return the mapping from PCR
    index to CC MR index:
    //
    // In the current version, we use the below mapping for TDX:
    //
    // TPM PCR Index | CC Measurement Register Index | TDX-measurement register
    // -----------------------------------------------------------------------
    // 0             |   0                           |   MRTD
    // 1, 7          |   1                           |   RTMR[0]
    // 2~6           |   2                           |   RTMR[1]
    // 8~15          |   3                           |   RTMR[2]
    
    In the current implementation TdMapPcrToMrIndex returns the index of RTMR,
    not the MR index.
    
    After fix the spec unconsistent, other related codes are updated
    accordingly.
    1) The index of event log uses the input MrIndex.
    2) MrIndex is decreated by 1 before it is sent for RTMR extending.
    
    Cc: Erdem Aktas <erdemaktas@google.com> [ruleof2]
    Cc: James Bottomley <jejb@linux.ibm.com> [jejb]
    Cc: Jiewen Yao <jiewen.yao@intel.com> [jyao1]
    Cc: Tom Lendacky <thomas.lendacky@amd.com> [tlendacky]
    Cc: Arti Gupta <ARGU@microsoft.com>
    Reported-by: Arti Gupta <ARGU@microsoft.com>
    Signed-off-by: Min Xu <min.m.xu@intel.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

commit 19f7c63ea978c5a4ef9345b9bf4995dcd48fa328
Author: Min M Xu <min.m.xu@intel.com>
Date:   Wed Dec 14 15:14:17 2022 +0800

    OvmfPkg/TdTcg2Dxe: Fix incorrect protocol and structure version
    
    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4184
    
    According to the Uefi spec 2.10 Section 38.2.2.
    EFI_CC_MEASUREMENT_PROTOCOL.GetCapability, the minor version of
    StructureVersion and ProtocolVersion should be 0.
    
    Cc: Erdem Aktas <erdemaktas@google.com> [ruleof2]
    Cc: James Bottomley <jejb@linux.ibm.com> [jejb]
    Cc: Jiewen Yao <jiewen.yao@intel.com> [jyao1]
    Cc: Tom Lendacky <thomas.lendacky@amd.com> [tlendacky]
    Cc: Arti Gupta <ARGU@microsoft.com>
    Reported-by: Arti Gupta <ARGU@microsoft.com>
    Signed-off-by: Min Xu <min.m.xu@intel.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

commit 44fc90eb0ea7299abc79577db55aa6257b46b7ae
Author: devel@edk2.groups.io <devel@edk2.groups.io>
Date:   Wed Nov 30 15:02:15 2022 -0800

    UnitTestFrameworkPkg/UnitTestLib: Print expected Status on ASSERT fail
    
    Update the UnitTestAssertStatusEqual error message to print out the
    expected value in addition to the seen value.
    
    Signed-off-by: Jeshua Smith <jeshuas@nvidia.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>

commit cda98df16228970dcf9a4ce2af5368219711b4b0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:09 2022 +0100

    OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported
    
    Remove global variables, store the state in PlatformInfoHob instead.
    Probing for fw_cfg happens on first use, at library initialization
    time the Hob might not be present yet.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 81bbc1452c972218f071cd4a8f5899df974b1dae
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:08 2022 +0100

    OvmfPkg/QemuFwCfgLib: rewrite fw_cfg probe
    
    Move the code to a new QemuFwCfgProbe() function.  Use direct Io*() calls
    instead of indirect QemuFwCfg*() calls to make sure we don't get
    recursive calls.  Also simplify CC guest detection.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit e59747bd8246135faeecc18879d62db66a6acfc2
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:07 2022 +0100

    OvmfPkg/DebugLibIoPort: use Rom version for PEI
    
    This variant does not use global variables.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit f6a196c7eb34affff0cfe1864e126953096885e1
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:06 2022 +0100

    OvmfPkg/PlatformPei: remove mFeatureControlValue
    
    Use PlatformInfoHob->FeatureControlValue instead.
    OnMpServicesAvailable() will find PlatformInfoHob using
    GetFirstGuidHob() and pass a pointer to the WriteFeatureControl
    callback.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 862614e2544997c848fab7388733774ae0ea92d8
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:05 2022 +0100

    OvmfPkg/PlatformPei: remove mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable.  Let
    BuildPlatformInfoHob() allocate and return PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 4bc2c748516e5c4a8bb86093cd5e1b80a9f35c0f
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:04 2022 +0100

    OvmfPkg/PlatformPei: Verification: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in S3Verification() and
    Q35BoardVerification() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 7dbb8a24d1a3403f85d959bc1234b9f4a92bfbf0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:03 2022 +0100

    OvmfPkg/PlatformPei: NoExec: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in NoexecDxeInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit cc6efda7770b8cabea3ae8c6054d47c4a8e229c3
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:02 2022 +0100

    OvmfPkg/PlatformPei: MemTypeInfo: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in MemTypeInfoInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 27874a382c38a95d3ab613eebd35c152ca9b3897
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:01 2022 +0100

    OvmfPkg/PlatformPei: PeiMemory: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PublishPeiMemory()
    and GetPeiMemoryCap() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 00743d144bc5b643e9323ad66f16cb48cf338705
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:00 2022 +0100

    OvmfPkg/PlatformPei Q35 SMM helpers: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in
    Q35TsegMbytesInitialization() and
    Q35SmramAtDefaultSmbaseInitialization() ) functions.
    Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 9d9d15b42a5e13bb18729da0f608c629aa274e80
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:59 2022 +0100

    OvmfPkg/PlatformPei: PeiFv: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PeiFvInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 78c373f2a5273af00b23b55d3e8c41583310cfb6
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:58 2022 +0100

    OvmfPkg/PlatformPei: AmdSev: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in AmdSevInitialize()
    and AmdSevEsInitialize() functions.  Pass a pointer to the
    PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 916825b84f23b691dcce09a57625fb8fcb0cbb48
Author: Jeff Brasen <jbrasen@nvidia.com>
Date:   Tue Nov 15 11:01:06 2022 -0700

    DynamicTablesPkg: SSDT _LPI revision is incorrect
    
    _LPI Revision should be 0 per the ACPI 6.5 specification.
    "The revision number of the _LPI object. Current revision is 0."
    
    Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
    Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 11:48:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 11:48:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463343.721506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5mjM-0001Uf-G3; Thu, 15 Dec 2022 11:48:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463343.721506; Thu, 15 Dec 2022 11:48:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5mjM-0001UY-DN; Thu, 15 Dec 2022 11:48:52 +0000
Received: by outflank-mailman (input) for mailman id 463343;
 Thu, 15 Dec 2022 11:48:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5mjL-0001US-DL
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 11:48:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5mjK-0000sx-Ti; Thu, 15 Dec 2022 11:48:50 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=[10.85.36.201])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5mjK-00089F-Ld; Thu, 15 Dec 2022 11:48:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=qnLBV7KKs6q81TdD/t1q4AMwJ45czQCYUMDDWXhiV30=; b=DI8IyLJaoRlSaQ/PIoEfb/YNrh
	IBrWiJEZ7t3TH2UfE0MGPnEJgkCJw4rLATyyWjnk8RqHTLV5jzKXHpdYIuKh0iyWVUdYEVSKh8HX8
	LTnLe4suL09YmVBrOkc2dWIHFxgoDHjpMEEfn/21D12JQbgMJ/NR6AupT76uX6iIgM7A=;
Message-ID: <b457e07f-8ec6-66b8-dad6-15125b9c9151@xen.org>
Date: Thu, 15 Dec 2022 11:48:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v3 00/18] xen/arm: Don't switch TTBR while the MMU is on
Content-Language: en-US
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, Luca.Fancellu@arm.com,
 Julien Grall <jgrall@amazon.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221212095523.52683-1-julien@xen.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221212095523.52683-1-julien@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 12/12/2022 09:55, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> Hi all,
> 
> Currently, Xen on Arm will switch TTBR whilst the MMU is on. This is
> similar to replacing existing mappings with new ones. So we need to
> follow a break-before-make sequence.
> 
> When switching the TTBR, we need to temporary disable the MMU
> before updating the TTBR. This means the page-tables must contain an
> identity mapping.
> 
> The current memory layout is not very flexible and has an higher chance
> to clash with the identity mapping.
> 
> On Arm64, we have plenty of unused virtual address space Therefore, we can
> simply reshuffle the layout to leave the first part of the virtual
> address space empty.
> 
> On Arm32, the virtual address space is already quite full. Even if we
> find space, it would be necessary to have a dynamic layout. So a
> different approach will be necessary. The chosen one is to have
> a temporary mapping that will be used to jumped from the ID mapping
> to the runtime mapping (or vice versa). The temporary mapping will
> be overlapping with the domheap area as it should not be used when
> switching on/off the MMU.
> 
> The Arm32 part is not yet addressed and will be handled in a follow-up
> series.
> 
> After this series, most of Xen page-table code should be compliant
> with the Arm Arm. The last two issues I am aware of are:
>   - domheap: Mappings are replaced without using the Break-Before-Make
>     approach.
>   - The cache is not cleaned/invalidated when updating the page-tables
>     with Data cache off (like during early boot).
> 
> The long term plan is to get rid of boot_* page tables and then
> directly use the runtime pages. This means for coloring, we will
> need to build the pages in the relocated Xen rather than the current
> Xen.
> 
> For convience, I pushed a branch with everything applied:
> 
> https://xenbits.xen.org/git-http/people/julieng/xen-unstable.git
> branch boot-pt-rework-v3
> 
> Cheers,
> 
> Julien Grall (18):
>    xen/arm: Enable use of dump_pt_walk() early during boot

[...]

>    xen/arm: mm: Allow xen_pt_update() to work with the current root table
>    xen/arm: mm: Allow dump_hyp_walk() to work on the current root table

I have pushed those 3 patches because they are ready.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 12:38:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 12:38:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463379.721527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5nVc-0000RA-TG; Thu, 15 Dec 2022 12:38:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463379.721527; Thu, 15 Dec 2022 12:38:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5nVc-0000R3-P0; Thu, 15 Dec 2022 12:38:44 +0000
Received: by outflank-mailman (input) for mailman id 463379;
 Thu, 15 Dec 2022 12:38:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BWk7=4N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p5nVa-0000Qx-LH
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 12:38:42 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2058.outbound.protection.outlook.com [40.107.220.58])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 66b1edf0-7c75-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 13:38:40 +0100 (CET)
Received: from BN9PR03CA0768.namprd03.prod.outlook.com (2603:10b6:408:13a::23)
 by BN9PR12MB5291.namprd12.prod.outlook.com (2603:10b6:408:104::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Thu, 15 Dec
 2022 12:38:35 +0000
Received: from BN8NAM11FT055.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:13a:cafe::17) by BN9PR03CA0768.outlook.office365.com
 (2603:10b6:408:13a::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 12:38:35 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT055.mail.protection.outlook.com (10.13.177.62) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 12:38:35 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 06:38:34 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 06:38:33 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66b1edf0-7c75-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FefE7iR77SuSCleiPvRdQxvR9je6Y96y3CqEkQ3pG6dDIFV5rncHAxhw7Vez1J0EXo70PKbJ4QA35OGPGcYfLB8KoMpi2yO8+flW/v5Id4tJdhapU3LyBfo51NlzjIgOFOupHoYSjYY275cmXxKka4P0vAQ76vPVPfEGiLqt7UIv8mXrZrWdG8BIeI6epDQ/qA4y9vxdoVCJnMJXoQ3Sx2PmStPq7EwNVFg4/xsgmgOmT2JflS6Hg4mLLRNbqX2MD0d2wE9rQ7ecmixbQm1Q7IkAbepST0xpo9Q/UwETrO4ogPmlTTwUXO8PpBScOMCHKZ0b4h16h7hH9xW8/C2VfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cMKgISDRc9J9yaWWalrknuiSdDKhceDtSJerFxaajQo=;
 b=GOCiOaXGAJ/E9RPW5EVyN8QBr9ufoCLS3xyvrd+h6imJZIg/zzzt1KvdWBSBhM6ro+rkNzhBT4en5WfiiSevJg/UgEPay5Whcxke/SZhns/B+sqftcBZDS8jRsr69TmJJewJet3ulbBnww5LRZVxEu84lbLWCIyAkFdjPTOWeUMtE/b5Aj+xn4WmSsYjv9YZR/u+EYk+a0djnhuX1GpHGR/J2o3iJVislsbpCwycbH6tLaqv6aHndoHD/+WxEMyhcKpovYv3OMbN0JFP3uzqvDNfvpJSjaECaW8ainTKN/y/oDfLWMmsTrsNl7YPfDkmFg4GVwroZCT2ny1JlSi8XA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cMKgISDRc9J9yaWWalrknuiSdDKhceDtSJerFxaajQo=;
 b=aKKaVXX3KeD9SOuW/EzcyrVTqF2Ls8H0TAPQHbouAqfcFWYiQmTHKTKnxaPSWROzMPwAR13TdQhPHc2PjRNzh3qUhqLPk+yln3XmAySRVgVg1od5IWZIu/hbyniv80R+n3pjWTO/p4NEb/lQ69ArsqhXkPp4XN1VEOqnQZZ9Tqc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [XEN v2] xen/arm: Probe the entry point address of an uImage correctly
Date: Thu, 15 Dec 2022 12:38:26 +0000
Message-ID: <20221215123826.24145-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT055:EE_|BN9PR12MB5291:EE_
X-MS-Office365-Filtering-Correlation-Id: 99a9e509-6ff8-4322-f957-08dade99487b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8CDsVV2w9UPADXtmyK1DqCVprrDLRH5q3qQwVOihiHWVVpUogML9/F3R1d+Js5JbsyGuuoDgsztuobQ1gau+T22J9M07kbdwmi3ID98AGqV3wddzMwsARNd//olp5vEFDLcEmjAf0lsBWM2+wHepzRgINzyNukyefa9YkR5UQb7AtHZpNrKngqPKpDvjbBEFlb4gXFHo8lLVJn6RTuOom7IUB5nSAIU4VqaT61vjWqI7qXnQScxdRoRNZobjGQmDE3H23e4RMRQG0NCr/93UtdI/38kW2ZwZaOkoyatSR2r8NW8mWE4rLNFrsx2ULd1W2gYumpG15MKH+5QoGhS1dfrBKkUk0TFjnMvnWKYgQLhIHGrOEpZmGp3i1pkAAevhixTDOaTKjPa4bStxebO4H8h4I53ONQUTOG6RrTqeCY272J9vm1tpUe1e+dyaqq67N+q5Z1HTd00rK3CNbikohv5nIXxBUwDY4pKfK8VcI3q87exqpWTj9XujZHURs/kUiwggatiBXvgXLGrHUt1Cuiuvj3frL2aWusTMKsHY1cCh9KW7El4ypLQ0Nzux0E+Qk7lE7/Mo0I5Mf8LXIxyhNtDOPmHS2boL42bOoY30JRycbaKOVjyYubY06emv5VMS1O+cbFzSoqvuyr4DchfPB2GFWbABw3PXwx9/QhQfzqGa7zNlMX7fMMZqXWGgdEODnt3nnaZaAwxTvFPo1P5+duXAaxq20qN3crTE0yJ8+OafR3ixz5YahfuW/pz+AyI8Lt2BHhfFw8lGli/lyowqKYV0cryjT42ZubPUAPxkROU=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(39860400002)(346002)(136003)(451199015)(46966006)(36840700001)(40470700004)(5660300002)(86362001)(316002)(6916009)(54906003)(8936002)(36860700001)(8676002)(4326008)(70206006)(41300700001)(36756003)(70586007)(82310400005)(336012)(6666004)(47076005)(40460700003)(103116003)(186003)(1076003)(2616005)(478600001)(426003)(83380400001)(966005)(2906002)(26005)(356005)(40480700001)(81166007)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 12:38:35.3324
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 99a9e509-6ff8-4322-f957-08dade99487b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT055.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5291

Currently, kernel_uimage_probe() does not set info->zimage.start. As a
result, it contains the default value (ie 0). This causes,
kernel_zimage_place() to treat the binary (contained within uImage) as
position independent executable. Thus, it loads it at an incorrect address.

The correct approach would be to read "uimage.ep" and set
info->zimage.start. This will ensure that the binary is loaded at the
correct address. Also, it checks that the load address and entry address
are the same. The reason being we currently support non compressed images
for uImage header. And as seen in uboot sources(image_decomp(), case
IH_COMP_NONE), load address and entry address can be the same.

This behavior is applicable for both arm and arm64 platforms.

Earlier for arm32 and arm64 platforms, Xen was ignoring the entry point
address set in the uImage header. With this commit, Xen will use the
kernel entry point address as specified in the header. This makes the
behavior of Xen consistent with uboot for uimage headers.

A deviation from uboot behaviour is that we consider load address == 0x0,
to denote that the image supports position independent execution. This
is to make the behavior consistent across uImage and zImage.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---

Changes from v1:-
1. Added a check to ensure load address and entry address are the same.
2. Considered load address == 0x0 as position independent execution.
3. Ensured that the uImage header interpretation is consistent across
arm32 and arm64.

Some unanswered queries from v1 :-

Q1. "In non-statically allocated setup, a user doesn't know where the memory
for dom0/domU will be allocated.So I think this was correct to ignore the
address."
A. I am not sure the best way to handle this. Can we make the uImage probe
dependent on STATIC_MEMORY ? Currently, I have mentioned that user should
use load address = 0x0 if they want Xen to ignore it.

Q2. Zephyr or any other RTOS have different requirements, then we may need
to modify Xen and document it.
A. I will take it in a separate email/patch where we can list the
requirements for booting Zephyr.

 docs/misc/arm/booting.txt         | 11 ++++++++++-
 xen/arch/arm/include/asm/kernel.h |  2 +-
 xen/arch/arm/kernel.c             | 26 +++++++++++++++++++++++++-
 3 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt
index 3e0c03e065..872262686a 100644
--- a/docs/misc/arm/booting.txt
+++ b/docs/misc/arm/booting.txt
@@ -4,7 +4,13 @@ Booting Xen
 Xen follows the zImage protocol defined for 32-bit ARM Linux[1] and the
 Image protocol defined for ARM64 Linux[2].
 
-In both cases the recommendation to boot in HYP/EL2 mode is a strict
+Xen also supports the legacy image protocol[3] for 32-bit ARM and ARM64.
+For now, it supports images where load address is same as entry address.
+A deviation from uboot is that, Xen treats "load address == 0x0" as
+position independent execution. Thus, Xen will load such an image at an
+address it considers appropriate.
+
+In all cases the recommendation to boot in HYP/EL2 mode is a strict
 requirement for Xen.
 
 The exceptions to this on 32-bit ARM are as follows:
@@ -39,3 +45,6 @@ Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/t
 
 [2] linux/Documentation/arm64/booting.rst
 Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst
+
+[3] legacy format header
+Latest version: https://source.denx.de/u-boot/u-boot/-/blob/master/include/image.h#L315
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 5bb30c3f2f..ee69a47052 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -72,7 +72,7 @@ struct kernel_info {
 #ifdef CONFIG_ARM_64
             paddr_t text_offset; /* 64-bit Image only */
 #endif
-            paddr_t start; /* 32-bit zImage only */
+            paddr_t start;
         } zimage;
     };
 };
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 23b840ea9e..81ac945f5b 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -127,7 +127,7 @@ static paddr_t __init kernel_zimage_place(struct kernel_info *info)
     paddr_t load_addr;
 
 #ifdef CONFIG_ARM_64
-    if ( info->type == DOMAIN_64BIT )
+    if ( (info->type == DOMAIN_64BIT) && (info->zimage.start == 0) )
         return info->mem.bank[0].start + info->zimage.text_offset;
 #endif
 
@@ -223,6 +223,30 @@ static int __init kernel_uimage_probe(struct kernel_info *info,
     if ( len > size - sizeof(uimage) )
         return -EINVAL;
 
+    info->zimage.start = be32_to_cpu(uimage.ep);
+
+    /*
+     * Currently, we support uImage headers for uncompressed images only.
+     * Thus, it is valid for the load address and start address to be the
+     * same. This is consistent with the uboot behavior (Refer
+     * "case IH_COMP_NONE" in image_decomp()).
+     */
+    if ( info->zimage.start != be32_to_cpu(uimage.load) )
+    {
+        panic("Unable to support mismatching load address and entry address\n");
+        return -EINVAL;
+    }
+
+    /*
+     * While uboot considers 0x0 to be a valid load/start address, for Xen
+     * to mantain parity with zimage, we consider 0x0 to denote position
+     * independent image. That means Xen is free to load such an image at
+     * any valid address.
+     * Thus, we will print an appropriate warning.
+     */
+    if ( info->zimage.start == 0 )
+        printk(XENLOG_WARNING "No valid load address provided\n");
+
     info->zimage.kernel_addr = addr + sizeof(uimage);
     info->zimage.len = len;
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 13:31:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 13:31:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463393.721546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5oL1-0007hE-Oc; Thu, 15 Dec 2022 13:31:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463393.721546; Thu, 15 Dec 2022 13:31:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5oL1-0007h7-Lz; Thu, 15 Dec 2022 13:31:51 +0000
Received: by outflank-mailman (input) for mailman id 463393;
 Thu, 15 Dec 2022 13:31:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8lTo=4N=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p5oL0-0007h1-BJ
 for xen-devel@lists.xen.org; Thu, 15 Dec 2022 13:31:50 +0000
Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com
 [2607:f8b0:4864:20::102c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2921eb5-7c7c-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 14:31:49 +0100 (CET)
Received: by mail-pj1-x102c.google.com with SMTP id
 w4-20020a17090ac98400b002186f5d7a4cso2798623pjt.0
 for <xen-devel@lists.xen.org>; Thu, 15 Dec 2022 05:31:47 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 e5-20020a17090ada0500b0020ad53b5883sm3212132pjv.14.2022.12.15.05.31.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 15 Dec 2022 05:31:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2921eb5-7c7c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4hmaoQKS8SQdk7CQ+JO49wtIWp6z2c0zI9KuRQA7z6c=;
        b=Y+7zd78KY76Bzd+eA2UKYjiBO2PIW4m1H0mgmgZdUEBlBCT/hcSWVM0hUdGtIcccdz
         AKwAV9mUMkFfGKnVCOnW5xK+SUFjworSYHf5Z89HjVjqZ7b0BewFiVcRsh08TDAYNOre
         GwL+ObHEzbRoYzuQkOhjni0mqQXHEMpPk7kQOif736W9RryDWzl2qZOv9AtFJphZDvs+
         wRnJlA7yeivIdozPgsmKXYcJPI7eykHhAMoQCP0qEdQpRYE+acxCNZYfiG4Hr5t7E3Y4
         xROuEC0CzzzCth+QPtCS5uujWDs7yNTxSjHuVKISmyrtN0L34q4ekNE7CJKdpp9PutYj
         vE0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4hmaoQKS8SQdk7CQ+JO49wtIWp6z2c0zI9KuRQA7z6c=;
        b=crYPm96CmJPLFLoZzqzg5SV5DIr8Fkl55TV0a++afuVL2eG3dB2LXTXKIbRpBRh8kO
         KLayT8GR2e7Lc3siowYLrfTjMSdtPeuHggj/vnCY386qMl0ltjqE6byv4MbxnzkL+i+K
         a90r/PjjnPQ2qciigt7H61MrCfibiY3P4XvJRX82bZzkqO40YfOPo4Br2chCPaak1Bu1
         TsZdqZ345YvwbQJEwsXAXE+lwjvHdCfPp2F+nvI3CmEkUm2Iv17HkxXCqwUlx56yiuKL
         n/B/v9cHQVOKENbG2wk6ifYVTbTR4o79slQu0bWb3A2DFyEPITdiVmtr86icI7jehpbp
         W9GQ==
X-Gm-Message-State: ANoB5plv9fKJZ0EnNmvJrpXYyfvK5b4nNw20CQK37+7KO1syCvXVJka5
	qn9n3nJygXF6I4AQhzMI42Z7HwZ8tYKVFSza
X-Google-Smtp-Source: AA0mqf58blWXMce/Jot7EhsynkWA1JsXQ+cPVhFPEVoApoYoEpwkEgT6ztXPP1+TM0MKfjaFp4Mgkw==
X-Received: by 2002:a17:90a:fc85:b0:21a:b64:3488 with SMTP id ci5-20020a17090afc8500b0021a0b643488mr28772562pjb.44.1671111106264;
        Thu, 15 Dec 2022 05:31:46 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	osstest-admin@xenproject.org
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] libxl: virtio: Fix build error for 32-bit platforms
Date: Thu, 15 Dec 2022 19:01:40 +0530
Message-Id: <d4cf6539ff179e7ade820feadd8088f33da49196.1671111056.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
References: <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The field 'base' in 'struct libxl_device_virtio' is defined as uint64,
while we are printing it with '%lu', which is 32bit only 32-bit
platforms. And so generates a error like:

  libxl_internal.h:4388:51: error: format '%lu' expects argument of type 'long
  unsigned int', but argument 3 has type 'uint64_t' {aka 'long long unsigned
  int'} [-Werror=format=]

Fix the same by using PRIx64 instead.

Now that the base name is available in hexadecimal format, prefix it
with '0x' as well, which strtoul() also depends upon since base passed
is 0.

Fixes: 43ba5202e2ee ("libxl: add support for generic virtio device")
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
Couldn't test on 32-bit platforms yet, but works fine for 64 bit one.

 tools/libs/light/libxl_virtio.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virtio.c
index 6a38def2faf5..2217bda8a253 100644
--- a/tools/libs/light/libxl_virtio.c
+++ b/tools/libs/light/libxl_virtio.c
@@ -45,12 +45,12 @@ static int libxl__set_xenstore_virtio(libxl__gc *gc, uint32_t domid,
     const char *transport = libxl_virtio_transport_to_string(virtio->transport);
 
     flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->irq));
-    flexarray_append_pair(back, "base", GCSPRINTF("%lu", virtio->base));
+    flexarray_append_pair(back, "base", GCSPRINTF("0x%"PRIx64, virtio->base));
     flexarray_append_pair(back, "type", GCSPRINTF("%s", virtio->type));
     flexarray_append_pair(back, "transport", GCSPRINTF("%s", transport));
 
     flexarray_append_pair(front, "irq", GCSPRINTF("%u", virtio->irq));
-    flexarray_append_pair(front, "base", GCSPRINTF("%lu", virtio->base));
+    flexarray_append_pair(front, "base", GCSPRINTF("0x%"PRIx64, virtio->base));
     flexarray_append_pair(front, "type", GCSPRINTF("%s", virtio->type));
     flexarray_append_pair(front, "transport", GCSPRINTF("%s", transport));
 
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 13:33:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 13:33:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463401.721558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5oMH-0008Fs-2M; Thu, 15 Dec 2022 13:33:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463401.721558; Thu, 15 Dec 2022 13:33:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5oMG-0008Fl-Vv; Thu, 15 Dec 2022 13:33:08 +0000
Received: by outflank-mailman (input) for mailman id 463401;
 Thu, 15 Dec 2022 13:33:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8lTo=4N=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p5oMG-0008Dy-42
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 13:33:08 +0000
Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com
 [2607:f8b0:4864:20::1029])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 02181b45-7c7d-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 14:33:07 +0100 (CET)
Received: by mail-pj1-x1029.google.com with SMTP id u5so10461718pjy.5
 for <xen-devel@lists.xenproject.org>; Thu, 15 Dec 2022 05:33:07 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 r4-20020a170902be0400b001899007a721sm3782338pls.193.2022.12.15.05.33.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 15 Dec 2022 05:33:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02181b45-7c7d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=ERNcPpaHt27A3KXsgnjyvyM7JRvNOPf3IOcl1pzqcX4=;
        b=fTRmd3s570/f/V79vpsNkME8j5jTRtNt9SA9kfy9zH03jyUVEPyCRkYFtClocfuboA
         mzCymNERW2H9vNhy9G0o1lw5lTdd2aZaMWndeU/n+VouxoojzSms7uF2oSdzR8YGtHrl
         nSsr9DaPOsUF5AhOHocqg6OL4/CITOVFKN0xqdql9+CS2NQegniYUINhaqYxmV1LxHAp
         mTio0BPDmyUswD7gDziJhgBQueX1QohrF8I7i0/ppn1f7juK6b8ZXW8oeZ4Kc4qap9e2
         BEJEeqmFVb4YzhdDtqcwEL4HX2Q8HTO48qTF3WMfXvOvH7racRkM/ZbSmn8pLHZQOAOv
         B35Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ERNcPpaHt27A3KXsgnjyvyM7JRvNOPf3IOcl1pzqcX4=;
        b=IqnnyBayEEMtuZUgdVsCZknIQkgplYn9exFUdXcPaKhAs20JcXUeqHJ1C6PhcsrlhR
         j1UA4q6IoG4x/Z12SQmZ/TI0PxsSkMhFamgHsD3Zza3e0mvZxZJzh4klnipGncafC5zs
         GwIZnq+8rnzq7UEA7blUHgPYPCJfYHIeS4S1xaZ8UTK2eD19ZXlDETjcY7fPSPKoPTqW
         Kar0VTWwxKfN8VD9X9+C9ow1hNiGGplniSheRWeqTVXmwkGICw0VMkciGluf+DwY5FIJ
         1do5P/SpQ8YG+Xg9vrL5ffkwcGDrJsTdVu24Efx5sunj/7sEeiz0CyMJi000LRgLJ4lA
         A7TQ==
X-Gm-Message-State: ANoB5plMeK0vTBd9gNvXxeGn0Tgu1UrqEpvt4EnaMuJFRu8DUSV3U+vT
	MYHCiceUNDHZmrptEs/d2euTdg==
X-Google-Smtp-Source: AA0mqf61KLlQmhbaBCqx23LwD1qRqCHiTl8rty9zgehenSp7V4SZnFBSvKXTnVOL+/1iKRE/6UV4eg==
X-Received: by 2002:a17:903:20d4:b0:18f:aa96:d4a5 with SMTP id i20-20020a17090320d400b0018faa96d4a5mr12370745plb.69.1671111186011;
        Thu, 15 Dec 2022 05:33:06 -0800 (PST)
Date: Thu, 15 Dec 2022 19:03:03 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Julien Grall <julien@xen.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
	xen-devel@lists.xenproject.org,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [xen-unstable-smoke test] 175226: regressions - FAIL
Message-ID: <20221215133303.hlgm2hkzge3jh6zr@vireshk-i7>
References: <osstest-175226-mainreport@xen.org>
 <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>

On 15-12-22, 08:34, Julien Grall wrote:
> This build breakage was introduced by "libxl: add support for generic virtio
> device". %lu will likely want to be switched to PRIx64.
> 
> Viresh, we need to unblock OSStest (our CI) as soon as possible. So can you
> look at it and confirm the rest of the tools build on arm32?

I am trying 32 bit build for the first time today and still haven't
got it fully working. I have sent a patch though which shall fix
this issue, will keep on getting the 32 bit build up and running.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 13:49:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 13:49:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463412.721577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5obb-0001uy-FA; Thu, 15 Dec 2022 13:48:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463412.721577; Thu, 15 Dec 2022 13:48:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5obb-0001ur-CU; Thu, 15 Dec 2022 13:48:59 +0000
Received: by outflank-mailman (input) for mailman id 463412;
 Thu, 15 Dec 2022 13:48:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sQug=4N=citrix.com=prvs=341112f0b=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p5oba-0001ul-MA
 for xen-devel@lists.xen.org; Thu, 15 Dec 2022 13:48:58 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 367fbf9b-7c7f-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 14:48:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 367fbf9b-7c7f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671112136;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=CWkI7iE9yBemO1kLNgBJyT0l05PwFxxBwsc5g8LXci8=;
  b=JZEZuX8J1igmAgz6vCCX0EMtjEVu6a+VtyITw6MAaXkZiVk9fvqNKfDM
   Urn903ZgGURL7GViMm+S+KWHv9v05GxsvEn+sDmo3YKYk1LR7AAD+jITT
   NdNLamDFfNVu7SJsVc7JdA89dTYY8TJ0kLcPwS6Rgn0bnlc53fZ3EBAWb
   k=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 91034039
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:Dt3tyqvCvGCR8ciSdH1jEIq+yefnVEJZMUV32f8akzHdYApBsoF/q
 tZmKTiAO6qOYWumeNwlb4y/oR5VupSByoQyQQZtry9kRHgW+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWHyiFJZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwKBs1Pz2Al8+NwqOnEPAwgMMJKNPbBdZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfAdMYH49tL7Aan3XejtEqFWTtOwv7nLa1gBZ27nxKtvFPNeNQK25m27J/
 zqdozyiU3n2MvSz6j6q31SU2tPItnP+aKIAD4Oa1fd11Qj7Kms7V0RNCArTTeOCoku3R9JeJ
 lFS4i0vt6k/7mSvT9/0RRr+q3mB1jYHR9deGus9rhqRw6DZ5wKYAGksXj9Fado28sQxQFQC3
 1uEj5XjCDppvbC9TXOb/62T6zSoNkA9MmsqdSICCwwf7LHLp4U+jQnTX81jOKGwh9zxXzr3x
 liiqSk9ivMTisoO2r6T+VHBiiir4J/TQWYd/RnNV36i9UZ1aZCNYJTt7VnA8e0GKIefR0OG+
 n8elKC27u8UCoqWvDeQW+hLF7asj96VPTuZjVNxEp0J8zW252XlbY1WpjZkKy9BLMcedCTpJ
 kzOvApLzJtSOnKwaulweY3ZI9ory6PtE8ijWe3VcsZJfrB1dQmO5iYoYlSft0jqi1MwnLojf
 J6XdMeqJWYXD7x9yzi7TPtb1qUkrgg82GfSSJbT3xmhl72EaxaopawtaQXUKLpjteXd/VuTo
 40329a2Jwt3UMbGMwTU4aMoL0EWd2FnA5fcr9ZnT7vWSuZ5I10JB/jUyLInXoVqmaVJi+vFl
 k2Atl9kJEnX3iOed1jTApx3QPa2BMsk8ypnVcA5FQzws0XPd7pD+0v2m3EfWbA8vNJuwvdvJ
 xXuU5XRW68fItgrFtl0UHUckGCAXE7z7e5tF3D/CNTaQ3KHb1KhxzMcVlGznBTi9wLu3SfEn
 5Wu1xnAXb0ITBl4AcDdZZqHlg3u5CBBwrwvDhGWeLG/nXkAFqAwc0Qdadduc6kxxejrnGPGh
 256/z9GzQUyn2PF2IaQ3v3Vx2tYO+B/AlBbDwHmAUWebEHnEp6Y6dYYCo6gJGmNPF4YDY3+P
 Y25OdmgaqxY9LuL2qIge4tWIVUWvIaw/OUHl107Qx0mrT2DU9tdH5VP5uEX3oUl+1OTkVHet
 p6nkjWCBYi0BQ==
IronPort-HdrOrdr: A9a23:ZyW2e6HK11bkWPGHpLqFrZHXdLJyesId70hD6qkRc20hTiX8ra
 vBoB1173/JYUkqKQ0dcLy7WZVoIkmshqKdn7NhX4tKNTOO0AGVxepZnOjfKlPbakjDHuU079
 YeT0AXYuedMbAQ5/yU3OF2eexM/PC3tJmNwcPi5zNVSwduApsQnTuQyGygYzNLrM0tP+tIKH
 JYjPA31gZIAk5nCviTNz0+Ru3eoN+OvIv+CCR2fiIP2U21lDa177y/OASZ2xp2aUIz/Z4StV
 LdlhD/5OGFu/W2oyWssFP73tBtgd78zdkGItKKhtN9EESLti+YIL55XqGEvnQOgMzH0idTrP
 D85y04Oth16TfqcnqrrQDL0w3tuQxekEPK+BujmH7+ps68ez4gEcpGgutiA2Hk13Y=
X-IronPort-AV: E=Sophos;i="5.96,247,1665460800"; 
   d="scan'208";a="91034039"
Date: Thu, 15 Dec 2022 13:48:41 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
CC: <xen-devel@lists.xen.org>, Juergen Gross <jgross@suse.com>, Julien Grall
	<julien@xen.org>, <osstest-admin@xenproject.org>, Vincent Guittot
	<vincent.guittot@linaro.org>, <stratos-dev@op-lists.linaro.org>, Alex
 =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, Mathieu Poirier
	<mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>, Oleksandr
 Tyshchenko <olekstysh@gmail.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] libxl: virtio: Fix build error for 32-bit platforms
Message-ID: <Y5slue6ujqmCscJd@perard.uk.xensource.com>
References: <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
 <d4cf6539ff179e7ade820feadd8088f33da49196.1671111056.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <d4cf6539ff179e7ade820feadd8088f33da49196.1671111056.git.viresh.kumar@linaro.org>

On Thu, Dec 15, 2022 at 07:01:40PM +0530, Viresh Kumar wrote:
> The field 'base' in 'struct libxl_device_virtio' is defined as uint64,
> while we are printing it with '%lu', which is 32bit only 32-bit
> platforms. And so generates a error like:
> 
>   libxl_internal.h:4388:51: error: format '%lu' expects argument of type 'long
>   unsigned int', but argument 3 has type 'uint64_t' {aka 'long long unsigned
>   int'} [-Werror=format=]
> 
> Fix the same by using PRIx64 instead.
> 
> Now that the base name is available in hexadecimal format, prefix it
> with '0x' as well, which strtoul() also depends upon since base passed
> is 0.
> 
> Fixes: 43ba5202e2ee ("libxl: add support for generic virtio device")
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
> Couldn't test on 32-bit platforms yet, but works fine for 64 bit one.
> 
>  tools/libs/light/libxl_virtio.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virtio.c
> index 6a38def2faf5..2217bda8a253 100644
> --- a/tools/libs/light/libxl_virtio.c
> +++ b/tools/libs/light/libxl_virtio.c
> @@ -45,12 +45,12 @@ static int libxl__set_xenstore_virtio(libxl__gc *gc, uint32_t domid,
>      const char *transport = libxl_virtio_transport_to_string(virtio->transport);
>  
>      flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->irq));
> -    flexarray_append_pair(back, "base", GCSPRINTF("%lu", virtio->base));
> +    flexarray_append_pair(back, "base", GCSPRINTF("0x%"PRIx64, virtio->base));

There is also PRIu64 that exist, which would be perfect to replace %u.
Could we use that instead?

I'd rather not have to think about which base is used for numbers in
xenstore. I can't find any hexadecimal numbers in xenstore for a simple
guest at the moment, so probably best to avoid adding one. And using
hexadecimal isn't needed to fix the build.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 13:54:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 13:54:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463422.721588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ogu-0003P3-5Z; Thu, 15 Dec 2022 13:54:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463422.721588; Thu, 15 Dec 2022 13:54:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ogu-0003Ow-32; Thu, 15 Dec 2022 13:54:28 +0000
Received: by outflank-mailman (input) for mailman id 463422;
 Thu, 15 Dec 2022 13:54:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=e6nk=4N=baylibre.com=mkorpershoek@srs-se1.protection.inumbo.net>)
 id 1p5ogs-0003Oq-K2
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 13:54:26 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb422604-7c7f-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 14:54:24 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 k22-20020a05600c1c9600b003d1ee3a6289so1885703wms.2
 for <xen-devel@lists.xenproject.org>; Thu, 15 Dec 2022 05:54:24 -0800 (PST)
Received: from localhost ([82.66.159.240]) by smtp.gmail.com with ESMTPSA id
 w23-20020a05600c099700b003d1de805de5sm5632729wmp.16.2022.12.15.05.54.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 15 Dec 2022 05:54:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb422604-7c7f-11ed-8fd3-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=baylibre-com.20210112.gappssmtp.com; s=20210112;
        h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
         :from:from:to:cc:subject:date:message-id:reply-to;
        bh=9OTgqMJ72hTY8DmgwqYKfCFn5Uuqu5CGzMqc6diHDoY=;
        b=uRvXA3sWZXvyIXrliOdhwK6HbALAYO1yJfHGmadQChubshMyKVuUMe1LaRyVZT/p6g
         vD2RwRQVrzQUTjhNkNbDq3VU6SmxfYEJc5woUO4YwpxrZJ+gvCjzWoRQLihCNmre8M6u
         I+Pfo122gPGAO3HQHXnpaJuuuPb7fFOB7TihTG6uEWHvXMtMN4wOs9Mmkg1vdU5oR26O
         fdcp+P/UxjHHsyZbh2Qww9sA6XIRYc6RKkpgI+ggCB0Xb3E0L8CjT5GXOiE7ERlWxpik
         LQ47MaHFDob5Pzq3mfuoa4BXA0TIB8xpBOMytHBvQmZBizGh0iUo+FQOdRXV3nvnAK19
         JAjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
         :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9OTgqMJ72hTY8DmgwqYKfCFn5Uuqu5CGzMqc6diHDoY=;
        b=ba0JTQOjEc/ZbGrd1JsxUIIR8dmcB4wmJtl3L7l4A0kCiN/xwuyCzgTZZ6wzjSnMvm
         2IhdWGCHj978RllDTMnQ69locCk7QEmrBsmdZOlplCAhyYXqsN7xYRBZvKhP0UW4hxZE
         Ghj2RhSjFAkhEyfhLZMFlpo2zTAKyV9bJ00ce1yuElddzQgiKMKgclX/nyts03SASM4s
         fdOYrSJanROLeB6dTIUIAT0+yi7c9WC76LjzvsrWMQCtkZHWPdJ0rE/mm1qZQxfDvBcr
         YB4yG5QadQpInX5G33PFZI6lIBc71x5HkZbdY+BzgB1VnoRdCHkOMYGgK2igWUS5f0/1
         z94A==
X-Gm-Message-State: ANoB5pmldjv+dNlit4USupAP+VUbOjlaDVilSNBHbG/POBQaiImZASv+
	R1y0TItMkmR+h6YV54TcwjTeZg==
X-Google-Smtp-Source: AA0mqf7JVIcTPYdeX+DwIlk55rlpMShtycDHmgZrVZxgWpoACaOHyPw1OWw+dIhhtCWJetqZGFJ0Vg==
X-Received: by 2002:a05:600c:3c92:b0:3cf:a851:d2f2 with SMTP id bg18-20020a05600c3c9200b003cfa851d2f2mr22167012wmb.21.1671112463881;
        Thu, 15 Dec 2022 05:54:23 -0800 (PST)
From: Mattijs Korpershoek <mkorpershoek@baylibre.com>
To: Jason Andryuk <jandryuk@gmail.com>, linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
 Phillip Susi <phill@thesusis.net>, stable@vger.kernel.org, Dmitry Torokhov
 <dmitry.torokhov@gmail.com>, linux-input@vger.kernel.org
Subject: Re: [PATCH v2] Input: xen-kbdfront - drop keys to shrink modalias
In-Reply-To: <20221209142615.33574-1-jandryuk@gmail.com>
References: <20221209142615.33574-1-jandryuk@gmail.com>
Date: Thu, 15 Dec 2022 14:54:22 +0100
Message-ID: <87359gkc1d.fsf@baylibre.com>
MIME-Version: 1.0
Content-Type: text/plain

On Fri, Dec 09, 2022 at 09:26, Jason Andryuk <jandryuk@gmail.com> wrote:

> xen kbdfront registers itself as being able to deliver *any* key since
> it doesn't know what keys the backend may produce.
>
> Unfortunately, the generated modalias gets too large and uevent creation
> fails with -ENOMEM.
>
> This can lead to gdm not using the keyboard since there is no seat
> associated [1] and the debian installer crashing [2].
>
> Trim the ranges of key capabilities by removing some BTN_* ranges.
> While doing this, some neighboring undefined ranges are removed to trim
> it further.
>
> An upper limit of KEY_KBD_LCD_MENU5 is still too large.  Use an upper
> limit of KEY_BRIGHTNESS_MENU.
>
> This removes:
> BTN_DPAD_UP(0x220)..BTN_DPAD_RIGHT(0x223)
> Empty space 0x224..0x229
>
> Empty space 0x28a..0x28f
> KEY_MACRO1(0x290)..KEY_MACRO30(0x2ad)
> KEY_MACRO_RECORD_START          0x2b0
> KEY_MACRO_RECORD_STOP           0x2b1
> KEY_MACRO_PRESET_CYCLE          0x2b2
> KEY_MACRO_PRESET1(0x2b3)..KEY_MACRO_PRESET3(0xb5)
> Empty space 0x2b6..0x2b7
> KEY_KBD_LCD_MENU1(0x2b8)..KEY_KBD_LCD_MENU5(0x2bc)
> Empty space 0x2bd..0x2bf
> BTN_TRIGGER_HAPPY(0x2c0)..BTN_TRIGGER_HAPPY40(0x2e7)
> Empty space 0x2e8..0x2ff
>
> The modalias shrinks from 2082 to 1550 bytes.
>
> A chunk of keys need to be removed to allow the keyboard to be used.
> This may break some functionality, but the hope is these macro keys are
> uncommon and don't affect any users.
>
> [1] https://github.com/systemd/systemd/issues/22944
> [2] https://lore.kernel.org/xen-devel/87o8dw52jc.fsf@vps.thesusis.net/T/
>
> Cc: Phillip Susi <phill@thesusis.net>
> Cc: stable@vger.kernel.org
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>

> ---
>  drivers/input/misc/xen-kbdfront.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
>
> v2:
> Remove more keys: v1 didn't remove enough and modalias was still broken.
>
> diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c
> index 8d8ebdc2039b..4ecb579df748 100644
> --- a/drivers/input/misc/xen-kbdfront.c
> +++ b/drivers/input/misc/xen-kbdfront.c
> @@ -256,7 +256,14 @@ static int xenkbd_probe(struct xenbus_device *dev,
>  		__set_bit(EV_KEY, kbd->evbit);
>  		for (i = KEY_ESC; i < KEY_UNKNOWN; i++)
>  			__set_bit(i, kbd->keybit);
> -		for (i = KEY_OK; i < KEY_MAX; i++)
> +		/* In theory we want to go KEY_OK..KEY_MAX, but that grows the
> +		 * modalias line too long.  There is a gap of buttons from
> +		 * BTN_DPAD_UP..BTN_DPAD_RIGHT and KEY_ALS_TOGGLE is the next
> +		 * defined. Then continue up to KEY_BRIGHTNESS_MENU as an upper
> +		 * limit. */
> +		for (i = KEY_OK; i < BTN_DPAD_UP; i++)
> +			__set_bit(i, kbd->keybit);
> +		for (i = KEY_ALS_TOGGLE; i <= KEY_BRIGHTNESS_MENU; i++)
>  			__set_bit(i, kbd->keybit);
>  
>  		ret = input_register_device(kbd);
> -- 
> 2.38.1


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 13:58:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 13:58:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463433.721603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5okX-0004Fo-MU; Thu, 15 Dec 2022 13:58:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463433.721603; Thu, 15 Dec 2022 13:58:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5okX-0004Fh-Jd; Thu, 15 Dec 2022 13:58:13 +0000
Received: by outflank-mailman (input) for mailman id 463433;
 Thu, 15 Dec 2022 13:58:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5okV-0004F6-MZ; Thu, 15 Dec 2022 13:58:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5okV-0003o4-Lr; Thu, 15 Dec 2022 13:58:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5okV-00051g-CW; Thu, 15 Dec 2022 13:58:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5okV-00054c-C4; Thu, 15 Dec 2022 13:58:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5IQ37ZK8df38NX+vjMtpQsn+D5UN1oaAYy4zhHZOcaE=; b=QQ4P291fj+BpK6mLwfLwEdmlnP
	MkntTLt84Ri64GTrSYEhGTJrrXFHmWy8GKo5Bhvri/UD9qc2ocR0v1QtTMlzqaawwiRtXMyLPkl4B
	wWgpXHFIU0O52JYQ+hNzBgV1lmH8SZpbTNPH4nfr79JYfu8op5CvQVnpOM3jWPU7+QLE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175272-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175272: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=88168c418c3bde7d51797e7cf875d528a8aa0eb1
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 13:58:11 +0000

flight 175272 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175272/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  88168c418c3bde7d51797e7cf875d528a8aa0eb1
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    1 days
Failing since        175199  2022-12-14 12:01:52 Z    1 days   12 attempts
Testing same since   175272  2022-12-15 12:03:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien@xen.org>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 431 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 13:58:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 13:58:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463437.721613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5oko-0004gM-UV; Thu, 15 Dec 2022 13:58:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463437.721613; Thu, 15 Dec 2022 13:58:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5oko-0004gF-Rx; Thu, 15 Dec 2022 13:58:30 +0000
Received: by outflank-mailman (input) for mailman id 463437;
 Thu, 15 Dec 2022 13:58:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sQug=4N=citrix.com=prvs=341112f0b=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p5okn-0004Y6-73
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 13:58:29 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c17a077-7c80-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 14:58:28 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c17a077-7c80-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671112708;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=Iy3wqSszruMtIFzyZkL9309ypW8PeGzxBiemXBA8rgQ=;
  b=UZ8LzD9cLBp7aO8m7T4kGm6bed30qUrxNKtzQh9mH6p0IMmw3kQ4ehFW
   Tqgu5dzRSNAaoEJY+X9yHe5weEWQnwaCKRnzYZOgXEIJR2oE7lBXwnWc9
   CwsV0CXAwlUAc9vmcW29HwZvKeruMW6y1LIYOZXNj3U3gFsTKYuTtrLZ/
   0=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 91035621
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:IE5SEahIW7KfvAIn8Xcx+9NfX161WxAKZh0ujC45NGQN5FlHY01je
 htvCmyGO62Na2XzLoh/bY3g9B8D6J7UydMyTgc9/ytgRi4b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5gaDzyV94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQ8Ey1cbwqAgd7uze+2V9tji+ksb8n0adZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJagx/5JEWxY9EglH2dSFYr1SE47I6+WHJwCR60aT3McqTcduPLSlQthfB/
 jmboT6gav0cHNCt7Dig1XaLv+uVzXryX94iLr+2yMc/1TV/wURMUUZLBDNXu8KRjVWlR99EN
 wkd9i8vq4Ai+UqzVN7/Uhak5nmesXY0S9dWVuE39gyJ4q7V+BqCQHgJSCZbb94rv9NwQiYlv
 neXnsnkHjwps6CQQGi18raSpCm1fy8PIgcqZzIATAYDy8nupsc0lB2nczp4OPfr1JuvQ2i2m
 m3U6nhl71kOsSIV/4GA4AHGmTGqmsDEEwMo1Arac23m7hwsMeZJeLeUwVTc6P9BKqOQQV+Ao
 GUIlqCi0QweMX2evHfTGbtQRdlF897AaWSB2gA3Q/HN4hz3oxaekZZsDCaSzauDGuINYnfXb
 UDaomu9D7cDbSLxPcebj29cYvnGLJQM9/y/Dpg4jfIUOPCdkTNrGwkwDXN8J0i3zCARfVgXY
 P93i/qEA3cAErhAxzGrXeob2rJD7nlgmjqLGcqlkkX9j+D2iJuppVEtagPmggcRtfPsneko2
 4wHa5viJ+t3DoUSnRU7AaZMdAtXfBDX9Lj9qtBNd/7rH+aVMDhJNhMl+pt4I9YNt/0Mxo/1E
 oSVBhcwJKzX2SeWdm1nqxlLNNvSYHqIhSlmYnd2YA/xhCdLjETGxP53SqbbtIIPrIRLpcOYh
 dFcEylcKpyjkgj6xgk=
IronPort-HdrOrdr: A9a23:yb/RcaA82ExBgHnlHejpsceALOsnbusQ8zAXPiFKOGlom6mj/K
 6TdZsgtSMc9wxhJE3I9ergBEDiewKuyXcK2/hyAV7KZmCP0ldAR7sSjrcKrQeQfhEX/YZmpN
 hdm8AVMrHN5TMRt6nHCMbTKbsd6ejCyYTtodr3i05qSwQCUdAT0++6YDzrbHGfgGN9dOoE/F
 /33Ls3m9PaQwVyUu2LQkMdWvTFpZnijYuOW29+OzcXrDOWiC+u6vrQDxic034lIk5y6IZny3
 HBjwv6ooKqt/3T8G6660bjq65OncfnyJ9kGsuBkaEuW1PRozftXp1lR7qB+AoUjYiUmS4Xue
 iJmQ4kI8Nwr0ncZX64ujzk3wWI6kdU11bSjWWAhGflo4jHSCkhC8xH7LgpCCfk1w==
X-IronPort-AV: E=Sophos;i="5.96,247,1665460800"; 
   d="scan'208";a="91035621"
Date: Thu, 15 Dec 2022 13:58:16 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
CC: Julien Grall <julien@xen.org>, osstest service owner
	<osstest-admin@xenproject.org>, <xen-devel@lists.xenproject.org>
Subject: Re: [xen-unstable-smoke test] 175226: regressions - FAIL
Message-ID: <Y5sn+FgartHoFgnu@perard.uk.xensource.com>
References: <osstest-175226-mainreport@xen.org>
 <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
 <20221215133303.hlgm2hkzge3jh6zr@vireshk-i7>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20221215133303.hlgm2hkzge3jh6zr@vireshk-i7>

On Thu, Dec 15, 2022 at 07:03:03PM +0530, Viresh Kumar wrote:
> On 15-12-22, 08:34, Julien Grall wrote:
> > This build breakage was introduced by "libxl: add support for generic virtio
> > device". %lu will likely want to be switched to PRIx64.
> > 
> > Viresh, we need to unblock OSStest (our CI) as soon as possible. So can you
> > look at it and confirm the rest of the tools build on arm32?
> 
> I am trying 32 bit build for the first time today and still haven't
> got it fully working. I have sent a patch though which shall fix
> this issue, will keep on getting the 32 bit build up and running.

You could just use our containers (that Gitlab CI uses) and run
something like that:

    CONTAINER=registry.gitlab.com/xen-project/xen/debian:unstable-i386 automation/scripts/containerize env XEN_TARGET_ARCH=x86_32 debug=n CC=gcc CXX=g++ automation/scripts/build

That would be something similar to what Gitlab CI is running.
And to get a shell:
    CONTAINER=registry.gitlab.com/xen-project/xen/debian:unstable-i386 automation/scripts/containerize

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 14:11:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 14:11:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463452.721625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5oxg-0007Yg-5Q; Thu, 15 Dec 2022 14:11:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463452.721625; Thu, 15 Dec 2022 14:11:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5oxg-0007YZ-1L; Thu, 15 Dec 2022 14:11:48 +0000
Received: by outflank-mailman (input) for mailman id 463452;
 Thu, 15 Dec 2022 14:11:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q86o=4N=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1p5oxd-0007YT-Ra
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 14:11:46 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2080.outbound.protection.outlook.com [40.107.223.80])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 657c8db7-7c82-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 15:11:42 +0100 (CET)
Received: from DS7PR03CA0118.namprd03.prod.outlook.com (2603:10b6:5:3b7::33)
 by IA1PR12MB8406.namprd12.prod.outlook.com (2603:10b6:208:3da::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Thu, 15 Dec
 2022 14:11:40 +0000
Received: from DM6NAM11FT029.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3b7:cafe::a9) by DS7PR03CA0118.outlook.office365.com
 (2603:10b6:5:3b7::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 14:11:40 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT029.mail.protection.outlook.com (10.13.173.23) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 14:11:39 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 08:11:39 -0600
Received: from [192.168.137.15] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 15 Dec 2022 08:11:38 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 657c8db7-7c82-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fZIixFTJezEdTkszbGje2oSPAZ5EzqOW6UPtlrLzxyYQtfXyqCQ5x/7tjsDI/NG1EDMlgsX6LTi1CSTCPp2chNnpdXD+PhWLUPJcj2bOKVCEabTH9ii5c6Tvg/2CoOyoCHhX5jV+vcZ+FlXhIMyXLldduGqELeH/e21JPKp6t86do7BTAoaXYC9+W+VmaCZeoqf6z+y2dBntEk8RI2bpavZWtiOchZtfKCY3P9u50W/AGVK7upDRE+ju/yeR9wZc+89kMH2ULejdqoxxl+2aw6myt1OuaqvEvcWqsox12rKncCpgnzjjdCesHJFaIOp5J9eBq5j4u1Jh++TPgfxu0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jNVfxjfHJSNLJATCzMSqQBCV7zGKI0OdeLeko8mZFbg=;
 b=K4ksxnFx9OxE68+KZ5sK0Sizyr+Bb2Ih4VnQ/S9r6SE6enuEvUp4NPdi5tfXnJuf1bsLmVw77uLI6jRXIqea/WLFgJITskhsPCrGJWDXyW7dlMQjuFiTfrY9ZKN+b8CLX1jSH9kP0BwPjpYBUlboInahIPtc2BmuljCkxs9LXrL5g/uReeiVYgBndvGbTbbIFqWaNq5EN03I4Hu3C4kqNM2Mqt7/i/UAPCMiLBvZRN50/ocyaV1a93cQA5Ehg/ASr0lMjBc+HwNPTFK3UiofMiSSHH7EFOFiGPd8cwOVybZgItYnKmA7iL3mj9xKbHwVh1snAA+Bz9NGKxhe7aGBIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jNVfxjfHJSNLJATCzMSqQBCV7zGKI0OdeLeko8mZFbg=;
 b=dxGS+WZKLRZCAITvKbbxn3PjDEl8rkjQE1pXbn7DicdbQ/CvQHzrxVR6ZYP1b1gsDEsjKlhJbQGLxFLP32R5+Sv6917HS4a7unn64nnjU6qMrg6p5amCwhby1lgc+qI0e7H2j9ANcL3bbnCvZqmlCQu9XuEmMA3fy7GEn0dS2Cs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <41f62567-b05a-26b7-ace1-21745d61b729@amd.com>
Date: Thu, 15 Dec 2022 09:11:33 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [PATCH v2] xen/arm: smmuv3: mark arm_smmu_disable_pasid
 __maybe_unused
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: Bertrand Marquis <bertrand.marquis@arm.com>, Rahul Singh
	<rahul.singh@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221213181855.81713-1-stewart.hildebrand@amd.com>
 <423b32d1-90f1-2a0c-865c-24030a7dcdba@xen.org>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <423b32d1-90f1-2a0c-865c-24030a7dcdba@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT029:EE_|IA1PR12MB8406:EE_
X-MS-Office365-Filtering-Correlation-Id: c932e6da-3f06-45a9-e5ec-08dadea6492f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	H6+c25lEZ48dBvIASvLmH5nAkDYeAaurqMr8GeWjrrS2bbeSKbpXHqhhK3nfdIGR+FoJITa5u9SpH0RfydtGCUVGt+/V8ThcYD9UQdPl3bT8AErcxgTWMW75ZOHgsPs8+3JZ9zEnCiywQPURBckY99sVQftZkAYQY2Ew9CoW4rABq+dwSbk0wWNNYwww4raaOGlNA20Nx3NzkI7azl5ZJTIt7TCS/wIiUqqa+HNBzbNCXbQWt6hWUFKipn6nx3O3t2fKDfNmwFTxDK3VEo7d5aV/Cq2g8JBV3mID/Rdo9S7XFiGtdu9xHzQWzt5eOXh59dUhkTbANo8YMifF2/APdVufcQ9n7YRPagM+5hIZgrFlFwvMslGGdEOPbhDzan4aZZJKPYS8RE13eFF9VNm99DCB1VtxkNN+dQ8mvmwwgdu8qg5Jgxn6bj93fOL1lWZbAaQ8q6IXjvrR05QnIJHcR9f547IzARuzytZU6fe2jwCsHy4nHBqPGuEGoq8/gWLsnVsjDhXj/71tOdLM6Do2musflRdliwJkGCejbVM7BO888fa1KoO9W8ozoBbd0qUXtwXth4QjWv9b/1eLa5Z4AU7rbosL2XF3o+QizqXSxX2j56LVIoOYMmOD3MOPe9RcRryDpYBM8Mp3cdO4YZZqpKUaWYIC2FzrGmXS+Xso6LMZ6mU3N3TLr5Uwrae7OomUPTH93Jy3f9rWFDTGFzrAJkc/HyaVc2Fo+i0jyFU+3KDRItryhng82vjdGAudB0BBUpSSnlLbO4nFmjKQzoEavg==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(39860400002)(346002)(376002)(451199015)(36840700001)(46966006)(40470700004)(316002)(54906003)(16576012)(110136005)(31686004)(40460700003)(478600001)(426003)(47076005)(6666004)(186003)(53546011)(70206006)(82740400003)(36756003)(26005)(336012)(4326008)(70586007)(2906002)(36860700001)(44832011)(81166007)(5660300002)(2616005)(8676002)(8936002)(86362001)(82310400005)(41300700001)(356005)(31696002)(40480700001)(83380400001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 14:11:39.9378
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c932e6da-3f06-45a9-e5ec-08dadea6492f
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT029.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8406

On 12/15/22 06:34, Julien Grall wrote:
> Hi Stewart,
> 
> I was about to commit this patch when I noticed the placement of the
> attribute doesn't match what we are usually doing in Xen.
> 
> On 13/12/2022 18:18, Stewart Hildebrand wrote:
>> When building with clang 12 and CONFIG_ARM_SMMU_V3=y, we observe the
>> following build error:
>>
>> drivers/passthrough/arm/smmu-v3.c:1408:20: error: unused function 'arm_smmu_disable_pasid' [-Werror,-Wunused-function]
>> static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
>>                     ^
>>
>> arm_smmu_disable_pasid is not currently called from anywhere in Xen, but
>> it is inside a section of code guarded by CONFIG_PCI_ATS, which may be
>> helpful in the future if the PASID feature is to be implemented. Add the
>> attribute __maybe_unused to the function.
>>
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> ---
>> v1->v2:
>> Add __maybe_unused attribute instead of removing
>> ---
>>   xen/drivers/passthrough/arm/smmu-v3.c | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
>> index 9c9f4630090e..0cdc862f96d1 100644
>> --- a/xen/drivers/passthrough/arm/smmu-v3.c
>> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
>> @@ -1376,6 +1376,7 @@ static int arm_smmu_enable_pasid(struct arm_smmu_master *master)
>>       return 0;
>>   }
>>
>> +__maybe_unused
>>   static void arm_smmu_disable_pasid(struct arm_smmu_master *master)
> 
> The attribute should be placed after "void". I.e.:
> 
> static void __maybe_unused arm_smmu_disable_pasid(...)

I had initially tried placing it exactly where you suggest in the first draft of v2 of this patch. However, the line would then exceed 72 characters (actual 81 characters):

static void __maybe_unused arm_smmu_disable_pasid(struct arm_smmu_master *master)

So I found myself juggling with how best to wrap it. How about a newline after the __maybe_unused attribute?

static void __maybe_unused
arm_smmu_disable_pasid(struct arm_smmu_master *master)

and similarly for the 2nd occurrence:

static inline void __maybe_unused
arm_smmu_disable_pasid(struct arm_smmu_master *master) { }

There is precedent for this style of wrapping in xen/common/sched/credit2.c.


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 14:51:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 14:51:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463462.721641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5pZh-0004hf-3w; Thu, 15 Dec 2022 14:51:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463462.721641; Thu, 15 Dec 2022 14:51:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5pZh-0004hY-16; Thu, 15 Dec 2022 14:51:05 +0000
Received: by outflank-mailman (input) for mailman id 463462;
 Thu, 15 Dec 2022 14:51:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5pZf-0004hS-N4
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 14:51:03 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5pZf-00057T-BA; Thu, 15 Dec 2022 14:51:03 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224] helo=[10.85.36.201])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5pZf-0007a5-3c; Thu, 15 Dec 2022 14:51:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=YmCIpVKc7fi4ZHga/+XquMyjfPzK1KoRyfUUbE86DAs=; b=f2prPIepMRjmZjyMYxCvRzkYw6
	MGnVBZ9VFme0CLQBWxE2xislLPv20tZelaZ8qo2O9L8fvmMZSZbTEYAKpEXsCw3WjnQdb43oCiBHe
	IJWThjJ6m8LqhBr821Jf4F70IMH2kvakP0CHYZdXjqx9C79rTsasACdnt/rtMQ6SugeM=;
Message-ID: <16bf9934-1f50-4694-253c-32fa35f0b097@xen.org>
Date: Thu, 15 Dec 2022 14:51:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v2] xen/arm: smmuv3: mark arm_smmu_disable_pasid
 __maybe_unused
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221213181855.81713-1-stewart.hildebrand@amd.com>
 <423b32d1-90f1-2a0c-865c-24030a7dcdba@xen.org>
 <41f62567-b05a-26b7-ace1-21745d61b729@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <41f62567-b05a-26b7-ace1-21745d61b729@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Stewart,

On 15/12/2022 14:11, Stewart Hildebrand wrote:
> On 12/15/22 06:34, Julien Grall wrote:
>> Hi Stewart,
>>
>> I was about to commit this patch when I noticed the placement of the
>> attribute doesn't match what we are usually doing in Xen.
>>
>> On 13/12/2022 18:18, Stewart Hildebrand wrote:
>>> When building with clang 12 and CONFIG_ARM_SMMU_V3=y, we observe the
>>> following build error:
>>>
>>> drivers/passthrough/arm/smmu-v3.c:1408:20: error: unused function 'arm_smmu_disable_pasid' [-Werror,-Wunused-function]
>>> static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
>>>                      ^
>>>
>>> arm_smmu_disable_pasid is not currently called from anywhere in Xen, but
>>> it is inside a section of code guarded by CONFIG_PCI_ATS, which may be
>>> helpful in the future if the PASID feature is to be implemented. Add the
>>> attribute __maybe_unused to the function.
>>>
>>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>> ---
>>> v1->v2:
>>> Add __maybe_unused attribute instead of removing
>>> ---
>>>    xen/drivers/passthrough/arm/smmu-v3.c | 2 ++
>>>    1 file changed, 2 insertions(+)
>>>
>>> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
>>> index 9c9f4630090e..0cdc862f96d1 100644
>>> --- a/xen/drivers/passthrough/arm/smmu-v3.c
>>> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
>>> @@ -1376,6 +1376,7 @@ static int arm_smmu_enable_pasid(struct arm_smmu_master *master)
>>>        return 0;
>>>    }
>>>
>>> +__maybe_unused
>>>    static void arm_smmu_disable_pasid(struct arm_smmu_master *master)
>>
>> The attribute should be placed after "void". I.e.:
>>
>> static void __maybe_unused arm_smmu_disable_pasid(...)
> 
> I had initially tried placing it exactly where you suggest in the first draft of v2 of this patch. However, the line would then exceed 72 characters (actual 81 characters):

This doesn't change the problem here but the limit is 80 characters per 
line rather than 72.

> 
> static void __maybe_unused arm_smmu_disable_pasid(struct arm_smmu_master *master)
> 
> So I found myself juggling with how best to wrap it. How about a newline after the __maybe_unused attribute?
> 
> static void __maybe_unused
> arm_smmu_disable_pasid(struct arm_smmu_master *master)
> 
> and similarly for the 2nd occurrence:
> 
> static inline void __maybe_unused
> arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
> 
> There is precedent for this style of wrapping in xen/common/sched/credit2.c.

Ah! I didn't realize the line would have been too long. In this case, 
the newline after __maybe_unused is the way to go.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 15:10:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 15:10:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463473.721656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5psU-0007md-Uc; Thu, 15 Dec 2022 15:10:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463473.721656; Thu, 15 Dec 2022 15:10:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5psU-0007mW-RL; Thu, 15 Dec 2022 15:10:30 +0000
Received: by outflank-mailman (input) for mailman id 463473;
 Thu, 15 Dec 2022 15:10:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q86o=4N=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1p5psT-0007mO-5u
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 15:10:29 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2050.outbound.protection.outlook.com [40.107.220.50])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a85a961-7c8a-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 16:10:27 +0100 (CET)
Received: from BN9PR03CA0500.namprd03.prod.outlook.com (2603:10b6:408:130::25)
 by PH7PR12MB7306.namprd12.prod.outlook.com (2603:10b6:510:20a::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Thu, 15 Dec
 2022 15:10:23 +0000
Received: from BN8NAM11FT039.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:130:cafe::76) by BN9PR03CA0500.outlook.office365.com
 (2603:10b6:408:130::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 15:10:23 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT039.mail.protection.outlook.com (10.13.177.169) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 15:10:23 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 09:10:22 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 09:10:22 -0600
Received: from [192.168.137.15] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 15 Dec 2022 09:10:21 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a85a961-7c8a-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N56WXOCn8V5Ua0UP8C+NbVZCJ7RIEJ0Zu8HSW/gfNSZnPiFEPcoLseI74EdTCNKL7OoBoM44pwV/XQ215Ao05WDlmEup6Av+j8Lip9OTYQEmgdSNWO3cqdqZJgi24hWedeeTLcWxOV+/B6w2dQXNN1co2JjRz6VJE5pUr6APZfaSO49q95RS99AdQcw5qgib7TRibJ67ovaFiLZDF1nWFy5D02b8UxWEuKOW9zBoNAunXi5GQdV14UbDLLHzEFXqNYQUhhwX4rBCkMYzxDVUGcIHKHwpgVVmKOGuq/+PWo6ui3mmmXEsc0uP/T0+TenRJa+aiCnPVfiK6rhv3b/X8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GW5ieDq7PQVDXpdgwcHO2YEH0ChyPV5Z6HolbEIvhx4=;
 b=B0y7872delMUatk6RquGOhxqciF98bGjPYKFUzIOBBq24TiSpwidanWvqTFsf9vS79//Eq/d3J1RV3SEjUfVXcEf/pqyUIJYy6Sm11FIbgXmQfZqGwpciz20H/LeEX+JhQplIaTI1Mt5JRSV+LC99HLgSRo4DEaWNqdxux9IKxJ5YO95/xXRnx8v4o5jvw991GzVfNnkXPjw1H7i7a4mvoqQHZVuErI1InC9loaKNcQQ61/7IoXiGwFKRZIJ2rH3h+DfwHV+StqMetgzBlKyZoQpqQZCcp37mVBEQU7p3pEXSS47ILoI5VO6mue5xup4vdeQaFj3dwyRr9f4PFBINg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GW5ieDq7PQVDXpdgwcHO2YEH0ChyPV5Z6HolbEIvhx4=;
 b=bRuLr5suwXh6dhamYcaEN7+Gv8+SlSdkHgounumO2QRb0956NAz5VEfGThdvpJjpPFW0Nq/ibDNrxC6brqD125s3KrzsiJzi9J1Y8qakeQUHvzg9UBLGrtTCEXVtcm0zNV8QPZZKKr1GgcrUvBhZxYJ5vaitJ1z22rAhXOSorWI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <3e47feec-8a78-887e-ecbc-c2bd81e62bb5@amd.com>
Date: Thu, 15 Dec 2022 10:10:22 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [PATCH v2] xen/arm: smmuv3: mark arm_smmu_disable_pasid
 __maybe_unused
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: Bertrand Marquis <bertrand.marquis@arm.com>, Rahul Singh
	<rahul.singh@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	"Volodymyr Babchuk" <Volodymyr_Babchuk@epam.com>
References: <20221213181855.81713-1-stewart.hildebrand@amd.com>
 <423b32d1-90f1-2a0c-865c-24030a7dcdba@xen.org>
 <41f62567-b05a-26b7-ace1-21745d61b729@amd.com>
 <16bf9934-1f50-4694-253c-32fa35f0b097@xen.org>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <16bf9934-1f50-4694-253c-32fa35f0b097@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT039:EE_|PH7PR12MB7306:EE_
X-MS-Office365-Filtering-Correlation-Id: a5eaa6ef-90cd-4c7c-6900-08dadeae7d38
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RZJYx/PSB2VNI9GHm0ZXtrw2CcNrVQz5cpuGsxbZ3q8tdKrtPZzun0j/0ocdYttphr00svnOdmm8wUgaSvmO+6fs3HUqH7Gqqixg0pBGXG/YPtw2rfw8sT57ag/tQeWK5huToE+oDQ2Hm+1pFeoZCoU2DPMSv+dvAAv1qJh7LzshpghR8r0KjPVnbQxrgbCkLH1xrVx5Hc5lEMuAJeZ8o4Lx9EKrAAzXy7YFJCzYO7SgQDjjJ92T0JKZgsnTFVjbjCVCAy7XJisE5gfcYJ/FknHUjRRffw0VMIQMdFD/p87YZIKw8Yydynh3Bj4s0W+nsnTNp/kXNKawO7H7WqZBkKZKqMCDWaotMis2zJqUYBoeoFcLq4Xcf2v/xzvXAbUrVcxwm1MnIe8bRzNmEhegn8pSBomUr34YAVDeVxiiNA7Ct+fi8+P4DChyDDeaSVOJcuN8TpjPSTQ/8rYYVYk7G/4k9wHvXdT06zE4vByQeF0nBNqBEO+QypYUtvb8MHzVLzqgMmFw7rW8TRkOZMvayLji9TB0zXwNSsImVr7BSQVkRplOzfzZcmidQIOaIK+XKjU/l/cfxLZkI57lY1W9uzDwz5SHBIRxYyx0WxJaEBx7kuSQ3/JJ0KbrrqmPf3TjyLgGF6+xAnRqhLcxTjWq1CfHIW6vcUQVW1nsC4nEiflHlbkA7Ekh0WL7dvfOOnRHTMWEeNX9lb2vClyDsIR/mPxAgNcEl/64xVYi8en3hcYd9b33V+Vbd4h+ZYgvlkdvsuEyZLH+FLCfWrSym6vteA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(136003)(396003)(346002)(451199015)(40470700004)(36840700001)(46966006)(16576012)(44832011)(316002)(83380400001)(356005)(110136005)(40460700003)(426003)(47076005)(8936002)(36756003)(336012)(5660300002)(41300700001)(81166007)(70206006)(70586007)(2616005)(8676002)(4326008)(82740400003)(36860700001)(478600001)(82310400005)(31696002)(54906003)(86362001)(31686004)(186003)(53546011)(26005)(2906002)(40480700001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 15:10:23.2402
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a5eaa6ef-90cd-4c7c-6900-08dadeae7d38
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT039.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7306

On 12/15/22 09:51, Julien Grall wrote:
> Hi Stewart,
> 
> On 15/12/2022 14:11, Stewart Hildebrand wrote:
>> On 12/15/22 06:34, Julien Grall wrote:
>>> Hi Stewart,
>>>
>>> I was about to commit this patch when I noticed the placement of the
>>> attribute doesn't match what we are usually doing in Xen.
>>>
>>> On 13/12/2022 18:18, Stewart Hildebrand wrote:
>>>> When building with clang 12 and CONFIG_ARM_SMMU_V3=y, we observe the
>>>> following build error:
>>>>
>>>> drivers/passthrough/arm/smmu-v3.c:1408:20: error: unused function 'arm_smmu_disable_pasid' [-Werror,-Wunused-function]
>>>> static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
>>>>                      ^
>>>>
>>>> arm_smmu_disable_pasid is not currently called from anywhere in Xen, but
>>>> it is inside a section of code guarded by CONFIG_PCI_ATS, which may be
>>>> helpful in the future if the PASID feature is to be implemented. Add the
>>>> attribute __maybe_unused to the function.
>>>>
>>>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>>> ---
>>>> v1->v2:
>>>> Add __maybe_unused attribute instead of removing
>>>> ---
>>>>    xen/drivers/passthrough/arm/smmu-v3.c | 2 ++
>>>>    1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
>>>> index 9c9f4630090e..0cdc862f96d1 100644
>>>> --- a/xen/drivers/passthrough/arm/smmu-v3.c
>>>> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
>>>> @@ -1376,6 +1376,7 @@ static int arm_smmu_enable_pasid(struct arm_smmu_master *master)
>>>>        return 0;
>>>>    }
>>>>
>>>> +__maybe_unused
>>>>    static void arm_smmu_disable_pasid(struct arm_smmu_master *master)
>>>
>>> The attribute should be placed after "void". I.e.:
>>>
>>> static void __maybe_unused arm_smmu_disable_pasid(...)
>>
>> I had initially tried placing it exactly where you suggest in the first draft of v2 of this patch. However, the line would then exceed 72 characters (actual 81 characters):
> 
> This doesn't change the problem here but the limit is 80 characters per
> line rather than 72.
> 
>>
>> static void __maybe_unused arm_smmu_disable_pasid(struct arm_smmu_master *master)
>>
>> So I found myself juggling with how best to wrap it. How about a newline after the __maybe_unused attribute?
>>
>> static void __maybe_unused
>> arm_smmu_disable_pasid(struct arm_smmu_master *master)
>>
>> and similarly for the 2nd occurrence:
>>
>> static inline void __maybe_unused
>> arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
>>
>> There is precedent for this style of wrapping in xen/common/sched/credit2.c.
> 
> Ah! I didn't realize the line would have been too long. In this case,
> the newline after __maybe_unused is the way to go.

Ok, I will send a v3 with this change.

Rahul - may I retain your R-b tag in v3?


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 15:11:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 15:11:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463481.721667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5pte-0008Jc-9G; Thu, 15 Dec 2022 15:11:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463481.721667; Thu, 15 Dec 2022 15:11:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5pte-0008JV-5o; Thu, 15 Dec 2022 15:11:42 +0000
Received: by outflank-mailman (input) for mailman id 463481;
 Thu, 15 Dec 2022 15:11:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=g8Eh=4N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5ptc-0008JF-4H
 for xen-devel@lists.xen.org; Thu, 15 Dec 2022 15:11:40 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2042.outbound.protection.outlook.com [40.107.105.42])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c5f0204b-7c8a-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 16:11:38 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6877.eurprd04.prod.outlook.com (2603:10a6:803:131::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Thu, 15 Dec
 2022 15:11:36 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Thu, 15 Dec 2022
 15:11:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5f0204b-7c8a-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=axKXVODExE3rcY2W+DbtZtx8IeokM+vItLaGElPFsFhbkEN2+2QvpPatZBq6Fo8k7G/h4aXVDBlPUIsijiSjDDF3dbPPABaJNuv0BmAPVBNLVzXspO/6OHglo6Pm6r0mL1qjw8eu0RgXTa+4wtIhujOddNuLMskvqUdRLz00dHFPhNkEZmyeLjUNYqvgsVPU6RUAzJ0VSjZx68E+k7Ir8ZIJ0mTPaN9CtiMS87JMTbwMugKwKeVCXw0+vf7uHUI06atT0txNs5gaG+O1sGZhVBrmNlH1j3Pju2UCKPgA+bwJf2RkB0cr4D8HFj+YNn7FK+Tkg+mZY3vCadIdO5bTXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mr0lf+gRcRWfpIfw24gPuFVeEyhcYWSXwZxGzjq7tlA=;
 b=QnPvFo/4OidF5wGe8Uzt1YTW0f9x7F3wozf+MYNp+yZDyszdcdRikc4PPu/qlOVxEyHctZmFEMsQDHtKmmp0K6nKz/g4cf3c6LzUQfB2zPjOUwt/405/+KiNQ9CQTZL1KU+Q4GZsTq0MiBxQHU2FMZc3H35zwk5mmJTsSwUdx5+0geIQDyU1ezTapYgGFdt9OGLeTOksIfXO/fqVMx3t3+DDcHIc8AhfINgHwDbvUp7lnk0KqFIz0BlWBIBOFlgFMXR7BNyoyiIMEBcn3Gidx1l6ofCtS5P3PT9MhVwcI/76600hwq1glBe7jJEnmcwqRx2UcnGap4ZXhzOZdRdX2g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mr0lf+gRcRWfpIfw24gPuFVeEyhcYWSXwZxGzjq7tlA=;
 b=g4Bp1KNSy55pNCZ6bQn1grjjB2QGgk+zs+CI7h4eF34iQFcT6D+v5INK3SZ7syIQ13r7wSNxn5fOwfn5KHLwDZmS95A0zwSyFKrv4N5KU+IYzwzyNhUjKuafm0UWMVJbZj/S78/BYkdQQ5OJ7yQuweVZAd3siWjFUF7bbuWuudS7wsHE5DkjI0GhZPJC1pP2DyDCb2j0dbstxjzQoaamXzGSjLZPIkz5W6kG2nLsZYl/f5IRjXTfhwiH8DRFcOsEBeEnDlOpBJX+fExV8LB9AmQgHZ8ZPCWOOeSoY3NsN+N2YkH7W1nwU6cWmRkrGJRQHcQxRwtHTEASPPCDNbi3Hg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b4c0e361-2b6a-f7b9-941d-4315144c6f65@suse.com>
Date: Thu, 15 Dec 2022 16:11:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] libxl: virtio: Fix build error for 32-bit platforms
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>,
 Viresh Kumar <viresh.kumar@linaro.org>
Cc: xen-devel@lists.xen.org, Juergen Gross <jgross@suse.com>,
 Julien Grall <julien@xen.org>, osstest-admin@xenproject.org,
 Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu <wl@xen.org>
References: <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
 <d4cf6539ff179e7ade820feadd8088f33da49196.1671111056.git.viresh.kumar@linaro.org>
 <Y5slue6ujqmCscJd@perard.uk.xensource.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Y5slue6ujqmCscJd@perard.uk.xensource.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0117.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB6877:EE_
X-MS-Office365-Filtering-Correlation-Id: 40546d5e-4a88-4704-58d2-08dadeaea8b9
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VVTydbz2rOv3cKpRz/V/6zL96StNeJe/AFjp0Ms+u/U3fo/GTBcdPt9IGjJSJQ6pq8DrXVtRzYWqEk20n9yF51nv9pqRBF8lx+WmVZvCexK40wcWKzpffzuB5su4LSH4WZjXMnNxLXWHuMJuLtXiGpOrXHVJoZ3dwLMTFNxomEYD02rsDxnAYXU2Gzoaim6h1Pkwud0+N3X6amgD/7WwQXUmfS2Onq0/f0/1Qt33SPP8SPLaf0nluiV+SWBN9jNTCcLVSQfaT2fx+NQfWD98lk/Ws9HLdGpXaI6BSGc+MtgkhvtusrRW/S+yTFkZ2FW03S/Bgpf/o88HtHmHGqpVYptklrkFj6MtewQNzd6U0TWDWwENyawYomHpDYDWZfkfIKu7ofJAiOxVsUQsYcTmlZbc4UgV0LXDPDZK4vK+SMpKrUPTcSwSbB8l5A14d02JpNwpOApDSX8drnEFrJCJjtbvzt2yG4WqUSBB5AoVSmWljhVyInaKaoiS6BnlCwXzKVsGTQRUZjlROE5xntJIvUbMvCKiMsbXkMIkoSpZqaMvnF93Cj0lKJxxjseyMdsEAFKHw+wR8tTa4FnY6pjUuHf6Sagcj7ihf9LdGjZ2MvdH8U2RQDnT+sjxBctDcRtK1CAF3XQpdonJsIUUcTAoRbIIft8KEHImJIBwJ4KNlg/TSoeufeD6zN/C2rTCKuXR5G+GJPKp9hc/1c/wnbsLQ6JdKKGYMKNvrQm5GB3vFQY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(136003)(396003)(39850400004)(366004)(451199015)(83380400001)(8936002)(31696002)(86362001)(8676002)(38100700002)(5660300002)(7416002)(2906002)(66946007)(66476007)(4326008)(66556008)(41300700001)(6512007)(53546011)(26005)(6506007)(186003)(2616005)(110136005)(54906003)(316002)(478600001)(6486002)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eXBlM3l5R3F3NGVPTTZuM2pDSms5a3hLY1gzUHlUUmdLeEJEaEQwRC9UbmVp?=
 =?utf-8?B?M09IZEd3ZmJlU2JIVnAxdDI3ZEo3Ukd0R2srZW1ZeE9XZDcvYUVTQ1lQNWdW?=
 =?utf-8?B?SGZSVWZXNVhsOWI5UFo5NFFneWdKQlVBM2p4VmlrMWtKNk1aRnFOaWt4YWRE?=
 =?utf-8?B?eUxnS3Z4c0lYWHZZVWgwS09aTUM1S0RPUHVQcDF2YW50S0laN2NLV0FyNC9Y?=
 =?utf-8?B?eVhXSmVZUGhBTDVDZG0rV2p1QVVrTGtpQ1M4YXJVRW9BQmxzNUNleW1yVkxH?=
 =?utf-8?B?UmNxWXo2S21UNVVxOWtOYlJrcElzTkVyMlFMU25vRzVVbE5YRkE5SThXaEsy?=
 =?utf-8?B?bUUrdUI0NS9QVVVNdGJOYk82YXV2Si9PTDVvWGkvN2JINWRKOFFST1FYREdS?=
 =?utf-8?B?dXo4UWxSY0VwSk01TTF5R08reHBhUWIyYjEzVHZTbUw5a0pIYlpxRlAwRFFz?=
 =?utf-8?B?ODlVRU9OcXV5NUlxVzVydkluZmduaGdiNk9OTWtCb1l1MHcrZHZ2WFNwQWow?=
 =?utf-8?B?SFRxYStsMWdDMnhuWTZRWUVIM0hFcUlxWDYrUE40QlYzNDJLYnk3SnVRQkRi?=
 =?utf-8?B?Mm9HdzcvcGQrRC80WmxwMGxNVUxPemIwc2NDd2M1amo3dnVIdGNMVzF6d2Fu?=
 =?utf-8?B?cy85am1FV2tMTlkzNUVvMVVHN0hhb2Iyd2MzcWZWUkhEMEpiRFBKMjEwQllv?=
 =?utf-8?B?dmsvZ2RCZ0VXTkNPZS9EZzRQcGlib0dqSDFVY29ZM1gyRUNHMEZZQ2JZajZO?=
 =?utf-8?B?THZpU24wYkg4SGFzRTVBQ0JycWNmb2FnVVhtRVZCVkNFR2xzdGJPMTcwanZ3?=
 =?utf-8?B?K1k2WGZ4YjFkeXAya01XWDdGNEVBS3FoWkg3VmorNk00U3kra1k5bTRrVGpN?=
 =?utf-8?B?ajdMbmdCaTk1V2tRbXlLb3VvM1N0R09IQ1ppZE56NjBkOTFwTmNEZWU0UWo4?=
 =?utf-8?B?ZmZJcm04UzZHUU8wOFNqUCtJRllUT1VaVkE0Y0N2RGpvYTN1RzJmZVRrZVN0?=
 =?utf-8?B?WFVKNDEyV3htclhyc0RoWUY0UmJ6K2kyN3FYWHd0WHpDY0xjT2ZodHllaC9X?=
 =?utf-8?B?S3dHZkY3eG1zcWx4aUtUT2dLdkV3TzJHUzNUUmNxblNTZU9lQkR4NUFDVGFI?=
 =?utf-8?B?SmxRa1BjRDRjSWVIVFMrSDZWV0ZrMjd6WFNzSEptNTZxdm8yNjJaMm9NVEoy?=
 =?utf-8?B?cHZpNGhYWENUdXp3cTNTL3dVR1pyL1VpSzdTVUEyVGY4elJIdTFUTm5IaDFv?=
 =?utf-8?B?b0syMUdUVmNrcGtONmU4NE1NcDhldmhMcW5qR2orV1dCL3hmMyt1Z25razlB?=
 =?utf-8?B?dlIvMnBaMkRYWlZ3WHNjTmIxVE9SUTF3STBTbHBHcExkOTlDZ25CYXd2b0l3?=
 =?utf-8?B?SlgzN2s3OVdmWGdJL0lCV09OcEFsdldPc3dyNStzYVpIck9Mc2JTYUNKRHJu?=
 =?utf-8?B?dFcvNWY3STZ1dnNIZU9BeGRMamNYSStzbUtxSUZvalUxTzU1SVRkaDc1cC9K?=
 =?utf-8?B?WmIyNk9RMEpYZWc0OUF6elY5MS9uc1VRM080ZlJoZ1JIVTlXM2NLMUFLRFhV?=
 =?utf-8?B?Yjl1LzFVRStTVjRzRVdZVlJEQmRiSlpZdnJVYUNaQzlQNEc3Tk04WFJBZzZh?=
 =?utf-8?B?MUJXYWhTWlgxNlpOZHBGWERZQWpXcjlCZGliZXkxcWpQNVgyOWlKMjI5LzRk?=
 =?utf-8?B?RnJlc2RYRVBhNmFYaGd5NWh0cXVKZVhUdEdaMk93YjdMWjF1WHRDaVppcmVt?=
 =?utf-8?B?clZvN0JpcS93ekxaSkxYRjV3RVdnaGwrTEorVjZ5RlVRYVFmdEpJczFGREln?=
 =?utf-8?B?UFdYVWxUcklsNHFYL0ppSWVxZTdaQ1BRb0l5UmkrMndzS0hqeUZqb3lGMWFN?=
 =?utf-8?B?K1VuMmJsQ1ZPNTVvSUJNVzNsQUdCYlFrQzc4NzdtQjF1bWdBVld6eGV6blNh?=
 =?utf-8?B?d3pESnRCUStCWjlSUHBYYjlPaTdIeFpzQnhGcWRFUVREbEFyWmptS3hCNkZV?=
 =?utf-8?B?N1Zzcmdrakx1S3U0R0tkTlhVTUh0RU96dFZJaUdNejRDZ2R6QWVTWGI2NFhC?=
 =?utf-8?B?QktVbTQ4S04rMXVSSE1CUzR6dm1PNnFKQmRGZHRLUTFQQVBCeTNhNFlVK1Ru?=
 =?utf-8?Q?mqouFF/Pmnp/BYl+SvJvnJTTL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 40546d5e-4a88-4704-58d2-08dadeaea8b9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 15:11:36.4303
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cAi83UEL46KZ8IHtpPPvv7VS4tqq/I/stIFrE35sHLsKffRQpprpj+t3tWksaHRZqM+b7jwoIHKSm7m4VhUKtw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6877

On 15.12.2022 14:48, Anthony PERARD wrote:
> On Thu, Dec 15, 2022 at 07:01:40PM +0530, Viresh Kumar wrote:
>> The field 'base' in 'struct libxl_device_virtio' is defined as uint64,
>> while we are printing it with '%lu', which is 32bit only 32-bit
>> platforms. And so generates a error like:
>>
>>   libxl_internal.h:4388:51: error: format '%lu' expects argument of type 'long
>>   unsigned int', but argument 3 has type 'uint64_t' {aka 'long long unsigned
>>   int'} [-Werror=format=]
>>
>> Fix the same by using PRIx64 instead.
>>
>> Now that the base name is available in hexadecimal format, prefix it
>> with '0x' as well, which strtoul() also depends upon since base passed
>> is 0.
>>
>> Fixes: 43ba5202e2ee ("libxl: add support for generic virtio device")
>> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
>> ---
>> Couldn't test on 32-bit platforms yet, but works fine for 64 bit one.
>>
>>  tools/libs/light/libxl_virtio.c | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virtio.c
>> index 6a38def2faf5..2217bda8a253 100644
>> --- a/tools/libs/light/libxl_virtio.c
>> +++ b/tools/libs/light/libxl_virtio.c
>> @@ -45,12 +45,12 @@ static int libxl__set_xenstore_virtio(libxl__gc *gc, uint32_t domid,
>>      const char *transport = libxl_virtio_transport_to_string(virtio->transport);
>>  
>>      flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->irq));
>> -    flexarray_append_pair(back, "base", GCSPRINTF("%lu", virtio->base));
>> +    flexarray_append_pair(back, "base", GCSPRINTF("0x%"PRIx64, virtio->base));
> 
> There is also PRIu64 that exist, which would be perfect to replace %u.
> Could we use that instead?
> 
> I'd rather not have to think about which base is used for numbers in
> xenstore. I can't find any hexadecimal numbers in xenstore for a simple
> guest at the moment, so probably best to avoid adding one. And using
> hexadecimal isn't needed to fix the build.

Otoh an address formatted in decimal is pretty unusable to any human
(who might be inspecting xenstore for whatever reasons).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 15:13:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 15:13:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463489.721678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5pv6-0000Tn-Ki; Thu, 15 Dec 2022 15:13:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463489.721678; Thu, 15 Dec 2022 15:13:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5pv6-0000Tg-Hv; Thu, 15 Dec 2022 15:13:12 +0000
Received: by outflank-mailman (input) for mailman id 463489;
 Thu, 15 Dec 2022 15:13:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=g8Eh=4N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5pv4-0000TP-VH
 for xen-devel@lists.xen.org; Thu, 15 Dec 2022 15:13:10 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2085.outbound.protection.outlook.com [40.107.20.85])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc043b87-7c8a-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 16:13:10 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7244.eurprd04.prod.outlook.com (2603:10a6:102:8e::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Thu, 15 Dec
 2022 15:13:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Thu, 15 Dec 2022
 15:13:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc043b87-7c8a-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NAKQ3l3ZcWUdhBgvJsJGfqVjjPKLaGrC53S1GI1fSvj+ynMBdF+IrlJlpgV1f7T9w7oHT7T2y0EYZSTSucmJbrPhN/5jVsieV7gLLvPHmA6Q1nnQV2/7i4lQRU+d4EJoVbtRdEgQrexENes/dUPToLp2IL4eR7g38VyRtICyrpAq9eDiePn5m2kdCATEirGo/Vg0DReaO2e2Kv7e6LTHTK1BybpSAWEFFK5aQ+BohQuhOcRcSfwBSU0i5czRw7UXusKeLYBsEtjUhki0UgKONPVF/qWe/MxgXp6W/MaZxmydEUlPayU4vrivay62M6VjKVKLzilhhipETo2i1+eCZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FXBDkbfbYpCohXYacU2kjKm4zqPmNAkvFh77TK9mYWo=;
 b=DG4Xm/1FrVbZTZQJwlDmVNoa2lpZQ6nKMcjnRFHlErI3TLY7XydbMBn8l8E57RabLpJIHC44Rmfmf7eVQEUESl+qKZvNZ63n8dmayvpTLPDNfgSRthUgsZcty5itcIIH5qpv4KZXESZuarPd9jY8hnTGLobPdsnifrgRqvli3jHFd0XgNfKfYXWA6j0EBUJip6UDiljHHdrZ/SdWvwX5efHwbIGFq/QGtMrxF/tbYoHGcO8OMNY8yu8MVD48oUne9FBrEd4rIr9/0FUspLspkYNeeCUl2L1ipPkJy/hYy5dvwVt6OHLIR7QMppLbYnPNMlEDldnnVzj6XGn8nPm98A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FXBDkbfbYpCohXYacU2kjKm4zqPmNAkvFh77TK9mYWo=;
 b=XjVMjHzpsfOe70HPj3a5WkBLYj417lW4pObM9+RPry1BL6Ex3D5feTBqoWi9d1OvgGLJxml5X1D9Pe4PLxiZORXT/BamByw5R7RjXCHBhEcwPHMxXXrJndiVo9Am9DTMPU+yciuysnAgqg2EjnGCXShnI8EcON7CN+I154CR1RuhawrN/4Kj3lvyNJWqWQLLd5IzVpfgG5NMS2RoQmF3iicPzLzurrBAMZXHMm/lttkHhWcpXI7yIbeTiWtS7nhtdyA8HMYoN9UwqOpflhKX2Ey2k9IByZrWv8/etkKOg/qBL+7CpsQgG/bE+v69chslzDudnU1dhEyFfUk8KjBwBw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <41dd24e1-806a-341a-6e13-1984269e3fe9@suse.com>
Date: Thu, 15 Dec 2022 16:13:06 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH] libxl: virtio: Fix build error for 32-bit platforms
Content-Language: en-US
To: Viresh Kumar <viresh.kumar@linaro.org>, xen-devel@lists.xen.org,
 Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, osstest-admin@xenproject.org
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
 stratos-dev@op-lists.linaro.org, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, Stefano Stabellini
 <stefano.stabellini@xilinx.com>, Mathieu Poirier
 <mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>,
 Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu <wl@xen.org>
References: <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
 <d4cf6539ff179e7ade820feadd8088f33da49196.1671111056.git.viresh.kumar@linaro.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d4cf6539ff179e7ade820feadd8088f33da49196.1671111056.git.viresh.kumar@linaro.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0028.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7244:EE_
X-MS-Office365-Filtering-Correlation-Id: 9a822ed6-e48c-4c4e-14f9-08dadeaedf5a
X-LD-Processed: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	90yJuwYFGLgsqmCQ6aoEEEXqo7qqINlub4fEF778axIosw+6DLAxn6GEAOcfOoIVH4aN5Ee85D5oLrnbSTLDT7icqAc4d7eP5lLFNWvRZGe1UZ7ksdyzzydzrPb5mTdYQXmS7RQeBlS1WVK+PROUPvJVglWpyP4AI/w0npF4FPgpxWGVfV/XTggviYVc+9Q+OTdsbO2oqdwVRCMd+JsRJEuvWeBERMJV16dg+HlSA2I9eY2+bslJkSgF7kJpoD8RtpULMMAwTvBbey42NGSsqRZmhUH5sBimeSgjVqlZTdByn6WQmhuEt1l4UVk+mZpYCIRPWF9rJNCP+Sri7E823RTcegHmMQVHc88ORNLPPSoB+4hDiYfZFnSZ8hZnFl7Q2eceR1y2FHXjS5DTS5IvkoU7UQWW4UqsDBaXzgBVDhHoBguDpowfSQBCNBf8wk+m23V6q7IHDulHEXs79ZWbHdwPimlqoA2wbynw5MB7531A5DL1JSwplxMfrqJlIzL72ffo5lvGqS0ashMUCBAQQzKrnHfYvF096D54uYjFmkTP6d2XtjENuZtw6TThc/PRcmjoU0+1KA3HKes07Cnk52hlhMWff8j8cfjwOZiKD3Wf8L172F5xXGsVR5LDUlzwo4U/3wDxBB9tqzxTygLTW6mqKdyt9TeW0Uaw5kStlkaekEm8f76dHL6Y3Y1Mvs8uZOsDuH/8Pil6JCyY4wNtWqZzMrJQzo6unFwmDUOGtjg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(366004)(396003)(346002)(136003)(451199015)(66946007)(66556008)(66476007)(41300700001)(8676002)(7416002)(5660300002)(4326008)(316002)(2906002)(8936002)(6506007)(110136005)(54906003)(478600001)(6512007)(53546011)(26005)(6486002)(186003)(31696002)(86362001)(2616005)(36756003)(38100700002)(31686004)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L203WkgxbTVzYXJqaTVOcHBMRTF0bzQ0TVVjQmo1TlZPZ0FxR0dPSWZ6YU1B?=
 =?utf-8?B?anhQK2wzQW1sUTl6Z1o5c0dKekpKV2Jadm5JVTB3ejN2V3lqWkNRVU9PbVdT?=
 =?utf-8?B?Z1MwYVg1M2V0RmFnWkZhN2dQM0JIdlJseWo2SXJuM0ROTnlmb0dPRGpSVFpC?=
 =?utf-8?B?ZzZJWGkxYVRaTWNaRUYrSHdPY0Q3Unc5L1NZeTRyZEhiSFZhYVJiY29Va2Fq?=
 =?utf-8?B?ME9pSkNsaEJpNVBuYVlMOGxwVkdFN0Z4RC9pbnhTOHN0cXdicDl6aWNTR1FN?=
 =?utf-8?B?NG05dFVuRjRSOWZRL3lnWUlXTHE2UmtrNzE5ZDZHN0ZEU2hlNkFnMUZjVklK?=
 =?utf-8?B?Q1Q0VWxxaE9TRkR5eUpkOVArTzJLZXVYUWhwYmxxL2Q3MEtQazZtWUNHWUhw?=
 =?utf-8?B?Y0cwelVPUHdIZVFQVnI4aWU2eDVHVlBPNmhQdGZtVmxUN2VEYy9FQXRRdi82?=
 =?utf-8?B?Q1NXQithT2llU3gwZC9WeXVDUHFYL3FWdWhrN1doNGFqVFZiVWJ3UXFKT2hG?=
 =?utf-8?B?dlZUWmZDbjBaR0djSEtMZjNsdUYxMWhDYUd2Y3Q1djZSRCt6ZlFPTnVydVJW?=
 =?utf-8?B?Y2gvWFNmVU91ejFDb0xucDFxYnd2VnN4MDhXUmJrbFhHanVlelFNaE9NNFZs?=
 =?utf-8?B?RmFZWXh0YnB0ZUpTeVoxaytZUnFVUUU3eTNZaVhVdmhvdGw4dnE0Z0c5aVJo?=
 =?utf-8?B?L0pkNmNjSGJKbUFWNDdUd3FRUVZpc1hxRWQ0QzdJSHVicmszNFdadCtwOHNZ?=
 =?utf-8?B?a0NPZ2x6VVp0ZXNUUHBEeTROeXpnbUVBL2ZrK1dVMWpKNkFETUJIYTZ3OW1F?=
 =?utf-8?B?VGtiREI4SENod2xJRWxLakVNRk1objlZaVpFN3V3aUExU3ZveXBBM09uRjRH?=
 =?utf-8?B?NmgyNWVqOGFQN3hPeCtZanhwL2FxcnN6U0g5MVNncmdHQkt4VDJUcDZNU2Jr?=
 =?utf-8?B?OXNmMnE0RzhpMW5nbVhZRzFWdEllNVhEMjVVUnhpMVo2WUtpc2kvYTJlS2py?=
 =?utf-8?B?VEZDVDBxWkZ4LzRlZklxclUzSkhXMDVRSEh3TjkwdjBwQ0cxYTFJc3ZlK0lT?=
 =?utf-8?B?ZjZLR0g3bzRjbHFRRnJGNkhXTmxXVXlOdGpzVGpSMDA4Sm5XNU4zNU9nMXQ1?=
 =?utf-8?B?Mml1V0kzK3MwbU9kZ1NleGFjU0psR0NqRDFvNE5neERwVThRcm1HZTFwR1cr?=
 =?utf-8?B?Y09LWk13M05BcVh6K2Ixb3IxY2V6UHZRZGViZFFFNmpvOTN1WVdCTFQ2UHFn?=
 =?utf-8?B?cmlWeG1QR2VrOUQ2cHhmNit2elJLQ3NydEZ6WlBMQ1d0YzNGV0hIM2wvMGJX?=
 =?utf-8?B?c3JHdHZtQVhTUzQ0WXRkZk9pZjNqS05peWs3eXhTdWsrR2E0SDdyUGwrd1p4?=
 =?utf-8?B?MGgzb1RGOXVDN0tZSXp4b3Vnd3VJK3NIWGVuaUJCV3RKZU92YkoreGFnc2E4?=
 =?utf-8?B?NUs5dlk0c04wc054TGE5MkRJMGNubUdWVTFOZTl5eHc0a0NBcXMzVkV3NDJq?=
 =?utf-8?B?Zkxwb2c0cHlod004ME43d1ZZMWM2SmhDalUrMWoxVzBzbkdyUFVTbTZjcUtW?=
 =?utf-8?B?ZlYrL1M1d3ZoTk1WZk5jWHEyYTFqd25yaG1zeDZJNVJYd2h0akNSQk9SM21h?=
 =?utf-8?B?ZHJoSkNlM0l5bG43Q0Y0NFhyVjBETVJFeVZCZGR4ZUhNRm9vOUpZWEc3OGd0?=
 =?utf-8?B?Qng1cHp1ZzZTTkYwQ0VjbUdQaGhNZzFlOERhWktQUTBJQlZpNWlYUFUxU0FT?=
 =?utf-8?B?RUNEODg1czNQUkpHTlhndzk1bFBZc3Z3TUhxaVZkRk5oSnloQjlrcjBWNmxh?=
 =?utf-8?B?YXhJbytnUHlGVnQvc01YRmtSZU9vb3Y5WVlKem5DYVNmY3E1U2F0QWs0dXhq?=
 =?utf-8?B?S00wTDExajZhVG1Dc1VmZEI5b1BhVFZJRXl4NG5tVit0alI4Rno3dElYaVBo?=
 =?utf-8?B?aUJFZnhVUkJic2p4eitERkF6WDdPbFprdWpPNWYvNE9zcEJyQXROR2tLVmQr?=
 =?utf-8?B?KzlTYUJFakJyYTZNMjkwOUNZKzQ3RThHZnJVUWJ1dnpKZTVNTHppaC9EeFV1?=
 =?utf-8?B?OFdKYWNXWk9qK3k0RnJMaDJ5RERRMUVocHhSRHYycnUrNWxNZXZINlpDalA3?=
 =?utf-8?Q?Y98OJg4eWIrBnGiW/TuJYwP/s?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a822ed6-e48c-4c4e-14f9-08dadeaedf5a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 15:13:08.0807
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iVU8qn7LK7Fp06EuczfFdy9bX91xej0ZjiISnvZR0yCjHa+F1W1CZlGDQmO8rdmsTNuGpWWduR84k8DyGG5iuw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7244

On 15.12.2022 14:31, Viresh Kumar wrote:
> The field 'base' in 'struct libxl_device_virtio' is defined as uint64,
> while we are printing it with '%lu', which is 32bit only 32-bit
> platforms. And so generates a error like:
> 
>   libxl_internal.h:4388:51: error: format '%lu' expects argument of type 'long
>   unsigned int', but argument 3 has type 'uint64_t' {aka 'long long unsigned
>   int'} [-Werror=format=]
> 
> Fix the same by using PRIx64 instead.
> 
> Now that the base name is available in hexadecimal format, prefix it
> with '0x' as well,

Which might better be done using "%#"PRIx64 ...

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 15:25:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 15:25:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463500.721692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5q6x-0002Yl-TP; Thu, 15 Dec 2022 15:25:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463500.721692; Thu, 15 Dec 2022 15:25:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5q6x-0002Ye-Pa; Thu, 15 Dec 2022 15:25:27 +0000
Received: by outflank-mailman (input) for mailman id 463500;
 Thu, 15 Dec 2022 15:25:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GeMf=4N=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p5q6w-0002YW-9M
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 15:25:26 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2064.outbound.protection.outlook.com [40.107.244.64])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b179933b-7c8c-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 16:25:24 +0100 (CET)
Received: from MW4PR04CA0379.namprd04.prod.outlook.com (2603:10b6:303:81::24)
 by MN0PR12MB5809.namprd12.prod.outlook.com (2603:10b6:208:375::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Thu, 15 Dec
 2022 15:25:20 +0000
Received: from CO1NAM11FT018.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:81:cafe::23) by MW4PR04CA0379.outlook.office365.com
 (2603:10b6:303:81::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 15:25:20 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT018.mail.protection.outlook.com (10.13.175.16) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 15:25:19 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 09:25:19 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 09:25:18 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b179933b-7c8c-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LauGDEFj6Z4CYADUuQ5eozh3cVXb7gSKRvEtWMPfJ/rotAXD1N6SHjdIVWpROhRTo3I3VDfQjNwHRSX1WjdPBJ+aAsekiFL2MDawOxOo3yIb+c7RpdTk6O7mZMpwZuVRwbp/ZpMDcKLv9h7reeXfHS0ZxG7ieiFhSgXQa5NSyQsk5m0b2nLWaklq6PEMFXQ+JF4xr/TMDkaojb7n4d77/dYiEHZd7Y0QN0puo6JCbMVgnHQOo31UoIOiTV9x9P2kLaPJBoBOayRUeRa0KFZQb7pqScd1u1EytUrb7eF1btNM5gOdnxc56LJhUgHUHtswpgWj4BNHZ9iep5pqPb9x0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3XlbtZruErX/F852tDI5lPA5tVHZaixEiTW1X4sFrHI=;
 b=F11ftwJz4KXRU/7WIop6LzZjdPpuDyje/R3JkyE3UnvQJxG4s5odtwCV5nnd8GlANgJL2ZERJ80Old0lAK/hIisFtFIgHzb5hVLtQkp9WmwJqDcACFw1Slvq82EvSM3VVjUGxoWFlCceTrV7VdUlKbw1lWXuqtaDCvj9mX3lGaAb/kSVwBsGvF5dY56cbyiKjtTQ2HpN1ige0JMrk6HUii77/LrWPPO/OiZ4IiSHCSz0crofdwuDL80UIYw6ZNgeu3foYF0L+5N0ZpEFxF3uFhR0tI6QH+f5fbkph2FR9Xs3HTr0H5A1nJzEcdTvSbZECXJrGBq4IWhkKGcdhloLUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3XlbtZruErX/F852tDI5lPA5tVHZaixEiTW1X4sFrHI=;
 b=vnm/P+LhOyyEin3xLV/ygtf9sgn0oESduTQq4kTrSYCcXyHvn/tySd2vUmNNSXFfPU1uzh2NG/d1xW+PSvuF5G6WuQXK/wWZ6wl44cFUOT7OY84Y5Qb0LLACahe+C8xxi10pwiaFryL/kisauy6ze7oMVNXnGGeAN1pPU1Qyf60=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, Michal Orzel <michal.orzel@amd.com>
Subject: [XTF-ARM] tests: Hypercall xen_version testing
Date: Thu, 15 Dec 2022 16:25:11 +0100
Message-ID: <20221215152511.10194-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT018:EE_|MN0PR12MB5809:EE_
X-MS-Office365-Filtering-Correlation-Id: fcaedc52-9b09-4e8f-9eea-08dadeb093b4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	T5t0c6GlEiycoZmzzFHtfZCFBD6eEj0zWh6oukxTSg8myjB1KUi5bZr8gEHH80Ag9kwLTOPw66KcIBYuugQlSlLrhOjbtVnkyRxsJZ3bZ42e7BYSLQaCGB7/MBhDAbSQng8GxTVPwu8bILQi0pRtVE0Xrj++nxAXfXVlo2AEvuPxsiH0IT8blJdW5SXazgfdulwdho7as7Cfhb5/42tNJiCfBkhG3Y92OyPb417X0wEP6JioBir6nADeyhlf7e5hj+WTlKGxu6sGlAO9epyeZGXaI0OeIkhp0ayxsONBQH10GNCV1MwCQqeV2zz5Qksx5NEPa4XmotuzTR60Lw0Fr/+IPzaldGI70w8rCp7TNxtImpARqc4UXyik7ckFqIg8GMITC/C7s0348PyE2/Ro6OLYdNO4wIHLwzZP1sz9dUsUZGPa13E/UmpteT76HHkKJZqMZ4QBclEvzKNpmRru0NjK7v3ftvKEUsPq70L76JAw1B8h9oQ75sBcvD3t0d5PGD/wlBzRS3rIYkR+vLpJqqyZiGkhlK9MsBJVmlaokSrzFkfQXfzGSXRqbm7ij42XRA6nXn11AKHeIUUfzE3fmRKt7BfFb+LoPunwlWaP9rdaRKEMmxUsHxq4f3PINjRQYO+fVA+QQ9kz8FWh1J8DVjnHR1c0/pgPJcOZKlBhvkUf5LEqaK5WzDg5EN62ggeDg9ThRtkPhaEuZ7dIH7N0bBgMOOzada8XLyA8IDAYRQ/BUv+oH6eOHy+ZaZWytFfIujELPvddo9Z6eszRLIBjAQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(376002)(396003)(39860400002)(451199015)(46966006)(40470700004)(36840700001)(2906002)(86362001)(44832011)(2616005)(54906003)(36756003)(8936002)(82310400005)(6916009)(36860700001)(316002)(26005)(70206006)(4326008)(8676002)(70586007)(41300700001)(81166007)(1076003)(5660300002)(426003)(336012)(83380400001)(186003)(966005)(40460700003)(478600001)(47076005)(82740400003)(40480700001)(356005)(6666004)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 15:25:19.8482
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fcaedc52-9b09-4e8f-9eea-08dadeb093b4
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT018.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5809

Add a new test hyp-xen-version to perform functional testing of
xen_version hypercall. Check the following commands (more can be added
later on):
 - XENVER_version,
 - XENVER_extraversion,
 - XENVER_compile_info,
 - XENVER_changeset
 - XENVER_get_features,
 - passing invalid command.

For now, enable this test only for arm64.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
This is a patch for XTF fork https://gitlab.com/xen-project/fusa/xtf
(branch xtf-arm) under which XTF on Arm port is maintained.

Pushed to xen-devel together with patches to Xen CI automation, so that it is
clear what the test is doing.
---
 build/arm64/arch-tests.mk      |   2 +-
 docs/all-tests.dox             |   2 +
 tests/hyp-xen-version/Makefile |  10 ++++
 tests/hyp-xen-version/main.c   | 105 +++++++++++++++++++++++++++++++++
 4 files changed, 118 insertions(+), 1 deletion(-)
 create mode 100644 tests/hyp-xen-version/Makefile
 create mode 100644 tests/hyp-xen-version/main.c

diff --git a/build/arm64/arch-tests.mk b/build/arm64/arch-tests.mk
index 1a13ba923625..c85e28bbea9e 100644
--- a/build/arm64/arch-tests.mk
+++ b/build/arm64/arch-tests.mk
@@ -1,4 +1,4 @@
 # Supported tests by arm64
 
-# Currently only example test is supported
 TESTS := $(ROOT)/tests/example
+TESTS += $(ROOT)/tests/hyp-xen-version
diff --git a/docs/all-tests.dox b/docs/all-tests.dox
index 322f078db09e..48a407593463 100644
--- a/docs/all-tests.dox
+++ b/docs/all-tests.dox
@@ -20,6 +20,8 @@ and functionality.
 
 @subpage test-fpu-exception-emulation - FPU Exception Emulation.  Covers XSA-190.
 
+@subpage test-hyp-xen-version - Hypercall xen_version testing.
+
 @subpage test-invlpg - `invlpg` instruction behaviour.
 
 @subpage test-lbr-tsx-vmentry - Haswell and later LBR/TSX Vmentry failure test.
diff --git a/tests/hyp-xen-version/Makefile b/tests/hyp-xen-version/Makefile
new file mode 100644
index 000000000000..2d7db8fa6ad9
--- /dev/null
+++ b/tests/hyp-xen-version/Makefile
@@ -0,0 +1,10 @@
+include $(ROOT)/build/common.mk
+
+NAME      := hyp-xen-version
+CATEGORY  := functional
+TEST-ARCH := arm64
+TEST-ENVS := $(ALL_ENVIRONMENTS)
+
+obj-perenv += main.o
+
+include $(ROOT)/build/gen.mk
diff --git a/tests/hyp-xen-version/main.c b/tests/hyp-xen-version/main.c
new file mode 100644
index 000000000000..bda591ca5c29
--- /dev/null
+++ b/tests/hyp-xen-version/main.c
@@ -0,0 +1,105 @@
+/**
+ * @file tests/hyp-xen-version/main.c
+ * @ref test-hyp-xen-version
+ *
+ * @page test-hyp-xen-version Hypercall xen_version
+ *
+ * Functional testing of xen_version hypercall.
+ *
+ * @see tests/hyp-xen-version/main.c
+ */
+#include <xtf.h>
+
+const char test_title[] = "Hypercall xen_version testing";
+
+#define INVALID_CMD -1
+
+void test_main(void)
+{
+    int ret;
+
+    printk("Checking XENVER_version:\n");
+    {
+        /*
+        * Version is returned directly in format: ((major << 16) | minor),
+        * so no need to check the return value for an error.
+        */
+        ret = hypercall_xen_version(XENVER_version, NULL);
+        printk(" version: %u.%u\n", ret >> 16, ret & 0xFFFF);
+    }
+
+    printk("Checking XENVER_extraversion:\n");
+    {
+        xen_extraversion_t xen_ev;
+        memset(&xen_ev, 0, sizeof(xen_ev));
+
+        ret = hypercall_xen_version(XENVER_extraversion, xen_ev);
+        if ( ret < 0 )
+            return xtf_error("Error %d\n", ret);
+
+        printk(" extraversion: %s\n", xen_ev);
+    }
+
+    printk("Checking XENVER_compile_info:\n");
+    {
+        xen_compile_info_t xen_ci;
+        memset(&xen_ci, 0, sizeof(xen_ci));
+
+        ret = hypercall_xen_version(XENVER_compile_info, &xen_ci);
+        if ( ret < 0 )
+            return xtf_error("Error %d\n", ret);
+
+        printk(" compiler:       %s\n", xen_ci.compiler);
+        printk(" compile_by:     %s\n", xen_ci.compile_by);
+        printk(" compile_domain: %s\n", xen_ci.compile_domain);
+        printk(" compile_date:   %s\n", xen_ci.compile_date);
+    }
+
+    printk("Checking XENVER_changeset:\n");
+    {
+        xen_changeset_info_t xen_cs;
+        memset(&xen_cs, 0, sizeof(xen_cs));
+
+        ret = hypercall_xen_version(XENVER_changeset, &xen_cs);
+        if ( ret < 0 )
+            return xtf_error("Error %d\n", ret);
+
+        printk(" changeset: %s\n", xen_cs);
+    }
+
+    printk("Checking XENVER_get_features:\n");
+    {
+        for ( unsigned int i = 0; i < XENFEAT_NR_SUBMAPS; i++ )
+        {
+            xen_feature_info_t xen_fi = { .submap_idx = i };
+
+            ret = hypercall_xen_version(XENVER_get_features, &xen_fi);
+            if ( ret < 0 )
+                return xtf_error("Error %d for submap[%u]\n", ret, i);
+
+            printk(" submap[%u]: %#x\n", i, xen_fi.submap);
+        }
+    }
+
+    printk("Checking invalid command:\n");
+    {
+        /* Invalid cmd should result in returning -ENOSYS. */
+        ret = hypercall_xen_version(INVALID_CMD, NULL);
+        if ( ret != -ENOSYS )
+            return xtf_error("Error %d\n", ret);
+
+        printk(" ok\n");
+    }
+
+    xtf_success(NULL);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 15:25:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 15:25:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463504.721703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5q7N-0002yR-5i; Thu, 15 Dec 2022 15:25:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463504.721703; Thu, 15 Dec 2022 15:25:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5q7N-0002yK-2D; Thu, 15 Dec 2022 15:25:53 +0000
Received: by outflank-mailman (input) for mailman id 463504;
 Thu, 15 Dec 2022 15:25:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GeMf=4N=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p5q7M-0002YW-2u
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 15:25:52 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2061.outbound.protection.outlook.com [40.107.223.61])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c12b7c2b-7c8c-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 16:25:50 +0100 (CET)
Received: from BN9PR03CA0058.namprd03.prod.outlook.com (2603:10b6:408:fb::33)
 by SN7PR12MB7322.namprd12.prod.outlook.com (2603:10b6:806:299::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Thu, 15 Dec
 2022 15:25:48 +0000
Received: from BN8NAM11FT073.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:fb:cafe::df) by BN9PR03CA0058.outlook.office365.com
 (2603:10b6:408:fb::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 15:25:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT073.mail.protection.outlook.com (10.13.177.231) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 15:25:47 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 09:25:46 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 09:25:45 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c12b7c2b-7c8c-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QhNGdLZovLS5LIN1EzCrL7DBCoRn2p5oHVpcDQCv9KulcI4IdVdUY59v3I4U1BPercqPH97D4AsWVyi9wV+yYQSyLh4FdvR+o+NZNr4ka1Ln/fE+0FDMOMrIT60Gy0rSEngzUN7zEyer/POjLK0NPkkCWMSpiBeKDvb2EKvaiewCgm/b0kVhT5X5ofq+oL4ejYWEN20rmhCQMjexFgpgFvs4uL0WwI1qEZlRt0ekVbu93XS7Fx7dZpAoJZOZ5u1ie7vibl1jAqEl4sgqfy9m+wbh4WGG6ciHHqkvO7pacMommbdBo9G3qbt7uA7UuxQG7awk52YdeE9KbJPOI/7hqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uU9JPh2iYFFZ8oKN75dKK4N8ZhhkM/5KS9Tvu+1WoZE=;
 b=TZdT7VADR/uARiEBMDmNlVlMf8beg7hyS0+PJdz2Bvphnxnvquv1JQZ2Q8gdNNfoEjx1r9ada/+sg0b3R6pDOFGXbTPxb9tpLICm5YlMs3O7Po3UtA/eEU22Q/BA5lLZuh6RTqb0oX9/7TyUtmhY6DJV/Ta26ZNl3+pFSnQ4MpDAEchFWsm/aytVrzk5ZtcGAku2v15LYDIVEZtquiCQMcbeXK45mpuHpLRgu4t+RJUbGAOzZM+QJT7KM+dZ5lwxlToduWkNlqCMLlhpPBs040vU6/AQXLdv94Bu8KVAWiS+IuMErsfUZtnVa8os2Vm6b994f/B9DO7OiKOmidnukA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uU9JPh2iYFFZ8oKN75dKK4N8ZhhkM/5KS9Tvu+1WoZE=;
 b=hI0LaqBbUcyNxUc8l2G2bKG91iQUW5Bvrg9HUNTs4bdhMA141Gfa0cVot/820VdRLo9h9RO1wK7if2iIR0XAfr+Kotx6ZqLbGSbHEqwhJA0GGQp0fhHvtziQ/pAbGNv6nwrusvV2LC+L1gWk9szKyoWdKQ0nkGqu2SbbjT1q/Y4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 0/2] XTF on arm64 support in CI
Date: Thu, 15 Dec 2022 16:25:36 +0100
Message-ID: <20221215152538.10266-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT073:EE_|SN7PR12MB7322:EE_
X-MS-Office365-Filtering-Correlation-Id: b60d4333-4eed-4559-b87e-08dadeb0a406
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Mg8pr/Eo1JnTQ9+Lv+QKrRP8km9VuRP5Ht3p32O23Y60TLM9IETW4icLlobZOU5onXjLF4EmS80PTY6CkjT/YFu8BjDab9FhkVuOecwdL5Hw1Nq7w/x8+0iMhyIc97wSPfA1vUe/iurUseNvQ1qq147hYiXogsGuoub7npiBgAvMIxeXzg6nPwFPdcZNJoFyj9HfWaBdlqh5a6w17+XFM5VPhWK97OpqUe2+qqdtxLdN6QZHTtZ3ig9n2Dx32rjGe4s3AS2DuRBsegxg4Q6Czg3ooDaLpIB6G51CndFuxpnDn75fHhbCQQmjNEadIZTLK/rUhyGktm0x/s47ht5z8egjyRj1Sx8OOK708h4f6Eq9BeH/FBIfFPXx7BtRkxkfvKUGyBGXGz9i2oeI1fS+9H/S3cswvUmOch398Vcdx0dEZ6oAuI8u/U4H1HkwcFyOsPTjJz3/+0OA9AlkkS3U2e1rKo9LT5qg80CWS7zrNFSTwfTH/AmlwPLFiFOOv1Mbx1oosG3FwbXHjjuNKf+brQZWeDbHlGsv2/7y6Y32vXfk16iD+Rs7RlkHMMpfVomEkMCauq2NXI8Ukf1m9gu5obZokNG0a7L917bGpKRLJusIyDzqV8KZonHq1qV2SH8xAgprbg3SEa0gvcJdOb9VgBP7KjRdj9F8Aw8g8fMOq60Op7PwvEMHQNoPDAGncJ/8R+XfqT2hDSv9sF4PP6RnOaQ5o2h2cUlxwVIhRZFH2WY=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(376002)(136003)(346002)(451199015)(40470700004)(46966006)(36840700001)(316002)(186003)(26005)(82740400003)(478600001)(6916009)(54906003)(6666004)(1076003)(426003)(336012)(41300700001)(47076005)(8936002)(83380400001)(4744005)(5660300002)(2616005)(8676002)(2906002)(4326008)(44832011)(36756003)(70206006)(70586007)(36860700001)(40460700003)(81166007)(356005)(40480700001)(82310400005)(86362001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 15:25:47.3392
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b60d4333-4eed-4559-b87e-08dadeb0a406
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT073.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7322

This series adds support into our CI for using XTF to perform low-level
testing on arm64 (dom0less use case for now). For the purpose of the CI
testing, we are going to use XTF fork with implemented arm64 support.

This series populates the CI jobs to run hyp-xen-version XTF test to validate
some of the xen_version hypercall operations.

Michal Orzel (2):
  automation: Add support for using XTF for arm64 testing
  automation: Add test jobs to run XTF hypercall xen_version test

 automation/gitlab-ci/test.yaml                | 16 +++
 automation/scripts/qemu-xtf-dom0less-arm64.sh | 97 +++++++++++++++++++
 2 files changed, 113 insertions(+)
 create mode 100755 automation/scripts/qemu-xtf-dom0less-arm64.sh

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 15:25:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 15:25:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463506.721713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5q7P-0003G9-Cn; Thu, 15 Dec 2022 15:25:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463506.721713; Thu, 15 Dec 2022 15:25:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5q7P-0003G2-9g; Thu, 15 Dec 2022 15:25:55 +0000
Received: by outflank-mailman (input) for mailman id 463506;
 Thu, 15 Dec 2022 15:25:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GeMf=4N=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p5q7N-0002YW-EW
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 15:25:53 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2043.outbound.protection.outlook.com [40.107.94.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c1f73d2b-7c8c-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 16:25:52 +0100 (CET)
Received: from BN0PR03CA0023.namprd03.prod.outlook.com (2603:10b6:408:e6::28)
 by SJ0PR12MB5439.namprd12.prod.outlook.com (2603:10b6:a03:3ae::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Thu, 15 Dec
 2022 15:25:49 +0000
Received: from BN8NAM11FT078.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:e6:cafe::21) by BN0PR03CA0023.outlook.office365.com
 (2603:10b6:408:e6::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 15:25:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT078.mail.protection.outlook.com (10.13.176.251) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 15:25:48 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 09:25:47 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 09:25:46 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1f73d2b-7c8c-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L59GIFICFXtX8v1xb/zrYTvh3drzdvsmiJyhKivPWPZnfxBg5C1mTbDJwVW5V/nBbftolSrkpoJp7GEf5jlhauegiyEJIofWrVLW4u5vU24wvFVv2pJ00F+QfQpvIFOV/r6zEeNO7Xfw9bsQS6ETtNnqcexFJN2smrWVgF1k2JXuXkH25SiRh5TdrpzuBkuFGgwvJqGwHK7ArxeIePD4FGw585mrCcx9HU3JYVlx9JURSIsXafxQJhpdn9CVh3LhI1wdcKQ1Z8O7AdMWBSLpoCjm03vh+F6KnIx6w257L0vTOW+NsgBQgMtbkwvc9+btnIAzd8XSrcQYAQs/2wj3wg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y0MT5BBq9QYEYB/tP9cdS7QHAMBvjlEG62WveeU6DQc=;
 b=aFSDUHef15ztioJL79sfsY0svEhJk/q1GYrQxcTeQof8a7QCHZt1GOXbSsLXyFWUNIJCWhYFJnqVm1/s24lm/EcYq+pbrprKDW9PzNrlwdU+A4JFPc1acoK1jLQmB18gYzkplwIPV1iA320kqqjDdQUIW57Ra9Q8bNb2MW97wION2wC8EEmwvvfoQM/Dgq/wWqLcgFoqtQeY+TULR0GW7/A95NsugEdKyB7VLPWzlkveZZ3fulnb42KYVIGubFpVuJjJrp7mVSqF7En2wUyuAmrvTqD+xJ08gt4ucCwSpkWC2flWXsvbXii3VFY5244n88dqBgZeq1D+b92eLr0vPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y0MT5BBq9QYEYB/tP9cdS7QHAMBvjlEG62WveeU6DQc=;
 b=hRyvh3R/6XP7uodYC5GTLzKLV+5B0N/W8s3lQfhHfgYmHpNtGcHliARDhpi/k/4elFyrcBz5XePoqbHtaKPn+HQuW+nuj9E//kODa5gvonQzHIDRDkoaympFfulcs5qRCTJchQy9iePkKRH3bd9QAUHhfk1Ed5aucZvzm+Uzs2s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 1/2] automation: Add support for using XTF for arm64 testing
Date: Thu, 15 Dec 2022 16:25:37 +0100
Message-ID: <20221215152538.10266-2-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221215152538.10266-1-michal.orzel@amd.com>
References: <20221215152538.10266-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT078:EE_|SJ0PR12MB5439:EE_
X-MS-Office365-Filtering-Correlation-Id: 2dda3fa3-0b39-425d-fdc5-08dadeb0a4bb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	g3elBktcESHuhZ+HBFO1pnDrv1BKfoK3xAWN1XQ16vqisnk8V8E8sbFtp7jfB+WHOjKiys9+Ajpicq36h3cs88IrQmDxYj6Kn8GzSufGrENuS2LrVK0Wwswhs/DbgYEI+FNuHcGOYM7J8tdqn7BXbCa8j+oxpolJz3C/9ed6474ChqBarurImtkHM/TU2xB8eJGFTQ7CvQ2nySL6+fvzSckgaDrEYNI5hXwFZt9sBnvwPlSwKJuJrsfDRtZT9+7RJvb41YLk2pDat01HOzNjZankRukzZYuwd2hfCRJSODvwkxykLvHZwktttUCxhbxbq2mSRKVzZAy9nCyl3ucLGu5xUCm5zeb7aUiRaSXfk6IMY+lnGewy3PphJfr7j6bPNMlkO/m15ekgYoqu6RgKr+RqFl84gFNkW62kCvs9A6XLXiddDfM+alLaC9qJk5tc0NW9nHWRTd99x8y4h7dgqOlilIpavVxQDfybFR/PjZeRn2hoZ+txTb6dMWqFxgJuJrQcc30sjb3TqQ3OJL0WqXav1UeEXV6vUL+FKOWCwl42oVaThXQqwnTGDHFtJyIqDeHa54L25GUe2w0HxSf5iNM/DjBeCWAmqQEjLMJwU8xH3ntK7v8eF9QfwB+ss3K+ytgY79BVwyfabkwq+PgrE9hRCSX821/kIEhCAov2KzFmrGzGn0VZt31ceI4TtpOkOZd010tHqywal6qvf3cun6LM0VoLoiE6Du34STYSpxMwxexDVyOzRcTIHZNynL4x9M8jkJt2sFPwXpmQU0l7PqUKVjpJ93A7UFXnaxrFVB8f6cu6USqtBOGgmJ5Vn5g71DR/w54KHIwz1AibWJjO4KFsNlDzBJcL5QSCRZeGeDQ=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(346002)(396003)(39860400002)(451199015)(36840700001)(46966006)(40470700004)(6666004)(40480700001)(2616005)(70206006)(66899015)(8676002)(4326008)(356005)(81166007)(478600001)(82740400003)(70586007)(316002)(83380400001)(36756003)(966005)(1076003)(44832011)(2906002)(86362001)(41300700001)(82310400005)(336012)(40460700003)(36860700001)(426003)(26005)(47076005)(186003)(8936002)(5660300002)(6916009)(54906003)(21314003)(36900700001)(139555002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 15:25:48.5271
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2dda3fa3-0b39-425d-fdc5-08dadeb0a4bb
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT078.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB5439

Introduce support for using XTF on Arm to perform low-level testing.
For the purpose of the CI testing, let's use the fork [1] from upstream
XTF with implemented support for arm64 (the upstream XTF only supports
x86).

Add a new script under automation/scripts to be used by the CI XTF test
jobs to perform the following tasks:
 - Compiling XTF,
 - Creating dom0 rootfs,
 - Generating u-boot script using ImageBuilder,
 - Running Xen with Linux as dom0 and XTF as a dom0less domU using Qemu,
 - Checking test result.

The script takes the name of the XTF test to run as a first parameter.

[1] https://gitlab.com/xen-project/fusa/xtf.git (branch xtf-arm)

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 automation/scripts/qemu-xtf-dom0less-arm64.sh | 97 +++++++++++++++++++
 1 file changed, 97 insertions(+)
 create mode 100755 automation/scripts/qemu-xtf-dom0less-arm64.sh

diff --git a/automation/scripts/qemu-xtf-dom0less-arm64.sh b/automation/scripts/qemu-xtf-dom0less-arm64.sh
new file mode 100755
index 000000000000..321d1abc543b
--- /dev/null
+++ b/automation/scripts/qemu-xtf-dom0less-arm64.sh
@@ -0,0 +1,97 @@
+#!/bin/bash
+
+set -ex
+
+# Name of the XTF test
+xtf_test=$1
+
+# Message returned by XTF in case of success
+passed="Test result: SUCCESS"
+
+# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
+curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
+./binaries/qemu-system-aarch64 \
+   -machine virtualization=true \
+   -cpu cortex-a57 -machine type=virt \
+   -m 2048 -smp 2 -display none \
+   -machine dumpdtb=binaries/virt-gicv2.dtb
+
+# XXX disable pl061 to avoid Linux crash
+fdtput binaries/virt-gicv2.dtb -p -t s /pl061@9030000 status disabled
+
+# XTF
+# Build a single XTF test passed as a first parameter to the script.
+# Build XTF with GICv2 support to match Qemu configuration and with SBSA UART
+# support, so that the test will use an emulated UART for printing messages.
+# This will allow us to run the test on both debug and non-debug Xen builds.
+rm -rf xtf
+git clone https://gitlab.com/xen-project/fusa/xtf.git -b xtf-arm
+make -C xtf TESTS=tests/${xtf_test} CONFIG_SBSA_UART=y CONFIG_GICV2=y -j$(nproc)
+cp xtf/tests/${xtf_test}/test-mmu64le-${xtf_test} binaries/xtf-test
+
+# DOM0 rootfs
+mkdir -p rootfs
+cd rootfs
+tar xzf ../binaries/initrd.tar.gz
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+cp -ar ../binaries/dist/install/* .
+
+echo "#!/bin/bash
+
+export LD_LIBRARY_PATH=/usr/local/lib
+bash /etc/init.d/xencommons start
+
+/usr/local/lib/xen/bin/init-dom0less
+" > etc/local.d/xen.start
+
+chmod +x etc/local.d/xen.start
+echo "rc_verbose=yes" >> etc/rc.conf
+find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
+cd ..
+
+# ImageBuilder
+echo 'MEMORY_START="0x40000000"
+MEMORY_END="0xC0000000"
+
+XEN="xen"
+DEVICE_TREE="virt-gicv2.dtb"
+
+DOM0_KERNEL="Image"
+DOM0_RAMDISK="dom0-rootfs.cpio.gz"
+XEN_CMD="console=dtuart dom0_mem=512M"
+
+DOMU_KERNEL[0]="xtf-test"
+DOMU_MEM[0]="128"
+
+NUM_DOMUS=1
+
+LOAD_CMD="tftpb"
+UBOOT_SOURCE="boot.source"
+UBOOT_SCRIPT="boot.scr"' > binaries/config
+
+rm -rf imagebuilder
+git clone https://gitlab.com/ViryaOS/imagebuilder
+bash imagebuilder/scripts/uboot-script-gen -t tftp -d binaries/ -c binaries/config
+
+# Run the test
+rm -f smoke.serial
+set +e
+echo "  virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \
+timeout -k 1 240 \
+./binaries/qemu-system-aarch64 \
+    -machine virtualization=true \
+    -cpu cortex-a57 -machine type=virt \
+    -m 2048 -monitor none -serial stdio \
+    -smp 2 \
+    -no-reboot \
+    -device virtio-net-pci,netdev=n0 \
+    -netdev user,id=n0,tftp=binaries \
+    -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial
+
+set -e
+(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
+exit 0
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 15:25:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 15:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463509.721724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5q7S-0003cR-Ra; Thu, 15 Dec 2022 15:25:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463509.721724; Thu, 15 Dec 2022 15:25:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5q7S-0003cG-Ob; Thu, 15 Dec 2022 15:25:58 +0000
Received: by outflank-mailman (input) for mailman id 463509;
 Thu, 15 Dec 2022 15:25:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GeMf=4N=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p5q7R-0003Mw-DD
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 15:25:57 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2076.outbound.protection.outlook.com [40.107.244.76])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c395c51d-7c8c-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 16:25:55 +0100 (CET)
Received: from BN0PR03CA0009.namprd03.prod.outlook.com (2603:10b6:408:e6::14)
 by DM6PR12MB4449.namprd12.prod.outlook.com (2603:10b6:5:2a5::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Thu, 15 Dec
 2022 15:25:49 +0000
Received: from BN8NAM11FT078.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:e6:cafe::8a) by BN0PR03CA0009.outlook.office365.com
 (2603:10b6:408:e6::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 15:25:49 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT078.mail.protection.outlook.com (10.13.176.251) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 15:25:49 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 09:25:48 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 09:25:47 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c395c51d-7c8c-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T4hpHOf0odZZHtdVqIx4ceag1VdXtqNvPY614Xl2QA18eoKNEFVplUUebrn9qUeTBNLCB1lgVhSdFni20qA1a6ooSNNpm8/HhJeehmixTBk5XcMJTxQuNXXCcAAx51S4Y1NtnYDoUREqKZoHJxf2M4ePbkU/PNAWNhfY7evEcFsiNW/BjCuQx+VWq6EQ+QfpaggUpzlnxKKRmBEFcI3wEpxbbbua3sRWkweey8PgQ+ZzWlhChppt4n6ZL9kqtOMEWdXb9tbGXSNLmDX22G9WbldoOt+62sbaj/FoUCHyTntJyA1/J6AJ9XGeEyx8eDia/1O+twEtoIOT6DIwnHQQzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xrip4Xf2zOjDvZUvwmqV8R9kg4A1h10uaKD0p9bXjmo=;
 b=PtQ7TWKZdN1O3cGjFqol7x5rZCyj40NVEwlZdMLFVtEu3UrgFQU2kXow0wbkY7HvQvEiQ6B5jX50bCyw+Vemanx3QoT1K666WvTtw+gu5D7UkA9hW4wZ1G2i9rISmkumVgNOZFrXUmpo4iGU3yZ9X6+mnhDJRBIpbEYNUYhw7vRQbKideKL7xIHZbhAVgtUVJ4W13lBNNUwDgZJgbc5zRATvhkxPUQXvprgcVhG6b+wSqtegP85MbkicV/s+swSWOiXXanJ1r9Meuxf/G6TWbaXWJ4f6EUEKQTWsCB5ioVOrg26+K5d/apzcIjC5mV4GikmUbI66BnZYPfQiGz5Ogg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xrip4Xf2zOjDvZUvwmqV8R9kg4A1h10uaKD0p9bXjmo=;
 b=RCv57ZZj6NaTsUDOe5zGaX9eqYhCU1aseFqFkyyijq3Xp06b5rPD34N/IqBFfYjWO8Wqg9WuXX9sqH04TR9MPtRr0mHYwagaNjiuyDoN7c+ALR4im79dV/zWvHKTnZfJLQGqBBwS0aSJn3lCeBhcPilUNulg5g9cp3juT8i7DGs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 2/2] automation: Add test jobs to run XTF hypercall xen_version test
Date: Thu, 15 Dec 2022 16:25:38 +0100
Message-ID: <20221215152538.10266-3-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221215152538.10266-1-michal.orzel@amd.com>
References: <20221215152538.10266-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT078:EE_|DM6PR12MB4449:EE_
X-MS-Office365-Filtering-Correlation-Id: d3df1531-7669-40e3-e341-08dadeb0a524
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XMyth+p3qekZxag8tRM6uiTR9m6U+9z1fzyIeJl4pQwzfJnjW9yfb+i+vajGUt50YM57+uEVwelv+YJVu3QsYR5FCzvquSVLd0DMfCojhr3LPAZ3wrIG2NABYi3WHxC8LyzjHzDRpYGZZ64GDgOs5YQXs/NLgoPI9BgbANwmJSbJT+x0IJLNdlebwGzGN+bDq4h+Y0kpozE7jvinr52EStojVQ0LYHtSu+WglNc38kivxlam8wZmxIL7Hke64x7UYRxpNr00GLfNGolXx9bxEPfylf4Yn0r3enUzCAYolfhL6/rPqgB4gp2/16aSi91QnxwC7c/VrlDxjZuZhv0O4dsgLjG+1H1atx9gRNmMT61MaFmBHA1SoCYyo+Bv3GW1tVpqFguqvYd7ltJCf/F40jXueD83o8j1FwxQyoWd7jtXGZrOOQAskgCun8j5Mo1pQ8g3DeG3UwGFDGEtQW4DDXOWm1eqYTU3M5rbH+xiisHXtVy5ot1I2HrIZ0ZfwHorIx0DJejaJZ5UF+hasrC2X6K1ApUPTFajT09XmCr0zRigVEDJbIaIr11mJCWfWqOQBJNRG4/+MnMy64BTNRRa2U9nFnSUdezTF9RCQ5wFPUhPUCEL2kbHf3ZphUB0T+T1MbwQY4lYF7gMS1eHLeeClSZim/Gt/LE8MwMrnod1uweSuIEqhgeJZXVwtj4HyL5nGE0+OjoQkly/ESM8hmL6QeHp1qFvUjVZ0EWBacHmDH4=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(39860400002)(376002)(346002)(451199015)(46966006)(40470700004)(36840700001)(36756003)(82310400005)(40460700003)(70206006)(8676002)(86362001)(26005)(186003)(336012)(40480700001)(478600001)(41300700001)(2616005)(4326008)(1076003)(70586007)(2906002)(5660300002)(426003)(47076005)(8936002)(83380400001)(44832011)(6916009)(6666004)(54906003)(316002)(81166007)(82740400003)(36860700001)(356005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 15:25:49.2302
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d3df1531-7669-40e3-e341-08dadeb0a524
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT078.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4449

Add test jobs in both debug and non-debug versions to run hyp-xen-version
XTF test as a dom0less domU on arm64. The purpose of this test is to
validate the functional behavior of xen_version hypercall.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 automation/gitlab-ci/test.yaml | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 2d57f4feb74a..9d4b5315e710 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -165,6 +165,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
     - *arm64-test-needs
     - alpine-3.12-gcc-debug-arm64-boot-cpupools
 
+qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
+    extends: .qemu-arm64
+    script:
+      - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
+    needs:
+      - *arm64-test-needs
+      - alpine-3.12-gcc-arm64
+
+qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version:
+  extends: .qemu-arm64
+  script:
+    - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
+  needs:
+    - *arm64-test-needs
+    - alpine-3.12-gcc-debug-arm64
+
 qemu-smoke-dom0-arm32-gcc:
   extends: .qemu-arm32
   script:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 15:36:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 15:36:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463535.721738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5qHp-0006Au-U3; Thu, 15 Dec 2022 15:36:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463535.721738; Thu, 15 Dec 2022 15:36:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5qHp-0006An-RI; Thu, 15 Dec 2022 15:36:41 +0000
Received: by outflank-mailman (input) for mailman id 463535;
 Thu, 15 Dec 2022 15:36:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5qHo-0006AZ-K9; Thu, 15 Dec 2022 15:36:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5qHo-00067C-Hj; Thu, 15 Dec 2022 15:36:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5qHo-0001fZ-Al; Thu, 15 Dec 2022 15:36:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5qHo-0000MF-AI; Thu, 15 Dec 2022 15:36:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2RX63gKub2qBN5MntfUpj4pT3+8UiIJXjuS2vxK9S6o=; b=FvoPTIOp2MGKWainJEmyZJDYI0
	j0PsxToih59yda/O8q0UZdoAB40b6mn/afugSW0ClALbN7cD7P0X5ceOFuCsytBrZoPryVMXLlbAk
	i10phvQjxhnkrJPt7rrVFBDSYttCy7XSoqUF09yGkkimL2cCdTZBFLxInFoGQHqQVcT8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175279-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175279: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:xen-boot:fail:heisenbug
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=88168c418c3bde7d51797e7cf875d528a8aa0eb1
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 15:36:40 +0000

flight 175279 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175279/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt      8 xen-boot                   fail pass in 175272

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt    15 migrate-support-check fail in 175272 never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  88168c418c3bde7d51797e7cf875d528a8aa0eb1
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    2 days
Failing since        175199  2022-12-14 12:01:52 Z    1 days   13 attempts
Testing same since   175272  2022-12-15 12:03:24 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien@xen.org>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 431 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 15:42:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 15:42:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463546.721753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5qN9-0007cJ-J2; Thu, 15 Dec 2022 15:42:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463546.721753; Thu, 15 Dec 2022 15:42:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5qN9-0007cC-GI; Thu, 15 Dec 2022 15:42:11 +0000
Received: by outflank-mailman (input) for mailman id 463546;
 Thu, 15 Dec 2022 15:42:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5qN8-0007c2-Pd; Thu, 15 Dec 2022 15:42:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5qN8-0006Cu-O4; Thu, 15 Dec 2022 15:42:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5qN8-0001v6-DZ; Thu, 15 Dec 2022 15:42:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5qN8-0003NH-D8; Thu, 15 Dec 2022 15:42:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=uTK9rOY7hbsy625t3ZQ4kswDWk78Nof8xclVANmvDnI=; b=26KHcXc0KcfqSBJaR9vcMV/AUz
	6JFwNeRcESVO87tTLU/zYjX1PYia0NVHM7RET84Jp9sifFdogXhFMobdHQ5uaNSBTFirIVutot59Z
	NMNmK2K0j14fQlPaDeptLEchPyPKTnWLVFm2bkptFeijGkfVJa5gWoS+5SLXJ7jEjD/0=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable-smoke bisection] complete build-armhf
Message-Id: <E1p5qN8-0003NH-D8@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 15:42:10 +0000

branch xen-unstable-smoke
xenbranch xen-unstable-smoke
job build-armhf
testid xen-build

Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  43ba5202e2eebd350161a8db674bf928c3e6f859
  Bug not present: db75092aea988b4be78c8273626f2ee40b4012b8
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175271/


  commit 43ba5202e2eebd350161a8db674bf928c3e6f859
  Author: Viresh Kumar <viresh.kumar@linaro.org>
  Date:   Wed Dec 14 12:03:09 2022 +0100
  
      libxl: add support for generic virtio device
      
      This patch adds basic support for configuring and assisting generic
      Virtio backends, which could run in any domain.
      
      An example of domain configuration for mmio based Virtio I2C device is:
      virtio = ["type=virtio,device22,transport=mmio"]
      
      To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
      region) and pass them to the backend and update guest device-tree to
      create a DT node for the Virtio devices.
      
      Add special support for I2C and GPIO devices, which require the
      "compatible" DT property to be set, among other device specific
      properties. Support for generic virtio devices is also added, which just
      need a MMIO node but not any special DT properties, for such devices the
      user needs to pass "virtio,device" in the "type" string.
      
      The parsing of generic virtio device configurations will be done in a
      separate commit.
      
      Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable-smoke/build-armhf.xen-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable-smoke/build-armhf.xen-build --summary-out=tmp/175277.bisection-summary --basis-template=175173 --blessings=real,real-bisect,real-retry xen-unstable-smoke build-armhf xen-build
Searching for failure / basis pass:
 175279 fail [host=cubietruck-picasso] / 175173 ok.
Failure / basis pass flights: 175279 / 175173
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest b746458e1ce1bec85e58b458386f8b7a0bedfaa6 88168c418c3bde7d51797e7cf875d528a8aa0eb1
Basis pass b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7a0bedfaa6-b746458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/xen.git#630dc3798e1d0d1b95f7be8b176563eb40e866e5-88168c418c3bde7d51797e7cf875d528a8aa0eb1
Loaded 5001 nodes in revision graph
Searching for test results:
 175173 pass b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175199 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 549b042943a57b748ce80070d1174e4ff5b8ef0b
 175203 pass b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175205 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 549b042943a57b748ce80070d1174e4ff5b8ef0b
 175206 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 549b042943a57b748ce80070d1174e4ff5b8ef0b
 175209 pass b746458e1ce1bec85e58b458386f8b7a0bedfaa6 db75092aea988b4be78c8273626f2ee40b4012b8
 175210 [host=cubietruck-gleizes]
 175215 [host=cubietruck-gleizes]
 175219 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 549b042943a57b748ce80070d1174e4ff5b8ef0b
 175218 [host=cubietruck-gleizes]
 175227 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 953efa0b7b188458b18e4a727f3b1dfa77eacb61
 175226 [host=cubietruck-gleizes]
 175230 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 43ba5202e2eebd350161a8db674bf928c3e6f859
 175232 [host=cubietruck-gleizes]
 175236 [host=cubietruck-gleizes]
 175240 [host=cubietruck-gleizes]
 175241 [host=cubietruck-gleizes]
 175242 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 549b042943a57b748ce80070d1174e4ff5b8ef0b
 175247 [host=cubietruck-gleizes]
 175248 pass b746458e1ce1bec85e58b458386f8b7a0bedfaa6 db75092aea988b4be78c8273626f2ee40b4012b8
 175253 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 43ba5202e2eebd350161a8db674bf928c3e6f859
 175251 [host=cubietruck-gleizes]
 175256 pass b746458e1ce1bec85e58b458386f8b7a0bedfaa6 db75092aea988b4be78c8273626f2ee40b4012b8
 175258 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 549b042943a57b748ce80070d1174e4ff5b8ef0b
 175261 [host=cubietruck-gleizes]
 175265 [host=cubietruck-gleizes]
 175271 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 43ba5202e2eebd350161a8db674bf928c3e6f859
 175276 [host=cubietruck-gleizes]
 175272 [host=cubietruck-gleizes]
 175279 fail b746458e1ce1bec85e58b458386f8b7a0bedfaa6 88168c418c3bde7d51797e7cf875d528a8aa0eb1
 175277 [host=cubietruck-gleizes]
Searching for interesting versions
 Result found: flight 175173 (pass), for basis pass
 For basis failure, parent search stopping at b746458e1ce1bec85e58b458386f8b7a0bedfaa6 db75092aea988b4be78c8273626f2ee40b4012b8, results HASH(0x559b83d9b250) HASH(0x559b83da5a20) HASH(0x559b83db2b20) For basis failure, parent search stopping at b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5, results HASH(0x559b83d94c10) HASH(0x559b83d9e300) Result found: flight 175199 (fail), for basis failure (at ancestor ~868)
 Repro found: flight 175203 (pass), for basis pass
 Repro found: flight 175279 (fail), for basis failure
 0 revisions at b746458e1ce1bec85e58b458386f8b7a0bedfaa6 db75092aea988b4be78c8273626f2ee40b4012b8
No revisions left to test, checking graph state.
 Result found: flight 175209 (pass), for last pass
 Result found: flight 175230 (fail), for first failure
 Repro found: flight 175248 (pass), for last pass
 Repro found: flight 175253 (fail), for first failure
 Repro found: flight 175256 (pass), for last pass
 Repro found: flight 175271 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  43ba5202e2eebd350161a8db674bf928c3e6f859
  Bug not present: db75092aea988b4be78c8273626f2ee40b4012b8
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175271/


  commit 43ba5202e2eebd350161a8db674bf928c3e6f859
  Author: Viresh Kumar <viresh.kumar@linaro.org>
  Date:   Wed Dec 14 12:03:09 2022 +0100
  
      libxl: add support for generic virtio device
      
      This patch adds basic support for configuring and assisting generic
      Virtio backends, which could run in any domain.
      
      An example of domain configuration for mmio based Virtio I2C device is:
      virtio = ["type=virtio,device22,transport=mmio"]
      
      To make this work on Arm, allocate Virtio MMIO params (IRQ and memory
      region) and pass them to the backend and update guest device-tree to
      create a DT node for the Virtio devices.
      
      Add special support for I2C and GPIO devices, which require the
      "compatible" DT property to be set, among other device specific
      properties. Support for generic virtio devices is also added, which just
      need a MMIO node but not any special DT properties, for such devices the
      user needs to pass "virtio,device" in the "type" string.
      
      The parsing of generic virtio device configurations will be done in a
      separate commit.
      
      Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
      Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
      Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Revision graph left in /home/logs/results/bisect/xen-unstable-smoke/build-armhf.xen-build.{dot,ps,png,html,svg}.
----------------------------------------
175277: truncated

flight 175277 xen-unstable-smoke real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/175277/

Perfect :-)
All tests in this flight passed as required

jobs:
 build-armhf                                                  truncated


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 15:49:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 15:49:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463556.721764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5qTn-0000CI-Ay; Thu, 15 Dec 2022 15:49:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463556.721764; Thu, 15 Dec 2022 15:49:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5qTn-0000CB-6k; Thu, 15 Dec 2022 15:49:03 +0000
Received: by outflank-mailman (input) for mailman id 463556;
 Thu, 15 Dec 2022 15:49:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=g8Eh=4N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5qTm-0000C5-Co
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 15:49:02 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2046.outbound.protection.outlook.com [40.107.20.46])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe632952-7c8f-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 16:49:01 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6820.eurprd04.prod.outlook.com (2603:10a6:208:188::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Thu, 15 Dec
 2022 15:48:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Thu, 15 Dec 2022
 15:48:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe632952-7c8f-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LG3PK6kZfii/MBi20hIx8sDbTB+WJLQnVQsDKnXhQuuR+5MfVqAyJnC+ZRJUxZ7QIoIbXmpGreUY9yZXYHQwqk2o1Vj5BxntHe7cUttIa10WwlF/4HOXj558EPs84fTMFf/AqPLvujmmaLTh48i0uybvpc6ulXj+oV2YFSPU9Rob8M9Li0XuzrX+JIxnrFFSGM1/GyriYdMVRBNq7x7EKGBHAHIBq71ZLQmM/qTXY69zcwFp4SnKmbrwxlbwZ1whmRoUxt/QamD8lR05ohUeCzE9Od8YfYk4K4SA1SSMoI7zA9HdPoa/g7bWA/jsBsRpkqcJ6g1O/NwKyBaXsyFf7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oceKss5hYKN711vmcuhTmnFPfZW+sexdiFHWqOCkPjA=;
 b=EDTh96nFl2ckikhnodLh7suscdu54kx6YkCDYJEJM4EDnqYbI4DNWW5yLTBWAKRYiQ0hm4823iFdiAlZ6csESuK7dGH7hIWLW2dX/xvTZjOaV7q7IZd5iEg06EyC2MF3KFvrxrKMxQtBrAVgJI/GKxRKYRLDfRGQQzW6xX7BuXnEUw9Fm/vAuuEoa6ZGOiYzw9ehDB5oZ7y9dlXplpGduOwm+0NsiQ9jyAwDRxnrquptWeAjNigRtarwrPfrf/F7baRneT1vHdJaLEkeHBR+cfmtn0o1+sHBbtS3eA9hmro63YaWSNzjZPZbc7xNs6ZWgHji/VfccJAC7iS2vuRsLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oceKss5hYKN711vmcuhTmnFPfZW+sexdiFHWqOCkPjA=;
 b=geBvcXzSgTMgFvGIoDmQzusODSuLhbDqk6IcD7Pzt8NYbQaV+vqwd7njgsdGRVAO7fjZT+OLB49MuoglLW8gYo80Dvsj1ZffzjutTaMfK6QtSPGwerhFKOYtNzQLyuKR3vQFnAWeERbN9YgJXy+yrKivKXcvr7NqRG7d4L/eFFCq22HJ56ciqhl/yhocfuvlrDGQWkX8ztJ9U421gsI3HQYiCST4g1CY6tc6Us0iKjXeiN2W3UAYV3o4dO0yV8GKj772/Q52DI7l8vx4e8fyqFFJ7xvmk/+capPGr948RhIne0y4Xu/2dHCBJTL+O1aIxImfeYEC3+JfdpY8J7gGig==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <58a87888-e839-8a5d-0e7f-7520e5e2c78a@suse.com>
Date: Thu, 15 Dec 2022 16:48:57 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [XTF-ARM] tests: Hypercall xen_version testing
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>
Cc: sstabellini@kernel.org, xen-devel@lists.xenproject.org
References: <20221215152511.10194-1-michal.orzel@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221215152511.10194-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0117.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB6820:EE_
X-MS-Office365-Filtering-Correlation-Id: 0fe9d852-5cc2-4c07-2991-08dadeb3e197
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0B28NhFZEiRsqHAFWUyE9bFDsCgMAzRo3OJfaCsZyj5Am2ir+aL7wTOL7tIP2jT8b0SrA4fIsYq2DrhQ21IfdlU6XE07uOKisB+3yTIxExheCbRjj7Rl1DIO5Gjzl4xSpeEzv9NjuyE/VxYXQzF265NpqR4s42CI3OMSeTbF611R2IKrTXlOxkmq4JQlw8BWW0FNnkt8gI9vqPRSsbUpJ8+JnfedBdv7TxFK726F/ohPsPMuZ+DrrMWe+FJYIHFRN4iBtF9sPC9gfXIn6/2yz+AKmlF3/cBCv6bAwx7VbZJ4hQEtgTULcLkOglrkK+8EwvZTq4o2eWt9EooeomC3lf+2c3F0edRAQIqct+aGNHxOSHsk7cLnk90OJ6o0At8F9gXYiq2J7CfLg0gyngvk9i/DBtkDjOSQWVM3aVpIwgjncz3K/T5RMc7JlIFhkGTMCdcTp3cpgTMg8MmiR1qeu52cNowHhSqbCd9TUJ/qbiEF26YTZfGm+yldrvW87yUsBfV4Y9l8Tn47iCobSZLEpe96pk3DkyywEo8D2kd/fxDkEXRVCaUaBipUmdNvVDNe+O/C0TdhG5yFFARLbF77Ub6jW4MB2FoPGO9sR+diUfMYvHbtZsKa8QzxSb3PQxbdf6DVB8OMLTLN/tnKiLldmBTJkibzfBLnQLVPElCRZMOAtxVUEfSRjkbLrKDXy6Af5+5KFOxDt/lsnuRS5BQqfquVRtGst9ItLP8c1rLsLCY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(366004)(396003)(346002)(376002)(136003)(451199015)(2616005)(31686004)(83380400001)(86362001)(31696002)(478600001)(316002)(6916009)(36756003)(38100700002)(53546011)(6506007)(6512007)(26005)(186003)(2906002)(6486002)(66946007)(4326008)(8936002)(41300700001)(5660300002)(8676002)(66556008)(66476007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZFpNVlowaVRUWWRzUXhCOHJycytxTzAwU1RtQnlKcTFEbmdFcVA0T3ltbkFM?=
 =?utf-8?B?RFo5TEY0bE9EK1hhSjlyc05nV3NuSGdCcStGbFc0dHY2L1BCVHE1NUZhYUQ2?=
 =?utf-8?B?K1IycU1RdUprcHJWUzhhN1FOanBEeEJZL0RPSTF4Q1h2NXFUdWRRdDlkU1lI?=
 =?utf-8?B?NHo2RzgwdVJGQ2pQU29YbDI4dHJSS1JFQmw5Z3cyeFJ5WmJTTTA5TFZCaWRK?=
 =?utf-8?B?end4MGF0akNqcmtXbzNmK1ZHVUllR1BFQVk4QkJXQnJDaUc1OWNDWFJGNS96?=
 =?utf-8?B?YWFMYTByZmhOZHFkSzJUSkduQnUvVS9Qc0ZEVUkxRFcxQ2hsV3lqVEhSTEM2?=
 =?utf-8?B?NzQwYWdvMVFWeHNCdFgxNStnTG5hYURxOElXTGZsUC92TC8yYThGUnV0VWlr?=
 =?utf-8?B?VnhOV21Bc0w2QndYdXZsYWJIV1RHRUdNbEg1dkdObnQyRnFwWkQ2QkFMVzNt?=
 =?utf-8?B?KzZ0Q0hnSElnU081VStpaVppd3pvOG91bGNyTnJCOEZpWFo4aXdnV0xQeDdH?=
 =?utf-8?B?VVF3dG14c3JZSUtkT0pFU1dXMFZ3TXBwMUJac3p4Sm5zSjR3eHdmN2JwL0Va?=
 =?utf-8?B?cjJWY21BTlo4NGFUVnFHS29zUWtlZDJDdU1CYmZ1VkdSMmNxRlNkRHhpTUty?=
 =?utf-8?B?Ty9GRys4T3ExWjIyeGE3OUs4VmVybmJqV0hxdEhQOTNOSEFIYVFYQ0VYSnhi?=
 =?utf-8?B?aEJTSGN3MUJDbWgxcGJBYjJTWFV1a2ZIMFlvdzJ6WVpJYTRDbWtMclVwMHRQ?=
 =?utf-8?B?VkJINXkvMWVXc3RxVmtSNzZ0Q25zcllEZVhSQ2hQOW1Paks4OENjTDZiK1dv?=
 =?utf-8?B?aS8wbUlXd3gzRnY2TUZ6bHd1ZnlERHJQWGpTZHdLb0hPL3Z5N1BUaFN6a1Ru?=
 =?utf-8?B?WUdoSldEdVludHdBN2VidDZ3d1JnVllxcnU0bmxVRFkwSnUwLzF2YzJFQ011?=
 =?utf-8?B?WGE1REljaVFMbUQzSC9PaDNGakQwZEQyWnY3bjVyelF1cC9rVHd6NHlRWk1j?=
 =?utf-8?B?UUVXemdlTjhXYXBuZjdEQlAwZ2J0enFEeExHWG4vUDlLbGhUMjdMSStJYTJI?=
 =?utf-8?B?STNLbmVobm04aU1XSXlaZ2w4QzVYc1RRTEJaMEUzTm9KanVFVnlRRTRvZjNZ?=
 =?utf-8?B?dW9PL2N2bVhzemd4ZFZYSjN5OGNVVUc5MjdNREJDUWdxM09vUnNNSVk2Slpz?=
 =?utf-8?B?SmM4R0VUTmcySjVPZjVqbmNNaXZNWExITC9SYi9BSnBKQmY4elIvZWxLTGEw?=
 =?utf-8?B?b1R0alF2dUJHT2dNdC9Ic0RYUllyTXM2Sm83dTJHd09lSzJaZmJPQkpDWVVW?=
 =?utf-8?B?SmhEQ0hZSjBZZk5iT1l5djFhd1pmMGdUa0Z4SkFlMjRXaEo3NjQzTHF3c0hO?=
 =?utf-8?B?RUJWQVNJVWUzOExiN2hQQ3NYZ3VyWVpVd1hyVUVrcVR1NlJPbUhvQ0srdFUr?=
 =?utf-8?B?K1R4dndoalhTTlQ3bTNYT1ZkZXZTNTV1Uk91VmV6SFFGMkErK01UZ08zOGFy?=
 =?utf-8?B?aFdQdTcrL2pNL3RxanFDT1JZVk4rT09LUVRnNkF5SGxhTU5scWpTZ0V6Q2lY?=
 =?utf-8?B?eHB2Qm9MUHpQVVFaY2RteXpHT3h3Q3hISlg1UHZxOG1BYXRwSXlyQXhBN1oz?=
 =?utf-8?B?TjVpdEUxeE05WUhrYlJyS0lIdHlIZ3Fwa2xRY0pIaHB0Ni9BaEU2aEcyR2pp?=
 =?utf-8?B?VVl6MXRIVGRHZ0hIc2x3am5lSXQ5WHA0bko0RkdIcVF2dW93TWZIeFgwL0g0?=
 =?utf-8?B?a1dUUDNZWjkwOFZxMGtNendnbEN1ZnhxS2tPQW1zSnRsUXg2SE9KTU1zM2Jy?=
 =?utf-8?B?aFBNSml6MHcwWU9OMUk4blhGRFA4VmZuQ2tudzJiUWJMYy9EdVhycFIxQ2ov?=
 =?utf-8?B?MjNqV2ZHSDR3dWtaRDhlTGJJMkJkdjA1Y1d5THRQbjFYYjhpWUJOSUpKMlVu?=
 =?utf-8?B?YngxODJiQW5DM2d5SDZKSWlMRVlWa1g2cFpxVFNIdE9EYmF3OCttSFhOa2FH?=
 =?utf-8?B?eWdIZ2tvUU9veTRqMHFSYmpqemlaS2dxRXZPYzNlYm1KZU4zTFhueDBNekVX?=
 =?utf-8?B?SmFSZTNNN29rcktQWE5kbE1wQUZnK2JOd0tWeWU5ZWlVVkpUbG1QREpINE5Y?=
 =?utf-8?Q?2dC9NhGEpNQhH+MqSbVrgh2KK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0fe9d852-5cc2-4c07-2991-08dadeb3e197
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 15:48:59.3357
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MhTr5xX0ZeBKqnmrmy+z/1osCVbP+kARz9IpWH2qaE1ga7HoRZh4T5w2buTP98n/hWYlTMkNeZUZzebLDjPzbA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6820

On 15.12.2022 16:25, Michal Orzel wrote:
> Add a new test hyp-xen-version to perform functional testing of
> xen_version hypercall. Check the following commands (more can be added
> later on):
>  - XENVER_version,
>  - XENVER_extraversion,
>  - XENVER_compile_info,
>  - XENVER_changeset
>  - XENVER_get_features,
>  - passing invalid command.
> 
> For now, enable this test only for arm64.

What's wrong with exposing this uniformly?

> --- /dev/null
> +++ b/tests/hyp-xen-version/main.c
> @@ -0,0 +1,105 @@
> +/**
> + * @file tests/hyp-xen-version/main.c
> + * @ref test-hyp-xen-version
> + *
> + * @page test-hyp-xen-version Hypercall xen_version
> + *
> + * Functional testing of xen_version hypercall.
> + *
> + * @see tests/hyp-xen-version/main.c
> + */
> +#include <xtf.h>
> +
> +const char test_title[] = "Hypercall xen_version testing";
> +
> +#define INVALID_CMD -1
> +
> +void test_main(void)
> +{
> +    int ret;
> +
> +    printk("Checking XENVER_version:\n");
> +    {
> +        /*
> +        * Version is returned directly in format: ((major << 16) | minor),
> +        * so no need to check the return value for an error.
> +        */
> +        ret = hypercall_xen_version(XENVER_version, NULL);
> +        printk(" version: %u.%u\n", ret >> 16, ret & 0xFFFF);
> +    }
> +
> +    printk("Checking XENVER_extraversion:\n");
> +    {
> +        xen_extraversion_t xen_ev;
> +        memset(&xen_ev, 0, sizeof(xen_ev));
> +
> +        ret = hypercall_xen_version(XENVER_extraversion, xen_ev);
> +        if ( ret < 0 )
> +            return xtf_error("Error %d\n", ret);

This, ...

> +        printk(" extraversion: %s\n", xen_ev);
> +    }
> +
> +    printk("Checking XENVER_compile_info:\n");
> +    {
> +        xen_compile_info_t xen_ci;
> +        memset(&xen_ci, 0, sizeof(xen_ci));
> +
> +        ret = hypercall_xen_version(XENVER_compile_info, &xen_ci);
> +        if ( ret < 0 )
> +            return xtf_error("Error %d\n", ret);

... this, and ...

> +        printk(" compiler:       %s\n", xen_ci.compiler);
> +        printk(" compile_by:     %s\n", xen_ci.compile_by);
> +        printk(" compile_domain: %s\n", xen_ci.compile_domain);
> +        printk(" compile_date:   %s\n", xen_ci.compile_date);
> +    }
> +
> +    printk("Checking XENVER_changeset:\n");
> +    {
> +        xen_changeset_info_t xen_cs;
> +        memset(&xen_cs, 0, sizeof(xen_cs));
> +
> +        ret = hypercall_xen_version(XENVER_changeset, &xen_cs);
> +        if ( ret < 0 )
> +            return xtf_error("Error %d\n", ret);

... this can fail because of XSM denying access. (Others can of course
also fail for this reason, but here possible failure is kind of
"intended" - see the dummy xsm_xen_version() handling.) Therefore I
would like to suggest that you also special case getting back -EPERM,
resulting in e.g. just a warning instead of an error.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 16:01:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 16:01:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463566.721775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5qfO-0003LW-Gt; Thu, 15 Dec 2022 16:01:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463566.721775; Thu, 15 Dec 2022 16:01:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5qfO-0003LP-Dp; Thu, 15 Dec 2022 16:01:02 +0000
Received: by outflank-mailman (input) for mailman id 463566;
 Thu, 15 Dec 2022 16:01:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t+b5=4N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5qfM-0003LJ-0m
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 16:01:00 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a8133c2f-7c91-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 17:00:58 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 99B7E5C0178;
 Thu, 15 Dec 2022 11:00:54 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Thu, 15 Dec 2022 11:00:54 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 11:00:52 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8133c2f-7c91-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm2; t=1671120054; x=
	1671206454; bh=awrZmvGiO2KkUVwWue86Sg88k66hu6jNS6XpevL9ZT4=; b=Q
	OY2Nhi9cWNqXVyEZTQHblyfgCbjYTWdAikPH9QjlGhWVDXThBA5hsHQ9eCqFedlZ
	c2IqU6MdtwRY+Wc4qZ6M64sUCNBashntNTqMalvxPc45fQJByhaOn+cue7PUXriJ
	B245+0O/tiHVrICze4+orgVG4Xvdr5Krf7iLuzt/i+IwUmy+lY5b4F23B9vwV0+q
	WWtkEqZeo6Yf9AmIA0/4iY0gzuAJIF1I32x7YF12vAsI6w1tNah1BPuXz5TAv23t
	47jcRzzwV+hqdxA2JYk2FCJSo15KN3U2gZmPcEFzv743mGkHfFn4LLYpFWlx33tv
	8cJmxEdbBwEmdxWyOUmTw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671120054; x=1671206454; bh=awrZmvGiO2KkUVwWue86Sg88k66h
	u6jNS6XpevL9ZT4=; b=NjVpZnMgHskM+deQ1g6T0hJM8vgRx1gziCUtFn39O3lx
	uDrp7TfAVQb7GNyVsLltHky3nhHe2NY6OpZNrLzg22dE5L8EDnA3v7pxqa7R8ozq
	3H9eZGDzTWiWHj1Cp4LJiTMIlMMR9lP7MQ5j854o1Jgmn5oGHC1kn7bUTCrwXi3O
	M/OwzJoofVrYpAzsoOu9eveMvTrW67XeLaomaQ2SBygIfu4t1z3vslzE/IYZodxi
	9/SnjqRTNPZzEkpa5uaIKktymcKVVGqj51+0DCtaOfMyOmNnl79MySUUWV+QWnOL
	CA3U3Vjqo72lPZ/aEYTdStOW9YC7HSQX+hb+1cT2GA==
X-ME-Sender: <xms:tESbY3GSxb1X8gvvFX9NKy4H9Cd9T52PWqJ9pEZs92mPA_NyB4tL_Q>
    <xme:tESbY0X80pRJnOgdqUq8Lov04uyD3A4akXbDVg1t24Rjhs13wLntx_fErifYtgYCk
    6RMFJAyyeeV-wY>
X-ME-Received: <xmr:tESbY5K_d0kuDa_Fm-q0nqElOk7wR87K4GnAI8ILpvvWHq7WVE3kvbWY52FW>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeehgdekudcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeduieelfeeutedvleehueetffejgeej
    geffkeelveeuleeukeejjeduffetjeekteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:tUSbY1EplVl0AO6EirSm6DTefwbN58aRU63qFfvPT1jMVutXKZev2w>
    <xmx:tUSbY9UhkbijCz1cZRpCv-MYwfnoTGjEBxeQU-4ZIU80C-QH0w-xtA>
    <xmx:tUSbYwNic2EOjL1KME6-cHsY_OS7u1ml8VfGcm2oWPa69wHk8TUClA>
    <xmx:tkSbY8EhOJES_7mXju5BxlrSkW13ihNJBzoBI5yEJV22IBve5NmbAg>
Feedback-ID: iac594737:Fastmail
Date: Thu, 15 Dec 2022 11:00:48 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 01/12] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()
Message-ID: <Y5tEsuvxE4j0I86T@itl-email>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
 <6a0d969d0aade0258e108009ef33ad5d2663e969.1671057808.git.demi@invisiblethingslab.com>
 <a44afad2-4b63-a830-1ed9-2bd87e8aecde@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="4A7ZhUqlpk9A9BBA"
Content-Disposition: inline
In-Reply-To: <a44afad2-4b63-a830-1ed9-2bd87e8aecde@suse.com>


--4A7ZhUqlpk9A9BBA
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 15 Dec 2022 11:00:48 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3 01/12] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()

On Thu, Dec 15, 2022 at 09:46:41AM +0100, Jan Beulich wrote:
> On 15.12.2022 00:11, Demi Marie Obenour wrote:
> > get_page_from_l1e() relied on Xen's choice of PAT, which is brittle in
> > the face of future PAT changes.  Use the proper _PAGE_* constants
> > instead.  Also, treat the two unused cases as if they are cacheable, as
> > future changes may make them cacheable.
>=20
> This still does not cover ...
>=20
> > --- a/xen/arch/x86/mm.c
> > +++ b/xen/arch/x86/mm.c
> > @@ -959,14 +959,19 @@ get_page_from_l1e(
> >              flip =3D _PAGE_RW;
> >          }
> > =20
> > +        /* Force cacheable memtypes to UC */
> >          switch ( l1f & PAGE_CACHE_ATTRS )
> >          {
> > -        case 0: /* WB */
> > -            flip |=3D _PAGE_PWT | _PAGE_PCD;
> > +        case _PAGE_UC:
> > +        case _PAGE_UCM:
> > +        case _PAGE_WC:
> > +            /* not cached */
> >              break;
> > -        case _PAGE_PWT: /* WT */
> > -        case _PAGE_PWT | _PAGE_PAT: /* WP */
> > -            flip |=3D _PAGE_PCD | (l1f & _PAGE_PAT);
> > +        case _PAGE_WB:
> > +        case _PAGE_WT:
> > +        case _PAGE_WP:
> > +        default:
> > +            flip |=3D (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC;
> >              break;
>=20
> ... the three cases here assuming certain properties wrt the flipping of
> _PAGE_UC. As said before - going from one kind of assumption to another
> _may_ be a good thing to do, but needs justifying as actually being an
> improvement. Alternatively such assumptions could be checked by suitable
> BUILD_BUG_ON(), which then at the same serve as documentation thereof.
>=20
> Jan

I think I understand your point now: this still assumes that the two
unused types are not UCM or WC, but this is not documented anywhere.  I
will move this to after the patch that introduces the X86_MT_* flags,
which will allow me to switch on (XEN_MSR_PAT >> pte_flags_to_cacheattr(l1f=
))
instead without having to change the code again in a subsequent patch.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--4A7ZhUqlpk9A9BBA
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmObRLIACgkQsoi1X/+c
IsEIERAAlIUdu37WHwu/d7aZnYe2mDgSm7CtWLKgFA/2OFDBPYnh/tiS8EzNLY/3
Ur2GPGVvkEjcNX/Qbtafa+wJrpq4sG+YpbYnGm+dkGzwVYWdMIQ1Wswi8h0zVdhj
yTEqRufJa0ATpsQQ3ZnixGTepTUwWti+3MbD0LiRAo5NBuZkJKet3kkOqlbjBVqy
MoO64RSz4OSBJ6byMiWsgAe5rI8V5/68oKghCzc4aAB5weLyzLgDJpJ2sRrmIvdq
sz3JEOliiz2v0FNYOU4BK+0zvSvZLMO/LNeF8jboTDxE4kfOYI5xlfLCQfER039c
m4CLs0AxW1S9q5KVg2pETy+k2QU81flURhB2QZI4iF2MnBmakgPWjsgQU5WI71Oh
m0t0UN5RpbY67SAdwuYvOxurJ7OD3CHZHxjbvE7DlzeSKMbNhED7YSkP4LeeyB4w
+du6jag2UxsZ/LN2+rDIkkWA7MK0zhwBHYzqBzCmZaQB83mrTzaKn0iqMKWCpxOD
Y6Ky35zXKLHUTO3jbsV6BqLEjZgXorDxMrKJTe5t4cdXxvPPklJGy5CCgrh9r3Pm
GaE5J9vsnlxDOKasPnquG+wVAWHHiSm24r0UgDtkxpCZyzAJ4Dn+kEpBAgKSjkTW
nwg3AGGtidy48vf6NLXIAl2+9TBExEB5bgepGbW4Wyic11fWkSY=
=/ZrJ
-----END PGP SIGNATURE-----

--4A7ZhUqlpk9A9BBA--


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 16:19:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 16:19:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463577.721786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5qx7-0005Ju-2t; Thu, 15 Dec 2022 16:19:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463577.721786; Thu, 15 Dec 2022 16:19:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5qx6-0005Jn-Vb; Thu, 15 Dec 2022 16:19:20 +0000
Received: by outflank-mailman (input) for mailman id 463577;
 Thu, 15 Dec 2022 16:19:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=g8Eh=4N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5qx4-0005Je-Nl
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 16:19:18 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2086.outbound.protection.outlook.com [40.107.105.86])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38f723b4-7c94-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 17:19:17 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8637.eurprd04.prod.outlook.com (2603:10a6:102:21c::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.11; Thu, 15 Dec
 2022 16:19:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Thu, 15 Dec 2022
 16:19:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38f723b4-7c94-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c+TRoKG2WTX6ar88BHnKRNZB6HBvE+E7KBk8kNodEMNqkln2CU2GyndPy90ryfDmc2OLCKWFbvK66vBFcehHMWavLLLrYBkXCAZ6E8tS734IKRDYH9VP8uI/fONJeaaBDtLBapigAMNQZqkFI/CYNzE4ihEA+g+qhu4+zCDzxS9Oinq9bhbo/ojwCgMDyhycE6Su72ye080jnJEFC+yzVtBRJkv/MSmvzGXo7nyWs/zBtHQf12qSz9uNKIfK0+4KH9tcFVFai6fjLUJQ+epAqyihy9w29zZmCawTIIMmT9ar2eN72OLCJhPsJSacDsJAs0zI3G2HOQkH0HIotoQYoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r1kO7gZPpgT6AwMCUQla9n06WpqgNnuZMSnGTiHLEoE=;
 b=af3v7WbJZMF86FWp3mYD52AEg2oEEt18+f17QUDEcBKAKwNauWV3c85W7VU2nbV005ha2dyVTW4/YQt2YhYo+s/fd0rS34d3a53jNqK62YbRbPUSkMRGLkibcdry4qQ79UqafQL86Aa4BnDDTgCVNoXEeSiDmXjyqvt35dW+yJUo0hL/6W+JEmMVAbu/iByUSzZVsp80piF/hidT3Yz52/ihOBmnAJNCJk8ZjRfAO7WwLKxtU0rPZyQvEGZ8PZhBwIs0d+0WxSWfS48Hy8iVsi0jLnl5AP5vf+ePYkCIHEBJ3Pvy9yFCupTK7lQylskHM0okLE98+ASOpasJUpE0ew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r1kO7gZPpgT6AwMCUQla9n06WpqgNnuZMSnGTiHLEoE=;
 b=O4vD/XMD/6I6UzLh7KcJDcdGaWGc9NPoUdS2qbsQYbaXSCU01ixudYFWixqd5zngVipaEJkyc1z7t2GKz4aJGqGeEJYe9bwUgBeuZM8iGSj7c9ukPHY1IHuS86b5+Es5/+v30N5DT2iaraWgyX6RO5B0ZtHCrL0bVY/9f4O9bDnIyYNZwfaNyhyBWTpGdoL1+MZqstFYTjyl2KFHH8rXXcl7KuRoJNq89GudAYiHQ0oPF04qabTXvdZoQSqtW1AX2pgW4NJZ6In0jp37EKAJ7tgtiyxYWreWpsHBLpgNnnxj5gc+X+A3heUYvvSOX6/wkk4fL6Xz7LxeIQXP7g47dg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <41fe2bbc-b650-2638-690f-28d1213531e3@suse.com>
Date: Thu, 15 Dec 2022 17:19:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 06/12] x86: Replace MTRR_* constants with X86_MT_*
 constants
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671057808.git.demi@invisiblethingslab.com>
 <8ab41b88c5724df7ee31d7b21221d5727216faac.1671057808.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8ab41b88c5724df7ee31d7b21221d5727216faac.1671057808.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0007.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8637:EE_
X-MS-Office365-Filtering-Correlation-Id: 31ab4832-e9c1-4b5c-3ba9-08dadeb81bcb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	al6/cE27Ycjsg5sYtQSOh1rFERPY1PHGFZb3St7XJHOHdJo6bno+oYwe7l/vZ0cq2LLetOdcqb3bC42SWCKzmY2+ghcg7auRlnliu7xpXTuAg4nfvMQztGXn38TOdfJUDOIIIr2l5Y7Smk6fx1YiF1pgElNFpxN9lrolq1gP5iOMD80jluBKYRdSmHs2EtHb2M7O1o+O/kTBsVjnDOCxgORQaiUa/gLU8Zt53D6XkZEKReAD8iCryQ+78iRuYwwq8kg5apihG2DTGvYD7eluMIKW4Q6VPIK2I06gBT59yV2MovzfYHgNPXgw2OHoDUYB4lguhdhQADrgL36Kw+/mJZpI2qGrmO5b91zf8JFFiEfOt/x+xE3vtcCOxQBPgvyQDWRUA8uaLn/5+L062VnPYp41HnzSiTZgCKD0n+gJTcRKE6zLG2NXhlJCZEENqDmT7QFA2k+LEto7Txjjg2LP+G/cLGDIlM61QOlYy9RnIaUP+Rbn5vXi7KMPRlj2gdmiIfa49eKNoWJHC9+zC7kzDluWAxHylwpmyVPsW06TRrjkPs83viuiAuAfUzsOdYB5zUXS7UYLinuYurjI310K5Mqb86Ee3+W6F/ripZTdz6mUbkfrX7Uodu/SarXdAth+FoTpTwgWmIJZnrt3wzPlXlTSyCLHoFPQscIYwJHVNokCk5hX6qGD0txlEMtpJoxpsphGw2/VG0VBH6KjSAIt5VELJ4VkriS4SixQlFEOspY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(39860400002)(366004)(376002)(396003)(346002)(451199015)(6666004)(36756003)(31696002)(54906003)(86362001)(478600001)(6916009)(38100700002)(316002)(7416002)(41300700001)(6486002)(2906002)(4744005)(5660300002)(8676002)(66476007)(4326008)(66556008)(8936002)(66946007)(26005)(6512007)(186003)(6506007)(53546011)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cERwSW5kcUNCMWpRaytUOFVpSHpOV0w2SHlNTXkvdnNYSVlVa0VpV3I3TFF4?=
 =?utf-8?B?UnlLcU01T1Jldk91ak9lMWRqMmFRbFhUS1N6MkJLYjk1RlZDc1YzUGN2T2Z0?=
 =?utf-8?B?T1RFeHdtdzNKdzZoMTViNW5CR1RTKzJydzdpcWpMbktZa2x1MXhhQ2Y3Ykwv?=
 =?utf-8?B?dDJGNjZNUWFoRlJwVHcrVjBwZ3htWjkrQ0hMNE1TOVRUZThPbW9PeXFaa05S?=
 =?utf-8?B?N2R5UktKZkRCTDNMZ1ZNOUpsVjVhODRZN3BsSnkzOTgyc1BuWXBjc0FrT3BH?=
 =?utf-8?B?a0cyMjR2dWt6UEI1SlR3NW4rWEJsemFjM1FwaFBHSlRRYzZhZW5TQU1rQWMy?=
 =?utf-8?B?U2hjSkhQSFB5c0VHelNxdmVYOUVreGordGpXUXo2MFNOSlo1d3E3MjN1aGNq?=
 =?utf-8?B?ZU81T25GRlR5cllLNlZmMjVxNDFpUHVwTXpCOGJWMk1DemZRblpqTkxibGNu?=
 =?utf-8?B?SEl6Yk92a2t5NSttRkE4a3VIVzh5YUZrZDYrZTU2bytVUTFJcU51YU1UTkF6?=
 =?utf-8?B?YldXOTBIRFNvOGpoT0hpWURRN1JpWmNrNTAwZHRhODBUNFRwZWp6dmFBbDFx?=
 =?utf-8?B?Y3RNTGdweGlhOEQxcG5XWFNLNys1dzlzN1k2L1dNR0k0MVgrTklOMjJtQy9t?=
 =?utf-8?B?aE1TQk9SaDRXd0RJMG00RFZWNmFmS1BnajNteDlzdER6Ymd6WCsxV0Q3aEFH?=
 =?utf-8?B?WlR5N1gyZmlxRHpNN1ZwVkZhVzViYUVqNjMzanhMWXVSY1RRbDg1ZDlBSE5l?=
 =?utf-8?B?NmhNVXZNUUxNNVpuL3pCeE5KWDA3MnIyOW9hYmphek5wcmliVy9zbytZeWFj?=
 =?utf-8?B?K1ROVldwM2gyMHJCVmtGMmFoeHBkRmJzeUo0YWtxK0c1QjZUa2JIUDVIRURt?=
 =?utf-8?B?a3FQKzBYZ0hTUll2bXljQ2FyTmdDbmxVc2Z3anZhalhiNXJJZEtuY1BKUExI?=
 =?utf-8?B?VnhHQXl5dWc4dnNlU05sWEphU094OVJKRUlCR1NXKzBUaTRUVnJkVnZOc2FM?=
 =?utf-8?B?dWI2MEpqTEh6VmU4V1F6c1VGTmF6dVJ6MDFySE13RnExVWpvOEVsc0dkYUNj?=
 =?utf-8?B?eFpxOXNhNEp2djZlK1U0b0pSbjUrcm5HOHNOekRpWEJhYTRnVC9XQXhuMzBD?=
 =?utf-8?B?anFqT1hOaFhnUVowY2pnbTVTV3FmZUNGbGRTT0Q4K3F5ZnhEei8vSG15Z3kr?=
 =?utf-8?B?RmI4WlArR3BqTnE4MGVkU214aTlrMGlqOU0xU0ZSbDhGSklFRWxkY290NjVz?=
 =?utf-8?B?ek4rTTlKL0xIeFRuVE5Zb1ZBZzVHUWJ3K1lUWmdueS9tVWluNWlJZmo2UEVH?=
 =?utf-8?B?MHZCMXIrZG9vMzJJYjcyNncyR0ZrNDJoMXE3Sm9uSERpQ3lWb05nZ2Y2Qkdm?=
 =?utf-8?B?YTJRTjRzM1FvNS9saHY4TGpuNU05aUxNTXRCZUcycXgyU1BFVkJaQ2lId2N0?=
 =?utf-8?B?aEk4MTVoSHVEMGVYcStHcTRjM1Vuc05DK0ppNHdIRmNWTWtTZ1h5b05ZWVJT?=
 =?utf-8?B?RlRBZTRaOVhHUGV5NFN2ams3SXFnWkdOYUZxeEczVkRlODZ4cGx1RWVWSlpX?=
 =?utf-8?B?ZlFMVWNwMHpBdWx5MnBnSFZGM3A0V2syRzMrS29nRkV2ZUdOcERHbXR6M2hH?=
 =?utf-8?B?bC9KOVZ3WGRlOHhDbVA4bUhyc3BNNVFYS0lLTzBjc1RGK0gwRlU0MkVXbjJk?=
 =?utf-8?B?TUw0N0hNR1pvQmVVRTl6NW4xQVBNd24wVit6bzhCY3FoK20yM3NROFd2TkNq?=
 =?utf-8?B?L2c3V3ZuSVlqVndrMzdiekRZVXZpOE1YQndjVk9GYVovTFlKaWNISXl6RmYr?=
 =?utf-8?B?WSthNmxIQ3pZVFRFMlJsdnJmdVZhcm9jd3FUdDZCd0tRSkE0ZHZ1K1UvdjhO?=
 =?utf-8?B?aUdsWnFUTS9mMElOL1QxQnFwRzFGWUw5U1FPQ05OQ3hxd2R2NU9HR2NOdDNx?=
 =?utf-8?B?bWF0ZDE4ajBUTUM0UE9tcnMwZkNxOGk4U2dGU3F5SzlEbnB4akNIVVZvYkox?=
 =?utf-8?B?TXR1bEMxZ3ZWY3Y0VU8wbml3VGtIOVF1emtwZDFNNC9OcXg4c2FPSFRNb29s?=
 =?utf-8?B?T3l1RG5VbmVKVkhqUXR2cXpMUEU3M2IwelVRK3UvbzBTbEY4T1V6VGtITDd0?=
 =?utf-8?Q?tV4lWkzMXv6dwU623jHioIM8P?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 31ab4832-e9c1-4b5c-3ba9-08dadeb81bcb
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 16:19:14.9561
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: w6oN0K98ML+6K+FuP5bjq7YQVHLiIJL1C/ffLH+l156V6Dzx9cVp8ihAKHSst5INGbtRkkgijLCmV7VltQQFSw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8637

On 15.12.2022 00:11, Demi Marie Obenour wrote:
> This allows eliminating of the former, with the exception of
> MTRR_NUM_TYPES.  MTRR_NUM_TYPES is kept, as due to a quirk of the x86
> architecture X86_MT_UCM (7) is not valid in an MTRR.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Thu Dec 15 16:24:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 16:24:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463585.721797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5r1h-0006lG-Kt; Thu, 15 Dec 2022 16:24:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463585.721797; Thu, 15 Dec 2022 16:24:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5r1h-0006l9-I3; Thu, 15 Dec 2022 16:24:05 +0000
Received: by outflank-mailman (input) for mailman id 463585;
 Thu, 15 Dec 2022 16:24:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=g8Eh=4N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5r1g-0006l3-KT
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 16:24:04 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2056.outbound.protection.outlook.com [40.107.22.56])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3e0e449-7c94-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 17:24:03 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8644.eurprd04.prod.outlook.com (2603:10a6:20b:42b::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Thu, 15 Dec
 2022 16:24:02 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Thu, 15 Dec 2022
 16:24:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3e0e449-7c94-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ai8aAEOFnZWd3EMkL5cBvikFybM7Y1j8ze5gtIF+MsKUMpcJ9yvc/MHofltRtoMvmviSZ1Kq8OYiZvJ7Cl4c9Y9DjNjbvMxY2+aIu859hc1ssMI+EwdFMke2/k6Il6MG/IYJMX/JBDH26zeGny8UOTQe5ytgB5jUeSh3uK/ne/0L5tYgiWiJux7+zjnjprnhz4rnTAv4VoO/Ts59AQfwXFNQakueLIYukIN6QcVcHnALY+ESnLFSCUsYjSB/2oYdg3FcXhl+aRLvR5tpyf44WDXT8xE4jq8xOZrhgg4IzS4tccMkyvBD0HGiVKFESF0slEW/kjcBtag3eLFu9VvLcw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7aat3C6wNkLG25RX9rHUBU24tPQrGUHp182EBatY+ys=;
 b=YLxh/RS+wbifbPhcQ4K0mKb9FJEsq5An4gJ3l42Xc9WvxaMT4w5SF+EPr2ZpncX2bF196UHkydHFEWjgWDsqwus0GtEF8KhOZ7ramo/BWaUS4G+D6XvF6u3e3i1y5jxXLXyV1BBuH+xmSZ9mJ9t8YACWgNOqPhaYDbdbzQRL5IEmZAwbohv78rROv3Fp09SZIlb4uRH/jvjwKJwbvtzQmmIHFZWw1vhs4IbMEZJHpXbAiF4uSM8+DlM5pRUbyPolIyCelvrJbzi+emDmvhH5Qs5tRRfuJk9FnS1GAlv22q6svfE5P2k6Mxsv0wMDIdRg6qrtZVaG4v+p3px5j9FoPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7aat3C6wNkLG25RX9rHUBU24tPQrGUHp182EBatY+ys=;
 b=tO/jAeX/DKe7XOdnn5Z9IlL9C6tKkYU0M/L9PSR0ZNSeyW9FSkQPF1Fm+eF3XUK1lkBiLsWZkYMguaahh73bOsCkNvJ2ZiJ1Kt8tDK5RUTfIOvUTc3lUn6WnpFCgtMgGhK4x2/4bn/pBAGRB/u9i90oGSVfqKuJ5UOTMaDZTFRkfUChf/057pzA+YZWaCaLcrZuBDFJ0rx440bOkA7r46fBGATtl23qpCa8QKIFIoXmsDleihiFbuDvN5rM8GHSAlkonq6aS0SikK6xMkdOSjv2LYvuhPfLVsXDoTqSNH5JOUXWUL4qSnH3V7eStDzG5MGn2xT7k8Zp0NB8/o/KtoQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <59a0c496-a8cd-b6f2-d10c-e8bd01fe511d@suse.com>
Date: Thu, 15 Dec 2022 17:24:00 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 08/12] x86: Remove MEMORY_NUM_TYPES and
 NO_HARDCODE_MEM_TYPE
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671057808.git.demi@invisiblethingslab.com>
 <1de1a7456e4501bc67faa8ee17af76ca1688781e.1671057808.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1de1a7456e4501bc67faa8ee17af76ca1688781e.1671057808.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0006.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8644:EE_
X-MS-Office365-Filtering-Correlation-Id: d596ce72-ee7d-4e7f-e239-08dadeb8c73a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2eFyjT0o03Gt5QeXSr9MaiL+xc/Rcg345rOYr7v/HL95e4Pp5hOt4NLUXLdziM5nsHAkxtw4Cf0b6+YPsjrL3PUTZud3/+kWk9V30+wMrv7hNkBMJMLid0ZBDu/ID43CXDgjnzvmRt5w+TYRx5BntrZXQuGExPI68zod1rIIAXZ98j6FZ8SGuIIvIor+ucQ7tndqzjRtKVXXWvMgPcEDFJMKbNBdgcmUsGvkT5SQB16FvnI24DcRxXQNjycAWzRR85hEJvnhhCHdZdWhzJgYwXuNdiDGsoB04Ugp28nslKrRgjqcP7XzrWlv3vR7qykXIWz0pBFa7jx67Z13DxrRELOwx/KMp9ow/sErJXG3ppwoLvbn87uC64c6BOQOcTUCIj6aKgHfgDgND/ir+kQ98gdubaXjaBWcxG3BAFdJzoHppRDZIFvt6ZZfu8AGK+Yj30O6Kx3fzyly/fLtW3VCiU7Hg/LebLQTTzvY5wpUz9Y6mNgCcwmQu2DWKzei/Xm3R1gy/m/D/hQHBY9RkvNdX3cSSFG9AkKQMhFPhxyLpvHvOJFf/F+Cnh4dVmoH3Me5tq3OUo2pC15j9Bzy3SzEQk4swceKLtB0xJiBl5WYKhBwWpuPeY3ni3G9ZVShi1s9juZn1nUfa1WmX+ZsellKOBpwxugFycPFLdxkvMjWPFpYpvsLpSlkqYP8eDqLxU8fr9vzBB5xBLPqmmCMxhdkpkPvqgBeCeJnV2u7rscPQhk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(39860400002)(376002)(136003)(366004)(396003)(451199015)(6916009)(4326008)(38100700002)(7416002)(41300700001)(8676002)(5660300002)(316002)(66556008)(31696002)(36756003)(8936002)(26005)(66946007)(54906003)(86362001)(6512007)(53546011)(6506007)(2906002)(2616005)(186003)(558084003)(6486002)(478600001)(66476007)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bTBSSkVGUGxHbHdlL2lDdVVhMEFDU3ZUeS9oTHJiaHVwSURRb1UxZUhabGNO?=
 =?utf-8?B?b2NLdU9ZaVhGSEZvUGowdEUzWlhWQklHU2pJMzgrWDBGcFUwTDRKYU1FWDV1?=
 =?utf-8?B?a0lOTW1zYlhZK0Rlc0ZPaEMxYkp3WTlaVmVZQkdyMkdsQ2J0ZWFPc2sweUpV?=
 =?utf-8?B?TjdvMnB1dnd2YWNFeVVocWNGL3NWNjNTcVNvQ0w1RGY2ZVdxV1M2d1hvOGJO?=
 =?utf-8?B?MHgxMjMrK0hmaEs0aUxpYndYZnBlNyt5N2MyQVVFS05ZUCtpTTZsWG5VOEtJ?=
 =?utf-8?B?bTVaTUNzRndQWG5ubjVkMlE5MHZLTFh6bldIdWtHaGFSSFdxNDVYbGdLUndn?=
 =?utf-8?B?TzlTYUExdU5GeFpxbDhUUjRaOGxNL0svejNhbGliMVlMS0FOZ0VQUWxOUUEx?=
 =?utf-8?B?MFU0ek9pNTAyU3pxYlVVVDkwdFoxQkZPQUdiZEMwejZEKzQyKzlJZlZCZ3VQ?=
 =?utf-8?B?RmFKQzhDNmZzMzBkcXNXMytCaU1DcE5PcmlDZ3RkYk4vN3E3VGhEWEN5aThE?=
 =?utf-8?B?TmEzMG9Rd1BIaU1hTS81VG04c1RRck8yMmFvdzVheFVPaVNPOFF5cHpycjhx?=
 =?utf-8?B?eENLK1ZLUFpBUmhuN3BaKzBrbTBETEY2bXJ2Z2JNdGZRbUdYY0VSSWVMUTZE?=
 =?utf-8?B?cm9BT21GUjJhdXQrVDJzYUV4OHZubU90a2p0ZmdtQmNTd3E3Yjl0SktyTnla?=
 =?utf-8?B?Ny81V1hnZUI5a0h1S1JZNm1KU1BmWGk0OVJlczYzNTRIKzk4NlFyYmRBMVdr?=
 =?utf-8?B?d3hPa3QzRDRIVHJoTXp0Z21TNDN0NzBRem9sZGJ0Q0FPamFVUGR4cktTVi9U?=
 =?utf-8?B?bDJsMWRjajk2UVQwa3N2NGp3RWx4ekdSZkYxY3p3ZExQbVdhMDNzNGplSFJP?=
 =?utf-8?B?QUhGWWRYR2p1RlllSTVQS0RCRGR2dW5XMytlbHlaeGtFZ3AyZUt4RENlRnVE?=
 =?utf-8?B?am5rQ3l6RlIxYkxWaFNqV3p0NFBadnlVbjVkL3l4ZWd3cldheFNjaXpNczlv?=
 =?utf-8?B?YXh3ZFJyN01BbE9lb2FrMUVGekhKYWovZ0dtYnZab1BkR3h4VmN6NWdwVERh?=
 =?utf-8?B?c1hvR2hBRTVyTjdiZXNkWDJ6MWsrdE5LelhPbFJWa1hYdjFzbHRTYzBnUjZo?=
 =?utf-8?B?amd1MjhrYVU2S014cWJTZWVvMnBwNGFqODNVc0lDdENYcGdTUDRUckVJb2ZH?=
 =?utf-8?B?RWdzc0cxcXJvRGxGcHhjYkJTeWdOSUNVVlVCUXVLTTFuWmhTOWtFUVV1OFlM?=
 =?utf-8?B?eGdaQ3hSQlRsZWVnQW05aDdISEluTHRBem9SSitXN0RHQW9YUTBVZEMzZ3JO?=
 =?utf-8?B?SE5JM29pMFdqdTdTMjVLTm05Mml0ZHFCeDUzbG5DRnpZV1Yzc0prWHdEWk5C?=
 =?utf-8?B?bmNPT0dReVlTbkVOam1oNFZ3bHBHVkkybnU1RlhGWE9rYllSMDZsTFdwSlB3?=
 =?utf-8?B?eVJudFRtVDNySTFxWkZoU1RtY0VlaWlLQ3JJOG90K1crLytjSnNtSHZxVm9L?=
 =?utf-8?B?TGVuY1JtRXdmVHZyOW13SXRkSGhoN05PQXNhSyszWmlZb3NEZndKNmxVWmpm?=
 =?utf-8?B?YjdJK09LS0NMZEk2ZWFyc1NwSUJBN3FRV2x4ZFdmVGgycU5pUk5Fdi9ndk1D?=
 =?utf-8?B?b3p6UzFYYzhYWmhIWHRmOWZQSzBjd0JuU0pnWDREakFLenFyZFowSldoZU92?=
 =?utf-8?B?RkJEeFlKQ2cvbVh0THl0N3dmeW55NXU1ZGh1MktTcE5lN3pHOWI4Y2ZUS1pr?=
 =?utf-8?B?L25FdFFBTERRZy9UREl2Zm1NNzczc3dlSWdBVlJ6QjEwWEVKdWZHRXlNaFA3?=
 =?utf-8?B?UkV6VTE1Ump2alE4UGd6bVI2QllhSDZpc00rOHNIWXljdm4xczBiU2VqQ0hW?=
 =?utf-8?B?L2hwRnA5Y0pNZGlyUzBxczhRWnZ5SExmbW55c2pyZk01VzNlSFUwc2FLZmM3?=
 =?utf-8?B?Z0tVbUpwMEM0L1UyNEJnOHpxblhCb0xGU3FOUGY5cU5rSEdvQWN2TjhNSG02?=
 =?utf-8?B?NitXUFZrMkJ1NzRQcDVRTkhVc3ZacDc0aUFwSHR0YmJEcWpTRGN4dlFBNjI5?=
 =?utf-8?B?SXlGUHk5bnE2MGttSGN0WjF1bytFU2VrdXd4a2NjU0pOeVhFRlRkUHIwRFda?=
 =?utf-8?Q?Yi3CS7PJ9XDgRZCacT//Omj9S?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d596ce72-ee7d-4e7f-e239-08dadeb8c73a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 16:24:02.5470
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6/B56IRuWhKRy+2eSz13pis/tuFN42JMa/2l45+SJljLV/X2rGh0fFfwEnFAfGuMz7zdhduyBXQPXF/L7eiU6A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8644

On 15.12.2022 00:11, Demi Marie Obenour wrote:
> No functional change intended.
> 
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

I'm not convinced removing this (visual) distinction is a good idea.
I'd like to wait for other maontainers' views here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 16:35:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 16:35:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463595.721807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rCd-0000d5-Mx; Thu, 15 Dec 2022 16:35:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463595.721807; Thu, 15 Dec 2022 16:35:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rCd-0000cy-Jg; Thu, 15 Dec 2022 16:35:23 +0000
Received: by outflank-mailman (input) for mailman id 463595;
 Thu, 15 Dec 2022 16:35:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5rCc-0000co-Rt; Thu, 15 Dec 2022 16:35:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5rCc-0007uJ-PE; Thu, 15 Dec 2022 16:35:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5rCc-0004hz-Af; Thu, 15 Dec 2022 16:35:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5rCc-0007uK-AJ; Thu, 15 Dec 2022 16:35:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=VuaSO68xT5CtnaAAgxG7ahJ9TJYmfX7LjWnYz6PG0nU=; b=0dwFhgkxOw0h6jYAzai/O5QH3O
	O9YkxdjVHSQHJpwF1RmgXSFZ5rBDtat2aHc0llPQ3lb37JfnuFdDwFNEejo5S4fvH6tSIFt3oMhsD
	xE44xHec1XhZlWEju3Cydrgjj2JSx6vavAgaYwa2J/W6d+MqMEvZDD2JXr2l543h5nX4=;
To: xen-devel@lists.xenproject.org
Subject: [ovmf bisection] complete test-amd64-i386-xl-qemuu-ovmf-amd64
Message-Id: <E1p5rCc-0007uK-AJ@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 16:35:22 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-i386-xl-qemuu-ovmf-amd64
testid debian-hvm-install

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf https://github.com/tianocore/edk2.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf https://github.com/tianocore/edk2.git
  Bug introduced:  cda98df16228970dcf9a4ce2af5368219711b4b0
  Bug not present: 81bbc1452c972218f071cd4a8f5899df974b1dae
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175281/


  commit cda98df16228970dcf9a4ce2af5368219711b4b0
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   Fri Dec 2 14:10:09 2022 +0100
  
      OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported
      
      Remove global variables, store the state in PlatformInfoHob instead.
      Probing for fw_cfg happens on first use, at library initialization
      time the Hob might not be present yet.
      
      Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
      Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
      Acked-by: Ard Biesheuvel <ardb@kernel.org>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/ovmf/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/ovmf/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install --summary-out=tmp/175281.bisection-summary --basis-template=175202 --blessings=real,real-bisect,real-retry ovmf test-amd64-i386-xl-qemuu-ovmf-amd64 debian-hvm-install
Searching for failure / basis pass:
 175263 fail [host=huxelrebe0] / 175202 [host=nocera0] 175187 [host=chardonnay1] 175182 [host=debina1] 175176 [host=huxelrebe1] 175172 [host=pinot1] 175151 [host=chardonnay0] 175149 [host=albana1] 175142 [host=albana0] 175124 [host=fiano0] 175119 [host=elbling1] 175101 [host=pinot0] 175093 [host=nocera1] 175090 [host=italia0] 175085 [host=italia1] 175064 [host=nobling1] 175059 [host=nobling0] 175047 [host=elbling0] 175045 ok.
Failure / basis pass flights: 175263 / 175045
(tree with no url: minios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf https://github.com/tianocore/edk2.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e3f5bb21c0a2c1368c43713cf7f4b51097259af 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 735a7496cb35e48ccad51aad0934844a475e3fef 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba 68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-c3038e718a19fc596f7b1baba0f83d5146dc7784 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 https://github.com/tianocore/edk2.git#735a7496cb35e48ccad51aad0934844a475e3fef-3e3f5bb21c0a2c1368c43713cf7f4b51097259af git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c743\
 7ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7a0bedfaa6-b746458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/osstest/seabios.git#645a64b4911d7cadf5749d7375544fc2384e70ba-645a64b4911d7cadf5749d7375544fc2384e70ba git://xenbits.xen.org/xen.git#68f551ec5fa9ad96397a62cd463a7ff7e4db72d0-f86d0a1ff200264aaf80b65d7d200a3ba19c7845
>From git://cache:9419/git://xenbits.xen.org/xen
   88168c418c..32b61bcafc  staging    -> origin/staging
Loaded 10001 nodes in revision graph
Searching for test results:
 175045 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 735a7496cb35e48ccad51aad0934844a475e3fef 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba 68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
 175047 [host=elbling0]
 175059 [host=nobling0]
 175064 [host=nobling1]
 175090 [host=italia0]
 175085 [host=italia1]
 175093 [host=nocera1]
 175101 [host=pinot0]
 175119 [host=elbling1]
 175124 [host=fiano0]
 175142 [host=albana0]
 175149 [host=albana1]
 175151 [host=chardonnay0]
 175172 [host=pinot1]
 175176 [host=huxelrebe1]
 175182 [host=debina1]
 175187 [host=chardonnay1]
 175202 [host=nocera0]
 175214 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cda98df16228970dcf9a4ce2af5368219711b4b0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175220 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 735a7496cb35e48ccad51aad0934844a475e3fef 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba 68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
 175221 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cda98df16228970dcf9a4ce2af5368219711b4b0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175223 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cda98df16228970dcf9a4ce2af5368219711b4b0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175225 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cda98df16228970dcf9a4ce2af5368219711b4b0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175228 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 2c284027b23ca63cc459411df9d1fcbfc47a5126 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba af50d9be4358f26c459459eeaa3f6a1a66821738
 175231 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5890a18409a0e67a491c600b930e6c904ad3b3fd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175238 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 78c373f2a5273af00b23b55d3e8c41583310cfb6 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175246 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7dbb8a24d1a3403f85d959bc1234b9f4a92bfbf0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175250 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f6a196c7eb34affff0cfe1864e126953096885e1 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175244 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 01c0d3c0d508b8c1b41fd58e2ec565b40ea000ca 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175254 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e59747bd8246135faeecc18879d62db66a6acfc2 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175235 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 44fc90eb0ea7299abc79577db55aa6257b46b7ae 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175257 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 01c0d3c0d508b8c1b41fd58e2ec565b40ea000ca 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175259 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 81bbc1452c972218f071cd4a8f5899df974b1dae 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175264 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cda98df16228970dcf9a4ce2af5368219711b4b0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175263 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e3f5bb21c0a2c1368c43713cf7f4b51097259af 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175268 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 81bbc1452c972218f071cd4a8f5899df974b1dae 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175274 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cda98df16228970dcf9a4ce2af5368219711b4b0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175278 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 81bbc1452c972218f071cd4a8f5899df974b1dae 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175281 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cda98df16228970dcf9a4ce2af5368219711b4b0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
Searching for interesting versions
 Result found: flight 175045 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 81bbc1452c972218f071cd4a8f5899df974b1dae 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845, results HASH(0x55eae04c28c8) HASH(0x55eae0f686f0) HASH(0x55eae0f4c968) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1\
 e6a472b0eb9558310b518f0dfcd8860 e59747bd8246135faeecc18879d62db66a6acfc2 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845, results HASH(0x55eae0f552b0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f6a196c7eb34affff0cfe1864e126953096885e1 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458\
 386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845, results HASH(0x55eae0f680f0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7dbb8a24d1a3403f85d959bc1234b9f4a92bfbf0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845, results HASH(0x55eae0f546b0) For basis\
  failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 78c373f2a5273af00b23b55d3e8c41583310cfb6 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845, results HASH(0x55eae0f65dc0) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5890a18409a0e67a491c\
 600b930e6c904ad3b3fd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845, results HASH(0x55eae0f52b28) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 2c284027b23ca63cc459411df9d1fcbfc47a5126 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384\
 e70ba af50d9be4358f26c459459eeaa3f6a1a66821738, results HASH(0x55eae0f5cb78) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 735a7496cb35e48ccad51aad0934844a475e3fef 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba 68f551ec5fa9ad96397a62cd463a7ff7e4db72d0, results HASH(0x55eae0f52080) HASH(0x55eae0f620b0) Result found: flight 175214 (fail), for \
 basis failure (at ancestor ~5827)
 Repro found: flight 175220 (pass), for basis pass
 Repro found: flight 175263 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 81bbc1452c972218f071cd4a8f5899df974b1dae 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
No revisions left to test, checking graph state.
 Result found: flight 175259 (pass), for last pass
 Result found: flight 175264 (fail), for first failure
 Repro found: flight 175268 (pass), for last pass
 Repro found: flight 175274 (fail), for first failure
 Repro found: flight 175278 (pass), for last pass
 Repro found: flight 175281 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf https://github.com/tianocore/edk2.git
  Bug introduced:  cda98df16228970dcf9a4ce2af5368219711b4b0
  Bug not present: 81bbc1452c972218f071cd4a8f5899df974b1dae
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175281/


  commit cda98df16228970dcf9a4ce2af5368219711b4b0
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   Fri Dec 2 14:10:09 2022 +0100
  
      OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported
      
      Remove global variables, store the state in PlatformInfoHob instead.
      Probing for fw_cfg happens on first use, at library initialization
      time the Hob might not be present yet.
      
      Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
      Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
      Acked-by: Ard Biesheuvel <ardb@kernel.org>

Revision graph left in /home/logs/results/bisect/ovmf/test-amd64-i386-xl-qemuu-ovmf-amd64.debian-hvm-install.{dot,ps,png,html,svg}.
----------------------------------------
175281: tolerable ALL FAIL

flight 175281 ovmf real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/175281/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail baseline untested


jobs:
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 16:58:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 16:58:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463611.721828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rYr-0004Ep-Qg; Thu, 15 Dec 2022 16:58:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463611.721828; Thu, 15 Dec 2022 16:58:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rYr-0004Ei-My; Thu, 15 Dec 2022 16:58:21 +0000
Received: by outflank-mailman (input) for mailman id 463611;
 Thu, 15 Dec 2022 16:58:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cY1j=4N=citrix.com=prvs=3418b2cde=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p5rYq-0004Ec-BK
 for xen-devel@lists.xen.org; Thu, 15 Dec 2022 16:58:20 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aae7c995-7c99-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 17:58:18 +0100 (CET)
Received: from mail-bn7nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Dec 2022 11:58:07 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6365.namprd03.prod.outlook.com (2603:10b6:510:b4::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Thu, 15 Dec
 2022 16:58:03 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Thu, 15 Dec 2022
 16:58:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aae7c995-7c99-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671123498;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=pyhhzk8aj6uQ3VB68cCpZYeKbw5Rn4Mz23RFoIF7kuM=;
  b=A4eDJHbs29UrTd1YBlzJ6fa44XJrFwaVFTeUdInE+UGFv3fqzSB6kcPS
   9+k030Slx5UEyhv1SH4rNwSOlLP3MCOUPbJccgjxw62QgkLwXPwVQVhoD
   UDBS93nsq7k2XXdHcUwujrMMBNmMkde81WhvjlyI3iy00lCl6+7UmtuZu
   g=;
X-IronPort-RemoteIP: 104.47.70.109
X-IronPort-MID: 91076885
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ISGCIq9WM1jFk7VpOXZYDrUDsH6TJUtcMsCJ2f8bNWPcYEJGY0x3y
 zEXCz2BMqmINGP1fNl/bIqz8E0EvZfQz9dhSwVlrS08E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6kW5AK2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklq2
 /4mdSoUNiucnt6N25mJEMY02cMKeZyD0IM34hmMzBn/JNN/GdXpZfqP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTeLilUpgdABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTCdtKS+PopqMCbFu7xjcTEEYoWWqCk6e8gWGlYOtkN
 h1N9X97xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L8/QeDC3MECD1cbdU8nMs3QzUw0
 RmOhdyBLSxitviZRGyQ8p+QrCiuIm4FIGlEYjULJSMH7MPku5oblQ/UQ5BoF6vdpt/oHTD9x
 RiaoS54gK8c5eYMzL6n8Evbxjugo5nPZh444B3NWWCo5R8/Y5SqD6S26F7Q4PBcaomET0Wdu
 2Qsn8mY5foJS5aXm0SlW/kXFa2u/LOJPSP0hkYqG5g66y/r/3+ldJpXpjZkKy9BO8IJaXnjb
 UnVtA554J5VNWGtK6htbOqZENgnw6HmEpL+SvneY95KY55wXB+G+CBodQib2GWFuE0ljaE+N
 IrdacGtF3cXE4xjzTy/XeBb2rgurgg7xGDeA5D8yxGqypKaZXicU7BDN0GBBsg+6K6HuxnE6
 NZ3OM6DyhEZW+r7CgHI9aYDIFZMKmI0ba0asORSf++HZwBgR2coDqaJxat7ItQ02aNIiu3P4
 3exHFdCz0byjmHGLgPMbW1/bLToXtB0qndT0TEQAGtEEkMLOe6HhJrzvbNnFVX73ISPFcJJc
 sQ=
IronPort-HdrOrdr: A9a23:ty1OxaNyK5uUysBcTxP155DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jztCWE7gr5PUtNpTnuAtjlfZqxz+8W3WBzB8bAYOCFghrQEGgK1+KLrFOBJ8SXzJ8k6U
 4KSdkYNDSfNykesS/P2njCLz9s+qj1zImYwcPli1t9RwBjbK9tqy9/FwagC0VzAC1LH4AwGp
 aw7tdO42PIQwVjUu2LQl0+G8TTrdzCk5zrJTYAGh4c8QGLyRel8qTzHRS01goXFxlP3bAh22
 7YlBGR3NTQj9iLjjvnk0PD5ZVfn9XsjvNFGcy3k8AQbg7hjw65Db4RJYFr6FoOwd2H2RIPqp
 3hsh0gN8N85zf6ZWeuuybg3AHmzXIH92Li4UXwuwqoneXJABYBT+ZRj4NQdRXUr2A6ustn7a
 5N12WF87JKEBL7mjjn7dSgbWAgqqONmwturQcvtQ0XbWJeUs4mkWUnxjIjLH7UJlOz1GgleN
 Mec/00qswmPW9yVEqpwlWH8ObcI0jbIS32OHTqmvblogS+z0oJv3fwgvZv6ks9yA==
X-IronPort-AV: E=Sophos;i="5.96,248,1665460800"; 
   d="scan'208";a="91076885"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AulIUiiV1OzS5ATBb+bJITFbrplPbbzM0ENQsZ7fTCM505HuSY6G3u+aJTimABysgMC5W9XRD4X/KqF2ZNI4ByTlBy3eOl/fcbm46Q15xak+2SPm4xjV8K2sxBY8A5ROs7gvK+gCU9ds9mThEL9Bm8gRJBIOAri9wmBTeeeq33YJRtmcA3NK6wdr5O/ecQPEYRzB/0RD6etWNcRS6emH0ynvq8/MEhx2ztRL6I8ppYl2DDXS32Kh6NR9Kgqu9i0jrCp6LaMIOGSwmhZ+JhAt372OA7UZtsxeWVFQannwSMuH+UsefMYdz2Ia8/fqtdKDiFrthafb4aQMtDWErpNnsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pyhhzk8aj6uQ3VB68cCpZYeKbw5Rn4Mz23RFoIF7kuM=;
 b=BN1WhyW4qR5K8y6dTucMxsSABU+g6uG6sqPCTSeKrJGCbvoKpcrqYk4yVT/d0qq2X7+ECBodEUxLvAkRZ8d56Rd212cam/ElSIPL1WYTCBxPUWT4fZxH9o4NvVmiZcTBxfIMFJRN+uXqOhEeetw9EylgqsFQESBp83rcNPNHVTrBjfI0QxtIHgFy1cAhopQHXAWqp2yUja517cKYgMWAHAOAw7yLRrGqMlQlUTrp9InmW5uPCFNG2rXllqzUXRe7KogU0tM+r9rUSJsDHt1szSfYyDrB4z+1iVvjzgijO2LbGP/QXDIP1dagsldrRwCHO3xKkd60XAr0EuxYW66BOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pyhhzk8aj6uQ3VB68cCpZYeKbw5Rn4Mz23RFoIF7kuM=;
 b=AFlwwKRqcTySgKuhKzuBhLoC9aM+IFDROsezXTiqdPr+o4jfjJV4RXDTi8e039i6TwvNJz5yBkfOrQXDBn3nKG2Tu+qYMhLH9A/hUl/bSRwLN/POxZx5wA5+naKCdx+4mlUYxOjr09vsuq5VGdVvStrAwSye0tF6bORAHXrCKI0=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, Anthony Perard
	<anthony.perard@citrix.com>, Viresh Kumar <viresh.kumar@linaro.org>
CC: "xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, Juergen Gross
	<jgross@suse.com>, Julien Grall <julien@xen.org>,
	"osstest-admin@xenproject.org" <osstest-admin@xenproject.org>, Vincent
 Guittot <vincent.guittot@linaro.org>, "stratos-dev@op-lists.linaro.org"
	<stratos-dev@op-lists.linaro.org>, =?utf-8?B?QWxleCBCZW5uw6ll?=
	<alex.bennee@linaro.org>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>, Mike Holmes
	<mike.holmes@linaro.org>, Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH] libxl: virtio: Fix build error for 32-bit platforms
Thread-Topic: [PATCH] libxl: virtio: Fix build error for 32-bit platforms
Thread-Index: AQHZEIm2pBLpcrFxWUiesl94gtQKma5u9s6AgAAXKACAAB2/AA==
Date: Thu, 15 Dec 2022 16:58:02 +0000
Message-ID: <e8988370-f838-dd23-729f-892561f54b58@citrix.com>
References: <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
 <d4cf6539ff179e7ade820feadd8088f33da49196.1671111056.git.viresh.kumar@linaro.org>
 <Y5slue6ujqmCscJd@perard.uk.xensource.com>
 <b4c0e361-2b6a-f7b9-941d-4315144c6f65@suse.com>
In-Reply-To: <b4c0e361-2b6a-f7b9-941d-4315144c6f65@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|PH0PR03MB6365:EE_
x-ms-office365-filtering-correlation-id: 1d79545d-d9a5-41ea-4026-08dadebd877e
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 GC3ej8o6OFDU+2Nb8zhiWgk6JF9W2moWyAtg5kC1HJoK4lqBFt9NzRXV0Ltu0KK99xvBqZa4TEP16BTTxvmJucCD8yUxQj7djVNl8czUyD30VhUqA/oCEXQ4Su99TP6wmNjxL/qtHtD1p2sXjnB6HaH2O5pgp1Jgx0L04jI8tVtVvkwru8IJEJAdHdlbqv6c/nrqa5g+XwcPv6GID26ysY/AIi6SkH0iHJKYDMjDueLaIKf+PhaWVAK5FnjFpJQ16CZYeOueLwU8k1BgAsCCirKbuYxEEXjSNCunRp6mrNxYaaby448QGTi5o3MVwcdEs9Ny+Pfh3arZdE/yQh+ldTxfhSRwAx1TPHeVNccPNjBcDyheoqoJK3PPYgFhLU9zOJJs6qbnv1S/Ih8F+8ZeNlnCEPIeuJsu9L72eF+EtQNYT9OcWylARSSCeumMWLlYkWBOPPSCGLLbrsGdofsrDJjfh/mf9TKqHDlLK9XJcQLcCQ6p4/gbN7Ll31L9aDFQB0EXPigPNseUUr/zLG8HmYRhlokNUDKtTwocB1ACHDJUci5IUfioG6OSDoeGbdLpg7gCPIaF5By6TKsyHXgzs7TE5RjdMhU5E7MvY3WSt1hleFePcDINl3mRVWalT0yfSxKW2bM9uPI7xdDhsxQEUVNPVjWzaQ/3c2dIWrnmZfcD9kA8vw/+T8pGONqj1DoG5o2uL0XKC36iLQblx2RmctG3N0sO+oQhU9N/cd09rk3AOCnnE5Ny6esEsnI1J/vjOTw78gNgjfEghg+uABV3wA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(39860400002)(366004)(376002)(136003)(451199015)(2616005)(82960400001)(31696002)(38070700005)(83380400001)(38100700002)(122000001)(86362001)(5660300002)(2906002)(8936002)(7416002)(4326008)(41300700001)(26005)(6512007)(6486002)(76116006)(53546011)(478600001)(66476007)(66946007)(91956017)(71200400001)(8676002)(66556008)(64756008)(66446008)(6506007)(110136005)(54906003)(186003)(316002)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?R082NHl5K20ybTlIM3pKOFh5QlVMUThXWFo2a1cyMGJ4R3BVWlNNMVZacGln?=
 =?utf-8?B?SG4xT3pCRVo4b0daYmNKVmxtYWVzejAxa0VVelVxRTBWcEFXUjVYaUVqNWxS?=
 =?utf-8?B?d1J1dWFTUS9ueWVYbEoxOXhSTkZlMHMvQ3UxZVZWeU9pbG4rMThXQndod2tO?=
 =?utf-8?B?TVpUVS91Zy92YWtxZm1ZZGdkaXAyUDVQR0MyTHdiQ2NHL0o3c1gzVjNUd1Vk?=
 =?utf-8?B?a3VSMExIb29ZQWxmbU1iclNCNWVJZ1ZKTlRNZTdBL0VvY080ZU5nNWdRdDI4?=
 =?utf-8?B?Tnc1YjJYRmVnL29zRFdyVjhLTi9IaWJBeUxJVEZEUjFQQUhIaE5ibUxNQjky?=
 =?utf-8?B?MjM2VVNXcCtUNEVUb1B0WjU3NzhmdzY1NFpOcVEyYXBuV0VSc2NjSU1Cdm9l?=
 =?utf-8?B?VW1FWE5uNFAyUjF3MEtmNnVFVVBSM1VFYmtnRW5Ud3J4VzRocEY2Z1kzQWJz?=
 =?utf-8?B?cmllQ0owZjJqM1QySVlDNEo4Smh4WmpXVHZOcStyaVliUXJWYk51Y1gxUG1H?=
 =?utf-8?B?MWJEZExwTTd5bE91cW5SRGJzeTREK1Z3aG40RGJ4ZkZSY2lMSHlybVNOV1RZ?=
 =?utf-8?B?ZUhxWUVsOGJCZFRYYlNIMzM3REZzcW9ENkNsQmNxRkZ3YU56MGdvdlp1Q2xO?=
 =?utf-8?B?bWg3bUNDTFJFTFh6djNCY2xyWk1mMjNsUU05M2NOanJudnVpR3BnMDdBYnRK?=
 =?utf-8?B?azNaUjRzc2wzZHJyWC9oSmlmNGlxb2sxQVBPQnAzR1RhZFNRYnZWcDQwRU94?=
 =?utf-8?B?VFBFY1pJM3RKeUlQVnpyTGtEL3BzRERPME9CZDFKMnJkcjBVeWZBcEhuTnNt?=
 =?utf-8?B?c2MzRGhWQmQyUVBOYXpQZFJGejZ0UUFFYjl3dFNkY3h3K0E1eFNkYzBnQ1My?=
 =?utf-8?B?dld2ZjdMSUVqMUtEYXQvQ0tMNytpMmd2eW04NWdsbW5UbFRMbVNlamN6Q0dB?=
 =?utf-8?B?cGJsdFAxLzdrK3ZwQ1hMMSsrcDVvR0NLbG1UOVJraWxiWERJMTAzYzZxUlU3?=
 =?utf-8?B?ZXYxc2NqTDFPc3ZtejR0ckgrVWNjS3gydUNKUy9wYVFRcThFTWRsYzNrNTF2?=
 =?utf-8?B?UllFL2lqWWlNWnBzbWRhRW9DU05DZmlkRmxMNXFMR0RaemdpMVBLWXdWZEVs?=
 =?utf-8?B?N3N3QlRuTURFU1FycUZrVTJVRnNpWGY5SExlZExGMGFQcVkwbVhtWVE4QVdC?=
 =?utf-8?B?OHpTUmVmT05wZUp1TFFTVmJtUFFyb1RERUZGaDhiTG5EQmtOVU1PSHBTSGIy?=
 =?utf-8?B?SFQ0SEtuRXhPRFRaSUtpT1hpc3pBM0ErcUFkZHFwZTVQcjJQTlFPWC9VM0sy?=
 =?utf-8?B?Rjg0K2xXL05ucmRkOEU0cXN1OUMza0w5cEE4K0JERTUwZWdPa3BGeGp2a1V6?=
 =?utf-8?B?a3ZCbnVaUDFTNUZrbzQxa0NGN2FLOHBwV1lnT29JS0oybCtFNmx0YmVtOHR2?=
 =?utf-8?B?UkgzbEYxTkQ4cURlN1hwWXNxSWpVemlvamZtS1BOdm81cG5RaElndi93UGlO?=
 =?utf-8?B?UGNIQkRGYUMzUklyQStNZFRKQjFTL2huYlZNQStITkFVNEFxUHBvaFRyTmZx?=
 =?utf-8?B?OWFnOVo2a2JSQ0Q3RFpLT096MVV2ZTJrU3FtUUVibGRRa2hLcHcxVUJnSHBT?=
 =?utf-8?B?bitmV0tPU0lNZW5wcklBbDgralYzS1JNRUZtZHJ6d0ttOEdGLzh6YnpSVmdt?=
 =?utf-8?B?ZzNTM2VmSVNEcDRaQTZySTdLcTJyU0lpN0pwNjZGdzFMOG9HVVloZjJGMkZZ?=
 =?utf-8?B?QVJ5aVBwQ3pydnVGZ1JHVzd1VEVGcDhxbXFvRFNBdnpEQUk4dGh3eURSUllE?=
 =?utf-8?B?Y3hjNHZNN2o3OHdkYjJSdzFPb1hOSFNVZ2JIV1JOQWU3YXUwb1ljMTRiN1Iz?=
 =?utf-8?B?S2MwdW9QU0x2bVlSU2wvUFdvN2Z2YnJEMEhSVWswc3FWK1J1RGw5MWorZ1Za?=
 =?utf-8?B?T01mU09mTG8yTXZCYWtqb0hnMEFwS1hkT2dtRDNEakxnM3lqdHRLR1U4aHJS?=
 =?utf-8?B?bTNJNzVhTnZRaDVMcmsyQ0VNaGRMUHdTLzdCMzN6R3czQ3djL05yK2xyd3JE?=
 =?utf-8?B?VGs1TFI3NnZ5eTkyOXVzaHJxeFMyeFpaWXZob3I3d0ZFVHlueFVOSlI1eEth?=
 =?utf-8?Q?4uvNaEiEwfG+hSQCmpUOd1/1u?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <79866F656A92A94EB269C4CA3B2A6E26@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d79545d-d9a5-41ea-4026-08dadebd877e
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Dec 2022 16:58:02.9573
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ldw2p7OxrH+aCRWjfaV2rYZtAip91gLYdyrXf7cfIJS1JfsDLXRAUnIpWSLr93S9OycXCaEFU+HaeEeRhTS6wI16d+vSnlY+fhZpkwjHFl0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6365

T24gMTUvMTIvMjAyMiAzOjExIHBtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMTUuMTIuMjAy
MiAxNDo0OCwgQW50aG9ueSBQRVJBUkQgd3JvdGU6DQo+PiBPbiBUaHUsIERlYyAxNSwgMjAyMiBh
dCAwNzowMTo0MFBNICswNTMwLCBWaXJlc2ggS3VtYXIgd3JvdGU6DQo+Pj4gVGhlIGZpZWxkICdi
YXNlJyBpbiAnc3RydWN0IGxpYnhsX2RldmljZV92aXJ0aW8nIGlzIGRlZmluZWQgYXMgdWludDY0
LA0KPj4+IHdoaWxlIHdlIGFyZSBwcmludGluZyBpdCB3aXRoICclbHUnLCB3aGljaCBpcyAzMmJp
dCBvbmx5IDMyLWJpdA0KPj4+IHBsYXRmb3Jtcy4gQW5kIHNvIGdlbmVyYXRlcyBhIGVycm9yIGxp
a2U6DQo+Pj4NCj4+PiAgIGxpYnhsX2ludGVybmFsLmg6NDM4ODo1MTogZXJyb3I6IGZvcm1hdCAn
JWx1JyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcNCj4+PiAgIHVuc2lnbmVkIGludCcs
IGJ1dCBhcmd1bWVudCAzIGhhcyB0eXBlICd1aW50NjRfdCcge2FrYSAnbG9uZyBsb25nIHVuc2ln
bmVkDQo+Pj4gICBpbnQnfSBbLVdlcnJvcj1mb3JtYXQ9XQ0KPj4+DQo+Pj4gRml4IHRoZSBzYW1l
IGJ5IHVzaW5nIFBSSXg2NCBpbnN0ZWFkLg0KPj4+DQo+Pj4gTm93IHRoYXQgdGhlIGJhc2UgbmFt
ZSBpcyBhdmFpbGFibGUgaW4gaGV4YWRlY2ltYWwgZm9ybWF0LCBwcmVmaXggaXQNCj4+PiB3aXRo
ICcweCcgYXMgd2VsbCwgd2hpY2ggc3RydG91bCgpIGFsc28gZGVwZW5kcyB1cG9uIHNpbmNlIGJh
c2UgcGFzc2VkDQo+Pj4gaXMgMC4NCj4+Pg0KPj4+IEZpeGVzOiA0M2JhNTIwMmUyZWUgKCJsaWJ4
bDogYWRkIHN1cHBvcnQgZm9yIGdlbmVyaWMgdmlydGlvIGRldmljZSIpDQo+Pj4gU2lnbmVkLW9m
Zi1ieTogVmlyZXNoIEt1bWFyIDx2aXJlc2gua3VtYXJAbGluYXJvLm9yZz4NCj4+PiAtLS0NCj4+
PiBDb3VsZG4ndCB0ZXN0IG9uIDMyLWJpdCBwbGF0Zm9ybXMgeWV0LCBidXQgd29ya3MgZmluZSBm
b3IgNjQgYml0IG9uZS4NCj4+Pg0KPj4+ICB0b29scy9saWJzL2xpZ2h0L2xpYnhsX3ZpcnRpby5j
IHwgNCArKy0tDQo+Pj4gIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRp
b25zKC0pDQo+Pj4NCj4+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF92aXJ0
aW8uYyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfdmlydGlvLmMNCj4+PiBpbmRleCA2YTM4ZGVm
MmZhZjUuLjIyMTdiZGE4YTI1MyAxMDA2NDQNCj4+PiAtLS0gYS90b29scy9saWJzL2xpZ2h0L2xp
YnhsX3ZpcnRpby5jDQo+Pj4gKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF92aXJ0aW8uYw0K
Pj4+IEBAIC00NSwxMiArNDUsMTIgQEAgc3RhdGljIGludCBsaWJ4bF9fc2V0X3hlbnN0b3JlX3Zp
cnRpbyhsaWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCwNCj4+PiAgICAgIGNvbnN0IGNoYXIg
KnRyYW5zcG9ydCA9IGxpYnhsX3ZpcnRpb190cmFuc3BvcnRfdG9fc3RyaW5nKHZpcnRpby0+dHJh
bnNwb3J0KTsNCj4+PiAgDQo+Pj4gICAgICBmbGV4YXJyYXlfYXBwZW5kX3BhaXIoYmFjaywgImly
cSIsIEdDU1BSSU5URigiJXUiLCB2aXJ0aW8tPmlycSkpOw0KPj4+IC0gICAgZmxleGFycmF5X2Fw
cGVuZF9wYWlyKGJhY2ssICJiYXNlIiwgR0NTUFJJTlRGKCIlbHUiLCB2aXJ0aW8tPmJhc2UpKTsN
Cj4+PiArICAgIGZsZXhhcnJheV9hcHBlbmRfcGFpcihiYWNrLCAiYmFzZSIsIEdDU1BSSU5URigi
MHglIlBSSXg2NCwgdmlydGlvLT5iYXNlKSk7DQo+PiBUaGVyZSBpcyBhbHNvIFBSSXU2NCB0aGF0
IGV4aXN0LCB3aGljaCB3b3VsZCBiZSBwZXJmZWN0IHRvIHJlcGxhY2UgJXUuDQo+PiBDb3VsZCB3
ZSB1c2UgdGhhdCBpbnN0ZWFkPw0KPj4NCj4+IEknZCByYXRoZXIgbm90IGhhdmUgdG8gdGhpbmsg
YWJvdXQgd2hpY2ggYmFzZSBpcyB1c2VkIGZvciBudW1iZXJzIGluDQo+PiB4ZW5zdG9yZS4gSSBj
YW4ndCBmaW5kIGFueSBoZXhhZGVjaW1hbCBudW1iZXJzIGluIHhlbnN0b3JlIGZvciBhIHNpbXBs
ZQ0KPj4gZ3Vlc3QgYXQgdGhlIG1vbWVudCwgc28gcHJvYmFibHkgYmVzdCB0byBhdm9pZCBhZGRp
bmcgb25lLiBBbmQgdXNpbmcNCj4+IGhleGFkZWNpbWFsIGlzbid0IG5lZWRlZCB0byBmaXggdGhl
IGJ1aWxkLg0KPiBPdG9oIGFuIGFkZHJlc3MgZm9ybWF0dGVkIGluIGRlY2ltYWwgaXMgcHJldHR5
IHVudXNhYmxlIHRvIGFueSBodW1hbg0KPiAod2hvIG1pZ2h0IGJlIGluc3BlY3RpbmcgeGVuc3Rv
cmUgZm9yIHdoYXRldmVyIHJlYXNvbnMpLg0KDQpBIGNvbnN1bWVyIG9mIHhlbnN0b3JlIGhhcyB0
byBjb3BlIHdpdGggYWxsIGJhc2VzIGFueXdheS7CoCBBbnl0aGluZyB0aGF0DQpkb2Vzbid0IGlz
IGJyb2tlbi4NCg0KS2V5cyBvdWdodCB0byBiZSBleHByZXNzZWQgaW4gdGhlIGxvZ2ljYWwgYmFz
ZSBmb3IgYSBodW1hbiB0byByZWFkLCBhbmQNCmhleCBmb3IgYmFzZSBpcyB0aGUgcmlnaHQgb25l
IGluIHRoaXMgY2FzZS4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 17:04:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 17:04:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463619.721839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rep-0005ik-Ec; Thu, 15 Dec 2022 17:04:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463619.721839; Thu, 15 Dec 2022 17:04:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rep-0005id-Bk; Thu, 15 Dec 2022 17:04:31 +0000
Received: by outflank-mailman (input) for mailman id 463619;
 Thu, 15 Dec 2022 17:04:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=g8Eh=4N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p5ren-0005iS-VH
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 17:04:30 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on2073.outbound.protection.outlook.com [40.107.14.73])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 88407eef-7c9a-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 18:04:27 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8328.eurprd04.prod.outlook.com (2603:10a6:20b:3fc::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Thu, 15 Dec
 2022 17:04:26 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Thu, 15 Dec 2022
 17:04:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88407eef-7c9a-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EkNtTsFQvqDgiPah29Zi4i7Y/g+RHgT20xd6L6V/l+FebuZdeTRM20z2lFDt4fcMHqHvKTBPotRjRIB4Ql4BbJnFhAyJ02ToDT2AyZ5tIuZRiNDLRPlJ0keZvGfrbrhaqjyMbAAwLF85YmllOoh/QbX6bNz8IN5pjaXVgAS0aNxwMWbfiOdGMxgsPqgvaTkjacH5u3NDaZ6WQG+POR1OJAPrVBe/EHteNGoLr7mdbEhx7cxA/iQP7uXENfIslH4L4o7unS1Qi+fSNAOJS2VDyqtHK7EsSk3s6XzMfswS4XRd/GyVjt/UxacQ2fxExzNvB6h8PmFTq0eKuR7rHg9oPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=joACZuB7eayAGdWkq5p/H+gFVogyIlOu+gwzFJI+zIY=;
 b=RKK08PVj0jbYyZcqZ366UARIgQnuGVNyWIJ5OVY+XUyA3R+w86VPW2+88oGlp4iidKkhZZbpnEx4m6bySMbCJUJtJ/tFbOmJ9w8wbv9G1Urvl5Dki3k0Qi5fP6aqpCi7qThwMuUaNBBWyCaqo2EbjxMLIEmhONWxlsn0E9rfFFVeZpHd8JuSymL3tzzS7o5nsXOW3B9UXHGnoGwhix2HVcSStV8iF4pWs6471RUqyL3w/qZRlBXJmqWwnj3kxIUG+7//M/eBxzOibniZUeYyScCtYlesPM4r5yV4U01Oyh9zYcF/vYHVBAj2jOsjBq106+g4STL2mWMDIoAUf6npjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=joACZuB7eayAGdWkq5p/H+gFVogyIlOu+gwzFJI+zIY=;
 b=cIXlgg/LhLRjIDcnrnkWJtNlqzHpOK9H5zO6J11Ud9/fqwGPc1PFyq7p3Ij719YAj7ogWQJOaiTSFwphOb0BOSGNm14kxwgBcbEGeaYGUo33G7YnuZfjBaEHB/mU7bhX1g9+LOgB27ZrNPsmAKC79Bfm3XIUpsgndIKKz90O2sHj+9BucX9XO6Bgn927Jd4pV0Nkf8XlAVSXnpBQEKuH0zoHMMV1/DsDXoQHTGRka2iH8Ej+gfDiYfEUWOJU+VVjEAVyqxdGIKk5WNSLHi8EDC/Gbasj2+5mfoXVAVthI9g2HQvSbS/qzO0la/KQkbJeRWrr98Ne4dZab7MtlAIzIA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7329ea63-edaa-22e5-acb0-ff1abfcd589f@suse.com>
Date: Thu, 15 Dec 2022 18:04:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v3 09/12] x86: Derive XEN_MSR_PAT from its individual
 entries
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671057808.git.demi@invisiblethingslab.com>
 <06d61ac0d94ac66476cb7207b00ab1f4eda36464.1671057808.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <06d61ac0d94ac66476cb7207b00ab1f4eda36464.1671057808.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0154.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8328:EE_
X-MS-Office365-Filtering-Correlation-Id: 64837b10-0c64-422f-7354-08dadebe6b7d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KAvxRW3OYcbD1nhgCXAqgcaO3a9TT5w/LEYuKsKaQHANOiX46molKJS9Ey2ts6up/1CyCiyeIXSaBiyvbJSlyajWKl4zVrk5VTgp+6ftdDuM7O6JyxsImll8wIYnyWxM9v1f/Zzi3Ecm/QO4doqoQXYrSb9AxYZmIUxzNm4Wzdcd/S9RyKiApo4zYo+vZuTcXz9wuTotTH0JiHy12qyxQdThXVoizFbTyAtkcmJjjlzO3TvFTmu7GESQvQBZPqGWXmu5CzncdZ01ybk2a9JnJ1+wAiCh+lUqDEZVFI3YT6a7tNTeyNkjxzC6+g/+U8J+NIPmBqwAZO5FmkmJZqaH9l9f3GgM+1KdX1VLkxnsbiYynYUwEUDcYBOvjRKKDYj+Vp81nJP8ah74nlrQ1B7T5jeJitXgwaL3Vuk0NTvjdrmoNJ3khwC7nUg1sAlHyQms0fgHhssqxhSf2kilVG04djS/YokypvtCwtZVvaiCikaOWKjugzmUZGW+bQUuYbkpIXWbYLE9IvzcTE4ctN/IZNKclRdBvTFdSdVruKVaWHAzqAq8IxeETKV+uTGG2X2mKc9WYl1JCnjCHQ/spzqpw0KUDgA0N8U5qHx82UETNL8MGx3ucQLcwOf5fBI9OVk219DXKxjzs19nBTociJwzFJKE9IcQ+x1GXU8C2QI3eiDbcxTx72Qbh5CDsjeUbKX2mNzqIeRp6sl89VBYRFZcD25EvbbT/UnzS+rJgVwU20U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(346002)(366004)(39860400002)(376002)(136003)(451199015)(36756003)(31686004)(38100700002)(8676002)(2906002)(66476007)(4326008)(66556008)(66946007)(7416002)(5660300002)(31696002)(86362001)(8936002)(478600001)(6486002)(54906003)(6916009)(316002)(41300700001)(2616005)(53546011)(6506007)(6512007)(26005)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T3BPMldORHlidVBFWU5SeWU3YnhHeWI5OUV2SHVENW1ZWmtMMnYxYWdDaXEw?=
 =?utf-8?B?Q3g2QUFmaXQvN3Z4U3VJTlpYMXIyZi9mQjFqTlFEbG5MMDBqdU02TXBZMUM1?=
 =?utf-8?B?RVhQUUp2TW5pNHhTenJMc2RPdGxJeHllWkdOTVdqQ2pnMXpjdUJIRmNkTS93?=
 =?utf-8?B?ZmZpYjJCVDd2TXNLc1FwYkdvUmV1YTlSWW8vWi84eDRJeloyd0ZrbWdWS3Fq?=
 =?utf-8?B?dk15ZlNqTGF3WkVlaDZUR1NjVlB1anlSeFp5L2RGQkkxNHJzaWgxMkd2VFpZ?=
 =?utf-8?B?SDZ0c0Fpdk9YZDZJZ0ZWTjZRZW50T0cvR2dDWkVlc1JIMDhMbERvSW95MUNx?=
 =?utf-8?B?a1R6SnErbGdENzdwcG1lUFRvaXRjWmd4TVJUL0M5Vmw0Qkt0RGhNdUNjYy96?=
 =?utf-8?B?U0t5Z1lWb0dIMEYybU9wUHR1V3VUYXFhc2hqL3pDcFdVQ1hSekJXakhGQ2Jl?=
 =?utf-8?B?cVRRRDk0MEpWRzlnOTFBTXh0VW5MU0FnTDlqaGZ0aHh2cmRnU2cwa3JKbHhF?=
 =?utf-8?B?VlVjSlN3RWNoK3BqTk00ViswN0l0SEdKRTY3Z0x5NVcvck9ldDNkblpFaE5Z?=
 =?utf-8?B?ZGNueTA5bUtYWjhkSkdlbldSSjR6UzlSWkFiV044em53eWpsTXNGT1ZWYkRY?=
 =?utf-8?B?V1JHaWlvaEkveXFVSVdiUlE2bW5HZTUwK2dXSmlPWFQ4ejNoUG4zeFg0T0I4?=
 =?utf-8?B?blhRazZiUHF2YWMydS9iSXBhK0o1UXA1Y0RSeHRjbVQrQXpRS1J0bjg0UHFD?=
 =?utf-8?B?bWI0SUdtQkNYeFRXTkxtVTVpVytYNFhlVktMRXpSS3FLa3ZPcHBVd1E5Skpr?=
 =?utf-8?B?LytHZ1FPVUNZZld1RHJrRmpOUnhWUXZsTElTTkVYZStqU3ovemptYU1Mb3BB?=
 =?utf-8?B?aEp3Y29MaXdQazNGQUZzV1dxa01zL1ArWkJjS3NlWEdYL3R5YVNvR2phRGRy?=
 =?utf-8?B?dUFyZXRoNENYL3lMbHljcWcrLzJ5Mmt1NmdDSFFMUUYvMy8rQlR1ejVGcmFP?=
 =?utf-8?B?YWNxUUszVzdYc1YvN1VOWFNDTmk0RVJBZUwvRlkrS3lTUE8wT2JSczdzeGxI?=
 =?utf-8?B?bExQWjRLamoraVFIQzMyOHFGMjJQYVJkQjZDeWZZQXNORENBdDZTejdzMm1J?=
 =?utf-8?B?eDIxN0Nhc3N5L0FoZnE0dmRnYUIzV3VZYTlDRExaQmw0WERLakpveEQ5UEtP?=
 =?utf-8?B?RWFhbWhSYWxSWCtuSGxGcmpRL0liZ2xsVktCUncyNkgzbkFnYllBQTgybXpM?=
 =?utf-8?B?RjVUZzRTSDh0VkI0SXNiL3pRbUJuckg5eitVaTN6MnpoM05CNG9FTFl3L01U?=
 =?utf-8?B?QS9xRThybllIUkNEellic2dEUndramxpMFdndEVQbXl1c3lCRkxSMTlQa3pK?=
 =?utf-8?B?eVFtNFdlOUJDUGtpUkVjTHM2NVh2V2F4SzkyN05IZVJWbGZmYkdkaE1zTHkv?=
 =?utf-8?B?dU1iV05Yb04rU3ROYzZUNTlXTlhvQ0xZbkpCZHN6SklPZ3ZPWU1KOEUwRHNF?=
 =?utf-8?B?TVliM0ROcXBRcXhONGpZbU9wVDM5SytRS1pQVHRIYWlIWlZQeVVsd1VNRWlP?=
 =?utf-8?B?NEtENDErbkpocE1BeC9Yc09abG9MckM5MmMwVTZ4ZVZ1enNRS0prQlo4c1VP?=
 =?utf-8?B?dktLZ1c1V09STy9RYzlNL2FTK2djQnorTE9YV1kvVk9yS21aekZjTGJhRGF6?=
 =?utf-8?B?ekNWWkFpRTk5OHRPMTI4RVdLMVBIVVhaeERHTGI3c1llcVZEWlo2YmV2Q3ZE?=
 =?utf-8?B?N0ZJeVBtTCs5dlRqU1ppU2F2eS9CMUp4RW9uVDJXMmlmNUhjc3g2VEZCRDhj?=
 =?utf-8?B?aGE4K3ArczRjenFDTkRaTldFWGtUaDhRNitWd3IvcDF0eFBPQXRkU0FVelBJ?=
 =?utf-8?B?bnNNeVFCSEZ4OTRBYTcwSWpvZHk3cUFLbjd5QUg0MGY2L0ZQL0llT3hEYmxz?=
 =?utf-8?B?TlZMK0tpOUEwenJVbmx6SzRnYkhGL3hVNkZDZmF4azFVa3AyQXNCcm9MZXU2?=
 =?utf-8?B?MWw3SC92UzYvdEJodEFKeWQ1Zlo0OEZmRGg1NGpVYkJ5VlpYK0xLS1dWRS9h?=
 =?utf-8?B?dndyZGNNSXQ1UDJCZ0VrKzJSTVlhdnlQWnJ1U0hEZndvREdrVnNrWEN1WW5B?=
 =?utf-8?Q?+L9T6UaQa2J0Jqj5T6MoyruU1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 64837b10-0c64-422f-7354-08dadebe6b7d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 17:04:25.6288
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fshpo533ldN9JGMVroeM2LDcFkbCc7SejPLlucctg4jTTB5TX8Wa1CtjeHlCDm96TJu89a+fIAmYzDwvD8kfLw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8328

On 15.12.2022 00:11, Demi Marie Obenour wrote:
> --- a/xen/arch/x86/include/asm/processor.h
> +++ b/xen/arch/x86/include/asm/processor.h
> @@ -96,7 +96,15 @@
>   * Host IA32_CR_PAT value to cover all memory types.  This is not the default
>   * MSR_PAT value, and is an ABI with PV guests.
>   */
> -#define XEN_MSR_PAT _AC(0x050100070406, ULL)
> +#define XEN_MSR_PAT (X86_MT_WB  << 0x00 | \
> +                     X86_MT_WT  << 0x08 | \
> +                     X86_MT_UCM << 0x10 | \
> +                     X86_MT_UC  << 0x18 | \
> +                     X86_MT_WC  << 0x20 | \
> +                     X86_MT_WP  << 0x28 | \
> +                     X86_MT_UC  << 0x30 | \
> +                     X86_MT_UC  << 0x38 | \

This wants properly parenthesizing (the shifts against the ors), and
at least the last four constants also look to need casting to uint64_t;
in fact I'm surprised that ...

> +                     0)

(interposed: I don't think this really does any good.)

> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -6355,6 +6355,12 @@ unsigned long get_upper_mfn_bound(void)
>      return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1;
>  }
>  
> +static void __init __maybe_unused build_assertions(void)
> +{
> +    BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL &&
> +                 "wrong XEN_MSR_PAT breaks PV guests");

... this didn't trigger for you. (We also don't normally add such
constructs with a string literal to BUILD_BUG_ON() expressions, not
the least because compilers may take issue with such. I'd like to
suggest to convert this to a comment instead.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 17:11:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 17:11:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463627.721850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rls-0007XF-6E; Thu, 15 Dec 2022 17:11:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463627.721850; Thu, 15 Dec 2022 17:11:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rls-0007X8-3a; Thu, 15 Dec 2022 17:11:48 +0000
Received: by outflank-mailman (input) for mailman id 463627;
 Thu, 15 Dec 2022 17:11:47 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vu2t=4N=citrix.com=prvs=3415489ca=jennifer.herbert@srs-se1.protection.inumbo.net>)
 id 1p5rlr-0007X2-19
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 17:11:47 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c98a34a-7c9b-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 18:11:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c98a34a-7c9b-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671124305;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=iTlxCGPd4Kl2cYH9zKyDOwQTkqm7B5hA8C/nt1Sd85s=;
  b=BYry8Z/2VD0dxdUQBdUBgEeaHLjYWpQCiLPPlGQWCOiTZv6LNkSDhm7h
   HviqMPuXP640DZ3ESagFiJbGHwwsTqds5KnU8yXLMaCIYweyQ7OSv9Lyf
   mVeb+xNtfnfUBtx8iLf5jcTPkmc0ZWz5/77a2SXXe4U8mkuiy25wUuN1J
   8=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88107940
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:v40jaKqs9okdEHPkLd6lNv9XllFeBmIKZRIvgKrLsJaIsI4StFCzt
 garIBnUb/7eZWWge9EgPouw800PsJHVz9M1HgM/qiA1QS8b95uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEziRNUfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAAoIQROmv9iU+qK2c+NMqPsCF/ioY6pK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFHU/rSn8/x7pX7Wz9VrlSUq6ctpWje1gZ8yqTFO9vJYN2aA85Smy50o
 0qWrz2hXUBGbLRzzxLc1yuQotDSmBjBVY82DpeG39k13wCqkzl75Bo+CgLg/KjRZlSFc81bA
 1wZ/Gwpt6da3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQAsTDRMddgnv88eXiEx2
 xmCmNaBONB0mOTLEzTHrO7S9G7sf3hORYMfWcMaZTEAzNrGmLsRtALCd9xDPpGUtey2Rhill
 lhmsxMCr7kUiMcK0YCy8lbGny+gq/D1c+Il2unEdjn7t10kPeZJc6TtsAGGtqgYcO51W3Hb5
 BA5d96iAPfi5H1nvAiEW60zEb6g/J5p2xWM0Ac0T/HNG9lAkkNPnLy8AhkkfC+F0e5eI1cFh
 XM/XisPjKK/xFPwMcdKj3uZUqzGN5TIG9X/TezzZdFTeJV3fwLv1HgwOhfIgzqzzRl2z/tX1
 XKnnSCEVy5y5UNPlWreegvg+eVzmnBWKZ37G/gXMChLIZLBPSXIGN/pwXOFb/wj7bPsnekm2
 483Cid+8D0GCLeWSnCOoeYuwaUicSBT6Wbe95YGKYZu42NORAkcNhMm6ex7ItY9xPgOyo8lP
 BiVAydl9bY2vlWfQS3iV5ypQO+HsUpXxZ7jARERAA==
IronPort-HdrOrdr: A9a23:iz0kaqC+ZhyEaEvlHemU55DYdb4zR+YMi2TC1yhKJyC9Ffbo8f
 xG/c5rrSMc5wxwZJhNo7y90ey7MBbhHP1OkO4s1NWZLWrbUQKTRekIh+bfKn/baknDH4ZmpN
 5dmsNFaeEYY2IUsS+D2njbL+od
X-IronPort-AV: E=Sophos;i="5.96,248,1665460800"; 
   d="scan'208";a="88107940"
From: Jennifer Herbert <jennifer.herbert@citrix.com>
To: <jennifer.herbert@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	<xen-devel@lists.xenproject.org>
Subject: [PATCH v2 0/2] acpi: Make TPM version configurable.
Date: Thu, 15 Dec 2022 17:09:32 +0000
Message-ID: <20221215170934.123889-1-jennifer.herbert@citrix.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <0548fa97-5384-94e4-7329-b019e60555f4@citrix.com>
References: <0548fa97-5384-94e4-7329-b019e60555f4@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This patch makes the TPM version, for which the ACPI library probes, configurable.
This version incorpates feedback from v1, including splitting it into
two patches, tidying up some formatting, removing debug, and moving the
log into a more suitable memory area.

Jennifer Herbert (2):
  acpi: Make TPM version configurable.
  acpi: Add TPM2 interface definition.

 docs/misc/xenstore-paths.pandoc   |   8 +++
 tools/firmware/hvmloader/config.h |   1 +
 tools/firmware/hvmloader/util.c   |  20 +++++-
 tools/libacpi/Makefile            |   2 +-
 tools/libacpi/acpi2_0.h           |  26 ++++++++
 tools/libacpi/build.c             | 101 +++++++++++++++++++++---------
 tools/libacpi/libacpi.h           |   5 +-
 tools/libacpi/ssdt_tpm2.asl       |  36 +++++++++++
 8 files changed, 165 insertions(+), 34 deletions(-)
 create mode 100644 tools/libacpi/ssdt_tpm2.asl

-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 17:12:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 17:12:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463629.721861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rm9-0007v8-I2; Thu, 15 Dec 2022 17:12:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463629.721861; Thu, 15 Dec 2022 17:12:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rm9-0007ux-ES; Thu, 15 Dec 2022 17:12:05 +0000
Received: by outflank-mailman (input) for mailman id 463629;
 Thu, 15 Dec 2022 17:12:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vu2t=4N=citrix.com=prvs=3415489ca=jennifer.herbert@srs-se1.protection.inumbo.net>)
 id 1p5rm8-0007rI-7f
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 17:12:04 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 95efed3e-7c9b-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 18:12:01 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95efed3e-7c9b-11ed-8fd3-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671124322;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=QpNE7L2uaNTmHw5dmmRErah9AeqgxX3aSlOHFvQjjvM=;
  b=Y3sdtpQxYFMryRTbOWXVZvfDA8Y6IX6FPtzz9vxV9qZ1CnJpgZgte0aA
   LT9DYXNFoeWAvfsuOiZy22rroMA9h+fnuWMfhDSDiQdS+GpX4u/8zJ9Ku
   vL2/Yx5n4a65W36rEYU4vzeqZBsN144TNKtRytivTcdsREPysstYBKiiQ
   o=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87563912
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:TAL14KJBxQIuwu1sFE+Rw5UlxSXFcZb7ZxGr2PjKsXjdYENS1DJRy
 mcaDWiAPK3cZTGketolPoS/9E0PusOAzNdrTABlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5AVjPa0jUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4tJGxj8
 +ZFEwkERTaajv6xw+ikSdVV05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpPE+ojx5nYz/7DLo8keGuh3fyaXtYpUifqLAry2PS0BZwwP7mN9+9ltmiFZoIwB3J/
 ziuE2LRU0w4aPDY8Ti++yyCvdWe2iihXthDG+jtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHslgEYc8pdFas98g7l4qje7hudB2MEZiVcc9Fgv8gzLQHGz
 XfQwYmvX2Y29uTIFzTNrd94sA9eJwBPCGIvYzVZdjIMyP/6qZ00jUjQTepaRfvdYsLOJRn8x
 DWDrS4bjroVjNIW26jTwW0rkw5AtbCSEFdru1y/snaNq1ogOdX7P9DABU3zt64oEWqPcrWWU
 JHoceC65ftGM5yCnTflrA4lTODwvKbt3NExbDdS83gdG9aFoSbLkWN4umsWyKJV3iEsJ1fUj
 Lf741852XOqFCLCgVVLS4ywEd826qPrCM7oUPvZBvIXPMcoLFPdonw/PxDKt4wIrKTKuftnU
 Xt8WZ/8ZUv29Iw9lGbmLwvj+eFDKt8CKZP7GsmgkkXPPUu2b3+JU7YVWGZinchghJ5oVD79q
 o4FX+PTkkU3bQELSnWPmWLlBQxQfCdT6FGfg5A/S9Nv1SI5Qjh7U6SNmu9Jlk4Mt/09q9okN
 0qVAidwoGcTT1WdQelWQhiPsI/SYKs=
IronPort-HdrOrdr: A9a23:7oB8v6F6v+YGFEsNpLqEyseALOsnbusQ8zAXPiFKOHlom6mj/a
 2TdZsguSMc5Ax/ZJhYo6HmBEDiewK/yXcW2+ks1N6ZNWHbUQ2TQr2KhrGSoAEIdReeygdr79
 YFT0EvMrbN5IBB/LzHCdODYq4dKQS8gcaVbDvlvgxQpN9RGtxdB2gQMHfjLnFL
X-IronPort-AV: E=Sophos;i="5.96,248,1665460800"; 
   d="scan'208";a="87563912"
From: Jennifer Herbert <jennifer.herbert@citrix.com>
To: <jennifer.herbert@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	<xen-devel@lists.xenproject.org>
Subject: [PATCH v2 1/2] acpi: Make TPM version configurable.
Date: Thu, 15 Dec 2022 17:09:33 +0000
Message-ID: <20221215170934.123889-2-jennifer.herbert@citrix.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20221215170934.123889-1-jennifer.herbert@citrix.com>
References: <0548fa97-5384-94e4-7329-b019e60555f4@citrix.com>
 <20221215170934.123889-1-jennifer.herbert@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This patch makes the TPM version, for which the ACPI library probes, configurable.
If acpi_config.tpm_verison is set to 1, it indicates that 1.2 (TCPA) should be probed.
I have also added to hvmloader an option to allow setting this new config, which can
be triggered by setting the platform/tpm_verion xenstore key.

Signed-off-by: Jennifer Herbert <jennifer.herbert@citrix.com>
---
 docs/misc/xenstore-paths.pandoc |  8 ++++
 tools/firmware/hvmloader/util.c | 13 ++++++-
 tools/libacpi/build.c           | 68 ++++++++++++++++++---------------
 tools/libacpi/libacpi.h         |  4 +-
 4 files changed, 59 insertions(+), 34 deletions(-)

diff --git a/docs/misc/xenstore-paths.pandoc b/docs/misc/xenstore-paths.pandoc
index 5cd5c8a3b9..7270b46721 100644
--- a/docs/misc/xenstore-paths.pandoc
+++ b/docs/misc/xenstore-paths.pandoc
@@ -269,6 +269,14 @@ at the guest physical address in HVM_PARAM_VM_GENERATION_ID_ADDR.
 See Microsoft's "Virtual Machine Generation ID" specification for the
 circumstances where the generation ID needs to be changed.
 
+
+#### ~/platform/tpm_version = INTEGER [HVM,INTERNAL]
+
+The TPM version to be probed for.
+
+A value of 1 indicates to probe for TPM 1.2. If unset, or an
+invalid version, then no TPM is probed.
+
 ### Frontend device paths
 
 Paravirtual device frontends are generally specified by their own
diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index 581b35e5cf..87bc2d677f 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -994,13 +994,22 @@ void hvmloader_acpi_build_tables(struct acpi_config *config,
     if ( !strncmp(xenstore_read("platform/acpi_laptop_slate", "0"), "1", 1)  )
         config->table_flags |= ACPI_HAS_SSDT_LAPTOP_SLATE;
 
-    config->table_flags |= (ACPI_HAS_TCPA | ACPI_HAS_IOAPIC |
+    config->table_flags |= (ACPI_HAS_TPM | ACPI_HAS_IOAPIC |
                             ACPI_HAS_WAET | ACPI_HAS_PMTIMER |
                             ACPI_HAS_BUTTONS | ACPI_HAS_VGA |
                             ACPI_HAS_8042 | ACPI_HAS_CMOS_RTC);
     config->acpi_revision = 4;
 
-    config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS;
+    s = xenstore_read("platform/tpm_version", "0");
+    config->tpm_version = strtoll(s, NULL, 0);
+
+    switch( config->tpm_version )
+    {
+    case 1:
+        config->table_flags |= ACPI_HAS_TPM;
+        config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS;
+        break;
+    }
 
     config->numa.nr_vmemranges = nr_vmemranges;
     config->numa.nr_vnodes = nr_vnodes;
diff --git a/tools/libacpi/build.c b/tools/libacpi/build.c
index fe2db66a62..d313ccd8cf 100644
--- a/tools/libacpi/build.c
+++ b/tools/libacpi/build.c
@@ -409,38 +409,46 @@ static int construct_secondary_tables(struct acpi_ctxt *ctxt,
         memcpy(ssdt, ssdt_laptop_slate, sizeof(ssdt_laptop_slate));
         table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, ssdt);
     }
-
-    /* TPM TCPA and SSDT. */
-    if ( (config->table_flags & ACPI_HAS_TCPA) &&
-         (config->tis_hdr[0] != 0 && config->tis_hdr[0] != 0xffff) &&
-         (config->tis_hdr[1] != 0 && config->tis_hdr[1] != 0xffff) )
+    /* TPM and SSDT. */
+    if (config->table_flags & ACPI_HAS_TPM)
     {
-        ssdt = ctxt->mem_ops.alloc(ctxt, sizeof(ssdt_tpm), 16);
-        if (!ssdt) return -1;
-        memcpy(ssdt, ssdt_tpm, sizeof(ssdt_tpm));
-        table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, ssdt);
-
-        tcpa = ctxt->mem_ops.alloc(ctxt, sizeof(struct acpi_20_tcpa), 16);
-        if (!tcpa) return -1;
-        memset(tcpa, 0, sizeof(*tcpa));
-        table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, tcpa);
-
-        tcpa->header.signature = ACPI_2_0_TCPA_SIGNATURE;
-        tcpa->header.length    = sizeof(*tcpa);
-        tcpa->header.revision  = ACPI_2_0_TCPA_REVISION;
-        fixed_strcpy(tcpa->header.oem_id, ACPI_OEM_ID);
-        fixed_strcpy(tcpa->header.oem_table_id, ACPI_OEM_TABLE_ID);
-        tcpa->header.oem_revision = ACPI_OEM_REVISION;
-        tcpa->header.creator_id   = ACPI_CREATOR_ID;
-        tcpa->header.creator_revision = ACPI_CREATOR_REVISION;
-        if ( (lasa = ctxt->mem_ops.alloc(ctxt, ACPI_2_0_TCPA_LAML_SIZE, 16)) != NULL )
+        switch (config->tpm_version)
         {
-            tcpa->lasa = ctxt->mem_ops.v2p(ctxt, lasa);
-            tcpa->laml = ACPI_2_0_TCPA_LAML_SIZE;
-            memset(lasa, 0, tcpa->laml);
-            set_checksum(tcpa,
-                         offsetof(struct acpi_header, checksum),
-                         tcpa->header.length);
+        case 1:
+            if (!config->tis_hdr ||
+                config->tis_hdr[0] == 0 || config->tis_hdr[0] == 0xffff ||
+                config->tis_hdr[1] == 0 || config->tis_hdr[1] == 0xffff)
+                break;
+
+            ssdt = ctxt->mem_ops.alloc(ctxt, sizeof(ssdt_tpm), 16);
+            if (!ssdt) return -1;
+            memcpy(ssdt, ssdt_tpm, sizeof(ssdt_tpm));
+            table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, ssdt);
+
+            tcpa = ctxt->mem_ops.alloc(ctxt, sizeof(struct acpi_20_tcpa), 16);
+            if (!tcpa) return -1;
+            memset(tcpa, 0, sizeof(*tcpa));
+            table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, tcpa);
+
+            tcpa->header.signature = ACPI_2_0_TCPA_SIGNATURE;
+            tcpa->header.length    = sizeof(*tcpa);
+            tcpa->header.revision  = ACPI_2_0_TCPA_REVISION;
+            fixed_strcpy(tcpa->header.oem_id, ACPI_OEM_ID);
+            fixed_strcpy(tcpa->header.oem_table_id, ACPI_OEM_TABLE_ID);
+            tcpa->header.oem_revision = ACPI_OEM_REVISION;
+            tcpa->header.creator_id   = ACPI_CREATOR_ID;
+            tcpa->header.creator_revision = ACPI_CREATOR_REVISION;
+
+            if ( (lasa = ctxt->mem_ops.alloc(ctxt, ACPI_2_0_TCPA_LAML_SIZE, 16)) != NULL )
+            {
+                tcpa->lasa = ctxt->mem_ops.v2p(ctxt, lasa);
+                tcpa->laml = ACPI_2_0_TCPA_LAML_SIZE;
+                memset(lasa, 0, tcpa->laml);
+                set_checksum(tcpa,
+                             offsetof(struct acpi_header, checksum),
+                             tcpa->header.length);
+            }
+            break;
         }
     }
 
diff --git a/tools/libacpi/libacpi.h b/tools/libacpi/libacpi.h
index a2efd23b0b..9143616130 100644
--- a/tools/libacpi/libacpi.h
+++ b/tools/libacpi/libacpi.h
@@ -27,7 +27,7 @@
 #define ACPI_HAS_SSDT_PM           (1<<4)
 #define ACPI_HAS_SSDT_S3           (1<<5)
 #define ACPI_HAS_SSDT_S4           (1<<6)
-#define ACPI_HAS_TCPA              (1<<7)
+#define ACPI_HAS_TPM               (1<<7)
 #define ACPI_HAS_IOAPIC            (1<<8)
 #define ACPI_HAS_WAET              (1<<9)
 #define ACPI_HAS_PMTIMER           (1<<10)
@@ -78,8 +78,8 @@ struct acpi_config {
     struct acpi_numa numa;
     const struct hvm_info_table *hvminfo;
 
+    uint8_t tpm_version;
     const uint16_t *tis_hdr;
-
     /*
      * Address where acpi_info should be placed.
      * This must match the OperationRegion(BIOS, SystemMemory, ....)
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 17:12:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 17:12:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463634.721872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rmG-0008IW-RK; Thu, 15 Dec 2022 17:12:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463634.721872; Thu, 15 Dec 2022 17:12:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rmG-0008IL-OC; Thu, 15 Dec 2022 17:12:12 +0000
Received: by outflank-mailman (input) for mailman id 463634;
 Thu, 15 Dec 2022 17:12:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vu2t=4N=citrix.com=prvs=3415489ca=jennifer.herbert@srs-se1.protection.inumbo.net>)
 id 1p5rmF-0007rI-AW
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 17:12:11 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9aae069b-7c9b-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 18:12:09 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9aae069b-7c9b-11ed-8fd3-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671124329;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Iz134rqvwTvscS9CWxWtMb5PUbEKwnQkr/UCyWzFbGs=;
  b=cwler39l1zu+KGJymcTlH13sXrQdTWMwrwtAxgABZ58N1OUppi0H0PWV
   PdLnGhvZ8uL8t11PHYHaCZxHvkcW9J1iX280UKlvfwrD1UBhKrHhU+vZh
   hquos4FJgsY8Fa/cBkn8eNPXCIXHpySX7/3mcNm8FAtP+CXCxAbepKLOU
   A=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88593916
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:NDUmsqB1d1zGmhVW/zvjw5YqxClBgxIJ4kV8jS/XYbTApDtx1j0Am
 jMdXG6Bb6uNZjSmeNhxPovj90IFu8ODndI3QQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlB4wRjDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwwb40KjkSz
 9IjBi0/UDqjoO2G27uVY7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2o0BPjDS0Qn1lM/Cp84muami2O5czBCol+PuYI84nTJzRw327/oWDbQUozaGJQOzx/Gz
 o7A103YPz0rHd6S8ziErHuBgdGSogykAo1HQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFabujYMVtwWFPc1gCmPwKfJ5weSBkAfUyVMLtchsacLqScCj
 wHT2YmzXHo27ePTGSn1GqqoQS2aAnBWBjdeXwE/YxY33fPDh44DlRvhZ4M2eEKqteHdFTb1y
 jGMiSExgbQPkMIGv5mGEUD7byGE/caQEFNsjunDdif8t14iOtb5D2C9wQKDhcusOrp1WbVoU
 JIsv8GFpN4DApiW/MBmaLVcRer5jxpp3dC1vLKOI3XD3271k5JAVdoKiN2bGKuOGphsRNMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QRO8AtLlHarXswPyZ8OlwBdmB2ycnT3
 r/CIa6R4YsyU/w7nFJauc9DuVPU+szO7TyKHs2qp/hW+bGfeGSUWd843KimN4gEAFe/iFyNq
 b53bpLaoyizpcWiOkE7B6ZPdwFVRZX6bLiqw/FqmhmrfVA/Qjl6V6SNqV7jEqQ895loei7z1
 inVcidlJJDX3xUr9S3ihqhfVY7S
IronPort-HdrOrdr: A9a23:Czgwdqyz2Y+KN4Jj1TaRKrPwEr1zdoMgy1knxilNoHtuH/Bw9v
 rDoB1/73XJYVkqOU3I9erwWpVoa0msjKKdmLNhW4tKPzOHhILLFu9fBOLZqlXd8kvFh4lgPM
 xbAstD4bPLYmSTtqzBkWyF+twbsb26GfCT7tvj8w==
X-IronPort-AV: E=Sophos;i="5.96,248,1665460800"; 
   d="scan'208";a="88593916"
From: Jennifer Herbert <jennifer.herbert@citrix.com>
To: <jennifer.herbert@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	<xen-devel@lists.xenproject.org>
Subject: [PATCH v2 2/2] acpi: Add TPM2 interface definition.
Date: Thu, 15 Dec 2022 17:09:34 +0000
Message-ID: <20221215170934.123889-3-jennifer.herbert@citrix.com>
X-Mailer: git-send-email 2.31.1
In-Reply-To: <20221215170934.123889-1-jennifer.herbert@citrix.com>
References: <0548fa97-5384-94e4-7329-b019e60555f4@citrix.com>
 <20221215170934.123889-1-jennifer.herbert@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This patch introduces an optional TPM 2 interface definition to the ACPI table,
which is to be used as part of a vTPM 2 implementation.

Signed-off-by: Jennifer Herbert <jennifer.herbert@citrix.com>
---
 tools/firmware/hvmloader/config.h |  1 +
 tools/firmware/hvmloader/util.c   |  7 ++++++
 tools/libacpi/Makefile            |  2 +-
 tools/libacpi/acpi2_0.h           | 26 ++++++++++++++++++++++
 tools/libacpi/build.c             | 35 ++++++++++++++++++++++++++++++
 tools/libacpi/libacpi.h           |  1 +
 tools/libacpi/ssdt_tpm2.asl       | 36 +++++++++++++++++++++++++++++++
 7 files changed, 107 insertions(+), 1 deletion(-)
 create mode 100644 tools/libacpi/ssdt_tpm2.asl

diff --git a/tools/firmware/hvmloader/config.h b/tools/firmware/hvmloader/config.h
index c82adf6dc5..4dec7195f0 100644
--- a/tools/firmware/hvmloader/config.h
+++ b/tools/firmware/hvmloader/config.h
@@ -56,6 +56,7 @@ extern uint8_t ioapic_version;
 #define PCI_ISA_IRQ_MASK    0x0c20U /* ISA IRQs 5,10,11 are PCI connected */
 
 #define ACPI_TIS_HDR_ADDRESS 0xFED40F00UL
+#define ACPI_CRB_HDR_ADDRESS 0xFED40034UL
 
 extern uint32_t pci_mem_start;
 extern const uint32_t pci_mem_end;
diff --git a/tools/firmware/hvmloader/util.c b/tools/firmware/hvmloader/util.c
index 87bc2d677f..6e5d3609b9 100644
--- a/tools/firmware/hvmloader/util.c
+++ b/tools/firmware/hvmloader/util.c
@@ -1009,6 +1009,13 @@ void hvmloader_acpi_build_tables(struct acpi_config *config,
         config->table_flags |= ACPI_HAS_TPM;
         config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS;
         break;
+    case 2:
+        config->table_flags |= ACPI_HAS_TPM;
+        config->crb_hdr = (uint16_t *)ACPI_CRB_HDR_ADDRESS;
+
+        mem_hole_populate_ram(TPM_LOG_AREA_ADDRESS >> PAGE_SHIFT, TPM_LOG_SIZE >> PAGE_SHIFT);
+        memset((void *)(TPM_LOG_AREA_ADDRESS), 0, TPM_LOG_SIZE);
+        break;
     }
 
     config->numa.nr_vmemranges = nr_vmemranges;
diff --git a/tools/libacpi/Makefile b/tools/libacpi/Makefile
index 60860eaa00..125f29fb54 100644
--- a/tools/libacpi/Makefile
+++ b/tools/libacpi/Makefile
@@ -25,7 +25,7 @@ C_SRC-$(CONFIG_X86) = dsdt_anycpu.c dsdt_15cpu.c dsdt_anycpu_qemu_xen.c dsdt_pvh
 C_SRC-$(CONFIG_ARM_64) = dsdt_anycpu_arm.c
 DSDT_FILES ?= $(C_SRC-y)
 C_SRC = $(addprefix $(ACPI_BUILD_DIR)/, $(DSDT_FILES))
-H_SRC = $(addprefix $(ACPI_BUILD_DIR)/, ssdt_s3.h ssdt_s4.h ssdt_pm.h ssdt_tpm.h ssdt_laptop_slate.h)
+H_SRC = $(addprefix $(ACPI_BUILD_DIR)/, ssdt_s3.h ssdt_s4.h ssdt_pm.h ssdt_tpm.h ssdt_tpm2.h ssdt_laptop_slate.h)
 
 MKDSDT_CFLAGS-$(CONFIG_ARM_64) = -DCONFIG_ARM_64
 MKDSDT_CFLAGS-$(CONFIG_X86) = -DCONFIG_X86
diff --git a/tools/libacpi/acpi2_0.h b/tools/libacpi/acpi2_0.h
index 2619ba32db..f4eb4d715b 100644
--- a/tools/libacpi/acpi2_0.h
+++ b/tools/libacpi/acpi2_0.h
@@ -121,6 +121,30 @@ struct acpi_20_tcpa {
 };
 #define ACPI_2_0_TCPA_LAML_SIZE (64*1024)
 
+/*
+ * TPM2
+ */
+struct acpi_20_tpm2 {
+    struct acpi_header header;
+    uint16_t platform_class;
+    uint16_t reserved;
+    uint64_t control_area_address;
+    uint32_t start_method;
+    uint8_t start_method_params[12];
+    uint32_t log_area_minimum_length;
+    uint64_t log_area_start_address;
+};
+#define TPM2_ACPI_CLASS_CLIENT      0
+#define TPM2_START_METHOD_CRB       7
+
+#define TPM_CRB_ADDR_BASE           0xFED40000
+#define TPM_CRB_ADDR_CTRL           (TPM_CRB_ADDR_BASE + 0x40)
+
+#define TPM_LOG_AREA_ADDRESS        0xFED50000
+
+#define TPM_LOG_AREA_MINIMUM_SIZE   (64 << 10)
+#define TPM_LOG_SIZE                (64 << 10)
+
 /*
  * Fixed ACPI Description Table Structure (FADT) in ACPI 1.0.
  */
@@ -431,6 +455,7 @@ struct acpi_20_slit {
 #define ACPI_2_0_RSDT_SIGNATURE ASCII32('R','S','D','T')
 #define ACPI_2_0_XSDT_SIGNATURE ASCII32('X','S','D','T')
 #define ACPI_2_0_TCPA_SIGNATURE ASCII32('T','C','P','A')
+#define ACPI_2_0_TPM2_SIGNATURE ASCII32('T','P','M','2')
 #define ACPI_2_0_HPET_SIGNATURE ASCII32('H','P','E','T')
 #define ACPI_2_0_WAET_SIGNATURE ASCII32('W','A','E','T')
 #define ACPI_2_0_SRAT_SIGNATURE ASCII32('S','R','A','T')
@@ -444,6 +469,7 @@ struct acpi_20_slit {
 #define ACPI_2_0_RSDT_REVISION 0x01
 #define ACPI_2_0_XSDT_REVISION 0x01
 #define ACPI_2_0_TCPA_REVISION 0x02
+#define ACPI_2_0_TPM2_REVISION 0x04
 #define ACPI_2_0_HPET_REVISION 0x01
 #define ACPI_2_0_WAET_REVISION 0x01
 #define ACPI_1_0_FADT_REVISION 0x01
diff --git a/tools/libacpi/build.c b/tools/libacpi/build.c
index d313ccd8cf..d4f25a68d2 100644
--- a/tools/libacpi/build.c
+++ b/tools/libacpi/build.c
@@ -19,6 +19,7 @@
 #include "ssdt_s3.h"
 #include "ssdt_s4.h"
 #include "ssdt_tpm.h"
+#include "ssdt_tpm2.h"
 #include "ssdt_pm.h"
 #include "ssdt_laptop_slate.h"
 #include <xen/hvm/hvm_info_table.h>
@@ -352,6 +353,7 @@ static int construct_secondary_tables(struct acpi_ctxt *ctxt,
     struct acpi_20_tcpa *tcpa;
     unsigned char *ssdt;
     void *lasa;
+    struct acpi_20_tpm2 *tpm2;
 
     /* MADT. */
     if ( (config->hvminfo->nr_vcpus > 1) || config->hvminfo->apic_mode )
@@ -449,6 +451,39 @@ static int construct_secondary_tables(struct acpi_ctxt *ctxt,
                              tcpa->header.length);
             }
             break;
+
+        case 2:
+            if (!config->crb_hdr ||
+                config->crb_hdr[0] == 0 || config->crb_hdr[0] == 0xffff)
+                break;
+
+            ssdt = ctxt->mem_ops.alloc(ctxt, sizeof(ssdt_tpm2), 16);
+            if (!ssdt) return -1;
+            memcpy(ssdt, ssdt_tpm2, sizeof(ssdt_tpm2));
+            table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, ssdt);
+
+            tpm2 = ctxt->mem_ops.alloc(ctxt, sizeof(struct acpi_20_tpm2), 16);
+            if (!tpm2) return -1;
+            memset(tpm2, 0, sizeof(*tpm2));
+            table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, tpm2);
+
+            tpm2->header.signature = ACPI_2_0_TPM2_SIGNATURE;
+            tpm2->header.length    = sizeof(*tpm2);
+            tpm2->header.revision  = ACPI_2_0_TPM2_REVISION;
+            fixed_strcpy(tpm2->header.oem_id, ACPI_OEM_ID);
+            fixed_strcpy(tpm2->header.oem_table_id, ACPI_OEM_TABLE_ID);
+            tpm2->header.oem_revision = ACPI_OEM_REVISION;
+            tpm2->header.creator_id   = ACPI_CREATOR_ID;
+            tpm2->header.creator_revision = ACPI_CREATOR_REVISION;
+            tpm2->platform_class = TPM2_ACPI_CLASS_CLIENT;
+            tpm2->control_area_address = TPM_CRB_ADDR_CTRL;
+            tpm2->start_method = TPM2_START_METHOD_CRB;
+            tpm2->log_area_minimum_length = TPM_LOG_AREA_MINIMUM_SIZE;
+            tpm2->log_area_start_address = TPM_LOG_AREA_ADDRESS;
+
+            set_checksum(tpm2,
+                         offsetof(struct acpi_header, checksum),
+                         tpm2->header.length);
         }
     }
 
diff --git a/tools/libacpi/libacpi.h b/tools/libacpi/libacpi.h
index 9143616130..b5d08ff09b 100644
--- a/tools/libacpi/libacpi.h
+++ b/tools/libacpi/libacpi.h
@@ -80,6 +80,7 @@ struct acpi_config {
 
     uint8_t tpm_version;
     const uint16_t *tis_hdr;
+    const uint16_t *crb_hdr;
     /*
      * Address where acpi_info should be placed.
      * This must match the OperationRegion(BIOS, SystemMemory, ....)
diff --git a/tools/libacpi/ssdt_tpm2.asl b/tools/libacpi/ssdt_tpm2.asl
new file mode 100644
index 0000000000..1801c338df
--- /dev/null
+++ b/tools/libacpi/ssdt_tpm2.asl
@@ -0,0 +1,36 @@
+/*
+ * ssdt_tpm2.asl
+ *
+ * Copyright (c) 2018-2022, Citrix Systems, Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; version 2.1 only. with the special
+ * exception on linking described in file LICENSE.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Lesser General Public License for more details.
+ */
+
+/* SSDT for TPM CRB Interface for Xen with Qemu device model. */
+
+DefinitionBlock ("SSDT_TPM2.aml", "SSDT", 2, "Xen", "HVM", 0)
+{
+    Device (TPM)
+    {
+        Name (_HID, "MSFT0101" /* TPM 2.0 Security Device */)  // _HID: Hardware ID
+        Name (_CRS, ResourceTemplate ()  // _CRS: Current Resource Settings
+        {
+            Memory32Fixed (ReadWrite,
+                0xFED40000,         // Address Base
+                0x00001000,         // Address Length
+                )
+        })
+        Method (_STA, 0, NotSerialized)  // _STA: Status
+        {
+            Return (0x0F)
+        }
+    }
+}
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 17:17:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 17:17:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463652.721883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rrZ-0001Hv-Fo; Thu, 15 Dec 2022 17:17:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463652.721883; Thu, 15 Dec 2022 17:17:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5rrZ-0001Ho-Cv; Thu, 15 Dec 2022 17:17:41 +0000
Received: by outflank-mailman (input) for mailman id 463652;
 Thu, 15 Dec 2022 17:17:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cY1j=4N=citrix.com=prvs=3418b2cde=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p5rrY-0001Hi-1U
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 17:17:40 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ed3a2fe-7c9c-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 18:17:38 +0100 (CET)
Received: from mail-mw2nam04lp2169.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Dec 2022 12:17:33 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN8PR03MB4945.namprd03.prod.outlook.com (2603:10b6:408:78::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Thu, 15 Dec
 2022 17:17:31 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Thu, 15 Dec 2022
 17:17:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ed3a2fe-7c9c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671124658;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Mpcp+ofV4ft5w1Nh4cgUXfkZ7kPxQhCj9kiB7nt5+r4=;
  b=YNzD/o9BzR6LxXG1RRS7u+RNR+3WTS0jWw3ftf8W2QMRAuZgsG4ATFSO
   SmiX7w8nNpEJmCrs+HqwwyJdrpZZJ1eIV8S9HQsPF/wnjSp21soWeF3+4
   kcVmTkqzFmX10ogPbxwNFMPkCF69RFNGSNJKQmhBbRLdh68DyNXLbsi32
   Q=;
X-IronPort-RemoteIP: 104.47.73.169
X-IronPort-MID: 87564784
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:jTwknqx0JR7wKoopsoZ6t+eSxyrEfRIJ4+MujC+fZmUNrF6WrkVVn
 WoaWz2Bbq2OZmb8Ltwkbt+0phkEu5PQy9FnSQpk+yAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPK0T4TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KVxjy
 NcRIxMHUhGspcfo8JO0EPc0l9t2eaEHPKtH0p1h5RfwKK56BLX8GeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvDOVlVIguFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAurB99MSOLoqpaGhnXK731QMEc6UmK2qPO00EnlAMB/L
 FA9r39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLY7gOYLmkCUD9aadYiudM2RDolz
 VuAlZXiAjkHmLicU3eU7LqXhTK0JykOLGUGaDMETA0K+N3qqsc4iRenZslnOL64iJvyAz6Y6
 zKXqm44jrYaj88O3o26+0zKh3SnoZ2hZg04+ATRGH6k5wVRZYi5aoju4l/ehd5cLYOxXlSH+
 n8elKC2/O0ISJ2AiiGJaOEMB62yoeaINiXGhlxiFIVn8C6ik0NPZqhV6TB6YUJ2aMANfGe1Z
 FeJ4F0AophOIHGtcKl7JZqrDNgnxrThEtKjUe3Iat1JYd56cwrvEDxSWHN8FlvFyCAE+ZzT8
 7/CGSpwJR720Zha8Qc=
IronPort-HdrOrdr: A9a23:Z3uXSarPmJot7c2WT2W+MUIaV5oteYIsimQD101hICG9E/bo8f
 xG+c5x6faaslkssR0b9+xoW5PwIk80l6QV3WB5B97LNmSLhILPFvAB0WKI+V3d8kPFh4pg/J
 YlX69iCMDhSXhW5PyKhzVQyuxQpeW6zA==
X-IronPort-AV: E=Sophos;i="5.96,248,1665460800"; 
   d="scan'208";a="87564784"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QtRGufmbZ8/wnNFnJST/D/0y1XGb/dqG22i4jI6kjDjgyCe5ndb8poNH+FMG+Npk33w/f5K3oDqa/afNpqaXv20sWmsA4i77e16LAZ1MohbEXk5UaTpZDjabkfq1z3SlexXskI7dRybgRWeLgibQnmsEpwD/2PKvWTiEyfgXaucd7HTtnYfUEDdJ0ngNrUfjoNzwA5TOXH0jIovv50+cEMYcVi6QicM7Wpkib/ChwYDODBPbJnpLB10842L9gsbevD3Eurn2Yvd2SwnkG4OqX7AmdAFGFtAVkkf+oknaFvquCtiQuL+O8dxelUOuuTQs6mBq5p2nmwtADAa9716MPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Mpcp+ofV4ft5w1Nh4cgUXfkZ7kPxQhCj9kiB7nt5+r4=;
 b=OmkMXJkW91H7OOyzbaNoBjzpXSdm1arzqKkpE2jutzQnuODbzWpAplkElI+YCfnX+kNmQ6AZEW18zncjN941xHMS+xCnfvhlWBv6itN3txdB+oA+Vo8T/W7S/2ymB1kXf0JhUSh0QyxDo54OLzTcnci8Ki7Mt3yhYKkdS8qzoA8ccqPtKEUzg6ibQG9GUmafL1QusUh40UUHfu8eSVaFP4qo4Cs10UVaptRT689cz9i5Ihj7r5695Da/yxTkp1riDidk+4PvTdNLatH2y48IdfGKkWPFRLXT+qM2OsV0h4A7MVtJJMv8prfEISAjcJPFKKhQTbCxivoRZsNwKrJNOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Mpcp+ofV4ft5w1Nh4cgUXfkZ7kPxQhCj9kiB7nt5+r4=;
 b=L6vEnE3s2zvfhgzP5m5p/eevuS9cavTwxVMcXtTeYh3qtEYHCyXqtqd8gTqJ+OPyRFqFU3X8nJ4aZRyYptk8r4h6pk6Zuk3SWVbsKJFXp59e4Q4MSNsSlxQJ4CwvkVb4ClE5wkAVc1l4XqPrJjBcs4PNOaDeDrG7shbi2a8X4u4=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, Demi Marie Obenour
	<demi@invisiblethingslab.com>
CC: =?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
	<kevin.tian@intel.com>, George Dunlap <George.Dunlap@citrix.com>, "Tim
 (Xen.org)" <tim@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 04/12] x86: Add memory type constants
Thread-Topic: [PATCH v3 04/12] x86: Add memory type constants
Thread-Index: AQHZEBGWBVEvj5vBYUWFbcQB1XD67K5upD4AgACN2AA=
Date: Thu, 15 Dec 2022 17:17:30 +0000
Message-ID: <7f04c4bb-102b-510b-fffb-b486abe41e4e@citrix.com>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
 <5e0dee8a2cc5076b677e813c9ee61fa08e8e4c1b.1671057808.git.demi@invisiblethingslab.com>
 <4a5e1508-b7fe-0bf3-6253-a7e546226ccb@suse.com>
In-Reply-To: <4a5e1508-b7fe-0bf3-6253-a7e546226ccb@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BN8PR03MB4945:EE_
x-ms-office365-filtering-correlation-id: 85dbb8a1-a0ae-4a2f-0b58-08dadec03f94
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 G5qWVh7EYU01CxVRJAHtjc9UAe1HQHPSkCpe66QSh9Flxu1L/8JIw+/5DX8QvVDTWvHutRICCWfL18agRJL/0S2TN/U6b3alwFKrRw1K9xVEw8ynV4zaqYiBs/cEWsQj4hxvrp21MAjhv6Q1g4VXFjxkdQE2wszGp26E708FMVFP9qUq11wihWtAT1qasLyR43jI9yyQI8/mv6tTPCuPteDJsW5gZJz17MWOdHP8TcvHqBuw4fL7VmAkgJYZqwxxrWkDTScnH4gAbObZB6GEYFVtJ1ksik90SEbA6bfRLQqKfXNTn+kJRJt+40IESHGnbnjf9tuc5RO6VfT3WFyA5U39WOb7GaTQvibqQ9f7r/OX0ZDM2bavujuEhEwRivP1lnkH5H3IaaSZSvHwkDdZ+yonTdFV4YOqCxZqt4ZGPix5VyM62nrT8rYx1Q2vJng+bdZJTB1mkhp0I5zMMCT/NdaF6AJamrSIj8NZeK1Q8DFcbtpaiVJJlRaOgp9sIx1Q+ac9npiKrrPxiBfuO8yKrY9KCMNM5yhPkEfkXFy6lyiD7fQw3F//GmI6hycA96KN3Qwb8pQOnEqGmrYfe8oI/rc0HVKGCb23DnzyM+v8Uzff1f0ads00IG4+xVU3ljszxFAG62zoQDzBLehJUCDxD2q424mluFsdOZ+5ZhwIL+Qj5TU+5hg48K6Rik7lqeGEZEkHgwMETIPFfrK0xL+6q4ytebCSFh48ngvoPkt2yF92hLwI/w2QW3FQuYJhdgjMw7IaLZBHFaLNLeAKFj46Ig==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(376002)(39860400002)(346002)(136003)(396003)(451199015)(36756003)(478600001)(31696002)(186003)(6486002)(8936002)(26005)(41300700001)(110136005)(6512007)(5660300002)(38070700005)(316002)(54906003)(86362001)(91956017)(6506007)(4326008)(53546011)(66946007)(64756008)(8676002)(66446008)(66556008)(66476007)(76116006)(7416002)(71200400001)(31686004)(4744005)(38100700002)(122000001)(82960400001)(2906002)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?T2h1eSt4VEcvUTR3d3laNWZPWmNpcEtRVlA4Vk9BYUVoc2VXSDRYT1oxRWZF?=
 =?utf-8?B?VlJXY3JodFdRQUNoamRxMnQ3RkRUejNVU0Q5N2FVK0dXck9CS2pQaW1VeEZK?=
 =?utf-8?B?TjhIc1gyM3JRRG50U2VKWi83SXRNSmIwdi9kQ04vaDF1TnZVU0Z1QnlxVmZG?=
 =?utf-8?B?cThSNVNQMXdwajhISGFqNUZpc0RSSUxYaXNzU3hrYXZOQWc2eCtqK0k5ZWJt?=
 =?utf-8?B?SkdoSEZWejJoQ2R4c0NRMndGanpJT3lJem0zTFVCVEluTnFwSVNkVUZneHgv?=
 =?utf-8?B?d1FodURQWEVYSkJYU0Q4M1NMVVNkbVB5eWpVWEQ2aWpVZnpHdVc5SmtiakFW?=
 =?utf-8?B?dGRrU1FkVDk0YmkzQk93VmI3clB0NUljOWttOVpJWFUyNEVkY3RPVTEwSXVn?=
 =?utf-8?B?eFJ2UmNQdnhDSnd3TEtwMjBYMzk4YkFQcVdrNmVMVG1XaEtTdmZ2dU4vR1ZC?=
 =?utf-8?B?NGNWZEVmR0kxY0VYc2MyMGN4djNqZG01R3BPWUZVcVE5Yk9sQzZEbjFoNFM3?=
 =?utf-8?B?eHdtc1c4SXBvcUN3VE91S0NLaE4zWEFtTGp2NzdGTWErUzNrRllYa3lQN2JP?=
 =?utf-8?B?T1Y1NXdnOFo4NW4wRjBQSVB3Vjl5UnZYVkxIbTJDWm4xclVhOXczeXlTVC93?=
 =?utf-8?B?VVh5V0RyY0c1N3p2MVRoMlk4czJRVU1zMEtRejE1SWZOWW1IQkhEeGtFS2hI?=
 =?utf-8?B?V0dKZXBMSVpQRTJuQWc1aHpFV2F4dTF5SVlJVk16QUtRanp5S29aQkNYd2wy?=
 =?utf-8?B?NUswSUJMN0JNOTI5SmsxR0Z2Wk5xSllsTFppYW1MRnNRU3lJS0V3S1h4TWRm?=
 =?utf-8?B?UC9vc0lVbTZOR1h4YTBYVzlQWjAxbmh5TlNaQ0VZK0wrTTA1U3RRUFp5dVls?=
 =?utf-8?B?anRKeVFwRmRqcC81VWpxWWlVRTBKYytEVVJIdG00OFNyRTNBekNQMUgwWVBa?=
 =?utf-8?B?bUVIbTN5YllReXA2dGxXR0dteGtNK0lOZGVtenhhZS9mbkdlZ2R3Zmhwa3Bh?=
 =?utf-8?B?bzdCVFBBMWNpV3V1ZEs5WHdqTFA4dmM5V01iS2lVTmxYUGhNSkorN0h5aW5s?=
 =?utf-8?B?UDNwVlhIdU9mWDZZcVZDVDBTczd3TE9wdER0b3RNeFJ3eHhrbHJrblFGUElt?=
 =?utf-8?B?YTFPWnFaY0JOdUMva1M3L09ER01SRTRvQXlNZy94WFcrTHViNjVUZFM2bVVw?=
 =?utf-8?B?R1EyUHcwUUxuNWU1Rno2M3JNOU1ndFFvTHVPQ0RGc0I5RHE0dExWeHFiYUQx?=
 =?utf-8?B?SVQ5aW40ZVdvZk0vNHU0L2g4c0R0SUVzcmFYTDJWSDZFNU1DS2RYdHU1YlZ2?=
 =?utf-8?B?dXhuMHVwS1ZIenAvaVhTc1ltVituNjQ1WHRtZmVpb0k5a3JkZDFsR0RmOGlS?=
 =?utf-8?B?STNVa3VySVZaWE91MjFvN1kwbFZMTEM2bG9sNjdnTkt4SGFNNU1pN09ZWG5Z?=
 =?utf-8?B?YzFqbEtCUVNiQUlyd3hqYTk3NlAzNGtpZ0ZJSjN4T1R0WUpHSTg3SFBFWEFh?=
 =?utf-8?B?ajZFeDFSdkdWcHVINStsWEFzYlFucFF3NVg4K3dZLzMzbVdFK040M2x6RkhZ?=
 =?utf-8?B?MmhSUUZxNTdFazRnOEFoREU4SGFDaDg1ZXNRZ1Z5Q1gzNStLWkdYYmM3YndX?=
 =?utf-8?B?RTVSWVJIYllMSHZ3VHk0dWNPMGpwYnFaSk5CQWUzaWo2Q08yRXIrdThTZTBD?=
 =?utf-8?B?YWdXaTNNL29FbG0zdWRZN3M0SDNHdW03amNocnB1VGtibWFiT3dXMndtUGYz?=
 =?utf-8?B?cmJCRzVSajVYUGEwbHBpTDY4OWZFTzYycUtlcm9NMktQcXlNMzJYQnBzczNx?=
 =?utf-8?B?VnBuNEhqRzZkMlMzRHVITGhyNFRwS3FqVGpMcWFyZkZYUERSR2xnWlpWRklY?=
 =?utf-8?B?Y3RRYnRseUd2ZGxlOXR4dlgxYTZOZnlaQTE0ZFRZSG1Qc3ZmdW44eWRJVUM0?=
 =?utf-8?B?YXNIUWVHYlBiTlYzU2JGbitJZU4yV3NMc3lJMU5WSWltRWpyMzNPcjZrT0Z4?=
 =?utf-8?B?bCt4cldoRDNieUt0ZzdHTlhMbHg0Wk9XOTMzNUx2YmVLWTlTYVU4Zmsrczdm?=
 =?utf-8?B?WlNEeEZwNXRoN2dOUkttaUhBazFjaVl1dThnaGY4WE9EZ0xFL1lsbXVjdWJP?=
 =?utf-8?Q?q5FbHigQO/YH2X7v+jdC/OiR4?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <DD9DF5F3341B9741B13C0538C07E50FF@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 85dbb8a1-a0ae-4a2f-0b58-08dadec03f94
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Dec 2022 17:17:30.7787
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: XhOKvERnqsCRowOHIldwroG8UAFa2pFezQ8rk6CQIHkpl4lIulXiNFDcz1x42g4/EF9whB08Ys3n/IN/ymTmdOYIITyEEaxWbM7COj4bAyA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB4945

T24gMTUvMTIvMjAyMiA4OjQ5IGFtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMTUuMTIuMjAy
MiAwMDoxMSwgRGVtaSBNYXJpZSBPYmVub3VyIHdyb3RlOg0KPj4gLS0tIGEveGVuL2FyY2gveDg2
L2luY2x1ZGUvYXNtL3g4Ni1kZWZucy5oDQo+PiArKysgYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9h
c20veDg2LWRlZm5zLmgNCj4+IEBAIC0xNTMsNCArMTUzLDE1IEBADQo+PiAgICAgICAoMXUgPDwg
WDg2X0VYQ19BQykgfCAoMXUgPDwgWDg2X0VYQ19DUCkgfCAgICAgICAgICAgICAgICAgICAgICBc
DQo+PiAgICAgICAoMXUgPDwgWDg2X0VYQ19WQykgfCAoMXUgPDwgWDg2X0VYQ19TWCkpDQo+PiAg
DQo+PiArLyogTWVtb3J5IHR5cGVzICovDQo+PiArI2RlZmluZSBYODZfTVRfVUMgICAgICAgICAw
eDAwIC8qIHVuY2FjaGFibGUgKi8NCj4+ICsjZGVmaW5lIFg4Nl9NVF9XQyAgICAgICAgIDB4MDEg
Lyogd3JpdGUtY29tYmluZWQgKi8NCj4+ICsjZGVmaW5lIFg4Nl9NVF9SRVNFUlZFRF8xIDB4MDIg
LyogcmVzZXJ2ZWQgKi8NCj4+ICsjZGVmaW5lIFg4Nl9NVF9SRVNFUlZFRF8yIDB4MDMgLyogcmVz
ZXJ2ZWQgKi8NCj4gQXMgc2FpZCwgdW5sZXNzIHRoZXJlJ3MgYSBnb29kIHJlYXNvbiB0byB1c2Ug
MSBhbmQgMiAoYW5kIG5vdCBlLmcuDQo+IDAgYW5kIDEpLCBJJ2QgcHJlZmVyIHRoZXNlIHRvIGJl
IG51bWJlcmVkIDIgYW5kIDMgdG8gbWF0Y2ggdGhlDQo+IHZhbHVlcyB0aGV5IGV4cGFuZCB0byAo
YW5kIHRoZSBudW1iZXJpbmcgdGhlbiBub3QgYmVpbmcgYXMgYXJiaXRyYXJ5KS4NCg0KVEJILCBJ
J2QgcHJlZmVyIG5vdCBoYXZpbmcgdGhlbSBpbiB0aGUgZmlyc3QgcGxhY2UgKEknbGwgc2VlIGlm
IHRoZXJlJ3MNCmEgd2F5IHRvIHNpbXBsaWZ5IHRoZSBidWlsZCBhc3NlcnRpb25zIHdoaWNoIGFy
ZSB0aGUgb25seSB1c2VycyBJIGNhbg0Kc3BvdCksIGJ1dCBpZiB3ZSBhcmUgZ29pbmcgdG8gaGF2
ZSB0aGVtIHRoZW4gZG8gdXNlIDIgYW5kIDMsIGFuZCBpdHMNCmZpbmUgdG8gYWJicmV2aWF0ZSB0
byBSU1ZELg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 17:28:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 17:28:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463664.721893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5s2Q-00037k-MQ; Thu, 15 Dec 2022 17:28:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463664.721893; Thu, 15 Dec 2022 17:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5s2Q-00037d-Jo; Thu, 15 Dec 2022 17:28:54 +0000
Received: by outflank-mailman (input) for mailman id 463664;
 Thu, 15 Dec 2022 17:28:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OWn4=4N=arm.com=Rahul.Singh@srs-se1.protection.inumbo.net>)
 id 1p5s2P-00037X-NM
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 17:28:53 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2081.outbound.protection.outlook.com [40.107.103.81])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0d9fde7-7c9d-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 18:28:51 +0100 (CET)
Received: from DB6PR1001CA0047.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:4:55::33)
 by AS4PR08MB8244.eurprd08.prod.outlook.com (2603:10a6:20b:51d::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Thu, 15 Dec
 2022 17:28:48 +0000
Received: from DBAEUR03FT024.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:55:cafe::c0) by DB6PR1001CA0047.outlook.office365.com
 (2603:10a6:4:55::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11 via Frontend
 Transport; Thu, 15 Dec 2022 17:28:48 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT024.mail.protection.outlook.com (100.127.142.163) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 17:28:48 +0000
Received: ("Tessian outbound 2ff13c8f2c05:v130");
 Thu, 15 Dec 2022 17:28:47 +0000
Received: from 46e3feac2b16.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C765B082-6A89-4C6C-B9D3-D08F9C09E734.1; 
 Thu, 15 Dec 2022 17:28:41 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 46e3feac2b16.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 15 Dec 2022 17:28:41 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com (2603:10a6:20b:404::24)
 by DB4PR08MB8030.eurprd08.prod.outlook.com (2603:10a6:10:38a::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Thu, 15 Dec
 2022 17:28:32 +0000
Received: from AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0]) by AS8PR08MB7158.eurprd08.prod.outlook.com
 ([fe80::b45:fa8a:caad:25c0%4]) with mapi id 15.20.5924.012; Thu, 15 Dec 2022
 17:28:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0d9fde7-7c9d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w1NaxMZ8gv7eXHhzwMGlYAVGQ5sE6QqkS81JdfOJL2w=;
 b=MQ9DNrewLvP535kbmNp1AtlJC1ztQByPvKpUJJZwMvdWLuPSdmURz17tZ80K4JfGve5ehN1PalATQOUY7XVeTTm+k7ORyWDJdvnS8ngfikfsrepbG8PqDa/omT922J4iz7/InVR7DAeyUn0RD8tK8SW9zszjUwvIKK36xlsIu1s=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: cb1de2ced793fb23
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=beynd1Lhbbw3PkhA9h6wSwl6xFMz0BGc9In89UMNkd0i4KnM/9sjOM52Dbm4C4i+nWcjS47hW78n8+FN/YJ4v19YcNLotEzeswvejC46dD941Uf/XJrJEjy2tQk/ONPQ2yVe8nl0bo1aYxJ/6ZHpa1XKr7EqpQ445j5Y1DxSQFm0/hXY4ei/rKwL0t6frmJJbm3sOTfASFXZK413uQiN0VRTpmsPUj62bpPvaaymkIaJLePQ8YE7xfFaKKVYrUGly2eoRWP/Y0P7mkGGOhkrIuUgOmwCI3Q/Q1DoyhOG0w6Yx6ht93Q9X2VxCf+sSP8Q91yXIei22Le+z9oj5+ZieA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w1NaxMZ8gv7eXHhzwMGlYAVGQ5sE6QqkS81JdfOJL2w=;
 b=dUyx+v8VhBo0mFa58R1bxdXNFSr9r6hpjIQ/3+GJNQUt/SWWQtgAKhVMk/ZAR32yqAUukWEPE23Zgw03IXCLo+UOKElkUYGTuAmD5TyVDhnF3Z81H13HG66cMpNxLz1yq0uo22mGZHpNmbqLMhASidzJ2OXcNeW41hoNF3bL2y2rK4Z51dBVfP+DGpvwEw5798eqGuc3EEAKV5VUYgBgNPAjZTohR8f/lZKrxP2Wu+e0h/+ZnddNQnRd2i1GCLZk+/GLcOjP3ozmeLHgbpKTNq6QPg76rluIgwgyLE5kkBcMpLEl3icmZ/XagNAyHUcZ9dinMttoRAepF3RF5KkzEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w1NaxMZ8gv7eXHhzwMGlYAVGQ5sE6QqkS81JdfOJL2w=;
 b=MQ9DNrewLvP535kbmNp1AtlJC1ztQByPvKpUJJZwMvdWLuPSdmURz17tZ80K4JfGve5ehN1PalATQOUY7XVeTTm+k7ORyWDJdvnS8ngfikfsrepbG8PqDa/omT922J4iz7/InVR7DAeyUn0RD8tK8SW9zszjUwvIKK36xlsIu1s=
From: Rahul Singh <Rahul.Singh@arm.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
CC: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2] xen/arm: smmuv3: mark arm_smmu_disable_pasid
 __maybe_unused
Thread-Topic: [PATCH v2] xen/arm: smmuv3: mark arm_smmu_disable_pasid
 __maybe_unused
Thread-Index: AQHZDx9yw/wEVo2DeEWwDI7Q4pTE1a5u1CiAgAAr3oCAAAsHgIAABWgAgAAmjYA=
Date: Thu, 15 Dec 2022 17:28:32 +0000
Message-ID: <CD52A21E-2550-41BE-9FEF-3EAFAEDCF3B3@arm.com>
References: <20221213181855.81713-1-stewart.hildebrand@amd.com>
 <423b32d1-90f1-2a0c-865c-24030a7dcdba@xen.org>
 <41f62567-b05a-26b7-ace1-21745d61b729@amd.com>
 <16bf9934-1f50-4694-253c-32fa35f0b097@xen.org>
 <3e47feec-8a78-887e-ecbc-c2bd81e62bb5@amd.com>
In-Reply-To: <3e47feec-8a78-887e-ecbc-c2bd81e62bb5@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7158:EE_|DB4PR08MB8030:EE_|DBAEUR03FT024:EE_|AS4PR08MB8244:EE_
X-MS-Office365-Filtering-Correlation-Id: 434fc32f-b360-4ade-fee8-08dadec1d340
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 ZnRyHBAvab4IBz3p89/CsMw+jDrlNHi1EZD0J9Tvkby6PTaj3VFSCWJFtWVv7qB54sepSZGQyWhK6rhJYRu2EKycb/MXMn5y87Gkob8kxlB7H2uNtU0k3Fq7DuhYgMl1xCciE8M5tSpGHa57qtnVS5oY6Oa/9w1SmO5exSaUmh55UCjs8cOcmQHbxAU9oRffWOJxA9TxZVsa6cF0H1sW8uJwk+bro5WjooKDKizyurfVhDzRHVcawxNsUILUscNmWbChMOJgV6p+fmqn6CSBTYMtS0dcQHCkmo32DF78ryVPdiPzLFsTxUll8QHCBM2DxcT4jXDXyR79P3mvq077woaUL4bZWZvobI0mMxPnXuidkJjpfwXHdZ4jvWubppgsE+J+wbs1bySt0jTB8UAy+KDkzNs1BvV1EfrLB0h+tQrfwWfHFTfoiNJ3GuB/fUuBPwyWNvVPSGdgYDu1sogZnadX6TkRg1G3+2jzUjEjfcPhXT/j6vKppfH2z+FmWBMN3HVqTKKtqmIYPtXBro8UDAVdjiUw0Qr7PPTsBAVaHmWMzWXr4B9+IXbITM3z1LwF6z/vKYDdY05+aIiC6zMQzIH3QDm4uz1KM+M946UVgGmfebt+p0hwmriHV1mMhIuAoJ4BhDaSFS8suEV9mstNpUzzcEgdlWQ3g8B/7Bp83KyOy1qJySY1ANU8W8AABpleN8gjhZtI3uNOVI9fXh1nQSZUkrDEfa6R8F8oqEyHUoc=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7158.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(366004)(136003)(346002)(376002)(451199015)(122000001)(86362001)(8676002)(53546011)(66446008)(8936002)(4326008)(6506007)(5660300002)(478600001)(66556008)(41300700001)(66946007)(76116006)(66476007)(91956017)(38070700005)(38100700002)(64756008)(71200400001)(6512007)(186003)(83380400001)(36756003)(6486002)(316002)(26005)(6916009)(54906003)(2616005)(33656002)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <F2AFE52160DCC44E9F05E0B97D6A5839@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8030
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT024.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	14439f05-0f2a-4142-9ecf-08dadec1c9d2
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bewx3i5wXBabcuaD7DQklo6iTxG0pMHMTKovsHqx4sdEdqoo1mRbHAh86I/Gdh+5Y6ZjF1orh7YOOiz2rKb9x95WSCpqd4rbS8ooPEJ4yRGWsw7JYMffDg6eL4upowrZevqtMx8M+tIYnpUZC4AFuvnjiifEfNqefkwsv/PNRA2t8m9BK0FOvS3lMnfTw2obV396xKziNuJthMqPJtUuJTuEqvc2672/rQSAWfNKgEtIZNTVb3ODrzvkjY/uFbXQxP/XNLYdEadX0m70k3sbCvuIQ19OWV+LMc4KGt4dLV2/OQsKd4bQPQH+UlGap9upeC3ZUERktKgZCEiMANkQG+5lrFUCKlr746BsN2HPr4VOqCDHvaShBSSG2EUliZQL7DPmgce2ghvI/IZ7EKPtMX+z4NqiShK4CcS9iIu8pRi9QVA0peamHrM0ZoWwHbi1ng6Uz0/gz7soam1Mtbckn8OuS6BoERbE9Hl/wc4NsJGiU5t00JO1rOdqj9RSeB0P5H7xkwQvlVZqEQ+fl73MQBrOG5TO4duGWUq+C4Bbh9WhSvQmhYo+cd2U6dLqnZBeMGD2xs6KROl1izUE8A8WRMQIMzzcLlM/k8BzXV53QLQGFjhiKByoaImAWCVpz4Wco7guwCC3BuXYEvocYxwB6BKCmlbUcKygVBpJF/sfXwEuXeS2FoGsIQFXZtB+pnam9MMJEJjD/TnN8LbSIdU26A==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(39860400002)(136003)(396003)(451199015)(36840700001)(46966006)(40470700004)(6512007)(83380400001)(186003)(36756003)(336012)(2616005)(6486002)(47076005)(478600001)(26005)(6506007)(82310400005)(53546011)(107886003)(81166007)(356005)(40480700001)(33656002)(86362001)(40460700003)(36860700001)(82740400003)(2906002)(54906003)(316002)(4326008)(5660300002)(8676002)(70206006)(70586007)(41300700001)(6862004)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 17:28:48.0496
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 434fc32f-b360-4ade-fee8-08dadec1d340
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT024.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8244

Hi Stewart,

> On 15 Dec 2022, at 3:10 pm, Stewart Hildebrand <stewart.hildebrand@amd.co=
m> wrote:
>=20
> On 12/15/22 09:51, Julien Grall wrote:
>> Hi Stewart,
>>=20
>> On 15/12/2022 14:11, Stewart Hildebrand wrote:
>>> On 12/15/22 06:34, Julien Grall wrote:
>>>> Hi Stewart,
>>>>=20
>>>> I was about to commit this patch when I noticed the placement of the
>>>> attribute doesn't match what we are usually doing in Xen.
>>>>=20
>>>> On 13/12/2022 18:18, Stewart Hildebrand wrote:
>>>>> When building with clang 12 and CONFIG_ARM_SMMU_V3=3Dy, we observe th=
e
>>>>> following build error:
>>>>>=20
>>>>> drivers/passthrough/arm/smmu-v3.c:1408:20: error: unused function 'ar=
m_smmu_disable_pasid' [-Werror,-Wunused-function]
>>>>> static inline void arm_smmu_disable_pasid(struct arm_smmu_master *mas=
ter) { }
>>>>>                      ^
>>>>>=20
>>>>> arm_smmu_disable_pasid is not currently called from anywhere in Xen, =
but
>>>>> it is inside a section of code guarded by CONFIG_PCI_ATS, which may b=
e
>>>>> helpful in the future if the PASID feature is to be implemented. Add =
the
>>>>> attribute __maybe_unused to the function.
>>>>>=20
>>>>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>>>>> ---
>>>>> v1->v2:
>>>>> Add __maybe_unused attribute instead of removing
>>>>> ---
>>>>>    xen/drivers/passthrough/arm/smmu-v3.c | 2 ++
>>>>>    1 file changed, 2 insertions(+)
>>>>>=20
>>>>> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/pass=
through/arm/smmu-v3.c
>>>>> index 9c9f4630090e..0cdc862f96d1 100644
>>>>> --- a/xen/drivers/passthrough/arm/smmu-v3.c
>>>>> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
>>>>> @@ -1376,6 +1376,7 @@ static int arm_smmu_enable_pasid(struct arm_smm=
u_master *master)
>>>>>        return 0;
>>>>>    }
>>>>>=20
>>>>> +__maybe_unused
>>>>>    static void arm_smmu_disable_pasid(struct arm_smmu_master *master)
>>>>=20
>>>> The attribute should be placed after "void". I.e.:
>>>>=20
>>>> static void __maybe_unused arm_smmu_disable_pasid(...)
>>>=20
>>> I had initially tried placing it exactly where you suggest in the first=
 draft of v2 of this patch. However, the line would then exceed 72 characte=
rs (actual 81 characters):
>>=20
>> This doesn't change the problem here but the limit is 80 characters per
>> line rather than 72.
>>=20
>>>=20
>>> static void __maybe_unused arm_smmu_disable_pasid(struct arm_smmu_maste=
r *master)
>>>=20
>>> So I found myself juggling with how best to wrap it. How about a newlin=
e after the __maybe_unused attribute?
>>>=20
>>> static void __maybe_unused
>>> arm_smmu_disable_pasid(struct arm_smmu_master *master)
>>>=20
>>> and similarly for the 2nd occurrence:
>>>=20
>>> static inline void __maybe_unused
>>> arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
>>>=20
>>> There is precedent for this style of wrapping in xen/common/sched/credi=
t2.c.
>>=20
>> Ah! I didn't realize the line would have been too long. In this case,
>> the newline after __maybe_unused is the way to go.
>=20
> Ok, I will send a v3 with this change.
>=20
> Rahul - may I retain your R-b tag in v3?

Yes you can retain my R-b.

Regards,
Rahul




From xen-devel-bounces@lists.xenproject.org Thu Dec 15 17:33:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 17:33:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463674.721905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5s7C-0004fs-9n; Thu, 15 Dec 2022 17:33:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463674.721905; Thu, 15 Dec 2022 17:33:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5s7C-0004fl-5h; Thu, 15 Dec 2022 17:33:50 +0000
Received: by outflank-mailman (input) for mailman id 463674;
 Thu, 15 Dec 2022 17:33:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=sQug=4N=citrix.com=prvs=341112f0b=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p5s7B-0004ff-5t
 for xen-devel@lists.xen.org; Thu, 15 Dec 2022 17:33:49 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9fd47f41-7c9e-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 18:33:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9fd47f41-7c9e-11ed-8fd3-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671125627;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=gTt4orLTr07tRz/N5MkoBGq46E/pxbPWFGzCqxGCX5w=;
  b=E6jaUbuAXUlKHfE1yVXxOsqeS4HVr3vcYPZN2gPGB46aRxpCyvBAt7t2
   4CqceFwhQuh7ctd2yP/Ms/VHPh1rVvm071IlEl7w4vdcAXvvxxQzHcQ4w
   YU7GuI4vLuBXd7pg/WZXL39ilXyD1t7RVv7fu3ALLV/ciY5PCuGkJl0e3
   Q=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88993350
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:N+dYCK0Nl3Mavsk1kPbD5fV2kn2cJEfYwER7XKvMYLTBsI5bpzYGy
 WUfDGmCPvzcMWHwc4ona9jk8x8PuZbSn9MwS1A6pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZnOKgW1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfIEdU2
 9cHLi42Nz/Ztr3qmYm6TLVSv5F2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKkSbC/FMEg5/5JYWleG0hn75YntApUicv6Yf6GnP1g1hlrPqNbI5f/TaFZQExR3F/
 goq+UzGICsEEoS90gCMyXiJqs3flCjmaoU7QejQGvlC3wTImz175ActfUCnrPewjEn4QM5WI
 UEQ/isorIAi9UiqSMm7VBq9yFaNuhMMHdBdFes35SmJy6zd+QHfAXILJhZadMYvqMgtADAny
 HeOh5btBCdzq/uRSHSU7LDSqim9UQAQJHMCZCIZCxMC4sPirZsbihPJR8xkVqWyi7XdBjXY0
 z2M6i8kiN07isoG1L6n7EvHqz2pr5nNCAUy423/W2Om40V5Y4qgapeA7Vnd5OxHaoGDQTGpo
 nkCkMWY8KYBEJCRiCuRaOEMGriz4LCCKjK0qUBuBZQ693Ku5nuqZ6hU4Td3PkAvNdwLERfra
 kLOvQJa5LdIIWCnK6RwZuqZG8ksiKTtC9nhfvTVdcZVJIh8ckmA5i4GTUmLxHzgi1RpmK06O
 JGzYcuqFWwdC6ls0HyxXeh1+b02wiEzw0vDSJa9yA6ouZKca2SSUqwtK0aVY6Yy66bsnenO2
 48BbY3QkUwZCbCgJHmMmWIOEbwUBVkdH77dtMpJTbeseDs5RDgaCvmN/4p0LuSJgJ9pvuvP+
 3i8XGpRx1z+mWDLJG22V5xzVF/8dc0h9CxmZETAKX7tgiF+Otj3sM/zYrNtJdEaGPpfIemYp
 hXvU+GJGbxxRzvO4FzxhrGt/dU5JHxHae9jVhdJgQTTnbY6H2QlGfe+JGMDERXi6QLp3fbSW
 5X6imvmrWMrHmyO9vr+ZvO11E+WtnMAgu90VEagCoANJxy0rNI0dn2r0KVfzyQwxfPrnGPyO
 +G+WEdwmAUwi9VtrImhaV6s8e9F7NeS7mIFRjKGvN5axAHR/3a5wJ8obQp7VWm1aY8Aw437P
 b8956ilYJU6cKNi79IU/0BDkfhvuLMCZtZykmxZIZk8RwvxU+k4eSXdgaGidMRln9dkhOd/Y
 WrXkvEyBFlDEJqN/II5TOb9Utm+6A==
IronPort-HdrOrdr: A9a23:vvmafq5yKIo/x2LN3gPXwSCBI+orL9Y04lQ7vn2ZFiY6TiXIra
 +TdaoguSMc0AxhIE3I6urwQ5VoIEmsg6KdjrNhWYtKMDOGhILsFvAa0WKA+UyoJ8SdzJ876U
 4IScEXYuEYT2IK6/oSiDPIUurIq+P3k5xA8N2uqkuFOjsaCZ2IgT0YNu4TeXcceOHJbaBJV6
 Z1uaF8ygaISDAyVICWF3MFV+/Mq5ngj5T9eyMLABYh9U2nkS6owKSSKWnR4j4uFxd0hZsy+2
 nMlAL0oo+5teug9xPa32jPq7xLhdrazMdZDsDksLlfFtyssHfjWG1SYczPgNkHmpDh1L8eqq
 iAn/5vBbU815qbRBDOnfKk4Xic7N+F0Q6j9bbQuwqeneXpAD09EMZPnoRfb1/Q7Fchpsh11O
 ZR03uerIc/N2K0oM3R3am6a/hRrDvHnVMy1eoIy3BPW4oXb7Fc6YQZ4UNOCZ8FWCb38pouHu
 ViBNzVoK8+SyLsU1nJ+m10hNC8VHU6GRmLBkAEp8yOyjBT2HR01VERysATlmoJsJg9V55H7e
 LZNbkArsA7cibXV9MMOA4se7rHNoWWe2OyDIu7GyWYKJ06
X-IronPort-AV: E=Sophos;i="5.96,248,1665460800"; 
   d="scan'208";a="88993350"
Date: Thu, 15 Dec 2022 17:33:34 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>, Viresh Kumar <viresh.kumar@linaro.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, Juergen Gross
	<jgross@suse.com>, Julien Grall <julien@xen.org>,
	"osstest-admin@xenproject.org" <osstest-admin@xenproject.org>, Vincent
 Guittot <vincent.guittot@linaro.org>, "stratos-dev@op-lists.linaro.org"
	<stratos-dev@op-lists.linaro.org>, Alex =?iso-8859-1?Q?Benn=E9e?=
	<alex.bennee@linaro.org>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>, Mike Holmes
	<mike.holmes@linaro.org>, Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH] libxl: virtio: Fix build error for 32-bit platforms
Message-ID: <Y5tabu1WUgS6sTNq@perard.uk.xensource.com>
References: <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
 <d4cf6539ff179e7ade820feadd8088f33da49196.1671111056.git.viresh.kumar@linaro.org>
 <Y5slue6ujqmCscJd@perard.uk.xensource.com>
 <b4c0e361-2b6a-f7b9-941d-4315144c6f65@suse.com>
 <e8988370-f838-dd23-729f-892561f54b58@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e8988370-f838-dd23-729f-892561f54b58@citrix.com>

On Thu, Dec 15, 2022 at 04:58:02PM +0000, Andrew Cooper wrote:
> A consumer of xenstore has to cope with all bases anyway. Anything that
> doesn't is broken.

So libxl is broken, that good to know :-). Most keys read by libxl are
expected to be base 10, with some allowed to be in different base (as
they're a few that uses strtoul(,,0);)

So don't try to change the base of existing keys ;-).

For those virtio one in particular, it's probably ok. libxl doesn't
mind, and hopefully the consumer of those don't mind either.

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 17:40:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 17:40:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463683.721915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5sDz-0006UC-Vl; Thu, 15 Dec 2022 17:40:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463683.721915; Thu, 15 Dec 2022 17:40:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5sDz-0006U5-T5; Thu, 15 Dec 2022 17:40:51 +0000
Received: by outflank-mailman (input) for mailman id 463683;
 Thu, 15 Dec 2022 17:40:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5sDx-0006Tv-W8; Thu, 15 Dec 2022 17:40:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5sDx-0000wX-Uu; Thu, 15 Dec 2022 17:40:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5sDx-0008Jz-Js; Thu, 15 Dec 2022 17:40:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5sDx-0001bb-JM; Thu, 15 Dec 2022 17:40:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ycHnApsedoFay9RXRgo6FzmhEtoKdHtxQEBccnhkLTM=; b=5AY7B9ipRbEvpBezGiZgK1IM7f
	6Ru5FR0b6WE2iTIk/5HbtwepqDYNNDXlnr4BnE+vB65jH28/w3WT6u61+pUmxhwz2QKBVtcr/QHB6
	b1xvBB7pLpJiYhj+WTcovdmkquOkoFmIQG8m/6xAGkOjVjgrifY9r4oXoSJlz85gw+04=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175284-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175284: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=88168c418c3bde7d51797e7cf875d528a8aa0eb1
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 17:40:49 +0000

flight 175284 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175284/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  88168c418c3bde7d51797e7cf875d528a8aa0eb1
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    2 days
Failing since        175199  2022-12-14 12:01:52 Z    1 days   14 attempts
Testing same since   175272  2022-12-15 12:03:24 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien@xen.org>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 431 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 18:05:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 18:05:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463694.721927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5sbq-0001NL-U4; Thu, 15 Dec 2022 18:05:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463694.721927; Thu, 15 Dec 2022 18:05:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5sbq-0001NE-RH; Thu, 15 Dec 2022 18:05:30 +0000
Received: by outflank-mailman (input) for mailman id 463694;
 Thu, 15 Dec 2022 18:05:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cY1j=4N=citrix.com=prvs=3418b2cde=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p5sbp-0001N8-1N
 for xen-devel@lists.xen.org; Thu, 15 Dec 2022 18:05:29 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0afb07b8-7ca3-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 19:05:26 +0100 (CET)
Received: from mail-bn8nam12lp2168.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Dec 2022 13:03:53 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO6PR03MB6227.namprd03.prod.outlook.com (2603:10b6:5:358::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Thu, 15 Dec
 2022 18:03:51 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Thu, 15 Dec 2022
 18:03:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0afb07b8-7ca3-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671127526;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=4XNR+alXATVWQn8J4BXyivnxo0hcURVZHImvzjEVV2M=;
  b=b7Xc33Vr+KOsIRnFynPshBTLFxCqSI1oZmLoREIrhiM2Evb86vshwWq+
   vcCYG6OGmkYsjALCUXYccl5J2If1n7OS62Nh39CrTel3jtuNuINLgVu5p
   j7tLD4GgdbzMDBpsyMTINkJAFB7q2OKdBpPjbbwJagx+gySo2SERWbV8c
   s=;
X-IronPort-RemoteIP: 104.47.55.168
X-IronPort-MID: 91089344
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:S3Foaa+1bZyQO3fSbG5rDrUDvX6TJUtcMsCJ2f8bNWPcYEJGY0x3y
 DBKXW6PPfrYMWTzLdF0Pd/lpk8F7cTUnNBqTQtsry48E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6kW5AK2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkkQ9
 tVBMhMyKSmTju2RwYm/RcMyuIc8eZyD0IM34hmMzBn/JNN/G9XpZfWP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWOilUvgNABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTCdtKROzjqqICbFu740EcNSwyUmqHnOCYoXeeZ4lFM
 0A3w397xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L8/QeDC3MECD1cbdU8nMs3QzUw0
 RmOhdyBLSxitviZRGyQ8p+QrCiuIm4FIGlEYjULJSMH7MPku5oblQ/UQ5BoF6vdpt/oHTD9x
 RiaoS54gK8c5eYMzL6n8Evbxjugo5nPZh444B3NWWCo5R8/Y5SqD6S26F7Q4PBcaomET0Wdu
 2Qsn8mY5foJS5aXm0SlW/kXFa2u/LOJPSP0hkYqG5g66y/r/3+ldJpXpjZkKy9BO8IJaXnjb
 UnVtA554J5VNWGtK6htbOqZENgnw6HmEpL+SvneY95KY55wXB+G+CBodQib2GWFuE0ljaE+N
 IrdacGtF3cXE4xjzTy/XeBb2rgurgg7xGDeA5D8yxGqypKaZXicU7BDN0GBBsg+6K6HuxnE6
 NZ3OM6DyhEZW+r7CgHI9aYDIFZMKmI0ba0asORSf++HZwBgSGcoDqaLxat7ItI12aNIiu3P4
 3exHFdCz0byjmHGLgPMbW1/bLToXtB0qndT0TEQAGtEEkMLOe6HhJrzvbNuJ+V2nAC/5ZaYl
 8U4Rvg=
IronPort-HdrOrdr: A9a23:LjHtTq85cdd9ZgvpNCduk+AiI+orL9Y04lQ7vn2ZKSY5TiVXra
 CTdZUgpHvJYVMqMk3I9uruBEDtex3hHP1OkOws1NWZLWrbUQKTRekP0WKL+Vbd8kbFh4xgPM
 lbEpSXCLfLfCVHZcSR2njFLz73quP3j5xBho3lvglQpRkBUdAG0+/gYDzraXGfQmN9dPwEPa
 vZ3OVrjRy6d08aa8yqb0N1JdQq97Xw5evbiQdtPW9e1DWz
X-IronPort-AV: E=Sophos;i="5.96,248,1665460800"; 
   d="scan'208";a="91089344"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K7fQt9ukCMdW8BSqg1QUhyUTlUBzRF43dTGINGW4VLt0Cr8XkyFwtpNJvBV7PnsdQOhQ88PW7WlAwb7zH8cfw4Vb/P9h/90ysQAiXkbLi6wVzSPWZez1blYggKVRNHLZAlWw3K109uhRJaq081QnnRiVy+yhLUYJC6NavT+GI5694ks3vo5rVPDKrYh3ejhK318e4u+5PM9cO4FOdZzPTpFSIuR7Tw4QsldHuf8ASeyA01SPl9OZj8kdn/ADB3YXeufkPcrLVXfBhPpaLpMDdgycYsCSM89bSZYkTUWYrYuSXmYroCe30OBcOTR/dgPg15hp2Q0BGzbIhcNnAbC4Qg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4XNR+alXATVWQn8J4BXyivnxo0hcURVZHImvzjEVV2M=;
 b=bT9v3pF+6BFRNhAYg0VZ+ZDBUnoj7BjWeLqzHBOf4/YQnPe60AXpbqa+rxQCUJ1pcUjaRSyF4y5zRJNlaIqEhKfaFDOg6gz/1M/PlsYzoL+SwQHjb85lkpcY/81ugAwUYhXwvfemCQBNPnFhmYEIovd9x6RkzqrUP8vY6wBKntIWIxzv9/VYqQKqxXTjXII711C5JlA9GlsfhG8odtVcMj2Wtm9ZFYKjTOwBgioH+7+U+gdM1QGlV1Cz7c0g5AZBs1AilyvjKYSdHd1HxVwyFHa3EBUcTu328YM7R/TrwdqdzHP0Nw1wzjn9RZs5xnBKVWkb8q1e68IL88N2xJCGWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4XNR+alXATVWQn8J4BXyivnxo0hcURVZHImvzjEVV2M=;
 b=vLZ/yvEYfvK9cZxUgsQUxTZ235MATPbrIMFLJ4c1Zw7SHiL2/bEXp4AaAffbXxGKRKSla7pZ7AuintAE5o0u3FPbRHEbY2r5Kcq678ZzV+ep8jmtDRpAQSrPHa2BVuRP5+8OZamAcknk16V7gFYKHxYqZmWeDmaTHUsrchnN2ws=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Anthony Perard <anthony.perard@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>, Viresh Kumar <viresh.kumar@linaro.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>, Juergen Gross
	<jgross@suse.com>, Julien Grall <julien@xen.org>,
	"osstest-admin@xenproject.org" <osstest-admin@xenproject.org>, Vincent
 Guittot <vincent.guittot@linaro.org>, "stratos-dev@op-lists.linaro.org"
	<stratos-dev@op-lists.linaro.org>, =?utf-8?B?QWxleCBCZW5uw6ll?=
	<alex.bennee@linaro.org>, Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>, Mike Holmes
	<mike.holmes@linaro.org>, Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH] libxl: virtio: Fix build error for 32-bit platforms
Thread-Topic: [PATCH] libxl: virtio: Fix build error for 32-bit platforms
Thread-Index: AQHZEIm2pBLpcrFxWUiesl94gtQKma5u9s6AgAAXKACAAB2/AIAACe4AgAAIcgA=
Date: Thu, 15 Dec 2022 18:03:49 +0000
Message-ID: <55a83500-558d-0134-c63d-aa37bf44168b@citrix.com>
References: <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
 <d4cf6539ff179e7ade820feadd8088f33da49196.1671111056.git.viresh.kumar@linaro.org>
 <Y5slue6ujqmCscJd@perard.uk.xensource.com>
 <b4c0e361-2b6a-f7b9-941d-4315144c6f65@suse.com>
 <e8988370-f838-dd23-729f-892561f54b58@citrix.com>
 <Y5tabu1WUgS6sTNq@perard.uk.xensource.com>
In-Reply-To: <Y5tabu1WUgS6sTNq@perard.uk.xensource.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|CO6PR03MB6227:EE_
x-ms-office365-filtering-correlation-id: e2bb6e15-848b-4f86-885e-08dadec6b79e
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 idQ9tcdOYFPCdjsV0znLDMfJmsYtEuE0XD/QKcq6OOSOHh+vjogiK7Bmj5gEq/qv0Bu/jXrnaroJV7SC0d6fAhiho4tsZ/UrQzDTOlC+rVwkiL4/jIxFjeoizTp8o9c1RcCN17T3E4VGWVn0QvvEhesj4FDzWeNYGBctx4RlsX9FJgu1HMa2dgyMud/wJbSTc0JLx2kYQXYJMDSnw9eC6DBfurzmTjz2Xf3s8lNEXDcMFv/4f8QbOskBu49ESzpk78kSJXhsM8rrM9MIt8DiERG5nVVJaw+zXA/6zz2twf/PoKO6EmBTCwI176HIKtvBwpntjf4vC5uD+UiZ8oX6KBWswKd+IThYHLFi62AoNJgBLKajxniNo5zSF/9OIf+DUXGLtqFovLXoi/c6DJJmrTdHc4V3J+I5UXyKFff82TXjwSzEB4TLSuGhAj2tn0G2YFJ3GXCwS6DEA5Yv3TMFC4rqiLPG59ChO27IBzUM7XfoZ3EA0y7Y+Dh5eEgm52JSgGtrJTgYDXJD1b6j2faZIIJVhgZo+7fyvfeZovmmEOhLCgORMY9BbVk4pKNxEhfxj1DclCcH6yI5AJlvIp5kbryZVbpbsuhC6fm0ukTiL8IexvIYIYK1relVaheMvKunm7XL6J6ggIuMJ2iwdzDnVaedczYTk2umyKppgHlAH7Bilssk99RLd5SZU7hb2mAqUk51arF+cPs3yN3GCG3Xomn/2cU0zccdn7V1gqsWvMVkABxeyzZYpzJjaCLMYOqaRU13Hdu2GPFFxDZxhDCYPg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(346002)(396003)(39860400002)(366004)(451199015)(54906003)(6636002)(37006003)(6862004)(8936002)(41300700001)(4326008)(2616005)(8676002)(66446008)(64756008)(76116006)(66556008)(66476007)(5660300002)(66946007)(316002)(83380400001)(4744005)(91956017)(7416002)(36756003)(2906002)(38070700005)(31686004)(31696002)(86362001)(478600001)(122000001)(186003)(6512007)(26005)(82960400001)(38100700002)(6506007)(6486002)(71200400001)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?elByYWFYRFVyVDNvRGxWQjZZWlJ1bi9aTStiYkZDdGg3bzhjWmtGYjVjYVRU?=
 =?utf-8?B?UWgvYUxtQ09sUEtMQUJOZ2ptR0lSTm0vd0pQdU1mREFjRmlMUDFZd1Exc05X?=
 =?utf-8?B?OGRVbXk3UGNYZFh0NEJpUGdLYUtCUllPOFNLSjRkNFE5WElxbG9zRyszRWEw?=
 =?utf-8?B?ZGNBZGR1cU5jdTB3QjM1bWxLY2ppbm1RaFBkSTV1TVluY2NIMDMwK3l5YjFk?=
 =?utf-8?B?Mlh1Z1ZxeUlBR1ZBMjVQN0tobzVlYzZaN0VoUjlYNzJUUmQrWk1kWmcvRnQv?=
 =?utf-8?B?aFgvVFI4d1VpaGxDNU5ySHNWMm92WW03Mnlid1A3aU0wcDlYUEYyMkxaY0pF?=
 =?utf-8?B?Z1ErNEdXUXN5aTlwNTduV1dmRzAvSCsyK25SdXNPYW5VZjZKdG5oMS9pTlJr?=
 =?utf-8?B?S1JvcExZbzE1TTYwc0RodGFFTjlIUWtGRUFvNW0wWFFKSks3dXIwNGQrT05t?=
 =?utf-8?B?T1QxTUVuOGloYVh0eFFza29mc01GdVovUDRubktIbHNPRDFvQy9JRkNCMHFT?=
 =?utf-8?B?N0d4L2FCQWtiTm9aU3J0YzZ4U2t2NnpETTY0VDk3a0FCOFZscTdIM0dPN1RD?=
 =?utf-8?B?eTloWklRRmJySTR6NUVmNlJhWWE4MUV0Uy8xSEc1T2RXMFowd1ZxZFhJSmZx?=
 =?utf-8?B?aVRLRTZ2ZDJ0RTlNRDNPVVFhS29QODcyWXNPQTl3R0gyOW9zZ3dxNmh3cG8r?=
 =?utf-8?B?SENhbHFWSGVoeERmZXMzc1NBd0ZkZW5IcjRjbUR3R0dGb1RPT1l6LzRxalZI?=
 =?utf-8?B?WmJZd3hibkwrQ3UzVW0zS3FYd2NvVEZVRkUydVN2dVhld0U0S1VSVG1IdXpU?=
 =?utf-8?B?YzNCTHV2czd3TkFmcVVxdVFMREMxdHJ0cTBxZVpmZEVRQ3RXSFBFdk1TT05R?=
 =?utf-8?B?Rzd5N0kvc3hzOE1RVDlZNi84cUV0OFFhQTVGSWZ2dE1lK0F5VXVkODZqd3V6?=
 =?utf-8?B?Nm1VaWRRbWNOSm5TZjFCTFRyRXlYc1NUaGtXVm0rTWo3NFgxaFpDUG1tWkdz?=
 =?utf-8?B?M0JIcXYyV0VlTHB3QmpmaVNMTWVMMzI0Z2pLb0NJUkQvcitVclJFaTlVOXpH?=
 =?utf-8?B?am9HOExRb3hEOXIwbmc3czh1bzRXRmZ2WkpHWmo5TUVtMFZrUXpYNThManNK?=
 =?utf-8?B?YUhWMmVYbGJacG9NZUVJcHpWT1g5SWhBN3BGRTBMVXVzQ2dQbWVFVGJzWUNH?=
 =?utf-8?B?ZXByQ0dzTFF5aWZVRHc0R1E3czlSTlBBK1BJYlVkSTBxSlIyb1hTWjlid1NZ?=
 =?utf-8?B?TDg4ekFLT0dlZkJoRnBSNE5ZWG1JQk1LTFdwc05CV3R0VDY2UFZGVHdOVUtI?=
 =?utf-8?B?SlV1cUpXczJFSUdaWWdDOXUxSHp4MHhMN29TNkRZNUxPeW9PZ3o4ZWZYU0Fu?=
 =?utf-8?B?Tm8rRVIxa2s3ZHdrS0U1bkM3OFgvVGNSdW5wTEVwKzVvY2s4dVJMZUp3ODJI?=
 =?utf-8?B?S05rN2xOTnYzclh4Yy9aV0FDTEswbDU0eFArdEN2NDBKa0JHSmdGT1dmcnFy?=
 =?utf-8?B?ZU1oOGpmWG1jNVZReEwvdWRwUjBieFljUXZtWEl6eUZCdVVrWTlMTXI0RTJZ?=
 =?utf-8?B?QjQ3d1k3OGE1WFBQOFpXYjJCRTBtY0JrRThZaWQyZWltQk1TSkJPeHB0dG9X?=
 =?utf-8?B?dlZ3TitIdE9ocTlZWEF4SzI0UC9zM0pxSE16MXFoYUpPeWRRaXFzREF0eU92?=
 =?utf-8?B?RWI5VXNWTzUxYk96V1RWbExKT1I3dVZWRzFkb0FTckVCYUVnYTVvVlZveTNH?=
 =?utf-8?B?RnRMa1c5aGtONnl2Rk5TcU9VTitnQXpWUk51bWk0VG5aT0ZpYWxLL1ZzWGQ1?=
 =?utf-8?B?d2hwTTU3ZjNXaHZQczBDc0pPS3BqY1F5d090Uk9NUU5JZGpOU1RNL0M4Tkd6?=
 =?utf-8?B?L2gvdnloaWp6bVNzNno1WHYyZ2ZTcEVLM25iaURsVWZLVVZWZlhKejJNZlND?=
 =?utf-8?B?eVJ4aUlhVzdMakFPSHgwQ2ViWnRZOXBsQnNtSERraVEySlk0WFluNTc0Mkxl?=
 =?utf-8?B?aFBId1NjM01XbTJLREU5dDA3S1Byd0RoNDF0aWFhM01WeEJrdXFTV2hLbjha?=
 =?utf-8?B?aHg3alFQRXR6cC9ucWl5T3pLdzNURWNyeXlvTCtpNFlnc2FzQjI5YWo5b21t?=
 =?utf-8?Q?r1yLUXQBTjnFpxo1xsEnDLwyp?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <67F69570B5F5E54385393C93718438D8@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2bb6e15-848b-4f86-885e-08dadec6b79e
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Dec 2022 18:03:49.1701
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: HSD2WGYBYh0Hf4iEjNBd8pdqKS/Zg4mZnJR3GIuNMZ0pZVJfRj57oI3OoW8IdmPWc2zZR3DOKmZCJTmmGta3H26Ek30X7HGCXK0zR5fKxgE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR03MB6227

T24gMTUvMTIvMjAyMiA1OjMzIHBtLCBBbnRob255IFBFUkFSRCB3cm90ZToNCj4gT24gVGh1LCBE
ZWMgMTUsIDIwMjIgYXQgMDQ6NTg6MDJQTSArMDAwMCwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4+
IEEgY29uc3VtZXIgb2YgeGVuc3RvcmUgaGFzIHRvIGNvcGUgd2l0aCBhbGwgYmFzZXMgYW55d2F5
LsKgIEFueXRoaW5nIHRoYXQNCj4+IGRvZXNuJ3QgaXMgYnJva2VuLg0KPiBTbyBsaWJ4bCBpcyBi
cm9rZW4sIHRoYXQgZ29vZCB0byBrbm93IDotKS4NCg0KWWVzLsKgIFJlYWxseSwgeWVzLg0KDQpU
aGlzIGlzIHN1ZmZpY2llbnRseSBiYXNpYyBzdHVmZiBmb3IgdGV4dCBiYXNlZCBBUElzL0FCSXMg
dGhhdCBpdCBvdWdodA0KdG8gZ28gd2l0aG91dCBzYXlpbmcuDQoNCj4gIE1vc3Qga2V5cyByZWFk
IGJ5IGxpYnhsIGFyZQ0KPiBleHBlY3RlZCB0byBiZSBiYXNlIDEwLCB3aXRoIHNvbWUgYWxsb3dl
ZCB0byBiZSBpbiBkaWZmZXJlbnQgYmFzZSAoYXMNCj4gdGhleSdyZSBhIGZldyB0aGF0IHVzZXMg
c3RydG91bCgsLDApOykNCg0KVGhpcyBpcyBhdCBsZWFzdCByZWNvdmVyYWJsZSBieSBzd2l0Y2hp
bmcgdG8gLCwwIHVuaWZvcm1seS4NCg0KVGhhdCBzYWlkLCB4ZW5zdG9yZS1wYXRocy5wYW5kb2Mn
cyBhdHRlbXB0IHRvIGRlc2NyaWJlIHRoZSBncmFtbWFyDQphcHBlYXJzIHRvIGJlIGFtYmlndW91
cy4NCg0KVGhhdCdzIHRoZSBmaXJzdCBwbGFjZSB0byBmaXguwqAgSSdsbCBwdXQgYSB0aWNrZXQg
b24gZ2l0bGFiIGJlY2F1c2UgSQ0KZG9uJ3QgaGF2ZSBlbm91Z2ggY3ljbGVzIHRvIGRvIHRoaXMg
bm93Lg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 18:07:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 18:07:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463706.721941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5sdu-00020G-E0; Thu, 15 Dec 2022 18:07:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463706.721941; Thu, 15 Dec 2022 18:07:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5sdu-000209-B1; Thu, 15 Dec 2022 18:07:38 +0000
Received: by outflank-mailman (input) for mailman id 463706;
 Thu, 15 Dec 2022 18:07:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t+b5=4N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5sdt-000203-H9
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 18:07:37 +0000
Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com
 [64.147.123.19]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 598051f6-7ca3-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 19:07:36 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 33E5F3200805;
 Thu, 15 Dec 2022 13:07:32 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Thu, 15 Dec 2022 13:07:32 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 13:07:30 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 598051f6-7ca3-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm2; t=1671127651; x=
	1671214051; bh=LA/fNO6DAe0xpRYS22ZbCx6lmWmSQiO8cjrfvUTZtPs=; b=v
	rgXf/PMhDj0D8NTlU6aLihcBABX4cVm9g/EuiLcnwzXY5LjQNWQoxR8fc5PuzHQv
	CGXozw/KX4IFdhvWEyF5RzOKa4bX2wEImDfAX9dA2v2xBgaQwgkfrex038k5yj11
	n92CMGj54EvfOUyF0DqP5+HUprS0dV6cZ4cRslZX/V/Uu+cUF0z5oi9AcAIGtuqm
	kTIbVK5w+TDacyunGdxyHO4YzRv+jPRi2rw9YMITxAmOYsvYUYzhxamIxx61aIXb
	1quNQptyxf6gtGucWjKwoPbElQcmQDn62BT8C00acGdVKs9Tm2/Yg7xrB8PmIkKV
	vXpyAIiHXtGGk2iN2z64w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671127651; x=1671214051; bh=LA/fNO6DAe0xpRYS22ZbCx6lmWmS
	QiO8cjrfvUTZtPs=; b=qPsRY2ncQA1xgq8skhMH8/dF/twCExIbwg8nE7oyPLxb
	XyHYsx5aP7r87JuQjNOabJ1IHbK3LzIJ1kIS2zbW/cQrWG3d0POGklhXCmh3C67B
	zvrHMhJoGDakKDtv9vpBDx/jJwAxqPQ/3UCZ908JubhG8FgziLpm+DGSrwiD8fU6
	ZNhDlWMQXqyUxbWFnpRN6ERVv67bTCR5nEHGVJyTT9RFEUv3z8JWcwg2Mv0EalwK
	xQG8zi8BQkXcZvtn8RXh/LWpqVa3ok394U8IIkxLXJrTYNmh5pXErbsmC3KeXdma
	GxVFdDl1fKsp7q0eJgsQVt7ZNjo58k/W/CtC7O0Kqw==
X-ME-Sender: <xms:Y2KbY7IgSfOqd8_wAtJPhrzl7In-H731IEDPGYcG7QVDpURP-XGUSg>
    <xme:Y2KbY_LzkBGIcnXyxaSeA2WaOHQoTKHMQZcH0q2Mo_8zgAamORbPCHgxbNo4Z99zn
    M0zOgSdBr9FZbo>
X-ME-Received: <xmr:Y2KbYzuiW2zWWyDzywOmMVHKjc3WtD_QSM-vDjXpSkLJKbIKqfTNppHChPA->
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeehgddutdejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtvdenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepudeileefueetvdelheeuteffjeeg
    jeegffekleevueelueekjeejudffteejkeetnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:Y2KbY0aBDHS7_vRLBAH6DPoca3fAMXI5pO1lq-wByMjjBOt_8TyNVw>
    <xmx:Y2KbYyazQ8KOjRu0oNAqK_6iemue4_R9aykgjRLaZJhDiVAszxIeVA>
    <xmx:Y2KbY4AHtiX4R8TLdkOVYK3iCzjJ-7K_x5HUDMStqoFxeXDYoQk-hw>
    <xmx:Y2KbY65ex9M5423n2UViyUFmPWT7fvtkxlnQCBufIVlQntb-agAiGw>
Feedback-ID: iac594737:Fastmail
Date: Thu, 15 Dec 2022 13:07:26 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 04/12] x86: Add memory type constants
Message-ID: <Y5tiYRrCd+c940+K@itl-email>
References: <cover.1671057808.git.demi@invisiblethingslab.com>
 <5e0dee8a2cc5076b677e813c9ee61fa08e8e4c1b.1671057808.git.demi@invisiblethingslab.com>
 <4a5e1508-b7fe-0bf3-6253-a7e546226ccb@suse.com>
 <7f04c4bb-102b-510b-fffb-b486abe41e4e@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="7KcXmngL53MKwLWd"
Content-Disposition: inline
In-Reply-To: <7f04c4bb-102b-510b-fffb-b486abe41e4e@citrix.com>


--7KcXmngL53MKwLWd
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 15 Dec 2022 13:07:26 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 04/12] x86: Add memory type constants

On Thu, Dec 15, 2022 at 05:17:30PM +0000, Andrew Cooper wrote:
> On 15/12/2022 8:49 am, Jan Beulich wrote:
> > On 15.12.2022 00:11, Demi Marie Obenour wrote:
> >> --- a/xen/arch/x86/include/asm/x86-defns.h
> >> +++ b/xen/arch/x86/include/asm/x86-defns.h
> >> @@ -153,4 +153,15 @@
> >>       (1u << X86_EXC_AC) | (1u << X86_EXC_CP) |                      \
> >>       (1u << X86_EXC_VC) | (1u << X86_EXC_SX))
> >> =20
> >> +/* Memory types */
> >> +#define X86_MT_UC         0x00 /* uncachable */
> >> +#define X86_MT_WC         0x01 /* write-combined */
> >> +#define X86_MT_RESERVED_1 0x02 /* reserved */
> >> +#define X86_MT_RESERVED_2 0x03 /* reserved */
> > As said, unless there's a good reason to use 1 and 2 (and not e.g.
> > 0 and 1), I'd prefer these to be numbered 2 and 3 to match the
> > values they expand to (and the numbering then not being as arbitrary).
>=20
> TBH, I'd prefer not having them in the first place (I'll see if there's
> a way to simplify the build assertions which are the only users I can
> spot), but if we are going to have them then do use 2 and 3, and its
> fine to abbreviate to RSVD.

They will be needed when the NPT code starts to use these constants, as
EPT_EMT_RSV0 and EPT_EMT_RSV1 are used.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--7KcXmngL53MKwLWd
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmObYmEACgkQsoi1X/+c
IsFujg//fK+k1gROpsrWnrotZ2l1T465qE17gM7NsNX9Xc0OQEkTvoJWyCUO8et+
q6mwaQq7PBAvVSlhJvLH4adHiA+tf/PSV951K+af4YqyV0cimXD1bnKGGSUUU4pL
FgTXg4Vtbsws2Wxa8H7SSSwN9st+u/OBjdnsWhoaWMjK0iwvXHTjjiaBiB4ig5JT
5gOHy3ycS7Ko37nV52TLTf0dzUUZLNiEhyxkTQycFT6tZKY3/4XJp4jbzHn70wbG
KP5lKNzA/xuiLnNj1EFRi35sO6RIkiTnC1hnDENwKOgVolB2Hhra4oz3C8L2Omm4
802DktyvyNV1HHH8Ly5R+sA21IDe8smulN3LcDxoVwyN2xi3JG2TxwD+Tdb4QzhJ
T/o41td7sDXgDJLgSE/6PnRUVHT34rTK0LhVvBjVLZMC0klY3cBZD5wrfH7Fgjji
D7pmbnK+feKWfDHRnDOZJgDoaKM3hWcAQu/tCTh2cAJkPlQaLZGFvZ5woYawM1rm
eQ76fLLLFBjpplI0oMLz99WNr17VF2YZiTDKOQnPKSXK9jnoNMHlYZy+JOeHAu27
aEq2vUaTF0TRxGFoqmzfuWVKslKaZocGWCbFuJRAk5bOZeiHHvH6zSDUM1i/5KRY
10jVPVybejQ5be2+ybP6+fgyBRvbsh20OUlPiIo3DVaNyx4ZHxA=
=iG8/
-----END PGP SIGNATURE-----

--7KcXmngL53MKwLWd--


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:03:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:03:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463720.721961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tW0-0001Oz-L1; Thu, 15 Dec 2022 19:03:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463720.721961; Thu, 15 Dec 2022 19:03:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tW0-0001Os-Hu; Thu, 15 Dec 2022 19:03:32 +0000
Received: by outflank-mailman (input) for mailman id 463720;
 Thu, 15 Dec 2022 19:03:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cY1j=4N=citrix.com=prvs=3418b2cde=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p5tVz-0001Om-TL
 for xen-devel@lists.xen.org; Thu, 15 Dec 2022 19:03:31 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2808b271-7cab-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 20:03:29 +0100 (CET)
Received: from mail-mw2nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Dec 2022 14:01:57 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB6201.namprd03.prod.outlook.com (2603:10b6:408:11e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Thu, 15 Dec
 2022 19:01:55 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Thu, 15 Dec 2022
 19:01:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2808b271-7cab-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671131009;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=V3VKcMjIRGEKJPNQ+6p7LEBzYz+1/d2gpKP1yVXlq+o=;
  b=WunkK9WOvrOZB4V69RJB4hWDLavdE4TxSSnknSAqRQBs1L0Bm+iz1MFC
   WppBM+0mAl7PLUYKGEOJ1fHTtg0eTMAglvRkXjLJOtshJYxvygufPNj96
   YoZUmZLNFXodW0eikddtWhLJgiFgDXEmOugQvpciu6e5+7hb8+e/jCWPW
   w=;
X-IronPort-RemoteIP: 104.47.55.104
X-IronPort-MID: 89010806
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:cKBSjqwGu74CqouuyQR6t+cWxirEfRIJ4+MujC+fZmUNrF6WrkVRm
 jBKXGiGa/yPMTf1f9l0aY3ioB5XuMLRz4I3TVFlqCAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPK0T4TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KWwe+
 swJFgsWVyCKrLip2+j8RtY2mdt2eaEHPKtH0p1h5RfwKK9+BLX8GeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjWVlVQtuFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAurCdpLTO3gqJaGhnWB5zcCUz4QfGLmiuOUkW+Oe+gED
 HQLr39GQa8asRbDosPGdwO5unOfvlgfRt9ZCcU+6QeE0K2S5ByWbkAUQzgEZNE4ucseQT0xy
 kTPj97vQzt1v9W9S32H8ayPhSivIiVTJmgHDQcGUA8E7t/LsIw1yBXVQb5LF7WuktDuBXT5z
 zWLqgAuirMLl8kJ2q6nu1fdjFqEuJnPRQMz+kPYQ2O58gRlTIqkYYWy7h7c9/koBJ2FVFCdu
 2NBl8WAxOcWSJWMjzCWBuEMGriz4LCCKjK0qVdrEoln/Tmr/XOuVYRR5jhkIwFuKMlsUST1b
 UHavwQX/4NaNnauaa5xYqqhCsAry7imHtPgPtjRZ8ZOY5VsMheA/TtvaFS422HrmVIr16o4P
 P+zdMevADAaDqBiwSGeQ+Yb2KUsgCckygv7QpT2zA+7wKGeTHGQQLYBdlCJa4gR86essAjTt
 dFFOKO3Jw53VeT/ZmzS7tQVJFVTdXwjX8mu94pQa/KJJRdgFCc5EfjNzLg9eotj2aNIiuPP+
 XL7UUhdoLbiuUD6xcyxQigLQNvSsVxX8S1rVcDwFT5EA0QeXLs=
IronPort-HdrOrdr: A9a23:+TIrJqmZ7R6X23mS3KbZrpbuhBDpDfIc3DAbv31ZSRFFG/Fw9v
 rDoB1/73TJYVkqN03I9ervBED4ewK4yXcW2+ks1MaZPTUO0VHAROsO0WKF+UyDJ8SUzJ8/6U
 4PSdkZNPTASXR8kMbm8E2ZPr8bsaC6GXmT9IPjJqFWPGZXV50=
X-IronPort-AV: E=Sophos;i="5.96,248,1665460800"; 
   d="scan'208";a="89010806"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=drF4pW9k7T5PE2i+hP4+P9gDpcUe0a538AirmpLvlJ6m9IeX6zSiXETQJ0uGrXqNyqyFxxaaAWsRNSaDs0I0Uv3gcchAHFbfGHP+zXSnwX9otCmdnftZmBNAbzyh2MtAFZpbnOeSSvFJicB3WmEqp5fWmoME1rHz+g2Pb/et4p2eHGZ7592BgolfDFHw+o320yoFpVuPxnbNnhRCxAW4PVgg1JyEDUipHA1x8mHNHunDpGru1c/3vqFxB1ClYvwTp3AKxSDMOtGcfM/KnAGSL6wxMdZRJNOpHXjYHWY2agSpqembUPa0ZIutOMejXULSWvjy8owS7wb9lUds/1fKag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=V3VKcMjIRGEKJPNQ+6p7LEBzYz+1/d2gpKP1yVXlq+o=;
 b=JrNj/hYrw5PPNJxDEBLYBi74mnA3hoRcK6joq/TgDJBdT7Nj4BN9YtQDUItVlDGXlyF+JMxCvxhIKyzKnu6gOoHP9W+nttcg3NWiiQHZ01I9uIty15EHDtuDNldeiMVxsr0iFkIRKbSHlVLwqiodVumNJFdfCh6DP1zUAA8PH7SgMvxoR70pF+EmZVVdhXVP39BgSWPTeh1nAbU6kYgCoR7ju/9TKakdMSXvqOypTEbcYBDEOieE4Ri1hW3tb74RREYx9P39Yw7ewtEdeNOu5WxqeGi+Y5pIvc4a+OQyAZH/GSwwqQq41RG4H6dvVtJdHWGaK80Jvh6wemyAV/i9hA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=V3VKcMjIRGEKJPNQ+6p7LEBzYz+1/d2gpKP1yVXlq+o=;
 b=FqeMScFEaPKg/9ZBR3+dMkKgaUSKA4Y+a88BlzcmRZbQNv6QzI97xSqrXcSD6L3gFIUOXhHV57uYIBjzksOYd48aO+qOxn5VQBmqrMMAxFmYRlGOPFSG6ftXZDwLXnBafP4WxMFOQ/deLO8bPxhzxTXb3aF60R2aEgCpMXE6uMM=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Viresh Kumar <viresh.kumar@linaro.org>, "xen-devel@lists.xen.org"
	<xen-devel@lists.xen.org>, Juergen Gross <jgross@suse.com>, Julien Grall
	<julien@xen.org>, Anthony Perard <anthony.perard@citrix.com>,
	"osstest-admin@xenproject.org" <osstest-admin@xenproject.org>
CC: Vincent Guittot <vincent.guittot@linaro.org>,
	"stratos-dev@op-lists.linaro.org" <stratos-dev@op-lists.linaro.org>,
	=?utf-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>, Stefano Stabellini
	<stefano.stabellini@xilinx.com>, Mathieu Poirier
	<mathieu.poirier@linaro.com>, Mike Holmes <mike.holmes@linaro.org>, Oleksandr
 Tyshchenko <olekstysh@gmail.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] libxl: virtio: Fix build error for 32-bit platforms
Thread-Topic: [PATCH] libxl: virtio: Fix build error for 32-bit platforms
Thread-Index: AQHZEIm2pBLpcrFxWUiesl94gtQKma5vTk+A
Date: Thu, 15 Dec 2022 19:01:53 +0000
Message-ID: <56f0e148-0e9c-aac7-ce22-7d2fd1158de2@citrix.com>
References: <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
 <d4cf6539ff179e7ade820feadd8088f33da49196.1671111056.git.viresh.kumar@linaro.org>
In-Reply-To:
 <d4cf6539ff179e7ade820feadd8088f33da49196.1671111056.git.viresh.kumar@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BN9PR03MB6201:EE_
x-ms-office365-filtering-correlation-id: d275dd68-d38a-4971-16ac-08dadeced4b3
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 83fv9Uxv+ujT5O6ECuZPh2sNtbTuaOyGi4yfuhTBeiVOwB7uxhsQCqsxKDfuLcuLYF9dFoeJ/0VCcQG4ASPen7LWrsZZziPtAoLua9OqziXIhqQDGOn5M0KQmSKe0gAFodjnHdw8LVeGcfWxovaSfH9qcBafuCR0nvkiqcAwHI9UUeZUCA94SaeHrraGMpybwL218dlzCcEupbqKLyCWYsasr1wY8CG0KT5XdxcxE02pjQvXDEncbXSgB1DhTgoCzPqUz8KoqXu8h1lgVXjQ1ou1CLdr9MOG+y0liXnm8Ziogf4Uw/I+k+7KUXu74qyGXrVLLz5sMj8KiM36OkN7IFph7LIy99jq3nuKELfaP69CFK2G4L7+Eb4aIcms6AleiK0ntnJwkcJ7Ol2uHyr86eN0FUuRemnOFyySmQYNRUNpOS7xhlS3Yz/Cto1ZNWeAbYK8epZrPMRpmtAxhfaZtSYFFauAI254NYHiNDZoYE7IpCVqHF60KDfutmVapdelT+5Q/rlPXlmamMZWJvGA4nrIA9K1Inx1Q4k1EwTwnNNT/7lu1e3KPUxKwg9jXGa9OCP63VsP8FFfMvSvp0fqF+AB5HIpSDGHAo1rQTYafs9iJ8rD1AHc5nibUN/rbQQ/087kzVzQGLKzZPvzI3Y3dQIAh2HsHSd/4z2XceH8KzxvqiX6Q5StCnpPq+IxGggSiwqKd95Q1R0LnNTdOtsuMHslLjpP8BQ0o8n7CthGi9Mvqdaf8vGVSl+RI5rvH7zM/VQ6W0jPGN0W13fYiTGDnA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(346002)(376002)(366004)(136003)(451199015)(31686004)(71200400001)(6486002)(478600001)(53546011)(41300700001)(2906002)(86362001)(6512007)(31696002)(6506007)(36756003)(5660300002)(186003)(26005)(8936002)(38070700005)(7416002)(38100700002)(2616005)(82960400001)(316002)(122000001)(8676002)(4744005)(83380400001)(4326008)(66446008)(66476007)(110136005)(64756008)(66946007)(66556008)(76116006)(54906003)(91956017)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NWpZSUNOeUl1a3BWODBoU1VNUE1lRndTM1ZscWQ5c3JtMXJUNHRCSHh6MkJ4?=
 =?utf-8?B?ejBpYlNpT0FKTE5YZ1lXeWRiTk16Uy9oangvazNaR3ZrUldRalVILzRPS3E5?=
 =?utf-8?B?bVFEb3o1dUV3bVFla1BZOWNBallZZ2tpTDUrVmRZRTgvODRYa016T1hpN2xw?=
 =?utf-8?B?UUtSdzdLZm9kTFhIVWtZTDdsbXByQ01wdW80SFVkcGNpb0Z2bVlDWndBdWZF?=
 =?utf-8?B?Z1pwTmNEeVdSTFgxcGwzbkp5Q1ZiTXM0QXdxNEpEcElNeFBJSE9WNXhXQkRp?=
 =?utf-8?B?MVV5eXhCM2oyTno5aTNkUGpINWVzNFpBVFcvbU5iV2doQVM1K0VXRE5iQzNm?=
 =?utf-8?B?Ni9YaWg3TmZiTnJzcGM4U3pWWENqT2tURHp6M0hWVEVZdTRzOHpQZFBScGwv?=
 =?utf-8?B?V0ZlTDdocGdxTktVR21yQ0xxWFl4VVNLR2RDN1RLZytIdE5xNGxqVEp2bWVT?=
 =?utf-8?B?YkZqUUVUYzVVc3lPRDRZMXpITTUrbDZBZnZZTzJSWjg0RVhlZ3FoakluYTlI?=
 =?utf-8?B?Q1drdUJLMkplZG95d2hiQ05qSVlFN1pGcG4rZCtuWGJZVldNNlJ4TkhoM1pC?=
 =?utf-8?B?azcwOVBmdWxLWkVBWHo4VWxmZFdzWCtRcUpPYUw1ZVk1S1dnejVuWHgrUFU4?=
 =?utf-8?B?dGVKeHlWN0p1QkVyUEpQMGZTZnVuNGxrdjJmdSsyZkVseDd2NnhtZnlkMlhL?=
 =?utf-8?B?VU1hUFYweWVXWXIxOWxuYkpHQTNGYVZmdE9idm94c3dURm1UbitWdkJ6eXhs?=
 =?utf-8?B?RkJqUGFVUjV1V08xN01JY2RCTWQwYWFRTU9xTmpONGNJL3FnTVhYZlZYS3Vn?=
 =?utf-8?B?OTlvMDdGUyt2YXBQdUZNemtITE96UDAzYjlhcDkyZUc5VFB2aDNwUnBLYlBK?=
 =?utf-8?B?V0hpUFlhWlZiYTVQWFRjdUtaRWZGZHRWdUZpUUk0NGVSd2lCQXYwanIycVll?=
 =?utf-8?B?Tng4clk4bzB6V2JlRmNGV2NsVFJESUxueVQzR0FFVFlPLzFoMXBwdjZZcXZm?=
 =?utf-8?B?N0VOT3lKTktFUWt0M2Nldndud3BnbUtMN05VTnZzeTQyc3g2QS9rRHN1QVBB?=
 =?utf-8?B?TTl1S3pDUU1UZlVUZWxNdm9kbTJGci9QYTRmaitHQmpiL1U5RDByR2N4c1Rz?=
 =?utf-8?B?cDlEbUplUTh1NkowaGEyT3JacnEvSUxSUFZjQXRtK1Rtd01WbnRqcExSbWhN?=
 =?utf-8?B?Q3BQK1V0R3JpdDVVMzNTdEp0dEJTbDZQNnZDMTZXTzRRQUxMaGVrOTk3ZTZm?=
 =?utf-8?B?Nkg2R0VWRkIyRzlnbEV5cVhINmNMbG5ZNnJhYjRyNTlzY2dpN1dOV0hzaFB1?=
 =?utf-8?B?eE14N2pqRlIxR0ZneHE0di9iVjdRd28wcUthT1l6NVdTK01vNCs4SWpPUi9C?=
 =?utf-8?B?YmNpUVphSEZYVXMwVXZRSmdHT3VXZkpBazIzbG00RlJCMk1LdVJNYWlqRnZG?=
 =?utf-8?B?MGRVVjdCaWx2TzJnNUVGUHBNNFA3QzdXdi9XelhkSmZDOW4rRTM0VXhrbUZ1?=
 =?utf-8?B?UktBYmlabDIxZHpPVGlVczgwNi9IejZjSkkzNHdDdFQvR2Z0b0NGV24yS01w?=
 =?utf-8?B?cnorZElZY3FSMjlIMGF4QytKSm5nbmNPQmJIT1NaZ1hRUGFjUkZETllqeDhx?=
 =?utf-8?B?VzJJNGFaZlduSVYxZjRieW8zY2hhRENhWGFrbFVyZXJjd2VobCtXZW1neDZR?=
 =?utf-8?B?Z21zRWZURmk4cFNtcGlIVDJqYnp4NE1YYjM3dFdycnJ2R25pd2FpNzRyQTJq?=
 =?utf-8?B?Rjl5WU56ZUVaZC8vekJpMmwwWU1nNUhGRXN4VHhucWVLYzJEVU5mRW4rNnhJ?=
 =?utf-8?B?dnI3cElkc2lVUUI0eWMybklwWDN0anFweEIwVm1aQ0dXcTFsY2hvNXBxY0s1?=
 =?utf-8?B?b2hHZmd4MmtUaCtvS0JUUU53OU9FUmJFQ2VtN0hWejdtZjhlT2NMSnhOS0JQ?=
 =?utf-8?B?YkRuOVErd0NvOEk1bWlOdmE1WEFVRWgvZHhzY25lNm1XKzNCWHlwSmhGdGdY?=
 =?utf-8?B?OXdqOCtCMkxDK0hTbEd1V3ZISWp4Z0J5QUR5UW1ObG9NcjJlK25ISXg1dmxB?=
 =?utf-8?B?U3RUZVRQSDNMaEFUYTE3djJ0TWFUMmVQcElyOGNvZCsvOHUyT2tyOGIzNkdt?=
 =?utf-8?Q?Q1ZHWMFcrbmJ4Wao85m8LXJHT?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <6318BAF61830E54B8039522209C0EF3B@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d275dd68-d38a-4971-16ac-08dadeced4b3
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Dec 2022 19:01:53.9013
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: pic6fsjJtlsX38j+C4kMP6VPOojXbBUrVTVGnvnYujulcxbzyxegheTc6oFK4U0j1yBaJGudhn6pd3G5o6X1mGtvLluhwVi50KYgs3xhzNw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6201

T24gMTUvMTIvMjAyMiAxOjMxIHBtLCBWaXJlc2ggS3VtYXIgd3JvdGU6DQo+IFRoZSBmaWVsZCAn
YmFzZScgaW4gJ3N0cnVjdCBsaWJ4bF9kZXZpY2VfdmlydGlvJyBpcyBkZWZpbmVkIGFzIHVpbnQ2
NCwNCj4gd2hpbGUgd2UgYXJlIHByaW50aW5nIGl0IHdpdGggJyVsdScsIHdoaWNoIGlzIDMyYml0
IG9ubHkgMzItYml0DQo+IHBsYXRmb3Jtcy4gQW5kIHNvIGdlbmVyYXRlcyBhIGVycm9yIGxpa2U6
DQo+DQo+ICAgbGlieGxfaW50ZXJuYWwuaDo0Mzg4OjUxOiBlcnJvcjogZm9ybWF0ICclbHUnIGV4
cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAnbG9uZw0KPiAgIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1
bWVudCAzIGhhcyB0eXBlICd1aW50NjRfdCcge2FrYSAnbG9uZyBsb25nIHVuc2lnbmVkDQo+ICAg
aW50J30gWy1XZXJyb3I9Zm9ybWF0PV0NCj4NCj4gRml4IHRoZSBzYW1lIGJ5IHVzaW5nIFBSSXg2
NCBpbnN0ZWFkLg0KPg0KPiBOb3cgdGhhdCB0aGUgYmFzZSBuYW1lIGlzIGF2YWlsYWJsZSBpbiBo
ZXhhZGVjaW1hbCBmb3JtYXQsIHByZWZpeCBpdA0KPiB3aXRoICcweCcgYXMgd2VsbCwgd2hpY2gg
c3RydG91bCgpIGFsc28gZGVwZW5kcyB1cG9uIHNpbmNlIGJhc2UgcGFzc2VkDQo+IGlzIDAuDQo+
DQo+IEZpeGVzOiA0M2JhNTIwMmUyZWUgKCJsaWJ4bDogYWRkIHN1cHBvcnQgZm9yIGdlbmVyaWMg
dmlydGlvIGRldmljZSIpDQo+IFNpZ25lZC1vZmYtYnk6IFZpcmVzaCBLdW1hciA8dmlyZXNoLmt1
bWFyQGxpbmFyby5vcmc+DQoNCkluIG9yZGVyIHRvIHVuYmxvY2sgT1NTVGVzdCwgSSd2ZSBjb21t
aXR0ZWQgdGhpcyB3aXRoIGFuIGFkanVzdGVkIGNvbW1pdA0KbWVzc2FnZSwgd2l0aCB0aGUgYWdy
ZWVtZW50IG9uIEFudGhvbnkgb24gSVJDLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:09:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:09:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463729.721972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tbD-0002Kx-8l; Thu, 15 Dec 2022 19:08:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463729.721972; Thu, 15 Dec 2022 19:08:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tbD-0002Kq-5Q; Thu, 15 Dec 2022 19:08:55 +0000
Received: by outflank-mailman (input) for mailman id 463729;
 Thu, 15 Dec 2022 19:08:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+fpb=4N=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p5tbB-0002Kk-ES
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 19:08:53 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e88df649-7cab-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 20:08:51 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id 8CF7FCE1CB3;
 Thu, 15 Dec 2022 19:08:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2C8BFC433EF;
 Thu, 15 Dec 2022 19:08:44 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e88df649-7cab-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671131324;
	bh=SbnKf379X6hx4c3Xe//u1cqWgsCG/AuWvbEOTKyfyt0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Pcz9HiQswhbnMOAMUxPtC7mFtmE31Y0w9eQcl9rG4yEtrXL4yEEdJRPR4Ym9widV1
	 dwOkSAdc1iSO4RCLgNx3x6onv/G6YJQaXf8ccCuwKTLUbVl7sDtkfkM4B4dYhUWdct
	 78yjt4yk8XpkN5Y9sqPt/yjWsiDW2kJT5fyqXFcr/HqjCbzDEDptSleUvnJat1fxfy
	 PwyZTQlJlyhfQzDoUzqHg5vOj1WruiA3TRBhzfP8hGY5wfh6Mw6iBfQty/7gFYLPoH
	 +Q6vwJWKJRF/aEZQoyAUY2K5FKngxZHt5ssloO905oVUA+SlAF49IVjSvvDj4WNNtK
	 Z/oG+GNpLloOg==
Date: Thu, 15 Dec 2022 11:08:42 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Michal Orzel <michal.orzel@amd.com>, sstabellini@kernel.org, 
    xen-devel@lists.xenproject.org
Subject: Re: [XTF-ARM] tests: Hypercall xen_version testing
In-Reply-To: <58a87888-e839-8a5d-0e7f-7520e5e2c78a@suse.com>
Message-ID: <alpine.DEB.2.22.394.2212151106030.315094@ubuntu-linux-20-04-desktop>
References: <20221215152511.10194-1-michal.orzel@amd.com> <58a87888-e839-8a5d-0e7f-7520e5e2c78a@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 15 Dec 2022, Jan Beulich wrote:
> On 15.12.2022 16:25, Michal Orzel wrote:
> > Add a new test hyp-xen-version to perform functional testing of
> > xen_version hypercall. Check the following commands (more can be added
> > later on):
> >  - XENVER_version,
> >  - XENVER_extraversion,
> >  - XENVER_compile_info,
> >  - XENVER_changeset
> >  - XENVER_get_features,
> >  - passing invalid command.
> > 
> > For now, enable this test only for arm64.
> 
> What's wrong with exposing this uniformly?

Actually the tests are not arm64 specific. Michal, I think you should
remove the comment above from the commit message. (What/if/when gets
enabled as a test in gitlab-ci is a different matter.)


> > --- /dev/null
> > +++ b/tests/hyp-xen-version/main.c
> > @@ -0,0 +1,105 @@
> > +/**
> > + * @file tests/hyp-xen-version/main.c
> > + * @ref test-hyp-xen-version
> > + *
> > + * @page test-hyp-xen-version Hypercall xen_version
> > + *
> > + * Functional testing of xen_version hypercall.
> > + *
> > + * @see tests/hyp-xen-version/main.c
> > + */
> > +#include <xtf.h>
> > +
> > +const char test_title[] = "Hypercall xen_version testing";
> > +
> > +#define INVALID_CMD -1
> > +
> > +void test_main(void)
> > +{
> > +    int ret;
> > +
> > +    printk("Checking XENVER_version:\n");
> > +    {
> > +        /*
> > +        * Version is returned directly in format: ((major << 16) | minor),
> > +        * so no need to check the return value for an error.
> > +        */
> > +        ret = hypercall_xen_version(XENVER_version, NULL);
> > +        printk(" version: %u.%u\n", ret >> 16, ret & 0xFFFF);
> > +    }
> > +
> > +    printk("Checking XENVER_extraversion:\n");
> > +    {
> > +        xen_extraversion_t xen_ev;
> > +        memset(&xen_ev, 0, sizeof(xen_ev));
> > +
> > +        ret = hypercall_xen_version(XENVER_extraversion, xen_ev);
> > +        if ( ret < 0 )
> > +            return xtf_error("Error %d\n", ret);
> 
> This, ...
> 
> > +        printk(" extraversion: %s\n", xen_ev);
> > +    }
> > +
> > +    printk("Checking XENVER_compile_info:\n");
> > +    {
> > +        xen_compile_info_t xen_ci;
> > +        memset(&xen_ci, 0, sizeof(xen_ci));
> > +
> > +        ret = hypercall_xen_version(XENVER_compile_info, &xen_ci);
> > +        if ( ret < 0 )
> > +            return xtf_error("Error %d\n", ret);
> 
> ... this, and ...
> 
> > +        printk(" compiler:       %s\n", xen_ci.compiler);
> > +        printk(" compile_by:     %s\n", xen_ci.compile_by);
> > +        printk(" compile_domain: %s\n", xen_ci.compile_domain);
> > +        printk(" compile_date:   %s\n", xen_ci.compile_date);
> > +    }
> > +
> > +    printk("Checking XENVER_changeset:\n");
> > +    {
> > +        xen_changeset_info_t xen_cs;
> > +        memset(&xen_cs, 0, sizeof(xen_cs));
> > +
> > +        ret = hypercall_xen_version(XENVER_changeset, &xen_cs);
> > +        if ( ret < 0 )
> > +            return xtf_error("Error %d\n", ret);
> 
> ... this can fail because of XSM denying access. (Others can of course
> also fail for this reason, but here possible failure is kind of
> "intended" - see the dummy xsm_xen_version() handling.) Therefore I
> would like to suggest that you also special case getting back -EPERM,
> resulting in e.g. just a warning instead of an error.
> 
> Jan
> 


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:27:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463739.721989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tt3-0004o5-T2; Thu, 15 Dec 2022 19:27:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463739.721989; Thu, 15 Dec 2022 19:27:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tt3-0004ny-Pp; Thu, 15 Dec 2022 19:27:21 +0000
Received: by outflank-mailman (input) for mailman id 463739;
 Thu, 15 Dec 2022 19:27:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lr10=4N=riversideresearch.org=rsmith@srs-se1.protection.inumbo.net>)
 id 1p5tt1-0004nq-Kj
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 19:27:19 +0000
Received: from USG02-BN3-obe.outbound.protection.office365.us
 (mail-bn3usg02on0121.outbound.protection.office365.us [23.103.208.121])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b0b283a-7cae-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 20:27:16 +0100 (CET)
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:185::22)
 by BN0P110MB1580.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:186::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Thu, 15 Dec
 2022 19:27:13 +0000
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::81df:6431:7a2d:4610]) by BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::81df:6431:7a2d:4610%5]) with mapi id 15.20.5880.019; Thu, 15 Dec 2022
 19:27:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b0b283a-7cae-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=Bj+rtbzxDkw1XE/n2AG/Z2Prxa7BSs3CMlsdtspF6BIh7egzSZOu3g5K1nHDHWPloLaj43IwXwtAGicWH55dw6/n5CB8XeZNQboiBuwWVT7EXlJPMsnQdbCwYpDwhejnOyEfJuWwG1+u8qNwCChN4EBPSCd/RYkqZYN6xmywtyhPjiOytlBTgmoAxdh2a9h6AGbt7h0XCseksZyP7o6mCpJJ4A6g00EYr9UAFl65G8rfMjsnE+9+pbBFoR2KEwdnhgiWvuCNfcmWX0A2ntGfGct5Oour/ye/uCnvoHY5odg4OvAmadcBdT8h/9Pq8yygmLn9jaMA5pNcCeP7oxeMhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=co9OdFQ9D+Hb9d/P88ZEqSmfYeaoJcAOfctM2vbc11U=;
 b=NNIzyVSrW4h4a6icKB1Fezam0ttQC3VSB/1MFw/Ipuin1QeQBLwpgPpdneVniLYJJ+psOZ+lmh0kM4eQsXmNgI85acxA71M7Io3r45xOcz63RtBSLNExHay7oYLC3Im7CSn79Tak+V0kBvgJX3agZg9RDkP5O+Mxt2GuWbGYEg9x5TnHz4FPn2MWAUFyVbK63OAVWsp1INWZRU7H+kSGZFl+SN7O/vrJWEGgSFUWjprvZxyvdW61w8/NEsvWBhylLQqt5U46PsPpTycSHVApbUEo03UAqx0kXkCF3o4Ib1GPBBCv26154aldYPgYXcnvlJ9BH4dsuDFY3IG2Yh71/g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=riversideresearch.org; dmarc=pass action=none
 header.from=riversideresearch.org; dkim=pass header.d=riversideresearch.org;
 arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riversideresearch.org;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=co9OdFQ9D+Hb9d/P88ZEqSmfYeaoJcAOfctM2vbc11U=;
 b=mdokQVRnEghH3X7k8sgQtFA6QZjroc7E56asPRo+jZCD8ZEZPwmeV3HaCppH9b6L2iPgLu2AtNJ08nhN0QXwysKXFsaOys5tNN1Rmh/c0LemV/HDdOpwx908bH8ZjPDbhekwNOM9aiAxJ+Yf4bwu3nW9EKgZkT7trY7k0vTztA8TdUIjoWLb+4BOrdZSj35QOlR+3A1YZDDI92FHqeAMb9A9rUkogQYaRMW5k5/bVxSfFiEAt1dst65rngSmp/44JuzKlX8gndLp56ucXX8GnuXpVHxlXj37N0Oe73su4mbnE1MTHUXez3OkMkgzfE8VW7WG11eNbkaK1WLlry1C6g==
From: "Smith, Jackson" <rsmith@RiversideResearch.org>
To: Julien Grall <julien@xen.org>
CC: "Brookes, Scott" <sbrookes@RiversideResearch.org>, Xen-devel
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, "bertrand.marquis@arm.com"
	<bertrand.marquis@arm.com>, "jbeulich@suse.com" <jbeulich@suse.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"demi@invisiblethingslab.com" <demi@invisiblethingslab.com>, "Daniel P.
 Smith" <dpsmith@apertussolutions.com>, "christopher.w.clark@gmail.com"
	<christopher.w.clark@gmail.com>
Subject: RE: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Thread-Topic: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Thread-Index: AQHZDyrHUdSstfue4UmxiTJ0hoNsoq5sTCAAgAEyh+A=
Date: Thu, 15 Dec 2022 19:27:12 +0000
Message-ID:
 <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
References:
 <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
In-Reply-To: <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=RiversideResearch.org;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0P110MB1642:EE_|BN0P110MB1580:EE_
x-ms-office365-filtering-correlation-id: aee71798-8b4b-48b7-4f4c-08daded25e1e
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 CyRSqNnK7fkkvgvbvzLzdYs9jG149D3ej+Jn0BNAU7A5NgSl643bzsVvwJ6ePZQ50NLel+uq1Lc7W1oxAuxm+9Le2eiSNK+L48fUyaV/5FSGh5hIifIchUhBbpv76EaeHMzURhobuzI/VHONeO5O+YNTZWUjT8AJIYsgU82f+Tr0Xe17y5VOmxw7zMIr3g41PM9RMb33Wfrt33uyE3eVt/+9LT713Q2qA2BNTVQyV4BKuXXhdp+wQybDHxrxMaBr0om/ykV4/Cgc33za8iln5rkFTEzG3vvrKI91Rnx84/hCzpsz8uz92boYA7snSzJ+XDc6vkR/bcMjmdXPkAH5LjUAHShj6wfMS+a3k5I9M3lZKIxUc2pRxPjtyhCNGPA/fdL/UQP+tEZqx+RvG6K92X786p+f05cwpWZymFemsZCYPayDncs1FMCrVuCB3kaAu61VnraEgVzee3/fg2DKb5cF9I5TO/eHdSrJud8LxBqe51rZfZw2nE9h5N9ji+hxGAtWxC9IyBNQN5jqqPGrrTUEV9JLFOoxW1N1jl0RtULsoNrOhgaYcZWL+dc6IPy/rBhOi5ejxqVjC30up6SmKcBAXvIO5SDs47vxgKooeYcxFtYNoTD8ks4RzOCb/Py3gqNQi8yh6j1iPYLNN4RNWvc72Mh/7n3XEK8543oUhTc=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(39830400003)(396003)(366004)(136003)(451199015)(966005)(122000001)(7416002)(71200400001)(55016003)(7696005)(6506007)(508600001)(53546011)(5660300002)(99936003)(54906003)(26005)(6916009)(66476007)(66946007)(64756008)(8676002)(66446008)(4326008)(66556008)(52536014)(186003)(8936002)(76116006)(41320700001)(82960400001)(86362001)(41300700001)(38100700002)(33656002)(30864003)(9686003)(38070700005)(2906002)(83380400001)(85282002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 F+va2VG/pxIcJ4nuEoANm625iYjxmF42ZF5rIBFm5mjwjTmOVES6eXQKLERNaMDNJiwkZ+swdfIZ3W+B1DOYI6cnjPo8wlT88AFJ3o5/HHMEp+fpYyA0hoV6Lyg2deDpIuPoxJYAjQsid809NQ9jr1wXbe6bGQpgnmUFsTF9Dx5DTjnVL8YEEEFfyYnNLXaHCMBTYIotxgUIbDlsE45oIUI1gTjkpGCX5ASUIoI91nUtzUOO3hikRSluJDSsFqK7L3UiMQNBokmDtixrmR5/J+3xhtZM6kmuywSVxgO+sIAHlHRcfeSvifKoUmxkWU0/tmo9guLTSEYeVY2JWLYBndl64am5lyTfsc1Fd7EankfpiXyDVZuFYErZH6Bf84kVDczUjiWF91G4/2tsQ8c+BRi5+c8NHUw74lGnaYOOr7k=
Content-Type: multipart/signed;
	protocol="application/x-pkcs7-signature";
	micalg=SHA1;
	boundary="----=_NextPart_000_0065_01D91091.515CF850"
MIME-Version: 1.0
X-OriginatorOrg: riversideresearch.org
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: aee71798-8b4b-48b7-4f4c-08daded25e1e
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Dec 2022 19:27:12.9733
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bfc64a8d-9064-4c64-91c3-9d10b44c1cb6
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P110MB1580

------=_NextPart_000_0065_01D91091.515CF850
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hi Julien,

-----Original Message-----
From: Julien Grall <julien@xen.org>
Sent: Tuesday, December 13, 2022 3:55 PM
To: Smith, Jackson <rsmith@RiversideResearch.org>
>
> On 13/12/2022 19:48, Smith, Jackson wrote:
> > Hi Xen Developers,
>
> Hi Jackson,
>
> Thanks for sharing the prototype with the community. Some
> questions/remarks below.
>
> > My team at Riverside Research is currently spending IRAD funding to
> > prototype next-generation secure hypervisor design ideas on Xen. In
> > particular, we are prototyping the idea of Virtual Memory Fuses for
> > Software Enclaves, as described in this paper:
> > https://www.nspw.org/papers/2020/nspw2020-brookes.pdf. Note
> that that
> > paper talks about OS/Process while we have implemented the idea
> for
> > Hypervisor/VM.
> >
> > Our goal is to emulate something akin to Intel SGX or AMD SEV, but
> > using only existing virtual memory features common in all
processors.
> > The basic idea is not to map guest memory into the hypervisor so
> that
> > a compromised hypervisor cannot compromise (e.g. read/write) the
> > guest. This idea has been proposed before, however, Virtual Memory
> > Fuses go one step further; they delete the hypervisor's mappings to
> > its own page tables, essentially locking the virtual memory
> > configuration for the lifetime of the system. This creates what we
> > call "Software Enclaves", ensuring that an adversary with arbitrary
> > code execution in the hypervisor STILL cannot read/write guest
> memory.
>
> I am confused, if the attacker is able to execute arbitrary code, then
> what prevent them to write code to map/unmap the page?
>
> Skimming through the paper (pages 5-6), it looks like you would need
> to implement extra defense in Xen to be able to prevent map/unmap a
> page.
>

The key piece is deleting all virtual mappings to Xen's page table
structures. From the paper (4.4.1 last paragraph), "Because all memory
accesses operate through the MMU, even page table memory needs
corresponding page table entries in order to be written to." Without a
virtual mapping to the page table, no code can modify the page table
because it cannot read or write the table. Therefore the mappings to the
guest cannot be restored even with arbitrary code execution.

> >
> > With this technique, we protect the integrity and confidentiality of
> > guest memory. However, a compromised hypervisor can still
> read/write
> > register state during traps, or refuse to schedule a guest, denying
> > service. We also recognize that because this technique precludes
> > modifying Xen's page tables after startup, it may not be compatible
> > with all of Xen's potential use cases. On the other hand, there are
> > some uses cases (in particular statically defined embedded systems)
> > where our technique could be adopted with minimal friction.
>
>  From what you wrote, this sounds very much like the project Citrix
and
> Amazon worked on called "Secret-free hypervisor" with a twist. In your
> case, you want to prevent the hypervisor to map/unmap the guest
> memory.
>
> You can find some details in [1]. The code is x86 only, but I don't
see
> any major blocker to port it on arm64.
>

Yes, we are familiar with the "secret-free hypervisor" work. As you
point out, both our work and the secret-free hypervisor remove the
directmap region to mitigate the risk of leaking sensitive guest
secrets. However, our work is slightly different because it additionally
prevents attackers from tricking Xen into remapping a guest. 

We see our goals and the secret-free hypervisor goals as orthogonal.
While the secret-free hypervisor views guests as untrusted and wants to
keep compromised guests from leaking secrets, our work comes from the
perspective of an individual guest trying to protect its secrets from
the rest of the stack. So it wouldn't be unreasonable to say "I want a
hypervisor that is 'secret-free' and implements VMF". We see them as 
different techniques with overlapping implementations.

> >
> > With this in mind our goal is to work with the Xen community to
> > upstream this work as an optional feature. At this point, we have a
> > prototype implementation of VMF on Xen (the contents of this RFC
> patch
> > series) that supports dom0less guests on arm 64. By sharing our
> > prototype, we hope to socialize our idea, gauge interest, and
> > hopefully gain useful feedback as we work toward upstreaming.
> >
> > ** IMPLEMENTATION **
> > In our current setup we have a static configuration with dom0 and
> one
> > or two domUs. Soon after boot, Dom0 issues a hypercall through the
> > xenctrl interface to blow the fuse for the domU. In the future, we
> > could also add code to support blowing the fuse automatically on
> > startup, before any domains are un-paused.
> >
> > Our Xen/arm64 prototype creates Software Enclaves in two steps,
> > represented by these two functions defined in xen/vmf.h:
> > void vmf_unmap_guest(struct domain *d); void
> > vmf_lock_xen_pgtables(void);
> >
> > In the first, the Xen removes mappings to the guest(s) On arm64, Xen
> > keeps a reference to all of guest memory in the directmap. Right
now,
> > we simply walk all of the guest second stage tables and remove them
> > from the directmap, although there is probably a more elegant
> method
> > for this.
>
> IIUC, you first map all the RAM and then remove the pages. What you
> could do instead is to map only the memory required for Xen use. The
> rest would be left unmapped.
>
> This would be similar to what we are doing on arm32. We have a split
> heap. Only the xenheap is mapped. The pages from the domheap will
> be mapped ondemand.

Yes, I think that would work. Xen can temporarily map guest memory
in the domheap when loading guests. When the system finishes booting, we
can prevent the hypervisor from mapping pages by unmaping the domheap
root tables. We could start by adding an option to enable split xenheap
on arm64.

> Another approach, would be to have a single heap where pages used
> by Xen are mapped in the page-tables when allocated (this is what
> secret-free hypervisor is doing is).
>
> If you don't map to keep the page-tables around, then it sounds like
> you want the first approach.
>
> >
> > Second, the Xen removes mappings to its own page tables.
> > On arm64, this also involves manipulating the directmap. One
> challenge
> > here is that as we start to unmap our tables from the directmap, we
> > can't use the directmap to walk them. Our solution here is also bit
> > less elegant, we temporarily insert a recursive mapping and use that
> > to remove page table entries.
>
> See above.

Using the split xenheap approach means we don't have to worry about
unmapping guest pagetables or xen's dynamically allocated tables.

We still need to unmap the handful of static pagetables that are
declared at the top of xen/arch/arm/mm.c. Remember our goal is to
prevent Xen from reading or writing its own page tables. We can't just
unmap these static tables without shattering because they end up part of
the superpages that map the xen binary. We're probably only shattering a
single superpage for this right now. Maybe we can move the static tables
to a superpage aligned region of the binary and pad that region so we
can unmap an entire superpage without shattering? In the future we might
adjust the boot code to avoid the dependency on static page table
locations.

>
> >
> > ** LIMITATIONS and other closing thoughts ** The current Xen code
> has
> > obviously been implemented under the assumption that new pages
> can be
> > mapped, and that guest virtual addresses can be read, so this
> > technique will break some Xen features. However, in the general case
>
> Can you clarify your definition of "general case"? From my PoV, it is
a
> lot more common to have guest with PV emulated device rather than
> with device attached. So it will be mandatory to access part of the
> memory (e.g. grant table).

Yes "general case" may have been poor wording on my part. I wanted to
say that configurations exist that do not require reading guest memory,
not that this was the most common (or even a common) case.

>
> > (in particular for static
> > workloads where the number of guest's is not changed after boot)
>
> That very much depend on how you configure your guest. If they have
> device assigned then possibly yes. Otherwise see above.

Yes right now we are assuming only assigned devices, no PV or emulated
ones.

>
> > Finally, our initial testing suggests that Xen never reads guest
> > memory (in a static, non-dom0-enchanced configuration), but have
> not
> > really explored this thoroughly.
> > We know at least these things work:
> > 	Dom0less virtual serial terminal
> > 	Domain scheduling
> > We are aware that these things currently depend on accessible guest
> > memory:
> > 	Some hypercalls take guest pointers as arguments
>
> There are not many hypercalls that don't take guest pointers.
>
> > 	Virtualized MMIO on arm needs to decode certain load/store
> > 	instructions
>
> On Arm, this can be avoided of the guest OS is not using such
> instruction. In fact they were only added to cater "broken" guest OS.
>

What do you mean by "broken" guests?

I see in the arm ARM where it discusses interpreting the syndrome
register. But I'm not understanding which instructions populate the
syndrome register and which do not. Why are guests using instructions
that don't populate the syndrome register considered "broken"? Is there
somewhere I can look to learn more?

> Also, this will probably be a lot more difficult on x86 as, AFAIK,
there
> is
> no instruction syndrome. So you will need to decode the instruction in
> order to emulate the access.
>
> >
> > It's likely that other Xen features require guest memory access.
>
> For Arm, guest memory access is also needed when using the GICv3 ITS
> and/or second-level SMMU (still in RFC).
>

Thanks for pointing this out. We will be sure to make note of these
limitations going forward.

>
> For x86, if you don't want to access the guest memory, then you may
> need to restrict to PVH as for HVM we need to emulate some devices in
> QEMU.
> That said, I am not sure PVH is even feasible.
>

Is that mostly in reference to the need decode instructions on x86 or
are there other reasons why you feel it might not be feasible to apply 
this to Xen on x86?

Thanks for taking the time to consider our work. I think our next step
is to rethink the implementation in terms of the split xenheap design
and try to avoid the need for superpage shattering, so I'll work on
that before pushing the idea further.

Thanks,
Jackson

------=_NextPart_000_0065_01D91091.515CF850
Content-Type: application/pkcs7-signature;
	name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="smime.p7s"

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIRvjCCBQcw
ggLvoAMCAQICCmFaT6EABAAAAlYwDQYJKoZIhvcNAQEFBQAwQzETMBEGCgmSJomT8ixkARkWA29y
ZzEXMBUGCgmSJomT8ixkARkWB3JyaS11c2ExEzARBgNVBAMTCkRST0ctQVBQMDQwHhcNMTgxMjI4
MTcyMjQxWhcNMjMxMjI3MTcyMjQxWjBBMRMwEQYKCZImiZPyLGQBGRYDb3JnMRcwFQYKCZImiZPy
LGQBGRYHcnJpLXVzYTERMA8GA1UEAxMIQlJPLURTMDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDIqSfSN9vCMUNv1ClFEtVbNDtXQG2uTUIF4sxljSpofE+0R18jypVQ5sbxYAY+YetA
YaCu9sDvINgjn78bMWro7PjaXLTMKob682UX2hSlfV1u9JLIc/dHZDhQm/g+moZjbJrAaphVJ1tm
zAngB5e9vpNGPtiYnxOHfyJHbXvDODHkXPQHjdhx/96DWEo2ME4o+hbrmKwSv36i9P/fZnx+7dfo
EJ0Xka7ivxxAvSFYwV/lfygF37XMd6iVrQ7HBjt7PYG/Xda26prtnMTaZCj3Xfk17CJ5OD5bhG5/
Fr+BmOB7N0tMEgdOEw4J9ILZ13aZ+u8KHhl8qCRPc+ZCkYJlAgMBAAGjgf4wgfswEgYJKwYBBAGC
NxUBBAUCAwcABzAjBgkrBgEEAYI3FQIEFgQUsiV9iBiIVa/fqUTl68n2xTOrX2MwHQYDVR0OBBYE
FP7n8qkpqNSfs/rzfTADwqy1R1BlMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQE
AwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEkkMbfTP+jwH38Z85zodUalM249MEcG
A1UdHwRAMD4wPKA6oDiGNmh0dHA6Ly9jcmwucml2ZXJzaWRlcmVzZWFyY2gub3JnL2NybC9EUk9H
LUFQUDA0KDQpLmNybDANBgkqhkiG9w0BAQUFAAOCAgEALpNXZbpzZFwFsfCKiwjKg8ldws18ZS3m
BX6jaYuQAdwneQTtf9gFpx3Pvhb+BSN+9yGGjyJ3EZKYcGzGYRaKBK4Vco2rDgHvHckQR4rxq8kd
xJtfGPlEXwsRQRQLW3C38wrdyCjI5JZA/5u4/qZqY7DXnhjU9u/2bofQOT0iAtJ9pAnI47/vdlxG
uzRBAZjqHU3OIeZkQDWUB0yuCgbKRiluFn+0wOsWKwB4d4/HeXOyLBt0qbS+cMZ79MBDuC76ykbd
R1NEAUsMo69BKgqFQQ3nrUN7LGPpEqPiyheFsCWMqkd6vwsmCPwfL1tSBcfOgU0tMiSohi7mPvBk
SI4ODJ97kWVPcS5WZAWmB50hrRCtp46bE1LbGhNihyf7mKn4d2zsGXmbzX0m+oza/nmR4GWGIlni
DF/83XexzNYV7aNBp/1qW4gjuqzwD6f9+1+gPU3jCscHHdE2++0M9yrZiG6iYnH+T0rilJSu24CY
vxavpQf9G1uD/mlcC0ypkeEqenUxv31WapzGnv3EVeU63FEEVQCcJr+VEW30opb3GTQoNAvm7zTs
oCfC/dc9Uohc6wcukEHDBXA6bIjbBXVISsN9Pe9p06FafqVqfr2S5V/F5EwgbMyTFPQ+SIB6Pa+9
GlGMmOWyAEJphGBG+sK9fl8Jcub47w4YX7dCqY4p5vowggWfMIIDh6ADAgECAhASPGXcwnWGs05X
Q6UPq8/lMA0GCSqGSIb3DQEBBQUAMEMxEzARBgoJkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/Is
ZAEZFgdycmktdXNhMRMwEQYDVQQDEwpEUk9HLUFQUDA0MB4XDTE0MDEwNjE1NDc0NFoXDTM5MDEw
NjE1NTc0NFowQzETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT8ixkARkWB3JyaS11c2Ex
EzARBgNVBAMTCkRST0ctQVBQMDQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC80o0V
oOdwWusFIsAU/r2pLJjOgnDJeR1gR0FzW4Yx541MohHpWg2T3dvELrWbw8I1bvrwszhkErdhGisO
W4OhIaJSRSZCc7/4lP67uO3WqyH6Ih0lLFejnOWi5z3ifzKYj5fHIE5z0niLL+eg1NxokT9H2qC1
ENHNJ/jssmQZyyoktvKaPShw+I7yAqdwZWr7l9jCUKFgYBbqkPm0kEzZAagNHZ+HOp6LAvGEONL6
4k7a6jGcaz5LvBTVTlCYdws2DROK6deI9w8IkV0dQFL/c4jfQZ7OBbhkz4XMXgnTvnklKlgmzA40
l1lS4RlT29NufZvbyRziERP779HwczfIjpUPi1r70JgpyD42WyepcGoKXCicmBvI8mLaEPdfxEUC
60OnO8VFbU5oKw+T6j3ByuUTD6FEqQf4Q4SqyeDA9GZwRA2k5iwLwFqA0sCfcaUOi2aQkfT3OtTr
JDWnzUIFRXFuenmSMpfTS4r1GW7u3DgAlWrNgKmx0WxdQpreAVt1lkCEb6NodTu4xiktEYtXfiVP
i7LNfTbNS9gDS4wzOUGFc4GIthoWZXaYzSqu4e0h1tnvVPESwCz8+Ke2olwayeLGDK7h19HSE+EK
78XAlrcSuwoCQfrZfRHouSq7si9XRHdQJElFOzUy9N5QD5RL036eqSgc+l2PSBGuPVgD7QIDAQAB
o4GOMIGLMBMGCSsGAQQBgjcUAgQGHgQAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/
MB0GA1UdDgQWBBRJJDG30z/o8B9/GfOc6HVGpTNuPTAjBgkrBgEEAYI3FQIEFgQU2fLvmTrCwkM1
lhWUNB1HIO1BY9cwEgYJKwYBBAGCNxUBBAUCAwQABDANBgkqhkiG9w0BAQUFAAOCAgEAVHa8hXq9
mLpvsLYVR1Iqak2w3d71HKoEjRA67hkS5p1QSVySBnKBo4DqL2SVBnc5kt6J+3uH0hoFQF15CJwW
SzMOCwX3BGA7UpkNgDqe/0sM/FZCVnGi1U56tRgMg/Ndxu26ytn13ptec0MZwGRzU46cNamtMLcW
TxZyEe46ALnKxmv125IMDxEAXyo4p/9Y7xVK7SlzbF8NYUFZB/6lSjvG7BbNdZ4TQqoZ6ngXYcKO
X/fFlb2Gzagbe3RoqFfNC4wRnFkO/wcr7stOB17bHXNN2EE7QZwSiR/oS3tVZ2hSTWTzfi+Mn8FI
9WeMZ/hhkK/vwu+9Leaua6WGVdJUPSJFZK47SGOdekEZ8ipJ5X5pwSO2unOM1V4pVty28Jq9KgF5
aBYiCS/2FOHvAgolQ3PuUIZOxZ87jSd4cTEpF5rUfVLd/Wb7C/i4G15cnolsNuABl+Mgkdr9xHAs
0c3bljbfN6HdYZNHTZQ8kUL6z39UX9b0VFVXoCw+fnQOD+uaNca3lfvQENKOnNpzLSvVuwyOg9LL
U2qdp74brdgXidWL56iwlBj5g/7Rt1glmNCbIusxtEHDr3RWaXvmOZt86lwT1pNy6e4iKaj5opiM
y5hBglp6x595DCG05IgGyQRzP9bNyqPglQMRekuqNtiM8s/BZZ0LiVtMDkna9k9jj28wggcMMIIF
9KADAgECAhMsAARwT/LbBVtfmneXAAcABHBPMA0GCSqGSIb3DQEBCwUAMEExEzARBgoJkiaJk/Is
ZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdycmktdXNhMREwDwYDVQQDEwhCUk8tRFMwMjAeFw0y
MjA1MTYxNDI0MjJaFw0yMzEyMjcxNzIyNDFaMIGpMRMwEQYKCZImiZPyLGQBGRYDb3JnMRcwFQYK
CZImiZPyLGQBGRYHcnJpLXVzYTEMMAoGA1UECxMDRFJDMQ4wDAYDVQQLEwVVc2VyczEWMBQGA1UE
CxMNT24tU2l0ZSBVc2VyczEWMBQGA1UEAxMNU21pdGgsIFJvYmVydDErMCkGCSqGSIb3DQEJARYc
cnNtaXRoQFJpdmVyc2lkZVJlc2VhcmNoLm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
rvdaVkLmf4emLjFcvM2ukIkTQjkEoz/feXDWuJH/9BWDUowo71IysLADaoIXy0EFNblUbZZM4pR3
29XLxbsYAQKYMLDqxbudadKICnnme7PxLZ8bnT3HhNCvK4ieUxuQz0Uied92gUg/HXrSf06oCKbw
smY8uvOq1BOQ6V7sr2ECAwEAAaOCBBYwggQSMD4GCSsGAQQBgjcVBwQxMC8GJysGAQQBgjcVCIWb
hmWDndEtgsWVEIGmmyuDmZlRgSWH0qVDgrHkJgIBZQIBBTA1BgNVHSUELjAsBgorBgEEAYI3FAIC
BggrBgEFBQcDAgYIKwYBBQUHAwQGCisGAQQBgjcKAwQwCwYDVR0PBAQDAgWgMEMGCSsGAQQBgjcV
CgQ2MDQwDAYKKwYBBAGCNxQCAjAKBggrBgEFBQcDAjAKBggrBgEFBQcDBDAMBgorBgEEAYI3CgME
MEQGCSqGSIb3DQEJDwQ3MDUwDgYIKoZIhvcNAwICAgCAMA4GCCqGSIb3DQMEAgIAgDAHBgUrDgMC
BzAKBggqhkiG9w0DBzAdBgNVHQ4EFgQUx9iDBJcqSRZJGZfYm0qPYN5BFcMwHwYDVR0jBBgwFoAU
/ufyqSmo1J+z+vN9MAPCrLVHUGUwggEABgNVHR8EgfgwgfUwgfKgge+ggeyGgbNsZGFwOi8vL0NO
PUJSTy1EUzAyKDcpLENOPUJSTy1DQTAxLENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNl
cyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPXJyaS11c2EsREM9b3JnP2NlcnRpZmlj
YXRlUmV2b2NhdGlvbkxpc3Q/YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludIY0
aHR0cDovL2NybC5yaXZlcnNpZGVyZXNlYXJjaC5vcmcvY3JsL0JSTy1EUzAyKDcpLmNybDCCARMG
CCsGAQUFBwEBBIIBBTCCAQEwgacGCCsGAQUFBzAChoGabGRhcDovLy9DTj1CUk8tRFMwMixDTj1B
SUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlv
bixEQz1ycmktdXNhLERDPW9yZz9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlm
aWNhdGlvbkF1dGhvcml0eTBVBggrBgEFBQcwAoZJaHR0cDovL2NybC5yaXZlcnNpZGVyZXNlYXJj
aC5vcmcvY3JsL0JSTy1DQTAxLnJyaS11c2Eub3JnX0JSTy1EUzAyKDcpLmNydDBVBgNVHREETjBM
oCwGCisGAQQBgjcUAgOgHgwccnNtaXRoQHJpdmVyc2lkZXJlc2VhcmNoLm9yZ4EccnNtaXRoQFJp
dmVyc2lkZVJlc2VhcmNoLm9yZzBPBgkrBgEEAYI3GQIEQjBAoD4GCisGAQQBgjcZAgGgMAQuUy0x
LTUtMjEtMzE1MzczODEzMi0zNDMzOTAxMTAzLTQxMTc4ODYyMi00MDQ1NTANBgkqhkiG9w0BAQsF
AAOCAQEAYaBBvBGuhKlhJ2O6JBtcYRW7CYREO4+CAep40ordLIS0gvnKuE7A3a+4YzJpqKvfSbQd
+dQzeaZNz3kTpwJlZh5fJb/Bo7zQWlvDU1p/rr7a2tAnWNqSVlgQrvAk35TLqlGAmwo8tgQ1jxc/
JAkWg5Pqks6IKyO8CwKuIEOqL7vxN/THcEvpJvLnhRxm/ARosCDW1x0XTwivA8tS1AVvxxcpQAXS
uo/q3WNG/XDC8oO6oJLZfnpl9LiDBrsHEzDaR3Ct3XCR6rJ4ezjwFjH4SEOWCWeWsLhk+uoOgAx5
4cKlGpprXf5oje+0nSz1bAw5kaGD8k83rXL75YVcIuRTlDGCAskwggLFAgEBMFgwQTETMBEGCgmS
JomT8ixkARkWA29yZzEXMBUGCgmSJomT8ixkARkWB3JyaS11c2ExETAPBgNVBAMTCEJSTy1EUzAy
AhMsAARwT/LbBVtfmneXAAcABHBPMAkGBSsOAwIaBQCgggHHMBgGCSqGSIb3DQEJAzELBgkqhkiG
9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMTIxNTE5MjcxMFowIwYJKoZIhvcNAQkEMRYEFN89o+tH
7S+Il86Gdjo/oe18Kk8yMGcGCSsGAQQBgjcQBDFaMFgwQTETMBEGCgmSJomT8ixkARkWA29yZzEX
MBUGCgmSJomT8ixkARkWB3JyaS11c2ExETAPBgNVBAMTCEJSTy1EUzAyAhMsAARwT/LbBVtfmneX
AAcABHBPMGkGCyqGSIb3DQEJEAILMVqgWDBBMRMwEQYKCZImiZPyLGQBGRYDb3JnMRcwFQYKCZIm
iZPyLGQBGRYHcnJpLXVzYTERMA8GA1UEAxMIQlJPLURTMDICEywABHBP8tsFW1+ad5cABwAEcE8w
gZMGCSqGSIb3DQEJDzGBhTCBgjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAoGCCqGSIb3DQMH
MAsGCWCGSAFlAwQBAjAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAhowCwYJ
YIZIAWUDBAIDMAsGCWCGSAFlAwQCAjALBglghkgBZQMEAgEwDQYJKoZIhvcNAQEBBQAEgYAKk544
TcW87NbcUG9pDHwirPlIsHa25Pb8t8ogtd3LWf36KlA9Vo7f0CreI8q32XbosmykuYreAzqFIaR+
wvhTnkIbtxsagX0CxdUn7eQMP4NldUOcYRFlLIZWnE2+h5UFSenIvWMH35HJME7SLTkce5SYHjU8
Utq2Fd+ksPn8UAAAAAAAAA==

------=_NextPart_000_0065_01D91091.515CF850--


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:33:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:33:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463748.722000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyV-0006Kh-MO; Thu, 15 Dec 2022 19:32:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463748.722000; Thu, 15 Dec 2022 19:32:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyV-0006Ka-Ir; Thu, 15 Dec 2022 19:32:59 +0000
Received: by outflank-mailman (input) for mailman id 463748;
 Thu, 15 Dec 2022 19:32:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BWk7=4N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p5tyU-0006KU-3F
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 19:32:58 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45cf781d-7caf-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 20:32:56 +0100 (CET)
Received: from DS7PR03CA0254.namprd03.prod.outlook.com (2603:10b6:5:3b3::19)
 by BL3PR12MB6523.namprd12.prod.outlook.com (2603:10b6:208:3bf::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Thu, 15 Dec
 2022 19:32:52 +0000
Received: from DM6NAM11FT017.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3b3:cafe::e7) by DS7PR03CA0254.outlook.office365.com
 (2603:10b6:5:3b3::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 19:32:52 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT017.mail.protection.outlook.com (10.13.172.145) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 19:32:52 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 13:32:51 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 13:32:50 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45cf781d-7caf-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dq2TwASc3+cW3sfM+peayYzbs0oNA+1u7pvUN33tVE4eMv57a15HkZgF2I/w8XriKORVDMfKH1tzflvQKXUjYaQFwWwc2GXgpvWBwOUz3F+PzgRnNgi2IFU3BOM8jWu4x06lVgbpookPglovtjy1qQ25LeKXtpA+H2An+oZ/UVPGbSTh8P7Cc3kJkCAPO7+/esfNBxAzCTQlzBnXY5rZhBSD58CY4GWg1XUKS6yvhbRW0UV9g7xKhjVyDFUOVh2O6sxk+FNwvA3XySGMxdsHE9Z5ugHYYdAGLF8+qA+UBbV8uh1warvEBoNPlXZ5tvQvGVgUltk/s0JQRBXCAJBrDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=L5zcmeRFz8lDxQOJjYxclv81XepsraOXmyBCIc/D3dI=;
 b=gKk4+5wDPSr2BbGc1o8qALpQLBSRSVktlgBCQUxpXWRIdLUvO7C2XoqLZEaXEyZ9kj+xNvxcWZ2fikU4M/C5BTKBVoxR2FL2yuuRX1Zc5CMxB1omFTQ9eOQQgVTOBBm+6L+RdcEQxhTJsFiqQdqx5jbcu1z3mOrW6kmcHWI/BLuf4Fjd1o7Jt46/GpOF/mzUXulMvMAL2MAoLlJDg3B1hqcb6iNQcqPr7XUoCvznmMLGAsGOzxZ5zoM5lZUUnA2INcv87qrdPcT75tBZrWtGNpzOGZxMGJJxvVteJNUbcoi+Q23TZf5D+Oz2daE4DN9X535xPf5uEtPyO26wUi3Bfg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=L5zcmeRFz8lDxQOJjYxclv81XepsraOXmyBCIc/D3dI=;
 b=Cex+NMHcTDWzOYY49C/UBCvteryuOU0boh3aBb5+w6oJnYF1pH2hiE/AG/gk+Srum1aebD5fMe7E8FKSoIJJ2BtZGa3miz/ccupfQwjeWnFrnJBaFFELjXYu4e7eQV/WuARIc+3adCP/VhnFapGUZO9xGWVbnmtdZHIkK9Tp20k=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v1 0/9] Add support for 32 bit physical address
Date: Thu, 15 Dec 2022 19:32:36 +0000
Message-ID: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT017:EE_|BL3PR12MB6523:EE_
X-MS-Office365-Filtering-Correlation-Id: 4a61f454-f967-4f60-fabc-08daded32847
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NqEr8O6oWIH/K8pcayZNrFcAAo2Y0iK8vEqSeqzHb7UIU6DFSXmxI879XiUeI1sUN/MzEBNz07F0hEiQUG0Ok4lzF6PyCdJq6iOS4VpKVCNrEFaKP4iG+4WkDc3GWIFkD7K9izU9tXY9ff6efPNK6blnxiMwMJFUJbVnXrONXP4RHPpKWR0ObwVN0ia5Jc5H2NB0eTo5dhf2dMyRKEPDD34KZkz61GBe+p4LiGhxOjpjHDJyOENl/yFUUlaxudWlCPXkoYfAcv7ManZnhHWU/wYaEot6LV5slYtrkMyIzXu7rm/LFvcBc+ul1QMl3ei4QTOr/7tAT++/NIc7RaJEcSTuwXbIL+1uB/uRVaIDr2b5sBWUG+ia2CAJvW6cfTCgP+6OrFnJxVBeXzkb95ypUx6ib247JWE394pszermiU5HCqZpZsJDJhDCtXZjITGqLAkOu17u2Kf5CEiE42jQhZwYsdASWSrvWcM5P7bGGE4Rrk/LQMi47AvXAw+E/925Um9jlATSy1gHl3bD0uPa5ZFGT9/HUZ01BVAluHDxn+63JYIGYzTLV3V4dRXhl8NlHBWHuJYVpFBUJaSFYgUOpwPe6A/HI9pCF8+c2QhXkQccLKOLNb2UZLk43Opjd0j5oC1jVW3Ns3dVifmR6CdN2DI+R+ltmILpH8XSyaH2HB+06XOi2oB1imS4MgvEw91QAVFMB3t16B+AFRQGIU4jgF9aAW9+SRC1pjbnPvlbY7JJMOB1Qqai5IqQ3jx6JaowzhhLBYqCFpdlZm7f6vGMfySFhyJOpBfgKFEJOrHEfCagCI8lIkG2t1om5v55LLig
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(346002)(396003)(376002)(451199015)(36840700001)(40470700004)(46966006)(82740400003)(426003)(2906002)(40480700001)(1076003)(2616005)(336012)(36860700001)(478600001)(6666004)(966005)(6916009)(26005)(70206006)(54906003)(70586007)(8676002)(4326008)(186003)(5660300002)(356005)(8936002)(41300700001)(40460700003)(81166007)(83380400001)(36756003)(82310400005)(316002)(47076005)(103116003)(86362001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 19:32:52.0836
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a61f454-f967-4f60-fabc-08daded32847
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT017.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6523

Hi,

Please have a look at https://lists.xenproject.org/archives/html/xen-devel/2022-11/msg01465.html
for the context.

The benefits of using 32 bit physical addresses are as follows :-

1. It helps to use Xen on platforms (for eg R52) which supports 32 bit
physical addresses and has no support for large page address extension.
On 32 bit MPU systems which supports flat-mapping (for eg R52), it helps
to translate 32 bit VA into 32 bit PA.

2. It also helps in code optimization when the underlying platform does not
use large page address extension.


The following points are to be noted :-
1. Device tree always use u64 for address and size. The caller needs to
translate between u64 and u32 (when 32 bit physical addressing is used).
2. Currently, we have enabled this option for Arm_32 as the MMU for Arm_64
uses 48 bit physical addressing.
3. https://lists.xenproject.org/archives/html/xen-devel/2022-12/msg00117.html
has been added to this series.

Ayan Kumar Halder (9):
  xen/arm: Remove the extra assignment
  xen/arm: Define translate_dt_address_size() for the translation
    between u64 and paddr_t
  xen/arm: Always use 'u64' instead of 'paddr_t' for address and size in
    DT
  xen/arm: Use translate_dt_address_size() to translate between device
    tree addr/size and paddr_t
  xen/arm: Use 'PRIpaddr' to display 'paddr_t' variable
  xen/arm: Use 'u64' to represent 'unsigned long long'
  xen/arm: Restrict zeroeth_table_offset for ARM_64
  xen/arm: Other adaptations required to support 32bit paddr
  xen/arm: Introduce ARM_PA_32 to support 32 bit physical address

 xen/arch/arm/Kconfig                 |  9 ++++
 xen/arch/arm/bootfdt.c               | 22 +++++----
 xen/arch/arm/domain_build.c          | 69 ++++++++++++++++++++--------
 xen/arch/arm/gic-v2.c                | 39 ++++++++++++----
 xen/arch/arm/gic-v3.c                | 33 +++++++++++--
 xen/arch/arm/guest_walk.c            |  2 +
 xen/arch/arm/include/asm/lpae.h      | 10 ++++
 xen/arch/arm/include/asm/page-bits.h |  2 +
 xen/arch/arm/include/asm/platform.h  | 26 +++++++++++
 xen/arch/arm/include/asm/types.h     |  7 +++
 xen/arch/arm/mm.c                    |  6 ++-
 xen/arch/arm/platforms/brcm.c        |  9 +++-
 xen/arch/arm/platforms/exynos5.c     | 48 +++++++++++++------
 xen/arch/arm/platforms/sunxi.c       | 11 ++++-
 xen/arch/arm/setup.c                 | 18 +++++++-
 xen/drivers/char/exynos4210-uart.c   | 10 +++-
 xen/drivers/char/ns16550.c           | 16 ++++---
 xen/drivers/char/omap-uart.c         | 10 +++-
 xen/drivers/char/pl011.c             | 10 +++-
 xen/drivers/char/scif-uart.c         | 10 +++-
 xen/drivers/passthrough/arm/smmu.c   | 18 ++++++--
 xen/include/xen/serial.h             |  2 +-
 22 files changed, 305 insertions(+), 82 deletions(-)

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:33:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:33:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463749.722011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyX-0006aL-TJ; Thu, 15 Dec 2022 19:33:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463749.722011; Thu, 15 Dec 2022 19:33:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyX-0006aE-Q8; Thu, 15 Dec 2022 19:33:01 +0000
Received: by outflank-mailman (input) for mailman id 463749;
 Thu, 15 Dec 2022 19:33:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BWk7=4N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p5tyW-0006TA-Ep
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 19:33:00 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2064.outbound.protection.outlook.com [40.107.95.64])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47a32604-7caf-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 20:32:59 +0100 (CET)
Received: from DM6PR13CA0043.namprd13.prod.outlook.com (2603:10b6:5:134::20)
 by IA1PR12MB6258.namprd12.prod.outlook.com (2603:10b6:208:3e6::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Thu, 15 Dec
 2022 19:32:56 +0000
Received: from DM6NAM11FT085.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:134:cafe::8d) by DM6PR13CA0043.outlook.office365.com
 (2603:10b6:5:134::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 19:32:56 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT085.mail.protection.outlook.com (10.13.172.236) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 19:32:55 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 13:32:54 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 13:32:53 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47a32604-7caf-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MB72qYGX0z8zAK5BKc6lYzbOauNVyB4HLwaWHkrWI4sP5zQqYcAqrr2G6QpXdbCw8QQcK11+JLIYIVLht5S4qFvZXwcBT/LSKyHA7QYAIgJ/kH+4XTH4jLyC3KTgf59lkY6N9Xyt5d34XuKvzZw+olesWJN9pu1Agdt0w/HkFodzSDdQPLNeSjzi1Z5upIAlqVRu8nD3u7GG0cbHy7DsUehYyADngQWnI4qvd0am/T2rFY+wK8UVo4SqBzL+ASWCE0oF5AUR6VR/Fepqez0euPFSKm6hQUOWJJKHozIOgn88CubBlqXuwPfhO6kLgxnSve9hDLG+HEEZb+6MCVgIdw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4lvaSkI20lY6fb8u8ypyUkJA8QI8c03TjbZy9rbq1Zw=;
 b=QONe4YKqJ7+hrRpLZMzQPWfo+MRnRZznHuDpf5WkD0fU8FyKPfVyxJyPMzpKSDg14lR0+ENY9c6JdJkYRoy4vnX15NdQbu5oLEQ3sP9z1cqSR7/LUgF355BQ9NRhAYWekCzz7pFZoRo9cd/nuffBq6xUfkoOGN8Bye+WW/7B6ENy1TpkbHqusvD1+SPo6Nrv7FwaQ6fVRfXDfttpL/B6bSR96OPaThVjFtatUwgRqVBJLwQynTxMPA1NTxxrFrTgOqsAnCVjaPDML0YVN9pzMhxD4enSYyuV81TnKXYHJ9+LYHhNTtNhO4gYPoLm3FkP7MiFRs31hBS3N7zMLKeRDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4lvaSkI20lY6fb8u8ypyUkJA8QI8c03TjbZy9rbq1Zw=;
 b=L5HIAnZKUfVXbdQYCV/mtmKY2rvwh78BMLD8fvgF1hkTcEGDNybue0xj9PQbbZ5SNFVwq87kaKxrGY+Lnmu5paUUM6DN9ZiuIoc+KON6Wye6duYW9mnn3Vkn75STTQM7xiJoqCengzym+2d3AEwgvUm/ECWLuseueyo+bqU1DFw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v1 1/9] xen/arm: Remove the extra assignment
Date: Thu, 15 Dec 2022 19:32:37 +0000
Message-ID: <20221215193245.48314-2-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT085:EE_|IA1PR12MB6258:EE_
X-MS-Office365-Filtering-Correlation-Id: 5053bf64-eb79-47d8-e273-08daded32a45
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DR7h29BeJ/qnZ7MilG79gedhoFf4Y8+a/fEO5eeUtJGE40ZV6pHYJ5y+pcxgtwgzxsNz00d+Y7TVXRneaE8cGerjONSobpNzwxUSu9Sh/KhqTE7DAwfxltI0nB1z93jX0hvVGN73ujLpxiycfYWCZs2baKqu3eBWUc5IqxhT+AJsdY+SyCUlBNf2q7P5dW02JK2bQjv8VojBLIFfS3wMfi2tURrH8VP9Pwk3xVh4gA5r13BqOIZdRPIRbfBjvGYWW6MlNOloqzIKgzTFpuyRFPWFEtoJxp5dASykMyDl8pKzwvayl1iKhmbm7+iaKZJ95AeZZC2L8MJ5D7hBDAKu+RQOdEtl8/tqnC1gmqyCP2eEpPOhBQDxvuesVPCRAlBe1OKp0VyQYBmDjD99Ltwgf8pWrJKcxNR8bvhqdLpQ4yO75Dsk6M0fQZT9nn63yDaJTve73sMhp5QG8azI0Ix0kYkWjT+Ai2r7TwtCpw6P5kvBgnoQ8hBtd1wD4KWZLcJ/Ul65nmqKze7fKzsYq5wSGzvO49imJcYIssWT3bns2yrdqqLYZBEDLasYKUyIR1vUsE9D3Vcf7B70z07ZGtJrFKrBDsSHDqDg1+BFShNi8GMaDaYmqBtk5vGJshi1G0hzwHNPSOID+ZQEFvoUEY7uCuyzB8hEUOUmmk183EJBJNJYMuNSe9iE+z1ZAM//n5X8eYh8KH7cU/oOA8PoDOgWtfELga9fI/tV9n3qFarmpt8=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(136003)(396003)(346002)(451199015)(36840700001)(46966006)(40470700004)(82310400005)(40460700003)(2906002)(356005)(316002)(103116003)(40480700001)(70206006)(83380400001)(36756003)(8676002)(2616005)(4326008)(82740400003)(6916009)(26005)(70586007)(1076003)(54906003)(186003)(81166007)(478600001)(426003)(8936002)(6666004)(86362001)(336012)(47076005)(41300700001)(5660300002)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 19:32:55.4254
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5053bf64-eb79-47d8-e273-08daded32a45
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT085.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6258

As "io_size" and "uart->io_size" are both u64, so there will be no truncation.
Thus, one can remove the ASSERT() and extra assignment.

In an earlier commit (7c1de0038895),
"ns16550.io_size" was u32 and "io_size" was u64. Thus, the ASSERT() was needed
to check if the values are the same.
However, in a later commit (c9f8e0aee507),
"ns16550.io_size" was changed to u64. Thus, the ASSERT() became redundant.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---

 xen/drivers/char/ns16550.c | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 01a05c9aa8..58d0ccd889 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -1747,7 +1747,6 @@ static int __init ns16550_uart_dt_init(struct dt_device_node *dev,
     struct ns16550 *uart;
     int res;
     u32 reg_shift, reg_width;
-    u64 io_size;
 
     uart = &ns16550_com[0];
 
@@ -1758,14 +1757,10 @@ static int __init ns16550_uart_dt_init(struct dt_device_node *dev,
     uart->parity    = UART_PARITY_NONE;
     uart->stop_bits = 1;
 
-    res = dt_device_get_address(dev, 0, &uart->io_base, &io_size);
+    res = dt_device_get_address(dev, 0, &uart->io_base, &uart->io_size);
     if ( res )
         return res;
 
-    uart->io_size = io_size;
-
-    ASSERT(uart->io_size == io_size); /* Detect truncation */
-
     res = dt_property_read_u32(dev, "reg-shift", &reg_shift);
     if ( !res )
         uart->reg_shift = 0;
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:33:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:33:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463750.722021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyb-0006s5-5u; Thu, 15 Dec 2022 19:33:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463750.722021; Thu, 15 Dec 2022 19:33:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyb-0006ry-2i; Thu, 15 Dec 2022 19:33:05 +0000
Received: by outflank-mailman (input) for mailman id 463750;
 Thu, 15 Dec 2022 19:33:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BWk7=4N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p5tyZ-0006KU-Pr
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 19:33:03 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2083.outbound.protection.outlook.com [40.107.102.83])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 49ac883b-7caf-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 20:33:02 +0100 (CET)
Received: from DM5PR07CA0092.namprd07.prod.outlook.com (2603:10b6:4:ae::21) by
 CH0PR12MB5091.namprd12.prod.outlook.com (2603:10b6:610:be::10) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5924.12; Thu, 15 Dec 2022 19:32:59 +0000
Received: from DS1PEPF0000E644.namprd02.prod.outlook.com
 (2603:10b6:4:ae:cafe::25) by DM5PR07CA0092.outlook.office365.com
 (2603:10b6:4:ae::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 19:32:59 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E644.mail.protection.outlook.com (10.167.17.200) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.9 via Frontend Transport; Thu, 15 Dec 2022 19:32:59 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 13:32:57 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 13:32:57 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 13:32:56 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49ac883b-7caf-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xg5o1zkItVJY2AOXu9KfQtYOrdnky6GjMIei7mexiv7lyHze1zAUGzeOBia+7SAxTMs5+SU6ImmDcGFTog0y/zjUt9bQQoRT6DDy7gG5W9HA/q+b1FMlKe2gy8khVKUfmANm3+e6mrRekCkiJg9kWxM7VlKw3OkiWACcxusXzpTO2YMNk+IIHDu6AyW0NuOfEhwte8urZJ+3f6JVCrKkuBd2MuCTbaO8EBC8GGbt+0rMrk7zkylBL/5YWmT2dfRzgmtM0UBgOVoIeWEQfZnZPbiqxbZNkupBIAhODJiegrKfpQwr9SoMkXfP9N3HGVTqkvCb670r57Bz8mqGLbY2/A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nEcjDNJBIOdqWQvewngXlND3JwUSJKnAsyDlrtHgpXw=;
 b=AaPreCpbWE771yaxNRin2QU0dKV1I59WCpDW5rq/rIXO5Vytmfjkh7+wT5pQiKgUvcSHmVVyPb52SwRAqnnSV9urQJ4G/u3MQkC1l/4LHyLBvOVYseDENapBzwhGf17Fn307f1+BEPAXyVHtXghIRbd7pygTWkKBlZ3Tu8DyHknFycU05Eppum71LvmAi30bNyjqdwYstahv7IrfHb3D4hQj5Y+PPq4YZlGamm8PwWza6R2cHXSYmFgiMXKf+aiIZ6dsas+3UJWmKzVDEx0dgwsNEA6BOWw0qyFnMM21yqxrjqbJ//0eGjWCDm+urZFMAmYkYIHF+6+nEAYvYdqMDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nEcjDNJBIOdqWQvewngXlND3JwUSJKnAsyDlrtHgpXw=;
 b=5J2gydSOAgEhPqmIPNSUUm8lGj0gf/GHPWe+7GXNfGaw7CxKVx09Wsd8dP1u10ROjyrYRrds6Qe0q/Oxl8O2Ug8YV3MIJAN9fXQxFTiCgQth74+ozzBhHnnimCObfNuQl3h3n2b3e41z9C1flGNx0lPmI7CFPJLtLwEUCvD9BGY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v1 2/9] xen/arm: Define translate_dt_address_size() for the translation between u64 and paddr_t
Date: Thu, 15 Dec 2022 19:32:38 +0000
Message-ID: <20221215193245.48314-3-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E644:EE_|CH0PR12MB5091:EE_
X-MS-Office365-Filtering-Correlation-Id: 36cf6f67-9b36-408f-4299-08daded32c91
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tx/by94KrXnIowkCbGkaM8I6FrKN8u/SwUsT2V9SKXaROwIFh/RR7rxJHaybZBk6hFw939WHtTZ7pSPw/944UxDWCfxC/LOHPTaOboH4XxRvG0i4e3qAftS6bLrCXeXaqgLmvSsxR9q8SSJmgd9oUkgeyvov/I9dLdIjx3U2+QdPepxTxQoMJG8tplwTA21u0RjdzKKtwgnq5qEOSSo7v7GqqRSoNHO9MDG0gDI9VC4GB+d84d6wR/1ucHi4U43AceFeRAYwneKWAiPQEpWGyuCSOiMTfJYXIpjzkZ9wOVFZzueesI+yALNmfkDH52+VQ8NYqvYo18k6GzKXSVn914W+RUhrv/VaQBpkKfGbDeazbLvWBswnLzQXTd3aEb+Hkzij8IlrWzB9UDfzkcHj7CRPvVqmD01nCma1tALGWRZJ4wEz+4xyrCqzEcoQ6WZIkW7gWO7T3arl7R7Ai/pSC4GirMNCOKdCvmHnreyEi25hBePeMN9Zyj+PXMWwbKfvYq9ReyTeIIC2U4JrEzMA9gCSGYPjVdsm4JjkjsXlREebJLHz1bffYp6Jlog7OyCIUuyU0SO1wNlIkAYJeyCIcF3o2aq19RfkV9Okcg5YbROKiHffThlXmABLzcUaXBqywwZmaO6w7lK7vYaLQ0JPHWCe2XQ2VpIG1vwczUDnMUqhUscOjSM1ycY189r2c4R8scl1h5QCa4XKFkxC0N0aau1PYUa01LO32tPrHWgIcu4=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(136003)(346002)(396003)(451199015)(40470700004)(36840700001)(46966006)(5660300002)(8676002)(4326008)(8936002)(70586007)(70206006)(41300700001)(103116003)(6916009)(356005)(54906003)(478600001)(316002)(2906002)(36756003)(40460700003)(86362001)(186003)(6666004)(26005)(2616005)(336012)(1076003)(47076005)(40480700001)(426003)(81166007)(82740400003)(82310400005)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 19:32:59.2748
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 36cf6f67-9b36-408f-4299-08daded32c91
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E644.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5091

paddr_t may be u64 or u32 depending of the type of architecture.
Thus, while translating between u64 and paddr_t, one should check that the
truncated bits are 0. If not, then raise an appropriate error.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
 xen/arch/arm/include/asm/platform.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/xen/arch/arm/include/asm/platform.h b/xen/arch/arm/include/asm/platform.h
index 997eb25216..6be1549f09 100644
--- a/xen/arch/arm/include/asm/platform.h
+++ b/xen/arch/arm/include/asm/platform.h
@@ -42,6 +42,32 @@ struct platform_desc {
     unsigned int dma_bitsize;
 };
 
+static inline int translate_dt_address_size(u64 *dt_addr, u64 *dt_size,
+                                            paddr_t *addr, paddr_t *size)
+{
+#ifdef CONFIG_ARM_PA_32
+    if ( dt_addr && (*dt_addr >> PADDR_SHIFT) )
+    {
+        dprintk(XENLOG_ERR, "Error in DT. Invalid address\n");
+        return -ENXIO;
+    }
+
+    if ( dt_size && (*dt_size >> PADDR_SHIFT) )
+    {
+        dprintk(XENLOG_ERR, "Error in DT. Invalid size\n");
+        return -ENXIO;
+    }
+#endif
+
+    if ( dt_addr && addr )
+        *addr = (paddr_t) (*dt_addr);
+
+    if ( dt_size && size )
+        *size = (paddr_t) (*dt_size);
+
+    return 0;
+}
+
 /*
  * Quirk for platforms where device tree incorrectly reports 4K GICC
  * size, but actually the two GICC register ranges are placed at 64K
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:33:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:33:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463751.722033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyc-000793-Gn; Thu, 15 Dec 2022 19:33:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463751.722033; Thu, 15 Dec 2022 19:33:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyc-00078s-DE; Thu, 15 Dec 2022 19:33:06 +0000
Received: by outflank-mailman (input) for mailman id 463751;
 Thu, 15 Dec 2022 19:33:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BWk7=4N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p5tya-0006TA-B1
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 19:33:04 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2045.outbound.protection.outlook.com [40.107.93.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49f0abdf-7caf-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 20:33:03 +0100 (CET)
Received: from DM5PR07CA0111.namprd07.prod.outlook.com (2603:10b6:4:ae::40) by
 SJ2PR12MB7893.namprd12.prod.outlook.com (2603:10b6:a03:4c6::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.19; Thu, 15 Dec 2022 19:33:00 +0000
Received: from DS1PEPF0000E644.namprd02.prod.outlook.com
 (2603:10b6:4:ae:cafe::ab) by DM5PR07CA0111.outlook.office365.com
 (2603:10b6:4:ae::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 19:33:00 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E644.mail.protection.outlook.com (10.167.17.200) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.9 via Frontend Transport; Thu, 15 Dec 2022 19:33:00 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 13:32:59 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 13:32:58 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49f0abdf-7caf-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N8cMj1zz7OisxFhuPTmOm/1+DxK6mXC2Jg8h8XeqstiKiOUUuy/UbnxwTQesfEUbs31AP0FuPHRwxdI9preq15JBh1/wjNtXHnE0RSVYWj8NAfDk9L3K7cHvoDzgdsYpxK4oWI2APK/OoH6BqChfEM5oosUR/eYAzYkPGwP/mdCYm502Syp45t4Y0Wu7M3xH22L52s58ZJwdysF0oZete2BWrorvKCzYXUInVe+Pytui7tMLbgol9Xl9qdruBQDpDTrYgsa3M91ndyIrx/safCGt1bfY9SHl/cqGBOk/42WQ+LQAdbDyjn3EBkPBZQ+H2TTh5J/k69jHbxT6WLFjMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G9kys79lyCmih9CHzEt5PZyku/GqRCHvt0SFfV6NNkY=;
 b=aKx43f6OivfE50jtorpyR9cZbEScWFQy6veA11tE18Ldr6tDFjVVYjGAbCT/ewNnYuj6+lG4xGjQ5PGXO3Jkv5Q+XzTQZ8qF8OMQj6oewc6wEzZn05tkC1Y2OCy9mKtWRGlbUk0D0/E8tanwkqcb/wEeh0OiGtoC/0EYaWac+fAL8tH2U4yNNik9l8hLnfYa+lEcaiN377a9kW5fzesLYEqmYsZ5nLkeODlES9axfgs9hNsC5q+8XvZ1BlDOsdHmNxebYTzFdHZaP+SsGTxRVUh5U3K1Rb4eWip+lT7gF7UbFB8NVdp0WDZhmqEXb3lUFFaTm0dhi4v0z4PE7CKm/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G9kys79lyCmih9CHzEt5PZyku/GqRCHvt0SFfV6NNkY=;
 b=h5SQxK/NhHFzUcYIgQhKOC7kSnsHjfdMgSxbr21ipeNPXqPRHSFpoLjK8K08DgR/UmOdYy1EsxeLmzpmIUwygLsZa1Un4J0NYGrgEsFm27yZQ5TYDbm2vWgN4GR8lCG0DnwOvSIr835kwF3u2d25gtKin5A4HF7v2TZhNQdxHSk=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v1 3/9] xen/arm: Always use 'u64' instead of 'paddr_t' for address and size in DT
Date: Thu, 15 Dec 2022 19:32:39 +0000
Message-ID: <20221215193245.48314-4-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E644:EE_|SJ2PR12MB7893:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ec4004c-3db7-466a-8af6-08daded32d1b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uHxLCLMBpxmE3Lmi/Mp2gcDc3qV89S31kjMujfC9gZfGb28PamSI4JBN3tRPgeA3IS9LHrFEEHkR61Ey2e3qEZSWUlrYqOMjwnj7+9MmNuNQBOVUvtU0CIT0UXfd9mzaBRPPuBRusdNUFLm07TYqeo61Ggg4OQBhC8rwkG+0kZaIyyIf1HB6/3VGu8WTEz2iB3S4fwBZ3l2WMmBXC/0/ljrjYGdENclJyvi6NRnYSSPUhN6GsX5DCwR2Qub9VkZ2sWETzxIrAe7k82UY8Dkw2ZSqE0HkskjQOLv0iqM8X27hX28uR5FBX1kfmobNEpPdNMoMwngS/zrPouAkWQSUGuTCflHoalJ5AgQYHoj2EFfWSe/d9neWrIuTO/KCD6dkL6XqN9+tIabEM4K2bD/TusCwl/46yEwlhsZjhQvXTG0YEBQtdkGDZe1XaPJ3eXfLyk+w9xT0MbWsmWt2SQG8HgEPMSMyDLjuWi2YMa6xrbJZSdSH+j/fzgtL1eaKSYKb+u5tzwnKVI5/9LTcXKiBsUytK9VNev7beEl4AovWTPj2v8U8NScfXNTKrVmdm2lcvPpNzNdpH+H+kxk/j8+S0BrKCQE9GQ3yniOfY+dozpPS0xzb968NN0YYUDNIpY0CQgEcAPkyU9J/A8AkUxagU5vdnhwutc73wo6f5zzGyWvuUKaYeKQUSg2DFbNacLAZpGgSI0tGCwwdfzfUYcjKqb7x6kQ94x6joL7OSEs6YMg=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(39860400002)(396003)(346002)(451199015)(36840700001)(40470700004)(46966006)(5660300002)(86362001)(316002)(54906003)(6916009)(8936002)(36860700001)(8676002)(70206006)(82310400005)(41300700001)(36756003)(4326008)(70586007)(6666004)(186003)(47076005)(40460700003)(103116003)(1076003)(2616005)(478600001)(426003)(336012)(83380400001)(2906002)(40480700001)(26005)(356005)(81166007)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 19:33:00.1810
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ec4004c-3db7-466a-8af6-08daded32d1b
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E644.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7893

device_tree_get_reg(), dt_next_cell() uses u64 for address and size.
Thus, the caller needs to be fixed to pass u64 values and then invoke
translate_dt_address_size() to do the translation between u64 and paddr_t.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
 xen/arch/arm/bootfdt.c | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 0085c28d74..835bb5feb9 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -14,6 +14,7 @@
 #include <xen/libfdt/libfdt.h>
 #include <xen/sort.h>
 #include <xsm/xsm.h>
+#include <asm/platform.h>
 #include <asm/setup.h>
 
 static bool __init device_tree_node_matches(const void *fdt, int node,
@@ -68,7 +69,7 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
     unsigned int i, banks;
     const __be32 *cell;
     u32 reg_cells = address_cells + size_cells;
-    paddr_t start, size;
+    u64 start, size;
     struct meminfo *mem = data;
 
     if ( address_cells < 1 || size_cells < 1 )
@@ -219,7 +220,7 @@ static void __init process_multiboot_node(const void *fdt, int node,
     const struct fdt_property *prop;
     const __be32 *cell;
     bootmodule_kind kind;
-    paddr_t start, size;
+    u64 start, size;
     int len;
     /* sizeof("/chosen/") + DT_MAX_NAME + '/' + DT_MAX_NAME + '/0' => 92 */
     char path[92];
@@ -379,7 +380,8 @@ static int __init process_shm_node(const void *fdt, int node,
 {
     const struct fdt_property *prop, *prop_id, *prop_role;
     const __be32 *cell;
-    paddr_t paddr, gaddr, size;
+    paddr_t paddr = 0, gaddr = 0, size = 0;
+    u64 dt_paddr, dt_gaddr, dt_size;
     struct meminfo *mem = &bootinfo.reserved_mem;
     unsigned int i;
     int len;
@@ -443,10 +445,14 @@ static int __init process_shm_node(const void *fdt, int node,
     }
 
     cell = (const __be32 *)prop->data;
-    device_tree_get_reg(&cell, address_cells, address_cells, &paddr, &gaddr);
-    size = dt_next_cell(size_cells, &cell);
+    device_tree_get_reg(&cell, address_cells, address_cells, &dt_paddr,
+                        &dt_gaddr);
+    translate_dt_address_size(&dt_paddr, &dt_gaddr, &paddr, &gaddr);
 
-    if ( !size )
+    dt_size = dt_next_cell(size_cells, &cell);
+    translate_dt_address_size(NULL, &dt_size, NULL, &size);
+
+    if ( !dt_size )
     {
         printk("fdt: the size for static shared memory region can not be zero\n");
         return -EINVAL;
@@ -593,12 +599,12 @@ static void __init early_print_info(void)
     nr_rsvd = fdt_num_mem_rsv(device_tree_flattened);
     for ( i = 0; i < nr_rsvd; i++ )
     {
-        paddr_t s, e;
+        u64 s, e;
         if ( fdt_get_mem_rsv(device_tree_flattened, i, &s, &e) < 0 )
             continue;
         /* fdt_get_mem_rsv returns length */
         e += s;
-        printk(" RESVD[%u]: %"PRIpaddr" - %"PRIpaddr"\n", i, s, e);
+        printk(" RESVD[%u]: %"PRIx64" - %"PRIx64"\n", i, s, e);
     }
     for ( j = 0; j < mem_resv->nr_banks; j++, i++ )
     {
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:33:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:33:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463755.722044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyh-0007XK-W3; Thu, 15 Dec 2022 19:33:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463755.722044; Thu, 15 Dec 2022 19:33:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyh-0007X9-Ry; Thu, 15 Dec 2022 19:33:11 +0000
Received: by outflank-mailman (input) for mailman id 463755;
 Thu, 15 Dec 2022 19:33:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BWk7=4N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p5tyg-0006KU-IG
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 19:33:10 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2080.outbound.protection.outlook.com [40.107.92.80])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4dc8bd46-7caf-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 20:33:09 +0100 (CET)
Received: from DM6PR13CA0068.namprd13.prod.outlook.com (2603:10b6:5:134::45)
 by CH0PR12MB5300.namprd12.prod.outlook.com (2603:10b6:610:d7::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Thu, 15 Dec
 2022 19:33:06 +0000
Received: from DS1PEPF0000E645.namprd02.prod.outlook.com
 (2603:10b6:5:134:cafe::2) by DM6PR13CA0068.outlook.office365.com
 (2603:10b6:5:134::45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 19:33:06 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E645.mail.protection.outlook.com (10.167.17.203) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.8 via Frontend Transport; Thu, 15 Dec 2022 19:33:05 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 13:33:05 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 13:33:03 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4dc8bd46-7caf-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nlM4cxQLfveT1rLygMd3K8Sj3cPltpuN/HPlMjnpts0qqsFkBmBt0Yp+23bh0c8qoP6vey2d7n7a166dOIwC1LkRS1Ly39IHc8fiXDQx+AP4r4XP1135TeinWZ1KeTGBxgKmG46Uv8063CeWB3+ASZfSZxqeWI38XaWKvSm2H/3xI2bmWGQZlKauvo1b6wyUbp4MGSIvSGMD2st5xTYbHa2O0HfKXX0x2H3L4R85bgz5rZr5LJ6acP+fOwCBbBb/ghQV18OMHetEHS0j8DEW3oOlal1RejEpH+m9rp9XkeV2kIj26xRjWKWrO7lXW6qUkv2HfHJRFE01rtWJ0Gjj+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sXUF4c1Lukzt7sJNL7fbo/yzZzcxYKrF0RRegx1oLLY=;
 b=ZwkfA+h49DaLDMWYOlMqzy7whUxpkO2wfK/N04dyYbmyPSmJ/2YzK2Ni6SpO/VTqJky+ZwroJKVRLeGNxX5eSzU+HqtxTs4RKQrR32tWqsg+EetRMe3wCK41FxxhTc14PqIX6f+98y/ZfmU8iY3fzJlta2tqbV/yLMQy4RNgmnmtEbUala9fuHJUdwotjcBxx9AOuSOCTwRL+Hy4Ukn+2AJYRlJ7YvTQ11842rr5v0DChfKGfb5Ntw77Vo0tnd1k1jYkZGrSZavzQ3kGMx7dLNF4g2sC8wnpEa94XFaEgl8yR8W1dFYNhM5YsoJywA4+fFBoSYPoXyL9EWYckJavDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sXUF4c1Lukzt7sJNL7fbo/yzZzcxYKrF0RRegx1oLLY=;
 b=g2ELtZu8gIv2LPXFqAE7F/RPfdjAjDzdzh9XSe/iD9zxxvCsJAXIHqQ49/8HnudsA0gg1dlZqTiwnzfPkXoC0Mqx9GrBx4gRuaH0pK0Ugn2JDvdUMghZdsh0numbeq08k7I24+/Op+nV0n0NG8ZMxcLpUHwcIHqQExSSDcajbsE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v1 5/9] xen/arm: Use 'PRIpaddr' to display 'paddr_t' variable
Date: Thu, 15 Dec 2022 19:32:41 +0000
Message-ID: <20221215193245.48314-6-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E645:EE_|CH0PR12MB5300:EE_
X-MS-Office365-Filtering-Correlation-Id: eb2d1935-5f7d-4a7c-9f4a-08daded33067
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PsCFjAqXsuhOr2cOdhzmxp2ZqI/Zsx0AD7tYk2OldYxnfdff5JmtThzxAS+yMwnYV9zczCkhLDJ5uMivhvEw20hmwVY/BpASKhMef90vY5zTLiW4hjAqTF3ytvPVDEz94XnuPm7OxwwyONCuhmEM7KDGZetUHlwjfKPTlbnIACu/MUobp/H9pxSpWpp3Kao2QGjh14kepN+FJMPDmqDrOwcXWiWGL1NZnGGqBtVdZx8PTrDPxMZp8YjfnJEBFsXIydfm5ujVaGxjF5Lq9YhUPyZiCWyCW5ak7kjGUT52MqDj4IbjSqyU9NxnrUVfV3BM4ZYK+njxkohvDTlGRmGdgBX1fCx1vS3DISF1we4TWIdvr+gBS3UcguRdOgvt6PBVxtGjGQjjaMeu/lt2F1YaxGNFLTwdLZl3OQqIWASHYuCEnfIvoqnZEWsPslAAG4ftCNPBw6JGVMlPirqjizCj1b8973SRWgOZLDihoNHgbsuV4faS7or9iiLk75ASe7SLnhTxCe8SzYYY6nC3sGidVrC+CZybomU/DcW3uDmfa3k8PfsJhNNiBQ9LsPRfzgQoda0nA7zOSrI55dWaGjQ5m9vRV7h5e40SMdjwixBSWvHdPIDD92MRXaJ2OJ8j6aUPHuiHt2hk3ODmlfsaiA0z5uumWsa9RUrxKyYHpOyg8V/0Dw7nd+9OPU3e0eYcixj708gRJmxGdyAwtsb2q4P4CsAJHvRJyyZCZe1kTTRfBtM=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(136003)(39860400002)(346002)(451199015)(46966006)(40470700004)(36840700001)(36756003)(82310400005)(8676002)(86362001)(2906002)(26005)(336012)(186003)(40480700001)(478600001)(41300700001)(2616005)(4326008)(70586007)(1076003)(103116003)(5660300002)(426003)(47076005)(8936002)(83380400001)(40460700003)(70206006)(6916009)(6666004)(54906003)(316002)(81166007)(82740400003)(36860700001)(356005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 19:33:05.7128
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eb2d1935-5f7d-4a7c-9f4a-08daded33067
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E645.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5300

One should use 'PRIpaddr' to display 'paddr_t' variables.
This may either be PRIx32 or PRIx64 depending of the type of architecture.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
 xen/arch/arm/domain_build.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 1bb97cd337..c537514a52 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1325,7 +1325,7 @@ static int __init make_memory_node(const struct domain *d,
     dt_dprintk("Create memory node\n");
 
     /* ePAPR 3.4 */
-    snprintf(buf, sizeof(buf), "memory@%"PRIx64, mem->bank[i].start);
+    snprintf(buf, sizeof(buf), "memory@%"PRIpaddr, mem->bank[i].start);
     res = fdt_begin_node(fdt, buf);
     if ( res )
         return res;
@@ -1393,7 +1393,7 @@ static int __init make_shm_memory_node(const struct domain *d,
         __be32 *cells;
         unsigned int len = (addrcells + sizecells) * sizeof(__be32);
 
-        snprintf(buf, sizeof(buf), "xen-shmem@%"PRIx64, mem->bank[i].start);
+        snprintf(buf, sizeof(buf), "xen-shmem@%"PRIpaddr, mem->bank[i].start);
         res = fdt_begin_node(fdt, buf);
         if ( res )
             return res;
@@ -2739,7 +2739,7 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
     /* Placeholder for interrupt-controller@ + a 64-bit number + \0 */
     char buf[38];
 
-    snprintf(buf, sizeof(buf), "interrupt-controller@%"PRIx64,
+    snprintf(buf, sizeof(buf), "interrupt-controller@%"PRIpaddr,
              vgic_dist_base(&d->arch.vgic));
     res = fdt_begin_node(fdt, buf);
     if ( res )
@@ -2795,7 +2795,7 @@ static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
     char buf[38];
     unsigned int i, len = 0;
 
-    snprintf(buf, sizeof(buf), "interrupt-controller@%"PRIx64,
+    snprintf(buf, sizeof(buf), "interrupt-controller@%"PRIpaddr,
              vgic_dist_base(&d->arch.vgic));
 
     res = fdt_begin_node(fdt, buf);
@@ -2881,7 +2881,7 @@ static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
     /* Placeholder for sbsa-uart@ + a 64-bit number + \0 */
     char buf[27];
 
-    snprintf(buf, sizeof(buf), "sbsa-uart@%"PRIx64, d->arch.vpl011.base_addr);
+    snprintf(buf, sizeof(buf), "sbsa-uart@%"PRIpaddr, d->arch.vpl011.base_addr);
     res = fdt_begin_node(fdt, buf);
     if ( res )
         return res;
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:33:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:33:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463757.722054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyl-0007sh-6N; Thu, 15 Dec 2022 19:33:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463757.722054; Thu, 15 Dec 2022 19:33:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyl-0007sY-3D; Thu, 15 Dec 2022 19:33:15 +0000
Received: by outflank-mailman (input) for mailman id 463757;
 Thu, 15 Dec 2022 19:33:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BWk7=4N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p5tyj-0006KU-Dg
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 19:33:13 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2088.outbound.protection.outlook.com [40.107.244.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f6c91e9-7caf-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 20:33:12 +0100 (CET)
Received: from DM6PR06CA0089.namprd06.prod.outlook.com (2603:10b6:5:336::22)
 by IA0PR12MB7700.namprd12.prod.outlook.com (2603:10b6:208:430::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Thu, 15 Dec
 2022 19:33:08 +0000
Received: from DM6NAM11FT115.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:336:cafe::c6) by DM6PR06CA0089.outlook.office365.com
 (2603:10b6:5:336::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 19:33:08 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT115.mail.protection.outlook.com (10.13.173.33) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 19:33:08 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 13:33:08 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 11:33:07 -0800
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 13:33:06 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f6c91e9-7caf-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l2CbNcTkHHroQ412Y+DjHJ6ZfeiaVQOwgLAwOX4xgS8Dmfmu8/Q1M21nbRu/s6iDO4b96LFspdflhc5esq0G4Nl1XMZqb2lrH1G9chlxf0bVM7gO/7CUJAl5Rb7HvopnK5b4jVCboKv7vWSpRhac+D24FAtc5Tyjr/AqESll6zDtJQJDftPYDHpTon0Sw5ouC77y/SjVTVGRE2KWTuoN9sfxxsbFyAy9YPIJsFkLle20qEayJp63dsaClaDODI67zJpmLx/bKoJlkNDhn0sXU2nMPjkhERoY0+9RxGDFoOPWYpsa4xhUBUhetFb3bTM8UoPxw1II+EOctub6WaySrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0qkW8svLr8Mc6M3M8zGUIB1kFr46uVAUu0xQ2OTvK9k=;
 b=BAg95cLIQ9esNbRE1aG3NPfzeI4g73hP6A1yyjAYq3QgoJrYJHQjb4BuOL1IMNlOUdmnvkCSbb28VCUYtBjryfoNFRknvvXVwulgw3FnbBzSSg/5RXhT15kEr5TqqMuyW8zoDxQjTYMhaO7J2hsCQzg3ZhjJGSVzUBW0rrQnw1lAPUes+vRnt6VdpX4LdO0PvgwPWi2uLg49vuCqXGmyNYYAcWQe+c1y9WnwysOt8UWVxUod8gw4w58fghVIJk4iKnM7koYWRQkQfTeMJObSV2Fq5ZEa7qbJpTX8d2AV2cy5fS4SCrOH4zC8i5YwMuQKgEMrHeOIMl0mDTQ2AMFyzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0qkW8svLr8Mc6M3M8zGUIB1kFr46uVAUu0xQ2OTvK9k=;
 b=Aj12EsXrQGmXuWjeBblO/d2GGA0yHwyHwFyDyXHwVZQU2v+jApo9kUGOCwAJWTMQRxZp+BG5vEAY+5uLchYzK4I5fYtcfncUVzVDFQt5cyAUkDG4sD0OEfGDjyNTC0EPH38iGwX2bS99eLueTiGDFo5m91bG0uGcfh3bNWhIVnI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v1 6/9] xen/arm: Use 'u64' to represent 'unsigned long long'
Date: Thu, 15 Dec 2022 19:32:42 +0000
Message-ID: <20221215193245.48314-7-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT115:EE_|IA0PR12MB7700:EE_
X-MS-Office365-Filtering-Correlation-Id: b9dc1ff5-ce67-438d-fa59-08daded33216
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hcI8wzITBlIYSsQbueLKolg6oqmYV27f0+Sr74em5i1+1P5cKtAOmjznWtO1EftXHZxKq/FiXce7TLTdaDCiPpaM+AVf+iubHSV6mO5j9f/O3OgpHwT/zmXpPN/YHzci0S+mRu1prf7WyEf2Hh0MK+ARpcVfSz5CMb5aEzvPsiY5K7C+ADHxyCC0V/boFIBX6nFnPiJZ1ZLa6rMsLd7BzcDvgY9RJn6JGMRbLJ5ZtCETcwxjD7TM5FiiJk5UXBCdU2svo+Q6dhCpqRK4De3rJf3fcalhrCzYNQ07ZdmTbR53AEL4tJ6D3DC6cazlk+SAekY6LUVj4xZo1ZmE+EYqFVTdwqPwtCEZRJIc4B435C0Ea17U5qqIGI7vumbVPHS22PHWIVudPqu9yULKXXPu702MyZypOR08TBpL10+zFPjF0LcX4yxDG04gSFlT3Wij/+a4yDe63VY+B6Jq50p3t4uEcPqHDBaEKzjdJCgWuM39xu8r6jSBgN+bCilEcph6YXciSPnz6iVTnj6hE2O+fUBLCSdWirx6SkHU+s92SHEYxWrB8FTewFnPbDEtjcrsjoIty9UcWRvZatJajKuQVWsNb9O0ozZBBi/n1YiBabUefJE7ax58/PwMYl0mQ+kEM0PNmy5A/mQ51PBDa/0V1JAhe/0aS67Xr+c41hnltNxytOLm1iRtCM0gU8/5hBVIVvqZ+6OteQ/x7xYHR12lIXLeVFBISVkFw0/2xqA/nmvNU6J0iGzDfdI6YEDCb7HjzWDelFgwKGpPoxYAuPv+7Q==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(39860400002)(376002)(346002)(451199015)(46966006)(40470700004)(36840700001)(82310400005)(36756003)(2906002)(26005)(8676002)(70586007)(186003)(40480700001)(70206006)(41300700001)(478600001)(336012)(2616005)(86362001)(1076003)(103116003)(4326008)(47076005)(426003)(8936002)(83380400001)(40460700003)(5660300002)(4744005)(6666004)(6916009)(54906003)(316002)(36860700001)(82740400003)(81166007)(356005)(223183001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 19:33:08.5397
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b9dc1ff5-ce67-438d-fa59-08daded33216
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT115.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7700

bankbase, banksize and bankend are used to hold values of type
'unsigned long long'. Thus, one should use 'u64' instead of 'paddr_t'
(which may be either u64 or u32 depending on the architecture).

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
 xen/arch/arm/domain_build.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index c537514a52..e968b9812d 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1741,9 +1741,9 @@ static int __init find_domU_holes(const struct kernel_info *kinfo,
                                   struct meminfo *ext_regions)
 {
     unsigned int i;
-    paddr_t bankend;
-    const paddr_t bankbase[] = GUEST_RAM_BANK_BASES;
-    const paddr_t banksize[] = GUEST_RAM_BANK_SIZES;
+    uint64_t bankend;
+    const uint64_t bankbase[] = GUEST_RAM_BANK_BASES;
+    const uint64_t banksize[] = GUEST_RAM_BANK_SIZES;
     int res = -ENOENT;
 
     for ( i = 0; i < GUEST_RAM_BANKS; i++ )
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:33:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:33:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463759.722060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyl-0007xF-MV; Thu, 15 Dec 2022 19:33:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463759.722060; Thu, 15 Dec 2022 19:33:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyl-0007w9-GA; Thu, 15 Dec 2022 19:33:15 +0000
Received: by outflank-mailman (input) for mailman id 463759;
 Thu, 15 Dec 2022 19:33:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BWk7=4N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p5tyj-0006TA-B8
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 19:33:13 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4f119a06-7caf-11ed-91b6-6bf2151ebd3b;
 Thu, 15 Dec 2022 20:33:11 +0100 (CET)
Received: from DS7PR07CA0002.namprd07.prod.outlook.com (2603:10b6:5:3af::8) by
 PH7PR12MB7114.namprd12.prod.outlook.com (2603:10b6:510:1ed::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Thu, 15 Dec
 2022 19:33:03 +0000
Received: from DS1PEPF0000E643.namprd02.prod.outlook.com
 (2603:10b6:5:3af:cafe::47) by DS7PR07CA0002.outlook.office365.com
 (2603:10b6:5:3af::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 19:33:03 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E643.mail.protection.outlook.com (10.167.17.197) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.9 via Frontend Transport; Thu, 15 Dec 2022 19:33:02 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 13:33:02 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 13:33:00 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f119a06-7caf-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CPdZ4UkMmYS5sUcEaqXlQcnWyo/WJ+0ZzaN0WO9gqEGPKO0y3QBuwME47DRLbl9JAbVnRUaPTpCsnIQUhOgd6x+uUw1NT4Iclh7oNJhn7Vm4LO++XnFtls8ur3ReFGLI5Z1clP6Rmc1t9eWP4UtDg3cRV6GbUZmG9d86lKNyA5pzPCpEEWYXos1bT5fC9r74WbWNHhgghPMeI0DZkerhJNwA6h7bR0N6F4yQo1nzU6iMOFbD4w22zlN4Xkv4UbFh2gAzodtBih3cxSA15W9/5DlPORQ13iUlcBiB60WBSM9k06c4UAQJE1Wi9gN7AujIj0Ccu5pAy9iuVTJmMpXGAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oaXeNokVYikPWQ+48atbArgrq9FL4V+lmPnnn5AbXy4=;
 b=EpspYiZ+6ozUYdzav38A6pEuDR29mAaZ1Ft0Vw+62jidCSxW9vwDcXkO4g0Y27YTv3wUsHu3St4pNzsjfGYo05tb8HspZZuPsCxxirGSWh2hw1xBjjzU/dkn2QKulaZOYr5Arn0QGr8W6lwsGJWNER6Kbyw6vx3wXLmXl1VNqXHIb6oD6NT/oKjAybn5pb+VhDXzKilLneR7/AGULBfyyIditfT52+tlZRjDdsEJ04YXsClL9pwbnYHeDL0cU2jOUbS4DGsz18VoRKMiO3/jjBEJP3yfMx27aMmGCpeqvltaJr8SIubrwz72zsC5SFiV8+nqMeyFYjhBbRnb2zpPzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oaXeNokVYikPWQ+48atbArgrq9FL4V+lmPnnn5AbXy4=;
 b=xIZniVUfXSF8680cz9rS6cN6UrBNK40EZgsgUNAb3+PAw5gxMOuqyl44z9h4ALnwC5eTHbLTyfP2N8MHqtEKpShknjAtuAlf4//Ap4oZb6muYuPt42WX1C65Wgf7mZPAkiXvTlo9hILHDlGXNqT0n+R4ncvbIMPyoNVJ3bwPt20=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v1 4/9] xen/arm: Use translate_dt_address_size() to translate between device tree addr/size and paddr_t
Date: Thu, 15 Dec 2022 19:32:40 +0000
Message-ID: <20221215193245.48314-5-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E643:EE_|PH7PR12MB7114:EE_
X-MS-Office365-Filtering-Correlation-Id: 5e8fdf33-8414-48f0-6447-08daded32eb4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+F+nbp6sTV/fr5/bbqSHB4CnBXdsMrXrUG3FtwoOiicVx5FIG/ro5XJAhQxE1YEB5vnOFB82UgB0rUniKuPVoBVQwiiJ9WyPNRplNKylPkKgkfDvWQw59uEjfqb1/9DtbMtcRV1yJVeOb5phUoPUH80RjzR9YZz9YbOrQaxYSKJraAfVKhAyjVuAdw0prmNXKkdof91jjGg4sTIZuY3JU4eB0VA1+5Vq1h+1hIcD0THJ2C99Kumwgrr7fySgHpkD+qS2e4qzarVqIEVGui5nTk+9U7NiYM+3ifs+1laMNiRaxiV0+QwtZwMCrhzqG/Qif/Ra8zByCAk86CVBbOh6XHM9qLLjezoKj+kVd6vfKIwOePUNU80mXT54fOChpGyHvCahh5DeapwTTWXtJKLqcnMKjOkEnJv+c3lRhT3UA4XuOjRtVuzvd3aZ6hC6eMRGM5sjE2ls9l54uDubCJG7i+tOhnk/QsxaAqpegclIaiGaDa6BLuMcihXO20SwjfLpKKvcCDeL1rUhGjTjZyhgmNfzKbTq7/Xoy4GHeW0c4fXwk+pWsDY4xVCTrBWDq3E+YgcDT4gF1JVcJMSzO4SpMElnxi/ZD7cGBDHrnnf+pW0qT8lvHt0A44RLUZ35vYyWFjtWMhpdEfTK8v1OHnpd/ijC4RzZeJq9OSnK1suR5pwlzUm6UVin3VcojbS0FyiCl28WoT1ObbvxEvoV66dYD0TJiUeylbtHHzZLwfRzo2o=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(39860400002)(136003)(376002)(396003)(451199015)(40470700004)(36840700001)(46966006)(82310400005)(478600001)(8936002)(30864003)(2616005)(83380400001)(81166007)(41300700001)(70206006)(8676002)(86362001)(70586007)(1076003)(26005)(426003)(5660300002)(36756003)(47076005)(82740400003)(4326008)(356005)(186003)(40460700003)(336012)(36860700001)(6666004)(40480700001)(6916009)(316002)(103116003)(2906002)(54906003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 19:33:02.8605
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e8fdf33-8414-48f0-6447-08daded32eb4
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E643.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7114

dt_device_get_address() will return address and size which are always 'u64'.
One should use translate_dt_address_size() to translate address and size to
'paddr_t'.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
 xen/arch/arm/domain_build.c        | 53 +++++++++++++++++++++++-------
 xen/arch/arm/gic-v2.c              | 39 +++++++++++++++++-----
 xen/arch/arm/gic-v3.c              | 33 ++++++++++++++++---
 xen/arch/arm/platforms/brcm.c      |  9 +++--
 xen/arch/arm/platforms/exynos5.c   | 48 ++++++++++++++++++---------
 xen/arch/arm/platforms/sunxi.c     | 11 ++++++-
 xen/arch/arm/setup.c               | 18 ++++++++--
 xen/drivers/char/exynos4210-uart.c | 10 ++++--
 xen/drivers/char/ns16550.c         | 13 ++++++--
 xen/drivers/char/omap-uart.c       | 10 ++++--
 xen/drivers/char/pl011.c           | 10 ++++--
 xen/drivers/char/scif-uart.c       | 10 ++++--
 xen/drivers/passthrough/arm/smmu.c | 13 +++++---
 xen/include/xen/serial.h           |  2 +-
 14 files changed, 218 insertions(+), 61 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index bef5e905a7..1bb97cd337 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -537,8 +537,11 @@ static mfn_t __init acquire_static_memory_bank(struct domain *d,
 {
     mfn_t smfn;
     int res;
+    u64 dt_pbase, dt_psize;
+
+    device_tree_get_reg(cell, addr_cells, size_cells, &dt_pbase, &dt_psize);
+    res = translate_dt_address_size(&dt_pbase, &dt_psize, pbase, psize);
 
-    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
     ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
     if ( PFN_DOWN(*psize) > UINT_MAX )
     {
@@ -929,7 +932,8 @@ static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
         const struct dt_property *prop;
         const __be32 *cells;
         uint32_t addr_cells, size_cells;
-        paddr_t gbase, pbase, psize;
+        u64 dt_gbase = 0, dt_pbase = 0, dt_psize = 0;
+        paddr_t gbase = 0, pbase = 0, psize = 0;
         int ret = 0;
         unsigned int i;
         const char *role_str;
@@ -948,8 +952,14 @@ static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
         prop = dt_find_property(shm_node, "xen,shared-mem", NULL);
         BUG_ON(!prop);
         cells = (const __be32 *)prop->value;
-        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
-        psize = dt_read_number(cells, size_cells);
+        device_tree_get_reg(&cells, addr_cells, addr_cells, &dt_pbase, &dt_gbase);
+        ret = translate_dt_address_size(&dt_pbase, &dt_gbase, &pbase, &gbase);
+        if ( ret )
+            return ret;
+
+        dt_psize = dt_read_number(cells, size_cells);
+        ret = translate_dt_address_size(NULL, &dt_psize, NULL, &psize);
+
         if ( !IS_ALIGNED(pbase, PAGE_SIZE) || !IS_ALIGNED(gbase, PAGE_SIZE) )
         {
             printk("%pd: physical address 0x%"PRIpaddr", or guest address 0x%"PRIpaddr" is not suitably aligned.\n",
@@ -1666,13 +1676,14 @@ static int __init find_memory_holes(const struct kernel_info *kinfo,
     dt_for_each_device_node( dt_host, np )
     {
         unsigned int naddr;
-        u64 addr, size;
+        paddr_t addr, size;
+        u64 dt_addr, dt_size;
 
         naddr = dt_number_of_address(np);
 
         for ( i = 0; i < naddr; i++ )
         {
-            res = dt_device_get_address(np, i, &addr, &size);
+            res = dt_device_get_address(np, i, &dt_addr, &dt_size);
             if ( res )
             {
                 printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
@@ -1680,6 +1691,10 @@ static int __init find_memory_holes(const struct kernel_info *kinfo,
                 goto out;
             }
 
+            res = translate_dt_address_size(&dt_addr, &dt_size, &addr, &size);
+            if ( res )
+                return res;
+
             start = addr & PAGE_MASK;
             end = PAGE_ALIGN(addr + size);
             res = rangeset_remove_range(mem_holes, start, end - 1);
@@ -2445,7 +2460,8 @@ static int __init handle_device(struct domain *d, struct dt_device_node *dev,
     unsigned int naddr;
     unsigned int i;
     int res;
-    u64 addr, size;
+    paddr_t addr, size;
+    u64 dt_addr, dt_size;
     bool own_device = !dt_device_for_passthrough(dev);
     /*
      * We want to avoid mapping the MMIO in dom0 for the following cases:
@@ -2500,7 +2516,7 @@ static int __init handle_device(struct domain *d, struct dt_device_node *dev,
     /* Give permission and map MMIOs */
     for ( i = 0; i < naddr; i++ )
     {
-        res = dt_device_get_address(dev, i, &addr, &size);
+        res = dt_device_get_address(dev, i, &dt_addr, &dt_size);
         if ( res )
         {
             printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
@@ -2508,6 +2524,10 @@ static int __init handle_device(struct domain *d, struct dt_device_node *dev,
             return res;
         }
 
+        res = translate_dt_address_size(&dt_addr, &dt_size, &addr, &size);
+        if ( res )
+            return res;
+
         res = map_range_to_domain(dev, addr, size, &mr_data);
         if ( res )
             return res;
@@ -2917,6 +2937,7 @@ static int __init handle_passthrough_prop(struct kernel_info *kinfo,
     struct dt_device_node *node;
     int res;
     paddr_t mstart, size, gstart;
+    u64 dt_mstart, dt_size, dt_gstart;
 
     /* xen,reg specifies where to map the MMIO region */
     cell = (const __be32 *)xen_reg->data;
@@ -2926,8 +2947,15 @@ static int __init handle_passthrough_prop(struct kernel_info *kinfo,
     for ( i = 0; i < len; i++ )
     {
         device_tree_get_reg(&cell, address_cells, size_cells,
-                            &mstart, &size);
-        gstart = dt_next_cell(address_cells, &cell);
+                            &dt_mstart, &dt_size);
+        res = translate_dt_address_size(&dt_mstart, &dt_size, &mstart, &size);
+        if ( res )
+            return res;
+
+        dt_gstart = dt_next_cell(address_cells, &cell);
+        res = translate_dt_address_size(&dt_gstart, NULL, &gstart, NULL);
+        if ( res )
+            return res;
 
         if ( gstart & ~PAGE_MASK || mstart & ~PAGE_MASK || size & ~PAGE_MASK )
         {
@@ -2941,9 +2969,10 @@ static int __init handle_passthrough_prop(struct kernel_info *kinfo,
         if ( res )
         {
             printk(XENLOG_ERR "Unable to permit to dom%d access to"
-                   " 0x%"PRIx64" - 0x%"PRIx64"\n",
+                   " 0x%"PRIpaddr" - 0x%"PRIpaddr"\n",
                    kinfo->d->domain_id,
-                   mstart & PAGE_MASK, PAGE_ALIGN(mstart + size) - 1);
+                   (paddr_t) (mstart & PAGE_MASK),
+                   (paddr_t) (PAGE_ALIGN(mstart + size) - 1));
             return res;
         }
 
diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
index 61802839cb..72de0707ed 100644
--- a/xen/arch/arm/gic-v2.c
+++ b/xen/arch/arm/gic-v2.c
@@ -979,6 +979,7 @@ static void gicv2_add_v2m_frame_to_list(paddr_t addr, paddr_t size,
 static void gicv2_extension_dt_init(const struct dt_device_node *node)
 {
     const struct dt_device_node *v2m = NULL;
+    int res;
 
     /*
      * Check whether this GIC implements the v2m extension. If so,
@@ -987,13 +988,18 @@ static void gicv2_extension_dt_init(const struct dt_device_node *node)
     dt_for_each_child_node(node, v2m)
     {
         u32 spi_start = 0, nr_spis = 0;
+        u64 dt_addr, dt_size;
         paddr_t addr, size;
 
         if ( !dt_device_is_compatible(v2m, "arm,gic-v2m-frame") )
             continue;
 
         /* Get register frame resource from DT. */
-        if ( dt_device_get_address(v2m, 0, &addr, &size) )
+        if ( dt_device_get_address(v2m, 0, &dt_addr, &dt_size) )
+            panic("GICv2: Cannot find a valid v2m frame address\n");
+
+        res = translate_dt_address_size(&dt_addr, &dt_size, &addr, &size);
+        if ( res )
             panic("GICv2: Cannot find a valid v2m frame address\n");
 
         /*
@@ -1017,20 +1023,37 @@ static void __init gicv2_dt_init(void)
     int res;
     paddr_t vsize;
     const struct dt_device_node *node = gicv2_info.node;
+    u64 dt_hbase, dt_dbase, dt_cbase, dt_csize, dt_vbase, dt_vsize;
 
-    res = dt_device_get_address(node, 0, &dbase, NULL);
+    res = dt_device_get_address(node, 0, &dt_dbase, NULL);
     if ( res )
         panic("GICv2: Cannot find a valid address for the distributor\n");
 
-    res = dt_device_get_address(node, 1, &cbase, &csize);
+    res = translate_dt_address_size(&dt_dbase, NULL, &dbase, NULL);
+    if ( res )
+        panic("GICv2: Cannot find a valid address for the distributor\n");
+
+    res = dt_device_get_address(node, 1, &dt_cbase, &dt_csize);
+    if ( res )
+        panic("GICv2: Cannot find a valid address for the CPU\n");
+
+    res = translate_dt_address_size(&dt_cbase, &dt_csize, &cbase, &csize);
     if ( res )
         panic("GICv2: Cannot find a valid address for the CPU\n");
 
-    res = dt_device_get_address(node, 2, &hbase, NULL);
+    res = dt_device_get_address(node, 2, &dt_hbase, NULL);
+    if ( res )
+        panic("GICv2: Cannot find a valid address for the hypervisor\n");
+
+    res = translate_dt_address_size(&dt_hbase, NULL, &hbase, NULL);
     if ( res )
         panic("GICv2: Cannot find a valid address for the hypervisor\n");
 
-    res = dt_device_get_address(node, 3, &vbase, &vsize);
+    res = dt_device_get_address(node, 3, &dt_vbase, &dt_vsize);
+    if ( res )
+        panic("GICv2: Cannot find a valid address for the virtual CPU\n");
+
+    res = translate_dt_address_size(&dt_vbase, &dt_vsize, &vbase, &vsize);
     if ( res )
         panic("GICv2: Cannot find a valid address for the virtual CPU\n");
 
@@ -1049,7 +1072,7 @@ static void __init gicv2_dt_init(void)
     if ( csize < SZ_8K )
     {
         printk(XENLOG_WARNING "GICv2: WARNING: "
-               "The GICC size is too small: %#"PRIx64" expected %#x\n",
+               "The GICC size is too small: %#"PRIpaddr" expected %#x\n",
                csize, SZ_8K);
         if ( platform_has_quirk(PLATFORM_QUIRK_GIC_64K_STRIDE) )
         {
@@ -1280,11 +1303,11 @@ static int __init gicv2_init(void)
         gicv2.map_cbase += aliased_offset;
 
         printk(XENLOG_WARNING
-               "GICv2: Adjusting CPU interface base to %#"PRIx64"\n",
+               "GICv2: Adjusting CPU interface base to %#"PRIpaddr"\n",
                cbase + aliased_offset);
     } else if ( csize == SZ_128K )
         printk(XENLOG_WARNING
-               "GICv2: GICC size=%#"PRIx64" but not aliased\n",
+               "GICv2: GICC size=%#"PRIpaddr" but not aliased\n",
                csize);
 
     gicv2.map_hbase = ioremap_nocache(hbase, PAGE_SIZE);
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index bb59ea94cd..db64009483 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -33,6 +33,7 @@
 #include <asm/gic_v3_defs.h>
 #include <asm/gic_v3_its.h>
 #include <asm/io.h>
+#include <asm/platform.h>
 #include <asm/sysregs.h>
 
 /* Global state */
@@ -1376,8 +1377,14 @@ static void __init gicv3_dt_init(void)
     struct rdist_region *rdist_regs;
     int res, i;
     const struct dt_device_node *node = gicv3_info.node;
+    u64 dt_dbase, dt_rdist_base, dt_rdist_size, dt_cbase, dt_csize, dt_vbase,
+    dt_vsize;
 
-    res = dt_device_get_address(node, 0, &dbase, NULL);
+    res = dt_device_get_address(node, 0, &dt_dbase, NULL);
+    if ( res )
+        panic("GICv3: Cannot find a valid distributor address\n");
+
+    res = translate_dt_address_size(&dt_dbase, NULL, &dbase, NULL);
     if ( res )
         panic("GICv3: Cannot find a valid distributor address\n");
 
@@ -1393,9 +1400,15 @@ static void __init gicv3_dt_init(void)
 
     for ( i = 0; i < gicv3.rdist_count; i++ )
     {
-        uint64_t rdist_base, rdist_size;
+        paddr_t rdist_base, rdist_size;
+
+        res = dt_device_get_address(node, 1 + i, &dt_rdist_base,
+                                    &dt_rdist_size);
+        if ( res )
+            panic("GICv3: No rdist base found for region %d\n", i);
 
-        res = dt_device_get_address(node, 1 + i, &rdist_base, &rdist_size);
+        res = translate_dt_address_size(&dt_rdist_base, &dt_rdist_size,
+                                        &rdist_base, &rdist_size);
         if ( res )
             panic("GICv3: No rdist base found for region %d\n", i);
 
@@ -1418,10 +1431,20 @@ static void __init gicv3_dt_init(void)
      * provided.
      */
     res = dt_device_get_address(node, 1 + gicv3.rdist_count,
-                                &cbase, &csize);
+                                &dt_cbase, &dt_csize);
     if ( !res )
+    {
         dt_device_get_address(node, 1 + gicv3.rdist_count + 2,
-                              &vbase, &vsize);
+                              &dt_vbase, &dt_vsize);
+
+        res = translate_dt_address_size(&dt_vbase, &dt_vsize, &vbase, &vsize);
+        if ( res )
+            panic("GICv3: Invalid vbase/vsize provided\n");
+    }
+
+    res = translate_dt_address_size(&dt_cbase, &dt_csize, &cbase, &csize);
+    if ( res )
+        panic("GICv3: Invalid cbase / csize provided\n");
 }
 
 static int gicv3_iomem_deny_access(struct domain *d)
diff --git a/xen/arch/arm/platforms/brcm.c b/xen/arch/arm/platforms/brcm.c
index d481b2c60f..3e208a060d 100644
--- a/xen/arch/arm/platforms/brcm.c
+++ b/xen/arch/arm/platforms/brcm.c
@@ -40,7 +40,8 @@ static __init int brcm_get_dt_node(char *compat_str,
                                    u32 *reg_base)
 {
     const struct dt_device_node *node;
-    u64 reg_base_64;
+    paddr_t reg_base_64;
+    u64 dt_reg_base_64;
     int rc;
 
     node = dt_find_compatible_node(NULL, NULL, compat_str);
@@ -50,13 +51,17 @@ static __init int brcm_get_dt_node(char *compat_str,
         return -ENOENT;
     }
 
-    rc = dt_device_get_address(node, 0, &reg_base_64, NULL);
+    rc = dt_device_get_address(node, 0, &dt_reg_base_64, NULL);
     if ( rc )
     {
         dprintk(XENLOG_ERR, "%s: missing \"reg\" prop\n", __func__);
         return rc;
     }
 
+    rc = translate_dt_address_size(&dt_reg_base_64, NULL, &reg_base_64, NULL);
+    if ( rc )
+        return rc;
+
     if ( dn )
         *dn = node;
 
diff --git a/xen/arch/arm/platforms/exynos5.c b/xen/arch/arm/platforms/exynos5.c
index 6560507092..a3fcab92ac 100644
--- a/xen/arch/arm/platforms/exynos5.c
+++ b/xen/arch/arm/platforms/exynos5.c
@@ -42,8 +42,9 @@ static int exynos5_init_time(void)
     void __iomem *mct;
     int rc;
     struct dt_device_node *node;
-    u64 mct_base_addr;
-    u64 size;
+    paddr_t mct_base_addr;
+    paddr_t size;
+    u64 dt_mct_base_addr, dt_size;
 
     node = dt_find_compatible_node(NULL, NULL, "samsung,exynos4210-mct");
     if ( !node )
@@ -52,14 +53,19 @@ static int exynos5_init_time(void)
         return -ENXIO;
     }
 
-    rc = dt_device_get_address(node, 0, &mct_base_addr, &size);
+    rc = dt_device_get_address(node, 0, &dt_mct_base_addr, &dt_size);
     if ( rc )
     {
         dprintk(XENLOG_ERR, "Error in \"samsung,exynos4210-mct\"\n");
         return -ENXIO;
     }
 
-    dprintk(XENLOG_INFO, "mct_base_addr: %016llx size: %016llx\n",
+    rc = translate_dt_address_size(&dt_mct_base_addr, &dt_size, &mct_base_addr,
+                                   &size);
+    if ( rc )
+        return rc;
+
+    dprintk(XENLOG_INFO, "mct_base_addr: 0x%"PRIpaddr" size: 0x%"PRIpaddr"\n",
             mct_base_addr, size);
 
     mct = ioremap_nocache(mct_base_addr, size);
@@ -97,8 +103,9 @@ static int __init exynos5_smp_init(void)
     struct dt_device_node *node;
     void __iomem *sysram;
     char *compatible;
-    u64 sysram_addr;
-    u64 size;
+    u64 dt_sysram_addr, dt_size;
+    paddr_t sysram_addr;
+    paddr_t size;
     u64 sysram_offset;
     int rc;
 
@@ -125,13 +132,18 @@ static int __init exynos5_smp_init(void)
         return -ENXIO;
     }
 
-    rc = dt_device_get_address(node, 0, &sysram_addr, &size);
+    rc = dt_device_get_address(node, 0, &dt_sysram_addr, &dt_size);
     if ( rc )
     {
         dprintk(XENLOG_ERR, "Error in %s\n", compatible);
         return -ENXIO;
     }
-    dprintk(XENLOG_INFO, "sysram_addr: %016llx size: %016llx offset: %016llx\n",
+
+    rc = translate_dt_address_size(&dt_sysram_addr, &dt_size, &sysram_addr, &size);
+    if ( rc )
+        return rc;
+
+    dprintk(XENLOG_INFO, "sysram_addr: 0x%"PRIpaddr" size: 0x%"PRIpaddr" offset: %016llx\n",
             sysram_addr, size, sysram_offset);
 
     sysram = ioremap_nocache(sysram_addr, size);
@@ -189,10 +201,11 @@ static int exynos5_cpu_power_up(void __iomem *power, int cpu)
     return 0;
 }
 
-static int exynos5_get_pmu_baseandsize(u64 *power_base_addr, u64 *size)
+static int exynos5_get_pmu_baseandsize(paddr_t *power_base_addr, paddr_t *size)
 {
     struct dt_device_node *node;
     int rc;
+    u64 dt_power_base_addr, dt_size;
     static const struct dt_device_match exynos_dt_pmu_matches[] =
     {
         DT_MATCH_COMPATIBLE("samsung,exynos5250-pmu"),
@@ -208,14 +221,19 @@ static int exynos5_get_pmu_baseandsize(u64 *power_base_addr, u64 *size)
         return -ENXIO;
     }
 
-    rc = dt_device_get_address(node, 0, power_base_addr, size);
+    rc = dt_device_get_address(node, 0, &dt_power_base_addr, &dt_size);
     if ( rc )
     {
         dprintk(XENLOG_ERR, "Error in \"samsung,exynos5XXX-pmu\"\n");
         return -ENXIO;
     }
 
-    dprintk(XENLOG_DEBUG, "power_base_addr: %016llx size: %016llx\n",
+    rc = translate_dt_address_size(&dt_power_base_addr, &dt_size,
+                                   power_base_addr, size);
+    if ( rc )
+        return rc;
+
+    dprintk(XENLOG_DEBUG, "power_base_addr: 0x%"PRIpaddr" size: 0x%"PRIpaddr"\n",
             *power_base_addr, *size);
 
     return 0;
@@ -223,8 +241,8 @@ static int exynos5_get_pmu_baseandsize(u64 *power_base_addr, u64 *size)
 
 static int exynos5_cpu_up(int cpu)
 {
-    u64 power_base_addr;
-    u64 size;
+    paddr_t power_base_addr;
+    paddr_t size;
     void __iomem *power;
     int rc;
 
@@ -256,8 +274,8 @@ static int exynos5_cpu_up(int cpu)
 
 static void exynos5_reset(void)
 {
-    u64 power_base_addr;
-    u64 size;
+    paddr_t power_base_addr;
+    paddr_t size;
     void __iomem *pmu;
     int rc;
 
diff --git a/xen/arch/arm/platforms/sunxi.c b/xen/arch/arm/platforms/sunxi.c
index e8e4d88bef..7027170b68 100644
--- a/xen/arch/arm/platforms/sunxi.c
+++ b/xen/arch/arm/platforms/sunxi.c
@@ -34,6 +34,7 @@ static void __iomem *sunxi_map_watchdog(bool *new_wdt)
 {
     void __iomem *wdt;
     struct dt_device_node *node;
+    u64 dt_wdt_start, dt_wdt_len;
     paddr_t wdt_start, wdt_len;
     bool _new_wdt = false;
     int ret;
@@ -50,7 +51,15 @@ static void __iomem *sunxi_map_watchdog(bool *new_wdt)
         return NULL;
     }
 
-    ret = dt_device_get_address(node, 0, &wdt_start, &wdt_len);
+    ret = dt_device_get_address(node, 0, &dt_wdt_start, &dt_wdt_len);
+    if ( ret )
+    {
+        dprintk(XENLOG_ERR, "Cannot read watchdog register address\n");
+        return NULL;
+    }
+
+    ret = translate_dt_address_size(&dt_wdt_start, &dt_wdt_len, &wdt_start,
+                                    &wdt_len);
     if ( ret )
     {
         dprintk(XENLOG_ERR, "Cannot read watchdog register address\n");
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 1f26f67b90..da64aeec88 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -220,12 +220,19 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
 
     for ( i = first; i < nr ; i++ )
     {
+        u64 dt_r_s, dt_r_e;
         paddr_t r_s, r_e;
 
-        if ( fdt_get_mem_rsv(device_tree_flattened, i, &r_s, &r_e ) < 0 )
+        if ( fdt_get_mem_rsv(device_tree_flattened, i, &dt_r_s, &dt_r_e ) < 0 )
             /* If we can't read it, pretend it doesn't exist... */
             continue;
 
+        else
+        {
+            if ( translate_dt_address_size(&dt_r_s, &dt_r_e, &r_s, &r_e) )
+                panic("Invalid address or size provided\n");
+        }
+
         r_e += r_s; /* fdt_get_mem_rsv returns length */
 
         if ( s < r_e && r_s < e )
@@ -500,14 +507,21 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
 
     for ( ; i < mi->nr_mods + nr; i++ )
     {
+        u64 dt_mod_s, dt_mod_e;
         paddr_t mod_s, mod_e;
 
         if ( fdt_get_mem_rsv(device_tree_flattened,
                              i - mi->nr_mods,
-                             &mod_s, &mod_e ) < 0 )
+                             &dt_mod_s, &dt_mod_e ) < 0 )
             /* If we can't read it, pretend it doesn't exist... */
             continue;
 
+        else
+        {
+            if ( translate_dt_address_size(&dt_mod_s, &dt_mod_e, &mod_s, &mod_e) )
+                panic("Invalid address or size provided\n");
+        }
+
         /* fdt_get_mem_rsv returns length */
         mod_e += mod_s;
 
diff --git a/xen/drivers/char/exynos4210-uart.c b/xen/drivers/char/exynos4210-uart.c
index 43aaf02e18..38cc19410f 100644
--- a/xen/drivers/char/exynos4210-uart.c
+++ b/xen/drivers/char/exynos4210-uart.c
@@ -26,6 +26,7 @@
 #include <asm/device.h>
 #include <asm/exynos4210-uart.h>
 #include <asm/io.h>
+#include <asm/platform.h>
 
 static struct exynos4210_uart {
     unsigned int baud, clock_hz, data_bits, parity, stop_bits;
@@ -303,7 +304,8 @@ static int __init exynos4210_uart_init(struct dt_device_node *dev,
     const char *config = data;
     struct exynos4210_uart *uart;
     int res;
-    u64 addr, size;
+    paddr_t addr, size;
+    u64 dt_addr, dt_size;
 
     if ( strcmp(config, "") )
         printk("WARNING: UART configuration is not supported\n");
@@ -316,7 +318,7 @@ static int __init exynos4210_uart_init(struct dt_device_node *dev,
     uart->parity    = PARITY_NONE;
     uart->stop_bits = 1;
 
-    res = dt_device_get_address(dev, 0, &addr, &size);
+    res = dt_device_get_address(dev, 0, &dt_addr, &dt_size);
     if ( res )
     {
         printk("exynos4210: Unable to retrieve the base"
@@ -324,6 +326,10 @@ static int __init exynos4210_uart_init(struct dt_device_node *dev,
         return res;
     }
 
+    res = translate_dt_address_size(&dt_addr, &dt_size, &addr, &size);
+    if ( res )
+        return res;
+
     res = platform_get_irq(dev, 0);
     if ( res < 0 )
     {
diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 58d0ccd889..e62362db2f 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -35,6 +35,7 @@
 #include <asm/io.h>
 #ifdef CONFIG_HAS_DEVICE_TREE
 #include <asm/device.h>
+#include <asm/platform.h>
 #endif
 #ifdef CONFIG_X86
 #include <asm/fixmap.h>
@@ -42,8 +43,8 @@
 
 static struct ns16550 {
     int baud, clock_hz, data_bits, parity, stop_bits, fifo_size, irq;
-    u64 io_base;   /* I/O port or memory-mapped I/O address. */
-    u64 io_size;
+    paddr_t io_base;   /* I/O port or memory-mapped I/O address. */
+    paddr_t io_size;
     int reg_shift; /* Bits to shift register offset by */
     int reg_width; /* Size of access to use, the registers
                     * themselves are still bytes */
@@ -1747,6 +1748,7 @@ static int __init ns16550_uart_dt_init(struct dt_device_node *dev,
     struct ns16550 *uart;
     int res;
     u32 reg_shift, reg_width;
+    u64 dt_io_base, dt_io_size;
 
     uart = &ns16550_com[0];
 
@@ -1757,7 +1759,12 @@ static int __init ns16550_uart_dt_init(struct dt_device_node *dev,
     uart->parity    = UART_PARITY_NONE;
     uart->stop_bits = 1;
 
-    res = dt_device_get_address(dev, 0, &uart->io_base, &uart->io_size);
+    res = dt_device_get_address(dev, 0, &dt_io_base, &dt_io_size);
+    if ( res )
+        return res;
+
+    res = translate_dt_address_size(&dt_io_base, &dt_io_size, &uart->io_base,
+                                    &uart->io_size);
     if ( res )
         return res;
 
diff --git a/xen/drivers/char/omap-uart.c b/xen/drivers/char/omap-uart.c
index d6a5d59aa2..e606c3ef1e 100644
--- a/xen/drivers/char/omap-uart.c
+++ b/xen/drivers/char/omap-uart.c
@@ -16,6 +16,7 @@
 #include <xen/irq.h>
 #include <xen/device_tree.h>
 #include <asm/device.h>
+#include <asm/platform.h>
 #include <xen/errno.h>
 #include <xen/mm.h>
 #include <xen/vmap.h>
@@ -324,7 +325,8 @@ static int __init omap_uart_init(struct dt_device_node *dev,
     struct omap_uart *uart;
     u32 clkspec;
     int res;
-    u64 addr, size;
+    u64 dt_addr, dt_size;
+    paddr_t addr, size;
 
     if ( strcmp(config, "") )
         printk("WARNING: UART configuration is not supported\n");
@@ -344,7 +346,7 @@ static int __init omap_uart_init(struct dt_device_node *dev,
     uart->parity = UART_PARITY_NONE;
     uart->stop_bits = 1;
 
-    res = dt_device_get_address(dev, 0, &addr, &size);
+    res = dt_device_get_address(dev, 0, &dt_addr, &dt_size);
     if ( res )
     {
         printk("omap-uart: Unable to retrieve the base"
@@ -352,6 +354,10 @@ static int __init omap_uart_init(struct dt_device_node *dev,
         return res;
     }
 
+    res = translate_dt_address_size(&dt_addr, &dt_size, &addr, &size);
+    if ( res )
+        return res;
+
     res = platform_get_irq(dev, 0);
     if ( res < 0 )
     {
diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index be67242bc0..23037405e1 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -24,6 +24,7 @@
 #include <xen/device_tree.h>
 #include <xen/errno.h>
 #include <asm/device.h>
+#include <asm/platform.h>
 #include <xen/mm.h>
 #include <xen/vmap.h>
 #include <asm/pl011-uart.h>
@@ -258,14 +259,15 @@ static int __init pl011_dt_uart_init(struct dt_device_node *dev,
 {
     const char *config = data;
     int res;
-    u64 addr, size;
+    paddr_t addr, size;
+    u64 dt_addr, dt_size;
 
     if ( strcmp(config, "") )
     {
         printk("WARNING: UART configuration is not supported\n");
     }
 
-    res = dt_device_get_address(dev, 0, &addr, &size);
+    res = dt_device_get_address(dev, 0, &dt_addr, &dt_size);
     if ( res )
     {
         printk("pl011: Unable to retrieve the base"
@@ -273,6 +275,10 @@ static int __init pl011_dt_uart_init(struct dt_device_node *dev,
         return res;
     }
 
+    res = translate_dt_address_size(&dt_addr, &dt_size, &addr, &size);
+    if ( res )
+        return res;
+
     res = platform_get_irq(dev, 0);
     if ( res < 0 )
     {
diff --git a/xen/drivers/char/scif-uart.c b/xen/drivers/char/scif-uart.c
index 2fccafe340..c16cac836a 100644
--- a/xen/drivers/char/scif-uart.c
+++ b/xen/drivers/char/scif-uart.c
@@ -28,6 +28,7 @@
 #include <asm/device.h>
 #include <asm/scif-uart.h>
 #include <asm/io.h>
+#include <asm/platform.h>
 
 #define scif_readb(uart, off)          readb((uart)->regs + (off))
 #define scif_writeb(uart, off, val)    writeb((val), (uart)->regs + (off))
@@ -311,14 +312,15 @@ static int __init scif_uart_init(struct dt_device_node *dev,
     const char *config = data;
     struct scif_uart *uart;
     int res;
-    u64 addr, size;
+    paddr_t addr, size;
+    u64 dt_addr, dt_size;
 
     if ( strcmp(config, "") )
         printk("WARNING: UART configuration is not supported\n");
 
     uart = &scif_com;
 
-    res = dt_device_get_address(dev, 0, &addr, &size);
+    res = dt_device_get_address(dev, 0, &dt_addr, &dt_size);
     if ( res )
     {
         printk("scif-uart: Unable to retrieve the base"
@@ -326,6 +328,10 @@ static int __init scif_uart_init(struct dt_device_node *dev,
         return res;
     }
 
+    res = translate_dt_address_size(&dt_addr, &dt_size, &addr, &size);
+    if ( res )
+        return res;
+
     res = platform_get_irq(dev, 0);
     if ( res < 0 )
     {
diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index 0a514821b3..5ae180a4cc 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -73,8 +73,8 @@
 /* Xen: Helpers to get device MMIO and IRQs */
 struct resource
 {
-	u64 addr;
-	u64 size;
+	paddr_t addr;
+	paddr_t size;
 	unsigned int type;
 };
 
@@ -96,12 +96,17 @@ static struct resource *platform_get_resource(struct platform_device *pdev,
 	 */
 	static struct resource res;
 	int ret = 0;
+	u64 dt_addr, dt_size;
 
 	res.type = type;
 
 	switch (type) {
 	case IORESOURCE_MEM:
-		ret = dt_device_get_address(pdev, num, &res.addr, &res.size);
+		ret = dt_device_get_address(pdev, num, &dt_addr, &dt_size);
+
+        if ( !ret )
+            ret = translate_dt_address_size(&dt_addr, &dt_size, &res.addr,
+                                            &res.size);
 
 		return ((ret) ? NULL : &res);
 
@@ -169,7 +174,7 @@ static void __iomem *devm_ioremap_resource(struct device *dev,
 	ptr = ioremap_nocache(res->addr, res->size);
 	if (!ptr) {
 		dev_err(dev,
-			"ioremap failed (addr 0x%"PRIx64" size 0x%"PRIx64")\n",
+			"ioremap failed (addr 0x%"PRIpaddr" size 0x%"PRIpaddr")\n",
 			res->addr, res->size);
 		return ERR_PTR(-ENOMEM);
 	}
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index f0aff7ea76..0b326e22fd 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -34,7 +34,7 @@ enum serial_port_state {
 
 struct vuart_info {
     paddr_t base_addr;          /* Base address of the UART */
-    unsigned long size;         /* Size of the memory region */
+    paddr_t size;               /* Size of the memory region */
     unsigned long data_off;     /* Data register offset */
     unsigned long status_off;   /* Status register offset */
     unsigned long status;       /* Ready status value */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:33:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:33:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463765.722077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyq-0000QU-CP; Thu, 15 Dec 2022 19:33:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463765.722077; Thu, 15 Dec 2022 19:33:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyq-0000QE-71; Thu, 15 Dec 2022 19:33:20 +0000
Received: by outflank-mailman (input) for mailman id 463765;
 Thu, 15 Dec 2022 19:33:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BWk7=4N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p5tyo-0006KU-Tk
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 19:33:19 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2045.outbound.protection.outlook.com [40.107.220.45])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 52b2f647-7caf-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 20:33:18 +0100 (CET)
Received: from DS7PR07CA0017.namprd07.prod.outlook.com (2603:10b6:5:3af::14)
 by DS7PR12MB6264.namprd12.prod.outlook.com (2603:10b6:8:94::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Thu, 15 Dec
 2022 19:33:12 +0000
Received: from DS1PEPF0000E643.namprd02.prod.outlook.com
 (2603:10b6:5:3af:cafe::6f) by DS7PR07CA0017.outlook.office365.com
 (2603:10b6:5:3af::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.13 via Frontend
 Transport; Thu, 15 Dec 2022 19:33:11 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E643.mail.protection.outlook.com (10.167.17.197) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.9 via Frontend Transport; Thu, 15 Dec 2022 19:33:11 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 13:33:10 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 11:33:10 -0800
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 13:33:09 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52b2f647-7caf-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dqUfJaGLBhYdgVd71pA74NpcmBICD0/sol8EoHZkdTt8WwltGKmf3j4tFZ4IBhAD02a4M/8LDfozJU+2bCUMl+mR8DrRSw2sLplTnEuNtQOTq9+fGjjwCcG0NHGPVGX8Mwk9gN8Zt7rJXe95N90alxAqUtkXP9gya7dW4xZC0rT4TaoyNv3jewoJXQEieXR1KRyeGU4JpERAcK0sV2OWSn7OXjAItcKQDbDgqSE4Zol4XDGF3TWmUR1LnajKYFFbDq4ehK+d9ohJ7FG2atBr+RylLNRgfrFjEPXD9mVsChOyLpYEvYZNkX3b2WaUiKKmn834nRsbohHJDO2sHGyNuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z5+olvGyXYR/FH3N6U5mKGmd6Dy3PG3BDHmi9oMXULE=;
 b=N+GHsaFKPeXrFU99lw1lcl2dYbKoga//yfaH/nHSOYNicsfTTazahN2f/7Gy+KxKokom8zboF31bw4LFYz2dTHRy2Q58hULPLCDTdNU3SKAqrmUZyCIlMPtWePkOJSIjcdxUl2GZkwNRgl9rMofzmQIlmlKJSEZEh3/KbQgRKh1EiyQDXpCqPgo88uIttgylcwpRtzAgSAHfmIV6tWwJex2gKA8JfRH9/ABtw3HysPhJmsIAfmUYXoO2JW4IhWQA4BiTRIwo76HdQsDCibsj2WqpMpVInYnX9BJNv1PTZyVWgcJix/GehaXzM2sTJ0h8oCIS911E+6GzqvFQA/AECQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Z5+olvGyXYR/FH3N6U5mKGmd6Dy3PG3BDHmi9oMXULE=;
 b=DGLCxaJGqU5PM+ILngrxnd2Ow6RIpQWzBUn39oRXOqo+r/NF0MzXFjLz8vtoLFQ79ix2alP7bfzY4MC71ijapKIJnbqMnuanolTTGYk5p3+2hFCOQteqotAegZL5x9pfuWhpWeMeeShO0U755U9Zzl7kMDziOT2WoVqNc643sTs=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v1 7/9] xen/arm: Restrict zeroeth_table_offset for ARM_64
Date: Thu, 15 Dec 2022 19:32:43 +0000
Message-ID: <20221215193245.48314-8-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E643:EE_|DS7PR12MB6264:EE_
X-MS-Office365-Filtering-Correlation-Id: a8b3080f-6fda-40ec-c39a-08daded333e6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lcZ6K2t9pLv3ohU+b+89CbGpj85HyW1ynD3jSgcPbwiOCYry+86Yd1scvXlWc7fovuEgcKA4K5GBSo+vSS4fhdBRZcmZeYvbw3Pi039W/SM9gRpTPw/ZCpcUd6VROeg0fzp32xKPJ3T57F9Hd0+oBtvq/iKWwRQwmnsuUF3tAENtFjn+GcQEL/sO/2pJBpfMdEWPBUe/VRX6kKYyuK5WOUwkVAoPEHLXVpS7J+B1lJTdPW9SaqSF1a/k4slCm/mP486F4QuXxQYzUWL5XclS+E3IkabHmLGjin2PJBuw6XfCNUSGFrqU9V7/ShS6oHsKRefaEXIk9ijbw4GAD/rFe4OPZQVIP4BbKr4J8egURg9uA4x654NznJFNQ/2J6wc3RcFSxN8TRY29dW3ydsQKt2kv4sOA/c5wf0H/ismKjbQGJb4R7qfuXPrX2r2iLqulwJ1VmbaEOvL2RQZoiHf2K/5YRnmLhRGnO6WI+bvHW9bbyeLudEwRQ93sP2Hc7iliC5uoYeeRkjjmVw+1AhN4CK1UpaacPuOkVUxbJB625Z3gpYrLkxFbc1e90ssPUmaZ1WNdEx+7ouCtY9VR++G/zPADPb90zq01OaYRS6PLJJCpkRXhomyh2coH1SYZ/HJmbM1q3NzPVrb6CmyqgVB2W33317sz0+9urTvUHh699ga1xvOZ6OAmPiftgkbdrCmWFD+i8Je7cT9TitUL0XmQp1SKeLmHm8+Jhw5bTk13Lvk=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(376002)(396003)(39860400002)(451199015)(40470700004)(46966006)(36840700001)(83380400001)(36860700001)(426003)(47076005)(40460700003)(86362001)(81166007)(356005)(40480700001)(2906002)(5660300002)(8936002)(41300700001)(82310400005)(4326008)(6666004)(186003)(26005)(1076003)(2616005)(336012)(8676002)(316002)(70586007)(70206006)(54906003)(6916009)(478600001)(82740400003)(36756003)(103116003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 19:33:11.5792
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a8b3080f-6fda-40ec-c39a-08daded333e6
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E643.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6264

zeroeth_table_offset is not accessed for ARM_32.
This is a left over of the following commit

"
commit 5fa6e9abfb11
Author: Ian Campbell <ian.campbell@citrix.com>
Date:   Thu Sep 18 01:09:48 2014 +0100

    xen: arm: Implement variable levels in dump_pt_walk
"

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
 xen/arch/arm/include/asm/lpae.h | 10 ++++++++++
 xen/arch/arm/mm.c               |  4 ++++
 2 files changed, 14 insertions(+)

diff --git a/xen/arch/arm/include/asm/lpae.h b/xen/arch/arm/include/asm/lpae.h
index 3fdd5d0de2..35769debf9 100644
--- a/xen/arch/arm/include/asm/lpae.h
+++ b/xen/arch/arm/include/asm/lpae.h
@@ -161,6 +161,7 @@ static inline bool lpae_is_superpage(lpae_t pte, unsigned int level)
 #define lpae_set_mfn(pte, mfn)  ((pte).walk.base = mfn_x(mfn))
 
 /* Generate an array @var containing the offset for each level from @addr */
+#ifdef CONFIG_ARM_64
 #define DECLARE_OFFSETS(var, addr)          \
     const unsigned int var[4] = {           \
         zeroeth_table_offset(addr),         \
@@ -168,6 +169,15 @@ static inline bool lpae_is_superpage(lpae_t pte, unsigned int level)
         second_table_offset(addr),          \
         third_table_offset(addr)            \
     }
+#else
+#define DECLARE_OFFSETS(var, addr)          \
+    const unsigned int var[4] = {           \
+        0,                                  \
+        first_table_offset(addr),           \
+        second_table_offset(addr),          \
+        third_table_offset(addr)            \
+    }
+#endif
 
 /*
  * Standard entry type that we'll use to build Xen's own pagetables.
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 630175276f..be939fb106 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -184,7 +184,11 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
     static const char *level_strs[4] = { "0TH", "1ST", "2ND", "3RD" };
     const mfn_t root_mfn = maddr_to_mfn(ttbr);
     const unsigned int offsets[4] = {
+#ifdef CONFIG_ARM_64
         zeroeth_table_offset(addr),
+#else
+        0,
+#endif
         first_table_offset(addr),
         second_table_offset(addr),
         third_table_offset(addr)
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:33:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:33:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463766.722088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyr-0000lW-Pk; Thu, 15 Dec 2022 19:33:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463766.722088; Thu, 15 Dec 2022 19:33:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyr-0000jy-IO; Thu, 15 Dec 2022 19:33:21 +0000
Received: by outflank-mailman (input) for mailman id 463766;
 Thu, 15 Dec 2022 19:33:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BWk7=4N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p5typ-0006KU-Ts
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 19:33:20 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2077.outbound.protection.outlook.com [40.107.223.77])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 52d228ff-7caf-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 20:33:18 +0100 (CET)
Received: from DM6PR13CA0057.namprd13.prod.outlook.com (2603:10b6:5:134::34)
 by MW4PR12MB6973.namprd12.prod.outlook.com (2603:10b6:303:20a::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Thu, 15 Dec
 2022 19:33:14 +0000
Received: from DM6NAM11FT085.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:134:cafe::4b) by DM6PR13CA0057.outlook.office365.com
 (2603:10b6:5:134::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 19:33:14 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT085.mail.protection.outlook.com (10.13.172.236) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 19:33:14 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 13:33:13 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 13:33:12 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 13:33:11 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52d228ff-7caf-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hP+x/fYpbSTGDzsUcpUpZlflZK+0iY5GOFu5hE37TGRwF8c2H/RgJrl9Th+selTDn6M9B6vi37bBeQXUAl9jC/fqsKjhS8p6XRZ4N5QSWB+OHjLrJiRL76bxMjmP3KrVY4dIi8WkcuR2xbIPbMsTTBAPXAprHR8tuDjBh7WG/ckk2gMHfbq5tZ3NK8L8veT4vCxXhPkqMxD2d+3+Mu6lZbH1yEsVS2g0OFTSgCkahu+wUXBkzqIzMXjZTWm3xvGTT0t87LL2WSleg1abZ7LbBbkJJ698NUmH5LH/tew+HrlM3QDRuPonA7ZpH6MrLEutLYFy/L5Z95fX03o3XLpuag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eQPLuzeCeyz59DG1ehsn+YnT+/R316b2RCY1GeYq6m8=;
 b=KMsZL5WAxrpIPNivju+arLv7IxKAPtrW7WFPN9dlB3AbpGbZLJdiQGI4avGLwvd1BXaqh5gU0chYwBQtHs9m+6n+3insLq8b/L/11kQ/zfz/ZY3lKyCEdjSAEElGEGP/sKcKtftY4dk+q2Xe5nsZLd18ftTJgXxU4PbdLMQgQh8FM5EEsU/h7SOjNyf1hqoUUXXnf2E3NPIBC/a3vaGBjc6RjjnQkgaq4KiKac1LPyQ01NBNGY3ldmVac8DJD/f0oWQfMK8j8UQQdl4O12gC+z3Y2mZkr2v3BA7Gfn1LFwfP7J5zv1wdkBUL5splbaN8hf30R2mDkskt9cLyLEn1oQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eQPLuzeCeyz59DG1ehsn+YnT+/R316b2RCY1GeYq6m8=;
 b=sjb1r1t0l0Cpvx6v8KqNAFIeRXWMb+O8eugDyKWlC11upBL28ma+y3WOhifcB6k9j1w7IehnEbhPz6MMCnictaQA2jWMnGk3RL5tmpUMHZSXVWxjjeAVH8Zm8d1mLhDBa5K8Yq+MaWzo8Fz+nUIX/Eiw7ytGi247z7KFgNMEM2M=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v1 8/9] xen/arm: Other adaptations required to support 32bit paddr
Date: Thu, 15 Dec 2022 19:32:44 +0000
Message-ID: <20221215193245.48314-9-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT085:EE_|MW4PR12MB6973:EE_
X-MS-Office365-Filtering-Correlation-Id: a056e9f1-c7dc-48d5-0034-08daded33581
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	S0mUW6MG+5wZbROgtqtvMYcKi+zTiyjkojlyJ0rky6Ua4nxIR33VzC/uktuWMYPCrX+O0nLOaRxdLzAwrzTkpQwPedLkGfUMW9Wd+W7w19IdE+DwPGPsI+ndQzrArU+A2yzLyReTveDba6pwSpDg3piNEsNNeoPwFwbdWAtqvNkP9KnCl+QR+bDr3x54Bi0GwbX75K2fU19icj8+1hCx6sqoi0TyGhbTjaliUSbt2yiS1Yf7qn04MLcjl1AQxg0/qhP7UTL3IH0r/gHGsNfRuvOqbme8ZpCwm+TYVBH08gMM+O9TccXKh8mVgDWETONuh8f4PIoXXR8VKoKAINbaQUI6d6gtnCcWLR3UH6jHzXvBiG535Z41WwLgRrJcfDUs4APONOLN4R29IfWJsiS5sKR62fIn1CR401UqplT1hM61nWBVrOYo2XEPorMl8r1tKzt3dAVSNJ/I5rQ1PpqOWt28YvEHnndStkoyybAAEvjA0Fyjggg3Ql5z067nuLSSUQqCx7LxyAhsuzoJwr2LPX544XrZE3AmXqtj5L//WutNPZnnDv53wkPjATXNBV8kTtTtqNdAtYRM3FxfpzZNNIkQke/2r4GgCprNvX6icmZS8TucPEoelfndb4vSgO6JTaWRD0mnPg1IkHlIIqpPqJyR2NURyBWJUY224s0rmj0sxl+HEMAcxUcRWyug7Qs+Jt7IsXKFOsp0IKxH7PKEhiZTFW9z2k8ucdzihOLQDT4=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(376002)(346002)(39860400002)(136003)(451199015)(40470700004)(36840700001)(46966006)(40460700003)(81166007)(356005)(36756003)(82740400003)(40480700001)(86362001)(103116003)(82310400005)(6666004)(316002)(70586007)(478600001)(186003)(26005)(2616005)(6916009)(54906003)(36860700001)(2906002)(47076005)(41300700001)(336012)(70206006)(4326008)(8676002)(8936002)(1076003)(5660300002)(426003)(83380400001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 19:33:14.2677
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a056e9f1-c7dc-48d5-0034-08daded33581
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT085.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6973

1. Supersections are supported only for paddr greater than 32 bits.
2. Use 0 wherever physical addresses are right shifted for 32 bits.
3. Use PRIx64 to print u64

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
 xen/arch/arm/guest_walk.c          | 2 ++
 xen/arch/arm/mm.c                  | 2 +-
 xen/drivers/passthrough/arm/smmu.c | 5 +++++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/guest_walk.c b/xen/arch/arm/guest_walk.c
index 43d3215304..4384068285 100644
--- a/xen/arch/arm/guest_walk.c
+++ b/xen/arch/arm/guest_walk.c
@@ -149,6 +149,7 @@ static bool guest_walk_sd(const struct vcpu *v,
             mask = (1ULL << L1DESC_SECTION_SHIFT) - 1;
             *ipa = ((paddr_t)pte.sec.base << L1DESC_SECTION_SHIFT) | (gva & mask);
         }
+#ifndef CONFIG_ARM_PA_32
         else /* Supersection */
         {
             mask = (1ULL << L1DESC_SUPERSECTION_SHIFT) - 1;
@@ -157,6 +158,7 @@ static bool guest_walk_sd(const struct vcpu *v,
             *ipa |= (paddr_t)(pte.supersec.extbase1) << L1DESC_SUPERSECTION_EXT_BASE1_SHIFT;
             *ipa |= (paddr_t)(pte.supersec.extbase2) << L1DESC_SUPERSECTION_EXT_BASE2_SHIFT;
         }
+#endif
 
         /* Set permissions so that the caller can check the flags by herself. */
         if ( !pte.sec.ro )
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index be939fb106..3bc9894008 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -229,7 +229,7 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
 
         pte = mapping[offsets[level]];
 
-        printk("%s[0x%03x] = 0x%"PRIpaddr"\n",
+        printk("%s[0x%03x] = 0x%"PRIx64"\n",
                level_strs[level], offsets[level], pte.bits);
 
         if ( level == 3 || !pte.walk.valid || !pte.walk.table )
diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index 5ae180a4cc..522a478ccf 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -1184,7 +1184,12 @@ static void arm_smmu_init_context_bank(struct arm_smmu_domain *smmu_domain)
 
 	reg = (p2maddr & ((1ULL << 32) - 1));
 	writel_relaxed(reg, cb_base + ARM_SMMU_CB_TTBR0_LO);
+
+#ifndef CONFIG_ARM_PA_32
 	reg = (p2maddr >> 32);
+#else
+	reg = 0;
+#endif
 	if (stage1)
 		reg |= ARM_SMMU_CB_ASID(cfg) << TTBRn_HI_ASID_SHIFT;
 	writel_relaxed(reg, cb_base + ARM_SMMU_CB_TTBR0_HI);
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:33:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:33:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463772.722096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyt-00017j-5Y; Thu, 15 Dec 2022 19:33:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463772.722096; Thu, 15 Dec 2022 19:33:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5tyt-00016m-1N; Thu, 15 Dec 2022 19:33:23 +0000
Received: by outflank-mailman (input) for mailman id 463772;
 Thu, 15 Dec 2022 19:33:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BWk7=4N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p5tyr-0006KU-Tw
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 19:33:22 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5433116f-7caf-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 20:33:20 +0100 (CET)
Received: from DM6PR13CA0070.namprd13.prod.outlook.com (2603:10b6:5:134::47)
 by MN2PR12MB4375.namprd12.prod.outlook.com (2603:10b6:208:24f::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Thu, 15 Dec
 2022 19:33:17 +0000
Received: from DM6NAM11FT085.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:134:cafe::e2) by DM6PR13CA0070.outlook.office365.com
 (2603:10b6:5:134::47) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.14 via Frontend
 Transport; Thu, 15 Dec 2022 19:33:17 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT085.mail.protection.outlook.com (10.13.172.236) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.12 via Frontend Transport; Thu, 15 Dec 2022 19:33:17 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 13:33:16 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 13:33:15 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Thu, 15 Dec 2022 13:33:14 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5433116f-7caf-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VO2Jz4urcfcPoETJvbY7uxfQc7XoTDgHMGVaN6fvrWIEjE//iVFsj2BGtoup6YpHFtDOmuF8g6Zy47ffmaRJnUqP8BeEx3OGQaA0msjVmXFJmPJfow7ZOalhKtpMAQVXlFc9IO2XsQuwpATzkBBh7SotRYOfzVwCuv7PM1tpNmUJ2am2//3PNfi0nzbio95FaK2CT9hHboKIxGUg1U31bkS1F7yIjHrghhv9R4lo8B+l0S6MUUVHcJR5QqbqT+vaqDs5Ol3mx2b9SP9gCyph+sDQxSdk/4E9HyqQSL3URxKs+GtB1m92RJXrFhrph/bAC5zIu4x6BIamXunj0ASc6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q3BqTHje9hBwSDwZvyLDpmFskXeeCNNsKZktZznSD4Y=;
 b=F1WVlpnaJuODN/YZZK/ix9R5mEFShw5NZN21h5rSxHNsEbh77rEhjG6Pu7NAl2BSqzzSLrEcVoT1rigKdtHg9fFIng+ZuQ3tu3t7Vn6MxpusxoZ6HxwKR5cdH5fw3xdd9d9lA+kDwI1ZC7TpX9OPg4E4vKb3rUOH0enO7WnlyAZ5XIaZdaBDKIVN+zKl/S+uVcoG9yDqfnj/utRw+jH47uAaXAz4V6ld6GRQC/ji8k2YxknAZnISmWeuAUBbgvcl6dUCo5zI5DWB4RYsllf6qN4vdEzlRNqqh5jolZG/8059yqgG0H+W5LQXePP6EYrFPwokKBhSbdD3UIbDFHDAnw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q3BqTHje9hBwSDwZvyLDpmFskXeeCNNsKZktZznSD4Y=;
 b=49L99oWmO4asKf1o374DBqdOnvqDVT1Tvw5Z9ZQdZS9LpL5OPF9BqeEMz+UxIAx3ERUQIQivAwUC1xNA7VO1V2herdvW9UTtNS1pbHmrTe470nDwXtCq2hGlOE0QAcg2zTtNDGaYoOccyomVbCC3jIosuR0jxVVVmvqWB2ghSFE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v1 9/9] xen/arm: Introduce ARM_PA_32 to support 32 bit physical address
Date: Thu, 15 Dec 2022 19:32:45 +0000
Message-ID: <20221215193245.48314-10-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT085:EE_|MN2PR12MB4375:EE_
X-MS-Office365-Filtering-Correlation-Id: def075e1-9b99-4987-1f62-08daded3372e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fs6f+1wUO93V5W1aAvxJBPIvS0u+5XT6xQE57/Z7Iya8/T46mETqO09cXWusAI6x2w7/Uirgy8x5WHJWZ+230IPxOIMcAvkmatQErzpXlgZxL+d/AFFCtLfLGApGb4DW2cEqTAksMo5Cjw345io7V3g21Xk+EzyT0ZrWjPT7ustE2y0IF5Ag3UD3oAg2rgj2qDDrAAVQF5m0n3g5MrDTRu2K5+UCUklP6LB6UYPU+s55xoQycobIf69wyQ1XVQBvp4X0ADJyxpFXbnPwTsTxu/x/9MGkKU8MRXzhgJn2l6w2bbxjN7U4BlvKYXVbDit0yK7BdAgzVPyXITfFGjNk8pcWREINxJ2wCcw3v1/g47M/htJ+jEjGYYLTg1nwYZ+lIAnpfo9hVmHe6yRolAo3Cn5KFdpSMH6HIQ/4oi4HqiamEgy34bTjdou4/PYaETN9J55L0xWwdMO58qiEORP2EuHqi4Bk0Et7XDiaYJ5O635EB3ePMreowiOqTwumvSnLdGI61vEtg1yteqm+WkCB9QTG8qDhPHp4+XoBN2/O6znC7kEvFhO5r1tndaSCsvJYT4EGvLIExgV4d8dkJ6wcoObshHDmUDPYg4U6FrMoLfqS2tpf++KtyeqVa8WIvDtAEkmfH01KLhp+vopcJoFdYqK/PoC6cYCy9CbiHMZ2QiZLQ/VmBV1KEfzAGSPVpN4evc8DnqvMA3Bxa2MYZaWERRausFdN/XfH/BZ0ezsCbto=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(376002)(136003)(346002)(451199015)(46966006)(40470700004)(36840700001)(36756003)(103116003)(356005)(2906002)(82740400003)(81166007)(40480700001)(82310400005)(8936002)(5660300002)(41300700001)(6916009)(40460700003)(47076005)(36860700001)(426003)(83380400001)(86362001)(478600001)(54906003)(4326008)(6666004)(1076003)(316002)(70586007)(2616005)(8676002)(26005)(186003)(336012)(70206006)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 19:33:17.0800
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: def075e1-9b99-4987-1f62-08daded3372e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT085.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4375

We have introduced a new config option to support 32 bit physical address.
By default, it is disabled.
ARM_PA_32 cannot be enabled on ARM_64 as the memory management unit works
on 48bit physical addresses.
On ARM_32, it can be used on systems where large page address extension is
not supported.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
 xen/arch/arm/Kconfig                 | 9 +++++++++
 xen/arch/arm/include/asm/page-bits.h | 2 ++
 xen/arch/arm/include/asm/types.h     | 7 +++++++
 3 files changed, 18 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 239d3aed3c..aeb0f7252e 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -39,6 +39,15 @@ config ACPI
 config ARM_EFI
 	bool
 
+config ARM_PA_32
+	bool "32 bit Physical Address"
+	depends on ARM_32
+	default n
+	---help---
+
+	  Support 32 bit physical addresses.
+	  If unsure, say N
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
diff --git a/xen/arch/arm/include/asm/page-bits.h b/xen/arch/arm/include/asm/page-bits.h
index 5d6477e599..8f4dcebcfd 100644
--- a/xen/arch/arm/include/asm/page-bits.h
+++ b/xen/arch/arm/include/asm/page-bits.h
@@ -5,6 +5,8 @@
 
 #ifdef CONFIG_ARM_64
 #define PADDR_BITS              48
+#elif CONFIG_ARM_PA_32
+#define PADDR_BITS              32
 #else
 #define PADDR_BITS              40
 #endif
diff --git a/xen/arch/arm/include/asm/types.h b/xen/arch/arm/include/asm/types.h
index 083acbd151..f9595b9098 100644
--- a/xen/arch/arm/include/asm/types.h
+++ b/xen/arch/arm/include/asm/types.h
@@ -37,9 +37,16 @@ typedef signed long long s64;
 typedef unsigned long long u64;
 typedef u32 vaddr_t;
 #define PRIvaddr PRIx32
+#if defined(CONFIG_ARM_PA_32)
+typedef u32 paddr_t;
+#define INVALID_PADDR (~0UL)
+#define PADDR_SHIFT BITS_PER_LONG
+#define PRIpaddr PRIx32
+#else
 typedef u64 paddr_t;
 #define INVALID_PADDR (~0ULL)
 #define PRIpaddr "016llx"
+#endif
 typedef u32 register_t;
 #define PRIregister "08x"
 #elif defined (CONFIG_ARM_64)
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 19:35:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 19:35:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463793.722110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5u15-0003Zt-VQ; Thu, 15 Dec 2022 19:35:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463793.722110; Thu, 15 Dec 2022 19:35:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5u15-0003Zm-SN; Thu, 15 Dec 2022 19:35:39 +0000
Received: by outflank-mailman (input) for mailman id 463793;
 Thu, 15 Dec 2022 19:35:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5u13-0003ZQ-T5; Thu, 15 Dec 2022 19:35:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5u13-0003ds-Ph; Thu, 15 Dec 2022 19:35:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5u13-00067o-DQ; Thu, 15 Dec 2022 19:35:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5u13-0008BS-Cz; Thu, 15 Dec 2022 19:35:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wzt+gn1xSd4mB9hwMUZLmo+2T0dPPbsKp999QXqzrCM=; b=JWEx6RwAl+++SpAtIXmlj1WuOZ
	9mWIVrcIlJ5SGOvw7S6kRdt4abGY3ZiXXDPr2OmzSyhdGayBSmXExkbohjCrVszMbHb5+bFaIlCEZ
	SQwkR25PbfZUvi4MApK/X0ER+H+Q+vyKdEmEMlxljNVZQafV4n08FuHf5E8QqEUzOhHY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175288-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175288: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-armhf:xen-build:fail:regression
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=32b61bcafccc1f12b7e98d2d2e3cef763ac1fb60
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 19:35:37 +0000

flight 175288 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175288/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                   6 xen-build                fail REGR. vs. 175173

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  32b61bcafccc1f12b7e98d2d2e3cef763ac1fb60
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    2 days
Failing since        175199  2022-12-14 12:01:52 Z    1 days   15 attempts
Testing same since   175288  2022-12-15 18:01:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien@xen.org>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  fail    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 456 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 20:23:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 20:23:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463852.722120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ul4-0000im-Jh; Thu, 15 Dec 2022 20:23:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463852.722120; Thu, 15 Dec 2022 20:23:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5ul4-0000if-GC; Thu, 15 Dec 2022 20:23:10 +0000
Received: by outflank-mailman (input) for mailman id 463852;
 Thu, 15 Dec 2022 20:23:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5ul3-0000iV-DP; Thu, 15 Dec 2022 20:23:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5ul3-0004uZ-A4; Thu, 15 Dec 2022 20:23:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5ul2-00087B-W5; Thu, 15 Dec 2022 20:23:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5ul2-0001Hw-VY; Thu, 15 Dec 2022 20:23:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nXWd7OeMoHkV0tMCwf/FNce2Bx5v5z4CaCap+TX5H6Q=; b=FMkAaSiWsGMvTF9zP0tGt5jHHB
	q7TuPdAgsaqOl4DohJrVkt3YrT1K/HobWXfTFKk2+lPQoNaFcg30WYeoBe9xigiV8Dn7HrBWbMq9J
	s8tsBo5njaAGhs170roxpgaO+DyXtMEVIyo3JB8xTo9YkcAafngBOZ2IuhAe/wn9bNQo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175266-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175266: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-livepatch:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-amd64-xl-qcow2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-5:xen-boot:fail:regression
    xen-unstable:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-pygrub:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-examine-uefi:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine-bios:reboot:fail:regression
    xen-unstable:test-amd64-i386-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-4:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-pair:xen-install/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-pair:xen-boot/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-pair:xen-boot/dst_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:xen-boot:fail:heisenbug
    xen-unstable:test-xtf-amd64-amd64-2:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-xsm:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-livepatch:xen-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 20:23:08 +0000

flight 175266 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175266/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-livepatch     8 xen-boot                 fail REGR. vs. 175144
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 175148
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 175148
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 175148
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-qemut-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 175148
 test-amd64-i386-pair         12 xen-boot/src_host        fail REGR. vs. 175148
 test-amd64-i386-pair         13 xen-boot/dst_host        fail REGR. vs. 175148
 test-amd64-amd64-xl-qcow2     8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-qemuu-freebsd11-amd64  8 xen-boot       fail REGR. vs. 175148
 test-xtf-amd64-amd64-5        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 175148
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 175148
 test-amd64-i386-xl-xsm        8 xen-boot       fail in 175189 REGR. vs. 175148

Tests which are failing intermittently (not blocking):
 test-xtf-amd64-amd64-4        8 xen-boot         fail in 175189 pass in 175266
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 175189 pass in 175266
 test-amd64-i386-pair     10 xen-install/src_host fail in 175189 pass in 175266
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host fail in 175189 pass in 175266
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host fail in 175189 pass in 175266
 test-amd64-amd64-pair       12 xen-boot/src_host fail in 175189 pass in 175266
 test-amd64-amd64-pair       13 xen-boot/dst_host fail in 175189 pass in 175266
 test-amd64-amd64-libvirt      8 xen-boot                   fail pass in 175189
 test-amd64-i386-xl-vhd        8 xen-boot                   fail pass in 175189
 test-xtf-amd64-amd64-2        8 xen-boot                   fail pass in 175208
 test-amd64-i386-xl-xsm        7 xen-install                fail pass in 175208

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt    15 migrate-support-check fail in 175189 never pass
 test-amd64-i386-livepatch     7 xen-install         fail in 175208 like 175148
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175148
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175148
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175148
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175148
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175148
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175148
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175148
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175148  2022-12-12 01:53:19 Z    3 days
Failing since        175154  2022-12-12 15:07:03 Z    3 days    7 attempts
Testing same since   175189  2022-12-14 02:31:01 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       fail    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       fail    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 435 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 21:05:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 21:05:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463866.722137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5vQD-0005H4-Vy; Thu, 15 Dec 2022 21:05:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463866.722137; Thu, 15 Dec 2022 21:05:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5vQD-0005Gx-TF; Thu, 15 Dec 2022 21:05:41 +0000
Received: by outflank-mailman (input) for mailman id 463866;
 Thu, 15 Dec 2022 21:05:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+fpb=4N=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p5vQC-0005Gr-Vv
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 21:05:40 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 397464c7-7cbc-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 22:05:39 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id BFC63CE1D06;
 Thu, 15 Dec 2022 21:05:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6906EC433EF;
 Thu, 15 Dec 2022 21:05:31 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 397464c7-7cbc-11ed-8fd3-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671138332;
	bh=K1eTSOpSWhtWY/Ssybt1T4cbBFtqhejOC+GUowQHZIw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=j9hUXUMinQZvlWe6kFaZSOVGpN9h5h4pTrT8wrGrtfPqfJIzBX8CtK3WndMSPj2Sq
	 asEjrXzggKLCkOWQp2RaWeeSAmjFma8FSSGn0lmeMi7eJy4V/pphBqgCDsjn0BNSfC
	 C3vryxYxCqqPpPEO3fNIBr6ulScjZUgWHkBICKehjoKi/OFN0QKgPKgJrTZvg9dYsh
	 pwzUaQ2a2B86qvLmLJ7aSVlk57fBySc1qNj00DP2/vQHb33kk8dRk9RR8YfFQA80cP
	 H3tdSIUKmnC6kMh3ZX/ymZI+Fe6vYaRT8Gb6RMduAlfe1TcfT5XnoriMVx7FC6ye/K
	 dRef4ay5JG8Cw==
Date: Thu, 15 Dec 2022 13:05:29 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 1/2] automation: Add support for using XTF for arm64
 testing
In-Reply-To: <20221215152538.10266-2-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2212151303150.315094@ubuntu-linux-20-04-desktop>
References: <20221215152538.10266-1-michal.orzel@amd.com> <20221215152538.10266-2-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 15 Dec 2022, Michal Orzel wrote:
> Introduce support for using XTF on Arm to perform low-level testing.
> For the purpose of the CI testing, let's use the fork [1] from upstream
> XTF with implemented support for arm64 (the upstream XTF only supports
> x86).
> 
> Add a new script under automation/scripts to be used by the CI XTF test
> jobs to perform the following tasks:
>  - Compiling XTF,
>  - Creating dom0 rootfs,
>  - Generating u-boot script using ImageBuilder,
>  - Running Xen with Linux as dom0 and XTF as a dom0less domU using Qemu,
>  - Checking test result.
> 
> The script takes the name of the XTF test to run as a first parameter.
> 
> [1] https://gitlab.com/xen-project/fusa/xtf.git (branch xtf-arm)
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
>  automation/scripts/qemu-xtf-dom0less-arm64.sh | 97 +++++++++++++++++++
>  1 file changed, 97 insertions(+)
>  create mode 100755 automation/scripts/qemu-xtf-dom0less-arm64.sh
> 
> diff --git a/automation/scripts/qemu-xtf-dom0less-arm64.sh b/automation/scripts/qemu-xtf-dom0less-arm64.sh
> new file mode 100755
> index 000000000000..321d1abc543b
> --- /dev/null
> +++ b/automation/scripts/qemu-xtf-dom0less-arm64.sh
> @@ -0,0 +1,97 @@
> +#!/bin/bash
> +
> +set -ex
> +
> +# Name of the XTF test
> +xtf_test=$1
> +
> +# Message returned by XTF in case of success
> +passed="Test result: SUCCESS"
> +
> +# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
> +curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
> +./binaries/qemu-system-aarch64 \
> +   -machine virtualization=true \
> +   -cpu cortex-a57 -machine type=virt \
> +   -m 2048 -smp 2 -display none \
> +   -machine dumpdtb=binaries/virt-gicv2.dtb
> +
> +# XXX disable pl061 to avoid Linux crash
> +fdtput binaries/virt-gicv2.dtb -p -t s /pl061@9030000 status disabled
> +
> +# XTF
> +# Build a single XTF test passed as a first parameter to the script.
> +# Build XTF with GICv2 support to match Qemu configuration and with SBSA UART
> +# support, so that the test will use an emulated UART for printing messages.
> +# This will allow us to run the test on both debug and non-debug Xen builds.
> +rm -rf xtf
> +git clone https://gitlab.com/xen-project/fusa/xtf.git -b xtf-arm
> +make -C xtf TESTS=tests/${xtf_test} CONFIG_SBSA_UART=y CONFIG_GICV2=y -j$(nproc)
> +cp xtf/tests/${xtf_test}/test-mmu64le-${xtf_test} binaries/xtf-test
> +
> +# DOM0 rootfs

Given that we don't actually need dom0 for anything, maybe we could only
run xtf as the only domU guest without dom0 (pure dom0less
configuration)?


> +mkdir -p rootfs
> +cd rootfs
> +tar xzf ../binaries/initrd.tar.gz
> +mkdir proc
> +mkdir run
> +mkdir srv
> +mkdir sys
> +rm var/run
> +cp -ar ../binaries/dist/install/* .
> +
> +echo "#!/bin/bash
> +
> +export LD_LIBRARY_PATH=/usr/local/lib
> +bash /etc/init.d/xencommons start
> +
> +/usr/local/lib/xen/bin/init-dom0less
> +" > etc/local.d/xen.start
> +
> +chmod +x etc/local.d/xen.start
> +echo "rc_verbose=yes" >> etc/rc.conf
> +find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
> +cd ..
> +
> +# ImageBuilder
> +echo 'MEMORY_START="0x40000000"
> +MEMORY_END="0xC0000000"
> +
> +XEN="xen"
> +DEVICE_TREE="virt-gicv2.dtb"
> +
> +DOM0_KERNEL="Image"
> +DOM0_RAMDISK="dom0-rootfs.cpio.gz"

So here we would skip DOM0_KERNEL and DOM0_RAMDISK


> +XEN_CMD="console=dtuart dom0_mem=512M"

we probably don't need dom0_mem=512M


> +DOMU_KERNEL[0]="xtf-test"
> +DOMU_MEM[0]="128"
> +
> +NUM_DOMUS=1

but we would keep this


> +LOAD_CMD="tftpb"
> +UBOOT_SOURCE="boot.source"
> +UBOOT_SCRIPT="boot.scr"' > binaries/config
> +
> +rm -rf imagebuilder
> +git clone https://gitlab.com/ViryaOS/imagebuilder
> +bash imagebuilder/scripts/uboot-script-gen -t tftp -d binaries/ -c binaries/config
> +
> +# Run the test
> +rm -f smoke.serial
> +set +e
> +echo "  virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \
> +timeout -k 1 240 \
> +./binaries/qemu-system-aarch64 \
> +    -machine virtualization=true \
> +    -cpu cortex-a57 -machine type=virt \
> +    -m 2048 -monitor none -serial stdio \
> +    -smp 2 \
> +    -no-reboot \
> +    -device virtio-net-pci,netdev=n0 \
> +    -netdev user,id=n0,tftp=binaries \
> +    -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial
> +
> +set -e
> +(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
> +exit 0



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 21:08:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 21:08:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463874.722148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5vSy-0005tN-Cu; Thu, 15 Dec 2022 21:08:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463874.722148; Thu, 15 Dec 2022 21:08:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5vSy-0005tG-AK; Thu, 15 Dec 2022 21:08:32 +0000
Received: by outflank-mailman (input) for mailman id 463874;
 Thu, 15 Dec 2022 21:08:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+fpb=4N=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p5vSx-0005t8-0y
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 21:08:31 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f60f52d-7cbc-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 22:08:29 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 5FA0461F21;
 Thu, 15 Dec 2022 21:08:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 27B30C433EF;
 Thu, 15 Dec 2022 21:08:27 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f60f52d-7cbc-11ed-8fd3-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671138507;
	bh=Ti/kw7yXnonMyAPgPcedJQqxjvL8St+atant37xoY1U=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GajafKQEhGB5ogqrc5VAV5xdN6t3O0n+wNw6dVk7Q1x2O3tYclZ4VTCYJNe6/GqJ+
	 u/scUNz+8cQSlqOFdnoYcunHjNAVEp9Sm9wT64Y33z9DjMALPVoiCMgk3ESFUBiXVS
	 3TFnosPafHMROm90d1IAMPIPLVC0P78+fArbUFUyKUwlxKfLLj5lKGYiVzxhq4rEUw
	 1w+Oep3RQ+9Wa1GtYtuUBRZ93XTS0aZVEzoyVUuThTTMg7eT6Qc4Qglaa8yEert/VN
	 yS+qL8mviHgf/vdUCIr/2kHEd0HxPKACLj2yKbnq+33qLkja8z5VMpQmFCPEFcX2pQ
	 wpnrtDPF7v4bg==
Date: Thu, 15 Dec 2022 13:08:25 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 2/2] automation: Add test jobs to run XTF hypercall
 xen_version test
In-Reply-To: <20221215152538.10266-3-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2212151307390.315094@ubuntu-linux-20-04-desktop>
References: <20221215152538.10266-1-michal.orzel@amd.com> <20221215152538.10266-3-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 15 Dec 2022, Michal Orzel wrote:
> Add test jobs in both debug and non-debug versions to run hyp-xen-version
> XTF test as a dom0less domU on arm64. The purpose of this test is to
> validate the functional behavior of xen_version hypercall.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
>  automation/gitlab-ci/test.yaml | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 2d57f4feb74a..9d4b5315e710 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -165,6 +165,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-debug-arm64-boot-cpupools
>  
> +qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
> +    extends: .qemu-arm64
> +    script:
> +      - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
> +    needs:
> +      - *arm64-test-needs
> +      - alpine-3.12-gcc-arm64

I think this test only needs qemu-system-aarch64-6.0.0-arm64-export


> +qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version:
> +  extends: .qemu-arm64
> +  script:
> +    - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *arm64-test-needs
> +    - alpine-3.12-gcc-debug-arm64
> +
>  qemu-smoke-dom0-arm32-gcc:
>    extends: .qemu-arm32
>    script:
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 21:26:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 21:26:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463884.722166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5vkO-0008LW-TG; Thu, 15 Dec 2022 21:26:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463884.722166; Thu, 15 Dec 2022 21:26:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5vkO-0008LP-QS; Thu, 15 Dec 2022 21:26:32 +0000
Received: by outflank-mailman (input) for mailman id 463884;
 Thu, 15 Dec 2022 21:26:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=q86o=4N=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1p5vkM-0008LI-VQ
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 21:26:31 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2069.outbound.protection.outlook.com [40.107.94.69])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 22172d7d-7cbf-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 22:26:28 +0100 (CET)
Received: from DS7PR03CA0100.namprd03.prod.outlook.com (2603:10b6:5:3b7::15)
 by IA0PR12MB8325.namprd12.prod.outlook.com (2603:10b6:208:407::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Thu, 15 Dec
 2022 21:26:24 +0000
Received: from DS1PEPF0000E642.namprd02.prod.outlook.com
 (2603:10b6:5:3b7:cafe::43) by DS7PR03CA0100.outlook.office365.com
 (2603:10b6:5:3b7::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Thu, 15 Dec 2022 21:26:24 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E642.mail.protection.outlook.com (10.167.17.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.8 via Frontend Transport; Thu, 15 Dec 2022 21:26:23 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 15:26:23 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 15 Dec
 2022 15:26:22 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 15 Dec 2022 15:26:20 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22172d7d-7cbf-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aiP6j3KmeuQBWChrnEtj1rWSN+G2gjyk5OV87vaRyRoGctXjrLqtoLAqmyprM2ijW0UHBTBqIUWWuftoovuY5CwR6FeA8cwDxg+/+1naGl8ACsYuoN5Ehm7HvAQMLJQbMSKt6P2hgcolVqmAM5VG7NFZ65UBzfCDyNmBDlAgQsVazivnkxN1ffj4SY9IoujRpqMYfQAu5utVUWYxassy2nLynNsuYGD4BMHyL9981L1duf7x0KRGYYwQX9Wt49z0PrjFH3fRcoFAMJtGPGCB9Zlx0dT1WULRAnLQB/CT10IK5zvVy+KYBAVqpv8efUXMI6OcD2Plisd493BudOVcoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ljuQWQEtTPReGihcK1oLWIA2nnJYgm6prEGP32L0Pmg=;
 b=J6ObvvrVJz2AxdpaTne+5Af5wv+gRbDG+Fx4CODnaE0gk5O6OgdBopGPf6yWRcKjRiCQrN65QnebVB4Z63e4VAUmVdZGhJP3HLzsAi1lbZbwZozSs5Kz1eYLVizHh+8r51GOVdt9SKUnvhqIN207PgxBZ7jXvsHvcbFnUf9rZRjxcdRE8sQODKG18hYi/9Y3c6OzINvazuossCICsz5NXi4cY4GZrIeemrGliumEPkGnImllc5RvQMcQ6efmyPZXBHm3UhA+Nb1OdVgO17+CdTq3mK9tPiD+MzN8Ru1LPSCzWC0inIkz0evrG1mKvaFUih1dezTQXzN1wFB/1TQUxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ljuQWQEtTPReGihcK1oLWIA2nnJYgm6prEGP32L0Pmg=;
 b=XZbR79SSjXxeQ+55ntkHTeStY8hI6s6X9aZ1LK+Uz+qtymwfzgbPbwY0zYy3yRM85MoRL+ZE/TggPRF2Aocy3zKGr8oRLr93N2aLcX9nYEhS0gK3vdpwuhpbY4gLRy9PSXutiMTz3kbZtPwMmYXl1dNWqTZbPGq6bOEhkdc9UoI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Rahul Singh <rahul.singh@arm.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3] xen/arm: smmuv3: mark arm_smmu_disable_pasid __maybe_unused
Date: Thu, 15 Dec 2022 16:26:19 -0500
Message-ID: <20221215212619.78686-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.39.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E642:EE_|IA0PR12MB8325:EE_
X-MS-Office365-Filtering-Correlation-Id: f5646c02-2b89-438e-3ff9-08dadee30449
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tjpdDUPO11BCjeKkfs9pvRLLsy4Jcd0C3A7kWr86kRoIsP5dCBhBGEUXlbAE8Cjjx4HM8XEOB7+wHqZubjUFJYXqlI80F+h7MhJheOwEa0CdJviHkGy6Josx1h8WWMp+QmM+Af0wU7QIA5QyNTIkiEljvbVdA84/bkEquuNspTU0/Wx0bi5xsln0POmmdiGjTUX2QR3fsNlFUG/rUEStk96HnPFPpi+D2/k+TgY5O4vPFHe24lNt9NTL/gheSXjbuBkI4h1OFvo98GRs3W9pw1VOqzt0pxYRTQJvWmiRgQnmLeNa8bWxhcimILu+0yagUfe6tYbqTbaTVW9mprzrqTd9JhvYlx7HVod/KG/A3FM6BH3DgSW1zmnmijEX6A3VpvgFXuR4P5E7FwLcG6k43hiOjSJesPiwzsyfZ1Lcw8ZAzVPYlfZJLTmGP2Q74DrGuL8V9uUPvVFycJrKtUQGDViir72hwiRkkOqbWQOSaATJaq0LvhkrTndu9fIQYEXBgpHLjH64GhdtHebuXmeSZfI9omU6PvoilJsBktfSvHe5qMNSTzjGSESnjRcpY/UzOi9Ek264pbqbEtQ8MUeIqw1nzJ2R6lMdfhjesEMPzN9kFBGxLrDQqexY+QtY8mI5+MPFb9pvZl7OgQsgco6A0qeU8HtM5OH4FAYwcdIM3FFrHFkyqUTkEP7e0bNBHJvG+FUoeyH8JbCW4o9bqsO3R7xmub+olClcKVJSQsTko6c=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:CA;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(346002)(39860400002)(136003)(451199015)(40470700004)(46966006)(36840700001)(8676002)(8936002)(4326008)(1076003)(2616005)(36860700001)(70586007)(2906002)(70206006)(36756003)(356005)(82310400005)(186003)(81166007)(26005)(6916009)(44832011)(54906003)(40460700003)(83380400001)(316002)(336012)(40480700001)(5660300002)(47076005)(478600001)(86362001)(82740400003)(41300700001)(426003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Dec 2022 21:26:23.6417
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f5646c02-2b89-438e-3ff9-08dadee30449
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E642.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8325

When building with clang 12 and CONFIG_ARM_SMMU_V3=y, we observe the
following build error:

drivers/passthrough/arm/smmu-v3.c:1408:20: error: unused function 'arm_smmu_disable_pasid' [-Werror,-Wunused-function]
static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
                   ^

arm_smmu_disable_pasid is not currently called from anywhere in Xen, but
it is inside a section of code guarded by CONFIG_PCI_ATS, which may be
helpful in the future if the PASID feature is to be implemented. Add the
attribute __maybe_unused to the function.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Reviewed-by: Rahul Singh <rahul.singh@arm.com>
---
v2->v3:
Place __maybe_unused after "void" and add newline after __maybe_unused
Add Rahul's R-b

v1->v2:
Add __maybe_unused attribute instead of removing
---
 xen/drivers/passthrough/arm/smmu-v3.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index 9c9f4630090e..d58c5cd0bf77 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -1376,7 +1376,8 @@ static int arm_smmu_enable_pasid(struct arm_smmu_master *master)
 	return 0;
 }
 
-static void arm_smmu_disable_pasid(struct arm_smmu_master *master)
+static void __maybe_unused
+arm_smmu_disable_pasid(struct arm_smmu_master *master)
 {
 	struct pci_dev *pdev;
 
@@ -1405,7 +1406,8 @@ static inline int arm_smmu_enable_pasid(struct arm_smmu_master *master)
 	return 0;
 }
 
-static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
+static inline void __maybe_unused
+arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
 #endif /* CONFIG_PCI_ATS */
 
 static void arm_smmu_detach_dev(struct arm_smmu_master *master)
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 21:38:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 21:38:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463892.722177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5vvr-0001TQ-0k; Thu, 15 Dec 2022 21:38:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463892.722177; Thu, 15 Dec 2022 21:38:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5vvq-0001TJ-Te; Thu, 15 Dec 2022 21:38:22 +0000
Received: by outflank-mailman (input) for mailman id 463892;
 Thu, 15 Dec 2022 21:38:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+fpb=4N=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p5vvp-0001TA-Dy
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 21:38:21 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cadb3f15-7cc0-11ed-8fd3-01056ac49cbb;
 Thu, 15 Dec 2022 22:38:20 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 6370AB81CAE;
 Thu, 15 Dec 2022 21:38:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 27268C433D2;
 Thu, 15 Dec 2022 21:38:17 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cadb3f15-7cc0-11ed-8fd3-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671140298;
	bh=4PjhiSJ0cTwANbh+MCsiUb8qAu4KCIKTWftPX7NTVL8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=O6GQ8o/fI+BhdQLaOZf7AArzGInr5nd96cGQiowoCgnZ6eW3PqNNfmz5haKQVDtAL
	 9TMacXa4IA5+diwnwdX4yc6Hq2zo+DoxDIewecF4LzspGITS8nXJsU3nz0PgPk8TCJ
	 8EWv3n0B7WFY8P+YaWMPhMJ/FC9SWOPqsVB/IysyH5covTTsubYnA+Vu1gOBV/TDRc
	 DVpKoZ2eHH1mRTsB2Pfj/W0MW19b9z27ZFAbDtdrpLtlriOGco+pzyX6e2OHKm2CXA
	 OMLHO43JzNS/JnVmksFWZfKkZtZ32YwGO1wHmLjv/NFxL493CzI8wJoKiVKdjyThKm
	 Uxvc1We7oKtiw==
Date: Thu, 15 Dec 2022 13:38:15 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm: Allow to set grant table related limits for
 dom0less domUs
In-Reply-To: <20221214130833.543-1-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2212151335020.315094@ubuntu-linux-20-04-desktop>
References: <20221214130833.543-1-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 14 Dec 2022, Michal Orzel wrote:
> At the moment, for dom0less domUs, we do not have a way to specify
> per domain grant table related limits (unlike when using xl), namely
> max version, max number of grant frames, max number of maptrack frames.
> This means that such domains always use the values specified by the Xen
> command line parameters or their default values if unspecified.
> 
> In order to have more control over dom0less domUs, introduce the
> following device-tree properties that can be set under domUs nodes:
>  - max_grant_version to set the maximum grant table version the domain
>    is allowed to use,
>  - max_grant_frames to set the maximum number of grant frames the domain
>    is allowed to have,
>  - max_maptrack_frames to set the maximum number of grant maptrack frames
>    the domain is allowed to have.
> 
> Update documentation accordingly.
> 
> Note that the sanity checks regarding the passed values are already
> there in grant_table_init() resulting in panic in case of errors,
> therefore no need to repeat them in create_domUs().
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
>  docs/misc/arm/device-tree/booting.txt | 21 +++++++++++++++++++++
>  xen/arch/arm/domain_build.c           | 11 ++++++++++-
>  2 files changed, 31 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> index 87eaa3e25491..3879340b5e0a 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -223,6 +223,27 @@ with the following properties:
>      the default size of domain P2M pool, i.e. 1MB per guest vCPU plus 4KB
>      per MB of guest RAM plus 512KB for guest extended regions.
>  
> +- max_grant_version
> +
> +    Optional. A 32-bit integer specifying the maximum grant table version
> +    the domain is allowed to use (valid values are 1 or 2). If this property
> +    is missing, the value specified by Xen command line parameter gnttab=max-ver
> +    (or its default value if unspecified, i.e. 1) is used.
> +
> +- max_grant_frames
> +
> +    Optional. A 32-bit integer specifying the maximum number of grant frames
> +    the domain is allowed to have. If this property is missing, the value
> +    specified by Xen command line parameter gnttab_max_frames (or its default
> +    value if unspecified, i.e. 64) is used.
> +
> +- max_maptrack_frames
> +
> +    Optional. A 32-bit integer specifying the maximum number of grant maptrack
> +    frames the domain is allowed to have. If this property is missing, the
> +    value specified by Xen command line parameter gnttab_max_maptrack_frames
> +    (or its default value if unspecified, i.e. 1024) is used.
> +
>  Under the "xen,domain" compatible node, one or more sub-nodes are present
>  for the DomU kernel and ramdisk.
>  
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index bef5e905a73c..29b2f3e1faa2 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -3871,7 +3871,7 @@ void __init create_domUs(void)
>              .max_maptrack_frames = -1,
>              .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
>          };
> -        unsigned int flags = 0U;
> +        unsigned int flags = 0U, val;

val should be uint32_t


>          if ( !dt_device_is_compatible(node, "xen,domain") )
>              continue;
> @@ -3940,6 +3940,15 @@ void __init create_domUs(void)
>              d_cfg.cpupool_id = pool_id;
>          }
>  
> +        if ( dt_property_read_u32(node, "max_grant_version", &val) )
> +            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
> +
> +        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
> +            d_cfg.max_grant_frames = val;
> +
> +        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
> +            d_cfg.max_maptrack_frames = val;

We need to be careful here because max_grant_frames and
max_maptrack_frames are defined as int32_t (signed):

    int32_t max_grant_frames;
    int32_t max_maptrack_frames;

I think we should have a check to make sure we don't cause an overflow.
For instance:

if ( val >= INT32_MAX ) {
    error;
}
d_cfg.max_grant_frames = val;


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 21:40:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 21:40:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463900.722188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5vy8-0002pa-DT; Thu, 15 Dec 2022 21:40:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463900.722188; Thu, 15 Dec 2022 21:40:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5vy8-0002pT-9W; Thu, 15 Dec 2022 21:40:44 +0000
Received: by outflank-mailman (input) for mailman id 463900;
 Thu, 15 Dec 2022 21:40:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5vy7-0002pH-K3; Thu, 15 Dec 2022 21:40:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5vy7-0006aG-GL; Thu, 15 Dec 2022 21:40:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5vy7-0002fX-0z; Thu, 15 Dec 2022 21:40:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5vy7-00082m-0R; Thu, 15 Dec 2022 21:40:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lFL6JX73AtjlSXM8clvGy6klAfS4fJPTFlwnHXZ7Mew=; b=EDjrEyfKxgiBo5iPXtTu/9av/k
	RixaD3RkYTkZ8A1kU7Pml+DzJvA45ENRuwSE8E1anB5oUfINrz/Wst9cSuSZuxTvfDrofyfoyyFWi
	vR1h2+gznLUpjrYwOVkQXlRTar8r65dTWa7aJ5OmqmZlKQCrBD1Zb/3D7rD/724/GJu8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175267-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175267: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start.2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=ae2b87341b5ddb0dcb1b3f2d4f586ef18de75873
X-Osstest-Versions-That:
    qemuu=5204b499a6cae4dfd9fe762d5e6e82224892383b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 21:40:43 +0000

flight 175267 qemu-mainline real [real]
flight 175294 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175267/
http://logs.test-lab.xenproject.org/osstest/logs/175294/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail pass in 175294-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-vhd       22 guest-start.2           fail blocked in 175186
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175186
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175186
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175186
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175186
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175186
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175186
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175186
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175186
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                ae2b87341b5ddb0dcb1b3f2d4f586ef18de75873
baseline version:
 qemuu                5204b499a6cae4dfd9fe762d5e6e82224892383b

Last test of basis   175186  2022-12-14 01:37:36 Z    1 days
Testing same since   175267  2022-12-15 10:37:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Markus Armbruster <armbru@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   5204b499a6..ae2b87341b  ae2b87341b5ddb0dcb1b3f2d4f586ef18de75873 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 22:00:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 22:00:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463912.722198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5wGz-0005P1-4b; Thu, 15 Dec 2022 22:00:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463912.722198; Thu, 15 Dec 2022 22:00:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5wGz-0005Ou-1l; Thu, 15 Dec 2022 22:00:13 +0000
Received: by outflank-mailman (input) for mailman id 463912;
 Thu, 15 Dec 2022 22:00:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5wGy-0005Oo-H6
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 22:00:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5wGx-0007cc-Pp; Thu, 15 Dec 2022 22:00:11 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5wGx-0005e4-IK; Thu, 15 Dec 2022 22:00:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=of/nSaZ/qkfyh+NcLBXnsWsGzU6794ekKTbupadD2gw=; b=mooTjx0Aj8GxQijk/noJ1ex94F
	N1J5rJZm+im19aApYmcAUmzMp6EFgskZJqeBTqgbNivXfiu9fKGgNOX62b+hqyx29gR6mcydl5EMm
	WTrnF7ha3c8eRhmH5abE+BE3ZkcTe2gJ+XH5JgKX2zYqYBt04lcnW1HprZZ4CzXLwmy0=;
Message-ID: <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
Date: Thu, 15 Dec 2022 22:00:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
To: "Smith, Jackson" <rsmith@RiversideResearch.org>
Cc: "Brookes, Scott" <sbrookes@RiversideResearch.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "demi@invisiblethingslab.com" <demi@invisiblethingslab.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
 <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
From: Julien Grall <julien@xen.org>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
In-Reply-To: <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 15/12/2022 19:27, Smith, Jackson wrote:
> Hi Julien,

Hi Jackson,

> -----Original Message-----
> From: Julien Grall <julien@xen.org>
> Sent: Tuesday, December 13, 2022 3:55 PM
> To: Smith, Jackson <rsmith@RiversideResearch.org>
>>
>> On 13/12/2022 19:48, Smith, Jackson wrote:
>>> Hi Xen Developers,
>>
>> Hi Jackson,
>>
>> Thanks for sharing the prototype with the community. Some
>> questions/remarks below.
>>
>>> My team at Riverside Research is currently spending IRAD funding to
>>> prototype next-generation secure hypervisor design ideas on Xen. In
>>> particular, we are prototyping the idea of Virtual Memory Fuses for
>>> Software Enclaves, as described in this paper:
>>> https://www.nspw.org/papers/2020/nspw2020-brookes.pdf. Note
>> that that
>>> paper talks about OS/Process while we have implemented the idea
>> for
>>> Hypervisor/VM.
>>>
>>> Our goal is to emulate something akin to Intel SGX or AMD SEV, but
>>> using only existing virtual memory features common in all
> processors.
>>> The basic idea is not to map guest memory into the hypervisor so
>> that
>>> a compromised hypervisor cannot compromise (e.g. read/write) the
>>> guest. This idea has been proposed before, however, Virtual Memory
>>> Fuses go one step further; they delete the hypervisor's mappings to
>>> its own page tables, essentially locking the virtual memory
>>> configuration for the lifetime of the system. This creates what we
>>> call "Software Enclaves", ensuring that an adversary with arbitrary
>>> code execution in the hypervisor STILL cannot read/write guest
>> memory.
>>
>> I am confused, if the attacker is able to execute arbitrary code, then
>> what prevent them to write code to map/unmap the page?
>>
>> Skimming through the paper (pages 5-6), it looks like you would need
>> to implement extra defense in Xen to be able to prevent map/unmap a
>> page.
>>
> 
> The key piece is deleting all virtual mappings to Xen's page table
> structures. From the paper (4.4.1 last paragraph), "Because all memory
> accesses operate through the MMU, even page table memory needs
> corresponding page table entries in order to be written to." Without a
> virtual mapping to the page table, no code can modify the page table
> because it cannot read or write the table. Therefore the mappings to the
> guest cannot be restored even with arbitrary code execution.
I don't think this is sufficient. Even if the page-tables not part of 
the virtual mapping, an attacker could still modify TTBR0_EL2 (that's a 
system register hold a host physical address). So, with a bit more work, 
you can gain access to everything (see more below).

AFAICT, this problem is pointed out in the paper (section 4.4.1):

"The remaining attack vector. Unfortunately, deleting the page
table mappings does not stop the kernel from creating an entirely
new page table with the necessary mappings and switching to it
as the active context. Although this would be very difficult for
an attacker, switching to a new context with a carefully crafted
new page table structure could compromise the VMFE."

I believe this will be easier to do it in Xen because the virtual layout 
is not very complex.

It would be a matter of inserting a new entry in the root table you 
control. A rough sequence would be:
    1) Allocate a page
    2) Prepare the page to act as a root (e.g. mapping of your code...)
    3) Map the "existing" root as a writable.
    4) Update TTBR0_EL2 to point to your new root
    5) Add a mapping in the "old" root
    6) Switch to the old root

So can you outline how you plan to prevent/mitigate it?

> 
>>>
>>> With this technique, we protect the integrity and confidentiality of
>>> guest memory. However, a compromised hypervisor can still
>> read/write
>>> register state during traps, or refuse to schedule a guest, denying
>>> service. We also recognize that because this technique precludes
>>> modifying Xen's page tables after startup, it may not be compatible
>>> with all of Xen's potential use cases. On the other hand, there are
>>> some uses cases (in particular statically defined embedded systems)
>>> where our technique could be adopted with minimal friction.
>>
>>   From what you wrote, this sounds very much like the project Citrix
> and
>> Amazon worked on called "Secret-free hypervisor" with a twist. In your
>> case, you want to prevent the hypervisor to map/unmap the guest
>> memory.
>>
>> You can find some details in [1]. The code is x86 only, but I don't
> see
>> any major blocker to port it on arm64.
>>
> 
> Yes, we are familiar with the "secret-free hypervisor" work. As you
> point out, both our work and the secret-free hypervisor remove the
> directmap region to mitigate the risk of leaking sensitive guest
> secrets. However, our work is slightly different because it additionally
> prevents attackers from tricking Xen into remapping a guest.

I understand your goal, but I don't think this is achieved (see above). 
You would need an entity to prevent write to TTBR0_EL2 in order to fully 
protect it.

> 
> We see our goals and the secret-free hypervisor goals as orthogonal.
> While the secret-free hypervisor views guests as untrusted and wants to
> keep compromised guests from leaking secrets, our work comes from the
> perspective of an individual guest trying to protect its secrets from
> the rest of the stack. So it wouldn't be unreasonable to say "I want a
> hypervisor that is 'secret-free' and implements VMF". We see them as
> different techniques with overlapping implementations.

I can see why you want to divide them. But to me if you have VMF, then 
you have a secret-free hypervisor in term of implementation.

The major difference is how the xenheap is dealt with. At the moment, 
for the implementation we are looking to still use the same heap.

However there are a few drawback in term of pages usage:
   * A page can be allocated anywhere in the memory map. So you can end 
to allocate a L1 (Arm) or L3 (x86) just for a single page
   * Contiguous pages may be allocated at different time.
   * Page-tables can be empty

x86 has some logic to handle the last two points. but Arm don't have it 
yet. I feel this is quite complex (in particular because of the 
break-before-make).

So one solution would be to use a split heap. The trouble is that 
xenheap memory would be more "limited". That might be OK for VMF, I need 
to think a bit more for secret-free hypervisor.

Another solution would be to use the vmap() (which would not be possible 
for VMF).

> Using the split xenheap approach means we don't have to worry about
> unmapping guest pagetables or xen's dynamically allocated tables.
> 
> We still need to unmap the handful of static pagetables that are
> declared at the top of xen/arch/arm/mm.c. Remember our goal is to
> prevent Xen from reading or writing its own page tables. We can't just
> unmap these static tables without shattering because they end up part of
> the superpages that map the xen binary. We're probably only shattering a
> single superpage for this right now. Maybe we can move the static tables
> to a superpage aligned region of the binary and pad that region so we
> can unmap an entire superpage without shattering?

For static pages you don't even need to shatter superpages because Xen 
is mapped with 4KB pages.

> In the future we might
> adjust the boot code to avoid the dependency on static page table
> locations.

You will always need at least a few static page tables for the initial 
switch the MMU on. Now, you could possibly allocate a new set out of Xen 
and then switch to it.

But I am not sure this is worth the trouble if you can easily unmap the 
static version afterwards.

>>
>>> Finally, our initial testing suggests that Xen never reads guest
>>> memory (in a static, non-dom0-enchanced configuration), but have
>> not
>>> really explored this thoroughly.
>>> We know at least these things work:
>>> 	Dom0less virtual serial terminal
>>> 	Domain scheduling
>>> We are aware that these things currently depend on accessible guest
>>> memory:
>>> 	Some hypercalls take guest pointers as arguments
>>
>> There are not many hypercalls that don't take guest pointers.
>>
>>> 	Virtualized MMIO on arm needs to decode certain load/store
>>> 	instructions
>>
>> On Arm, this can be avoided of the guest OS is not using such
>> instruction. In fact they were only added to cater "broken" guest OS.
>>
> 
> What do you mean by "broken" guests?
> 
> I see in the arm ARM where it discusses interpreting the syndrome
> register. But I'm not understanding which instructions populate the
> syndrome register and which do not. Why are guests using instructions
> that don't populate the syndrome register considered "broken"?

The short answer is they can't be easily/safely decoded as Xen read from 
the data cache but the processor read instruction from the instruction 
cache. There are situation where they could mismatch. For more details...

> Is there
> somewhere I can look to learn more?
... you can read [1], [2].


> 
>> Also, this will probably be a lot more difficult on x86 as, AFAIK,
> there
>> is
>> no instruction syndrome. So you will need to decode the instruction in
>> order to emulate the access.
>>
>>>
>>> It's likely that other Xen features require guest memory access.
>>
>> For Arm, guest memory access is also needed when using the GICv3 ITS
>> and/or second-level SMMU (still in RFC).
>>
> 
> Thanks for pointing this out. We will be sure to make note of these
> limitations going forward.
> 
>>
>> For x86, if you don't want to access the guest memory, then you may
>> need to restrict to PVH as for HVM we need to emulate some devices in
>> QEMU.
>> That said, I am not sure PVH is even feasible.
>>
> 
> Is that mostly in reference to the need decode instructions on x86 or
> are there other reasons why you feel it might not be feasible to apply
> this to Xen on x86?

I am not aware of any other. But it would probably best to ask with 
someone more knowledgeable than me on x86.

Cheers,

[1] 
https://lore.kernel.org/xen-devel/e2d041b2-3b38-f19b-2d8e-3a255b0ac07e@amd.com/
[2] 
https://lore.kernel.org/xen-devel/20211126131459.2bbc81ad@donnerap.cambridge.arm.com


-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 22:08:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 22:08:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463920.722209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5wOm-00068v-SY; Thu, 15 Dec 2022 22:08:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463920.722209; Thu, 15 Dec 2022 22:08:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5wOm-00068o-Q1; Thu, 15 Dec 2022 22:08:16 +0000
Received: by outflank-mailman (input) for mailman id 463920;
 Thu, 15 Dec 2022 22:08:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p5wOl-00068i-G7
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 22:08:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5wOk-0007la-Vt; Thu, 15 Dec 2022 22:08:14 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p5wOk-0005xo-Ky; Thu, 15 Dec 2022 22:08:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=km8HMaf+h/G4giMciMUYyrczOwZGRlbTrGWh24VKxUE=; b=6jQZZbybZoihbku2nDPWaMkAys
	8HuJiiuQY7RNr4ki9TPabvnC5h6YUG6fN46fQA0Q0yaKXVHuLPtEsb+1tjoU9DW/9UVKJYZerRbkn
	Des/zvB4/9KS9bGri/2Jqlxv4TMNk8JMl1LjrA0wlehkIsH8G7JQbCscOyWZLWVuZqoc=;
Message-ID: <1d39868b-bafb-bce7-c8bb-1c4a3ea48398@xen.org>
Date: Thu, 15 Dec 2022 22:08:12 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v1 7/9] xen/arm: Restrict zeroeth_table_offset for ARM_64
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-8-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221215193245.48314-8-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 15/12/2022 19:32, Ayan Kumar Halder wrote:
> zeroeth_table_offset is not accessed for ARM_32.

Right, but what is the problem with keep it? With your proposal we need 
to duplicate the macro DECLARE_OFFSETS() which is not great.

So you want to provide a more compelling reason to have the duplication.

> This is a left over of the following commit

I am not sure why you are saying this is a left-over.

DECLARE_OFFSETS was introduced in 2019 so...

> 
> "
> commit 5fa6e9abfb11
> Author: Ian Campbell <ian.campbell@citrix.com>
> Date:   Thu Sep 18 01:09:48 2014 +0100


... 5 years after there.

> 
>      xen: arm: Implement variable levels in dump_pt_walk
> "
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
>   xen/arch/arm/include/asm/lpae.h | 10 ++++++++++
>   xen/arch/arm/mm.c               |  4 ++++
>   2 files changed, 14 insertions(+)
> 
> diff --git a/xen/arch/arm/include/asm/lpae.h b/xen/arch/arm/include/asm/lpae.h
> index 3fdd5d0de2..35769debf9 100644
> --- a/xen/arch/arm/include/asm/lpae.h
> +++ b/xen/arch/arm/include/asm/lpae.h
> @@ -161,6 +161,7 @@ static inline bool lpae_is_superpage(lpae_t pte, unsigned int level)
>   #define lpae_set_mfn(pte, mfn)  ((pte).walk.base = mfn_x(mfn))
>   
>   /* Generate an array @var containing the offset for each level from @addr */
> +#ifdef CONFIG_ARM_64
>   #define DECLARE_OFFSETS(var, addr)          \
>       const unsigned int var[4] = {           \
>           zeroeth_table_offset(addr),         \
> @@ -168,6 +169,15 @@ static inline bool lpae_is_superpage(lpae_t pte, unsigned int level)
>           second_table_offset(addr),          \
>           third_table_offset(addr)            \
>       }
> +#else
> +#define DECLARE_OFFSETS(var, addr)          \
> +    const unsigned int var[4] = {           \
> +        0,                                  \
> +        first_table_offset(addr),           \
> +        second_table_offset(addr),          \
> +        third_table_offset(addr)            \
> +    }
> +#endif
>   
>   /*
>    * Standard entry type that we'll use to build Xen's own pagetables.
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index 630175276f..be939fb106 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -184,7 +184,11 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
>       static const char *level_strs[4] = { "0TH", "1ST", "2ND", "3RD" };
>       const mfn_t root_mfn = maddr_to_mfn(ttbr);
>       const unsigned int offsets[4] = {
> +#ifdef CONFIG_ARM_64
>           zeroeth_table_offset(addr),
> +#else
> +        0,
> +#endif
>           first_table_offset(addr),
>           second_table_offset(addr),
>           third_table_offset(addr)

Please use DECLARE_OFFSETS() here.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 23:44:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 23:44:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463932.722234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5xu8-00080K-0G; Thu, 15 Dec 2022 23:44:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463932.722234; Thu, 15 Dec 2022 23:44:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5xu7-00080D-Rq; Thu, 15 Dec 2022 23:44:43 +0000
Received: by outflank-mailman (input) for mailman id 463932;
 Thu, 15 Dec 2022 23:44:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5xu6-000803-Mk; Thu, 15 Dec 2022 23:44:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5xu6-0001LH-KP; Thu, 15 Dec 2022 23:44:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5xu6-0000ta-AU; Thu, 15 Dec 2022 23:44:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5xu6-00066x-86; Thu, 15 Dec 2022 23:44:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BdsooQbYcZ+kx8Gj0FhJsaiWaC9vW4V5UuKvfweoOAA=; b=18GdniqMZcfUrWHlHbHFt8t9LZ
	PRvMb+/DM4/DVhNNmte7u6vdVv9PiiYqpZfWVw01U6rFmCLQh4uROKOsEA2JJYhXGfl+FsfE3uVd0
	u59wz5BfjtThbdHd85q805h9j2kzLlSpGlzdMMjStTWVX8+F/vNsTHssCAIui7fAOFc8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175292-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175292: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c8aaebccc8e8fb5d90080e664202b0011ce4d0bd
X-Osstest-Versions-That:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 15 Dec 2022 23:44:42 +0000

flight 175292 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175292/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  c8aaebccc8e8fb5d90080e664202b0011ce4d0bd
baseline version:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5

Last test of basis   175173  2022-12-13 15:00:27 Z    2 days
Failing since        175199  2022-12-14 12:01:52 Z    1 days   16 attempts
Testing same since   175292  2022-12-15 20:00:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien@xen.org>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Viresh Kumar <viresh.kumar@linaro.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   630dc3798e..c8aaebccc8  c8aaebccc8e8fb5d90080e664202b0011ce4d0bd -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 23:58:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 23:58:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463943.722249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7A-0001EO-F0; Thu, 15 Dec 2022 23:58:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463943.722249; Thu, 15 Dec 2022 23:58:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7A-0001Do-Ao; Thu, 15 Dec 2022 23:58:12 +0000
Received: by outflank-mailman (input) for mailman id 463943;
 Thu, 15 Dec 2022 23:58:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t+b5=4N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5y78-0001Aq-Rl
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 23:58:10 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51097160-7cd4-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 00:58:08 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 463AB320090D;
 Thu, 15 Dec 2022 18:58:03 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Thu, 15 Dec 2022 18:58:04 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 18:58:02 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51097160-7cd4-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671148682; x=1671235082; bh=cvJovTwCt41fzIOTdCiPdt8ExuQVj5dKqG0
	zaU3tXpI=; b=F9r+QW1COyhmTZoUVsfkLdNNZiBCzgF2RkeZf5KtJsv63PNDrJ0
	P7KEqFpV5WT01E3pguVFHl9y9n1frGJ9Z/c1uidG1tiWgfQUDKq897EslXuL+m0/
	rJ3oXDWIZLlX/afh6mwOUvu//EdYf2YZCnk36W2nAOVVNlin+ODZNaesC7ZZ+h2Y
	fmntJ8izrOEuMqxs1hU5FBp2/8tXpisxu0PohH0mCIcjOukZDezLErsG5GRiqJNn
	IsX3VQfym1JgASS1tp59oP25vi1XwQ3U/pyTzx/YeK4ddWyAr40hGqIdJl6nq5fc
	IfatsVWdfE9tDWKdyfnohnKoWeuVj4IPULw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671148682; x=1671235082; bh=cvJovTwCt41fz
	IOTdCiPdt8ExuQVj5dKqG0zaU3tXpI=; b=FImOtPflN3sL3hxSo95k4fRxUr/WV
	LyYxmEZZQgnZaEwZcRpPl0nJtrreDd8QsXK3Cb+V5YXtHzDJn0Dsduhc0DLdNKwT
	UwpD1d/9OonSALctqXY9zLv7rKvIfAdPDYZZgTw6PDodFB8XR8yNFeibki3RSyf1
	ZT68X1To7dQTGVMqE7nxNa1CC7+QSFvNhsDeZNimTLr5507CD6mDjlBUoGEBUxNp
	CLOMfYikpuoUrFarTXUIuJfdVn0tdZ+v+36Zkl8u3CQ9gROFil7ROkdzpzlFzcpJ
	lueRBd+7ddY1VsYq8lPb4VD8JG0s8hLuncicezMOuyQIeHEt9Ce/4n0IA==
X-ME-Sender: <xms:irSbY40KdVYxh-b9Y9mRpgVMpIEMnQxSpvrwilUqiX2j5Jhxg69zJQ>
    <xme:irSbYzFIQj8aORHCFCYU-MMPI1sdikYMJ4v9r1Cqg83tak7aym-AxpaCfYK4VwSU5
    w2xZ-Solff6ObE>
X-ME-Received: <xmr:irSbYw4boX5j_MhS3PjdVglwWzuQ4ZKcszBQLXLTs927ht7fZ28l41NvvDp_OliZsFHXhff8VW-5>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeigddugecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomhepffgvmhhiucfo
    rghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomheqnecuggftrfgrthhtvghrnhephfeggfeiiedtieejgedutdekgfetgeeh
    heegteekvefhfefgudehtdevleegueegnecuvehluhhsthgvrhfuihiivgeptdenucfrrg
    hrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgr
    sgdrtghomh
X-ME-Proxy: <xmx:irSbYx2FsgIgkS9WKFiyNG_ihnWxoGDsujejCB2P9irRYDbB2WDYZg>
    <xmx:irSbY7F_mqILVQum0KpfBd7_Jf1pSbD1p9-vmorNROD9_dNLXBuGqg>
    <xmx:irSbY68AlMBSm-YsF-aZZJ8rnCek6Q4wmhfANjBmoY2WA6qgDu-5MQ>
    <xmx:irSbYxbjJCNA29u9UHlWk4lMXibg1XYAAYIhjA2ZSILY575s5Y_ygA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v4 00/10] Make PAT handling less brittle
Date: Thu, 15 Dec 2022 18:57:42 -0500
Message-Id: <cover.1671139149.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

While working on Qubes OS Marek found out that there were some PAT hacks
in the Linux i195 driver.  I decided to make Xen use Linux’s PAT to see
if it solved the graphics glitches that were observed; it did.  This
required a substantial amount of preliminary work that is useful even
without using Linux’s PAT.

Patches 1 through 9 are the preliminary work and I would like them to be
accepted into upstream Xen.  Patch 9 does break ABI by rejecting the
unused PAT entries, but this will only impact buggy PV guests and can be
disabled with a Xen command-line option.  Patch 10 actually switches to
Linux’s PAT and is NOT intended to be merged (at least for now) as it
would at a minimum break migration of PV guests from hosts that do not
have the patch.

This patch series is shorter than v3 as two of the patches have already
been accepted into staging.  Only patches 9 and 10 actually change Xen’s
observable behavior.  Patches 1, 2, and 7 are prerequisites, and patches
3 through 6 are cleanups.  Patch 8 makes changing the PAT much less
error-prone, as problems with the PAT or with the associated _PAGE_*
constants will be detected at compile time.

Demi Marie Obenour (10):
  x86: Add memory type constants
  x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
  x86: Replace PAT_* with X86_MT_*
  x86: Replace MTRR_* constants with X86_MT_* constants
  x86: Replace EPT_EMT_* constants with X86_MT_*
  x86: Remove MEMORY_NUM_TYPES and NO_HARDCODE_MEM_TYPE
  x86: Derive XEN_MSR_PAT from its individual entries
  x86/mm: make code robust to future PAT changes
  x86/mm: Reject invalid cacheability in PV guests by default
  x86: Use Linux's PAT

 xen/arch/x86/cpu/mtrr/generic.c         |  10 +--
 xen/arch/x86/cpu/mtrr/main.c            |  26 +++---
 xen/arch/x86/e820.c                     |   4 +-
 xen/arch/x86/hvm/hvm.c                  |  12 +--
 xen/arch/x86/hvm/mtrr.c                 | 100 ++++++++++++------------
 xen/arch/x86/hvm/vmx/vmcs.c             |   2 +-
 xen/arch/x86/hvm/vmx/vmx.c              |  18 ++---
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |   2 +-
 xen/arch/x86/include/asm/hvm/vmx/vmx.h  |   9 ---
 xen/arch/x86/include/asm/mtrr.h         |  22 +-----
 xen/arch/x86/include/asm/page.h         |   4 +-
 xen/arch/x86/include/asm/processor.h    |  19 ++++-
 xen/arch/x86/include/asm/x86-defns.h    |  11 +++
 xen/arch/x86/mm.c                       |  84 ++++++++++++++++++--
 xen/arch/x86/mm/hap/nested_ept.c        |   4 +-
 xen/arch/x86/mm/p2m-ept.c               |  51 ++++++------
 xen/arch/x86/mm/shadow/multi.c          |   8 +-
 17 files changed, 227 insertions(+), 159 deletions(-)

-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 23:58:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 23:58:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463942.722244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7A-0001BE-6a; Thu, 15 Dec 2022 23:58:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463942.722244; Thu, 15 Dec 2022 23:58:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7A-0001B7-2q; Thu, 15 Dec 2022 23:58:12 +0000
Received: by outflank-mailman (input) for mailman id 463942;
 Thu, 15 Dec 2022 23:58:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t+b5=4N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5y78-0001Aq-3U
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 23:58:10 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51fa24a7-7cd4-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 00:58:08 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 98039320092E;
 Thu, 15 Dec 2022 18:58:05 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Thu, 15 Dec 2022 18:58:06 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 18:58:04 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51fa24a7-7cd4-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671148685; x=1671235085; bh=OqxRQgedI1lUNXYrN3Idtsly6m9/XwYk1xQ
	JUvCAU3w=; b=qtCDg/XAZjbK1qyQ45A8qy4GEhWpquznmr08pS1Cp2enFSg4RKO
	SFAeHMP64vRn2xENZCOQo7jLdZMNL0EC2FHtCLemMaRe6z5mEaXywVuQjMqVgj2e
	rafRwrjRGaYuelAZHVVDZtGv3oDcJNO5P7CHL1DrpGATBcEhSRy9NQ0M0K9ViALi
	4bHakB2twrGGLuPssKEslfB0cKMfMtzE6gvH3sergE+tADSlmJJNqlsheJTAURwp
	ccstUAPOVJ5ctLcFwqKxv49PAw9i54K6CYTp2d3tpLZpxUXw/CmOAg+CXVI+gGD8
	Al3BxQQk9savKMfU9tQ419NfDE7JyYuQoXQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671148685; x=1671235085; bh=OqxRQgedI1lUN
	XYrN3Idtsly6m9/XwYk1xQJUvCAU3w=; b=FxdYMSDdrz22AIMURH9AdJQMJsHs0
	Q7QzNQmnJ34+EV2xp9xjQR38Y6HA/LES7lm4lripvfY4qbuF/lvYRuwmJM8UcJlz
	BuM5dZvjGg4ILMx+aEixZ0UIqgEPZJl6A+ebUzEQS7ijNFSClQj8whA2PWTxJsEj
	bokSNO2yedp1Bx2L6/LI/GQYl2UCfzjYMLQ9SqflI9ChUnTKLSQp06q2GMoJFTnI
	5eiiHepeHrqv/EtRhv2e+BkXYAQPWS1Ng9AQrvXd4e/pmf2YU9m6b3gQczaRsOI6
	7yM3gqQPNByYvtZnkNq11XocMCB6JMKkHTovnwkhPaSo6w9gsE/EXmx9g==
X-ME-Sender: <xms:jbSbYxDLElVX7DBFrfZvk1kXzj5jm7bbYeKBO5OMWpbNmtYTh9xlOg>
    <xme:jbSbY_jxJnYSmQkyK3_vzC0-PiVMWVmFv5loF2MihE9FD0MxCWt08KJd0vgqkJ1uw
    pgIW8MefxSF39Y>
X-ME-Received: <xmr:jbSbY8ku-mMFseuVfazoarWKnGpDGka8nJNbXVPldHc2OUdlgXrznDYU8aI20EbimhAFc8SVB41J>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeigddugecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:jbSbY7ztvQsr0M3rhuXN4SGV8FO_q-CWkYY_NUgKlX7xVaTfWn93WQ>
    <xmx:jbSbY2TlCBFGr97pvrDeZFwfOeMeQ5Y-5sJKpy9P9CMOSm4k6kf_4g>
    <xmx:jbSbY-Yf-O_U07zhzO3-pOAwSzE0XjbtaGzmS-upq3NvF5BOnhEdDA>
    <xmx:jbSbY5FbpiHytMAMSyp5xJThCmo2FwDZUUGB_QZ3fl4v6AptSG7WEA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v4 01/10] x86: Add memory type constants
Date: Thu, 15 Dec 2022 18:57:43 -0500
Message-Id: <6d1135e58cbc12f47d144252d6e80c3a6f76a5f7.1671139149.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671139149.git.demi@invisiblethingslab.com>
References: <cover.1671139149.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

These are not currently used, so there is no functional change.  Future
patches will use these constants.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v3:
- Name the reserved values X86_MT_RSVD_2 and X86_MT_RSVD_3, to
  match the architectural values of 0x02 and 0x03.

Changes since v2:

- Avoid using _AC where not required.
- Define reserved memory types inline
---
 xen/arch/x86/include/asm/x86-defns.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
index 28628807cb9897cf6fa8e266f71f5f220813984d..42b5f382d438d21ac97b6438e8c810c7b964cf6d 100644
--- a/xen/arch/x86/include/asm/x86-defns.h
+++ b/xen/arch/x86/include/asm/x86-defns.h
@@ -153,4 +153,15 @@
      (1u << X86_EXC_AC) | (1u << X86_EXC_CP) |                      \
      (1u << X86_EXC_VC) | (1u << X86_EXC_SX))
 
+/* Memory types */
+#define X86_MT_UC     0x00 /* uncachable */
+#define X86_MT_WC     0x01 /* write-combined */
+#define X86_MT_RSVD_2 0x02 /* reserved */
+#define X86_MT_RSVD_3 0x03 /* reserved */
+#define X86_MT_WT     0x04 /* write-through */
+#define X86_MT_WP     0x05 /* write-protect */
+#define X86_MT_WB     0x06 /* write-back */
+#define X86_MT_UCM    0x07 /* UC- */
+#define X86_NUM_MT    0x08
+
 #endif	/* __XEN_X86_DEFNS_H__ */
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 23:58:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 23:58:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463945.722277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7D-0001wV-48; Thu, 15 Dec 2022 23:58:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463945.722277; Thu, 15 Dec 2022 23:58:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7D-0001wM-13; Thu, 15 Dec 2022 23:58:15 +0000
Received: by outflank-mailman (input) for mailman id 463945;
 Thu, 15 Dec 2022 23:58:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t+b5=4N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5y7B-0001Aq-RF
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 23:58:14 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 54b8fefc-7cd4-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 00:58:12 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 3AE5B320090E;
 Thu, 15 Dec 2022 18:58:10 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Thu, 15 Dec 2022 18:58:11 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 18:58:08 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54b8fefc-7cd4-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671148689; x=1671235089; bh=xq/7AzYNw/o1jMOYl29ZQus5z/RisXCH6hV
	d+SD7smw=; b=gGsO/+B/q0B5N0k59a/Vl+tnwlUp6Ul/bUX+y4C/b/aE0PftSU2
	yg4qypDtOihEFchyZcDzmWnhn+YjZaCKj5nx0J/T9UVlchas5RSMmGTaUtFhnesB
	D1njDzfmCtTJu7hgMheiPAevUjntnikz4choPzzZlTW3kgDaMf765wtf92Cq7N+Y
	g/XB9hCGqFyMw/LrPjizNqn0McuvGB8E7FMGJrdmdazZseNwJBhZoPFhMipvYGn9
	z9vcovaWAIFY9fZPgTTUeRbiI2VxSdXwsVKthul87KyuQ51RSwVBspqXb6iaSnsM
	La/Od8dDVqrXUJr2CqX+woIq+58RcnIOzuQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671148689; x=1671235089; bh=xq/7AzYNw/o1j
	MOYl29ZQus5z/RisXCH6hVd+SD7smw=; b=lfNYAqMbONlWmryOaYSrZNiWvpwjk
	BPhOFrjWG0L+yb6+HJvcAJofZdtCMzBIb0t94aukP3HZuYbvlEh7FcjJHr39ll3A
	YflUJUovMPMilXIgqvVMSq5QEhxuMuSFSTDG2HK56EKEt6ASOqPtadYaa8UsX9qi
	/nF23+pmGYzGJy6sm2CcKU+4ptwaySB+ZbgJfoSHVPbVVi9lMmqnrNIz7l+xJNqB
	rep5pfOkQLSDYqeO5TPHrt08Q0NWpAZ1XWVO5NcaK+IhpdKh2Ej9uKMZGNPqDTN1
	ySiYmk8wXjg/UXFvg3ENK04UQFqPPWRV0XdXuRyLqStmUhu9saOURyDFA==
X-ME-Sender: <xms:kbSbY4KJhsKoXto59QZMeCs9H_RkqA5qg2dcy_11ANLLa8jbYzNpkg>
    <xme:kbSbY4J0oXphqRCMfRit-f-5FGWCZgIPH09oVpCE0gU0dEkLkkWI9pkIqB5z9fEjU
    qlP5JvkdhQPKh4>
X-ME-Received: <xmr:kbSbY4u_o2DfLUcyzYpj3tdBjtYBVshycAFmL_nszzsZePy1gV3OMdTC1EDkhD_Se7zbBxeaejM2>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeigddugecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeefkeelveethfeuffetvdeigeduteev
    geffhfekieettdfhuedtvdduteetgffftdenucffohhmrghinhephhhvmhdrihhsnecuve
    hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepuggvmhhisehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:kbSbY1bc1qZoLppwhVpaivm-YoW4g_PEC8UQ5TeMSSfCY1Z6b0Inlw>
    <xmx:kbSbY_bY_ALILIKJ7v4Vcr3eTEKzTlk989K1p-CQvTuPkmm0EhplUA>
    <xmx:kbSbYxABREj8_7yOBjROb6ST12vfPmiLr-YfFD_aB6Un9kseUs6mag>
    <xmx:kbSbY9OgvfOu-VTITKeWL__zNILOoSlLFnkg3SL-Il_F7NHjWmj5iQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v4 03/10] x86: Replace PAT_* with X86_MT_*
Date: Thu, 15 Dec 2022 18:57:45 -0500
Message-Id: <a37e73401aba2bdefe0c4aec52205c4455c4f0c5.1671139149.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671139149.git.demi@invisiblethingslab.com>
References: <cover.1671139149.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This allows eliminating the former.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v2: Style adjustments
---
 xen/arch/x86/hvm/hvm.c          | 12 ++++----
 xen/arch/x86/hvm/mtrr.c         | 52 ++++++++++++++++-----------------
 xen/arch/x86/hvm/vmx/vmx.c      | 16 +++++-----
 xen/arch/x86/include/asm/mtrr.h | 12 +-------
 xen/arch/x86/mm/p2m-ept.c       |  4 +--
 xen/arch/x86/mm/shadow/multi.c  |  4 +--
 6 files changed, 45 insertions(+), 55 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index ae4368ec4b338cf8c6cb14d383f612c91c98e800..00b3fa56e25e2934e2870e11fd19b120daff2715 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -307,12 +307,12 @@ int hvm_set_guest_pat(struct vcpu *v, uint64_t guest_pat)
     for ( i = 0, tmp = guest_pat; i < 8; i++, tmp >>= 8 )
         switch ( tmp & 0xff )
         {
-        case PAT_TYPE_UC_MINUS:
-        case PAT_TYPE_UNCACHABLE:
-        case PAT_TYPE_WRBACK:
-        case PAT_TYPE_WRCOMB:
-        case PAT_TYPE_WRPROT:
-        case PAT_TYPE_WRTHROUGH:
+        case X86_MT_UCM:
+        case X86_MT_UC:
+        case X86_MT_WB:
+        case X86_MT_WC:
+        case X86_MT_WP:
+        case X86_MT_WT:
             break;
         default:
             return 0;
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 4d2aa6def86de45aeeaade7a1a7815c5ef2b3d7a..242623f3c239ee18a44f882ecb3910a00c615825 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -37,7 +37,7 @@ static const uint8_t pat_entry_2_pte_flags[8] = {
     _PAGE_PAT | _PAGE_PCD, _PAGE_PAT | _PAGE_PCD | _PAGE_PWT };
 
 /* Effective mm type lookup table, according to MTRR and PAT. */
-static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][PAT_TYPE_NUMS] = {
+static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
 #define RS MEMORY_NUM_TYPES
 #define UC MTRR_TYPE_UNCACHABLE
 #define WB MTRR_TYPE_WRBACK
@@ -72,8 +72,8 @@ static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
     };
 
 /* Lookup table for PAT entry of a given PAT value in host PAT. */
-static uint8_t __read_mostly pat_entry_tbl[PAT_TYPE_NUMS] =
-    { [0 ... PAT_TYPE_NUMS-1] = INVALID_MEM_TYPE };
+static uint8_t __read_mostly pat_entry_tbl[X86_NUM_MT] =
+    { [0 ... X86_NUM_MT - 1] = INVALID_MEM_TYPE };
 
 static int __init cf_check hvm_mtrr_pat_init(void)
 {
@@ -81,7 +81,7 @@ static int __init cf_check hvm_mtrr_pat_init(void)
 
     for ( i = 0; i < MTRR_NUM_TYPES; i++ )
     {
-        for ( j = 0; j < PAT_TYPE_NUMS; j++ )
+        for ( j = 0; j < X86_NUM_MT; j++ )
         {
             unsigned int tmp = mm_type_tbl[i][j];
 
@@ -90,9 +90,9 @@ static int __init cf_check hvm_mtrr_pat_init(void)
         }
     }
 
-    for ( i = 0; i < PAT_TYPE_NUMS; i++ )
+    for ( i = 0; i < X86_NUM_MT; i++ )
     {
-        for ( j = 0; j < PAT_TYPE_NUMS; j++ )
+        for ( j = 0; j < X86_NUM_MT; j++ )
         {
             if ( pat_cr_2_paf(XEN_MSR_PAT, j) == i )
             {
@@ -115,7 +115,7 @@ uint8_t pat_type_2_pte_flags(uint8_t pat_type)
      * given pat_type. If host PAT covers all the PAT types, it can't happen.
      */
     if ( unlikely(pat_entry == INVALID_MEM_TYPE) )
-        pat_entry = pat_entry_tbl[PAT_TYPE_UNCACHABLE];
+        pat_entry = pat_entry_tbl[X86_MT_UC];
 
     return pat_entry_2_pte_flags[pat_entry];
 }
@@ -145,14 +145,14 @@ int hvm_vcpu_cacheattr_init(struct vcpu *v)
     m->mtrr_cap = (1u << 10) | (1u << 8) | num_var_ranges;
 
     v->arch.hvm.pat_cr =
-        ((uint64_t)PAT_TYPE_WRBACK) |               /* PAT0: WB */
-        ((uint64_t)PAT_TYPE_WRTHROUGH << 8) |       /* PAT1: WT */
-        ((uint64_t)PAT_TYPE_UC_MINUS << 16) |       /* PAT2: UC- */
-        ((uint64_t)PAT_TYPE_UNCACHABLE << 24) |     /* PAT3: UC */
-        ((uint64_t)PAT_TYPE_WRBACK << 32) |         /* PAT4: WB */
-        ((uint64_t)PAT_TYPE_WRTHROUGH << 40) |      /* PAT5: WT */
-        ((uint64_t)PAT_TYPE_UC_MINUS << 48) |       /* PAT6: UC- */
-        ((uint64_t)PAT_TYPE_UNCACHABLE << 56);      /* PAT7: UC */
+        ((uint64_t)X86_MT_WB) |           /* PAT0: WB */
+        ((uint64_t)X86_MT_WT << 8) |      /* PAT1: WT */
+        ((uint64_t)X86_MT_UCM << 16) |    /* PAT2: UC- */
+        ((uint64_t)X86_MT_UC << 24) |     /* PAT3: UC */
+        ((uint64_t)X86_MT_WB << 32) |     /* PAT4: WB */
+        ((uint64_t)X86_MT_WT << 40) |     /* PAT5: WT */
+        ((uint64_t)X86_MT_UCM << 48) |    /* PAT6: UC- */
+        ((uint64_t)X86_MT_UC << 56);      /* PAT7: UC */
 
     if ( is_hardware_domain(v->domain) )
     {
@@ -356,7 +356,7 @@ uint32_t get_pat_flags(struct vcpu *v,
      */
     pat_entry_value = mtrr_epat_tbl[shadow_mtrr_type][guest_eff_mm_type];
     /* If conflit occurs(e.g host MTRR is UC, guest memory type is
-     * WB),set UC as effective memory. Here, returning PAT_TYPE_UNCACHABLE will
+     * WB), set UC as effective memory. Here, returning X86_MT_UC will
      * always set effective memory as UC.
      */
     if ( pat_entry_value == INVALID_MEM_TYPE )
@@ -371,7 +371,7 @@ uint32_t get_pat_flags(struct vcpu *v,
                     "because the host mtrr type is:%d\n",
                     gl1e_flags, (uint64_t)gpaddr, guest_eff_mm_type,
                     shadow_mtrr_type);
-        pat_entry_value = PAT_TYPE_UNCACHABLE;
+        pat_entry_value = X86_MT_UC;
     }
     /* 4. Get the pte flags */
     return pat_type_2_pte_flags(pat_entry_value);
@@ -620,13 +620,13 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
                 p2m_memory_type_changed(d);
                 switch ( type )
                 {
-                case PAT_TYPE_UC_MINUS:
+                case X86_MT_UCM:
                     /*
                      * For EPT we can also avoid the flush in this case;
                      * see epte_get_entry_emt().
                      */
                     if ( hap_enabled(d) && cpu_has_vmx )
-                case PAT_TYPE_UNCACHABLE:
+                case X86_MT_UC:
                         break;
                     /* fall through */
                 default:
@@ -638,12 +638,12 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
         rcu_read_unlock(&pinned_cacheattr_rcu_lock);
         return -ENOENT;
 
-    case PAT_TYPE_UC_MINUS:
-    case PAT_TYPE_UNCACHABLE:
-    case PAT_TYPE_WRBACK:
-    case PAT_TYPE_WRCOMB:
-    case PAT_TYPE_WRPROT:
-    case PAT_TYPE_WRTHROUGH:
+    case X86_MT_UCM:
+    case X86_MT_UC:
+    case X86_MT_WB:
+    case X86_MT_WC:
+    case X86_MT_WP:
+    case X86_MT_WT:
         break;
 
     default:
@@ -681,7 +681,7 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
 
     list_add_rcu(&range->list, &d->arch.hvm.pinned_cacheattr_ranges);
     p2m_memory_type_changed(d);
-    if ( type != PAT_TYPE_WRBACK )
+    if ( type != X86_MT_WB )
         flush_all(FLUSH_CACHE);
 
     return 0;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 7c81b80710f99e08fe8291d3e413c449322b777d..b543c3983d77ae807e8bd97330691a79d8d39bae 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1231,14 +1231,14 @@ static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
              * memory type are all UC.
              */
             u64 uc_pat =
-                ((uint64_t)PAT_TYPE_UNCACHABLE)       |       /* PAT0 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 8)  |       /* PAT1 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 16) |       /* PAT2 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 24) |       /* PAT3 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 32) |       /* PAT4 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 40) |       /* PAT5 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 48) |       /* PAT6 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 56);        /* PAT7 */
+                ((uint64_t)X86_MT_UC)       |       /* PAT0 */
+                ((uint64_t)X86_MT_UC << 8)  |       /* PAT1 */
+                ((uint64_t)X86_MT_UC << 16) |       /* PAT2 */
+                ((uint64_t)X86_MT_UC << 24) |       /* PAT3 */
+                ((uint64_t)X86_MT_UC << 32) |       /* PAT4 */
+                ((uint64_t)X86_MT_UC << 40) |       /* PAT5 */
+                ((uint64_t)X86_MT_UC << 48) |       /* PAT6 */
+                ((uint64_t)X86_MT_UC << 56);        /* PAT7 */
 
             vmx_get_guest_pat(v, pat);
             vmx_set_guest_pat(v, uc_pat);
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index 7733800b798fc2c72ba87e4ce6500e4183553d04..92fc930c692039b6c709d6a04f6553593f40aa55 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -16,17 +16,7 @@
 #define NORMAL_CACHE_MODE          0
 #define NO_FILL_CACHE_MODE         2
 
-enum {
-    PAT_TYPE_UNCACHABLE=0,
-    PAT_TYPE_WRCOMB=1,
-    PAT_TYPE_WRTHROUGH=4,
-    PAT_TYPE_WRPROT=5,
-    PAT_TYPE_WRBACK=6,
-    PAT_TYPE_UC_MINUS=7,
-    PAT_TYPE_NUMS
-};
-
-#define INVALID_MEM_TYPE PAT_TYPE_NUMS
+#define INVALID_MEM_TYPE X86_NUM_MT
 
 /* In the Intel processor's MTRR interface, the MTRR type is always held in
    an 8 bit field: */
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index d61d66c20e4180f8cbe21bcd97b568519e0b738e..126437285d8a9f222fca6a7b6ff4434b60637847 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -573,8 +573,8 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
     if ( gmtrr_mtype >= 0 )
     {
         *ipat = true;
-        return gmtrr_mtype != PAT_TYPE_UC_MINUS ? gmtrr_mtype
-                                                : MTRR_TYPE_UNCACHABLE;
+        return gmtrr_mtype != X86_MT_UCM ? gmtrr_mtype
+                                         : MTRR_TYPE_UNCACHABLE;
     }
     if ( gmtrr_mtype == -EADDRNOTAVAIL )
         return -1;
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 6bb564b0145285afc93b72a60b7797fcfe8696dc..b64bba70fc17906236872a017ad48ce91fd30803 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -561,7 +561,7 @@ _sh_propagate(struct vcpu *v,
              (type = hvm_get_mem_pinned_cacheattr(d, target_gfn, 0)) >= 0 )
             sflags |= pat_type_2_pte_flags(type);
         else if ( d->arch.hvm.is_in_uc_mode )
-            sflags |= pat_type_2_pte_flags(PAT_TYPE_UNCACHABLE);
+            sflags |= pat_type_2_pte_flags(X86_MT_UC);
         else
             if ( iomem_access_permitted(d, mfn_x(target_mfn), mfn_x(target_mfn)) )
             {
@@ -572,7 +572,7 @@ _sh_propagate(struct vcpu *v,
                             mfn_to_maddr(target_mfn),
                             MTRR_TYPE_UNCACHABLE);
                 else if ( iommu_snoop )
-                    sflags |= pat_type_2_pte_flags(PAT_TYPE_WRBACK);
+                    sflags |= pat_type_2_pte_flags(X86_MT_WB);
                 else
                     sflags |= get_pat_flags(v,
                             gflags,
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 23:58:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 23:58:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463944.722258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7B-0001OX-0G; Thu, 15 Dec 2022 23:58:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463944.722258; Thu, 15 Dec 2022 23:58:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7A-0001MF-NE; Thu, 15 Dec 2022 23:58:12 +0000
Received: by outflank-mailman (input) for mailman id 463944;
 Thu, 15 Dec 2022 23:58:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t+b5=4N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5y79-0001B1-R0
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 23:58:11 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5359ea9a-7cd4-11ed-8fd3-01056ac49cbb;
 Fri, 16 Dec 2022 00:58:10 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id E893A320090F;
 Thu, 15 Dec 2022 18:58:07 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Thu, 15 Dec 2022 18:58:08 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 18:58:06 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5359ea9a-7cd4-11ed-8fd3-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671148687; x=1671235087; bh=MPXIPfWh31wWF0cQJY2faTDgZMXzFYEZsmL
	3eM786Dk=; b=pauSHHNvK/Q/hPmuJap7ddmTU5f9Yh3zrKxmoW3SawoHF75s6D8
	Zuw65GgqJrVjdOcRzXqefvuhxbcrTVz4+9Od6MBnSIGWEqm032t9oKj5I9YGHqTI
	igCXo37p802Y8KRxmx6UnmyPTadDIzSBrcZ4rS+mSCbNJ2g/OqofhfdRCrQVLrE7
	s8+BMsFgiGavRfmhBF8XhGIMCNPdXXQK0SxzVe3ue7cXpwa7d5uyQpmLsM2XICwX
	79vmAT3oS/520cV1Ih335Endh/A9jyCoNGrV2lQnzgcgL7dQldv+B072HgcZ6ZkQ
	lNIO25cjcj7to1iK0b+53ml7hYOjlJAOXiA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671148687; x=1671235087; bh=MPXIPfWh31wWF
	0cQJY2faTDgZMXzFYEZsmL3eM786Dk=; b=H6WVh52sc8Hi7smyYWnZwOd8I8SkA
	sgYbyEU/Fqu9TnSKPbaWUc9+VmB3UegWTtTglhK74DNvqKNs25exGEhQOVyZvNgh
	N89FTAkHm3j+4LhtqliJ3Q1PlciDslgEJwqBsf7zwAsU7MnswjvD203F4ewEmpvq
	RHrVDBvb0zcegsMnvaSegptGHNgDQhNWBU4fuyl/N1S95mHRX3RIeoYcBGAHnuWF
	OY2sHHue4pdmtH5YYZIFVwSbTkcKSWDQGHkqH2/fi82FeSzUl9F4Hkrj0PLBBpMZ
	KVP2gegBgWI1dh0YRtjTwVo2vzhkiITsxT8mlWD9qAkAzhIJUuK//Xn4A==
X-ME-Sender: <xms:j7SbY1n1tBv8HS1B6CmyB56Cp70s44H6HuCjPTgyfjYJqojx_ieHTw>
    <xme:j7SbYw2JfARs5t-70aDpg_NHbMKT5xrQW93A41QkcOfJ6KIvdJiqAyz5xji4zzMMW
    t0OTuJ8Z5FooYI>
X-ME-Received: <xmr:j7SbY7pghGFLkHTav9BCCXM_0n3maiFMJ-JQoohjnGYK1sZktl8wTqkGcL0k3rO_leOdYzsheT1G>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeigddugecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:j7SbY1m3nzCB0PClpbAL91jKqc8ZRJ7pSnyXAGQnyUHCMHgtV7cU4w>
    <xmx:j7SbYz3LCqN2E2BdjLI7cEpoiIqaM9_GlTRiI61V-ClduIXICiI7GQ>
    <xmx:j7SbY0vzU-EOQ0vSaFGCf49eAIkg6kdg7NuQ_dYQj9_XqvmW9HhVMA>
    <xmx:j7SbY8LrVJd7LoDCkfROeR2jS2ybSc0evuToplnCQevkpHri0sODJA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v4 02/10] x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
Date: Thu, 15 Dec 2022 18:57:44 -0500
Message-Id: <8f0a2f4352bf6241e66f2fea1776d0c82a3c566d.1671139149.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671139149.git.demi@invisiblethingslab.com>
References: <cover.1671139149.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

get_page_from_l1e() relied on Xen's choice of PAT, which is brittle in
the face of future PAT changes.  Instead, compute the actual cacheability
used by the CPU and switch on that, as this will work no matter what PAT
Xen uses.

No functional change intended.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v3:
- Compute and use the actual cacheability as seen by the processor.

Changes since v2:
- Improve commit message.
---
 xen/arch/x86/include/asm/processor.h |  8 ++++++++
 xen/arch/x86/mm.c                    | 19 +++++++++++++------
 2 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 8e2816fae9b97bd4e153a30cc3802971fe0355af..c3205ed9e10c1a57d23c5ecead66bebd82d87d06 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -100,6 +100,14 @@
 
 #ifndef __ASSEMBLY__
 
+/* Convert from PAT/PCD/PWT embedded in PTE flags to actual cacheability value */
+static inline unsigned int pte_flags_to_cacheability(unsigned int flags)
+{
+    unsigned int pat_shift = ((flags & _PAGE_PAT) >> 2) |
+                             (flags & (_PAGE_PCD|_PAGE_PWT));
+    return 0xFF & (XEN_MSR_PAT >> pat_shift);
+}
+
 struct domain;
 struct vcpu;
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 78b1972e4170cacccc9c37c6e64e76e66a7da87f..802073a01c5cf4dc3cf1d58d28ea4d4e9e8149c7 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -959,15 +959,22 @@ get_page_from_l1e(
             flip = _PAGE_RW;
         }
 
-        switch ( l1f & PAGE_CACHE_ATTRS )
+        /* Force cacheable memtypes to UC */
+        switch ( pte_flags_to_cacheability(l1f) )
         {
-        case 0: /* WB */
-            flip |= _PAGE_PWT | _PAGE_PCD;
+        case X86_MT_UC:
+        case X86_MT_UCM:
+        case X86_MT_WC:
+            /* not cached */
             break;
-        case _PAGE_PWT: /* WT */
-        case _PAGE_PWT | _PAGE_PAT: /* WP */
-            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+        case X86_MT_WB:
+        case X86_MT_WT:
+        case X86_MT_WP:
+            /* cacheable, force to UC */
+            flip |= (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC;
             break;
+        default:
+            BUG();
         }
 
         return flip;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 23:58:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 23:58:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463946.722288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7G-0002IA-Hi; Thu, 15 Dec 2022 23:58:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463946.722288; Thu, 15 Dec 2022 23:58:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7G-0002Hz-EZ; Thu, 15 Dec 2022 23:58:18 +0000
Received: by outflank-mailman (input) for mailman id 463946;
 Thu, 15 Dec 2022 23:58:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t+b5=4N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5y7E-0001B1-BD
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 23:58:16 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5618f8a4-7cd4-11ed-8fd3-01056ac49cbb;
 Fri, 16 Dec 2022 00:58:14 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 8A4B1320090F;
 Thu, 15 Dec 2022 18:58:12 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Thu, 15 Dec 2022 18:58:13 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 18:58:11 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5618f8a4-7cd4-11ed-8fd3-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671148692; x=1671235092; bh=bgytBg0d5kZ/2u9oOHlePhKhWAPvt5pdQvy
	Ccbzuwv0=; b=WpiHokujY3y5r6t7ReMt0DuApSb7xFY5jrLoJapkXx1ulrwgjIq
	Bu3uYfkPKtMfgrgToEFXYI7+ygoOYhbRLnh3P3DzQ9772HJ0bfCL59m5fI+z6QHD
	V+XDDO4NQD0Wxjdx6oUf+VunBjmi2BgC4rK840gRBArjoh44IdaRSmjw1SV5urn9
	yF4i144vNAAXcGWurBLHCxazy7O3F+9KICEXzIwBoeLCP/RF3n/iBEVkCe0gVu/8
	aRN5sPWfgQaryUJirn4eyYSMI/XjFxTOnBhoc52Bcm0nHzn7fBWT1qu6CvvDC2FB
	evgPM1YtbOU49609ZWgaPRrD/hz4pi9t1/g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671148692; x=1671235092; bh=bgytBg0d5kZ/2
	u9oOHlePhKhWAPvt5pdQvyCcbzuwv0=; b=ibV04gGisSZe0hwXI1p7OrMGCePbn
	25esBH4vpOmgsMBKKXJ2NYcz63QMOF5aIB97rUnJs2+I/iQqTGP0znhpRoo6YIan
	uvC1KJ/eu1O4VYab4tsuKBXU5MMrI3mbs17RPA6eCySkIuWwCewAD2oo1uLiQCVg
	roLgSgzMxS8Q+X67KGX9SfHRMhGMLG8vD1RDQTPEm1TrESYY8dw+JyDG2ZFPG+PT
	D9nm8WkhKkElgYCyEG2eot8H6JInLQ6yI++65ssgSzVmYYbPqBoeREys+gS25nSE
	4xwVf/IU+pBPfCBvdLVMiN6KUz1dIqK2utjO3ye0bOQ/7a3aplZpEtyCw==
X-ME-Sender: <xms:k7SbY_oIwaFyGhNsmckl2LDMGaTiBDW5W_5hK1mLu3A5XDA0qYp8Xw>
    <xme:k7SbY5qKr6dZKCQ2HbxFm7-CaOkMCH53lYOsZkOvWTGxI-CObjmNccz_MOpQEn03a
    8T5d2TgbQ95aYs>
X-ME-Received: <xmr:k7SbY8O3nGWsyeEo7W_R-q7uIxpl0VzrDZmXjHGYv4CBzOK-ndMidmunTPCYu1fqSX8EYaYz6B7z>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeigddugecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedunecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:lLSbYy7cetd5VDlvBc2601AB_WW_XgTK_FRFddz1thHji_jHRy-D3w>
    <xmx:lLSbY-7XzDu6Fc60hGa3iKnakoSLgW5UXk3vtkyg_FcBWO12CqrrKA>
    <xmx:lLSbY6hghnRuVHM53_hvDIy3tom7laKxi1ejkjwgwEOCfRzNVvmc0w>
    <xmx:lLSbYwsXRaL0_KUa-nrZ_wt8eG1zXA75I8pzXHsj_B2dNFgxKy2Zfw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v4 04/10] x86: Replace MTRR_* constants with X86_MT_* constants
Date: Thu, 15 Dec 2022 18:57:46 -0500
Message-Id: <5448b3dcea888ac66544e0dba2bc16dc6dc8e1fa.1671139149.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671139149.git.demi@invisiblethingslab.com>
References: <cover.1671139149.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This allows eliminating of the former, with the exception of
MTRR_NUM_TYPES.  MTRR_NUM_TYPES is kept, as due to a quirk of the x86
architecture X86_MT_UCM (7) is not valid in an MTRR.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v2:

- Improve commit message
- Do not replace MTRR_NUM_TYPES with X86_MT_UCM
- State explicitly that MTRR_NUM_TYPES is kept
---
 xen/arch/x86/cpu/mtrr/generic.c         | 10 ++---
 xen/arch/x86/cpu/mtrr/main.c            | 26 ++++++-------
 xen/arch/x86/e820.c                     |  4 +-
 xen/arch/x86/hvm/mtrr.c                 | 30 +++++++--------
 xen/arch/x86/hvm/vmx/vmcs.c             |  2 +-
 xen/arch/x86/hvm/vmx/vmx.c              |  2 +-
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |  2 +-
 xen/arch/x86/include/asm/mtrr.h         | 10 +----
 xen/arch/x86/mm/p2m-ept.c               | 51 ++++++++++++-------------
 xen/arch/x86/mm/shadow/multi.c          |  2 +-
 10 files changed, 66 insertions(+), 73 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index 47aaf76226e0a8a0712b7211ed339a4a032ab3f3..660ae26c2350b3436a471155fc0426699ba8ac1d 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -127,11 +127,11 @@ static const char *__init mtrr_attrib_to_str(mtrr_type x)
 {
 	static const char __initconst strings[MTRR_NUM_TYPES][16] =
 	{
-		[MTRR_TYPE_UNCACHABLE]     = "uncachable",
-		[MTRR_TYPE_WRCOMB]         = "write-combining",
-		[MTRR_TYPE_WRTHROUGH]      = "write-through",
-		[MTRR_TYPE_WRPROT]         = "write-protect",
-		[MTRR_TYPE_WRBACK]         = "write-back",
+		[X86_MT_UC] = "uncachable",
+		[X86_MT_WC] = "write-combining",
+		[X86_MT_WT] = "write-through",
+		[X86_MT_WP] = "write-protect",
+		[X86_MT_WB] = "write-back",
 	};
 
 	return (x < ARRAY_SIZE(strings) && strings[x][0]) ? strings[x] : "?";
diff --git a/xen/arch/x86/cpu/mtrr/main.c b/xen/arch/x86/cpu/mtrr/main.c
index 4e01c8d6f9df6562b94438f265d79a0a6fca8de6..2946003b84938f3b83c98b62dfaa3ace90822983 100644
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -163,10 +163,10 @@ static void cf_check ipi_handler(void *info)
 }
 
 static inline int types_compatible(mtrr_type type1, mtrr_type type2) {
-	return type1 == MTRR_TYPE_UNCACHABLE ||
-	       type2 == MTRR_TYPE_UNCACHABLE ||
-	       (type1 == MTRR_TYPE_WRTHROUGH && type2 == MTRR_TYPE_WRBACK) ||
-	       (type1 == MTRR_TYPE_WRBACK && type2 == MTRR_TYPE_WRTHROUGH);
+	return type1 == X86_MT_UC ||
+	       type2 == X86_MT_UC ||
+	       (type1 == X86_MT_WT && type2 == X86_MT_WB) ||
+	       (type1 == X86_MT_WB && type2 == X86_MT_WT);
 }
 
 /**
@@ -297,13 +297,13 @@ static void set_mtrr(unsigned int reg, unsigned long base,
  *
  *	The available types are
  *
- *	%MTRR_TYPE_UNCACHABLE	-	No caching
+ *	%X86_MT_UC	-	No caching
  *
- *	%MTRR_TYPE_WRBACK	-	Write data back in bursts whenever
+ *	%X86_MT_WB	-	Write data back in bursts whenever
  *
- *	%MTRR_TYPE_WRCOMB	-	Write data back soon but allow bursts
+ *	%X86_MT_WC	-	Write data back soon but allow bursts
  *
- *	%MTRR_TYPE_WRTHROUGH	-	Cache reads but not writes
+ *	%X86_MT_WT	-	Cache reads but not writes
  *
  *	BUGS: Needs a quiet flag for the cases where drivers do not mind
  *	failures and do not wish system log messages to be sent.
@@ -328,7 +328,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 	}
 
 	/*  If the type is WC, check that this processor supports it  */
-	if ((type == MTRR_TYPE_WRCOMB) && !have_wrcomb()) {
+	if ((type == X86_MT_WC) && !have_wrcomb()) {
 		printk(KERN_WARNING
 		       "mtrr: your processor doesn't support write-combining\n");
 		return -EOPNOTSUPP;
@@ -442,13 +442,13 @@ static int mtrr_check(unsigned long base, unsigned long size)
  *
  *	The available types are
  *
- *	%MTRR_TYPE_UNCACHABLE	-	No caching
+ *	%X86_MT_UC	-	No caching
  *
- *	%MTRR_TYPE_WRBACK	-	Write data back in bursts whenever
+ *	%X86_MT_WB	-	Write data back in bursts whenever
  *
- *	%MTRR_TYPE_WRCOMB	-	Write data back soon but allow bursts
+ *	%X86_MT_WC	-	Write data back soon but allow bursts
  *
- *	%MTRR_TYPE_WRTHROUGH	-	Cache reads but not writes
+ *	%X86_MT_WT	-	Cache reads but not writes
  *
  *	BUGS: Needs a quiet flag for the cases where drivers do not mind
  *	failures and do not wish system log messages to be sent.
diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c
index b653a19c93afb98c2d64330384cb4fa7b4d2e1ec..c5911cf48dc4a281c03ddef35f23b19bc7af42eb 100644
--- a/xen/arch/x86/e820.c
+++ b/xen/arch/x86/e820.c
@@ -459,7 +459,7 @@ static uint64_t __init mtrr_top_of_ram(void)
         printk(" MTRR cap: %"PRIx64" type: %"PRIx64"\n", mtrr_cap, mtrr_def);
 
     /* MTRRs enabled, and default memory type is not writeback? */
-    if ( !test_bit(11, &mtrr_def) || ((uint8_t)mtrr_def == MTRR_TYPE_WRBACK) )
+    if ( !test_bit(11, &mtrr_def) || ((uint8_t)mtrr_def == X86_MT_WB) )
         return 0;
 
     /*
@@ -476,7 +476,7 @@ static uint64_t __init mtrr_top_of_ram(void)
             printk(" MTRR[%d]: base %"PRIx64" mask %"PRIx64"\n",
                    i, base, mask);
 
-        if ( !test_bit(11, &mask) || ((uint8_t)base != MTRR_TYPE_WRBACK) )
+        if ( !test_bit(11, &mask) || ((uint8_t)base != X86_MT_WB) )
             continue;
         base &= addr_mask;
         mask &= addr_mask;
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 242623f3c239ee18a44f882ecb3910a00c615825..093103f6c768cf64f880d1b20e1c14f5918c1250 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -39,11 +39,11 @@ static const uint8_t pat_entry_2_pte_flags[8] = {
 /* Effective mm type lookup table, according to MTRR and PAT. */
 static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
 #define RS MEMORY_NUM_TYPES
-#define UC MTRR_TYPE_UNCACHABLE
-#define WB MTRR_TYPE_WRBACK
-#define WC MTRR_TYPE_WRCOMB
-#define WP MTRR_TYPE_WRPROT
-#define WT MTRR_TYPE_WRTHROUGH
+#define UC X86_MT_UC
+#define WB X86_MT_WB
+#define WC X86_MT_WC
+#define WP X86_MT_WP
+#define WT X86_MT_WT
 
 /*          PAT(UC, WC, RS, RS, WT, WP, WB, UC-) */
 /* MTRR(UC) */ {UC, WC, RS, RS, UC, UC, UC, UC},
@@ -202,7 +202,7 @@ int mtrr_get_type(const struct mtrr_state *m, paddr_t pa, unsigned int order)
    unsigned int seg, num_var_ranges = MASK_EXTR(m->mtrr_cap, MTRRcap_VCNT);
 
    if ( unlikely(!m->enabled) )
-       return MTRR_TYPE_UNCACHABLE;
+       return X86_MT_UC;
 
    pa &= mask;
    if ( (pa < 0x100000) && m->fixed_enabled )
@@ -277,13 +277,13 @@ int mtrr_get_type(const struct mtrr_state *m, paddr_t pa, unsigned int order)
        return -1;
 
    /* Two or more matches, one being UC? */
-   if ( overlap_mtrr & (1 << MTRR_TYPE_UNCACHABLE) )
-       return MTRR_TYPE_UNCACHABLE;
+   if ( overlap_mtrr & (1 << X86_MT_UC) )
+       return X86_MT_UC;
 
    /* Two or more matches, all of them WT and WB? */
    if ( overlap_mtrr ==
-        ((1 << MTRR_TYPE_WRTHROUGH) | (1 << MTRR_TYPE_WRBACK)) )
-       return MTRR_TYPE_WRTHROUGH;
+        ((1 << X86_MT_WT) | (1 << X86_MT_WB)) )
+       return X86_MT_WT;
 
    /* Behaviour is undefined, but return the last overlapped type. */
    return overlap_mtrr_pos;
@@ -381,11 +381,11 @@ static inline bool_t valid_mtrr_type(uint8_t type)
 {
     switch ( type )
     {
-    case MTRR_TYPE_UNCACHABLE:
-    case MTRR_TYPE_WRBACK:
-    case MTRR_TYPE_WRCOMB:
-    case MTRR_TYPE_WRPROT:
-    case MTRR_TYPE_WRTHROUGH:
+    case X86_MT_UC:
+    case X86_MT_WB:
+    case X86_MT_WC:
+    case X86_MT_WP:
+    case X86_MT_WT:
         return 1;
     }
     return 0;
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index 84dbb88d33b76111833a37339186199f8bc03b5e..f0825216d722d978f221bb34a797d8de5505cb80 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -555,7 +555,7 @@ static int vmx_init_vmcs_config(bool bsp)
     /* Require Write-Back (WB) memory type for VMCS accesses. */
     opt = (vmx_basic_msr_high & (VMX_BASIC_MEMORY_TYPE_MASK >> 32)) /
           ((VMX_BASIC_MEMORY_TYPE_MASK & -VMX_BASIC_MEMORY_TYPE_MASK) >> 32);
-    if ( opt != MTRR_TYPE_WRBACK )
+    if ( opt != X86_MT_WB )
     {
         printk("VMX: CPU%d has unexpected VMCS access type %u\n",
                smp_processor_id(), opt);
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index b543c3983d77ae807e8bd97330691a79d8d39bae..4ae7dd56c9981d32ac545d6e7b7c126b15f68969 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -434,7 +434,7 @@ static void cf_check domain_creation_finished(struct domain *d)
         return;
 
     ASSERT(epte_get_entry_emt(d, gfn, apic_access_mfn, 0, &ipat,
-                              p2m_mmio_direct) == MTRR_TYPE_WRBACK);
+                              p2m_mmio_direct) == X86_MT_WB);
     ASSERT(ipat);
 
     if ( set_mmio_p2m_entry(d, gfn, apic_access_mfn, PAGE_ORDER_4K) )
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
index 75f9928abfad28e3895fe3dd4058b2b0a6e145c3..65e9e27b5437adff59abc46976f73a9f2cc587da 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -38,7 +38,7 @@ struct vmx_msr_entry {
     u64 data;
 };
 
-#define EPT_DEFAULT_MT      MTRR_TYPE_WRBACK
+#define EPT_DEFAULT_MT      X86_MT_WB
 
 struct ept_data {
     union {
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index 92fc930c692039b6c709d6a04f6553593f40aa55..e4f6ca6048334b2094a1836cc2f298453641232f 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -3,15 +3,9 @@
 
 #include <xen/mm.h>
 
-/* These are the region types. They match the architectural specification. */
-#define MTRR_TYPE_UNCACHABLE 0
-#define MTRR_TYPE_WRCOMB     1
-#define MTRR_TYPE_WRTHROUGH  4
-#define MTRR_TYPE_WRPROT     5
-#define MTRR_TYPE_WRBACK     6
-#define MTRR_NUM_TYPES       7
+#define MTRR_NUM_TYPES       X86_MT_UCM
 #define MEMORY_NUM_TYPES     MTRR_NUM_TYPES
-#define NO_HARDCODE_MEM_TYPE    MTRR_NUM_TYPES
+#define NO_HARDCODE_MEM_TYPE MTRR_NUM_TYPES
 
 #define NORMAL_CACHE_MODE          0
 #define NO_FILL_CACHE_MODE         2
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index 126437285d8a9f222fca6a7b6ff4434b60637847..bb143c6c42c69db4e054b9156aad9a18ea0b2378 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -506,7 +506,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
                                                mfn_x(mfn) | ((1UL << order) - 1)) )
         {
             *ipat = true;
-            return MTRR_TYPE_UNCACHABLE;
+            return X86_MT_UC;
         }
         /* Force invalid memory type so resolve_misconfig() will split it */
         return -1;
@@ -515,7 +515,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
     if ( !mfn_valid(mfn) )
     {
         *ipat = true;
-        return MTRR_TYPE_UNCACHABLE;
+        return X86_MT_UC;
     }
 
     /*
@@ -526,7 +526,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
          !cache_flush_permitted(d) )
     {
         *ipat = true;
-        return MTRR_TYPE_WRBACK;
+        return X86_MT_WB;
     }
 
     for ( special_pgs = i = 0; i < (1ul << order); i++ )
@@ -539,13 +539,13 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
             return -1;
 
         *ipat = true;
-        return MTRR_TYPE_WRBACK;
+        return X86_MT_WB;
     }
 
     switch ( type )
     {
     case p2m_mmio_direct:
-        return MTRR_TYPE_UNCACHABLE;
+        return X86_MT_UC;
 
     case p2m_grant_map_ro:
     case p2m_grant_map_rw:
@@ -563,7 +563,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
          * diverges. See p2m_type_to_flags for the AMD attributes.
          */
         *ipat = true;
-        return MTRR_TYPE_WRBACK;
+        return X86_MT_WB;
 
     default:
         break;
@@ -573,15 +573,14 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
     if ( gmtrr_mtype >= 0 )
     {
         *ipat = true;
-        return gmtrr_mtype != X86_MT_UCM ? gmtrr_mtype
-                                         : MTRR_TYPE_UNCACHABLE;
+        return gmtrr_mtype != X86_MT_UCM ? gmtrr_mtype : X86_MT_UC;
     }
     if ( gmtrr_mtype == -EADDRNOTAVAIL )
         return -1;
 
     gmtrr_mtype = v ? mtrr_get_type(&v->arch.hvm.mtrr,
                                     gfn_x(gfn) << PAGE_SHIFT, order)
-                    : MTRR_TYPE_WRBACK;
+                    : X86_MT_WB;
     hmtrr_mtype = mtrr_get_type(&mtrr_state, mfn_x(mfn) << PAGE_SHIFT,
                                 order);
     if ( gmtrr_mtype < 0 || hmtrr_mtype < 0 )
@@ -592,14 +591,14 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
         return hmtrr_mtype;
 
     /* If either type is UC, we have to go with that one. */
-    if ( gmtrr_mtype == MTRR_TYPE_UNCACHABLE ||
-         hmtrr_mtype == MTRR_TYPE_UNCACHABLE )
-        return MTRR_TYPE_UNCACHABLE;
+    if ( gmtrr_mtype == X86_MT_UC ||
+         hmtrr_mtype == X86_MT_UC )
+        return X86_MT_UC;
 
     /* If either type is WB, we have to go with the other one. */
-    if ( gmtrr_mtype == MTRR_TYPE_WRBACK )
+    if ( gmtrr_mtype == X86_MT_WB )
         return hmtrr_mtype;
-    if ( hmtrr_mtype == MTRR_TYPE_WRBACK )
+    if ( hmtrr_mtype == X86_MT_WB )
         return gmtrr_mtype;
 
     /*
@@ -610,13 +609,13 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
      * permit this), while WT and WP require writes to go straight to memory
      * (WC can buffer them).
      */
-    if ( (gmtrr_mtype == MTRR_TYPE_WRTHROUGH &&
-          hmtrr_mtype == MTRR_TYPE_WRPROT) ||
-         (gmtrr_mtype == MTRR_TYPE_WRPROT &&
-          hmtrr_mtype == MTRR_TYPE_WRTHROUGH) )
-        return MTRR_TYPE_WRPROT;
+    if ( (gmtrr_mtype == X86_MT_WT &&
+          hmtrr_mtype == X86_MT_WP) ||
+         (gmtrr_mtype == X86_MT_WP &&
+          hmtrr_mtype == X86_MT_WT) )
+        return X86_MT_WP;
 
-    return MTRR_TYPE_UNCACHABLE;
+    return X86_MT_UC;
 }
 
 /*
@@ -1426,12 +1425,12 @@ void ept_p2m_uninit(struct p2m_domain *p2m)
 static const char *memory_type_to_str(unsigned int x)
 {
     static const char memory_types[8][3] = {
-        [MTRR_TYPE_UNCACHABLE]     = "UC",
-        [MTRR_TYPE_WRCOMB]         = "WC",
-        [MTRR_TYPE_WRTHROUGH]      = "WT",
-        [MTRR_TYPE_WRPROT]         = "WP",
-        [MTRR_TYPE_WRBACK]         = "WB",
-        [MTRR_NUM_TYPES]           = "??"
+        [X86_MT_UC]      = "UC",
+        [X86_MT_WC]      = "WC",
+        [X86_MT_WT]      = "WT",
+        [X86_MT_WP]      = "WP",
+        [X86_MT_WB]      = "WB",
+        [MTRR_NUM_TYPES] = "??",
     };
 
     ASSERT(x < ARRAY_SIZE(memory_types));
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index b64bba70fc17906236872a017ad48ce91fd30803..f5f7ff021bd9e057c5b6f6329de7acb5ef05d58f 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -570,7 +570,7 @@ _sh_propagate(struct vcpu *v,
                             gflags,
                             gfn_to_paddr(target_gfn),
                             mfn_to_maddr(target_mfn),
-                            MTRR_TYPE_UNCACHABLE);
+                            X86_MT_UC);
                 else if ( iommu_snoop )
                     sflags |= pat_type_2_pte_flags(X86_MT_WB);
                 else
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Dec 15 23:58:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 23:58:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463947.722292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7G-0002MX-WB; Thu, 15 Dec 2022 23:58:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463947.722292; Thu, 15 Dec 2022 23:58:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7G-0002LP-Q0; Thu, 15 Dec 2022 23:58:18 +0000
Received: by outflank-mailman (input) for mailman id 463947;
 Thu, 15 Dec 2022 23:58:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t+b5=4N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5y7G-0001Aq-4J
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 23:58:18 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 57981c3b-7cd4-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 00:58:17 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 0ECFC320091F;
 Thu, 15 Dec 2022 18:58:14 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Thu, 15 Dec 2022 18:58:15 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 18:58:13 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57981c3b-7cd4-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671148694; x=1671235094; bh=uxmdOs+lCg3lNRcLgLV7XD5izHM7UdEv5Kn
	bujPlCxE=; b=E2ZKNjSY9+k6+Fc4D8cTiFT356yz6g51hgAwpd9TJIdSt+3L6N0
	KBlJPkKChEWhEFXWb0G+nkXeK1LF4SVs73RxzVGyRGmUHPZq1EX2Ggp7X5gUCm2q
	9r5Nx0aKZF+JGH3SVIlsBISZZBwr1FX6vPfyAYIhQnX2iTUPMbfVskUUwY7NfiAS
	ur22TFN5eevqtc0yowyp7SBdu/dXmbc8fYh6VCWmgga8GMrUQf3UTf+hE+yN/9Zy
	DJtMS1Ie2jyGVPcls5ygk1N4uEIsteFGuinen4cvGl8nz9fU+suFAM7lVagfRtMS
	voax01AFpRpWf61MiOb6+M+/omjPHsHPLuw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671148694; x=1671235094; bh=uxmdOs+lCg3lN
	RcLgLV7XD5izHM7UdEv5KnbujPlCxE=; b=drJkkzrRc7VW+8CplLloTORiOmyVS
	1iouo/pW4Ud6IrNq+lENcyfci8Ml6vGhMOvmR6y8np9nBArV9PP0g4k21XPmzOrp
	fAUdaSBMYz66/4xry0c0ey9ge/e84c9c71kp4jfuCTFhT4sF8QfZcC4420vLzcsN
	HAI7B/hqkaIMUb+oVh5iVam1V2c2Zz1T+Q/SCsIK+04yCuqKGCjV/FQj+svealQq
	Twy4YhDR98pE+grL5+ZPM1+R/P4npfGdd1FbfX8FnYPoyYPH6GtGY+MVyagpFl+6
	Sj6CsJCCb+IxNrcu++6T0K3SSlddhVRBP3IaBw0MwNDHD9CNeLjk7byYw==
X-ME-Sender: <xms:lrSbY8KnfxTn0ptrthgSDp5cjxHnnZoI_y42BxUzXX9ttNKFdGAm1A>
    <xme:lrSbY8LV4JUNdeE6s3gAl5_5w5CKRLX_8NJSppycTSKjLnepEknBNHrHD4E4GxgLC
    eAgkfA3ugQn8qI>
X-ME-Received: <xmr:lrSbY8un_xL74mW9zyDGiKtYUnHryIeaCBFQIhhcWM3FkQjjKuIrsz6WT8NUV4BklY8b6NP-i7_0>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeigddugecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:lrSbY5Y_osUeKUSrYa0W_vGrwJu8XYaUDPqgMxxg7LHxFVfBo3W9ew>
    <xmx:lrSbYzabwdmdIo01tdF0kdbxyWC5J37TvbpLRh7fcWAzVv4-8t2Rtg>
    <xmx:lrSbY1A2kBN1H_YZ8po0SARC9WAtpArcYUSgHv_dZ-AcscMNM96ILg>
    <xmx:lrSbYxMZ5DG15UBvZm_rv78ZgjAongDj7yCCkHat2I9AjE7OXhEm_w>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v4 05/10] x86: Replace EPT_EMT_* constants with X86_MT_*
Date: Thu, 15 Dec 2022 18:57:47 -0500
Message-Id: <3d84416023dacbc87dae0d67ad930ee5b1b7e544.1671139149.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671139149.git.demi@invisiblethingslab.com>
References: <cover.1671139149.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This allows eliminating the former.  No functional change intended.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/include/asm/hvm/vmx/vmx.h | 9 ---------
 xen/arch/x86/mm/hap/nested_ept.c       | 4 ++--
 2 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
index 8eedf59155e01ec1ca84dcc6b30961f9c884cb3b..49fe9822fac5eae15b67f0cfd3d0cb96347dc7ed 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -80,15 +80,6 @@ typedef enum {
 #define EPTE_RWX_MASK           0x7
 #define EPTE_FLAG_MASK          0x7f
 
-#define EPT_EMT_UC              0
-#define EPT_EMT_WC              1
-#define EPT_EMT_RSV0            2
-#define EPT_EMT_RSV1            3
-#define EPT_EMT_WT              4
-#define EPT_EMT_WP              5
-#define EPT_EMT_WB              6
-#define EPT_EMT_RSV2            7
-
 #define PI_xAPIC_NDST_MASK      0xFF00
 
 void vmx_asm_vmexit_handler(struct cpu_user_regs);
diff --git a/xen/arch/x86/mm/hap/nested_ept.c b/xen/arch/x86/mm/hap/nested_ept.c
index 1cb7fefc37091bf7d92a277203e652add5611871..23fb3889b7605be62805731218c314819d5027b5 100644
--- a/xen/arch/x86/mm/hap/nested_ept.c
+++ b/xen/arch/x86/mm/hap/nested_ept.c
@@ -84,8 +84,8 @@ static bool_t nept_emt_bits_check(ept_entry_t e, uint32_t level)
 {
     if ( e.sp || level == 1 )
     {
-        if ( e.emt == EPT_EMT_RSV0 || e.emt == EPT_EMT_RSV1 ||
-             e.emt == EPT_EMT_RSV2 )
+        if ( e.emt == X86_MT_RSVD_2 || e.emt == X86_MT_RSVD_3 ||
+             e.emt == X86_MT_UCM )
             return 1;
     }
     return 0;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 23:58:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 23:58:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463948.722310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7K-0002uy-6S; Thu, 15 Dec 2022 23:58:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463948.722310; Thu, 15 Dec 2022 23:58:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7K-0002un-2V; Thu, 15 Dec 2022 23:58:22 +0000
Received: by outflank-mailman (input) for mailman id 463948;
 Thu, 15 Dec 2022 23:58:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t+b5=4N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5y7I-0001Aq-LU
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 23:58:20 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59036e86-7cd4-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 00:58:19 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 68EA1320090F;
 Thu, 15 Dec 2022 18:58:17 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Thu, 15 Dec 2022 18:58:18 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 18:58:16 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59036e86-7cd4-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671148697; x=1671235097; bh=lFRjAyz2V8QJ7yU1YRzmTT1WULJJ6rEk/i2
	CB/Rdt1o=; b=sLWNRh1n0ifFhiydrv5loEm2nfIUM/yIuBQcuV9zlgNQfiANVH9
	rpi3KLDvPe/UQVh46DcrArDSmoOh54y+qmTmtYXdCCO5ztQ+glA0Dc2mKX6jnZhq
	cgse7zM2Moan9xQRozUfhj6HJgyqgbPZpcCSfcgXcabmq4pF/C1b/oNWB3ocnRh1
	E9LrZxOgdi3j+GxHKgqRYQlq5IdKamLX+9VZLpWcBs569gutNeyLLPYfL95WLm1a
	Vcr3jhcGj1S9TK6IZ9Xox1SC3MpdaH8Y2IimW6HpKVSSazvu0FfZpUlsuJ9E4So8
	Tc40vh7Hr5P9xyjsaCy4ifCQrwHtsBRnoQw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671148697; x=1671235097; bh=lFRjAyz2V8QJ7
	yU1YRzmTT1WULJJ6rEk/i2CB/Rdt1o=; b=vLenk4MOqGChBkttCM48fSz2j8jer
	yyOkiK3rc4BhrjS9hE9Bs9IWis2Hy1+p659ADJ0y1X/UWKlAP4KDfMCv/YviBVTs
	GI/2lsMamvKDyiPSKOx4or8W52aofeRwg+cYyyFkP4WSlyB6Ky5OeMiq8Cl87l7z
	pfU38BSl0+sXeieI1do7ASqKNEFC2NLUrHmj+NWG97zQ+u/1iVit39QGHjN7pOVL
	NfD5Fog3l9ywQeWIh+ZnBqkzN0lSkyxhYG8WB4qrjgX3NDaIl2YmB7sb5vKGgLzZ
	AVfBO7hkOxcHMu2/IO6uYKU7mKB0BnSzWd/FpXkpYuSCpotR4E3+g8xqQ==
X-ME-Sender: <xms:mLSbY6xxHwOaix9rNPWegLK8XesRH6QsK5cLG_xZoajegT2hxcoNpw>
    <xme:mLSbY2QKCs-746zmToQfJUlgabrbC1QpVQ6ZDmv7cKeVhKF-0zT0Ep4krxToxG9Eu
    GdDURuK5gS7OUw>
X-ME-Received: <xmr:mLSbY8WcLHA_0oOtxvz3Xmm4x_tSZ9A_RrwrKJGDZOgAFZhKZwzPeGY4GpAwVQXea41voxlLn5UY>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeigddugecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedunecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:mLSbYwgqV3izVenKaWJ6bjrqbQA7GV7Fb9bMYUZcmaGN58xfBW0hVw>
    <xmx:mLSbY8DZg3gsBm0gNjVJvgSyzCpJS2Eaks8U0NyHMvXpPY6gBUBiXg>
    <xmx:mLSbYxLTrIPiYVl5wurWIg2ZvOqMhvVyRMqgoiAjxWQ5xU7aDBi1Mw>
    <xmx:mbSbY41AgPXt51pewk0D5Nvdi69ug8KRpZljOQRY36Ee_YkdWvrrLQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v4 06/10] x86: Remove MEMORY_NUM_TYPES and NO_HARDCODE_MEM_TYPE
Date: Thu, 15 Dec 2022 18:57:48 -0500
Message-Id: <b4a092bace906a10be89c113a3519e00afdea52a.1671139149.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671139149.git.demi@invisiblethingslab.com>
References: <cover.1671139149.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No functional change intended.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v2:

- Keep MTRR_NUM_TYPES and adjust commit message accordingly
---
 xen/arch/x86/hvm/mtrr.c         | 18 +++++++++---------
 xen/arch/x86/include/asm/mtrr.h |  2 --
 xen/arch/x86/mm/shadow/multi.c  |  2 +-
 3 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 093103f6c768cf64f880d1b20e1c14f5918c1250..05e978041d62fd0d559462de181a04bef8a5bca9 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -38,7 +38,7 @@ static const uint8_t pat_entry_2_pte_flags[8] = {
 
 /* Effective mm type lookup table, according to MTRR and PAT. */
 static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
-#define RS MEMORY_NUM_TYPES
+#define RS MTRR_NUM_TYPES
 #define UC X86_MT_UC
 #define WB X86_MT_WB
 #define WC X86_MT_WC
@@ -66,9 +66,9 @@ static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
  * Reverse lookup table, to find a pat type according to MTRR and effective
  * memory type. This table is dynamically generated.
  */
-static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
-    { [0 ... MTRR_NUM_TYPES-1] =
-        { [0 ... MEMORY_NUM_TYPES-1] = INVALID_MEM_TYPE }
+static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MTRR_NUM_TYPES] =
+    { [0 ... MTRR_NUM_TYPES - 1] =
+        { [0 ... MTRR_NUM_TYPES - 1] = INVALID_MEM_TYPE }
     };
 
 /* Lookup table for PAT entry of a given PAT value in host PAT. */
@@ -85,7 +85,7 @@ static int __init cf_check hvm_mtrr_pat_init(void)
         {
             unsigned int tmp = mm_type_tbl[i][j];
 
-            if ( tmp < MEMORY_NUM_TYPES )
+            if ( tmp < MTRR_NUM_TYPES )
                 mtrr_epat_tbl[i][tmp] = j;
         }
     }
@@ -317,11 +317,11 @@ static uint8_t effective_mm_type(struct mtrr_state *m,
                                  uint8_t gmtrr_mtype)
 {
     uint8_t mtrr_mtype, pat_value;
-   
+
     /* if get_pat_flags() gives a dedicated MTRR type,
      * just use it
-     */ 
-    if ( gmtrr_mtype == NO_HARDCODE_MEM_TYPE )
+     */
+    if ( gmtrr_mtype == MTRR_NUM_TYPES )
         mtrr_mtype = mtrr_get_type(m, gpa, 0);
     else
         mtrr_mtype = gmtrr_mtype;
@@ -346,7 +346,7 @@ uint32_t get_pat_flags(struct vcpu *v,
     /* 1. Get the effective memory type of guest physical address,
      * with the pair of guest MTRR and PAT
      */
-    guest_eff_mm_type = effective_mm_type(g, pat, gpaddr, 
+    guest_eff_mm_type = effective_mm_type(g, pat, gpaddr,
                                           gl1e_flags, gmtrr_mtype);
     /* 2. Get the memory type of host physical address, with MTRR */
     shadow_mtrr_type = mtrr_get_type(&mtrr_state, spaddr, 0);
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index e4f6ca6048334b2094a1836cc2f298453641232f..4b7f840a965954cc4b59698327a37e47026893a4 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -4,8 +4,6 @@
 #include <xen/mm.h>
 
 #define MTRR_NUM_TYPES       X86_MT_UCM
-#define MEMORY_NUM_TYPES     MTRR_NUM_TYPES
-#define NO_HARDCODE_MEM_TYPE MTRR_NUM_TYPES
 
 #define NORMAL_CACHE_MODE          0
 #define NO_FILL_CACHE_MODE         2
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index f5f7ff021bd9e057c5b6f6329de7acb5ef05d58f..1faf9940db6b0afefc5977c00c00fb6a39cd27d2 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -578,7 +578,7 @@ _sh_propagate(struct vcpu *v,
                             gflags,
                             gfn_to_paddr(target_gfn),
                             mfn_to_maddr(target_mfn),
-                            NO_HARDCODE_MEM_TYPE);
+                            MTRR_NUM_TYPES);
             }
     }
 
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 23:58:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 23:58:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463951.722320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7M-0003I5-NF; Thu, 15 Dec 2022 23:58:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463951.722320; Thu, 15 Dec 2022 23:58:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7M-0003Hw-Io; Thu, 15 Dec 2022 23:58:24 +0000
Received: by outflank-mailman (input) for mailman id 463951;
 Thu, 15 Dec 2022 23:58:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t+b5=4N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5y7K-0001Aq-Qw
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 23:58:22 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5a6010d0-7cd4-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 00:58:22 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id B06A9320090D;
 Thu, 15 Dec 2022 18:58:19 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Thu, 15 Dec 2022 18:58:20 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 18:58:18 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a6010d0-7cd4-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671148699; x=1671235099; bh=yqRlGUBA8627Pg2d0cE4nb/6aUtrRUpvVX5
	2JKIQ1P8=; b=TAQpiv9oOYJyht0OIGpKZL+VCQG2hPFXvJuT+Oh/YiASQKximOY
	oqty2/omdQ2yMJlBy9A2HTjJl9C1L0EH1t5xmWDo8AUXIgynCVbuZ1x8+Mfa9+t5
	KDoms/af+Z0KIA0YG7J/VfEG/Mbu4NJR/F4icVU7KAAPy0hpX1po4YKLcZWmv3iT
	PRj4cn4tfxNzX4Hto+hZpUISmXBbneu7CTQ6OZpgBFHuB9oUSHyspsI9rheoohnm
	27edWLvBYRbc/YMAr0Rps882g67Nulcf1UjNxGwzMb8IuKlvRHgfXN8bRcAOUQdq
	G+jBuIWruTQwoavxlL5G/hCrN5QcAxJyFUA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671148699; x=1671235099; bh=yqRlGUBA8627P
	g2d0cE4nb/6aUtrRUpvVX52JKIQ1P8=; b=xP7t8sq9ZJ+ItJvilk1ofkmiULvLg
	0hrBeQH/m7WwckdgmARnlaXkXlytbLk1w3Ph4jp8CXh7E39dBOda0MvrjqRJwOn2
	GtYT9KFs+/ewBpy7dz+KQvpe7UZsutUfbQUw8VQ0tQJ76Q+UIwiUuK6Ldnmt6cQV
	Tym8fUlHz4WSZ4D5WAoylcXIplnNtpvmjxQNL0RVAC7NUw+xIHdB1qz0cuD1w8dc
	HemSmnlU75G5KS0Eclgsfs9CAH1pgBdlZoXUF4CMewQ5OHNNieb7X4ZFZhjH1rVP
	7VkgzCWYYplC5VEgTtMgG0Hh/+xgSqlud8LNqXPMUeqNRNg/IrG5Zfr1Q==
X-ME-Sender: <xms:m7SbY4Jgq3TM4sy62u-FcrHYn9XG0uwWP_8lTFMBwlb8RhaeGPWXnA>
    <xme:m7SbY4L_eqHF1NebVFvQSTtCkXmR9l9_sopvIuISVHsm20RhpK1Dsw6ps_rbvMmf-
    0Sr9nxyllPPHco>
X-ME-Received: <xmr:m7SbY4vuJYK0fpNhOHFQ6BqamwSq-QLFMgW9qWVwkf8XZaJAkv-5LGyxTsNml3uQ9AEaZRpIoL_s>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeigddugecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedunecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:m7SbY1bffjWeNUCn14HTe_gddaPsq_Jk-LRCtZ3IopP0DdpuTlSvvw>
    <xmx:m7SbY_YfOHeDwQTP36QmNpDrkSTsp2sLRw-7UMDDDbWRjtfB2aud7g>
    <xmx:m7SbYxA8S3tuyVmFo1VoBozV191LAr1V--jn7w2KnPHLS4Z0HaCC0g>
    <xmx:m7SbY9OPKcaxMIqCzg9xo3P9cCDbtm8BsdOJZWDQOsQzO1YhWVPysQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v4 07/10] x86: Derive XEN_MSR_PAT from its individual entries
Date: Thu, 15 Dec 2022 18:57:49 -0500
Message-Id: <2d6b2f875f023e9f57a93e31e82f8eb908a36d36.1671139149.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671139149.git.demi@invisiblethingslab.com>
References: <cover.1671139149.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This avoids it being a magic constant that is difficult for humans to
decode.  Use BUILD_BUG_ON to check that the old and new values are
identical.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/include/asm/processor.h | 9 ++++++++-
 xen/arch/x86/mm.c                    | 9 +++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index c3205ed9e10c1a57d23c5ecead66bebd82d87d06..ed71c9c975d56687eb126ec4ca7b271788e5f1d8 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -96,7 +96,14 @@
  * Host IA32_CR_PAT value to cover all memory types.  This is not the default
  * MSR_PAT value, and is an ABI with PV guests.
  */
-#define XEN_MSR_PAT _AC(0x050100070406, ULL)
+#define XEN_MSR_PAT ((_AC(X86_MT_WB,  ULL) << 0x00) | \
+                     (_AC(X86_MT_WT,  ULL) << 0x08) | \
+                     (_AC(X86_MT_UCM, ULL) << 0x10) | \
+                     (_AC(X86_MT_UC,  ULL) << 0x18) | \
+                     (_AC(X86_MT_WC,  ULL) << 0x20) | \
+                     (_AC(X86_MT_WP,  ULL) << 0x28) | \
+                     (_AC(X86_MT_UC,  ULL) << 0x30) | \
+                     (_AC(X86_MT_UC,  ULL) << 0x38))
 
 #ifndef __ASSEMBLY__
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 802073a01c5cf4dc3cf1d58d28ea4d4e9e8149c7..eeaa9760d2aa38b5efa2cbf9d99290e7c432ddfe 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6357,6 +6357,15 @@ unsigned long get_upper_mfn_bound(void)
     return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1;
 }
 
+static void __init __maybe_unused build_assertions(void)
+{
+    /*
+     * If this trips, live migration of PV guests to and from this Xen is
+     * broken.
+     */
+    BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL);
+}
+
 /*
  * Local variables:
  * mode: C
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 23:58:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 23:58:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463956.722332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7P-0003gY-1E; Thu, 15 Dec 2022 23:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463956.722332; Thu, 15 Dec 2022 23:58:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7O-0003gI-Sn; Thu, 15 Dec 2022 23:58:26 +0000
Received: by outflank-mailman (input) for mailman id 463956;
 Thu, 15 Dec 2022 23:58:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t+b5=4N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5y7O-0001Aq-17
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 23:58:26 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ba770d5-7cd4-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 00:58:24 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id D60A7320090F;
 Thu, 15 Dec 2022 18:58:21 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Thu, 15 Dec 2022 18:58:22 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 18:58:20 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ba770d5-7cd4-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671148701; x=1671235101; bh=dMVGCS/x++7SYj3ENPzOdGMWJy+wZ+3Rx/D
	/BV2TFuE=; b=YtTNEDmfuwGRjuqwwUCs8BmVmigOIxrt423/Rk40wKu4LuRecdC
	8tFt9GfrDpqkEcA7ti4Hd6kUxmwCt/wQ+bOJTvU/34HdFQWaJkGF3R77PSpAyMPH
	NWiMkUa1xW40W1+TTnqKJiGHRw/mYiUVXLRfecb4I+ceYzHHxcYdbKe1xM1DT0SD
	h+L9vL6gOclPnWLQytQv8VQi08GDz188bedAOeb89DXyq85mzBm8kho5Zxs3thfX
	yqWwR4fjKJRsj6MsBh/iQCDiwCndGdo1U/TMixxtwynUnb23JqG+UqdyMXw5Hk/S
	zeQbqYkI6moObE4Z/1Gw4AOIcQL687TwEDg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671148701; x=1671235101; bh=dMVGCS/x++7SY
	j3ENPzOdGMWJy+wZ+3Rx/D/BV2TFuE=; b=KgJtnU/BjGq29s9lMdacc8q5piIwj
	Nn+GP4FKHevd0DxCwgOMj8vc0w4lVYrHPUloiyXbd6sAU5Oj7D5qbFODEQotHIlN
	FqeR33Ziw4c2Scf/GKi0W38gkAy2Kqc2XoyA212WiAtN3zqz8fd3ObEtS9FXr6qS
	X/yu6myvqTpcsUF1rojopZcmPmzo43I7tcQxAo8nLzNhObtIhIbrm8Mt2vaU8RdV
	rqVLBRCEYA6N36KvpsMR/VaZOvHaPihhWpAYQz0IRngLuDmRh9g4YN7YU7imHleu
	QRn4R+JGPwFEJPa6jhxV38x2G4XtmDZMQsD78KlMdQyBItZ0AIhc045HA==
X-ME-Sender: <xms:nbSbY7BFJyQsyl-yBmASzpYdpqvvjeW-5arObyC2na8Ge9IWIRNCAA>
    <xme:nbSbYxjoitOvK_2gAyXgVlb0dUaZz3-02wmwq5YD_dxlUWqbDFVp61H0Wz2qDPemv
    XyEd9UIZa7iBnc>
X-ME-Received: <xmr:nbSbY2m6KpyGHYZ4zw0fQMfaOJOwQqrGkPR0c26qD0dkLmPkwayXa9okwbp-aAehTSQVlVMQ9Xq2>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeigddugecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedvnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:nbSbY9wgWw2kJvmaSQtOr7QubnULapdaCkSyDjlOrWKOHCdj1l3dSw>
    <xmx:nbSbYwRqZt5aF0vZTXTeL30NvHqe3huVJ-SFWfMdQ5cSYqKCojtgMA>
    <xmx:nbSbYwZYcWlYvCVAcvljAlgCEch-oJtICfMGZPtrbPMYL-Rin13cZQ>
    <xmx:nbSbYzEPkQs21U-rbXTg86jQ-IjmNeQxBpHGxTkE9_2EqRBjxER1Zg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v4 08/10] x86/mm: make code robust to future PAT changes
Date: Thu, 15 Dec 2022 18:57:50 -0500
Message-Id: <65f81d3d4b75ef5d09d4e4c4f38fed985c787946.1671139149.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671139149.git.demi@invisiblethingslab.com>
References: <cover.1671139149.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It may be desirable to change Xen's PAT for various reasons.  This
requires changes to several _PAGE_* macros as well.  Add static
assertions to check that XEN_MSR_PAT is consistent with the _PAGE_*
macros, and that _PAGE_WB is 0 as required by Linux.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v3:
- Refactor some macros
- Avoid including a string literal in BUILD_BUG_ON

 xen/arch/x86/mm.c | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index eeaa9760d2aa38b5efa2cbf9d99290e7c432ddfe..1bba833aecf636079bb60c45e34cdce3d4ddbba5 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6364,6 +6364,42 @@ static void __init __maybe_unused build_assertions(void)
      * broken.
      */
     BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL);
+    /* A bunch of static assertions to check that the XEN_MSR_PAT is valid
+     * and consistent with the _PAGE_* macros */
+    BUILD_BUG_ON(_PAGE_WB);
+#define PAT_VALUE(v) (0xFF & (XEN_MSR_PAT >> (v)))
+#define BAD_VALUE(v) ((v) < 0 || (v) > 7 ||                                    \
+                      (v) == X86_MT_RSVD_2 || (v) == X86_MT_RSVD_3)
+#define BAD_PAT_VALUE(v) BUILD_BUG_ON(BAD_VALUE(PAT_VALUE(8 * (v))))
+    BAD_PAT_VALUE(0);
+    BAD_PAT_VALUE(1);
+    BAD_PAT_VALUE(2);
+    BAD_PAT_VALUE(3);
+    BAD_PAT_VALUE(4);
+    BAD_PAT_VALUE(5);
+    BAD_PAT_VALUE(6);
+    BAD_PAT_VALUE(7);
+#undef BAD_PAT_VALUE
+#undef BAD_VALUE
+#define PAT_SHIFT(page_value) ((((page_value) & _PAGE_PAT) >> 2) |             \
+                               ((page_value) & (_PAGE_PCD | _PAGE_PWT)))
+#define CHECK_PAGE_VALUE(page_value) do {                                      \
+    /* Check that the _PAGE_* macros only use bits from PAGE_CACHE_ATTRS */    \
+    BUILD_BUG_ON(((_PAGE_##page_value) & PAGE_CACHE_ATTRS) !=                  \
+                  (_PAGE_##page_value));                                       \
+    /* Check that the _PAGE_* are consistent with XEN_MSR_PAT */               \
+    BUILD_BUG_ON(PAT_VALUE(PAT_SHIFT(_PAGE_##page_value)) !=                   \
+                 (X86_MT_##page_value));                                       \
+} while (0)
+    CHECK_PAGE_VALUE(WT);
+    CHECK_PAGE_VALUE(WB);
+    CHECK_PAGE_VALUE(WC);
+    CHECK_PAGE_VALUE(UC);
+    CHECK_PAGE_VALUE(UCM);
+    CHECK_PAGE_VALUE(WP);
+#undef CHECK_PAGE_VALUE
+#undef PAT_SHIFT
+#undef PAT_VALUE
 }
 
 /*
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Thu Dec 15 23:58:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 15 Dec 2022 23:58:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.463964.722343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7U-0004eJ-Bm; Thu, 15 Dec 2022 23:58:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 463964.722343; Thu, 15 Dec 2022 23:58:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5y7U-0004e8-8V; Thu, 15 Dec 2022 23:58:32 +0000
Received: by outflank-mailman (input) for mailman id 463964;
 Thu, 15 Dec 2022 23:58:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t+b5=4N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5y7T-0001B1-2R
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 23:58:31 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e9e6898-7cd4-11ed-8fd3-01056ac49cbb;
 Fri, 16 Dec 2022 00:58:29 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 8C232320090F;
 Thu, 15 Dec 2022 18:58:26 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Thu, 15 Dec 2022 18:58:27 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 18:58:25 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e9e6898-7cd4-11ed-8fd3-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671148706; x=1671235106; bh=I3xtknO0zKAM1mAB5LApuppxGZmwfI++tAq
	sarKIiGg=; b=OO7yQ2Ior/nA/NIgaEsMNk3mj0DtE2w1/iCMl6BF0Joat4KCjNd
	egcxDCaUuVA1942dAgUp6koosDEo1dWqCmRQiQSda2CrUSyt9/guGXgQDma33Bmw
	Oy4Un03NM+Izlrb5rNBAeKj+SVm+WY8JIWcroLOxR1Tp7c5muq4MsT7d3uC2K1zq
	oDpWEM+aBjZeO1X/qB8N5EvBxYjbQWxggwOHowNAz+PgDENBV+2IO0PAuixEFcXY
	ZywndfaSf0CSHyTwd5gCo9vCuyHRyqVTTzwNCwFD3yrDlEWw88Jn3B8XtsKCHoTG
	AKOqLPnVQ7IQqF3T3MRC7NvkQQ7tDrqB/Pg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671148706; x=1671235106; bh=I3xtknO0zKAM1
	mAB5LApuppxGZmwfI++tAqsarKIiGg=; b=UOBSp19teokqrfC4dYr5MWd7yi1YZ
	67FvLIaAtlrMPL8lfG/HNbZd2tdeLbbpg/UxVWK7u8uqNvomrDvGCxqT6KCsjmhp
	XQz9GpZ6dHk2UJZV+IXjt1ImJt1QRS/oTOq/qUkbA2J2frWGaX0wjB0nvGqJfE1j
	cIHYruraH3EbAZ906FZw+OgXHMCQYZfFO40r15cxSa42Ll+y5WPxQ+T95zwtAXnJ
	ad94+9ya0OnLiZvGVsV4bPrfVM1CyJxtfXBItXBOzbs9aQLmPsbRUmG3A6lpu8vt
	xhIipNglI1FOgD2nQ256wYPkhCyn43ob+GyuUWytKqeyfk42g04KduBxQ==
X-ME-Sender: <xms:orSbY2Wzb99ChLzt8qJnH1X82AiJbwB2yX0qF0DzMMIjxjsgFUzgMw>
    <xme:orSbYyk8zrymhKDS8hK-4S65z9Hlt7sT9mwBjsbLBNAnQWS7oGoUenVUhw-nxNUb9
    NiJE6KXT9nl9as>
X-ME-Received: <xmr:orSbY6bLCKnRtlxRzfMZ1Zuw4ejIeJpsiUOOwWatv0dyXa8jScVhoZpn4YxGm3--Sds8isEa3Xtd>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeigddugecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedvnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:orSbY9VFodXt0vEP1aWxe4SHleNjAdLgeONWDqTuUjQI9tQdQg1tHw>
    <xmx:orSbYwneBy3eWnSHe3ITDjo80S2zohKiXlr2bTf2tvl8QTeWwC1vGg>
    <xmx:orSbYyc8CD3ql2euXkk3vPapqMDbCYNny8SqFsy2PzrQe2IKL-ZnxA>
    <xmx:orSbY67pubvQIVnd_EeLbH-MOgiuYW46Jq57_BpklBu6CS4qQE8VEg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v4 10/10] x86: Use Linux's PAT
Date: Thu, 15 Dec 2022 18:57:52 -0500
Message-Id: <4199a62efcfb0b648ebb006340623500e2b8d200.1671139149.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671139149.git.demi@invisiblethingslab.com>
References: <cover.1671139149.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is purely for testing, to see if it works around a bug in i915.  It
is not intended to be merged.

NOT-signed-off-by: DO NOT MERGE
---
 xen/arch/x86/include/asm/page.h      |  4 ++--
 xen/arch/x86/include/asm/processor.h | 10 +++++-----
 xen/arch/x86/mm.c                    |  5 -----
 3 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/include/asm/page.h b/xen/arch/x86/include/asm/page.h
index b585235d064a567082582c8e92a4e8283fd949ca..ab9b46f1d0901e50a83fd035ff28d1bda0b781a2 100644
--- a/xen/arch/x86/include/asm/page.h
+++ b/xen/arch/x86/include/asm/page.h
@@ -333,11 +333,11 @@ void efi_update_l4_pgtable(unsigned int l4idx, l4_pgentry_t);
 
 /* Memory types, encoded under Xen's choice of MSR_PAT. */
 #define _PAGE_WB         (                                0)
-#define _PAGE_WT         (                        _PAGE_PWT)
+#define _PAGE_WC         (                        _PAGE_PWT)
 #define _PAGE_UCM        (            _PAGE_PCD            )
 #define _PAGE_UC         (            _PAGE_PCD | _PAGE_PWT)
-#define _PAGE_WC         (_PAGE_PAT                        )
 #define _PAGE_WP         (_PAGE_PAT |             _PAGE_PWT)
+#define _PAGE_WT         (_PAGE_PAT | _PAGE_PCD | _PAGE_PWT)
 
 /*
  * Debug option: Ensure that granted mappings are not implicitly unmapped.
diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index ed71c9c975d56687eb126ec4ca7b271788e5f1d8..5959b0da8da98695bfe25cc521d772e541803622 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -94,16 +94,16 @@
 
 /*
  * Host IA32_CR_PAT value to cover all memory types.  This is not the default
- * MSR_PAT value, and is an ABI with PV guests.
+ * MSR_PAT value, and is needed by the Linux i915 driver.
  */
 #define XEN_MSR_PAT ((_AC(X86_MT_WB,  ULL) << 0x00) | \
-                     (_AC(X86_MT_WT,  ULL) << 0x08) | \
+                     (_AC(X86_MT_WC,  ULL) << 0x08) | \
                      (_AC(X86_MT_UCM, ULL) << 0x10) | \
                      (_AC(X86_MT_UC,  ULL) << 0x18) | \
-                     (_AC(X86_MT_WC,  ULL) << 0x20) | \
+                     (_AC(X86_MT_WB,  ULL) << 0x20) | \
                      (_AC(X86_MT_WP,  ULL) << 0x28) | \
-                     (_AC(X86_MT_UC,  ULL) << 0x30) | \
-                     (_AC(X86_MT_UC,  ULL) << 0x38))
+                     (_AC(X86_MT_UCM, ULL) << 0x30) | \
+                     (_AC(X86_MT_WT,  ULL) << 0x38))
 
 #ifndef __ASSEMBLY__
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 80b767dfe3d1797198a08f216eb525503fe31771..d0dc033a2ce63ad3d261ce3ec59f292dc051cb6d 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6382,11 +6382,6 @@ unsigned long get_upper_mfn_bound(void)
 
 static void __init __maybe_unused build_assertions(void)
 {
-    /*
-     * If this trips, live migration of PV guests to and from this Xen is
-     * broken.
-     */
-    BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL);
     /* A bunch of static assertions to check that the XEN_MSR_PAT is valid
      * and consistent with the _PAGE_* macros */
     BUILD_BUG_ON(_PAGE_WB && "Linux requires _PAGE_WB to be 0");
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 00:05:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 00:05:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464019.722353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5yDt-00006g-9L; Fri, 16 Dec 2022 00:05:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464019.722353; Fri, 16 Dec 2022 00:05:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5yDt-00006Z-6R; Fri, 16 Dec 2022 00:05:09 +0000
Received: by outflank-mailman (input) for mailman id 464019;
 Fri, 16 Dec 2022 00:05:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=t+b5=4N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p5y7R-0001Aq-1D
 for xen-devel@lists.xenproject.org; Thu, 15 Dec 2022 23:58:29 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5d0de2db-7cd4-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 00:58:26 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 34B95320091F;
 Thu, 15 Dec 2022 18:58:24 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Thu, 15 Dec 2022 18:58:25 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 18:58:22 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d0de2db-7cd4-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm2; t=1671148703; x=1671235103; bh=sjEPz+zqPi
	TMR4O1DaVsBA1MdMjnSvNe33UG8SauJJ0=; b=vEwXb9u9/1kiHDbCN3tAu37Jvc
	op0CUFjS/SF1MbmT+PmTicbvkfutbrG9NfPbALYDymkD4Fel8PwN9yxxq4Z6a8bG
	AZ9h+1KP0PO8nzfJlTH+LOmsqP4msLxRRyZNRXgTb/VV2K2ZE5FhydeVhJiVO+6O
	yR6ds2O18EwEJmUm5QA6cfwhzPUdF6PrS/AA7BZdV5d5X2wc78C1nqYTnAPFPuMZ
	WVrUWXVQQ5GBQ+wkeb3jIk8oe49RnkC6DhcR34kiionfXrU16KdFW0bGTSpiuGlA
	eARGrB7pRYQTgeisNlgh9+And+NYa60TjEL/Ohg7hUX/T5sVsrx0H1zADhEA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1671148703; x=
	1671235103; bh=sjEPz+zqPiTMR4O1DaVsBA1MdMjnSvNe33UG8SauJJ0=; b=X
	PDFD+JiT3CYP9oHa53ryy+BdTQsUuhw85J3z5HYfv6cUekF1rV66t2XOubEf80Ci
	mWOMFsfjIlbq9LoACCgAvUKCx4yFtFM9pC2F1Gt8byU1+TGOsqPHj+Kj8q/PGkgM
	eBYWz2vO01FA3XGsnFePKa4Z1or3PHREWFxSgMqXrbx0qJuNvUyzhItGY4R5gr2T
	pVF4uGsYx2IxwuzU9iD6FnMxUoCGkkhO3gipaIRZ3IPIqcEF8qMWfxuVspZFJNjt
	OB4/pRIzjDQ3oLYs7lbJE33J/k9VcqKqx68QZyR/STHiF2a1g3HqbkZvOxVNmmpN
	8gNZDle7dsGtdUGXq8/JA==
X-ME-Sender: <xms:n7SbY0FwExr8-8wdOODt-1aq7-AQpzXioJbuNr_WXqC7-264Wdi8DQ>
    <xme:n7SbY9VNA7OoCTbuRujlDSw9KEBErab2Nzt5ZzbpH0StXuJ-b8Iu3NehViA52vLrr
    lWhAcGKcF8pA6c>
X-ME-Received: <xmr:n7SbY-LZEZ7esDobiaZy2mbYnW1jUAx756EoxoWLLrD0i1yxMUB8d6JVdr5jRg2i73v4fIv59TSP>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeigddugecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepledukeelleejkeevkeefgefhffeg
    vdeigeelieegjefffeeiveeivdejgeevteeinecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:n7SbY2E9lnRGnwqfX_w_UasSM1gSMOov3LUZg-6fyiZp_oVE-dYi3g>
    <xmx:n7SbY6UMzY44_ogASBrFcO-z-P7M-P_p2h14oyfJQWRNVfzXI4VKpA>
    <xmx:n7SbY5M8rUUGViQ89T56xD7OcjUQmW873r8ujq28GL9Nmgb6vaiI-w>
    <xmx:n7SbY-r-UvhPB96lRJr7a6U_mJ4ROvhsaOCYd9gI8cFwnLWQ7pizvA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v4 09/10] x86/mm: Reject invalid cacheability in PV guests by default
Date: Thu, 15 Dec 2022 18:57:51 -0500
Message-Id: <85f7a6a64f1577b27415e3bc569f1159b3b44cb3.1671139149.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671139149.git.demi@invisiblethingslab.com>
References: <cover.1671139149.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Setting cacheability flags that are not ones specified by Xen is a bug
in the guest.  By default, inject #GP into any guest that does this.
allow_invalid_cacheability can be used on the Xen command line to
disable this check.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v3:
- Add Andrew Cooper’s Suggested-by

 xen/arch/x86/mm.c | 25 ++++++++++++++++++++++++-
 1 file changed, 24 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 1bba833aecf636079bb60c45e34cdce3d4ddbba5..80b767dfe3d1797198a08f216eb525503fe31771 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -145,6 +145,8 @@
 
 #ifdef CONFIG_PV
 #include "pv/mm.h"
+bool allow_invalid_cacheability;
+boolean_param("allow_invalid_cacheability", allow_invalid_cacheability);
 #endif
 
 /* Override macros from asm/page.h to make them work with mfn_t */
@@ -1348,7 +1350,28 @@ static int promote_l1_table(struct page_info *page)
         }
         else
         {
-            switch ( ret = get_page_from_l1e(pl1e[i], d, d) )
+            l1_pgentry_t l1e = pl1e[i];
+
+            BUILD_BUG_ON(PAGE_CACHE_ATTRS > 0xffff);
+            if ( !allow_invalid_cacheability )
+            {
+                switch ( l1e.l1 & PAGE_CACHE_ATTRS )
+                {
+                case _PAGE_WB:
+                case _PAGE_UC:
+                case _PAGE_UCM:
+                case _PAGE_WC:
+                case _PAGE_WT:
+                case _PAGE_WP:
+                    break;
+                default:
+                    pv_inject_hw_exception(TRAP_gp_fault, 0);
+                    ret = -EINVAL;
+                    goto fail;
+                }
+            }
+
+            switch ( ret = get_page_from_l1e(l1e, d, d) )
             {
             default:
                 goto fail;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 01:33:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 01:33:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464053.722377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5zak-0007lN-VV; Fri, 16 Dec 2022 01:32:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464053.722377; Fri, 16 Dec 2022 01:32:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5zak-0007lG-Qz; Fri, 16 Dec 2022 01:32:50 +0000
Received: by outflank-mailman (input) for mailman id 464053;
 Fri, 16 Dec 2022 01:32:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5zaj-0007l6-OI; Fri, 16 Dec 2022 01:32:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5zaj-0002pG-Li; Fri, 16 Dec 2022 01:32:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5zaj-0007UD-0c; Fri, 16 Dec 2022 01:32:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5zai-0005pg-WE; Fri, 16 Dec 2022 01:32:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Vkcq8b193ij5fbwlHpDXppjg+FHHd/toDhxselRdyvo=; b=Txal2mAojIjbQuptmanfy+QomM
	1HfBIvzK4CMopGWi2Qu4N08tYLk+tpop4NjHfyX27M7RqV5JbgZljVYHSdb8B3h4pdo+kclmTJIjp
	FA27jAL+cR2Iu6at7RUszkSpaGCLD9XMlksZDku+iXxDm62/MM3twKJFWRKX9Zucf7t8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175270-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175270: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=041fae9c105ae342a4245cf1e0dc56a23fbb9d3c
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 01:32:48 +0000

flight 175270 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175270/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                041fae9c105ae342a4245cf1e0dc56a23fbb9d3c
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   69 days
Failing since        173470  2022-10-08 06:21:34 Z   68 days  139 attempts
Testing same since   175233  2022-12-15 02:01:49 Z    0 days    2 attempts

------------------------------------------------------------
2993 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 419051 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 01:37:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 01:37:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464063.722388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5zen-0008Oi-EL; Fri, 16 Dec 2022 01:37:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464063.722388; Fri, 16 Dec 2022 01:37:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5zen-0008Ob-B5; Fri, 16 Dec 2022 01:37:01 +0000
Received: by outflank-mailman (input) for mailman id 464063;
 Fri, 16 Dec 2022 01:36:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5zel-0008ON-PN; Fri, 16 Dec 2022 01:36:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5zel-0002u2-Mp; Fri, 16 Dec 2022 01:36:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p5zel-0007e7-4n; Fri, 16 Dec 2022 01:36:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p5zel-0001f2-4L; Fri, 16 Dec 2022 01:36:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gKdmWpoiXBFQpOMcAUuZ0r+orMehynCof+bbdpf6w3o=; b=RQ0F9N80QUiPkED3wmnBSCs68Z
	9P99KQtFKzh6jC59PE/ACnuGv47r1X+KSNrzBlCn7jXkwjjOxRUUziSeYwhzT9RwibektUuqMnh7n
	beG0QdwH3Rlg6I+Qj6Yk1V6A5DOAda3V1sT0+xUFg8Uf9jVALVQiYqekcGalTD0rUNew=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175273-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175273: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=3e3f5bb21c0a2c1368c43713cf7f4b51097259af
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 01:36:59 +0000

flight 175273 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175273/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 3e3f5bb21c0a2c1368c43713cf7f4b51097259af
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    1 days
Failing since        175214  2022-12-14 18:42:16 Z    1 days    8 attempts
Testing same since   175263  2022-12-15 09:40:40 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 3e3f5bb21c0a2c1368c43713cf7f4b51097259af
Author: Adam Dunlap <acdunlap@google.com>
Date:   Sat Dec 10 05:04:16 2022 +0800

    OvmfPkg/PlatformPei: Validate SEC's GHCB page
    
    When running under SEV-ES, a page of shared memory is allocated for the
    GHCB during the SEC phase at address 0x809000. This page of memory is
    eventually passed to the OS as EfiConventionalMemory. When running
    SEV-SNP, this page is not PVALIDATE'd in the RMP table, meaning that if
    the guest OS tries to access the page, it will think that the host has
    voilated the security guarantees and will likely crash.
    
    This patch validates this page immediately after EDK2 switches to using
    the GHCB page allocated for the PEI phase.
    
    This was tested by writing a UEFI application that reads to and writes
    from one byte of each page of memory and checks to see if a #VC
    exception is generated indicating that the page was not validated.
    
    Fixes: 6995a1b79bab ("OvmfPkg: Create a GHCB page for use during Sec phase")
    
    Signed-off-by: Adam Dunlap <acdunlap@google.com>
    Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com>

commit 01c0d3c0d508b8c1b41fd58e2ec565b40ea000ca
Author: Min M Xu <min.m.xu@intel.com>
Date:   Wed Dec 14 15:14:19 2022 +0800

    OvmfPkg/SecTpmMeasurementLib: Fix the mapping error of PCR and RTMR index
    
    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4179
    
    TDVF has the feature to do RTMR measurement in SEC phase. In the same time
    it builds a GUID hob which carries the hash value of the measurement so
    that in DXE phase a td event can be created based on this GUID Hob. There
    is a mapping error between TPM PCR index and RTMR index according to UEFI
    2.10. That PCR6 is missing in the mapping. This patch fixes this issue.
    
    Cc: Erdem Aktas <erdemaktas@google.com> [ruleof2]
    Cc: James Bottomley <jejb@linux.ibm.com> [jejb]
    Cc: Jiewen Yao <jiewen.yao@intel.com> [jyao1]
    Cc: Tom Lendacky <thomas.lendacky@amd.com> [tlendacky]
    Cc: Arti Gupta <ARGU@microsoft.com>
    Signed-off-by: Min Xu <min.m.xu@intel.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

commit fb91d6cbd0cff704586c4cadbef870acef9c52ef
Author: Min M Xu <min.m.xu@intel.com>
Date:   Wed Dec 14 15:14:18 2022 +0800

    OvmfPkg/TdTcg2Dxe: Fix the mapping error between PCR index and MR index
    
    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4179
    
    According to UEFI Spec 2.10 it is supposed to return the mapping from PCR
    index to CC MR index:
    //
    // In the current version, we use the below mapping for TDX:
    //
    // TPM PCR Index | CC Measurement Register Index | TDX-measurement register
    // -----------------------------------------------------------------------
    // 0             |   0                           |   MRTD
    // 1, 7          |   1                           |   RTMR[0]
    // 2~6           |   2                           |   RTMR[1]
    // 8~15          |   3                           |   RTMR[2]
    
    In the current implementation TdMapPcrToMrIndex returns the index of RTMR,
    not the MR index.
    
    After fix the spec unconsistent, other related codes are updated
    accordingly.
    1) The index of event log uses the input MrIndex.
    2) MrIndex is decreated by 1 before it is sent for RTMR extending.
    
    Cc: Erdem Aktas <erdemaktas@google.com> [ruleof2]
    Cc: James Bottomley <jejb@linux.ibm.com> [jejb]
    Cc: Jiewen Yao <jiewen.yao@intel.com> [jyao1]
    Cc: Tom Lendacky <thomas.lendacky@amd.com> [tlendacky]
    Cc: Arti Gupta <ARGU@microsoft.com>
    Reported-by: Arti Gupta <ARGU@microsoft.com>
    Signed-off-by: Min Xu <min.m.xu@intel.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

commit 19f7c63ea978c5a4ef9345b9bf4995dcd48fa328
Author: Min M Xu <min.m.xu@intel.com>
Date:   Wed Dec 14 15:14:17 2022 +0800

    OvmfPkg/TdTcg2Dxe: Fix incorrect protocol and structure version
    
    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4184
    
    According to the Uefi spec 2.10 Section 38.2.2.
    EFI_CC_MEASUREMENT_PROTOCOL.GetCapability, the minor version of
    StructureVersion and ProtocolVersion should be 0.
    
    Cc: Erdem Aktas <erdemaktas@google.com> [ruleof2]
    Cc: James Bottomley <jejb@linux.ibm.com> [jejb]
    Cc: Jiewen Yao <jiewen.yao@intel.com> [jyao1]
    Cc: Tom Lendacky <thomas.lendacky@amd.com> [tlendacky]
    Cc: Arti Gupta <ARGU@microsoft.com>
    Reported-by: Arti Gupta <ARGU@microsoft.com>
    Signed-off-by: Min Xu <min.m.xu@intel.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

commit 44fc90eb0ea7299abc79577db55aa6257b46b7ae
Author: devel@edk2.groups.io <devel@edk2.groups.io>
Date:   Wed Nov 30 15:02:15 2022 -0800

    UnitTestFrameworkPkg/UnitTestLib: Print expected Status on ASSERT fail
    
    Update the UnitTestAssertStatusEqual error message to print out the
    expected value in addition to the seen value.
    
    Signed-off-by: Jeshua Smith <jeshuas@nvidia.com>
    Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>

commit cda98df16228970dcf9a4ce2af5368219711b4b0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:09 2022 +0100

    OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported
    
    Remove global variables, store the state in PlatformInfoHob instead.
    Probing for fw_cfg happens on first use, at library initialization
    time the Hob might not be present yet.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 81bbc1452c972218f071cd4a8f5899df974b1dae
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:08 2022 +0100

    OvmfPkg/QemuFwCfgLib: rewrite fw_cfg probe
    
    Move the code to a new QemuFwCfgProbe() function.  Use direct Io*() calls
    instead of indirect QemuFwCfg*() calls to make sure we don't get
    recursive calls.  Also simplify CC guest detection.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit e59747bd8246135faeecc18879d62db66a6acfc2
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:07 2022 +0100

    OvmfPkg/DebugLibIoPort: use Rom version for PEI
    
    This variant does not use global variables.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit f6a196c7eb34affff0cfe1864e126953096885e1
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:06 2022 +0100

    OvmfPkg/PlatformPei: remove mFeatureControlValue
    
    Use PlatformInfoHob->FeatureControlValue instead.
    OnMpServicesAvailable() will find PlatformInfoHob using
    GetFirstGuidHob() and pass a pointer to the WriteFeatureControl
    callback.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 862614e2544997c848fab7388733774ae0ea92d8
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:05 2022 +0100

    OvmfPkg/PlatformPei: remove mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable.  Let
    BuildPlatformInfoHob() allocate and return PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 4bc2c748516e5c4a8bb86093cd5e1b80a9f35c0f
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:04 2022 +0100

    OvmfPkg/PlatformPei: Verification: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in S3Verification() and
    Q35BoardVerification() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 7dbb8a24d1a3403f85d959bc1234b9f4a92bfbf0
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:03 2022 +0100

    OvmfPkg/PlatformPei: NoExec: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in NoexecDxeInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit cc6efda7770b8cabea3ae8c6054d47c4a8e229c3
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:02 2022 +0100

    OvmfPkg/PlatformPei: MemTypeInfo: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in MemTypeInfoInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 27874a382c38a95d3ab613eebd35c152ca9b3897
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:01 2022 +0100

    OvmfPkg/PlatformPei: PeiMemory: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PublishPeiMemory()
    and GetPeiMemoryCap() functions.  Pass a pointer to the PlatformInfoHob
    instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 00743d144bc5b643e9323ad66f16cb48cf338705
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:10:00 2022 +0100

    OvmfPkg/PlatformPei Q35 SMM helpers: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in
    Q35TsegMbytesInitialization() and
    Q35SmramAtDefaultSmbaseInitialization() ) functions.
    Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 9d9d15b42a5e13bb18729da0f608c629aa274e80
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:59 2022 +0100

    OvmfPkg/PlatformPei: PeiFv: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in PeiFvInitialization()
    function.  Pass a pointer to the PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 78c373f2a5273af00b23b55d3e8c41583310cfb6
Author: Gerd Hoffmann <kraxel@redhat.com>
Date:   Fri Dec 2 14:09:58 2022 +0100

    OvmfPkg/PlatformPei: AmdSev: stop using mPlatformInfoHob
    
    Stop using the mPlatformInfoHob global variable in AmdSevInitialize()
    and AmdSevEsInitialize() functions.  Pass a pointer to the
    PlatformInfoHob instead.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Acked-by: Ard Biesheuvel <ardb@kernel.org>

commit 916825b84f23b691dcce09a57625fb8fcb0cbb48
Author: Jeff Brasen <jbrasen@nvidia.com>
Date:   Tue Nov 15 11:01:06 2022 -0700

    DynamicTablesPkg: SSDT _LPI revision is incorrect
    
    _LPI Revision should be 0 per the ACPI 6.5 specification.
    "The revision number of the _LPI object. Current revision is 0."
    
    Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
    Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 01:46:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 01:46:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464076.722399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5zni-0001b5-EW; Fri, 16 Dec 2022 01:46:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464076.722399; Fri, 16 Dec 2022 01:46:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p5zni-0001ay-Az; Fri, 16 Dec 2022 01:46:14 +0000
Received: by outflank-mailman (input) for mailman id 464076;
 Fri, 16 Dec 2022 01:46:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=12d2=4O=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p5znh-0001as-1c
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 01:46:13 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6aa6970f-7ce3-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 02:46:11 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 4ACC561FDA;
 Fri, 16 Dec 2022 01:46:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0400DC433EF;
 Fri, 16 Dec 2022 01:46:07 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6aa6970f-7ce3-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671155169;
	bh=nJZYq9zNX+m5SrV+P9uWlUfA368yTaQ75XzFx2XBssY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=bJm0M6/cYUAX3d4sVj/Z5NzIsa5Qc4Zwfl/o4zGxW1IWyA5G3ASMOeEA1BcIaRT8i
	 UYQ5CqSB69/Ho82WljxPgANYd20lj4jFEyPLnPIkmjXUp5tMVNsIL4rvcqOvL8Nquj
	 5JDqaUeTIT4L+tLCAZYDoq+P2sLOozK9kwtwQmzMmlxO4fO+eXA5Gf40WSQvZo65EB
	 p9YnLgIe0VdJzsAziKGpK28DxgxoB+qoJeZiWLv+m0AFdRmIZeoxdzgxcK9ejaqTpT
	 GTWK/7X62SWc40kkv/LFQOLPigU7CpCUYYfBHa3cwFYXdShbfzHBRp68Ygglyd7m5q
	 V+30x+1dbM97g==
Date: Thu, 15 Dec 2022 17:46:06 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: "Smith, Jackson" <rsmith@RiversideResearch.org>, 
    "Brookes, Scott" <sbrookes@RiversideResearch.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, 
    "jbeulich@suse.com" <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, 
    "demi@invisiblethingslab.com" <demi@invisiblethingslab.com>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
    "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
In-Reply-To: <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM> <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org> <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 15 Dec 2022, Julien Grall wrote:
> > > On 13/12/2022 19:48, Smith, Jackson wrote:
> > > > Hi Xen Developers,
> > > 
> > > Hi Jackson,
> > > 
> > > Thanks for sharing the prototype with the community. Some
> > > questions/remarks below.
> > > 
> > > > My team at Riverside Research is currently spending IRAD funding to
> > > > prototype next-generation secure hypervisor design ideas on Xen. In
> > > > particular, we are prototyping the idea of Virtual Memory Fuses for
> > > > Software Enclaves, as described in this paper:
> > > > https://www.nspw.org/papers/2020/nspw2020-brookes.pdf. Note
> > > that that
> > > > paper talks about OS/Process while we have implemented the idea
> > > for
> > > > Hypervisor/VM.
> > > > 
> > > > Our goal is to emulate something akin to Intel SGX or AMD SEV, but
> > > > using only existing virtual memory features common in all
> > processors.
> > > > The basic idea is not to map guest memory into the hypervisor so
> > > that
> > > > a compromised hypervisor cannot compromise (e.g. read/write) the
> > > > guest. This idea has been proposed before, however, Virtual Memory
> > > > Fuses go one step further; they delete the hypervisor's mappings to
> > > > its own page tables, essentially locking the virtual memory
> > > > configuration for the lifetime of the system. This creates what we
> > > > call "Software Enclaves", ensuring that an adversary with arbitrary
> > > > code execution in the hypervisor STILL cannot read/write guest
> > > memory.
> > > 
> > > I am confused, if the attacker is able to execute arbitrary code, then
> > > what prevent them to write code to map/unmap the page?
> > > 
> > > Skimming through the paper (pages 5-6), it looks like you would need
> > > to implement extra defense in Xen to be able to prevent map/unmap a
> > > page.
> > > 
> > 
> > The key piece is deleting all virtual mappings to Xen's page table
> > structures. From the paper (4.4.1 last paragraph), "Because all memory
> > accesses operate through the MMU, even page table memory needs
> > corresponding page table entries in order to be written to." Without a
> > virtual mapping to the page table, no code can modify the page table
> > because it cannot read or write the table. Therefore the mappings to the
> > guest cannot be restored even with arbitrary code execution.
>
> I don't think this is sufficient. Even if the page-tables not part of the
> virtual mapping, an attacker could still modify TTBR0_EL2 (that's a system
> register hold a host physical address). So, with a bit more work, you can gain
> access to everything (see more below).
> 
> AFAICT, this problem is pointed out in the paper (section 4.4.1):
> 
> "The remaining attack vector. Unfortunately, deleting the page
> table mappings does not stop the kernel from creating an entirely
> new page table with the necessary mappings and switching to it
> as the active context. Although this would be very difficult for
> an attacker, switching to a new context with a carefully crafted
> new page table structure could compromise the VMFE."
> 
> I believe this will be easier to do it in Xen because the virtual layout is
> not very complex.
> 
> It would be a matter of inserting a new entry in the root table you control. A
> rough sequence would be:
>    1) Allocate a page
>    2) Prepare the page to act as a root (e.g. mapping of your code...)
>    3) Map the "existing" root as a writable.
>    4) Update TTBR0_EL2 to point to your new root
>    5) Add a mapping in the "old" root
>    6) Switch to the old root
> 
> So can you outline how you plan to prevent/mitigate it?

[...]

> > Yes, we are familiar with the "secret-free hypervisor" work. As you
> > point out, both our work and the secret-free hypervisor remove the
> > directmap region to mitigate the risk of leaking sensitive guest
> > secrets. However, our work is slightly different because it additionally
> > prevents attackers from tricking Xen into remapping a guest.
> 
> I understand your goal, but I don't think this is achieved (see above). You
> would need an entity to prevent write to TTBR0_EL2 in order to fully protect
> it.

Without a way to stop Xen from reading/writing TTBR0_EL2, we cannot
claim that the guest's secrets are 100% safe.

But the attacker would have to follow the sequence you outlines above to
change Xen's pagetables and remap guest memory before accessing it. It
is an additional obstacle for attackers that want to steal other guests'
secrets. The size of the code that the attacker would need to inject in
Xen would need to be bigger and more complex.

Every little helps :-)


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 02:25:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 02:25:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464088.722422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p60PW-0006RI-Gx; Fri, 16 Dec 2022 02:25:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464088.722422; Fri, 16 Dec 2022 02:25:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p60PW-0006RB-E5; Fri, 16 Dec 2022 02:25:18 +0000
Received: by outflank-mailman (input) for mailman id 464088;
 Fri, 16 Dec 2022 02:25:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bMOE=4O=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p60PU-0006R5-FT
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 02:25:16 +0000
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com
 [66.111.4.28]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id de1daa36-7ce8-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 03:25:13 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 6790E5C015C;
 Thu, 15 Dec 2022 21:25:12 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Thu, 15 Dec 2022 21:25:12 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 15 Dec 2022 21:25:11 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de1daa36-7ce8-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm2; t=1671157512; x=
	1671243912; bh=JZ6qP9lzy+XAV25krpF2Mc78zdtJMeBz/437xbweQcs=; b=f
	mqUEkf/bMgpE5PSrXtcdqHOwXtIi1V8bNt/gcuv6pP7E7c9kHgYFSibmVCQYRPZP
	ZC//VmztO84WTFbPSrePHxuEOX2ak0arg7CNZFM56BFcrrGBhsTaF/2Q/mU3gPtT
	R6FWCotWBUre5X9ToZP+5M23l4MgTIceWCGWQv2Kc1hiZ7IQ+VGMupWGGAZXcKq3
	XXTI5xsfISuTmPMj3SA8CbPX+3vPIT7+L+DXm/Mns86YELfP1Nf+r+5odcBBEbjo
	zP6j8101IzurycVbxV4d79qkbScE8Yce7qtIsW/d/5A+O1RVFOmB4UQheNixrKO6
	oipbqq4QLtFsaetQsE7uQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671157512; x=1671243912; bh=JZ6qP9lzy+XAV25krpF2Mc78zdtJ
	MeBz/437xbweQcs=; b=dYrPt48OmAupWbVX8VfPY2U5FakLHP74V6YZR7Mot2hl
	wm/8cgzLGUu+O2KR+mjueXM6cuDtx5jDpnBiifd/95PUhwgC+WUKCWzqxgVaB9yK
	dCBosF1aAPPrcmuZ+u/KzqBkx2u6GKNexZZDFuRFll0etwhLvs+Xu/+pXZgazjzV
	+CKC66C+uPeMv0DyzTGP4726xo+qajYlOZilOnkEb2eHYXx5wC6bXgC5MF8LrYnh
	wsTeMeCfA0h/3E5wI2Ff8BT9goGttNjMa1ieQ46KeiuYhJXP83xzuGUx6d3pQZC4
	pNsSWFiaUpZAAWjPA0dYPm/YeQ3njL+OBlI/DBuf0w==
X-ME-Sender: <xms:CNebY_xnWP0nhLej3Aov4dCSuHAoIBgdvtJR8Qq8xD7gTmMIZiiU_Q>
    <xme:CNebY3TKVvjZvryAaUh2hy9sQ1dMMU6AooGXWYzbaqkjUKgQxGJeRR5QshB00Kacw
    nms3nhZEvCNMl8>
X-ME-Received: <xmr:CNebY5XDKOkSKDc4gphHUzYv0vItZ8DIe9DwsYQiZME37JeoIqRQysOi5E1Z>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeeigdegfecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffegfffg
    uddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:CNebY5iQUq72CC1SlEVO6f-v-8h2HPGh0WxsPA2PaNZCZPULQKSlXQ>
    <xmx:CNebYxDlc7-RvaEJxDdUrkzGUelgiBTMNe2oEdvPxYDbMe2Z-zd8IQ>
    <xmx:CNebYyKEyy8CJ_DJZ1eLZ1hSDU4zjMH6tNvkrWv0oC_0rKw0PqxYtg>
    <xmx:CNebY7DZl-oB3T-ahgBkU5NQgOOwcUVs_NSlRKjClye5SZQ3GCcHtw>
Feedback-ID: iac594737:Fastmail
Date: Thu, 15 Dec 2022 21:25:07 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH v4 02/10] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()
Message-ID: <Y5vXBTH3x8ugZtgn@itl-email>
References: <cover.1671139149.git.demi@invisiblethingslab.com>
 <8f0a2f4352bf6241e66f2fea1776d0c82a3c566d.1671139149.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="FPfXQgFjcws9KP6z"
Content-Disposition: inline
In-Reply-To: <8f0a2f4352bf6241e66f2fea1776d0c82a3c566d.1671139149.git.demi@invisiblethingslab.com>


--FPfXQgFjcws9KP6z
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 15 Dec 2022 21:25:07 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH v4 02/10] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()

On Thu, Dec 15, 2022 at 06:57:44PM -0500, Demi Marie Obenour wrote:
> get_page_from_l1e() relied on Xen's choice of PAT, which is brittle in
> the face of future PAT changes.  Instead, compute the actual cacheability
> used by the CPU and switch on that, as this will work no matter what PAT
> Xen uses.
>=20
> No functional change intended.
>=20
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> ---
> Changes since v3:
> - Compute and use the actual cacheability as seen by the processor.
>=20
> Changes since v2:
> - Improve commit message.
> ---
>  xen/arch/x86/include/asm/processor.h |  8 ++++++++
>  xen/arch/x86/mm.c                    | 19 +++++++++++++------
>  2 files changed, 21 insertions(+), 6 deletions(-)
>=20
> diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/=
asm/processor.h
> index 8e2816fae9b97bd4e153a30cc3802971fe0355af..c3205ed9e10c1a57d23c5ecea=
d66bebd82d87d06 100644
> --- a/xen/arch/x86/include/asm/processor.h
> +++ b/xen/arch/x86/include/asm/processor.h
> @@ -100,6 +100,14 @@
> =20
>  #ifndef __ASSEMBLY__
> =20
> +/* Convert from PAT/PCD/PWT embedded in PTE flags to actual cacheability=
 value */
> +static inline unsigned int pte_flags_to_cacheability(unsigned int flags)
> +{
> +    unsigned int pat_shift =3D ((flags & _PAGE_PAT) >> 2) |
> +                             (flags & (_PAGE_PCD|_PAGE_PWT));

This could also be written as

    unsigned int pat_shift =3D pte_flags_to_cacheattr(flags) << 3;

which might be easiser to read.

> +    return 0xFF & (XEN_MSR_PAT >> pat_shift);
> +}
> +
>  struct domain;
>  struct vcpu;
> =20
> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> index 78b1972e4170cacccc9c37c6e64e76e66a7da87f..802073a01c5cf4dc3cf1d58d2=
8ea4d4e9e8149c7 100644
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -959,15 +959,22 @@ get_page_from_l1e(
>              flip =3D _PAGE_RW;
>          }
> =20
> -        switch ( l1f & PAGE_CACHE_ATTRS )
> +        /* Force cacheable memtypes to UC */
> +        switch ( pte_flags_to_cacheability(l1f) )
>          {
> -        case 0: /* WB */
> -            flip |=3D _PAGE_PWT | _PAGE_PCD;
> +        case X86_MT_UC:
> +        case X86_MT_UCM:
> +        case X86_MT_WC:
> +            /* not cached */
>              break;
> -        case _PAGE_PWT: /* WT */
> -        case _PAGE_PWT | _PAGE_PAT: /* WP */
> -            flip |=3D _PAGE_PCD | (l1f & _PAGE_PAT);
> +        case X86_MT_WB:
> +        case X86_MT_WT:
> +        case X86_MT_WP:
> +            /* cacheable, force to UC */
> +            flip |=3D (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC;
>              break;
> +        default:
> +            BUG();

Question for future reference: is this an appropriate use of BUG()?  The
default case is clearly unreachable, and I actually considered using
unreachable() here, but this isn=E2=80=99t performance-critical code from w=
hat I
can tell.  If execution *does* reach here something is seriously wrong.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--FPfXQgFjcws9KP6z
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOb1wQACgkQsoi1X/+c
IsHiKg/7BhWIj/lezXge/YjXtz/ov1OqeWYtIUZ/994cUUhJ7/nFKQFU0QjyIggE
Ie6Gvy8ECrMoeq1TYQ561AXHK7PYwVjCa16Oq2QNXNsVl9zPDfu3/vk3nVF+zE8k
NM7WVyHydFcaB10J726O4fGaLlMjMxQmbIm+w4KUIVwJYLEhHLnXiPTQ19Muz0Ag
a8yRIKRy8c+3EjZp8AR24NVTi2j6wDb6oG9hbDYU5MY/gSHpCfstW1Z8qI+Wm6jy
3r6ZIR1ZyMQwPYZ8phUQOkqaFj5VIis9uG7M7E6en02B79dKs1tB1IlkRxvqH6yB
033ebYTh3K+GVjHAEGdtnPiDq7e6S46EHmwde3fVZgjZYzAOhVMisWSeyyF01V62
CGz4Gr7TgTZtqBcISkD01N7sGM0RgKmbsFyeY0NDLtfn/p+nOxQkwIiTEeeRNql2
mcZ5uen6FlAHymqXoPGzqAxP40vnRTdHYTZ6ShwWjRJGp8s6Txtb8VJRiMgOhG+u
FIwHA/e4GnB0MAfS+GIfGa0eMBH90vDuNVe8AzcJTcsk2GcXBi8q+mZwXT4ARkVd
uu7E1D8tbLEZ+mi+Yw78gaIG4N2QecX4fMbj1c3hGh3pTp2/1ScDuwQAb+WbH5kE
et0nfZGWHtoKbYv1hmZe0kcHs58K9jgiLQEu+lSpNvyZURgEdN8=
=LXTa
-----END PGP SIGNATURE-----

--FPfXQgFjcws9KP6z--


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 02:49:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 02:49:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464097.722433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p60nB-0000Zn-Ba; Fri, 16 Dec 2022 02:49:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464097.722433; Fri, 16 Dec 2022 02:49:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p60nB-0000Zg-8k; Fri, 16 Dec 2022 02:49:45 +0000
Received: by outflank-mailman (input) for mailman id 464097;
 Fri, 16 Dec 2022 02:49:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Zr/=4O=citrix.com=prvs=342bb51ac=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p60n9-0000Za-J3
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 02:49:43 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 48e5f33f-7cec-11ed-8fd3-01056ac49cbb;
 Fri, 16 Dec 2022 03:49:41 +0100 (CET)
Received: from mail-co1nam11lp2174.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Dec 2022 21:49:36 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB6170.namprd03.prod.outlook.com (2603:10b6:408:11f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Fri, 16 Dec
 2022 02:49:34 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Fri, 16 Dec 2022
 02:49:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48e5f33f-7cec-11ed-8fd3-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671158981;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=p2ge+GkOC7El9ntlN/PBjK4WkVoHAT/EfTL6RKH2eV0=;
  b=RlrtW/PFd7c0xPQCvsnF35dlxpE90hFuhNgAIWvBxX/AC5bhCI15R2MN
   8+rTSgFo1GiQZJT2GBeXcZb4l9SgsqWfG05DmE7MKibHpbEwp4TVXsntO
   RgOuIHnWjEAooDANvj6+YANUZOuCE5PhzEua5E4F+B/tS1YIPj3qNwA/M
   w=;
X-IronPort-RemoteIP: 104.47.56.174
X-IronPort-MID: 87638031
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:wKK6KaqDvtSImHZ8uK319UE3S5BeBmK9ZBIvgKrLsJaIsI4StFCzt
 garIBmCO/aDZzD9f9t+YNng/UoPusCByNBgSABkrn80Fi1B9JuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEziRNUfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAC8/UE/Zh+av+bKUUMh+hZsiJsX7BapK7xmMzRmBZRonabbqZvyToPR/hXI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jearaYWJEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXoqaAx0AXInwT/DjU/f33nsNjm1XevBZFZA
 hYduXJ1v7ctoRnDot7VGkfQTGS/lhIRXtt4Eusk6RqMwK7Z/waYAGcfSjdLLtchsaceVTEsk
 1OEgd7tLThuq6GOD2KQ8K+OqjG/MjRTKnUNDQcBRBEA6sPuo6kyiAzOVddpFKOpjtzzFir0y
 jrMpy87750Rh8MW06Sw/Xjcnimh4JPOS2Yd+QH/Tm+jqARja+aNZZGur17S7v9CLYOQZliHo
 HUA3cOZ6YgmDpyTlSrLXOQEGpmo4eqINHvXhlsHN4Ug8hy99njleppfiAySP29sO8cAPDTuO
 UnavFoI4IcJZST2K6hqf4i2FsImi7D6EsjoXezVadwIZYVtcAiA/2dlYkv4M33RrXXAWJoXY
 f+zGftAx15DYUi75FJan9sg7II=
IronPort-HdrOrdr: A9a23:FRPRPqlAV7XArHWV2Fm9FvG5oYbpDfO5imdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7SdG9qXO1z+8X3WBjB8bYYOCGghrgEGgG1+ffKlLbakrDHmA279
 YHT0ETMrzN5DtB/I7HCWuDYq8dKbC8mcjG69s2pE0dLz2CHpsQizuRfTzrd3GeKjMnObMJUL
 6nouZXrTupfnoaKu6hAGMeYuTFr9rX0Lr7fB8vHXccmUOzpALtzIS/PwmT3x8YXT8K66wl63
 L5nwvw4bjmm+2nyyXby3TY4/1t6ZbcI5p4dYCxY/ouW3vRYzWTFcVcsnq5zXAISdSUmRkXeR
 /30lQd1opImjHslyqO0GHQMkHboUsTAjnZuBSlaDLY0LDEbSN/BMxbiY1DdBzFr0ImodFnya
 pOm3mUrpxNEHr77VDADvXzJmNXf3CP0A8fuP9Wi2YaXZoVabdXo4Ba9ERJEI0YFCa/7Iw8Cu
 FhAMzV+f4TKDqhHgbkl3gqxMbpUmU4Hx+ATERHssuJ0yJOlHQ8y0cD3sQQknoJ6Zp4QZhZ4O
 bPNLhuidh1P7grRLM4AP1ETdq8C2TLTx6JOGWOIU7/HKVCIH7Jo46f2sRH2AhrQu158HIfou
 WxbLoDjx9MR6vHM7zx4KF2
X-IronPort-AV: E=Sophos;i="5.96,248,1665460800"; 
   d="scan'208";a="87638031"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SzxoTaZRsNoH9qwvocVqQM2PGPGN7j81kuqWL1m8HUuOH+VKEPW7xdRgcAup9lVT5N5QA2bsSeJOOHSRksc0IJsbPpx8dkEdTz8Zy+6F7Qin+DOG2ZjvTJwth4wBfY0lMoNtiuGqojZZ2D5o7s/S4IadxBTTJIn3dqe8+fRJ+h88HngFwn1jYqT2Xi5lAP+euCUw6HHFdHIzQhgKOk3gR2wQCUrIwXyR2fduaQoumXfC21mw8pAbuVzbKI2gr4mtBy8BEs/BU6VwYhr0fdqcAjNyOvxxHj2DXvl3JtchR+LBAJ5pdRDMW1Rbiqh2JqwIXO7YNyi6IIquIegYzKP6gA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p2ge+GkOC7El9ntlN/PBjK4WkVoHAT/EfTL6RKH2eV0=;
 b=ESKAh5YbZeAxkdaphkp+iX2w+P95+IkeumCwyEmIhWIpxc4ntgsLzs7hQ+D0HSfhvnp9RwAFXAJi5SXjzDw7ImKH7QaydyAzsMaqM21a1jegJ92yLvG1hFnjk7XrgQVHvGDwxu30bVNk3SbWzyNMGUzMOmPavg6samxoOzpHK+z5o96u84iRng61VREDE5DqGRETw/cGamRRZqydsXfm4K9QYVUvw1RA7MNIE8b+RxMSWM+titwRkRf13Iib2ALcwxyBuWYHATOvD7z3dKsJrMLcRKDJucmG6i1hsQOYyFm4jyKPP0sZ/8qnBHaWp4XtkTXxozhBsTI8onI45vt7xA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p2ge+GkOC7El9ntlN/PBjK4WkVoHAT/EfTL6RKH2eV0=;
 b=U14kDS83gseV4p6/y+Op0aDinPWZbZgOGPW1RTDjGLseXjN7txjBdRgxBQ2Lv2t22q/64OVw+sQa+Vi7QoF6owdy/9ohYVM1ChhIRJI1p1+c4EyiVIhZGCSn9B1eJBsM/eQu524ol0B8H4br5sLbpnc1OkDCh7iHcu6h1BLCdPA=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: =?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Jan Beulich <jbeulich@suse.com>, Roger Pau
 Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, George Dunlap
	<George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH v4 02/10] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()
Thread-Topic: [PATCH v4 02/10] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()
Thread-Index: AQHZEOEYwMi/YxVbW0ewrekF3Th9Oq5v0EuA
Date: Fri, 16 Dec 2022 02:49:33 +0000
Message-ID: <41b74605-bf88-2f56-53f5-033b8934d757@citrix.com>
References: <cover.1671139149.git.demi@invisiblethingslab.com>
 <8f0a2f4352bf6241e66f2fea1776d0c82a3c566d.1671139149.git.demi@invisiblethingslab.com>
In-Reply-To:
 <8f0a2f4352bf6241e66f2fea1776d0c82a3c566d.1671139149.git.demi@invisiblethingslab.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BN9PR03MB6170:EE_
x-ms-office365-filtering-correlation-id: 783eec88-293b-4b2b-73a7-08dadf1029a9
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 4Q+UTAGw/yj1skSRhKF52mWloHjSlpgbA/4OK/xlxelr4BqynJj6+O3inPlq9y43hThxZBD1+Yy/X+UB7zz+pN15FzBLCeTGZQttnJ7aIwb7w5U7MCviriC4cvJOqNj0S1NdGOLQeiWtsIVJGjuxnhP11J1SOpeaW4WktfEWIu8DOxG1PoNbOPsqc66LQqmGQ0gqTAXahRNFEvt91dbRiYWTHq15kYSytOCWCTVzLORQtrI3mwT9G28l3A9SBZ/iGzT4R4cuiW1hPwbMGH7dDQVfxJ8ykk+1YVUrkZbv2saaTbXO489kXpxf3XzFayWetaALV7JqxoZDFd9sJLcSrblXEbJspQM3DVSfDJqnYIyUUKQBr4m0q3L9wMzdhRIRPQDaWNKKv0Q04ZNgXhdDjVX9bZAjXuI0kFCmDFCiLXjWuwvA/THMdZWpwtN8mYW1hAaNJQGhPmzftqxTscQLQq+oBf74mX0jxJYl+9o48aQeu44I/09otFBxjxeVufgzuaM39IFhN+90XlGjZhbCOx0nKWIJej6fc4liVks/idNNWnU0vba70/sYo9w+Xsy3NrjhupjP10vxCkGxIRUPNFupeAu1hPNrT6mrPsDffHPHp83x9CexWk0pBROs0iXMjrMH+4IGetezyTlR0tdOGsams0Wd2TkQGs9HkORXEhYZaOJAa0tVpV5gveixmoaejDx6f9hiaIEzSQGknV0GVU8pidcDsZtkuQ9krt346B+qazCV0QurAsGSH3inC08dH42Eg/0BA4hm7YbXKNqolw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(366004)(346002)(396003)(136003)(39860400002)(451199015)(66946007)(66556008)(66446008)(76116006)(7416002)(66476007)(8676002)(4326008)(64756008)(5660300002)(41300700001)(2906002)(316002)(8936002)(110136005)(71200400001)(53546011)(186003)(26005)(6506007)(6512007)(6486002)(54906003)(478600001)(86362001)(2616005)(38100700002)(82960400001)(38070700005)(31686004)(91956017)(31696002)(122000001)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?MllraE81SEkrcVgrR0JzTG14RU1mQ2RRSHlrYzR1N1BMUUlpQ285Q2xLK2Fw?=
 =?utf-8?B?SGIyTjhsMlNyRmRIS0xRU2ZQRXdpNm5NaHNTVGs4STlKVHNuQ1NKb3Y2Um5E?=
 =?utf-8?B?ckhzTGdTTW8zQmNWLzFnbTdFWTVLeVordWRKTXc5ZW9yeUowWWI3NjB1V0V5?=
 =?utf-8?B?UEcweElxRFh4OHpna3RwaEkvZ3R6ZUFWbGVsNlVTMzJWY0RTVXkrWktkQlVr?=
 =?utf-8?B?a1R2bXY2dHU1N3hJSUtUSGRhMjdJM3pBTjRza21RREdJb25KbGJ2bWRMc0RY?=
 =?utf-8?B?MnNDb2pyR1ZzYVdNTFYxVS9lcldMSXZyRDhjMlJFbytaVDM3MkZIQU1vYVlk?=
 =?utf-8?B?YXhXZGphYnVNOFd3bC9uNVR4bW8vQTNoNTVpOHg1TzRiZ2p5MFdjNll2b1ZK?=
 =?utf-8?B?QkZaZ3A2dlBSY0c3bHZqc3p6YnRvSDFFeUZWdHlLZEM0OUxGQytqdzVPRm5B?=
 =?utf-8?B?UjI0UFdkekxTZWZCR1BlZ3Yvd3c3ck44YXRtOHh1VGQrMFVKajFFdldRRnRn?=
 =?utf-8?B?RjNzTTZLVVVRL2JuaWlpZTZuWmFRZWhuSFFzMWlTZTU0RDRvT0twMU5pKzNX?=
 =?utf-8?B?S0Vpc1QzT002ZlR2UzhQeC8wOVFSODFhcTZIRVRvdVZLRWVuZmJsV2VFSmtF?=
 =?utf-8?B?RU9JSi9uWHpHUGxYazBTb2tNN2RNdWt2eW8wOVdvOUc5c3lzbk56d1l1cEt1?=
 =?utf-8?B?bGUrUHYwWkRYOVY1WmlIQ3BPRy84UVNneVIyVnIzMFIyWFdVZVNZY3JPaStR?=
 =?utf-8?B?SE0yamlVWWRWaHBnU2NWLzd2MFhqSkhMSms0K1BRN3JjZ0dUTWtUL3VCcy9Y?=
 =?utf-8?B?UVBqWjNoQnpDeEZhV3JaMlROVnJ6T2FwSFdJYzhLdk9jaWxCRnVST1ZtSjBi?=
 =?utf-8?B?YkI1OWxVaWY5T3p5RzBxRHJKNldzVHlVZzdrekI0K3NhWHVHejBrZGhwVDRx?=
 =?utf-8?B?eXVEU2NkaTVUSXdLaGtWSG1nOHIrUUhoOXFVYXZYWGZIYWY0RU1mWlpWMXhp?=
 =?utf-8?B?Mk10NlJJL0tIMXprS3FnZkhqWExlR0RodDR0bzVPNTk5cnJlOUJsWVgvMUgw?=
 =?utf-8?B?MGpBSkd2YVBXcmt1M2p0QlVmck9yOTU5Tk1RVXFhWDJYOWlJMzlUcWp0QXlM?=
 =?utf-8?B?MWtHRi81bE1SbXZydWpCWkZSbW9GeXRhLzdvaG05N2lhUG05R1FKR0w4V3NL?=
 =?utf-8?B?aXA4T0czY2lxdzhEcHh6U25EOUY0SG14U3NOVXh3TVJUcFRYU3M3TExDZUV3?=
 =?utf-8?B?QkczVk50aXRFLzJ4ZHlwM0pOeDVjUzF4aGlPTEpuTlVyZlVrRnVGTWpSZ0hF?=
 =?utf-8?B?NDZSeXczREprMmJ6UFA4eE41V2hGbEI1ZzNBaExmbVlEaVNpNzlHSC9mOGNK?=
 =?utf-8?B?bm1ZL0NRSjltNzlHY0FHVVRvcWNOTURPTng1UDNaelVKdkVFaGVrL1UzVEkx?=
 =?utf-8?B?dWVlQTNGbzVZclNqWDg0Q0w5UkY2djJ0QzFtdzBFdlFpNHY4Q3BoWFZvM294?=
 =?utf-8?B?TjROcDcwNmQ0Z1J2WUVOMXMvcy8xTzlvd3c5MGpYd2gzdUpJTS8zNGF2a1d6?=
 =?utf-8?B?SGhIelRMUjJ0TWRBbHNHWFNnWVpqMjh2eWpDOEZhNVZhVWlsNktsZkpZWllE?=
 =?utf-8?B?bFlHekdpUXgybWdoYmNBUm1qTkx0V3hXS29mc280OVY3VFZqTW5LU0F6RFZB?=
 =?utf-8?B?SGVjTklaR29ZZk9PRG0rbUhYRHN6a3ZUUUdkNFI1RlB5L08ydmRHNTVzMnl0?=
 =?utf-8?B?N21xYnUyTnpwRmdRdlh4WHpMbUV4dG94U0VYRzJ1UWhPOU02OXNJZkNQd2tZ?=
 =?utf-8?B?bVRyQ0lUdkpCbG5SRmZHTlM5VTlXaDNUcTgwcmNQcFVaeCtDdk5QRi9IZkly?=
 =?utf-8?B?QzRTTnVPN0ZyK2FUUnI4dkFneFNEK2lRU25ldTQ4VU9OZTQwMUpwVzlXODRw?=
 =?utf-8?B?elhHNVJCdUFqSi9MNllKclh2RkpmTWJpb2w3QmNTS3BZWDlWcFpIWElzZXRk?=
 =?utf-8?B?c1VwUEJvaVlQc2c2T1RQejZVZGt4U0FqVFlxZzV1Ui9MZWZYOUE2cFJCWDZw?=
 =?utf-8?B?cFRYTzlYMVpDQ2xGQXRsdzBRRStkRG1wdHErbm5icUlQYk5wOWIySjkweHdE?=
 =?utf-8?Q?3ZOp5KAVNTMtKSARAclcAwk6q?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <DD872BA8F6B8C34494B8D9765F762A9C@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 783eec88-293b-4b2b-73a7-08dadf1029a9
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Dec 2022 02:49:33.7475
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 5tYf3ElFb3BSk2iZadWSkYtozqE8Y6B/plK+qInphcdDCLEeAL9XYvzy/SbhBXSmniTfBqh+qqyrC1P3503uT8VBuaa/lHDWIsw4XaT7g/M=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6170

T24gMTUvMTIvMjAyMiAxMTo1NyBwbSwgRGVtaSBNYXJpZSBPYmVub3VyIHdyb3RlOg0KPiBkaWZm
IC0tZ2l0IGEveGVuL2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYw0KPiBpbmRleCA3
OGIxOTcyZTQxNzBjYWNjY2M5YzM3YzZlNjRlNzZlNjZhN2RhODdmLi44MDIwNzNhMDFjNWNmNGRj
M2NmMWQ1OGQyOGVhNGQ0ZTllODE0OWM3IDEwMDY0NA0KPiAtLS0gYS94ZW4vYXJjaC94ODYvbW0u
Yw0KPiArKysgYi94ZW4vYXJjaC94ODYvbW0uYw0KPiBAQCAtOTU5LDE1ICs5NTksMjIgQEAgZ2V0
X3BhZ2VfZnJvbV9sMWUoDQo+ICAgICAgICAgICAgICBmbGlwID0gX1BBR0VfUlc7DQo+ICAgICAg
ICAgIH0NCj4gIA0KPiAtICAgICAgICBzd2l0Y2ggKCBsMWYgJiBQQUdFX0NBQ0hFX0FUVFJTICkN
Cj4gKyAgICAgICAgLyogRm9yY2UgY2FjaGVhYmxlIG1lbXR5cGVzIHRvIFVDICovDQo+ICsgICAg
ICAgIHN3aXRjaCAoIHB0ZV9mbGFnc190b19jYWNoZWFiaWxpdHkobDFmKSApDQo+ICAgICAgICAg
IHsNCj4gLSAgICAgICAgY2FzZSAwOiAvKiBXQiAqLw0KPiAtICAgICAgICAgICAgZmxpcCB8PSBf
UEFHRV9QV1QgfCBfUEFHRV9QQ0Q7DQo+ICsgICAgICAgIGNhc2UgWDg2X01UX1VDOg0KPiArICAg
ICAgICBjYXNlIFg4Nl9NVF9VQ006DQo+ICsgICAgICAgIGNhc2UgWDg2X01UX1dDOg0KPiArICAg
ICAgICAgICAgLyogbm90IGNhY2hlZCAqLw0KPiAgICAgICAgICAgICAgYnJlYWs7DQo+IC0gICAg
ICAgIGNhc2UgX1BBR0VfUFdUOiAvKiBXVCAqLw0KPiAtICAgICAgICBjYXNlIF9QQUdFX1BXVCB8
IF9QQUdFX1BBVDogLyogV1AgKi8NCj4gLSAgICAgICAgICAgIGZsaXAgfD0gX1BBR0VfUENEIHwg
KGwxZiAmIF9QQUdFX1BBVCk7DQo+ICsgICAgICAgIGNhc2UgWDg2X01UX1dCOg0KPiArICAgICAg
ICBjYXNlIFg4Nl9NVF9XVDoNCj4gKyAgICAgICAgY2FzZSBYODZfTVRfV1A6DQo+ICsgICAgICAg
ICAgICAvKiBjYWNoZWFibGUsIGZvcmNlIHRvIFVDICovDQo+ICsgICAgICAgICAgICBmbGlwIHw9
IChsMWYgJiBQQUdFX0NBQ0hFX0FUVFJTKSBeIF9QQUdFX1VDOw0KPiAgICAgICAgICAgICAgYnJl
YWs7DQo+ICsgICAgICAgIGRlZmF1bHQ6DQo+ICsgICAgICAgICAgICBCVUcoKTsNCg0KVGhpcyBp
cyBndWVzdCByZWFjaGFibGUuDQoNCkJ1dCB0aGUgbW9yZSBJIHRoaW5rIGFib3V0IGl0LCB0aGUg
bW9yZSBJJ20gbm90IHN1cmUgdGhpcyBsb2dpYyBpcw0KYXBwcm9wcmlhdGUgdG8gYmVnaW4gd2l0
aC7CoCBJIHRoaW5rIGl0IG5lZWRzIGRlbGV0aW5nIGZvciB0aGUgc2FtZQ0KcmVhc29ucyBhcyB0
aGUgZGlyZWN0bWFwIGNhY2hlYWJpbGl0eSBsb2dpYyBuZWVkZWQgZGVsZXRpbmcgaW4gWFNBLTQw
Mi4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 03:19:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 03:19:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464108.722444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p61Fo-00047d-Nv; Fri, 16 Dec 2022 03:19:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464108.722444; Fri, 16 Dec 2022 03:19:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p61Fo-00047W-KS; Fri, 16 Dec 2022 03:19:20 +0000
Received: by outflank-mailman (input) for mailman id 464108;
 Fri, 16 Dec 2022 03:19:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p61Fn-00047M-9O; Fri, 16 Dec 2022 03:19:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p61Fn-0005kz-5a; Fri, 16 Dec 2022 03:19:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p61Fm-0003Oo-Pn; Fri, 16 Dec 2022 03:19:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p61Fm-0004qI-PJ; Fri, 16 Dec 2022 03:19:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3TtTCA2M/bub/eLVwwyCMf3sFmJykxN+h9R1fAVaspQ=; b=32Sahda4HCLbsBYpMQT6MKk1eV
	k8HVuuYM/x0ZcmzUkuQNAHbmMhCCp7aPkFH3af8ymvkdSyIKEBob5i//rsf2A9RmeoVElHFVrikOU
	9MpnEh9AYCWglL6SBX1ye3JbBv9XsQgUOcUhkNBe/aRe2ld9znnVpltP+f1dguKJ+nK8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175283-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-upstream-unstable test] 175283: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-upstream-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=1cf02b05b27c48775a25699e61b93b814b9ae042
X-Osstest-Versions-That:
    qemuu=b746458e1ce1bec85e58b458386f8b7a0bedfaa6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 03:19:18 +0000

flight 175283 qemu-upstream-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175283/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 171197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 171197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 171197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 171197
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 171197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 171197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 171197
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 171197
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                1cf02b05b27c48775a25699e61b93b814b9ae042
baseline version:
 qemuu                b746458e1ce1bec85e58b458386f8b7a0bedfaa6

Last test of basis   171197  2022-06-16 11:08:17 Z  182 days
Testing same since   175283  2022-12-15 15:42:37 Z    0 days    1 attempts

------------------------------------------------------------
425 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   b746458e1c..1cf02b05b2  1cf02b05b27c48775a25699e61b93b814b9ae042 -> master


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 04:38:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 04:38:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464124.722468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p62US-000475-Tz; Fri, 16 Dec 2022 04:38:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464124.722468; Fri, 16 Dec 2022 04:38:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p62US-00046y-RG; Fri, 16 Dec 2022 04:38:32 +0000
Received: by outflank-mailman (input) for mailman id 464124;
 Fri, 16 Dec 2022 04:38:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p62UR-00046o-Al; Fri, 16 Dec 2022 04:38:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p62UR-0007mw-8N; Fri, 16 Dec 2022 04:38:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p62UQ-0006wU-OX; Fri, 16 Dec 2022 04:38:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p62UQ-0008Po-O1; Fri, 16 Dec 2022 04:38:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=scQ24RUpQTKOWhD0fZ1KB70eT5vh0jBEgzhP+W/+r28=; b=rixEhTyfuGbsWIXYQ3gSnkjkic
	/qY99u5z57twLoGFfpo9ESre/63O2ij3EldZ0sl1QUjrHXfZZU+i+HWzy0liDivIAhGi4HbwCIrXs
	Qo/r/GFA+KflLVV+KmifVcKnOHX+Zw9SINqQetEPf/U+ji0GrQuawbVd4ODQkf4jizcM=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable bisection] complete test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm
Message-Id: <E1p62UQ-0008Po-O1@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 04:38:30 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm
testid xen-boot

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Bug not present: eac84d9d579011f311d502317b74dc56e788463d
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175304/


  commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Author: Wei Chen <wei.chen@arm.com>
  Date:   Mon Dec 12 12:13:26 2022 +0100
  
      xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
      
      VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
      results in two lines of error-checking code in phys_to_nid
      that is not actually working and causing two compilation
      errors:
      1. error: "MAX_NUMNODES" undeclared (first use in this function).
         This is because in the common header file, "MAX_NUMNODES" is
         defined after the common header file includes the ARCH header
         file, where phys_to_nid has attempted to use "MAX_NUMNODES".
         This error was resolved after we moved the phys_to_nid from
         x86 ARCH header file to common header file.
      2. error: wrong type argument to unary exclamation mark.
         This is because, the error-checking code contains !node_data[nid].
         But node_data is a data structure variable, it's not a pointer.
      
      So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
      enable the two lines of error-checking code. And fix the left
      compilation errors by replacing !node_data[nid] to
      !node_data[nid].node_spanned_pages. Although NUMA allows one node
      can only have CPUs but without any memory. And node with 0 bytes
      of memory might have an entry in memnodemap[] theoretically. But
      that doesn't mean phys_to_nid can find any valid address from a
      node with 0 bytes memory.
      
      Signed-off-by: Wei Chen <wei.chen@arm.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm.xen-boot.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable/test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm.xen-boot --summary-out=tmp/175304.bisection-summary --basis-template=175148 --blessings=real,real-bisect,real-retry xen-unstable test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm xen-boot
Searching for failure / basis pass:
 175266 fail [host=himrod0] / 175168 [host=pinot1] 175154 [host=huxelrebe1] 175148 [host=elbling1] 175144 [host=fiano0] 175141 [host=italia0] 175135 [host=fiano1] 175126 [host=godello1] 175104 [host=huxelrebe0] 175091 [host=chardonnay1] 175083 [host=chardonnay0] 175071 [host=nocera0] 175066 [host=godello0] 175062 [host=elbling0] 175058 [host=nocera1] 175055 [host=pinot0] 175050 [host=sabro1] 175044 [host=sabro0] 175040 [host=debina1] 175037 ok.
Failure / basis pass flights: 175266 / 175037
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-c3038e718a19fc596f7b1baba0f83d5146dc7784 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7\
 a0bedfaa6-b746458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/xen.git#68f551ec5fa9ad96397a62cd463a7ff7e4db72d0-630dc3798e1d0d1b95f7be8b176563eb40e866e5
Loaded 5001 nodes in revision graph
Searching for test results:
 175037 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
 175040 [host=debina1]
 175044 [host=sabro0]
 175050 [host=sabro1]
 175055 [host=pinot0]
 175058 [host=nocera1]
 175062 [host=elbling0]
 175066 [host=godello0]
 175071 [host=nocera0]
 175083 [host=chardonnay0]
 175091 [host=chardonnay1]
 175104 [host=huxelrebe0]
 175126 [host=godello1]
 175135 [host=fiano1]
 175141 [host=italia0]
 175144 [host=fiano0]
 175148 [host=elbling1]
 175154 [host=huxelrebe1]
 175168 [host=pinot1]
 175180 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 bc19af0bd4b8d0bb817defa4470873c80f67b6c2
 175189 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175208 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175260 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 68f551ec5fa9ad96397a62cd463a7ff7e4db72d0
 175262 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175269 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 af50d9be4358f26c459459eeaa3f6a1a66821738
 175275 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
 175280 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 d25aeb176e6c771cbe2b75f51a35031f93703603
 175282 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 15dccc881d0636991955162a11a202023e13a313
 175287 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 9bbfd7b14c4ad3774d88fe6430ab8726720633ec
 175289 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175266 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175291 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
 175296 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175299 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
 175301 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175304 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
Searching for interesting versions
 Result found: flight 175037 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d, results HASH(0x563260b45ef0) HASH(0x563260abf3a8) HASH(0x5632605694c8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1\
 ce1bec85e58b458386f8b7a0bedfaa6 9bbfd7b14c4ad3774d88fe6430ab8726720633ec, results HASH(0x563260600f50) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 15dccc881d0636991955162a11a202023e13a313, results HASH(0x563260b48318) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f\
 0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 d25aeb176e6c771cbe2b75f51a35031f93703603, results HASH(0x563260b46970) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 af50d9be4358f26c459459eeaa3f6a1a66821738, results HASH(0x563260aaf678) For basis failure, parent search stopping at c3038e718a19\
 fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 68f551ec5fa9ad96397a62cd463a7ff7e4db72d0, results HASH(0x563260ab8140) HASH(0x563260ab1800) Result found: flight 175180 (fail), for basis failure (at ancestor ~845)
 Repro found: flight 175260 (pass), for basis pass
 Repro found: flight 175262 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
No revisions left to test, checking graph state.
 Result found: flight 175289 (pass), for last pass
 Result found: flight 175291 (fail), for first failure
 Repro found: flight 175296 (pass), for last pass
 Repro found: flight 175299 (fail), for first failure
 Repro found: flight 175301 (pass), for last pass
 Repro found: flight 175304 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Bug not present: eac84d9d579011f311d502317b74dc56e788463d
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175304/


  commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Author: Wei Chen <wei.chen@arm.com>
  Date:   Mon Dec 12 12:13:26 2022 +0100
  
      xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
      
      VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
      results in two lines of error-checking code in phys_to_nid
      that is not actually working and causing two compilation
      errors:
      1. error: "MAX_NUMNODES" undeclared (first use in this function).
         This is because in the common header file, "MAX_NUMNODES" is
         defined after the common header file includes the ARCH header
         file, where phys_to_nid has attempted to use "MAX_NUMNODES".
         This error was resolved after we moved the phys_to_nid from
         x86 ARCH header file to common header file.
      2. error: wrong type argument to unary exclamation mark.
         This is because, the error-checking code contains !node_data[nid].
         But node_data is a data structure variable, it's not a pointer.
      
      So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
      enable the two lines of error-checking code. And fix the left
      compilation errors by replacing !node_data[nid] to
      !node_data[nid].node_spanned_pages. Although NUMA allows one node
      can only have CPUs but without any memory. And node with 0 bytes
      of memory might have an entry in memnodemap[] theoretically. But
      that doesn't mean phys_to_nid can find any valid address from a
      node with 0 bytes memory.
      
      Signed-off-by: Wei Chen <wei.chen@arm.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
175304: tolerable ALL FAIL

flight 175304 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/175304/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 8 xen-boot fail baseline untested


jobs:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 05:01:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 05:01:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464137.722483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p62qW-0007xc-SY; Fri, 16 Dec 2022 05:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464137.722483; Fri, 16 Dec 2022 05:01:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p62qW-0007xV-Pq; Fri, 16 Dec 2022 05:01:20 +0000
Received: by outflank-mailman (input) for mailman id 464137;
 Fri, 16 Dec 2022 05:01:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mn8i=4O=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1p62qW-0007xP-47
 for xen-devel@lists.xen.org; Fri, 16 Dec 2022 05:01:20 +0000
Received: from mail-pl1-x635.google.com (mail-pl1-x635.google.com
 [2607:f8b0:4864:20::635])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac81a0b6-7cfe-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 06:01:18 +0100 (CET)
Received: by mail-pl1-x635.google.com with SMTP id s7so1216783plk.5
 for <xen-devel@lists.xen.org>; Thu, 15 Dec 2022 21:01:18 -0800 (PST)
Received: from localhost ([122.172.87.149]) by smtp.gmail.com with ESMTPSA id
 b6-20020a1709027e0600b0018157b415dbsm537336plm.63.2022.12.15.21.01.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 15 Dec 2022 21:01:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac81a0b6-7cfe-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=y6sM3CLFx3Fy5uwyuAh2gtzya9yIGLD49kfG4h0dhkU=;
        b=OLj6YNkH4XWdDyTLCFZ4ciwvjd7oqmlpz1llI+SPHIq0PxRCkEUDAesLwdl1IB75/X
         zWvHaKwNAdOlPmUqBEzf5FStPKTqC6Ve7Ql+1HdoLx4i67nbc32QiMK3a0wBzfqlQ3Yi
         7Qvz8kMxYUXwaB4RIdaCyyVqhL1xGzJOC6xD7RNFSeN7r2si2aQ+YOBYUIHmEwB9tTYv
         mB5cUpq5W8yrHW4OYe8cqwhchFgLEC7M7AOu082n7kULhiAk0X6ykzGZz8T/REcNJzyW
         uSPHSApH37ty7cUnuNGrctxt3zNoo949ccKI9kecSFD7AB57A30/xOl38ri9u7n9pySt
         lo4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=y6sM3CLFx3Fy5uwyuAh2gtzya9yIGLD49kfG4h0dhkU=;
        b=GYhwyBCcbYMMCTuZJtb49bhBC7ydyxploZZW2rIChePgtQhaWozx5Gs4iMpZUwhykz
         ZCR0scYf5SHpYTvIOdYS7TThq+I5toMWIZcoo5A5Fb5/7y8C9QFOOPLgL9tk4uyuj9fr
         3izS9L2Ydpajp8+udHGF8ynoWn970ORdJ2uNKw/SFwt3MNeEI0Uy9dwCI3sOMO/0oil4
         zuf6nbPhgtDtM9YCPDJ9+Y3tmpJNWdRBtBIMrojMrAp9gARVG7DcdpaYWNXvoGyUQlAW
         T7gVWGneh8KfvBZCPi/cUZ1ayrdRpOLOPNSmcF7thQT39HQFUDqE/ECGlxIHhXCMSou8
         wRnQ==
X-Gm-Message-State: ANoB5pmO+npPKh5A/hDxfS8p23GjQmZdyobN3d4F0ZK6Di3KMf4n4VfF
	K4Kf3gC/Z0HAoCxYHKVldEXhqg==
X-Google-Smtp-Source: AA0mqf6LADEdJ77G3Of0evmQpH68qE2zvSi/yzZG2oJro3xb8lLBGlCy1oMm8E6xvGYFHmuTYGKPPQ==
X-Received: by 2002:a17:902:6901:b0:185:441e:4cfa with SMTP id j1-20020a170902690100b00185441e4cfamr30673087plk.42.1671166877013;
        Thu, 15 Dec 2022 21:01:17 -0800 (PST)
Date: Fri, 16 Dec 2022 10:31:14 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>,
	"osstest-admin@xenproject.org" <osstest-admin@xenproject.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	"stratos-dev@op-lists.linaro.org" <stratos-dev@op-lists.linaro.org>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Mike Holmes <mike.holmes@linaro.org>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] libxl: virtio: Fix build error for 32-bit platforms
Message-ID: <20221216050114.7mtrlnsujrm7mbu7@vireshk-i7>
References: <aab5f13a-782b-cb4f-ac8d-321f865c8281@xen.org>
 <d4cf6539ff179e7ade820feadd8088f33da49196.1671111056.git.viresh.kumar@linaro.org>
 <Y5slue6ujqmCscJd@perard.uk.xensource.com>
 <b4c0e361-2b6a-f7b9-941d-4315144c6f65@suse.com>
 <e8988370-f838-dd23-729f-892561f54b58@citrix.com>
 <Y5tabu1WUgS6sTNq@perard.uk.xensource.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Y5tabu1WUgS6sTNq@perard.uk.xensource.com>

On 15-12-22, 17:33, Anthony PERARD wrote:
> For those virtio one in particular, it's probably ok. libxl doesn't
> mind, and hopefully the consumer of those don't mind either.

FWIW, the consumer in this case, Rust based xen-vhost-frontent [1]
implementation, did break and I still need to fix it to read hex
properly :)

-- 
viresh

[1] https://github.com/vireshk/xen-vhost-frontend


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 07:43:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 07:43:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464150.722507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p65N1-000754-GZ; Fri, 16 Dec 2022 07:43:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464150.722507; Fri, 16 Dec 2022 07:43:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p65N1-00074x-BQ; Fri, 16 Dec 2022 07:43:03 +0000
Received: by outflank-mailman (input) for mailman id 464150;
 Fri, 16 Dec 2022 07:43:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=joxT=4O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p65Mz-00074l-R4
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 07:43:02 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2085.outbound.protection.outlook.com [40.107.7.85])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 42a0622b-7d15-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 08:42:59 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9451.eurprd04.prod.outlook.com (2603:10a6:10:368::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Fri, 16 Dec
 2022 07:42:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Fri, 16 Dec 2022
 07:42:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42a0622b-7d15-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eepcq9YuZpPBsa01lC4vnhyoZTo3q0tqETr+x5V670o+Z4NbV5pebPrV03283o6ImUrQ7PDp0mwet7CC9qrwAhTPZRvAgQq7fsmlLV3AeCjHOa0h1VAQhLj0SOejK/0KHq49nbmGrjBJbLLSjFLABoafbMN0gYNYDrEh/Bwjp0krlPyNZ3Ja/Kdadgj0AZI1j0fBBRoIkMoJ2srYdbGmxTs//vE5U22DDkienVEW8x3+PzJKRMfshU5PdfQYZdoG72ogkj9858gkkYm+HWh+TYjhgYLjh8k8B4LcbTXnBa0A24McOkUKJAR6H8Uuu8HtpCrVZYcAgGO+IDOGPlgxMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/Trf7iWZ2w0b5NnQP8EOIKgim/Jj6VlJ1oOKl74zSmw=;
 b=m1IquQLq07lnbqWAG71ldSry7dODwmuiP4lJ5FUmfZeF1fPZ29+f9+8AOy6GiTeVR/abF78D1JoTvZ3IOoIYvcO1AySVB82gMIifPkqwSjeVvbMbM8W2CF94QhFSSy3h4c6sj0HPhtTrxslYi4ol0yChlizXxdrJpFvhSlldmvTOxdJCESWdWRQcUnjUCzdoTQsN13gk/Fs4xtTdriIJXlNiEhipQFxvDL78CHUxRFHaxXQ8LUsZnF5k5RTRgDeu9fo1A2ImjJj3UNbngHO9G2KjONlXhO9nydS/TQFMRm86MLqNnreDFULk+tzVEs0o8w4swuhU98C/FUwu0PHrZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/Trf7iWZ2w0b5NnQP8EOIKgim/Jj6VlJ1oOKl74zSmw=;
 b=Rt0jVYCyyG3KkyGENVGQG22zw+vBh6kOLjKZhHSE5vDoRdN9RAQ3iyfno9qDyXdHW23/UTaw1QS3ZprwcAPPecgEVLW3qBEXvx6GoPD1nI7wRUF/CRZ7jlf5fVfezi/ZraQwuw1fKp4cqAh/D+NlBYwBVXzkHzQhUE/qt5eDDtubp4CHeEwPmE8wufUc0i7pzgT1KW/Cr4TyZ1SWXZAs95blZFDV7dziRmporR/RpBJSMFaC2inrKTSEARePIEwpmE65uVb0asoWapYNI2n80OKinENbqkq7p+5NP/X75HdokQt7y1DdHg+dThnOqPcnmaO4aWqUFNihXT14XePbXw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <919f98fe-1573-45b7-6c78-0e907162f759@suse.com>
Date: Fri, 16 Dec 2022 08:42:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v4 01/10] x86: Add memory type constants
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671139149.git.demi@invisiblethingslab.com>
 <6d1135e58cbc12f47d144252d6e80c3a6f76a5f7.1671139149.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6d1135e58cbc12f47d144252d6e80c3a6f76a5f7.1671139149.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0012.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::22) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9451:EE_
X-MS-Office365-Filtering-Correlation-Id: e38bc750-a031-41bc-163d-08dadf39252f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wryceMM/tPTl2Q43FvyjJemwTMIbTDZR3Mxmh88iEXJWoTNnzZnJb7oOtiuLuWJihe9kzSYd9gmQTttLJhPMkow3Q5cbZCEDafXky7vbLlq4wvi9VjCb9AFwXBqudq9LldynEExW/C/I2R3Ds7TYy/irpYuYMg2hd3wXqgoGdm6ffH9QDRWj0E2yPAWzE2owg174n5v9uu1vG/hmzv/VyhstROIWcTAG+T5i/fRgzadJjengw6fqwzBEjRahpcv2W5d+KcQP572bSl5ZyvMyvRMHda1mwan6TlvpuliEjrzEWfJYtYhVsdt74Q0+fmzVX8nKGUyTqYU7PEau2mH3uwssKt4i4/nHSFyG/4mX/FQuNSdsJvTRbibH+n/uq51I31Cn9QSntdIjgKoLxUdrSghwmgsBSeVo9+GiwLjyoxHJW8LB9TRoOaZAfI7ugGxWhgvj4mfhuafXBY6Vz3KwoRYv2x3+IZu4IRlGpFxdc2jThnhpBper6m5l7ECfogjbqrMk4BObNG+SQffbbVc1rkID7M3VFp+B7Zlby+aqOG0uR+m9ReiJV7V8DzFjbDRmDK+Bk+NRTznS8n/5zyF9IE/CicigH7o+WCp9O9y+jQkewXLpVY1CbCkTHLuPfU1neZKdrtklQhCdlZhNbunnNO2o/KW5xE3ZB8PAllUZpsVvrS/4dnBJ/APoZywBzZgxLqBjJ5lqL0ijCDH/AUzpY9dOOgAPeJdK/HuqJ7UjSbc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(376002)(366004)(39860400002)(396003)(451199015)(316002)(6916009)(4744005)(38100700002)(8936002)(36756003)(41300700001)(5660300002)(7416002)(66556008)(66946007)(66476007)(2616005)(4326008)(8676002)(478600001)(6486002)(6512007)(31696002)(26005)(86362001)(31686004)(54906003)(186003)(6506007)(53546011)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SjlwcngrOUJVOEJPN1hTeVhheWZtV1E5VGNOT2NpTU43SFVuZ3J0a3B2T0Q1?=
 =?utf-8?B?K1RqMzIybHRpcjc0VVdhZGVQOTlaMmVNUkEvT1VvZHlGdnV0WmFXRjdYRTZr?=
 =?utf-8?B?dUtlanRSaGpKWCtsSmJEeTFGNVhMRE1SajlONDh4ZFBQMSsxWUM0TE53cFBs?=
 =?utf-8?B?eTZQTmwwZVk0K28wcTRCekh2YU84Q2srZlcwU3RYYkplcG9GQ0RiRkdKRGox?=
 =?utf-8?B?eFRPcVRINk5KdU9Wb2N0U0JjVjQ0OFAzbTBjcWRrOWtZUm5LcURKeURuZ2ky?=
 =?utf-8?B?RjZJWUJIZ0h5UkFQWDFvWTZLNEcxVnduM1hud2I5bUM4QWRtVVE5REIxdjZ2?=
 =?utf-8?B?UmRsUnkxNzI4USttNm05U1ZJUXRHU2l5eXVraWZra2xNZFZ6SFNPcFlBSVY0?=
 =?utf-8?B?QnprTkU3Wm9wbXNNR1QwSitJRTZvNVhoTTJJYTRBVGJob3E3Ti9qM1d2UDVM?=
 =?utf-8?B?a3NGUVF6VCs5SWZpam5lY2lBWllHOWFncCtia1l4clU0QnJLSnlodWVKN2xN?=
 =?utf-8?B?S09vcGpXNWJNS2FGZmVwSmJiWEd4UGpxNEhyU2ttbGZrT2xDY2pwRmdpMkxy?=
 =?utf-8?B?eC92eUIrd3VlZFY5SXJaNlhCcFlWN0JWeGFLMUlWam5Bb2NPbTk5Sk80WkFJ?=
 =?utf-8?B?Qyt6VjEvQWRLZkNLVzgyS0QwSE1KYm41MDNYbDd5ZSszOXg5YUd3cndiV3Vk?=
 =?utf-8?B?cFdqQkc5Sno1dUpWWE1QSHpwWFJUQzFSWEJBRWhZMzM3dFo4UEV1YTE5L2sx?=
 =?utf-8?B?Qml2b1hFR1EvTnFZWGthVUkxV0xQM1BRNS9xTFFmdmVHdnNvSEpNSXBuRnpm?=
 =?utf-8?B?QUprNmI0Y2FBU0tZSGZMWnJscXgybE5tbm1sa3ZxRHpYSFlhYkV4aTZ0WHlm?=
 =?utf-8?B?ZW85RSs4K01GTUh2K2YrS1YvZTJwREhlM0h2dVJuN0ZKTmJsdWxhaXlDTW5B?=
 =?utf-8?B?Y1o4alpNTS9JUExGdVJjRkR5UTRkNml0YjJxeXRZTmI2QjhCMnJWRk5aSS9m?=
 =?utf-8?B?Ti9uZFNyQzVUM0RRK2ZTSEpNbnplMFlsOHJIOVQ4L1ZQZWVmMzc4MzVZL0ZR?=
 =?utf-8?B?QzllSEE3Tk9DSTNGaUhodDFnRnp2TEZKWW4xc2R1dnYwd25HNk43WndOOTJI?=
 =?utf-8?B?WXpQcjEvbUtyM1ZxekRiQjJEN1o5VEJQcVRGUnA1NjkyUmZMcndDbDBJalJw?=
 =?utf-8?B?ZFF3ZHBpQndDRUFTYjMxbFZ3UFRhZHd4N01jR0pJMlcybWhPVWZoT1duZHRJ?=
 =?utf-8?B?b0QyRzNyeTlVbHdPRDFBY21McXAraW03RWVqMUgxRUZZcGQwMDVoeEREdDFn?=
 =?utf-8?B?dDlFcERzZGUzNTh3ZHc4b1lqa0Fweldqb055MXVDUlJyb3hqemN1VzE5NGps?=
 =?utf-8?B?VGZlRVBQRDFpNkxuK1FVUm1Td2VVcEJiRXJTT1pEcjMxRGZPYTdaYktVR0dh?=
 =?utf-8?B?UnJmN0FUbm91R1A4VlFrdk5ZR00yRE1LMWF2QlRrL1pGWGEyaUN0SjVZUlM2?=
 =?utf-8?B?bWwxZ1NBczg3NXNvbUIreU03Tmt2Wk9PQnBxUVQ0Rmk3U2llRzhzUE8rRkdU?=
 =?utf-8?B?emdaU0RxS2lMd0dCdGZuQjhSNVlMT3BOK051THhjcWh0a1lJY0hqYTRTNUcw?=
 =?utf-8?B?NkxiTUJOL0FEby9rTjJDSXNlUDRnMDJ6bmRWZ0RQMVB6ZGdZZHNEeFZEdW9R?=
 =?utf-8?B?RjJVbHZ1RjFFMkduUVpCL01ST1p4cldzOFNtUld5VytSNk1WdkU1VzRVRVds?=
 =?utf-8?B?SFVuZjdZVEEranZReXJLd2pyWVdETiszNWtYUThqam1kN0ZrYkxYYXNsclVF?=
 =?utf-8?B?RWFENzU2bjNCeXlSeFF5cDNmdGRKbVFORm9TbTdWMlpOSmRpVVRwTDA4YWpV?=
 =?utf-8?B?ZWh1TnlSOUFETDR5UzdaYmJmdERNK3B4azU4MENIdDlZQVoxaHVSZ3VxdWly?=
 =?utf-8?B?MVpnQmkwSFpaQzhpdWRsbjBXeFdBMFM0cEY3OUZBYTBneU9qb2hqSWJGQVE3?=
 =?utf-8?B?K05UTmgwSTJMcmhNSW1qdU02SlI4Q2ZNeU9VUGFGYVMzVHZ2enhheDczVHU5?=
 =?utf-8?B?cHFHRFQ0V3lyd1lFczZqT0JoRi9nTnBMQVpxZjRRYzdGdFJwbm1pMWNXRXJt?=
 =?utf-8?Q?9XG1GWBRSAy7P/13suM1pnp8c?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e38bc750-a031-41bc-163d-08dadf39252f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 07:42:55.7569
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IKgOiriD6E+3DcHRfX6Lg+jF6ZMp2rqtbIjahJZ5KVdv78CeM8B3yDKD7z0oVRB/GgU60SGCr2/HF4ecuwqPIg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9451

On 16.12.2022 00:57, Demi Marie Obenour wrote:
> These are not currently used, so there is no functional change.  Future
> patches will use these constants.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
on the assumption that Andrew accepted your justification for keeping
the "reserved" constants.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 07:44:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 07:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464158.722516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p65OU-0007c1-PM; Fri, 16 Dec 2022 07:44:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464158.722516; Fri, 16 Dec 2022 07:44:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p65OU-0007bu-Mk; Fri, 16 Dec 2022 07:44:34 +0000
Received: by outflank-mailman (input) for mailman id 464158;
 Fri, 16 Dec 2022 07:44:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p65OT-0007bi-0r; Fri, 16 Dec 2022 07:44:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p65OS-00042c-VL; Fri, 16 Dec 2022 07:44:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p65OS-0005Qg-Oi; Fri, 16 Dec 2022 07:44:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p65OS-0000N2-OJ; Fri, 16 Dec 2022 07:44:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ny9jRM78Sy3z+AOYxr5tvea/ctUikmb729XrCrQsBAI=; b=cieBQiDMP4+oCqt1gNnonyAVWm
	ERDdjicA13NVOgdahc+7VxgsRQSQyoKTc0Ai4xUE1bqL26sUM2p8UA9/rdM5Bj1G54PGr8vxC91/J
	/nKu0YSv7y4Cm2YBB2OS1FnrdG4izHNMvFeCpWsQMpXzDLoRRCB1xDsVcCLxDBQqVjew=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175303-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175303: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=0adc35fccd59c8c5171273319ec899aa48fc2c35
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 07:44:32 +0000

flight 175303 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175303/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 0adc35fccd59c8c5171273319ec899aa48fc2c35
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    1 days
Failing since        175214  2022-12-14 18:42:16 Z    1 days    9 attempts
Testing same since   175303  2022-12-16 01:44:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 320 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 07:46:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 07:46:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464168.722527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p65QY-0008EV-6k; Fri, 16 Dec 2022 07:46:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464168.722527; Fri, 16 Dec 2022 07:46:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p65QY-0008EO-43; Fri, 16 Dec 2022 07:46:42 +0000
Received: by outflank-mailman (input) for mailman id 464168;
 Fri, 16 Dec 2022 07:46:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=joxT=4O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p65QX-0008EE-Bq
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 07:46:41 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2042.outbound.protection.outlook.com [40.107.249.42])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c6a59180-7d15-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 08:46:40 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9451.eurprd04.prod.outlook.com (2603:10a6:10:368::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Fri, 16 Dec
 2022 07:46:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Fri, 16 Dec 2022
 07:46:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6a59180-7d15-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OrGz+PS25lMN1jKa4ab6oock/cwsFagyBsFP5R6145PBcPJd6MnLEwB7XVeH2wVbPBRF9wSRnTq302U1wqnL+n6vvcUFFNNiLTVfqut7FBiau/FRpHqGwFJ6DMYK5RLaDvxw+z1QlVRAJzuI978oek/K5V2DGcvufEJMiq/8TtNmvt+3ykpxbTdICII9lW3+Cdx7Duk0UOqO+fVG1ThsxbWRXBIuzAldhVNZcpZBYFKeG824MHBeSc2lCaUodOcGpA7zyqMEVpR6+M9E4vmg9QV7hsFOjVbmuNjlwotkeYM01celOoP1emhb3V3KOYY+1ETVNHi5A2fYlB+KbjYhvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KozOlaVwm4ZSiH5TUzXqtRoo4M5Y8JY11JQYlZ3cV7o=;
 b=QlJ+CmfF8xF0RT2hhqS3mHxv8cJ/zsmnXRwUdm98jUAP+kR8lkANEK8A4Nhll5GcpRxTrkglagKgtct7QzA7WflERcin6gvzxrFZV7DmMQ4+G7M6uYEvnunKgE1+OJb8RCQka95bggrX3vxtT9+Q7A7c6SV2hqTxvKZuAtzJmXV7HHaNgXoOwm+9Zj0JrxvkAnlL6IQRLMFgxGmzWFNXJMNmvlah6h+VamKEWSCRSVFJqpH/H3c7JIWUy+foJ8DMC+gpcoKMIYdP1XxSnGk9nOHB7uLuVuGsolL97RW3KgY71GnU6Zx4oPJ983BzuM5Ik01uDxKIgZ127/xX7diZXg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KozOlaVwm4ZSiH5TUzXqtRoo4M5Y8JY11JQYlZ3cV7o=;
 b=jULKC6jHUOSiYyOlwzsXWSEc6J1M7J5vMFunDqvhR/znPDm06b73ey090Iu76LtgiyVMAoUgWA+gUFBK+OnOa9qRsL/IePBPf7RLV1Mc0dXQBsRgIHwqZcqk1rteTlOnRoVZtZj3JlXfyy/gOCXbE23zu2vkpgSQS8TUYtPA+Z8H/hX0Der3w+Yc8OjltraKao5Dk0voLVyENftXXkaDtoThTIhV6CD2VCthFbBVcCGT7n+itECVn4hXpcxhDtUyvwKXnFruA7Q3l+YPxvPT6LzGXijB7+wOsW6hEkYkJ+7hDZxmdxLbRO2yNrzM0bXVjlv8XnaqS3YSHvc8iVjZaA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c6cc79fe-ec84-0a8d-9b13-d1510fbf74fc@suse.com>
Date: Fri, 16 Dec 2022 08:46:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v4 02/10] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671139149.git.demi@invisiblethingslab.com>
 <8f0a2f4352bf6241e66f2fea1776d0c82a3c566d.1671139149.git.demi@invisiblethingslab.com>
 <Y5vXBTH3x8ugZtgn@itl-email>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Y5vXBTH3x8ugZtgn@itl-email>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0134.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9451:EE_
X-MS-Office365-Filtering-Correlation-Id: ac59e913-08e7-43a6-a2bc-08dadf39a9f6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5DQWFOgQwjHpxcSqmFJ9NZq77qkrQ+EPlvAJ9Vlq0BXpGjj1hjBjZ7iSpDnTgXerCr5xjPHyPDPjUo8m0N78Se5d4L0U3uP2MPNyhlKI0ObnbjjvbEEaDpyV9AvuRwMVuwqkfVzr5nL/SEVCM3y2UmerJ5KxQ4Lk69Krz8A/Bhr1en5CEmj3HuTICiqh9qjBQSoeC6kmPq+WPYW1IuZNNBpyQAmpfSwdmBrpXqb+P+S2wAaRMLT8eoNDg3qDSHV4ssDaNhpWzjZiAmDf1LLh0vOkof1rmnDrlV6c4m+MdlHs1ePONDyamdaBlsaINv/pnBcnvx2WCuXx6uwpcUwQjOWBlHUoTXF/yNcS+8vUDkCpdhC5YlzPuzgOwFYeAmcPScvk43bPVbaVC+BYRkxYgdkcZa0pg1n+ocdrXefkgO6+MtDWZ+XbRMjlLKbuSkjFdIMjlI+snHLorRk6UvBqrEKGo3g+xTb8KjF7FoYD0gL1vn3nVni5eAFmY/h8AxTLeQHORB8fuAZO0qhIhI5oQdELtPHP3una+J7RyTsbl89N8py6oVvh6xgQnW/pwzISEsVznidoBmfmtVcF1WaFVROzK1NPkh2LvE+b3u1lHbng3MGanmRvkvLYiXuOa6emT59NEh7B75Wwdfoxz5VfhbZUO1g7qX5IWnpTUmUy0uCKeTlfjzny1M6T/lwDLMOw8fvpc9lhpNKcuIbukH6T17Yk8ZDlV9xgqbHwXYCu5Dc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(376002)(366004)(39860400002)(396003)(451199015)(83380400001)(316002)(6916009)(4744005)(38100700002)(8936002)(36756003)(41300700001)(5660300002)(7416002)(66556008)(66946007)(66476007)(2616005)(4326008)(8676002)(478600001)(6486002)(6512007)(31696002)(26005)(86362001)(31686004)(54906003)(186003)(6506007)(53546011)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Tm94cUp2MHh2cWlUcllwdWg5TnNSTzh0cnQ1L1FGRko3VDlZNnN0MjdybDJ3?=
 =?utf-8?B?UTRBZHpyK3Z3S3VGVnhiSXBZSENHWU4rWmMyKzQ3emw4Mmk4enZXZ2I4MEll?=
 =?utf-8?B?VlhoOURVYTV5S2RmVEttT2NwYmYxM2RSaFRpVzRWSzIyMzZySEhVZjRKcEhx?=
 =?utf-8?B?NEJsMHFTTG00ZU9qTUxQMENXNFBpSWZwVkMvcFVsSkJIWk10RnpkWWpsbzU0?=
 =?utf-8?B?UHBzbElaOFNNSG9pc1BMUnMvMmpKbFpiMTVhc2lTQ1p6MVVRcWxHRHNIMno0?=
 =?utf-8?B?NDRBWUJOeGhISnJtazRZS0xqYUYxQ0VxUTB3WDZndjU1dTJ0Z3ZFQjk2QXYy?=
 =?utf-8?B?b0xpbmFzSWMrTjEzUW9WOGdPVHgvamN1TytHQXA5S3VEZm1kUm9uZ2hJRHVN?=
 =?utf-8?B?dTU0RC9lcTNSRElpeG5HWUZNQ1BYUEZkdGtZS0ZNR01HV3ZOb2lIWmVXSUcr?=
 =?utf-8?B?c1ZNT2orZ3NQRS9OSHB0L01FWlhPd2xOa0FBV1BjQVhWcWIra0VRS0k0cVdP?=
 =?utf-8?B?ZXVmUjNPNXpaUS9qcER0bHdWTDA5N0dFMTJRRUJIMFFBN3czT1lsakpSc0hs?=
 =?utf-8?B?a3ZkR0NhckVwajZncDZVT0pRWE9jMEc5cUdOT0NuK05VSjF6R0VKZXhGelBx?=
 =?utf-8?B?RGlycTZLMU1Bd1BNSUdYb0FHWlpueHVBTVFuaEQ2eFRiTS9Zd2pFUXN3RnNY?=
 =?utf-8?B?NnVocHR5R3Y4aTZlTGxVcFBTSnpKTzNNN2FSNUFCY2FEckJqMnNlLzZzQ1Bs?=
 =?utf-8?B?c2xJajR5Q2N4bDJGdGkzY282cFF4ZFlCZktPMWhvWVlYWkRhdS9iOW4zRk5S?=
 =?utf-8?B?OERHdHIxSlVSSitNOHo3NkYvVlFtMHI1TUpuYThtVXlUQlYwRERzKytKRThO?=
 =?utf-8?B?RkVnVzJ1aUNhbmJrV0xTM09BVy9TOEFJbmFFV01BMktWU01rd0RSckIrOHZu?=
 =?utf-8?B?cWxieStJcDcyd3gyckYxOUtlVG5ERGx6cnJHZWFpdHdBbFliV1o3d2ZYOWZR?=
 =?utf-8?B?Yml3WnJmVngrRnVWc1ZjU2pXM0ZtRUpwM3RwOHViZ2dFREZiajJkS2hlUHY3?=
 =?utf-8?B?eS9OTU9QaUR5ZU02dENDcmZWNFN0UUw3aGlvT1VGUHMvYmpYeG9kbWcxMEZm?=
 =?utf-8?B?TzlWaTdvTUpYVGRTdG0yZWNMMG03OXRRTzRvTHdpWTI2MFZGQzdLZzRrek9z?=
 =?utf-8?B?RW5hQnp2WHdabmMxNVRCTC9FRWcySFhaL3FvLzk3M3QrV1djNmoxTUcxVHBF?=
 =?utf-8?B?V2xJNjFPK3VNSE1GL05jZk1QckZPQmNpQ1VWYVRqQ25jcm1BaDEwMHIyQzhs?=
 =?utf-8?B?T3JDazJSbW50UGFqVTNXU3llRGZMTVkyREl5dGJsdjdtTlNGLzhvamE3aEw2?=
 =?utf-8?B?QlhaYjdNYVZRTjRzLzZ3YW1FUmpDRjl0REZIbnp5dEJTUW5xbjB0dnJwdWtL?=
 =?utf-8?B?NDhuemlFSGZTWWtlR2dZcEh5R2kxU2psT1E0QXpEd2ozVklPOWtsS2VDM3g0?=
 =?utf-8?B?aHc1bmorQ1cvdmFkRW9vVnpOTEhNdC9TV2dhVG1IRkZyQXZxNmtvQ3RndU1W?=
 =?utf-8?B?Nlo5cFhXNUNkQ0lGZUV1LzhIM1Nic1ZVMCtVNm5PbWZwb0hJZW11a2hNM3RR?=
 =?utf-8?B?TVQrTEFLMFcyL2FTalE0VHg4a0lnWFl1TWNnL3FCRXlLcTE3S2kxWE40RW9x?=
 =?utf-8?B?VmloUnViRzVUQmhWYURna2Izd0xiTFhscDVYaGZUS0I3ZlllQWJoYlVZUnky?=
 =?utf-8?B?QlBHT3VQRTlhMFY4RE90ZjdVUTAxRWQ0YVdrT3BvcFpGV091VWhxWXJHUE5t?=
 =?utf-8?B?ZmRRR1BJTWlUMzk1ekxkMFU1TVAzYlNSQXdWd0JEbUR4SnZwM21HVVlUdTlk?=
 =?utf-8?B?Wmh3WGhCMHloV0czN0VvWWIyQWJoNi8vMTd5NXpwWTZDM1F1UmdKR09vclpB?=
 =?utf-8?B?dHJPdlNBSVdKcnBVNHgreUFvL0xWR0VabjJhaVBnN0h2ZitmNDFJRDJ2azd3?=
 =?utf-8?B?K0RFSGhzNUdDSm5tWXlvUVdaaGh4WnNES2dNaXNGMm1VY3dHUjhHQkFrZGVD?=
 =?utf-8?B?UXc3UXM1SUE1T0l3M3lnWkk1UGI2Um8yU2VFUFYyNXRON21vS3MyNWdjTytt?=
 =?utf-8?Q?gbBMQWFEexIH9bcUoyLBaBJr9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ac59e913-08e7-43a6-a2bc-08dadf39a9f6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 07:46:38.5551
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kM7nRHmwWK9HOX+SfY83yoQ+0WbBTFOCZ16zJ8TLLXe7noTyo+Vv6N/j/P5OiXJvZhIdBfIk0vFqTn5A00ojvg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9451

On 16.12.2022 03:25, Demi Marie Obenour wrote:
>> --- a/xen/arch/x86/include/asm/processor.h
>> +++ b/xen/arch/x86/include/asm/processor.h
>> @@ -100,6 +100,14 @@
>>  
>>  #ifndef __ASSEMBLY__
>>  
>> +/* Convert from PAT/PCD/PWT embedded in PTE flags to actual cacheability value */
>> +static inline unsigned int pte_flags_to_cacheability(unsigned int flags)
>> +{
>> +    unsigned int pat_shift = ((flags & _PAGE_PAT) >> 2) |
>> +                             (flags & (_PAGE_PCD|_PAGE_PWT));
> 
> This could also be written as
> 
>     unsigned int pat_shift = pte_flags_to_cacheattr(flags) << 3;
> 
> which might be easiser to read.

Indeed. And then also be placed next to the other function (provided
we want this to be a globally visible helper in the first place).
But first of all Andrew's comment wants addressing - if the code
using this new helper is to be deleted, then the new helper doesn't
need getting into proper shape and place.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 07:52:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 07:52:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464178.722539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p65WE-0001LQ-U6; Fri, 16 Dec 2022 07:52:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464178.722539; Fri, 16 Dec 2022 07:52:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p65WE-0001LJ-R9; Fri, 16 Dec 2022 07:52:34 +0000
Received: by outflank-mailman (input) for mailman id 464178;
 Fri, 16 Dec 2022 07:52:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=joxT=4O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p65WD-0001LB-Dn
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 07:52:33 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on2088.outbound.protection.outlook.com [40.107.8.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9870aebe-7d16-11ed-8fd3-01056ac49cbb;
 Fri, 16 Dec 2022 08:52:32 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7540.eurprd04.prod.outlook.com (2603:10a6:20b:283::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.8; Fri, 16 Dec
 2022 07:52:29 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Fri, 16 Dec 2022
 07:52:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9870aebe-7d16-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nhPWIGBjWIfnDnmhbaB21b71IDBMtx5mDfSiepNcEzYdzvExT+UXEZBpemN5mgG/CnTBVxPLzIhcUhaiiTeF53umFb9W2m3P/AIDoGnIwFxaiu+4nmtPLMeEgDuPkaxeluRhKroOuAK7ku5KBW/7gntDlxsBcJwtXc3fwF3YT58Ot5mKQNtPYHBet65zWUR6giS2Ql0TWAoOfTgn2ld9K3O7qy+JI4V77i48vosSR10EboHYAYTWbZ5W8AgXLH9tl4Mua5JCi/LQVldRlABPAoYjapMwDZyABkEBtNzHs79+qOV2lOpo50E/lDJ/yNjFcoQW+gqUF7gmiPvRkmzR+Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rjbZ6RRVHuf9/bWVPp8AKnmkvJ3C/V1DFCH7bMuoFPs=;
 b=OBj1j6fBgaa87WLjbeXp073LY/3tLbB/PIwyvrZpHjjHzC8tgMDJmR7CXLmrLFMPh6FwudKvjKNzeyPSQdyVyZIRADSSmdFHu73NCOg6aCEeSHuqNKEFGjJ6QFmt/bNrI2JXxxIQekygLI9vnTKDM5FuhnmeCxzaQlKS6r0tDjo5TdEfu6TTXDTs7dTL6xYI/30AKSUg+0lqyZEMcm48lkc9p2dsD0Aps2wcjgO/1kMw9s9cKAdd+WhA/kH5sKK/TZcc5XlIjdqMTBj0kpfF3TIt+D+6RUNFSLeGdSH6GDp1lgu0CTK3urF0jUEGIWsf1Fmppf2J+zh7G+booxH8nA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rjbZ6RRVHuf9/bWVPp8AKnmkvJ3C/V1DFCH7bMuoFPs=;
 b=jsP01pmMHr7FFc2P3PfjxPKLHWRV3fasbrQ70sglStJljNHhq1eQtThNG0CJMw1jkQAu4yGDtY1T46jYm3NvAr3wjxf2SdZoSrVBsDE2CQDqB60+zkYC3q0aGVW+9Vc6bLTs65P8ys2dsEFmUju1oaNkSjYFYf0/v9A+I1V3N9BmZfmn0/kzkzpdqWVxVqfj+1AZyfEqQGwSiwH82EVKoRZmuxZAF7fDEOhuz6u4UU3yKr+n4SDWu+fpZOPgTYsJBFSrwbAcZPVDmiM5rFZeZRZ/NZDsjt54fb/vB5yXo0Gr386qaUWahba2cNaY1OXMvfGXvro4ZdK88YaIpg3GBQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0d705350-5130-ec53-c814-7f7cbf451602@suse.com>
Date: Fri, 16 Dec 2022 08:52:27 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH v4 07/10] x86: Derive XEN_MSR_PAT from its individual
 entries
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671139149.git.demi@invisiblethingslab.com>
 <2d6b2f875f023e9f57a93e31e82f8eb908a36d36.1671139149.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2d6b2f875f023e9f57a93e31e82f8eb908a36d36.1671139149.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0139.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7540:EE_
X-MS-Office365-Filtering-Correlation-Id: 5da8d34d-5790-4265-a946-08dadf3a7b54
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hH5M2EVpCGgfCX6LGfbVYhf3b4wLDyK+gyv9TGCOdX67wOrxbbq4Br6UyBSVRfOK1agbfX157mGjSQcZVtE0azCI/5rh2JQ12kIoszx1K/W+C7dQk2LoLFwuVR389oCdil/NADQdxjhABaVuXbyXBSV9RrqOeN0Rii3TXQBiJ8pvNFmF57psppQYzcS/+h1aMqTF5aeyF1Mo8fM9hRm9AfiagRVoQxVEMfASDfQ2T1o9Fffzi6wO83h4gvbKRhSEcWP+5zo9un4INgNKXpgd40Jt+q4ZJ4ZO/uJSnzJRobyIzRakMwCsFLOPCKQO0kF+oEEvhWDHacat0Fb5wB2iWYzv3wmjUW4J4vBFgG4qvDnuMEtvDSCYrjk2yv3wwO7Y5IvHV9gIeKKF8sGhgdbJnggbEMXXwdv1fnaDFgS9RkjnryQox9qteCjXF2/EI2a7aOJP9/OXnk/mad+eMr2q5rmTEHcPG5KUcXrpvlCIL9u4PZui9nf5XQ8pWOiF6M8Y8vuE9wdO3pYweONuBexTu0eqPIQ0YdEFxLlaNRAWHV/vh0fDYKHoSQUevnd/c7K1nBX1VXaDp+p4QqOK/U814DvyD0Mo0oode+7B9bhyK/ACn5WLGQO4rF816wjttWaN4vzHsRMBUvikBqNDaMziZQTAoMtJ5j1mN06H+hTdsKtoBVQ3+C57NutIQb4y35Dk4J6a8tl5OFNZgMzNx/qXgsA86UuLf//KmziuiH0fHNo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(136003)(366004)(346002)(396003)(376002)(451199015)(38100700002)(8676002)(86362001)(66946007)(4744005)(2906002)(5660300002)(31696002)(4326008)(66476007)(8936002)(7416002)(6512007)(6486002)(6506007)(53546011)(2616005)(41300700001)(478600001)(186003)(66556008)(6916009)(26005)(316002)(54906003)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U1ZxR3UyL2xjT2g4Vm5GQTNrSk1ZM0hyZU92dHBrdUdkVzkxbk44UFNlZHhE?=
 =?utf-8?B?MU5xOTQzK0VOVWVmblVmWDVFZjhsREt1dDdpVzExNzdiSU9INndwSmNTeTRM?=
 =?utf-8?B?WjF1c0RxcHZIZFl2cThJRkh5bWJmQjhNZ2gwTXhQeFJyRTlxNHhWMnhGVlJO?=
 =?utf-8?B?Y0tUMlpubG9VWTIwYW11TTJsUDZZUGNGbUJmS1ZtczhlZnVEcjA5QndOTTdz?=
 =?utf-8?B?a1A3SHQ4dkFHOHp4Y1YySFNVaGkrU0dFUU1BTDNnTjV1SXNESlFsTFdaSGR5?=
 =?utf-8?B?d1FhU1Q5bENoM1ZSdWxsMlNwSno0bU9tSEZkRFdLdmczOURoa3BvdkMwOVN2?=
 =?utf-8?B?UDJCUlBWcXZNcDhGWFRvOUNEa1hsMDRZUlYrQ2QrazhBTTEvUnEyU0lzOW42?=
 =?utf-8?B?K05XY3I1YkYrNVhpb0c3d3NzajhtOW9ydTlXY3lxc1NGZzk4Uk5GY3E1NGto?=
 =?utf-8?B?Zmc3blhPcUE5ckxwTHU2MUNadjA5TWhpSENxQ1gvdkVsKzA0RUQ1T3ViK2RO?=
 =?utf-8?B?bXpBcDFSdkhFRWE1Ui9xZzIzdW5oR0tLb2l2Rm5SMURVeStQUjRBV1kvbjNi?=
 =?utf-8?B?WWx1elBzYjljMUwrR3JKcE5yeVRuczFmRCtaZExKKythODZWbTc4ejJHRWcv?=
 =?utf-8?B?OUJMTnFTWWx1clcwVGkvQytyZ211UmpTelFNWWRuZU9pQkdnWUNBTElHNDlY?=
 =?utf-8?B?S2JLQ05kdFZQeWtzRktWT2wzMkNBWGZvTUErRHJlaFh0YXpSUjF3WE9QZUpW?=
 =?utf-8?B?N1FlNUp6TEJvL0xRZTBmRnRrcGd3VzdybmxLZFJ4UWRtLzN5emU3WHFnVm1t?=
 =?utf-8?B?SkV0WHFhWWsvcGdmenZ5aFJCSU1RK202elNHclEwTjRoN1p2K0NyWm9MZUVO?=
 =?utf-8?B?QTJJZ3gxVGhXWGVTWGQwTG14MlpUMjlySGphd2VjSG14Z1JDS29BbEJwNUo0?=
 =?utf-8?B?RVBnYWxKZ2l3dWZxWmVqSXpWVDJaSUh0SzcvcHBSejl0Tk9mZ1lNeG0zVGR2?=
 =?utf-8?B?Z1RuamRRTnFOa0MyK2JvSHo4N0NMQ0V4c3h6cnpLUG5Jb2RWWkMwRU9kVlNw?=
 =?utf-8?B?aVNKNWJycUJSZzdoZjNETitFTTJNSGRMa3BzdWNHcFlrUWhNdmlCZWFTRGJo?=
 =?utf-8?B?RU1oK3pHa3VRMWNtOWFFOVdWS0lORUk0NGZMQ1RiNERROVVjNXlyTUowbTJX?=
 =?utf-8?B?cGZ3SERKRWlQakptVkUwWUMyaUNuK2ZRTFErWXpTcDFLM0pTMXZqa3AwenRy?=
 =?utf-8?B?N3ZmUXo5NUc0Zk0welNsSDk4d3daZ09LOWtWd3FQTnovamc3UmVnbnJWUWNF?=
 =?utf-8?B?bzMzSXNzenVQeno3aW55K29YWkhLTXd1QmlyZ0xIZUpsbUVsVGhJbWYwTkxh?=
 =?utf-8?B?NkpYRTZBMnlOWXludFZDRVVjM0NTNDBUbFl5U2dBMHZpN1U3UVp6Z0libnNI?=
 =?utf-8?B?M2ZYdjNGajAwRE9IS0lrUk1QT3RtMko3UmF3QXpjMjJIZTdqWFBSKzFWYmVx?=
 =?utf-8?B?ck1EbGZUODEzT0xKcHQ0VXhSbnQrUnc5WXhHdjZzb29lR09CbXdZUWVQeG1p?=
 =?utf-8?B?dWZLSVBtbFdvUU1YL1BMeXplaFB0TU5hL2V5NTlvVTVyRmNkZlhtV0JKU1lV?=
 =?utf-8?B?R1o5ZkVhSWY3Y3kwL1YrSEdROExxZS81Ylp1empPeUVJWTlZZk53MHovUWNV?=
 =?utf-8?B?Um10Tml3TUxMNmNEQmVjdDhsVlNscFpPTm80L0JUSFUzMUh1MmN3aUd2K0xx?=
 =?utf-8?B?UjA4ZDFLK2U1RDRBYm9UZ0k4dWcvZlNtb2lSU0U0amxmM2hSOEdNUXpQa0Zi?=
 =?utf-8?B?eXFvL21rbUp6ZXVWOUFNeWZTTVlBOEV4Rm1DcTVzZk13U2ZYMjdFMjVTU3M0?=
 =?utf-8?B?Rnk2ZTN0eW9nM2hySFhjYXpaODNrV00vdUtJakdnSHIxQ2w5QnVyYktsZy9Q?=
 =?utf-8?B?WlpnR1A4dHpleThkVzdVNHpQTmV6N1VkdHZNQjF6dmxWRTVLQWdsNnplcXFi?=
 =?utf-8?B?TjFrRld6K0tRajZVc0kxSWVVMDdOOUpnS0RRODRGQnIvakR3a0M1UDA2RjRD?=
 =?utf-8?B?VnpaMGRmUXdBaTRBRWdwL3BIekhmK1AxbHdJRFBEYUZtbFk1RGF2cmYzWS9U?=
 =?utf-8?Q?3tv7f1mPW8POjyTBNbmwa5S7+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5da8d34d-5790-4265-a946-08dadf3a7b54
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 07:52:29.7839
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QBzsMfOdzjvfJdiEd89KWAEsOh9j7DhqloE/lpetlg5V9UrzPwI3PHRmVZIUtrGeq6V1XH+b4xYLUlwwdCaT6A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7540

On 16.12.2022 00:57, Demi Marie Obenour wrote:
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -6357,6 +6357,15 @@ unsigned long get_upper_mfn_bound(void)
>      return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1;
>  }
>  
> +static void __init __maybe_unused build_assertions(void)
> +{
> +    /*
> +     * If this trips, live migration of PV guests to and from this Xen is
> +     * broken.
> +     */

As is anyone using in a hard-coded fashion what the public interface (xen.h)
says. This wants adding here imo. Then
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan

> +    BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL);
> +}
> +
>  /*
>   * Local variables:
>   * mode: C



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 07:57:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 07:57:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464186.722549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p65aZ-0001yx-Ex; Fri, 16 Dec 2022 07:57:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464186.722549; Fri, 16 Dec 2022 07:57:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p65aZ-0001yq-CA; Fri, 16 Dec 2022 07:57:03 +0000
Received: by outflank-mailman (input) for mailman id 464186;
 Fri, 16 Dec 2022 07:57:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=joxT=4O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p65aX-0001yk-Mx
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 07:57:01 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2054.outbound.protection.outlook.com [40.107.249.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 38665333-7d17-11ed-8fd3-01056ac49cbb;
 Fri, 16 Dec 2022 08:57:00 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6999.eurprd04.prod.outlook.com (2603:10a6:20b:de::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Fri, 16 Dec
 2022 07:56:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Fri, 16 Dec 2022
 07:56:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38665333-7d17-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mKWrPlVuD8mqu2goCG4Fzuvj0ERXEj57ri/IHTKUEAuz6XGB+AD8g91NSNJ7K9NVaDDpqcpd0s2BYTsxkuPTwqF+t7E1RSSbmG3qvSpPCZEQCBcFIcCSmtAmVgoAdEZwGXmdp6VeFVAdpE4p3u+97JCJLUZFYfkiwiN7e6dXdtbnlOUhsxhNFQDIY50dNDAtORt1nfqlMdSlayqYt21k9e3NQmxMfQ2DeDo6E5SFkP/cSeEPxMbMRoNhwGCyZB6M/zjnevN4E3jQSyk7k2F/gi1FTgmzJXo3A9ADIt/DZgumkOp+4zUzKz23tDT2YreSx7yPi+PABZ7xFQI5l0a/+g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1jaAB8Yvc2Gsh7+hS8XZAXXH6pajRoD+28gBuIpJerg=;
 b=i9Py730oavvTG+gRH7pfM8vS6shpA7Bn0HMAYqxLFHFjLMdgortHR2NU/XrRwLDeAQ9nR1zwD3g3Q8ktlw7PjjM6gIQp+1uyATmTAyuEPIIly+y24fHG7iT0YGGDBr45FONYnW/yFtdYlMc6FyyuRTR6ATsdkLsGtSTuOP4F2HA0GimayPezgHrXPBxWXrf0jIo3gX/uADXWRZNogQOrq8CBe0nYJpzQsq1VwutQEwKU9685OMiM/lkXuEBkN6Q2A/U6APG1eVGd7fhWz1rUQfMJF5MOAwRPySpzEygmqjX/SRl+AIcj8EWWGZ60ySMt55iXNnIn9SORl9Fr+/aHQA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1jaAB8Yvc2Gsh7+hS8XZAXXH6pajRoD+28gBuIpJerg=;
 b=xyj7qijwAIyFSttkNLosJwQ8YSw1Wx7S9selwETBSc49/RWcjGWk3Wn0nyI+Q/3/GCeDAL04FSscZExvG89zulpOOgiqXK5BJBpmWH41INTumi1bVqoM66xON+nLCRwjySq7LsCKT52gVRX0cgHleufZZB30GgYzAp9bOipkTpiK7zTpxHqmwvwLO+j2lgqPuafBkmOutNNntEDJ+zpyA2U0kuU31QaFcWnJ7dn/99cYaVVIfYFvcV6+1d6f+OFox+L//DAxwtG7DwHZEtfhbRrqTpP399nqZ62CLgxFfVZpetZxCkeFcIBJryMExYnjVx1LIUwub4UAHcNkC7VzFw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <93186340-866b-b556-d58c-5768b8258b32@suse.com>
Date: Fri, 16 Dec 2022 08:56:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [XEN v1 1/9] xen/arm: Remove the extra assignment
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com, julien@xen.org,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 xen-devel@lists.xenproject.org
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-2-ayan.kumar.halder@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221215193245.48314-2-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0013.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB6999:EE_
X-MS-Office365-Filtering-Correlation-Id: e85f05d1-b95e-4fdd-0c42-08dadf3b1b6f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gOCow7OTYDydiZKe+RBsquFOFY+pnR9w751mZP9bQuG4+AYoUFAcblFVhO13B1lSKqEK5Ww3Gf0s3AI0rzXhESZM3I7ZAAWYaXcu/30MTzecFI+wBHROLwiyLMp18cmWhrUbSN4rh/yDLw+5HlZN9ybUaQxMC4d9D2UEf+liUhq889wB0DB0DuJi6YovcPH9AwUAWUTjXWUdRtaNNz6OT+irM8D4gq5xS5wUf9wnmMys9NtruZoXOpNwLsjmj/maA7VC3VQM7GsxB4aLEBVPYtHFZs2TeSDWwOlS8ZvPMQTsNcQrfp6NhrloHdznwRDZbAXXITbZlrWsCDB++IUj03Cxw4ek8AEDfQyMdpogFkCZ85EB2uRfplCP7596NWXf/4gFTpSdOlEZo5eoPYpe6ARHVKX7Tc/tfuA0HzZzr1Er30btGYfHvAMpthmdH9BrqaQg+YxVzpm66+XgZZQJMmtwW/WWp5KaV6Mng6VejsxO6h3FLcFxe3jlzBnmJ6F+w8eJ1s+hfuq8JjjKNi0hvaLsVQZPI8bmeEw1ua7vNFmdZof9zvKofGFRetQuz5d7lvMiR2WdXuZFst2AVpVTfYxfRSkzE1F5vTCwJ8a/QdGX4Rtg1PQc9DhJVdmiuIpxmmmtKZsW52uskPRl8lAse1f1/F7iCDCCGqG8BWrTQDgs5uDmRo9pgosFsVPdBT7b6KqryR4JHdxbBT8ZNFhFsXgfTNKUUkcRp2kxWgqF+Gc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(136003)(396003)(366004)(39860400002)(346002)(451199015)(38100700002)(36756003)(316002)(31696002)(86362001)(6916009)(478600001)(6486002)(2906002)(4744005)(66476007)(8936002)(66556008)(5660300002)(8676002)(66946007)(41300700001)(4326008)(53546011)(6512007)(26005)(6506007)(186003)(2616005)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SFQ0UERodEFKUEprYzNkaG91V0VTeEpSNkdhR1NaanhXcjJkcldHMGhwYVlh?=
 =?utf-8?B?TmphRXcvSnYvazIvWWs1TUJUQlJQSUxXVTgyOTNUTXFad21pb2c2VzNqTkNs?=
 =?utf-8?B?aHFRNlMrOXdMdkdtSGRvdjEvOUc2RWV0TU5DRXNseCtjUUFzTlBIbFRRRkho?=
 =?utf-8?B?bzFZejJDUmc0ckg4eXFWSW5DcS9QRVNpZHBuRFllVHNYa3NiM3FNUEdHMW1Q?=
 =?utf-8?B?SmhITmx1TjJ1OEpnOHNZZFNqY1hiQUdCQjJQUmFzdXFVbXk3QXZzMjUyYm1t?=
 =?utf-8?B?NFpIQlFjU1ZIcUtvTE5oam1UMEtVcE1VL1gyN25wMCtKanFJSVpHcDdUT2Yv?=
 =?utf-8?B?WXBzUDg1MjdHWFhKWjMreS9rclVPakl5T1BMOHZabkM1dlU2Qk1MWEEwQ0tK?=
 =?utf-8?B?eWZlMDI1MGs1cmNUWE1TUVpDbXZCMHZGUFI4aWxuUW5BTzdCOEVWaVM1VHQv?=
 =?utf-8?B?Umc4bGduYWNBVFBuVTZSWk9POHRVNVZUc0dDZHRYZTZZeDV0ZW1EeGwrcEpV?=
 =?utf-8?B?QTZGamh3UXROMmxvQzQzWWVWUHVSQ1RnWHVoZHNrZzVPQ1lMb29XTlJsV2Ft?=
 =?utf-8?B?Y2R6UUdXZ3F2TURMSnNENDU3MStPZXJNVFdKenByYnlMZTRWQzBVOG5FbW4v?=
 =?utf-8?B?ZGsyT1RiTktDSFJ5clVWYmdNU2xSNDBWOThOTytaYzNvVjg4VktWenFGWXdR?=
 =?utf-8?B?MlU3cU95NGYvdU9LaTNlTXBET2l6ZzZkS1dpa1hMWkFIRnYxRG8wcXg1eXdh?=
 =?utf-8?B?VEVTMjBzdkxWM0hHaTRKMjVGWEZ6ZjJIU0VWWVlBWWNnQWJXcU9SWDRLWXZW?=
 =?utf-8?B?TlNHR1RwbCtZZytDcTFIb0NIVG50UEVaL3hxclFBNXdnNTUwLzV5bld2dU1a?=
 =?utf-8?B?eDNtancxT1pGZnkvTTY0aE1UckhJUk51M0NYekREVldDVTc2Ty8vVUJwYVF2?=
 =?utf-8?B?MnA1WTZBSUduREswNXR5TEVOZGd2SXhIK3pnZXFobEJPQThrT0VINDFRZU9S?=
 =?utf-8?B?OUlWSE1vR0JqYmwydmsxV0FVYzBPTUc2bGxscGw3ekNmU0ZDNkJvTnZSY3Bo?=
 =?utf-8?B?bnBmUG9kWVgvVUR6amVWYk9aNVhvQnA4SkZybTdHNnVrb2g0ajJkdHdGUm9U?=
 =?utf-8?B?aXcxZkdSb3RydHJ0UCsySGNsbVRYbkhlaXJOYU1iakhPQmJMNFd1cTgzSnU1?=
 =?utf-8?B?RUxZZmlzQkI2RXVIRUdIbG5RRzQ4Z3Y5b3gxWHVLZW5zeVdxZVpLb3oxbXVn?=
 =?utf-8?B?VXFVRGxxekNEb1FjN2crZUNleFNmT1d5NEFqT2xkeVRhUkNLbVVlL3E3dGY5?=
 =?utf-8?B?SS9pSVlnN0ROdGJTeW9UaDNTN3J4Q2tNa2Y0bGJFcUlOMUZES3Q1MkFXNU51?=
 =?utf-8?B?bldZdmxFZXZtTEcwRGRnaUtVdGx4Qmdlb0ttV3dkU3ZHbnZhN0ZYeXZPL2hz?=
 =?utf-8?B?Z1A1TzVLeWdqcEdxSXpENDd6V0dJUGRROC9MRXg1VXd6aUZZekZkV3l4c2hU?=
 =?utf-8?B?UklRbjE2dUEweWlqZElKWDk0MjNmOHFYNkpXOUI2dUFIdC8xdlM0Tk5QL0JK?=
 =?utf-8?B?N1hwWjlIRFV6L3RPUVhwRENtVmM5RFU5aCtDZHFRbnNGaWNXanpuaDd2RGV0?=
 =?utf-8?B?c1V6N1ZQeGlDbUxRU3pPdXduMHhEQ0lIc1JMYkxYOWM5MGlqSUZvUXBHVWRh?=
 =?utf-8?B?R0dUSlMvL3dlQ2xFL2lnOGJ3b3pGQ29QbURjdDdLaHBXaDdka1pMQTNJRGlN?=
 =?utf-8?B?YmNGNWptbjNRSnVYWmdUL3BqbEZGYlNVOGJwZkNIMjh1aHZGcUxLU0lHMyth?=
 =?utf-8?B?L0VieFZuWGtoQU1pVGY1TDZzTmEzdVVGV2FTY0RuSWdoT2dOZ0ZGRldUczhH?=
 =?utf-8?B?VFNpM25yK3FYOXA4V0JYeVNyZ2k3VWZWTWlJZy8rOEd4alhVUmU5VnAzZTgx?=
 =?utf-8?B?L1J6cDZ2eGlaTlMwVEhmWFA5b1BnVTU3YXBuZVZEenVlRURJYmhoM3pnK1d5?=
 =?utf-8?B?UkVsYkFqZ3EvUm9CY0szSE8yb1JQWlUrd1gyWnFMYmFQOEVoS3IrcVBDNU12?=
 =?utf-8?B?RU0wbEFPaWhEODZ1RDl2cGpYZkMrcURTY2NRQzA5a2FTZ1I2NlJNaFZSdEhm?=
 =?utf-8?Q?7/P4bCrVUsXJb+dgYmLa96A+F?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e85f05d1-b95e-4fdd-0c42-08dadf3b1b6f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 07:56:58.4079
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dHPNLbfigRvAOGGrHEv/Ap0savi/yJ2BRH0aCmlGWsDSx/QEbnQFbjCmML2+9C6cTzmpJXo0uV13uwxdJWxaNQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6999

On 15.12.2022 20:32, Ayan Kumar Halder wrote:
> As "io_size" and "uart->io_size" are both u64, so there will be no truncation.
> Thus, one can remove the ASSERT() and extra assignment.
> 
> In an earlier commit (7c1de0038895),
> "ns16550.io_size" was u32 and "io_size" was u64. Thus, the ASSERT() was needed
> to check if the values are the same.
> However, in a later commit (c9f8e0aee507),
> "ns16550.io_size" was changed to u64. Thus, the ASSERT() became redundant.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

With the title improved to indicate what component is actually being touched
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 08:39:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 08:39:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464201.722573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p66F8-0006uA-2g; Fri, 16 Dec 2022 08:38:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464201.722573; Fri, 16 Dec 2022 08:38:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p66F7-0006u3-W1; Fri, 16 Dec 2022 08:38:57 +0000
Received: by outflank-mailman (input) for mailman id 464201;
 Fri, 16 Dec 2022 08:38:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p66F6-0006tu-He
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 08:38:56 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p66F4-0005lt-IK; Fri, 16 Dec 2022 08:38:54 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p66F4-0005YR-Bf; Fri, 16 Dec 2022 08:38:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=2Rlbhk+6FKycd6UR3fDXebKYvseNfVn6dicf0TCloFw=; b=atf3QzgHrAWjzvON9NEgAyUsEB
	Uk0cPaIuAIg5k8zHlwGwOmLgWlZybtH+uyA0y7EBQD2RcMAsyuv9bZPyGS6yN7PlKCq20Fvs0GPUc
	n6RF/QyuLQzbZ0xy88BaBsaL3LC26xQaiO37eBhqBy6YkY4Amr/wrhDK8e10HApdeMzE=;
Message-ID: <7a7a7156-138d-a53c-fb65-a210e14bd8c1@xen.org>
Date: Fri, 16 Dec 2022 08:38:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: "Smith, Jackson" <rsmith@RiversideResearch.org>,
 "Brookes, Scott" <sbrookes@RiversideResearch.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "demi@invisiblethingslab.com" <demi@invisiblethingslab.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
 <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
 <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 16/12/2022 01:46, Stefano Stabellini wrote:
> On Thu, 15 Dec 2022, Julien Grall wrote:
>>>> On 13/12/2022 19:48, Smith, Jackson wrote:
>>> Yes, we are familiar with the "secret-free hypervisor" work. As you
>>> point out, both our work and the secret-free hypervisor remove the
>>> directmap region to mitigate the risk of leaking sensitive guest
>>> secrets. However, our work is slightly different because it additionally
>>> prevents attackers from tricking Xen into remapping a guest.
>>
>> I understand your goal, but I don't think this is achieved (see above). You
>> would need an entity to prevent write to TTBR0_EL2 in order to fully protect
>> it.
> 
> Without a way to stop Xen from reading/writing TTBR0_EL2, we cannot
> claim that the guest's secrets are 100% safe.
> 
> But the attacker would have to follow the sequence you outlines above to
> change Xen's pagetables and remap guest memory before accessing it. It
> is an additional obstacle for attackers that want to steal other guests'
> secrets. The size of the code that the attacker would need to inject in
> Xen would need to be bigger and more complex.

Right, that's why I wrote with a bit more work. However, the nuance you 
mention doesn't seem to be present in the cover letter:

"This creates what we call "Software Enclaves", ensuring that an 
adversary with arbitrary code execution in the hypervisor STILL cannot 
read/write guest memory."

So if the end goal if really to protect against *all* sort of arbitrary 
code, then I think we should have a rough idea how this will look like 
in Xen.

 From a brief look, it doesn't look like it would be possible to prevent 
modification to TTBR0_EL2 (even from EL3). We would need to investigate 
if there are other bits in the architecture to help us.

> 
> Every little helps :-)

I can see how making the life of the attacker more difficult is 
appealing. Yet, the goal needs to be clarified and the risk with the 
approach acknowledged (see above).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 08:49:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 08:49:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464209.722584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p66P9-0008QZ-3L; Fri, 16 Dec 2022 08:49:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464209.722584; Fri, 16 Dec 2022 08:49:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p66P8-0008QS-Vu; Fri, 16 Dec 2022 08:49:18 +0000
Received: by outflank-mailman (input) for mailman id 464209;
 Fri, 16 Dec 2022 08:49:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PP9E=4O=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p66P7-0008QM-6u
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 08:49:17 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2043.outbound.protection.outlook.com [40.107.220.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83ca0edb-7d1e-11ed-8fd3-01056ac49cbb;
 Fri, 16 Dec 2022 09:49:14 +0100 (CET)
Received: from BN9PR03CA0120.namprd03.prod.outlook.com (2603:10b6:408:fd::35)
 by BL1PR12MB5063.namprd12.prod.outlook.com (2603:10b6:208:31a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Fri, 16 Dec
 2022 08:49:11 +0000
Received: from BN8NAM11FT044.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:fd:cafe::3a) by BN9PR03CA0120.outlook.office365.com
 (2603:10b6:408:fd::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Fri, 16 Dec 2022 08:49:11 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT044.mail.protection.outlook.com (10.13.177.219) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.15 via Frontend Transport; Fri, 16 Dec 2022 08:49:10 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 02:49:10 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 00:49:10 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 16 Dec 2022 02:49:08 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83ca0edb-7d1e-11ed-8fd3-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iVloj9ve4VOF3H/eXz6ApSibnf/PKanTY+VQ+PgaDIgV690uv2/orjARehov1YpUpI1IISjSJCcMlHwnxL644BoZKTZazRqGqeHEgOsrmtYhr/AMe9CHOEDjjSCXSMv4oIwlLAjKRlkMplMUrtXlsMI/2xo8pBFoS950doUXoPCyS/nsUCP2sLSBt/TiHAAifnxgYA3ICCgFOIiIiGMEKxCN+5ova1Bc6Vgw1AGtpCDKAdVwxTq9ihiUoPlntR7+PgmEPylkc22EmfuNB29rv5Lbb6Oq4pwxjFONzzSa5DP4wiSSJXKN/DY3sXCSBKaNHdc/lugh68gOWz3cXifMrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IfpWM+bPEAeOjFmUQEZfHK53UeNgZ64B7Cs+Fv8PyBM=;
 b=Ff9cDVQM14P1r4MFhSkNhCvyMrTXPrPCYUmisuARGjSzOq0gswM43F5qaJuCf8NsEZY6ykfZxrtDOxI+uMmXNcV6rDHE4Qml2l4jUzmJg+I9FmnsSZajP9+m41OIQ9OVhtESGmPrvZRQylQCvKI5UXorpsKBQ4asrL2nLsnTFm0LQtV4fN5/Xo29Yo8edCxM3CZjZJKl2yU3AWvz9XxVFai2KtpLkgdih7eOzog4NSs06iweVYaEv5ybIhCwuliSHv7OMwutJAck6F3XVB24Z4RV8OjhW8H7B+cUE1ii08FGStBpCb756UHKd43LAMPDkhvnav2mMd8JB0Lc0tylcw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IfpWM+bPEAeOjFmUQEZfHK53UeNgZ64B7Cs+Fv8PyBM=;
 b=HEHImrT1ugKf/YkrRHVNzNS86136kVOaGKmAB5BT8WFFA73XDbdopJ0mo63RZCOBqzfkw1b8I8aNxfdR5+IDwscuoxunm8Y4h3oZusBsgkUmZVus69Ngp3ZbEdOf/x0Hm+BKE2oxpr1hoyuA+x6lldYPcWwhgay16ClyIjLBSxA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <ac21d0f7-0441-8da8-6370-b9fd9ae159b7@amd.com>
Date: Fri, 16 Dec 2022 09:49:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH] xen/arm: Allow to set grant table related limits for
 dom0less domUs
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
References: <20221214130833.543-1-michal.orzel@amd.com>
 <alpine.DEB.2.22.394.2212151335020.315094@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2212151335020.315094@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT044:EE_|BL1PR12MB5063:EE_
X-MS-Office365-Filtering-Correlation-Id: b4167145-f06c-4ea5-cdb3-08dadf4266b3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mrLfMNQF9/Gz991P86QcMqG9V8+BBqDw2oHpl3VSyaz90QHAh/XYb16K2RXBf3YDbfiVOyChIthy1mflpmigQbEhxp4S5Km/4PYaJVqpSpZBysbDu8eA0lclJxbVf9O4AcYim3j6cSKCGdl283GPbIndA5Mhmgf8czLAd5C26aYwOSbrNPFaWxJuy6SIza6s+GuXH0NUTud2gYAq39dLfgxx94hfXqhkSAbLMGTC2W7TxhlbpIqrx8z0dAK4kuIReEbbhxYANPeBEFhwvMHctIpeIhAJv/D6j7y6kbEiaipB++ca7UqFpmD4/Lk+xwfg3qGEeiTKnB4QH2oIWB48oieDEgUWfGIHXjxaVLgPqDBp/vCFVki/leV1y9jEOpvLoCqWoJYtWRsmCumM0eg8y+69xD8Zdz3kJSijqbHfHmAVzoZWQF40IXPTB4+errUq1zPL5Kg7zc5oxaoBYcfOzNt2HAFpe5sdyAQh534qeWQ0niDWhfIiB4HR7OrjS6RP6wCen02UCEz7BaSJvCBu2wsdZ22kkCS398uFr4XXD/ljx3uHOx8F+z1XAOuwjlra2hj0yAEWtv/8xfu74KPT15j0m8HQqGTh7xTu82ZdtFmNVuWs59SzKC786KrM4CboiF6Exr+lKMagEVPhq1sb8lLCzQHUs84yPvoDKIIsKDnX55eTCw0vtGxJEtORIuyvrXZbVCwFlP1ThaKnLBCoHhcn0DWWyKDZ1e7XiL/SOCbWYXxTj94hf35xHRUdZbw/fkxhDwRQD0EtzWV2iSK2Lmbj2GV+NzIqUSI+slMViYU=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(396003)(39860400002)(376002)(136003)(451199015)(40470700004)(46966006)(36840700001)(5660300002)(44832011)(47076005)(31696002)(40480700001)(41300700001)(336012)(83380400001)(8936002)(426003)(86362001)(82740400003)(82310400005)(40460700003)(356005)(81166007)(2906002)(36860700001)(36756003)(26005)(53546011)(186003)(478600001)(31686004)(8676002)(4326008)(54906003)(70206006)(70586007)(316002)(16576012)(2616005)(6916009)(32563001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 08:49:10.9929
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b4167145-f06c-4ea5-cdb3-08dadf4266b3
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT044.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5063

Hi Stefano,

On 15/12/2022 22:38, Stefano Stabellini wrote:
> 
> 
> On Wed, 14 Dec 2022, Michal Orzel wrote:
>> At the moment, for dom0less domUs, we do not have a way to specify
>> per domain grant table related limits (unlike when using xl), namely
>> max version, max number of grant frames, max number of maptrack frames.
>> This means that such domains always use the values specified by the Xen
>> command line parameters or their default values if unspecified.
>>
>> In order to have more control over dom0less domUs, introduce the
>> following device-tree properties that can be set under domUs nodes:
>>  - max_grant_version to set the maximum grant table version the domain
>>    is allowed to use,
>>  - max_grant_frames to set the maximum number of grant frames the domain
>>    is allowed to have,
>>  - max_maptrack_frames to set the maximum number of grant maptrack frames
>>    the domain is allowed to have.
>>
>> Update documentation accordingly.
>>
>> Note that the sanity checks regarding the passed values are already
>> there in grant_table_init() resulting in panic in case of errors,
>> therefore no need to repeat them in create_domUs().
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>>  docs/misc/arm/device-tree/booting.txt | 21 +++++++++++++++++++++
>>  xen/arch/arm/domain_build.c           | 11 ++++++++++-
>>  2 files changed, 31 insertions(+), 1 deletion(-)
>>
>> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
>> index 87eaa3e25491..3879340b5e0a 100644
>> --- a/docs/misc/arm/device-tree/booting.txt
>> +++ b/docs/misc/arm/device-tree/booting.txt
>> @@ -223,6 +223,27 @@ with the following properties:
>>      the default size of domain P2M pool, i.e. 1MB per guest vCPU plus 4KB
>>      per MB of guest RAM plus 512KB for guest extended regions.
>>
>> +- max_grant_version
>> +
>> +    Optional. A 32-bit integer specifying the maximum grant table version
>> +    the domain is allowed to use (valid values are 1 or 2). If this property
>> +    is missing, the value specified by Xen command line parameter gnttab=max-ver
>> +    (or its default value if unspecified, i.e. 1) is used.
>> +
>> +- max_grant_frames
>> +
>> +    Optional. A 32-bit integer specifying the maximum number of grant frames
>> +    the domain is allowed to have. If this property is missing, the value
>> +    specified by Xen command line parameter gnttab_max_frames (or its default
>> +    value if unspecified, i.e. 64) is used.
>> +
>> +- max_maptrack_frames
>> +
>> +    Optional. A 32-bit integer specifying the maximum number of grant maptrack
>> +    frames the domain is allowed to have. If this property is missing, the
>> +    value specified by Xen command line parameter gnttab_max_maptrack_frames
>> +    (or its default value if unspecified, i.e. 1024) is used.
>> +
>>  Under the "xen,domain" compatible node, one or more sub-nodes are present
>>  for the DomU kernel and ramdisk.
>>
>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>> index bef5e905a73c..29b2f3e1faa2 100644
>> --- a/xen/arch/arm/domain_build.c
>> +++ b/xen/arch/arm/domain_build.c
>> @@ -3871,7 +3871,7 @@ void __init create_domUs(void)
>>              .max_maptrack_frames = -1,
>>              .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
>>          };
>> -        unsigned int flags = 0U;
>> +        unsigned int flags = 0U, val;
> 
> val should be uint32_t
ok

> 
> 
>>          if ( !dt_device_is_compatible(node, "xen,domain") )
>>              continue;
>> @@ -3940,6 +3940,15 @@ void __init create_domUs(void)
>>              d_cfg.cpupool_id = pool_id;
>>          }
>>
>> +        if ( dt_property_read_u32(node, "max_grant_version", &val) )
>> +            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
>> +
>> +        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
>> +            d_cfg.max_grant_frames = val;
>> +
>> +        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
>> +            d_cfg.max_maptrack_frames = val;
> 
> We need to be careful here because max_grant_frames and
> max_maptrack_frames are defined as int32_t (signed):
> 
>     int32_t max_grant_frames;
>     int32_t max_maptrack_frames;
> 
> I think we should have a check to make sure we don't cause an overflow.
> For instance:
> 
> if ( val >= INT32_MAX ) {
>     error;
> }
> d_cfg.max_grant_frames = val;

Is following ok for you?

if ( dt_property_read_u32(node, "max_grant_frames", &val) )
{
    if ( val > INT32_MAX )
        panic("max_grant_frames (%"PRIu32") overflow\n", val);
    d_cfg.max_grant_frames = val;
}

if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
{
    if ( val > INT32_MAX )
        panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
    d_cfg.max_maptrack_frames = val;
}

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 09:30:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 09:30:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464258.722595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6736-0005VN-PS; Fri, 16 Dec 2022 09:30:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464258.722595; Fri, 16 Dec 2022 09:30:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6736-0005VG-MS; Fri, 16 Dec 2022 09:30:36 +0000
Received: by outflank-mailman (input) for mailman id 464258;
 Fri, 16 Dec 2022 09:30:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PP9E=4O=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p6734-0005VA-Hv
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 09:30:34 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 490f5f17-7d24-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 10:30:32 +0100 (CET)
Received: from DS7P222CA0007.NAMP222.PROD.OUTLOOK.COM (2603:10b6:8:2e::24) by
 DS7PR12MB5885.namprd12.prod.outlook.com (2603:10b6:8:78::22) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5880.19; Fri, 16 Dec 2022 09:30:29 +0000
Received: from DM6NAM11FT074.eop-nam11.prod.protection.outlook.com
 (2603:10b6:8:2e:cafe::ca) by DS7P222CA0007.outlook.office365.com
 (2603:10b6:8:2e::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.15 via Frontend
 Transport; Fri, 16 Dec 2022 09:30:29 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT074.mail.protection.outlook.com (10.13.173.203) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.15 via Frontend Transport; Fri, 16 Dec 2022 09:30:29 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 03:30:27 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 01:30:16 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 16 Dec 2022 03:30:15 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 490f5f17-7d24-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QY3tboN7fz8DV5qt3OWtHQH6XTQ1X5YdMcjfdyaGdd7rUhycD+1Pm1YIqfQ25P7HxNFI9bmdHMWsQQT/Fpa7WPDrlEPBtFYS3WFKq049sIfH/RoAud9gqtY7FYrNKru0kN1bZbJrGk8qVAHyDPzNuahV5p10K7AjQHjlApYFVnribKK4OSVIbjaM/CZ56GXzG6zSPPlU6Z3pJtqrokK7wS/2UUXvvp22sq1lgrEYazS7GZGp/JXbu9/222748B7vZefGv9p/d1Yhq727wjv9Sz+fK3Q2QnvWuoHsqlj/+2WSxbfAMNTlhd2fszXGi9zcqp/C9t2DDHOfaYYABcaH4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=20TEK8Yja4dovbT41oQYdC3wJuGtpe9t9FoV9SK5oeA=;
 b=KDAWj800XPm3hmYysfZMXiFLCcOEVO2CSjLuGq2AaY637bPsaDZHu7k9d3jx8eA9y4uv9p0D0/TN+ylkuQgPCUU1xtbxqRbL5OSOENi2Sk9fvgC45j6mrUSvdcPYGiExA0GBGjYAfS1DxpFo1rP9r9FkxL5pExeLs97V2C8Jl0efih2FxaClzHyZDAVJYQF9PAAl2WzFfVQswhKmud/kQDnsjVLvs93yJopaT8/fFe/nH0zjSTUQqgKpdvwqiquUYu4LFCQDpcmaczM8ECX6/HtRQpP8oObXleYmrNpreKYOJB/kJxJh5CytK0kPh0CrAjYEWkvkRVzF0jXXpAp+4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=20TEK8Yja4dovbT41oQYdC3wJuGtpe9t9FoV9SK5oeA=;
 b=wdNJZf9eFEo+UAo0GwBpzKiKsgBqZiGs8LQdIdRrdBDsSgKtnh50Ogbhzl2ieXq64p9GtAfoWlfrvux9IB6S06flw66JEkCtlof1+y0GjmQDSrsu4DajSdd10gZy4cXO63q8C/ZduW3jEQnhVNssomuwrYctrbYxZmT+1SmGuy8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <235eaf7f-5b59-e8de-8657-ce9d202365c1@amd.com>
Date: Fri, 16 Dec 2022 10:30:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [XTF-ARM] tests: Hypercall xen_version testing
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
CC: <sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
References: <20221215152511.10194-1-michal.orzel@amd.com>
 <58a87888-e839-8a5d-0e7f-7520e5e2c78a@suse.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <58a87888-e839-8a5d-0e7f-7520e5e2c78a@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT074:EE_|DS7PR12MB5885:EE_
X-MS-Office365-Filtering-Correlation-Id: db64824f-5df8-44c2-13cf-08dadf482c38
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9f7YnSzxiUMUXnK2XL0/uH4BCyJAAgKUMMlVt5EIUo/poiFepOjcWdM2+w4+Zeyb0kyyRTIO3V23gqfwF2GpQAZ0j1t9xY38VQFMAhA+2CbW0EfZMSWT/9MmShoz1a16eOV1TMO4wQ/kCIVV7TXWD3aSqGw5k8uSuYmzbpff9zi86QkIxt6uwvyFvGcEO33g4hu6iV5g5mFdcIFg7GfNkER/WBHKfpN8KUeb/28H4VbfL/DYrMGEmI1HLidumJze8DXi0QCbzZNVOn24VwBBh2d+MqvQT9cs3A6RV60T1IdLQp189HCzLdZiJOPfRYbtbIHj9+MNikjXjUi+oJ8E0WFPV5vgJiaWFdavzGoEn05uWXZ0ZUIhzW7MJDcl2N4jDHDv9BCuJmS8cTJa/7WJo231ZcmpbikaI+yIkB/g+PMnzR1h+qIkNUgOmxc8aoWsYWOAtamaECQtBnyjgNCWhzLLrReeOB7Omq1qJIN8OZPvRZkQ+Gcq8Gonz9pZSLo4NkzREt13iVC0YZUYawoVmbFxY74w9ff2wInjYbiNmjjPr5DF59Oi9RI8cp7rPu/4LcsW4r0t6WOno77WJgS2BC4JzGrChrL89ZUfYMKcxO+hnInUKZ7VVJyq1kJZjkKBTWnjFyza64WcuCh0JWe/SoeTgu7CjuUmN2Yin68fVbZxxG3Du9HoS4McL8mhXGw4oxxFuZtRYyosG1uePB/96PnlWE4QabdZ+Cu0jAnGXTyZnEqWz+YaMXcf1l0ffmf2jUHFq73itVoCC3Cnco8VZA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(136003)(396003)(346002)(451199015)(46966006)(36840700001)(40470700004)(8676002)(5660300002)(8936002)(70586007)(36756003)(4326008)(53546011)(41300700001)(186003)(70206006)(26005)(478600001)(16576012)(82310400005)(47076005)(316002)(83380400001)(54906003)(6916009)(2616005)(426003)(40460700003)(82740400003)(336012)(31696002)(86362001)(31686004)(40480700001)(356005)(81166007)(44832011)(36860700001)(2906002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 09:30:29.8077
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: db64824f-5df8-44c2-13cf-08dadf482c38
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT074.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5885

Hi Jan,

Thanks for the feedback.

On 15/12/2022 16:48, Jan Beulich wrote:
> 
> 
> On 15.12.2022 16:25, Michal Orzel wrote:
>> Add a new test hyp-xen-version to perform functional testing of
>> xen_version hypercall. Check the following commands (more can be added
>> later on):
>>  - XENVER_version,
>>  - XENVER_extraversion,
>>  - XENVER_compile_info,
>>  - XENVER_changeset
>>  - XENVER_get_features,
>>  - passing invalid command.
>>
>> For now, enable this test only for arm64.
> 
> What's wrong with exposing this uniformly?
There is nothing wrong. I can remove the ARCH restriction.

> 
>> --- /dev/null
>> +++ b/tests/hyp-xen-version/main.c
>> @@ -0,0 +1,105 @@
>> +/**
>> + * @file tests/hyp-xen-version/main.c
>> + * @ref test-hyp-xen-version
>> + *
>> + * @page test-hyp-xen-version Hypercall xen_version
>> + *
>> + * Functional testing of xen_version hypercall.
>> + *
>> + * @see tests/hyp-xen-version/main.c
>> + */
>> +#include <xtf.h>
>> +
>> +const char test_title[] = "Hypercall xen_version testing";
>> +
>> +#define INVALID_CMD -1
>> +
>> +void test_main(void)
>> +{
>> +    int ret;
>> +
>> +    printk("Checking XENVER_version:\n");
>> +    {
>> +        /*
>> +        * Version is returned directly in format: ((major << 16) | minor),
>> +        * so no need to check the return value for an error.
>> +        */
>> +        ret = hypercall_xen_version(XENVER_version, NULL);
>> +        printk(" version: %u.%u\n", ret >> 16, ret & 0xFFFF);
>> +    }
>> +
>> +    printk("Checking XENVER_extraversion:\n");
>> +    {
>> +        xen_extraversion_t xen_ev;
>> +        memset(&xen_ev, 0, sizeof(xen_ev));
>> +
>> +        ret = hypercall_xen_version(XENVER_extraversion, xen_ev);
>> +        if ( ret < 0 )
>> +            return xtf_error("Error %d\n", ret);
> 
> This, ...
> 
>> +        printk(" extraversion: %s\n", xen_ev);
>> +    }
>> +
>> +    printk("Checking XENVER_compile_info:\n");
>> +    {
>> +        xen_compile_info_t xen_ci;
>> +        memset(&xen_ci, 0, sizeof(xen_ci));
>> +
>> +        ret = hypercall_xen_version(XENVER_compile_info, &xen_ci);
>> +        if ( ret < 0 )
>> +            return xtf_error("Error %d\n", ret);
> 
> ... this, and ...
> 
>> +        printk(" compiler:       %s\n", xen_ci.compiler);
>> +        printk(" compile_by:     %s\n", xen_ci.compile_by);
>> +        printk(" compile_domain: %s\n", xen_ci.compile_domain);
>> +        printk(" compile_date:   %s\n", xen_ci.compile_date);
>> +    }
>> +
>> +    printk("Checking XENVER_changeset:\n");
>> +    {
>> +        xen_changeset_info_t xen_cs;
>> +        memset(&xen_cs, 0, sizeof(xen_cs));
>> +
>> +        ret = hypercall_xen_version(XENVER_changeset, &xen_cs);
>> +        if ( ret < 0 )
>> +            return xtf_error("Error %d\n", ret);
> 
> ... this can fail because of XSM denying access. (Others can of course
> also fail for this reason, but here possible failure is kind of
> "intended" - see the dummy xsm_xen_version() handling.) Therefore I
> would like to suggest that you also special case getting back -EPERM,
> resulting in e.g. just a warning instead of an error.
When writing a test I did make sure to check xsm_xen_version *for the operations that I covered*
and my understanding is as follows:
For XENVER_version and XENVER_get_features, it returns 0 so deny is false.
For other commands I test, xsm_default_action is called with XSM_HOOK which returns 0 as well.
So AFAICT nothing can result in setting deny to true.
But even in case of setting deny to true, it would just result in copying "<denied>" into
the respective buffer. It would not alter the hypercall return value.

The only command causing the return value to be -EPERM in case deny is set to true is XENVER_build_id
which I did not covered in my test.

> 
> Jan

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 09:31:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 09:31:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464265.722606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p674N-00063U-3h; Fri, 16 Dec 2022 09:31:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464265.722606; Fri, 16 Dec 2022 09:31:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p674M-00063N-W8; Fri, 16 Dec 2022 09:31:54 +0000
Received: by outflank-mailman (input) for mailman id 464265;
 Fri, 16 Dec 2022 09:31:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PP9E=4O=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p674M-00062y-J2
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 09:31:54 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2050.outbound.protection.outlook.com [40.107.94.50])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7887f28e-7d24-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 10:31:53 +0100 (CET)
Received: from DS7PR03CA0185.namprd03.prod.outlook.com (2603:10b6:5:3b6::10)
 by IA1PR12MB8405.namprd12.prod.outlook.com (2603:10b6:208:3d8::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.15; Fri, 16 Dec
 2022 09:31:49 +0000
Received: from DS1PEPF0000E64E.namprd02.prod.outlook.com
 (2603:10b6:5:3b6:cafe::e7) by DS7PR03CA0185.outlook.office365.com
 (2603:10b6:5:3b6::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.15 via Frontend
 Transport; Fri, 16 Dec 2022 09:31:48 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000E64E.mail.protection.outlook.com (10.167.18.4) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.8 via Frontend Transport; Fri, 16 Dec 2022 09:31:48 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 03:31:48 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 01:31:48 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 16 Dec 2022 03:31:47 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7887f28e-7d24-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OWuQXnZGXHx/Y6vv0f4CBmr87rKYNyZmhJhjTUpK8C6DyDNE8umBkzux96mYtsdzjX0ZwSxohmwSY1jxTeTEoXMI9bHUJfQpW3hCneV02dq+58u7eJcR6NT5l8lNS4pzbdnoTQjRTOpl11qKhBrECX1iRbAacW4dia8GYi4nw2Lf6suO3D2SnRhICJwyXo6J6UbBpTKvXW25+KxPyy9teC3pVcOi+kPQQfxVXHMPaAqw27k9Vw66xZ1C1oggA7lEaa1Cup6RRB56jAZSHVCuqdQJMiWudurIBtJsstdY6IQ1fsvCuw6W5JbJEoIFvjlZ3W02IfkJqFx7OiJ4VApbTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fidLWj+lVO2NuRNu/kgRIIV8xUQWIjGeR3sqB4FgImY=;
 b=oKIi7qqVfHW5yDV8hc8pMpzNzpKKJ6AUkuSt+FJ26Qw+38TwX/dYR505IhXGD/D0QVfsiUR5X3IRTx2tdDbLtfbC3852nks2m0vtlOFjvxDpmriXI3N36YoTkK7CPNUdz8OSjdxBA754tLRr9JD5S4fnL088nSNO+RP9InS/T1joS2q2wqaFUKldilDGk5Pp52Rj48l6nhY2dVU4AgUfn64ZVi5pZl31tGAMXpK8fA3IZXPiBcv+zoW2P3x7nPBZVh+rMTREJ5zOXdAzrlmTv9B1Rm06/Nz4XDLk54kjm2+DmOvVFO7Xago2wss0mjwyBxgUHqYNvjiRUAkhxvhSIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fidLWj+lVO2NuRNu/kgRIIV8xUQWIjGeR3sqB4FgImY=;
 b=m9wMmcGn8z/MM3H3Iprp5OGZuriCpqcNmwoBW473crgps1Xveog0vog4YWal9OzzMMlvLFiwNadondMzmXkWmFZi462Ha0+XzgnYu+GbRk4UPH+pOWsLFvvAtcUNCRGLLh/h0XE3Zur8HJ2ST0gxpPgelZx9nJs1yNkfWv4Baxo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <d5449314-4289-46bd-8d98-f54063fbf5a3@amd.com>
Date: Fri, 16 Dec 2022 10:31:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 1/2] automation: Add support for using XTF for arm64
 testing
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.org>, Doug Goldstein <cardoe@cardoe.com>
References: <20221215152538.10266-1-michal.orzel@amd.com>
 <20221215152538.10266-2-michal.orzel@amd.com>
 <alpine.DEB.2.22.394.2212151303150.315094@ubuntu-linux-20-04-desktop>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2212151303150.315094@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E64E:EE_|IA1PR12MB8405:EE_
X-MS-Office365-Filtering-Correlation-Id: b2304492-37f3-43d3-2f7f-08dadf485b55
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2VANDQZoYvu7ecA8idEsr23fF+mjxVjH1locx8Sj1vN43TOjhQAbQaQv8h6+5cUnqz2p8JGGWz+hl95CTlI6mjMfjDSsQUmqRBU5OEDpZHsiJtFm9kHuaoMBABUx96H8hwy/cDhhOyBfJF94+ThX6avYHawM0pXLHU2eJOk4CWtFKRU9ubns1ptFslKdcvPR9RMJAsSiDmofi3T+xFIKuBqHiWx/3UgoP+iuEe9wKpKys8rGHo+SvC531Rw5FmxJQQfDctUgKo0bNySVOlk5T7aTFKSk76OSzh1kEIcYl2ClMkp6jc9MSAxBUJAZb7VIxf0rpjLKUSUCRIpSY9O/3wPoxGTAispWYJAehOeY6fiNy2sN7W0j6/aJlnyCbwCUFmz8OMCAb5Eih3nxA6yh1rRpuICr79OcncQVc0F4Zbk3QQFZHh8s9HQBDD/XmWq+k5OOa2Wc9hBqNje5TvkRJnOkxdGjT4y2eKnZcdtVD8DTyHTtd+XFbPuSoc12EVMcgJ48hKzm19elUBMdiyXtXRXG1k2SrP+c12bvx3uW2X5vbkgcbanSDgG1N82grrd5jQqPV68Bmo3Jt56xDrZhV3igFGmZl7KPn6nP09jOtrvhHodd2bV3RMd9gqqS7hJ70vEz9GEF6KOvNKSLxsD0NS5U0ZFlweFbkCaKze2T8cScf+hIM28oxE91WGE93zSXKNe9ovurIzxlLmdNczXDPuuk8wLMIsD1XqLN0UpS09+9KYj/aB9fYp8fRPVraNjtatILdtKI0ZxBCnCNDGd9y1DOU76Zkaw+7hlxSATITibLb3rJCQ6GW/IejAGzqoTJbGtT3wNCQtAiVCJfs5inggU0+ObPGXvlODiJFq46cEA=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(39860400002)(396003)(136003)(376002)(451199015)(36840700001)(40470700004)(46966006)(82740400003)(31686004)(36860700001)(70206006)(41300700001)(70586007)(8676002)(82310400005)(5660300002)(4326008)(356005)(44832011)(81166007)(478600001)(40460700003)(83380400001)(966005)(6916009)(316002)(36756003)(54906003)(47076005)(426003)(2906002)(16576012)(53546011)(186003)(26005)(8936002)(86362001)(31696002)(40480700001)(2616005)(45080400002)(336012)(21314003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 09:31:48.8514
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b2304492-37f3-43d3-2f7f-08dadf485b55
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DS1PEPF0000E64E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8405

Hi Stefano,

On 15/12/2022 22:05, Stefano Stabellini wrote:
> 
> 
> On Thu, 15 Dec 2022, Michal Orzel wrote:
>> Introduce support for using XTF on Arm to perform low-level testing.
>> For the purpose of the CI testing, let's use the fork [1] from upstream
>> XTF with implemented support for arm64 (the upstream XTF only supports
>> x86).
>>
>> Add a new script under automation/scripts to be used by the CI XTF test
>> jobs to perform the following tasks:
>>  - Compiling XTF,
>>  - Creating dom0 rootfs,
>>  - Generating u-boot script using ImageBuilder,
>>  - Running Xen with Linux as dom0 and XTF as a dom0less domU using Qemu,
>>  - Checking test result.
>>
>> The script takes the name of the XTF test to run as a first parameter.
>>
>> [1] https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.com%2Fxen-project%2Ffusa%2Fxtf.git&data=05%7C01%7Cmichal.orzel%40amd.com%7C92d389df450446d2916608dadee01c9d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638067351382726466%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=WSQJe1s9%2B67c%2FxvYu3OP9Hr1ZZXWSpjXNnCbIwbw2OU%3D&reserved=0 (branch xtf-arm)
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>>  automation/scripts/qemu-xtf-dom0less-arm64.sh | 97 +++++++++++++++++++
>>  1 file changed, 97 insertions(+)
>>  create mode 100755 automation/scripts/qemu-xtf-dom0less-arm64.sh
>>
>> diff --git a/automation/scripts/qemu-xtf-dom0less-arm64.sh b/automation/scripts/qemu-xtf-dom0less-arm64.sh
>> new file mode 100755
>> index 000000000000..321d1abc543b
>> --- /dev/null
>> +++ b/automation/scripts/qemu-xtf-dom0less-arm64.sh
>> @@ -0,0 +1,97 @@
>> +#!/bin/bash
>> +
>> +set -ex
>> +
>> +# Name of the XTF test
>> +xtf_test=$1
>> +
>> +# Message returned by XTF in case of success
>> +passed="Test result: SUCCESS"
>> +
>> +# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
>> +curl -fsSLO https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fqemu%2Fqemu%2Fraw%2Fv5.2.0%2Fpc-bios%2Fefi-virtio.rom&data=05%7C01%7Cmichal.orzel%40amd.com%7C92d389df450446d2916608dadee01c9d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638067351382726466%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=f9gY1ubTk0NssPcr38A5BUuFzdrIAm8rJXsuMNuGXYs%3D&reserved=0
>> +./binaries/qemu-system-aarch64 \
>> +   -machine virtualization=true \
>> +   -cpu cortex-a57 -machine type=virt \
>> +   -m 2048 -smp 2 -display none \
>> +   -machine dumpdtb=binaries/virt-gicv2.dtb
>> +
>> +# XXX disable pl061 to avoid Linux crash
>> +fdtput binaries/virt-gicv2.dtb -p -t s /pl061@9030000 status disabled
>> +
>> +# XTF
>> +# Build a single XTF test passed as a first parameter to the script.
>> +# Build XTF with GICv2 support to match Qemu configuration and with SBSA UART
>> +# support, so that the test will use an emulated UART for printing messages.
>> +# This will allow us to run the test on both debug and non-debug Xen builds.
>> +rm -rf xtf
>> +git clone https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.com%2Fxen-project%2Ffusa%2Fxtf.git&data=05%7C01%7Cmichal.orzel%40amd.com%7C92d389df450446d2916608dadee01c9d%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C638067351382726466%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=WSQJe1s9%2B67c%2FxvYu3OP9Hr1ZZXWSpjXNnCbIwbw2OU%3D&reserved=0 -b xtf-arm
>> +make -C xtf TESTS=tests/${xtf_test} CONFIG_SBSA_UART=y CONFIG_GICV2=y -j$(nproc)
>> +cp xtf/tests/${xtf_test}/test-mmu64le-${xtf_test} binaries/xtf-test
>> +
>> +# DOM0 rootfs
> 
> Given that we don't actually need dom0 for anything, maybe we could only
> run xtf as the only domU guest without dom0 (pure dom0less
> configuration)?
This is what I thought at the beginning. It definitely makes sense because at the moment
we do not test pure dom0less configuration. I will do this in v2.

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 09:33:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 09:33:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464273.722617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6766-0006fA-EJ; Fri, 16 Dec 2022 09:33:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464273.722617; Fri, 16 Dec 2022 09:33:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6766-0006f3-BC; Fri, 16 Dec 2022 09:33:42 +0000
Received: by outflank-mailman (input) for mailman id 464273;
 Fri, 16 Dec 2022 09:33:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PP9E=4O=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p6765-0006ev-Sv
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 09:33:41 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2048.outbound.protection.outlook.com [40.107.95.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8febd58-7d24-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 10:33:40 +0100 (CET)
Received: from BN6PR17CA0036.namprd17.prod.outlook.com (2603:10b6:405:75::25)
 by PH7PR12MB7234.namprd12.prod.outlook.com (2603:10b6:510:205::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Fri, 16 Dec
 2022 09:33:35 +0000
Received: from BN8NAM11FT019.eop-nam11.prod.protection.outlook.com
 (2603:10b6:405:75:cafe::45) by BN6PR17CA0036.outlook.office365.com
 (2603:10b6:405:75::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.15 via Frontend
 Transport; Fri, 16 Dec 2022 09:33:35 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT019.mail.protection.outlook.com (10.13.176.158) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.15 via Frontend Transport; Fri, 16 Dec 2022 09:33:34 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 03:33:33 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 03:33:33 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 16 Dec 2022 03:33:32 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8febd58-7d24-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Fs1uqjQDbUzV7eCY8NOyA0OslDMSlkizf+z4WoJh6FxxITe54wQ6YbZOmiKMkoEvmG7A+9uFoDZEFZ9TZRs73VvNeR7m113v0EBrHJPzBattUcV9r9NkaSCvKLHaPqrh+Vtm3dVRdr7cFEEdN1954p2Qm8NkSN1Y5qYavNVro6dkEAHJyJShVuiQyoMkDqdq/vbfyd/f28jhA0OoYF3j0aLNBGT73bhAPtb3LBUbsbx8G8bD07lfmtDaC1MLT99EsA+goP5VsEAatlq9zItquhaiOljgWycTWapD4D//XsX5Wv/goqK1DrPuFvfcbBuR/efWx9ReNogPih2r8SLFdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XTnP5pOG15RUSzIGyG9vd1SLE1DqHhEhST2uhA4/t/A=;
 b=JX+ghG8G9guCmmFa/7XsZVK01ZLp659kcoxppzyw6RwTfSqumBkExMK5ZGYH6/IgYVVKNY7sS6VTmuc0lSJOIpROBkOIj04Yft431/ufdUsWKgMdz+q3QUeZm3/b9bW40JzeODyt2cxd+pG0mla2hNH/qKKST5DbVqt/n5TA1/LkjdDRu+m/TfFXUjxj8x87iSrv5t/9LDiwR1JkMhUD1A6bMgyPg2v56u9J9J5jFCgNVBUrkAhs8JmLcHC5aJdwbcE+Km+qeTNsvOMuHw/MKYkWT975fE8IYdGLLuIqGxyWkZKeldkYcKgwTBFu2rgw1YEqWlZQunhdV/d75nBOWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=temperror (sender ip
 is 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com;
 dmarc=temperror action=none header.from=amd.com; dkim=none (message not
 signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XTnP5pOG15RUSzIGyG9vd1SLE1DqHhEhST2uhA4/t/A=;
 b=zCFyfsJxbxYQ+H5/qoBEbCZzuAjakWC+53W5voMrNrA2VJ//f8g8LrdDGtsHowrdM69Z7aOq/PgN9hX62GpZO8n9xrswTMnJkcFDTLnVQwOKuIwdzMRHVmFjLAmlgAYVyYQR0JTo9A5Jnmd4c2X/ZKevYPe789RV/SDIWcfIoJs=
X-MS-Exchange-Authentication-Results: spf=temperror (sender IP is
 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=temperror action=none header.from=amd.com;
Received-SPF: TempError (protection.outlook.com: error in processing during
 lookup of amd.com: DNS Timeout)
Message-ID: <73d3dd85-2801-c0a4-7314-84738542eeeb@amd.com>
Date: Fri, 16 Dec 2022 10:33:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 2/2] automation: Add test jobs to run XTF hypercall
 xen_version test
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.org>, Doug Goldstein <cardoe@cardoe.com>
References: <20221215152538.10266-1-michal.orzel@amd.com>
 <20221215152538.10266-3-michal.orzel@amd.com>
 <alpine.DEB.2.22.394.2212151307390.315094@ubuntu-linux-20-04-desktop>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2212151307390.315094@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT019:EE_|PH7PR12MB7234:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b9e3a43-bdb4-4940-3df6-08dadf4899ff
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	t3zto0JDBToQ3Wh/+ii7nGG6RQ58eQWhyy0cwXzRb45dY8CcmFQGeFE7EOcNo+zIz6o/P9At5jRE9k4t/uyF1IBm/ebbyqpICI4QHpYJcRisW4F6r0+ttte/V4dMZhRlFtsTgwxv1enzNoLf6gUxq9f7z/bcitCmFSodsDfHS5cXtVGn6KUHTL59PO1a1slG8xNsMq3yY6GW4sWx+CHLhppU0GIJTyNA18KFMjTCS6QX+Kr5AsjjTlWZOfdnJ1OUKK1OhEOEdYDIjuKyZsPhOfoDI5wwAVpVvq1OkJJQlkzaoUWMdFBFnbqxnOdzbtCno9mlfikcDIkPPj3FTYmQg/SRI18HHNepiy0HCZNgjVEF1akPg7e00CMucSxxOkdyhDfFsSOgjG5YK+MCn9VaR0aAlLYZGPL7n2rnwGkEnNCL9rrAJJdou/s5LlZ6jvKtRnUT1BxCCrB2fQizJBkX7eDzFV2CBe4XDZvGNtj8drh8Dlkn1Y1faN5RD2W/w2Pnd9S96Dk7hCmC19sdHw4FRG+lAYOpL6JHBOLeLUp/M3J46KaCUe4BLUz8/lM2D9qxwPWoYX+a8VdaiyG0BrUhdERn1897/lQNWWPY2FGBP0WHsTWO/2lAGvPejCJ3MRssCCTUX+MNa3U1bljCR0Z+6aZVuYmoTAPtLGkiQ/CjMjOgpUKCyLsrl7rNm8XsDUsVujwe1nmBCTHDY9jjg+5MhwrKJTTMKHA+44MmAHy0oiRydbrSjw9IYuVXHweoOFRuv1F7ngAW3k7XhbSCFzjIVw==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(136003)(39860400002)(396003)(451199015)(46966006)(36840700001)(40470700004)(53546011)(2906002)(478600001)(31686004)(316002)(36756003)(6916009)(16576012)(2616005)(70206006)(70586007)(4326008)(63350400001)(54906003)(186003)(40460700003)(41300700001)(26005)(426003)(47076005)(8936002)(336012)(63370400001)(83380400001)(82740400003)(40480700001)(5660300002)(8676002)(36860700001)(86362001)(82310400005)(44832011)(81166007)(356005)(31696002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 09:33:34.0158
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b9e3a43-bdb4-4940-3df6-08dadf4899ff
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT019.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7234

Hi Stefano,

On 15/12/2022 22:08, Stefano Stabellini wrote:
> 
> 
> On Thu, 15 Dec 2022, Michal Orzel wrote:
>> Add test jobs in both debug and non-debug versions to run hyp-xen-version
>> XTF test as a dom0less domU on arm64. The purpose of this test is to
>> validate the functional behavior of xen_version hypercall.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>>  automation/gitlab-ci/test.yaml | 16 ++++++++++++++++
>>  1 file changed, 16 insertions(+)
>>
>> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
>> index 2d57f4feb74a..9d4b5315e710 100644
>> --- a/automation/gitlab-ci/test.yaml
>> +++ b/automation/gitlab-ci/test.yaml
>> @@ -165,6 +165,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
>>      - *arm64-test-needs
>>      - alpine-3.12-gcc-debug-arm64-boot-cpupools
>>
>> +qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
>> +    extends: .qemu-arm64
>> +    script:
>> +      - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
>> +    needs:
>> +      - *arm64-test-needs
>> +      - alpine-3.12-gcc-arm64
> 
> I think this test only needs qemu-system-aarch64-6.0.0-arm64-export
In case of pure dom0less configuration - yes.

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 09:34:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 09:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464282.722628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p677J-0007KG-SL; Fri, 16 Dec 2022 09:34:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464282.722628; Fri, 16 Dec 2022 09:34:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p677J-0007K9-P7; Fri, 16 Dec 2022 09:34:57 +0000
Received: by outflank-mailman (input) for mailman id 464282;
 Fri, 16 Dec 2022 09:34:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p677I-0007J4-1q
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 09:34:56 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p677H-00077R-Sq; Fri, 16 Dec 2022 09:34:55 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.4.243]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p677H-0007sL-NE; Fri, 16 Dec 2022 09:34:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=OZDW55HCI7FFZZRDbwGlIegLSaKoE30oQ0WRGsylrMY=; b=RWsEGy/WYrn8LEsu69Jbm8fhRI
	iViqrayefW3BoUM+CdgxAz5DP9t1n+3p3DBk2AKmX8QK5cipSluWs/hm245P3IV1QMGatxCcqXlBK
	bgLAh6dHb3GMgdlV4sZ/pXBcTT3amSND1rEyF4rjkL7qeToZBvtNqIXkfwfd+LyPIgm0=;
Message-ID: <8d02db8a-e4db-2e0d-b014-b88714b30b09@xen.org>
Date: Fri, 16 Dec 2022 09:34:53 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v2] xen/arm: Probe the entry point address of an uImage
 correctly
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com, michal.orzel@amd.com
References: <20221215123826.24145-1-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221215123826.24145-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 15/12/2022 12:38, Ayan Kumar Halder wrote:
> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
> result, it contains the default value (ie 0). This causes,
> kernel_zimage_place() to treat the binary (contained within uImage) as
> position independent executable. Thus, it loads it at an incorrect address.
> 
> The correct approach would be to read "uimage.ep" and set
> info->zimage.start. This will ensure that the binary is loaded at the
> correct address. Also, it checks that the load address and entry address
> are the same. The reason being we currently support non compressed images
> for uImage header. And as seen in uboot sources(image_decomp(), case
> IH_COMP_NONE), load address and entry address can be the same.
> 
> This behavior is applicable for both arm and arm64 platforms.
> 
> Earlier for arm32 and arm64 platforms, Xen was ignoring the entry point
> address set in the uImage header. With this commit, Xen will use the
> kernel entry point address as specified in the header. This makes the
> behavior of Xen consistent with uboot for uimage headers.

At the cost of breaking existing users. I think this want to be spelt 
out clearly.

> 
> A deviation from uboot behaviour is that we consider load address == 0x0,
> to denote that the image supports position independent execution. This
> is to make the behavior consistent across uImage and zImage.

You want to explain why users want to use "0x0". Or maybe the other way 
around, that only a very limited set of user (e.g. in static 
environment) should provide a fixed address.

> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> 
> Changes from v1:-
> 1. Added a check to ensure load address and entry address are the same.
> 2. Considered load address == 0x0 as position independent execution.
> 3. Ensured that the uImage header interpretation is consistent across
> arm32 and arm64.
> 
> Some unanswered queries from v1 :-
> 
> Q1. "In non-statically allocated setup, a user doesn't know where the memory
> for dom0/domU will be allocated.So I think this was correct to ignore the
> address."
> A. I am not sure the best way to handle this. Can we make the uImage probe
> dependent on STATIC_MEMORY ? Currently, I have mentioned that user should
> use load address = 0x0 if they want Xen to ignore it.
See above.

> 
> Q2. Zephyr or any other RTOS have different requirements, then we may need
> to modify Xen and document it.
> A. I will take it in a separate email/patch where we can list the
> requirements for booting Zephyr.
> 
>   docs/misc/arm/booting.txt         | 11 ++++++++++-
>   xen/arch/arm/include/asm/kernel.h |  2 +-
>   xen/arch/arm/kernel.c             | 26 +++++++++++++++++++++++++-
>   3 files changed, 36 insertions(+), 3 deletions(-)
> 
> diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt
> index 3e0c03e065..872262686a 100644
> --- a/docs/misc/arm/booting.txt
> +++ b/docs/misc/arm/booting.txt
> @@ -4,7 +4,13 @@ Booting Xen
>   Xen follows the zImage protocol defined for 32-bit ARM Linux[1] and the
>   Image protocol defined for ARM64 Linux[2].
>   
> -In both cases the recommendation to boot in HYP/EL2 mode is a strict
> +Xen also supports the legacy image protocol[3] for 32-bit ARM and ARM64.
> +For now, it supports images where load address is same as entry address.
> +A deviation from uboot is that, Xen treats "load address == 0x0" as
> +position independent execution. Thus, Xen will load such an image at an
> +address it considers appropriate.

Hmmmm... The section above is related to Xen itself and not the guest 
Image. So I think this is misplaced.

> +
> +In all cases the recommendation to boot in HYP/EL2 mode is a strict
>   requirement for Xen.
>   
>   The exceptions to this on 32-bit ARM are as follows:
> @@ -39,3 +45,6 @@ Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/t
>   
>   [2] linux/Documentation/arm64/booting.rst
>   Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst
> +
> +[3] legacy format header
> +Latest version: https://source.denx.de/u-boot/u-boot/-/blob/master/include/image.h#L315
> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
> index 5bb30c3f2f..ee69a47052 100644
> --- a/xen/arch/arm/include/asm/kernel.h
> +++ b/xen/arch/arm/include/asm/kernel.h
> @@ -72,7 +72,7 @@ struct kernel_info {
>   #ifdef CONFIG_ARM_64
>               paddr_t text_offset; /* 64-bit Image only */
>   #endif
> -            paddr_t start; /* 32-bit zImage only */
> +            paddr_t start;

I think the comment should be replaced by "Must be 0 for 64-bit Image".

>           } zimage;
>       };
>   };
> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> index 23b840ea9e..81ac945f5b 100644
> --- a/xen/arch/arm/kernel.c
> +++ b/xen/arch/arm/kernel.c
> @@ -127,7 +127,7 @@ static paddr_t __init kernel_zimage_place(struct kernel_info *info)
>       paddr_t load_addr;
>   
>   #ifdef CONFIG_ARM_64
> -    if ( info->type == DOMAIN_64BIT )
> +    if ( (info->type == DOMAIN_64BIT) && (info->zimage.start == 0) )
>           return info->mem.bank[0].start + info->zimage.text_offset;
>   #endif
>   
> @@ -223,6 +223,30 @@ static int __init kernel_uimage_probe(struct kernel_info *info,
>       if ( len > size - sizeof(uimage) )
>           return -EINVAL;
>   
> +    info->zimage.start = be32_to_cpu(uimage.ep);
> +
> +    /*
> +     * Currently, we support uImage headers for uncompressed images only.
> +     * Thus, it is valid for the load address and start address to be the
> +     * same. This is consistent with the uboot behavior (Refer
> +     * "case IH_COMP_NONE" in image_decomp()).
> +     */
> +    if ( info->zimage.start != be32_to_cpu(uimage.load) )
> +    {
> +        panic("Unable to support mismatching load address and entry address\n");
> +        return -EINVAL;
> +    }
> +
> +    /*
> +     * While uboot considers 0x0 to be a valid load/start address, for Xen
> +     * to mantain parity with zimage, we consider 0x0 to denote position
> +     * independent image. That means Xen is free to load such an image at
> +     * any valid address.
> +     * Thus, we will print an appropriate warning.
> +     */
> +    if ( info->zimage.start == 0 )
> +        printk(XENLOG_WARNING "No valid load address provided\n");

This is likely the way user will want to use it in a non-static 
environment. So why is this a warning?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 09:37:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 09:37:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464291.722639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p679X-0007wD-7w; Fri, 16 Dec 2022 09:37:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464291.722639; Fri, 16 Dec 2022 09:37:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p679X-0007w6-4f; Fri, 16 Dec 2022 09:37:15 +0000
Received: by outflank-mailman (input) for mailman id 464291;
 Fri, 16 Dec 2022 09:37:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p679V-0007vw-Lr; Fri, 16 Dec 2022 09:37:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p679V-0007BK-Iu; Fri, 16 Dec 2022 09:37:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p679V-0000e5-6B; Fri, 16 Dec 2022 09:37:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p679V-00006d-5j; Fri, 16 Dec 2022 09:37:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=e3xapeUwzSQsxNeGfFp6PEszTt9bJ2+rqxqfdCM2lgI=; b=K90TsxrV0KMGNZckOwUuG59169
	TvBsRnuIkF0mxSlcxtWcoIe+7Cl3IJOqiQr8aT+b2OiLim3I1rbt8g7qEZ33VYWLWRXYEPqMl6lI8
	sUkWxKOAdIAUktm4t6q0lE5JFhE1lNu0vb4UgJdVMoSU/0WiTTayGwBdGQf2cihZ1XKo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175295-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175295: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:<job status>:broken:regression
    xen-unstable:test-amd64-amd64-pygrub:<job status>:broken:regression
    xen-unstable:test-amd64-i386-livepatch:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-amd64-xl-qcow2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-5:xen-boot:fail:regression
    xen-unstable:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-examine-uefi:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine-bios:reboot:fail:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-pygrub:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-amd64-pygrub:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-pair:xen-install/src_host:fail:heisenbug
    xen-unstable:test-xtf-amd64-amd64-2:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-xsm:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:xen-boot:fail:heisenbug
    xen-unstable:test-xtf-amd64-amd64-4:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-multivcpu:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-freebsd10-amd64:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-pair:xen-boot/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-pair:xen-boot/dst_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=630dc3798e1d0d1b95f7be8b176563eb40e866e5
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 09:37:13 +0000

flight 175295 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175295/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-intel    <job status>                 broken
 test-amd64-amd64-pygrub         <job status>                 broken
 test-amd64-i386-livepatch     8 xen-boot                 fail REGR. vs. 175144
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 175148
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 175148
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-xl-xsm        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 175148
 test-amd64-i386-qemut-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-pair         12 xen-boot/src_host        fail REGR. vs. 175148
 test-amd64-i386-pair         13 xen-boot/dst_host        fail REGR. vs. 175148
 test-amd64-amd64-xl-qcow2     8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-qemuu-freebsd11-amd64  8 xen-boot       fail REGR. vs. 175148
 test-xtf-amd64-amd64-5        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 175148
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot  fail in 175266 REGR. vs. 175148
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail in 175266 REGR. vs. 175148
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 8 xen-boot fail in 175266 REGR. vs. 175148
 test-amd64-amd64-pygrub       8 xen-boot       fail in 175266 REGR. vs. 175148

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-intel  5 host-install(5)     broken pass in 175266
 test-amd64-amd64-pygrub       5 host-install(5)          broken pass in 175266
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 175189 pass in 175295
 test-amd64-i386-pair     10 xen-install/src_host fail in 175189 pass in 175295
 test-xtf-amd64-amd64-2        8 xen-boot         fail in 175266 pass in 175295
 test-amd64-i386-xl-xsm        7 xen-install      fail in 175266 pass in 175295
 test-amd64-amd64-libvirt      8 xen-boot                   fail pass in 175189
 test-amd64-i386-xl-vhd        8 xen-boot                   fail pass in 175189
 test-xtf-amd64-amd64-4        8 xen-boot                   fail pass in 175266
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail pass in 175266
 test-amd64-amd64-xl-multivcpu  8 xen-boot                  fail pass in 175266
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail pass in 175266
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  7 xen-install fail pass in 175266
 test-amd64-i386-freebsd10-amd64  8 xen-boot                fail pass in 175266
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host         fail pass in 175266
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host         fail pass in 175266
 test-amd64-amd64-pair        12 xen-boot/src_host          fail pass in 175266
 test-amd64-amd64-pair        13 xen-boot/dst_host          fail pass in 175266
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail pass in 175266

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt    15 migrate-support-check fail in 175189 never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail in 175266 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175148
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175148
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175148
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175148
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175148
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175148
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175148
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  630dc3798e1d0d1b95f7be8b176563eb40e866e5
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175148  2022-12-12 01:53:19 Z    4 days
Failing since        175154  2022-12-12 15:07:03 Z    3 days    8 attempts
Testing same since   175189  2022-12-14 02:31:01 Z    2 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       fail    
 test-xtf-amd64-amd64-5                                       fail    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              fail    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            broken  
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      broken  
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-dom0pvh-xl-intel broken
broken-job test-amd64-amd64-pygrub broken
broken-step test-amd64-amd64-dom0pvh-xl-intel host-install(5)
broken-step test-amd64-amd64-pygrub host-install(5)

Not pushing.

(No revision log; it would be 435 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 09:41:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 09:41:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464303.722650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p67Da-000103-Sb; Fri, 16 Dec 2022 09:41:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464303.722650; Fri, 16 Dec 2022 09:41:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p67Da-0000zw-Pf; Fri, 16 Dec 2022 09:41:26 +0000
Received: by outflank-mailman (input) for mailman id 464303;
 Fri, 16 Dec 2022 09:41:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p67DY-0000zq-Op
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 09:41:24 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p67DY-0007Em-FN; Fri, 16 Dec 2022 09:41:24 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.4.243]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p67DY-00089j-9O; Fri, 16 Dec 2022 09:41:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=d2tqAPzQt4IeVkRxaZPwK3RfYYRUMLSu7UrT8jpRXrQ=; b=KCAIsiLP15Ype749l+AceJiJh6
	0rq43LAZ40LYTyHfACerUi4xbwnKLbo0N4qbWWmVmlOF41RYi2qFb+RHEdRnL2NYWWaOFq+JD8zd0
	NJhGxPtFLsINQ0AwBHz5lOJrxDT674VnPUSU6k8e3FPAfJoLfZ8ACUJv/81HCOtqnLAM=;
Message-ID: <82edd7ec-b275-b15c-1889-88de154b3134@xen.org>
Date: Fri, 16 Dec 2022 09:41:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v1 1/9] xen/arm: Remove the extra assignment
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-2-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221215193245.48314-2-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

In the previous version, I have suggested the following title:

xen/ns16550: Remove unneeded truncation check in the DT init code

This would also address Jan's comment.

On 15/12/2022 19:32, Ayan Kumar Halder wrote:
> As "io_size" and "uart->io_size" are both u64, so there will be no truncation.
> Thus, one can remove the ASSERT() and extra assignment.
> 
> In an earlier commit (7c1de0038895),

Why is this line shorter than the others?

> "ns16550.io_size" was u32 and "io_size" was u64. Thus, the ASSERT() was needed
> to check if the values are the same.
> However, in a later commit (c9f8e0aee507),
> "ns16550.io_size" was changed to u64. Thus, the ASSERT() became redundant.

You missed my comment here:

"Those two paragraphs are explaining why the truncation check is 
removed. So I think they should be moved first. Then you can add the 
initial paragraph to explain the resolution".

> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> 
>   xen/drivers/char/ns16550.c | 7 +------
>   1 file changed, 1 insertion(+), 6 deletions(-)
> 
> diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
> index 01a05c9aa8..58d0ccd889 100644
> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -1747,7 +1747,6 @@ static int __init ns16550_uart_dt_init(struct dt_device_node *dev,
>       struct ns16550 *uart;
>       int res;
>       u32 reg_shift, reg_width;
> -    u64 io_size;
>   
>       uart = &ns16550_com[0];
>   
> @@ -1758,14 +1757,10 @@ static int __init ns16550_uart_dt_init(struct dt_device_node *dev,
>       uart->parity    = UART_PARITY_NONE;
>       uart->stop_bits = 1;
>   
> -    res = dt_device_get_address(dev, 0, &uart->io_base, &io_size);
> +    res = dt_device_get_address(dev, 0, &uart->io_base, &uart->io_size);
>       if ( res )
>           return res;
>   
> -    uart->io_size = io_size;
> -
> -    ASSERT(uart->io_size == io_size); /* Detect truncation */
> -
>       res = dt_property_read_u32(dev, "reg-shift", &reg_shift);
>       if ( !res )
>           uart->reg_shift = 0;

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 09:51:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 09:51:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464312.722660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p67N6-0002Vb-Oy; Fri, 16 Dec 2022 09:51:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464312.722660; Fri, 16 Dec 2022 09:51:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p67N6-0002VU-MN; Fri, 16 Dec 2022 09:51:16 +0000
Received: by outflank-mailman (input) for mailman id 464312;
 Fri, 16 Dec 2022 09:51:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p67N6-0002VO-3A
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 09:51:16 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p67N5-0007a8-MM; Fri, 16 Dec 2022 09:51:15 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.4.243]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p67N5-0008Ta-G7; Fri, 16 Dec 2022 09:51:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=mMSYE1uYUD3J8z5fG6VvvgZuCDUbPcKxQpJr1dqT1+s=; b=Ogx7gFx1yJgiFItsfVplUgQwgC
	9qdEV6hw3KtWVMempHade6deCQFdOJLSu6y78OFSM3iFnd+P6NSyAIDfcYuTM8liIEnofo26bZk0L
	cgchiWjqAzC7VIiECgfC1VWsM6rykGmArdnQr8Np5IH+fNKTpiPpwZdTgYfy0Do3s1uo=;
Message-ID: <b58c6548-9e70-0ed9-07a9-e35084620c36@xen.org>
Date: Fri, 16 Dec 2022 09:51:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v1 2/9] xen/arm: Define translate_dt_address_size() for the
 translation between u64 and paddr_t
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-3-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221215193245.48314-3-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 15/12/2022 19:32, Ayan Kumar Halder wrote:
> paddr_t may be u64 or u32 depending of the type of architecture.
> Thus, while translating between u64 and paddr_t, one should check that the
> truncated bits are 0. If not, then raise an appropriate error.

I am not entirely convinced this extra helper is worth it. If the user 
can't provide 32-bit address in the DT, then there are also a lot of 
other part that can go wrong.

Bertrand, Stefano, what do you think?

> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
>   xen/arch/arm/include/asm/platform.h | 26 ++++++++++++++++++++++++++
>   1 file changed, 26 insertions(+)
> 
> diff --git a/xen/arch/arm/include/asm/platform.h b/xen/arch/arm/include/asm/platform.h
> index 997eb25216..6be1549f09 100644
> --- a/xen/arch/arm/include/asm/platform.h
> +++ b/xen/arch/arm/include/asm/platform.h
> @@ -42,6 +42,32 @@ struct platform_desc {
>       unsigned int dma_bitsize;
>   };
>   
> +static inline int translate_dt_address_size(u64 *dt_addr, u64 *dt_size,
> +                                            paddr_t *addr, paddr_t *size)
> +{
> +#ifdef CONFIG_ARM_PA_32

This is not yet defined. So you want to mention it in the commit message.

> +    if ( dt_addr && (*dt_addr >> PADDR_SHIFT) )
> +    {
> +        dprintk(XENLOG_ERR, "Error in DT. Invalid address\n");
> +        return -ENXIO;
> +    }
> +
> +    if ( dt_size && (*dt_size >> PADDR_SHIFT) )
> +    {
> +        dprintk(XENLOG_ERR, "Error in DT. Invalid size\n");
> +        return -ENXIO;
> +    }
> +#endif
> +
> +    if ( dt_addr && addr )
> +        *addr = (paddr_t) (*dt_addr);
> +
> +    if ( dt_size && size )
> +        *size = (paddr_t) (*dt_size);
> +
> +    return 0;
> +}
> +
>   /*
>    * Quirk for platforms where device tree incorrectly reports 4K GICC
>    * size, but actually the two GICC register ranges are placed at 64K

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 09:58:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 09:58:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464321.722675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p67TY-0003DU-GN; Fri, 16 Dec 2022 09:57:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464321.722675; Fri, 16 Dec 2022 09:57:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p67TY-0003DN-DQ; Fri, 16 Dec 2022 09:57:56 +0000
Received: by outflank-mailman (input) for mailman id 464321;
 Fri, 16 Dec 2022 09:57:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p67TX-0003DH-PX
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 09:57:55 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p67TX-0007iZ-CE; Fri, 16 Dec 2022 09:57:55 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.4.243]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p67TX-0000Kk-6C; Fri, 16 Dec 2022 09:57:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=uwwD2DjoTXPWatwzrZ0Z1fXViMzNItzkQeyXFwBk0xM=; b=A2Z2pY2aaxniVxYyLrgSsHuZ+s
	I0V83NKKF6yCU8n+XjUdNJxRIeOxgC9tqhMJFOlWZFkVW6HmEyBgIm7pwZjIHYje+8eWkWR0Xs/oi
	HgxxiZoCi0T0zW4m+tRvztaPg7USPzmftni/dcD7Aal3ws2y1VkGD1hfi7Z+kswwB9ZQ=;
Message-ID: <c63310d5-e699-3f6c-15a9-eec314cb179c@xen.org>
Date: Fri, 16 Dec 2022 09:57:53 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v1 3/9] xen/arm: Always use 'u64' instead of 'paddr_t' for
 address and size in DT
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-4-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221215193245.48314-4-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

This patch is actually a good example to demonstrate the extra amount of 
boiler plate required to use your new boiler.

On 15/12/2022 19:32, Ayan Kumar Halder wrote:
> device_tree_get_reg(), dt_next_cell() uses u64 for address and size.
> Thus, the caller needs to be fixed to pass u64 values and then invoke
> translate_dt_address_size() to do the translation between u64 and paddr_t.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
>   xen/arch/arm/bootfdt.c | 22 ++++++++++++++--------
>   1 file changed, 14 insertions(+), 8 deletions(-)
> 
> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> index 0085c28d74..835bb5feb9 100644
> --- a/xen/arch/arm/bootfdt.c
> +++ b/xen/arch/arm/bootfdt.c
> @@ -14,6 +14,7 @@
>   #include <xen/libfdt/libfdt.h>
>   #include <xen/sort.h>
>   #include <xsm/xsm.h>
> +#include <asm/platform.h>
>   #include <asm/setup.h>
>   
>   static bool __init device_tree_node_matches(const void *fdt, int node,
> @@ -68,7 +69,7 @@ static int __init device_tree_get_meminfo(const void *fdt, int node,
>       unsigned int i, banks;
>       const __be32 *cell;
>       u32 reg_cells = address_cells + size_cells;
> -    paddr_t start, size;
> +    u64 start, size;
>       struct meminfo *mem = data;
>   
>       if ( address_cells < 1 || size_cells < 1 )
> @@ -219,7 +220,7 @@ static void __init process_multiboot_node(const void *fdt, int node,
>       const struct fdt_property *prop;
>       const __be32 *cell;
>       bootmodule_kind kind;
> -    paddr_t start, size;
> +    u64 start, size;
>       int len;
>       /* sizeof("/chosen/") + DT_MAX_NAME + '/' + DT_MAX_NAME + '/0' => 92 */
>       char path[92];
> @@ -379,7 +380,8 @@ static int __init process_shm_node(const void *fdt, int node,
>   {
>       const struct fdt_property *prop, *prop_id, *prop_role;
>       const __be32 *cell;
> -    paddr_t paddr, gaddr, size;
> +    paddr_t paddr = 0, gaddr = 0, size = 0;

For a first 0 is a valid address. So we should not use is as initialization.

> +    u64 dt_paddr, dt_gaddr, dt_size;
>       struct meminfo *mem = &bootinfo.reserved_mem;
>       unsigned int i;
>       int len;
> @@ -443,10 +445,14 @@ static int __init process_shm_node(const void *fdt, int node,
>       }
>   
>       cell = (const __be32 *)prop->data;
> -    device_tree_get_reg(&cell, address_cells, address_cells, &paddr, &gaddr);
> -    size = dt_next_cell(size_cells, &cell);
> +    device_tree_get_reg(&cell, address_cells, address_cells, &dt_paddr,
> +                        &dt_gaddr);
> +    translate_dt_address_size(&dt_paddr, &dt_gaddr, &paddr, &gaddr
If we function return a value, then this should be checked. If not, then 
it should be explained.

In this case, it is not clear to me who is checking the conversion was 
successful.

Overall, I think this will increase the amount of code. So before doing 
the modification, I think we need to agree on whether this is worth it 
to check the device-tree values.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 10:04:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 10:04:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464330.722689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p67Zx-0004k7-8O; Fri, 16 Dec 2022 10:04:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464330.722689; Fri, 16 Dec 2022 10:04:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p67Zx-0004k0-42; Fri, 16 Dec 2022 10:04:33 +0000
Received: by outflank-mailman (input) for mailman id 464330;
 Fri, 16 Dec 2022 10:04:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p67Zw-0004ju-70
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 10:04:32 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p67Zv-0007w3-NT; Fri, 16 Dec 2022 10:04:31 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.4.243]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p67Zv-0000h3-HU; Fri, 16 Dec 2022 10:04:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=AKF/SuYE5mujofCwTxwLAhT9KjJGMlae7XjN+W4mDlY=; b=65tMgvOQyywdenZYPO+e4DJSO4
	pTA06xcCJY0ldhmpBrk+niSNH2HKfIHh9i89U7GbliaPWNc6ijBlfoKQ2VjYtRAufYLGU1NyXaUFX
	ooba7DtIdbB5sX75+BCXq8bgAIJ6ahc8LcIvd2OXNBGsf+s2XuaeKxKmptMkVqeD/648=;
Message-ID: <2d467e95-ccb9-80b7-5747-1665153c5d03@xen.org>
Date: Fri, 16 Dec 2022 10:04:29 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v1 6/9] xen/arm: Use 'u64' to represent 'unsigned long long'
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-7-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221215193245.48314-7-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

Title: Please be more specific about the component you are modifying.

I.e:

xen/arm: domain_build: Replace use of paddr_t in find_domU_holes()

So it is clear this is no a tree-wide change.

On 15/12/2022 19:32, Ayan Kumar Halder wrote:
> bankbase, banksize and bankend are used to hold values of type
> 'unsigned long long'. Thus, one should use 'u64' instead of 'paddr_t'

To me it sounds like the code should use 'unsigned long long' rather 
than 'paddr_t' or 'u64'.

Also, please replace any reference of u64 to uint64_t. (The same remark 
apply for u32 below).

> (which may be either u64 or u32 depending on the architecture).

That's not yet correct. So please add something like 'in the future'...

> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
>   xen/arch/arm/domain_build.c | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index c537514a52..e968b9812d 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -1741,9 +1741,9 @@ static int __init find_domU_holes(const struct kernel_info *kinfo,
>                                     struct meminfo *ext_regions)
>   {
>       unsigned int i;
> -    paddr_t bankend;
> -    const paddr_t bankbase[] = GUEST_RAM_BANK_BASES;
> -    const paddr_t banksize[] = GUEST_RAM_BANK_SIZES;
> +    uint64_t bankend;
> +    const uint64_t bankbase[] = GUEST_RAM_BANK_BASES;
> +    const uint64_t banksize[] = GUEST_RAM_BANK_SIZES;
>       int res = -ENOENT;
>   
>       for ( i = 0; i < GUEST_RAM_BANKS; i++ )

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 10:21:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 10:21:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464338.722699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p67q7-0007AA-JH; Fri, 16 Dec 2022 10:21:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464338.722699; Fri, 16 Dec 2022 10:21:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p67q7-0007A3-Ge; Fri, 16 Dec 2022 10:21:15 +0000
Received: by outflank-mailman (input) for mailman id 464338;
 Fri, 16 Dec 2022 10:21:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=joxT=4O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p67q6-00079x-CL
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 10:21:14 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on2088.outbound.protection.outlook.com [40.107.6.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5d90a97e-7d2b-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 11:21:12 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8644.eurprd04.prod.outlook.com (2603:10a6:20b:42b::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 16 Dec
 2022 10:21:10 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Fri, 16 Dec 2022
 10:21:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d90a97e-7d2b-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HQK9t22nvlP8Z1fVvNKDIk+qQWylQ74m+6sV2DIhG3vco3Ax0hvMeXCInkvnXA0qgSEgZSAsxQxv2bzGP7YxffkfrGOek6IC+UNGGnl2PKw1IGZI80dhCc1/J5HnzM1q7u33UPkIvQA9ya0TygNo1khRlEOR7ObAQP1D4Knpm0vLOTqpAQquToZSTxBWcvx/5Yai9LZ63TFFbWiaZ0rP2dMXWCm+uqXgB5VGJb/6ELJnzy86ltefzjWZaHayfDZruqvKPj9WjHD8qgQ+ZFqEOIOP1blqA5IBXB8wtPeK5lkC7HCqnHvHmFgsa8gBi6SlgeMQxdGXlqLtW1oq0xIFqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w6qj3w2fEttbT6VInOtdy87P0ChvNbKe1kxsfBFexKU=;
 b=PLhKIOJs69/SdqrjOPkms6Jf4SNHM0IpMgBcRUKrk7LZFs0+NmJhLaDqio61rg+1KAqXxzLFa52kXH+dt0pTukBwxzL7mc5RZBrpJ4lnURwsYkK6Moi7mGiyRixMRvlivZuYPPfVkbQzwppuBvOZCv3PlQ+hWFXERBH2JVuM4hI+R+lM4M1x3jKgAYE3BzzFdJNd9fvm6CalEGjtm/ZTWTYvvveiyx1aMdeKIuMqMc3nGaZgmjnAeSFsn5LFAD9132figqK7UYIGogOhOhdTrpiGQtXJSGYq9DJqxuF9EYldp6j0affDXEbhYrDmM3/KlOzCY8TPSZ7boL67lGNRTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w6qj3w2fEttbT6VInOtdy87P0ChvNbKe1kxsfBFexKU=;
 b=irDczScUEcH5pNSrVFgP8TqB7IwMekQhVmthD0cvbcQdCQfloVVo/gfE0JdwjkrxyhQMeoeQviPbTEvDG19BS0mJNACFpJHv0teKamtWY/XLVPtLQCkKTwxCqzyY0uu6lq/nJDopeuFbUmMqUpo6jRchLLhGgi46Pa8Ynyxet6ug8Kl9XA0EJK7cMgE8exqAyf04zi8TygGeDqMzNGHXv+h7wQaTdrv/ZMmNfM7BDUYxMajlSMi0qyKq9PBja3l8MpUFTiUzG0vfdkDguM3gPJVU2s+5XjDhpEUrAXAxLZYI14x849uwSiZPyg0be7uOXW9eIRX9TfHw40YRZiHiww==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <219f3764-dade-7ef5-fbd7-fa9d2ae20d8c@suse.com>
Date: Fri, 16 Dec 2022 11:21:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [XTF-ARM] tests: Hypercall xen_version testing
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>
Cc: sstabellini@kernel.org, xen-devel@lists.xenproject.org
References: <20221215152511.10194-1-michal.orzel@amd.com>
 <58a87888-e839-8a5d-0e7f-7520e5e2c78a@suse.com>
 <235eaf7f-5b59-e8de-8657-ce9d202365c1@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <235eaf7f-5b59-e8de-8657-ce9d202365c1@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0070.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8644:EE_
X-MS-Office365-Filtering-Correlation-Id: 36ac6a19-c34f-4c2c-3b5d-08dadf4f407b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bvac51Dq/E3KZ+MobT24PSUjP86hcxGIFCDdZZzcXLBtG34Wn/jBC8+X5YQ8GowV0O/zYIyzqdNs0RX86mqXyPlhQsn9ygJh/XgDd8N/4TOhbnD0HuEz3NhnPjNGT7eMkyubj3508B1S9L1WyYass0lWHVawCuMISwA4KlAbd+v1g0dKTLDkF/QCgoEgBkJZs883awb2M4HKladkNOlXGwl8cZth9CJ16CtDBuLN3jR87ySnxAD+tYLvYtjUQk6CHzVJmwM+4mdk0K1+0PyMQ0mbAWcss4BhV30HrvqDoDAc1/IVuppKU5ACNS42UjuW9lY7sWlQxSDL9OV4yoYbNaT8T9somGMp2G1/2XItS9L7UdKQkSlSjFn3qM3iJWUXCF4d+eaMvK01kNLXeeK+gkdzAwrIRg100IY+N9Xuj28NqR3jHL8xqKpkWEI++IoMxSYLPTBNov1y/URxQoxmWbLtso62lP2H+VvB23LHtcFihAvurwbDq2KrhNd/s4JHggz+cK9K1bwxdEHuUiWWRQzyx3rn9i3rv4JkU17ZQbJki4h59k5yPNF6T4HRdNHTNIyzM8l+zIdQ+kjVg0tPIzAVuRWhBJB0EpW5nojwRwsIfLqrMfoRAtiD5iQ0CdJAiXP0Bi9nD3m5ZeKq9YQQKjh13KrtkoYNM2F1/7wGWYtsiqw6W8sCdudST5bX2NiPcYdKbDunR4cUXROv+BqasG8wxQ755j2BCCzZBCeXE+Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(136003)(376002)(396003)(39860400002)(451199015)(31686004)(26005)(6506007)(66946007)(8936002)(66556008)(53546011)(36756003)(31696002)(86362001)(6512007)(38100700002)(41300700001)(4326008)(6916009)(83380400001)(8676002)(316002)(5660300002)(6486002)(478600001)(66476007)(2906002)(186003)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WUMzbWUyVkFiNDd0Vi91NmxEQXJSQmVuMUdYNXN3MDdheU42QzBGWGNBTmFi?=
 =?utf-8?B?WXBrdkdjTFlIWkV5cHFWMFkyU3FVVTlpV3l2MVlvNGU5NDRyYzlKbkhiY251?=
 =?utf-8?B?MlpzRTE4T0NFc21CU05TcGhSbHNwR2E1dHJhempTRnRvaUM2QVdMYy9laElq?=
 =?utf-8?B?a3I1QUdEUjhLeCtQUjV2WGpPRlNtZmVtVGcyQ0JmYjRIeUlKckN6RTNaUzhR?=
 =?utf-8?B?Uy9YOXdidUQ1T2N5d056ZzQ3elhybUVYVXNTc1Y2dUhKd2NqWktmTHhHeXhX?=
 =?utf-8?B?RVJuVFZVNk0ydEpTV1VlN3dWQVdnV1JiTnFneGk4Q0VEeDJtVTdoNW5tZmE5?=
 =?utf-8?B?OWRreXM2cjU5bkZrVExIbGpFVXBmQXIxVlNJb09aV2VndWVVcE1hOUN3VlZo?=
 =?utf-8?B?U3J1clp3RGtKSEZ6akQvbjdTVzZJQTRBWUpKeUhaNmdFaEY0ZVFWVVNJdnVq?=
 =?utf-8?B?eTN0SmJJRkdZZmFLUzc5Ykdnc0NaZFlCSy9naW8xZW1rNkxqYXMrVUdhTDJL?=
 =?utf-8?B?bHNpelhUMFRYaEpjTHc5dVVPSTB1djN3NU5OYlVoenA2RnNaUmI3TDNGSVJk?=
 =?utf-8?B?c3hyYkFWUG0zZHFDaWh0ZnNBVStMNjRBMGloeXlrc0NISFJLRDlWV0F4WS9O?=
 =?utf-8?B?ZEtLTDFXYSs3UitFaERVZXEyenV2QXM2cUtTZWJKTmJwR3duVmtBby9mRUc1?=
 =?utf-8?B?bkJFOXJMZ0J2UzczVVlMdlBIMjRydHVDTnkrbHZ6MlE0dE13RDB6Ky9RL3Z1?=
 =?utf-8?B?OVRuMlIyUDBNNVpZblBEUEY0UHJ2L3VqY251SmxZdVpiQzNPekdKVDJpaFQz?=
 =?utf-8?B?azRROW1kdFoyNnVZbmdpUWFDWThYZjFKdVhtc0xXTDFPaTVrNkNIdlVYNXdI?=
 =?utf-8?B?dlF3bGpLSGN1cXVJTVZXSThjSHJvT3Jab1RPUVA4Umt4WHd0T3J1aW5NWTFw?=
 =?utf-8?B?Rm4zZ2tNRmdkN0tFYUJnL3QzNnl5dzZIcjZFaHhwSUFiZkI3RXVvWGZodWVo?=
 =?utf-8?B?VGYwYkI3T2tPUTFpUkVwTlR2Wmx0Z3o4L0p4bHJOUjV0VExBOG90WDMxWHUx?=
 =?utf-8?B?cFAzMlJ3UEdjRWh6L0QvdDhkcFpQV0VUdm1LUXBXbnQxYmZkTjRMU3dyNjYr?=
 =?utf-8?B?YzFlU3JrTDFXa0o5V0wzRUkyYnBRUEFMc0dENitMQ0dqTzM4SEVxZy9QR3cx?=
 =?utf-8?B?RVNVMEhNdnFGZmg1UitsQlZsTnluMVNtRzVuK2s1cUJJdWZxcUlIRU9HZ3hu?=
 =?utf-8?B?bjNxV2ppalJ4T0RuNmFSOUdnS09haFdQQ1hGSktwQ1NtZTM0enBwS2xNNkQ0?=
 =?utf-8?B?dHU0SEpmSG9mdGdHb0pKRURqZCtvN1BHaFVWcEY3bXFjU0ZMbExhclplVUlO?=
 =?utf-8?B?NDZRK0YxZUpHUEQ2QktDaXJYenRRYml4K2g1TVdzOHkxa0tadDJhTEdRWndp?=
 =?utf-8?B?SHdRbjhtSHVJMDJNMkxmaXV5SjBPVDBnWnlrQmk4RmpoNHMwbGNIcTc1Q0oy?=
 =?utf-8?B?MEh0VGdzdDVKTU5HZGZLakxzMTlvS090YnVTK1ZJTTlRQjhjUjdzak9yOS9s?=
 =?utf-8?B?UkRZWlRXOWFycWdPNno0ZjRxSE1BRnVCMzM0R01iRlIwcVZBZlhrc2hyUzVi?=
 =?utf-8?B?OEZjR2poYUQyaENuSVMraVFNbVNXdUZLVGk5M3dzaUk3am5xY0d6WTI1dTVB?=
 =?utf-8?B?QURMRlAxUUF1YzRsMXArNTFWMk00WWtlNE5uZjF2QTYxRUdtb3pwd0ZQa3BI?=
 =?utf-8?B?YVducnBrS3pwSzFKY0dZNGsyN0ZMdkJUSmgvQkU2TUFpbHFwdW1LOTFhcVQ0?=
 =?utf-8?B?bEkwbXpSQkxnenZFOFlpem9vaWxlbVRvZTcycUJxV2xRR0hjQjVVOFZRY21h?=
 =?utf-8?B?S282YnBvK09RWjcyY3ZYUFh5cEs4UTBCUW1ZOXd2UHdTemdxZ0ZtU2RJUFlp?=
 =?utf-8?B?MWtkbDYzK1J1STB0bGxFdkYwc1JVYS9Rakt1Wmp0OGxna24vdjJEcHhDQTdF?=
 =?utf-8?B?TXNKdmIvYXhKSFo5alVWWGNvK1pNaHEzcE5FcDhZZ2x4YVZ0RElqczlIYjhU?=
 =?utf-8?B?SWlrYnBlT3dURHNyNkFFOC85TWJqVWxKY0tMRnVhOGhPT1NLL1kxM2UyYXJp?=
 =?utf-8?Q?HwJYaE+sPTbuSlxGcBXVRe6em?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 36ac6a19-c34f-4c2c-3b5d-08dadf4f407b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 10:21:10.6074
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: weiZNdhP2e0z+d71Jwp9kwEdAzpRSvXkhoGRRKBgPifx9EMgQK4poYlnl6a8Z9KrrKx8x2A9SyysbiuSvne5EQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8644

On 16.12.2022 10:30, Michal Orzel wrote:
> On 15/12/2022 16:48, Jan Beulich wrote:
>> On 15.12.2022 16:25, Michal Orzel wrote:
>>> --- /dev/null
>>> +++ b/tests/hyp-xen-version/main.c
>>> @@ -0,0 +1,105 @@
>>> +/**
>>> + * @file tests/hyp-xen-version/main.c
>>> + * @ref test-hyp-xen-version
>>> + *
>>> + * @page test-hyp-xen-version Hypercall xen_version
>>> + *
>>> + * Functional testing of xen_version hypercall.
>>> + *
>>> + * @see tests/hyp-xen-version/main.c
>>> + */
>>> +#include <xtf.h>
>>> +
>>> +const char test_title[] = "Hypercall xen_version testing";
>>> +
>>> +#define INVALID_CMD -1
>>> +
>>> +void test_main(void)
>>> +{
>>> +    int ret;
>>> +
>>> +    printk("Checking XENVER_version:\n");
>>> +    {
>>> +        /*
>>> +        * Version is returned directly in format: ((major << 16) | minor),
>>> +        * so no need to check the return value for an error.
>>> +        */
>>> +        ret = hypercall_xen_version(XENVER_version, NULL);
>>> +        printk(" version: %u.%u\n", ret >> 16, ret & 0xFFFF);
>>> +    }
>>> +
>>> +    printk("Checking XENVER_extraversion:\n");
>>> +    {
>>> +        xen_extraversion_t xen_ev;
>>> +        memset(&xen_ev, 0, sizeof(xen_ev));
>>> +
>>> +        ret = hypercall_xen_version(XENVER_extraversion, xen_ev);
>>> +        if ( ret < 0 )
>>> +            return xtf_error("Error %d\n", ret);
>>
>> This, ...
>>
>>> +        printk(" extraversion: %s\n", xen_ev);
>>> +    }
>>> +
>>> +    printk("Checking XENVER_compile_info:\n");
>>> +    {
>>> +        xen_compile_info_t xen_ci;
>>> +        memset(&xen_ci, 0, sizeof(xen_ci));
>>> +
>>> +        ret = hypercall_xen_version(XENVER_compile_info, &xen_ci);
>>> +        if ( ret < 0 )
>>> +            return xtf_error("Error %d\n", ret);
>>
>> ... this, and ...
>>
>>> +        printk(" compiler:       %s\n", xen_ci.compiler);
>>> +        printk(" compile_by:     %s\n", xen_ci.compile_by);
>>> +        printk(" compile_domain: %s\n", xen_ci.compile_domain);
>>> +        printk(" compile_date:   %s\n", xen_ci.compile_date);
>>> +    }
>>> +
>>> +    printk("Checking XENVER_changeset:\n");
>>> +    {
>>> +        xen_changeset_info_t xen_cs;
>>> +        memset(&xen_cs, 0, sizeof(xen_cs));
>>> +
>>> +        ret = hypercall_xen_version(XENVER_changeset, &xen_cs);
>>> +        if ( ret < 0 )
>>> +            return xtf_error("Error %d\n", ret);
>>
>> ... this can fail because of XSM denying access. (Others can of course
>> also fail for this reason, but here possible failure is kind of
>> "intended" - see the dummy xsm_xen_version() handling.) Therefore I
>> would like to suggest that you also special case getting back -EPERM,
>> resulting in e.g. just a warning instead of an error.
> When writing a test I did make sure to check xsm_xen_version *for the operations that I covered*
> and my understanding is as follows:
> For XENVER_version and XENVER_get_features, it returns 0 so deny is false.
> For other commands I test, xsm_default_action is called with XSM_HOOK which returns 0 as well.
> So AFAICT nothing can result in setting deny to true.
> But even in case of setting deny to true, it would just result in copying "<denied>" into
> the respective buffer. It would not alter the hypercall return value.

For dummy itself all is fine; arrangements there suggest to me though
that the intention was that an actual Flask policy may be written such
that some of these might actually be refused. My recollection actually
is that when the distinction for the sub-ops was introduced, quite a
bit of discussion happened as to what may or may not be (optionally
or uniformly) be rejected.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 10:23:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 10:23:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464348.722711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p67sS-0007pe-27; Fri, 16 Dec 2022 10:23:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464348.722711; Fri, 16 Dec 2022 10:23:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p67sR-0007pX-VX; Fri, 16 Dec 2022 10:23:39 +0000
Received: by outflank-mailman (input) for mailman id 464348;
 Fri, 16 Dec 2022 10:23:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p67sQ-0007pR-EF
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 10:23:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p67sQ-0008S5-2b; Fri, 16 Dec 2022 10:23:38 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.4.243]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p67sP-0001Up-Sk; Fri, 16 Dec 2022 10:23:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=jVvl2gUL1Q0fej6T7k6tRIZLzgk8Hl/KnJKEkJQ80/8=; b=2tpGELCVGzVXzV8XGZ/EqwJI8R
	jPipcE6p1B5g9qtHADzEoUQXGO3OLGu4mcQE8wbYbjh+SmUwxrVx2ReT5Jh9yy2RNrgHHp55Bvafp
	RBhtVqQ8YrYf+HTxAf+Bm0RMcWZIEiaYuMd4etSi+QaPgyfDv0Lf4xNnkLl5RNFXsUuA=;
Message-ID: <45f897bc-3700-d3f0-4f4b-43598c0b8560@xen.org>
Date: Fri, 16 Dec 2022 10:23:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v1 8/9] xen/arm: Other adaptations required to support 32bit
 paddr
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-9-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221215193245.48314-9-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

Each adaptations are distinct, so I would prefer if they are in in 
separate patch.

This will also make clear which components you touched because I would 
be surprised if this is really the only place where we need adaptation. 
Maybe that's because you didn't compile everything (which is fine).

On 15/12/2022 19:32, Ayan Kumar Halder wrote:
> 1. Supersections are supported only for paddr greater than 32 bits.

Two questions:
  * Can you outline why we can't keep the code around?
  * Can you give a pointer to the Arm Arm that says supersection is not 
supported?

> 2. Use 0 wherever physical addresses are right shifted for 32 bit > 3. Use PRIx64 to print u64
It would be good to explain that the current use was buggy because we 
are printing a PTE and not a physical address.

> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
>   xen/arch/arm/guest_walk.c          | 2 ++
>   xen/arch/arm/mm.c                  | 2 +-
>   xen/drivers/passthrough/arm/smmu.c | 5 +++++
>   3 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/guest_walk.c b/xen/arch/arm/guest_walk.c
> index 43d3215304..4384068285 100644
> --- a/xen/arch/arm/guest_walk.c
> +++ b/xen/arch/arm/guest_walk.c
> @@ -149,6 +149,7 @@ static bool guest_walk_sd(const struct vcpu *v,
>               mask = (1ULL << L1DESC_SECTION_SHIFT) - 1;
>               *ipa = ((paddr_t)pte.sec.base << L1DESC_SECTION_SHIFT) | (gva & mask);
>           }
> +#ifndef CONFIG_ARM_PA_32

A "malicious" guest can still set that bit. So now, you will return from 
guest_walk_sd() with 'ipa' not set at all.

If this is effectively not supported, then we should return 'false' 
rather than claiming the translation was successful.

>           else /* Supersection */
>           {
>               mask = (1ULL << L1DESC_SUPERSECTION_SHIFT) - 1;
> @@ -157,6 +158,7 @@ static bool guest_walk_sd(const struct vcpu *v,
>               *ipa |= (paddr_t)(pte.supersec.extbase1) << L1DESC_SUPERSECTION_EXT_BASE1_SHIFT;
>               *ipa |= (paddr_t)(pte.supersec.extbase2) << L1DESC_SUPERSECTION_EXT_BASE2_SHIFT;
>           }
> +#endif
>   
>           /* Set permissions so that the caller can check the flags by herself. */
>           if ( !pte.sec.ro )
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index be939fb106..3bc9894008 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -229,7 +229,7 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
>   
>           pte = mapping[offsets[level]];
>   
> -        printk("%s[0x%03x] = 0x%"PRIpaddr"\n",
> +        printk("%s[0x%03x] = 0x%"PRIx64"\n",
>                  level_strs[level], offsets[level], pte.bits);
>   
>           if ( level == 3 || !pte.walk.valid || !pte.walk.table )
> diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
> index 5ae180a4cc..522a478ccf 100644
> --- a/xen/drivers/passthrough/arm/smmu.c
> +++ b/xen/drivers/passthrough/arm/smmu.c
> @@ -1184,7 +1184,12 @@ static void arm_smmu_init_context_bank(struct arm_smmu_domain *smmu_domain)
>   
>   	reg = (p2maddr & ((1ULL << 32) - 1));
>   	writel_relaxed(reg, cb_base + ARM_SMMU_CB_TTBR0_LO);
> +
> +#ifndef CONFIG_ARM_PA_32
>   	reg = (p2maddr >> 32);
> +#else
> +	reg = 0;
> +#endif

I think it would be better if we implement writeq(). This will also 
avoid the now strange ((1ULL << 32) - 1) when p2maddr is a paddr_t.

>   	if (stage1)
>   		reg |= ARM_SMMU_CB_ASID(cfg) << TTBRn_HI_ASID_SHIFT;
>   	writel_relaxed(reg, cb_base + ARM_SMMU_CB_TTBR0_HI);

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 10:49:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 10:49:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464357.722725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p68HK-00020a-4c; Fri, 16 Dec 2022 10:49:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464357.722725; Fri, 16 Dec 2022 10:49:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p68HK-00020T-1n; Fri, 16 Dec 2022 10:49:22 +0000
Received: by outflank-mailman (input) for mailman id 464357;
 Fri, 16 Dec 2022 10:49:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Zr/=4O=citrix.com=prvs=342bb51ac=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p68HI-00020N-Mi
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 10:49:20 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49af3d18-7d2f-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 11:49:18 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49af3d18-7d2f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671187758;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=5+cCNgheqSgUPp/xLGI/9a3m+21acDQow0j7IQhZYnQ=;
  b=fgjnQ5RUm0URJ83tztue3u01L1wBqYh6xn84MpZV3c9IQ/7i09ht6vgL
   Yu9rP+QTfeR645jDCWxtMW5Njm7A260gh933kVDI4/JxpSNGoXzIIUpI7
   Eo1ex5NKYuZ5VRfVJ0uGVFA1rxcuSfQnFq2t2BHiVMeRORfY3YxMKyDcD
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88239411
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:dMHNAqNKAasbecXvrR1tl8FynXyQoLVcMsEvi/4bfWQNrUpw1GRTz
 GIfCDuOPPrZY2KgfNhzaI/k9hkBvp7UyIc1Tgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5wJmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0ux9JkJWq
 tIiETM2Xx6Yuf6N7OKkdfY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w/N3wsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9KozQHpQJxx/wS
 mTu1HrJOQo1NuyklmSZ/kKstrDPkDKncddHfFG/3qEz2wDCroAJMzUNTkeyq/S9jk+4WvpcJ
 lYS9y5oqrI9nGS0SvHtUhv+p2SL1jYeRt5RHusS+AyLjK3O7G6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnp+Oqii4Iy8SLmkqaioNTA9D6N7myKkRpB/SStdoEIauk8b4Xzr3x
 li3QDMW3utJy5RRjuPioA6B02nESoX1ohAd7A/wfXr6wDlAZ7WUaZeW9WP3vel/M9PMJrWeh
 0Qsl8+b5eEIKJiCki2RXekAdI2UC+a53C702gA2QcR4n9i50zv6JN0LvmkiTKt8GpxcEQIFd
 nM/ru+4CHV7GHKxJZF6bIuqYyjB5fixTI+1Phw4gzcnX3SQSONl1Hs2DaJz9zq3+KTJrU3YE
 cnzTCpUJSxGYZmLNRLvLwvn7Zclxzol2UTYTo3hwhKs3NK2PSDKEO5fYQLfPrhlsstoRTk5F
 P4GZ6O3J+h3CrWiMkE7D6ZNRbz1EZTLLc+v8JEGHgJyCgFnBHsgG5fsLUAJIuRYc1Buvr6Qp
 BmVAxYIoGcTcFWbcW1mnFg/MuKwNXu+xFpnVRER0aGAhyJ5P93zsP5DKfPav9APrYRe8BK9d
 NFdE+3oPxiFYm2vF+g1BXUlkLFfSQ==
IronPort-HdrOrdr: A9a23:i2hVjq5yaVB+yEgp/gPXwNnXdLJyesId70hD6qkRc3Fom6mj/K
 qTdZsgpHzJYUkqKRMdcLy7VpVoIkmxyXcW2+ks1N6ZNWHbUQCTQ72Kg7GC/9ToIVyaytJg
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="88239411"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<George.Dunlap@eu.citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, "Jan
 Beulich" <JBeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
	"Wei Liu" <wl@xen.org>, Julien Grall <julien@xen.org>
Subject: [PATCH] tools/golang: Refresh bindings following virtio changes
Date: Fri, 16 Dec 2022 10:49:04 +0000
Message-ID: <20221216104904.3348-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain

Fixes: 43ba5202e2ee ("libxl: add support for generic virtio device")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@eu.citrix.com>
CC: Nick Rosbrook <rosbrookn@gmail.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
---
 tools/golang/xenlight/helpers.gen.go | 62 ++++++++++++++++++++++++++++++++++++
 tools/golang/xenlight/types.gen.go   | 17 ++++++++++
 2 files changed, 79 insertions(+)

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index cb1bdf9bdf41..3ac4938858f2 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1722,6 +1722,49 @@ xc.multi_touch_num_contacts = C.uint32_t(x.MultiTouchNumContacts)
  return nil
  }
 
+// NewDeviceVirtio returns an instance of DeviceVirtio initialized with defaults.
+func NewDeviceVirtio() (*DeviceVirtio, error) {
+var (
+x DeviceVirtio
+xc C.libxl_device_virtio)
+
+C.libxl_device_virtio_init(&xc)
+defer C.libxl_device_virtio_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *DeviceVirtio) fromC(xc *C.libxl_device_virtio) error {
+ x.BackendDomid = Domid(xc.backend_domid)
+x.BackendDomname = C.GoString(xc.backend_domname)
+x.Type = C.GoString(xc._type)
+x.Transport = VirtioTransport(xc.transport)
+x.Devid = Devid(xc.devid)
+x.Irq = uint32(xc.irq)
+x.Base = uint64(xc.base)
+
+ return nil}
+
+func (x *DeviceVirtio) toC(xc *C.libxl_device_virtio) (err error){defer func(){
+if err != nil{
+C.libxl_device_virtio_dispose(xc)}
+}()
+
+xc.backend_domid = C.libxl_domid(x.BackendDomid)
+if x.BackendDomname != "" {
+xc.backend_domname = C.CString(x.BackendDomname)}
+if x.Type != "" {
+xc._type = C.CString(x.Type)}
+xc.transport = C.libxl_virtio_transport(x.Transport)
+xc.devid = C.libxl_devid(x.Devid)
+xc.irq = C.uint32_t(x.Irq)
+xc.base = C.uint64_t(x.Base)
+
+ return nil
+ }
+
 // NewDeviceDisk returns an instance of DeviceDisk initialized with defaults.
 func NewDeviceDisk() (*DeviceDisk, error) {
 var (
@@ -2855,6 +2898,15 @@ if err := x.Vkbs[i].fromC(&v); err != nil {
 return fmt.Errorf("converting field Vkbs: %v", err) }
 }
 }
+x.Virtios = nil
+if n := int(xc.num_virtios); n > 0 {
+cVirtios := (*[1<<28]C.libxl_device_virtio)(unsafe.Pointer(xc.virtios))[:n:n]
+x.Virtios = make([]DeviceVirtio, n)
+for i, v := range cVirtios {
+if err := x.Virtios[i].fromC(&v); err != nil {
+return fmt.Errorf("converting field Virtios: %v", err) }
+}
+}
 x.Vtpms = nil
 if n := int(xc.num_vtpms); n > 0 {
 cVtpms := (*[1<<28]C.libxl_device_vtpm)(unsafe.Pointer(xc.vtpms))[:n:n]
@@ -3016,6 +3068,16 @@ return fmt.Errorf("converting field Vkbs: %v", err)
 }
 }
 }
+if numVirtios := len(x.Virtios); numVirtios > 0 {
+xc.virtios = (*C.libxl_device_virtio)(C.malloc(C.ulong(numVirtios)*C.sizeof_libxl_device_virtio))
+xc.num_virtios = C.int(numVirtios)
+cVirtios := (*[1<<28]C.libxl_device_virtio)(unsafe.Pointer(xc.virtios))[:numVirtios:numVirtios]
+for i,v := range x.Virtios {
+if err := v.toC(&cVirtios[i]); err != nil {
+return fmt.Errorf("converting field Virtios: %v", err)
+}
+}
+}
 if numVtpms := len(x.Vtpms); numVtpms > 0 {
 xc.vtpms = (*C.libxl_device_vtpm)(C.malloc(C.ulong(numVtpms)*C.sizeof_libxl_device_vtpm))
 xc.num_vtpms = C.int(numVtpms)
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index 871576fb0e23..16ce879e3fb7 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -255,6 +255,12 @@ VkbBackendQemu VkbBackend = 1
 VkbBackendLinux VkbBackend = 2
 )
 
+type VirtioTransport int
+const(
+VirtioTransportUnknown VirtioTransport = 0
+VirtioTransportMmio VirtioTransport = 1
+)
+
 type Passthrough int
 const(
 PassthroughDefault Passthrough = 0
@@ -644,6 +650,16 @@ MultiTouchHeight uint32
 MultiTouchNumContacts uint32
 }
 
+type DeviceVirtio struct {
+BackendDomid Domid
+BackendDomname string
+Type string
+Transport VirtioTransport
+Devid Devid
+Irq uint32
+Base uint64
+}
+
 type DeviceDisk struct {
 BackendDomid Domid
 BackendDomname string
@@ -933,6 +949,7 @@ Rdms []DeviceRdm
 Dtdevs []DeviceDtdev
 Vfbs []DeviceVfb
 Vkbs []DeviceVkb
+Virtios []DeviceVirtio
 Vtpms []DeviceVtpm
 P9S []DeviceP9
 Pvcallsifs []DevicePvcallsif
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 10:49:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 10:49:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464363.722736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p68Hs-0002Vz-DK; Fri, 16 Dec 2022 10:49:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464363.722736; Fri, 16 Dec 2022 10:49:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p68Hs-0002Vs-AN; Fri, 16 Dec 2022 10:49:56 +0000
Received: by outflank-mailman (input) for mailman id 464363;
 Fri, 16 Dec 2022 10:49:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HtZB=4O=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p68Hq-00020N-VG
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 10:49:55 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2058.outbound.protection.outlook.com [40.107.223.58])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5eb50e4e-7d2f-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 11:49:53 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by DS7PR12MB5744.namprd12.prod.outlook.com (2603:10b6:8:73::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.15; Fri, 16 Dec
 2022 10:49:48 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c%5]) with mapi id 15.20.5880.018; Fri, 16 Dec 2022
 10:49:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5eb50e4e-7d2f-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TPN5gsqZ234Tb/xd+5xhfrkoH9tkxOPNrWBPi7JetoGpXDxJMD6pjhC7H4sNl/ijDCx4/MJvwaGzkraKr1uT1gCIS0aQEGrwlmZCbEdL0sQZ6gzFHPbkPAs5v6QAvw1DEu8V+VckFNWgOinSydOLg39wjKZydmW8TN5K+mg4EjdUZraMPioNMWChodA3dzoaXGESYYO8znch1gP0GSDXAPhCJp1b402mA/F2xTE6isgiCeNKzT93u8N6zXN3mNdHu5R3gRwCAM3ICxh9MOWicc+VXFNdD5FSQLhnzmybdU7lY/xT0a9IFVFXPVm3Lj08cxgMnBcq/E9g1G4RJ3rsUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s8CHa+UHSPef6p9ZK91LClSezTyxzVEQ7UDVSErmdKg=;
 b=Ccpa8KEDtFiWXPZ78cfnREIGPpIIXicEuckKw7jFT5imjFKS2+pAPP59IKjLtZwO+VvaLWvOc3p9Hy+EorULY8A5s0d2SyszBIN71QpFuwjfhC85Mau0i0k4/MQ4ZWZJYCFqurtczV3g1n4HbiB9RStlMl93OuCak+xe0y2h4flC8WQaA5xuhnf6Zcllcc8Vpnc8CNMFl91LctY6FZQyAbqmTCHwwPiumm3dAB8LhFBQBe3BrEoLDAmYJIW/y2vCBBMMgrJgz8yVkqQFfpCjnhfZPaqRmtoWFLOKl5DvhJ6DnL47uP8Ph5rY2uHBdK6KRgw9NonRIln+xiwQwjgh0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s8CHa+UHSPef6p9ZK91LClSezTyxzVEQ7UDVSErmdKg=;
 b=eOjSfdZnw1VPFMCLQXtP1yhqhtGtBdOt6w+NN/yVyy1LRWheNWw0xVSQRC/+Ne8oedREloafN/hFXFhhT5dBNBao0ltk25s4PTS0j0C9zRAV6qPiOTXKQcdcqeiyYJ/YdAAt2nQxxef2PV908GXYf8Lx+ZNypZmlyEgAbta55yk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <1739c415-d1e6-efad-774e-5a49c9f28a09@amd.com>
Date: Fri, 16 Dec 2022 10:49:42 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v1 3/9] xen/arm: Always use 'u64' instead of 'paddr_t' for
 address and size in DT
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-4-ayan.kumar.halder@amd.com>
 <c63310d5-e699-3f6c-15a9-eec314cb179c@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <c63310d5-e699-3f6c-15a9-eec314cb179c@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0271.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a1::19) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|DS7PR12MB5744:EE_
X-MS-Office365-Filtering-Correlation-Id: 4d62ff26-6849-4e84-7b8d-08dadf534074
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NZiNhEiv8FcU5TL4bb+9F9qtBVSGbKQJsYjIay7meFXUb00HPQenx7L5lLU7wVImfsMf6zAnS0yQqfkf2gAl5EafQksgIb8nS+JJzrptu/XyqEcJD5CRbhQMO5w1oU/TKNKfz95q8e3f7uUHkIp7Ezo+GYKG7wSJAAVJ/wIMX8Z38r64roFaHdVulknUH0F+8RMRlXTSCvtC2JSA5H0phj+Twxa/ZBq4VhNRX3+USiiwXa85UHdhBlqMXdOadSmuwgjB4oANEVhSLVd2MJqbrTzfdvbAvtPWq6+xWmS+yjvP6HU3oSoKnhhZDwz2AWIZfSZCu9ZrH8GKFKdSPti54Oo/eAsrVE/+QgtI7obNTl/HL6BEsMj/wWxA1yqHU+YaskGpPrYHP240ysEAUYASAreGvp/K23vda58UD5m8TXGS3GrZheuF6OITUAe4MjxxKBWWe3GIhOFcVlwgMR5Z17WoqdAolIt8R06PDPAKm1wk8U0qf6Q6NQxcn2ZY8R09BP0rNVrT94ibpdS9H97fWe0dlVV8hI+/UBne6LzDcuzp5fGF58dXwY0hPBQhjAzM/XilpoyVv3SDUhJsaaxbfZeTSA/2sQz+IRyIooU6U/OwjXlFS0z/KWLSGFlWyhG8AZ1Otjq5ppfLYM+jdxrrrARyF//h2JRxL+QzEZUF+K/qWj3krPMVUtG2+7oXSNYzJIlggit4td+i/2ZEBbqr6yDFJ4yOIrFkld8GFMZzdfQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(346002)(376002)(366004)(136003)(451199015)(31686004)(2906002)(5660300002)(110136005)(316002)(8936002)(4326008)(8676002)(66476007)(66556008)(66946007)(36756003)(41300700001)(478600001)(6486002)(31696002)(186003)(26005)(6506007)(6512007)(53546011)(2616005)(38100700002)(83380400001)(6666004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RWc3M1dadzFUcm51bkZ4aEszM2VmU29kRUZiNnB5My8rOXpZZWh4R0pGbXVN?=
 =?utf-8?B?TCt1V1M1OXBvejFtVkRoREhlYS9rRi9oQWVhUUFaZyszeERadXBuV1pRenI1?=
 =?utf-8?B?NXN6dEtqZFBQUXhjMDgwVmFoRCs3U0MwTGpRRVgvMGx3dE11aEtHazhCYWFV?=
 =?utf-8?B?SzRpMFo0T3E0WTdwSnZORndiRXRZSjNBVzFKZzI4eE1rSUlDU2I1YmZhWklR?=
 =?utf-8?B?elVFRElwTzJUMVUxZUVweHpFdFNHUDFwUjU1RHhkVE9vZFNzbDRwQ051bi8z?=
 =?utf-8?B?WElqd2FqR3ViMDl6L21sSHZmdVNUUCtSS25CWDhxTHBHeGphcmpLdEJsRkJX?=
 =?utf-8?B?SzdYNjhhS3JJUFJod0ZVNHJMakJ2SURXWmF6M0sxaHZIRkErTGtaZXlFakFT?=
 =?utf-8?B?TVg2S0llVzErczZiTUV3WHdFU3EvUEpvV3JneWlKRFR4Yjd1Y2QrbFZRZTZE?=
 =?utf-8?B?N1FiSHl0c1d1UU5wK2Fzb3hRMXkvSnhha0RXeGljcnJENnFraWcwWEJpbXNJ?=
 =?utf-8?B?V0Q2S2wwU2Y2WXpDWjNQNU9UNUQ4emwwZXEvVGYyQXlZMW9kcnZnS0I2T2g2?=
 =?utf-8?B?ejkzWStPTnRJZktIWHlWVDJZM2RGWi82VGc5clg1ZWU0NXhhMWdQdGorQnlW?=
 =?utf-8?B?LzVTRHhvWDJRRDhqc2hUOWFzSVRhMHV3cU9Kb25KWXpjV25HRGxSd0xZRWtX?=
 =?utf-8?B?K0NSaGNGcWVXRHk4NlZCSTVIc1U4c3lwMGJmOGZlR2o2eklCMHNVWHduRnRl?=
 =?utf-8?B?Zi9mWFdYUnIyQVJRWW1GUTRoNVBlejJCZFoxeFJESFJjZUlpUjVyM0hkeFdm?=
 =?utf-8?B?cGdVVzUyTGkyQ2FvYnJIcWpWT1BEVXFVL25pK1hHT1hUOEpHSzEvaFVtTWxo?=
 =?utf-8?B?Y3lNeGM0ODZRVTdIVWRTdnFSYTlVRVowNnJFY0l5YzFsdFRDbENsYmgydWVk?=
 =?utf-8?B?VXRuYSsrRmhCdXIwLzF5eVNtc25hekh0LzhGMTVETDdGR296YnU5T20reFN0?=
 =?utf-8?B?NGJUa2RRNFUxbFZOWFgyRXBPb2Y1THpvNTdHdVlmektHV253K2E2NDRXN0pS?=
 =?utf-8?B?SFRQSEFCQURDZVVHNUUzQ3h5MitsTHY1U01DRFhtbW8zRzlOOWZpRWwrb3Bn?=
 =?utf-8?B?U2tkRE5ZbEdWWTQxRSt5M2hLTCtINUt1cW9aYkYvbjdzd2FWVkQrZnBJcGpI?=
 =?utf-8?B?eE5Ea3JISW5nT29QZ1hxNG9YT2F6eUtTL0Nnd0ZhYkNUamNpV3hWL05URDh1?=
 =?utf-8?B?dHpFMnRqeE5yZTc3a01TaGU5V01JR1BQbERjWGt0OURiVGF3K0oyR1NjdEdv?=
 =?utf-8?B?dStUenlXMk9wSDdrdnpPUzdhbDlvK3hrbXFyQUZzWGFjS3RqU3ZaOWpqczI5?=
 =?utf-8?B?ZW5VeURuMWpxYWJXYTJjM2pEdExteFlJaEFhckdNbkIrWCtuT2orQUdwam9S?=
 =?utf-8?B?am1jNHhsOEZ5dXBQakxhMXdZM2gremlwMGx1WkNkZGZ3bEl1K0xOL2hsaXhD?=
 =?utf-8?B?S2NaSk15Y1lvOVNlQzkvbVVmZlR3ZExIUjY4ZGpjdUhUb0hJdlNDelFGZ2Ir?=
 =?utf-8?B?M1NpNVdJTWlNOXdLMjF5bEpOeW5QNjB0a2ZCRXRuZmlycE1BZldJQ3N1bkly?=
 =?utf-8?B?RDBGTURqTmE3Znlwa0NYYUtucGNSSGhXaTJoa1I2N2ZlZnBzd1NrSmNXa3BD?=
 =?utf-8?B?WE93OUFjdVZvWkhTOHNXc1U2enB2MTlwU0RwSGNsZkk2RnFTWmdtMGd2Yjlz?=
 =?utf-8?B?MWlvaFpIK0tjSnQ0blZtNHRGMUxySXdKQVUrLzlVUjN3Smo2enMzOEQwUDFy?=
 =?utf-8?B?aUd3MFgxVUFKb0tSeFpnSjJvREdNUjl3bzRkNXAyeVpsUG5qRWh3NWJLa3py?=
 =?utf-8?B?SENQcjRXYXZhTjJBajhXTGkxSVcvK2FqTExNbjU1UzRjSFZibXdFZkM4SEZ0?=
 =?utf-8?B?bGg5Rk1FbjNiKzlTTVVpWklKSXlla1VLVXN2M3hTN0dNMGkrMkxlVjUydVZj?=
 =?utf-8?B?dUV6cENMbVFBeXdUZ3pwSlhleWk4bmIvbEg4a2tHaUNPOFlCcENoSjRHM0tI?=
 =?utf-8?B?bHg2ZFNnVml3NUh5NGlWL1dHYzdsNXJubkh1UjhkQ1NxajNrRnI3TURQMWU0?=
 =?utf-8?Q?0piwNPks36XmFcrMo/djsL04Y?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d62ff26-6849-4e84-7b8d-08dadf534074
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 10:49:48.5345
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: m+KR3S/iz2epUXsVdv5zDlY6PceLNTyGF2joXOViCtkQbCSvCHRfnsGRWj9Wu2LJz2qgDts+GdihfBgE3wrrhA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5744


On 16/12/2022 09:57, Julien Grall wrote:
> Hi,
Hi Julien,
>
> This patch is actually a good example to demonstrate the extra amount 
> of boiler plate required to use your new boiler.
>
> On 15/12/2022 19:32, Ayan Kumar Halder wrote:
>> device_tree_get_reg(), dt_next_cell() uses u64 for address and size.
>> Thus, the caller needs to be fixed to pass u64 values and then invoke
>> translate_dt_address_size() to do the translation between u64 and 
>> paddr_t.
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>>   xen/arch/arm/bootfdt.c | 22 ++++++++++++++--------
>>   1 file changed, 14 insertions(+), 8 deletions(-)
>>
>> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
>> index 0085c28d74..835bb5feb9 100644
>> --- a/xen/arch/arm/bootfdt.c
>> +++ b/xen/arch/arm/bootfdt.c
>> @@ -14,6 +14,7 @@
>>   #include <xen/libfdt/libfdt.h>
>>   #include <xen/sort.h>
>>   #include <xsm/xsm.h>
>> +#include <asm/platform.h>
>>   #include <asm/setup.h>
>>     static bool __init device_tree_node_matches(const void *fdt, int 
>> node,
>> @@ -68,7 +69,7 @@ static int __init device_tree_get_meminfo(const 
>> void *fdt, int node,
>>       unsigned int i, banks;
>>       const __be32 *cell;
>>       u32 reg_cells = address_cells + size_cells;
>> -    paddr_t start, size;
>> +    u64 start, size;
>>       struct meminfo *mem = data;
>>         if ( address_cells < 1 || size_cells < 1 )
>> @@ -219,7 +220,7 @@ static void __init process_multiboot_node(const 
>> void *fdt, int node,
>>       const struct fdt_property *prop;
>>       const __be32 *cell;
>>       bootmodule_kind kind;
>> -    paddr_t start, size;
>> +    u64 start, size;
>>       int len;
>>       /* sizeof("/chosen/") + DT_MAX_NAME + '/' + DT_MAX_NAME + '/0' 
>> => 92 */
>>       char path[92];
>> @@ -379,7 +380,8 @@ static int __init process_shm_node(const void 
>> *fdt, int node,
>>   {
>>       const struct fdt_property *prop, *prop_id, *prop_role;
>>       const __be32 *cell;
>> -    paddr_t paddr, gaddr, size;
>> +    paddr_t paddr = 0, gaddr = 0, size = 0;
>
> For a first 0 is a valid address. So we should not use is as 
> initialization.
>
>> +    u64 dt_paddr, dt_gaddr, dt_size;
>>       struct meminfo *mem = &bootinfo.reserved_mem;
>>       unsigned int i;
>>       int len;
>> @@ -443,10 +445,14 @@ static int __init process_shm_node(const void 
>> *fdt, int node,
>>       }
>>         cell = (const __be32 *)prop->data;
>> -    device_tree_get_reg(&cell, address_cells, address_cells, &paddr, 
>> &gaddr);
>> -    size = dt_next_cell(size_cells, &cell);
>> +    device_tree_get_reg(&cell, address_cells, address_cells, &dt_paddr,
>> +                        &dt_gaddr);
>> +    translate_dt_address_size(&dt_paddr, &dt_gaddr, &paddr, &gaddr
> If we function return a value, then this should be checked. If not, 
> then it should be explained.
>
> In this case, it is not clear to me who is checking the conversion was 
> successful.
Sorry, I missed this. The caller should have checked for the return 
value and "return -EINVAL" for the conversion error.

I am in two minds.

I am thinking that instead of returing error from 
translate_dt_address_size(), the function can invoke panic() when it 
detects incorrect address/size.

Any errors related to incorrect address/size (ie providing 64 bit for 
PA_32) should be treated as fatal. But I do not see any precedent for 
this (ie libfdt does not panic for an error).

We could return an error from translate_dt_address_size() as we are 
doing today. It means that the errors need to be checked by all the 
callers (which adds extra code).

- Ayan

>
> Overall, I think this will increase the amount of code. So before 
> doing the modification, I think we need to agree on whether this is 
> worth it to check the device-tree values.
>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 10:53:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 10:53:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464374.722750 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p68Lf-000401-Tv; Fri, 16 Dec 2022 10:53:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464374.722750; Fri, 16 Dec 2022 10:53:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p68Lf-0003zu-Qy; Fri, 16 Dec 2022 10:53:51 +0000
Received: by outflank-mailman (input) for mailman id 464374;
 Fri, 16 Dec 2022 10:53:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PP9E=4O=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p68Le-0003zo-Mo
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 10:53:50 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2065.outbound.protection.outlook.com [40.107.94.65])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cbc55ecb-7d2f-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 11:52:56 +0100 (CET)
Received: from BN9PR03CA0477.namprd03.prod.outlook.com (2603:10b6:408:139::32)
 by IA1PR12MB6305.namprd12.prod.outlook.com (2603:10b6:208:3e7::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Fri, 16 Dec
 2022 10:53:44 +0000
Received: from BN8NAM11FT050.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:139:cafe::ef) by BN9PR03CA0477.outlook.office365.com
 (2603:10b6:408:139::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.15 via Frontend
 Transport; Fri, 16 Dec 2022 10:53:44 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT050.mail.protection.outlook.com (10.13.177.5) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.15 via Frontend Transport; Fri, 16 Dec 2022 10:53:44 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 04:53:44 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 04:53:44 -0600
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 16 Dec 2022 04:53:43 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cbc55ecb-7d2f-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RNDUPN9/swBpdOxB3TcZW9lbKftkoHXSbJxPbAjP2+6Gbv/+t9EFNxG0LbGm8zBM/XvnRPY9hfYaKXAMRg8OTg/m3MGUAFCe3D/5pl6DohErpDNWZyidDtzmY+NTFfIs5ejjlEXANziPSwkLrkoP2ER2PdMFl1hBBapxGG6MwVT1I93fkHqTguSQhkF8hataosLXtiwyYeJITfDbUjgN0WfEyVPo0VIp+lbVm56dnb5fwUOQt5AkKNMaYA1HoK0QAjCnrIG5ZhLKz870pAACcqyNNBr99K+wmJSiIKwI26BNEPl0eb6o7wZmXTM4+hdrl1Rb1psclkFUSyjVhF9Eig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zrG+Ru6g+bZ2ek+EHqZeGnz+8LnPzwUMgEKAmA+DmQU=;
 b=bZHTVaqaF7hKXuPgQVwBKhP6hV0uL1p4jYb9SHSn1Aas5umm2fBEEQR8Ki9un/Z4mrjfMiMB2HjCk/yPHUkhkmPhqCiQAPJdxCtVF2JsvI0UpU13vTEgllIXmWD+4M5o/YmNtxEFQNqcGj/IcgIITj3BZFjDYwqiB56+y2ZWJaQnXp8QU0Uzy0hZLhOPv+7zZIrfurmj33A2WQkkY/BZIL7A31MJiokX61hQYMlZCS0TmX7IE5bmujdE/yBxeJnXapJjPLBp93ZbKZmhXa52Ts4d8W4tDH/9knJvEylw/YB/9qegX7J6k23XnZ8CmUjHNiIr/uSdp2qA5NQTr02ihQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zrG+Ru6g+bZ2ek+EHqZeGnz+8LnPzwUMgEKAmA+DmQU=;
 b=Qk550pj7hWb39WZ1DI2xHLc4I/eR/+s0w0NQGeqp2+UHF/PBuAF0mRb/2yxZK34SquoAPjCr+hrMHM4eEo1Zli0EMz3p9Dcq8KjzFrI5YavSzpSBDXy9XCRvCuqKZ1PIODW6+I/mXsYCNs9ydewnPJ1MK2c4OBu5zm2bviIyAuo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <22696c5b-f9cf-fddd-77aa-79f1c28f1cd9@amd.com>
Date: Fri, 16 Dec 2022 11:53:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [XTF-ARM] tests: Hypercall xen_version testing
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
CC: <sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
References: <20221215152511.10194-1-michal.orzel@amd.com>
 <58a87888-e839-8a5d-0e7f-7520e5e2c78a@suse.com>
 <235eaf7f-5b59-e8de-8657-ce9d202365c1@amd.com>
 <219f3764-dade-7ef5-fbd7-fa9d2ae20d8c@suse.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <219f3764-dade-7ef5-fbd7-fa9d2ae20d8c@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT050:EE_|IA1PR12MB6305:EE_
X-MS-Office365-Filtering-Correlation-Id: 1d4bfb7b-66f8-4e47-ca2d-08dadf53cd63
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rBAseJZXZEi9PP76MWxzNVxuCV7mmw9P4p1g2t1/du4HodcrQDz3s6R9bBDKGEIJqSc19cTNakiqD7w/sDAJZTU241MBCZ0vwiWKij2PNCFQgK1v2cvPGQEWOxSJN/ZeXTAvWJOecC/zZhL1pXxsmjHwzp9hzz44cIb+5O4w9sksi+XBUbge7aQMhvBv/HDZ3EYU3apgK2xRQoIl7ljWQq7MBY0w+YRenCIMsXC9qeG9QjVzvJFZ1im4QX7gP7uOJVi3VwYe0X+aZZQjgVenZAtAEITo7VEBYUnKfyd7YvICNKYH+Cmjuwt5TB5Wxl0eX7o5gjJ5KcI9X5hYTruvfhBIINUTRriScZnM+mbUTKMSJfpPj3SOaaYBqvKsqBOqxVCDhmvc5O3o2D7wdgJHDCHn4jjRhPuKNmT/DkFu029V7pV6CIGGCCF/SRg2+neOjJWprzTIUcZebsyXj4yUJsSbvLeZY4N7TmhAWVBbWp1vjvxjZOdlZf7v6ao+kF0w/g1oPrHtMassD0Qwavlg/AykSoWTMaNWKAgvRaGO74sjlRMO5M+Ea8EpfkrFdgYfE0qLmcE0aGl2cCaS9mejz4+T7vAnHJXALFdEhgzJOB22vlBjJtN4/gdN6U4q6Qz9VwCiGJ/V2gMSyHzqiYcHLyR23LacNMcphEIp4CAqIlWb3Z/bSrGrUel9ZAbnOtPQhUfqbCftLG8DiI0t0+SQj6iwuMYF0xPumwOiY4cWW+4qfVs1I9VJpeXz5aoeROwZE9/ar0KrwEHrSELMHzvL4A==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(396003)(39860400002)(346002)(451199015)(36840700001)(40470700004)(46966006)(40460700003)(36756003)(31686004)(70206006)(16576012)(70586007)(4326008)(6916009)(44832011)(40480700001)(8676002)(36860700001)(2906002)(54906003)(316002)(82740400003)(81166007)(31696002)(86362001)(356005)(83380400001)(2616005)(186003)(26005)(53546011)(336012)(5660300002)(8936002)(41300700001)(82310400005)(426003)(478600001)(47076005)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 10:53:44.7026
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d4bfb7b-66f8-4e47-ca2d-08dadf53cd63
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT050.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6305



On 16/12/2022 11:21, Jan Beulich wrote:
> 
> 
> On 16.12.2022 10:30, Michal Orzel wrote:
>> On 15/12/2022 16:48, Jan Beulich wrote:
>>> On 15.12.2022 16:25, Michal Orzel wrote:
>>>> --- /dev/null
>>>> +++ b/tests/hyp-xen-version/main.c
>>>> @@ -0,0 +1,105 @@
>>>> +/**
>>>> + * @file tests/hyp-xen-version/main.c
>>>> + * @ref test-hyp-xen-version
>>>> + *
>>>> + * @page test-hyp-xen-version Hypercall xen_version
>>>> + *
>>>> + * Functional testing of xen_version hypercall.
>>>> + *
>>>> + * @see tests/hyp-xen-version/main.c
>>>> + */
>>>> +#include <xtf.h>
>>>> +
>>>> +const char test_title[] = "Hypercall xen_version testing";
>>>> +
>>>> +#define INVALID_CMD -1
>>>> +
>>>> +void test_main(void)
>>>> +{
>>>> +    int ret;
>>>> +
>>>> +    printk("Checking XENVER_version:\n");
>>>> +    {
>>>> +        /*
>>>> +        * Version is returned directly in format: ((major << 16) | minor),
>>>> +        * so no need to check the return value for an error.
>>>> +        */
>>>> +        ret = hypercall_xen_version(XENVER_version, NULL);
>>>> +        printk(" version: %u.%u\n", ret >> 16, ret & 0xFFFF);
>>>> +    }
>>>> +
>>>> +    printk("Checking XENVER_extraversion:\n");
>>>> +    {
>>>> +        xen_extraversion_t xen_ev;
>>>> +        memset(&xen_ev, 0, sizeof(xen_ev));
>>>> +
>>>> +        ret = hypercall_xen_version(XENVER_extraversion, xen_ev);
>>>> +        if ( ret < 0 )
>>>> +            return xtf_error("Error %d\n", ret);
>>>
>>> This, ...
>>>
>>>> +        printk(" extraversion: %s\n", xen_ev);
>>>> +    }
>>>> +
>>>> +    printk("Checking XENVER_compile_info:\n");
>>>> +    {
>>>> +        xen_compile_info_t xen_ci;
>>>> +        memset(&xen_ci, 0, sizeof(xen_ci));
>>>> +
>>>> +        ret = hypercall_xen_version(XENVER_compile_info, &xen_ci);
>>>> +        if ( ret < 0 )
>>>> +            return xtf_error("Error %d\n", ret);
>>>
>>> ... this, and ...
>>>
>>>> +        printk(" compiler:       %s\n", xen_ci.compiler);
>>>> +        printk(" compile_by:     %s\n", xen_ci.compile_by);
>>>> +        printk(" compile_domain: %s\n", xen_ci.compile_domain);
>>>> +        printk(" compile_date:   %s\n", xen_ci.compile_date);
>>>> +    }
>>>> +
>>>> +    printk("Checking XENVER_changeset:\n");
>>>> +    {
>>>> +        xen_changeset_info_t xen_cs;
>>>> +        memset(&xen_cs, 0, sizeof(xen_cs));
>>>> +
>>>> +        ret = hypercall_xen_version(XENVER_changeset, &xen_cs);
>>>> +        if ( ret < 0 )
>>>> +            return xtf_error("Error %d\n", ret);
>>>
>>> ... this can fail because of XSM denying access. (Others can of course
>>> also fail for this reason, but here possible failure is kind of
>>> "intended" - see the dummy xsm_xen_version() handling.) Therefore I
>>> would like to suggest that you also special case getting back -EPERM,
>>> resulting in e.g. just a warning instead of an error.
>> When writing a test I did make sure to check xsm_xen_version *for the operations that I covered*
>> and my understanding is as follows:
>> For XENVER_version and XENVER_get_features, it returns 0 so deny is false.
>> For other commands I test, xsm_default_action is called with XSM_HOOK which returns 0 as well.
>> So AFAICT nothing can result in setting deny to true.
>> But even in case of setting deny to true, it would just result in copying "<denied>" into
>> the respective buffer. It would not alter the hypercall return value.
> 
> For dummy itself all is fine; arrangements there suggest to me though
> that the intention was that an actual Flask policy may be written such
> that some of these might actually be refused. My recollection actually
> is that when the distinction for the sub-ops was introduced, quite a
> bit of discussion happened as to what may or may not be (optionally
> or uniformly) be rejected.
Ok but in any case, in the current xen_version implementation, it will just
result in storing "<denied>". No -EPERM will be returned. So do you think it
would make sense to add handling for it in the test even though it cannot be
triggered?

> 
> Jan

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:12:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:12:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464384.722760 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p68dk-0006ZA-Gr; Fri, 16 Dec 2022 11:12:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464384.722760; Fri, 16 Dec 2022 11:12:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p68dk-0006Z3-ED; Fri, 16 Dec 2022 11:12:32 +0000
Received: by outflank-mailman (input) for mailman id 464384;
 Fri, 16 Dec 2022 11:12:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p68dj-0006Yw-7K
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:12:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p68di-0001Bc-Np; Fri, 16 Dec 2022 11:12:30 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.4.243]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p68di-0003YK-Gy; Fri, 16 Dec 2022 11:12:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Snj7+Lzptvg2zgMsY96nnpsA2NbJDCNsaoINnkqG3L0=; b=f03JBSulXdeVta72JBNe+ykuYG
	fnWfegNZOVGTIXeP9FbjYEwJn81fkM6SUjNtaKWrcV88+lmVG9wY1Bha795p5v8e+dFxV4vzaYF6P
	OchLy4gokPlsmP5lAWX8sebPBCAD4VnxINerSQXsFE1Df8+CRWoKqMeVQIu3vrNr4Y6Y=;
Message-ID: <d00c5a32-b0c2-980b-d9b9-06a4aa8db1f1@xen.org>
Date: Fri, 16 Dec 2022 11:12:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v1 3/9] xen/arm: Always use 'u64' instead of 'paddr_t' for
 address and size in DT
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-4-ayan.kumar.halder@amd.com>
 <c63310d5-e699-3f6c-15a9-eec314cb179c@xen.org>
 <1739c415-d1e6-efad-774e-5a49c9f28a09@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1739c415-d1e6-efad-774e-5a49c9f28a09@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 16/12/2022 10:49, Ayan Kumar Halder wrote:
> 
> On 16/12/2022 09:57, Julien Grall wrote:
>> Hi,
> Hi Julien,
>>
>> This patch is actually a good example to demonstrate the extra amount 
>> of boiler plate required to use your new boiler.
>>
>> On 15/12/2022 19:32, Ayan Kumar Halder wrote:
>>> device_tree_get_reg(), dt_next_cell() uses u64 for address and size.
>>> Thus, the caller needs to be fixed to pass u64 values and then invoke
>>> translate_dt_address_size() to do the translation between u64 and 
>>> paddr_t.
>>>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>>   xen/arch/arm/bootfdt.c | 22 ++++++++++++++--------
>>>   1 file changed, 14 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
>>> index 0085c28d74..835bb5feb9 100644
>>> --- a/xen/arch/arm/bootfdt.c
>>> +++ b/xen/arch/arm/bootfdt.c
>>> @@ -14,6 +14,7 @@
>>>   #include <xen/libfdt/libfdt.h>
>>>   #include <xen/sort.h>
>>>   #include <xsm/xsm.h>
>>> +#include <asm/platform.h>
>>>   #include <asm/setup.h>
>>>     static bool __init device_tree_node_matches(const void *fdt, int 
>>> node,
>>> @@ -68,7 +69,7 @@ static int __init device_tree_get_meminfo(const 
>>> void *fdt, int node,
>>>       unsigned int i, banks;
>>>       const __be32 *cell;
>>>       u32 reg_cells = address_cells + size_cells;
>>> -    paddr_t start, size;
>>> +    u64 start, size;
>>>       struct meminfo *mem = data;
>>>         if ( address_cells < 1 || size_cells < 1 )
>>> @@ -219,7 +220,7 @@ static void __init process_multiboot_node(const 
>>> void *fdt, int node,
>>>       const struct fdt_property *prop;
>>>       const __be32 *cell;
>>>       bootmodule_kind kind;
>>> -    paddr_t start, size;
>>> +    u64 start, size;
>>>       int len;
>>>       /* sizeof("/chosen/") + DT_MAX_NAME + '/' + DT_MAX_NAME + '/0' 
>>> => 92 */
>>>       char path[92];
>>> @@ -379,7 +380,8 @@ static int __init process_shm_node(const void 
>>> *fdt, int node,
>>>   {
>>>       const struct fdt_property *prop, *prop_id, *prop_role;
>>>       const __be32 *cell;
>>> -    paddr_t paddr, gaddr, size;
>>> +    paddr_t paddr = 0, gaddr = 0, size = 0;
>>
>> For a first 0 is a valid address. So we should not use is as 
>> initialization.
>>
>>> +    u64 dt_paddr, dt_gaddr, dt_size;
>>>       struct meminfo *mem = &bootinfo.reserved_mem;
>>>       unsigned int i;
>>>       int len;
>>> @@ -443,10 +445,14 @@ static int __init process_shm_node(const void 
>>> *fdt, int node,
>>>       }
>>>         cell = (const __be32 *)prop->data;
>>> -    device_tree_get_reg(&cell, address_cells, address_cells, &paddr, 
>>> &gaddr);
>>> -    size = dt_next_cell(size_cells, &cell);
>>> +    device_tree_get_reg(&cell, address_cells, address_cells, &dt_paddr,
>>> +                        &dt_gaddr);
>>> +    translate_dt_address_size(&dt_paddr, &dt_gaddr, &paddr, &gaddr
>> If we function return a value, then this should be checked. If not, 
>> then it should be explained.
>>
>> In this case, it is not clear to me who is checking the conversion was 
>> successful.
> Sorry, I missed this. The caller should have checked for the return 
> value and "return -EINVAL" for the conversion error.
> 
> I am in two minds.
> 
> I am thinking that instead of returing error from 
> translate_dt_address_size(), the function can invoke panic() when it 
> detects incorrect address/size.

panic() is not an option if the function can be used after boot. But 
even if the use were restricted to boot ...

> 
> Any errors related to incorrect address/size (ie providing 64 bit for 
> PA_32) should be treated as fatal. 

... translate_dt_address_size() is too generic to make this decision. 
This is up to the caller to decide whether it is fine to ignore or crash.

> But I do not see any precedent for 
> this (ie libfdt does not panic for an error).

The same reasoning applies here.

> 
> We could return an error from translate_dt_address_size() as we are 
> doing today. It means that the errors need to be checked by all the 
> callers (which adds extra code).

Another option is the one I mentioned before. Don't check the truncation 
because that's not Xen job to very all the Device-Tree (in particular if 
this is intrusive).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:13:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:13:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464391.722772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p68eJ-000754-PU; Fri, 16 Dec 2022 11:13:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464391.722772; Fri, 16 Dec 2022 11:13:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p68eJ-00074x-Mi; Fri, 16 Dec 2022 11:13:07 +0000
Received: by outflank-mailman (input) for mailman id 464391;
 Fri, 16 Dec 2022 11:13:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p68eJ-00074n-A1
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:13:07 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p68eI-0001CO-Uv; Fri, 16 Dec 2022 11:13:06 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.4.243]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p68eI-0003ZC-Oi; Fri, 16 Dec 2022 11:13:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=vExX+w1ZtDF+N0Gp5RydI0hrA2lKpCLkkJISJJyIOT0=; b=HR+6Y6Mpy7gHxzo6o7egVzwdJj
	yG4qQUt9abDQWezYBzYBfDE9jTOhh+7V9j60voGsRdpC1oel6yyDxgFIY3V33L6XzqgIM1gLSPTcf
	gzv+Znhi4/MK2WQnso9DouPr+peiuee/r0zcrf4+3Wr5n8A8i9e0s1OqXiGo3Np3gT2M=;
Message-ID: <865f4fcf-1c78-8b84-7ba4-a3c62718b3c3@xen.org>
Date: Fri, 16 Dec 2022 11:13:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v1 3/9] xen/arm: Always use 'u64' instead of 'paddr_t' for
 address and size in DT
Content-Language: en-US
From: Julien Grall <julien@xen.org>
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-4-ayan.kumar.halder@amd.com>
 <c63310d5-e699-3f6c-15a9-eec314cb179c@xen.org>
 <1739c415-d1e6-efad-774e-5a49c9f28a09@amd.com>
 <d00c5a32-b0c2-980b-d9b9-06a4aa8db1f1@xen.org>
In-Reply-To: <d00c5a32-b0c2-980b-d9b9-06a4aa8db1f1@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 16/12/2022 11:12, Julien Grall wrote:
> 
> 
> On 16/12/2022 10:49, Ayan Kumar Halder wrote:
>>
>> On 16/12/2022 09:57, Julien Grall wrote:
>>> Hi,
>> Hi Julien,
>>>
>>> This patch is actually a good example to demonstrate the extra amount 
>>> of boiler plate required to use your new boiler.
>>>
>>> On 15/12/2022 19:32, Ayan Kumar Halder wrote:
>>>> device_tree_get_reg(), dt_next_cell() uses u64 for address and size.
>>>> Thus, the caller needs to be fixed to pass u64 values and then invoke
>>>> translate_dt_address_size() to do the translation between u64 and 
>>>> paddr_t.
>>>>
>>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>>> ---
>>>>   xen/arch/arm/bootfdt.c | 22 ++++++++++++++--------
>>>>   1 file changed, 14 insertions(+), 8 deletions(-)
>>>>
>>>> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
>>>> index 0085c28d74..835bb5feb9 100644
>>>> --- a/xen/arch/arm/bootfdt.c
>>>> +++ b/xen/arch/arm/bootfdt.c
>>>> @@ -14,6 +14,7 @@
>>>>   #include <xen/libfdt/libfdt.h>
>>>>   #include <xen/sort.h>
>>>>   #include <xsm/xsm.h>
>>>> +#include <asm/platform.h>
>>>>   #include <asm/setup.h>
>>>>     static bool __init device_tree_node_matches(const void *fdt, int 
>>>> node,
>>>> @@ -68,7 +69,7 @@ static int __init device_tree_get_meminfo(const 
>>>> void *fdt, int node,
>>>>       unsigned int i, banks;
>>>>       const __be32 *cell;
>>>>       u32 reg_cells = address_cells + size_cells;
>>>> -    paddr_t start, size;
>>>> +    u64 start, size;
>>>>       struct meminfo *mem = data;
>>>>         if ( address_cells < 1 || size_cells < 1 )
>>>> @@ -219,7 +220,7 @@ static void __init process_multiboot_node(const 
>>>> void *fdt, int node,
>>>>       const struct fdt_property *prop;
>>>>       const __be32 *cell;
>>>>       bootmodule_kind kind;
>>>> -    paddr_t start, size;
>>>> +    u64 start, size;
>>>>       int len;
>>>>       /* sizeof("/chosen/") + DT_MAX_NAME + '/' + DT_MAX_NAME + '/0' 
>>>> => 92 */
>>>>       char path[92];
>>>> @@ -379,7 +380,8 @@ static int __init process_shm_node(const void 
>>>> *fdt, int node,
>>>>   {
>>>>       const struct fdt_property *prop, *prop_id, *prop_role;
>>>>       const __be32 *cell;
>>>> -    paddr_t paddr, gaddr, size;
>>>> +    paddr_t paddr = 0, gaddr = 0, size = 0;
>>>
>>> For a first 0 is a valid address. So we should not use is as 
>>> initialization.
>>>
>>>> +    u64 dt_paddr, dt_gaddr, dt_size;
>>>>       struct meminfo *mem = &bootinfo.reserved_mem;
>>>>       unsigned int i;
>>>>       int len;
>>>> @@ -443,10 +445,14 @@ static int __init process_shm_node(const void 
>>>> *fdt, int node,
>>>>       }
>>>>         cell = (const __be32 *)prop->data;
>>>> -    device_tree_get_reg(&cell, address_cells, address_cells, 
>>>> &paddr, &gaddr);
>>>> -    size = dt_next_cell(size_cells, &cell);
>>>> +    device_tree_get_reg(&cell, address_cells, address_cells, 
>>>> &dt_paddr,
>>>> +                        &dt_gaddr);
>>>> +    translate_dt_address_size(&dt_paddr, &dt_gaddr, &paddr, &gaddr
>>> If we function return a value, then this should be checked. If not, 
>>> then it should be explained.
>>>
>>> In this case, it is not clear to me who is checking the conversion 
>>> was successful.
>> Sorry, I missed this. The caller should have checked for the return 
>> value and "return -EINVAL" for the conversion error.
>>
>> I am in two minds.
>>
>> I am thinking that instead of returing error from 
>> translate_dt_address_size(), the function can invoke panic() when it 
>> detects incorrect address/size.
> 
> panic() is not an option if the function can be used after boot. But 
> even if the use were restricted to boot ...
> 
>>
>> Any errors related to incorrect address/size (ie providing 64 bit for 
>> PA_32) should be treated as fatal. 
> 
> ... translate_dt_address_size() is too generic to make this decision. 
> This is up to the caller to decide whether it is fine to ignore or crash.
> 
>> But I do not see any precedent for this (ie libfdt does not panic for 
>> an error).
> 
> The same reasoning applies here.
> 
>>
>> We could return an error from translate_dt_address_size() as we are 
>> doing today. It means that the errors need to be checked by all the 
>> callers (which adds extra code).
> 
> Another option is the one I mentioned before. Don't check the truncation 
> because that's not Xen job to very all the Device-Tree (in particular if 


s/very/verify/

I only noticed it after sending (sorry).

> this is intrusive).
> 
> Cheers,
> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:36:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:36:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464402.722789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p690h-0001Jl-OX; Fri, 16 Dec 2022 11:36:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464402.722789; Fri, 16 Dec 2022 11:36:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p690h-0001Je-LL; Fri, 16 Dec 2022 11:36:15 +0000
Received: by outflank-mailman (input) for mailman id 464402;
 Fri, 16 Dec 2022 11:36:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p690g-0001JU-QE; Fri, 16 Dec 2022 11:36:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p690g-0001m9-Ne; Fri, 16 Dec 2022 11:36:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p690g-0005At-Dp; Fri, 16 Dec 2022 11:36:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p690g-0007nq-DJ; Fri, 16 Dec 2022 11:36:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OHNfL/KAwIMyKTbWJOGL01k/9rX/6cDXxUmkIMMLT1A=; b=6SiHCiagnfg2qyrTnci7/yEYWz
	0iL0Mqm8uBCLEjC7a50DOD8aUwpdYx56DjgkXLfH1pnaU3BuN3aMl8tZfXa30vjgmHttHVtvCX+uv
	4+PMNN0YdIN01jOCPIJ1d+7TVZcyQpVat0BCuh4SlkyNFeGyu4LH0ZpYh1XTvURxUgw4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175311-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175311: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=e254c71e9eaee6b14eba65e89e906576f3f1abc7
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 11:36:14 +0000

flight 175311 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175311/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 e254c71e9eaee6b14eba65e89e906576f3f1abc7
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    1 days
Failing since        175214  2022-12-14 18:42:16 Z    1 days   10 attempts
Testing same since   175311  2022-12-16 07:46:32 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 365 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:47:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:47:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464412.722801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69BA-0002qW-QV; Fri, 16 Dec 2022 11:47:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464412.722801; Fri, 16 Dec 2022 11:47:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69BA-0002qP-LG; Fri, 16 Dec 2022 11:47:04 +0000
Received: by outflank-mailman (input) for mailman id 464412;
 Fri, 16 Dec 2022 11:47:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p69BA-0002qF-0i; Fri, 16 Dec 2022 11:47:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p69B9-0002An-Tm; Fri, 16 Dec 2022 11:47:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p69B9-0005Yc-IW; Fri, 16 Dec 2022 11:47:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p69B9-0003qe-I3; Fri, 16 Dec 2022 11:47:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6EFb00P41PDhqfdWFMOvpgWh2tbjw/E5dAiWjW4E8Oc=; b=vIrvqNisNWHlU/PBo67TAvmIXL
	oq1FEyxox4sh5C+THHpSDjHYydvSi62+SR8NWUUTgZBRyyUesphXQtOUuK2lKnpAyzHyZPovQlAxU
	ObzxHdZgyr7o3b1t2JD3O/tHq8MalQ0ZmQzk3Y5deAlPUon5JU18yQgWfQRdnAwYMSCg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175297-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175297: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-armhf-armhf-libvirt:xen-boot:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start.2:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=29dc49f0310ad4439424eeaf179de46d15bd2d6b
X-Osstest-Versions-That:
    qemuu=ae2b87341b5ddb0dcb1b3f2d4f586ef18de75873
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 11:47:03 +0000

flight 175297 qemu-mainline real [real]
flight 175316 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175297/
http://logs.test-lab.xenproject.org/osstest/logs/175316/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt      8 xen-boot            fail pass in 175316-retest
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail pass in 175316-retest
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail pass in 175316-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 175316 like 175267
 test-amd64-i386-xl-vhd       22 guest-start.2       fail in 175316 like 175267
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 175316 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175267
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175267
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175267
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175267
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175267
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175267
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175267
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                29dc49f0310ad4439424eeaf179de46d15bd2d6b
baseline version:
 qemuu                ae2b87341b5ddb0dcb1b3f2d4f586ef18de75873

Last test of basis   175267  2022-12-15 10:37:10 Z    1 days
Testing same since   175297  2022-12-15 22:08:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Gavin Shan <gshan@redhat.com>
  Juan Quintela <quintela@redhat.com>
  Luke Starrett <lukes@xsightlabs.com>
  Markus Armbruster <armbru@redhat.com>
  Mihai Carabas <mihai.carabas@oracle.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Schspa Shi <schspa@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Timofey Kutergin <tkutergin@gmail.com>
  Zhenyu Zhang <zhenyzha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   ae2b87341b..29dc49f031  29dc49f0310ad4439424eeaf179de46d15bd2d6b -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:49:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:49:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464424.722811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D2-0003VJ-77; Fri, 16 Dec 2022 11:49:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464424.722811; Fri, 16 Dec 2022 11:49:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D2-0003VB-4O; Fri, 16 Dec 2022 11:49:00 +0000
Received: by outflank-mailman (input) for mailman id 464424;
 Fri, 16 Dec 2022 11:48:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69D0-0003V0-Pm
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:48:58 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D0-0002Ca-Ee; Fri, 16 Dec 2022 11:48:58 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D0-0004sN-5B; Fri, 16 Dec 2022 11:48:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=3cyfX6VRmfkRmBRP2xPbR0+h3cqQiViAlzl0YRHWdPg=; b=Eg1qy/
	U2LZqGD2w+Gk3S1uDj2UZqAKOeNxL2BH7q2+JMWiJtxGYJh/8h5m+iyJXJYB/z/pRKST/YkaKS8Vt
	9xdPyB4KmTUtkzqvvgeU2KFncck3Gv1wbfEwYJF86q2sKvGmUF0JIwd3yLptXy0O8b3aXwZuTkH0I
	1ZqlO8kvNuE=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 00/22] Remove the directmap
Date: Fri, 16 Dec 2022 11:48:31 +0000
Message-Id: <20221216114853.8227-1-julien@xen.org>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Hi all,

A few years ago, Wei Liu implemented a PoC to remove the directmap
from Xen. The last version was sent by Hongyan Xia [1].

I will start with thanking both Wei and Hongyan for the initial work
to upstream the feature. A lot of patches already went in and this is
the last few patches missing to effectively enable the feature.

=== What is the directmap? ===

At the moment, on both arm64 and x86, most of the RAM is mapped
in Xen address space. This means that domain memory is easily
accessible in Xen.

=== Why do we want to remove the directmap? ===

(Summarizing my understanding of the previous discussion)

Speculation attacks (like Spectre SP1) rely on loading piece of memory
in the cache. If the region is not mapped then it can't be loaded.

So removing reducing the amount of memory mapped in Xen will also
reduce the surface attack.

=== What's the performance impact? ===

As the guest memory is not always mapped, then the cost of mapping
will increase. I haven't done the numbers with this new version, but
some measurement were provided in the previous version for x86.

=== Improvement possible ===

The known area to improve on x86 are:
   * Mapcache: There was a patch sent by Hongyan:
     https://lore.kernel.org/xen-devel/4058e92ce21627731c49b588a95809dc0affd83a.1581015491.git.hongyxia@amazon.com/
   * EPT: At the moment an guest page-tabel walk requires about 20 map/unmap.
     This will have an very high impact on the performance. We need to decide
     whether keep the EPT always mapped is a problem

The original series didn't have support for Arm64. But as there were
some interest, I have provided a PoC.

There are more extra work for Arm64:
   * The mapcache is quite simple. We would investigate the performance
   * The mapcache should be made compliant to the Arm Arm (this is now
     more critical).
   * We will likely have the same problem as for the EPT.
   * We have no support for merging table to a superpage, neither
     free empty page-tables. (See more below)

=== Implementation ===

The subject is probably a misnomer. The directmap is still present but
the RAM is not mapped by default. Instead, the region will still be used
to map pages allocate via alloc_xenheap_pages().

The advantage is the solution is simple (so IHMO good enough for been
merged as a tech preview). The disadvantage is the page allocator is not
trying to keep all the xenheap pages together. So we may end up to have
an increase of page table usage.

In the longer term, we should consider to remove the direct map
completely and switch to vmap(). The main problem with this approach
is it is frequent to use mfn_to_virt() in the code. So we would need
to cache the mapping (maybe in the struct page_info).

=== Why arm32 is not covered? ===

On Arm32, the domheap and xenheap is always separated. So by design
the guest memory is not mapped by default.

At this stage, it seems unnecessary to have to map/unmap xenheap pages
every time they are allocated.

=== Why not using a separate domheap and xenheap? ===

While a separate xenheap/domheap reduce the page-table usage (all
xenheap pages are contiguous and could be always mapped), it is also
currently less scalable because the split is fixed at boot time (XXX:
Can this be dynamic?).

=== Future of secret-free hypervisor ===

There are some information in an e-mail from Andrew a few years ago:

https://lore.kernel.org/xen-devel/e3219697-0759-39fc-2486-715cdec1ca9e@citrix.com/

Cheers,

[1] https://lore.kernel.org/xen-devel/cover.1588278317.git.hongyxia@amazon.com/

*** BLURB HERE ***

Hongyan Xia (12):
  acpi: vmap pages in acpi_os_alloc_memory
  xen/numa: vmap the pages for memnodemap
  x86/srat: vmap the pages for acpi_slit
  x86: map/unmap pages in restore_all_guests
  x86/pv: rewrite how building PV dom0 handles domheap mappings
  x86/mapcache: initialise the mapcache for the idle domain
  x86: add a boot option to enable and disable the direct map
  x86/domain_page: remove the fast paths when mfn is not in the
    directmap
  xen/page_alloc: add a path for xenheap when there is no direct map
  x86/setup: leave early boot slightly earlier
  x86/setup: vmap heap nodes when they are outside the direct map
  x86/setup: do not create valid mappings when directmap=no

Julien Grall (7):
  xen/common: page_alloc: Re-order includes
  xen/arm: fixmap: Rename the fixmap slots to follow the x86 convention
  xen/x86: Add support for the PMAP
  xen/arm32: mm: Rename 'first' to 'root' in init_secondary_pagetables()
  xen/arm64: mm: Use per-pCPU page-tables
  xen/arm64: Implement a mapcache for arm64
  xen/arm64: Allow the admin to enable/disable the directmap

Wei Liu (3):
  x86/setup: move vm_init() before acpi calls
  x86/pv: domheap pages should be mapped while relocating initrd
  x86: lift mapcache variable to the arch level

 docs/misc/xen-command-line.pandoc       |  12 +++
 xen/arch/arm/Kconfig                    |   1 +
 xen/arch/arm/acpi/lib.c                 |  18 ++--
 xen/arch/arm/domain_page.c              |  49 +++++++++-
 xen/arch/arm/include/asm/arm32/mm.h     |   8 --
 xen/arch/arm/include/asm/arm64/mm.h     |   2 +-
 xen/arch/arm/include/asm/config.h       |   7 ++
 xen/arch/arm/include/asm/domain_page.h  |  13 +++
 xen/arch/arm/include/asm/early_printk.h |   2 +-
 xen/arch/arm/include/asm/fixmap.h       |  16 +--
 xen/arch/arm/include/asm/mm.h           |  17 ++++
 xen/arch/arm/kernel.c                   |   6 +-
 xen/arch/arm/mm.c                       | 104 +++++++++++---------
 xen/arch/arm/setup.c                    |  10 +-
 xen/arch/x86/Kconfig                    |   1 +
 xen/arch/x86/domain.c                   |   4 +-
 xen/arch/x86/domain_page.c              |  70 +++++++++----
 xen/arch/x86/include/asm/domain.h       |  12 +--
 xen/arch/x86/include/asm/fixmap.h       |   4 +
 xen/arch/x86/include/asm/mm.h           |  17 +++-
 xen/arch/x86/include/asm/pmap.h         |  25 +++++
 xen/arch/x86/mm.c                       |   6 ++
 xen/arch/x86/pv/dom0_build.c            |  74 +++++++++++---
 xen/arch/x86/setup.c                    | 125 ++++++++++++++++++++----
 xen/arch/x86/srat.c                     |   3 +-
 xen/arch/x86/x86_64/entry.S             |  27 ++++-
 xen/common/numa.c                       |   8 +-
 xen/common/page_alloc.c                 | 112 ++++++++++++++++-----
 xen/common/pmap.c                       |   8 +-
 xen/common/vmap.c                       |  42 ++++++--
 xen/drivers/acpi/osl.c                  |  13 ++-
 xen/include/xen/vmap.h                  |   2 +
 32 files changed, 627 insertions(+), 191 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/domain_page.h
 create mode 100644 xen/arch/x86/include/asm/pmap.h

-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:49:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:49:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464425.722822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D3-0003kq-EQ; Fri, 16 Dec 2022 11:49:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464425.722822; Fri, 16 Dec 2022 11:49:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D3-0003ke-B5; Fri, 16 Dec 2022 11:49:01 +0000
Received: by outflank-mailman (input) for mailman id 464425;
 Fri, 16 Dec 2022 11:49:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69D1-0003V6-Vy
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:48:59 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D1-0002Ck-IE; Fri, 16 Dec 2022 11:48:59 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D1-0004sN-Ac; Fri, 16 Dec 2022 11:48:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=X62OB5zEH/tDpewvEhcpco/a600UQZqosHxduopbkeM=; b=HPVAWQs2Y10cVfCLowvI46rn4J
	Rk7SZE68vWXFpoVTrvipRP1OoMIpQftR34TIzujyKous+0/kj9v44h+lVFnSmLeVgl+5bjWuUBA/6
	SO8fPL6Zzkj2xrK43va6J4T8CBABVMYS5MLTcfS2wJyZ2YYu3acL9yx/f982YCkmSJ7k=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 01/22] xen/common: page_alloc: Re-order includes
Date: Fri, 16 Dec 2022 11:48:32 +0000
Message-Id: <20221216114853.8227-2-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Order the includes with the xen headers first, then asm headers and
last public headers. Within each category, they are sorted alphabetically.

Note that the includes in protected by CONFIG_X86 hasn't been sorted
to avoid adding multiple #ifdef.

Signed-off-by: Julien Grall <jgrall@amazon.com>

----

    I am open to add sort the includes protected by CONFIG_X86
    and add multiple #ifdef if this is preferred.
---
 xen/common/page_alloc.c | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 0c93a1078702..0a950288e241 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -120,27 +120,30 @@
  *   regions within it.
  */
 
+#include <xen/domain_page.h>
+#include <xen/event.h>
 #include <xen/init.h>
-#include <xen/types.h>
+#include <xen/irq.h>
+#include <xen/keyhandler.h>
 #include <xen/lib.h>
-#include <xen/sched.h>
-#include <xen/spinlock.h>
 #include <xen/mm.h>
+#include <xen/nodemask.h>
+#include <xen/numa.h>
 #include <xen/param.h>
-#include <xen/irq.h>
-#include <xen/softirq.h>
-#include <xen/domain_page.h>
-#include <xen/keyhandler.h>
 #include <xen/perfc.h>
 #include <xen/pfn.h>
-#include <xen/numa.h>
-#include <xen/nodemask.h>
-#include <xen/event.h>
+#include <xen/types.h>
+#include <xen/sched.h>
+#include <xen/softirq.h>
+#include <xen/spinlock.h>
+
+#include <asm/flushtlb.h>
+#include <asm/numa.h>
+#include <asm/page.h>
+
 #include <public/sysctl.h>
 #include <public/sched.h>
-#include <asm/page.h>
-#include <asm/numa.h>
-#include <asm/flushtlb.h>
+
 #ifdef CONFIG_X86
 #include <asm/guest.h>
 #include <asm/p2m.h>
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:49:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464426.722833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D4-00041M-Nh; Fri, 16 Dec 2022 11:49:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464426.722833; Fri, 16 Dec 2022 11:49:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D4-00041D-K5; Fri, 16 Dec 2022 11:49:02 +0000
Received: by outflank-mailman (input) for mailman id 464426;
 Fri, 16 Dec 2022 11:49:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69D3-0003kh-B9
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:49:01 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69D3-0002Cw-AN
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:49:01 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D3-0004sN-2Y; Fri, 16 Dec 2022 11:49:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=7G8OCEg9k6ZwbQFlkMaRu/1/MXF29psY53uz8Xg2bDg=; b=D3FSa7zJj1nOHbPE0uzqpEjkc6
	XLjSia5eZs8j94llmVkRW73ZJx+jEIZKSyCazN2zcYyAJ2AgNp4DEM+wQ1d2Ko8Qy190hjbUwEzXW
	98NvrzF9sBvk+pL0hwIH4vbCJH/OZ8KtVprS7qh3pYfUHoBMxfDV26AzelEHcIASXdVQ=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Wei Liu <wei.liu2@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	David Woodhouse <dwmw2@amazon.com>,
	Hongyan Xia <hongyxia@amazon.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 02/22] x86/setup: move vm_init() before acpi calls
Date: Fri, 16 Dec 2022 11:48:33 +0000
Message-Id: <20221216114853.8227-3-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Liu <wei.liu2@citrix.com>

After the direct map removal, pages from the boot allocator are not
mapped at all in the direct map. Although we have map_domain_page, they
are ephemeral and are less helpful for mappings that are more than a
page, so we want a mechanism to globally map a range of pages, which is
what vmap is for. Therefore, we bring vm_init into early boot stage.

To allow vmap to be initialised and used in early boot, we need to
modify vmap to receive pages from the boot allocator during early boot
stage.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: David Woodhouse <dwmw2@amazon.com>
Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/setup.c |  4 ++--
 xen/arch/x86/setup.c | 31 ++++++++++++++++++++-----------
 xen/common/vmap.c    | 37 +++++++++++++++++++++++++++++--------
 3 files changed, 51 insertions(+), 21 deletions(-)

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 1f26f67b90e3..2311726f5ddd 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -1028,6 +1028,8 @@ void __init start_xen(unsigned long boot_phys_offset,
 
     setup_mm();
 
+    vm_init();
+
     /* Parse the ACPI tables for possible boot-time configuration */
     acpi_boot_table_init();
 
@@ -1039,8 +1041,6 @@ void __init start_xen(unsigned long boot_phys_offset,
      */
     system_state = SYS_STATE_boot;
 
-    vm_init();
-
     if ( acpi_disabled )
     {
         printk("Booting using Device Tree\n");
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 6bb5bc7c84be..1c2e09711eb0 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -870,6 +870,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
     unsigned long eb_start, eb_end;
     bool acpi_boot_table_init_done = false, relocated = false;
     int ret;
+    bool vm_init_done = false;
     struct ns16550_defaults ns16550 = {
         .data_bits = 8,
         .parity    = 'n',
@@ -1442,12 +1443,23 @@ void __init noreturn __start_xen(unsigned long mbi_p)
             continue;
 
         if ( !acpi_boot_table_init_done &&
-             s >= (1ULL << 32) &&
-             !acpi_boot_table_init() )
+             s >= (1ULL << 32) )
         {
-            acpi_boot_table_init_done = true;
-            srat_parse_regions(s);
-            setup_max_pdx(raw_max_page);
+            /*
+             * We only initialise vmap and acpi after going through the bottom
+             * 4GiB, so that we have enough pages in the boot allocator.
+             */
+            if ( !vm_init_done )
+            {
+                vm_init();
+                vm_init_done = true;
+            }
+            if ( !acpi_boot_table_init() )
+            {
+                acpi_boot_table_init_done = true;
+                srat_parse_regions(s);
+                setup_max_pdx(raw_max_page);
+            }
         }
 
         if ( pfn_to_pdx((e - 1) >> PAGE_SHIFT) >= max_pdx )
@@ -1624,6 +1636,9 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 
     init_frametable();
 
+    if ( !vm_init_done )
+        vm_init();
+
     if ( !acpi_boot_table_init_done )
         acpi_boot_table_init();
 
@@ -1661,12 +1676,6 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         end_boot_allocator();
 
     system_state = SYS_STATE_boot;
-    /*
-     * No calls involving ACPI code should go between the setting of
-     * SYS_STATE_boot and vm_init() (or else acpi_os_{,un}map_memory()
-     * will break).
-     */
-    vm_init();
 
     bsp_stack = cpu_alloc_stack(0);
     if ( !bsp_stack )
diff --git a/xen/common/vmap.c b/xen/common/vmap.c
index 4fd6b3067ec1..1340c7c6faf6 100644
--- a/xen/common/vmap.c
+++ b/xen/common/vmap.c
@@ -34,9 +34,20 @@ void __init vm_init_type(enum vmap_region type, void *start, void *end)
 
     for ( i = 0, va = (unsigned long)vm_bitmap(type); i < nr; ++i, va += PAGE_SIZE )
     {
-        struct page_info *pg = alloc_domheap_page(NULL, 0);
+        mfn_t mfn;
+        int rc;
 
-        map_pages_to_xen(va, page_to_mfn(pg), 1, PAGE_HYPERVISOR);
+        if ( system_state == SYS_STATE_early_boot )
+            mfn = alloc_boot_pages(1, 1);
+        else
+        {
+            struct page_info *pg = alloc_domheap_page(NULL, 0);
+
+            BUG_ON(!pg);
+            mfn = page_to_mfn(pg);
+        }
+        rc = map_pages_to_xen(va, mfn, 1, PAGE_HYPERVISOR);
+        BUG_ON(rc);
         clear_page((void *)va);
     }
     bitmap_fill(vm_bitmap(type), vm_low[type]);
@@ -62,7 +73,7 @@ static void *vm_alloc(unsigned int nr, unsigned int align,
     spin_lock(&vm_lock);
     for ( ; ; )
     {
-        struct page_info *pg;
+        mfn_t mfn;
 
         ASSERT(vm_low[t] == vm_top[t] || !test_bit(vm_low[t], vm_bitmap(t)));
         for ( start = vm_low[t]; start < vm_top[t]; )
@@ -97,9 +108,16 @@ static void *vm_alloc(unsigned int nr, unsigned int align,
         if ( vm_top[t] >= vm_end[t] )
             return NULL;
 
-        pg = alloc_domheap_page(NULL, 0);
-        if ( !pg )
-            return NULL;
+        if ( system_state == SYS_STATE_early_boot )
+            mfn = alloc_boot_pages(1, 1);
+        else
+        {
+            struct page_info *pg = alloc_domheap_page(NULL, 0);
+
+            if ( !pg )
+                return NULL;
+            mfn = page_to_mfn(pg);
+        }
 
         spin_lock(&vm_lock);
 
@@ -107,7 +125,7 @@ static void *vm_alloc(unsigned int nr, unsigned int align,
         {
             unsigned long va = (unsigned long)vm_bitmap(t) + vm_top[t] / 8;
 
-            if ( !map_pages_to_xen(va, page_to_mfn(pg), 1, PAGE_HYPERVISOR) )
+            if ( !map_pages_to_xen(va, mfn, 1, PAGE_HYPERVISOR) )
             {
                 clear_page((void *)va);
                 vm_top[t] += PAGE_SIZE * 8;
@@ -117,7 +135,10 @@ static void *vm_alloc(unsigned int nr, unsigned int align,
             }
         }
 
-        free_domheap_page(pg);
+        if ( system_state == SYS_STATE_early_boot )
+            init_boot_pages(mfn_to_maddr(mfn), mfn_to_maddr(mfn) + PAGE_SIZE);
+        else
+            free_domheap_page(mfn_to_page(mfn));
 
         if ( start >= vm_top[t] )
         {
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:49:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:49:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464427.722844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D7-0004Jp-0a; Fri, 16 Dec 2022 11:49:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464427.722844; Fri, 16 Dec 2022 11:49:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D6-0004JZ-Si; Fri, 16 Dec 2022 11:49:04 +0000
Received: by outflank-mailman (input) for mailman id 464427;
 Fri, 16 Dec 2022 11:49:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69D4-000442-S3
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:49:02 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D4-0002DR-KG; Fri, 16 Dec 2022 11:49:02 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D4-0004sN-B6; Fri, 16 Dec 2022 11:49:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=E2zSWaWXXVlSavKpNugaiSnQ/IiR0BYoL62Rayvr/MY=; b=hKNcTKSNOrOaCq5PJc51xa0GS0
	7Z2F/tvGmQk737a6n+KjVlBXyrhVnOGfdgSVgQcX38/YimhTrbQlJEYqXoJ5mj8PtGFkckLYkOIj5
	PSYkSyi0xhPCap+6jsN0Iu5iVOgSimT7ZiDWjmuJS4k1QGzJtrbo4+AKBSySghMl8mU0=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Hongyan Xia <hongyxia@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 03/22] acpi: vmap pages in acpi_os_alloc_memory
Date: Fri, 16 Dec 2022 11:48:34 +0000
Message-Id: <20221216114853.8227-4-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Hongyan Xia <hongyxia@amazon.com>

Also, introduce a wrapper around vmap that maps a contiguous range for
boot allocations. Unfortunately, the new helper cannot be a static inline
because the dependences are a mess. We would need to re-include
asm/page.h (was removed in aa4b9d1ee653 "include: don't use asm/page.h
from common headers") and it doesn't look to be enough anymore
because bits from asm/cpufeature.h is used in the definition of PAGE_NX.

Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>

----

    Changes since Hongyan's version:
        * Rename vmap_boot_pages() to vmap_contig_pages()
        * Move the new helper in vmap.c to avoid compilation issue
        * Don't use __pa() to translate the virtual address
---
 xen/common/vmap.c      |  5 +++++
 xen/drivers/acpi/osl.c | 13 +++++++++++--
 xen/include/xen/vmap.h |  2 ++
 3 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/xen/common/vmap.c b/xen/common/vmap.c
index 1340c7c6faf6..78f051a67682 100644
--- a/xen/common/vmap.c
+++ b/xen/common/vmap.c
@@ -244,6 +244,11 @@ void *vmap(const mfn_t *mfn, unsigned int nr)
     return __vmap(mfn, 1, nr, 1, PAGE_HYPERVISOR, VMAP_DEFAULT);
 }
 
+void *vmap_contig_pages(mfn_t mfn, unsigned int nr_pages)
+{
+    return __vmap(&mfn, nr_pages, 1, 1, PAGE_HYPERVISOR, VMAP_DEFAULT);
+}
+
 void vunmap(const void *va)
 {
     unsigned long addr = (unsigned long)va;
diff --git a/xen/drivers/acpi/osl.c b/xen/drivers/acpi/osl.c
index 389505f78666..44a9719b0dcf 100644
--- a/xen/drivers/acpi/osl.c
+++ b/xen/drivers/acpi/osl.c
@@ -221,7 +221,11 @@ void *__init acpi_os_alloc_memory(size_t sz)
 	void *ptr;
 
 	if (system_state == SYS_STATE_early_boot)
-		return mfn_to_virt(mfn_x(alloc_boot_pages(PFN_UP(sz), 1)));
+	{
+		mfn_t mfn = alloc_boot_pages(PFN_UP(sz), 1);
+
+		return vmap_contig_pages(mfn, PFN_UP(sz));
+	}
 
 	ptr = xmalloc_bytes(sz);
 	ASSERT(!ptr || is_xmalloc_memory(ptr));
@@ -246,5 +250,10 @@ void __init acpi_os_free_memory(void *ptr)
 	if (is_xmalloc_memory(ptr))
 		xfree(ptr);
 	else if (ptr && system_state == SYS_STATE_early_boot)
-		init_boot_pages(__pa(ptr), __pa(ptr) + PAGE_SIZE);
+	{
+		paddr_t addr = mfn_to_maddr(vmap_to_mfn(ptr));
+
+		vunmap(ptr);
+		init_boot_pages(addr, addr + PAGE_SIZE);
+	}
 }
diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h
index b0f7632e8985..3c06c7c3ba30 100644
--- a/xen/include/xen/vmap.h
+++ b/xen/include/xen/vmap.h
@@ -23,6 +23,8 @@ void *vmalloc_xen(size_t size);
 void *vzalloc(size_t size);
 void vfree(void *va);
 
+void *vmap_contig_pages(mfn_t mfn, unsigned int nr_pages);
+
 void __iomem *ioremap(paddr_t, size_t);
 
 static inline void iounmap(void __iomem *va)
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:49:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:49:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464428.722849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D7-0004ND-DD; Fri, 16 Dec 2022 11:49:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464428.722849; Fri, 16 Dec 2022 11:49:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D7-0004Mg-6T; Fri, 16 Dec 2022 11:49:05 +0000
Received: by outflank-mailman (input) for mailman id 464428;
 Fri, 16 Dec 2022 11:49:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69D6-0004IQ-1V
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:49:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D5-0002Dj-RC; Fri, 16 Dec 2022 11:49:03 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D5-0004sN-Je; Fri, 16 Dec 2022 11:49:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=ZLdocJInFCY/LVnGw1j5HFKUJpFld4Nm6D1TB3zFoFs=; b=kpUoDQTpOqZ2oeUr+0YruDlA5R
	+9X+I0qjhfLukkQQwY8weaTAUl2Nl3fQGJ/YKVV/I3ZlZyl+1nxWkn3fLTr/G6T++f27r113LV0au
	nZHlDrqQQUXHfrnkzyPOGxy/WpLSpu5Qh+pYRcl7gixXkluuHZ4DDeZz4ybaJ9tFWa/M=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Hongyan Xia <hongyxia@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 04/22] xen/numa: vmap the pages for memnodemap
Date: Fri, 16 Dec 2022 11:48:35 +0000
Message-Id: <20221216114853.8227-5-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Hongyan Xia <hongyxia@amazon.com>

This avoids the assumption that there is a direct map and boot pages
fall inside the direct map.

Clean up the variables so that mfn actually stores a type-safe mfn.

Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>

----

    Changes compare to Hongyan's version:
        * The function modified was moved to common code. So rebase it
        * vmap_boot_pages() was renamed to vmap_contig_pages()
---
 xen/common/numa.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/common/numa.c b/xen/common/numa.c
index 4948b21fbe66..2040b3d974e5 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -424,13 +424,13 @@ static int __init populate_memnodemap(const struct node *nodes,
 static int __init allocate_cachealigned_memnodemap(void)
 {
     unsigned long size = PFN_UP(memnodemapsize * sizeof(*memnodemap));
-    unsigned long mfn = mfn_x(alloc_boot_pages(size, 1));
+    mfn_t mfn = alloc_boot_pages(size, 1);
 
-    memnodemap = mfn_to_virt(mfn);
-    mfn <<= PAGE_SHIFT;
+    memnodemap = vmap_contig_pages(mfn, size);
+    BUG_ON(!memnodemap);
     size <<= PAGE_SHIFT;
     printk(KERN_DEBUG "NUMA: Allocated memnodemap from %lx - %lx\n",
-           mfn, mfn + size);
+           mfn_to_maddr(mfn), mfn_to_maddr(mfn) + size);
     memnodemapsize = size / sizeof(*memnodemap);
 
     return 0;
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:49:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:49:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464430.722865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D9-0004oz-8C; Fri, 16 Dec 2022 11:49:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464430.722865; Fri, 16 Dec 2022 11:49:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D9-0004nY-1i; Fri, 16 Dec 2022 11:49:07 +0000
Received: by outflank-mailman (input) for mailman id 464430;
 Fri, 16 Dec 2022 11:49:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69D7-0004Mt-6w
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:49:05 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D7-0002E2-0I; Fri, 16 Dec 2022 11:49:05 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D6-0004sN-P3; Fri, 16 Dec 2022 11:49:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=5oXMYhVrHa49EzlJyprSVvBAT8KPYfOFRwrMrA+Sn68=; b=cozlDAIvwTjD7N7KnGv9QUb1tK
	RwpSbCKYNRGaLSAwm1RH81K6v1OQRWDNz50vS5jiFMSZ7gaBC4IJSX72+xq8eQSN74nGX7o4FXLis
	vgi2fp7BbNeQO032Dw7wgX1vazlY4k215QZO1/kmKWTxmVfNhSW5Q2afmlqeB49atO/8=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Hongyan Xia <hongyxia@amazon.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 05/22] x86/srat: vmap the pages for acpi_slit
Date: Fri, 16 Dec 2022 11:48:36 +0000
Message-Id: <20221216114853.8227-6-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Hongyan Xia <hongyxia@amazon.com>

This avoids the assumption that boot pages are in the direct map.

Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>

----

    Changes since Hongyan's version:
        * vmap_boot_pages() was renamed to vmap_contig_pages()
---
 xen/arch/x86/srat.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index 56749ddca526..1fd178e89d28 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -139,7 +139,8 @@ void __init acpi_numa_slit_init(struct acpi_table_slit *slit)
 		return;
 	}
 	mfn = alloc_boot_pages(PFN_UP(slit->header.length), 1);
-	acpi_slit = mfn_to_virt(mfn_x(mfn));
+	acpi_slit = vmap_contig_pages(mfn, PFN_UP(slit->header.length));
+	BUG_ON(!acpi_slit);
 	memcpy(acpi_slit, slit, slit->header.length);
 }
 
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:49:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:49:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464432.722871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D9-0004uN-Li; Fri, 16 Dec 2022 11:49:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464432.722871; Fri, 16 Dec 2022 11:49:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69D9-0004tC-E6; Fri, 16 Dec 2022 11:49:07 +0000
Received: by outflank-mailman (input) for mailman id 464432;
 Fri, 16 Dec 2022 11:49:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69D8-0004b9-7Y
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:49:06 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D8-0002ET-5Z; Fri, 16 Dec 2022 11:49:06 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D7-0004sN-US; Fri, 16 Dec 2022 11:49:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=FDnn4j9oos7o0Yst//etF30Yzyr3SCCSdb3Qh8o9mlo=; b=fHd51aNXlHLmKnuzS89FCVrVMv
	6yxymS4djo7spaS62B+LYP5kO4zqErtz5FVtozvvW0CftDT7ElgEMFpbhc3CRx2lNd74u823ed3Y0
	2ygOzpZZ9Hbci4Q7zxwpwOG4K/JG5ibUf88FCbaP7uRZ5jBeVRf2nw8X3shrWO8zo+Mk=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Hongyan Xia <hongyxia@amazon.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 06/22] x86: map/unmap pages in restore_all_guests
Date: Fri, 16 Dec 2022 11:48:37 +0000
Message-Id: <20221216114853.8227-7-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Hongyan Xia <hongyxia@amazon.com>

Before, it assumed the pv cr3 could be accessed via a direct map. This
is no longer true.

Note that we do not map and unmap root_pgt for now since it is still a
xenheap page.

Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>

----

    Changes since Hongyan's version:
        * Remove the final dot in the commit title
---
 xen/arch/x86/x86_64/entry.S | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index ae012851819a..b72abf923d9c 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -165,7 +165,24 @@ restore_all_guest:
         and   %rsi, %rdi
         and   %r9, %rsi
         add   %rcx, %rdi
-        add   %rcx, %rsi
+
+         /*
+          * Without a direct map, we have to map first before copying. We only
+          * need to map the guest root table but not the per-CPU root_pgt,
+          * because the latter is still a xenheap page.
+          */
+        pushq %r9
+        pushq %rdx
+        pushq %rax
+        pushq %rdi
+        mov   %rsi, %rdi
+        shr   $PAGE_SHIFT, %rdi
+        callq map_domain_page
+        mov   %rax, %rsi
+        popq  %rdi
+        /* Stash the pointer for unmapping later. */
+        pushq %rax
+
         mov   $ROOT_PAGETABLE_FIRST_XEN_SLOT, %ecx
         mov   root_table_offset(SH_LINEAR_PT_VIRT_START)*8(%rsi), %r8
         mov   %r8, root_table_offset(SH_LINEAR_PT_VIRT_START)*8(%rdi)
@@ -177,6 +194,14 @@ restore_all_guest:
         sub   $(ROOT_PAGETABLE_FIRST_XEN_SLOT - \
                 ROOT_PAGETABLE_LAST_XEN_SLOT - 1) * 8, %rdi
         rep movsq
+
+        /* Unmap the page. */
+        popq  %rdi
+        callq unmap_domain_page
+        popq  %rax
+        popq  %rdx
+        popq  %r9
+
 .Lrag_copy_done:
         mov   %r9, STACK_CPUINFO_FIELD(xen_cr3)(%rdx)
         movb  $1, STACK_CPUINFO_FIELD(use_pv_cr3)(%rdx)
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:49:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:49:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464434.722886 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69DB-0005Ng-7O; Fri, 16 Dec 2022 11:49:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464434.722886; Fri, 16 Dec 2022 11:49:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69DB-0005MW-1B; Fri, 16 Dec 2022 11:49:09 +0000
Received: by outflank-mailman (input) for mailman id 464434;
 Fri, 16 Dec 2022 11:49:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69D9-0004u8-Fl
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:49:07 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D9-0002Er-E8; Fri, 16 Dec 2022 11:49:07 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69D9-0004sN-6k; Fri, 16 Dec 2022 11:49:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=vmtNA9XdH0srZ9asaGnjFiuLx3yBtd0BVtqXIukQgjM=; b=SUa3z5qrtpvwTyqxU4268rECt/
	19/D/bc/kCdXMUWX4leTRpnP8ZIRVdrg+c0wyUEWzO4e01rpd3ocb58eTi0CIcxumiM/fF0YWiub2
	bRuT7xnU51KnTe1WDHfThSfMNJSBM/D9tJmjWmL+WcPOSEKJq2t4N1gUDMIuuMFD2oA0=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Wei Liu <wei.liu2@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Wei Wang <wawei@amazon.de>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 07/22] x86/pv: domheap pages should be mapped while relocating initrd
Date: Fri, 16 Dec 2022 11:48:38 +0000
Message-Id: <20221216114853.8227-8-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Liu <wei.liu2@citrix.com>

Xen shouldn't use domheap page as if they were xenheap pages. Map and
unmap pages accordingly.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Wei Wang <wawei@amazon.de>
Signed-off-by: Julien Grall <jgrall@amazon.com>

----

    Changes since Hongyan's version:
        * Add missing newline after the variable declaration
---
 xen/arch/x86/pv/dom0_build.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index a62f0fa2ef29..c837b2d96f89 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -611,18 +611,32 @@ int __init dom0_construct_pv(struct domain *d,
         if ( d->arch.physaddr_bitsize &&
              ((mfn + count - 1) >> (d->arch.physaddr_bitsize - PAGE_SHIFT)) )
         {
+            unsigned long nr_pages;
+            unsigned long len = initrd_len;
+
             order = get_order_from_pages(count);
             page = alloc_domheap_pages(d, order, MEMF_no_scrub);
             if ( !page )
                 panic("Not enough RAM for domain 0 initrd\n");
+
+            nr_pages = 1UL << order;
             for ( count = -count; order--; )
                 if ( count & (1UL << order) )
                 {
                     free_domheap_pages(page, order);
                     page += 1UL << order;
+                    nr_pages -= 1UL << order;
                 }
-            memcpy(page_to_virt(page), mfn_to_virt(initrd->mod_start),
-                   initrd_len);
+
+            for ( i = 0; i < nr_pages; i++, len -= PAGE_SIZE )
+            {
+                void *p = __map_domain_page(page + i);
+
+                memcpy(p, mfn_to_virt(initrd_mfn + i),
+                       min(len, (unsigned long)PAGE_SIZE));
+                unmap_domain_page(p);
+            }
+
             mpt_alloc = (paddr_t)initrd->mod_start << PAGE_SHIFT;
             init_domheap_pages(mpt_alloc,
                                mpt_alloc + PAGE_ALIGN(initrd_len));
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:49:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:49:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464436.722892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69DB-0005UT-Qy; Fri, 16 Dec 2022 11:49:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464436.722892; Fri, 16 Dec 2022 11:49:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69DB-0005Rw-Hn; Fri, 16 Dec 2022 11:49:09 +0000
Received: by outflank-mailman (input) for mailman id 464436;
 Fri, 16 Dec 2022 11:49:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69DA-0005H5-K8
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:49:08 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69DA-0002FH-JS
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:49:08 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DA-0004sN-CE; Fri, 16 Dec 2022 11:49:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=I796InQwp8GJ7wl8yn2SnJLasp1DLu8CI/8eIrqjbEo=; b=G3ocwq2f+UdE70Au4tGaHIKKiL
	UnMPqJfwBzJtirFdxcw08AvdAHC3MGXpc/BIoRFsd9HNxPyUXfOY+KR/lP0J0XTcXjmwACt5RlQ8B
	FyOqw5evHPepZDsub1Qd0y8p80o66DUg3nZY2gRwrtyO8L3lFgmUutzzNu334GKoHo1w=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Hongyan Xia <hongyxia@amazon.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 08/22] x86/pv: rewrite how building PV dom0 handles domheap mappings
Date: Fri, 16 Dec 2022 11:48:39 +0000
Message-Id: <20221216114853.8227-9-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Hongyan Xia <hongyxia@amazon.com>

Building a PV dom0 is allocating from the domheap but uses it like the
xenheap. This is clearly wrong. Fix.

Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>

----

    Changes since Hongyan's version:
        * Rebase
        * Remove spurious newline
---
 xen/arch/x86/pv/dom0_build.c | 56 +++++++++++++++++++++++++++---------
 1 file changed, 42 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
index c837b2d96f89..cd60f259d1b7 100644
--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -383,6 +383,10 @@ int __init dom0_construct_pv(struct domain *d,
     l3_pgentry_t *l3tab = NULL, *l3start = NULL;
     l2_pgentry_t *l2tab = NULL, *l2start = NULL;
     l1_pgentry_t *l1tab = NULL, *l1start = NULL;
+    mfn_t l4start_mfn = INVALID_MFN;
+    mfn_t l3start_mfn = INVALID_MFN;
+    mfn_t l2start_mfn = INVALID_MFN;
+    mfn_t l1start_mfn = INVALID_MFN;
 
     /*
      * This fully describes the memory layout of the initial domain. All
@@ -711,22 +715,32 @@ int __init dom0_construct_pv(struct domain *d,
         v->arch.pv.event_callback_cs    = FLAT_COMPAT_KERNEL_CS;
     }
 
+#define UNMAP_MAP_AND_ADVANCE(mfn_var, virt_var, maddr) \
+do {                                                    \
+    UNMAP_DOMAIN_PAGE(virt_var);                        \
+    mfn_var = maddr_to_mfn(maddr);                      \
+    maddr += PAGE_SIZE;                                 \
+    virt_var = map_domain_page(mfn_var);                \
+} while ( false )
+
     if ( !compat )
     {
         maddr_to_page(mpt_alloc)->u.inuse.type_info = PGT_l4_page_table;
-        l4start = l4tab = __va(mpt_alloc); mpt_alloc += PAGE_SIZE;
+        UNMAP_MAP_AND_ADVANCE(l4start_mfn, l4start, mpt_alloc);
+        l4tab = l4start;
         clear_page(l4tab);
-        init_xen_l4_slots(l4tab, _mfn(virt_to_mfn(l4start)),
-                          d, INVALID_MFN, true);
-        v->arch.guest_table = pagetable_from_paddr(__pa(l4start));
+        init_xen_l4_slots(l4tab, l4start_mfn, d, INVALID_MFN, true);
+        v->arch.guest_table = pagetable_from_mfn(l4start_mfn);
     }
     else
     {
         /* Monitor table already created by switch_compat(). */
-        l4start = l4tab = __va(pagetable_get_paddr(v->arch.guest_table));
+        l4start_mfn = pagetable_get_mfn(v->arch.guest_table);
+        l4start = l4tab = map_domain_page(l4start_mfn);
         /* See public/xen.h on why the following is needed. */
         maddr_to_page(mpt_alloc)->u.inuse.type_info = PGT_l3_page_table;
         l3start = __va(mpt_alloc); mpt_alloc += PAGE_SIZE;
+        UNMAP_MAP_AND_ADVANCE(l3start_mfn, l3start, mpt_alloc);
     }
 
     l4tab += l4_table_offset(v_start);
@@ -736,14 +750,16 @@ int __init dom0_construct_pv(struct domain *d,
         if ( !((unsigned long)l1tab & (PAGE_SIZE-1)) )
         {
             maddr_to_page(mpt_alloc)->u.inuse.type_info = PGT_l1_page_table;
-            l1start = l1tab = __va(mpt_alloc); mpt_alloc += PAGE_SIZE;
+            UNMAP_MAP_AND_ADVANCE(l1start_mfn, l1start, mpt_alloc);
+            l1tab = l1start;
             clear_page(l1tab);
             if ( count == 0 )
                 l1tab += l1_table_offset(v_start);
             if ( !((unsigned long)l2tab & (PAGE_SIZE-1)) )
             {
                 maddr_to_page(mpt_alloc)->u.inuse.type_info = PGT_l2_page_table;
-                l2start = l2tab = __va(mpt_alloc); mpt_alloc += PAGE_SIZE;
+                UNMAP_MAP_AND_ADVANCE(l2start_mfn, l2start, mpt_alloc);
+                l2tab = l2start;
                 clear_page(l2tab);
                 if ( count == 0 )
                     l2tab += l2_table_offset(v_start);
@@ -753,19 +769,19 @@ int __init dom0_construct_pv(struct domain *d,
                     {
                         maddr_to_page(mpt_alloc)->u.inuse.type_info =
                             PGT_l3_page_table;
-                        l3start = __va(mpt_alloc); mpt_alloc += PAGE_SIZE;
+                        UNMAP_MAP_AND_ADVANCE(l3start_mfn, l3start, mpt_alloc);
                     }
                     l3tab = l3start;
                     clear_page(l3tab);
                     if ( count == 0 )
                         l3tab += l3_table_offset(v_start);
-                    *l4tab = l4e_from_paddr(__pa(l3start), L4_PROT);
+                    *l4tab = l4e_from_mfn(l3start_mfn, L4_PROT);
                     l4tab++;
                 }
-                *l3tab = l3e_from_paddr(__pa(l2start), L3_PROT);
+                *l3tab = l3e_from_mfn(l2start_mfn, L3_PROT);
                 l3tab++;
             }
-            *l2tab = l2e_from_paddr(__pa(l1start), L2_PROT);
+            *l2tab = l2e_from_mfn(l1start_mfn, L2_PROT);
             l2tab++;
         }
         if ( count < initrd_pfn || count >= initrd_pfn + PFN_UP(initrd_len) )
@@ -792,9 +808,9 @@ int __init dom0_construct_pv(struct domain *d,
             if ( !l3e_get_intpte(*l3tab) )
             {
                 maddr_to_page(mpt_alloc)->u.inuse.type_info = PGT_l2_page_table;
-                l2tab = __va(mpt_alloc); mpt_alloc += PAGE_SIZE;
-                clear_page(l2tab);
-                *l3tab = l3e_from_paddr(__pa(l2tab), L3_PROT);
+                UNMAP_MAP_AND_ADVANCE(l2start_mfn, l2start, mpt_alloc);
+                clear_page(l2start);
+                *l3tab = l3e_from_mfn(l2start_mfn, L3_PROT);
             }
             if ( i == 3 )
                 l3e_get_page(*l3tab)->u.inuse.type_info |= PGT_pae_xen_l2;
@@ -805,9 +821,17 @@ int __init dom0_construct_pv(struct domain *d,
         unmap_domain_page(l2t);
     }
 
+#undef UNMAP_MAP_AND_ADVANCE
+
+    UNMAP_DOMAIN_PAGE(l1start);
+    UNMAP_DOMAIN_PAGE(l2start);
+    UNMAP_DOMAIN_PAGE(l3start);
+
     /* Pages that are part of page tables must be read only. */
     mark_pv_pt_pages_rdonly(d, l4start, vpt_start, nr_pt_pages, &flush_flags);
 
+    UNMAP_DOMAIN_PAGE(l4start);
+
     /* Mask all upcalls... */
     for ( i = 0; i < XEN_LEGACY_MAX_VCPUS; i++ )
         shared_info(d, vcpu_info[i].evtchn_upcall_mask) = 1;
@@ -977,8 +1001,12 @@ int __init dom0_construct_pv(struct domain *d,
      * !CONFIG_VIDEO case so the logic here can be simplified.
      */
     if ( pv_shim )
+    {
+        l4start = map_domain_page(l4start_mfn);
         pv_shim_setup_dom(d, l4start, v_start, vxenstore_start, vconsole_start,
                           vphysmap_start, si);
+        UNMAP_DOMAIN_PAGE(l4start);
+    }
 
 #ifdef CONFIG_COMPAT
     if ( compat )
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:49:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:49:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464437.722910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69DE-00068y-Ci; Fri, 16 Dec 2022 11:49:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464437.722910; Fri, 16 Dec 2022 11:49:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69DE-00067z-5E; Fri, 16 Dec 2022 11:49:12 +0000
Received: by outflank-mailman (input) for mailman id 464437;
 Fri, 16 Dec 2022 11:49:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69DC-0005eC-8L
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:49:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DB-0002Fb-VD; Fri, 16 Dec 2022 11:49:09 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DB-0004sN-Nv; Fri, 16 Dec 2022 11:49:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=jcJSzXwZRVoOaBWM+hzG4J8upiEWzEuSM93VyqeBx/0=; b=o85LFLbRuZU3OMGlbhFEtltkQN
	xQpfoMDz0l9IiFoY5MDxE/T+Ir+eoSLmshFsqAmRWlm5CIX5m2J6YWsriPoW4L0vTOnhKfv6tkWsR
	bMyF2to9Zl3/o2IaFVNp3oC7mjAY2K6AbWbpySC0oucxSjfXXoSdrMzUa2sX8xvzFa3A=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Wei Liu <wei.liu2@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Wei Wang <wawei@amazon.de>,
	Hongyan Xia <hongyxia@amazon.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 09/22] x86: lift mapcache variable to the arch level
Date: Fri, 16 Dec 2022 11:48:40 +0000
Message-Id: <20221216114853.8227-10-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Liu <wei.liu2@citrix.com>

It is going to be needed by HVM and idle domain as well, because without
the direct map, both need a mapcache to map pages.

This only lifts the mapcache variable up. Whether we populate the
mapcache for a domain is unchanged in this patch.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Signed-off-by: Wei Wang <wawei@amazon.de>
Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/x86/domain.c             |  4 ++--
 xen/arch/x86/domain_page.c        | 22 ++++++++++------------
 xen/arch/x86/include/asm/domain.h | 12 ++++++------
 3 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index d7a8237f01ab..069b7d2af330 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -829,6 +829,8 @@ int arch_domain_create(struct domain *d,
 
     psr_domain_init(d);
 
+    mapcache_domain_init(d);
+
     if ( is_hvm_domain(d) )
     {
         if ( (rc = hvm_domain_initialise(d, config)) != 0 )
@@ -836,8 +838,6 @@ int arch_domain_create(struct domain *d,
     }
     else if ( is_pv_domain(d) )
     {
-        mapcache_domain_init(d);
-
         if ( (rc = pv_domain_initialise(d)) != 0 )
             goto fail;
     }
diff --git a/xen/arch/x86/domain_page.c b/xen/arch/x86/domain_page.c
index eac5e3304fb8..55e337aaf703 100644
--- a/xen/arch/x86/domain_page.c
+++ b/xen/arch/x86/domain_page.c
@@ -82,11 +82,11 @@ void *map_domain_page(mfn_t mfn)
 #endif
 
     v = mapcache_current_vcpu();
-    if ( !v || !is_pv_vcpu(v) )
+    if ( !v )
         return mfn_to_virt(mfn_x(mfn));
 
-    dcache = &v->domain->arch.pv.mapcache;
-    vcache = &v->arch.pv.mapcache;
+    dcache = &v->domain->arch.mapcache;
+    vcache = &v->arch.mapcache;
     if ( !dcache->inuse )
         return mfn_to_virt(mfn_x(mfn));
 
@@ -187,14 +187,14 @@ void unmap_domain_page(const void *ptr)
     ASSERT(va >= MAPCACHE_VIRT_START && va < MAPCACHE_VIRT_END);
 
     v = mapcache_current_vcpu();
-    ASSERT(v && is_pv_vcpu(v));
+    ASSERT(v);
 
-    dcache = &v->domain->arch.pv.mapcache;
+    dcache = &v->domain->arch.mapcache;
     ASSERT(dcache->inuse);
 
     idx = PFN_DOWN(va - MAPCACHE_VIRT_START);
     mfn = l1e_get_pfn(MAPCACHE_L1ENT(idx));
-    hashent = &v->arch.pv.mapcache.hash[MAPHASH_HASHFN(mfn)];
+    hashent = &v->arch.mapcache.hash[MAPHASH_HASHFN(mfn)];
 
     local_irq_save(flags);
 
@@ -233,11 +233,9 @@ void unmap_domain_page(const void *ptr)
 
 int mapcache_domain_init(struct domain *d)
 {
-    struct mapcache_domain *dcache = &d->arch.pv.mapcache;
+    struct mapcache_domain *dcache = &d->arch.mapcache;
     unsigned int bitmap_pages;
 
-    ASSERT(is_pv_domain(d));
-
 #ifdef NDEBUG
     if ( !mem_hotplug && max_page <= PFN_DOWN(__pa(HYPERVISOR_VIRT_END - 1)) )
         return 0;
@@ -261,12 +259,12 @@ int mapcache_domain_init(struct domain *d)
 int mapcache_vcpu_init(struct vcpu *v)
 {
     struct domain *d = v->domain;
-    struct mapcache_domain *dcache = &d->arch.pv.mapcache;
+    struct mapcache_domain *dcache = &d->arch.mapcache;
     unsigned long i;
     unsigned int ents = d->max_vcpus * MAPCACHE_VCPU_ENTRIES;
     unsigned int nr = PFN_UP(BITS_TO_LONGS(ents) * sizeof(long));
 
-    if ( !is_pv_vcpu(v) || !dcache->inuse )
+    if ( !dcache->inuse )
         return 0;
 
     if ( ents > dcache->entries )
@@ -293,7 +291,7 @@ int mapcache_vcpu_init(struct vcpu *v)
     BUILD_BUG_ON(MAPHASHENT_NOTINUSE < MAPCACHE_ENTRIES);
     for ( i = 0; i < MAPHASH_ENTRIES; i++ )
     {
-        struct vcpu_maphash_entry *hashent = &v->arch.pv.mapcache.hash[i];
+        struct vcpu_maphash_entry *hashent = &v->arch.mapcache.hash[i];
 
         hashent->mfn = ~0UL; /* never valid to map */
         hashent->idx = MAPHASHENT_NOTINUSE;
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index 43ace233d75e..eb548eb10efe 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -285,9 +285,6 @@ struct pv_domain
     /* Mitigate L1TF with shadow/crashing? */
     bool check_l1tf;
 
-    /* map_domain_page() mapping cache. */
-    struct mapcache_domain mapcache;
-
     struct cpuidmasks *cpuidmasks;
 };
 
@@ -326,6 +323,9 @@ struct arch_domain
 
     uint8_t spec_ctrl_flags; /* See SCF_DOM_MASK */
 
+    /* map_domain_page() mapping cache. */
+    struct mapcache_domain mapcache;
+
     union {
         struct pv_domain pv;
         struct hvm_domain hvm;
@@ -508,9 +508,6 @@ struct arch_domain
 
 struct pv_vcpu
 {
-    /* map_domain_page() mapping cache. */
-    struct mapcache_vcpu mapcache;
-
     unsigned int vgc_flags;
 
     struct trap_info *trap_ctxt;
@@ -610,6 +607,9 @@ struct arch_vcpu
 #define async_exception_state(t) async_exception_state[(t)-1]
     uint8_t async_exception_mask;
 
+    /* map_domain_page() mapping cache. */
+    struct mapcache_vcpu mapcache;
+
     /* Virtual Machine Extensions */
     union {
         struct pv_vcpu pv;
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:49:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:49:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464461.722920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69DQ-00080b-QW; Fri, 16 Dec 2022 11:49:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464461.722920; Fri, 16 Dec 2022 11:49:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69DQ-00080D-MU; Fri, 16 Dec 2022 11:49:24 +0000
Received: by outflank-mailman (input) for mailman id 464461;
 Fri, 16 Dec 2022 11:49:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Zr/=4O=citrix.com=prvs=342bb51ac=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p69DP-0004Iy-Mc
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:49:23 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id accc2341-7d37-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 12:49:21 +0100 (CET)
Received: from mail-dm6nam04lp2045.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Dec 2022 06:49:13 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA2PR03MB5833.namprd03.prod.outlook.com (2603:10b6:806:114::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.15; Fri, 16 Dec
 2022 11:49:10 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Fri, 16 Dec 2022
 11:49:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: accc2341-7d37-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671191360;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=iN+POd6iucM0FuIyOncCIlDCt+Sf6dLn+TRP+YnCtpQ=;
  b=bgpKKMRQ9LX2Bgwnf6DAtYOx9IVq+V+NPD67aw8BGTIGV9QGFFm6aAq1
   kzFWvdlxtVFcK0NJLM9xFv7J9wtVTn10c7y0/PAaLtOs2MA44m2fa3e9o
   WB1vcN3rD4JuKvJijs0fcxY4FXslDxI8xEICSIpPnXk16pK3STTyf2lSF
   g=;
X-IronPort-RemoteIP: 104.47.73.45
X-IronPort-MID: 87702937
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:zAk9v6xrVqfyFAjacjp6t+e2xyrEfRIJ4+MujC+fZmUNrF6WrkUDy
 GROWTqFOvmPYGL3Kt0gPIW+/EtVupXUn9VjTgA4+SAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPK4T5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KWRF8
 +QHFm0SUhrAq9nvx73jduZVjO12eaEHPKtH0p1h5RfwKK56BLzmHeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvDOVkFEZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXOkB9pIRebnnhJsqAyUny8RFS9KbgS+ndyi20SHYYh+C
 FNBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9S2+Z97qShSO/P24SN2BqTTQfUQIP7t3noYcyphHCVNBuFOiylNKdMS706
 yCHqm45nbp7pcQGzbmh9FbLxTelvIHUTxUd7x/SGGmi62tReomhYIC57EnB2vxJJo2ZU1qps
 WANno6V6+VmMH2WvCmEQeFIELT34f+AaGHYmQQ3Q8Rn8Cmx8Xm+e4wW+Ct5OEpiLscDf3nuf
 VPXvgRSopRUORNGcJNKXm54MOxypYCIKDgvfqq8ggZmCnSpSDK6wQ==
IronPort-HdrOrdr: A9a23:ynbWS6gVekjedD9wSXBn1JYqaHBQXssji2hC6mlwRA09TyX4rb
 HMoB1/73SftN9/Yh0dcK+7Scu9qB/nm6KdgrNwAV7BZmTbUQKTRelfBODZrAEIdReeygdV79
 YET5RD
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="87702937"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R+9gm2UN9/NZcDwww151PtKQxDs7thTet5PvT09zIMnkU1xDndZE2QUy/kbTXZ+FGDxEPZLL9bO45aal9QeooHLsIJG3DsOKA8AWN/RdEo9DebOf9JkuZqzrxGGAcJbq/flNPZvy2RrStfYSYvLp+PewTJjeuDX/Sfv5C/IRwrNmyWu959JzJyk2VVjNtmi9dIT5AyfKal1EoQ9FTuwC062VLoOOORQDx1mdzYhhbwlVuHNK1Tww1QlMzNnNRogNc6rFYM1kXbbBOHJ3i3SD2p2Gm7+ZhBFpu7D/Ak4bKve42nq4OZ6vcvf+Iy5Hvh/uDNULcyU/kpjyxwwPxAcRqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iN+POd6iucM0FuIyOncCIlDCt+Sf6dLn+TRP+YnCtpQ=;
 b=eIwo5hhY8YcUnkOUKMjxJLHtG1oQ+Zr4/a2X45US4bxv5XEa+tCm86L93uXvY6KdyZPw7NFR2/PrbS2mWxs8DqhLkworZGH7sLsRXXxYYvo+wq6y/ZlzfSZvhoABVs5of8FKu8a2cw1qT7Hrhhl70BvOJ+oVy7vhbFur1rxNRUT8/VvzVKQGZ0pzbZGS91lGs9O6LgYelYV2rZVMrrBGvWUSBi0P5SliBLQtZN3+W0MFbmxADogzzscwHklERf4/UtjJQfQQ2bEiLV0y4uuQ2ioQxf6X9CihzckZ/mIwjaTzHAFxVK3/MnkFIFN+hHUJoZL6GCQjm1TH81yZShSijg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iN+POd6iucM0FuIyOncCIlDCt+Sf6dLn+TRP+YnCtpQ=;
 b=aQ/g7r9mVc2HZX09MlILsmQLH2bBffnQr2x1UmuEYdgoc+u34Im8nE3Ti9ZkD3mgaU5bHO6ySfewlkqfvxTAdhNOq2xhYj4zqgQmLPbL8NoHuUT0PY1+Qv2XWjwK2Sjx5staxvETWozHUlfX/UG8ZBM7YC/rCJaGrEfJylqC4Og=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Roger Pau
 Monne <roger.pau@citrix.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Subject: Re: [PATCH 2/2] NUMA: replace phys_to_nid()
Thread-Topic: [PATCH 2/2] NUMA: replace phys_to_nid()
Thread-Index: AQHZDudxkldNMZdm+EWY9M6n0vcTdK5wawGA
Date: Fri, 16 Dec 2022 11:49:09 +0000
Message-ID: <3a776bac-08d1-7772-b069-8a11583a4720@citrix.com>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
 <670b7017-4a6e-fa9e-9d65-65013bd4ad80@suse.com>
In-Reply-To: <670b7017-4a6e-fa9e-9d65-65013bd4ad80@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|SA2PR03MB5833:EE_
x-ms-office365-filtering-correlation-id: 31cc8179-2a72-45a0-5200-08dadf5b8b5d
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 R8RHULYx/c3jwPC6ZMgfK/ZISFzFlKiDYetfE2qIhuu+RD1nDOoa/5vl0FNjf3u/UjpBa2UBlZITcmn/nn1CdcZzYl+AyglidF256FnOg2Zk4ToYUjkiUQcjBJwZfe59Ok53HPw4/qyE2rrqlyU7nyMIpapzkkR773zFh6RkccTASSnCHqatrVeI92Qzfe4KXqXom34N6vTIsOQdD+gOtIlnMLf5uRNMpS/ECFPGNxmVDd3wXHSFmKF85xiPrhf8nCAUloQKOyNjbrY+40rEvW5mNBc7DsyGyPlcfSW72D8XQbg1yRso6jVy5TKVwGM4Mj5MW/WtrqaGVT+ZnBFJoVtB9uNgi3aPuNq1TXmyk0S5fUNkPCfx/4lwWJFxIBbRIwcQr2Y4Dw6aG+iH1LW5a/pn+t7M+zOXF6l7jddFOjXJClKgnqRuAyHz5GLrzTqUAnPnSBqdsXmsbt2Uyo1uGKmENnSwtWxSUdGdoEM3FrZ6PIlbSaP1GIaNWGhgN8xecFFz8LZ4AHmkszkiVlxzguMnFmxbBc7I7WXFWyi92Yq8iSpTqKUZjOyG4LUDJFWHfmXDaIZmh2MochfDCKvpd7iVv4Y7g7JsZ+eDE7pV9tGAMSfLKNlJi9aq4SMGHoWZhTLhkK4Mkv6kEb/0I4E9sMr9yGrUxa7rwfn3UIcQek10gb8/mDJWUjpIiN3EXAPSrDXTbE0L5B0DQabcrAeSeGYeSe7VpFOSLFoEWPjVXhnl/xz8p85Uma38zaZEJlh1NZ8FD2uycjQ9v9JGPzbRWw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(396003)(39860400002)(376002)(366004)(451199015)(53546011)(36756003)(41300700001)(8936002)(4326008)(66476007)(54906003)(91956017)(110136005)(316002)(66446008)(66946007)(64756008)(66556008)(8676002)(76116006)(83380400001)(82960400001)(38100700002)(122000001)(38070700005)(478600001)(71200400001)(6486002)(2616005)(26005)(86362001)(31696002)(6506007)(186003)(6512007)(2906002)(31686004)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?K3FwZmM0bXkzQnFZNGpkRTJXRUtuVnB2TFhPbENVRjVvNDYvZWh4M0ZlNVhI?=
 =?utf-8?B?WmNhajBOR0RyVHgyTUtibUxCQWMxWVBVb3BOdXlHd3QydEtQNXV4eXluSnRW?=
 =?utf-8?B?OUpqQjdEMTVyWStzV2t3aGN2eEJ0STE4b1d2VmQ2QU4zVkt2UXJKS2NnUUVH?=
 =?utf-8?B?NDcyNHBKWnEzcW5mNmNacnkzbmpBcGNia2twcjlNNXR1a0VTSUNFWDBMWk9O?=
 =?utf-8?B?RzdPcWtCRzk0ellFOS9oRFhQNDJKYklMLzhnTE1xVy83Z2dlUnZ4bDNOY21T?=
 =?utf-8?B?TlRZUDBrVXlodlkvL3c0Y2c1ckZ6dkYzL2ZTWTEzU1lLZXNleVNHeUFudEg3?=
 =?utf-8?B?KzlCK3ovMlVxd3ExMzJwM3V0MnB5bUpHNEc2c1R1cVlMT1VKNlNYaklvM0hR?=
 =?utf-8?B?ZG5scHY1bE9YVHNjY0FPYk5XakkrTTdwNm5oaGRrZUpsQndieWNNNzZ4cTFR?=
 =?utf-8?B?R0dPbE1qMm1KelB4dXArQXhwTllWVXJabm5DVnlRdmtKd0ZXMGZYbzUxUGZW?=
 =?utf-8?B?VXJEYzRzQ3VvcW1oVzJodWxEWVVBTVkwbEVPaEwzSlplSTQ1d1BRRllPU0xS?=
 =?utf-8?B?K0V1L0xJczlFQVhZN21IMWtDbkx4eXNta3N4bjhoam14QjRzc2d0bW1NV082?=
 =?utf-8?B?Y1Fmc29FUkRXZEZxS3RpV3Q2Qk5jVFZIRnRoU3VKKzVEUFNXaEc4SGM2OEM0?=
 =?utf-8?B?aG5WSXBUdzJhNDZzUEpOUHA0ckFjYm5qVHVmc2ZsaVBRVzY5QmYvNnkwemkr?=
 =?utf-8?B?SU5GcFlIaWVsN0xUUWxRWklrZG5jTFZuRTkraWwreG0zYkJ0dVFrZ2hRNUxw?=
 =?utf-8?B?Z0lYbEtobmdkZTNON1FjODdOTFZPUEhqODg1ME5XMFJIUEM1NzdkUkVRTWtJ?=
 =?utf-8?B?TmRSclorcXFuSzN4VjlJeDZQYmx5RVo2Y25xaXZkeWtqeU82UEhDOE9rczZN?=
 =?utf-8?B?ZXNzc0NTYzVVTVpHUFZGMHROdmhSUXJRTVliMFk4UFN6eHp4L29LMHpZU2VX?=
 =?utf-8?B?cXpFckdVbDY2OWozN3RMTWkySVRtRmlvNG9BQVRlMFNuTXNOUG1sVGRJS3NB?=
 =?utf-8?B?Y0lNMjV0V05vclUwVjZFbFZCdVRac2k4RlNLZnRnZUtuMFhhN3JPZjZiUHVC?=
 =?utf-8?B?MWlTaHl6aHZtUVB5VzU4SFhwMWpqbjVMM2dNdGpRbDQxV1pETjFFVk1tZlFz?=
 =?utf-8?B?c0tVcndpdXgzSXRCRGhLeWNPc2k2K053QWQ0R3lueGh3VzVIR2VTZlRMUktM?=
 =?utf-8?B?UWN6TVFqT2VvdVhQZkpCZDgxQnpuY0x1ZlYreG51YWFZTzcvQXdTbTdXSlVU?=
 =?utf-8?B?aUpHWjBOTThtSEM5ZUdzNmxwbnRiNTQrZlIrMnNmMThuSEV0SlhoNEtLZ3Vh?=
 =?utf-8?B?R1ZMWGtBTTY3TDduSGRTSDl2TWgycXFQYS9qUUdqd0FBU1NJRFVIVEJrb1Jn?=
 =?utf-8?B?RklpZ0o3VmpXV2h3UDVFZ3dZZGpKTzQ4K1EvaU9hcng2b2EwOVVRVlE2L25L?=
 =?utf-8?B?NUx0SWNJdC9hRUptNThRWlNEZ0g2aGdNVDQzSURweXFPSDZPRnUvc1lYSWVL?=
 =?utf-8?B?SnlxRHM0aVYyUDNmb1VoNUs0NGV3bTRwa0kxRUp0NWtyZXNUYXlIbFZhak1r?=
 =?utf-8?B?YWZjTWw0ZjdnS0dyWXdyR0tVRm01ZG16eHh4S3hXRysvV2ZLRnZHTDd3TXdW?=
 =?utf-8?B?YjQrSzRYNmMzTTBzWEp6VmFKOFlCb3h2WDN0QjExUFFCa1lVR2Q3TmNUOTZY?=
 =?utf-8?B?MHp0SWtlREwvc21iQXM1Y21zdndrUlhrL0lmeWJZbkNhMmYrcDJ1OGdhNE5N?=
 =?utf-8?B?S3ZQeGtJdmdUUlgzNE84VkR3a2hNeTV1OXF2VTl2RDh6MUNSM3hzZU5FZGlN?=
 =?utf-8?B?MXA3TkRvVndUdGJoclNMd3VtSSs5NkxGYUkrdkdoejZ3Q0NVNloyc05BTldp?=
 =?utf-8?B?eTU1cTYvNkZlZ05NMHJMV1ExMmg1MUFWZlB5anljRlIxbXRRQ2MrVkZsR3hY?=
 =?utf-8?B?YUZaaERXVWNOdXJ4RHlkLzZiWEQwYzJxcXY4UmNNaldsUHdPVUVpOGpJbjQx?=
 =?utf-8?B?UmpFWDBkMy9vRXIrOTBoVXBkbXRVTFR4eFZ1bVlLcFlUZDFPb3JucS9ZTVFy?=
 =?utf-8?Q?GXRmtKQNovhA7XGyO6ve/e1VS?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <5B7BFE593A554342B25998A68382CB90@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 31cc8179-2a72-45a0-5200-08dadf5b8b5d
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Dec 2022 11:49:09.9357
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: rNAMnmLdIbyxF9LiVRimGw5vkVJjJmIriU4g8CukSqoqYB7xxCx1nSwMCkJw4+UVazdOI7JxK/HG8Khac/VYxKUgS57k2xaT9xdydj5pOr0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5833

T24gMTMvMTIvMjAyMiAxMTozOCBhbSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IEFsbCBjYWxsZXJz
IGNvbnZlcnQgZnJhbWUgbnVtYmVycyAocGVyaGFwcyBpbiB0dXJuIGRlcml2ZWQgZnJvbSBzdHJ1
Y3QNCj4gcGFnZV9pbmZvIHBvaW50ZXJzKSB0byBhbiBhZGRyZXNzLCBqdXN0IGZvciB0aGUgZnVu
Y3Rpb24gdG8gY29udmVydCBpdA0KPiBiYWNrIHRvIGEgZnJhbWUgbnVtYmVyIChhcyB0aGUgZmly
c3Qgc3RlcCBvZiBwYWRkcl90b19wZHgoKSkuIFJlcGxhY2UNCj4gdGhlIGZ1bmN0aW9uIGJ5IG1m
bl90b19uaWQoKSBwbHVzIGEgcGFnZV90b19uaWQoKSB3cmFwcGVyIG1hY3JvLiBSZXBsYWNlDQo+
IGNhbGwgc2l0ZXMgYnkgdGhlIHJlc3BlY3RpdmVseSBtb3N0IHN1aXRhYmxlIG9uZS4NCj4NCj4g
V2hpbGUgdGhlcmUgYWxzbyBpbnRyb2R1Y2UgYSAhTlVNQSBzdHViLCBlbGltaW5hdGluZyB0aGUg
bmVlZCBmb3IgQXJtDQo+IChhbmQgcG90ZW50aWFsbHkgb3RoZXIgcG9ydHMpIHRvIGNhcnJ5IG9u
ZSBpbmRpdmlkdWFsbHkuDQoNClRoYW5rcy7CoCBUaGlzIHdpbGwgaGVscCBSSVNDLVYgdG9vLg0K
DQo+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KQWNr
ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+LCBhbGJlaXQg
d2l0aCBvbmUNCmRlbGV0aW9uLg0KDQo+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi9udW1hLmgNCj4g
KysrIGIveGVuL2luY2x1ZGUveGVuL251bWEuaA0KPiBAQCAtMSw2ICsxLDcgQEANCj4gICNpZm5k
ZWYgX1hFTl9OVU1BX0gNCj4gICNkZWZpbmUgX1hFTl9OVU1BX0gNCj4gIA0KPiArI2luY2x1ZGUg
PHhlbi9tbS1mcmFtZS5oPg0KPiAgI2luY2x1ZGUgPGFzbS9udW1hLmg+DQo+ICANCj4gICNkZWZp
bmUgTlVNQV9OT19OT0RFICAgICAweEZGDQo+IEBAIC02OCwxMiArNjksMTUgQEAgc3RydWN0IG5v
ZGVfZGF0YSB7DQo+ICANCj4gIGV4dGVybiBzdHJ1Y3Qgbm9kZV9kYXRhIG5vZGVfZGF0YVtdOw0K
PiAgDQo+IC1zdGF0aWMgaW5saW5lIG5vZGVpZF90IF9fYXR0cmlidXRlX3B1cmVfXyBwaHlzX3Rv
X25pZChwYWRkcl90IGFkZHIpDQo+ICtzdGF0aWMgaW5saW5lIG5vZGVpZF90IF9fYXR0cmlidXRl
X3B1cmVfXyBtZm5fdG9fbmlkKG1mbl90IG1mbikNCj4gIHsNCj4gICAgICBub2RlaWRfdCBuaWQ7
DQo+IC0gICAgQVNTRVJUKChwYWRkcl90b19wZHgoYWRkcikgPj4gbWVtbm9kZV9zaGlmdCkgPCBt
ZW1ub2RlbWFwc2l6ZSk7DQo+IC0gICAgbmlkID0gbWVtbm9kZW1hcFtwYWRkcl90b19wZHgoYWRk
cikgPj4gbWVtbm9kZV9zaGlmdF07DQo+ICsgICAgdW5zaWduZWQgbG9uZyBwZHggPSBtZm5fdG9f
cGR4KG1mbik7DQo+ICsNCj4gKyAgICBBU1NFUlQoKHBkeCA+PiBtZW1ub2RlX3NoaWZ0KSA8IG1l
bW5vZGVtYXBzaXplKTsNCj4gKyAgICBuaWQgPSBtZW1ub2RlbWFwW3BkeCA+PiBtZW1ub2RlX3No
aWZ0XTsNCj4gICAgICBBU1NFUlQobmlkIDwgTUFYX05VTU5PREVTICYmIG5vZGVfZGF0YVtuaWRd
Lm5vZGVfc3Bhbm5lZF9wYWdlcyk7DQo+ICsNCj4gICAgICByZXR1cm4gbmlkOw0KPiAgfQ0KPiAg
DQo+IEBAIC0xMDIsNiArMTA2LDE1IEBAIGV4dGVybiBib29sIG51bWFfdXBkYXRlX25vZGVfbWVt
Ymxrcyhub2QNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90
IHN0YXJ0LCBwYWRkcl90IHNpemUsIGJvb2wgaG90cGx1Zyk7DQo+ICBleHRlcm4gdm9pZCBudW1h
X3NldF9wcm9jZXNzb3Jfbm9kZXNfcGFyc2VkKG5vZGVpZF90IG5vZGUpOw0KPiAgDQo+ICsjZWxz
ZQ0KPiArDQo+ICtzdGF0aWMgaW5saW5lIG5vZGVpZF90IF9fYXR0cmlidXRlX3B1cmVfXyBtZm5f
dG9fbmlkKG1mbl90IG1mbikNCj4gK3sNCj4gKyAgICByZXR1cm4gMDsNCj4gK30NCg0KcHVyZSBp
cyB1c2VsZXNzIG9uIGEgc3R1YiBsaWtlIHRoaXMsIHdoZXJlYXMgaXRzIGZhbHNlIG9uIHRoZSBu
b24tc3R1Yg0KZm9ybSAodXNlcyBzZXZlcmFsIG5vbi1jb25zdCB2YXJpYWJsZXMpIGluIGEgd2F5
IHRoYXQgdGhlIGNvbXBpbGVyIGNhbg0KcHJvdmUgKGJlY2F1c2UgaXQncyBzdGF0aWMgaW5saW5l
KSwgYW5kIHdpbGwgZGlzY2FyZC4NCg0KQXMgeW91J3JlIG1vZGlmeWluZyBib3RoIGxpbmVzIGFu
eXdheSwganVzdCBkcm9wIHRoZSBhdHRyaWJ1dGUuDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:50:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:50:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464477.722932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69El-0001zY-95; Fri, 16 Dec 2022 11:50:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464477.722932; Fri, 16 Dec 2022 11:50:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69El-0001zO-69; Fri, 16 Dec 2022 11:50:47 +0000
Received: by outflank-mailman (input) for mailman id 464477;
 Fri, 16 Dec 2022 11:50:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=joxT=4O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p69Ej-0001yn-Nd
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:50:45 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on2051.outbound.protection.outlook.com [40.107.15.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df28173b-7d37-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 12:50:44 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7658.eurprd04.prod.outlook.com (2603:10a6:10:20d::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.13; Fri, 16 Dec
 2022 11:50:42 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Fri, 16 Dec 2022
 11:50:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df28173b-7d37-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Px3EuzYhYPXT9PO1iBFHV+fdEPb8orpPAs4Dn1II2o3boLFyeF9u6nXl6S0MdxQpJMjTg22dfUOgKXAW5DAaZ52fsiaw2zGN2fliBKCNurY/J56kgQ4KG5F4c3ZKkHOhYZAVIoFzUdO81WKRlB6hmGOfdXZIIt/2P/GqHV/N5XexSBVT6lXlYbK2WaWRp6SMFYVkEJoeIT3Vh4ishYavpt19di8IJIOsAvhIPAjkJCBpQTZ4UrRMbhyZE8mh1tocTB0TprWAdkIhatgpwBXu8FHoB73idjQ1mgRdMfe8+X6aD5af5klZ86d9xixusBi1GdDCKn/Jy3RiQtE/cmg/sw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zPSVG6XaNdUx3Ml9rDy7eAlngk6b6nxB1OMvfceZ7sk=;
 b=QHMwtYDrSH3Qz/Odg2nWANnWgf8JTrZT+cS45dW9hFkvY0uwY7q9G54A9W1LRZun3CB55noKTHz4/4t85y8/0kXGAFBxgOShSWCJ+9zEIKZnlXDJPdOeQ7PdxC2vNIza4GPwYBlxJsjC4HecqZ/qPt77BYZE4nH58SibUqAyq0QPTFXjyfP85/OvAW5efYS9C0LP5FK8r4TI2kr8rIQzzmAcPgmrFwTMrgQkodefl2ItHFV6IQvxlTLcrI+a/TXOI/8f72TWSU6TAJCUiM6v/r/gxfC9yjOKnsdMMgL3c5reEk0a+p8MuBexcqNIlFPB4LliO0GoNUT4AZ5modM50g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zPSVG6XaNdUx3Ml9rDy7eAlngk6b6nxB1OMvfceZ7sk=;
 b=i6x666IEjflOlbCbhotiqk5aQg9zVku80CK4E8/Zteth6nuTkW/X4ARpGEsFt2+nogOXbl+f9z8tn5x4UCUTL3IbZ9tKAqrVA225K8gjRmIPZ28O7VBUlsJ6uuLPJEw4b+i3OvhANAMwHw9hxX0bn4R0lbC6YbFtb25PhegKqOnuayiFBknOQljrV9XX72hM/oGHG33dKxUe5XCGJlg/GGiQ+5XgQYWS+iI/r9DtAp1lAL6LyCkwxtxgAJ5WwZo3E3Ba4XxFPseNIVraP0qX4szNhunBhPehaTj8bd8uRbnD+sSm1mrS+xp2mHzV8RjFo6W5G6GuFtPJNM+YlTMt3Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ba863886-91db-6e78-2b74-11e382d90b96@suse.com>
Date: Fri, 16 Dec 2022 12:50:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [XTF-ARM] tests: Hypercall xen_version testing
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>
Cc: sstabellini@kernel.org, xen-devel@lists.xenproject.org
References: <20221215152511.10194-1-michal.orzel@amd.com>
 <58a87888-e839-8a5d-0e7f-7520e5e2c78a@suse.com>
 <235eaf7f-5b59-e8de-8657-ce9d202365c1@amd.com>
 <219f3764-dade-7ef5-fbd7-fa9d2ae20d8c@suse.com>
 <22696c5b-f9cf-fddd-77aa-79f1c28f1cd9@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <22696c5b-f9cf-fddd-77aa-79f1c28f1cd9@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0075.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7658:EE_
X-MS-Office365-Filtering-Correlation-Id: 986587d2-5a41-4f14-dc3f-08dadf5bc252
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	s3oixRiCiuQj8Bbqr5JGXx5UYeC1xxFGbq9CGUyc+wcu0EdYdOxoyDXyNY2D3KjF3Gfijo5MNU49msBb3OEvaZHZ7WkMMMndFqjckPVfhq8rdKwrMznwthaiJsH7fmRt5gK+wziQ5kVJTN4FnveVszymKJJFz02q32QRucRRJeGi8IzaCd3+lqare4KHZ334nReIMtyVdoRssgKpAfafVnH7VNiXORLtqHnqz+83makPxynZw9KIQTuwam4VXkExOY6JYAxyYvLGzoPeGErNLYCvSrtBonQUi0iXUWpYkCKPyf8ldVpbsO+NTLZ1iIjHcpAKtZIbLzRxpIQVPAeVD5gi7dY+fR3ksKOTSc/lT8lz2qTe8e1HuUsVguVrWo5kvD7AIWuf7i0St43g4cmmCLhICSpmpSsrti+pXOQpPV3VPuZBEpbtW3cMqVrExY+FFFIuGnk7fYnzJfVtGM8RQ7+qkwg34AXJNmEgb4PqHtd8JAZR7OvN6W6HcatPwH9rCETsrrrnhkYEF8KEvH0apimVjVc9cy6eYwyAZlKxnNNGwLMejuFOTMovVKruGHYKXy9AE3bSwY/NFb+TPmo3eCmhGKPmDBD3s+kdFHSZQpjfa597XVWg4pxCnKUbq0x9ZOrmNB/eaer0NgfOo8hfAP8F24iY9rgkCk1MUAzANHBzMFP+9N9OJIVHXSp3yUYjB9VeQ3+Gyg5ve0xT5DvACRaLXyLBQIkwB/eKleg3qlY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(136003)(346002)(396003)(376002)(366004)(451199015)(66946007)(4326008)(5660300002)(66556008)(8676002)(31686004)(41300700001)(8936002)(66476007)(6916009)(478600001)(36756003)(316002)(2906002)(6486002)(86362001)(2616005)(6506007)(6512007)(186003)(53546011)(26005)(83380400001)(38100700002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N0l4L04wdXNEUWRWeEVmQWxzUjhuY1hDMmE1djV2TmdLOHJFajdNZXFSZUdR?=
 =?utf-8?B?YWhhMGZmQmU0QUsva2tOK0dEMHdoL0R3cEkydUlFN3BjTSsvaU9VaWNTMVR2?=
 =?utf-8?B?RVZFVmhkdzFHclhSa0d5ZUlYKzVPUHpPMjhTK1lwM29ZeTQ0ZFJIUEVkKzIr?=
 =?utf-8?B?VC9uR0gzZWFvanBISFluOE9qb1huR3NvNUVDaUEvRHhDT09SYW9MKzNIdFl1?=
 =?utf-8?B?elhIMGhpbGhSSURsS1g3U3NHMkhhQnpsVzNndmpZUlZrUnVadXUwTHM4TkRF?=
 =?utf-8?B?TTFmdnhmNkhSYi9LeUxVR1NjWU0zV0RzUmZvek5HSU9qdm5kcC9Pd2FKQ1Vr?=
 =?utf-8?B?YXhKVCtpdk1aVmRsMXhOZkQyVTZmUDJkdG1VU2hmb2cwblJpaEgwb1UrSnBY?=
 =?utf-8?B?N21yMUsvcWpkMC96eVZoV2lVcVFPUTRyYkJsN0dVbTFVMkNXTDQyVk10WUFK?=
 =?utf-8?B?Mlc2ZVR1a2cwZU9Dcjd5cGJ5eW5tZ3RnRWpZV1dCdzFqM09jMFNvajZxNExn?=
 =?utf-8?B?Q3JNK2pKUjJXVVRUZ1Jkb0ROTWYzVS91eVBrZFpmeXpYRWVLTitCTWJIKzg5?=
 =?utf-8?B?T0wxVXlwVW5IejNGWXlTK1FUYzNNbFUwVGlMQlVDZE1temkzbzEwSU9yL0sy?=
 =?utf-8?B?ZWFNenBESnB1eFBRcTUzdlNVVTlPWUlMd0dCTjRIakhRQWpFZ2hoNTZKYnpG?=
 =?utf-8?B?aC9mbnJaanV4NEZWTE5sTmJMMFEvVGpEczN1aTVET2MvTkQxdFh0TEhlWUhh?=
 =?utf-8?B?MXlNSk1ETzIxREE0c2owbWhGMjZpK216dm53ZHVPL0dpNm5uMnR5MjZPUk5S?=
 =?utf-8?B?dDhNUGhmWXFISnYyejRmVHVDMUhiY3lheXZUbE9jQnh4UmRNbEkvem9PRTN5?=
 =?utf-8?B?MERlRjFtT2J1KzRJQkt6Y0ZIZDVKNXdWMkJOekR3UmlpTjV2b2VTak9Ub25y?=
 =?utf-8?B?Tkg1c2daWDVvMHQrcFN0VnFuTTZQc2xsY2dxQWpwbndCV1BKbmNCU1YrU1R2?=
 =?utf-8?B?Ry9nYk9tTXM5Z1hoVGFqdFdPSWx6MXZLdzZCZWtlL2VNZXQ5cURKWTEwdFVT?=
 =?utf-8?B?R015NzJsanNJK2ROV0xzR0FNeHRPVzJJMDV0d1JCL1BXWlgrd2krNjkvZjBG?=
 =?utf-8?B?dDlSYzhOM1JLaHQxdVJDWUJrUVgrT2srT0lkaEVWb1BGT1BoTXJQMmpmY0NO?=
 =?utf-8?B?MjEwMi96L2xWZHIrdnJkZDRpY1NhaXVWNS95b0V6Z2Q3VXRGYVVjM0NOVHF1?=
 =?utf-8?B?cTgxdzdEWFFuSWFEc0RHRkZSR1R1RWhySXRVc2J4VVhwUklaenU2WXJIQVl6?=
 =?utf-8?B?UTZ5ZW8vWitpc2NQeU40bHp3UFd5Z2VRSDNYWmZqRUFuQm85Z3RmUmNTRHpt?=
 =?utf-8?B?bExNM1BPT2kvMXhZTm11bEhZdHpLM1U1MlVONWtuNU5MR2pKZnd6LzJ0enpz?=
 =?utf-8?B?cFdHNmVpMFdUMXVpY3JTVXRwUmxxZTViTnc0WnYxODdSTGl0WWNDM3czVmJx?=
 =?utf-8?B?dmZwNDZsWXI3KzhhVzRyaU0zN3JtUVFlS2tVR0E1Q3NRZ2lIaURRclFKNlJm?=
 =?utf-8?B?RUlXenhQVWplZENRVzluQXV1M2xaNmFkWDdPTzIxdjBaWkcxbHo5VXBXOHcv?=
 =?utf-8?B?dUk5bGcxS1VCY2JsWEExZFQ5dWNqMmNxNHk4VHVCcXN4dVQvRTdyZ0pFOTk1?=
 =?utf-8?B?TjZ6YXZObG1TTGNaSmVPQmlNdzI2blFRaW40TkgwcURHQnVJZ2dWQWxBTndz?=
 =?utf-8?B?ODdkcCtHVU4vQW1TbGtqVWhaNjFxUTlha0lvdEdtYkZkQytSZVFJcm9MVmI5?=
 =?utf-8?B?N2pKNzVXdjljbGtsVFpOM1RHeTFSdmpUNkxLZ2NkMHZia2wzSlhVRnllMTR2?=
 =?utf-8?B?emt4VmZkTy9LbzVvcVB6TlpBMXNJNE9aMFFvNjhOMlpNblhKejlCQjV4MG1O?=
 =?utf-8?B?RGZiRlF3all5eU1KeldQS3VSZ0k3UjgxY29wL0tIekVJREh5eHFva0RRLy9l?=
 =?utf-8?B?QWhJODVxUEVnT0RBcnAxSXNxZFhsZ1NQdytBWXlWaElGdjBoeHlIa3pESWtM?=
 =?utf-8?B?OTl3eHM4ai95RDV4MGNNK0tKbXNlR3NQcTh4V0ZBVkF4OHYwSCtwRmw0N0hy?=
 =?utf-8?Q?jcQNDYsMEjipkz8fXk14WndBu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 986587d2-5a41-4f14-dc3f-08dadf5bc252
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 11:50:42.4387
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: z/NL6KLeccjURefkkfwioX8uMJ8Fy+usT0xCgjueSXeoJxlvznV0Qo6IC9M7uMKnneXLsxWGMwOIb3LlYtLo6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7658

On 16.12.2022 11:53, Michal Orzel wrote:
> 
> 
> On 16/12/2022 11:21, Jan Beulich wrote:
>>
>>
>> On 16.12.2022 10:30, Michal Orzel wrote:
>>> On 15/12/2022 16:48, Jan Beulich wrote:
>>>> On 15.12.2022 16:25, Michal Orzel wrote:
>>>>> --- /dev/null
>>>>> +++ b/tests/hyp-xen-version/main.c
>>>>> @@ -0,0 +1,105 @@
>>>>> +/**
>>>>> + * @file tests/hyp-xen-version/main.c
>>>>> + * @ref test-hyp-xen-version
>>>>> + *
>>>>> + * @page test-hyp-xen-version Hypercall xen_version
>>>>> + *
>>>>> + * Functional testing of xen_version hypercall.
>>>>> + *
>>>>> + * @see tests/hyp-xen-version/main.c
>>>>> + */
>>>>> +#include <xtf.h>
>>>>> +
>>>>> +const char test_title[] = "Hypercall xen_version testing";
>>>>> +
>>>>> +#define INVALID_CMD -1
>>>>> +
>>>>> +void test_main(void)
>>>>> +{
>>>>> +    int ret;
>>>>> +
>>>>> +    printk("Checking XENVER_version:\n");
>>>>> +    {
>>>>> +        /*
>>>>> +        * Version is returned directly in format: ((major << 16) | minor),
>>>>> +        * so no need to check the return value for an error.
>>>>> +        */
>>>>> +        ret = hypercall_xen_version(XENVER_version, NULL);
>>>>> +        printk(" version: %u.%u\n", ret >> 16, ret & 0xFFFF);
>>>>> +    }
>>>>> +
>>>>> +    printk("Checking XENVER_extraversion:\n");
>>>>> +    {
>>>>> +        xen_extraversion_t xen_ev;
>>>>> +        memset(&xen_ev, 0, sizeof(xen_ev));
>>>>> +
>>>>> +        ret = hypercall_xen_version(XENVER_extraversion, xen_ev);
>>>>> +        if ( ret < 0 )
>>>>> +            return xtf_error("Error %d\n", ret);
>>>>
>>>> This, ...
>>>>
>>>>> +        printk(" extraversion: %s\n", xen_ev);
>>>>> +    }
>>>>> +
>>>>> +    printk("Checking XENVER_compile_info:\n");
>>>>> +    {
>>>>> +        xen_compile_info_t xen_ci;
>>>>> +        memset(&xen_ci, 0, sizeof(xen_ci));
>>>>> +
>>>>> +        ret = hypercall_xen_version(XENVER_compile_info, &xen_ci);
>>>>> +        if ( ret < 0 )
>>>>> +            return xtf_error("Error %d\n", ret);
>>>>
>>>> ... this, and ...
>>>>
>>>>> +        printk(" compiler:       %s\n", xen_ci.compiler);
>>>>> +        printk(" compile_by:     %s\n", xen_ci.compile_by);
>>>>> +        printk(" compile_domain: %s\n", xen_ci.compile_domain);
>>>>> +        printk(" compile_date:   %s\n", xen_ci.compile_date);
>>>>> +    }
>>>>> +
>>>>> +    printk("Checking XENVER_changeset:\n");
>>>>> +    {
>>>>> +        xen_changeset_info_t xen_cs;
>>>>> +        memset(&xen_cs, 0, sizeof(xen_cs));
>>>>> +
>>>>> +        ret = hypercall_xen_version(XENVER_changeset, &xen_cs);
>>>>> +        if ( ret < 0 )
>>>>> +            return xtf_error("Error %d\n", ret);
>>>>
>>>> ... this can fail because of XSM denying access. (Others can of course
>>>> also fail for this reason, but here possible failure is kind of
>>>> "intended" - see the dummy xsm_xen_version() handling.) Therefore I
>>>> would like to suggest that you also special case getting back -EPERM,
>>>> resulting in e.g. just a warning instead of an error.
>>> When writing a test I did make sure to check xsm_xen_version *for the operations that I covered*
>>> and my understanding is as follows:
>>> For XENVER_version and XENVER_get_features, it returns 0 so deny is false.
>>> For other commands I test, xsm_default_action is called with XSM_HOOK which returns 0 as well.
>>> So AFAICT nothing can result in setting deny to true.
>>> But even in case of setting deny to true, it would just result in copying "<denied>" into
>>> the respective buffer. It would not alter the hypercall return value.
>>
>> For dummy itself all is fine; arrangements there suggest to me though
>> that the intention was that an actual Flask policy may be written such
>> that some of these might actually be refused. My recollection actually
>> is that when the distinction for the sub-ops was introduced, quite a
>> bit of discussion happened as to what may or may not be (optionally
>> or uniformly) be rejected.
> Ok but in any case, in the current xen_version implementation, it will just
> result in storing "<denied>". No -EPERM will be returned. So do you think it
> would make sense to add handling for it in the test even though it cannot be
> triggered?

Oh, I see my mistake now. Apologies, I take back my request.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:58:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:58:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464524.722943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69MP-00032N-2g; Fri, 16 Dec 2022 11:58:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464524.722943; Fri, 16 Dec 2022 11:58:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69MO-00032G-WD; Fri, 16 Dec 2022 11:58:41 +0000
Received: by outflank-mailman (input) for mailman id 464524;
 Fri, 16 Dec 2022 11:58:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69MN-000329-DY
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:58:39 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ML-0002Sn-Gp; Fri, 16 Dec 2022 11:58:37 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.4.243]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ML-0005M9-AB; Fri, 16 Dec 2022 11:58:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ffeG7YpB3DegaNbNub/9ODCz5ESjbn6mDee0awUYju0=; b=TiKdTzzEGT2kie6jqiZewyWgzZ
	EIL2Ksdsx/AhKWlTVMWEicCS0rXt0MpCXRzDcc+afAhib5legQ8CEqQxNeu/KFUFxBIzdPFfnFAv/
	LnS2NFMCKlH3wbybUZ2KNgdeogFDeYXbgghALVnc81tgwS15ohzFNy7RZmNoESOyLAtM=;
Message-ID: <3328f716-8550-60f5-b12c-489bb51dde4d@xen.org>
Date: Fri, 16 Dec 2022 11:58:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 "Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org> <Y5j7KQ9g5Yb/ufn+@itl-email>
From: Julien Grall <julien@xen.org>
In-Reply-To: <Y5j7KQ9g5Yb/ufn+@itl-email>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Demi,

On 13/12/2022 22:22, Demi Marie Obenour wrote:
> On Tue, Dec 13, 2022 at 08:55:28PM +0000, Julien Grall wrote:
>> On 13/12/2022 19:48, Smith, Jackson wrote:
>>> Hi Xen Developers,
>>
>> Hi Jackson,
>>
>> Thanks for sharing the prototype with the community. Some questions/remarks
>> below.
> 
> [snip]
> 
>>> With this technique, we protect the integrity and confidentiality of
>>> guest memory. However, a compromised hypervisor can still read/write
>>> register state during traps, or refuse to schedule a guest, denying
>>> service. We also recognize that because this technique precludes
>>> modifying Xen's page tables after startup, it may not be compatible
>>> with all of Xen's potential use cases. On the other hand, there are
>>> some uses cases (in particular statically defined embedded systems)
>>> where our technique could be adopted with minimal friction.
>>
>>  From what you wrote, this sounds very much like the project Citrix and
>> Amazon worked on called "Secret-free hypervisor" with a twist. In your case,
>> you want to prevent the hypervisor to map/unmap the guest memory.
>>
>> You can find some details in [1]. The code is x86 only, but I don't see any
>> major blocker to port it on arm64.
> 
> Is there any way the secret-free hypervisor code could be upstreamed?

I have posted a new version with also a PoC for arm64:

https://lore.kernel.org/xen-devel/20221216114853.8227-1-julien@xen.org/T/#t

For convenience, I have also pushed a branch to my personal git:

https://xenbits.xen.org/gitweb/?p=people/julieng/xen-unstable.git;a=summary

branch no-directmap-v1

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 11:59:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 11:59:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464532.722954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69NS-0003Z9-CT; Fri, 16 Dec 2022 11:59:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464532.722954; Fri, 16 Dec 2022 11:59:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69NS-0003Z2-9m; Fri, 16 Dec 2022 11:59:46 +0000
Received: by outflank-mailman (input) for mailman id 464532;
 Fri, 16 Dec 2022 11:59:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=joxT=4O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p69NQ-0003Ke-Cr
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 11:59:44 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2044.outbound.protection.outlook.com [40.107.105.44])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20aca2d6-7d39-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 12:59:43 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7658.eurprd04.prod.outlook.com (2603:10a6:10:20d::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.13; Fri, 16 Dec
 2022 11:59:42 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Fri, 16 Dec 2022
 11:59:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20aca2d6-7d39-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k4JmhORqP+t1CoGdgV6w/qnV1DvwQt2S9aeLfZW4bgr5cKnvKRo3sfqMWU8JF01XWfL/nF/7Za+KjkOJFr04+Y8/srZXOEGuDQPw4Kb9eQgOrXMckiVzlrsE0fah0nUQ3sJtfgeGYQjlUvabVbqgRTrNeRes8MPtytWTfecis+sR4PnqzTmvHm7/uKAp+pe9UNdnCOs6GrRRJfbbBqDZXyRMLhRP/il99pA3PjSO9m4bi6JNzAD5p1Q1Xruh1gT5vmRJ8AcUQ9D37bp+lD/iA1SJy9BWigJ9uy9pIOgGWKdAT2swkeMLx/iDJ2jYTIXCQOOthP9hirvuGfq1ipH5Vw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vddBN31vZmePKkvHxluqFDOIPBG2F6/itDT4wUkntVQ=;
 b=kY7egJ8foTaU/41Vh9b0LGcrdcu4QIDcaRvIIOY4E2wi5xU/QcWThqWxc+LnWDVvOjxIzDKckwvWis4zN12Fwawrqb4Aopmgd5AFJSLktVPTdAAhykVfG6aeTERndcQojmEQJa1rXVPD+QgyOwRfeShxTTzaoR9fWyz5+xIVChbtYA/qnf6w7IxdA2//UTcIURk6m1BiIOTjSqoHV5V6IrPFHnbj4FySG2GYO7wbnYgCiU9tyDYzTHsvJT+FJdMGRZirwgzErwIoRUxuZ/bkvgfxw+QaisAOCP08iWJHPC6H7gVr2rZL1VjXJwICN4aTSBNiObQ8SuEfxU2ucbY8TA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vddBN31vZmePKkvHxluqFDOIPBG2F6/itDT4wUkntVQ=;
 b=n4p2qIbe7YCWUldXh4X9NE5F0VJlTQ3d15DzdiAKm2LXi/7Cl+hz9PSAjIMIFr9qKAxtnZKXZvkF86cD4rz/f5U9xZ2iT3T2eW/fGRrXhoQ8pWerRaEsJOkBoPWLDdNQ0lvXW7SziC7JVddrcTTYmU/TgpYKMIvpYVLKo0YR2vuB2SyC6FE0uILaE0sgpPhI0OE4C2IqlSvNAutqDJCxBLAR0VNFolaTDaqWnVay/jmfaaFvUIZ7URzKBQhVF7fE1HuPzJoY0nqdAGlWAMU5VMS+dx3yPXAg0XfqMSkEz6Tc/kAIEoWPrVJDj9hFmnRxa9Wm9ui6cLKX0rGGL4UPDg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3efbf38f-4b78-7c3b-bd91-a17ff6028841@suse.com>
Date: Fri, 16 Dec 2022 12:59:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 2/2] NUMA: replace phys_to_nid()
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Roger Pau Monne <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
 <670b7017-4a6e-fa9e-9d65-65013bd4ad80@suse.com>
 <3a776bac-08d1-7772-b069-8a11583a4720@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3a776bac-08d1-7772-b069-8a11583a4720@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0002.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7658:EE_
X-MS-Office365-Filtering-Correlation-Id: 2a0612d9-5f52-4f14-fa06-08dadf5d0423
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PSpMEUMk0RmWT4nlEPt2WH6ZbxpcU/x2G4rJ0Z8Q8tMIrDJZGO2E5x8fr/6D3KOHkTlXcs2rXhmpkSaSHC4ALpmW5eSnxLuI27cbVNKlAzuKm5V/cGwnLMUs7RQWBAxkfqsToH5zxe/fw2ESPpPF+jPPRVQFE2YB76L6rJ9AJ9JQf4MUVT1WWfvb8I79O8lOywM9dhgyAg21Tjd575Ay7Ky/e2BY71ET0msH4aH4CpObLnJS6p3r5T+QlQTG/Udy4973swi9Mx0jexmRq1m6wHFb8S2MXF5CNQFHOSqD1MLDEvjbTunrUZ6jX2SSrBAoZWy1jgAu0Y7rfkdorcdGHUABpW/24ygjsaFGYkk4ybNtFZ/4qng+8G789xVE18XGSqkVeIER7OmngC9Cblxyb9rj+/daOMh4lQixG8BV7WvRgzd0slUTYLIsIEIIA5SqE7JHOAy0LGRYFi5uVcb3UqWMXNgonYs0LTKCg9L3vsdHTnt2NO4BbguwUmdrT65e43Ti6W0g10AFBAoZ1zq0bE6K2DbjmH7JEp5YCmdKG0okP3+0UJvv68jP2tfB1K95GYS+SbeWSC52H7SKPiiIOROJS3XZS5CmFh1zyGmGgoNmDDMMfThOp/0TPRKHL6I8KDgL+6iXNALM/mJNFniwG8b+1eDlMLM/GQan54FTncKcPzmcLdqPL9Iv37zoD1k6P3VqbBEU5XV+j0tf2QQhxOUqxs1V83vbDVoY1N0jQEw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(366004)(376002)(396003)(136003)(39860400002)(451199015)(478600001)(6486002)(2906002)(36756003)(316002)(54906003)(6916009)(83380400001)(31696002)(38100700002)(86362001)(26005)(2616005)(186003)(53546011)(6512007)(6506007)(31686004)(5660300002)(8676002)(66556008)(66946007)(4326008)(66476007)(41300700001)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RTB6dWEwY1pwcXBqSjFiNlpnaFBET3d2Uy9lRi9RaE9ueTBhOTFzQ0tidldq?=
 =?utf-8?B?RUd5TTlnbE5mRUtCalpuamVuQTFMK25ZUXJka0JGeU56eHZPb3plalFvdE1T?=
 =?utf-8?B?bDhBSk1jdDlyQ0JjMW9CZ2lrQng3QWFvS1BUc0Z3K1E5UVRFQU9Zbm4zRHh0?=
 =?utf-8?B?Zyt4bnpGYzFtQkF6WFJibnpwZDNZdDErL0Z0MTN5TDRzZDJLeXIrNWFwcVgr?=
 =?utf-8?B?cUVURk45ZUxSVS85NzN5dXExVFpUTGN0WFk2cGdyWW05WHRpTCt3NGhrN2ND?=
 =?utf-8?B?TEIrRnpLeXdGR0FZVXdXajhPWDhNTFY0Q2pqN09aNmFpZlVGRjJGalRUVzhW?=
 =?utf-8?B?NmZKMUg5Z1JTcXhiZ2dpTWtHaTVlUE1oUEY4bkx3MHF2QzVjVG5sMi92RkZ3?=
 =?utf-8?B?RWlqRUhRWWJVb3FBdlhrOUJMRTJJbk51VmJFSDJjMFRPUVkvTEJ2V0M2R0hk?=
 =?utf-8?B?eCtja09EUmlSeXhLeFhzM0tHclpMc0EvNDh3TEtSQ3YxSDJzM2VkZXl3aXdj?=
 =?utf-8?B?SlJ0RDBOeXhvekNIZmFiT1NGU0JpeHVibStKYklGZ09IRmlOZEJ1SlZNbjNW?=
 =?utf-8?B?RkJTcGZlTjVZTWVMMFlNV0F3WUhJbGUwaXJ2Ukk1Z3Zyb002QXpZMXJsSVNk?=
 =?utf-8?B?MnJzWWJFNm1BMll6SkFsUWlaNTNHR1VZVDVjSWtsRG5KSEdTblFlZ1dadWw3?=
 =?utf-8?B?di9KaHpwalcvUXdDejk5Mnp4WmlMcHhDL3BNNzZiWjV1M3FoUFBQQlZxR2FD?=
 =?utf-8?B?ZWFLWWpuMkZ0cnpaWlJhQVZIZ3ZLczhKMldLY2VzQVp6UmNTQjYrNE1sMDZv?=
 =?utf-8?B?NWs5SzNJTEMwYmNrT0xtVEdZVkVTRDg0N3Brcnl6eXM3eGhPNE1UNThzaWNv?=
 =?utf-8?B?dHp1YytCcGVib290ZzR1NE1oZjZGTzRsR0lBSm5qT2wwQVp0MGVrbjJaQnV3?=
 =?utf-8?B?Q0VUQkttamRsZUZnUXIyTTFPNS9GbG9HazdXVHZVMFFJbkVacWkrZ0I4N0R0?=
 =?utf-8?B?ZDh1WkpDRDNRSUxWWVMxQnlKYlFhQUJoeGg1THhkRTlLY0drdEJxZlQwWExs?=
 =?utf-8?B?eHMvaEpsQmdpZ0c2d09NMGYycmFpQkRGd1IycXI4NlRkcE16R1hpamw2N2ZC?=
 =?utf-8?B?QnB2cUVkd0JCa2x0dFR1UEZKbCt0eklJRStKelBrRGNTRFRoL05wOVp2TFVT?=
 =?utf-8?B?MkpENVlvUHNIa2N0RkNCVElOZXg5Nnd0TGZpYmhWKzIwem5BSmMrZGVvaUpN?=
 =?utf-8?B?dHV1YUFpZEV1QUdXMGgvMjFVV3Q1cTN2bWRnbzFkZTF2YUJtQ0VpV1ljR3pG?=
 =?utf-8?B?czg0SEJzYkpTMUpHQVJaZmhDUnJ6RGlkWjhXN2RHUnkwZWZMbGx0YTl2R0hX?=
 =?utf-8?B?TXJSSExEaGZWWXNzb3Q1Q2xwWEdiczI4b21weTdnRGhSMjVRcDhaMFhud0Fi?=
 =?utf-8?B?NU4xUU1uRDUra2tyczFqdHl0ODdIMUxybitrcUZJcldHVm4vVU9TY3laT1JE?=
 =?utf-8?B?YVNETDd3R2lZb05RWXJHSVd6U3VKS2JpZ3Fnd2ZNV00zQ05hMDliek5aM0px?=
 =?utf-8?B?SnNlS3VGSnlVYzRZZ2lWQ0M5USsxQWs5Y1Z3UUJiZFM0cVFjdnBXaWZ1VEY4?=
 =?utf-8?B?ckIvcXlFN21MSEJXMzRlNmRURkFUTll4KzUvaFdnTmg5a2RBMlZUbjhhRzhK?=
 =?utf-8?B?dmovNE5YN0YrdUs1VmcwLzZkUUdZa2lKRlo0L1VJcENwRU1BUUxwTVJqMExF?=
 =?utf-8?B?b1g0Q3gxRDJlbjBKcWZKQjVxOTl6UmUzam15SWI1akprODhUaW5USUVqVlpq?=
 =?utf-8?B?OWw1TEFCK0d0dWtpNHVWTWFvNEFGYXluY3hkaUZhZWNJWTJxM0ZCV2toU1ov?=
 =?utf-8?B?V2RoSVBKVzBTc2Q2KzBwQmtLOEw5TnpVb0htTHVZMEJmUFNqNXBaT2s0b3ZZ?=
 =?utf-8?B?eDY0Z3NuLzF0M00zZ3FqZXBXUWtIU0w0T1dxQWRBSVU0OWFVMkJrU3ZNajJi?=
 =?utf-8?B?enM4Rm9tdmN3bUZXYXowdG5sN3p4dmlvNXlHU1lXRHlyRXoyZTgvbHNjL1Rv?=
 =?utf-8?B?NlBiRmxGOVREWGRoMUd3WGg4QVg4RnlMbnh2bEM3M09xZkQ4UVJLYWZxQUd3?=
 =?utf-8?Q?E3oO2OqMbujQHnCz//5d3TAsC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a0612d9-5f52-4f14-fa06-08dadf5d0423
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 11:59:42.1546
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IzYC7ULKH+qFJfJkzkq2pe1AzhCyfGUjbapwNoMc71UrdnIlbrDRL6C0OhW07+nKm0EfWRKOhMwNFYDfuKqN4A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7658

On 16.12.2022 12:49, Andrew Cooper wrote:
> On 13/12/2022 11:38 am, Jan Beulich wrote:
>> All callers convert frame numbers (perhaps in turn derived from struct
>> page_info pointers) to an address, just for the function to convert it
>> back to a frame number (as the first step of paddr_to_pdx()). Replace
>> the function by mfn_to_nid() plus a page_to_nid() wrapper macro. Replace
>> call sites by the respectively most suitable one.
>>
>> While there also introduce a !NUMA stub, eliminating the need for Arm
>> (and potentially other ports) to carry one individually.
> 
> Thanks.  This will help RISC-V too.
> 
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>,

Thanks. You realize though that the patch may change depending on the
verdict on patch 1 (and, if that one's to change, the two likely
flipped with the actual fix moving here in the form of more relaxed
assertions, one way or another)?

> albeit with one deletion.
> 
>> --- a/xen/include/xen/numa.h
>> +++ b/xen/include/xen/numa.h
>> @@ -1,6 +1,7 @@
>>  #ifndef _XEN_NUMA_H
>>  #define _XEN_NUMA_H
>>  
>> +#include <xen/mm-frame.h>
>>  #include <asm/numa.h>
>>  
>>  #define NUMA_NO_NODE     0xFF
>> @@ -68,12 +69,15 @@ struct node_data {
>>  
>>  extern struct node_data node_data[];
>>  
>> -static inline nodeid_t __attribute_pure__ phys_to_nid(paddr_t addr)
>> +static inline nodeid_t __attribute_pure__ mfn_to_nid(mfn_t mfn)
>>  {
>>      nodeid_t nid;
>> -    ASSERT((paddr_to_pdx(addr) >> memnode_shift) < memnodemapsize);
>> -    nid = memnodemap[paddr_to_pdx(addr) >> memnode_shift];
>> +    unsigned long pdx = mfn_to_pdx(mfn);
>> +
>> +    ASSERT((pdx >> memnode_shift) < memnodemapsize);
>> +    nid = memnodemap[pdx >> memnode_shift];
>>      ASSERT(nid < MAX_NUMNODES && node_data[nid].node_spanned_pages);
>> +
>>      return nid;
>>  }
>>  
>> @@ -102,6 +106,15 @@ extern bool numa_update_node_memblks(nod
>>                                       paddr_t start, paddr_t size, bool hotplug);
>>  extern void numa_set_processor_nodes_parsed(nodeid_t node);
>>  
>> +#else
>> +
>> +static inline nodeid_t __attribute_pure__ mfn_to_nid(mfn_t mfn)
>> +{
>> +    return 0;
>> +}
> 
> pure is useless on a stub like this, whereas its false on the non-stub
> form (uses several non-const variables) in a way that the compiler can
> prove (because it's static inline), and will discard.
> 
> As you're modifying both lines anyway, just drop the attribute.

Hmm, yes, I agree for the stub, so I've dropped it there. "Several non-
const variables", however, is only partly true. These are __ro_after_init
and not written anymore once set. Are you sure the compiler will ignore
a "pure" attribute if it finds it (formally) violated? That would be
somewhat odd, as it means differing behavior depending on whether the
same piece of code is in an inline or out-of-line function.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:03:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:03:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464543.722965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69RP-00058I-5f; Fri, 16 Dec 2022 12:03:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464543.722965; Fri, 16 Dec 2022 12:03:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69RP-00058B-2T; Fri, 16 Dec 2022 12:03:51 +0000
Received: by outflank-mailman (input) for mailman id 464543;
 Fri, 16 Dec 2022 12:03:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=joxT=4O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p69RN-000585-U1
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:03:49 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on2041.outbound.protection.outlook.com [40.107.14.41])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2d41aee-7d39-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 13:03:49 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by GV1PR04MB9053.eurprd04.prod.outlook.com (2603:10a6:150:1c::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Fri, 16 Dec
 2022 12:03:46 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.011; Fri, 16 Dec 2022
 12:03:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2d41aee-7d39-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oR+OKNaVhjVlFAW4DQZbYUzLTUqSsnwXxcT9F5YqQ8w96J3LsjhasiCcnwinWn6sMeI+/k/TVxCXdcKAuT1am2BWy8u2m3xJH1+X1hSGANf5RCBX6QMMBpM73fYu/w5+tsJ3G906TPgXq5jHqiHGKy9VyZY3EnXhJUAXv/kBF+zaiQ8G8+VNQIe9Rgz9NzCOrhjeirfyx4p5UpcgJyAtEjry7CoFF1GCAPU1tz03TK8HGV6C7J0Jb7CG/ubOozQjesWVWK4ZXM1Q4RqBXoSC31jqHHogYNRA/iYhRTddPc0OGGQuVrK4nIdKt/py+foZsPbqn0RglxYXfiGpLgJSmw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9jBQQfV3y3t9fT4po00CZXGlbfolHm9ylOQK4hGj1ik=;
 b=GqTIPm72i9YkwOkOPpd2i/TC5xinwnrUqqFK9Qvace7Q26DCEC2Uj0YhWGz/t1fEahg3Wrq7Bhw3xjJogh95JUAIJrYyFW/OzxNRSUMQhn/t6umJfEY4mSIuhAmGqJtq8oZy6K4ONe6jj5dOGUtlu+FwOBwFF1BW8hvT9a9FomC//9eGK/k5NVkag8zIsO6dZOxVnG+4i7f/1YlUhzJspLnO6mAVKP4htMwpgqB+urNqcie51kvDB6aeWoxSy4PyQ8L4amyt4yBBePQxTwfa7PsrIHeGspq+qgY5sF3/2YjoDPsbvC4ulROkfg48EaK+zDx6XuVmvkDJKTwPawG/6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9jBQQfV3y3t9fT4po00CZXGlbfolHm9ylOQK4hGj1ik=;
 b=sFlkVroQCfqypcPcRiqHVyEy7yAWlt2jADnOvYmyR4lJFFXoq+EhIC+ycAp3UnyPQs/pMjzOVXWAiKE0gzhLRpyg9EEvaB+pof9yp5psqnCfQu9bjRbLUbJyvWWE1xKB/ekgmE8g3CZMp0yv/8jMSSRicsIBMxuw4r6cyxS5nZptk1FcPa5/D1xTDBkiB11AFoIpNWoJOIyTMsjzWA083beB16U4eMgPb9gvBpGHow2Hh+HXiEH9vDr8+hcMGXAHOPwl+6PkJfT0vJnd8xtuh/vbMl/7UGL7fGOw4LXbdb6ObSXd6l9ateiSHjR5xsSmUbqlb+lVCtCTaSxvUPJn4Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c59193e7-4fee-6435-4698-385363df1bab@suse.com>
Date: Fri, 16 Dec 2022 13:03:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.5.1
Subject: Re: [PATCH 01/22] xen/common: page_alloc: Re-order includes
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-2-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221216114853.8227-2-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0037.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|GV1PR04MB9053:EE_
X-MS-Office365-Filtering-Correlation-Id: e2aed388-0e43-41d2-975e-08dadf5d957b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yjFX0nZa/Wg/L+OeOYu+nKloGvVpcP0Hi+ACMxl43zwpJkJP0IFeJx5CJYcXYUDrdADBmqUuA2G9WsmyFnGuLWSIQ2X9YQJ5XRT/nwa3gipHUOE1XPaJJ8NcBWDIV7UHJpGg2ZwBnkC50Kh7Z9w8jG/jDdu7ouxTnbWvZrmpPJzMfzO4hJy91gq6fVtUQrzCJ3gGX1BxbSnBbrQdq0u7WfjC2O7DWRO42CaSSAhPOd7C9+tTFHL1bkn8YVIOr0vbP8BnoSr38xWJFv3SBKnCvCkFtC4HDnYYxsWa97dR5XhrEsniW/4ROeL26A4ChsUwC0FvKc/wCY2AgLzI3uKl+JnAUocb5h1AUNpvUvGMaoXe9dSB0+wJYypbDZTHKFu+fQLcjteVYxKm4q7fa5L/CdiN6UWKcDQmBPZzPmRQztcrV+0+npPMTWZZkYrPj3gkYF28HH+/q4yxJzHeCKw1t0vgjPdU8sYhYPK6wziBj5T6WP6h5JgqKnE4vPHS8hGqnTyeYo51RK0mEZoRrxlrA9H00Asdi1UwpRDduJw6hetr8i1MpuFu7BXjmV59Wy74kQLtKI+CfUD1q8aR1qEWeknbdA74IG1UgwYYTSzSUV3ftmvzsUvh805cuj7P8AwtmP0y8zidadAKOIrVVDSu4k1/mqi+MEKxgKjptUs4WD9Ey+KjajRjX8LcDcIWWHeIKYXia5X5yIwab419TOcLWnPLPoh/rDLWUhiYxSF/ln5aVOSFo0iy7IQuxpSl49GvhoZM4vp27p496Myy3R3HGg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(366004)(396003)(39860400002)(136003)(376002)(451199015)(4326008)(8936002)(5660300002)(8676002)(4744005)(66476007)(316002)(54906003)(83380400001)(6916009)(478600001)(86362001)(31696002)(41300700001)(2616005)(6486002)(2906002)(66946007)(36756003)(6506007)(6512007)(66556008)(31686004)(53546011)(186003)(26005)(38100700002)(169823001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?akZyQUhrK0thb0FNNU5Lb3krZVVaTXNuUDA3cXVuMWtmdkxyMWUwTkpYZW1J?=
 =?utf-8?B?WUc2VVhxejF1cTl0Z0hkZFY0TzRYUW5qSTZNU3V0R0pjdVoxVktUZW1SQk9p?=
 =?utf-8?B?aTMrZUFRVGVpRUJ1ZWpHZXZlcVJFRnBFZVo1MmlrRU5zRi9IZGJsOWxqZFkw?=
 =?utf-8?B?a2YwRmtuUk53NVNMMjV2K2xzQVFtUVo5K0NIMmtjUjdPby9uNzUxd0UrNTdX?=
 =?utf-8?B?eUxoNUhrWVIzelY1eEZkY0lRUVRJOHcrcUxlelN1WGsyaXcwdUVISlJsVnht?=
 =?utf-8?B?cysrL1pPT0pCTWgvbmZ1aGQ3bUNaUERwSFN0SE1KMk9vb0RxVXB6anltVUd4?=
 =?utf-8?B?YzNOZmp3OHFnMGZ2SGxZTFZ4K3Q3TzhFUnFaZ01PNzBUTnFGd2FIcGZmMFFx?=
 =?utf-8?B?SUJsWm16NUVScE83UzhpT0hQUXljNnEvY2xTdmlBVnQ2cXl3V00yMWJFdENH?=
 =?utf-8?B?dmRtYXBjNGg4ZzVqQ2gzNDcvSFRPMFNzNVV4dnowMlJ6L1ZONGtYM1ptdlFC?=
 =?utf-8?B?THdtQzErUm01YmZpemU5M1NlY084SkoxcW5ET2ZVWDhSMTdGbmlJZ0ZGeUFw?=
 =?utf-8?B?OFBJMlJEQ0cvNnR3VHBqNFlOQlVDSU5yS3dwUDF4TEZDOWEvMlhCRVRIeklx?=
 =?utf-8?B?bzNVNGwrVzB2b1FXczZ4ek1XdFlqM00wbTZGaWh1bis0a29sRkJwalMrckJq?=
 =?utf-8?B?VWRwQzFLSENFWlZBN3EwVUt3c1ZBOHRBOVdqZXo3bmVVWEtXMENBY0ZGSTRr?=
 =?utf-8?B?SlBuRDg0TkxHZGtkMU9HVmk0dmt1N2ZFLys2UVJVcWxzbmVOczRDUTNXQ0RK?=
 =?utf-8?B?SEpWWlJ4aUcrRjhxS1g2VHZPcC9uWGliM0JES0hGWnBQSGQ4L1RnRUtJSTZY?=
 =?utf-8?B?WUFVaHZyeEV1Mll1N3JSSk1jTXBTeE1NWWRaYnpoempweHRMTEZ3MHZwTnJ4?=
 =?utf-8?B?RjRIUzBUUHFycjh1Z0lHV1hldnpjK2NqR3dhZFdKSmZ0aE0rWUpDVnRXYUcz?=
 =?utf-8?B?ZjhraHZtd3FxVGJKZDlMWGNMNnNZWW1MdmtQUWdjaFd4TkRtY1pWU1o4RWlM?=
 =?utf-8?B?WnVja25XbEhjWEVCWFdPTExvREpOUENhUXczR1JOVU5xNGhHYUhUNEhEM3J1?=
 =?utf-8?B?VUJ5cjFQWVc3cEExZTZDczdGU3RyMHZFclJVcm5teWp0WEU5ZTA4TFVFM0hJ?=
 =?utf-8?B?WkE2SlAxUkpMaHJMZGtqWitRb1JXeC84RUpuV0UzTjdNQzkxZTZpMVRrWlRl?=
 =?utf-8?B?bVBqcUdRM2ZENGxObHpFbnd3MFF4dTd0dVAwNTJIekdEd3VFQ09vUFJlbTB5?=
 =?utf-8?B?RTllcFRhSHdNbEloMDhhQ1hwVWh6RUpSNnZSTDhVcFhrRVc3MFpzaThpZGFR?=
 =?utf-8?B?RlMra0hFUWc2UTFhR09mUFFNM0dEc2tSaWxIQkdOVmJ1YzRVbkhVV2pzOXlW?=
 =?utf-8?B?dUtjR1pTdFNXclFJR1dhM1dsQ1E3RFB3TkUxNmpRbkp0ckZ6WjYzcUw5Zit4?=
 =?utf-8?B?YmZXSHNRYitDY2h3dnZUeTdmUFBhWUxhSHR5WjY0aGorZWptd1VKU3Rta3dR?=
 =?utf-8?B?K0JnYmI2SSs4U2dsNDI4T0plTTlIN0NxZ3VzbUorT2dIdDgxRDV3dmt1NVJ5?=
 =?utf-8?B?MnA2cU92eVdOdXFOK0QvL0lkU3VlUVE2ZjNoT0U3cTZiVXhrMC9RaXN2ZTVq?=
 =?utf-8?B?NzA3TWZsNnVHaGJ1ekZmQTFpLzQyUU1Ialp1WmZwTEJmU2ZpRHhXS2QwZkt4?=
 =?utf-8?B?U1YvOEIwZVdyeFV4SXdTZDJDeHJUR0U5WFhHemxQN21uOWFNaEFuSE94R0tp?=
 =?utf-8?B?RmY0Rllra3ppa1RSYTFjbmduUGtGcEtmL2RmMVI2QU9VUTBOOVlhaDRWem4y?=
 =?utf-8?B?ZDRXQmlVM2R6QTl4ZUlNYjJ2akFXVmhjNWxmT2hWek5MdTFHMUJETldsajg1?=
 =?utf-8?B?QjBOZFJCV1ZHeHBJMUZzK0hjUXZJRWx4V01xUW92WVRZaFJKRnQzK1BneE9Z?=
 =?utf-8?B?a25WVzBxdTBQV1U4Nk9hdkxQcmVHNWdHTUtZbnp1eFZTQ2hhcHgzdXBpYlZF?=
 =?utf-8?B?N3h2dS9BLzRTMDFza3NNTHo2VXk0UEZpNVM4bVR2NUZGMTdYRm10M3R1Y0Nr?=
 =?utf-8?Q?ouP/4C3m2AYWgMeCYxcpQ6kBI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e2aed388-0e43-41d2-975e-08dadf5d957b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 12:03:45.9985
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xA4aIGjbTxVBADSaQteQ6yr0tOAzIZRiGPhRHJGAr7QybN4p3dFIePzrb339PW61oabbZGDL8O0bK2uEyaZXcA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9053

On 16.12.2022 12:48, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> Order the includes with the xen headers first, then asm headers and
> last public headers. Within each category, they are sorted alphabetically.
> 
> Note that the includes in protected by CONFIG_X86 hasn't been sorted
> to avoid adding multiple #ifdef.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

> ----
> 
>     I am open to add sort the includes protected by CONFIG_X86
>     and add multiple #ifdef if this is preferred.

I, for one, prefer it the way you've done it.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:07:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:07:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464554.722976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69Ug-0005n7-LH; Fri, 16 Dec 2022 12:07:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464554.722976; Fri, 16 Dec 2022 12:07:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69Ug-0005n0-IX; Fri, 16 Dec 2022 12:07:14 +0000
Received: by outflank-mailman (input) for mailman id 464554;
 Fri, 16 Dec 2022 12:07:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69Uf-0005mr-NJ
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:07:13 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69Uf-0002gE-D3; Fri, 16 Dec 2022 12:07:13 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.4.243]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69Uf-0005qf-6s; Fri, 16 Dec 2022 12:07:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=jwhWCfplLIKLSijcEjeZDs3YoIntFJjexeGwJv84qOI=; b=3+klEv7L0FKzv+deyLp7sOH5pr
	VjD9fyOwggkJGJaL1Z7BHD/Qz95A0+pOLuElclr3D5a22BSI0X3z9B9MBCeo5Z+IrfUhYujTpm+YG
	0vFPkrj5VQGB8mpBFdfz300FeGM7dtTaT/fDrZ3JmedgZth6W3T/KOYt79R21ialzrec=;
Message-ID: <a0d8e33d-027f-dc34-31cc-3a425a12a041@xen.org>
Date: Fri, 16 Dec 2022 12:07:10 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH 03/22] acpi: vmap pages in acpi_os_alloc_memory
Content-Language: en-US
To: xen-devel@lists.xenproject.org
Cc: Hongyan Xia <hongyxia@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-4-julien@xen.org>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221216114853.8227-4-julien@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 16/12/2022 11:48, Julien Grall wrote:
> From: Hongyan Xia <hongyxia@amazon.com>
> 
> Also, introduce a wrapper around vmap that maps a contiguous range for
> boot allocations. Unfortunately, the new helper cannot be a static inline
> because the dependences are a mess. We would need to re-include
> asm/page.h (was removed in aa4b9d1ee653 "include: don't use asm/page.h
> from common headers") and it doesn't look to be enough anymore
> because bits from asm/cpufeature.h is used in the definition of PAGE_NX.
> 
> Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> ----

Sorry I sent this patch (and the others) with 4 dashes rather than 3. 
This is my way to workaround an issue with the patchqueue tools I am 
using (it would strip the text after the --- otherwise).

I will try to remember to remove the extra dash in the next version.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:17:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464563.722990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69el-0007MU-MK; Fri, 16 Dec 2022 12:17:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464563.722990; Fri, 16 Dec 2022 12:17:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69el-0007MN-Il; Fri, 16 Dec 2022 12:17:39 +0000
Received: by outflank-mailman (input) for mailman id 464563;
 Fri, 16 Dec 2022 12:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ej-0007L5-H5
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ej-00033p-CF; Fri, 16 Dec 2022 12:17:37 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DN-0004sN-0j; Fri, 16 Dec 2022 11:49:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=nUSS981XXVbzFIos+o7hpfIBcVywhSrr+zfV2HwfzJo=; b=ZSvLchk7+kKe/9gZN0LrxVyCaU
	Tfv40eywb1F8m3wsqq/uNlQeyknwb4iQ03wIEb+jcYcjJo0uDhi1jQamB1rrgJze/me2W6QOBGgoO
	xgB+6qBC/BOKHTWMDZEJEl4bEa7rlZHTRItgDtjsmRbAYq23QVXfdBaI7clBeWnKBkOY=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Hongyan Xia <hongyxia@amazon.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 18/22] x86/setup: do not create valid mappings when directmap=no
Date: Fri, 16 Dec 2022 11:48:49 +0000
Message-Id: <20221216114853.8227-19-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Hongyan Xia <hongyxia@amazon.com>

Create empty mappings in the second e820 pass. Also, destroy existing
direct map mappings created in the first pass.

To make xenheap pages visible in guests, it is necessary to create empty
L3 tables in the direct map even when directmap=no, since guest cr3s
copy idle domain's L4 entries, which means they will share mappings in
the direct map if we pre-populate idle domain's L4 entries and L3
tables. A helper is introduced for this.

Also, after the direct map is actually gone, we need to stop updating
the direct map in update_xen_mappings().

Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/x86/setup.c | 74 +++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 67 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index ec5a7448a225..87967abb00cb 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -856,6 +856,57 @@ static struct domain *__init create_dom0(const module_t *image,
 /* How much of the directmap is prebuilt at compile time. */
 #define PREBUILT_MAP_LIMIT (1 << L2_PAGETABLE_SHIFT)
 
+/*
+ * This either populates a valid direct map, or allocates empty L3 tables and
+ * creates the L4 entries for virtual address between [start, end) in the
+ * direct map depending on arch_has_directmap();
+ *
+ * When directmap=no, we still need to populate empty L3 tables in the
+ * direct map region. The reason is that on-demand xenheap mappings are
+ * created in the idle domain's page table but must be seen by
+ * everyone. Since all domains share the direct map L4 entries, they
+ * will share xenheap mappings if we pre-populate the L4 entries and L3
+ * tables in the direct map region for all RAM. We also rely on the fact
+ * that L3 tables are never freed.
+ */
+static void __init populate_directmap(uint64_t pstart, uint64_t pend,
+                                      unsigned int flags)
+{
+    unsigned long vstart = (unsigned long)__va(pstart);
+    unsigned long vend = (unsigned long)__va(pend);
+
+    if ( pstart >= pend )
+        return;
+
+    BUG_ON(vstart < DIRECTMAP_VIRT_START);
+    BUG_ON(vend > DIRECTMAP_VIRT_END);
+
+    if ( arch_has_directmap() )
+        /* Populate valid direct map. */
+        BUG_ON(map_pages_to_xen(vstart, maddr_to_mfn(pstart),
+                                PFN_DOWN(pend - pstart), flags));
+    else
+    {
+        /* Create empty L3 tables. */
+        unsigned long vaddr = vstart & ~((1UL << L4_PAGETABLE_SHIFT) - 1);
+
+        for ( ; vaddr < vend; vaddr += (1UL << L4_PAGETABLE_SHIFT) )
+        {
+            l4_pgentry_t *pl4e = &idle_pg_table[l4_table_offset(vaddr)];
+
+            if ( !(l4e_get_flags(*pl4e) & _PAGE_PRESENT) )
+            {
+                mfn_t mfn = alloc_boot_pages(1, 1);
+                void *v = map_domain_page(mfn);
+
+                clear_page(v);
+                UNMAP_DOMAIN_PAGE(v);
+                l4e_write(pl4e, l4e_from_mfn(mfn, __PAGE_HYPERVISOR));
+            }
+        }
+    }
+}
+
 void __init noreturn __start_xen(unsigned long mbi_p)
 {
     char *memmap_type = NULL;
@@ -1507,8 +1558,17 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         map_e = min_t(uint64_t, e,
                       ARRAY_SIZE(l2_directmap) << L2_PAGETABLE_SHIFT);
 
-        /* Pass mapped memory to allocator /before/ creating new mappings. */
+        /*
+         * Pass mapped memory to allocator /before/ creating new mappings.
+         * The direct map for the bottom 4GiB has been populated in the first
+         * e820 pass. In the second pass, we make sure those existing mappings
+         * are destroyed when directmap=no.
+         */
         init_boot_pages(s, min(map_s, e));
+        if ( !arch_has_directmap() )
+            destroy_xen_mappings((unsigned long)__va(s),
+                                 (unsigned long)__va(min(map_s, e)));
+
         s = map_s;
         if ( s < map_e )
         {
@@ -1517,6 +1577,9 @@ void __init noreturn __start_xen(unsigned long mbi_p)
             map_s = (s + mask) & ~mask;
             map_e &= ~mask;
             init_boot_pages(map_s, map_e);
+            if ( !arch_has_directmap() )
+                destroy_xen_mappings((unsigned long)__va(map_s),
+                                     (unsigned long)__va(map_e));
         }
 
         if ( map_s > map_e )
@@ -1530,8 +1593,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 
             if ( map_e < end )
             {
-                map_pages_to_xen((unsigned long)__va(map_e), maddr_to_mfn(map_e),
-                                 PFN_DOWN(end - map_e), PAGE_HYPERVISOR);
+                populate_directmap(map_e, end, PAGE_HYPERVISOR);
                 init_boot_pages(map_e, end);
                 map_e = end;
             }
@@ -1540,13 +1602,11 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         {
             /* This range must not be passed to the boot allocator and
              * must also not be mapped with _PAGE_GLOBAL. */
-            map_pages_to_xen((unsigned long)__va(map_e), maddr_to_mfn(map_e),
-                             PFN_DOWN(e - map_e), __PAGE_HYPERVISOR_RW);
+            populate_directmap(map_e, e, __PAGE_HYPERVISOR_RW);
         }
         if ( s < map_s )
         {
-            map_pages_to_xen((unsigned long)__va(s), maddr_to_mfn(s),
-                             PFN_DOWN(map_s - s), PAGE_HYPERVISOR);
+            populate_directmap(s, map_s, PAGE_HYPERVISOR);
             init_boot_pages(s, map_s);
         }
     }
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:17:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464569.723032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69en-00086G-Ve; Fri, 16 Dec 2022 12:17:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464569.723032; Fri, 16 Dec 2022 12:17:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69en-000816-HE; Fri, 16 Dec 2022 12:17:41 +0000
Received: by outflank-mailman (input) for mailman id 464569;
 Fri, 16 Dec 2022 12:17:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ej-0007Lc-Vo
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ej-00034Y-Sl; Fri, 16 Dec 2022 12:17:37 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DJ-0004sN-Dg; Fri, 16 Dec 2022 11:49:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=UCQfX8iMvnpIt+Q9gV/nKjf8GUqEBVsJAQhHBiS7Ykk=; b=jEszd2vIHifnpJMEMVuX8p5kmR
	qYfa3fiRP+5C70UMHtfog9ySnwE3LVN9RbTWolgSzo4ZPz+gbwXBqNA7frqhrYsXSLHZnHU11Cp75
	4cZAuMWYr3CNX/4btJCn1A7sBfNu0PBSJNDACFYRzlX3m3Ph8bF90N91n3El1tYg4L5E=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Hongyan Xia <hongyxia@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 15/22] xen/page_alloc: add a path for xenheap when there is no direct map
Date: Fri, 16 Dec 2022 11:48:46 +0000
Message-Id: <20221216114853.8227-16-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Hongyan Xia <hongyxia@amazon.com>

When there is not an always-mapped direct map, xenheap allocations need
to be mapped and unmapped on-demand.

Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>

----

    I have left the call to map_pages_to_xen() and destroy_xen_mappings()
    in the split heap for now. I am not entirely convinced this is necessary
    because in that setup only the xenheap would be always mapped and
    this doesn't contain any guest memory (aside the grant-table).
    So map/unmapping for every allocation seems unnecessary.

    Changes since Hongyan's version:
        * Rebase
        * Fix indentation in alloc_xenheap_pages()
        * Fix build for arm32
---
 xen/common/page_alloc.c | 41 ++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 40 insertions(+), 1 deletion(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 0a950288e241..0c4af5a71407 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2222,6 +2222,7 @@ void init_xenheap_pages(paddr_t ps, paddr_t pe)
 void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
 {
     struct page_info *pg;
+    void *ret;
 
     ASSERT_ALLOC_CONTEXT();
 
@@ -2230,17 +2231,36 @@ void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
     if ( unlikely(pg == NULL) )
         return NULL;
 
+    ret = page_to_virt(pg);
+
+    if ( !arch_has_directmap() &&
+         map_pages_to_xen((unsigned long)ret, page_to_mfn(pg), 1UL << order,
+                          PAGE_HYPERVISOR) )
+        {
+            /* Failed to map xenheap pages. */
+            free_heap_pages(pg, order, false);
+            return NULL;
+        }
+
     return page_to_virt(pg);
 }
 
 
 void free_xenheap_pages(void *v, unsigned int order)
 {
+    unsigned long va = (unsigned long)v & PAGE_MASK;
+
     ASSERT_ALLOC_CONTEXT();
 
     if ( v == NULL )
         return;
 
+    if ( !arch_has_directmap() &&
+         destroy_xen_mappings(va, va + (1UL << (order + PAGE_SHIFT))) )
+        dprintk(XENLOG_WARNING,
+                "Error while destroying xenheap mappings at %p, order %u\n",
+                v, order);
+
     free_heap_pages(virt_to_page(v), order, false);
 }
 
@@ -2264,6 +2284,7 @@ void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
 {
     struct page_info *pg;
     unsigned int i;
+    void *ret;
 
     ASSERT_ALLOC_CONTEXT();
 
@@ -2276,16 +2297,28 @@ void *alloc_xenheap_pages(unsigned int order, unsigned int memflags)
     if ( unlikely(pg == NULL) )
         return NULL;
 
+    ret = page_to_virt(pg);
+
+    if ( !arch_has_directmap() &&
+         map_pages_to_xen((unsigned long)ret, page_to_mfn(pg), 1UL << order,
+                          PAGE_HYPERVISOR) )
+    {
+        /* Failed to map xenheap pages. */
+        free_domheap_pages(pg, order);
+        return NULL;
+    }
+
     for ( i = 0; i < (1u << order); i++ )
         pg[i].count_info |= PGC_xen_heap;
 
-    return page_to_virt(pg);
+    return ret;
 }
 
 void free_xenheap_pages(void *v, unsigned int order)
 {
     struct page_info *pg;
     unsigned int i;
+    unsigned long va = (unsigned long)v & PAGE_MASK;
 
     ASSERT_ALLOC_CONTEXT();
 
@@ -2297,6 +2330,12 @@ void free_xenheap_pages(void *v, unsigned int order)
     for ( i = 0; i < (1u << order); i++ )
         pg[i].count_info &= ~PGC_xen_heap;
 
+    if ( !arch_has_directmap() &&
+         destroy_xen_mappings(va, va + (1UL << (order + PAGE_SHIFT))) )
+        dprintk(XENLOG_WARNING,
+                "Error while destroying xenheap mappings at %p, order %u\n",
+                v, order);
+
     free_heap_pages(pg, order, true);
 }
 
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:17:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464570.723040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69eo-0008Kq-HJ; Fri, 16 Dec 2022 12:17:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464570.723040; Fri, 16 Dec 2022 12:17:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69eo-0008Ha-8s; Fri, 16 Dec 2022 12:17:42 +0000
Received: by outflank-mailman (input) for mailman id 464570;
 Fri, 16 Dec 2022 12:17:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ej-0007Ld-W0
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ej-00034R-RI; Fri, 16 Dec 2022 12:17:37 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DN-0004sN-W7; Fri, 16 Dec 2022 11:49:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=NkfwiZGHGUT9aDZPQ52XaRpLx0pc2E+yXE3Z0GACfGA=; b=tL1r1SSswrEWuqPOR8MX6COqIE
	aQZQIFzsUy4F/Gqk6/uu6XGHjPee0wjsy6yrgb+G+9EPS5xeXh9aZlTksVJX7NXw5KDlr8C3lq5jW
	spLEzj5WxpO3H+RBDjdqcWGJQImjavd0tGHBgzfadMFnTThQ644wQUFsXx2ZZF5Q1MwE=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 19/22] xen/arm32: mm: Rename 'first' to 'root' in init_secondary_pagetables()
Date: Fri, 16 Dec 2022 11:48:50 +0000
Message-Id: <20221216114853.8227-20-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

The arm32 version of init_secondary_pagetables() will soon be re-used
for arm64 as well where the root table start at level 0 rather than level 1.

So rename 'first' to 'root'.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/mm.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 0fc6f2992dd1..4e208f7d20c8 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -571,32 +571,30 @@ int init_secondary_pagetables(int cpu)
 #else
 int init_secondary_pagetables(int cpu)
 {
-    lpae_t *first;
+    lpae_t *root = alloc_xenheap_page();
 
-    first = alloc_xenheap_page(); /* root == first level on 32-bit 3-level trie */
-
-    if ( !first )
+    if ( !root )
     {
-        printk("CPU%u: Unable to allocate the first page-table\n", cpu);
+        printk("CPU%u: Unable to allocate the root page-table\n", cpu);
         return -ENOMEM;
     }
 
     /* Initialise root pagetable from root of boot tables */
-    memcpy(first, cpu0_pgtable, PAGE_SIZE);
-    per_cpu(xen_pgtable, cpu) = first;
+    memcpy(root, cpu0_pgtable, PAGE_SIZE);
+    per_cpu(xen_pgtable, cpu) = root;
 
     if ( !init_domheap_mappings(cpu) )
     {
         printk("CPU%u: Unable to prepare the domheap page-tables\n", cpu);
         per_cpu(xen_pgtable, cpu) = NULL;
-        free_xenheap_page(first);
+        free_xenheap_page(root);
         return -ENOMEM;
     }
 
     clear_boot_pagetables();
 
     /* Set init_ttbr for this CPU coming up */
-    init_ttbr = __pa(first);
+    init_ttbr = __pa(root);
     clean_dcache(init_ttbr);
 
     return 0;
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:17:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464567.723016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69en-0007ni-0v; Fri, 16 Dec 2022 12:17:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464567.723016; Fri, 16 Dec 2022 12:17:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69em-0007mS-O4; Fri, 16 Dec 2022 12:17:40 +0000
Received: by outflank-mailman (input) for mailman id 464567;
 Fri, 16 Dec 2022 12:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ej-0007LR-S6
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ej-000346-KU; Fri, 16 Dec 2022 12:17:37 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DP-0004sN-UP; Fri, 16 Dec 2022 11:49:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=CKARFD/JuIFH+12h1mCsTef+zC+DdBGXMOxyO40T+VE=; b=DfWQTxI833VghcPVaObhkv8mmj
	IGlaC4xXPYVQOlW5mgr9i3cecgEpJG6KgM+TqUULclYbbruYehFkAaxttk1VBqd9IpNXbQvcU5iDS
	KY2GIMtKOV5aouN6JJA9munAIlS5nul2zEW98NC+ZzAxnAvvqmb1qI4aohAAh50zE+tg=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 21/22] xen/arm64: Implement a mapcache for arm64
Date: Fri, 16 Dec 2022 11:48:52 +0000
Message-Id: <20221216114853.8227-22-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, on arm64, map_domain_page() is implemented using
virt_to_mfn(). Therefore it is relying on the directmap.

In a follow-up patch, we will allow the admin to remove the directmap.
Therefore we want to implement a mapcache.

Thanksfully there is already one for arm32. So select ARCH_ARM_DOMAIN_PAGE
and add the necessary boiler plate to support 64-bit:
    - The page-table start at level 0, so we need to allocate the level
      1 page-table
    - map_domain_page() should check if the page is in the directmap. If
      yes, then use virt_to_mfn() to limit the performance impact
      when the directmap is still enabled (this will be selectable
      on the command line).

Take the opportunity to replace first_table_offset(...) with offsets[...].

Note that, so far, arch_mfns_in_directmap() always return true on
arm64. So the mapcache is not yet used. This will change in a
follow-up patch.

Signed-off-by: Julien Grall <jgrall@amazon.com>

----

    There are a few TODOs:
        - It is becoming more critical to fix the mapcache
          implementation (this is not compliant with the Arm Arm)
        - Evaluate the performance
---
 xen/arch/arm/Kconfig              |  1 +
 xen/arch/arm/domain_page.c        | 47 +++++++++++++++++++++++++++----
 xen/arch/arm/include/asm/config.h |  7 +++++
 xen/arch/arm/include/asm/mm.h     |  5 ++++
 xen/arch/arm/mm.c                 |  6 ++--
 xen/arch/arm/setup.c              |  4 +++
 6 files changed, 62 insertions(+), 8 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 239d3aed3c7f..9c58b2d5c3aa 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -9,6 +9,7 @@ config ARM_64
 	select 64BIT
 	select ARM_EFI
 	select HAS_FAST_MULTIPLY
+	select ARCH_MAP_DOMAIN_PAGE
 
 config ARM
 	def_bool y
diff --git a/xen/arch/arm/domain_page.c b/xen/arch/arm/domain_page.c
index 4540b3c5f24c..f3547dc853ef 100644
--- a/xen/arch/arm/domain_page.c
+++ b/xen/arch/arm/domain_page.c
@@ -1,4 +1,5 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
+#include <xen/domain_page.h>
 #include <xen/mm.h>
 #include <xen/pmap.h>
 #include <xen/vmap.h>
@@ -8,6 +9,8 @@
 /* Override macros from asm/page.h to make them work with mfn_t */
 #undef virt_to_mfn
 #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
+#undef mfn_to_virt
+#define mfn_to_virt(va) __mfn_to_virt(mfn_x(mfn))
 
 /* cpu0's domheap page tables */
 static DEFINE_PAGE_TABLES(cpu0_dommap, DOMHEAP_SECOND_PAGES);
@@ -31,13 +34,30 @@ bool init_domheap_mappings(unsigned int cpu)
 {
     unsigned int order = get_order_from_pages(DOMHEAP_SECOND_PAGES);
     lpae_t *root = per_cpu(xen_pgtable, cpu);
+    lpae_t *first;
     unsigned int i, first_idx;
     lpae_t *domheap;
     mfn_t mfn;
 
+    /* Convenience aliases */
+    DECLARE_OFFSETS(offsets, DOMHEAP_VIRT_START);
+
     ASSERT(root);
     ASSERT(!per_cpu(xen_dommap, cpu));
 
+    /*
+     * On Arm64, the root is at level 0. Therefore we need an extra step
+     * to allocate the first level page-table.
+     */
+#ifdef CONFIG_ARM_64
+    if ( create_xen_table(&root[offsets[0]]) )
+        return false;
+
+    first = xen_map_table(lpae_get_mfn(root[offsets[0]]));
+#else
+    first = root;
+#endif
+
     /*
      * The domheap for cpu0 is initialized before the heap is initialized.
      * So we need to use pre-allocated pages.
@@ -58,16 +78,20 @@ bool init_domheap_mappings(unsigned int cpu)
      * domheap mapping pages.
      */
     mfn = virt_to_mfn(domheap);
-    first_idx = first_table_offset(DOMHEAP_VIRT_START);
+    first_idx = offsets[1];
     for ( i = 0; i < DOMHEAP_SECOND_PAGES; i++ )
     {
         lpae_t pte = mfn_to_xen_entry(mfn_add(mfn, i), MT_NORMAL);
         pte.pt.table = 1;
-        write_pte(&root[first_idx + i], pte);
+        write_pte(&first[first_idx + i], pte);
     }
 
     per_cpu(xen_dommap, cpu) = domheap;
 
+#ifdef CONFIG_ARM_64
+    xen_unmap_table(first);
+#endif
+
     return true;
 }
 
@@ -91,6 +115,10 @@ void *map_domain_page(mfn_t mfn)
     lpae_t pte;
     int i, slot;
 
+    /* Bypass the mapcache if the page is in the directmap */
+    if ( arch_mfns_in_directmap(mfn_x(mfn), 1) )
+        return mfn_to_virt(mfn);
+
     local_irq_save(flags);
 
     /* The map is laid out as an open-addressed hash table where each
@@ -151,15 +179,24 @@ void *map_domain_page(mfn_t mfn)
 }
 
 /* Release a mapping taken with map_domain_page() */
-void unmap_domain_page(const void *va)
+void unmap_domain_page(const void *ptr)
 {
+    unsigned long va = (unsigned long)ptr;
     unsigned long flags;
     lpae_t *map = this_cpu(xen_dommap);
-    int slot = ((unsigned long) va - DOMHEAP_VIRT_START) >> SECOND_SHIFT;
+    unsigned int slot;
 
-    if ( !va )
+    /*
+     * map_domain_page() may not have mapped anything if the address
+     * is part of the directmap. So ignore anything outside of the
+     * domheap.
+     */
+    if ( (va < DOMHEAP_VIRT_START) ||
+         ((va - DOMHEAP_VIRT_START) >= DOMHEAP_VIRT_SIZE) )
         return;
 
+    slot = (va - DOMHEAP_VIRT_START) >> SECOND_SHIFT;
+
     local_irq_save(flags);
 
     ASSERT(slot >= 0 && slot < DOMHEAP_ENTRIES);
diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 0fefed1b8aa9..12b7f1f1b9ea 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -156,6 +156,13 @@
 #define FRAMETABLE_SIZE        GB(32)
 #define FRAMETABLE_NR          (FRAMETABLE_SIZE / sizeof(*frame_table))
 
+#define DOMHEAP_VIRT_START     SLOT0(255)
+#define DOMHEAP_VIRT_SIZE      GB(2)
+
+#define DOMHEAP_ENTRIES        1024 /* 1024 2MB mapping slots */
+/* Number of domheap pagetable pages required at the second level (2MB mappings) */
+#define DOMHEAP_SECOND_PAGES (DOMHEAP_VIRT_SIZE >> FIRST_SHIFT)
+
 #define DIRECTMAP_VIRT_START   SLOT0(256)
 #define DIRECTMAP_SIZE         (SLOT0_ENTRY_SIZE * (265-256))
 #define DIRECTMAP_VIRT_END     (DIRECTMAP_VIRT_START + DIRECTMAP_SIZE - 1)
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 7a2c775f9562..d73abf1bf763 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -416,6 +416,11 @@ static inline bool arch_has_directmap(void)
     return true;
 }
 
+/* Helpers to allocate, map and unmap a Xen page-table */
+int create_xen_table(lpae_t *entry);
+lpae_t *xen_map_table(mfn_t mfn);
+void xen_unmap_table(const lpae_t *table);
+
 #endif /*  __ARCH_ARM_MM__ */
 /*
  * Local variables:
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 2af751af9003..f5fb957554a5 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -177,7 +177,7 @@ static void __init __maybe_unused build_assertions(void)
 #undef CHECK_SAME_SLOT
 }
 
-static lpae_t *xen_map_table(mfn_t mfn)
+lpae_t *xen_map_table(mfn_t mfn)
 {
     /*
      * During early boot, map_domain_page() may be unusable. Use the
@@ -189,7 +189,7 @@ static lpae_t *xen_map_table(mfn_t mfn)
     return map_domain_page(mfn);
 }
 
-static void xen_unmap_table(const lpae_t *table)
+void xen_unmap_table(const lpae_t *table)
 {
     /*
      * During early boot, xen_map_table() will not use map_domain_page()
@@ -699,7 +699,7 @@ void *ioremap(paddr_t pa, size_t len)
     return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
 }
 
-static int create_xen_table(lpae_t *entry)
+int create_xen_table(lpae_t *entry)
 {
     mfn_t mfn;
     void *p;
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 88d9d90fb5ad..b1a8f91bb385 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -923,6 +923,10 @@ static void __init setup_mm(void)
      */
     populate_boot_allocator();
 
+    if ( !init_domheap_mappings(smp_processor_id()) )
+        panic("CPU%u: Unable to prepare the domheap page-tables\n",
+              smp_processor_id());
+
     total_pages = 0;
 
     for ( i = 0; i < banks->nr_banks; i++ )
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:17:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464568.723026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69en-0007tM-H1; Fri, 16 Dec 2022 12:17:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464568.723026; Fri, 16 Dec 2022 12:17:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69en-0007rW-35; Fri, 16 Dec 2022 12:17:41 +0000
Received: by outflank-mailman (input) for mailman id 464568;
 Fri, 16 Dec 2022 12:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ej-0007LX-Sv
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ej-00034K-Pm; Fri, 16 Dec 2022 12:17:37 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DI-0004sN-5A; Fri, 16 Dec 2022 11:49:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=jom7H6x2BCLQ18RtIk9fRFrou3zZPb9ESzutK4ktU4s=; b=2RyXYNdTUX810VURPQvYrG93Xp
	8Whz/cVeKcjuD7pbldeGloSA2ysSekiJM9OjXO77IdzmxUwxtEXNwq6XqXjaDQZhp9d4eDFBE6ole
	LBNuWArzLaEXMv1bennufkSv8TDnBYdMsYTqzFtbPDkLrBtYidoYd2g0XlI6hKpw61aI=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Hongyan Xia <hongyxia@amazon.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 14/22] x86/domain_page: remove the fast paths when mfn is not in the directmap
Date: Fri, 16 Dec 2022 11:48:45 +0000
Message-Id: <20221216114853.8227-15-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Hongyan Xia <hongyxia@amazon.com>

When mfn is not in direct map, never use mfn_to_virt for any mappings.

We replace mfn_x(mfn) <= PFN_DOWN(__pa(HYPERVISOR_VIRT_END - 1)) with
arch_mfns_in_direct_map(mfn, 1) because these two are equivalent. The
extra comparison in arch_mfns_in_direct_map() looks different but because
DIRECTMAP_VIRT_END is always higher, it does not make any difference.

Lastly, domain_page_map_to_mfn() needs to gain to a special case for
the PMAP.

Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>

----
    Changes since Hongyan's version:
        * arch_mfn_in_direct_map() was renamed to arch_mfns_in_directmap()
        * add a special case for the PMAP in domain_page_map_to_mfn()
---
 xen/arch/x86/domain_page.c | 50 +++++++++++++++++++++++++++++++-------
 1 file changed, 41 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/domain_page.c b/xen/arch/x86/domain_page.c
index 55e337aaf703..89caefc8a210 100644
--- a/xen/arch/x86/domain_page.c
+++ b/xen/arch/x86/domain_page.c
@@ -14,8 +14,10 @@
 #include <xen/sched.h>
 #include <xen/vmap.h>
 #include <asm/current.h>
+#include <asm/fixmap.h>
 #include <asm/flushtlb.h>
 #include <asm/hardirq.h>
+#include <asm/pmap.h>
 #include <asm/setup.h>
 
 static DEFINE_PER_CPU(struct vcpu *, override);
@@ -35,10 +37,11 @@ static inline struct vcpu *mapcache_current_vcpu(void)
     /*
      * When using efi runtime page tables, we have the equivalent of the idle
      * domain's page tables but current may point at another domain's VCPU.
-     * Return NULL as though current is not properly set up yet.
+     * Return the idle domains's vcpu on that core because the efi per-domain
+     * region (where the mapcache is) is in-sync with the idle domain.
      */
     if ( efi_rs_using_pgtables() )
-        return NULL;
+        return idle_vcpu[smp_processor_id()];
 
     /*
      * If guest_table is NULL, and we are running a paravirtualised guest,
@@ -77,18 +80,24 @@ void *map_domain_page(mfn_t mfn)
     struct vcpu_maphash_entry *hashent;
 
 #ifdef NDEBUG
-    if ( mfn_x(mfn) <= PFN_DOWN(__pa(HYPERVISOR_VIRT_END - 1)) )
+    if ( arch_mfns_in_directmap(mfn_x(mfn), 1) )
         return mfn_to_virt(mfn_x(mfn));
 #endif
 
     v = mapcache_current_vcpu();
-    if ( !v )
-        return mfn_to_virt(mfn_x(mfn));
+    if ( !v || !v->domain->arch.mapcache.inuse )
+    {
+        if ( arch_mfns_in_directmap(mfn_x(mfn), 1) )
+            return mfn_to_virt(mfn_x(mfn));
+        else
+        {
+            BUG_ON(system_state >= SYS_STATE_smp_boot);
+            return pmap_map(mfn);
+        }
+    }
 
     dcache = &v->domain->arch.mapcache;
     vcache = &v->arch.mapcache;
-    if ( !dcache->inuse )
-        return mfn_to_virt(mfn_x(mfn));
 
     perfc_incr(map_domain_page_count);
 
@@ -184,6 +193,12 @@ void unmap_domain_page(const void *ptr)
     if ( !va || va >= DIRECTMAP_VIRT_START )
         return;
 
+    if ( va >= FIXADDR_START && va < FIXADDR_TOP )
+    {
+        pmap_unmap((void *)ptr);
+        return;
+    }
+
     ASSERT(va >= MAPCACHE_VIRT_START && va < MAPCACHE_VIRT_END);
 
     v = mapcache_current_vcpu();
@@ -237,7 +252,7 @@ int mapcache_domain_init(struct domain *d)
     unsigned int bitmap_pages;
 
 #ifdef NDEBUG
-    if ( !mem_hotplug && max_page <= PFN_DOWN(__pa(HYPERVISOR_VIRT_END - 1)) )
+    if ( !mem_hotplug && arch_mfn_in_directmap(0, max_page) )
         return 0;
 #endif
 
@@ -308,7 +323,7 @@ void *map_domain_page_global(mfn_t mfn)
             local_irq_is_enabled()));
 
 #ifdef NDEBUG
-    if ( mfn_x(mfn) <= PFN_DOWN(__pa(HYPERVISOR_VIRT_END - 1)) )
+    if ( arch_mfn_in_directmap(mfn_x(mfn, 1)) )
         return mfn_to_virt(mfn_x(mfn));
 #endif
 
@@ -335,6 +350,23 @@ mfn_t domain_page_map_to_mfn(const void *ptr)
     if ( va >= DIRECTMAP_VIRT_START )
         return _mfn(virt_to_mfn(ptr));
 
+    /*
+     * The fixmap is stealing the top-end of the VMAP. So the check for
+     * the PMAP *must* happen first.
+     *
+     * Also, the fixmap translate a slot to an address backwards. The
+     * logic will rely on it to avoid any complexity. So check at
+     * compile time this will always hold.
+    */
+    BUILD_BUG_ON(fix_to_virt(FIX_PMAP_BEGIN) < fix_to_virt(FIX_PMAP_END));
+
+    if ( ((unsigned long)fix_to_virt(FIX_PMAP_END) <= va) &&
+         ((va & PAGE_MASK) <= (unsigned long)fix_to_virt(FIX_PMAP_BEGIN)) )
+    {
+        BUG_ON(system_state >= SYS_STATE_smp_boot);
+        return l1e_get_mfn(l1_fixmap[l1_table_offset(va)]);
+    }
+
     if ( va >= VMAP_VIRT_START && va < VMAP_VIRT_END )
         return vmap_to_mfn(va);
 
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:17:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464566.723010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69em-0007fz-Mf; Fri, 16 Dec 2022 12:17:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464566.723010; Fri, 16 Dec 2022 12:17:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69em-0007eX-Eq; Fri, 16 Dec 2022 12:17:40 +0000
Received: by outflank-mailman (input) for mailman id 464566;
 Fri, 16 Dec 2022 12:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ej-0007LM-RB
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ej-00034C-MR; Fri, 16 Dec 2022 12:17:37 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DL-0004sN-Rc; Fri, 16 Dec 2022 11:49:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=C7J11PdwQAWvXzpUfaG/t5NjyOIfJIe9L9M+iZjsZ88=; b=SjoRoA2TbEg5ZKtGJx/cWUhwP1
	OxQuQW4yTon8/KGxTK021Utu+jR4S/+tJec27zz7oMMUVsmUOlBHP+EbpLSALUsVqW9xIMpdHODH/
	jPZfchwzSmpEg2nmk67/EWmD1nbmKRmZVNzgRYuyxdPzNfjjmabszsvWgf6eK4h8qmuc=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Hongyan Xia <hongyxia@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 17/22] x86/setup: vmap heap nodes when they are outside the direct map
Date: Fri, 16 Dec 2022 11:48:48 +0000
Message-Id: <20221216114853.8227-18-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Hongyan Xia <hongyxia@amazon.com>

When we do not have a direct map, archs_mfn_in_direct_map() will always
return false, thus init_node_heap() will allocate xenheap pages from an
existing node for the metadata of a new node. This means that the
metadata of a new node is in a different node, slowing down heap
allocation.

Since we now have early vmap, vmap the metadata locally in the new node.

Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>

----

    Changes from Hongyan's version:
        * arch_mfn_in_direct_map() was renamed to
          arch_mfns_in_direct_map()
        * Use vmap_contig_pages() rather than __vmap(...).
        * Add missing include (xen/vmap.h) so it compiles on Arm
---
 xen/common/page_alloc.c | 42 +++++++++++++++++++++++++++++++----------
 1 file changed, 32 insertions(+), 10 deletions(-)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 0c4af5a71407..581c15d74dfb 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -136,6 +136,7 @@
 #include <xen/sched.h>
 #include <xen/softirq.h>
 #include <xen/spinlock.h>
+#include <xen/vmap.h>
 
 #include <asm/flushtlb.h>
 #include <asm/numa.h>
@@ -597,22 +598,43 @@ static unsigned long init_node_heap(int node, unsigned long mfn,
         needed = 0;
     }
     else if ( *use_tail && nr >= needed &&
-              arch_mfns_in_directmap(mfn + nr - needed, needed) &&
               (!xenheap_bits ||
                !((mfn + nr - 1) >> (xenheap_bits - PAGE_SHIFT))) )
     {
-        _heap[node] = mfn_to_virt(mfn + nr - needed);
-        avail[node] = mfn_to_virt(mfn + nr - 1) +
-                      PAGE_SIZE - sizeof(**avail) * NR_ZONES;
-    }
-    else if ( nr >= needed &&
-              arch_mfns_in_directmap(mfn, needed) &&
+        if ( arch_mfns_in_directmap(mfn + nr - needed, needed) )
+        {
+            _heap[node] = mfn_to_virt(mfn + nr - needed);
+            avail[node] = mfn_to_virt(mfn + nr - 1) +
+                          PAGE_SIZE - sizeof(**avail) * NR_ZONES;
+        }
+        else
+        {
+            mfn_t needed_start = _mfn(mfn + nr - needed);
+
+            _heap[node] = vmap_contig_pages(needed_start, needed);
+            BUG_ON(!_heap[node]);
+            avail[node] = (void *)(_heap[node]) + (needed << PAGE_SHIFT) -
+                          sizeof(**avail) * NR_ZONES;
+        }
+    } else if ( nr >= needed &&
               (!xenheap_bits ||
                !((mfn + needed - 1) >> (xenheap_bits - PAGE_SHIFT))) )
     {
-        _heap[node] = mfn_to_virt(mfn);
-        avail[node] = mfn_to_virt(mfn + needed - 1) +
-                      PAGE_SIZE - sizeof(**avail) * NR_ZONES;
+        if ( arch_mfns_in_directmap(mfn, needed) )
+        {
+            _heap[node] = mfn_to_virt(mfn);
+            avail[node] = mfn_to_virt(mfn + needed - 1) +
+                          PAGE_SIZE - sizeof(**avail) * NR_ZONES;
+        }
+        else
+        {
+            mfn_t needed_start = _mfn(mfn);
+
+            _heap[node] = vmap_contig_pages(needed_start, needed);
+            BUG_ON(!_heap[node]);
+            avail[node] = (void *)(_heap[node]) + (needed << PAGE_SHIFT) -
+                          sizeof(**avail) * NR_ZONES;
+        }
         *use_tail = false;
     }
     else if ( get_order_from_bytes(sizeof(**_heap)) ==
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:17:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464564.722995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69el-0007Pr-WA; Fri, 16 Dec 2022 12:17:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464564.722995; Fri, 16 Dec 2022 12:17:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69el-0007Oq-QS; Fri, 16 Dec 2022 12:17:39 +0000
Received: by outflank-mailman (input) for mailman id 464564;
 Fri, 16 Dec 2022 12:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ej-0007LA-Kw
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ej-00033v-IY; Fri, 16 Dec 2022 12:17:37 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DD-0004sN-0C; Fri, 16 Dec 2022 11:49:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=rWiHN0PK4M1dxBlf4cLIlk8Mw8XPqON+Q0yvmpeDRiA=; b=5y2veP8n0mNPBioUEfM2I9JzxR
	a9/cOqrzsY2PqAPWw+z8PhCJOQK9CNylt1oihhCZTQOgbv0IGwvWeFRP/KV9pdvqAKhQQ39KA+vja
	UYWWGo5ovvJC5DtXjKEV0rRiB4C7edFjMVDcnetHgaxt/j382uz9MBH9PCKrdIRCP4C8=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Hongyan Xia <hongyxia@amazon.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Wei Wang <wawei@amazon.de>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 10/22] x86/mapcache: initialise the mapcache for the idle domain
Date: Fri, 16 Dec 2022 11:48:41 +0000
Message-Id: <20221216114853.8227-11-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Hongyan Xia <hongyxia@amazon.com>

In order to use the mapcache in the idle domain, we also have to
populate its page tables in the PERDOMAIN region, and we need to move
mapcache_domain_init() earlier in arch_domain_create().

Note, commit 'x86: lift mapcache variable to the arch level' has
initialised the mapcache for HVM domains. With this patch, PV, HVM,
idle domains now all initialise the mapcache.

Signed-off-by: Wei Wang <wawei@amazon.de>
Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/x86/domain.c | 4 ++--
 xen/arch/x86/mm.c     | 3 +++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 069b7d2af330..ec150f4fd144 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -732,6 +732,8 @@ int arch_domain_create(struct domain *d,
 
     spin_lock_init(&d->arch.e820_lock);
 
+    mapcache_domain_init(d);
+
     /* Minimal initialisation for the idle domain. */
     if ( unlikely(is_idle_domain(d)) )
     {
@@ -829,8 +831,6 @@ int arch_domain_create(struct domain *d,
 
     psr_domain_init(d);
 
-    mapcache_domain_init(d);
-
     if ( is_hvm_domain(d) )
     {
         if ( (rc = hvm_domain_initialise(d, config)) != 0 )
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 8b9740f57519..041bd4cfde17 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -5963,6 +5963,9 @@ int create_perdomain_mapping(struct domain *d, unsigned long va,
         l3tab = __map_domain_page(pg);
         clear_page(l3tab);
         d->arch.perdomain_l3_pg = pg;
+        if ( is_idle_domain(d) )
+            idle_pg_table[l4_table_offset(PERDOMAIN_VIRT_START)] =
+                l4e_from_page(pg, __PAGE_HYPERVISOR_RW);
         if ( !nr )
         {
             unmap_domain_page(l3tab);
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:17:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464565.723001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69em-0007UE-7u; Fri, 16 Dec 2022 12:17:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464565.723001; Fri, 16 Dec 2022 12:17:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69em-0007S5-2a; Fri, 16 Dec 2022 12:17:40 +0000
Received: by outflank-mailman (input) for mailman id 464565;
 Fri, 16 Dec 2022 12:17:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ej-0007LG-NZ
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:37 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ej-00033s-Em; Fri, 16 Dec 2022 12:17:37 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DR-0004sN-Cv; Fri, 16 Dec 2022 11:49:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=dh6R0xvYO+Uecym5XhNbTlIrTn3W2pIvTvhO9tTqCTc=; b=Mmd0gMpbkfRWybrVgpKrSIOnad
	zRsL/sM8qC+NAsevmoXMv4/2NxlERhkQFHWlVllESfoPqg7z2K9bG8KBFDlSDTw7azkRp2u5bL9Rq
	rfmwu//83oRrJKri8ugLzZNwEavEct/vhRf/9a9LciBMt4qkp5XqzefhDMA0CyKlXYHQ=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 22/22] xen/arm64: Allow the admin to enable/disable the directmap
Date: Fri, 16 Dec 2022 11:48:53 +0000
Message-Id: <20221216114853.8227-23-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Implement the same command line option as x86 to enable/disable the
directmap. By default this is kept enabled.

Also modify setup_directmap_mappings() to populate the L0 entries
related to the directmap area.

Signed-off-by: Julien Grall <jgrall@amazon.com>

----
    This patch is in an RFC state we need to decide what to do for arm32.

    Also, this is moving code that was introduced in this series. So
    this will need to be fix in the next version (assuming Arm64 will
    be ready).

    This was sent early as PoC to enable secret-free hypervisor
    on Arm64.
---
 docs/misc/xen-command-line.pandoc   |  2 +-
 xen/arch/arm/include/asm/arm64/mm.h |  2 +-
 xen/arch/arm/include/asm/mm.h       | 12 +++++----
 xen/arch/arm/mm.c                   | 40 +++++++++++++++++++++++++++--
 xen/arch/arm/setup.c                |  1 +
 5 files changed, 48 insertions(+), 9 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index a63e4612acac..948035286acc 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -760,7 +760,7 @@ Specify the size of the console debug trace buffer. By specifying `cpu:`
 additionally a trace buffer of the specified size is allocated per cpu.
 The debug trace feature is only enabled in debugging builds of Xen.
 
-### directmap (x86)
+### directmap (arm64, x86)
 > `= <boolean>`
 
 > Default: `true`
diff --git a/xen/arch/arm/include/asm/arm64/mm.h b/xen/arch/arm/include/asm/arm64/mm.h
index aa2adac63189..8b5dcb091750 100644
--- a/xen/arch/arm/include/asm/arm64/mm.h
+++ b/xen/arch/arm/include/asm/arm64/mm.h
@@ -7,7 +7,7 @@
  */
 static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
 {
-    return true;
+    return opt_directmap;
 }
 
 #endif /* __ARM_ARM64_MM_H__ */
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index d73abf1bf763..ef9ad3b366e3 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -9,6 +9,13 @@
 #include <public/xen.h>
 #include <xen/pdx.h>
 
+extern bool opt_directmap;
+
+static inline bool arch_has_directmap(void)
+{
+    return opt_directmap;
+}
+
 #if defined(CONFIG_ARM_32)
 # include <asm/arm32/mm.h>
 #elif defined(CONFIG_ARM_64)
@@ -411,11 +418,6 @@ static inline void page_set_xenheap_gfn(struct page_info *p, gfn_t gfn)
     } while ( (y = cmpxchg(&p->u.inuse.type_info, x, nx)) != x );
 }
 
-static inline bool arch_has_directmap(void)
-{
-    return true;
-}
-
 /* Helpers to allocate, map and unmap a Xen page-table */
 int create_xen_table(lpae_t *entry);
 lpae_t *xen_map_table(mfn_t mfn);
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index f5fb957554a5..925d81c450e8 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -15,6 +15,7 @@
 #include <xen/init.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/mm.h>
+#include <xen/param.h>
 #include <xen/pfn.h>
 #include <xen/pmap.h>
 #include <xen/sched.h>
@@ -131,6 +132,12 @@ vaddr_t directmap_virt_start __read_mostly;
 unsigned long directmap_base_pdx __read_mostly;
 #endif
 
+bool __ro_after_init opt_directmap = true;
+/* TODO: Decide what to do for arm32. */
+#ifdef CONFIG_ARM_64
+boolean_param("directmap", opt_directmap);
+#endif
+
 unsigned long frametable_base_pdx __read_mostly;
 unsigned long frametable_virt_end __read_mostly;
 
@@ -606,16 +613,27 @@ void __init setup_directmap_mappings(unsigned long base_mfn,
     directmap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
 }
 #else /* CONFIG_ARM_64 */
-/* Map the region in the directmap area. */
+/*
+ * This either populate a valid fdirect map, or allocates empty L1 tables
+ * and creates the L0 entries for the given region in the direct map
+ * depending on arch_has_directmap().
+ *
+ * When directmap=no, we still need to populate empty L1 tables in the
+ * directmap region. The reason is that the root page-table (i.e. L0)
+ * is per-CPU and secondary CPUs will initialize their root page-table
+ * based on the pCPU0 one. So L0 entries will be shared if they are
+ * pre-populated. We also rely on the fact that L1 tables are never
+ * freed.
+ */
 void __init setup_directmap_mappings(unsigned long base_mfn,
                                      unsigned long nr_mfns)
 {
+    unsigned long mfn_gb = base_mfn & ~((FIRST_SIZE >> PAGE_SHIFT) - 1);
     int rc;
 
     /* First call sets the directmap physical and virtual offset. */
     if ( mfn_eq(directmap_mfn_start, INVALID_MFN) )
     {
-        unsigned long mfn_gb = base_mfn & ~((FIRST_SIZE >> PAGE_SHIFT) - 1);
 
         directmap_mfn_start = _mfn(base_mfn);
         directmap_base_pdx = mfn_to_pdx(_mfn(base_mfn));
@@ -636,6 +654,24 @@ void __init setup_directmap_mappings(unsigned long base_mfn,
         panic("cannot add directmap mapping at %lx below heap start %lx\n",
               base_mfn, mfn_x(directmap_mfn_start));
 
+
+    if ( !arch_has_directmap() )
+    {
+        vaddr_t vaddr = (vaddr_t)__mfn_to_virt(base_mfn);
+        unsigned int i, slot;
+
+        slot = first_table_offset(vaddr);
+        nr_mfns += base_mfn - mfn_gb;
+        for ( i = 0; i < nr_mfns; i += BIT(XEN_PT_LEVEL_ORDER(0), UL), slot++ )
+        {
+            lpae_t *entry = &cpu0_pgtable[slot];
+
+            if ( !lpae_is_valid(*entry) && !create_xen_table(entry) )
+                panic("Unable to populate zeroeth slot %u\n", slot);
+        }
+        return;
+    }
+
     rc = map_pages_to_xen((vaddr_t)__mfn_to_virt(base_mfn),
                           _mfn(base_mfn), nr_mfns,
                           PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index b1a8f91bb385..83ded03c7b1f 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -1032,6 +1032,7 @@ void __init start_xen(unsigned long boot_phys_offset,
     cmdline_parse(cmdline);
 
     setup_mm();
+    printk("Booting with directmap %s\n", arch_has_directmap() ? "on" : "off");
 
     vm_init();
 
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:17:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464571.723052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69ep-0008Uf-92; Fri, 16 Dec 2022 12:17:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464571.723052; Fri, 16 Dec 2022 12:17:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69eo-0008Rs-Nx; Fri, 16 Dec 2022 12:17:42 +0000
Received: by outflank-mailman (input) for mailman id 464571;
 Fri, 16 Dec 2022 12:17:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ek-0007Ln-0x
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ek-00034r-00
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:38 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DG-0004sN-W3; Fri, 16 Dec 2022 11:49:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=2F2AKkVZIKUNaII54+BMfbbp6bI/EbvUjX6WZTvPuCA=; b=pte1Z/1XDpQMQlfRUwiXYayWq2
	HF0IzSsuxpL3838A0DBY5yXDlB/7Mb8IGw4Wef/ufOHj4AQyRKjLmrroZDbS0eg2DKFb4gBde7toe
	OXPktBAdS5mp7+oJDanXCl/uSJsdwxvTDSFzyQ8EIDOq/zTqJQZMLNUSg8f6etE/OSY0=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 13/22] xen/x86: Add support for the PMAP
Date: Fri, 16 Dec 2022 11:48:44 +0000
Message-Id: <20221216114853.8227-14-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

PMAP will be used in a follow-up patch to bootstap map domain
page infrastructure -- we need some way to map pages to setup the
mapcache without a direct map.

Signed-off-by: Julien Grall <jgrall@amazon.com>

----
    The PMAP infrastructure was upstream separately for Arm since
    Hongyan sent the secret-free hypervisor series. So this is a new
    patch to plumb the feature on x86.
---
 xen/arch/x86/Kconfig              |  1 +
 xen/arch/x86/include/asm/fixmap.h |  4 ++++
 xen/arch/x86/include/asm/pmap.h   | 25 +++++++++++++++++++++++++
 3 files changed, 30 insertions(+)
 create mode 100644 xen/arch/x86/include/asm/pmap.h

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 6a7825f4ba3c..47b120f18497 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -24,6 +24,7 @@ config X86
 	select HAS_PCI
 	select HAS_PCI_MSI
 	select HAS_PDX
+	select HAS_PMAP
 	select HAS_SCHED_GRANULARITY
 	select HAS_UBSAN
 	select HAS_VPCI if HVM
diff --git a/xen/arch/x86/include/asm/fixmap.h b/xen/arch/x86/include/asm/fixmap.h
index 516ec3fa6c95..38f079873418 100644
--- a/xen/arch/x86/include/asm/fixmap.h
+++ b/xen/arch/x86/include/asm/fixmap.h
@@ -21,6 +21,8 @@
 
 #include <xen/acpi.h>
 #include <xen/pfn.h>
+#include <xen/pmap.h>
+
 #include <asm/apicdef.h>
 #include <asm/msi.h>
 #include <acpi/apei.h>
@@ -54,6 +56,8 @@ enum fixed_addresses {
     FIX_XEN_SHARED_INFO,
 #endif /* CONFIG_XEN_GUEST */
     /* Everything else should go further down. */
+    FIX_PMAP_BEGIN,
+    FIX_PMAP_END = FIX_PMAP_BEGIN + NUM_FIX_PMAP,
     FIX_APIC_BASE,
     FIX_IO_APIC_BASE_0,
     FIX_IO_APIC_BASE_END = FIX_IO_APIC_BASE_0 + MAX_IO_APICS-1,
diff --git a/xen/arch/x86/include/asm/pmap.h b/xen/arch/x86/include/asm/pmap.h
new file mode 100644
index 000000000000..62746e191d03
--- /dev/null
+++ b/xen/arch/x86/include/asm/pmap.h
@@ -0,0 +1,25 @@
+#ifndef __ASM_PMAP_H__
+#define __ASM_PMAP_H__
+
+#include <asm/fixmap.h>
+
+static inline void arch_pmap_map(unsigned int slot, mfn_t mfn)
+{
+    unsigned long linear = (unsigned long)fix_to_virt(slot);
+    l1_pgentry_t *pl1e = &l1_fixmap[l1_table_offset(linear)];
+
+    ASSERT(!(l1e_get_flags(*pl1e) & _PAGE_PRESENT));
+
+    l1e_write_atomic(pl1e, l1e_from_mfn(mfn, PAGE_HYPERVISOR));
+}
+
+static inline void arch_pmap_unmap(unsigned int slot)
+{
+    unsigned long linear = (unsigned long)fix_to_virt(slot);
+    l1_pgentry_t *pl1e = &l1_fixmap[l1_table_offset(linear)];
+
+    l1e_write_atomic(pl1e, l1e_empty());
+    flush_tlb_one_local(linear);
+}
+
+#endif /* __ASM_PMAP_H__ */
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:17:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:17:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464572.723062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69eq-0000MG-5x; Fri, 16 Dec 2022 12:17:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464572.723062; Fri, 16 Dec 2022 12:17:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69ep-0000Gd-JP; Fri, 16 Dec 2022 12:17:43 +0000
Received: by outflank-mailman (input) for mailman id 464572;
 Fri, 16 Dec 2022 12:17:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ek-0007Lt-2H
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ej-00034G-OC; Fri, 16 Dec 2022 12:17:37 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DE-0004sN-I6; Fri, 16 Dec 2022 11:49:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=9j1baKWOTDAmSEXXRPz5vlDNPs8x5yzHk136j/q4JZg=; b=x83k0fXRB6Jd3aoaqIjCeiTXkZ
	7qIX6P/MiqvL54Or2V6+svj4lDwUZZCmBuqxYrvv3ob8rabbm6oXC3e1YeRuKe+CMfYZghExbqb80
	kDwukK5Zdqncp5eH8pALQ1iPRGFB4ocn6dI8WO4JRZ75DOghEq/3Qh1IyTnBGkN+9KEc=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Hongyan Xia <hongyxia@amazon.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 11/22] x86: add a boot option to enable and disable the direct map
Date: Fri, 16 Dec 2022 11:48:42 +0000
Message-Id: <20221216114853.8227-12-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Hongyan Xia <hongyxia@amazon.com>

Also add a helper function to retrieve it. Change arch_mfns_in_direct_map
to check this option before returning.

This is added as a boot command line option, not a Kconfig to allow
the user to experiment the feature without rebuild the hypervisor.

Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>

----

    TODO:
        * Do we also want to provide a Kconfig option?

    Changes since Hongyan's version:
        * Reword the commit message
        * opt_directmap is only modified during boot so mark it as
          __ro_after_init
---
 docs/misc/xen-command-line.pandoc | 12 ++++++++++++
 xen/arch/arm/include/asm/mm.h     |  5 +++++
 xen/arch/x86/include/asm/mm.h     | 17 ++++++++++++++++-
 xen/arch/x86/mm.c                 |  3 +++
 xen/arch/x86/setup.c              |  2 ++
 5 files changed, 38 insertions(+), 1 deletion(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index b7ee97be762e..a63e4612acac 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -760,6 +760,18 @@ Specify the size of the console debug trace buffer. By specifying `cpu:`
 additionally a trace buffer of the specified size is allocated per cpu.
 The debug trace feature is only enabled in debugging builds of Xen.
 
+### directmap (x86)
+> `= <boolean>`
+
+> Default: `true`
+
+Enable or disable the direct map region in Xen.
+
+By default, Xen creates the direct map region which maps physical memory
+in that region. Setting this to no will remove the direct map, blocking
+exploits that leak secrets via speculative memory access in the direct
+map.
+
 ### dma_bits
 > `= <integer>`
 
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 68adcac9fa8d..2366928d71aa 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -406,6 +406,11 @@ static inline void page_set_xenheap_gfn(struct page_info *p, gfn_t gfn)
     } while ( (y = cmpxchg(&p->u.inuse.type_info, x, nx)) != x );
 }
 
+static inline bool arch_has_directmap(void)
+{
+    return true;
+}
+
 #endif /*  __ARCH_ARM_MM__ */
 /*
  * Local variables:
diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
index db29e3e2059f..cf8b20817c6c 100644
--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -464,6 +464,8 @@ static inline int get_page_and_type(struct page_info *page,
     ASSERT(((_p)->count_info & PGC_count_mask) != 0);          \
     ASSERT(page_get_owner(_p) == (_d))
 
+extern bool opt_directmap;
+
 /******************************************************************************
  * With shadow pagetables, the different kinds of address start
  * to get get confusing.
@@ -620,13 +622,26 @@ extern const char zero_page[];
 /* Build a 32bit PSE page table using 4MB pages. */
 void write_32bit_pse_identmap(uint32_t *l2);
 
+static inline bool arch_has_directmap(void)
+{
+    return opt_directmap;
+}
+
 /*
  * x86 maps part of physical memory via the directmap region.
  * Return whether the range of MFN falls in the directmap region.
+ *
+ * When boot command line sets directmap=no, we will not have a direct map at
+ * all so this will always return false.
  */
 static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
 {
-    unsigned long eva = min(DIRECTMAP_VIRT_END, HYPERVISOR_VIRT_END);
+    unsigned long eva;
+
+    if ( !arch_has_directmap() )
+        return false;
+
+    eva = min(DIRECTMAP_VIRT_END, HYPERVISOR_VIRT_END);
 
     return (mfn + nr) <= (virt_to_mfn(eva - 1) + 1);
 }
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 041bd4cfde17..e76e135b96fc 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -157,6 +157,9 @@ l1_pgentry_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
 l1_pgentry_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
     l1_fixmap_x[L1_PAGETABLE_ENTRIES];
 
+bool __ro_after_init opt_directmap = true;
+boolean_param("directmap", opt_directmap);
+
 /* Frame table size in pages. */
 unsigned long max_page;
 unsigned long total_pages;
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 1c2e09711eb0..2cb051c6e4e7 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1423,6 +1423,8 @@ void __init noreturn __start_xen(unsigned long mbi_p)
     if ( highmem_start )
         xenheap_max_mfn(PFN_DOWN(highmem_start - 1));
 
+    printk("Booting with directmap %s\n", arch_has_directmap() ? "on" : "off");
+
     /*
      * Walk every RAM region and map it in its entirety (on x86/64, at least)
      * and notify it to the boot allocator.
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:17:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:17:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464573.723071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69er-0000bJ-7S; Fri, 16 Dec 2022 12:17:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464573.723071; Fri, 16 Dec 2022 12:17:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69eq-0000Xg-GC; Fri, 16 Dec 2022 12:17:44 +0000
Received: by outflank-mailman (input) for mailman id 464573;
 Fri, 16 Dec 2022 12:17:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ek-0007Lv-2J
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ej-00034i-Ua; Fri, 16 Dec 2022 12:17:37 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DO-0004sN-VG; Fri, 16 Dec 2022 11:49:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=4AXKHSNyisU3EQXQfz0D6DbkivTeO0uHrc0fyYfL7V4=; b=lDKyHO+sTxwjLuN3Q6Kc8Xa7S7
	+YPdzM8WDKXk8C46CCwsBPRoKnDPB+zal//UAvoNsug6nRAoEtycDPqEveWdDVnBcXVlfn9kBBVaq
	LopHfeGX2eiI/VGGvQLhRv/FR88fmuPeOdGDkvE4xwpOm64d/RridrcBKcMLZWHKp6iE=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 20/22] xen/arm64: mm: Use per-pCPU page-tables
Date: Fri, 16 Dec 2022 11:48:51 +0000
Message-Id: <20221216114853.8227-21-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, on Arm64, every pCPU are sharing the same page-tables.

In a follow-up patch, we will allow the possibility to remove the
direct map and therefore it will be necessary to have a mapcache.

While we have plenty of spare virtual address space to have
to reserve part for each pCPU, it means that temporary mappings
(e.g. guest memory) could be accessible by every pCPU.

In order to increase our security posture, it would be better if
those mappings are only accessible by the pCPU doing the temporary
mapping.

In addition to that, a per-pCPU page-tables opens the way to have
per-domain mapping area.

Arm32 is already using per-pCPU page-tables so most of the code
can be re-used. Arm64 doesn't yet have support for the mapcache,
so a stub is provided (moved to its own header asm/domain_page.h).

Take the opportunity to fix a typo in a comment that is modified.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/domain_page.c             |  2 ++
 xen/arch/arm/include/asm/arm32/mm.h    |  8 -----
 xen/arch/arm/include/asm/domain_page.h | 13 ++++++++
 xen/arch/arm/include/asm/mm.h          |  5 +++
 xen/arch/arm/mm.c                      | 42 +++++++-------------------
 xen/arch/arm/setup.c                   |  1 +
 6 files changed, 32 insertions(+), 39 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/domain_page.h

diff --git a/xen/arch/arm/domain_page.c b/xen/arch/arm/domain_page.c
index b7c02c919064..4540b3c5f24c 100644
--- a/xen/arch/arm/domain_page.c
+++ b/xen/arch/arm/domain_page.c
@@ -3,6 +3,8 @@
 #include <xen/pmap.h>
 #include <xen/vmap.h>
 
+#include <asm/domain_page.h>
+
 /* Override macros from asm/page.h to make them work with mfn_t */
 #undef virt_to_mfn
 #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
diff --git a/xen/arch/arm/include/asm/arm32/mm.h b/xen/arch/arm/include/asm/arm32/mm.h
index 8bfc906e7178..6b039d9ceaa2 100644
--- a/xen/arch/arm/include/asm/arm32/mm.h
+++ b/xen/arch/arm/include/asm/arm32/mm.h
@@ -1,12 +1,6 @@
 #ifndef __ARM_ARM32_MM_H__
 #define __ARM_ARM32_MM_H__
 
-#include <xen/percpu.h>
-
-#include <asm/lpae.h>
-
-DECLARE_PER_CPU(lpae_t *, xen_pgtable);
-
 /*
  * Only a limited amount of RAM, called xenheap, is always mapped on ARM32.
  * For convenience always return false.
@@ -16,8 +10,6 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
     return false;
 }
 
-bool init_domheap_mappings(unsigned int cpu);
-
 #endif /* __ARM_ARM32_MM_H__ */
 
 /*
diff --git a/xen/arch/arm/include/asm/domain_page.h b/xen/arch/arm/include/asm/domain_page.h
new file mode 100644
index 000000000000..e9f52685e2ec
--- /dev/null
+++ b/xen/arch/arm/include/asm/domain_page.h
@@ -0,0 +1,13 @@
+#ifndef __ASM_ARM_DOMAIN_PAGE_H__
+#define __ASM_ARM_DOMAIN_PAGE_H__
+
+#ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
+bool init_domheap_mappings(unsigned int cpu);
+#else
+static inline bool init_domheap_mappings(unsigned int cpu)
+{
+    return true;
+}
+#endif
+
+#endif /* __ASM_ARM_DOMAIN_PAGE_H__ */
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 2366928d71aa..7a2c775f9562 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -2,6 +2,9 @@
 #define __ARCH_ARM_MM__
 
 #include <xen/kernel.h>
+#include <xen/percpu.h>
+
+#include <asm/lpae.h>
 #include <asm/page.h>
 #include <public/xen.h>
 #include <xen/pdx.h>
@@ -14,6 +17,8 @@
 # error "unknown ARM variant"
 #endif
 
+DECLARE_PER_CPU(lpae_t *, xen_pgtable);
+
 /* Align Xen to a 2 MiB boundary. */
 #define XEN_PADDR_ALIGN (1 << 21)
 
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 4e208f7d20c8..2af751af9003 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -24,6 +24,7 @@
 
 #include <xsm/xsm.h>
 
+#include <asm/domain_page.h>
 #include <asm/fixmap.h>
 #include <asm/setup.h>
 
@@ -90,20 +91,19 @@ DEFINE_BOOT_PAGE_TABLE(boot_third);
  * xen_second, xen_fixmap and xen_xenmap are always shared between all
  * PCPUs.
  */
+/* Per-CPU pagetable pages */
+/* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
+DEFINE_PER_CPU(lpae_t *, xen_pgtable);
+
+/* Root of the trie for cpu0, other CPU's PTs are dynamically allocated */
+static DEFINE_PAGE_TABLE(cpu0_pgtable);
+#define THIS_CPU_PGTABLE this_cpu(xen_pgtable)
 
 #ifdef CONFIG_ARM_64
 #define HYP_PT_ROOT_LEVEL 0
-static DEFINE_PAGE_TABLE(xen_pgtable);
 static DEFINE_PAGE_TABLE(xen_first);
-#define THIS_CPU_PGTABLE xen_pgtable
 #else
 #define HYP_PT_ROOT_LEVEL 1
-/* Per-CPU pagetable pages */
-/* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
-DEFINE_PER_CPU(lpae_t *, xen_pgtable);
-#define THIS_CPU_PGTABLE this_cpu(xen_pgtable)
-/* Root of the trie for cpu0, other CPU's PTs are dynamically allocated */
-static DEFINE_PAGE_TABLE(cpu0_pgtable);
 #endif
 
 /* Common pagetable leaves */
@@ -481,14 +481,13 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
 
     phys_offset = boot_phys_offset;
 
+    p = cpu0_pgtable;
+
 #ifdef CONFIG_ARM_64
-    p = (void *) xen_pgtable;
     p[0] = pte_of_xenaddr((uintptr_t)xen_first);
     p[0].pt.table = 1;
     p[0].pt.xn = 0;
     p = (void *) xen_first;
-#else
-    p = (void *) cpu0_pgtable;
 #endif
 
     /* Map xen second level page-table */
@@ -527,19 +526,13 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
     pte.pt.table = 1;
     xen_second[second_table_offset(FIXMAP_ADDR(0))] = pte;
 
-#ifdef CONFIG_ARM_64
-    ttbr = (uintptr_t) xen_pgtable + phys_offset;
-#else
     ttbr = (uintptr_t) cpu0_pgtable + phys_offset;
-#endif
 
     switch_ttbr(ttbr);
 
     xen_pt_enforce_wnx();
 
-#ifdef CONFIG_ARM_32
     per_cpu(xen_pgtable, 0) = cpu0_pgtable;
-#endif
 }
 
 static void clear_boot_pagetables(void)
@@ -557,18 +550,6 @@ static void clear_boot_pagetables(void)
     clear_table(boot_third);
 }
 
-#ifdef CONFIG_ARM_64
-int init_secondary_pagetables(int cpu)
-{
-    clear_boot_pagetables();
-
-    /* Set init_ttbr for this CPU coming up. All CPus share a single setof
-     * pagetables, but rewrite it each time for consistency with 32 bit. */
-    init_ttbr = (uintptr_t) xen_pgtable + phys_offset;
-    clean_dcache(init_ttbr);
-    return 0;
-}
-#else
 int init_secondary_pagetables(int cpu)
 {
     lpae_t *root = alloc_xenheap_page();
@@ -599,7 +580,6 @@ int init_secondary_pagetables(int cpu)
 
     return 0;
 }
-#endif
 
 /* MMU setup for secondary CPUS (which already have paging enabled) */
 void mmu_init_secondary_cpu(void)
@@ -1089,7 +1069,7 @@ static int xen_pt_update(unsigned long virt,
     unsigned long left = nr_mfns;
 
     /*
-     * For arm32, page-tables are different on each CPUs. Yet, they share
+     * Page-tables are different on each CPU. Yet, they share
      * some common mappings. It is assumed that only common mappings
      * will be modified with this function.
      *
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 2311726f5ddd..88d9d90fb5ad 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -39,6 +39,7 @@
 #include <asm/gic.h>
 #include <asm/cpuerrata.h>
 #include <asm/cpufeature.h>
+#include <asm/domain_page.h>
 #include <asm/platform.h>
 #include <asm/procinfo.h>
 #include <asm/setup.h>
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:17:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:17:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464574.723081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69es-0000ot-BN; Fri, 16 Dec 2022 12:17:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464574.723081; Fri, 16 Dec 2022 12:17:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69er-0000jM-DP; Fri, 16 Dec 2022 12:17:45 +0000
Received: by outflank-mailman (input) for mailman id 464574;
 Fri, 16 Dec 2022 12:17:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ek-0007M6-5n
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ek-00035J-3O; Fri, 16 Dec 2022 12:17:38 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DK-0004sN-J4; Fri, 16 Dec 2022 11:49:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=Fh/+Yu2IVhcS+oFNJd/xfdw1K28l8x0te4dRw3BaaIo=; b=NXmxWhqOxfDRQJ/rW5WuU3OJ5s
	vMl2K4A1hRxKwHrWg3G08Rp4Qg4ldVys3xXHuuAxC6LgWtm76+LLv248VGkTcSG3zdqk2n6zZzcNF
	+boDbASPWG/EK7ni00T4BnJUbLmgMquxER9VoZRGv/lP/F5XzH3s1wXypmXAKinjwa2s=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Hongyan Xia <hongyxia@amazon.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH 16/22] x86/setup: leave early boot slightly earlier
Date: Fri, 16 Dec 2022 11:48:47 +0000
Message-Id: <20221216114853.8227-17-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Hongyan Xia <hongyxia@amazon.com>

When we do not have a direct map, memory for metadata of heap nodes in
init_node_heap() is allocated from xenheap, which needs to be mapped and
unmapped on demand. However, we cannot just take memory from the boot
allocator to create the PTEs while we are passing memory to the heap
allocator.

To solve this race, we leave early boot slightly sooner so that Xen PTE
pages are allocated from the heap instead of the boot allocator. We can
do this because the metadata for the 1st node is statically allocated,
and by the time we need memory to create mappings for the 2nd node, we
already have enough memory in the heap allocator in the 1st node.

Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/x86/setup.c | 18 ++++++++++++++++--
 1 file changed, 16 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 2cb051c6e4e7..ec5a7448a225 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1648,6 +1648,22 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 
     numa_initmem_init(0, raw_max_page);
 
+    /*
+     * When we do not have a direct map, memory for metadata of heap nodes in
+     * init_node_heap() is allocated from xenheap, which needs to be mapped and
+     * unmapped on demand. However, we cannot just take memory from the boot
+     * allocator to create the PTEs while we are passing memory to the heap
+     * allocator during end_boot_allocator().
+     *
+     * To solve this race, we need to leave early boot before
+     * end_boot_allocator() so that Xen PTE pages are allocated from the heap
+     * instead of the boot allocator. We can do this because the metadata for
+     * the 1st node is statically allocated, and by the time we need memory to
+     * create mappings for the 2nd node, we already have enough memory in the
+     * heap allocator in the 1st node.
+     */
+    system_state = SYS_STATE_boot;
+
     if ( max_page - 1 > virt_to_mfn(HYPERVISOR_VIRT_END - 1) )
     {
         unsigned long limit = virt_to_mfn(HYPERVISOR_VIRT_END - 1);
@@ -1677,8 +1693,6 @@ void __init noreturn __start_xen(unsigned long mbi_p)
     else
         end_boot_allocator();
 
-    system_state = SYS_STATE_boot;
-
     bsp_stack = cpu_alloc_stack(0);
     if ( !bsp_stack )
         panic("No memory for BSP stack\n");
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:17:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:17:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464575.723091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69et-00019I-Pb; Fri, 16 Dec 2022 12:17:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464575.723091; Fri, 16 Dec 2022 12:17:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69es-00013S-Mw; Fri, 16 Dec 2022 12:17:46 +0000
Received: by outflank-mailman (input) for mailman id 464575;
 Fri, 16 Dec 2022 12:17:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69ek-0007ME-8w
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:17:38 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69ek-000352-1s; Fri, 16 Dec 2022 12:17:38 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69DF-0004sN-Tm; Fri, 16 Dec 2022 11:49:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=0Z58+ljccBpyu6+vCHwEkzyLj9W+Yww30i/0Y5Sz5B8=; b=Zd4d/HSmX9uz8oxK0Qhb4IZghT
	JBZ/9u+4SV77VeU8gypa9BTxRue7jjePjDTAdHMsiYEZTVC7eBcRuAztSNx8zYZUfdiG/Cvc1YGIt
	NzlET4hvhXzN/H35oWT2f3uCWF5LomvsdWaDIttUt0F683e3F3OlljrWKZOAhE1099QA=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 12/22] xen/arm: fixmap: Rename the fixmap slots to follow the x86 convention
Date: Fri, 16 Dec 2022 11:48:43 +0000
Message-Id: <20221216114853.8227-13-julien@xen.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221216114853.8227-1-julien@xen.org>
References: <20221216114853.8227-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment the fixmap slots are prefixed differently between arm and
x86.

Some of them (e.g. the PMAP slots) are used in common code. So it would
be better if they are named the same way to avoid having to create
aliases.

I have decided to use the x86 naming because they are less change. So
all the Arm fixmap slots will now be prefixed with FIX rather than
FIXMAP.

Signed-off-by: Julien Grall <jgrall@amazon.com>

----

    Note that potentially more renaming that could be done to share
    more code in future. I have decided to not do that to avoid going
    down a rabbit hole.
---
 xen/arch/arm/acpi/lib.c                 | 18 +++++++++---------
 xen/arch/arm/include/asm/early_printk.h |  2 +-
 xen/arch/arm/include/asm/fixmap.h       | 16 ++++++++--------
 xen/arch/arm/kernel.c                   |  6 +++---
 xen/common/pmap.c                       |  8 ++++----
 5 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/xen/arch/arm/acpi/lib.c b/xen/arch/arm/acpi/lib.c
index 41d521f720ac..736cf09ecaa8 100644
--- a/xen/arch/arm/acpi/lib.c
+++ b/xen/arch/arm/acpi/lib.c
@@ -40,10 +40,10 @@ char *__acpi_map_table(paddr_t phys, unsigned long size)
         return NULL;
 
     offset = phys & (PAGE_SIZE - 1);
-    base = FIXMAP_ADDR(FIXMAP_ACPI_BEGIN) + offset;
+    base = FIXMAP_ADDR(FIX_ACPI_BEGIN) + offset;
 
     /* Check the fixmap is big enough to map the region */
-    if ( (FIXMAP_ADDR(FIXMAP_ACPI_END) + PAGE_SIZE - base) < size )
+    if ( (FIXMAP_ADDR(FIX_ACPI_END) + PAGE_SIZE - base) < size )
         return NULL;
 
     /* With the fixmap, we can only map one region at the time */
@@ -54,7 +54,7 @@ char *__acpi_map_table(paddr_t phys, unsigned long size)
 
     size += offset;
     mfn = maddr_to_mfn(phys);
-    idx = FIXMAP_ACPI_BEGIN;
+    idx = FIX_ACPI_BEGIN;
 
     do {
         set_fixmap(idx, mfn, PAGE_HYPERVISOR);
@@ -72,8 +72,8 @@ bool __acpi_unmap_table(const void *ptr, unsigned long size)
     unsigned int idx;
 
     /* We are only handling fixmap address in the arch code */
-    if ( (vaddr < FIXMAP_ADDR(FIXMAP_ACPI_BEGIN)) ||
-         (vaddr >= (FIXMAP_ADDR(FIXMAP_ACPI_END) + PAGE_SIZE)) )
+    if ( (vaddr < FIXMAP_ADDR(FIX_ACPI_BEGIN)) ||
+         (vaddr >= (FIXMAP_ADDR(FIX_ACPI_END) + PAGE_SIZE)) )
         return false;
 
     /*
@@ -81,16 +81,16 @@ bool __acpi_unmap_table(const void *ptr, unsigned long size)
      * for the ACPI fixmap region. The caller is expected to free with
      * the same address.
      */
-    ASSERT((vaddr & PAGE_MASK) == FIXMAP_ADDR(FIXMAP_ACPI_BEGIN));
+    ASSERT((vaddr & PAGE_MASK) == FIXMAP_ADDR(FIX_ACPI_BEGIN));
 
     /* The region allocated fit in the ACPI fixmap region. */
-    ASSERT(size < (FIXMAP_ADDR(FIXMAP_ACPI_END) + PAGE_SIZE - vaddr));
+    ASSERT(size < (FIXMAP_ADDR(FIX_ACPI_END) + PAGE_SIZE - vaddr));
     ASSERT(fixmap_inuse);
 
     fixmap_inuse = false;
 
-    size += vaddr - FIXMAP_ADDR(FIXMAP_ACPI_BEGIN);
-    idx = FIXMAP_ACPI_BEGIN;
+    size += vaddr - FIXMAP_ADDR(FIX_ACPI_BEGIN);
+    idx = FIX_ACPI_BEGIN;
 
     do
     {
diff --git a/xen/arch/arm/include/asm/early_printk.h b/xen/arch/arm/include/asm/early_printk.h
index c5149b2976da..a5f48801f476 100644
--- a/xen/arch/arm/include/asm/early_printk.h
+++ b/xen/arch/arm/include/asm/early_printk.h
@@ -17,7 +17,7 @@
 
 /* need to add the uart address offset in page to the fixmap address */
 #define EARLY_UART_VIRTUAL_ADDRESS \
-    (FIXMAP_ADDR(FIXMAP_CONSOLE) + (CONFIG_EARLY_UART_BASE_ADDRESS & ~PAGE_MASK))
+    (FIXMAP_ADDR(FIX_CONSOLE) + (CONFIG_EARLY_UART_BASE_ADDRESS & ~PAGE_MASK))
 
 #endif /* !CONFIG_EARLY_PRINTK */
 
diff --git a/xen/arch/arm/include/asm/fixmap.h b/xen/arch/arm/include/asm/fixmap.h
index d0c9a52c8c28..154db85686c2 100644
--- a/xen/arch/arm/include/asm/fixmap.h
+++ b/xen/arch/arm/include/asm/fixmap.h
@@ -8,17 +8,17 @@
 #include <xen/pmap.h>
 
 /* Fixmap slots */
-#define FIXMAP_CONSOLE  0  /* The primary UART */
-#define FIXMAP_MISC     1  /* Ephemeral mappings of hardware */
-#define FIXMAP_ACPI_BEGIN  2  /* Start mappings of ACPI tables */
-#define FIXMAP_ACPI_END    (FIXMAP_ACPI_BEGIN + NUM_FIXMAP_ACPI_PAGES - 1)  /* End mappings of ACPI tables */
-#define FIXMAP_PMAP_BEGIN (FIXMAP_ACPI_END + 1) /* Start of PMAP */
-#define FIXMAP_PMAP_END (FIXMAP_PMAP_BEGIN + NUM_FIX_PMAP - 1) /* End of PMAP */
+#define FIX_CONSOLE  0  /* The primary UART */
+#define FIX_MISC     1  /* Ephemeral mappings of hardware */
+#define FIX_ACPI_BEGIN  2  /* Start mappings of ACPI tables */
+#define FIX_ACPI_END    (FIX_ACPI_BEGIN + NUM_FIXMAP_ACPI_PAGES - 1)  /* End mappings of ACPI tables */
+#define FIX_PMAP_BEGIN (FIX_ACPI_END + 1) /* Start of PMAP */
+#define FIX_PMAP_END (FIX_PMAP_BEGIN + NUM_FIX_PMAP - 1) /* End of PMAP */
 
-#define FIXMAP_LAST FIXMAP_PMAP_END
+#define FIX_LAST FIX_PMAP_END
 
 #define FIXADDR_START FIXMAP_ADDR(0)
-#define FIXADDR_TOP FIXMAP_ADDR(FIXMAP_LAST)
+#define FIXADDR_TOP FIXMAP_ADDR(FIX_LAST)
 
 #ifndef __ASSEMBLY__
 
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 23b840ea9ea8..56800750fd9c 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -49,7 +49,7 @@ struct minimal_dtb_header {
  */
 void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
 {
-    void *src = (void *)FIXMAP_ADDR(FIXMAP_MISC);
+    void *src = (void *)FIXMAP_ADDR(FIX_MISC);
 
     while (len) {
         unsigned long l, s;
@@ -57,10 +57,10 @@ void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
         s = paddr & (PAGE_SIZE-1);
         l = min(PAGE_SIZE - s, len);
 
-        set_fixmap(FIXMAP_MISC, maddr_to_mfn(paddr), PAGE_HYPERVISOR_WC);
+        set_fixmap(FIX_MISC, maddr_to_mfn(paddr), PAGE_HYPERVISOR_WC);
         memcpy(dst, src + s, l);
         clean_dcache_va_range(dst, l);
-        clear_fixmap(FIXMAP_MISC);
+        clear_fixmap(FIX_MISC);
 
         paddr += l;
         dst += l;
diff --git a/xen/common/pmap.c b/xen/common/pmap.c
index 14517198aae3..6e3ba9298df4 100644
--- a/xen/common/pmap.c
+++ b/xen/common/pmap.c
@@ -32,8 +32,8 @@ void *__init pmap_map(mfn_t mfn)
 
     __set_bit(idx, inuse);
 
-    slot = idx + FIXMAP_PMAP_BEGIN;
-    ASSERT(slot >= FIXMAP_PMAP_BEGIN && slot <= FIXMAP_PMAP_END);
+    slot = idx + FIX_PMAP_BEGIN;
+    ASSERT(slot >= FIX_PMAP_BEGIN && slot <= FIX_PMAP_END);
 
     /*
      * We cannot use set_fixmap() here. We use PMAP when the domain map
@@ -53,10 +53,10 @@ void __init pmap_unmap(const void *p)
     unsigned int slot = virt_to_fix((unsigned long)p);
 
     ASSERT(system_state < SYS_STATE_smp_boot);
-    ASSERT(slot >= FIXMAP_PMAP_BEGIN && slot <= FIXMAP_PMAP_END);
+    ASSERT(slot >= FIX_PMAP_BEGIN && slot <= FIX_PMAP_END);
     ASSERT(!in_irq());
 
-    idx = slot - FIXMAP_PMAP_BEGIN;
+    idx = slot - FIX_PMAP_BEGIN;
 
     __clear_bit(idx, inuse);
     arch_pmap_unmap(slot);
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:20:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:20:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464619.723133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69hv-0007DD-7B; Fri, 16 Dec 2022 12:20:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464619.723133; Fri, 16 Dec 2022 12:20:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69hv-0007D6-4P; Fri, 16 Dec 2022 12:20:55 +0000
Received: by outflank-mailman (input) for mailman id 464619;
 Fri, 16 Dec 2022 12:20:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PP9E=4O=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p69ht-0007Cc-TT
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:20:54 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2069.outbound.protection.outlook.com [40.107.94.69])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 141c5ed4-7d3c-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 13:20:52 +0100 (CET)
Received: from MW4PR03CA0339.namprd03.prod.outlook.com (2603:10b6:303:dc::14)
 by CH3PR12MB7668.namprd12.prod.outlook.com (2603:10b6:610:14d::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Fri, 16 Dec
 2022 12:20:48 +0000
Received: from CO1NAM11FT033.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:dc:cafe::39) by MW4PR03CA0339.outlook.office365.com
 (2603:10b6:303:dc::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Fri, 16 Dec 2022 12:20:48 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT033.mail.protection.outlook.com (10.13.174.247) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.15 via Frontend Transport; Fri, 16 Dec 2022 12:20:48 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 06:20:47 -0600
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 04:20:47 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 16 Dec 2022 06:20:46 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 141c5ed4-7d3c-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PX9OiHWhYPXAegAogcfioGxteoXPH+Gv7Pwt3f7AfI9YEQN2bvL8iG82mjEhHvkekQmdVK3BjBXewGZ5EXWmTISbqJnU1LcNeeetmVsnpm3qpdXV1eSKJKLuqK0kx3Uc+S3rXfgI3e/dfCSAl/7/2YVnyRd3ARWASQm7erAYLXC80kkKLKeQuY+sfkzE5lgg2RDF+oi/9XaYh0362OGzrDuPkymjH7wLT27lRbUtJDQs+0Ykl8k8VeP/RqIgqaA1OyVY575rvERPpQU/XWpridK5DqZzeiumXhcntG8BhbLF34heJ6iUsXFzfTROMhFsQYHR9Yj2PwqHN8x/cd46HQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OQiDSFj7omp6bhjE/8x7XebSk9Oz6RiFXDJuXKJCTB0=;
 b=ELWvJjmUSzxyTad+3NQBZOyYWi1SG3/f7YhUJMHgMfXExC4/7tzVy/gm0nOjBXQpu6kzyEqEOgDaBUziJxy2QfWzcRPLOimbrVwOnv2C4LS9g8+bca2UQCvQI4CbrOeSInMWDPR7Gc5S2/QRBuziosJuL9Ua1X2wX0Oa+YkpR/mllRuJwi8gOIJ8AAjAwYsyDV/rbfxeJbmq3oW/Ev4Pc2Fp6X40OiQ+V86PvIKzVqtLwvBvb8y4x1rIxvdKsDWam5C0PgrqKC57hHVaHWXD/kNlv+xLmKpaTjBB6CbAIDsg47AOVakijbjhQrMscIghQQJCJokWDORTl7BleF2AAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.org smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OQiDSFj7omp6bhjE/8x7XebSk9Oz6RiFXDJuXKJCTB0=;
 b=uNxfcdN469L0KRGv+klrf5tZ+NpITa97lssXsdh1S6FGGSL0TqCT84ZnVOHL0pLkxbXsAAdDEtEbIjK24pr8nGThJUptjOx4T/X8wPwIRWlojrm8pQ3P7pJFPG8qpKVbhbf+3Mr1u1HVnGRiWVnT043OB5oIn2vQkLQY/m8UyAA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
Message-ID: <95d7eed5-e528-b83e-9129-d36de4cc863f@amd.com>
Date: Fri, 16 Dec 2022 13:20:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 2/2] automation: Add test jobs to run XTF hypercall
 xen_version test
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.org>, Doug Goldstein <cardoe@cardoe.com>
References: <20221215152538.10266-1-michal.orzel@amd.com>
 <20221215152538.10266-3-michal.orzel@amd.com>
 <alpine.DEB.2.22.394.2212151307390.315094@ubuntu-linux-20-04-desktop>
 <73d3dd85-2801-c0a4-7314-84738542eeeb@amd.com>
In-Reply-To: <73d3dd85-2801-c0a4-7314-84738542eeeb@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT033:EE_|CH3PR12MB7668:EE_
X-MS-Office365-Filtering-Correlation-Id: 0e1021e2-f584-42ba-2fc1-08dadf5ff6d5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	27XFrERiZahzadMX6c8PgzGt0jcBjDwUpoU7r16cu8tB4wPigtxiOgpIhIgTHdSNz7RFW5Lhdv+knTfR1eaW7trhada0Dw7ys/0f6VHAmij+jx5OU09TvIjzDqoCjQYFTwMC5P1vcfhF63hWA1vI1yseE9NCtQtkjLhaWj7BcBMO3vby168embBY4c9kEdYZKy4e72SNblue2F4NjdXBU8lamHjKhPNtX3aczGzLNP/UaHhAa/ukH5pvgHU6eq04ko7UdU/zOdW9mwSfkArXJzYaSgqHtzkQXSdE7W8q+Ddw+G82a/6S1Te+ggHLB27rYmHI5POKuTmJzbmd9q6KU1bTPdP8EdvvunTTXxRuZzQnvEOYCy7l76tiJqzhjD4So17DHLznBJSQK9loa5ntKQIiJU+5GlY6gXJ7PbHxfhJVCsVfGrcJKjIM3mRtz8c3fvpgnoGxzTVpqq3awofFkW9irawGWHZWkgTnzSbS1EiFJOS4Zv8XnbKP29iO9ZPgt8u8VHk52Pm9az2Q0y8Wru/5J2Pt5V5oWM12TKSbUZrZD5pavbETrNaOWNXygyNr47xNVfG9elGH+FoES9kog5F6CYweBHRvTFIbNmOVJg0DdJqyLjjaB1vlxaxs1Hqc9rV+n+VzK5mQPAo+EK1VO0zg1qTKdDvdQThB9QGCSqMTHS5ij9vymtsYMp+Vagko1s6s4LrA7UMwJMinYQHDgv6/qP+wwOfertSevKPJdbPozfUSZgM0Wxul1BDIY2xoogDubh/vQKJpUTUrf/4TDA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(39860400002)(376002)(136003)(396003)(451199015)(46966006)(36840700001)(40470700004)(36860700001)(316002)(36756003)(40480700001)(356005)(81166007)(82310400005)(26005)(31696002)(40460700003)(86362001)(82740400003)(16576012)(54906003)(8936002)(478600001)(6916009)(47076005)(426003)(83380400001)(53546011)(5660300002)(2906002)(31686004)(336012)(4326008)(70206006)(70586007)(8676002)(186003)(41300700001)(2616005)(44832011)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 12:20:48.0994
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0e1021e2-f584-42ba-2fc1-08dadf5ff6d5
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT033.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7668



On 16/12/2022 10:33, Michal Orzel wrote:
> 
> 
> Hi Stefano,
> 
> On 15/12/2022 22:08, Stefano Stabellini wrote:
>>
>>
>> On Thu, 15 Dec 2022, Michal Orzel wrote:
>>> Add test jobs in both debug and non-debug versions to run hyp-xen-version
>>> XTF test as a dom0less domU on arm64. The purpose of this test is to
>>> validate the functional behavior of xen_version hypercall.
>>>
>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>> ---
>>>  automation/gitlab-ci/test.yaml | 16 ++++++++++++++++
>>>  1 file changed, 16 insertions(+)
>>>
>>> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
>>> index 2d57f4feb74a..9d4b5315e710 100644
>>> --- a/automation/gitlab-ci/test.yaml
>>> +++ b/automation/gitlab-ci/test.yaml
>>> @@ -165,6 +165,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
>>>      - *arm64-test-needs
>>>      - alpine-3.12-gcc-debug-arm64-boot-cpupools
>>>
>>> +qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
>>> +    extends: .qemu-arm64
>>> +    script:
>>> +      - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
>>> +    needs:
>>> +      - *arm64-test-needs
>>> +      - alpine-3.12-gcc-arm64
>>
>> I think this test only needs qemu-system-aarch64-6.0.0-arm64-export
> In case of pure dom0less configuration - yes.
I take back my words. We obviously need Xen binary as well so apart from qemu
we also need alpine-3.12-gcc-arm64 (debug/non-debug). For the pure dom0less, we do not
need toolstack, but these jobs are already being built for other test jobs so we will
not benefit from e.g. adding new build jobs and variable to specify the hypervisor only build.

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:26:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:26:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464673.723147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69n7-00083Q-RY; Fri, 16 Dec 2022 12:26:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464673.723147; Fri, 16 Dec 2022 12:26:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69n7-00083J-Os; Fri, 16 Dec 2022 12:26:17 +0000
Received: by outflank-mailman (input) for mailman id 464673;
 Fri, 16 Dec 2022 12:26:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p69n6-00083D-G8
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 12:26:16 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69n5-0003I8-TJ; Fri, 16 Dec 2022 12:26:15 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.4.243]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p69n5-0006cq-My; Fri, 16 Dec 2022 12:26:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=PjRUqSugEdYNTgD7UWELGLhjZLwXszOTMXrZuiRvoQc=; b=j7SSG4KlAfH1csDUQZuSxwoCzW
	EheeQHkRkycf2jU8AcYdIXQg24ngaLUGsH0jB7MkJfF9mBuMs4lpKsXg0keQhpCHsD5hWJJEG+zLP
	1eTQFbMcLgetYuFYa5M5iJk5A5D72hZV9mMF44kenqqEoh5zpSR5kwdixjmwgWcd3h6I=;
Message-ID: <33a84c2a-0c94-a62d-3754-4a61aa951c83@xen.org>
Date: Fri, 16 Dec 2022 12:26:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH RFC 04/10] domain: update GADDR based runstate guest area
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <22422a1c-1cfa-95d0-c1fa-99150a8f2a32@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <22422a1c-1cfa-95d0-c1fa-99150a8f2a32@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 19/10/2022 08:41, Jan Beulich wrote:
> Before adding a new vCPU operation to register the runstate area by
> guest-physical address, add code to actually keep such areas up-to-date.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> RFC: Pages aren't marked dirty when written to (matching the handling of
>       space mapped by map_vcpu_info() afaict), on the basis that the
>       registrations are lost anyway across migration. 

So I agree for the existing migration. But I wonder whether we would 
need to dirty those pages if we live-migrated a guest without its help 
(IOW the registrations would still be present).

Anyway, nothing to worry about yet as this is not supported upstream.

> Plus the contents
>       of the areas in question have to be deemed volatile in the first
>       place (so saving a "most recent" value is pretty meaningless even
>       for e.g. snapshotting).
> 
> RFC: Can we perhaps avoid the VM-assist conditionals, assuming the more
>       modern behavior to apply uniformly for gaddr-based registrations?

It is not clear why someone would want to use the old behavior with the 
new gaddr-based registrations. So I would say yes.

> 
> RFC: HVM guests (on x86) can change bitness and hence layout (and size!
>       and alignment) of the runstate area. I don't think it is an option
>       to require 32-bit code to pass a range such that even the 64-bit
>       layout wouldn't cross a page boundary (and be suitably aligned). I
>       also don't see any other good solution, so for now a crude approach
>       with an extra boolean is used (using has_32bit_shinfo() isn't race
>       free and could hence lead to overrunning the mapped space).

I think the extra check for 32-bit code to pass the check for 64-bit 
layout would be better.

> 
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -1599,14 +1599,55 @@ bool update_runstate_area(struct vcpu *v
>       struct guest_memory_policy policy = { };
>       void __user *guest_handle = NULL;
>       struct vcpu_runstate_info runstate;
> +    struct vcpu_runstate_info *map = v->runstate_guest_area.map;
> +
> +    memcpy(&runstate, &v->runstate, sizeof(runstate));
> +
> +    if ( map )
> +    {
> +        uint64_t *pset = NULL;
> +#ifdef CONFIG_COMPAT
> +        struct compat_vcpu_runstate_info *cmap = NULL;
> +
> +        if ( v->runstate_guest_area_compat )
> +            cmap = (void *)map;
> +#endif
> +
> +        if ( VM_ASSIST(v->domain, runstate_update_flag) )
> +        {
> +#ifdef CONFIG_COMPAT
> +            if ( cmap )
> +                pset = &cmap->state_entry_time;
> +            else
> +#endif
> +                pset = &map->state_entry_time;
> +            runstate.state_entry_time |= XEN_RUNSTATE_UPDATE;
> +            write_atomic(pset, runstate.state_entry_time);
> +            smp_wmb();
> +        }
> +
> +#ifdef CONFIG_COMPAT
> +        if ( cmap )
> +            XLAT_vcpu_runstate_info(cmap, &runstate);
> +        else
> +#endif
> +            *map = runstate;
> +
> +        if ( pset )
> +        {
> +            smp_wmb();
> +            runstate.state_entry_time &= ~XEN_RUNSTATE_UPDATE;
> +            write_atomic(pset, runstate.state_entry_time);
> +        }
> +
> +        return true;
> +    }
>   
>       if ( guest_handle_is_null(runstate_guest(v)) )
>           return true;
>   
>       update_guest_memory_policy(v, &policy);
>   
> -    memcpy(&runstate, &v->runstate, sizeof(runstate));
> -
>       if ( VM_ASSIST(v->domain, runstate_update_flag) )
>       {
>   #ifdef CONFIG_COMPAT
> --- a/xen/include/xen/sched.h
> +++ b/xen/include/xen/sched.h
> @@ -231,6 +231,8 @@ struct vcpu
>   #ifdef CONFIG_COMPAT
>       /* A hypercall is using the compat ABI? */
>       bool             hcall_compat;
> +    /* Physical runstate area registered via compat ABI? */
> +    bool             runstate_guest_area_compat;
>   #endif
>   
>   #ifdef CONFIG_IOREQ_SERVER
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 12:34:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 12:34:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464685.723158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69vP-00018P-Kj; Fri, 16 Dec 2022 12:34:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464685.723158; Fri, 16 Dec 2022 12:34:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p69vP-00018I-Hg; Fri, 16 Dec 2022 12:34:51 +0000
Received: by outflank-mailman (input) for mailman id 464685;
 Fri, 16 Dec 2022 12:34:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p69vO-000188-6Y; Fri, 16 Dec 2022 12:34:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p69vO-0003SU-3F; Fri, 16 Dec 2022 12:34:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p69vN-0007Ua-P8; Fri, 16 Dec 2022 12:34:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p69vN-0005eX-JE; Fri, 16 Dec 2022 12:34:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=V+TtJsWIIJPvv5+H6P2FpCwVMdvDoiQXD7YSZLOytDg=; b=zrIU40fM87w/BR5839YR9iX0wa
	nZPICzxPU/w4LvvGUSYe1Eq/z1GMF06Q9u2pq4NBMoymMlNVxgK1APuCMmSyCaAYokHNsCenoY5CZ
	3eClVI4yJT/E0gH0YFRiz1wpDkeIIiZDXODNkvLKA2QmR59qmAth2Ly7aHsrrxAbkHE8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175306-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175306: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=b271d6f3b0d70e8e7be22252bf25deebe8536d39
X-Osstest-Versions-That:
    libvirt=8908615ef35da04bcf942fe1491da31df750836e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 12:34:49 +0000

flight 175306 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175306/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175245
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175245
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175245
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 libvirt              b271d6f3b0d70e8e7be22252bf25deebe8536d39
baseline version:
 libvirt              8908615ef35da04bcf942fe1491da31df750836e

Last test of basis   175245  2022-12-15 04:19:13 Z    1 days
Testing same since   175306  2022-12-16 04:21:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Ján Tomko <jtomko@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   8908615ef3..b271d6f3b0  b271d6f3b0d70e8e7be22252bf25deebe8536d39 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 13:30:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 13:30:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464704.723197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6AnG-0008Bb-AX; Fri, 16 Dec 2022 13:30:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464704.723197; Fri, 16 Dec 2022 13:30:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6AnG-0008BU-7c; Fri, 16 Dec 2022 13:30:30 +0000
Received: by outflank-mailman (input) for mailman id 464704;
 Fri, 16 Dec 2022 13:30:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PP9E=4O=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p6AnE-0007go-SL
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 13:30:28 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2085.outbound.protection.outlook.com [40.107.220.85])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ccbc070f-7d45-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 14:30:27 +0100 (CET)
Received: from MW4PR03CA0112.namprd03.prod.outlook.com (2603:10b6:303:b7::27)
 by SN7PR12MB6981.namprd12.prod.outlook.com (2603:10b6:806:263::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.15; Fri, 16 Dec
 2022 13:30:23 +0000
Received: from CO1NAM11FT097.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b7:cafe::b9) by MW4PR03CA0112.outlook.office365.com
 (2603:10b6:303:b7::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Fri, 16 Dec 2022 13:30:23 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT097.mail.protection.outlook.com (10.13.175.185) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.15 via Frontend Transport; Fri, 16 Dec 2022 13:30:22 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 07:30:22 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 05:30:22 -0800
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Fri, 16 Dec 2022 07:30:21 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ccbc070f-7d45-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GV62qyMfODAq9/LJMTIpzkqC8e03fCV8NeRb2foCfDu26WaSkr5Dt7HC8aQ/ocPIf6lp6kgp7Deb3xHs8RlbhVNFO5pVD3e0a7ixaXY20lSPQy2jgVeu2z4DxKTLq3GGTjJRdn+AHVI2pHYt2xU6SZvDNze/8J5GD3GU8WME0/bhFxI3bqN1n2cTbXrMUBp/cqJzQ2UY10AuoLY+i1Zz55XaxtqKvBohwjZw1iTCeXy7dO58/r46glzJgsRsuDk1hu1y/Ao+Ri/SJ3iqrHQI/JWWlsyolAInXWGyMm1WRVjHJ8rfAcu4tL5CcZ5Wnu0Ov5fNnJ5v2LHfhZdaxBhevQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LZBILgdEpcJ1YNOCDG5xLjBoP09KEkHNCmsLWra8eHA=;
 b=eBH+ZZi3ugRWW6aGYZPIqs7Dv1nZUwfIAxzvZoXs5fPa7S4TgLuTKWkODcfuM3rh0yHBAPuq1pcgpLaE5BTLYk1oiTrbl1zl+JkR+1xak8srsmQm4MdtcnLwkkz1pSi6lRfITBde07bQgkueA8VlZPIkR0Pcf4+c784FvGRBwMkUuyyS4IpXEYXxwbOX8EnIsLf1WooRMfrP5n+vWzjEZogl3LLgvt6J27SEHcjhICohzg8yOzKD5Hqp4W+9T9m4BS4XxS+FDpoyTPSctDY5vbfmMRAzKaDQj96PCMMbqT4FoRJ6UcjIbjCWCSL/eQl0hu+3W6O3ztWSO5yQpN6RaQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LZBILgdEpcJ1YNOCDG5xLjBoP09KEkHNCmsLWra8eHA=;
 b=LvKqcVl9GXHc0kg3M89eC3kAm90ducTxUNNrCHggzMAPC1quE2AlM3COKdRmctGnjGivAvSDXsDXI8i+nrFv8/MuCKRG1FBFGNhkK6pxrXGX6Aj6ZOsIMLQFXGXc8Vbkz7JYgv8Njbj+RZV1aPLYIsIdiS0yTigPHFJRU9X0e9o=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 2/2] automation: Add test jobs to run XTF hypercall xen_version test
Date: Fri, 16 Dec 2022 14:30:12 +0100
Message-ID: <20221216133012.19927-3-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221216133012.19927-1-michal.orzel@amd.com>
References: <20221216133012.19927-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT097:EE_|SN7PR12MB6981:EE_
X-MS-Office365-Filtering-Correlation-Id: dd5ad4aa-dfdd-4a2c-4d18-08dadf69af3e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JkmML2Urn5nXdEgZ3XwmreyX9rz9YE0t7OnlQyh4lzdFl8+0rtlefdvURHt6YZUqgOThtP8GxXig3WBKOUm0Pirl5ye53EG5hGQBLF1DZ5l9jrwkOUiDU4xL1G1aQ9W83BCsjg+pZikH/zwvNok74LErjzTby0c/tFMUQ32IsZCq7uNgoPfEAP9wEj0eNlvGNT+XslAbHE02cRCsqj+WK0mjaY3Zun8ZhwjVZlNtctIU3GflwU46KG41gVPkAKNY5l61L4kcS68gUsLi1hKwFrkyegyrLtmd9CASAVttIVm+nECHwX99tulR1duUALwfmZRzx6ZOOASPWxjWAQgXlS3iKGHkCrh6ivQyhLtnaprFcPIGPez1FLo4nNLnCKbNp+MyErDGSsVst9oDQa8riRY238z4OnHxR+oElT/GOV4Ef87m7BmnEtMpDacqSCPymLG0WuHaPwQaCgeZbfoTkc+TrznkPmT/07qgd+7b9yvBc/JlXVjS4n8PvV1XGkmVKnAq3t34Mzlmo8ctq2sF8k6TJYBGJp+d+D9e7Dn/tZJdMGLlG/eUbjOSx4Fw0yC/0gVDnEpzRFHyxmJUMLmihrZlUWkP0WasTo69448PsvLtnLjSPBR/fywBbNDyzhQoD3TQ70fdtvDDo9giIzcP491h74jcVANw8BnRdn6iaw1Lfre/ACxh7Jl2wKaJYiX3SZl6bqwYR6TLParRO27z1LxXIyazyBf6vqtYtjk27+E=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(396003)(39860400002)(136003)(451199015)(40470700004)(46966006)(36840700001)(36756003)(54906003)(6916009)(316002)(2906002)(47076005)(426003)(83380400001)(40460700003)(478600001)(86362001)(40480700001)(6666004)(2616005)(1076003)(336012)(26005)(186003)(82740400003)(41300700001)(8936002)(36860700001)(82310400005)(81166007)(44832011)(70586007)(70206006)(356005)(8676002)(5660300002)(4326008)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 13:30:22.9440
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dd5ad4aa-dfdd-4a2c-4d18-08dadf69af3e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT097.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6981

Add test jobs in both debug and non-debug versions to run hyp-xen-version
XTF test as a dom0less domU on arm64. The purpose of this test is to
validate the functional behavior of xen_version hypercall.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v2:
 - as we are going to run XTF in pure dom0less configuration, specify only
   the need for Xen and Qemu
---
 automation/gitlab-ci/test.yaml | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 2d57f4feb74a..afd80adfe17c 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -165,6 +165,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
     - *arm64-test-needs
     - alpine-3.12-gcc-debug-arm64-boot-cpupools
 
+qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
+  extends: .qemu-arm64
+  script:
+    - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
+  needs:
+    - alpine-3.12-gcc-arm64
+    - qemu-system-aarch64-6.0.0-arm64-export
+
+qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version:
+  extends: .qemu-arm64
+  script:
+    - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
+  needs:
+    - alpine-3.12-gcc-debug-arm64
+    - qemu-system-aarch64-6.0.0-arm64-export
+
 qemu-smoke-dom0-arm32-gcc:
   extends: .qemu-arm32
   script:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 13:30:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 13:30:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464702.723175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6AnE-0007h6-MJ; Fri, 16 Dec 2022 13:30:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464702.723175; Fri, 16 Dec 2022 13:30:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6AnE-0007gz-JS; Fri, 16 Dec 2022 13:30:28 +0000
Received: by outflank-mailman (input) for mailman id 464702;
 Fri, 16 Dec 2022 13:30:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PP9E=4O=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p6AnD-0007go-3A
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 13:30:27 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2062.outbound.protection.outlook.com [40.107.237.62])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cc57247a-7d45-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 14:30:25 +0100 (CET)
Received: from MW4PR03CA0096.namprd03.prod.outlook.com (2603:10b6:303:b7::11)
 by MN0PR12MB6054.namprd12.prod.outlook.com (2603:10b6:208:3ce::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Fri, 16 Dec
 2022 13:30:22 +0000
Received: from CO1NAM11FT097.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b7:cafe::31) by MW4PR03CA0096.outlook.office365.com
 (2603:10b6:303:b7::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12 via Frontend
 Transport; Fri, 16 Dec 2022 13:30:22 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT097.mail.protection.outlook.com (10.13.175.185) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.15 via Frontend Transport; Fri, 16 Dec 2022 13:30:21 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 07:30:20 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 05:30:19 -0800
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Fri, 16 Dec 2022 07:30:18 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc57247a-7d45-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K+WgvbOzPiuzIs4qv4Ro2psvgsm/Uj/81IWY5EN66/6zlscmaN/5kHeCJ8ufc32IbGlpYXU/gz7jnUUc4MOwqQevkNL/RTHqt5O5En+swgUNDVdfJy5+TL1tVHHbo+FLPHWAgfzsBfKLg+AwKHb2wFaZ8j71jrzhJIxXiy3/dCcSfJ3rgo7woCAKROH86A9MgECrw6ujtFUmV2LRA+nYHrSb2jCJ1eJ4ED00HOza3oAPgJJgqFSmT2u+XbZ+XXfr1IdAQl7J6zINelwfEIQyn5saJLMVjfVAJJ2aYcf7AeuKjCH898QAwAvaqZ27kc5yFEDLBaTjyXu34wIKzY5NBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3x1VTcoLIlQnPIWIeH4cQnCU8xlamHZDxOLmDEHwtrI=;
 b=PAl+BjCTB6CRcM7dxW4L1PyGdCo9/YBdVkSPXXDtf/7qvC7Hz3A/MssOXz+6nFjNCff8P5aOzoOkK7obDT9hC7xsPBps5dfR45j5RwlY0EiVMfrRb+B+OTiHlsTHHqaTx6/VVa2LYbSOyeTWxS/n0Scan3ptTvUUcLdgvc+ZeiN0M23VtvDhpH3ZlmLvgH2mntZw1y1wVkvgW1nr90H556uzsHF5RZ2QLL9TvfQXewjDTOQAbXbin/CCob/M0yWQ7ShRPqHgBigqAKs1ZrViQddL6OT288y2DFFsDIQrxFQcWyN3iYe7bxsJQKtliVMY4TSz27xSOBoiN2N9Oo69yg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3x1VTcoLIlQnPIWIeH4cQnCU8xlamHZDxOLmDEHwtrI=;
 b=Qf1kvb8WfVUK7sEKNU/EPVRH7UbO8Q3YB56dqqOSqD62SKQNJo8QReun1yHqdGkZ0sd7TJX7DWlEDDPT2ycVZjSxKR6GaSkTjDju8yzJuoL2nZ1vrbRQ6uphvSL71/GMoZb6UwyzFkuTt1Vi/I9Exqm5oOp0zgndWuj2N6wRqT8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 0/2] XTF on arm64 support in CI
Date: Fri, 16 Dec 2022 14:30:10 +0100
Message-ID: <20221216133012.19927-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT097:EE_|MN0PR12MB6054:EE_
X-MS-Office365-Filtering-Correlation-Id: eba77e9a-3b01-41f0-8633-08dadf69ae2e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gBQqbxgA4LMaI8IAjYj4SeJcHLfo93V0TtxomdggtNinLnSj0iLvVTbWWX00IRxk/JQETgnZbtfvQFt7Y/iDeyG5b7O05uh4jl5xButv0e2h4RB1Z+MrmXGxSGr1dvNdrdNgWqHGU3Hv/tV/hJJwXsUMv9RkjPLKgtRJvjsg5U6Dcf9A5KDgB5VGbKUQ0mDCmUgvTe1DpkOR6u6pElK7PZqZPrboPsXBiez/znxaVt4LWyBLSFL00wLdvQ2Y1XEPBFoqXtMBnXo000bk8NJoNGQaSGN/tvNqFiISNpXqjE5iu69VVrVSH9leauLbw5q9XocxI6VcEepf6eYfkJGhRfdXKqd3N67BkbMlLJF/ZQLSG3OPDjoNoCd3Vr7C5pYXQ8ByyzMncdfl6OAJZpoMrE5gXzQMbMN6PQZiVXA4yuq8tp6Q1Blh00SnZddXGKVID1u1TM0ZM/MetB3cQES8SEdCwSW9DdggQh6rJgLC7YX0tFionbcXyaElHZk6ANDyY/IuQ9ld6W3f88/E7fww3d+rOSaPmAhspG0u5SZfxAPHQWG8tJ90WIjMgHTCxvUZ/Oa69xDRYgHAdMV4wiM3iVTWXOnzd0oYiMes0WYEiy/h0QT6MHF6l65kc97ucsV4PcSwmmb6d6/hhahXIMvBeS7BRZwHZDQVHCXOJekTZfiAsCUaSeEp1sGsFHc4RoDtI61AZ2ax+BFfzRgMhSa9wnc1aiTCTrDZifiylOhcZUY=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(136003)(39860400002)(376002)(451199015)(40470700004)(46966006)(36840700001)(36756003)(54906003)(356005)(86362001)(4744005)(44832011)(5660300002)(82740400003)(8936002)(81166007)(40460700003)(36860700001)(40480700001)(426003)(41300700001)(83380400001)(47076005)(478600001)(6916009)(70586007)(26005)(6666004)(82310400005)(4326008)(8676002)(186003)(70206006)(316002)(2616005)(1076003)(336012)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 13:30:21.1628
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eba77e9a-3b01-41f0-8633-08dadf69ae2e
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT097.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6054

This series adds support into our CI for using XTF to perform low-level
testing on arm64 (dom0less use case for now). For the purpose of the CI
testing, we are going to use XTF fork with implemented arm64 support.

This series populates the CI jobs to run hyp-xen-version XTF test to validate
some of the xen_version hypercall operations.

Changes in v2:
Let's take the opportunity to run XTF as a domU in pure dom0less configuration,
as this is something our testing do not cover at the moment.

Michal Orzel (2):
  automation: Add support for using XTF for arm64 testing
  automation: Add test jobs to run XTF hypercall xen_version test

 automation/gitlab-ci/test.yaml                | 16 +++++
 automation/scripts/qemu-xtf-dom0less-arm64.sh | 68 +++++++++++++++++++
 2 files changed, 84 insertions(+)
 create mode 100755 automation/scripts/qemu-xtf-dom0less-arm64.sh

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 13:30:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 13:30:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464703.723181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6AnF-0007oj-3X; Fri, 16 Dec 2022 13:30:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464703.723181; Fri, 16 Dec 2022 13:30:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6AnE-0007nL-VS; Fri, 16 Dec 2022 13:30:28 +0000
Received: by outflank-mailman (input) for mailman id 464703;
 Fri, 16 Dec 2022 13:30:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PP9E=4O=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p6AnD-0007go-SF
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 13:30:27 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ccb17f61-7d45-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 14:30:26 +0100 (CET)
Received: from MW4P222CA0027.NAMP222.PROD.OUTLOOK.COM (2603:10b6:303:114::32)
 by DS0PR12MB8220.namprd12.prod.outlook.com (2603:10b6:8:f5::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Fri, 16 Dec
 2022 13:30:23 +0000
Received: from CO1NAM11FT045.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:114:cafe::84) by MW4P222CA0027.outlook.office365.com
 (2603:10b6:303:114::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.15 via Frontend
 Transport; Fri, 16 Dec 2022 13:30:23 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT045.mail.protection.outlook.com (10.13.175.181) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.15 via Frontend Transport; Fri, 16 Dec 2022 13:30:22 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 07:30:21 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 16 Dec
 2022 05:30:20 -0800
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Fri, 16 Dec 2022 07:30:20 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ccb17f61-7d45-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ky5HVGVGmpqXttryjNfWL2mrFZSy7DJ4hnX5anR4ETG6Og/ydnxbLxAY5LF3cmZrB3wvaFIUD8pqB7F/V5LswUJgzyUvktUOWoacvVTF4E1mUydOqkfhgJTeUEukHNKv9otdv9eLa4973xMxT63x2KiPNxf6LSGjszy9NS2o0EWKJY86eXTmCBgZu1DoRBgCj6coJdp/+18DLwZRnULIM07eFaUgBmCaHFmx8z7s74IaJOijCc8MOdahRUAwCBpck40bWue55gZ0wiDu8vFWYmju6dx0sJdeWhRF4vnmiQ3aFWimBVYDeTHhbR/bLTGJ1gjdswx0cTGeF0twyr6QkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UmEwVKVFHGB3eYR4WpZEJ4xQiKOmYLMi+3waBFqTc7g=;
 b=P439mvSm7YNYsfME+a0T0WQWQZtzutd/S4sC5VFLJSdXHgHoKkjqLCyTGSrNg9oJlPG6YVN09qLJq8g3aWtxVRcW9iIMdhWSThTa21u/M5RSlGM8vVa/Ojv/jzRhNUkJGCr4yQ3BLbssLoQb+7jXbwN2dyXlM2ZIfM9K819Onf9fuQbpHZJVvwW6tHd87ujM2K6c2SMCXWKO2sRLUfrY7wpcXLHCErYOpnEIpzr2jp5hWjVQGTV0A/cOdDERzFX79LmmB17HsuU6Cw+ktBSoYUuXrggVJlbasbZV2TBp0PwEFYQuXhKN2vjpbLXQySPZ/O3Ows46yyWdckLrQQfUQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UmEwVKVFHGB3eYR4WpZEJ4xQiKOmYLMi+3waBFqTc7g=;
 b=J7GL34fVLV5DRmpZulTjgplPiFB9NceitEme9beOq0Nwy8LLt1dAcG+9cnzDzEM7o1m1an/CfUl+6k2krsCIiXSUJV3jcORwLT1cx8xdBGuBuIuexRBRAmFD7i0IvLxfKV6p21uHSsAnOo/ggkyPpYDbZOEWDn5QkbsFuic0yZM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 1/2] automation: Add support for using XTF for arm64 testing
Date: Fri, 16 Dec 2022 14:30:11 +0100
Message-ID: <20221216133012.19927-2-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20221216133012.19927-1-michal.orzel@amd.com>
References: <20221216133012.19927-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT045:EE_|DS0PR12MB8220:EE_
X-MS-Office365-Filtering-Correlation-Id: 6260f1f3-ab13-40a8-3e85-08dadf69aef8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hV6jDaNzFS1zM6W4RlhpIdMFQsGn9e1gP9E3Bn1ZBKZGcR9UD6y9PgfzU3e7rCxrtTtgrmPyA3AL0fnYufOI8YY3lsLWqO9mJTBtuhulku+qfRs5OnRMZGwSdQBdvDmj+cnyggFpjFd04jWJ9mdLgZD/YpEVfg773ER47hXRTtGGUPVecftz7bA//bqGPvAhHXJNDtytcetlOaZgdHDbVMFgMsQ9JWwXCetiixHTfO0oZtcDEeOSDwxhQ1SBkfXPllsboAJM7QHMzUAu5P9oRGYvFraRqhQnlNTptpC3rjrRmNgrVxf2a1wkiux2W6hkjGie9XFO/1hfn1zPVExnJEDb9+sdeyEv651uD6fTFKYA3H+6vObc7AqV2WdFqlhtq5It2GIGbdBKJNYXS5mQCgbkcFbedmi/pogzXdbDeBw1J1SQefQ6qBbTR0mA2nXM1Glk6WY3cNF7zC0gRQmxZuG/p+DLdin4qkWRBPZsiWFY8lYE33GJXocAodCmGGND80UvFVjGvjXRkVK0HyK2B+2EsbccyYEleqU4xIDG7oV2Y88mwGMI2PwtlpHpsZj7/x1KpdXf5q2y+55KrV8/hSN3D1vJ492xvxHgyIxDXTrCBjGwfxHS4LL+Ax6A2bO4maRdNPamtgfK+tL70Q7ukUPN8YeuXNXYVyAo4DsyEedQozQbfH9Fk5rUbetUoLq1TEIISeT8mLqNH6B+ILoYBpdZmmYZiL/rpQSpECz/kDm759iy1vb37WOD6n0dHMnAqaIwtrme2zht59FGqd11MhnvSdxzXeLOQoKLYJ8qCoaQBJEllicJ/xOugmGunzuO8ZzOPYFW8mOJMYKkfEqaOE6IDb4KeoDFshxsV6Gbi+8=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(396003)(346002)(39860400002)(376002)(451199015)(40470700004)(36840700001)(46966006)(82310400005)(2616005)(82740400003)(1076003)(336012)(36860700001)(86362001)(47076005)(426003)(40480700001)(83380400001)(40460700003)(81166007)(356005)(36756003)(44832011)(316002)(41300700001)(2906002)(8936002)(70206006)(70586007)(4326008)(8676002)(5660300002)(54906003)(186003)(478600001)(26005)(6666004)(966005)(6916009)(21314003)(36900700001)(139555002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 13:30:22.4692
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6260f1f3-ab13-40a8-3e85-08dadf69aef8
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT045.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8220

Introduce support for using XTF on Arm to perform low-level testing.
For the purpose of the CI testing, let's use the fork [1] from upstream
XTF with implemented support for arm64 (the upstream XTF only supports
x86).

Add a new script under automation/scripts to be used by the CI XTF test
jobs to perform the following tasks:
 - Compiling XTF,
 - Generating u-boot script using ImageBuilder,
 - Running Xen with XTF as domU in pure dom0less configuration using Qemu,
 - Checking test result.

The script takes the name of the XTF test to run as a first parameter.

[1] https://gitlab.com/xen-project/fusa/xtf.git (branch xtf-arm)

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v2:
 - run XTF in pure dom0less configuration
---
 automation/scripts/qemu-xtf-dom0less-arm64.sh | 68 +++++++++++++++++++
 1 file changed, 68 insertions(+)
 create mode 100755 automation/scripts/qemu-xtf-dom0less-arm64.sh

diff --git a/automation/scripts/qemu-xtf-dom0less-arm64.sh b/automation/scripts/qemu-xtf-dom0less-arm64.sh
new file mode 100755
index 000000000000..3ec9cf74e129
--- /dev/null
+++ b/automation/scripts/qemu-xtf-dom0less-arm64.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+set -ex
+
+# Name of the XTF test
+xtf_test=$1
+
+# Message returned by XTF in case of success
+passed="Test result: SUCCESS"
+
+# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
+curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
+./binaries/qemu-system-aarch64 \
+   -machine virtualization=true \
+   -cpu cortex-a57 -machine type=virt \
+   -m 2048 -smp 2 -display none \
+   -machine dumpdtb=binaries/virt-gicv2.dtb
+
+# XTF
+# Build a single XTF test passed as a first parameter to the script.
+# Build XTF with GICv2 support to match Qemu configuration and with SBSA UART
+# support, so that the test will use an emulated UART for printing messages.
+# This will allow us to run the test on both debug and non-debug Xen builds.
+rm -rf xtf
+git clone https://gitlab.com/xen-project/fusa/xtf.git -b xtf-arm
+make -C xtf TESTS=tests/${xtf_test} CONFIG_SBSA_UART=y CONFIG_GICV2=y -j$(nproc)
+cp xtf/tests/${xtf_test}/test-mmu64le-${xtf_test} binaries/xtf-test
+
+# ImageBuilder
+echo 'MEMORY_START="0x40000000"
+MEMORY_END="0xC0000000"
+
+XEN="xen"
+DEVICE_TREE="virt-gicv2.dtb"
+
+XEN_CMD="console=dtuart"
+
+DOMU_KERNEL[0]="xtf-test"
+DOMU_MEM[0]="128"
+
+NUM_DOMUS=1
+
+LOAD_CMD="tftpb"
+UBOOT_SOURCE="boot.source"
+UBOOT_SCRIPT="boot.scr"' > binaries/config
+
+rm -rf imagebuilder
+git clone https://gitlab.com/ViryaOS/imagebuilder
+bash imagebuilder/scripts/uboot-script-gen -t tftp -d binaries/ -c binaries/config
+
+# Run the test
+rm -f smoke.serial
+set +e
+echo "  virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \
+timeout -k 1 120 \
+./binaries/qemu-system-aarch64 \
+    -machine virtualization=true \
+    -cpu cortex-a57 -machine type=virt \
+    -m 2048 -monitor none -serial stdio \
+    -smp 2 \
+    -no-reboot \
+    -device virtio-net-pci,netdev=n0 \
+    -netdev user,id=n0,tftp=binaries \
+    -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial
+
+set -e
+(grep -q "${passed}" smoke.serial) || exit 1
+exit 0
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 13:50:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 13:50:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464728.723208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6B6H-000310-U1; Fri, 16 Dec 2022 13:50:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464728.723208; Fri, 16 Dec 2022 13:50:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6B6H-00030t-Pl; Fri, 16 Dec 2022 13:50:09 +0000
Received: by outflank-mailman (input) for mailman id 464728;
 Fri, 16 Dec 2022 13:50:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Hlz3=4O=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1p6B6G-00030n-EK
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 13:50:08 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8cdf045a-7d48-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 14:50:07 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id m19so3685823edj.8
 for <xen-devel@lists.xenproject.org>; Fri, 16 Dec 2022 05:50:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8cdf045a-7d48-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=qp2x/sN/dY5wGzbmiMYs5tvErc/hFbrPTNBPlORKzsI=;
        b=HoqP15cEdNCXy+vMry4im6bm+VEVNssCruVHaaQKFfq3Sju8r/K7w5OEDjvnAuccbo
         qi2r0tYY+8NXRwdELPFYxDjxLbGjRC7gHIRPBwAaubFeDEiJBKuVQANIr8b3hmBYsNP6
         cfDJbq00Aklb0TxXte7a/Q2ZLOMygYJnF1J3M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=qp2x/sN/dY5wGzbmiMYs5tvErc/hFbrPTNBPlORKzsI=;
        b=NZ1Fc/G18E2i1mlt1eZRZKytm3Aucp+9Pocag5HO7rO6PDUdD5UL8coQliKDxtKaV5
         ltqAZ8XtTYHfxQqqCJ9TBrZOJbwq2IIN8r4CNH6jQEqwJdZWMbLYXk93KY30W0k0HyQu
         65iRBTGTVhuR0Tn55ryLo+Dr0S2L6aB2TLzRx6Nxu1L5PdeBHVl5m1F4sEXOgM1DsrK7
         gdmOuZecuExDqWgyDbfpDzT6Uwb5SQdsWWAfQYfwTW/rlu12gI4nGXQS2K7982BKLdA+
         3gGoI2ehx+WLlXs3pmPvTYi+J6JFpw3nQgraXTUB5rrNQ+jklFH8T6Yb2+ts2hviWPW7
         achQ==
X-Gm-Message-State: ANoB5plyh2/HnpGLXKkBYRVM2tpYeNBztRviZWLknlLFEDIwK2Vd1wJl
	LEBBumMuR2tXP3wwOazZlIJB7LociCw494krcnmrCg==
X-Google-Smtp-Source: AA0mqf6OLi/SKtCL54cTjjF64Bvbm1E7fyBfqtmHuEwGiG4Esz56y7Agf1z05rlMzxPwvvVPMl37+vDesDJCeW4Ebfk=
X-Received: by 2002:aa7:dd4b:0:b0:467:65a2:f635 with SMTP id
 o11-20020aa7dd4b000000b0046765a2f635mr75649703edw.106.1671198606957; Fri, 16
 Dec 2022 05:50:06 -0800 (PST)
MIME-Version: 1.0
References: <20221216104904.3348-1-andrew.cooper3@citrix.com>
In-Reply-To: <20221216104904.3348-1-andrew.cooper3@citrix.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 16 Dec 2022 13:49:56 +0000
Message-ID: <CA+zSX=aTmgvX8YVS=4utHJ=5YQ_x=B_xdSSwykwG=v7soeb_+w@mail.gmail.com>
Subject: Re: [PATCH] tools/golang: Refresh bindings following virtio changes
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, 
	George Dunlap <George.Dunlap@eu.citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, 
	Jan Beulich <JBeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
	Julien Grall <julien@xen.org>
Content-Type: multipart/alternative; boundary="0000000000005131af05eff23fe5"

--0000000000005131af05eff23fe5
Content-Type: text/plain; charset="UTF-8"

On Fri, Dec 16, 2022 at 10:49 AM Andrew Cooper <andrew.cooper3@citrix.com>
wrote:

> Fixes: 43ba5202e2ee ("libxl: add support for generic virtio device")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>

Assuming this is just re-running the generators, and that the result
compiled cleanly:

Acked-by: George Dunlap <george.dunlap@cloud.com>

>
>

--0000000000005131af05eff23fe5
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Fri, Dec 16, 2022 at 10:49 AM Andr=
ew Cooper &lt;<a href=3D"mailto:andrew.cooper3@citrix.com">andrew.cooper3@c=
itrix.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex">Fixes: 43ba5202e2ee (&quot;libxl: add support for generic virtio=
 device&quot;)<br>
Signed-off-by: Andrew Cooper &lt;<a href=3D"mailto:andrew.cooper3@citrix.co=
m" target=3D"_blank">andrew.cooper3@citrix.com</a>&gt;<br></blockquote><div=
><br></div><div>Assuming this is just re-running the generators, and that t=
he result compiled cleanly:</div><div><br></div><div>Acked-by: George Dunla=
p &lt;<a href=3D"mailto:george.dunlap@cloud.com">george.dunlap@cloud.com</a=
>&gt;</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.=
8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
</blockquote></div></div>

--0000000000005131af05eff23fe5--


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 14:02:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 14:02:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464736.723218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6BII-0004g4-0K; Fri, 16 Dec 2022 14:02:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464736.723218; Fri, 16 Dec 2022 14:02:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6BIH-0004fx-Sz; Fri, 16 Dec 2022 14:02:33 +0000
Received: by outflank-mailman (input) for mailman id 464736;
 Fri, 16 Dec 2022 14:02:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6BIH-0004fn-9e; Fri, 16 Dec 2022 14:02:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6BIH-0005Ye-6R; Fri, 16 Dec 2022 14:02:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6BIG-0004jV-QQ; Fri, 16 Dec 2022 14:02:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6BIG-0006e1-Pw; Fri, 16 Dec 2022 14:02:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4BmzHJPRHk4B8maw9mY2PSja1wMNwzHb1X/wKlnAhn4=; b=tuh3LKbVAw4QN9iB5hT+guUvrT
	7s3Z28i6wskXqCkiek0MnALf/clMnlpPSFBOawd2xRROJzjGU15ykSe5oUUGe6595K4HXtsjVnjgH
	flcn7fVY0He7W4VYTya1ojOYMhxaEFFuOSH5XqWZWNxCydXP6TFl/zdPvsKbQOwzE/cM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175302-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175302: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851f657a86421dded42b6175c6ea0f4f5e86af97
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 14:02:32 +0000

flight 175302 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175302/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                851f657a86421dded42b6175c6ea0f4f5e86af97
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   69 days
Failing since        173470  2022-10-08 06:21:34 Z   69 days  140 attempts
Testing same since   175302  2022-12-16 01:44:22 Z    0 days    1 attempts

------------------------------------------------------------
3018 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 432605 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 14:28:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 14:28:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464748.723229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Bgp-0007YL-53; Fri, 16 Dec 2022 14:27:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464748.723229; Fri, 16 Dec 2022 14:27:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Bgp-0007YE-2L; Fri, 16 Dec 2022 14:27:55 +0000
Received: by outflank-mailman (input) for mailman id 464748;
 Fri, 16 Dec 2022 14:27:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Zr/=4O=citrix.com=prvs=342bb51ac=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p6Bgn-0007Y8-KY
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 14:27:53 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d18a4b7b-7d4d-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 15:27:51 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Dec 2022 09:27:42 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM4PR03MB6997.namprd03.prod.outlook.com (2603:10b6:8:42::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Fri, 16 Dec
 2022 14:27:40 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Fri, 16 Dec 2022
 14:27:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d18a4b7b-7d4d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671200871;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=VoQyCTuolKRfIzY1yBnNYiLiFuXiSaC81CbBoa+3PzU=;
  b=GuPolbHM0hHZwPcvUmA/V/2+4uPdGQE7+bYwM182ZHGtwCjy3oBd2Csz
   eaWYfIY+gzaVjUJTED8nILBR9wq2yuNBBj97oheakLYYWO5dNm+tlSv7x
   p7APk7UlEW85TMxgeLlTHPK68vOh/Dyp6emF3HjVeUk62cNNkzMD0j6sh
   4=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 87725399
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Cz7WnaL5p+uijqxRFE+RUZQlxSXFcZb7ZxGr2PjKsXjdYENShmRSm
 DNODTjUOa6CMzP1ct1/Oo/g8EIH68LcmoBnSlZlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5AVgPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5bGDgJ3
 N07FwsBf0uAicXmyri1RO1V05FLwMnDZOvzu1lG5BSAVLMMZ8CGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dnpTGNnWSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnzXykAt9JRezQGvhCmEy/+GBJCzYqWwWn/sO3qXCuBvsHN
 BlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97WmlyLfQ4gufLngJSHhGctNOnNQtWTUg2
 1uNntXoLT9iqruYTTSa7Lj8hSy2ETgYKykFfyBsZQEI+cX5qYc/yBfGVM9+EbWdh8fwXzr3x
 liisi86gLkCiN8R4K+y91vHnjGEq4DAS0g+4QC/dnKo6EZ1aZCoY6Ss6EPH9rBQIYCBVF6Ds
 XMY3c+E44gz4YqlkSWMRKAHGuGv7vPcaTnE2wcxTt8m6iin/GOlccZI+jZiKUx1M8ECPzj0f
 EvUvgAX75hWVJe3UZJKj0uKI5xC5cDd+R7ND5g4svImjkBNSTK6
IronPort-HdrOrdr: A9a23:52vZNKDNuPZ0CjzlHelW55DYdb4zR+YMi2TDt3oddfWaSKylfq
 GV7ZAmPHrP4gr5N0tOpTntAse9qBDnhPtICOsqTNSftWDd0QPFEGgL1+DfKlbbak/DH4BmtJ
 uJc8JFeaDN5VoRt7eH3OFveexQv+Vu88qT9JnjJ28Gd3AMV0n5hT0JcTpyFCdNNW97LKt8Lr
 WwzOxdqQGtfHwGB/7LfEXsD4D41qT2fIuNW29/OyIa
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="87725399"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TrwF2LvjSxce7PqdWFSwlAaF98xVLBaKG4FCCFNBuSzBYU+52fj8kFcaQOCuQ6aWCsPR+dXWmy1z4rvHX1/oCajFoxhH8JQ4ezOj+g3gLOV0yPJN5WCn505qLbvLpZixCuneYqT6Rz085m49uwWmX/+xZDfBBhGRemKXpdKZ3lKAqDob6iqexqWCqw9IS/DJ5Oc4qCCqZxOMagyDfS0CSaCnw+GAZIsotZ4PKGN6hWesGvMuaYXSc04ll0WUAhPuiYppg3nntUzaiiyT7wbByIJclQnioHtaN+V7p0JmLiTcxcLnHf5KTVMtZUTJsLmm4b1wtJFvj9P4aFwComRZOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VoQyCTuolKRfIzY1yBnNYiLiFuXiSaC81CbBoa+3PzU=;
 b=iuvRizHXx93y9+IXV3kfgbukydQHZWV9oLZkP8NkhQnlKYSyoXjYoeed2DVABOTFzHVbDSfEmbFtMuit7eT3GkcxjA1Pkoz4OOjCc2iohMZu8brkyzbKFQF9+F5yu/QDNm2SNaoB0DWblH/cEJhoOU3URkxM5IpILNc1DwagaidxN67CiNiHYmfLQZE0zfkPyYEoB5TSjpgbiuMTwewagoXOcdsK1eqchAm4C8G8SQg3yjxDN60kBvyF/g8Iy4j0PrfmgTyjyUPEweav7V0CceHh7yRaFhzP1WjIx881MhK/D1jPSpNYhGAEi3G+qgHMwYJy8lkKHohfmYfkuKmlIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VoQyCTuolKRfIzY1yBnNYiLiFuXiSaC81CbBoa+3PzU=;
 b=xbwUdsZQgKXWJ7j2f9ZEbT7TODYu9fNWMIq1dio3M7JyprlmVSDgVekj6QH1BLXf3+PsrkZXNBu+Ghy4zA40VlBuw1pE3sRLa/PV9hU5F0pfR5qmKh4xM23kN0OiXSoLqBAUtfxRRX9i3crjnhj0Z3PIJZRWX4BwPO4xGbUg/2U=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Roger Pau
 Monne <roger.pau@citrix.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 2/2] NUMA: replace phys_to_nid()
Thread-Topic: [PATCH 2/2] NUMA: replace phys_to_nid()
Thread-Index: AQHZDudxkldNMZdm+EWY9M6n0vcTdK5wawGAgAAC8ACAAClZgA==
Date: Fri, 16 Dec 2022 14:27:39 +0000
Message-ID: <7516b054-08e2-edac-eb6d-bf98d115077c@citrix.com>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
 <670b7017-4a6e-fa9e-9d65-65013bd4ad80@suse.com>
 <3a776bac-08d1-7772-b069-8a11583a4720@citrix.com>
 <3efbf38f-4b78-7c3b-bd91-a17ff6028841@suse.com>
In-Reply-To: <3efbf38f-4b78-7c3b-bd91-a17ff6028841@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|DM4PR03MB6997:EE_
x-ms-office365-filtering-correlation-id: f84a90d2-9999-4de6-7341-08dadf71afa3
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 StUr4uDu9sEkAQ7zDwmScWEuNCuyYSgSla5EQ2e1iMCnpF5RWG2BcwtZ0EJ/pcy4/HvtzQPCyGHQ8xh8S2av3n3tAMrQdLiwE5XCglcEl02Vl7woO0hGKMMr693GYVrDmMvzSqQdIvP+3D4RF3P1zmfIwA2PxzF1y5hNG7sUZEJ1PL8QQlTQgOIT9d9kMANu0WVtgrIFsiWx0AIA0m9YSoD+o8fLjgPJqYicheY+Z8KYM7UF4jNAQ18wFzBgNj88JgZ7Jg1jjUY8/0KMa+Fa/QY2WDSJ79BG2/W/C5nFwonCpEqyEh9AnQasFEUIi/HZTGdCUl7HjUmB6srSKyVn8ziqx0kSMZ41sqtSafA3RtV1eqxNElp0tHxEcqkDrr+NHlSRuironuzN0ntiQUy5iNkmit464qL6W3iOYAOICgCHlpt81Ogj6mMUSOCfcVCWgtxPpK4/AXhvhDK1mR6iPak0dVgxDi257DgE368bovjT+gvJj6e+twmvC54c15lxI37/BESUeFIWArk6zL9omsMBPaeA7wmLZPcBeOYLCbuuyzUbJ0nrGfXEKjWUjYTMjTrP44HUSFVcUThocOh1LHq3j1uRfCsEduPs/i5Cfk8//V5Qepe3UyQ/cDoqaG1zwX68tm3IroEcvNbu2Zfss+ZV6XMH5jD8Ttie2T69oCn3fLf6yiRg2nlqeOOgWKMu+Xb0c7wLNhy9QAetL/2F8+wv976Ir/fmfDzz6nSMCg/tHrjqhJ/3VlyE+7F3bEIvs7CXBkzIpvm9vTbwPioUuA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(376002)(366004)(396003)(346002)(451199015)(2616005)(76116006)(91956017)(478600001)(66556008)(66446008)(66946007)(122000001)(64756008)(38100700002)(82960400001)(66476007)(2906002)(316002)(36756003)(38070700005)(41300700001)(71200400001)(6506007)(4326008)(86362001)(31696002)(31686004)(6486002)(8676002)(186003)(8936002)(83380400001)(5660300002)(26005)(6916009)(54906003)(53546011)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bHU0WjkxMHlmVkFsN1FNQUxrRitNaG1MdU1qSVZ2bmhodWFiUDh0SWpSUzZY?=
 =?utf-8?B?eExRSGxjcDdlV0hKOWR6RGxpYXJvT2p5ZDhtbUFpLzkrNGcxeTdpVERjUmxT?=
 =?utf-8?B?WDVvSE04WFdRYm9OWmUzbS84Q2t0cHFwK3ZhNGdON091VEpSM09VN2xMR0hZ?=
 =?utf-8?B?YUJYblVvRXNLV1FxUzdIR2RRMFEra1V5cElLR1M3TUxCTUhRYytSV2EzUG9M?=
 =?utf-8?B?QnYwN2gvZHhLSEloQVZOb250SEducXkzV1UyUURFTnNDL3ZRVEJ3aVVkSHdY?=
 =?utf-8?B?cGNwTXQvckhVTmFrcm5JYXVNejJEVGZyS0tmTDIvRTJ5cXZ2cmFFWU1tK0Fo?=
 =?utf-8?B?dmN1M3U1VDlSRVdHT3BjM2swdy9ja2ZOZWxjemlaTGVPeEJsOFg3NE11WDlm?=
 =?utf-8?B?Yi9hMitOa3l2d3RGeVY5YU1WRERLZDNaNlMyeVgxSExuY09mRElEUzl6eFgx?=
 =?utf-8?B?QzVDSm5CZEdMeWdTRDIrWXB3TXFhSU00ZFJ6a2wybEdUQkxDa1crbDl1V214?=
 =?utf-8?B?T0dvVTFjS1JHQ3ZReWorVisvVnZZRnIxMG9hZjQyYjYvaGJQeFhvZmc2amcr?=
 =?utf-8?B?eVZrTUh5NURZSWFkbWZHMjIyRmt3WkNrUWFBM2tJUzhxQnNZaTU3bkVZbXNT?=
 =?utf-8?B?NmhjZWxjR1NobUJBQ1c2d0FxQ3kycjNSSGRXS0p6UEk1VnVRT1VFVWFWZ05y?=
 =?utf-8?B?WVVhQW4wRi9teEpaL21mRy9XS21ncTRUMzNENHE4SnkxZzJYWHF4M0g5Y1JT?=
 =?utf-8?B?c0FvL0NtaHkvTnJTS1dHRjlMQXJ5YTdpd2hkV1RIWjhoTWFDZG5kTXE2Y21I?=
 =?utf-8?B?N1VVWXpXNjRtbExJWUR3bm8yMlFrc2tTT2oydThTb2I0WHZpdFVPODlSeW5v?=
 =?utf-8?B?Rnloc1VmSmlLT1FLSkhoOVllM0VJK3V1N2xxVXhrVng1clQvSTJVcDdlVitF?=
 =?utf-8?B?QUdRT2NyZVNKUUtubjF5TmxLcTJ3VDVoekN4WTRJcDI5NDlNbVJVVHQwYnZM?=
 =?utf-8?B?UFRxaW5hcUhPbnV3d3YwL0daNWtIVkN6WGFlSmRuRTZNSTBBMm9jMDVVY2tT?=
 =?utf-8?B?QmhlREg5R0FtNmt5aldTQ2Vna2llSXM4aHFoWm9TYlFNaGJVZ2g3UTVoTFkz?=
 =?utf-8?B?ZHhUUkFTOTNVWS83NFpZTXcxeHY0QUhCcC9ZbmkwQVNEL3lpNnorWFNCalA0?=
 =?utf-8?B?OVVHQW1nZTRFUEJsRWpPV1dYN2tXMEVLcWVLNWRVcGl1RXlaZlZoUXQ1OUdx?=
 =?utf-8?B?bENsSHFXWWVrb0JCNEhjbkl2eG9GckFGNHh6SThOZ0NySnJhTTNrUnZONzZw?=
 =?utf-8?B?dURySkUwdm1QdUl2NUd3Um5OWm9JaEw2LzB6VnpkUlMyMDFoREZkQUd5dDdU?=
 =?utf-8?B?ejV0OEd0Nkd0dGdCNzNGQ05HQi9PSDFXM1I4cFBFK1BCYzZyNng3ZkFuWXVi?=
 =?utf-8?B?c2hWZGpLS3J6V1pITDViNlRQYkpVeUp1d1R4SGJMcmp1TnNKbnE2d2sxNTdx?=
 =?utf-8?B?bWpxc0t0dzEzendneko5ZGJtNjE4WU5FTVFxTmlYZ0ZnV0pwODVwT2RVS1du?=
 =?utf-8?B?Wmk0NGVPL2VpZFRPaGg3bDV6MnB0eVFpZ1gxWktTNHdjNG5mV2J6NHZGYmx4?=
 =?utf-8?B?KzN3ekR1cVRQdlJxbFpYUU1uckluZnRtZGpIZ0wzek4rM1hhekRFU0tka0ts?=
 =?utf-8?B?WkpJK1o2RUVTVVl5dVJVanJPbHBJU3NqOVlqbWxENGQ3QTJEaUVNNlhMQ1hP?=
 =?utf-8?B?eXprdDFrT1lMQWVtSWFPZFVreGJ3eHFCV3A1VEFwSCtrUmVNSEMzVkV5STcr?=
 =?utf-8?B?eEsrempnZXd6N1NZb1dLRGZ6RTc0M2daYWpyeTY0NlgxVG15MlBSRGE2RnVD?=
 =?utf-8?B?MXJNWi9LWEVsdjBKdDJoS3VVa2plRWlHYUJRaDFNOHZLZE5nSmxLcE9peUVm?=
 =?utf-8?B?elJxcUs0U3NTazBWLzB5bjBqRHZ3anpWZ0t0NTNrbXd3OGtiODI2NWRYOW0r?=
 =?utf-8?B?ZEZNcGdsQktvcFN3clNrdkxkSlYzZmlFdUdVQ2oxRFVST1c5NWZxK3daQXAz?=
 =?utf-8?B?SVpQVElTNisrajFWV3RtcWpkNnp0V3hHUlpLY0hKbk9UK1FrZks2eUdOT2tP?=
 =?utf-8?B?NFA3TjE3LzhBTEVCdFJUMitFR20xekljRzFNWVp0dVpRR2ZlVGd4b1FpYm4z?=
 =?utf-8?B?bnc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <273350ED9450B64182345BEC51A15698@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f84a90d2-9999-4de6-7341-08dadf71afa3
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Dec 2022 14:27:39.6900
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: yYsdO9RNRmjUzDKEiE8IpgF/IuVJZP8j1qMnJZ7U7+nYleWR2lf7F+nJOKSY6fEyLI9Wie0wKnv+6GsPWHqE1q7AFxsRyjXqAp0KIl2SVsI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6997

T24gMTYvMTIvMjAyMiAxMTo1OSBhbSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDE2LjEyLjIw
MjIgMTI6NDksIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBPbiAxMy8xMi8yMDIyIDExOjM4IGFt
LCBKYW4gQmV1bGljaCB3cm90ZToNCj4+PiBBbGwgY2FsbGVycyBjb252ZXJ0IGZyYW1lIG51bWJl
cnMgKHBlcmhhcHMgaW4gdHVybiBkZXJpdmVkIGZyb20gc3RydWN0DQo+Pj4gcGFnZV9pbmZvIHBv
aW50ZXJzKSB0byBhbiBhZGRyZXNzLCBqdXN0IGZvciB0aGUgZnVuY3Rpb24gdG8gY29udmVydCBp
dA0KPj4+IGJhY2sgdG8gYSBmcmFtZSBudW1iZXIgKGFzIHRoZSBmaXJzdCBzdGVwIG9mIHBhZGRy
X3RvX3BkeCgpKS4gUmVwbGFjZQ0KPj4+IHRoZSBmdW5jdGlvbiBieSBtZm5fdG9fbmlkKCkgcGx1
cyBhIHBhZ2VfdG9fbmlkKCkgd3JhcHBlciBtYWNyby4gUmVwbGFjZQ0KPj4+IGNhbGwgc2l0ZXMg
YnkgdGhlIHJlc3BlY3RpdmVseSBtb3N0IHN1aXRhYmxlIG9uZS4NCj4+Pg0KPj4+IFdoaWxlIHRo
ZXJlIGFsc28gaW50cm9kdWNlIGEgIU5VTUEgc3R1YiwgZWxpbWluYXRpbmcgdGhlIG5lZWQgZm9y
IEFybQ0KPj4+IChhbmQgcG90ZW50aWFsbHkgb3RoZXIgcG9ydHMpIHRvIGNhcnJ5IG9uZSBpbmRp
dmlkdWFsbHkuDQo+PiBUaGFua3MuwqAgVGhpcyB3aWxsIGhlbHAgUklTQy1WIHRvby4NCj4+DQo+
Pj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KPj4gQWNr
ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+LA0KPiBUaGFu
a3MuIFlvdSByZWFsaXplIHRob3VnaCB0aGF0IHRoZSBwYXRjaCBtYXkgY2hhbmdlIGRlcGVuZGlu
ZyBvbiB0aGUNCj4gdmVyZGljdCBvbiBwYXRjaCAxIChhbmQsIGlmIHRoYXQgb25lJ3MgdG8gY2hh
bmdlLCB0aGUgdHdvIGxpa2VseQ0KPiBmbGlwcGVkIHdpdGggdGhlIGFjdHVhbCBmaXggbW92aW5n
IGhlcmUgaW4gdGhlIGZvcm0gb2YgbW9yZSByZWxheGVkDQo+IGFzc2VydGlvbnMsIG9uZSB3YXkg
b3IgYW5vdGhlcik/DQoNClllYWgsIHRoZSB0d2VhayBzb3VuZGVkIGVudGlyZWx5IHJlYXNvbmFi
bGUuDQoNCj4NCj4+IGFsYmVpdCB3aXRoIG9uZSBkZWxldGlvbi4NCj4+DQo+Pj4gLS0tIGEveGVu
L2luY2x1ZGUveGVuL251bWEuaA0KPj4+ICsrKyBiL3hlbi9pbmNsdWRlL3hlbi9udW1hLmgNCj4+
PiBAQCAtMSw2ICsxLDcgQEANCj4+PiAgI2lmbmRlZiBfWEVOX05VTUFfSA0KPj4+ICAjZGVmaW5l
IF9YRU5fTlVNQV9IDQo+Pj4gIA0KPj4+ICsjaW5jbHVkZSA8eGVuL21tLWZyYW1lLmg+DQo+Pj4g
ICNpbmNsdWRlIDxhc20vbnVtYS5oPg0KPj4+ICANCj4+PiAgI2RlZmluZSBOVU1BX05PX05PREUg
ICAgIDB4RkYNCj4+PiBAQCAtNjgsMTIgKzY5LDE1IEBAIHN0cnVjdCBub2RlX2RhdGEgew0KPj4+
ICANCj4+PiAgZXh0ZXJuIHN0cnVjdCBub2RlX2RhdGEgbm9kZV9kYXRhW107DQo+Pj4gIA0KPj4+
IC1zdGF0aWMgaW5saW5lIG5vZGVpZF90IF9fYXR0cmlidXRlX3B1cmVfXyBwaHlzX3RvX25pZChw
YWRkcl90IGFkZHIpDQo+Pj4gK3N0YXRpYyBpbmxpbmUgbm9kZWlkX3QgX19hdHRyaWJ1dGVfcHVy
ZV9fIG1mbl90b19uaWQobWZuX3QgbWZuKQ0KPj4+ICB7DQo+Pj4gICAgICBub2RlaWRfdCBuaWQ7
DQo+Pj4gLSAgICBBU1NFUlQoKHBhZGRyX3RvX3BkeChhZGRyKSA+PiBtZW1ub2RlX3NoaWZ0KSA8
IG1lbW5vZGVtYXBzaXplKTsNCj4+PiAtICAgIG5pZCA9IG1lbW5vZGVtYXBbcGFkZHJfdG9fcGR4
KGFkZHIpID4+IG1lbW5vZGVfc2hpZnRdOw0KPj4+ICsgICAgdW5zaWduZWQgbG9uZyBwZHggPSBt
Zm5fdG9fcGR4KG1mbik7DQo+Pj4gKw0KPj4+ICsgICAgQVNTRVJUKChwZHggPj4gbWVtbm9kZV9z
aGlmdCkgPCBtZW1ub2RlbWFwc2l6ZSk7DQo+Pj4gKyAgICBuaWQgPSBtZW1ub2RlbWFwW3BkeCA+
PiBtZW1ub2RlX3NoaWZ0XTsNCj4+PiAgICAgIEFTU0VSVChuaWQgPCBNQVhfTlVNTk9ERVMgJiYg
bm9kZV9kYXRhW25pZF0ubm9kZV9zcGFubmVkX3BhZ2VzKTsNCj4+PiArDQo+Pj4gICAgICByZXR1
cm4gbmlkOw0KPj4+ICB9DQo+Pj4gIA0KPj4+IEBAIC0xMDIsNiArMTA2LDE1IEBAIGV4dGVybiBi
b29sIG51bWFfdXBkYXRlX25vZGVfbWVtYmxrcyhub2QNCj4+PiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHBhZGRyX3Qgc3RhcnQsIHBhZGRyX3Qgc2l6ZSwgYm9vbCBob3Rw
bHVnKTsNCj4+PiAgZXh0ZXJuIHZvaWQgbnVtYV9zZXRfcHJvY2Vzc29yX25vZGVzX3BhcnNlZChu
b2RlaWRfdCBub2RlKTsNCj4+PiAgDQo+Pj4gKyNlbHNlDQo+Pj4gKw0KPj4+ICtzdGF0aWMgaW5s
aW5lIG5vZGVpZF90IF9fYXR0cmlidXRlX3B1cmVfXyBtZm5fdG9fbmlkKG1mbl90IG1mbikNCj4+
PiArew0KPj4+ICsgICAgcmV0dXJuIDA7DQo+Pj4gK30NCj4+IHB1cmUgaXMgdXNlbGVzcyBvbiBh
IHN0dWIgbGlrZSB0aGlzLCB3aGVyZWFzIGl0cyBmYWxzZSBvbiB0aGUgbm9uLXN0dWINCj4+IGZv
cm0gKHVzZXMgc2V2ZXJhbCBub24tY29uc3QgdmFyaWFibGVzKSBpbiBhIHdheSB0aGF0IHRoZSBj
b21waWxlciBjYW4NCj4+IHByb3ZlIChiZWNhdXNlIGl0J3Mgc3RhdGljIGlubGluZSksIGFuZCB3
aWxsIGRpc2NhcmQuDQo+Pg0KPj4gQXMgeW91J3JlIG1vZGlmeWluZyBib3RoIGxpbmVzIGFueXdh
eSwganVzdCBkcm9wIHRoZSBhdHRyaWJ1dGUuDQo+IEhtbSwgeWVzLCBJIGFncmVlIGZvciB0aGUg
c3R1Yiwgc28gSSd2ZSBkcm9wcGVkIGl0IHRoZXJlLiAiU2V2ZXJhbCBub24tDQo+IGNvbnN0IHZh
cmlhYmxlcyIsIGhvd2V2ZXIsIGlzIG9ubHkgcGFydGx5IHRydWUuIFRoZXNlIGFyZSBfX3JvX2Fm
dGVyX2luaXQNCj4gYW5kIG5vdCB3cml0dGVuIGFueW1vcmUgb25jZSBzZXQuDQoNClRoZXkncmUg
c3RpbGwgcmVhZC13cml0ZSBhcyBmYXIgYXMgQyBpcyBjb25jZXJuZWQsIGFuZCBzb21lIG9mIHRo
ZXNlDQp1c2VzIGFyZSBiZWZvcmUgbW9kaWZpY2F0aW9ucyBmaW5pc2guDQoNCj4gIEFyZSB5b3Ug
c3VyZSB0aGUgY29tcGlsZXIgd2lsbCBpZ25vcmUNCj4gYSAicHVyZSIgYXR0cmlidXRlIGlmIGl0
IGZpbmRzIGl0IChmb3JtYWxseSkgdmlvbGF0ZWQ/DQoNClllcywgdmVyeSBzdXJlLsKgIEl0IGdv
dCBkaXNjdXNzZWQgYXQgbGVuZ3RoIG9uIG9uZSBvZiB0aGUgc3BlY3VsYXRpb24gbGlzdHMuDQoN
CldoZW4gdGhlIGNvbXBpbGVyIGNhbiBwcm92ZSB0aGF0IHRoZSBwcm9ncmFtbWVyIGRvZXNuJ3Qg
a25vdyB0aGUgcnVsZXMNCmNvbmNlcm5pbmcgcHVyZS9jb25zdCwgdGhlIGF0dHJpYnV0ZXMgd2ls
bCBiZSBkaXNjYXJkZWQuDQoNClRvIGFidXNlIHRoZSBydWxlcywgeW91IHJlYWxseSBkbyBuZWVk
IHRoZSBvcGVyYXRpb24gaGlkZGVuIGluIGEgcGxhY2UNCnRoYXQgR0NDIGNhbid0IHNlZSwgc28g
ZWl0aGVyIGEgc2VwYXJhdGUgdHJhbnNsYXRpb24gdW5pdCwgb3IgaW4gaW5saW5lDQphc3NlbWJs
eS4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 14:58:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 14:58:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464762.723264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CAN-0002wN-Vp; Fri, 16 Dec 2022 14:58:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464762.723264; Fri, 16 Dec 2022 14:58:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CAN-0002wE-Sw; Fri, 16 Dec 2022 14:58:27 +0000
Received: by outflank-mailman (input) for mailman id 464762;
 Fri, 16 Dec 2022 14:58:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=IXf/=4O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p6CAM-0002gY-JX
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 14:58:26 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 17b173ec-7d52-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 15:58:25 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8E26834319;
 Fri, 16 Dec 2022 14:58:25 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 5EBA6138FD;
 Fri, 16 Dec 2022 14:58:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Woe6FZGHnGO1eAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 16 Dec 2022 14:58:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17b173ec-7d52-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671202705; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=p34lXTXH9ojVsTIXuK1Z0GIkt5wxYDiGjhLtCnvUauk=;
	b=AngV43GSjP+EgZTw+CQomnAcO316/D35yfh/mfBKQ5hF4BdyCtiwaz7XtMvsvlXtA/c1xA
	5yE4jmHwbvtFR3rtls0oq7hPzQmFM+JuYtDOQPNab6b39P/kVA26097d3KntzSou1AUQ24
	LYMy0SHyMyqHH5dVQpG/hN1PdAc4s+c=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jens Axboe <axboe@kernel.dk>,
	xen-devel@lists.xenproject.org
Subject: [PATCH 1/4] xen/blkback: fix white space code style issues
Date: Fri, 16 Dec 2022 15:58:13 +0100
Message-Id: <20221216145816.27374-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221216145816.27374-1-jgross@suse.com>
References: <20221216145816.27374-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/block/xen-blkback/blkback.c | 2 +-
 drivers/block/xen-blkback/common.h  | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index a5cf7f1e871c..6e2163aaf362 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -891,7 +891,7 @@ static int xen_blkbk_map(struct xen_blkif_ring *ring,
 out:
 	for (i = last_map; i < num; i++) {
 		/* Don't zap current batch's valid persistent grants. */
-		if(i >= map_until)
+		if (i >= map_until)
 			pages[i]->persistent_gnt = NULL;
 		pages[i]->handle = BLKBACK_INVALID_HANDLE;
 	}
diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index a28473470e66..9a13a6b420a6 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -296,7 +296,7 @@ struct xen_blkif_ring {
 	struct work_struct	free_work;
 	/* Thread shutdown wait queue. */
 	wait_queue_head_t	shutdown_wq;
-	struct xen_blkif 	*blkif;
+	struct xen_blkif	*blkif;
 };
 
 struct xen_blkif {
@@ -315,7 +315,7 @@ struct xen_blkif {
 	atomic_t		drain;
 
 	struct work_struct	free_work;
-	unsigned int 		nr_ring_pages;
+	unsigned int		nr_ring_pages;
 	bool			multi_ref;
 	/* All rings for this device. */
 	struct xen_blkif_ring	*rings;
@@ -329,7 +329,7 @@ struct seg_buf {
 };
 
 struct grant_page {
-	struct page 		*page;
+	struct page		*page;
 	struct persistent_gnt	*persistent_gnt;
 	grant_handle_t		handle;
 	grant_ref_t		gref;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 14:58:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 14:58:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464763.723275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CAT-0003EJ-7f; Fri, 16 Dec 2022 14:58:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464763.723275; Fri, 16 Dec 2022 14:58:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CAT-0003E9-4D; Fri, 16 Dec 2022 14:58:33 +0000
Received: by outflank-mailman (input) for mailman id 464763;
 Fri, 16 Dec 2022 14:58:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=IXf/=4O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p6CAS-0002gY-1D
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 14:58:32 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1b0bd78a-7d52-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 15:58:31 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3370A3431A;
 Fri, 16 Dec 2022 14:58:31 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id EB6A1138FD;
 Fri, 16 Dec 2022 14:58:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id D5wpOJaHnGPAeAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 16 Dec 2022 14:58:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b0bd78a-7d52-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671202711; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=DdtkNadGDanVmd8kJX65xjdddaLea0RGEwD4P1a+J98=;
	b=lODXEK7ebePxLiw4PLu3KgzPfwzpEJ8IAv4i/mfs4SKHCuKJrxjbYg1qOAihkqBC6oD+9U
	nhSOPxk8HT/dVvpZHdqnBP9Yo3K27sS+sbEM7f/LIiYFCQXYHMP0OtPzTqT1jic8TKGPY9
	KjNkKTIBe7WLq0e05vK4e9zGRsdkFbs=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jens Axboe <axboe@kernel.dk>,
	xen-devel@lists.xenproject.org
Subject: [PATCH 2/4] xen/blkback: remove stale prototype
Date: Fri, 16 Dec 2022 15:58:14 +0100
Message-Id: <20221216145816.27374-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221216145816.27374-1-jgross@suse.com>
References: <20221216145816.27374-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There is no function xen_blkif_purge_persistent(), so remove its
prototype from common.h.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/block/xen-blkback/common.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index 9a13a6b420a6..fab8a8dee0da 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -384,7 +384,6 @@ void xen_blkif_xenbus_fini(void);
 
 irqreturn_t xen_blkif_be_int(int irq, void *dev_id);
 int xen_blkif_schedule(void *arg);
-int xen_blkif_purge_persistent(void *arg);
 void xen_blkbk_free_caches(struct xen_blkif_ring *ring);
 
 int xen_blkbk_flush_diskcache(struct xenbus_transaction xbt,
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 14:58:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 14:58:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464761.723252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CAJ-0002go-Ob; Fri, 16 Dec 2022 14:58:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464761.723252; Fri, 16 Dec 2022 14:58:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CAJ-0002gh-Lo; Fri, 16 Dec 2022 14:58:23 +0000
Received: by outflank-mailman (input) for mailman id 464761;
 Fri, 16 Dec 2022 14:58:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=IXf/=4O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p6CAI-0002gY-GB
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 14:58:22 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 148af6f8-7d52-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 15:58:21 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id EB59920626;
 Fri, 16 Dec 2022 14:58:19 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id ACA72138FD;
 Fri, 16 Dec 2022 14:58:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mnOrKIuHnGOkeAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 16 Dec 2022 14:58:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 148af6f8-7d52-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671202699; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:  content-transfer-encoding:content-transfer-encoding;
	bh=R1wW+YnArC6IHU7qwTCVnEU29JD+W5z4FpnswptM4hY=;
	b=RPWPVOBsskz04N7Bs80MzKbVK0TW+qYkqcq6zmrJVIdNMS00iR9E+umskIYVfJqSUpv6dU
	wc5ZrjMr711EUmfDiF8BVthyWgjAL+Lpn+wIQYt1aHQAUdrQRrjX5A7Vx0Wkes0Spfr1yV
	eS7zR6RrBgnO0ts3KKylu/zSwXbFDBo=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jens Axboe <axboe@kernel.dk>,
	xen-devel@lists.xenproject.org
Subject: [PATCH 0/4] xen/blkback: some cleanups
Date: Fri, 16 Dec 2022 15:58:12 +0100
Message-Id: <20221216145816.27374-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some small cleanup patches I had lying around for some time now.

Juergen Gross (4):
  xen/blkback: fix white space code style issues
  xen/blkback: remove stale prototype
  xen/blkback: simplify free_persistent_gnts() interface
  xen/blkback: move blkif_get_x86_*_req() into blkback.c

 drivers/block/xen-blkback/blkback.c | 126 +++++++++++++++++++++++++---
 drivers/block/xen-blkback/common.h  | 103 +----------------------
 2 files changed, 118 insertions(+), 111 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 14:58:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 14:58:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464764.723285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CAZ-0003ZL-Em; Fri, 16 Dec 2022 14:58:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464764.723285; Fri, 16 Dec 2022 14:58:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CAZ-0003ZC-Bq; Fri, 16 Dec 2022 14:58:39 +0000
Received: by outflank-mailman (input) for mailman id 464764;
 Fri, 16 Dec 2022 14:58:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=IXf/=4O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p6CAY-0003Y8-HI
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 14:58:38 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e75bb65-7d52-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 15:58:37 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C4D0734319;
 Fri, 16 Dec 2022 14:58:36 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 93C0B138FD;
 Fri, 16 Dec 2022 14:58:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ccTCIpyHnGPPeAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 16 Dec 2022 14:58:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e75bb65-7d52-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671202716; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=x36AuY9fdrueTpOox7l4aH9J7+eTrfGAHM9OlY2CQHU=;
	b=SpGCTUY9+p3OSfiSSP0kSXj9iihsB9mtnEn6ajE8dHqS/FXFp5u52Ir2MnnMN0A0cCXhCR
	/nXL0RpYDQ5qQuU2FRxvLaqebBWdRkl6u08yKZs+ggqLcW7K2N/SgFEgEOusM82T6Xk9rN
	7dJmWlPYvDa0JU/uSa6/ZfB3W7Wi8OE=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jens Axboe <axboe@kernel.dk>,
	xen-devel@lists.xenproject.org
Subject: [PATCH 3/4] xen/blkback: simplify free_persistent_gnts() interface
Date: Fri, 16 Dec 2022 15:58:15 +0100
Message-Id: <20221216145816.27374-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221216145816.27374-1-jgross@suse.com>
References: <20221216145816.27374-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The interface of free_persistent_gnts() can be simplified, as there is
only a single caller of free_persistent_gnts() and the 2nd and 3rd
parameters are easily obtainable via the ring pointer, which is passed
as the first parameter anyway.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/block/xen-blkback/blkback.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index 6e2163aaf362..243712b59a05 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -239,9 +239,9 @@ static void put_persistent_gnt(struct xen_blkif_ring *ring,
 	atomic_dec(&ring->persistent_gnt_in_use);
 }
 
-static void free_persistent_gnts(struct xen_blkif_ring *ring, struct rb_root *root,
-                                 unsigned int num)
+static void free_persistent_gnts(struct xen_blkif_ring *ring)
 {
+	struct rb_root *root = &ring->persistent_gnts;
 	struct gnttab_unmap_grant_ref unmap[BLKIF_MAX_SEGMENTS_PER_REQUEST];
 	struct page *pages[BLKIF_MAX_SEGMENTS_PER_REQUEST];
 	struct persistent_gnt *persistent_gnt;
@@ -249,6 +249,9 @@ static void free_persistent_gnts(struct xen_blkif_ring *ring, struct rb_root *ro
 	int segs_to_unmap = 0;
 	struct gntab_unmap_queue_data unmap_data;
 
+	if (RB_EMPTY_ROOT(root))
+		return;
+
 	unmap_data.pages = pages;
 	unmap_data.unmap_ops = unmap;
 	unmap_data.kunmap_ops = NULL;
@@ -277,9 +280,11 @@ static void free_persistent_gnts(struct xen_blkif_ring *ring, struct rb_root *ro
 
 		rb_erase(&persistent_gnt->node, root);
 		kfree(persistent_gnt);
-		num--;
+		ring->persistent_gnt_c--;
 	}
-	BUG_ON(num != 0);
+
+	BUG_ON(!RB_EMPTY_ROOT(&ring->persistent_gnts));
+	BUG_ON(ring->persistent_gnt_c != 0);
 }
 
 void xen_blkbk_unmap_purged_grants(struct work_struct *work)
@@ -631,12 +636,7 @@ int xen_blkif_schedule(void *arg)
 void xen_blkbk_free_caches(struct xen_blkif_ring *ring)
 {
 	/* Free all persistent grant pages */
-	if (!RB_EMPTY_ROOT(&ring->persistent_gnts))
-		free_persistent_gnts(ring, &ring->persistent_gnts,
-			ring->persistent_gnt_c);
-
-	BUG_ON(!RB_EMPTY_ROOT(&ring->persistent_gnts));
-	ring->persistent_gnt_c = 0;
+	free_persistent_gnts(ring);
 
 	/* Since we are shutting down remove all pages from the buffer */
 	gnttab_page_cache_shrink(&ring->free_pages, 0 /* All */);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 14:58:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 14:58:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464766.723297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CAe-000410-S7; Fri, 16 Dec 2022 14:58:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464766.723297; Fri, 16 Dec 2022 14:58:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CAe-00040n-Ov; Fri, 16 Dec 2022 14:58:44 +0000
Received: by outflank-mailman (input) for mailman id 464766;
 Fri, 16 Dec 2022 14:58:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=IXf/=4O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1p6CAd-0002gY-Pq
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 14:58:43 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 21bb8993-7d52-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 15:58:42 +0100 (CET)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 676BF5D097;
 Fri, 16 Dec 2022 14:58:42 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3A5E8138FD;
 Fri, 16 Dec 2022 14:58:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 3TMRDaKHnGPZeAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 16 Dec 2022 14:58:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21bb8993-7d52-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1671202722; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=S1aJf8gXHaJ+X80/r6maMNPs5igiWeM8Bd/SEgyLpuA=;
	b=X4OcY5RzrJYhO+F6Pv8Xntji3GFS9qqfvMdZDVzhk5OGM5gkqQdbyKjUs+gLMU5wdBr20y
	Sxg/cuBju/PlS9J4M2tR4pMwjUW2YTrGYAsyVU/TDbstIrOSLYQOe+h8ztyBlsDXwnNNvy
	0bGgYExlshlxwyNzTjGhy/V6tbfp68I=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jens Axboe <axboe@kernel.dk>,
	xen-devel@lists.xenproject.org
Subject: [PATCH 4/4] xen/blkback: move blkif_get_x86_*_req() into blkback.c
Date: Fri, 16 Dec 2022 15:58:16 +0100
Message-Id: <20221216145816.27374-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20221216145816.27374-1-jgross@suse.com>
References: <20221216145816.27374-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There is no need to have the functions blkif_get_x86_32_req() and
blkif_get_x86_64_req() in a header file, as they are used in one place
only.

So move them into the using source file and drop the inline qualifier.

While at it fix some style issues, and simplify the code by variable
reusing and using min() instead of open coding it.

Instead of using barrier() use READ_ONCE() for avoiding multiple reads
of nr_segments.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/block/xen-blkback/blkback.c | 104 ++++++++++++++++++++++++++++
 drivers/block/xen-blkback/common.h  |  96 -------------------------
 2 files changed, 104 insertions(+), 96 deletions(-)

diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index 243712b59a05..7561fdb72c13 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -1072,7 +1072,111 @@ static void end_block_io_op(struct bio *bio)
 	bio_put(bio);
 }
 
+static void blkif_get_x86_32_req(struct blkif_request *dst,
+				 struct blkif_x86_32_request *src)
+{
+	int i, n;
+
+	dst->operation = READ_ONCE(src->operation);
+
+	switch (dst->operation) {
+	case BLKIF_OP_READ:
+	case BLKIF_OP_WRITE:
+	case BLKIF_OP_WRITE_BARRIER:
+	case BLKIF_OP_FLUSH_DISKCACHE:
+		dst->u.rw.nr_segments = READ_ONCE(src->u.rw.nr_segments);
+		dst->u.rw.handle = src->u.rw.handle;
+		dst->u.rw.id = src->u.rw.id;
+		dst->u.rw.sector_number = src->u.rw.sector_number;
+		n = min_t(int, BLKIF_MAX_SEGMENTS_PER_REQUEST,
+			  dst->u.rw.nr_segments);
+		for (i = 0; i < n; i++)
+			dst->u.rw.seg[i] = src->u.rw.seg[i];
+		break;
+
+	case BLKIF_OP_DISCARD:
+		dst->u.discard.flag = src->u.discard.flag;
+		dst->u.discard.id = src->u.discard.id;
+		dst->u.discard.sector_number = src->u.discard.sector_number;
+		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
+		break;
+
+	case BLKIF_OP_INDIRECT:
+		dst->u.indirect.indirect_op = src->u.indirect.indirect_op;
+		dst->u.indirect.nr_segments =
+			READ_ONCE(src->u.indirect.nr_segments);
+		dst->u.indirect.handle = src->u.indirect.handle;
+		dst->u.indirect.id = src->u.indirect.id;
+		dst->u.indirect.sector_number = src->u.indirect.sector_number;
+		n = min(MAX_INDIRECT_PAGES,
+			INDIRECT_PAGES(dst->u.indirect.nr_segments));
+		for (i = 0; i < n; i++)
+			dst->u.indirect.indirect_grefs[i] =
+				src->u.indirect.indirect_grefs[i];
+		break;
+
+	default:
+		/*
+		 * Don't know how to translate this op. Only get the
+		 * ID so failure can be reported to the frontend.
+		 */
+		dst->u.other.id = src->u.other.id;
+		break;
+	}
+}
 
+static void blkif_get_x86_64_req(struct blkif_request *dst,
+				 struct blkif_x86_64_request *src)
+{
+	int i, n;
+
+	dst->operation = READ_ONCE(src->operation);
+
+	switch (dst->operation) {
+	case BLKIF_OP_READ:
+	case BLKIF_OP_WRITE:
+	case BLKIF_OP_WRITE_BARRIER:
+	case BLKIF_OP_FLUSH_DISKCACHE:
+		dst->u.rw.nr_segments = READ_ONCE(src->u.rw.nr_segments);
+		dst->u.rw.handle = src->u.rw.handle;
+		dst->u.rw.id = src->u.rw.id;
+		dst->u.rw.sector_number = src->u.rw.sector_number;
+		n = min_t(int, BLKIF_MAX_SEGMENTS_PER_REQUEST,
+			  dst->u.rw.nr_segments);
+		for (i = 0; i < n; i++)
+			dst->u.rw.seg[i] = src->u.rw.seg[i];
+		break;
+
+	case BLKIF_OP_DISCARD:
+		dst->u.discard.flag = src->u.discard.flag;
+		dst->u.discard.id = src->u.discard.id;
+		dst->u.discard.sector_number = src->u.discard.sector_number;
+		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
+		break;
+
+	case BLKIF_OP_INDIRECT:
+		dst->u.indirect.indirect_op = src->u.indirect.indirect_op;
+		dst->u.indirect.nr_segments =
+			READ_ONCE(src->u.indirect.nr_segments);
+		dst->u.indirect.handle = src->u.indirect.handle;
+		dst->u.indirect.id = src->u.indirect.id;
+		dst->u.indirect.sector_number = src->u.indirect.sector_number;
+		n = min(MAX_INDIRECT_PAGES,
+			INDIRECT_PAGES(dst->u.indirect.nr_segments));
+		for (i = 0; i < n; i++)
+			dst->u.indirect.indirect_grefs[i] =
+				src->u.indirect.indirect_grefs[i];
+		break;
+
+	default:
+		/*
+		 * Don't know how to translate this op. Only get the
+		 * ID so failure can be reported to the frontend.
+		 */
+		dst->u.other.id = src->u.other.id;
+		break;
+	}
+}
 
 /*
  * Function to copy the from the ring buffer the 'struct blkif_request'
diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index fab8a8dee0da..40f67bfc052d 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -394,100 +394,4 @@ int xen_blkbk_barrier(struct xenbus_transaction xbt,
 struct xenbus_device *xen_blkbk_xenbus(struct backend_info *be);
 void xen_blkbk_unmap_purged_grants(struct work_struct *work);
 
-static inline void blkif_get_x86_32_req(struct blkif_request *dst,
-					struct blkif_x86_32_request *src)
-{
-	int i, n = BLKIF_MAX_SEGMENTS_PER_REQUEST, j;
-	dst->operation = READ_ONCE(src->operation);
-	switch (dst->operation) {
-	case BLKIF_OP_READ:
-	case BLKIF_OP_WRITE:
-	case BLKIF_OP_WRITE_BARRIER:
-	case BLKIF_OP_FLUSH_DISKCACHE:
-		dst->u.rw.nr_segments = src->u.rw.nr_segments;
-		dst->u.rw.handle = src->u.rw.handle;
-		dst->u.rw.id = src->u.rw.id;
-		dst->u.rw.sector_number = src->u.rw.sector_number;
-		barrier();
-		if (n > dst->u.rw.nr_segments)
-			n = dst->u.rw.nr_segments;
-		for (i = 0; i < n; i++)
-			dst->u.rw.seg[i] = src->u.rw.seg[i];
-		break;
-	case BLKIF_OP_DISCARD:
-		dst->u.discard.flag = src->u.discard.flag;
-		dst->u.discard.id = src->u.discard.id;
-		dst->u.discard.sector_number = src->u.discard.sector_number;
-		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
-		break;
-	case BLKIF_OP_INDIRECT:
-		dst->u.indirect.indirect_op = src->u.indirect.indirect_op;
-		dst->u.indirect.nr_segments = src->u.indirect.nr_segments;
-		dst->u.indirect.handle = src->u.indirect.handle;
-		dst->u.indirect.id = src->u.indirect.id;
-		dst->u.indirect.sector_number = src->u.indirect.sector_number;
-		barrier();
-		j = min(MAX_INDIRECT_PAGES, INDIRECT_PAGES(dst->u.indirect.nr_segments));
-		for (i = 0; i < j; i++)
-			dst->u.indirect.indirect_grefs[i] =
-				src->u.indirect.indirect_grefs[i];
-		break;
-	default:
-		/*
-		 * Don't know how to translate this op. Only get the
-		 * ID so failure can be reported to the frontend.
-		 */
-		dst->u.other.id = src->u.other.id;
-		break;
-	}
-}
-
-static inline void blkif_get_x86_64_req(struct blkif_request *dst,
-					struct blkif_x86_64_request *src)
-{
-	int i, n = BLKIF_MAX_SEGMENTS_PER_REQUEST, j;
-	dst->operation = READ_ONCE(src->operation);
-	switch (dst->operation) {
-	case BLKIF_OP_READ:
-	case BLKIF_OP_WRITE:
-	case BLKIF_OP_WRITE_BARRIER:
-	case BLKIF_OP_FLUSH_DISKCACHE:
-		dst->u.rw.nr_segments = src->u.rw.nr_segments;
-		dst->u.rw.handle = src->u.rw.handle;
-		dst->u.rw.id = src->u.rw.id;
-		dst->u.rw.sector_number = src->u.rw.sector_number;
-		barrier();
-		if (n > dst->u.rw.nr_segments)
-			n = dst->u.rw.nr_segments;
-		for (i = 0; i < n; i++)
-			dst->u.rw.seg[i] = src->u.rw.seg[i];
-		break;
-	case BLKIF_OP_DISCARD:
-		dst->u.discard.flag = src->u.discard.flag;
-		dst->u.discard.id = src->u.discard.id;
-		dst->u.discard.sector_number = src->u.discard.sector_number;
-		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
-		break;
-	case BLKIF_OP_INDIRECT:
-		dst->u.indirect.indirect_op = src->u.indirect.indirect_op;
-		dst->u.indirect.nr_segments = src->u.indirect.nr_segments;
-		dst->u.indirect.handle = src->u.indirect.handle;
-		dst->u.indirect.id = src->u.indirect.id;
-		dst->u.indirect.sector_number = src->u.indirect.sector_number;
-		barrier();
-		j = min(MAX_INDIRECT_PAGES, INDIRECT_PAGES(dst->u.indirect.nr_segments));
-		for (i = 0; i < j; i++)
-			dst->u.indirect.indirect_grefs[i] =
-				src->u.indirect.indirect_grefs[i];
-		break;
-	default:
-		/*
-		 * Don't know how to translate this op. Only get the
-		 * ID so failure can be reported to the frontend.
-		 */
-		dst->u.other.id = src->u.other.id;
-		break;
-	}
-}
-
 #endif /* __XEN_BLKIF__BACKEND__COMMON_H__ */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 15:22:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 15:22:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464803.723308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CXO-000068-OC; Fri, 16 Dec 2022 15:22:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464803.723308; Fri, 16 Dec 2022 15:22:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CXO-000061-Lb; Fri, 16 Dec 2022 15:22:14 +0000
Received: by outflank-mailman (input) for mailman id 464803;
 Fri, 16 Dec 2022 15:22:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bMOE=4O=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p6CXN-00005t-48
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 15:22:13 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6714d512-7d55-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 16:22:11 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 003C75C0093;
 Fri, 16 Dec 2022 10:22:07 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Fri, 16 Dec 2022 10:22:07 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 16 Dec 2022 10:22:05 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6714d512-7d55-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm2; t=1671204126; x=
	1671290526; bh=cg3e1JhPakqPDDWVBJqa7gwSnvn8AwA/Teo8gx46lCs=; b=I
	LsMHa1S2+2MuhY0Qh1sNOeasgTagSpOJbQXUo9o3fNBR8KuJqXvmYIDldBeyqefj
	Ojma9TnBmRmdemN4000FFHn9Sg54p9KWVkJpMV3mQILhoOLURlNjwWQXE0AAgA2H
	zfUFIP2Oj/lf4suWiTZqXIxoRqvOfvxZ4A8x7GEW5O6WHSoI6PT/LEQ4YCR7Ktek
	EX3SL8C/xRejh8PV0xL9m+SFId6CyMZz5ewl0jdvq+FUu5Vo1Tl1D6o9g1054Vrl
	KtPwQgKw+IiFLGu6FFNC3uE3QTsn7iSFiAZR5X9woZp2DApwm90A4JlxvJpkcOrO
	5I3PPDHzNk5e13msU/hjA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671204126; x=1671290526; bh=cg3e1JhPakqPDDWVBJqa7gwSnvn8
	AwA/Teo8gx46lCs=; b=xFfpqwFU/ERUSO5olRWKhxDkQ+Fw1SALNk5GAO0/mAXv
	ycMIX3GsKpiqYFTzdoZIzdohGv4Yg0yKV80zzrCEp0MfGD8fQTLYeqM2ofMZSkJb
	S2cEktIci8iqfGMST9wUx9+Ix6TFXngFuegWAPrpSgCna8aNaZpyV8d5eNHyOAuq
	YI+EwCxAYUyhgRFiZyBR16moAYeEUw7VgWaByhx6MB1t5Wk4GidI3Llr1/nBwBtT
	w+sM3wyni1+TxwldExUVpPVqOpn92j3gUVzGSl3zyfiBZJvRhgf0nrbqAYBYI8rI
	dHe6VqU+J6OeHQz8s0Fmc2vsgyGowcPSUieSbAustg==
X-ME-Sender: <xms:Ho2cYxgawSTYy9HFQke-K-oi7dwQVvlZ6ouOocvPn-slZSSC82kxJw>
    <xme:Ho2cY2DIv0lfACQNJCQVLbBkAIk37nDlSp5OWdGIw_dZkgijQ_wF1LErzSCv827oZ
    LM6PEyIU2mzb_o>
X-ME-Received: <xmr:Ho2cYxHpjqQlWVC5IIHlebb6bbrp9n1p0pMJy7MbtGQhBasTXBthXHcgQdGB>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeejgdejfecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffegfffg
    uddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:Ho2cY2TuzVTTbM_mtBIo3yoNc4nKPpw-cUPgtBXvlPoLf5e38NHMMg>
    <xmx:Ho2cY-wcUNjm2zRzzGFcaRsYrGnZp2KIsKY9dsh4zMo2uo31Z3-4TA>
    <xmx:Ho2cY870juYEiYYGwmxqw7mvv3YtXKpritkq70S7qSZuVohwpWEqjg>
    <xmx:Ho2cY5wqLPe_4vl5yecYQrBumdext6YjPfOmP3DqoH7ftNoMnQXsSQ>
Feedback-ID: iac594737:Fastmail
Date: Fri, 16 Dec 2022 10:21:59 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH v4 02/10] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()
Message-ID: <Y5yNG6VuzuWDrWyk@itl-email>
References: <cover.1671139149.git.demi@invisiblethingslab.com>
 <8f0a2f4352bf6241e66f2fea1776d0c82a3c566d.1671139149.git.demi@invisiblethingslab.com>
 <41b74605-bf88-2f56-53f5-033b8934d757@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="VUPkrtD6C/xQRGfQ"
Content-Disposition: inline
In-Reply-To: <41b74605-bf88-2f56-53f5-033b8934d757@citrix.com>


--VUPkrtD6C/xQRGfQ
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 16 Dec 2022 10:21:59 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <George.Dunlap@citrix.com>,
	"Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH v4 02/10] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()

On Fri, Dec 16, 2022 at 02:49:33AM +0000, Andrew Cooper wrote:
> On 15/12/2022 11:57 pm, Demi Marie Obenour wrote:
> > diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> > index 78b1972e4170cacccc9c37c6e64e76e66a7da87f..802073a01c5cf4dc3cf1d58=
d28ea4d4e9e8149c7 100644
> > --- a/xen/arch/x86/mm.c
> > +++ b/xen/arch/x86/mm.c
> > @@ -959,15 +959,22 @@ get_page_from_l1e(
> >              flip =3D _PAGE_RW;
> >          }
> > =20
> > -        switch ( l1f & PAGE_CACHE_ATTRS )
> > +        /* Force cacheable memtypes to UC */
> > +        switch ( pte_flags_to_cacheability(l1f) )
> >          {
> > -        case 0: /* WB */
> > -            flip |=3D _PAGE_PWT | _PAGE_PCD;
> > +        case X86_MT_UC:
> > +        case X86_MT_UCM:
> > +        case X86_MT_WC:
> > +            /* not cached */
> >              break;
> > -        case _PAGE_PWT: /* WT */
> > -        case _PAGE_PWT | _PAGE_PAT: /* WP */
> > -            flip |=3D _PAGE_PCD | (l1f & _PAGE_PAT);
> > +        case X86_MT_WB:
> > +        case X86_MT_WT:
> > +        case X86_MT_WP:
> > +            /* cacheable, force to UC */
> > +            flip |=3D (l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC;
> >              break;
> > +        default:
> > +            BUG();
>=20
> This is guest reachable.

Proof that this is unreachable below.  Obviously, feel free to correct
me if the proof is wrong.

pte_flags_to_cacheability() is defined (in this patch) as:

    /* Convert from PAT/PCD/PWT embedded in PTE flags to actual cacheabilit=
y value */
    static inline unsigned int pte_flags_to_cacheability(unsigned int flags)
    {
        unsigned int pat_shift =3D ((flags & _PAGE_PAT) >> 2) |
                                 (flags & (_PAGE_PCD|_PAGE_PWT));
        return 0xFF & (XEN_MSR_PAT >> pat_shift);
    }

_PAGE_PAT is 0x80, so (flags & _PAGE_PAT) will either be 0x00 or 0x80,
and ((flags & _PAGE_PAT) >> 2) will either be 0x00 or 0x20.  _PAGE_PCD
is 0x10 and _PAGE_PWT ix 0x08, so (flags & (_PAGE_PCD|_PAGE_PWT)) will
either be 0x00, 0x08, 0x10, or 0x18.  Therefore, pat_shift will either
be 0x00, 0x08, 0x10, 0x18, 0x20, 0x28, 0x30, or 0x38.  This means that
(XEN_MSR_PAT >> pat_shift) is well-defined and will shift XEN_MSR_PAT by
an integer number of bytes, and so (0xFF & (XEN_MSR_PAT >> pat_shift))
(the return value of pte_flags_to_cacheability()) is a single byte
(entry) in XEN_MSR_PAT.  Each byte in XEN_MSR_PAT is one of the six
architectural x86 memory types, and there is a case entry in the switch
for each of those types.  Therefore, the default case is not reachable.
Q.E.D.

> But the more I think about it, the more I'm not sure this logic is
> appropriate to begin with.=C2=A0 I think it needs deleting for the same
> reasons as the directmap cacheability logic needed deleting in XSA-402.

I would prefer this to be in a separate patch series, not least because
I do not consider myself qualified to write a good commit message for it.
This patch series is purely about removing assumptions about Xen=E2=80=99s =
PAT,
except for the last patch, which I explicitly marked DO NOT MERGE as it
breaks PV guest migration from old Xen at a minimum.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--VUPkrtD6C/xQRGfQ
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOcjRsACgkQsoi1X/+c
IsEbvA//RoBqhiaRH/VitJ630j0qknPrGRtZlujDvlacjw6FF9CWEaNWAuM10kMq
wNAXdSH8YCvfBrN1Hq2bkzuyP5qBLJm7+4tAS01J9DhE5HpRqQzmpRNazqMxf5Tr
Ns+ZStIrzKTsgUkRo2NA6e8X/Jedo6ZoHe1YxZpV1/0U5kZ0cl0Duwx+1K0KpnqI
gkO/lkaUcMsu49CLf5lpieIYFOjS2oLX1rbVErojOEPoTSWANAeRYzbiwflodj6C
kzBPvd3MzHuEU3y9TfELE08pzpNkuiD+XQUDfF3uQAy/aWoCMnlFC767c+SxlG1r
zuNv6FYqGKaahABX0t/68VPbLSMdwjmAEwtmXAi0xslevxK0yR8BGVeRs11w8DBF
+6RUDA2fZFSkV2sV9454oPk/PpyCiUuYcNsJDVEGSL2jqdNXnZR02HDLaI5KeATu
P7vUes+CW+0d/YQTwct/CmFHCnL2GrBkvFhepfcWwbnWnuy2nL3uldRuBKW07G9E
6lPi5RhH46Dlu5yY/XzXbU+1MxQ0bDO1EZ/Sx0L1Bct5SnutU9XYpHJRla/hEW8i
rpxQJp6JUpTdkg6bw5E5X0S3uvqJz00EMVdvNePZNw+EOejdbWvy2HoRX5GszWav
nSBSHIlfL5Flu+4gBwZbjnVq4fGMrv64fBuJxd4LFMzqmNyH1ik=
=Xe3h
-----END PGP SIGNATURE-----

--VUPkrtD6C/xQRGfQ--


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 15:30:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 15:30:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464812.723318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CfL-0001g2-Hs; Fri, 16 Dec 2022 15:30:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464812.723318; Fri, 16 Dec 2022 15:30:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CfL-0001fv-Eu; Fri, 16 Dec 2022 15:30:27 +0000
Received: by outflank-mailman (input) for mailman id 464812;
 Fri, 16 Dec 2022 15:30:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Zr/=4O=citrix.com=prvs=342bb51ac=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p6CfK-0001fp-3p
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 15:30:26 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8de754a5-7d56-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 16:30:24 +0100 (CET)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Dec 2022 10:30:18 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB5783.namprd03.prod.outlook.com (2603:10b6:510:42::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Fri, 16 Dec
 2022 15:30:14 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Fri, 16 Dec 2022
 15:30:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8de754a5-7d56-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671204623;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=pwwJEkrFReZPzLzP51LhMk3PJhtYr+RTzrbi7FqpBfA=;
  b=FJHHKqDXfEFRUMM2zGUVfiXNLyBfBDEOoimpdpa/6YEKYbUqOt12QYyM
   T4nLdq4bvmOEZGbalVNaTPJvJokr77pX0O8OMboAW2vZ3mSuRKv8EOFOv
   hVUaxklg6O+mJrTG3vkkEo+qF8dtldyK9sB76xEJ88ji3fLu66SxGzAM5
   s=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 89165806
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:5IWFhK9Zi2Q8OhI1+zlWDrUDTH6TJUtcMsCJ2f8bNWPcYEJGY0x3y
 jRMDWmPbKuJZ2GnctF2bdyw9UMBvJXVxoBlSQBqrSw8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6kV5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklrx
 /tGdBZcfymCjr2bkKznGsZ0194seZyD0IM34hmMzBn/JNN/GNXpZfWP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWDilUvgNABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTCNNLSuDorqACbFu77EFLUy0weV+BiqOwlVWDco12I
 GUS5X97xUQ13AnxJjXnZDW9qWSBtwQRWPJRFfM78wCHzqfI4wefCXMARzQHY9sj3Oc3QyAn0
 hqGkcPBAT10rKbTR2iQ+7uZtjCuPjBTKnUNDQcUQA1A79T9rYUbihPUUs0lAKOzlsfyGzz73
 3aNtidWr7keiM8j1qOl/EvGiTahupjISAEu4gzdGGmi62tRZoejZsqu6FvG6f9oKIefU0nHv
 X4YlszY5+cLZbmPkyuLSf5LGLip+/eDPTv0hV9pAoln9jKx9nrldodViBlkI0tzM8kDPyHof
 k77uAVN6ZsVN3yvBYdrfZitCMNs0LL7CNDkUNjQb9xTct5wchOK+GdlYkv492XkjFQsnL55N
 dGBdt6hF14bD7hqyHy9QOJ1+bs2zSklg2/eQJnhxBSm+buYeHORD7wCNTOmbOci4eWfpxjH+
 v5eMdeHz1NUV+iWSiXe948eKXgEI2c/Adb9q6R/Zr7dCglrAmcsD7nW27xJRmB+t6Fcl+ON9
 HftXEZdkQP7nSeed1XMbW1/YrTyW5o5tWg8ISEnIVev3T4kfJqr66AcMZAweNHL6dBe8BK9d
 NFdE+3oPxiFYm6vF+g1BXUlkLFfSQ==
IronPort-HdrOrdr: A9a23:TLApKqOEchiqEsBcTjGjsMiBIKoaSvp037BK7S1MoH1uA6ilfq
 WV9sjzuiWatN98Yh8dcLO7Scy9qBHnhP1ICOAqVN/PYOCBggqVxelZhrcKqAeQeREWmNQ86U
 4aSdkYNDXxZ2IK8foT4mODYqkdKA/sytHXuQ/cpU0dPD2Dc8tbnmFE4p7wKDwNeOFBb6BJba
 a01458iBeLX28YVci/DmltZZm/mzWa/KiWGSLvHnQcmXKzsQ8=
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="89165806"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G1n/OdYmGyBFbTIBgCVuaWwGZq4dFvguvcFySFXOaV1B1bQ8xSBg76TqFM3CyEf2uKcMMMo25PEF9zT4Fv432FKla/xMnU5RxVjesdap6v4CvZEQQJVZbdyaRRsh/Xhwe+sdFBhTiAprsFwQDdtuQglxJ8ToxrirS3cEjT588vFo2bFo6CuwL7DvS+PYW/YPRvT1gGdE1jOiWic4eMJU22unYrYWZSqRCw6rLuskkqaZ606Ev0uKxmIVUV2aLi2fejd+ju4i0afN0qf/o/P4AkvpILUV+3Dpk14EGCfX5kb5kbL71WLLvai9DErIREqTuQ/LQcjyHJ1qOMua+l6lfA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pwwJEkrFReZPzLzP51LhMk3PJhtYr+RTzrbi7FqpBfA=;
 b=UhTZTbmvw51ZXqJWmlCsy9274YqjfWasfmRD1cAxpyiCvR/KNy/Z2S7/kW+kiDnctxobLymAPxHFRGVUpnkoj271iRDa/cfyUuxCWgRfMucygK1j59fQJVE9cP50sDw/cX6gEoV8JI9XcD6OWWwQ/HH7yzyl0TsTP4b9yWFuXzMNwUMlCexUwZ2XEtIqgH/CCLVzLx3ye5KpF71c7tUNuUmpCw8DaPnhJa2YBV53+CDzWW8m53dBJWNRU3pjydGo6f4f88Gqi1zrSf3IAtJyyAJA/GYXczBf1betJFuMnlfMRrndmGrT7x7BbhLWykcOKy9ddIEQZoaMqca94vUfNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pwwJEkrFReZPzLzP51LhMk3PJhtYr+RTzrbi7FqpBfA=;
 b=wOrqpP4lxFUYAPymZ+ppdtwrV2lwXl3LPG37IXyQQW/DvZOQoMUxd4if6nM4S0vuBLO0bE+eMm9MMylyUL7PkDkRhU4hlCO14Zva3IIj7j5z0y2P4U9a4ZID5Bovr+R5j5aNWAd6Ah2mzYJSXtEkdGUlaVJxvoTD8UbuQmX+GsA=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: =?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, "intel-gfx@lists.freedesktop.org"
	<intel-gfx@lists.freedesktop.org>
CC: xen-devel <xen-devel@lists.xenproject.org>, "Demi M. Obenour"
	<demi@invisiblethingslab.com>, Jani Nikula <jani.nikula@linux.intel.com>,
	Joonas Lahtinen <joonas.lahtinen@linux.intel.com>, Rodrigo Vivi
	<rodrigo.vivi@intel.com>, Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>,
	Matt Roper <matthew.d.roper@intel.com>, Lucas De Marchi
	<lucas.demarchi@intel.com>, =?utf-8?B?Sm9zw6kgUm9iZXJ0byBkZSBTb3V6YQ==?=
	<jose.souza@intel.com>, Daniel Vetter <daniel@ffwll.ch>, the arch/x86
 maintainers <x86@kernel.org>
Subject: Re: [cache coherency bug] i915 and PAT attributes
Thread-Topic: [cache coherency bug] i915 and PAT attributes
Thread-Index: AQHZEWNKBewvTtnrP0qLWzHfxYCD+w==
Date: Fri, 16 Dec 2022 15:30:13 +0000
Message-ID: <1c326e0c-5812-083a-0739-aa20fab3efc4@citrix.com>
References: <Y5Hst0bCxQDTN7lK@mail-itl>
In-Reply-To: <Y5Hst0bCxQDTN7lK@mail-itl>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|PH0PR03MB5783:EE_
x-ms-office365-filtering-correlation-id: 0c3803b8-67ba-4253-265c-08dadf7a6d3b
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 yKocoAleDd0KJlySRHxDfJahm5GtWcZ9D1QI3ojTWz2MqbMkB8rqzM4pT/GlZl2oza1yTITkbH4N0zoQMHZsjJi7sYHSgKFr0628DBPjUdjYm3LmYluFNXm7UCN+5bQTZl2jYh7IgLwN/eGZjHgTBczmxIcoRmfIpOnBIqwW78NTu1q6V7E7Xt4hJXho97JeoTm667h+Z7wo3OpuAHHSkNNVVminfrPr1VFxwQtDMMGDg6d91WwpUvvXqEQXd6L886XLkDA4VoYNCZvAt59HNV2x+0v/AA1+sea69LyU7ZEYS90/X5olhrdPZ98S+t87qbZtzkeBNUwiuZnzH99jgQVHUeK5cnl938jA5zSfsVrF4+QbbAN+eDlG6lLFlWUUW/P0VrQ0xoyYzKxzdeYJVt0VpXI7rxmC/dZjfia8ZBOw/AXrpSj1sGb8f6ynTlRrhPgCHXSvIpoa55yYPsyYbuLBJT7WO/Io68WrC3t1cTeT5yaE8F/VZxEEtssgOAdZDFjOPf/0YnKauo++njFjy9ptG6aEjDsvvVAVLf3jItstLvy2lmBk/PwkGjIGMo0VTCPvoRDzP/YHH4ZHbhAU7krBClLIlzhk0A38JA9RrSQPs0Jlv10JMUAl/wGAXwwWIVk+IoLiS/765SKZBtqSwlfqMF/lW6suThMzuxc/RP7/JPsNM8lDs9BAyfnCWIrbka8zblkiR90T9lIH3tni71uzTU0Kp8Ae8OIVa4JI6B/CX9X4K1ZVmQV1jlL3D3sVfEWAdPsrLyaZYcExw8RvUPlkjvRY4XtI8Ithl+TPjLTOHEWoDr5NXSJwGbowpD5mnhlutxj/3FyaCWmbVwXPtA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(396003)(366004)(136003)(346002)(451199015)(31686004)(36756003)(186003)(91956017)(26005)(6512007)(66946007)(76116006)(66446008)(478600001)(66476007)(71200400001)(966005)(4326008)(41300700001)(2616005)(6486002)(86362001)(31696002)(64756008)(8676002)(66574015)(5660300002)(2906002)(8936002)(7416002)(122000001)(53546011)(110136005)(6506007)(66556008)(54906003)(316002)(83380400001)(38100700002)(82960400001)(38070700005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eGNEVUZsVmxiZ3JuQUlLd2ErNWN5TllrNUtDQU9KaUd6U3J3OGRKSlhpWGFO?=
 =?utf-8?B?eU1HSW5pYk9CazBYczB2bjlYNmcvL3IxbHFrdHJBTjBmYzNZUUlmNjVjcjY3?=
 =?utf-8?B?NXNHRG5xS0poTFdDZ0N4KzNma3Y0cSt6M0phZVNMWXg1MGxadDBGakdNNERU?=
 =?utf-8?B?V2dOZWtzNTIyQXV2dzVnSDJqTUMxNE13UGh1MVdmTlpMY0tNUmVZSHZuSmZM?=
 =?utf-8?B?UHR4QUNjWVlLNW5oTFEyNjRWMjI1MktJM3JzUHJGeUJWZ3poL2ZKV0YwZVZY?=
 =?utf-8?B?alFGRkRwdEtZSU5sY0U2RG9SNGlhS25MMDFKblVtVmhyK1MzTEhoSnpFTG5I?=
 =?utf-8?B?NlNqNHZReGRnQzVYWS8xMkVTK1NENmdORlcwb3JZR0pWd1A0bjkvb3lLY3da?=
 =?utf-8?B?eFNsRXZUMHdtVTRrOUV4R29OSmxnL3hKakdqV0ZWNU93aENBVFlibkc0TTFS?=
 =?utf-8?B?VklCTm1wZTIwZzBEZXdQU0RLTTBOc0dabjdrTFBRUFRCNk9TdHRXZWZIN3h3?=
 =?utf-8?B?V0MzdFJURU9nZnRNSWx0aHN2Wmd1bVZrdVM5ekc1em5YcEFUSFJ2QTJlbFNl?=
 =?utf-8?B?MTR4emFrK0xldGExVTZVYy9ON2lPVmh3MFB4Ym05K2NXU2ZoejNZNDlFeE9o?=
 =?utf-8?B?aWpXZ1FDcExyTGFzQjAyQ0JYVDNSbXZGbUs2Uzc2VldYS29JN3kvTTRwcFVB?=
 =?utf-8?B?aWhkYVN3S2VDQUh3VHpsUWg1eE4rYkd1dzZGblhRd2xxbks3c3N2NlFYRUZ1?=
 =?utf-8?B?aE5UMGgrVFp2b0Z6QllycE5LVDdNYVVaTmR6c2gzT05zWlc5TTYwLzlXQ0Vs?=
 =?utf-8?B?dXkrWjhwQU8zOGxVNHY5Z2Voa2FBMXNMN290RG9ScGNkU1ZvL3F1cVZlMVBk?=
 =?utf-8?B?ZmhIZStRVkVxNlZZdmg2VWpIc0Z4R2xCVVZrWjVTOW90RFYzZ3lJRW9SMFpQ?=
 =?utf-8?B?cWVicng1cTZnZWlWODJVbGh4cVVTSXpCdkVKMm1TWS96cjZHUTN0bEVzZU8v?=
 =?utf-8?B?ZFN2bkh2aVNHNmxRRFdCK1JBb3NjaStBSnNZcnpiclhrQ0FSNWE0ZjJjTDFn?=
 =?utf-8?B?dnBmVTFLQU05TXFTcXFTbFBEM2NyaWdON1pIdnRGcHh0bTJmRkVOaENONGp0?=
 =?utf-8?B?clhsMHQvRHl1MnZVK0t5bGVwOXlyNm4zRmtoaENmSHNHcEY4Q1pNSUlrYUYy?=
 =?utf-8?B?TDJiMjl0TDl1eE1ZRXBFOFp0WUhsaU5GUHp5TFVGaUJQZk05Ykh5Y0Y3VEU1?=
 =?utf-8?B?b2V0L0FGMjE2aW95TzdDanM2Y0JMdWJuK1o0YVo2K01ncFJKcGNXUzdhb3B0?=
 =?utf-8?B?YnFneDRIVjhLWjNwL1prcHZneHp3YkR6aEhtU2sxQ2d4MU53OElPZDVxVTI2?=
 =?utf-8?B?M3RKVXNUQjNsZFk3U2RHTWJzVlRLUTF5bEwvL2paK3RTcVRENStaZ1gwSkRv?=
 =?utf-8?B?RVpBTGZEMjhJdmxZQ21rT252WXBiUytwQ2pObUhHYnBCeC9KL2ppYk5YeXhX?=
 =?utf-8?B?SjRKYWoraDJvQ1JYcm9nL3lHK2RFa2N0NFBvU2paUmVPdERLQmJ5dStqWU5a?=
 =?utf-8?B?SFVBWXY0UzBzcTBPbGh4TVZWSGRwMWZSQWdQSnFCSi9meGlON2tkOXZCVlcw?=
 =?utf-8?B?RjZ3QmFUSmU3R0NtamZWdTV4eWhDMGIwL1I1eWcxNGtRUVk1cTVnUjhITzJZ?=
 =?utf-8?B?akp3dk1DUHRIV2x3aFlDbTlJdUg2Z2JydmtZSUI5M0hOZ1hvUmU0Wi9KNHYz?=
 =?utf-8?B?TnRNSXJpRS9rV1p5Wlh2Qy9jazk0bnVQUnZZM2ZXK29wS3poVmF1OEFielVt?=
 =?utf-8?B?aXFrb2M1UUtVN1JXNUFpZ0RjZWkxVTYyL21VYTk4dDR1WXRHRncvRklMS3Av?=
 =?utf-8?B?RmxLWEt0ZDYwQlhaOW5GTDFGWEtkZHdaaGJVMDFlRVFhVHMrTWN1cDRGbTZ3?=
 =?utf-8?B?ZFFXQU5HbnRRVmlpaHN3QURZbmd5WENla3pkTHc0WHRrUGJTU0tKR2ZSTDM4?=
 =?utf-8?B?R3N3RkJicDVscEpnSlFUbGYyYVpIbzFCTE1lQVVjdGdhS0hYcjNRRnh1QUdk?=
 =?utf-8?B?RlV3Mk5NaUJVRk9pVkgwbjFqUVJOYUtBK2JhTU00RTR4dThTM2IwdzdGYmpX?=
 =?utf-8?B?ZWJQTWIveE5VWjVBa1N0TDdqcGZXTDBtN0Zqa3c4ZFIrZUQwNjQ3WDIrek5n?=
 =?utf-8?B?SVE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <4FB0DF6B138B9A4F8BD3397C646403F8@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c3803b8-67ba-4253-265c-08dadf7a6d3b
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Dec 2022 15:30:13.7318
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: CX2s9UdkbF+OLDho9P73nOrfOOcb/Wvt4IVUpNtqy3+9tjrusU9n6bBsqna7zt8Afq7/CKimB6RG5aLEpp9ejbk43xFxCbhz7zKwYcRlp/g=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5783

T24gMDgvMTIvMjAyMiAxOjU1IHBtLCBNYXJlayBNYXJjenlrb3dza2ktR8OzcmVja2kgd3JvdGU6
DQo+IEhpLA0KPg0KPiBUaGVyZSBpcyBhbiBpc3N1ZSB3aXRoIGk5MTUgb24gWGVuIFBWIChkb20w
KS4gVGhlIGVuZCByZXN1bHQgaXMgYSBsb3Qgb2YNCj4gZ2xpdGNoZXMsIGxpa2UgaGVyZTogaHR0
cHM6Ly9vcGVucWEucXViZXMtb3Mub3JnL3Rlc3RzLzU0NzQ4I3N0ZXAvc3RhcnR1cC84DQo+ICh0
aGlzIG9uZSBpcyBvbiBBREwsIExpbnV4IDYuMS1yYzcgYXMgYSBYZW4gUFYgZG9tMCkuIEl0J3Mg
dXNpbmcgWG9yZw0KPiB3aXRoICJtb2Rlc2V0dGluZyIgZHJpdmVyLg0KPg0KPiBBZnRlciBzb21l
IGl0ZXJhdGlvbnMgb2YgZGVidWdnaW5nLCB3ZSBuYXJyb3dlZCBpdCBkb3duIHRvIGk5MTUgaGFu
ZGxpbmcNCj4gY2FjaGluZy4gVGhlIG1haW4gZGlmZmVyZW5jZSBpcyB0aGF0IFBBVCBpcyBzZXR1
cCBkaWZmZXJlbnRseSBvbiBYZW4gUFYNCj4gdGhhbiBvbiBuYXRpdmUgTGludXguIE5vcm1hbGx5
LCBMaW51eCBkb2VzIGhhdmUgYXBwcm9wcmlhdGUgYWJzdHJhY3Rpb24NCj4gZm9yIHRoYXQsIGJ1
dCBhcHBhcmVudGx5IHNvbWV0aGluZyByZWxhdGVkIHRvIGk5MTUgZG9lc24ndCBwbGF5IHdlbGwN
Cj4gd2l0aCBpdC4gVGhlIHNwZWNpZmljIGRpZmZlcmVuY2UgaXM6DQo+IG5hdGl2ZSBsaW51eDoN
Cj4geDg2L1BBVDogQ29uZmlndXJhdGlvbiBbMC03XTogV0IgIFdDICBVQy0gVUMgIFdCICBXUCAg
VUMtIFdUDQo+IHhlbiBwdjoNCj4geDg2L1BBVDogQ29uZmlndXJhdGlvbiBbMC03XTogV0IgIFdU
ICBVQy0gVUMgIFdDICBXUCAgVUMgIFVDDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB+fiAgICAgICAgICB+fiAgICAgIH5+ICB+fg0KPg0KPiBUaGUgc3BlY2lmaWMgaW1wYWN0
IGRlcGVuZHMgb24ga2VybmVsIHZlcnNpb24gYW5kIHRoZSBoYXJkd2FyZS4gVGhlIG1vc3QNCj4g
c2V2ZXJlIGlzc3VlcyBJIHNlZSBvbiA+PUFETCwgYnV0IHNvbWUgb2xkZXIgaGFyZHdhcmUgaXMg
YWZmZWN0ZWQgdG9vIC0NCj4gc29tZXRpbWVzIG9ubHkgaWYgY29tcG9zaXRpb24gaXMgZGlzYWJs
ZWQgaW4gdGhlIHdpbmRvdyBtYW5hZ2VyLg0KPiBTb21lIG1vcmUgaW5mb3JtYXRpb24gaXMgY29s
bGVjdGVkIGF0DQo+IGh0dHBzOi8vZ2l0aHViLmNvbS9RdWJlc09TL3F1YmVzLWlzc3Vlcy9pc3N1
ZXMvNDc4MiAoYW5kIGZldyBsaW5rZWQNCj4gZHVwbGljYXRlcy4uLikuDQo+DQo+IEtpbmQtb2Yg
cmVsYXRlZCBjb21taXQgaXMgaGVyZToNCj4gaHR0cHM6Ly9naXRodWIuY29tL3RvcnZhbGRzL2xp
bnV4L2NvbW1pdC9iZGQ4YjZjOTgyMzljYWQgKCJkcm0vaTkxNToNCj4gcmVwbGFjZSBYODZfRkVB
VFVSRV9QQVQgd2l0aCBwYXRfZW5hYmxlZCgpIikgLSBpdCBpcyB0aGUgcGxhY2Ugd2hlcmUNCj4g
aTkxNSBleHBsaWNpdGx5IGNoZWNrcyBmb3IgUEFUIHN1cHBvcnQsIHNvIEknbSBjYy1pbmcgcGVv
cGxlIG1lbnRpb25lZA0KPiB0aGVyZSB0b28uDQo+DQo+IEFueSBpZGVhcz8NCj4NCj4gVGhlIGlz
c3VlIGNhbiBiZSBlYXNpbHkgcmVwcm9kdWNlZCB3aXRob3V0IFhlbiB0b28sIGJ5IGFkanVzdGlu
ZyBQQVQgaW4NCj4gTGludXg6DQo+IC0tLS0tODwtLS0tLQ0KPiBkaWZmIC0tZ2l0IGEvYXJjaC94
ODYvbW0vcGF0L21lbXR5cGUuYyBiL2FyY2gveDg2L21tL3BhdC9tZW10eXBlLmMNCj4gaW5kZXgg
NjZhMjA5ZjdlYjg2Li4zMTlhYjYwYzhkOGMgMTAwNjQ0DQo+IC0tLSBhL2FyY2gveDg2L21tL3Bh
dC9tZW10eXBlLmMNCj4gKysrIGIvYXJjaC94ODYvbW0vcGF0L21lbXR5cGUuYw0KPiBAQCAtNDAw
LDggKzQwMCw4IEBAIHZvaWQgcGF0X2luaXQodm9pZCkNCj4gIAkJICogVGhlIHJlc2VydmVkIHNs
b3RzIGFyZSB1bnVzZWQsIGJ1dCBtYXBwZWQgdG8gdGhlaXINCj4gIAkJICogY29ycmVzcG9uZGlu
ZyB0eXBlcyBpbiB0aGUgcHJlc2VuY2Ugb2YgUEFUIGVycmF0YS4NCj4gIAkJICovDQo+IC0JCXBh
dCA9IFBBVCgwLCBXQikgfCBQQVQoMSwgV0MpIHwgUEFUKDIsIFVDX01JTlVTKSB8IFBBVCgzLCBV
QykgfA0KPiAtCQkgICAgICBQQVQoNCwgV0IpIHwgUEFUKDUsIFdQKSB8IFBBVCg2LCBVQ19NSU5V
UykgfCBQQVQoNywgV1QpOw0KPiArCQlwYXQgPSBQQVQoMCwgV0IpIHwgUEFUKDEsIFdUKSB8IFBB
VCgyLCBVQ19NSU5VUykgfCBQQVQoMywgVUMpIHwNCj4gKwkJICAgICAgUEFUKDQsIFdDKSB8IFBB
VCg1LCBXUCkgfCBQQVQoNiwgVUMpICAgICAgIHwgUEFUKDcsIFVDKTsNCj4gIAl9DQo+ICANCj4g
IAlpZiAoIXBhdF9icF9pbml0aWFsaXplZCkgew0KPiAtLS0tLTg8LS0tLS0NCj4NCg0KSGVsbG8s
IGNhbiBhbnlvbmUgaGVscCBwbGVhc2U/DQoNCkludGVsJ3MgQ0kgaGFzIHRha2VuIHRoaXMgcmVw
cm9kdWNlciBvZiB0aGUgYnVnLCBhbmQgY29uZmlybWVkIHRoZQ0KcmVncmVzc2lvbi7CoA0KaHR0
cHM6Ly9sb3JlLmtlcm5lbC5vcmcvaW50ZWwtZ2Z4L1k1SHN0MGJDeFFEVE43bEtAbWFpbC1pdGwv
VC8jbTQ0ODBjMTVhMGQxMTdkY2U2MjEwNTYyZWI1NDI4NzVlNzU3NjQ3ZmINCg0KV2UncmUgcmVh
c29uYWJseSBjb25maWRlbnQgdGhhdCBpdCBpcyBhbiBpOTE1IGJ1ZyAoZ2l2ZW4gdGhlIHJlcHJv
IHdpdGgNCm5vIFhlbiBpbiB0aGUgbWl4KSwgYnV0IHdlJ3JlIG91dCBvZiBhbnkgZnVydGhlciBp
ZGVhcy4NCg0KVGhhbmtzLA0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 15:50:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 15:50:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464822.723329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CyG-0003VF-6w; Fri, 16 Dec 2022 15:50:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464822.723329; Fri, 16 Dec 2022 15:50:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6CyG-0003V8-4B; Fri, 16 Dec 2022 15:50:00 +0000
Received: by outflank-mailman (input) for mailman id 464822;
 Fri, 16 Dec 2022 15:49:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6CyF-0003Uy-6e; Fri, 16 Dec 2022 15:49:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6CyF-00088z-2F; Fri, 16 Dec 2022 15:49:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6CyE-0001TM-NY; Fri, 16 Dec 2022 15:49:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6CyE-0002us-N2; Fri, 16 Dec 2022 15:49:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZpylY17WbVOTMRbon+razP4LFx+ByvQ6sBbCkYEN7VE=; b=wZcxerd16JvUdcgoj/+daLz0LV
	dSKXpwJTMOUqVQ+4Q5Ey7nlK6QO33dCNQ95vJwekUeYFiGjCqfzh4yl6D4B4gBQlStTu58CC7ZzdK
	DR/NUNMoPLiVJCHjt6L+BFmb9/fRy8uU1ulTngdNeIhRXmv2K9ImR3jv/XCNpH7hHxRU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175319-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175319: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=e254c71e9eaee6b14eba65e89e906576f3f1abc7
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 15:49:58 +0000

flight 175319 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175319/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 e254c71e9eaee6b14eba65e89e906576f3f1abc7
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    2 days
Failing since        175214  2022-12-14 18:42:16 Z    1 days   11 attempts
Testing same since   175311  2022-12-16 07:46:32 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 365 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 16:20:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 16:20:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464834.723346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6DRm-0008WQ-LH; Fri, 16 Dec 2022 16:20:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464834.723346; Fri, 16 Dec 2022 16:20:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6DRm-0008WJ-Ii; Fri, 16 Dec 2022 16:20:30 +0000
Received: by outflank-mailman (input) for mailman id 464834;
 Fri, 16 Dec 2022 16:20:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Pl3e=4O=templeofstupid.com=kjlx@srs-se1.protection.inumbo.net>)
 id 1p6DRk-0008WD-Ub
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 16:20:29 +0000
Received: from crocodile.elm.relay.mailchannels.net
 (crocodile.elm.relay.mailchannels.net [23.83.212.45])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b6ff0ec-7d5d-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 17:20:26 +0100 (CET)
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id AE5BD34183A
 for <xen-devel@lists.xenproject.org>; Fri, 16 Dec 2022 16:20:23 +0000 (UTC)
Received: from pdx1-sub0-mail-a305.dreamhost.com (unknown [127.0.0.6])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id 30E34341918
 for <xen-devel@lists.xenproject.org>; Fri, 16 Dec 2022 16:20:23 +0000 (UTC)
Received: from pdx1-sub0-mail-a305.dreamhost.com (pop.dreamhost.com
 [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384)
 by 100.103.24.117 (trex/6.7.1); Fri, 16 Dec 2022 16:20:23 +0000
Received: from kmjvbox (c-73-70-108-208.hsd1.ca.comcast.net [73.70.108.208])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 (Authenticated sender: kjlx@templeofstupid.com)
 by pdx1-sub0-mail-a305.dreamhost.com (Postfix) with ESMTPSA id 4NYZ861LhbzdF
 for <xen-devel@lists.xenproject.org>; Fri, 16 Dec 2022 08:20:21 -0800 (PST)
Received: from johansen (uid 1000) (envelope-from kjlx@templeofstupid.com)
 id e002b by kmjvbox (DragonFly Mail Agent v0.12);
 Fri, 16 Dec 2022 08:20:19 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b6ff0ec-7d5d-11ed-8fd4-01056ac49cbb
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1671207623; a=rsa-sha256;
	cv=none;
	b=hpAgiWFhmrqTSK3nzbph2bzx8fSXElBtLsJuEObM11b7uh4vxcNBMQLvUAHiKqRAg5aNg1
	qZDxsD9myszD/VQ5t692GNH2AM7XCZ4b2msFnKJQHC4LGdDw9kRA/F1h26R4YX1gLiJdCO
	4DeHxDZEW0lpOBwl3wmJcmExlmYVj0woRsMyLqEUGiL7Lhgn8FOHmMIyVmbtIC2dSjYixj
	qnvcTQPMMhdl4JhOBDoy37yKmc/RA+rfp8CED++6Uep17WWTWdacxJBDBz1VgPQdmmb6wH
	a1nB6gFAlNkbUcDdYp7GBreqtly6dpYtdB4pAO5KBlTIakEbiPV+dDR//N3H3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
 d=mailchannels.net;
	s=arc-2022; t=1671207623;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references:dkim-signature;
	bh=zZIw3M+aiD6J4RND/PUJdeymks7EZfag7xLSLFs2i3I=;
	b=GcnXf5X85ndUcl4i7wv1CpZXuYwDZlwaVMDDc//WiQuAlAMyQW/Jr35UY8VOOLXAA9Szkp
	9XgB+V4Dpb7ATzFFXzcPZA7/OToIm7+1nXi1iriZwrSIwAn+G0O7x8b0nOhcb74c3J8UDk
	06k14fcBF/V0L1TGRDGf5gqkiJ3G27nmCAh7M4vcLBxk2LG1bgXnVgPAAvJRCutH0xOXMi
	TecktfshzZfNGr1ZtkXMRcNXgbURnMRvszRnt6bt1JoALESZVX7Twa5ts1O+i7I2uzDL1O
	JKekrs1unUGPJL2q1/xE0M77U/in1Gtus/6sxLRj4KG5gB0vWr7kMmbrSOChkw==
ARC-Authentication-Results: i=1;
	rspamd-56db58bdfc-gf48j;
	auth=pass smtp.auth=dreamhost smtp.mailfrom=kjlx@templeofstupid.com
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MailChannels-Auth-Id: dreamhost
X-Reaction-Thread: 719efc7609c46e94_1671207623439_548412342
X-MC-Loop-Signature: 1671207623439:1310174452
X-MC-Ingress-Time: 1671207623439
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=templeofstupid.com;
	s=dreamhost; t=1671207622;
	bh=zZIw3M+aiD6J4RND/PUJdeymks7EZfag7xLSLFs2i3I=;
	h=Date:From:To:Cc:Subject:Content-Type;
	b=f/UOWHCgwQ/ll27aFLbd1ERJHlVq8666hWgvKnDIH8WpBXCAnjKHrJ2XzoQ1GMKzj
	 F2I/WDRIwiIFsopuVVBnOktkza7Wl7xxBCrdGz7BcRibqWmoqA8NxJTM7Or7jT1L11
	 ugEZwfRm2I8xzs71TuHf3zrum3tZ/youT1mAxHcc=
Date: Fri, 16 Dec 2022 08:20:19 -0800
From: Krister Johansen <kjlx@templeofstupid.com>
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Juergen Gross <jgross@suse.com>, Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Anthony Liguori <aliguori@amazon.com>,
	David Reaver <me@davidreaver.com>,
	Brendan Gregg <brendan@intel.com>
Subject: Re: [PATCH linux-next v2] x86/xen/time: prefer tsc as clocksource
 when it is invariant
Message-ID: <20221216162019.GA2633@templeofstupid.com>
References: <20221208163650.GA3225@templeofstupid.com>
 <1e6c1b08-d573-fba9-61fd-d40a74427d46@oracle.com>
 <20221212155730.GA1973@templeofstupid.com>
 <20221212160524.GB1973@templeofstupid.com>
 <d1a2b785-edc7-b7da-d2f2-123d1555022e@oracle.com>
 <20221212220959.GB1935@templeofstupid.com>
 <9dfe87f0-fc95-6c28-6695-62f1f5403df6@oracle.com>
 <20221214180147.GA1953@templeofstupid.com>
 <0835453d-9617-48d5-b2dc-77a2ac298bad@oracle.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <0835453d-9617-48d5-b2dc-77a2ac298bad@oracle.com>

On Wed, Dec 14, 2022 at 04:46:10PM -0500, Boris Ostrovsky wrote:
> 
> On 12/14/22 1:01 PM, Krister Johansen wrote:
> > On Tue, Dec 13, 2022 at 04:25:32PM -0500, Boris Ostrovsky wrote:
> > > On 12/12/22 5:09 PM, Krister Johansen wrote:
> > > > On Mon, Dec 12, 2022 at 01:48:24PM -0500, Boris Ostrovsky wrote:
> > > > > On 12/12/22 11:05 AM, Krister Johansen wrote:
> > > > > > diff --git a/arch/x86/include/asm/xen/cpuid.h b/arch/x86/include/asm/xen/cpuid.h
> > > > > > index 6daa9b0c8d11..d9d7432481e9 100644
> > > > > > --- a/arch/x86/include/asm/xen/cpuid.h
> > > > > > +++ b/arch/x86/include/asm/xen/cpuid.h
> > > > > > @@ -88,6 +88,12 @@
> > > > > >      *             EDX: shift amount for tsc->ns conversion
> > > > > >      * Sub-leaf 2: EAX: host tsc frequency in kHz
> > > > > >      */
> > > > > > +#define XEN_CPUID_TSC_EMULATED       (1u << 0)
> > > > > > +#define XEN_CPUID_HOST_TSC_RELIABLE  (1u << 1)
> > > > > > +#define XEN_CPUID_RDTSCP_INSTR_AVAIL (1u << 2)
> > > > > > +#define XEN_CPUID_TSC_MODE_DEFAULT   (0)
> > > > > > +#define XEN_CPUID_TSC_MODE_EMULATE   (1u)
> > > > > > +#define XEN_CPUID_TSC_MODE_NOEMULATE (2u)
> > > > > This file is a copy of Xen public interface so this change should go to Xen first.
> > > > Ok, should I split this into a separate patch on the linux side too?
> > > Yes. Once the Xen patch has been accepted you will either submit the same patch for Linux or sync Linux file with Xen (if there are more differences).
> > Thanks.  Based upon the feedback I received from you and Jan, I may try
> > to shrink the check in xen_tsc_safe_clocksource() down a bit.  In that
> > case, I may only need to refer to a single field in the leaf that
> > provides this information.  In that case, are you alright with dropping
> > the change to the header and referring to the value directly, or would
> > you prefer that I proceed with adding these to the public API?
> 
> It would certainly be appreciated if you updated the header files but it's up to maintainers to decide whether it's required.

Sure, I'm just trying to avoid generating extra work for the maintainers
if this patch isn't likely to make it in.  I'm cutting a v3 that doesn't
reference the header.  If it's acceptable, and this looks otherwise
unobjectionable, then I'll go ahead and put together the pieces for the
public API, if that's still a desireable change.

> > > > > > +static int __init xen_tsc_safe_clocksource(void)
> > > > > > +{
> > > > > > +	u32 eax, ebx, ecx, edx;
> > > > > > +
> > > > > > +	if (!(xen_hvm_domain() || xen_pvh_domain()))
> > > > > > +		return 0;
> > > > > > +
> > > > > > +	if (!(boot_cpu_has(X86_FEATURE_CONSTANT_TSC)))
> > > > > > +		return 0;
> > > > > > +
> > > > > > +	if (!(boot_cpu_has(X86_FEATURE_NONSTOP_TSC)))
> > > > > > +		return 0;
> > > > > > +
> > > > > > +	if (check_tsc_unstable())
> > > > > > +		return 0;
> > > > > > +
> > > > > > +	cpuid(xen_cpuid_base() + 3, &eax, &ebx, &ecx, &edx);
> > > > > > +
> > > > > > +	if (eax & XEN_CPUID_TSC_EMULATED)
> > > > > > +		return 0;
> > > > > > +
> > > > > > +	if (ebx != XEN_CPUID_TSC_MODE_NOEMULATE)
> > > > > > +		return 0;
> > > > > Why is the last test needed?
> > > > I was under the impression that if the mode was 0 (default) it would be
> > > > possible for the tsc to become emulated in the future, perhaps after a
> > > > migration.  The presence of the tsc_mode noemulate meant that we could
> > > > count on the falseneess of the XEN_CPUID_TSC_EMULATED check remaining
> > > > constant.
> > > This will filter out most modern processors with TSC scaling support where in default mode we don't intercept RDTCS after migration. But I don't think we have proper interface to determine this so we don't have much choice but to indeed make this check.
> > Yes, if this remains a single boot-time check, I'm not sure that knowing
> > whether the processor supports tsc scaling helps us.  If tsc_mode is
> > default, there's always a possibility of the tsc becoming emulated later
> > on as part of migration, correct?
> 
> If the processor supports TSC scaling I don't think it's possible (it can happen in theory) but if it doesn't and you migrate to a CPU running at different frequency then yes, hypervisor will start emulating RDTSC.

Yes, I wondered whether it's reasonable to expect that users migrate
between hardware that is pretty similar, or if this case of moving from
a CPU that supports tsc scaling to one that doesn't is likely to happen
in practice.

-K 


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 16:21:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 16:21:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464842.723358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6DSi-0000bP-W7; Fri, 16 Dec 2022 16:21:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464842.723358; Fri, 16 Dec 2022 16:21:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6DSi-0000bI-SM; Fri, 16 Dec 2022 16:21:28 +0000
Received: by outflank-mailman (input) for mailman id 464842;
 Fri, 16 Dec 2022 16:21:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Pl3e=4O=templeofstupid.com=kjlx@srs-se1.protection.inumbo.net>)
 id 1p6DSh-0000bA-Nc
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 16:21:27 +0000
Received: from boar.tulip.relay.mailchannels.net
 (boar.tulip.relay.mailchannels.net [23.83.218.250])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae82d767-7d5d-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 17:21:26 +0100 (CET)
Received: from relay.mailchannels.net (localhost [127.0.0.1])
 by relay.mailchannels.net (Postfix) with ESMTP id 4A36D3E13BC
 for <xen-devel@lists.xenproject.org>; Fri, 16 Dec 2022 16:21:22 +0000 (UTC)
Received: from pdx1-sub0-mail-a305.dreamhost.com (unknown [127.0.0.6])
 (Authenticated sender: dreamhost)
 by relay.mailchannels.net (Postfix) with ESMTPA id DD23F3E1BCB
 for <xen-devel@lists.xenproject.org>; Fri, 16 Dec 2022 16:21:21 +0000 (UTC)
Received: from pdx1-sub0-mail-a305.dreamhost.com (pop.dreamhost.com
 [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384)
 by 100.123.200.84 (trex/6.7.1); Fri, 16 Dec 2022 16:21:22 +0000
Received: from kmjvbox (c-73-70-108-208.hsd1.ca.comcast.net [73.70.108.208])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 (Authenticated sender: kjlx@templeofstupid.com)
 by pdx1-sub0-mail-a305.dreamhost.com (Postfix) with ESMTPSA id 4NYZ9F0ZKLzVw
 for <xen-devel@lists.xenproject.org>; Fri, 16 Dec 2022 08:21:20 -0800 (PST)
Received: from johansen (uid 1000) (envelope-from kjlx@templeofstupid.com)
 id e002b by kmjvbox (DragonFly Mail Agent v0.12);
 Fri, 16 Dec 2022 08:21:18 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae82d767-7d5d-11ed-8fd4-01056ac49cbb
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
ARC-Seal: i=1; s=arc-2022; d=mailchannels.net; t=1671207681; a=rsa-sha256;
	cv=none;
	b=6RZQO6RU7uRZo8yw7NwRSY+IrHhjb/A6dpDjnb2N1gMc+svaKioGrgBLpdyiQ3w58S13i/
	3QuFRFCfO1sa3gP3VAAVJUt/OraonbuepQ7Li13RXkCKrI+x2DpcN6kU+XmGVbBEtCsm4c
	q2CYwU0Dfaqohfpx9upzydF6lh0P/YVz8bUy2SS/ZYwvO/44dGAceQQk1hPFfmFWHZxRDt
	ky2I65Q+94WILPRSq/WllpVVkkpqxAomRE7SveqshGUn+UVl0FXODPd+WCiS+xYhIRiW7Y
	0kX8bFLOtkHdyFSihd+/tTw5nCNkM3QM+XI6h40VyjMIn8VDd/gW8DJvCOg6Mw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
 d=mailchannels.net;
	s=arc-2022; t=1671207681;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 dkim-signature; bh=ntqixOp2Rzio0BYbTNNACIXCQK/YxtD97cLJBDAV5UI=;
	b=xBG5UBqwJphl7lHhyvlf2XAOum7u8VCgAlbmfOp3AJ19oowHDHBJ9BXQ/uL/iZYNVuKzg6
	AJcN0pAtUwi7sSd53zJTbt37jYJ1qjdpJyOsVN+ry5FCm9j+iqPqZ/2HZGCw1fWuvVqX8Y
	DkTqbcHfQRAQIxDZ6iXpDn971q4OwTEKde9L8rS3DTstWTNhFDCjnF0qxRrmXWXaRGab5s
	Mud70o+drfiLlkPiRB/uvONNTKkkGuc+7CuTkpR2YFGroJnjrSiqK3kGJFZCUVijiGBhYF
	37PfFon2oX+Lx3FMAv4IB3pR8HTL3tK6cAzYZgFrx3yC27VrWJ1ToRZvLulSFg==
ARC-Authentication-Results: i=1;
	rspamd-6f8d97c84c-c52ww;
	auth=pass smtp.auth=dreamhost smtp.mailfrom=kjlx@templeofstupid.com
X-Sender-Id: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|kjlx@templeofstupid.com
X-MailChannels-Auth-Id: dreamhost
X-Print-Spill: 7eea6c0b0c88e9ea_1671207682134_153051426
X-MC-Loop-Signature: 1671207682134:1489128601
X-MC-Ingress-Time: 1671207682134
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=templeofstupid.com;
	s=dreamhost; t=1671207681;
	bh=ntqixOp2Rzio0BYbTNNACIXCQK/YxtD97cLJBDAV5UI=;
	h=Date:From:To:Cc:Subject:Content-Type;
	b=uOjwEYkoewh231QtAzac8ZB2yrw4S+dYoTWf6QzXpKonZvN7Cw/1ValnsZzDERPxJ
	 PBOXkrPYirXsqpx0lKtbotoInbq9A1hal4SomyS8mrA/bVKL/5A0soCi42sJyr0R2q
	 1+sfsMN2f2R5BVmt3hjGKA8zBkW87wsp+wI4gF3I=
Date: Fri, 16 Dec 2022 08:21:18 -0800
From: Krister Johansen <kjlx@templeofstupid.com>
To: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Jan Beulich <jbeulich@suse.com>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org, Marcelo Tosatti <mtosatti@redhat.com>,
	Anthony Liguori <aliguori@amazon.com>,
	David Reaver <me@davidreaver.com>,
	Brendan Gregg <brendan@intel.com>
Subject: [PATCH linux-next v3] x86/xen/time: prefer tsc as clocksource when
 it is invariant
Message-ID: <20221216162118.GB2633@templeofstupid.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Kvm elects to use tsc instead of kvm-clock when it can detect that the
TSC is invariant.

(As of commit 7539b174aef4 ("x86: kvmguest: use TSC clocksource if
invariant TSC is exposed")).

Notable cloud vendors[1] and performance engineers[2] recommend that Xen
users preferentially select tsc over xen-clocksource due the performance
penalty incurred by the latter.  These articles are persuasive and
tailored to specific use cases.  In order to understand the tradeoffs
around this choice more fully, this author had to reference the
documented[3] complexities around the Xen configuration, as well as the
kernel's clocksource selection algorithm.  Many users may not attempt
this to correctly configure the right clock source in their guest.

The approach taken in the kvm-clock module spares users this confusion,
where possible.

Both the Intel SDM[4] and the Xen tsc documentation explain that marking
a tsc as invariant means that it should be considered stable by the OS
and is elibile to be used as a wall clock source.

In order to obtain better out-of-the-box performance, and reduce the
need for user tuning, follow kvm's approach and decrease the xen clock
rating so that tsc is preferable, if it is invariant, stable, and the
tsc will never be emulated.

[1] https://aws.amazon.com/premiumsupport/knowledge-center/manage-ec2-linux-clock-source/
[2] https://www.brendangregg.com/blog/2021-09-26/the-speed-of-time.html
[3] https://xenbits.xen.org/docs/unstable/man/xen-tscmode.7.html
[4] Intel 64 and IA-32 Architectures Sofware Developer's Manual Volume
    3b: System Programming Guide, Part 2, Section 17.17.1, Invariant TSC

Signed-off-by: Krister Johansen <kjlx@templeofstupid.com>
Code-reviewed-by: David Reaver <me@davidreaver.com>
---
v3:
  - Temporarily drop references to public API headers
  - tsc_emulated check is redundant if tsc_mode is no emulate. (feedback from
    Boris Ostrovsky)
  - Use cpuid_count instead of cpuid when accessing a cpuid leaf with subleaves.
    (feedback from Jan Beulich)
  - Kernel has its own cpuid hypercall and can intercept checks about the tsc
    mode.  The check for PV mode is inapposite and therefore removed. (feedback
    from Jan Beulich)
v2:
  - Use cpuid information to determine if tsc is emulated.  Do not use tsc as
    clocksource if it is. (feedback from Boris Ostrovsky)
  - Move tsc checks into their own helper function
  - Add defines for tsc cpuid flags needed by new helper function.
---
 arch/x86/xen/time.c | 38 +++++++++++++++++++++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c
index 9ef0a5cca96e..95140609c8a8 100644
--- a/arch/x86/xen/time.c
+++ b/arch/x86/xen/time.c
@@ -474,15 +474,51 @@ static void xen_setup_vsyscall_time_info(void)
 	xen_clocksource.vdso_clock_mode = VDSO_CLOCKMODE_PVCLOCK;
 }
 
+/*
+ * Check if it is possible to safely use the tsc as a clocksource.  This is
+ * only true if the hypervisor notifies the guest that its tsc is invariant,
+ * the tsc is stable, and the tsc instruction will never be emulated.
+ */
+static int __init xen_tsc_safe_clocksource(void)
+{
+	u32 eax, ebx, ecx, edx;
+
+	if (!(boot_cpu_has(X86_FEATURE_CONSTANT_TSC)))
+		return 0;
+
+	if (!(boot_cpu_has(X86_FEATURE_NONSTOP_TSC)))
+		return 0;
+
+	if (check_tsc_unstable())
+		return 0;
+
+	/* Leaf 4, sub-leaf 0 (0x40000x03) */
+	cpuid_count(xen_cpuid_base() + 3, 0, &eax, &ebx, &ecx, &edx);
+
+	/* tsc_mode = no_emulate (2) */
+	if (ebx != 2)
+		return 0;
+
+	return 1;
+}
+
 static void __init xen_time_init(void)
 {
 	struct pvclock_vcpu_time_info *pvti;
 	int cpu = smp_processor_id();
 	struct timespec64 tp;
 
-	/* As Dom0 is never moved, no penalty on using TSC there */
+	/*
+	 * As Dom0 is never moved, no penalty on using TSC there.
+	 *
+	 * If it is possible for the guest to determine that the tsc is a safe
+	 * clocksource, then set xen_clocksource rating below that of the tsc
+	 * so that the system prefers tsc instead.
+	 */
 	if (xen_initial_domain())
 		xen_clocksource.rating = 275;
+	else if (xen_tsc_safe_clocksource())
+		xen_clocksource.rating = 299;
 
 	clocksource_register_hz(&xen_clocksource, NSEC_PER_SEC);
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 17:51:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 17:51:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464856.723381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Er9-0001tX-EO; Fri, 16 Dec 2022 17:50:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464856.723381; Fri, 16 Dec 2022 17:50:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Er9-0001tQ-B0; Fri, 16 Dec 2022 17:50:47 +0000
Received: by outflank-mailman (input) for mailman id 464856;
 Fri, 16 Dec 2022 17:50:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HtZB=4O=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p6Er6-0001tK-Sv
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 17:50:45 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2041.outbound.protection.outlook.com [40.107.236.41])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 27ce94c8-7d6a-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 18:50:41 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by CY8PR12MB7730.namprd12.prod.outlook.com (2603:10b6:930:85::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.11; Fri, 16 Dec
 2022 17:50:35 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c%5]) with mapi id 15.20.5880.018; Fri, 16 Dec 2022
 17:50:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27ce94c8-7d6a-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NBI1xGG667WJpyFm1V+NHa4Lyw3WDXMyIHOFI/4qz7+FqJoTwcIe7Slwa0aonOA7cCVmpdwZzbweaUkgE9Rsy9QTGlWsJqbkg0nxYAP135mCHlrJs7b8YLuKS6LywBQc4pEW3FIzSX7ljL7rlBbTsC+o2v3tk+6w748GTataJUlrALFNkz9ONFLvRgfwA2K9jsBykKBfeeY/tkmR2BInzrAC7Q9CCFSFGVq1vIGu70HeY/RPaDlepK0THMZt8zXLj45cP3L7QBt5+lbv/krXNh+HazYgjGiy7EKO+BYZMSS1NBqyvAphE8k2KFIJ34pGvN7TmULz+TEe9+VkNW8UgQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qVNwLsqxWo1vowtRvXKJD+XzfLsOQGi/uv+w8CxO12w=;
 b=i91iPTt2VNG6N20Nnyp9T+uQ9NAF83vOWLw9yoDSgcJ4Ti9a6n2MFihmMp2HwL7/09jHHXxMQ/3Hv38l5iqnxo6z6gT4lTvWwaQoGHgoR0cdfEUBzhcFHRon3bzVG9ohNK7GnRB/NiWqWZ0/zTAO+Ysup6vVmfrWYP/5hcwXgs2slPLOuBWrtFEdnL4FLO7tBxR7AO669wuqZaVqXleIuR6rEdE0W5vJP8tnksxDWsTTlfZDm/bOqG+P2XmI7OpR6rbR1chtqwmLHmlhz6rxKeEdzNSF8jroBSLir4gP/uu3ntKxfSb0DDlu1Co0qCbA6K0kQeHRH821v9Vg2dybAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qVNwLsqxWo1vowtRvXKJD+XzfLsOQGi/uv+w8CxO12w=;
 b=mTeGT/TxzM/RVxA9b8xYpbmWAVNYSeKEIZuygh7OeeOQHWXeBpqbua8AokKeREVJbiEcHVumxi1fs08k/4CgYFvqOJTMK8tYAxJeogr06FCGy8wt+b5pn9lmb1CEd2n+Nhf80QT8QXfX+27sUz14D8n1bfydCKgdPKh27mOZ1No=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <8d20ba6a-463a-1301-1531-795d1a7f0b2d@amd.com>
Date: Fri, 16 Dec 2022 17:50:30 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [XEN v2] xen/arm: Probe the entry point address of an uImage
 correctly
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com, michal.orzel@amd.com
References: <20221215123826.24145-1-ayan.kumar.halder@amd.com>
 <8d02db8a-e4db-2e0d-b014-b88714b30b09@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <8d02db8a-e4db-2e0d-b014-b88714b30b09@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0196.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:318::6) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|CY8PR12MB7730:EE_
X-MS-Office365-Filtering-Correlation-Id: d1363eda-ca63-41ea-6dc9-08dadf8e08e6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1OiUPSnKy/7Vxio0yl6k6tPF9l3VlNf0IgEDwUdqufKzSHSZZG2+zvXH5Q2vHH6pAhYXCkISrboUJXqNURMohB90r7emDNa3IgCF0xz2gm0Lq0lC2KS07b/frREU7cr1tc8PO8LLwaAImFFsmyzqCtlAlRarYXRvryEpzv2GjZbsu1m2+bIzQqeTLhVTkTVhok3o5OBJJAUJJZDuh23lwTh32zONGwAb2HzO8l7XTLwS5dhPGroTBjiNsazyikHiqb6WbqrwemIXvw9ZTjR40hfPX8FQUMjbVHI/RelhJudqElFkNW9MAoY5PuWi/pwStPO7gKrrm35zzugM6xSAUr/2qx0MoHz0ajrGZvgVoTkYGlnurjYgkRa6RSizLOWuOWxh6uIEHO/k7XH3OBbWebmWonAim3ugEKwtWhD7C3pR/wsnovB1tVwKBGdq1XSw/gUS2XMv25tL3LHaiInQ0wyrvPi+pLZrE3pNbaAiwACgdMTUWw7dwbrQ5csZEaeKC7tv9n1ti3vNi2t1e5j1xXxcX9+3wQ2f0MluR9hg7zhE+0NNmdDNPQDGpFWLjwzCrt5et/PZwfglpPMxJoNVOP52iqs+PFzcLZXdsVYfSsMLddPJ5TyRq+W0Vjdy7li3RJ6F4juArkEIIPtH2EUTQk0Y4Ov3QugHd70Kr2QYfWrhSnd6k70ZpsuFiOQKBofsQnb//kNOa3uM7+pgvYz9WBhQIsTeF8uh1ag1ToetRnn2oYsZxeeN/EHp+411mRUbnTo7Z8t6RJHheHhLJRDR4W6d8RgSAsjPWM08SSjmBT4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(39860400002)(396003)(376002)(136003)(346002)(451199015)(6666004)(31686004)(31696002)(478600001)(6486002)(6506007)(966005)(53546011)(6512007)(26005)(186003)(38100700002)(8936002)(41300700001)(110136005)(4326008)(83380400001)(316002)(36756003)(2906002)(66476007)(8676002)(2616005)(66556008)(66946007)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cEEzbHlBREJ4NFFBcTJ1Wmh2OWsyVkJ2SzRQclV6SDlNZ2hsMGRKQWtjMG96?=
 =?utf-8?B?V1JiNE5JcWgwdTF3NThVdXBYUFQrSVBHNWY0dDJZMHVZNVZ4VXVhMXo3anht?=
 =?utf-8?B?T0s4M0k2N1Vhb2JremIvV1AvWFhJaVV0Z0VadjlNbkNmL0RYckZjTHVSaTVN?=
 =?utf-8?B?TFBJZWNvQ2NYTGFDN0ZTei8rVzhUQjI1bGp0NG9IczQ4L0t4QWJDR2RNWjlD?=
 =?utf-8?B?Ly92eThocTlrU2Z6UjBZdmlHaWRZMy9BTXhPWkhZcjZYOTBoNHJvWW1aYU15?=
 =?utf-8?B?c2RWMWx6RUU5eFVuaHBTTkplQXFHVm5mM0JCTktwTys0OFdEbFBjejVnanJh?=
 =?utf-8?B?Y0d2MXJ0M214NzRYcEhYemlXRzVtVEN0NGJQa1lxN2l5ZUYveGhCTzRzYlgy?=
 =?utf-8?B?TWRDQmhhZWt5NlNiVjBSWjNFL1YxR2JRQ0dGUGlLRXdHTUhnV01najhET1Zr?=
 =?utf-8?B?RnU1dWVtWS81RGZpVm5wRmJzbFRsTnViVHI5WUUyQTJ6ejEwMy9idmk1UmZH?=
 =?utf-8?B?VnRKanJDMitpRHR1SHowcTdZS2lEOGhhMUlsLzl2NEZRVHdDdzNNZ2tSR291?=
 =?utf-8?B?cWpEWWpzemV5bm1wM0doYnVvbzhKU2Z3WDRDOGZpaXhVdE1WRTVkT0RBY0Uy?=
 =?utf-8?B?QzRmNnRMdi83WVE3QXVHRUlDK0g1MWdiMnp4RjRLSEdxb3RCSlg5SFNmZ3JY?=
 =?utf-8?B?QlkyWjAzOXhMUzBIRkxyNE5sNjBWWGszbVl5V0NQZ2xST1hCS0RuS1J5amFZ?=
 =?utf-8?B?b3Bxa3ZTTGEvcDZsVUVWQy9VRFlLaHNqN2huaFhGS0lzVXNBWENpZ2dNaW9x?=
 =?utf-8?B?T3l6TXE3VUV1dEFSbEcrQisxNHM5cFpDaE5QZ2JPQ2dzRmVVVGx6YjNJeEd0?=
 =?utf-8?B?R0lyUzNianVqaExpSGpoc3BBZktwU3BNbEZnTnNaZkp4cU82TmVMTC9vRTY1?=
 =?utf-8?B?S1JOOTBQRXI2QW5Mc0R6djBvOUdxYWMxQlE2ZWVVMWxOaHUxODRaWktBQlFL?=
 =?utf-8?B?L3lISlVaMGROMnlOWGN2eHZwa3JLZVFadGpKcy9xWERwNFlDMGpPcFExanI3?=
 =?utf-8?B?UzRudlB3eG5LdmhPcnl0U2FwRTVUWTR0bGZVMjl0cVFqZHplZEtEY1k3c1FN?=
 =?utf-8?B?MGJSOHdpUU0zSVNZOW1FVXJXb2JoaEJqdFAydFpwbndVZ0hEbkNwM3BWbEJ4?=
 =?utf-8?B?UERYNVV2aEhURmo5OHRZOHN2WTRxTUo4eUtEYzI1WmRBdm5VYmRqQ3pKM09v?=
 =?utf-8?B?WUo2TFpINmYvMkpXbGFZZTQzMXhjVTFOUXpvTUkzUHJCQzJ0T2JkK0dldnc1?=
 =?utf-8?B?Znhyb3VydXRUYmZ2dFpjeERENDRvbS8vWnV5MGt0SkpPZkJONHo4VTBPYVBl?=
 =?utf-8?B?eno2THJGbnBVbGZoOXFxUExaQmlUMmhhZkdNcFFtazg3dXh4MnZ1UnZvRHpF?=
 =?utf-8?B?Z083c3ZOOHJuNkFTbzk2Tzk5RVNtUjVpRWMvM0N0K0JGaGVmczFKcG1jN3B6?=
 =?utf-8?B?bGtKRnY2MUxoV2hFR3RObUs4MnVCMlphaWRyU0N0RDV4ZEpJVXNJVHVCbFJu?=
 =?utf-8?B?eUg4NFpieHd5NDFNMGg0Qi9yWkJVcGF0eS9OV3hZQ0RLaCtvdUNSdnhkaDhZ?=
 =?utf-8?B?SFVoSDJNY3g5d0gxNlJaanM3MkpWN2JGNVdEODJvZXVKMFBIRUNVaGY1VEdh?=
 =?utf-8?B?Z29maWY3a21GYlFqUDdVaTVaUnpXcnRsVEtScWRxMTlqT0FtamwyNFFXT0NW?=
 =?utf-8?B?dWxtamxhVnNZMjBad3g2RG9odDFnUzFINGRyUC80WjJKRU1qZTE4YnFPTG5v?=
 =?utf-8?B?bXkyK05ON25vamJtYnZNaXVLQjIxQlVDSXBMSEZpeVFldkkxSWlUV0tSTVNF?=
 =?utf-8?B?YjhCT3lNTHhZeVZlWU1GaXM0b3RzTU42U25scE1JWlNSU1hzZ1B2c3cwRWR4?=
 =?utf-8?B?Q1RUdURNdVRMK0I2bVpxK0FwSzRPbU1qQnJ6eWFGM3pDN3A5R2xmWjVLdnF0?=
 =?utf-8?B?d3Z3ZXZVVU05a3l3dHJmVGp6ZFljUG9zUS9iRGpBWnY4Zm80RUwrMyt5eGRI?=
 =?utf-8?B?ZUtSbzBscHcwZGd5OTFHa0hLWnMrcy8vK3VlVk9wK29wZWpDeEVab0N1bFBk?=
 =?utf-8?Q?K0NVKWl+FtwNIPFjf6DyBE4Dy?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d1363eda-ca63-41ea-6dc9-08dadf8e08e6
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Dec 2022 17:50:35.6671
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZYGS0b2sh6aneG8jlLQWdO5x1ccs8BovPhVQntFXdDslCxb6nbBBo8sD4aKfLajigj6DI8AklkFkTiD41/iCFg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7730


On 16/12/2022 09:34, Julien Grall wrote:
> Hi,
Hi Julien,
>
> On 15/12/2022 12:38, Ayan Kumar Halder wrote:
>> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
>> result, it contains the default value (ie 0). This causes,
>> kernel_zimage_place() to treat the binary (contained within uImage) as
>> position independent executable. Thus, it loads it at an incorrect 
>> address.
>>
>> The correct approach would be to read "uimage.ep" and set
>> info->zimage.start. This will ensure that the binary is loaded at the
>> correct address. Also, it checks that the load address and entry address
>> are the same. The reason being we currently support non compressed 
>> images
>> for uImage header. And as seen in uboot sources(image_decomp(), case
>> IH_COMP_NONE), load address and entry address can be the same.
>>
>> This behavior is applicable for both arm and arm64 platforms.
>>
>> Earlier for arm32 and arm64 platforms, Xen was ignoring the entry point
>> address set in the uImage header. With this commit, Xen will use the
>> kernel entry point address as specified in the header. This makes the
>> behavior of Xen consistent with uboot for uimage headers.
>
> At the cost of breaking existing users. I think this want to be spelt 
> out clearly.
Do you mean I should document this in "docs/misc/arm/booting.txt" ?
>
>>
>> A deviation from uboot behaviour is that we consider load address == 
>> 0x0,
>> to denote that the image supports position independent execution. This
>> is to make the behavior consistent across uImage and zImage.
>
> You want to explain why users want to use "0x0". Or maybe the other 
> way around, that only a very limited set of user (e.g. in static 
> environment) should provide a fixed address.

Does the following explaination sound fine ?

"Users who want to use Xen with statically partitioned domains, should 
provide the fixed non zero load address for the dom0/domU kernel."

>
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>>
>> Changes from v1:-
>> 1. Added a check to ensure load address and entry address are the same.
>> 2. Considered load address == 0x0 as position independent execution.
>> 3. Ensured that the uImage header interpretation is consistent across
>> arm32 and arm64.
>>
>> Some unanswered queries from v1 :-
>>
>> Q1. "In non-statically allocated setup, a user doesn't know where the 
>> memory
>> for dom0/domU will be allocated.So I think this was correct to ignore 
>> the
>> address."
>> A. I am not sure the best way to handle this. Can we make the uImage 
>> probe
>> dependent on STATIC_MEMORY ? Currently, I have mentioned that user 
>> should
>> use load address = 0x0 if they want Xen to ignore it.
> See above.
>
>>
>> Q2. Zephyr or any other RTOS have different requirements, then we may 
>> need
>> to modify Xen and document it.
>> A. I will take it in a separate email/patch where we can list the
>> requirements for booting Zephyr.
>>
>>   docs/misc/arm/booting.txt         | 11 ++++++++++-
>>   xen/arch/arm/include/asm/kernel.h |  2 +-
>>   xen/arch/arm/kernel.c             | 26 +++++++++++++++++++++++++-
>>   3 files changed, 36 insertions(+), 3 deletions(-)
>>
>> diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt
>> index 3e0c03e065..872262686a 100644
>> --- a/docs/misc/arm/booting.txt
>> +++ b/docs/misc/arm/booting.txt
>> @@ -4,7 +4,13 @@ Booting Xen
>>   Xen follows the zImage protocol defined for 32-bit ARM Linux[1] and 
>> the
>>   Image protocol defined for ARM64 Linux[2].
>>   -In both cases the recommendation to boot in HYP/EL2 mode is a strict
>> +Xen also supports the legacy image protocol[3] for 32-bit ARM and 
>> ARM64.
>> +For now, it supports images where load address is same as entry 
>> address.
>> +A deviation from uboot is that, Xen treats "load address == 0x0" as
>> +position independent execution. Thus, Xen will load such an image at an
>> +address it considers appropriate.
>
> Hmmmm... The section above is related to Xen itself and not the guest 
> Image. So I think this is misplaced.
I don't see a booting section for the guest. Should I create one in this 
file ?
>
>> +
>> +In all cases the recommendation to boot in HYP/EL2 mode is a strict
>>   requirement for Xen.
>>     The exceptions to this on 32-bit ARM are as follows:
>> @@ -39,3 +45,6 @@ Latest version: 
>> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/t
>>     [2] linux/Documentation/arm64/booting.rst
>>   Latest version: 
>> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst
>> +
>> +[3] legacy format header
>> +Latest version: 
>> https://source.denx.de/u-boot/u-boot/-/blob/master/include/image.h#L315
>> diff --git a/xen/arch/arm/include/asm/kernel.h 
>> b/xen/arch/arm/include/asm/kernel.h
>> index 5bb30c3f2f..ee69a47052 100644
>> --- a/xen/arch/arm/include/asm/kernel.h
>> +++ b/xen/arch/arm/include/asm/kernel.h
>> @@ -72,7 +72,7 @@ struct kernel_info {
>>   #ifdef CONFIG_ARM_64
>>               paddr_t text_offset; /* 64-bit Image only */
>>   #endif
>> -            paddr_t start; /* 32-bit zImage only */
>> +            paddr_t start;
>
> I think the comment should be replaced by "Must be 0 for 64-bit Image".

But, 64 bit image can also have a fixed load address.

For zImage(64), start is always 0.

For uImage(64), start can be a fixed load address (if it is not 0).

>
>>           } zimage;
>>       };
>>   };
>> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
>> index 23b840ea9e..81ac945f5b 100644
>> --- a/xen/arch/arm/kernel.c
>> +++ b/xen/arch/arm/kernel.c
>> @@ -127,7 +127,7 @@ static paddr_t __init kernel_zimage_place(struct 
>> kernel_info *info)
>>       paddr_t load_addr;
>>     #ifdef CONFIG_ARM_64
>> -    if ( info->type == DOMAIN_64BIT )
>> +    if ( (info->type == DOMAIN_64BIT) && (info->zimage.start == 0) )
>>           return info->mem.bank[0].start + info->zimage.text_offset;
>>   #endif
>>   @@ -223,6 +223,30 @@ static int __init kernel_uimage_probe(struct 
>> kernel_info *info,
>>       if ( len > size - sizeof(uimage) )
>>           return -EINVAL;
>>   +    info->zimage.start = be32_to_cpu(uimage.ep);
>> +
>> +    /*
>> +     * Currently, we support uImage headers for uncompressed images 
>> only.
>> +     * Thus, it is valid for the load address and start address to 
>> be the
>> +     * same. This is consistent with the uboot behavior (Refer
>> +     * "case IH_COMP_NONE" in image_decomp()).
>> +     */
>> +    if ( info->zimage.start != be32_to_cpu(uimage.load) )
>> +    {
>> +        panic("Unable to support mismatching load address and entry 
>> address\n");
>> +        return -EINVAL;
>> +    }
>> +
>> +    /*
>> +     * While uboot considers 0x0 to be a valid load/start address, 
>> for Xen
>> +     * to mantain parity with zimage, we consider 0x0 to denote 
>> position
>> +     * independent image. That means Xen is free to load such an 
>> image at
>> +     * any valid address.
>> +     * Thus, we will print an appropriate warning.
>> +     */
>> +    if ( info->zimage.start == 0 )
>> +        printk(XENLOG_WARNING "No valid load address provided\n");
>
> This is likely the way user will want to use it in a non-static 
> environment. So why is this a warning?

Sorry, it should be.

printk(XENLOG_INFO, "No load address provided. Assuming domain is 
dynamically allocated\n");

I just wanted to give user a heads-up in case if they are using in a 
static environment.

I can drop the message if it is not much useful.

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 17:56:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 17:56:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464866.723391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Ewi-0002h8-3n; Fri, 16 Dec 2022 17:56:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464866.723391; Fri, 16 Dec 2022 17:56:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Ewi-0002h1-1F; Fri, 16 Dec 2022 17:56:32 +0000
Received: by outflank-mailman (input) for mailman id 464866;
 Fri, 16 Dec 2022 17:56:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p6Ewh-0002gv-3r
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 17:56:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p6Ewg-0003NT-PA; Fri, 16 Dec 2022 17:56:30 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.4.243]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p6Ewg-0008Rm-IU; Fri, 16 Dec 2022 17:56:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=qtjQl/ZmimpDqsExk1IsEk/Ek05wzYHfuBJNNpaMk6w=; b=dgjQVYUmqm3iCUKRqvqvGHhgHt
	7R7603QbnRSZQSMwWTXo7suJK4WHsoiPEuuwrQT8jiT4CJEa4RS613w3PaHPuybcjRdbaTOAerxOo
	gTcNE6e0MzS+n7tLKIYrjTb/QO6vabHFrUircyjlpwRy+qLX35a5XDOjNcXu2wxWeiVg=;
Message-ID: <0e10dd87-8622-c47e-d925-734ae4b357e5@xen.org>
Date: Fri, 16 Dec 2022 17:56:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v2] xen/arm: Probe the entry point address of an uImage
 correctly
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com, michal.orzel@amd.com
References: <20221215123826.24145-1-ayan.kumar.halder@amd.com>
 <8d02db8a-e4db-2e0d-b014-b88714b30b09@xen.org>
 <8d20ba6a-463a-1301-1531-795d1a7f0b2d@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <8d20ba6a-463a-1301-1531-795d1a7f0b2d@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 16/12/2022 17:50, Ayan Kumar Halder wrote:
> 
> On 16/12/2022 09:34, Julien Grall wrote:
>> Hi,
> Hi Julien,
>>
>> On 15/12/2022 12:38, Ayan Kumar Halder wrote:
>>> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
>>> result, it contains the default value (ie 0). This causes,
>>> kernel_zimage_place() to treat the binary (contained within uImage) as
>>> position independent executable. Thus, it loads it at an incorrect 
>>> address.
>>>
>>> The correct approach would be to read "uimage.ep" and set
>>> info->zimage.start. This will ensure that the binary is loaded at the
>>> correct address. Also, it checks that the load address and entry address
>>> are the same. The reason being we currently support non compressed 
>>> images
>>> for uImage header. And as seen in uboot sources(image_decomp(), case
>>> IH_COMP_NONE), load address and entry address can be the same.
>>>
>>> This behavior is applicable for both arm and arm64 platforms.
>>>
>>> Earlier for arm32 and arm64 platforms, Xen was ignoring the entry point
>>> address set in the uImage header. With this commit, Xen will use the
>>> kernel entry point address as specified in the header. This makes the
>>> behavior of Xen consistent with uboot for uimage headers.
>>
>> At the cost of breaking existing users. I think this want to be spelt 
>> out clearly.
> Do you mean I should document this in "docs/misc/arm/booting.txt" ?

Both the commit message and document.

>>
>>>
>>> A deviation from uboot behaviour is that we consider load address == 
>>> 0x0,
>>> to denote that the image supports position independent execution. This
>>> is to make the behavior consistent across uImage and zImage.
>>
>> You want to explain why users want to use "0x0". Or maybe the other 
>> way around, that only a very limited set of user (e.g. in static 
>> environment) should provide a fixed address.
> 
> Does the following explaination sound fine ?
> 
> "Users who want to use Xen with statically partitioned domains, should 
> provide the fixed non zero load address for the dom0/domU kernel."

I would replace "should" with "can" because there is no requirement to 
specify an address.

> 
>>
>>>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>>
>>> Changes from v1:-
>>> 1. Added a check to ensure load address and entry address are the same.
>>> 2. Considered load address == 0x0 as position independent execution.
>>> 3. Ensured that the uImage header interpretation is consistent across
>>> arm32 and arm64.
>>>
>>> Some unanswered queries from v1 :-
>>>
>>> Q1. "In non-statically allocated setup, a user doesn't know where the 
>>> memory
>>> for dom0/domU will be allocated.So I think this was correct to ignore 
>>> the
>>> address."
>>> A. I am not sure the best way to handle this. Can we make the uImage 
>>> probe
>>> dependent on STATIC_MEMORY ? Currently, I have mentioned that user 
>>> should
>>> use load address = 0x0 if they want Xen to ignore it.
>> See above.
>>
>>>
>>> Q2. Zephyr or any other RTOS have different requirements, then we may 
>>> need
>>> to modify Xen and document it.
>>> A. I will take it in a separate email/patch where we can list the
>>> requirements for booting Zephyr.
>>>
>>>   docs/misc/arm/booting.txt         | 11 ++++++++++-
>>>   xen/arch/arm/include/asm/kernel.h |  2 +-
>>>   xen/arch/arm/kernel.c             | 26 +++++++++++++++++++++++++-
>>>   3 files changed, 36 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt
>>> index 3e0c03e065..872262686a 100644
>>> --- a/docs/misc/arm/booting.txt
>>> +++ b/docs/misc/arm/booting.txt
>>> @@ -4,7 +4,13 @@ Booting Xen
>>>   Xen follows the zImage protocol defined for 32-bit ARM Linux[1] and 
>>> the
>>>   Image protocol defined for ARM64 Linux[2].
>>>   -In both cases the recommendation to boot in HYP/EL2 mode is a strict
>>> +Xen also supports the legacy image protocol[3] for 32-bit ARM and 
>>> ARM64.
>>> +For now, it supports images where load address is same as entry 
>>> address.
>>> +A deviation from uboot is that, Xen treats "load address == 0x0" as
>>> +position independent execution. Thus, Xen will load such an image at an
>>> +address it considers appropriate.
>>
>> Hmmmm... The section above is related to Xen itself and not the guest 
>> Image. So I think this is misplaced.
> I don't see a booting section for the guest. Should I create one in this 
> file ?

I would create a new section.

>>
>>> +
>>> +In all cases the recommendation to boot in HYP/EL2 mode is a strict
>>>   requirement for Xen.
>>>     The exceptions to this on 32-bit ARM are as follows:
>>> @@ -39,3 +45,6 @@ Latest version: 
>>> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/t
>>>     [2] linux/Documentation/arm64/booting.rst
>>>   Latest version: 
>>> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst
>>> +
>>> +[3] legacy format header
>>> +Latest version: 
>>> https://source.denx.de/u-boot/u-boot/-/blob/master/include/image.h#L315
>>> diff --git a/xen/arch/arm/include/asm/kernel.h 
>>> b/xen/arch/arm/include/asm/kernel.h
>>> index 5bb30c3f2f..ee69a47052 100644
>>> --- a/xen/arch/arm/include/asm/kernel.h
>>> +++ b/xen/arch/arm/include/asm/kernel.h
>>> @@ -72,7 +72,7 @@ struct kernel_info {
>>>   #ifdef CONFIG_ARM_64
>>>               paddr_t text_offset; /* 64-bit Image only */
>>>   #endif
>>> -            paddr_t start; /* 32-bit zImage only */
>>> +            paddr_t start;
>>
>> I think the comment should be replaced by "Must be 0 for 64-bit Image".
> 
> But, 64 bit image can also have a fixed load address.

Note the uppercase 'I' which refers to the Linux kernel Image protocol.

> 
> For zImage(64), start is always 0.
The official name is Image not zImage. We could call it "linux Image" if 
you prefer.

> 
> For uImage(64), start can be a fixed load address (if it is not 0). >
>>
>>>           } zimage;
>>>       };
>>>   };
>>> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
>>> index 23b840ea9e..81ac945f5b 100644
>>> --- a/xen/arch/arm/kernel.c
>>> +++ b/xen/arch/arm/kernel.c
>>> @@ -127,7 +127,7 @@ static paddr_t __init kernel_zimage_place(struct 
>>> kernel_info *info)
>>>       paddr_t load_addr;
>>>     #ifdef CONFIG_ARM_64
>>> -    if ( info->type == DOMAIN_64BIT )
>>> +    if ( (info->type == DOMAIN_64BIT) && (info->zimage.start == 0) )
>>>           return info->mem.bank[0].start + info->zimage.text_offset;
>>>   #endif
>>>   @@ -223,6 +223,30 @@ static int __init kernel_uimage_probe(struct 
>>> kernel_info *info,
>>>       if ( len > size - sizeof(uimage) )
>>>           return -EINVAL;
>>>   +    info->zimage.start = be32_to_cpu(uimage.ep);
>>> +
>>> +    /*
>>> +     * Currently, we support uImage headers for uncompressed images 
>>> only.
>>> +     * Thus, it is valid for the load address and start address to 
>>> be the
>>> +     * same. This is consistent with the uboot behavior (Refer
>>> +     * "case IH_COMP_NONE" in image_decomp()).
>>> +     */
>>> +    if ( info->zimage.start != be32_to_cpu(uimage.load) )
>>> +    {
>>> +        panic("Unable to support mismatching load address and entry 
>>> address\n");
>>> +        return -EINVAL;
>>> +    }
>>> +
>>> +    /*
>>> +     * While uboot considers 0x0 to be a valid load/start address, 
>>> for Xen
>>> +     * to mantain parity with zimage, we consider 0x0 to denote 
>>> position
>>> +     * independent image. That means Xen is free to load such an 
>>> image at
>>> +     * any valid address.
>>> +     * Thus, we will print an appropriate warning.
>>> +     */
>>> +    if ( info->zimage.start == 0 )
>>> +        printk(XENLOG_WARNING "No valid load address provided\n");
>>
>> This is likely the way user will want to use it in a non-static 
>> environment. So why is this a warning?
> 
> Sorry, it should be.
> 
> printk(XENLOG_INFO, "No load address provided. Assuming domain is 
> dynamically allocated\n");
> 
> I just wanted to give user a heads-up in case if they are using in a 
> static environment.

Again there is no problem to let Xen choosing the address in the static 
environment...

So if there is a message then it should simply be:

"No load address provided. Xen will decide where to load it".

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 18:17:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 18:17:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464874.723403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FGp-0005Gk-Rn; Fri, 16 Dec 2022 18:17:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464874.723403; Fri, 16 Dec 2022 18:17:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FGp-0005Gd-OU; Fri, 16 Dec 2022 18:17:19 +0000
Received: by outflank-mailman (input) for mailman id 464874;
 Fri, 16 Dec 2022 18:17:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=12d2=4O=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p6FGo-0005GW-SA
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 18:17:18 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id df3e80ab-7d6d-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 19:17:17 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 8E6CDB81DE3;
 Fri, 16 Dec 2022 18:17:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 38D38C433D2;
 Fri, 16 Dec 2022 18:17:14 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df3e80ab-7d6d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671214635;
	bh=KPm82mVTCr1jpMCDY0Q3mmkPxn/rELDRoWOUjMIBLM8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JkS9kCPW0+iyxVHqf3QNMXZ0eQl6ZMT1MBPtenTPsvbz+HLQVypazm2ziSZE+z5Jb
	 RlMy3McjNi8LgvFj0asWriL5tlR//9vFsElQoMa9VIuAhObN4abYdKkrgee5088k0V
	 phGYo8/JRjBm99PVVS6ujF2Nr7tRYw/KN52ZsHUejtQzaOVTTTrZGPZxFNsi2q4zRv
	 jRe1DDcT8JQQz3E1f7B1Y3p9OrO5fZc7TYU4GksW64vqmh4TqNv9CuVPY6eYEYEIix
	 lOigiSBiOWcqkQuLDFrcro4e+5xXQknZp7SFJJuxlkhbzfNkyEQetcgceB7M0MKJzr
	 JplNfaQe878lg==
Date: Fri, 16 Dec 2022 10:17:12 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm: Allow to set grant table related limits for
 dom0less domUs
In-Reply-To: <ac21d0f7-0441-8da8-6370-b9fd9ae159b7@amd.com>
Message-ID: <alpine.DEB.2.22.394.2212161017050.315094@ubuntu-linux-20-04-desktop>
References: <20221214130833.543-1-michal.orzel@amd.com> <alpine.DEB.2.22.394.2212151335020.315094@ubuntu-linux-20-04-desktop> <ac21d0f7-0441-8da8-6370-b9fd9ae159b7@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 16 Dec 2022, Michal Orzel wrote:
> On 15/12/2022 22:38, Stefano Stabellini wrote:
> > On Wed, 14 Dec 2022, Michal Orzel wrote:
> >> At the moment, for dom0less domUs, we do not have a way to specify
> >> per domain grant table related limits (unlike when using xl), namely
> >> max version, max number of grant frames, max number of maptrack frames.
> >> This means that such domains always use the values specified by the Xen
> >> command line parameters or their default values if unspecified.
> >>
> >> In order to have more control over dom0less domUs, introduce the
> >> following device-tree properties that can be set under domUs nodes:
> >>  - max_grant_version to set the maximum grant table version the domain
> >>    is allowed to use,
> >>  - max_grant_frames to set the maximum number of grant frames the domain
> >>    is allowed to have,
> >>  - max_maptrack_frames to set the maximum number of grant maptrack frames
> >>    the domain is allowed to have.
> >>
> >> Update documentation accordingly.
> >>
> >> Note that the sanity checks regarding the passed values are already
> >> there in grant_table_init() resulting in panic in case of errors,
> >> therefore no need to repeat them in create_domUs().
> >>
> >> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> >> ---
> >>  docs/misc/arm/device-tree/booting.txt | 21 +++++++++++++++++++++
> >>  xen/arch/arm/domain_build.c           | 11 ++++++++++-
> >>  2 files changed, 31 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> >> index 87eaa3e25491..3879340b5e0a 100644
> >> --- a/docs/misc/arm/device-tree/booting.txt
> >> +++ b/docs/misc/arm/device-tree/booting.txt
> >> @@ -223,6 +223,27 @@ with the following properties:
> >>      the default size of domain P2M pool, i.e. 1MB per guest vCPU plus 4KB
> >>      per MB of guest RAM plus 512KB for guest extended regions.
> >>
> >> +- max_grant_version
> >> +
> >> +    Optional. A 32-bit integer specifying the maximum grant table version
> >> +    the domain is allowed to use (valid values are 1 or 2). If this property
> >> +    is missing, the value specified by Xen command line parameter gnttab=max-ver
> >> +    (or its default value if unspecified, i.e. 1) is used.
> >> +
> >> +- max_grant_frames
> >> +
> >> +    Optional. A 32-bit integer specifying the maximum number of grant frames
> >> +    the domain is allowed to have. If this property is missing, the value
> >> +    specified by Xen command line parameter gnttab_max_frames (or its default
> >> +    value if unspecified, i.e. 64) is used.
> >> +
> >> +- max_maptrack_frames
> >> +
> >> +    Optional. A 32-bit integer specifying the maximum number of grant maptrack
> >> +    frames the domain is allowed to have. If this property is missing, the
> >> +    value specified by Xen command line parameter gnttab_max_maptrack_frames
> >> +    (or its default value if unspecified, i.e. 1024) is used.
> >> +
> >>  Under the "xen,domain" compatible node, one or more sub-nodes are present
> >>  for the DomU kernel and ramdisk.
> >>
> >> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> >> index bef5e905a73c..29b2f3e1faa2 100644
> >> --- a/xen/arch/arm/domain_build.c
> >> +++ b/xen/arch/arm/domain_build.c
> >> @@ -3871,7 +3871,7 @@ void __init create_domUs(void)
> >>              .max_maptrack_frames = -1,
> >>              .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
> >>          };
> >> -        unsigned int flags = 0U;
> >> +        unsigned int flags = 0U, val;
> > 
> > val should be uint32_t
> ok
> 
> > 
> > 
> >>          if ( !dt_device_is_compatible(node, "xen,domain") )
> >>              continue;
> >> @@ -3940,6 +3940,15 @@ void __init create_domUs(void)
> >>              d_cfg.cpupool_id = pool_id;
> >>          }
> >>
> >> +        if ( dt_property_read_u32(node, "max_grant_version", &val) )
> >> +            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
> >> +
> >> +        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
> >> +            d_cfg.max_grant_frames = val;
> >> +
> >> +        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
> >> +            d_cfg.max_maptrack_frames = val;
> > 
> > We need to be careful here because max_grant_frames and
> > max_maptrack_frames are defined as int32_t (signed):
> > 
> >     int32_t max_grant_frames;
> >     int32_t max_maptrack_frames;
> > 
> > I think we should have a check to make sure we don't cause an overflow.
> > For instance:
> > 
> > if ( val >= INT32_MAX ) {
> >     error;
> > }
> > d_cfg.max_grant_frames = val;
> 
> Is following ok for you?
> 
> if ( dt_property_read_u32(node, "max_grant_frames", &val) )
> {
>     if ( val > INT32_MAX )
>         panic("max_grant_frames (%"PRIu32") overflow\n", val);
>     d_cfg.max_grant_frames = val;
> }
> 
> if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
> {
>     if ( val > INT32_MAX )
>         panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
>     d_cfg.max_maptrack_frames = val;
> }

Yes, looks good


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 18:25:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 18:25:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464885.723434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FP3-0007Gz-Aw; Fri, 16 Dec 2022 18:25:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464885.723434; Fri, 16 Dec 2022 18:25:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FP3-0007Ey-7O; Fri, 16 Dec 2022 18:25:49 +0000
Received: by outflank-mailman (input) for mailman id 464885;
 Fri, 16 Dec 2022 18:25:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CdjE=4O=citrix.com=prvs=342889366=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p6FP2-0006tv-7M
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 18:25:48 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e10201a-7d6f-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 19:25:46 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e10201a-7d6f-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671215146;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=JzedIushnEAoBB/aqG3wzgKioYrhoToXkaMaNhgUGsU=;
  b=PhbKH+WU6J653zQepTGHCW8os6EfYriOwaSd3Nkz7UwawKu8CRVCVCoB
   E4dWsHhGlfqrqXD3/fB8cDuKTsk6ntVXwAOGXiNwamdwVKrNFmPUxQX/t
   y6BJDCpmNhF35wssHdD8jOtiP4TKEO/kfyNeJ+vQIT0AKpVKABtdX8HmQ
   Q=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 89196122
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:MG65u6+5bRtEDdps0tCBDrUDjn6TJUtcMsCJ2f8bNWPcYEJGY0x3m
 jcXXW6EOvzbY2XxfI0lb4iy8hlUv8LXndJnSldqrS88E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6kV5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklMy
 MZbFQsPZSu7rOmtz6zrT8dSuJkseZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGM0Yn1lQ/UfrSmM+limf+dXtEr0iSpoI84nTJzRw327/oWDbQUozbHJQLxxzCz
 o7A12/QGgkXFPqv8gWq/WyroObKhH7Dd6tHQdVU8dY12QbOlwT/EiY+Sl+TsfS/zEmkVLp3J
 0UK9wI0oKM19UjtScPyNzWorXjBshMCVt54F+wh9BrL2qfS+xyeBGUPUnhGctNOiSMtbWV0j
 BnTxYqvXGEx9u3OIZ6AyluKhTGPA2soFm0JXhcvRhAK/Ynmjr8N0x2aG76PD5WJptHyHDjxx
 RWDoy4/m6gfgKY36kmrwbzUq2ny/8aUF2bZ8i2SBzv4tV0hOOZJcqTysTDmAeB8wJF1p7Vrl
 FwNgICg4e8HFvlhfwTdEbxWTNlFCxtoWQAwYGKD/bF7r1xBGFb5J+i8BQ2Sw283WvvogRezP
 CfuVfp5vfe/xkeCY65teJ6WAM8316XmHtmNfqmKMYMXOMkoJV/foH8GiausM4fFyRhErE3CE
 c3DLZbE4YgyV8yLMwZat89CiOR2l0jSNEvYRIzhzgTP7FZtTCf9dFvxC3PXNrpRxPrd8G3oH
 yN3a5PiJ+N3DLevPUE6MOc7cTg3EJTMLcyu+pEKKrPdfVoO9aNII6a5/I7NsrdNx8x9/tokN
 FnkMqOE4DITXUH6FDg=
IronPort-HdrOrdr: A9a23:XxpKRaq5cSRJb2ZpIQOLyakaV5oleYIsimQD101hICG9E/b1qy
 nKpp8mPHDP5wr5NEtPpTnjAsm9qALnlKKdiLN5Vd3OYOCMghrKEGgN1/qG/xTQXwH46+5Bxe
 NBXsFFebnN5IFB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="89196122"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, "Christian
 Lindig" <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 09/11] tools/ocaml/libs/xb: check for unmapped ring before accessing it
Date: Fri, 16 Dec 2022 18:25:18 +0000
Message-ID: <828df3206de4f956498a46e41b2a3472fd9bac9e.1671214525.git.edwin.torok@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1671214525.git.edwin.torok@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Xenmmap can unmap the ring, check for this condition before accessing it
to avoid crashing on an unmapped page.

Note that we cannot use the usual OCaml finalizers (like bigarray would) to
perform the unmap, because that might keep a reference count to a foreign
domain's memory that we want to release before destroying the domain.

Signed-off-by: Edwin Török <edvin.torok@citrix.com>
---
Changes:
* new patch
---
 tools/ocaml/libs/xb/xs_ring_stubs.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/tools/ocaml/libs/xb/xs_ring_stubs.c b/tools/ocaml/libs/xb/xs_ring_stubs.c
index 1e472d0bbf..28c79ee139 100644
--- a/tools/ocaml/libs/xb/xs_ring_stubs.c
+++ b/tools/ocaml/libs/xb/xs_ring_stubs.c
@@ -35,7 +35,14 @@
 #include <sys/mman.h>
 #include "mmap_stubs.h"
 
-#define GET_C_STRUCT(a) ((struct mmap_interface *) Data_abstract_val(a))
+static struct mmap_interface* check_addr(struct mmap_interface *interface)
+{
+    if (!interface->addr || interface->addr == MAP_FAILED)
+        caml_failwith("ring is not mapped");
+    return interface;
+}
+
+#define GET_C_STRUCT(a) check_addr((struct mmap_interface *) Data_abstract_val(a))
 
 /*
  * Bytes_val has been introduced by Ocaml 4.06.1. So define our own version
@@ -167,8 +174,6 @@ CAMLprim value ml_interface_set_server_features(value interface, value v)
 {
     CAMLparam2(interface, v);
     struct xenstore_domain_interface *intf = GET_C_STRUCT(interface)->addr;
-    if (intf == (void*)MAP_FAILED)
-        caml_failwith("Interface closed");
 
     intf->server_features = Int_val(v);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 18:25:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 18:25:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464883.723417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FP1-0006uD-L5; Fri, 16 Dec 2022 18:25:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464883.723417; Fri, 16 Dec 2022 18:25:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FP1-0006u6-II; Fri, 16 Dec 2022 18:25:47 +0000
Received: by outflank-mailman (input) for mailman id 464883;
 Fri, 16 Dec 2022 18:25:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CdjE=4O=citrix.com=prvs=342889366=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p6FP0-0006tv-Ep
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 18:25:46 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0cacc7ac-7d6f-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 19:25:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0cacc7ac-7d6f-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671215144;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=SK6xSKqseYAyljVhQuyH2yP+rYs8EJtjkFWvFQgviSY=;
  b=cZe3nr4fy40GAQc2XOkQykNfjSzEfS1tMT/4b/Z63lNHcgK10Z8eEYpK
   +KyHf82OhCftcy+a0ul58YTB1EKBxpcj5UQbfdS2Vt58JW5Xcvk5mLxvw
   E6mRH7CcxL4LhW9bPG5cmm+mBGfW/S/i7R5oJ8GKx/zwFqBjUgNLJgu8e
   o=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88800464
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:eD6EAa8M3DOeBEqwWNGHDrUDjn6TJUtcMsCJ2f8bNWPcYEJGY0x3x
 mNKDGCOOffbYGGgL9wgPtixph8DvMTdnNNgHgRrrCs8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6kV5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklC6
 6VGch8OaCml2cSf0LaGGvkro9kaeZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGM0Yn1lQ/UfrSmM+limf+dXtEr0iSpoI84nTJzRw327/oWDbQUozaFZ0NwhjEz
 o7A13bYWTwGFNW28Dii/nOyvOGVrCOqfLtHQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFaItwARc8BdGOo77EeK0KW8yxmdLngJSHhGctNOiSMtbWV0j
 BnTxYqvXGEx9u3OIZ6AyluKhT+sYHZPAmwEXAlaayIV5+SzsMYWkyuaG76PD5WJptHyHDjxx
 RWDoy4/m6gfgKY36kmrwbzUq2ny/8aUF2bZ8i2SBzv4tV0hOOZJcqTysTDmAeB8wJF1p7Vrl
 FwNgICg4e8HFvlhfwTdEbxWTNlFCxtoWQAwYGKD/bF7r1xBGFb5J+i8BQ2Sw283WvvogRezP
 CfuVfp5vfe/xkeCY65teJ6WAM8316XmHtmNfqmKMYMXOMkoJV/foH8GiausM4fFyRhErE3CE
 c3DLZbE4YgyV8yLMwZat89CiOR2l0jSNEvYRIzhzgTP7FZtTCf9dFvxC3PXNrpRxPrd8G3oH
 yN3a5PiJ+N3DLevPUE6MOc7cTg3EJTMLcyu+pEKKrPdfVoO9aNII6a5/I7NsrdNx8x9/tokN
 FnnMqOE4DITXUH6FDg=
IronPort-HdrOrdr: A9a23:dyk33q81/gVqBaMH6zpuk+A/I+orL9Y04lQ7vn2ZHyYlFPBw9v
 rAoB1/73XJYVkqNE3I9erwQ5VoBEmsjaKdgrN+AV7BZniAhILyFvAB0WKK+VSJJ8S9zJ8/6U
 4HSdkaNDSaNykCsS+V2mSFOudl6MSDtJi1ifvT71oFd3ARV4hQqy9lDw6ACE1/Q01jDZo9UL
 6R/NBOqTblWXl/VKWGL0hAd/XHr8fQlJrgJToPBxti1RKHiimh4qP7FR/d/hp2aVNyKblLyx
 mgr+Wo3M6ej80=
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="88800464"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, Christian
 Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 06/11] tools/ocaml: add .clang-format
Date: Fri, 16 Dec 2022 18:25:15 +0000
Message-ID: <a3af11ec979d7559ba8db2d185bd51454858739d.1671214525.git.edwin.torok@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1671214525.git.edwin.torok@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Add a .clang-format configuration that tries to match CODING_STYLE where
possible.

I was not able to express the special casing of braces after 'do'
though, this can only be controlled generally for all control
statements.
It is imperfect, but should be better than the existing bindings, which
do not follow Xen coding style.

Add this to tools/ocaml first because:
* there are relatively few C files here, and it is a good place to start with
* it'd be useful to make these follow Xen's CODING_STYLE
(which they currently do not because they use tabs for example)
* they change relatively infrequently, so shouldn't cause issues with
  backporting security fixes (could either backport the reindentation
  patch too, or use git cherry-pick with `-Xignore-space-change`)

Does not yet reformat any code.

No functional change.

Signed-off-by: Edwin Török <edvin.torok@citrix.com>
Acked-by: Christian Lindig <christian.lindig@citrix.com>
---
Changes since v1:
* change commit title to reflect this is for OCaml subtree only
* don't mention stdint.h here, that may be fixed in a different way elsewhere
* add Acked-by line
---
 tools/ocaml/.clang-format | 9 +++++++++
 1 file changed, 9 insertions(+)
 create mode 100644 tools/ocaml/.clang-format

diff --git a/tools/ocaml/.clang-format b/tools/ocaml/.clang-format
new file mode 100644
index 0000000000..7ff88ee043
--- /dev/null
+++ b/tools/ocaml/.clang-format
@@ -0,0 +1,9 @@
+BasedOnStyle: GNU
+IndentWidth: 4
+
+# override GNU to match Xen ../../CODING_STYLE more closely
+AlwaysBreakAfterDefinitionReturnType: None
+AlwaysBreakAfterReturnType: None
+SpacesInConditionalStatement: true
+SpaceBeforeParens: ControlStatements
+BreakBeforeBraces: Allman
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 18:25:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 18:25:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464884.723428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FP2-00079Q-Su; Fri, 16 Dec 2022 18:25:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464884.723428; Fri, 16 Dec 2022 18:25:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FP2-00079J-PH; Fri, 16 Dec 2022 18:25:48 +0000
Received: by outflank-mailman (input) for mailman id 464884;
 Fri, 16 Dec 2022 18:25:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CdjE=4O=citrix.com=prvs=342889366=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p6FP1-0006tv-7I
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 18:25:47 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d08c929-7d6f-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 19:25:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d08c929-7d6f-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671215144;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=g4p5R9xtV45SffUqomxDtezBVesWLTVPg0ts1Qe1yj4=;
  b=SBBM9u6RTX/jVga/MIPCsEsa/21uOsQSxPCX8TJ1YTXc4EmlPrKf7rhQ
   LVzRe13rgtNhEYAdb5S8OqKMlo9PdAWSw77T0h5bO9//3zBDMt/Nok8KY
   l7rMFcssRZDOe0py3KobZgWKVuvWfkuWDHVN+/dSlT2pPzZkXwUAfdpdC
   E=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88806404
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:zPj6MKqN9QV137olXYOHQu6/bCFeBmLbZRIvgKrLsJaIsI4StFCzt
 garIBnTPv/fYGWhfI8ibonnpkhSv8SAz9BgQVBury42RnwS9puZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzidNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAClQY0yErcKr+qi2YcxLl+s9I8/uBapK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFHU/rSn8/x7pX7WzBUtlOT47Yw+W/Q5AdwzKLsIJzefdniqcB9zhbI/
 jyapziR7hcyBYSQ4iObq0uWme7BpR3SQdseRYbi6as/6LGU7jNKU0BHPbehmtGmjmauVtQZL
 FYbkgIssKwz+UqDXtT7GRqirxaspQUAUtBdF+k77gClyafO5QudQG8eQVZpeNEg8cM7WzEu/
 luIhM/yQyxitqWPTnCQ/avSqim9UQAZJHEPTTUJRgwE55/kuo5bphDFQ8tnEaW1psboAjy2y
 DePxBXSnJ1K05RNjf/iuwma3XT8/fAlUzLZ+C3OA2/56SlZebS/aqeNzkn08/lGKb+wGwzpU
 Gc/p+CS6+UHDJeonSOLQfkQELzB28tpIAEwknY0QcB/qm3FF2qLONkJvWogfBsB3tMsI2eBX
 aPFhe9GCHa/1lOOZLQ/XY++At9CIUPIRYW8DaC8gjajj/FMmO67EMNGPxb4M4PFyhJEfUQD1
 XCzL66R4Y4yU/gP8dZPb751PUUX7i4/33jPYpvw0g6q17GTDFbMF+hcaQHfN7FptP/ayOkwz
 zq4H5LaoyizrcWkOnWHmWLtBQ5iwYcH6WDe9JUMK7/rzvtOE2A9Ef7BqY7NiKQ895m5Ytzgp
 ynnMmcBkQqXuJEyAVnSApyVQO+1DMkXQLNSFXBEAGtELFB/OdfysftCKcRnFVTlncQ6pcNJo
 zA+U53oKpxypv7volzxsbGVQFReSSmW
IronPort-HdrOrdr: A9a23:9FDtm6NiOblQ1MBcTyb155DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE7gr5K0tQ4OxoWZPwNk80kKQY3WB/B8bHYOCLggqVxeJZnP3fKl/bakrDH4dmvM
 8OHZSWY+eAbmSS+PyKhTVQZOxQouVvnprJuc7ui1NWCS16YaBp6Al0TiyBFFdteQVADZ0lUL
 KB+8tuvVObCDwqR/X+IkNAc/nIptXNmp6jSwUBHQQb5A6Hii7twKLmEiKfwgwVX1p0sPwfGC
 n+4kbED5eYwr2GIyznpiDuBlNt6ZXcI+54dYGxYw4uW3TRY0iTFcRcsva5zUgISamUmS0XeZ
 /30l4d1o1ImgnsV3Dwrh331wb61jEyr3fk1F+DmHPm5df0XTQgFqN69PBkmzbimjodVetHod
 F29nPcs4ASAQLLnSz76dSNXxZ2llCsqX5nleIIlXRQXYYXdbcU9OUkjTdoOYZFGDi/5JEsEe
 FoAs2Z7PFKcUmCZ3ScumV02tSjUnk6Ax/DSEkfvc6e1SRQgRlCvj4l7d1amm1F+IM2SpFC6e
 iBOqN0lKtWRstTdq55DPdpe7rHNoUMe2OzDIu/GyWZKEhcAQOxl3fe2sRI2N2X
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="88806404"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@cloud.com>, "Christian
 Lindig" <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [PATCH v4 00/11] OCaml fixes
Date: Fri, 16 Dec 2022 18:25:09 +0000
Message-ID: <cover.1671214525.git.edwin.torok@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

From: Edwin Török <edwin.torok@cloud.com>

Various OCaml fixes, some of which got Acked already.

Note: the Data_abstract_val got Acked but not yet commited because we thought
there might be a better way with finalizers/etc.
It is not possible to use finalizers here but there is a new followup patch in
this series that detects use-after-free and raises an exception without
trigerring undefined behaviour or crashes (see 'xb: check for unmapped ring').

The formatting patch was controversial during the 4.17 freeze, but master is
open now, and both the maintainer and myself agree with it,
so I think we should be able to do it now.
I've split it up into 2: add the formatting rules, and the actual formatting,
so that it is easier to redo the formatting patch when this gets backported.

I think we should just commit it rather than worry that there might be more
bugfixes to come after and attempt to rebase the bugfixes without the
formatting patch (introducing bugs in the process), especially that one of the
patches not yet posted to fix use of enter/leave changes quite a significant
part of all C stubs, and I don't have a way of developing those patches without
the formatting patch.

The rest are various bugfixes to the C bindings, and I have more to send
after I've tested them
(almost all uses of enter/leave blocking section are
wrong because they access OCaml values in non-safe ways with _H,
but the GC may have already moved them which would cause a crash,
that changes a lot of bindings and needs more testing before sending out,
and I've got a few more OCaml 5 fixes too).

Edwin Török (11):
  tools/ocaml/libs/{xb, mmap}: use Data_abstract_val wrapper
  tools/ocaml/xenstored/Makefile: use ocamldep -sort for linking order
  CODING_STYLE(tools/ocaml): add 'make format' and remove tabs
  tools/ocaml: run "make format"
  CODING-STYLE(tools/ocaml): add .editorconfig to clarify indentation
    uses spaces
  tools/ocaml: add .clang-format
  fixup! tools/ocaml/xenctrl: OCaml 5 support, fix use-after-free
  tools/ocaml/libs/mmap: mark mmap/munmap as blocking and raise
    Unix_error on failure
  tools/ocaml/libs/xb: check for unmapped ring before accessing it
  tools/ocaml/xenstored: validate config file before live update
  tools/ocaml/libs/xb: drop Xs_ring.write

 .editorconfig                                 |   20 +
 tools/ocaml/.clang-format                     |    9 +
 tools/ocaml/Makefile                          |    5 +
 tools/ocaml/libs/eventchn/xeneventchn_stubs.c |  194 +-
 tools/ocaml/libs/mmap/mmap_stubs.h            |    8 +-
 tools/ocaml/libs/mmap/xenmmap.ml              |    2 +-
 tools/ocaml/libs/mmap/xenmmap.mli             |    4 +-
 tools/ocaml/libs/mmap/xenmmap_stubs.c         |  123 +-
 tools/ocaml/libs/xb/op.ml                     |   76 +-
 tools/ocaml/libs/xb/packet.ml                 |   30 +-
 tools/ocaml/libs/xb/partial.ml                |   48 +-
 tools/ocaml/libs/xb/xb.ml                     |  416 ++--
 tools/ocaml/libs/xb/xb.mli                    |  106 +-
 tools/ocaml/libs/xb/xenbus_stubs.c            |   50 +-
 tools/ocaml/libs/xb/xs_ring.ml                |   31 +-
 tools/ocaml/libs/xb/xs_ring_stubs.c           |  221 +-
 tools/ocaml/libs/xc/xenctrl.ml                |  326 +--
 tools/ocaml/libs/xc/xenctrl.mli               |   12 +-
 tools/ocaml/libs/xc/xenctrl_stubs.c           | 1556 ++++++-------
 tools/ocaml/libs/xentoollog/caml_xentoollog.h |    6 +-
 .../ocaml/libs/xentoollog/xentoollog_stubs.c  |  196 +-
 tools/ocaml/libs/xl/xenlight_stubs.c          | 2022 ++++++++---------
 tools/ocaml/libs/xs/queueop.ml                |   48 +-
 tools/ocaml/libs/xs/xs.ml                     |  220 +-
 tools/ocaml/libs/xs/xs.mli                    |   46 +-
 tools/ocaml/libs/xs/xsraw.ml                  |  300 +--
 tools/ocaml/libs/xs/xst.ml                    |   76 +-
 tools/ocaml/libs/xs/xst.mli                   |   20 +-
 tools/ocaml/test/dmesg.ml                     |   26 +-
 tools/ocaml/test/list_domains.ml              |    4 +-
 tools/ocaml/test/raise_exception.ml           |    4 +-
 tools/ocaml/test/xtl.ml                       |   28 +-
 tools/ocaml/xenstored/Makefile                |    6 +-
 tools/ocaml/xenstored/config.ml               |  156 +-
 tools/ocaml/xenstored/connection.ml           |  578 ++---
 tools/ocaml/xenstored/connections.ml          |  294 +--
 tools/ocaml/xenstored/disk.ml                 |  218 +-
 tools/ocaml/xenstored/domain.ml               |  116 +-
 tools/ocaml/xenstored/domains.ml              |  298 +--
 tools/ocaml/xenstored/event.ml                |   28 +-
 tools/ocaml/xenstored/history.ml              |   62 +-
 tools/ocaml/xenstored/logging.ml              |  478 ++--
 tools/ocaml/xenstored/packet.ml               |   20 +-
 tools/ocaml/xenstored/parse_arg.ml            |  132 +-
 tools/ocaml/xenstored/perms.ml                |  216 +-
 tools/ocaml/xenstored/poll.ml                 |   68 +-
 tools/ocaml/xenstored/poll.mli                |    4 +-
 tools/ocaml/xenstored/process.ml              | 1210 +++++-----
 tools/ocaml/xenstored/quota.ml                |   74 +-
 tools/ocaml/xenstored/select_stubs.c          |   62 +-
 tools/ocaml/xenstored/stdext.ml               |  190 +-
 tools/ocaml/xenstored/store.ml                |  752 +++---
 tools/ocaml/xenstored/symbol.ml               |    2 +-
 tools/ocaml/xenstored/syslog.ml               |   48 +-
 tools/ocaml/xenstored/syslog_stubs.c          |   68 +-
 tools/ocaml/xenstored/systemd_stubs.c         |   10 +-
 tools/ocaml/xenstored/transaction.ml          |  352 +--
 tools/ocaml/xenstored/trie.ml                 |  222 +-
 tools/ocaml/xenstored/trie.mli                |   22 +-
 tools/ocaml/xenstored/utils.ml                |  146 +-
 tools/ocaml/xenstored/xenstored.ml            |  987 ++++----
 61 files changed, 6569 insertions(+), 6483 deletions(-)
 create mode 100644 .editorconfig
 create mode 100644 tools/ocaml/.clang-format

--
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 18:25:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 18:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464886.723450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FP5-0007hz-Ik; Fri, 16 Dec 2022 18:25:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464886.723450; Fri, 16 Dec 2022 18:25:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FP5-0007hs-Fg; Fri, 16 Dec 2022 18:25:51 +0000
Received: by outflank-mailman (input) for mailman id 464886;
 Fri, 16 Dec 2022 18:25:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CdjE=4O=citrix.com=prvs=342889366=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p6FP3-0006tv-Sz
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 18:25:50 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1024ab95-7d6f-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 19:25:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1024ab95-7d6f-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671215148;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=akUAll4puRfqcu6sGYOTdW3xpijmHRt6oI3ArvgLy24=;
  b=IsgjiO9YpHtJr0LyB3/eb7xcU8rcGp2wFje4iHuZik5ykLS8W/KnF4DU
   k/W/f84fXBor6W690SQg3Gln0htER5ms+1La+EiLRGxQzzCcdgxZRLIa7
   cALe324JR6ymfM0WD4DQL4jHndVndKnRfCGecwuAUfsUskNNClWQFpkSF
   8=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88800474
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:0bJHEqssU4ZmDNbJzFvwo0LoKOfnVFheMUV32f8akzHdYApBsoF/q
 tZmKWqDO/+NZ2D3c9kiO4W0oxtT6p/Qzd5gSABl/3hkEyoQ+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWHySFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwEGtQMindt8ONxZ2nVNNzvsBgLJbIM9ZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfAdMYH49tL7Aan3XfjFGqVTTua0t5Gv7xw1tyrn9dtHSf7RmQO0FzhbA/
 j6ZowwVBDkHP4a1kziM20iig77NnTqqcd1JBp+no6sCbFq7mTVIVUx+uUGAiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0V9NOHsUg5QqKy66S5ByWbkAbShZRZdpgs9U5LQHGz
 XfQwYmvX2Y29uTIFzTNrd94sA9eJwAtdjJeXHE0bDAAzMX9mp4LilHPEfVsRfvdYsLOJRn8x
 DWDrS4bjroVjNIW26jTwW0rkw5AtbCSEFdru1y/snaNq1ogOdX7P9DABU3zt64oEWqPcrWWU
 JHoceC65ftGM5yCnTflrA4lTODwvKbt3NExbDdS83gdG9aFoSbLkWN4umsWyKJV3iEsJ1fUj
 Lf741852XOqFCLCgVVLS4ywEd826qPrCM7oUPvZBvIXPMcoLVXWpXA+PRLOt4wIrKTLufhvU
 ap3jO72VSpKYUiZ5GTeqxghPU8DmXllmDK7qWHTxBW7y7uODEN5up9cWGZimtsRtfveyC2Mq
 oY3Cid/40kHOAEISnWNoNF7wJFjBSRTOK0aXOQLLr/ef1Y7Rj5xYxITqJt4E7FYc21uvr+g1
 hmAtoVwkTITWVWvxd22V01e
IronPort-HdrOrdr: A9a23:IopYJq1/R8Ip+0HqsYo6uwqjBIokLtp133Aq2lEZdPRUGvb3qy
 nIpoVj6faUskd2ZJhOo7C90cW7LU80sKQFhLX5Xo3SOzUO2lHYT72KhLGKq1aLdhEWtNQtsZ
 uIG5IOcOEYZmIasS+V2maF+q4bsbu6zJw=
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="88800474"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, Christian
 Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 08/11] tools/ocaml/libs/mmap: mark mmap/munmap as blocking and raise Unix_error on failure
Date: Fri, 16 Dec 2022 18:25:17 +0000
Message-ID: <b3702512bd2e21aade04f9091951397e9ba3f234.1671214525.git.edwin.torok@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1671214525.git.edwin.torok@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

These functions can potentially take some time,
so allow other OCaml code to proceed meanwhile (if any).

Also raise a Unix_error based on `errno` if `mmap` fails, instead of just
calling failwith (which would lose the error reason).

Signed-off-by: Edwin Török <edvin.torok@citrix.com>
---

Changes since v2:
* repost of lost patch from 2020 (posted to ML on 2021
  https://patchwork.kernel.org/project/xen-devel/patch/294a60be29027d33b0a1d154b7d576237c7dd420.1620755942.git.edvin.torok@citrix.com/)
---
 tools/ocaml/libs/mmap/xenmmap_stubs.c | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/tools/ocaml/libs/mmap/xenmmap_stubs.c b/tools/ocaml/libs/mmap/xenmmap_stubs.c
index bf864a7c32..5b8c240ef9 100644
--- a/tools/ocaml/libs/mmap/xenmmap_stubs.c
+++ b/tools/ocaml/libs/mmap/xenmmap_stubs.c
@@ -27,6 +27,8 @@
 #include <caml/custom.h>
 #include <caml/fail.h>
 #include <caml/callback.h>
+#include <caml/unixsupport.h>
+#include <caml/signals.h>
 
 #define Intf_val(a) ((struct mmap_interface *) Data_abstract_val(a))
 
@@ -35,7 +37,9 @@ static int mmap_interface_init(struct mmap_interface *intf,
                                int len, int offset)
 {
     intf->len = len;
+    caml_enter_blocking_section();
     intf->addr = mmap(NULL, len, pflag, mflag, fd, offset);
+    caml_leave_blocking_section();
     return (intf->addr == MAP_FAILED) ? errno : 0;
 }
 
@@ -64,17 +68,22 @@ CAMLprim value stub_mmap_init(value fd, value pflag, value mflag,
     if (mmap_interface_init(Intf_val(result), Int_val(fd),
                             c_pflag, c_mflag,
                             Int_val(len), Int_val(offset)))
-        caml_failwith("mmap");
+        uerror("mmap", Nothing);
     CAMLreturn(result);
 }
 
 CAMLprim value stub_mmap_final(value intf)
 {
     CAMLparam1(intf);
+    struct mmap_interface interface = *Intf_val(intf);
 
-    if (Intf_val(intf)->addr != MAP_FAILED)
-        munmap(Intf_val(intf)->addr, Intf_val(intf)->len);
+    /* mark it as freed, in case munmap below fails, so we don't retry it */
     Intf_val(intf)->addr = MAP_FAILED;
+    if (interface.addr != MAP_FAILED) {
+        caml_enter_blocking_section();
+        munmap(interface.addr, interface.len);
+        caml_leave_blocking_section();
+    }
 
     CAMLreturn(Val_unit);
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 18:25:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 18:25:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464887.723460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FP6-0007zE-Qc; Fri, 16 Dec 2022 18:25:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464887.723460; Fri, 16 Dec 2022 18:25:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FP6-0007z3-Na; Fri, 16 Dec 2022 18:25:52 +0000
Received: by outflank-mailman (input) for mailman id 464887;
 Fri, 16 Dec 2022 18:25:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CdjE=4O=citrix.com=prvs=342889366=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p6FP5-0006tv-SB
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 18:25:51 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0fdb66a4-7d6f-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 19:25:50 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0fdb66a4-7d6f-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671215150;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=+qiRt7qXMDUW2Lh6zGZ8vuFNvacsvAkkokWySMsWC7A=;
  b=MlXIkRtkk+HlJBqMHfcKJuu2PQME9AXGK/KQUXEi0im9swv3LYI2Gxm2
   aMasSZ3SJYpxiLDwYGmef7uKXcIbmfzFFmSETvBqnbF8mK3M/9/5B9rIx
   DC9mgyGBt1TbrL02RSiuiwQNuzY0T9mbX964C+7ULoKBTUiDYeTca3XuJ
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88310837
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:qwA7UqkziJDBIjBuiCGJES3o5gyPJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIYUTvSO6vbZGfye41xaN7g9BsF6JDVzIRqGVFl+X89ESMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icf3grHmeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aqaVA8w5ARkP6kR5QGGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 ecZaw4yYzacvbqZzKO+aeNRupx5Dta+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsfYT/7C7pn9AusrnTzbTxe7k6Sv600y2PS0BZwwP7mN9+9ltmiFZUOxx7I/
 T2uE2LRKUFKG+CkzHm823eJn+rkhn2ge65JC+jtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHslhIVRdd4CeAx7wCJjK3O7G6xGWwsXjNHLts8u6cLqScCj
 wHT2YmzXHo27ePTGSn1GqqoQS2aIilWE1APQzA+FSQJ8tzAqrwP1kjtUYM2eEKqteHdFTb1y
 jGMiSExgbQPkMIGv5mGEUD7byGE/caQEFNsjunDdif8t14iOtb5D2C9wQKDhcusOrp1WbVoU
 JIsv8GFpN4DApiW/MBmaLVcRer5jxpp3dC1vLKOI3XD3271k5JAVdoKiN2bGKuOGphsRNMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QRO8ErJVbWrHkyOyZ8OlwBd2B1wckC1
 WqzK57wXR7294w5pNZJewvt+eBynX1vrY8ibZv60w6mwdKjiI29EN843K+1Rrlhtsus+VyFm
 +uzwuPWk32zpsWiOHiImWPSRHhWRUUG6Wfe95QGK7Pff1Q5SAnMyZb5mNscRmCspIwN/s+gw
 513chYwJIbX7ZEfFTi3Vw==
IronPort-HdrOrdr: A9a23:Jks78aN+eyJ06MBcTiajsMiBIKoaSvp037B87TEWdfU1SKOlfq
 WV9sjzuiWZtN98YgBapTnEAtj5fZq+z/BICOsqTNCftVLdyQmVxehZhOPfKn/bak7DH4hmpM
 JdmsNFeaTN5DZB4PrS0U2RDtNl+MWK7KyJqI7lvg1QZDAvQ7xk5x1iCg6dVml/RAwDIZYiDp
 KT6o5mqlObGEg/X4CSG3wMRfLCr9qOsJrnZFo6HBYh8gGFkDOv7/rbHnGjviv3XVt0sNMfGD
 j++DDE2g==
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="88310837"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, Christian
 Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 01/11] tools/ocaml/libs/{xb, mmap}: use Data_abstract_val wrapper
Date: Fri, 16 Dec 2022 18:25:10 +0000
Message-ID: <4eb53994bcc3548e8da6e8ab9c50acf822b85702.1671214525.git.edwin.torok@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1671214525.git.edwin.torok@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This is not strictly necessary since it is essentially a no-op
currently: a cast to void* and value*, even in OCaml 5.0.

However it does make it clearer that what we have here is not a regular
OCaml value, but one allocated with Abstract_tag or Custom_tag,
and follows the example from the manual more closely:
https://v2.ocaml.org/manual/intfc.html#ss:c-outside-head

It also makes it clearer that these modules have been reviewed for
compat with OCaml 5.0.

We cannot use OCaml finalizers here, because we want control over when to unmap
these pages from remote domains.
A follow-up commit will add use-after-free detection instead.

No functional change.

Signed-off-by: Edwin Török <edvin.torok@citrix.com>
Acked-by: Christian Lindig <christian.lindig@citrix.com>
---
Reason for inclusion in 4.17:
- make code follow best practice for upcoming OCaml 5.0 compiler (already in beta)

Changes since v2:
- add Acked-by line

Changes since v3:
- mention that use-after-free is fixed in another commit, and we cannot use
  finalizers here
---
 tools/ocaml/libs/mmap/mmap_stubs.h    | 4 ++++
 tools/ocaml/libs/mmap/xenmmap_stubs.c | 2 +-
 tools/ocaml/libs/xb/xs_ring_stubs.c   | 2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/tools/ocaml/libs/mmap/mmap_stubs.h b/tools/ocaml/libs/mmap/mmap_stubs.h
index 65e4239890..66f18d4406 100644
--- a/tools/ocaml/libs/mmap/mmap_stubs.h
+++ b/tools/ocaml/libs/mmap/mmap_stubs.h
@@ -30,4 +30,8 @@ struct mmap_interface
 	int len;
 };
 
+#ifndef Data_abstract_val
+#define Data_abstract_val(x) ((void*)(value*)(x))
+#endif
+
 #endif
diff --git a/tools/ocaml/libs/mmap/xenmmap_stubs.c b/tools/ocaml/libs/mmap/xenmmap_stubs.c
index e2ce088e25..141dedb78c 100644
--- a/tools/ocaml/libs/mmap/xenmmap_stubs.c
+++ b/tools/ocaml/libs/mmap/xenmmap_stubs.c
@@ -28,7 +28,7 @@
 #include <caml/fail.h>
 #include <caml/callback.h>
 
-#define Intf_val(a) ((struct mmap_interface *) a)
+#define Intf_val(a) ((struct mmap_interface *) Data_abstract_val(a))
 
 static int mmap_interface_init(struct mmap_interface *intf,
                                int fd, int pflag, int mflag,
diff --git a/tools/ocaml/libs/xb/xs_ring_stubs.c b/tools/ocaml/libs/xb/xs_ring_stubs.c
index 7a91fdee75..cc9114029f 100644
--- a/tools/ocaml/libs/xb/xs_ring_stubs.c
+++ b/tools/ocaml/libs/xb/xs_ring_stubs.c
@@ -35,7 +35,7 @@
 #include <sys/mman.h>
 #include "mmap_stubs.h"
 
-#define GET_C_STRUCT(a) ((struct mmap_interface *) a)
+#define GET_C_STRUCT(a) ((struct mmap_interface *) Data_abstract_val(a))
 
 /*
  * Bytes_val has been introduced by Ocaml 4.06.1. So define our own version
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 18:25:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 18:25:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464888.723472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FPB-0008MP-2r; Fri, 16 Dec 2022 18:25:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464888.723472; Fri, 16 Dec 2022 18:25:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FPA-0008MI-Vo; Fri, 16 Dec 2022 18:25:56 +0000
Received: by outflank-mailman (input) for mailman id 464888;
 Fri, 16 Dec 2022 18:25:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CdjE=4O=citrix.com=prvs=342889366=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p6FP9-0008JE-LL
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 18:25:55 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 12969fd6-7d6f-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 19:25:54 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12969fd6-7d6f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671215154;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=pkx+gUPbV7RhTA8lMVSEQj8qou0HNc5ehSj2n3VmU4U=;
  b=aL3oKlGV2aUXZJP0cm771zHVKp+EHH4Xnt8njYXTpvgRjBOOdUTc4jn/
   cWpF4SmhALE+vWqHNnxZtzErcCj4J50AZHsxMosDdPy5DAXIth946yMld
   Jdj04WzKaP1PEW0geNSdd1h2cev/z3LPboRZqz82+twUXocJ95IQe2Yym
   E=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 91288385
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:6ZjQqKPytWnkEOHvrR2Vl8FynXyQoLVcMsEvi/4bfWQNrUpzgmEAy
 zcdW23VaP7camf1KI10a4vloB5X6J7Un95nGQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5wJmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0vdzOWISq
 tcWFDQccCCEvL/u+rKjZuY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w/N3wsYDUWUrsTIJ8yguauwGX4aTpbgFmUubA28y7YywkZPL3FYYOPKozRFZg9ckCwv
 FDf4UrzLTAgCdGm9CO6ynfzl8LWgnauMG4VPOLhraM76LGJ/UQMDDUGWF39puO24ma8Ud9CL
 00f+gI1sLM/skesS7HVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQkqcs3SDoCx
 lKP2dTzClRHq6aJQHiQ8rOVqzKaOiUPK2IGIygeQmM4D8LL+d9pyEiVF5A6TfDz3oad9SzML
 y6ivSwGhOlMpsA307SlzVf83mqWpoDlQVtgjunIZV6N4gR8bY+jQoWn71nH8PpNRLqkokm9U
 GsswJbHsr1XZX2ZvGnUGbhWQun1jxqQGGeE6WODCaXN4NhEF5SLWYlLqA9zK05yWirvUW+4O
 RSD0e+9CXI6AZdLUUOVS9jpYyjJ5fK6fTgAahwzRoQmX3SJXFXblByCnGbJt4wXrGAikLskJ
 bCQetu2AHARBMxPlWTpHr5HgOZ6lnhimws/oKwXKDz+gdKjiIO9E+9ZYDNikMhnhE97nOkl2
 4kGbJbbo/mueOb/fjPW4eYuwaMidBAG6WTNg5UPLIare1M2cFzN/teNmdvNjaQ5xfUK/goJl
 1nhMnJlJK3X2SWWdFjWNy48ONsCn/9X9BoGAMDlBn7ws1BLXGplxP53m0cfFVX/yNFe8A==
IronPort-HdrOrdr: A9a23:lEDr6qh5QXh6sPpeooaslsXzt3BQXj0ji2hC6mlwRA09TyXPrb
 HJoB1773DJYVMqMk3I9urtBEDtewKmyXcx2/hoAV7AZmfbUQmTXeZfBNDZsl/d8kTFn4ZgPO
 VbAstD4bvLfD1HZK3BkXCF+rgbreWvweSBmOKb92tgUQ1LRshbnn1EIzfeOlByTBNdBZI/UL
 6V5s8Cgza7Y3wYYoCaCxA+PtTrlpniiZfvewQHDxlizAGPiHeU87b8CRCTwxcZVHduzN4ZkV
 QsnWTCl8GeWqGAoSPh6w==
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="91288385"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Christian Lindig
	<christian.lindig@citrix.com>
Subject: [PATCH v4 05/11] CODING-STYLE(tools/ocaml): add .editorconfig to clarify indentation uses spaces
Date: Fri, 16 Dec 2022 18:25:14 +0000
Message-ID: <bc7f3ab700525288938b84c9fbcc0f4ac6bd804c.1671214525.git.edwin.torok@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1671214525.git.edwin.torok@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Add an .editorconfig to make it easier to keep patches compatible with
Xen's coding style, and to reemphasize what Xen's coding style is.

I thought that Xen demands tabs rather than spaces (which is more
difficult with OCaml because indentation tools use spaces,
and the use of tabs requires changing editor settings),
however CODING-STYLE says it is spaces.

Document this explicitly by adding a .editorconfig file (see editorconfig.org),
which is an editor agnostic format for specifying basic style properties like
indentation, either with native support in editors or via plugins.

It is safer than modelines because it only supports controlling a
restricted set of editor properties and not arbitrary commands as Vim
modelines would have, and works with editors other than Vim too.
(Vim has a deny list for modeline sandboxing, which is error-prone
because every time a new command gets added it needs to be added to the
deny list, which has been the source of a few CVEs in the past
and I disable Vim modelines everywhere as a precaution).

This file is added as a convenience for those who might have an editor
that supports it, and its presence should have no impact on those that
do not (want to) use it.
It also won't cause re-indentation of existing files when edited, only
newly added lines would follow the convention.

No functional change.

Signed-off-by: Edwin Török <edvin.torok@citrix.com>
Cc: Christian Lindig <christian.lindig@citrix.com>
---
 .editorconfig | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 .editorconfig

diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000000..cb2f27c581
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,20 @@
+# See ./CODING_STYLE
+root = true
+
+[*]
+end_of_line = lf
+indent_style = space
+charset = utf-8
+max_line_length = 79
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+# Makefiles must use tabs, otherwise they don't work
+[{Makefile,*.mk,Makefile.rules}]
+indent_style = tabs
+
+[*.{c,h}]
+indent_size = 4
+
+[*.{ml,mli}]
+indent_size = 2
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 18:25:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 18:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464889.723483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FPC-0000Ca-Jp; Fri, 16 Dec 2022 18:25:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464889.723483; Fri, 16 Dec 2022 18:25:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FPC-0000Bm-B1; Fri, 16 Dec 2022 18:25:58 +0000
Received: by outflank-mailman (input) for mailman id 464889;
 Fri, 16 Dec 2022 18:25:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CdjE=4O=citrix.com=prvs=342889366=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p6FPA-0008JE-Go
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 18:25:56 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 14374b3e-7d6f-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 19:25:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14374b3e-7d6f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671215155;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=671yWeRPfk0fUsd0ZZw8sPwYTi3Pa9dmLi7mGVUNfHg=;
  b=WyVKpnfLT6VZcv0O1X5oiswfAYtjVFq+qNShSsIi2P1eergdTIjF9mq2
   w0BG/pfYZrTrWAGOIL3OGb1LB0UIgfhoxUQiMo2o6NXmHZViu45nbRVhY
   3kUR6Xf9ty2vjkIY7wiCXg1YmqBCgGyafo2l+tnV+pUqs6dzsAnv98R+J
   Q=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 91288387
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:L181mqLfMTS7DoSlFE+R35UlxSXFcZb7ZxGr2PjKsXjdYENS12ZRz
 zcbWj2Pb/aDM2D0c91yOY+y8E0C7ZPcn4RiTgZlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5AVgPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5pIEMe6
 K0ALAwXRRHend+6z5G2TdtF05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpPE+ojx5nYz/7DLozkPmpgD/jdCdfq3qepLYt4niVxwt0uFToGIuMIIzaHpUK9qqej
 kec7k3rAxtDDdOwl2Ci3G+Pu/bkxAquDer+E5Xnr6U30TV/3Fc7GBAQEFe2v/S9okq/QM5Eb
 VwZ/DI0qqo//1DtScPyNzW0qWCJlgQRUN1RF6s98g7l4rXQyxaUAC4DVDEpVTA9nJZoH3pwj
 AbPxo63Q2w02FGIdZ6D3qm1j2OvaDAREXUpZHIecAcKwNTkkqhm23ojUe1fOKKyi9T0HxT5z
 DaLsDUyit0vsCIb60mo1QuZ2mzx//AlWiZwv1yKBTz9smuVcab/P+SVBU7nAeGsxWpzZn2Ip
 zA6lseX94ji5rndxXXWEI3h8FxEjstp0QEwY3Y1R/HNFBz3oRZPmLy8BxkgTHqFyu5eJVfUj
 Lb74Gu9HqN7MnqwdrNQaImsEcksxqWIPY27CamNNIsXM8gpKFHvEMRSiam4hjCFraTRuftnZ
 cfznTiEUx729piLPBLpHrxAgNfHNwg1xH/JRICT8vhU+eP2WZJhcp9caAHmRrlgvMu5TPD9r
 4432z2il08OD4UTo0D/reYuELz9BSRjVM2r95EJKb7rz8gPMDhJNsI9CIgJI+RN95m5XM+Rl
 p1hcie0EGbCuEA=
IronPort-HdrOrdr: A9a23:cE5k8amlqTf1MuUs0MvLeLX20dDpDfLL3DAbv31ZSRFFG/Fwwf
 re+sjztCWatN91YhsdcL+7VJVoLUmsjqKdpLNhRYtKPzOJhILLFvAE0WK4+UyDJ8SWzIc06U
 4jSdkcNDSXNykesS+Q2njALz9P+rS62ZHtrfrai09wQR1nS4wI1XYCNi+rVmVqQQFdH5owE9
 657spD4x6tY24eYMj+JnRtZYn+juyOvI/iaQQdBxYhrC2HjTbt1aXzFAKR1AofVTQK4bpKyw
 j4ewKQ3NTGjxjq8HTh61M=
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="91288387"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Christian Lindig <christian.lindig@citrix.com>
Subject: [PATCH v4 03/11] CODING_STYLE(tools/ocaml): add 'make format' and remove tabs
Date: Fri, 16 Dec 2022 18:25:12 +0000
Message-ID: <81d621cea5975fdd9698992b968dcd7528c637af.1671214525.git.edwin.torok@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1671214525.git.edwin.torok@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

See CODING_STYLE: Xen uses spaces, not tabs.

* OCaml code:

Using `ocp-indent` for now to just make minimal modifications in
tabs vs spaces and get the right indentation.
We can introduce `ocamlformat` later.

* C stubs:

just replace tabs with spaces now, using `indent` or `clang-format`
would change code too much for 4.17.

This avoids perpetuating a formatting style that is inconsistent with
the rest of Xen, and that makes preparing and submitting patches more
difficult (OCaml indentation tools usually only support spaces, not tabs).

No functional change.

Signed-off-by: Edwin Török <edvin.torok@citrix.com>

--
Reason for inclusion:
- avoid perpetuating a different coding style (I thought tabs were
  mandated by Xen, and was about to fix up my editor config to match
  when I realized Xen already mandates the use of spaces)
- should make submitting patches for OCaml easier (OCaml indentation
  tools know only about spaces, so I either can't use them, or have to
  manually adjust indentation every time I submit a patch)
- it can be verified that the only change here is the Makefile change
  for the new rule, 'git log -p -1 -w' should be otherwise empty

Changes since v3:
- this didn't make it into 4.17.0, we'll reconsider for 4.17.1, for now
  apply just to master which is open again
- separate introducing the rule from actual reformatting

Cc: Christian Lindig <christian.lindig@citrix.com>
---
 tools/ocaml/Makefile | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tools/ocaml/Makefile b/tools/ocaml/Makefile
index a7c04b6546..274ba15d75 100644
--- a/tools/ocaml/Makefile
+++ b/tools/ocaml/Makefile
@@ -34,3 +34,8 @@ build-tools-oxenstored:
 	$(MAKE) -s -C libs/xb
 	$(MAKE) -s -C libs/xc
 	$(MAKE) -C xenstored
+
+.PHONY: format
+format:
+	git ls-files '*.ml' '*.mli' | xargs -n1 ocp-indent -i
+	git ls-files '*.c' '*.h' | xargs -n1 sed -ie 's/\t/    /g'
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 18:35:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 18:35:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464933.723497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FY4-0003Wc-RA; Fri, 16 Dec 2022 18:35:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464933.723497; Fri, 16 Dec 2022 18:35:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FY4-0003WV-Ns; Fri, 16 Dec 2022 18:35:08 +0000
Received: by outflank-mailman (input) for mailman id 464933;
 Fri, 16 Dec 2022 18:35:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CdjE=4O=citrix.com=prvs=342889366=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p6FPp-0006tv-EH
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 18:26:37 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2bd7e4d5-7d6f-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 19:26:36 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2bd7e4d5-7d6f-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671215196;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=lmJV+nEfac8rYyZCNOKz1/JoPqyiGxHHzDskfJ+N8QM=;
  b=VPavDk1DGl+nq8AYa+J7GpFLXH+M7yut5r74LOA37h2UEUB5WVSFZ5m9
   NwhDBNsy4LgkZFtjIV1211Y7nWiLdBzF3syvl6dvCyg8CqFEtajxln6er
   yeHUl38VSkWIQZ7HESNOskWTnYw4GtvTceSsEGQdavLgmZ36tw4swAn1r
   8=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88310945
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:olIxF6Mj6laDLiTvrR2rl8FynXyQoLVcMsEvi/4bfWQNrUomhGNWy
 WEfDDvUP/bfYDfyKdElbI+//R4AuZHQndVgTwto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5wJmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0rdvCmxz9
 eYeEikiYkCtod6c0OOHSeY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w/N3wsYDUWUrsTIJ8yguauwGX4aTpbgFmUubA28y7YywkZPL3FYIqOI4TbGZg9ckCwg
 mz3217bASEhEfuSkCWM1VHym8SQknauMG4VPOLhraM76LGJ/UQDBRtTWValrP2Rjk+lR8kZO
 0ES4jApr6U56AqsVNaVdxGxvnOspBMXXNtUVeog52ml1a788wufQG8eQVZ8hMcO7ZFsA2Zwj
 xnQwo2vVWcHXKCppWy1p6+foA6yIy4vNEAONQEicSEVsuXgr9Rm5v7QdepLHKmwh9zzPDj/x
 TGWsSQz74kuYd43O7aTpg6e3W/1znTdZktsv1iMADr5hu9sTNT9D7FE/2Q3+hqpwGyxalCa9
 EYJlMGFhAzlJcHczXfdKAnh8VzA2hpkDNE+qQQ3d3XC3273k5JGQWy3yG8WGauRGpxYEQIFm
 WeK0e+r2LddPWGxcYh8aJ+rBsIhwMDITIq6D6mOP4MfMsAtKmdrGR2CgmbJjwjQfLUEy/lja
 f93j+7yZZrlNUiX5GXvHLpMuVPa7is/2XnSVfjGI+ePiNKjiIquYe5dajOmN7lphJ5oVS2Jq
 76zwePWkUQAOAA/CwGLmbMuwacicSBqWM2q9pIIJoZu4GNOQQkcNhMY+pt5E6QNokifvrugE
 q2VMqOA9GfCuA==
IronPort-HdrOrdr: A9a23:Y/k3x63gGj01MHQBzg5v4AqjBIokLtp133Aq2lEZdPRUGvb3qy
 nIpoVj6faUskd2ZJhOo7C90cW7LU80sKQFhLX5Xo3SOzUO2lHYT72KhLGKq1aLdhEWtNQtsZ
 uIG5IOcOEYZmIasS+V2maF+q4bsbu6zJw=
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="88310945"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, Christian
 Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 10/11] tools/ocaml/xenstored: validate config file before live update
Date: Fri, 16 Dec 2022 18:25:19 +0000
Message-ID: <a9414ef542c7c5c7f1423efdf1a117431ae569b6.1671214525.git.edwin.torok@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1671214525.git.edwin.torok@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The configuration file can contain typos or various errors that could prevent
live update from succeeding (e.g. a flag only valid on a different version).
Unknown entries in the config file would be ignored on startup normally,
add a strict --config-test that live-update can use to check that the config file
is valid *for the new binary*.

For compatibility with running old code during live update recognize
--live --help as an equivalent to --config-test.

Signed-off-by: Edwin Török <edvin.torok@citrix.com>
---
Changes since v2:
* repost of lost patch from 2021: https://patchwork.kernel.org/project/xen-devel/patch/a53934dfa8ef984bffa858cc573cc7a6445bbdc0.1620755942.git.edvin.torok@citrix.com/
---
 tools/ocaml/xenstored/parse_arg.ml | 26 ++++++++++++++++++++++++++
 tools/ocaml/xenstored/xenstored.ml | 11 +++++++++--
 2 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/tools/ocaml/xenstored/parse_arg.ml b/tools/ocaml/xenstored/parse_arg.ml
index 1a85b14ef5..b159b91f00 100644
--- a/tools/ocaml/xenstored/parse_arg.ml
+++ b/tools/ocaml/xenstored/parse_arg.ml
@@ -26,8 +26,14 @@ type config =
     restart: bool;
     live_reload: bool;
     disable_socket: bool;
+    config_test: bool;
   }
 
+let get_config_filename config_file =
+  match config_file with
+  | Some name -> name
+  | None      -> Define.default_config_dir ^ "/oxenstored.conf"
+
 let do_argv =
   let pidfile = ref "" and tracefile = ref "" (* old xenstored compatibility *)
   and domain_init = ref true
@@ -38,6 +44,8 @@ let do_argv =
   and restart = ref false
   and live_reload = ref false
   and disable_socket = ref false
+  and config_test = ref false
+  and help = ref false
   in
 
   let speclist =
@@ -55,10 +63,27 @@ let do_argv =
       ("-T", Arg.Set_string tracefile, ""); (* for compatibility *)
       ("--restart", Arg.Set restart, "Read database on starting");
       ("--live", Arg.Set live_reload, "Read live dump on startup");
+      ("--config-test", Arg.Set config_test, "Test validity of config file");
       ("--disable-socket", Arg.Unit (fun () -> disable_socket := true), "Disable socket");
+      ("--help", Arg.Set help, "Display this list of options")
     ] in
   let usage_msg = "usage : xenstored [--config-file <filename>] [--no-domain-init] [--help] [--no-fork] [--reraise-top-level] [--restart] [--disable-socket]" in
   Arg.parse speclist (fun _ -> ()) usage_msg;
+  let () =
+    if !help then begin
+      if !live_reload then
+        (*
+          Transform --live --help into --config-test for backward compat with
+          running code during live update.
+          Caller will validate config and exit
+        *)
+        config_test := true
+      else begin
+        Arg.usage_string speclist usage_msg |> print_endline;
+        exit 0
+      end
+    end
+  in
   {
     domain_init = !domain_init;
     activate_access_log = !activate_access_log;
@@ -70,4 +95,5 @@ let do_argv =
     restart = !restart;
     live_reload = !live_reload;
     disable_socket = !disable_socket;
+    config_test = !config_test;
   }
diff --git a/tools/ocaml/xenstored/xenstored.ml b/tools/ocaml/xenstored/xenstored.ml
index 366437b396..1aaa3e995e 100644
--- a/tools/ocaml/xenstored/xenstored.ml
+++ b/tools/ocaml/xenstored/xenstored.ml
@@ -88,7 +88,7 @@ let default_pidfile = Paths.xen_run_dir ^ "/xenstored.pid"
 
 let ring_scan_interval = ref 20
 
-let parse_config filename =
+let parse_config ?(strict=false) filename =
   let pidfile = ref default_pidfile in
   let options = [
     ("merge-activate", Config.Set_bool Transaction.do_coalesce);
@@ -129,11 +129,12 @@ let parse_config filename =
     ("xenstored-port", Config.Set_string Domains.xenstored_port); ] in
   begin try Config.read filename options (fun _ _ -> raise Not_found)
     with
-    | Config.Error err -> List.iter (fun (k, e) ->
+    | Config.Error err as e -> List.iter (fun (k, e) ->
         match e with
         | "unknown key" -> eprintf "config: unknown key %s\n" k
         | _             -> eprintf "config: %s: %s\n" k e
       ) err;
+      if strict then raise e
     | Sys_error m -> eprintf "error: config: %s\n" m;
   end;
   !pidfile
@@ -358,6 +359,12 @@ let tweak_gc () =
 let () =
   Printexc.set_uncaught_exception_handler Logging.fallback_exception_handler;
   let cf = do_argv in
+  if cf.config_test then begin
+    let path = config_filename cf in
+    let _pidfile:string = parse_config ~strict:true path in
+    Printf.printf "Configuration valid at %s\n%!" path;
+    exit 0
+  end;
   let pidfile =
     if Sys.file_exists (config_filename cf) then
       parse_config (config_filename cf)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 18:35:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 18:35:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464940.723508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FY9-0003oT-3i; Fri, 16 Dec 2022 18:35:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464940.723508; Fri, 16 Dec 2022 18:35:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FY8-0003oC-Vu; Fri, 16 Dec 2022 18:35:12 +0000
Received: by outflank-mailman (input) for mailman id 464940;
 Fri, 16 Dec 2022 18:35:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CdjE=4O=citrix.com=prvs=342889366=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p6FPY-0008JE-DX
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 18:26:20 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f08731b-7d6f-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 19:26:13 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f08731b-7d6f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671215173;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Sp2/iZsmo7dZyO9wo4dG7BuWjwTi9pk8mLkgWUOPpfw=;
  b=QJBy3CIIuAUMrPqTXpocjQpzpCxblVNeTL7yzNgoUOoec8F+NEOOuiKe
   Xkb4elczB8XBjWT/7fwAnGwZht8ktkv79oeSijJwDPeqhZXlfJdURSGX2
   Zvm2HfTBL0bXbU089dQpvlwr1T7nIATtCLtMVGq9cY6P7zZKgTheLaKV2
   s=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87767484
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:eeUt1qzEodpZS+qJ4P16t+c+xirEfRIJ4+MujC+fZmUNrF6WrkUBn
 zMeC2uPO/+IZjb8LY90PI/j8U4GvZPTyt9lHlE+rSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPK4T5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KUEfy
 t0UNBQpVCy8xO+pmZL8ba42htt2eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKQOHWjOX9OYH46tOqkmHj5NSFfslWWjaE2/3LS3Ep6172F3N/9KoPVG5oJzhrwS
 mTuwmPhKxcKbdyj9nmv6k323sPl3n3acddHfFG/3qEz2wDCroAJMzUaXEW2ieO0gUm/X5RYM
 UN80jojq+0++VKmSvH5XgakuziUsxgEQd1SHuYmrgaXxcL8/AKxFmUCCDlbZ7QbWNQeHGJwk
 AXTxpWwWGIp4Ob9pW+hGqm8jWKNGCQJCUs4WRBHQBRcw57E59szkUeaJjp8K5KdgtrwEDD25
 jmFqikimrke5fI2O7WHEUPv2Gz1+MWQJuIhzkCOBz/+sFslDGKwT9bwgWU3+8qsO2pworOpm
 HEf0/aT4+kVZX1mvHzcGb5ddF1FChvsDdE9vbKNN8N5n9hO0yT5FWy13N2ZDBkBDyr8UWW1C
 HI/QCsIjHOpAFOkbLVsf6W6ANkwwK7rGLzND66LN4MUM8EgJFfbokmCgHJ8OEi0wCARfVwXY
 8/HIa5A815EYUiY8NZGb7hEiuJ6rszP7WjSWYr633yaPUm2PRaopUM+GALWNIgRtfrUyDg5B
 v4Db6NmPT0DCryhCsQWmKZPRW03wY8TWcin9pELK7DccmKL2ggJUpfs/F/oQKQ994w9qwsC1
 irnMqOE4DITXUH6FDg=
IronPort-HdrOrdr: A9a23:ivo+k6h5tFRsNc8qa/o4nKGTHXBQXtQji2hC6mlwRA09TyX4ra
 yTdZEgviMc5wx/ZJhNo7690cu7IU80hKQV3WB5B97LNmTbUQCTXeJfBOXZsljdMhy72ulB1b
 pxN4hSYeeAaWSSVPyKgjWFLw==
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="87767484"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, Christian
 Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
	=?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@cloud.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>
Subject: [PATCH v4 07/11] fixup! tools/ocaml/xenctrl: OCaml 5 support, fix use-after-free
Date: Fri, 16 Dec 2022 18:25:16 +0000
Message-ID: <c0fab282ed4decc3375ef2abb8fe1e3591fb5508.1671214525.git.edwin.torok@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1671214525.git.edwin.torok@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Fix unused value warning.

Fixes: 8b3c06a3e5 ("tools/ocaml/xenctrl: OCaml 5 support, fix use-after-free")
Signed-off-by: Edwin Török <edwin.torok@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>

---
Changes:
* new patch
---
 tools/ocaml/libs/xc/xenctrl.ml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index b02be07429..a59dee0938 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -182,7 +182,7 @@ let get_handle () = !handle
 
 let close_handle () =
   match !handle with
-  | Some h -> handle := None
+  | Some _ -> handle := None
   | None -> ()
 
 let with_intf f =
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 18:35:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 18:35:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464943.723518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FYA-00046I-Ds; Fri, 16 Dec 2022 18:35:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464943.723518; Fri, 16 Dec 2022 18:35:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FYA-00045z-Ah; Fri, 16 Dec 2022 18:35:14 +0000
Received: by outflank-mailman (input) for mailman id 464943;
 Fri, 16 Dec 2022 18:35:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CdjE=4O=citrix.com=prvs=342889366=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p6FPv-0008JE-R8
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 18:26:43 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2faf6d38-7d6f-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 19:26:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2faf6d38-7d6f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671215202;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=CG01Ym3JdeGOajBJXCwb2DSCwADHqYLVBH4PspSY8t4=;
  b=PumSt9ei+qFPWVzDw35nxAlZ6t7V5CXNURLdHtyGOTd7COgtN4uFVuLH
   vuJ/Hkn1AtrbXnMbiCxaOQ+sYpJ6bRJ2useHR1h6z1u3w0JvcrYz8Lrkr
   N0oclHfF17ce6QrBx107H6d8zSUzLQ9ov8E95tF+pZBMv2GUQUU1YCkRs
   c=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 89196238
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:eOu/0qsLfcxAOp4K2gFheW1dIufnVFheMUV32f8akzHdYApBsoF/q
 tZmKWyFOq7bYWTxf9l/YInnpkNVvMeAmIBhTFY4qS40FyJB+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWHySFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwNDQdXDq9rOWP8om2Fe5+q55zPvTXBdZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfAdMYH49tL7Aan3XfjFGqVTTua0t5Gv7xw1tyrn9dtHSf7RmQO0Fzx/J+
 DidrwwVBDlHLdGd8R/d0E6woeXUxyW4Ut0+KIeRo6sCbFq7mTVIVUx+uUGAiea9ol6zXZRYM
 UN80iYns6Ua7kGgSdj5GRqirxasrhMaHtZdDeA+wAWM0bbPpRaUAHAeSTxMY8Bgs9U5LQHGz
 XfQwYmvX2Y29uTIFzTNrd94sA9eJwAJKX8wTxEvSjI32NS8p5Me1ELdc+paRfvdYsLOJRn8x
 DWDrS4bjroVjNIW26jTwW0rkw5AtbCSEFdru1y/snaNq1ogOdX7P9DABU3zt64oEWqPcrWWU
 JHoceC65ftGM5yCnTflrA4lTODwvKbt3NExbDdS83gdG9aFoSbLkWN4umsWyKJV3iEsJ1fUj
 Lf741852XOqFCLCgVVLS4ywEd826qPrCM7oUPvZBvIXPMcoLVXWpXA+PRLOt4wIrKTLufhvU
 ap3jO72VSpKYUiZ5GTeqxghPU8DmXllmDK7qWHTxBW7y7uODEN5up9cWGZimtsRtfveyC2Mq
 oY3Cid/40kHOAEISnWNoNF7wJFjBSRTOK0aXOQLLr/ef1Y7Rj5xYxITqJt4E7FYc21uvr+g1
 hmAtoVwmTITWVWvxd22V01e
IronPort-HdrOrdr: A9a23:c7rWG6wBgPE0eKs+LT7gKrPwy71zdoMgy1knxilNoEpuA6qlfq
 GV88jzsCWftN9/Yh0dcLy7SdK9qDbnhOZICOoqU4tKPjOW31dAd7sSj7cKqgeIcxEWtNQttp
 uIFZIObeEYZmIK9PoSjjPUL/8QhPGb9eSRmevDw1dBJDsaEZ1I3kNQFwOSCFd3TA4DIZI4Ed
 656tBcrzStPVQbB/7bOlA1G8DfotXQjpLvZlojDx4jrDSUhTSz4LTmEx6emjcSOgku/V8tmV
 K19zARtp/Jj82G
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="89196238"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, "Christian
 Lindig" <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 11/11] tools/ocaml/libs/xb: drop Xs_ring.write
Date: Fri, 16 Dec 2022 18:25:20 +0000
Message-ID: <ce0700a52e79eaa265f7044007d469369cacf4fe.1671214525.git.edwin.torok@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1671214525.git.edwin.torok@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Unused, only Xs_ring.write_substring is used.
Also the bytes/string conversion here is backwards: the C stub implements the
bytes version and then we use a Bytes.unsafe_of_string to convert a string into
bytes.

However the operation here really is read-only: we read from the string and
write it to the ring, so the C stub should implement the read-only string
version, and if needed we could use Bytes.unsafe_to_string to be able to send
'bytes'. However that is not necessary as the 'bytes' version is dropped above.

Signed-off-by: Edwin Török <edvin.torok@citrix.com>
---
Changes:
* new patch
---
 tools/ocaml/libs/xb/xs_ring.ml      | 5 +----
 tools/ocaml/libs/xb/xs_ring_stubs.c | 2 +-
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/tools/ocaml/libs/xb/xs_ring.ml b/tools/ocaml/libs/xb/xs_ring.ml
index 2a27aa56c2..87c6b243e4 100644
--- a/tools/ocaml/libs/xb/xs_ring.ml
+++ b/tools/ocaml/libs/xb/xs_ring.ml
@@ -25,14 +25,11 @@ module Server_features = Set.Make(struct
   end)
 
 external read: Xenmmap.mmap_interface -> bytes -> int -> int = "ml_interface_read"
-external write: Xenmmap.mmap_interface -> bytes -> int -> int = "ml_interface_write"
+external write_substring: Xenmmap.mmap_interface -> string -> int -> int = "ml_interface_write"
 
 external _internal_set_server_features: Xenmmap.mmap_interface -> int -> unit = "ml_interface_set_server_features" [@@noalloc]
 external _internal_get_server_features: Xenmmap.mmap_interface -> int = "ml_interface_get_server_features" [@@noalloc]
 
-let write_substring mmap buff len =
-  write mmap (Bytes.unsafe_of_string buff) len
-
 let get_server_features mmap =
   (* NB only one feature currently defined above *)
   let x = _internal_get_server_features mmap in
diff --git a/tools/ocaml/libs/xb/xs_ring_stubs.c b/tools/ocaml/libs/xb/xs_ring_stubs.c
index 28c79ee139..dca6059b0d 100644
--- a/tools/ocaml/libs/xb/xs_ring_stubs.c
+++ b/tools/ocaml/libs/xb/xs_ring_stubs.c
@@ -119,7 +119,7 @@ CAMLprim value ml_interface_write(value ml_interface,
     CAMLlocal1(ml_result);
 
     struct mmap_interface *interface = GET_C_STRUCT(ml_interface);
-    const unsigned char *buffer = Bytes_val(ml_buffer);
+    const char *buffer = String_val(ml_buffer);
     int len = Int_val(ml_len);
     int result;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 18:35:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 18:35:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464955.723530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FYF-0004TQ-RZ; Fri, 16 Dec 2022 18:35:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464955.723530; Fri, 16 Dec 2022 18:35:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FYF-0004TJ-OO; Fri, 16 Dec 2022 18:35:19 +0000
Received: by outflank-mailman (input) for mailman id 464955;
 Fri, 16 Dec 2022 18:35:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CdjE=4O=citrix.com=prvs=342889366=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p6FPV-0008JE-D1
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 18:26:17 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1bff2c4b-7d6f-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 19:26:10 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1bff2c4b-7d6f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671215170;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=JUmULyGWIdhWMUegp5a4qbTMk08PxLxHNxfrTX1tB4k=;
  b=KiilK0Utz1hHOs5k6gp01rkp1sG7vvkTR/2wO5d/HvlLuZr64Q3PjMA8
   M2elin2mvWd30Gda+7czuF8nrngGxg5oFxxwUCeQXNkD9WRUbaGhNKue4
   JUZK/1KvlSbtzOh1mC/OAxWVwjQcaaCyBKnXee026iKQx6J0WN/OsVnV0
   c=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87767478
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:vIjixK/e510RQxQHzg2YDrUDiX6TJUtcMsCJ2f8bNWPcYEJGY0x3n
 2oeCDvSb/zYNGugfd0kYd7k9xwEsZeAyIIyGlY4rCs8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6kV5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkleq
 tFBJwEkNymHoL+znK6jWPdwptUseZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGM0Yn1lQ/UfrSmM+limf+dXtEr0iSpoI84nTJzRw327/oWDbQUozVGpsKwhnIz
 o7A11/8Gw0fFISl8gOA/lX2h/PIpQDefI1HQdVU8dY12QbOlwT/EiY+Sl+TsfS/zEmkVLp3J
 0UK9wI0oKM19UjtScPyNzWorXjBshMCVt54F+wh9BrL2qfS+xyeBGUPUnhGctNOiSMtbWV0j
 BnTxYqvXGEx9u3OIZ6AyluKhSPtFHEaHEZbXCsjEA5Z/8Hxvp0Tnx2aG76PD5WJptHyHDjxx
 RWDoy4/m6gfgKY36kmrwbzUq2ny/8aUF2bZ8i2SBzv4tV0hOOZJcqTysTDmAeB8wJF1p7Vrl
 FwNgICg4e8HFvlhfwTdEbxWTNlFCxtoWQAwYGKD/bF7r1xBGFb5J+i8BQ2Sw283WvvogRezP
 CfuVfp5vfe/xkeCY65teJ6WAM8316XmHtmNfqmKMYMXOMkoJV/foH8GiausM4fFyRhErE3CE
 c3DLZbE4YgyV8yLMwZat89CiOR2l0jSNEvYRIzhzgTP7FZtTCf9dFvxC3PXNrpRxPrd8G3oH
 yN3a5PiJ+N3DLevPUE6MOc7cTg3EJTMLcyu+pEKKrPdfVoO9aNII6a5/I7NsrdNx8x9/tokN
 FnnAie0FHKXaaX7FDi3
IronPort-HdrOrdr: A9a23:xhaws6MGqi0m+sBcTvujsMiBIKoaSvp037Eqv3oRdfUzSL3hqy
 nOpoVj6faaskdzZJhNo7+90ey7MBfhHP1OkO8s1NWZLWvbUQKTRekIh+aP/9SjIVyYygc079
 YaT0EUMr3N5DZB4/oSmDPIduod/A==
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="87767478"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>, "Christian
 Lindig" <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 02/11] tools/ocaml/xenstored/Makefile: use ocamldep -sort for linking order
Date: Fri, 16 Dec 2022 18:25:11 +0000
Message-ID: <88465f679e51139016ac42faa6cdd8ba173978c5.1671214525.git.edwin.torok@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1671214525.git.edwin.torok@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

A better solution is being worked on for master,
but for now use ocamldep -sort instead of a manually established link
order.
The manually established link order will be wrong when (security)
patches introduce new dependencies between files that would require
changing the link order.

If dune was used as a build system this wouldn't be a problem, but we
can't use Dune yet due to OSSTest, which is stuck on Debian oldstable.

No functional change.

Signed-off-by: Edwin Török <edvin.torok@citrix.com>
Acked-by: Christian Lindig <christian.lindig@citrix.com>
---
Reason for inclusion in 4.17:

Avoids having to put this patch as a prerequisite into a security update.
Earlier versions of XSA-326 needed this, and although latest version
didn't we don't know whether it might be needed again in the future or not.

Changes since v2:
- new in v3 (was previously emailed to security team though)

Changes since v3:
- add Acked-by line
---
 tools/ocaml/xenstored/Makefile | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tools/ocaml/xenstored/Makefile b/tools/ocaml/xenstored/Makefile
index 6f7333926e..e8aaecf2e6 100644
--- a/tools/ocaml/xenstored/Makefile
+++ b/tools/ocaml/xenstored/Makefile
@@ -72,7 +72,11 @@ XENSTOREDLIBS = \
 PROGRAMS = oxenstored
 
 oxenstored_LIBS = $(XENSTOREDLIBS)
-oxenstored_OBJS = $(OBJS)
+# use ocamldep to figure out link order, otherwise the Makefile would have
+# to be continously adjusted for security patches that introduce new
+# dependencies between files
+oxenstored_MLSORTED = $(shell $(OCAMLDEP) -sort $(OBJS:=.ml))
+oxenstored_OBJS = $(oxenstored_MLSORTED:.ml=)
 
 OCAML_PROGRAM = oxenstored
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 18:39:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 18:39:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464941.723541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FcP-0005ve-Hv; Fri, 16 Dec 2022 18:39:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464941.723541; Fri, 16 Dec 2022 18:39:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6FcP-0005vX-Cq; Fri, 16 Dec 2022 18:39:37 +0000
Received: by outflank-mailman (input) for mailman id 464941;
 Fri, 16 Dec 2022 18:35:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CdjE=4O=citrix.com=prvs=342889366=edvin.torok@srs-se1.protection.inumbo.net>)
 id 1p6FPa-0008JE-Dy
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 18:26:24 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1fb14ebb-7d6f-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 19:26:14 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1fb14ebb-7d6f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671215174;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=43htUyT5zJNBMNd/O6puhdKDrPp+z/Z8IQ7WLLLsTDY=;
  b=Ufi/BM55imJJEYzEJWzPfskGKD3tOYu3UK0YZejdLzeVXwNTQcG2zTp/
   Tz8x2WrfapuHMUmlkuWhNwS1CDsKc4iy+O30c1m6h6brLuiVYKnLNp/tD
   4MLHb1ar43u4Tum6aGV4ljrPb7Di4gNjiGfjfI5L2YVS+cbrQlRaqg90S
   0=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87767483
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:oJP66aJB43n9sLCIFE+R2JUlxSXFcZb7ZxGr2PjKsXjdYENS3mYFy
 2sZW2rTP/mMNmWmLtglbozl9htX7JPRmoNlQFNlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5AVgPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5XUF5v+
 eA8DAoxUVOOmLuWh5X8EOlz05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpPE+ojx5nYz/7DLozkPmpgD/jdCdfq3qepLYt4niVxwt0uFToGIqKJYLVGZUO9qqej
 n/r1nbzKUoaD42C0H2u8VHziuTDljyuDer+E5Xnr6U30TV/3Fc7Fxk+RVa95/6jhSaWV9tBJ
 mQO9yEprKx081akJvHtUhv9rHOasxo0X9tLD/Z8+AyL0rDT4QuSGi4DVDEpVTA9nJZoH3pwj
 AbPxo63Q2w02FGIdZ6D3pfFkhK+JQwxF1M9JiIbFCtCxJ65oJ5m23ojUe1fOKKyi9T0HxT5z
 DaLsDUyit0vsCIb60mo1QuZ2mzx//AlWiZwv1yKBTz9smuVcab/P+SVBU7nAeGsxWpzZn2Ip
 zA6lseX94ji5rndxXXWEI3h8FxEjstp0QEwY3Y1R/HNFBz3oRZPmLy8BxkgTHqFyu5eJVfUj
 Lb74Gu9HqN7MnqwdrNQaImsEcksxqWIPY27CamNNIsXM8gpKFHvEMRSiam4hjCFraTRuftnZ
 cfznTiEUx729piLPBLpHrxAgNfHNwg1xH/JRICT8vhU+eP2WZJhcp9caAHmRrlgvMu5TPD9r
 4432z2il08OD4UTo0D/reYuELz9BSRjVM2r95EJKb7rz8gPMDhJNsI9CIgJI+RN95m5XM+Sp
 hlRhmcwJILDuED6
IronPort-HdrOrdr: A9a23:LoPF4KvWK6BUV07yWu/FK3tc7skDTNV00zEX/kB9WHVpmszxra
 GTdZMgpGfJYVcqKQgdcL+7Scq9qB/nmqKdpLNhWYtKPzOW3ldATrsSj7cKqgeIc0aVm4JgPO
 VbAs9D4bXLfCNHZK3BgDVQfexP/DD+ytHMudvj
X-IronPort-AV: E=Sophos;i="5.96,249,1665460800"; 
   d="scan'208";a="87767483"
From: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edvin.torok@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@cloud.com>, "Christian
 Lindig" <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 04/11] tools/ocaml: run "make format"
Date: Fri, 16 Dec 2022 18:25:13 +0000
Message-ID: <4b3dd5f56f1ffb329594d3f6729b57a4431a31b6.1671214525.git.edwin.torok@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1671214525.git.edwin.torok@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

From: Edwin Török <edwin.torok@cloud.com>

`git log -p -1 -w` proves the change here is only whitespace.

No functional change.

Signed-off-by: Edwin Török <edwin.torok@cloud.com>
---
Changes since v3
* split into its own commit to make it easier to refresh when rebasing
---
 tools/ocaml/libs/eventchn/xeneventchn_stubs.c |  194 +-
 tools/ocaml/libs/mmap/mmap_stubs.h            |    4 +-
 tools/ocaml/libs/mmap/xenmmap.ml              |    2 +-
 tools/ocaml/libs/mmap/xenmmap.mli             |    4 +-
 tools/ocaml/libs/mmap/xenmmap_stubs.c         |  112 +-
 tools/ocaml/libs/xb/op.ml                     |   76 +-
 tools/ocaml/libs/xb/packet.ml                 |   30 +-
 tools/ocaml/libs/xb/partial.ml                |   48 +-
 tools/ocaml/libs/xb/xb.ml                     |  416 ++--
 tools/ocaml/libs/xb/xb.mli                    |  106 +-
 tools/ocaml/libs/xb/xenbus_stubs.c            |   50 +-
 tools/ocaml/libs/xb/xs_ring.ml                |   28 +-
 tools/ocaml/libs/xb/xs_ring_stubs.c           |  214 +-
 tools/ocaml/libs/xc/xenctrl.ml                |  326 +--
 tools/ocaml/libs/xc/xenctrl.mli               |   12 +-
 tools/ocaml/libs/xc/xenctrl_stubs.c           | 1556 ++++++-------
 tools/ocaml/libs/xentoollog/caml_xentoollog.h |    6 +-
 .../ocaml/libs/xentoollog/xentoollog_stubs.c  |  196 +-
 tools/ocaml/libs/xl/xenlight_stubs.c          | 2022 ++++++++---------
 tools/ocaml/libs/xs/queueop.ml                |   48 +-
 tools/ocaml/libs/xs/xs.ml                     |  220 +-
 tools/ocaml/libs/xs/xs.mli                    |   46 +-
 tools/ocaml/libs/xs/xsraw.ml                  |  300 +--
 tools/ocaml/libs/xs/xst.ml                    |   76 +-
 tools/ocaml/libs/xs/xst.mli                   |   20 +-
 tools/ocaml/test/dmesg.ml                     |   26 +-
 tools/ocaml/test/list_domains.ml              |    4 +-
 tools/ocaml/test/raise_exception.ml           |    4 +-
 tools/ocaml/test/xtl.ml                       |   28 +-
 tools/ocaml/xenstored/config.ml               |  156 +-
 tools/ocaml/xenstored/connection.ml           |  578 ++---
 tools/ocaml/xenstored/connections.ml          |  294 +--
 tools/ocaml/xenstored/disk.ml                 |  218 +-
 tools/ocaml/xenstored/domain.ml               |  116 +-
 tools/ocaml/xenstored/domains.ml              |  298 +--
 tools/ocaml/xenstored/event.ml                |   28 +-
 tools/ocaml/xenstored/history.ml              |   62 +-
 tools/ocaml/xenstored/logging.ml              |  478 ++--
 tools/ocaml/xenstored/packet.ml               |   20 +-
 tools/ocaml/xenstored/parse_arg.ml            |  106 +-
 tools/ocaml/xenstored/perms.ml                |  216 +-
 tools/ocaml/xenstored/poll.ml                 |   68 +-
 tools/ocaml/xenstored/poll.mli                |    4 +-
 tools/ocaml/xenstored/process.ml              | 1210 +++++-----
 tools/ocaml/xenstored/quota.ml                |   74 +-
 tools/ocaml/xenstored/select_stubs.c          |   62 +-
 tools/ocaml/xenstored/stdext.ml               |  190 +-
 tools/ocaml/xenstored/store.ml                |  752 +++---
 tools/ocaml/xenstored/symbol.ml               |    2 +-
 tools/ocaml/xenstored/syslog.ml               |   48 +-
 tools/ocaml/xenstored/syslog_stubs.c          |   68 +-
 tools/ocaml/xenstored/systemd_stubs.c         |   10 +-
 tools/ocaml/xenstored/transaction.ml          |  352 +--
 tools/ocaml/xenstored/trie.ml                 |  222 +-
 tools/ocaml/xenstored/trie.mli                |   22 +-
 tools/ocaml/xenstored/utils.ml                |  146 +-
 tools/ocaml/xenstored/xenstored.ml            |  978 ++++----
 57 files changed, 6476 insertions(+), 6476 deletions(-)

diff --git a/tools/ocaml/libs/eventchn/xeneventchn_stubs.c b/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
index aa8a69cc1e..707406cbd1 100644
--- a/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
+++ b/tools/ocaml/libs/eventchn/xeneventchn_stubs.c
@@ -37,171 +37,171 @@
 
 static void stub_evtchn_finalize(value v)
 {
-	xenevtchn_close(_H(v));
+    xenevtchn_close(_H(v));
 }
 
 static struct custom_operations xenevtchn_ops = {
-	.identifier  = "xenevtchn",
-	.finalize    = stub_evtchn_finalize,
-	.compare     = custom_compare_default,     /* Can't compare     */
-	.hash        = custom_hash_default,        /* Can't hash        */
-	.serialize   = custom_serialize_default,   /* Can't serialize   */
-	.deserialize = custom_deserialize_default, /* Can't deserialize */
-	.compare_ext = custom_compare_ext_default, /* Can't compare     */
+    .identifier  = "xenevtchn",
+    .finalize    = stub_evtchn_finalize,
+    .compare     = custom_compare_default,     /* Can't compare     */
+    .hash        = custom_hash_default,        /* Can't hash        */
+    .serialize   = custom_serialize_default,   /* Can't serialize   */
+    .deserialize = custom_deserialize_default, /* Can't deserialize */
+    .compare_ext = custom_compare_ext_default, /* Can't compare     */
 };
 
 CAMLprim value stub_eventchn_init(value cloexec)
 {
-	CAMLparam1(cloexec);
-	CAMLlocal1(result);
-	xenevtchn_handle *xce;
-	unsigned int flags = 0;
+    CAMLparam1(cloexec);
+    CAMLlocal1(result);
+    xenevtchn_handle *xce;
+    unsigned int flags = 0;
 
-	if ( !Bool_val(cloexec) )
-		flags |= XENEVTCHN_NO_CLOEXEC;
+    if ( !Bool_val(cloexec) )
+        flags |= XENEVTCHN_NO_CLOEXEC;
 
-	caml_enter_blocking_section();
-	xce = xenevtchn_open(NULL, flags);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    xce = xenevtchn_open(NULL, flags);
+    caml_leave_blocking_section();
 
-	if (xce == NULL)
-		caml_failwith("open failed");
+    if (xce == NULL)
+        caml_failwith("open failed");
 
-	result = caml_alloc_custom(&xenevtchn_ops, sizeof(xce), 0, 1);
-	_H(result) = xce;
+    result = caml_alloc_custom(&xenevtchn_ops, sizeof(xce), 0, 1);
+    _H(result) = xce;
 
-	CAMLreturn(result);
+    CAMLreturn(result);
 }
 
 CAMLprim value stub_eventchn_fdopen(value fdval)
 {
-	CAMLparam1(fdval);
-	CAMLlocal1(result);
-	xenevtchn_handle *xce;
+    CAMLparam1(fdval);
+    CAMLlocal1(result);
+    xenevtchn_handle *xce;
 
-	caml_enter_blocking_section();
-	xce = xenevtchn_fdopen(NULL, Int_val(fdval), 0);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    xce = xenevtchn_fdopen(NULL, Int_val(fdval), 0);
+    caml_leave_blocking_section();
 
-	if (xce == NULL)
-		caml_failwith("evtchn fdopen failed");
+    if (xce == NULL)
+        caml_failwith("evtchn fdopen failed");
 
-	result = caml_alloc_custom(&xenevtchn_ops, sizeof(xce), 0, 1);
-	_H(result) = xce;
+    result = caml_alloc_custom(&xenevtchn_ops, sizeof(xce), 0, 1);
+    _H(result) = xce;
 
-	CAMLreturn(result);
+    CAMLreturn(result);
 }
 
 CAMLprim value stub_eventchn_fd(value xce)
 {
-	CAMLparam1(xce);
-	CAMLlocal1(result);
-	int fd;
+    CAMLparam1(xce);
+    CAMLlocal1(result);
+    int fd;
 
-	fd = xenevtchn_fd(_H(xce));
-	if (fd == -1)
-		caml_failwith("evtchn fd failed");
+    fd = xenevtchn_fd(_H(xce));
+    if (fd == -1)
+        caml_failwith("evtchn fd failed");
 
-	result = Val_int(fd);
+    result = Val_int(fd);
 
-	CAMLreturn(result);
+    CAMLreturn(result);
 }
 
 CAMLprim value stub_eventchn_notify(value xce, value port)
 {
-	CAMLparam2(xce, port);
-	int rc;
+    CAMLparam2(xce, port);
+    int rc;
 
-	caml_enter_blocking_section();
-	rc = xenevtchn_notify(_H(xce), Int_val(port));
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    rc = xenevtchn_notify(_H(xce), Int_val(port));
+    caml_leave_blocking_section();
 
-	if (rc == -1)
-		caml_failwith("evtchn notify failed");
+    if (rc == -1)
+        caml_failwith("evtchn notify failed");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_eventchn_bind_interdomain(value xce, value domid,
                                               value remote_port)
 {
-	CAMLparam3(xce, domid, remote_port);
-	CAMLlocal1(port);
-	xenevtchn_port_or_error_t rc;
+    CAMLparam3(xce, domid, remote_port);
+    CAMLlocal1(port);
+    xenevtchn_port_or_error_t rc;
 
-	caml_enter_blocking_section();
-	rc = xenevtchn_bind_interdomain(_H(xce), Int_val(domid), Int_val(remote_port));
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    rc = xenevtchn_bind_interdomain(_H(xce), Int_val(domid), Int_val(remote_port));
+    caml_leave_blocking_section();
 
-	if (rc == -1)
-		caml_failwith("evtchn bind_interdomain failed");
-	port = Val_int(rc);
+    if (rc == -1)
+        caml_failwith("evtchn bind_interdomain failed");
+    port = Val_int(rc);
 
-	CAMLreturn(port);
+    CAMLreturn(port);
 }
 
 CAMLprim value stub_eventchn_bind_virq(value xce, value virq_type)
 {
-	CAMLparam2(xce, virq_type);
-	CAMLlocal1(port);
-	xenevtchn_port_or_error_t rc;
+    CAMLparam2(xce, virq_type);
+    CAMLlocal1(port);
+    xenevtchn_port_or_error_t rc;
 
-	caml_enter_blocking_section();
-	rc = xenevtchn_bind_virq(_H(xce), Int_val(virq_type));
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    rc = xenevtchn_bind_virq(_H(xce), Int_val(virq_type));
+    caml_leave_blocking_section();
 
-	if (rc == -1)
-		caml_failwith("evtchn bind_virq failed");
-	port = Val_int(rc);
+    if (rc == -1)
+        caml_failwith("evtchn bind_virq failed");
+    port = Val_int(rc);
 
-	CAMLreturn(port);
+    CAMLreturn(port);
 }
 
 CAMLprim value stub_eventchn_unbind(value xce, value port)
 {
-	CAMLparam2(xce, port);
-	int rc;
+    CAMLparam2(xce, port);
+    int rc;
 
-	caml_enter_blocking_section();
-	rc = xenevtchn_unbind(_H(xce), Int_val(port));
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    rc = xenevtchn_unbind(_H(xce), Int_val(port));
+    caml_leave_blocking_section();
 
-	if (rc == -1)
-		caml_failwith("evtchn unbind failed");
+    if (rc == -1)
+        caml_failwith("evtchn unbind failed");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_eventchn_pending(value xce)
 {
-	CAMLparam1(xce);
-	CAMLlocal1(result);
-	xenevtchn_port_or_error_t port;
+    CAMLparam1(xce);
+    CAMLlocal1(result);
+    xenevtchn_port_or_error_t port;
 
-	caml_enter_blocking_section();
-	port = xenevtchn_pending(_H(xce));
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    port = xenevtchn_pending(_H(xce));
+    caml_leave_blocking_section();
 
-	if (port == -1)
-		caml_failwith("evtchn pending failed");
-	result = Val_int(port);
+    if (port == -1)
+        caml_failwith("evtchn pending failed");
+    result = Val_int(port);
 
-	CAMLreturn(result);
+    CAMLreturn(result);
 }
 
 CAMLprim value stub_eventchn_unmask(value xce, value _port)
 {
-	CAMLparam2(xce, _port);
-	evtchn_port_t port;
-	int rc;
+    CAMLparam2(xce, _port);
+    evtchn_port_t port;
+    int rc;
 
-	port = Int_val(_port);
+    port = Int_val(_port);
 
-	caml_enter_blocking_section();
-	rc = xenevtchn_unmask(_H(xce), port);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    rc = xenevtchn_unmask(_H(xce), port);
+    caml_leave_blocking_section();
 
-	if (rc)
-		caml_failwith("evtchn unmask failed");
-	CAMLreturn(Val_unit);
+    if (rc)
+        caml_failwith("evtchn unmask failed");
+    CAMLreturn(Val_unit);
 }
diff --git a/tools/ocaml/libs/mmap/mmap_stubs.h b/tools/ocaml/libs/mmap/mmap_stubs.h
index 66f18d4406..df22631c72 100644
--- a/tools/ocaml/libs/mmap/mmap_stubs.h
+++ b/tools/ocaml/libs/mmap/mmap_stubs.h
@@ -26,8 +26,8 @@
 
 struct mmap_interface
 {
-	void *addr;
-	int len;
+    void *addr;
+    int len;
 };
 
 #ifndef Data_abstract_val
diff --git a/tools/ocaml/libs/mmap/xenmmap.ml b/tools/ocaml/libs/mmap/xenmmap.ml
index 44b67c89d2..fd6735649f 100644
--- a/tools/ocaml/libs/mmap/xenmmap.ml
+++ b/tools/ocaml/libs/mmap/xenmmap.ml
@@ -21,7 +21,7 @@ type mmap_map_flag = SHARED | PRIVATE
 
 (* mmap: fd -> prot_flag -> map_flag -> length -> offset -> interface *)
 external mmap: Unix.file_descr -> mmap_prot_flag -> mmap_map_flag
-		-> int -> int -> mmap_interface = "stub_mmap_init"
+  -> int -> int -> mmap_interface = "stub_mmap_init"
 external unmap: mmap_interface -> unit = "stub_mmap_final"
 (* read: interface -> start -> length -> data *)
 external read: mmap_interface -> int -> int -> string = "stub_mmap_read"
diff --git a/tools/ocaml/libs/mmap/xenmmap.mli b/tools/ocaml/libs/mmap/xenmmap.mli
index 8f92ed6310..d097b68a8f 100644
--- a/tools/ocaml/libs/mmap/xenmmap.mli
+++ b/tools/ocaml/libs/mmap/xenmmap.mli
@@ -19,10 +19,10 @@ type mmap_prot_flag = RDONLY | WRONLY | RDWR
 type mmap_map_flag = SHARED | PRIVATE
 
 external mmap : Unix.file_descr -> mmap_prot_flag -> mmap_map_flag -> int -> int
-             -> mmap_interface = "stub_mmap_init"
+  -> mmap_interface = "stub_mmap_init"
 external unmap : mmap_interface -> unit = "stub_mmap_final"
 external read : mmap_interface -> int -> int -> string = "stub_mmap_read"
 external write : mmap_interface -> string -> int -> int -> unit
-               = "stub_mmap_write"
+  = "stub_mmap_write"
 
 external getpagesize : unit -> int = "stub_mmap_getpagesize"
diff --git a/tools/ocaml/libs/mmap/xenmmap_stubs.c b/tools/ocaml/libs/mmap/xenmmap_stubs.c
index 141dedb78c..bf864a7c32 100644
--- a/tools/ocaml/libs/mmap/xenmmap_stubs.c
+++ b/tools/ocaml/libs/mmap/xenmmap_stubs.c
@@ -34,97 +34,97 @@ static int mmap_interface_init(struct mmap_interface *intf,
                                int fd, int pflag, int mflag,
                                int len, int offset)
 {
-	intf->len = len;
-	intf->addr = mmap(NULL, len, pflag, mflag, fd, offset);
-	return (intf->addr == MAP_FAILED) ? errno : 0;
+    intf->len = len;
+    intf->addr = mmap(NULL, len, pflag, mflag, fd, offset);
+    return (intf->addr == MAP_FAILED) ? errno : 0;
 }
 
 CAMLprim value stub_mmap_init(value fd, value pflag, value mflag,
                               value len, value offset)
 {
-	CAMLparam5(fd, pflag, mflag, len, offset);
-	CAMLlocal1(result);
-	int c_pflag, c_mflag;
+    CAMLparam5(fd, pflag, mflag, len, offset);
+    CAMLlocal1(result);
+    int c_pflag, c_mflag;
 
-	switch (Int_val(pflag)) {
-	case 0: c_pflag = PROT_READ; break;
-	case 1: c_pflag = PROT_WRITE; break;
-	case 2: c_pflag = PROT_READ|PROT_WRITE; break;
-	default: caml_invalid_argument("protectiontype");
-	}
+    switch (Int_val(pflag)) {
+    case 0: c_pflag = PROT_READ; break;
+    case 1: c_pflag = PROT_WRITE; break;
+    case 2: c_pflag = PROT_READ|PROT_WRITE; break;
+    default: caml_invalid_argument("protectiontype");
+    }
 
-	switch (Int_val(mflag)) {
-	case 0: c_mflag = MAP_SHARED; break;
-	case 1: c_mflag = MAP_PRIVATE; break;
-	default: caml_invalid_argument("maptype");
-	}
+    switch (Int_val(mflag)) {
+    case 0: c_mflag = MAP_SHARED; break;
+    case 1: c_mflag = MAP_PRIVATE; break;
+    default: caml_invalid_argument("maptype");
+    }
 
-	result = caml_alloc(sizeof(struct mmap_interface), Abstract_tag);
+    result = caml_alloc(sizeof(struct mmap_interface), Abstract_tag);
 
-	if (mmap_interface_init(Intf_val(result), Int_val(fd),
-	                        c_pflag, c_mflag,
-	                        Int_val(len), Int_val(offset)))
-		caml_failwith("mmap");
-	CAMLreturn(result);
+    if (mmap_interface_init(Intf_val(result), Int_val(fd),
+                            c_pflag, c_mflag,
+                            Int_val(len), Int_val(offset)))
+        caml_failwith("mmap");
+    CAMLreturn(result);
 }
 
 CAMLprim value stub_mmap_final(value intf)
 {
-	CAMLparam1(intf);
+    CAMLparam1(intf);
 
-	if (Intf_val(intf)->addr != MAP_FAILED)
-		munmap(Intf_val(intf)->addr, Intf_val(intf)->len);
-	Intf_val(intf)->addr = MAP_FAILED;
+    if (Intf_val(intf)->addr != MAP_FAILED)
+        munmap(Intf_val(intf)->addr, Intf_val(intf)->len);
+    Intf_val(intf)->addr = MAP_FAILED;
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_mmap_read(value intf, value start, value len)
 {
-	CAMLparam3(intf, start, len);
-	CAMLlocal1(data);
-	int c_start;
-	int c_len;
+    CAMLparam3(intf, start, len);
+    CAMLlocal1(data);
+    int c_start;
+    int c_len;
 
-	c_start = Int_val(start);
-	c_len = Int_val(len);
+    c_start = Int_val(start);
+    c_len = Int_val(len);
 
-	if (c_start > Intf_val(intf)->len)
-		caml_invalid_argument("start invalid");
-	if (c_start + c_len > Intf_val(intf)->len)
-		caml_invalid_argument("len invalid");
+    if (c_start > Intf_val(intf)->len)
+        caml_invalid_argument("start invalid");
+    if (c_start + c_len > Intf_val(intf)->len)
+        caml_invalid_argument("len invalid");
 
-	data = caml_alloc_string(c_len);
-	memcpy((char *) data, Intf_val(intf)->addr + c_start, c_len);
+    data = caml_alloc_string(c_len);
+    memcpy((char *) data, Intf_val(intf)->addr + c_start, c_len);
 
-	CAMLreturn(data);
+    CAMLreturn(data);
 }
 
 CAMLprim value stub_mmap_write(value intf, value data,
                                value start, value len)
 {
-	CAMLparam4(intf, data, start, len);
-	int c_start;
-	int c_len;
+    CAMLparam4(intf, data, start, len);
+    int c_start;
+    int c_len;
 
-	c_start = Int_val(start);
-	c_len = Int_val(len);
+    c_start = Int_val(start);
+    c_len = Int_val(len);
 
-	if (c_start > Intf_val(intf)->len)
-		caml_invalid_argument("start invalid");
-	if (c_start + c_len > Intf_val(intf)->len)
-		caml_invalid_argument("len invalid");
+    if (c_start > Intf_val(intf)->len)
+        caml_invalid_argument("start invalid");
+    if (c_start + c_len > Intf_val(intf)->len)
+        caml_invalid_argument("len invalid");
 
-	memcpy(Intf_val(intf)->addr + c_start, (char *) data, c_len);
+    memcpy(Intf_val(intf)->addr + c_start, (char *) data, c_len);
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_mmap_getpagesize(value unit)
 {
-	CAMLparam1(unit);
-	CAMLlocal1(data);
+    CAMLparam1(unit);
+    CAMLlocal1(data);
 
-	data = Val_int(getpagesize());
-	CAMLreturn(data);
+    data = Val_int(getpagesize());
+    CAMLreturn(data);
 }
diff --git a/tools/ocaml/libs/xb/op.ml b/tools/ocaml/libs/xb/op.ml
index 9bcab0f38c..77cf04a752 100644
--- a/tools/ocaml/libs/xb/op.ml
+++ b/tools/ocaml/libs/xb/op.ml
@@ -23,50 +23,50 @@ type operation = Debug | Directory | Read | Getperms |
                  Invalid
 
 let operation_c_mapping =
-	[| Debug; Directory; Read; Getperms;
-           Watch; Unwatch; Transaction_start;
-           Transaction_end; Introduce; Release;
-           Getdomainpath; Write; Mkdir; Rm;
-           Setperms; Watchevent; Error; Isintroduced;
-           Resume; Set_target; Invalid; Reset_watches |]
+  [| Debug; Directory; Read; Getperms;
+     Watch; Unwatch; Transaction_start;
+     Transaction_end; Introduce; Release;
+     Getdomainpath; Write; Mkdir; Rm;
+     Setperms; Watchevent; Error; Isintroduced;
+     Resume; Set_target; Invalid; Reset_watches |]
 let size = Array.length operation_c_mapping
 
 let array_search el a =
-	let len = Array.length a in
-	let rec search i =
-		if i > len then raise Not_found;
-		if a.(i) = el then i else search (i + 1) in
-	search 0
+  let len = Array.length a in
+  let rec search i =
+    if i > len then raise Not_found;
+    if a.(i) = el then i else search (i + 1) in
+  search 0
 
 let of_cval i =
-	if i >= 0 && i < size
-	then operation_c_mapping.(i)
-	else Invalid
+  if i >= 0 && i < size
+  then operation_c_mapping.(i)
+  else Invalid
 
 let to_cval op =
-	array_search op operation_c_mapping
+  array_search op operation_c_mapping
 
 let to_string ty =
-	match ty with
-	| Debug			-> "DEBUG"
-	| Directory		-> "DIRECTORY"
-	| Read			-> "READ"
-	| Getperms		-> "GET_PERMS"
-	| Watch			-> "WATCH"
-	| Unwatch		-> "UNWATCH"
-	| Transaction_start	-> "TRANSACTION_START"
-	| Transaction_end	-> "TRANSACTION_END"
-	| Introduce		-> "INTRODUCE"
-	| Release		-> "RELEASE"
-	| Getdomainpath		-> "GET_DOMAIN_PATH"
-	| Write			-> "WRITE"
-	| Mkdir			-> "MKDIR"
-	| Rm			-> "RM"
-	| Setperms		-> "SET_PERMS"
-	| Watchevent		-> "WATCH_EVENT"
-	| Error			-> "ERROR"
-	| Isintroduced		-> "IS_INTRODUCED"
-	| Resume		-> "RESUME"
-	| Set_target		-> "SET_TARGET"
-	| Reset_watches         -> "RESET_WATCHES"
-	| Invalid		-> "INVALID"
+  match ty with
+  | Debug			-> "DEBUG"
+  | Directory		-> "DIRECTORY"
+  | Read			-> "READ"
+  | Getperms		-> "GET_PERMS"
+  | Watch			-> "WATCH"
+  | Unwatch		-> "UNWATCH"
+  | Transaction_start	-> "TRANSACTION_START"
+  | Transaction_end	-> "TRANSACTION_END"
+  | Introduce		-> "INTRODUCE"
+  | Release		-> "RELEASE"
+  | Getdomainpath		-> "GET_DOMAIN_PATH"
+  | Write			-> "WRITE"
+  | Mkdir			-> "MKDIR"
+  | Rm			-> "RM"
+  | Setperms		-> "SET_PERMS"
+  | Watchevent		-> "WATCH_EVENT"
+  | Error			-> "ERROR"
+  | Isintroduced		-> "IS_INTRODUCED"
+  | Resume		-> "RESUME"
+  | Set_target		-> "SET_TARGET"
+  | Reset_watches         -> "RESET_WATCHES"
+  | Invalid		-> "INVALID"
diff --git a/tools/ocaml/libs/xb/packet.ml b/tools/ocaml/libs/xb/packet.ml
index 74c04bb7ae..cd169c066b 100644
--- a/tools/ocaml/libs/xb/packet.ml
+++ b/tools/ocaml/libs/xb/packet.ml
@@ -15,12 +15,12 @@
  *)
 
 type t =
-{
-	tid: int;
-	rid: int;
-	ty: Op.operation;
-	data: string;
-}
+  {
+    tid: int;
+    rid: int;
+    ty: Op.operation;
+    data: string;
+  }
 
 exception Error of string
 exception DataError of string
@@ -30,21 +30,21 @@ external string_of_header: int -> int -> int -> int -> string = "stub_string_of_
 let create tid rid ty data = { tid = tid; rid = rid; ty = ty; data = data; }
 
 let of_partialpkt ppkt =
-	create ppkt.Partial.tid ppkt.Partial.rid ppkt.Partial.ty (Buffer.contents ppkt.Partial.buf)
+  create ppkt.Partial.tid ppkt.Partial.rid ppkt.Partial.ty (Buffer.contents ppkt.Partial.buf)
 
 let to_string pkt =
-	let header = string_of_header pkt.tid pkt.rid (Op.to_cval pkt.ty) (String.length pkt.data) in
-	header ^ pkt.data
+  let header = string_of_header pkt.tid pkt.rid (Op.to_cval pkt.ty) (String.length pkt.data) in
+  header ^ pkt.data
 
 let unpack pkt =
-	pkt.tid, pkt.rid, pkt.ty, pkt.data
+  pkt.tid, pkt.rid, pkt.ty, pkt.data
 
 let get_tid pkt = pkt.tid
 let get_ty pkt = pkt.ty
 let get_data pkt =
-	let l = String.length pkt.data in
-	if l > 0 && pkt.data.[l - 1] = '\000' then
-		String.sub pkt.data 0 (l - 1)
-	else
-		pkt.data
+  let l = String.length pkt.data in
+  if l > 0 && pkt.data.[l - 1] = '\000' then
+    String.sub pkt.data 0 (l - 1)
+  else
+    pkt.data
 let get_rid pkt = pkt.rid
\ No newline at end of file
diff --git a/tools/ocaml/libs/xb/partial.ml b/tools/ocaml/libs/xb/partial.ml
index 3aa8927eb7..0e6532807d 100644
--- a/tools/ocaml/libs/xb/partial.ml
+++ b/tools/ocaml/libs/xb/partial.ml
@@ -15,39 +15,39 @@
  *)
 
 type pkt =
-{
-	tid: int;
-	rid: int;
-	ty: Op.operation;
-	len: int;
-	buf: Buffer.t;
-}
+  {
+    tid: int;
+    rid: int;
+    ty: Op.operation;
+    len: int;
+    buf: Buffer.t;
+  }
 
 external header_size: unit -> int = "stub_header_size"
 external header_of_string_internal: string -> int * int * int * int
-         = "stub_header_of_string"
+  = "stub_header_of_string"
 
 let xenstore_payload_max = 4096 (* xen/include/public/io/xs_wire.h *)
 let xenstore_rel_path_max = 2048 (* xen/include/public/io/xs_wire.h *)
 
 let of_string s =
-	let tid, rid, opint, dlen = header_of_string_internal s in
-	(* A packet which is bigger than xenstore_payload_max is illegal.
-	   This will leave the guest connection is a bad state and will
-	   be hard to recover from without restarting the connection
-	   (ie rebooting the guest) *)
-	let dlen = max 0 (min xenstore_payload_max dlen) in
-	{
-		tid = tid;
-		rid = rid;
-		ty = (Op.of_cval opint);
-		len = dlen;
-		buf = Buffer.create dlen;
-	}
+  let tid, rid, opint, dlen = header_of_string_internal s in
+  (* A packet which is bigger than xenstore_payload_max is illegal.
+     	   This will leave the guest connection is a bad state and will
+     	   be hard to recover from without restarting the connection
+     	   (ie rebooting the guest) *)
+  let dlen = max 0 (min xenstore_payload_max dlen) in
+  {
+    tid = tid;
+    rid = rid;
+    ty = (Op.of_cval opint);
+    len = dlen;
+    buf = Buffer.create dlen;
+  }
 
 let append pkt s sz =
-	if Buffer.length pkt.buf + sz > xenstore_payload_max then failwith "Buffer.add: cannot grow buffer";
-	Buffer.add_substring pkt.buf s 0 sz
+  if Buffer.length pkt.buf + sz > xenstore_payload_max then failwith "Buffer.add: cannot grow buffer";
+  Buffer.add_substring pkt.buf s 0 sz
 
 let to_complete pkt =
-	pkt.len - (Buffer.length pkt.buf)
+  pkt.len - (Buffer.length pkt.buf)
diff --git a/tools/ocaml/libs/xb/xb.ml b/tools/ocaml/libs/xb/xb.ml
index b292ed7a87..3e3ef2b29d 100644
--- a/tools/ocaml/libs/xb/xb.ml
+++ b/tools/ocaml/libs/xb/xb.ml
@@ -18,94 +18,94 @@ module Op = struct include Op end
 module Packet = struct include Packet end
 
 module BoundedQueue : sig
-	type ('a, 'b) t
+  type ('a, 'b) t
 
-	(** [create ~capacity ~classify ~limit] creates a queue with maximum [capacity] elements.
-	    This is burst capacity, each element is further classified according to [classify],
-	    and each class can have its own [limit].
-	    [capacity] is enforced as an overall limit.
-	    The [limit] can be dynamic, and can be smaller than the number of elements already queued of that class,
-	    in which case those elements are considered to use "burst capacity".
-	  *)
-	val create: capacity:int -> classify:('a -> 'b) -> limit:('b -> int) -> ('a, 'b) t
+  (** [create ~capacity ~classify ~limit] creates a queue with maximum [capacity] elements.
+      	    This is burst capacity, each element is further classified according to [classify],
+      	    and each class can have its own [limit].
+      	    [capacity] is enforced as an overall limit.
+      	    The [limit] can be dynamic, and can be smaller than the number of elements already queued of that class,
+      	    in which case those elements are considered to use "burst capacity".
+      	  *)
+  val create: capacity:int -> classify:('a -> 'b) -> limit:('b -> int) -> ('a, 'b) t
 
-	(** [clear q] discards all elements from [q] *)
-	val clear: ('a, 'b) t -> unit
+  (** [clear q] discards all elements from [q] *)
+  val clear: ('a, 'b) t -> unit
 
-	(** [can_push q] when [length q < capacity].	*)
-	val can_push: ('a, 'b) t -> 'b -> bool
+  (** [can_push q] when [length q < capacity].	*)
+  val can_push: ('a, 'b) t -> 'b -> bool
 
-	(** [push e q] adds [e] at the end of queue [q] if [can_push q], or returns [None]. *)
-	val push: 'a -> ('a, 'b) t -> unit option
+  (** [push e q] adds [e] at the end of queue [q] if [can_push q], or returns [None]. *)
+  val push: 'a -> ('a, 'b) t -> unit option
 
-	(** [pop q] removes and returns first element in [q], or raises [Queue.Empty]. *)
-	val pop: ('a, 'b) t -> 'a
+  (** [pop q] removes and returns first element in [q], or raises [Queue.Empty]. *)
+  val pop: ('a, 'b) t -> 'a
 
-	(** [peek q] returns the first element in [q], or raises [Queue.Empty].  *)
-	val peek : ('a, 'b) t -> 'a
+  (** [peek q] returns the first element in [q], or raises [Queue.Empty].  *)
+  val peek : ('a, 'b) t -> 'a
 
-	(** [length q] returns the current number of elements in [q] *)
-	val length: ('a, 'b) t -> int
+  (** [length q] returns the current number of elements in [q] *)
+  val length: ('a, 'b) t -> int
 
-	(** [debug string_of_class q] prints queue usage statistics in an unspecified internal format. *)
-	val debug: ('b -> string) -> (_, 'b) t -> string
+  (** [debug string_of_class q] prints queue usage statistics in an unspecified internal format. *)
+  val debug: ('b -> string) -> (_, 'b) t -> string
 end = struct
-	type ('a, 'b) t =
-		{ q: 'a Queue.t
-		; capacity: int
-		; classify: 'a -> 'b
-		; limit: 'b -> int
-		; class_count: ('b, int) Hashtbl.t
-		}
+  type ('a, 'b) t =
+    { q: 'a Queue.t
+    ; capacity: int
+    ; classify: 'a -> 'b
+    ; limit: 'b -> int
+    ; class_count: ('b, int) Hashtbl.t
+    }
 
-	let create ~capacity ~classify ~limit =
-		{ capacity; q = Queue.create (); classify; limit; class_count = Hashtbl.create 3 }
+  let create ~capacity ~classify ~limit =
+    { capacity; q = Queue.create (); classify; limit; class_count = Hashtbl.create 3 }
 
-	let get_count t classification = try Hashtbl.find t.class_count classification with Not_found -> 0
+  let get_count t classification = try Hashtbl.find t.class_count classification with Not_found -> 0
 
-	let can_push_internal t classification class_count =
-		Queue.length t.q < t.capacity && class_count < t.limit classification
+  let can_push_internal t classification class_count =
+    Queue.length t.q < t.capacity && class_count < t.limit classification
 
-	let ok = Some ()
+  let ok = Some ()
 
-	let push e t =
-		let classification = t.classify e in
-		let class_count = get_count t classification in
-		if can_push_internal t classification class_count then begin
-			Queue.push e t.q;
-			Hashtbl.replace t.class_count classification (class_count + 1);
-			ok
-		end
-		else
-			None
+  let push e t =
+    let classification = t.classify e in
+    let class_count = get_count t classification in
+    if can_push_internal t classification class_count then begin
+      Queue.push e t.q;
+      Hashtbl.replace t.class_count classification (class_count + 1);
+      ok
+    end
+    else
+      None
 
-	let can_push t classification =
-		can_push_internal t classification @@ get_count t classification
+  let can_push t classification =
+    can_push_internal t classification @@ get_count t classification
 
-	let clear t =
-		Queue.clear t.q;
-		Hashtbl.reset t.class_count
+  let clear t =
+    Queue.clear t.q;
+    Hashtbl.reset t.class_count
 
-	let pop t =
-		let e = Queue.pop t.q in
-		let classification = t.classify e in
-		let () = match get_count t classification - 1 with
-		| 0 -> Hashtbl.remove t.class_count classification (* reduces memusage *)
-		| n -> Hashtbl.replace t.class_count classification n
-		in
-		e
+  let pop t =
+    let e = Queue.pop t.q in
+    let classification = t.classify e in
+    let () = match get_count t classification - 1 with
+      | 0 -> Hashtbl.remove t.class_count classification (* reduces memusage *)
+      | n -> Hashtbl.replace t.class_count classification n
+    in
+    e
 
-	let peek t = Queue.peek t.q
-	let length t = Queue.length t.q
+  let peek t = Queue.peek t.q
+  let length t = Queue.length t.q
 
-	let debug string_of_class t =
-		let b = Buffer.create 128 in
-		Printf.bprintf b "BoundedQueue capacity: %d, used: {" t.capacity;
-		Hashtbl.iter (fun packet_class count ->
-			Printf.bprintf b "	%s: %d" (string_of_class packet_class) count
-		) t.class_count;
-		Printf.bprintf b "}";
-		Buffer.contents b
+  let debug string_of_class t =
+    let b = Buffer.create 128 in
+    Printf.bprintf b "BoundedQueue capacity: %d, used: {" t.capacity;
+    Hashtbl.iter (fun packet_class count ->
+        Printf.bprintf b "	%s: %d" (string_of_class packet_class) count
+      ) t.class_count;
+    Printf.bprintf b "}";
+    Buffer.contents b
 end
 
 
@@ -119,16 +119,16 @@ let _ =
   Callback.register_exception "Xb.Reconnect" Reconnect
 
 type backend_mmap =
-{
-	mmap: Xenmmap.mmap_interface;     (* mmaped interface = xs_ring *)
-	eventchn_notify: unit -> unit; (* function to notify through eventchn *)
-	mutable work_again: bool;
-}
+  {
+    mmap: Xenmmap.mmap_interface;     (* mmaped interface = xs_ring *)
+    eventchn_notify: unit -> unit; (* function to notify through eventchn *)
+    mutable work_again: bool;
+  }
 
 type backend_fd =
-{
-	fd: Unix.file_descr;
-}
+  {
+    fd: Unix.file_descr;
+  }
 
 type backend = Fd of backend_fd | Xenmmap of backend_mmap
 
@@ -144,104 +144,104 @@ type capacity = { maxoutstanding: int; maxwatchevents: int }
 module Queue = BoundedQueue
 
 type packet_class =
-	| CommandReply
-	| Watchevent
+  | CommandReply
+  | Watchevent
 
 let string_of_packet_class = function
-	| CommandReply -> "command_reply"
-	| Watchevent -> "watch_event"
+  | CommandReply -> "command_reply"
+  | Watchevent -> "watch_event"
 
 type t =
-{
-	backend: backend;
-	pkt_out: (Packet.t, packet_class) Queue.t;
-	mutable partial_in: partial_buf;
-	mutable partial_out: string;
-	capacity: capacity
-}
+  {
+    backend: backend;
+    pkt_out: (Packet.t, packet_class) Queue.t;
+    mutable partial_in: partial_buf;
+    mutable partial_out: string;
+    capacity: capacity
+  }
 
 let to_read con =
-	match con.partial_in with
-		| HaveHdr partial_pkt -> Partial.to_complete partial_pkt
-		| NoHdr   (i, _)    -> i
+  match con.partial_in with
+  | HaveHdr partial_pkt -> Partial.to_complete partial_pkt
+  | NoHdr   (i, _)    -> i
 
 let debug t =
-	Printf.sprintf "XenBus state: partial_in: %d needed, partial_out: %d bytes, pkt_out: %d packets, %s"
-		(to_read t)
-		(String.length t.partial_out)
-		(Queue.length t.pkt_out)
-		(BoundedQueue.debug string_of_packet_class t.pkt_out)
+  Printf.sprintf "XenBus state: partial_in: %d needed, partial_out: %d bytes, pkt_out: %d packets, %s"
+    (to_read t)
+    (String.length t.partial_out)
+    (Queue.length t.pkt_out)
+    (BoundedQueue.debug string_of_packet_class t.pkt_out)
 
 let init_partial_in () = NoHdr
-	(Partial.header_size (), Bytes.make (Partial.header_size()) '\000')
+    (Partial.header_size (), Bytes.make (Partial.header_size()) '\000')
 
 let reconnect t = match t.backend with
-	| Fd _ ->
-		(* should never happen, so close the connection *)
-		raise End_of_file
-	| Xenmmap backend ->
-		Xs_ring.close backend.mmap;
-		backend.eventchn_notify ();
-		(* Clear our old connection state *)
-		Queue.clear t.pkt_out;
-		t.partial_in <- init_partial_in ();
-		t.partial_out <- ""
+  | Fd _ ->
+    (* should never happen, so close the connection *)
+    raise End_of_file
+  | Xenmmap backend ->
+    Xs_ring.close backend.mmap;
+    backend.eventchn_notify ();
+    (* Clear our old connection state *)
+    Queue.clear t.pkt_out;
+    t.partial_in <- init_partial_in ();
+    t.partial_out <- ""
 
 let queue con pkt = Queue.push pkt con.pkt_out
 
 let read_fd back _con b len =
-	let rd = Unix.read back.fd b 0 len in
-	if rd = 0 then
-		raise End_of_file;
-	rd
+  let rd = Unix.read back.fd b 0 len in
+  if rd = 0 then
+    raise End_of_file;
+  rd
 
 let read_mmap back _con b len =
-	let s = Bytes.make len '\000' in
-	let rd = Xs_ring.read back.mmap s len in
-	Bytes.blit s 0 b 0 rd;
-	back.work_again <- (rd > 0);
-	if rd > 0 then
-		back.eventchn_notify ();
-	rd
+  let s = Bytes.make len '\000' in
+  let rd = Xs_ring.read back.mmap s len in
+  Bytes.blit s 0 b 0 rd;
+  back.work_again <- (rd > 0);
+  if rd > 0 then
+    back.eventchn_notify ();
+  rd
 
 let read con b len =
-	match con.backend with
-	| Fd backfd     -> read_fd backfd con b len
-	| Xenmmap backmmap -> read_mmap backmmap con b len
+  match con.backend with
+  | Fd backfd     -> read_fd backfd con b len
+  | Xenmmap backmmap -> read_mmap backmmap con b len
 
 let write_fd back _con b len =
-	Unix.write_substring back.fd b 0 len
+  Unix.write_substring back.fd b 0 len
 
 let write_mmap back _con s len =
-	let ws = Xs_ring.write_substring back.mmap s len in
-	if ws > 0 then
-		back.eventchn_notify ();
-	ws
+  let ws = Xs_ring.write_substring back.mmap s len in
+  if ws > 0 then
+    back.eventchn_notify ();
+  ws
 
 let write con s len =
-	match con.backend with
-	| Fd backfd     -> write_fd backfd con s len
-	| Xenmmap backmmap -> write_mmap backmmap con s len
+  match con.backend with
+  | Fd backfd     -> write_fd backfd con s len
+  | Xenmmap backmmap -> write_mmap backmmap con s len
 
 (* NB: can throw Reconnect *)
 let output con =
-	(* get the output string from a string_of(packet) or partial_out *)
-	let s = if String.length con.partial_out > 0 then
-			con.partial_out
-		else if Queue.length con.pkt_out > 0 then
-			let pkt = Queue.pop con.pkt_out in
-			Packet.to_string pkt
-		else
-			"" in
-	(* send data from s, and save the unsent data to partial_out *)
-	if s <> "" then (
-		let len = String.length s in
-		let sz = write con s len in
-		let left = String.sub s sz (len - sz) in
-		con.partial_out <- left
-	);
-	(* after sending one packet, partial is empty *)
-	con.partial_out = ""
+  (* get the output string from a string_of(packet) or partial_out *)
+  let s = if String.length con.partial_out > 0 then
+      con.partial_out
+    else if Queue.length con.pkt_out > 0 then
+      let pkt = Queue.pop con.pkt_out in
+      Packet.to_string pkt
+    else
+      "" in
+  (* send data from s, and save the unsent data to partial_out *)
+  if s <> "" then (
+    let len = String.length s in
+    let sz = write con s len in
+    let left = String.sub s sz (len - sz) in
+    con.partial_out <- left
+  );
+  (* after sending one packet, partial is empty *)
+  con.partial_out = ""
 
 (* we can only process an input packet if we're guaranteed to have room
    to store the response packet *)
@@ -249,71 +249,71 @@ let can_input con = Queue.can_push con.pkt_out CommandReply
 
 (* NB: can throw Reconnect *)
 let input con =
-	if not (can_input con) then None
-	else
-	let to_read = to_read con in
+  if not (can_input con) then None
+  else
+    let to_read = to_read con in
 
-	(* try to get more data from input stream *)
-	let b = Bytes.make to_read '\000' in
-	let sz = if to_read > 0 then read con b to_read else 0 in
+    (* try to get more data from input stream *)
+    let b = Bytes.make to_read '\000' in
+    let sz = if to_read > 0 then read con b to_read else 0 in
 
-	(
-	match con.partial_in with
-	| HaveHdr partial_pkt ->
-		(* we complete the data *)
-		if sz > 0 then
-			Partial.append partial_pkt (Bytes.to_string b) sz;
-		if Partial.to_complete partial_pkt = 0 then (
-			let pkt = Packet.of_partialpkt partial_pkt in
-			con.partial_in <- init_partial_in ();
-			Some pkt
-		) else None
-	| NoHdr (i, buf)      ->
-		(* we complete the partial header *)
-		if sz > 0 then
-			Bytes.blit b 0 buf (Partial.header_size () - i) sz;
-		con.partial_in <- if sz = i then
-			HaveHdr (Partial.of_string (Bytes.to_string buf)) else NoHdr (i - sz, buf);
-		None
-	)
+    (
+      match con.partial_in with
+      | HaveHdr partial_pkt ->
+        (* we complete the data *)
+        if sz > 0 then
+          Partial.append partial_pkt (Bytes.to_string b) sz;
+        if Partial.to_complete partial_pkt = 0 then (
+          let pkt = Packet.of_partialpkt partial_pkt in
+          con.partial_in <- init_partial_in ();
+          Some pkt
+        ) else None
+      | NoHdr (i, buf)      ->
+        (* we complete the partial header *)
+        if sz > 0 then
+          Bytes.blit b 0 buf (Partial.header_size () - i) sz;
+        con.partial_in <- if sz = i then
+            HaveHdr (Partial.of_string (Bytes.to_string buf)) else NoHdr (i - sz, buf);
+        None
+    )
 
 let classify t =
-	match t.Packet.ty with
-	| Op.Watchevent -> Watchevent
-	| _ -> CommandReply
+  match t.Packet.ty with
+  | Op.Watchevent -> Watchevent
+  | _ -> CommandReply
 
 let newcon ~capacity backend =
-	let limit = function
-		| CommandReply -> capacity.maxoutstanding
-		| Watchevent -> capacity.maxwatchevents
-	in
-	{
-	backend = backend;
-	pkt_out = Queue.create ~capacity:(capacity.maxoutstanding + capacity.maxwatchevents) ~classify ~limit;
-	partial_in = init_partial_in ();
-	partial_out = "";
-	capacity = capacity;
-	}
+  let limit = function
+    | CommandReply -> capacity.maxoutstanding
+    | Watchevent -> capacity.maxwatchevents
+  in
+  {
+    backend = backend;
+    pkt_out = Queue.create ~capacity:(capacity.maxoutstanding + capacity.maxwatchevents) ~classify ~limit;
+    partial_in = init_partial_in ();
+    partial_out = "";
+    capacity = capacity;
+  }
 
 let open_fd fd = newcon (Fd { fd = fd; })
 
 let open_mmap mmap notifyfct =
-	(* Advertise XENSTORE_SERVER_FEATURE_RECONNECTION *)
-	Xs_ring.set_server_features mmap (Xs_ring.Server_features.singleton Xs_ring.Server_feature.Reconnection);
-	newcon (Xenmmap {
-		mmap = mmap;
-		eventchn_notify = notifyfct;
-		work_again = false; })
+  (* Advertise XENSTORE_SERVER_FEATURE_RECONNECTION *)
+  Xs_ring.set_server_features mmap (Xs_ring.Server_features.singleton Xs_ring.Server_feature.Reconnection);
+  newcon (Xenmmap {
+      mmap = mmap;
+      eventchn_notify = notifyfct;
+      work_again = false; })
 
 let close con =
-	match con.backend with
-	| Fd backend   -> Unix.close backend.fd
-	| Xenmmap backend -> Xenmmap.unmap backend.mmap
+  match con.backend with
+  | Fd backend   -> Unix.close backend.fd
+  | Xenmmap backend -> Xenmmap.unmap backend.mmap
 
 let is_fd con =
-	match con.backend with
-	| Fd _   -> true
-	| Xenmmap _ -> false
+  match con.backend with
+  | Fd _   -> true
+  | Xenmmap _ -> false
 
 let is_mmap con = not (is_fd con)
 
@@ -326,19 +326,19 @@ let has_output con = has_new_output con || has_old_output con
 let peek_output con = Queue.peek con.pkt_out
 
 let has_partial_input con = match con.partial_in with
-	| HaveHdr _ -> true
-	| NoHdr (n, _) -> n < Partial.header_size ()
+  | HaveHdr _ -> true
+  | NoHdr (n, _) -> n < Partial.header_size ()
 let has_more_input con =
-	match con.backend with
-	| Fd _         -> false
-	| Xenmmap backend -> backend.work_again
+  match con.backend with
+  | Fd _         -> false
+  | Xenmmap backend -> backend.work_again
 
 let is_selectable con =
-	match con.backend with
-	| Fd _   -> true
-	| Xenmmap _ -> false
+  match con.backend with
+  | Fd _   -> true
+  | Xenmmap _ -> false
 
 let get_fd con =
-	match con.backend with
-	| Fd backend -> backend.fd
-	| Xenmmap _     -> raise (Failure "get_fd")
+  match con.backend with
+  | Fd backend -> backend.fd
+  | Xenmmap _     -> raise (Failure "get_fd")
diff --git a/tools/ocaml/libs/xb/xb.mli b/tools/ocaml/libs/xb/xb.mli
index 71b2754ca7..e6bb3809dc 100644
--- a/tools/ocaml/libs/xb/xb.mli
+++ b/tools/ocaml/libs/xb/xb.mli
@@ -1,58 +1,58 @@
 module Op :
-  sig
-    type operation =
-      Op.operation =
-        Debug
-      | Directory
-      | Read
-      | Getperms
-      | Watch
-      | Unwatch
-      | Transaction_start
-      | Transaction_end
-      | Introduce
-      | Release
-      | Getdomainpath
-      | Write
-      | Mkdir
-      | Rm
-      | Setperms
-      | Watchevent
-      | Error
-      | Isintroduced
-      | Resume
-      | Set_target
-      | Reset_watches
-      | Invalid
-    val operation_c_mapping : operation array
-    val size : int
-    val array_search : 'a -> 'a array -> int
-    val of_cval : int -> operation
-    val to_cval : operation -> int
-    val to_string : operation -> string
-  end
+sig
+  type operation =
+    Op.operation =
+      Debug
+    | Directory
+    | Read
+    | Getperms
+    | Watch
+    | Unwatch
+    | Transaction_start
+    | Transaction_end
+    | Introduce
+    | Release
+    | Getdomainpath
+    | Write
+    | Mkdir
+    | Rm
+    | Setperms
+    | Watchevent
+    | Error
+    | Isintroduced
+    | Resume
+    | Set_target
+    | Reset_watches
+    | Invalid
+  val operation_c_mapping : operation array
+  val size : int
+  val array_search : 'a -> 'a array -> int
+  val of_cval : int -> operation
+  val to_cval : operation -> int
+  val to_string : operation -> string
+end
 module Packet :
-  sig
-    type t =
-      Packet.t = {
-      tid : int;
-      rid : int;
-      ty : Op.operation;
-      data : string;
-    }
-    exception Error of string
-    exception DataError of string
-    external string_of_header : int -> int -> int -> int -> string
-      = "stub_string_of_header"
-    val create : int -> int -> Op.operation -> string -> t
-    val of_partialpkt : Partial.pkt -> t
-    val to_string : t -> string
-    val unpack : t -> int * int * Op.operation * string
-    val get_tid : t -> int
-    val get_ty : t -> Op.operation
-    val get_data : t -> string
-    val get_rid : t -> int
-  end
+sig
+  type t =
+    Packet.t = {
+    tid : int;
+    rid : int;
+    ty : Op.operation;
+    data : string;
+  }
+  exception Error of string
+  exception DataError of string
+  external string_of_header : int -> int -> int -> int -> string
+    = "stub_string_of_header"
+  val create : int -> int -> Op.operation -> string -> t
+  val of_partialpkt : Partial.pkt -> t
+  val to_string : t -> string
+  val unpack : t -> int * int * Op.operation * string
+  val get_tid : t -> int
+  val get_ty : t -> Op.operation
+  val get_data : t -> string
+  val get_rid : t -> int
+end
 exception End_of_file
 exception Eagain
 exception Noent
diff --git a/tools/ocaml/libs/xb/xenbus_stubs.c b/tools/ocaml/libs/xb/xenbus_stubs.c
index 3065181a55..e5206f64d4 100644
--- a/tools/ocaml/libs/xb/xenbus_stubs.c
+++ b/tools/ocaml/libs/xb/xenbus_stubs.c
@@ -32,40 +32,40 @@
 
 CAMLprim value stub_header_size(void)
 {
-	CAMLparam0();
-	CAMLreturn(Val_int(sizeof(struct xsd_sockmsg)));
+    CAMLparam0();
+    CAMLreturn(Val_int(sizeof(struct xsd_sockmsg)));
 }
 
 CAMLprim value stub_header_of_string(value s)
 {
-	CAMLparam1(s);
-	CAMLlocal1(ret);
-	const struct xsd_sockmsg *hdr;
+    CAMLparam1(s);
+    CAMLlocal1(ret);
+    const struct xsd_sockmsg *hdr;
 
-	if (caml_string_length(s) != sizeof(struct xsd_sockmsg))
-		caml_failwith("xb header incomplete");
-	ret = caml_alloc_tuple(4);
-	hdr = (const struct xsd_sockmsg *) String_val(s);
-	Store_field(ret, 0, Val_int(hdr->tx_id));
-	Store_field(ret, 1, Val_int(hdr->req_id));
-	Store_field(ret, 2, Val_int(hdr->type));
-	Store_field(ret, 3, Val_int(hdr->len));
-	CAMLreturn(ret);
+    if (caml_string_length(s) != sizeof(struct xsd_sockmsg))
+        caml_failwith("xb header incomplete");
+    ret = caml_alloc_tuple(4);
+    hdr = (const struct xsd_sockmsg *) String_val(s);
+    Store_field(ret, 0, Val_int(hdr->tx_id));
+    Store_field(ret, 1, Val_int(hdr->req_id));
+    Store_field(ret, 2, Val_int(hdr->type));
+    Store_field(ret, 3, Val_int(hdr->len));
+    CAMLreturn(ret);
 }
 
 CAMLprim value stub_string_of_header(value tid, value rid, value ty, value len)
 {
-	CAMLparam4(tid, rid, ty, len);
-	CAMLlocal1(ret);
-	struct xsd_sockmsg xsd = {
-		.type = Int_val(ty),
-		.tx_id = Int_val(tid),
-		.req_id = Int_val(rid),
-		.len = Int_val(len),
-	};
+    CAMLparam4(tid, rid, ty, len);
+    CAMLlocal1(ret);
+    struct xsd_sockmsg xsd = {
+        .type = Int_val(ty),
+        .tx_id = Int_val(tid),
+        .req_id = Int_val(rid),
+        .len = Int_val(len),
+    };
 
-	ret = caml_alloc_string(sizeof(struct xsd_sockmsg));
-	memcpy((char *) String_val(ret), &xsd, sizeof(struct xsd_sockmsg));
+    ret = caml_alloc_string(sizeof(struct xsd_sockmsg));
+    memcpy((char *) String_val(ret), &xsd, sizeof(struct xsd_sockmsg));
 
-	CAMLreturn(ret);
+    CAMLreturn(ret);
 }
diff --git a/tools/ocaml/libs/xb/xs_ring.ml b/tools/ocaml/libs/xb/xs_ring.ml
index db7f86bd27..2a27aa56c2 100644
--- a/tools/ocaml/libs/xb/xs_ring.ml
+++ b/tools/ocaml/libs/xb/xs_ring.ml
@@ -15,14 +15,14 @@
  *)
 
 module Server_feature = struct
-	type t =
-	| Reconnection
+  type t =
+    | Reconnection
 end
 
 module Server_features = Set.Make(struct
-	type t = Server_feature.t
-	let compare = compare
-end)
+    type t = Server_feature.t
+    let compare = compare
+  end)
 
 external read: Xenmmap.mmap_interface -> bytes -> int -> int = "ml_interface_read"
 external write: Xenmmap.mmap_interface -> bytes -> int -> int = "ml_interface_write"
@@ -31,18 +31,18 @@ external _internal_set_server_features: Xenmmap.mmap_interface -> int -> unit =
 external _internal_get_server_features: Xenmmap.mmap_interface -> int = "ml_interface_get_server_features" [@@noalloc]
 
 let write_substring mmap buff len =
-	write mmap (Bytes.unsafe_of_string buff) len
+  write mmap (Bytes.unsafe_of_string buff) len
 
 let get_server_features mmap =
-	(* NB only one feature currently defined above *)
-	let x = _internal_get_server_features mmap in
-	if x = 0
-	then Server_features.empty
-	else Server_features.singleton Server_feature.Reconnection
+  (* NB only one feature currently defined above *)
+  let x = _internal_get_server_features mmap in
+  if x = 0
+  then Server_features.empty
+  else Server_features.singleton Server_feature.Reconnection
 
 let set_server_features mmap set =
-	(* NB only one feature currently defined above *)
-	let x = if set = Server_features.empty then 0 else 1 in
-	_internal_set_server_features mmap x
+  (* NB only one feature currently defined above *)
+  let x = if set = Server_features.empty then 0 else 1 in
+  _internal_set_server_features mmap x
 
 external close: Xenmmap.mmap_interface -> unit = "ml_interface_close" [@@noalloc]
diff --git a/tools/ocaml/libs/xb/xs_ring_stubs.c b/tools/ocaml/libs/xb/xs_ring_stubs.c
index cc9114029f..1e472d0bbf 100644
--- a/tools/ocaml/libs/xb/xs_ring_stubs.c
+++ b/tools/ocaml/libs/xb/xs_ring_stubs.c
@@ -49,153 +49,153 @@ CAMLprim value ml_interface_read(value ml_interface,
                                  value ml_buffer,
                                  value ml_len)
 {
-	CAMLparam3(ml_interface, ml_buffer, ml_len);
-	CAMLlocal1(ml_result);
+    CAMLparam3(ml_interface, ml_buffer, ml_len);
+    CAMLlocal1(ml_result);
 
-	struct mmap_interface *interface = GET_C_STRUCT(ml_interface);
-	unsigned char *buffer = Bytes_val(ml_buffer);
-	int len = Int_val(ml_len);
-	int result;
+    struct mmap_interface *interface = GET_C_STRUCT(ml_interface);
+    unsigned char *buffer = Bytes_val(ml_buffer);
+    int len = Int_val(ml_len);
+    int result;
 
-	struct xenstore_domain_interface *intf = interface->addr;
-	XENSTORE_RING_IDX cons, prod; /* offsets only */
-	int total_data, data;
-	uint32_t connection;
+    struct xenstore_domain_interface *intf = interface->addr;
+    XENSTORE_RING_IDX cons, prod; /* offsets only */
+    int total_data, data;
+    uint32_t connection;
 
-	cons = *(volatile uint32_t*)&intf->req_cons;
-	prod = *(volatile uint32_t*)&intf->req_prod;
-	connection = *(volatile uint32_t*)&intf->connection;
+    cons = *(volatile uint32_t*)&intf->req_cons;
+    prod = *(volatile uint32_t*)&intf->req_prod;
+    connection = *(volatile uint32_t*)&intf->connection;
 
-	if (connection != XENSTORE_CONNECTED)
-		caml_raise_constant(*caml_named_value("Xb.Reconnect"));
+    if (connection != XENSTORE_CONNECTED)
+        caml_raise_constant(*caml_named_value("Xb.Reconnect"));
 
-	xen_mb();
+    xen_mb();
 
-	if ((prod - cons) > XENSTORE_RING_SIZE)
-		caml_failwith("bad connection");
+    if ((prod - cons) > XENSTORE_RING_SIZE)
+        caml_failwith("bad connection");
 
-	/* Check for any pending data at all. */
-	total_data = prod - cons;
-	if (total_data == 0) {
-		/* No pending data at all. */
-		result = 0;
-		goto exit;
-	}
-	else if (total_data < len)
-		/* Some data - make a partial read. */
-		len = total_data;
+    /* Check for any pending data at all. */
+    total_data = prod - cons;
+    if (total_data == 0) {
+        /* No pending data at all. */
+        result = 0;
+        goto exit;
+    }
+    else if (total_data < len)
+        /* Some data - make a partial read. */
+        len = total_data;
 
-	/* Check whether data crosses the end of the ring. */
-	data = XENSTORE_RING_SIZE - MASK_XENSTORE_IDX(cons);
-	if (len < data)
-		/* Data within the remaining part of the ring. */
-		memcpy(buffer, intf->req + MASK_XENSTORE_IDX(cons), len);
-	else {
-		/* Data crosses the ring boundary. Read both halves. */
-		memcpy(buffer, intf->req + MASK_XENSTORE_IDX(cons), data);
-		memcpy(buffer + data, intf->req, len - data);
-	}
+    /* Check whether data crosses the end of the ring. */
+    data = XENSTORE_RING_SIZE - MASK_XENSTORE_IDX(cons);
+    if (len < data)
+        /* Data within the remaining part of the ring. */
+        memcpy(buffer, intf->req + MASK_XENSTORE_IDX(cons), len);
+    else {
+        /* Data crosses the ring boundary. Read both halves. */
+        memcpy(buffer, intf->req + MASK_XENSTORE_IDX(cons), data);
+        memcpy(buffer + data, intf->req, len - data);
+    }
 
-	xen_mb();
-	intf->req_cons += len;
-	result = len;
+    xen_mb();
+    intf->req_cons += len;
+    result = len;
 exit:
-	ml_result = Val_int(result);
-	CAMLreturn(ml_result);
+    ml_result = Val_int(result);
+    CAMLreturn(ml_result);
 }
 
 CAMLprim value ml_interface_write(value ml_interface,
                                   value ml_buffer,
                                   value ml_len)
 {
-	CAMLparam3(ml_interface, ml_buffer, ml_len);
-	CAMLlocal1(ml_result);
+    CAMLparam3(ml_interface, ml_buffer, ml_len);
+    CAMLlocal1(ml_result);
 
-	struct mmap_interface *interface = GET_C_STRUCT(ml_interface);
-	const unsigned char *buffer = Bytes_val(ml_buffer);
-	int len = Int_val(ml_len);
-	int result;
+    struct mmap_interface *interface = GET_C_STRUCT(ml_interface);
+    const unsigned char *buffer = Bytes_val(ml_buffer);
+    int len = Int_val(ml_len);
+    int result;
 
-	struct xenstore_domain_interface *intf = interface->addr;
-	XENSTORE_RING_IDX cons, prod;
-	int total_space, space;
-	uint32_t connection;
+    struct xenstore_domain_interface *intf = interface->addr;
+    XENSTORE_RING_IDX cons, prod;
+    int total_space, space;
+    uint32_t connection;
 
-	cons = *(volatile uint32_t*)&intf->rsp_cons;
-	prod = *(volatile uint32_t*)&intf->rsp_prod;
-	connection = *(volatile uint32_t*)&intf->connection;
+    cons = *(volatile uint32_t*)&intf->rsp_cons;
+    prod = *(volatile uint32_t*)&intf->rsp_prod;
+    connection = *(volatile uint32_t*)&intf->connection;
 
-	if (connection != XENSTORE_CONNECTED)
-		caml_raise_constant(*caml_named_value("Xb.Reconnect"));
+    if (connection != XENSTORE_CONNECTED)
+        caml_raise_constant(*caml_named_value("Xb.Reconnect"));
 
-	xen_mb();
+    xen_mb();
 
-	if ((prod - cons) > XENSTORE_RING_SIZE)
-		caml_failwith("bad connection");
+    if ((prod - cons) > XENSTORE_RING_SIZE)
+        caml_failwith("bad connection");
 
-	/* Check for space to write the full message. */
-	total_space = XENSTORE_RING_SIZE - (prod - cons);
-	if (total_space == 0) {
-		/* No space at all - exit having done nothing. */
-		result = 0;
-		goto exit;
-	}
-	else if (total_space < len)
-		/* Some space - make a partial write. */
-		len = total_space;
+    /* Check for space to write the full message. */
+    total_space = XENSTORE_RING_SIZE - (prod - cons);
+    if (total_space == 0) {
+        /* No space at all - exit having done nothing. */
+        result = 0;
+        goto exit;
+    }
+    else if (total_space < len)
+        /* Some space - make a partial write. */
+        len = total_space;
 
-	/* Check for space until the ring wraps. */
-	space = XENSTORE_RING_SIZE - MASK_XENSTORE_IDX(prod);
-	if (len < space)
-		/* Message fits inside the remaining part of the ring. */
-		memcpy(intf->rsp + MASK_XENSTORE_IDX(prod), buffer, len);
-	else {
-		/* Message wraps around the end of the ring. Write both halves. */
-		memcpy(intf->rsp + MASK_XENSTORE_IDX(prod), buffer, space);
-		memcpy(intf->rsp, buffer + space, len - space);
-	}
+    /* Check for space until the ring wraps. */
+    space = XENSTORE_RING_SIZE - MASK_XENSTORE_IDX(prod);
+    if (len < space)
+        /* Message fits inside the remaining part of the ring. */
+        memcpy(intf->rsp + MASK_XENSTORE_IDX(prod), buffer, len);
+    else {
+        /* Message wraps around the end of the ring. Write both halves. */
+        memcpy(intf->rsp + MASK_XENSTORE_IDX(prod), buffer, space);
+        memcpy(intf->rsp, buffer + space, len - space);
+    }
 
-	xen_mb();
-	intf->rsp_prod += len;
-	result = len;
+    xen_mb();
+    intf->rsp_prod += len;
+    result = len;
 exit:
-	ml_result = Val_int(result);
-	CAMLreturn(ml_result);
+    ml_result = Val_int(result);
+    CAMLreturn(ml_result);
 }
 
 CAMLprim value ml_interface_set_server_features(value interface, value v)
 {
-	CAMLparam2(interface, v);
-	struct xenstore_domain_interface *intf = GET_C_STRUCT(interface)->addr;
-	if (intf == (void*)MAP_FAILED)
-		caml_failwith("Interface closed");
+    CAMLparam2(interface, v);
+    struct xenstore_domain_interface *intf = GET_C_STRUCT(interface)->addr;
+    if (intf == (void*)MAP_FAILED)
+        caml_failwith("Interface closed");
 
-	intf->server_features = Int_val(v);
+    intf->server_features = Int_val(v);
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value ml_interface_get_server_features(value interface)
 {
-	CAMLparam1(interface);
-	struct xenstore_domain_interface *intf = GET_C_STRUCT(interface)->addr;
+    CAMLparam1(interface);
+    struct xenstore_domain_interface *intf = GET_C_STRUCT(interface)->addr;
 
-	CAMLreturn(Val_int (intf->server_features));
+    CAMLreturn(Val_int (intf->server_features));
 }
 
 CAMLprim value ml_interface_close(value interface)
 {
-	CAMLparam1(interface);
-	struct xenstore_domain_interface *intf = GET_C_STRUCT(interface)->addr;
-	int i;
+    CAMLparam1(interface);
+    struct xenstore_domain_interface *intf = GET_C_STRUCT(interface)->addr;
+    int i;
 
-	intf->req_cons = intf->req_prod = intf->rsp_cons = intf->rsp_prod = 0;
-	/* Ensure the unused space is full of invalid xenstore packets. */
-	for (i = 0; i < XENSTORE_RING_SIZE; i++) {
-		intf->req[i] = 0xff; /* XS_INVALID = 0xffff */
-		intf->rsp[i] = 0xff;
-	}
-	xen_mb ();
-	intf->connection = XENSTORE_CONNECTED;
-	CAMLreturn(Val_unit);
+    intf->req_cons = intf->req_prod = intf->rsp_cons = intf->rsp_prod = 0;
+    /* Ensure the unused space is full of invalid xenstore packets. */
+    for (i = 0; i < XENSTORE_RING_SIZE; i++) {
+        intf->req[i] = 0xff; /* XS_INVALID = 0xffff */
+        intf->rsp[i] = 0xff;
+    }
+    xen_mb ();
+    intf->connection = XENSTORE_CONNECTED;
+    CAMLreturn(Val_unit);
 }
diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index 9a80ae5e28..b02be07429 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -20,153 +20,153 @@ type domid = int
 (* ** xenctrl.h ** *)
 
 type vcpuinfo =
-{
-	online: bool;
-	blocked: bool;
-	running: bool;
-	cputime: int64;
-	cpumap: int32;
-}
+  {
+    online: bool;
+    blocked: bool;
+    running: bool;
+    cputime: int64;
+    cpumap: int32;
+  }
 
 type xen_arm_arch_domainconfig =
-{
-	gic_version: int;
-	nr_spis: int;
-	clock_frequency: int32;
-}
+  {
+    gic_version: int;
+    nr_spis: int;
+    clock_frequency: int32;
+  }
 
 type x86_arch_emulation_flags =
-	| X86_EMU_LAPIC
-	| X86_EMU_HPET
-	| X86_EMU_PM
-	| X86_EMU_RTC
-	| X86_EMU_IOAPIC
-	| X86_EMU_PIC
-	| X86_EMU_VGA
-	| X86_EMU_IOMMU
-	| X86_EMU_PIT
-	| X86_EMU_USE_PIRQ
-	| X86_EMU_VPCI
+  | X86_EMU_LAPIC
+  | X86_EMU_HPET
+  | X86_EMU_PM
+  | X86_EMU_RTC
+  | X86_EMU_IOAPIC
+  | X86_EMU_PIC
+  | X86_EMU_VGA
+  | X86_EMU_IOMMU
+  | X86_EMU_PIT
+  | X86_EMU_USE_PIRQ
+  | X86_EMU_VPCI
 
 type x86_arch_misc_flags =
-	| X86_MSR_RELAXED
+  | X86_MSR_RELAXED
 
 type xen_x86_arch_domainconfig =
-{
-	emulation_flags: x86_arch_emulation_flags list;
-	misc_flags: x86_arch_misc_flags list;
-}
+  {
+    emulation_flags: x86_arch_emulation_flags list;
+    misc_flags: x86_arch_misc_flags list;
+  }
 
 type arch_domainconfig =
-	| ARM of xen_arm_arch_domainconfig
-	| X86 of xen_x86_arch_domainconfig
+  | ARM of xen_arm_arch_domainconfig
+  | X86 of xen_x86_arch_domainconfig
 
 type domain_create_flag =
-	| CDF_HVM
-	| CDF_HAP
-	| CDF_S3_INTEGRITY
-	| CDF_OOS_OFF
-	| CDF_XS_DOMAIN
-	| CDF_IOMMU
-	| CDF_NESTED_VIRT
-	| CDF_VPMU
+  | CDF_HVM
+  | CDF_HAP
+  | CDF_S3_INTEGRITY
+  | CDF_OOS_OFF
+  | CDF_XS_DOMAIN
+  | CDF_IOMMU
+  | CDF_NESTED_VIRT
+  | CDF_VPMU
 
 type domain_create_iommu_opts =
-	| IOMMU_NO_SHAREPT
+  | IOMMU_NO_SHAREPT
 
 type domctl_create_config =
-{
-	ssidref: int32;
-	handle: string;
-	flags: domain_create_flag list;
-	iommu_opts: domain_create_iommu_opts list;
-	max_vcpus: int;
-	max_evtchn_port: int;
-	max_grant_frames: int;
-	max_maptrack_frames: int;
-	max_grant_version: int;
-	cpupool_id: int32;
-	arch: arch_domainconfig;
-}
+  {
+    ssidref: int32;
+    handle: string;
+    flags: domain_create_flag list;
+    iommu_opts: domain_create_iommu_opts list;
+    max_vcpus: int;
+    max_evtchn_port: int;
+    max_grant_frames: int;
+    max_maptrack_frames: int;
+    max_grant_version: int;
+    cpupool_id: int32;
+    arch: arch_domainconfig;
+  }
 
 type domaininfo =
-{
-	domid             : domid;
-	dying             : bool;
-	shutdown          : bool;
-	paused            : bool;
-	blocked           : bool;
-	running           : bool;
-	hvm_guest         : bool;
-	shutdown_code     : int;
-	total_memory_pages: nativeint;
-	max_memory_pages  : nativeint;
-	shared_info_frame : int64;
-	cpu_time          : int64;
-	nr_online_vcpus   : int;
-	max_vcpu_id       : int;
-	ssidref           : int32;
-	handle            : int array;
-	arch_config       : arch_domainconfig;
-}
+  {
+    domid             : domid;
+    dying             : bool;
+    shutdown          : bool;
+    paused            : bool;
+    blocked           : bool;
+    running           : bool;
+    hvm_guest         : bool;
+    shutdown_code     : int;
+    total_memory_pages: nativeint;
+    max_memory_pages  : nativeint;
+    shared_info_frame : int64;
+    cpu_time          : int64;
+    nr_online_vcpus   : int;
+    max_vcpu_id       : int;
+    ssidref           : int32;
+    handle            : int array;
+    arch_config       : arch_domainconfig;
+  }
 
 type sched_control =
-{
-	weight : int;
-	cap    : int;
-}
+  {
+    weight : int;
+    cap    : int;
+  }
 
 type physinfo_cap_flag =
-	| CAP_HVM
-	| CAP_PV
-	| CAP_DirectIO
-	| CAP_HAP
-	| CAP_Shadow
-	| CAP_IOMMU_HAP_PT_SHARE
-	| CAP_Vmtrace
-	| CAP_Vpmu
-	| CAP_Gnttab_v1
-	| CAP_Gnttab_v2
+  | CAP_HVM
+  | CAP_PV
+  | CAP_DirectIO
+  | CAP_HAP
+  | CAP_Shadow
+  | CAP_IOMMU_HAP_PT_SHARE
+  | CAP_Vmtrace
+  | CAP_Vpmu
+  | CAP_Gnttab_v1
+  | CAP_Gnttab_v2
 
 type arm_physinfo_cap_flag
 
 type x86_physinfo_cap_flag
 
 type arch_physinfo_cap_flags =
-	| ARM of arm_physinfo_cap_flag list
-	| X86 of x86_physinfo_cap_flag list
+  | ARM of arm_physinfo_cap_flag list
+  | X86 of x86_physinfo_cap_flag list
 
 type physinfo =
-{
-	threads_per_core : int;
-	cores_per_socket : int;
-	nr_cpus          : int;
-	max_node_id      : int;
-	cpu_khz          : int;
-	total_pages      : nativeint;
-	free_pages       : nativeint;
-	scrub_pages      : nativeint;
-	(* XXX hw_cap *)
-	capabilities     : physinfo_cap_flag list;
-	max_nr_cpus      : int;
-	arch_capabilities : arch_physinfo_cap_flags;
-}
+  {
+    threads_per_core : int;
+    cores_per_socket : int;
+    nr_cpus          : int;
+    max_node_id      : int;
+    cpu_khz          : int;
+    total_pages      : nativeint;
+    free_pages       : nativeint;
+    scrub_pages      : nativeint;
+    (* XXX hw_cap *)
+    capabilities     : physinfo_cap_flag list;
+    max_nr_cpus      : int;
+    arch_capabilities : arch_physinfo_cap_flags;
+  }
 
 type version =
-{
-	major : int;
-	minor : int;
-	extra : string;
-}
+  {
+    major : int;
+    minor : int;
+    extra : string;
+  }
 
 
 type compile_info =
-{
-	compiler : string;
-	compile_by : string;
-	compile_domain : string;
-	compile_date : string;
-}
+  {
+    compiler : string;
+    compile_by : string;
+    compile_domain : string;
+    compile_date : string;
+  }
 
 type shutdown_reason = Poweroff | Reboot | Suspend | Crash | Watchdog | Soft_reset
 
@@ -181,34 +181,34 @@ let handle = ref None
 let get_handle () = !handle
 
 let close_handle () =
-	match !handle with
-	| Some h -> handle := None
-	| None -> ()
+  match !handle with
+  | Some h -> handle := None
+  | None -> ()
 
 let with_intf f =
-	match !handle with
-	| Some h -> f h
-	| None ->
-		let h =
-			try interface_open () with
-			| e ->
-				let msg = Printexc.to_string e in
-				failwith ("failed to open xenctrl: "^msg)
-		in
-		handle := Some h;
-		f h
+  match !handle with
+  | Some h -> f h
+  | None ->
+    let h =
+      try interface_open () with
+      | e ->
+        let msg = Printexc.to_string e in
+        failwith ("failed to open xenctrl: "^msg)
+    in
+    handle := Some h;
+    f h
 
 external domain_create_stub: handle -> domid -> domctl_create_config -> domid
-       = "stub_xc_domain_create"
+  = "stub_xc_domain_create"
 
 let domain_create handle ?(domid=0) config =
-	domain_create_stub handle domid config
+  domain_create_stub handle domid config
 
 external domain_sethandle: handle -> domid -> string -> unit
-       = "stub_xc_domain_sethandle"
+  = "stub_xc_domain_sethandle"
 
 external domain_max_vcpus: handle -> domid -> int -> unit
-       = "stub_xc_domain_max_vcpus"
+  = "stub_xc_domain_max_vcpus"
 
 external domain_pause: handle -> domid -> unit = "stub_xc_domain_pause"
 external domain_unpause: handle -> domid -> unit = "stub_xc_domain_unpause"
@@ -216,10 +216,10 @@ external domain_resume_fast: handle -> domid -> unit = "stub_xc_domain_resume_fa
 external domain_destroy: handle -> domid -> unit = "stub_xc_domain_destroy"
 
 external domain_shutdown: handle -> domid -> shutdown_reason -> unit
-       = "stub_xc_domain_shutdown"
+  = "stub_xc_domain_shutdown"
 
 external _domain_getinfolist: handle -> domid -> int -> domaininfo list
-       = "stub_xc_domain_getinfolist"
+  = "stub_xc_domain_getinfolist"
 
 let rev_append_fold acc e = List.rev_append e acc
 
@@ -228,53 +228,53 @@ let rev_append_fold acc e = List.rev_append e acc
  * except it is tail recursive, whereas [List.concat] isn't.
  * Example:
  * rev_concat [[10;9;8];[7;6];[5]]] = [5; 6; 7; 8; 9; 10]
- *)
+*)
 let rev_concat lst = List.fold_left rev_append_fold [] lst
 
 let domain_getinfolist handle first_domain =
-	let nb = 1024 in
-	let rec __getlist lst from =
-		(* _domain_getinfolist returns domains in reverse order, largest first *)
-		match _domain_getinfolist handle from nb with
-		| [] -> rev_concat lst
-		| (hd :: _) as l -> __getlist (l :: lst) (hd.domid + 1)
-	in
-	__getlist [] first_domain
+  let nb = 1024 in
+  let rec __getlist lst from =
+    (* _domain_getinfolist returns domains in reverse order, largest first *)
+    match _domain_getinfolist handle from nb with
+    | [] -> rev_concat lst
+    | (hd :: _) as l -> __getlist (l :: lst) (hd.domid + 1)
+  in
+  __getlist [] first_domain
 
 external domain_getinfo: handle -> domid -> domaininfo= "stub_xc_domain_getinfo"
 
 external domain_get_vcpuinfo: handle -> int -> int -> vcpuinfo
-       = "stub_xc_vcpu_getinfo"
+  = "stub_xc_vcpu_getinfo"
 
 external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
-       = "stub_xc_domain_ioport_permission"
+  = "stub_xc_domain_ioport_permission"
 external domain_iomem_permission: handle -> domid -> nativeint -> nativeint -> bool -> unit
-       = "stub_xc_domain_iomem_permission"
+  = "stub_xc_domain_iomem_permission"
 external domain_irq_permission: handle -> domid -> int -> bool -> unit
-       = "stub_xc_domain_irq_permission"
+  = "stub_xc_domain_irq_permission"
 
 external vcpu_affinity_set: handle -> domid -> int -> bool array -> unit
-       = "stub_xc_vcpu_setaffinity"
+  = "stub_xc_vcpu_setaffinity"
 external vcpu_affinity_get: handle -> domid -> int -> bool array
-       = "stub_xc_vcpu_getaffinity"
+  = "stub_xc_vcpu_getaffinity"
 
 external vcpu_context_get: handle -> domid -> int -> string
-       = "stub_xc_vcpu_context_get"
+  = "stub_xc_vcpu_context_get"
 
 external sched_id: handle -> int = "stub_xc_sched_id"
 
 external sched_credit_domain_set: handle -> domid -> sched_control -> unit
-       = "stub_sched_credit_domain_set"
+  = "stub_sched_credit_domain_set"
 external sched_credit_domain_get: handle -> domid -> sched_control
-       = "stub_sched_credit_domain_get"
+  = "stub_sched_credit_domain_get"
 
 external shadow_allocation_set: handle -> domid -> int -> unit
-       = "stub_shadow_allocation_set"
+  = "stub_shadow_allocation_set"
 external shadow_allocation_get: handle -> domid -> int
-       = "stub_shadow_allocation_get"
+  = "stub_shadow_allocation_get"
 
 external evtchn_alloc_unbound: handle -> domid -> domid -> int
-       = "stub_xc_evtchn_alloc_unbound"
+  = "stub_xc_evtchn_alloc_unbound"
 external evtchn_reset: handle -> domid -> unit = "stub_xc_evtchn_reset"
 
 (* FIFO has theoretical maximum of 2^28 ports, fits in an int *)
@@ -299,15 +299,15 @@ external physinfo: handle -> physinfo = "stub_xc_physinfo"
 external pcpu_info: handle -> int -> int64 array = "stub_xc_pcpu_info"
 
 external domain_setmaxmem: handle -> domid -> int64 -> unit
-       = "stub_xc_domain_setmaxmem"
+  = "stub_xc_domain_setmaxmem"
 external domain_set_memmap_limit: handle -> domid -> int64 -> unit
-       = "stub_xc_domain_set_memmap_limit"
+  = "stub_xc_domain_set_memmap_limit"
 external domain_memory_increase_reservation: handle -> domid -> int64 -> unit
-       = "stub_xc_domain_memory_increase_reservation"
+  = "stub_xc_domain_memory_increase_reservation"
 
 external map_foreign_range: handle -> domid -> int
-                         -> nativeint -> Xenmmap.mmap_interface
-       = "stub_map_foreign_range"
+  -> nativeint -> Xenmmap.mmap_interface
+  = "stub_map_foreign_range"
 
 type hvm_param =
   | HVM_PARAM_CALLBACK_IRQ
@@ -357,15 +357,15 @@ external hvm_param_set: handle -> domid -> hvm_param -> int64 -> unit
   = "stub_xc_hvm_param_set"
 
 external domain_assign_device: handle -> domid -> (int * int * int * int) -> unit
-       = "stub_xc_domain_assign_device"
+  = "stub_xc_domain_assign_device"
 external domain_deassign_device: handle -> domid -> (int * int * int * int) -> unit
-       = "stub_xc_domain_deassign_device"
+  = "stub_xc_domain_deassign_device"
 external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
-       = "stub_xc_domain_test_assign_device"
+  = "stub_xc_domain_test_assign_device"
 
 external version: handle -> version = "stub_xc_version_version"
 external version_compile_info: handle -> compile_info
-       = "stub_xc_version_compile_info"
+  = "stub_xc_version_compile_info"
 external version_changeset: handle -> string = "stub_xc_version_changeset"
 external version_capabilities: handle -> string =
   "stub_xc_version_capabilities"
@@ -380,7 +380,7 @@ external watchdog : handle -> int -> int32 -> int
 
 (**
    Convert the given number of pages to an amount in KiB, rounded up.
- *)
+*)
 external pages_to_kib : int64 -> int64 = "stub_pages_to_kib"
 let pages_to_mib pages = Int64.div (pages_to_kib pages) 1024L
 
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
index 82def5a17c..3154e90f4f 100644
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -182,11 +182,11 @@ external domain_getinfo : handle -> domid -> domaininfo
 external domain_get_vcpuinfo : handle -> int -> int -> vcpuinfo
   = "stub_xc_vcpu_getinfo"
 external domain_ioport_permission: handle -> domid -> int -> int -> bool -> unit
-       = "stub_xc_domain_ioport_permission"
+  = "stub_xc_domain_ioport_permission"
 external domain_iomem_permission: handle -> domid -> nativeint -> nativeint -> bool -> unit
-       = "stub_xc_domain_iomem_permission"
+  = "stub_xc_domain_iomem_permission"
 external domain_irq_permission: handle -> domid -> int -> bool -> unit
-       = "stub_xc_domain_irq_permission"
+  = "stub_xc_domain_irq_permission"
 external vcpu_affinity_set : handle -> domid -> int -> bool array -> unit
   = "stub_xc_vcpu_setaffinity"
 external vcpu_affinity_get : handle -> domid -> int -> bool array
@@ -284,11 +284,11 @@ external hvm_param_set: handle -> domid -> hvm_param -> int64 -> unit
   = "stub_xc_hvm_param_set"
 
 external domain_assign_device: handle -> domid -> (int * int * int * int) -> unit
-       = "stub_xc_domain_assign_device"
+  = "stub_xc_domain_assign_device"
 external domain_deassign_device: handle -> domid -> (int * int * int * int) -> unit
-       = "stub_xc_domain_deassign_device"
+  = "stub_xc_domain_deassign_device"
 external domain_test_assign_device: handle -> domid -> (int * int * int * int) -> bool
-       = "stub_xc_domain_test_assign_device"
+  = "stub_xc_domain_test_assign_device"
 
 external version : handle -> version = "stub_xc_version_version"
 external version_compile_info : handle -> compile_info
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index 2fba9c5e94..fe2ff60795 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -50,78 +50,78 @@
 
 static void stub_xenctrl_finalize(value v)
 {
-	xc_interface_close(_H(v));
+    xc_interface_close(_H(v));
 }
 
 static struct custom_operations xenctrl_ops = {
-	.identifier  = "xenctrl",
-	.finalize    = stub_xenctrl_finalize,
-	.compare     = custom_compare_default,     /* Can't compare     */
-	.hash        = custom_hash_default,        /* Can't hash        */
-	.serialize   = custom_serialize_default,   /* Can't serialize   */
-	.deserialize = custom_deserialize_default, /* Can't deserialize */
-	.compare_ext = custom_compare_ext_default, /* Can't compare     */
+    .identifier  = "xenctrl",
+    .finalize    = stub_xenctrl_finalize,
+    .compare     = custom_compare_default,     /* Can't compare     */
+    .hash        = custom_hash_default,        /* Can't hash        */
+    .serialize   = custom_serialize_default,   /* Can't serialize   */
+    .deserialize = custom_deserialize_default, /* Can't deserialize */
+    .compare_ext = custom_compare_ext_default, /* Can't compare     */
 };
 
 #define string_of_option_array(array, index) \
-	((Field(array, index) == Val_none) ? NULL : String_val(Field(Field(array, index), 0)))
+    ((Field(array, index) == Val_none) ? NULL : String_val(Field(Field(array, index), 0)))
 
 static void Noreturn failwith_xc(xc_interface *xch)
 {
-	char error_str[XC_MAX_ERROR_MSG_LEN + 6];
-	if (xch) {
-		const xc_error *error = xc_get_last_error(xch);
-		if (error->code == XC_ERROR_NONE)
-			snprintf(error_str, sizeof(error_str),
-				 "%d: %s", errno, strerror(errno));
-		else
-			snprintf(error_str, sizeof(error_str),
-				 "%d: %s: %s", error->code,
-				 xc_error_code_to_desc(error->code),
-				 error->message);
-	} else {
-		snprintf(error_str, sizeof(error_str),
-			 "Unable to open XC interface");
-	}
-	caml_raise_with_string(*caml_named_value("xc.error"), error_str);
+    char error_str[XC_MAX_ERROR_MSG_LEN + 6];
+    if (xch) {
+        const xc_error *error = xc_get_last_error(xch);
+        if (error->code == XC_ERROR_NONE)
+            snprintf(error_str, sizeof(error_str),
+                 "%d: %s", errno, strerror(errno));
+        else
+            snprintf(error_str, sizeof(error_str),
+                 "%d: %s: %s", error->code,
+                 xc_error_code_to_desc(error->code),
+                 error->message);
+    } else {
+        snprintf(error_str, sizeof(error_str),
+             "Unable to open XC interface");
+    }
+    caml_raise_with_string(*caml_named_value("xc.error"), error_str);
 }
 
 CAMLprim value stub_xc_interface_open(void)
 {
-	CAMLparam0();
-	CAMLlocal1(result);
-	xc_interface *xch;
+    CAMLparam0();
+    CAMLlocal1(result);
+    xc_interface *xch;
 
-	caml_enter_blocking_section();
-	xch = xc_interface_open(NULL, NULL, 0);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    xch = xc_interface_open(NULL, NULL, 0);
+    caml_leave_blocking_section();
 
-	if ( !xch )
-		failwith_xc(xch);
+    if ( !xch )
+        failwith_xc(xch);
 
-	result = caml_alloc_custom(&xenctrl_ops, sizeof(xch), 0, 1);
-	_H(result) = xch;
+    result = caml_alloc_custom(&xenctrl_ops, sizeof(xch), 0, 1);
+    _H(result) = xch;
 
-	CAMLreturn(result);
+    CAMLreturn(result);
 }
 
 static void domain_handle_of_uuid_string(xen_domain_handle_t h,
-					 const char *uuid)
+                     const char *uuid)
 {
 #define X "%02"SCNx8
 #define UUID_FMT (X X X X "-" X X "-" X X "-" X X "-" X X X X X X)
 
-	if ( sscanf(uuid, UUID_FMT, &h[0], &h[1], &h[2], &h[3], &h[4],
-		    &h[5], &h[6], &h[7], &h[8], &h[9], &h[10], &h[11],
-		    &h[12], &h[13], &h[14], &h[15]) != 16 )
-	{
-		char buf[128];
+    if ( sscanf(uuid, UUID_FMT, &h[0], &h[1], &h[2], &h[3], &h[4],
+            &h[5], &h[6], &h[7], &h[8], &h[9], &h[10], &h[11],
+            &h[12], &h[13], &h[14], &h[15]) != 16 )
+    {
+        char buf[128];
 
-		snprintf(buf, sizeof(buf),
-			 "Xc.int_array_of_uuid_string: %s", uuid);
+        snprintf(buf, sizeof(buf),
+             "Xc.int_array_of_uuid_string: %s", uuid);
 
-		caml_invalid_argument(buf);
-	}
+        caml_invalid_argument(buf);
+    }
 
 #undef X
 }
@@ -133,13 +133,13 @@ static void domain_handle_of_uuid_string(xen_domain_handle_t h,
 static value c_bitmap_to_ocaml_list
              /* ! */
              /*
-	      * All calls to this function must be in a form suitable
-	      * for xenctrl_abi_check.  The parsing there is ad-hoc.
-	      */
+          * All calls to this function must be in a form suitable
+          * for xenctrl_abi_check.  The parsing there is ad-hoc.
+          */
              (unsigned int bitmap)
 {
-	CAMLparam0();
-	CAMLlocal2(list, tmp);
+    CAMLparam0();
+    CAMLlocal2(list, tmp);
 
 #if defined(__i386__) || defined(__x86_64__)
 /*
@@ -156,43 +156,43 @@ static value c_bitmap_to_ocaml_list
 #include "xenctrl_abi_check.h"
 #endif
 
-	list = tmp = Val_emptylist;
+    list = tmp = Val_emptylist;
 
-	for ( unsigned int i = 0; bitmap; i++, bitmap >>= 1 )
-	{
-		if ( !(bitmap & 1) )
-			continue;
+    for ( unsigned int i = 0; bitmap; i++, bitmap >>= 1 )
+    {
+        if ( !(bitmap & 1) )
+            continue;
 
-		tmp = caml_alloc_small(2, Tag_cons);
-		Field(tmp, 0) = Val_int(i);
-		Field(tmp, 1) = list;
-		list = tmp;
-	}
+        tmp = caml_alloc_small(2, Tag_cons);
+        Field(tmp, 0) = Val_int(i);
+        Field(tmp, 1) = list;
+        list = tmp;
+    }
 
-	CAMLreturn(list);
+    CAMLreturn(list);
 }
 
 static unsigned int ocaml_list_to_c_bitmap(value l)
              /* ! */
              /*
-	      * All calls to this function must be in a form suitable
-	      * for xenctrl_abi_check.  The parsing there is ad-hoc.
-	      */
+          * All calls to this function must be in a form suitable
+          * for xenctrl_abi_check.  The parsing there is ad-hoc.
+          */
 {
-	unsigned int val = 0;
+    unsigned int val = 0;
 
-	for ( ; l != Val_none; l = Field(l, 1) )
-		val |= 1u << Int_val(Field(l, 0));
+    for ( ; l != Val_none; l = Field(l, 1) )
+        val |= 1u << Int_val(Field(l, 0));
 
-	return val;
+    return val;
 }
 
 CAMLprim value stub_xc_domain_create(value xch, value wanted_domid, value config)
 {
-	CAMLparam3(xch, wanted_domid, config);
-	CAMLlocal2(l, arch_domconfig);
+    CAMLparam3(xch, wanted_domid, config);
+    CAMLlocal2(l, arch_domconfig);
 
-	/* Mnemonics for the named fields inside domctl_create_config */
+    /* Mnemonics for the named fields inside domctl_create_config */
 #define VAL_SSIDREF             Field(config, 0)
 #define VAL_HANDLE              Field(config, 1)
 #define VAL_FLAGS               Field(config, 2)
@@ -205,69 +205,69 @@ CAMLprim value stub_xc_domain_create(value xch, value wanted_domid, value config
 #define VAL_CPUPOOL_ID          Field(config, 9)
 #define VAL_ARCH                Field(config, 10)
 
-	uint32_t domid = Int_val(wanted_domid);
-	int result;
-	struct xen_domctl_createdomain cfg = {
-		.ssidref = Int32_val(VAL_SSIDREF),
-		.max_vcpus = Int_val(VAL_MAX_VCPUS),
-		.max_evtchn_port = Int_val(VAL_MAX_EVTCHN_PORT),
-		.max_grant_frames = Int_val(VAL_MAX_GRANT_FRAMES),
-		.max_maptrack_frames = Int_val(VAL_MAX_MAPTRACK_FRAMES),
-		.grant_opts =
-		    XEN_DOMCTL_GRANT_version(Int_val(VAL_MAX_GRANT_VERSION)),
-		.cpupool_id = Int32_val(VAL_CPUPOOL_ID),
-	};
+    uint32_t domid = Int_val(wanted_domid);
+    int result;
+    struct xen_domctl_createdomain cfg = {
+        .ssidref = Int32_val(VAL_SSIDREF),
+        .max_vcpus = Int_val(VAL_MAX_VCPUS),
+        .max_evtchn_port = Int_val(VAL_MAX_EVTCHN_PORT),
+        .max_grant_frames = Int_val(VAL_MAX_GRANT_FRAMES),
+        .max_maptrack_frames = Int_val(VAL_MAX_MAPTRACK_FRAMES),
+        .grant_opts =
+            XEN_DOMCTL_GRANT_version(Int_val(VAL_MAX_GRANT_VERSION)),
+        .cpupool_id = Int32_val(VAL_CPUPOOL_ID),
+    };
 
-	domain_handle_of_uuid_string(cfg.handle, String_val(VAL_HANDLE));
+    domain_handle_of_uuid_string(cfg.handle, String_val(VAL_HANDLE));
 
-	cfg.flags = ocaml_list_to_c_bitmap
-		/* ! domain_create_flag CDF_ lc */
-		/* ! XEN_DOMCTL_CDF_ XEN_DOMCTL_CDF_MAX max */
-		(VAL_FLAGS);
+    cfg.flags = ocaml_list_to_c_bitmap
+        /* ! domain_create_flag CDF_ lc */
+        /* ! XEN_DOMCTL_CDF_ XEN_DOMCTL_CDF_MAX max */
+        (VAL_FLAGS);
 
-	cfg.iommu_opts = ocaml_list_to_c_bitmap
-		/* ! domain_create_iommu_opts IOMMU_ lc */
-		/* ! XEN_DOMCTL_IOMMU_ XEN_DOMCTL_IOMMU_MAX max */
-		(VAL_IOMMU_OPTS);
+    cfg.iommu_opts = ocaml_list_to_c_bitmap
+        /* ! domain_create_iommu_opts IOMMU_ lc */
+        /* ! XEN_DOMCTL_IOMMU_ XEN_DOMCTL_IOMMU_MAX max */
+        (VAL_IOMMU_OPTS);
 
-	arch_domconfig = Field(VAL_ARCH, 0);
-	switch ( Tag_val(VAL_ARCH) )
-	{
-	case 0: /* ARM - nothing to do */
-		caml_failwith("Unhandled: ARM");
-		break;
+    arch_domconfig = Field(VAL_ARCH, 0);
+    switch ( Tag_val(VAL_ARCH) )
+    {
+    case 0: /* ARM - nothing to do */
+        caml_failwith("Unhandled: ARM");
+        break;
 
-	case 1: /* X86 - emulation flags in the block */
+    case 1: /* X86 - emulation flags in the block */
 #if defined(__i386__) || defined(__x86_64__)
 
-		/* Quick & dirty check for ABI changes. */
-		BUILD_BUG_ON(sizeof(cfg) != 64);
+        /* Quick & dirty check for ABI changes. */
+        BUILD_BUG_ON(sizeof(cfg) != 64);
 
         /* Mnemonics for the named fields inside xen_x86_arch_domainconfig */
 #define VAL_EMUL_FLAGS          Field(arch_domconfig, 0)
 #define VAL_MISC_FLAGS          Field(arch_domconfig, 1)
 
-		cfg.arch.emulation_flags = ocaml_list_to_c_bitmap
-			/* ! x86_arch_emulation_flags X86_EMU_ none */
-			/* ! XEN_X86_EMU_ XEN_X86_EMU_ALL all */
-			(VAL_EMUL_FLAGS);
+        cfg.arch.emulation_flags = ocaml_list_to_c_bitmap
+            /* ! x86_arch_emulation_flags X86_EMU_ none */
+            /* ! XEN_X86_EMU_ XEN_X86_EMU_ALL all */
+            (VAL_EMUL_FLAGS);
 
-		cfg.arch.misc_flags = ocaml_list_to_c_bitmap
-			/* ! x86_arch_misc_flags X86_ none */
-			/* ! XEN_X86_ XEN_X86_MSR_RELAXED all */
-			(VAL_MISC_FLAGS);
+        cfg.arch.misc_flags = ocaml_list_to_c_bitmap
+            /* ! x86_arch_misc_flags X86_ none */
+            /* ! XEN_X86_ XEN_X86_MSR_RELAXED all */
+            (VAL_MISC_FLAGS);
 
 #undef VAL_MISC_FLAGS
 #undef VAL_EMUL_FLAGS
 
 #else
-		caml_failwith("Unhandled: x86");
+        caml_failwith("Unhandled: x86");
 #endif
-		break;
+        break;
 
-	default:
-		caml_failwith("Unhandled domconfig type");
-	}
+    default:
+        caml_failwith("Unhandled domconfig type");
+    }
 
 #undef VAL_ARCH
 #undef VAL_CPUPOOL_ID
@@ -281,965 +281,965 @@ CAMLprim value stub_xc_domain_create(value xch, value wanted_domid, value config
 #undef VAL_HANDLE
 #undef VAL_SSIDREF
 
-	caml_enter_blocking_section();
-	result = xc_domain_create(_H(xch), &domid, &cfg);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    result = xc_domain_create(_H(xch), &domid, &cfg);
+    caml_leave_blocking_section();
 
-	if (result < 0)
-		failwith_xc(_H(xch));
+    if (result < 0)
+        failwith_xc(_H(xch));
 
-	CAMLreturn(Val_int(domid));
+    CAMLreturn(Val_int(domid));
 }
 
 CAMLprim value stub_xc_domain_max_vcpus(value xch, value domid,
                                         value max_vcpus)
 {
-	CAMLparam3(xch, domid, max_vcpus);
-	int r;
+    CAMLparam3(xch, domid, max_vcpus);
+    int r;
 
-	r = xc_domain_max_vcpus(_H(xch), _D(domid), Int_val(max_vcpus));
-	if (r)
-		failwith_xc(_H(xch));
+    r = xc_domain_max_vcpus(_H(xch), _D(domid), Int_val(max_vcpus));
+    if (r)
+        failwith_xc(_H(xch));
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 
 value stub_xc_domain_sethandle(value xch, value domid, value handle)
 {
-	CAMLparam3(xch, domid, handle);
-	xen_domain_handle_t h;
-	int i;
+    CAMLparam3(xch, domid, handle);
+    xen_domain_handle_t h;
+    int i;
 
-	domain_handle_of_uuid_string(h, String_val(handle));
+    domain_handle_of_uuid_string(h, String_val(handle));
 
-	i = xc_domain_sethandle(_H(xch), _D(domid), h);
-	if (i)
-		failwith_xc(_H(xch));
+    i = xc_domain_sethandle(_H(xch), _D(domid), h);
+    if (i)
+        failwith_xc(_H(xch));
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 static value dom_op(value xch, value domid, int (*fn)(xc_interface *, uint32_t))
 {
-	CAMLparam2(xch, domid);
-	int result;
+    CAMLparam2(xch, domid);
+    int result;
 
-	uint32_t c_domid = _D(domid);
+    uint32_t c_domid = _D(domid);
 
-	caml_enter_blocking_section();
-	result = fn(_H(xch), c_domid);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    result = fn(_H(xch), c_domid);
+    caml_leave_blocking_section();
         if (result)
-		failwith_xc(_H(xch));
-	CAMLreturn(Val_unit);
+        failwith_xc(_H(xch));
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_domain_pause(value xch, value domid)
 {
-	return dom_op(xch, domid, xc_domain_pause);
+    return dom_op(xch, domid, xc_domain_pause);
 }
 
 
 CAMLprim value stub_xc_domain_unpause(value xch, value domid)
 {
-	return dom_op(xch, domid, xc_domain_unpause);
+    return dom_op(xch, domid, xc_domain_unpause);
 }
 
 CAMLprim value stub_xc_domain_destroy(value xch, value domid)
 {
-	return dom_op(xch, domid, xc_domain_destroy);
+    return dom_op(xch, domid, xc_domain_destroy);
 }
 
 CAMLprim value stub_xc_domain_resume_fast(value xch, value domid)
 {
-	CAMLparam2(xch, domid);
-	int result;
+    CAMLparam2(xch, domid);
+    int result;
 
-	uint32_t c_domid = _D(domid);
+    uint32_t c_domid = _D(domid);
 
-	caml_enter_blocking_section();
-	result = xc_domain_resume(_H(xch), c_domid, 1);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    result = xc_domain_resume(_H(xch), c_domid, 1);
+    caml_leave_blocking_section();
         if (result)
-		failwith_xc(_H(xch));
-	CAMLreturn(Val_unit);
+        failwith_xc(_H(xch));
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_domain_shutdown(value xch, value domid, value reason)
 {
-	CAMLparam3(xch, domid, reason);
-	int ret;
+    CAMLparam3(xch, domid, reason);
+    int ret;
 
-	ret = xc_domain_shutdown(_H(xch), _D(domid), Int_val(reason));
-	if (ret < 0)
-		failwith_xc(_H(xch));
+    ret = xc_domain_shutdown(_H(xch), _D(domid), Int_val(reason));
+    if (ret < 0)
+        failwith_xc(_H(xch));
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 static value alloc_domaininfo(xc_domaininfo_t * info)
 {
-	CAMLparam0();
-	CAMLlocal5(result, tmp, arch_config, x86_arch_config, emul_list);
-	int i;
+    CAMLparam0();
+    CAMLlocal5(result, tmp, arch_config, x86_arch_config, emul_list);
+    int i;
 
-	result = caml_alloc_tuple(17);
+    result = caml_alloc_tuple(17);
 
-	Store_field(result,  0, Val_int(info->domain));
-	Store_field(result,  1, Val_bool(info->flags & XEN_DOMINF_dying));
-	Store_field(result,  2, Val_bool(info->flags & XEN_DOMINF_shutdown));
-	Store_field(result,  3, Val_bool(info->flags & XEN_DOMINF_paused));
-	Store_field(result,  4, Val_bool(info->flags & XEN_DOMINF_blocked));
-	Store_field(result,  5, Val_bool(info->flags & XEN_DOMINF_running));
-	Store_field(result,  6, Val_bool(info->flags & XEN_DOMINF_hvm_guest));
-	Store_field(result,  7, Val_int((info->flags >> XEN_DOMINF_shutdownshift)
-	                                 & XEN_DOMINF_shutdownmask));
-	Store_field(result,  8, caml_copy_nativeint(info->tot_pages));
-	Store_field(result,  9, caml_copy_nativeint(info->max_pages));
-	Store_field(result, 10, caml_copy_int64(info->shared_info_frame));
-	Store_field(result, 11, caml_copy_int64(info->cpu_time));
-	Store_field(result, 12, Val_int(info->nr_online_vcpus));
-	Store_field(result, 13, Val_int(info->max_vcpu_id));
-	Store_field(result, 14, caml_copy_int32(info->ssidref));
+    Store_field(result,  0, Val_int(info->domain));
+    Store_field(result,  1, Val_bool(info->flags & XEN_DOMINF_dying));
+    Store_field(result,  2, Val_bool(info->flags & XEN_DOMINF_shutdown));
+    Store_field(result,  3, Val_bool(info->flags & XEN_DOMINF_paused));
+    Store_field(result,  4, Val_bool(info->flags & XEN_DOMINF_blocked));
+    Store_field(result,  5, Val_bool(info->flags & XEN_DOMINF_running));
+    Store_field(result,  6, Val_bool(info->flags & XEN_DOMINF_hvm_guest));
+    Store_field(result,  7, Val_int((info->flags >> XEN_DOMINF_shutdownshift)
+                                     & XEN_DOMINF_shutdownmask));
+    Store_field(result,  8, caml_copy_nativeint(info->tot_pages));
+    Store_field(result,  9, caml_copy_nativeint(info->max_pages));
+    Store_field(result, 10, caml_copy_int64(info->shared_info_frame));
+    Store_field(result, 11, caml_copy_int64(info->cpu_time));
+    Store_field(result, 12, Val_int(info->nr_online_vcpus));
+    Store_field(result, 13, Val_int(info->max_vcpu_id));
+    Store_field(result, 14, caml_copy_int32(info->ssidref));
 
         tmp = caml_alloc_small(16, 0);
-	for (i = 0; i < 16; i++) {
-		Field(tmp, i) = Val_int(info->handle[i]);
-	}
+    for (i = 0; i < 16; i++) {
+        Field(tmp, i) = Val_int(info->handle[i]);
+    }
 
-	Store_field(result, 15, tmp);
+    Store_field(result, 15, tmp);
 
 #if defined(__i386__) || defined(__x86_64__)
-	/*
-	 * emulation_flags: x86_arch_emulation_flags list;
-	 */
-	emul_list = c_bitmap_to_ocaml_list
-		/* ! x86_arch_emulation_flags */
-		(info->arch_config.emulation_flags);
+    /*
+     * emulation_flags: x86_arch_emulation_flags list;
+     */
+    emul_list = c_bitmap_to_ocaml_list
+        /* ! x86_arch_emulation_flags */
+        (info->arch_config.emulation_flags);
 
-	/* xen_x86_arch_domainconfig */
-	x86_arch_config = caml_alloc_tuple(1);
-	Store_field(x86_arch_config, 0, emul_list);
+    /* xen_x86_arch_domainconfig */
+    x86_arch_config = caml_alloc_tuple(1);
+    Store_field(x86_arch_config, 0, emul_list);
 
-	/* arch_config: arch_domainconfig */
-	arch_config = caml_alloc_small(1, 1);
+    /* arch_config: arch_domainconfig */
+    arch_config = caml_alloc_small(1, 1);
 
-	Store_field(arch_config, 0, x86_arch_config);
+    Store_field(arch_config, 0, x86_arch_config);
 
-	Store_field(result, 16, arch_config);
+    Store_field(result, 16, arch_config);
 #endif
 
-	CAMLreturn(result);
+    CAMLreturn(result);
 }
 
 CAMLprim value stub_xc_domain_getinfolist(value xch, value first_domain, value nb)
 {
-	CAMLparam3(xch, first_domain, nb);
-	CAMLlocal2(result, temp);
-	xc_domaininfo_t * info;
-	int i, ret, toalloc, retval;
-	unsigned int c_max_domains;
-	uint32_t c_first_domain;
+    CAMLparam3(xch, first_domain, nb);
+    CAMLlocal2(result, temp);
+    xc_domaininfo_t * info;
+    int i, ret, toalloc, retval;
+    unsigned int c_max_domains;
+    uint32_t c_first_domain;
 
-	/* get the minimum number of allocate byte we need and bump it up to page boundary */
-	toalloc = (sizeof(xc_domaininfo_t) * Int_val(nb)) | 0xfff;
-	ret = posix_memalign((void **) ((void *) &info), 4096, toalloc);
-	if (ret)
-		caml_raise_out_of_memory();
+    /* get the minimum number of allocate byte we need and bump it up to page boundary */
+    toalloc = (sizeof(xc_domaininfo_t) * Int_val(nb)) | 0xfff;
+    ret = posix_memalign((void **) ((void *) &info), 4096, toalloc);
+    if (ret)
+        caml_raise_out_of_memory();
 
-	result = temp = Val_emptylist;
+    result = temp = Val_emptylist;
 
-	c_first_domain = _D(first_domain);
-	c_max_domains = Int_val(nb);
-	caml_enter_blocking_section();
-	retval = xc_domain_getinfolist(_H(xch), c_first_domain,
-				       c_max_domains, info);
-	caml_leave_blocking_section();
+    c_first_domain = _D(first_domain);
+    c_max_domains = Int_val(nb);
+    caml_enter_blocking_section();
+    retval = xc_domain_getinfolist(_H(xch), c_first_domain,
+                       c_max_domains, info);
+    caml_leave_blocking_section();
 
-	if (retval < 0) {
-		free(info);
-		failwith_xc(_H(xch));
-	}
-	for (i = 0; i < retval; i++) {
-		result = caml_alloc_small(2, Tag_cons);
-		Field(result, 0) = Val_int(0);
-		Field(result, 1) = temp;
-		temp = result;
+    if (retval < 0) {
+        free(info);
+        failwith_xc(_H(xch));
+    }
+    for (i = 0; i < retval; i++) {
+        result = caml_alloc_small(2, Tag_cons);
+        Field(result, 0) = Val_int(0);
+        Field(result, 1) = temp;
+        temp = result;
 
-		Store_field(result, 0, alloc_domaininfo(info + i));
-	}
+        Store_field(result, 0, alloc_domaininfo(info + i));
+    }
 
-	free(info);
-	CAMLreturn(result);
+    free(info);
+    CAMLreturn(result);
 }
 
 CAMLprim value stub_xc_domain_getinfo(value xch, value domid)
 {
-	CAMLparam2(xch, domid);
-	CAMLlocal1(result);
-	xc_domaininfo_t info;
-	int ret;
+    CAMLparam2(xch, domid);
+    CAMLlocal1(result);
+    xc_domaininfo_t info;
+    int ret;
 
-	ret = xc_domain_getinfolist(_H(xch), _D(domid), 1, &info);
-	if (ret != 1)
-		failwith_xc(_H(xch));
-	if (info.domain != _D(domid))
-		failwith_xc(_H(xch));
+    ret = xc_domain_getinfolist(_H(xch), _D(domid), 1, &info);
+    if (ret != 1)
+        failwith_xc(_H(xch));
+    if (info.domain != _D(domid))
+        failwith_xc(_H(xch));
 
-	result = alloc_domaininfo(&info);
-	CAMLreturn(result);
+    result = alloc_domaininfo(&info);
+    CAMLreturn(result);
 }
 
 CAMLprim value stub_xc_vcpu_getinfo(value xch, value domid, value vcpu)
 {
-	CAMLparam3(xch, domid, vcpu);
-	CAMLlocal1(result);
-	xc_vcpuinfo_t info;
-	int retval;
+    CAMLparam3(xch, domid, vcpu);
+    CAMLlocal1(result);
+    xc_vcpuinfo_t info;
+    int retval;
 
-	uint32_t c_domid = _D(domid);
-	uint32_t c_vcpu = Int_val(vcpu);
-	caml_enter_blocking_section();
-	retval = xc_vcpu_getinfo(_H(xch), c_domid,
-	                         c_vcpu, &info);
-	caml_leave_blocking_section();
-	if (retval < 0)
-		failwith_xc(_H(xch));
+    uint32_t c_domid = _D(domid);
+    uint32_t c_vcpu = Int_val(vcpu);
+    caml_enter_blocking_section();
+    retval = xc_vcpu_getinfo(_H(xch), c_domid,
+                             c_vcpu, &info);
+    caml_leave_blocking_section();
+    if (retval < 0)
+        failwith_xc(_H(xch));
 
-	result = caml_alloc_tuple(5);
-	Store_field(result, 0, Val_bool(info.online));
-	Store_field(result, 1, Val_bool(info.blocked));
-	Store_field(result, 2, Val_bool(info.running));
-	Store_field(result, 3, caml_copy_int64(info.cpu_time));
-	Store_field(result, 4, caml_copy_int32(info.cpu));
+    result = caml_alloc_tuple(5);
+    Store_field(result, 0, Val_bool(info.online));
+    Store_field(result, 1, Val_bool(info.blocked));
+    Store_field(result, 2, Val_bool(info.running));
+    Store_field(result, 3, caml_copy_int64(info.cpu_time));
+    Store_field(result, 4, caml_copy_int32(info.cpu));
 
-	CAMLreturn(result);
+    CAMLreturn(result);
 }
 
 CAMLprim value stub_xc_vcpu_context_get(value xch, value domid,
                                         value cpu)
 {
-	CAMLparam3(xch, domid, cpu);
-	CAMLlocal1(context);
-	int ret;
-	vcpu_guest_context_any_t ctxt;
+    CAMLparam3(xch, domid, cpu);
+    CAMLlocal1(context);
+    int ret;
+    vcpu_guest_context_any_t ctxt;
 
-	ret = xc_vcpu_getcontext(_H(xch), _D(domid), Int_val(cpu), &ctxt);
-	if ( ret < 0 )
-		failwith_xc(_H(xch));
+    ret = xc_vcpu_getcontext(_H(xch), _D(domid), Int_val(cpu), &ctxt);
+    if ( ret < 0 )
+        failwith_xc(_H(xch));
 
-	context = caml_alloc_string(sizeof(ctxt));
-	memcpy((char *) String_val(context), &ctxt.c, sizeof(ctxt.c));
+    context = caml_alloc_string(sizeof(ctxt));
+    memcpy((char *) String_val(context), &ctxt.c, sizeof(ctxt.c));
 
-	CAMLreturn(context);
+    CAMLreturn(context);
 }
 
 static int get_cpumap_len(value xch, value cpumap)
 {
-	int ml_len = Wosize_val(cpumap);
-	int xc_len = xc_get_max_cpus(_H(xch));
+    int ml_len = Wosize_val(cpumap);
+    int xc_len = xc_get_max_cpus(_H(xch));
 
-	if (ml_len < xc_len)
-		return ml_len;
-	else
-		return xc_len;
+    if (ml_len < xc_len)
+        return ml_len;
+    else
+        return xc_len;
 }
 
 CAMLprim value stub_xc_vcpu_setaffinity(value xch, value domid,
                                         value vcpu, value cpumap)
 {
-	CAMLparam4(xch, domid, vcpu, cpumap);
-	int i, len = get_cpumap_len(xch, cpumap);
-	xc_cpumap_t c_cpumap;
-	int retval;
+    CAMLparam4(xch, domid, vcpu, cpumap);
+    int i, len = get_cpumap_len(xch, cpumap);
+    xc_cpumap_t c_cpumap;
+    int retval;
 
-	c_cpumap = xc_cpumap_alloc(_H(xch));
-	if (c_cpumap == NULL)
-		failwith_xc(_H(xch));
+    c_cpumap = xc_cpumap_alloc(_H(xch));
+    if (c_cpumap == NULL)
+        failwith_xc(_H(xch));
 
-	for (i=0; i<len; i++) {
-		if (Bool_val(Field(cpumap, i)))
-			c_cpumap[i/8] |= 1 << (i&7);
-	}
-	retval = xc_vcpu_setaffinity(_H(xch), _D(domid),
-				     Int_val(vcpu),
-				     c_cpumap, NULL,
-				     XEN_VCPUAFFINITY_HARD);
-	free(c_cpumap);
+    for (i=0; i<len; i++) {
+        if (Bool_val(Field(cpumap, i)))
+            c_cpumap[i/8] |= 1 << (i&7);
+    }
+    retval = xc_vcpu_setaffinity(_H(xch), _D(domid),
+                     Int_val(vcpu),
+                     c_cpumap, NULL,
+                     XEN_VCPUAFFINITY_HARD);
+    free(c_cpumap);
 
-	if (retval < 0)
-		failwith_xc(_H(xch));
-	CAMLreturn(Val_unit);
+    if (retval < 0)
+        failwith_xc(_H(xch));
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_vcpu_getaffinity(value xch, value domid,
                                         value vcpu)
 {
-	CAMLparam3(xch, domid, vcpu);
-	CAMLlocal1(ret);
-	xc_cpumap_t c_cpumap;
-	int i, len = xc_get_max_cpus(_H(xch));
-	int retval;
+    CAMLparam3(xch, domid, vcpu);
+    CAMLlocal1(ret);
+    xc_cpumap_t c_cpumap;
+    int i, len = xc_get_max_cpus(_H(xch));
+    int retval;
 
-	if (len < 1)
-		failwith_xc(_H(xch));
+    if (len < 1)
+        failwith_xc(_H(xch));
 
-	c_cpumap = xc_cpumap_alloc(_H(xch));
-	if (c_cpumap == NULL)
-		failwith_xc(_H(xch));
+    c_cpumap = xc_cpumap_alloc(_H(xch));
+    if (c_cpumap == NULL)
+        failwith_xc(_H(xch));
 
-	retval = xc_vcpu_getaffinity(_H(xch), _D(domid),
-				     Int_val(vcpu),
-				     c_cpumap, NULL,
-				     XEN_VCPUAFFINITY_HARD);
-	if (retval < 0) {
-		free(c_cpumap);
-		failwith_xc(_H(xch));
-	}
+    retval = xc_vcpu_getaffinity(_H(xch), _D(domid),
+                     Int_val(vcpu),
+                     c_cpumap, NULL,
+                     XEN_VCPUAFFINITY_HARD);
+    if (retval < 0) {
+        free(c_cpumap);
+        failwith_xc(_H(xch));
+    }
 
-	ret = caml_alloc(len, 0);
+    ret = caml_alloc(len, 0);
 
-	for (i=0; i<len; i++) {
-		if (c_cpumap[i/8] & 1 << (i&7))
-			Store_field(ret, i, Val_true);
-		else
-			Store_field(ret, i, Val_false);
-	}
+    for (i=0; i<len; i++) {
+        if (c_cpumap[i/8] & 1 << (i&7))
+            Store_field(ret, i, Val_true);
+        else
+            Store_field(ret, i, Val_false);
+    }
 
-	free(c_cpumap);
+    free(c_cpumap);
 
-	CAMLreturn(ret);
+    CAMLreturn(ret);
 }
 
 CAMLprim value stub_xc_sched_id(value xch)
 {
-	CAMLparam1(xch);
-	int sched_id;
+    CAMLparam1(xch);
+    int sched_id;
 
-	if (xc_sched_id(_H(xch), &sched_id))
-		failwith_xc(_H(xch));
-	CAMLreturn(Val_int(sched_id));
+    if (xc_sched_id(_H(xch), &sched_id))
+        failwith_xc(_H(xch));
+    CAMLreturn(Val_int(sched_id));
 }
 
 CAMLprim value stub_xc_evtchn_alloc_unbound(value xch,
                                             value local_domid,
                                             value remote_domid)
 {
-	CAMLparam3(xch, local_domid, remote_domid);
-	int result;
+    CAMLparam3(xch, local_domid, remote_domid);
+    int result;
 
-	uint32_t c_local_domid = _D(local_domid);
-	uint32_t c_remote_domid = _D(remote_domid);
+    uint32_t c_local_domid = _D(local_domid);
+    uint32_t c_remote_domid = _D(remote_domid);
 
-	caml_enter_blocking_section();
-	result = xc_evtchn_alloc_unbound(_H(xch), c_local_domid,
-	                                     c_remote_domid);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    result = xc_evtchn_alloc_unbound(_H(xch), c_local_domid,
+                                         c_remote_domid);
+    caml_leave_blocking_section();
 
-	if (result < 0)
-		failwith_xc(_H(xch));
-	CAMLreturn(Val_int(result));
+    if (result < 0)
+        failwith_xc(_H(xch));
+    CAMLreturn(Val_int(result));
 }
 
 CAMLprim value stub_xc_evtchn_reset(value xch, value domid)
 {
-	CAMLparam2(xch, domid);
-	int r;
+    CAMLparam2(xch, domid);
+    int r;
 
-	r = xc_evtchn_reset(_H(xch), _D(domid));
-	if (r < 0)
-		failwith_xc(_H(xch));
-	CAMLreturn(Val_unit);
+    r = xc_evtchn_reset(_H(xch), _D(domid));
+    if (r < 0)
+        failwith_xc(_H(xch));
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_evtchn_status(value xch, value domid, value port)
 {
-	CAMLparam3(xch, domid, port);
-	CAMLlocal4(result, result_status, stat, interdomain);
-	xc_evtchn_status_t status = {
-		.dom = _D(domid),
-		.port = Int_val(port),
-	};
-	int rc;
+    CAMLparam3(xch, domid, port);
+    CAMLlocal4(result, result_status, stat, interdomain);
+    xc_evtchn_status_t status = {
+        .dom = _D(domid),
+        .port = Int_val(port),
+    };
+    int rc;
 
-	caml_enter_blocking_section();
-	rc = xc_evtchn_status(_H(xch), &status);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    rc = xc_evtchn_status(_H(xch), &status);
+    caml_leave_blocking_section();
 
-	if ( rc < 0 )
-		failwith_xc(_H(xch));
+    if ( rc < 0 )
+        failwith_xc(_H(xch));
 
-	switch ( status.status )
-	{
-	case EVTCHNSTAT_closed:
-		CAMLreturn(Val_none); /* Early exit, no allocations needed */
+    switch ( status.status )
+    {
+    case EVTCHNSTAT_closed:
+        CAMLreturn(Val_none); /* Early exit, no allocations needed */
 
-	case EVTCHNSTAT_unbound:
-		stat = caml_alloc(1, 0); /* 1st non-constant constructor */
-		Store_field(stat, 0, Val_int(status.u.unbound.dom));
-		break;
+    case EVTCHNSTAT_unbound:
+        stat = caml_alloc(1, 0); /* 1st non-constant constructor */
+        Store_field(stat, 0, Val_int(status.u.unbound.dom));
+        break;
 
-	case EVTCHNSTAT_interdomain:
-		interdomain = caml_alloc_tuple(2);
-		Store_field(interdomain, 0, Val_int(status.u.interdomain.dom));
-		Store_field(interdomain, 1, Val_int(status.u.interdomain.port));
-		stat = caml_alloc(1, 1); /*  2nd non-constant constructor */
-		Store_field(stat, 0, interdomain);
-		break;
+    case EVTCHNSTAT_interdomain:
+        interdomain = caml_alloc_tuple(2);
+        Store_field(interdomain, 0, Val_int(status.u.interdomain.dom));
+        Store_field(interdomain, 1, Val_int(status.u.interdomain.port));
+        stat = caml_alloc(1, 1); /*  2nd non-constant constructor */
+        Store_field(stat, 0, interdomain);
+        break;
 
-	case EVTCHNSTAT_pirq:
-		stat = caml_alloc(1, 2); /* 3rd non-constant constructor */
-		Store_field(stat, 0, Val_int(status.u.pirq));
-		break;
+    case EVTCHNSTAT_pirq:
+        stat = caml_alloc(1, 2); /* 3rd non-constant constructor */
+        Store_field(stat, 0, Val_int(status.u.pirq));
+        break;
 
-	case EVTCHNSTAT_virq:
-		stat = caml_alloc(1, 3); /* 4th non-constant constructor */
-		Store_field(stat, 0, Val_int(status.u.virq));
-		break;
+    case EVTCHNSTAT_virq:
+        stat = caml_alloc(1, 3); /* 4th non-constant constructor */
+        Store_field(stat, 0, Val_int(status.u.virq));
+        break;
 
-	case EVTCHNSTAT_ipi:
-		stat = Val_int(0); /* 1st constant constructor */
-		break;
+    case EVTCHNSTAT_ipi:
+        stat = Val_int(0); /* 1st constant constructor */
+        break;
 
-	default:
-		caml_failwith("Unknown evtchn status");
-	}
+    default:
+        caml_failwith("Unknown evtchn status");
+    }
 
-	result_status = caml_alloc_tuple(2);
-	Store_field(result_status, 0, Val_int(status.vcpu));
-	Store_field(result_status, 1, stat);
+    result_status = caml_alloc_tuple(2);
+    Store_field(result_status, 0, Val_int(status.vcpu));
+    Store_field(result_status, 1, stat);
 
-	result = caml_alloc_small(1, Tag_some);
-	Store_field(result, 0, result_status);
+    result = caml_alloc_small(1, Tag_some);
+    Store_field(result, 0, result_status);
 
-	CAMLreturn(result);
+    CAMLreturn(result);
 }
 
 CAMLprim value stub_xc_readconsolering(value xch)
 {
-	/* Safe to use outside of blocking sections because of Ocaml GC lock. */
-	static unsigned int conring_size = 16384 + 1;
+    /* Safe to use outside of blocking sections because of Ocaml GC lock. */
+    static unsigned int conring_size = 16384 + 1;
 
-	unsigned int count = conring_size, size = count, index = 0;
-	char *str = NULL, *ptr;
-	int ret;
+    unsigned int count = conring_size, size = count, index = 0;
+    char *str = NULL, *ptr;
+    int ret;
 
-	CAMLparam1(xch);
-	CAMLlocal1(ring);
+    CAMLparam1(xch);
+    CAMLlocal1(ring);
 
-	str = malloc(size);
-	if (!str)
-		caml_raise_out_of_memory();
+    str = malloc(size);
+    if (!str)
+        caml_raise_out_of_memory();
 
-	/* Hopefully our conring_size guess is sufficient */
-	caml_enter_blocking_section();
-	ret = xc_readconsolering(_H(xch), str, &count, 0, 0, &index);
-	caml_leave_blocking_section();
+    /* Hopefully our conring_size guess is sufficient */
+    caml_enter_blocking_section();
+    ret = xc_readconsolering(_H(xch), str, &count, 0, 0, &index);
+    caml_leave_blocking_section();
 
-	if (ret < 0) {
-		free(str);
-		failwith_xc(_H(xch));
-	}
+    if (ret < 0) {
+        free(str);
+        failwith_xc(_H(xch));
+    }
 
-	while (count == size && ret >= 0) {
-		size += count - 1;
-		if (size < count)
-			break;
+    while (count == size && ret >= 0) {
+        size += count - 1;
+        if (size < count)
+            break;
 
-		ptr = realloc(str, size);
-		if (!ptr)
-			break;
+        ptr = realloc(str, size);
+        if (!ptr)
+            break;
 
-		str = ptr + count;
-		count = size - count;
+        str = ptr + count;
+        count = size - count;
 
-		caml_enter_blocking_section();
-		ret = xc_readconsolering(_H(xch), str, &count, 0, 1, &index);
-		caml_leave_blocking_section();
+        caml_enter_blocking_section();
+        ret = xc_readconsolering(_H(xch), str, &count, 0, 1, &index);
+        caml_leave_blocking_section();
 
-		count += str - ptr;
-		str = ptr;
-	}
+        count += str - ptr;
+        str = ptr;
+    }
 
-	/*
-	 * If we didn't break because of an overflow with size, and we have
-	 * needed to realloc() ourself more space, update our tracking of the
-	 * real console ring size.
-	 */
-	if (size > conring_size)
-		conring_size = size;
+    /*
+     * If we didn't break because of an overflow with size, and we have
+     * needed to realloc() ourself more space, update our tracking of the
+     * real console ring size.
+     */
+    if (size > conring_size)
+        conring_size = size;
 
-	ring = caml_alloc_string(count);
-	memcpy((char *) String_val(ring), str, count);
-	free(str);
+    ring = caml_alloc_string(count);
+    memcpy((char *) String_val(ring), str, count);
+    free(str);
 
-	CAMLreturn(ring);
+    CAMLreturn(ring);
 }
 
 CAMLprim value stub_xc_send_debug_keys(value xch, value keys)
 {
-	CAMLparam2(xch, keys);
-	int r;
+    CAMLparam2(xch, keys);
+    int r;
 
-	r = xc_send_debug_keys(_H(xch), String_val(keys));
-	if (r)
-		failwith_xc(_H(xch));
-	CAMLreturn(Val_unit);
+    r = xc_send_debug_keys(_H(xch), String_val(keys));
+    if (r)
+        failwith_xc(_H(xch));
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_physinfo(value xch)
 {
-	CAMLparam1(xch);
-	CAMLlocal4(physinfo, cap_list, arch_cap_flags, arch_cap_list);
-	xc_physinfo_t c_physinfo;
-	int r, arch_cap_flags_tag;
+    CAMLparam1(xch);
+    CAMLlocal4(physinfo, cap_list, arch_cap_flags, arch_cap_list);
+    xc_physinfo_t c_physinfo;
+    int r, arch_cap_flags_tag;
 
-	caml_enter_blocking_section();
-	r = xc_physinfo(_H(xch), &c_physinfo);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    r = xc_physinfo(_H(xch), &c_physinfo);
+    caml_leave_blocking_section();
 
-	if (r)
-		failwith_xc(_H(xch));
+    if (r)
+        failwith_xc(_H(xch));
 
-	/*
-	 * capabilities: physinfo_cap_flag list;
-	 */
-	cap_list = c_bitmap_to_ocaml_list
-		/* ! physinfo_cap_flag CAP_ lc */
-		/* ! XEN_SYSCTL_PHYSCAP_ XEN_SYSCTL_PHYSCAP_MAX max */
-		(c_physinfo.capabilities);
+    /*
+     * capabilities: physinfo_cap_flag list;
+     */
+    cap_list = c_bitmap_to_ocaml_list
+        /* ! physinfo_cap_flag CAP_ lc */
+        /* ! XEN_SYSCTL_PHYSCAP_ XEN_SYSCTL_PHYSCAP_MAX max */
+        (c_physinfo.capabilities);
 
-	physinfo = caml_alloc_tuple(11);
-	Store_field(physinfo, 0, Val_int(c_physinfo.threads_per_core));
-	Store_field(physinfo, 1, Val_int(c_physinfo.cores_per_socket));
-	Store_field(physinfo, 2, Val_int(c_physinfo.nr_cpus));
-	Store_field(physinfo, 3, Val_int(c_physinfo.max_node_id));
-	Store_field(physinfo, 4, Val_int(c_physinfo.cpu_khz));
-	Store_field(physinfo, 5, caml_copy_nativeint(c_physinfo.total_pages));
-	Store_field(physinfo, 6, caml_copy_nativeint(c_physinfo.free_pages));
-	Store_field(physinfo, 7, caml_copy_nativeint(c_physinfo.scrub_pages));
-	Store_field(physinfo, 8, cap_list);
-	Store_field(physinfo, 9, Val_int(c_physinfo.max_cpu_id + 1));
+    physinfo = caml_alloc_tuple(11);
+    Store_field(physinfo, 0, Val_int(c_physinfo.threads_per_core));
+    Store_field(physinfo, 1, Val_int(c_physinfo.cores_per_socket));
+    Store_field(physinfo, 2, Val_int(c_physinfo.nr_cpus));
+    Store_field(physinfo, 3, Val_int(c_physinfo.max_node_id));
+    Store_field(physinfo, 4, Val_int(c_physinfo.cpu_khz));
+    Store_field(physinfo, 5, caml_copy_nativeint(c_physinfo.total_pages));
+    Store_field(physinfo, 6, caml_copy_nativeint(c_physinfo.free_pages));
+    Store_field(physinfo, 7, caml_copy_nativeint(c_physinfo.scrub_pages));
+    Store_field(physinfo, 8, cap_list);
+    Store_field(physinfo, 9, Val_int(c_physinfo.max_cpu_id + 1));
 
 #if defined(__i386__) || defined(__x86_64__)
-	arch_cap_list = Tag_cons;
+    arch_cap_list = Tag_cons;
 
-	arch_cap_flags_tag = 1; /* tag x86 */
+    arch_cap_flags_tag = 1; /* tag x86 */
 #else
-	caml_failwith("Unhandled architecture");
+    caml_failwith("Unhandled architecture");
 #endif
 
-	arch_cap_flags = caml_alloc_small(1, arch_cap_flags_tag);
-	Store_field(arch_cap_flags, 0, arch_cap_list);
-	Store_field(physinfo, 10, arch_cap_flags);
+    arch_cap_flags = caml_alloc_small(1, arch_cap_flags_tag);
+    Store_field(arch_cap_flags, 0, arch_cap_list);
+    Store_field(physinfo, 10, arch_cap_flags);
 
-	CAMLreturn(physinfo);
+    CAMLreturn(physinfo);
 }
 
 CAMLprim value stub_xc_pcpu_info(value xch, value nr_cpus)
 {
-	CAMLparam2(xch, nr_cpus);
-	CAMLlocal2(pcpus, v);
-	xc_cpuinfo_t *info;
-	int r, size;
+    CAMLparam2(xch, nr_cpus);
+    CAMLlocal2(pcpus, v);
+    xc_cpuinfo_t *info;
+    int r, size;
 
-	if (Int_val(nr_cpus) < 1)
-		caml_invalid_argument("nr_cpus");
+    if (Int_val(nr_cpus) < 1)
+        caml_invalid_argument("nr_cpus");
 
-	info = calloc(Int_val(nr_cpus) + 1, sizeof(*info));
-	if (!info)
-		caml_raise_out_of_memory();
+    info = calloc(Int_val(nr_cpus) + 1, sizeof(*info));
+    if (!info)
+        caml_raise_out_of_memory();
 
-	caml_enter_blocking_section();
-	r = xc_getcpuinfo(_H(xch), Int_val(nr_cpus), info, &size);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    r = xc_getcpuinfo(_H(xch), Int_val(nr_cpus), info, &size);
+    caml_leave_blocking_section();
 
-	if (r) {
-		free(info);
-		failwith_xc(_H(xch));
-	}
+    if (r) {
+        free(info);
+        failwith_xc(_H(xch));
+    }
 
-	if (size > 0) {
-		int i;
-		pcpus = caml_alloc(size, 0);
-		for (i = 0; i < size; i++) {
-			v = caml_copy_int64(info[i].idletime);
-			caml_modify(&Field(pcpus, i), v);
-		}
-	} else
-		pcpus = Atom(0);
-	free(info);
-	CAMLreturn(pcpus);
+    if (size > 0) {
+        int i;
+        pcpus = caml_alloc(size, 0);
+        for (i = 0; i < size; i++) {
+            v = caml_copy_int64(info[i].idletime);
+            caml_modify(&Field(pcpus, i), v);
+        }
+    } else
+        pcpus = Atom(0);
+    free(info);
+    CAMLreturn(pcpus);
 }
 
 CAMLprim value stub_xc_domain_setmaxmem(value xch, value domid,
                                         value max_memkb)
 {
-	CAMLparam3(xch, domid, max_memkb);
-	int retval;
+    CAMLparam3(xch, domid, max_memkb);
+    int retval;
 
-	uint32_t c_domid = _D(domid);
-	unsigned int c_max_memkb = Int64_val(max_memkb);
-	caml_enter_blocking_section();
-	retval = xc_domain_setmaxmem(_H(xch), c_domid,
-	                                 c_max_memkb);
-	caml_leave_blocking_section();
-	if (retval)
-		failwith_xc(_H(xch));
-	CAMLreturn(Val_unit);
+    uint32_t c_domid = _D(domid);
+    unsigned int c_max_memkb = Int64_val(max_memkb);
+    caml_enter_blocking_section();
+    retval = xc_domain_setmaxmem(_H(xch), c_domid,
+                                     c_max_memkb);
+    caml_leave_blocking_section();
+    if (retval)
+        failwith_xc(_H(xch));
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_domain_set_memmap_limit(value xch, value domid,
                                                value map_limitkb)
 {
-	CAMLparam3(xch, domid, map_limitkb);
-	unsigned long v;
-	int retval;
+    CAMLparam3(xch, domid, map_limitkb);
+    unsigned long v;
+    int retval;
 
-	v = Int64_val(map_limitkb);
-	retval = xc_domain_set_memmap_limit(_H(xch), _D(domid), v);
-	if (retval)
-		failwith_xc(_H(xch));
+    v = Int64_val(map_limitkb);
+    retval = xc_domain_set_memmap_limit(_H(xch), _D(domid), v);
+    if (retval)
+        failwith_xc(_H(xch));
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_domain_memory_increase_reservation(value xch,
                                                           value domid,
                                                           value mem_kb)
 {
-	CAMLparam3(xch, domid, mem_kb);
-	int retval;
+    CAMLparam3(xch, domid, mem_kb);
+    int retval;
 
-	unsigned long nr_extents = ((unsigned long)(Int64_val(mem_kb))) >> (XC_PAGE_SHIFT - 10);
+    unsigned long nr_extents = ((unsigned long)(Int64_val(mem_kb))) >> (XC_PAGE_SHIFT - 10);
 
-	uint32_t c_domid = _D(domid);
-	caml_enter_blocking_section();
-	retval = xc_domain_increase_reservation_exact(_H(xch), c_domid,
-							  nr_extents, 0, 0, NULL);
-	caml_leave_blocking_section();
+    uint32_t c_domid = _D(domid);
+    caml_enter_blocking_section();
+    retval = xc_domain_increase_reservation_exact(_H(xch), c_domid,
+                              nr_extents, 0, 0, NULL);
+    caml_leave_blocking_section();
 
-	if (retval)
-		failwith_xc(_H(xch));
-	CAMLreturn(Val_unit);
+    if (retval)
+        failwith_xc(_H(xch));
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_version_version(value xch)
 {
-	CAMLparam1(xch);
-	CAMLlocal1(result);
-	xen_extraversion_t extra;
-	long packed;
-	int retval;
+    CAMLparam1(xch);
+    CAMLlocal1(result);
+    xen_extraversion_t extra;
+    long packed;
+    int retval;
 
-	caml_enter_blocking_section();
-	packed = xc_version(_H(xch), XENVER_version, NULL);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    packed = xc_version(_H(xch), XENVER_version, NULL);
+    caml_leave_blocking_section();
 
-	if (packed < 0)
-		failwith_xc(_H(xch));
+    if (packed < 0)
+        failwith_xc(_H(xch));
 
-	caml_enter_blocking_section();
-	retval = xc_version(_H(xch), XENVER_extraversion, &extra);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    retval = xc_version(_H(xch), XENVER_extraversion, &extra);
+    caml_leave_blocking_section();
 
-	if (retval)
-		failwith_xc(_H(xch));
+    if (retval)
+        failwith_xc(_H(xch));
 
-	result = caml_alloc_tuple(3);
+    result = caml_alloc_tuple(3);
 
-	Store_field(result, 0, Val_int(packed >> 16));
-	Store_field(result, 1, Val_int(packed & 0xffff));
-	Store_field(result, 2, caml_copy_string(extra));
+    Store_field(result, 0, Val_int(packed >> 16));
+    Store_field(result, 1, Val_int(packed & 0xffff));
+    Store_field(result, 2, caml_copy_string(extra));
 
-	CAMLreturn(result);
+    CAMLreturn(result);
 }
 
 
 CAMLprim value stub_xc_version_compile_info(value xch)
 {
-	CAMLparam1(xch);
-	CAMLlocal1(result);
-	xen_compile_info_t ci;
-	int retval;
+    CAMLparam1(xch);
+    CAMLlocal1(result);
+    xen_compile_info_t ci;
+    int retval;
 
-	caml_enter_blocking_section();
-	retval = xc_version(_H(xch), XENVER_compile_info, &ci);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    retval = xc_version(_H(xch), XENVER_compile_info, &ci);
+    caml_leave_blocking_section();
 
-	if (retval)
-		failwith_xc(_H(xch));
+    if (retval)
+        failwith_xc(_H(xch));
 
-	result = caml_alloc_tuple(4);
+    result = caml_alloc_tuple(4);
 
-	Store_field(result, 0, caml_copy_string(ci.compiler));
-	Store_field(result, 1, caml_copy_string(ci.compile_by));
-	Store_field(result, 2, caml_copy_string(ci.compile_domain));
-	Store_field(result, 3, caml_copy_string(ci.compile_date));
+    Store_field(result, 0, caml_copy_string(ci.compiler));
+    Store_field(result, 1, caml_copy_string(ci.compile_by));
+    Store_field(result, 2, caml_copy_string(ci.compile_domain));
+    Store_field(result, 3, caml_copy_string(ci.compile_date));
 
-	CAMLreturn(result);
+    CAMLreturn(result);
 }
 
 
 static value xc_version_single_string(value xch, int code, void *info)
 {
-	CAMLparam1(xch);
-	int retval;
+    CAMLparam1(xch);
+    int retval;
 
-	caml_enter_blocking_section();
-	retval = xc_version(_H(xch), code, info);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    retval = xc_version(_H(xch), code, info);
+    caml_leave_blocking_section();
 
-	if (retval)
-		failwith_xc(_H(xch));
+    if (retval)
+        failwith_xc(_H(xch));
 
-	CAMLreturn(caml_copy_string((char *)info));
+    CAMLreturn(caml_copy_string((char *)info));
 }
 
 
 CAMLprim value stub_xc_version_changeset(value xch)
 {
-	xen_changeset_info_t ci;
+    xen_changeset_info_t ci;
 
-	return xc_version_single_string(xch, XENVER_changeset, &ci);
+    return xc_version_single_string(xch, XENVER_changeset, &ci);
 }
 
 
 CAMLprim value stub_xc_version_capabilities(value xch)
 {
-	xen_capabilities_info_t ci;
+    xen_capabilities_info_t ci;
 
-	return xc_version_single_string(xch, XENVER_capabilities, &ci);
+    return xc_version_single_string(xch, XENVER_capabilities, &ci);
 }
 
 
 CAMLprim value stub_pages_to_kib(value pages)
 {
-	CAMLparam1(pages);
+    CAMLparam1(pages);
 
-	CAMLreturn(caml_copy_int64(Int64_val(pages) << (XC_PAGE_SHIFT - 10)));
+    CAMLreturn(caml_copy_int64(Int64_val(pages) << (XC_PAGE_SHIFT - 10)));
 }
 
 
 CAMLprim value stub_map_foreign_range(value xch, value dom,
                                       value size, value mfn)
 {
-	CAMLparam4(xch, dom, size, mfn);
-	CAMLlocal1(result);
-	struct mmap_interface *intf;
-	uint32_t c_dom;
-	unsigned long c_mfn;
+    CAMLparam4(xch, dom, size, mfn);
+    CAMLlocal1(result);
+    struct mmap_interface *intf;
+    uint32_t c_dom;
+    unsigned long c_mfn;
 
-	result = caml_alloc(sizeof(struct mmap_interface), Abstract_tag);
-	intf = (struct mmap_interface *) result;
+    result = caml_alloc(sizeof(struct mmap_interface), Abstract_tag);
+    intf = (struct mmap_interface *) result;
 
-	intf->len = Int_val(size);
+    intf->len = Int_val(size);
 
-	c_dom = _D(dom);
-	c_mfn = Nativeint_val(mfn);
-	caml_enter_blocking_section();
-	intf->addr = xc_map_foreign_range(_H(xch), c_dom,
-	                                  intf->len, PROT_READ|PROT_WRITE,
-	                                  c_mfn);
-	caml_leave_blocking_section();
-	if (!intf->addr)
-		caml_failwith("xc_map_foreign_range error");
-	CAMLreturn(result);
+    c_dom = _D(dom);
+    c_mfn = Nativeint_val(mfn);
+    caml_enter_blocking_section();
+    intf->addr = xc_map_foreign_range(_H(xch), c_dom,
+                                      intf->len, PROT_READ|PROT_WRITE,
+                                      c_mfn);
+    caml_leave_blocking_section();
+    if (!intf->addr)
+        caml_failwith("xc_map_foreign_range error");
+    CAMLreturn(result);
 }
 
 CAMLprim value stub_sched_credit_domain_get(value xch, value domid)
 {
-	CAMLparam2(xch, domid);
-	CAMLlocal1(sdom);
-	struct xen_domctl_sched_credit c_sdom;
-	int ret;
+    CAMLparam2(xch, domid);
+    CAMLlocal1(sdom);
+    struct xen_domctl_sched_credit c_sdom;
+    int ret;
 
-	caml_enter_blocking_section();
-	ret = xc_sched_credit_domain_get(_H(xch), _D(domid), &c_sdom);
-	caml_leave_blocking_section();
-	if (ret != 0)
-		failwith_xc(_H(xch));
+    caml_enter_blocking_section();
+    ret = xc_sched_credit_domain_get(_H(xch), _D(domid), &c_sdom);
+    caml_leave_blocking_section();
+    if (ret != 0)
+        failwith_xc(_H(xch));
 
-	sdom = caml_alloc_tuple(2);
-	Store_field(sdom, 0, Val_int(c_sdom.weight));
-	Store_field(sdom, 1, Val_int(c_sdom.cap));
+    sdom = caml_alloc_tuple(2);
+    Store_field(sdom, 0, Val_int(c_sdom.weight));
+    Store_field(sdom, 1, Val_int(c_sdom.cap));
 
-	CAMLreturn(sdom);
+    CAMLreturn(sdom);
 }
 
 CAMLprim value stub_sched_credit_domain_set(value xch, value domid,
                                             value sdom)
 {
-	CAMLparam3(xch, domid, sdom);
-	struct xen_domctl_sched_credit c_sdom;
-	int ret;
+    CAMLparam3(xch, domid, sdom);
+    struct xen_domctl_sched_credit c_sdom;
+    int ret;
 
-	c_sdom.weight = Int_val(Field(sdom, 0));
-	c_sdom.cap = Int_val(Field(sdom, 1));
-	caml_enter_blocking_section();
-	ret = xc_sched_credit_domain_set(_H(xch), _D(domid), &c_sdom);
-	caml_leave_blocking_section();
-	if (ret != 0)
-		failwith_xc(_H(xch));
+    c_sdom.weight = Int_val(Field(sdom, 0));
+    c_sdom.cap = Int_val(Field(sdom, 1));
+    caml_enter_blocking_section();
+    ret = xc_sched_credit_domain_set(_H(xch), _D(domid), &c_sdom);
+    caml_leave_blocking_section();
+    if (ret != 0)
+        failwith_xc(_H(xch));
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_shadow_allocation_get(value xch, value domid)
 {
-	CAMLparam2(xch, domid);
-	CAMLlocal1(mb);
-	unsigned int c_mb;
-	int ret;
+    CAMLparam2(xch, domid);
+    CAMLlocal1(mb);
+    unsigned int c_mb;
+    int ret;
 
-	caml_enter_blocking_section();
-	ret = xc_shadow_control(_H(xch), _D(domid),
-				XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION,
-				&c_mb, 0);
-	caml_leave_blocking_section();
-	if (ret != 0)
-		failwith_xc(_H(xch));
+    caml_enter_blocking_section();
+    ret = xc_shadow_control(_H(xch), _D(domid),
+                XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION,
+                &c_mb, 0);
+    caml_leave_blocking_section();
+    if (ret != 0)
+        failwith_xc(_H(xch));
 
-	mb = Val_int(c_mb);
-	CAMLreturn(mb);
+    mb = Val_int(c_mb);
+    CAMLreturn(mb);
 }
 
 CAMLprim value stub_shadow_allocation_set(value xch, value domid,
-					  value mb)
+                      value mb)
 {
-	CAMLparam3(xch, domid, mb);
-	unsigned int c_mb;
-	int ret;
+    CAMLparam3(xch, domid, mb);
+    unsigned int c_mb;
+    int ret;
 
-	c_mb = Int_val(mb);
-	caml_enter_blocking_section();
-	ret = xc_shadow_control(_H(xch), _D(domid),
-				XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION,
-				&c_mb, 0);
-	caml_leave_blocking_section();
-	if (ret != 0)
-		failwith_xc(_H(xch));
+    c_mb = Int_val(mb);
+    caml_enter_blocking_section();
+    ret = xc_shadow_control(_H(xch), _D(domid),
+                XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION,
+                &c_mb, 0);
+    caml_leave_blocking_section();
+    if (ret != 0)
+        failwith_xc(_H(xch));
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_domain_ioport_permission(value xch, value domid,
-					       value start_port, value nr_ports,
-					       value allow)
+                           value start_port, value nr_ports,
+                           value allow)
 {
-	CAMLparam5(xch, domid, start_port, nr_ports, allow);
-	uint32_t c_start_port, c_nr_ports;
-	uint8_t c_allow;
-	int ret;
+    CAMLparam5(xch, domid, start_port, nr_ports, allow);
+    uint32_t c_start_port, c_nr_ports;
+    uint8_t c_allow;
+    int ret;
 
-	c_start_port = Int_val(start_port);
-	c_nr_ports = Int_val(nr_ports);
-	c_allow = Bool_val(allow);
+    c_start_port = Int_val(start_port);
+    c_nr_ports = Int_val(nr_ports);
+    c_allow = Bool_val(allow);
 
-	ret = xc_domain_ioport_permission(_H(xch), _D(domid),
-					 c_start_port, c_nr_ports, c_allow);
-	if (ret < 0)
-		failwith_xc(_H(xch));
+    ret = xc_domain_ioport_permission(_H(xch), _D(domid),
+                     c_start_port, c_nr_ports, c_allow);
+    if (ret < 0)
+        failwith_xc(_H(xch));
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_domain_iomem_permission(value xch, value domid,
-					       value start_pfn, value nr_pfns,
-					       value allow)
+                           value start_pfn, value nr_pfns,
+                           value allow)
 {
-	CAMLparam5(xch, domid, start_pfn, nr_pfns, allow);
-	unsigned long c_start_pfn, c_nr_pfns;
-	uint8_t c_allow;
-	int ret;
+    CAMLparam5(xch, domid, start_pfn, nr_pfns, allow);
+    unsigned long c_start_pfn, c_nr_pfns;
+    uint8_t c_allow;
+    int ret;
 
-	c_start_pfn = Nativeint_val(start_pfn);
-	c_nr_pfns = Nativeint_val(nr_pfns);
-	c_allow = Bool_val(allow);
+    c_start_pfn = Nativeint_val(start_pfn);
+    c_nr_pfns = Nativeint_val(nr_pfns);
+    c_allow = Bool_val(allow);
 
-	ret = xc_domain_iomem_permission(_H(xch), _D(domid),
-					 c_start_pfn, c_nr_pfns, c_allow);
-	if (ret < 0)
-		failwith_xc(_H(xch));
+    ret = xc_domain_iomem_permission(_H(xch), _D(domid),
+                     c_start_pfn, c_nr_pfns, c_allow);
+    if (ret < 0)
+        failwith_xc(_H(xch));
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_domain_irq_permission(value xch, value domid,
-					     value pirq, value allow)
+                         value pirq, value allow)
 {
-	CAMLparam4(xch, domid, pirq, allow);
-	uint32_t c_pirq;
-	bool c_allow;
-	int ret;
+    CAMLparam4(xch, domid, pirq, allow);
+    uint32_t c_pirq;
+    bool c_allow;
+    int ret;
 
-	c_pirq = Int_val(pirq);
-	c_allow = Bool_val(allow);
+    c_pirq = Int_val(pirq);
+    c_allow = Bool_val(allow);
 
-	ret = xc_domain_irq_permission(_H(xch), _D(domid),
-				       c_pirq, c_allow);
-	if (ret < 0)
-		failwith_xc(_H(xch));
+    ret = xc_domain_irq_permission(_H(xch), _D(domid),
+                       c_pirq, c_allow);
+    if (ret < 0)
+        failwith_xc(_H(xch));
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_hvm_param_get(value xch, value domid, value param)
 {
-	CAMLparam3(xch, domid, param);
-	uint64_t val;
-	int ret;
+    CAMLparam3(xch, domid, param);
+    uint64_t val;
+    int ret;
 
-	caml_enter_blocking_section();
-	ret = xc_hvm_param_get(_H(xch), _D(domid), Int_val(param), &val);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = xc_hvm_param_get(_H(xch), _D(domid), Int_val(param), &val);
+    caml_leave_blocking_section();
 
-	if ( ret )
-		failwith_xc(_H(xch));
+    if ( ret )
+        failwith_xc(_H(xch));
 
-	CAMLreturn(caml_copy_int64(val));
+    CAMLreturn(caml_copy_int64(val));
 }
 
 CAMLprim value stub_xc_hvm_param_set(value xch, value domid, value param, value val)
 {
-	CAMLparam4(xch, domid, param, val);
-	int ret;
+    CAMLparam4(xch, domid, param, val);
+    int ret;
 
-	caml_enter_blocking_section();
-	ret = xc_hvm_param_set(_H(xch), _D(domid), Int_val(param), Int64_val(val));
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = xc_hvm_param_set(_H(xch), _D(domid), Int_val(param), Int64_val(val));
+    caml_leave_blocking_section();
 
-	if ( ret )
-		failwith_xc(_H(xch));
+    if ( ret )
+        failwith_xc(_H(xch));
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 static uint32_t encode_sbdf(int domain, int bus, int dev, int func)
 {
-	return  ((uint32_t)domain & 0xffff) << 16 |
-		((uint32_t)bus    &   0xff) << 8  |
-		((uint32_t)dev    &   0x1f) << 3  |
-		((uint32_t)func   &    0x7);
+    return  ((uint32_t)domain & 0xffff) << 16 |
+        ((uint32_t)bus    &   0xff) << 8  |
+        ((uint32_t)dev    &   0x1f) << 3  |
+        ((uint32_t)func   &    0x7);
 }
 
 CAMLprim value stub_xc_domain_test_assign_device(value xch, value domid, value desc)
 {
-	CAMLparam3(xch, domid, desc);
-	int ret;
-	int domain, bus, dev, func;
-	uint32_t sbdf;
+    CAMLparam3(xch, domid, desc);
+    int ret;
+    int domain, bus, dev, func;
+    uint32_t sbdf;
 
-	domain = Int_val(Field(desc, 0));
-	bus = Int_val(Field(desc, 1));
-	dev = Int_val(Field(desc, 2));
-	func = Int_val(Field(desc, 3));
-	sbdf = encode_sbdf(domain, bus, dev, func);
+    domain = Int_val(Field(desc, 0));
+    bus = Int_val(Field(desc, 1));
+    dev = Int_val(Field(desc, 2));
+    func = Int_val(Field(desc, 3));
+    sbdf = encode_sbdf(domain, bus, dev, func);
 
-	ret = xc_test_assign_device(_H(xch), _D(domid), sbdf);
+    ret = xc_test_assign_device(_H(xch), _D(domid), sbdf);
 
-	CAMLreturn(Val_bool(ret == 0));
+    CAMLreturn(Val_bool(ret == 0));
 }
 
 static int domain_assign_device_rdm_flag_table[] = {
@@ -1249,96 +1249,96 @@ static int domain_assign_device_rdm_flag_table[] = {
 CAMLprim value stub_xc_domain_assign_device(value xch, value domid, value desc,
                                             value rflag)
 {
-	CAMLparam4(xch, domid, desc, rflag);
-	int ret;
-	int domain, bus, dev, func;
-	uint32_t sbdf, flag;
+    CAMLparam4(xch, domid, desc, rflag);
+    int ret;
+    int domain, bus, dev, func;
+    uint32_t sbdf, flag;
 
-	domain = Int_val(Field(desc, 0));
-	bus = Int_val(Field(desc, 1));
-	dev = Int_val(Field(desc, 2));
-	func = Int_val(Field(desc, 3));
-	sbdf = encode_sbdf(domain, bus, dev, func);
+    domain = Int_val(Field(desc, 0));
+    bus = Int_val(Field(desc, 1));
+    dev = Int_val(Field(desc, 2));
+    func = Int_val(Field(desc, 3));
+    sbdf = encode_sbdf(domain, bus, dev, func);
 
-	ret = Int_val(Field(rflag, 0));
-	flag = domain_assign_device_rdm_flag_table[ret];
+    ret = Int_val(Field(rflag, 0));
+    flag = domain_assign_device_rdm_flag_table[ret];
 
-	ret = xc_assign_device(_H(xch), _D(domid), sbdf, flag);
+    ret = xc_assign_device(_H(xch), _D(domid), sbdf, flag);
 
-	if (ret < 0)
-		failwith_xc(_H(xch));
-	CAMLreturn(Val_unit);
+    if (ret < 0)
+        failwith_xc(_H(xch));
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_domain_deassign_device(value xch, value domid, value desc)
 {
-	CAMLparam3(xch, domid, desc);
-	int ret;
-	int domain, bus, dev, func;
-	uint32_t sbdf;
+    CAMLparam3(xch, domid, desc);
+    int ret;
+    int domain, bus, dev, func;
+    uint32_t sbdf;
 
-	domain = Int_val(Field(desc, 0));
-	bus = Int_val(Field(desc, 1));
-	dev = Int_val(Field(desc, 2));
-	func = Int_val(Field(desc, 3));
-	sbdf = encode_sbdf(domain, bus, dev, func);
+    domain = Int_val(Field(desc, 0));
+    bus = Int_val(Field(desc, 1));
+    dev = Int_val(Field(desc, 2));
+    func = Int_val(Field(desc, 3));
+    sbdf = encode_sbdf(domain, bus, dev, func);
 
-	ret = xc_deassign_device(_H(xch), _D(domid), sbdf);
+    ret = xc_deassign_device(_H(xch), _D(domid), sbdf);
 
-	if (ret < 0)
-		failwith_xc(_H(xch));
-	CAMLreturn(Val_unit);
+    if (ret < 0)
+        failwith_xc(_H(xch));
+    CAMLreturn(Val_unit);
 }
 
 CAMLprim value stub_xc_get_cpu_featureset(value xch, value idx)
 {
-	CAMLparam2(xch, idx);
-	CAMLlocal1(bitmap_val);
+    CAMLparam2(xch, idx);
+    CAMLlocal1(bitmap_val);
 #if defined(__i386__) || defined(__x86_64__)
 
-	/* Safe, because of the global ocaml lock. */
-	static uint32_t fs_len;
+    /* Safe, because of the global ocaml lock. */
+    static uint32_t fs_len;
 
-	if (fs_len == 0)
-	{
-		int ret = xc_get_cpu_featureset(_H(xch), 0, &fs_len, NULL);
+    if (fs_len == 0)
+    {
+        int ret = xc_get_cpu_featureset(_H(xch), 0, &fs_len, NULL);
 
-		if (ret || (fs_len == 0))
-			failwith_xc(_H(xch));
-	}
+        if (ret || (fs_len == 0))
+            failwith_xc(_H(xch));
+    }
 
-	{
-		/* To/from hypervisor to retrieve actual featureset */
-		uint32_t fs[fs_len], len = fs_len;
-		unsigned int i;
+    {
+        /* To/from hypervisor to retrieve actual featureset */
+        uint32_t fs[fs_len], len = fs_len;
+        unsigned int i;
 
-		int ret = xc_get_cpu_featureset(_H(xch), Int_val(idx), &len, fs);
+        int ret = xc_get_cpu_featureset(_H(xch), Int_val(idx), &len, fs);
 
-		if (ret)
-			failwith_xc(_H(xch));
+        if (ret)
+            failwith_xc(_H(xch));
 
-		bitmap_val = caml_alloc(len, 0);
+        bitmap_val = caml_alloc(len, 0);
 
-		for (i = 0; i < len; ++i)
-			Store_field(bitmap_val, i, caml_copy_int64(fs[i]));
-	}
+        for (i = 0; i < len; ++i)
+            Store_field(bitmap_val, i, caml_copy_int64(fs[i]));
+    }
 #else
-	caml_failwith("xc_get_cpu_featureset: not implemented");
+    caml_failwith("xc_get_cpu_featureset: not implemented");
 #endif
-	CAMLreturn(bitmap_val);
+    CAMLreturn(bitmap_val);
 }
 
 CAMLprim value stub_xc_watchdog(value xch, value domid, value timeout)
 {
-	CAMLparam3(xch, domid, timeout);
-	int ret;
-	unsigned int c_timeout = Int32_val(timeout);
+    CAMLparam3(xch, domid, timeout);
+    int ret;
+    unsigned int c_timeout = Int32_val(timeout);
 
-	ret = xc_watchdog(_H(xch), _D(domid), c_timeout);
-	if (ret < 0)
-		failwith_xc(_H(xch));
+    ret = xc_watchdog(_H(xch), _D(domid), c_timeout);
+    if (ret < 0)
+        failwith_xc(_H(xch));
 
-	CAMLreturn(Val_int(ret));
+    CAMLreturn(Val_int(ret));
 }
 
 /*
diff --git a/tools/ocaml/libs/xentoollog/caml_xentoollog.h b/tools/ocaml/libs/xentoollog/caml_xentoollog.h
index 0eb7618512..5ad4a4d5b2 100644
--- a/tools/ocaml/libs/xentoollog/caml_xentoollog.h
+++ b/tools/ocaml/libs/xentoollog/caml_xentoollog.h
@@ -15,9 +15,9 @@
  */
 
 struct caml_xtl {
-	xentoollog_logger vtable;
-	char *vmessage_cb;
-	char *progress_cb;
+    xentoollog_logger vtable;
+    char *vmessage_cb;
+    char *progress_cb;
 };
 
 #define Xtl_val(x)(*((struct caml_xtl **) Data_custom_val(x)))
diff --git a/tools/ocaml/libs/xentoollog/xentoollog_stubs.c b/tools/ocaml/libs/xentoollog/xentoollog_stubs.c
index e4306a0c2f..8f1ced1fa0 100644
--- a/tools/ocaml/libs/xentoollog/xentoollog_stubs.c
+++ b/tools/ocaml/libs/xentoollog/xentoollog_stubs.c
@@ -40,14 +40,14 @@ caml_local_roots = caml__frame; \
 
 static char * dup_String_val(value s)
 {
-	int len;
-	char *c;
-	len = caml_string_length(s);
-	c = calloc(len + 1, sizeof(char));
-	if (!c)
-		caml_raise_out_of_memory();
-	memcpy(c, String_val(s), len);
-	return c;
+    int len;
+    char *c;
+    len = caml_string_length(s);
+    c = calloc(len + 1, sizeof(char));
+    if (!c)
+        caml_raise_out_of_memory();
+    memcpy(c, String_val(s), len);
+    return c;
 }
 
 #include "_xtl_levels.inc"
@@ -62,144 +62,144 @@ static char * dup_String_val(value s)
 
 static value Val_some(value v)
 {
-	CAMLparam1(v);
-	CAMLlocal1(some);
-	some = caml_alloc(1, 0);
-	Store_field(some, 0, v);
-	CAMLreturn(some);
+    CAMLparam1(v);
+    CAMLlocal1(some);
+    some = caml_alloc(1, 0);
+    Store_field(some, 0, v);
+    CAMLreturn(some);
 }
 
 static value Val_errno(int errnoval)
 {
-	if (errnoval == -1)
-		return Val_none;
-	return Val_some(Val_int(errnoval));
+    if (errnoval == -1)
+        return Val_none;
+    return Val_some(Val_int(errnoval));
 }
 
 static value Val_context(const char *context)
 {
-	if (context == NULL)
-		return Val_none;
-	return Val_some(caml_copy_string(context));
+    if (context == NULL)
+        return Val_none;
+    return Val_some(caml_copy_string(context));
 }
 
 static void stub_xtl_ocaml_vmessage(struct xentoollog_logger *logger,
-	xentoollog_level level,
-	int errnoval,
-	const char *context,
-	const char *format,
-	va_list al)
+    xentoollog_level level,
+    int errnoval,
+    const char *context,
+    const char *format,
+    va_list al)
 {
-	caml_leave_blocking_section();
-	CAMLparam0();
-	CAMLlocalN(args, 4);
-	struct caml_xtl *xtl = (struct caml_xtl*)logger;
-	const value *func = caml_named_value(xtl->vmessage_cb);
-	char *msg;
+    caml_leave_blocking_section();
+    CAMLparam0();
+    CAMLlocalN(args, 4);
+    struct caml_xtl *xtl = (struct caml_xtl*)logger;
+    const value *func = caml_named_value(xtl->vmessage_cb);
+    char *msg;
 
-	if (func == NULL)
-		caml_raise_sys_error(caml_copy_string("Unable to find callback"));
-	if (vasprintf(&msg, format, al) < 0)
-		caml_raise_out_of_memory();
+    if (func == NULL)
+        caml_raise_sys_error(caml_copy_string("Unable to find callback"));
+    if (vasprintf(&msg, format, al) < 0)
+        caml_raise_out_of_memory();
 
-	/* vmessage : level -> int option -> string option -> string -> unit; */
-	args[0] = Val_level(level);
-	args[1] = Val_errno(errnoval);
-	args[2] = Val_context(context);
-	args[3] = caml_copy_string(msg);
+    /* vmessage : level -> int option -> string option -> string -> unit; */
+    args[0] = Val_level(level);
+    args[1] = Val_errno(errnoval);
+    args[2] = Val_context(context);
+    args[3] = caml_copy_string(msg);
 
-	free(msg);
+    free(msg);
 
-	caml_callbackN(*func, 4, args);
-	CAMLdone;
-	caml_enter_blocking_section();
+    caml_callbackN(*func, 4, args);
+    CAMLdone;
+    caml_enter_blocking_section();
 }
 
 static void stub_xtl_ocaml_progress(struct xentoollog_logger *logger,
-	const char *context,
-	const char *doing_what /* no \r,\n */,
-	int percent, unsigned long done, unsigned long total)
+    const char *context,
+    const char *doing_what /* no \r,\n */,
+    int percent, unsigned long done, unsigned long total)
 {
-	caml_leave_blocking_section();
-	CAMLparam0();
-	CAMLlocalN(args, 5);
-	struct caml_xtl *xtl = (struct caml_xtl*)logger;
-	const value *func = caml_named_value(xtl->progress_cb);
+    caml_leave_blocking_section();
+    CAMLparam0();
+    CAMLlocalN(args, 5);
+    struct caml_xtl *xtl = (struct caml_xtl*)logger;
+    const value *func = caml_named_value(xtl->progress_cb);
 
-	if (func == NULL)
-		caml_raise_sys_error(caml_copy_string("Unable to find callback"));
+    if (func == NULL)
+        caml_raise_sys_error(caml_copy_string("Unable to find callback"));
 
-	/* progress : string option -> string -> int -> int64 -> int64 -> unit; */
-	args[0] = Val_context(context);
-	args[1] = caml_copy_string(doing_what);
-	args[2] = Val_int(percent);
-	args[3] = caml_copy_int64(done);
-	args[4] = caml_copy_int64(total);
+    /* progress : string option -> string -> int -> int64 -> int64 -> unit; */
+    args[0] = Val_context(context);
+    args[1] = caml_copy_string(doing_what);
+    args[2] = Val_int(percent);
+    args[3] = caml_copy_int64(done);
+    args[4] = caml_copy_int64(total);
 
-	caml_callbackN(*func, 5, args);
-	CAMLdone;
-	caml_enter_blocking_section();
+    caml_callbackN(*func, 5, args);
+    CAMLdone;
+    caml_enter_blocking_section();
 }
 
 static void xtl_destroy(struct xentoollog_logger *logger)
 {
-	struct caml_xtl *xtl = (struct caml_xtl*)logger;
-	free(xtl->vmessage_cb);
-	free(xtl->progress_cb);
-	free(xtl);
+    struct caml_xtl *xtl = (struct caml_xtl*)logger;
+    free(xtl->vmessage_cb);
+    free(xtl->progress_cb);
+    free(xtl);
 }
 
 void xtl_finalize(value handle)
 {
-	xtl_destroy(XTL);
+    xtl_destroy(XTL);
 }
 
 static struct custom_operations xentoollogger_custom_operations = {
-	"xentoollogger_custom_operations",
-	xtl_finalize /* custom_finalize_default */,
-	custom_compare_default,
-	custom_hash_default,
-	custom_serialize_default,
-	custom_deserialize_default
+    "xentoollogger_custom_operations",
+    xtl_finalize /* custom_finalize_default */,
+    custom_compare_default,
+    custom_hash_default,
+    custom_serialize_default,
+    custom_deserialize_default
 };
 
 /* external _create_logger: (string * string) -> handle = "stub_xtl_create_logger" */
 CAMLprim value stub_xtl_create_logger(value cbs)
 {
-	CAMLparam1(cbs);
-	CAMLlocal1(handle);
-	struct caml_xtl *xtl = malloc(sizeof(*xtl));
-	if (xtl == NULL)
-		caml_raise_out_of_memory();
+    CAMLparam1(cbs);
+    CAMLlocal1(handle);
+    struct caml_xtl *xtl = malloc(sizeof(*xtl));
+    if (xtl == NULL)
+        caml_raise_out_of_memory();
 
-	memset(xtl, 0, sizeof(*xtl));
+    memset(xtl, 0, sizeof(*xtl));
 
-	xtl->vtable.vmessage = &stub_xtl_ocaml_vmessage;
-	xtl->vtable.progress = &stub_xtl_ocaml_progress;
-	xtl->vtable.destroy = &xtl_destroy;
+    xtl->vtable.vmessage = &stub_xtl_ocaml_vmessage;
+    xtl->vtable.progress = &stub_xtl_ocaml_progress;
+    xtl->vtable.destroy = &xtl_destroy;
 
-	xtl->vmessage_cb = dup_String_val(Field(cbs, 0));
-	xtl->progress_cb = dup_String_val(Field(cbs, 1));
+    xtl->vmessage_cb = dup_String_val(Field(cbs, 0));
+    xtl->progress_cb = dup_String_val(Field(cbs, 1));
 
-	handle = caml_alloc_custom(&xentoollogger_custom_operations, sizeof(xtl), 0, 1);
-	Xtl_val(handle) = xtl;
+    handle = caml_alloc_custom(&xentoollogger_custom_operations, sizeof(xtl), 0, 1);
+    Xtl_val(handle) = xtl;
 
-	CAMLreturn(handle);
+    CAMLreturn(handle);
 }
 
 /* external test: handle -> unit = "stub_xtl_test" */
 CAMLprim value stub_xtl_test(value handle)
 {
-	unsigned long l;
-	CAMLparam1(handle);
-	xtl_log(XTL, XTL_DEBUG, -1, "debug", "%s -- debug", __func__);
-	xtl_log(XTL, XTL_INFO, -1, "test", "%s -- test 1", __func__);
-	xtl_log(XTL, XTL_INFO, ENOSYS, "test errno", "%s -- test 2", __func__);
-	xtl_log(XTL, XTL_CRITICAL, -1, "critical", "%s -- critical", __func__);
-	for (l = 0UL; l<=100UL; l += 10UL) {
-		xtl_progress(XTL, "progress", "testing", l, 100UL);
-		usleep(10000);
-	}
-	CAMLreturn(Val_unit);
+    unsigned long l;
+    CAMLparam1(handle);
+    xtl_log(XTL, XTL_DEBUG, -1, "debug", "%s -- debug", __func__);
+    xtl_log(XTL, XTL_INFO, -1, "test", "%s -- test 1", __func__);
+    xtl_log(XTL, XTL_INFO, ENOSYS, "test errno", "%s -- test 2", __func__);
+    xtl_log(XTL, XTL_CRITICAL, -1, "critical", "%s -- critical", __func__);
+    for (l = 0UL; l<=100UL; l += 10UL) {
+        xtl_progress(XTL, "progress", "testing", l, 100UL);
+        usleep(10000);
+    }
+    CAMLreturn(Val_unit);
 }
 
diff --git a/tools/ocaml/libs/xl/xenlight_stubs.c b/tools/ocaml/libs/xl/xenlight_stubs.c
index 45b8af61c7..9dbf5e9660 100644
--- a/tools/ocaml/libs/xl/xenlight_stubs.c
+++ b/tools/ocaml/libs/xl/xenlight_stubs.c
@@ -58,14 +58,14 @@ caml_local_roots = caml__frame; \
 
 static char * dup_String_val(value s)
 {
-	int len;
-	char *c;
-	len = caml_string_length(s);
-	c = calloc(len + 1, sizeof(char));
-	if (!c)
-		caml_raise_out_of_memory();
-	memcpy(c, String_val(s), len);
-	return c;
+    int len;
+    char *c;
+    len = caml_string_length(s);
+    c = calloc(len + 1, sizeof(char));
+    if (!c)
+        caml_raise_out_of_memory();
+    memcpy(c, String_val(s), len);
+    return c;
 }
 
 /* Forward reference: this is defined in the auto-generated include file below. */
@@ -73,157 +73,157 @@ static value Val_error (libxl_error error_c);
 
 static void failwith_xl(int error, char *fname)
 {
-	CAMLparam0();
-	CAMLlocal1(arg);
-	static const value *exc = NULL;
+    CAMLparam0();
+    CAMLlocal1(arg);
+    static const value *exc = NULL;
 
-	/* First time around, lookup by name */
-	if (!exc)
-		exc = caml_named_value("Xenlight.Error");
+    /* First time around, lookup by name */
+    if (!exc)
+        exc = caml_named_value("Xenlight.Error");
 
-	if (!exc)
-		caml_invalid_argument("Exception Xenlight.Error not initialized, please link xenlight.cma");
+    if (!exc)
+        caml_invalid_argument("Exception Xenlight.Error not initialized, please link xenlight.cma");
 
-	arg = caml_alloc(2, 0);
+    arg = caml_alloc(2, 0);
 
-	Store_field(arg, 0, Val_error(error));
-	Store_field(arg, 1, caml_copy_string(fname));
+    Store_field(arg, 0, Val_error(error));
+    Store_field(arg, 1, caml_copy_string(fname));
 
-	caml_raise_with_arg(*exc, arg);
-	CAMLreturn0;
+    caml_raise_with_arg(*exc, arg);
+    CAMLreturn0;
 }
 
 CAMLprim value stub_raise_exception(value unit)
 {
-	CAMLparam1(unit);
-	failwith_xl(ERROR_FAIL, "test exception");
-	CAMLreturn(Val_unit);
+    CAMLparam1(unit);
+    failwith_xl(ERROR_FAIL, "test exception");
+    CAMLreturn(Val_unit);
 }
 
 void ctx_finalize(value ctx)
 {
-	libxl_ctx_free(CTX);
+    libxl_ctx_free(CTX);
 }
 
 static struct custom_operations libxl_ctx_custom_operations = {
-	"libxl_ctx_custom_operations",
-	ctx_finalize /* custom_finalize_default */,
-	custom_compare_default,
-	custom_hash_default,
-	custom_serialize_default,
-	custom_deserialize_default
+    "libxl_ctx_custom_operations",
+    ctx_finalize /* custom_finalize_default */,
+    custom_compare_default,
+    custom_hash_default,
+    custom_serialize_default,
+    custom_deserialize_default
 };
 
 CAMLprim value stub_libxl_ctx_alloc(value logger)
 {
-	CAMLparam1(logger);
-	CAMLlocal1(handle);
-	libxl_ctx *ctx;
-	int ret;
+    CAMLparam1(logger);
+    CAMLlocal1(handle);
+    libxl_ctx *ctx;
+    int ret;
 
-	ret = libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger *) Xtl_val(logger));
-	if (ret != 0) \
-		failwith_xl(ERROR_FAIL, "cannot init context");
+    ret = libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, (xentoollog_logger *) Xtl_val(logger));
+    if (ret != 0) \
+        failwith_xl(ERROR_FAIL, "cannot init context");
 
-	handle = caml_alloc_custom(&libxl_ctx_custom_operations, sizeof(ctx), 0, 1);
-	Ctx_val(handle) = ctx;
+    handle = caml_alloc_custom(&libxl_ctx_custom_operations, sizeof(ctx), 0, 1);
+    Ctx_val(handle) = ctx;
 
-	CAMLreturn(handle);
+    CAMLreturn(handle);
 }
 
 static int list_len(value v)
 {
-	int len = 0;
-	while ( v != Val_emptylist ) {
-		len++;
-		v = Field(v, 1);
-	}
-	return len;
+    int len = 0;
+    while ( v != Val_emptylist ) {
+        len++;
+        v = Field(v, 1);
+    }
+    return len;
 }
 
 static int libxl_key_value_list_val(libxl_key_value_list *c_val,
-	value v)
+    value v)
 {
-	CAMLparam1(v);
-	CAMLlocal1(elem);
-	int nr, i;
-	libxl_key_value_list array;
+    CAMLparam1(v);
+    CAMLlocal1(elem);
+    int nr, i;
+    libxl_key_value_list array;
 
-	nr = list_len(v);
+    nr = list_len(v);
 
-	array = calloc((nr + 1) * 2, sizeof(char *));
-	if (!array)
-		caml_raise_out_of_memory();
+    array = calloc((nr + 1) * 2, sizeof(char *));
+    if (!array)
+        caml_raise_out_of_memory();
 
-	for (i=0; v != Val_emptylist; i++, v = Field(v, 1) ) {
-		elem = Field(v, 0);
+    for (i=0; v != Val_emptylist; i++, v = Field(v, 1) ) {
+        elem = Field(v, 0);
 
-		array[i * 2] = dup_String_val(Field(elem, 0));
-		array[i * 2 + 1] = dup_String_val(Field(elem, 1));
-	}
+        array[i * 2] = dup_String_val(Field(elem, 0));
+        array[i * 2 + 1] = dup_String_val(Field(elem, 1));
+    }
 
-	*c_val = array;
-	CAMLreturn(0);
+    *c_val = array;
+    CAMLreturn(0);
 }
 
 static value Val_key_value_list(libxl_key_value_list *c_val)
 {
-	CAMLparam0();
-	CAMLlocal5(list, cons, key, val, kv);
-	int i;
+    CAMLparam0();
+    CAMLlocal5(list, cons, key, val, kv);
+    int i;
 
-	list = Val_emptylist;
-	for (i = libxl_string_list_length((libxl_string_list *) c_val) - 1; i >= 0; i -= 2) {
-		val = caml_copy_string((*c_val)[i]);
-		key = caml_copy_string((*c_val)[i - 1]);
-		kv = caml_alloc_tuple(2);
-		Store_field(kv, 0, key);
-		Store_field(kv, 1, val);
+    list = Val_emptylist;
+    for (i = libxl_string_list_length((libxl_string_list *) c_val) - 1; i >= 0; i -= 2) {
+        val = caml_copy_string((*c_val)[i]);
+        key = caml_copy_string((*c_val)[i - 1]);
+        kv = caml_alloc_tuple(2);
+        Store_field(kv, 0, key);
+        Store_field(kv, 1, val);
 
-		cons = caml_alloc(2, 0);
-		Store_field(cons, 0, kv);   // head
-		Store_field(cons, 1, list);   // tail
-		list = cons;
-	}
+        cons = caml_alloc(2, 0);
+        Store_field(cons, 0, kv);   // head
+        Store_field(cons, 1, list);   // tail
+        list = cons;
+    }
 
-	CAMLreturn(list);
+    CAMLreturn(list);
 }
 
 static int libxl_string_list_val(libxl_string_list *c_val, value v)
 {
-	CAMLparam1(v);
-	int nr, i;
-	libxl_string_list array;
+    CAMLparam1(v);
+    int nr, i;
+    libxl_string_list array;
 
-	nr = list_len(v);
+    nr = list_len(v);
 
-	array = calloc(nr + 1, sizeof(char *));
-	if (!array)
-		caml_raise_out_of_memory();
+    array = calloc(nr + 1, sizeof(char *));
+    if (!array)
+        caml_raise_out_of_memory();
 
-	for (i=0; v != Val_emptylist; i++, v = Field(v, 1) )
-		array[i] = dup_String_val(Field(v, 0));
+    for (i=0; v != Val_emptylist; i++, v = Field(v, 1) )
+        array[i] = dup_String_val(Field(v, 0));
 
-	*c_val = array;
-	CAMLreturn(0);
+    *c_val = array;
+    CAMLreturn(0);
 }
 
 static value Val_string_list(libxl_string_list *c_val)
 {
-	CAMLparam0();
-	CAMLlocal3(list, cons, string);
-	int i;
+    CAMLparam0();
+    CAMLlocal3(list, cons, string);
+    int i;
 
-	list = Val_emptylist;
-	for (i = libxl_string_list_length(c_val) - 1; i >= 0; i--) {
-		string = caml_copy_string((*c_val)[i]);
-		cons = caml_alloc(2, 0);
-		Store_field(cons, 0, string);   // head
-		Store_field(cons, 1, list);     // tail
-		list = cons;
-	}
+    list = Val_emptylist;
+    for (i = libxl_string_list_length(c_val) - 1; i >= 0; i--) {
+        string = caml_copy_string((*c_val)[i]);
+        cons = caml_alloc(2, 0);
+        Store_field(cons, 0, string);   // head
+        Store_field(cons, 1, list);     // tail
+        list = cons;
+    }
 
-	CAMLreturn(list);
+    CAMLreturn(list);
 }
 
 /* Option type support as per http://www.linux-nantes.org/~fmonnier/ocaml/ocaml-wrapping-c.php */
@@ -236,472 +236,472 @@ static value Val_string_list(libxl_string_list *c_val)
 
 static value Val_some(value v)
 {
-	CAMLparam1(v);
-	CAMLlocal1(some);
-	some = caml_alloc(1, 0);
-	Store_field(some, 0, v);
-	CAMLreturn(some);
+    CAMLparam1(v);
+    CAMLlocal1(some);
+    some = caml_alloc(1, 0);
+    Store_field(some, 0, v);
+    CAMLreturn(some);
 }
 
 static value Val_mac (libxl_mac *c_val)
 {
-	CAMLparam0();
-	CAMLlocal1(v);
-	int i;
+    CAMLparam0();
+    CAMLlocal1(v);
+    int i;
 
-	v = caml_alloc_tuple(6);
+    v = caml_alloc_tuple(6);
 
-	for(i=0; i<6; i++)
-		Store_field(v, i, Val_int((*c_val)[i]));
+    for(i=0; i<6; i++)
+        Store_field(v, i, Val_int((*c_val)[i]));
 
-	CAMLreturn(v);
+    CAMLreturn(v);
 }
 
 static int Mac_val(libxl_mac *c_val, value v)
 {
-	CAMLparam1(v);
-	int i;
+    CAMLparam1(v);
+    int i;
 
-	for(i=0; i<6; i++)
-		(*c_val)[i] = Int_val(Field(v, i));
+    for(i=0; i<6; i++)
+        (*c_val)[i] = Int_val(Field(v, i));
 
-	CAMLreturn(0);
+    CAMLreturn(0);
 }
 
 static value Val_bitmap (libxl_bitmap *c_val)
 {
-	CAMLparam0();
-	CAMLlocal1(v);
-	int i;
+    CAMLparam0();
+    CAMLlocal1(v);
+    int i;
 
-	if (c_val->size == 0)
-		v = Atom(0);
-	else {
-	    v = caml_alloc(8 * (c_val->size), 0);
-	    libxl_for_each_bit(i, *c_val) {
-		    if (libxl_bitmap_test(c_val, i))
-			    Store_field(v, i, Val_true);
-		    else
-			    Store_field(v, i, Val_false);
-	    }
-	}
-	CAMLreturn(v);
+    if (c_val->size == 0)
+        v = Atom(0);
+    else {
+        v = caml_alloc(8 * (c_val->size), 0);
+        libxl_for_each_bit(i, *c_val) {
+            if (libxl_bitmap_test(c_val, i))
+                Store_field(v, i, Val_true);
+            else
+                Store_field(v, i, Val_false);
+        }
+    }
+    CAMLreturn(v);
 }
 
 static int Bitmap_val(libxl_ctx *ctx, libxl_bitmap *c_val, value v)
 {
-	CAMLparam1(v);
-	int i, len = Wosize_val(v);
+    CAMLparam1(v);
+    int i, len = Wosize_val(v);
 
-	c_val->size = 0;
-	if (len > 0 && libxl_bitmap_alloc(ctx, c_val, len))
-		failwith_xl(ERROR_NOMEM, "cannot allocate bitmap");
-	for (i=0; i<len; i++) {
-		if (Int_val(Field(v, i)))
-			libxl_bitmap_set(c_val, i);
-		else
-			libxl_bitmap_reset(c_val, i);
-	}
-	CAMLreturn(0);
+    c_val->size = 0;
+    if (len > 0 && libxl_bitmap_alloc(ctx, c_val, len))
+        failwith_xl(ERROR_NOMEM, "cannot allocate bitmap");
+    for (i=0; i<len; i++) {
+        if (Int_val(Field(v, i)))
+            libxl_bitmap_set(c_val, i);
+        else
+            libxl_bitmap_reset(c_val, i);
+    }
+    CAMLreturn(0);
 }
 
 static value Val_uuid (libxl_uuid *c_val)
 {
-	CAMLparam0();
-	CAMLlocal1(v);
-	uint8_t *uuid = libxl_uuid_bytearray(c_val);
-	int i;
+    CAMLparam0();
+    CAMLlocal1(v);
+    uint8_t *uuid = libxl_uuid_bytearray(c_val);
+    int i;
 
-	v = caml_alloc_tuple(16);
+    v = caml_alloc_tuple(16);
 
-	for(i=0; i<16; i++)
-		Store_field(v, i, Val_int(uuid[i]));
+    for(i=0; i<16; i++)
+        Store_field(v, i, Val_int(uuid[i]));
 
-	CAMLreturn(v);
+    CAMLreturn(v);
 }
 
 static int Uuid_val(libxl_uuid *c_val, value v)
 {
-	CAMLparam1(v);
-	int i;
-	uint8_t *uuid = libxl_uuid_bytearray(c_val);
+    CAMLparam1(v);
+    int i;
+    uint8_t *uuid = libxl_uuid_bytearray(c_val);
 
-	for(i=0; i<16; i++)
-		uuid[i] = Int_val(Field(v, i));
+    for(i=0; i<16; i++)
+        uuid[i] = Int_val(Field(v, i));
 
-	CAMLreturn(0);
+    CAMLreturn(0);
 }
 
 static value Val_defbool(libxl_defbool c_val)
 {
-	CAMLparam0();
-	CAMLlocal2(v1, v2);
-	bool b;
+    CAMLparam0();
+    CAMLlocal2(v1, v2);
+    bool b;
 
-	if (libxl_defbool_is_default(c_val))
-		v2 = Val_none;
-	else {
-		b = libxl_defbool_val(c_val);
-		v1 = b ? Val_bool(true) : Val_bool(false);
-		v2 = Val_some(v1);
-	}
-	CAMLreturn(v2);
+    if (libxl_defbool_is_default(c_val))
+        v2 = Val_none;
+    else {
+        b = libxl_defbool_val(c_val);
+        v1 = b ? Val_bool(true) : Val_bool(false);
+        v2 = Val_some(v1);
+    }
+    CAMLreturn(v2);
 }
 
 static libxl_defbool Defbool_val(value v)
 {
-	CAMLparam1(v);
-	libxl_defbool db;
-	if (v == Val_none)
-		libxl_defbool_unset(&db);
-	else {
-		bool b = Bool_val(Some_val(v));
-		libxl_defbool_set(&db, b);
-	}
-	CAMLreturnT(libxl_defbool, db);
+    CAMLparam1(v);
+    libxl_defbool db;
+    if (v == Val_none)
+        libxl_defbool_unset(&db);
+    else {
+        bool b = Bool_val(Some_val(v));
+        libxl_defbool_set(&db, b);
+    }
+    CAMLreturnT(libxl_defbool, db);
 }
 
 static value Val_hwcap(libxl_hwcap *c_val)
 {
-	CAMLparam0();
-	CAMLlocal1(hwcap);
-	int i;
+    CAMLparam0();
+    CAMLlocal1(hwcap);
+    int i;
 
-	hwcap = caml_alloc_tuple(8);
-	for (i = 0; i < 8; i++)
-		Store_field(hwcap, i, caml_copy_int32((*c_val)[i]));
+    hwcap = caml_alloc_tuple(8);
+    for (i = 0; i < 8; i++)
+        Store_field(hwcap, i, caml_copy_int32((*c_val)[i]));
 
-	CAMLreturn(hwcap);
+    CAMLreturn(hwcap);
 }
 
 static value Val_ms_vm_genid (libxl_ms_vm_genid *c_val)
 {
-	CAMLparam0();
-	CAMLlocal1(v);
-	int i;
+    CAMLparam0();
+    CAMLlocal1(v);
+    int i;
 
-	v = caml_alloc_tuple(LIBXL_MS_VM_GENID_LEN);
+    v = caml_alloc_tuple(LIBXL_MS_VM_GENID_LEN);
 
-	for(i=0; i<LIBXL_MS_VM_GENID_LEN; i++)
-		Store_field(v, i, Val_int(c_val->bytes[i]));
+    for(i=0; i<LIBXL_MS_VM_GENID_LEN; i++)
+        Store_field(v, i, Val_int(c_val->bytes[i]));
 
-	CAMLreturn(v);
+    CAMLreturn(v);
 }
 
 static int Ms_vm_genid_val(libxl_ms_vm_genid *c_val, value v)
 {
-	CAMLparam1(v);
-	int i;
+    CAMLparam1(v);
+    int i;
 
-	for(i=0; i<LIBXL_MS_VM_GENID_LEN; i++)
-		c_val->bytes[i] = Int_val(Field(v, i));
+    for(i=0; i<LIBXL_MS_VM_GENID_LEN; i++)
+        c_val->bytes[i] = Int_val(Field(v, i));
 
-	CAMLreturn(0);
+    CAMLreturn(0);
 }
 
 static value Val_string_option(const char *c_val)
 {
-	CAMLparam0();
-	CAMLlocal2(tmp1, tmp2);
-	if (c_val) {
-		tmp1 = caml_copy_string(c_val);
-		tmp2 = Val_some(tmp1);
-		CAMLreturn(tmp2);
-	}
-	else
-		CAMLreturn(Val_none);
+    CAMLparam0();
+    CAMLlocal2(tmp1, tmp2);
+    if (c_val) {
+        tmp1 = caml_copy_string(c_val);
+        tmp2 = Val_some(tmp1);
+        CAMLreturn(tmp2);
+    }
+    else
+        CAMLreturn(Val_none);
 }
 
 static char *String_option_val(value v)
 {
-	CAMLparam1(v);
-	char *s = NULL;
-	if (v != Val_none)
-		s = dup_String_val(Some_val(v));
-	CAMLreturnT(char *, s);
+    CAMLparam1(v);
+    char *s = NULL;
+    if (v != Val_none)
+        s = dup_String_val(Some_val(v));
+    CAMLreturnT(char *, s);
 }
 
 #include "_libxl_types.inc"
 
 void async_callback(libxl_ctx *ctx, int rc, void *for_callback)
 {
-	caml_leave_blocking_section();
-	CAMLparam0();
-	CAMLlocal2(error, tmp);
-	static const value *func = NULL;
-	value *p = (value *) for_callback;
+    caml_leave_blocking_section();
+    CAMLparam0();
+    CAMLlocal2(error, tmp);
+    static const value *func = NULL;
+    value *p = (value *) for_callback;
 
-	if (func == NULL) {
-		/* First time around, lookup by name */
-		func = caml_named_value("libxl_async_callback");
-	}
+    if (func == NULL) {
+        /* First time around, lookup by name */
+        func = caml_named_value("libxl_async_callback");
+    }
 
-	if (rc == 0)
-		error = Val_none;
-	else {
-		tmp = Val_error(rc);
-		error = Val_some(tmp);
-	}
+    if (rc == 0)
+        error = Val_none;
+    else {
+        tmp = Val_error(rc);
+        error = Val_some(tmp);
+    }
 
-	/* for_callback is a pointer to a "value" that was malloc'ed and
-	 * registered with the OCaml GC. The value is handed back to OCaml
-	 * in the following callback, after which the pointer is unregistered
-	 * and freed. */
-	caml_callback2(*func, error, *p);
+    /* for_callback is a pointer to a "value" that was malloc'ed and
+     * registered with the OCaml GC. The value is handed back to OCaml
+     * in the following callback, after which the pointer is unregistered
+     * and freed. */
+    caml_callback2(*func, error, *p);
 
-	caml_remove_global_root(p);
-	free(p);
+    caml_remove_global_root(p);
+    free(p);
 
-	CAMLdone;
-	caml_enter_blocking_section();
+    CAMLdone;
+    caml_enter_blocking_section();
 }
 
 static libxl_asyncop_how *aohow_val(value async)
 {
-	CAMLparam1(async);
-	libxl_asyncop_how *ao_how = NULL;
-	value *p;
+    CAMLparam1(async);
+    libxl_asyncop_how *ao_how = NULL;
+    value *p;
 
-	if (async != Val_none) {
-		/* for_callback must be a pointer to a "value" that is malloc'ed and
-		 * registered with the OCaml GC. This ensures that the GC does not remove
-		 * the corresponding OCaml heap blocks, and allows the GC to update the value
-		 * when blocks are moved around, while libxl is free to copy the pointer if
-		 * it needs to.
-		 * The for_callback pointer must always be non-NULL. */
-		p = malloc(sizeof(value));
-		if (!p)
-			failwith_xl(ERROR_NOMEM, "cannot allocate value");
-		*p = Some_val(async);
-		caml_register_global_root(p);
-		ao_how = malloc(sizeof(*ao_how));
-		ao_how->callback = async_callback;
-		ao_how->u.for_callback = (void *) p;
-	}
+    if (async != Val_none) {
+        /* for_callback must be a pointer to a "value" that is malloc'ed and
+         * registered with the OCaml GC. This ensures that the GC does not remove
+         * the corresponding OCaml heap blocks, and allows the GC to update the value
+         * when blocks are moved around, while libxl is free to copy the pointer if
+         * it needs to.
+         * The for_callback pointer must always be non-NULL. */
+        p = malloc(sizeof(value));
+        if (!p)
+            failwith_xl(ERROR_NOMEM, "cannot allocate value");
+        *p = Some_val(async);
+        caml_register_global_root(p);
+        ao_how = malloc(sizeof(*ao_how));
+        ao_how->callback = async_callback;
+        ao_how->u.for_callback = (void *) p;
+    }
 
-	CAMLreturnT(libxl_asyncop_how *, ao_how);
+    CAMLreturnT(libxl_asyncop_how *, ao_how);
 }
 
 value stub_libxl_domain_create_new(value ctx, value domain_config, value async, value unit)
 {
-	CAMLparam4(ctx, async, domain_config, unit);
-	int ret;
-	libxl_domain_config c_dconfig;
-	uint32_t c_domid;
-	libxl_asyncop_how *ao_how;
+    CAMLparam4(ctx, async, domain_config, unit);
+    int ret;
+    libxl_domain_config c_dconfig;
+    uint32_t c_domid;
+    libxl_asyncop_how *ao_how;
 
-	libxl_domain_config_init(&c_dconfig);
-	ret = domain_config_val(CTX, &c_dconfig, domain_config);
-	if (ret != 0) {
-		libxl_domain_config_dispose(&c_dconfig);
-		failwith_xl(ret, "domain_create_new");
-	}
+    libxl_domain_config_init(&c_dconfig);
+    ret = domain_config_val(CTX, &c_dconfig, domain_config);
+    if (ret != 0) {
+        libxl_domain_config_dispose(&c_dconfig);
+        failwith_xl(ret, "domain_create_new");
+    }
 
-	ao_how = aohow_val(async);
+    ao_how = aohow_val(async);
 
-	caml_enter_blocking_section();
-	ret = libxl_domain_create_new(CTX, &c_dconfig, &c_domid, ao_how, NULL);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_domain_create_new(CTX, &c_dconfig, &c_domid, ao_how, NULL);
+    caml_leave_blocking_section();
 
-	free(ao_how);
-	libxl_domain_config_dispose(&c_dconfig);
+    free(ao_how);
+    libxl_domain_config_dispose(&c_dconfig);
 
-	if (ret != 0)
-		failwith_xl(ret, "domain_create_new");
+    if (ret != 0)
+        failwith_xl(ret, "domain_create_new");
 
-	CAMLreturn(Val_int(c_domid));
+    CAMLreturn(Val_int(c_domid));
 }
 
 value stub_libxl_domain_create_restore(value ctx, value domain_config, value params,
-	value async, value unit)
+    value async, value unit)
 {
-	CAMLparam5(ctx, domain_config, params, async, unit);
-	int ret;
-	libxl_domain_config c_dconfig;
-	libxl_domain_restore_params c_params;
-	uint32_t c_domid;
-	libxl_asyncop_how *ao_how;
-	int restore_fd;
+    CAMLparam5(ctx, domain_config, params, async, unit);
+    int ret;
+    libxl_domain_config c_dconfig;
+    libxl_domain_restore_params c_params;
+    uint32_t c_domid;
+    libxl_asyncop_how *ao_how;
+    int restore_fd;
 
-	libxl_domain_config_init(&c_dconfig);
-	ret = domain_config_val(CTX, &c_dconfig, domain_config);
-	if (ret != 0) {
-		libxl_domain_config_dispose(&c_dconfig);
-		failwith_xl(ret, "domain_create_restore");
-	}
+    libxl_domain_config_init(&c_dconfig);
+    ret = domain_config_val(CTX, &c_dconfig, domain_config);
+    if (ret != 0) {
+        libxl_domain_config_dispose(&c_dconfig);
+        failwith_xl(ret, "domain_create_restore");
+    }
 
-	libxl_domain_restore_params_init(&c_params);
-	ret = domain_restore_params_val(CTX, &c_params, Field(params, 1));
-	if (ret != 0) {
-		libxl_domain_restore_params_dispose(&c_params);
-		failwith_xl(ret, "domain_create_restore");
-	}
+    libxl_domain_restore_params_init(&c_params);
+    ret = domain_restore_params_val(CTX, &c_params, Field(params, 1));
+    if (ret != 0) {
+        libxl_domain_restore_params_dispose(&c_params);
+        failwith_xl(ret, "domain_create_restore");
+    }
 
-	ao_how = aohow_val(async);
-	restore_fd = Int_val(Field(params, 0));
+    ao_how = aohow_val(async);
+    restore_fd = Int_val(Field(params, 0));
 
-	caml_enter_blocking_section();
-	ret = libxl_domain_create_restore(CTX, &c_dconfig, &c_domid, restore_fd,
-		-1, &c_params, ao_how, NULL);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_domain_create_restore(CTX, &c_dconfig, &c_domid, restore_fd,
+        -1, &c_params, ao_how, NULL);
+    caml_leave_blocking_section();
 
-	free(ao_how);
-	libxl_domain_config_dispose(&c_dconfig);
-	libxl_domain_restore_params_dispose(&c_params);
+    free(ao_how);
+    libxl_domain_config_dispose(&c_dconfig);
+    libxl_domain_restore_params_dispose(&c_params);
 
-	if (ret != 0)
-		failwith_xl(ret, "domain_create_restore");
+    if (ret != 0)
+        failwith_xl(ret, "domain_create_restore");
 
-	CAMLreturn(Val_int(c_domid));
+    CAMLreturn(Val_int(c_domid));
 }
 
 value stub_libxl_domain_shutdown(value ctx, value domid, value async, value unit)
 {
-	CAMLparam4(ctx, domid, async, unit);
-	int ret;
-	uint32_t c_domid = Int_val(domid);
-	libxl_asyncop_how *ao_how = aohow_val(async);
+    CAMLparam4(ctx, domid, async, unit);
+    int ret;
+    uint32_t c_domid = Int_val(domid);
+    libxl_asyncop_how *ao_how = aohow_val(async);
 
-	caml_enter_blocking_section();
-	ret = libxl_domain_shutdown(CTX, c_domid, ao_how);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_domain_shutdown(CTX, c_domid, ao_how);
+    caml_leave_blocking_section();
 
-	free(ao_how);
+    free(ao_how);
 
-	if (ret != 0)
-		failwith_xl(ret, "domain_shutdown");
+    if (ret != 0)
+        failwith_xl(ret, "domain_shutdown");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 value stub_libxl_domain_reboot(value ctx, value domid, value async, value unit)
 {
-	CAMLparam4(ctx, domid, async, unit);
-	int ret;
-	uint32_t c_domid = Int_val(domid);
-	libxl_asyncop_how *ao_how = aohow_val(async);
+    CAMLparam4(ctx, domid, async, unit);
+    int ret;
+    uint32_t c_domid = Int_val(domid);
+    libxl_asyncop_how *ao_how = aohow_val(async);
 
-	caml_enter_blocking_section();
-	ret = libxl_domain_reboot(CTX, c_domid, ao_how);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_domain_reboot(CTX, c_domid, ao_how);
+    caml_leave_blocking_section();
 
-	free(ao_how);
+    free(ao_how);
 
-	if (ret != 0)
-		failwith_xl(ret, "domain_reboot");
+    if (ret != 0)
+        failwith_xl(ret, "domain_reboot");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 value stub_libxl_domain_destroy(value ctx, value domid, value async, value unit)
 {
-	CAMLparam4(ctx, domid, async, unit);
-	int ret;
-	uint32_t c_domid = Int_val(domid);
-	libxl_asyncop_how *ao_how = aohow_val(async);
+    CAMLparam4(ctx, domid, async, unit);
+    int ret;
+    uint32_t c_domid = Int_val(domid);
+    libxl_asyncop_how *ao_how = aohow_val(async);
 
-	caml_enter_blocking_section();
-	ret = libxl_domain_destroy(CTX, c_domid, ao_how);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_domain_destroy(CTX, c_domid, ao_how);
+    caml_leave_blocking_section();
 
-	free(ao_how);
+    free(ao_how);
 
-	if (ret != 0)
-		failwith_xl(ret, "domain_destroy");
+    if (ret != 0)
+        failwith_xl(ret, "domain_destroy");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 value stub_libxl_domain_suspend(value ctx, value domid, value fd, value async, value unit)
 {
-	CAMLparam5(ctx, domid, fd, async, unit);
-	int ret;
-	uint32_t c_domid = Int_val(domid);
-	int c_fd = Int_val(fd);
-	libxl_asyncop_how *ao_how = aohow_val(async);
+    CAMLparam5(ctx, domid, fd, async, unit);
+    int ret;
+    uint32_t c_domid = Int_val(domid);
+    int c_fd = Int_val(fd);
+    libxl_asyncop_how *ao_how = aohow_val(async);
 
-	caml_enter_blocking_section();
-	ret = libxl_domain_suspend(CTX, c_domid, c_fd, 0, ao_how);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_domain_suspend(CTX, c_domid, c_fd, 0, ao_how);
+    caml_leave_blocking_section();
 
-	free(ao_how);
+    free(ao_how);
 
-	if (ret != 0)
-		failwith_xl(ret, "domain_suspend");
+    if (ret != 0)
+        failwith_xl(ret, "domain_suspend");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 value stub_libxl_domain_pause(value ctx, value domid, value async)
 {
-	CAMLparam3(ctx, domid, async);
-	int ret;
-	uint32_t c_domid = Int_val(domid);
-	libxl_asyncop_how *ao_how = aohow_val(async);
+    CAMLparam3(ctx, domid, async);
+    int ret;
+    uint32_t c_domid = Int_val(domid);
+    libxl_asyncop_how *ao_how = aohow_val(async);
 
-	caml_enter_blocking_section();
-	ret = libxl_domain_pause(CTX, c_domid, ao_how);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_domain_pause(CTX, c_domid, ao_how);
+    caml_leave_blocking_section();
 
-	free(ao_how);
+    free(ao_how);
 
-	if (ret != 0)
-		failwith_xl(ret, "domain_pause");
+    if (ret != 0)
+        failwith_xl(ret, "domain_pause");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 value stub_libxl_domain_unpause(value ctx, value domid, value async)
 {
-	CAMLparam3(ctx, domid, async);
-	int ret;
-	uint32_t c_domid = Int_val(domid);
-	libxl_asyncop_how *ao_how = aohow_val(async);
+    CAMLparam3(ctx, domid, async);
+    int ret;
+    uint32_t c_domid = Int_val(domid);
+    libxl_asyncop_how *ao_how = aohow_val(async);
 
-	caml_enter_blocking_section();
-	ret = libxl_domain_unpause(CTX, c_domid, ao_how);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_domain_unpause(CTX, c_domid, ao_how);
+    caml_leave_blocking_section();
 
-	free(ao_how);
+    free(ao_how);
 
-	if (ret != 0)
-		failwith_xl(ret, "domain_unpause");
+    if (ret != 0)
+        failwith_xl(ret, "domain_unpause");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 #define _STRINGIFY(x) #x
 #define STRINGIFY(x) _STRINGIFY(x)
 
-#define _DEVICE_ADDREMOVE(type,fn,op)					\
-value stub_xl_device_##type##_##op(value ctx, value info, value domid,	\
-	value async, value unit)					\
-{									\
-	CAMLparam5(ctx, info, domid, async, unit);			\
-	libxl_device_##type c_info;					\
-	int ret, marker_var;						\
-	uint32_t c_domid = Int_val(domid);				\
-	libxl_asyncop_how *ao_how = aohow_val(async);			\
-									\
-	device_##type##_val(CTX, &c_info, info);			\
-									\
-	caml_enter_blocking_section();					\
-	ret = libxl_##fn##_##op(CTX, c_domid, &c_info, ao_how);		\
-	caml_leave_blocking_section();					\
-									\
-	free(ao_how);							\
-	libxl_device_##type##_dispose(&c_info);				\
-									\
-	if (ret != 0)							\
-		failwith_xl(ret, STRINGIFY(type) "_" STRINGIFY(op));	\
-									\
-	CAMLreturn(Val_unit);						\
+#define _DEVICE_ADDREMOVE(type,fn,op)                    \
+value stub_xl_device_##type##_##op(value ctx, value info, value domid,    \
+    value async, value unit)                    \
+{                                    \
+    CAMLparam5(ctx, info, domid, async, unit);            \
+    libxl_device_##type c_info;                    \
+    int ret, marker_var;                        \
+    uint32_t c_domid = Int_val(domid);                \
+    libxl_asyncop_how *ao_how = aohow_val(async);            \
+                                    \
+    device_##type##_val(CTX, &c_info, info);            \
+                                    \
+    caml_enter_blocking_section();                    \
+    ret = libxl_##fn##_##op(CTX, c_domid, &c_info, ao_how);        \
+    caml_leave_blocking_section();                    \
+                                    \
+    free(ao_how);                            \
+    libxl_device_##type##_dispose(&c_info);                \
+                                    \
+    if (ret != 0)                            \
+        failwith_xl(ret, STRINGIFY(type) "_" STRINGIFY(op));    \
+                                    \
+    CAMLreturn(Val_unit);                        \
 }
 
 #define DEVICE_ADDREMOVE(type) \
-	_DEVICE_ADDREMOVE(type, device_##type, add) \
-	_DEVICE_ADDREMOVE(type, device_##type, remove) \
-	_DEVICE_ADDREMOVE(type, device_##type, destroy)
+    _DEVICE_ADDREMOVE(type, device_##type, add) \
+    _DEVICE_ADDREMOVE(type, device_##type, remove) \
+    _DEVICE_ADDREMOVE(type, device_##type, destroy)
 
 DEVICE_ADDREMOVE(disk)
 DEVICE_ADDREMOVE(nic)
@@ -712,558 +712,558 @@ _DEVICE_ADDREMOVE(disk, cdrom, insert)
 
 value stub_xl_device_nic_of_devid(value ctx, value domid, value devid)
 {
-	CAMLparam3(ctx, domid, devid);
-	CAMLlocal1(nic);
-	libxl_device_nic c_nic;
-	uint32_t c_domid = Int_val(domid);
-	int c_devid = Int_val(devid);
+    CAMLparam3(ctx, domid, devid);
+    CAMLlocal1(nic);
+    libxl_device_nic c_nic;
+    uint32_t c_domid = Int_val(domid);
+    int c_devid = Int_val(devid);
 
-	caml_enter_blocking_section();
-	libxl_devid_to_device_nic(CTX, c_domid, c_devid, &c_nic);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    libxl_devid_to_device_nic(CTX, c_domid, c_devid, &c_nic);
+    caml_leave_blocking_section();
 
-	nic = Val_device_nic(&c_nic);
-	libxl_device_nic_dispose(&c_nic);
+    nic = Val_device_nic(&c_nic);
+    libxl_device_nic_dispose(&c_nic);
 
-	CAMLreturn(nic);
+    CAMLreturn(nic);
 }
 
 value stub_xl_device_nic_list(value ctx, value domid)
 {
-	CAMLparam2(ctx, domid);
-	CAMLlocal2(list, temp);
-	libxl_device_nic *c_list;
-	int i, nb;
-	uint32_t c_domid = Int_val(domid);
+    CAMLparam2(ctx, domid);
+    CAMLlocal2(list, temp);
+    libxl_device_nic *c_list;
+    int i, nb;
+    uint32_t c_domid = Int_val(domid);
 
-	caml_enter_blocking_section();
-	c_list = libxl_device_nic_list(CTX, c_domid, &nb);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    c_list = libxl_device_nic_list(CTX, c_domid, &nb);
+    caml_leave_blocking_section();
 
-	if (!c_list)
-		failwith_xl(ERROR_FAIL, "nic_list");
+    if (!c_list)
+        failwith_xl(ERROR_FAIL, "nic_list");
 
-	list = temp = Val_emptylist;
-	for (i = 0; i < nb; i++) {
-		list = caml_alloc_small(2, Tag_cons);
-		Field(list, 0) = Val_int(0);
-		Field(list, 1) = temp;
-		temp = list;
-		Store_field(list, 0, Val_device_nic(&c_list[i]));
-	}
-	libxl_device_nic_list_free(c_list, nb);
+    list = temp = Val_emptylist;
+    for (i = 0; i < nb; i++) {
+        list = caml_alloc_small(2, Tag_cons);
+        Field(list, 0) = Val_int(0);
+        Field(list, 1) = temp;
+        temp = list;
+        Store_field(list, 0, Val_device_nic(&c_list[i]));
+    }
+    libxl_device_nic_list_free(c_list, nb);
 
-	CAMLreturn(list);
+    CAMLreturn(list);
 }
 
 value stub_xl_device_disk_list(value ctx, value domid)
 {
-	CAMLparam2(ctx, domid);
-	CAMLlocal2(list, temp);
-	libxl_device_disk *c_list;
-	int i, nb;
-	uint32_t c_domid = Int_val(domid);
+    CAMLparam2(ctx, domid);
+    CAMLlocal2(list, temp);
+    libxl_device_disk *c_list;
+    int i, nb;
+    uint32_t c_domid = Int_val(domid);
 
-	caml_enter_blocking_section();
-	c_list = libxl_device_disk_list(CTX, c_domid, &nb);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    c_list = libxl_device_disk_list(CTX, c_domid, &nb);
+    caml_leave_blocking_section();
 
-	if (!c_list)
-		failwith_xl(ERROR_FAIL, "disk_list");
+    if (!c_list)
+        failwith_xl(ERROR_FAIL, "disk_list");
 
-	list = temp = Val_emptylist;
-	for (i = 0; i < nb; i++) {
-		list = caml_alloc_small(2, Tag_cons);
-		Field(list, 0) = Val_int(0);
-		Field(list, 1) = temp;
-		temp = list;
-		Store_field(list, 0, Val_device_disk(&c_list[i]));
-	}
-	libxl_device_disk_list_free(c_list, nb);
+    list = temp = Val_emptylist;
+    for (i = 0; i < nb; i++) {
+        list = caml_alloc_small(2, Tag_cons);
+        Field(list, 0) = Val_int(0);
+        Field(list, 1) = temp;
+        temp = list;
+        Store_field(list, 0, Val_device_disk(&c_list[i]));
+    }
+    libxl_device_disk_list_free(c_list, nb);
 
-	CAMLreturn(list);
+    CAMLreturn(list);
 }
 
 value stub_xl_device_disk_of_vdev(value ctx, value domid, value vdev)
 {
-	CAMLparam3(ctx, domid, vdev);
-	CAMLlocal1(disk);
-	libxl_device_disk c_disk;
-	char *c_vdev;
-	uint32_t c_domid = Int_val(domid);
+    CAMLparam3(ctx, domid, vdev);
+    CAMLlocal1(disk);
+    libxl_device_disk c_disk;
+    char *c_vdev;
+    uint32_t c_domid = Int_val(domid);
 
-	c_vdev = strdup(String_val(vdev));
+    c_vdev = strdup(String_val(vdev));
 
-	caml_enter_blocking_section();
-	libxl_vdev_to_device_disk(CTX, c_domid, c_vdev, &c_disk);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    libxl_vdev_to_device_disk(CTX, c_domid, c_vdev, &c_disk);
+    caml_leave_blocking_section();
 
-	disk = Val_device_disk(&c_disk);
-	libxl_device_disk_dispose(&c_disk);
-	free(c_vdev);
+    disk = Val_device_disk(&c_disk);
+    libxl_device_disk_dispose(&c_disk);
+    free(c_vdev);
 
-	CAMLreturn(disk);
+    CAMLreturn(disk);
 }
 
 value stub_xl_device_pci_list(value ctx, value domid)
 {
-	CAMLparam2(ctx, domid);
-	CAMLlocal2(list, temp);
-	libxl_device_pci *c_list;
-	int i, nb;
-	uint32_t c_domid = Int_val(domid);
+    CAMLparam2(ctx, domid);
+    CAMLlocal2(list, temp);
+    libxl_device_pci *c_list;
+    int i, nb;
+    uint32_t c_domid = Int_val(domid);
 
-	caml_enter_blocking_section();
-	c_list = libxl_device_pci_list(CTX, c_domid, &nb);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    c_list = libxl_device_pci_list(CTX, c_domid, &nb);
+    caml_leave_blocking_section();
 
-	if (!c_list)
-		failwith_xl(ERROR_FAIL, "pci_list");
+    if (!c_list)
+        failwith_xl(ERROR_FAIL, "pci_list");
 
-	list = temp = Val_emptylist;
-	for (i = 0; i < nb; i++) {
-		list = caml_alloc_small(2, Tag_cons);
-		Field(list, 0) = Val_int(0);
-		Field(list, 1) = temp;
-		temp = list;
-		Store_field(list, 0, Val_device_pci(&c_list[i]));
-		libxl_device_pci_dispose(&c_list[i]);
-	}
-	free(c_list);
+    list = temp = Val_emptylist;
+    for (i = 0; i < nb; i++) {
+        list = caml_alloc_small(2, Tag_cons);
+        Field(list, 0) = Val_int(0);
+        Field(list, 1) = temp;
+        temp = list;
+        Store_field(list, 0, Val_device_pci(&c_list[i]));
+        libxl_device_pci_dispose(&c_list[i]);
+    }
+    free(c_list);
 
-	CAMLreturn(list);
+    CAMLreturn(list);
 }
 
 value stub_xl_device_pci_assignable_add(value ctx, value info, value rebind)
 {
-	CAMLparam3(ctx, info, rebind);
-	libxl_device_pci c_info;
-	int ret, marker_var;
-	int c_rebind = (int) Bool_val(rebind);
+    CAMLparam3(ctx, info, rebind);
+    libxl_device_pci c_info;
+    int ret, marker_var;
+    int c_rebind = (int) Bool_val(rebind);
 
-	device_pci_val(CTX, &c_info, info);
+    device_pci_val(CTX, &c_info, info);
 
-	caml_enter_blocking_section();
-	ret = libxl_device_pci_assignable_add(CTX, &c_info, c_rebind);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_device_pci_assignable_add(CTX, &c_info, c_rebind);
+    caml_leave_blocking_section();
 
-	libxl_device_pci_dispose(&c_info);
+    libxl_device_pci_dispose(&c_info);
 
-	if (ret != 0)
-		failwith_xl(ret, "pci_assignable_add");
+    if (ret != 0)
+        failwith_xl(ret, "pci_assignable_add");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 value stub_xl_device_pci_assignable_remove(value ctx, value info, value rebind)
 {
-	CAMLparam3(ctx, info, rebind);
-	libxl_device_pci c_info;
-	int ret, marker_var;
-	int c_rebind = (int) Bool_val(rebind);
+    CAMLparam3(ctx, info, rebind);
+    libxl_device_pci c_info;
+    int ret, marker_var;
+    int c_rebind = (int) Bool_val(rebind);
 
-	device_pci_val(CTX, &c_info, info);
+    device_pci_val(CTX, &c_info, info);
 
-	caml_enter_blocking_section();
-	ret = libxl_device_pci_assignable_remove(CTX, &c_info, c_rebind);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_device_pci_assignable_remove(CTX, &c_info, c_rebind);
+    caml_leave_blocking_section();
 
-	libxl_device_pci_dispose(&c_info);
+    libxl_device_pci_dispose(&c_info);
 
-	if (ret != 0)
-		failwith_xl(ret, "pci_assignable_remove");
+    if (ret != 0)
+        failwith_xl(ret, "pci_assignable_remove");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 value stub_xl_device_pci_assignable_list(value ctx)
 {
-	CAMLparam1(ctx);
-	CAMLlocal2(list, temp);
-	libxl_device_pci *c_list;
-	int i, nb;
-	uint32_t c_domid;
+    CAMLparam1(ctx);
+    CAMLlocal2(list, temp);
+    libxl_device_pci *c_list;
+    int i, nb;
+    uint32_t c_domid;
 
-	caml_enter_blocking_section();
-	c_list = libxl_device_pci_assignable_list(CTX, &nb);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    c_list = libxl_device_pci_assignable_list(CTX, &nb);
+    caml_leave_blocking_section();
 
-	if (!c_list)
-		failwith_xl(ERROR_FAIL, "pci_assignable_list");
+    if (!c_list)
+        failwith_xl(ERROR_FAIL, "pci_assignable_list");
 
-	list = temp = Val_emptylist;
-	for (i = 0; i < nb; i++) {
-		list = caml_alloc_small(2, Tag_cons);
-		Field(list, 0) = Val_int(0);
-		Field(list, 1) = temp;
-		temp = list;
-		Store_field(list, 0, Val_device_pci(&c_list[i]));
-	}
-	libxl_device_pci_assignable_list_free(c_list, nb);
+    list = temp = Val_emptylist;
+    for (i = 0; i < nb; i++) {
+        list = caml_alloc_small(2, Tag_cons);
+        Field(list, 0) = Val_int(0);
+        Field(list, 1) = temp;
+        temp = list;
+        Store_field(list, 0, Val_device_pci(&c_list[i]));
+    }
+    libxl_device_pci_assignable_list_free(c_list, nb);
 
-	CAMLreturn(list);
+    CAMLreturn(list);
 }
 
 value stub_xl_physinfo_get(value ctx)
 {
-	CAMLparam1(ctx);
-	CAMLlocal1(physinfo);
-	libxl_physinfo c_physinfo;
-	int ret;
+    CAMLparam1(ctx);
+    CAMLlocal1(physinfo);
+    libxl_physinfo c_physinfo;
+    int ret;
 
-	caml_enter_blocking_section();
-	ret = libxl_get_physinfo(CTX, &c_physinfo);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_get_physinfo(CTX, &c_physinfo);
+    caml_leave_blocking_section();
 
-	if (ret != 0)
-		failwith_xl(ret, "get_physinfo");
+    if (ret != 0)
+        failwith_xl(ret, "get_physinfo");
 
-	physinfo = Val_physinfo(&c_physinfo);
+    physinfo = Val_physinfo(&c_physinfo);
 
-	libxl_physinfo_dispose(&c_physinfo);
+    libxl_physinfo_dispose(&c_physinfo);
 
-	CAMLreturn(physinfo);
+    CAMLreturn(physinfo);
 }
 
 value stub_xl_cputopology_get(value ctx)
 {
-	CAMLparam1(ctx);
-	CAMLlocal3(topology, v, v0);
-	libxl_cputopology *c_topology;
-	int i, nr;
+    CAMLparam1(ctx);
+    CAMLlocal3(topology, v, v0);
+    libxl_cputopology *c_topology;
+    int i, nr;
 
-	caml_enter_blocking_section();
-	c_topology = libxl_get_cpu_topology(CTX, &nr);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    c_topology = libxl_get_cpu_topology(CTX, &nr);
+    caml_leave_blocking_section();
 
-	if (!c_topology)
-		failwith_xl(ERROR_FAIL, "get_cpu_topologyinfo");
+    if (!c_topology)
+        failwith_xl(ERROR_FAIL, "get_cpu_topologyinfo");
 
-	topology = caml_alloc_tuple(nr);
-	for (i = 0; i < nr; i++) {
-		if (c_topology[i].core != LIBXL_CPUTOPOLOGY_INVALID_ENTRY) {
-			v0 = Val_cputopology(&c_topology[i]);
-			v = Val_some(v0);
-		}
-		else
-			v = Val_none;
-		Store_field(topology, i, v);
-	}
+    topology = caml_alloc_tuple(nr);
+    for (i = 0; i < nr; i++) {
+        if (c_topology[i].core != LIBXL_CPUTOPOLOGY_INVALID_ENTRY) {
+            v0 = Val_cputopology(&c_topology[i]);
+            v = Val_some(v0);
+        }
+        else
+            v = Val_none;
+        Store_field(topology, i, v);
+    }
 
-	libxl_cputopology_list_free(c_topology, nr);
+    libxl_cputopology_list_free(c_topology, nr);
 
-	CAMLreturn(topology);
+    CAMLreturn(topology);
 }
 
 value stub_xl_dominfo_list(value ctx)
 {
-	CAMLparam1(ctx);
-	CAMLlocal2(domlist, temp);
-	libxl_dominfo *c_domlist;
-	int i, nb;
+    CAMLparam1(ctx);
+    CAMLlocal2(domlist, temp);
+    libxl_dominfo *c_domlist;
+    int i, nb;
 
-	caml_enter_blocking_section();
-	c_domlist = libxl_list_domain(CTX, &nb);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    c_domlist = libxl_list_domain(CTX, &nb);
+    caml_leave_blocking_section();
 
-	if (!c_domlist)
-		failwith_xl(ERROR_FAIL, "dominfo_list");
+    if (!c_domlist)
+        failwith_xl(ERROR_FAIL, "dominfo_list");
 
-	domlist = temp = Val_emptylist;
-	for (i = nb - 1; i >= 0; i--) {
-		domlist = caml_alloc_small(2, Tag_cons);
-		Field(domlist, 0) = Val_int(0);
-		Field(domlist, 1) = temp;
-		temp = domlist;
+    domlist = temp = Val_emptylist;
+    for (i = nb - 1; i >= 0; i--) {
+        domlist = caml_alloc_small(2, Tag_cons);
+        Field(domlist, 0) = Val_int(0);
+        Field(domlist, 1) = temp;
+        temp = domlist;
 
-		Store_field(domlist, 0, Val_dominfo(&c_domlist[i]));
-	}
+        Store_field(domlist, 0, Val_dominfo(&c_domlist[i]));
+    }
 
-	libxl_dominfo_list_free(c_domlist, nb);
+    libxl_dominfo_list_free(c_domlist, nb);
 
-	CAMLreturn(domlist);
+    CAMLreturn(domlist);
 }
 
 value stub_xl_dominfo_get(value ctx, value domid)
 {
-	CAMLparam2(ctx, domid);
-	CAMLlocal1(dominfo);
-	libxl_dominfo c_dominfo;
-	int ret;
-	uint32_t c_domid = Int_val(domid);
+    CAMLparam2(ctx, domid);
+    CAMLlocal1(dominfo);
+    libxl_dominfo c_dominfo;
+    int ret;
+    uint32_t c_domid = Int_val(domid);
 
-	caml_enter_blocking_section();
-	ret = libxl_domain_info(CTX, &c_dominfo, c_domid);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_domain_info(CTX, &c_dominfo, c_domid);
+    caml_leave_blocking_section();
 
-	if (ret != 0)
-		failwith_xl(ERROR_FAIL, "domain_info");
-	dominfo = Val_dominfo(&c_dominfo);
+    if (ret != 0)
+        failwith_xl(ERROR_FAIL, "domain_info");
+    dominfo = Val_dominfo(&c_dominfo);
 
-	CAMLreturn(dominfo);
+    CAMLreturn(dominfo);
 }
 
 value stub_xl_domain_sched_params_get(value ctx, value domid)
 {
-	CAMLparam2(ctx, domid);
-	CAMLlocal1(scinfo);
-	libxl_domain_sched_params c_scinfo;
-	int ret;
-	uint32_t c_domid = Int_val(domid);
+    CAMLparam2(ctx, domid);
+    CAMLlocal1(scinfo);
+    libxl_domain_sched_params c_scinfo;
+    int ret;
+    uint32_t c_domid = Int_val(domid);
 
-	caml_enter_blocking_section();
-	ret = libxl_domain_sched_params_get(CTX, c_domid, &c_scinfo);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_domain_sched_params_get(CTX, c_domid, &c_scinfo);
+    caml_leave_blocking_section();
 
-	if (ret != 0)
-		failwith_xl(ret, "domain_sched_params_get");
+    if (ret != 0)
+        failwith_xl(ret, "domain_sched_params_get");
 
-	scinfo = Val_domain_sched_params(&c_scinfo);
+    scinfo = Val_domain_sched_params(&c_scinfo);
 
-	libxl_domain_sched_params_dispose(&c_scinfo);
+    libxl_domain_sched_params_dispose(&c_scinfo);
 
-	CAMLreturn(scinfo);
+    CAMLreturn(scinfo);
 }
 
 value stub_xl_domain_sched_params_set(value ctx, value domid, value scinfo)
 {
-	CAMLparam3(ctx, domid, scinfo);
-	libxl_domain_sched_params c_scinfo;
-	int ret;
-	uint32_t c_domid = Int_val(domid);
+    CAMLparam3(ctx, domid, scinfo);
+    libxl_domain_sched_params c_scinfo;
+    int ret;
+    uint32_t c_domid = Int_val(domid);
 
-	domain_sched_params_val(CTX, &c_scinfo, scinfo);
+    domain_sched_params_val(CTX, &c_scinfo, scinfo);
 
-	caml_enter_blocking_section();
-	ret = libxl_domain_sched_params_set(CTX, c_domid, &c_scinfo);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_domain_sched_params_set(CTX, c_domid, &c_scinfo);
+    caml_leave_blocking_section();
 
-	libxl_domain_sched_params_dispose(&c_scinfo);
+    libxl_domain_sched_params_dispose(&c_scinfo);
 
-	if (ret != 0)
-		failwith_xl(ret, "domain_sched_params_set");
+    if (ret != 0)
+        failwith_xl(ret, "domain_sched_params_set");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 value stub_xl_send_trigger(value ctx, value domid, value trigger, value vcpuid, value async)
 {
-	CAMLparam5(ctx, domid, trigger, vcpuid, async);
-	int ret;
-	uint32_t c_domid = Int_val(domid);
-	libxl_trigger c_trigger = LIBXL_TRIGGER_UNKNOWN;
-	int c_vcpuid = Int_val(vcpuid);
-	libxl_asyncop_how *ao_how = aohow_val(async);
+    CAMLparam5(ctx, domid, trigger, vcpuid, async);
+    int ret;
+    uint32_t c_domid = Int_val(domid);
+    libxl_trigger c_trigger = LIBXL_TRIGGER_UNKNOWN;
+    int c_vcpuid = Int_val(vcpuid);
+    libxl_asyncop_how *ao_how = aohow_val(async);
 
-	trigger_val(CTX, &c_trigger, trigger);
+    trigger_val(CTX, &c_trigger, trigger);
 
-	caml_enter_blocking_section();
-	ret = libxl_send_trigger(CTX, c_domid, c_trigger, c_vcpuid, ao_how);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_send_trigger(CTX, c_domid, c_trigger, c_vcpuid, ao_how);
+    caml_leave_blocking_section();
 
-	free(ao_how);
+    free(ao_how);
 
-	if (ret != 0)
-		failwith_xl(ret, "send_trigger");
+    if (ret != 0)
+        failwith_xl(ret, "send_trigger");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 value stub_xl_send_sysrq(value ctx, value domid, value sysrq)
 {
-	CAMLparam3(ctx, domid, sysrq);
-	int ret;
-	uint32_t c_domid = Int_val(domid);
-	int c_sysrq = Int_val(sysrq);
+    CAMLparam3(ctx, domid, sysrq);
+    int ret;
+    uint32_t c_domid = Int_val(domid);
+    int c_sysrq = Int_val(sysrq);
 
-	caml_enter_blocking_section();
-	ret = libxl_send_sysrq(CTX, c_domid, c_sysrq);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_send_sysrq(CTX, c_domid, c_sysrq);
+    caml_leave_blocking_section();
 
-	if (ret != 0)
-		failwith_xl(ret, "send_sysrq");
+    if (ret != 0)
+        failwith_xl(ret, "send_sysrq");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 value stub_xl_send_debug_keys(value ctx, value keys)
 {
-	CAMLparam2(ctx, keys);
-	int ret;
-	char *c_keys;
+    CAMLparam2(ctx, keys);
+    int ret;
+    char *c_keys;
 
-	c_keys = dup_String_val(keys);
+    c_keys = dup_String_val(keys);
 
-	caml_enter_blocking_section();
-	ret = libxl_send_debug_keys(CTX, c_keys);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_send_debug_keys(CTX, c_keys);
+    caml_leave_blocking_section();
 
-	free(c_keys);
+    free(c_keys);
 
-	if (ret != 0)
-		failwith_xl(ret, "send_debug_keys");
+    if (ret != 0)
+        failwith_xl(ret, "send_debug_keys");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 static struct custom_operations libxl_console_reader_custom_operations = {
-	"libxl_console_reader_custom_operations",
-	custom_finalize_default,
-	custom_compare_default,
-	custom_hash_default,
-	custom_serialize_default,
-	custom_deserialize_default
+    "libxl_console_reader_custom_operations",
+    custom_finalize_default,
+    custom_compare_default,
+    custom_hash_default,
+    custom_serialize_default,
+    custom_deserialize_default
 };
 
 #define Console_reader_val(x)(*((libxl_xen_console_reader **) Data_custom_val(x)))
 
 value stub_libxl_xen_console_read_start(value ctx, value clear)
 {
-	CAMLparam2(ctx, clear);
-	CAMLlocal1(handle);
-	int c_clear = Int_val(clear);
-	libxl_xen_console_reader *cr;
+    CAMLparam2(ctx, clear);
+    CAMLlocal1(handle);
+    int c_clear = Int_val(clear);
+    libxl_xen_console_reader *cr;
 
-	caml_enter_blocking_section();
-	cr = libxl_xen_console_read_start(CTX, c_clear);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    cr = libxl_xen_console_read_start(CTX, c_clear);
+    caml_leave_blocking_section();
 
-	handle = caml_alloc_custom(&libxl_console_reader_custom_operations, sizeof(cr), 0, 1);
-	Console_reader_val(handle) = cr;
+    handle = caml_alloc_custom(&libxl_console_reader_custom_operations, sizeof(cr), 0, 1);
+    Console_reader_val(handle) = cr;
 
-	CAMLreturn(handle);
+    CAMLreturn(handle);
 }
 
 static void raise_eof(void)
 {
-	static const value *exc = NULL;
+    static const value *exc = NULL;
 
-	/* First time around, lookup by name */
-	if (!exc)
-		exc = caml_named_value("Xenlight.Host.End_of_file");
+    /* First time around, lookup by name */
+    if (!exc)
+        exc = caml_named_value("Xenlight.Host.End_of_file");
 
-	if (!exc)
-		caml_invalid_argument("Exception Xenlight.Host.End_of_file not initialized, please link xenlight.cma");
+    if (!exc)
+        caml_invalid_argument("Exception Xenlight.Host.End_of_file not initialized, please link xenlight.cma");
 
-	caml_raise_constant(*exc);
+    caml_raise_constant(*exc);
 }
 
 value stub_libxl_xen_console_read_line(value ctx, value reader)
 {
-	CAMLparam2(ctx, reader);
-	CAMLlocal1(line);
-	int ret;
-	char *c_line;
-	libxl_xen_console_reader *cr = (libxl_xen_console_reader *) Console_reader_val(reader);
+    CAMLparam2(ctx, reader);
+    CAMLlocal1(line);
+    int ret;
+    char *c_line;
+    libxl_xen_console_reader *cr = (libxl_xen_console_reader *) Console_reader_val(reader);
 
-	caml_enter_blocking_section();
-	ret = libxl_xen_console_read_line(CTX, cr, &c_line);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    ret = libxl_xen_console_read_line(CTX, cr, &c_line);
+    caml_leave_blocking_section();
 
-	if (ret < 0)
-		failwith_xl(ret, "xen_console_read_line");
-	if (ret == 0)
-		raise_eof();
+    if (ret < 0)
+        failwith_xl(ret, "xen_console_read_line");
+    if (ret == 0)
+        raise_eof();
 
-	line = caml_copy_string(c_line);
+    line = caml_copy_string(c_line);
 
-	CAMLreturn(line);
+    CAMLreturn(line);
 }
 
 value stub_libxl_xen_console_read_finish(value ctx, value reader)
 {
-	CAMLparam2(ctx, reader);
-	libxl_xen_console_reader *cr = (libxl_xen_console_reader *) Console_reader_val(reader);
+    CAMLparam2(ctx, reader);
+    libxl_xen_console_reader *cr = (libxl_xen_console_reader *) Console_reader_val(reader);
 
-	caml_enter_blocking_section();
-	libxl_xen_console_read_finish(CTX, cr);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    libxl_xen_console_read_finish(CTX, cr);
+    caml_leave_blocking_section();
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 /* Event handling */
 
 short Poll_val(value event)
 {
-	CAMLparam1(event);
-	short res = -1;
+    CAMLparam1(event);
+    short res = -1;
 
-	switch (Int_val(event)) {
-		case 0: res = POLLIN; break;
-		case 1: res = POLLPRI; break;
-		case 2: res = POLLOUT; break;
-		case 3: res = POLLERR; break;
-		case 4: res = POLLHUP; break;
-		case 5: res = POLLNVAL; break;
-	}
+    switch (Int_val(event)) {
+        case 0: res = POLLIN; break;
+        case 1: res = POLLPRI; break;
+        case 2: res = POLLOUT; break;
+        case 3: res = POLLERR; break;
+        case 4: res = POLLHUP; break;
+        case 5: res = POLLNVAL; break;
+    }
 
-	CAMLreturn(res);
+    CAMLreturn(res);
 }
 
 short Poll_events_val(value event_list)
 {
-	CAMLparam1(event_list);
-	short events = 0;
+    CAMLparam1(event_list);
+    short events = 0;
 
-	while (event_list != Val_emptylist) {
-		events |= Poll_val(Field(event_list, 0));
-		event_list = Field(event_list, 1);
-	}
+    while (event_list != Val_emptylist) {
+        events |= Poll_val(Field(event_list, 0));
+        event_list = Field(event_list, 1);
+    }
 
-	CAMLreturn(events);
+    CAMLreturn(events);
 }
 
 value Val_poll(short event)
 {
-	CAMLparam0();
-	CAMLlocal1(res);
+    CAMLparam0();
+    CAMLlocal1(res);
 
-	switch (event) {
-		case POLLIN: res = Val_int(0); break;
-		case POLLPRI: res = Val_int(1); break;
-		case POLLOUT: res = Val_int(2); break;
-		case POLLERR: res = Val_int(3); break;
-		case POLLHUP: res = Val_int(4); break;
-		case POLLNVAL: res = Val_int(5); break;
-		default: failwith_xl(ERROR_FAIL, "cannot convert poll event value"); break;
-	}
+    switch (event) {
+        case POLLIN: res = Val_int(0); break;
+        case POLLPRI: res = Val_int(1); break;
+        case POLLOUT: res = Val_int(2); break;
+        case POLLERR: res = Val_int(3); break;
+        case POLLHUP: res = Val_int(4); break;
+        case POLLNVAL: res = Val_int(5); break;
+        default: failwith_xl(ERROR_FAIL, "cannot convert poll event value"); break;
+    }
 
-	CAMLreturn(res);
+    CAMLreturn(res);
 }
 
 value add_event(value event_list, short event)
 {
-	CAMLparam1(event_list);
-	CAMLlocal1(new_list);
+    CAMLparam1(event_list);
+    CAMLlocal1(new_list);
 
-	new_list = caml_alloc(2, 0);
-	Store_field(new_list, 0, Val_poll(event));
-	Store_field(new_list, 1, event_list);
+    new_list = caml_alloc(2, 0);
+    Store_field(new_list, 0, Val_poll(event));
+    Store_field(new_list, 1, event_list);
 
-	CAMLreturn(new_list);
+    CAMLreturn(new_list);
 }
 
 value Val_poll_events(short events)
 {
-	CAMLparam0();
-	CAMLlocal1(event_list);
+    CAMLparam0();
+    CAMLlocal1(event_list);
 
-	event_list = Val_emptylist;
-	if (events & POLLIN)
-		event_list = add_event(event_list, POLLIN);
-	if (events & POLLPRI)
-		event_list = add_event(event_list, POLLPRI);
-	if (events & POLLOUT)
-		event_list = add_event(event_list, POLLOUT);
-	if (events & POLLERR)
-		event_list = add_event(event_list, POLLERR);
-	if (events & POLLHUP)
-		event_list = add_event(event_list, POLLHUP);
-	if (events & POLLNVAL)
-		event_list = add_event(event_list, POLLNVAL);
+    event_list = Val_emptylist;
+    if (events & POLLIN)
+        event_list = add_event(event_list, POLLIN);
+    if (events & POLLPRI)
+        event_list = add_event(event_list, POLLPRI);
+    if (events & POLLOUT)
+        event_list = add_event(event_list, POLLOUT);
+    if (events & POLLERR)
+        event_list = add_event(event_list, POLLERR);
+    if (events & POLLHUP)
+        event_list = add_event(event_list, POLLHUP);
+    if (events & POLLNVAL)
+        event_list = add_event(event_list, POLLNVAL);
 
-	CAMLreturn(event_list);
+    CAMLreturn(event_list);
 }
 
 /* The process for dealing with the for_app_registration_  values in the
@@ -1273,385 +1273,385 @@ value Val_poll_events(short events)
 int fd_register(void *user, int fd, void **for_app_registration_out,
                      short events, void *for_libxl)
 {
-	caml_leave_blocking_section();
-	CAMLparam0();
-	CAMLlocalN(args, 4);
-	int ret = 0;
-	static const value *func = NULL;
-	value *p = (value *) user;
-	value *for_app;
+    caml_leave_blocking_section();
+    CAMLparam0();
+    CAMLlocalN(args, 4);
+    int ret = 0;
+    static const value *func = NULL;
+    value *p = (value *) user;
+    value *for_app;
 
-	if (func == NULL) {
-		/* First time around, lookup by name */
-		func = caml_named_value("libxl_fd_register");
-	}
+    if (func == NULL) {
+        /* First time around, lookup by name */
+        func = caml_named_value("libxl_fd_register");
+    }
 
-	args[0] = *p;
-	args[1] = Val_int(fd);
-	args[2] = Val_poll_events(events);
-	args[3] = (value) for_libxl;
+    args[0] = *p;
+    args[1] = Val_int(fd);
+    args[2] = Val_poll_events(events);
+    args[3] = (value) for_libxl;
 
-	for_app = malloc(sizeof(value));
-	if (!for_app) {
-		ret = ERROR_OSEVENT_REG_FAIL;
-		goto err;
-	}
+    for_app = malloc(sizeof(value));
+    if (!for_app) {
+        ret = ERROR_OSEVENT_REG_FAIL;
+        goto err;
+    }
 
-	*for_app = caml_callbackN_exn(*func, 4, args);
-	if (Is_exception_result(*for_app)) {
-		ret = ERROR_OSEVENT_REG_FAIL;
-		free(for_app);
-		goto err;
-	}
+    *for_app = caml_callbackN_exn(*func, 4, args);
+    if (Is_exception_result(*for_app)) {
+        ret = ERROR_OSEVENT_REG_FAIL;
+        free(for_app);
+        goto err;
+    }
 
-	caml_register_global_root(for_app);
-	*for_app_registration_out = for_app;
+    caml_register_global_root(for_app);
+    *for_app_registration_out = for_app;
 
 err:
-	CAMLdone;
-	caml_enter_blocking_section();
-	return ret;
+    CAMLdone;
+    caml_enter_blocking_section();
+    return ret;
 }
 
 int fd_modify(void *user, int fd, void **for_app_registration_update,
                    short events)
 {
-	caml_leave_blocking_section();
-	CAMLparam0();
-	CAMLlocalN(args, 4);
-	int ret = 0;
-	static const value *func = NULL;
-	value *p = (value *) user;
-	value *for_app = *for_app_registration_update;
+    caml_leave_blocking_section();
+    CAMLparam0();
+    CAMLlocalN(args, 4);
+    int ret = 0;
+    static const value *func = NULL;
+    value *p = (value *) user;
+    value *for_app = *for_app_registration_update;
 
-	/* If for_app == NULL, then something is very wrong */
-	assert(for_app);
+    /* If for_app == NULL, then something is very wrong */
+    assert(for_app);
 
-	if (func == NULL) {
-		/* First time around, lookup by name */
-		func = caml_named_value("libxl_fd_modify");
-	}
+    if (func == NULL) {
+        /* First time around, lookup by name */
+        func = caml_named_value("libxl_fd_modify");
+    }
 
-	args[0] = *p;
-	args[1] = Val_int(fd);
-	args[2] = *for_app;
-	args[3] = Val_poll_events(events);
+    args[0] = *p;
+    args[1] = Val_int(fd);
+    args[2] = *for_app;
+    args[3] = Val_poll_events(events);
 
-	*for_app = caml_callbackN_exn(*func, 4, args);
-	if (Is_exception_result(*for_app)) {
-		/* If an exception is caught, *for_app_registration_update is not
-		 * changed. It remains a valid pointer to a value that is registered
-		 * with the GC. */
-		ret = ERROR_OSEVENT_REG_FAIL;
-		goto err;
-	}
+    *for_app = caml_callbackN_exn(*func, 4, args);
+    if (Is_exception_result(*for_app)) {
+        /* If an exception is caught, *for_app_registration_update is not
+         * changed. It remains a valid pointer to a value that is registered
+         * with the GC. */
+        ret = ERROR_OSEVENT_REG_FAIL;
+        goto err;
+    }
 
-	*for_app_registration_update = for_app;
+    *for_app_registration_update = for_app;
 
 err:
-	CAMLdone;
-	caml_enter_blocking_section();
-	return ret;
+    CAMLdone;
+    caml_enter_blocking_section();
+    return ret;
 }
 
 void fd_deregister(void *user, int fd, void *for_app_registration)
 {
-	caml_leave_blocking_section();
-	CAMLparam0();
-	CAMLlocalN(args, 3);
-	static const value *func = NULL;
-	value *p = (value *) user;
-	value *for_app = for_app_registration;
+    caml_leave_blocking_section();
+    CAMLparam0();
+    CAMLlocalN(args, 3);
+    static const value *func = NULL;
+    value *p = (value *) user;
+    value *for_app = for_app_registration;
 
-	/* If for_app == NULL, then something is very wrong */
-	assert(for_app);
+    /* If for_app == NULL, then something is very wrong */
+    assert(for_app);
 
-	if (func == NULL) {
-		/* First time around, lookup by name */
-		func = caml_named_value("libxl_fd_deregister");
-	}
+    if (func == NULL) {
+        /* First time around, lookup by name */
+        func = caml_named_value("libxl_fd_deregister");
+    }
 
-	args[0] = *p;
-	args[1] = Val_int(fd);
-	args[2] = *for_app;
+    args[0] = *p;
+    args[1] = Val_int(fd);
+    args[2] = *for_app;
 
-	caml_callbackN_exn(*func, 3, args);
-	/* This hook does not return error codes, so the best thing we can do
-	 * to avoid trouble, if we catch an exception from the app, is abort. */
-	if (Is_exception_result(*for_app))
-		abort();
+    caml_callbackN_exn(*func, 3, args);
+    /* This hook does not return error codes, so the best thing we can do
+     * to avoid trouble, if we catch an exception from the app, is abort. */
+    if (Is_exception_result(*for_app))
+        abort();
 
-	caml_remove_global_root(for_app);
-	free(for_app);
+    caml_remove_global_root(for_app);
+    free(for_app);
 
-	CAMLdone;
-	caml_enter_blocking_section();
+    CAMLdone;
+    caml_enter_blocking_section();
 }
 
 struct timeout_handles {
-	void *for_libxl;
-	value for_app;
+    void *for_libxl;
+    value for_app;
 };
 
 int timeout_register(void *user, void **for_app_registration_out,
                           struct timeval abs, void *for_libxl)
 {
-	caml_leave_blocking_section();
-	CAMLparam0();
-	CAMLlocal2(sec, usec);
-	CAMLlocalN(args, 4);
-	int ret = 0;
-	static const value *func = NULL;
-	value *p = (value *) user;
-	struct timeout_handles *handles;
+    caml_leave_blocking_section();
+    CAMLparam0();
+    CAMLlocal2(sec, usec);
+    CAMLlocalN(args, 4);
+    int ret = 0;
+    static const value *func = NULL;
+    value *p = (value *) user;
+    struct timeout_handles *handles;
 
-	if (func == NULL) {
-		/* First time around, lookup by name */
-		func = caml_named_value("libxl_timeout_register");
-	}
+    if (func == NULL) {
+        /* First time around, lookup by name */
+        func = caml_named_value("libxl_timeout_register");
+    }
 
-	sec = caml_copy_int64(abs.tv_sec);
-	usec = caml_copy_int64(abs.tv_usec);
+    sec = caml_copy_int64(abs.tv_sec);
+    usec = caml_copy_int64(abs.tv_usec);
 
-	/* This struct of "handles" will contain "for_libxl" as well as "for_app".
-	 * We'll give a pointer to the struct to the app, and get it back in
-	 * occurred_timeout, where we can clean it all up. */
-	handles = malloc(sizeof(*handles));
-	if (!handles) {
-		ret = ERROR_OSEVENT_REG_FAIL;
-		goto err;
-	}
+    /* This struct of "handles" will contain "for_libxl" as well as "for_app".
+     * We'll give a pointer to the struct to the app, and get it back in
+     * occurred_timeout, where we can clean it all up. */
+    handles = malloc(sizeof(*handles));
+    if (!handles) {
+        ret = ERROR_OSEVENT_REG_FAIL;
+        goto err;
+    }
 
-	handles->for_libxl = for_libxl;
+    handles->for_libxl = for_libxl;
 
-	args[0] = *p;
-	args[1] = sec;
-	args[2] = usec;
-	args[3] = (value) handles;
+    args[0] = *p;
+    args[1] = sec;
+    args[2] = usec;
+    args[3] = (value) handles;
 
-	handles->for_app = caml_callbackN_exn(*func, 4, args);
-	if (Is_exception_result(handles->for_app)) {
-		ret = ERROR_OSEVENT_REG_FAIL;
-		free(handles);
-		goto err;
-	}
+    handles->for_app = caml_callbackN_exn(*func, 4, args);
+    if (Is_exception_result(handles->for_app)) {
+        ret = ERROR_OSEVENT_REG_FAIL;
+        free(handles);
+        goto err;
+    }
 
-	caml_register_global_root(&handles->for_app);
-	*for_app_registration_out = handles;
+    caml_register_global_root(&handles->for_app);
+    *for_app_registration_out = handles;
 
 err:
-	CAMLdone;
-	caml_enter_blocking_section();
-	return ret;
+    CAMLdone;
+    caml_enter_blocking_section();
+    return ret;
 }
 
 int timeout_modify(void *user, void **for_app_registration_update,
                          struct timeval abs)
 {
-	caml_leave_blocking_section();
-	CAMLparam0();
-	CAMLlocal1(for_app_update);
-	CAMLlocalN(args, 2);
-	int ret = 0;
-	static const value *func = NULL;
-	value *p = (value *) user;
-	struct timeout_handles *handles = *for_app_registration_update;
+    caml_leave_blocking_section();
+    CAMLparam0();
+    CAMLlocal1(for_app_update);
+    CAMLlocalN(args, 2);
+    int ret = 0;
+    static const value *func = NULL;
+    value *p = (value *) user;
+    struct timeout_handles *handles = *for_app_registration_update;
 
-	/* If for_app == NULL, then something is very wrong */
-	assert(handles->for_app);
+    /* If for_app == NULL, then something is very wrong */
+    assert(handles->for_app);
 
-	/* Libxl currently promises that timeout_modify is only ever called with
-	 * abs={0,0}, meaning "right away". We cannot deal with other values. */
-	assert(abs.tv_sec == 0 && abs.tv_usec == 0);
+    /* Libxl currently promises that timeout_modify is only ever called with
+     * abs={0,0}, meaning "right away". We cannot deal with other values. */
+    assert(abs.tv_sec == 0 && abs.tv_usec == 0);
 
-	if (func == NULL) {
-		/* First time around, lookup by name */
-		func = caml_named_value("libxl_timeout_fire_now");
-	}
+    if (func == NULL) {
+        /* First time around, lookup by name */
+        func = caml_named_value("libxl_timeout_fire_now");
+    }
 
-	args[0] = *p;
-	args[1] = handles->for_app;
+    args[0] = *p;
+    args[1] = handles->for_app;
 
-	for_app_update = caml_callbackN_exn(*func, 2, args);
-	if (Is_exception_result(for_app_update)) {
-		/* If an exception is caught, *for_app_registration_update is not
-		 * changed. It remains a valid pointer to a value that is registered
-		 * with the GC. */
-		ret = ERROR_OSEVENT_REG_FAIL;
-		goto err;
-	}
+    for_app_update = caml_callbackN_exn(*func, 2, args);
+    if (Is_exception_result(for_app_update)) {
+        /* If an exception is caught, *for_app_registration_update is not
+         * changed. It remains a valid pointer to a value that is registered
+         * with the GC. */
+        ret = ERROR_OSEVENT_REG_FAIL;
+        goto err;
+    }
 
-	handles->for_app = for_app_update;
+    handles->for_app = for_app_update;
 
 err:
-	CAMLdone;
-	caml_enter_blocking_section();
-	return ret;
+    CAMLdone;
+    caml_enter_blocking_section();
+    return ret;
 }
 
 void timeout_deregister(void *user, void *for_app_registration)
 {
-	/* This hook will never be called by libxl. */
-	abort();
+    /* This hook will never be called by libxl. */
+    abort();
 }
 
 value stub_libxl_osevent_register_hooks(value ctx, value user)
 {
-	CAMLparam2(ctx, user);
-	CAMLlocal1(result);
-	libxl_osevent_hooks *hooks;
-	value *p;
+    CAMLparam2(ctx, user);
+    CAMLlocal1(result);
+    libxl_osevent_hooks *hooks;
+    value *p;
 
-	hooks = malloc(sizeof(*hooks));
-	if (!hooks)
-		failwith_xl(ERROR_NOMEM, "cannot allocate osevent hooks");
-	hooks->fd_register = fd_register;
-	hooks->fd_modify = fd_modify;
-	hooks->fd_deregister = fd_deregister;
-	hooks->timeout_register = timeout_register;
-	hooks->timeout_modify = timeout_modify;
-	hooks->timeout_deregister = timeout_deregister;
+    hooks = malloc(sizeof(*hooks));
+    if (!hooks)
+        failwith_xl(ERROR_NOMEM, "cannot allocate osevent hooks");
+    hooks->fd_register = fd_register;
+    hooks->fd_modify = fd_modify;
+    hooks->fd_deregister = fd_deregister;
+    hooks->timeout_register = timeout_register;
+    hooks->timeout_modify = timeout_modify;
+    hooks->timeout_deregister = timeout_deregister;
 
-	p = malloc(sizeof(value));
-	if (!p)
-		failwith_xl(ERROR_NOMEM, "cannot allocate value");
-	*p = user;
-	caml_register_global_root(p);
+    p = malloc(sizeof(value));
+    if (!p)
+        failwith_xl(ERROR_NOMEM, "cannot allocate value");
+    *p = user;
+    caml_register_global_root(p);
 
-	caml_enter_blocking_section();
-	libxl_osevent_register_hooks(CTX, hooks, (void *) p);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    libxl_osevent_register_hooks(CTX, hooks, (void *) p);
+    caml_leave_blocking_section();
 
-	result = caml_alloc(1, Abstract_tag);
-	*((libxl_osevent_hooks **) result) = hooks;
+    result = caml_alloc(1, Abstract_tag);
+    *((libxl_osevent_hooks **) result) = hooks;
 
-	CAMLreturn(result);
+    CAMLreturn(result);
 }
 
 value stub_libxl_osevent_occurred_fd(value ctx, value for_libxl, value fd,
-	value events, value revents)
+    value events, value revents)
 {
-	CAMLparam5(ctx, for_libxl, fd, events, revents);
-	int c_fd = Int_val(fd);
-	short c_events = Poll_events_val(events);
-	short c_revents = Poll_events_val(revents);
+    CAMLparam5(ctx, for_libxl, fd, events, revents);
+    int c_fd = Int_val(fd);
+    short c_events = Poll_events_val(events);
+    short c_revents = Poll_events_val(revents);
 
-	caml_enter_blocking_section();
-	libxl_osevent_occurred_fd(CTX, (void *) for_libxl, c_fd, c_events, c_revents);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    libxl_osevent_occurred_fd(CTX, (void *) for_libxl, c_fd, c_events, c_revents);
+    caml_leave_blocking_section();
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 value stub_libxl_osevent_occurred_timeout(value ctx, value handles)
 {
-	CAMLparam1(ctx);
-	struct timeout_handles *c_handles = (struct timeout_handles *) handles;
+    CAMLparam1(ctx);
+    struct timeout_handles *c_handles = (struct timeout_handles *) handles;
 
-	caml_enter_blocking_section();
-	libxl_osevent_occurred_timeout(CTX, (void *) c_handles->for_libxl);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    libxl_osevent_occurred_timeout(CTX, (void *) c_handles->for_libxl);
+    caml_leave_blocking_section();
 
-	caml_remove_global_root(&c_handles->for_app);
-	free(c_handles);
+    caml_remove_global_root(&c_handles->for_app);
+    free(c_handles);
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 struct user_with_ctx {
-	libxl_ctx *ctx;
-	value user;
+    libxl_ctx *ctx;
+    value user;
 };
 
 void event_occurs(void *user, libxl_event *event)
 {
-	caml_leave_blocking_section();
-	CAMLparam0();
-	CAMLlocalN(args, 2);
-	struct user_with_ctx *c_user = (struct user_with_ctx *) user;
-	static const value *func = NULL;
+    caml_leave_blocking_section();
+    CAMLparam0();
+    CAMLlocalN(args, 2);
+    struct user_with_ctx *c_user = (struct user_with_ctx *) user;
+    static const value *func = NULL;
 
-	if (func == NULL) {
-		/* First time around, lookup by name */
-		func = caml_named_value("libxl_event_occurs_callback");
-	}
+    if (func == NULL) {
+        /* First time around, lookup by name */
+        func = caml_named_value("libxl_event_occurs_callback");
+    }
 
-	args[0] = c_user->user;
-	args[1] = Val_event(event);
-	libxl_event_free(c_user->ctx, event);
+    args[0] = c_user->user;
+    args[1] = Val_event(event);
+    libxl_event_free(c_user->ctx, event);
 
-	caml_callbackN(*func, 2, args);
-	CAMLdone;
-	caml_enter_blocking_section();
+    caml_callbackN(*func, 2, args);
+    CAMLdone;
+    caml_enter_blocking_section();
 }
 
 void disaster(void *user, libxl_event_type type,
                      const char *msg, int errnoval)
 {
-	caml_leave_blocking_section();
-	CAMLparam0();
-	CAMLlocalN(args, 4);
-	struct user_with_ctx *c_user = (struct user_with_ctx *) user;
-	static const value *func = NULL;
+    caml_leave_blocking_section();
+    CAMLparam0();
+    CAMLlocalN(args, 4);
+    struct user_with_ctx *c_user = (struct user_with_ctx *) user;
+    static const value *func = NULL;
 
-	if (func == NULL) {
-		/* First time around, lookup by name */
-		func = caml_named_value("libxl_event_disaster_callback");
-	}
+    if (func == NULL) {
+        /* First time around, lookup by name */
+        func = caml_named_value("libxl_event_disaster_callback");
+    }
 
-	args[0] = c_user->user;
-	args[1] = Val_event_type(type);
-	args[2] = caml_copy_string(msg);
-	args[3] = Val_int(errnoval);
+    args[0] = c_user->user;
+    args[1] = Val_event_type(type);
+    args[2] = caml_copy_string(msg);
+    args[3] = Val_int(errnoval);
 
-	caml_callbackN(*func, 4, args);
-	CAMLdone;
-	caml_enter_blocking_section();
+    caml_callbackN(*func, 4, args);
+    CAMLdone;
+    caml_enter_blocking_section();
 }
 
 value stub_libxl_event_register_callbacks(value ctx, value user)
 {
-	CAMLparam2(ctx, user);
-	CAMLlocal1(result);
-	struct user_with_ctx *c_user = NULL;
-	libxl_event_hooks *hooks;
+    CAMLparam2(ctx, user);
+    CAMLlocal1(result);
+    struct user_with_ctx *c_user = NULL;
+    libxl_event_hooks *hooks;
 
-	c_user = malloc(sizeof(*c_user));
-	if (!c_user)
-		failwith_xl(ERROR_NOMEM, "cannot allocate user value");
-	c_user->user = user;
-	c_user->ctx = CTX;
-	caml_register_global_root(&c_user->user);
+    c_user = malloc(sizeof(*c_user));
+    if (!c_user)
+        failwith_xl(ERROR_NOMEM, "cannot allocate user value");
+    c_user->user = user;
+    c_user->ctx = CTX;
+    caml_register_global_root(&c_user->user);
 
-	hooks = malloc(sizeof(*hooks));
-	if (!hooks)
-		failwith_xl(ERROR_NOMEM, "cannot allocate event hooks");
-	hooks->event_occurs_mask = LIBXL_EVENTMASK_ALL;
-	hooks->event_occurs = event_occurs;
-	hooks->disaster = disaster;
+    hooks = malloc(sizeof(*hooks));
+    if (!hooks)
+        failwith_xl(ERROR_NOMEM, "cannot allocate event hooks");
+    hooks->event_occurs_mask = LIBXL_EVENTMASK_ALL;
+    hooks->event_occurs = event_occurs;
+    hooks->disaster = disaster;
 
-	caml_enter_blocking_section();
-	libxl_event_register_callbacks(CTX, hooks, (void *) c_user);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    libxl_event_register_callbacks(CTX, hooks, (void *) c_user);
+    caml_leave_blocking_section();
 
-	result = caml_alloc(1, Abstract_tag);
-	*((libxl_event_hooks **) result) = hooks;
+    result = caml_alloc(1, Abstract_tag);
+    *((libxl_event_hooks **) result) = hooks;
 
-	CAMLreturn(result);
+    CAMLreturn(result);
 }
 
 value stub_libxl_evenable_domain_death(value ctx, value domid, value user)
 {
-	CAMLparam3(ctx, domid, user);
-	uint32_t c_domid = Int_val(domid);
-	int c_user = Int_val(user);
-	libxl_evgen_domain_death *evgen_out;
+    CAMLparam3(ctx, domid, user);
+    uint32_t c_domid = Int_val(domid);
+    int c_user = Int_val(user);
+    libxl_evgen_domain_death *evgen_out;
 
-	caml_enter_blocking_section();
-	libxl_evenable_domain_death(CTX, c_domid, c_user, &evgen_out);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    libxl_evenable_domain_death(CTX, c_domid, c_user, &evgen_out);
+    caml_leave_blocking_section();
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 /*
diff --git a/tools/ocaml/libs/xs/queueop.ml b/tools/ocaml/libs/xs/queueop.ml
index 4e532cdaea..e069ab7a9c 100644
--- a/tools/ocaml/libs/xs/queueop.ml
+++ b/tools/ocaml/libs/xs/queueop.ml
@@ -18,8 +18,8 @@ open Xenbus
 let data_concat ls = (String.concat "\000" ls) ^ "\000"
 let queue con pkt = let r = Xb.queue con pkt in assert (r <> None)
 let queue_path ty (tid: int) (path: string) con =
-	let data = data_concat [ path; ] in
-	queue con (Xb.Packet.create tid 0 ty data)
+  let data = data_concat [ path; ] in
+  queue con (Xb.Packet.create tid 0 ty data)
 
 (* operations *)
 let directory tid path con = queue_path Xb.Op.Directory tid path con
@@ -28,48 +28,48 @@ let read tid path con = queue_path Xb.Op.Read tid path con
 let getperms tid path con = queue_path Xb.Op.Getperms tid path con
 
 let debug commands con =
-	queue con (Xb.Packet.create 0 0 Xb.Op.Debug (data_concat commands))
+  queue con (Xb.Packet.create 0 0 Xb.Op.Debug (data_concat commands))
 
 let watch path data con =
-	let data = data_concat [ path; data; ] in
-	queue con (Xb.Packet.create 0 0 Xb.Op.Watch data)
+  let data = data_concat [ path; data; ] in
+  queue con (Xb.Packet.create 0 0 Xb.Op.Watch data)
 
 let unwatch path data con =
-	let data = data_concat [ path; data; ] in
-	queue con (Xb.Packet.create 0 0 Xb.Op.Unwatch data)
+  let data = data_concat [ path; data; ] in
+  queue con (Xb.Packet.create 0 0 Xb.Op.Unwatch data)
 
 let transaction_start con =
-	queue con (Xb.Packet.create 0 0 Xb.Op.Transaction_start (data_concat []))
+  queue con (Xb.Packet.create 0 0 Xb.Op.Transaction_start (data_concat []))
 
 let transaction_end tid commit con =
-	let data = data_concat [ (if commit then "T" else "F"); ] in
-	queue con (Xb.Packet.create tid 0 Xb.Op.Transaction_end data)
+  let data = data_concat [ (if commit then "T" else "F"); ] in
+  queue con (Xb.Packet.create tid 0 Xb.Op.Transaction_end data)
 
 let introduce domid mfn port con =
-	let data = data_concat [ Printf.sprintf "%u" domid;
-	                         Printf.sprintf "%nu" mfn;
-	                         string_of_int port; ] in
-	queue con (Xb.Packet.create 0 0 Xb.Op.Introduce data)
+  let data = data_concat [ Printf.sprintf "%u" domid;
+                           Printf.sprintf "%nu" mfn;
+                           string_of_int port; ] in
+  queue con (Xb.Packet.create 0 0 Xb.Op.Introduce data)
 
 let release domid con =
-	let data = data_concat [ Printf.sprintf "%u" domid; ] in
-	queue con (Xb.Packet.create 0 0 Xb.Op.Release data)
+  let data = data_concat [ Printf.sprintf "%u" domid; ] in
+  queue con (Xb.Packet.create 0 0 Xb.Op.Release data)
 
 let resume domid con =
-	let data = data_concat [ Printf.sprintf "%u" domid; ] in
-	queue con (Xb.Packet.create 0 0 Xb.Op.Resume data)
+  let data = data_concat [ Printf.sprintf "%u" domid; ] in
+  queue con (Xb.Packet.create 0 0 Xb.Op.Resume data)
 
 let getdomainpath domid con =
-	let data = data_concat [ Printf.sprintf "%u" domid; ] in
-	queue con (Xb.Packet.create 0 0 Xb.Op.Getdomainpath data)
+  let data = data_concat [ Printf.sprintf "%u" domid; ] in
+  queue con (Xb.Packet.create 0 0 Xb.Op.Getdomainpath data)
 
 let write tid path value con =
-	let data = path ^ "\000" ^ value (* no NULL at the end *) in
-	queue con (Xb.Packet.create tid 0 Xb.Op.Write data)
+  let data = path ^ "\000" ^ value (* no NULL at the end *) in
+  queue con (Xb.Packet.create tid 0 Xb.Op.Write data)
 
 let mkdir tid path con = queue_path Xb.Op.Mkdir tid path con
 let rm tid path con = queue_path Xb.Op.Rm tid path con
 
 let setperms tid path perms con =
-	let data = data_concat [ path; perms ] in
-	queue con (Xb.Packet.create tid 0 Xb.Op.Setperms data)
+  let data = data_concat [ path; perms ] in
+  queue con (Xb.Packet.create tid 0 Xb.Op.Setperms data)
diff --git a/tools/ocaml/libs/xs/xs.ml b/tools/ocaml/libs/xs/xs.ml
index 90bd68d73d..addccc8009 100644
--- a/tools/ocaml/libs/xs/xs.ml
+++ b/tools/ocaml/libs/xs/xs.ml
@@ -19,46 +19,46 @@ type con = Xsraw.con
 type domid = int
 
 type xsh =
-{
-	con: con;
-	debug: string list -> string;
-	directory: string -> string list;
-	read: string -> string;
-	readv: string -> string list -> string list;
-	write: string -> string -> unit;
-	writev: string -> (string * string) list -> unit;
-	mkdir: string -> unit;
-	rm: string -> unit;
-	getperms: string -> perms;
-	setperms: string -> perms -> unit;
-	setpermsv: string -> string list -> perms -> unit;
-	introduce: domid -> nativeint -> int -> unit;
-	release: domid -> unit;
-	resume: domid -> unit;
-	getdomainpath: domid -> string;
-	watch: string -> string -> unit;
-	unwatch: string -> string -> unit;
-}
+  {
+    con: con;
+    debug: string list -> string;
+    directory: string -> string list;
+    read: string -> string;
+    readv: string -> string list -> string list;
+    write: string -> string -> unit;
+    writev: string -> (string * string) list -> unit;
+    mkdir: string -> unit;
+    rm: string -> unit;
+    getperms: string -> perms;
+    setperms: string -> perms -> unit;
+    setpermsv: string -> string list -> perms -> unit;
+    introduce: domid -> nativeint -> int -> unit;
+    release: domid -> unit;
+    resume: domid -> unit;
+    getdomainpath: domid -> string;
+    watch: string -> string -> unit;
+    unwatch: string -> string -> unit;
+  }
 
 let get_operations con = {
-	con = con;
-	debug = (fun commands -> Xsraw.debug commands con);
-	directory = (fun path -> Xsraw.directory 0 path con);
-	read = (fun path -> Xsraw.read 0 path con);
-	readv = (fun dir vec -> Xsraw.readv 0 dir vec con);
-	write = (fun path value -> Xsraw.write 0 path value con);
-	writev = (fun dir vec -> Xsraw.writev 0 dir vec con);
-	mkdir = (fun path -> Xsraw.mkdir 0 path con);
-	rm = (fun path -> Xsraw.rm 0 path con);
-	getperms = (fun path -> Xsraw.getperms 0 path con);
-	setperms = (fun path perms -> Xsraw.setperms 0 path perms con);
-	setpermsv = (fun dir vec perms -> Xsraw.setpermsv 0 dir vec perms con);
-	introduce = (fun id mfn port -> Xsraw.introduce id mfn port con);
-	release = (fun id -> Xsraw.release id con);
-	resume = (fun id -> Xsraw.resume id con);
-	getdomainpath = (fun id -> Xsraw.getdomainpath id con);
-	watch = (fun path data -> Xsraw.watch path data con);
-	unwatch = (fun path data -> Xsraw.unwatch path data con);
+  con = con;
+  debug = (fun commands -> Xsraw.debug commands con);
+  directory = (fun path -> Xsraw.directory 0 path con);
+  read = (fun path -> Xsraw.read 0 path con);
+  readv = (fun dir vec -> Xsraw.readv 0 dir vec con);
+  write = (fun path value -> Xsraw.write 0 path value con);
+  writev = (fun dir vec -> Xsraw.writev 0 dir vec con);
+  mkdir = (fun path -> Xsraw.mkdir 0 path con);
+  rm = (fun path -> Xsraw.rm 0 path con);
+  getperms = (fun path -> Xsraw.getperms 0 path con);
+  setperms = (fun path perms -> Xsraw.setperms 0 path perms con);
+  setpermsv = (fun dir vec perms -> Xsraw.setpermsv 0 dir vec perms con);
+  introduce = (fun id mfn port -> Xsraw.introduce id mfn port con);
+  release = (fun id -> Xsraw.release id con);
+  resume = (fun id -> Xsraw.resume id con);
+  getdomainpath = (fun id -> Xsraw.getdomainpath id con);
+  watch = (fun path data -> Xsraw.watch path data con);
+  unwatch = (fun path data -> Xsraw.unwatch path data con);
 }
 
 let transaction xsh = Xst.transaction xsh.con
@@ -81,71 +81,71 @@ exception Timeout_with_nonempty_queue
 let max_blocking_time = 5. (* seconds *)
 
 let read_watchevent_timeout xsh timeout callback =
-	let start_time = Unix.gettimeofday () in
-	let end_time = start_time +. timeout in
+  let start_time = Unix.gettimeofday () in
+  let end_time = start_time +. timeout in
 
-	let left = ref timeout in
+  let left = ref timeout in
 
-	(* Returns true if a watch event in the queue satisfied us *)
-	let process_queued_events () =
-		let success = ref false in
-		while Xsraw.has_watchevents xsh.con && not(!success)
-		do
-			success := callback (Xsraw.get_watchevent xsh.con)
-		done;
-		!success in
-	(* Returns true if a watch event read from the socket satisfied us *)
-	let process_incoming_event () =
-		let fd = get_fd xsh in
-		let r, _, _ = Unix.select [ fd ] [] [] (min max_blocking_time !left) in
+  (* Returns true if a watch event in the queue satisfied us *)
+  let process_queued_events () =
+    let success = ref false in
+    while Xsraw.has_watchevents xsh.con && not(!success)
+    do
+      success := callback (Xsraw.get_watchevent xsh.con)
+    done;
+    !success in
+  (* Returns true if a watch event read from the socket satisfied us *)
+  let process_incoming_event () =
+    let fd = get_fd xsh in
+    let r, _, _ = Unix.select [ fd ] [] [] (min max_blocking_time !left) in
 
-		(* If data is available for reading then read it *)
-		if r = []
-		then false (* timeout, either a max_blocking_time or global *)
-		else callback (Xsraw.read_watchevent xsh.con) in
+    (* If data is available for reading then read it *)
+    if r = []
+    then false (* timeout, either a max_blocking_time or global *)
+    else callback (Xsraw.read_watchevent xsh.con) in
 
-	let success = ref false in
-	while !left > 0. && not(!success)
-	do
-		(* NB the 'callback' might call back into Xs functions
-		   and as a side-effect, watches might be queued. Hence
-		   we must process the queue on every loop iteration *)
+  let success = ref false in
+  while !left > 0. && not(!success)
+  do
+    (* NB the 'callback' might call back into Xs functions
+       		   and as a side-effect, watches might be queued. Hence
+       		   we must process the queue on every loop iteration *)
 
-		(* First process all queued watch events *)
-		if not(!success)
-		then success := process_queued_events ();
-		(* Then block for one more watch event *)
-		if not(!success)
-		then success := process_incoming_event ();
-		(* Just in case our callback caused events to be queued
-		   and this is our last time round the loop: this prevents
-		   us throwing the Timeout_with_nonempty_queue spuriously *)
-		if not(!success)
-		then success := process_queued_events ();
+    (* First process all queued watch events *)
+    if not(!success)
+    then success := process_queued_events ();
+    (* Then block for one more watch event *)
+    if not(!success)
+    then success := process_incoming_event ();
+    (* Just in case our callback caused events to be queued
+       		   and this is our last time round the loop: this prevents
+       		   us throwing the Timeout_with_nonempty_queue spuriously *)
+    if not(!success)
+    then success := process_queued_events ();
 
-		(* Update the time left *)
-		let current_time = Unix.gettimeofday () in
-		left := end_time -. current_time
-	done;
-	if not(!success) then begin
-		(* Sanity check: it should be impossible for any
-		   events to be queued here *)
-		if Xsraw.has_watchevents xsh.con
-		then raise Timeout_with_nonempty_queue
-		else raise Timeout
-	end
+    (* Update the time left *)
+    let current_time = Unix.gettimeofday () in
+    left := end_time -. current_time
+  done;
+  if not(!success) then begin
+    (* Sanity check: it should be impossible for any
+       		   events to be queued here *)
+    if Xsraw.has_watchevents xsh.con
+    then raise Timeout_with_nonempty_queue
+    else raise Timeout
+  end
 
 
 let monitor_paths xsh l time callback =
-	let unwatch () =
-		List.iter (fun (w,v) -> try xsh.unwatch w v with _ -> ()) l in
-	List.iter (fun (w,v) -> xsh.watch w v) l;
-	begin try
-		read_watchevent_timeout xsh time callback;
-	with
-		exn -> unwatch (); raise exn;
-	end;
-	unwatch ()
+  let unwatch () =
+    List.iter (fun (w,v) -> try xsh.unwatch w v with _ -> ()) l in
+  List.iter (fun (w,v) -> xsh.watch w v) l;
+  begin try
+      read_watchevent_timeout xsh time callback;
+    with
+      exn -> unwatch (); raise exn;
+  end;
+  unwatch ()
 
 let daemon_socket = Paths.xen_run_stored ^ "/socket"
 
@@ -153,24 +153,24 @@ let daemon_socket = Paths.xen_run_stored ^ "/socket"
 exception Failed_to_connect
 
 let daemon_open () =
-	try
-		let sockaddr = Unix.ADDR_UNIX(daemon_socket) in
-		let sock = Unix.socket Unix.PF_UNIX Unix.SOCK_STREAM 0 in
-		Unix.connect sock sockaddr;
-		Unix.set_close_on_exec sock;
-		make sock
-	with _ -> raise Failed_to_connect
+  try
+    let sockaddr = Unix.ADDR_UNIX(daemon_socket) in
+    let sock = Unix.socket Unix.PF_UNIX Unix.SOCK_STREAM 0 in
+    Unix.connect sock sockaddr;
+    Unix.set_close_on_exec sock;
+    make sock
+  with _ -> raise Failed_to_connect
 
 let domain_open () =
-	let path = try
-		let devpath = "/dev/xen/xenbus" in
-		Unix.access devpath [ Unix.F_OK ];
-		devpath
-	with Unix.Unix_error(_, _, _) ->
-		"/proc/xen/xenbus" in
+  let path = try
+      let devpath = "/dev/xen/xenbus" in
+      Unix.access devpath [ Unix.F_OK ];
+      devpath
+    with Unix.Unix_error(_, _, _) ->
+      "/proc/xen/xenbus" in
 
-	let fd = Unix.openfile path [ Unix.O_RDWR ] 0o550 in
-	Unix.set_close_on_exec fd;
-	make fd
+  let fd = Unix.openfile path [ Unix.O_RDWR ] 0o550 in
+  Unix.set_close_on_exec fd;
+  make fd
 
 let close xsh = Xsraw.close xsh.con
diff --git a/tools/ocaml/libs/xs/xs.mli b/tools/ocaml/libs/xs/xs.mli
index ce505b659b..cf8855c7d8 100644
--- a/tools/ocaml/libs/xs/xs.mli
+++ b/tools/ocaml/libs/xs/xs.mli
@@ -23,31 +23,31 @@ exception Failed_to_connect
     - owner domid.
     - other perm: applied to domain that is not owner or in ACL.
     - ACL: list of per-domain permission
-  *)
+*)
 type perms = Xsraw.perms
 
 type domid = int
 type con
 
 type xsh = {
-	con : con;
-	debug: string list -> string;
-	directory : string -> string list;
-	read : string -> string;
-	readv : string -> string list -> string list;
-	write : string -> string -> unit;
-	writev : string -> (string * string) list -> unit;
-	mkdir : string -> unit;
-	rm : string -> unit;
-	getperms : string -> perms;
-	setperms : string -> perms -> unit;
-	setpermsv : string -> string list -> perms -> unit;
-	introduce : domid -> nativeint -> int -> unit;
-	release : domid -> unit;
-	resume : domid -> unit;
-	getdomainpath : domid -> string;
-	watch : string -> string -> unit;
-	unwatch : string -> string -> unit;
+  con : con;
+  debug: string list -> string;
+  directory : string -> string list;
+  read : string -> string;
+  readv : string -> string list -> string list;
+  write : string -> string -> unit;
+  writev : string -> (string * string) list -> unit;
+  mkdir : string -> unit;
+  rm : string -> unit;
+  getperms : string -> perms;
+  setperms : string -> perms -> unit;
+  setpermsv : string -> string list -> perms -> unit;
+  introduce : domid -> nativeint -> int -> unit;
+  release : domid -> unit;
+  resume : domid -> unit;
+  getdomainpath : domid -> string;
+  watch : string -> string -> unit;
+  unwatch : string -> string -> unit;
 }
 
 (** get operations provide a vector of xenstore function that apply to one
@@ -75,10 +75,10 @@ val read_watchevent_timeout : xsh -> float -> (string * string -> bool) -> unit
 (** register a set of watches, then wait for watchevent.
     remove all watches previously set before giving back the hand. *)
 val monitor_paths : xsh
-                 -> (string * string) list
-                 -> float
-                 -> (string * string -> bool)
-                 -> unit
+  -> (string * string) list
+  -> float
+  -> (string * string -> bool)
+  -> unit
 
 (** open a socket-based xenstored connection *)
 val daemon_open : unit -> xsh
diff --git a/tools/ocaml/libs/xs/xsraw.ml b/tools/ocaml/libs/xs/xsraw.ml
index cbd1728060..d51e40eed3 100644
--- a/tools/ocaml/libs/xs/xsraw.ml
+++ b/tools/ocaml/libs/xs/xsraw.ml
@@ -23,239 +23,239 @@ exception Unexpected_packet of string
 exception Invalid_path of string
 
 let unexpected_packet expected received =
-	let s = Printf.sprintf "expecting %s received %s"
-	                       (Xb.Op.to_string expected)
-	                       (Xb.Op.to_string received) in
-	raise (Unexpected_packet s)
+  let s = Printf.sprintf "expecting %s received %s"
+      (Xb.Op.to_string expected)
+      (Xb.Op.to_string received) in
+  raise (Unexpected_packet s)
 
 type con = {
-	xb: Xenbus.Xb.t;
-	watchevents: (string * string) Queue.t;
+  xb: Xenbus.Xb.t;
+  watchevents: (string * string) Queue.t;
 }
 
 let close con =
-	Xb.close con.xb
+  Xb.close con.xb
 
 let capacity = { Xb.maxoutstanding = 1; maxwatchevents = 0; }
 
 let open_fd fd = {
-	xb = Xb.open_fd ~capacity fd;
-	watchevents = Queue.create ();
+  xb = Xb.open_fd ~capacity fd;
+  watchevents = Queue.create ();
 }
 
 let rec split_string ?limit:(limit=(-1)) c s =
-	let i = try String.index s c with Not_found -> -1 in
-	let nlimit = if limit = -1 || limit = 0 then limit else limit - 1 in
-	if i = -1 || nlimit = 0 then
-		[ s ]
-	else
-		let a = String.sub s 0 i
-		and b = String.sub s (i + 1) (String.length s - i - 1) in
-		a :: (split_string ~limit: nlimit c b)
+  let i = try String.index s c with Not_found -> -1 in
+  let nlimit = if limit = -1 || limit = 0 then limit else limit - 1 in
+  if i = -1 || nlimit = 0 then
+    [ s ]
+  else
+    let a = String.sub s 0 i
+    and b = String.sub s (i + 1) (String.length s - i - 1) in
+    a :: (split_string ~limit: nlimit c b)
 
 type perm = PERM_NONE | PERM_READ | PERM_WRITE | PERM_RDWR
 
 type perms = int * perm * (int * perm) list
 
 let string_of_perms perms =
-	let owner, other, acl = perms in
-	let char_of_perm perm =
-		match perm with PERM_NONE -> 'n' | PERM_READ -> 'r'
-			      | PERM_WRITE -> 'w' | PERM_RDWR -> 'b' in
-	let string_of_perm (id, perm) = Printf.sprintf "%c%u" (char_of_perm perm) id in
-	String.concat "\000" (List.map string_of_perm ((owner,other) :: acl))
+  let owner, other, acl = perms in
+  let char_of_perm perm =
+    match perm with PERM_NONE -> 'n' | PERM_READ -> 'r'
+                  | PERM_WRITE -> 'w' | PERM_RDWR -> 'b' in
+  let string_of_perm (id, perm) = Printf.sprintf "%c%u" (char_of_perm perm) id in
+  String.concat "\000" (List.map string_of_perm ((owner,other) :: acl))
 
 let perms_of_string s =
-	let perm_of_char c =
-		match c with 'n' -> PERM_NONE | 'r' -> PERM_READ
-		           | 'w' -> PERM_WRITE | 'b' -> PERM_RDWR
-		           | c -> invalid_arg (Printf.sprintf "unknown permission type: %c" c) in
-	let perm_of_string s =
-		if String.length s < 2
-		then invalid_arg (Printf.sprintf "perm of string: length = %d; contents=\"%s\"" (String.length s) s)
-		else
-		begin
-			int_of_string (String.sub s 1 (String.length s - 1)),
-			perm_of_char s.[0]
-		end in
-	let rec split s =
-		try let i = String.index s '\000' in
-		String.sub s 0 i :: split (String.sub s (i + 1) (String.length s - 1 - i))
-		with Not_found -> if s = "" then [] else [ s ] in
-	let l = List.map perm_of_string (split s) in
-	match l with h :: l -> (fst h, snd h, l) | [] -> (0, PERM_NONE, [])
+  let perm_of_char c =
+    match c with 'n' -> PERM_NONE | 'r' -> PERM_READ
+                                  | 'w' -> PERM_WRITE | 'b' -> PERM_RDWR
+                                  | c -> invalid_arg (Printf.sprintf "unknown permission type: %c" c) in
+  let perm_of_string s =
+    if String.length s < 2
+    then invalid_arg (Printf.sprintf "perm of string: length = %d; contents=\"%s\"" (String.length s) s)
+    else
+      begin
+        int_of_string (String.sub s 1 (String.length s - 1)),
+        perm_of_char s.[0]
+      end in
+  let rec split s =
+    try let i = String.index s '\000' in
+      String.sub s 0 i :: split (String.sub s (i + 1) (String.length s - 1 - i))
+    with Not_found -> if s = "" then [] else [ s ] in
+  let l = List.map perm_of_string (split s) in
+  match l with h :: l -> (fst h, snd h, l) | [] -> (0, PERM_NONE, [])
 
 (* send one packet - can sleep *)
 let pkt_send con =
-	if Xb.has_old_output con.xb then
-		raise Partial_not_empty;
-	let workdone = ref false in
-	while not !workdone
-	do
-		workdone := Xb.output con.xb
-	done
+  if Xb.has_old_output con.xb then
+    raise Partial_not_empty;
+  let workdone = ref false in
+  while not !workdone
+  do
+    workdone := Xb.output con.xb
+  done
 
 (* receive one packet - can sleep *)
 let rec pkt_recv con =
-	match Xb.input con.xb with
-	| Some packet -> packet
-	| None -> pkt_recv con
+  match Xb.input con.xb with
+  | Some packet -> packet
+  | None -> pkt_recv con
 
 let pkt_recv_timeout con timeout =
-	let fd = Xb.get_fd con.xb in
-	let r, _, _ = Unix.select [ fd ] [] [] timeout in
-	if r = [] then
-		true, None
-	else
-		false, Xb.input con.xb
+  let fd = Xb.get_fd con.xb in
+  let r, _, _ = Unix.select [ fd ] [] [] timeout in
+  if r = [] then
+    true, None
+  else
+    false, Xb.input con.xb
 
 let queue_watchevent con data =
-	let ls = split_string ~limit:2 '\000' data in
-	if List.length ls != 2 then
-		raise (Xb.Packet.DataError "arguments number mismatch");
-	let event = List.nth ls 0
-	and event_data = List.nth ls 1 in
-	Queue.push (event, event_data) con.watchevents
+  let ls = split_string ~limit:2 '\000' data in
+  if List.length ls != 2 then
+    raise (Xb.Packet.DataError "arguments number mismatch");
+  let event = List.nth ls 0
+  and event_data = List.nth ls 1 in
+  Queue.push (event, event_data) con.watchevents
 
 let has_watchevents con = Queue.length con.watchevents > 0
 let get_watchevent con = Queue.pop con.watchevents
 
 let read_watchevent con =
-	let pkt = pkt_recv con in
-	match Xb.Packet.get_ty pkt with
-	| Xb.Op.Watchevent ->
-		queue_watchevent con (Xb.Packet.get_data pkt);
-		Queue.pop con.watchevents
-	| ty               -> unexpected_packet Xb.Op.Watchevent ty
+  let pkt = pkt_recv con in
+  match Xb.Packet.get_ty pkt with
+  | Xb.Op.Watchevent ->
+    queue_watchevent con (Xb.Packet.get_data pkt);
+    Queue.pop con.watchevents
+  | ty               -> unexpected_packet Xb.Op.Watchevent ty
 
 (* send one packet in the queue, and wait for reply *)
 let rec sync_recv ty con =
-	let pkt = pkt_recv con in
-	match Xb.Packet.get_ty pkt with
-	| Xb.Op.Error       -> (
-		match Xb.Packet.get_data pkt with
-		| "ENOENT" -> raise Xb.Noent
-		| "EAGAIN" -> raise Xb.Eagain
-		| "EINVAL" -> raise Xb.Invalid
-		| s        -> raise (Xb.Packet.Error s))
-	| Xb.Op.Watchevent  ->
-		queue_watchevent con (Xb.Packet.get_data pkt);
-		sync_recv ty con
-	| rty when rty = ty -> Xb.Packet.get_data pkt
-	| rty               -> unexpected_packet ty rty
+  let pkt = pkt_recv con in
+  match Xb.Packet.get_ty pkt with
+  | Xb.Op.Error       -> (
+      match Xb.Packet.get_data pkt with
+      | "ENOENT" -> raise Xb.Noent
+      | "EAGAIN" -> raise Xb.Eagain
+      | "EINVAL" -> raise Xb.Invalid
+      | s        -> raise (Xb.Packet.Error s))
+  | Xb.Op.Watchevent  ->
+    queue_watchevent con (Xb.Packet.get_data pkt);
+    sync_recv ty con
+  | rty when rty = ty -> Xb.Packet.get_data pkt
+  | rty               -> unexpected_packet ty rty
 
 let sync f con =
-	(* queue a query using function f *)
-	f con.xb;
-	if Xb.output_len con.xb = 0 then
-		Printf.printf "output len = 0\n%!";
-	let ty = Xb.Packet.get_ty (Xb.peek_output con.xb) in
-	pkt_send con;
-	sync_recv ty con
+  (* queue a query using function f *)
+  f con.xb;
+  if Xb.output_len con.xb = 0 then
+    Printf.printf "output len = 0\n%!";
+  let ty = Xb.Packet.get_ty (Xb.peek_output con.xb) in
+  pkt_send con;
+  sync_recv ty con
 
 let ack s =
-	if s = "OK" then () else raise (Xb.Packet.DataError s)
+  if s = "OK" then () else raise (Xb.Packet.DataError s)
 
 (** Check paths are suitable for read/write/mkdir/rm/directory etc (NOT watches) *)
 let validate_path path =
-	(* Paths shouldn't have a "//" in the middle *)
-	let bad = "//" in
-	for offset = 0 to String.length path - (String.length bad) do
-		if String.sub path offset (String.length bad) = bad then
-			raise (Invalid_path path)
-	done;
-	(* Paths shouldn't have a "/" at the end, except for the root *)
-	if path <> "/" && path <> "" && path.[String.length path - 1] = '/' then
-		raise (Invalid_path path)
+  (* Paths shouldn't have a "//" in the middle *)
+  let bad = "//" in
+  for offset = 0 to String.length path - (String.length bad) do
+    if String.sub path offset (String.length bad) = bad then
+      raise (Invalid_path path)
+  done;
+  (* Paths shouldn't have a "/" at the end, except for the root *)
+  if path <> "/" && path <> "" && path.[String.length path - 1] = '/' then
+    raise (Invalid_path path)
 
 (** Check to see if a path is suitable for watches *)
 let validate_watch_path path =
-	(* Check for stuff like @releaseDomain etc first *)
-	if path <> "" && path.[0] = '@' then ()
-	else validate_path path
+  (* Check for stuff like @releaseDomain etc first *)
+  if path <> "" && path.[0] = '@' then ()
+  else validate_path path
 
 let debug command con =
-	sync (Queueop.debug command) con
+  sync (Queueop.debug command) con
 
 let directory tid path con =
-	validate_path path;
-	let data = sync (Queueop.directory tid path) con in
-	split_string '\000' data
+  validate_path path;
+  let data = sync (Queueop.directory tid path) con in
+  split_string '\000' data
 
 let read tid path con =
-	validate_path path;
-	sync (Queueop.read tid path) con
+  validate_path path;
+  sync (Queueop.read tid path) con
 
 let readv tid dir vec con =
-	List.map (fun path -> validate_path path; read tid path con)
-		(if dir <> "" then
-			(List.map (fun v -> dir ^ "/" ^ v) vec) else vec)
+  List.map (fun path -> validate_path path; read tid path con)
+    (if dir <> "" then
+       (List.map (fun v -> dir ^ "/" ^ v) vec) else vec)
 
 let getperms tid path con =
-	validate_path path;
-	perms_of_string (sync (Queueop.getperms tid path) con)
+  validate_path path;
+  perms_of_string (sync (Queueop.getperms tid path) con)
 
 let watch path data con =
-	validate_watch_path path;
-	ack (sync (Queueop.watch path data) con)
+  validate_watch_path path;
+  ack (sync (Queueop.watch path data) con)
 
 let unwatch path data con =
-	validate_watch_path path;
-	ack (sync (Queueop.unwatch path data) con)
+  validate_watch_path path;
+  ack (sync (Queueop.unwatch path data) con)
 
 let transaction_start con =
-	let data = sync (Queueop.transaction_start) con in
-	try
-		int_of_string data
-	with
-		_ -> raise (Packet.DataError (Printf.sprintf "int expected; got '%s'" data))
+  let data = sync (Queueop.transaction_start) con in
+  try
+    int_of_string data
+  with
+    _ -> raise (Packet.DataError (Printf.sprintf "int expected; got '%s'" data))
 
 let transaction_end tid commit con =
-	try
-		ack (sync (Queueop.transaction_end tid commit) con);
-		true
-	with
-		Xb.Eagain -> false
+  try
+    ack (sync (Queueop.transaction_end tid commit) con);
+    true
+  with
+    Xb.Eagain -> false
 
 let introduce domid mfn port con =
-	ack (sync (Queueop.introduce domid mfn port) con)
+  ack (sync (Queueop.introduce domid mfn port) con)
 
 let release domid con =
-	ack (sync (Queueop.release domid) con)
+  ack (sync (Queueop.release domid) con)
 
 let resume domid con =
-	ack (sync (Queueop.resume domid) con)
+  ack (sync (Queueop.resume domid) con)
 
 let getdomainpath domid con =
-	sync (Queueop.getdomainpath domid) con
+  sync (Queueop.getdomainpath domid) con
 
 let write tid path value con =
-	validate_path path;
-	ack (sync (Queueop.write tid path value) con)
+  validate_path path;
+  ack (sync (Queueop.write tid path value) con)
 
 let writev tid dir vec con =
-	List.iter (fun (entry, value) ->
-		let path = (if dir <> "" then dir ^ "/" ^ entry else entry) in
-                validate_path path;
-		write tid path value con) vec
+  List.iter (fun (entry, value) ->
+      let path = (if dir <> "" then dir ^ "/" ^ entry else entry) in
+      validate_path path;
+      write tid path value con) vec
 
 let mkdir tid path con =
-	validate_path path;
-	ack (sync (Queueop.mkdir tid path) con)
+  validate_path path;
+  ack (sync (Queueop.mkdir tid path) con)
 
 let rm tid path con =
-        validate_path path;
-	try
-		ack (sync (Queueop.rm tid path) con)
-	with
-		Xb.Noent -> ()
+  validate_path path;
+  try
+    ack (sync (Queueop.rm tid path) con)
+  with
+    Xb.Noent -> ()
 
 let setperms tid path perms con =
-	validate_path path;
-	ack (sync (Queueop.setperms tid path (string_of_perms perms)) con)
+  validate_path path;
+  ack (sync (Queueop.setperms tid path (string_of_perms perms)) con)
 
 let setpermsv tid dir vec perms con =
-	List.iter (fun entry ->
-		let path = (if dir <> "" then dir ^ "/" ^ entry else entry) in
-		validate_path path;
-		setperms tid path perms con) vec
+  List.iter (fun entry ->
+      let path = (if dir <> "" then dir ^ "/" ^ entry else entry) in
+      validate_path path;
+      setperms tid path perms con) vec
diff --git a/tools/ocaml/libs/xs/xst.ml b/tools/ocaml/libs/xs/xst.ml
index 16affd2e07..50a980b915 100644
--- a/tools/ocaml/libs/xs/xst.ml
+++ b/tools/ocaml/libs/xs/xst.ml
@@ -15,47 +15,47 @@
  *)
 
 type ops =
-{
-	directory: string -> string list;
-	read: string -> string;
-	readv: string -> string list -> string list;
-	write: string -> string -> unit;
-	writev: string -> (string * string) list -> unit;
-	mkdir: string -> unit;
-	rm: string -> unit;
-	getperms: string -> Xsraw.perms;
-	setperms: string -> Xsraw.perms -> unit;
-	setpermsv: string -> string list -> Xsraw.perms -> unit;
-}
+  {
+    directory: string -> string list;
+    read: string -> string;
+    readv: string -> string list -> string list;
+    write: string -> string -> unit;
+    writev: string -> (string * string) list -> unit;
+    mkdir: string -> unit;
+    rm: string -> unit;
+    getperms: string -> Xsraw.perms;
+    setperms: string -> Xsraw.perms -> unit;
+    setpermsv: string -> string list -> Xsraw.perms -> unit;
+  }
 
 let get_operations tid xsh = {
-	directory = (fun path -> Xsraw.directory tid path xsh);
-	read = (fun path -> Xsraw.read tid path xsh);
-	readv = (fun dir vec -> Xsraw.readv tid dir vec xsh);
-	write = (fun path value -> Xsraw.write tid path value xsh);
-	writev = (fun dir vec -> Xsraw.writev tid dir vec xsh);
-	mkdir = (fun path -> Xsraw.mkdir tid path xsh);
-	rm = (fun path -> Xsraw.rm tid path xsh);
-	getperms = (fun path -> Xsraw.getperms tid path xsh);
-	setperms = (fun path perms -> Xsraw.setperms tid path perms xsh);
-	setpermsv = (fun dir vec perms -> Xsraw.setpermsv tid dir vec perms xsh);
+  directory = (fun path -> Xsraw.directory tid path xsh);
+  read = (fun path -> Xsraw.read tid path xsh);
+  readv = (fun dir vec -> Xsraw.readv tid dir vec xsh);
+  write = (fun path value -> Xsraw.write tid path value xsh);
+  writev = (fun dir vec -> Xsraw.writev tid dir vec xsh);
+  mkdir = (fun path -> Xsraw.mkdir tid path xsh);
+  rm = (fun path -> Xsraw.rm tid path xsh);
+  getperms = (fun path -> Xsraw.getperms tid path xsh);
+  setperms = (fun path perms -> Xsraw.setperms tid path perms xsh);
+  setpermsv = (fun dir vec perms -> Xsraw.setpermsv tid dir vec perms xsh);
 }
 
 let transaction xsh (f: ops -> 'a) : 'a =
-	let commited = ref false and result = ref None in
-	while not !commited
-	do
-		let tid = Xsraw.transaction_start xsh in
-		let t = get_operations tid xsh in
+  let commited = ref false and result = ref None in
+  while not !commited
+  do
+    let tid = Xsraw.transaction_start xsh in
+    let t = get_operations tid xsh in
 
-		begin try
-			result := Some (f t)
-		with exn ->
-			ignore (Xsraw.transaction_end tid false xsh);
-			raise exn
-		end;
-		commited := Xsraw.transaction_end tid true xsh
-	done;
-	match !result with
-	| None        -> failwith "internal error in transaction"
-	| Some result -> result
+    begin try
+        result := Some (f t)
+      with exn ->
+        ignore (Xsraw.transaction_end tid false xsh);
+        raise exn
+    end;
+    commited := Xsraw.transaction_end tid true xsh
+  done;
+  match !result with
+  | None        -> failwith "internal error in transaction"
+  | Some result -> result
diff --git a/tools/ocaml/libs/xs/xst.mli b/tools/ocaml/libs/xs/xst.mli
index 5ae560424c..08d737bc36 100644
--- a/tools/ocaml/libs/xs/xst.mli
+++ b/tools/ocaml/libs/xs/xst.mli
@@ -14,16 +14,16 @@
  * GNU Lesser General Public License for more details.
  *)
 type ops = {
-	directory : string -> string list;
-	read : string -> string;
-	readv : string -> string list -> string list;
-	write : string -> string -> unit;
-	writev : string -> (string * string) list -> unit;
-	mkdir : string -> unit;
-	rm : string -> unit;
-	getperms : string -> Xsraw.perms;
-	setperms : string -> Xsraw.perms -> unit;
-	setpermsv : string -> string list -> Xsraw.perms -> unit;
+  directory : string -> string list;
+  read : string -> string;
+  readv : string -> string list -> string list;
+  write : string -> string -> unit;
+  writev : string -> (string * string) list -> unit;
+  mkdir : string -> unit;
+  rm : string -> unit;
+  getperms : string -> Xsraw.perms;
+  setperms : string -> Xsraw.perms -> unit;
+  setpermsv : string -> string list -> Xsraw.perms -> unit;
 }
 
 val get_operations : int -> Xsraw.con -> ops
diff --git a/tools/ocaml/test/dmesg.ml b/tools/ocaml/test/dmesg.ml
index c868024c52..f9efe5dc30 100644
--- a/tools/ocaml/test/dmesg.ml
+++ b/tools/ocaml/test/dmesg.ml
@@ -1,17 +1,17 @@
 
 let _ =
-	Xenlight.register_exceptions ();
-	let logger = Xtl.create_stdio_logger ~level:Xentoollog.Debug () in
-	let ctx = Xenlight.ctx_alloc logger in
+  Xenlight.register_exceptions ();
+  let logger = Xtl.create_stdio_logger ~level:Xentoollog.Debug () in
+  let ctx = Xenlight.ctx_alloc logger in
 
-	let open Xenlight.Host in
-	let reader = xen_console_read_start ctx 0 in
-	(try
-		while true do
-			let line = xen_console_read_line ctx reader in
-			print_string line
-		done
-	with End_of_file -> ());
-	let _ = xen_console_read_finish ctx reader in
-	()
+  let open Xenlight.Host in
+  let reader = xen_console_read_start ctx 0 in
+  (try
+     while true do
+       let line = xen_console_read_line ctx reader in
+       print_string line
+     done
+   with End_of_file -> ());
+  let _ = xen_console_read_finish ctx reader in
+  ()
 
diff --git a/tools/ocaml/test/list_domains.ml b/tools/ocaml/test/list_domains.ml
index c8974957fd..94f1cec050 100644
--- a/tools/ocaml/test/list_domains.ml
+++ b/tools/ocaml/test/list_domains.ml
@@ -20,7 +20,7 @@ let _ =
     let domains = Xenlight.Dominfo.list ctx in
     List.iter (fun d -> print_dominfo d) domains
   with Xenlight.Error(err, fn) -> begin
-    printf "Caught Exception: %s: %s\n" (Xenlight.string_of_error err) fn;
-  end
+      printf "Caught Exception: %s: %s\n" (Xenlight.string_of_error err) fn;
+    end
 
 
diff --git a/tools/ocaml/test/raise_exception.ml b/tools/ocaml/test/raise_exception.ml
index 5ef7fc0f13..8c24c3555b 100644
--- a/tools/ocaml/test/raise_exception.ml
+++ b/tools/ocaml/test/raise_exception.ml
@@ -4,6 +4,6 @@ let _ =
   try
     Xenlight.test_raise_exception ()
   with Xenlight.Error(err, fn) -> begin
-    printf "Caught Exception: %s: %s\n" (Xenlight.string_of_error err) fn;
-  end
+      printf "Caught Exception: %s: %s\n" (Xenlight.string_of_error err) fn;
+    end
 
diff --git a/tools/ocaml/test/xtl.ml b/tools/ocaml/test/xtl.ml
index 5f94a76a82..458b11bbaa 100644
--- a/tools/ocaml/test/xtl.ml
+++ b/tools/ocaml/test/xtl.ml
@@ -2,24 +2,24 @@ open Printf
 open Xentoollog
 
 let stdio_vmessage min_level level errno ctx msg =
-	let level_str = level_to_string level
-	and errno_str = match errno with None -> "" | Some s -> sprintf ": errno=%d" s
-	and ctx_str = match ctx with None -> "" | Some s -> sprintf ": %s" s in
-	if compare min_level level <= 0 then begin
-		printf "%s%s%s: %s\n" level_str ctx_str errno_str msg;
-		flush stdout;
-	end
+  let level_str = level_to_string level
+  and errno_str = match errno with None -> "" | Some s -> sprintf ": errno=%d" s
+  and ctx_str = match ctx with None -> "" | Some s -> sprintf ": %s" s in
+  if compare min_level level <= 0 then begin
+    printf "%s%s%s: %s\n" level_str ctx_str errno_str msg;
+    flush stdout;
+  end
 
 let stdio_progress _ctx what percent dne total =
-	let nl = if dne = total then "\n" else "" in
-	printf "\rProgress %s %d%% (%Ld/%Ld)%s" what percent dne total nl;
-	flush stdout
+  let nl = if dne = total then "\n" else "" in
+  printf "\rProgress %s %d%% (%Ld/%Ld)%s" what percent dne total nl;
+  flush stdout
 
 let create_stdio_logger ?(level=Info) () =
-	let cbs = {
-		vmessage = stdio_vmessage level;
-		progress = stdio_progress; } in
-	create "Xentoollog.stdio_logger" cbs
+  let cbs = {
+    vmessage = stdio_vmessage level;
+    progress = stdio_progress; } in
+  create "Xentoollog.stdio_logger" cbs
 
 let do_test level =
   let lgr = create_stdio_logger ~level:level () in
diff --git a/tools/ocaml/xenstored/config.ml b/tools/ocaml/xenstored/config.ml
index 0ee7bc32ff..95ef745a54 100644
--- a/tools/ocaml/xenstored/config.ml
+++ b/tools/ocaml/xenstored/config.ml
@@ -15,98 +15,98 @@
  *)
 
 type ty =
-	| Set_bool of bool ref
-	| Set_int of int ref
-	| Set_string of string ref
-	| Set_float of float ref
-	| Unit of (unit -> unit)
-	| Bool of (bool -> unit)
-	| Int of (int -> unit)
-	| String of (string -> unit)
-	| Float of (float -> unit)
+  | Set_bool of bool ref
+  | Set_int of int ref
+  | Set_string of string ref
+  | Set_float of float ref
+  | Unit of (unit -> unit)
+  | Bool of (bool -> unit)
+  | Int of (int -> unit)
+  | String of (string -> unit)
+  | Float of (float -> unit)
 
 exception Error of (string * string) list
 
 let trim_start lc s =
-	let len = String.length s and i = ref 0 in
-	while !i < len && (List.mem s.[!i] lc)
-	do
-		incr i
-	done;
-	if !i < len then String.sub s !i (len - !i) else ""
+  let len = String.length s and i = ref 0 in
+  while !i < len && (List.mem s.[!i] lc)
+  do
+    incr i
+  done;
+  if !i < len then String.sub s !i (len - !i) else ""
 
 let trim_end lc s =
-	let i = ref (String.length s - 1) in
-	while !i > 0 && (List.mem s.[!i] lc)
-	do
-		decr i
-	done;
-	if !i >= 0 then String.sub s 0 (!i + 1) else ""
+  let i = ref (String.length s - 1) in
+  while !i > 0 && (List.mem s.[!i] lc)
+  do
+    decr i
+  done;
+  if !i >= 0 then String.sub s 0 (!i + 1) else ""
 
 let rec split ?limit:(limit=(-1)) c s =
-	let i = try String.index s c with Not_found -> -1 in
-	let nlimit = if limit = -1 || limit = 0 then limit else limit - 1 in
-	if i = -1 || nlimit = 0 then
-		[ s ]
-	else
-		let a = String.sub s 0 i
-		and b = String.sub s (i + 1) (String.length s - i - 1) in
-		a :: (split ~limit: nlimit c b)
+  let i = try String.index s c with Not_found -> -1 in
+  let nlimit = if limit = -1 || limit = 0 then limit else limit - 1 in
+  if i = -1 || nlimit = 0 then
+    [ s ]
+  else
+    let a = String.sub s 0 i
+    and b = String.sub s (i + 1) (String.length s - i - 1) in
+    a :: (split ~limit: nlimit c b)
 
 let parse_line stream =
-	let lc = [ ' '; '\t' ] in
-	let trim_spaces s = trim_end lc (trim_start lc s) in
-	let to_config s =
-		match split ~limit:2 '=' s with
-		| k :: v :: [] -> Some (trim_end lc k, trim_start lc v)
-		| _            -> None in
-	let rec read_filter_line () =
-		try
-			let line = trim_spaces (input_line stream) in
-			if String.length line > 0 && line.[0] <> '#' then
-				match to_config line with
-				| None   -> read_filter_line ()
-				| Some x -> x :: read_filter_line ()
-			else
-				read_filter_line ()
-		with
-			End_of_file -> [] in
-	read_filter_line ()
+  let lc = [ ' '; '\t' ] in
+  let trim_spaces s = trim_end lc (trim_start lc s) in
+  let to_config s =
+    match split ~limit:2 '=' s with
+    | k :: v :: [] -> Some (trim_end lc k, trim_start lc v)
+    | _            -> None in
+  let rec read_filter_line () =
+    try
+      let line = trim_spaces (input_line stream) in
+      if String.length line > 0 && line.[0] <> '#' then
+        match to_config line with
+        | None   -> read_filter_line ()
+        | Some x -> x :: read_filter_line ()
+      else
+        read_filter_line ()
+    with
+      End_of_file -> [] in
+  read_filter_line ()
 
 let parse filename =
-	let stream = open_in filename in
-	let cf = parse_line stream in
-	close_in stream;
-	cf
+  let stream = open_in filename in
+  let cf = parse_line stream in
+  close_in stream;
+  cf
 
 let validate cf expected other =
-	let err = ref [] in
-	let append x = err := x :: !err in
-	List.iter (fun (k, v) ->
-		try
-			if not (List.mem_assoc k expected) then
-				other k v
-			else let ty = List.assoc k expected in
-			match ty with
-			| Unit f       -> f ()
-			| Bool f       -> f (bool_of_string v)
-			| String f     -> f v
-			| Int f        -> f (int_of_string v)
-			| Float f      -> f (float_of_string v)
-			| Set_bool r   -> r := (bool_of_string v)
-			| Set_string r -> r := v
-			| Set_int r    -> r := int_of_string v
-			| Set_float r  -> r := (float_of_string v)
-		with
-		| Not_found                 -> append (k, "unknown key")
-		| Failure "int_of_string"   -> append (k, "expect int arg")
-		| Failure "bool_of_string"  -> append (k, "expect bool arg")
-		| Failure "float_of_string" -> append (k, "expect float arg")
-		| exn                       -> append (k, Printexc.to_string exn)
-		) cf;
-	if !err != [] then raise (Error !err)
+  let err = ref [] in
+  let append x = err := x :: !err in
+  List.iter (fun (k, v) ->
+      try
+        if not (List.mem_assoc k expected) then
+          other k v
+        else let ty = List.assoc k expected in
+          match ty with
+          | Unit f       -> f ()
+          | Bool f       -> f (bool_of_string v)
+          | String f     -> f v
+          | Int f        -> f (int_of_string v)
+          | Float f      -> f (float_of_string v)
+          | Set_bool r   -> r := (bool_of_string v)
+          | Set_string r -> r := v
+          | Set_int r    -> r := int_of_string v
+          | Set_float r  -> r := (float_of_string v)
+      with
+      | Not_found                 -> append (k, "unknown key")
+      | Failure "int_of_string"   -> append (k, "expect int arg")
+      | Failure "bool_of_string"  -> append (k, "expect bool arg")
+      | Failure "float_of_string" -> append (k, "expect float arg")
+      | exn                       -> append (k, Printexc.to_string exn)
+    ) cf;
+  if !err != [] then raise (Error !err)
 
 (** read a filename, parse and validate, and return the errors if any *)
 let read filename expected other =
-	let cf = parse filename in
-	validate cf expected other
+  let cf = parse filename in
+  validate cf expected other
diff --git a/tools/ocaml/xenstored/connection.ml b/tools/ocaml/xenstored/connection.ml
index 54f7f76516..d11011e164 100644
--- a/tools/ocaml/xenstored/connection.ml
+++ b/tools/ocaml/xenstored/connection.ml
@@ -24,281 +24,281 @@ type 'a bounded_sender = 'a -> unit option
 (** a bounded sender accepts an ['a] item and returns:
     None - if there is no room to accept the item
     Some () -  if it has successfully accepted/sent the item
- *)
+*)
 
 module BoundedPipe : sig
-	type 'a t
+  type 'a t
 
-	(** [create ~capacity ~destination] creates a bounded pipe with a
-	    local buffer holding at most [capacity] items.  Once the buffer is
-	    full it will not accept further items.  items from the pipe are
-	    flushed into [destination] as long as it accepts items.  The
-	    destination could be another pipe.
-	 *)
-	val create: capacity:int -> destination:'a bounded_sender -> 'a t
+  (** [create ~capacity ~destination] creates a bounded pipe with a
+      	    local buffer holding at most [capacity] items.  Once the buffer is
+      	    full it will not accept further items.  items from the pipe are
+      	    flushed into [destination] as long as it accepts items.  The
+      	    destination could be another pipe.
+      	 *)
+  val create: capacity:int -> destination:'a bounded_sender -> 'a t
 
-	(** [is_empty t] returns whether the local buffer of [t] is empty. *)
-	val is_empty : _ t -> bool
+  (** [is_empty t] returns whether the local buffer of [t] is empty. *)
+  val is_empty : _ t -> bool
 
-	(** [length t] the number of items in the internal buffer *)
-	val length: _ t -> int
+  (** [length t] the number of items in the internal buffer *)
+  val length: _ t -> int
 
-	(** [flush_pipe t] sends as many items from the local buffer as possible,
-			which could be none. *)
-	val flush_pipe: _ t -> unit
+  (** [flush_pipe t] sends as many items from the local buffer as possible,
+      			which could be none. *)
+  val flush_pipe: _ t -> unit
 
-	(** [push t item] tries to [flush_pipe] and then push [item]
-	    into the pipe if its [capacity] allows.
-	    Returns [None] if there is no more room
-	 *)
-	val push : 'a t -> 'a bounded_sender
+  (** [push t item] tries to [flush_pipe] and then push [item]
+      	    into the pipe if its [capacity] allows.
+      	    Returns [None] if there is no more room
+      	 *)
+  val push : 'a t -> 'a bounded_sender
 end = struct
-	(* items are enqueued in [q], and then flushed to [connect_to] *)
-	type 'a t =
-		{ q: 'a Queue.t
-		; destination: 'a bounded_sender
-		; capacity: int
-		}
+  (* items are enqueued in [q], and then flushed to [connect_to] *)
+  type 'a t =
+    { q: 'a Queue.t
+    ; destination: 'a bounded_sender
+    ; capacity: int
+    }
 
-	let create ~capacity ~destination =
-		{ q = Queue.create (); capacity; destination }
+  let create ~capacity ~destination =
+    { q = Queue.create (); capacity; destination }
 
-	let rec flush_pipe t =
-		if not Queue.(is_empty t.q) then
-			let item = Queue.peek t.q in
-			match t.destination item with
-			| None -> () (* no room *)
-			| Some () ->
-				(* successfully sent item to next stage *)
-				let _ = Queue.pop t.q in
-				(* continue trying to send more items *)
-				flush_pipe t
+  let rec flush_pipe t =
+    if not Queue.(is_empty t.q) then
+      let item = Queue.peek t.q in
+      match t.destination item with
+      | None -> () (* no room *)
+      | Some () ->
+        (* successfully sent item to next stage *)
+        let _ = Queue.pop t.q in
+        (* continue trying to send more items *)
+        flush_pipe t
 
-	let push t item =
-		(* first try to flush as many items from this pipe as possible to make room,
-		   it is important to do this first to preserve the order of the items
-		 *)
-		flush_pipe t;
-		if Queue.length t.q < t.capacity then begin
-			(* enqueue, instead of sending directly.
-			   this ensures that [out] sees the items in the same order as we receive them
-			 *)
-			Queue.push item t.q;
-			Some (flush_pipe t)
-		end else None
+  let push t item =
+    (* first try to flush as many items from this pipe as possible to make room,
+       		   it is important to do this first to preserve the order of the items
+       		 *)
+    flush_pipe t;
+    if Queue.length t.q < t.capacity then begin
+      (* enqueue, instead of sending directly.
+         			   this ensures that [out] sees the items in the same order as we receive them
+         			 *)
+      Queue.push item t.q;
+      Some (flush_pipe t)
+    end else None
 
-	let is_empty t = Queue.is_empty t.q
-	let length t = Queue.length t.q
+  let is_empty t = Queue.is_empty t.q
+  let length t = Queue.length t.q
 end
 
 type watch = {
-	con: t;
-	token: string;
-	path: string;
-	base: string;
-	is_relative: bool;
-	pending_watchevents: Xenbus.Xb.Packet.t BoundedPipe.t;
+  con: t;
+  token: string;
+  path: string;
+  base: string;
+  is_relative: bool;
+  pending_watchevents: Xenbus.Xb.Packet.t BoundedPipe.t;
 }
 
 and t = {
-	xb: Xenbus.Xb.t;
-	dom: Domain.t option;
-	transactions: (int, Transaction.t) Hashtbl.t;
-	mutable next_tid: int;
-	watches: (string, watch list) Hashtbl.t;
-	mutable nb_watches: int;
-	anonid: int;
-	mutable stat_nb_ops: int;
-	mutable perm: Perms.Connection.t;
-	pending_source_watchevents: (watch * Xenbus.Xb.Packet.t) BoundedPipe.t
+  xb: Xenbus.Xb.t;
+  dom: Domain.t option;
+  transactions: (int, Transaction.t) Hashtbl.t;
+  mutable next_tid: int;
+  watches: (string, watch list) Hashtbl.t;
+  mutable nb_watches: int;
+  anonid: int;
+  mutable stat_nb_ops: int;
+  mutable perm: Perms.Connection.t;
+  pending_source_watchevents: (watch * Xenbus.Xb.Packet.t) BoundedPipe.t
 }
 
 module Watch = struct
-	module T = struct
-		type t = watch
+  module T = struct
+    type t = watch
 
-		let compare w1 w2 =
-			(* cannot compare watches from different connections *)
-			assert (w1.con == w2.con);
-			match String.compare w1.token w2.token with
-			| 0 -> String.compare w1.path w2.path
-			| n -> n
-	end
-	module Set = Set.Make(T)
+    let compare w1 w2 =
+      (* cannot compare watches from different connections *)
+      assert (w1.con == w2.con);
+      match String.compare w1.token w2.token with
+      | 0 -> String.compare w1.path w2.path
+      | n -> n
+  end
+  module Set = Set.Make(T)
 
-	let flush_events t =
-		BoundedPipe.flush_pipe t.pending_watchevents;
-		not (BoundedPipe.is_empty t.pending_watchevents)
+  let flush_events t =
+    BoundedPipe.flush_pipe t.pending_watchevents;
+    not (BoundedPipe.is_empty t.pending_watchevents)
 
-	let pending_watchevents t =
-		BoundedPipe.length t.pending_watchevents
+  let pending_watchevents t =
+    BoundedPipe.length t.pending_watchevents
 end
 
 let source_flush_watchevents t =
-	BoundedPipe.flush_pipe t.pending_source_watchevents
+  BoundedPipe.flush_pipe t.pending_source_watchevents
 
 let source_pending_watchevents t =
-	BoundedPipe.length t.pending_source_watchevents
+  BoundedPipe.length t.pending_source_watchevents
 
 let mark_as_bad con =
-	match con.dom with
-	|None -> ()
-	| Some domain -> Domain.mark_as_bad domain
+  match con.dom with
+  |None -> ()
+  | Some domain -> Domain.mark_as_bad domain
 
 let initial_next_tid = 1
 
 let do_reconnect con =
-	Xenbus.Xb.reconnect con.xb;
-	(* dom is the same *)
-	Hashtbl.clear con.transactions;
-	con.next_tid <- initial_next_tid;
-	Hashtbl.clear con.watches;
-	(* anonid is the same *)
-	con.nb_watches <- 0;
-	con.stat_nb_ops <- 0;
-	(* perm is the same *)
-	()
+  Xenbus.Xb.reconnect con.xb;
+  (* dom is the same *)
+  Hashtbl.clear con.transactions;
+  con.next_tid <- initial_next_tid;
+  Hashtbl.clear con.watches;
+  (* anonid is the same *)
+  con.nb_watches <- 0;
+  con.stat_nb_ops <- 0;
+  (* perm is the same *)
+  ()
 
 let get_path con =
-Printf.sprintf "/local/domain/%i/" (match con.dom with None -> 0 | Some d -> Domain.get_id d)
+  Printf.sprintf "/local/domain/%i/" (match con.dom with None -> 0 | Some d -> Domain.get_id d)
 
 let watch_create ~con ~path ~token = {
-	con = con;
-	token = token;
-	path = path;
-	base = get_path con;
-	is_relative = path.[0] <> '/' && path.[0] <> '@';
-	pending_watchevents = BoundedPipe.create ~capacity:!Define.maxwatchevents ~destination:(Xenbus.Xb.queue con.xb)
+  con = con;
+  token = token;
+  path = path;
+  base = get_path con;
+  is_relative = path.[0] <> '/' && path.[0] <> '@';
+  pending_watchevents = BoundedPipe.create ~capacity:!Define.maxwatchevents ~destination:(Xenbus.Xb.queue con.xb)
 }
 
 let get_con w = w.con
 
 let number_of_transactions con =
-	Hashtbl.length con.transactions
+  Hashtbl.length con.transactions
 
 let get_domain con = con.dom
 
 let anon_id_next = ref 1
 
 let get_domstr con =
-	match con.dom with
-	| None     -> "A" ^ (string_of_int con.anonid)
-	| Some dom -> "D" ^ (string_of_int (Domain.get_id dom))
+  match con.dom with
+  | None     -> "A" ^ (string_of_int con.anonid)
+  | Some dom -> "D" ^ (string_of_int (Domain.get_id dom))
 
 let make_perm dom =
-	let domid =
-		match dom with
-		| None   -> 0
-		| Some d -> Domain.get_id d
-	in
-	Perms.Connection.create ~perms:[Perms.READ; Perms.WRITE] domid
+  let domid =
+    match dom with
+    | None   -> 0
+    | Some d -> Domain.get_id d
+  in
+  Perms.Connection.create ~perms:[Perms.READ; Perms.WRITE] domid
 
 let create xbcon dom =
-	let destination (watch, pkt) =
-		BoundedPipe.push watch.pending_watchevents pkt
-	in
-	let id =
-		match dom with
-		| None -> let old = !anon_id_next in incr anon_id_next; old
-		| Some _ -> 0
-		in
-	let con =
-	{
-	xb = xbcon;
-	dom = dom;
-	transactions = Hashtbl.create 5;
-	next_tid = initial_next_tid;
-	watches = Hashtbl.create 8;
-	nb_watches = 0;
-	anonid = id;
-	stat_nb_ops = 0;
-	perm = make_perm dom;
+  let destination (watch, pkt) =
+    BoundedPipe.push watch.pending_watchevents pkt
+  in
+  let id =
+    match dom with
+    | None -> let old = !anon_id_next in incr anon_id_next; old
+    | Some _ -> 0
+  in
+  let con =
+    {
+      xb = xbcon;
+      dom = dom;
+      transactions = Hashtbl.create 5;
+      next_tid = initial_next_tid;
+      watches = Hashtbl.create 8;
+      nb_watches = 0;
+      anonid = id;
+      stat_nb_ops = 0;
+      perm = make_perm dom;
 
-	(* the actual capacity will be lower, this is used as an overflow
-	   buffer: anything that doesn't fit elsewhere gets put here, only
-	   limited by the amount of watches that you can generate with a
-	   single xenstore command (which is finite, although possibly very
-	   large in theory for Dom0).  Once the pipe here has any contents the
-	   domain is blocked from sending more commands until it is empty
-	   again though.
-	 *)
-	pending_source_watchevents = BoundedPipe.create ~capacity:Sys.max_array_length ~destination
-	}
-	in
-	Logging.new_connection ~tid:Transaction.none ~con:(get_domstr con);
-	con
+      (* the actual capacity will be lower, this is used as an overflow
+         	   buffer: anything that doesn't fit elsewhere gets put here, only
+         	   limited by the amount of watches that you can generate with a
+         	   single xenstore command (which is finite, although possibly very
+         	   large in theory for Dom0).  Once the pipe here has any contents the
+         	   domain is blocked from sending more commands until it is empty
+         	   again though.
+         	 *)
+      pending_source_watchevents = BoundedPipe.create ~capacity:Sys.max_array_length ~destination
+    }
+  in
+  Logging.new_connection ~tid:Transaction.none ~con:(get_domstr con);
+  con
 
 let get_fd con = Xenbus.Xb.get_fd con.xb
 let close con =
-	Logging.end_connection ~tid:Transaction.none ~con:(get_domstr con);
-	Xenbus.Xb.close con.xb
+  Logging.end_connection ~tid:Transaction.none ~con:(get_domstr con);
+  Xenbus.Xb.close con.xb
 
 let get_perm con =
-	con.perm
+  con.perm
 
 let set_target con target_domid =
-	con.perm <- Perms.Connection.set_target (get_perm con) ~perms:[Perms.READ; Perms.WRITE] target_domid
+  con.perm <- Perms.Connection.set_target (get_perm con) ~perms:[Perms.READ; Perms.WRITE] target_domid
 
 let is_backend_mmap con = Xenbus.Xb.is_mmap con.xb
 
 let packet_of con tid rid ty data =
-	if (String.length data) > xenstore_payload_max && (is_backend_mmap con) then
-		Xenbus.Xb.Packet.create tid rid Xenbus.Xb.Op.Error "E2BIG\000"
-	else
-		Xenbus.Xb.Packet.create tid rid ty data
+  if (String.length data) > xenstore_payload_max && (is_backend_mmap con) then
+    Xenbus.Xb.Packet.create tid rid Xenbus.Xb.Op.Error "E2BIG\000"
+  else
+    Xenbus.Xb.Packet.create tid rid ty data
 
 let send_reply con tid rid ty data =
-	let result = Xenbus.Xb.queue con.xb (packet_of con tid rid ty data) in
-	(* should never happen: we only process an input packet when there is room for an output packet *)
-	(* and the limit for replies is different from the limit for watch events *)
-	assert (result <> None)
+  let result = Xenbus.Xb.queue con.xb (packet_of con tid rid ty data) in
+  (* should never happen: we only process an input packet when there is room for an output packet *)
+  (* and the limit for replies is different from the limit for watch events *)
+  assert (result <> None)
 
 let send_error con tid rid err = send_reply con tid rid Xenbus.Xb.Op.Error (err ^ "\000")
 let send_ack con tid rid ty = send_reply con tid rid ty "OK\000"
 
 let get_watch_path con path =
-	if path.[0] = '@' || path.[0] = '/' then
-		path
-	else
-		let rpath = get_path con in
-		rpath ^ path
+  if path.[0] = '@' || path.[0] = '/' then
+    path
+  else
+    let rpath = get_path con in
+    rpath ^ path
 
 let get_watches (con: t) path =
-	if Hashtbl.mem con.watches path
-	then Hashtbl.find con.watches path
-	else []
+  if Hashtbl.mem con.watches path
+  then Hashtbl.find con.watches path
+  else []
 
 let get_children_watches con path =
-	let path = path ^ "/" in
-	List.concat (Hashtbl.fold (fun p w l ->
-		if String.startswith path p then w :: l else l) con.watches [])
+  let path = path ^ "/" in
+  List.concat (Hashtbl.fold (fun p w l ->
+      if String.startswith path p then w :: l else l) con.watches [])
 
 let is_dom0 con =
-	Perms.Connection.is_dom0 (get_perm con)
+  Perms.Connection.is_dom0 (get_perm con)
 
 let add_watch con (path, apath) token =
-	if !Quota.activate && !Define.maxwatch > 0 &&
-	   not (is_dom0 con) && con.nb_watches > !Define.maxwatch then
-		raise Quota.Limit_reached;
-	let l = get_watches con apath in
-	if List.exists (fun w -> w.token = token) l then
-		raise Define.Already_exist;
-	let watch = watch_create ~con ~token ~path in
-	Hashtbl.replace con.watches apath (watch :: l);
-	con.nb_watches <- con.nb_watches + 1;
-	watch
+  if !Quota.activate && !Define.maxwatch > 0 &&
+     not (is_dom0 con) && con.nb_watches > !Define.maxwatch then
+    raise Quota.Limit_reached;
+  let l = get_watches con apath in
+  if List.exists (fun w -> w.token = token) l then
+    raise Define.Already_exist;
+  let watch = watch_create ~con ~token ~path in
+  Hashtbl.replace con.watches apath (watch :: l);
+  con.nb_watches <- con.nb_watches + 1;
+  watch
 
 let del_watch con path token =
-	let apath = get_watch_path con path in
-	let ws = Hashtbl.find con.watches apath in
-	let w = List.find (fun w -> w.token = token) ws in
-	let filtered = Utils.list_remove w ws in
-	if List.length filtered > 0 then
-		Hashtbl.replace con.watches apath filtered
-	else
-		Hashtbl.remove con.watches apath;
-	con.nb_watches <- con.nb_watches - 1;
-	apath, w
+  let apath = get_watch_path con path in
+  let ws = Hashtbl.find con.watches apath in
+  let w = List.find (fun w -> w.token = token) ws in
+  let filtered = Utils.list_remove w ws in
+  if List.length filtered > 0 then
+    Hashtbl.replace con.watches apath filtered
+  else
+    Hashtbl.remove con.watches apath;
+  con.nb_watches <- con.nb_watches - 1;
+  apath, w
 
 let del_watches con =
   Hashtbl.reset con.watches;
@@ -308,63 +308,63 @@ let del_transactions con =
   Hashtbl.reset con.transactions
 
 let list_watches con =
-	let ll = Hashtbl.fold
-		(fun _ watches acc -> List.map (fun watch -> watch.path, watch.token) watches :: acc)
-		con.watches [] in
-	List.concat ll
+  let ll = Hashtbl.fold
+      (fun _ watches acc -> List.map (fun watch -> watch.path, watch.token) watches :: acc)
+      con.watches [] in
+  List.concat ll
 
 let dbg fmt = Logging.debug "connection" fmt
 let info fmt = Logging.info "connection" fmt
 
 let lookup_watch_perm path = function
-| None -> []
-| Some root ->
-	try Store.Path.apply root path @@ fun parent name ->
-		Store.Node.get_perms parent ::
-		try [Store.Node.get_perms (Store.Node.find parent name)]
-		with Not_found -> []
-	with Define.Invalid_path | Not_found -> []
+  | None -> []
+  | Some root ->
+    try Store.Path.apply root path @@ fun parent name ->
+      Store.Node.get_perms parent ::
+      try [Store.Node.get_perms (Store.Node.find parent name)]
+      with Not_found -> []
+    with Define.Invalid_path | Not_found -> []
 
 let lookup_watch_perms oldroot root path =
-	lookup_watch_perm path oldroot @ lookup_watch_perm path (Some root)
+  lookup_watch_perm path oldroot @ lookup_watch_perm path (Some root)
 
 let fire_single_watch_unchecked source watch =
-	let data = Utils.join_by_null [watch.path; watch.token; ""] in
-	let pkt = packet_of watch.con Transaction.none 0 Xenbus.Xb.Op.Watchevent data in
+  let data = Utils.join_by_null [watch.path; watch.token; ""] in
+  let pkt = packet_of watch.con Transaction.none 0 Xenbus.Xb.Op.Watchevent data in
 
-	match BoundedPipe.push source.pending_source_watchevents (watch, pkt) with
-	| Some () -> () (* packet queued *)
-	| None ->
-			(* a well behaved Dom0 shouldn't be able to trigger this,
-			   if it happens it is likely a Dom0 bug causing runaway memory usage
-			 *)
-			failwith "watch event overflow, cannot happen"
+  match BoundedPipe.push source.pending_source_watchevents (watch, pkt) with
+  | Some () -> () (* packet queued *)
+  | None ->
+    (* a well behaved Dom0 shouldn't be able to trigger this,
+       			   if it happens it is likely a Dom0 bug causing runaway memory usage
+       			 *)
+    failwith "watch event overflow, cannot happen"
 
 let fire_single_watch source (oldroot, root) watch =
-	let abspath = get_watch_path watch.con watch.path |> Store.Path.of_string in
-	let perms = lookup_watch_perms oldroot root abspath in
-	if Perms.can_fire_watch watch.con.perm perms then
-		fire_single_watch_unchecked source watch
-	else
-		let perms = perms |> List.map (Perms.Node.to_string ~sep:" ") |> String.concat ", " in
-		let con = get_domstr watch.con in
-		Logging.watch_not_fired ~con perms (Store.Path.to_string abspath)
+  let abspath = get_watch_path watch.con watch.path |> Store.Path.of_string in
+  let perms = lookup_watch_perms oldroot root abspath in
+  if Perms.can_fire_watch watch.con.perm perms then
+    fire_single_watch_unchecked source watch
+  else
+    let perms = perms |> List.map (Perms.Node.to_string ~sep:" ") |> String.concat ", " in
+    let con = get_domstr watch.con in
+    Logging.watch_not_fired ~con perms (Store.Path.to_string abspath)
 
 let fire_watch source roots watch path =
-	let new_path =
-		if watch.is_relative && path.[0] = '/'
-		then begin
-			let n = String.length watch.base
-		 	and m = String.length path in
-			String.sub path n (m - n)
-		end else
-			path
-	in
-	fire_single_watch source roots { watch with path = new_path }
+  let new_path =
+    if watch.is_relative && path.[0] = '/'
+    then begin
+      let n = String.length watch.base
+      and m = String.length path in
+      String.sub path n (m - n)
+    end else
+      path
+  in
+  fire_single_watch source roots { watch with path = new_path }
 
 (* Search for a valid unused transaction id. *)
 let rec valid_transaction_id con proposed_id =
-	(*
+ (*
 	 * Clip proposed_id to the range [1, 0x3ffffffe]
 	 *
 	 * The chosen id must not trucate when written into the uint32_t tx_id
@@ -373,36 +373,36 @@ let rec valid_transaction_id con proposed_id =
 	 *
 	 * Oxenstored therefore supports only 1 billion open transactions.
 	 *)
-	let id = if proposed_id <= 0 || proposed_id >= 0x3fffffff then 1 else proposed_id in
+  let id = if proposed_id <= 0 || proposed_id >= 0x3fffffff then 1 else proposed_id in
 
-	if Hashtbl.mem con.transactions id then (
-		(* Outstanding transaction with this id.  Try the next. *)
-		valid_transaction_id con (id + 1)
-	) else
-		id
+  if Hashtbl.mem con.transactions id then (
+    (* Outstanding transaction with this id.  Try the next. *)
+    valid_transaction_id con (id + 1)
+  ) else
+    id
 
 let start_transaction con store =
-	if !Define.maxtransaction > 0 && not (is_dom0 con)
-	&& Hashtbl.length con.transactions > !Define.maxtransaction then
-		raise Quota.Transaction_opened;
-	let id = valid_transaction_id con con.next_tid in
-	con.next_tid <- id + 1;
-	let ntrans = Transaction.make id store in
-	Hashtbl.add con.transactions id ntrans;
-	Logging.start_transaction ~tid:id ~con:(get_domstr con);
-	id
+  if !Define.maxtransaction > 0 && not (is_dom0 con)
+     && Hashtbl.length con.transactions > !Define.maxtransaction then
+    raise Quota.Transaction_opened;
+  let id = valid_transaction_id con con.next_tid in
+  con.next_tid <- id + 1;
+  let ntrans = Transaction.make id store in
+  Hashtbl.add con.transactions id ntrans;
+  Logging.start_transaction ~tid:id ~con:(get_domstr con);
+  id
 
 let end_transaction con tid commit =
-	let trans = Hashtbl.find con.transactions tid in
-	Hashtbl.remove con.transactions tid;
-	Logging.end_transaction ~tid ~con:(get_domstr con);
-	match commit with
-	| None -> true
-	| Some transaction_replay_f ->
-		Transaction.commit ~con:(get_domstr con) trans || transaction_replay_f con trans
+  let trans = Hashtbl.find con.transactions tid in
+  Hashtbl.remove con.transactions tid;
+  Logging.end_transaction ~tid ~con:(get_domstr con);
+  match commit with
+  | None -> true
+  | Some transaction_replay_f ->
+    Transaction.commit ~con:(get_domstr con) trans || transaction_replay_f con trans
 
 let get_transaction con tid =
-	Hashtbl.find con.transactions tid
+  Hashtbl.find con.transactions tid
 
 let do_input con = Xenbus.Xb.input con.xb
 let has_partial_input con = Xenbus.Xb.has_partial_input con.xb
@@ -434,53 +434,53 @@ let is_bad con = match con.dom with None -> false | Some dom -> Domain.is_bad_do
    Restrictions below can be relaxed once xenstored learns to dump more
    of its live state in a safe way *)
 let has_extra_connection_data con =
-	let has_in = has_partial_input con in
-	let has_out = has_output con in
-	let has_nondefault_perms = make_perm con.dom <> con.perm in
-	has_in || has_out
-	(* TODO: what about SIGTERM, should use systemd to store FDS
-	|| has_socket (* dom0 sockets not * dumped yet *) *)
-	|| has_nondefault_perms (* set_target not dumped yet *)
+  let has_in = has_partial_input con in
+  let has_out = has_output con in
+  let has_nondefault_perms = make_perm con.dom <> con.perm in
+  has_in || has_out
+  (* TODO: what about SIGTERM, should use systemd to store FDS
+     	|| has_socket (* dom0 sockets not * dumped yet *) *)
+  || has_nondefault_perms (* set_target not dumped yet *)
 
 let has_transaction_data con =
-	let n = number_of_transactions con in
-	dbg "%s: number of transactions = %d" (get_domstr con) n;
-	n > 0
+  let n = number_of_transactions con in
+  dbg "%s: number of transactions = %d" (get_domstr con) n;
+  n > 0
 
 let prevents_live_update con = not (is_bad con)
-	&& (has_extra_connection_data con || has_transaction_data con)
+                               && (has_extra_connection_data con || has_transaction_data con)
 
 let has_more_work con =
-	(has_more_input con && can_input con) || not (has_old_output con) && has_new_output con
+  (has_more_input con && can_input con) || not (has_old_output con) && has_new_output con
 
 let incr_ops con = con.stat_nb_ops <- con.stat_nb_ops + 1
 
 let stats con =
-	Hashtbl.length con.watches, con.stat_nb_ops
+  Hashtbl.length con.watches, con.stat_nb_ops
 
 let dump con chan =
-	let id = match con.dom with
-	| Some dom ->
-		let domid = Domain.get_id dom in
-		(* dump domain *)
-		Domain.dump dom chan;
-		domid
-	| None ->
-		let fd = con |> get_fd |> Utils.FD.to_int in
-		Printf.fprintf chan "socket,%d\n" fd;
-		-fd
-	in
-	(* dump watches *)
-	List.iter (fun (path, token) ->
-		Printf.fprintf chan "watch,%d,%s,%s\n" id (Utils.hexify path) (Utils.hexify token)
-		) (list_watches con)
+  let id = match con.dom with
+    | Some dom ->
+      let domid = Domain.get_id dom in
+      (* dump domain *)
+      Domain.dump dom chan;
+      domid
+    | None ->
+      let fd = con |> get_fd |> Utils.FD.to_int in
+      Printf.fprintf chan "socket,%d\n" fd;
+      -fd
+  in
+  (* dump watches *)
+  List.iter (fun (path, token) ->
+      Printf.fprintf chan "watch,%d,%s,%s\n" id (Utils.hexify path) (Utils.hexify token)
+    ) (list_watches con)
 
 let debug con =
-	let domid = get_domstr con in
-	let watches = List.map (fun (path, token) -> Printf.sprintf "watch %s: %s %s\n" domid path token) (list_watches con) in
-	String.concat "" watches
+  let domid = get_domstr con in
+  let watches = List.map (fun (path, token) -> Printf.sprintf "watch %s: %s %s\n" domid path token) (list_watches con) in
+  String.concat "" watches
 
 let decr_conflict_credit doms con =
-	match con.dom with
-	| None -> () (* It's a socket connection. We don't know which domain we're in, so treat it as if it's free to conflict *)
-	| Some dom -> Domains.decr_conflict_credit doms dom
+  match con.dom with
+  | None -> () (* It's a socket connection. We don't know which domain we're in, so treat it as if it's free to conflict *)
+  | Some dom -> Domains.decr_conflict_credit doms dom
diff --git a/tools/ocaml/xenstored/connections.ml b/tools/ocaml/xenstored/connections.ml
index a80ae0bed2..7601ccdfea 100644
--- a/tools/ocaml/xenstored/connections.ml
+++ b/tools/ocaml/xenstored/connections.ml
@@ -18,213 +18,213 @@
 let debug fmt = Logging.debug "connections" fmt
 
 type t = {
-	anonymous: (Unix.file_descr, Connection.t) Hashtbl.t;
-	domains: (int, Connection.t) Hashtbl.t;
-	ports: (Xeneventchn.t, Connection.t) Hashtbl.t;
-	mutable watches: Connection.watch list Trie.t;
-	mutable has_pending_watchevents: Connection.Watch.Set.t
+  anonymous: (Unix.file_descr, Connection.t) Hashtbl.t;
+  domains: (int, Connection.t) Hashtbl.t;
+  ports: (Xeneventchn.t, Connection.t) Hashtbl.t;
+  mutable watches: Connection.watch list Trie.t;
+  mutable has_pending_watchevents: Connection.Watch.Set.t
 }
 
 let create () = {
-	anonymous = Hashtbl.create 37;
-	domains = Hashtbl.create 37;
-	ports = Hashtbl.create 37;
-	watches = Trie.create ();
-	has_pending_watchevents = Connection.Watch.Set.empty;
+  anonymous = Hashtbl.create 37;
+  domains = Hashtbl.create 37;
+  ports = Hashtbl.create 37;
+  watches = Trie.create ();
+  has_pending_watchevents = Connection.Watch.Set.empty;
 }
 
 let get_capacity () =
-	(* not multiplied by maxwatch on purpose: 2nd queue in watch itself! *)
-	{ Xenbus.Xb.maxoutstanding = !Define.maxoutstanding; maxwatchevents = !Define.maxwatchevents }
+  (* not multiplied by maxwatch on purpose: 2nd queue in watch itself! *)
+  { Xenbus.Xb.maxoutstanding = !Define.maxoutstanding; maxwatchevents = !Define.maxwatchevents }
 
 let add_anonymous cons fd =
-	let capacity = get_capacity () in
-	let xbcon = Xenbus.Xb.open_fd fd ~capacity in
-	let con = Connection.create xbcon None in
-	Hashtbl.add cons.anonymous (Xenbus.Xb.get_fd xbcon) con
+  let capacity = get_capacity () in
+  let xbcon = Xenbus.Xb.open_fd fd ~capacity in
+  let con = Connection.create xbcon None in
+  Hashtbl.add cons.anonymous (Xenbus.Xb.get_fd xbcon) con
 
 let add_domain cons dom =
-	let capacity = get_capacity () in
-	let xbcon = Xenbus.Xb.open_mmap ~capacity (Domain.get_interface dom) (fun () -> Domain.notify dom) in
-	let con = Connection.create xbcon (Some dom) in
-	Hashtbl.add cons.domains (Domain.get_id dom) con;
-	Hashtbl.add cons.ports (Domain.get_local_port dom) con
+  let capacity = get_capacity () in
+  let xbcon = Xenbus.Xb.open_mmap ~capacity (Domain.get_interface dom) (fun () -> Domain.notify dom) in
+  let con = Connection.create xbcon (Some dom) in
+  Hashtbl.add cons.domains (Domain.get_id dom) con;
+  Hashtbl.add cons.ports (Domain.get_local_port dom) con
 
 let select ?(only_if = (fun _ -> true)) cons =
-	Hashtbl.fold (fun _ con (ins, outs) ->
-		if (only_if con) then (
-			let fd = Connection.get_fd con in
-			let in_fds = if Connection.can_input con then fd :: ins else ins in
-			let out_fds = if Connection.has_output con then fd :: outs else outs in
-			in_fds, out_fds
-		) else (ins, outs)
-	)
-	cons.anonymous ([], [])
+  Hashtbl.fold (fun _ con (ins, outs) ->
+      if (only_if con) then (
+        let fd = Connection.get_fd con in
+        let in_fds = if Connection.can_input con then fd :: ins else ins in
+        let out_fds = if Connection.has_output con then fd :: outs else outs in
+        in_fds, out_fds
+      ) else (ins, outs)
+    )
+    cons.anonymous ([], [])
 
 let find cons =
-	Hashtbl.find cons.anonymous
+  Hashtbl.find cons.anonymous
 
 let find_domain cons =
-	Hashtbl.find cons.domains
+  Hashtbl.find cons.domains
 
 let find_domain_by_port cons port =
-	Hashtbl.find cons.ports port
+  Hashtbl.find cons.ports port
 
 let del_watches_of_con con watches =
-	match List.filter (fun w -> Connection.get_con w != con) watches with
-	| [] -> None
-	| ws -> Some ws
+  match List.filter (fun w -> Connection.get_con w != con) watches with
+  | [] -> None
+  | ws -> Some ws
 
 let del_watches cons con =
-	Connection.del_watches con;
-	cons.watches <- Trie.map (del_watches_of_con con) cons.watches;
-	cons.has_pending_watchevents <-
-		cons.has_pending_watchevents |> Connection.Watch.Set.filter @@ fun w ->
-		Connection.get_con w != con
+  Connection.del_watches con;
+  cons.watches <- Trie.map (del_watches_of_con con) cons.watches;
+  cons.has_pending_watchevents <-
+    cons.has_pending_watchevents |> Connection.Watch.Set.filter @@ fun w ->
+    Connection.get_con w != con
 
 let del_anonymous cons con =
-	try
-		Hashtbl.remove cons.anonymous (Connection.get_fd con);
-		del_watches cons con;
-		Connection.close con
-	with exn ->
-		debug "del anonymous %s" (Printexc.to_string exn)
+  try
+    Hashtbl.remove cons.anonymous (Connection.get_fd con);
+    del_watches cons con;
+    Connection.close con
+  with exn ->
+    debug "del anonymous %s" (Printexc.to_string exn)
 
 let del_domain cons id =
-	try
-		let con = find_domain cons id in
-		Hashtbl.remove cons.domains id;
-		(match Connection.get_domain con with
-		 | Some d -> Hashtbl.remove cons.ports (Domain.get_local_port d)
-		 | None -> ());
-		del_watches cons con;
-		Connection.close con
-	with exn ->
-		debug "del domain %u: %s" id (Printexc.to_string exn)
+  try
+    let con = find_domain cons id in
+    Hashtbl.remove cons.domains id;
+    (match Connection.get_domain con with
+     | Some d -> Hashtbl.remove cons.ports (Domain.get_local_port d)
+     | None -> ());
+    del_watches cons con;
+    Connection.close con
+  with exn ->
+    debug "del domain %u: %s" id (Printexc.to_string exn)
 
 let iter_domains cons fct =
-	Hashtbl.iter (fun _ c -> fct c) cons.domains
+  Hashtbl.iter (fun _ c -> fct c) cons.domains
 
 let iter_anonymous cons fct =
-	Hashtbl.iter (fun _ c -> fct c) cons.anonymous
+  Hashtbl.iter (fun _ c -> fct c) cons.anonymous
 
 let iter cons fct =
-	iter_domains cons fct; iter_anonymous cons fct
+  iter_domains cons fct; iter_anonymous cons fct
 
 let has_more_work cons =
-	Hashtbl.fold
-		(fun _id con acc ->
-		 if Connection.has_more_work con then con :: acc else acc)
-		cons.domains []
+  Hashtbl.fold
+    (fun _id con acc ->
+       if Connection.has_more_work con then con :: acc else acc)
+    cons.domains []
 
 let key_of_str path =
-	if path.[0] = '@'
-	then [path]
-	else "" :: Store.Path.to_string_list (Store.Path.of_string path)
+  if path.[0] = '@'
+  then [path]
+  else "" :: Store.Path.to_string_list (Store.Path.of_string path)
 
 let key_of_path path =
-	"" :: Store.Path.to_string_list path
+  "" :: Store.Path.to_string_list path
 
 let add_watch cons con path token =
-	let apath = Connection.get_watch_path con path in
-	(* fail on invalid paths early by calling key_of_str before adding watch *)
-	let key = key_of_str apath in
-	let watch = Connection.add_watch con (path, apath) token in
-	let watches =
- 		if Trie.mem cons.watches key
- 		then Trie.find cons.watches key
- 		else []
-	in
- 	cons.watches <- Trie.set cons.watches key (watch :: watches);
-	watch
+  let apath = Connection.get_watch_path con path in
+  (* fail on invalid paths early by calling key_of_str before adding watch *)
+  let key = key_of_str apath in
+  let watch = Connection.add_watch con (path, apath) token in
+  let watches =
+    if Trie.mem cons.watches key
+    then Trie.find cons.watches key
+    else []
+  in
+  cons.watches <- Trie.set cons.watches key (watch :: watches);
+  watch
 
 let del_watch cons con path token =
- 	let apath, watch = Connection.del_watch con path token in
- 	let key = key_of_str apath in
- 	let watches = Utils.list_remove watch (Trie.find cons.watches key) in
- 	if watches = [] then
-		cons.watches <- Trie.unset cons.watches key
- 	else
-		cons.watches <- Trie.set cons.watches key watches;
- 	watch
+  let apath, watch = Connection.del_watch con path token in
+  let key = key_of_str apath in
+  let watches = Utils.list_remove watch (Trie.find cons.watches key) in
+  if watches = [] then
+    cons.watches <- Trie.unset cons.watches key
+  else
+    cons.watches <- Trie.set cons.watches key watches;
+  watch
 
 (* path is absolute *)
 let fire_watches ?oldroot source root cons path recurse =
-	let key = key_of_path path in
-	let path = Store.Path.to_string path in
-	let roots = oldroot, root in
-	let fire_watch _ = function
-		| None         -> ()
-		| Some watches -> List.iter (fun w -> Connection.fire_watch source roots w path) watches
-	in
-	let fire_rec _x = function
-		| None         -> ()
-		| Some watches ->
-			List.iter (Connection.fire_single_watch source roots) watches
-	in
-	Trie.iter_path fire_watch cons.watches key;
-	if recurse then
-		Trie.iter fire_rec (Trie.sub cons.watches key)
+  let key = key_of_path path in
+  let path = Store.Path.to_string path in
+  let roots = oldroot, root in
+  let fire_watch _ = function
+    | None         -> ()
+    | Some watches -> List.iter (fun w -> Connection.fire_watch source roots w path) watches
+  in
+  let fire_rec _x = function
+    | None         -> ()
+    | Some watches ->
+      List.iter (Connection.fire_single_watch source roots) watches
+  in
+  Trie.iter_path fire_watch cons.watches key;
+  if recurse then
+    Trie.iter fire_rec (Trie.sub cons.watches key)
 
 let send_watchevents cons con =
-	cons.has_pending_watchevents <-
-		cons.has_pending_watchevents |> Connection.Watch.Set.filter Connection.Watch.flush_events;
-	Connection.source_flush_watchevents con
+  cons.has_pending_watchevents <-
+    cons.has_pending_watchevents |> Connection.Watch.Set.filter Connection.Watch.flush_events;
+  Connection.source_flush_watchevents con
 
 let fire_spec_watches root cons specpath =
-	let source = find_domain cons 0 in
-	iter cons (fun con ->
-		List.iter (Connection.fire_single_watch source (None, root)) (Connection.get_watches con specpath))
+  let source = find_domain cons 0 in
+  iter cons (fun con ->
+      List.iter (Connection.fire_single_watch source (None, root)) (Connection.get_watches con specpath))
 
 let set_target cons domain target_domain =
-	let con = find_domain cons domain in
-	Connection.set_target con target_domain
+  let con = find_domain cons domain in
+  Connection.set_target con target_domain
 
 let number_of_transactions cons =
-	let res = ref 0 in
-	let aux con =
-		res := Connection.number_of_transactions con + !res
-	in
-	iter cons aux;
-	!res
+  let res = ref 0 in
+  let aux con =
+    res := Connection.number_of_transactions con + !res
+  in
+  iter cons aux;
+  !res
 
 let stats cons =
-	let nb_ops_anon = ref 0
-	and nb_watchs_anon = ref 0
-	and nb_ops_dom = ref 0
-	and nb_watchs_dom = ref 0 in
-	iter_anonymous cons (fun con ->
-		let con_watchs, con_ops = Connection.stats con in
-		nb_ops_anon := !nb_ops_anon + con_ops;
-		nb_watchs_anon := !nb_watchs_anon + con_watchs;
-	);
-	iter_domains cons (fun con ->
-		let con_watchs, con_ops = Connection.stats con in
-		nb_ops_dom := !nb_ops_dom + con_ops;
-		nb_watchs_dom := !nb_watchs_dom + con_watchs;
-	);
-	(Hashtbl.length cons.anonymous, !nb_ops_anon, !nb_watchs_anon,
-	 Hashtbl.length cons.domains, !nb_ops_dom, !nb_watchs_dom)
+  let nb_ops_anon = ref 0
+  and nb_watchs_anon = ref 0
+  and nb_ops_dom = ref 0
+  and nb_watchs_dom = ref 0 in
+  iter_anonymous cons (fun con ->
+      let con_watchs, con_ops = Connection.stats con in
+      nb_ops_anon := !nb_ops_anon + con_ops;
+      nb_watchs_anon := !nb_watchs_anon + con_watchs;
+    );
+  iter_domains cons (fun con ->
+      let con_watchs, con_ops = Connection.stats con in
+      nb_ops_dom := !nb_ops_dom + con_ops;
+      nb_watchs_dom := !nb_watchs_dom + con_watchs;
+    );
+  (Hashtbl.length cons.anonymous, !nb_ops_anon, !nb_watchs_anon,
+   Hashtbl.length cons.domains, !nb_ops_dom, !nb_watchs_dom)
 
 let debug cons =
-	let anonymous = Hashtbl.fold (fun _ con accu -> Connection.debug con :: accu) cons.anonymous [] in
-	let domains = Hashtbl.fold (fun _ con accu -> Connection.debug con :: accu) cons.domains [] in
-	String.concat "" (domains @ anonymous)
+  let anonymous = Hashtbl.fold (fun _ con accu -> Connection.debug con :: accu) cons.anonymous [] in
+  let domains = Hashtbl.fold (fun _ con accu -> Connection.debug con :: accu) cons.domains [] in
+  String.concat "" (domains @ anonymous)
 
 let debug_watchevents cons con =
-	(* == (physical equality)
-	   has to be used here because w.con.xb.backend might contain a [unit->unit] value causing regular
-	   comparison to fail due to having a 'functional value' which cannot be compared.
-	 *)
-	let s = cons.has_pending_watchevents |> Connection.Watch.Set.filter (fun w -> w.con == con) in
-	let pending = s |> Connection.Watch.Set.elements
-		|> List.map (fun w -> Connection.Watch.pending_watchevents w) |> List.fold_left (+) 0 in
-	Printf.sprintf "Watches with pending events: %d, pending events total: %d" (Connection.Watch.Set.cardinal s) pending
+  (* == (physical equality)
+     	   has to be used here because w.con.xb.backend might contain a [unit->unit] value causing regular
+     	   comparison to fail due to having a 'functional value' which cannot be compared.
+     	 *)
+  let s = cons.has_pending_watchevents |> Connection.Watch.Set.filter (fun w -> w.con == con) in
+  let pending = s |> Connection.Watch.Set.elements
+                |> List.map (fun w -> Connection.Watch.pending_watchevents w) |> List.fold_left (+) 0 in
+  Printf.sprintf "Watches with pending events: %d, pending events total: %d" (Connection.Watch.Set.cardinal s) pending
 
 let filter ~f cons =
-	let fold _ v acc = if f v then v :: acc else acc in
-	[]
-	|> Hashtbl.fold fold cons.anonymous
-	|> Hashtbl.fold fold cons.domains
+  let fold _ v acc = if f v then v :: acc else acc in
+  []
+  |> Hashtbl.fold fold cons.anonymous
+  |> Hashtbl.fold fold cons.domains
 
 let prevents_quit cons = filter ~f:Connection.prevents_live_update cons
diff --git a/tools/ocaml/xenstored/disk.ml b/tools/ocaml/xenstored/disk.ml
index 4739967b61..91f945f2bd 100644
--- a/tools/ocaml/xenstored/disk.ml
+++ b/tools/ocaml/xenstored/disk.ml
@@ -25,133 +25,133 @@ exception Bad_escape
 let is_digit c = match c with '0' .. '9' -> true | _ -> false
 
 let undec c =
-	match c with
-	| '0' .. '9' -> (Char.code c) - (Char.code '0')
-	| _          -> raise (Failure "undecify")
+  match c with
+  | '0' .. '9' -> (Char.code c) - (Char.code '0')
+  | _          -> raise (Failure "undecify")
 
 let unhex c =
-	let c = Char.lowercase c in
-	match c with
-	| '0' .. '9' -> (Char.code c) - (Char.code '0')
-	| 'a' .. 'f' -> (Char.code c) - (Char.code 'a') + 10
-	| _          -> raise (Failure "unhexify")
+  let c = Char.lowercase c in
+  match c with
+  | '0' .. '9' -> (Char.code c) - (Char.code '0')
+  | 'a' .. 'f' -> (Char.code c) - (Char.code 'a') + 10
+  | _          -> raise (Failure "unhexify")
 
 let string_unescaped s =
-	let len = String.length s
-	and i = ref 0 in
-	let d = Buffer.create len in
+  let len = String.length s
+  and i = ref 0 in
+  let d = Buffer.create len in
 
-	let read_escape () =
-		incr i;
-		match s.[!i] with
-		| 'n'  -> '\n'
-		| 'r'  -> '\r'
-		| '\\' -> '\\'
-		| '\'' -> '\''
-		| '"'  -> '"'
-		| 't'  -> '\t'
-		| 'b'  -> '\b'
-		| 'x'  ->
-			let v = (unhex s.[!i + 1] * 16) + unhex s.[!i + 2] in
-			i := !i + 2;
-			Char.chr v
-		| c    ->
-			if is_digit c then (
-				let v = (undec s.[!i]) * 100 +
-					(undec s.[!i + 1]) * 10 +
-					(undec s.[!i + 2]) in
-				i := !i + 2;
-				Char.chr v
-			) else
-				raise Bad_escape
-	in
+  let read_escape () =
+    incr i;
+    match s.[!i] with
+    | 'n'  -> '\n'
+    | 'r'  -> '\r'
+    | '\\' -> '\\'
+    | '\'' -> '\''
+    | '"'  -> '"'
+    | 't'  -> '\t'
+    | 'b'  -> '\b'
+    | 'x'  ->
+      let v = (unhex s.[!i + 1] * 16) + unhex s.[!i + 2] in
+      i := !i + 2;
+      Char.chr v
+    | c    ->
+      if is_digit c then (
+        let v = (undec s.[!i]) * 100 +
+                (undec s.[!i + 1]) * 10 +
+                (undec s.[!i + 2]) in
+        i := !i + 2;
+        Char.chr v
+      ) else
+        raise Bad_escape
+  in
 
-	while !i < len
-	do
-		let c = match s.[!i] with
-		| '\\' -> read_escape ()
-		| c    -> c in
-		Buffer.add_char d c;
-		incr i
-	done;
-	Buffer.contents d
+  while !i < len
+  do
+    let c = match s.[!i] with
+      | '\\' -> read_escape ()
+      | c    -> c in
+    Buffer.add_char d c;
+    incr i
+  done;
+  Buffer.contents d
 
 (* file -> lines_of_file *)
 let file_readlines file =
-	let channel = open_in file in
-	let rec input_line_list channel =
-		let line = try input_line channel with End_of_file -> "" in
-		if String.length line > 0 then
-			line :: input_line_list channel
-		else (
-			close_in channel;
-			[]
-		) in
-	input_line_list channel
+  let channel = open_in file in
+  let rec input_line_list channel =
+    let line = try input_line channel with End_of_file -> "" in
+    if String.length line > 0 then
+      line :: input_line_list channel
+    else (
+      close_in channel;
+      []
+    ) in
+  input_line_list channel
 
 let rec map_string_list_range l s =
-	match l with
-	| [] -> []
-	| (a,b) :: l -> String.sub s a (b - a) :: map_string_list_range l s
+  match l with
+  | [] -> []
+  | (a,b) :: l -> String.sub s a (b - a) :: map_string_list_range l s
 
 let is_digit c =
-	try ignore (int_of_char c); true with _ -> false
+  try ignore (int_of_char c); true with _ -> false
 
 let rec parse_perm s =
-	let len = String.length s in
-	if len = 0 then
-		[]
-	else
-		let i = ref 1 in
-		while !i < len && is_digit s.[!i] do incr i done;
-		let x = String.sub s 0 !i
-		and lx = String.sub s !i len in
-		x :: parse_perm lx
+  let len = String.length s in
+  if len = 0 then
+    []
+  else
+    let i = ref 1 in
+    while !i < len && is_digit s.[!i] do incr i done;
+    let x = String.sub s 0 !i
+    and lx = String.sub s !i len in
+    x :: parse_perm lx
 
 let read store =
-	(* don't let the permission get on our way, full perm ! *)
-	let v = Store.get_ops store Perms.Connection.full_rights in
+  (* don't let the permission get on our way, full perm ! *)
+  let v = Store.get_ops store Perms.Connection.full_rights in
 
-	(* a line is : path{perm} or path{perm} = value *)
-	let parse_line s =
-		let path, perm, value =
-			let len = String.length s in
-			let si = if String.contains s '=' then
-					String.index s '='
-				else
-					len - 1 in
-			let pi = String.rindex_from s si '{' in
-			let epi = String.index_from s pi '}' in
+  (* a line is : path{perm} or path{perm} = value *)
+  let parse_line s =
+    let path, perm, value =
+      let len = String.length s in
+      let si = if String.contains s '=' then
+          String.index s '='
+        else
+          len - 1 in
+      let pi = String.rindex_from s si '{' in
+      let epi = String.index_from s pi '}' in
 
-			if String.contains s '=' then
-				let ss = map_string_list_range [ (0, pi);
-				                                 (pi + 1, epi);
-				                                 (si + 2, len); ] s in
-				(List.nth ss 0, List.nth ss 1, List.nth ss 2)
-			else
-				let ss = map_string_list_range [ (0, pi);
-				                                 (pi + 1, epi);
-				                               ] s in
-				(List.nth ss 0, List.nth ss 1, "")
-			in
-		let path = Store.Path.of_string path in
-		v.Store.write path (string_unescaped value);
-		v.Store.setperms path (Perms.Node.of_strings (parse_perm perm)) in
-	try
-		let lines = file_readlines xs_daemon_database in
-		List.iter (fun s -> parse_line s) lines
-	with exc ->
-		error "caught exn %s" (Printexc.to_string exc)
+      if String.contains s '=' then
+        let ss = map_string_list_range [ (0, pi);
+                                         (pi + 1, epi);
+                                         (si + 2, len); ] s in
+        (List.nth ss 0, List.nth ss 1, List.nth ss 2)
+      else
+        let ss = map_string_list_range [ (0, pi);
+                                         (pi + 1, epi);
+                                       ] s in
+        (List.nth ss 0, List.nth ss 1, "")
+    in
+    let path = Store.Path.of_string path in
+    v.Store.write path (string_unescaped value);
+    v.Store.setperms path (Perms.Node.of_strings (parse_perm perm)) in
+  try
+    let lines = file_readlines xs_daemon_database in
+    List.iter (fun s -> parse_line s) lines
+  with exc ->
+    error "caught exn %s" (Printexc.to_string exc)
 
 let write store =
-	if !enable then
-	try
-		let tfile = Printf.sprintf "%s#" xs_daemon_database in
-		let channel = open_out_gen [ Open_wronly; Open_creat; Open_trunc; ]
-		                           0o600 tfile in
-		Store.dump store channel;
-		flush channel;
-		close_out channel;
-		Unix.rename tfile xs_daemon_database
-	with exc ->
-		error "caught exn %s" (Printexc.to_string exc)
+  if !enable then
+    try
+      let tfile = Printf.sprintf "%s#" xs_daemon_database in
+      let channel = open_out_gen [ Open_wronly; Open_creat; Open_trunc; ]
+          0o600 tfile in
+      Store.dump store channel;
+      flush channel;
+      close_out channel;
+      Unix.rename tfile xs_daemon_database
+    with exc ->
+      error "caught exn %s" (Printexc.to_string exc)
diff --git a/tools/ocaml/xenstored/domain.ml b/tools/ocaml/xenstored/domain.ml
index 5c15752a37..9a47888728 100644
--- a/tools/ocaml/xenstored/domain.ml
+++ b/tools/ocaml/xenstored/domain.ml
@@ -22,37 +22,37 @@ let warn  fmt = Logging.warn  "domain" fmt
 (* A bound inter-domain event channel port pair.  The remote port, and the
    local port it is bound to. *)
 type port_pair =
-{
-	local: Xeneventchn.t;
-	remote: int;
-}
+  {
+    local: Xeneventchn.t;
+    remote: int;
+  }
 
 (* Sentinal port_pair with both set to EVTCHN_INVALID *)
 let invalid_ports =
-{
-	local = Xeneventchn.of_int 0;
-	remote = 0
-}
+  {
+    local = Xeneventchn.of_int 0;
+    remote = 0
+  }
 
 let string_of_port_pair p =
-	sprintf "(l %d, r %d)" (Xeneventchn.to_int p.local) p.remote
+  sprintf "(l %d, r %d)" (Xeneventchn.to_int p.local) p.remote
 
 type t =
-{
-	id: Xenctrl.domid;
-	mfn: nativeint;
-	interface: Xenmmap.mmap_interface;
-	eventchn: Event.t;
-	mutable ports: port_pair;
-	mutable bad_client: bool;
-	mutable io_credit: int; (* the rounds of ring process left to do, default is 0,
-	                           usually set to 1 when there is work detected, could
-	                           also set to n to give "lazy" clients extra credit *)
-	mutable conflict_credit: float; (* Must be positive to perform writes; a commit
-	                                   that later causes conflict with another
-	                                   domain's transaction costs credit. *)
-	mutable caused_conflicts: int64;
-}
+  {
+    id: Xenctrl.domid;
+    mfn: nativeint;
+    interface: Xenmmap.mmap_interface;
+    eventchn: Event.t;
+    mutable ports: port_pair;
+    mutable bad_client: bool;
+    mutable io_credit: int; (* the rounds of ring process left to do, default is 0,
+                               	                           usually set to 1 when there is work detected, could
+                               	                           also set to n to give "lazy" clients extra credit *)
+    mutable conflict_credit: float; (* Must be positive to perform writes; a commit
+                                       	                                   that later causes conflict with another
+                                       	                                   domain's transaction costs credit. *)
+    mutable caused_conflicts: int64;
+  }
 
 let is_dom0 d = d.id = 0
 let get_id domain = domain.id
@@ -74,50 +74,50 @@ let is_paused_for_conflict dom = dom.conflict_credit <= 0.0
 let is_free_to_conflict = is_dom0
 
 let dump d chan =
-	fprintf chan "dom,%d,%nd,%d,%d\n"
-		d.id d.mfn d.ports.remote (Xeneventchn.to_int d.ports.local)
+  fprintf chan "dom,%d,%nd,%d,%d\n"
+    d.id d.mfn d.ports.remote (Xeneventchn.to_int d.ports.local)
 
 let rebind_evtchn d remote_port =
-	Event.unbind d.eventchn d.ports.local;
-	let local = Event.bind_interdomain d.eventchn d.id remote_port in
-	let new_ports = { local; remote = remote_port } in
-	debug "domain %d rebind %s => %s"
-	      d.id (string_of_port_pair d.ports) (string_of_port_pair new_ports);
-	d.ports <- new_ports
+  Event.unbind d.eventchn d.ports.local;
+  let local = Event.bind_interdomain d.eventchn d.id remote_port in
+  let new_ports = { local; remote = remote_port } in
+  debug "domain %d rebind %s => %s"
+    d.id (string_of_port_pair d.ports) (string_of_port_pair new_ports);
+  d.ports <- new_ports
 
 let notify dom =
-	Event.notify dom.eventchn dom.ports.local
+  Event.notify dom.eventchn dom.ports.local
 
 let close dom =
-	debug "domain %d unbind %s" dom.id (string_of_port_pair dom.ports);
-	Event.unbind dom.eventchn dom.ports.local;
-	dom.ports <- invalid_ports;
-	Xenmmap.unmap dom.interface
+  debug "domain %d unbind %s" dom.id (string_of_port_pair dom.ports);
+  Event.unbind dom.eventchn dom.ports.local;
+  dom.ports <- invalid_ports;
+  Xenmmap.unmap dom.interface
 
 (* On clean start, local_port will be None, and we must bind the remote port
    given.  On Live Update, the event channel is already bound, and both the
    local and remote port numbers come from the transfer record. *)
 let make ?local_port ~remote_port id mfn interface eventchn =
-	let local = match local_port with
-		| None -> Event.bind_interdomain eventchn id remote_port
-		| Some p -> Xeneventchn.of_int p
-	in
-	let ports = { local; remote = remote_port } in
-	debug "domain %d bind %s" id (string_of_port_pair ports);
-{
-	id = id;
-	mfn = mfn;
-	ports;
-	interface = interface;
-	eventchn = eventchn;
-	bad_client = false;
-	io_credit = 0;
-	conflict_credit = !Define.conflict_burst_limit;
-	caused_conflicts = 0L;
-}
+  let local = match local_port with
+    | None -> Event.bind_interdomain eventchn id remote_port
+    | Some p -> Xeneventchn.of_int p
+  in
+  let ports = { local; remote = remote_port } in
+  debug "domain %d bind %s" id (string_of_port_pair ports);
+  {
+    id = id;
+    mfn = mfn;
+    ports;
+    interface = interface;
+    eventchn = eventchn;
+    bad_client = false;
+    io_credit = 0;
+    conflict_credit = !Define.conflict_burst_limit;
+    caused_conflicts = 0L;
+  }
 
 let log_and_reset_conflict_stats logfn dom =
-	if dom.caused_conflicts > 0L then (
-		logfn dom.id dom.caused_conflicts;
-		dom.caused_conflicts <- 0L
-	)
+  if dom.caused_conflicts > 0L then (
+    logfn dom.id dom.caused_conflicts;
+    dom.caused_conflicts <- 0L
+  )
diff --git a/tools/ocaml/xenstored/domains.ml b/tools/ocaml/xenstored/domains.ml
index b6c075c838..7a3056c364 100644
--- a/tools/ocaml/xenstored/domains.ml
+++ b/tools/ocaml/xenstored/domains.ml
@@ -21,35 +21,35 @@ let warn fmt  = Logging.warn  "domains" fmt
 let xc = Xenctrl.interface_open ()
 
 type domains = {
-	eventchn: Event.t;
-	table: (Xenctrl.domid, Domain.t) Hashtbl.t;
+  eventchn: Event.t;
+  table: (Xenctrl.domid, Domain.t) Hashtbl.t;
 
-	(* N.B. the Queue module is not thread-safe but oxenstored is single-threaded. *)
-	(* Domains queue up to regain conflict-credit; we have a queue for
-	   domains that are carrying some penalty and so are below the
-	   maximum credit, and another queue for domains that have run out of
-	   credit and so have had their access paused. *)
-	doms_conflict_paused: (Domain.t option ref) Queue.t;
-	doms_with_conflict_penalty: (Domain.t option ref) Queue.t;
+  (* N.B. the Queue module is not thread-safe but oxenstored is single-threaded. *)
+  (* Domains queue up to regain conflict-credit; we have a queue for
+     	   domains that are carrying some penalty and so are below the
+     	   maximum credit, and another queue for domains that have run out of
+     	   credit and so have had their access paused. *)
+  doms_conflict_paused: (Domain.t option ref) Queue.t;
+  doms_with_conflict_penalty: (Domain.t option ref) Queue.t;
 
-	(* A callback function to be called when we go from zero to one paused domain.
-	   This will be to reset the countdown until the next unit of credit is issued. *)
-	on_first_conflict_pause: unit -> unit;
+  (* A callback function to be called when we go from zero to one paused domain.
+     	   This will be to reset the countdown until the next unit of credit is issued. *)
+  on_first_conflict_pause: unit -> unit;
 
-	(* If config is set to use individual instead of aggregate conflict-rate-limiting,
-	   we use these counts instead of the queues. The second one includes the first. *)
-	mutable n_paused: int;    (* Number of domains with zero or negative credit *)
-	mutable n_penalised: int; (* Number of domains with less than maximum credit *)
+  (* If config is set to use individual instead of aggregate conflict-rate-limiting,
+     	   we use these counts instead of the queues. The second one includes the first. *)
+  mutable n_paused: int;    (* Number of domains with zero or negative credit *)
+  mutable n_penalised: int; (* Number of domains with less than maximum credit *)
 }
 
 let init eventchn on_first_conflict_pause = {
-	eventchn = eventchn;
-	table = Hashtbl.create 10;
-	doms_conflict_paused = Queue.create ();
-	doms_with_conflict_penalty = Queue.create ();
-	on_first_conflict_pause = on_first_conflict_pause;
-	n_paused = 0;
-	n_penalised = 0;
+  eventchn = eventchn;
+  table = Hashtbl.create 10;
+  doms_conflict_paused = Queue.create ();
+  doms_with_conflict_penalty = Queue.create ();
+  on_first_conflict_pause = on_first_conflict_pause;
+  n_paused = 0;
+  n_penalised = 0;
 }
 let del doms id = Hashtbl.remove doms.table id
 let exist doms id = Hashtbl.mem doms.table id
@@ -59,161 +59,161 @@ let iter doms fct = Hashtbl.iter (fun _ b -> fct b) doms.table
 let eventchn doms = doms.eventchn
 
 let rec is_empty_queue q =
-	Queue.is_empty q ||
-		if !(Queue.peek q) = None
-		then (
-			ignore (Queue.pop q);
-			is_empty_queue q
-		) else false
+  Queue.is_empty q ||
+  if !(Queue.peek q) = None
+  then (
+    ignore (Queue.pop q);
+    is_empty_queue q
+  ) else false
 
 let all_at_max_credit doms =
-	if !Define.conflict_rate_limit_is_aggregate
-	then
-		(* Check both becuase if burst limit is 1.0 then a domain can go straight
-		 * from max-credit to paused without getting into the penalty queue. *)
-		is_empty_queue doms.doms_with_conflict_penalty
-		&& is_empty_queue doms.doms_conflict_paused
-	else doms.n_penalised = 0
+  if !Define.conflict_rate_limit_is_aggregate
+  then
+    (* Check both becuase if burst limit is 1.0 then a domain can go straight
+       		 * from max-credit to paused without getting into the penalty queue. *)
+    is_empty_queue doms.doms_with_conflict_penalty
+    && is_empty_queue doms.doms_conflict_paused
+  else doms.n_penalised = 0
 
 (* Functions to handle queues of domains given that the domain might be deleted while in a queue. *)
 let push dom queue =
-	Queue.push (ref (Some dom)) queue
+  Queue.push (ref (Some dom)) queue
 
 let rec pop queue =
-	match !(Queue.pop queue) with
-	| None -> pop queue
-	| Some x -> x
+  match !(Queue.pop queue) with
+  | None -> pop queue
+  | Some x -> x
 
 let remove_from_queue dom queue =
-	Queue.iter (fun d -> match !d with
-		| None -> ()
-		| Some x -> if x=dom then d := None) queue
+  Queue.iter (fun d -> match !d with
+      | None -> ()
+      | Some x -> if x=dom then d := None) queue
 
 let cleanup doms =
-	let notify = ref false in
-	let dead_dom = ref [] in
+  let notify = ref false in
+  let dead_dom = ref [] in
 
-	Hashtbl.iter (fun id _ -> if id <> 0 then
-		try
-			let info = Xenctrl.domain_getinfo xc id in
-			if info.Xenctrl.shutdown || info.Xenctrl.dying then (
-				debug "Domain %u died (dying=%b, shutdown %b -- code %d)"
-				                    id info.Xenctrl.dying info.Xenctrl.shutdown info.Xenctrl.shutdown_code;
-				if info.Xenctrl.dying then
-					dead_dom := id :: !dead_dom
-				else
-					notify := true;
-			)
-		with Xenctrl.Error _ ->
-			debug "Domain %u died -- no domain info" id;
-			dead_dom := id :: !dead_dom;
-		) doms.table;
-	List.iter (fun id ->
-		let dom = Hashtbl.find doms.table id in
-		Domain.close dom;
-		Hashtbl.remove doms.table id;
-		if dom.Domain.conflict_credit <= !Define.conflict_burst_limit
-		then (
-			remove_from_queue dom doms.doms_with_conflict_penalty;
-			if (dom.Domain.conflict_credit <= 0.) then remove_from_queue dom doms.doms_conflict_paused
-		)
-	) !dead_dom;
-	!notify, !dead_dom
+  Hashtbl.iter (fun id _ -> if id <> 0 then
+                   try
+                     let info = Xenctrl.domain_getinfo xc id in
+                     if info.Xenctrl.shutdown || info.Xenctrl.dying then (
+                       debug "Domain %u died (dying=%b, shutdown %b -- code %d)"
+                         id info.Xenctrl.dying info.Xenctrl.shutdown info.Xenctrl.shutdown_code;
+                       if info.Xenctrl.dying then
+                         dead_dom := id :: !dead_dom
+                       else
+                         notify := true;
+                     )
+                   with Xenctrl.Error _ ->
+                     debug "Domain %u died -- no domain info" id;
+                     dead_dom := id :: !dead_dom;
+               ) doms.table;
+  List.iter (fun id ->
+      let dom = Hashtbl.find doms.table id in
+      Domain.close dom;
+      Hashtbl.remove doms.table id;
+      if dom.Domain.conflict_credit <= !Define.conflict_burst_limit
+      then (
+        remove_from_queue dom doms.doms_with_conflict_penalty;
+        if (dom.Domain.conflict_credit <= 0.) then remove_from_queue dom doms.doms_conflict_paused
+      )
+    ) !dead_dom;
+  !notify, !dead_dom
 
 let resume _doms _domid =
-	()
+  ()
 
 let create doms ?local_port ~remote_port domid mfn =
-	let interface = Xenctrl.map_foreign_range xc domid (Xenmmap.getpagesize()) mfn in
-	let dom = Domain.make ?local_port ~remote_port domid mfn interface doms.eventchn in
-	Hashtbl.add doms.table domid dom;
-	dom
+  let interface = Xenctrl.map_foreign_range xc domid (Xenmmap.getpagesize()) mfn in
+  let dom = Domain.make ?local_port ~remote_port domid mfn interface doms.eventchn in
+  Hashtbl.add doms.table domid dom;
+  dom
 
 let xenstored_kva = ref ""
 let xenstored_port = ref ""
 
 let create0 ?local_port doms =
-	let remote_port = Utils.read_file_single_integer !xenstored_port in
+  let remote_port = Utils.read_file_single_integer !xenstored_port in
 
-	let interface =
-		let fd = Unix.openfile !xenstored_kva [ Unix.O_RDWR ] 0o600 in
-		let interface = Xenmmap.mmap fd Xenmmap.RDWR Xenmmap.SHARED (Xenmmap.getpagesize()) 0 in
-		Unix.close fd;
-		interface
-	in
+  let interface =
+    let fd = Unix.openfile !xenstored_kva [ Unix.O_RDWR ] 0o600 in
+    let interface = Xenmmap.mmap fd Xenmmap.RDWR Xenmmap.SHARED (Xenmmap.getpagesize()) 0 in
+    Unix.close fd;
+    interface
+  in
 
-	let dom = Domain.make ?local_port ~remote_port 0 Nativeint.zero interface doms.eventchn in
-	Hashtbl.add doms.table 0 dom;
-	Domain.notify dom;
-	dom
+  let dom = Domain.make ?local_port ~remote_port 0 Nativeint.zero interface doms.eventchn in
+  Hashtbl.add doms.table 0 dom;
+  Domain.notify dom;
+  dom
 
 let decr_conflict_credit doms dom =
-	dom.Domain.caused_conflicts <- Int64.add 1L dom.Domain.caused_conflicts;
-	let before = dom.Domain.conflict_credit in
-	let after = max (-1.0) (before -. 1.0) in
-	debug "decr_conflict_credit dom%d %F -> %F" (Domain.get_id dom) before after;
-	dom.Domain.conflict_credit <- after;
-	let newly_penalised =
-		before >= !Define.conflict_burst_limit
-		&& after < !Define.conflict_burst_limit in
-	let newly_paused = before > 0.0 && after <= 0.0 in
-	if !Define.conflict_rate_limit_is_aggregate then (
-		if newly_penalised
-		&& after > 0.0
-		then (
-			push dom doms.doms_with_conflict_penalty
-		) else if newly_paused
-		then (
-			let first_pause = Queue.is_empty doms.doms_conflict_paused in
-			push dom doms.doms_conflict_paused;
-			if first_pause then doms.on_first_conflict_pause ()
-		) else (
-			(* The queues are correct already: no further action needed. *)
-		)
-	) else (
-		if newly_penalised then doms.n_penalised <- doms.n_penalised + 1;
-		if newly_paused then (
-			doms.n_paused <- doms.n_paused + 1;
-			if doms.n_paused = 1 then doms.on_first_conflict_pause ()
-		)
-	)
+  dom.Domain.caused_conflicts <- Int64.add 1L dom.Domain.caused_conflicts;
+  let before = dom.Domain.conflict_credit in
+  let after = max (-1.0) (before -. 1.0) in
+  debug "decr_conflict_credit dom%d %F -> %F" (Domain.get_id dom) before after;
+  dom.Domain.conflict_credit <- after;
+  let newly_penalised =
+    before >= !Define.conflict_burst_limit
+    && after < !Define.conflict_burst_limit in
+  let newly_paused = before > 0.0 && after <= 0.0 in
+  if !Define.conflict_rate_limit_is_aggregate then (
+    if newly_penalised
+    && after > 0.0
+    then (
+      push dom doms.doms_with_conflict_penalty
+    ) else if newly_paused
+    then (
+      let first_pause = Queue.is_empty doms.doms_conflict_paused in
+      push dom doms.doms_conflict_paused;
+      if first_pause then doms.on_first_conflict_pause ()
+    ) else (
+      (* The queues are correct already: no further action needed. *)
+    )
+  ) else (
+    if newly_penalised then doms.n_penalised <- doms.n_penalised + 1;
+    if newly_paused then (
+      doms.n_paused <- doms.n_paused + 1;
+      if doms.n_paused = 1 then doms.on_first_conflict_pause ()
+    )
+  )
 
 (* Give one point of credit to one domain, and update the queues appropriately. *)
 let incr_conflict_credit_from_queue doms =
-	let process_queue q requeue_test =
-		let d = pop q in
-		let before = d.Domain.conflict_credit in (* just for debug-logging *)
-		d.Domain.conflict_credit <- min (d.Domain.conflict_credit +. 1.0) !Define.conflict_burst_limit;
-		debug "incr_conflict_credit_from_queue: dom%d: %F -> %F" (Domain.get_id d) before d.Domain.conflict_credit;
-		if requeue_test d.Domain.conflict_credit then (
-			push d q (* Make it queue up again for its next point of credit. *)
-		)
-	in
-	let paused_queue_test cred = cred <= 0.0 in
-	let penalty_queue_test cred = cred < !Define.conflict_burst_limit in
-	try process_queue doms.doms_conflict_paused paused_queue_test
-	with Queue.Empty -> (
-		try process_queue doms.doms_with_conflict_penalty penalty_queue_test
-		with Queue.Empty -> () (* Both queues are empty: nothing to do here. *)
-	)
+  let process_queue q requeue_test =
+    let d = pop q in
+    let before = d.Domain.conflict_credit in (* just for debug-logging *)
+    d.Domain.conflict_credit <- min (d.Domain.conflict_credit +. 1.0) !Define.conflict_burst_limit;
+    debug "incr_conflict_credit_from_queue: dom%d: %F -> %F" (Domain.get_id d) before d.Domain.conflict_credit;
+    if requeue_test d.Domain.conflict_credit then (
+      push d q (* Make it queue up again for its next point of credit. *)
+    )
+  in
+  let paused_queue_test cred = cred <= 0.0 in
+  let penalty_queue_test cred = cred < !Define.conflict_burst_limit in
+  try process_queue doms.doms_conflict_paused paused_queue_test
+  with Queue.Empty -> (
+      try process_queue doms.doms_with_conflict_penalty penalty_queue_test
+      with Queue.Empty -> () (* Both queues are empty: nothing to do here. *)
+    )
 
 let incr_conflict_credit doms =
-	if !Define.conflict_rate_limit_is_aggregate
-	then incr_conflict_credit_from_queue doms
-	else (
-		(* Give a point of credit to every domain, subject only to the cap. *)
-		let inc dom =
-			let before = dom.Domain.conflict_credit in
-			let after = min (before +. 1.0) !Define.conflict_burst_limit in
-			dom.Domain.conflict_credit <- after;
-			debug "incr_conflict_credit dom%d: %F -> %F" (Domain.get_id dom) before after;
+  if !Define.conflict_rate_limit_is_aggregate
+  then incr_conflict_credit_from_queue doms
+  else (
+    (* Give a point of credit to every domain, subject only to the cap. *)
+    let inc dom =
+      let before = dom.Domain.conflict_credit in
+      let after = min (before +. 1.0) !Define.conflict_burst_limit in
+      dom.Domain.conflict_credit <- after;
+      debug "incr_conflict_credit dom%d: %F -> %F" (Domain.get_id dom) before after;
 
-			if before <= 0.0 && after > 0.0
-			then doms.n_paused <- doms.n_paused - 1;
+      if before <= 0.0 && after > 0.0
+      then doms.n_paused <- doms.n_paused - 1;
 
-			if before < !Define.conflict_burst_limit
-			&& after >= !Define.conflict_burst_limit
-			then doms.n_penalised <- doms.n_penalised - 1
-		in
-		if doms.n_penalised > 0 then iter doms inc
-	)
+      if before < !Define.conflict_burst_limit
+      && after >= !Define.conflict_burst_limit
+      then doms.n_penalised <- doms.n_penalised - 1
+    in
+    if doms.n_penalised > 0 then iter doms inc
+  )
diff --git a/tools/ocaml/xenstored/event.ml b/tools/ocaml/xenstored/event.ml
index 629dc6041b..3523c397f4 100644
--- a/tools/ocaml/xenstored/event.ml
+++ b/tools/ocaml/xenstored/event.ml
@@ -16,23 +16,23 @@
 
 (**************** high level binding ****************)
 type t = {
-	handle: Xeneventchn.handle;
-	domexc: Xeneventchn.t;
+  handle: Xeneventchn.handle;
+  domexc: Xeneventchn.t;
 }
 
 (* On clean start, both parameters will be None, and we must open the evtchn
    handle and bind the DOM_EXC VIRQ.  On Live Update, the fd is preserved
    across exec(), and the DOM_EXC VIRQ still bound. *)
 let init ?fd ?domexc_port () =
-	let handle = match fd with
-		| None -> Xeneventchn.init ~cloexec:false ()
-		| Some fd -> fd |> Utils.FD.of_int |> Xeneventchn.fdopen
-	in
-	let domexc = match domexc_port with
-		| None -> Xeneventchn.bind_dom_exc_virq handle
-		| Some p -> Xeneventchn.of_int p
-	in
-	{ handle; domexc }
+  let handle = match fd with
+    | None -> Xeneventchn.init ~cloexec:false ()
+    | Some fd -> fd |> Utils.FD.of_int |> Xeneventchn.fdopen
+  in
+  let domexc = match domexc_port with
+    | None -> Xeneventchn.bind_dom_exc_virq handle
+    | Some p -> Xeneventchn.of_int p
+  in
+  { handle; domexc }
 
 let fd eventchn = Xeneventchn.fd eventchn.handle
 let bind_interdomain eventchn domid port = Xeneventchn.bind_interdomain eventchn.handle domid port
@@ -42,6 +42,6 @@ let pending eventchn = Xeneventchn.pending eventchn.handle
 let unmask eventchn port = Xeneventchn.unmask eventchn.handle port
 
 let dump e chan =
-	Printf.fprintf chan "evtchn-dev,%d,%d\n"
-		       (Utils.FD.to_int @@ Xeneventchn.fd e.handle)
-		       (Xeneventchn.to_int e.domexc)
+  Printf.fprintf chan "evtchn-dev,%d,%d\n"
+    (Utils.FD.to_int @@ Xeneventchn.fd e.handle)
+    (Xeneventchn.to_int e.domexc)
diff --git a/tools/ocaml/xenstored/history.ml b/tools/ocaml/xenstored/history.ml
index ba5c9cb571..f03fb18329 100644
--- a/tools/ocaml/xenstored/history.ml
+++ b/tools/ocaml/xenstored/history.ml
@@ -13,11 +13,11 @@
  *)
 
 type history_record = {
-	con: Connection.t;   (* connection that made a change *)
-	tid: int;            (* transaction id of the change (may be Transaction.none) *)
-	before: Store.t;     (* the store before the change *)
-	after: Store.t;      (* the store after the change *)
-	finish_count: int64; (* the commit-count at which the transaction finished *)
+  con: Connection.t;   (* connection that made a change *)
+  tid: int;            (* transaction id of the change (may be Transaction.none) *)
+  before: Store.t;     (* the store before the change *)
+  after: Store.t;      (* the store after the change *)
+  finish_count: int64; (* the commit-count at which the transaction finished *)
 }
 
 let history : history_record list ref = ref []
@@ -26,38 +26,38 @@ let history : history_record list ref = ref []
 (* There is scope for optimisation here, replacing List.filter with something more efficient,
  * probably on a different list-like structure. *)
 let trim ?txn () =
-	Transaction.trim_short_running_transactions txn;
-	history := match Transaction.oldest_short_running_transaction () with
-	| None -> [] (* We have no open transaction, so no history is needed *)
-	| Some (_, txn) -> (
-		(* keep records with finish_count recent enough to be relevant *)
-		List.filter (fun r -> r.finish_count > txn.Transaction.start_count) !history
-	)
+  Transaction.trim_short_running_transactions txn;
+  history := match Transaction.oldest_short_running_transaction () with
+    | None -> [] (* We have no open transaction, so no history is needed *)
+    | Some (_, txn) -> (
+        (* keep records with finish_count recent enough to be relevant *)
+        List.filter (fun r -> r.finish_count > txn.Transaction.start_count) !history
+      )
 
 let end_transaction txn con tid commit =
-	let success = Connection.end_transaction con tid commit in
-	trim ~txn ();
-	success
+  let success = Connection.end_transaction con tid commit in
+  trim ~txn ();
+  success
 
 let reconnect con =
-	trim ();
-	Connection.do_reconnect con
+  trim ();
+  Connection.do_reconnect con
 
 let push (x: history_record) =
-	let dom = x.con.Connection.dom in
-	match dom with
-	| None -> () (* treat socket connections as always free to conflict *)
-	| Some d -> if not (Domain.is_free_to_conflict d) then history := x :: !history
+  let dom = x.con.Connection.dom in
+  match dom with
+  | None -> () (* treat socket connections as always free to conflict *)
+  | Some d -> if not (Domain.is_free_to_conflict d) then history := x :: !history
 
 (* Find the connections from records since commit-count [since] for which [f record] returns [true] *)
 let filter_connections ~ignore ~since ~f =
-	(* The "mem" call is an optimisation, to avoid calling f if we have picked con already. *)
-	(* Using a hash table rather than a list is to optimise the "mem" call. *)
-	List.fold_left (fun acc hist_rec ->
-		if hist_rec.finish_count > since
-		&& not (hist_rec.con == ignore)
-		&& not (Hashtbl.mem acc hist_rec.con)
-		&& f hist_rec
-		then Hashtbl.replace acc hist_rec.con ();
-		acc
-	) (Hashtbl.create 1023) !history
+  (* The "mem" call is an optimisation, to avoid calling f if we have picked con already. *)
+  (* Using a hash table rather than a list is to optimise the "mem" call. *)
+  List.fold_left (fun acc hist_rec ->
+      if hist_rec.finish_count > since
+      && not (hist_rec.con == ignore)
+      && not (Hashtbl.mem acc hist_rec.con)
+      && f hist_rec
+      then Hashtbl.replace acc hist_rec.con ();
+      acc
+    ) (Hashtbl.create 1023) !history
diff --git a/tools/ocaml/xenstored/logging.ml b/tools/ocaml/xenstored/logging.ml
index f233bc9a39..0c525d6ff7 100644
--- a/tools/ocaml/xenstored/logging.ml
+++ b/tools/ocaml/xenstored/logging.ml
@@ -21,138 +21,138 @@ open Printf
 (* Logger common *)
 
 type log_destination =
-	| File of string
-	| Syslog of Syslog.facility
+  | File of string
+  | Syslog of Syslog.facility
 
 let log_destination_of_string s =
-	let prefix = "syslog:" in
-	let len_prefix = String.length prefix in
-	let len = String.length s in
-	if String.startswith prefix s
-	then Syslog(Syslog.facility_of_string (String.sub s len_prefix (len - len_prefix)))
-	else File s
+  let prefix = "syslog:" in
+  let len_prefix = String.length prefix in
+  let len = String.length s in
+  if String.startswith prefix s
+  then Syslog(Syslog.facility_of_string (String.sub s len_prefix (len - len_prefix)))
+  else File s
 
 (* The prefix of a log line depends on the log destination *)
 let prefix log_destination ?level ?key date = match log_destination with
-	| File _ ->
-		let level = match level with
-			| Some x -> Printf.sprintf "|%5s" x
-			| None -> "" in
-		let key = match key with
-			| Some x -> "|" ^ x
-			| None -> "" in
-		Printf.sprintf "[%s%s%s] " date level key
-	| Syslog _ ->
-		let key = match key with
-			| Some x -> "[" ^ x ^ "] "
-			| None -> "" in
-		(* Syslog handles the date and level internally *)
-		key
+  | File _ ->
+    let level = match level with
+      | Some x -> Printf.sprintf "|%5s" x
+      | None -> "" in
+    let key = match key with
+      | Some x -> "|" ^ x
+      | None -> "" in
+    Printf.sprintf "[%s%s%s] " date level key
+  | Syslog _ ->
+    let key = match key with
+      | Some x -> "[" ^ x ^ "] "
+      | None -> "" in
+    (* Syslog handles the date and level internally *)
+    key
 
 type level = Debug | Info | Warn | Error | Null
 
 type logger =
-		{ stop: unit -> unit;
-		  restart: unit -> unit;
-		  rotate: unit -> unit;
-		  write: ?level:level -> string -> unit }
+  { stop: unit -> unit;
+    restart: unit -> unit;
+    rotate: unit -> unit;
+    write: ?level:level -> string -> unit }
 
 let truncate_line nb_chars line =
-	if String.length line > nb_chars - 1 then
-		let len = max (nb_chars - 1) 2 in
-		let dst_line = Bytes.create len in
-		Bytes.blit_string line 0 dst_line 0 (len - 2);
-		Bytes.set dst_line (len-2) '.';
-		Bytes.set dst_line (len-1) '.';
-		Bytes.unsafe_to_string dst_line
-	else line
+  if String.length line > nb_chars - 1 then
+    let len = max (nb_chars - 1) 2 in
+    let dst_line = Bytes.create len in
+    Bytes.blit_string line 0 dst_line 0 (len - 2);
+    Bytes.set dst_line (len-2) '.';
+    Bytes.set dst_line (len-1) '.';
+    Bytes.unsafe_to_string dst_line
+  else line
 
 let log_rotate ref_ch log_file log_nb_files =
-	let file n = sprintf "%s.%i" log_file n in
-	let log_files =
-		let rec aux accu n =
-			if n >= log_nb_files then accu
-			else
-				if n = 1 && Sys.file_exists log_file
-				then aux [log_file,1] 2
-				else
-					let file = file (n-1) in
-					if Sys.file_exists file then
-						aux ((file, n) :: accu) (n+1)
-					else accu in
-		aux [] 1 in
-	List.iter (fun (f, n) -> Unix.rename f (file n)) log_files;
-	close_out !ref_ch;
-	ref_ch := open_out log_file
+  let file n = sprintf "%s.%i" log_file n in
+  let log_files =
+    let rec aux accu n =
+      if n >= log_nb_files then accu
+      else
+      if n = 1 && Sys.file_exists log_file
+      then aux [log_file,1] 2
+      else
+        let file = file (n-1) in
+        if Sys.file_exists file then
+          aux ((file, n) :: accu) (n+1)
+        else accu in
+    aux [] 1 in
+  List.iter (fun (f, n) -> Unix.rename f (file n)) log_files;
+  close_out !ref_ch;
+  ref_ch := open_out log_file
 
 let make_file_logger log_file log_nb_files log_nb_lines log_nb_chars post_rotate =
-	let channel = ref (open_out_gen [Open_append; Open_creat] 0o644 log_file) in
-	let counter = ref 0 in
-	let stop() =
-		try flush !channel; close_out !channel
-		with _ -> () in
-	let restart() =
-		stop();
-		channel := open_out_gen [Open_append; Open_creat] 0o644 log_file in
-	let rotate() =
-		log_rotate channel log_file log_nb_files;
-		(post_rotate (): unit);
-		counter := 0 in
-	let write ?level:_ s =
-		let s = if log_nb_chars > 0 then truncate_line log_nb_chars s else s in
-		let s = s ^ "\n" in
-		output_string !channel s;
-		flush !channel;
-		incr counter;
-		if !counter > log_nb_lines then rotate() in
-	{ stop=stop; restart=restart; rotate=rotate; write=write }
+  let channel = ref (open_out_gen [Open_append; Open_creat] 0o644 log_file) in
+  let counter = ref 0 in
+  let stop() =
+    try flush !channel; close_out !channel
+    with _ -> () in
+  let restart() =
+    stop();
+    channel := open_out_gen [Open_append; Open_creat] 0o644 log_file in
+  let rotate() =
+    log_rotate channel log_file log_nb_files;
+    (post_rotate (): unit);
+    counter := 0 in
+  let write ?level:_ s =
+    let s = if log_nb_chars > 0 then truncate_line log_nb_chars s else s in
+    let s = s ^ "\n" in
+    output_string !channel s;
+    flush !channel;
+    incr counter;
+    if !counter > log_nb_lines then rotate() in
+  { stop=stop; restart=restart; rotate=rotate; write=write }
 
 exception Unknown_level of string
 
 let int_of_level = function
-	| Debug -> 0 | Info -> 1 | Warn -> 2
-	| Error -> 3 | Null -> max_int
+  | Debug -> 0 | Info -> 1 | Warn -> 2
+  | Error -> 3 | Null -> max_int
 
 let string_of_level = function
-	| Debug -> "debug" | Info -> "info" | Warn -> "warn"
-	| Error -> "error" | Null -> "null"
+  | Debug -> "debug" | Info -> "info" | Warn -> "warn"
+  | Error -> "error" | Null -> "null"
 
 let level_of_string = function
-	| "debug" -> Debug | "info"  -> Info | "warn"  -> Warn
-	| "error" -> Error | "null"  -> Null | s  -> raise (Unknown_level s)
+  | "debug" -> Debug | "info"  -> Info | "warn"  -> Warn
+  | "error" -> Error | "null"  -> Null | s  -> raise (Unknown_level s)
 
 let string_of_date () =
-	let time = Unix.gettimeofday () in
-	let tm = Unix.gmtime time in
-	let msec = time -. (floor time) in
-	sprintf "%d%.2d%.2dT%.2d:%.2d:%.2d.%.3dZ"
-		(1900 + tm.Unix.tm_year) (tm.Unix.tm_mon + 1) tm.Unix.tm_mday
-		tm.Unix.tm_hour tm.Unix.tm_min tm.Unix.tm_sec
-		(int_of_float (1000.0 *. msec))
+  let time = Unix.gettimeofday () in
+  let tm = Unix.gmtime time in
+  let msec = time -. (floor time) in
+  sprintf "%d%.2d%.2dT%.2d:%.2d:%.2d.%.3dZ"
+    (1900 + tm.Unix.tm_year) (tm.Unix.tm_mon + 1) tm.Unix.tm_mday
+    tm.Unix.tm_hour tm.Unix.tm_min tm.Unix.tm_sec
+    (int_of_float (1000.0 *. msec))
 
 (* We can defer to syslog for log management *)
 let make_syslog_logger facility =
-	(* When TZ is unset in the environment, each syslog call will stat the
-	   /etc/localtime file at least three times during the process. We'd like to
-	   avoid this cost given that we are not a mobile environment and we log
-	   almost every xenstore entry update/watch. *)
-	let () =
-		let tz_is_set =
-			try String.length (Unix.getenv "TZ") > 0
-			with Not_found -> false in
-		if not tz_is_set then Unix.putenv "TZ" "/etc/localtime" in
-	let nothing () = () in
-	let write ?level s =
-		let level = match level with
-			| Some Error -> Syslog.Err
-			| Some Warn -> Syslog.Warning
-			| Some Info -> Syslog.Info
-			| Some Debug -> Syslog.Debug
-			| Some Null -> Syslog.Debug
-			| None -> Syslog.Debug in
-		(* Syslog handles the date and level internally *)
-		Syslog.log facility level s in
-	{ stop = nothing; restart = nothing; rotate = nothing; write=write }
+  (* When TZ is unset in the environment, each syslog call will stat the
+     	   /etc/localtime file at least three times during the process. We'd like to
+     	   avoid this cost given that we are not a mobile environment and we log
+     	   almost every xenstore entry update/watch. *)
+  let () =
+    let tz_is_set =
+      try String.length (Unix.getenv "TZ") > 0
+      with Not_found -> false in
+    if not tz_is_set then Unix.putenv "TZ" "/etc/localtime" in
+  let nothing () = () in
+  let write ?level s =
+    let level = match level with
+      | Some Error -> Syslog.Err
+      | Some Warn -> Syslog.Warning
+      | Some Info -> Syslog.Info
+      | Some Debug -> Syslog.Debug
+      | Some Null -> Syslog.Debug
+      | None -> Syslog.Debug in
+    (* Syslog handles the date and level internally *)
+    Syslog.log facility level s in
+  { stop = nothing; restart = nothing; rotate = nothing; write=write }
 
 let xenstored_log_destination = ref (File (Paths.xen_log_dir ^ "/xenstored.log"))
 let xenstored_log_level = ref Warn
@@ -164,34 +164,34 @@ let xenstored_logger = ref (None: logger option)
 let debug_enabled () = !xenstored_log_level = Debug
 
 let set_xenstored_log_destination s =
-	xenstored_log_destination := log_destination_of_string s
+  xenstored_log_destination := log_destination_of_string s
 
 let set_xenstored_logger logger =
-	xenstored_logger := Some logger;
-	logger.write ~level:Info (Printf.sprintf "Xen Storage Daemon, version %d.%d"
-	Define.xenstored_major Define.xenstored_minor)
+  xenstored_logger := Some logger;
+  logger.write ~level:Info (Printf.sprintf "Xen Storage Daemon, version %d.%d"
+                              Define.xenstored_major Define.xenstored_minor)
 
 
 let init_xenstored_log () = match !xenstored_log_destination with
-	| File file ->
-		if !xenstored_log_level <> Null && !xenstored_log_nb_files > 0 then
-			let logger =
-				make_file_logger
-					file !xenstored_log_nb_files !xenstored_log_nb_lines
-					!xenstored_log_nb_chars ignore in
-			set_xenstored_logger logger
-	| Syslog facility ->
-		set_xenstored_logger (make_syslog_logger facility)
+  | File file ->
+    if !xenstored_log_level <> Null && !xenstored_log_nb_files > 0 then
+      let logger =
+        make_file_logger
+          file !xenstored_log_nb_files !xenstored_log_nb_lines
+          !xenstored_log_nb_chars ignore in
+      set_xenstored_logger logger
+  | Syslog facility ->
+    set_xenstored_logger (make_syslog_logger facility)
 
 
 let xenstored_logging level key (fmt: (_,_,_,_) format4) =
-	match !xenstored_logger with
-	| Some logger when int_of_level level >= int_of_level !xenstored_log_level ->
-			let date = string_of_date() in
-			let level' = string_of_level level in
-			let prefix = prefix !xenstored_log_destination ~level:level' ~key date in
-			Printf.ksprintf (fun s -> logger.write ~level (prefix ^ s)) fmt
-	| _ -> Printf.ksprintf ignore fmt
+  match !xenstored_logger with
+  | Some logger when int_of_level level >= int_of_level !xenstored_log_level ->
+    let date = string_of_date() in
+    let level' = string_of_level level in
+    let prefix = prefix !xenstored_log_destination ~level:level' ~key date in
+    Printf.ksprintf (fun s -> logger.write ~level (prefix ^ s)) fmt
+  | _ -> Printf.ksprintf ignore fmt
 
 let debug key = xenstored_logging Debug key
 let info key = xenstored_logging Info key
@@ -201,66 +201,66 @@ let error key = xenstored_logging Error key
 (* Access logger *)
 
 type access_type =
-	| Coalesce
-	| Conflict
-	| Commit
-	| Newconn
-	| Endconn
-	| Watch_not_fired
-	| XbOp of Xenbus.Xb.Op.operation
+  | Coalesce
+  | Conflict
+  | Commit
+  | Newconn
+  | Endconn
+  | Watch_not_fired
+  | XbOp of Xenbus.Xb.Op.operation
 
 let string_of_tid ~con tid =
-	if tid = 0
-	then sprintf "%-12s" con
-	else sprintf "%-12s" (sprintf "%s.%i" con tid)
+  if tid = 0
+  then sprintf "%-12s" con
+  else sprintf "%-12s" (sprintf "%s.%i" con tid)
 
 let string_of_access_type = function
-	| Coalesce                -> "coalesce "
-	| Conflict                -> "conflict "
-	| Commit                  -> "commit   "
-	| Newconn                 -> "newconn  "
-	| Endconn                 -> "endconn  "
-	| Watch_not_fired         -> "w notfired"
+  | Coalesce                -> "coalesce "
+  | Conflict                -> "conflict "
+  | Commit                  -> "commit   "
+  | Newconn                 -> "newconn  "
+  | Endconn                 -> "endconn  "
+  | Watch_not_fired         -> "w notfired"
 
-	| XbOp op -> match op with
-	| Xenbus.Xb.Op.Debug             -> "debug    "
+  | XbOp op -> match op with
+    | Xenbus.Xb.Op.Debug             -> "debug    "
 
-	| Xenbus.Xb.Op.Directory         -> "directory"
-	| Xenbus.Xb.Op.Read              -> "read     "
-	| Xenbus.Xb.Op.Getperms          -> "getperms "
+    | Xenbus.Xb.Op.Directory         -> "directory"
+    | Xenbus.Xb.Op.Read              -> "read     "
+    | Xenbus.Xb.Op.Getperms          -> "getperms "
 
-	| Xenbus.Xb.Op.Watch             -> "watch    "
-	| Xenbus.Xb.Op.Unwatch           -> "unwatch  "
+    | Xenbus.Xb.Op.Watch             -> "watch    "
+    | Xenbus.Xb.Op.Unwatch           -> "unwatch  "
 
-	| Xenbus.Xb.Op.Transaction_start -> "t start  "
-	| Xenbus.Xb.Op.Transaction_end   -> "t end    "
+    | Xenbus.Xb.Op.Transaction_start -> "t start  "
+    | Xenbus.Xb.Op.Transaction_end   -> "t end    "
 
-	| Xenbus.Xb.Op.Introduce         -> "introduce"
-	| Xenbus.Xb.Op.Release           -> "release  "
-	| Xenbus.Xb.Op.Getdomainpath     -> "getdomain"
-	| Xenbus.Xb.Op.Isintroduced      -> "is introduced"
-	| Xenbus.Xb.Op.Resume            -> "resume   "
+    | Xenbus.Xb.Op.Introduce         -> "introduce"
+    | Xenbus.Xb.Op.Release           -> "release  "
+    | Xenbus.Xb.Op.Getdomainpath     -> "getdomain"
+    | Xenbus.Xb.Op.Isintroduced      -> "is introduced"
+    | Xenbus.Xb.Op.Resume            -> "resume   "
 
-	| Xenbus.Xb.Op.Write             -> "write    "
-	| Xenbus.Xb.Op.Mkdir             -> "mkdir    "
-	| Xenbus.Xb.Op.Rm                -> "rm       "
-	| Xenbus.Xb.Op.Setperms          -> "setperms "
-	| Xenbus.Xb.Op.Reset_watches     -> "reset watches"
-	| Xenbus.Xb.Op.Set_target        -> "settarget"
+    | Xenbus.Xb.Op.Write             -> "write    "
+    | Xenbus.Xb.Op.Mkdir             -> "mkdir    "
+    | Xenbus.Xb.Op.Rm                -> "rm       "
+    | Xenbus.Xb.Op.Setperms          -> "setperms "
+    | Xenbus.Xb.Op.Reset_watches     -> "reset watches"
+    | Xenbus.Xb.Op.Set_target        -> "settarget"
 
-	| Xenbus.Xb.Op.Error             -> "error    "
-	| Xenbus.Xb.Op.Watchevent        -> "w event  "
-	| Xenbus.Xb.Op.Invalid           -> "invalid  "
-	(*
+    | Xenbus.Xb.Op.Error             -> "error    "
+    | Xenbus.Xb.Op.Watchevent        -> "w event  "
+    | Xenbus.Xb.Op.Invalid           -> "invalid  "
+ (*
 	| x                       -> Xenbus.Xb.Op.to_string x
 	*)
 
 let sanitize_data data =
-	let data = String.init
-		(String.length data)
-		(fun i -> let c = data.[i] in if c = '\000' then ' ' else c)
-	in
-	String.escaped data
+  let data = String.init
+      (String.length data)
+      (fun i -> let c = data.[i] in if c = '\000' then ' ' else c)
+  in
+  String.escaped data
 
 let activate_access_log = ref true
 let access_log_destination = ref (File (Paths.xen_log_dir ^ "/xenstored-access.log"))
@@ -273,101 +273,101 @@ let access_log_special_ops = ref false
 let access_logger = ref None
 
 let set_access_log_destination s =
-	access_log_destination := log_destination_of_string s
+  access_log_destination := log_destination_of_string s
 
 let init_access_log post_rotate = match !access_log_destination with
-	| File file ->
-		if !access_log_nb_files > 0 then
-			let logger =
-				make_file_logger
-					file !access_log_nb_files !access_log_nb_lines
-					!access_log_nb_chars post_rotate in
-			access_logger := Some logger
-	| Syslog facility ->
-		access_logger := Some (make_syslog_logger facility)
+  | File file ->
+    if !access_log_nb_files > 0 then
+      let logger =
+        make_file_logger
+          file !access_log_nb_files !access_log_nb_lines
+          !access_log_nb_chars post_rotate in
+      access_logger := Some logger
+  | Syslog facility ->
+    access_logger := Some (make_syslog_logger facility)
 
 let access_logging ~con ~tid ?(data="") ~level access_type =
-        try
-		maybe
-			(fun logger ->
-				let date = string_of_date() in
-				let tid = string_of_tid ~con tid in
-				let access_type = string_of_access_type access_type in
-				let data = sanitize_data data in
-				let prefix = prefix !access_log_destination date in
-				let msg = Printf.sprintf "%s %s %s %s" prefix tid access_type data in
-				logger.write ~level msg)
-			!access_logger
-	with _ -> ()
+  try
+    maybe
+      (fun logger ->
+         let date = string_of_date() in
+         let tid = string_of_tid ~con tid in
+         let access_type = string_of_access_type access_type in
+         let data = sanitize_data data in
+         let prefix = prefix !access_log_destination date in
+         let msg = Printf.sprintf "%s %s %s %s" prefix tid access_type data in
+         logger.write ~level msg)
+      !access_logger
+  with _ -> ()
 
 let new_connection = access_logging ~level:Debug Newconn
 let end_connection = access_logging ~level:Debug Endconn
 let read_coalesce ~tid ~con data =
-	if !access_log_read_ops
-        then access_logging Coalesce ~tid ~con ~data:("read "^data) ~level:Debug
+  if !access_log_read_ops
+  then access_logging Coalesce ~tid ~con ~data:("read "^data) ~level:Debug
 let write_coalesce data = access_logging Coalesce ~data:("write "^data) ~level:Debug
 let conflict = access_logging Conflict ~level:Debug
 let commit = access_logging Commit ~level:Debug
 
 let xb_op ~tid ~con ~ty data =
-	let print = match ty with
-		| Xenbus.Xb.Op.Read | Xenbus.Xb.Op.Directory | Xenbus.Xb.Op.Getperms -> !access_log_read_ops
-		| Xenbus.Xb.Op.Transaction_start | Xenbus.Xb.Op.Transaction_end ->
-			false (* transactions are managed below *)
-		| Xenbus.Xb.Op.Introduce | Xenbus.Xb.Op.Release | Xenbus.Xb.Op.Getdomainpath | Xenbus.Xb.Op.Isintroduced | Xenbus.Xb.Op.Resume ->
-			!access_log_special_ops
-		| _ -> true in
-	if print then access_logging ~tid ~con ~data (XbOp ty) ~level:Info
+  let print = match ty with
+    | Xenbus.Xb.Op.Read | Xenbus.Xb.Op.Directory | Xenbus.Xb.Op.Getperms -> !access_log_read_ops
+    | Xenbus.Xb.Op.Transaction_start | Xenbus.Xb.Op.Transaction_end ->
+      false (* transactions are managed below *)
+    | Xenbus.Xb.Op.Introduce | Xenbus.Xb.Op.Release | Xenbus.Xb.Op.Getdomainpath | Xenbus.Xb.Op.Isintroduced | Xenbus.Xb.Op.Resume ->
+      !access_log_special_ops
+    | _ -> true in
+  if print then access_logging ~tid ~con ~data (XbOp ty) ~level:Info
 
 let start_transaction ~tid ~con =
-	if !access_log_transaction_ops && tid <> 0
-	then access_logging ~tid ~con (XbOp Xenbus.Xb.Op.Transaction_start) ~level:Debug
+  if !access_log_transaction_ops && tid <> 0
+  then access_logging ~tid ~con (XbOp Xenbus.Xb.Op.Transaction_start) ~level:Debug
 
 let end_transaction ~tid ~con =
-	if !access_log_transaction_ops && tid <> 0
-	then access_logging ~tid ~con (XbOp Xenbus.Xb.Op.Transaction_end) ~level:Debug
+  if !access_log_transaction_ops && tid <> 0
+  then access_logging ~tid ~con (XbOp Xenbus.Xb.Op.Transaction_end) ~level:Debug
 
 let live_update () =
-	xb_op ~tid:0 ~con:"" ~ty:Xenbus.Xb.Op.Debug "Live update begin"
+  xb_op ~tid:0 ~con:"" ~ty:Xenbus.Xb.Op.Debug "Live update begin"
 
 let xb_answer ~tid ~con ~ty data =
-	let print, level = match ty with
-		| Xenbus.Xb.Op.Error when String.startswith "ENOENT" data -> !access_log_read_ops , Warn
-		| Xenbus.Xb.Op.Error -> true , Warn
-		| Xenbus.Xb.Op.Watchevent -> true , Info
-		| _ -> false, Debug
-	in
-	if print then access_logging ~tid ~con ~data (XbOp ty) ~level
+  let print, level = match ty with
+    | Xenbus.Xb.Op.Error when String.startswith "ENOENT" data -> !access_log_read_ops , Warn
+    | Xenbus.Xb.Op.Error -> true , Warn
+    | Xenbus.Xb.Op.Watchevent -> true , Info
+    | _ -> false, Debug
+  in
+  if print then access_logging ~tid ~con ~data (XbOp ty) ~level
 
 let watch_not_fired ~con perms path =
-	let data = Printf.sprintf "EPERM perms=[%s] path=%s" perms path in
-	access_logging ~tid:0 ~con ~data Watch_not_fired ~level:Info
+  let data = Printf.sprintf "EPERM perms=[%s] path=%s" perms path in
+  access_logging ~tid:0 ~con ~data Watch_not_fired ~level:Info
 
 let msg_of exn bt =
-	Printf.sprintf "Fatal exception: %s\n%s" (Printexc.to_string exn)
-		(Printexc.raw_backtrace_to_string bt)
+  Printf.sprintf "Fatal exception: %s\n%s" (Printexc.to_string exn)
+    (Printexc.raw_backtrace_to_string bt)
 
 let fallback_exception_handler exn bt =
-	(* stderr goes to /dev/null, so use the logger where possible,
-	   but always print to stderr too, in case everything else fails,
-	   e.g. this can be used to debug with --no-fork
+  (* stderr goes to /dev/null, so use the logger where possible,
+     	   but always print to stderr too, in case everything else fails,
+     	   e.g. this can be used to debug with --no-fork
 
-	   this function should try not to raise exceptions, but if it does
-	   the ocaml runtime should still print the exception, both the original,
-	   and the one from this function, but to stderr this time
-	 *)
-	let msg = msg_of exn bt in
-	prerr_endline msg;
-	(* See Printexc.set_uncaught_exception_handler, need to flush,
-	   so has to call stop and flush *)
-	match !xenstored_logger with
-	| Some l -> error "xenstored-fallback" "%s" msg; l.stop ()
-	| None ->
-		(* Too early, no logger set yet.
-		   We normally try to use the configured logger so we don't flood syslog
-		   during development for example, or if the user has a file set
-		 *)
-		try Syslog.log Syslog.Daemon Syslog.Err msg
-		with e ->
-			let bt = Printexc.get_raw_backtrace () in
-			prerr_endline @@ msg_of e bt
+     	   this function should try not to raise exceptions, but if it does
+     	   the ocaml runtime should still print the exception, both the original,
+     	   and the one from this function, but to stderr this time
+     	 *)
+  let msg = msg_of exn bt in
+  prerr_endline msg;
+  (* See Printexc.set_uncaught_exception_handler, need to flush,
+     	   so has to call stop and flush *)
+  match !xenstored_logger with
+  | Some l -> error "xenstored-fallback" "%s" msg; l.stop ()
+  | None ->
+    (* Too early, no logger set yet.
+       		   We normally try to use the configured logger so we don't flood syslog
+       		   during development for example, or if the user has a file set
+       		 *)
+    try Syslog.log Syslog.Daemon Syslog.Err msg
+    with e ->
+      let bt = Printexc.get_raw_backtrace () in
+      prerr_endline @@ msg_of e bt
diff --git a/tools/ocaml/xenstored/packet.ml b/tools/ocaml/xenstored/packet.ml
index aeae0a4f57..7c25117937 100644
--- a/tools/ocaml/xenstored/packet.ml
+++ b/tools/ocaml/xenstored/packet.ml
@@ -1,16 +1,16 @@
 type request = {
-	tid: int;
-	rid: int;
-	ty: Xenbus.Xb.Op.operation;
-	data: string;
+  tid: int;
+  rid: int;
+  ty: Xenbus.Xb.Op.operation;
+  data: string;
 }
 
 type response =
-	| Ack of (unit -> unit)  (* function is the action to execute after sending the ack *)
-	| Reply of string
-	| Error of string
+  | Ack of (unit -> unit)  (* function is the action to execute after sending the ack *)
+  | Reply of string
+  | Error of string
 
 let response_equal a b =
-	match (a, b) with
-	| (Ack _, Ack _) -> true (* just consider the response, not the post-response action *)
-	| (x, y) -> x = y
+  match (a, b) with
+  | (Ack _, Ack _) -> true (* just consider the response, not the post-response action *)
+  | (x, y) -> x = y
diff --git a/tools/ocaml/xenstored/parse_arg.ml b/tools/ocaml/xenstored/parse_arg.ml
index 7c0478e76a..1a85b14ef5 100644
--- a/tools/ocaml/xenstored/parse_arg.ml
+++ b/tools/ocaml/xenstored/parse_arg.ml
@@ -15,59 +15,59 @@
  *)
 
 type config =
-{
-	domain_init: bool;
-	activate_access_log: bool;
-	daemonize: bool;
-	reraise_top_level: bool;
-	config_file: string option;
-	pidfile: string option; (* old xenstored compatibility *)
-	tracefile: string option; (* old xenstored compatibility *)
-	restart: bool;
-	live_reload: bool;
-	disable_socket: bool;
-}
+  {
+    domain_init: bool;
+    activate_access_log: bool;
+    daemonize: bool;
+    reraise_top_level: bool;
+    config_file: string option;
+    pidfile: string option; (* old xenstored compatibility *)
+    tracefile: string option; (* old xenstored compatibility *)
+    restart: bool;
+    live_reload: bool;
+    disable_socket: bool;
+  }
 
 let do_argv =
-	let pidfile = ref "" and tracefile = ref "" (* old xenstored compatibility *)
-	and domain_init = ref true
-	and activate_access_log = ref true
-	and daemonize = ref true
-	and reraise_top_level = ref false
-	and config_file = ref ""
-	and restart = ref false
-	and live_reload = ref false
-	and disable_socket = ref false
-	in
+  let pidfile = ref "" and tracefile = ref "" (* old xenstored compatibility *)
+  and domain_init = ref true
+  and activate_access_log = ref true
+  and daemonize = ref true
+  and reraise_top_level = ref false
+  and config_file = ref ""
+  and restart = ref false
+  and live_reload = ref false
+  and disable_socket = ref false
+  in
 
-	let speclist =
-		[ ("--no-domain-init", Arg.Unit (fun () -> domain_init := false),
-		   "to state that xenstored should not initialise dom0");
-		  ("--config-file", Arg.Set_string config_file,
-		   "set an alternative location for the configuration file");
-		  ("--no-fork", Arg.Unit (fun () -> daemonize := false),
-		   "to request that the daemon does not fork");
-		  ("--reraise-top-level", Arg.Unit (fun () -> reraise_top_level := true),
-		   "reraise exceptions caught at the top level");
-		  ("--no-access-log", Arg.Unit (fun () -> activate_access_log := false),
-		  "do not create a xenstore-access.log file");
-		  ("--pid-file", Arg.Set_string pidfile, ""); (* for compatibility *)
-		  ("-T", Arg.Set_string tracefile, ""); (* for compatibility *)
-		  ("--restart", Arg.Set restart, "Read database on starting");
-		  ("--live", Arg.Set live_reload, "Read live dump on startup");
-		  ("--disable-socket", Arg.Unit (fun () -> disable_socket := true), "Disable socket");
-		] in
-	let usage_msg = "usage : xenstored [--config-file <filename>] [--no-domain-init] [--help] [--no-fork] [--reraise-top-level] [--restart] [--disable-socket]" in
-	Arg.parse speclist (fun _ -> ()) usage_msg;
-	{
-		domain_init = !domain_init;
-		activate_access_log = !activate_access_log;
-		daemonize = !daemonize;
-		reraise_top_level = !reraise_top_level;
-		config_file = if !config_file <> "" then Some !config_file else None;
-		pidfile = if !pidfile <> "" then Some !pidfile else None;
-		tracefile = if !tracefile <> "" then Some !tracefile else None;
-		restart = !restart;
-		live_reload = !live_reload;
-		disable_socket = !disable_socket;
-	}
+  let speclist =
+    [ ("--no-domain-init", Arg.Unit (fun () -> domain_init := false),
+       "to state that xenstored should not initialise dom0");
+      ("--config-file", Arg.Set_string config_file,
+       "set an alternative location for the configuration file");
+      ("--no-fork", Arg.Unit (fun () -> daemonize := false),
+       "to request that the daemon does not fork");
+      ("--reraise-top-level", Arg.Unit (fun () -> reraise_top_level := true),
+       "reraise exceptions caught at the top level");
+      ("--no-access-log", Arg.Unit (fun () -> activate_access_log := false),
+       "do not create a xenstore-access.log file");
+      ("--pid-file", Arg.Set_string pidfile, ""); (* for compatibility *)
+      ("-T", Arg.Set_string tracefile, ""); (* for compatibility *)
+      ("--restart", Arg.Set restart, "Read database on starting");
+      ("--live", Arg.Set live_reload, "Read live dump on startup");
+      ("--disable-socket", Arg.Unit (fun () -> disable_socket := true), "Disable socket");
+    ] in
+  let usage_msg = "usage : xenstored [--config-file <filename>] [--no-domain-init] [--help] [--no-fork] [--reraise-top-level] [--restart] [--disable-socket]" in
+  Arg.parse speclist (fun _ -> ()) usage_msg;
+  {
+    domain_init = !domain_init;
+    activate_access_log = !activate_access_log;
+    daemonize = !daemonize;
+    reraise_top_level = !reraise_top_level;
+    config_file = if !config_file <> "" then Some !config_file else None;
+    pidfile = if !pidfile <> "" then Some !pidfile else None;
+    tracefile = if !tracefile <> "" then Some !tracefile else None;
+    restart = !restart;
+    live_reload = !live_reload;
+    disable_socket = !disable_socket;
+  }
diff --git a/tools/ocaml/xenstored/perms.ml b/tools/ocaml/xenstored/perms.ml
index 84f2503e8e..14f8e334fe 100644
--- a/tools/ocaml/xenstored/perms.ml
+++ b/tools/ocaml/xenstored/perms.ml
@@ -25,72 +25,72 @@ let watch_activate = ref true
 type permty = READ | WRITE | RDWR | NONE
 
 let char_of_permty perm =
-	match perm with
-	| READ -> 'r'
-	| WRITE -> 'w'
-	| RDWR -> 'b'
-	| NONE -> 'n'
+  match perm with
+  | READ -> 'r'
+  | WRITE -> 'w'
+  | RDWR -> 'b'
+  | NONE -> 'n'
 
 let permty_of_char c =
-	match c with
-	| 'r' -> READ
-	| 'w' -> WRITE
-	| 'b' -> RDWR
-	| 'n' -> NONE
-	| _ -> invalid_arg "unknown permission type"
+  match c with
+  | 'r' -> READ
+  | 'w' -> WRITE
+  | 'b' -> RDWR
+  | 'n' -> NONE
+  | _ -> invalid_arg "unknown permission type"
 
 
 (* node permissions *)
 module Node =
 struct
 
-type t =
-{
-	owner: Xenctrl.domid;
-	other: permty;
-	acl: (Xenctrl.domid * permty) list;
-}
+  type t =
+    {
+      owner: Xenctrl.domid;
+      other: permty;
+      acl: (Xenctrl.domid * permty) list;
+    }
 
-let create owner other acl =
-	{ owner = owner; other = other; acl = acl }
+  let create owner other acl =
+    { owner = owner; other = other; acl = acl }
 
-let get_other perms = perms.other
-let get_acl perms = perms.acl
-let get_owner perm = perm.owner
+  let get_other perms = perms.other
+  let get_acl perms = perms.acl
+  let get_owner perm = perm.owner
 
-(** [remote_domid ~domid perm] removes all ACLs for [domid] from perm.
-* If [domid] was the owner then it is changed to Dom0.
-* This is used for cleaning up after dead domains.
-* *)
-let remove_domid ~domid perm =
-	let acl = List.filter (fun (acl_domid, _) -> acl_domid <> domid) perm.acl in
-	if perm.owner = domid then None else Some { perm with acl; owner = perm.owner }
+  (** [remote_domid ~domid perm] removes all ACLs for [domid] from perm.
+   * If [domid] was the owner then it is changed to Dom0.
+   * This is used for cleaning up after dead domains.
+   * *)
+  let remove_domid ~domid perm =
+    let acl = List.filter (fun (acl_domid, _) -> acl_domid <> domid) perm.acl in
+    if perm.owner = domid then None else Some { perm with acl; owner = perm.owner }
 
-let default0 = create 0 NONE []
+  let default0 = create 0 NONE []
 
-let perm_of_string s =
-	let ty = permty_of_char s.[0]
-	and id = int_of_string (String.sub s 1 (String.length s - 1)) in
-	(id, ty)
+  let perm_of_string s =
+    let ty = permty_of_char s.[0]
+    and id = int_of_string (String.sub s 1 (String.length s - 1)) in
+    (id, ty)
 
-let of_strings ls =
-	let vect = List.map (perm_of_string) ls in
-	match vect with
-	| [] -> invalid_arg "permvec empty"
-	| h :: l -> create (fst h) (snd h) l
+  let of_strings ls =
+    let vect = List.map (perm_of_string) ls in
+    match vect with
+    | [] -> invalid_arg "permvec empty"
+    | h :: l -> create (fst h) (snd h) l
 
-(* [s] must end with '\000' *)
-let of_string s =
-	let ls = String.split '\000' s in
-	let ls = if ls = [] then ls else List.rev (List.tl (List.rev ls)) in
-	of_strings ls
+  (* [s] must end with '\000' *)
+  let of_string s =
+    let ls = String.split '\000' s in
+    let ls = if ls = [] then ls else List.rev (List.tl (List.rev ls)) in
+    of_strings ls
 
-let string_of_perm perm =
-	Printf.sprintf "%c%u" (char_of_permty (snd perm)) (fst perm)
+  let string_of_perm perm =
+    Printf.sprintf "%c%u" (char_of_permty (snd perm)) (fst perm)
 
-let to_string ?(sep="\000") permvec =
-	let l = ((permvec.owner, permvec.other) :: permvec.acl) in
-	String.concat sep (List.map string_of_perm l)
+  let to_string ?(sep="\000") permvec =
+    let l = ((permvec.owner, permvec.other) :: permvec.acl) in
+    String.concat sep (List.map string_of_perm l)
 
 end
 
@@ -99,87 +99,87 @@ end
 module Connection =
 struct
 
-type elt = Xenctrl.domid * (permty list)
-type t =
-	{ main: elt;
-	  target: elt option; }
+  type elt = Xenctrl.domid * (permty list)
+  type t =
+    { main: elt;
+      target: elt option; }
 
-let full_rights : t =
-	{ main = 0, [READ; WRITE];
-	  target = None }
+  let full_rights : t =
+    { main = 0, [READ; WRITE];
+      target = None }
 
-let create ?(perms=[NONE]) domid : t =
-	{ main = (domid, perms);
-	  target = None }
+  let create ?(perms=[NONE]) domid : t =
+    { main = (domid, perms);
+      target = None }
 
-let set_target (connection:t) ?(perms=[NONE]) domid =
-	{ connection with target = Some (domid, perms) }
+  let set_target (connection:t) ?(perms=[NONE]) domid =
+    { connection with target = Some (domid, perms) }
 
-let get_owners (connection:t) =
-	match connection.main, connection.target with
-	| c1, Some c2 -> [ fst c1; fst c2 ]
-	| c1, None    -> [ fst c1 ]
+  let get_owners (connection:t) =
+    match connection.main, connection.target with
+    | c1, Some c2 -> [ fst c1; fst c2 ]
+    | c1, None    -> [ fst c1 ]
 
-let is_owner (connection:t) id =
-	match connection.target with
-	| Some target -> fst connection.main = id || fst target = id
-	| None        -> fst connection.main = id
+  let is_owner (connection:t) id =
+    match connection.target with
+    | Some target -> fst connection.main = id || fst target = id
+    | None        -> fst connection.main = id
 
-let is_dom0 (connection:t) =
-	is_owner connection 0
+  let is_dom0 (connection:t) =
+    is_owner connection 0
 
-let elt_to_string (i,p) =
-	Printf.sprintf "%i%S" i (String.concat "" (List.map String.of_char (List.map char_of_permty p)))
+  let elt_to_string (i,p) =
+    Printf.sprintf "%i%S" i (String.concat "" (List.map String.of_char (List.map char_of_permty p)))
 
-let to_string connection =
-	Printf.sprintf "%s%s" (elt_to_string connection.main) (default "" (may elt_to_string connection.target))
+  let to_string connection =
+    Printf.sprintf "%s%s" (elt_to_string connection.main) (default "" (may elt_to_string connection.target))
 end
 
 (* check if owner of the current connection and of the current node are the same *)
 let check_owner (connection:Connection.t) (node:Node.t) =
-	if !activate && not (Connection.is_dom0 connection)
-	then Connection.is_owner connection (Node.get_owner node)
-	else true
+  if !activate && not (Connection.is_dom0 connection)
+  then Connection.is_owner connection (Node.get_owner node)
+  else true
 
 (* check if the current connection lacks the requested perm on the current node *)
 let lacks (connection:Connection.t) request (node:Node.t) =
-	let check_acl domainid =
-		let perm =
-			if List.mem_assoc domainid (Node.get_acl node)
-			then List.assoc domainid (Node.get_acl node)
-			else Node.get_other node
-		in
-		match perm, request with
-		| NONE, _ ->
-			info "Permission denied: Domain %d has no permission" domainid;
-			false
-		| RDWR, _ -> true
-		| READ, READ -> true
-		| WRITE, WRITE -> true
-		| READ, _ ->
-			info "Permission denied: Domain %d has read only access" domainid;
-			false
-		| WRITE, _ ->
-			info "Permission denied: Domain %d has write only access" domainid;
-			false
-	in
-	!activate
-	&& not (Connection.is_dom0 connection)
-	&& not (check_owner connection node)
-	&& not (List.exists check_acl (Connection.get_owners connection))
+  let check_acl domainid =
+    let perm =
+      if List.mem_assoc domainid (Node.get_acl node)
+      then List.assoc domainid (Node.get_acl node)
+      else Node.get_other node
+    in
+    match perm, request with
+    | NONE, _ ->
+      info "Permission denied: Domain %d has no permission" domainid;
+      false
+    | RDWR, _ -> true
+    | READ, READ -> true
+    | WRITE, WRITE -> true
+    | READ, _ ->
+      info "Permission denied: Domain %d has read only access" domainid;
+      false
+    | WRITE, _ ->
+      info "Permission denied: Domain %d has write only access" domainid;
+      false
+  in
+  !activate
+  && not (Connection.is_dom0 connection)
+  && not (check_owner connection node)
+  && not (List.exists check_acl (Connection.get_owners connection))
 
 (* check if the current connection has the requested perm on the current node.
-*  Raises an exception if it doesn't. *)
+ *  Raises an exception if it doesn't. *)
 let check connection request node =
-	if lacks connection request node
-	then raise Define.Permission_denied
+  if lacks connection request node
+  then raise Define.Permission_denied
 
 (* check if the current connection has the requested perm on the current node *)
 let has connection request node = not (lacks connection request node)
 
 let can_fire_watch connection perms =
-	not !watch_activate
-	|| List.exists (has connection READ) perms
+  not !watch_activate
+  || List.exists (has connection READ) perms
 
 let equiv perm1 perm2 =
-	(Node.to_string perm1) = (Node.to_string perm2)
+  (Node.to_string perm1) = (Node.to_string perm2)
diff --git a/tools/ocaml/xenstored/poll.ml b/tools/ocaml/xenstored/poll.ml
index 26f8620dfc..fefaa6e74c 100644
--- a/tools/ocaml/xenstored/poll.ml
+++ b/tools/ocaml/xenstored/poll.ml
@@ -17,9 +17,9 @@
    subscription flags used by poll, which have a correspondence to the
    readfds, writefds, exceptfds concept as in select. *)
 type event = {
-	mutable read: bool;
-	mutable write: bool;
-	mutable except: bool;
+  mutable read: bool;
+  mutable write: bool;
+  mutable except: bool;
 }
 
 external select_on_poll: (Unix.file_descr * event) array -> int -> int = "stub_select_on_poll"
@@ -28,40 +28,40 @@ external set_fd_limit: int -> unit = "stub_set_fd_limit"
 (* The rlim_max given to setrlimit must not go above the system level nr_open,
    which we can read from /proc/sys. *)
 let get_sys_fs_nr_open () =
-	try
-		let ch = open_in "/proc/sys/fs/nr_open" in
-		let v = int_of_string (input_line ch) in
-		close_in_noerr ch; v
-	with _ -> 1024 * 1024
+  try
+    let ch = open_in "/proc/sys/fs/nr_open" in
+    let v = int_of_string (input_line ch) in
+    close_in_noerr ch; v
+  with _ -> 1024 * 1024
 
 let init_event () = {read = false; write = false; except = false}
 
 let poll_select in_fds out_fds exc_fds timeout =
-	let h = Hashtbl.create 57 in
-	let add_event event_set fd =
-		let e =
-			try Hashtbl.find h fd
-			with Not_found ->
-				let e = init_event () in
-				Hashtbl.add h fd e; e in
-		event_set e in
-	List.iter (add_event (fun x -> x.read <- true)) in_fds;
-	List.iter (add_event (fun x -> x.write <- true)) out_fds;
-	List.iter (add_event (fun x -> x.except <- true)) exc_fds;
-	(* Unix.stdin and init_event are dummy input as stubs, which will
-           always be overwritten later on.  *)
-	let a = Array.make (Hashtbl.length h) (Unix.stdin, init_event ()) in
-	let i = ref (-1) in
-	Hashtbl.iter (fun fd event -> incr i; Array.set a !i (fd, event)) h;
-	let n = select_on_poll a (int_of_float (timeout *. 1000.)) in
-	let r = [], [], [] in
-	if n = 0 then r else
-		Array.fold_right
-			(fun (fd, event) (r, w, x) ->
-			 (if event.read then fd :: r else r),
-			 (if event.write then fd :: w else w),
-			 (if event.except then fd :: x else x))
-			a r
+  let h = Hashtbl.create 57 in
+  let add_event event_set fd =
+    let e =
+      try Hashtbl.find h fd
+      with Not_found ->
+        let e = init_event () in
+        Hashtbl.add h fd e; e in
+    event_set e in
+  List.iter (add_event (fun x -> x.read <- true)) in_fds;
+  List.iter (add_event (fun x -> x.write <- true)) out_fds;
+  List.iter (add_event (fun x -> x.except <- true)) exc_fds;
+  (* Unix.stdin and init_event are dummy input as stubs, which will
+            always be overwritten later on.  *)
+  let a = Array.make (Hashtbl.length h) (Unix.stdin, init_event ()) in
+  let i = ref (-1) in
+  Hashtbl.iter (fun fd event -> incr i; Array.set a !i (fd, event)) h;
+  let n = select_on_poll a (int_of_float (timeout *. 1000.)) in
+  let r = [], [], [] in
+  if n = 0 then r else
+    Array.fold_right
+      (fun (fd, event) (r, w, x) ->
+         (if event.read then fd :: r else r),
+         (if event.write then fd :: w else w),
+         (if event.except then fd :: x else x))
+      a r
 
 let () =
-        set_fd_limit (get_sys_fs_nr_open ())
+  set_fd_limit (get_sys_fs_nr_open ())
diff --git a/tools/ocaml/xenstored/poll.mli b/tools/ocaml/xenstored/poll.mli
index f73465b99f..e759608b1a 100644
--- a/tools/ocaml/xenstored/poll.mli
+++ b/tools/ocaml/xenstored/poll.mli
@@ -15,5 +15,5 @@
 
 (** Same interface and semantics as [Unix.select], implemented using poll(3). *)
 val poll_select:
-	Unix.file_descr list -> Unix.file_descr list -> Unix.file_descr list -> float
-	-> Unix.file_descr list * Unix.file_descr list * Unix.file_descr list
+  Unix.file_descr list -> Unix.file_descr list -> Unix.file_descr list -> float
+  -> Unix.file_descr list * Unix.file_descr list * Unix.file_descr list
diff --git a/tools/ocaml/xenstored/process.ml b/tools/ocaml/xenstored/process.ml
index 02bd0f7d80..2e62c7a10e 100644
--- a/tools/ocaml/xenstored/process.ml
+++ b/tools/ocaml/xenstored/process.ml
@@ -31,302 +31,302 @@ exception Invalid_Cmd_Args
 let allow_debug = ref false
 
 let c_int_of_string s =
-	let v = ref 0 in
-	let is_digit c = c >= '0' && c <= '9' in
-	let len = String.length s in
-	let i = ref 0 in
-	while !i < len && not (is_digit s.[!i]) do incr i done;
-	while !i < len && is_digit s.[!i]
-	do
-		let x = (Char.code s.[!i]) - (Char.code '0') in
-		v := !v * 10 + x;
-		incr i
-	done;
-	!v
+  let v = ref 0 in
+  let is_digit c = c >= '0' && c <= '9' in
+  let len = String.length s in
+  let i = ref 0 in
+  while !i < len && not (is_digit s.[!i]) do incr i done;
+  while !i < len && is_digit s.[!i]
+  do
+    let x = (Char.code s.[!i]) - (Char.code '0') in
+    v := !v * 10 + x;
+    incr i
+  done;
+  !v
 
 (* when we don't want a limit, apply a max limit of 8 arguments.
    no arguments take more than 3 currently, which is pointless to split
    more than needed. *)
 let split limit c s =
-	let limit = match limit with None -> 8 | Some x -> x in
-	String.split ~limit c s
+  let limit = match limit with None -> 8 | Some x -> x in
+  String.split ~limit c s
 
 let split_one_path data con =
-	let args = split (Some 2) '\000' data in
-	match args with
-	| path :: "" :: [] -> Store.Path.create path (Connection.get_path con)
-	| _                -> raise Invalid_Cmd_Args
+  let args = split (Some 2) '\000' data in
+  match args with
+  | path :: "" :: [] -> Store.Path.create path (Connection.get_path con)
+  | _                -> raise Invalid_Cmd_Args
 
 let process_watch source t cons =
-	let oldroot = t.Transaction.oldroot in
-	let newroot = Store.get_root t.Transaction.store in
-	let ops = Transaction.get_paths t |> List.rev in
-	let do_op_watch op cons =
-		let recurse, oldroot, root = match (fst op) with
-		| Xenbus.Xb.Op.Write|Xenbus.Xb.Op.Mkdir -> false, None, newroot
-		| Xenbus.Xb.Op.Rm       -> true, None, oldroot
-		| Xenbus.Xb.Op.Setperms -> false, Some oldroot, newroot
-		| _              -> raise (Failure "huh ?") in
-		Connections.fire_watches ?oldroot source root cons (snd op) recurse in
-	List.iter (fun op -> do_op_watch op cons) ops;
-	Connections.send_watchevents cons source
+  let oldroot = t.Transaction.oldroot in
+  let newroot = Store.get_root t.Transaction.store in
+  let ops = Transaction.get_paths t |> List.rev in
+  let do_op_watch op cons =
+    let recurse, oldroot, root = match (fst op) with
+      | Xenbus.Xb.Op.Write|Xenbus.Xb.Op.Mkdir -> false, None, newroot
+      | Xenbus.Xb.Op.Rm       -> true, None, oldroot
+      | Xenbus.Xb.Op.Setperms -> false, Some oldroot, newroot
+      | _              -> raise (Failure "huh ?") in
+    Connections.fire_watches ?oldroot source root cons (snd op) recurse in
+  List.iter (fun op -> do_op_watch op cons) ops;
+  Connections.send_watchevents cons source
 
 let create_implicit_path t perm path =
-	let dirname = Store.Path.get_parent path in
-	if not (Transaction.path_exists t dirname) then (
-		let rec check_path p =
-			match p with
-			| []      -> []
-			| h :: l  ->
-				if Transaction.path_exists t h then
-					check_path l
-				else
-					p in
-		let ret = check_path (List.tl (Store.Path.get_hierarchy dirname)) in
-		List.iter (fun s -> Transaction.mkdir ~with_watch:false t perm s) ret
-	)
+  let dirname = Store.Path.get_parent path in
+  if not (Transaction.path_exists t dirname) then (
+    let rec check_path p =
+      match p with
+      | []      -> []
+      | h :: l  ->
+        if Transaction.path_exists t h then
+          check_path l
+        else
+          p in
+    let ret = check_path (List.tl (Store.Path.get_hierarchy dirname)) in
+    List.iter (fun s -> Transaction.mkdir ~with_watch:false t perm s) ret
+  )
 
 module LiveUpdate = struct
-type t =
-	{ binary: string
-	; cmdline: string list
-	; deadline: float
-	; force: bool
-	; result: string list
-	; pending: bool }
+  type t =
+    { binary: string
+    ; cmdline: string list
+    ; deadline: float
+    ; force: bool
+    ; result: string list
+    ; pending: bool }
 
-let state = ref
-	{ binary= Sys.executable_name
-	; cmdline= (Sys.argv |> Array.to_list |> List.tl)
-	; deadline= 0.
-	; force= false
-	; result = []
-	; pending= false }
+  let state = ref
+      { binary= Sys.executable_name
+      ; cmdline= (Sys.argv |> Array.to_list |> List.tl)
+      ; deadline= 0.
+      ; force= false
+      ; result = []
+      ; pending= false }
 
-let debug = Printf.eprintf
+  let debug = Printf.eprintf
 
-let forced_args = ["--live"; "--restart"]
-let args_of_t t =
-	let filtered = List.filter (fun x -> not @@ List.mem x forced_args) t.cmdline in
-	(t.binary, forced_args @ filtered)
+  let forced_args = ["--live"; "--restart"]
+  let args_of_t t =
+    let filtered = List.filter (fun x -> not @@ List.mem x forced_args) t.cmdline in
+    (t.binary, forced_args @ filtered)
 
-let string_of_t t =
-	let executable, rest = args_of_t t in
-	Filename.quote_command executable rest
+  let string_of_t t =
+    let executable, rest = args_of_t t in
+    Filename.quote_command executable rest
 
-let launch_exn t =
-	let executable, rest = args_of_t t in
-	let args = Array.of_list (executable :: rest) in
-	info "Launching %s, args: %s" executable (String.concat " " rest);
-	Unix.execv args.(0) args
+  let launch_exn t =
+    let executable, rest = args_of_t t in
+    let args = Array.of_list (executable :: rest) in
+    info "Launching %s, args: %s" executable (String.concat " " rest);
+    Unix.execv args.(0) args
 
-let validate_exn t =
-	(* --help must be last to check validity of earlier arguments *)
-	let t' = {t with cmdline= t.cmdline @ ["--help"]} in
-	let cmd = string_of_t t' in
-	debug "Executing %s" cmd ;
-	match Unix.fork () with
-	| 0 ->   ( try launch_exn t' with _ -> exit 2 )
-	| pid -> (
-		match Unix.waitpid [] pid with
-			| _, Unix.WEXITED 0 ->
-				debug "Live update validated cmdline %s" cmd;
-			t
-			| _, Unix.WEXITED n ->
-				invalid_arg (Printf.sprintf "Command %s exited with code %d" cmd n)
-			| _, Unix.WSIGNALED n ->
-				invalid_arg (Printf.sprintf "Command %s killed by ocaml signal number %d" cmd n)
-			| _, Unix.WSTOPPED n ->
-				invalid_arg (Printf.sprintf "Command %s stopped by ocaml signal number %d" cmd n)
-	)
+  let validate_exn t =
+    (* --help must be last to check validity of earlier arguments *)
+    let t' = {t with cmdline= t.cmdline @ ["--help"]} in
+    let cmd = string_of_t t' in
+    debug "Executing %s" cmd ;
+    match Unix.fork () with
+    | 0 ->   ( try launch_exn t' with _ -> exit 2 )
+    | pid -> (
+        match Unix.waitpid [] pid with
+        | _, Unix.WEXITED 0 ->
+          debug "Live update validated cmdline %s" cmd;
+          t
+        | _, Unix.WEXITED n ->
+          invalid_arg (Printf.sprintf "Command %s exited with code %d" cmd n)
+        | _, Unix.WSIGNALED n ->
+          invalid_arg (Printf.sprintf "Command %s killed by ocaml signal number %d" cmd n)
+        | _, Unix.WSTOPPED n ->
+          invalid_arg (Printf.sprintf "Command %s stopped by ocaml signal number %d" cmd n)
+      )
 
-let parse_live_update args =
-	try
-	(state :=
-		match args with
-		| ["-f"; file] ->
-			validate_exn {!state with binary= file}
-		| ["-a"] ->
-			debug "Live update aborted" ;
-			{!state with pending= false; result = []}
-		| "-c" :: cmdline ->
-			validate_exn {!state with cmdline = !state.cmdline @ cmdline}
-		| "-s" :: _ ->
-			(match !state.pending, !state.result with
-			| true, _ -> !state (* no change to state, avoid resetting timeout *)
-			| false, _ :: _ -> !state (* we got a pending result to deliver *)
-			| false, [] ->
-			let timeout = ref 60 in
-			let force = ref false in
-			Arg.parse_argv ~current:(ref 0) (Array.of_list args)
-				[ ( "-t"
-				  , Arg.Set_int timeout
-				  , "timeout in seconds to wait for active transactions to finish"
-				  )
-				; ( "-F"
-				  , Arg.Set force
-				  , "force live update to happen even with running transactions after timeout elapsed"
-				  )
-				]
-			(fun x -> raise (Arg.Bad x))
-			"live-update -s" ;
-			debug "Live update process queued" ;
-				{!state with deadline = Unix.gettimeofday () +. float !timeout
-				; force= !force; pending= true})
-		| _ ->
-			invalid_arg ("Unknown arguments: " ^ String.concat "," args)) ;
-		match !state.pending, !state.result with
-		| true, _ -> Some "BUSY"
-		| false, (_ :: _ as result) ->
-			(* xenstore-control has read the result, clear it *)
-			state := { !state with result = [] };
-			Some (String.concat "\n" result)
-		| false, [] -> None
-	with
-	| Arg.Bad s | Arg.Help s | Invalid_argument s ->
-		Some s
-	| Unix.Unix_error (e, fn, args) ->
-		Some (Printf.sprintf "%s(%s): %s" fn args (Unix.error_message e))
+  let parse_live_update args =
+    try
+      (state :=
+         match args with
+         | ["-f"; file] ->
+           validate_exn {!state with binary= file}
+         | ["-a"] ->
+           debug "Live update aborted" ;
+           {!state with pending= false; result = []}
+         | "-c" :: cmdline ->
+           validate_exn {!state with cmdline = !state.cmdline @ cmdline}
+         | "-s" :: _ ->
+           (match !state.pending, !state.result with
+            | true, _ -> !state (* no change to state, avoid resetting timeout *)
+            | false, _ :: _ -> !state (* we got a pending result to deliver *)
+            | false, [] ->
+              let timeout = ref 60 in
+              let force = ref false in
+              Arg.parse_argv ~current:(ref 0) (Array.of_list args)
+                [ ( "-t"
+                  , Arg.Set_int timeout
+                  , "timeout in seconds to wait for active transactions to finish"
+                  )
+                ; ( "-F"
+                  , Arg.Set force
+                  , "force live update to happen even with running transactions after timeout elapsed"
+                  )
+                ]
+                (fun x -> raise (Arg.Bad x))
+                "live-update -s" ;
+              debug "Live update process queued" ;
+              {!state with deadline = Unix.gettimeofday () +. float !timeout
+                         ; force= !force; pending= true})
+         | _ ->
+           invalid_arg ("Unknown arguments: " ^ String.concat "," args)) ;
+      match !state.pending, !state.result with
+      | true, _ -> Some "BUSY"
+      | false, (_ :: _ as result) ->
+        (* xenstore-control has read the result, clear it *)
+        state := { !state with result = [] };
+        Some (String.concat "\n" result)
+      | false, [] -> None
+    with
+    | Arg.Bad s | Arg.Help s | Invalid_argument s ->
+      Some s
+    | Unix.Unix_error (e, fn, args) ->
+      Some (Printf.sprintf "%s(%s): %s" fn args (Unix.error_message e))
 
-	let should_run cons =
-		let t = !state in
-		if t.pending then begin
-			match Connections.prevents_quit cons with
-			| [] -> true
-			| _ when Unix.gettimeofday () < t.deadline -> false
-			| l ->
-				warn "timeout reached: have to wait, migrate or shutdown %d domains:" (List.length l);
-				let msgs = List.rev_map (fun con -> Printf.sprintf "%s: %d tx, out: %b, perm: %s"
-					(Connection.get_domstr con)
-					(Connection.number_of_transactions con)
-					(Connection.has_output con)
-					(Connection.get_perm con |> Perms.Connection.to_string)
-					) l in
-				List.iter (warn "Live-update: %s") msgs;
-				if t.force then begin
-					warn "Live update forced, some domain connections may break!";
-					true
-				end else begin
-					warn "Live update aborted (see above for domains preventing it)";
-					state := { t with pending = false; result = msgs};
-					false
-				end
-		end else false
+  let should_run cons =
+    let t = !state in
+    if t.pending then begin
+      match Connections.prevents_quit cons with
+      | [] -> true
+      | _ when Unix.gettimeofday () < t.deadline -> false
+      | l ->
+        warn "timeout reached: have to wait, migrate or shutdown %d domains:" (List.length l);
+        let msgs = List.rev_map (fun con -> Printf.sprintf "%s: %d tx, out: %b, perm: %s"
+                                    (Connection.get_domstr con)
+                                    (Connection.number_of_transactions con)
+                                    (Connection.has_output con)
+                                    (Connection.get_perm con |> Perms.Connection.to_string)
+                                ) l in
+        List.iter (warn "Live-update: %s") msgs;
+        if t.force then begin
+          warn "Live update forced, some domain connections may break!";
+          true
+        end else begin
+          warn "Live update aborted (see above for domains preventing it)";
+          state := { t with pending = false; result = msgs};
+          false
+        end
+    end else false
 
-	let completed () =
-		state := { !state with result = ["OK"] }
+  let completed () =
+    state := { !state with result = ["OK"] }
 end
 
 (* packets *)
 let do_debug con t _domains cons data =
-	if not (Connection.is_dom0 con) && not !allow_debug
-	then None
-	else try match split None '\000' data with
-	| "live-update" :: params ->
-		let dropped_trailing_nul = params |> List.rev |> List.tl |> List.rev in
-		LiveUpdate.parse_live_update dropped_trailing_nul
-	| "print" :: msg :: _ ->
-		Logging.xb_op ~tid:0 ~ty:Xenbus.Xb.Op.Debug ~con:"=======>" msg;
-		None
-	| "quota" :: domid :: _ ->
-		let domid = int_of_string domid in
-		let quota = (Store.get_quota t.Transaction.store) in
-		Some (Quota.to_string quota domid ^ "\000")
-	| "watches" :: _ ->
-		let watches = Connections.debug cons in
-		Some (watches ^ "\000")
-	| "xenbus" :: domid :: _ ->
-		let domid = int_of_string domid in
-		let con = Connections.find_domain cons domid in
-		let s = Printf.sprintf "xenbus: %s; overflow queue length: %d, can_input: %b, has_more_input: %b, has_old_output: %b, has_new_output: %b, has_more_work: %b. pending: %s"
-			(Xenbus.Xb.debug con.xb)
-			(Connection.source_pending_watchevents con)
-			(Connection.can_input con)
-			(Connection.has_more_input con)
-			(Connection.has_old_output con)
-			(Connection.has_new_output con)
-			(Connection.has_more_work con)
-			(Connections.debug_watchevents cons con)
-		in
-		Some s
-	| "mfn" :: domid :: _ ->
-		let domid = int_of_string domid in
-		let con = Connections.find_domain cons domid in
-		may (fun dom -> Printf.sprintf "%nd\000" (Domain.get_mfn dom)) (Connection.get_domain con)
-	| _ -> None
-	with _ -> None
+  if not (Connection.is_dom0 con) && not !allow_debug
+  then None
+  else try match split None '\000' data with
+    | "live-update" :: params ->
+      let dropped_trailing_nul = params |> List.rev |> List.tl |> List.rev in
+      LiveUpdate.parse_live_update dropped_trailing_nul
+    | "print" :: msg :: _ ->
+      Logging.xb_op ~tid:0 ~ty:Xenbus.Xb.Op.Debug ~con:"=======>" msg;
+      None
+    | "quota" :: domid :: _ ->
+      let domid = int_of_string domid in
+      let quota = (Store.get_quota t.Transaction.store) in
+      Some (Quota.to_string quota domid ^ "\000")
+    | "watches" :: _ ->
+      let watches = Connections.debug cons in
+      Some (watches ^ "\000")
+    | "xenbus" :: domid :: _ ->
+      let domid = int_of_string domid in
+      let con = Connections.find_domain cons domid in
+      let s = Printf.sprintf "xenbus: %s; overflow queue length: %d, can_input: %b, has_more_input: %b, has_old_output: %b, has_new_output: %b, has_more_work: %b. pending: %s"
+          (Xenbus.Xb.debug con.xb)
+          (Connection.source_pending_watchevents con)
+          (Connection.can_input con)
+          (Connection.has_more_input con)
+          (Connection.has_old_output con)
+          (Connection.has_new_output con)
+          (Connection.has_more_work con)
+          (Connections.debug_watchevents cons con)
+      in
+      Some s
+    | "mfn" :: domid :: _ ->
+      let domid = int_of_string domid in
+      let con = Connections.find_domain cons domid in
+      may (fun dom -> Printf.sprintf "%nd\000" (Domain.get_mfn dom)) (Connection.get_domain con)
+    | _ -> None
+    with _ -> None
 
 let do_directory con t _domains _cons data =
-	let path = split_one_path data con in
-	let entries = Transaction.ls t (Connection.get_perm con) path in
-	if List.length entries > 0 then
-		(Utils.join_by_null entries) ^ "\000"
-	else
-		""
+  let path = split_one_path data con in
+  let entries = Transaction.ls t (Connection.get_perm con) path in
+  if List.length entries > 0 then
+    (Utils.join_by_null entries) ^ "\000"
+  else
+    ""
 
 let do_read con t _domains _cons data =
-	let path = split_one_path data con in
-	Transaction.read t (Connection.get_perm con) path
+  let path = split_one_path data con in
+  Transaction.read t (Connection.get_perm con) path
 
 let do_getperms con t _domains _cons data =
-	let path = split_one_path data con in
-	let perms = Transaction.getperms t (Connection.get_perm con) path in
-	Perms.Node.to_string perms ^ "\000"
+  let path = split_one_path data con in
+  let perms = Transaction.getperms t (Connection.get_perm con) path in
+  Perms.Node.to_string perms ^ "\000"
 
 let do_getdomainpath _con _t _domains _cons data =
-	let domid =
-		match (split None '\000' data) with
-		| domid :: "" :: [] -> c_int_of_string domid
-		| _                 -> raise Invalid_Cmd_Args
-		in
-	sprintf "/local/domain/%u\000" domid
+  let domid =
+    match (split None '\000' data) with
+    | domid :: "" :: [] -> c_int_of_string domid
+    | _                 -> raise Invalid_Cmd_Args
+  in
+  sprintf "/local/domain/%u\000" domid
 
 let do_write con t _domains _cons data =
-	let path, value =
-		match (split (Some 2) '\000' data) with
-		| path :: value :: [] -> Store.Path.create path (Connection.get_path con), value
-		| _                   -> raise Invalid_Cmd_Args
-		in
-	create_implicit_path t (Connection.get_perm con) path;
-	Transaction.write t (Connection.get_perm con) path value
+  let path, value =
+    match (split (Some 2) '\000' data) with
+    | path :: value :: [] -> Store.Path.create path (Connection.get_path con), value
+    | _                   -> raise Invalid_Cmd_Args
+  in
+  create_implicit_path t (Connection.get_perm con) path;
+  Transaction.write t (Connection.get_perm con) path value
 
 let do_mkdir con t _domains _cons data =
-	let path = split_one_path data con in
-	create_implicit_path t (Connection.get_perm con) path;
-	try
-		Transaction.mkdir t (Connection.get_perm con) path
-	with
-		Define.Already_exist -> ()
+  let path = split_one_path data con in
+  create_implicit_path t (Connection.get_perm con) path;
+  try
+    Transaction.mkdir t (Connection.get_perm con) path
+  with
+    Define.Already_exist -> ()
 
 let do_rm con t _domains _cons data =
-	let path = split_one_path data con in
-	try
-		Transaction.rm t (Connection.get_perm con) path
-	with
-		Define.Doesnt_exist -> ()
+  let path = split_one_path data con in
+  try
+    Transaction.rm t (Connection.get_perm con) path
+  with
+    Define.Doesnt_exist -> ()
 
 let do_setperms con t _domains _cons data =
-	let path, perms =
-		match (split (Some 2) '\000' data) with
-		| path :: perms :: _ ->
-			Store.Path.create path (Connection.get_path con),
-			(Perms.Node.of_string perms)
-		| _                   -> raise Invalid_Cmd_Args
-		in
-	Transaction.setperms t (Connection.get_perm con) path perms
+  let path, perms =
+    match (split (Some 2) '\000' data) with
+    | path :: perms :: _ ->
+      Store.Path.create path (Connection.get_path con),
+      (Perms.Node.of_string perms)
+    | _                   -> raise Invalid_Cmd_Args
+  in
+  Transaction.setperms t (Connection.get_perm con) path perms
 
 let do_error _con _t _domains _cons _data =
-	raise Define.Unknown_operation
+  raise Define.Unknown_operation
 
 let do_isintroduced con _t domains _cons data =
-	if not (Connection.is_dom0 con)
-	then raise Define.Permission_denied;
-	let domid =
-		match (split None '\000' data) with
-		| domid :: _ -> int_of_string domid
-		| _          -> raise Invalid_Cmd_Args
-		in
-	if domid = Define.domid_self || Domains.exist domains domid then "T\000" else "F\000"
+  if not (Connection.is_dom0 con)
+  then raise Define.Permission_denied;
+  let domid =
+    match (split None '\000' data) with
+    | domid :: _ -> int_of_string domid
+    | _          -> raise Invalid_Cmd_Args
+  in
+  if domid = Define.domid_self || Domains.exist domains domid then "T\000" else "F\000"
 
 (* only in xen >= 4.2 *)
 let do_reset_watches con _t _domains cons _data =
@@ -335,431 +335,431 @@ let do_reset_watches con _t _domains cons _data =
 
 (* only in >= xen3.3                                                                                    *)
 let do_set_target con _t _domains cons data =
-	if not (Connection.is_dom0 con)
-	then raise Define.Permission_denied;
-	match split None '\000' data with
-		| [ domid; target_domid; "" ] -> Connections.set_target cons (c_int_of_string domid) (c_int_of_string target_domid)
-		| _                           -> raise Invalid_Cmd_Args
+  if not (Connection.is_dom0 con)
+  then raise Define.Permission_denied;
+  match split None '\000' data with
+  | [ domid; target_domid; "" ] -> Connections.set_target cons (c_int_of_string domid) (c_int_of_string target_domid)
+  | _                           -> raise Invalid_Cmd_Args
 
 (*------------- Generic handling of ty ------------------*)
 let send_response ty con t rid response =
-	match response with
-	| Packet.Ack f ->
-		Connection.send_ack con (Transaction.get_id t) rid ty;
-		(* Now do any necessary follow-up actions *)
-		f ()
-	| Packet.Reply ret ->
-		Connection.send_reply con (Transaction.get_id t) rid ty ret
-	| Packet.Error e ->
-		Connection.send_error con (Transaction.get_id t) rid e
+  match response with
+  | Packet.Ack f ->
+    Connection.send_ack con (Transaction.get_id t) rid ty;
+    (* Now do any necessary follow-up actions *)
+    f ()
+  | Packet.Reply ret ->
+    Connection.send_reply con (Transaction.get_id t) rid ty ret
+  | Packet.Error e ->
+    Connection.send_error con (Transaction.get_id t) rid e
 
 let reply_ack fct con t doms cons data =
-	fct con t doms cons data;
-	Packet.Ack (fun () ->
-		if Transaction.get_id t = Transaction.none then
-			process_watch con t cons
-	)
+  fct con t doms cons data;
+  Packet.Ack (fun () ->
+      if Transaction.get_id t = Transaction.none then
+        process_watch con t cons
+    )
 
 let reply_data fct con t doms cons data =
-	let ret = fct con t doms cons data in
-	Packet.Reply ret
+  let ret = fct con t doms cons data in
+  Packet.Reply ret
 
 let reply_data_or_ack fct con t doms cons data =
-	match fct con t doms cons data with
-		| Some ret -> Packet.Reply ret
-		| None -> Packet.Ack (fun () -> ())
+  match fct con t doms cons data with
+  | Some ret -> Packet.Reply ret
+  | None -> Packet.Ack (fun () -> ())
 
 let reply_none fct con t doms cons data =
-	(* let the function reply *)
-	fct con t doms cons data
+  (* let the function reply *)
+  fct con t doms cons data
 
 (* Functions for 'simple' operations that cannot be part of a transaction *)
 let function_of_type_simple_op ty =
-	match ty with
-	| Xenbus.Xb.Op.Debug
-	| Xenbus.Xb.Op.Watch
-	| Xenbus.Xb.Op.Unwatch
-	| Xenbus.Xb.Op.Transaction_start
-	| Xenbus.Xb.Op.Transaction_end
-	| Xenbus.Xb.Op.Introduce
-	| Xenbus.Xb.Op.Release
-	| Xenbus.Xb.Op.Isintroduced
-	| Xenbus.Xb.Op.Resume
-	| Xenbus.Xb.Op.Set_target
-	| Xenbus.Xb.Op.Reset_watches
-	| Xenbus.Xb.Op.Invalid           -> error "called function_of_type_simple_op on operation %s" (Xenbus.Xb.Op.to_string ty);
-	                                    raise (Invalid_argument (Xenbus.Xb.Op.to_string ty))
-	| Xenbus.Xb.Op.Directory         -> reply_data do_directory
-	| Xenbus.Xb.Op.Read              -> reply_data do_read
-	| Xenbus.Xb.Op.Getperms          -> reply_data do_getperms
-	| Xenbus.Xb.Op.Getdomainpath     -> reply_data do_getdomainpath
-	| Xenbus.Xb.Op.Write             -> reply_ack do_write
-	| Xenbus.Xb.Op.Mkdir             -> reply_ack do_mkdir
-	| Xenbus.Xb.Op.Rm                -> reply_ack do_rm
-	| Xenbus.Xb.Op.Setperms          -> reply_ack do_setperms
-	| _                              -> reply_ack do_error
+  match ty with
+  | Xenbus.Xb.Op.Debug
+  | Xenbus.Xb.Op.Watch
+  | Xenbus.Xb.Op.Unwatch
+  | Xenbus.Xb.Op.Transaction_start
+  | Xenbus.Xb.Op.Transaction_end
+  | Xenbus.Xb.Op.Introduce
+  | Xenbus.Xb.Op.Release
+  | Xenbus.Xb.Op.Isintroduced
+  | Xenbus.Xb.Op.Resume
+  | Xenbus.Xb.Op.Set_target
+  | Xenbus.Xb.Op.Reset_watches
+  | Xenbus.Xb.Op.Invalid           -> error "called function_of_type_simple_op on operation %s" (Xenbus.Xb.Op.to_string ty);
+    raise (Invalid_argument (Xenbus.Xb.Op.to_string ty))
+  | Xenbus.Xb.Op.Directory         -> reply_data do_directory
+  | Xenbus.Xb.Op.Read              -> reply_data do_read
+  | Xenbus.Xb.Op.Getperms          -> reply_data do_getperms
+  | Xenbus.Xb.Op.Getdomainpath     -> reply_data do_getdomainpath
+  | Xenbus.Xb.Op.Write             -> reply_ack do_write
+  | Xenbus.Xb.Op.Mkdir             -> reply_ack do_mkdir
+  | Xenbus.Xb.Op.Rm                -> reply_ack do_rm
+  | Xenbus.Xb.Op.Setperms          -> reply_ack do_setperms
+  | _                              -> reply_ack do_error
 
 let input_handle_error ~cons ~doms ~fct ~con ~t ~req =
-	let reply_error e =
-		Packet.Error e in
-	try
-		Transaction.check_quota_exn ~perm:(Connection.get_perm con) t;
-		fct con t doms cons req.Packet.data
-	with
-	| Define.Invalid_path          -> reply_error "EINVAL"
-	| Define.Already_exist         -> reply_error "EEXIST"
-	| Define.Doesnt_exist          -> reply_error "ENOENT"
-	| Define.Lookup_Doesnt_exist _ -> reply_error "ENOENT"
-	| Define.Permission_denied     -> reply_error "EACCES"
-	| Not_found                    -> reply_error "ENOENT"
-	| Invalid_Cmd_Args             -> reply_error "EINVAL"
-	| Invalid_argument _           -> reply_error "EINVAL"
-	| Transaction_again            -> reply_error "EAGAIN"
-	| Transaction_nested           -> reply_error "EBUSY"
-	| Domain_not_match             -> reply_error "EINVAL"
-	| Quota.Limit_reached          -> reply_error "EQUOTA"
-	| Quota.Data_too_big           -> reply_error "E2BIG"
-	| Quota.Transaction_opened     -> reply_error "EQUOTA"
-	| (Failure "int_of_string")    -> reply_error "EINVAL"
-	| Define.Unknown_operation     -> reply_error "ENOSYS"
+  let reply_error e =
+    Packet.Error e in
+  try
+    Transaction.check_quota_exn ~perm:(Connection.get_perm con) t;
+    fct con t doms cons req.Packet.data
+  with
+  | Define.Invalid_path          -> reply_error "EINVAL"
+  | Define.Already_exist         -> reply_error "EEXIST"
+  | Define.Doesnt_exist          -> reply_error "ENOENT"
+  | Define.Lookup_Doesnt_exist _ -> reply_error "ENOENT"
+  | Define.Permission_denied     -> reply_error "EACCES"
+  | Not_found                    -> reply_error "ENOENT"
+  | Invalid_Cmd_Args             -> reply_error "EINVAL"
+  | Invalid_argument _           -> reply_error "EINVAL"
+  | Transaction_again            -> reply_error "EAGAIN"
+  | Transaction_nested           -> reply_error "EBUSY"
+  | Domain_not_match             -> reply_error "EINVAL"
+  | Quota.Limit_reached          -> reply_error "EQUOTA"
+  | Quota.Data_too_big           -> reply_error "E2BIG"
+  | Quota.Transaction_opened     -> reply_error "EQUOTA"
+  | (Failure "int_of_string")    -> reply_error "EINVAL"
+  | Define.Unknown_operation     -> reply_error "ENOSYS"
 
 let write_access_log ~ty ~tid ~con ~data =
-	Logging.xb_op ~ty ~tid ~con data
+  Logging.xb_op ~ty ~tid ~con data
 
 let write_answer_log ~ty ~tid ~con ~data =
-	Logging.xb_answer ~ty ~tid ~con data
+  Logging.xb_answer ~ty ~tid ~con data
 
 let write_response_log ~ty ~tid ~con ~response =
-	match response with
-	| Packet.Ack _   -> write_answer_log ~ty ~tid ~con ~data:""
-	| Packet.Reply x -> write_answer_log ~ty ~tid ~con ~data:x
-	| Packet.Error e -> write_answer_log ~ty:(Xenbus.Xb.Op.Error) ~tid ~con ~data:e
+  match response with
+  | Packet.Ack _   -> write_answer_log ~ty ~tid ~con ~data:""
+  | Packet.Reply x -> write_answer_log ~ty ~tid ~con ~data:x
+  | Packet.Error e -> write_answer_log ~ty:(Xenbus.Xb.Op.Error) ~tid ~con ~data:e
 
 let record_commit ~con ~tid ~before ~after =
-	let inc r = r := Int64.add 1L !r in
-	let finish_count = inc Transaction.counter; !Transaction.counter in
-	History.push {History.con=con; tid=tid; before=before; after=after; finish_count=finish_count}
+  let inc r = r := Int64.add 1L !r in
+  let finish_count = inc Transaction.counter; !Transaction.counter in
+  History.push {History.con=con; tid=tid; before=before; after=after; finish_count=finish_count}
 
 (* Replay a stored transaction against a fresh store, check the responses are
    all equivalent: if so, commit the transaction. Otherwise send the abort to
    the client. *)
 let transaction_replay c t doms cons =
-	match t.Transaction.ty with
-	| Transaction.No ->
-		error "attempted to replay a non-full transaction";
-		false
-	| Transaction.Full(id, _oldstore, cstore) ->
-		let tid = Connection.start_transaction c cstore in
-		let replay_t = Transaction.make ~internal:true tid cstore in
-		let con = sprintf "r(%d):%s" id (Connection.get_domstr c) in
+  match t.Transaction.ty with
+  | Transaction.No ->
+    error "attempted to replay a non-full transaction";
+    false
+  | Transaction.Full(id, _oldstore, cstore) ->
+    let tid = Connection.start_transaction c cstore in
+    let replay_t = Transaction.make ~internal:true tid cstore in
+    let con = sprintf "r(%d):%s" id (Connection.get_domstr c) in
 
-		let perform_exn ~wlog txn (request, response) =
-			if wlog then write_access_log ~ty:request.Packet.ty ~tid ~con ~data:request.Packet.data;
-			let fct = function_of_type_simple_op request.Packet.ty in
-			let response' = input_handle_error ~cons ~doms ~fct ~con:c ~t:txn ~req:request in
-			if wlog then write_response_log ~ty:request.Packet.ty ~tid ~con ~response:response';
-			if not(Packet.response_equal response response') then raise Transaction_again
-		in
-		finally
-		(fun () ->
-			try
-				Logging.start_transaction ~con ~tid;
-				List.iter (perform_exn ~wlog:true replay_t) (Transaction.get_operations t); (* May throw EAGAIN *)
+    let perform_exn ~wlog txn (request, response) =
+      if wlog then write_access_log ~ty:request.Packet.ty ~tid ~con ~data:request.Packet.data;
+      let fct = function_of_type_simple_op request.Packet.ty in
+      let response' = input_handle_error ~cons ~doms ~fct ~con:c ~t:txn ~req:request in
+      if wlog then write_response_log ~ty:request.Packet.ty ~tid ~con ~response:response';
+      if not(Packet.response_equal response response') then raise Transaction_again
+    in
+    finally
+      (fun () ->
+         try
+           Logging.start_transaction ~con ~tid;
+           List.iter (perform_exn ~wlog:true replay_t) (Transaction.get_operations t); (* May throw EAGAIN *)
 
-				Logging.end_transaction ~con ~tid;
-				Transaction.commit ~con replay_t
-			with
-			| Transaction_again -> (
-				Transaction.failed_commits := Int64.add !Transaction.failed_commits 1L;
-				let victim_domstr = Connection.get_domstr c in
-				debug "Apportioning blame for EAGAIN in txn %d, domain=%s" id victim_domstr;
-				let punish guilty_con =
-					debug "Blaming domain %s for conflict with domain %s txn %d"
-						(Connection.get_domstr guilty_con) victim_domstr id;
-					Connection.decr_conflict_credit doms guilty_con
-				in
-				let judge_and_sentence hist_rec = (
-					let can_apply_on store = (
-						let store = Store.copy store in
-						let trial_t = Transaction.make ~internal:true Transaction.none store in
-						try List.iter (perform_exn ~wlog:false trial_t) (Transaction.get_operations t);
-							true
-						with Transaction_again -> false
-					) in
-					if can_apply_on hist_rec.History.before
-					&& not (can_apply_on hist_rec.History.after)
-					then (punish hist_rec.History.con; true)
-					else false
-				) in
-				let guilty_cons = History.filter_connections ~ignore:c ~since:t.Transaction.start_count ~f:judge_and_sentence in
-				if Hashtbl.length guilty_cons = 0 then (
-					debug "Found no culprit for conflict in %s: must be self or not in history." con;
-					Transaction.failed_commits_no_culprit := Int64.add !Transaction.failed_commits_no_culprit 1L
-				);
-				false
-			)
-			| e ->
-				info "transaction_replay %d caught: %s" tid (Printexc.to_string e);
-				false
-			)
-		(fun () ->
-			ignore @@ Connection.end_transaction c tid None
-		)
+           Logging.end_transaction ~con ~tid;
+           Transaction.commit ~con replay_t
+         with
+         | Transaction_again -> (
+             Transaction.failed_commits := Int64.add !Transaction.failed_commits 1L;
+             let victim_domstr = Connection.get_domstr c in
+             debug "Apportioning blame for EAGAIN in txn %d, domain=%s" id victim_domstr;
+             let punish guilty_con =
+               debug "Blaming domain %s for conflict with domain %s txn %d"
+                 (Connection.get_domstr guilty_con) victim_domstr id;
+               Connection.decr_conflict_credit doms guilty_con
+             in
+             let judge_and_sentence hist_rec = (
+               let can_apply_on store = (
+                 let store = Store.copy store in
+                 let trial_t = Transaction.make ~internal:true Transaction.none store in
+                 try List.iter (perform_exn ~wlog:false trial_t) (Transaction.get_operations t);
+                   true
+                 with Transaction_again -> false
+               ) in
+               if can_apply_on hist_rec.History.before
+               && not (can_apply_on hist_rec.History.after)
+               then (punish hist_rec.History.con; true)
+               else false
+             ) in
+             let guilty_cons = History.filter_connections ~ignore:c ~since:t.Transaction.start_count ~f:judge_and_sentence in
+             if Hashtbl.length guilty_cons = 0 then (
+               debug "Found no culprit for conflict in %s: must be self or not in history." con;
+               Transaction.failed_commits_no_culprit := Int64.add !Transaction.failed_commits_no_culprit 1L
+             );
+             false
+           )
+         | e ->
+           info "transaction_replay %d caught: %s" tid (Printexc.to_string e);
+           false
+      )
+      (fun () ->
+         ignore @@ Connection.end_transaction c tid None
+      )
 
 let do_watch con _t _domains cons data =
-	let (node, token) =
-		match (split None '\000' data) with
-		| [node; token; ""]   -> node, token
-		| _                   -> raise Invalid_Cmd_Args
-		in
-	let watch = Connections.add_watch cons con node token in
-	Packet.Ack (fun () ->
-		(* xenstore.txt says this watch is fired immediately,
-		   implying even if path doesn't exist or is unreadable *)
-		Connection.fire_single_watch_unchecked con watch)
+  let (node, token) =
+    match (split None '\000' data) with
+    | [node; token; ""]   -> node, token
+    | _                   -> raise Invalid_Cmd_Args
+  in
+  let watch = Connections.add_watch cons con node token in
+  Packet.Ack (fun () ->
+      (* xenstore.txt says this watch is fired immediately,
+         		   implying even if path doesn't exist or is unreadable *)
+      Connection.fire_single_watch_unchecked con watch)
 
 let do_unwatch con _t _domains cons data =
-	let (node, token) =
-		match (split None '\000' data) with
-		| [node; token; ""]   -> node, token
-		| _                   -> raise Invalid_Cmd_Args
-		in
-	ignore @@ Connections.del_watch cons con node token
+  let (node, token) =
+    match (split None '\000' data) with
+    | [node; token; ""]   -> node, token
+    | _                   -> raise Invalid_Cmd_Args
+  in
+  ignore @@ Connections.del_watch cons con node token
 
 let do_transaction_start con t _domains _cons _data =
-	if Transaction.get_id t <> Transaction.none then
-		raise Transaction_nested;
-	let store = Transaction.get_store t in
-	string_of_int (Connection.start_transaction con store) ^ "\000"
+  if Transaction.get_id t <> Transaction.none then
+    raise Transaction_nested;
+  let store = Transaction.get_store t in
+  string_of_int (Connection.start_transaction con store) ^ "\000"
 
 let do_transaction_end con t domains cons data =
-	let commit =
-		match (split None '\000' data) with
-		| "T" :: _ -> true
-		| "F" :: _ -> false
-		| x :: _   -> raise (Invalid_argument x)
-		| _        -> raise Invalid_Cmd_Args
-		in
-	let commit = commit && not (Transaction.is_read_only t) in
-	let success =
-		let commit = if commit then Some (fun con trans -> transaction_replay con trans domains cons) else None in
-		History.end_transaction t con (Transaction.get_id t) commit in
-	if not success then
-		raise Transaction_again;
-	if commit then begin
-		process_watch con t cons;
-		match t.Transaction.ty with
-		| Transaction.No ->
-			() (* no need to record anything *)
-		| Transaction.Full(id, oldstore, cstore) ->
-			record_commit ~con ~tid:id ~before:oldstore ~after:cstore
-	end
+  let commit =
+    match (split None '\000' data) with
+    | "T" :: _ -> true
+    | "F" :: _ -> false
+    | x :: _   -> raise (Invalid_argument x)
+    | _        -> raise Invalid_Cmd_Args
+  in
+  let commit = commit && not (Transaction.is_read_only t) in
+  let success =
+    let commit = if commit then Some (fun con trans -> transaction_replay con trans domains cons) else None in
+    History.end_transaction t con (Transaction.get_id t) commit in
+  if not success then
+    raise Transaction_again;
+  if commit then begin
+    process_watch con t cons;
+    match t.Transaction.ty with
+    | Transaction.No ->
+      () (* no need to record anything *)
+    | Transaction.Full(id, oldstore, cstore) ->
+      record_commit ~con ~tid:id ~before:oldstore ~after:cstore
+  end
 
 let do_introduce con t domains cons data =
-	if not (Connection.is_dom0 con)
-	then raise Define.Permission_denied;
-	let (domid, mfn, remote_port) =
-		match (split None '\000' data) with
-		| domid :: mfn :: remote_port :: _ ->
-			int_of_string domid, Nativeint.of_string mfn, int_of_string remote_port
-		| _                         -> raise Invalid_Cmd_Args;
-		in
-	let dom =
-		if Domains.exist domains domid then
-			let edom = Domains.find domains domid in
-			if (Domain.get_mfn edom) = mfn && (Connections.find_domain cons domid) != con then begin
-				(* Use XS_INTRODUCE for recreating the xenbus event-channel. *)
-				Domain.rebind_evtchn edom remote_port;
-			end;
-			edom
-		else try
-			let ndom = Domains.create ~remote_port domains domid mfn in
-			Connections.add_domain cons ndom;
-			Connections.fire_spec_watches (Transaction.get_root t) cons Store.Path.introduce_domain;
-			ndom
-		with _ -> raise Invalid_Cmd_Args
-	in
-	if (Domain.get_remote_port dom) <> remote_port || (Domain.get_mfn dom) <> mfn then
-		raise Domain_not_match
+  if not (Connection.is_dom0 con)
+  then raise Define.Permission_denied;
+  let (domid, mfn, remote_port) =
+    match (split None '\000' data) with
+    | domid :: mfn :: remote_port :: _ ->
+      int_of_string domid, Nativeint.of_string mfn, int_of_string remote_port
+    | _                         -> raise Invalid_Cmd_Args;
+  in
+  let dom =
+    if Domains.exist domains domid then
+      let edom = Domains.find domains domid in
+      if (Domain.get_mfn edom) = mfn && (Connections.find_domain cons domid) != con then begin
+        (* Use XS_INTRODUCE for recreating the xenbus event-channel. *)
+        Domain.rebind_evtchn edom remote_port;
+      end;
+      edom
+    else try
+        let ndom = Domains.create ~remote_port domains domid mfn in
+        Connections.add_domain cons ndom;
+        Connections.fire_spec_watches (Transaction.get_root t) cons Store.Path.introduce_domain;
+        ndom
+      with _ -> raise Invalid_Cmd_Args
+  in
+  if (Domain.get_remote_port dom) <> remote_port || (Domain.get_mfn dom) <> mfn then
+    raise Domain_not_match
 
 let do_release con t domains cons data =
-	if not (Connection.is_dom0 con)
-	then raise Define.Permission_denied;
-	let domid =
-		match (split None '\000' data) with
-		| [domid;""] -> int_of_string domid
-		| _          -> raise Invalid_Cmd_Args
-		in
-	let fire_spec_watches = Domains.exist domains domid in
-	Domains.del domains domid;
-	Connections.del_domain cons domid;
-	Store.reset_permissions (Transaction.get_store t) domid;
-	if fire_spec_watches
-	then Connections.fire_spec_watches (Transaction.get_root t) cons Store.Path.release_domain
-	else raise Invalid_Cmd_Args
+  if not (Connection.is_dom0 con)
+  then raise Define.Permission_denied;
+  let domid =
+    match (split None '\000' data) with
+    | [domid;""] -> int_of_string domid
+    | _          -> raise Invalid_Cmd_Args
+  in
+  let fire_spec_watches = Domains.exist domains domid in
+  Domains.del domains domid;
+  Connections.del_domain cons domid;
+  Store.reset_permissions (Transaction.get_store t) domid;
+  if fire_spec_watches
+  then Connections.fire_spec_watches (Transaction.get_root t) cons Store.Path.release_domain
+  else raise Invalid_Cmd_Args
 
 let do_resume con _t domains _cons data =
-	if not (Connection.is_dom0 con)
-	then raise Define.Permission_denied;
-	let domid =
-		match (split None '\000' data) with
-		| domid :: _ -> int_of_string domid
-		| _          -> raise Invalid_Cmd_Args
-		in
-	if Domains.exist domains domid
-	then Domains.resume domains domid
-	else raise Invalid_Cmd_Args
+  if not (Connection.is_dom0 con)
+  then raise Define.Permission_denied;
+  let domid =
+    match (split None '\000' data) with
+    | domid :: _ -> int_of_string domid
+    | _          -> raise Invalid_Cmd_Args
+  in
+  if Domains.exist domains domid
+  then Domains.resume domains domid
+  else raise Invalid_Cmd_Args
 
 let function_of_type ty =
-	match ty with
-	| Xenbus.Xb.Op.Debug             -> reply_data_or_ack do_debug
-	| Xenbus.Xb.Op.Watch             -> reply_none do_watch
-	| Xenbus.Xb.Op.Unwatch           -> reply_ack do_unwatch
-	| Xenbus.Xb.Op.Transaction_start -> reply_data do_transaction_start
-	| Xenbus.Xb.Op.Transaction_end   -> reply_ack do_transaction_end
-	| Xenbus.Xb.Op.Introduce         -> reply_ack do_introduce
-	| Xenbus.Xb.Op.Release           -> reply_ack do_release
-	| Xenbus.Xb.Op.Isintroduced      -> reply_data do_isintroduced
-	| Xenbus.Xb.Op.Resume            -> reply_ack do_resume
-	| Xenbus.Xb.Op.Set_target        -> reply_ack do_set_target
-	| Xenbus.Xb.Op.Reset_watches     -> reply_ack do_reset_watches
-	| Xenbus.Xb.Op.Invalid           -> reply_ack do_error
-	| _                              -> function_of_type_simple_op ty
+  match ty with
+  | Xenbus.Xb.Op.Debug             -> reply_data_or_ack do_debug
+  | Xenbus.Xb.Op.Watch             -> reply_none do_watch
+  | Xenbus.Xb.Op.Unwatch           -> reply_ack do_unwatch
+  | Xenbus.Xb.Op.Transaction_start -> reply_data do_transaction_start
+  | Xenbus.Xb.Op.Transaction_end   -> reply_ack do_transaction_end
+  | Xenbus.Xb.Op.Introduce         -> reply_ack do_introduce
+  | Xenbus.Xb.Op.Release           -> reply_ack do_release
+  | Xenbus.Xb.Op.Isintroduced      -> reply_data do_isintroduced
+  | Xenbus.Xb.Op.Resume            -> reply_ack do_resume
+  | Xenbus.Xb.Op.Set_target        -> reply_ack do_set_target
+  | Xenbus.Xb.Op.Reset_watches     -> reply_ack do_reset_watches
+  | Xenbus.Xb.Op.Invalid           -> reply_ack do_error
+  | _                              -> function_of_type_simple_op ty
 
 (**
  * Determines which individual (non-transactional) operations we want to retain.
  * We only want to retain operations that have side-effects in the store since
  * these can be the cause of transactions failing.
- *)
+*)
 let retain_op_in_history ty =
-	match ty with
-	| Xenbus.Xb.Op.Write
-	| Xenbus.Xb.Op.Mkdir
-	| Xenbus.Xb.Op.Rm
-	| Xenbus.Xb.Op.Setperms          -> true
-	| Xenbus.Xb.Op.Debug
-	| Xenbus.Xb.Op.Directory
-	| Xenbus.Xb.Op.Read
-	| Xenbus.Xb.Op.Getperms
-	| Xenbus.Xb.Op.Watch
-	| Xenbus.Xb.Op.Unwatch
-	| Xenbus.Xb.Op.Transaction_start
-	| Xenbus.Xb.Op.Transaction_end
-	| Xenbus.Xb.Op.Introduce
-	| Xenbus.Xb.Op.Release
-	| Xenbus.Xb.Op.Getdomainpath
-	| Xenbus.Xb.Op.Watchevent
-	| Xenbus.Xb.Op.Error
-	| Xenbus.Xb.Op.Isintroduced
-	| Xenbus.Xb.Op.Resume
-	| Xenbus.Xb.Op.Set_target
-	| Xenbus.Xb.Op.Reset_watches
-	| Xenbus.Xb.Op.Invalid           -> false
+  match ty with
+  | Xenbus.Xb.Op.Write
+  | Xenbus.Xb.Op.Mkdir
+  | Xenbus.Xb.Op.Rm
+  | Xenbus.Xb.Op.Setperms          -> true
+  | Xenbus.Xb.Op.Debug
+  | Xenbus.Xb.Op.Directory
+  | Xenbus.Xb.Op.Read
+  | Xenbus.Xb.Op.Getperms
+  | Xenbus.Xb.Op.Watch
+  | Xenbus.Xb.Op.Unwatch
+  | Xenbus.Xb.Op.Transaction_start
+  | Xenbus.Xb.Op.Transaction_end
+  | Xenbus.Xb.Op.Introduce
+  | Xenbus.Xb.Op.Release
+  | Xenbus.Xb.Op.Getdomainpath
+  | Xenbus.Xb.Op.Watchevent
+  | Xenbus.Xb.Op.Error
+  | Xenbus.Xb.Op.Isintroduced
+  | Xenbus.Xb.Op.Resume
+  | Xenbus.Xb.Op.Set_target
+  | Xenbus.Xb.Op.Reset_watches
+  | Xenbus.Xb.Op.Invalid           -> false
 
 let maybe_ignore_transaction = function
-	| Xenbus.Xb.Op.Watch | Xenbus.Xb.Op.Unwatch -> fun tid ->
-		if tid <> Transaction.none then
-			debug "Ignoring transaction ID %d for watch/unwatch" tid;
-		Transaction.none
-	| _ -> fun x -> x
+  | Xenbus.Xb.Op.Watch | Xenbus.Xb.Op.Unwatch -> fun tid ->
+    if tid <> Transaction.none then
+      debug "Ignoring transaction ID %d for watch/unwatch" tid;
+    Transaction.none
+  | _ -> fun x -> x
 
 
 let () = Printexc.record_backtrace true
 
 (**
  * Nothrow guarantee.
- *)
+*)
 let process_packet ~store ~cons ~doms ~con ~req =
-	let ty = req.Packet.ty in
-	let tid = maybe_ignore_transaction ty req.Packet.tid in
-	let rid = req.Packet.rid in
-	try
-		let fct = function_of_type ty in
-		let t =
-			if tid = Transaction.none then
-				Transaction.make tid store
-			else
-				Connection.get_transaction con tid
-			in
+  let ty = req.Packet.ty in
+  let tid = maybe_ignore_transaction ty req.Packet.tid in
+  let rid = req.Packet.rid in
+  try
+    let fct = function_of_type ty in
+    let t =
+      if tid = Transaction.none then
+        Transaction.make tid store
+      else
+        Connection.get_transaction con tid
+    in
 
-		let execute () = input_handle_error ~cons ~doms ~fct ~con ~t ~req in
+    let execute () = input_handle_error ~cons ~doms ~fct ~con ~t ~req in
 
-		let response =
-			(* Note that transactions are recorded in history separately. *)
-			if tid = Transaction.none && retain_op_in_history ty then begin
-				let before = Store.copy store in
-				let response = execute () in
-				let after = Store.copy store in
-				record_commit ~con ~tid ~before ~after;
-				response
-			end else execute ()
-		in
+    let response =
+      (* Note that transactions are recorded in history separately. *)
+      if tid = Transaction.none && retain_op_in_history ty then begin
+        let before = Store.copy store in
+        let response = execute () in
+        let after = Store.copy store in
+        record_commit ~con ~tid ~before ~after;
+        response
+      end else execute ()
+    in
 
-		let response = try
-			Transaction.check_quota_exn ~perm:(Connection.get_perm con) t;
-			if tid <> Transaction.none then
-				(* Remember the request and response for this operation in case we need to replay the transaction *)
-				Transaction.add_operation t req response;
-			response
-		with Quota.Limit_reached ->
-			Packet.Error "EQUOTA"
-		in
+    let response = try
+        Transaction.check_quota_exn ~perm:(Connection.get_perm con) t;
+        if tid <> Transaction.none then
+          (* Remember the request and response for this operation in case we need to replay the transaction *)
+          Transaction.add_operation t req response;
+        response
+      with Quota.Limit_reached ->
+        Packet.Error "EQUOTA"
+    in
 
-		(* Put the response on the wire *)
-		send_response ty con t rid response
-	with exn ->
-		let bt = Printexc.get_backtrace () in
-		error "process packet: %s. %s" (Printexc.to_string exn) bt;
-		Connection.send_error con tid rid "EIO"
+    (* Put the response on the wire *)
+    send_response ty con t rid response
+  with exn ->
+    let bt = Printexc.get_backtrace () in
+    error "process packet: %s. %s" (Printexc.to_string exn) bt;
+    Connection.send_error con tid rid "EIO"
 
 let do_input store cons doms con =
-	let newpacket =
-		try
-			if Connection.can_input con then Connection.do_input con
-			else None
-		with Xenbus.Xb.Reconnect ->
-			info "%s requests a reconnect" (Connection.get_domstr con);
-			History.reconnect con;
-			info "%s reconnection complete" (Connection.get_domstr con);
-			None
-		| Invalid_argument exp | Failure exp ->
-			error "caught exception %s" exp;
-			error "got a bad client %s" (sprintf "%-8s" (Connection.get_domstr con));
-			Connection.mark_as_bad con;
-			None
-	in
+  let newpacket =
+    try
+      if Connection.can_input con then Connection.do_input con
+      else None
+    with Xenbus.Xb.Reconnect ->
+      info "%s requests a reconnect" (Connection.get_domstr con);
+      History.reconnect con;
+      info "%s reconnection complete" (Connection.get_domstr con);
+      None
+       | Invalid_argument exp | Failure exp ->
+         error "caught exception %s" exp;
+         error "got a bad client %s" (sprintf "%-8s" (Connection.get_domstr con));
+         Connection.mark_as_bad con;
+         None
+  in
 
-	match newpacket with
-	| None -> ()
-	| Some packet ->
-		let tid, rid, ty, data = Xenbus.Xb.Packet.unpack packet in
-		let req = {Packet.tid=tid; Packet.rid=rid; Packet.ty=ty; Packet.data=data} in
+  match newpacket with
+  | None -> ()
+  | Some packet ->
+    let tid, rid, ty, data = Xenbus.Xb.Packet.unpack packet in
+    let req = {Packet.tid=tid; Packet.rid=rid; Packet.ty=ty; Packet.data=data} in
 
-		(* As we don't log IO, do not call an unnecessary sanitize_data
-		   info "[%s] -> [%d] %s \"%s\""
-		         (Connection.get_domstr con) tid
-		         (Xenbus.Xb.Op.to_string ty) (sanitize_data data); *)
-		process_packet ~store ~cons ~doms ~con ~req;
-		write_access_log ~ty ~tid ~con:(Connection.get_domstr con) ~data;
-		Connection.incr_ops con
+    (* As we don't log IO, do not call an unnecessary sanitize_data
+       		   info "[%s] -> [%d] %s \"%s\""
+       		         (Connection.get_domstr con) tid
+       		         (Xenbus.Xb.Op.to_string ty) (sanitize_data data); *)
+    process_packet ~store ~cons ~doms ~con ~req;
+    write_access_log ~ty ~tid ~con:(Connection.get_domstr con) ~data;
+    Connection.incr_ops con
 
 let do_output _store _cons _doms con =
-	Connection.source_flush_watchevents con;
-	if Connection.has_output con then (
-		if Connection.has_new_output con then (
-			let packet = Connection.peek_output con in
-			let tid, _rid, ty, data = Xenbus.Xb.Packet.unpack packet in
-			(* As we don't log IO, do not call an unnecessary sanitize_data
-			   info "[%s] <- %s \"%s\""
-			         (Connection.get_domstr con)
-			         (Xenbus.Xb.Op.to_string ty) (sanitize_data data);*)
-			write_answer_log ~ty ~tid ~con:(Connection.get_domstr con) ~data;
-		);
-		try
-			ignore (Connection.do_output con)
-		with Xenbus.Xb.Reconnect ->
-			info "%s requests a reconnect" (Connection.get_domstr con);
-			History.reconnect con;
-			info "%s reconnection complete" (Connection.get_domstr con)
-	)
+  Connection.source_flush_watchevents con;
+  if Connection.has_output con then (
+    if Connection.has_new_output con then (
+      let packet = Connection.peek_output con in
+      let tid, _rid, ty, data = Xenbus.Xb.Packet.unpack packet in
+      (* As we don't log IO, do not call an unnecessary sanitize_data
+         			   info "[%s] <- %s \"%s\""
+         			         (Connection.get_domstr con)
+         			         (Xenbus.Xb.Op.to_string ty) (sanitize_data data);*)
+      write_answer_log ~ty ~tid ~con:(Connection.get_domstr con) ~data;
+    );
+    try
+      ignore (Connection.do_output con)
+    with Xenbus.Xb.Reconnect ->
+      info "%s requests a reconnect" (Connection.get_domstr con);
+      History.reconnect con;
+      info "%s reconnection complete" (Connection.get_domstr con)
+  )
 
diff --git a/tools/ocaml/xenstored/quota.ml b/tools/ocaml/xenstored/quota.ml
index 6e3d6401ae..300d78a50b 100644
--- a/tools/ocaml/xenstored/quota.ml
+++ b/tools/ocaml/xenstored/quota.ml
@@ -24,65 +24,65 @@ let maxent = ref (1000)
 let maxsize = ref (2048)
 
 type t = {
-	maxent: int;               (* max entities per domU *)
-	maxsize: int;              (* max size of data store in one node *)
-	cur: (Xenctrl.domid, int) Hashtbl.t; (* current domains quota *)
+  maxent: int;               (* max entities per domU *)
+  maxsize: int;              (* max size of data store in one node *)
+  cur: (Xenctrl.domid, int) Hashtbl.t; (* current domains quota *)
 }
 
 let to_string quota domid =
-	if Hashtbl.mem quota.cur domid
-	then Printf.sprintf "dom%i quota: %i/%i" domid (Hashtbl.find quota.cur domid) quota.maxent
-	else Printf.sprintf "dom%i quota: not set" domid
+  if Hashtbl.mem quota.cur domid
+  then Printf.sprintf "dom%i quota: %i/%i" domid (Hashtbl.find quota.cur domid) quota.maxent
+  else Printf.sprintf "dom%i quota: not set" domid
 
 let create () =
-	{ maxent = !maxent; maxsize = !maxsize; cur = Hashtbl.create 100; }
+  { maxent = !maxent; maxsize = !maxsize; cur = Hashtbl.create 100; }
 
 let copy quota = { quota with cur = (Hashtbl.copy quota.cur) }
 
 let del quota id = Hashtbl.remove quota.cur id
 
 let _check quota id size =
-	if size > quota.maxsize then (
-		warn "domain %u err create entry: data too big %d" id size;
-		raise Data_too_big
-	);
-	if id > 0 && Hashtbl.mem quota.cur id then
-		let entry = Hashtbl.find quota.cur id in
-		if entry >= quota.maxent then (
-			warn "domain %u cannot create entry: quota reached" id;
-			raise Limit_reached
-		)
+  if size > quota.maxsize then (
+    warn "domain %u err create entry: data too big %d" id size;
+    raise Data_too_big
+  );
+  if id > 0 && Hashtbl.mem quota.cur id then
+    let entry = Hashtbl.find quota.cur id in
+    if entry >= quota.maxent then (
+      warn "domain %u cannot create entry: quota reached" id;
+      raise Limit_reached
+    )
 
 let check quota id size =
-	if !activate then
-		_check quota id size
+  if !activate then
+    _check quota id size
 
 let get_entry quota id = Hashtbl.find quota.cur id
 
 let set_entry quota id nb =
-	if nb = 0
-	then Hashtbl.remove quota.cur id
-	else begin
-	if Hashtbl.mem quota.cur id then
-		Hashtbl.replace quota.cur id nb
-	else
-		Hashtbl.add quota.cur id nb
-	end
+  if nb = 0
+  then Hashtbl.remove quota.cur id
+  else begin
+    if Hashtbl.mem quota.cur id then
+      Hashtbl.replace quota.cur id nb
+    else
+      Hashtbl.add quota.cur id nb
+  end
 
 let del_entry quota id =
-	try
-		let nb = get_entry quota id in
-		set_entry quota id (nb - 1)
-	with Not_found -> ()
+  try
+    let nb = get_entry quota id in
+    set_entry quota id (nb - 1)
+  with Not_found -> ()
 
 let add_entry quota id =
-	let nb = try get_entry quota id with Not_found -> 0 in
-	set_entry quota id (nb + 1)
+  let nb = try get_entry quota id with Not_found -> 0 in
+  set_entry quota id (nb + 1)
 
 let add quota diff =
-	Hashtbl.iter (fun id nb -> set_entry quota id (get_entry quota id + nb)) diff.cur
+  Hashtbl.iter (fun id nb -> set_entry quota id (get_entry quota id + nb)) diff.cur
 
 let merge orig_quota mod_quota dest_quota =
-	  Hashtbl.iter (fun id nb -> let diff = nb - (try get_entry orig_quota id with Not_found -> 0) in
-				if diff <> 0 then
-					set_entry dest_quota id ((try get_entry dest_quota id with Not_found -> 0) + diff)) mod_quota.cur
+  Hashtbl.iter (fun id nb -> let diff = nb - (try get_entry orig_quota id with Not_found -> 0) in
+      if diff <> 0 then
+        set_entry dest_quota id ((try get_entry dest_quota id with Not_found -> 0) + diff)) mod_quota.cur
diff --git a/tools/ocaml/xenstored/select_stubs.c b/tools/ocaml/xenstored/select_stubs.c
index af72b84fa2..f2ef1ec3de 100644
--- a/tools/ocaml/xenstored/select_stubs.c
+++ b/tools/ocaml/xenstored/select_stubs.c
@@ -25,56 +25,56 @@
 
 CAMLprim value stub_select_on_poll(value fd_events, value timeo) {
 
-	CAMLparam2(fd_events, timeo);
-	CAMLlocal1(events);
-	int i, rc, c_len = Wosize_val(fd_events), c_timeo = Int_val(timeo);
-	struct pollfd c_fds[c_len];
+    CAMLparam2(fd_events, timeo);
+    CAMLlocal1(events);
+    int i, rc, c_len = Wosize_val(fd_events), c_timeo = Int_val(timeo);
+    struct pollfd c_fds[c_len];
 
 
-	for (i = 0; i < c_len; i++) {
+    for (i = 0; i < c_len; i++) {
 
-		events = Field(Field(fd_events, i), 1);
+        events = Field(Field(fd_events, i), 1);
 
-		c_fds[i].fd = Int_val(Field(Field(fd_events, i), 0));
-		c_fds[i].events = c_fds[i].revents = 0;
-		c_fds[i].events |= Bool_val(Field(events, 0)) ? POLLIN : 0;
-		c_fds[i].events |= Bool_val(Field(events, 1)) ? POLLOUT: 0;
-		c_fds[i].events |= Bool_val(Field(events, 2)) ? POLLPRI: 0;
+        c_fds[i].fd = Int_val(Field(Field(fd_events, i), 0));
+        c_fds[i].events = c_fds[i].revents = 0;
+        c_fds[i].events |= Bool_val(Field(events, 0)) ? POLLIN : 0;
+        c_fds[i].events |= Bool_val(Field(events, 1)) ? POLLOUT: 0;
+        c_fds[i].events |= Bool_val(Field(events, 2)) ? POLLPRI: 0;
 
-	};
+    };
 
-	caml_enter_blocking_section();
-	rc = poll(c_fds, c_len, c_timeo);
-	caml_leave_blocking_section();
+    caml_enter_blocking_section();
+    rc = poll(c_fds, c_len, c_timeo);
+    caml_leave_blocking_section();
 
-	if (rc < 0) uerror("poll", Nothing);
+    if (rc < 0) uerror("poll", Nothing);
 
-	if (rc > 0) {
+    if (rc > 0) {
 
-		for (i = 0; i < c_len; i++) {
+        for (i = 0; i < c_len; i++) {
 
-			events = Field(Field(fd_events, i), 1);
+            events = Field(Field(fd_events, i), 1);
 
-			if (c_fds[i].revents & POLLNVAL) unix_error(EBADF, "select", Nothing);
-			Field(events, 0) = Val_bool(c_fds[i].events & POLLIN  && c_fds[i].revents & (POLLIN |POLLHUP|POLLERR));
-			Field(events, 1) = Val_bool(c_fds[i].events & POLLOUT && c_fds[i].revents & (POLLOUT|POLLHUP|POLLERR));
-			Field(events, 2) = Val_bool(c_fds[i].revents & POLLPRI);
+            if (c_fds[i].revents & POLLNVAL) unix_error(EBADF, "select", Nothing);
+            Field(events, 0) = Val_bool(c_fds[i].events & POLLIN  && c_fds[i].revents & (POLLIN |POLLHUP|POLLERR));
+            Field(events, 1) = Val_bool(c_fds[i].events & POLLOUT && c_fds[i].revents & (POLLOUT|POLLHUP|POLLERR));
+            Field(events, 2) = Val_bool(c_fds[i].revents & POLLPRI);
 
-		}
+        }
 
-	}
+    }
 
-	CAMLreturn(Val_int(rc));
+    CAMLreturn(Val_int(rc));
 }
 
 
 CAMLprim value stub_set_fd_limit(value limit) {
 
-	CAMLparam1(limit);
-	struct rlimit rl;
+    CAMLparam1(limit);
+    struct rlimit rl;
 
-	rl.rlim_cur = rl.rlim_max = Int_val(limit);
-	if (setrlimit(RLIMIT_NOFILE, &rl) != 0) uerror("setrlimit", Nothing);
-	CAMLreturn(Val_unit);
+    rl.rlim_cur = rl.rlim_max = Int_val(limit);
+    if (setrlimit(RLIMIT_NOFILE, &rl) != 0) uerror("setrlimit", Nothing);
+    CAMLreturn(Val_unit);
 
 }
diff --git a/tools/ocaml/xenstored/stdext.ml b/tools/ocaml/xenstored/stdext.ml
index 116920917a..0ee4a5ab9c 100644
--- a/tools/ocaml/xenstored/stdext.ml
+++ b/tools/ocaml/xenstored/stdext.ml
@@ -19,137 +19,137 @@ type ('a, 'b) either = Right of 'a | Left of 'b
 
 (** apply the clean_f function after fct function has been called.
  * Even if fct raises an exception, clean_f is applied
- *)
+*)
 let exnhook = ref None
 
 let finally fct clean_f =
-	let result = try
-		fct ();
-	with
-		exn ->
-		  (match !exnhook with None -> () | Some f -> f exn);
-		  clean_f (); raise exn in
-	clean_f ();
-	result
+  let result = try
+      fct ();
+    with
+      exn ->
+      (match !exnhook with None -> () | Some f -> f exn);
+      clean_f (); raise exn in
+  clean_f ();
+  result
 
 (** if v is not none, apply f on it and return some value else return none. *)
 let may f v =
-	match v with Some x -> Some (f x) | None -> None
+  match v with Some x -> Some (f x) | None -> None
 
 (** default value to d if v is none. *)
 let default d v =
-	match v with Some x -> x | None -> d
+  match v with Some x -> x | None -> d
 
 (** apply f on v if not none *)
 let maybe f v =
-	match v with None -> () | Some x -> f x
+  match v with None -> () | Some x -> f x
 
 module Filename = struct
-	include Filename
-	let quote_command cmd args =
-		cmd :: args |> List.map quote |> String.concat " "
+  include Filename
+  let quote_command cmd args =
+    cmd :: args |> List.map quote |> String.concat " "
 end
 
 module Map = struct
-	module Make(Ord: Map.OrderedType) = struct
+  module Make(Ord: Map.OrderedType) = struct
 
-	include Map.Make(Ord)
+    include Map.Make(Ord)
 
-	let find_opt k t = try Some (find k t) with Not_found -> None
+    let find_opt k t = try Some (find k t) with Not_found -> None
 
-	let update k f t =
-		let r = find_opt k t in
-		let r' = f r in
-		match r, r' with
-		| None, None -> t
-		| Some _, None -> remove k t
-		| Some r, Some r' when r == r' -> t
-		| _, Some r' -> add k r' t
+    let update k f t =
+      let r = find_opt k t in
+      let r' = f r in
+      match r, r' with
+      | None, None -> t
+      | Some _, None -> remove k t
+      | Some r, Some r' when r == r' -> t
+      | _, Some r' -> add k r' t
 
-	end
+  end
 end
 
 module String = struct include String
 
-let of_char c = String.make 1 c
+  let of_char c = String.make 1 c
 
-let rec split ?limit:(limit=(-1)) c s =
-	let i = try String.index s c with Not_found -> -1 in
-	let nlimit = if limit = -1 || limit = 0 then limit else limit - 1 in
-	if i = -1 || nlimit = 0 then
-		[ s ]
-	else
-		let a = String.sub s 0 i
-		and b = String.sub s (i + 1) (String.length s - i - 1) in
-		a :: (split ~limit: nlimit c b)
+  let rec split ?limit:(limit=(-1)) c s =
+    let i = try String.index s c with Not_found -> -1 in
+    let nlimit = if limit = -1 || limit = 0 then limit else limit - 1 in
+    if i = -1 || nlimit = 0 then
+      [ s ]
+    else
+      let a = String.sub s 0 i
+      and b = String.sub s (i + 1) (String.length s - i - 1) in
+      a :: (split ~limit: nlimit c b)
 
-let fold_left f accu string =
-	let accu = ref accu in
-	for i = 0 to length string - 1 do
-		accu := f !accu string.[i]
-	done;
-	!accu
+  let fold_left f accu string =
+    let accu = ref accu in
+    for i = 0 to length string - 1 do
+      accu := f !accu string.[i]
+    done;
+    !accu
 
-(** True if string 'x' starts with prefix 'prefix' *)
-let startswith prefix x =
-	let x_l = String.length x and prefix_l = String.length prefix in
-	prefix_l <= x_l && String.sub x 0 prefix_l  = prefix
+  (** True if string 'x' starts with prefix 'prefix' *)
+  let startswith prefix x =
+    let x_l = String.length x and prefix_l = String.length prefix in
+    prefix_l <= x_l && String.sub x 0 prefix_l  = prefix
 end
 
 module Unixext = struct
 
-(** remove a file, but doesn't raise an exception if the file is already removed *)
-let unlink_safe file =
-	try Unix.unlink file with (* Unix.Unix_error (Unix.ENOENT, _ , _)*) _ -> ()
+  (** remove a file, but doesn't raise an exception if the file is already removed *)
+  let unlink_safe file =
+    try Unix.unlink file with (* Unix.Unix_error (Unix.ENOENT, _ , _)*) _ -> ()
 
-(** create a directory but doesn't raise an exception if the directory already exist *)
-let mkdir_safe dir perm =
-	try Unix.mkdir dir perm with Unix.Unix_error (Unix.EEXIST, _, _) -> ()
+  (** create a directory but doesn't raise an exception if the directory already exist *)
+  let mkdir_safe dir perm =
+    try Unix.mkdir dir perm with Unix.Unix_error (Unix.EEXIST, _, _) -> ()
 
-(** create a directory, and create parent if doesn't exist *)
-let mkdir_rec dir perm =
-	let rec p_mkdir dir =
-		let p_name = Filename.dirname dir in
-		if p_name <> "/" && p_name <> "."
-		then p_mkdir p_name;
-		mkdir_safe dir perm in
-	p_mkdir dir
+  (** create a directory, and create parent if doesn't exist *)
+  let mkdir_rec dir perm =
+    let rec p_mkdir dir =
+      let p_name = Filename.dirname dir in
+      if p_name <> "/" && p_name <> "."
+      then p_mkdir p_name;
+      mkdir_safe dir perm in
+    p_mkdir dir
 
-(** daemonize a process *)
-(* !! Must call this before spawning any threads !! *)
-let daemonize () =
-	match Unix.fork () with
-	| 0 ->
-		if Unix.setsid () == -1 then
-			failwith "Unix.setsid failed";
+  (** daemonize a process *)
+  (* !! Must call this before spawning any threads !! *)
+  let daemonize () =
+    match Unix.fork () with
+    | 0 ->
+      if Unix.setsid () == -1 then
+        failwith "Unix.setsid failed";
 
-		begin match Unix.fork () with
-		| 0 ->
-			let nullfd = Unix.openfile "/dev/null" [ Unix.O_RDWR ] 0 in
-			begin try
-				Unix.dup2 nullfd Unix.stdin;
-				Unix.dup2 nullfd Unix.stdout;
-				Unix.dup2 nullfd Unix.stderr;
-			with exn -> Unix.close nullfd; raise exn
-			end;
-			Unix.close nullfd
-		| _ -> exit 0
-		end
-	| _ -> exit 0
+      begin match Unix.fork () with
+        | 0 ->
+          let nullfd = Unix.openfile "/dev/null" [ Unix.O_RDWR ] 0 in
+          begin try
+              Unix.dup2 nullfd Unix.stdin;
+              Unix.dup2 nullfd Unix.stdout;
+              Unix.dup2 nullfd Unix.stderr;
+            with exn -> Unix.close nullfd; raise exn
+          end;
+          Unix.close nullfd
+        | _ -> exit 0
+      end
+    | _ -> exit 0
 
-(** write a pidfile file *)
-let pidfile_write filename =
-	let fd = Unix.openfile filename
-	                       [ Unix.O_WRONLY; Unix.O_CREAT; Unix.O_TRUNC; ]
-			       0o640 in
-	finally
-	(fun () ->
-		let pid = Unix.getpid () in
-		let buf = string_of_int pid ^ "\n" in
-		let len = String.length buf in
-		if Unix.write_substring fd buf 0 len <> len
-		then failwith "pidfile_write failed";
-	)
-	(fun () -> Unix.close fd)
+  (** write a pidfile file *)
+  let pidfile_write filename =
+    let fd = Unix.openfile filename
+        [ Unix.O_WRONLY; Unix.O_CREAT; Unix.O_TRUNC; ]
+        0o640 in
+    finally
+      (fun () ->
+         let pid = Unix.getpid () in
+         let buf = string_of_int pid ^ "\n" in
+         let len = String.length buf in
+         if Unix.write_substring fd buf 0 len <> len
+         then failwith "pidfile_write failed";
+      )
+      (fun () -> Unix.close fd)
 
 end
diff --git a/tools/ocaml/xenstored/store.ml b/tools/ocaml/xenstored/store.ml
index c94dbf3a62..38a4945372 100644
--- a/tools/ocaml/xenstored/store.ml
+++ b/tools/ocaml/xenstored/store.ml
@@ -20,231 +20,231 @@ module SymbolMap = Map.Make(Symbol)
 
 module Node = struct
 
-type t = {
-	name: Symbol.t;
-	perms: Perms.Node.t;
-	value: string;
-	children: t SymbolMap.t;
-}
+  type t = {
+    name: Symbol.t;
+    perms: Perms.Node.t;
+    value: string;
+    children: t SymbolMap.t;
+  }
 
-let create _name _perms _value =
-	{ name = Symbol.of_string _name; perms = _perms; value = _value; children = SymbolMap.empty; }
+  let create _name _perms _value =
+    { name = Symbol.of_string _name; perms = _perms; value = _value; children = SymbolMap.empty; }
 
-let get_owner node = Perms.Node.get_owner node.perms
-let get_children node = node.children
-let get_value node = node.value
-let get_perms node = node.perms
-let get_name node = Symbol.to_string node.name
+  let get_owner node = Perms.Node.get_owner node.perms
+  let get_children node = node.children
+  let get_value node = node.value
+  let get_perms node = node.perms
+  let get_name node = Symbol.to_string node.name
 
-let set_value node nvalue =
-	if node.value = nvalue
-	then node
-	else { node with value = nvalue }
+  let set_value node nvalue =
+    if node.value = nvalue
+    then node
+    else { node with value = nvalue }
 
-let set_perms node nperms = { node with perms = nperms }
+  let set_perms node nperms = { node with perms = nperms }
 
-let add_child node child =
-	let children = SymbolMap.add child.name child node.children in
-	{ node with children }
+  let add_child node child =
+    let children = SymbolMap.add child.name child node.children in
+    { node with children }
 
-let exists node childname =
-	let childname = Symbol.of_string childname in
-	SymbolMap.mem childname node.children
+  let exists node childname =
+    let childname = Symbol.of_string childname in
+    SymbolMap.mem childname node.children
 
-let find node childname =
-	let childname = Symbol.of_string childname in
-	SymbolMap.find childname node.children
+  let find node childname =
+    let childname = Symbol.of_string childname in
+    SymbolMap.find childname node.children
 
-let replace_child node child nchild =
-	{ node with
-	  children = SymbolMap.update child.name
-			(function None -> None | Some _ -> Some nchild)
-			node.children
-	}
+  let replace_child node child nchild =
+    { node with
+      children = SymbolMap.update child.name
+          (function None -> None | Some _ -> Some nchild)
+          node.children
+    }
 
-let del_childname node childname =
-	let sym = Symbol.of_string childname in
-	{ node with children =
-		SymbolMap.update sym
-			(function None -> raise Not_found | Some _ -> None)
-			node.children
-	}
+  let del_childname node childname =
+    let sym = Symbol.of_string childname in
+    { node with children =
+                  SymbolMap.update sym
+                    (function None -> raise Not_found | Some _ -> None)
+                    node.children
+    }
 
-let del_all_children node =
-	{ node with children = SymbolMap.empty }
+  let del_all_children node =
+    { node with children = SymbolMap.empty }
 
-(* check if the current node can be accessed by the current connection with rperm permissions *)
-let check_perm node connection request =
-	Perms.check connection request node.perms
+  (* check if the current node can be accessed by the current connection with rperm permissions *)
+  let check_perm node connection request =
+    Perms.check connection request node.perms
 
-(* check if the current node is owned by the current connection *)
-let check_owner node connection =
-	if not (Perms.check_owner connection node.perms)
-	then begin
-		Logging.info "store|node" "Permission denied: Domain %d not owner" (get_owner node);
-		raise Define.Permission_denied;
-	end
+  (* check if the current node is owned by the current connection *)
+  let check_owner node connection =
+    if not (Perms.check_owner connection node.perms)
+    then begin
+      Logging.info "store|node" "Permission denied: Domain %d not owner" (get_owner node);
+      raise Define.Permission_denied;
+    end
 
-let rec recurse fct node = fct node; SymbolMap.iter (fun _ -> recurse fct) node.children
+  let rec recurse fct node = fct node; SymbolMap.iter (fun _ -> recurse fct) node.children
 
-(** [recurse_filter_map f tree] applies [f] on each node in the tree recursively,
-    possibly removing some nodes.
-    Note that the nodes removed this way won't generate watch events.
-*)
-let recurse_filter_map f =
-	let invalid = -1 in
-	let is_valid _ node = node.perms.owner <> invalid in
-	let rec walk node =
-		(* Map.filter_map is Ocaml 4.11+ only *)
-		let node =
-		{ node with children =
-			SymbolMap.map walk node.children |> SymbolMap.filter is_valid } in
-		match f node with
-		| Some keep -> keep
-		| None -> { node with perms = {node.perms with owner = invalid } }
-	in
-	walk
+  (** [recurse_filter_map f tree] applies [f] on each node in the tree recursively,
+      possibly removing some nodes.
+      Note that the nodes removed this way won't generate watch events.
+  *)
+  let recurse_filter_map f =
+    let invalid = -1 in
+    let is_valid _ node = node.perms.owner <> invalid in
+    let rec walk node =
+      (* Map.filter_map is Ocaml 4.11+ only *)
+      let node =
+        { node with children =
+                      SymbolMap.map walk node.children |> SymbolMap.filter is_valid } in
+      match f node with
+      | Some keep -> keep
+      | None -> { node with perms = {node.perms with owner = invalid } }
+    in
+    walk
 
-let unpack node = (Symbol.to_string node.name, node.perms, node.value)
+  let unpack node = (Symbol.to_string node.name, node.perms, node.value)
 
 end
 
 module Path = struct
 
-(* represent a path in a store.
- * [] -> "/"
- * [ "local"; "domain"; "1" ] -> "/local/domain/1"
- *)
-type t = string list
+  (* represent a path in a store.
+   * [] -> "/"
+   * [ "local"; "domain"; "1" ] -> "/local/domain/1"
+  *)
+  type t = string list
 
-let char_is_valid c =
-	(c >= 'a' && c <= 'z') ||
-	(c >= 'A' && c <= 'Z') ||
-	(c >= '0' && c <= '9') ||
-	c = '_' || c = '-' || c = '@'
+  let char_is_valid c =
+    (c >= 'a' && c <= 'z') ||
+    (c >= 'A' && c <= 'Z') ||
+    (c >= '0' && c <= '9') ||
+    c = '_' || c = '-' || c = '@'
 
-let name_is_valid name =
-	name <> "" && String.fold_left (fun accu c -> accu && char_is_valid c) true name
+  let name_is_valid name =
+    name <> "" && String.fold_left (fun accu c -> accu && char_is_valid c) true name
 
-let is_valid path =
-	List.for_all name_is_valid path
+  let is_valid path =
+    List.for_all name_is_valid path
 
-let of_string s =
-	if s.[0] = '@'
-	then [s]
-	else if s = "/"
-	then []
-	else match String.split '/' s with
-		| "" :: path when is_valid path -> path
-		| _ -> raise Define.Invalid_path
+  let of_string s =
+    if s.[0] = '@'
+    then [s]
+    else if s = "/"
+    then []
+    else match String.split '/' s with
+      | "" :: path when is_valid path -> path
+      | _ -> raise Define.Invalid_path
 
-let of_path_and_name path name =
-	match path, name with
-	| [], "" -> []
-	| _ -> path @ [name]
+  let of_path_and_name path name =
+    match path, name with
+    | [], "" -> []
+    | _ -> path @ [name]
 
-let create path connection_path =
-	of_string (Utils.path_validate path connection_path)
+  let create path connection_path =
+    of_string (Utils.path_validate path connection_path)
 
-let to_string t =
-	"/" ^ (String.concat "/" t)
+  let to_string t =
+    "/" ^ (String.concat "/" t)
 
-let to_string_list x = x
+  let to_string_list x = x
 
-let get_parent t =
-	if t = [] then [] else List.rev (List.tl (List.rev t))
+  let get_parent t =
+    if t = [] then [] else List.rev (List.tl (List.rev t))
 
-let get_hierarchy path =
-	Utils.get_hierarchy path
+  let get_hierarchy path =
+    Utils.get_hierarchy path
 
-let get_common_prefix p1 p2 =
-	let rec compare l1 l2 =
-		match l1, l2 with
-		| h1 :: tl1, h2 :: tl2 ->
-			if h1 = h2 then h1 :: (compare tl1 tl2) else []
-		| _, [] | [], _ ->
-			(* if l1 or l2 is empty, we found the equal part already *)
-			[]
-		in
-	compare p1 p2
+  let get_common_prefix p1 p2 =
+    let rec compare l1 l2 =
+      match l1, l2 with
+      | h1 :: tl1, h2 :: tl2 ->
+        if h1 = h2 then h1 :: (compare tl1 tl2) else []
+      | _, [] | [], _ ->
+        (* if l1 or l2 is empty, we found the equal part already *)
+        []
+    in
+    compare p1 p2
 
-let rec lookup_modify node path fct =
-	match path with
-	| []      -> raise (Define.Invalid_path)
-	| h :: [] -> fct node h
-	| h :: l  ->
-		let (n, c) =
-			if not (Node.exists node h) then
-				raise (Define.Lookup_Doesnt_exist h)
-			else
-				(node, Node.find node h) in
-		let nc = lookup_modify c l fct in
-		Node.replace_child n c nc
+  let rec lookup_modify node path fct =
+    match path with
+    | []      -> raise (Define.Invalid_path)
+    | h :: [] -> fct node h
+    | h :: l  ->
+      let (n, c) =
+        if not (Node.exists node h) then
+          raise (Define.Lookup_Doesnt_exist h)
+        else
+          (node, Node.find node h) in
+      let nc = lookup_modify c l fct in
+      Node.replace_child n c nc
 
-let apply_modify rnode path fct =
-	lookup_modify rnode path fct
+  let apply_modify rnode path fct =
+    lookup_modify rnode path fct
 
-let rec lookup_get node path =
-	match path with
-	| []      -> raise (Define.Invalid_path)
-	| h :: [] ->
-		(try
-			Node.find node h
-		with Not_found ->
-			raise Define.Doesnt_exist)
-	| h :: l  -> let cnode = Node.find node h in lookup_get cnode l
+  let rec lookup_get node path =
+    match path with
+    | []      -> raise (Define.Invalid_path)
+    | h :: [] ->
+      (try
+         Node.find node h
+       with Not_found ->
+         raise Define.Doesnt_exist)
+    | h :: l  -> let cnode = Node.find node h in lookup_get cnode l
 
-let get_node rnode path =
-	if path = [] then
-		Some rnode
-	else (
-		try Some (lookup_get rnode path) with Define.Doesnt_exist -> None
-	)
+  let get_node rnode path =
+    if path = [] then
+      Some rnode
+    else (
+      try Some (lookup_get rnode path) with Define.Doesnt_exist -> None
+    )
 
-(* get the deepest existing node for this path, return the node and a flag on the existence of the full path *)
-let rec get_deepest_existing_node node = function
-	| [] -> node, true
-	| h :: t ->
-		try get_deepest_existing_node (Node.find node h) t
-		with Not_found -> node, false
+  (* get the deepest existing node for this path, return the node and a flag on the existence of the full path *)
+  let rec get_deepest_existing_node node = function
+    | [] -> node, true
+    | h :: t ->
+      try get_deepest_existing_node (Node.find node h) t
+      with Not_found -> node, false
 
-let set_node rnode path nnode =
-	if path = [] then
-		nnode
-	else
-		let set_node node name =
-			try
-				let ent = Node.find node name in
-				Node.replace_child node ent nnode
-			with Not_found ->
-				Node.add_child node nnode
-			in
-		apply_modify rnode path set_node
+  let set_node rnode path nnode =
+    if path = [] then
+      nnode
+    else
+      let set_node node name =
+        try
+          let ent = Node.find node name in
+          Node.replace_child node ent nnode
+        with Not_found ->
+          Node.add_child node nnode
+      in
+      apply_modify rnode path set_node
 
-(* read | ls | getperms use this *)
-let rec lookup node path fct =
-	match path with
-	| []      -> raise (Define.Invalid_path)
-	| h :: [] -> fct node h
-	| h :: l  -> let cnode = Node.find node h in lookup cnode l fct
+  (* read | ls | getperms use this *)
+  let rec lookup node path fct =
+    match path with
+    | []      -> raise (Define.Invalid_path)
+    | h :: [] -> fct node h
+    | h :: l  -> let cnode = Node.find node h in lookup cnode l fct
 
-let apply rnode path fct =
-	lookup rnode path fct
+  let apply rnode path fct =
+    lookup rnode path fct
 
-let introduce_domain = "@introduceDomain"
-let release_domain = "@releaseDomain"
-let specials = List.map of_string [ introduce_domain; release_domain ]
+  let introduce_domain = "@introduceDomain"
+  let release_domain = "@releaseDomain"
+  let specials = List.map of_string [ introduce_domain; release_domain ]
 
 end
 
 (* The Store.t type *)
 type t =
-{
-	mutable stat_transaction_coalesce: int;
-	mutable stat_transaction_abort: int;
-	mutable root: Node.t;
-	mutable quota: Quota.t;
-}
+  {
+    mutable stat_transaction_coalesce: int;
+    mutable stat_transaction_abort: int;
+    mutable root: Node.t;
+    mutable quota: Quota.t;
+  }
 
 let get_root store = store.root
 let set_root store root = store.root <- root
@@ -254,149 +254,149 @@ let set_quota store quota = store.quota <- quota
 
 (* modifying functions *)
 let path_mkdir store perm path =
-	let do_mkdir node name =
-		try
-			let ent = Node.find node name in
-			Node.check_perm ent perm Perms.WRITE;
-			raise Define.Already_exist
-		with Not_found ->
-			Node.check_perm node perm Perms.WRITE;
-			Node.add_child node (Node.create name node.Node.perms "") in
-	if path = [] then
-		store.root
-	else
-		Path.apply_modify store.root path do_mkdir
+  let do_mkdir node name =
+    try
+      let ent = Node.find node name in
+      Node.check_perm ent perm Perms.WRITE;
+      raise Define.Already_exist
+    with Not_found ->
+      Node.check_perm node perm Perms.WRITE;
+      Node.add_child node (Node.create name node.Node.perms "") in
+  if path = [] then
+    store.root
+  else
+    Path.apply_modify store.root path do_mkdir
 
 let path_write store perm path value =
-	let node_created = ref false in
-	let do_write node name =
-		try
-			let ent = Node.find node name in
-			Node.check_perm ent perm Perms.WRITE;
-			let nent = Node.set_value ent value in
-			Node.replace_child node ent nent
-		with Not_found ->
-			node_created := true;
-			Node.check_perm node perm Perms.WRITE;
-			Node.add_child node (Node.create name node.Node.perms value) in
-	if path = [] then (
-		Node.check_perm store.root perm Perms.WRITE;
-		Node.set_value store.root value, false
-	) else
-		let root = Path.apply_modify store.root path do_write in
-		root, !node_created
+  let node_created = ref false in
+  let do_write node name =
+    try
+      let ent = Node.find node name in
+      Node.check_perm ent perm Perms.WRITE;
+      let nent = Node.set_value ent value in
+      Node.replace_child node ent nent
+    with Not_found ->
+      node_created := true;
+      Node.check_perm node perm Perms.WRITE;
+      Node.add_child node (Node.create name node.Node.perms value) in
+  if path = [] then (
+    Node.check_perm store.root perm Perms.WRITE;
+    Node.set_value store.root value, false
+  ) else
+    let root = Path.apply_modify store.root path do_write in
+    root, !node_created
 
 let path_rm store perm path =
-	let do_rm node name =
-		try
-			let ent = Node.find node name in
-			Node.check_perm ent perm Perms.WRITE;
-			Node.del_childname node name
-		with Not_found ->
-			raise Define.Doesnt_exist in
-	if path = [] then (
-		Node.check_perm store.root perm Perms.WRITE;
-		Node.del_all_children store.root
-	) else
-		Path.apply_modify store.root path do_rm
+  let do_rm node name =
+    try
+      let ent = Node.find node name in
+      Node.check_perm ent perm Perms.WRITE;
+      Node.del_childname node name
+    with Not_found ->
+      raise Define.Doesnt_exist in
+  if path = [] then (
+    Node.check_perm store.root perm Perms.WRITE;
+    Node.del_all_children store.root
+  ) else
+    Path.apply_modify store.root path do_rm
 
 let path_setperms store perm path perms =
-	if path = [] then (
-		Node.check_perm store.root perm Perms.WRITE;
-		Node.set_perms store.root perms
-	) else
-		let do_setperms node name =
-			let c = Node.find node name in
-			Node.check_owner c perm;
-			Node.check_perm c perm Perms.WRITE;
-			let nc = Node.set_perms c perms in
-			Node.replace_child node c nc
-		in
-		Path.apply_modify store.root path do_setperms
+  if path = [] then (
+    Node.check_perm store.root perm Perms.WRITE;
+    Node.set_perms store.root perms
+  ) else
+    let do_setperms node name =
+      let c = Node.find node name in
+      Node.check_owner c perm;
+      Node.check_perm c perm Perms.WRITE;
+      let nc = Node.set_perms c perms in
+      Node.replace_child node c nc
+    in
+    Path.apply_modify store.root path do_setperms
 
 (* accessing functions *)
 let get_node store path =
-	Path.get_node store.root path
+  Path.get_node store.root path
 
 let get_deepest_existing_node store path =
-	Path.get_deepest_existing_node store.root path
+  Path.get_deepest_existing_node store.root path
 
 let read store perm path =
-	let do_read node name =
-		let ent = Node.find node name in
-		Node.check_perm ent perm Perms.READ;
-		ent.Node.value
-	in
-	if path = [] then (
-		let ent = store.root in
-		Node.check_perm ent perm Perms.READ;
-		ent.Node.value
-	) else
-		Path.apply store.root path do_read
+  let do_read node name =
+    let ent = Node.find node name in
+    Node.check_perm ent perm Perms.READ;
+    ent.Node.value
+  in
+  if path = [] then (
+    let ent = store.root in
+    Node.check_perm ent perm Perms.READ;
+    ent.Node.value
+  ) else
+    Path.apply store.root path do_read
 
 let ls store perm path =
-	let children =
-		if path = [] then (
-			Node.check_perm store.root perm Perms.READ;
-			Node.get_children store.root
-		) else
-			let do_ls node name =
-				let cnode = Node.find node name in
-				Node.check_perm cnode perm Perms.READ;
-				cnode.Node.children in
-			Path.apply store.root path do_ls in
-	SymbolMap.fold (fun k _ accu -> Symbol.to_string k :: accu) children []
+  let children =
+    if path = [] then (
+      Node.check_perm store.root perm Perms.READ;
+      Node.get_children store.root
+    ) else
+      let do_ls node name =
+        let cnode = Node.find node name in
+        Node.check_perm cnode perm Perms.READ;
+        cnode.Node.children in
+      Path.apply store.root path do_ls in
+  SymbolMap.fold (fun k _ accu -> Symbol.to_string k :: accu) children []
 
 let getperms store perm path =
-	if path = [] then (
-		Node.check_perm store.root perm Perms.READ;
-		Node.get_perms store.root
-	) else
-		let fct n name =
-			let c = Node.find n name in
-			Node.check_perm c perm Perms.READ;
-			c.Node.perms in
-		Path.apply store.root path fct
+  if path = [] then (
+    Node.check_perm store.root perm Perms.READ;
+    Node.get_perms store.root
+  ) else
+    let fct n name =
+      let c = Node.find n name in
+      Node.check_perm c perm Perms.READ;
+      c.Node.perms in
+    Path.apply store.root path fct
 
 let path_exists store path =
-	if path = [] then
-		true
-	else
-		try
-			let check_exist node name =
-				ignore(Node.find node name);
-				true in
-			Path.apply store.root path check_exist
-		with Not_found -> false
+  if path = [] then
+    true
+  else
+    try
+      let check_exist node name =
+        ignore(Node.find node name);
+        true in
+      Path.apply store.root path check_exist
+    with Not_found -> false
 
 
 (* others utils *)
 let traversal root_node f =
-	let rec _traversal path node =
-		f path node;
-		let node_path = Path.of_path_and_name path (Symbol.to_string node.Node.name) in
-		SymbolMap.iter (fun _ -> _traversal node_path) node.Node.children
-		in
-	_traversal [] root_node
+  let rec _traversal path node =
+    f path node;
+    let node_path = Path.of_path_and_name path (Symbol.to_string node.Node.name) in
+    SymbolMap.iter (fun _ -> _traversal node_path) node.Node.children
+  in
+  _traversal [] root_node
 
 let dump_store_buf root_node =
-	let buf = Buffer.create 8192 in
-	let dump_node path node =
-		let pathstr = String.concat "/" path in
-		Printf.bprintf buf "%s/%s{%s}" pathstr (Symbol.to_string node.Node.name)
-		               (String.escaped (Perms.Node.to_string (Node.get_perms node)));
-		if String.length node.Node.value > 0 then
-			Printf.bprintf buf " = %s\n" (String.escaped node.Node.value)
-		else
-			Printf.bprintf buf "\n";
-		in
-	traversal root_node dump_node;
-	buf
+  let buf = Buffer.create 8192 in
+  let dump_node path node =
+    let pathstr = String.concat "/" path in
+    Printf.bprintf buf "%s/%s{%s}" pathstr (Symbol.to_string node.Node.name)
+      (String.escaped (Perms.Node.to_string (Node.get_perms node)));
+    if String.length node.Node.value > 0 then
+      Printf.bprintf buf " = %s\n" (String.escaped node.Node.value)
+    else
+      Printf.bprintf buf "\n";
+  in
+  traversal root_node dump_node;
+  buf
 
 let dump_store chan root_node =
-	let buf = dump_store_buf root_node in
-	output_string chan (Buffer.contents buf);
-	Buffer.reset buf
+  let buf = dump_store_buf root_node in
+  output_string chan (Buffer.contents buf);
+  Buffer.reset buf
 
 let dump_fct store f = traversal store.root f
 let dump store out_chan = dump_store out_chan store.root
@@ -406,109 +406,109 @@ let dump_buffer store = dump_store_buf store.root
 
 (* modifying functions with quota udpate *)
 let set_node store path node orig_quota mod_quota =
-	let root = Path.set_node store.root path node in
-	store.root <- root;
-	Quota.merge orig_quota mod_quota store.quota
+  let root = Path.set_node store.root path node in
+  store.root <- root;
+  Quota.merge orig_quota mod_quota store.quota
 
 let write store perm path value =
-	let node, existing = get_deepest_existing_node store path in
-	let owner = Node.get_owner node in
-	if existing || (Perms.Connection.is_dom0 perm) then
-		(* Only check the string length limit *)
-		Quota.check store.quota (-1) (String.length value)
-	else
-		(* Check the domain entries limit too *)
-		Quota.check store.quota owner (String.length value);
-	let root, node_created = path_write store perm path value in
-	store.root <- root;
-	if node_created
-	then Quota.add_entry store.quota owner
+  let node, existing = get_deepest_existing_node store path in
+  let owner = Node.get_owner node in
+  if existing || (Perms.Connection.is_dom0 perm) then
+    (* Only check the string length limit *)
+    Quota.check store.quota (-1) (String.length value)
+  else
+    (* Check the domain entries limit too *)
+    Quota.check store.quota owner (String.length value);
+  let root, node_created = path_write store perm path value in
+  store.root <- root;
+  if node_created
+  then Quota.add_entry store.quota owner
 
 let mkdir store perm path =
-	let node, existing = get_deepest_existing_node store path in
-	let owner = Node.get_owner node in
-	(* It's upt to the mkdir logic to decide what to do with existing path *)
-	if not (existing || (Perms.Connection.is_dom0 perm)) then Quota.check store.quota owner 0;
-	store.root <- path_mkdir store perm path;
-	if not existing then
-	Quota.add_entry store.quota owner
+  let node, existing = get_deepest_existing_node store path in
+  let owner = Node.get_owner node in
+  (* It's upt to the mkdir logic to decide what to do with existing path *)
+  if not (existing || (Perms.Connection.is_dom0 perm)) then Quota.check store.quota owner 0;
+  store.root <- path_mkdir store perm path;
+  if not existing then
+    Quota.add_entry store.quota owner
 
 let rm store perm path =
-	let rmed_node = Path.get_node store.root path in
-	match rmed_node with
-	| None -> raise Define.Doesnt_exist
-	| Some rmed_node ->
-		store.root <- path_rm store perm path;
-		Node.recurse (fun node -> Quota.del_entry store.quota (Node.get_owner node)) rmed_node
+  let rmed_node = Path.get_node store.root path in
+  match rmed_node with
+  | None -> raise Define.Doesnt_exist
+  | Some rmed_node ->
+    store.root <- path_rm store perm path;
+    Node.recurse (fun node -> Quota.del_entry store.quota (Node.get_owner node)) rmed_node
 
 let setperms store perm path nperms =
-	match Path.get_node store.root path with
-	| None -> raise Define.Doesnt_exist
-	| Some node ->
-		let old_owner = Node.get_owner node in
-		let new_owner = Perms.Node.get_owner nperms in
-		if not ((old_owner = new_owner) || (Perms.Connection.is_dom0 perm)) then
-			raise Define.Permission_denied;
-		store.root <- path_setperms store perm path nperms;
-		Quota.del_entry store.quota old_owner;
-		Quota.add_entry store.quota new_owner
+  match Path.get_node store.root path with
+  | None -> raise Define.Doesnt_exist
+  | Some node ->
+    let old_owner = Node.get_owner node in
+    let new_owner = Perms.Node.get_owner nperms in
+    if not ((old_owner = new_owner) || (Perms.Connection.is_dom0 perm)) then
+      raise Define.Permission_denied;
+    store.root <- path_setperms store perm path nperms;
+    Quota.del_entry store.quota old_owner;
+    Quota.add_entry store.quota new_owner
 
 let reset_permissions store domid =
-	Logging.info "store|node" "Cleaning up xenstore ACLs for domid %d" domid;
-	store.root <- Node.recurse_filter_map (fun node ->
-		match Perms.Node.remove_domid ~domid node.perms with
-		| None -> None
-		| Some perms ->
-			if perms <> node.perms then
-				Logging.debug "store|node" "Changed permissions for node %s" (Node.get_name node);
-			Some { node with Node.perms }
-	) store.root
+  Logging.info "store|node" "Cleaning up xenstore ACLs for domid %d" domid;
+  store.root <- Node.recurse_filter_map (fun node ->
+      match Perms.Node.remove_domid ~domid node.perms with
+      | None -> None
+      | Some perms ->
+        if perms <> node.perms then
+          Logging.debug "store|node" "Changed permissions for node %s" (Node.get_name node);
+        Some { node with Node.perms }
+    ) store.root
 
 type ops = {
-	store: t;
-	write: Path.t -> string -> unit;
-	mkdir: Path.t -> unit;
-	rm: Path.t -> unit;
-	setperms: Path.t -> Perms.Node.t -> unit;
-	ls: Path.t -> string list;
-	read: Path.t -> string;
-	getperms: Path.t -> Perms.Node.t;
-	path_exists: Path.t -> bool;
+  store: t;
+  write: Path.t -> string -> unit;
+  mkdir: Path.t -> unit;
+  rm: Path.t -> unit;
+  setperms: Path.t -> Perms.Node.t -> unit;
+  ls: Path.t -> string list;
+  read: Path.t -> string;
+  getperms: Path.t -> Perms.Node.t;
+  path_exists: Path.t -> bool;
 }
 
 let get_ops store perms = {
-	store = store;
-	write = write store perms;
-	mkdir = mkdir store perms;
-	rm = rm store perms;
-	setperms = setperms store perms;
-	ls = ls store perms;
-	read = read store perms;
-	getperms = getperms store perms;
-	path_exists = path_exists store;
+  store = store;
+  write = write store perms;
+  mkdir = mkdir store perms;
+  rm = rm store perms;
+  setperms = setperms store perms;
+  ls = ls store perms;
+  read = read store perms;
+  getperms = getperms store perms;
+  path_exists = path_exists store;
 }
 
 let create () = {
-	stat_transaction_coalesce = 0;
-	stat_transaction_abort = 0;
-	root = Node.create "" Perms.Node.default0 "";
-	quota = Quota.create ();
+  stat_transaction_coalesce = 0;
+  stat_transaction_abort = 0;
+  root = Node.create "" Perms.Node.default0 "";
+  quota = Quota.create ();
 }
 let copy store = {
-	stat_transaction_coalesce = store.stat_transaction_coalesce;
-	stat_transaction_abort = store.stat_transaction_abort;
-	root = store.root;
-	quota = Quota.copy store.quota;
+  stat_transaction_coalesce = store.stat_transaction_coalesce;
+  stat_transaction_abort = store.stat_transaction_abort;
+  root = store.root;
+  quota = Quota.copy store.quota;
 }
 
 let incr_transaction_coalesce store =
-	store.stat_transaction_coalesce <- store.stat_transaction_coalesce + 1
+  store.stat_transaction_coalesce <- store.stat_transaction_coalesce + 1
 let incr_transaction_abort store =
-	store.stat_transaction_abort <- store.stat_transaction_abort + 1
+  store.stat_transaction_abort <- store.stat_transaction_abort + 1
 
 let stats store =
-	let nb_nodes = ref 0 in
-	traversal store.root (fun _path _node ->
-		incr nb_nodes
-	);
-	!nb_nodes, store.stat_transaction_abort, store.stat_transaction_coalesce
+  let nb_nodes = ref 0 in
+  traversal store.root (fun _path _node ->
+      incr nb_nodes
+    );
+  !nb_nodes, store.stat_transaction_abort, store.stat_transaction_coalesce
diff --git a/tools/ocaml/xenstored/symbol.ml b/tools/ocaml/xenstored/symbol.ml
index 72a84ebf80..02298a04ca 100644
--- a/tools/ocaml/xenstored/symbol.ml
+++ b/tools/ocaml/xenstored/symbol.ml
@@ -18,7 +18,7 @@ module WeakTable = Weak.Make(struct
     type t = string
     let equal (x:string) (y:string) = (x = y)
     let hash = Hashtbl.hash
-end)
+  end)
 
 type t = string
 
diff --git a/tools/ocaml/xenstored/syslog.ml b/tools/ocaml/xenstored/syslog.ml
index a95da2fd7b..cc5816a868 100644
--- a/tools/ocaml/xenstored/syslog.ml
+++ b/tools/ocaml/xenstored/syslog.ml
@@ -15,32 +15,32 @@
 type level = Emerg | Alert | Crit | Err | Warning | Notice | Info | Debug
 type facility = Auth | Authpriv | Cron | Daemon | Ftp | Kern
               | Local0 | Local1 | Local2 | Local3
-	      | Local4 | Local5 | Local6 | Local7
-	      | Lpr | Mail | News | Syslog | User | Uucp
+              | Local4 | Local5 | Local6 | Local7
+              | Lpr | Mail | News | Syslog | User | Uucp
 
 external log : facility -> level -> string -> unit = "stub_syslog"
 
 exception Unknown_facility of string
 let facility_of_string s =
-	match s with
-    |"auth"->Auth
-    |"authpriv"->Authpriv
-    |"cron"->Cron
-    |"daemon"->Daemon
-    |"ftp"->Ftp
-    |"kern"->Kern
-    |"local0"->Local0
-    |"local1"->Local1
-    |"local2"->Local2
-    |"local3"->Local3
-    |"local4"->Local4
-    |"local5"->Local5
-    |"local6"->Local6
-    |"local7"->Local7
-    |"lpr"->Lpr
-    |"mail"->Mail
-    |"news"->News
-    |"syslog"->Syslog
-    |"user"->User
-    |"uucp"->Uucp
-		|_-> raise (Unknown_facility s)
+  match s with
+  |"auth"->Auth
+  |"authpriv"->Authpriv
+  |"cron"->Cron
+  |"daemon"->Daemon
+  |"ftp"->Ftp
+  |"kern"->Kern
+  |"local0"->Local0
+  |"local1"->Local1
+  |"local2"->Local2
+  |"local3"->Local3
+  |"local4"->Local4
+  |"local5"->Local5
+  |"local6"->Local6
+  |"local7"->Local7
+  |"lpr"->Lpr
+  |"mail"->Mail
+  |"news"->News
+  |"syslog"->Syslog
+  |"user"->User
+  |"uucp"->Uucp
+  |_-> raise (Unknown_facility s)
diff --git a/tools/ocaml/xenstored/syslog_stubs.c b/tools/ocaml/xenstored/syslog_stubs.c
index 760e78ff73..7fac237c2b 100644
--- a/tools/ocaml/xenstored/syslog_stubs.c
+++ b/tools/ocaml/xenstored/syslog_stubs.c
@@ -22,50 +22,50 @@
 #include <caml/signals.h>
 
 static int __syslog_level_table[] = {
-	LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING,
-	LOG_NOTICE, LOG_INFO, LOG_DEBUG
+    LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING,
+    LOG_NOTICE, LOG_INFO, LOG_DEBUG
 };
 
 static int __syslog_facility_table[] = {
-	LOG_AUTH, LOG_AUTHPRIV, LOG_CRON, LOG_DAEMON, LOG_FTP, LOG_KERN,
-	LOG_LOCAL0, LOG_LOCAL1, LOG_LOCAL2, LOG_LOCAL3,
-	LOG_LOCAL4, LOG_LOCAL5, LOG_LOCAL6, LOG_LOCAL7,
-	LOG_LPR | LOG_MAIL | LOG_NEWS | LOG_SYSLOG | LOG_USER | LOG_UUCP
+    LOG_AUTH, LOG_AUTHPRIV, LOG_CRON, LOG_DAEMON, LOG_FTP, LOG_KERN,
+    LOG_LOCAL0, LOG_LOCAL1, LOG_LOCAL2, LOG_LOCAL3,
+    LOG_LOCAL4, LOG_LOCAL5, LOG_LOCAL6, LOG_LOCAL7,
+    LOG_LPR | LOG_MAIL | LOG_NEWS | LOG_SYSLOG | LOG_USER | LOG_UUCP
 };
 
 value stub_syslog(value facility, value level, value msg)
 {
-	CAMLparam3(facility, level, msg);
-	char *c_msg = strdup(String_val(msg));
-	char *s = c_msg, *ss;
-	int c_facility = __syslog_facility_table[Int_val(facility)]
-	               | __syslog_level_table[Int_val(level)];
+    CAMLparam3(facility, level, msg);
+    char *c_msg = strdup(String_val(msg));
+    char *s = c_msg, *ss;
+    int c_facility = __syslog_facility_table[Int_val(facility)]
+                   | __syslog_level_table[Int_val(level)];
 
-	if ( !c_msg )
-		caml_raise_out_of_memory();
+    if ( !c_msg )
+        caml_raise_out_of_memory();
 
-	/*
-	 * syslog() doesn't like embedded newlines, and c_msg generally
-	 * contains them.
-	 *
-	 * Split the message in place by converting \n to \0, and issue one
-	 * syslog() call per line, skipping the final iteration if c_msg ends
-	 * with a newline anyway.
-	 */
-	do {
-		ss = strchr(s, '\n');
-		if ( ss )
-			*ss = '\0';
-		else if ( *s == '\0' )
-			break;
+    /*
+     * syslog() doesn't like embedded newlines, and c_msg generally
+     * contains them.
+     *
+     * Split the message in place by converting \n to \0, and issue one
+     * syslog() call per line, skipping the final iteration if c_msg ends
+     * with a newline anyway.
+     */
+    do {
+        ss = strchr(s, '\n');
+        if ( ss )
+            *ss = '\0';
+        else if ( *s == '\0' )
+            break;
 
-		caml_enter_blocking_section();
-		syslog(c_facility, "%s", s);
-		caml_leave_blocking_section();
+        caml_enter_blocking_section();
+        syslog(c_facility, "%s", s);
+        caml_leave_blocking_section();
 
-		s = ss + 1;
-	} while ( ss );
+        s = ss + 1;
+    } while ( ss );
 
-	free(c_msg);
-	CAMLreturn(Val_unit);
+    free(c_msg);
+    CAMLreturn(Val_unit);
 }
diff --git a/tools/ocaml/xenstored/systemd_stubs.c b/tools/ocaml/xenstored/systemd_stubs.c
index f4c875075a..f36f7300cf 100644
--- a/tools/ocaml/xenstored/systemd_stubs.c
+++ b/tools/ocaml/xenstored/systemd_stubs.c
@@ -29,19 +29,19 @@
 
 CAMLprim value ocaml_sd_notify_ready(value ignore)
 {
-	CAMLparam1(ignore);
+    CAMLparam1(ignore);
 
-	sd_notify(1, "READY=1");
+    sd_notify(1, "READY=1");
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 
 #else
 
 CAMLprim value ocaml_sd_notify_ready(value ignore)
 {
-	CAMLparam1(ignore);
+    CAMLparam1(ignore);
 
-	CAMLreturn(Val_unit);
+    CAMLreturn(Val_unit);
 }
 #endif
diff --git a/tools/ocaml/xenstored/transaction.ml b/tools/ocaml/xenstored/transaction.ml
index 294143e233..d33054a623 100644
--- a/tools/ocaml/xenstored/transaction.ml
+++ b/tools/ocaml/xenstored/transaction.ml
@@ -23,71 +23,71 @@ let test_eagain = ref false
 let do_coalesce = ref true
 
 let check_parents_perms_identical root1 root2 path =
-	let hierarch = Store.Path.get_hierarchy path in
-	let permdiff = List.fold_left (fun acc path ->
-		let n1 = Store.Path.get_node root1 path
-		and n2 = Store.Path.get_node root2 path in
-		match n1, n2 with
-		| Some n1, Some n2 ->
-			not (Perms.equiv (Store.Node.get_perms n1) (Store.Node.get_perms n2)) || acc
-		| _ ->
-			true || acc
-	) false hierarch in
-	(not permdiff)
+  let hierarch = Store.Path.get_hierarchy path in
+  let permdiff = List.fold_left (fun acc path ->
+      let n1 = Store.Path.get_node root1 path
+      and n2 = Store.Path.get_node root2 path in
+      match n1, n2 with
+      | Some n1, Some n2 ->
+        not (Perms.equiv (Store.Node.get_perms n1) (Store.Node.get_perms n2)) || acc
+      | _ ->
+        true || acc
+    ) false hierarch in
+  (not permdiff)
 
 let get_lowest path1 path2 =
-	match path2 with
-	| None       -> Some path1
-	| Some path2 -> Some (Store.Path.get_common_prefix path1 path2)
+  match path2 with
+  | None       -> Some path1
+  | Some path2 -> Some (Store.Path.get_common_prefix path1 path2)
 
 let test_coalesce oldroot currentroot optpath =
-	match optpath with
-	| None      -> true
-	| Some path ->
-		let oldnode = Store.Path.get_node oldroot path
-		and currentnode = Store.Path.get_node currentroot path in
+  match optpath with
+  | None      -> true
+  | Some path ->
+    let oldnode = Store.Path.get_node oldroot path
+    and currentnode = Store.Path.get_node currentroot path in
 
-		match oldnode, currentnode with
-		| (Some oldnode), (Some currentnode) ->
-			if oldnode == currentnode then (
-				check_parents_perms_identical oldroot currentroot path
-			) else (
-				false
-			)
-		| None, None -> (
-			(* ok then it doesn't exists in the old version and the current version,
-			   just sneak it in as a child of the parent node if it exists, or else fail *)
-			let pnode = Store.Path.get_node currentroot (Store.Path.get_parent path) in
-			match pnode with
-			| None       -> false (* ok it doesn't exists, just bail out. *)
-			| Some _     -> true
-			)
-		| _ ->
-			false
+    match oldnode, currentnode with
+    | (Some oldnode), (Some currentnode) ->
+      if oldnode == currentnode then (
+        check_parents_perms_identical oldroot currentroot path
+      ) else (
+        false
+      )
+    | None, None -> (
+        (* ok then it doesn't exists in the old version and the current version,
+           			   just sneak it in as a child of the parent node if it exists, or else fail *)
+        let pnode = Store.Path.get_node currentroot (Store.Path.get_parent path) in
+        match pnode with
+        | None       -> false (* ok it doesn't exists, just bail out. *)
+        | Some _     -> true
+      )
+    | _ ->
+      false
 
 let can_coalesce oldroot currentroot path =
-	if !do_coalesce then
-		try test_coalesce oldroot currentroot path with _ -> false
-	else
-		false
+  if !do_coalesce then
+    try test_coalesce oldroot currentroot path with _ -> false
+  else
+    false
 
 type ty = No | Full of (
-	int *          (* Transaction id *)
-	Store.t *      (* Original store *)
-	Store.t        (* A pointer to the canonical store: its root changes on each transaction-commit *)
-)
+    int *          (* Transaction id *)
+    Store.t *      (* Original store *)
+    Store.t        (* A pointer to the canonical store: its root changes on each transaction-commit *)
+  )
 
 type t = {
-	ty: ty;
-	start_count: int64;
-	store: Store.t; (* This is the store that we change in write operations. *)
-	quota: Quota.t;
-	oldroot: Store.Node.t;
-	mutable paths: (Xenbus.Xb.Op.operation * Store.Path.t) list;
-	mutable operations: (Packet.request * Packet.response) list;
-	mutable quota_reached: bool;
-	mutable read_lowpath: Store.Path.t option;
-	mutable write_lowpath: Store.Path.t option;
+  ty: ty;
+  start_count: int64;
+  store: Store.t; (* This is the store that we change in write operations. *)
+  quota: Quota.t;
+  oldroot: Store.Node.t;
+  mutable paths: (Xenbus.Xb.Op.operation * Store.Path.t) list;
+  mutable operations: (Packet.request * Packet.response) list;
+  mutable quota_reached: bool;
+  mutable read_lowpath: Store.Path.t option;
+  mutable write_lowpath: Store.Path.t option;
 }
 let get_id t = match t.ty with No -> none | Full (id, _, _) -> id
 
@@ -95,48 +95,48 @@ let counter = ref 0L
 let failed_commits = ref 0L
 let failed_commits_no_culprit = ref 0L
 let reset_conflict_stats () =
-	failed_commits := 0L;
-	failed_commits_no_culprit := 0L
+  failed_commits := 0L;
+  failed_commits_no_culprit := 0L
 
 (* Scope for optimisation: different data-structure and functions to search/filter it *)
 let short_running_txns = ref []
 
 let oldest_short_running_transaction () =
-	let rec last = function
-		| [] -> None
-		| [x] -> Some x
-		| _ :: xs -> last xs
-	in last !short_running_txns
+  let rec last = function
+    | [] -> None
+    | [x] -> Some x
+    | _ :: xs -> last xs
+  in last !short_running_txns
 
 let trim_short_running_transactions txn =
-	let cutoff = Unix.gettimeofday () -. !Define.conflict_max_history_seconds in
-	let keep = match txn with
-		| None -> (function (start_time, _) -> start_time >= cutoff)
-		| Some t -> (function (start_time, tx) -> start_time >= cutoff && tx != t)
-	in
-	short_running_txns := List.filter
-		keep
-		!short_running_txns
+  let cutoff = Unix.gettimeofday () -. !Define.conflict_max_history_seconds in
+  let keep = match txn with
+    | None -> (function (start_time, _) -> start_time >= cutoff)
+    | Some t -> (function (start_time, tx) -> start_time >= cutoff && tx != t)
+  in
+  short_running_txns := List.filter
+      keep
+      !short_running_txns
 
 let make ?(internal=false) id store =
-	let ty = if id = none then No else Full(id, Store.copy store, store) in
-	let txn = {
-		ty = ty;
-		start_count = !counter;
-		store = if id = none then store else Store.copy store;
-		quota = Quota.copy store.Store.quota;
-		oldroot = Store.get_root store;
-		paths = [];
-		operations = [];
-		quota_reached = false;
-		read_lowpath = None;
-		write_lowpath = None;
-	} in
-	if id <> none && not internal then (
-		let now = Unix.gettimeofday () in
-		short_running_txns := (now, txn) :: !short_running_txns
-	);
-	txn
+  let ty = if id = none then No else Full(id, Store.copy store, store) in
+  let txn = {
+    ty = ty;
+    start_count = !counter;
+    store = if id = none then store else Store.copy store;
+    quota = Quota.copy store.Store.quota;
+    oldroot = Store.get_root store;
+    paths = [];
+    operations = [];
+    quota_reached = false;
+    read_lowpath = None;
+    write_lowpath = None;
+  } in
+  if id <> none && not internal then (
+    let now = Unix.gettimeofday () in
+    short_running_txns := (now, txn) :: !short_running_txns
+  );
+  txn
 
 let get_store t = t.store
 let get_paths t = t.paths
@@ -148,115 +148,115 @@ let add_wop t ty path = t.paths <- (ty, path) :: t.paths
 let get_operations t = List.rev t.operations
 
 let check_quota_exn ~perm t =
-	if !Define.maxrequests >= 0
-		&& not (Perms.Connection.is_dom0 perm)
-		&& (t.quota_reached || List.length t.operations >= !Define.maxrequests)
-		then begin
-			t.quota_reached <- true;
-			raise Quota.Limit_reached;
-		end
+  if !Define.maxrequests >= 0
+  && not (Perms.Connection.is_dom0 perm)
+  && (t.quota_reached || List.length t.operations >= !Define.maxrequests)
+  then begin
+    t.quota_reached <- true;
+    raise Quota.Limit_reached;
+  end
 
 let add_operation t request response =
-	t.operations <- (request, response) :: t.operations
+  t.operations <- (request, response) :: t.operations
 let set_read_lowpath t path = t.read_lowpath <- get_lowest path t.read_lowpath
 let set_write_lowpath t path = t.write_lowpath <- get_lowest path t.write_lowpath
 
 let path_exists t path = Store.path_exists t.store path
 
 let write t perm path value =
-	let path_exists = path_exists t path in
-	Store.write t.store perm path value;
-	if path_exists
-	then set_write_lowpath t path
-	else set_write_lowpath t (Store.Path.get_parent path);
-	add_wop t Xenbus.Xb.Op.Write path
+  let path_exists = path_exists t path in
+  Store.write t.store perm path value;
+  if path_exists
+  then set_write_lowpath t path
+  else set_write_lowpath t (Store.Path.get_parent path);
+  add_wop t Xenbus.Xb.Op.Write path
 
 let mkdir ?(with_watch=true) t perm path =
-	Store.mkdir t.store perm path;
-	set_write_lowpath t (Store.Path.get_parent path);
-	if with_watch then
-		add_wop t Xenbus.Xb.Op.Mkdir path
+  Store.mkdir t.store perm path;
+  set_write_lowpath t (Store.Path.get_parent path);
+  if with_watch then
+    add_wop t Xenbus.Xb.Op.Mkdir path
 
 let setperms t perm path perms =
-	Store.setperms t.store perm path perms;
-	set_write_lowpath t path;
-	add_wop t Xenbus.Xb.Op.Setperms path
+  Store.setperms t.store perm path perms;
+  set_write_lowpath t path;
+  add_wop t Xenbus.Xb.Op.Setperms path
 
 let rm t perm path =
-	Store.rm t.store perm path;
-	set_write_lowpath t (Store.Path.get_parent path);
-	add_wop t Xenbus.Xb.Op.Rm path
+  Store.rm t.store perm path;
+  set_write_lowpath t (Store.Path.get_parent path);
+  add_wop t Xenbus.Xb.Op.Rm path
 
 let ls t perm path =
-	let r = Store.ls t.store perm path in
-	set_read_lowpath t path;
-	r
+  let r = Store.ls t.store perm path in
+  set_read_lowpath t path;
+  r
 
 let read t perm path =
-	let r = Store.read t.store perm path in
-	set_read_lowpath t path;
-	r
+  let r = Store.read t.store perm path in
+  set_read_lowpath t path;
+  r
 
 let getperms t perm path =
-	let r = Store.getperms t.store perm path in
-	set_read_lowpath t path;
-	r
+  let r = Store.getperms t.store perm path in
+  set_read_lowpath t path;
+  r
 
 let commit ~con t =
-	let has_write_ops = List.length t.paths > 0 in
-	let has_coalesced = ref false in
-	let has_commited =
-	match t.ty with
-	| No                         -> true
-	| Full (_id, oldstore, cstore) ->       (* "cstore" meaning current canonical store *)
-		let commit_partial oldroot cstore store =
-			(* get the lowest path of the query and verify that it hasn't
-			   been modified by others transactions. *)
-			if can_coalesce oldroot (Store.get_root cstore) t.read_lowpath
-			&& can_coalesce oldroot (Store.get_root cstore) t.write_lowpath then (
-				maybe (fun p ->
-					let n = Store.get_node store p in
+  let has_write_ops = List.length t.paths > 0 in
+  let has_coalesced = ref false in
+  let has_commited =
+    match t.ty with
+    | No                         -> true
+    | Full (_id, oldstore, cstore) ->       (* "cstore" meaning current canonical store *)
+      let commit_partial oldroot cstore store =
+        (* get the lowest path of the query and verify that it hasn't
+           			   been modified by others transactions. *)
+        if can_coalesce oldroot (Store.get_root cstore) t.read_lowpath
+        && can_coalesce oldroot (Store.get_root cstore) t.write_lowpath then (
+          maybe (fun p ->
+              let n = Store.get_node store p in
 
-					(* it has to be in the store, otherwise it means bugs
-					   in the lowpath registration. we don't need to handle none. *)
-					maybe (fun n -> Store.set_node cstore p n t.quota store.Store.quota) n;
-					Logging.write_coalesce ~tid:(get_id t) ~con (Store.Path.to_string p);
-				) t.write_lowpath;
-				maybe (fun p ->
-					Logging.read_coalesce ~tid:(get_id t) ~con (Store.Path.to_string p)
-					) t.read_lowpath;
-				has_coalesced := true;
-				Store.incr_transaction_coalesce cstore;
-				true
-			) else (
-				(* cannot do anything simple, just discard the queries,
-				   and the client need to redo it later *)
-				Store.incr_transaction_abort cstore;
-				false
-			)
-			in
-		let try_commit oldroot cstore store =
-			if oldroot == Store.get_root cstore then (
-				(* move the new root to the current store, if the oldroot
-				   has not been modified *)
-				if has_write_ops then (
-					Store.set_root cstore (Store.get_root store);
-					Store.set_quota cstore (Store.get_quota store)
-				);
-				true
-			) else
-				(* we try a partial commit if possible *)
-				commit_partial oldroot cstore store
-			in
-		if !test_eagain && Random.int 3 = 0 then
-			false
-		else
-			try_commit (Store.get_root oldstore) cstore t.store
-		in
-	if has_commited && has_write_ops then
-		Disk.write t.store;
-	if not has_commited
-	then Logging.conflict ~tid:(get_id t) ~con
-	else if not !has_coalesced
-	then Logging.commit ~tid:(get_id t) ~con;
-	has_commited
+              (* it has to be in the store, otherwise it means bugs
+                 					   in the lowpath registration. we don't need to handle none. *)
+              maybe (fun n -> Store.set_node cstore p n t.quota store.Store.quota) n;
+              Logging.write_coalesce ~tid:(get_id t) ~con (Store.Path.to_string p);
+            ) t.write_lowpath;
+          maybe (fun p ->
+              Logging.read_coalesce ~tid:(get_id t) ~con (Store.Path.to_string p)
+            ) t.read_lowpath;
+          has_coalesced := true;
+          Store.incr_transaction_coalesce cstore;
+          true
+        ) else (
+          (* cannot do anything simple, just discard the queries,
+             				   and the client need to redo it later *)
+          Store.incr_transaction_abort cstore;
+          false
+        )
+      in
+      let try_commit oldroot cstore store =
+        if oldroot == Store.get_root cstore then (
+          (* move the new root to the current store, if the oldroot
+             				   has not been modified *)
+          if has_write_ops then (
+            Store.set_root cstore (Store.get_root store);
+            Store.set_quota cstore (Store.get_quota store)
+          );
+          true
+        ) else
+          (* we try a partial commit if possible *)
+          commit_partial oldroot cstore store
+      in
+      if !test_eagain && Random.int 3 = 0 then
+        false
+      else
+        try_commit (Store.get_root oldstore) cstore t.store
+  in
+  if has_commited && has_write_ops then
+    Disk.write t.store;
+  if not has_commited
+  then Logging.conflict ~tid:(get_id t) ~con
+  else if not !has_coalesced
+  then Logging.commit ~tid:(get_id t) ~con;
+  has_commited
diff --git a/tools/ocaml/xenstored/trie.ml b/tools/ocaml/xenstored/trie.ml
index ca38b26632..bef97cdbdb 100644
--- a/tools/ocaml/xenstored/trie.ml
+++ b/tools/ocaml/xenstored/trie.ml
@@ -19,159 +19,159 @@ module StringMap = Map.Make(String)
 
 module Node =
 struct
-	type 'a t =  {
-		key: string;
-		value: 'a option;
-		children: 'a t StringMap.t;
-	}
+  type 'a t =  {
+    key: string;
+    value: 'a option;
+    children: 'a t StringMap.t;
+  }
 
-	let _create key value = {
-		key = key;
-		value = Some value;
-		children = StringMap.empty;
-	}
+  let _create key value = {
+    key = key;
+    value = Some value;
+    children = StringMap.empty;
+  }
 
-	let empty key = {
-		key = key;
-		value = None;
-		children = StringMap.empty;
-	}
+  let empty key = {
+    key = key;
+    value = None;
+    children = StringMap.empty;
+  }
 
-	let _get_key node = node.key
-	let get_value node =
-		match node.value with
-		| None       -> raise Not_found
-		| Some value -> value
+  let _get_key node = node.key
+  let get_value node =
+    match node.value with
+    | None       -> raise Not_found
+    | Some value -> value
 
-	let _get_children node = node.children
+  let _get_children node = node.children
 
-	let set_value node value =
-		{ node with value = Some value }
-	let set_children node children =
-		{ node with children = children }
+  let set_value node value =
+    { node with value = Some value }
+  let set_children node children =
+    { node with children = children }
 
-	let _add_child node child =
-		{ node with children = StringMap.add child.key child node.children }
+  let _add_child node child =
+    { node with children = StringMap.add child.key child node.children }
 end
 
 type 'a t = 'a Node.t StringMap.t
 
 let mem_node nodes key =
-	StringMap.mem key nodes
+  StringMap.mem key nodes
 
 let find_node nodes key =
-	StringMap.find key nodes
+  StringMap.find key nodes
 
 let replace_node nodes key node =
-	StringMap.update key (function None -> None | Some _ -> Some node) nodes
+  StringMap.update key (function None -> None | Some _ -> Some node) nodes
 
 let remove_node nodes key =
-	StringMap.update key (function None -> raise Not_found | Some _ -> None) nodes
+  StringMap.update key (function None -> raise Not_found | Some _ -> None) nodes
 
 let create () = StringMap.empty
 
 let rec iter f tree =
-	let aux key node =
-		f key node.Node.value;
-		iter f node.Node.children
-	in
-	StringMap.iter aux tree
+  let aux key node =
+    f key node.Node.value;
+    iter f node.Node.children
+  in
+  StringMap.iter aux tree
 
 let rec map f tree =
-	let aux node =
-		let value =
-			match node.Node.value with
-			| None       -> None
-			| Some value -> f value
-		in
-		{ node with Node.value = value; Node.children = map f node.Node.children }
-	in
-	tree |> StringMap.map aux
-	|> StringMap.filter (fun _ n -> n.Node.value <> None || not (StringMap.is_empty n.Node.children))
+  let aux node =
+    let value =
+      match node.Node.value with
+      | None       -> None
+      | Some value -> f value
+    in
+    { node with Node.value = value; Node.children = map f node.Node.children }
+  in
+  tree |> StringMap.map aux
+  |> StringMap.filter (fun _ n -> n.Node.value <> None || not (StringMap.is_empty n.Node.children))
 
 let rec fold f tree acc =
-	let aux key node accu =
-		fold f node.Node.children (f key node.Node.value accu)
-	in
-	StringMap.fold aux tree acc
+  let aux key node accu =
+    fold f node.Node.children (f key node.Node.value accu)
+  in
+  StringMap.fold aux tree acc
 
 (* return a sub-trie *)
 let rec sub_node tree = function
-	| []   -> raise Not_found
-	| h::t ->
-		  if mem_node tree h
-		  then begin
-			  let node = find_node tree h in
-			  if t = []
-			  then node
-			  else sub_node node.Node.children t
-		  end else
-			  raise Not_found
+  | []   -> raise Not_found
+  | h::t ->
+    if mem_node tree h
+    then begin
+      let node = find_node tree h in
+      if t = []
+      then node
+      else sub_node node.Node.children t
+    end else
+      raise Not_found
 
 let sub tree path =
-	try (sub_node tree path).Node.children
-	with Not_found -> StringMap.empty
+  try (sub_node tree path).Node.children
+  with Not_found -> StringMap.empty
 
 let find tree path =
-	Node.get_value (sub_node tree path)
+  Node.get_value (sub_node tree path)
 
 (* return false if the node doesn't exists or if it is not associated to any value *)
 let rec mem tree = function
-	| []   -> false
-	| h::t ->
-		  mem_node tree h
-		  && (let node = find_node tree h in
-			  if t = []
-			  then node.Node.value <> None
-			  else mem node.Node.children t)
+  | []   -> false
+  | h::t ->
+    mem_node tree h
+    && (let node = find_node tree h in
+        if t = []
+        then node.Node.value <> None
+        else mem node.Node.children t)
 
 (* Iterate over the longest valid prefix *)
 let rec iter_path f tree = function
-	| []   -> ()
-	| h::l ->
-		  if mem_node tree h
-		  then begin
-			  let node = find_node tree h in
-			  f node.Node.key node.Node.value;
-			  iter_path f node.Node.children l
-		  end
+  | []   -> ()
+  | h::l ->
+    if mem_node tree h
+    then begin
+      let node = find_node tree h in
+      f node.Node.key node.Node.value;
+      iter_path f node.Node.children l
+    end
 
 let rec set_node node path value =
-	if path = []
-	then Node.set_value node value
-	else begin
-		let children = set node.Node.children path value in
-		Node.set_children node children
-	end
+  if path = []
+  then Node.set_value node value
+  else begin
+    let children = set node.Node.children path value in
+    Node.set_children node children
+  end
 
 and set tree path value =
-	match path with
-		| []   -> raise Not_found
-		| h::t ->
-			  if mem_node tree h
-			  then begin
-				  let node = find_node tree h in
-				  replace_node tree h (set_node node t value)
-			  end else begin
-				  let node = Node.empty h in
-				  StringMap.add node.Node.key (set_node node t value) tree
-			  end
+  match path with
+  | []   -> raise Not_found
+  | h::t ->
+    if mem_node tree h
+    then begin
+      let node = find_node tree h in
+      replace_node tree h (set_node node t value)
+    end else begin
+      let node = Node.empty h in
+      StringMap.add node.Node.key (set_node node t value) tree
+    end
 
 let rec unset tree = function
-	| []   -> tree
-	| h::t ->
-		  if mem_node tree h
-		  then begin
-			  let node = find_node tree h in
-			  let children = unset node.Node.children t in
-			  let new_node =
-				  if t = []
-				  then Node.set_children (Node.empty h) children
-				  else Node.set_children node children
-			  in
-			  if StringMap.is_empty children && new_node.Node.value = None
-			  then remove_node tree h
-			  else replace_node tree h new_node
-		  end else
-			  raise Not_found
+  | []   -> tree
+  | h::t ->
+    if mem_node tree h
+    then begin
+      let node = find_node tree h in
+      let children = unset node.Node.children t in
+      let new_node =
+        if t = []
+        then Node.set_children (Node.empty h) children
+        else Node.set_children node children
+      in
+      if StringMap.is_empty children && new_node.Node.value = None
+      then remove_node tree h
+      else replace_node tree h new_node
+    end else
+      raise Not_found
 
diff --git a/tools/ocaml/xenstored/trie.mli b/tools/ocaml/xenstored/trie.mli
index 27785154f5..2f1b364b6a 100644
--- a/tools/ocaml/xenstored/trie.mli
+++ b/tools/ocaml/xenstored/trie.mli
@@ -17,44 +17,44 @@
 
 type 'a t
 (** The type of tries. ['a] the type of values.
-	Internally, a trie is represented as a labeled tree, where node contains values
-	of type [string * 'a option]. *)
+    	Internally, a trie is represented as a labeled tree, where node contains values
+    	of type [string * 'a option]. *)
 
 val create : unit -> 'a t
 (** Creates an empty trie. *)
 
 val mem : 'a t -> string list -> bool
 (** [mem t k] returns true if a value is associated with the key [k] in the trie [t].
-	Otherwise, it returns false. *)
+    	Otherwise, it returns false. *)
 
 val find : 'a t -> string list -> 'a
 (** [find t k] returns the value associated with the key [k] in the trie [t].
-	Returns [Not_found] if no values are associated with [k] in [t]. *)
+    	Returns [Not_found] if no values are associated with [k] in [t]. *)
 
 val set : 'a t -> string list -> 'a -> 'a t
 (** [set t k v] associates the value [v] with the key [k] in the trie [t]. *)
 
 val unset : 'a t -> string list -> 'a t
 (** [unset k v] removes the association of value [v] with the key [k] in the trie [t].
-	Moreover, it automatically clean the trie, ie. it removes recursively
-	every nodes of [t] containing no values and having no chil. *)
+    	Moreover, it automatically clean the trie, ie. it removes recursively
+    	every nodes of [t] containing no values and having no chil. *)
 
 val iter : (string -> 'a option -> unit) -> 'a t -> unit
 (** [iter f t] applies the function [f] to every node of the trie [t].
-	As nodes of the trie [t] do not necessary contains a value, the second argument of
-	[f] is an option type. *)
+    	As nodes of the trie [t] do not necessary contains a value, the second argument of
+    	[f] is an option type. *)
 
 val iter_path : (string -> 'a option -> unit) -> 'a t -> string list -> unit
 (** [iter_path f t p] iterates [f] over nodes associated with the path [p] in the trie [t].
-	If [p] is not a valid path of [t], it iterates on the longest valid prefix of [p]. *)
+    	If [p] is not a valid path of [t], it iterates on the longest valid prefix of [p]. *)
 
 val fold : (string -> 'a option -> 'c -> 'c) -> 'a t -> 'c -> 'c
 (** [fold f t x] fold [f] over every nodes of [t], with [x] as initial value. *)
 
 val map : ('a -> 'b option) -> 'a t -> 'b t
 (** [map f t] maps [f] over every values stored in [t]. The return value of [f] is of type 'c option
-	as one may wants to remove value associated to a key. This function is not tail-recursive. *)
+    	as one may wants to remove value associated to a key. This function is not tail-recursive. *)
 
 val sub : 'a t -> string list -> 'a t
 (** [sub t p] returns the sub-trie associated with the path [p] in the trie [t].
-	If [p] is not a valid path of [t], it returns an empty trie. *)
+    	If [p] is not a valid path of [t], it returns an empty trie. *)
diff --git a/tools/ocaml/xenstored/utils.ml b/tools/ocaml/xenstored/utils.ml
index dd03b2b5bc..48d84ef7d3 100644
--- a/tools/ocaml/xenstored/utils.ml
+++ b/tools/ocaml/xenstored/utils.ml
@@ -19,111 +19,111 @@ open Stdext
 
 (* lists utils *)
 let filter_out filter l =
-	List.filter (fun x -> not (List.mem x filter)) l
+  List.filter (fun x -> not (List.mem x filter)) l
 
 let filter_in filter l =
-	List.filter (fun x -> List.mem x filter) l
+  List.filter (fun x -> List.mem x filter) l
 
 let list_remove element l =
-	List.filter (fun e -> e != element) l
+  List.filter (fun e -> e != element) l
 
 let list_tl_multi n l =
-	let rec do_tl i x =
-		if i = 0 then x else do_tl (i - 1) (List.tl x)
-		in
-	do_tl n l
+  let rec do_tl i x =
+    if i = 0 then x else do_tl (i - 1) (List.tl x)
+  in
+  do_tl n l
 
 (* string utils *)
 let get_hierarchy path =
-	let l = List.length path in
-	let revpath = List.rev path in
-	let rec sub i =
-		let x = List.rev (list_tl_multi (l - i) revpath) in
-		if i = l then [ x ] else x :: sub (i + 1)
-		in
-	sub 0
+  let l = List.length path in
+  let revpath = List.rev path in
+  let rec sub i =
+    let x = List.rev (list_tl_multi (l - i) revpath) in
+    if i = l then [ x ] else x :: sub (i + 1)
+  in
+  sub 0
 
 let hexify s =
-	let hexseq_of_char c = sprintf "%02x" (Char.code c) in
-	let hs = Bytes.create (String.length s * 2) in
-	String.iteri (fun i c ->
-		let seq = hexseq_of_char c in
-		Bytes.set hs (i * 2) seq.[0];
-		Bytes.set hs (i * 2 + 1) seq.[1];
-	) s;
-	Bytes.unsafe_to_string hs
+  let hexseq_of_char c = sprintf "%02x" (Char.code c) in
+  let hs = Bytes.create (String.length s * 2) in
+  String.iteri (fun i c ->
+      let seq = hexseq_of_char c in
+      Bytes.set hs (i * 2) seq.[0];
+      Bytes.set hs (i * 2 + 1) seq.[1];
+    ) s;
+  Bytes.unsafe_to_string hs
 
 let unhexify hs =
-	let char_of_hexseq seq0 seq1 = Char.chr (int_of_string (sprintf "0x%c%c" seq0 seq1)) in
-	let b = Bytes.create (String.length hs / 2) in
-	for i = 0 to Bytes.length b - 1
-	do
-		Bytes.set b i (char_of_hexseq hs.[i * 2] hs.[i * 2 + 1])
-	done;
-	Bytes.unsafe_to_string b
+  let char_of_hexseq seq0 seq1 = Char.chr (int_of_string (sprintf "0x%c%c" seq0 seq1)) in
+  let b = Bytes.create (String.length hs / 2) in
+  for i = 0 to Bytes.length b - 1
+  do
+    Bytes.set b i (char_of_hexseq hs.[i * 2] hs.[i * 2 + 1])
+  done;
+  Bytes.unsafe_to_string b
 
 let trim_path path =
-	try
-		let rindex = String.rindex path '/' in
-		String.sub path 0 rindex
-	with
-		Not_found -> ""
+  try
+    let rindex = String.rindex path '/' in
+    String.sub path 0 rindex
+  with
+    Not_found -> ""
 
 let join_by_null ls = String.concat "\000" ls
 
 (* unix utils *)
 let create_unix_socket name =
-        Unixext.unlink_safe name;
-        Unixext.mkdir_rec (Filename.dirname name) 0o700;
-        let sockaddr = Unix.ADDR_UNIX(name) in
-        let sock = Unix.socket Unix.PF_UNIX Unix.SOCK_STREAM 0 in
-        Unix.bind sock sockaddr;
-        Unix.listen sock 1;
-        sock
+  Unixext.unlink_safe name;
+  Unixext.mkdir_rec (Filename.dirname name) 0o700;
+  let sockaddr = Unix.ADDR_UNIX(name) in
+  let sock = Unix.socket Unix.PF_UNIX Unix.SOCK_STREAM 0 in
+  Unix.bind sock sockaddr;
+  Unix.listen sock 1;
+  sock
 
 let read_file_single_integer filename =
-	let fd = Unix.openfile filename [ Unix.O_RDONLY ] 0o640 in
-	let buf = Bytes.make 20 '\000' in
-	let sz = Unix.read fd buf 0 20 in
-	Unix.close fd;
-	int_of_string (Bytes.sub_string buf 0 sz)
+  let fd = Unix.openfile filename [ Unix.O_RDONLY ] 0o640 in
+  let buf = Bytes.make 20 '\000' in
+  let sz = Unix.read fd buf 0 20 in
+  Unix.close fd;
+  int_of_string (Bytes.sub_string buf 0 sz)
 
 (* @path may be guest data and needs its length validating.  @connection_path
  * is generated locally in xenstored and always of the form "/local/domain/$N/" *)
 let path_validate path connection_path =
-	let len = String.length path in
+  let len = String.length path in
 
-	if len = 0 then raise Define.Invalid_path;
+  if len = 0 then raise Define.Invalid_path;
 
-	let abs_path =
-		match String.get path 0 with
-		| '/' | '@' -> path
-		| _   -> connection_path ^ path
-	in
+  let abs_path =
+    match String.get path 0 with
+    | '/' | '@' -> path
+    | _   -> connection_path ^ path
+  in
 
-	(* Regardless whether client specified absolute or relative path,
-	   canonicalize it (above) and, for domain-relative paths, check the
-	   length of the relative part.
+  (* Regardless whether client specified absolute or relative path,
+     	   canonicalize it (above) and, for domain-relative paths, check the
+     	   length of the relative part.
 
-	   This prevents paths becoming invalid across migrate when the length
-	   of the domid changes in @param connection_path.
-	 *)
-	let len = String.length abs_path in
-	let on_absolute _ _ = len in
-	let on_relative _ offset = len - offset in
-	let len = Scanf.ksscanf abs_path on_absolute "/local/domain/%d/%n" on_relative in
-	if len > !Define.path_max then raise Define.Invalid_path;
+     	   This prevents paths becoming invalid across migrate when the length
+     	   of the domid changes in @param connection_path.
+     	 *)
+  let len = String.length abs_path in
+  let on_absolute _ _ = len in
+  let on_relative _ offset = len - offset in
+  let len = Scanf.ksscanf abs_path on_absolute "/local/domain/%d/%n" on_relative in
+  if len > !Define.path_max then raise Define.Invalid_path;
 
-	abs_path
+  abs_path
 
 module FD : sig
-	type t = Unix.file_descr
-	val of_int: int -> t
-	val to_int : t -> int
+  type t = Unix.file_descr
+  val of_int: int -> t
+  val to_int : t -> int
 end = struct
-	type t = Unix.file_descr
-	(* This is like Obj.magic but just for these types,
-	   and relies on Unix.file_descr = int *)
-	external to_int : t -> int = "%identity"
-	external of_int : int -> t = "%identity"
+  type t = Unix.file_descr
+  (* This is like Obj.magic but just for these types,
+     	   and relies on Unix.file_descr = int *)
+  external to_int : t -> int = "%identity"
+  external of_int : int -> t = "%identity"
 end
diff --git a/tools/ocaml/xenstored/xenstored.ml b/tools/ocaml/xenstored/xenstored.ml
index 4d5851c5cb..366437b396 100644
--- a/tools/ocaml/xenstored/xenstored.ml
+++ b/tools/ocaml/xenstored/xenstored.ml
@@ -26,272 +26,272 @@ let info fmt = Logging.info "xenstored" fmt
 
 (*------------ event klass processors --------------*)
 let process_connection_fds store cons domains rset wset =
-	let try_fct fct c =
-		try
-			fct store cons domains c
-		with
-		| Unix.Unix_error(err, "write", _) ->
-			Connections.del_anonymous cons c;
-			error "closing socket connection: write error: %s"
-			      (Unix.error_message err)
-		| Unix.Unix_error(err, "read", _) ->
-			Connections.del_anonymous cons c;
-			if err <> Unix.ECONNRESET then
-			error "closing socket connection: read error: %s"
-			      (Unix.error_message err)
-		| Xenbus.Xb.End_of_file ->
-			Connections.del_anonymous cons c;
-			debug "closing socket connection"
-		in
-	let process_fdset_with fds fct =
-		List.iter
-			(fun fd ->
-			 try try_fct fct (Connections.find cons fd)
-			 with Not_found -> ()
-			) fds in
-	process_fdset_with rset Process.do_input;
-	process_fdset_with wset Process.do_output
+  let try_fct fct c =
+    try
+      fct store cons domains c
+    with
+    | Unix.Unix_error(err, "write", _) ->
+      Connections.del_anonymous cons c;
+      error "closing socket connection: write error: %s"
+        (Unix.error_message err)
+    | Unix.Unix_error(err, "read", _) ->
+      Connections.del_anonymous cons c;
+      if err <> Unix.ECONNRESET then
+        error "closing socket connection: read error: %s"
+          (Unix.error_message err)
+    | Xenbus.Xb.End_of_file ->
+      Connections.del_anonymous cons c;
+      debug "closing socket connection"
+  in
+  let process_fdset_with fds fct =
+    List.iter
+      (fun fd ->
+         try try_fct fct (Connections.find cons fd)
+         with Not_found -> ()
+      ) fds in
+  process_fdset_with rset Process.do_input;
+  process_fdset_with wset Process.do_output
 
 let process_domains store cons domains =
-	let do_io_domain domain =
-		if Domain.is_bad_domain domain
-		|| Domain.get_io_credit domain <= 0
-		|| Domain.is_paused_for_conflict domain
-		then () (* nothing to do *)
-		else (
-			let con = Connections.find_domain cons (Domain.get_id domain) in
-			Process.do_input store cons domains con;
-			Process.do_output store cons domains con;
-			Domain.decr_io_credit domain
-		) in
-	Domains.iter domains do_io_domain
+  let do_io_domain domain =
+    if Domain.is_bad_domain domain
+    || Domain.get_io_credit domain <= 0
+    || Domain.is_paused_for_conflict domain
+    then () (* nothing to do *)
+    else (
+      let con = Connections.find_domain cons (Domain.get_id domain) in
+      Process.do_input store cons domains con;
+      Process.do_output store cons domains con;
+      Domain.decr_io_credit domain
+    ) in
+  Domains.iter domains do_io_domain
 
 let sigusr1_handler store =
-	try
-		let channel = open_out_gen [ Open_wronly; Open_creat; Open_trunc; ]
-		                           0o600 (Paths.xen_run_stored ^ "/db.debug") in
-		finally (fun () -> Store.dump store channel)
-			(fun () -> close_out channel)
-	with _ ->
-		()
+  try
+    let channel = open_out_gen [ Open_wronly; Open_creat; Open_trunc; ]
+        0o600 (Paths.xen_run_stored ^ "/db.debug") in
+    finally (fun () -> Store.dump store channel)
+      (fun () -> close_out channel)
+  with _ ->
+    ()
 
 let sighup_handler _ =
-	maybe (fun logger -> logger.Logging.restart()) !Logging.xenstored_logger;
-	maybe (fun logger -> logger.Logging.restart()) !Logging.access_logger
+  maybe (fun logger -> logger.Logging.restart()) !Logging.xenstored_logger;
+  maybe (fun logger -> logger.Logging.restart()) !Logging.access_logger
 
 let config_filename cf =
-	match cf.config_file with
-	| Some name -> name
-	| None      -> Define.default_config_dir ^ "/oxenstored.conf"
+  match cf.config_file with
+  | Some name -> name
+  | None      -> Define.default_config_dir ^ "/oxenstored.conf"
 
 let default_pidfile = Paths.xen_run_dir ^ "/xenstored.pid"
 
 let ring_scan_interval = ref 20
 
 let parse_config filename =
-	let pidfile = ref default_pidfile in
-	let options = [
-		("merge-activate", Config.Set_bool Transaction.do_coalesce);
-		("conflict-burst-limit", Config.Set_float Define.conflict_burst_limit);
-		("conflict-max-history-seconds", Config.Set_float Define.conflict_max_history_seconds);
-		("conflict-rate-limit-is-aggregate", Config.Set_bool Define.conflict_rate_limit_is_aggregate);
-		("perms-activate", Config.Set_bool Perms.activate);
-		("perms-watch-activate", Config.Set_bool Perms.watch_activate);
-		("quota-activate", Config.Set_bool Quota.activate);
-		("quota-maxwatch", Config.Set_int Define.maxwatch);
-		("quota-transaction", Config.Set_int Define.maxtransaction);
-		("quota-maxentity", Config.Set_int Quota.maxent);
-		("quota-maxsize", Config.Set_int Quota.maxsize);
-		("quota-maxrequests", Config.Set_int Define.maxrequests);
-		("quota-maxoutstanding", Config.Set_int Define.maxoutstanding);
-		("quota-maxwatchevents", Config.Set_int Define.maxwatchevents);
-		("quota-path-max", Config.Set_int Define.path_max);
-		("gc-max-overhead", Config.Set_int Define.gc_max_overhead);
-		("test-eagain", Config.Set_bool Transaction.test_eagain);
-		("persistent", Config.Set_bool Disk.enable);
-		("xenstored-log-file", Config.String Logging.set_xenstored_log_destination);
-		("xenstored-log-level", Config.String
-			(fun s -> Logging.xenstored_log_level := Logging.level_of_string s));
-		("xenstored-log-nb-files", Config.Set_int Logging.xenstored_log_nb_files);
-		("xenstored-log-nb-lines", Config.Set_int Logging.xenstored_log_nb_lines);
-		("xenstored-log-nb-chars", Config.Set_int Logging.xenstored_log_nb_chars);
-		("access-log-file", Config.String Logging.set_access_log_destination);
-		("access-log-nb-files", Config.Set_int Logging.access_log_nb_files);
-		("access-log-nb-lines", Config.Set_int Logging.access_log_nb_lines);
-		("access-log-nb-chars", Config.Set_int Logging.access_log_nb_chars);
-		("access-log-read-ops", Config.Set_bool Logging.access_log_read_ops);
-		("access-log-transactions-ops", Config.Set_bool Logging.access_log_transaction_ops);
-		("access-log-special-ops", Config.Set_bool Logging.access_log_special_ops);
-		("allow-debug", Config.Set_bool Process.allow_debug);
-		("ring-scan-interval", Config.Set_int ring_scan_interval);
-		("pid-file", Config.Set_string pidfile);
-		("xenstored-kva", Config.Set_string Domains.xenstored_kva);
-		("xenstored-port", Config.Set_string Domains.xenstored_port); ] in
-	begin try Config.read filename options (fun _ _ -> raise Not_found)
-	with
-	| Config.Error err -> List.iter (fun (k, e) ->
-		match e with
-		| "unknown key" -> eprintf "config: unknown key %s\n" k
-		| _             -> eprintf "config: %s: %s\n" k e
-		) err;
-	| Sys_error m -> eprintf "error: config: %s\n" m;
-	end;
-	!pidfile
+  let pidfile = ref default_pidfile in
+  let options = [
+    ("merge-activate", Config.Set_bool Transaction.do_coalesce);
+    ("conflict-burst-limit", Config.Set_float Define.conflict_burst_limit);
+    ("conflict-max-history-seconds", Config.Set_float Define.conflict_max_history_seconds);
+    ("conflict-rate-limit-is-aggregate", Config.Set_bool Define.conflict_rate_limit_is_aggregate);
+    ("perms-activate", Config.Set_bool Perms.activate);
+    ("perms-watch-activate", Config.Set_bool Perms.watch_activate);
+    ("quota-activate", Config.Set_bool Quota.activate);
+    ("quota-maxwatch", Config.Set_int Define.maxwatch);
+    ("quota-transaction", Config.Set_int Define.maxtransaction);
+    ("quota-maxentity", Config.Set_int Quota.maxent);
+    ("quota-maxsize", Config.Set_int Quota.maxsize);
+    ("quota-maxrequests", Config.Set_int Define.maxrequests);
+    ("quota-maxoutstanding", Config.Set_int Define.maxoutstanding);
+    ("quota-maxwatchevents", Config.Set_int Define.maxwatchevents);
+    ("quota-path-max", Config.Set_int Define.path_max);
+    ("gc-max-overhead", Config.Set_int Define.gc_max_overhead);
+    ("test-eagain", Config.Set_bool Transaction.test_eagain);
+    ("persistent", Config.Set_bool Disk.enable);
+    ("xenstored-log-file", Config.String Logging.set_xenstored_log_destination);
+    ("xenstored-log-level", Config.String
+       (fun s -> Logging.xenstored_log_level := Logging.level_of_string s));
+    ("xenstored-log-nb-files", Config.Set_int Logging.xenstored_log_nb_files);
+    ("xenstored-log-nb-lines", Config.Set_int Logging.xenstored_log_nb_lines);
+    ("xenstored-log-nb-chars", Config.Set_int Logging.xenstored_log_nb_chars);
+    ("access-log-file", Config.String Logging.set_access_log_destination);
+    ("access-log-nb-files", Config.Set_int Logging.access_log_nb_files);
+    ("access-log-nb-lines", Config.Set_int Logging.access_log_nb_lines);
+    ("access-log-nb-chars", Config.Set_int Logging.access_log_nb_chars);
+    ("access-log-read-ops", Config.Set_bool Logging.access_log_read_ops);
+    ("access-log-transactions-ops", Config.Set_bool Logging.access_log_transaction_ops);
+    ("access-log-special-ops", Config.Set_bool Logging.access_log_special_ops);
+    ("allow-debug", Config.Set_bool Process.allow_debug);
+    ("ring-scan-interval", Config.Set_int ring_scan_interval);
+    ("pid-file", Config.Set_string pidfile);
+    ("xenstored-kva", Config.Set_string Domains.xenstored_kva);
+    ("xenstored-port", Config.Set_string Domains.xenstored_port); ] in
+  begin try Config.read filename options (fun _ _ -> raise Not_found)
+    with
+    | Config.Error err -> List.iter (fun (k, e) ->
+        match e with
+        | "unknown key" -> eprintf "config: unknown key %s\n" k
+        | _             -> eprintf "config: %s: %s\n" k e
+      ) err;
+    | Sys_error m -> eprintf "error: config: %s\n" m;
+  end;
+  !pidfile
 
 module DB = struct
 
-exception Bad_format of string
+  exception Bad_format of string
 
-let dump_format_header = "$xenstored-dump-format"
+  let dump_format_header = "$xenstored-dump-format"
 
-let from_channel_f chan global_f evtchn_f socket_f domain_f watch_f store_f =
-	let unhexify s = Utils.unhexify s in
-	let getpath s =
-		let u = Utils.unhexify s in
-		debug "Path: %s" u;
-		Store.Path.of_string u in
-	let header = input_line chan in
-	if header <> dump_format_header then
-		raise (Bad_format "header");
-	let quit = ref false in
-	while not !quit
-	do
-		try
-			let line = input_line chan in
-			let l = String.split ',' line in
-			try
-				match l with
-				| "global" :: rw :: _ ->
-					(* there might be more parameters here,
-					   e.g. a RO socket from a previous version: ignore it *)
-					global_f ~rw
-				| "evtchn-dev" :: fd :: domexc_port :: [] ->
-					evtchn_f ~fd:(int_of_string fd)
-						 ~domexc_port:(int_of_string domexc_port)
-				| "socket" :: fd :: [] ->
-					socket_f ~fd:(int_of_string fd)
-				| "dom" :: domid :: mfn :: remote_port :: rest ->
-					let local_port = match rest with
-						  | [] -> None (* backward compat: old version didn't have it *)
-						  | local_port :: _ -> Some (int_of_string local_port) in
-					domain_f ?local_port
-						 ~remote_port:(int_of_string remote_port)
-						 (int_of_string domid)
-						 (Nativeint.of_string mfn)
-				| "watch" :: domid :: path :: token :: [] ->
-					watch_f (int_of_string domid)
-					        (unhexify path) (unhexify token)
-				| "store" :: path :: perms :: value :: [] ->
-					store_f (getpath path)
-					        (Perms.Node.of_string (unhexify perms ^ "\000"))
-					        (unhexify value)
-				| _ ->
-					warn "restoring: ignoring unknown line: %s" line
-			with exn ->
-				warn "restoring: ignoring unknown line: %s (exception: %s)"
-				     line (Printexc.to_string exn);
-				()
-		with End_of_file ->
-			quit := true
-	done;
-	info "Completed loading xenstore dump"
+  let from_channel_f chan global_f evtchn_f socket_f domain_f watch_f store_f =
+    let unhexify s = Utils.unhexify s in
+    let getpath s =
+      let u = Utils.unhexify s in
+      debug "Path: %s" u;
+      Store.Path.of_string u in
+    let header = input_line chan in
+    if header <> dump_format_header then
+      raise (Bad_format "header");
+    let quit = ref false in
+    while not !quit
+    do
+      try
+        let line = input_line chan in
+        let l = String.split ',' line in
+        try
+          match l with
+          | "global" :: rw :: _ ->
+            (* there might be more parameters here,
+               					   e.g. a RO socket from a previous version: ignore it *)
+            global_f ~rw
+          | "evtchn-dev" :: fd :: domexc_port :: [] ->
+            evtchn_f ~fd:(int_of_string fd)
+              ~domexc_port:(int_of_string domexc_port)
+          | "socket" :: fd :: [] ->
+            socket_f ~fd:(int_of_string fd)
+          | "dom" :: domid :: mfn :: remote_port :: rest ->
+            let local_port = match rest with
+              | [] -> None (* backward compat: old version didn't have it *)
+              | local_port :: _ -> Some (int_of_string local_port) in
+            domain_f ?local_port
+              ~remote_port:(int_of_string remote_port)
+              (int_of_string domid)
+              (Nativeint.of_string mfn)
+          | "watch" :: domid :: path :: token :: [] ->
+            watch_f (int_of_string domid)
+              (unhexify path) (unhexify token)
+          | "store" :: path :: perms :: value :: [] ->
+            store_f (getpath path)
+              (Perms.Node.of_string (unhexify perms ^ "\000"))
+              (unhexify value)
+          | _ ->
+            warn "restoring: ignoring unknown line: %s" line
+        with exn ->
+          warn "restoring: ignoring unknown line: %s (exception: %s)"
+            line (Printexc.to_string exn);
+          ()
+      with End_of_file ->
+        quit := true
+    done;
+    info "Completed loading xenstore dump"
 
-let from_channel store cons domains_init chan =
-	(* don't let the permission get on our way, full perm ! *)
-	let op = Store.get_ops store Perms.Connection.full_rights in
-	let rwro = ref (None) in
-	let doms = ref (None) in
+  let from_channel store cons domains_init chan =
+    (* don't let the permission get on our way, full perm ! *)
+    let op = Store.get_ops store Perms.Connection.full_rights in
+    let rwro = ref (None) in
+    let doms = ref (None) in
 
-	let require_doms () =
-		match !doms with
-		| None ->
-			warn "No event channel file descriptor available in dump!";
-		        let domains = domains_init @@ Event.init () in
-		        doms := Some domains;
-		        domains
-		| Some d -> d
-	in
-	let global_f ~rw =
-		let get_listen_sock sockfd =
-			let fd = sockfd |> int_of_string |> Utils.FD.of_int in
-			Unix.listen fd 1;
-			Some fd
-		in
-		rwro := get_listen_sock rw
-	in
-	let evtchn_f ~fd ~domexc_port =
-		let evtchn = Event.init ~fd ~domexc_port () in
-		doms := Some(domains_init evtchn)
-	in
-	let socket_f ~fd =
-		let ufd = Utils.FD.of_int fd in
-		let is_valid = try (Unix.fstat ufd).Unix.st_kind = Unix.S_SOCK with _ -> false in
-		if is_valid then
-			Connections.add_anonymous cons ufd
-		else
-			warn "Ignoring invalid socket FD %d" fd
-	in
-	let domain_f ?local_port ~remote_port domid mfn =
-		let doms = require_doms () in
-		let ndom =
-			if domid > 0 then
-				Domains.create ?local_port ~remote_port doms domid mfn
-			else
-				Domains.create0 ?local_port doms
-			in
-		Connections.add_domain cons ndom;
-		in
-	let get_con id =
-		if id < 0 then Connections.find cons (Utils.FD.of_int (-id))
-		else Connections.find_domain cons id
-	in
-	let watch_f id path token =
-		ignore (Connections.add_watch cons (get_con id) path token)
-		in
-	let store_f path perms value =
-		op.Store.write path value;
-		op.Store.setperms path perms
-		in
-	from_channel_f chan global_f evtchn_f socket_f domain_f watch_f store_f;
-	!rwro, require_doms ()
+    let require_doms () =
+      match !doms with
+      | None ->
+        warn "No event channel file descriptor available in dump!";
+        let domains = domains_init @@ Event.init () in
+        doms := Some domains;
+        domains
+      | Some d -> d
+    in
+    let global_f ~rw =
+      let get_listen_sock sockfd =
+        let fd = sockfd |> int_of_string |> Utils.FD.of_int in
+        Unix.listen fd 1;
+        Some fd
+      in
+      rwro := get_listen_sock rw
+    in
+    let evtchn_f ~fd ~domexc_port =
+      let evtchn = Event.init ~fd ~domexc_port () in
+      doms := Some(domains_init evtchn)
+    in
+    let socket_f ~fd =
+      let ufd = Utils.FD.of_int fd in
+      let is_valid = try (Unix.fstat ufd).Unix.st_kind = Unix.S_SOCK with _ -> false in
+      if is_valid then
+        Connections.add_anonymous cons ufd
+      else
+        warn "Ignoring invalid socket FD %d" fd
+    in
+    let domain_f ?local_port ~remote_port domid mfn =
+      let doms = require_doms () in
+      let ndom =
+        if domid > 0 then
+          Domains.create ?local_port ~remote_port doms domid mfn
+        else
+          Domains.create0 ?local_port doms
+      in
+      Connections.add_domain cons ndom;
+    in
+    let get_con id =
+      if id < 0 then Connections.find cons (Utils.FD.of_int (-id))
+      else Connections.find_domain cons id
+    in
+    let watch_f id path token =
+      ignore (Connections.add_watch cons (get_con id) path token)
+    in
+    let store_f path perms value =
+      op.Store.write path value;
+      op.Store.setperms path perms
+    in
+    from_channel_f chan global_f evtchn_f socket_f domain_f watch_f store_f;
+    !rwro, require_doms ()
 
-let from_file store cons doms file =
-	info "Loading xenstore dump from %s" file;
-	let channel = open_in file in
-	finally (fun () -> from_channel store doms cons channel)
-	        (fun () -> close_in channel)
+  let from_file store cons doms file =
+    info "Loading xenstore dump from %s" file;
+    let channel = open_in file in
+    finally (fun () -> from_channel store doms cons channel)
+      (fun () -> close_in channel)
 
-let to_channel store cons (rw, evtchn) chan =
-	let hexify s = Utils.hexify s in
+  let to_channel store cons (rw, evtchn) chan =
+    let hexify s = Utils.hexify s in
 
-	fprintf chan "%s\n" dump_format_header;
-	let fdopt = function None -> -1 | Some fd ->
-		(* systemd and utils.ml sets it close on exec *)
-		Unix.clear_close_on_exec fd;
-		Utils.FD.to_int fd in
-	fprintf chan "global,%d\n" (fdopt rw);
+    fprintf chan "%s\n" dump_format_header;
+    let fdopt = function None -> -1 | Some fd ->
+      (* systemd and utils.ml sets it close on exec *)
+      Unix.clear_close_on_exec fd;
+      Utils.FD.to_int fd in
+    fprintf chan "global,%d\n" (fdopt rw);
 
-	(* dump evtchn device info *)
-	Event.dump evtchn chan;
+    (* dump evtchn device info *)
+    Event.dump evtchn chan;
 
-	(* dump connections related to domains: domid, mfn, eventchn port/ sockets, and watches *)
-	Connections.iter cons (fun con -> Connection.dump con chan);
+    (* dump connections related to domains: domid, mfn, eventchn port/ sockets, and watches *)
+    Connections.iter cons (fun con -> Connection.dump con chan);
 
-	(* dump the store *)
-	Store.dump_fct store (fun path node ->
-		let name, perms, value = Store.Node.unpack node in
-		let fullpath = Store.Path.to_string (Store.Path.of_path_and_name path name) in
-		let permstr = Perms.Node.to_string perms in
-		fprintf chan "store,%s,%s,%s\n" (hexify fullpath) (hexify permstr) (hexify value)
-	);
-	flush chan;
-	()
+    (* dump the store *)
+    Store.dump_fct store (fun path node ->
+        let name, perms, value = Store.Node.unpack node in
+        let fullpath = Store.Path.to_string (Store.Path.of_path_and_name path name) in
+        let permstr = Perms.Node.to_string perms in
+        fprintf chan "store,%s,%s,%s\n" (hexify fullpath) (hexify permstr) (hexify value)
+      );
+    flush chan;
+    ()
 
 
-let to_file store cons fds file =
-	let channel = open_out_gen [ Open_wronly; Open_creat; Open_trunc; ] 0o600 file in
-	finally (fun () -> to_channel store cons fds channel)
-	        (fun () -> close_out channel)
+  let to_file store cons fds file =
+    let channel = open_out_gen [ Open_wronly; Open_creat; Open_trunc; ] 0o600 file in
+    finally (fun () -> to_channel store cons fds channel)
+      (fun () -> close_out channel)
 end
 
 (*
@@ -352,292 +352,292 @@ end
 *)
 
 let tweak_gc () =
-	Gc.set { (Gc.get ()) with Gc.max_overhead = !Define.gc_max_overhead }
+  Gc.set { (Gc.get ()) with Gc.max_overhead = !Define.gc_max_overhead }
 
 
 let () =
-	Printexc.set_uncaught_exception_handler Logging.fallback_exception_handler;
-	let cf = do_argv in
-	let pidfile =
-		if Sys.file_exists (config_filename cf) then
-			parse_config (config_filename cf)
-		else
-			default_pidfile
-		in
+  Printexc.set_uncaught_exception_handler Logging.fallback_exception_handler;
+  let cf = do_argv in
+  let pidfile =
+    if Sys.file_exists (config_filename cf) then
+      parse_config (config_filename cf)
+    else
+      default_pidfile
+  in
 
-	tweak_gc ();
+  tweak_gc ();
 
-	(try
-		Unixext.mkdir_rec (Filename.dirname pidfile) 0o755
-	with _ ->
-		()
-	);
+  (try
+     Unixext.mkdir_rec (Filename.dirname pidfile) 0o755
+   with _ ->
+     ()
+  );
 
-	let rw_sock =
-		if cf.disable_socket || cf.live_reload then
-			None
-		else
-			Some (Unix.handle_unix_error Utils.create_unix_socket Define.xs_daemon_socket)
-		in
+  let rw_sock =
+    if cf.disable_socket || cf.live_reload then
+      None
+    else
+      Some (Unix.handle_unix_error Utils.create_unix_socket Define.xs_daemon_socket)
+  in
 
-	if cf.daemonize && not cf.live_reload then
-		Unixext.daemonize ()
-	else
-		printf "Xen Storage Daemon, version %d.%d\n%!"
-			Define.xenstored_major Define.xenstored_minor;
+  if cf.daemonize && not cf.live_reload then
+    Unixext.daemonize ()
+  else
+    printf "Xen Storage Daemon, version %d.%d\n%!"
+      Define.xenstored_major Define.xenstored_minor;
 
-	(try Unixext.pidfile_write pidfile with _ -> ());
+  (try Unixext.pidfile_write pidfile with _ -> ());
 
-	(* for compatilibity with old xenstored *)
-	begin match cf.pidfile with
-	| Some pidfile -> Unixext.pidfile_write pidfile
-	| None         -> () end;
+  (* for compatilibity with old xenstored *)
+  begin match cf.pidfile with
+    | Some pidfile -> Unixext.pidfile_write pidfile
+    | None         -> () end;
 
-	let store = Store.create () in
-	let next_frequent_ops = ref 0. in
-	let advance_next_frequent_ops () =
-		next_frequent_ops := (Unix.gettimeofday () +. !Define.conflict_max_history_seconds)
-	in
-	let delay_next_frequent_ops_by duration =
-		next_frequent_ops := !next_frequent_ops +. duration
-	in
-	let domains_init eventchn = Domains.init eventchn advance_next_frequent_ops in
+  let store = Store.create () in
+  let next_frequent_ops = ref 0. in
+  let advance_next_frequent_ops () =
+    next_frequent_ops := (Unix.gettimeofday () +. !Define.conflict_max_history_seconds)
+  in
+  let delay_next_frequent_ops_by duration =
+    next_frequent_ops := !next_frequent_ops +. duration
+  in
+  let domains_init eventchn = Domains.init eventchn advance_next_frequent_ops in
 
-	let cons = Connections.create () in
+  let cons = Connections.create () in
 
-	let quit = ref false in
+  let quit = ref false in
 
-	Logging.init_xenstored_log();
-	List.iter (fun path ->
-		Store.write store Perms.Connection.full_rights path "") Store.Path.specials;
+  Logging.init_xenstored_log();
+  List.iter (fun path ->
+      Store.write store Perms.Connection.full_rights path "") Store.Path.specials;
 
-	let rw_sock, domains =
-	if cf.restart && Sys.file_exists Disk.xs_daemon_database then (
-		let rw, domains = DB.from_file store domains_init cons Disk.xs_daemon_database in
-		info "Live reload: database loaded";
-		Process.LiveUpdate.completed ();
-		rw, domains
-	) else (
-		info "No live reload: regular startup";
-		let domains = domains_init @@ Event.init () in
-		if !Disk.enable then (
-			info "reading store from disk";
-			Disk.read store
-		);
+  let rw_sock, domains =
+    if cf.restart && Sys.file_exists Disk.xs_daemon_database then (
+      let rw, domains = DB.from_file store domains_init cons Disk.xs_daemon_database in
+      info "Live reload: database loaded";
+      Process.LiveUpdate.completed ();
+      rw, domains
+    ) else (
+      info "No live reload: regular startup";
+      let domains = domains_init @@ Event.init () in
+      if !Disk.enable then (
+        info "reading store from disk";
+        Disk.read store
+      );
 
-		let localpath = Store.Path.of_string "/local" in
-		if not (Store.path_exists store localpath) then
-			Store.mkdir store (Perms.Connection.create 0) localpath;
+      let localpath = Store.Path.of_string "/local" in
+      if not (Store.path_exists store localpath) then
+        Store.mkdir store (Perms.Connection.create 0) localpath;
 
-		if cf.domain_init then (
-			Connections.add_domain cons (Domains.create0 domains);
-		);
-		rw_sock, domains
-	) in
+      if cf.domain_init then (
+        Connections.add_domain cons (Domains.create0 domains);
+      );
+      rw_sock, domains
+    ) in
 
-	(* For things that need to be done periodically but more often
-	 * than the periodic_ops function *)
-	let frequent_ops () =
-		if Unix.gettimeofday () > !next_frequent_ops then (
-			History.trim ();
-			Domains.incr_conflict_credit domains;
-			advance_next_frequent_ops ()
-		) in
+  (* For things that need to be done periodically but more often
+     	 * than the periodic_ops function *)
+  let frequent_ops () =
+    if Unix.gettimeofday () > !next_frequent_ops then (
+      History.trim ();
+      Domains.incr_conflict_credit domains;
+      advance_next_frequent_ops ()
+    ) in
 
-	(* required for xenstore-control to detect availability of live-update *)
-	let tool_path = Store.Path.of_string "/tool" in
-	if not (Store.path_exists store tool_path) then
-		Store.mkdir store Perms.Connection.full_rights tool_path;
-	Store.write store Perms.Connection.full_rights
-		(Store.Path.of_string "/tool/xenstored") Sys.executable_name;
+  (* required for xenstore-control to detect availability of live-update *)
+  let tool_path = Store.Path.of_string "/tool" in
+  if not (Store.path_exists store tool_path) then
+    Store.mkdir store Perms.Connection.full_rights tool_path;
+  Store.write store Perms.Connection.full_rights
+    (Store.Path.of_string "/tool/xenstored") Sys.executable_name;
 
-	Sys.set_signal Sys.sighup (Sys.Signal_handle sighup_handler);
-	Sys.set_signal Sys.sigterm (Sys.Signal_handle (fun _ ->
-		info "Received SIGTERM";
-		quit := true));
-	Sys.set_signal Sys.sigusr1 (Sys.Signal_handle (fun _ -> sigusr1_handler store));
-	Sys.set_signal Sys.sigpipe Sys.Signal_ignore;
+  Sys.set_signal Sys.sighup (Sys.Signal_handle sighup_handler);
+  Sys.set_signal Sys.sigterm (Sys.Signal_handle (fun _ ->
+      info "Received SIGTERM";
+      quit := true));
+  Sys.set_signal Sys.sigusr1 (Sys.Signal_handle (fun _ -> sigusr1_handler store));
+  Sys.set_signal Sys.sigpipe Sys.Signal_ignore;
 
-	let eventchn = Domains.eventchn domains in
+  let eventchn = Domains.eventchn domains in
 
-	if cf.activate_access_log then begin
-		let post_rotate () = DB.to_file store cons (None, eventchn) Disk.xs_daemon_database in
-		Logging.init_access_log post_rotate
-	end;
+  if cf.activate_access_log then begin
+    let post_rotate () = DB.to_file store cons (None, eventchn) Disk.xs_daemon_database in
+    Logging.init_access_log post_rotate
+  end;
 
-	let spec_fds =
-		(match rw_sock with None -> [] | Some x -> [ x ]) @
-		(if cf.domain_init then [ Event.fd eventchn ] else [])
-		in
+  let spec_fds =
+    (match rw_sock with None -> [] | Some x -> [ x ]) @
+    (if cf.domain_init then [ Event.fd eventchn ] else [])
+  in
 
-	let process_special_fds rset =
-		let accept_connection fd =
-			let (cfd, _addr) = Unix.accept fd in
-			debug "new connection through socket";
-			Connections.add_anonymous cons cfd
-		and handle_eventchn _fd =
-			let port = Event.pending eventchn in
-			debug "pending port %d" (Xeneventchn.to_int port);
-			finally (fun () ->
-				if port = eventchn.Event.domexc then (
-					let (notify, deaddom) = Domains.cleanup domains in
-					List.iter (Store.reset_permissions store) deaddom;
-					List.iter (Connections.del_domain cons) deaddom;
-					if deaddom <> [] || notify then
-						Connections.fire_spec_watches
-							(Store.get_root store)
-							cons Store.Path.release_domain
-				)
-				else
-					let c = Connections.find_domain_by_port cons port in
-					match Connection.get_domain c with
-					| Some dom -> Domain.incr_io_credit dom | None -> ()
-				) (fun () -> Event.unmask eventchn port)
-		and do_if_set fd set fct =
-			if List.mem fd set then
-				fct fd in
+  let process_special_fds rset =
+    let accept_connection fd =
+      let (cfd, _addr) = Unix.accept fd in
+      debug "new connection through socket";
+      Connections.add_anonymous cons cfd
+    and handle_eventchn _fd =
+      let port = Event.pending eventchn in
+      debug "pending port %d" (Xeneventchn.to_int port);
+      finally (fun () ->
+          if port = eventchn.Event.domexc then (
+            let (notify, deaddom) = Domains.cleanup domains in
+            List.iter (Store.reset_permissions store) deaddom;
+            List.iter (Connections.del_domain cons) deaddom;
+            if deaddom <> [] || notify then
+              Connections.fire_spec_watches
+                (Store.get_root store)
+                cons Store.Path.release_domain
+          )
+          else
+            let c = Connections.find_domain_by_port cons port in
+            match Connection.get_domain c with
+            | Some dom -> Domain.incr_io_credit dom | None -> ()
+        ) (fun () -> Event.unmask eventchn port)
+    and do_if_set fd set fct =
+      if List.mem fd set then
+        fct fd in
 
-		maybe (fun fd -> do_if_set fd rset accept_connection) rw_sock;
-		do_if_set (Event.fd eventchn) rset (handle_eventchn)
-	in
+    maybe (fun fd -> do_if_set fd rset accept_connection) rw_sock;
+    do_if_set (Event.fd eventchn) rset (handle_eventchn)
+  in
 
-	let ring_scan_checker dom =
-		(* no need to scan domains already marked as for processing *)
-		if not (Domain.get_io_credit dom > 0) then (
-			debug "Looking up domid %d" (Domain.get_id dom);
-			let con = Connections.find_domain cons (Domain.get_id dom) in
-			if not (Connection.has_more_work con) then (
-				Process.do_output store cons domains con;
-				Process.do_input store cons domains con;
-				if Connection.has_more_work con then
-					(* Previously thought as no work, but detect some after scan (as
-					   processing a new message involves multiple steps.) It's very
-					   likely to be a "lazy" client, bump its credit. It could be false
-					   positive though (due to time window), but it's no harm to give a
-					   domain extra credit. *)
-					let n = 32 + 2 * (Domains.number domains) in
-					info "found lazy domain %d, credit %d" (Domain.get_id dom) n;
-					Domain.set_io_credit ~n dom
-			)
-		) in
+  let ring_scan_checker dom =
+    (* no need to scan domains already marked as for processing *)
+    if not (Domain.get_io_credit dom > 0) then (
+      debug "Looking up domid %d" (Domain.get_id dom);
+      let con = Connections.find_domain cons (Domain.get_id dom) in
+      if not (Connection.has_more_work con) then (
+        Process.do_output store cons domains con;
+        Process.do_input store cons domains con;
+        if Connection.has_more_work con then
+          (* Previously thought as no work, but detect some after scan (as
+             					   processing a new message involves multiple steps.) It's very
+             					   likely to be a "lazy" client, bump its credit. It could be false
+             					   positive though (due to time window), but it's no harm to give a
+             					   domain extra credit. *)
+          let n = 32 + 2 * (Domains.number domains) in
+          info "found lazy domain %d, credit %d" (Domain.get_id dom) n;
+          Domain.set_io_credit ~n dom
+      )
+    ) in
 
-	let last_stat_time = ref 0. in
-	let last_scan_time = ref 0. in
+  let last_stat_time = ref 0. in
+  let last_scan_time = ref 0. in
 
-	let periodic_ops now =
-		debug "periodic_ops starting";
+  let periodic_ops now =
+    debug "periodic_ops starting";
 
-		(* scan all the xs rings as a safenet for ill-behaved clients *)
-		if !ring_scan_interval >= 0 && now > (!last_scan_time +. float !ring_scan_interval) then
-			(last_scan_time := now; Domains.iter domains ring_scan_checker);
+    (* scan all the xs rings as a safenet for ill-behaved clients *)
+    if !ring_scan_interval >= 0 && now > (!last_scan_time +. float !ring_scan_interval) then
+      (last_scan_time := now; Domains.iter domains ring_scan_checker);
 
-		(* make sure we don't print general stats faster than 2 min *)
-		if now > (!last_stat_time +. 120.) then (
-			info "Transaction conflict statistics for last %F seconds:" (now -. !last_stat_time);
-			last_stat_time := now;
-			Domains.iter domains (Domain.log_and_reset_conflict_stats (info "Dom%d caused %Ld conflicts"));
-			info "%Ld failed transactions; of these no culprit was found for %Ld" !Transaction.failed_commits !Transaction.failed_commits_no_culprit;
-			Transaction.reset_conflict_stats ();
+    (* make sure we don't print general stats faster than 2 min *)
+    if now > (!last_stat_time +. 120.) then (
+      info "Transaction conflict statistics for last %F seconds:" (now -. !last_stat_time);
+      last_stat_time := now;
+      Domains.iter domains (Domain.log_and_reset_conflict_stats (info "Dom%d caused %Ld conflicts"));
+      info "%Ld failed transactions; of these no culprit was found for %Ld" !Transaction.failed_commits !Transaction.failed_commits_no_culprit;
+      Transaction.reset_conflict_stats ();
 
-			let gc = Gc.stat () in
-			let (lanon, lanon_ops, lanon_watchs,
-			     ldom, ldom_ops, ldom_watchs) = Connections.stats cons in
-			let store_nodes, store_abort, store_coalesce = Store.stats store in
-			let symtbl_len, symtbl_entries = Symbol.stats () in
+      let gc = Gc.stat () in
+      let (lanon, lanon_ops, lanon_watchs,
+           ldom, ldom_ops, ldom_watchs) = Connections.stats cons in
+      let store_nodes, store_abort, store_coalesce = Store.stats store in
+      let symtbl_len, symtbl_entries = Symbol.stats () in
 
-			info "store stat: nodes(%d) t-abort(%d) t-coalesce(%d)"
-			     store_nodes store_abort store_coalesce;
-			info "sytbl stat: length(%d) entries(%d)" symtbl_len symtbl_entries;
-			info "  con stat: anonymous(%d, %d o, %d w) domains(%d, %d o, %d w)"
-			     lanon lanon_ops lanon_watchs ldom ldom_ops ldom_watchs;
-			info "  mem stat: minor(%.0f) promoted(%.0f) major(%.0f) heap(%d w, %d c) live(%d w, %d b) free(%d w, %d b)"
-			     gc.Gc.minor_words gc.Gc.promoted_words gc.Gc.major_words
-			     gc.Gc.heap_words gc.Gc.heap_chunks
-			     gc.Gc.live_words gc.Gc.live_blocks
-			     gc.Gc.free_words gc.Gc.free_blocks
-		);
-		let elapsed = Unix.gettimeofday () -. now in
-		debug "periodic_ops took %F seconds." elapsed;
-		if !quit then (
-			match Connections.prevents_quit cons with
-			| [] -> ()
-			| domains -> List.iter (fun con -> warn "%s prevents live update"
-								(Connection.get_domstr con)) domains
-		);
-		delay_next_frequent_ops_by elapsed
-	in
+      info "store stat: nodes(%d) t-abort(%d) t-coalesce(%d)"
+        store_nodes store_abort store_coalesce;
+      info "sytbl stat: length(%d) entries(%d)" symtbl_len symtbl_entries;
+      info "  con stat: anonymous(%d, %d o, %d w) domains(%d, %d o, %d w)"
+        lanon lanon_ops lanon_watchs ldom ldom_ops ldom_watchs;
+      info "  mem stat: minor(%.0f) promoted(%.0f) major(%.0f) heap(%d w, %d c) live(%d w, %d b) free(%d w, %d b)"
+        gc.Gc.minor_words gc.Gc.promoted_words gc.Gc.major_words
+        gc.Gc.heap_words gc.Gc.heap_chunks
+        gc.Gc.live_words gc.Gc.live_blocks
+        gc.Gc.free_words gc.Gc.free_blocks
+    );
+    let elapsed = Unix.gettimeofday () -. now in
+    debug "periodic_ops took %F seconds." elapsed;
+    if !quit then (
+      match Connections.prevents_quit cons with
+      | [] -> ()
+      | domains -> List.iter (fun con -> warn "%s prevents live update"
+                                 (Connection.get_domstr con)) domains
+    );
+    delay_next_frequent_ops_by elapsed
+  in
 
-	let period_ops_interval = 15. in
-	let period_start = ref 0. in
+  let period_ops_interval = 15. in
+  let period_start = ref 0. in
 
-	let main_loop () =
-		let is_peaceful c =
-			match Connection.get_domain c with
-			| None -> true (* Treat socket-connections as exempt, and free to conflict. *)
-			| Some dom -> not (Domain.is_paused_for_conflict dom)
-		in
-		frequent_ops ();
-		let mw = Connections.has_more_work cons in
-		let peaceful_mw = List.filter is_peaceful mw in
-		List.iter
-			(fun c ->
-			 match Connection.get_domain c with
-			 | None -> () | Some d -> Domain.incr_io_credit d)
-			peaceful_mw;
-		let start_time = Unix.gettimeofday () in
-		let timeout =
-			let until_next_activity =
-				if Domains.all_at_max_credit domains
-				then period_ops_interval
-				else min (max 0. (!next_frequent_ops -. start_time)) period_ops_interval in
-			if peaceful_mw <> [] then 0. else until_next_activity
-		in
-		let inset, outset = Connections.select ~only_if:is_peaceful cons in
-		let rset, wset, _ =
-		try
-			Poll.poll_select (spec_fds @ inset) outset [] timeout
-		with Unix.Unix_error(Unix.EINTR, _, _) ->
-			[], [], [] in
-		let sfds, cfds =
-			List.partition (fun fd -> List.mem fd spec_fds) rset in
-		if List.length sfds > 0 then
-			process_special_fds sfds;
+  let main_loop () =
+    let is_peaceful c =
+      match Connection.get_domain c with
+      | None -> true (* Treat socket-connections as exempt, and free to conflict. *)
+      | Some dom -> not (Domain.is_paused_for_conflict dom)
+    in
+    frequent_ops ();
+    let mw = Connections.has_more_work cons in
+    let peaceful_mw = List.filter is_peaceful mw in
+    List.iter
+      (fun c ->
+         match Connection.get_domain c with
+         | None -> () | Some d -> Domain.incr_io_credit d)
+      peaceful_mw;
+    let start_time = Unix.gettimeofday () in
+    let timeout =
+      let until_next_activity =
+        if Domains.all_at_max_credit domains
+        then period_ops_interval
+        else min (max 0. (!next_frequent_ops -. start_time)) period_ops_interval in
+      if peaceful_mw <> [] then 0. else until_next_activity
+    in
+    let inset, outset = Connections.select ~only_if:is_peaceful cons in
+    let rset, wset, _ =
+      try
+        Poll.poll_select (spec_fds @ inset) outset [] timeout
+      with Unix.Unix_error(Unix.EINTR, _, _) ->
+        [], [], [] in
+    let sfds, cfds =
+      List.partition (fun fd -> List.mem fd spec_fds) rset in
+    if List.length sfds > 0 then
+      process_special_fds sfds;
 
-		if List.length cfds > 0 || List.length wset > 0 then
-			process_connection_fds store cons domains cfds wset;
-		if timeout <> 0. then (
-			let now = Unix.gettimeofday () in
-			if now > !period_start +. period_ops_interval then
-				(period_start := now; periodic_ops now)
-		);
+    if List.length cfds > 0 || List.length wset > 0 then
+      process_connection_fds store cons domains cfds wset;
+    if timeout <> 0. then (
+      let now = Unix.gettimeofday () in
+      if now > !period_start +. period_ops_interval then
+        (period_start := now; periodic_ops now)
+    );
 
-		process_domains store cons domains
-		in
+    process_domains store cons domains
+  in
 
-	Systemd.sd_notify_ready ();
-	let live_update = ref false in
-	while not (!quit && Connections.prevents_quit cons = [])
-	do
-		try
-			main_loop ();
-			live_update := Process.LiveUpdate.should_run cons;
-			if !live_update || !quit then begin
-				(* don't initiate live update if saving state fails *)
-				DB.to_file store cons (rw_sock, eventchn) Disk.xs_daemon_database;
-				quit := true;
-			end
-		with exc ->
-			let bt = Printexc.get_backtrace () in
-			error "caught exception %s: %s" (Printexc.to_string exc) bt;
-			if cf.reraise_top_level then
-				raise exc
-	done;
-	info "stopping xenstored";
-	(* unlink pidfile so that launch-xenstore works again *)
-	Unixext.unlink_safe pidfile;
-	(match cf.pidfile with Some pidfile -> Unixext.unlink_safe pidfile | None -> ());
+  Systemd.sd_notify_ready ();
+  let live_update = ref false in
+  while not (!quit && Connections.prevents_quit cons = [])
+  do
+    try
+      main_loop ();
+      live_update := Process.LiveUpdate.should_run cons;
+      if !live_update || !quit then begin
+        (* don't initiate live update if saving state fails *)
+        DB.to_file store cons (rw_sock, eventchn) Disk.xs_daemon_database;
+        quit := true;
+      end
+    with exc ->
+      let bt = Printexc.get_backtrace () in
+      error "caught exception %s: %s" (Printexc.to_string exc) bt;
+      if cf.reraise_top_level then
+        raise exc
+  done;
+  info "stopping xenstored";
+  (* unlink pidfile so that launch-xenstore works again *)
+  Unixext.unlink_safe pidfile;
+  (match cf.pidfile with Some pidfile -> Unixext.unlink_safe pidfile | None -> ());
 
-	if !live_update then begin
-		Logging.live_update ();
-		Process.LiveUpdate.launch_exn !Process.LiveUpdate.state
-	end
+  if !live_update then begin
+    Logging.live_update ();
+    Process.LiveUpdate.launch_exn !Process.LiveUpdate.state
+  end
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 19:24:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 19:24:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.464995.723552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6GJp-00038a-B1; Fri, 16 Dec 2022 19:24:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 464995.723552; Fri, 16 Dec 2022 19:24:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6GJp-00038T-8H; Fri, 16 Dec 2022 19:24:29 +0000
Received: by outflank-mailman (input) for mailman id 464995;
 Fri, 16 Dec 2022 19:24:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6GJn-00038J-Uk; Fri, 16 Dec 2022 19:24:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6GJn-0005bc-Pv; Fri, 16 Dec 2022 19:24:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6GJn-0001e8-Fc; Fri, 16 Dec 2022 19:24:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6GJn-0008Tr-FC; Fri, 16 Dec 2022 19:24:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=R53i+tYKTzDeF7QewFecM8bJ7jgBF0d5nx4VWpz8GJI=; b=E14NzBqCIbq5BbDWy9Co8exdv2
	mfM7aHQ2zJTHl63wvy0AXoS6aCOqEIYHHpDfvxXK49sEFAyvn1rLdIIpfDlPMjAsVBNc8r3i7PB8c
	gmAbxFrTDfmJ7B/kA/jw2uww7OpEpRJUYcXz3zIXhC6WKHxJQ/M2Sgl30fr2WeQ/n++A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175314-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175314: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-amd64-coresched-amd64-xl:<job status>:broken:regression
    xen-unstable:test-amd64-coresched-amd64-xl:host-install(5):broken:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-libvirt:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-vhd:xen-install:fail:regression
    xen-unstable:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-freebsd10-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qcow2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-5:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-pygrub:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-examine-uefi:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine-bios:reboot:fail:regression
    xen-unstable:test-amd64-i386-livepatch:xen-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c8aaebccc8e8fb5d90080e664202b0011ce4d0bd
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 19:24:27 +0000

flight 175314 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175314/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl    <job status>                 broken
 test-amd64-coresched-amd64-xl  5 host-install(5)       broken REGR. vs. 175148
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 175148
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 175148
 test-xtf-amd64-amd64-2        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 175148
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 175148
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 175148
 test-amd64-i386-xl-vhd        7 xen-install              fail REGR. vs. 175148
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 175148
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 175148
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 175148
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 175148
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 175148
 test-amd64-i386-freebsd10-amd64  8 xen-boot              fail REGR. vs. 175148
 test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-xl-xsm        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 175148
 test-amd64-i386-qemut-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 175148
 test-amd64-i386-pair         12 xen-boot/src_host        fail REGR. vs. 175148
 test-amd64-i386-pair         13 xen-boot/dst_host        fail REGR. vs. 175148
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 175148
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 175148
 test-amd64-amd64-xl-qcow2     8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 175148
 test-amd64-amd64-qemuu-freebsd11-amd64  8 xen-boot       fail REGR. vs. 175148
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 175148
 test-xtf-amd64-amd64-5        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 175148
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 175148

Tests which did not succeed, but are not blocking:
 test-amd64-i386-livepatch     7 xen-install                  fail  like 175148
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175148
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175148
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175148
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175148
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175148
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175148
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175148
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  c8aaebccc8e8fb5d90080e664202b0011ce4d0bd
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175148  2022-12-12 01:53:19 Z    4 days
Failing since        175154  2022-12-12 15:07:03 Z    4 days    9 attempts
Testing same since   175314  2022-12-16 09:40:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien@xen.org>
  Luca Fancellu <luca.fancellu@arm.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Viresh Kumar <viresh.kumar@linaro.org>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       fail    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       fail    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                broken  
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              fail    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-coresched-amd64-xl broken
broken-step test-amd64-coresched-amd64-xl host-install(5)

Not pushing.

(No revision log; it would be 914 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 19:25:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 19:25:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465003.723566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6GKQ-0003fq-Mo; Fri, 16 Dec 2022 19:25:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465003.723566; Fri, 16 Dec 2022 19:25:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6GKQ-0003fj-Iv; Fri, 16 Dec 2022 19:25:06 +0000
Received: by outflank-mailman (input) for mailman id 465003;
 Fri, 16 Dec 2022 19:25:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Zr/=4O=citrix.com=prvs=342bb51ac=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p6GKP-0003V4-DV
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 19:25:05 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 55202481-7d77-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 20:25:03 +0100 (CET)
Received: from mail-co1nam11lp2170.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Dec 2022 14:24:57 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6956.namprd03.prod.outlook.com (2603:10b6:510:173::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Fri, 16 Dec
 2022 19:24:55 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Fri, 16 Dec 2022
 19:24:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55202481-7d77-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671218703;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=2zZDXiGexGiO4rjouJfy7iVvJzriAj1YhvUadpBkcqQ=;
  b=ac3TUQnEe/jQLMr7LwlMQEV+Lg28kCd/qr88nDaNWFQxHWe6RbXdy8yV
   MaRt3dtVk3I8jQLO650UaD0+wnt/So04qZtEq3jo5NzMKfGPsKiMxcR4N
   ctKyjnJeUjaxl7jRIsUZjROZAEj5BRj+TZE3vjoAeXqBOCJN+ke6AVzUZ
   c=;
X-IronPort-RemoteIP: 104.47.56.170
X-IronPort-MID: 88319517
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:2zTxLauN8CgRzBTFc50ZARox3OfnVHRfMUV32f8akzHdYApBsoF/q
 tZmKWiOa/3eMGrxfth/Oo+y904D75/VnYJiQFNqqCs9ESob+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWHySFOZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwdgg1Ug28g+yK3vG2ZeZdv5k9fPu2FdZK0p1g5Wmx4fcOZ7nmGvyPzvgBmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osjv60b4K9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPO3orac73QTMroAVIFpNUgWDs8vjsBSVAc0AO
 n4/xSMep6dnoSRHSfG4BXVUukWsvBQRRt5RGO0S8xyWx+zf5APxLngJSHtNZcIrsOcyRCc2z
 RmZktXxHzttvbaJD3WH+d+8sjeaKSUTa2gYakc5oRAt5tDipMQ4iUvJR9M6Saqt1ISqQXf33
 iyAqzU4i/MLl8kX2q6n/FfBxTWxupzOSQ1z7QLSNo640j5EiEeeT9TAwTDmATxodu51knHpU
 KA4pvWj
IronPort-HdrOrdr: A9a23:nLjs9a3tupbswqCM5loN5gqjBRV3eYIsimQD101hICG9Lfb45q
 Xe4sjzhCWb+VRhJ03Ix+ruScrwPU80raQFq7X4Pd+ZLX3bURiTXcxfBOrZsmDd8kjFh59gPM
 hbAuBD4bHLfCpHZKXBkVWF+rQbsZK6GcmT7I+0owYIPGYaEtAZnnwJcHfnYz0GNzWqHaBJcq
 Z1UKd8zQZJgxwsDviTPXUeU+/f4/nGjojvbxJDJxNP0mSzZFiTmcnH+m2jr14jukR0sMEfGA
 b+4nnEz5TmntSD9wTd2WHe9P1t6encI+94dZyxYqh8EES+tu/kXvVNZ1VM1ApF+N1Grz0R4f
 DxiiZlG/42x2Laf2mzrxeo8w780Aw243un7VODm3PsreHwWTp/LdFAi4Jfeh6csiMbzYtB+Z
 MO+1jcm4tcDBvGkii4z9/UVytynk7xhXY5i+Ycg1FWTINbTqRQo4wZ9EYQOpYdGyDR7pwhDY
 BVfZrhzccTVWnfQ2HSv2FpztDpdnMvHi2eSkxHgcCR2yg+pgE/86O1rPZvtksoxdYYcd1p9u
 7EOqNnmPVlVckNd5tnCOMAW8esTkTLXBLXKWqXZW7sHKYsPXXRp4/riY9F2d2CSdgt9t8fiZ
 7BWFRXuSoZYET1E/SU0JlK6BzWBE2gQDXE0KhllqNEk4y5YICuHTyISVgoncflie4YGNfjQP
 q2OIhbGbvKMXbuI4BUxAfzMqMiEUU2YYkwgJIWSliOqsXEJsnBrerAas/JKL7sCzo/HkviH3
 0tWiPsLN5M4k3DYA7DvDHhH1fWPmDv95N5F6bXu8IJzpIWD5ZBtggOhU78x8GQNDtYosUNDX
 VDCYKitpn+iXi9/G7O4WksEAFaFFxt+7nlU2lHv0stKEP7cbEKvv+beWxUwVu/DhJzVM/NCm
 dk1nNK0JPyC6bV6TEpCtqhPG7fpWAUvmiyVJsZmreO/4PdYZUzAow9VKE0PhWONBpoggFjrW
 dFZmY/N3DiPwKrrZ/goI0fBenZedU5qhysO9Rssn7atV+Rv4UUbF5zZU+TbeenxSIVAxZEjF
 x49KESxJCanyy0EHAyhOQjPEcJVX+eB6heCh+ZWZ5dlb/qcjttRlqbnDDysWALRkPas2Epwk
 DxJyydfv/GRnBHvGpD673n9FNven/YQll5bWpit5ZhKH/PtXly29Kaf6bb6Rq2VnIyhsUmdB
 3VazobJQ1jg/qt0gSOpTqEHXI6gr0zI+30Ft0YApPu80LoDLfNubANHvdS8pogHsvpqPU3Xe
 WWfBLQBC/kCtkuxxeeqh8eSQpJQUEf4NbVMSDenUiFNT8EcNvvyW1dNp8my5f21Rmwex7OuK
 8Joe7c8ICLQzfMg5C9uP6nSwKq7Hvo0DqLpqoT2NxpVJkJxfhO90Oya0qf6Jh25mRoEC69rj
 JQfE1a2sHrBmY9Rb05R8qulmBZzehm2yMQw0rL60UFDGAQZjngTvy0youNkKEoBEKZogv2JB
 2wzw1xls21bxer5PoiEKQ3Ln1RaE8grFJY3M3HWbHxJWyRBtJ+FHzTCA7tAYtgoWy+aOtgmy
 qSTOv42tO/Zm79wkTdrDF7KqVB/yKsSca/Bw+FAqpT/8e7NU7Jgqyx/ca1hjuySTbTUTVYuW
 VvHXZgIPirSgNSyLEfw2y3UOj6s0glm1xR7XV6jFL33oCn5WzcDAVcNxHFgpJZVTdeNWXNlN
 /C++SDznjxiQI1m6UrPH0gPu1zJw==
X-IronPort-AV: E=Sophos;i="5.96,251,1665460800"; 
   d="scan'208";a="88319517"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VsraaAv2HimShC1n8L/KOcbiKtmwTwkH/5PDw+EYbAtjMaYLHaKv8LfuTi4t7fWCHO8zB4cnoUQfUdRZjFE70/ZXX964rx8HewXdEUsLzz+w98w4W8PTVxt9vjS7p3xeGoushYoXga1B0BvQrePyxG0faCBewjl9UbJPraBkjosfoTNeJfS1OxJumSFtele4CUGroB0wQCtrP6RHmzBhjbS56qjt4JFMrRfDqLtrUIoSaZWR0S1fOz3K6yEq3EOm/UAEiz6S5Pyu1q3kD34mQpai14Xz0YWM7WVqRzAeNZZ9kPloWwxxCc2PbHkTQhbKfWc3c3y/VeGakXhGBfxCnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2zZDXiGexGiO4rjouJfy7iVvJzriAj1YhvUadpBkcqQ=;
 b=nptynYfSA+qIu4ZEHC+QSVuVb4xa5ABirj5jr01cuX0J2UKeXhJVp+zl64RmlbktrVxUc/yJu7KSvZ1cvoQo+1KfwdD6DY0cspaBoGqvhNO3VKUSEHaoYmeCOAjgnFR+toBfNvgdIHTeafJRDYPiLX1xPZUMsJ19WXwP0IoMc10u6l0BBYeT+ykD3SZ+gessE/B5Oscicw2c3vO/iQbXQ1LeMs0CL1vV7UwxWaVQssRFmwC3VVsljpLu1lRI0UuTqNJKW30se5/sXnX5Jit6JKEKdoQaUS5r32yPXpXz6dnkOPHZkuADobyaqT6BdqYgQ2TfkzDgnfOqOSP/YCWLqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2zZDXiGexGiO4rjouJfy7iVvJzriAj1YhvUadpBkcqQ=;
 b=RmUEOgr/N00BFmau335DKRNf/s6mExCitf6KvpVhIUeizNxfO5cWrVoI4URrbXlWWOzLfj5JAOJzJxDLoBlVtY8VZ4cQAmJhivivYaBuzydYtThQapYGB1ry4G5FBLq1qAqTZht2hPotEGvmcZDcT4UF7BIgM877meTW4nA8+Bg=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: George Dunlap <George.Dunlap@citrix.com>, Wei Liu <wl@xen.org>, Roger Pau
 Monne <roger.pau@citrix.com>
Subject: Re: [PATCH 1/2] x86/mm: avoid phys_to_nid() calls for invalid
 addresses
Thread-Topic: [PATCH 1/2] x86/mm: avoid phys_to_nid() calls for invalid
 addresses
Thread-Index: AQHZDuc9jXw99mNebki+EqZyGC5j4q5w6lcA
Date: Fri, 16 Dec 2022 19:24:54 +0000
Message-ID: <c982fec2-53ba-f448-e073-967925f61bbf@citrix.com>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
 <d503a684-1689-ef60-23e8-5eb6b33ab5c8@suse.com>
In-Reply-To: <d503a684-1689-ef60-23e8-5eb6b33ab5c8@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|PH0PR03MB6956:EE_
x-ms-office365-filtering-correlation-id: 00f09e58-90ed-41b9-22c9-08dadf9b3643
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 pWHtlqO9h/nQcEp0uA2lacmlMcAU6uQyZ7N3R8w2JntwhDtzXzeC5feJ7fjUG4WA76gp0PLvM5tTQ976/YXpuSAr95zdTCfIiiFKkPuDYnROUdOP4wTBwBm0+lUZtDet5vOIA4Z2s4D6wcbUrJzN/RbmYCmIf+UBs//2zcbkdTzeLQOu9pBTGUE6lLhbai+aFvoK2WgbnipvJR4hs/deF5yPkzm+yi4UGnJ4hQpoGtuJx5tzYG4RsXqVfJ8dZk4g0BzPwbFGDp0eIy3dzyzPzr3sl1/uN2duGRCRReSVCE4mWHwh5Y/slgujt4EZB4n0jJTLb8mnqHh1qRY/q7P32pDiJqbT+LtGywKaA2rXWw2O+0GYlC7kTcvSARcTQZfBazg8y+7+8Br3mV7DZetagiM2A2p9RzpoKxT3mqDCHkAmrP8iAMpa8LRI5Jzfk2GIJ7++e8gKv+cn74VyBV14LIVmX1yTopMq7xFGxuv/j1xti+t1+ZF6MekIqLLy9QSjZGj/jIlIHQLfvhGtYmLVy2FscHzY9G870tLQngRUBliTfQNbqEI8giZjjhF8qwksAhqhO/gXaNpu0Br+rA2KirPA7ITDtRZGcXbyrSCMiHhN69beZ/PyNBGqZcwTy45RpOgEUS8bkDi23GG81yCH4vVqNXRIpULMX7IL++9wbMz4aS1XnJwDurbdUX9duL6N7QwcN5Z/mYaEvqnvviP0vdAhQKxNwNGOfgYMFRFwdrodNJXJwNvLm+DaNGRUGMXHjbUOuz0zOf2wBihwq6YOrg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(376002)(396003)(39860400002)(366004)(451199015)(83380400001)(86362001)(31696002)(122000001)(38100700002)(38070700005)(2906002)(5660300002)(41300700001)(8936002)(4326008)(53546011)(107886003)(26005)(66476007)(8676002)(186003)(6512007)(64756008)(91956017)(66556008)(316002)(6506007)(2616005)(66946007)(66446008)(6486002)(110136005)(54906003)(478600001)(31686004)(66899015)(71200400001)(76116006)(82960400001)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?d3dkWlp4U2RHQmtqdnZZYWM3V0hmR1RCcDArNGRkT1BMaDJFNkZZL0ZPcmlR?=
 =?utf-8?B?dmJaR25GZnpFVkxNTmoyaW5OeVNab3JrTE9PcDhYb1pjMVN1WlA5THdpVGdY?=
 =?utf-8?B?WnZtWVliZTJsVDUvUGxvMHZBVzdvNzA5akRiWDBwRmVNaEw3STI1NFVEbmxj?=
 =?utf-8?B?bnQyTGVCNVYwOWNiTldrYVRReE4wTmhmSXNYU01WYVhlOTdoTUhOKzF3eTht?=
 =?utf-8?B?WTJlMS9xSW5ENjV2SGxPYXNnL1VNTHZZN0pQNTRVT2NVSERPRXB2TGNqOFVk?=
 =?utf-8?B?S2hwNTN0OHdSeGZFU2FZK3NBdFJYeFN6cmkzbHdRdUczcXpqMElkMlFnaHJQ?=
 =?utf-8?B?ckJnSHRIc2FuMWxkNVFMNk1KQm5nV1BLRTNIOThEQ0EzOFBOLy9JaHdpai91?=
 =?utf-8?B?b1A0MW1OUndjbVNlaGFSRFBxb282SVFQSExGVlYwMUh3TEVEMTgrS0Rta1hp?=
 =?utf-8?B?em9WNkU4cjFjQ2JCSnFDVmhqNUxQa014SWFLUklMT1NwTHB0M2FZOTlNUSt6?=
 =?utf-8?B?dnVTV0I4ZFh2YXBMYWxpblNkcTRrRG5ONFhRd3RxUzFKMHg4d3NlRXRHanFB?=
 =?utf-8?B?ZWlHdnMzN1V2QnRWeEJDd3RWeTF0SjdDVklxTEpVdUlVSi9HSEVVcDhxRlN4?=
 =?utf-8?B?bEhqSGorc2IyL2I2NldHUlFtUDJOWVJuQ3FBSkk5d1lSQVQyYUIwOTdQa29i?=
 =?utf-8?B?cS9pSzZGeWlweXZuQVA1bkpDdmE4Q0tFODA1UHNpMnhoWXIrY0tCTXRkeUtT?=
 =?utf-8?B?M01wejdPRVNNZjZ5Mk5xQmdoWEZvb2NjYU5CeE5pVVI2ZkJ0OFhrd3FwQjRR?=
 =?utf-8?B?NklQWmxod3ZoSWU5VW9vQUpUZ3NYVUtaMjRFVUxvVU1WM0k1YmR1VGFSeGRq?=
 =?utf-8?B?d1ZMaWt4RVJWRVVlaDFwd1lBYTU5bUZCdUY1QmpNUmVYcnFWVDd5bW9xbTNI?=
 =?utf-8?B?dnpzZTE3M0M4ZlBXbld5Z2xlVmdpeGJjeWZPSnhyRXBKNnA0NW8vR1JjN285?=
 =?utf-8?B?TXArRFJUMU11VFI3VXgvN0ZlbnVadGpTQTBLNkJ2R3VDME5odlgreWlCdFFW?=
 =?utf-8?B?cCtQT1ZQWEx1UHF0OERWN01uSkVYaVlHeEJNbGlhazVQK05jVFZuOHU3ZHdY?=
 =?utf-8?B?OUVlRzhHMzlXbFNML2dWTmt3dC9vVXBzVWl3a1JJeTNFYytxUmk3RlhGV3N4?=
 =?utf-8?B?NVpJdjJIc0hZYjVnL2VzN0hOS1laQjd1VVhiazF3RGVjQ202aXpibHpWSktp?=
 =?utf-8?B?YTUxUW9BanRxWXVMT2Q0ZDlIVUtkeHBZa094aG9qclJWT1VqM3JldUpmejJa?=
 =?utf-8?B?cXhwUSs1N0JpUjl2Z3Z4ZlJJWlpONWttaEVMM2srWWppUWt4eTU3SkJhNEF2?=
 =?utf-8?B?M3VMNWhkN2hYa25BdTlwWCt4NkZiY292Rm0xSmYyU3hzOTRsMk5Ka054SzU2?=
 =?utf-8?B?dTVkWjZSRjBpcHZkd1JmT3FrR3d0Tk8xOEsrT25XZytuOC9UbExVbU94Ui82?=
 =?utf-8?B?LzVJSUxuSWpKUndnbU5xcTZET0p1SGhkNlV3Yk9VcXJESG1va0h0c2ZUMWhN?=
 =?utf-8?B?bmhjMHRJUzM2NFFhcWN2ZUZ3OGV3dFNscGFHZG5rR0J3U2hVWVhtSXVONFla?=
 =?utf-8?B?dC8xOFY2WnRrb1BQTk00TC84aEhEYkNQUjZYeThVWDdxQjZzU0VaakVpZTdN?=
 =?utf-8?B?VGMxeUlOOHhPeWdYaUs3Y1hvek4rN3pUQ0dzVFNDRWdmV1ZxNXl6SlA3Rk03?=
 =?utf-8?B?blo0amZNZm13OFMvWnJhc281cDZnalgzRHBMZ3BoOHJOOG4wckNtOVNtVE9C?=
 =?utf-8?B?SjYyMHNkczl0SlVTZFc3eUxPYmlmOW1JQVl2NG1OYjZJdjErV1ZwOTc5RXVa?=
 =?utf-8?B?ZkpYK0g3Q1BjUWdPWHhIV0N1NTVVd3FEWUszdEExcThhQjY3TXFuVENORm9D?=
 =?utf-8?B?dU1tMGZrTVZ0K0o1RzY5UGVDR0ZBN1Y4a09EQVg4eGJvZUY0eW0zQjc1ZU5q?=
 =?utf-8?B?NTBkQm5zNVkySldwdWI0Z1BpVGdVbWtvbkJyY1VoSkRieXZiK0RBQndhQXVh?=
 =?utf-8?B?VjdtaU9aQmlBSjFHSjBsRG0xWTdwNGViU21ROG1SS1huY2ptbFBCUVZSWEVj?=
 =?utf-8?Q?S+PqbuZi2S444GPqzs2fQoYj4?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F7E3426990A31345A8321B37D2CADB64@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 00f09e58-90ed-41b9-22c9-08dadf9b3643
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Dec 2022 19:24:54.9484
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: FhIqXepz7vbKW4OJ1+9YdTyKMwOAdQSR50CQ0MGnVjBU9vyHlBRCawg6U6M7KuYka615O8IpmZ7SR2yMukBOlg5jXV1GkaCdt5vI3Srtaf4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6956

T24gMTMvMTIvMjAyMiAxMTozNiBhbSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IFdpdGggcGh5c190
b19uaWQoKSBub3cgYWN0aXZlbHkgY2hlY2tpbmcgdGhhdCBhIHZhbGlkIG5vZGUgSUQgaXMgb24N
Cj4gcmVjb3JkLCB0aGUgdHdvIHVzZXMgaW4gcGFnaW5nX2luaXQoKSBjYW4gYWN0dWFsbHkgdHJp
Z2dlciBhdCBsZWFzdCB0aGUNCj4gMm5kIG9mIHRoZSBhc3NlcnRpb25zIHRoZXJlLiBUaGV5J3Jl
IHVzZWQgdG8gY2FsY3VsYXRlIGFsbG9jYXRpb24gZmxhZ3MsDQo+IGJ1dCB0aGUgY2FsY3VsYXRl
ZCBmbGFncyB3b3VsZG4ndCBiZSB1c2VkIHdoZW4gZGVhbGluZyB3aXRoIGFuIGludmFsaWQNCj4g
KHVucG9wdWxhdGVkKSBhZGRyZXNzIHJhbmdlLiBEZWZlciB0aGUgY2FsY3VsYXRpb25zIHN1Y2gg
dGhhdCB0aGV5IGNhbg0KPiBiZSBkb25lIHdpdGggYSB2YWxpZGF0ZWQgTUZOIGluIGhhbmRzLiBU
aGlzIGFsc28gZG9lcyBhd2F5IHdpdGggdGhlDQo+IGFydGlmaWNpYWwgY2FsY3VsYXRpb25zIG9m
IGFuIGFkZHJlc3MgdG8gcGFzcyB0byBwaHlzX3RvX25pZCgpLg0KPg0KPiBOb3RlIHRoYXQgd2hp
bGUgdGhlIHZhcmlhYmxlIGlzIHByb3ZhYmx5IHdyaXR0ZW4gYmVmb3JlIHVzZSwgYXQgbGVhc3QN
Cj4gc29tZSBjb21waWxlciB2ZXJzaW9ucyBjYW4ndCBhY3R1YWxseSB2ZXJpZnkgdGhhdC4gSGVu
Y2UgdGhlIHZhcmlhYmxlDQo+IGFsc28gbmVlZHMgdG8gZ2FpbiBhIChkZWFkKSBpbml0aWFsaXpl
ci4NCg0KSSdtIG5vdCBzdXJwcmlzZWQgaW4gdGhlIHNsaWdodGVzdCB0aGF0IEdDQyBjYW4ndCBw
cm92ZSB0aGF0IGl0IGlzDQphbHdheXMgaW5pdGlhbGlzZWQuwqAgSSBzdXNwZWN0IGEgbG90IG9m
IGh1bWFucyB3b3VsZCBzdHJ1Z2dsZSB0b28uDQoNCj4gRml4ZXM6IGU5YzcyZDUyNGZiZCAoInhl
bi94ODY6IFVzZSBBU1NFUlQgaW5zdGVhZCBvZiBWSVJUVUFMX0JVR19PTiBmb3IgcGh5c190b19u
aWQiKQ0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoN
ClRoaXMgZG9lcyBhcHBlYXIgdG8gZml4IHRoaW5ncy7CoCAoVGVzdGluZyBoYXNuJ3QgZmluaXNo
ZWQgeWV0LCBidXQgYWxsDQpzeXN0ZW1zIGhhdmUgaW5zdGFsbGVkLCBhbmQgdGhleSBkaWRuJ3Qg
Z2V0IHRoYXQgZmFyIHByZXZpb3VzbHkpLg0KDQo+IC0tLQ0KPiBSRkM6IFdpdGggc21hbGwgZW5v
dWdoIGEgTlVNQSBoYXNoIHNoaWZ0IGl0IHdvdWxkIHN0aWxsIGJlIHBvc3NpYmxlIHRvDQo+ICAg
ICAgaGl0IGFuIFNSQVQgaG9sZSwgZGVzcGl0ZSBtZm5fdmFsaWQoKSBwYXNzaW5nLiBIZW5jZSwg
bGlrZSB3YXMgdGhlDQo+ICAgICAgb3JpZ2luYWwgcGxhbiwgaXQgbWF5IHN0aWxsIGJlIG5lY2Vz
c2FyeSB0byByZWxheCB0aGUgY2hlY2tpbmcgaW4NCj4gICAgICBwaHlzX3RvX25pZCgpIChvciBp
dHMgZGVzaWduYXRlZCByZXBsYWNlbWVudHMpLiBBdCB3aGljaCBwb2ludCB0aGUNCj4gICAgICB2
YWx1ZSBvZiB0aGlzIGNoYW5nZSBoZXJlIHdvdWxkIHNocmluayB0byBtZXJlbHkgcmVkdWNpbmcg
dGhlDQo+ICAgICAgY2hhbmNlIG9mIHVuaW50ZW50aW9uYWxseSBkb2luZyBOVU1BX05PX05PREUg
YWxsb2NhdGlvbnMuDQoNCldoeSBkb2VzIHRoZSBOVU1BIHNoaWZ0IG1hdHRlcj/CoCBDYW4ndCB0
aGlzIG9jY3VyIGZvciBiYWRseSBjb25zdHJ1Y3RlZA0KU1JBVCB0YWJsZXMgdG9vPw0KDQoNCk5l
dmVydGhlbGVzcywgdGhpcyBpcyBhIGNsZWFyIGltcHJvdmVtZW50IG92ZXIgd2hhdCdzIGN1cnJl
bnRseSBpbiB0cmVlLA0Kc28gSSdtIGdvaW5nIHRvIGNvbW1pdCBpdCB0byB0cnkgYW5kIHVuYmxv
Y2sgT1NTVGVzdC7CoCBUaGUgdHJlZSBoYXMgYmVlbg0KYmxvY2tlZCBmb3IgdG9vIGxvbmcuwqAg
RnVydGhlciBhZGp1c3RtZW50cyBjYW4gY29tZSBpbiBkdWUgY291cnNlLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 20:18:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 20:18:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465019.723583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6H9f-0001La-VU; Fri, 16 Dec 2022 20:18:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465019.723583; Fri, 16 Dec 2022 20:18:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6H9f-0001LT-SL; Fri, 16 Dec 2022 20:18:03 +0000
Received: by outflank-mailman (input) for mailman id 465019;
 Fri, 16 Dec 2022 20:18:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Zr/=4O=citrix.com=prvs=342bb51ac=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p6H9f-0001LH-7S
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 20:18:03 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb6ffae7-7d7e-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 21:18:00 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb6ffae7-7d7e-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671221880;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=S6FzN93gtSC3Nd88id0fqMKXDA+tulWU9iDOGYxt1H0=;
  b=fJzwQsc1Guy47cm009bY5Z1jmqFqYdLuo2ZvQb3tdVnnXsFSKg2pYIhX
   Zw36XloXzY08xXLZHAp+QWthyfHCKqgd2l9anYJ9GdifEZ/g+LV+uxmVV
   raD8DhWeY+O69p8cAKDcAXGxX0vIsqhkGhcZX0utocPTG+zCKNlZTFrpG
   g=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 87781711
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:N5LK3qrtzBluVgcG6+RXu5PhPCheBmINZRIvgKrLsJaIsI4StFCzt
 garIBmFPfiPMDH8ftokYYm0oUgG7J/WyodiTAc5qSA1Qn4W+JuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzidNV/rzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXACkJQRCbnLqw+bOia8BWt8ICBpnSGoxK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFHU/rSn8/x7pX7WxRepEiYuuwc5G/LwRYq+LPsLMDUapqBQsA9ckOw9
 j2Zrz2mW0hy2Nq3lwbf41n0gP7zjAyiBrgfBZe59sFwjwjGroAUIEJPDgbqyRWjsWahX/pPJ
 kpS/TAhxYAi+UruQtTjUhmQpH+fogVaS9dWC/c96gyG1uzT+QnxLkouQyNFadcmnNQrXjFs3
 ViM9+4FHhQ27ufTEyjEsO7J83XiYkD5MFPuewcdSSQF+8K7prgylzPmdOdlMYTlt/v6TGSYL
 y+xkAAygLAajMgu3qq9/Ezajz/EmqUlXjLZ9S2MADv7s1oRiJqNItXxtAOFtaoowJOxFAHpg
 ZQSpySJAAni57mpnTfFfugCFarBCx2tYGyF2g4H83XMGl2QF5+fkWJ4umkWyKRBaJxsldrVj
 Kj752tsCGd7ZifCUEOOS9vZ5z4W5abhD8/5cfvfc8BDZJN8HCfeon43PxfNgTm3yxlz+U3aB
 Xt8WZ/8ZUv29Iw9lGbmLwvj+eFDKt8CKZP7GsmgkkXPPUu2b3+JU7YVWGZinchghJ5oVD79q
 o4FX+PTkkU3bQELSnWPmWLlBQxQfCdT6FGfg5A/S9Nv1SI9QDB4UqaJm+l5E2Gn9owM/tr1E
 riGchcw4DLCabfvc21mtlgLhGvTYKtC
IronPort-HdrOrdr: A9a23:x9Vmm6glD4YQcH+bJ5Yqb+jXLHBQXh4ji2hC6mlwRA09TyX5ra
 2TdZUgpHrJYVMqMk3I9uruBEDtex3hHP1OkOss1NWZPDUO0VHARO1fBOPZqAEIcBeOldK1u5
 0AT0B/YueAd2STj6zBkXSF+wBL+qj6zEiq792usEuEVWtRGsVdB58SMHfiLqVxLjM2YqYRJd
 6nyedsgSGvQngTZtTTPAh/YwCSz+e78q4PeHQ9dmca1DU=
X-IronPort-AV: E=Sophos;i="5.96,251,1665460800"; 
   d="scan'208";a="87781711"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH v2-ish] x86/boot: Factor move_xen() out of __start_xen()
Date: Fri, 16 Dec 2022 20:17:49 +0000
Message-ID: <20221216201749.32164-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20211207105339.28440-1-andrew.cooper3@citrix.com>
References: <20211207105339.28440-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Partly for clarity because there is a lot of subtle magic at work here.
Expand the commentary of what's going on.

Also, because there is no need to double copy the stack (32kB) to retrieve
local values spilled to the stack under the old alias, when all of the
aforementioned local variables are going out of scope anyway.

There is also a logic change when walking l2_xenmap[].  The old logic would
skip recursing into 4k mappings; this would corrupt Xen if it were used.
There are no 4k mappings in l2_xenmap[] this early on boot, so assert the
property instead of leaving a latent breakage.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

We probably want to drop PGE from XEN_MINIMAL_CR4.  It will simplify several
boot paths which don't need to care about global pages, and PGE is conditional
anyway now with the PCID support.

v2-ish:
 * Split out previous series.  Was previously "x86/boot: Don't double-copy the
   stack during physical relocation" reworked to remove the risk of losing
   local stack updated we might care about.

Note that putting a printk() in the critical region wouldn't have worked even
with the old logic, and is not a reduction in functionality caused by this
patch avoiding the second stack copy.
---
 xen/arch/x86/setup.c | 178 +++++++++++++++++++++++++++++++--------------------
 1 file changed, 108 insertions(+), 70 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 4102aae76dde..830502f2d0d9 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -467,6 +467,113 @@ static void __init move_memory(
     }
 }
 
+static void __init noinline move_xen(void)
+{
+    l4_pgentry_t *pl4e;
+    l3_pgentry_t *pl3e;
+    l2_pgentry_t *pl2e;
+    unsigned long tmp;
+    int i, j, k;
+
+    /*
+     * The caller has selected xen_phys_start, ensuring that the old and new
+     * locations do not overlap.  Make it so.
+     *
+     * Prevent the compiler from reordering anything across this point.  Such
+     * things will end badly.
+     */
+    barrier();
+
+    /*
+     * Copy out of the current alias, into the directmap at the new location.
+     * This includes a snapshot of the current stack.
+     */
+    memcpy(__va(__pa(_start)), _start, _end - _start);
+
+    /*
+     * We are now in a critical region.  Any write (modifying a global,
+     * spilling a local to the stack, etc) via the current alias will get lost
+     * when we switch to the new pagetables.  This even means no printk()'s
+     * debugging purposes.
+     *
+     * Walk the soon-to-be-used pagetables in the new location, relocating all
+     * intermediate (non-leaf) entries to point to their new-location
+     * equivalents.  All writes are via the directmap alias.
+     */
+    pl4e = __va(__pa(idle_pg_table));
+    for ( i = 0 ; i < L4_PAGETABLE_ENTRIES; i++, pl4e++ )
+    {
+        if ( !(l4e_get_flags(*pl4e) & _PAGE_PRESENT) )
+            continue;
+
+        *pl4e = l4e_from_intpte(l4e_get_intpte(*pl4e) + xen_phys_start);
+        pl3e = __va(l4e_get_paddr(*pl4e));
+        for ( j = 0; j < L3_PAGETABLE_ENTRIES; j++, pl3e++ )
+        {
+            if ( !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) ||
+                 (l3e_get_flags(*pl3e) & _PAGE_PSE) )
+                continue;
+
+            *pl3e = l3e_from_intpte(l3e_get_intpte(*pl3e) + xen_phys_start);
+            pl2e = __va(l3e_get_paddr(*pl3e));
+            for ( k = 0; k < L2_PAGETABLE_ENTRIES; k++, pl2e++ )
+            {
+                if ( !(l2e_get_flags(*pl2e) & _PAGE_PRESENT) ||
+                     (l2e_get_flags(*pl2e) & _PAGE_PSE) )
+                    continue;
+
+                *pl2e = l2e_from_intpte(l2e_get_intpte(*pl2e) + xen_phys_start);
+            }
+        }
+    }
+
+    /*
+     * Walk the soon-to-be-used l2_xenmap[], relocating all the leaf mappings
+     * so text/data/bss etc refer to the new location in memory.
+     */
+    pl2e = __va(__pa(l2_xenmap));
+    for ( i = 0; i < L2_PAGETABLE_ENTRIES; i++, pl2e++ )
+    {
+        if ( !(l2e_get_flags(*pl2e) & _PAGE_PRESENT) )
+            continue;
+
+        /*
+         * We don't have 4k mappings in l2_xenmap[] at this point in boot, nor
+         * is this anticipated to change.  Simply assert the fact, rather than
+         * introducing dead logic to decend into l1 tables.
+         */
+        ASSERT(l2e_get_flags(*pl2e) & _PAGE_PSE);
+
+        *pl2e = l2e_from_intpte(l2e_get_intpte(*pl2e) + xen_phys_start);
+    }
+
+    /*
+     * Switch to relocated pagetables, shooting down global mappings as we go.
+     */
+    asm volatile (
+        "mov    %%cr4, %[cr4]\n\t"
+        "andb   $~%c[pge], %b[cr4]\n\t"
+        "mov    %[cr4], %%cr4\n\t"     /* CR4.PGE = 0 */
+        "mov    %[cr3], %%cr3\n\t"     /* CR3 = new pagetables */
+        "orb    $%c[pge], %b[cr4]\n\t"
+        "mov    %[cr4], %%cr4\n\t"     /* CR4.PGE = 1 */
+        : [cr4] "=&a" (tmp) /* Could be "r", but "a" makes better asm */
+        : [cr3] "r" (__pa(idle_pg_table)),
+          [pge] "i" (X86_CR4_PGE)
+        : "memory" );
+
+    /*
+     * End of the critical region.  Updates to locals and globals now work as
+     * expected.
+     *
+     * Updates to local variables which have been spilled to the stack since
+     * the memcpy() have been lost.  But we don't care, because they're all
+     * going out of scope imminently.
+     */
+
+    printk("New Xen image base address: %#lx\n", xen_phys_start);
+}
+
 #undef BOOTSTRAP_MAP_LIMIT
 
 static uint64_t __init consider_modules(
@@ -1255,81 +1362,12 @@ void __init noreturn __start_xen(unsigned long mbi_p)
          */
         if ( (end > s) && (end - reloc_size + XEN_IMG_OFFSET >= __pa(_end)) )
         {
-            l4_pgentry_t *pl4e;
-            l3_pgentry_t *pl3e;
-            l2_pgentry_t *pl2e;
-            int i, j, k;
-
             /* Select relocation address. */
             xen_phys_start = end - reloc_size;
             e = xen_phys_start + XEN_IMG_OFFSET;
             bootsym(trampoline_xen_phys_start) = xen_phys_start;
 
-            /*
-             * Perform relocation to new physical address.
-             * Before doing so we must sync static/global data with main memory
-             * with a barrier(). After this we must *not* modify static/global
-             * data until after we have switched to the relocated pagetables!
-             */
-            barrier();
-            memcpy(__va(__pa(_start)), _start, _end - _start);
-
-            /* Walk idle_pg_table, relocating non-leaf entries. */
-            pl4e = __va(__pa(idle_pg_table));
-            for ( i = 0 ; i < L4_PAGETABLE_ENTRIES; i++, pl4e++ )
-            {
-                if ( !(l4e_get_flags(*pl4e) & _PAGE_PRESENT) )
-                    continue;
-                *pl4e = l4e_from_intpte(l4e_get_intpte(*pl4e) +
-                                        xen_phys_start);
-                pl3e = __va(l4e_get_paddr(*pl4e));
-                for ( j = 0; j < L3_PAGETABLE_ENTRIES; j++, pl3e++ )
-                {
-                    /* Not present, 1GB mapping, or already relocated? */
-                    if ( !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) ||
-                         (l3e_get_flags(*pl3e) & _PAGE_PSE) )
-                        continue;
-                    *pl3e = l3e_from_intpte(l3e_get_intpte(*pl3e) +
-                                            xen_phys_start);
-                    pl2e = __va(l3e_get_paddr(*pl3e));
-                    for ( k = 0; k < L2_PAGETABLE_ENTRIES; k++, pl2e++ )
-                    {
-                        /* Not present, PSE, or already relocated? */
-                        if ( !(l2e_get_flags(*pl2e) & _PAGE_PRESENT) ||
-                             (l2e_get_flags(*pl2e) & _PAGE_PSE) )
-                            continue;
-                        *pl2e = l2e_from_intpte(l2e_get_intpte(*pl2e) +
-                                                xen_phys_start);
-                    }
-                }
-            }
-
-            /* Walk l2_xenmap[], relocating 2M superpage leaves. */
-            pl2e = __va(__pa(l2_xenmap));
-            for ( i = 0; i < L2_PAGETABLE_ENTRIES; i++, pl2e++ )
-            {
-                if ( !(l2e_get_flags(*pl2e) & _PAGE_PRESENT) ||
-                     !(l2e_get_flags(*pl2e) & _PAGE_PSE) )
-                    continue;
-
-                *pl2e = l2e_from_intpte(l2e_get_intpte(*pl2e) + xen_phys_start);
-            }
-
-            /* Re-sync the stack and then switch to relocated pagetables. */
-            asm volatile (
-                "rep movsq        ; " /* re-sync the stack */
-                "movq %%cr4,%%rsi ; "
-                "andb $0x7f,%%sil ; "
-                "movq %%rsi,%%cr4 ; " /* CR4.PGE == 0 */
-                "movq %[pg],%%cr3 ; " /* CR3 == new pagetables */
-                "orb $0x80,%%sil  ; "
-                "movq %%rsi,%%cr4   " /* CR4.PGE == 1 */
-                : "=&S" (i), "=&D" (i), "=&c" (i) /* All outputs discarded. */
-                :  [pg] "r" (__pa(idle_pg_table)), "0" (cpu0_stack),
-                   "1" (__va(__pa(cpu0_stack))), "2" (STACK_SIZE / 8)
-                : "memory" );
-
-            printk("New Xen image base address: %#lx\n", xen_phys_start);
+            move_xen();
         }
 
         /* Is the region suitable for relocating the multiboot modules? */
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 20:54:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 20:54:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465029.723597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6HiV-0005sX-Og; Fri, 16 Dec 2022 20:54:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465029.723597; Fri, 16 Dec 2022 20:54:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6HiV-0005sQ-Lo; Fri, 16 Dec 2022 20:54:03 +0000
Received: by outflank-mailman (input) for mailman id 465029;
 Fri, 16 Dec 2022 20:54:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Zr/=4O=citrix.com=prvs=342bb51ac=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p6HiU-0005s1-I4
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 20:54:02 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c2a6bd0a-7d83-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 21:54:00 +0100 (CET)
Received: from mail-dm6nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Dec 2022 15:53:55 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6986.namprd03.prod.outlook.com (2603:10b6:a03:436::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Fri, 16 Dec
 2022 20:53:49 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Fri, 16 Dec 2022
 20:53:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2a6bd0a-7d83-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671224040;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=/EBsvEOI499PfXBw7JeJBv/KuSyaexr/+L/6wbzMUCk=;
  b=S87dCJ8EEAQkc2b+Zl4LznrbmuAqXPvJRqHDlwC2NdzmT+qvwXz16ElE
   0ZpXmWvSbEEn0+b/GGRM5rKRV1XPhbwMzhar8MetswOIVgzZXER2iwLR9
   OyNEX30jt2RsM62eIgV8NIUZj6sqM2FVS5Jn4pdABx04DnwHiI0X64D0s
   4=;
X-IronPort-RemoteIP: 104.47.58.101
X-IronPort-MID: 88825952
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:BaJDZaODoa+qTvDvrR1klsFynXyQoLVcMsEvi/4bfWQNrUpxgTMOy
 mNJWGHXP/3ZZmX9eN0lbN++80gEscXSyN9jSAto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5wJmPpingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0tpUGUIVz
 eBDFDkIMCusrvydz++JWOY506zPLOGzVG8ekldJ6GiBSNoDH9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PpxujCKpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8efzXOhBdNPTtVU8NYtjVnD6nQoBSEodgWbnfyQ0w2GZspmf
 hl8Fi0G6PJaGFaQZtv3UgC8oXWElgUBQNcWGOo/gCmSzoLE7gDfAXILJhZRZdpjuMIoSDgC0
 l6Sg8ivFTFpqKeSS3+W6vGTtzzaESQYKG4qZCkaTBAE6d3uvIEyiB3USt9pVqWyi7XI9SrYx
 jmLqG0ygusVhMtSj6Gjpwmf2nSru4TDSRMz6kPPRGW54whlZYmjIYu19Vzc6vUGJ4GcJrWcg
 EU5dwGlxLhmJfmweOalGY3hwJnBCy65DQDh
IronPort-HdrOrdr: A9a23:htlh/Kl78Rf8LfhvCKaG6Pxi6W7pDfN1iWdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7SdK9qXO1z+8X3WGIVY3SEDUOy1HYVr2KirGSjAEIeheOu9K1sJ
 0NT0EQMqyWMbEXt6fHCUyDYq4dKbq8ge6VbIXlvhFQpGhRAskOgTuRSDzra3GeLzM2Z6bRYa
 Dsgvav0ADQHEj/AP7aOlA1G8z44/HbnpPvZhALQzQ97hOVsD+u4LnmVzCFwxY3SVp0sPcf2F
 mAtza8yrSosvm9xBOZ/XTU9Y5qlNzozcYGLNCQi/ISNi7nhm+TFcdcsvy5zXIISdOUmRIXee
 r30lAd1gNImjXsl1SO0F7QMs/boW8TAjHZuAelaDDY0LHErXoBerZ8bMRiA1rkAgMbza9BOO
 gg5RPni7NHSRzHhyjz/N7OSlVjkVe1u2MrlaoJg2VYSpZ2Us4YkWWxxjImLH4sJlON1GkcKp
 gmMOjMoPJNNV+KZXHQuWdihNSqQ3QoBx+DBkwPoNac3TRalG1wixJw/r1Uol4QsJYmD5VU7e
 XNNapl0LlIU88NdKp4QOMMW9G+BGDBSQ/FdGiSPVPkHqcaPG+lke+93JwloOWxPJAYxpo7n5
 rMFFteqG4pYkrrTdaD2ZVamyq9N1lVnQ6dvv22y6IJyYEUHoCbQBFrYGpe4/eIsrEYHtDRXe
 q1NdZfH+LjRFGebLp04w==
X-IronPort-AV: E=Sophos;i="5.96,251,1665460800"; 
   d="scan'208";a="88825952"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VzsFmoTqNHzNXE+AmuyfL1xoMxYu3llHkUgegnOcFhdUzT/GtIsHNJ5Se5Cl7KFabMzUy8oLSPxFon2RlWXsfU+0abFM1lqKL9tarDv+SBkkCqqpBK5zMQ6JCFPTBwp06zg1kQ09hBJr3TnzRLtYy16zn+a24wJi+B6sNjVdpM2yIq3IVDqezh6S96QOz1NtxgUBCnD399hjTENmsxIk78KDYdjzZpXOC4nRIuBsIqHSU0ROqRvPq8HZZpuZpiE/HbNhC/Vu65VFG2Sxe+rMk+QzZY8UaYRvZ9x5lQ+LLJiHXbBBLSueuow3pTnSDdRYMkTnma2qRvlhN5Mzn7r0QQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/EBsvEOI499PfXBw7JeJBv/KuSyaexr/+L/6wbzMUCk=;
 b=P+s0L3sAeuVVUH1xUkT3whorTfWS/tVdeo4s01jEoJKuEbKH25X4VFMxh4njUuym8bpi6qnE2WPhnPefoIAlO4YDKzWk6aFkm7yKjPVU39vVWx7y1jQtlYx/Ra3SyGjqywW/LquGj1n9CXmuniFkmSf+io7E9+S7TowzIhim9eTe8jkdZUnM2dwtcxWBkWliVZZDEcB4luLfT5ejHEPi8ABG3JwxL8U/MEryXExSSNhAvdDjg2D7/s7T0ZNWHIdMFU5i88sXyscvpg479LZ4Li32DZmZdupCburjbFK1PV10RBIs+6FTxPeS4uDYYVgdGWbHa3xY/6WabSn6lP50hQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/EBsvEOI499PfXBw7JeJBv/KuSyaexr/+L/6wbzMUCk=;
 b=EmjJn0ihrm2oFZZFemDC8GKJDE4f/uAQf+MRyfSo4jdbq2b8Ey3E0wnfnAs/0BR2ZkxTzlTTMlCmGNgxe+O+Dn17dIB/CtBBNNiR3DoPtsvpX3cnfZ+E32b+9bB1W/+UNRzWGfHYzdfEI4o72xPsnGkS5R6GvENKVaiKgDKSBDM=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, Edwin Torok <edvin.torok@citrix.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>, Demi Marie Obenour
	<demi@invisiblethingslab.com>
Subject: Re: [PATCH] x86/hvm: Improve hvm_set_guest_pat() code generation
 again
Thread-Topic: [PATCH] x86/hvm: Improve hvm_set_guest_pat() code generation
 again
Thread-Index: AQHYrL5RUAHVMa/wUEmdRSJMkDgnS62oK2YAgMmcG4A=
Date: Fri, 16 Dec 2022 20:53:49 +0000
Message-ID: <77198021-f45c-9d75-c1da-5022d3ca99a2@citrix.com>
References: <20220810133655.18040-1-andrew.cooper3@citrix.com>
 <74d0425a-a206-2bcb-50d6-e5bb4c5e2bf3@suse.com>
In-Reply-To: <74d0425a-a206-2bcb-50d6-e5bb4c5e2bf3@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6986:EE_
x-ms-office365-filtering-correlation-id: f3541d1d-d26a-4961-115e-08dadfa7a20a
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 3fetXiDFY7ubYgwfyNmMVULQqK1Kn2rvFLzJ6C6526IYPpE0UQ5Dt1w8oiP4apad6jCsrs0dEVn1FrtJhpZhk/05hzO2KhxtuT8VImx4Ju7O0ZfAr6NUgDZ/ReCwnqTxFb1Vu6bVRXl4dRw1W9tqnrV1uFRJ3Ylc2eUb7nE8h/BOv+N7YeZsgc4a+UbAQuGpe9l7bMd5FeApVNJb4ulC9jcA3x64eixv0RCOMnxClT8RS/+FPv4VCSAwBBMiRRntHU6jVS8R+90Q15BJ4nwvx2MxoR+5Ee0u3DWAwi1dfqr/waM58DlxMG8Ykusbjrbxp7n+GTjHCcGNZvpnH2rUJSz+GX4v9oPMNfDZq6CbOAMd5DQrc9xBkAraBKy7Jscx2l87HevYkKmS/tjo/fvjGNYoGIzfZk12bG1yq1no/OZTXT5os26piPXeW1Zs8CtUhQZVQ5HADgaGCETqvb0Oav53eyJelVcRJs9KVyH3zqtQ6QEBl4Ww+GAbN5B9pR3jOQitkrEy1HkHT+9ai5+3V7QODW3n//iu1Ee5oDzTjrHJkdus0PlF4hLSD3L4Ab8I2XYKuWBVAx7QyMj1WH5hUMsBoM4b1v7dHilhUBS4iHVJswvBJD4bXmWDwhsBM1JPAgTGTCArRM0yvhKO/ygCCPXH6Ihivfr2j9sdUuYHfWDzSAM1abtcSHrkC0jb/DMMG2HQSqa6ay+XdgxWxqbstKApsAt+2+KGz1rKF7WFiaq4FY7Gya5Opxp9Pvb3C4y7U4p73CIBml5QTvIwuM2cgV/2Y2sFRXMi9uKuFSk+RPk=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(396003)(136003)(39860400002)(366004)(451199015)(122000001)(38070700005)(82960400001)(38100700002)(36756003)(31696002)(86362001)(71200400001)(54906003)(66574015)(6506007)(110136005)(53546011)(6636002)(186003)(26005)(6486002)(966005)(6512007)(316002)(2616005)(478600001)(4326008)(8936002)(31686004)(8676002)(2906002)(5660300002)(66556008)(66446008)(66476007)(66946007)(64756008)(91956017)(76116006)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bTdxQkVMTE5iVHZYMWdHSmI2Q1dDM1NubDRoZTNhWHQ0S1RzVno4cTZoV1Bw?=
 =?utf-8?B?cDJPRjFMY0VMdVJscTZRVXREWUc5T3pRZlRqQ09qeC8vdXhGYjJ1T0wwL2pr?=
 =?utf-8?B?VEtBcE1OcEprdzBqa0NFTHlFTWx3UTJLSHZ2K0t1QVA5RXhsWUZ4aWY3R05W?=
 =?utf-8?B?c1pPVFFXdk84VlJuZGxzUU1KS1hjQVNvSUR0dnFJTVRwdDFqcVhtdGNybVRq?=
 =?utf-8?B?NGFzTEtiRUVqOWYyNlNuNnMxZGNCRitMNTd3MWtaV0VqSjJWTnZaOGljemU3?=
 =?utf-8?B?Rk5JdFd5WWxEdFRBSmgvcHU4QVoxeXN3aVZ6TkFYWEtTbHo5QTMzTVA0WmNr?=
 =?utf-8?B?cmhPcWZNWkFCUUg2b2lJalZUbjdwWjFGT1ArUG4vNVNMdWJIRU1mUHdXaE56?=
 =?utf-8?B?emhGTVVsVXpGc1IyU1BvRDVaTmN5SmNMenFqK1NPcU9iSGlucU9LZjFESmh5?=
 =?utf-8?B?ZHVXQjRwS3E4SFhlQkUyK25OYkZVT1lUWDQ4MGMxTHZnbldISlBoSEdWMVVX?=
 =?utf-8?B?UjZqeUdCZ2JGUXRpNkU3MXluWDhhaC8zQ3A0Q3dkSFdzQW5yVVpTR01yRlAw?=
 =?utf-8?B?MU5RRERIZGdsRHlmamQzV1V3NmdjdVFqSjhTdG96S1hhYmVwd3E2RklFY0hv?=
 =?utf-8?B?KzdITTEySnR5N2ZyeE85QXNtWGNJeDVBeE9ObjRsRWtUYUtsS0VtTkh5WjBC?=
 =?utf-8?B?dmNZWk1BVk12WEViRU9YNk9kOGFxUjBXb2pqOEhmTFdseXZycVFmM0h0YUdF?=
 =?utf-8?B?S1pJeU5lSDgvYTgxYlhaeGh5NGVuY1JqL3FaenNGemxPdTgreUdJYVhncEQw?=
 =?utf-8?B?UzN6UFEzWVIxclJ1ME56MUdhVTVabkhwTGwwOU1iL3p6QTFMNzI2dkd0WG1u?=
 =?utf-8?B?czU1akRwVWd4K25rUVhoN3FJeGx3ZkFxekQzZENiN3ZLRmROdHFoUko4OHl3?=
 =?utf-8?B?WjkzV29QYnROL3UrenpxSDNMZDE5cm5EamszK0d6dVkrTTJlL3VoMnIzN2xy?=
 =?utf-8?B?UUppY0F3b2ZvU094YzRLaGlubDNMTWdSSWxRS1NIQklKeU1GckJHSUhsT1F2?=
 =?utf-8?B?L3VteStPL1FIOVltTmMxckNUSWVWeXBtd0VQL3dGblZWL0xXRGt2NzAzWnc4?=
 =?utf-8?B?QnFlcWFOSGFaRUVPYkFSNEZkSEkyb29vRGhPQnUrTkVlR0JKK1h3U2RCRWoz?=
 =?utf-8?B?M0NidkFjNEpzdzFHdVp6L0FFcWVUMDkvVHVpZmtKY2JNcHJ0eXpSSlpSWWFR?=
 =?utf-8?B?WDA5bGRwWE1HTGFYZTRiZnRyQmtmUVNnVjhwcEwxM0tYdmFjSFpkRFFBU3BB?=
 =?utf-8?B?bFZOWWgyc2J1RFgzc3UzK2N6bkpJTlVXWjlMamZ5MU95SUc4MG1FVHoyUllu?=
 =?utf-8?B?RE56QlpOUDlOUzNURmNOcFdjNXIwUVJtNjdGT1ZUb0NFZFFJYTZiVU9zbWRR?=
 =?utf-8?B?b01NdC94djBhb3F4S0RnclBiNEFqU1cwWUZrTERmYndkTFBuMVFLYlREdzVB?=
 =?utf-8?B?dDJqWXVLaTUwb0RRcVQ1dDhNcHgwZnQvRGZoUE42Wm9IMEREY0Q0d0hROWFZ?=
 =?utf-8?B?VmFkWE1XQ3pEWFoxUVNrcHozS2xYcFgvb1Y5NWU4UG52MG1CMjVSdS9uTS9s?=
 =?utf-8?B?S1ZUYkNYbEwxMXMwZUkxbzUvemR5dStRMEtyN3puZ0VoOWRGM05DbFBJa1Vs?=
 =?utf-8?B?anpVbzhoRkRZMjRWd0t5TEh2aHA2cW1ETUVFT1BUVkNPSEVzUTNxdHZuTFV6?=
 =?utf-8?B?NmFmdmU1bnVvZENMdW9zNENGa2Q2TkRqMzVCUEF2VE4vN2J4NWxwS2F6bVIx?=
 =?utf-8?B?RXBOQmhyekFpNWlrcGNDVVgxNkFSSGQ4UkVxdE9kb3UzZXdUUjgrdTZrdVp5?=
 =?utf-8?B?T1dZK1RzNWZEdUduWE9sZjFLcDA4b2tpcFBNMlVEcU9hN2JzZ0tTQUpKN2xW?=
 =?utf-8?B?SFU4UWcyWXZLN1JLUE5DeHdyYjZwL3BjTnZMNUhYaHZSSlNRNGZKK1ZZeVJG?=
 =?utf-8?B?L05yMFU1L3NDU00xaEJpRFp5Uy9VTDROVEgveHMrMEdYcC8xdVR0cFlYem5m?=
 =?utf-8?B?RlozcXloUWU4QlNkRnVzV0VnRCtFVHNmdllLaitaOFMwMDB4VU5TVFN1WmM4?=
 =?utf-8?Q?46J5YNZIDLr9iGO13fUc8aj9u?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <06C09F47E49F3F46AF38298890B4F405@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f3541d1d-d26a-4961-115e-08dadfa7a20a
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Dec 2022 20:53:49.7135
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: LCKZwCJ/veLe+ADYmxPSKaj41NOlw0q8eifIzcafIk9S8FKmKmlvk7Kl9P7r8w0TgGHE89Ykb7zDS7huoqxzV7CM7506IXzexgAPrkaM3uM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6986

T24gMTAvMDgvMjAyMiAzOjA2IHBtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMTAuMDguMjAy
MiAxNTozNiwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4+IEZyb206IEVkd2luIFTDtnLDtmsgPGVk
dmluLnRvcm9rQGNpdHJpeC5jb20+DQo+Pg0KPj4gRm9sbG93aW5nIG9uIGZyb20gY3NldCA5Y2Uw
YTVlMjA3ZjMgKCJ4ODYvaHZtOiBJbXByb3ZlIGh2bV9zZXRfZ3Vlc3RfcGF0KCkNCj4+IGNvZGUg
Z2VuZXJhdGlvbiIpLCBhbmQgdGhlIGRpc2NvdmVyeSB0aGF0IENsYW5nL0xMVk0gbWFrZXMgc29t
ZSBlc3BlY2lhbGx5DQo+PiBkaXNhc3Ryb3VzIGNvZGUgZ2VuZXJhdGlvbiBmb3IgdGhlIGxvb3Ag
YXQgLU8yDQo+Pg0KPj4gICBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QvaXNz
dWVzLzU0NjQ0DQo+Pg0KPj4gRWR2aW4gZGVjaWRlZCB0byByZW1vdmUgdGhlIGxvb3AgZW50aXJl
bHkgYnkgZnVsbHkgdmVjdG9yaXNpbmcgaXQuICBUaGlzIGlzDQo+PiBzdWJzdGFudGlhbGx5IG1v
cmUgZWZmaWNpZW50IHRoYW4gdGhlIGxvb3AsIGFuZCByYXRoZXIgaGFyZGVyIGZvciBhIHR5cGlj
YWwNCj4+IGNvbXBpbGVyIHRvIG1lc3MgdXAuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogRWR3aW4g
VMO2csO2ayA8ZWR2aW4udG9yb2tAY2l0cml4LmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJl
dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo+IFRoZSBtYWluIGRvd25zaWRl
IGJlaW5nIHRoYXQgY2hhbmdpbmcgdGhlIGNvZGUgdG8gZml0IGluIGEgbmV3IFBBVA0KPiB0eXBl
IHdpbGwgbm93IGJlIGhhcmRlci4NCg0KV2hlbiB3YXMgdGhlIGxhc3QgUEFUIHR5cGUgY2hhbmdl
Pw0KDQpUcmljayBxdWVzdGlvbi7CoCBOZXZlciwgYmVjYXVzZSBQQVQgaGFzbid0IGNoYW5nZWQg
c2luY2UgaXQgd2FzDQppbnRyb2R1Y2VkIDI0IHllYXJzIGFnbyBpbiB0aGUgUGVudGl1bSBJSUku
DQoNCkkgcmVhbGx5IGRvbid0IHRoaW5rIHdlJ3JlIGluIGRhbmdlciBvZiBuZWVkaW5nIHRvIGNo
YW5nZSB0aGlzIGxvZ2ljLg0KDQo+IEkgd29uZGVyIGluIHBhcnRpY3VsYXIgd2hldGhlciB3aXRo
IHRoYXQNCj4gaW4gbWluZCBpdCB3b3VsZG4ndCBiZSBiZXR0ZXIgdG8gZXhwcmVzcyB0aGUgY2hl
Y2sgbm90IGluIHRlcm1zIG9mDQo+IHJlbGF0aW9ucywgYnV0IGluIHRlcm1zIG9mIHNldCAvIGNs
ZWFyIGJpdHMgKCJiaXRzIDMtNyBjbGVhciBBTkQNCj4gKGJpdCAyIHNldCBPUiBiaXQgMSBjbGVh
cikiKS4gVGhlIGNvZGUga2luZCBvZiBkb2VzIHNvIGFscmVhZHksIGJ1dA0KPiB0aGUgdmFyaWFi
bGUgbmFtZXMgZG9uJ3QgcmVmbGVjdCB0aGF0IChhbmQgd291bGQgaGVuY2UgbmVlZCB0bw0KPiBj
aGFuZ2UgaW4gc3VjaCBhbiBldmVudCkuDQoNClRoYXQgd291bGQgcmVkdWNlZCBjbGFyaXR5Lg0K
DQpUaGUgYml0cyBiZWluZyBzZXQgb3IgY2xlYXJlZCBhcmUgdHJpdmlhbCBmb3IgYW55IGRldmVs
b3BlciwgZ2l2ZW4gdGhlDQpwYXJ0aWN1bGFybHkgYmFzaWMgUkhTIGV4cHJlc3Npb25zLg0KDQpU
aGUgY29uc3RhbnQgbmFtZXMgYXJlIHdoYXQgcmVsYXRlIHRoZSBiaXQgcGF0dGVybnMgdG8gdGhl
IGRlc2NyaXB0aW9uDQpvZiB0aGUgcHJvYmxlbS4NCg0KPj4gLS0tIGEveGVuL2FyY2gveDg2L2h2
bS9odm0uYw0KPj4gKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYw0KPj4gQEAgLTMwMiwyNCAr
MzAyLDQzIEBAIHZvaWQgaHZtX2dldF9ndWVzdF9wYXQoc3RydWN0IHZjcHUgKnYsIHU2NCAqZ3Vl
c3RfcGF0KQ0KPj4gICAgICAgICAgKmd1ZXN0X3BhdCA9IHYtPmFyY2guaHZtLnBhdF9jcjsNCj4+
ICB9DQo+PiAgDQo+PiAtaW50IGh2bV9zZXRfZ3Vlc3RfcGF0KHN0cnVjdCB2Y3B1ICp2LCB1aW50
NjRfdCBndWVzdF9wYXQpDQo+PiArLyoNCj4+ICsgKiBNU1JfUEFUIHRha2VzIDggdW5pZm9ybSBm
aWVsZHMsIGVhY2ggb2Ygd2hpY2ggbXVzdCBiZSBhIHZhbGlkIGFyY2hpdGVjdHVyYWwNCj4+ICsg
KiBtZW1vcnkgdHlwZSAoMCwgMSwgNC03KS4gIFRoaXMgaXMgYSBmdWxseSB2ZWN0b3Jpc2VkIGZv
cm0gb2YgdGhlDQo+PiArICogOC1pdGVyYXRpb24gbG9vcCBvdmVyIGJ5dGVzIGxvb2tpbmcgZm9y
IFBBVF9UWVBFXyogY29uc3RhbnRzLg0KPiBXaGlsZSBncmVwLWluZyBmb3IgUEFUX1RZUEVfIHdp
bGwgaGl0IHRoaXMgbGluZSwgSSB0aGluayB3ZSB3YW50DQo+IGV2ZXJ5IGluZGl2aWR1YWwgdHlw
ZSB0byBhbHNvIGJlIGZvdW5kIGhlcmUgd2hlbiBncmVwLWluZyBmb3Igb25lLg0KPiBUaGUgYWN0
dWFsIHZhbHVlcyBhcmVuJ3QgZ29pbmcgdG8gY2hhbmdlLCBidXQgcGVyaGFwcyB0aGUgYmVhc3QN
Cj4gd2F5IHRvIGRvIHNvIHdvdWxkIHN0aWxsIGJlIGJ5IHdheSBvZiBCVUlMRF9CVUdfT04oKXMu
DQoNCldoeT/CoCBXaGF0IGRvZXMgdGhhdCBzb2x2ZSBvciBpbXByb3ZlPw0KDQoicGF0IiBpcyB0
aGUgdGhpbmcgcGVvcGxlIGFyZSBnb2luZyB0byBiZSBsb29raW5nIGZvciBpZiB0aGV5J3JlDQph
Y3R1YWxseSB0cnlpbmcgdG8gZmluZCB0aGlzIGxvZ2ljLg0KDQooQW5kIEkgYnJpbmcgdGhpcyBw
YXRjaCB1cCBzcGVjaWZpY2FsbHkgYWZ0ZXIgcmV2aWV3aW5nIERlbWkncyBzZXJpZXMsDQp3aGVy
ZSBQQVRfVFlQRV8qIGNoYW5nZXMgdG8gWDg2X01UXyogYnV0ICJwYXQiIGlzIHN0aWxsIHRoZSB1
c2VmdWwNCnNlYXJjaCB0ZXJtIElNTy4pDQoNCj4NCj4+ICsgKi8NCj4+ICtzdGF0aWMgYm9vbCBw
YXRfdmFsaWQodWludDY0X3QgdmFsKQ0KPj4gIHsNCj4+IC0gICAgdW5zaWduZWQgaW50IGk7DQo+
PiAtICAgIHVpbnQ2NF90IHRtcDsNCj4+ICsgICAgLyogWWllbGRzIGEgbm9uLXplcm8gdmFsdWUg
aW4gYW55IGxhbmUgd2hpY2ggaGFkIHZhbHVlIGdyZWF0ZXIgdGhhbiA3LiAqLw0KPj4gKyAgICB1
aW50NjRfdCBhbnlfZ3RfNyAgID0gIHZhbCAmIDB4ZjhmOGY4ZjhmOGY4ZjhmODsNCj4gVGhpcyBh
bmQgdGhlIG90aGVyIGNvbnN0YW50IHdhbnQgdG8gZ2FpbiBVTCBzdWZmaXhlcy4NCg0KRml4ZWQu
DQoNCj4gKFdoaWxlIEknbQ0KPiBvcGVuIHRvIGJlIGNvbnZpbmNlZCBvdGhlcndpc2Ugb24gdGhl
IGVhcmxpZXIgdHdvIHBvaW50cywgdGhpcyBvbmUNCj4gSSdtIGdvaW5nIHRvIGluc2lzdCBvbi4g
WWV0IGluIGNhc2UgaXQgd291bGQgZW5kIHVwIGJlaW5nIHRoZSBvbmx5DQo+IGNoYW5nZSBpbiBu
ZWVkIG9mIG1ha2luZywgaXQgY291bGQgb2YgY291cnNlIGJlIGRvbmUgd2hpbGUNCj4gY29tbWl0
dGluZy4pDQoNCkkndmUgdHdlYWtlZCB0aGUgZ3JhbW1hciBhIGJpdCwgYnV0IEkgZG9uJ3QgdGhp
bmsgdGhlIG90aGVyIGNoYW5nZXMNCndvdWxkIGJlIGFuIGltcHJvdmVtZW50Lg0KDQp+QW5kcmV3
DQo=


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 22:10:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 22:10:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465044.723620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Itz-0005ZS-QA; Fri, 16 Dec 2022 22:09:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465044.723620; Fri, 16 Dec 2022 22:09:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Itz-0005ZL-Mr; Fri, 16 Dec 2022 22:09:59 +0000
Received: by outflank-mailman (input) for mailman id 465044;
 Fri, 16 Dec 2022 22:09:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pR09=4O=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1p6Itz-0005ZF-58
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 22:09:59 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6019c3bd-7d8e-11ed-8fd4-01056ac49cbb;
 Fri, 16 Dec 2022 23:09:57 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id tz12so9261936ejc.9
 for <xen-devel@lists.xenproject.org>; Fri, 16 Dec 2022 14:09:57 -0800 (PST)
Received: from localhost.localdomain ([185.126.107.38])
 by smtp.gmail.com with ESMTPSA id
 q13-20020a1709064c8d00b007c0c91eae04sm1296517eju.151.2022.12.16.14.09.53
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Fri, 16 Dec 2022 14:09:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6019c3bd-7d8e-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=hMhMRrfCiDM1fa0HiJyQk7ZTpXu21fxE4Buljrx0cVk=;
        b=DGLIfMzFgbhCx8U0gJrnLdVfr6vNqJCmLKwwCgB/06+RjJ9EESzom6iuwGgZ2o9/14
         osuE1WRoEHQu5Dh12YDE5HQ+barQFHzPHyO4/l8QPyZaKK77fHJ+vTOTm8wpkiGacuLO
         BlmDKiwIWHUvNeYSu8Um/BHC44CmHP6wYhBlwsiYa+5PHfemAF6zQknYV6YIQaQPaHKh
         p2Dh6KPAYwSIt7318nhrD6hOgNMwEV6Cq0dLRWiMZ9doy4AdmoelCTY4HSrneWZrqmew
         eAAi92v+8//SYf/sihDMqYO8B/mx2LyRfM+N/+r0EaNbWx1OWSdg1ppTqA7oMjCM4z5q
         s9Qg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=hMhMRrfCiDM1fa0HiJyQk7ZTpXu21fxE4Buljrx0cVk=;
        b=CsX9pGeYW/1Ep2JzYOEaqQCWxEWzWODuBxl5WbCoNsT+lPiZkmzwPhW+kLYM2LOtPw
         Dbn1FJKsBK2ExUrLG9OrYAh0uxNHDIOA0R2+UF6AkjP5qQcBnifVZu3Icx4unR9E/lBE
         NSkyRHAtEhEUG+s8W41WfFY0wRYvfVxmGnfNsfhVAC5MtY2ytJqnytPdSqQyGvG4moUS
         XPBhyhfu51ebwcksgCkGRM/EVYRtVR2i/JB3hgFrIagKqX/7mI8HY+8pEs4hCPXfitVY
         RKlZmhp+o8wL8M147+ewg4xw1YXLDUWtqZ70Ple/S6iL/RDxZyZGZwsS3SVLInD0N291
         +Utw==
X-Gm-Message-State: ANoB5pkqI0y/XTr9Dev6a9k1SnD+x/mBIvnrfO3TdBKpuUQBj3gGu3fa
	TTLUdbJLCg7KSNuYJPvXj4+k6Q==
X-Google-Smtp-Source: AA0mqf4a7Q3VCzE8QqtlWCGCn+zcencuGtFvSPP8yFnBq4T2GBvrcWHojWn9FkNcy2XZwJiMkC/WkA==
X-Received: by 2002:a17:906:434f:b0:7ae:7ea:c76b with SMTP id z15-20020a170906434f00b007ae07eac76bmr18674080ejm.32.1671228596623;
        Fri, 16 Dec 2022 14:09:56 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: David Hildenbrand <david@redhat.com>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	xen-devel@lists.xenproject.org,
	Anthony Perard <anthony.perard@citrix.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	haxm-team@intel.com,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	kvm@vger.kernel.org,
	Wenchao Wang <wenchao.wang@intel.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Roman Bolshakov <r.bolshakov@yadro.com>,
	qemu-arm@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Cameron Esfahani <dirty@apple.com>,
	Kamil Rytarowski <kamil@netbsd.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Paul Durrant <paul@xen.org>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Yanan Wang <wangyanan55@huawei.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Peter Xu <peterx@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Thomas Huth <thuth@redhat.com>
Subject: [PATCH] exec: Rename NEED_CPU_H -> CONFIG_TARGET
Date: Fri, 16 Dec 2022 23:09:51 +0100
Message-Id: <20221216220951.7597-1-philmd@linaro.org>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

'NEED_CPU_H' guard target-specific code; it is defined by meson
altogether with the 'CONFIG_TARGET' definition. Since the latter
name is more meaningful, directly use it.

Inspired-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
Based-on: <20221216220738.7355-1-philmd@linaro.org>
  sysemu/kvm: Header cleanups around "cpu.h"
Based-on: <20221216220158.6317-1-philmd@linaro.org>
  target/i386: Header cleanups around "cpu.h"
---
 include/disas/disas.h         | 2 +-
 include/exec/cpu-defs.h       | 2 +-
 include/exec/gdbstub.h        | 4 ++--
 include/exec/helper-head.h    | 4 ++--
 include/exec/memop.h          | 6 +++---
 include/exec/memory.h         | 4 ++--
 include/hw/core/cpu.h         | 4 ++--
 include/hw/core/tcg-cpu-ops.h | 4 ++--
 include/qemu/osdep.h          | 4 ++--
 include/sysemu/hax.h          | 4 ++--
 include/sysemu/hvf.h          | 4 ++--
 include/sysemu/kvm.h          | 8 ++++----
 include/sysemu/nvmm.h         | 4 ++--
 include/sysemu/whpx.h         | 4 ++--
 include/sysemu/xen.h          | 4 ++--
 meson.build                   | 6 ++----
 scripts/analyze-inclusions    | 6 +++---
 target/arm/kvm-consts.h       | 2 +-
 18 files changed, 37 insertions(+), 39 deletions(-)

diff --git a/include/disas/disas.h b/include/disas/disas.h
index d363e95ede..1f6706a374 100644
--- a/include/disas/disas.h
+++ b/include/disas/disas.h
@@ -3,7 +3,7 @@
 
 #include "exec/hwaddr.h"
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 #include "cpu.h"
 
 /* Disassemble this for me please... (debugging). */
diff --git a/include/exec/cpu-defs.h b/include/exec/cpu-defs.h
index 21309cf567..9775634ff6 100644
--- a/include/exec/cpu-defs.h
+++ b/include/exec/cpu-defs.h
@@ -19,7 +19,7 @@
 #ifndef CPU_DEFS_H
 #define CPU_DEFS_H
 
-#ifndef NEED_CPU_H
+#ifndef CONFIG_TARGET
 #error cpu.h included from common code
 #endif
 
diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h
index f667014888..49f63d3c50 100644
--- a/include/exec/gdbstub.h
+++ b/include/exec/gdbstub.h
@@ -71,7 +71,7 @@ struct gdb_timeval {
   uint64_t tv_usec;   /* microsecond */
 } QEMU_PACKED;
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 #include "cpu.h"
 
 typedef void (*gdb_syscall_complete_cb)(CPUState *cpu, uint64_t ret, int err);
@@ -214,7 +214,7 @@ static inline uint8_t * gdb_get_reg_ptr(GByteArray *buf, int len)
 #define ldtul_p(addr) ldl_p(addr)
 #endif
 
-#endif /* NEED_CPU_H */
+#endif /* CONFIG_TARGET */
 
 /**
  * gdbserver_start: start the gdb server
diff --git a/include/exec/helper-head.h b/include/exec/helper-head.h
index e242fed46e..584b120312 100644
--- a/include/exec/helper-head.h
+++ b/include/exec/helper-head.h
@@ -49,7 +49,7 @@
 #define dh_ctype_noreturn G_NORETURN void
 #define dh_ctype(t) dh_ctype_##t
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 # ifdef TARGET_LONG_BITS
 #  if TARGET_LONG_BITS == 32
 #   define dh_alias_tl i32
@@ -63,7 +63,7 @@
 # define dh_alias_env ptr
 # define dh_ctype_env CPUArchState *
 # define dh_typecode_env dh_typecode_ptr
-#endif
+#endif /* CONFIG_TARGET */
 
 /* We can't use glue() here because it falls foul of C preprocessor
    recursive expansion rules.  */
diff --git a/include/exec/memop.h b/include/exec/memop.h
index 25d027434a..ebf6c5f69d 100644
--- a/include/exec/memop.h
+++ b/include/exec/memop.h
@@ -35,7 +35,7 @@ typedef enum MemOp {
     MO_LE    = 0,
     MO_BE    = MO_BSWAP,
 #endif
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 #if TARGET_BIG_ENDIAN
     MO_TE    = MO_BE,
 #else
@@ -65,7 +65,7 @@ typedef enum MemOp {
      */
     MO_ASHIFT = 5,
     MO_AMASK = 0x7 << MO_ASHIFT,
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 #ifdef TARGET_ALIGNED_ONLY
     MO_ALIGN = 0,
     MO_UNALN = MO_AMASK,
@@ -107,7 +107,7 @@ typedef enum MemOp {
     MO_BESL  = MO_BE | MO_SL,
     MO_BESQ  = MO_BE | MO_SQ,
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
     MO_TEUW  = MO_TE | MO_UW,
     MO_TEUL  = MO_TE | MO_UL,
     MO_TEUQ  = MO_TE | MO_UQ,
diff --git a/include/exec/memory.h b/include/exec/memory.h
index c37ffdbcd1..2d1fd6e475 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -2938,7 +2938,7 @@ address_space_write_cached(MemoryRegionCache *cache, hwaddr addr,
 MemTxResult address_space_set(AddressSpace *as, hwaddr addr,
                               uint8_t c, hwaddr len, MemTxAttrs attrs);
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 /* enum device_endian to MemOp.  */
 static inline MemOp devend_memop(enum device_endian end)
 {
@@ -2956,7 +2956,7 @@ static inline MemOp devend_memop(enum device_endian end)
     return (end == non_host_endianness) ? MO_BSWAP : 0;
 #endif
 }
-#endif
+#endif /* CONFIG_TARGET */
 
 /*
  * Inhibit technologies that require discarding of pages in RAM blocks, e.g.,
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index bc3229ae13..5ab6244bc8 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -1044,7 +1044,7 @@ bool target_words_bigendian(void);
 
 void page_size_init(void);
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 
 #ifdef CONFIG_SOFTMMU
 
@@ -1059,7 +1059,7 @@ extern const VMStateDescription vmstate_cpu_common;
 }
 #endif /* CONFIG_SOFTMMU */
 
-#endif /* NEED_CPU_H */
+#endif /* CONFIG_TARGET */
 
 #define UNASSIGNED_CPU_INDEX -1
 #define UNASSIGNED_CLUSTER_INDEX -1
diff --git a/include/hw/core/tcg-cpu-ops.h b/include/hw/core/tcg-cpu-ops.h
index 20e3c0ffbb..3cd9b5718a 100644
--- a/include/hw/core/tcg-cpu-ops.h
+++ b/include/hw/core/tcg-cpu-ops.h
@@ -49,7 +49,7 @@ struct TCGCPUOps {
     /** @debug_excp_handler: Callback for handling debug exceptions */
     void (*debug_excp_handler)(CPUState *cpu);
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 #if defined(CONFIG_USER_ONLY) && defined(TARGET_I386)
     /**
      * @fake_user_interrupt: Callback for 'fake exception' handling.
@@ -171,7 +171,7 @@ struct TCGCPUOps {
     void (*record_sigbus)(CPUState *cpu, vaddr addr,
                           MMUAccessType access_type, uintptr_t ra);
 #endif /* CONFIG_SOFTMMU */
-#endif /* NEED_CPU_H */
+#endif /* CONFIG_TARGET */
 
 };
 
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index b9c4307779..d5eccf1a97 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -28,11 +28,11 @@
 #define QEMU_OSDEP_H
 
 #include "config-host.h"
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 #include CONFIG_TARGET
 #else
 #include "exec/poison.h"
-#endif
+#endif /* CONFIG_TARGET */
 
 /*
  * HOST_WORDS_BIGENDIAN was replaced with HOST_BIG_ENDIAN. Prevent it from
diff --git a/include/sysemu/hax.h b/include/sysemu/hax.h
index bf8f99a824..90994e2773 100644
--- a/include/sysemu/hax.h
+++ b/include/sysemu/hax.h
@@ -24,11 +24,11 @@
 
 int hax_sync_vcpus(void);
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 # ifdef CONFIG_HAX
 #  define CONFIG_HAX_IS_POSSIBLE
 # endif
-#else /* !NEED_CPU_H */
+#else /* !CONFIG_TARGET */
 # define CONFIG_HAX_IS_POSSIBLE
 #endif
 
diff --git a/include/sysemu/hvf.h b/include/sysemu/hvf.h
index bb70082e45..6873193ebd 100644
--- a/include/sysemu/hvf.h
+++ b/include/sysemu/hvf.h
@@ -16,7 +16,7 @@
 #include "qemu/accel.h"
 #include "qom/object.h"
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 
 #ifdef CONFIG_HVF
 uint32_t hvf_get_supported_cpuid(uint32_t func, uint32_t idx,
@@ -28,7 +28,7 @@ extern bool hvf_allowed;
 #define hvf_get_supported_cpuid(func, idx, reg) 0
 #endif /* !CONFIG_HVF */
 
-#endif /* NEED_CPU_H */
+#endif /* CONFIG_TARGET */
 
 #define TYPE_HVF_ACCEL ACCEL_CLASS_NAME("hvf")
 
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index a53d6dab49..9e85db41ca 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -20,14 +20,14 @@
 #include "qemu/accel.h"
 #include "qom/object.h"
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 # ifdef CONFIG_KVM
 #  include <linux/kvm.h>
 #  define CONFIG_KVM_IS_POSSIBLE
 # endif
 #else
 # define CONFIG_KVM_IS_POSSIBLE
-#endif
+#endif /* CONFIG_TARGET */
 
 #ifdef CONFIG_KVM_IS_POSSIBLE
 
@@ -407,7 +407,7 @@ void kvm_get_apic_state(DeviceState *d, struct kvm_lapic_state *kapic);
 struct kvm_guest_debug;
 struct kvm_debug_exit_arch;
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 #include "cpu.h"
 
 struct kvm_sw_breakpoint {
@@ -443,7 +443,7 @@ uint64_t kvm_arch_get_supported_msr_feature(KVMState *s, uint32_t index);
 int kvm_physical_memory_addr_from_host(KVMState *s, void *ram_addr,
                                        hwaddr *phys_addr);
 
-#endif /* NEED_CPU_H */
+#endif /* CONFIG_TARGET */
 
 int kvm_check_extension(KVMState *s, unsigned int extension);
 
diff --git a/include/sysemu/nvmm.h b/include/sysemu/nvmm.h
index 833670fccb..bfd97729cf 100644
--- a/include/sysemu/nvmm.h
+++ b/include/sysemu/nvmm.h
@@ -10,7 +10,7 @@
 #ifndef QEMU_NVMM_H
 #define QEMU_NVMM_H
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 
 #ifdef CONFIG_NVMM
 
@@ -22,6 +22,6 @@ int nvmm_enabled(void);
 
 #endif /* CONFIG_NVMM */
 
-#endif /* NEED_CPU_H */
+#endif /* CONFIG_TARGET */
 
 #endif /* QEMU_NVMM_H */
diff --git a/include/sysemu/whpx.h b/include/sysemu/whpx.h
index 2889fa2278..452377a81e 100644
--- a/include/sysemu/whpx.h
+++ b/include/sysemu/whpx.h
@@ -13,7 +13,7 @@
 #ifndef QEMU_WHPX_H
 #define QEMU_WHPX_H
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 
 #ifdef CONFIG_WHPX
 
@@ -27,6 +27,6 @@ bool whpx_apic_in_platform(void);
 
 #endif /* CONFIG_WHPX */
 
-#endif /* NEED_CPU_H */
+#endif /* CONFIG_TARGET */
 
 #endif /* QEMU_WHPX_H */
diff --git a/include/sysemu/xen.h b/include/sysemu/xen.h
index 0ca25697e4..72483dd584 100644
--- a/include/sysemu/xen.h
+++ b/include/sysemu/xen.h
@@ -10,13 +10,13 @@
 
 #include "exec/cpu-common.h"
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 # ifdef CONFIG_XEN
 #  define CONFIG_XEN_IS_POSSIBLE
 # endif
 #else
 # define CONFIG_XEN_IS_POSSIBLE
-#endif
+#endif /* CONFIG_TARGET */
 
 #ifdef CONFIG_XEN_IS_POSSIBLE
 
diff --git a/meson.build b/meson.build
index 5c6b5a1c75..2fe437d54d 100644
--- a/meson.build
+++ b/meson.build
@@ -3204,8 +3204,7 @@ foreach d, list : target_modules
           config_target = config_target_mak[target]
           config_target += config_host
           target_inc = [include_directories('target' / config_target['TARGET_BASE_ARCH'])]
-          c_args = ['-DNEED_CPU_H',
-                    '-DCONFIG_TARGET="@0@-config-target.h"'.format(target),
+          c_args = ['-DCONFIG_TARGET="@0@-config-target.h"'.format(target),
                     '-DCONFIG_DEVICES="@0@-config-devices.h"'.format(target)]
           target_module_ss = module_ss.apply(config_target, strict: false)
           if target_module_ss.sources() != []
@@ -3384,8 +3383,7 @@ foreach target : target_dirs
   target_base_arch = config_target['TARGET_BASE_ARCH']
   arch_srcs = [config_target_h[target]]
   arch_deps = []
-  c_args = ['-DNEED_CPU_H',
-            '-DCONFIG_TARGET="@0@-config-target.h"'.format(target),
+  c_args = ['-DCONFIG_TARGET="@0@-config-target.h"'.format(target),
             '-DCONFIG_DEVICES="@0@-config-devices.h"'.format(target)]
   link_args = emulator_link_args
 
diff --git a/scripts/analyze-inclusions b/scripts/analyze-inclusions
index 45c821de32..67d19bc00d 100644
--- a/scripts/analyze-inclusions
+++ b/scripts/analyze-inclusions
@@ -92,7 +92,7 @@ echo trace/generated-tracers.h:
 analyze -include ../include/qemu/osdep.h trace/generated-tracers.h
 
 echo target/i386/cpu.h:
-analyze -DNEED_CPU_H -I../target/i386 -Ii386-softmmu -include ../include/qemu/osdep.h ../target/i386/cpu.h
+analyze -DCONFIG_TARGET -I../target/i386 -Ii386-softmmu -include ../include/qemu/osdep.h ../target/i386/cpu.h
 
-echo hw/hw.h + NEED_CPU_H:
-analyze -DNEED_CPU_H -I../target/i386 -Ii386-softmmu -include ../include/qemu/osdep.h ../include/hw/hw.h
+echo hw/hw.h + CONFIG_TARGET:
+analyze -DCONFIG_TARGET -I../target/i386 -Ii386-softmmu -include ../include/qemu/osdep.h ../include/hw/hw.h
diff --git a/target/arm/kvm-consts.h b/target/arm/kvm-consts.h
index 09967ec5e6..690d32ff2b 100644
--- a/target/arm/kvm-consts.h
+++ b/target/arm/kvm-consts.h
@@ -14,7 +14,7 @@
 #ifndef ARM_KVM_CONSTS_H
 #define ARM_KVM_CONSTS_H
 
-#ifdef NEED_CPU_H
+#ifdef CONFIG_TARGET
 #ifdef CONFIG_KVM
 #include <linux/kvm.h>
 #include <linux/psci.h>
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 16 22:33:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 22:33:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465052.723630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6JGm-0000ZG-MH; Fri, 16 Dec 2022 22:33:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465052.723630; Fri, 16 Dec 2022 22:33:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6JGm-0000Z9-Jh; Fri, 16 Dec 2022 22:33:32 +0000
Received: by outflank-mailman (input) for mailman id 465052;
 Fri, 16 Dec 2022 22:33:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6JGm-0000Yz-2d; Fri, 16 Dec 2022 22:33:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6JGm-0001Zc-14; Fri, 16 Dec 2022 22:33:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6JGl-0003Pi-Hv; Fri, 16 Dec 2022 22:33:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6JGl-0000tS-HT; Fri, 16 Dec 2022 22:33:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YpXOZ4fpwqrW4WnoXG+1t79CCMS8pcva9rw3jo3kpPQ=; b=iPvFxDn14o9L1i6Xb5Nbmcjjh2
	G8N2RHhjEUB3gfjqH28mmyjnakJCCxohLz0MJo9hr7+ZjlIEKSXw5txLO9jg5+3nrNknClIWd/+5x
	CFZ/PS8HfNMl+nxwY7yogrPCQdUnoRwdSgvs81ISswO+cHjP5ZzyE4WP+dqUknXRBfeU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175327-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175327: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=e254c71e9eaee6b14eba65e89e906576f3f1abc7
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 22:33:31 +0000

flight 175327 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175327/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 e254c71e9eaee6b14eba65e89e906576f3f1abc7
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    2 days
Failing since        175214  2022-12-14 18:42:16 Z    2 days   12 attempts
Testing same since   175311  2022-12-16 07:46:32 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 365 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 22:40:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 22:40:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465062.723642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6JNf-00024b-Eq; Fri, 16 Dec 2022 22:40:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465062.723642; Fri, 16 Dec 2022 22:40:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6JNf-00024U-C2; Fri, 16 Dec 2022 22:40:39 +0000
Received: by outflank-mailman (input) for mailman id 465062;
 Fri, 16 Dec 2022 22:40:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9Zr/=4O=citrix.com=prvs=342bb51ac=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p6JNe-00024O-E8
 for xen-devel@lists.xenproject.org; Fri, 16 Dec 2022 22:40:38 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7469e3b-7d92-11ed-91b6-6bf2151ebd3b;
 Fri, 16 Dec 2022 23:40:36 +0100 (CET)
Received: from mail-dm6nam11lp2177.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Dec 2022 17:40:30 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO3PR03MB6759.namprd03.prod.outlook.com (2603:10b6:303:179::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.15; Fri, 16 Dec
 2022 22:40:25 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Fri, 16 Dec 2022
 22:40:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7469e3b-7d92-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671230436;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=GrMm7LbLeNO+jBdvmSUZ/XmWutnjRhifjOyhwJzR0Yg=;
  b=KKA4Ar89PyKPpa7l0BAu9j2emijFRc4dTo2MJiMTnlzgWG95DHAKDlHA
   2ijac2z3AUtNJthT8JNAPj/Dke5+6up6bbO8kLY8vzX/jPWAC8tIG+DfO
   ZBowauYUJ8T7vXfD/0rL2+YxDCNFsiJrOaZFooBFjgL7Ab8lhEYYwwxbR
   g=;
X-IronPort-RemoteIP: 104.47.57.177
X-IronPort-MID: 88343321
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:jaT+Qag3fyXrubplol42c4e6X161QBEKZh0ujC45NGQN5FlHY01je
 htvUWCDO63fM2vyeYwjadu+pkJSvMLVztQ3GQRoqC8xQ3kb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5gaAzyJ94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQqJ29RfwCmhdmE/5DrW7dJndwgDI7CadZ3VnFIlVk1DN4AaLWaGuDmwIEd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEuluGyb7I5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6RO3jqqUx2gT7Kmo7VCFGVGO3rOaFo2mGS8xYc
 kEYwxUrlP1nnKCsZpynN/Gim1aUsxhZV9dOHukS7ACW1rGS8wufHnIDTDNKdJohrsBebTAjy
 FKhhd7iAj1r9rqPRhq16bO8vT60fy8PIgc/iTQsSAIE55zvpd81hxeWF9J7Svfq0ZvyBC36x
 C2MoG4mnbIPgMUX1qK9u1fanzaroZuPRQkwjunKYl+YAspCTNbNT+SVBZLztJ6s8K7xooG9g
 UU5
IronPort-HdrOrdr: A9a23:Vaa5cKuLBKf5lfvgyvEn0sJD7skDS9V00zEX/kB9WHVpW+eTna
 mV7ZMmPHjP5Ar5OUtOpTnkAsK9qBznm6KdjbNxAV7BZniEhILYFuFfBOLZqlWLdhEWndQtt5
 uIHZIObOHYPBxXitv7/Rn9M/tI+qjgzElwv5a680tQ
X-IronPort-AV: E=Sophos;i="5.96,251,1665460800"; 
   d="scan'208";a="88343321"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f0itp1/Qwo59cxaKfFQVnYphlKfmFyTkDJwoY2NKE6yJ0RV1d3ESyaAO4sp30qASQhkutF6djsS9a/W/w4q7l6b5z8IiL2HcWUYIYvlt6ucIcqHAAit7ie3nlPFDoW16qSl5twg4UwGkRct75M993Ru3+PHrMh09sEg+8ur33h6apyN7JTBiU/P2h4qIK6nezL+uUf81536vggSKeWPROJcQxDlAnr3ET1wweONbhvL2tHDKNriKvHcAlI2OBoSve3S64DC24ia5sWzKcjo3E8Z5nvM93n6RxThEwmH66aZdQzJma4qeZIJ5cXFHR5Z2kpy+8NMYZ4UnV9OAM6myzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GrMm7LbLeNO+jBdvmSUZ/XmWutnjRhifjOyhwJzR0Yg=;
 b=gzTGCMbiZNUV9A+WeUFcN/Yy5cY3cR4lm9XcShUOFK0vwi9BP8E13+p7TqiO3l/ROAryLRY8h0rxNgcOTlaiHpeMpBUjjz90i111inM2USs5GveHoTMHldArK+20aMOP3v3bH+2o81j60g4ukBn3K8cILy9IlH3Nbhdo/GL2NRf5RuPfGgOpyHmPs64zdA8XQmOh8UF7Na8KcDHReCDfiKrJ/IZkIHrkPyEMSSnw3ss+0nzr+z9zVrm+c/5uH1zSvvmc4NkYh9Mvp6V7GKWBgJ8Q9hXuZdtl5yhThQk8YmW8C2jtj5p2GRPTUet9FR3ke/b/CvgFX19I9id9Kppdqw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GrMm7LbLeNO+jBdvmSUZ/XmWutnjRhifjOyhwJzR0Yg=;
 b=ANd+bwFX+gERNZfmXRXNPU5BcRhcgHNketYZov2ZCYGR8EZM/5ZrQG4qeFHJe5PWNEo6D0gHPKkEK7kghv6PV8gfMGjpp4HyDPFHGHdc1oHxhru+xbQ06DZTlTbtC2QEAtpg0daElgfO9KNnJbCA1S2kNdGTqgHY7N/njVhIOHk=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>
Subject: Re: [PATCH v4 01/11] tools/ocaml/libs/{xb, mmap}: use
 Data_abstract_val wrapper
Thread-Topic: [PATCH v4 01/11] tools/ocaml/libs/{xb, mmap}: use
 Data_abstract_val wrapper
Thread-Index: AQHZEXviniqeTfc5ckCqx5I7LdFfsa5xG80A
Date: Fri, 16 Dec 2022 22:40:25 +0000
Message-ID: <bd686c65-dbf6-4ec0-9094-1c561cd6ee1d@citrix.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
 <4eb53994bcc3548e8da6e8ab9c50acf822b85702.1671214525.git.edwin.torok@cloud.com>
In-Reply-To:
 <4eb53994bcc3548e8da6e8ab9c50acf822b85702.1671214525.git.edwin.torok@cloud.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|CO3PR03MB6759:EE_
x-ms-office365-filtering-correlation-id: d7cd3943-97f5-47ec-12dc-08dadfb6861d
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 10+yRT2xBD5sevo7GUDCNRw9wUiDGClXoYURlmT8BCvn7dlKiCO7qPEX+eP7RP1J/asnn5d9yXXSBgpdW13Suoa1KRPJzXgJj1qnLxBPiT2fwQRv3SvMX0o/zmXBt0qk7kNBcbGJQfZj8WvhrctWx8nY5TA00QQKlBaUAdAVfPFX7Zm4Jx90kDxik0X2LmMoTKKlPIVE0Srs5JD99/iM/d6udDHXhnZfC7T5Meb5J1MPUaLviWhuNuxc12EIpmGqsDuPOQZ5fP2ztcIcrM9ZrfS4xDdVuVaYMyZ837zxXgoSP7RBjzK4rnL7DTPXj+AaxOLPcIANKRKz0Bbg4A5yuWdlqqR7OMKfWPSiGW8BlSjLIBrunNLSO5kw9VEUOt6m1QxLBRUoIrsVRJc1HSPzPFMtSWNV5sTxnQktNEb2Krhtj+CRiOtWqNmMbft7fBlmw5jpypRNiffKUpik5PUKp6ROygMxxvcPBXuH2rv1MHwc1U29W20i42uAPnBgLW4JZfXsU9eqT2ygqKrtS96pzIGSboyMfzcU6Bm+j/AO4E04bl9rt2+cxMmJzukpQHaY/OqAroLuLNATj+BybbbsrI3QIeLTRdwHtET3mvIdKG19WUtWlAD9qUmLX9LmEUtkPQi2+3bSQyh4hGBG8lKo6ox+fvLsXnmZ9AQo/lKtjph542m8iVRprV9IfKoQHVxfUXarf+DDIX9C1/eR+oJu07EVrY/bEeVo10PMjpT65zejOVW6agBLVfa1Ua3GNpyGtnV2O4+F82oMrie4CToixg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(366004)(39860400002)(346002)(396003)(451199015)(66476007)(36756003)(8936002)(4326008)(66556008)(76116006)(8676002)(91956017)(66446008)(64756008)(66946007)(316002)(110136005)(54906003)(107886003)(41300700001)(82960400001)(38100700002)(122000001)(38070700005)(71200400001)(6486002)(53546011)(2616005)(86362001)(478600001)(26005)(6506007)(6512007)(31696002)(186003)(2906002)(31686004)(4744005)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NTJNRGZpbUZhSkZ2MGU5MnNYcHlVc3BBV241WEVtYVZlaUJUTG9iSkhub09X?=
 =?utf-8?B?Mzk5TFFJdmxBWFYyTjRZMFQ0T1JRa25tSEp5NnR0OGQ3cjBLRmVtOW05d2Vl?=
 =?utf-8?B?eWdzNGsxeWwvamVGeUlwbWVkaEhtajlsaXNMaW9OZmtxcGVrd2VpQXpnU3FF?=
 =?utf-8?B?WTJMNFl3UENrTURIRllXaktNZjR1SzBNNEhtRWU5RUEzS05yTkRrTVlXWEZF?=
 =?utf-8?B?Um5uTENCb3ZoNmh2dmNmRVV5Vk9VMW01eis2aUhZcHgxVTNxUVZ6dVUxSlJC?=
 =?utf-8?B?N1pPdHVybGxJblhnNEpiOFdjSVVUNno5WVY2d0ZzWlhTeGhLN1dRL0UyZVly?=
 =?utf-8?B?ajVRMUFzT2VQc1V5S09xMlRkcUIwN3BYV2tDYUJ4eXI0T3hYZ2lyNFpaTmM5?=
 =?utf-8?B?RVp6WDRNSFlVclRTVjlmRjVVd1dlYnVUeWhFN3hMWWVyQ0lBMHRoc2thUytU?=
 =?utf-8?B?dCtFdnFhZzBCVXlBTzY5WDhIOEV4KzVMNGM5UHpiZzRuSS8wbnBFT2M5dVYy?=
 =?utf-8?B?UStaUXZkNzJ4bW15RXRQa3R0bUE1ZllLZHBPSmtNeS9YT3ErcnF6K1RlajFT?=
 =?utf-8?B?N3N0dlVDYlZiU1N5TFhneDdjRXpGdDl6V3VLYVJjYW92cTZDSDBuSDRGUkdp?=
 =?utf-8?B?ODJ4aHFGK1BVdURuRzh6eEd1UkZIdHJMajlXY0F5bm5KQ01EanVjZTFrVVNi?=
 =?utf-8?B?dW9CRitwRERaN3RYVmU1QnRIVGxoWkp5Y0pMWmJEdmF1amwwRFpPb0RRdTc4?=
 =?utf-8?B?cXR0eEpGS0FDWVYrYmI4VktuZjFkZzJ3NGVDU0pIc3lxSE9NVkRDaDJXL3lv?=
 =?utf-8?B?Rlptd3FHNlU5NDl5d1c0QmZCR1lySmpEZDhPZ01UVFZ3ZWFVdGFTT3BOUlYx?=
 =?utf-8?B?OUZXM09USzFiR0g2aDF4c2lyRFlNbytiRkd6U2dZQ3BWMTFRQ3g1QUlMMVIz?=
 =?utf-8?B?M0t0c05oTmlGMzZIUEJwc3lKTVZ6cmpmbU5taklzRHIzbFVCU1RGRmk5M3RI?=
 =?utf-8?B?enRyckhuVC9kM2ZrNU9yRHd5UERiUWZHWStNWExRcDk2a2pXMVZrZ2svNjdO?=
 =?utf-8?B?Qk9oNXVsMmk2UUxBT3loSmF1elFlaE80b2VNZFd2K2NVbFZzUkt3YTlQVzRw?=
 =?utf-8?B?MU96ZFBwQ2xSQmRKOUl4dWs5VC91VUpsTDdOeGp6Uk1HRUQrTEhoUGtKemp4?=
 =?utf-8?B?OUtqRDZNaldIS1RVd29JUkpUNmxjMVBsYlVGcXdZYnFjcWY5NXRJQml0QmVZ?=
 =?utf-8?B?RlVOUUtWaU5uMno5WlRoOGpMdDROamJmazE2MlNLc0NnQlQ0WkI5L1pSNDVz?=
 =?utf-8?B?UWVGZnFRNG96RGNoTjVRT3FUamw0MXhxV25oT09DSmw5clU4V3FEVkl6NmlV?=
 =?utf-8?B?cUxsdExPbkx3NCthcmg2MHlsR2F6ajJMOVhyaXM5YlNleE9tTXNhb1F2V3VJ?=
 =?utf-8?B?MWYwMSt1TXh2akMrSTlyMUd0NWtXVXBHb3IvWjcrdFdxWTFQaldsVVU3Vlgx?=
 =?utf-8?B?aXRWbVhJeDZUUlJQSWhvdVNUZ1hlWGxXSEFTL2xnWTBFNlhiK0RPQy9sb3Qr?=
 =?utf-8?B?clMrK1NENmZpSktwWkhlNDhNOWhGZnkyV0VqZkh5d0pMUisxU1lIUmIzTzAx?=
 =?utf-8?B?Tkd5ZG56Vm9sbGNhUElvWDdmUjdTL1d4TjYvMkU0QTBxTXRXa3gxVDNpWGNG?=
 =?utf-8?B?eTNiWkVJMVNnVkd3T1hTY2tPeFE5eUJmQUxHUitzOFBPS2VncXdoeGhZbzZT?=
 =?utf-8?B?aXVBOWlMSTVGUHRnWDBXNjlCcTRpLzRCbXJ3OUlKZGJ0MEl4dXBPdTlPN1hx?=
 =?utf-8?B?M0E1Q0xiQk42dStwOTIyUFdtS0lBaFhXZWwzb0l6VC9nSlh0bXFOclZkVS9q?=
 =?utf-8?B?N0ZmenpFZFMzNUpsMitMM2J1WXNWYzNTR0htcVpPdmRqVVF0aEJBOHNMdHhO?=
 =?utf-8?B?MlMzeUxBN09meHlRK1RCZW9hR3lrN2VWRHpkejBEajROb0U5eTZQdnBkNEQx?=
 =?utf-8?B?QnpvMHFwVXgxRGVpc3dXTldPNVR1clN6bGhrZDBCeFBoNG1FaDZKN2U3TFVD?=
 =?utf-8?B?bUdDOVlSc0F5SWs0VCtCOURPaU44RjhTV1Z6Z212bFh0K2RLVXUxMnVydGdE?=
 =?utf-8?Q?xUrjGfeE1N/7lBpHzebqFsc71?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <EFF723CC5EA3964D90118D3308D67CAC@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d7cd3943-97f5-47ec-12dc-08dadfb6861d
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Dec 2022 22:40:25.2972
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 5VyAJY5peeH4GTaKC7GWdpzDa9v3ju6EorMM+tSs55+ok/BYobCT5EgkEtjZ2d+pfXjSjA0iYLYERuUxU5KQAC1PEorckI6x2gJIXsJ/8i8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR03MB6759

T24gMTYvMTIvMjAyMiA2OjI1IHBtLCBFZHdpbiBUw7Zyw7ZrIHdyb3RlOg0KPiBkaWZmIC0tZ2l0
IGEvdG9vbHMvb2NhbWwvbGlicy9tbWFwL21tYXBfc3R1YnMuaCBiL3Rvb2xzL29jYW1sL2xpYnMv
bW1hcC9tbWFwX3N0dWJzLmgNCj4gaW5kZXggNjVlNDIzOTg5MC4uNjZmMThkNDQwNiAxMDA2NDQN
Cj4gLS0tIGEvdG9vbHMvb2NhbWwvbGlicy9tbWFwL21tYXBfc3R1YnMuaA0KPiArKysgYi90b29s
cy9vY2FtbC9saWJzL21tYXAvbW1hcF9zdHVicy5oDQo+IEBAIC0zMCw0ICszMCw4IEBAIHN0cnVj
dCBtbWFwX2ludGVyZmFjZQ0KPiAgCWludCBsZW47DQo+ICB9Ow0KPiAgDQo+ICsjaWZuZGVmIERh
dGFfYWJzdHJhY3RfdmFsDQo+ICsjZGVmaW5lIERhdGFfYWJzdHJhY3RfdmFsKHgpICgodm9pZCop
KHZhbHVlKikoeCkpDQoNCigodm9pZCAqKSh4KSkNCg0KSSB0YWtlIGl0IHRoaXMgaGFzIGNvbWUg
ZnJvbSB0aGUgT2NhbWwgaGVhZGVycz/CoCBUaGUgY2FzdCB0byAodmFsdWUgKikNCmluIHRoZSBt
aWRkbGUgaXMgZW50aXJlbHkgY2FuY2VsbGVkIG91dC4NCg0KQ2FuIGJlIGZpeGVkIG9uIGNvbW1p
dC4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 23:44:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 23:44:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465075.723659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6KNe-0000NZ-5p; Fri, 16 Dec 2022 23:44:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465075.723659; Fri, 16 Dec 2022 23:44:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6KNe-0000NS-34; Fri, 16 Dec 2022 23:44:42 +0000
Received: by outflank-mailman (input) for mailman id 465075;
 Fri, 16 Dec 2022 23:44:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6KNc-0000NI-VR; Fri, 16 Dec 2022 23:44:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6KNc-00038a-Tg; Fri, 16 Dec 2022 23:44:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6KNc-0005Pr-GU; Fri, 16 Dec 2022 23:44:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6KNc-0005Z7-Fo; Fri, 16 Dec 2022 23:44:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KPTfgALWy7o9UilZQc7PjeZN3Hh8Gzc9VUDFYMzd7xg=; b=tI7PVtmlkHNIB/87UMiWQLGGms
	2I8HzYxCGjB+xVDpZ8xMYDvrlGUhfQH827/6SS0eLQWJJlJrNpkMAzDKcJ0Lg2wpgW8ImtAs4jREb
	qNnHDETVMZqKEVGxTX8fqx1ncO9dsp1dXkqUFIoruGfazcWxzjbDTxnXAHf1Je/Tl74g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175321-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175321: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-freebsd11-amd64:guest-start/freebsd.repeat:fail:heisenbug
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=4208e6ae114ac8266dcacc9696a443ce5c37b04e
X-Osstest-Versions-That:
    qemuu=29dc49f0310ad4439424eeaf179de46d15bd2d6b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 23:44:40 +0000

flight 175321 qemu-mainline real [real]
flight 175335 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175321/
http://logs.test-lab.xenproject.org/osstest/logs/175335/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd11-amd64 21 guest-start/freebsd.repeat fail pass in 175335-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt   16 saverestore-support-check fail blocked in 175297
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175297
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175297
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175297
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175297
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175297
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175297
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175297
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                4208e6ae114ac8266dcacc9696a443ce5c37b04e
baseline version:
 qemuu                29dc49f0310ad4439424eeaf179de46d15bd2d6b

Last test of basis   175297  2022-12-15 22:08:46 Z    1 days
Testing same since   175321  2022-12-16 12:38:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Bin Meng <bin.meng@windriver.com>
  Brad Smith <brad@comstyle.com>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Matthew Rosato <mjrosato@linux.ibm.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Thomas Huth <thuth@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   29dc49f031..4208e6ae11  4208e6ae114ac8266dcacc9696a443ce5c37b04e -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Dec 16 23:53:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 16 Dec 2022 23:53:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465087.723676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6KW1-0001uY-1d; Fri, 16 Dec 2022 23:53:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465087.723676; Fri, 16 Dec 2022 23:53:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6KW0-0001uR-V9; Fri, 16 Dec 2022 23:53:20 +0000
Received: by outflank-mailman (input) for mailman id 465087;
 Fri, 16 Dec 2022 23:53:19 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6KVz-0001uH-JM; Fri, 16 Dec 2022 23:53:19 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6KVz-0003S2-IX; Fri, 16 Dec 2022 23:53:19 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6KVz-0005p5-87; Fri, 16 Dec 2022 23:53:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6KVz-0000ms-7e; Fri, 16 Dec 2022 23:53:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nAXkQ9IBjpt5K8E5Sbra6l5x1ucvA686+tyv1EjB0eo=; b=z3ZD0FiCZ2+JiiN2faMWw9uM28
	URqD/LrifP+BKGws/KMhh8O2VgFSQBXuojpdbBHasfp/zItmSTN8mzaCh2vtXCkIdivXJyVQC/phV
	qCTBKwFbby4rGUqGXXXRqm3ehrahn8Zc2bEIG70ocFRS38swJvf/9PnPWWPnHm1Yw2f4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175333-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175333: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-start/debianhvm.repeat:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
X-Osstest-Versions-That:
    xen=c8aaebccc8e8fb5d90080e664202b0011ce4d0bd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 16 Dec 2022 23:53:19 +0000

flight 175333 xen-unstable-smoke real [real]
flight 175339 xen-unstable-smoke real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175333/
http://logs.test-lab.xenproject.org/osstest/logs/175339/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 20 guest-start/debianhvm.repeat fail REGR. vs. 175292

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2
baseline version:
 xen                  c8aaebccc8e8fb5d90080e664202b0011ce4d0bd

Last test of basis   175292  2022-12-15 20:00:29 Z    1 days
Testing same since   175333  2022-12-16 20:00:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 12b593ca0d61ef884c2f2de15ed36b4900fc92b2
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Dec 13 12:36:54 2022 +0100

    x86/mm: avoid phys_to_nid() calls for invalid addresses
    
    With phys_to_nid() now actively checking that a valid node ID is on
    record, the two uses in paging_init() can actually trigger at least the
    2nd of the assertions there. They're used to calculate allocation flags,
    but the calculated flags wouldn't be used when dealing with an invalid
    (unpopulated) address range. Defer the calculations such that they can
    be done with a validated MFN in hands. This also does away with the
    artificial calculations of an address to pass to phys_to_nid().
    
    Note that while the variable is provably written before use, at least
    some compiler versions can't actually verify that. Hence the variable
    also needs to gain a (dead) initializer.
    
    Fixes: e9c72d524fbd ("xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 00:17:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 00:17:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465098.723689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Ktk-00055y-8N; Sat, 17 Dec 2022 00:17:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465098.723689; Sat, 17 Dec 2022 00:17:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Ktk-00055r-5b; Sat, 17 Dec 2022 00:17:52 +0000
Received: by outflank-mailman (input) for mailman id 465098;
 Sat, 17 Dec 2022 00:17:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6Ktj-00055h-Q0; Sat, 17 Dec 2022 00:17:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6Ktj-0004fv-Mc; Sat, 17 Dec 2022 00:17:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6Ktj-00076g-DY; Sat, 17 Dec 2022 00:17:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6Ktj-0002Pw-D8; Sat, 17 Dec 2022 00:17:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uqC2EuLek2PxzbDUEgKsD/Q3xvGK673rLPB9qjb2OgQ=; b=zhkD0g++Bxt3esJyEx3CARm8ch
	NZSbi/Ul8R8MXMoVzAXSIZHsPeg1NWdzKMH0kZZn9CXGYrdyxWK6JwlTGyUYWn6I/0qRwG9OICwQf
	9BGSc81ujN66Xq4kp+UOxPSunkzqhJCMORBtXlRxa0uMYvrXFTpQkTf9HGXatO3qoOno=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175323-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175323: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=84e57d292203a45c96dbcb2e6be9dd80961d981a
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 00:17:51 +0000

flight 175323 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175323/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                84e57d292203a45c96dbcb2e6be9dd80961d981a
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   70 days
Failing since        173470  2022-10-08 06:21:34 Z   69 days  141 attempts
Testing same since   175323  2022-12-16 14:05:33 Z    0 days    1 attempts

------------------------------------------------------------
3024 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 434320 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 00:41:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 00:41:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465110.723701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6LGg-0008RN-9j; Sat, 17 Dec 2022 00:41:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465110.723701; Sat, 17 Dec 2022 00:41:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6LGg-0008RG-5W; Sat, 17 Dec 2022 00:41:34 +0000
Received: by outflank-mailman (input) for mailman id 465110;
 Sat, 17 Dec 2022 00:41:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/B0D=4P=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p6LGe-0008R8-Tq
 for xen-devel@lists.xenproject.org; Sat, 17 Dec 2022 00:41:32 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c0c0670-7da3-11ed-8fd4-01056ac49cbb;
 Sat, 17 Dec 2022 01:41:31 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id A2CECCE1E7D;
 Sat, 17 Dec 2022 00:41:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3860DC433EF;
 Sat, 17 Dec 2022 00:41:23 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c0c0670-7da3-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671237683;
	bh=dtdUIF91M/GxuGLfJncc0xQmhLzN754tNhXLmmzDoXE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=pNFkrtDyjgslZ02/5pLtQO+V9K5iBZLydGAsVdUD+TtSQXzuZ12zRMSx6H4NMyXo9
	 hrZ/PRVHwq4fOJzW3sTvE6Fz5fiZaCiBgaIS3XXg4Rv9r9VepTa/Ma3iiPV03w9GYZ
	 7oePRLZOtTUiQAa5aakduCz1/6AwAfmjlYr2y5rqgy1Xxr2UthjWZ54RQHhicL0Nh0
	 AC55+e7N7pBveOmr96zFLxL7bJkGBEQLQaRsm7dyl1lJjXokQX6sR5RzL+ccNOp3kq
	 6Q+fb8m3NZyTwYMOPCeaMYo96u1UjG/Ign17sogRwnRB4jaoXd0xtHH21JD0W1ym4A
	 kZy6PJJFTdzGA==
Date: Fri, 16 Dec 2022 16:41:21 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 1/2] automation: Add support for using XTF for arm64
 testing
In-Reply-To: <20221216133012.19927-2-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2212161641140.315094@ubuntu-linux-20-04-desktop>
References: <20221216133012.19927-1-michal.orzel@amd.com> <20221216133012.19927-2-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 16 Dec 2022, Michal Orzel wrote:
> Introduce support for using XTF on Arm to perform low-level testing.
> For the purpose of the CI testing, let's use the fork [1] from upstream
> XTF with implemented support for arm64 (the upstream XTF only supports
> x86).
> 
> Add a new script under automation/scripts to be used by the CI XTF test
> jobs to perform the following tasks:
>  - Compiling XTF,
>  - Generating u-boot script using ImageBuilder,
>  - Running Xen with XTF as domU in pure dom0less configuration using Qemu,
>  - Checking test result.
> 
> The script takes the name of the XTF test to run as a first parameter.
> 
> [1] https://gitlab.com/xen-project/fusa/xtf.git (branch xtf-arm)
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes in v2:
>  - run XTF in pure dom0less configuration
> ---
>  automation/scripts/qemu-xtf-dom0less-arm64.sh | 68 +++++++++++++++++++
>  1 file changed, 68 insertions(+)
>  create mode 100755 automation/scripts/qemu-xtf-dom0less-arm64.sh
> 
> diff --git a/automation/scripts/qemu-xtf-dom0less-arm64.sh b/automation/scripts/qemu-xtf-dom0less-arm64.sh
> new file mode 100755
> index 000000000000..3ec9cf74e129
> --- /dev/null
> +++ b/automation/scripts/qemu-xtf-dom0less-arm64.sh
> @@ -0,0 +1,68 @@
> +#!/bin/bash
> +
> +set -ex
> +
> +# Name of the XTF test
> +xtf_test=$1
> +
> +# Message returned by XTF in case of success
> +passed="Test result: SUCCESS"
> +
> +# XXX QEMU looks for "efi-virtio.rom" even if it is unneeded
> +curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom
> +./binaries/qemu-system-aarch64 \
> +   -machine virtualization=true \
> +   -cpu cortex-a57 -machine type=virt \
> +   -m 2048 -smp 2 -display none \
> +   -machine dumpdtb=binaries/virt-gicv2.dtb
> +
> +# XTF
> +# Build a single XTF test passed as a first parameter to the script.
> +# Build XTF with GICv2 support to match Qemu configuration and with SBSA UART
> +# support, so that the test will use an emulated UART for printing messages.
> +# This will allow us to run the test on both debug and non-debug Xen builds.
> +rm -rf xtf
> +git clone https://gitlab.com/xen-project/fusa/xtf.git -b xtf-arm
> +make -C xtf TESTS=tests/${xtf_test} CONFIG_SBSA_UART=y CONFIG_GICV2=y -j$(nproc)
> +cp xtf/tests/${xtf_test}/test-mmu64le-${xtf_test} binaries/xtf-test
> +
> +# ImageBuilder
> +echo 'MEMORY_START="0x40000000"
> +MEMORY_END="0xC0000000"
> +
> +XEN="xen"
> +DEVICE_TREE="virt-gicv2.dtb"
> +
> +XEN_CMD="console=dtuart"
> +
> +DOMU_KERNEL[0]="xtf-test"
> +DOMU_MEM[0]="128"
> +
> +NUM_DOMUS=1
> +
> +LOAD_CMD="tftpb"
> +UBOOT_SOURCE="boot.source"
> +UBOOT_SCRIPT="boot.scr"' > binaries/config
> +
> +rm -rf imagebuilder
> +git clone https://gitlab.com/ViryaOS/imagebuilder
> +bash imagebuilder/scripts/uboot-script-gen -t tftp -d binaries/ -c binaries/config
> +
> +# Run the test
> +rm -f smoke.serial
> +set +e
> +echo "  virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \
> +timeout -k 1 120 \
> +./binaries/qemu-system-aarch64 \
> +    -machine virtualization=true \
> +    -cpu cortex-a57 -machine type=virt \
> +    -m 2048 -monitor none -serial stdio \
> +    -smp 2 \
> +    -no-reboot \
> +    -device virtio-net-pci,netdev=n0 \
> +    -netdev user,id=n0,tftp=binaries \
> +    -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial
> +
> +set -e
> +(grep -q "${passed}" smoke.serial) || exit 1
> +exit 0
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 00:42:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 00:42:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465118.723712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6LHh-0000Xr-Il; Sat, 17 Dec 2022 00:42:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465118.723712; Sat, 17 Dec 2022 00:42:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6LHh-0000Xk-G1; Sat, 17 Dec 2022 00:42:37 +0000
Received: by outflank-mailman (input) for mailman id 465118;
 Sat, 17 Dec 2022 00:42:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/B0D=4P=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p6LHg-0000Xa-AM
 for xen-devel@lists.xenproject.org; Sat, 17 Dec 2022 00:42:36 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1f64ca7-7da3-11ed-91b6-6bf2151ebd3b;
 Sat, 17 Dec 2022 01:42:34 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 35F56622DC;
 Sat, 17 Dec 2022 00:42:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E3B5BC433EF;
 Sat, 17 Dec 2022 00:42:31 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1f64ca7-7da3-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671237752;
	bh=txrVQmYOSs/Ctu0dZVPjN+hTTiJ/oAoHeSr02ZL1RGU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=piirMocI9h1m/NLCwit896tz73e/Hjlzukxbu7ESTBRcsSSSqcemoJwFSJW0EDorD
	 cdDUcs+PoaWX//Og/e7uez0lEJ+mYv1+B3E2nJDSLoL8FTprF9u0PnGrVztokQMjDN
	 JRAa7099TbYf+yQv8GFrtDqZQqFXCzTu5ui68QKyBVg32Bdirg0yQpUEZERhdEX1wM
	 MjTVgIsezH3n14DG8WfvIi1D2PxiZnXXae2xinNA28Ajwyer0n/SzfeTgmJS/s7oXw
	 SWKNml7jr3DKbCHLkqLN3YfgGz8+THiIy8RmWBb85SN78ZBsaf2lyQzdTnbZVAtAoA
	 2XGdabuCjYYjQ==
Date: Fri, 16 Dec 2022 16:42:30 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 2/2] automation: Add test jobs to run XTF hypercall
 xen_version test
In-Reply-To: <20221216133012.19927-3-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2212161642240.315094@ubuntu-linux-20-04-desktop>
References: <20221216133012.19927-1-michal.orzel@amd.com> <20221216133012.19927-3-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 16 Dec 2022, Michal Orzel wrote:
> Add test jobs in both debug and non-debug versions to run hyp-xen-version
> XTF test as a dom0less domU on arm64. The purpose of this test is to
> validate the functional behavior of xen_version hypercall.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes in v2:
>  - as we are going to run XTF in pure dom0less configuration, specify only
>    the need for Xen and Qemu
> ---
>  automation/gitlab-ci/test.yaml | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 2d57f4feb74a..afd80adfe17c 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -165,6 +165,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-debug-arm64-boot-cpupools
>  
> +qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
> +  extends: .qemu-arm64
> +  script:
> +    - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - alpine-3.12-gcc-arm64
> +    - qemu-system-aarch64-6.0.0-arm64-export
> +
> +qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version:
> +  extends: .qemu-arm64
> +  script:
> +    - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - alpine-3.12-gcc-debug-arm64
> +    - qemu-system-aarch64-6.0.0-arm64-export
> +
>  qemu-smoke-dom0-arm32-gcc:
>    extends: .qemu-arm32
>    script:
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 00:46:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 00:46:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465126.723723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6LLU-0001EA-2f; Sat, 17 Dec 2022 00:46:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465126.723723; Sat, 17 Dec 2022 00:46:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6LLT-0001E3-Vl; Sat, 17 Dec 2022 00:46:31 +0000
Received: by outflank-mailman (input) for mailman id 465126;
 Sat, 17 Dec 2022 00:46:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/B0D=4P=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p6LLS-0001Dx-Dg
 for xen-devel@lists.xenproject.org; Sat, 17 Dec 2022 00:46:30 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d6612c5-7da4-11ed-8fd4-01056ac49cbb;
 Sat, 17 Dec 2022 01:46:28 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 5ED6F622FB;
 Sat, 17 Dec 2022 00:46:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9ABCBC433D2;
 Sat, 17 Dec 2022 00:46:25 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d6612c5-7da4-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671237986;
	bh=t2eV+ceUHGRlI0OZuzPl1DQoAzcc3JUFdnqYH9LgRHs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=STldQWLQXjkyrcUxJ1prKMzMd9G9sFY1X6tswCwh7L9o1Eg9k1bxDAp1q5XJMqBEG
	 kK7vlzGEKgp3qtdy73XeWenkQhQB8UA36PJh4cBpwpvgVGW79ik7j1bHzbRuC5BuJ+
	 hVvJ0EL5tCPbkO7VvqCZBo0aZtUmkT0xkD2zF6OreHuBjP/cOcBRTHUcN8+yPfGQLs
	 r5k5lBaO8FIIiCc2kNZVAhx9SMMEN1Li2H8Lhl81vHdI9Rn6eFQA9uiySLNKb5QSWu
	 IXGOP9mxX/rnuPD+cy10/O0Ty/rFOynh6LzT1bYmYTVZAX0mKWS0B6CXK940SaD1Sg
	 mxU21JHZy+cjw==
Date: Fri, 16 Dec 2022 16:46:24 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Ayan Kumar Halder <ayan.kumar.halder@amd.com>, 
    xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    stefano.stabellini@amd.com, Volodymyr_Babchuk@epam.com, 
    bertrand.marquis@arm.com
Subject: Re: [XEN v1 2/9] xen/arm: Define translate_dt_address_size() for
 the translation between u64 and paddr_t
In-Reply-To: <b58c6548-9e70-0ed9-07a9-e35084620c36@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212161643400.315094@ubuntu-linux-20-04-desktop>
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com> <20221215193245.48314-3-ayan.kumar.halder@amd.com> <b58c6548-9e70-0ed9-07a9-e35084620c36@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 16 Dec 2022, Julien Grall wrote:
> Hi Ayan,
> 
> On 15/12/2022 19:32, Ayan Kumar Halder wrote:
> > paddr_t may be u64 or u32 depending of the type of architecture.
> > Thus, while translating between u64 and paddr_t, one should check that the
> > truncated bits are 0. If not, then raise an appropriate error.
> 
> I am not entirely convinced this extra helper is worth it. If the user can't
> provide 32-bit address in the DT, then there are also a lot of other part that
> can go wrong.
> 
> Bertrand, Stefano, what do you think?

In general, it is not Xen's job to protect itself against bugs in device
tree. However, if Xen spots a problem in DT and prints a helpful message
that is better than just crashing because it gives a hint to the
developer about what the problem is.

In this case, I think a BUG_ON would be sufficient.


> > 
> > Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> > ---
> >   xen/arch/arm/include/asm/platform.h | 26 ++++++++++++++++++++++++++
> >   1 file changed, 26 insertions(+)
> > 
> > diff --git a/xen/arch/arm/include/asm/platform.h
> > b/xen/arch/arm/include/asm/platform.h
> > index 997eb25216..6be1549f09 100644
> > --- a/xen/arch/arm/include/asm/platform.h
> > +++ b/xen/arch/arm/include/asm/platform.h
> > @@ -42,6 +42,32 @@ struct platform_desc {
> >       unsigned int dma_bitsize;
> >   };
> >   +static inline int translate_dt_address_size(u64 *dt_addr, u64 *dt_size,
> > +                                            paddr_t *addr, paddr_t *size)
> > +{
> > +#ifdef CONFIG_ARM_PA_32
> 
> This is not yet defined. So you want to mention it in the commit message.
> 
> > +    if ( dt_addr && (*dt_addr >> PADDR_SHIFT) )
> > +    {
> > +        dprintk(XENLOG_ERR, "Error in DT. Invalid address\n");
> > +        return -ENXIO;
> > +    }
> > +
> > +    if ( dt_size && (*dt_size >> PADDR_SHIFT) )
> > +    {
> > +        dprintk(XENLOG_ERR, "Error in DT. Invalid size\n");
> > +        return -ENXIO;
> > +    }
> > +#endif
> > +
> > +    if ( dt_addr && addr )
> > +        *addr = (paddr_t) (*dt_addr);
> > +
> > +    if ( dt_size && size )
> > +        *size = (paddr_t) (*dt_size);
> > +
> > +    return 0;
> > +}
> > +
> >   /*
> >    * Quirk for platforms where device tree incorrectly reports 4K GICC
> >    * size, but actually the two GICC register ranges are placed at 64K
> 
> Cheers,
> 
> -- 
> Julien Grall
> 


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 02:41:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 02:41:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465140.723752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6N89-00039h-K2; Sat, 17 Dec 2022 02:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465140.723752; Sat, 17 Dec 2022 02:40:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6N89-00039a-Fj; Sat, 17 Dec 2022 02:40:53 +0000
Received: by outflank-mailman (input) for mailman id 465140;
 Sat, 17 Dec 2022 02:40:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6N87-00039Q-Vv; Sat, 17 Dec 2022 02:40:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6N87-0006RR-Tf; Sat, 17 Dec 2022 02:40:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6N87-0004BR-IT; Sat, 17 Dec 2022 02:40:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6N87-00076C-Hp; Sat, 17 Dec 2022 02:40:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qJTClkWSbgjNwf/6BjArersxHpIK2bGa/RQuzpOESD0=; b=0/uGP5u5Aw6Vq8Noudzp7zkIfG
	RwlfgiDd5BB3VwkdtooDwyhXUtmY8dgfWOcMvOIgBaWV5i6DSOTvFf78zkJoD5Xg7KybHMIlcyzZ/
	YnJEOI0QUAreP6Om63Y8iR+n06CPVNEY0DgOrJOERQYXq+KN08yLCFqdOZjRP1NT0iqw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175338-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175338: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=316e6df435af81f8281150bb04b3dd5a304d9c92
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 02:40:51 +0000

flight 175338 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175338/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 316e6df435af81f8281150bb04b3dd5a304d9c92
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    2 days
Failing since        175214  2022-12-14 18:42:16 Z    2 days   13 attempts
Testing same since   175338  2022-12-16 22:40:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 459 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 03:21:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 03:21:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465150.723763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Nl4-0007R9-MN; Sat, 17 Dec 2022 03:21:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465150.723763; Sat, 17 Dec 2022 03:21:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Nl4-0007Qm-JM; Sat, 17 Dec 2022 03:21:06 +0000
Received: by outflank-mailman (input) for mailman id 465150;
 Sat, 17 Dec 2022 03:21:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6Nl2-0007Qa-Cu; Sat, 17 Dec 2022 03:21:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6Nl2-0007Q7-5s; Sat, 17 Dec 2022 03:21:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6Nl1-0005ub-RG; Sat, 17 Dec 2022 03:21:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6Nl1-0006FT-Qj; Sat, 17 Dec 2022 03:21:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=au6PbPoHgP9MNj9KsO/ZZgfZDdAW8LLOPMi61koLgiY=; b=xYgsdd0nAtG1UtmBXHQ74MUktE
	EbL+EIpyCWnaLecDxkKrqjlo951s8teqLabtaVcHK8n0LcOULzv+PY2NZtXI5NaLcBF3XlWY5NqWo
	2a6YB5iot8EfwMoKnEmAfOIZ8sGxpzjiUl4abOhmKcUU1Stq0dcF5vd1i+lR+VXgNmt8=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable bisection] complete test-amd64-amd64-xl-xsm
Message-Id: <E1p6Nl1-0006FT-Qj@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 03:21:03 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-xl-xsm
testid xen-boot

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Bug not present: eac84d9d579011f311d502317b74dc56e788463d
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175346/


  commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Author: Wei Chen <wei.chen@arm.com>
  Date:   Mon Dec 12 12:13:26 2022 +0100
  
      xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
      
      VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
      results in two lines of error-checking code in phys_to_nid
      that is not actually working and causing two compilation
      errors:
      1. error: "MAX_NUMNODES" undeclared (first use in this function).
         This is because in the common header file, "MAX_NUMNODES" is
         defined after the common header file includes the ARCH header
         file, where phys_to_nid has attempted to use "MAX_NUMNODES".
         This error was resolved after we moved the phys_to_nid from
         x86 ARCH header file to common header file.
      2. error: wrong type argument to unary exclamation mark.
         This is because, the error-checking code contains !node_data[nid].
         But node_data is a data structure variable, it's not a pointer.
      
      So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
      enable the two lines of error-checking code. And fix the left
      compilation errors by replacing !node_data[nid] to
      !node_data[nid].node_spanned_pages. Although NUMA allows one node
      can only have CPUs but without any memory. And node with 0 bytes
      of memory might have an entry in memnodemap[] theoretically. But
      that doesn't mean phys_to_nid can find any valid address from a
      node with 0 bytes memory.
      
      Signed-off-by: Wei Chen <wei.chen@arm.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-amd64-amd64-xl-xsm.xen-boot.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable/test-amd64-amd64-xl-xsm.xen-boot --summary-out=tmp/175346.bisection-summary --basis-template=175148 --blessings=real,real-bisect,real-retry xen-unstable test-amd64-amd64-xl-xsm xen-boot
Searching for failure / basis pass:
 175266 fail [host=himrod0] / 175154 [host=fiano1] 175148 [host=elbling1] 175144 [host=fiano0] 175141 [host=italia0] 175135 [host=pinot1] 175126 [host=godello1] 175104 [host=huxelrebe0] 175091 [host=chardonnay1] 175083 [host=chardonnay0] 175071 [host=huxelrebe1] 175066 [host=godello0] 175062 [host=elbling0] 175058 [host=nocera1] 175055 [host=pinot0] 175050 [host=sabro1] 175044 [host=nocera0] 175040 [host=debina1] 175037 [host=sabro0] 175031 [host=albana1] 175029 [host=nobling0] 175021 [host=ital\
 ia1] 175009 [host=albana0] 174999 ok.
Failure / basis pass flights: 175266 / 174999
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 345135942bf9632eba1409ba432cfcae3b7649c7
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-c3038e718a19fc596f7b1baba0f83d5146dc7784 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7\
 a0bedfaa6-b746458e1ce1bec85e58b458386f8b7a0bedfaa6 git://xenbits.xen.org/xen.git#345135942bf9632eba1409ba432cfcae3b7649c7-630dc3798e1d0d1b95f7be8b176563eb40e866e5
Loaded 5001 nodes in revision graph
Searching for test results:
 174930 [host=godello0]
 174944 [host=pinot1]
 174950 [host=chardonnay1]
 174966 [host=italia0]
 174972 [host=chardonnay0]
 174984 [host=debina0]
 174994 [host=nobling1]
 174999 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 345135942bf9632eba1409ba432cfcae3b7649c7
 175009 [host=albana0]
 175021 [host=italia1]
 175029 [host=nobling0]
 175031 [host=albana1]
 175037 [host=sabro0]
 175040 [host=debina1]
 175044 [host=nocera0]
 175050 [host=sabro1]
 175055 [host=pinot0]
 175058 [host=nocera1]
 175062 [host=elbling0]
 175066 [host=godello0]
 175071 [host=huxelrebe1]
 175083 [host=chardonnay0]
 175091 [host=chardonnay1]
 175104 [host=huxelrebe0]
 175126 [host=godello1]
 175135 [host=pinot1]
 175141 [host=italia0]
 175144 [host=fiano0]
 175148 [host=elbling1]
 175154 [host=fiano1]
 175168 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 bc19af0bd4b8d0bb817defa4470873c80f67b6c2
 175180 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 bc19af0bd4b8d0bb817defa4470873c80f67b6c2
 175189 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175208 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175266 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175308 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 345135942bf9632eba1409ba432cfcae3b7649c7
 175309 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175313 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 32ae027f81aed2812ac4025c403f0b32ecfac7f7
 175315 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 db92cb450dd7ad5eb103819d26b737cdc054ce4a
 175318 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
 175322 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 d25aeb176e6c771cbe2b75f51a35031f93703603
 175325 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 15dccc881d0636991955162a11a202023e13a313
 175326 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 9bbfd7b14c4ad3774d88fe6430ab8726720633ec
 175329 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175330 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
 175334 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175337 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
 175341 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175346 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
Searching for interesting versions
 Result found: flight 174999 (pass), for basis pass
 For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d, results HASH(0x55ef405f72f0) HASH(0x55ef405ffe98) HASH(0x55ef40602080) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1\
 ce1bec85e58b458386f8b7a0bedfaa6 9bbfd7b14c4ad3774d88fe6430ab8726720633ec, results HASH(0x55ef40012a88) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 15dccc881d0636991955162a11a202023e13a313, results HASH(0x55ef400ace70) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f\
 0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 d25aeb176e6c771cbe2b75f51a35031f93703603, results HASH(0x55ef405fcfb8) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 db92cb450dd7ad5eb103819d26b737cdc054ce4a, results HASH(0x55ef3ff21ed8) For basis failure, parent search stopping at c3038e718a19\
 fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 32ae027f81aed2812ac4025c403f0b32ecfac7f7, results HASH(0x55ef4055a558) For basis failure, parent search stopping at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 345135942bf9632eba1409ba432cfcae3b7649c7, results HASH(0x55ef40569b0\
 8) HASH(0x55ef405fd2b8) Result found: flight 175168 (fail), for basis failure (at ancestor ~845)
 Repro found: flight 175308 (pass), for basis pass
 Repro found: flight 175309 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
No revisions left to test, checking graph state.
 Result found: flight 175329 (pass), for last pass
 Result found: flight 175330 (fail), for first failure
 Repro found: flight 175334 (pass), for last pass
 Repro found: flight 175337 (fail), for first failure
 Repro found: flight 175341 (pass), for last pass
 Repro found: flight 175346 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Bug not present: eac84d9d579011f311d502317b74dc56e788463d
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175346/


  commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Author: Wei Chen <wei.chen@arm.com>
  Date:   Mon Dec 12 12:13:26 2022 +0100
  
      xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
      
      VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
      results in two lines of error-checking code in phys_to_nid
      that is not actually working and causing two compilation
      errors:
      1. error: "MAX_NUMNODES" undeclared (first use in this function).
         This is because in the common header file, "MAX_NUMNODES" is
         defined after the common header file includes the ARCH header
         file, where phys_to_nid has attempted to use "MAX_NUMNODES".
         This error was resolved after we moved the phys_to_nid from
         x86 ARCH header file to common header file.
      2. error: wrong type argument to unary exclamation mark.
         This is because, the error-checking code contains !node_data[nid].
         But node_data is a data structure variable, it's not a pointer.
      
      So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
      enable the two lines of error-checking code. And fix the left
      compilation errors by replacing !node_data[nid] to
      !node_data[nid].node_spanned_pages. Although NUMA allows one node
      can only have CPUs but without any memory. And node with 0 bytes
      of memory might have an entry in memnodemap[] theoretically. But
      that doesn't mean phys_to_nid can find any valid address from a
      node with 0 bytes memory.
      
      Signed-off-by: Wei Chen <wei.chen@arm.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/test-amd64-amd64-xl-xsm.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
175346: tolerable ALL FAIL

flight 175346 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/175346/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-xsm       8 xen-boot                fail baseline untested


jobs:
 test-amd64-amd64-xl-xsm                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Sat Dec 17 03:37:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 03:37:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465164.723780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6O14-0000eg-By; Sat, 17 Dec 2022 03:37:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465164.723780; Sat, 17 Dec 2022 03:37:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6O14-0000eZ-6e; Sat, 17 Dec 2022 03:37:38 +0000
Received: by outflank-mailman (input) for mailman id 465164;
 Sat, 17 Dec 2022 03:37:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6O13-0000eP-1A; Sat, 17 Dec 2022 03:37:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6O12-0007hx-UB; Sat, 17 Dec 2022 03:37:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6O12-0006qZ-Hz; Sat, 17 Dec 2022 03:37:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6O12-0006Pc-HW; Sat, 17 Dec 2022 03:37:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=oZODUz1wiHHS4r4xCf1xzfXK70ftRemQGVnPa/RCODA=; b=dZkKidr0ZBwmC+5f/IwLIHd+nM
	wb7LzzkZ8lNC4IcHXmJzoK1iQxGVMpXXjQxbJHsF6F8nKlVHe6JwzRayx4HVg+F9UruGHgqUGOR7E
	lBqe3D2daRBE93H+8WbbntuO0TeEac244RJkoeFCC5n9SVKfiB/MN8EI9prnMD9xo9xY=;
To: xen-devel@lists.xenproject.org
Subject: [ovmf bisection] complete test-amd64-amd64-xl-qemuu-ovmf-amd64
Message-Id: <E1p6O12-0006Pc-HW@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 03:37:36 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-xl-qemuu-ovmf-amd64
testid debian-hvm-install

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf https://github.com/tianocore/edk2.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf https://github.com/tianocore/edk2.git
  Bug introduced:  cda98df16228970dcf9a4ce2af5368219711b4b0
  Bug not present: 81bbc1452c972218f071cd4a8f5899df974b1dae
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175348/


  commit cda98df16228970dcf9a4ce2af5368219711b4b0
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   Fri Dec 2 14:10:09 2022 +0100
  
      OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported
      
      Remove global variables, store the state in PlatformInfoHob instead.
      Probing for fw_cfg happens on first use, at library initialization
      time the Hob might not be present yet.
      
      Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
      Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
      Acked-by: Ard Biesheuvel <ardb@kernel.org>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/ovmf/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/ovmf/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install --summary-out=tmp/175348.bisection-summary --basis-template=175202 --blessings=real,real-bisect,real-retry ovmf test-amd64-amd64-xl-qemuu-ovmf-amd64 debian-hvm-install
Searching for failure / basis pass:
 175338 fail [host=fiano1] / 175202 [host=sabro0] 175187 [host=debina0] 175182 [host=huxelrebe1] 175176 [host=fiano0] 175172 [host=pinot0] 175151 [host=pinot1] 175149 [host=italia0] 175142 [host=godello0] 175124 [host=debina1] 175119 [host=elbling0] 175101 [host=sabro1] 175093 [host=nobling0] 175090 [host=nobling1] 175085 [host=huxelrebe0] 175064 [host=albana1] 175059 [host=chardonnay1] 175047 [host=nocera1] 175045 [host=albana0] 175033 [host=chardonnay0] 175026 [host=godello1] 175017 [host=himr\
 od0] 175014 [host=nocera0] 175003 [host=elbling1] 175001 [host=italia1] 174992 [host=debina0] 174990 [host=sabro0] 174987 ok.
Failure / basis pass flights: 175338 / 174987
(tree with no url: minios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf https://github.com/tianocore/edk2.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 316e6df435af81f8281150bb04b3dd5a304d9c92 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 1cf02b05b27c48775a25699e61b93b814b9ae042 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b92e0495221a3b298b069d9fb01e48fd2a0469f6 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba 345135942bf9632eba1409ba432cfcae3b7649c7
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-c3038e718a19fc596f7b1baba0f83d5146dc7784 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 https://github.com/tianocore/edk2.git#b92e0495221a3b298b069d9fb01e48fd2a0469f6-316e6df435af81f8281150bb04b3dd5a304d9c92 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c743\
 7ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7a0bedfaa6-1cf02b05b27c48775a25699e61b93b814b9ae042 git://xenbits.xen.org/osstest/seabios.git#645a64b4911d7cadf5749d7375544fc2384e70ba-645a64b4911d7cadf5749d7375544fc2384e70ba git://xenbits.xen.org/xen.git#345135942bf9632eba1409ba432cfcae3b7649c7-f86d0a1ff200264aaf80b65d7d200a3ba19c7845
Loaded 35030 nodes in revision graph
Searching for test results:
 174987 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b92e0495221a3b298b069d9fb01e48fd2a0469f6 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba 345135942bf9632eba1409ba432cfcae3b7649c7
 174990 [host=sabro0]
 174992 [host=debina0]
 175001 [host=italia1]
 175003 [host=elbling1]
 175014 [host=nocera0]
 175017 [host=himrod0]
 175026 [host=godello1]
 175033 [host=chardonnay0]
 175045 [host=albana0]
 175047 [host=nocera1]
 175059 [host=chardonnay1]
 175064 [host=albana1]
 175090 [host=nobling1]
 175085 [host=huxelrebe0]
 175093 [host=nobling0]
 175101 [host=sabro1]
 175119 [host=elbling0]
 175124 [host=debina1]
 175142 [host=godello0]
 175149 [host=italia0]
 175151 [host=pinot1]
 175172 [host=pinot0]
 175176 [host=fiano0]
 175182 [host=huxelrebe1]
 175187 [host=debina0]
 175202 [host=sabro0]
 175214 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cda98df16228970dcf9a4ce2af5368219711b4b0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175221 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cda98df16228970dcf9a4ce2af5368219711b4b0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175225 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cda98df16228970dcf9a4ce2af5368219711b4b0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175244 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 01c0d3c0d508b8c1b41fd58e2ec565b40ea000ca 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175235 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 44fc90eb0ea7299abc79577db55aa6257b46b7ae 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175257 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 01c0d3c0d508b8c1b41fd58e2ec565b40ea000ca 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175263 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e3f5bb21c0a2c1368c43713cf7f4b51097259af 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175286 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b92e0495221a3b298b069d9fb01e48fd2a0469f6 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba 345135942bf9632eba1409ba432cfcae3b7649c7
 175290 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e3f5bb21c0a2c1368c43713cf7f4b51097259af 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175293 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 7bee2498910a9034faaf90802c49188afb7582dc 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba 3ea18e9e263778e0ef5c654d5a0a69c272b476b8
 175273 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3e3f5bb21c0a2c1368c43713cf7f4b51097259af 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175298 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 127e2c531556b968a51e8e2191d6e4580281856a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba d7669c101427c1504517418e832fb760ae89e6bc
 175300 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1fd8d08970a9ee7d350c7dd42bffb0cb96426041 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175305 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 00743d144bc5b643e9323ad66f16cb48cf338705 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175307 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4bc2c748516e5c4a8bb86093cd5e1b80a9f35c0f 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175303 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 0adc35fccd59c8c5171273319ec899aa48fc2c35 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175310 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f6a196c7eb34affff0cfe1864e126953096885e1 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175312 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e59747bd8246135faeecc18879d62db66a6acfc2 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175311 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e254c71e9eaee6b14eba65e89e906576f3f1abc7 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 1cf02b05b27c48775a25699e61b93b814b9ae042 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175317 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 81bbc1452c972218f071cd4a8f5899df974b1dae 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175320 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b92e0495221a3b298b069d9fb01e48fd2a0469f6 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba 345135942bf9632eba1409ba432cfcae3b7649c7
 175319 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e254c71e9eaee6b14eba65e89e906576f3f1abc7 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 1cf02b05b27c48775a25699e61b93b814b9ae042 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175324 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e254c71e9eaee6b14eba65e89e906576f3f1abc7 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 1cf02b05b27c48775a25699e61b93b814b9ae042 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175328 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cda98df16228970dcf9a4ce2af5368219711b4b0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175331 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 81bbc1452c972218f071cd4a8f5899df974b1dae 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175327 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 e254c71e9eaee6b14eba65e89e906576f3f1abc7 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 1cf02b05b27c48775a25699e61b93b814b9ae042 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175336 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cda98df16228970dcf9a4ce2af5368219711b4b0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175340 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 81bbc1452c972218f071cd4a8f5899df974b1dae 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175338 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 316e6df435af81f8281150bb04b3dd5a304d9c92 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 1cf02b05b27c48775a25699e61b93b814b9ae042 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175348 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 cda98df16228970dcf9a4ce2af5368219711b4b0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
Searching for interesting versions
 Result found: flight 174987 (pass), for basis pass
 Result found: flight 175311 (fail), for basis failure (at ancestor ~9)
 Repro found: flight 175320 (pass), for basis pass
 Repro found: flight 175338 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 81bbc1452c972218f071cd4a8f5899df974b1dae 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 645a64b4911d7cadf5749d7375544fc2384e70ba f86d0a1ff200264aaf80b65d7d200a3ba19c7845
No revisions left to test, checking graph state.
 Result found: flight 175317 (pass), for last pass
 Result found: flight 175328 (fail), for first failure
 Repro found: flight 175331 (pass), for last pass
 Repro found: flight 175336 (fail), for first failure
 Repro found: flight 175340 (pass), for last pass
 Repro found: flight 175348 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  ovmf https://github.com/tianocore/edk2.git
  Bug introduced:  cda98df16228970dcf9a4ce2af5368219711b4b0
  Bug not present: 81bbc1452c972218f071cd4a8f5899df974b1dae
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175348/


  commit cda98df16228970dcf9a4ce2af5368219711b4b0
  Author: Gerd Hoffmann <kraxel@redhat.com>
  Date:   Fri Dec 2 14:10:09 2022 +0100
  
      OvmfPkg/QemuFwCfgLib: remove mQemuFwCfgSupported + mQemuFwCfgDmaSupported
      
      Remove global variables, store the state in PlatformInfoHob instead.
      Probing for fw_cfg happens on first use, at library initialization
      time the Hob might not be present yet.
      
      Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
      Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
      Acked-by: Ard Biesheuvel <ardb@kernel.org>

Revision graph left in /home/logs/results/bisect/ovmf/test-amd64-amd64-xl-qemuu-ovmf-amd64.debian-hvm-install.{dot,ps,png,html,svg}.
----------------------------------------
175348: tolerable ALL FAIL

flight 175348 ovmf real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/175348/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail baseline untested


jobs:
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Sat Dec 17 03:42:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 03:42:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465174.723791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6O5J-00024F-Vi; Sat, 17 Dec 2022 03:42:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465174.723791; Sat, 17 Dec 2022 03:42:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6O5J-000248-Q5; Sat, 17 Dec 2022 03:42:01 +0000
Received: by outflank-mailman (input) for mailman id 465174;
 Sat, 17 Dec 2022 03:42:01 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6O5J-00023y-8o; Sat, 17 Dec 2022 03:42:01 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6O5J-0007mP-7v; Sat, 17 Dec 2022 03:42:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6O5J-00078r-22; Sat, 17 Dec 2022 03:42:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6O5J-0003jM-1Y; Sat, 17 Dec 2022 03:42:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5zLbThq69HRAtPEo263BcVyuLz89WoSrhMvdDHRMaH8=; b=yFIlkrhXYTDoZiTpvMTfOpIist
	a7/qqUxDAzcHWd/Uh85NDa5+JBAnRFtUdgjDX/WOWe6AVzjO3GG14uiLgn6CGz7s0PNNL55PCR8wy
	1VM5m890D9d2IV38KCs2XzuiY+cVNQvO6IiTwut7EpKUV2V5mlmsldWaWkM5GyvzUOIw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175343-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175343: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
X-Osstest-Versions-That:
    xen=c8aaebccc8e8fb5d90080e664202b0011ce4d0bd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 03:42:01 +0000

flight 175343 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175343/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2
baseline version:
 xen                  c8aaebccc8e8fb5d90080e664202b0011ce4d0bd

Last test of basis   175292  2022-12-15 20:00:29 Z    1 days
Testing same since   175333  2022-12-16 20:00:39 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c8aaebccc8..12b593ca0d  12b593ca0d61ef884c2f2de15ed36b4900fc92b2 -> smoke


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 07:04:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 07:04:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465190.723820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6RFQ-0005EM-A1; Sat, 17 Dec 2022 07:04:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465190.723820; Sat, 17 Dec 2022 07:04:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6RFQ-0005EF-6Q; Sat, 17 Dec 2022 07:04:40 +0000
Received: by outflank-mailman (input) for mailman id 465190;
 Sat, 17 Dec 2022 07:04:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6RFP-0005E5-AI; Sat, 17 Dec 2022 07:04:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6RFP-0004oM-4t; Sat, 17 Dec 2022 07:04:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6RFO-0007e9-Po; Sat, 17 Dec 2022 07:04:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6RFO-0005FE-PI; Sat, 17 Dec 2022 07:04:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FkyDy11vVurf4nAHFfGi8xLa9EuSPwA8ndRq/Hoowoo=; b=hPIDxMHJ5wlhMiKLHinAJe/K0a
	SY0pINk8GE6JxEQqGBgpvDqzUa2cmQM5eDcuaajCEw1iOlXrWYxCxjecdTZmEIk1FwUm0iQ9+HTqP
	oI9iDRQ6OhoT5EcR0+nGeLF340Gyl7UtdpDTDpFgXC8O/yX0Yjuf9EOAZgzV2mltxGOA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175332-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175332: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-coresched-amd64-xl:<job status>:broken:regression
    xen-unstable:test-amd64-i386-livepatch:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-libvirt:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-freebsd10-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-i386-xl-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-vhd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-boot:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-xl-qcow2:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-freebsd11-amd64:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    xen-unstable:test-xtf-amd64-amd64-5:xen-boot:fail:regression
    xen-unstable:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-pygrub:xen-boot:fail:regression
    xen-unstable:test-amd64-amd64-examine-uefi:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine:reboot:fail:regression
    xen-unstable:test-amd64-amd64-examine-bios:reboot:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/src_host:fail:regression
    xen-unstable:test-amd64-i386-pair:xen-boot/dst_host:fail:regression
    xen-unstable:test-amd64-coresched-amd64-xl:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:xen-install:fail:heisenbug
    xen-unstable:test-xtf-amd64-amd64-1:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-pair:xen-install/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-livepatch:xen-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c8aaebccc8e8fb5d90080e664202b0011ce4d0bd
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 07:04:38 +0000

flight 175332 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175332/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl    <job status>                 broken in 175314
 test-amd64-i386-livepatch     8 xen-boot                 fail REGR. vs. 175144
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 175148
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 175148
 test-xtf-amd64-amd64-2        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 175148
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 175148
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 175148
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 175148
 test-amd64-i386-qemuu-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-freebsd10-amd64  8 xen-boot              fail REGR. vs. 175148
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 175148
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 175148
 test-amd64-i386-xl-xsm        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 175148
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  8 xen-boot  fail REGR. vs. 175148
 test-amd64-i386-xl-vhd        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-i386-qemut-rhel6hvm-amd  8 xen-boot           fail REGR. vs. 175148
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 175148
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 175148
 test-amd64-amd64-xl-qcow2     8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-dom0pvh-xl-intel  8 xen-boot            fail REGR. vs. 175148
 test-amd64-amd64-qemuu-freebsd11-amd64  8 xen-boot       fail REGR. vs. 175148
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 175148
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 175148
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 175148
 test-xtf-amd64-amd64-5        8 xen-boot                 fail REGR. vs. 175148
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 175148
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 175148
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 175148
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 175148
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 175148
 test-amd64-i386-pair      12 xen-boot/src_host fail in 175314 REGR. vs. 175148
 test-amd64-i386-pair      13 xen-boot/dst_host fail in 175314 REGR. vs. 175148

Tests which are failing intermittently (not blocking):
 test-amd64-coresched-amd64-xl 5 host-install(5) broken in 175314 pass in 175332
 test-amd64-i386-xl-vhd        7 xen-install      fail in 175314 pass in 175332
 test-xtf-amd64-amd64-1        8 xen-boot                   fail pass in 175314
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot           fail pass in 175314
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail pass in 175314
 test-amd64-amd64-xl           8 xen-boot                   fail pass in 175314
 test-amd64-i386-pair         10 xen-install/src_host       fail pass in 175314
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 20 guest-start/debianhvm.repeat fail pass in 175314

Tests which did not succeed, but are not blocking:
 test-amd64-i386-livepatch     7 xen-install         fail in 175314 like 175148
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175148
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175148
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175148
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175148
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175148
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175148
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175148
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  c8aaebccc8e8fb5d90080e664202b0011ce4d0bd
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175148  2022-12-12 01:53:19 Z    5 days
Failing since        175154  2022-12-12 15:07:03 Z    4 days   10 attempts
Testing same since   175314  2022-12-16 09:40:12 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien@xen.org>
  Luca Fancellu <luca.fancellu@arm.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Viresh Kumar <viresh.kumar@linaro.org>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       fail    
 test-xtf-amd64-amd64-2                                       fail    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       fail    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              fail    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        fail    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-coresched-amd64-xl broken

Not pushing.

(No revision log; it would be 914 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 08:38:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 08:38:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465209.723836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Shl-0006Zu-KU; Sat, 17 Dec 2022 08:38:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465209.723836; Sat, 17 Dec 2022 08:38:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Shl-0006Zn-Hc; Sat, 17 Dec 2022 08:38:01 +0000
Received: by outflank-mailman (input) for mailman id 465209;
 Sat, 17 Dec 2022 08:38:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6Shk-0006Zd-Bq; Sat, 17 Dec 2022 08:38:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6Shk-0007Rr-8e; Sat, 17 Dec 2022 08:38:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6Shj-0001LQ-Tu; Sat, 17 Dec 2022 08:37:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6Shj-0006PB-TT; Sat, 17 Dec 2022 08:37:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VCeV1HO6DvvxPVkzZkqvToGMBRAoABvxw0Ib5UMCo+A=; b=zatJ0mKrV2sV12IFqm3ndziveb
	z8LDovWQ5sk6ByqWO8mZ1Dsh1Xujve+qzM0JOstkLf+kwZPgwYA9yNtDEcLNRaA84n0fIx7AGCsQ8
	KJ2xYa4SyY/HQvvAzpj+NjRPu66vpm5Nid4t/SW6uABMsC4w6r+UQOaTVh/kiZPpJH48=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175344-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175344: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-localmigrate/x10:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=d038d2645acabf6f52fd61baeaa021c3ebe97714
X-Osstest-Versions-That:
    qemuu=4208e6ae114ac8266dcacc9696a443ce5c37b04e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 08:37:59 +0000

flight 175344 qemu-mainline real [real]
flight 175355 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175344/
http://logs.test-lab.xenproject.org/osstest/logs/175355/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qcow2 19 guest-localmigrate/x10 fail pass in 175355-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175321
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175321
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175321
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175321
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175321
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175321
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175321
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175321
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                d038d2645acabf6f52fd61baeaa021c3ebe97714
baseline version:
 qemuu                4208e6ae114ac8266dcacc9696a443ce5c37b04e

Last test of basis   175321  2022-12-16 12:38:23 Z    0 days
Testing same since   175344  2022-12-17 00:08:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Emanuele Giuseppe Esposito <eesposit@redhat.com>
  Kevin Wolf <kwolf@redhat.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Vladimir Sementsov-Ogievskiy <vladimir.sementsov-ogievskiy@openvz.org>
  Vladimir Sementsov-Ogievskiy <vsementsov@openvz.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   4208e6ae11..d038d2645a  d038d2645acabf6f52fd61baeaa021c3ebe97714 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 08:42:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 08:42:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465220.723848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Sln-0007yN-5q; Sat, 17 Dec 2022 08:42:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465220.723848; Sat, 17 Dec 2022 08:42:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Sln-0007yG-37; Sat, 17 Dec 2022 08:42:11 +0000
Received: by outflank-mailman (input) for mailman id 465220;
 Sat, 17 Dec 2022 08:42:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p6Sll-0007xp-7q
 for xen-devel@lists.xenproject.org; Sat, 17 Dec 2022 08:42:09 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p6Slk-0007Wy-PL; Sat, 17 Dec 2022 08:42:08 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p6Slk-0001WB-K2; Sat, 17 Dec 2022 08:42:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=m2oBSjp3Md63xNkIVbVLbrlH8PMJdDtLWnM6if9dxqQ=; b=coxEaOjv9pFKatN9J7TuIcqOgR
	GRdeBBKkRmQBBGyForimnvyh9YlAG4D8FVIlSxRMoGwZ1AzdQ5lN4ragJF4bhRFVSCv5KZieOajuk
	0OOCif4xiEY52+pH4lLpTxqQEiPjI1Vd3ZDnMWfidrHktD7PRwCavCzdnIzYWTW0pK8s=;
Message-ID: <74786a57-d99a-6cfe-f475-df11c0d93afa@xen.org>
Date: Sat, 17 Dec 2022 08:42:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-3-ayan.kumar.halder@amd.com>
 <b58c6548-9e70-0ed9-07a9-e35084620c36@xen.org>
 <alpine.DEB.2.22.394.2212161643400.315094@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
Subject: Re: [XEN v1 2/9] xen/arm: Define translate_dt_address_size() for the
 translation between u64 and paddr_t
In-Reply-To: <alpine.DEB.2.22.394.2212161643400.315094@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 17/12/2022 00:46, Stefano Stabellini wrote:
> On Fri, 16 Dec 2022, Julien Grall wrote:
>> Hi Ayan,
>>
>> On 15/12/2022 19:32, Ayan Kumar Halder wrote:
>>> paddr_t may be u64 or u32 depending of the type of architecture.
>>> Thus, while translating between u64 and paddr_t, one should check that the
>>> truncated bits are 0. If not, then raise an appropriate error.
>>
>> I am not entirely convinced this extra helper is worth it. If the user can't
>> provide 32-bit address in the DT, then there are also a lot of other part that
>> can go wrong.
>>
>> Bertrand, Stefano, what do you think?
> 
> In general, it is not Xen's job to protect itself against bugs in device
> tree. However, if Xen spots a problem in DT and prints a helpful message
> that is better than just crashing because it gives a hint to the
> developer about what the problem is.

I agree with the principle. In practice this needs to be weight out with 
the long-term maintenance.

> 
> In this case, I think a BUG_ON would be sufficient.

BUG_ON() is the same as panic(). They both should be used only when 
there are no way to recover (see CODING_STYLE).

If we parse the device-tree at boot, then BUG_ON() is ok. However, if we 
need to parse it after boot (e.g. the DT overlay from Vikram), then we 
should definitely not call BUG_ON() for checking DT input.

The correct way is like Ayan did by checking returning an error and let
the caller deciding what to do.

My concern with his approach is the extra amount of code in each caller 
to check it (even with a new helper).

I am not fully convinced that checking the addresses in the DT is that 
useful. However, if you both want to do it, then I think it would be 
best to introduce wrappers over the Device-Tree ones that will check the 
truncation.

For example, we could introduce dt_device_get_address_checked()
that will call dt_device_get_address() and then check for 32-bit truncation.

For the function device_tree_get_reg(), this helper was aimed to deal 
with just Physical address 'reg' very early. So we can modify the 
prototype and update the function to check for 32-bit truncation.

Note that I am suggesting a different approach for the two helpers 
because the former is generic and it is not clear to me whether this 
could be used in another context than physical address.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 10:19:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 10:19:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465240.723871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6UHr-0000Jy-RP; Sat, 17 Dec 2022 10:19:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465240.723871; Sat, 17 Dec 2022 10:19:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6UHr-0000Jr-NM; Sat, 17 Dec 2022 10:19:23 +0000
Received: by outflank-mailman (input) for mailman id 465240;
 Sat, 17 Dec 2022 10:19:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6UHq-0000Jh-DC; Sat, 17 Dec 2022 10:19:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6UHq-0001WB-At; Sat, 17 Dec 2022 10:19:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6UHp-0000II-SM; Sat, 17 Dec 2022 10:19:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6UHp-00008m-Rp; Sat, 17 Dec 2022 10:19:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=o2y82mJ88GVh4CcvkMfJKEY2V9TGgw3eBw70Kc0lQqk=; b=wlju3hr8xTOTyrT4wQsB3WFox1
	IisTz9QFJc/Gwae/1pOyB8/DJrOexmPXVE9zV0emlNalyAVJuyyRl8uRTG78pZkRZWLQeJVKzXTJq
	g2maIT9ygy7oAkxV8TwzToIX5YR4ONB1FoP/QScjuTEnoRCxE+vkgeicrNtALNdhDY7c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175349-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175349: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=316e6df435af81f8281150bb04b3dd5a304d9c92
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 10:19:21 +0000

flight 175349 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175349/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 316e6df435af81f8281150bb04b3dd5a304d9c92
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    2 days
Failing since        175214  2022-12-14 18:42:16 Z    2 days   14 attempts
Testing same since   175338  2022-12-16 22:40:53 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 459 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 11:16:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 11:16:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465253.723887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6VAv-0006Pw-0T; Sat, 17 Dec 2022 11:16:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465253.723887; Sat, 17 Dec 2022 11:16:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6VAu-0006Pp-U0; Sat, 17 Dec 2022 11:16:16 +0000
Received: by outflank-mailman (input) for mailman id 465253;
 Sat, 17 Dec 2022 11:16:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6VAt-0006Pf-Sq; Sat, 17 Dec 2022 11:16:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6VAt-0002do-Ow; Sat, 17 Dec 2022 11:16:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6VAt-0002kY-DA; Sat, 17 Dec 2022 11:16:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6VAt-0003R6-Cg; Sat, 17 Dec 2022 11:16:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8FKiJNh0cRQKgJ4DqGR/6Gr7uDz/UWI4qxqibaXV8QA=; b=elKxPS9+jUETwxWQc5CuhRugRx
	KmsGZMzphlD9HvMKpU0As313Y0/uGxJiB8A3A02StvqXtlJYY4NFUHU9D5HDEuOXrJaReCTOs6ms4
	af2/xqnKE/KS5WCfhLs9LbgxGfQIvHOR49pWei3QjtcWvTjJxIG+/36JKW7hoKnADEOE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175345-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175345: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=77856d911a8c8724ee8e2b09d55979fc1de8f1c0
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 11:16:15 +0000

flight 175345 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175345/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2 19 guest-start/debian.repeat fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                77856d911a8c8724ee8e2b09d55979fc1de8f1c0
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   70 days
Failing since        173470  2022-10-08 06:21:34 Z   70 days  142 attempts
Testing same since   175345  2022-12-17 00:42:20 Z    0 days    1 attempts

------------------------------------------------------------
3120 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 461458 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 13:10:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 13:10:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465270.723911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6WxE-0001Jh-JD; Sat, 17 Dec 2022 13:10:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465270.723911; Sat, 17 Dec 2022 13:10:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6WxE-0001Ja-Fi; Sat, 17 Dec 2022 13:10:16 +0000
Received: by outflank-mailman (input) for mailman id 465270;
 Sat, 17 Dec 2022 13:10:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6WxC-0001JQ-Kf; Sat, 17 Dec 2022 13:10:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6WxC-0005D0-Iq; Sat, 17 Dec 2022 13:10:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6WxC-00070p-7T; Sat, 17 Dec 2022 13:10:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6WxC-0005Ch-71; Sat, 17 Dec 2022 13:10:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BHApxlOUjaZ42IHl70+Cd5SgwQi/CGV6gdEBzeVChnE=; b=zU5pXlEhMv2XqFdBh5MBD0qnqy
	SUcpATjCbDR/ngZoJhJJDFLiUeZw5nb8Kn8TJzrO5r1EyzwnoeDJrTR+VZETt/4A6ZQwBXn8VAXUg
	FPgwJaJ/ItyiH4CMmth8mEmJHj3VYbSQsEG5jNnd1n7cXCO0x9SKZpul0URToFYoNwKM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175359-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175359: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=316e6df435af81f8281150bb04b3dd5a304d9c92
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 13:10:14 +0000

flight 175359 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175359/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 316e6df435af81f8281150bb04b3dd5a304d9c92
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    2 days
Failing since        175214  2022-12-14 18:42:16 Z    2 days   15 attempts
Testing same since   175338  2022-12-16 22:40:53 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 459 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 14:18:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 14:18:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465282.723925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Y0a-0007hc-HA; Sat, 17 Dec 2022 14:17:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465282.723925; Sat, 17 Dec 2022 14:17:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Y0a-0007hV-DR; Sat, 17 Dec 2022 14:17:48 +0000
Received: by outflank-mailman (input) for mailman id 465282;
 Sat, 17 Dec 2022 14:17:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+cfq=4P=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1p6Y0Y-0007hN-7j
 for xen-devel@lists.xenproject.org; Sat, 17 Dec 2022 14:17:46 +0000
Received: from mail-pg1-x534.google.com (mail-pg1-x534.google.com
 [2607:f8b0:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 929aa947-7e15-11ed-91b6-6bf2151ebd3b;
 Sat, 17 Dec 2022 15:17:44 +0100 (CET)
Received: by mail-pg1-x534.google.com with SMTP id w37so3524569pga.5
 for <xen-devel@lists.xenproject.org>; Sat, 17 Dec 2022 06:17:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 929aa947-7e15-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xNfEddRIOphyC/U4i6KaIOkajJ1qtFPwVhN65+71iv4=;
        b=HTaeci6QMzAYrKlkHCibDPNesH6NQaFsq3gt8qsDvuoU81500fdPGn4uv1HcSnY3X5
         CARiaImyTb5o8SkSU+BQl+NzF0t+Yf5o5BHTKAm+WvI7SSD7dotyo4YyIuXvxquAOj4J
         Y20FmGSTG6duP2gemACPkmKXhHtGeVQtXwZ5cmnSnGLRh0UXR6oh/IB1faWQWGLWoSFP
         e9DGkYZOgDvWwgAY0UMXi0XTY9AcpmZZ7xyVezzEFSQNXjx0vFTJbz1C81kB/QNzTYNa
         4xCisy5PiI6ZCMqLfnA8IsVA+12hZj3RqdK6yVrDXzHa7KSd0qTH17/bHLIrOnHcLQ62
         nwew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xNfEddRIOphyC/U4i6KaIOkajJ1qtFPwVhN65+71iv4=;
        b=OMNhNBAJwB7DO6Jc8RF9lvLHvMgCpnZ0ARULhWPeb0P/URANtM/ILZutc8qLe87xAy
         geJy4wfdYOUWPw55GVvZgqkhNFfzIIPIGrtn4nSKx38hmk1JrG5hLe6VsAMZiFFiOy2o
         zjWYWyY28HTf5ejLGrl5UcOrNfWUlIm4WnpX1mJ7Pn/Qw7jufs/cMZcGKuqMlroNhMot
         YeUZ+DBilpVa8sZDim/t8sbuwHV7nfRDiQKDDPuLikRyQh1Yw2aNz6NNfwuBgT1Yh1J6
         wrKSV/Lzq0od58eoBvd+nyNBzYDxbFFip8z2d4oMR9+oghnuCskaWNAke9XLkXyLYJIJ
         l16g==
X-Gm-Message-State: ANoB5plNTdWpkdSMYutLrmKOwAf8PtVSojykS2tRVIp1ns9Bg1ki3+bm
	bMhMsko1eDMjn4z554oqwwvys3tyZyCLA6lY0mOwEA==
X-Google-Smtp-Source: AA0mqf4sJTQzxVAyuyfPndN+cFfXCetE5MzcyHYxSEjRglGqnXHR5+VpVD1/DTblX0u9sfsC1TWJzqUEUB+Gxw/fd3Q=
X-Received: by 2002:a62:b501:0:b0:573:1959:c356 with SMTP id
 y1-20020a62b501000000b005731959c356mr80489363pfe.51.1671286663082; Sat, 17
 Dec 2022 06:17:43 -0800 (PST)
MIME-Version: 1.0
References: <20221216220951.7597-1-philmd@linaro.org>
In-Reply-To: <20221216220951.7597-1-philmd@linaro.org>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Sat, 17 Dec 2022 14:17:31 +0000
Message-ID: <CAFEAcA_Foy+k80r=vjXx2JO1T=2qFT-_7uvPhAuoSz-=XDanBQ@mail.gmail.com>
Subject: Re: [PATCH] exec: Rename NEED_CPU_H -> CONFIG_TARGET
To: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, David Hildenbrand <david@redhat.com>, 
	=?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= <marcandre.lureau@redhat.com>, 
	xen-devel@lists.xenproject.org, Anthony Perard <anthony.perard@citrix.com>, 
	Richard Henderson <richard.henderson@linaro.org>, haxm-team@intel.com, 
	=?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>, 
	Eduardo Habkost <eduardo@habkost.net>, kvm@vger.kernel.org, 
	Wenchao Wang <wenchao.wang@intel.com>, =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>, 
	Roman Bolshakov <r.bolshakov@yadro.com>, qemu-arm@nongnu.org, 
	Cameron Esfahani <dirty@apple.com>, Kamil Rytarowski <kamil@netbsd.org>, Paul Durrant <paul@xen.org>, 
	Reinoud Zandijk <reinoud@netbsd.org>, Yanan Wang <wangyanan55@huawei.com>, 
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Sunil Muthuswamy <sunilmut@microsoft.com>, Peter Xu <peterx@redhat.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Thomas Huth <thuth@redhat.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 16 Dec 2022 at 22:09, Philippe Mathieu-Daud=C3=A9 <philmd@linaro.or=
g> wrote:
>
> 'NEED_CPU_H' guard target-specific code; it is defined by meson
> altogether with the 'CONFIG_TARGET' definition. Since the latter
> name is more meaningful, directly use it.
>
> Inspired-by: Peter Maydell <peter.maydell@linaro.org>
> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>

This feels to me like it's overloading the meaning of CONFIG_TARGET,
which at the moment is "the string which names the header file
with target-specific config definitions". I think I'd rather
we just renamed NEED_CPU_H to something a bit clearer, like
perhaps COMPILING_PER_TARGET (better suggestions welcome).

thanks
-- PMM


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 15:26:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 15:26:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465293.723941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Z56-0006Rx-Li; Sat, 17 Dec 2022 15:26:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465293.723941; Sat, 17 Dec 2022 15:26:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6Z56-0006Rq-JB; Sat, 17 Dec 2022 15:26:32 +0000
Received: by outflank-mailman (input) for mailman id 465293;
 Sat, 17 Dec 2022 15:26:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p6Z55-0006Rk-In
 for xen-devel@lists.xenproject.org; Sat, 17 Dec 2022 15:26:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p6Z53-0008Qd-AF; Sat, 17 Dec 2022 15:26:29 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p6Z53-0000vI-42; Sat, 17 Dec 2022 15:26:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=pmPoEEycSInrIphKy1irRiK7vbaRkCFjmE5wIu5XwFM=; b=j4O7wqMWqAt2Ch36xr/Y2tGP25
	gxU9rGKFvWYpkc5GEXJjnPlXqx6ikVlMOUxHktUcy3oDataYPfKB44iCqkKxq/W9L6VGBdIflg8fe
	jMmaXgV7nWcGu3CmHmyY4bjWo/1YOBaOYrcYh4vHDjxFBjOjMksigJXMg3G8ATdFc+10=;
Message-ID: <d87025d8-b653-d80e-22c0-05f052447706@xen.org>
Date: Sat, 17 Dec 2022 15:26:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
To: Stefano Stabellini <sstabellini@kernel.org>,
 Vikram Garhwal <vikram.garhwal@amd.com>
Cc: =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>,
 qemu-dev@xilinx.com, stefano.stabellini@amd.com,
 xen-devel@lists.xenproject.org, Peter Maydell <peter.maydell@linaro.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>,
 "open list:All patches CC here" <qemu-devel@nongnu.org>
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
 <20221202030003.11441-11-vikram.garhwal@amd.com> <871qphc0p3.fsf@linaro.org>
 <ade61d47-f8c0-09cc-1a44-faaaff87d76a@amd.com>
 <alpine.DEB.2.22.394.2212021429220.4039@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
Subject: Re: [QEMU][PATCH v2 10/11] hw/arm: introduce xenpv machine
In-Reply-To: <alpine.DEB.2.22.394.2212021429220.4039@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 02/12/2022 22:36, Stefano Stabellini wrote:
>> Do you know what Xen version your build env has?
> 
> I think Alex is just building against upstream Xen. GUEST_TPM_BASE is
> not defined there yet. I think we would need to introduce in
> xen_common.h something like:
> 
> #ifndef GUEST_TPM_BASE
> #define GUEST_TPM_BASE 0x0c000000
> #endif

I think this would be a big mistake to add the two lines above in QEMU.

Libxl is responsible for creating the domain and generating the firwmare 
tables. Any mismatch of values will be a real pain to debug.

Even if...

> 
> We already have similar code in xen_common.h for other things.  Also, it
> would be best to get GUEST_TPM_BASE defined upstream in Xen first.

... we introduce upstream first, the guest layout is not part of the 
stable ABI and therefore could change from release to release.

> 
> 
>> Another way to fix this(as Julien suggested) is by setting this GUEST_TPM_BASE
>> value via a property or something and user can set it via command line.
>>
>> @sstabellini@kernel.org, do you think of any other fix?
> 
> Setting the TPM address from the command line is nice and preferable to
> hardcoding the value in xen_common.h. It comes with the challenge that
> it is not very scalable (imagine we have a dozen emulated devices) but
> for now it is fine and a good way to start if you can arrange it.

It is not clear which one you think is not scalable. If this is the 
command line option approach, then I think this is unrealistic to ask 
every user to rebuild there QEMU just because the guest layout has changed.

Today the rebuild may only be necessary when switching to a new release. 
But in the future we may imagine a per-domain layout (e.g. for legacy 
purpose). So you will now need to request the user to have one QEMU 
built per domain.

How is that scalable?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 15:43:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 15:43:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465303.723955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6ZLG-0000SJ-2W; Sat, 17 Dec 2022 15:43:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465303.723955; Sat, 17 Dec 2022 15:43:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6ZLF-0000SC-Vv; Sat, 17 Dec 2022 15:43:13 +0000
Received: by outflank-mailman (input) for mailman id 465303;
 Sat, 17 Dec 2022 15:43:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6ZLE-0000S2-9P; Sat, 17 Dec 2022 15:43:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6ZLE-0000Ik-6q; Sat, 17 Dec 2022 15:43:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6ZLD-0004AC-Si; Sat, 17 Dec 2022 15:43:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6ZLD-0005Lo-SJ; Sat, 17 Dec 2022 15:43:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gMHEsUhOBWktx9eZ8g1yCa5ktUk4GUFAgu4eONHdOEU=; b=fHW4xQ9fpkV1LvPo3zP2tdjCHm
	ozbbLDiu8XZ/nScjWsl0RM7i1TL6BPbyW50otbKsMHRu20fsnoJzrPH6o3XUFBZMAgSqOZTpGI8rZ
	baN1P1eqXtW7ZTzUj9qrKsed5DoQzgmRkm3mAdQYzhDeOwofYyr/wDNA6ZYvYrUtvNeU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175364-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175364: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=316e6df435af81f8281150bb04b3dd5a304d9c92
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 15:43:11 +0000

flight 175364 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175364/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 316e6df435af81f8281150bb04b3dd5a304d9c92
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    3 days
Failing since        175214  2022-12-14 18:42:16 Z    2 days   16 attempts
Testing same since   175338  2022-12-16 22:40:53 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 459 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 15:53:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 15:53:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465314.723966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6ZUw-0001yL-0k; Sat, 17 Dec 2022 15:53:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465314.723966; Sat, 17 Dec 2022 15:53:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6ZUv-0001yE-UL; Sat, 17 Dec 2022 15:53:13 +0000
Received: by outflank-mailman (input) for mailman id 465314;
 Sat, 17 Dec 2022 15:53:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p6ZUu-0001y6-Iy
 for xen-devel@lists.xenproject.org; Sat, 17 Dec 2022 15:53:12 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p6ZUt-0000eC-MK; Sat, 17 Dec 2022 15:53:11 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p6ZUt-0001xz-Fq; Sat, 17 Dec 2022 15:53:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=TIOHSW/sI/bOW3uJfurFdY8Z5d7tAJ7IirRUjKcZ/Lg=; b=jS4yawNUFYqswHlDq6S7+GTFHF
	mqJ09sYjCvM5KMUiasKxZtlpZt+pjQthZSa5/rJWlmcVkNq9URAXgu/fc+ATt+XxLejtpgP1CFGS0
	8NZzOdrrWzgeT0MxVAc39qtra0l6/vXhv7005Jt77CO07FhkEbibPDJu0c5h1lNNlCTI=;
Message-ID: <92e35f8b-72d9-e55f-9218-3f21742c14c6@xen.org>
Date: Sat, 17 Dec 2022 15:53:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <f1745e62-8a46-e9af-6a79-592a5402a5f4@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH RFC 10/10] common: convert vCPU info area registration
In-Reply-To: <f1745e62-8a46-e9af-6a79-592a5402a5f4@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 19/10/2022 08:45, Jan Beulich wrote:
> Switch to using map_guest_area(). Noteworthy differences from
> map_vcpu_info():
> - remote vCPU-s are paused rather than checked for being down (which in
>    principle can change right after the check),
> - the domain lock is taken for a much smaller region,
> - areas could now be registered more than once, if we want this,
> - as a corner case registering the area at GFN 0 offset 0 is no longer
>    possible (this is considered an invalid de-registration request).
> 
> Note that this eliminates a bug in copy_vcpu_settings(): The function
> did allocate a new page regardless of the GFN already having a mapping,
> thus in particular breaking the case of two vCPU-s having their info
> areas on the same page.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> RFC: While the "no re-registration" check is retained, it is now racy.
>       If we really think it needs retaining _and_ properly enforcing,
>       then locking will be needed, but I don't think we can hold the
>       domain lock around a call to map_guest_area(), first and foremost
>       because of its use of vcpu_pause().

function like evtchn_2l_unmask() may access vcpu_info that is not the 
current one.

So I believe the check needs to be reatined and properly enforced. 
Otherwise, the old structure may still be used for a short time even if 
it has been freed.

> 
> RFC: Is the GFN 0 offset 0 behavioral change deemed acceptable?

I would say n  (See the previous discussion for more details).

> 
> RFC: To have just a single instance of casts to vcpu_info_t *,
>       introducing a macro (or inline function if header dependencies
>       permit) might be nice. However, the only sensible identifier for it
>       would imo be vcpu_info(). Yet we already have a macro of that name.
>       With some trickery it might be possible to overload the macro
>       (making the "field" argument optional), but this may not be
>       desirable for other reasons (it could e.g. be deemed confusing).

You might be able to reduce the number of cast by using local variables.

But it is not entirely clear why we can't use the existing vcpu_info() 
in many of the cases. For instance...


> 
> --- a/xen/arch/x86/include/asm/shared.h
> +++ b/xen/arch/x86/include/asm/shared.h
> @@ -27,16 +27,16 @@ static inline void arch_set_##field(stru
>   static inline type arch_get_##field(const struct vcpu *v)       \
>   {                                                               \
>       return !has_32bit_shinfo(v->domain) ?                       \
> -           v->vcpu_info->native.arch.field :                    \
> -           v->vcpu_info->compat.arch.field;                     \
> +           ((const vcpu_info_t *)v->vcpu_info_area.map)->native.arch.field : \
> +           ((const vcpu_info_t *)v->vcpu_info_area.map)->compat.arch.field;  \

... here.

>   }                                                               \
>   static inline void arch_set_##field(struct vcpu *v,             \
>                                       type val)                   \
>   {                                                               \
>       if ( !has_32bit_shinfo(v->domain) )                         \
> -        v->vcpu_info->native.arch.field = val;                  \
> +        ((vcpu_info_t *)v->vcpu_info_area.map)->native.arch.field = val; \
>       else                                                        \
> -        v->vcpu_info->compat.arch.field = val;                  \
> +        ((vcpu_info_t *)v->vcpu_info_area.map)->compat.arch.field = val; \

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 17:39:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 17:39:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465327.723983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6b97-0004Ck-N4; Sat, 17 Dec 2022 17:38:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465327.723983; Sat, 17 Dec 2022 17:38:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6b97-0004Cd-J0; Sat, 17 Dec 2022 17:38:49 +0000
Received: by outflank-mailman (input) for mailman id 465327;
 Sat, 17 Dec 2022 17:38:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6b95-0004CT-Pf; Sat, 17 Dec 2022 17:38:47 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6b95-0003xy-OY; Sat, 17 Dec 2022 17:38:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6b95-0006tv-AN; Sat, 17 Dec 2022 17:38:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6b95-0005hN-9t; Sat, 17 Dec 2022 17:38:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Sgx1OKoFOxX+ny2Xr/2RTx6j8QQEMA7YNe7dUoAROzQ=; b=qodsnnCb4a+yNyFExZlmHeMJ2q
	wWatV2G6R/0BmJ0pD1fuVWKdwx3hZUXACRLzPpFQtdfQ4zVsD9sqv8fswPgD8wLbL/tKA7EyiGxFj
	9YtwjtU01OoUpd+K2kITgHDpGFV1Lob2eGZN4cL9zIb1tKD1TYTTVT6NxNnesekgfXhA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175367-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175367: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=316e6df435af81f8281150bb04b3dd5a304d9c92
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 17:38:47 +0000

flight 175367 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175367/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 316e6df435af81f8281150bb04b3dd5a304d9c92
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    3 days
Failing since        175214  2022-12-14 18:42:16 Z    2 days   17 attempts
Testing same since   175338  2022-12-16 22:40:53 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 459 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 17:59:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 17:59:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465341.723998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6bSm-0006kB-GV; Sat, 17 Dec 2022 17:59:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465341.723998; Sat, 17 Dec 2022 17:59:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6bSm-0006k4-Dj; Sat, 17 Dec 2022 17:59:08 +0000
Received: by outflank-mailman (input) for mailman id 465341;
 Sat, 17 Dec 2022 17:59:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=1nnt=4P=neowutran.ovh=xen@srs-se1.protection.inumbo.net>)
 id 1p6bSl-0006jy-I0
 for xen-devel@lists.xenproject.org; Sat, 17 Dec 2022 17:59:07 +0000
Received: from neowutran.ovh (vps-eb112777.vps.ovh.net [51.83.40.211])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f74988e-7e34-11ed-8fd4-01056ac49cbb;
 Sat, 17 Dec 2022 18:59:06 +0100 (CET)
Received: from localhost.localdomain (82-65-208-184.subs.proxad.net
 [82.65.208.184])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384)
 (No client certificate requested)
 by neowutran.ovh (Postfix) with ESMTPSA id DF59660BCE;
 Sat, 17 Dec 2022 17:43:55 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f74988e-7e34-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=neowutran.ovh;
	s=my-selector-name; t=1671299036;
	bh=ScL+wM/r2vV7V3L6+5UAoO4L6OG34lleNzEkgMi2sEE=;
	h=From:To:Cc:Subject:Date;
	b=FxroflgekMr6WzByZ9sHoKq0bxc385HZi3FOLmxt4BZiPZ1xik00icFllTFXezu+g
	 ZWB/nV4wEwwyOfMDCKsNWsYpX0t3fFmXyYP679nvmpMAr89A0cASPjfGC0Xuka90/6
	 OpeoZSP/elMBAb2TqeJhpZXhSeun1vRrPNg1xwCexf8EMzm8BZrnMttB9seKVJ9ceE
	 8U4LSPPHUSx/jstGyYYJP9YAsHUs22aUWnuhb+BZWESxO78m3YHosb+v1j4vO2ocZN
	 /33SHlWXzJbcMwtcfjo4fM0zhVh6SGN5FwLXR8nnulh1QfI09bI2fGTTSplTIVs1X8
	 JoHsXJWjvIIgTJ3gjvvDrYGqDbQ41ZduZHsYvRBLlz/VYga4MTyItNKZXB3e86xAJq
	 GVyWAj/A/pn6EB5Jea6Ie34RBEO1BggYF0WZfwvq6xKgJBmCjkUepNYdxmpXZJwByK
	 UloI/qnJUzJIVl3VRNCKLecK28b/GLZQFGpduDNKnzqqtEkcsp0GG8F1r1A9pg22aG
	 7Ycw0ZU2wBkZ9SJOSheId5rwmY7qmIyhPxr6ErM9Up6QpuM66MugwbahNErjpsOuYY
	 m9cQVlCmQNLwCRYq8601hfbH8GKwW947rQh6Ue/OoeLnws4hr9SPANNNrgbD+lLcri
	 0FnFsqsTvSCtAaOEDA/VjHaM=
From: Neowutran <xen@neowutran.ovh>
To: xen-devel@lists.xenproject.org
Cc: Neowutran <xen@neowutran.ovh>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [Patch v1] Bug fix - Integer overflow when cpu frequency > u32 max value.
Date: Sat, 17 Dec 2022 18:42:05 +0100
Message-Id: <c1535eba0bba6fc1b91f975f434af0929d9d7c96.1671298923.git.git@neowutran.ovh>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

xen/arch/x86/time.c: Bug fix - Integer overflow when cpu frequency > u32 max value.

What is was trying to do: I was trying to install QubesOS on my new computer
(AMD zen4 processor). Guest VM were unusably slow / unusable.

What is the issue: The cpu frequency reported is wrong for linux guest in HVM
and PVH mode, and it cause issue with the TSC clocksource (for example).

Why this patch solved my issue:
The root cause it that "d->arch.tsc_khz" is a unsigned integer storing
the cpu frequency in khz. It get multiplied by 1000, so if the cpu frequency
is over ~4,294 Mhz (u32 max value), then it overflow.
I am solving the issue by adding an explicit cast to u64 to avoid the overflow.

---
 xen/arch/x86/time.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index b01acd390d..7c77ec8902 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -2585,7 +2585,7 @@ int tsc_set_info(struct domain *d,
     case TSC_MODE_ALWAYS_EMULATE:
         d->arch.vtsc_offset = get_s_time() - elapsed_nsec;
         d->arch.tsc_khz = gtsc_khz ?: cpu_khz;
-        set_time_scale(&d->arch.vtsc_to_ns, d->arch.tsc_khz * 1000);
+        set_time_scale(&d->arch.vtsc_to_ns, (u64)d->arch.tsc_khz * 1000);
 
         /*
          * In default mode use native TSC if the host has safe TSC and
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Sat Dec 17 19:02:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 19:02:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465360.724012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6cRd-0005kO-1z; Sat, 17 Dec 2022 19:02:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465360.724012; Sat, 17 Dec 2022 19:02:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6cRc-0005kH-Vg; Sat, 17 Dec 2022 19:02:00 +0000
Received: by outflank-mailman (input) for mailman id 465360;
 Sat, 17 Dec 2022 19:01:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6cRb-0005k5-LN; Sat, 17 Dec 2022 19:01:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6cRb-00066y-Ij; Sat, 17 Dec 2022 19:01:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6cRb-0000Lg-4c; Sat, 17 Dec 2022 19:01:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6cRb-0008FQ-4D; Sat, 17 Dec 2022 19:01:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=fF6DLMhq7jeEOhb3K8XeWuiiOiK5DpJVL7SyjgTuaso=; b=K0efywyek60/mvCrayrYBDQRot
	8vW9Q9bMJ8YvsdIreUJF8/MuinF+oFVWO6gpru7+3ZEpBqaLjVvDXqKw8LwylsOVhITMu5Sg6IbCD
	U879HlAynVXOcFFVKpuDcy9fWyF3pxaaunyop4qh0pg9wpTzMzmOFdrJdp8OAhOpzpx8=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable bisection] complete test-amd64-amd64-xl-credit1
Message-Id: <E1p6cRb-0008FQ-4D@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 19:01:59 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-xl-credit1
testid xen-boot

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Bug not present: eac84d9d579011f311d502317b74dc56e788463d
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175370/


  commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Author: Wei Chen <wei.chen@arm.com>
  Date:   Mon Dec 12 12:13:26 2022 +0100
  
      xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
      
      VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
      results in two lines of error-checking code in phys_to_nid
      that is not actually working and causing two compilation
      errors:
      1. error: "MAX_NUMNODES" undeclared (first use in this function).
         This is because in the common header file, "MAX_NUMNODES" is
         defined after the common header file includes the ARCH header
         file, where phys_to_nid has attempted to use "MAX_NUMNODES".
         This error was resolved after we moved the phys_to_nid from
         x86 ARCH header file to common header file.
      2. error: wrong type argument to unary exclamation mark.
         This is because, the error-checking code contains !node_data[nid].
         But node_data is a data structure variable, it's not a pointer.
      
      So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
      enable the two lines of error-checking code. And fix the left
      compilation errors by replacing !node_data[nid] to
      !node_data[nid].node_spanned_pages. Although NUMA allows one node
      can only have CPUs but without any memory. And node with 0 bytes
      of memory might have an entry in memnodemap[] theoretically. But
      that doesn't mean phys_to_nid can find any valid address from a
      node with 0 bytes memory.
      
      Signed-off-by: Wei Chen <wei.chen@arm.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable/test-amd64-amd64-xl-credit1.xen-boot.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable/test-amd64-amd64-xl-credit1.xen-boot --summary-out=tmp/175370.bisection-summary --basis-template=175148 --blessings=real,real-bisect,real-retry xen-unstable test-amd64-amd64-xl-credit1 xen-boot
Searching for failure / basis pass:
 175332 fail [host=nocera0] / 175180 [host=elbling1] 175168 [host=huxelrebe0] 175154 [host=huxelrebe1] 175148 [host=pinot1] 175144 [host=italia1] 175141 [host=nocera1] 175135 [host=albana0] 175126 [host=debina0] 175104 [host=pinot0] 175091 [host=chardonnay1] 175083 [host=nobling1] 175071 [host=himrod0] 175066 [host=italia0] 175062 [host=chardonnay0] 175058 [host=godello1] 175055 [host=godello0] 175050 [host=fiano1] 175044 [host=sabro1] 175040 [host=sabro1] 175037 [host=albana1] 175031 [host=elbl\
 ing0] 175029 [host=debina1] 175021 [host=fiano0] 175009 [host=nobling0] 174999 [host=sabro0] 174994 [host=huxelrebe0] 174984 ok.
Failure / basis pass flights: 175332 / 174984
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu git://xenbits.xen.org/qemu-xen.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 1cf02b05b27c48775a25699e61b93b814b9ae042 c8aaebccc8e8fb5d90080e664202b0011ce4d0bd
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 345135942bf9632eba1409ba432cfcae3b7649c7
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-c3038e718a19fc596f7b1baba0f83d5146dc7784 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#b746458e1ce1bec85e58b458386f8b7\
 a0bedfaa6-1cf02b05b27c48775a25699e61b93b814b9ae042 git://xenbits.xen.org/xen.git#345135942bf9632eba1409ba432cfcae3b7649c7-c8aaebccc8e8fb5d90080e664202b0011ce4d0bd
Loaded 20034 nodes in revision graph
Searching for test results:
 174930 [host=nobling1]
 174944 [host=himrod0]
 174950 [host=italia1]
 174966 [host=nocera1]
 174972 [host=elbling1]
 174984 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 345135942bf9632eba1409ba432cfcae3b7649c7
 174994 [host=huxelrebe0]
 174999 [host=sabro0]
 175009 [host=nobling0]
 175021 [host=fiano0]
 175029 [host=debina1]
 175031 [host=elbling0]
 175037 [host=albana1]
 175040 [host=sabro1]
 175044 [host=sabro1]
 175050 [host=fiano1]
 175055 [host=godello0]
 175058 [host=godello1]
 175062 [host=chardonnay0]
 175066 [host=italia0]
 175071 [host=himrod0]
 175083 [host=nobling1]
 175091 [host=chardonnay1]
 175104 [host=pinot0]
 175126 [host=debina0]
 175135 [host=albana0]
 175141 [host=nocera1]
 175144 [host=italia1]
 175148 [host=pinot1]
 175154 [host=huxelrebe1]
 175168 [host=huxelrebe0]
 175180 [host=elbling1]
 175189 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175208 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175266 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175332 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 1cf02b05b27c48775a25699e61b93b814b9ae042 c8aaebccc8e8fb5d90080e664202b0011ce4d0bd
 175350 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 345135942bf9632eba1409ba432cfcae3b7649c7
 175351 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 630dc3798e1d0d1b95f7be8b176563eb40e866e5
 175352 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 32ae027f81aed2812ac4025c403f0b32ecfac7f7
 175353 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 db92cb450dd7ad5eb103819d26b737cdc054ce4a
 175356 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 1cf02b05b27c48775a25699e61b93b814b9ae042 c8aaebccc8e8fb5d90080e664202b0011ce4d0bd
 175357 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 cfee463c112b8ac261f6ca1d32e4c70e4821ba7a
 175358 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 8a6bce7c76f142b3028495bdb54680b6f517ab12
 175360 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 f86d0a1ff200264aaf80b65d7d200a3ba19c7845
 175362 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175363 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
 175365 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175366 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
 175368 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
 175370 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 e9c72d524fbdb109c45f24acce998f0bd552fb6f
Searching for interesting versions
 Result found: flight 174984 (pass), for basis pass
 Result found: flight 175332 (fail), for basis failure (at ancestor ~4)
 Repro found: flight 175350 (pass), for basis pass
 Repro found: flight 175356 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b746458e1ce1bec85e58b458386f8b7a0bedfaa6 eac84d9d579011f311d502317b74dc56e788463d
No revisions left to test, checking graph state.
 Result found: flight 175362 (pass), for last pass
 Result found: flight 175363 (fail), for first failure
 Repro found: flight 175365 (pass), for last pass
 Repro found: flight 175366 (fail), for first failure
 Repro found: flight 175368 (pass), for last pass
 Repro found: flight 175370 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Bug not present: eac84d9d579011f311d502317b74dc56e788463d
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/175370/


  commit e9c72d524fbdb109c45f24acce998f0bd552fb6f
  Author: Wei Chen <wei.chen@arm.com>
  Date:   Mon Dec 12 12:13:26 2022 +0100
  
      xen/x86: Use ASSERT instead of VIRTUAL_BUG_ON for phys_to_nid
      
      VIRTUAL_BUG_ON is an empty macro used in phys_to_nid. This
      results in two lines of error-checking code in phys_to_nid
      that is not actually working and causing two compilation
      errors:
      1. error: "MAX_NUMNODES" undeclared (first use in this function).
         This is because in the common header file, "MAX_NUMNODES" is
         defined after the common header file includes the ARCH header
         file, where phys_to_nid has attempted to use "MAX_NUMNODES".
         This error was resolved after we moved the phys_to_nid from
         x86 ARCH header file to common header file.
      2. error: wrong type argument to unary exclamation mark.
         This is because, the error-checking code contains !node_data[nid].
         But node_data is a data structure variable, it's not a pointer.
      
      So, in this patch, we use ASSERT instead of VIRTUAL_BUG_ON to
      enable the two lines of error-checking code. And fix the left
      compilation errors by replacing !node_data[nid] to
      !node_data[nid].node_spanned_pages. Although NUMA allows one node
      can only have CPUs but without any memory. And node with 0 bytes
      of memory might have an entry in memnodemap[] theoretically. But
      that doesn't mean phys_to_nid can find any valid address from a
      node with 0 bytes memory.
      
      Signed-off-by: Wei Chen <wei.chen@arm.com>
      Tested-by: Jiamei Xie <jiamei.xie@arm.com>
      Acked-by: Jan Beulich <jbeulich@suse.com>

Revision graph left in /home/logs/results/bisect/xen-unstable/test-amd64-amd64-xl-credit1.xen-boot.{dot,ps,png,html,svg}.
----------------------------------------
175370: tolerable ALL FAIL

flight 175370 xen-unstable real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/175370/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-credit1   8 xen-boot                fail baseline untested


jobs:
 test-amd64-amd64-xl-credit1                                  fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Sat Dec 17 19:23:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 19:23:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465372.724025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6cmk-0008Uo-Pt; Sat, 17 Dec 2022 19:23:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465372.724025; Sat, 17 Dec 2022 19:23:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6cmk-0008Uh-NN; Sat, 17 Dec 2022 19:23:50 +0000
Received: by outflank-mailman (input) for mailman id 465372;
 Sat, 17 Dec 2022 19:23:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6cmj-0008UV-Bb; Sat, 17 Dec 2022 19:23:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6cmj-0006gu-A3; Sat, 17 Dec 2022 19:23:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6cmj-0000p6-1y; Sat, 17 Dec 2022 19:23:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6cmj-0005te-1V; Sat, 17 Dec 2022 19:23:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=d7ktF+UGpo1cEwbJfXeRiJT41a+W7BT40yCFZKPFb4U=; b=nkobVhgPptVbZFYzIjfos5zUzT
	1GR8jYgTRnOqM8ohlBQRuIjrjgtAR/Hnukecpj7ctdPvC6Jo+QDVRkVVjLGtbuBbsCkq74fAJ8sFe
	iiWwr/pXrWLFSk+H5ZeZW2XVS2cenanYCuvrTyV6lLba04m5B68oz5/xnwNp8nXMXYgs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175369-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175369: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=316e6df435af81f8281150bb04b3dd5a304d9c92
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 19:23:49 +0000

flight 175369 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175369/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 316e6df435af81f8281150bb04b3dd5a304d9c92
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    3 days
Failing since        175214  2022-12-14 18:42:16 Z    3 days   18 attempts
Testing same since   175338  2022-12-16 22:40:53 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 459 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 19:38:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 19:38:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465384.724037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6d0l-0001la-0K; Sat, 17 Dec 2022 19:38:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465384.724037; Sat, 17 Dec 2022 19:38:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6d0k-0001lT-Te; Sat, 17 Dec 2022 19:38:18 +0000
Received: by outflank-mailman (input) for mailman id 465384;
 Sat, 17 Dec 2022 19:38:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=W8IE=4P=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p6d0j-0001l4-6b
 for xen-devel@lists.xenproject.org; Sat, 17 Dec 2022 19:38:17 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on2085.outbound.protection.outlook.com [40.107.212.85])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 58a9c833-7e42-11ed-8fd4-01056ac49cbb;
 Sat, 17 Dec 2022 20:38:15 +0100 (CET)
Received: from BN0PR04CA0145.namprd04.prod.outlook.com (2603:10b6:408:ed::30)
 by PH8PR12MB6699.namprd12.prod.outlook.com (2603:10b6:510:1ce::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Sat, 17 Dec
 2022 19:38:06 +0000
Received: from BN8NAM11FT069.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:ed:cafe::25) by BN0PR04CA0145.outlook.office365.com
 (2603:10b6:408:ed::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.17 via Frontend
 Transport; Sat, 17 Dec 2022 19:38:06 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT069.mail.protection.outlook.com (10.13.176.152) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.16 via Frontend Transport; Sat, 17 Dec 2022 19:38:06 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Sat, 17 Dec
 2022 13:38:05 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Sat, 17 Dec 2022 13:38:04 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58a9c833-7e42-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fzeIRamDFdn4jfS8PMxZpOcQ2bnWx65slsc0pWdxKuRxLmUyY3JA19ih1+un4IQtAAkqnIXM23/YXYBA/Bwt33dUh8klEqOFBC2s0hHHvKc+NcITVY00F5lcmT3qVJtIpAteTQy3IgKDMvEJCsQ9WLCH0/90SX22U6uqYUS4cbPOmzqqEE3xZVLH3RZ4kGaWmnXBHnX3uMyT8BKrZ1Ox9rW3V25igrB4CAs4muviGTevSqyVSBimVfH4VjDOcnpTYGTU01ngnTHFj6q/myNz3etGiuv4eBKXXgvCGLyxmiLLDrLc9E3vSWrCascm0IhjSSsz4Auv+FAGEIFk2KYPzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kxrEckySseDqNM3yijpt0yeiEh3OC0iLEBwLUAlgwWk=;
 b=M1rprKZn2TnJJc+a2wnz0mp1pkXThD8S2atXZkCpL3FMzEHReXBVKQxIsy6heoas++FUO+IPenWI18q4YndvEZuItzB1prVnf5ctS6l9shj0IK7VxdJ4Z7a4Ljs6nsjh46LrBrX4Lrb5shT5P7EDyWIu/itLOQnvPUTozc0ZmDYFwKVdUd6TA3lV+bfSiXDrO5V2GxQibOhQreiN1C3lc57HfrUGWoUKcBZjyjgW2BdDBZE1QtwVAfX4HjVaercBt/xhGGE2caNueieeeu+nnqBZ4791s1Ga3j9KJc11ZkBUhuiuoqbFBbRrpc5Y9Ebu/oM/p/jJawlNvSon4uY6vQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kxrEckySseDqNM3yijpt0yeiEh3OC0iLEBwLUAlgwWk=;
 b=0Q90QcrxMorYRhDr+OP6vE613WkaHC28ItfDRnqSHpscNrX5dWYGzUrW6YLq0dWjrz+0cNkETRMqcy7lfZRv8I4oBsajiTntpWCUTJF5MhGsPnK/iLyz50JYmD/jYXrJiuzmkPm8FD4bvgRvyw5j2nJ9pFWGUgnmgREbpvSqujc=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [XEN v3] xen/arm: Probe the entry point address of an uImage correctly
Date: Sat, 17 Dec 2022 19:38:01 +0000
Message-ID: <20221217193801.19485-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT069:EE_|PH8PR12MB6699:EE_
X-MS-Office365-Filtering-Correlation-Id: 3f0ffbb3-28ab-4976-2edc-08dae0663847
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gVKNNRADv/LFtA0/boKawbcj57e3OCcWcYBBbrFBqBj6OqhW7sRpHIgeHBwRlQCp70+YRkAdA0bAwihg1wo5GcB7heb7Q4yrQUc1PxCSjeNpBGGax0U5jfeU/pTTcvG/DbEG0srwtapprdMsqrxs8o1A3IYtvpeO3eAkJ4PcEaPRk/iNAbXkh2bF/W2S8Juhz/kEV0hD07oY10bxBs4xDHSz5MEniGyIUTWmbtdhnInoZtMlnhijKVy2LPCxaLK4Mt2j/Rh8h+o+IZO2IKo9uIukvCzUvIWBUdI90kZP0VqedeUTjDWJPwyl/Lj+1G4VF4/j0VFjfHbLolYTawg/U4jYHx3pul5c6VJgqEowR4G77sLsuIXowUKjNCfO8sVUs3X94vYPvJsOSM95KB93Yx3laEk4qXq0aW8NVr0WLwkcrTBQLrdrquIMcWcRd6lwo1wjYGMFEOFPkrt61zGafRItaceNyH6TXKcXvjNL/6jKwcqnVAMGV32yWOnmKvrJkEIq0sUg9jRAfiZIGEKsosIMGnX0dUEqLiyCFubmpu1msYOrpsIDJpTwRHh8ynB4cOKeXeIWUgEfPcBVKF3Ov3eR47EKJmmnyIXh3egDE8J3wM6qW3N1Hoah+F3pehipk1rzC7l9DXnBfN5zfZBz2cMqs7JbYx6kcbQoovFv2WrxSSseJTBlBzznD3MwkhfujeOBA6SD6gmzuVi+FdtZaKlocdPA1DuV6Im5s6nq/qjSt6JI9Y8BpBREJApB1YqObCoWPV7k4lieuw25895xl5yuP5O+H/gF7RGKgF+bjCg=
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(346002)(136003)(39860400002)(376002)(396003)(451199015)(40470700004)(36840700001)(46966006)(54906003)(82740400003)(6916009)(40480700001)(966005)(478600001)(81166007)(2906002)(316002)(8936002)(36756003)(5660300002)(40460700003)(70206006)(70586007)(86362001)(8676002)(4326008)(83380400001)(36860700001)(426003)(47076005)(356005)(336012)(103116003)(41300700001)(2616005)(6666004)(26005)(186003)(1076003)(82310400005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Dec 2022 19:38:06.1352
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f0ffbb3-28ab-4976-2edc-08dae0663847
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT069.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6699

Currently, kernel_uimage_probe() does not set info->zimage.start. As a
result, it contains the default value (ie 0). This causes,
kernel_zimage_place() to treat the binary (contained within uImage) as
position independent executable. Thus, it loads it at an incorrect address.

The correct approach would be to read "uimage.ep" and set
info->zimage.start. This will ensure that the binary is loaded at the
correct address. Also, it checks that the load address and entry address
are the same. The reason being we currently support non compressed images
for uImage header. And as seen in uboot sources(image_decomp(), case
IH_COMP_NONE), load address and entry address can be the same.

This behavior is applicable for both arm and arm64 platforms.

Earlier for arm32 and arm64 platforms, Xen was ignoring the entry point
address set in the uImage header. With this commit, Xen will use the
kernel entry point address as specified in the header. This makes the
behavior of Xen consistent with uboot for uimage headers.

Users who want to use Xen with statically partitioned domains, can
provide the fixed non zero load address for the dom0/domU kernel.

A deviation from uboot behaviour is that we consider load address == 0x0,
to denote that the image supports position independent execution. This
is to make the behavior consistent across uImage and zImage.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---

Changes from v1 :-
1. Added a check to ensure load address and entry address are the same.
2. Considered load address == 0x0 as position independent execution.
3. Ensured that the uImage header interpretation is consistent across
arm32 and arm64.

v2 :-
1. Mentioned the change in existing behavior in booting.txt.
2. Updated booting.txt with a new section to document "Booting Guests".

 docs/misc/arm/booting.txt         | 21 +++++++++++++++++++++
 xen/arch/arm/include/asm/kernel.h |  2 +-
 xen/arch/arm/kernel.c             | 27 ++++++++++++++++++++++++++-
 3 files changed, 48 insertions(+), 2 deletions(-)

diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt
index 3e0c03e065..01b12b49a5 100644
--- a/docs/misc/arm/booting.txt
+++ b/docs/misc/arm/booting.txt
@@ -23,6 +23,24 @@ The exceptions to this on 32-bit ARM are as follows:
 
 There are no exception on 64-bit ARM.
 
+Booting Guests
+--------------
+
+Xen supports the legacy image protocol[3], zImage protocol for 32-bit ARM
+Linux[1] and Image protocol defined for ARM64[2].
+
+Earlier for legacy image protocol, Xen ignored the load address and entry
+point specified in the header. This has now changed.
+
+Now, it loads the image at the load address provided in the header.
+For now, it supports images where load address is same as entry point.
+
+A deviation from uboot is that, Xen treats "load address == 0x0" as
+position independent execution. Thus, Xen will load such an image at an
+address it considers appropriate.
+
+Users who want to use Xen with statically partitioned domains, can provide
+the fixed non zero load address for the dom0/domU kernel.
 
 Firmware/bootloader requirements
 --------------------------------
@@ -39,3 +57,6 @@ Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/t
 
 [2] linux/Documentation/arm64/booting.rst
 Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst
+
+[3] legacy format header
+Latest version: https://source.denx.de/u-boot/u-boot/-/blob/master/include/image.h#L315
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 5bb30c3f2f..4617cdc83b 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -72,7 +72,7 @@ struct kernel_info {
 #ifdef CONFIG_ARM_64
             paddr_t text_offset; /* 64-bit Image only */
 #endif
-            paddr_t start; /* 32-bit zImage only */
+            paddr_t start; /* Must be 0 for 64-bit Image */
         } zimage;
     };
 };
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 23b840ea9e..e9c18993ef 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -127,7 +127,7 @@ static paddr_t __init kernel_zimage_place(struct kernel_info *info)
     paddr_t load_addr;
 
 #ifdef CONFIG_ARM_64
-    if ( info->type == DOMAIN_64BIT )
+    if ( (info->type == DOMAIN_64BIT) && (info->zimage.start == 0) )
         return info->mem.bank[0].start + info->zimage.text_offset;
 #endif
 
@@ -223,6 +223,31 @@ static int __init kernel_uimage_probe(struct kernel_info *info,
     if ( len > size - sizeof(uimage) )
         return -EINVAL;
 
+    info->zimage.start = be32_to_cpu(uimage.ep);
+
+    /*
+     * Currently, we support uImage headers for uncompressed images only.
+     * Thus, it is valid for the load address and start address to be the
+     * same. This is consistent with the uboot behavior (Refer
+     * "case IH_COMP_NONE" in image_decomp().
+     */
+    if ( info->zimage.start != be32_to_cpu(uimage.load) )
+    {
+        panic("Unable to support mismatching load address and entry address\n");
+        return -EINVAL;
+    }
+
+    /*
+     * While uboot considers 0x0 to be a valid load/start address, for Xen
+     * to mantain parity with zimage, we consider 0x0 to denote position
+     * independent image. That means Xen is free to load such an image at
+     * any valid address.
+     * Thus, we will print an appropriate message.
+     */
+    if ( info->zimage.start == 0 )
+        printk(XENLOG_INFO
+               "No load address provided. Xen will decide where to load it\n");
+
     info->zimage.kernel_addr = addr + sizeof(uimage);
     info->zimage.len = len;
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Sat Dec 17 20:04:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 20:04:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465398.724053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6dPQ-0005GR-62; Sat, 17 Dec 2022 20:03:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465398.724053; Sat, 17 Dec 2022 20:03:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6dPQ-0005GK-3F; Sat, 17 Dec 2022 20:03:48 +0000
Received: by outflank-mailman (input) for mailman id 465398;
 Sat, 17 Dec 2022 20:03:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6dPO-0005G8-NV; Sat, 17 Dec 2022 20:03:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6dPO-0007cn-KK; Sat, 17 Dec 2022 20:03:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6dPO-0001iH-91; Sat, 17 Dec 2022 20:03:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6dPO-00015z-8a; Sat, 17 Dec 2022 20:03:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jbh3rt4d4OyEXK8/ICs8FDmb2r7svUdP+v13gNXbFIU=; b=MEUlwugJfcwajDvhxTex56y/Em
	TSvFgADzobbbRekEdz6zwNzJn/OYAJwV/g/jW4Iuekez6smtTTWhcdRY3+fonoaCAJZQvKP31cVNE
	NV/NyFNC2CxCau3JwFYQjirncRY/E4/R+BwnejFhmvNqUI9wE0SgSXSJLlTWYUfOn/Oo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175361-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175361: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=77856d911a8c8724ee8e2b09d55979fc1de8f1c0
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 20:03:46 +0000

flight 175361 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175361/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-qcow2 19 guest-start/debian.repeat fail in 175345 pass in 175361
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot   fail pass in 175345
 test-amd64-amd64-xl-xsm       8 xen-boot                   fail pass in 175345
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail pass in 175345
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175345
 test-amd64-amd64-xl-vhd      21 guest-start/debian.repeat  fail pass in 175345

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail in 175345 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                77856d911a8c8724ee8e2b09d55979fc1de8f1c0
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   71 days
Failing since        173470  2022-10-08 06:21:34 Z   70 days  143 attempts
Testing same since   175345  2022-12-17 00:42:20 Z    0 days    2 attempts

------------------------------------------------------------
3120 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 461458 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 20:18:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 20:18:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465409.724064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6ddL-0006q5-GJ; Sat, 17 Dec 2022 20:18:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465409.724064; Sat, 17 Dec 2022 20:18:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6ddL-0006py-Dd; Sat, 17 Dec 2022 20:18:11 +0000
Received: by outflank-mailman (input) for mailman id 465409;
 Sat, 17 Dec 2022 20:18:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=lR+Y=4P=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1p6ddK-0006ps-0W
 for xen-devel@lists.xenproject.org; Sat, 17 Dec 2022 20:18:10 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea7eef6a-7e47-11ed-91b6-6bf2151ebd3b;
 Sat, 17 Dec 2022 21:18:07 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 2BHKHpw7061198
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Sat, 17 Dec 2022 15:17:57 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 2BHKHooX061197;
 Sat, 17 Dec 2022 12:17:50 -0800 (PST) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea7eef6a-7e47-11ed-91b6-6bf2151ebd3b
Date: Sat, 17 Dec 2022 12:17:50 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Neowutran <xen@neowutran.ovh>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
        Andrew Cooper <andrew.cooper3@citrix.com>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>
Subject: Re: [Patch v1] Bug fix - Integer overflow when cpu frequency > u32
 max value.
Message-ID: <Y54j7mp/fMsaF564@mattapan.m5p.com>
References: <c1535eba0bba6fc1b91f975f434af0929d9d7c96.1671298923.git.git@neowutran.ovh>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <c1535eba0bba6fc1b91f975f434af0929d9d7c96.1671298923.git.git@neowutran.ovh>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Sat, Dec 17, 2022 at 06:42:05PM +0100, Neowutran wrote:
> xen/arch/x86/time.c: Bug fix - Integer overflow when cpu frequency > u32 max value.
> 
> What is was trying to do: I was trying to install QubesOS on my new computer
> (AMD zen4 processor). Guest VM were unusably slow / unusable.
> 
> What is the issue: The cpu frequency reported is wrong for linux guest in HVM
> and PVH mode, and it cause issue with the TSC clocksource (for example).
> 
> Why this patch solved my issue:
> The root cause it that "d->arch.tsc_khz" is a unsigned integer storing
> the cpu frequency in khz. It get multiplied by 1000, so if the cpu frequency
> is over ~4,294 Mhz (u32 max value), then it overflow.
> I am solving the issue by adding an explicit cast to u64 to avoid the overflow.

https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches

You're not matching the instructions.  You need to add a "Signed-off-by"
to indicate *you* wrote this, own the Copyright and are providing this
under the license of the existing files.

Your title line is on the long side.  The discussion is useful for the
message on the xen-devel mailing list, but isn't important for source
code history.  You should put "---" after the commit message and 
discussion below.

I would suggest as a commit message:

--------8<-----------------------------------------------------8<--------
xen/x86: prevent overflow with high frequency TSCs

Promote tsc_khz to a 64-bit type before multiplying by 1000.  Otherwise
just above 4.294GHz the value will overflow.  Processors with clocks
this high are now in production and require this to work correctly.
--------8<-----------------------------------------------------8<--------

Feel free to disagree, though any maintainer is going to want adjustments
to your original commit message.


Note to Xen and Linux distribution maintainers: I suggest this needs a
point release of Xen.  A large processor manufacturer has recently
released such a processor.  A great number of people are going to be
rather unhappy in short order without this fix.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Sat Dec 17 20:59:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 20:59:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465419.724075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6eHF-0002lU-LT; Sat, 17 Dec 2022 20:59:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465419.724075; Sat, 17 Dec 2022 20:59:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6eHF-0002lN-If; Sat, 17 Dec 2022 20:59:25 +0000
Received: by outflank-mailman (input) for mailman id 465419;
 Sat, 17 Dec 2022 20:59:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6eHE-0002lD-PP; Sat, 17 Dec 2022 20:59:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6eHE-0000QD-Nb; Sat, 17 Dec 2022 20:59:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6eHE-0002zg-DQ; Sat, 17 Dec 2022 20:59:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6eHE-0003UT-Cw; Sat, 17 Dec 2022 20:59:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=k82PcfScFlapttMv88hVfqwFv6gYcy2U5i76frlsNyc=; b=KdAUaW5FgAu6FumxvjCDLQcM/J
	ef7jGpv0mfOGdSksykraIgSgZ5x7k66tb1O16au6wEH6BchYwedmUcrx/fD8Mo0zynVmvUgtOF1Ta
	0ISMJ83yLf27PM1KLg1G5Wi/W0UUQ8l9HT339qrWHnsrddwPGkCR+oaX12Y6CReuD+1E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175372-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175372: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=316e6df435af81f8281150bb04b3dd5a304d9c92
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 20:59:24 +0000

flight 175372 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175372/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 316e6df435af81f8281150bb04b3dd5a304d9c92
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    3 days
Failing since        175214  2022-12-14 18:42:16 Z    3 days   19 attempts
Testing same since   175338  2022-12-16 22:40:53 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 459 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 23:32:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 23:32:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465437.724104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6gfZ-0001dH-KA; Sat, 17 Dec 2022 23:32:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465437.724104; Sat, 17 Dec 2022 23:32:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6gfZ-0001dA-HU; Sat, 17 Dec 2022 23:32:41 +0000
Received: by outflank-mailman (input) for mailman id 465437;
 Sat, 17 Dec 2022 23:32:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6gfY-0001d0-EY; Sat, 17 Dec 2022 23:32:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6gfY-000442-DV; Sat, 17 Dec 2022 23:32:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6gfX-0001WM-V7; Sat, 17 Dec 2022 23:32:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6gfX-0004Y5-Uc; Sat, 17 Dec 2022 23:32:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=i7ofQBlbDP3bNVFXPDlvsz04msIBzwFhEiCUdoYh5dw=; b=REr0cKt8Ch6msW5s9xhN65Y7WI
	vj8EM4YR7z6KUQma++r3mqi1wlygmAg1uP/mpUY2QDpUz06rBcOaBHQJsnnz8quVO5NWULE4b4WpA
	nBi3DVR0rolZrZUNrsnHkbjuEU2uIOioFniWiCCkX2Kye46dCLtxAKd8f+PVGOim1IVw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175375-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175375: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=316e6df435af81f8281150bb04b3dd5a304d9c92
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 23:32:39 +0000

flight 175375 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175375/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 316e6df435af81f8281150bb04b3dd5a304d9c92
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    3 days
Failing since        175214  2022-12-14 18:42:16 Z    3 days   20 attempts
Testing same since   175338  2022-12-16 22:40:53 Z    1 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 459 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 17 23:48:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 17 Dec 2022 23:48:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465477.724224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6gus-0004Ym-JA; Sat, 17 Dec 2022 23:48:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465477.724224; Sat, 17 Dec 2022 23:48:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6gus-0004Yf-F7; Sat, 17 Dec 2022 23:48:30 +0000
Received: by outflank-mailman (input) for mailman id 465477;
 Sat, 17 Dec 2022 23:48:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6gur-0004YP-Qy; Sat, 17 Dec 2022 23:48:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6gur-0004Zj-Oo; Sat, 17 Dec 2022 23:48:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6gur-0002h4-FI; Sat, 17 Dec 2022 23:48:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6gur-0005Wr-Ej; Sat, 17 Dec 2022 23:48:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6I3QFfY3fD2jZebWzSOfH9lOSpxglw8BFyAasDMllcU=; b=5ydcsBJln3jN4Ja4uYIQ9wC5fc
	t2IJLJu0KnG4iOdlZrFOhzz+GwBvzPZc4SorwHFmloC97SOCzKhq8TyoyCVIMkbKTKcwgnBgIGuAW
	EZKAByCwQwOZ4xDJnwZ7xg01TsICoGaC1HyLoTLiTfv6GhAatZqx91EBI+wdGH49lQyI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175354-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175354: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
X-Osstest-Versions-That:
    xen=f86d0a1ff200264aaf80b65d7d200a3ba19c7845
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 17 Dec 2022 23:48:29 +0000

flight 175354 xen-unstable real [real]
flight 175378 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175354/
http://logs.test-lab.xenproject.org/osstest/logs/175378/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install   fail pass in 175378-retest
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail pass in 175378-retest
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail pass in 175378-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175148
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175148
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175148
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175148
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175148
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175148
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175148
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175148
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175148
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2
baseline version:
 xen                  f86d0a1ff200264aaf80b65d7d200a3ba19c7845

Last test of basis   175148  2022-12-12 01:53:19 Z    5 days
Failing since        175154  2022-12-12 15:07:03 Z    5 days   11 attempts
Testing same since   175354  2022-12-17 07:07:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien@xen.org>
  Luca Fancellu <luca.fancellu@arm.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Viresh Kumar <viresh.kumar@linaro.org>
  Wei Chen <wei.chen@arm.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   f86d0a1ff2..12b593ca0d  12b593ca0d61ef884c2f2de15ed36b4900fc92b2 -> master


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 00:19:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 00:19:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465509.724310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6hOW-00019n-9I; Sun, 18 Dec 2022 00:19:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465509.724310; Sun, 18 Dec 2022 00:19:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6hOW-00019g-6G; Sun, 18 Dec 2022 00:19:08 +0000
Received: by outflank-mailman (input) for mailman id 465509;
 Sun, 18 Dec 2022 00:19:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GG0F=4Q=citrix.com=prvs=344dde14d=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p6hOU-00019a-2t
 for xen-devel@lists.xenproject.org; Sun, 18 Dec 2022 00:19:06 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 92ef7eec-7e69-11ed-91b6-6bf2151ebd3b;
 Sun, 18 Dec 2022 01:19:04 +0100 (CET)
Received: from mail-bn1nam02lp2049.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.49])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Dec 2022 19:19:00 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA1PR03MB6465.namprd03.prod.outlook.com (2603:10b6:806:1c0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.12; Sun, 18 Dec
 2022 00:18:55 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Sun, 18 Dec 2022
 00:18:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 92ef7eec-7e69-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671322744;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=q3KoCmyHmJm16wFivrxH3UeEFyGbDKcU5m1dbLJFFLw=;
  b=Kht23nNdj5o8n4mJNhfST3i4L7i0IxPUWZgUyaaT55KdxmsdS3xYvsM/
   sr7j4J2erE5oV29G20n7/RSe1c0zXP2I2fe1czNTErotPiI4rQ6XnlYw0
   Wsd7w5sSgOjtzosnoiVqdT57f8I4YJDRPJE82Bwp3JzycORUZ2FPPPbzo
   k=;
X-IronPort-RemoteIP: 104.47.51.49
X-IronPort-MID: 88917425
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:epHyd6mctnmQrH0KbAh04yvo5gy9J0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIbCj2CPfffYTHwL4p2OoiwoEsPsZ/dmoc1SAJtqCoxQyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icf3grHmeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aqaVA8w5ARkP6kR5QCGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 eYbDj4MbkqNu8en+oOCR8togs0fc9a+aevzulk4pd3YJdAPZMiZBo/svJpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVU3jOmF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNJCReTnqqQ36LGV7korJRIEaVSnndeG1ESzUcBTO
 mwV4AN7+MDe82TuFLERRSaQsHOClhgRXMVND/cz7keK1Kq8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq19L2ZsDezMig9NnIZaGkPSg5ty8bniJE+iFTIVNkLLUKuptj8GDW1y
 TbTqiE73+8XlZRTi/T9+k3biTWxoJSPVhQy+gjcQmOi6EV+eZKhYIurr1Pc6J6sMbqkc7VIh
 1Bc8+D20QzEJcvlePClKAnVIIyU2g==
IronPort-HdrOrdr: A9a23:4m/3oKrAREaioe0XfJS7jmgaV5oleYIsimQD101hICG9E/b1qy
 nKpp8mPHDP5wr5NEtPpTnjAsm9qALnlKKdiLN5Vd3OYOCMghrKEGgN1/qG/xTQXwH46+5Bxe
 NBXsFFebnN5IFB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.96,253,1665460800"; 
   d="scan'208";a="88917425"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ktTEa2rBEAIQMrIfBGkJLrdmv7oIHRM9LxHWKZhAqeld7o86ZXyhPQnNUp4+YETyGRh4l6ZT1NzRrGa05aPtnXqhrVKdno8mFZ/DgjdbL4K1OIainYHxRn+2kCFRGXvwt7zFSh0mMqbw74QUXrQISB/Rq92gE8jz93TORp+4lEqOrN4G2JCGwOFebFwqBVnhN4bxd0ROPBItu5e+bXC46LG3ZA+I4CspsmzBlHLjuWBZECQV61Bh0+vcuyyBgS20MNWv4K/Z/e+6CemWA1c86HfBvW/xwdHo5IPcXgTSQHRynAkrzIFELdhPSyFnQ2dla/XvisGllGGkj4dektuhoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q3KoCmyHmJm16wFivrxH3UeEFyGbDKcU5m1dbLJFFLw=;
 b=GGLnSaa00RUsiDcynmcEyASLMGiw8/y0VPvpM9tZSNAxM8c0nuG94nYjQ7h2IRAWeH2TycRwsm6pgOgnEFopT4avExlej+qK9dXMBEhwfLQnD/qmm7R21AJ9EUEor/Ff/slq0mUftkKtO8Xpakkc0lrPMQaWPXZeE90pUKRljJDgA6EY1JjatNvClVUFm9NaVE0wSEmIbXGEYhp4sFwL/1LGvutTqpyVX/0UYEgr8Zzn1Yqq5ngRSoKiOFPd85ZCDJgnZWsozjsV2PzV6TxDExZlQtKi3sBY6qnMvl5Ptt0sObjRvWyb9I0H0vwjhuXv6f9aNzWJ3BTqrhWwRrvGeg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q3KoCmyHmJm16wFivrxH3UeEFyGbDKcU5m1dbLJFFLw=;
 b=ealHW86aLGcVrxW2pMPAtMBVOqEFdhxJXCOW3v/z/aXY6JUuKrLNLxKoEkyjPZ+P74blKS98eaVZKu59ecnWq4BtUmpNAwZWRTRH4vgIeGd5vot0PQvP2yGaw1cUyVOrsnXzNG8CcYw9MZWxWv0f3st2w/ZcBpEv2VJFA31+DKg=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Neowutran <xen@neowutran.ovh>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [Patch v1] Bug fix - Integer overflow when cpu frequency > u32
 max value.
Thread-Topic: [Patch v1] Bug fix - Integer overflow when cpu frequency > u32
 max value.
Thread-Index: AQHZEj8ndYrlW6+ypUatP8oqlCOlc65yyCEA
Date: Sun, 18 Dec 2022 00:18:54 +0000
Message-ID: <8a9fb9aa-59c9-f177-7712-21c8d64adc1e@citrix.com>
References:
 <c1535eba0bba6fc1b91f975f434af0929d9d7c96.1671298923.git.git@neowutran.ovh>
In-Reply-To:
 <c1535eba0bba6fc1b91f975f434af0929d9d7c96.1671298923.git.git@neowutran.ovh>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|SA1PR03MB6465:EE_
x-ms-office365-filtering-correlation-id: 9db460ad-5e84-4c89-7dc0-08dae08d72ba
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 G86i4jDM2WJNVopE+Bp2jonEZfaKgJ3I5NPgRbNDPoD8a4jvxoto/wzBJsdTgBBaOgmUvQ62k/0QEmIBFCCGcy3eaEmkHbnridOOrezvoK0M6CPiu7vVSS1F91uHxakE9YJtr2xjsP2SgU+CtZ87rnKERu1KDqThi6v3wgrEWFxVL3wtIJYfw9FqGKJKqtE+FBlhCOVZgoxn9cOxLZgxppJaBVGbraDPI7pJ73JCPd0EIvg6/zjSYEGi0elbaxKJtC7diBkOPUNthcGClsoeE2cxk9LKQrVFOs1p5pp4xaOIwlXHV5ejpRuPHkNkIQ+aYbRmNmaSW8Rq3EM8TwuwZr6q/eaiBq2bT+OlJLTDclwS3FKMQfa+kwpFQS8AgEAcJKBa28a5GdIvhvQK3YIJSk4/PGJfjjMmT9u9aXdH1Z0HSH+Cwyd7z98YtzTxaW5soaiY19araWslyQD+FI6w4vsPp+rzm8dE54REfovzk+4shSQ5UrXX4XukzyJ6fL8mZ4BFuJwJ2Yq1eEvKv/D9CGVm8QMq5GCe8arUz7b2i1K8lixyXbPU2sr1rce5J6fUbfzbYpB6DbaR+eW1+2MTYmQrYeY5WQSkmc8op4Q78KH4+GFlJywO6u7IX6bwlY9y1uo/NaCwdFBQS6Ap4bbYBSX32D8ORPclLNQT6GVbvAHVaZzWbui8lzO/khaxKY4bhwz8zVxSWp67yq0/od6X4D+b/XYIg9lAUrZFJtdhL8AUZqsbZS2JrSP/LRNS2dx+U2vuE/k2Rcm8ofw2EazXCQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(346002)(366004)(376002)(136003)(451199015)(83380400001)(66446008)(38070700005)(122000001)(31696002)(4744005)(8936002)(86362001)(82960400001)(8676002)(66946007)(66556008)(4326008)(38100700002)(2906002)(5660300002)(64756008)(66476007)(76116006)(41300700001)(6506007)(53546011)(186003)(6512007)(2616005)(26005)(110136005)(316002)(6486002)(478600001)(71200400001)(91956017)(54906003)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Qlk1WkdiTVdSbTdlbFRWaEhyQkRyclNWaGtLNGR1VVpVaWRvOU9QZEg0bWtm?=
 =?utf-8?B?TGxONmNPblA0OU1xNWZaNWhKUUVjTVF2SVZIWHlySURiYkVhOTJKRGtWVWNs?=
 =?utf-8?B?aDAxeTRTVVoyQzdjcXJNZUxweElzQzdscUYyYkM2STJJRCtkZ3VtMmlPNVdY?=
 =?utf-8?B?RjlYUEpqYXpoTHFOMmo2bWhNK0trb3VWNCtXSlpidUorcERjc2JyWkw5cktP?=
 =?utf-8?B?RWEvL2R3Y0I0NUYzd0tTVXNiSFN1LzZZdXY4TjF1MmZrLzdhTWNBbVFvNStO?=
 =?utf-8?B?aUYxaWhGZ0x0bFJ1WEZZNmhLOFVCaFIyV2tPVFl2QmdQOGNzWnZrT2E5Tk5y?=
 =?utf-8?B?b0JrZU1RSFhzamFXQnh0all1U0VhcnZzay9tQmpTWjFEK0ZQNG1xeFI1VjNY?=
 =?utf-8?B?MTZ2MVdaemJ4QkRSTFlyNHk2d2NvVzJIR3FObGJGcWt4eFhQRjI5OHRLWjlo?=
 =?utf-8?B?c281SEdRNE9OanlFaHlZNWJjZVBGSzA1emRWVkFxdUpuRlFvYU5CTFFIV3Vm?=
 =?utf-8?B?TFlVVGVPS2ZiTEpmL054ZXBvOUVRUExRemNRTExxUzVtRmNFZVFVZk80cWRE?=
 =?utf-8?B?WVFHbTZGdExodVlpdXBYN1dYRDZWc29NYmtCdUM2b2N4MjQzM1RxNFVpUmpS?=
 =?utf-8?B?bUNQbVZIOFhXRm13Uk5xenFHOE1rZDczeVd5aHVJUEhRd1FDQUtOWlVhdTQw?=
 =?utf-8?B?SjBxM0pQeGhTMmc4b3N4RGpDWHVmcVRYZGtMMXN1RUNQZHFmU3RnNDNIaEMw?=
 =?utf-8?B?bXFIZkdsSXBPaXJPOGFhaVFTdXFJVmZYNlNiL3JUVmZnUDNWWnRNQWdFekdp?=
 =?utf-8?B?WDB3U3oraVQxZEIra2F1M2x5cHlaKzEyeUN1cjBxd3dBMUdvWm93WWltOWJp?=
 =?utf-8?B?akZFN1RJbnVIb2tkVHVlZzcxZCt6Ynh0Z3orWU1KTFF3Qm1EeThwWUJFZTRw?=
 =?utf-8?B?aFZicm53ZGpmYzBRSk1DOTBMaWRUOWxMc2xtNGRyM21DZmpXNUgrck9ZSUNV?=
 =?utf-8?B?S1FVcTFMTTBmdDZrcTFTeFFlK3RJUUZZSzZrZ01NN1dDZzFhcDZmT05TMFgv?=
 =?utf-8?B?MEZnclJlQ0VhYWRMSW5xcnU3R0NXN1Y4N04yR200VVMzL2lqbU1Cck5XVTVa?=
 =?utf-8?B?RHIyUkY5ek9OU1daNHROVUY5S3BPYVFqL0I4dTlScVczWEVLcGtwb3AraDdL?=
 =?utf-8?B?NUNORVpzT1RTYXozcVRqNncyVGpaSVdMWVk3ZjJhd204Q1RyeU0xUWgvckZW?=
 =?utf-8?B?azNsY00vMVVab3dYL2dMM2tWY3QvOEovbC9WMElqOUNYWHVwMTJjR1J6ZzRr?=
 =?utf-8?B?R2lKYXRDQ1U1ZDN5b29pWk9KWlZ1UW9GeGN1Si95bTNiZEh1Ylk0Zis2eDIx?=
 =?utf-8?B?OVNkbEFzYWRrN0xrTUZzdzVrbUxCK1VOY3JYZDgzY0dndEVxenNCdkxMQ0Iy?=
 =?utf-8?B?QnExYnN0NG4zS1lyU0J1RWxjcG9Bd1RXNGkxbVBRMnIyM24zSWMvdFVLUXZl?=
 =?utf-8?B?WXQ1Vy95ZzB0c2VKOHJSNnpwaUFwL2YvdjlFNXg4ZGxTb1hoN2hsaFN6Vmx1?=
 =?utf-8?B?NU5zYUNtVjNlYnJrNCtnb2xPR1RNTlBPVzhkTFpZWFZqMWQweCszN2kzdEhT?=
 =?utf-8?B?c1k2My9GeHdzbE9ObnIzMk83dFdyNHl0dGozSG5LRmhPWk43Nm5LWWlMMHcz?=
 =?utf-8?B?TkpJSmhvMmp3d0E2UGZ5MU4wRkV1YzMrYm1PVzVzYUloQnBWYkRVZjAzL21Y?=
 =?utf-8?B?Z0k1K0diN242cXZGWExmM21ENWh0d0Y0ZlQxQ05wODk5MGlFdVpGMkpLa0xR?=
 =?utf-8?B?bjU0TG1RZ3NVeGZ3WXJob01PVEl3U0xyL0R4My9XZ2RQdFlpelJERjJJMkdG?=
 =?utf-8?B?QTVoWFNzTnJpckZDN2xrcUlNRnZ2NXRxR1pSQjM4QkYvSnZlTGg4SmxrYUxZ?=
 =?utf-8?B?NWZvZlREYkp0bWpsR0oxM1FsQVNYVHNJN2J2RU9XSmxhS013R2hvS2VCNkZI?=
 =?utf-8?B?SGZwbXhqQk1NeGdtNGd1ejVZOW9BUXozUE9jMmNqWENkK2d1RDdNNzFTNllP?=
 =?utf-8?B?cmY5Q0N5L2FOZmY1a3J0alg3dW5qd2pRQmJNL21INW1kaExBNkt3RVhJZmNa?=
 =?utf-8?Q?XLWvcPanIBoj+F2Gy0e0IRzUt?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A6317DDFFB7AA641BBA416EA4C4AF327@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9db460ad-5e84-4c89-7dc0-08dae08d72ba
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Dec 2022 00:18:54.6025
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /Bmc8OtdIeKUbPfi7C3keRmZ1Q9nk6dAT1kZsQT1IOpD9IVYCCEn/h3Q6SZob4jNr/Em84Idjeu+iYePfTQ1xdeRF9SXvj+hKYVK9S3lEOs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6465

T24gMTcvMTIvMjAyMiA1OjQyIHBtLCBOZW93dXRyYW4gd3JvdGU6DQo+IGRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYvdGltZS5jIGIveGVuL2FyY2gveDg2L3RpbWUuYw0KPiBpbmRleCBiMDFhY2Qz
OTBkLi43Yzc3ZWM4OTAyIDEwMDY0NA0KPiAtLS0gYS94ZW4vYXJjaC94ODYvdGltZS5jDQo+ICsr
KyBiL3hlbi9hcmNoL3g4Ni90aW1lLmMNCj4gQEAgLTI1ODUsNyArMjU4NSw3IEBAIGludCB0c2Nf
c2V0X2luZm8oc3RydWN0IGRvbWFpbiAqZCwNCj4gICAgICBjYXNlIFRTQ19NT0RFX0FMV0FZU19F
TVVMQVRFOg0KPiAgICAgICAgICBkLT5hcmNoLnZ0c2Nfb2Zmc2V0ID0gZ2V0X3NfdGltZSgpIC0g
ZWxhcHNlZF9uc2VjOw0KPiAgICAgICAgICBkLT5hcmNoLnRzY19raHogPSBndHNjX2toeiA/OiBj
cHVfa2h6Ow0KPiAtICAgICAgICBzZXRfdGltZV9zY2FsZSgmZC0+YXJjaC52dHNjX3RvX25zLCBk
LT5hcmNoLnRzY19raHogKiAxMDAwKTsNCj4gKyAgICAgICAgc2V0X3RpbWVfc2NhbGUoJmQtPmFy
Y2gudnRzY190b19ucywgKHU2NClkLT5hcmNoLnRzY19raHogKiAxMDAwKTsNCg0KQWggLSBJIHNl
ZSB5b3UgdHJhY2tlZCBkb3duIHlvdXIgYnVnIGluIHRoZSBlbmQuwqAgT25lIG1pbm9yIHRoaW5n
LCB3ZQ0KcHJlZmVyIHRvIHVzZSAodWludDY0X3QpIHJhdGhlciB0aGFuICh1NjQpLg0KDQpBcyBF
bGxpb3Qgc2FpZCwgeW91IG5lZWQgdG8gc3VibWl0IGEgdjIgd2l0aCBhIFNpZ25lZC1vZmYtYnkg
Zm9yIHRoZSBEQ08NCmJlZm9yZSB0aGUgcGF0Y2ggY2FuIGJlIGFjY2VwdGVkLg0KDQpBIG1vcmUg
c3VjY2luY3QgY29tbWl0IG1lc3NhZ2Ugd291bGQgYWxzbyBiZSBncmVhdCAtIGl0IHdhbnRzIHRv
DQpkZXNjcmliZSB3aGF0IHRoZSBidWcgaXMsIGFuZCB3aGF0IHRoZSBmaXggaXMuwqAgRm9yIHRo
aXMsIHRoZSBrZXkgdGVybQ0KaXMgIm92ZXJmbG93IGJlZm9yZSB3aWRlbiIgKG9yIHZhcmlhdGlv
biB0aGVyZW9mKSB3aGljaCBpcyBhIGNvbW1vbg0KY2xhc3Mgb2YgYnVnIGluIEMuDQoNClRoYW5r
cywNCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 03:39:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 03:39:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465520.724321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6kWB-0003Ee-Km; Sun, 18 Dec 2022 03:39:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465520.724321; Sun, 18 Dec 2022 03:39:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6kWB-0003EX-Gj; Sun, 18 Dec 2022 03:39:15 +0000
Received: by outflank-mailman (input) for mailman id 465520;
 Sun, 18 Dec 2022 03:39:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6kWA-0003EN-12; Sun, 18 Dec 2022 03:39:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6kW9-0000aZ-TD; Sun, 18 Dec 2022 03:39:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6kW9-0004Aw-Ae; Sun, 18 Dec 2022 03:39:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6kW9-0001ds-97; Sun, 18 Dec 2022 03:39:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oKwKST+iEO6vB84Yh7JP8sUmBOLpUWu6nPvLoukh1TQ=; b=iS8zlFajqnrxBZBO+sLmdYr+aD
	5z079ohY/NDVc67mI8DRD4FxSAhvzUfIB8bfSXwMmofG3BlJvbjRsQQWUa/MbCAg9enAcxTOsxXQh
	lwSmvjGN1RpYVAN5tW9BtCHWY2oUt17rI47cDwFLcvU19B6CvmNmwgw8dBJ8N+clyAEU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175382-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175382: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=316e6df435af81f8281150bb04b3dd5a304d9c92
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 03:39:13 +0000

flight 175382 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175382/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 316e6df435af81f8281150bb04b3dd5a304d9c92
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    3 days
Failing since        175214  2022-12-14 18:42:16 Z    3 days   21 attempts
Testing same since   175338  2022-12-16 22:40:53 Z    1 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 459 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 04:19:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 04:19:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465532.724332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6l9V-0007wH-P9; Sun, 18 Dec 2022 04:19:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465532.724332; Sun, 18 Dec 2022 04:19:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6l9V-0007wA-MI; Sun, 18 Dec 2022 04:19:53 +0000
Received: by outflank-mailman (input) for mailman id 465532;
 Sun, 18 Dec 2022 04:19:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6l9U-0007w0-1K; Sun, 18 Dec 2022 04:19:52 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6l9T-0001eG-Ua; Sun, 18 Dec 2022 04:19:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6l9T-0007Ow-G9; Sun, 18 Dec 2022 04:19:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6l9T-000784-Fg; Sun, 18 Dec 2022 04:19:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bx5D3nooxDt1zR9uRxBHAxzDRM0RVPeBuqrjCFwq2aY=; b=Zdl4PVSwlwh25H6PRdIKs/ALDs
	TQnd8AcY+6NE0Ic+yRqxBNqpS1YEiGMiceYm4BAMzsg9RZhFMH05ATtqgKEXY/FWBj+hoKBUYIipo
	oBLACAGXSfKbdSvxPEopnTX4nHhdN9d7y1oensjCJXbZG22c2baqBFx1KQAlD9hKEzKg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175374-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175374: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:<job status>:broken:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f9ff5644bcc04221bae56f922122f2b7f5d24d62
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 04:19:51 +0000

flight 175374 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175374/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-intel    <job status>                 broken
 test-amd64-amd64-dom0pvh-xl-intel  5 host-install(5)   broken REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                f9ff5644bcc04221bae56f922122f2b7f5d24d62
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   71 days
Failing since        173470  2022-10-08 06:21:34 Z   70 days  144 attempts
Testing same since   175374  2022-12-17 20:13:14 Z    0 days    1 attempts

------------------------------------------------------------
3125 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            broken  
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-dom0pvh-xl-intel broken
broken-step test-amd64-amd64-dom0pvh-xl-intel host-install(5)

Not pushing.

(No revision log; it would be 463260 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 06:03:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 06:03:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465542.724343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6mlk-0002X4-6P; Sun, 18 Dec 2022 06:03:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465542.724343; Sun, 18 Dec 2022 06:03:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6mlk-0002Wx-1w; Sun, 18 Dec 2022 06:03:28 +0000
Received: by outflank-mailman (input) for mailman id 465542;
 Sun, 18 Dec 2022 06:03:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6mli-0002Wn-7x; Sun, 18 Dec 2022 06:03:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6mli-0004Nm-5D; Sun, 18 Dec 2022 06:03:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6mlh-0004pC-Mg; Sun, 18 Dec 2022 06:03:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6mlh-0004gl-M8; Sun, 18 Dec 2022 06:03:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rffDUnmQ2G/NLDWg3Bjmkj/hXwf8GJWhdsQ6FL/l/l8=; b=DMHqUyv0V1UuX20NLolvsci8b0
	jJoV60AzqYCeOuMCjIFLOyjGCw8g3M+DaUPgZ0vucjWxVkZAzh7xUzXwYnEFjROxtr5OBFmiRYpSS
	Z32SwnsiJfvuowMjyvg3I6tB75z1FMZdYD8Zazz7u0h9LEv99GfEwWlaG8allSIhpdPM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175377-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175377: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=55745005e90a9deabd3d7900e13fc850f26f9d62
X-Osstest-Versions-That:
    qemuu=d038d2645acabf6f52fd61baeaa021c3ebe97714
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 06:03:25 +0000

flight 175377 qemu-mainline real [real]
flight 175386 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175377/
http://logs.test-lab.xenproject.org/osstest/logs/175386/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail pass in 175386-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qcow2  21 guest-start/debian.repeat fail blocked in 175344
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175344
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175344
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175344
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175344
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175344
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175344
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175344
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175344
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                55745005e90a9deabd3d7900e13fc850f26f9d62
baseline version:
 qemuu                d038d2645acabf6f52fd61baeaa021c3ebe97714

Last test of basis   175344  2022-12-17 00:08:39 Z    1 days
Testing same since   175377  2022-12-17 21:37:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Peter Maydell <peter.maydell@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   d038d2645a..55745005e9  55745005e90a9deabd3d7900e13fc850f26f9d62 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 06:54:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 06:54:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465554.724354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6nYu-0007s5-6Q; Sun, 18 Dec 2022 06:54:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465554.724354; Sun, 18 Dec 2022 06:54:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6nYu-0007ry-2p; Sun, 18 Dec 2022 06:54:16 +0000
Received: by outflank-mailman (input) for mailman id 465554;
 Sun, 18 Dec 2022 06:54:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6nYs-0007ro-G0; Sun, 18 Dec 2022 06:54:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6nYs-0005XW-BT; Sun, 18 Dec 2022 06:54:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6nYs-0007FG-2r; Sun, 18 Dec 2022 06:54:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6nYs-0003uZ-2N; Sun, 18 Dec 2022 06:54:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TBo/KIQ870moTZdmCAScM5YJ11EyxaRzPu0l0kpDlOw=; b=OmyCDu7K6e8s9Z+TP78vROn+NS
	6E0hxZw2B6G6SchhyhGHwEVFYaWAgo1YuC7vQUig0g+eJ1NanNMmAQWy7I5uHojkLBLK4PdZlN6fU
	Gzzzslxfm90nXK8YMRHoun1kBt9ASrDpuwDVg0djytpWy+APUrSPMTr5Cqtr0MdhOBos=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175384-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175384: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=4dd7b865565aea4d28bea1b8d57d62620f6015a9
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 06:54:14 +0000

flight 175384 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175384/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 4dd7b865565aea4d28bea1b8d57d62620f6015a9
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    3 days
Failing since        175214  2022-12-14 18:42:16 Z    3 days   22 attempts
Testing same since   175384  2022-12-18 03:41:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 573 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 09:26:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 09:26:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465568.724365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6pvv-0006DA-DO; Sun, 18 Dec 2022 09:26:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465568.724365; Sun, 18 Dec 2022 09:26:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6pvv-0006D3-AJ; Sun, 18 Dec 2022 09:26:11 +0000
Received: by outflank-mailman (input) for mailman id 465568;
 Sun, 18 Dec 2022 09:26:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6pvu-0006Ct-1h; Sun, 18 Dec 2022 09:26:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6pvt-00011Z-W3; Sun, 18 Dec 2022 09:26:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6pvt-0003oh-LN; Sun, 18 Dec 2022 09:26:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6pvt-0001eG-Kx; Sun, 18 Dec 2022 09:26:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZGEJWQ3/tQu1bKIhZj9iBtwBIhyNAOLpr00HXx07SWo=; b=OeEaQLL9EBPrKHyuo5KTczj4Yf
	rFdjSgNxiQMxR/WI7buqVK1RnZr5Vsx2vwNaTKn4bfcXEYxZgRRzC6SVEsGml67APXljhgOpDcc2b
	DBiRvsVCIFxy8bs5n09ayurgMHFTsTdTi0rCCa0TYLNZ5xMUSUjZ1CsCxzSBUr3Vusvg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175387-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175387: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=4dd7b865565aea4d28bea1b8d57d62620f6015a9
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 09:26:09 +0000

flight 175387 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175387/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 4dd7b865565aea4d28bea1b8d57d62620f6015a9
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    3 days
Failing since        175214  2022-12-14 18:42:16 Z    3 days   23 attempts
Testing same since   175384  2022-12-18 03:41:23 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 573 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 09:59:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 09:59:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465578.724375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6qRw-0001Bz-V5; Sun, 18 Dec 2022 09:59:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465578.724375; Sun, 18 Dec 2022 09:59:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6qRw-0001Bs-SP; Sun, 18 Dec 2022 09:59:16 +0000
Received: by outflank-mailman (input) for mailman id 465578;
 Sun, 18 Dec 2022 09:59:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6qRv-0001Bh-KX; Sun, 18 Dec 2022 09:59:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6qRv-0001ld-HK; Sun, 18 Dec 2022 09:59:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6qRv-0004br-3k; Sun, 18 Dec 2022 09:59:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6qRv-0003Sl-3P; Sun, 18 Dec 2022 09:59:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=FVLwRqUzHKauPLIHL9qTyPGYgkUm16+XsVND9tMzWNs=; b=4yXSra/Zb4UrpO7ZHl0iqxuhUX
	7IOR5dRj2Z6OPIO5mwFAJJe2kB4R7uK6YS2uvbfv7JQGRBV5Shc5xKNZl8hwSjkVhiGHn7lz5OsMn
	a6OgcJUD4r2j+1YrOVrY9wZl0s5wkMtsgKYpYWk/cLx5zXC/7ZaQEoLXtbBDSFYd9du8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175383-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175383: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-shadow:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
X-Osstest-Versions-That:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 09:59:15 +0000

flight 175383 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175383/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail in 175354 pass in 175383
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 175354 pass in 175383
 test-amd64-i386-xl-shadow     7 xen-install                fail pass in 175354
 test-amd64-amd64-xl-credit2  20 guest-localmigrate/x10     fail pass in 175354

Tests which did not succeed, but are not blocking:
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install             fail like 175354
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175354
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175354
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175354
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175354
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175354
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175354
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175354
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175354
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175354
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175354
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175354
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175354
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2
baseline version:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2

Last test of basis   175383  2022-12-18 01:54:51 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Dec 18 11:03:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 11:03:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465590.724387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6rRO-0008Jt-S2; Sun, 18 Dec 2022 11:02:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465590.724387; Sun, 18 Dec 2022 11:02:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6rRO-0008Jm-Ob; Sun, 18 Dec 2022 11:02:46 +0000
Received: by outflank-mailman (input) for mailman id 465590;
 Sun, 18 Dec 2022 11:02:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6rRN-0008Jc-Ix; Sun, 18 Dec 2022 11:02:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6rRN-0003JQ-6f; Sun, 18 Dec 2022 11:02:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6rRM-0005xL-L7; Sun, 18 Dec 2022 11:02:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6rRM-0003HQ-Ki; Sun, 18 Dec 2022 11:02:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UqUU8P3eLDOJznoXCVxHUg4uQfqPoMOsG06pKFUiKiQ=; b=J6lHQQNey8N6lrh+pWH7NyVTaD
	9ZfLLevBVGp+pze3EBYjgMvKaz/LPXIOVx0TvritutRwlFzumZRnadP5SsBDsft9U6DOLI8V4Q1Lo
	815OhzuzmvXpY38+NMCfesX+OIHkDIePYoBPMpHFBJ+sy53O9VSY6GAfMX6XOfMirDOU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175388-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175388: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=4dd7b865565aea4d28bea1b8d57d62620f6015a9
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 11:02:44 +0000

flight 175388 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175388/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 4dd7b865565aea4d28bea1b8d57d62620f6015a9
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    3 days
Failing since        175214  2022-12-14 18:42:16 Z    3 days   24 attempts
Testing same since   175384  2022-12-18 03:41:23 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 573 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 12:15:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 12:15:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465602.724398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6sZu-00078b-Dq; Sun, 18 Dec 2022 12:15:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465602.724398; Sun, 18 Dec 2022 12:15:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6sZu-00078U-AR; Sun, 18 Dec 2022 12:15:38 +0000
Received: by outflank-mailman (input) for mailman id 465602;
 Sun, 18 Dec 2022 12:15:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=oNcc=4Q=neowutran.ovh=xen@srs-se1.protection.inumbo.net>)
 id 1p6sZs-00078O-TZ
 for xen-devel@lists.xenproject.org; Sun, 18 Dec 2022 12:15:37 +0000
Received: from neowutran.ovh (vps-eb112777.vps.ovh.net [51.83.40.211])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac893927-7ecd-11ed-8fd4-01056ac49cbb;
 Sun, 18 Dec 2022 13:15:34 +0100 (CET)
Received: from localhost.localdomain (82-65-208-184.subs.proxad.net
 [82.65.208.184])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384)
 (No client certificate requested)
 by neowutran.ovh (Postfix) with ESMTPSA id 5E24760BCE;
 Sun, 18 Dec 2022 12:15:34 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac893927-7ecd-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=neowutran.ovh;
	s=my-selector-name; t=1671365734;
	bh=zP4nE79QK6FlGUc7KX5q7eIL2zycoSjLlBmj2jo1BvU=;
	h=From:To:Cc:Subject:Date;
	b=tm8rMWl/90zPnnNFtzzl7wH3H88z/4fGUEebssbVBlQoeHZ/DfweXcWradk/UUArM
	 xlcQo07YfO501XVXfmVL66GC2MTz+eAQVWX3QN1M+dvJClmjNtCe/cndbbI3mmld4f
	 orLDV4ctADTRWp7nb3hUqvQu32XV0H/ulvM4MLjjiqRDEHdlvinMIFxa9nv869+8jL
	 Zj8p/B/z1op4v9EkIGS84MGRULBJURyqNc7Qx3PnGt/uK7Bnj4FJKRidqCtvcaG7mG
	 5oq0YzOKz7b5bN2YZogyk87LW18Q3+YkLzChcFHPBvsqjMt13lNd15LcRYJPYTLyul
	 Do+A1CDqNgIbN9uvsXm8MSQ5ukKJHO9RT9gX1469baaKx94bASrnYNJK4jO/c9Irfx
	 mE3LDOE2d7/7Ma5NDaiXSHpOlcBmNRbuoB7+wnn42vinXCI40U0K2s0ngXi2/hC0dP
	 /2KaWAlpoVOkpQFAT+BhbpEkPlB75ysfhLZa3wkE1FI4QtI16nDkhtERdpV1oK5QlI
	 OIuBtWVa6+nQz/9ZrFsltI0xEbY0Why05Nephzzl9oMK9eX7Y6LqhP4ImOLdYBUjs2
	 vVIvoRlEKd+j6Lv4lLMhVz/98nalEqCuuWPHUBgIs+80p18Fkm8qG5di2WyQcng61x
	 xXmb71/Wzszidf9T2ZYZqhnU=
From: Neowutran <xen@neowutran.ovh>
To: xen-devel@lists.xenproject.org
Cc: Neowutran <xen@neowutran.ovh>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2] Bug fix - Integer overflow when cpu frequency > u32 max value.
Date: Sun, 18 Dec 2022 13:14:07 +0100
Message-Id: <d018f50f439c4d8dff8add022d28698a2af3c320.1671365645.git.xen@neowutran.ovh>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

xen/x86: prevent overflow with high frequency TSCs

Promote tsc_khz to a 64-bit type before multiplying by 1000 to avoid a
'overflow before widen' bug.
Otherwise just above 4.294GHz the value will overflow.
Processors with clocks this high are now in production and require this to work
correctly.

Signed-off-by: Neowutran <xen@neowutran.ovh>
---
Changed since v1:
 * smaller commit message
 * using uint64_t instead of u64
 * added signed-off-by tag
---
 xen/arch/x86/time.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index b01acd390d..c71e79e019 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -2585,7 +2585,7 @@ int tsc_set_info(struct domain *d,
     case TSC_MODE_ALWAYS_EMULATE:
         d->arch.vtsc_offset = get_s_time() - elapsed_nsec;
         d->arch.tsc_khz = gtsc_khz ?: cpu_khz;
-        set_time_scale(&d->arch.vtsc_to_ns, d->arch.tsc_khz * 1000);
+        set_time_scale(&d->arch.vtsc_to_ns, (uint64_t)d->arch.tsc_khz * 1000);
 
         /*
          * In default mode use native TSC if the host has safe TSC and
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Sun Dec 18 13:09:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 13:09:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465619.724408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6tPW-0004B2-Bd; Sun, 18 Dec 2022 13:08:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465619.724408; Sun, 18 Dec 2022 13:08:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6tPW-0004Av-95; Sun, 18 Dec 2022 13:08:58 +0000
Received: by outflank-mailman (input) for mailman id 465619;
 Sun, 18 Dec 2022 13:08:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6tPV-0004Ai-CY; Sun, 18 Dec 2022 13:08:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6tPV-0006AN-5v; Sun, 18 Dec 2022 13:08:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6tPU-0000FB-QY; Sun, 18 Dec 2022 13:08:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6tPU-00008q-Q4; Sun, 18 Dec 2022 13:08:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1BvwbK6Fp7bAsvN1tbX3XrDaDS7eUOPQ0nyy21IWrd4=; b=6G4dTKb9Ul0WwtE60UJWlzf0s1
	h6F4o8xfuPFaLCc89FGZJKkVumQBje5+dfdqbFUjIMgtNcG4ihg9AOanGv2lvl8HSLM4Cim6Uf0Sm
	IRqY/WNCRMmXmGdPsvQvPlVMaTp7QKMKR8y/AUBTYaNDIT+3qckB2LkElT2/RhzF1r+g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175389-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175389: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=4dd7b865565aea4d28bea1b8d57d62620f6015a9
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 13:08:56 +0000

flight 175389 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175389/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 4dd7b865565aea4d28bea1b8d57d62620f6015a9
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    3 days
Failing since        175214  2022-12-14 18:42:16 Z    3 days   25 attempts
Testing same since   175384  2022-12-18 03:41:23 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 573 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 13:35:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 13:35:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465629.724419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6top-0007YG-F3; Sun, 18 Dec 2022 13:35:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465629.724419; Sun, 18 Dec 2022 13:35:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6top-0007Y9-CQ; Sun, 18 Dec 2022 13:35:07 +0000
Received: by outflank-mailman (input) for mailman id 465629;
 Sun, 18 Dec 2022 13:35:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6too-0007Xx-9r; Sun, 18 Dec 2022 13:35:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6too-0006j2-61; Sun, 18 Dec 2022 13:35:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6ton-0000qn-Ph; Sun, 18 Dec 2022 13:35:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6ton-00026Z-PD; Sun, 18 Dec 2022 13:35:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=o5H1lNDU7Zb70lOzE5QNdjZTbxoedjZjDMD7mKB24yE=; b=UjizNkhVFuDO+ZDOGwbwNFfXtM
	qBpQJifGLmuuzdqB2nn5dJ2Sso6FtrMueWvAYEk/iLYMLmhbSpDlS+xY9I4vGwpoExjG5/4T+1AaH
	VW8brEgfx/C/a8oIppYN8xkMPviX8DIeljBGcQUhDO3wwgYjXoYuu3OsU/2eQqGaZv10=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175385-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175385: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:host-install(5):broken:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f9ff5644bcc04221bae56f922122f2b7f5d24d62
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 13:35:05 +0000

flight 175385 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175385/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-intel    <job status>             broken in 175374
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-intel 5 host-install(5) broken in 175374 pass in 175385
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 175374 pass in 175385
 test-amd64-amd64-libvirt      8 xen-boot                   fail pass in 175374
 test-amd64-amd64-libvirt-qcow2 19 guest-start/debian.repeat fail pass in 175374

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt    15 migrate-support-check fail in 175374 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                f9ff5644bcc04221bae56f922122f2b7f5d24d62
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   71 days
Failing since        173470  2022-10-08 06:21:34 Z   71 days  145 attempts
Testing same since   175374  2022-12-17 20:13:14 Z    0 days    2 attempts

------------------------------------------------------------
3125 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-dom0pvh-xl-intel broken

Not pushing.

(No revision log; it would be 463260 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 14:29:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 14:29:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465639.724431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6ufn-0004nC-IL; Sun, 18 Dec 2022 14:29:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465639.724431; Sun, 18 Dec 2022 14:29:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6ufn-0004n5-Ey; Sun, 18 Dec 2022 14:29:51 +0000
Received: by outflank-mailman (input) for mailman id 465639;
 Sun, 18 Dec 2022 14:29:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6ufm-0004mv-EX; Sun, 18 Dec 2022 14:29:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6ufm-00085d-Cg; Sun, 18 Dec 2022 14:29:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6ufl-00021v-TG; Sun, 18 Dec 2022 14:29:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6ufl-00026f-Sj; Sun, 18 Dec 2022 14:29:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vjHCKepiMPEB+H7BX3iWCq86gRu4NGpBTI+PGnV7q6I=; b=5wDGfTvMl79wVGVha8FwaAcsJl
	ea5fpM8Q0bbrHAEdszj25/QFaRVcE7luKtMLfla/0QZxPaVjRy8xNa0Y8xy2Z9g6gC1Ir1V2n0CSM
	M2PryJZKhCg293/xrJ9mOd+S5ySmt88e5B6KWqRvANROVhrGvub/DY+Lu0LM+ovsAktk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175390-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175390: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=4dd7b865565aea4d28bea1b8d57d62620f6015a9
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 14:29:49 +0000

flight 175390 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175390/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 4dd7b865565aea4d28bea1b8d57d62620f6015a9
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    4 days
Failing since        175214  2022-12-14 18:42:16 Z    3 days   26 attempts
Testing same since   175384  2022-12-18 03:41:23 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 573 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 16:27:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 16:27:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465651.724442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6wVB-0000YG-2B; Sun, 18 Dec 2022 16:27:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465651.724442; Sun, 18 Dec 2022 16:27:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6wVA-0000Y9-Vb; Sun, 18 Dec 2022 16:27:00 +0000
Received: by outflank-mailman (input) for mailman id 465651;
 Sun, 18 Dec 2022 16:26:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6wV9-0000Xz-5M; Sun, 18 Dec 2022 16:26:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6wV9-0002po-2f; Sun, 18 Dec 2022 16:26:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6wV8-0005xI-Lm; Sun, 18 Dec 2022 16:26:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6wV8-0004ng-LM; Sun, 18 Dec 2022 16:26:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KfwcpaH1lc5XXvaYFN2BNCgxqDr3wq9mD8Q+vlJUhMQ=; b=nCJ26naBUiOOn2AJmF/sb08OiU
	z6fZybLTdvJXz/bB33Fxor8czm/kNtLgiAo32WK7U1UcFHbIUUA7pwE/NM8mdoJQ9rTSr8KtWb21P
	zAZG8wuBGrHmiP0Ki0Ajt/iK2dFyqA7AM5RsAnq0wzF//6hCFYst9ALudOql4TA7UK7g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175392-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175392: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=4dd7b865565aea4d28bea1b8d57d62620f6015a9
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 16:26:58 +0000

flight 175392 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175392/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 4dd7b865565aea4d28bea1b8d57d62620f6015a9
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    4 days
Failing since        175214  2022-12-14 18:42:16 Z    3 days   27 attempts
Testing same since   175384  2022-12-18 03:41:23 Z    0 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 573 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 18:22:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 18:22:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465663.724454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6yIs-0003yx-CN; Sun, 18 Dec 2022 18:22:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465663.724454; Sun, 18 Dec 2022 18:22:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p6yIs-0003yq-7G; Sun, 18 Dec 2022 18:22:26 +0000
Received: by outflank-mailman (input) for mailman id 465663;
 Sun, 18 Dec 2022 18:22:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6yIq-0003yg-U3; Sun, 18 Dec 2022 18:22:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6yIq-0005Yb-Qw; Sun, 18 Dec 2022 18:22:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p6yIq-0000LH-7a; Sun, 18 Dec 2022 18:22:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p6yIq-0005FN-77; Sun, 18 Dec 2022 18:22:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WlNV0uU1SHTq0pV0GlZ8UHtNJGaBVyCD3sMFHmuoyhg=; b=wbp6jGSlcLue5xcAK3Bn/7g8Pq
	LQ2wNNnZF3GXyOb5s9iUz8JrHGMe35TUq5FQwEuU2deHrjo8UTGzFoHVwAGLfDT7bTaa4oPIoolJB
	5X1e6YqcLIZws5piZ3MqC5z091DNL9kvAMnq8Jl4HknnlrH6VrcHlRkiaXhJotNo2hCs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175393-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175393: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=4dd7b865565aea4d28bea1b8d57d62620f6015a9
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 18:22:24 +0000

flight 175393 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175393/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 4dd7b865565aea4d28bea1b8d57d62620f6015a9
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    4 days
Failing since        175214  2022-12-14 18:42:16 Z    3 days   28 attempts
Testing same since   175384  2022-12-18 03:41:23 Z    0 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 573 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 21:48:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 21:48:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465700.724481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p71Vk-0000TC-HL; Sun, 18 Dec 2022 21:47:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465700.724481; Sun, 18 Dec 2022 21:47:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p71Vk-0000T5-Dl; Sun, 18 Dec 2022 21:47:56 +0000
Received: by outflank-mailman (input) for mailman id 465700;
 Sun, 18 Dec 2022 21:47:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p71Vj-0000Sv-1b; Sun, 18 Dec 2022 21:47:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p71Vi-0001uR-UU; Sun, 18 Dec 2022 21:47:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p71Vi-0001H0-Cn; Sun, 18 Dec 2022 21:47:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p71Vi-0007yJ-CJ; Sun, 18 Dec 2022 21:47:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nTV9R/Eg7LVI5qVc3OdHJaxQ5JbtOAfzHxb9ul4qNXo=; b=k0RTasIMnq7d6fiw0CsgdsOQBH
	NAk4RTOaQZ5Y5mn/3cNHh3Sg+fe22zGMylatjimaSgbEiar3KTkuXCdxNN4UdwhWozndRkfGAyH+3
	e72MlTI6NbzzgfCXL1Ifw+f5sZUO4w2hkT6LU4+IwZiZgHXwkVxRC+GvyJE+bN5VVDQA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175391-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175391: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:<job status>:broken:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:host-install(5):broken:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f9ff5644bcc04221bae56f922122f2b7f5d24d62
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 21:47:54 +0000

flight 175391 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175391/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-intel    <job status>             broken in 175374
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-intel 5 host-install(5) broken in 175374 pass in 175391
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 175374 pass in 175391
 test-amd64-amd64-libvirt      8 xen-boot                   fail pass in 175374
 test-amd64-amd64-libvirt-qcow2 19 guest-start/debian.repeat fail pass in 175374
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot           fail pass in 175385
 test-amd64-amd64-examine-bios  8 reboot                    fail pass in 175385
 test-amd64-amd64-xl-vhd      21 guest-start/debian.repeat  fail pass in 175385

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt    15 migrate-support-check fail in 175374 never pass
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop  fail in 175385 like 173462
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                f9ff5644bcc04221bae56f922122f2b7f5d24d62
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   72 days
Failing since        173470  2022-10-08 06:21:34 Z   71 days  146 attempts
Testing same since   175374  2022-12-17 20:13:14 Z    1 days    3 attempts

------------------------------------------------------------
3125 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             pass    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-dom0pvh-xl-intel broken

Not pushing.

(No revision log; it would be 463260 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 21:48:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 21:48:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465703.724492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p71Vv-0000lI-Q7; Sun, 18 Dec 2022 21:48:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465703.724492; Sun, 18 Dec 2022 21:48:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p71Vv-0000lB-NF; Sun, 18 Dec 2022 21:48:07 +0000
Received: by outflank-mailman (input) for mailman id 465703;
 Sun, 18 Dec 2022 21:48:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=kHhH=4Q=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1p71Vu-0000ke-4H
 for xen-devel@lists.xenproject.org; Sun, 18 Dec 2022 21:48:06 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4f1e13a-7f1d-11ed-8fd4-01056ac49cbb;
 Sun, 18 Dec 2022 22:48:03 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 2BILllPq066332
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Sun, 18 Dec 2022 16:47:53 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 2BILli7o066331;
 Sun, 18 Dec 2022 13:47:44 -0800 (PST) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4f1e13a-7f1d-11ed-8fd4-01056ac49cbb
Date: Sun, 18 Dec 2022 13:47:44 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Neowutran <xen@neowutran.ovh>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
        Andrew Cooper <andrew.cooper3@citrix.com>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2] Bug fix - Integer overflow when cpu frequency > u32
 max value.
Message-ID: <Y5+KgBxxmlYfq7e2@mattapan.m5p.com>
References: <d018f50f439c4d8dff8add022d28698a2af3c320.1671365645.git.xen@neowutran.ovh>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <d018f50f439c4d8dff8add022d28698a2af3c320.1671365645.git.xen@neowutran.ovh>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Sun, Dec 18, 2022 at 01:14:07PM +0100, Neowutran wrote:
> xen/x86: prevent overflow with high frequency TSCs
> 
> Promote tsc_khz to a 64-bit type before multiplying by 1000 to avoid a
> 'overflow before widen' bug.
> Otherwise just above 4.294GHz the value will overflow.
> Processors with clocks this high are now in production and require this to work
> correctly.
> 
> Signed-off-by: Neowutran <xen@neowutran.ovh>

Needing a bit of word-wrapping, but that can be adjusted during commit to
the Xen tree.

This strikes me as urgent for an updated Xen release.  In the past 3
months, both large manufacturers of desktop processors have released
processors with sufficient clock speed to require this patch.  This WILL
trigger *massive* numbers of bug reports very soon.

Similarly I suggest all Linux distributions which distribute Xen will
want to issue updates urgently.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445




From xen-devel-bounces@lists.xenproject.org Sun Dec 18 23:13:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 23:13:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465725.724502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p72pu-00021P-SL; Sun, 18 Dec 2022 23:12:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465725.724502; Sun, 18 Dec 2022 23:12:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p72pu-00021I-PR; Sun, 18 Dec 2022 23:12:50 +0000
Received: by outflank-mailman (input) for mailman id 465725;
 Sun, 18 Dec 2022 23:12:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p72pu-000218-EO; Sun, 18 Dec 2022 23:12:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p72pu-0003ba-DI; Sun, 18 Dec 2022 23:12:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p72pt-0003mf-Ty; Sun, 18 Dec 2022 23:12:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p72pt-0004sC-TX; Sun, 18 Dec 2022 23:12:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gL9pZtOwnluj6SSNXpIYVckjMbZvdSLVdUwP4CxVA2k=; b=iZWDwrPYTgHdvkZ0Qil+Yx3gp/
	Wk6seByL2cYm933Iq3W9GtwJENEZx8Q9jzHeJ3DRZ/vie3ie419Eqh2pZ5VXtfXwOEJIATEyO/lJi
	M9cr9pDy1jXzb/eGDkkOghm6egRef3Mr3/Nz+2+Vo1zaPI2tDOGZotG+3vjTe/gGCo2Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175395-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175395: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=4dd7b865565aea4d28bea1b8d57d62620f6015a9
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 23:12:49 +0000

flight 175395 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175395/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 4dd7b865565aea4d28bea1b8d57d62620f6015a9
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    4 days
Failing since        175214  2022-12-14 18:42:16 Z    4 days   29 attempts
Testing same since   175384  2022-12-18 03:41:23 Z    0 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 573 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 18 23:21:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 18 Dec 2022 23:21:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465735.724514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p72ya-0003Tx-Q7; Sun, 18 Dec 2022 23:21:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465735.724514; Sun, 18 Dec 2022 23:21:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p72ya-0003Tq-LP; Sun, 18 Dec 2022 23:21:48 +0000
Received: by outflank-mailman (input) for mailman id 465735;
 Sun, 18 Dec 2022 23:21:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p72ya-0003Tg-0m; Sun, 18 Dec 2022 23:21:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p72yZ-0003uJ-UV; Sun, 18 Dec 2022 23:21:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p72yZ-000436-HQ; Sun, 18 Dec 2022 23:21:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p72yZ-0006w5-Gv; Sun, 18 Dec 2022 23:21:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Jh+iGS0YD3WiUw+d8IWdZ0+nbTgIeno35TVybBijKmE=; b=rXk1/Hf6vkUhm458vXQOnpYx5u
	QjsxluAE/200BgmNls9KnZjwi33x8GWAoYc+6GSV6qGIM3h2vuQGSxwOF2sMTivyVgHweFU1jtyMf
	cSE7Y1fy67LULT3yaDFxQqUH5IEnG6A7sUNlf5+xWGqJuRotLZnOoXx3fiPOLuUBN//Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175394-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175394: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start/freebsd.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=562d4af32ec2213061f844b3838223fd7711b56a
X-Osstest-Versions-That:
    qemuu=55745005e90a9deabd3d7900e13fc850f26f9d62
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 18 Dec 2022 23:21:47 +0000

flight 175394 qemu-mainline real [real]
flight 175397 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175394/
http://logs.test-lab.xenproject.org/osstest/logs/175397/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd12-amd64 21 guest-start/freebsd.repeat fail pass in 175397-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175377
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175377
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175377
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175377
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat    fail  like 175377
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175377
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175377
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175377
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175377
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                562d4af32ec2213061f844b3838223fd7711b56a
baseline version:
 qemuu                55745005e90a9deabd3d7900e13fc850f26f9d62

Last test of basis   175377  2022-12-17 21:37:09 Z    1 days
Testing same since   175394  2022-12-18 17:07:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Peter Maydell <peter.maydell@linaro.org>
  Song Gao <gaosong@loongson.cn>
  Xiaojuan Yang <yangxiaojuan@loongson.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   55745005e9..562d4af32e  562d4af32ec2213061f844b3838223fd7711b56a -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 02:07:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 02:07:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465745.724524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p75Z1-0001Ub-UN; Mon, 19 Dec 2022 02:07:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465745.724524; Mon, 19 Dec 2022 02:07:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p75Z1-0001UU-RE; Mon, 19 Dec 2022 02:07:35 +0000
Received: by outflank-mailman (input) for mailman id 465745;
 Mon, 19 Dec 2022 02:07:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p75Z0-0001UK-8h; Mon, 19 Dec 2022 02:07:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p75Z0-0007Lb-7H; Mon, 19 Dec 2022 02:07:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p75Yz-0001Cm-Kc; Mon, 19 Dec 2022 02:07:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p75Yz-0002AT-K8; Mon, 19 Dec 2022 02:07:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Y5677zearNLGnwoDxkG1OUM+heWiY1OMXf2Dk4SeuD0=; b=ogCqHf21mS+66Mr9jI8a+Fs9NS
	sc3V70P1t+rjWoFgtP3tCXRcSUb5WUxsubhoX0FQFBrKvTxx/JkfusF5E8X88qBJSNAxUljb0gpov
	nxKyf1kqRTilXxiq+ljvHZZlSIC7AsDBGUS4tV8QY46B7LthiArhlvPvs592HGGstGi8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175398-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175398: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=4dd7b865565aea4d28bea1b8d57d62620f6015a9
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 19 Dec 2022 02:07:33 +0000

flight 175398 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175398/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 4dd7b865565aea4d28bea1b8d57d62620f6015a9
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    4 days
Failing since        175214  2022-12-14 18:42:16 Z    4 days   30 attempts
Testing same since   175384  2022-12-18 03:41:23 Z    0 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 573 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 06:35:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 06:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465761.724602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kJ-0004iH-GE; Mon, 19 Dec 2022 06:35:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465761.724602; Mon, 19 Dec 2022 06:35:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kJ-0004i0-C5; Mon, 19 Dec 2022 06:35:31 +0000
Received: by outflank-mailman (input) for mailman id 465761;
 Mon, 19 Dec 2022 06:35:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+4Hg=4R=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p79kH-000383-WF
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 06:35:30 +0000
Received: from mail-ej1-x62a.google.com (mail-ej1-x62a.google.com
 [2a00:1450:4864:20::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 542d0c26-7f67-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 07:35:29 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id fc4so19039032ejc.12
 for <xen-devel@lists.xenproject.org>; Sun, 18 Dec 2022 22:35:29 -0800 (PST)
Received: from uni.router.wind (adsl-211.109.242.226.tellas.gr.
 [109.242.226.211]) by smtp.googlemail.com with ESMTPSA id
 q14-20020a17090676ce00b008302732f569sm77062ejn.78.2022.12.18.22.35.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 18 Dec 2022 22:35:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 542d0c26-7f67-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QDHt9Muga8jj18B99Ku3Es7TSomj917F0qX6vAjIB5g=;
        b=BRMFmUfPzlOVRvLBZelGfWoA4csOXoqK7RcIuPHysgTsZdx6bLeS9Ug3Uhiuh09sQF
         mu8nWcfqNUN9+vKfrWazttPpWT2bJXW5RrUVTFabCUQQw0DeME/MgnzQVjDYToAA+KKl
         FhWQMd1b21iGCHGHJH+Hs7SdVh/eAO7YdWGKRXbzszcD2rqdFzW+CfzzWLOh+SZJPtb/
         yUz9Mk5jflw7KIhgqp/Y6qM5TVzbxKu/o4KYuEW5QDK4QmGeMmazWuPu5bD5RxlUQ2mM
         Z4brmiYF7bR/QswtWFITnVlnU1HiDQTpJnzZrc+FIkNniJHrhPDvD00h2kjP294xVKHL
         mq7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=QDHt9Muga8jj18B99Ku3Es7TSomj917F0qX6vAjIB5g=;
        b=oH04Oj/jpQSDGUfRCHSvHK1T5TIMssNfOYzxMJHMCarbxMlYTU5Y1eXFBbX1cU4prT
         CmicEMk9sLPHe1LR32gHo2QuFKHlDWOdB3k6XTMXxoIkBMy3Sr8tWjNR7OTLSw31mmTZ
         RLmAJTAvwIsL0J+XQWuHx1Pb/Kmh9T1sER/8diy65YTB3kFWdwiv04lHZ0TptGdGQQCr
         Ku48yx6Pbku2jnSFl9ETwFn84QvdUiK1Phha66AGY1QRoE5Pe2+yLCOC6dKw+MHwO6En
         w9xZrKeJqVYjbS0S2lUA+izBB3SZscP1QsPJlDJTuNOYcy9KeqPtvrDDETfoYeqw1qz/
         Nldg==
X-Gm-Message-State: ANoB5pn05+Kmix0Iykx2UbjFblI8D67hDod5lCK5LOskivSlVUUH/oBt
	qRh219+KFemu/KusZKzbABhKm9ts4yU=
X-Google-Smtp-Source: AA0mqf4rjpoUPOhdC/CaBehe4Uk70e90bXRw6GgEKYKuRFfJA3CO+fVb56q4mdcvu+JPIiGII6c6uQ==
X-Received: by 2002:a17:907:20ce:b0:7c1:6344:845 with SMTP id qq14-20020a17090720ce00b007c163440845mr27269843ejb.34.1671431728334;
        Sun, 18 Dec 2022 22:35:28 -0800 (PST)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>
Subject: [RFC 6/7] x86/iommu: call pi_update_irte through an hvm_function callback
Date: Mon, 19 Dec 2022 08:34:55 +0200
Message-Id: <20221219063456.2017996-7-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.37.2
In-Reply-To: <20221219063456.2017996-1-burzalodowa@gmail.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Posted interrupt support in Xen is currently implemented only for the
Intel platforms. Instead of calling directly pi_update_irte() from the
common hvm code, add a pi_update_irte callback to the hvm_function_table.
Then, create a wrapper function hvm_pi_update_irte() to be used by the
common hvm code.

In the pi_update_irte callback prototype, pass the vcpu as first parameter
instead of the posted-interrupt descriptor that is platform specific, and
remove the const qualifier from the parameter gvec since it is not needed
and because it does not compile with the alternative code patching in use.

Move the declaration of pi_update_irte() from asm/iommu.h to asm/hvm/vmx/vmx.h
since it is hvm and Intel specific.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/arch/x86/hvm/vmx/vmx.c             | 10 ++++++++++
 xen/arch/x86/include/asm/hvm/hvm.h     | 22 ++++++++++++++++++++++
 xen/arch/x86/include/asm/hvm/vmx/vmx.h | 11 +++++++++++
 xen/arch/x86/include/asm/iommu.h       |  3 ---
 xen/drivers/passthrough/x86/hvm.c      |  5 ++---
 5 files changed, 45 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 7c81b80710..3080f1ef41 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2134,6 +2134,14 @@ static bool cf_check vmx_test_pir(const struct vcpu *v, uint8_t vec)
     return pi_test_pir(vec, &v->arch.hvm.vmx.pi_desc);
 }
 
+static int cf_check vmx_pi_update_irte(const struct vcpu *v,
+                                       const struct pirq *pirq, uint8_t gvec)
+{
+    const struct pi_desc *pi_desc = v ? &v->arch.hvm.vmx.pi_desc : NULL;
+
+    return pi_update_irte(pi_desc, pirq, gvec);
+}
+
 static void cf_check vmx_handle_eoi(uint8_t vector, int isr)
 {
     uint8_t old_svi = set_svi(isr);
@@ -2582,6 +2590,8 @@ static struct hvm_function_table __initdata_cf_clobber vmx_function_table = {
     .tsc_scaling = {
         .max_ratio = VMX_TSC_MULTIPLIER_MAX,
     },
+
+    .pi_update_irte = vmx_pi_update_irte,
 };
 
 /* Handle VT-d posted-interrupt when VCPU is blocked. */
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 93254651f2..f16b9edeaf 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -28,6 +28,8 @@
 #include <asm/x86_emulate.h>
 #include <asm/hvm/asid.h>
 
+struct pirq; /* needed by pi_update_irte */
+
 #ifdef CONFIG_HVM_FEP
 /* Permit use of the Forced Emulation Prefix in HVM guests */
 extern bool_t opt_hvm_fep;
@@ -250,6 +252,9 @@ struct hvm_function_table {
         /* Architecture function to setup TSC scaling ratio */
         void (*setup)(struct vcpu *v);
     } tsc_scaling;
+
+    int (*pi_update_irte)(const struct vcpu *v,
+                          const struct pirq *pirq, uint8_t gvec);
 };
 
 extern struct hvm_function_table hvm_funcs;
@@ -774,6 +779,16 @@ static inline void hvm_set_nonreg_state(struct vcpu *v,
         alternative_vcall(hvm_funcs.set_nonreg_state, v, nrs);
 }
 
+static inline int hvm_pi_update_irte(const struct vcpu *v,
+                                     const struct pirq *pirq, uint8_t gvec)
+{
+    if ( hvm_funcs.pi_update_irte )
+        return alternative_call(hvm_funcs.pi_update_irte, v, pirq, gvec);
+
+    return -EOPNOTSUPP;
+}
+
+
 #else  /* CONFIG_HVM */
 
 #define hvm_enabled false
@@ -893,6 +908,13 @@ static inline void hvm_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
     ASSERT_UNREACHABLE();
 }
 
+static inline int hvm_pi_update_irte(const struct vcpu *v,
+                                     const struct pirq *pirq, uint8_t gvec)
+{
+    ASSERT_UNREACHABLE();
+    return -EOPNOTSUPP;
+}
+
 #define is_viridian_domain(d) ((void)(d), false)
 #define is_viridian_vcpu(v) ((void)(v), false)
 #define has_viridian_time_ref_count(d) ((void)(d), false)
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
index 8eedf59155..17f13e79a0 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -155,6 +155,17 @@ static inline void pi_clear_sn(struct pi_desc *pi_desc)
     clear_bit(POSTED_INTR_SN, &pi_desc->control);
 }
 
+#ifdef CONFIG_INTEL_VTD
+int pi_update_irte(const struct pi_desc *pi_desc,
+                   const struct pirq *pirq, const uint8_t gvec);
+#else
+static inline int pi_update_irte(const struct pi_desc *pi_desc,
+                                 const struct pirq *pirq, const uint8_t gvec)
+{
+    return -EOPNOTSUPP;
+}
+#endif
+
 /*
  * Exit Reasons
  */
diff --git a/xen/arch/x86/include/asm/iommu.h b/xen/arch/x86/include/asm/iommu.h
index 41bd1b9e05..c433c75b76 100644
--- a/xen/arch/x86/include/asm/iommu.h
+++ b/xen/arch/x86/include/asm/iommu.h
@@ -131,9 +131,6 @@ void iommu_identity_map_teardown(struct domain *d);
 extern bool untrusted_msi;
 #endif
 
-int pi_update_irte(const struct pi_desc *pi_desc, const struct pirq *pirq,
-                   const uint8_t gvec);
-
 extern bool iommu_non_coherent, iommu_superpages;
 
 static inline void iommu_sync_cache(const void *addr, unsigned int size)
diff --git a/xen/drivers/passthrough/x86/hvm.c b/xen/drivers/passthrough/x86/hvm.c
index a16e0e5344..e720461a14 100644
--- a/xen/drivers/passthrough/x86/hvm.c
+++ b/xen/drivers/passthrough/x86/hvm.c
@@ -381,8 +381,7 @@ int pt_irq_create_bind(
 
         /* Use interrupt posting if it is supported. */
         if ( iommu_intpost )
-            pi_update_irte(vcpu ? &vcpu->arch.hvm.vmx.pi_desc : NULL,
-                           info, pirq_dpci->gmsi.gvec);
+            hvm_pi_update_irte(vcpu, info, pirq_dpci->gmsi.gvec);
 
         if ( pt_irq_bind->u.msi.gflags & XEN_DOMCTL_VMSI_X86_UNMASKED )
         {
@@ -672,7 +671,7 @@ int pt_irq_destroy_bind(
             what = "bogus";
     }
     else if ( pirq_dpci && pirq_dpci->gmsi.posted )
-        pi_update_irte(NULL, pirq, 0);
+        hvm_pi_update_irte(NULL, pirq, 0);
 
     if ( pirq_dpci && (pirq_dpci->flags & HVM_IRQ_DPCI_MAPPED) &&
          list_empty(&pirq_dpci->digl_list) )
-- 
2.37.2



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 06:35:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 06:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465759.724581 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kG-00047N-Qk; Mon, 19 Dec 2022 06:35:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465759.724581; Mon, 19 Dec 2022 06:35:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kG-00046W-KI; Mon, 19 Dec 2022 06:35:28 +0000
Received: by outflank-mailman (input) for mailman id 465759;
 Mon, 19 Dec 2022 06:35:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+4Hg=4R=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p79kE-000383-NZ
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 06:35:26 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5279adf6-7f67-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 07:35:26 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id n20so19253809ejh.0
 for <xen-devel@lists.xenproject.org>; Sun, 18 Dec 2022 22:35:26 -0800 (PST)
Received: from uni.router.wind (adsl-211.109.242.226.tellas.gr.
 [109.242.226.211]) by smtp.googlemail.com with ESMTPSA id
 q14-20020a17090676ce00b008302732f569sm77062ejn.78.2022.12.18.22.35.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 18 Dec 2022 22:35:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5279adf6-7f67-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Hz6FjXGAr1BW2zW8+8ubXkVLUxQBru6jBVid1iAt+4Y=;
        b=WnPUpU31tyKyu2mpU+g9qT6bVaV1EyK7U1Z4E7qK8G5RdEjVy9bY91qdGaKJMK7vBw
         KxHnDUgIbC6Gv+CzwZ5D4BzIatxhUjsfKM77HUI/pPSudBepnHvpfakHNVjh+UF7yEsk
         canNx4uwc08BaDoIuL1x6aYugWExozjtcroREW+g8OaBpbZ4xiMdFCoF80FjDg2R3BkM
         BzCVm+fcl+9RdbMlZ7w56x0njm9C+X5kGIPxtVD+0fbT6B2R04uVzLPycwPEJIaqiIu6
         3li/eese5o2xY3hIEU/wdkZ8Zu8wWkBNqPme4CQ2wSCcoDLjnX8EL8bjluZ8nwvWHn5v
         U73Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Hz6FjXGAr1BW2zW8+8ubXkVLUxQBru6jBVid1iAt+4Y=;
        b=VxPqV2gq8KQ9PawGF3ovkZc4JJtOKmhDL51BQfW/aLAiXP5e2cotqGBsb+yuP4BAIK
         Qb669DWlAMdsulVrNK3+G3dwsQhjih1xJ5lPV+CKaixYrvH35CNrbieYfnZItMdg/HN7
         3PRgJ+YCcsTA358tRedBT4ruBuzYM5iGnMqpiqmwG2Urw0fc24tZ+tdQFposhYDIfOj8
         e9Vz/xlZypB82073tuiGDNPU2l41b4ExwO510FhkvMsFuaLPwe79KjgL6JuTIKDOH1Hg
         GkQTGoo9wNZ20v0j9jAOIFxPaYwzeDkwxwrz3vp/QGKo7PXxvgup09oYfA6XAcuyj9MO
         HQKA==
X-Gm-Message-State: ANoB5pmqmLdZsqK5NtjGddS228jkvNWK3fI9ykLzCQj1CUtBuErDbquM
	81DxeDgWTPXv4aLSFGTSNDpk3qwjMko=
X-Google-Smtp-Source: AA0mqf7VJiC5mzrg3SfScK5+c+ET7ex4QMswiUfB28YApmHzHpbuaN/BUrPUXFIJ76mx4KKc0ah2/g==
X-Received: by 2002:a17:907:1dc8:b0:7c0:dd4e:b383 with SMTP id og8-20020a1709071dc800b007c0dd4eb383mr38803215ejc.3.1671431725606;
        Sun, 18 Dec 2022 22:35:25 -0800 (PST)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [RFC 4/7] x86/acpi: separate AMD-Vi and VT-d specific functions
Date: Mon, 19 Dec 2022 08:34:53 +0200
Message-Id: <20221219063456.2017996-5-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.37.2
In-Reply-To: <20221219063456.2017996-1-burzalodowa@gmail.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The functions acpi_dmar_init() and acpi_dmar_zap/reinstate() are
VT-d specific while the function acpi_ivrs_init() is AMD-Vi specific.
To eliminate dead code, they need to be guarded under CONFIG_INTEL_VTD
and CONFIG_AMD_IOMMU, respectively.

Instead of adding #ifdef guards around the function calls, implement them
as empty static inline functions.

Take the opportunity to move the declarations of acpi_dmar_zap/reinstate() to
the arch specific header.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/arch/x86/include/asm/acpi.h | 14 ++++++++++++++
 xen/include/xen/acpi.h          |  3 ---
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/include/asm/acpi.h b/xen/arch/x86/include/asm/acpi.h
index c453450a74..06461fedcd 100644
--- a/xen/arch/x86/include/asm/acpi.h
+++ b/xen/arch/x86/include/asm/acpi.h
@@ -140,8 +140,22 @@ extern u32 pmtmr_ioport;
 extern unsigned int pmtmr_width;
 
 void acpi_iommu_init(void);
+
+#ifdef CONFIG_INTEL_VTD
 int acpi_dmar_init(void);
+void acpi_dmar_zap(void);
+void acpi_dmar_reinstate(void);
+#else
+static inline int acpi_dmar_init(void) { return -ENODEV; }
+static inline void acpi_dmar_zap(void) {}
+static inline void acpi_dmar_reinstate(void) {}
+#endif
+
+#ifdef CONFIG_AMD_IOMMU
 int acpi_ivrs_init(void);
+#else
+static inline int acpi_ivrs_init(void) { return -ENODEV; }
+#endif
 
 void acpi_mmcfg_init(void);
 
diff --git a/xen/include/xen/acpi.h b/xen/include/xen/acpi.h
index 1b9c75e68f..82b24a5ef0 100644
--- a/xen/include/xen/acpi.h
+++ b/xen/include/xen/acpi.h
@@ -206,9 +206,6 @@ static inline int acpi_get_pxm(acpi_handle handle)
 
 void acpi_reboot(void);
 
-void acpi_dmar_zap(void);
-void acpi_dmar_reinstate(void);
-
 #endif /* __ASSEMBLY__ */
 
 #endif /*_LINUX_ACPI_H*/
-- 
2.37.2



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 06:35:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 06:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465762.724613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kK-00050n-UW; Mon, 19 Dec 2022 06:35:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465762.724613; Mon, 19 Dec 2022 06:35:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kK-0004zU-Ps; Mon, 19 Dec 2022 06:35:32 +0000
Received: by outflank-mailman (input) for mailman id 465762;
 Mon, 19 Dec 2022 06:35:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+4Hg=4R=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p79kJ-000383-EC
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 06:35:31 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 550595ca-7f67-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 07:35:30 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id kw15so19071425ejc.10
 for <xen-devel@lists.xenproject.org>; Sun, 18 Dec 2022 22:35:30 -0800 (PST)
Received: from uni.router.wind (adsl-211.109.242.226.tellas.gr.
 [109.242.226.211]) by smtp.googlemail.com with ESMTPSA id
 q14-20020a17090676ce00b008302732f569sm77062ejn.78.2022.12.18.22.35.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 18 Dec 2022 22:35:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 550595ca-7f67-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eKxCBs5CR8gwNTFWB5aXerKwnJpGPquUnlinCcVM5FA=;
        b=Uo5w3wXObfuiN5tRzjP0JoRHi1FVdKzGEU7MsGY9as6vCBHEfqCY2R1y9abHaueSvI
         VTOdGg3K+AEjmyfAaekLlNaAcIBWzm5oBVCUcurGYbIBvpYjq+anjr8whlA6v52YLPQ1
         goVSFwW6NaRwWIEtK8/jowcF6R6o1q+AuVpESXgAm3cDlhudbRqYSOSYztdTvY8KDvvp
         RasP3krz/BJ9oWu+JMN0DHK/E86j+VH6Kd+opgX4esWcVDSLZyUW1zSHAKf/W/0ut64N
         xjKDmRo1rMISxNY6AL0xOgHcrIR7JwBKCsavOCjBjxNoUO5VR1Ul16VXikEjcFsO74XS
         QU7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=eKxCBs5CR8gwNTFWB5aXerKwnJpGPquUnlinCcVM5FA=;
        b=etkoqA9shtpYKdWQGcc3tD6ZTnEy+FmTPIsHHcKJFQZXiSH2vCrDJr54W7XxpWR+G4
         btXTS/k3jkELajxrEauCQeYKGwbqU4A+LgjcZAUigQpzT10eD6abWBUbIkw3U1MKEbUH
         3rpwgHLhnUnoQ2mfJEFE+aEphDFqlF3OBdvh+cH4xN2skgPnH3tY38G4lCIljl6Ivit8
         MajBTAbCpBtW5YBjdLS7W+cac4krDymfYDfL1dsIbyVcnHNc5WMlfDTNxiYeEwWA0Obs
         7qM6C4OPT9qAAj2Prka+VjzmcxuCJkaaLdfFd6mcRQLhW3fOFeaMT9UaTvCVNV2bPZ7x
         BBAg==
X-Gm-Message-State: ANoB5plbJvkkj7BUCoXLg47a8x8p8JDCuNoyWy9rOh8u02ii8wn5BUf/
	CjDhuiluUTmnTpv0YLvS+156/F/grVs=
X-Google-Smtp-Source: AA0mqf6Gummy9mqukj5QeKi01nMnG1vJjThOo+agSusjb1/LeCt1yFFbaPAnNRG23PSksLfeaoPITg==
X-Received: by 2002:a17:906:2a0e:b0:7be:9340:b3e6 with SMTP id j14-20020a1709062a0e00b007be9340b3e6mr50460978eje.43.1671431729850;
        Sun, 18 Dec 2022 22:35:29 -0800 (PST)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Paul Durrant <paul@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Kevin Tian <kevin.tian@intel.com>
Subject: [RFC 7/7] x86/dpci: move hvm_dpci_isairq_eoi() to generic HVM code
Date: Mon, 19 Dec 2022 08:34:56 +0200
Message-Id: <20221219063456.2017996-8-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.37.2
In-Reply-To: <20221219063456.2017996-1-burzalodowa@gmail.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function hvm_dpci_isairq_eoi() has no dependencies on VT-d driver code
and can be moved from xen/drivers/passthrough/vtd/x86/hvm.c to
xen/drivers/passthrough/x86/hvm.c.

Remove the now empty xen/drivers/passthrough/vtd/x86/hvm.c.

Since the funcion is hvm specific, move its declaration from xen/iommu.h
to asm/hvm/io.h.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---

I was not sure how to handle the copyright. I assume that I have to
retain the copyright of Weidong Han <weidong.han@intel.com>, right?

 xen/arch/x86/include/asm/hvm/io.h        |  1 +
 xen/drivers/passthrough/vtd/x86/Makefile |  1 -
 xen/drivers/passthrough/vtd/x86/hvm.c    | 64 ------------------------
 xen/drivers/passthrough/x86/hvm.c        | 42 ++++++++++++++++
 xen/include/xen/iommu.h                  |  1 -
 5 files changed, 43 insertions(+), 66 deletions(-)
 delete mode 100644 xen/drivers/passthrough/vtd/x86/hvm.c

diff --git a/xen/arch/x86/include/asm/hvm/io.h b/xen/arch/x86/include/asm/hvm/io.h
index 54e0161b49..5e1071b798 100644
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -102,6 +102,7 @@ bool handle_mmio_with_translation(unsigned long gla, unsigned long gpfn,
 bool handle_pio(uint16_t port, unsigned int size, int dir);
 void hvm_interrupt_post(struct vcpu *v, int vector, int type);
 void hvm_dpci_eoi(struct domain *d, unsigned int guest_irq);
+void hvm_dpci_isairq_eoi(struct domain *d, unsigned int isairq);
 void msix_write_completion(struct vcpu *);
 
 #ifdef CONFIG_HVM
diff --git a/xen/drivers/passthrough/vtd/x86/Makefile b/xen/drivers/passthrough/vtd/x86/Makefile
index 4ef00a4c5b..fe20a0b019 100644
--- a/xen/drivers/passthrough/vtd/x86/Makefile
+++ b/xen/drivers/passthrough/vtd/x86/Makefile
@@ -1,3 +1,2 @@
 obj-y += ats.o
-obj-$(CONFIG_HVM) += hvm.o
 obj-y += vtd.o
diff --git a/xen/drivers/passthrough/vtd/x86/hvm.c b/xen/drivers/passthrough/vtd/x86/hvm.c
deleted file mode 100644
index bc776cf7da..0000000000
--- a/xen/drivers/passthrough/vtd/x86/hvm.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 2008, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
- *
- * Copyright (C) Allen Kay <allen.m.kay@intel.com>
- * Copyright (C) Weidong Han <weidong.han@intel.com>
- */
-
-#include <xen/iommu.h>
-#include <xen/irq.h>
-#include <xen/sched.h>
-
-static int cf_check _hvm_dpci_isairq_eoi(
-    struct domain *d, struct hvm_pirq_dpci *pirq_dpci, void *arg)
-{
-    struct hvm_irq *hvm_irq = hvm_domain_irq(d);
-    unsigned int isairq = (long)arg;
-    const struct dev_intx_gsi_link *digl;
-
-    list_for_each_entry ( digl, &pirq_dpci->digl_list, list )
-    {
-        unsigned int link = hvm_pci_intx_link(digl->device, digl->intx);
-
-        if ( hvm_irq->pci_link.route[link] == isairq )
-        {
-            hvm_pci_intx_deassert(d, digl->device, digl->intx);
-            if ( --pirq_dpci->pending == 0 )
-                pirq_guest_eoi(dpci_pirq(pirq_dpci));
-        }
-    }
-
-    return 0;
-}
-
-void hvm_dpci_isairq_eoi(struct domain *d, unsigned int isairq)
-{
-    struct hvm_irq_dpci *dpci = NULL;
-
-    ASSERT(isairq < NR_ISAIRQS);
-    if ( !is_iommu_enabled(d) )
-        return;
-
-    write_lock(&d->event_lock);
-
-    dpci = domain_get_irq_dpci(d);
-
-    if ( dpci && test_bit(isairq, dpci->isairq_map) )
-    {
-        /* Multiple mirq may be mapped to one isa irq */
-        pt_pirq_iterate(d, _hvm_dpci_isairq_eoi, (void *)(long)isairq);
-    }
-    write_unlock(&d->event_lock);
-}
diff --git a/xen/drivers/passthrough/x86/hvm.c b/xen/drivers/passthrough/x86/hvm.c
index e720461a14..94cc1646c0 100644
--- a/xen/drivers/passthrough/x86/hvm.c
+++ b/xen/drivers/passthrough/x86/hvm.c
@@ -924,6 +924,48 @@ static void hvm_gsi_eoi(struct domain *d, unsigned int gsi)
     hvm_pirq_eoi(pirq);
 }
 
+static int cf_check _hvm_dpci_isairq_eoi(
+    struct domain *d, struct hvm_pirq_dpci *pirq_dpci, void *arg)
+{
+    struct hvm_irq *hvm_irq = hvm_domain_irq(d);
+    unsigned int isairq = (long)arg;
+    const struct dev_intx_gsi_link *digl;
+
+    list_for_each_entry ( digl, &pirq_dpci->digl_list, list )
+    {
+        unsigned int link = hvm_pci_intx_link(digl->device, digl->intx);
+
+        if ( hvm_irq->pci_link.route[link] == isairq )
+        {
+            hvm_pci_intx_deassert(d, digl->device, digl->intx);
+            if ( --pirq_dpci->pending == 0 )
+                pirq_guest_eoi(dpci_pirq(pirq_dpci));
+        }
+    }
+
+    return 0;
+}
+
+void hvm_dpci_isairq_eoi(struct domain *d, unsigned int isairq)
+{
+    struct hvm_irq_dpci *dpci = NULL;
+
+    ASSERT(isairq < NR_ISAIRQS);
+    if ( !is_iommu_enabled(d) )
+        return;
+
+    write_lock(&d->event_lock);
+
+    dpci = domain_get_irq_dpci(d);
+
+    if ( dpci && test_bit(isairq, dpci->isairq_map) )
+    {
+        /* Multiple mirq may be mapped to one isa irq */
+        pt_pirq_iterate(d, _hvm_dpci_isairq_eoi, (void *)(long)isairq);
+    }
+    write_unlock(&d->event_lock);
+}
+
 void hvm_dpci_eoi(struct domain *d, unsigned int guest_gsi)
 {
     const struct hvm_irq_dpci *hvm_irq_dpci;
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index d9285a7760..b9e1288de8 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -202,7 +202,6 @@ int hvm_do_IRQ_dpci(struct domain *, struct pirq *);
 int pt_irq_create_bind(struct domain *, const struct xen_domctl_bind_pt_irq *);
 int pt_irq_destroy_bind(struct domain *, const struct xen_domctl_bind_pt_irq *);
 
-void hvm_dpci_isairq_eoi(struct domain *d, unsigned int isairq);
 struct hvm_irq_dpci *domain_get_irq_dpci(const struct domain *);
 void free_hvm_irq_dpci(struct hvm_irq_dpci *dpci);
 
-- 
2.37.2



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 06:35:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 06:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465758.724564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kF-0003gt-Jw; Mon, 19 Dec 2022 06:35:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465758.724564; Mon, 19 Dec 2022 06:35:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kF-0003fp-CS; Mon, 19 Dec 2022 06:35:27 +0000
Received: by outflank-mailman (input) for mailman id 465758;
 Mon, 19 Dec 2022 06:35:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+4Hg=4R=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p79kD-000383-CO
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 06:35:25 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51929e85-7f67-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 07:35:24 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id n20so19253695ejh.0
 for <xen-devel@lists.xenproject.org>; Sun, 18 Dec 2022 22:35:24 -0800 (PST)
Received: from uni.router.wind (adsl-211.109.242.226.tellas.gr.
 [109.242.226.211]) by smtp.googlemail.com with ESMTPSA id
 q14-20020a17090676ce00b008302732f569sm77062ejn.78.2022.12.18.22.35.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 18 Dec 2022 22:35:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51929e85-7f67-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XmiLQ17qWs8UoQg0QXOFkwzdMxwKqjmh4/5E65N65dA=;
        b=WyPTmXR5gBKo9Tt3/PPPQ/O2Qq/NENBf8C6ZeIBcgx1HaWblaj8RJwjoMi1Agk1+n4
         j8hWANySials13BIHnH/F38dJsI6lBe/qMsRp715PYk6j5KnI+UZ2iTHk8fQMfAkfWGS
         gjVklc3Pn15ivC7xwKk/klEUVYqAJ4QrV42GIrJ4oZ4V9PBo1GlI+ipD+xB85axDwk25
         fkGJqOJvuwOX9XmRihsNK8Gmq7VAsFnne11eRZTxgk16DeEpkEvZWey0F6+MzrNWSUPg
         f1PNO4wn5Q4m4gAMhhiCS0KBRoqfGKDxDJH7U3S7HEVFXtgt5XVxjtO198we+3yNpdSQ
         Z+WQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=XmiLQ17qWs8UoQg0QXOFkwzdMxwKqjmh4/5E65N65dA=;
        b=AFoNzS3myLw60/8n6VNEXeAWWFrqiazvK0lSDYnbYKrcHpiug5upVFwPfy4vGLLMQo
         uXJ2Y1dIAlC/s/QeO7M1za53Dr1AiTKME0TaRAvPMzWs5c/nhOf6Sjz00trOkJg/jmr4
         8BcFE74sSTpW3ra2FO4e78AoRuc2BH7nb+oGRcyDal3hiwsq45ox8R/WDiNHexO16UTm
         KS5NmKYvMLEXFxLfXsh96QzpxNXN05fMNgKLPfP6lXSdkqeCzru9I0tXh/ZckWVe9ztL
         ooELew7qppGvw87IVrTLDnW/qukTyzEEwuqyIRzJnW9Vd+xUQQX01XoRMl7zykyAWlSK
         3yzA==
X-Gm-Message-State: ANoB5pk2Efp84FI1rS2NPYBOqVNs8paJSPUWSFoGeFeOeZU69reJJO+0
	NyKOEmDtzoDuDFVjf16n0GwW0I8qKWw=
X-Google-Smtp-Source: AA0mqf6m3Yv/zHFs8eKQjoyja6xQDkdrHpT2OHFjWXRpxV7Yyd8NQg1UDqxZkZJ1df88n7sklZ8Umg==
X-Received: by 2002:a17:906:7751:b0:7ae:df97:c020 with SMTP id o17-20020a170906775100b007aedf97c020mr33346832ejn.13.1671431724016;
        Sun, 18 Dec 2022 22:35:24 -0800 (PST)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC 3/7] x86/iommu: iommu_igfx, iommu_qinval and iommu_snoop are VT-d specific
Date: Mon, 19 Dec 2022 08:34:52 +0200
Message-Id: <20221219063456.2017996-4-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.37.2
In-Reply-To: <20221219063456.2017996-1-burzalodowa@gmail.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Use CONFIG_INTEL_VTD to guard their usage in common code.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/drivers/passthrough/iommu.c | 4 +++-
 xen/include/xen/iommu.h         | 6 +++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index 1a02fdc453..dcb5ec49ac 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -82,11 +82,13 @@ static int __init cf_check parse_iommu_param(const char *s)
         else if ( ss == s + 23 && !strncmp(s, "quarantine=scratch-page", 23) )
             iommu_quarantine = IOMMU_quarantine_scratch_page;
 #endif
-#ifdef CONFIG_X86
+#ifdef CONFIG_INTEL_VTD
         else if ( (val = parse_boolean("igfx", s, ss)) >= 0 )
             iommu_igfx = val;
         else if ( (val = parse_boolean("qinval", s, ss)) >= 0 )
             iommu_qinval = val;
+#endif
+#ifdef CONFIG_X86
         else if ( (val = parse_boolean("superpages", s, ss)) >= 0 )
             iommu_superpages = val;
 #endif
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 6b06732792..d9285a7760 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -74,9 +74,13 @@ extern enum __packed iommu_intremap {
    iommu_intremap_restricted,
    iommu_intremap_full,
 } iommu_intremap;
-extern bool iommu_igfx, iommu_qinval, iommu_snoop;
 #else
 # define iommu_intremap false
+#endif
+
+#ifdef CONFIG_INTEL_VTD
+extern bool iommu_igfx, iommu_qinval, iommu_snoop;
+#else
 # define iommu_snoop false
 #endif
 
-- 
2.37.2



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 06:35:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 06:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465756.724541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kC-0003Bn-Uv; Mon, 19 Dec 2022 06:35:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465756.724541; Mon, 19 Dec 2022 06:35:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kC-0003B3-QU; Mon, 19 Dec 2022 06:35:24 +0000
Received: by outflank-mailman (input) for mailman id 465756;
 Mon, 19 Dec 2022 06:35:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+4Hg=4R=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p79kB-000383-ON
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 06:35:23 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 50071648-7f67-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 07:35:22 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id gh17so19141369ejb.6
 for <xen-devel@lists.xenproject.org>; Sun, 18 Dec 2022 22:35:22 -0800 (PST)
Received: from uni.router.wind (adsl-211.109.242.226.tellas.gr.
 [109.242.226.211]) by smtp.googlemail.com with ESMTPSA id
 q14-20020a17090676ce00b008302732f569sm77062ejn.78.2022.12.18.22.35.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 18 Dec 2022 22:35:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50071648-7f67-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LTjDMyYZ2FC8KMfcNmUoTcsSKJ98IQZ5VWKAYZsCZM0=;
        b=hy0njpW+wNyVtXhc+Ee8W/5rsUt4CJq/mQhD5wYluvHVJzMQhUwcoh97Y6byogVf46
         7a0dy1snJdukii0fZId/jrUnTK5Hcoo9xtnd3yPYCjSOVTOn3E3hayJz6uoJWwhzY4HN
         ehwplQcV1TYQ9w5hv3pl07GzIkpzkQEWkEHyL65phyg0VBPI7Gz76Gj3ID7DlYzIzPY8
         gVFDuYHJLtI4YHHZUqtrubA9oVj/tc1R0jQx2QAqY8fzM3rKEU6s3HGfuDtK6ZS3tOdc
         zcLTqGv1DX1vdq43Kc5LAp6ZMQ/RD7fzWrdHqX/LT23V2oncegxCWmnGZLR4Dn0Jcj++
         /5GA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=LTjDMyYZ2FC8KMfcNmUoTcsSKJ98IQZ5VWKAYZsCZM0=;
        b=HEvVwgP+u8qQvn/rvK/ilB1Akqajg9UTeSpvxyZiLgh0t5Z6TBp4jcnJggo7bSfflD
         gpJ7YovRO1iVd360hKaEwxwjaPMEeu+/EotSojItUA1MmokHItUQ5cSVQU3h5n7ofaOT
         1arVn/aYzsQAJXYwCIfbzW8TyzW3ilrdLMRY0yAet1UgoGr85iXOTNHCjds5EfvhWMqO
         FBk6IPJt5F3JJwAm44d/GmkVT4HNkCbRKasI+SequhQ8mlKx18keWnJ8Y0SnvL53+X8J
         s3sZHPK83mQeJI734kpLrYURmB068dCI8HkSRh9s7U8E+oR3oonjYTs2kUSnJYCsNkrN
         EHUw==
X-Gm-Message-State: ANoB5pnjMv3HIsF4JyATKEIRCJ+qurfl/J+nhuYF5Los9McWDuCTd6b+
	GPbunERF9J/WZBwCfN0+wxK+aiQLZ9E=
X-Google-Smtp-Source: AA0mqf6MN4kcF11s0TKqySAj6gHdfUpldWz3YfzclcD6iKya4IRmWW77oO5q0NR41jNZMMfaevFPyw==
X-Received: by 2002:a17:906:f8cd:b0:7c0:e7ad:5296 with SMTP id lh13-20020a170906f8cd00b007c0e7ad5296mr32665117ejb.55.1671431721502;
        Sun, 18 Dec 2022 22:35:21 -0800 (PST)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC 1/7] x86/iommu: make AMD-Vi and Intel VT-d support configurable
Date: Mon, 19 Dec 2022 08:34:50 +0200
Message-Id: <20221219063456.2017996-2-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.37.2
In-Reply-To: <20221219063456.2017996-1-burzalodowa@gmail.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, for x86 platforms, Xen does not provide to the users any
configuration control over the IOMMU support and can only be built with
both AMD and Intel IOMMU drivers enabled.
However, there are use cases, e.g in safety-critical systems, that require
Xen to be able to be configured to exclude unused code. A smaller tailored
configuration would help Xen to meet faster certification requirements for
individual platforms.

Introduce two new Kconfig options, AMD_IOMMU and INTEL_VTD, to allow code
specific to each IOMMU technology to be separated and, when not required,
stripped. AMD_IOMMU enables IOMMU support for platforms that implement the
AMD I/O Virtualization Technology. INTEL_VTD enables IOMMU support for
platforms that implement the Intel Virtualization Technology for Directed I/O.

Since no functional change is intended regarding the default configuration
of an x86 system, both options depend on x86 and default to 'y'.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/drivers/passthrough/Kconfig  | 16 ++++++++++++++++
 xen/drivers/passthrough/Makefile |  4 ++--
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
index 479d7de57a..82465aa627 100644
--- a/xen/drivers/passthrough/Kconfig
+++ b/xen/drivers/passthrough/Kconfig
@@ -37,6 +37,22 @@ config IPMMU_VMSA
 
 endif
 
+config AMD_IOMMU
+	bool "AMD IOMMU"
+	depends on X86
+	default y
+	---help---
+	  Enables I/O virtualization on platforms that implement the
+	  AMD I/O Virtualization Technology (IOMMU).
+
+config INTEL_VTD
+	bool "Intel VT-d"
+	depends on X86
+	default y
+	---help---
+	  Enables I/O virtualization on platforms that implement the
+	  Intel Virtualization Technology for Directed I/O (Intel VT-d).
+
 config IOMMU_FORCE_PT_SHARE
 	bool
 
diff --git a/xen/drivers/passthrough/Makefile b/xen/drivers/passthrough/Makefile
index a5efa22714..d4fc7a3ddc 100644
--- a/xen/drivers/passthrough/Makefile
+++ b/xen/drivers/passthrough/Makefile
@@ -1,5 +1,5 @@
-obj-$(CONFIG_X86) += vtd/
-obj-$(CONFIG_X86) += amd/
+obj-$(CONFIG_INTEL_VTD) += vtd/
+obj-$(CONFIG_AMD_IOMMU) += amd/
 obj-$(CONFIG_X86) += x86/
 obj-$(CONFIG_ARM) += arm/
 
-- 
2.37.2



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 06:35:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 06:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465757.724557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kF-0003dL-88; Mon, 19 Dec 2022 06:35:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465757.724557; Mon, 19 Dec 2022 06:35:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kF-0003dE-4w; Mon, 19 Dec 2022 06:35:27 +0000
Received: by outflank-mailman (input) for mailman id 465757;
 Mon, 19 Dec 2022 06:35:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+4Hg=4R=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p79kC-000383-81
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 06:35:24 +0000
Received: from mail-ej1-x633.google.com (mail-ej1-x633.google.com
 [2a00:1450:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 50cf3775-7f67-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 07:35:23 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id ud5so19149841ejc.4
 for <xen-devel@lists.xenproject.org>; Sun, 18 Dec 2022 22:35:23 -0800 (PST)
Received: from uni.router.wind (adsl-211.109.242.226.tellas.gr.
 [109.242.226.211]) by smtp.googlemail.com with ESMTPSA id
 q14-20020a17090676ce00b008302732f569sm77062ejn.78.2022.12.18.22.35.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 18 Dec 2022 22:35:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50cf3775-7f67-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=80ZpLAZLQqNuZgUmUutfeY71usyNtY5k5j9A+SPx2to=;
        b=gVk9UDmfQbQncVBdtYx4cLWqd0Ht6rE7Z1HkpQymC4w74/GcSix53WlbG4nVBjzL9p
         Ldwq9/aoZdJb1MhMJmoNUJfZt9VmMc0axVhjeZXDyNmqhYJ+z/W19RimnqHghicR3sK0
         sWuI6lZGiIQzHOT0rlo/sAq+/XS7uXgJ9bUvpsn2P2Ml7S6NNFX2LYFw/bM4gH8XCixG
         Mx0rV5Gve85/j4nzAeiJ1gwnvReLogaSsEBAqrg90RjMv6DdmiN2DAXX3X4uMql5u7oG
         WiojAQYJdoxytf19LwPzsfGsPPuF3ExR0kHljutGpBf+b4N20BCOsNFHMky1zgP5KSAs
         9mxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=80ZpLAZLQqNuZgUmUutfeY71usyNtY5k5j9A+SPx2to=;
        b=DywuTsUj43h2qFlaVNPOplA0ZxxMYAUkRw0IN6CkdMlY3Miuq9pHuvp8O931JzWOfc
         aN9N54NvfJS6pbbSjDuQzcAsKW7eJpKkBFGxHb1uFNYoLZXSszQd6y0MkDXTODpXSeDv
         X3QN7H9fa+LO5VkuJ4/GWp9TnxVxb+O9H+m9+UjZj3+TuJJy72ZRZ8zadZxGaWIeS7n+
         ewAbBvQ+73iC2RQ7bhLS9m1AjOIKRea5id8XfQQ3byWlLPfW4ww+tooZ/HYRvaEDuyyo
         yT2vY6Wd6mIJ+jKszxROKB2furtrhOur80KVqObN+RADvlS4vlry6ijjb/9bsJuhYEup
         moNg==
X-Gm-Message-State: ANoB5pn4nq4oMAdpMLfvHeqWK1X+HG9HmrVubkZE2rXIJPrUt/fQ2awR
	hWdq5Lv9tR1A674jEYwfzS4dWOXwD9E=
X-Google-Smtp-Source: AA0mqf5J1elLvocK/Jvfp9+6inR60vFTgMRDu7J1Mc4W50gcC0qsLz/dE1X2Xxw0QJBt8Eo/vQN45g==
X-Received: by 2002:a17:907:970b:b0:7c1:9462:2dd3 with SMTP id jg11-20020a170907970b00b007c194622dd3mr23090216ejc.70.1671431722829;
        Sun, 18 Dec 2022 22:35:22 -0800 (PST)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC 2/7] x86/iommu: amd_iommu_perdev_intremap is AMD-Vi specific
Date: Mon, 19 Dec 2022 08:34:51 +0200
Message-Id: <20221219063456.2017996-3-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.37.2
In-Reply-To: <20221219063456.2017996-1-burzalodowa@gmail.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move its definition to the AMD-Vi driver and use CONFIG_AMD_IOMMU
to guard its usage in common code.

Take the opportunity to replace bool_t with bool and 1 with true.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/drivers/passthrough/amd/iommu_init.c | 2 ++
 xen/drivers/passthrough/iommu.c          | 3 ++-
 xen/include/xen/iommu.h                  | 4 +++-
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
index 1f14aaf49e..c4a41630e5 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -36,6 +36,8 @@ static struct radix_tree_root ivrs_maps;
 LIST_HEAD_READ_MOSTLY(amd_iommu_head);
 bool_t iommuv2_enabled;
 
+bool __read_mostly amd_iommu_perdev_intremap = true;
+
 static bool iommu_has_ht_flag(struct amd_iommu *iommu, u8 mask)
 {
     return iommu->ht_flags & mask;
diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index 5e2a720d29..1a02fdc453 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -58,7 +58,6 @@ bool __read_mostly iommu_hap_pt_share = true;
 #endif
 
 bool_t __read_mostly iommu_debug;
-bool_t __read_mostly amd_iommu_perdev_intremap = 1;
 
 DEFINE_PER_CPU(bool_t, iommu_dont_flush_iotlb);
 
@@ -115,8 +114,10 @@ static int __init cf_check parse_iommu_param(const char *s)
             if ( val )
                 iommu_verbose = 1;
         }
+#ifdef CONFIG_AMD_IOMMU
         else if ( (val = parse_boolean("amd-iommu-perdev-intremap", s, ss)) >= 0 )
             amd_iommu_perdev_intremap = val;
+#endif
         else if ( (val = parse_boolean("dom0-passthrough", s, ss)) >= 0 )
             iommu_hwdom_passthrough = val;
         else if ( (val = parse_boolean("dom0-strict", s, ss)) >= 0 )
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 4f22fc1bed..6b06732792 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -104,7 +104,9 @@ static inline void clear_iommu_hap_pt_share(void)
 }
 
 extern bool_t iommu_debug;
-extern bool_t amd_iommu_perdev_intremap;
+#ifdef CONFIG_AMD_IOMMU
+extern bool amd_iommu_perdev_intremap;
+#endif
 
 extern bool iommu_hwdom_strict, iommu_hwdom_passthrough, iommu_hwdom_inclusive;
 extern int8_t iommu_hwdom_reserved;
-- 
2.37.2



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 06:35:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 06:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465755.724536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kC-00038Q-Mk; Mon, 19 Dec 2022 06:35:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465755.724536; Mon, 19 Dec 2022 06:35:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kC-00038J-JG; Mon, 19 Dec 2022 06:35:24 +0000
Received: by outflank-mailman (input) for mailman id 465755;
 Mon, 19 Dec 2022 06:35:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+4Hg=4R=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p79kB-000383-3H
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 06:35:23 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f7cca17-7f67-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 07:35:21 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id qk9so19150159ejc.3
 for <xen-devel@lists.xenproject.org>; Sun, 18 Dec 2022 22:35:21 -0800 (PST)
Received: from uni.router.wind (adsl-211.109.242.226.tellas.gr.
 [109.242.226.211]) by smtp.googlemail.com with ESMTPSA id
 q14-20020a17090676ce00b008302732f569sm77062ejn.78.2022.12.18.22.35.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 18 Dec 2022 22:35:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f7cca17-7f67-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=MPDhCF7GvIIvkuWTKAmlPB2+PrFjxVMOL+nCGfPZHVk=;
        b=naSxfX3PG3zhTOQQWtWiw51vX3E/oFCE2linmO5Sz2w87KQ4G7A+NG7GrsZ+AmWO5P
         E7oMyd/homISUHUXN35soiekMTf5bCR4xbDVhn2WlWZO0+yrVmYwYoJVNKGy2uhQgZ4w
         NfZppEoZztpbiT1vE+txsgmZXWsaF0BRK0uXu6jhY0yvMnav6JQ5AkpHOeMlAOrPlTEt
         OtMlzd5/MmGrBAsCiNDf8tWZhMzYFNtHyWMgsK5Ehjhluc/oDlY+xCQVw6/hFKUfztC7
         Ea86h6y7aGYwiqVyNlLC5Yc7vapKOzBFaqoRet0GNb8c+yQ71EJOI4wffTrLnVbu87+x
         sEsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=MPDhCF7GvIIvkuWTKAmlPB2+PrFjxVMOL+nCGfPZHVk=;
        b=g5dXqhPEdi9AoEtDD2kLzf47M/7zbhbFDNMx7HBLDkMono8YuR8xp0pUb6W8udBAof
         wid1KGjK7gyZJeSRnMEkRUX9MANPkeKWHbfODLhCm467WPSJBOa9VrjNWylQrjsv619I
         r5dwTa9YsQaHGok5B8bnEYA8z5t+pNY1C0ypxcTRW3b/K+lBH9kNgcVyvQ6+2thp+E+V
         I1imo5DW1LAgBR3fnJGNR9puDGv/aacaje+kLlTkdem0HCF0bqGYekPbPzLW+8i3f+ez
         JNH3mGxCLJel7yAGyx4SZ1ZjMhF34GCQ/YLPMkhtmnKRUi7fvVYc5zvREySmPr47sjYQ
         9J/w==
X-Gm-Message-State: AFqh2kruXAi7yC6WXaCTbQ+VF8W8XuX5dOKb92p9DEj38uXcdHL0ratk
	zSptGLXecvRobwJRmlQpIAoVXxjMKEk=
X-Google-Smtp-Source: AMrXdXuwnvZqZ/FF0HdZk2ZxPc6rhFRv3vbDeTpDYppmCG26V/yvMcaUhJS2nhEOiD5jtaOUcfUUow==
X-Received: by 2002:a17:907:1b28:b0:7f7:a985:1838 with SMTP id mp40-20020a1709071b2800b007f7a9851838mr11668669ejc.44.1671431720311;
        Sun, 18 Dec 2022 22:35:20 -0800 (PST)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>
Subject: [RFC 0/7] Proposal to make x86 IOMMU driver support configurable
Date: Mon, 19 Dec 2022 08:34:49 +0200
Message-Id: <20221219063456.2017996-1-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.37.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series aims to provide a means to render the iommu driver support for x86
configurable. Currently, irrespectively of the target platform, both AMD and
Intel iommu drivers are built. This is the case because the existent Kconfig
infrastructure does not provide any facilities for finer-grained configuration.

The series adds two new Kconfig options, AMD_IOMMU and INTEL_VTD, that can be
used to generate a tailored iommu configuration for a given platform.

This series will be part of a broader effort to separate platform specific
code and it is sent as an RFC to gather feedback regarding the way the
separation should be performed.

Xenia Ragiadakou (7):
  x86/iommu: make AMD-Vi and Intel VT-d support configurable
  x86/iommu: amd_iommu_perdev_intremap is AMD-Vi specific
  x86/iommu: iommu_igfx, iommu_qinval and iommu_snoop are VT-d specific
  x86/acpi: separate AMD-Vi and VT-d specific functions
  x86/iommu: the code addressing CVE-2011-1898 is VT-d specific
  x86/iommu: call pi_update_irte through an hvm_function callback
  x86/dpci: move hvm_dpci_isairq_eoi() to generic HVM code

 xen/arch/x86/hvm/vmx/vmx.c               | 10 ++++
 xen/arch/x86/include/asm/acpi.h          | 14 ++++++
 xen/arch/x86/include/asm/hvm/hvm.h       | 22 ++++++++
 xen/arch/x86/include/asm/hvm/io.h        |  1 +
 xen/arch/x86/include/asm/hvm/vmx/vmx.h   | 11 ++++
 xen/arch/x86/include/asm/iommu.h         |  5 +-
 xen/arch/x86/pv/hypercall.c              |  2 +
 xen/arch/x86/x86_64/entry.S              |  2 +
 xen/drivers/passthrough/Kconfig          | 16 ++++++
 xen/drivers/passthrough/Makefile         |  4 +-
 xen/drivers/passthrough/amd/iommu_init.c |  2 +
 xen/drivers/passthrough/iommu.c          |  7 ++-
 xen/drivers/passthrough/vtd/x86/Makefile |  1 -
 xen/drivers/passthrough/vtd/x86/hvm.c    | 64 ------------------------
 xen/drivers/passthrough/x86/hvm.c        | 47 +++++++++++++++--
 xen/include/xen/acpi.h                   |  3 --
 xen/include/xen/iommu.h                  | 11 ++--
 17 files changed, 141 insertions(+), 81 deletions(-)
 delete mode 100644 xen/drivers/passthrough/vtd/x86/hvm.c

-- 
2.37.2



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 06:35:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 06:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465760.724586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kH-0004Cr-5r; Mon, 19 Dec 2022 06:35:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465760.724586; Mon, 19 Dec 2022 06:35:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p79kG-0004CW-W0; Mon, 19 Dec 2022 06:35:28 +0000
Received: by outflank-mailman (input) for mailman id 465760;
 Mon, 19 Dec 2022 06:35:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+4Hg=4R=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p79kG-000383-5w
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 06:35:28 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 533b17df-7f67-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 07:35:27 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id tz12so19094138ejc.9
 for <xen-devel@lists.xenproject.org>; Sun, 18 Dec 2022 22:35:27 -0800 (PST)
Received: from uni.router.wind (adsl-211.109.242.226.tellas.gr.
 [109.242.226.211]) by smtp.googlemail.com with ESMTPSA id
 q14-20020a17090676ce00b008302732f569sm77062ejn.78.2022.12.18.22.35.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 18 Dec 2022 22:35:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 533b17df-7f67-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=U7GANqKS3y9roRizIFR0E30IuGDIVnJH0Nb9jg1Y7lU=;
        b=aWj21hAh9rHIirDqXtfU/rS6HxFwLAQ3LUkiadoo1ZVHcK3qndjp1Khb6gn/OquW7i
         8nShyPFT7j6tb2Czd/aK4p8+H76N23FVCJE2m7e+veS2DotGlFIIn347Vjc6r2HEV/Vc
         6BVF73k7aLRqoM6RVqn6W2Pdl08bS8bgV+GOk0nTvqk/px3YJo+4gFY6yR9S4h0IxEQ7
         ZbskFnNgFjKtB9uKdE0TQC26KnrnaYxa7hf/9BAwrqYYWQ7ep2Beu+Pab/N3tAt8wjX2
         2PeoPgnGiBTEJfmTqqad4xHDMQknydA5SyYAq0k69QkmzbYIE83+G9sdTs82CSAvJhkc
         vpHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=U7GANqKS3y9roRizIFR0E30IuGDIVnJH0Nb9jg1Y7lU=;
        b=yFcaKceauTC3TrhxVAXbTEj4x6px46TogkpjTyLZyppDVOHIAJ+uAFv3dTk1jsyHK5
         o8WtZFYL10c9W9eWeA9TBN10UYQCWSF/4l/WJwRVgWpF0FQNqCBPaVx1vLSFv5e3Wkyb
         3WM4Baj2z43bpXC/MVxHK+8liGwU8ECoS2wuHIUk2KF8++pb1z9HOgx95G7xFcd1tfQN
         ZVo4xAGk83nxOpEVBQ6JT1rea8NsnCP3cvx4FUMfxri67p19Yiy3fZMuK3zxOsv6/JMR
         3f1XAymSwKA25nJGRIigeIzbh6ryy97Rr4Rjmy6X7nfTGLXpNXmzTQoX9xLy0fv6YKte
         ptig==
X-Gm-Message-State: ANoB5pkFaR6tNirdKqzUaqA3rJnYjz0GGGFNBLw0Npi2buWd1OhjSU6k
	46BMTDjSYgAkGU5OgcrSDG7C/5onqXE=
X-Google-Smtp-Source: AA0mqf5zB+h+LxU7GhtH4zxnbUiL5C3o+j5jM7oadw8rgP0B7te/JGT9Zy5x7olW3q/b5ZsI4eGBCQ==
X-Received: by 2002:a17:906:7751:b0:7ae:df97:c020 with SMTP id o17-20020a170906775100b007aedf97c020mr33346918ejn.13.1671431726888;
        Sun, 18 Dec 2022 22:35:26 -0800 (PST)
From: Xenia Ragiadakou <burzalodowa@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [RFC 5/7] x86/iommu: the code addressing CVE-2011-1898 is VT-d specific
Date: Mon, 19 Dec 2022 08:34:54 +0200
Message-Id: <20221219063456.2017996-6-burzalodowa@gmail.com>
X-Mailer: git-send-email 2.37.2
In-Reply-To: <20221219063456.2017996-1-burzalodowa@gmail.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The variable untrusted_msi indicates whether the system is vulnerable to
CVE-2011-1898. This vulnerablity is VT-d specific.
Place the code that addresses the issue under CONFIG_INTEL_VTD.

No functional change intended.

Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
---
 xen/arch/x86/include/asm/iommu.h | 2 ++
 xen/arch/x86/pv/hypercall.c      | 2 ++
 xen/arch/x86/x86_64/entry.S      | 2 ++
 3 files changed, 6 insertions(+)

diff --git a/xen/arch/x86/include/asm/iommu.h b/xen/arch/x86/include/asm/iommu.h
index fc0afe35bf..41bd1b9e05 100644
--- a/xen/arch/x86/include/asm/iommu.h
+++ b/xen/arch/x86/include/asm/iommu.h
@@ -127,7 +127,9 @@ int iommu_identity_mapping(struct domain *d, p2m_access_t p2ma,
                            unsigned int flag);
 void iommu_identity_map_teardown(struct domain *d);
 
+#ifdef CONFIG_INTEL_VTD
 extern bool untrusted_msi;
+#endif
 
 int pi_update_irte(const struct pi_desc *pi_desc, const struct pirq *pirq,
                    const uint8_t gvec);
diff --git a/xen/arch/x86/pv/hypercall.c b/xen/arch/x86/pv/hypercall.c
index 2eedfbfae8..0e1b03904c 100644
--- a/xen/arch/x86/pv/hypercall.c
+++ b/xen/arch/x86/pv/hypercall.c
@@ -193,8 +193,10 @@ void pv_ring1_init_hypercall_page(void *p)
 
 void do_entry_int82(struct cpu_user_regs *regs)
 {
+#ifdef CONFIG_INTEL_VTD
     if ( unlikely(untrusted_msi) )
         check_for_unexpected_msi((uint8_t)regs->entry_vector);
+#endif
 
     _pv_hypercall(regs, true /* compat */);
 }
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index ae01285181..2e06c0a6c1 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -406,11 +406,13 @@ ENTRY(int80_direct_trap)
 .Lint80_cr3_okay:
         sti
 
+#ifdef CONFIG_INTEL_VTD
         cmpb  $0,untrusted_msi(%rip)
 UNLIKELY_START(ne, msi_check)
         movl  $0x80,%edi
         call  check_for_unexpected_msi
 UNLIKELY_END(msi_check)
+#endif
 
         movq  STACK_CPUINFO_FIELD(current_vcpu)(%rbx), %rbx
 
-- 
2.37.2



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 06:55:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 06:55:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465825.724623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7A3x-0001Eh-LH; Mon, 19 Dec 2022 06:55:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465825.724623; Mon, 19 Dec 2022 06:55:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7A3x-0001Ea-IW; Mon, 19 Dec 2022 06:55:49 +0000
Received: by outflank-mailman (input) for mailman id 465825;
 Mon, 19 Dec 2022 06:55:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7A3w-0001EP-IM; Mon, 19 Dec 2022 06:55:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7A3w-0006SA-Fj; Mon, 19 Dec 2022 06:55:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7A3w-00077s-1c; Mon, 19 Dec 2022 06:55:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7A3w-0006ac-18; Mon, 19 Dec 2022 06:55:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DfNykBUD9dl1WQtjB/eKt9qgB28IRXZ55IxVnBn6s1w=; b=U96ltuExh24Lc8I/MZa/A2KYIP
	Hv0qxiHIstwSW2J7Q6+MJcVmox8XYKjTx+PXwzW+x32U8omvy99v2qeJfkehIRWG+Q65AV4Qw7UYn
	3IPGBHKg7Wza//hz9MRAMUa/pNcKV5XRh7n40cLrIq92DqPr0c0SYzvvBQiW7aG1f39Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175396-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175396: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:<job status>:broken:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:host-install(5):broken:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f9ff5644bcc04221bae56f922122f2b7f5d24d62
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 19 Dec 2022 06:55:48 +0000

flight 175396 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175396/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-intel    <job status>             broken in 175374
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-intel 5 host-install(5) broken in 175374 pass in 175396
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 175374 pass in 175391
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot fail in 175391 pass in 175396
 test-amd64-amd64-examine-bios  8 reboot          fail in 175391 pass in 175396
 test-amd64-amd64-libvirt-qcow2 19 guest-start/debian.repeat fail in 175391 pass in 175396
 test-amd64-amd64-libvirt      8 xen-boot                   fail pass in 175374
 test-amd64-amd64-xl-vhd      21 guest-start/debian.repeat  fail pass in 175385
 test-amd64-amd64-freebsd11-amd64  8 xen-boot               fail pass in 175391
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot   fail pass in 175391

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt    15 migrate-support-check fail in 175374 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                f9ff5644bcc04221bae56f922122f2b7f5d24d62
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   72 days
Failing since        173470  2022-10-08 06:21:34 Z   72 days  147 attempts
Testing same since   175374  2022-12-17 20:13:14 Z    1 days    4 attempts

------------------------------------------------------------
3125 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      pass    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-dom0pvh-xl-intel broken

Not pushing.

(No revision log; it would be 463260 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 07:14:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 07:14:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465837.724635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7AME-0003kG-DF; Mon, 19 Dec 2022 07:14:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465837.724635; Mon, 19 Dec 2022 07:14:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7AME-0003k9-AQ; Mon, 19 Dec 2022 07:14:42 +0000
Received: by outflank-mailman (input) for mailman id 465837;
 Mon, 19 Dec 2022 07:14:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=eGu8=4R=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7AMD-0003k3-Ag
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 07:14:41 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2077.outbound.protection.outlook.com [40.107.20.77])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd4b9da9-7f6c-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 08:14:40 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8194.eurprd04.prod.outlook.com (2603:10a6:20b:3e6::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec
 2022 07:14:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022
 07:14:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd4b9da9-7f6c-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M0jN/k8Ae+0IkJPad1PAdJba3ogyh+E3RUlxC8KI0t08u3kMSZgrQbvwkIAGIpwD1qV+YMUoG+LbXuCOmFZvKGNbImX2/2ZeI/uEp5/0VDV27s6Txrn8egn7MFNa3Vt1tgCzQAKu5AOmcyh57fBMxKTOxFbMyOw1G8t7/fy8Z6oWRMz+jQaBj9/kMq1kJe7fTYFXyp5PVGVqBGAENsnb/VRhJLYeSM7g2NuWlZTxUiTKPkKjX17xKv2Qhr7KrFxqNy0645s1SoXzCHFXI/9Nc+26SedCU30X1uaOUBj0E0dwViPFekXmerXketos3bks+3oRFCazJTCjLV7bL68H1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X+9+IQID3kGCWMZuEhomuLsDCnnBIrhPWeoDCI8Mt2g=;
 b=O4j1TAVnR4ggVIRAr2Kp9S83yo3yZE+tWKG2g6Lgap3BttL1lqjMxPo78zNXcgiafvb2aApo75enQ0tr4IUcJeS82oBSD2pmMzpF3dCfOQaN+0yZ/oKX0E28U3xopxHujIzglWOSYABh3jYatEHh+g79DwL1ZMsXPMHWaqWYu6bhzTh41rbIsXOF9gp38X5trX1yWetHeVOJ1Jl0iG0XeCBi5fwpDmzFUAIuE9ekSk0U8oF4qFJXPIRlWsGeVxSAf3OehwXQELy8TcAp0g10gNkVoSjyIYKqOe2LpJ0w2WdzI8zVl1ypI+jtdwpAjsqXoFJcJbVUPB9mxbzRUKdAzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X+9+IQID3kGCWMZuEhomuLsDCnnBIrhPWeoDCI8Mt2g=;
 b=GKZRatQE6hMMdG/7klhEpmXWBqLl4mquFEF+ZofKj6IFKQIi8FdXQK73pmIoCrMo/05/CEcxFlqS4KGcnJaJ6L4u86zYgW9HLKsmNsprumeyxEjsxXGMB0DaW+xDH96xaf99nSSWILcFkh4qiuKy9TbeDbIH3dcyfE1LXL5XgTQrPcuDoCnHHUjkr3BNfahZ8cfjvPAtV3htSlr8v6WAulaZ4B7lYly7fpbc8e77NS3W8LxoD6H6yGmyet1AuwQeHNnJbzUXMK3k8ODF2ADF07+wPMJW5/5maLe3Xcwfna07lIaWLJUUqLBxQOkLdFfVszA2HdYduBWawNmSSbzupg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f22869a2-0bba-ffe9-8628-de6787558d6d@suse.com>
Date: Mon, 19 Dec 2022 08:14:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 1/2] x86/mm: avoid phys_to_nid() calls for invalid
 addresses
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <471bd202-7bf0-81be-e8a5-780ea5975a70@suse.com>
 <d503a684-1689-ef60-23e8-5eb6b33ab5c8@suse.com>
 <c982fec2-53ba-f448-e073-967925f61bbf@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c982fec2-53ba-f448-e073-967925f61bbf@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0180.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8194:EE_
X-MS-Office365-Filtering-Correlation-Id: d0e6f7ca-a88c-4f6a-40b8-08dae190b0a1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lgeXWueolui3su/5erJfXKmE/mRGCJzfSjM8BxTgbOAPQHn7xHwc80IoEgrsbC84iqxLccs4ITu64Gom9BcD5dpPkwFphgJjZTmxv4YY6QKShAZhoX1IuJ0JkOqTLDniUy60WKmGf0WpAvrMam7n9cY57BUW6ljEth56J6xFylGTqgsfZup7omEGbGvG+mlbb8HLlojOb26q0pNrtApW62bBc3LNttGgC6FAQx+uiB/pd+HSZdjXJc/MGDPNzjARaqntUtrLcXWe9nqyOpt4rQpmTVyVRzCNd0iJPzJm8hvqofywG2tQPOIPFVhgzvwQQ/vjmsKs6GVBUCxY4LE6/uOHuAr1b3CYsJhcEXXR+iTrnmLbZTR8lPFjJcGhi/4DFgqFaqch7VpR0/0ohut6jXEBVGJhQR3XM1Qo0ve7SAAC6XiYc1ezYJZTjviPIBz5uOcXjyFywsexP5aI4Txf4zDJjjF6RnodUGaLGgRBxZfRz+2kR4S7aIdJb0O0QyBGwqEQLzAJOWCnpz5ku6fjlgbPZEHoeQ7m9c0WdpqK/VXFdgtCZroDEHZkxVQGcTHnT9E97nksOf63g1/y2Bu90G/78sRzLqy86xhRU1ZbnqGSPe5jjnLgyaLEzwlvyPcCk2vgen4k/mmoQAJt73KmLwChanRHNko5wQgDfdJ+i6RWXvbD1VwmtzovfxSxns67THwHEXWWzv/jsnNGE4GZH3GtRhMm1k1ranz9O+5HUl8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(396003)(376002)(366004)(39860400002)(451199015)(6916009)(54906003)(316002)(53546011)(6506007)(6512007)(36756003)(186003)(26005)(2906002)(83380400001)(4744005)(5660300002)(38100700002)(8676002)(66556008)(66476007)(4326008)(66946007)(2616005)(8936002)(41300700001)(86362001)(31696002)(478600001)(31686004)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VVBQNHh0Uk1GbExZMU91bWI1cnFSdXZXZ0RyNHdQcUpXcHZEdGs4UG1idDFY?=
 =?utf-8?B?cXRVV1dQbU1MVEpvdmJ6YVhIU0tMQXNaZ2NLYkJ1WW52cGMvSVlWNEg5dC9q?=
 =?utf-8?B?NHNENnhvTWNLeEpIV3dtVFJwaERJbCtCMytJNFYwREpnT3VTQ0dzTVNOMTZ5?=
 =?utf-8?B?LzNIVjBRQmhTY1o5NGF4SVpCMXNjdFVORzJ6d0NuaFdhZnM2TEQxaytRbnF2?=
 =?utf-8?B?clhmbEZid1FQZG9OTTMwSzVXd3hMSHRUeERZNXQ5QnUwbjRFZUhrUUJCWW4z?=
 =?utf-8?B?ck1XVFZNeU5GU3ZXRW1HUkdpaFFuQ054L0dPKzJUZVpqbUJneGR4cGpJRTJt?=
 =?utf-8?B?bEVST1BNWDREL3RCSDlKbHpybHNTUkE1TmR1a2U1RUNJTU41TERPN2xxZ0F3?=
 =?utf-8?B?QlBEQWQ2TWZsb1JqY1phclA4UWRncWVRYkNPcUk4TEhMUHhENnZOSHd1WHdo?=
 =?utf-8?B?dTRCaGk5Q1draWpaaEcwNjMvd0hieC9pdjJnR0p1ZmIrM1k2dEZJa1pGV1Yv?=
 =?utf-8?B?dERvdkoyaTBFeHZUcHc4b1BxK0l1TWl6TnVRZjNYSE1ZTHpvbWRiWFV3TU1U?=
 =?utf-8?B?N1UwajE0YlBpSkUzTVlJU2llcldIaUxNdnIwZjNDS2RqNlBTZ2RWM2x5YXl6?=
 =?utf-8?B?MGNEL3BFdzdveUJtd2VwbzdIemtWckVhV3U5ZC9hM1JyQTJiSVAyUmNneDNZ?=
 =?utf-8?B?RkVRVmExRVF6cGVMZTR3OVdSczdESXl1VCtnWU9Na0o2d05CRnU5ZktSUEhx?=
 =?utf-8?B?RENXdjZnUlpzTFV4QW0rT0RCdnVlN1MydEtYSG5EWVhvYUhkRDRjT291RGJJ?=
 =?utf-8?B?ZG5KRHVPM1BYOHBDYjJHRTFYMFpQSDFuRWN1VlZLQm04ckF5STQxWDdkeFlz?=
 =?utf-8?B?U0ZMSTFJa2p6RjlZZVR5RTNEUXFTNHlZeTA2T2tqbjR3Vkg0MVNXK0Mrdks5?=
 =?utf-8?B?R00yWDByR2FJdFZNUlVkY2xHQk5ZelA1QXF4WklYQ2dGZG1Yd0hnSzJLRlFN?=
 =?utf-8?B?enRCMWRuNlVQUDlUTHhBaVNsZmtLSzVXSy9leTVGLzFhQ0JlcnJwaW5HYS9V?=
 =?utf-8?B?ZDZZclNHbS91OUZTbHdTcnZYNEFJL2Voa042TFhyTFR5V08xM052QzJhNGcy?=
 =?utf-8?B?UXJ1Z0xrcmpuWjhNQkFpaFRYdTR4aXplUG81ZFFrMVBNelRPaVRjRUJhdjlj?=
 =?utf-8?B?Mm1UZXNycXArbnNCcVRlNTRienJ5blY4NlFsZGkveGVWeEVGZnk1SXJEOFAv?=
 =?utf-8?B?Nzhla1RkTktHOXRoT3MvZlVqcmg3a0JJcWlMd0dOZkU3alZOQjdubTB1UGZJ?=
 =?utf-8?B?bmsyZEl1YTlHdWNKL3pDTE5ZamRtT1ZaRXVpMlc4WUhOa3h1OXoxblFERzEy?=
 =?utf-8?B?bTJBUTNXVnkzL1h6dmZqV2ZQcE5ObGorcmpPSGtITVkyc2pLSzZWVFliN3Ar?=
 =?utf-8?B?ZnhiaW5kUUM1eFNiOTdibzJtNzNEdDRTMkNPV09HRVczNVdlczlpeGVCZXFV?=
 =?utf-8?B?dzQrWklRcytZYTJXUmlGbWJkdjlHWVRYVGNYejJqYkRLOVkxTDEvT3JDanFk?=
 =?utf-8?B?WUx2ZzAyRlhTU3FmRG1vR1l2Z2RWVU5LaE9pcmlWdW0rL1JTN0FVTTR4cDk2?=
 =?utf-8?B?QjdndERCT2c1ekxUT0ozaTZsT1NveHRGakxMRjR1RTdocWQ0SUcydE0renF4?=
 =?utf-8?B?aXVjaHA4MkF3NjQ2cisrbmk5a1FVNmRRbVZ5bVFSVVl4bzdDQ3cremF5TFd4?=
 =?utf-8?B?akdWRnFlbk43bXJ3OHVSVXR3dUFZNnFtOHVoa0lhYUVLVlpnYXVaL1FRWUNi?=
 =?utf-8?B?R3FyS3BUeWw4S1RiZnRBVWlRZ3pDQmY0STZsUUkxdVRpdnYzSEZpQlFXODNi?=
 =?utf-8?B?MmM4dG5DY1lkd1VQV1BZTVhIbjJsU1paTGVEcUJMVmNlcFZ6cEUvQXdtUHhs?=
 =?utf-8?B?L0xoZDN4ajdQL1VmWEtOem40V1hjT1VGWER0dG1vODdLLzQ1R3Vva00vK2ZC?=
 =?utf-8?B?Y3FQM1NLRWRWOWNackRXdlpjdHJ6UWVLL0Fya2h2aXpvdUlHVTVCYitnUDQ5?=
 =?utf-8?B?ZGVrc3BQOVc3MHB3S0ZYaUt2Tm5DUHNseEZidmZtcGZtdEN2NEl5SU9VZWcz?=
 =?utf-8?Q?wVDVQXImAPTOyZw48y+RRKWBh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0e6f7ca-a88c-4f6a-40b8-08dae190b0a1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2022 07:14:38.3744
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XLnUsCi7c2/WS7xnCH224HaRvB7FTVQvIZGViJxdc7UNbCQmAPCceUKtmuJ8uRv9xCIyMp1y1RsGUvi9w8w3tg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8194

On 16.12.2022 20:24, Andrew Cooper wrote:
> On 13/12/2022 11:36 am, Jan Beulich wrote:
>> RFC: With small enough a NUMA hash shift it would still be possible to
>>      hit an SRAT hole, despite mfn_valid() passing. Hence, like was the
>>      original plan, it may still be necessary to relax the checking in
>>      phys_to_nid() (or its designated replacements). At which point the
>>      value of this change here would shrink to merely reducing the
>>      chance of unintentionally doing NUMA_NO_NODE allocations.
> 
> Why does the NUMA shift matter?  Can't this occur for badly constructed
> SRAT tables too?

Well, the NUMA hash shift is computed from the SRAT table entries, so
often "badly constructed" => "too small shift".

> Nevertheless, this is a clear improvement over what's currently in tree,
> so I'm going to commit it to try and unblock OSSTest.  The tree has been
> blocked for too long.  Further adjustments can come in due course.

Thanks. And I see it has unblocked the tree.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 07:28:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 07:28:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465845.724646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7AZy-0005Hx-K5; Mon, 19 Dec 2022 07:28:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465845.724646; Mon, 19 Dec 2022 07:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7AZy-0005Hq-HV; Mon, 19 Dec 2022 07:28:54 +0000
Received: by outflank-mailman (input) for mailman id 465845;
 Mon, 19 Dec 2022 07:28:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=eGu8=4R=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7AZw-0005Hk-O3
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 07:28:52 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2042.outbound.protection.outlook.com [40.107.21.42])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8e5fcf6-7f6e-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 08:28:51 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7732.eurprd04.prod.outlook.com (2603:10a6:20b:237::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec
 2022 07:28:48 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022
 07:28:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8e5fcf6-7f6e-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OhwX6NyisTWnxXW8jx7E5tlbCf00WzEQbMKXsvSfjXauqzXbmcukWbAJHDcg9GnlTSlcCt0SxhOS2ytXj3Vts5vs/9VPvI7I6SZK+PeI8RGEchz5VVKSi0GjDSkjb266Xl7LTvi7ZyVyX83EOnGQJUJMrbkmHib7lc3MvpZXJskS4YULYwMn0lr1hqQOEMUP7HfZ6ZLQ1A/3bFXKlZs1+yoAMHMcBnaWSzo7GAxhxmB6RDtifoUQ6AYgsy9t3Javqp0W8D+6BwcHmKkS3LhtSA5qmPl9XIx8yfvHvO39+1uhzRaUMykuBW9d2BQez1qeO3ICF4vDcFyRQLDw09XNYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QqShiHs/qdT5HVXACcjVxKkEch/Gysh9LcccxIZTl80=;
 b=Cp60aGRkxsMZfCpubr99lvfq92wF+9hl6j7Zd8AHKY9VcXBotqukPk0b4U0fLkSxLIN2yLii08u+sOMgT+uIWzs/l2hd1lFGPQyWPBUKoFL3pIdkFPJDU8BFm9VqTAi3ToLYK0oOMSczS0608p6ITlZ5ZH1GHui3c+uo8tmtlieIXBYH0lDak3BPNEpe7PJSL2lbcJ21zwq4CYAsYzDz8RA8iDbnAjePd8rkKusI2T7qtCFIdXxTwikqvbBwdyaLRjLqfG/YXU1ga/UNFs+MV71jxJ28VSxXXmaGZVxk9eHY0TeICwcxbtrf2OLZ9y7lLyVWmiLtPYb/oCIGX8q/2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QqShiHs/qdT5HVXACcjVxKkEch/Gysh9LcccxIZTl80=;
 b=OCOl9itJVFi44945K1V041YOmfweobvBos+pwcgaUhS1MBtk8+4gPmvcyqlgqHUyqf5zLXi943dEabYDcZJAq8jm/XWzjiUYmRb+WIJLmN1eah2HDdi8xqxOsPQPtBaMYWKjnaXVP+XbRN/CQh7+SckBI9hdeV6A8IvJlPDlFbF2EeZ54A0c3ux1JDGeJDI5VgYE0QVKECl2kiU8B+a43XXKvSD2WzQB2zTXZll71bEtQAtpT8kwjt4/W+49BpnglMNVofaPJ0c08gyl0MiD2l8gO3gLjG+pVOopUh6P2mQeGW9d1uekS5iTzPBEdW7Q5TgSPJUPUw2DniEuZ5ghvQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1eff8db6-c358-9597-6096-0a1312d59712@suse.com>
Date: Mon, 19 Dec 2022 08:28:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH] x86/hvm: Improve hvm_set_guest_pat() code generation
 again
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Demi Marie Obenour <demi@invisiblethingslab.com>,
 Edwin Torok <edvin.torok@citrix.com>
References: <20220810133655.18040-1-andrew.cooper3@citrix.com>
 <74d0425a-a206-2bcb-50d6-e5bb4c5e2bf3@suse.com>
 <77198021-f45c-9d75-c1da-5022d3ca99a2@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <77198021-f45c-9d75-c1da-5022d3ca99a2@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0150.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7732:EE_
X-MS-Office365-Filtering-Correlation-Id: e723c125-7bda-421f-9eca-08dae192ab35
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XgKQPsKYGHHdUeq54AXy5fB0c3NBslc0FwJx8SyHH5A/PFQAlgv2FQYeRnzlcjgs+tzRGTTjX/LEAGqApxZaGyUg4Gm+p0BS1X+2c4A/wAJDoAPsrArbhUN4MzDglIkwmJj+P2pxZOzUk+de8GyoynRq4CZcC40y0g5pxKru7ZPbCotHsChsL8CH55r3xE6QeJLbFb1LSqcLqQuRZz2L2RjYv+EBHEqTcI6lvEmXaMcX3WdVYZ8GyVAig3HKTf23SJqUlWzNzX0mBZLO403dTAkrJt1kjrto0OI/6n/EAlsCvtS+vc66DJjoyjGbGZ/nuDafts84MshGmUGuwuhNLT6nWqsSQL1ye4vLnzgA3e5n8k+NPx17EggmsY+8UMUS8THPSOCvF+y7+9jTcIzCS6Gel8Y76KcAEZyBcTXDLWGM7dXWNPlzaWJDaud6azwbTO1VSBKr4CqR8f3RtFzDS4pTcDBoyfMgpu1oFgzld7MMG4fMTBy+fRVS2/Sm3wRp89CEYi4C3ylPWvF6jhsfw+b6+G78rmlbvecIvpv9CLpJBQKFQOUGat6qfQqoB6ULiCSe2XkZtEiQnWAFWIGmDoR0ydMdENvvvBT4czgxXDuqLVp2Fdnmoau05gbqWh+lFm3lLnQ1sGBKagXzEIxdTVxZCeGk7psCg/jpHwfBAJ+qhVtP/ntRhkEmD9OGA0CaqMsy/wlsxDyBEi55g7qwt7DXvu8DHH5xMJkqJpbo+yuAJrGgxec9aAA8VwUHgCuO
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(366004)(396003)(346002)(136003)(451199015)(31686004)(38100700002)(2616005)(86362001)(53546011)(6512007)(2906002)(186003)(26005)(6506007)(478600001)(966005)(36756003)(6486002)(6916009)(316002)(8936002)(41300700001)(54906003)(66946007)(66556008)(8676002)(66476007)(31696002)(4326008)(66574015)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RXhOcXpubmNPNytSbXFzTURnY0xWOTdrMmcwWWw1elVjUGxMZW9uUDFsclZC?=
 =?utf-8?B?cWNOK3liOWpHTW1XendPbk4rMjFGcWJjclc4UkYybWtJSW5FdFpaSTcxVFh6?=
 =?utf-8?B?YVRsSjJ5d1ZZRklFQ3QwU3lpbFNTMTBkZ0d1YTRMUnpaMnFxUGI4MUJoSlBy?=
 =?utf-8?B?K0VZZ0VTdWVBd21wS1dPaTlNdmRWQzl2cStpcmdvbnp3ekhyV1g2N0xYUVB1?=
 =?utf-8?B?RlpabHF4UFFISG53Y3JuTXYzRWRpRm9MMS9yVTV1cVZ5ZGRSSlBvYmNEUnVh?=
 =?utf-8?B?Q3JReE4vT2lhL2crc0QvT3RLTGEzMGozNEFrWVFIaTlRbUt5eFFHNDlIWkZo?=
 =?utf-8?B?SmNGWVZnTzExb2VwYTVqVXJPM2phRGg0RjdjWllGZmlpZTl4Z3l4a3BWMEt3?=
 =?utf-8?B?Qmpnd080OTluanN5L3BNV0hMRkpaQUlCYlZ1NFNEWFJxMVlqUmZlZmIxd2RJ?=
 =?utf-8?B?bnVzc3ErbzJjTDNwRDFUbjYrcW0vcHdSN3pHL1MxM0ttbXNHRk5zNDZYL1My?=
 =?utf-8?B?amsrNHNTZkxqUHM4eXBVUmo2bnB0UzhVV1dZeU5WVUV2SUM3UzYwQ0dXblU3?=
 =?utf-8?B?eSs5WnhLRUh0Q1cyRjEwNkpFVjhFK0prTFVkQ1MxTWMvbzU0ZTJZNis3Vy96?=
 =?utf-8?B?dmtqMUttYVdUTW5KY1R4TkhvakJuUXl6ZFVBZVk3dGpBRk9kcjQ3NzBEZXRk?=
 =?utf-8?B?clVEYjByUW1wQlR5WWF0RW5iMjFaVUdyWmlXbktQL2d3OTJFSU05U1d5cm9j?=
 =?utf-8?B?a0lsZVdPT05ZeGUyaW94Zy9mSjV2dGNaTEVIU1JNT1ByUWFSTEF3M1g0QTI3?=
 =?utf-8?B?LzZKTld5MERadUc2aUFrQzlNTkduMnBmL09vWmJkYzFJNG16Q0dza2JCM0ly?=
 =?utf-8?B?eWRDdGJVTllyazZTdTBIL2U4cXp6cElHNkhlbFVodzZYL2JLMW96UDhwRXJG?=
 =?utf-8?B?U0ZubVVNaWYveUEvWUw4VkZtWVVjb29ZVTIyc0JoTE9pMUZPUnRlQUx4aU40?=
 =?utf-8?B?eVF0Q01qK1QrNWZia3lQK1pDR0sxb3dvT1k3b01RMFpvd1duZG4raTgzYUw0?=
 =?utf-8?B?bTRGQXAvb0orU2pqQmpOSWRNMktyQmM1MWJESG1BeGlMTVNjeEw2SnJhSkNR?=
 =?utf-8?B?MGdhT1IzbFN5QmNFcXorM3RSVlNIbDUvVDdNMVptZmp0cTVuUXpMMU5ZZG56?=
 =?utf-8?B?MDQxQ0NaQUVuRUpLTGg1WWhiekV4bmdqYkhLdk9wTi9ueUluaHFIWHNWOThI?=
 =?utf-8?B?UG4yZm5EdS9McU1iRWx4RyswRlVhY2dBTUNhaUcxTkUzdUJDOE5KSUtBVC9z?=
 =?utf-8?B?T3MxN2pZeU52QkdFeThudjBhVHJOU2RMNXlwOE9Pd3V3c0REdjEra0pkdnE3?=
 =?utf-8?B?QVhzREdyUVJ1SWl3YnN5L1dCa1M1TXZUWDlnUk9xY3JVdmh1MmtiZnE4YTRW?=
 =?utf-8?B?a1NrSUsyQnc5UDQ1a0hpalhCekNHSytuK1FjV0dqcFNEZWJRTmRLaW85VFFW?=
 =?utf-8?B?dEM3YkkwbjR6NlBEODMwQW9XOE5SOTdsUHZVcHFGdzROejgzYWdiS2dUNWs1?=
 =?utf-8?B?cnF5U0J6MVNiUjBNTmJHMk90VHNicGlQeE9LUkd0cW9TendaNGM4SFBCS3gz?=
 =?utf-8?B?Q2UwRWhpR0RKdlA1cEJ2eWswWUJYKzlwZmhUMmYxVko2aVFnbDNoL0d0dER1?=
 =?utf-8?B?VE55ZmtXbEdWaFJQSXA4c0xDeWxjcDdscHV3UXpBeHRvejJNMTIvNGNZQnFP?=
 =?utf-8?B?SFlwbkFpa0ZRSTl3alpFWnZ3U0dRNHhhSlBrTEVzeis0bmdocHY2VnpETnFu?=
 =?utf-8?B?cjJubGhWRGRGVWU1eWJ5ZmhaUWZKV1Zpd3hPTWhvRUJ0VlFCQkorYzJyWmJl?=
 =?utf-8?B?UjNuOUkveGhDbUNVdGNhS3VsWUJLRDB1Y0d3SGNRRFFsTzFwbzl6QnJSbFho?=
 =?utf-8?B?WXo3cmdRY3RiTEVhczZ6NXBkWnBpU25XVEViNlFiTUVrTVl1MkJOY1RxaGFk?=
 =?utf-8?B?Q2J0NDVsdG9FMnAxZ2hqc3U3V3EwK0xkT29kcjh1Q00zZjQyc2dyTTlpOGFt?=
 =?utf-8?B?akhEVzk2azYxaUxYa3lwUDhMVEpCRmc5Z3pyT3dRQUd5bHg1dVJMUXFna0dG?=
 =?utf-8?Q?FklfyrILVFxo8a8ph43nZSN+r?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e723c125-7bda-421f-9eca-08dae192ab35
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2022 07:28:48.1801
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kZjqP4kGy16DEfbokGOrBeL8yhP+JaWurC6lT1njpAWKHzg2MXz/2rtxX+hwFKzDnaESHvn2ApH99ylf0t+TQA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7732

On 16.12.2022 21:53, Andrew Cooper wrote:
> On 10/08/2022 3:06 pm, Jan Beulich wrote:
>> On 10.08.2022 15:36, Andrew Cooper wrote:
>>> From: Edwin Török <edvin.torok@citrix.com>
>>>
>>> Following on from cset 9ce0a5e207f3 ("x86/hvm: Improve hvm_set_guest_pat()
>>> code generation"), and the discovery that Clang/LLVM makes some especially
>>> disastrous code generation for the loop at -O2
>>>
>>>   https://github.com/llvm/llvm-project/issues/54644
>>>
>>> Edvin decided to remove the loop entirely by fully vectorising it.  This is
>>> substantially more efficient than the loop, and rather harder for a typical
>>> compiler to mess up.
>>>
>>> Signed-off-by: Edwin Török <edvin.torok@citrix.com>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> The main downside being that changing the code to fit in a new PAT
>> type will now be harder.
> 
> When was the last PAT type change?
> 
> Trick question.  Never, because PAT hasn't changed since it was
> introduced 24 years ago in the Pentium III.
> 
> I really don't think we're in danger of needing to change this logic.

One way to look at things, sure.

>> I wonder in particular whether with that
>> in mind it wouldn't be better to express the check not in terms of
>> relations, but in terms of set / clear bits ("bits 3-7 clear AND
>> (bit 2 set OR bit 1 clear)"). The code kind of does so already, but
>> the variable names don't reflect that (and would hence need to
>> change in such an event).
> 
> That would reduced clarity.
> 
> The bits being set or cleared are trivial for any developer, given the
> particularly basic RHS expressions.
> 
> The constant names are what relate the bit patterns to the description
> of the problem.

Again - one way to look at things. Plus, with Demi's series now also in
mind, what's done here is moving us in exactly the opposite direction.
Is this hot enough a function to warrant that?

>>> --- a/xen/arch/x86/hvm/hvm.c
>>> +++ b/xen/arch/x86/hvm/hvm.c
>>> @@ -302,24 +302,43 @@ void hvm_get_guest_pat(struct vcpu *v, u64 *guest_pat)
>>>          *guest_pat = v->arch.hvm.pat_cr;
>>>  }
>>>  
>>> -int hvm_set_guest_pat(struct vcpu *v, uint64_t guest_pat)
>>> +/*
>>> + * MSR_PAT takes 8 uniform fields, each of which must be a valid architectural
>>> + * memory type (0, 1, 4-7).  This is a fully vectorised form of the
>>> + * 8-iteration loop over bytes looking for PAT_TYPE_* constants.
>> While grep-ing for PAT_TYPE_ will hit this line, I think we want
>> every individual type to also be found here when grep-ing for one.
>> The actual values aren't going to change, but perhaps the beast
>> way to do so would still be by way of BUILD_BUG_ON()s.
> 
> Why?  What does that solve or improve?
> 
> "pat" is the thing people are going to be looking for if they're
> actually trying to find this logic.
> 
> (And I bring this patch up specifically after reviewing Demi's series,
> where PAT_TYPE_* changes to X86_MT_* but "pat" is still the useful
> search term IMO.)

I don't think "PAT" is a good thing to grep for when trying to find uses
of particular memory types. Go grep for "_WP", "_WC", or "_WT" - you'll
find not overly many hits, and with the false positives filtered out
you'll have a good overview of which of these types is used in how many
places.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 07:47:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 07:47:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465853.724657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ArS-0007er-5M; Mon, 19 Dec 2022 07:46:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465853.724657; Mon, 19 Dec 2022 07:46:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ArS-0007ek-1f; Mon, 19 Dec 2022 07:46:58 +0000
Received: by outflank-mailman (input) for mailman id 465853;
 Mon, 19 Dec 2022 07:46:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=eGu8=4R=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7ArR-0007ed-95
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 07:46:57 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on2087.outbound.protection.outlook.com [40.107.6.87])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ed44731-7f71-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 08:46:55 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9627.eurprd04.prod.outlook.com (2603:10a6:10:30a::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec
 2022 07:46:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022
 07:46:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ed44731-7f71-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gp5e0YFzIr9W7WSXMsCjxSlXLDa2icOvw0pscus+l9cr8pxDljRi1ATnUohVMle7Wu1fNOV5TeT0k3+OmsnkthwPaSGQGQYy3O6beEIMXn8M6PTQ8t56BWp2kEx4KE+lV4iy84pp/zjbHW7s291zm1LxWe4YZcMttcqGpTU62odm4SAxQ5nuThcYC6eykrs4GZp8d824IKSTVwYr5n+rhWDEpa52GDh0lxorfto8y6EyyVPKwWIgIFynkRL8cGXrTp5pmd4NkM1mloSLWbclRGzdrjlRdvLjMl9UTy+iXsFH3/7mLI09Buedayfzfe0lyrrLjNsFaQ2oTYKbozHDmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4Z7TxHj/h86bO0ek8SqzZwC7tni++FSu6huM8H8Ul/s=;
 b=SU+j7eMHR4+MKHY67RcT7Y4jMcGiU4E4Ipridq7ImdAZmHNiXa403/G1j2JndBPXucbdNUTh022jMr9X6pF6b8baHZ9v2g1EpE0HYU/F8hO0ZHcr7dK9IQnWM0CZ1p7GaFYdpnynz/5YeAP8infOnqPti2wDDL+68hzrP2mIUJ5CILH6CDcgBkcYMyAQSi+kN/h+jcbV+LATj2l+uqCvZXQf9JhxcAruyYuVJS32Ec66wvbyKBNxK1lO/9ZH6n157JO2M9hQGDxJoc4v3ujr2GORCfjxrVyy2t1icu7YWqFEem6AJxFZSE9mBSTOY7mSfyfOiH+vUCFVcSpz6DVXdw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4Z7TxHj/h86bO0ek8SqzZwC7tni++FSu6huM8H8Ul/s=;
 b=lgMzmvWJpTSN5vEgrdOANI+fjx/WtEYoYLZjOh2XyTK1wUKs8Ijxdm0nmsA53IUK82iu/v2A4H1UAem6JX5O/b+3YxHKXX8golwGcxds4r4RqNtmKTgfcX077UwGuS9Z6BET7Bfpx2LHgG4uZisWh8zsrBka/A4x0Oa50fS/KQ82/Pz8ls1HzUYDtdD0TXSPrOxoVPN6OYLAPzxFRSWRCjJCxxlRn1DtJah6z20lRgLT587Qk9CKJvsNu9phjpEnLPvrGvP7PHtTpQKt1Oh+w3nQ87pLF7hLJRPDtVseljfCjxqYccShdCVT8BTETFTPE0zBIt08i5HJ0bDWTPTouQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bc95bd61-f367-4a92-c5b2-6ed2dc867d46@suse.com>
Date: Mon, 19 Dec 2022 08:46:52 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [Patch v1] Bug fix - Integer overflow when cpu frequency > u32
 max value.
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, Neowutran <xen@neowutran.ovh>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <c1535eba0bba6fc1b91f975f434af0929d9d7c96.1671298923.git.git@neowutran.ovh>
 <8a9fb9aa-59c9-f177-7712-21c8d64adc1e@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8a9fb9aa-59c9-f177-7712-21c8d64adc1e@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0099.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9627:EE_
X-MS-Office365-Filtering-Correlation-Id: d2ae4e03-7d1b-43f2-1448-08dae1953127
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w3MRhQiOkbH8OYTi0cuOY38PF6lXmVMOzi85bCD4LAJc1K1xRTVrFjvSKNq0ZMH+kSHsvtCYcYrZ5EghtIeVfhz0HTdypjdlwfFaa6ukocc001uFl3Z+ZjUX4IYKMxiuDvB4gSjg7SUj12KadHCQDdtUz125njgwQHpDcZvbXG48nt1KubAC9gESWtlIx/0GVV2C+1wSR0YMX6oIwiK7NFYJk8oDXbv+EdVf2Vf6We7Ksj4nwKO5vN+sIQi9Dv+DxDjf+6QBCB/n4FJ6NXEZfFIalA9MZsgGmSZq/8LPssHRnlUFMLCOz0wHS/wwTKRA4upRgJ/oUzzyZ9kU1qzCmGjWaXitcHIvNhE175TL5mHQ8BLjt5UJzEhs9PSs/wkGJV61i+5nH9MjkCrzNlgZ/NNDKvLMjrvRuI3lsHgKmykGf1W3JdQOqiIvZejqauySe940F5BY1mkzC4SL0sJTI7Xw3y2vh4Rpz+QtD/E5gPShyb3O4zX834CJwFhu8oPxDz7u2zsaefhwdXBM5Tub6+lh8kJSZXQlTwGszugrvrDC3yi67aObMs44XYHfMyjcwUA1XjXsoqkIiZU47uauV9J42Bhylg3mGhco1nL07r8/MSWupqO+cejVEJDpbKHQ/uj3jfCWq0Vn9y/Ds8kcceEosOljKayEvhsM2hgsvXQW7SSPbZDows7zNyLFgxGFtOlkzfupmxKKKfC1u+dovHeqOCL/b7kCxsYevswsYU8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(346002)(376002)(366004)(39860400002)(136003)(451199015)(41300700001)(4326008)(31686004)(8936002)(66476007)(8676002)(5660300002)(86362001)(54906003)(2906002)(31696002)(4744005)(66946007)(66556008)(316002)(110136005)(38100700002)(2616005)(186003)(26005)(6512007)(6506007)(36756003)(478600001)(53546011)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aGRTWUFuanRwdjBUWDUxQ3JKMEJLSEc5ajE2czcxYkZlZmoyYWFtL1BYMHlu?=
 =?utf-8?B?WkhKeEhObmczLzIyTmJDTW10YkJuUzhDNHZSQ0VIaHJOdVZGOEFCN2JXcHVx?=
 =?utf-8?B?KzVHU2ZMM3J5WW42KzhsdWdlV0NFWXYzbXFRRjMyNHFqell0UnlZNXQrUU9M?=
 =?utf-8?B?cytjSUIwL0hMbWlYeG5jeGk0N2ZLaENxcDdGbnVxeExjUjZOY0hjYXRHQXdB?=
 =?utf-8?B?QjhXL21SRzZiWVpiSEc2VEhlZWs1My9SMUVVditlTGY0MjZqZU83dmg2djFD?=
 =?utf-8?B?T2FreS9mYy90UndMaHR5c0NsdEx6OFRBNGl3VkZEQm9jSDdiaW13T1hmTmZ0?=
 =?utf-8?B?MlZQZ0xKNmU3ai9yQjhkK2tGdGRqdUE0RzBrWGoxTlRUUldWTGpvdVYraHJD?=
 =?utf-8?B?R2tYaG1LLy9IN3puWjJSMXVDdEpDaGthdjNPZXhxQjVZdVBEaGlSbjlZektq?=
 =?utf-8?B?WWljSlIrdGQxWUNoY1gxUTUwNU5qaytwQ0dFanV3K2Z6YmNmWlNTL2pYaEJy?=
 =?utf-8?B?YXU3NjltL1MySnpBR2ptSGZ3a0tZa09QdGxUeHh1Wk5VWmZoV3lzYWl2aFRh?=
 =?utf-8?B?WnUzY0Y1TkdLblZuMGM4MHN1RzVFVVBYOEx3dlhPK2FTWEtKZHhyTml5Y1Jh?=
 =?utf-8?B?VFQzSlZPM1dIQnNLZm9rWXd4QW8rU0VzVDFidEFkTjFKaFM0eUswOGppRlAw?=
 =?utf-8?B?SkFQcFJPOHpUSVZpdmVHdERRVlpXeU9aSXJiUW9MR3N3bmY3TGJTRjhzVlVj?=
 =?utf-8?B?TTJWaWxMbHlCdGZ5cmhlRkhUM1dyOGlBcEFodGkvaHBZR2E1akdJK2dHRXpY?=
 =?utf-8?B?dEtqZVFkZUhEbEJibHc0Tllud1lRd0txSTV1ZlZvcVc1elBsbk1nUWcyeTNR?=
 =?utf-8?B?OFhwUzVKekJCVmxqcTV4S3I2M0NpdE1LSVJqSnQ4RjdlWHg3dGRmSXluRVRn?=
 =?utf-8?B?UFZtWUxlWUMrdEVoQ25HNFpFZjhOVjVLMUpPaWZKS3I3WTR2OENNTnhNSFlV?=
 =?utf-8?B?aUVGbFRxcUwwT25nK0Y1UDlUZjMxSTE4dXpmd08xZ0t5aW5CaTNkejBRcFJt?=
 =?utf-8?B?clJUdHlXRW9VT0NWYjF0UUR5S2Y4M3F4T1hoa29Tb0IvYVVUVkYyeHNRSHEx?=
 =?utf-8?B?UlB5bHR2T0FKL2RWNTNzb0ZuUmlRa2xGN3QyMGVvSy94UmU0VGlOVWplbFh3?=
 =?utf-8?B?NUhUbkh1Q1lWd2xVSWFzQ2dHcHJkWnRxaHFSTDJBWm1WeFhabi9kdlJ0Z01L?=
 =?utf-8?B?d1dlNE00NWs1eGpMdmcyRzFPTG5MVVR0bGlYckhpeFQ3U3BoQjRISnFUY2VU?=
 =?utf-8?B?NXdUWnF0cXR5YkZieHgxVkNjSDFBS2JxcTN6MWFtbHFVQ2Z2dnZUcVp0S2Zp?=
 =?utf-8?B?VjNWQmxDWHozbGVwdjBzMng1M1RxTGRzeW1HK0k3dytDb1JFNmZDcXdxV0VN?=
 =?utf-8?B?eWRBaFJ6WG5ZdzVoS2t4KzR3WkdKMjFCM2dRWjNjckNpM0Q1SCtOdXpQL0JD?=
 =?utf-8?B?VXUwWFVsdktFZExmc0t1WHdUS2cvblBZQndTSi91aS9rNHl4UVJPcndkUnBY?=
 =?utf-8?B?UXpjNUNoS21CWndjL2V3bndpNThjMFRSK1M0azd4dVp3WDFJMUc2Wis5NFZZ?=
 =?utf-8?B?VmFUWkVEY3FEaldBUkNIMkZZdTVLa2x1Z0JjbFNGUjZHSDNVUkRIRUx2c3dw?=
 =?utf-8?B?K2VaTU5PYUprOGh4NFhYa0V5Tm9GamY1RzlSeklLWE1VTFp1NUNBY3FBajJJ?=
 =?utf-8?B?cms2ZVBSaU1wZVN0RmxXS1ZMNzR6WElUSldzWjAzSXo1alFzcENBN0t1NUl2?=
 =?utf-8?B?N1RBa0dsMDBFS2t3bFBabFZaNUhJQTBweTNwWTF0aW54THhUdldZUEZFcENT?=
 =?utf-8?B?U2dOaGtXclJyWS9tdmtrNkthS3ZqNFozZ0VGbHhVUVY4SWllWUpia2pvRWZ6?=
 =?utf-8?B?WXYvM1ZKZ1BXSFpESGgwN2EzYUNPMzFaVW9tRXNIQ0c2MVJWUUJPRWswUjhE?=
 =?utf-8?B?VXJJOXlteHZhK3RGRGc1bWdPdUw3Tm1ZMDAzdHc2cERodlRBbUVOdlRWMER2?=
 =?utf-8?B?Z2FuR2VLT29TeEZRTjc0QzlrTXNEQXVYUXBaTEN3citpQTlMVWd3ajh4eE9S?=
 =?utf-8?Q?K36SraWq5U8EMNr7ssU9hwbb3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d2ae4e03-7d1b-43f2-1448-08dae1953127
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2022 07:46:51.8774
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mDPYYV9izQE+2XFd8ZNx/nIupOvGpiEcl9fGT64xdBzinAYr+qPWKjlP/B7a33QnPZ52Q315Y1iY3JjiT56jMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9627

On 18.12.2022 01:18, Andrew Cooper wrote:
> On 17/12/2022 5:42 pm, Neowutran wrote:
>> diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
>> index b01acd390d..7c77ec8902 100644
>> --- a/xen/arch/x86/time.c
>> +++ b/xen/arch/x86/time.c
>> @@ -2585,7 +2585,7 @@ int tsc_set_info(struct domain *d,
>>      case TSC_MODE_ALWAYS_EMULATE:
>>          d->arch.vtsc_offset = get_s_time() - elapsed_nsec;
>>          d->arch.tsc_khz = gtsc_khz ?: cpu_khz;
>> -        set_time_scale(&d->arch.vtsc_to_ns, d->arch.tsc_khz * 1000);
>> +        set_time_scale(&d->arch.vtsc_to_ns, (u64)d->arch.tsc_khz * 1000);
> 
> Ah - I see you tracked down your bug in the end.  One minor thing, we
> prefer to use (uint64_t) rather than (u64).

And yet better we like cast-less code, e.g. in this case by simply using
1000UL.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 07:49:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 07:49:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465863.724668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7AtU-0008J5-Jf; Mon, 19 Dec 2022 07:49:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465863.724668; Mon, 19 Dec 2022 07:49:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7AtU-0008Iy-Ge; Mon, 19 Dec 2022 07:49:04 +0000
Received: by outflank-mailman (input) for mailman id 465863;
 Mon, 19 Dec 2022 07:49:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=eGu8=4R=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7AtT-0008Is-H9
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 07:49:03 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2084.outbound.protection.outlook.com [40.107.247.84])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99f615a5-7f71-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 08:49:02 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8482.eurprd04.prod.outlook.com (2603:10a6:20b:34a::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec
 2022 07:48:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022
 07:48:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99f615a5-7f71-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RNQomaRuRgM+wyBh1yB5QNEfrtc7d8WDxknAjyVL1cDhpYkfjjZY+15MfI/gkdfUHKu0c7DpGezqxkywOxADZ8s3ddG1PeF7wvahKgpfhOWeOZ6H707jbACCuGxbWteOBmz1GRp4lhnkFsReiLM/zVTcn+VANpHUcvb0rjmSYuX4EdNI3e+aY8uczvcXMjbDO/nXNzfoXlU0FMYYMDqlb1vZKeDqKYG5ccALABtahXKv3RLK6gdprkwIU8Nmht675JjSY+TrOiJnWl4MpNatcsbTNi01S8bC8NdK5HWXqzmkqyC4ueZc5JFlxu4AOrbeGV2HryJNmCjcX3ro+7jhSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WyGf/Zo+LQsnQ/3LOUuKoMI2J6NtVFetQDo08e0D1cE=;
 b=P44TOcJpGKDR7uzoCMJaLHT3/NTqsBIG080sRl30zEJC/zQwyWKQUdSo4WdfS1Kc6Tzr7hDnDmTakHxirdRVNCk7RGVrOLthIX/l2P1Ggi+2nuWPtWXx/fMIcHq3caSjGgZKIeHoKAIUo1y13D3D4iqO7/BjnKY4IEGmeP2aKQ6D9GX+s3nDyuWgdNDmkv/eaDIgN9SPqJzq5oXS+CiZT9CA+SW0mZFP75IjtQER5zRTHwzILBbcqPWDKpt4ZnuYr1PTThc2hJkqYlr/+bqw2z3OG+jxCXzMoAJsl7kWrasMgCITb4lBMlJfcbIX1pfwn030E/a1aD/nc9yn2qkngQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WyGf/Zo+LQsnQ/3LOUuKoMI2J6NtVFetQDo08e0D1cE=;
 b=Y8Qx7HFFGHhN44xmWVb58uBpb2h5G+9mVjPRm8wvoj6FfhqwvVkKWRToTUwzDwpJmZVkwesi/wZr3fcCCvVoe79uDsj7dGZsDNNhCtmaXUTJCdE59PagW9bpjeupvwZrn2YSA9xPHH0a8V56TFH1tX0ft8ZAr6rd/+569yExRtEnKk/Xc1q8mPaOOIegOkK+SmUeSvTA/76UiLDjr8NgQQDaugJDdzy1mzJCh4bfSzU5uUd0unt2IhCvuKqnOUTWRSk1jkgemktDptEShQ5E2DwEuYcsTqKzhyWfHZ3yYzsiNiHJ7r/afXsK7krC/ACotlrOmi9m27WBkoVi9Ekv7w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d2a7638d-f0df-70a4-83a5-f951a5e930f9@suse.com>
Date: Mon, 19 Dec 2022 08:48:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [Patch v1] Bug fix - Integer overflow when cpu frequency > u32
 max value.
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Neowutran <xen@neowutran.ovh>
References: <c1535eba0bba6fc1b91f975f434af0929d9d7c96.1671298923.git.git@neowutran.ovh>
 <Y54j7mp/fMsaF564@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Y54j7mp/fMsaF564@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0138.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8482:EE_
X-MS-Office365-Filtering-Correlation-Id: 5fb5f9f9-6fed-4653-5b50-08dae1957cf0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TdPky7AkHGCcY7tYekSde0TmEzXH2m3Xz7pnaC3fuvEZA1cgMDFtwTcaYuQq95WjJCkWHMmdM/sgKg18mgs1P1jNWZjckKqPamNI5HLA9Y40nKN9yDtI3w+dqthrDvHR/J3SOtUzruZJUzL1sHi8+vo7Bf4I+9QEf54kTTCzw9H8xOPSGyqke5w9rx8y+JbmIhI2hjeNwLhqb1TYB8G6b7Xt8xRXCP40wcQjBZYW6QFZlvjJ4BQIg+bhPhrFsScLrfADB9B3FHHHm2d2LqAJW82ov411wfZoQzLWE1hmCHcD2yH4G4tGwSBatkXcO5Zn+jGuxv4oBh2jcIZ8oODRJxe4lLF5wtsgWIzN8dCg0qkNaYGe29ENL7favC1OHNqbEP7Qq5hd39NoAiB5YhlF23fSQd890J8tpigfzTjIUghQGrM8UkWhCEHf6YkD31EctPb53n53bsUwyZijaoQf46bfU4lf62243Q6UjDZVmOg9vAivwXWrV4JLVSFxbmbuL6kmotq1APYXMhDJtg/wHU8sAoh91D/RBg6PUq0kFMDc5acERe8VI8QxfAVTawnrazm0pllYQKv0OtfnTU/Z/sMcoWXDH19mcG76VupCQcKIflig9TITacqkB2KTZtso/K6uHul2+y4l8P0PFCZ+736w2mRE5iK7tnDDDsmrq+ofEMo+xTc00OHodChp4lNQF/jscKlhccJ+8pbKmDmdpONWztvZoXy+XThdVVz0cZU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(366004)(396003)(346002)(136003)(451199015)(31686004)(38100700002)(2616005)(86362001)(53546011)(6512007)(2906002)(186003)(26005)(6506007)(478600001)(36756003)(6486002)(316002)(8936002)(41300700001)(54906003)(66946007)(66556008)(8676002)(66476007)(31696002)(4744005)(4326008)(83380400001)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WTVhK1pHTk5LSE9JZk1oOXAxWC9vU1diaHgweEdhRC9zN1pGZzhYNzMxVVhB?=
 =?utf-8?B?N0E5RFpnaEVFNldZZU5ROVB2UmcrSUZIRjZ1QmtSeVhGTXppbFB4d0d1emFW?=
 =?utf-8?B?Yks1VWxEdWVCMjZ0WUNya3N1RGFLZ05RcFFvTkRIUjVBQnJBckVzeTZNYUNI?=
 =?utf-8?B?TWdGSExmREpFR3E4N3NFc0xMcEs5RitDa0xXK0s3bEgwcFNWR0NJZFJJTmM3?=
 =?utf-8?B?TFJCYmthb3QzWXhTczlNQXVPZzdQMFZEVm5hcmVtZDhManBTOGtvanhicjBz?=
 =?utf-8?B?QUY3YWYyUTBwSFlraGRuSDE5L0hqL3lza2c4dytOV1ViNiswaCtsVHF1SzN5?=
 =?utf-8?B?Y0tRN1RQYzdJM1NzWTJpNzVFU1F6NnVpN0lKQjFud2ZPT0gvMUR5Q2doa3hZ?=
 =?utf-8?B?aWV4cFZCZzQ5cGRmcFpXTDRYMnVkd1paQ3lGRHphamFsZVhpM1JVYStoUUxj?=
 =?utf-8?B?SU13eEpKakZUeFhCL29URXQxdDZIYmwwdk5nUkdDZWI1SGRRLzNaeGRWcnBo?=
 =?utf-8?B?QUE3QjFXTE5FS1k2dTBIVE9Pc0w4RGNBY0MvbFFnRmJvaVVCV1JJcDI5MFh4?=
 =?utf-8?B?MmlkOFRRc21MalRHWHV4RHdLZkJNb09MVzk0R1EvQ1lxN3pVcDIzSlY3eGda?=
 =?utf-8?B?cGtPdnVwUFU0TTFKV3JxdllqYk1GcENHRUUzclUvUjNxQytEdFFWSjRiR215?=
 =?utf-8?B?a1dFRGJxODg3NDc3ZHBoZmVGbTcvODc2ZjFObHIzcUlkZ3NkVFVsckpQOG9M?=
 =?utf-8?B?WGJWSTlHUnJEaGVMNWp5dDllbzQ4M2VDWjJnbjd4c2V3ME5FWlJucVZrbHo0?=
 =?utf-8?B?S2g1QnJBNzhQUHZMcGtUamJyellFZDVMek5KTGs4QmlZcy94N2huRXZzS1Fq?=
 =?utf-8?B?dW1TNjBJVFFWcENxZVpRcWEzUysreTAxYlMzYzZnV01mckhjSEpTeCtXK0JN?=
 =?utf-8?B?UVFtK3ZDT2VWbzloL0cwM3g2UTZNaUVmQ05iYmExS3lzS1JWay82NzVGVnJW?=
 =?utf-8?B?Q2RoZXRNTzVNdkpHZS9reXYxNEQzalB1UWZuN1VTR25VUmZsQUZndGVKMk9G?=
 =?utf-8?B?K2tCTTNjR1NHQitoSUtKSjRFTHdlRHFIbVJCL3Rzd05zSDlLTE55TFh6eVlO?=
 =?utf-8?B?Um9VUFhsaGdPM3MxR2swUjFPR2dCRGpRQ29MQkRWeUFsQ0VzUzZsTDZ2WElp?=
 =?utf-8?B?MGJOb2J2L3Y2cGxNblpnN1ZZSDg0b2toLy8xWTdtQ0lNUUgrMTd4Um1jZTRY?=
 =?utf-8?B?cjZvbG5ac3FVcCs3cjNOUy80c0EzMmRUbDMwcExuR3VkanV2aVZvUTRNS1oy?=
 =?utf-8?B?QUdwekpsaFZmK2JQMHBUTHM3aUp4VGVGU3A0aUZ1QjhURngxcFI4ekJseDJ2?=
 =?utf-8?B?WWhKbjA3T0JlbDdRT3FjaXMyVzRIM1hSRmpHNmp3OXVWdFZ2Rm11RHlZR2R5?=
 =?utf-8?B?dzZyOTZMWXczS1k1d0ROdVdyaVI2QnpiS3RmSXpqYWkvZnc0QkhEMWlVNEJh?=
 =?utf-8?B?cW9ZMDJaSnF1MnVHRXJsRXB5K3dva0oya2tnaDJlUVBqOW1WWG4rYS9HYTB5?=
 =?utf-8?B?Uk4wajFGeFQ1bm1wUGwrN0RKdG9nc0h0aTZ4dTI0UTNMKzUxM3gzam1HQW1K?=
 =?utf-8?B?dG9sTGVyaXJpckZaMVJ6RjdkR2Q3V0J4TS9ac2oyMWVnS2dzakN0UzR3NVVJ?=
 =?utf-8?B?TCt3TFhUMVNycDIwY3plRHVaNTM3b3kydzdFYnNkZmZDRFdZd1ArT1dFaFpr?=
 =?utf-8?B?Q0RINys0bERnUko0MmtLQXNxejFRMlhNaVJLSU92eE9ldFhTUkhSVjZuelZj?=
 =?utf-8?B?NzJOZm1ubFNwZWdxMXdZTG1oWTRYYXZMbmduL0UwaEpKMXhhRmNLQng0blhy?=
 =?utf-8?B?VGJsVndLUFQ1VG92Y2FsMHFCdG92Zm9ubW5DVDdtUU9oSEhZOFFNSC9mZVEy?=
 =?utf-8?B?dkpuSlZ2YWx6ekhwNVNWMEhoR2JZYjd4TWUxVm1QNmQydm9hTDB6VDBNMS9u?=
 =?utf-8?B?bzVsRlJCYVQ0QnNIL1hqVmVLb1hYZUZDTERMd05HTnZmS0tBYWxYdmdBeFlC?=
 =?utf-8?B?L1JuNjIxRmhzaEFwUlI2cENBVlRMRzZISUIyL204RXdGT3pPQ1BIc2dIaUFN?=
 =?utf-8?Q?YJtv3B2bhFbR10WKxBcLFw2vY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5fb5f9f9-6fed-4653-5b50-08dae1957cf0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2022 07:48:59.0724
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WVvXA6y78gBHHpW7OeINa+mU1EqS26x7BPgz0Oy28uo7iz/4hFefeodYRoR0Nx8mUyKPBQGvqA7FhiFJGH2Mpw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8482

On 17.12.2022 21:17, Elliott Mitchell wrote:
> Note to Xen and Linux distribution maintainers: I suggest this needs a
> point release of Xen.  A large processor manufacturer has recently
> released such a processor.  A great number of people are going to be
> rather unhappy in short order without this fix.

As long as we aren't cutting point releases on every XSA (batch), I have
a hard time seeing why we'd make any in this case. The change is going to
be backported, sure.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 08:00:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 08:00:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465873.724679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7B4Q-0002ay-TP; Mon, 19 Dec 2022 08:00:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465873.724679; Mon, 19 Dec 2022 08:00:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7B4Q-0002ar-Qe; Mon, 19 Dec 2022 08:00:22 +0000
Received: by outflank-mailman (input) for mailman id 465873;
 Mon, 19 Dec 2022 08:00:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=eGu8=4R=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7B4O-0002aj-SA
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 08:00:20 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2048.outbound.protection.outlook.com [40.107.21.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e60f923-7f73-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 09:00:19 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7697.eurprd04.prod.outlook.com (2603:10a6:20b:2d6::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec
 2022 08:00:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022
 08:00:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e60f923-7f73-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fPAJY1BftHgqd0VbtBD8tiXacW0eErBDEitRjxZHiA4DPWmT07wLYq7QtXidjB3Z6e0gcmOHV4hrJ+gQfot7pbjWLlyk23QDPzokSpbFptM6gKMeVukVkhS23moVBtnuMt5WsG6WeQYb2KJU4mu1XiNDsbqucuHZngkoG1lxNrv0kfgvtAq2dd3JfLSmJFTxoYp9sVHAnpfN9HSh7yNh/ZUfOmTzfeQkbkGSb+4bapxUDNkJyKgnpfUwFyzpJezQNrPjpYfU05zb7HngYwtdaANW6Br4Has4RCRIq771fdRo183/aV6XE0ab+qd3i9C9RnlHQ89M+V/ckFwJb747rQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NMyndYZUnLTMLkva3quh8ckMGWLs72XD/+H1dEL/45I=;
 b=VoFfsWNYKhn5ijZcvnmHEJzQSO2lXSv8Jf0W+IwYyvRp8Qlg2Zk4zempat2s3P8fwna82ReXU7MXWkTsKJ+eUkOX97Unr4DyJgpgxmXXd329nRtgIHkA8JBi9nUlMVIW26mCHsSvSyxkq4pTpNEUFCN6zJODAe4qht3Ja5fe8O3WCl9DENTKz6MpUyLvHmXQNzWWhp93KMu8r8/4EcNNXIXhJk2HB0cEIJwYxd/qp0w4UNC0kblF6bIui366bozsbGTU7zeAU2veRzppYGOd/KoCvDgQaCWI9x8dcwfWArQJKOsmfXpkbPl9I9BMnq7POsITdIWSyEAlI6elFRMZGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NMyndYZUnLTMLkva3quh8ckMGWLs72XD/+H1dEL/45I=;
 b=RuHyEfFi+EchK6poe9puBLOrQhDMvKUD7wnwvCkEnkJIGv3xJFfXxKleM7NTQsSmw0xsQKn3IEIm7zDxdg7WnSxmit634N1MsFqROfkX6AVgA4HvEHNahbLbV7Zu6xlJG8wxUmyQf9R/32O2HKG6nRP/Y3jGdriC7HP62lIFAM+tkSo+vIs72k0fIo9IMhVclwZxT2AKNV02fJYp6GBfZb7NBYJ+WRFb+8NlYnWqtT7MFtgLrbtH5VrD0P+ukYeGIylrWXOvw7bE5w6r/lT27Er/P9hE47mHc95Zk4xoAvtOdFfe+bPYEFCSvCmwB8cGE78nW6CTyyo1MHvsL1gwAA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <be1e0ba4-cd88-330a-aad4-2ffc14b075a6@suse.com>
Date: Mon, 19 Dec 2022 09:00:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v2] Bug fix - Integer overflow when cpu frequency > u32
 max value.
Content-Language: en-US
To: Neowutran <xen@neowutran.ovh>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Elliott Mitchell <ehem+xen@m5p.com>
References: <d018f50f439c4d8dff8add022d28698a2af3c320.1671365645.git.xen@neowutran.ovh>
 <Y5+KgBxxmlYfq7e2@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Y5+KgBxxmlYfq7e2@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0183.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7697:EE_
X-MS-Office365-Filtering-Correlation-Id: 7c1382ba-4f35-4f5d-c3c7-08dae1971167
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L6Ax0ouYLXY0ewk0BwsC8Hb85XzyRa9vWmGBnLKPrjAH9THZlIv3NUYQkiFrz5M7+CedzcLPykZC95t2QWp00fKJamQpbw/egyz0OWckACFmtUftGVCYpbDvLeON2T0/bJJvboMVh9PHZeCAw3Qj1bZCuBSo+KYZRN1udCso1OYnzaj5RfToh7zXrLs1/9EIkIHiKsdoSSBtff1we+YrOo9bndOni/YucaZ3XEfXqJFvV89xY319UPpfR48KgYZUC0xmtYg88bTxqz6rkXJIS7Osj2OkIIAvgB5pAzyBmxofdqRTa82Kvpg2AzRHWw0hof+hCMtdosGDVZSs+gYxDV+Wp4lrC755NDhygr6P+32v2nI961jZHcwFKpQlZqmv6Ruc71+fjoZHShF31iLwcGBIoMPT8Mh2rpEyUoP58lo2YGzFWkhn4NHiQzw0OU61NNoGSLA84UxsVOLkAETlpP6/YFEZo72PLE8us2yKKL28wNx8sf8v2u7u8NVGiRilosPi6Fxcmg0k5YLNdbs/d+b3j7gnTR5YCgkqoAL/vthwA/D+bV5u1A3asCCkgkBrhUMtL6UHfjRIaU/aalJ0k4GWZTFxTtG8USEk78NpenHgznapu2YSTLiglqdSkZv0C/4A4aa2uwW9FpitIosxhsrKf2QEgFlRGhPln1iyTX7jcCHL2FxCetJz7MBc7866lkYtSWdmAJhvlC9xJfdsyo89mfxxEiuIkGCyer1uaF4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(396003)(366004)(136003)(346002)(39860400002)(451199015)(8936002)(31686004)(5660300002)(83380400001)(4744005)(186003)(41300700001)(6512007)(26005)(2906002)(316002)(478600001)(6486002)(6506007)(53546011)(6916009)(54906003)(36756003)(86362001)(66946007)(66556008)(66476007)(31696002)(2616005)(38100700002)(4326008)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RHp1cTAvaG45TXNpZmJaRC92ZGdCS3hBald5SUh5djZYaVhNclNzc21UeUxs?=
 =?utf-8?B?WkM2S2o1bmRmWDcxbkg2M0M3WGU5bXNMNVI3U1RUVHJFVXNZMHpiSjA1enRL?=
 =?utf-8?B?empFRGFpSVVNT0VwdFFvbnBNNXlPT0U0RXE3eG5oSnlKR2s2YXA5MGYwdGhM?=
 =?utf-8?B?ZlVlYVVacVorS0xGWWlZc1ZMU2Z2SVNyRXJEQmQzSlpUdnUzVGNlRHo3d2Qx?=
 =?utf-8?B?Um5JMTRhM0tDVHZQblNjVUNkTFNRT0VJTWRTSlRTQjRVRGNZL2JGK2kwc3pD?=
 =?utf-8?B?K0hSZGFHTzcvSTYvZXJLUVpTcm15cXk1aE1QR3dYVERMMkljRjNhYm1hMlFi?=
 =?utf-8?B?M0pXT2FqcTRIRzlPOWNVR2VCRXNQQ3E0aTZ2M0xGalZFdmN0c0tNbHk3alpP?=
 =?utf-8?B?cUJCRWlOc0h3Y0N6amZoVm55Rndvc1FCaC9nUXh5VUd1WE1qNGt5ZFpjQWk2?=
 =?utf-8?B?OFdrek9NRkkyQ0FuWjVvWU1vM0NNK3podDlSdnNKMWwrV2ljZVlUNWxJaHJn?=
 =?utf-8?B?OWJXcDhGd0JibDMyanJaSEZ2dDNTQ1B1Z3J3Z2c1VjY1enZRZCtTVklXSEhZ?=
 =?utf-8?B?RXJWc3VYeG5KbUhWc2JtYU5ZOGdSZERWRjFUaUFPNDJwTVVBcG0rVVpxb2Q4?=
 =?utf-8?B?eXF0WDRBdWh5RnNNSFY3VjcrUE1TQjU5SnlaOXN2MHRFbnRUenkxZkJCZmV5?=
 =?utf-8?B?NFV2UDRKSzZNNHRmK1dLZ2VwL3p5N0ZSczlOaGc0c1RIMUIrdmhmL0t1T29S?=
 =?utf-8?B?MmdTcWlFMEpnRmQ0VHN3OXcwL3lvOEgwM2gyRlJrWEt4Q2tJYVVyUWhuY2Jx?=
 =?utf-8?B?YmhYb0tVMUdvWm9RRTZUa1hRWWtleWlTUnZzaTRkaFB3MXRFUms2Y2N1aDBQ?=
 =?utf-8?B?NTdVWkNaMFZQMVdlRmI3WDhNM0pjT3ZYdS9mUzNCLzhIR2RRMUo2cVZBK1Yy?=
 =?utf-8?B?eVZyZmpPVW9iZXBkcy80ZnNsNmgwZ1BXOTF4b1IvaWpxNWxNbTdId29wUlNy?=
 =?utf-8?B?RVJtNkVJL21RcEN5aWNoM25TUDNHN3JXQ1NVbjMwZmtiU2NtQStESjlxb0Zm?=
 =?utf-8?B?TmVka3YzN3ltT2R2YlNKYmc2YnFraWdlT0VGMmVEZElZZjFhZnUyYk0yM21Q?=
 =?utf-8?B?NUduR3BXL3JUcFB1dUxnb0pwbi8yc2wyNWVnWk9MSmQwSXNDRmdQTUp0SVBj?=
 =?utf-8?B?a0lwMkhvei9Xb1hDRmdZcG1wcjkvT0RWUmZiaCtjR2pNc0M2SDJpOFAwcDJT?=
 =?utf-8?B?STVmWXBzZy9SVkdTSmVWL2gyZWpwdFU1cXFUVmp2UzJvc0tHRzk5MVZKb2FG?=
 =?utf-8?B?M2dtNUN6WCs4MEhtYllHamhQYkh1a1RCQ3JpRml1SUdrVFRiQlN4ZFl1UFhT?=
 =?utf-8?B?Tk85UU9Ec1RxMW5UY04wZUNWdGl2WFArUTcwNVIySHZMT1NXczg4R05rM1Ax?=
 =?utf-8?B?L0MrNGRKQXVyazVWcnBpcG5KMXkxQXY2VTlqa0hMNTJveVhYRjBTVU0rb1c5?=
 =?utf-8?B?ZFRVMk0vM1Z5THJaM3dKeFYxQ0dkc2xmQ1FPMFJ3UENyV0JFcTBkblpIdmNF?=
 =?utf-8?B?YVhmVVo2V25PS1F5eHI4c1FDNmlhMzRGR1IyemFVaHpXb1FIZytYbGRjalNM?=
 =?utf-8?B?aFV0UHlBTDZpeUViM1dTQ0FMZkhaWi83ZVRNdjJpcTRqR2VwYmpXYnJmSXlN?=
 =?utf-8?B?T2kyMG1GVlhsS0lYaFhpbExpOVlSUTZRR2NjN3pwMWFkaGxUNml6OVlNakgw?=
 =?utf-8?B?Y2hSVlByaStUK1RqZTFBbzlWTThXblFERWlPd2dBYVZyRVZUSGVEZytmTWxz?=
 =?utf-8?B?OEtCcHZXOFBHdHV1T0dnQnROL2tiRmNqL0NJZkhLbDIrYUxDTS93SEVjRUR4?=
 =?utf-8?B?WmdUOXl5YitwYWN4YzRWR3prQjdLMUlYejVoSTNiek9rbCtveTFaZjBMQ2E4?=
 =?utf-8?B?czUxVWRGK1lrbmVtZWY5N0RNSUJCcEs5ZDlxdEl2NnpYY0hjU2NtQ043N1JG?=
 =?utf-8?B?M1h1cDYwb2dGQ3prVGlpZ1lKVkovUlNmWkM1bW1YS1ZBUGI2MmludHdFdjhp?=
 =?utf-8?B?NWgxMG05d0YvYjlpTDBSVUtVOHppYnJHRk9DTFBVb1o4K21uTlk1Z045Sm9G?=
 =?utf-8?Q?pKEOvstpQYMhpXMKmDMMFHrja?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c1382ba-4f35-4f5d-c3c7-08dae1971167
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2022 08:00:17.7014
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vellI4AmJVDYQ4QMUfWd50qRyOD3xl1CdqYcXTQywVp8U45RWxbbg6e1QMjNKTRsU+dttthcPY0FmfwOUyzLXg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7697

On 18.12.2022 22:47, Elliott Mitchell wrote:
> On Sun, Dec 18, 2022 at 01:14:07PM +0100, Neowutran wrote:
>> xen/x86: prevent overflow with high frequency TSCs
>>
>> Promote tsc_khz to a 64-bit type before multiplying by 1000 to avoid a
>> 'overflow before widen' bug.
>> Otherwise just above 4.294GHz the value will overflow.
>> Processors with clocks this high are now in production and require this to work
>> correctly.
>>
>> Signed-off-by: Neowutran <xen@neowutran.ovh>
> 
> Needing a bit of word-wrapping, but that can be adjusted during commit to
> the Xen tree.

Right - also the first line of the body really wants to be the title.
I'd be happy to make edits while committing, but as said in reply to
v1 I also would prefer to suffix the literal "1000" instead of adding
a cast. I'd also be happy to make that adjustment (including to the
description), but I'd prefer to do so with your agreement.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 08:01:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 08:01:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465880.724690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7B5I-0003FR-9D; Mon, 19 Dec 2022 08:01:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465880.724690; Mon, 19 Dec 2022 08:01:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7B5I-0003FK-4Y; Mon, 19 Dec 2022 08:01:16 +0000
Received: by outflank-mailman (input) for mailman id 465880;
 Mon, 19 Dec 2022 08:01:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7B5H-0003F8-IO; Mon, 19 Dec 2022 08:01:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7B5H-00006o-Dn; Mon, 19 Dec 2022 08:01:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7B5H-0000V4-0Y; Mon, 19 Dec 2022 08:01:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7B5G-0005Bu-WA; Mon, 19 Dec 2022 08:01:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LbOdmcN8kGDwvyOgVqmkYmFasCAcyeiV0FQ+7N9KB8E=; b=hTvEODoByqGX32OhJLQdbDD0sL
	JpWtXOPG9UNg57nZ8NwM3seb9kiVK/fW3jaEYrVoslSSYh+H1NZJ9/VSbLc/2Tg0NVcfV8UGT1YyQ
	4mh/iT1mgp1b40c15r3gAD2dOqeLAwr6198MYMqWOB9dfB02VW5vAwx7/tb3Dm0RQKRA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175399-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175399: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
X-Osstest-Versions-That:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 19 Dec 2022 08:01:14 +0000

flight 175399 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175399/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175383
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175383
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175383
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175383
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175383
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175383
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175383
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175383
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175383
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175383
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175383
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175383
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2
baseline version:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2

Last test of basis   175399  2022-12-19 01:53:26 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 08:31:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 08:31:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465893.724701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7BYG-0006ii-NM; Mon, 19 Dec 2022 08:31:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465893.724701; Mon, 19 Dec 2022 08:31:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7BYG-0006ib-K7; Mon, 19 Dec 2022 08:31:12 +0000
Received: by outflank-mailman (input) for mailman id 465893;
 Mon, 19 Dec 2022 08:31:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7BYG-0006iR-3b; Mon, 19 Dec 2022 08:31:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7BYF-0000lA-Vb; Mon, 19 Dec 2022 08:31:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7BYF-0001xK-OM; Mon, 19 Dec 2022 08:31:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7BYF-0008Q3-Nr; Mon, 19 Dec 2022 08:31:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JszBbz+HHD4tQyQfOnPfdVPUn7DUY60R/FTFKkPI4p4=; b=CfolPH2gvFE8xhU2L0WhCzyZvN
	QDOQ7WWkANHWj4sb3MjYXFPWAMyJX2S81LuAtc8dAUP01qsvg8Ticgogc+tYWc6g1l+rF5G5WH4LL
	o/ILqoH7nIqoGax7u5hNM7TVpSrHhsyRpuWEoflptR904UXLrdyLxmZrCxhcIB+X0Yd8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175400-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175400: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=4dd7b865565aea4d28bea1b8d57d62620f6015a9
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 19 Dec 2022 08:31:11 +0000

flight 175400 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175400/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 4dd7b865565aea4d28bea1b8d57d62620f6015a9
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    4 days
Failing since        175214  2022-12-14 18:42:16 Z    4 days   31 attempts
Testing same since   175384  2022-12-18 03:41:23 Z    1 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 573 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 08:56:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 08:56:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465903.724711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7BwT-0000nJ-L9; Mon, 19 Dec 2022 08:56:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465903.724711; Mon, 19 Dec 2022 08:56:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7BwT-0000nC-IV; Mon, 19 Dec 2022 08:56:13 +0000
Received: by outflank-mailman (input) for mailman id 465903;
 Mon, 19 Dec 2022 08:56:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=M8sX=4R=neowutran.ovh=xen@srs-se1.protection.inumbo.net>)
 id 1p7BwS-0000n6-9Y
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 08:56:12 +0000
Received: from neowutran.ovh (vps-eb112777.vps.ovh.net [51.83.40.211])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa612a8b-7f7a-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 09:56:08 +0100 (CET)
Received: from neowutran.ovh (82-65-208-184.subs.proxad.net [82.65.208.184])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384)
 (No client certificate requested)
 by neowutran.ovh (Postfix) with ESMTPSA id 7F58260BCE;
 Mon, 19 Dec 2022 08:56:08 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa612a8b-7f7a-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=neowutran.ovh;
	s=my-selector-name; t=1671440168;
	bh=ApYA0fwAovgiooHHpBkLqMfMdf306pviSglOzwi/5S8=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To;
	b=nyQC0DcazV4382XSfFrA0pn5GfjbTS0f0YzceoHHidMOL7TI2GavATK4QbbhnvqUo
	 Ma3tzLzjf5LKGHbmAXdJ4O6/wb1grSFWboD0/QtQ/oFIDphoVZucJ8DUcgO2LX018x
	 HMIxKV2mphvhWCLPPtGKp3VzefMS8yhWAZRrDFS4+VCMmCe0JZLL+HISUcjoQ0hkne
	 Iv42ZWn46vvTm5j/JIxsx8Ey1pMIxtuTIcZtkVlbIbIkBk0dMKT01rFRJ+thUW/U4t
	 aDqeHH0k6rzACojU+B90gyFeBX6np6sFXMU7Q5aH76v69A0ahS2qt0H3b+4VMzCWze
	 56QePyoIT6W00Z8GECr/hlaI97A3Wikhed+1uvw0nGA+/MTFD68TW1RziUIPWY1Lap
	 Nm9U58jOyrekf/ujqgSa+Mch/HuPCxM6jewAHWhD9pWZBAPEFjkeL8ZQXHaRVr0D8J
	 ZG4KUiwwqlkO9noBxnmybsLbSbXSPGFRIADhhcKlR80+gzLv2vdtPxQAP4ae9tTBxv
	 KDGHlmdlhc3OQB1RwTCxLqDbV6sCYHz6OL2lN+tF4h//bFNVYJT1gv3Qv3s49akC6k
	 tE6DBe+QFtPRTn4rALlmQkTpWgvzHW64SVZMJytDFX96vs/KSg31uIq3xsRHyqn/0D
	 /kIGC6GsQ9K475Iw3LevPmYo=
Date: Mon, 19 Dec 2022 09:55:54 +0100
From: Neowutran <xen@neowutran.ovh>
To: Jan Beulich <jbeulich@suse.com>
Cc: Neowutran <xen@neowutran.ovh>, xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Elliott Mitchell <ehem+xen@m5p.com>
Subject: Re: [PATCH v2] Bug fix - Integer overflow when cpu frequency > u32
 max value.
Message-ID: <20221219085554.rvp4a5xdc6visbqm@archlinux>
References: <d018f50f439c4d8dff8add022d28698a2af3c320.1671365645.git.xen@neowutran.ovh>
 <Y5+KgBxxmlYfq7e2@mattapan.m5p.com>
 <be1e0ba4-cd88-330a-aad4-2ffc14b075a6@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <be1e0ba4-cd88-330a-aad4-2ffc14b075a6@suse.com>

On 2022-12-19 09:12, Jan Beulich wrote:
> On 18.12.2022 22:47, Elliott Mitchell wrote:
> > On Sun, Dec 18, 2022 at 01:14:07PM +0100, Neowutran wrote:
> >> xen/x86: prevent overflow with high frequency TSCs
> >>
> >> Pr 
omote tsc_khz to a 64-bit type before multiplying by 1000 to avoid a
> >> 'overflow before widen' bug.
> >> Otherwise just above 4.294GHz the value will overflow.
> >> Processors with clocks this high are now in production and require this to work
> >> correctly.
> >>
> >> Signed-off-by: Neowutran <xen@neowutran.ovh>
> > 
> > Needing a bit of word-wrapping, but that can be adjusted during commit to
> > the Xen tree.
> 
> Right - also the first line of the body really wants to be the title.
> I'd be happy to make edits while committing, but as said in reply to
> v1 I also would prefer to suffix the literal "1000" instead of adding
> a cast. I'd also be happy to make that adjustment (including to the
> description), but I'd prefer to do so with your agreement.
> 
> Jan


No problem for me.
If you prefer I can also do a v3 later today. 

 


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 08:59:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 08:59:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465919.724724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7BzY-0001PP-4P; Mon, 19 Dec 2022 08:59:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465919.724724; Mon, 19 Dec 2022 08:59:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7BzY-0001PI-02; Mon, 19 Dec 2022 08:59:24 +0000
Received: by outflank-mailman (input) for mailman id 465919;
 Mon, 19 Dec 2022 08:59:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=nnJy=4R=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p7BzW-0001P7-HC
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 08:59:22 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2053.outbound.protection.outlook.com [40.107.93.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6ca048d9-7f7b-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 09:59:20 +0100 (CET)
Received: from MW2PR16CA0053.namprd16.prod.outlook.com (2603:10b6:907:1::30)
 by CH3PR12MB8257.namprd12.prod.outlook.com (2603:10b6:610:121::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec
 2022 08:59:17 +0000
Received: from CO1NAM11FT107.eop-nam11.prod.protection.outlook.com
 (2603:10b6:907:1:cafe::f1) by MW2PR16CA0053.outlook.office365.com
 (2603:10b6:907:1::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.20 via Frontend
 Transport; Mon, 19 Dec 2022 08:59:17 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT107.mail.protection.outlook.com (10.13.175.97) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5924.16 via Frontend Transport; Mon, 19 Dec 2022 08:59:16 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 19 Dec
 2022 02:59:15 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Mon, 19 Dec 2022 02:59:08 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ca048d9-7f7b-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FmrnXGuFdWJLoicjEVBTCcJ0oDA977J0Txr9KKN7TyEwSjRxeQJBximqapGq9ConMJWowUE9sMtx0Sx0xukfQTOr506OPEFA/x4DgzB1tbfPxGkxsyRp84/Je0iWBJ4qT86+GkhuldbM0XIJVSZEcL4aAUS8mcpcHXUT12a8ZNZahC71u2BEL4Wyl9juf7Nahw56yk61PA4X85Lzbt81ASz4MpmWqBOkmijZsQJIlrb55vJ1/cRjxMVM3tPy7ldoAieCyTWMGNxExI+p6mlMOgqTbsy3505HFiNfRjqTIpqjHXlNNA/nZIw7Rb/nKXa7nFlzokhWQQqIwHBmL0L2SA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PdF+NHUxK3hLr/G6yAsp1AVhb123r0pdbKXawuv6InA=;
 b=kuVJX5a3jNNvNN1jCIwpqyal+hUx4ocMCNarTJijU9QJd1jID0CjtRZlvdUM4inb/o+pIh+ZV29AF5UKB5unefJ5KNHG0gum30iZwmgL2GNzf0V8uytZkp19i5R4mUFOrS18/Ufkjq2gjs3fSPuYByME81aaU0fextjp6Vpm6/nog3rd845/a1fFOxKinpqQem2/aNtxMCeaJydU/eBABCoGwZV/uiV1q08nm3woE0c8mzmowqalfeklJGoOtcOWI/Agr0Ylm0D58joEeUkDk1cwiFUazvXd6AsyrxvtsbiceOW6P/O7h1RhqE0LHYKT/4Cg1QQGcktlN6Z3E+Cd7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PdF+NHUxK3hLr/G6yAsp1AVhb123r0pdbKXawuv6InA=;
 b=oMPDBcidqokJEFqq8PWDln8+khimz273KRcr1ODHdDLB+hFNmc+hel/jVELx68am/jlgXB6QB9VJQPduNdylPmqAKGh+C+jtDRPEM8X20ZTCg2it7pyK5TASs9CabMWFkQ86+HqMmZwOJSMiZVC/ld0Zn6Wi2lf/w1MXhE9yrew=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
From: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2] xen/arm: Allow to set grant table related limits for dom0less domUs
Date: Mon, 19 Dec 2022 09:59:08 +0100
Message-ID: <20221219085908.13479-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT107:EE_|CH3PR12MB8257:EE_
X-MS-Office365-Filtering-Correlation-Id: 3381f664-5094-44ee-eb63-08dae19f4f16
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JYgv8P24l+/JCMxWADnnHTGdW64XSbC8AfoQ/rWQ2/YkeiW+v9Z3Z7IBPvMNnBKrVJwXgOG52EKpFCvW9eJdCMCf/EUSvcrzTPh+RwdWxZez44mzmM+TsVfENukSeJZ7CNwdOomPH1DgRTxBZ3v7tXcvAnGIdcYbyeNLjbx0Sj0EEWm3OBi5c6233h1aifgK7OI+VYSJyBkC91Bm43LLE+7t13QfOznCu1bZphM9vHPl1PFdH4wzpT8tBr56wK8qkDqwCHwGhZSzq/pbSOY7jW98zN/ZRG3tFmJvuBre2BJWKSGRk3FB5bhabJXViMB4+h9hqpJlSn8C0oT+a5DitzMH+Y7k8Vhukf8cfi+LqDhfSUZkTR7ku5mgQ0huqDGaO1PK74vZCOChn3zhF/Z7GGlra1MndePHyn0sgGJUmTAwrTJWqvcGJTCVwGntQXyTsVBeWRgUJEIskCrLzRa2gFzylc+BgVsi2c1MJQeFuEChUccouztb1dmnY4bvOKNpKNEKbSxEkGlar9NqRSzCErK0LuStG/iJ/yz6TDgOLQbMjruro40wMMP+dbAoAi/81i/d0m9oLO53GXXv7GrTLkrHkayl743+TQgpCWWb9NDmgblwAbTyM3VU+QmmHz+3iZkmeYPp4VmmuRd+rbhjPDhRwl2o/jKKdGRgK+h/SG5U5nj9uSQUvqaxyUI1Uryc5JpDJwX1o3m1SFQty/3sv87uK+Y1tfyqjLgyrdCAgKt1IcrACgs/Z6zH9tb1ghr068dGmbXfWzBHVIQx5rEWeA==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(346002)(136003)(39860400002)(451199015)(36840700001)(40470700004)(46966006)(186003)(26005)(2616005)(336012)(41300700001)(1076003)(47076005)(426003)(70586007)(83380400001)(36860700001)(5660300002)(44832011)(40480700001)(86362001)(70206006)(8676002)(82310400005)(81166007)(6916009)(54906003)(36756003)(478600001)(356005)(40460700003)(4326008)(8936002)(82740400003)(2906002)(316002)(32563001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2022 08:59:16.7423
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3381f664-5094-44ee-eb63-08dae19f4f16
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT107.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8257

At the moment, for dom0less domUs, we do not have a way to specify
per domain grant table related limits (unlike when using xl), namely
max version, max number of grant frames, max number of maptrack frames.
This means that such domains always use the values specified by the Xen
command line parameters or their default values if unspecified.

In order to have more control over dom0less domUs, introduce the
following device-tree properties that can be set under domUs nodes:
 - max_grant_version to set the maximum grant table version the domain
   is allowed to use,
 - max_grant_frames to set the maximum number of grant frames the domain
   is allowed to have,
 - max_maptrack_frames to set the maximum number of grant maptrack frames
   the domain is allowed to have.

Update documentation accordingly.

Note that the values obtained from device tree are of type uint32_t,
whereas the d_cfg.max_{grant_frames,maptrack_frames} are of type int32_t.
Call panic in case of overflow. Other sanity checks are already there in
grant_table_init() resulting in panic in case of errors, therefore no
need to repeat them in create_domUs().

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v2:
 - call panic in case of int32_t overflow
---
 docs/misc/arm/device-tree/booting.txt | 21 +++++++++++++++++++++
 xen/arch/arm/domain_build.c           | 18 ++++++++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 87eaa3e25491..3879340b5e0a 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -223,6 +223,27 @@ with the following properties:
     the default size of domain P2M pool, i.e. 1MB per guest vCPU plus 4KB
     per MB of guest RAM plus 512KB for guest extended regions.
 
+- max_grant_version
+
+    Optional. A 32-bit integer specifying the maximum grant table version
+    the domain is allowed to use (valid values are 1 or 2). If this property
+    is missing, the value specified by Xen command line parameter gnttab=max-ver
+    (or its default value if unspecified, i.e. 1) is used.
+
+- max_grant_frames
+
+    Optional. A 32-bit integer specifying the maximum number of grant frames
+    the domain is allowed to have. If this property is missing, the value
+    specified by Xen command line parameter gnttab_max_frames (or its default
+    value if unspecified, i.e. 64) is used.
+
+- max_maptrack_frames
+
+    Optional. A 32-bit integer specifying the maximum number of grant maptrack
+    frames the domain is allowed to have. If this property is missing, the
+    value specified by Xen command line parameter gnttab_max_maptrack_frames
+    (or its default value if unspecified, i.e. 1024) is used.
+
 Under the "xen,domain" compatible node, one or more sub-nodes are present
 for the DomU kernel and ramdisk.
 
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index bef5e905a73c..829cea8de84f 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3872,6 +3872,7 @@ void __init create_domUs(void)
             .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
         };
         unsigned int flags = 0U;
+        uint32_t val;
 
         if ( !dt_device_is_compatible(node, "xen,domain") )
             continue;
@@ -3940,6 +3941,23 @@ void __init create_domUs(void)
             d_cfg.cpupool_id = pool_id;
         }
 
+        if ( dt_property_read_u32(node, "max_grant_version", &val) )
+            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
+
+        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
+        {
+            if ( val > INT32_MAX )
+                panic("max_grant_frames (%"PRIu32") overflow\n", val);
+            d_cfg.max_grant_frames = val;
+        }
+
+        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
+        {
+            if ( val > INT32_MAX )
+                panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
+            d_cfg.max_maptrack_frames = val;
+        }
+
         /*
          * The variable max_init_domid is initialized with zero, so here it's
          * very important to use the pre-increment operator to call
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 09:37:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 09:37:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465933.724733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7CaW-0005e8-1p; Mon, 19 Dec 2022 09:37:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465933.724733; Mon, 19 Dec 2022 09:37:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7CaV-0005e1-VS; Mon, 19 Dec 2022 09:37:35 +0000
Received: by outflank-mailman (input) for mailman id 465933;
 Mon, 19 Dec 2022 09:37:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kQjb=4R=citrix.com=prvs=345253497=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p7CaU-0005dt-Dz
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 09:37:34 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c09ac914-7f80-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 10:37:29 +0100 (CET)
Received: from mail-dm6nam11lp2173.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 19 Dec 2022 04:37:10 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 BY5PR03MB4968.namprd03.prod.outlook.com (2603:10b6:a03:1ed::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec
 2022 09:37:08 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::a77b:c822:a19b:ef23]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::a77b:c822:a19b:ef23%3]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022
 09:37:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c09ac914-7f80-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671442652;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=zUrxbQRu8xi4bZH+EYtKrxfnZJckc1/W43AOesxT4aU=;
  b=aU3YCtCOSDxtKdvINsZkj6X/J+/yfjDIzZrcXYwAUjH+6SjQGIo1/yMg
   1nVvrklSbW2wY7nO9IbKMiornNitcH92wOv/or7Sr7arRaVke5iWvTjQS
   Aj6xBaambb0D0dsBcfZoLMHhbH+PWs8iZhSlro6lo8XkmuOjO2HbUKBxf
   8=;
X-IronPort-RemoteIP: 104.47.57.173
X-IronPort-MID: 88012182
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:m4U+0aIRPGuyTJq0FE+R85QlxSXFcZb7ZxGr2PjKsXjdYENS0mMFm
 2dNCzrSOfmKZjP3KdlzOozi/U8D68CEydNnTQtlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5AVvPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c59HSZy0
 +c4KQkma064irPq47KGENFz05FLwMnDZOvzu1lG5BSAVLMKZM6GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dopTGMl2Sd05C0WDbRUteKX8ROgkeRo
 CTC/mL1Ax4yP92D0zuVtHmrg4cjmAurCNpLTuTorJaGhnW/4lQ0OjYrXmep/9/+0RaaeOx7N
 Gwbr39GQa8asRbDosPGdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QOuMYoSBQw2
 1SOntevAiZg2JWKTVqN+7HSqim9URX5NkcHbC4ACAcAvd/qpdhqigqVF4k4VqmoktfyBDf8h
 SiQqzQzjKkSishN0Lin+VfAgHSnoZ2hohMJ2zg7l1mNtmtRDLNJraT0gbQHxZ6s9Lqkc2Q=
IronPort-HdrOrdr: A9a23:s24ggKq2yvq+GN0VeVkrzC0aV5v5L9V00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssRAb6La90cy7LU80mqQFhbX5UY3SPjUO21HYT72Kj7GSugEIcheWnoEytZ
 uIG5IOcOEYZmIK6voSjjPIdurI9OP3i5xAyN2uvEtFfEVPUeVN/g15AgGUHglfQxRHP4MwEN
 656tBcrzStVHwLZoDjb0N1KtTrlpnurtbLcBQGDxko5E2nii6p0qfzF1y90g0FWz1C7L8++S
 zukhD/5I+kr/anoyWspVP73tBzop/M29FDDMuDhow8LSjtsB+hYMBbV7iLrFkO0Z+SAAJBqr
 jxiiZlG/42x2Laf2mzrxeo8RLnyiwS53jrzkLdqWf/oOTiLQhKQfZptMZ8SF/0+kAgtNZz3O
 ZgxGSCradaChvGgWDU+8XIbRd3jUC5yEBS2tL7t0YvHLf2VYUh5LD3vXklZqvoJRiKn7zPxd
 MeRP01555tACynhj7izyVSKeeXLwgO9ye9MzU/U/OuokJrdVBCvjolLZ8k7wc9HdQGOu1529
 g=
X-IronPort-AV: E=Sophos;i="5.96,255,1665460800"; 
   d="scan'208";a="88012182"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mOUdziiJPLWVy5S5vPA8wpuDINnsoBuKed0xF2Gx4h2vpEjRq0S2z5yb67W69dXykSBh6A89C3WJWSEKpreXLL+nSgwa9H9bwSQyvgY9N+0Z/o8UWvCKTPjdiWKkiKhW+XBcbctleblK77sQJ4yiKXMw7Q4fFPjM/3MJIEyxIxihbKSPJOqMLKwL01AjtK9rv13RG1LJg7LqhPuGd+aT4YZ1Ep6LrerV8EaxrJlvBakKD+DUqO64VFA4uChap3r25uWqzVDSkC/jQ1jdaTHdsPq/3gTPc1DbiE7uuLj+BbMrOsSNuI0WwDk9PM2Wl1w78fCm2TgKut8M0l+9Xaz5bw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zUrxbQRu8xi4bZH+EYtKrxfnZJckc1/W43AOesxT4aU=;
 b=IzJ4BtM0tkVlLgx7MAn5UvBAgv35+3S3EBffWM9cwBTPgsj8OgBPSaGGdM4SGHr7dzQaMez+jkANSwV6jrXMZNAq02Fw7qBRMBN614E7g8NFtCE9S7kDOU2yUbWJ8Ng0Kh7PtdBCnibdpChlO1v8S67R8TEoYt4mKvmT9lI07oEXj7uQErTdm3Cxs81KEYlrMjf5+MHDFq2lVnkuK6aVOivji+v6YzWRi7whZf1gXjrMMfNc4bmJzT3hrur/D4jT+xNhaBjGHM5HqsCLR4QPSolsrYRle4APcGAQ8XNzaQTA+we0fXZsDDf3xGQ/hC18pFTq45UbHQ69hCQSu5zkmw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zUrxbQRu8xi4bZH+EYtKrxfnZJckc1/W43AOesxT4aU=;
 b=pk+XqPDgaE6jPrQxCcQiUAJVB73erfF2Vjl+WzLFyQJKdop1MrLh/7K4XZHiP5WReVfoCNj1+Aq8hdEeNOvwDGjPOx+nRarBDtcbNoktBBOSs+u4RaFg3yqyAxX1K7EhhJoULlEFLOUzETcXdPBz1bDjkPZoUoDo/6lExoqYHAw=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>
Subject: Re: [PATCH v4 10/11] tools/ocaml/xenstored: validate config file
 before live update
Thread-Topic: [PATCH v4 10/11] tools/ocaml/xenstored: validate config file
 before live update
Thread-Index: AQHZEXvyCby50r0CD0WQ9S77gzQLM6509/OA
Date: Mon, 19 Dec 2022 09:37:08 +0000
Message-ID: <421BC7DB-EA22-4EB2-883A-21E136367820@citrix.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
 <a9414ef542c7c5c7f1423efdf1a117431ae569b6.1671214525.git.edwin.torok@cloud.com>
In-Reply-To:
 <a9414ef542c7c5c7f1423efdf1a117431ae569b6.1671214525.git.edwin.torok@cloud.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|BY5PR03MB4968:EE_
x-ms-office365-filtering-correlation-id: b28598c7-72d8-4d52-70f5-08dae1a49916
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 b6jVvxa8JuSsjiezk3Yf8xR7qi8LYemN8VU5egENtyYBTihtWwqymrFxfjtz7tkypgsL0DXPDBk2gLh4YmkLdy+GhoZ4ISi2OeRkmHA/k8XCDizHkIagpZNJLfJM7APb1ljUpZAvkDq6pHpqp+niuLlXRJfX/zHhHm4JrI55XCKYGq4S8pBVA7TtXomT8E/rRNcRAwqVXa+szfpn6WVwUMr0ayFjetFjGqPtV/HFV+br24xI98RpkPHNLZKVBZGYoNrp/KAVcivYO1iKsdc1Hv/cP64vDCvg5kORzoqXG/IkvDB3kh4K8+4B+teuiqpGxBXvp5nB87dckQt7WooNf2HewY4F9V99SoZZqU5V25f5e7wBHOB3ygOngvM1W8SmRKvId+AD0hPs23afOtAC4ZxZG9xyL9qK2joMGyFIhN+W/Z7rUcC73CSk8OW3v67Osiisc6BQA5ympmtUbSKtqvdSSp582D4yy5d9cjm1e/ub0vIC6MsmfaDkq8jg2f61J1ZfOjV/MBnD7K4Ji6QfUaA+Ck3CQJFh//1M2Z4lC94S4bSXJ+nrzQOymkO7hyPsnJALcIoDiVGyraTY02PUUd8OCbxrHsjLiZ8p788ZIuFSXeQIBkIJM3lgJaCTn0OMeRZogDGDj9HpfhR+Vfi5Pu8fuJyVthyYK5c9zLSzieqH51yKwOCKNBFhPNg3s1K/8rGc4GCfLjkjrVLhPypBNe93JGU8uCvHdg3x4YfR7jGO2beWK45qs5CMpPiXbNGR
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(136003)(376002)(346002)(39860400002)(451199015)(38100700002)(82960400001)(41300700001)(6862004)(8936002)(122000001)(64756008)(5660300002)(91956017)(76116006)(66946007)(66476007)(66446008)(66556008)(4326008)(8676002)(15650500001)(316002)(478600001)(53546011)(83380400001)(6486002)(36756003)(6636002)(37006003)(54906003)(66574015)(44832011)(2906002)(38070700005)(33656002)(186003)(26005)(71200400001)(6512007)(107886003)(966005)(6506007)(86362001)(2616005)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dTNVdDZ0WXVhblhaOTJFb3hpamp1S05sdXlDM1RDeGg0K2x5LzBNWFR0ak0z?=
 =?utf-8?B?WWFxVDM3QSszdTVXL3hVbWlXcUdodTZpb2l4MmZjNXJ1QU95cUc1dnRuSVhu?=
 =?utf-8?B?a241V0xDcGFzNU40WHEzNitUS1BXRDdUVzJ1OUtOZ0VHZjFrQ0lYVnYyU0M4?=
 =?utf-8?B?WkFrV0NmNktUZFVjOWlNUExZYjNMNmJ6QmNCZmJjOEd5S2Fhc1BQcVBOSlcv?=
 =?utf-8?B?YVJJNVlIUWpRQTFYVSszYTdBN2tVV0xSSTYvS0ZZWm42Q00xU0lLb2hkaFdo?=
 =?utf-8?B?RkdMN2ZvU0d5Q0cvcWZxSHloWktZV1Jpb2xwbmNXakU0ejlZRnpaS0dXN0x0?=
 =?utf-8?B?Q1pRT3BvdGJIWkswS29TNmFjSUlnUjcrRk1PVHVMUDY5SEcvaE0wd2VHSG0w?=
 =?utf-8?B?YXlIVzdBbk96bVlhL2NWRU85b0tEM3hqbitFS05oYXBURGFrYVBiSnJHbTlw?=
 =?utf-8?B?c1Yxdjl3M3NKeCtqQ3VRT2NqcXlXTmpFUVBhT3M2M3hFTW1EV2gvZDJoNzVt?=
 =?utf-8?B?V0MxQTVhUGhxR0ZDb3lxREprM29QeDFxY0p6OFNLWDlBemhIaUlhb3cwMDQ4?=
 =?utf-8?B?dENsdU81RVJ6ZUVCVGQyVzYvaExNNFpROXF0aHQybDZzVGhMTXE1NHhZeUpV?=
 =?utf-8?B?N08yZ1dEK1oyanpyR1ZIUk43S3lyYzNvUXRjeFB1K1Y4RzN0YkZYYkUyRXBp?=
 =?utf-8?B?OEhvQzRlOWhIN1NjWEtjaXdpSzhialU2QVFOd3lOV2xTUlFQQ2JhTExmOVh2?=
 =?utf-8?B?QjRNam5EN2VyMFNtVkd5aDZnME5NekY0QVYrc3ZyVSt6Q1gzQ3R5TWpYR1g1?=
 =?utf-8?B?V1lDU2JOZVVSUWorNXB1WDZHcHBkWXpDb0FiMmZiVEZFR2E3clpYcFUyWmRh?=
 =?utf-8?B?Uk0wSVJHTGJhRGZkNlZIV2UzTitXQ0lHcGhnMzlUM1FRejE3TXozWmNtbi90?=
 =?utf-8?B?cDg4MUZZYlduRXJoY05XMEp4SDhMSURkOGJ4VjI1eUJIM0xWSVFPRzNKeVVS?=
 =?utf-8?B?NXdnTEhVbkowNlRadUNzT2tuN25HcW53VEVtT1RsVUo5OS9IRHNpQWRRdFhJ?=
 =?utf-8?B?VWFCZDF6VTBVUHQ1NVV2eWRHNzVYR0doRjNxbXMzcStVZmxnYWZka2IxbThW?=
 =?utf-8?B?WTRLZVhTeVNsMUNNb3V1ZUhPWDROOGhJRzg2T1c3b0FDWlV5U2htdlFhWXo5?=
 =?utf-8?B?aVRhdmFUeVlsT2E2THp1Z1pFMzhXZUZEc0p6K2VLMWYxaVRvaUQ1YkVWVXRr?=
 =?utf-8?B?TVpCNVVsdkYvZ0xRZDRzOS9EdlhqSDRVcHNXZ09qL21Jczl5RkwzeGpnVC9k?=
 =?utf-8?B?UWRBRDk1cW11WEw4ZkdpTHB6ajd0NHE2aWJvWVVHb1JSaSs5dENaWmoxTXhj?=
 =?utf-8?B?eVZ3RmFzYTUrQ0M4NlFpVDZ1K0tEMXo3T04rdE9jNHVKZEx6cFZmelliNEFJ?=
 =?utf-8?B?WVVMSTF0VmsraUZOdmxTcWNVSGltaHF1emZkcWRtblovTGRyM2lYck1qM0RL?=
 =?utf-8?B?QlF3NE16bHRhT1J4cHNGazNsdHJ5TVlUejhIK3JFUGxJRmFiNVNuN3I2UEU5?=
 =?utf-8?B?MFFKZGdVcHJLa0gwY3pPWlp6RFJxblR0R2xqVHpaYzlCTldHWDhEMmZrSzZG?=
 =?utf-8?B?Y3ZNUFo2aTYvZ3ZYYkc3SFlyS0JjeEFTNFFwdkhQbllOTU9zYjFEV1dOWWoy?=
 =?utf-8?B?dE1xaVN6MWRVWDE1QWh3anJTTkNJUUIwcnl0Rnk0bXVlV08zYzdSWStURjhk?=
 =?utf-8?B?a2JSSUFzMUJDTFVlcVJLTWdGUVlzVFFPdllUQmlueUx4ZzlUN2dqNGIzUm5m?=
 =?utf-8?B?Q2J3N0xacHh4dEtnd1pwQk13b0pqRTZkU1RObFpUUUd5QnB1VEhJdWhFcENH?=
 =?utf-8?B?dnVqN2g4VGhKMmNqVVFOcnlvT0RDbkRsUkR0U1dUbkJNYUxiSENOTDdYaGN2?=
 =?utf-8?B?dU5VR2o3L3NHSXlWZlowOVBtcy9KQ0NrV2lRM2JFRTVGWjNINDBhOUxTTjI2?=
 =?utf-8?B?NE15ZVpJMlpVdEFQdUNieEh5RlVDUkFwa0hXRDVhRG1ZcnRUOFVDdDhCY29F?=
 =?utf-8?B?aFdkcXRqRFpJVmMwTTZIZm91RThVcU5nK3g3RVNad0FtRURXbTN3SDEvNnJ0?=
 =?utf-8?B?Y1Ywd3JIT1lrM05DUTkzb0FzVHhXMHVVUzBTVXUyMmZFSGJRZWdrdjdoY0VJ?=
 =?utf-8?B?VEE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F8E308241EA28F4B8904E1EFD0FECDEC@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b28598c7-72d8-4d52-70f5-08dae1a49916
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Dec 2022 09:37:08.5304
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: oLen/xYF5jbOh72o6ZgNWaAmoo068MusT7dMHaBsB1GVJAT8QfbJew8ZDgQsT3CE5qmyht5AngqfJTI52nDY+IO9R8SruCVQxNLxDF+v8mk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB4968

DQoNCj4gT24gMTYgRGVjIDIwMjIsIGF0IDE4OjI1LCBFZHdpbiBUw7Zyw7ZrIDxlZHZpbi50b3Jv
a0BjaXRyaXguY29tPiB3cm90ZToNCj4gDQo+IFRoZSBjb25maWd1cmF0aW9uIGZpbGUgY2FuIGNv
bnRhaW4gdHlwb3Mgb3IgdmFyaW91cyBlcnJvcnMgdGhhdCBjb3VsZCBwcmV2ZW50DQo+IGxpdmUg
dXBkYXRlIGZyb20gc3VjY2VlZGluZyAoZS5nLiBhIGZsYWcgb25seSB2YWxpZCBvbiBhIGRpZmZl
cmVudCB2ZXJzaW9uKS4NCj4gVW5rbm93biBlbnRyaWVzIGluIHRoZSBjb25maWcgZmlsZSB3b3Vs
ZCBiZSBpZ25vcmVkIG9uIHN0YXJ0dXAgbm9ybWFsbHksDQo+IGFkZCBhIHN0cmljdCAtLWNvbmZp
Zy10ZXN0IHRoYXQgbGl2ZS11cGRhdGUgY2FuIHVzZSB0byBjaGVjayB0aGF0IHRoZSBjb25maWcg
ZmlsZQ0KPiBpcyB2YWxpZCAqZm9yIHRoZSBuZXcgYmluYXJ5Ki4NCg0KSXMgdGhlIGNvbmZpZ3Vy
YXRpb24gdGVzdGVkLCBjaGVja2VkLCBvciB2YWxpZGF0ZWQ/IElmIGZlZWwg4oCcY2hlY2siIG9y
IOKAnHZhbGlkYXRlIiB3b3VsZCBjb252ZXkgYmV0dGVyIHdoYXQgaXMgaGFwcGVuaW5nLg0KDQoN
Cj4gRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBydW5uaW5nIG9sZCBjb2RlIGR1cmluZyBsaXZlIHVw
ZGF0ZSByZWNvZ25pemUNCj4gLS1saXZlIC0taGVscCBhcyBhbiBlcXVpdmFsZW50IHRvIC0tY29u
ZmlnLXRlc3QuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBFZHdpbiBUw7Zyw7ZrIDxlZHZpbi50b3Jv
a0BjaXRyaXguY29tDQoNCkFja2VkLWJ5OiBDaHJpc3RpYW4gTGluZGlnIDxjaHJpc3RpYW4ubGlu
ZGlnQGNpdHJpeC5jb20+DQoNCg0KPiA+DQo+IC0tLQ0KPiBDaGFuZ2VzIHNpbmNlIHYyOg0KPiAq
IHJlcG9zdCBvZiBsb3N0IHBhdGNoIGZyb20gMjAyMTogaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVs
Lm9yZy9wcm9qZWN0L3hlbi1kZXZlbC9wYXRjaC9hNTM5MzRkZmE4ZWY5ODRiZmZhODU4Y2M1NzNj
YzdhNjQ0NWJiZGMwLjE2MjA3NTU5NDIuZ2l0LmVkdmluLnRvcm9rQGNpdHJpeC5jb20vDQo+IC0t
LQ0KPiB0b29scy9vY2FtbC94ZW5zdG9yZWQvcGFyc2VfYXJnLm1sIHwgMjYgKysrKysrKysrKysr
KysrKysrKysrKysrKysNCj4gdG9vbHMvb2NhbWwveGVuc3RvcmVkL3hlbnN0b3JlZC5tbCB8IDEx
ICsrKysrKysrKy0tDQo+IDIgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMiBkZWxl
dGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS90b29scy9vY2FtbC94ZW5zdG9yZWQvcGFyc2Vf
YXJnLm1sIGIvdG9vbHMvb2NhbWwveGVuc3RvcmVkL3BhcnNlX2FyZy5tbA0KPiBpbmRleCAxYTg1
YjE0ZWY1Li5iMTU5YjkxZjAwIDEwMDY0NA0KPiAtLS0gYS90b29scy9vY2FtbC94ZW5zdG9yZWQv
cGFyc2VfYXJnLm1sDQo+ICsrKyBiL3Rvb2xzL29jYW1sL3hlbnN0b3JlZC9wYXJzZV9hcmcubWwN
Cj4gQEAgLTI2LDggKzI2LDE0IEBAIHR5cGUgY29uZmlnID0NCj4gICAgIHJlc3RhcnQ6IGJvb2w7
DQo+ICAgICBsaXZlX3JlbG9hZDogYm9vbDsNCj4gICAgIGRpc2FibGVfc29ja2V0OiBib29sOw0K
PiArICAgIGNvbmZpZ190ZXN0OiBib29sOw0KPiAgIH0NCj4gDQo+ICtsZXQgZ2V0X2NvbmZpZ19m
aWxlbmFtZSBjb25maWdfZmlsZSA9DQo+ICsgIG1hdGNoIGNvbmZpZ19maWxlIHdpdGgNCj4gKyAg
fCBTb21lIG5hbWUgLT4gbmFtZQ0KPiArICB8IE5vbmUgICAgICAtPiBEZWZpbmUuZGVmYXVsdF9j
b25maWdfZGlyIF4gIi9veGVuc3RvcmVkLmNvbmYiDQoNCknigJlkIHVzZSBGaWxlbmFtZS5jb25j
YXQuDQoNCj4gKw0KPiBsZXQgZG9fYXJndiA9DQo+ICAgbGV0IHBpZGZpbGUgPSByZWYgIiIgYW5k
IHRyYWNlZmlsZSA9IHJlZiAiIiAoKiBvbGQgeGVuc3RvcmVkIGNvbXBhdGliaWxpdHkgKikNCj4g
ICBhbmQgZG9tYWluX2luaXQgPSByZWYgdHJ1ZQ0KPiBAQCAtMzgsNiArNDQsOCBAQCBsZXQgZG9f
YXJndiA9DQo+ICAgYW5kIHJlc3RhcnQgPSByZWYgZmFsc2UNCj4gICBhbmQgbGl2ZV9yZWxvYWQg
PSByZWYgZmFsc2UNCj4gICBhbmQgZGlzYWJsZV9zb2NrZXQgPSByZWYgZmFsc2UNCj4gKyAgYW5k
IGNvbmZpZ190ZXN0ID0gcmVmIGZhbHNlDQo+ICsgIGFuZCBoZWxwID0gcmVmIGZhbHNlDQo+ICAg
aW4NCj4gDQo+ICAgbGV0IHNwZWNsaXN0ID0NCj4gQEAgLTU1LDEwICs2MywyNyBAQCBsZXQgZG9f
YXJndiA9DQo+ICAgICAgICgiLVQiLCBBcmcuU2V0X3N0cmluZyB0cmFjZWZpbGUsICIiKTsgKCog
Zm9yIGNvbXBhdGliaWxpdHkgKikNCj4gICAgICAgKCItLXJlc3RhcnQiLCBBcmcuU2V0IHJlc3Rh
cnQsICJSZWFkIGRhdGFiYXNlIG9uIHN0YXJ0aW5nIik7DQo+ICAgICAgICgiLS1saXZlIiwgQXJn
LlNldCBsaXZlX3JlbG9hZCwgIlJlYWQgbGl2ZSBkdW1wIG9uIHN0YXJ0dXAiKTsNCj4gKyAgICAg
ICgiLS1jb25maWctdGVzdCIsIEFyZy5TZXQgY29uZmlnX3Rlc3QsICJUZXN0IHZhbGlkaXR5IG9m
IGNvbmZpZyBmaWxlIik7DQoNCkkgc2VlIHRoZSBsb2dpYyBob3cgdGhpcyBmbGFnIHdhcyBuYW1l
ZCBidXQgZmVlbCBzdGFydGluZyB3aXRoIGEgdmVyYiAo4oCcdmFsaWRhdGXigJ0sIOKAnGNoZWNr
4oCdLCDigJx0ZXN04oCdKSBsZWFkcyB0byBhIGNsZWFyZXIgaW52b2NhdGlvbiBwYXR0ZXJuLg0K
DQo+ICAgICAgICgiLS1kaXNhYmxlLXNvY2tldCIsIEFyZy5Vbml0IChmdW4gKCkgLT4gZGlzYWJs
ZV9zb2NrZXQgOj0gdHJ1ZSksICJEaXNhYmxlIHNvY2tldCIpOw0KPiArICAgICAgKCItLWhlbHAi
LCBBcmcuU2V0IGhlbHAsICJEaXNwbGF5IHRoaXMgbGlzdCBvZiBvcHRpb25zIikNCj4gICAgIF0g
aW4NCj4gICBsZXQgdXNhZ2VfbXNnID0gInVzYWdlIDogeGVuc3RvcmVkIFstLWNvbmZpZy1maWxl
IDxmaWxlbmFtZT5dIFstLW5vLWRvbWFpbi1pbml0XSBbLS1oZWxwXSBbLS1uby1mb3JrXSBbLS1y
ZXJhaXNlLXRvcC1sZXZlbF0gWy0tcmVzdGFydF0gWy0tZGlzYWJsZS1zb2NrZXRdIiBpbg0KPiAg
IEFyZy5wYXJzZSBzcGVjbGlzdCAoZnVuIF8gLT4gKCkpIHVzYWdlX21zZzsNCj4gKyAgbGV0ICgp
ID0NCj4gKyAgICBpZiAhaGVscCB0aGVuIGJlZ2luDQo+ICsgICAgICBpZiAhbGl2ZV9yZWxvYWQg
dGhlbg0KPiArICAgICAgICAoKg0KPiArICAgICAgICAgIFRyYW5zZm9ybSAtLWxpdmUgLS1oZWxw
IGludG8gLS1jb25maWctdGVzdCBmb3IgYmFja3dhcmQgY29tcGF0IHdpdGgNCj4gKyAgICAgICAg
ICBydW5uaW5nIGNvZGUgZHVyaW5nIGxpdmUgdXBkYXRlLg0KPiArICAgICAgICAgIENhbGxlciB3
aWxsIHZhbGlkYXRlIGNvbmZpZyBhbmQgZXhpdA0KPiArICAgICAgICAqKQ0KPiArICAgICAgICBj
b25maWdfdGVzdCA6PSB0cnVlDQo+ICsgICAgICBlbHNlIGJlZ2luDQo+ICsgICAgICAgIEFyZy51
c2FnZV9zdHJpbmcgc3BlY2xpc3QgdXNhZ2VfbXNnIHw+IHByaW50X2VuZGxpbmU7DQo+ICsgICAg
ICAgIGV4aXQgMA0KPiArICAgICAgZW5kDQo+ICsgICAgZW5kDQo+ICsgIGluDQo+ICAgew0KPiAg
ICAgZG9tYWluX2luaXQgPSAhZG9tYWluX2luaXQ7DQo+ICAgICBhY3RpdmF0ZV9hY2Nlc3NfbG9n
ID0gIWFjdGl2YXRlX2FjY2Vzc19sb2c7DQo+IEBAIC03MCw0ICs5NSw1IEBAIGxldCBkb19hcmd2
ID0NCj4gICAgIHJlc3RhcnQgPSAhcmVzdGFydDsNCj4gICAgIGxpdmVfcmVsb2FkID0gIWxpdmVf
cmVsb2FkOw0KPiAgICAgZGlzYWJsZV9zb2NrZXQgPSAhZGlzYWJsZV9zb2NrZXQ7DQo+ICsgICAg
Y29uZmlnX3Rlc3QgPSAhY29uZmlnX3Rlc3Q7DQo+ICAgfQ0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMv
b2NhbWwveGVuc3RvcmVkL3hlbnN0b3JlZC5tbCBiL3Rvb2xzL29jYW1sL3hlbnN0b3JlZC94ZW5z
dG9yZWQubWwNCj4gaW5kZXggMzY2NDM3YjM5Ni4uMWFhYTNlOTk1ZSAxMDA2NDQNCj4gLS0tIGEv
dG9vbHMvb2NhbWwveGVuc3RvcmVkL3hlbnN0b3JlZC5tbA0KPiArKysgYi90b29scy9vY2FtbC94
ZW5zdG9yZWQveGVuc3RvcmVkLm1sDQo+IEBAIC04OCw3ICs4OCw3IEBAIGxldCBkZWZhdWx0X3Bp
ZGZpbGUgPSBQYXRocy54ZW5fcnVuX2RpciBeICIveGVuc3RvcmVkLnBpZCINCj4gDQo+IGxldCBy
aW5nX3NjYW5faW50ZXJ2YWwgPSByZWYgMjANCj4gDQo+IC1sZXQgcGFyc2VfY29uZmlnIGZpbGVu
YW1lID0NCj4gK2xldCBwYXJzZV9jb25maWcgPyhzdHJpY3Q9ZmFsc2UpIGZpbGVuYW1lID0NCj4g
ICBsZXQgcGlkZmlsZSA9IHJlZiBkZWZhdWx0X3BpZGZpbGUgaW4NCj4gICBsZXQgb3B0aW9ucyA9
IFsNCj4gICAgICgibWVyZ2UtYWN0aXZhdGUiLCBDb25maWcuU2V0X2Jvb2wgVHJhbnNhY3Rpb24u
ZG9fY29hbGVzY2UpOw0KPiBAQCAtMTI5LDExICsxMjksMTIgQEAgbGV0IHBhcnNlX2NvbmZpZyBm
aWxlbmFtZSA9DQo+ICAgICAoInhlbnN0b3JlZC1wb3J0IiwgQ29uZmlnLlNldF9zdHJpbmcgRG9t
YWlucy54ZW5zdG9yZWRfcG9ydCk7IF0gaW4NCj4gICBiZWdpbiB0cnkgQ29uZmlnLnJlYWQgZmls
ZW5hbWUgb3B0aW9ucyAoZnVuIF8gXyAtPiByYWlzZSBOb3RfZm91bmQpDQo+ICAgICB3aXRoDQo+
IC0gICAgfCBDb25maWcuRXJyb3IgZXJyIC0+IExpc3QuaXRlciAoZnVuIChrLCBlKSAtPg0KPiAr
ICAgIHwgQ29uZmlnLkVycm9yIGVyciBhcyBlIC0+IExpc3QuaXRlciAoZnVuIChrLCBlKSAtPg0K
PiAgICAgICAgIG1hdGNoIGUgd2l0aA0KPiAgICAgICAgIHwgInVua25vd24ga2V5IiAtPiBlcHJp
bnRmICJjb25maWc6IHVua25vd24ga2V5ICVzXG4iIGsNCj4gICAgICAgICB8IF8gICAgICAgICAg
ICAgLT4gZXByaW50ZiAiY29uZmlnOiAlczogJXNcbiIgayBlDQo+ICAgICAgICkgZXJyOw0KPiAr
ICAgICAgaWYgc3RyaWN0IHRoZW4gcmFpc2UgZQ0KPiAgICAgfCBTeXNfZXJyb3IgbSAtPiBlcHJp
bnRmICJlcnJvcjogY29uZmlnOiAlc1xuIiBtOw0KPiAgIGVuZDsNCj4gICAhcGlkZmlsZQ0KPiBA
QCAtMzU4LDYgKzM1OSwxMiBAQCBsZXQgdHdlYWtfZ2MgKCkgPQ0KPiBsZXQgKCkgPQ0KPiAgIFBy
aW50ZXhjLnNldF91bmNhdWdodF9leGNlcHRpb25faGFuZGxlciBMb2dnaW5nLmZhbGxiYWNrX2V4
Y2VwdGlvbl9oYW5kbGVyOw0KPiAgIGxldCBjZiA9IGRvX2FyZ3YgaW4NCj4gKyAgaWYgY2YuY29u
ZmlnX3Rlc3QgdGhlbiBiZWdpbg0KPiArICAgIGxldCBwYXRoID0gY29uZmlnX2ZpbGVuYW1lIGNm
IGluDQo+ICsgICAgbGV0IF9waWRmaWxlOnN0cmluZyA9IHBhcnNlX2NvbmZpZyB+c3RyaWN0OnRy
dWUgcGF0aCBpbg0KPiArICAgIFByaW50Zi5wcmludGYgIkNvbmZpZ3VyYXRpb24gdmFsaWQgYXQg
JXNcbiUhIiBwYXRoOw0KPiArICAgIGV4aXQgMA0KPiArICBlbmQ7DQo+ICAgbGV0IHBpZGZpbGUg
PQ0KPiAgICAgaWYgU3lzLmZpbGVfZXhpc3RzIChjb25maWdfZmlsZW5hbWUgY2YpIHRoZW4NCj4g
ICAgICAgcGFyc2VfY29uZmlnIChjb25maWdfZmlsZW5hbWUgY2YpDQo+IC0tIA0KPiAyLjM0LjEN
Cj4gDQoNCg==


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 09:56:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 09:56:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465944.724744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7CsL-00087e-Mc; Mon, 19 Dec 2022 09:56:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465944.724744; Mon, 19 Dec 2022 09:56:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7CsL-00087X-Jg; Mon, 19 Dec 2022 09:56:01 +0000
Received: by outflank-mailman (input) for mailman id 465944;
 Mon, 19 Dec 2022 09:56:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kQjb=4R=citrix.com=prvs=345253497=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p7CsL-00087R-3S
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 09:56:01 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54743cae-7f83-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 10:55:56 +0100 (CET)
Received: from mail-dm6nam12lp2172.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 19 Dec 2022 04:55:43 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 PH0PR03MB7142.namprd03.prod.outlook.com (2603:10b6:510:298::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec
 2022 09:55:41 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::a77b:c822:a19b:ef23]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::a77b:c822:a19b:ef23%3]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022
 09:55:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54743cae-7f83-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671443759;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=DmlMZ+S8eBnIosfsYwNP+JbjxyIZJH/PcXWOIm+++2U=;
  b=NS0qwlcXM2TJ/kcXsW/KODwnXWsNSjLYdn5va1Xgf+UdH1WwGeMSAqG8
   XIpZV4NxEkokEyb8B6Oy++i2eRoArowIYXcHGT+nDXk7uhTKzWdYxxRap
   img8nXRUGaEvkrMR+9CaqWj/dSKd6eNrBivoI46653kKgHhqU+YwdwMME
   s=;
X-IronPort-RemoteIP: 104.47.59.172
X-IronPort-MID: 89061413
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:kRPWzKsFZ7hGA5NdXKjshkV6dOfnVHRfMUV32f8akzHdYApBsoF/q
 tZmKTyDa6mDYDH8Ltgnbd/g/UJVvMPQx4BkGVForyw2FigV+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWHxiFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwDwAKNz68rNCK/o3qYPl+veUodMjKM9ZK0p1g5Wmx4fcOZ7nmGv+PyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgf60b4C9lt+iHK25mm6Tp
 njH5Hj4CxdcMN2ZxTuK2nmtmvXOjWXwX4d6+LiQpq8y3gTPnzd75Bs+elW44uW91meFeNd8M
 WE6+S0T9bEO6xn+JjX6d1jiyJKehTYMVtwVH+Ak5QWlzqvP/x3fFmUCViRGatEtqIkxXzNC/
 lOAgd7BHzFkt7yRD3WH+d+8sjeaKSUTa2gYakc5oRAt5tDipMQ/i0zJR9M6Sqqt1ISqQ3f33
 iyAqzU4i/MLl8kX2q6n/FfBxTWxupzOSQ1z7QLSNo640j5EiEeeT9TAwTDmATxod+51knHpU
 KA4pvWj
IronPort-HdrOrdr: A9a23:lhVcJal5iUiV6rc41SDtJ6FI3QDpDfN1iWdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcIi7SdK9qXO1z+8X3WGIVY3SEDUOy1HYVr2KirGSjAEIeheOu9K1sJ
 0NT0EQMqyWMbEXt6fHCUyDYq4dKbq8ge6VbIXlvhFQpGhRAskOgTuRSDzra3GeLzM2Z6bRYa
 Dsgvav0ADQHEj/AP7aOlA1G8z44/HbnpPvZhALQzQ97hOVsD+u4LnmVzCFwxY3SVp0sPcf2F
 mAtza8yrSosvm9xBOZ/XTU9Y5qlNzozcYGLNCQi/ISNi7nhm+TFcdcsvy5zXIISdOUmRIXee
 r30lAd1gNImjXsl1SO0F7QMs/boW8TAjHZuAelaDDY0LHErXoBerZ8bMRiA1rkAgMbza9B+b
 MO0GSDu5VNCxTc2Cz7+tjTThlv0lG5uHw4jIco/jRiuCQlGc1sRRx2xjIrLH4sJlON1GkcKp
 gmMOjMoPJNNV+KZXHQuWdihNSqQ3QoBx+DBkwPoNac3TRalG1wixJw/r1Uol4QsJYmD5VU7e
 XNNapl0LlIU88NdKp4QOMMW9G+BGDBSQ/FdGiSPVPkHqcaPG+lke+93JwloOWxPJAYxpo7n5
 rMFFteqG4pYkrrTdaD2ZVamyq9N1lVnQ6dvv22y6IJyYEUHoCbQBFrYGpe4/eIsrEYHtDRXe
 q1NdZfH+LjRFGebLp04w==
X-IronPort-AV: E=Sophos;i="5.96,255,1665460800"; 
   d="scan'208";a="89061413"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ROtlkjYI44ioXOG8mi4MlEuweXfI44s0Nmsu5NShylE9ksr/ADK+k3dTZ3KDq4Xofned9Yo6F9WGakUqgcEDwDdmTU2XxKZgRMQLoZsNQxg8a4xSPyiuyyevZX6TDfysvM2KcK8S4H8b0TqSAgB9BT3PrSdv2S4GNGI+oTdhO0WbDRListOxNJzzTRfWYs67h0cULT3fvMlr8WMG2Ixp6AkaPOjWJPF4lX5Ml1OG+SchzYix9LdDvPLOHN6UWr+a7fxfJ/E0N9nDTRqksS8zPWb5Re007WYzfYc4Pofju6zWKcGtd4BlaEDApCUWmt5VJcXMFC0lLnlv/IjOuVRhiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DmlMZ+S8eBnIosfsYwNP+JbjxyIZJH/PcXWOIm+++2U=;
 b=TwcfK6q3bIPyZscr6r9fgUouxH7RjYCw3sD9NoCQxZksVf/mJt8oxATXlPpntozCN5fL5/qzJhQCre7oLxxpUQrOcJw6l3foHhonIK3eZZZzGkWCt4xXlis+4zUOkB5KZVOIgYNgKUqe0DGyBVUankhKsjwxglNBtKCWp4xaTU3kQHt7Oa2u9uhLPjxU0uakj13UHi/kw6X3PBMctj4GFoqVPI5/kqj/uG/opP/7XABckXSlNKiACs2esJAeM7uXbE8N8nrhAtrNyl2J9f5gmHVnE5zb8u7+oXdhHeJXsLF93JOELmJFxffTw0OkiH8vxWCt4CeJcSfI91njFXbstg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DmlMZ+S8eBnIosfsYwNP+JbjxyIZJH/PcXWOIm+++2U=;
 b=DkZkCu7SG1A18pkQUB34DBDwChFHvKOMWvI5nShyS2nwT3LXwgo+yOwcKC8U7UV9MGPWdkFcgdGSk1DH21fA0H3LEbD/IN59OoQ4USF5s2rsXA8XJCaNdQiz8bQcW6qRuIKI6EjLlk38v5jRITlX9LjM0XyAVKWRgnAdrd88voA=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>,
	Wei Liu <wl@xen.org>, Anthony Perard <anthony.perard@citrix.com>
Subject: Re: [PATCH v4 03/11] CODING_STYLE(tools/ocaml): add 'make format' and
 remove tabs
Thread-Topic: [PATCH v4 03/11] CODING_STYLE(tools/ocaml): add 'make format'
 and remove tabs
Thread-Index: AQHZEXvTBva48l/iNEOidUZ7DnUevq50/SIA
Date: Mon, 19 Dec 2022 09:55:41 +0000
Message-ID: <5C3846EE-3F64-4C22-A996-0B1366304240@citrix.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
 <81d621cea5975fdd9698992b968dcd7528c637af.1671214525.git.edwin.torok@cloud.com>
In-Reply-To:
 <81d621cea5975fdd9698992b968dcd7528c637af.1671214525.git.edwin.torok@cloud.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|PH0PR03MB7142:EE_
x-ms-office365-filtering-correlation-id: 5fc45685-da68-4bfa-db7e-08dae1a7302c
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 OLqF/FqQHuFrxrJmsrj53rYE4m26cj62wsjdz5O8M9BHcdXxUsKO9IMXqJ0gy3jrb8kJET949ZoK22WRRKlTSSoYvAkgQEjzuV96YYE9c0px8j8xTqbUeOulCyxsZZDphM/c5sTrFL9KaJVi5h94RP5vYs23eXDuRovuTX+O/WYacyjV7LOWP4Uvcd8YudHMXiWmjTqXkrCQJ+pM89bP/OAR0ycc6Y9jgeiKAlZvsPrH/i+cxLdSfFghKoLrnQ+Snteqd/S7JFcOwjwpU1EV1d3OFzbSdqj7+AMHwdMohlRf0a5vVBd2YXM1WnE7juu+QJUI8wMOJ4iI7SqCIGRfOR6fAvyz7ucee/3IvFh0WvH5m/FZPgZ2gE5bE4BsrQ2LJhypxBWrXUIl9z2w5K7d4M4qYsOg8N92+dNN98cmrWUq1q7dOB/LvNNjOyAZsAkp/4DG6pyt2d+1MSEyQEDFtgrTXZvBerwB9PUV7EDJDQhE+x1G8KCMjRrTEDlF7yBPokbZiaE0PqC802MW1E/WyjqLLEPPYY7cok65L8vM1f192lVYnD+wnDRPcB6Dzlwjk3hcx74C6uzNCmq8VSTQTN5MB8T8isGGE0dtJfij54SC7tCYpjoG4xCAYnmhTFXr4TFSWSG+LCpqw+izymE9jhQNCWEqFPzsCbTZkCB1oRBq3EcWR356YZRgRgcKQxvz46yEGX5xUFIlS5JFK6K+SbVQzypbPFJPKbO6PHZ8Q/I=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(366004)(136003)(346002)(39860400002)(451199015)(107886003)(8936002)(33656002)(6862004)(5660300002)(186003)(41300700001)(6512007)(44832011)(26005)(2906002)(66476007)(316002)(478600001)(6486002)(37006003)(82960400001)(38070700005)(54906003)(6506007)(53546011)(6636002)(122000001)(86362001)(76116006)(36756003)(91956017)(66946007)(64756008)(2616005)(66446008)(66556008)(71200400001)(38100700002)(4326008)(8676002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?cTIxZFRBM1JKQnJ2RGo5WmxzUi8weU1xY25GK2FpSVFhSDA4RGlURnlvdW9w?=
 =?utf-8?B?STllVUZwdCs0MEp6Mmt2ZXZ5WXVORWJualpQbk5DMzhRTHZwZWZxdTdDM1Aw?=
 =?utf-8?B?M2taMUh3WENDNU5qTDd1dGxpbEl5VUpoOUlNRnJHcmZGalpzTkg2Um5TOGZz?=
 =?utf-8?B?MTN0K3BoUzlSM3ZUcWtOTU9xbU9NZHVWOWJKUU5MM0Q1NVhCVllURWF3anNa?=
 =?utf-8?B?YVNCbDBoQ3FobXV1N3MzbThuRmdaSy9UOTNObWgxMnd6N3dlS3VESWJXRzRV?=
 =?utf-8?B?VWdISGJsRk9nS3UweFNmR1daS21sR0FwaEpVaGgyMitmUG9PZGlOc1d6b1h3?=
 =?utf-8?B?SVAvMmF3UXpuM25Ra2R1bEpKdWhESDZUNzdseWE1SVcxL3Ewdy9BYXZ2OHZC?=
 =?utf-8?B?MHRuakUrcHY1eXF6NjE0K0tCUVdzSEMxZUlLTS9janhMSlJCY0llUE14Z3FD?=
 =?utf-8?B?L0lST055ZWJodWJ1WHNPZXlycHhTSXZmNHl4Rjh5c2hjaFo3NDlrVVJCUS83?=
 =?utf-8?B?RnF0Z21KZEJjQ0dxWGVWM1VZZGhOeFdMS3RibW96bDVSaElZTVZzWmMwaHVB?=
 =?utf-8?B?T01WanNyOHJsZmpDWk5OVDU4NFloOE9nb1pkSGxTTys0eXpkNlV4RytMRUtl?=
 =?utf-8?B?OTA0Um5BVk5HZnNCckliaElqTFdQNnBjeEk1bmx6RUFkV25WVkFHRFU3bTBZ?=
 =?utf-8?B?bWROYytKOTZXNnIyOSt2UU9wdjB1WklXZDg2S3ZNZkh1em11eS8zY0ZwMHha?=
 =?utf-8?B?bFFqc2V0aXZDQnZERXZVRHZHVTZMNDk4V1ROamIzaHVxQktXY3FzU2lQdmFm?=
 =?utf-8?B?RS92MGRmZWpLNVBUUlIwcW1kRjBWN29EbEtwcFJRazF0MC96aEFsZ3Y5VzV4?=
 =?utf-8?B?elVzOTQyTzRuaS9hOWpQclJ5MjNFOEpXS2F2UG10cTFxcGlYZEwwNHdjQVk1?=
 =?utf-8?B?Ymk3T0VlQXFZWTlDdjN3Ujg0ZHJaVnZMNUdleG15OFFURXJwaTJIQmN1eUk2?=
 =?utf-8?B?UlUreVAreVEzUUFiOWpPWFhmRjB5cUtDSGVLalFSVXZwUU1VK1RMRHBhd1NT?=
 =?utf-8?B?QWpYSUhqNmhYQkIveCtpVVZMc3FWVDVLTHV1NHBNWW56OFZlNW5mSXNQdzMv?=
 =?utf-8?B?Uks1TzNsRGpmWUNoQmYzTERXYWJQVXFMQ1BYUnVOcXhONlQ3SDE5MWtjOEs4?=
 =?utf-8?B?RGtNOWQ2cStRWHFWTTRmNkEzTFJuT2lSRGhLcDE5OXdMbEozczJobUdBZUZo?=
 =?utf-8?B?OW1NZS9rbGkwUWVrSU5PcVdLSUIvY09UMjVndWN3TTRCNW82N0N6bEtsREF4?=
 =?utf-8?B?eTFPMW9vTEJFcDg5V2t5QkxSbi82WnpnWDVuaE1HMEorVXVOMFFNTkxkcDhm?=
 =?utf-8?B?TGtlTTNwdjcwYjBsL1hFUEpSeWVCYjB1NEhKRy93N3RoTlZEVmhhQXZtSmRy?=
 =?utf-8?B?TGt1TUx3aXpKT1NrNU1udmhlSmp0VGE0NnlXcXQvMUFZaTVnSXlQanN2blhG?=
 =?utf-8?B?akFYVFBLNklSMjRFSzFlVnlEeDE2ODdPUFB6cWdpWGhCelh0VDA1RW0xZWM0?=
 =?utf-8?B?M2ZQRnljWDAwbjVIWlV0V05KOGl6dDdSMVRyNlpiTThleXBlaVE0NE5FM0tl?=
 =?utf-8?B?UDV1SHNzMWhhaG9jTzhCck5WYTFBai9VNzdXblFmalQxN0pvM1B5bWxUMXh0?=
 =?utf-8?B?bVM4TlpaVGxNSjh0ZXkxcWRZSHVSR2pzUU5weVJyYzBtQmhuM2FyT1IvMEVm?=
 =?utf-8?B?Qkx5c011WkhCTjQwSEVyS2VNQ1ZSSHFtMktLVHhBblpDcnN1Nld5ZmQvVngw?=
 =?utf-8?B?bkNMRTdnZVhsK2xOUlYyVDlVN2JuOW5mRHpKVGhmR3hQMlF1Q01XbHlESGJI?=
 =?utf-8?B?M2lHbHJGMEVGYXZSS2F1RGdBQkgwNWN2SXVnVTRFUzg3ckNhYmkwVlV5T0Nl?=
 =?utf-8?B?ZWFDK1k3SEtQMnQ1aTZlRlFBWlgzVFk5aGRFS3JRMFZ4Tk1kRm9zcjJ4bklt?=
 =?utf-8?B?NzUyOGlGaG90SzNjd0pDWHlZQVRpZGEyeE9XVTVtV0htWlRSN3g5NXR6bGY3?=
 =?utf-8?B?SC8vSVNJbU1WUmhGYUFBdjAxTVowZThVWFg0ZndSMXRCZFlVMFVJNXN4SUQr?=
 =?utf-8?B?SThPLzdOU1RQVFBQZ0JvK0RGa2pHZG8zbzJETThXU3luNTFSaEtKc0hVaGNl?=
 =?utf-8?Q?hb+Sp8X7jSafN0QofjsKd4A=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <3D242E61DF70B4478EF97820CA1845CB@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5fc45685-da68-4bfa-db7e-08dae1a7302c
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Dec 2022 09:55:41.0224
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: JznCsrQXNKwGbO+azLiEvu+8LLi4v9y4SAcwASEWqbI2ltb4EzFnXsRFfHPfl483NZdWyCXqigTToyPg8F2/sasp+1ZaNKh/x1JcfJsfIf0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB7142

DQoNCj4gT24gMTYgRGVjIDIwMjIsIGF0IDE4OjI1LCBFZHdpbiBUw7Zyw7ZrIDxlZHZpbi50b3Jv
a0BjaXRyaXguY29tPiB3cm90ZToNCj4gDQo+IFNlZSBDT0RJTkdfU1RZTEU6IFhlbiB1c2VzIHNw
YWNlcywgbm90IHRhYnMuDQo+IA0KPiAqIE9DYW1sIGNvZGU6DQo+IA0KPiBVc2luZyBgb2NwLWlu
ZGVudGAgZm9yIG5vdyB0byBqdXN0IG1ha2UgbWluaW1hbCBtb2RpZmljYXRpb25zIGluDQo+IHRh
YnMgdnMgc3BhY2VzIGFuZCBnZXQgdGhlIHJpZ2h0IGluZGVudGF0aW9uLg0KPiBXZSBjYW4gaW50
cm9kdWNlIGBvY2FtbGZvcm1hdGAgbGF0ZXIuDQo+IA0KPiAqIEMgc3R1YnM6DQo+IA0KPiBqdXN0
IHJlcGxhY2UgdGFicyB3aXRoIHNwYWNlcyBub3csIHVzaW5nIGBpbmRlbnRgIG9yIGBjbGFuZy1m
b3JtYXRgDQo+IHdvdWxkIGNoYW5nZSBjb2RlIHRvbyBtdWNoIGZvciA0LjE3Lg0KPiANCj4gVGhp
cyBhdm9pZHMgcGVycGV0dWF0aW5nIGEgZm9ybWF0dGluZyBzdHlsZSB0aGF0IGlzIGluY29uc2lz
dGVudCB3aXRoDQo+IHRoZSByZXN0IG9mIFhlbiwgYW5kIHRoYXQgbWFrZXMgcHJlcGFyaW5nIGFu
ZCBzdWJtaXR0aW5nIHBhdGNoZXMgbW9yZQ0KPiBkaWZmaWN1bHQgKE9DYW1sIGluZGVudGF0aW9u
IHRvb2xzIHVzdWFsbHkgb25seSBzdXBwb3J0IHNwYWNlcywgbm90IHRhYnMpLg0KPiANCj4gTm8g
ZnVuY3Rpb25hbCBjaGFuZ2UuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBFZHdpbiBUw7Zyw7ZrIDxl
ZHZpbi50b3Jva0BjaXRyaXguY29tPg0KDQpBY2tlZC1ieTogQ2hyaXN0aWFuIExpbmRpZyA8Y2hy
aXN0aWFuLmxpbmRpZ0BjaXRyaXguY29tPg0KDQpJIGFtIGluIGZhdm91ciBvZiBhdXRvbWF0aW5n
IHRoZSBjb2RlIGZvcm1hdHRpbmcsIGFuZCBtb3ZpbmcgdG8gT0NhbWxmb3JtYXQgaW4gcGFydGlj
dWxhci4gVGhlIG1haW4gZHJhd2JhY2sgaXMgdGhhdCBpdCBjYW4gbWFrZSBiYWNrIHBvcnRpbmcg
bW9yZSBkaWZmaWN1bHQgYmVjYXVzZSBmb3JtYXR0aW5nIGNhbiBjaGFuZ2Ugbm90IGp1c3QgaW5k
ZW50YXRpb24gYnV0IHBsYWNlbWVudCBvZiBwYXJlbnRoZXNlcyBhbmQgc2ltaWxhciBncm91cGlu
ZyBzeW50YXggYXMgd2VsbCwgbGVhZGluZyB0byBjaGFuZ2VzIGJldHdlZW4gdGhlIGN1cnJlbnQg
Y29kZSBhbmQgb2xkZXIgY29kZSB0aGF0IGhhdmUgdG8gbWUgcmVzb2x2ZWQgbWFudWFsbHkuDQoN
CuKAlCBDDQoNCg0KDQog


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 10:00:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 10:00:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465954.724756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7CwN-0001BY-8R; Mon, 19 Dec 2022 10:00:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465954.724756; Mon, 19 Dec 2022 10:00:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7CwN-0001BR-5I; Mon, 19 Dec 2022 10:00:11 +0000
Received: by outflank-mailman (input) for mailman id 465954;
 Mon, 19 Dec 2022 10:00:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kQjb=4R=citrix.com=prvs=345253497=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p7CwL-0001BJ-QO
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 10:00:09 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9115822-7f83-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 11:00:06 +0100 (CET)
Received: from mail-dm6nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 19 Dec 2022 05:00:02 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 PH0PR03MB5749.namprd03.prod.outlook.com (2603:10b6:510:38::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5924.16; Mon, 19 Dec 2022 09:59:55 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::a77b:c822:a19b:ef23]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::a77b:c822:a19b:ef23%3]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022
 09:59:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9115822-7f83-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671444008;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=r23GlqhrFuYg0IYsnwfVRZNHFCcgbCjXHLf6Y0ptvdQ=;
  b=AKs6l76PyAPaNXI8wIpG9fLagKYQF8k2M5h/EoH5ltASeESd50/JvF0Q
   nhyyoGPCYoLpQx0C/ZCT/nwP727/lt24Fqg3QwXsUFX9Otp9CQYCFh0v+
   UsMsutUATrYmGDr4iil4l3imXn8lL8R08UIk8XHxmNohiCc2Pu1njAItm
   M=;
X-IronPort-RemoteIP: 104.47.57.176
X-IronPort-MID: 91540658
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:qvNoUKOIRgaFjmbvrR1xlsFynXyQoLVcMsEvi/4bfWQNrUomhGcEn
 TEXDW+HM/yCMWTyf9EiOoS+p09S7JSAndBgTQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5w1mPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0rlGBlpQ3
 uVIEzJOSzmThuPp75SiGuY506zPLOGzVG8ekldJ6GiASNoDH9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PVxujeNpOBy+OGF3N79cdyQRN5Jn0+e4
 GbH+Wj4DTkRNcCFyCrD+XWp7gPKtXKiBd5KSuDonhJsqHeq3lwfEQY7aV7l+KGejU+kY8J5I
 ENBr0LCqoB3riRHVOLVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQkvsIrQT0h1
 neSgsjkQzdotdW9S2+Z97qShSO/P24SN2BqTTQfUQIP7t3noYcyphHCVNBuFOiylNKdMS706
 yCHqm45nbp7sCIQ/6Cy/FSCjzfyoJHMF1cx/l+OATzj6R5lbom4YYDu8ULc8ftLMIeeSB+Go
 WQAnM+dqusJCPlhiRCwfQnEJ5nxj97tDdEWqQcH80UJn9h1x0OeQA==
IronPort-HdrOrdr: A9a23:Zj5iSa7+gGzmZBY1VQPXwUKBI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc0AxhI03Jmbi7Scq9qADnhORICOgqTP+ftWzd1FdAQ7sSircKrweAJ8S6zJ8k6U
 4CSdk0NDSTNykdsS+S2mDRfLgdKZu8gdmVbIzlvhVQpHRRGsVdBnBCe2Om+yNNJDVuNN4cLt
 6x98BHrz2vdTA8dcKgHEQIWODFupniiI/mSQRuPW9r1CC+yReTrJLqGRmR2RkTFxlVx605zG
 TDmwvloo2+rvCAzAPG3WO71eUbpDKh8KoNOCW/sLlVFtzesHfpWG2nYczAgNkBmpDg1L/tqq
 iPn/5vBbU315qbRBDJnfKk4Xid7N9p0Q6p9bbQuwqdneXpAD09EMZPnoRfb1/Q7Fchpsh11O
 ZR03uerIc/N2K2oM3R3am8a/hRrDvBnVMy1eoIy3BPW4oXb7Fc6YQZ4UNOCZ8FWCb38pouHu
 ViBNzVoK8+SyLSU1nJ+m10hNC8VHU6GRmLBkAEp8yOyjBT2HR01VERysATlmoJsJg9V55H7e
 LZNbkArsA5cuYGKaZmQOsRS8q+DWLABRrKLWKJOFziULoKPnrcwqSHkondJNvaC6Dg4KFC6K
 gpCmkoy1LaU3ieePGz4A==
X-IronPort-AV: E=Sophos;i="5.96,255,1665460800"; 
   d="scan'208";a="91540658"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Tryl3G9plt+LVPqWaI0aAQP2638ptyOrQsxtXkgFPGmvOuNNogwJsDidxhP7bdqUl6/t+SpFPdvoPaRVW4ZjChGzSorjhBuGrDqdvlBeZ2P05udflvKdnurqIee1oIm+8njuH74FVqYRPTVe30sgJJwmjds0gIquQ3lEjNVVrXe7467XFuIzf4n504iaqHqgkswOZ/jyUhBMZMiT+4hVPYzXU6femeCpRdO29aLjfLSockoY7JDHGVBKFpprHn83GFAfJnugwZB14os16p+C6k4/hypuFCHLQ99947yZrxKHz+kfHa2HquBg8QzBNG9Fsplagf0fw9n1fAJwaYbX8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r23GlqhrFuYg0IYsnwfVRZNHFCcgbCjXHLf6Y0ptvdQ=;
 b=i6By8w15TmBRTvRkmJ4+WL/p2HHdfJmILQIM+UiZGhriyXU8Z1YaY5yRZTCu3PgaUS9HErs2tViVJLmYC3fBEAnMHesGyRr2vvvl1FPzN9Ide5Rvr9NoKpy5mvzMJ6Q6Yz5XMgxx7+LlN82p80dlni+hLOEJGT8BoWqAO+/KRrHsQXROT2yMISueVPdRNJ1k9paYc3eIL/Ro0utR1sd0+i9t9KatUPa6w51icq7lspgqmQ6OZVXxCwpBdVAB7VLai+FkH0nXE+v9oR3s0yo6qwnMWSuZ4mj61gbXa7ao3yM80Xuq6n7IfKOj27kJh9yg+1go4Q67OXUUEc4dE+XP+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r23GlqhrFuYg0IYsnwfVRZNHFCcgbCjXHLf6Y0ptvdQ=;
 b=Ndco/ToBt0TZhQZlakNFBSki/QavPz+e2D30ArAMvN6KQ4jHTzWrl1DjRWYbgy882WKJ270mwtu9tWalJUITZALyqVUN14KwPGdgiaAXaxsKL8DOc3cyFMWmszv3SrT337qO+hzIfHeOuOiONS/hUNrAADcMzyaQKSYNZel0fPI=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Andrew Cooper
	<Andrew.Cooper3@citrix.com>, George Dunlap <George.Dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v4 05/11] CODING-STYLE(tools/ocaml): add .editorconfig to
 clarify indentation uses spaces
Thread-Topic: [PATCH v4 05/11] CODING-STYLE(tools/ocaml): add .editorconfig to
 clarify indentation uses spaces
Thread-Index: AQHZEXvS6RVw/jj4C0W0HfdHSBPV8K50/lEA
Date: Mon, 19 Dec 2022 09:59:55 +0000
Message-ID: <C5C65E6D-79F9-4411-96A2-526FEE4DA0DD@citrix.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
 <bc7f3ab700525288938b84c9fbcc0f4ac6bd804c.1671214525.git.edwin.torok@cloud.com>
In-Reply-To:
 <bc7f3ab700525288938b84c9fbcc0f4ac6bd804c.1671214525.git.edwin.torok@cloud.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|PH0PR03MB5749:EE_
x-ms-office365-filtering-correlation-id: be396f5f-decd-49f7-67d0-08dae1a7c810
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 yoOSEe38PjIOUpY7w7xB9EethfFGIODy3wyKl24xwYsbrXZn17cztGTIBOK3cIuW5TU4dVL3EC54kJ0Dn+loyDTkgKTdb8pKPxvfdxAsS1uObHII4rvKyNlzksZBL79kneB9KTkRPPUDkGgZNUZV94Kft+1t/SxE6IAPJlGmoQPI9JQto8C+sHpXS1B9djBG1r8n2aaYB2FqTbOsFZ2Wq00BROtJF4Fm45WLX/usWCkEA00Y8vjbPEtYidSb5+lA4nlj3ZdXmJBvUShJ9dIZ6DvTxcI4WRmlvXNCVms8Fo90S4ui88LI4FyOOY6U5JfCKpAUDsAGfIRTyOkdDll2KrLYvX/5a5ly36PQU2dE+6ru9cfXmywcq+XwVCiqGiHdVJ8CBeqYEpm3/ftVNLsoZ4mkbnt8j5If6P81qBxQAmrsTIz66jFYw0jCHDiU6yHMTXeHom2NwcE86TlO5E7FJTMpmuComR4r3wBN0dHM76/5up+HZCB8uddpjN8dxwPOCoxKLiLQGvWhHQkyOEUoLRiA8ohp8m3s+e4U8MRZD6Pr9Ea/4VvaJmguz6IjK48t9DaskcD71HX9IE8hi4arYncWOHhz7dgu9kkTq+vj8wMx1KcaICRzUp/1E4la4+XX8hbeHxMwkyw3u82ARv60BX0TI6qds2l5RhbhDXaL2y7Zj69L9KP/xLLA1RQVyluBcmv0JKYiEaQIYpYoDG+iTAjGl5qXTpMQgDt+ue1ULqMGGJldpBhHOvDWAI3PFgDQF2AteD0QGqBphkeJMjrOgQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(346002)(136003)(376002)(366004)(451199015)(478600001)(6486002)(71200400001)(6506007)(66946007)(66476007)(66446008)(91956017)(76116006)(64756008)(6512007)(66556008)(26005)(186003)(86362001)(37006003)(316002)(2616005)(54906003)(6636002)(41300700001)(36756003)(66574015)(4326008)(6862004)(8676002)(8936002)(82960400001)(38070700005)(2906002)(5660300002)(53546011)(33656002)(38100700002)(122000001)(44832011)(142923001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Z2ZEeEprcDBkQzdUTVVDTktxL1BiL1orMmMvS0VFM0N4OTA5QmFRTG8wY3VP?=
 =?utf-8?B?MGtPYlhTdDkvRCsrcytRRjhKUnRWdE0xdlE0NkNVa1lDcnpXVDBwcWlCS1RZ?=
 =?utf-8?B?VCt1SUtBektWQ3hYTlZscEhDU2ZCY1oxNUhzeUtDZkhXYmZ3alFDeWNFT2ho?=
 =?utf-8?B?NlZTek14bktscjU3ZVo1clB4cnBkZ2tkdWlXc0NLdkZ4WFo3NVo2RFVmbWk3?=
 =?utf-8?B?c09KZFFxS2tPM2lRN2p4Q0s4dVl0SEJEbkN6cHplSGlhVDVIUmlNQjg4cjFB?=
 =?utf-8?B?cE8zT3lya0tpS2hmeFpGQXk1SVpJRERISUdtbEJKZjZpZU1oWlFqbE55SThB?=
 =?utf-8?B?Q0xxY3ZNQXZNK1htZkpjSWUzMEhrZFdWTTFwc2lNRVlCY0UzOEt3eUFWUXlQ?=
 =?utf-8?B?UkRpdmhkMDZKL2dGdVFDUHpDeHBBY1dOay9IMlhhWXhUVTBRc3Qxb1FEVWFz?=
 =?utf-8?B?VWNKTDJsZ0kvUkhHd0VoZlFTRCtFYk9TR1hhZEhTNVJYWGh4YU91TkhFK25F?=
 =?utf-8?B?SUcwcGhncXlIQUcvQ2FmSXVyRVJhaytaQlhGMWlXZ2JiZ3NKdHdZS0hwZzN0?=
 =?utf-8?B?WkFpeEEyQVFhZlAyN3pEd2R2TVJ6WTl6aDlEQU5hQkZOV3ZSbDJvanJKU3Mz?=
 =?utf-8?B?YXZtdmNuOHptVzMrWkxvY0JtRlY0cDJvWm84TnpJdHZDYXlYK2w5aUpnWnpQ?=
 =?utf-8?B?aTFLbENlM0J3TmlObHZhVHRka2pZTG1oL2N0NHJtYkNxWnFRM1ZQUFEwcHJB?=
 =?utf-8?B?UG54YTVSb0E5aU9FRGpyNWR0ZzJEdmdETmZQWmFZNTVtOVdQUGFoRXVjQUQ3?=
 =?utf-8?B?K1pTaFRuTHNtbHRRNHlRZ0RyUnhDM01Qb0x2NmFOQ0JPOG9Bd2d0WVFyZEtH?=
 =?utf-8?B?OEY3cFlRYzlEcm55TGF3NnpNSUZVcUtvT2RIOXN2NFBWcXFySG9RMFJRdE5T?=
 =?utf-8?B?bmVmSWlWbTAwc1paN2l6U2d3S2JPZ3FtNVVpVS9ibFFVb0NkMkVxTXY5eFdt?=
 =?utf-8?B?UkdibXVlelpHaS9CVHhSQW4vZU5GMDU3a3laRjl3ZVRJRGU0Q0R2V0krWjRi?=
 =?utf-8?B?SGk3cTBFeXp2b05lWHl0KzhqRlNLTTk3Zmx1dUkyTHRJY2l4cUFocGpVTHR3?=
 =?utf-8?B?NlVuK1NZNk1VVjRXOFBZaU43OUxCaVRTUXI0RWJPSHlhbWJJY2U1RklCeWxM?=
 =?utf-8?B?QU9Ic211RU1EUW43MjFDRE0vWUtQRVJLUk40dnZOalhoMVlvMExPelBFeDRz?=
 =?utf-8?B?aG9yWkMxNnpIM05GZExvZ0VkR3FWbUhEbXZ6SzZVZ0hwM2pjc3lTZmxqRkFZ?=
 =?utf-8?B?cU5zRXpDRmpESEdLUnFSYVNHamVSTUlOZmhGYUdtVFFZaVpFcFgyY3cxRFVM?=
 =?utf-8?B?OU9SWDVBb3Nkd0ZIQTJMM2U1SXV5SUVsRklsSFFOVkxQVWh4OGtKc3Q0Zko4?=
 =?utf-8?B?eUNDdzYrSjUzNG0rZ3BrYVF0Tzh1RGh5blp6WWJJaURka2paS3d5RjZMTHZw?=
 =?utf-8?B?aXZsbUJyQkZPRFZieG1hanhpU0ZNcGs5VzZaNmJJbUtuVUpXTXd2SG10SnNz?=
 =?utf-8?B?Z0lHWG85U2tubjRleXRuaWJ1cURRZndaOVpaeXo3TkdQVllDWVFNTC96VzNi?=
 =?utf-8?B?Q3NqWE01M3FITk1vYXJFZXN3RmFPRU0wb2pucFNzRGJTZ1pLVjlRV0VLTEI1?=
 =?utf-8?B?STFLbGFteHhkVUo0cDlKbGFNWko2eWFzcUJHZll4clFIam55NGx6b09wMSs4?=
 =?utf-8?B?RTVnUGZ0T3NFMHlzTHh2UHVic0FUektBMUtOQkpsQXJHcVFzN2FHYjRMN0VD?=
 =?utf-8?B?NkxKZ1ZHc2VVdmhZaUNpNnV2Ry9IMmg4dFkySExPdzU2Y3pRTEdvLzZGaFdN?=
 =?utf-8?B?Q1NzSUcvMFo1R0NxWnJBVmM4b3RLbldEaVY3dXBFcVl1bzlrWTI0MW9KMmpO?=
 =?utf-8?B?UDhQL3UwVzdod1lMV1RYRTltNjRzVzlYMFMwMW5ZOGpLTGVYYUZ0U1dxSGcx?=
 =?utf-8?B?UmVmMVlWQnRxdzkweC9vTmlXWHh1ZnAyUFV6ZUE2TnJVUjhnN29YcjgzazJz?=
 =?utf-8?B?bG5JVm1seTFaTGVjY2tQTDQ3RzhhZVlIamQ3VG82WWt3bzkzbFU4NEQxRG1R?=
 =?utf-8?B?c04xTHRSV0NCcEVZZEFzTjRQQUJ6aXhTN2lEY1VTT210Y04zOXI1bmlGd1lh?=
 =?utf-8?Q?+rPCX15r121qDE17y+YpUMM=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <1E505903E8BAFD4086E40C8A31067FA0@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: be396f5f-decd-49f7-67d0-08dae1a7c810
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Dec 2022 09:59:55.8027
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 5GPKp+wB5oqlQ8O83ndF0WVpxW+2dphGeW5C3YD++HmbY1YN5f9WmVMald3VZ0yrqFhEJFZs4oViIzbP0+6fLv+TpiZFAn8F8zL0PnAKx2A=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5749

DQoNCj4gT24gMTYgRGVjIDIwMjIsIGF0IDE4OjI1LCBFZHdpbiBUw7Zyw7ZrIDxlZHZpbi50b3Jv
a0BjaXRyaXguY29tPiB3cm90ZToNCj4gDQo+IEFkZCBhbiAuZWRpdG9yY29uZmlnIHRvIG1ha2Ug
aXQgZWFzaWVyIHRvIGtlZXAgcGF0Y2hlcyBjb21wYXRpYmxlIHdpdGgNCj4gWGVuJ3MgY29kaW5n
IHN0eWxlLCBhbmQgdG8gcmVlbXBoYXNpemUgd2hhdCBYZW4ncyBjb2Rpbmcgc3R5bGUgaXMuDQo+
IA0KPiBJIHRob3VnaHQgdGhhdCBYZW4gZGVtYW5kcyB0YWJzIHJhdGhlciB0aGFuIHNwYWNlcyAo
d2hpY2ggaXMgbW9yZQ0KPiBkaWZmaWN1bHQgd2l0aCBPQ2FtbCBiZWNhdXNlIGluZGVudGF0aW9u
IHRvb2xzIHVzZSBzcGFjZXMsDQo+IGFuZCB0aGUgdXNlIG9mIHRhYnMgcmVxdWlyZXMgY2hhbmdp
bmcgZWRpdG9yIHNldHRpbmdzKSwNCj4gaG93ZXZlciBDT0RJTkctU1RZTEUgc2F5cyBpdCBpcyBz
cGFjZXMuDQo+IA0KPiBEb2N1bWVudCB0aGlzIGV4cGxpY2l0bHkgYnkgYWRkaW5nIGEgLmVkaXRv
cmNvbmZpZyBmaWxlIChzZWUgZWRpdG9yY29uZmlnLm9yZyksDQo+IHdoaWNoIGlzIGFuIGVkaXRv
ciBhZ25vc3RpYyBmb3JtYXQgZm9yIHNwZWNpZnlpbmcgYmFzaWMgc3R5bGUgcHJvcGVydGllcyBs
aWtlDQo+IGluZGVudGF0aW9uLCBlaXRoZXIgd2l0aCBuYXRpdmUgc3VwcG9ydCBpbiBlZGl0b3Jz
IG9yIHZpYSBwbHVnaW5zLg0KPiANCj4gSXQgaXMgc2FmZXIgdGhhbiBtb2RlbGluZXMgYmVjYXVz
ZSBpdCBvbmx5IHN1cHBvcnRzIGNvbnRyb2xsaW5nIGENCj4gcmVzdHJpY3RlZCBzZXQgb2YgZWRp
dG9yIHByb3BlcnRpZXMgYW5kIG5vdCBhcmJpdHJhcnkgY29tbWFuZHMgYXMgVmltDQo+IG1vZGVs
aW5lcyB3b3VsZCBoYXZlLCBhbmQgd29ya3Mgd2l0aCBlZGl0b3JzIG90aGVyIHRoYW4gVmltIHRv
by4NCj4gKFZpbSBoYXMgYSBkZW55IGxpc3QgZm9yIG1vZGVsaW5lIHNhbmRib3hpbmcsIHdoaWNo
IGlzIGVycm9yLXByb25lDQo+IGJlY2F1c2UgZXZlcnkgdGltZSBhIG5ldyBjb21tYW5kIGdldHMg
YWRkZWQgaXQgbmVlZHMgdG8gYmUgYWRkZWQgdG8gdGhlDQo+IGRlbnkgbGlzdCwgd2hpY2ggaGFz
IGJlZW4gdGhlIHNvdXJjZSBvZiBhIGZldyBDVkVzIGluIHRoZSBwYXN0DQo+IGFuZCBJIGRpc2Fi
bGUgVmltIG1vZGVsaW5lcyBldmVyeXdoZXJlIGFzIGEgcHJlY2F1dGlvbikuDQo+IA0KPiBUaGlz
IGZpbGUgaXMgYWRkZWQgYXMgYSBjb252ZW5pZW5jZSBmb3IgdGhvc2Ugd2hvIG1pZ2h0IGhhdmUg
YW4gZWRpdG9yDQo+IHRoYXQgc3VwcG9ydHMgaXQsIGFuZCBpdHMgcHJlc2VuY2Ugc2hvdWxkIGhh
dmUgbm8gaW1wYWN0IG9uIHRob3NlIHRoYXQNCj4gZG8gbm90ICh3YW50IHRvKSB1c2UgaXQuDQo+
IEl0IGFsc28gd29uJ3QgY2F1c2UgcmUtaW5kZW50YXRpb24gb2YgZXhpc3RpbmcgZmlsZXMgd2hl
biBlZGl0ZWQsIG9ubHkNCj4gbmV3bHkgYWRkZWQgbGluZXMgd291bGQgZm9sbG93IHRoZSBjb252
ZW50aW9uLg0KPiANCj4gTm8gZnVuY3Rpb25hbCBjaGFuZ2UuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5
OiBFZHdpbiBUw7Zyw7ZrIDxlZHZpbi50b3Jva0BjaXRyaXguY29tPg0KPiBDYzogQ2hyaXN0aWFu
IExpbmRpZyA8Y2hyaXN0aWFuLmxpbmRpZ0BjaXRyaXguY29tPg0KDQpBY2tlZC1ieTogQ2hyaXN0
aWFuIExpbmRpZyA8Y2hyaXN0aWFuLmxpbmRpZ0BjaXRyaXguY29tPg0KDQpJIGFtIGFnbm9zdGlj
IGFib3V0IHRoaXMgY2hhbmdlLiBBdXRvbWF0aWMgY29kZSBmb3JtYXR0aW5nIHNob3VsZCB0YWtl
IGNhcmUgb2YgdGhpcyBidXQgSSBzZWUgbm8gaGFybSBpbmNsdWRpbmcgdGhpcyBmaWxlLiBUaGUg
bnVtYmVyIG9mIGRldmVsb3BlcnMgY29udHJpYnV0aW5nIHRvIHRoZSBPQ2FtbCBjb2RlIGJhc2Ug
aXMgbWludXNjdWxlIGFuZCB3ZSBzaG91bGQgdHJ5IHRvIGtlZXAgYmFycmllcnMgYXMgbG93IGFz
IHBvc3NpYmxlLiBUaGUgd3JhbmdsaW5nIGFib3V0IGFsbCB0aGVzZSBtaW51dGlhZSBpcyBhbHJl
YWR5IHRvbyBtdWNoLg0KDQotIEM=


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 10:12:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 10:12:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465952.724773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7D8D-0002lZ-Ko; Mon, 19 Dec 2022 10:12:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465952.724773; Mon, 19 Dec 2022 10:12:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7D8D-0002km-Er; Mon, 19 Dec 2022 10:12:25 +0000
Received: by outflank-mailman (input) for mailman id 465952;
 Mon, 19 Dec 2022 09:57:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=S2HB=4R=tibco.com=etorok@srs-se1.protection.inumbo.net>)
 id 1p7CuD-0000Gb-JZ
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 09:57:57 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ab084b0-7f83-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 10:57:53 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id h16so8015752wrz.12
 for <xen-devel@lists.xenproject.org>; Mon, 19 Dec 2022 01:57:55 -0800 (PST)
Received: from smtpclient.apple (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 q15-20020adff94f000000b002368a6deaf8sm9429092wrr.57.2022.12.19.01.57.54
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 19 Dec 2022 01:57:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ab084b0-7f83-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=R8QxQCsmIRAeOYBnoDHckZghYDVXBqa5X1/cfVaiq90=;
        b=Jz3fxgVnTmgzvZ4nscd+B131GVmFEcegh4iSvgEJW2/Xjy9kdlYNGgBJIJW/9UJEPY
         9aHv5HDaHTCsYSIOm57rFbdlgWro8GSatkX8S6mU8jzbG4vDIlcuw5pFvdxxUtAo0SQl
         X/befPUhQ78m9g9HLAo+IbfGtVhxewPaFrNaM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=R8QxQCsmIRAeOYBnoDHckZghYDVXBqa5X1/cfVaiq90=;
        b=EQrqK2GBJXeARStNt4PhSvHaXpKqcjuL6Uf+LJqyoBK4qRhdFgKOKcqSr6J4a0pa6N
         NDvwvqvGDK4Qf5HYlqEeHsgPPXIwYH1GOuJAdbF/nbWKkQVXaoLmww9W9FOlsTmUt1IE
         GUS6YF1YKcbiK9iybGKYVwPYzgvvhBhwzfJBMzapAGtd5mbpzPmo3zIUb3Ps8qA2jOQF
         2aI19n7hhLB5Hm/LC0TqVfn6hgGM+82f/JCLFUIWSSTcAPJT4Tk3TuLvkXPLTIvaBl0X
         6HN+zwLMHfo88pz6C+0gUMEkHMRfk15xyjcYedOZSg7S1O3GBQri+ODIXTxAmyUxOi/F
         rK8A==
X-Gm-Message-State: ANoB5pkSiOGgQnmGzak1+v90cflt/J55uyy3yh9w+IdPFrwFdhYoAJ8i
	k50E95sZIr/Kscps/xgQ4KAlag==
X-Google-Smtp-Source: AA0mqf6P097HuZVuUn58VW6LOiN6h5l9Mwewi7JRR7Nanp6qxRSpvzL39KIYaoIYimd7PfyMtiSYIQ==
X-Received: by 2002:a5d:4ad1:0:b0:242:20c9:437f with SMTP id y17-20020a5d4ad1000000b0024220c9437fmr25812243wrs.38.1671443875198;
        Mon, 19 Dec 2022 01:57:55 -0800 (PST)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.200.110.1.12\))
Subject: Re: [PATCH v4 10/11] tools/ocaml/xenstored: validate config file
 before live update
From: Edwin Torok <edwin.torok@cloud.com>
In-Reply-To: <421BC7DB-EA22-4EB2-883A-21E136367820@citrix.com>
Date: Mon, 19 Dec 2022 09:57:44 +0000
Cc: Edwin Torok <edvin.torok@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 David Scott <dave@recoil.org>,
 Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <081E2E6A-1DC4-422B-9568-9465C27E4943@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
 <a9414ef542c7c5c7f1423efdf1a117431ae569b6.1671214525.git.edwin.torok@cloud.com>
 <421BC7DB-EA22-4EB2-883A-21E136367820@citrix.com>
To: Christian Lindig <christian.lindig@citrix.com>
X-Mailer: Apple Mail (2.3731.200.110.1.12)



> On 19 Dec 2022, at 09:37, Christian Lindig =
<christian.lindig@citrix.com> wrote:
>=20
>=20
>=20
>> On 16 Dec 2022, at 18:25, Edwin T=C3=B6r=C3=B6k =
<edvin.torok@citrix.com> wrote:
>>=20
>> The configuration file can contain typos or various errors that could =
prevent
>> live update from succeeding (e.g. a flag only valid on a different =
version).
>> Unknown entries in the config file would be ignored on startup =
normally,
>> add a strict --config-test that live-update can use to check that the =
config file
>> is valid *for the new binary*.
>=20
> Is the configuration tested, checked, or validated? If feel =E2=80=9Cche=
ck" or =E2=80=9Cvalidate" would convey better what is happening.

The rest of the code talks about validation, so I've renamed this to =
config-validate.

>=20
>=20
>> For compatibility with running old code during live update recognize
>> --live --help as an equivalent to --config-test.
>>=20
>> Signed-off-by: Edwin T=C3=B6r=C3=B6k <edvin.torok@citrix.com
>=20
> Acked-by: Christian Lindig <christian.lindig@citrix.com>


Thanks, I've pushed an update commit with this change here: =
https://github.com/edwintorok/xen/compare/staging...private/edvint/review5=
,
in particular =
https://github.com/edwintorok/xen/commit/f1a9153bb867bbb5df0f5e17b1ed3348e=
7ea79f8

Best regards,
--Edwin
>=20
>>>=20
>> ---
>> Changes since v2:
>> * repost of lost patch from 2021: =
https://patchwork.kernel.org/project/xen-devel/patch/a53934dfa8ef984bffa85=
8cc573cc7a6445bbdc0.1620755942.git.edvin.torok@citrix.com/
>> ---
>> tools/ocaml/xenstored/parse_arg.ml | 26 ++++++++++++++++++++++++++
>> tools/ocaml/xenstored/xenstored.ml | 11 +++++++++--
>> 2 files changed, 35 insertions(+), 2 deletions(-)
>>=20
>> diff --git a/tools/ocaml/xenstored/parse_arg.ml =
b/tools/ocaml/xenstored/parse_arg.ml
>> index 1a85b14ef5..b159b91f00 100644
>> --- a/tools/ocaml/xenstored/parse_arg.ml
>> +++ b/tools/ocaml/xenstored/parse_arg.ml
>> @@ -26,8 +26,14 @@ type config =3D
>>    restart: bool;
>>    live_reload: bool;
>>    disable_socket: bool;
>> +    config_test: bool;
>>  }
>>=20
>> +let get_config_filename config_file =3D
>> +  match config_file with
>> +  | Some name -> name
>> +  | None      -> Define.default_config_dir ^ "/oxenstored.conf"
>=20
> I=E2=80=99d use Filename.concat.
>=20
>> +
>> let do_argv =3D
>>  let pidfile =3D ref "" and tracefile =3D ref "" (* old xenstored =
compatibility *)
>>  and domain_init =3D ref true
>> @@ -38,6 +44,8 @@ let do_argv =3D
>>  and restart =3D ref false
>>  and live_reload =3D ref false
>>  and disable_socket =3D ref false
>> +  and config_test =3D ref false
>> +  and help =3D ref false
>>  in
>>=20
>>  let speclist =3D
>> @@ -55,10 +63,27 @@ let do_argv =3D
>>      ("-T", Arg.Set_string tracefile, ""); (* for compatibility *)
>>      ("--restart", Arg.Set restart, "Read database on starting");
>>      ("--live", Arg.Set live_reload, "Read live dump on startup");
>> +      ("--config-test", Arg.Set config_test, "Test validity of =
config file");
>=20
> I see the logic how this flag was named but feel starting with a verb =
(=E2=80=9Cvalidate=E2=80=9D, =E2=80=9Ccheck=E2=80=9D, =E2=80=9Ctest=E2=80=9D=
) leads to a clearer invocation pattern.
>=20
>>      ("--disable-socket", Arg.Unit (fun () -> disable_socket :=3D =
true), "Disable socket");
>> +      ("--help", Arg.Set help, "Display this list of options")
>>    ] in
>>  let usage_msg =3D "usage : xenstored [--config-file <filename>] =
[--no-domain-init] [--help] [--no-fork] [--reraise-top-level] =
[--restart] [--disable-socket]" in
>>  Arg.parse speclist (fun _ -> ()) usage_msg;
>> +  let () =3D
>> +    if !help then begin
>> +      if !live_reload then
>> +        (*
>> +          Transform --live --help into --config-test for backward =
compat with
>> +          running code during live update.
>> +          Caller will validate config and exit
>> +        *)
>> +        config_test :=3D true
>> +      else begin
>> +        Arg.usage_string speclist usage_msg |> print_endline;
>> +        exit 0
>> +      end
>> +    end
>> +  in
>>  {
>>    domain_init =3D !domain_init;
>>    activate_access_log =3D !activate_access_log;
>> @@ -70,4 +95,5 @@ let do_argv =3D
>>    restart =3D !restart;
>>    live_reload =3D !live_reload;
>>    disable_socket =3D !disable_socket;
>> +    config_test =3D !config_test;
>>  }
>> diff --git a/tools/ocaml/xenstored/xenstored.ml =
b/tools/ocaml/xenstored/xenstored.ml
>> index 366437b396..1aaa3e995e 100644
>> --- a/tools/ocaml/xenstored/xenstored.ml
>> +++ b/tools/ocaml/xenstored/xenstored.ml
>> @@ -88,7 +88,7 @@ let default_pidfile =3D Paths.xen_run_dir ^ =
"/xenstored.pid"
>>=20
>> let ring_scan_interval =3D ref 20
>>=20
>> -let parse_config filename =3D
>> +let parse_config ?(strict=3Dfalse) filename =3D
>>  let pidfile =3D ref default_pidfile in
>>  let options =3D [
>>    ("merge-activate", Config.Set_bool Transaction.do_coalesce);
>> @@ -129,11 +129,12 @@ let parse_config filename =3D
>>    ("xenstored-port", Config.Set_string Domains.xenstored_port); ] in
>>  begin try Config.read filename options (fun _ _ -> raise Not_found)
>>    with
>> -    | Config.Error err -> List.iter (fun (k, e) ->
>> +    | Config.Error err as e -> List.iter (fun (k, e) ->
>>        match e with
>>        | "unknown key" -> eprintf "config: unknown key %s\n" k
>>        | _             -> eprintf "config: %s: %s\n" k e
>>      ) err;
>> +      if strict then raise e
>>    | Sys_error m -> eprintf "error: config: %s\n" m;
>>  end;
>>  !pidfile
>> @@ -358,6 +359,12 @@ let tweak_gc () =3D
>> let () =3D
>>  Printexc.set_uncaught_exception_handler =
Logging.fallback_exception_handler;
>>  let cf =3D do_argv in
>> +  if cf.config_test then begin
>> +    let path =3D config_filename cf in
>> +    let _pidfile:string =3D parse_config ~strict:true path in
>> +    Printf.printf "Configuration valid at %s\n%!" path;
>> +    exit 0
>> +  end;
>>  let pidfile =3D
>>    if Sys.file_exists (config_filename cf) then
>>      parse_config (config_filename cf)
>> --=20
>> 2.34.1
>>=20
>=20



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 10:12:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 10:12:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465930.724767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7D8D-0002i6-A2; Mon, 19 Dec 2022 10:12:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465930.724767; Mon, 19 Dec 2022 10:12:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7D8D-0002hz-7F; Mon, 19 Dec 2022 10:12:25 +0000
Received: by outflank-mailman (input) for mailman id 465930;
 Mon, 19 Dec 2022 09:06:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=S2HB=4R=tibco.com=etorok@srs-se1.protection.inumbo.net>)
 id 1p7C6J-0002sv-1D
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 09:06:23 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 68107f26-7f7c-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 10:06:22 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id a17so6756434wrt.11
 for <xen-devel@lists.xenproject.org>; Mon, 19 Dec 2022 01:06:22 -0800 (PST)
Received: from smtpclient.apple (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 x13-20020a5d6b4d000000b00241ce5d605dsm9425932wrw.110.2022.12.19.01.06.20
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 19 Dec 2022 01:06:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68107f26-7f7c-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TCWBF3OEWnvUfBoDUtVk5E5Q1StbfyUlhDtoAnaiiVc=;
        b=kIJh+eYOmDL4M43Yuath/69GPWnBBAkC8gKHWT4SOvKJycj2v2iMAmfROtNFe2Pa0y
         hUvlQO/ilqZWeVXCY36+us+YB2YhYsNcI8IyVpIXcLdFYRlX8OrkT5NwwFdF2QSvQhrk
         2gusNCfF/gYC2f/ayZWrLRC4MGkSTnLxpm9RA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=TCWBF3OEWnvUfBoDUtVk5E5Q1StbfyUlhDtoAnaiiVc=;
        b=lgeFdqlY9BB0xvmQorbFe135UBQuW7l/YCbPYPDWJat4+9wSsIQFKmxROlUbyzGONV
         I6s+3VeTBpJOHTsrmzQtWCGJVuU4mSQKd3R24OV8v++YKLRu4mD679mX2ksilkw/wD5b
         axSaXA54uUVnHp4bEZXQH2L/43n1q/cMsHq7VIR0Axmp7UoZXe173F+gTFpobiB0/ntF
         3mj1x1JZTrxTAW78GmIPg0lMY2LvrlC50a5rD7GZX4Mond0NK8xiNkBP0/1J8p2u0mNW
         gmGy8ICBwGQ1ZREzuzwS60Oc2NBggmIG/Cr2h3qnOCM5ylqPoeJRD9+r22G48R3fJdH5
         zU8w==
X-Gm-Message-State: ANoB5pm5/UQ8R/1JUtbKqTFlZBYYUQnVutFfcOsVLqHB7fWtvqG1B4sW
	X9IIkyKgdKY/hbWsnj5gMI8qeQ==
X-Google-Smtp-Source: AA0mqf5tNFToqCvTiC1b9oRy+23umWSsCjrZkrE48uHSFxALXJM8TTKEp3Ej6l4/ySmBLF6OunZoCA==
X-Received: by 2002:a5d:4566:0:b0:242:782c:f397 with SMTP id a6-20020a5d4566000000b00242782cf397mr27806490wrc.25.1671440781315;
        Mon, 19 Dec 2022 01:06:21 -0800 (PST)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.200.110.1.12\))
Subject: Re: [PATCH v4 01/11] tools/ocaml/libs/{xb, mmap}: use
 Data_abstract_val wrapper
From: Edwin Torok <edwin.torok@cloud.com>
In-Reply-To: <bd686c65-dbf6-4ec0-9094-1c561cd6ee1d@citrix.com>
Date: Mon, 19 Dec 2022 09:06:10 +0000
Cc: Edwin Torok <edvin.torok@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <AA814D6B-617C-4B3E-84F3-71D2A3EB1BC8@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
 <4eb53994bcc3548e8da6e8ab9c50acf822b85702.1671214525.git.edwin.torok@cloud.com>
 <bd686c65-dbf6-4ec0-9094-1c561cd6ee1d@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
X-Mailer: Apple Mail (2.3731.200.110.1.12)



> On 16 Dec 2022, at 22:40, Andrew Cooper <Andrew.Cooper3@citrix.com> =
wrote:
>=20
> On 16/12/2022 6:25 pm, Edwin T=C3=B6r=C3=B6k wrote:
>> diff --git a/tools/ocaml/libs/mmap/mmap_stubs.h =
b/tools/ocaml/libs/mmap/mmap_stubs.h
>> index 65e4239890..66f18d4406 100644
>> --- a/tools/ocaml/libs/mmap/mmap_stubs.h
>> +++ b/tools/ocaml/libs/mmap/mmap_stubs.h
>> @@ -30,4 +30,8 @@ struct mmap_interface
>> int len;
>> };
>>=20
>> +#ifndef Data_abstract_val
>> +#define Data_abstract_val(x) ((void*)(value*)(x))
>=20
> ((void *)(x))
>=20
> I take it this has come from the Ocaml headers?  The cast to (value *)
> in the middle is entirely cancelled out.
>=20
> Can be fixed on commit.
>=20


In the OCaml headers it looks like:
+#define Data_abstract_val(v) ((void*) Op_val(v))

where Op_val is:
+#define Op_val(x) ((value *) (x))

However I haven't realized that Op_val has been in OCaml for a long time =
(at least 1995), so we can safely use it, and do this instead:

diff --git a/tools/ocaml/libs/mmap/mmap_stubs.h =
b/tools/ocaml/libs/mmap/mmap_stubs.h
index 65e4239890..6c33f14138 100644
--- a/tools/ocaml/libs/mmap/mmap_stubs.h
+++ b/tools/ocaml/libs/mmap/mmap_stubs.h
@@ -30,4 +30,8 @@ struct mmap_interface
    int len;
 };

+#ifndef Data_abstract_val
+#define Data_abstract_val(v) ((void*) Op_val(v))
+#endif
+
 #endif


There is an updated commit here for convenience: =
https://github.com/edwintorok/xen/commit/9855ed237f3f85ac30972bfd0a601c674=
6ba2353

Best regards,
--Edwin=


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 10:19:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 10:19:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465980.724789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7DF7-00042s-E8; Mon, 19 Dec 2022 10:19:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465980.724789; Mon, 19 Dec 2022 10:19:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7DF7-00042l-BB; Mon, 19 Dec 2022 10:19:33 +0000
Received: by outflank-mailman (input) for mailman id 465980;
 Mon, 19 Dec 2022 10:19:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=eGu8=4R=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7DF5-00042d-W4
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 10:19:32 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2042.outbound.protection.outlook.com [40.107.20.42])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9fb16289-7f86-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 11:19:30 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6846.eurprd04.prod.outlook.com (2603:10a6:803:12f::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec
 2022 10:19:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022
 10:19:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9fb16289-7f86-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LaWZ2WwpYX5uzDE6qqVrxPIPzid56rVLSvspEBBbNlvK9IvZgHVGbTR9VdoyGc+8U/vOCxbsMPWO66VgzEgOtnSlAQCB4PnJy4uWSVpGl6MuQqKQfvahK9rNIFwyu98sxAd6q04DWSIXKTEfqmws8Mc1a8cgf65JhlTe60bfWp9veQdDEdBUeJriiq/KYZsICtzpeSIgGupTpgxwrkMfvjnOWlBCWxcFJBzTaFgvlxMBm3j16plM0tNw4T8jg3MF/WK5j3LkVg2kNJDgqumPmM5PaQiZGII4VXUBJzZwFGZwliK9gpcCLvFg88K0fc3BzjyB0QmpBaXIHhwSXGyfUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YutDsqFUuEXkKGXksRxdd9RJ5vOoNIl9MpgB9o5wh5w=;
 b=PqvU+WjyMTOwLgpBAiLO0i6xXTM4niPiDE2UV1KLu2ndJokoGMobZhNZ4LqibvZIvLCpC9LbdJiiISR63568KfAE36N5ydnxswB6Tk3EsuJTdGOhgJSAiFZptUtyn54hFbCEUI2ByNlqwTkbyLLj4FnRK8K2nfZfocng/JPswN5yW6nT0lHXT5TGmOY6IVGxUqlBwrnp2SMLfY6e+znU2cMSMdGAUFkD9fmTUmkXu2RmpYTHI3HKa56JczdiTHnPfq2B+LpUurSWWy80/6llhd5DnqlifFa6wEsE2Wpt0BdWeMRkrX10usLIzot2v/VJ/D/RM9w1HxXugWVdB3S9kQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YutDsqFUuEXkKGXksRxdd9RJ5vOoNIl9MpgB9o5wh5w=;
 b=VL1tRW6QArGRmdkU/RbUPmRUAOunKuPnVsBaRw2R60TcPkt3PfPKofVER18DGhZHnasWVIxf10/C0z5exKjMNGuezQMxMSK5XmgIwfMA4ribjwKeTvPvjrHtnun8/Q7jC9nRRfiOV1mqTEAkUotCyZ9pZ3v19UsKUpDloVAhqQlPDSabRRGejrOdVBSc07wyXfB3crc1qM+hWMNYnWOeyPP7Xs3W2alYtuOeG8CqwtSgQ8RYRqtIULETFblhRlfjieOuBAk5Dgl1aocN3iJodK3IFgunpJirvBPImeFhHzqW3rjj7ssbXmTYvVlVADty8oT9v6CyISGEiSP9f2LImQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2e6390d3-d45e-3006-1370-adb0565445d2@suse.com>
Date: Mon, 19 Dec 2022 11:19:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] NUMA: replace phys_to_nid()
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0131.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB6846:EE_
X-MS-Office365-Filtering-Correlation-Id: 41eccf64-06d4-4e3e-a50a-08dae1aa8256
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	c3r5MzOThYfqNe/v8nnE3UOEdOhgDtizJCMfLuGU5vF7VK5dq4iuub7tHOtGS9dpFL6vVJzVyOhU7+GoIpqlL44F5IJYpHozkrgKPmcewM8lWV3anqcDK3O7entJSgTeJe3mxNKcOcgNUwcf8yYtooPwXHDccJ30DPlY7eeffnByIsrXDrlS58AFY0C8H8KtMuP/qeuyPeqoyLL9pi8xBID52Own5aIfA2f/toXDTHSQDkaNT5COSYpZzCwFu8Z/jL5y9mM+3nwyJHHGQMyrZkiib2o7FUL7kdpbYj24OC+z/s7ns/Ow6O01N2t2hyY0AOYbv8cfYvVUPjVmdFO25SS8uMcTUCTyWG0BIJonGUMBLg8h9xBURSxWe72Mj2TI4pz+w34bY3c3QqLVuuO5a47hkH9NICOEeKzk4xl8cFc2MbplQ6hefmhCtrUb0TBaAa13Jf7ft/HlMW/FErQg4SglLrjYpaiLfDaJYYEEwvBmWV9SN25CYBsgIxHCwY7aC9PprvKLvPYZ8qK3dKP/mZbustPB+yqVW3duk8Xr4g3B+G9gHTDjcmcL+g5fwvGJtimijxc99DnWWrUgn3cvtjPjA0RNV8tP8dnUDBxy19sqgxwdeK6Mgtm55zl37YrIOhbAuzig7cv9DEpKBmOvkGpUTHuuw6tQsYNvh0TQcYFir7A9pCGv75vaSFEuZMRhuAnnouznNscprXPt/oN6vdPRAlDKDvyPiyhBk3y5BmY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(376002)(366004)(39850400004)(396003)(451199015)(41300700001)(4326008)(8676002)(36756003)(38100700002)(5660300002)(8936002)(2906002)(83380400001)(31686004)(6506007)(6486002)(478600001)(316002)(26005)(6916009)(66556008)(54906003)(66946007)(66476007)(2616005)(31696002)(86362001)(186003)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGNZbDhzekVyekRFRFZlcTBlRExMMnB3MDRta1VNR1I3R0w2b3hQUXRmeURY?=
 =?utf-8?B?Tk9ncUsrVWRkeDRVWTU4LzVkNWFzMzE4a29zZjRYMkcrWDlOT29wRnRNTWZh?=
 =?utf-8?B?d0RBMm80ZE1STDN0ZXJMWUxLS1pmbXpoVzdzY0l0VU1DSEV6WXZHYnNpWVhW?=
 =?utf-8?B?Z0w4VWRscjhyWG5NVUFMM0d6byt1ckJreFBCcG5EY1JnVnpKRnJrejY3NzBq?=
 =?utf-8?B?SENDZnh3d05Eek1qTmhxcHJEV0RLYldJc2tWd2ZUVjNRQTY5VFVHNVQzR2pT?=
 =?utf-8?B?bk42M2VQWGNYekM0NFhRR0ttQkJIV2poVkxHck1BZ09rUkoxRiszZHk5V1Yy?=
 =?utf-8?B?MFB2cUE5VlFXR0ZlS1l4WU81N2tTL0hydnhtektCUDNPTUpQV2xrSVlzQmJj?=
 =?utf-8?B?QjdxMUY3bHZQaDFtV3BiMGRzdEJyUW9JSDRLQ3liYmNUMFZNZlp5NDJiTXZr?=
 =?utf-8?B?UGJ6dFlueUx4c3k4UG5HcThJNE1vUklPQzNvMTNmVHFpYjlPYlVpYVQzUUd4?=
 =?utf-8?B?UkJlSVplS28wNGhORmNwK0Uzd1ZEUXdvZVBFSGRWM2RnQnV0bmQrR01xSVJi?=
 =?utf-8?B?enNCb25FdWMzOVBmU3BhSnIvYmltKzdqNXNQN2FzaUFEUENPSXZCL0UrQUhh?=
 =?utf-8?B?elNpZVBrZDFJSVh4WVNJMEphcUhQZmZGeEh3WnBjOTFwUXUrcXM0WXpJdUpo?=
 =?utf-8?B?cDBnSzQ5MnhNVjRCQ29DUFpYUFRrdDhkclZMcG5KVjk4OVkwYlQ4dHRJWnNm?=
 =?utf-8?B?dkEzRFdsZ2FmOFJqVlF2VERZTHZIQXR2NGZ4eHZ4UE9JWFpVZEpGRXNnbGgv?=
 =?utf-8?B?SUVkbHE2RGZwd0Fta2dPT3ZuT21uV01EU1hJSzVlaWsyQURtNjlNU1hQQ29C?=
 =?utf-8?B?VGFwTlQ0c3RoS0orWUt1QjVuSDMzK09HbVhDclNtNVlOKysxWXJ4T2g4dGxl?=
 =?utf-8?B?N1FEZERUd0p2c1JDUE5icVFrUUxvY0UwT3ZIb2JoL0J5Z0lVRVdnOStTUFNh?=
 =?utf-8?B?VGZzSUcwTlYvcmtuTXZGUERBK0hYVUJ5TU54NGI3SXJubFZrV3FOS1BuT092?=
 =?utf-8?B?d1NkMC8xNTUzUlVyZEQ4a2plcU5zQ3NZZWtoeFBGMm53eC9HSzh4UCtLSGxm?=
 =?utf-8?B?TkNoalJIS0wwemZRN1l2NTdERGU5Y3g1TlRpb1hDbE5Fa0cxMWlpMXlVdmdF?=
 =?utf-8?B?MkxGanMrUGlkL2VGRGtHd05KQnFyYlFtZ1JGMXJsdHQxLzFIQWw1VUIvWmZu?=
 =?utf-8?B?SVAyejNvdXhhU005bW5IcEtFd0tpVDFuQW13NG1GSzREdjd5a1I1UkZ3S0t5?=
 =?utf-8?B?bFNZcGhiTVBkZUprT3lLN1V2a2lEbUR4TklLcThLbGdNYXYxN2ZYSG0wbzR3?=
 =?utf-8?B?MW9HSnlYZW16L25IbTh6OFN6TVQ5SUdUZ0pkZ1BSUWYzajhKOXJyZ2lRYXVz?=
 =?utf-8?B?V2lzZ0crS2NleDM4cmMyNDFLVXI4QzlPVnQ3ekRQYWVVOWJWMURmSUdGc1Jw?=
 =?utf-8?B?TTBkblhIUnE4UXFHOW5nL2ZJTDJocUNzWHFTQXpZQXR6YitvVy92dThSeTQ3?=
 =?utf-8?B?aTR2elJ5NmdFMm5uS2V0NzVyWnR0d24zVGp3Y1RyM1p6c0s1VGg3RDA4a2VY?=
 =?utf-8?B?T3NpZ1ZGc2pjSUVHMzRFU0tHR25OeVJUS0Y5VTZRZS9BSGtYOWFHZlY2OWU0?=
 =?utf-8?B?cCtJdldjZjJLN0xsMUVRMytCMWx2Uy91MUM5bFg5YllaNGp2aWl2QXZ5V1Nv?=
 =?utf-8?B?ZjB2eWM2NFZQLzI0WXdFU3lYZG5uTWhlYjB3TGtUeW5HUHp5Vm9wWXJOZ2h0?=
 =?utf-8?B?TGF1RTlIalc2Y1ZtRVpqRDUreW9HQTBDMUFiT0ZLcE4zeHFBenZqNmpwZDdv?=
 =?utf-8?B?QUdaVmdCek42UFlWeVU5Z2NBSEdqVEpPbWxDblc3Q1ordFZFMCt3SVltVEdr?=
 =?utf-8?B?WXI2Y2J4Vy9wbUtLcjhUbWZBR0x2S0w5TlF2MGh1VG5KME8rS2lyWlFNMktJ?=
 =?utf-8?B?bmc3bTMrb2NLWmxXaENqcmI5eEVWTTYrQjczWUFqY1lzU3FoOTVQa3BLa1ZV?=
 =?utf-8?B?d2RmVUo5cUhRQlJZalJnOTFyRm5QRWRqUHFSY2xKOTFvcFZsUXdDMnQ5NW1o?=
 =?utf-8?Q?gza8zHNlQA6vRrVrdAjt76iu7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 41eccf64-06d4-4e3e-a50a-08dae1aa8256
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2022 10:19:27.4846
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gM4NzAi0e4LoQVmJh6HEA2V3e5vWN5nWfTqmRPoVU2RZPPhlhf42LLorwGIdtHJIXKFJcv1sKB0PreyebXgcXg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6846

All callers convert frame numbers (perhaps in turn derived from struct
page_info pointers) to an address, just for the function to convert it
back to a frame number (as the first step of paddr_to_pdx()). Replace
the function by mfn_to_nid() plus a page_to_nid() wrapper macro. Replace
call sites by the respectively most suitable one.

While there also
- introduce a !NUMA stub, eliminating the need for Arm (and potentially
  other ports) to carry one individually,
- drop the (strictly speaking wrong) "pure" attribute from the function,
- extend a condition in dump_numa() to make sure that none of the
  assertions would trigger for empty or (unlikely) single-page nodes (at
  the same time this also prevents the warning printk() to be issued for
  every empty [e.g. CPU-only] node).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
v2: Refine guarding in dump_numa(). Drop __attribute_pure__. Use
    mfn_to_nid() in free_heap_pages().

--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/arch/arm/include/asm/numa.h
@@ -11,11 +11,6 @@ typedef u8 nodeid_t;
 #define cpu_to_node(cpu) 0
 #define node_to_cpumask(node)   (cpu_online_map)
 
-static inline __attribute__((pure)) nodeid_t phys_to_nid(paddr_t addr)
-{
-    return 0;
-}
-
 /*
  * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
  * is required because the dummy helpers are using it.
--- a/xen/arch/x86/mm/p2m-pod.c
+++ b/xen/arch/x86/mm/p2m-pod.c
@@ -492,7 +492,7 @@ p2m_pod_offline_or_broken_replace(struct
 {
     struct domain *d;
     struct p2m_domain *p2m;
-    nodeid_t node = phys_to_nid(page_to_maddr(p));
+    nodeid_t node = page_to_nid(p);
 
     if ( !(d = page_get_owner(p)) || !(p2m = p2m_get_hostp2m(d)) )
         return;
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -565,7 +565,7 @@ void __init paging_init(void)
                 if ( n == CNT )
                     ++holes;
                 else if ( k == holes )
-                    memflags = MEMF_node(phys_to_nid(mfn_to_maddr(mfn)));
+                    memflags = MEMF_node(mfn_to_nid(mfn));
             }
             if ( k == holes )
             {
@@ -600,7 +600,7 @@ void __init paging_init(void)
             mfn = _mfn(MFN(i) + n * PDX_GROUP_COUNT);
             if ( mfn_valid(mfn) )
             {
-                memflags = MEMF_node(phys_to_nid(mfn_to_maddr(mfn)));
+                memflags = MEMF_node(mfn_to_nid(mfn));
                 break;
             }
         }
@@ -677,7 +677,7 @@ void __init paging_init(void)
             mfn = _mfn(MFN(i) + n * PDX_GROUP_COUNT);
             if ( mfn_valid(mfn) )
             {
-                memflags = MEMF_node(phys_to_nid(mfn_to_maddr(mfn)));
+                memflags = MEMF_node(mfn_to_nid(mfn));
                 break;
             }
         }
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -671,15 +671,15 @@ static void cf_check dump_numa(unsigned
 
     for_each_online_node ( i )
     {
-        paddr_t pa = pfn_to_paddr(node_start_pfn(i) + 1);
+        mfn_t mfn = _mfn(node_start_pfn(i) + 1);
 
         printk("NODE%u start->%lu size->%lu free->%lu\n",
                i, node_start_pfn(i), node_spanned_pages(i),
                avail_node_heap_pages(i));
-        /* Sanity check phys_to_nid() */
-        if ( phys_to_nid(pa) != i )
-            printk("phys_to_nid(%"PRIpaddr") -> %d should be %u\n",
-                   pa, phys_to_nid(pa), i);
+        /* Sanity check mfn_to_nid() */
+        if ( node_spanned_pages(i) > 1 && mfn_to_nid(mfn) != i )
+            printk("mfn_to_nid(%"PRI_mfn") -> %d should be %u\n",
+                   mfn_x(mfn), mfn_to_nid(mfn), i);
     }
 
     j = cpumask_first(&cpu_online_map);
@@ -721,7 +721,7 @@ static void cf_check dump_numa(unsigned
         spin_lock(&d->page_alloc_lock);
         page_list_for_each ( page, &d->page_list )
         {
-            i = phys_to_nid(page_to_maddr(page));
+            i = page_to_nid(page);
             page_num_node[i]++;
         }
         spin_unlock(&d->page_alloc_lock);
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -971,7 +971,7 @@ static struct page_info *alloc_heap_page
         return NULL;
     }
 
-    node = phys_to_nid(page_to_maddr(pg));
+    node = page_to_nid(pg);
     zone = page_to_zone(pg);
     buddy_order = PFN_ORDER(pg);
 
@@ -1078,7 +1078,7 @@ static struct page_info *alloc_heap_page
 /* Remove any offlined page in the buddy pointed to by head. */
 static int reserve_offlined_page(struct page_info *head)
 {
-    unsigned int node = phys_to_nid(page_to_maddr(head));
+    unsigned int node = page_to_nid(head);
     int zone = page_to_zone(head), i, head_order = PFN_ORDER(head), count = 0;
     struct page_info *cur_head;
     unsigned int cur_order, first_dirty;
@@ -1443,7 +1443,7 @@ static void free_heap_pages(
 {
     unsigned long mask;
     mfn_t mfn = page_to_mfn(pg);
-    unsigned int i, node = phys_to_nid(mfn_to_maddr(mfn));
+    unsigned int i, node = mfn_to_nid(mfn);
     unsigned int zone = page_to_zone(pg);
     bool pg_offlined = false;
 
@@ -1487,7 +1487,7 @@ static void free_heap_pages(
                  !page_state_is(predecessor, free) ||
                  (predecessor->count_info & PGC_static) ||
                  (PFN_ORDER(predecessor) != order) ||
-                 (phys_to_nid(page_to_maddr(predecessor)) != node) )
+                 (page_to_nid(predecessor) != node) )
                 break;
 
             check_and_stop_scrub(predecessor);
@@ -1511,7 +1511,7 @@ static void free_heap_pages(
                  !page_state_is(successor, free) ||
                  (successor->count_info & PGC_static) ||
                  (PFN_ORDER(successor) != order) ||
-                 (phys_to_nid(page_to_maddr(successor)) != node) )
+                 (page_to_nid(successor) != node) )
                 break;
 
             check_and_stop_scrub(successor);
@@ -1574,7 +1574,7 @@ static unsigned long mark_page_offline(s
 static int reserve_heap_page(struct page_info *pg)
 {
     struct page_info *head = NULL;
-    unsigned int i, node = phys_to_nid(page_to_maddr(pg));
+    unsigned int i, node = page_to_nid(pg);
     unsigned int zone = page_to_zone(pg);
 
     for ( i = 0; i <= MAX_ORDER; i++ )
@@ -1794,7 +1794,7 @@ static void _init_heap_pages(const struc
                              bool need_scrub)
 {
     unsigned long s, e;
-    unsigned int nid = phys_to_nid(page_to_maddr(pg));
+    unsigned int nid = page_to_nid(pg);
 
     s = mfn_x(page_to_mfn(pg));
     e = mfn_x(mfn_add(page_to_mfn(pg + nr_pages - 1), 1));
@@ -1869,7 +1869,7 @@ static void init_heap_pages(
 #ifdef CONFIG_SEPARATE_XENHEAP
         unsigned int zone = page_to_zone(pg);
 #endif
-        unsigned int nid = phys_to_nid(page_to_maddr(pg));
+        unsigned int nid = page_to_nid(pg);
         unsigned long left = nr_pages - i;
         unsigned long contig_pages;
 
@@ -1893,7 +1893,7 @@ static void init_heap_pages(
                 break;
 #endif
 
-            if ( nid != (phys_to_nid(page_to_maddr(pg + contig_pages))) )
+            if ( nid != (page_to_nid(pg + contig_pages)) )
                 break;
         }
 
@@ -1934,7 +1934,7 @@ void __init end_boot_allocator(void)
     {
         struct bootmem_region *r = &bootmem_region_list[i];
         if ( (r->s < r->e) &&
-             (phys_to_nid(pfn_to_paddr(r->s)) == cpu_to_node(0)) )
+             (mfn_to_nid(_mfn(r->s)) == cpu_to_node(0)) )
         {
             init_heap_pages(mfn_to_page(_mfn(r->s)), r->e - r->s);
             r->e = r->s;
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -1,6 +1,7 @@
 #ifndef _XEN_NUMA_H
 #define _XEN_NUMA_H
 
+#include <xen/mm-frame.h>
 #include <asm/numa.h>
 
 #define NUMA_NO_NODE     0xFF
@@ -68,12 +69,15 @@ struct node_data {
 
 extern struct node_data node_data[];
 
-static inline nodeid_t __attribute_pure__ phys_to_nid(paddr_t addr)
+static inline nodeid_t mfn_to_nid(mfn_t mfn)
 {
     nodeid_t nid;
-    ASSERT((paddr_to_pdx(addr) >> memnode_shift) < memnodemapsize);
-    nid = memnodemap[paddr_to_pdx(addr) >> memnode_shift];
+    unsigned long pdx = mfn_to_pdx(mfn);
+
+    ASSERT((pdx >> memnode_shift) < memnodemapsize);
+    nid = memnodemap[pdx >> memnode_shift];
     ASSERT(nid < MAX_NUMNODES && node_data[nid].node_spanned_pages);
+
     return nid;
 }
 
@@ -102,6 +106,15 @@ extern bool numa_update_node_memblks(nod
                                      paddr_t start, paddr_t size, bool hotplug);
 extern void numa_set_processor_nodes_parsed(nodeid_t node);
 
+#else
+
+static inline nodeid_t mfn_to_nid(mfn_t mfn)
+{
+    return 0;
+}
+
 #endif
 
+#define page_to_nid(pg) mfn_to_nid(page_to_mfn(pg))
+
 #endif /* _XEN_NUMA_H */


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 10:28:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 10:28:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465988.724799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7DNY-0005YK-8M; Mon, 19 Dec 2022 10:28:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465988.724799; Mon, 19 Dec 2022 10:28:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7DNY-0005YD-5e; Mon, 19 Dec 2022 10:28:16 +0000
Received: by outflank-mailman (input) for mailman id 465988;
 Mon, 19 Dec 2022 10:28:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7DNW-0005Y7-PN
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 10:28:14 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7DNV-0003WL-Bb; Mon, 19 Dec 2022 10:28:13 +0000
Received: from 54-240-197-231.amazon.com ([54.240.197.231] helo=[192.168.8.73])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7DNV-0008VC-4o; Mon, 19 Dec 2022 10:28:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=qFgZAhiau7ROPynYpmL9Fn51/YeH3jYYsdVHjaltsjE=; b=vSbqmzi4FA50wXc/dTUrvCUg5v
	jdS1rkgyqYuGtuf8IXb+b4/PpewEdPBtpcfn5HRnoZRt2ey72AQ22RfxJEHer6FgRlsdfzYRAeQYu
	3XDJdSOW3BsqhAyV9FUh7LXIhigbFDQGhBVy4aultVkxrzhZ92hUo7vUwoXXVE1gEKwc=;
Message-ID: <ac02add0-63ba-8360-e5a0-9a9b4d2ae00f@xen.org>
Date: Mon, 19 Dec 2022 10:28:10 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v2] NUMA: replace phys_to_nid()
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>
References: <2e6390d3-d45e-3006-1370-adb0565445d2@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <2e6390d3-d45e-3006-1370-adb0565445d2@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 19/12/2022 10:19, Jan Beulich wrote:
> All callers convert frame numbers (perhaps in turn derived from struct
> page_info pointers) to an address, just for the function to convert it
> back to a frame number (as the first step of paddr_to_pdx()). Replace
> the function by mfn_to_nid() plus a page_to_nid() wrapper macro. Replace
> call sites by the respectively most suitable one.
> 
> While there also
> - introduce a !NUMA stub, eliminating the need for Arm (and potentially
>    other ports) to carry one individually,
> - drop the (strictly speaking wrong) "pure" attribute from the function,
> - extend a condition in dump_numa() to make sure that none of the
>    assertions would trigger for empty or (unlikely) single-page nodes (at
>    the same time this also prevents the warning printk() to be issued for
>    every empty [e.g. CPU-only] node).
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 10:54:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 10:54:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.465998.724811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7DnC-0000aR-Iz; Mon, 19 Dec 2022 10:54:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 465998.724811; Mon, 19 Dec 2022 10:54:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7DnC-0000aK-G5; Mon, 19 Dec 2022 10:54:46 +0000
Received: by outflank-mailman (input) for mailman id 465998;
 Mon, 19 Dec 2022 10:54:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kQjb=4R=citrix.com=prvs=345253497=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1p7DnA-0000aE-G8
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 10:54:44 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 87e36ed4-7f8b-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 11:54:40 +0100 (CET)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 19 Dec 2022 05:54:37 -0500
Received: from DM6PR03MB4172.namprd03.prod.outlook.com (2603:10b6:5:5c::23) by
 CO1PR03MB5923.namprd03.prod.outlook.com (2603:10b6:303:6e::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5924.16; Mon, 19 Dec 2022 10:54:35 +0000
Received: from DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::a77b:c822:a19b:ef23]) by DM6PR03MB4172.namprd03.prod.outlook.com
 ([fe80::a77b:c822:a19b:ef23%3]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022
 10:54:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87e36ed4-7f8b-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671447282;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=taL+j06wqMXSj6LAwkRaMhAGjDlHIssZFXLkUhOyAnY=;
  b=H8jQkS0ixS/ZnxO9zgssApiNAFwp8AKiZq/AYYy/7jQAjCvHDz5S5F2v
   BNaVp2YtU8UILSbUjKjCQ/f81DEPdtFpqUVCPsTdQkN4ndxc2fMLfc84Q
   5v7T0SE3QsbORLJOgsZKRdJuO6h3rRFduKo5pPFY2Eyf+wdMRruHop0FI
   w=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 89057475
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ZPZzT6PwvBIacRzvrR1ZlsFynXyQoLVcMsEvi/4bfWQNrUorhjBWx
 jNNWW7TOPyOMzb0ftpzbY2+phsOsZOExtNnTgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5w1mPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0tsqRlBQq
 OMbFBcmQT6z3+yz/72fF9A506zPLOGzVG8ekldJ6GiASNwAEdXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PpxujaDpOBy+OGF3N79cdyQRN5Jn0+e4
 GbH+Wj4DTkRNcCFyCrD+XWp7gPKtXOqAN9NSOLlnhJsqB6UxEEdFgc2bAG2r9zlrWDlWvEAc
 kNBr0LCqoB3riRHVOLVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQruNA3Q3o20
 UWOnPviATtyvPueTnf13rudsz6aIyUeKm4GIygeQmMt/N3LsIw1yBXVQb5LEqS4k9n0EjHY2
 C2RoW41gLB7pcwW06S2+3jXjjTqoYLGJiYu/RneVG+h6gJ/Zaamapau5Fyd6uxPRLt1VXGEt
 XkA3sKYvOYHCMjUkDTXGbtdWra0+/yCLTvQx0Z1GIUs/Cis/Hjlep1M5DZ5JwFiNcNslSLVX
 XI/cDh5vPd7VEZGp4cuC25tI6zGFZTdKOk=
IronPort-HdrOrdr: A9a23:70lDh6zKkuRmQdIVifKfKrPw6L1zdoMgy1knxilNoHxuH/Bw9v
 re+cjzsCWftN9/Yh4dcLy7VpVoIkmsl6Kdg7NwAV7KZmCP1FdARLsI0WKI+UyCJ8SRzI9gPa
 cLSdkFNDXzZ2IK8PoTNmODYqodKNrsytHWuQ/HpU0dKT2D88tbnn9E4gDwKDwQeCB2QaAXOb
 C7/cR9qz+paR0sH7+G7ilsZZmkmzXT/qiWGCI7Ow==
X-IronPort-AV: E=Sophos;i="5.96,255,1665460800"; 
   d="scan'208";a="89057475"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MNqoqPJ1+vbWdW8BN7vAdZ0BZYKuml4To69FlnhFx110EHFZygc9Iql+c2o82AlPo686JV9SMTVIdxdGUiLE0QBGP5BUmGZoIDIU4bW53WHfMRnGKMAd6AfBI1f3lPzhn6eT1wAU1yKSTLplnHuvtP1FZoXej/VT7BayskmLJnnsTNR4wd5qAgqi8KWtWB1vM112BvsheVunqVgRBjfHUOPgMeVDMk8g48m2b1CWS1AEk7ujtfuQBzgvuMLsrKmHtx3yv8q17O41z/FruEbGMxVbjaVLLqzdpOpHrnufyYGR/EJatV5U0FrgAm8YRFqh++E+ZqrOmj/r6zq6ihFK7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=taL+j06wqMXSj6LAwkRaMhAGjDlHIssZFXLkUhOyAnY=;
 b=OE80GOT917qsnLv2x75xuOsZFBodQY1N51siadahfTbHzPb5FPGlx86Rj+K/zSSLqAK30NYiOG9GzSu2hVses5VrQrQA92QOHMl7YhJp3dpBLK93Gsor/VXo7cHBkZ7P0jI5bAQc6OfQWF4hcMI9TQtFXZhtIDt6SVvraH6xNfc9eZbAFiZMGgaHyOsc4pha5uLxaiyxi+pjdzILk5D0eDawT8aOaYcdoA7cWFx52F07+ALgLPGUuPsO1RNyZ+k0qg4IzKwUaMFM9uwrJBNLuKHpXC5aDow/mMZK5WgyNTIPbjGx42mX65+6p2TOiwEMsknyiWnanJHiKZ/fB3WJyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=taL+j06wqMXSj6LAwkRaMhAGjDlHIssZFXLkUhOyAnY=;
 b=wDKuQA753B3tsxB5WdX0yjcni29031C4owWjvby49ARWtLsjGn/5NXywvcNcHO94HxY3PkRtlLp2oTJLGBVEXo6D6rGkrIzQkg32Oo0n0EFyYjm/XcEWp8HeaLgmoX3dW1kvpai3m+XAoct4rmp6qHseXJZvW1mgRNk4Z1y2iZY=
From: Christian Lindig <christian.lindig@citrix.com>
To: Edwin Torok <edvin.torok@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>,
	=?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>, David Scott
	<dave@recoil.org>, Wei Liu <wl@xen.org>, Anthony Perard
	<anthony.perard@citrix.com>, Andrew Cooper <Andrew.Cooper3@citrix.com>,
	George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v4 00/11] OCaml fixes
Thread-Topic: [PATCH v4 00/11] OCaml fixes
Thread-Index: AQHZEXvSRlRtCozhfEauXw1Y8zbwDq51DZcA
Date: Mon, 19 Dec 2022 10:54:35 +0000
Message-ID: <9B0F9904-C328-4956-AC0F-9B2595CB5826@citrix.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
In-Reply-To: <cover.1671214525.git.edwin.torok@cloud.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3696.120.41.1.1)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM6PR03MB4172:EE_|CO1PR03MB5923:EE_
x-ms-office365-filtering-correlation-id: c399789f-ff8c-4696-838d-08dae1af6ad7
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 IfLnuPTItSdXZiMxdOF2XHxbEGW8qb021dzNxS8qdF/PqXq8UenaIvRVL4ndjK5y3GQBuq9wCzTZR9OcHBjhOKl+mr46luDAEdZUtBH1ij6OwjbHNPAYh4aJO56/Oq7V2z/Y6xuGu6+6K6Wr6IcrHfwSmw3V5xxUBZexZr4AbeasW3YKdf54ZpQYV5bElsrftMcS//Wgw2Gj3dP1BoUVZbhKiqvDiVk6/xMjE4NLRfbd9YJHZZh7bae6Pc+sEWRVEaeKqBCWSDbJZ55B2PTMKKCR3arc66v4tbs1F8MDLEuQIGaR99HWxQoA1B+8fErJ4kILtMkz+H0oT713o38kKMZYzsd4472o5Euu5XOcjrV4WBBGE0xD+f9we7tldlRDeXiVCG2jHZUX7YKTfqqWVFAC6gmWStvcf/uVdiZc+MCAbCQpcd593OW51kOpWQwK5JXiA2dM599HExoPIg0Gtj6OtEMNjr85Cnk4jSBDx7LNA0Y1PAA9mCZDKe8Ef1kX/TeOSt+cUTopI5e3lGcoQdK1JPhf7CTOufkAK8zIImUeLMeHtS8iTGNV2oKHQzjRG+zGcCGyufLaqCOTbQ3M2H49taCWlQYGlVL105BJcHyEpsg9vjCsCygHDlSkyuanOpdraympIV1rKjVyzZGogS4Lwarq0gJX6aCyptbmjZUXmlyiLiCQcP426hwGnsU3xhRwLt8ScA8rhidcKWIvfEfAMwmnGht7B0S3P/hk4Lc=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR03MB4172.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(39860400002)(346002)(136003)(366004)(396003)(451199015)(6506007)(53546011)(44832011)(71200400001)(4744005)(6486002)(33656002)(478600001)(122000001)(91956017)(76116006)(66946007)(66446008)(64756008)(66476007)(66556008)(4326008)(8676002)(38070700005)(6862004)(8936002)(7416002)(38100700002)(5660300002)(83380400001)(41300700001)(36756003)(2906002)(54906003)(6636002)(37006003)(2616005)(82960400001)(66574015)(316002)(26005)(6512007)(186003)(86362001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?clJ5YXREVDgway94YkNlcVZBd2NhdnViR2pQd3VKT3Zra2JpNGNabEZBZUht?=
 =?utf-8?B?a09GaGl5MDRFTFVrQU1UaFhrUG1kRk0zbjNTKzNRN3UreDgydHJMRXZzTU44?=
 =?utf-8?B?a2lmMTJGb3hWUkQrZjU4dE5aNlYxdVNKem95WnlHZHNRSTIvOXY3L2FhTzlE?=
 =?utf-8?B?Mko5dldMUnQ4QjMwM3Bkam1ERTdRdExTbzJhSU1NUFlWdkhWZWhmMWxycGV6?=
 =?utf-8?B?czlJNGFKUCtvY29ZaE5HT3dkVUZ1QTZ4U2VMQ0h3WWZ1cVgwMkJyS1p3bUFO?=
 =?utf-8?B?MjhXc2EwNEdsb1h2RzdNQUI1bERLb1N1T2RHSGJKVkh0WUdnSWFzd25sNkFJ?=
 =?utf-8?B?M0xuZ1E5YmZWdEZkMWtWUkRlQU5wdFBjVUpyZDVxVzM4ek11Zld4MlkwaWow?=
 =?utf-8?B?aCtSenVnRnZmemQ0ZlVSeU90OWllei8wdGh4YWptUVpSUGRhbitZd3hyNW54?=
 =?utf-8?B?eGQxWTBTSGVYRHlGQlYySk16SGQ3SDE5OHpmT1BJbkc2YW9VMUNtUklTQXRX?=
 =?utf-8?B?dnBWN2hIS2xNd3d3dDdRTWdUeWZjQndTWGJab2Y3MjlTT2tGOW4zQk52aFQw?=
 =?utf-8?B?TXZOM0V1N01oelRQQ0VkU1dyeWxDMEJHQ0hJV2w5RmZDYVlGMUVFWE5tNWRF?=
 =?utf-8?B?WnJOOXhnVVNxSW9ucGZzWDNJbnRCRFRoL2wvMzUvK2dkc3ZlRnNhclZQQUk0?=
 =?utf-8?B?V3R0UTFKd3JUc0hWajZGWVZ3dkh4Q0xxTHZQRFpzbmJtWVkvTHFsczNReG9v?=
 =?utf-8?B?NG9BbkcrTzZ3TWlPb3dWVmN4ZVBBYzY3aUxTbWJNNU42MndSRjdTWE5QelZX?=
 =?utf-8?B?d3NYNkh5Tzk1NndmTkd0SEpHYVB5YjdXQWtqM1VQQy80UFdHaEk5dVlRT2hr?=
 =?utf-8?B?QU9BOWpyL09JZlI0OEQraFdWSGUwL3ZxYnFvYUdWYmZiaVBVcUJQRk1jYXFm?=
 =?utf-8?B?OFcyVkF5M3NIanFqbVp2QjN0SFo5TmR5M1F6SHJsMHB1dDFLQVNVaTZLZ01u?=
 =?utf-8?B?bGR3Rk5uMDNnZk0xRUp3bnlVMGVPWWhDT250b3lBS2NIWEFMSTlrTXVsS29W?=
 =?utf-8?B?QnZCT0pFLzI2bTV5by9qaFc4SllqK1lzREg0b2UrdEltdU0yN3lCUmN2R2tm?=
 =?utf-8?B?YUczS1FBdFF1bXpvTHFmemRZcDRnQkI2Y1p5ZGxsSTVzM3NMeTBGOWhWdWZn?=
 =?utf-8?B?YVRNSXJZaEVVcVpkS2tUQmlXOG1wNTlHOXMxWGU5K004RlQ2dzZxUFBOczly?=
 =?utf-8?B?MWJEaWw3QXZKRFI3QTZyc01wUkwvUUJncHN0L3V4cUFTeVRYOUtHZVJjR1Iz?=
 =?utf-8?B?aDFNRWhLSUMyUE1PazNzNnJQbWtlUTRPWW1hYnh4TW9ZL1plQVp5ZThSMWRB?=
 =?utf-8?B?bmx3RVFtN3RkdTJjSE8yR3RHRnRLQWFSNXZMMHNscXVNREdXUVlYeWZud2Iv?=
 =?utf-8?B?THRQZE44UlM5VE8wNitWdEdrRmU0Vk9xVU9QUXB1UGtONXl1UEtGdUhKSjlG?=
 =?utf-8?B?QkhKUytKdGVOeE41QkhNbzRreEJWMGsvWWVmcStXUmJLcjRLYVFSejVGbUZR?=
 =?utf-8?B?Smc2U0xTeEFEejlNUWs0TWI3ZHhGQzFXeGxEVFVFMlE5d2F3UzFLcWtPN1h3?=
 =?utf-8?B?WVVvMGdWdmQra0RWU1lGelpwekpxVHRYMStxelpzSUFXN3MrTU9HdjhvejNl?=
 =?utf-8?B?ekJmeUp6ZDdKZ2E0RkNtc3l6R3pRYTk5TVBPOGNsVjJUeWhkem1XYllsb2F6?=
 =?utf-8?B?TnNQb1ZVdnBPdlgxd1NtSnNtcEkrUVFSTGVZbEhkNFlGSlRTYXdhVW5sdHJv?=
 =?utf-8?B?d2s3N2x4VHZPU1liaXJhSXg2ajZCYUJ0NUFWQStYYkhsSjJjT2R6N25zMXAz?=
 =?utf-8?B?TXBzTnFCVjB2dTFWcStNejdnUlJRaTJrTDQ5L21URC82WVdyYzdPSWYrZ1I3?=
 =?utf-8?B?SlFXL3ZFTjBVaVFDdmNsZmZqU3A4QUZpZ2FMNEFjZG03VWtRMXNUL2ZJYzdj?=
 =?utf-8?B?RmZOWEdSVjVqLzBBamhnUDU2UlRDOVlUaVdWL01YWFhpWWxhT2Q3NFRuajd5?=
 =?utf-8?B?aWhlOWlKNnB5Y0NuTzNyN3lzb3VWQ3dUc2poVGVNdFdpOWp2UkdiMjJYa0hF?=
 =?utf-8?B?WWo1UjY4NkRJUXdwckhUa2lWNnU1QzZMeUhmeGVQQUEvUGhmbDZkRGM2TU9R?=
 =?utf-8?Q?LXP2evWSp6EzHl60IZgeAHQ=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D29F48195BDBFC4096C9AE5BDDA8ABFF@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM6PR03MB4172.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c399789f-ff8c-4696-838d-08dae1af6ad7
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Dec 2022 10:54:35.4225
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 8VfOZmJVrUoUs+Tv0I5M7Kn3+aSTLhz71ZhxkmOhhnSN7OpRSmjyOU8EtYLaKNps65IRPQmTXoBjaiG9sk0rR35F+55E/nKno8nGSjLLzcw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5923

DQoNCj4gT24gMTYgRGVjIDIwMjIsIGF0IDE4OjI1LCBFZHdpbiBUw7Zyw7ZrIDxlZHZpbi50b3Jv
a0BjaXRyaXguY29tPiB3cm90ZToNCj4gDQo+IEZyb206IEVkd2luIFTDtnLDtmsgPGVkd2luLnRv
cm9rQGNsb3VkLmNvbT4NCj4gDQo+IFZhcmlvdXMgT0NhbWwgZml4ZXMsIHNvbWUgb2Ygd2hpY2gg
Z290IEFja2VkIGFscmVhZHkuDQo+IA0KPiBFZHdpbiBUw7Zyw7ZrICgxMSk6DQo+ICB0b29scy9v
Y2FtbC9saWJzL3t4YiwgbW1hcH06IHVzZSBEYXRhX2Fic3RyYWN0X3ZhbCB3cmFwcGVyDQo+ICB0
b29scy9vY2FtbC94ZW5zdG9yZWQvTWFrZWZpbGU6IHVzZSBvY2FtbGRlcCAtc29ydCBmb3IgbGlu
a2luZyBvcmRlcg0KPiAgQ09ESU5HX1NUWUxFKHRvb2xzL29jYW1sKTogYWRkICdtYWtlIGZvcm1h
dCcgYW5kIHJlbW92ZSB0YWJzDQo+ICB0b29scy9vY2FtbDogcnVuICJtYWtlIGZvcm1hdCINCj4g
IENPRElORy1TVFlMRSh0b29scy9vY2FtbCk6IGFkZCAuZWRpdG9yY29uZmlnIHRvIGNsYXJpZnkg
aW5kZW50YXRpb24NCj4gICAgdXNlcyBzcGFjZXMNCj4gIHRvb2xzL29jYW1sOiBhZGQgLmNsYW5n
LWZvcm1hdA0KPiAgZml4dXAhIHRvb2xzL29jYW1sL3hlbmN0cmw6IE9DYW1sIDUgc3VwcG9ydCwg
Zml4IHVzZS1hZnRlci1mcmVlDQo+ICB0b29scy9vY2FtbC9saWJzL21tYXA6IG1hcmsgbW1hcC9t
dW5tYXAgYXMgYmxvY2tpbmcgYW5kIHJhaXNlDQo+ICAgIFVuaXhfZXJyb3Igb24gZmFpbHVyZQ0K
PiAgdG9vbHMvb2NhbWwvbGlicy94YjogY2hlY2sgZm9yIHVubWFwcGVkIHJpbmcgYmVmb3JlIGFj
Y2Vzc2luZyBpdA0KPiAgdG9vbHMvb2NhbWwveGVuc3RvcmVkOiB2YWxpZGF0ZSBjb25maWcgZmls
ZSBiZWZvcmUgbGl2ZSB1cGRhdGUNCj4gIHRvb2xzL29jYW1sL2xpYnMveGI6IGRyb3AgWHNfcmlu
Zy53cml0ZQ0KDQpJ4oCZbSBnb2luZyB0byBBY2sgdGhpcyB3aG9sZSBzYWxlIGFuZCBwcm92aWRl
IGluZGl2aWR1YWwgY29tbWVudHMuIA0KDQpBY2tlZC1ieTogQ2hyaXN0aWFuIExpbmRpZyA8Y2hy
aXN0aWFuLmxpbmRpZ0BjaXRyaXguY29tPg0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 11:53:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 11:53:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466006.724822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7EhO-0006iq-Qf; Mon, 19 Dec 2022 11:52:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466006.724822; Mon, 19 Dec 2022 11:52:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7EhO-0006ij-Nz; Mon, 19 Dec 2022 11:52:50 +0000
Received: by outflank-mailman (input) for mailman id 466006;
 Mon, 19 Dec 2022 11:52:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gyHb=4R=citrix.com=prvs=3454adc0d=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p7EhO-0006id-26
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 11:52:50 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6b78dd1-7f93-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 12:52:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6b78dd1-7f93-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671450767;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=Zk+rRHxc3tVIxfUB5Ewejc1DjPi9oUcRDVAUX0g8ryM=;
  b=UqXASDwmppKhXeeER0Vr/vX2jCcm9+9BTfxZZ5exYOfnT1MCZLDM9G2W
   n43E/TTf7rHapP1PLjZ4bIr0PmzZGvWjAJ7DJzsnjvkBfQ3rlVEPg8JK5
   niczTg9tdjUF2I7E/uYJGxL15Uo/+CkjscxS51ywTtQW0OyNrTS7S1YiB
   4=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 91556525
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:6Qj1pqig5iLhNZfOpXA1ET+FX161bBAKZh0ujC45NGQN5FlHY01je
 htvWWjQbvzZZWOhfNwnbN6wp0tV7cPVmNcyGgVk+y01Riob9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5gaPzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQVdQE3bEqBvd7tmouXb9Axp/0aM+z0adZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJagx/5JEWxY9EglH2dSFYr1SE47I6+WHJwCR60aT3McqTcduPLSlQthfB+
 z+Yoj6kav0cHM7E+SS04FSKusX0lgDeR40xDbiZ9OE/1TV/wURMUUZLBDNXu8KRlUqWS99Zb
 UsO9UIGoaEs+WSxQ9L6Xhn+p2SL1jYMVtwVH+Ak5QWlzqvP/x3fFmUCViRGatEtqIkxXzNC6
 7OSt4q3X3o16uTTEC/DsOfPxd+vBcQLBWJfVBUGFwk/34K5ma0Wt0/ud+98NbHg27UZBgrM6
 zyNqSE/gZAagsgKy7i38Dj7vt68mnTaZlVrv1uKBwpJ+is8Pdf4PNLwtTA3+N4adO6kok+9U
 G/ociR0xMQHFtmzmSOEW43h95n5tq/eYFUwbbOCdqTNFghBGVb5Jui8Axkkfi+F1/ronhe3C
 HI/QSsLuPdu0IKCNMebmb6ZBcUw1rTHHt/4TP3SZdcmSsEvK1bcrHE1OxDAjjGFfK0QfUYXY
 MvzTCpRJSxCVfQPIMSeHI/xLoPHNghhnDiOFPgXPjys0KaEZW79dIrpxGCmN7hjhIvd+VW9z
 jqqH5fSo/mpeLGkM3a/HE96BQxiEEXX8rit8pELLrHTelY3cIzjYteIqY4cl0Vet/w9vo/1E
 ruVACe0FHKXaaX7FDi3
IronPort-HdrOrdr: A9a23:p93SJa1joXCcxow34NZddAqjBIokLtp133Aq2lEZdPRUGvb4qy
 mLpoV96faSskd2ZJhAo6HlBEDuex/hHPJOjrX5eI3SJTUO21HYSb2Kj7GSoAEIcheWnoU2uJ
 uIMZIOauEYZWIK9foSizPZLz9P+re6zJw=
X-IronPort-AV: E=Sophos;i="5.96,255,1665460800"; 
   d="scan'208";a="91556525"
Date: Mon, 19 Dec 2022 11:52:36 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Edwin =?iso-8859-1?B?VPZy9ms=?= <edvin.torok@citrix.com>
CC: <xen-devel@lists.xenproject.org>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>, Christian Lindig <christian.lindig@citrix.com>
Subject: Re: [PATCH v4 03/11] CODING_STYLE(tools/ocaml): add 'make format'
 and remove tabs
Message-ID: <Y6BQhAs0ZgRqJ3//@perard.uk.xensource.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
 <81d621cea5975fdd9698992b968dcd7528c637af.1671214525.git.edwin.torok@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <81d621cea5975fdd9698992b968dcd7528c637af.1671214525.git.edwin.torok@cloud.com>

On Fri, Dec 16, 2022 at 06:25:12PM +0000, Edwin Trk wrote:
> +	git ls-files '*.c' '*.h' | xargs -n1 sed -ie 's/\t/    /g'

Seen as there's a patch adding .clang-format, what the point of this
command?

"-ie" means to ask sed to change file in-place an keep a copy of the
original file with "e" as suffix. So please replace that by "-i~" or
"-i -e" or just "-i", with the first one create a "~" backup, the last
two not creating a backup at all and probably what you wanted. ("-e" is
optional as there's only a single command)

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 12:03:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 12:03:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466016.724832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Ers-0008JU-UP; Mon, 19 Dec 2022 12:03:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466016.724832; Mon, 19 Dec 2022 12:03:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Ers-0008JN-Rm; Mon, 19 Dec 2022 12:03:40 +0000
Received: by outflank-mailman (input) for mailman id 466016;
 Mon, 19 Dec 2022 12:03:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gyHb=4R=citrix.com=prvs=3454adc0d=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p7Err-0008JG-Se
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 12:03:39 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a9636f8-7f95-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 13:03:38 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a9636f8-7f95-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671451418;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=gsWbg3+vw5+5NyZ4Qtw3douJekKSx6M3du9vacnd+18=;
  b=e5EdqEz7SjWb0DtJ0cN9cCP9TXgWnMrMEeD2hg6oQDknXMeZ9fEpW/nM
   irFj6AVaeYuehL4kNHftk/WxdgCjlcm7d+0qvm0Ar7PlwKRf0hFhRfT4E
   A/q7oUveZzEUtXEdr3UCke0HgvhTV8pDmvNzJgGqTtupazx6Si75LneTz
   c=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 89067484
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:jCkTHKw8QNIq5CfURfF6t+c7xirEfRIJ4+MujC+fZmUNrF6WrkUBy
 zFMDGuFOa3fZWHxfYolOozloEkO6JHcnYNiSVdvqSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkPKET5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KVhs3
 94oEx48VAyoxPKQ57LlRNhdh+12eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKQOHWjOX9OYH46tO6umnn4dSwesF+PrLA7y2PS0BZwwP7mN9+9ltmiFZQNwBnE9
 j6uE2LRDhsQc4OHlmC/0FGR19SMp37pZ6QdG+jtnhJtqALKnTFCYPEMbnOkpdGph0j4XMhQQ
 2QY8zQjhbI//0uqSp/6RRLQiG6JuFsQVsRdF8U+6RqR0ezE7gCBHG8GQzVdLts8u6cLqScCj
 wHT2YmzXHo27ePTGSn1GqqoQS2aAAo/D185Sx4+USBG8//EoN89vyPOZ4M2eEKqteHdFTb1y
 jGMiSExgbQPkMIGv5mGEUD7byGE/caQEFNsjunDdif8t14iOtb5D2C9wQKDhcusOrp1WbVoU
 JIsv8GFpN4DApiW/MBmaLVcRer5jxpp3dC1vLKOI3XD3272k5JAVdoKiN2bGKuOGphsRNMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QRO8MhJFTZonE/NCZ8OlwBd2B1zckC1
 WqzK57wXR7294w8pNZJewvt+eBynX1vrY8ibZv60w6mwdKjWZJhcp9caAHmRrlgvMu5TPD9r
 4432z2il08OD4UTo0D/reYuELz9BSNiWMyu9JwPKr/rz8gPMDhJNsI9CIgJI+RN95m5XM+Sl
 p1hcie0EGbCuEA=
IronPort-HdrOrdr: A9a23:+Z1UsKxzFiwE6uSq9y/xKrPw2r1zdoMgy1knxilNoHxuH/BwWf
 rPoB17726TtN91YhsdcL+7V5VoLUmzyXcx2/hyAV7AZniAhILLFvAA0WKK+VSJdxEWtNQtsJ
 uIG5IUNDSaNykfsS+V2miF+9ZL+qj5zEir792usUuEm2tRGtBdBwQSMHfqLqVvLjM2fKbQjP
 Cnl7d6TzzLQwVuUu2LQkMrcsLkvNPxmJfvcXc9dmIaAFnnt0LS1FbieSLopCsjbw==
X-IronPort-AV: E=Sophos;i="5.96,255,1665460800"; 
   d="scan'208";a="89067484"
Date: Mon, 19 Dec 2022 12:03:31 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Edwin =?iso-8859-1?B?VPZy9ms=?= <edvin.torok@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH v4 06/11] tools/ocaml: add .clang-format
Message-ID: <Y6BTExf6riHD1HLV@perard.uk.xensource.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
 <a3af11ec979d7559ba8db2d185bd51454858739d.1671214525.git.edwin.torok@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a3af11ec979d7559ba8db2d185bd51454858739d.1671214525.git.edwin.torok@cloud.com>

On Fri, Dec 16, 2022 at 06:25:15PM +0000, Edwin Trk wrote:
> Add a .clang-format configuration that tries to match CODING_STYLE where
> possible.

Is there going to be a patch applying this to "tools/ocaml", like you
did with "make format"?

> I was not able to express the special casing of braces after 'do'
> though, this can only be controlled generally for all control
> statements.
> It is imperfect, but should be better than the existing bindings, which
> do not follow Xen coding style.

There isn't a single CODING_STYLE for all code in the repo so it isn't
an issue if the binding where having a different coding style. But
having as few coding style as possible in the repo is probably helpful.

You could maybe add a CODING_STYLE in "tools/ocaml" to say that the
coding style is running `make format` or `clang-format ...`. And if
there other rules like how to name certain variable, that could go in
this file as well.


Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 12:48:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 12:48:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466024.724844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7FZ4-0004B3-AT; Mon, 19 Dec 2022 12:48:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466024.724844; Mon, 19 Dec 2022 12:48:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7FZ4-0004Aw-6V; Mon, 19 Dec 2022 12:48:18 +0000
Received: by outflank-mailman (input) for mailman id 466024;
 Mon, 19 Dec 2022 12:48:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=eGu8=4R=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7FZ2-0004Aq-DJ
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 12:48:16 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on2043.outbound.protection.outlook.com [40.107.15.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 675c371a-7f9b-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 13:48:15 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB7110.eurprd04.prod.outlook.com (2603:10a6:20b:119::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec
 2022 12:48:13 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022
 12:48:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 675c371a-7f9b-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DZSH/Q3S0ivjhdTVbt3BnOawlVHb8E3rE+GWQ1o7K6crRdSzOCPRL8QxDJB8R7iQ+nablpVq70KJZm9VjwsVnovRfK3kAouARkKlxZYOrNKWWLNV4+f8CU9y265jhNXQkVPtRmdwww8qsIJZGmhzfo6oM0h+ZvFLZy/20+IKVthPc4dUm8qfvF5DvM/bu8LJZgDXB9E2C+Yf9cg+2A6D0Tp4aYookaQNolUSmlFUpRd04zy11Gdb0olMY7zVNUlQcd9OwLVKdGQzhudI2zTYZmUqic/e0nzgdt+PW/N3N/sXa899BqBMReXlhX/z7tV+kP/YhbQcPlGn3VVbmwONyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qVvw8tem6ttK7HHahSm03i3iR0XCHIK18dw0CrcTK24=;
 b=j5S8gwUHLm4PdkgWTB3NOVAtQqVtbt99CXb7EUXuljQZ/L5mmrzmoXGS7biW3/UZr/OzozYgpchZIiiqK76XKFTa46mdWgwn/K8XaXyyrYeVRWgRhSfTqT+YJs74eEwYEqjujq5uEnXp9311PgCrhaB/0/G9fOXgjhat8GcPE+Cs539NdWfTjfO+9wcWfwVfO78WIy41gXCnSFYvSisbEyH9jjiENhrpi6FiCTnS7ueq/iAkLP6Qga3D04X0rmm5n0fNGRFGMHQyfzkXcghtwur0zuBW4qASXr/Npqm9PJVpzqxdOsG+vgkFI70NWmDSJGmg/ILXjvEnHUGE4/xJ2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qVvw8tem6ttK7HHahSm03i3iR0XCHIK18dw0CrcTK24=;
 b=NDCtjGiat+0INUrW46LLsWCRg6MqIRBMLmchIgIDU8LGg/4iapYxqCVHiAQOf8gBMJpmUmEtTCARw+GLIAKuE8VL//XEGcCGL+lTk291j9a3FH76Db0EFKS6l/iqXh90FfTH21MOXwwHt+HuHjjty7u12RtbRkBnYAzEQx3ucQXrRwKiyhDjofZhZ9cYqFhUZ7+txnFtaWTTJtnTlmOz4/uVsIdti2RMsB4SZJgh3gwC4iUycBH8unXLOEclPCjYgo4b9mIMvgwznp/xDnnNQJ7LCgYnl0+F8wY8gI4nMl8B4LIG0FCbssD9ne8tx4J5601xzDf0dGE1t+I1Rwpk1Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <417c72f4-e9a0-e3cc-1c36-544967d73e34@suse.com>
Date: Mon, 19 Dec 2022 13:48:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH RFC 04/10] domain: update GADDR based runstate guest area
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <22422a1c-1cfa-95d0-c1fa-99150a8f2a32@suse.com>
 <33a84c2a-0c94-a62d-3754-4a61aa951c83@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <33a84c2a-0c94-a62d-3754-4a61aa951c83@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0144.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7110:EE_
X-MS-Office365-Filtering-Correlation-Id: 53fa61c8-2fcf-41af-15c4-08dae1bf4a6a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/4NX3XS7p6Rojx46B++orZQswmTlvm7gQyrwkmqwKSgRmuPX9LcdN9Pc6U22yh4THlJkhwGUaT0yhEmqpAF1B6AFvFLw5UTC2lNGMLCVFPxtGanYrkkyXol2ZODYdSh0GBcY/3A/VCrg4rcb+JRYMtAjCYrj5PDi8IwdmZ/IQwIF6xxgalYKO/YGYXDqJE+DfH/a7Hgqd0+lLaQ4quFl/ypmFz7cnwWjiAV+s5BuyFDF3BZC2qK1McXPehfri+BP6dOZXx2lvb/jhqpmsE5TbTfTWB3Rq3SlQO73IRZXDcEBD1zMtp62R5Z3R/Uz/I4pei72LBISmEyYc3rbMT1aF04xXbRuJO/JBGlJhzH4cyKUZmuJpxmqIwLtMwAt9c7aqadI00+iKgmJf+VKT5e8xtab7kIUByG75qe7+3f/AabAdujaKQfsGCD4IFsM9uWdMNKkKxiVIxhGVnB3AsrU7NB/V1vrSXfdv9ClFvPsM4LBsw58eYdrwB5pnjNMuGpapR51qP74D/5WF9UhfSCs5TYVLyyaFT0PTlRKJKDTfLLBa3lBvvxDF2cfIop8HufuDHSdQVmotGCdJ60qecgoS+aPVpB0j8Nou3WPjXbgW1H6Tatt8PsPVfvn9NttOwqRAGqScvNF80a3HPOzYkMdc1T+bj89xgeHWRJ2/y2VJE2kZWZa8CFUbEUbFXYhxmMT4RLtR40TKjdHxMxCmoYDLc/4sB9xJCmwH3N8Dk7QjQk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(396003)(136003)(346002)(39850400004)(366004)(451199015)(38100700002)(66946007)(66556008)(36756003)(8676002)(41300700001)(8936002)(54906003)(66476007)(4326008)(5660300002)(6916009)(316002)(2906002)(6506007)(31686004)(31696002)(53546011)(86362001)(26005)(186003)(6512007)(2616005)(6486002)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T0VBSnBnZTBWYlpsSWtFNVkyeWZWT2tZYW5HTnBhS0N0MXlFempmR2ZvS3Z6?=
 =?utf-8?B?NHo0TkRJL1FyWVVNRnNYTjVZNndlNWRhM1g1cDZKVnJRV1lWTTY5dTVSS040?=
 =?utf-8?B?WHZGOGVyTVQ5SHB0bCtteFlEdTk5RHphak55TFo0VjZQdUQzcFFoZmZQamE3?=
 =?utf-8?B?Y2FRR21VeXhIVmJSVGxoYktha0hvQWZEUzhVUGlnOW90YU9nK0N4MmJPQTdR?=
 =?utf-8?B?bFprTGpUQWNNeE5ZclNZVDJiVElVc1FGUVo3WjlCUElaZ1RoWmU4dE1yNEZO?=
 =?utf-8?B?WXhaQWdPZWM2U2pYdUN0Qkh3SGhGU08rTjdKRWFrT1FPQ2ZrRmtZM09kNGtn?=
 =?utf-8?B?cDdLb0ZsRVRRUFNBdDFCUUFucEJlM3BTS3hHZklRNmZXZ2NleEFSU0tnWVJT?=
 =?utf-8?B?Wm9zMm9tSG5HUVBoeUZCVjdlU2tIMXJ0dUhtZnJPSWp2WVNnNDM2VmpIRlNp?=
 =?utf-8?B?T3dQeUFPUVJuZ3NrcXl1UVZRNDRZUGI5dVdFb085ZXlYbUh0aXY2TnJYQlRG?=
 =?utf-8?B?YVg3MERsTWhWUGFPSU1UUjVtK0llL3RMMThiVFFyampZRXBvbEE2ZlBpbnhE?=
 =?utf-8?B?b3c3UE5xMHk2V1dYSUgzcVh6Vk5GbDRmbHU3WnRna0lRODltd2VrSTZWZ2t6?=
 =?utf-8?B?a1IvcVk4Z1BadWZEejcrTGlhVG9yZTk4OG1RNDI4V1JmQjZqd3MzWnV0TDB1?=
 =?utf-8?B?bmhETHRaMUo0WXJKSzVGK214Nm11YWR0RXRIS0ZSMWNDWEE4QkNzK0JyMFl4?=
 =?utf-8?B?Yjd3WTIxRFlmMnlDR3pwaXJEbVhxVEhJWmxLZEd6S1lRaWN3aElVWERIa01l?=
 =?utf-8?B?VXYzeThTOGYzMDcxTEtwZ2VjMmpuTjNYV3podmFvVUdWR3BGQ3NpMUd4M1Ji?=
 =?utf-8?B?VXhnSk05QXdZcWtvblJWd3RoZnI2RzdsVmpzL2NhZnJLMGNpMG9SbHBTK1Y0?=
 =?utf-8?B?VlArY3JpVkswOVhnd1lreE9YSTA2ZDVHVGQ1TUJveDRWNlJhUUtjS3BIWEtN?=
 =?utf-8?B?dlRDNlhZYVNnK0VsNVZpUTdXWGRhUzcyQzMvREVzV05oSW9SaUhRZ2tNRVRS?=
 =?utf-8?B?TCttNGUrVXBqZFlEbWlPaWZEeEdrYmZLN0NTYXNvcTNwdlh1VThta01xVUds?=
 =?utf-8?B?Wnd2bWdqalNpMzZRUnhLREE3cDhaenlEUmx1cVhQck1nNDRmNEw1ZzJpUmJS?=
 =?utf-8?B?QTNHME10R2F6Z2J5aEtuMnV0bm55QkQ1WmxCZms5NkpkTGhLVUpVeHNQeHd6?=
 =?utf-8?B?UjB5NGpSdnVXNHMrdzBSOHd4L0hORGRqaWxNRHIxRzhkU0tmcXprcU1vaVE4?=
 =?utf-8?B?ajZKazg1Q1c2SlBPWmlZT3pTMmhYVEJwNFpDK2VIUnNhNjEwVW10U01NRHJH?=
 =?utf-8?B?N25BN3ZzN1dKSzhwV3hrTlZVbXpYNmVjOHkyNkRMYW1EeVNYNkg0S3QrRklk?=
 =?utf-8?B?TEcyVW1qRXNwcW1KamFBUnd6elg1RDNsQTlGNGREZWtBMUkvK1RIb2ZpY2dT?=
 =?utf-8?B?blFQVjdzMTNBUk14MDBHazdxaHNUall6RXBiREsvSjhObis4NlFsM1E3N0JX?=
 =?utf-8?B?bkY2RC93NVRyY0dNTDZDaUthMThNZUxiOUdhRFZEZ0ZIYU15OXdPWG56UUd5?=
 =?utf-8?B?b09TZ2tLMlVqL0huY1dSSXQ0ZldNUWcxMlhWc295TjZXYVQyTGVpenFsb1pC?=
 =?utf-8?B?T2NpMHJqR0YzbS9Gd1hVeE1oNDhuNURWWHUvSFY0UFJRbHFmVHJLb1hPNUov?=
 =?utf-8?B?KzRnS0k4akJsbDAwSmRzS0Fnd0RtdGQ4anBqbGkwYy9wZzdNalRiSmxLWEtW?=
 =?utf-8?B?VmhiWFQzaC9Kck45TTljWDBCakRHeE5rSG9ka1pTSHJFdzA0K1piVUtGOExM?=
 =?utf-8?B?M0VxOVc4VVNsYWhmK0hPWlVwblhkTXBrczkxTXloWEZpbkdCbyswZ2lmU3BN?=
 =?utf-8?B?NDdTSHhJT2NGb1ZFNGwwc0FWTjFZa3hTaTQ5clV0QmdEc1FrRWxNL091VTJl?=
 =?utf-8?B?MloxajVOZHd2eFJqcHdseS96UkNBbHJFOUltYkcvQXpBdTMrckliejVZN2Fr?=
 =?utf-8?B?a2NjUmxXZ0NubTJtSDN5T1dXTTQ0bzZIcUpwTEhWUEhtaGZsbWN2L3lSVlVm?=
 =?utf-8?Q?4Sw5veWBUggNC59JyNgGa00ls?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 53fa61c8-2fcf-41af-15c4-08dae1bf4a6a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2022 12:48:13.1065
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 267uzbg4WVuq0QI8hzgnjmo6gZeB9kSxsKfl7YI1G6Q0P9V8SzAXSohcJu/TMlMMFlpw6XT1G6/DVNBxWfODLw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7110

On 16.12.2022 13:26, Julien Grall wrote:
> On 19/10/2022 08:41, Jan Beulich wrote:
>> Before adding a new vCPU operation to register the runstate area by
>> guest-physical address, add code to actually keep such areas up-to-date.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> RFC: Pages aren't marked dirty when written to (matching the handling of
>>       space mapped by map_vcpu_info() afaict), on the basis that the
>>       registrations are lost anyway across migration. 
> 
> So I agree for the existing migration. But I wonder whether we would 
> need to dirty those pages if we live-migrated a guest without its help 
> (IOW the registrations would still be present).

Even then I'd expect the area to be re-populated at the target, so the
page contents would need moving over (perhaps multiple times) only if
any other parts of such a page were written to.

> Anyway, nothing to worry about yet as this is not supported upstream.

I assume you've taken note of this for the transparent migration work.
One question after all is how you'd make handling of the area at the
new target transparent, i.e. without any anomalies in the values the
guest gets to see. It may very well be that every such area needs
special treatment in the course of migrating, such that the most up-
to-date values are reported as part of the migration stream, but
separate from all the pages' contents.

>> Plus the contents
>>       of the areas in question have to be deemed volatile in the first
>>       place (so saving a "most recent" value is pretty meaningless even
>>       for e.g. snapshotting).
>>
>> RFC: Can we perhaps avoid the VM-assist conditionals, assuming the more
>>       modern behavior to apply uniformly for gaddr-based registrations?
> 
> It is not clear why someone would want to use the old behavior with the 
> new gaddr-based registrations. So I would say yes.

Okay, will do.

>> RFC: HVM guests (on x86) can change bitness and hence layout (and size!
>>       and alignment) of the runstate area. I don't think it is an option
>>       to require 32-bit code to pass a range such that even the 64-bit
>>       layout wouldn't cross a page boundary (and be suitably aligned). I
>>       also don't see any other good solution, so for now a crude approach
>>       with an extra boolean is used (using has_32bit_shinfo() isn't race
>>       free and could hence lead to overrunning the mapped space).
> 
> I think the extra check for 32-bit code to pass the check for 64-bit 
> layout would be better.

I'm afraid I can't derive from your reply what it is you actually want.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 13:02:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 13:02:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466033.724865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fmg-0006nu-N0; Mon, 19 Dec 2022 13:02:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466033.724865; Mon, 19 Dec 2022 13:02:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fmg-0006nm-KF; Mon, 19 Dec 2022 13:02:22 +0000
Received: by outflank-mailman (input) for mailman id 466033;
 Mon, 19 Dec 2022 13:02:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Fa7U=4R=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1p7Fmf-0006YQ-Vy
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 13:02:22 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 59d2a6ce-7f9d-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 14:02:12 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-481-EAFyuzouPl60pgDLpips4g-1; Mon, 19 Dec 2022 08:02:16 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5B72588742F;
 Mon, 19 Dec 2022 13:02:08 +0000 (UTC)
Received: from virtlab420.virt.lab.eng.bos.redhat.com
 (virtlab420.virt.lab.eng.bos.redhat.com [10.19.152.148])
 by smtp.corp.redhat.com (Postfix) with ESMTP id B2A8C14171C5;
 Mon, 19 Dec 2022 13:02:07 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59d2a6ce-7f9d-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1671454940;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=4JFb6QDUDH0Iblrn1PZyR6v+EegDDw+5LlL9IfN5m+I=;
	b=g07AC4bxBgWA4MylYKSc3U70lOg0oO/xIPEd+OKBtRNUFA1t7R1GBETeImK1dT0P1gBsXp
	Fr9CjIdC+rUi8RPyh3CSR+M8a7aABj4I/yhE83gXcrA/lNhblGn+kR0B9HM5XGNnT668/S
	bGKrseeDFGrd11x4Tn2au3RwNpexXkY=
X-MC-Unique: EAFyuzouPl60pgDLpips4g-1
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	Laurent Vivier <lvivier@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	virtio-fs@redhat.com,
	Michael Roth <michael.roth@amd.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-block@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	John Snow <jsnow@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Greg Kurz <groug@kaod.org>,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
Subject: [PATCH 2/6] hw/xen: use G_GNUC_PRINTF/SCANF for various functions
Date: Mon, 19 Dec 2022 08:02:01 -0500
Message-Id: <20221219130205.687815-3-berrange@redhat.com>
In-Reply-To: <20221219130205.687815-1-berrange@redhat.com>
References: <20221219130205.687815-1-berrange@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 hw/xen/xen-bus.c                | 1 +
 hw/xen/xen_pvdev.c              | 1 +
 include/hw/xen/xen-bus-helper.h | 6 ++++--
 include/hw/xen/xen-bus.h        | 3 ++-
 4 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 645a29a5a0..df3f6b9ae0 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -561,6 +561,7 @@ void xen_device_backend_printf(XenDevice *xendev, const char *key,
     }
 }
 
+G_GNUC_SCANF(3, 4)
 static int xen_device_backend_scanf(XenDevice *xendev, const char *key,
                                     const char *fmt, ...)
 {
diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
index 037152f063..1a5177b354 100644
--- a/hw/xen/xen_pvdev.c
+++ b/hw/xen/xen_pvdev.c
@@ -196,6 +196,7 @@ const char *xenbus_strstate(enum xenbus_state state)
  *  2 == noisy debug messages (logfile only).
  *  3 == will flood your log (logfile only).
  */
+G_GNUC_PRINTF(3, 0)
 static void xen_pv_output_msg(struct XenLegacyDevice *xendev,
                               FILE *f, const char *fmt, va_list args)
 {
diff --git a/include/hw/xen/xen-bus-helper.h b/include/hw/xen/xen-bus-helper.h
index 629a904d1a..8782f30550 100644
--- a/include/hw/xen/xen-bus-helper.h
+++ b/include/hw/xen/xen-bus-helper.h
@@ -31,10 +31,12 @@ void xs_node_printf(struct xs_handle *xsh,  xs_transaction_t tid,
 /* Read from node/key unless node is empty, in which case read from key */
 int xs_node_vscanf(struct xs_handle *xsh,  xs_transaction_t tid,
                    const char *node, const char *key, Error **errp,
-                   const char *fmt, va_list ap);
+                   const char *fmt, va_list ap)
+    G_GNUC_SCANF(6, 0);
 int xs_node_scanf(struct xs_handle *xsh,  xs_transaction_t tid,
                   const char *node, const char *key, Error **errp,
-                  const char *fmt, ...);
+                  const char *fmt, ...)
+    G_GNUC_SCANF(6, 7);
 
 /* Watch node/key unless node is empty, in which case watch key */
 void xs_node_watch(struct xs_handle *xsh, const char *node, const char *key,
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 713e763348..4d966a2dbb 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -94,7 +94,8 @@ void xen_device_frontend_printf(XenDevice *xendev, const char *key,
     G_GNUC_PRINTF(3, 4);
 
 int xen_device_frontend_scanf(XenDevice *xendev, const char *key,
-                              const char *fmt, ...);
+                              const char *fmt, ...)
+    G_GNUC_SCANF(3, 4);
 
 void xen_device_set_max_grant_refs(XenDevice *xendev, unsigned int nr_refs,
                                    Error **errp);
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 13:02:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 13:02:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466034.724877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fmj-00075U-4N; Mon, 19 Dec 2022 13:02:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466034.724877; Mon, 19 Dec 2022 13:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fmj-00075I-0s; Mon, 19 Dec 2022 13:02:25 +0000
Received: by outflank-mailman (input) for mailman id 466034;
 Mon, 19 Dec 2022 13:02:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Fa7U=4R=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1p7Fmh-0006YQ-Vv
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 13:02:23 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5afc1127-7f9d-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 14:02:14 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-511-DcjDLQb1Pqev8Hw37c1HFA-1; Mon, 19 Dec 2022 08:02:16 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 201E580D11E;
 Mon, 19 Dec 2022 13:02:11 +0000 (UTC)
Received: from virtlab420.virt.lab.eng.bos.redhat.com
 (virtlab420.virt.lab.eng.bos.redhat.com [10.19.152.148])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 78B9B14171B8;
 Mon, 19 Dec 2022 13:02:10 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5afc1127-7f9d-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1671454942;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=3uNZWGWuQwUgGmH+7L3OtwPhlC39/K0HmCAU4bDa1hs=;
	b=TC6at/mOdITUr1hEjFaUJjrLP4FvMjYfYYhb8XaKv3IzC0HmSsA2I3of3HsPwRCshy28LV
	WIcnr9Iywkw6gactAmpptsehXylR51NdX1jJUBGM5CYM9Xx6ZnxGWtWyJiIt0+7f1oiLbx
	L5K0rdPphxM7DLKHNwrunH70+iiYCsw=
X-MC-Unique: DcjDLQb1Pqev8Hw37c1HFA-1
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	Laurent Vivier <lvivier@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	virtio-fs@redhat.com,
	Michael Roth <michael.roth@amd.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-block@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	John Snow <jsnow@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Greg Kurz <groug@kaod.org>,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
Subject: [PATCH 6/6] enforce use of G_GNUC_PRINTF attributes
Date: Mon, 19 Dec 2022 08:02:05 -0500
Message-Id: <20221219130205.687815-7-berrange@redhat.com>
In-Reply-To: <20221219130205.687815-1-berrange@redhat.com>
References: <20221219130205.687815-1-berrange@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7

We've been very gradually adding G_GNUC_PRINTF annotations
to functions over years. This has been useful in detecting
certain malformed printf strings, or cases where we pass
user data as the printf format which is a potential security
flaw.

Given the inherant memory corruption danger in use of format
strings vs mis-matched variadic arguments, it is worth applying
G_GNUC_PRINTF to all functions using printf, even if we know
they are safe.

The compilers can reasonably reliably identify such places
with the -Wsuggest-attribute=format / -Wmissing-format-attribute
flags.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 configure | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/configure b/configure
index 26c7bc5154..b9abe19e16 100755
--- a/configure
+++ b/configure
@@ -1208,6 +1208,8 @@ add_to warn_flags -Wnested-externs
 add_to warn_flags -Wendif-labels
 add_to warn_flags -Wexpansion-to-defined
 add_to warn_flags -Wimplicit-fallthrough=2
+add_to warn_flags -Wsuggest-attribute=format
+add_to warn_flags -Wmissing-format-attribute
 
 nowarn_flags=
 add_to nowarn_flags -Wno-initializer-overrides
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 13:02:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 13:02:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466032.724855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fme-0006Yd-HM; Mon, 19 Dec 2022 13:02:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466032.724855; Mon, 19 Dec 2022 13:02:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fme-0006YW-DB; Mon, 19 Dec 2022 13:02:20 +0000
Received: by outflank-mailman (input) for mailman id 466032;
 Mon, 19 Dec 2022 13:02:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Fa7U=4R=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1p7Fmc-0006YQ-Kl
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 13:02:19 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 57137575-7f9d-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 14:02:07 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-395-8JV0muoNMwyA4rcqg3b1mQ-1; Mon, 19 Dec 2022 08:02:07 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id F26F7810BD2;
 Mon, 19 Dec 2022 13:02:06 +0000 (UTC)
Received: from virtlab420.virt.lab.eng.bos.redhat.com
 (virtlab420.virt.lab.eng.bos.redhat.com [10.19.152.148])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 1FEE114152F6;
 Mon, 19 Dec 2022 13:02:06 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57137575-7f9d-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1671454935;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=QVqSB9wB2qrALRQPMZT6ihrQ0/2mf+IxHI35zGJFZFg=;
	b=cM0IpFyykyiogLFLz6X7DZRdy6Rkqu+QfPQjgUCx9xBbZVTgJoGMx9k5cgZXKboe2dnuyi
	56B5U04gKL7sA5azsgFCrSZn1/TTmT5+3wtHdCS2xlZ+f0PKtWRhxtyy1iYhjRmcstV8qd
	IYpxawX7T5FuH/BeigSXTFOzPlhFhks=
X-MC-Unique: 8JV0muoNMwyA4rcqg3b1mQ-1
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	Laurent Vivier <lvivier@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	virtio-fs@redhat.com,
	Michael Roth <michael.roth@amd.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-block@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	John Snow <jsnow@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Greg Kurz <groug@kaod.org>,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
Subject: [PATCH 0/6] enforce use of G_GNUC_PRINTF annotations
Date: Mon, 19 Dec 2022 08:01:59 -0500
Message-Id: <20221219130205.687815-1-berrange@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7

We've been very gradually adding G_GNUC_PRINTF annotations
to functions over years. This has been useful in detecting
certain malformed printf strings, or cases where we pass
user data as the printf format which is a potential security
flaw.

Given the inherant memory corruption danger in use of format
strings vs mis-matched variadic arguments, it is worth applying
G_GNUC_PRINTF to all functions using printf, even if we know
they are safe.

The compilers can reasonably reliably identify such places
with the -Wsuggest-attribute=format / -Wmissing-format-attribute
flags.

This series adds G_GNUC_PRINTF / G_GNUC_SCANF to allow the code
locations that the compilers highlight. Then it adds the above
warning flags to the build flags, to catch any future additions
of functions that take printf/scanf format strings.

Daniel P. Berrangé (6):
  disas: add G_GNUC_PRINTF to gstring_printf
  hw/xen: use G_GNUC_PRINTF/SCANF for various functions
  tools/virtiofsd: add G_GNUC_PRINTF for logging functions
  util/error: add G_GNUC_PRINTF for various functions
  tests: add G_GNUC_PRINTF for various functions
  enforce use of G_GNUC_PRINTF attributes

 configure                         |  2 ++
 disas.c                           |  1 +
 hw/xen/xen-bus.c                  |  1 +
 hw/xen/xen_pvdev.c                |  1 +
 include/hw/xen/xen-bus-helper.h   |  6 ++++--
 include/hw/xen/xen-bus.h          |  3 ++-
 tests/qtest/ahci-test.c           |  3 +++
 tests/qtest/arm-cpu-features.c    |  1 +
 tests/qtest/erst-test.c           |  2 +-
 tests/qtest/ide-test.c            |  3 ++-
 tests/qtest/ivshmem-test.c        |  4 ++--
 tests/qtest/libqmp.c              |  2 +-
 tests/qtest/libqos/libqos-pc.h    |  6 ++++--
 tests/qtest/libqos/libqos-spapr.h |  6 ++++--
 tests/qtest/libqos/libqos.h       |  6 ++++--
 tests/qtest/libqos/virtio-9p.c    |  1 +
 tests/qtest/migration-helpers.h   |  1 +
 tests/qtest/rtas-test.c           |  2 +-
 tests/qtest/usb-hcd-uhci-test.c   |  4 ++--
 tests/unit/test-qmp-cmds.c        | 13 +++++++++----
 tools/virtiofsd/fuse_log.c        |  1 +
 tools/virtiofsd/fuse_log.h        |  6 ++++--
 tools/virtiofsd/passthrough_ll.c  |  1 +
 util/error-report.c               |  1 +
 util/error.c                      |  1 +
 25 files changed, 55 insertions(+), 23 deletions(-)

-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 13:02:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 13:02:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466035.724881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fmj-00078J-DN; Mon, 19 Dec 2022 13:02:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466035.724881; Mon, 19 Dec 2022 13:02:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fmj-00077T-9W; Mon, 19 Dec 2022 13:02:25 +0000
Received: by outflank-mailman (input) for mailman id 466035;
 Mon, 19 Dec 2022 13:02:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Fa7U=4R=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1p7Fmi-0006zl-59
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 13:02:24 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60177011-7f9d-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 14:02:22 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-228-rbAz9N-rM3GgWBs_tCRJuw-1; Mon, 19 Dec 2022 08:02:17 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B973D88743B;
 Mon, 19 Dec 2022 13:02:09 +0000 (UTC)
Received: from virtlab420.virt.lab.eng.bos.redhat.com
 (virtlab420.virt.lab.eng.bos.redhat.com [10.19.152.148])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 1C57F14171BA;
 Mon, 19 Dec 2022 13:02:09 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60177011-7f9d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1671454941;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=y/JPz/RYrixYpdTBpAkJB1EIwOzHLyPTKspd8A5hdhQ=;
	b=OIGzZZRUMOGxHlpk2/CfBdTi7o4wG8gHbniDrDEHu0o6y2YXcs4RJdH7Oih24haPN6mzRL
	qR7SbXrJjMOoLrmT8uKMEW8qLeLpNZtaGyblT+JDZ6v7rP9zq2UCg+kFk5Q5LXgWv08Gpr
	vVT9yLdUM3fExYbBbTu22+UhxAxg4/s=
X-MC-Unique: rbAz9N-rM3GgWBs_tCRJuw-1
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	Laurent Vivier <lvivier@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	virtio-fs@redhat.com,
	Michael Roth <michael.roth@amd.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-block@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	John Snow <jsnow@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Greg Kurz <groug@kaod.org>,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
Subject: [PATCH 4/6] util/error: add G_GNUC_PRINTF for various functions
Date: Mon, 19 Dec 2022 08:02:03 -0500
Message-Id: <20221219130205.687815-5-berrange@redhat.com>
In-Reply-To: <20221219130205.687815-1-berrange@redhat.com>
References: <20221219130205.687815-1-berrange@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 util/error-report.c | 1 +
 util/error.c        | 1 +
 2 files changed, 2 insertions(+)

diff --git a/util/error-report.c b/util/error-report.c
index 5edb2e6040..6e44a55732 100644
--- a/util/error-report.c
+++ b/util/error-report.c
@@ -193,6 +193,7 @@ real_time_iso8601(void)
  * a single phrase, with no newline or trailing punctuation.
  * Prepend the current location and append a newline.
  */
+G_GNUC_PRINTF(2, 0)
 static void vreport(report_type type, const char *fmt, va_list ap)
 {
     gchar *timestr;
diff --git a/util/error.c b/util/error.c
index b6c89d1412..1e7af665b8 100644
--- a/util/error.c
+++ b/util/error.c
@@ -45,6 +45,7 @@ static void error_handle_fatal(Error **errp, Error *err)
     }
 }
 
+G_GNUC_PRINTF(6, 0)
 static void error_setv(Error **errp,
                        const char *src, int line, const char *func,
                        ErrorClass err_class, const char *fmt, va_list ap,
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 13:02:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 13:02:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466036.724898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fmk-0007az-Nf; Mon, 19 Dec 2022 13:02:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466036.724898; Mon, 19 Dec 2022 13:02:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fmk-0007aC-Iu; Mon, 19 Dec 2022 13:02:26 +0000
Received: by outflank-mailman (input) for mailman id 466036;
 Mon, 19 Dec 2022 13:02:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Fa7U=4R=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1p7Fmi-0006zl-Ja
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 13:02:24 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60a35776-7f9d-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 14:02:23 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-486-Nb6M1rL5PvikIs1MYPlhQQ-1; Mon, 19 Dec 2022 08:02:15 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A806780D0F2;
 Mon, 19 Dec 2022 13:02:07 +0000 (UTC)
Received: from virtlab420.virt.lab.eng.bos.redhat.com
 (virtlab420.virt.lab.eng.bos.redhat.com [10.19.152.148])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 098F214171B7;
 Mon, 19 Dec 2022 13:02:07 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60a35776-7f9d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1671454942;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=lZcczZS+N+vA1eZ+A79wIe+fnTT7PirYzB1gzQ8wivc=;
	b=Mi9ed1GTOIKthNp6PzkK7FhrZdwNP9TAoxY82YOz/Bvn9dGJtWfR0/fEFVee+/8eg+686p
	sYjsDQXCnelJnMtqiqPXQaVd645nQLzVhvdzZJx7jdxuuWNd2umUl2JNukOzsOzdwnVrpE
	AEq4eFEOFA4lml4IZgXiCPDUBW6vGPg=
X-MC-Unique: Nb6M1rL5PvikIs1MYPlhQQ-1
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	Laurent Vivier <lvivier@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	virtio-fs@redhat.com,
	Michael Roth <michael.roth@amd.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-block@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	John Snow <jsnow@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Greg Kurz <groug@kaod.org>,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
Subject: [PATCH 1/6] disas: add G_GNUC_PRINTF to gstring_printf
Date: Mon, 19 Dec 2022 08:02:00 -0500
Message-Id: <20221219130205.687815-2-berrange@redhat.com>
In-Reply-To: <20221219130205.687815-1-berrange@redhat.com>
References: <20221219130205.687815-1-berrange@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 disas.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/disas.c b/disas.c
index 94d3b45042..31df8f5b89 100644
--- a/disas.c
+++ b/disas.c
@@ -239,6 +239,7 @@ void target_disas(FILE *out, CPUState *cpu, target_ulong code,
     }
 }
 
+G_GNUC_PRINTF(2, 3)
 static int gstring_printf(FILE *stream, const char *fmt, ...)
 {
     /* We abuse the FILE parameter to pass a GString. */
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 13:02:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 13:02:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466037.724910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fmm-0007tE-11; Mon, 19 Dec 2022 13:02:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466037.724910; Mon, 19 Dec 2022 13:02:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fml-0007sO-SS; Mon, 19 Dec 2022 13:02:27 +0000
Received: by outflank-mailman (input) for mailman id 466037;
 Mon, 19 Dec 2022 13:02:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Fa7U=4R=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1p7Fmk-0006zl-BU
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 13:02:26 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 61c21414-7f9d-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 14:02:25 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-70-mFdMVFyuMJy-tJT1BG9NhQ-1; Mon, 19 Dec 2022 08:02:16 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 10B1F887434;
 Mon, 19 Dec 2022 13:02:09 +0000 (UTC)
Received: from virtlab420.virt.lab.eng.bos.redhat.com
 (virtlab420.virt.lab.eng.bos.redhat.com [10.19.152.148])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 6669D14171B6;
 Mon, 19 Dec 2022 13:02:08 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61c21414-7f9d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1671454944;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=wzWaSBpVzZ+UszDBN2auCYULSVVrv+uDnPPKe4kNt7I=;
	b=LF3xbbJ/SkQ7bH01PgPdnHP9M+kcB68fjgvj+y+6Ot2oKczoGGybNN2paO+uDRZPr60Arr
	GJ1ACsuOpm51af8IR86aZ1SDdBeiOq2VadV2WYc12xuX1a6FapaSZsD4J7v8rbsdo0r/c9
	RN+fJVzLAg2LYBiLkYahp5z5cxWRzKo=
X-MC-Unique: mFdMVFyuMJy-tJT1BG9NhQ-1
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	Laurent Vivier <lvivier@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	virtio-fs@redhat.com,
	Michael Roth <michael.roth@amd.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-block@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	John Snow <jsnow@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Greg Kurz <groug@kaod.org>,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
Subject: [PATCH 3/6] tools/virtiofsd: add G_GNUC_PRINTF for logging functions
Date: Mon, 19 Dec 2022 08:02:02 -0500
Message-Id: <20221219130205.687815-4-berrange@redhat.com>
In-Reply-To: <20221219130205.687815-1-berrange@redhat.com>
References: <20221219130205.687815-1-berrange@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 tools/virtiofsd/fuse_log.c       | 1 +
 tools/virtiofsd/fuse_log.h       | 6 ++++--
 tools/virtiofsd/passthrough_ll.c | 1 +
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/tools/virtiofsd/fuse_log.c b/tools/virtiofsd/fuse_log.c
index 745d88cd2a..2de3f48ee7 100644
--- a/tools/virtiofsd/fuse_log.c
+++ b/tools/virtiofsd/fuse_log.c
@@ -12,6 +12,7 @@
 #include "fuse_log.h"
 
 
+G_GNUC_PRINTF(2, 0)
 static void default_log_func(__attribute__((unused)) enum fuse_log_level level,
                              const char *fmt, va_list ap)
 {
diff --git a/tools/virtiofsd/fuse_log.h b/tools/virtiofsd/fuse_log.h
index 8d7091bd4d..e5c2967ab9 100644
--- a/tools/virtiofsd/fuse_log.h
+++ b/tools/virtiofsd/fuse_log.h
@@ -45,7 +45,8 @@ enum fuse_log_level {
  * @param ap format string arguments
  */
 typedef void (*fuse_log_func_t)(enum fuse_log_level level, const char *fmt,
-                                va_list ap);
+                                va_list ap)
+    G_GNUC_PRINTF(2, 0);
 
 /**
  * Install a custom log handler function.
@@ -68,6 +69,7 @@ void fuse_set_log_func(fuse_log_func_t func);
  * @param level severity level (FUSE_LOG_ERR, FUSE_LOG_DEBUG, etc)
  * @param fmt sprintf-style format string including newline
  */
-void fuse_log(enum fuse_log_level level, const char *fmt, ...);
+void fuse_log(enum fuse_log_level level, const char *fmt, ...)
+    G_GNUC_PRINTF(2, 3);
 
 #endif /* FUSE_LOG_H_ */
diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
index 20f0f41f99..40ea2ed27f 100644
--- a/tools/virtiofsd/passthrough_ll.c
+++ b/tools/virtiofsd/passthrough_ll.c
@@ -4182,6 +4182,7 @@ static void setup_nofile_rlimit(unsigned long rlimit_nofile)
     }
 }
 
+G_GNUC_PRINTF(2, 0)
 static void log_func(enum fuse_log_level level, const char *fmt, va_list ap)
 {
     g_autofree char *localfmt = NULL;
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 13:02:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 13:02:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466038.724921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fmq-0008IY-Br; Mon, 19 Dec 2022 13:02:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466038.724921; Mon, 19 Dec 2022 13:02:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Fmq-0008IJ-7y; Mon, 19 Dec 2022 13:02:32 +0000
Received: by outflank-mailman (input) for mailman id 466038;
 Mon, 19 Dec 2022 13:02:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Fa7U=4R=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1p7Fmo-0006zl-VO
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 13:02:31 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 643afc6b-7f9d-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 14:02:29 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-549-_H72VPWrOC2TXqiPzts5tA-1; Mon, 19 Dec 2022 08:02:24 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6D95C2806078;
 Mon, 19 Dec 2022 13:02:10 +0000 (UTC)
Received: from virtlab420.virt.lab.eng.bos.redhat.com
 (virtlab420.virt.lab.eng.bos.redhat.com [10.19.152.148])
 by smtp.corp.redhat.com (Postfix) with ESMTP id C551E14171BA;
 Mon, 19 Dec 2022 13:02:09 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 643afc6b-7f9d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1671454948;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=Xw+ckm/z8iJE0gLdoGtXCV/KPvsOLIutcQtOkVGM3AI=;
	b=KEqh1on4pcp0jLoyK9C0THlgm334upuxZMy0J8Vi/m4ayL0KxRlsg+isZpLk5y20rOSUWl
	mjyt0EajS7QFJyEdlU85/6sTq7P40BkcRNw05wTWW4yNMLw+3F23qqtN5flSw14sQU01Ly
	PqTrRS1SvYAGwiq2B2cLpbCLDmmx0vY=
X-MC-Unique: _H72VPWrOC2TXqiPzts5tA-1
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	Laurent Vivier <lvivier@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	virtio-fs@redhat.com,
	Michael Roth <michael.roth@amd.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-block@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	John Snow <jsnow@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Greg Kurz <groug@kaod.org>,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
Subject: [PATCH 5/6] tests: add G_GNUC_PRINTF for various functions
Date: Mon, 19 Dec 2022 08:02:04 -0500
Message-Id: <20221219130205.687815-6-berrange@redhat.com>
In-Reply-To: <20221219130205.687815-1-berrange@redhat.com>
References: <20221219130205.687815-1-berrange@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 tests/qtest/ahci-test.c           |  3 +++
 tests/qtest/arm-cpu-features.c    |  1 +
 tests/qtest/erst-test.c           |  2 +-
 tests/qtest/ide-test.c            |  3 ++-
 tests/qtest/ivshmem-test.c        |  4 ++--
 tests/qtest/libqmp.c              |  2 +-
 tests/qtest/libqos/libqos-pc.h    |  6 ++++--
 tests/qtest/libqos/libqos-spapr.h |  6 ++++--
 tests/qtest/libqos/libqos.h       |  6 ++++--
 tests/qtest/libqos/virtio-9p.c    |  1 +
 tests/qtest/migration-helpers.h   |  1 +
 tests/qtest/rtas-test.c           |  2 +-
 tests/qtest/usb-hcd-uhci-test.c   |  4 ++--
 tests/unit/test-qmp-cmds.c        | 13 +++++++++----
 14 files changed, 36 insertions(+), 18 deletions(-)

diff --git a/tests/qtest/ahci-test.c b/tests/qtest/ahci-test.c
index 66652fed04..1967cd5898 100644
--- a/tests/qtest/ahci-test.c
+++ b/tests/qtest/ahci-test.c
@@ -154,6 +154,7 @@ static void ahci_migrate(AHCIQState *from, AHCIQState *to, const char *uri)
 /**
  * Start a Q35 machine and bookmark a handle to the AHCI device.
  */
+G_GNUC_PRINTF(1, 0)
 static AHCIQState *ahci_vboot(const char *cli, va_list ap)
 {
     AHCIQState *s;
@@ -171,6 +172,7 @@ static AHCIQState *ahci_vboot(const char *cli, va_list ap)
 /**
  * Start a Q35 machine and bookmark a handle to the AHCI device.
  */
+G_GNUC_PRINTF(1, 2)
 static AHCIQState *ahci_boot(const char *cli, ...)
 {
     AHCIQState *s;
@@ -209,6 +211,7 @@ static void ahci_shutdown(AHCIQState *ahci)
  * Boot and fully enable the HBA device.
  * @see ahci_boot, ahci_pci_enable and ahci_hba_enable.
  */
+G_GNUC_PRINTF(1, 2)
 static AHCIQState *ahci_boot_and_enable(const char *cli, ...)
 {
     AHCIQState *ahci;
diff --git a/tests/qtest/arm-cpu-features.c b/tests/qtest/arm-cpu-features.c
index 5a14527386..8691802950 100644
--- a/tests/qtest/arm-cpu-features.c
+++ b/tests/qtest/arm-cpu-features.c
@@ -32,6 +32,7 @@ static QDict *do_query_no_props(QTestState *qts, const char *cpu_type)
                           QUERY_TAIL, cpu_type);
 }
 
+G_GNUC_PRINTF(3, 4)
 static QDict *do_query(QTestState *qts, const char *cpu_type,
                        const char *fmt, ...)
 {
diff --git a/tests/qtest/erst-test.c b/tests/qtest/erst-test.c
index 974e8bcfe5..c45bee7f05 100644
--- a/tests/qtest/erst-test.c
+++ b/tests/qtest/erst-test.c
@@ -98,7 +98,7 @@ static void setup_vm_cmd(ERSTState *s, const char *cmd)
     const char *arch = qtest_get_arch();
 
     if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
-        s->qs = qtest_pc_boot(cmd);
+        s->qs = qtest_pc_boot("%s", cmd);
     } else {
         g_printerr("erst-test tests are only available on x86\n");
         exit(EXIT_FAILURE);
diff --git a/tests/qtest/ide-test.c b/tests/qtest/ide-test.c
index dbe1563b23..dcb050bf9b 100644
--- a/tests/qtest/ide-test.c
+++ b/tests/qtest/ide-test.c
@@ -125,6 +125,7 @@ static QGuestAllocator guest_malloc;
 static char *tmp_path[2];
 static char *debug_path;
 
+G_GNUC_PRINTF(1, 2)
 static QTestState *ide_test_start(const char *cmdline_fmt, ...)
 {
     QTestState *qts;
@@ -788,7 +789,7 @@ static void test_flush_nodev(void)
     QPCIDevice *dev;
     QPCIBar bmdma_bar, ide_bar;
 
-    qts = ide_test_start("");
+    qts = ide_test_start("%s", "");
 
     dev = get_pci_device(qts, &bmdma_bar, &ide_bar);
 
diff --git a/tests/qtest/ivshmem-test.c b/tests/qtest/ivshmem-test.c
index cd550c8935..9bf8e78df6 100644
--- a/tests/qtest/ivshmem-test.c
+++ b/tests/qtest/ivshmem-test.c
@@ -109,9 +109,9 @@ static void setup_vm_cmd(IVState *s, const char *cmd, bool msix)
     const char *arch = qtest_get_arch();
 
     if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
-        s->qs = qtest_pc_boot(cmd);
+        s->qs = qtest_pc_boot("%s", cmd);
     } else if (strcmp(arch, "ppc64") == 0) {
-        s->qs = qtest_spapr_boot(cmd);
+        s->qs = qtest_spapr_boot("%s", cmd);
     } else {
         g_printerr("ivshmem-test tests are only available on x86 or ppc64\n");
         exit(EXIT_FAILURE);
diff --git a/tests/qtest/libqmp.c b/tests/qtest/libqmp.c
index 2b08382e5d..a89cab03c3 100644
--- a/tests/qtest/libqmp.c
+++ b/tests/qtest/libqmp.c
@@ -134,7 +134,7 @@ static void socket_send_fds(int socket_fd, int *fds, size_t fds_num,
  * in the case that they choose to discard all replies up until
  * a particular EVENT is received.
  */
-static void
+static G_GNUC_PRINTF(4, 0) void
 _qmp_fd_vsend_fds(int fd, int *fds, size_t fds_num,
                   const char *fmt, va_list ap)
 {
diff --git a/tests/qtest/libqos/libqos-pc.h b/tests/qtest/libqos/libqos-pc.h
index 1a9923ead4..a2e4209a49 100644
--- a/tests/qtest/libqos/libqos-pc.h
+++ b/tests/qtest/libqos/libqos-pc.h
@@ -3,8 +3,10 @@
 
 #include "libqos.h"
 
-QOSState *qtest_pc_vboot(const char *cmdline_fmt, va_list ap);
-QOSState *qtest_pc_boot(const char *cmdline_fmt, ...);
+QOSState *qtest_pc_vboot(const char *cmdline_fmt, va_list ap)
+    G_GNUC_PRINTF(1, 0);
+QOSState *qtest_pc_boot(const char *cmdline_fmt, ...)
+    G_GNUC_PRINTF(1, 2);
 void qtest_pc_shutdown(QOSState *qs);
 
 #endif
diff --git a/tests/qtest/libqos/libqos-spapr.h b/tests/qtest/libqos/libqos-spapr.h
index c61338917a..e4483c14f8 100644
--- a/tests/qtest/libqos/libqos-spapr.h
+++ b/tests/qtest/libqos/libqos-spapr.h
@@ -3,8 +3,10 @@
 
 #include "libqos.h"
 
-QOSState *qtest_spapr_vboot(const char *cmdline_fmt, va_list ap);
-QOSState *qtest_spapr_boot(const char *cmdline_fmt, ...);
+QOSState *qtest_spapr_vboot(const char *cmdline_fmt, va_list ap)
+    G_GNUC_PRINTF(1, 0);
+QOSState *qtest_spapr_boot(const char *cmdline_fmt, ...)
+    G_GNUC_PRINTF(1, 2);
 void qtest_spapr_shutdown(QOSState *qs);
 
 /* List of capabilities needed to silence warnings with TCG */
diff --git a/tests/qtest/libqos/libqos.h b/tests/qtest/libqos/libqos.h
index 9b4dd509f0..12d05b2365 100644
--- a/tests/qtest/libqos/libqos.h
+++ b/tests/qtest/libqos/libqos.h
@@ -21,8 +21,10 @@ struct QOSState {
     QOSOps *ops;
 };
 
-QOSState *qtest_vboot(QOSOps *ops, const char *cmdline_fmt, va_list ap);
-QOSState *qtest_boot(QOSOps *ops, const char *cmdline_fmt, ...);
+QOSState *qtest_vboot(QOSOps *ops, const char *cmdline_fmt, va_list ap)
+    G_GNUC_PRINTF(2, 0);
+QOSState *qtest_boot(QOSOps *ops, const char *cmdline_fmt, ...)
+    G_GNUC_PRINTF(2, 3);
 void qtest_common_shutdown(QOSState *qs);
 void qtest_shutdown(QOSState *qs);
 bool have_qemu_img(void);
diff --git a/tests/qtest/libqos/virtio-9p.c b/tests/qtest/libqos/virtio-9p.c
index 7f21028256..186fcc1141 100644
--- a/tests/qtest/libqos/virtio-9p.c
+++ b/tests/qtest/libqos/virtio-9p.c
@@ -211,6 +211,7 @@ static void *virtio_9p_pci_create(void *pci_bus, QGuestAllocator *t_alloc,
  *                      variable arguments of this function to this
  *                      replacement string
  */
+G_GNUC_PRINTF(3, 4)
 static void regex_replace(GString *haystack, const char *pattern,
                           const char *replace_fmt, ...)
 {
diff --git a/tests/qtest/migration-helpers.h b/tests/qtest/migration-helpers.h
index db0684de48..a188b62787 100644
--- a/tests/qtest/migration-helpers.h
+++ b/tests/qtest/migration-helpers.h
@@ -25,6 +25,7 @@ QDict *wait_command_fd(QTestState *who, int fd, const char *command, ...);
 G_GNUC_PRINTF(2, 3)
 QDict *wait_command(QTestState *who, const char *command, ...);
 
+G_GNUC_PRINTF(2, 3)
 QDict *qmp_command(QTestState *who, const char *command, ...);
 
 G_GNUC_PRINTF(3, 4)
diff --git a/tests/qtest/rtas-test.c b/tests/qtest/rtas-test.c
index 50df60e5b2..1ba42b37d2 100644
--- a/tests/qtest/rtas-test.c
+++ b/tests/qtest/rtas-test.c
@@ -13,7 +13,7 @@ static void run_test_rtas_get_time_of_day(const char *machine)
     uint64_t ret;
     time_t t1, t2;
 
-    qs = qtest_spapr_boot(machine);
+    qs = qtest_spapr_boot("%s", machine);
 
     t1 = time(NULL);
     ret = qrtas_get_time_of_day(qs->qts, &qs->alloc, &tm, &ns);
diff --git a/tests/qtest/usb-hcd-uhci-test.c b/tests/qtest/usb-hcd-uhci-test.c
index 7a117b64d9..f264d2bf73 100644
--- a/tests/qtest/usb-hcd-uhci-test.c
+++ b/tests/qtest/usb-hcd-uhci-test.c
@@ -72,9 +72,9 @@ int main(int argc, char **argv)
     qtest_add_func("/uhci/pci/hotplug/usb-storage", test_usb_storage_hotplug);
 
     if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
-        qs = qtest_pc_boot(cmd);
+        qs = qtest_pc_boot("%s", cmd);
     } else if (strcmp(arch, "ppc64") == 0) {
-        qs = qtest_spapr_boot(cmd);
+        qs = qtest_spapr_boot("%s", cmd);
     } else {
         g_printerr("usb-hcd-uhci-test tests are only "
                    "available on x86 or ppc64\n");
diff --git a/tests/unit/test-qmp-cmds.c b/tests/unit/test-qmp-cmds.c
index 2373cd64cb..6d52b4e5d8 100644
--- a/tests/unit/test-qmp-cmds.c
+++ b/tests/unit/test-qmp-cmds.c
@@ -138,6 +138,7 @@ void qmp___org_qemu_x_command(__org_qemu_x_EnumList *a,
 }
 
 
+G_GNUC_PRINTF(2, 3)
 static QObject *do_qmp_dispatch(bool allow_oob, const char *template, ...)
 {
     va_list ap;
@@ -160,6 +161,7 @@ static QObject *do_qmp_dispatch(bool allow_oob, const char *template, ...)
     return ret;
 }
 
+G_GNUC_PRINTF(3, 4)
 static void do_qmp_dispatch_error(bool allow_oob, ErrorClass cls,
                                   const char *template, ...)
 {
@@ -269,7 +271,7 @@ static void test_dispatch_cmd_io(void)
 
 static void test_dispatch_cmd_deprecated(void)
 {
-    const char *cmd = "{ 'execute': 'test-command-features1' }";
+    #define cmd "{ 'execute': 'test-command-features1' }"
     QDict *ret;
 
     memset(&compat_policy, 0, sizeof(compat_policy));
@@ -287,12 +289,13 @@ static void test_dispatch_cmd_deprecated(void)
 
     compat_policy.deprecated_input = COMPAT_POLICY_INPUT_REJECT;
     do_qmp_dispatch_error(false, ERROR_CLASS_COMMAND_NOT_FOUND, cmd);
+    #undef cmd
 }
 
 static void test_dispatch_cmd_arg_deprecated(void)
 {
-    const char *cmd = "{ 'execute': 'test-features0',"
-        " 'arguments': { 'fs1': { 'foo': 42 } } }";
+    #define cmd "{ 'execute': 'test-features0'," \
+        " 'arguments': { 'fs1': { 'foo': 42 } } }"
     QDict *ret;
 
     memset(&compat_policy, 0, sizeof(compat_policy));
@@ -310,11 +313,12 @@ static void test_dispatch_cmd_arg_deprecated(void)
 
     compat_policy.deprecated_input = COMPAT_POLICY_INPUT_REJECT;
     do_qmp_dispatch_error(false, ERROR_CLASS_GENERIC_ERROR, cmd);
+    #undef cmd
 }
 
 static void test_dispatch_cmd_ret_deprecated(void)
 {
-    const char *cmd = "{ 'execute': 'test-features0' }";
+    #define cmd "{ 'execute': 'test-features0' }"
     QDict *ret;
 
     memset(&compat_policy, 0, sizeof(compat_policy));
@@ -334,6 +338,7 @@ static void test_dispatch_cmd_ret_deprecated(void)
     ret = qobject_to(QDict, do_qmp_dispatch(false, cmd));
     assert(ret && qdict_size(ret) == 0);
     qobject_unref(ret);
+    #undef cmd
 }
 
 /* test generated dealloc functions for generated types */
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 13:22:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 13:22:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466094.724932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7G5i-00045o-73; Mon, 19 Dec 2022 13:22:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466094.724932; Mon, 19 Dec 2022 13:22:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7G5i-00045h-2c; Mon, 19 Dec 2022 13:22:02 +0000
Received: by outflank-mailman (input) for mailman id 466094;
 Mon, 19 Dec 2022 13:22:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=S2HB=4R=tibco.com=etorok@srs-se1.protection.inumbo.net>)
 id 1p7G5g-00045b-F8
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 13:22:00 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1d79cfa7-7fa0-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 14:21:58 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id o5so8615574wrm.1
 for <xen-devel@lists.xenproject.org>; Mon, 19 Dec 2022 05:21:59 -0800 (PST)
Received: from smtpclient.apple (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 n18-20020a5d67d2000000b0022cdeba3f83sm9822488wrw.84.2022.12.19.05.21.57
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 19 Dec 2022 05:21:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d79cfa7-7fa0-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=e/wg08fPunablYBmuby3qHl6qZu4dh64aU4NPM6DyqE=;
        b=Q8LPvqbMH6Ck2EdyIPz3WGG6uyC8acTdh/oMFqmhYdfwzAiOEfvrSkUQzRW6zw+18Y
         ZW8AaAEM0HQWZevf2uRpEHmlOf3c5wqd3DWAbqhPrda83ipDJdGyHcKSmFXpE0hvfikI
         O9i65qMRGTIqFLz5gNFdbuIuttBnzc7kZO87M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=e/wg08fPunablYBmuby3qHl6qZu4dh64aU4NPM6DyqE=;
        b=oJWc1lPVKVJlrK967c4Q8011536sXWpczbk3i1Nbllkt0e3YIThgIsu4L5tcsPBlKT
         UgWBbXt8nFPdHPdZ0Snn6wWYr6gM8sK9BdPeGUKePseJccj5kBWevYBkyCjn+ONi6d3r
         AO/ffIegyn/kVtjQ93FLGB9ZlDJeeojTq3nUb+Mo4fbd7L8TpRkII43HeXI99Fio9X0Q
         yWTJxlVZWeYiEvw0UsOo8bdHL3ukCvjPoupiImqHcX5My+uW7CZeYmD+TG8VjhGxs6Hv
         xdq/z1EjEAX7Gajma0eOIZB95dSMlbVsUSOQ/S0fzFzjpHxGtBNvj29d/NnllZEVf4DR
         bbyA==
X-Gm-Message-State: ANoB5pmk8B03QnezLS7iU60SA1hHF4UK6KkkCYyR1Xm8t8fic+yAWkLg
	DBHHfDtOZ2KR/M1T5FE1VYstKw2CrJljHjnx
X-Google-Smtp-Source: AA0mqf4ePiBycUVCC0mXuPTf1iGgx8HoYdtYUchzQ8AyWM+08j7PspUahi953KLDnkdHlLhxrRMyZg==
X-Received: by 2002:adf:a44f:0:b0:242:63e5:2449 with SMTP id e15-20020adfa44f000000b0024263e52449mr29283347wra.69.1671456118544;
        Mon, 19 Dec 2022 05:21:58 -0800 (PST)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.200.110.1.12\))
Subject: Re: [PATCH v4 06/11] tools/ocaml: add .clang-format
From: Edwin Torok <edwin.torok@cloud.com>
In-Reply-To: <Y6BTExf6riHD1HLV@perard.uk.xensource.com>
Date: Mon, 19 Dec 2022 13:21:47 +0000
Cc: =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edvin.torok@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 Wei Liu <wl@xen.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <E45A2869-A227-4017-91C6-9523FB541474@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
 <a3af11ec979d7559ba8db2d185bd51454858739d.1671214525.git.edwin.torok@cloud.com>
 <Y6BTExf6riHD1HLV@perard.uk.xensource.com>
To: Anthony PERARD <anthony.perard@citrix.com>
X-Mailer: Apple Mail (2.3731.200.110.1.12)



> On 19 Dec 2022, at 12:03, Anthony PERARD <anthony.perard@citrix.com> =
wrote:
>=20
> On Fri, Dec 16, 2022 at 06:25:15PM +0000, Edwin T=C3=B6r=C3=B6k wrote:
>> Add a .clang-format configuration that tries to match CODING_STYLE =
where
>> possible.
>=20
> Is there going to be a patch applying this to "tools/ocaml", like you
> did with "make format"?

Long term probably, not yet.

For now I just want to experiment with it to see how well and =
consistently it works (especially with different versions of the tool).
(I've been using ocp-indent and ocamlformat for years now, clang-format =
would be a brand new addition.
 There are some solutions for ocamlformat that might be useful for =
backports, e.g. there is a git merge driver
that reformats all 3 sides of a merge and then attempt to solve =
conflict/do the merge on the resulting formatted files,
so even if old code was formatted differently or with a different =
version it might be able to apply the changes.
I've yet to try it though, and I'm not yet sure how easy it would be to =
integrate something like that with 'guilt' or 'stgit'
which is what Xen uses to manage its patch-queue for backports, at least =
internally.

If there was an ocp-indent equivalent for C that just re-indents that =
might be something we could apply right now,
but I'm not aware of one.
)


>> I was not able to expr
>> ess the special casing of braces after 'do'
>> though, this can only be controlled generally for all control
>> statements.
>> It is imperfect, but should be better than the existing bindings, =
which
>> do not follow Xen coding style.
>=20
> There isn't a single CODING_STYLE for all code in the repo so it isn't
> an issue if the binding where having a different coding style. But
> having as few coding style as possible in the repo is probably =
helpful.

Indeed, having *a* coding style (and automated checking/formatting) is =
what I'm more interested in rather than which particular one.
The current one used by the bindings is not documented, and although I =
can guess at based on surrounding code,
that surrounding code is subtly different based on when it was written, =
so it seemed better to adopt what is already documented
in CODING_STYLE.


>=20
> You could maybe add a CODING_STYLE in "tools/ocaml" to say that the
> coding style is running `make format` or `clang-format ...`. And if
> there other rules like how to name certain variable, that could go in
> this file as well.
>=20


Having a way to easily run these formatters would be a plus.=20
Perhaps extending one of the container images that Xen already has to =
include (a recent enough version of) ocp-indent and clang-format, and =
similarly for the .spec file it might be useful
to update its BuildRequires to bring in the necessary formatters to make =
it easier to use this in backports.

And then all that can be documented in a CODING_STYLE or =
CONTRIBUTING.txt/CONTRIBUTING.md file in tools/ocaml.

Best regards,
--Edwin



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 13:30:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 13:30:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466102.724943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7GE3-0005ZF-0t; Mon, 19 Dec 2022 13:30:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466102.724943; Mon, 19 Dec 2022 13:30:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7GE2-0005Z8-Th; Mon, 19 Dec 2022 13:30:38 +0000
Received: by outflank-mailman (input) for mailman id 466102;
 Mon, 19 Dec 2022 13:30:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TuS/=4R=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1p7GE1-0005Z2-Nj
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 13:30:37 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4cc9effd-7fa1-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 14:30:27 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 h8-20020a1c2108000000b003d1efd60b65so8853493wmh.0
 for <xen-devel@lists.xenproject.org>; Mon, 19 Dec 2022 05:30:36 -0800 (PST)
Received: from zen.linaroharston ([185.81.254.11])
 by smtp.gmail.com with ESMTPSA id
 p13-20020a05600c1d8d00b003d01b84e9b2sm12572845wms.27.2022.12.19.05.30.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 19 Dec 2022 05:30:35 -0800 (PST)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id 4B5B21FFB7;
 Mon, 19 Dec 2022 13:30:35 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cc9effd-7fa1-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UlPLPpl56U/bXAj2k5gLxsEbWsnUhmMHwa6ZL+b6GYc=;
        b=sISDUqyFevk+LKCQngSXmeQKP3X6KbLF9UiUup/BQPFP5NC/yG3CR2rtOV5AOlrRoz
         2NfhmGDJoymDeeU1OuNOCpcggembl3ODt/QiQGGxbWuD/2pVml7c7KZ4wcA8LLW+JGWI
         uNjHl3n4pNy8D4ihyteytl8+69GSgm2PimiHPH/3Dhk1NKjGom5nfQLzIZuV+OzjGP2k
         jpXnXUVnsKZ7Oje/Id0pqtFQ7NNeB+07P8sRkq1HHfcQfQ9ukAgRd17X3UqndU7FS95c
         m3vltdF3Xuipy7lAKI1qsmZxs6EsFTU2PplX5F6sIoVEA79Qk4nKfcCMSoeAEdyNxLhH
         EyFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=UlPLPpl56U/bXAj2k5gLxsEbWsnUhmMHwa6ZL+b6GYc=;
        b=2ByP+T7z3ocJ9q3PW7WjHz8SHey7udLTbi1IDjWkmyCLfKxUcgCg5bIkGlaggeI7rQ
         dFuWArkXQFw4CSSgOTN3uc1VVR2XqV7jwpbTKsP23gjRISgZ8bn8AvKRbFi9H1us9op4
         311rufMzCGqL3pQHdBq3iE/9gjhQRnI0LXlHxKuzf41gefENh5jHFowBQlm0RRVfYWK3
         KR9GAbq9s1TI/o25LEBrB8TOowerw1EGB6+H+YqJpFF1ihOVZCiklFzCEXelOLCTs3XX
         fajY4I7lK7bHDYQzlY7nahUPS04UU/FAq792AIVlUQRWtv4LFg2yq4RIt4O469O+alUq
         CFFw==
X-Gm-Message-State: ANoB5plHP6+wYxasHw8zNtxyBiv03G+QZw6k5LoXLBegUfu6LL3PmpFR
	pS8/XsF2Gluzav/vgu8rZcb00g==
X-Google-Smtp-Source: AA0mqf4Xdip+r7skuBy7lODHoTWA5Ki9oHZGfFRdiMDNpcuRv0VJmJpUY1Fyf6w4t7SHLDm6OrJjiw==
X-Received: by 2002:a05:600c:1e26:b0:3d2:2043:9cb7 with SMTP id ay38-20020a05600c1e2600b003d220439cb7mr25133115wmb.5.1671456636123;
        Mon, 19 Dec 2022 05:30:36 -0800 (PST)
References: <20221202030003.11441-1-vikram.garhwal@amd.com>
 <20221202030003.11441-11-vikram.garhwal@amd.com>
 <871qphc0p3.fsf@linaro.org> <ade61d47-f8c0-09cc-1a44-faaaff87d76a@amd.com>
 <alpine.DEB.2.22.394.2212021429220.4039@ubuntu-linux-20-04-desktop>
 <d87025d8-b653-d80e-22c0-05f052447706@xen.org>
User-agent: mu4e 1.9.7; emacs 29.0.60
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Vikram Garhwal
 <vikram.garhwal@amd.com>, qemu-dev@xilinx.com, stefano.stabellini@amd.com,
 xen-devel@lists.xenproject.org, Peter Maydell <peter.maydell@linaro.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>, "open list:All patches CC
 here" <qemu-devel@nongnu.org>
Subject: Re: [QEMU][PATCH v2 10/11] hw/arm: introduce xenpv machine
Date: Mon, 19 Dec 2022 13:28:46 +0000
In-reply-to: <d87025d8-b653-d80e-22c0-05f052447706@xen.org>
Message-ID: <87bknzldvo.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Julien Grall <julien@xen.org> writes:

> Hi,
>
> On 02/12/2022 22:36, Stefano Stabellini wrote:
>>> Do you know what Xen version your build env has?
>> I think Alex is just building against upstream Xen. GUEST_TPM_BASE
>> is
>> not defined there yet. I think we would need to introduce in
>> xen_common.h something like:
>> #ifndef GUEST_TPM_BASE
>> #define GUEST_TPM_BASE 0x0c000000
>> #endif
>
> I think this would be a big mistake to add the two lines above in QEMU.
>
> Libxl is responsible for creating the domain and generating the
> firwmare tables. Any mismatch of values will be a real pain to debug.
>
> Even if...
>
>> We already have similar code in xen_common.h for other things.
>> Also, it
>> would be best to get GUEST_TPM_BASE defined upstream in Xen first.
>
> ... we introduce upstream first, the guest layout is not part of the
> stable ABI and therefore could change from release to release.
>
>>=20
>>> Another way to fix this(as Julien suggested) is by setting this GUEST_T=
PM_BASE
>>> value via a property or something and user can set it via command line.
>>>
>>> @sstabellini@kernel.org, do you think of any other fix?
>> Setting the TPM address from the command line is nice and preferable
>> to
>> hardcoding the value in xen_common.h. It comes with the challenge that
>> it is not very scalable (imagine we have a dozen emulated devices) but
>> for now it is fine and a good way to start if you can arrange it.
>
> It is not clear which one you think is not scalable. If this is the
> command line option approach, then I think this is unrealistic to ask
> every user to rebuild there QEMU just because the guest layout has
> changed.
>
> Today the rebuild may only be necessary when switching to a new
> release. But in the future we may imagine a per-domain layout (e.g.
> for legacy purpose). So you will now need to request the user to have
> one QEMU built per domain.

I agree if this is something that can change it needs to be configured
from the command line or somehow otherwise gleaned from the source of
truth. Isn't this information available via XenStore? Isn't that what
Viresh has to do for all the VirtIO devices he's adding to libxl?

A default value for the option could be done I guess.

>
> How is that scalable?
>
> Cheers,


--=20
Alex Benn=C3=A9e
Virtualisation Tech Lead @ Linaro


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 13:33:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 13:33:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466110.724954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7GGO-0006AB-F7; Mon, 19 Dec 2022 13:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466110.724954; Mon, 19 Dec 2022 13:33:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7GGO-0006A4-Am; Mon, 19 Dec 2022 13:33:04 +0000
Received: by outflank-mailman (input) for mailman id 466110;
 Mon, 19 Dec 2022 13:33:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=S2HB=4R=tibco.com=etorok@srs-se1.protection.inumbo.net>)
 id 1p7GGN-00069s-Bc
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 13:33:03 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a3a3f2b0-7fa1-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 14:32:53 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id ay40so6420663wmb.2
 for <xen-devel@lists.xenproject.org>; Mon, 19 Dec 2022 05:33:02 -0800 (PST)
Received: from smtpclient.apple (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 y12-20020adffa4c000000b002258235bda3sm9982551wrr.61.2022.12.19.05.33.01
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 19 Dec 2022 05:33:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3a3f2b0-7fa1-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hyqBFqrtmlfxIHvmtBOqZBB+aaAVvAnC/1WGsPr5f64=;
        b=Bd3q0uQQcCrQfzu9lU8bWzwcwB9U4o+RnAdzJjm/wKLZOrISoe+fLS6gxQ6/7cUrY5
         xQRomUkMotvmW3o7kzhkM0c/j5q1nnW+hxnIdLU9plVz8CsXf+PHRtkAgh+f756wrVMk
         Vp63zi1ThZS6BjjnUydKwL75GODzgYzuYc/SU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=hyqBFqrtmlfxIHvmtBOqZBB+aaAVvAnC/1WGsPr5f64=;
        b=f5P21NtMejl/sotb7lSJsrefe4jJbGvyS6KLvwN1BI1vlDoMR+BuBdgvofF7e6lrAG
         0dkN/ak2Prz5dqXQROnJHlmvIRN8bUWjEWwqcmYnZx1JbuaQ/TAU49HtgsCRbWjrlrPj
         ZLvEfdEeFCRKHHHPOQ9dCoYaJRVy2Tnnojup5iHfXFG315ZCwa383ZW1DE8+gDjFlGMe
         z4f4ivmaq4vGpy3fJXmijb0z4VjB83EhJnZp0BnXd/bDXScnl7rtIzlDMFcpD+tDt2Q8
         7qqmpCLCsW0quZN8pP7RXNpzpoFXkERZPnfCuqqtt/Gm0JOm5+97rPAo4yvt6RyMtUY/
         HKmg==
X-Gm-Message-State: ANoB5pkepl+MEy1xZF2iT3PBzIMVxdJE/KawcNwbpjOq0704UZ5WOPML
	YrvaEc5CV75/ab3TGr0kT+SgXw==
X-Google-Smtp-Source: AA0mqf4sQodQR34lFKzuw3jB0bs2vNrIqw435DUm50XvXbLP9Dahm7SdD9F6r90Omnpjk0QDP916uQ==
X-Received: by 2002:a7b:ce84:0:b0:3c6:e63e:24e with SMTP id q4-20020a7bce84000000b003c6e63e024emr32647826wmj.37.1671456781921;
        Mon, 19 Dec 2022 05:33:01 -0800 (PST)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.200.110.1.12\))
Subject: Re: [PATCH v4 03/11] CODING_STYLE(tools/ocaml): add 'make format' and
 remove tabs
From: Edwin Torok <edwin.torok@cloud.com>
In-Reply-To: <Y6BQhAs0ZgRqJ3//@perard.uk.xensource.com>
Date: Mon, 19 Dec 2022 13:32:51 +0000
Cc: =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edvin.torok@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 David Scott <dave@recoil.org>,
 Wei Liu <wl@xen.org>,
 Christian Lindig <christian.lindig@citrix.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <9056A016-609C-4AD8-B989-868E81763B85@cloud.com>
References: <cover.1671214525.git.edwin.torok@cloud.com>
 <81d621cea5975fdd9698992b968dcd7528c637af.1671214525.git.edwin.torok@cloud.com>
 <Y6BQhAs0ZgRqJ3//@perard.uk.xensource.com>
To: Anthony PERARD <anthony.perard@citrix.com>
X-Mailer: Apple Mail (2.3731.200.110.1.12)



> On 19 Dec 2022, at 11:52, Anthony PERARD <anthony.perard@citrix.com> =
wrote:
>=20
> On Fri, Dec 16, 2022 at 06:25:12PM +0000, Edwin T=C3=B6r=C3=B6k wrote:
>> + git ls-files '*.c' '*.h' | xargs -n1 sed -ie 's/\t/    /g'
>=20
> Seen as there's a patch adding .clang-format, what the point of this
> command?

The diff to change tabs to spaces (and the equivalent one from =
ocp-indent) can be proven
to introduce 0 changes by looking at the diff with ignore-whitespace.
Proving the same with ocamlformat or clang-format is more difficult (and =
in particular if you keep rebasing commits from after the reformat =
commit to before it
you risk losing the change if you don't redo the format commit =
correctly).

So I intended to do this gradually: first get indentation to be =
consistent, and then get formatting to be consistent later once
the former has been accepted and committed.

>=20
> "-ie" means to ask sed to change file in-place an keep a copy of the
> original file with "e" as suffix. So please replace that by "-i~" or
> "-i -e" or just "-i", with the first one create a "~" backup, the last
> two not creating a backup at all and probably what you wanted. ("-e" =
is
> optional as there's only a single command)
>=20

Thanks for pointing it out, what I wanted is 'sed -i -e', and you can =
usually merge multiple single char flags into a single one,
except that is not the case for -i, and I keep making this mistake.

.PHONY: format
format:
	git ls-files '*.ml' '*.mli' | xargs -n1 ocp-indent -i
	git ls-files '*.c' '*.h' | xargs -n1 sed -i 's/\t/    /g'


--Edwin=


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 13:58:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 13:58:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466118.724965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Get-0000CH-7V; Mon, 19 Dec 2022 13:58:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466118.724965; Mon, 19 Dec 2022 13:58:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Get-0000CA-4p; Mon, 19 Dec 2022 13:58:23 +0000
Received: by outflank-mailman (input) for mailman id 466118;
 Mon, 19 Dec 2022 13:58:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mr6H=4R=bugseng.com=roberto.bagnara@srs-se1.protection.inumbo.net>)
 id 1p7Ger-0000C1-SS
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 13:58:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c888e47-7fa5-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 14:58:11 +0100 (CET)
Received: from [192.168.1.219] (unknown [151.29.129.19])
 by support.bugseng.com (Postfix) with ESMTPSA id 27FDB4EE078B;
 Mon, 19 Dec 2022 14:58:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c888e47-7fa5-11ed-8fd4-01056ac49cbb
Message-ID: <42b72946-760f-3582-2f30-18a5e54c261a@bugseng.com>
Date: Mon, 19 Dec 2022 14:58:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.12) Gecko/20050929
 Thunderbird/1.0.7 Fedora/1.0.7-1.1.fc4 Mnenhy/0.7.3.0
Subject: Re: MISRA C Rule 20.7 disambiguation
To: Stefano Stabellini <sstabellini@kernel.org>,
 Jan Beulich <jbeulich@suse.com>, roberto.bagnara@bugseng.com
Cc: xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com,
 george.dunlap@citrix.com, julien@xen.org, roger.pau@citrix.com,
 burzalodowa@gmail.com, michal.orzel@amd.com
References: <alpine.DEB.2.22.394.2212081619310.3075842@ubuntu-linux-20-04-desktop>
 <eb35b7bf-3a49-4faa-3ea6-a6076f032fd6@suse.com>
 <alpine.DEB.2.22.394.2212091427180.3075842@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Roberto Bagnara <roberto.bagnara@bugseng.com>
In-Reply-To: <alpine.DEB.2.22.394.2212091427180.3075842@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2022-12-09 23:46, Stefano Stabellini wrote:
> Eclair marks it as a violation too. Eclair thinks "nr" needs
> parenthesis. Roberto, we have already discussed how the comma operator
> "," being the lower precedence doesn't require extra parenthesis.
> Roberto, what's your take on the [] square brakets?

Yes, we agreed upon the fact that square brackets are as good as
parentheses, but the ECLAIR configuration on eclairit.com was not
updated consequently: now it should be OK.


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 14:10:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 14:10:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466127.724975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7GqR-0002Yw-8u; Mon, 19 Dec 2022 14:10:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466127.724975; Mon, 19 Dec 2022 14:10:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7GqR-0002Yp-6I; Mon, 19 Dec 2022 14:10:19 +0000
Received: by outflank-mailman (input) for mailman id 466127;
 Mon, 19 Dec 2022 14:10:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gyHb=4R=citrix.com=prvs=3454adc0d=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1p7GqP-0002Yj-KB
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 14:10:17 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d517a0e2-7fa6-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 15:10:05 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d517a0e2-7fa6-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671459014;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=bkhL5i1Zpu2u0dNJ8rDflE68+bM9GeYGaMZ8cE7WyBg=;
  b=NnKhLifkFaTxJKrM2dKpX+s5/B2qKngP7T8+XE6gOc8VwstpzCoI66V+
   0IduwQmkYi8CAhr1W8KxYJiWLXaAKSLAciLmAWcg7Zt84bOQhdup/i5eM
   ThwJI2Qmfb0e/tL9kz4e0y/cTEk3bDoohbBl5lT+PKvdo0+VBMkEIr8cY
   M=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 89102970
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:REAz26uKIQm+B1lLID8TiCsKKOfnVB9YMUV32f8akzHdYApBsoF/q
 tZmKWyCaPrcMWunf98laIri9UhUuJTdmt4yTQRqpCgzF3sR+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWHxiFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwdhMTYyCOgfiNmr+pcrB8n4MBBcSzFdZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfAdMYH49tL7Aan3XejtEqFWTtOwv7nLa1gBZ27nxKtvFPNeNQK25m27I9
 zuepTWmWnn2MvSi0Dq77SOutNaWsiP1ZrATTIKe17l11Qj7Kms7V0RNCArTTeOCokK3XdNSL
 0wepnN1hac3/U2vCNL6WnWQqWSBtAQBc8BdH+0z9EeGza+8ywKHB3YFQyRpctEqtMYqAzct0
 zehltfkFXplvbuTRH+18raSpCm1fy8PIgcqYC4PTQII55/5p50zphvKQpBoF6vdpsP0Ay3xx
 HWEtwAkirkThNJN3KK+lXjejjex45TEUAMxzgPQWG2j80V+foHNT4Oy7kXUxfVJK4rfSUOO1
 FAYm9WC7MgUAJ2NnTDLS+IIdJm56vDAPDDCjFpHG5g66y/r63OlZZpX4jx1OAFuKMlsUSbkZ
 VKWoRtazJlUOnSscOlweY3ZI8glzKzqGM75furZYtpHft56cwrv1DlkYkiC3mbsuFIhnaE2J
 dGQdsPEJW0GBKpuyjq/b/0Q3b8i2mY1wma7bZLgyRO4+aCTaH6cVfEON17mRuo09rmNpgrY2
 8xSO8uD11NUV+iWSirN+J4eKXgQIHQ7DIywoMtSHsaYORZvEmwlD/7XwJsidpZjkqATkf3Hl
 lmkV0pFjVPlgFXBLgOFbG0lb6ngNb5noG42J2opNEek1nwnSYKu6q4FcN0wZ7ZP3PVuyOMxR
 f0CcMaoBPNJRTLavTMHYvHVp4htXBeigg7IODCqCBAzdoBhSyTG+9X/eQ2p+DMJFiC6vNF4o
 rHm3x6zaYIKWgBKHMvQLvW1wDuMUWM1wbwoGRGSe58KJRuqoNMCxzHNYuEffeISJCXOwCGhj
 QuEOU4IvK7vioJt2Yyc7UyblLuBH+x7F0tcOmDU67eqKCXXllaeLZ98vPWgJm6ECj6tkEm2T
 aAMlqynbqVb9Lpfm9Ake4uH257S8DcGS1Vy6g1/VEvGYF2wYl+LCinXhJIf3kGhK1IwhOdXZ
 q5t0oMBUVlqEJm/eLL0GObCRrrr6B3ssmOOhcnZ2W2jjMONwJKJUF9JIz6HgzFHIb1+PesNm
 Ll+4ZVGu1fh1Ep7Y75qaxy4EEzVchQ9v1gP7MlGUOcHdCJwor29XXAsInCvu8zeAzm9GkIrP
 iWVlML/ulio/WKbKyBbPSGUjYJgaWEm5EgiIKkqew7YxbIoR5YfgHVszNjAZl8On0gYjb4uZ
 zAD2o8cDfzmwgqETfNrBwiEczytzjXDkqAt4zPlTFHkcnQ=
IronPort-HdrOrdr: A9a23:UTs5kqCJzyLV3uflHemA55DYdb4zR+YMi2TDgXoBLiC9Ffb1qy
 nOppsmPHrP4wr5N0tPpTntAsi9qBHnhP1ICPgqXYtKNTOO0AHEEGgF1/qG/9SKIVydygcy79
 YZT0FWMqyVMXFKyer8/QmkA5IB7bC8gduVbD7lvhFQpNdRGthd0zs=
X-IronPort-AV: E=Sophos;i="5.96,255,1665460800"; 
   d="scan'208";a="89102970"
Date: Mon, 19 Dec 2022 14:10:04 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Daniel =?iso-8859-1?Q?P=2E_Berrang=E9?= <berrange@redhat.com>
CC: <qemu-devel@nongnu.org>, "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	<qemu-ppc@nongnu.org>, <xen-devel@lists.xenproject.org>, Laurent Vivier
	<lvivier@redhat.com>, Markus Armbruster <armbru@redhat.com>, "Daniel Henrique
 Barboza" <danielhb413@gmail.com>, <virtio-fs@redhat.com>, Michael Roth
	<michael.roth@amd.com>, Alex =?iso-8859-1?Q?Benn=E9e?=
	<alex.bennee@linaro.org>, <qemu-block@nongnu.org>, Peter Maydell
	<peter.maydell@linaro.org>, <qemu-arm@nongnu.org>, Paul Durrant
	<paul@xen.org>, David Gibson <david@gibson.dropbear.id.au>,
	=?iso-8859-1?Q?C=E9dric?= Le Goater <clg@kaod.org>, John Snow
	<jsnow@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, Paolo Bonzini
	<pbonzini@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, "Gerd
 Hoffmann" <kraxel@redhat.com>, Greg Kurz <groug@kaod.org>, Thomas Huth
	<thuth@redhat.com>
Subject: Re: [PATCH 2/6] hw/xen: use G_GNUC_PRINTF/SCANF for various functions
Message-ID: <Y6BwvATqB0ka7qys@perard.uk.xensource.com>
References: <20221219130205.687815-1-berrange@redhat.com>
 <20221219130205.687815-3-berrange@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20221219130205.687815-3-berrange@redhat.com>

On Mon, Dec 19, 2022 at 08:02:01AM -0500, Daniel P. Berrang wrote:
> Signed-off-by: Daniel P. Berrang <berrange@redhat.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 14:13:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 14:13:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466135.724987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Gtx-0003Al-PB; Mon, 19 Dec 2022 14:13:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466135.724987; Mon, 19 Dec 2022 14:13:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Gtx-0003Ae-LP; Mon, 19 Dec 2022 14:13:57 +0000
Received: by outflank-mailman (input) for mailman id 466135;
 Mon, 19 Dec 2022 14:13:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=u+i/=4R=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1p7Gtv-0003AQ-Vr
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 14:13:56 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ef9fc8e-7fa7-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 15:13:55 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id h7so8764375wrs.6
 for <xen-devel@lists.xenproject.org>; Mon, 19 Dec 2022 06:13:55 -0800 (PST)
Received: from [192.168.30.216] ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id
 u18-20020adfeb52000000b002423dc3b1a9sm10072017wrn.52.2022.12.19.06.13.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 19 Dec 2022 06:13:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ef9fc8e-7fa7-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Nl4BGj1PyLBerZrWWS1NwXWllkrPCT7tq7b1VOTopDg=;
        b=Qoq1oc3WR/h+dr5nNxVF0P7U/ZkhFAEPkpf+fYnizATJ+5xL7j35kQRZlFPbDPYY6c
         xJ87qjQrF4tMPIewqjhAqQrO83nQpxuUaIk8jNhy/p3QqhwSRIlWhzki+GNhGPPoG5C0
         CNYt5ZkwEwcQIgYOHRqOtrZ+AXFqI9J/6J5r+RJ4DODPoxNNmlTVzRYWOtbR3RO7h6dH
         arAMC6XqWrhiNElK5I5Y8veR6sltuaZK3dnQXQHLIaG+vT7nPYnivs1S3YALat+eBHQf
         ZANg1H+/TYJ3rRMn24mhTyfWr76k9AvneEMnhGGVK7lIH9aqaGPda+t73IjSWL2d4qQa
         eNqg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Nl4BGj1PyLBerZrWWS1NwXWllkrPCT7tq7b1VOTopDg=;
        b=XldZxe+gVHJgnYnumStCDD0xYPJXISXWJLlHxuILeVKwZEdYpVUCUfuZMlPWPu/Xc9
         YUlnCgowN0NW3kWJEPi4DedRVszNMiEjQG6w+y5lxoY9Ksgre/iuFWG+Cvxos5yMYcLb
         MOZHkcb0H+97xxyZ808cjj8om1Ks9WCf6qdCCjxhVR97Ee/9z4khhwDLOxBNa0s7KDJV
         nlgKtqM1yS7pob2iAHtTwAuAe5wtaubpgW0z4Yv5fVHIPkmLblaoaXN0hGZPf1zyJEpa
         Hz/oHyu4Su4YHDbkS6iFSPM09iuB1OIv6AhJ0IAU58KqytuDEB6WjpmgFDznTrWaubjr
         2qWg==
X-Gm-Message-State: ANoB5pm/nXJled6KvxJBn5k5CF1g30zLPV9WIDEbnpzZS0Dw7lOZH6ZD
	poLaCKxXiSQUEWB18vXCf+DXiQ==
X-Google-Smtp-Source: AA0mqf5JZ3r27fj5zYU0NkvBmgVgehhQjiBRs8UlsMH+e7JchlrgCR43+KyfXv8Tqx1/1uR9NmQ+jw==
X-Received: by 2002:adf:e992:0:b0:242:4035:622 with SMTP id h18-20020adfe992000000b0024240350622mr28575482wrm.31.1671459234482;
        Mon, 19 Dec 2022 06:13:54 -0800 (PST)
Message-ID: <542d86b6-3ca7-a1c4-51b1-af73d5434f57@linaro.org>
Date: Mon, 19 Dec 2022 15:13:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.5.1
Subject: Re: [PATCH 4/6] util/error: add G_GNUC_PRINTF for various functions
Content-Language: en-US
To: =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>,
 qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>, qemu-ppc@nongnu.org,
 xen-devel@lists.xenproject.org, Laurent Vivier <lvivier@redhat.com>,
 Markus Armbruster <armbru@redhat.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, virtio-fs@redhat.com,
 Michael Roth <michael.roth@amd.com>, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, qemu-block@nongnu.org,
 Peter Maydell <peter.maydell@linaro.org>, qemu-arm@nongnu.org,
 Paul Durrant <paul@xen.org>, Anthony Perard <anthony.perard@citrix.com>,
 David Gibson <david@gibson.dropbear.id.au>, =?UTF-8?Q?C=c3=a9dric_Le_Goater?=
 <clg@kaod.org>, John Snow <jsnow@redhat.com>,
 Stefan Hajnoczi <stefanha@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gerd Hoffmann <kraxel@redhat.com>, Greg Kurz <groug@kaod.org>,
 Thomas Huth <thuth@redhat.com>
References: <20221219130205.687815-1-berrange@redhat.com>
 <20221219130205.687815-5-berrange@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20221219130205.687815-5-berrange@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 19/12/22 14:02, Daniel P. Berrangé wrote:
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>   util/error-report.c | 1 +
>   util/error.c        | 1 +
>   2 files changed, 2 insertions(+)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>




From xen-devel-bounces@lists.xenproject.org Mon Dec 19 14:45:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 14:45:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466152.725020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HOu-0007Dx-2n; Mon, 19 Dec 2022 14:45:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466152.725020; Mon, 19 Dec 2022 14:45:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HOt-0007Dm-Uj; Mon, 19 Dec 2022 14:45:55 +0000
Received: by outflank-mailman (input) for mailman id 466152;
 Mon, 19 Dec 2022 14:45:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EUwz=4R=citrix.com=prvs=345b0463a=sergey.dyasli@srs-se1.protection.inumbo.net>)
 id 1p7HOs-0006ib-0K
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 14:45:54 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d6170f21-7fab-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 15:45:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6170f21-7fab-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671461152;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=ZYFxkj9X/U5+jpRj/Koq1z+I/rVSV2S71DiPtKUVOes=;
  b=FMK3ysi78ky7KbqQX5s+Y8jTEmip5jckgGd6u5oik0OJMdV1mvGl+P5G
   6HrtfW4S+pSqKEUQRRdJlW2A/Z+Fbfr6D0iHV0rSeKGWYT13eVYqFtRyc
   U8gn0S7oee2X+agTA0wjcgHnpxhdoh32bthA8nmZ4pS0ZogSQnHf+L4y0
   U=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88063314
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:JyxMPq2X4Rnh5D/ZIvbD5dxxkn2cJEfYwER7XKvMYLTBsI5bpzJUz
 mscC2iBbvuIYjb2edEja96zp00AsZ+DzIdnG1ZvpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZnNKgS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfCmh25
 6wHc2A0T1O4hLiV+OylZ+llmZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKkSbC/FMEg5/5JYWh+qyiXTuNTFJoUmRpII84nTJzRw327/oWDbQUozaHZsOxR/Ez
 o7A1yPQKTwXO+3E8z2cyl2Kpe2Xxi7Fe51HQdVU8dY12QbOlwT/EiY+Sl+TsfS/zEmkVLp3O
 0ESvyYjs6U23EiqVcXmGQ21pmaeuRwRUMYWFPc1gCmPwKfJ5weSBkAfUyVMLtchsacLqScCj
 wHT2YmzXHo27ePTGSn1GqqoQS2aMiEtPz8dPn89bEg+4IPAmN8toxLGUYM2eEKqteHdFTb1y
 jGMiSExgbQPkMIGv5mGEUD7byGE/caQEFNsjunDdif8t14iOtb5D2C9wQKDhcusOrp1WbVoU
 JIsv8GFpN4DApiW/MBmaLVcRer5jxpp3dC1vLKOI3XD3272k5JAVdoKiN2bGKuOGphsRNMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QRO8MhJFTZonE/NCZ8OlwBd2B1zckC1
 WqzK57wXR7294w8pNZJewvt+eBynX1vrY8ibZv60w6mwdKjWZJhcp9caAHmRrlgvMu5TPD9r
 4432z2il08OD4UTo0D/reYuELz9BSNgVM2p9ZAKK7brz8gPMDhJNsI9CIgJI+RN95m5XM+Tl
 p1hcie0EGbCuEA=
IronPort-HdrOrdr: A9a23:Gj/bcKooFfZUkV+h5TxMcmkaV5oUeYIsimQD101hICG9vPbo7v
 xG/c5rrSMc7Qx6ZJhOo6HkBEDtewK/yXcx2/hzAV7AZmjbUQmTXeVfBOLZqlWKJ8S9zI5gPM
 xbAs9D4bPLfD5HZAXBjDVQ0exM/DBKys+VbC7loUtQcQ==
X-IronPort-AV: E=Sophos;i="5.96,255,1665460800"; 
   d="scan'208";a="88063314"
From: Sergey Dyasli <sergey.dyasli@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Sergey Dyasli
	<sergey.dyasli@citrix.com>
Subject: [PATCH v2 2/3] x86/ucode: allow cpu_request_microcode() to skip memory allocation
Date: Mon, 19 Dec 2022 14:45:32 +0000
Message-ID: <20221219144533.19836-3-sergey.dyasli@citrix.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221219144533.19836-1-sergey.dyasli@citrix.com>
References: <20221219144533.19836-1-sergey.dyasli@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

This is a preparatory step in order to do earlier microcode loading on
the boot CPU when the domain heap has not been initialized yet and
xmalloc still unavailable.

Add make_copy argument which will allow to load microcode directly from
the blob bypassing microcode_cache.

Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>

---
v1 --> v2:
- Don't add extra consts
---
 xen/arch/x86/cpu/microcode/amd.c     | 13 +++++++++----
 xen/arch/x86/cpu/microcode/core.c    |  2 +-
 xen/arch/x86/cpu/microcode/intel.c   | 13 +++++++++----
 xen/arch/x86/cpu/microcode/private.h | 15 +++++++++++----
 4 files changed, 30 insertions(+), 13 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/amd.c b/xen/arch/x86/cpu/microcode/amd.c
index 8195707ee1..4b097187a0 100644
--- a/xen/arch/x86/cpu/microcode/amd.c
+++ b/xen/arch/x86/cpu/microcode/amd.c
@@ -300,7 +300,7 @@ static int scan_equiv_cpu_table(const struct container_equiv_table *et)
 }
 
 static struct microcode_patch *cf_check cpu_request_microcode(
-    const void *buf, size_t size)
+    const void *buf, size_t size, bool make_copy)
 {
     const struct microcode_patch *saved = NULL;
     struct microcode_patch *patch = NULL;
@@ -411,9 +411,14 @@ static struct microcode_patch *cf_check cpu_request_microcode(
 
     if ( saved )
     {
-        patch = xmemdup_bytes(saved, saved_size);
-        if ( !patch )
-            error = -ENOMEM;
+        if ( make_copy )
+        {
+            patch = xmemdup_bytes(saved, saved_size);
+            if ( !patch )
+                error = -ENOMEM;
+        }
+        else
+            patch = (struct microcode_patch *)saved;
     }
 
     if ( error && !patch )
diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 452a7ca773..85c05e480d 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -244,7 +244,7 @@ static struct microcode_patch *parse_blob(const char *buf, size_t len)
 {
     alternative_vcall(ucode_ops.collect_cpu_info);
 
-    return alternative_call(ucode_ops.cpu_request_microcode, buf, len);
+    return alternative_call(ucode_ops.cpu_request_microcode, buf, len, true);
 }
 
 static void microcode_free_patch(struct microcode_patch *patch)
diff --git a/xen/arch/x86/cpu/microcode/intel.c b/xen/arch/x86/cpu/microcode/intel.c
index f5ba6d76d7..f7fec4b4ed 100644
--- a/xen/arch/x86/cpu/microcode/intel.c
+++ b/xen/arch/x86/cpu/microcode/intel.c
@@ -324,7 +324,7 @@ static int cf_check apply_microcode(const struct microcode_patch *patch)
 }
 
 static struct microcode_patch *cf_check cpu_request_microcode(
-    const void *buf, size_t size)
+    const void *buf, size_t size, bool make_copy)
 {
     int error = 0;
     const struct microcode_patch *saved = NULL;
@@ -364,10 +364,15 @@ static struct microcode_patch *cf_check cpu_request_microcode(
 
     if ( saved )
     {
-        patch = xmemdup_bytes(saved, get_totalsize(saved));
+        if ( make_copy )
+        {
+            patch = xmemdup_bytes(saved, get_totalsize(saved));
 
-        if ( !patch )
-            error = -ENOMEM;
+            if ( !patch )
+                error = -ENOMEM;
+        }
+        else
+            patch = (struct microcode_patch *)saved;
     }
 
     if ( error && !patch )
diff --git a/xen/arch/x86/cpu/microcode/private.h b/xen/arch/x86/cpu/microcode/private.h
index c085a10268..58c5dffd7b 100644
--- a/xen/arch/x86/cpu/microcode/private.h
+++ b/xen/arch/x86/cpu/microcode/private.h
@@ -23,15 +23,22 @@ struct microcode_ops {
      * older that what is running in the CPU.  This is a feature, to better
      * cope with corner cases from buggy firmware.)
      *
-     * If one is found, allocate and return a struct microcode_patch
-     * encapsulating the appropriate microcode patch.  Does not alias the
-     * original buffer.  Must be suitable to be freed with a single xfree().
+     * If one is found, behaviour depends on the make_copy argument:
+     *
+     *     true: allocate and return a struct microcode_patch encapsulating
+     *           the appropriate microcode patch.  Does not alias the original
+     *           buffer.  Must be suitable to be freed with a single xfree().
+     *
+     *    false: return a pointer to the patch within the original buffer.
+     *           This is useful for early microcode loading when xmalloc might
+     *           not be available yet.
      *
      * If one is not found, (nothing matches the current CPU), return NULL.
      * Also may return ERR_PTR(-err), e.g. bad container, out of memory.
      */
     struct microcode_patch *(*cpu_request_microcode)(const void *buf,
-                                                     size_t size);
+                                                     size_t size,
+                                                     bool make_copy);
 
     /*
      * Obtain microcode-relevant details for the current CPU.  Results in
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 14:45:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 14:45:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466153.725024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HOu-0007H1-Bw; Mon, 19 Dec 2022 14:45:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466153.725024; Mon, 19 Dec 2022 14:45:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HOu-0007GM-6P; Mon, 19 Dec 2022 14:45:56 +0000
Received: by outflank-mailman (input) for mailman id 466153;
 Mon, 19 Dec 2022 14:45:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EUwz=4R=citrix.com=prvs=345b0463a=sergey.dyasli@srs-se1.protection.inumbo.net>)
 id 1p7HOs-0006vj-Nl
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 14:45:54 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d56f9108-7fab-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 15:45:53 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d56f9108-7fab-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671461153;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=WR4cdLn2iHdj6dKeKFSaHSmFlU5WqS0U7np8w7Q1nAI=;
  b=Jrp8d/bL2gepys9MftxUMVe6Ahp/lpKCkqoR3pJpSybQEYBlZCYok36q
   s4icvkW4WEIEfBeIMlg4QUOfA5GFBjv1zpgTNyT9WyvGwg1ZW/iFMSk05
   /nHlNCKVJ8jNhk4u1/8uQ+f+CHv+KOpF7LxFgIZ34dGWrX9nslUa6CDKM
   s=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88612821
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ZFVFgaiVwCythS0ICPpLECeqX161bxAKZh0ujC45NGQN5FlHY01je
 htvXj+BO/aJNjajc4p1bomw8hwAvMXUn94wHFZoqy48ECkb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5gaPzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQxDxwGZT7eu9iP/6uiesxw2p0PKO7CadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJagx/5JEWxY9EglHkfidXpUPTqbs++GzS5AdwzKLsIJzefdniqcB9zhbG/
 ziWpT2R7hcyBuCU9WC7+HKWwe7TnnrEBK1VTI/7+as/6LGU7jNKU0BHPbehmtGmjmauVtQZL
 FYbkgIsp6Uv8E2gTvHmQga15nWDu3Y0S9dWVuE39gyJ4q7V+BqCQHgJSCZbb94rv9NwQiYlv
 mJlhPuwW2Yp6ufMDyvAqPHE9lteJBT5M0crQgMPRiVY3+Pan5gqvjfTEo9PFImc24id9S7L/
 xiGqy03hrM2hMEN1rmm8V2vvw9AtqQlXSZuuFyJAzvNAhdRIdf8Otf2sQSzAeNodt7xc7WXg
 JQTdyFyBsgqBIrFqiGCSf5l8FqBt6fca220bbKC8vAcG9WRF5yLJ9s4DNJWfh0B3iM4ldjBP
 ifuVft5vsM7AZdTRfYfj3iNI8or17P8Mt/uS+rZaNFDCrAoKlDep3E+PhDOjzG8+KTJrU3YE
 c7HGftA8F5AUfg3pNZIb7x1PUAXKtAWmjqIGMGTI+WP2ruCfn+FIYo43K+1Rrlhtsus+VyFm
 +uzwuPWk32zpsWiOHiImWPSRHhWRUUG6Wfe8JcGK7Hdflc7QAnMyZb5mNscRmCspIwN/s+gw
 513chYwJIbX7ZEfFTi3Vw==
IronPort-HdrOrdr: A9a23:lUfSF65l5mrtIWgtRQPXwPfXdLJyesId70hD6qm+c20tTiX4rb
 HXoB1/73XJYVkqKRQdcLy7Scu9qDbnhP1ICOoqXItKPjOW3FdARbsKheDfKn/bexEWndQtsp
 uIHZIObuEYzmIXsS852mSF+hobr+VvOZrHudvj
X-IronPort-AV: E=Sophos;i="5.96,255,1665460800"; 
   d="scan'208";a="88612821"
From: Sergey Dyasli <sergey.dyasli@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Sergey Dyasli
	<sergey.dyasli@citrix.com>
Subject: [PATCH v2 3/3] x86/ucode: load microcode earlier on boot CPU
Date: Mon, 19 Dec 2022 14:45:33 +0000
Message-ID: <20221219144533.19836-4-sergey.dyasli@citrix.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221219144533.19836-1-sergey.dyasli@citrix.com>
References: <20221219144533.19836-1-sergey.dyasli@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

Call early_microcode_init() straight after multiboot modules become
accessible. Modify it to load the ucode directly from the blob bypassing
populating microcode_cache because xmalloc is still not available at
that point during Xen boot.

Introduce early_microcode_init_cache() for populating microcode_cache.
It needs to rescan the modules in order to find the new virtual address
of the ucode blob because it changes during the boot process, e.g.
from 0x00000000010802fc to 0xffff83204dac52fc.

While at it, drop alternative_vcall() from early_microcode_init() since
it's not useful in an __init fuction.

Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>

---
v1 --> v2:
- Don't call microcode_grab_module() the second time, use
  microcode_scan_module() instead
- Use forward declaration of struct multiboot_info
- Don't use alternative calls
- Rename early_microcode_update_cache() to early_update_cache() and
  move it around a bit
---
 xen/arch/x86/cpu/microcode/core.c    | 66 +++++++++++++++++++++++-----
 xen/arch/x86/include/asm/microcode.h |  7 ++-
 xen/arch/x86/include/asm/setup.h     |  3 --
 xen/arch/x86/setup.c                 | 10 +++--
 4 files changed, 68 insertions(+), 18 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 85c05e480d..04b5d346ab 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -27,6 +27,7 @@
 #include <xen/err.h>
 #include <xen/guest_access.h>
 #include <xen/init.h>
+#include <xen/multiboot.h>
 #include <xen/param.h>
 #include <xen/spinlock.h>
 #include <xen/stop_machine.h>
@@ -198,7 +199,8 @@ void __init microcode_scan_module(
         bootstrap_map(NULL);
     }
 }
-void __init microcode_grab_module(
+
+static void __init microcode_grab_module(
     unsigned long *module_map,
     const multiboot_info_t *mbi)
 {
@@ -732,10 +734,54 @@ int microcode_update_one(void)
     return microcode_update_cpu(NULL);
 }
 
+static int __init early_update_cache(const void *data, size_t len)
+{
+    int rc = 0;
+    struct microcode_patch *patch;
+
+    if ( !data )
+        return -ENOMEM;
+
+    patch = parse_blob(data, len);
+    if ( IS_ERR(patch) )
+    {
+        printk(XENLOG_WARNING "Parsing microcode blob error %ld\n",
+               PTR_ERR(patch));
+        return PTR_ERR(patch);
+    }
+
+    if ( !patch )
+        return -ENOENT;
+
+    spin_lock(&microcode_mutex);
+    rc = microcode_update_cache(patch);
+    spin_unlock(&microcode_mutex);
+    ASSERT(rc);
+
+    return rc;
+}
+
+int __init early_microcode_init_cache(unsigned long *module_map,
+                                      const struct multiboot_info *mbi)
+{
+    int rc = 0;
+
+    if ( ucode_scan )
+        /* Need to rescan the modules because they might have been relocated */
+        microcode_scan_module(module_map, mbi);
+
+    if ( ucode_mod.mod_end )
+        rc = early_update_cache(bootstrap_map(&ucode_mod),
+                                ucode_mod.mod_end);
+    else if ( ucode_blob.size )
+        rc = early_update_cache(ucode_blob.data, ucode_blob.size);
+
+    return rc;
+}
+
 /* BSP calls this function to parse ucode blob and then apply an update. */
 static int __init early_microcode_update_cpu(void)
 {
-    int rc = 0;
     const void *data = NULL;
     size_t len;
     struct microcode_patch *patch;
@@ -754,7 +800,7 @@ static int __init early_microcode_update_cpu(void)
     if ( !data )
         return -ENOMEM;
 
-    patch = parse_blob(data, len);
+    patch = ucode_ops.cpu_request_microcode(data, len, false);
     if ( IS_ERR(patch) )
     {
         printk(XENLOG_WARNING "Parsing microcode blob error %ld\n",
@@ -765,15 +811,11 @@ static int __init early_microcode_update_cpu(void)
     if ( !patch )
         return -ENOENT;
 
-    spin_lock(&microcode_mutex);
-    rc = microcode_update_cache(patch);
-    spin_unlock(&microcode_mutex);
-    ASSERT(rc);
-
-    return microcode_update_one();
+    return microcode_update_cpu(patch);
 }
 
-int __init early_microcode_init(void)
+int __init early_microcode_init(unsigned long *module_map,
+                                const struct multiboot_info *mbi)
 {
     const struct cpuinfo_x86 *c = &boot_cpu_data;
     int rc = 0;
@@ -797,7 +839,9 @@ int __init early_microcode_init(void)
         return -ENODEV;
     }
 
-    alternative_vcall(ucode_ops.collect_cpu_info);
+    microcode_grab_module(module_map, mbi);
+
+    ucode_ops.collect_cpu_info();
 
     if ( ucode_mod.mod_end || ucode_blob.size )
         rc = early_microcode_update_cpu();
diff --git a/xen/arch/x86/include/asm/microcode.h b/xen/arch/x86/include/asm/microcode.h
index 3b0234e9fa..170481d257 100644
--- a/xen/arch/x86/include/asm/microcode.h
+++ b/xen/arch/x86/include/asm/microcode.h
@@ -6,6 +6,8 @@
 
 #include <public/xen.h>
 
+struct multiboot_info;
+
 struct cpu_signature {
     /* CPU signature (CPUID.1.EAX). */
     unsigned int sig;
@@ -21,7 +23,10 @@ DECLARE_PER_CPU(struct cpu_signature, cpu_sig);
 
 void microcode_set_module(unsigned int idx);
 int microcode_update(XEN_GUEST_HANDLE(const_void), unsigned long len);
-int early_microcode_init(void);
+int early_microcode_init(unsigned long *module_map,
+                         const struct multiboot_info *mbi);
+int early_microcode_init_cache(unsigned long *module_map,
+                               const struct multiboot_info *mbi);
 int microcode_update_one(void);
 
 #endif /* ASM_X86__MICROCODE_H */
diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
index ae470ea12f..ae0dd3915a 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -44,9 +44,6 @@ void *bootstrap_map(const module_t *mod);
 
 int xen_in_range(unsigned long mfn);
 
-void microcode_grab_module(
-    unsigned long *, const multiboot_info_t *);
-
 extern uint8_t kbd_shift_flags;
 
 #ifdef NDEBUG
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 6bb5bc7c84..2d7c815e0a 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1178,6 +1178,12 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         mod[i].reserved = 0;
     }
 
+    /*
+     * TODO: load ucode earlier once multiboot modules become accessible
+     * at an earlier stage.
+     */
+    early_microcode_init(module_map, mbi);
+
     if ( xen_phys_start )
     {
         relocated = true;
@@ -1762,11 +1768,9 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 
     init_IRQ();
 
-    microcode_grab_module(module_map, mbi);
-
     timer_init();
 
-    early_microcode_init();
+    early_microcode_init_cache(module_map, mbi);
 
     tsx_init(); /* Needs microcode.  May change HLE/RTM feature bits. */
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 14:45:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 14:45:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466151.725009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HOs-0006y9-Qw; Mon, 19 Dec 2022 14:45:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466151.725009; Mon, 19 Dec 2022 14:45:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HOs-0006xx-Nj; Mon, 19 Dec 2022 14:45:54 +0000
Received: by outflank-mailman (input) for mailman id 466151;
 Mon, 19 Dec 2022 14:45:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EUwz=4R=citrix.com=prvs=345b0463a=sergey.dyasli@srs-se1.protection.inumbo.net>)
 id 1p7HOq-0006ib-R0
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 14:45:52 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d5766f8f-7fab-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 15:45:51 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5766f8f-7fab-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671461151;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=tY/MEDglgrazRqF99q4UwNqEkL3kZa1LwaEItI2pDeg=;
  b=dGg9Cst2G05SwZjr7+SNx/2bo+Knlg0kLLESSQItL0NHYSLiim35qhV3
   hsUXXhxzYjjkpZMt6xKgVpQLB8RsYB60XDSlbPh8srBkoT7CgPQt2iRnA
   2j4DgTBi5d8QqN/1Ksl1Ys4ph9AzqaWGvM3upO0hgavHJ/Eezgsyts+u9
   E=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88063312
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:lVx05KM/9LAI38LvrR2Sl8FynXyQoLVcMsEvi/4bfWQNrUp0hjAPy
 WVMUWzUM/bfZGCne4onPIi3pkgAuZfVm9FqTgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5w1mPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0u1+OXMe6
 qdIERFOVRPZpNro3p+7Q/Y506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w/N3wsYDUWUrsTIIkzhuillz/zYjRDrFO9rqsr+WnDigd21dABNfKFKoTUHp4MxC50o
 Erh1nvmWzo7LeWw0DqM4FGrq7+XnS3SDdd6+LqQqacx3Qz7KnYoIB8LUVq2p9Gph0j4XMhQQ
 2QP4TYnp6U28E2tT/H+Uge+rXrCuQQTM/JPF8Uq5QfLzbDbiy6JC25BQjNfZdgOsM4tWSdsx
 lKPh8nuBzFkrPuSU3313rWeoC62OCMVBXQffiJCRgwAi+QPu6lq0EiJFIw6Vvfo0JulQlkc3
 gxmsgA1jo0B3dFQh5yavmvE2RGU+IbkTgcqs1C/sn2e0it1Y4usZoqN4Ffd7OpdIIvxcmRtr
 EToiODFsrlQUMjleDilBbxUQer3v6rt3Cj02wYHInU3y9i6F5dPl6h06So2GkpmO91sldTBM
 B6K4lM5CHO+0RKXgU5Lj2CZUZ9CIUvIT46NuhXogj1mPPBMmPevpn0GWKJp9zmFfLIQua8+I
 4yHVs2nEGwXD69qpBLvGbhEiu97nX5glTKCLXwe8/hA+ePCDEN5tJ9faAfeBgzHxPjsTPrpH
 yZ3aJLRlkQ3vBzWaSjL648DRW03wYwALcmu8aR/L7fTSjeK7Ul9U5c9N5t9Id0690mU/8+Ul
 kyAtrhwkwGu2CKZdVjXMhiOqtrHBP5CkJ7yBgR0VX7A5pTpSd3HAHs3H3fvQYQayQ==
IronPort-HdrOrdr: A9a23:IZa4062dfX7Md9esiEJ2OwqjBI0kLtp133Aq2lEZdPWaSL3gqy
 nOpoVi6faQslwssR4b6LW90cW7MBHhHNtOkOos1NSZPTUO2lHYSL2KhLGKq1bd8m/FltK1vp
 0QFJSWZueAa2SSTvyX3OB7KbsdKRW8n5xATN2x80tQ
X-IronPort-AV: E=Sophos;i="5.96,255,1665460800"; 
   d="scan'208";a="88063312"
From: Sergey Dyasli <sergey.dyasli@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Sergey Dyasli
	<sergey.dyasli@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Julien
 Grall" <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 1/3] xen/multiboot: add proper struct definitions to typedefs
Date: Mon, 19 Dec 2022 14:45:31 +0000
Message-ID: <20221219144533.19836-2-sergey.dyasli@citrix.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221219144533.19836-1-sergey.dyasli@citrix.com>
References: <20221219144533.19836-1-sergey.dyasli@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

This allows to use them for forward declaration in other headers.

Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>

---
CC: George Dunlap <george.dunlap@citrix.com>
CC: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>

v1 --> v2:
- New patch
---
 xen/include/xen/multiboot.h | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/xen/include/xen/multiboot.h b/xen/include/xen/multiboot.h
index d1b43e1183..a541bdf8a8 100644
--- a/xen/include/xen/multiboot.h
+++ b/xen/include/xen/multiboot.h
@@ -46,23 +46,25 @@
 #ifndef __ASSEMBLY__
 
 /* The symbol table for a.out.  */
-typedef struct {
+struct aout_symbol_table {
     u32 tabsize;
     u32 strsize;
     u32 addr;
     u32 reserved;
-} aout_symbol_table_t;
+};
+typedef struct aout_symbol_table aout_symbol_table_t;
 
 /* The section header table for ELF.  */
-typedef struct {
+struct elf_section_header_table{
     u32 num;
     u32 size;
     u32 addr;
     u32 shndx;
-} elf_section_header_table_t;
+};
+typedef struct elf_section_header_table elf_section_header_table_t;
 
 /* The Multiboot information.  */
-typedef struct {
+struct multiboot_info {
     u32 flags;
 
     /* Valid if flags sets MBI_MEMLIMITS */
@@ -101,26 +103,29 @@ typedef struct {
 
     /* Valid if flags sets MBI_APM */
     u32 apm_table;
-} multiboot_info_t;
+};
+typedef struct multiboot_info multiboot_info_t;
 
 /* The module structure.  */
-typedef struct {
+struct module {
     u32 mod_start;
     u32 mod_end;
     u32 string;
     u32 reserved;
-} module_t;
+};
+typedef struct module module_t;
 
 /* The memory map. Be careful that the offset 0 is base_addr_low
    but no size.  */
-typedef struct {
+struct memory_map {
     u32 size;
     u32 base_addr_low;
     u32 base_addr_high;
     u32 length_low;
     u32 length_high;
     u32 type;
-} memory_map_t;
+};
+typedef struct memory_map memory_map_t;
 
 
 #endif /* __ASSEMBLY__ */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 14:45:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 14:45:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466150.724998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HOr-0006it-JU; Mon, 19 Dec 2022 14:45:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466150.724998; Mon, 19 Dec 2022 14:45:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HOr-0006im-Gl; Mon, 19 Dec 2022 14:45:53 +0000
Received: by outflank-mailman (input) for mailman id 466150;
 Mon, 19 Dec 2022 14:45:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=EUwz=4R=citrix.com=prvs=345b0463a=sergey.dyasli@srs-se1.protection.inumbo.net>)
 id 1p7HOq-0006ib-0N
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 14:45:52 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d38237bf-7fab-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 15:45:50 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d38237bf-7fab-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671461150;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=uvIXRaTqrfksdn5R9FNqNHnkqsEC5sXLQq/zpghTvps=;
  b=OAjhERoncBfgMWNNvYT8dKAHu9ILesoKeI/Kpsu+u9A/nwYQn9s7WkdI
   2eIv8gXnI7JKPeYxyhjS4nN76QqIVil/ybOC0aKbIYPbcc6l6y+SLsNRS
   nGcg9F4nR5H0Zj6el2aTTI3mA847TkH3suPLEREnkinrvrC0zCWym20xP
   U=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 88063303
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:S9mOIa5fnEFmGqrKgwKYGwxRtDfHchMFZxGqfqrLsTDasY5as4F+v
 jNLWDuCbPmPYWKjKNknaonk8hhUuZPWndRmSgZu/CAyHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoS7QeH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m0
 fxAIWwidjC6tuuGh+yYF+5ypZoqI5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJU0UUrsUIMtWcOOAnXTlfDBJ7l6ErLEz4kDYzRBr0airO93QEjCPbZUFxhjD/
 Tqdl4j/KhVBaeCh02KYyW+pnMnJxTzFAr8eGqLto5aGh3XMnzdOWXX6T2CTvv2RmkO4HdVFJ
 CQ8+CAjsKwz/0yDVcTmUluzp3vslg4RXZ9cHvM37CmJy7HI+ECJC24cVDlDZdc68sgsSlQXO
 kShxo2zQ2Y16fvMFCzbpuz8QS6O1TY9CW9abHMrVSs80tDT598Q0xXRbYhqH/vg5jHqIg3Yz
 zePpSk4orwci88Xyqm2lWz6byKQSovhFVBsuFiONo6xxkYgPdP+OdT0gbTOxawYRLt1WGVtq
 5TtdyK2yOkVRa+AmyWWKAnmNOH4vq3VWNEwbLMGInXAy9hP0yT4FWyzyGskTKuMDirjUWGBX
 aMrkVkNjKK/xVPzBUONX6q/Ct4x0Y/rHsn/W/bfY7JmO8YuLVTXrHowOx7BjggBdXTAdolmZ
 f+mnTuEVy5GWcyLMhLtLwvi7VPb7n9nnj6CLXwK5x+mzaCfdBaodFvxC3PXNrpRxPrd8G3oH
 yN3a5PiJ+N3DLevPUE6MOc7cTg3EJTMLcut+pEIKLLef1IO9aNII6a5/I7NsrdNx8x9/tokN
 FnkMqOE4DITXUH6FDg=
IronPort-HdrOrdr: A9a23:QWuVGqqDL3pCMkDW0nWOkdwaV5rveYIsimQD101hICG9Evb0qy
 nOpoV/6faQslwssR4b9uxoVJPvfZq+z+8W3WByB9eftWDd0QPFEGgL1+DfKlbbak7DH4BmtJ
 uJc8JFeafN5VoRt7eG3OFveexQvOVu88qT9JjjJ28Gd3APV0n5hT0JcjpyFCdNNW57LKt8Lr
 WwzOxdqQGtfHwGB/7LfUXsD4D41rv2fIuNW29+OyIa
X-IronPort-AV: E=Sophos;i="5.96,255,1665460800"; 
   d="scan'208";a="88063303"
From: Sergey Dyasli <sergey.dyasli@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Sergey Dyasli
	<sergey.dyasli@citrix.com>
Subject: [PATCH v2 0/3] x86: load microcode earlier on boot CPU
Date: Mon, 19 Dec 2022 14:45:30 +0000
Message-ID: <20221219144533.19836-1-sergey.dyasli@citrix.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain

The second version of patches. Changelog is available in each patch.

Sergey Dyasli (3):
  xen/multiboot: add proper struct definitions to typedefs
  x86/ucode: allow cpu_request_microcode() to skip memory allocation
  x86/ucode: load microcode earlier on boot CPU

 xen/arch/x86/cpu/microcode/amd.c     | 13 ++++--
 xen/arch/x86/cpu/microcode/core.c    | 70 +++++++++++++++++++++++-----
 xen/arch/x86/cpu/microcode/intel.c   | 13 ++++--
 xen/arch/x86/cpu/microcode/private.h | 15 ++++--
 xen/arch/x86/include/asm/microcode.h |  7 ++-
 xen/arch/x86/include/asm/setup.h     |  3 --
 xen/arch/x86/setup.c                 | 10 ++--
 xen/include/xen/multiboot.h          | 25 ++++++----
 8 files changed, 115 insertions(+), 41 deletions(-)

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 14:53:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 14:53:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466148.725042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HWC-0001X5-EV; Mon, 19 Dec 2022 14:53:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466148.725042; Mon, 19 Dec 2022 14:53:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HWC-0001Wy-8O; Mon, 19 Dec 2022 14:53:28 +0000
Received: by outflank-mailman (input) for mailman id 466148;
 Mon, 19 Dec 2022 14:35:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jBWx=4R=gmail.com=vsuneja63@srs-se1.protection.inumbo.net>)
 id 1p7HF0-0005gK-Uy
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 14:35:44 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69192a01-7faa-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 15:35:40 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id qk9so21958003ejc.3
 for <xen-devel@lists.xenproject.org>; Mon, 19 Dec 2022 06:35:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69192a01-7faa-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=gYwqSeB8j9Gaky1xyGxE50mU+DK2p9YlODNm29Ni8po=;
        b=jDSl51Ad4WJ8AA/El1pAODAuX39vqOp3fyLW8456fq3TpYnWqZQ23PQOiQ7ixLBxoG
         8UVGmHlLJZJ8hT+zSFgVH2Lhxd5JkdyyDlj8BUGZl+1+bbP9MjoVrJ7AbevYpRjp+qC9
         Y2kTVPjLLQIloshCRkxb5aVG/w9H4S0fkbckNqqFJqD/Au+4Y7ogx/yzUyaJazzWFkO/
         r937cCmERtDaOxWcKHaAz+j/FhYZouD2gikIA5efjP7Wkuh5LYhaSVjjb4dZv9CpqiaQ
         xelnRsFmJOMahVJp0QIsEHe5MyGAjvFNgaF9/ciUHsqiEcmUtWdtP2DAjDx/NSG3LNW6
         XfvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=gYwqSeB8j9Gaky1xyGxE50mU+DK2p9YlODNm29Ni8po=;
        b=Fh+3K1bjd63hSUfeemDuDCXZhCSv5MbqbOhmZzoazuOSyoOmB9F3a4ELGY/WPTTsmt
         IifSHpLjzwI4oamxsOHGPkEk9Bj34d5J/PN/N9Pl/5JUCVfdjYpNkGn1AaDPIuglt2tg
         couBbIgCCNZkps+lfxakJ/VhgZWzbp2Udw2RSldB25E9qU/C5EnpPjePuDoFUd2p4nNr
         She2G49fM/s056l5376BH1k+5K6kygzA5urd03dx9ZK6I3AfjWRf1j6IxjOQAISeuPYL
         wNYuEHQmpgmO7hSHGA6wDXj/GdqfoNj9cb3Xalc9tcMgsfrB0ymf2po9DRsoWgDLDffA
         kuZQ==
X-Gm-Message-State: ANoB5pk8YFgY6ePqfGGQ7NQSJqXcnBNDMCV+JpqKDg+++ToMtieJSEl+
	6hi+/qKYJ3uzde8BrlL6Y01iqGGqj6X8BEcHIWM=
X-Google-Smtp-Source: AA0mqf4mnZmhmwXeLNENsC0ECtut8Nd3zpzgAbJJix9S4T5HHLv2bHXfN/M6xczWcYi1DTXylJjGX/NNOm086PCHm+s=
X-Received: by 2002:a17:906:a050:b0:78d:47c8:e80f with SMTP id
 bg16-20020a170906a05000b0078d47c8e80fmr14697383ejb.700.1671460539534; Mon, 19
 Dec 2022 06:35:39 -0800 (PST)
MIME-Version: 1.0
References: <CALAP8f--jyG=ufJ9WGtL6qoeGdsykjNK85G3q50SzJm5+wOzhQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2210251641540.1397955@ubuntu-linux-20-04-desktop>
 <CALAP8f8Z8A2u8h56EJWOCN7nJFDvyEvM-Q85XMnUP6Y6mZDg3w@mail.gmail.com>
 <CALAP8f_n2okQ-Ss_kGACAq3BVYXS_D2P_8AyhOzUxqgWpz9f4g@mail.gmail.com>
 <alpine.DEB.2.22.394.2211101702250.50442@ubuntu-linux-20-04-desktop>
 <CALAP8f8zGfNA_CZU4UQXy7-rPT6dqih9XpzuKM3vvkoBvy6usg@mail.gmail.com>
 <alpine.DEB.2.22.394.2211221605470.1049131@ubuntu-linux-20-04-desktop>
 <CALAP8f_QiHN4dP3z+LQgKdGeo8-=9DMyk0W7+x6P2eHvnOD_wQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2212011128430.4039@ubuntu-linux-20-04-desktop>
 <CALAP8f_b=0m0dqj9a50UYXYfw9X873i07sG9eyxFSqxF0yEneQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2212121406270.3075842@ubuntu-linux-20-04-desktop>
 <CALAP8f9JY23ZyDGnku4iWf5YCamSQKsZtdZj3MhX9TrF7wgEpw@mail.gmail.com>
 <alpine.DEB.2.22.394.2212131518180.315094@ubuntu-linux-20-04-desktop>
 <CALAP8f-fka4jicvLhzS8NFyyqD_NnffMxrZmqpz-x9JnL7Oy7w@mail.gmail.com> <alpine.DEB.2.22.394.2212141443130.315094@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2212141443130.315094@ubuntu-linux-20-04-desktop>
From: Vipul Suneja <vsuneja63@gmail.com>
Date: Mon, 19 Dec 2022 20:05:27 +0530
Message-ID: <CALAP8f8yOdG_g0GpWG5ZPZ0BKiaKCyM2N4V6x_8Fr08f7QjpvA@mail.gmail.com>
Subject: Re: Porting Xen in raspberry pi4B
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, oleksandr_andrushchenko@epam.com, 
	oleksandr_tyshchenko@epam.com, jgross@suse.com, boris.ostrovsky@oracle.com, 
	Bertrand.Marquis@arm.com, Stewart.Hildebrand@amd.com, michal.orzel@amd.com, 
	vikram.garhwal@amd.com
Content-Type: multipart/mixed; boundary="000000000000b751de05f02f3b70"

--000000000000b751de05f02f3b70
Content-Type: multipart/alternative; boundary="000000000000b751db05f02f3b6e"

--000000000000b751db05f02f3b6e
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Stefano,

Thanks!

I could prepare a patch for adding debug printf logs in xenfb.c &
re-compile QEMU in yocto image. Just for reference, I have included logs in
all the functions.
Attaching qemu log file, could see the entry & exit logs coming up for
"xenfb_handle_events" & "xenfb_map_fb" also after the host machine
boots up. Can you
please further assist, which parameters has to be cross checked or any
other input as per logs?

Thanks & Regards,
Vipul Kumar

On Thu, Dec 15, 2022 at 4:17 AM Stefano Stabellini <sstabellini@kernel.org>
wrote:

> Hi Vipul,
>
> For QEMU you actually need to follow the Yocto build process to update
> the QEMU binary. That is because QEMU is a userspace application with
> lots of library dependencies so we cannot just do "make" with a
> cross-compiler like in the case of Xen.
>
> So you need to make changes to QEMU and then add those changes as a
> patch to the Yocto QEMU build recipe, or configure Yocto to your local
> tree to build QEMU. I am not a Yocto expert and the Yocto community
> would be a better place to ask for advice there. You can see from here
> some instructions on how to build Xen using a local tree, see the usage
> of EXTERNALSRC (note that this is *not* what you need: you need to build
> QEMU with a local tree, not Xen. But I thought that the wikipage might
> still be a starting point)
>
> https://wiki.xenproject.org/wiki/Xen_on_ARM_and_Yocto
>
> Cheers,
>
> Stefano
>
>
> On Thu, 15 Dec 2022, Vipul Suneja wrote:
> > Hi Stefano,
> >
> > Thanks!
> >
> > I could see QEMU 6.2.0 compiled & installed in the host image
> xen-image-minimal. I could find xenfb.c source file also & modified the s=
ame
> > with debug logs.
> > I have set up a cross compile environment, did 'make clean' & 'make all=
'
> to recompile but it's failing. In case i am doing wrong, Can you
> > please assist me
> > with the correct steps to compile qemu? Below are the error logs:
> >
> > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/Platform/Poky_Kirk=
stone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/build$
> make
> > all
> > [1/3864] Compiling C object libslirp.a.p/slirp_src_arp_table.c.o
> > [2/3864] Compiling C object
> subprojects/libvhost-user/libvhost-user.a.p/libvhost-user.c.o
> > [3/3864] Linking static target subprojects/libvhost-user/libvhost-user.=
a
> > [4/3864] Compiling C object libslirp.a.p/slirp_src_vmstate.c.o
> > [5/3864] Compiling C object libslirp.a.p/slirp_src_dhcpv6.c.o
> > [6/3864] Compiling C object libslirp.a.p/slirp_src_dnssearch.c.o
> > [7/3864] Compiling C object libslirp.a.p/slirp_src_bootp.c.o
> > [8/3864] Compiling C object libslirp.a.p/slirp_src_cksum.c.o
> > [9/3864] Compiling C object libslirp.a.p/slirp_src_if.c.o
> > [10/3864] Compiling C object libslirp.a.p/slirp_src_ip6_icmp.c.o
> > [11/3864] Compiling C object libslirp.a.p/slirp_src_ip6_input.c.o
> > [12/3864] Compiling C object libslirp.a.p/slirp_src_ip6_output.c.o
> > [13/3864] Compiling C object libslirp.a.p/slirp_src_ip_icmp.c.o
> > [14/3864] Compiling C object libslirp.a.p/slirp_src_ip_input.c.o
> > [15/3864] Compiling C object libslirp.a.p/slirp_src_ip_output.c.o
> > [16/3864] Compiling C object libslirp.a.p/slirp_src_mbuf.c.o
> > [17/3864] Compiling C object libslirp.a.p/slirp_src_misc.c.o
> > [18/3864] Compiling C object libslirp.a.p/slirp_src_ncsi.c.o
> > [19/3864] Compiling C object libslirp.a.p/slirp_src_ndp_table.c.o
> > [20/3864] Compiling C object libslirp.a.p/slirp_src_sbuf.c.o
> > [21/3864] Compiling C object libslirp.a.p/slirp_src_slirp.c.o
> > [22/3864] Compiling C object libslirp.a.p/slirp_src_socket.c.o
> > [23/3864] Compiling C object libslirp.a.p/slirp_src_state.c.o
> > [24/3864] Compiling C object libslirp.a.p/slirp_src_stream.c.o
> > [25/3864] Compiling C object libslirp.a.p/slirp_src_tcp_input.c.o
> > [26/3864] Compiling C object libslirp.a.p/slirp_src_tcp_output.c.o
> > [27/3864] Compiling C object libslirp.a.p/slirp_src_tcp_subr.c.o
> > [28/3864] Compiling C object libslirp.a.p/slirp_src_tcp_timer.c.o
> > [29/3864] Compiling C object libslirp.a.p/slirp_src_tftp.c.o
> > [30/3864] Compiling C object libslirp.a.p/slirp_src_udp.c.o
> > [31/3864] Compiling C object libslirp.a.p/slirp_src_udp6.c.o
> > [32/3864] Compiling C object libslirp.a.p/slirp_src_util.c.o
> > [33/3864] Compiling C object libslirp.a.p/slirp_src_version.c.o
> > [34/3864] Linking static target libslirp.a
> > [35/3864] Generating qemu-version.h with a custom command (wrapped by
> meson to capture output)
> > FAILED: qemu-version.h
> >
> /home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/=
work/cortexa72-poky-linux/qemu/6.2.0-r0/recipe-sysroot-native/usr
> > /bin/meson --internal exe --capture qemu-version.h
> --/home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tm=
p/work/cortexa72-poky-linux/qemu/6.2.0-r0/qemu-6.2.0/scripts/qemu-v
> > ersion.sh
> /home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/=
work/cortexa72-poky-linux/qemu/6.2.0-r0/qemu-6.2.0
> ''
> > 6.2.0
> > /usr/bin/env: =E2=80=98nativepython3=E2=80=99: No such file or director=
y
> > ninja: build stopped: subcommand failed.
> > make: *** [Makefile:162: run-ninja] Error 1
> >
> > Thanks & Regards,
> > Vipul Kumar
> >
> > On Wed, Dec 14, 2022 at 4:55 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       Hi Vipul,
> >
> >       Good progress! The main function we should check is
> "xenfb_refresh" but
> >       from the logs it looks like it is called several times. Which
> means that
> >       everything seems to be working as expected on the Linux side.
> >
> >       It is time to investigate the QEMU side:
> >       ./hw/display/xenfb.c:xenfb_handle_events
> >       ./hw/display/xenfb.c:xenfb_map_fb
> >
> >       I wonder if the issue is internal to QEMU. You might want to use =
an
> >       older QEMU version to check if it works, maybe 6.0 or 5.0 or even
> 4.0.
> >       I also wonder if it is a problem between xenfb.c and the rest of
> QEMU. I
> >       would investigate how xenfb->pixels is rendered by the rest of
> QEMU.
> >       Specifically you might want to look at the call to
> >       qemu_create_displaysurface, qemu_create_displaysurface_from and
> >       dpy_gfx_replace_surface in xenfb_update.
> >
> >       I hope this helps.
> >
> >       Cheers,
> >
> >       Stefano
> >
> >
> >       On Tue, 13 Dec 2022, Vipul Suneja wrote:
> >       > Hi Stefano,
> >       >
> >       > Thanks!
> >       >
> >       > I modified xen-fbfront.c source file, included printk debug log=
s
> & cross compiled it. I included the printk debug log at the
> >       entry & exit
> >       > of all functions of xen-fbfront.c file.
> >       > Generated kernel module & loaded in guest machine at bootup. I
> could see lots of logs coming up, and could see multiple
> >       functions being
> >       > invoked even if I have not used vncviewer in the host. Attachin=
g
> the log file for reference. Any specific function or
> >       parameters that have
> >       > to be checked or any other suggestion as per logs?
> >       >
> >       > Thanks & Regards,
> >       > Vipul Kumar
> >       >
> >       > On Tue, Dec 13, 2022 at 3:44 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       >       Hi Vipul,
> >       >
> >       >       I am online on IRC OFTC #xendevel (https://www.oftc.net/,
> you need a
> >       >       registered nickname to join #xendevel).
> >       >
> >       >       For development and debugging I find that it is a lot
> easier to
> >       >       crosscompile the kernel "by hand", and do a monolithic
> build, rather
> >       >       than going through Yocto.
> >       >
> >       >       For instance the following builds for me:
> >       >
> >       >       cd linux.git
> >       >       export ARCH=3Darm64
> >       >       export CROSS_COMPILE=3D/path/to/cross-compiler
> >       >       make defconfig
> >       >       [add printks to drivers/video/fbdev/xen-fbfront.c]
> >       >       make -j8 Image.gz
> >       >
> >       >       And Image.gz boots on Xen as DomU kernel without issues.
> >       >
> >       >       Cheers,
> >       >
> >       >       Stefano
> >       >
> >       >       On Sat, 10 Dec 2022, Vipul Suneja wrote:
> >       >       > Hi Stefano,
> >       >       >
> >       >       > Thanks!
> >       >       >
> >       >       > I have included printk debug logs in the xen-fbfront.c
> source file. While cross compiling to generate .ko with
> >       >       "xen-guest-image-minimal"
> >       >       > toolchain it's throwing a modpost
> >       >       > not found error. I could see the modpost.c source file
> but the final script is missing. Any input on this, Below are
> >       the
> >       >       logs:
> >       >       >
> >       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/pr=
oject/Application/Xen/Framebuffer$
> make
> >       >       > make ARCH=3Darm64
> -I/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/usr/include/asm -C
> >       >       >
> /opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-s=
tandard/build
> >       >       >
> M=3D/home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Frameb=
uffer
> modules
> >       >       > make[1]: Entering directory
> '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-=
standard/build'
> >       >       > arch/arm64/Makefile:36: Detected assembler with broken
> .inst; disassembly will be unreliable
> >       >       > warning: the compiler differs from the one used to buil=
d
> the kernel
> >       >       >   The kernel was built by: gcc (Ubuntu
> 9.4.0-1ubuntu1~20.04.1) 9.4.0
> >       >       >   You are using:           aarch64-poky-linux-gcc (GCC)
> 11.3.0
> >       >       >   CC [M]
>  /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuff=
er/xen-fbfront.o
> >       >       >   MODPOST
> /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffe=
r/Module.symvers
> >       >       > /bin/sh: 1: scripts/mod/modpost: not found
> >       >       > make[2]: *** [scripts/Makefile.modpost:133:
> >       >
>  /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuff=
er/Module.symvers]
> >       >       > Error 127
> >       >       > make[1]: *** [Makefile:1813: modules] Error 2
> >       >       > make[1]: Leaving directory
> '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-=
standard/build'
> >       >       > make: *** [Makefile:5: all] Error 2
> >       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/pr=
oject/Application/Xen/Framebuffer$
> ls -l
> >       >       > total 324
> >       >       > -rwxrwxrwx 1 agl agl    359 Dec 10 22:41 Makefile
> >       >       > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 modules.order
> >       >       > -rw-r--r-- 1 agl agl  18331 Dec  1 20:32 xen-fbfront.c
> >       >       > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 xen-fbfront.mo=
d
> >       >       > -rw-rw-r-- 1 agl agl 297832 Dec 10 22:49 xen-fbfront.o
> >       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/pr=
oject/Application/Xen/Framebuffer$
> file xen-fbfront.o
> >       >       > xen-fbfront.o: ELF 64-bit LSB relocatable, ARM aarch64,
> version 1 (SYSV), with debug_info, not stripped
> >       >       > agl@agl-OptiPlex-7010
> :~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$
> >       >       >
> >       >       > I have connected a HDMI based 1980x1024 resolution
> display screen to raspberrypi4 for testing purposes. I hope
> >       connecting
> >       >       this display to
> >       >       > rpi4 should be ok.
> >       >       >
> >       >       > Is there any other way we can connect also for detailed
> discussion on the display bringup issue? This will really
> >       help to
> >       >       resolve this
> >       >       > issue.
> >       >       >
> >       >       > Thanks & Regards,
> >       >       > Vipul Kumar
> >       >       >
> >       >       > On Fri, Dec 2, 2022 at 1:02 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       >       >       On Thu, 1 Dec 2022, Vipul Suneja wrote:
> >       >       >       > Hi Stefano,
> >       >       >       > Thanks!
> >       >       >       >
> >       >       >       > I am exploring both options here, modification
> of framebuffer source file & setting up x11vnc server in
> >       guest.
> >       >       >       > Other than these I would like to share a few
> findings with you.
> >       >       >       >
> >       >       >       > 1. If i keep "CONFIG_XEN_FBDEV_FRONTEND=3Dy" th=
en
> xen-fbfront.ko is not generating but if i keep
> >       >       "CONFIG_XEN_FBDEV_FRONTEND=3Dm"
> >       >       >       > then could see xen-fbfront.ko & its loading
> also. Same things with other frontend/backend drivers also. Do we
> >       need to
> >       >       >       configure these
> >       >       >       > drivers as a module(m) only?
> >       >       >
> >       >       >       xen-fbfront should work both as a module
> (xen-fbfront.ko) or built-in
> >       >       >       (CONFIG_XEN_FBDEV_FRONTEND=3Dy).
> >       >       >
> >       >       >
> >       >       >
> >       >       >       > 2. I could see xenstored service is running for
> the host but it's always failing for the guest machine. I
> >       could see
> >       >       it in
> >       >       >       bootup logs & via
> >       >       >       > systemctl status also.
> >       >       >
> >       >       >       That is normal. xenstored is only meant to be run
> in Dom0, not in the
> >       >       >       domUs. If you use the same rootfs for Dom0 and
> DomU then xenstored will
> >       >       >       fail starting in the DomU (but should succeed in
> Dom0), which is what we
> >       >       >       want.
> >       >       >
> >       >       >       If you run "xenstore-ls" in Dom0, you'll see a
> bunch of entries,
> >       >       >       including some of them related to "vfb" which is
> the virtual framebuffer
> >       >       >       protocol. You should also see an entry called
> "state" set to "4" which
> >       >       >       means "connected". state =3D 4 is usually when
> everything works. Normally
> >       >       >       when things don't work state !=3D 4.
> >       >       >
> >       >       >
> >       >       >
> >       >       >       > Below are the logs:
> >       >       >       > [  OK  ] Reached target Basic System.
> >       >       >       > [  OK  ] Started Kernel Logging Service.
> >       >       >       > [  OK  ] Started System Logging Service.
> >       >       >       >          Starting D-Bus System Message Bus...
> >       >       >       >          Starting User Login Management...
> >       >       >       >          Starting Permit User Sessions...
> >       >       >       >          Starting The Xen xenstore...
> >       >       >       >          Starting OpenSSH Key Generation...
> >       >       >       > [FAILED] Failed to start The Xen xenstore.
> >       >       >       > See 'systemctl status xenstored.service' for
> details.
> >       >       >       > [DEPEND] Dependency failed for qemu for xen dom=
0
> disk backend.
> >       >       >       > [DEPEND] Dependency failed for Xend=E2=80=A6p g=
uests on
> boot and shutdown.
> >       >       >       > [DEPEND] Dependency failed for xen-=E2=80=A6des=
, JSON
> configuration stub).
> >       >       >       > [DEPEND] Dependency failed for Xenc=E2=80=A6gue=
st
> consoles and hypervisor.
> >       >       >       > [  OK  ] Finished Permit User Sessions.
> >       >       >       > [  OK  ] Started Getty on tty1.
> >       >       >       > [  OK  ] Started Serial Getty on hvc0.
> >       >       >       > [  OK  ] Started Serial Getty on ttyS0.
> >       >       >       > [  OK  ] Reached target Login Prompts.
> >       >       >       >          Starting Xen-watchdog - run xen
> watchdog daemon...
> >       >       >       > [  OK  ] Started D-Bus System Message Bus.
> >       >       >       > [  OK  ] Started Xen-watchdog - run xen watchdo=
g
> daemon.
> >       >       >       > [  OK  ] Finished OpenSSH Key Generation.
> >       >       >       > [  OK  ] Started User Login Management.
> >       >       >       > [  OK  ] Reached target Multi-User System.
> >       >       >       >          Starting Record Runlevel Change in
> UTMP...
> >       >       >       > [  OK  ] Finished Record Runlevel Change in UTM=
P.
> >       >       >       > fbcon: Taking over console
> >       >       >       >
> >       >       >       > Poky (Yocto Project Reference Distro) 4.0.4
> raspberrypi4-64 hvc0
> >       >       >       >
> >       >       >       > raspberrypi4-64 login: root
> >       >       >       > root@raspberrypi4-64:~#
> >       >       >       > root@raspberrypi4-64:~#
> >       >       >       > root@raspberrypi4-64:~# systemctl status
> xenstored.service
> >       >       >       > x xenstored.service - The Xen xenstore
> >       >       >       >      Loaded: loaded
> (/lib/systemd/system/xenstored.service; enabled; vendor preset: enabled)
> >       >       >       >      Active: failed (Result: exit-code) since
> Thu 2022-12-01 06:12:05 UTC; 26s ago
> >       >       >       >     Process: 195 ExecStartPre=3D/bin/grep -q
> control_d /proc/xen/capabilities (code=3Dexited, status=3D1/FAILURE)
> >       >       >       >
> >       >       >       > Dec 01 06:12:04 raspberrypi4-64 systemd[1]:
> Starting The Xen xenstore...
> >       >       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]:
> xenstored.service: Control pro...URE
> >       >       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]:
> xenstored.service: Failed with...e'.
> >       >       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]:
> Failed to start The Xen xenstore.
> >       >       >       > Hint: Some lines were ellipsized, use -l to sho=
w
> in full.
> >       >       >       > root@raspberrypi4-64:~#
> >       >       >       >
> >       >       >       > Any input on these?
> >       >       >       >
> >       >       >       > Thanks & Regards,
> >       >       >       > Vipul Kumar
> >       >       >       >
> >       >       >       > On Wed, Nov 23, 2022 at 5:41 AM Stefano
> Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       Hi Vipul,
> >       >       >       >
> >       >       >       >       I cannot spot any issue in the
> configuration, in particual you have:
> >       >       >       >
> >       >       >       >       CONFIG_XEN_FBDEV_FRONTEND=3Dy
> >       >       >       >
> >       >       >       >       which is what you need.
> >       >       >       >
> >       >       >       >       The only thing I can suggest is to add
> printks to the Linux frontend
> >       >       >       >       driver (the one running in the domU) whic=
h
> is
> >       >       >       >       drivers/video/fbdev/xen-fbfront.c and
> printfs to the QEMU backend
> >       >       >       >       (running in Dom0) which is
> hw/display/xenfb.c to figure out what is
> >       >       >       >       going on.
> >       >       >       >
> >       >       >       >
> >       >       >       >       Alternatively, you can setup PV network
> with the domU, such as:
> >       >       >       >
> >       >       >       >         vif=3D['']
> >       >       >       >
> >       >       >       >       and then run x11 and a x11vnc server in
> your domU. You should be able to
> >       >       >       >       connect to it using vncviewer at the
> network IP of your domU.
> >       >       >       >
> >       >       >       >       Basically you are skipping the problem
> because instead of using the PV
> >       >       >       >       framebuffer protocol, you just use VNC
> over the network with the domU.
> >       >       >       >
> >       >       >       >
> >       >       >       >       Cheers,
> >       >       >       >
> >       >       >       >       Stefano
> >       >       >       >
> >       >       >       >
> >       >       >       >       On Tue, 22 Nov 2022, Vipul Suneja wrote:
> >       >       >       >       > Hi Stefano,
> >       >       >       >       > Thanks for the support!
> >       >       >       >       >
> >       >       >       >       > Looks like I have tried all the
> combinations & possible ways to get display up but failed. Is there
> >       any
> >       >       document or
> >       >       >       pdf for
> >       >       >       >       porting xen on
> >       >       >       >       > raspberrypi4.
> >       >       >       >       > I could find lot's of links telling the
> same but couldn't see any official user guide or document
> >       from the
> >       >       xen
> >       >       >       community on
> >       >       >       >       the same. If
> >       >       >       >       > there is something to refer
> >       >       >       >       > to please share with me.
> >       >       >       >       > I am attaching the kernel configuration
> file also, just take a look if i have missed anything.
> >       >       >       >       > Any other suggestions or input from you=
r
> end could be really helpful?
> >       >       >       >       >
> >       >       >       >       > Regards,
> >       >       >       >       > Vipul Kumar
> >       >       >       >       >
> >       >       >       >       > On Fri, Nov 11, 2022 at 6:40 AM Stefano
> Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       >       Hi Vipul,
> >       >       >       >       >
> >       >       >       >       >       Sorry for the late reply. From th=
e
> earlier logs that you sent, it looks
> >       >       >       >       >       like everything should be working
> correctly. Specifically:
> >       >       >       >       >
> >       >       >       >       >            vfb =3D ""
> >       >       >       >       >             1 =3D ""
> >       >       >       >       >              0 =3D ""
> >       >       >       >       >               frontend =3D
> "/local/domain/1/device/vfb/0"
> >       >       >       >       >               frontend-id =3D "1"
> >       >       >       >       >               online =3D "1"
> >       >       >       >       >               state =3D "4"
> >       >       >       >       >               vnc =3D "1"
> >       >       >       >       >               vnclisten =3D "127.0.0.1"
> >       >       >       >       >               vncdisplay =3D "0"
> >       >       >       >       >               vncunused =3D "1"
> >       >       >       >       >               sdl =3D "0"
> >       >       >       >       >               opengl =3D "0"
> >       >       >       >       >               feature-resize =3D "1"
> >       >       >       >       >               hotplug-status =3D
> "connected"
> >       >       >       >       >               request-update =3D "1"
> >       >       >       >       >
> >       >       >       >       >       state "4" means "connected". So I
> would expect that you should be able
> >       >       >       >       >       to connect to the vnc server usin=
g
> vncviewer. You might not see anything
> >       >       >       >       >       (black screen) but you should
> definitely be able to connect.
> >       >       >       >       >
> >       >       >       >       >       I wouldn't try to launch x11 in
> the guest just yet. fbcon in Linux is
> >       >       >       >       >       enough to render something on the
> screen. You should be able to see the
> >       >       >       >       >       Linux text-based console rendered
> graphically, connecting to it via vnc.
> >       >       >       >       >
> >       >       >       >       >       Sorry for the basic question, but
> have you tried all the following?
> >       >       >       >       >
> >       >       >       >       >       vncviewer 127.0.0.1:0
> >       >       >       >       >       vncviewer 127.0.0.1:1
> >       >       >       >       >       vncviewer 127.0.0.1:2
> >       >       >       >       >       vncviewer 127.0.0.1:5900
> >       >       >       >       >       vncviewer 127.0.0.1:5901
> >       >       >       >       >       vncviewer 127.0.0.1:5902
> >       >       >       >       >
> >       >       >       >       >       Given that from the xenstore-ls
> logs everything seems to work correctly
> >       >       >       >       >       I am not sure what else to
> suggest. You might have to add printf to QEMU
> >       >       >       >       >       ui/vnc.c and hw/display/xenfb.c t=
o
> see what is going wrong.
> >       >       >       >       >
> >       >       >       >       >       Cheers,
> >       >       >       >       >
> >       >       >       >       >       Stefano
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >       On Mon, 7 Nov 2022, Vipul Suneja
> wrote:
> >       >       >       >       >       > Hi Stefano,
> >       >       >       >       >       > Thanks!
> >       >       >       >       >       >
> >       >       >       >       >       > Any input further on
> "xenstore-ls" logs?
> >       >       >       >       >       >
> >       >       >       >       >       > I am trying to run the
> x0vncserver & x11vnc server manually on guest
> >       machine(xen_guest_image_minimal)
> >       >       image
> >       >       >       but it's
> >       >       >       >       failing
> >       >       >       >       >       with the below
> >       >       >       >       >       > error.
> >       >       >       >       >       >
> >       >       >       >       >       > root@raspberrypi4-64:/usr/bin#
> x0vncserver
> >       >       >       >       >       > x0vncserver: unable to open
> display ""
> >       >       >       >       >       > root@raspberrypi4-64:/usr/bin#
> >       >       >       >       >       > root@raspberrypi4-64:/usr/bin#
> x11vnc
> >       >       >       >       >       >
> ###############################################################
> >       >       >       >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@  **  WARNING  **  WARNING  *=
*
>  WARNING  **  WARNING  **   @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@        YOU ARE RUNNING X11VN=
C
> WITHOUT A PASSWORD!!        @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@  This means anyone with
> network access to this computer   @#
> >       >       >       >       >       > #@  may be able to view and
> control your desktop.            @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@ >>> If you did not mean to d=
o
> this Press CTRL-C now!! <<< @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@  You can create an x11vnc
> password file by running:       @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@       x11vnc -storepasswd
> password /path/to/passfile      @#
> >       >       >       >       >       > #@  or   x11vnc -storepasswd
> /path/to/passfile               @#
> >       >       >       >       >       > #@  or   x11vnc -storepasswd
>                             @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@  (the last one will use
> ~/.vnc/passwd)                    @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@  and then starting x11vnc
> via:                            @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@      x11vnc -rfbauth
> /path/to/passfile                    @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@  an existing ~/.vnc/passwd
> file from another VNC          @#
> >       >       >       >       >       > #@  application will work fine
> too.                          @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@  You can also use the
> -passwdfile or -passwd options.     @#
> >       >       >       >       >       > #@  (note -passwd is unsafe if
> local users are not trusted)  @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@  Make sure any -rfbauth and
> -passwdfile password files    @#
> >       >       >       >       >       > #@  cannot be read by untrusted
> users.                       @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@  Use x11vnc -usepw to
> automatically use your              @#
> >       >       >       >       >       > #@  ~/.vnc/passwd or
> ~/.vnc/passwdfile password files.       @#
> >       >       >       >       >       > #@  (and prompt you to create
> ~/.vnc/passwd if neither       @#
> >       >       >       >       >       > #@  file exists.)  Under -usepw=
,
> x11vnc will exit if it      @#
> >       >       >       >       >       > #@  cannot find a password to
> use.                           @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@  Even with a password, the
> subsequent VNC traffic is      @#
> >       >       >       >       >       > #@  sent in the clear.  Conside=
r
> tunnelling via ssh(1):      @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@
> http://www.karlrunge.com/x11vnc/#tunnelling            @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@  Or using the x11vnc SSL
> options: -ssl and -stunnel       @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@  Please Read the
> documentation for more info about        @#
> >       >       >       >       >       > #@  passwords, security, and
> encryption.                     @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@
> http://www.karlrunge.com/x11vnc/faq.html#faq-passwd    @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       > #@  To disable this warning use
> the -nopw option, or put     @#
> >       >       >       >       >       > #@  'nopw' on a line in your
> ~/.x11vncrc file.               @#
> >       >       >       >       >       > #@
>                             @#
> >       >       >       >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       >       >       >       >
> ###############################################################
> >       >       >       >       >       > 09/03/2018 12:58:41 x11vnc
> version: 0.9.16 lastmod: 2019-01-05  pid: 424
> >       >       >       >       >       > 09/03/2018 12:58:41
> XOpenDisplay("") failed.
> >       >       >       >       >       > 09/03/2018 12:58:41 Trying agai=
n
> with XAUTHLOCALHOSTNAME=3Dlocalhost ...
> >       >       >       >       >       > 09/03/2018 12:58:41
> >       >       >       >       >       > 09/03/2018 12:58:41 ***
> XOpenDisplay failed. No -display or DISPLAY.
> >       >       >       >       >       > 09/03/2018 12:58:41 *** Trying
> ":0" in 4 seconds.  Press Ctrl-C to abort.
> >       >       >       >       >       > 09/03/2018 12:58:41 *** 1 2 3 4
> >       >       >       >       >       > 09/03/2018 12:58:45
> XOpenDisplay(":0") failed.
> >       >       >       >       >       > 09/03/2018 12:58:45 Trying agai=
n
> with XAUTHLOCALHOSTNAME=3Dlocalhost ...
> >       >       >       >       >       > 09/03/2018 12:58:45
> XOpenDisplay(":0") failed.
> >       >       >       >       >       > 09/03/2018 12:58:45 Trying agai=
n
> with unset XAUTHLOCALHOSTNAME ...
> >       >       >       >       >       > 09/03/2018 12:58:45
> >       >       >       >       >       >
> >       >       >       >       >       > 09/03/2018 12:58:45
> ***************************************
> >       >       >       >       >       > 09/03/2018 12:58:45 ***
> XOpenDisplay failed (:0)
> >       >       >       >       >       >
> >       >       >       >       >       > *** x11vnc was unable to open
> the X DISPLAY: ":0", it cannot continue.
> >       >       >       >       >       > *** There may be "Xlib:" error
> messages above with details about the failure.
> >       >       >       >       >       >
> >       >       >       >       >       > Some tips and guidelines:
> >       >       >       >       >       >
> >       >       >       >       >       > ** An X server (the one you wis=
h
> to view) must be running before x11vnc is
> >       >       >       >       >       >    started: x11vnc does not
> start the X server.  (however, see the -create
> >       >       >       >       >       >    option if that is what you
> really want).
> >       >       >       >       >       >
> >       >       >       >       >       > ** You must use -display <disp>=
,
> -OR- set and export your $DISPLAY
> >       >       >       >       >       >    environment variable to refe=
r
> to the display of the desired X server.
> >       >       >       >       >       >  - Usually the display is simpl=
y
> ":0" (in fact x11vnc uses this if you forget
> >       >       >       >       >       >    to specify it), but in some
> multi-user situations it could be ":1", ":2",
> >       >       >       >       >       >    or even ":137".  Ask your
> administrator or a guru if you are having
> >       >       >       >       >       >    difficulty determining what
> your X DISPLAY is.
> >       >       >       >       >       >
> >       >       >       >       >       > ** Next, you need to have
> sufficient permissions (Xauthority)
> >       >       >       >       >       >    to connect to the X DISPLAY.
>   Here are some Tips:
> >       >       >       >       >       >
> >       >       >       >       >       >  - Often, you just need to run
> x11vnc as the user logged into the X session.
> >       >       >       >       >       >    So make sure to be that user
> when you type x11vnc.
> >       >       >       >       >       >  - Being root is usually not
> enough because the incorrect MIT-MAGIC-COOKIE
> >       >       >       >       >       >    file may be accessed.  The
> cookie file contains the secret key that
> >       >       >       >       >       >    allows x11vnc to connect to
> the desired X DISPLAY.
> >       >       >       >       >       >  - You can explicitly indicate
> which MIT-MAGIC-COOKIE file should be used
> >       >       >       >       >       >    by the -auth option, e.g.:
> >       >       >       >       >       >        x11vnc -auth
> /home/someuser/.Xauthority -display :0
> >       >       >       >       >       >        x11vnc -auth
> /tmp/.gdmzndVlR -display :0
> >       >       >       >       >       >    you must have read permissio=
n
> for the auth file.
> >       >       >       >       >       >    See also '-auth guess' and
> '-findauth' discussed below.
> >       >       >       >       >       >
> >       >       >       >       >       > ** If NO ONE is logged into an =
X
> session yet, but there is a greeter login
> >       >       >       >       >       >    program like "gdm", "kdm",
> "xdm", or "dtlogin" running, you will need
> >       >       >       >       >       >    to find and use the raw
> display manager MIT-MAGIC-COOKIE file.
> >       >       >       >       >       >    Some examples for various
> display managers:
> >       >       >       >       >       >
> >       >       >       >       >       >      gdm:     -auth
> /var/gdm/:0.Xauth
> >       >       >       >       >       >               -auth
> /var/lib/gdm/:0.Xauth
> >       >       >       >       >       >      kdm:     -auth
> /var/lib/kdm/A:0-crWk72
> >       >       >       >       >       >               -auth
> /var/run/xauth/A:0-crWk72
> >       >       >       >       >       >      xdm:     -auth
> /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
> >       >       >       >       >       >      dtlogin: -auth
> /var/dt/A:0-UgaaXa
> >       >       >       >       >       >
> >       >       >       >       >       >    Sometimes the command "ps
> wwwwaux | grep auth" can reveal the file location.
> >       >       >       >       >       >
> >       >       >       >       >       >    Starting with x11vnc 0.9.9
> you can have it try to guess by using:
> >       >       >       >       >       >
> >       >       >       >       >       >               -auth guess
> >       >       >       >       >       >
> >       >       >       >       >       >    (see also the x11vnc
> -findauth option.)
> >       >       >       >       >       >
> >       >       >       >       >       >    Only root will have read
> permission for the file, and so x11vnc must be run
> >       >       >       >       >       >    as root (or copy it).  The
> random characters in the filenames will of course
> >       >       >       >       >       >    change and the directory the
> cookie file resides in is system dependent.
> >       >       >       >       >       >
> >       >       >       >       >       > See also:
> http://www.karlrunge.com/x11vnc/faq.html
> >       >       >       >       >       >
> >       >       >       >       >       > Regards,
> >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >       >
> >       >       >       >       >       > On Thu, Nov 3, 2022 at 10:27 PM
> Vipul Suneja <vsuneja63@gmail.com> wrote:
> >       >       >       >       >       >       Hi Stefano,
> >       >       >       >       >       > Thanks!
> >       >       >       >       >       >
> >       >       >       >       >       > I used
> xen-guest-image-minimal(simple console based image) as a guest with fbcon=
 &
> fbdev
> >       enabled in
> >       >       kernel
> >       >       >       >       configurations but
> >       >       >       >       >       still
> >       >       >       >       >       > the same error can't open the
> display.
> >       >       >       >       >       > below are the outcome of
> "xenstore-ls":
> >       >       >       >       >       >
> >       >       >       >       >       > root@raspberrypi4-64:~/guest1#
> xenstore-ls
> >       >       >       >       >       > tool =3D ""
> >       >       >       >       >       >  xenstored =3D ""
> >       >       >       >       >       > local =3D ""
> >       >       >       >       >       >  domain =3D ""
> >       >       >       >       >       >   0 =3D ""
> >       >       >       >       >       >    control =3D ""
> >       >       >       >       >       >     feature-poweroff =3D "1"
> >       >       >       >       >       >     feature-reboot =3D "1"
> >       >       >       >       >       >    domid =3D "0"
> >       >       >       >       >       >    name =3D "Domain-0"
> >       >       >       >       >       >    device-model =3D ""
> >       >       >       >       >       >     0 =3D ""
> >       >       >       >       >       >      backends =3D ""
> >       >       >       >       >       >       console =3D ""
> >       >       >       >       >       >       vkbd =3D ""
> >       >       >       >       >       >       vfb =3D ""
> >       >       >       >       >       >       qnic =3D ""
> >       >       >       >       >       >      state =3D "running"
> >       >       >       >       >       >     1 =3D ""
> >       >       >       >       >       >      backends =3D ""
> >       >       >       >       >       >       console =3D ""
> >       >       >       >       >       >       vkbd =3D ""
> >       >       >       >       >       >       vfb =3D ""
> >       >       >       >       >       >       qnic =3D ""
> >       >       >       >       >       >      state =3D "running"
> >       >       >       >       >       >    backend =3D ""
> >       >       >       >       >       >     vbd =3D ""
> >       >       >       >       >       >      1 =3D ""
> >       >       >       >       >       >       51712 =3D ""
> >       >       >       >       >       >        frontend =3D
> "/local/domain/1/device/vbd/51712"
> >       >       >       >       >       >        params =3D
> "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
> >       >       >       >       >       >        script =3D
> "/etc/xen/scripts/block"
> >       >       >       >       >       >        frontend-id =3D "1"
> >       >       >       >       >       >        online =3D "1"
> >       >       >       >       >       >        removable =3D "0"
> >       >       >       >       >       >        bootable =3D "1"
> >       >       >       >       >       >        state =3D "4"
> >       >       >       >       >       >        dev =3D "xvda"
> >       >       >       >       >       >        type =3D "phy"
> >       >       >       >       >       >        mode =3D "w"
> >       >       >       >       >       >        device-type =3D "disk"
> >       >       >       >       >       >        discard-enable =3D "1"
> >       >       >       >       >       >
>  feature-max-indirect-segments =3D "256"
> >       >       >       >       >       >        multi-queue-max-queues =
=3D
> "4"
> >       >       >       >       >       >        max-ring-page-order =3D =
"4"
> >       >       >       >       >       >        node =3D "/dev/loop0"
> >       >       >       >       >       >        physical-device =3D "7:0=
"
> >       >       >       >       >       >        physical-device-path =3D
> "/dev/loop0"
> >       >       >       >       >       >        hotplug-status =3D
> "connected"
> >       >       >       >       >       >        feature-flush-cache =3D =
"1"
> >       >       >       >       >       >        discard-granularity =3D
> "4096"
> >       >       >       >       >       >        discard-alignment =3D "0=
"
> >       >       >       >       >       >        discard-secure =3D "0"
> >       >       >       >       >       >        feature-discard =3D "1"
> >       >       >       >       >       >        feature-barrier =3D "1"
> >       >       >       >       >       >        feature-persistent =3D "=
1"
> >       >       >       >       >       >        sectors =3D "1794048"
> >       >       >       >       >       >        info =3D "0"
> >       >       >       >       >       >        sector-size =3D "512"
> >       >       >       >       >       >        physical-sector-size =3D
> "512"
> >       >       >       >       >       >     vfb =3D ""
> >       >       >       >       >       >      1 =3D ""
> >       >       >       >       >       >       0 =3D ""
> >       >       >       >       >       >        frontend =3D
> "/local/domain/1/device/vfb/0"
> >       >       >       >       >       >        frontend-id =3D "1"
> >       >       >       >       >       >        online =3D "1"
> >       >       >       >       >       >        state =3D "4"
> >       >       >       >       >       >        vnc =3D "1"
> >       >       >       >       >       >        vnclisten =3D "127.0.0.1=
"
> >       >       >       >       >       >        vncdisplay =3D "0"
> >       >       >       >       >       >        vncunused =3D "1"
> >       >       >       >       >       >        sdl =3D "0"
> >       >       >       >       >       >        opengl =3D "0"
> >       >       >       >       >       >        feature-resize =3D "1"
> >       >       >       >       >       >        hotplug-status =3D
> "connected"
> >       >       >       >       >       >        request-update =3D "1"
> >       >       >       >       >       >     vkbd =3D ""
> >       >       >       >       >       >      1 =3D ""
> >       >       >       >       >       >       0 =3D ""
> >       >       >       >       >       >        frontend =3D
> "/local/domain/1/device/vkbd/0"
> >       >       >       >       >       >        frontend-id =3D "1"
> >       >       >       >       >       >        online =3D "1"
> >       >       >       >       >       >        state =3D "4"
> >       >       >       >       >       >        feature-abs-pointer =3D =
"1"
> >       >       >       >       >       >        feature-raw-pointer =3D =
"1"
> >       >       >       >       >       >        hotplug-status =3D
> "connected"
> >       >       >       >       >       >     console =3D ""
> >       >       >       >       >       >      1 =3D ""
> >       >       >       >       >       >       0 =3D ""
> >       >       >       >       >       >        frontend =3D
> "/local/domain/1/console"
> >       >       >       >       >       >        frontend-id =3D "1"
> >       >       >       >       >       >        online =3D "1"
> >       >       >       >       >       >        state =3D "1"
> >       >       >       >       >       >        protocol =3D "vt100"
> >       >       >       >       >       >     vif =3D ""
> >       >       >       >       >       >      1 =3D ""
> >       >       >       >       >       >       0 =3D ""
> >       >       >       >       >       >        frontend =3D
> "/local/domain/1/device/vif/0"
> >       >       >       >       >       >        frontend-id =3D "1"
> >       >       >       >       >       >        online =3D "1"
> >       >       >       >       >       >        state =3D "4"
> >       >       >       >       >       >        script =3D
> "/etc/xen/scripts/vif-bridge"
> >       >       >       >       >       >        mac =3D "e4:5f:01:cd:7b:=
dd"
> >       >       >       >       >       >        bridge =3D "xenbr0"
> >       >       >       >       >       >        handle =3D "0"
> >       >       >       >       >       >        type =3D "vif"
> >       >       >       >       >       >        hotplug-status =3D
> "connected"
> >       >       >       >       >       >        feature-sg =3D "1"
> >       >       >       >       >       >        feature-gso-tcpv4 =3D "1=
"
> >       >       >       >       >       >        feature-gso-tcpv6 =3D "1=
"
> >       >       >       >       >       >        feature-ipv6-csum-offloa=
d
> =3D "1"
> >       >       >       >       >       >        feature-rx-copy =3D "1"
> >       >       >       >       >       >        feature-xdp-headroom =3D=
 "1"
> >       >       >       >       >       >        feature-rx-flip =3D "0"
> >       >       >       >       >       >        feature-multicast-contro=
l
> =3D "1"
> >       >       >       >       >       >
>  feature-dynamic-multicast-control =3D "1"
> >       >       >       >       >       >
>  feature-split-event-channels =3D "1"
> >       >       >       >       >       >        multi-queue-max-queues =
=3D
> "4"
> >       >       >       >       >       >        feature-ctrl-ring =3D "1=
"
> >       >       >       >       >       >   1 =3D ""
> >       >       >       >       >       >    vm =3D
> "/vm/d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
> >       >       >       >       >       >    name =3D "guest2"
> >       >       >       >       >       >    cpu =3D ""
> >       >       >       >       >       >     0 =3D ""
> >       >       >       >       >       >      availability =3D "online"
> >       >       >       >       >       >     1 =3D ""
> >       >       >       >       >       >      availability =3D "online"
> >       >       >       >       >       >    memory =3D ""
> >       >       >       >       >       >     static-max =3D "2097152"
> >       >       >       >       >       >     target =3D "2097152"
> >       >       >       >       >       >     videoram =3D "0"
> >       >       >       >       >       >    device =3D ""
> >       >       >       >       >       >     suspend =3D ""
> >       >       >       >       >       >      event-channel =3D ""
> >       >       >       >       >       >     vbd =3D ""
> >       >       >       >       >       >      51712 =3D ""
> >       >       >       >       >       >       backend =3D
> "/local/domain/0/backend/vbd/1/51712"
> >       >       >       >       >       >       backend-id =3D "0"
> >       >       >       >       >       >       state =3D "4"
> >       >       >       >       >       >       virtual-device =3D "51712=
"
> >       >       >       >       >       >       device-type =3D "disk"
> >       >       >       >       >       >       multi-queue-num-queues =
=3D
> "2"
> >       >       >       >       >       >       queue-0 =3D ""
> >       >       >       >       >       >        ring-ref =3D "8"
> >       >       >       >       >       >        event-channel =3D "4"
> >       >       >       >       >       >       queue-1 =3D ""
> >       >       >       >       >       >        ring-ref =3D "9"
> >       >       >       >       >       >        event-channel =3D "5"
> >       >       >       >       >       >       protocol =3D "arm-abi"
> >       >       >       >       >       >       feature-persistent =3D "1=
"
> >       >       >       >       >       >     vfb =3D ""
> >       >       >       >       >       >      0 =3D ""
> >       >       >       >       >       >       backend =3D
> "/local/domain/0/backend/vfb/1/0"
> >       >       >       >       >       >       backend-id =3D "0"
> >       >       >       >       >       >       state =3D "4"
> >       >       >       >       >       >       page-ref =3D "275022"
> >       >       >       >       >       >       event-channel =3D "3"
> >       >       >       >       >       >       protocol =3D "arm-abi"
> >       >       >       >       >       >       feature-update =3D "1"
> >       >       >       >       >       >     vkbd =3D ""
> >       >       >       >       >       >      0 =3D ""
> >       >       >       >       >       >       backend =3D
> "/local/domain/0/backend/vkbd/1/0"
> >       >       >       >       >       >       backend-id =3D "0"
> >       >       >       >       >       >       state =3D "4"
> >       >       >       >       >       >       request-abs-pointer =3D "=
1"
> >       >       >       >       >       >       page-ref =3D "275322"
> >       >       >       >       >       >       page-gref =3D "1284"
> >       >       >       >       >       >       event-channel =3D "10"
> >       >       >       >       >       >     vif =3D ""
> >       >       >       >       >       >      0 =3D ""
> >       >       >       >       >       >       backend =3D
> "/local/domain/0/backend/vif/1/0"
> >       >       >       >       >       >       backend-id =3D "0"
> >       >       >       >       >       >       state =3D "4"
> >       >       >       >       >       >       handle =3D "0"
> >       >       >       >       >       >       mac =3D "e4:5f:01:cd:7b:d=
d"
> >       >       >       >       >       >       mtu =3D "1500"
> >       >       >       >       >       >       xdp-headroom =3D "0"
> >       >       >       >       >       >       multi-queue-num-queues =
=3D
> "2"
> >       >       >       >       >       >       queue-0 =3D ""
> >       >       >       >       >       >        tx-ring-ref =3D "1280"
> >       >       >       >       >       >        rx-ring-ref =3D "1281"
> >       >       >       >       >       >        event-channel-tx =3D "6"
> >       >       >       >       >       >        event-channel-rx =3D "7"
> >       >       >       >       >       >       queue-1 =3D ""
> >       >       >       >       >       >        tx-ring-ref =3D "1282"
> >       >       >       >       >       >        rx-ring-ref =3D "1283"
> >       >       >       >       >       >        event-channel-tx =3D "8"
> >       >       >       >       >       >        event-channel-rx =3D "9"
> >       >       >       >       >       >       request-rx-copy =3D "1"
> >       >       >       >       >       >       feature-rx-notify =3D "1"
> >       >       >       >       >       >       feature-sg =3D "1"
> >       >       >       >       >       >       feature-gso-tcpv4 =3D "1"
> >       >       >       >       >       >       feature-gso-tcpv6 =3D "1"
> >       >       >       >       >       >       feature-ipv6-csum-offload
> =3D "1"
> >       >       >       >       >       >    control =3D ""
> >       >       >       >       >       >     shutdown =3D ""
> >       >       >       >       >       >     feature-poweroff =3D "1"
> >       >       >       >       >       >     feature-reboot =3D "1"
> >       >       >       >       >       >     feature-suspend =3D ""
> >       >       >       >       >       >     sysrq =3D ""
> >       >       >       >       >       >
> platform-feature-multiprocessor-suspend =3D "1"
> >       >       >       >       >       >
> platform-feature-xs_reset_watches =3D "1"
> >       >       >       >       >       >    data =3D ""
> >       >       >       >       >       >    drivers =3D ""
> >       >       >       >       >       >    feature =3D ""
> >       >       >       >       >       >    attr =3D ""
> >       >       >       >       >       >    error =3D ""
> >       >       >       >       >       >    domid =3D "1"
> >       >       >       >       >       >    store =3D ""
> >       >       >       >       >       >     port =3D "1"
> >       >       >       >       >       >     ring-ref =3D "233473"
> >       >       >       >       >       >    console =3D ""
> >       >       >       >       >       >     backend =3D
> "/local/domain/0/backend/console/1/0"
> >       >       >       >       >       >     backend-id =3D "0"
> >       >       >       >       >       >     limit =3D "1048576"
> >       >       >       >       >       >     type =3D "xenconsoled"
> >       >       >       >       >       >     output =3D "pty"
> >       >       >       >       >       >     tty =3D "/dev/pts/1"
> >       >       >       >       >       >     port =3D "2"
> >       >       >       >       >       >     ring-ref =3D "233472"
> >       >       >       >       >       >     vnc-listen =3D "127.0.0.1"
> >       >       >       >       >       >     vnc-port =3D "5900"
> >       >       >       >       >       >    image =3D ""
> >       >       >       >       >       >     device-model-pid =3D "788"
> >       >       >       >       >       > vm =3D ""
> >       >       >       >       >       >
>  d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f =3D ""
> >       >       >       >       >       >   name =3D "guest2"
> >       >       >       >       >       >   uuid =3D
> "d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
> >       >       >       >       >       >   start_time =3D "1520600274.27=
"
> >       >       >       >       >       > libxl =3D ""
> >       >       >       >       >       >  1 =3D ""
> >       >       >       >       >       >   device =3D ""
> >       >       >       >       >       >    vbd =3D ""
> >       >       >       >       >       >     51712 =3D ""
> >       >       >       >       >       >      frontend =3D
> "/local/domain/1/device/vbd/51712"
> >       >       >       >       >       >      backend =3D
> "/local/domain/0/backend/vbd/1/51712"
> >       >       >       >       >       >      params =3D
> "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
> >       >       >       >       >       >      script =3D
> "/etc/xen/scripts/block"
> >       >       >       >       >       >      frontend-id =3D "1"
> >       >       >       >       >       >      online =3D "1"
> >       >       >       >       >       >      removable =3D "0"
> >       >       >       >       >       >      bootable =3D "1"
> >       >       >       >       >       >      state =3D "1"
> >       >       >       >       >       >      dev =3D "xvda"
> >       >       >       >       >       >      type =3D "phy"
> >       >       >       >       >       >      mode =3D "w"
> >       >       >       >       >       >      device-type =3D "disk"
> >       >       >       >       >       >      discard-enable =3D "1"
> >       >       >       >       >       >    vfb =3D ""
> >       >       >       >       >       >     0 =3D ""
> >       >       >       >       >       >      frontend =3D
> "/local/domain/1/device/vfb/0"
> >       >       >       >       >       >      backend =3D
> "/local/domain/0/backend/vfb/1/0"
> >       >       >       >       >       >      frontend-id =3D "1"
> >       >       >       >       >       >      online =3D "1"
> >       >       >       >       >       >      state =3D "1"
> >       >       >       >       >       >      vnc =3D "1"
> >       >       >       >       >       >      vnclisten =3D "127.0.0.1"
> >       >       >       >       >       >      vncdisplay =3D "0"
> >       >       >       >       >       >      vncunused =3D "1"
> >       >       >       >       >       >      sdl =3D "0"
> >       >       >       >       >       >      opengl =3D "0"
> >       >       >       >       >       >    vkbd =3D ""
> >       >       >       >       >       >     0 =3D ""
> >       >       >       >       >       >      frontend =3D
> "/local/domain/1/device/vkbd/0"
> >       >       >       >       >       >      backend =3D
> "/local/domain/0/backend/vkbd/1/0"
> >       >       >       >       >       >      frontend-id =3D "1"
> >       >       >       >       >       >      online =3D "1"
> >       >       >       >       >       >      state =3D "1"
> >       >       >       >       >       >    console =3D ""
> >       >       >       >       >       >     0 =3D ""
> >       >       >       >       >       >      frontend =3D
> "/local/domain/1/console"
> >       >       >       >       >       >      backend =3D
> "/local/domain/0/backend/console/1/0"
> >       >       >       >       >       >      frontend-id =3D "1"
> >       >       >       >       >       >      online =3D "1"
> >       >       >       >       >       >      state =3D "1"
> >       >       >       >       >       >      protocol =3D "vt100"
> >       >       >       >       >       >    vif =3D ""
> >       >       >       >       >       >     0 =3D ""
> >       >       >       >       >       >      frontend =3D
> "/local/domain/1/device/vif/0"
> >       >       >       >       >       >      backend =3D
> "/local/domain/0/backend/vif/1/0"
> >       >       >       >       >       >      frontend-id =3D "1"
> >       >       >       >       >       >      online =3D "1"
> >       >       >       >       >       >      state =3D "1"
> >       >       >       >       >       >      script =3D
> "/etc/xen/scripts/vif-bridge"
> >       >       >       >       >       >      mac =3D "e4:5f:01:cd:7b:dd=
"
> >       >       >       >       >       >      bridge =3D "xenbr0"
> >       >       >       >       >       >      handle =3D "0"
> >       >       >       >       >       >      type =3D "vif"
> >       >       >       >       >       >      hotplug-status =3D ""
> >       >       >       >       >       >   type =3D "pvh"
> >       >       >       >       >       >   dm-version =3D "qemu_xen"
> >       >       >       >       >       > root@raspberrypi4-64:~/guest1#
> >       >       >       >       >       >
> >       >       >       >       >       > Any input as per above? Looking
> forward to hearing from you.
> >       >       >       >       >       >
> >       >       >       >       >       > Regards,
> >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >       >
> >       >       >       >       >       > On Wed, Oct 26, 2022 at 5:21 AM
> Stefano Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       >       >       Hi Vipul,
> >       >       >       >       >       >
> >       >       >       >       >       >       If you look at the QEMU
> logs, it says:
> >       >       >       >       >       >
> >       >       >       >       >       >       VNC server running on
> 127.0.0.1:5900
> >       >       >       >       >       >
> >       >       >       >       >       >       That is the VNC server yo=
u
> need to connect to. So in theory:
> >       >       >       >       >       >
> >       >       >       >       >       >         vncviewer 127.0.0.1:590=
0
> >       >       >       >       >       >
> >       >       >       >       >       >       should work correctly.
> >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >       >       If you have:
> >       >       >       >       >       >
> >       >       >       >       >       >         vfb =3D ["type=3Dvnc"]
> >       >       >       >       >       >
> >       >       >       >       >       >       in your xl config file an=
d
> you have "fbdev" in your Linux guest, it
> >       >       >       >       >       >       should work.
> >       >       >       >       >       >
> >       >       >       >       >       >       If you connect to the VNC
> server but you get a black screen, it might be
> >       >       >       >       >       >       a guest configuration
> issue. I would try with a simpler guest, text only
> >       >       >       >       >       >       (no X11, no Wayland) and
> enable the fbdev console (fbcon). See
> >       >       >       >       >       >       Documentation/fb/fbcon.rs=
t
> in Linux. You should be able to see a
> >       >       >       >       >       >       graphical console over VN=
C.
> >       >       >       >       >       >
> >       >       >       >       >       >       If that works, then you
> know that the fbdev kernel driver (xen-fbfront)
> >       >       >       >       >       >       works correctly.
> >       >       >       >       >       >
> >       >       >       >       >       >       If it doesn't work, the
> output of "xenstore-ls" would be interesting.
> >       >       >       >       >       >
> >       >       >       >       >       >       Cheers,
> >       >       >       >       >       >
> >       >       >       >       >       >       Stefano
> >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >       >       On Wed, 19 Oct 2022, Vipu=
l
> Suneja wrote:
> >       >       >       >       >       >       > Hi Stefano,
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Thanks for the response=
!
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > I am following the same
> link you shared from the beginning. Tried the command
> >       "vncviewer
> >       >       localhost:0"
> >       >       >       in DOM0
> >       >       >       >       but
> >       >       >       >       >       same
> >       >       >       >       >       >       issue "Can't open
> >       >       >       >       >       >       > display", below are the
> logs:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > root@raspberrypi4-64:~#
> vncviewer localhost:0
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > TigerVNC Viewer 64-bit
> v1.11.0
> >       >       >       >       >       >       > Built on: 2020-09-08
> 12:16
> >       >       >       >       >       >       > Copyright (C) 1999-2020
> TigerVNC Team and many others (see README.rst)
> >       >       >       >       >       >       > See
> https://www.tigervnc.org for information on TigerVNC.
> >       >       >       >       >       >       > Can't open display:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Below are the netstat
> logs, i couldn't see anything running at port 5900 or 5901:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > root@raspberrypi4-64:~#
> netstat -tuwx
> >       >       >       >       >       >       > Active Internet
> connections (w/o servers)
> >       >       >       >       >       >       > Proto Recv-Q Send-Q
> Local Address           Foreign Address         State
> >       >       >       >       >       >       > tcp        0    164
> 192.168.1.39:ssh        192.168.1.38:37472      ESTABLISHED
> >       >       >       >       >       >       > Active UNIX domain
> sockets (w/o servers)
> >       >       >       >       >       >       > Proto RefCnt Flags
> Type       State         I-Node Path
> >       >       >       >       >       >       > unix  8      [ ]
> DGRAM      CONNECTED      10565 /dev/log
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      10891 /var/run/xenstored/socket
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      13791
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      10843 /var/run/xenstored/socket
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      10573 /var/run/xenstored/socket
> >       >       >       >       >       >       > unix  2      [ ]
> DGRAM      CONNECTED      14510
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      13249
> >       >       >       >       >       >       > unix  2      [ ]
> DGRAM      CONNECTED      13887
> >       >       >       >       >       >       > unix  2      [ ]
> DGRAM      CONNECTED      10599
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      14005
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      13258
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      13248
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      14003
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      10572 /var/run/xenstored/socket
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      10786 /var/run/xenstored/socket
> >       >       >       >       >       >       > unix  3      [ ]
> DGRAM      CONNECTED      13186
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      10864 /var/run/xenstored/socket
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      10812 /var/run/xenstored/socket
> >       >       >       >       >       >       > unix  2      [ ]
> DGRAM      CONNECTED      14083
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      10813 /var/run/xenstored/socket
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      14068
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      13256
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      10571 /var/run/xenstored/socket
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      10842
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      13985
> >       >       >       >       >       >       > unix  3      [ ]
> DGRAM      CONNECTED      13185
> >       >       >       >       >       >       > unix  2      [ ]
> STREAM     CONNECTED      13884
> >       >       >       >       >       >       > unix  2      [ ]
> DGRAM      CONNECTED      14528
> >       >       >       >       >       >       > unix  2      [ ]
> DGRAM      CONNECTED      13785
> >       >       >       >       >       >       > unix  3      [ ]
> STREAM     CONNECTED      14034
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Attaching xen log files
> of /var/log/xen.
> >       >       >       >       >       >       > I didn't get the role o=
f
> QEMU here because as mentioned earlier, I am porting in
> >       raspberrypi
> >       >       4B.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Regards,
> >       >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > On Wed, Oct 19, 2022 at
> 12:43 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       >       >       >       It usually works
> the way it is described in the guide:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >
> >       >       >       >
> >       >       >
> >       >
> >
> https://www.virtuatopia.com/index.php?title=3DConfiguring_a_VNC_based_Gra=
phical_Console_for_a_Xen_Paravirtualized_domainU_Guest
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       You don't need to
> install any VNC-related server software because it is
> >       >       >       >       >       >       >       already provided
> by Xen (to be precise it is provided by QEMU working
> >       >       >       >       >       >       >       together with Xen=
.)
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       You only need the
> vnc client in dom0 so that you can connect, but you
> >       >       >       >       >       >       >       could also run th=
e
> vnc client outside from another host. So basically
> >       >       >       >       >       >       >       the following
> should work when executed in Dom0 after creating DomU:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >         vncviewer
> localhost:0
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       Can you attach th=
e
> Xen and QEMU logs (/var/log/xen/*)? And also use
> >       >       >       >       >       >       >       netstat -taunp to
> check if there is anything running at port 5900 or
> >       >       >       >       >       >       >       5901?
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       Cheers,
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       Stefano
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       On Tue, 18 Oct
> 2022, Vipul Suneja wrote:
> >       >       >       >       >       >       >       > Hi Stefano,
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > Thanks for the
> response!
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > I could install
> tigerVNC, x11vnc & libvncserver in Dom0 xen-image-minimal but
> >       only
> >       >       manage to
> >       >       >       install
> >       >       >       >       >       >       libvncserver(couldn't
> >       >       >       >       >       >       >       install tigervnc
> >       >       >       >       >       >       >       > & x11vnc becaus=
e
> of x11
> >       >       >       >       >       >       >       > support missing=
,
> it's wayland) in DOMU custom graphical image. I tried
> >       running
> >       >       vncviewer with
> >       >       >       IP
> >       >       >       >       address &
> >       >       >       >       >       port
> >       >       >       >       >       >       in dom0 to
> >       >       >       >       >       >       >       access the domu
> >       >       >       >       >       >       >       > graphical image
> display as per below commands.
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >  vncviewer
> 192.168.1.42:5901
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >  But it showing
> can't open display, below are the logs:
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >
> root@raspberrypi4-64:~/guest1# vncviewer 192.168.1.42:5901
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > TigerVNC Viewer
> 64-bit v1.11.0
> >       >       >       >       >       >       >       > Built on:
> 2020-09-08 12:16
> >       >       >       >       >       >       >       > Copyright (C)
> 1999-2020 TigerVNC Team and many others (see README.rst)
> >       >       >       >       >       >       >       > See
> https://www.tigervnc.org for information on TigerVNC.
> >       >       >       >       >       >       >       > Can't open
> display:
> >       >       >       >       >       >       >       >
> root@raspberrypi4-64:~/guest1#
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > I am not
> exactly sure what the issue is but I thought only libvncserver in
> >       DOMU could
> >       >       work to
> >       >       >       get
> >       >       >       >       access but
> >       >       >       >       >       it
> >       >       >       >       >       >       did not
> >       >       >       >       >       >       >       work.
> >       >       >       >       >       >       >       > If TigerVNC is
> the issue here then is there any other VNC source which could
> >       be
> >       >       installed for
> >       >       >       both
> >       >       >       >       x11 &
> >       >       >       >       >       >       wayland supported
> >       >       >       >       >       >       >       images?
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > Regards,
> >       >       >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > On Tue, Oct 18,
> 2022 at 2:40 AM Stefano Stabellini <sstabellini@kernel.org>
> >       wrote:
> >       >       >       >       >       >       >       >       VNC is
> typically easier to setup, because SDL needs extra libraries at
> >       >       >       >       >       >       >       >       build tim=
e
> and runtime. If QEMU is built without SDL support it won't
> >       >       >       >       >       >       >       >       start whe=
n
> you ask for SDL.
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       VNC shoul=
d
> work with both x11 and wayland in your domU. It doesn't work
> >       >       >       >       >       >       >       >       at the x1=
1
> level, it exposes a special fbdev device in your domU that
> >       >       >       >       >       >       >       >       should
> work with:
> >       >       >       >       >       >       >       >       - a
> graphical console in Linux domU
> >       >       >       >       >       >       >       >       - x11
> >       >       >       >       >       >       >       >       - wayland
> (but I haven't tested this so I am not 100% sure about it)
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       When you
> say "it doesn't work", what do you mean? Do you get a black
> >       >       >       >       >       >       >       >       window?
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       You need
> CONFIG_XEN_FBDEV_FRONTEND in Linux domU
> >       >       >       >       >       >       >       >
>  (drivers/video/fbdev/xen-fbfront.c). I would try to get a graphical
> >       text
> >       >       >       >       >       >       >       >       console u=
p
> and running in your domU before attempting x11/wayland.
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       Cheers,
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       Stefano
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       On Mon, 1=
7
> Oct 2022, Vipul Suneja wrote:
> >       >       >       >       >       >       >       >       > Hi,
> >       >       >       >       >       >       >       >       > Thanks!
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       > I have
> ported xen minimal image as DOM0 & custom wayland GUI based
> >       image as
> >       >       DOMU in
> >       >       >       raspberry
> >       >       >       >       pi4B. I
> >       >       >       >       >       >       am trying to
> >       >       >       >       >       >       >       make GUI
> >       >       >       >       >       >       >       >       display u=
p
> >       >       >       >       >       >       >       >       >
> for guest machine. I tried using sdl, included below line in
> >       guest.conf file
> >       >       >       >       >       >       >       >       > vfb=3D =
[
> 'sdl=3D1' ]
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       > But it
> is throwing below error:
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >
> root@raspberrypi4-64:~/guest1# xl create -c guest1.cfg
> >       >       >       >       >       >       >       >       > Parsing
> config from guest1.cfg
> >       >       >       >       >       >       >       >       > libxl:
> error: libxl_qmp.c:1400:qmp_ev_fd_callback: Domain 3:error on
> >       QMP
> >       >       socket:
> >       >       >       Connection
> >       >       >       >       reset by
> >       >       >       >       >       >       peer
> >       >       >       >       >       >       >       >       > libxl:
> error: libxl_qmp.c:1439:qmp_ev_fd_callback: Domain 3:Error
> >       happened
> >       >       with the
> >       >       >       QMP
> >       >       >       >       connection to
> >       >       >       >       >       >       QEMU
> >       >       >       >       >       >       >       >       > libxl:
> error: libxl_dm.c:3351:device_model_postconfig_done: Domain
> >       3:Post DM
> >       >       startup
> >       >       >       configs
> >       >       >       >       failed,
> >       >       >       >       >       >       rc=3D-26
> >       >       >       >       >       >       >       >       > libxl:
> error: libxl_create.c:1867:domcreate_devmodel_started: Domain
> >       3:device
> >       >       model
> >       >       >       did not
> >       >       >       >       start:
> >       >       >       >       >       -26
> >       >       >       >       >       >       >       >       > libxl:
> error: libxl_aoutils.c:646:libxl__kill_xs_path: Device Model
> >       already
> >       >       exited
> >       >       >       >       >       >       >       >       > libxl:
> error: libxl_domain.c:1183:libxl__destroy_domid: Domain
> >       3:Non-existant
> >       >       domain
> >       >       >       >       >       >       >       >       > libxl:
> error: libxl_domain.c:1137:domain_destroy_callback: Domain
> >       3:Unable to
> >       >       destroy
> >       >       >       guest
> >       >       >       >       >       >       >       >       > libxl:
> error: libxl_domain.c:1064:domain_destroy_cb: Domain
> >       3:Destruction of
> >       >       domain
> >       >       >       failed
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       > Another
> way is VNC, i could install tigervnc in DOM0 but same i
> >       couldn't in
> >       >       guest
> >       >       >       machine
> >       >       >       >       because it
> >       >       >       >       >       >       doesn't support
> >       >       >       >       >       >       >       >
>  x11(supports wayland
> >       >       >       >       >       >       >       >       > only). =
I
> am completely blocked here, Need your support to enable the
> >       display
> >       >       up.
> >       >       >       >       >       >       >       >       > Any
> alternative of VNC which could work in both x11 & wayland
> >       supported
> >       >       images?
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       > Any
> input on VNC, SDL or any other way to proceed on this? Looking
> >       forward to
> >       >       hearing
> >       >       >       from
> >       >       >       >       you.
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       > Regards=
,
> >       >       >       >       >       >       >       >       > Vipul
> Kumar
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >
> >       >       >       >
> >       >       >       >
> >       >       >
> >       >       >
> >       >       >
> >       >
> >       >
> >       >
> >
> >
> >

--000000000000b751db05f02f3b6e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+SGkgU3RlZmFubyw8YnI+PGJyPlRoYW5rcyE8YnI+PGJyPkkgY291bGQg
cHJlcGFyZSBhIHBhdGNoIGZvciBhZGRpbmcgZGVidWcgcHJpbnRmIGxvZ3MgaW4geGVuZmIuYyAm
YW1wOyByZS1jb21waWxlIFFFTVUgaW4geW9jdG8gaW1hZ2UuIEp1c3QgZm9yIHJlZmVyZW5jZSwg
SSBoYXZlIGluY2x1ZGVkIGxvZ3MgaW4gYWxsIHRoZSBmdW5jdGlvbnMuIDxicj5BdHRhY2hpbmcg
cWVtdSBsb2cgZmlsZSwgY291bGQgc2VlIHRoZSBlbnRyeSAmYW1wOyBleGl0IGxvZ3MgY29taW5n
IHVwIGZvciAmcXVvdDt4ZW5mYl9oYW5kbGVfZXZlbnRzJnF1b3Q7ICZhbXA7ICZxdW90O3hlbmZi
X21hcF9mYiZxdW90OyBhbHNvIGFmdGVyIHRoZSBob3N0wqBtYWNoaW5lIGJvb3RzwqB1cC4gQ2Fu
IHlvdcKgPGRpdj5wbGVhc2UgZnVydGhlciBhc3Npc3QsIHdoaWNoIHBhcmFtZXRlcnMgaGFzIHRv
IGJlIGNyb3NzIGNoZWNrZWQgb3IgYW55IG90aGVyIGlucHV0IGFzIHBlciBsb2dzP8KgwqA8YnI+
PGJyPlRoYW5rcyAmYW1wOyBSZWdhcmRzLDxicj5WaXB1bCBLdW1hcjxicj48L2Rpdj48L2Rpdj48
YnI+PGRpdiBjbGFzcz0iZ21haWxfcXVvdGUiPjxkaXYgZGlyPSJsdHIiIGNsYXNzPSJnbWFpbF9h
dHRyIj5PbiBUaHUsIERlYyAxNSwgMjAyMiBhdCA0OjE3IEFNIFN0ZWZhbm8gU3RhYmVsbGluaSAm
bHQ7PGEgaHJlZj0ibWFpbHRvOnNzdGFiZWxsaW5pQGtlcm5lbC5vcmciPnNzdGFiZWxsaW5pQGtl
cm5lbC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWls
X3F1b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBz
b2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPkhpIFZpcHVsLDxicj4NCjxi
cj4NCkZvciBRRU1VIHlvdSBhY3R1YWxseSBuZWVkIHRvIGZvbGxvdyB0aGUgWW9jdG8gYnVpbGQg
cHJvY2VzcyB0byB1cGRhdGU8YnI+DQp0aGUgUUVNVSBiaW5hcnkuIFRoYXQgaXMgYmVjYXVzZSBR
RU1VIGlzIGEgdXNlcnNwYWNlIGFwcGxpY2F0aW9uIHdpdGg8YnI+DQpsb3RzIG9mIGxpYnJhcnkg
ZGVwZW5kZW5jaWVzIHNvIHdlIGNhbm5vdCBqdXN0IGRvICZxdW90O21ha2UmcXVvdDsgd2l0aCBh
PGJyPg0KY3Jvc3MtY29tcGlsZXIgbGlrZSBpbiB0aGUgY2FzZSBvZiBYZW4uPGJyPg0KPGJyPg0K
U28geW91IG5lZWQgdG8gbWFrZSBjaGFuZ2VzIHRvIFFFTVUgYW5kIHRoZW4gYWRkIHRob3NlIGNo
YW5nZXMgYXMgYTxicj4NCnBhdGNoIHRvIHRoZSBZb2N0byBRRU1VIGJ1aWxkIHJlY2lwZSwgb3Ig
Y29uZmlndXJlIFlvY3RvIHRvIHlvdXIgbG9jYWw8YnI+DQp0cmVlIHRvIGJ1aWxkIFFFTVUuIEkg
YW0gbm90IGEgWW9jdG8gZXhwZXJ0IGFuZCB0aGUgWW9jdG8gY29tbXVuaXR5PGJyPg0Kd291bGQg
YmUgYSBiZXR0ZXIgcGxhY2UgdG8gYXNrIGZvciBhZHZpY2UgdGhlcmUuIFlvdSBjYW4gc2VlIGZy
b20gaGVyZTxicj4NCnNvbWUgaW5zdHJ1Y3Rpb25zIG9uIGhvdyB0byBidWlsZCBYZW4gdXNpbmcg
YSBsb2NhbCB0cmVlLCBzZWUgdGhlIHVzYWdlPGJyPg0Kb2YgRVhURVJOQUxTUkMgKG5vdGUgdGhh
dCB0aGlzIGlzICpub3QqIHdoYXQgeW91IG5lZWQ6IHlvdSBuZWVkIHRvIGJ1aWxkPGJyPg0KUUVN
VSB3aXRoIGEgbG9jYWwgdHJlZSwgbm90IFhlbi4gQnV0IEkgdGhvdWdodCB0aGF0IHRoZSB3aWtp
cGFnZSBtaWdodDxicj4NCnN0aWxsIGJlIGEgc3RhcnRpbmcgcG9pbnQpPGJyPg0KPGJyPg0KPGEg
aHJlZj0iaHR0cHM6Ly93aWtpLnhlbnByb2plY3Qub3JnL3dpa2kvWGVuX29uX0FSTV9hbmRfWW9j
dG8iIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd2lraS54ZW5wcm9q
ZWN0Lm9yZy93aWtpL1hlbl9vbl9BUk1fYW5kX1lvY3RvPC9hPjxicj4NCjxicj4NCkNoZWVycyw8
YnI+DQo8YnI+DQpTdGVmYW5vPGJyPg0KPGJyPg0KPGJyPg0KT24gVGh1LCAxNSBEZWMgMjAyMiwg
VmlwdWwgU3VuZWphIHdyb3RlOjxicj4NCiZndDsgSGkgU3RlZmFubyw8YnI+DQomZ3Q7IDxicj4N
CiZndDsgVGhhbmtzITxicj4NCiZndDsgPGJyPg0KJmd0OyBJIGNvdWxkIHNlZSBRRU1VIDYuMi4w
IGNvbXBpbGVkICZhbXA7IGluc3RhbGxlZCBpbiB0aGUgaG9zdCBpbWFnZSB4ZW4taW1hZ2UtbWlu
aW1hbC4gSSBjb3VsZCBmaW5kIHhlbmZiLmMgc291cmNlIGZpbGUgYWxzbyAmYW1wOyBtb2RpZmll
ZCB0aGUgc2FtZTxicj4NCiZndDsgd2l0aCBkZWJ1ZyBsb2dzLjxicj4NCiZndDsgSSBoYXZlIHNl
dCB1cCBhIGNyb3NzIGNvbXBpbGUgZW52aXJvbm1lbnQsIGRpZCAmIzM5O21ha2UgY2xlYW4mIzM5
OyAmYW1wOyAmIzM5O21ha2UgYWxsJiMzOTsgdG8gcmVjb21waWxlIGJ1dCBpdCYjMzk7cyBmYWls
aW5nLiBJbiBjYXNlIGkgYW0gZG9pbmcgd3JvbmcsIENhbiB5b3U8YnI+DQomZ3Q7IHBsZWFzZSBh
c3Npc3QgbWU8YnI+DQomZ3Q7IHdpdGggdGhlIGNvcnJlY3Qgc3RlcHMgdG8gY29tcGlsZSBxZW11
P8KgQmVsb3cgYXJlIHRoZSBlcnJvciBsb2dzOjxicj4NCiZndDsgPGJyPg0KJmd0OyBhZ2xAYWds
LU9wdGlQbGV4LTcwMTA6fi9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L1BsYXRmb3JtL1Bv
a3lfS2lya3N0b25lL2J1aWxkL3RtcC93b3JrL2NvcnRleGE3Mi1wb2t5LWxpbnV4L3FlbXUvNi4y
LjAtcjAvYnVpbGQkIG1ha2U8YnI+DQomZ3Q7IGFsbDxicj4NCiZndDsgWzEvMzg2NF0gQ29tcGls
aW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfYXJwX3RhYmxlLmMubzxicj4NCiZn
dDsgWzIvMzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IHN1YnByb2plY3RzL2xpYnZob3N0LXVzZXIv
bGlidmhvc3QtdXNlci5hLnAvbGlidmhvc3QtdXNlci5jLm88YnI+DQomZ3Q7IFszLzM4NjRdIExp
bmtpbmcgc3RhdGljIHRhcmdldCBzdWJwcm9qZWN0cy9saWJ2aG9zdC11c2VyL2xpYnZob3N0LXVz
ZXIuYTxicj4NCiZndDsgWzQvMzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9z
bGlycF9zcmNfdm1zdGF0ZS5jLm88YnI+DQomZ3Q7IFs1LzM4NjRdIENvbXBpbGluZyBDIG9iamVj
dCBsaWJzbGlycC5hLnAvc2xpcnBfc3JjX2RoY3B2Ni5jLm88YnI+DQomZ3Q7IFs2LzM4NjRdIENv
bXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3JjX2Ruc3NlYXJjaC5jLm88YnI+
DQomZ3Q7IFs3LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3Jj
X2Jvb3RwLmMubzxicj4NCiZndDsgWzgvMzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJw
LmEucC9zbGlycF9zcmNfY2tzdW0uYy5vPGJyPg0KJmd0OyBbOS8zODY0XSBDb21waWxpbmcgQyBv
YmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19pZi5jLm88YnI+DQomZ3Q7IFsxMC8zODY0XSBD
b21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19pcDZfaWNtcC5jLm88YnI+
DQomZ3Q7IFsxMS8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3Ny
Y19pcDZfaW5wdXQuYy5vPGJyPg0KJmd0OyBbMTIvMzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxp
YnNsaXJwLmEucC9zbGlycF9zcmNfaXA2X291dHB1dC5jLm88YnI+DQomZ3Q7IFsxMy8zODY0XSBD
b21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19pcF9pY21wLmMubzxicj4N
CiZndDsgWzE0LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3Jj
X2lwX2lucHV0LmMubzxicj4NCiZndDsgWzE1LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJz
bGlycC5hLnAvc2xpcnBfc3JjX2lwX291dHB1dC5jLm88YnI+DQomZ3Q7IFsxNi8zODY0XSBDb21w
aWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19tYnVmLmMubzxicj4NCiZndDsg
WzE3LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3JjX21pc2Mu
Yy5vPGJyPg0KJmd0OyBbMTgvMzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9z
bGlycF9zcmNfbmNzaS5jLm88YnI+DQomZ3Q7IFsxOS8zODY0XSBDb21waWxpbmcgQyBvYmplY3Qg
bGlic2xpcnAuYS5wL3NsaXJwX3NyY19uZHBfdGFibGUuYy5vPGJyPg0KJmd0OyBbMjAvMzg2NF0g
Q29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfc2J1Zi5jLm88YnI+DQom
Z3Q7IFsyMS8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19z
bGlycC5jLm88YnI+DQomZ3Q7IFsyMi8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAu
YS5wL3NsaXJwX3NyY19zb2NrZXQuYy5vPGJyPg0KJmd0OyBbMjMvMzg2NF0gQ29tcGlsaW5nIEMg
b2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfc3RhdGUuYy5vPGJyPg0KJmd0OyBbMjQvMzg2
NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfc3RyZWFtLmMubzxi
cj4NCiZndDsgWzI1LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBf
c3JjX3RjcF9pbnB1dC5jLm88YnI+DQomZ3Q7IFsyNi8zODY0XSBDb21waWxpbmcgQyBvYmplY3Qg
bGlic2xpcnAuYS5wL3NsaXJwX3NyY190Y3Bfb3V0cHV0LmMubzxicj4NCiZndDsgWzI3LzM4NjRd
IENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3JjX3RjcF9zdWJyLmMubzxi
cj4NCiZndDsgWzI4LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBf
c3JjX3RjcF90aW1lci5jLm88YnI+DQomZ3Q7IFsyOS8zODY0XSBDb21waWxpbmcgQyBvYmplY3Qg
bGlic2xpcnAuYS5wL3NsaXJwX3NyY190ZnRwLmMubzxicj4NCiZndDsgWzMwLzM4NjRdIENvbXBp
bGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3JjX3VkcC5jLm88YnI+DQomZ3Q7IFsz
MS8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY191ZHA2LmMu
bzxicj4NCiZndDsgWzMyLzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xp
cnBfc3JjX3V0aWwuYy5vPGJyPg0KJmd0OyBbMzMvMzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxp
YnNsaXJwLmEucC9zbGlycF9zcmNfdmVyc2lvbi5jLm88YnI+DQomZ3Q7IFszNC8zODY0XSBMaW5r
aW5nIHN0YXRpYyB0YXJnZXQgbGlic2xpcnAuYTxicj4NCiZndDsgWzM1LzM4NjRdIEdlbmVyYXRp
bmcgcWVtdS12ZXJzaW9uLmggd2l0aCBhIGN1c3RvbSBjb21tYW5kICh3cmFwcGVkIGJ5IG1lc29u
IHRvIGNhcHR1cmUgb3V0cHV0KTxicj4NCiZndDsgRkFJTEVEOiBxZW11LXZlcnNpb24uaDxicj4N
CiZndDsgL2hvbWUvYWdsL0F1dG9tb3RpdmUvQURBU19JbmZvdGFpbm1lbnQvUGxhdGZvcm0vUG9r
eV9LaXJrc3RvbmUvYnVpbGQvdG1wL3dvcmsvY29ydGV4YTcyLXBva3ktbGludXgvcWVtdS82LjIu
MC1yMC9yZWNpcGUtc3lzcm9vdC1uYXRpdmUvdXNyPGJyPg0KJmd0OyAvYmluL21lc29uIC0taW50
ZXJuYWwgZXhlIC0tY2FwdHVyZSBxZW11LXZlcnNpb24uaCAtLS9ob21lL2FnbC9BdXRvbW90aXZl
L0FEQVNfSW5mb3RhaW5tZW50L1BsYXRmb3JtL1Bva3lfS2lya3N0b25lL2J1aWxkL3RtcC93b3Jr
L2NvcnRleGE3Mi1wb2t5LWxpbnV4L3FlbXUvNi4yLjAtcjAvcWVtdS02LjIuMC9zY3JpcHRzL3Fl
bXUtdjxicj4NCiZndDsgZXJzaW9uLnNoIC9ob21lL2FnbC9BdXRvbW90aXZlL0FEQVNfSW5mb3Rh
aW5tZW50L1BsYXRmb3JtL1Bva3lfS2lya3N0b25lL2J1aWxkL3RtcC93b3JrL2NvcnRleGE3Mi1w
b2t5LWxpbnV4L3FlbXUvNi4yLjAtcjAvcWVtdS02LjIuMCAmIzM5OyYjMzk7PGJyPg0KJmd0OyA2
LjIuMDxicj4NCiZndDsgL3Vzci9iaW4vZW52OiDigJhuYXRpdmVweXRob24z4oCZOiBObyBzdWNo
IGZpbGUgb3IgZGlyZWN0b3J5PGJyPg0KJmd0OyBuaW5qYTogYnVpbGQgc3RvcHBlZDogc3ViY29t
bWFuZCBmYWlsZWQuPGJyPg0KJmd0OyBtYWtlOiAqKiogW01ha2VmaWxlOjE2MjogcnVuLW5pbmph
XSBFcnJvciAxPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IFRoYW5rcyAmYW1wOyBSZWdhcmRzLDxicj4N
CiZndDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7IDxicj4NCiZndDsgT24gV2VkLCBEZWMgMTQsIDIw
MjIgYXQgNDo1NSBBTSBTdGVmYW5vIFN0YWJlbGxpbmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3Rh
YmVsbGluaUBrZXJuZWwub3JnIiB0YXJnZXQ9Il9ibGFuayI+c3N0YWJlbGxpbmlAa2VybmVsLm9y
ZzwvYT4mZ3Q7IHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoEhpIFZpcHVsLDxicj4NCiZndDsg
PGJyPg0KJmd0O8KgIMKgIMKgIMKgR29vZCBwcm9ncmVzcyEgVGhlIG1haW4gZnVuY3Rpb24gd2Ug
c2hvdWxkIGNoZWNrIGlzICZxdW90O3hlbmZiX3JlZnJlc2gmcXVvdDsgYnV0PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgZnJvbSB0aGUgbG9ncyBpdCBsb29rcyBsaWtlIGl0IGlzIGNhbGxlZCBzZXZlcmFs
IHRpbWVzLiBXaGljaCBtZWFucyB0aGF0PGJyPg0KJmd0O8KgIMKgIMKgIMKgZXZlcnl0aGluZyBz
ZWVtcyB0byBiZSB3b3JraW5nIGFzIGV4cGVjdGVkIG9uIHRoZSBMaW51eCBzaWRlLjxicj4NCiZn
dDsgPGJyPg0KJmd0O8KgIMKgIMKgIMKgSXQgaXMgdGltZSB0byBpbnZlc3RpZ2F0ZSB0aGUgUUVN
VSBzaWRlOjxicj4NCiZndDvCoCDCoCDCoCDCoC4vaHcvZGlzcGxheS94ZW5mYi5jOnhlbmZiX2hh
bmRsZV9ldmVudHM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAuL2h3L2Rpc3BsYXkveGVuZmIuYzp4ZW5m
Yl9tYXBfZmI8YnI+DQomZ3Q7IDxicj4NCiZndDvCoCDCoCDCoCDCoEkgd29uZGVyIGlmIHRoZSBp
c3N1ZSBpcyBpbnRlcm5hbCB0byBRRU1VLiBZb3UgbWlnaHQgd2FudCB0byB1c2UgYW48YnI+DQom
Z3Q7wqAgwqAgwqAgwqBvbGRlciBRRU1VIHZlcnNpb24gdG8gY2hlY2sgaWYgaXQgd29ya3MsIG1h
eWJlIDYuMCBvciA1LjAgb3IgZXZlbiA0LjAuPGJyPg0KJmd0O8KgIMKgIMKgIMKgSSBhbHNvIHdv
bmRlciBpZiBpdCBpcyBhIHByb2JsZW0gYmV0d2VlbiB4ZW5mYi5jIGFuZCB0aGUgcmVzdCBvZiBR
RU1VLiBJPGJyPg0KJmd0O8KgIMKgIMKgIMKgd291bGQgaW52ZXN0aWdhdGUgaG93IHhlbmZiLSZn
dDtwaXhlbHMgaXMgcmVuZGVyZWQgYnkgdGhlIHJlc3Qgb2YgUUVNVS48YnI+DQomZ3Q7wqAgwqAg
wqAgwqBTcGVjaWZpY2FsbHkgeW91IG1pZ2h0IHdhbnQgdG8gbG9vayBhdCB0aGUgY2FsbCB0bzxi
cj4NCiZndDvCoCDCoCDCoCDCoHFlbXVfY3JlYXRlX2Rpc3BsYXlzdXJmYWNlLCBxZW11X2NyZWF0
ZV9kaXNwbGF5c3VyZmFjZV9mcm9tIGFuZDxicj4NCiZndDvCoCDCoCDCoCDCoGRweV9nZnhfcmVw
bGFjZV9zdXJmYWNlIGluIHhlbmZiX3VwZGF0ZS48YnI+DQomZ3Q7IDxicj4NCiZndDvCoCDCoCDC
oCDCoEkgaG9wZSB0aGlzIGhlbHBzLjxicj4NCiZndDsgPGJyPg0KJmd0O8KgIMKgIMKgIMKgQ2hl
ZXJzLDxicj4NCiZndDsgPGJyPg0KJmd0O8KgIMKgIMKgIMKgU3RlZmFubzxicj4NCiZndDsgPGJy
Pg0KJmd0OyA8YnI+DQomZ3Q7wqAgwqAgwqAgwqBPbiBUdWUsIDEzIERlYyAyMDIyLCBWaXB1bCBT
dW5lamEgd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBIaSBTdGVmYW5vLDxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFRoYW5rcyE8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBJIG1vZGlmaWVkIHhl
bi1mYmZyb250LmMgc291cmNlIGZpbGUsIGluY2x1ZGVkIHByaW50ayBkZWJ1ZyBsb2dzICZhbXA7
IGNyb3NzIGNvbXBpbGVkIGl0LiBJIGluY2x1ZGVkIHRoZSBwcmludGsgZGVidWcgbG9nIGF0IHRo
ZTxicj4NCiZndDvCoCDCoCDCoCDCoGVudHJ5ICZhbXA7IGV4aXQ8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IG9mIGFsbCBmdW5jdGlvbnMgb2YgeGVuLWZiZnJvbnQuYyBmaWxlLjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgR2VuZXJhdGVkIGtlcm5lbCBtb2R1bGUgJmFtcDsgbG9hZGVkIGluIGd1
ZXN0IG1hY2hpbmUgYXQgYm9vdHVwLiBJIGNvdWxkIHNlZSBsb3RzIG9mIGxvZ3MgY29taW5nIHVw
LCBhbmQgY291bGQgc2VlIG11bHRpcGxlPGJyPg0KJmd0O8KgIMKgIMKgIMKgZnVuY3Rpb25zIGJl
aW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBpbnZva2VkIGV2ZW4gaWYgSSBoYXZlwqBub3Qg
dXNlZMKgdm5jdmlld2VyIGluIHRoZSBob3N0LiBBdHRhY2hpbmcgdGhlIGxvZyBmaWxlIGZvciBy
ZWZlcmVuY2UuIEFueSBzcGVjaWZpYyBmdW5jdGlvbiBvcjxicj4NCiZndDvCoCDCoCDCoCDCoHBh
cmFtZXRlcnMgdGhhdCBoYXZlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyB0byBiZSBjaGVja2Vk
IG9yIGFueSBvdGhlciBzdWdnZXN0aW9uIGFzIHBlciBsb2dzPzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFRoYW5rcyAmYW1wOyBSZWdhcmRzLDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBPbiBUdWUsIERlYyAxMywgMjAyMiBhdCAzOjQ0IEFN
IFN0ZWZhbm8gU3RhYmVsbGluaSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNzdGFiZWxsaW5pQGtlcm5l
bC5vcmciIHRhcmdldD0iX2JsYW5rIj5zc3RhYmVsbGluaUBrZXJuZWwub3JnPC9hPiZndDsgd3Jv
dGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSGkgVmlwdWwsPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoEkgYW0g
b25saW5lIG9uIElSQyBPRlRDICN4ZW5kZXZlbCAoPGEgaHJlZj0iaHR0cHM6Ly93d3cub2Z0Yy5u
ZXQvIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL3d3dy5vZnRjLm5l
dC88L2E+LCB5b3UgbmVlZCBhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgcmVn
aXN0ZXJlZCBuaWNrbmFtZSB0byBqb2luICN4ZW5kZXZlbCkuPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoEZvciBkZXZlbG9wbWVudCBh
bmQgZGVidWdnaW5nIEkgZmluZCB0aGF0IGl0IGlzIGEgbG90IGVhc2llciB0bzxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGNyb3NzY29tcGlsZSB0aGUga2VybmVsICZxdW90O2J5
IGhhbmQmcXVvdDssIGFuZCBkbyBhIG1vbm9saXRoaWMgYnVpbGQsIHJhdGhlcjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHRoYW4gZ29pbmcgdGhyb3VnaCBZb2N0by48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgRm9y
IGluc3RhbmNlIHRoZSBmb2xsb3dpbmcgYnVpbGRzIGZvciBtZTo8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgY2QgbGludXguZ2l0PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZXhwb3J0IEFSQ0g9YXJtNjQ8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBleHBvcnQgQ1JPU1NfQ09NUElMRT0vcGF0aC90
by9jcm9zcy1jb21waWxlcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoG1ha2Ug
ZGVmY29uZmlnPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgW2FkZCBwcmludGtz
IHRvIGRyaXZlcnMvdmlkZW8vZmJkZXYveGVuLWZiZnJvbnQuY108YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBtYWtlIC1qOCBJbWFnZS5nejxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBBbmQgSW1hZ2UuZ3ogYm9vdHMg
b24gWGVuIGFzIERvbVUga2VybmVsIHdpdGhvdXQgaXNzdWVzLjxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFN0ZWZh
bm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgT24gU2F0LCAxMCBEZWMgMjAyMiwgVmlwdWwgU3VuZWphIHdyb3RlOjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSGkgU3RlZmFubyw8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyBUaGFua3MhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSSBoYXZlIGluY2x1ZGVkIHBy
aW50ayBkZWJ1ZyBsb2dzIGluIHRoZSB4ZW4tZmJmcm9udC5jIHNvdXJjZSBmaWxlLiBXaGlsZSBj
cm9zcyBjb21waWxpbmcgdG8gZ2VuZXJhdGUgLmtvIHdpdGg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmcXVvdDt4ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbCZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdG9vbGNoYWluIGl0JiMzOTtzIHRocm93
aW5nIGEgbW9kcG9zdDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgbm90
IGZvdW5kIGVycm9yLiBJIGNvdWxkIHNlZSB0aGUgbW9kcG9zdC5jIHNvdXJjZSBmaWxlIGJ1dCB0
aGUgZmluYWwgc2NyaXB0IGlzIG1pc3NpbmcuIEFueSBpbnB1dCBvbiB0aGlzLCBCZWxvdyBhcmU8
YnI+DQomZ3Q7wqAgwqAgwqAgwqB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBsb2dzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGFnbEBhZ2wtT3B0aVBsZXgtNzAxMDp+L0F1
dG9tb3RpdmUvQURBU19JbmZvdGFpbm1lbnQvcHJvamVjdC9BcHBsaWNhdGlvbi9YZW4vRnJhbWVi
dWZmZXIkIG1ha2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IG1ha2Ug
QVJDSD1hcm02NCAtSS9vcHQvcG9reS80LjAuNS9zeXNyb290cy9jb3J0ZXhhNzItcG9reS1saW51
eC91c3IvaW5jbHVkZS9hc20gLUM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IC9vcHQvcG9reS80LjAuNS9zeXNyb290cy9jb3J0ZXhhNzItcG9reS1saW51eC9saWIvbW9k
dWxlcy81LjE1LjcyLXlvY3RvLXN0YW5kYXJkL2J1aWxkPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyBNPS9ob21lL2FnbC9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50
L3Byb2plY3QvQXBwbGljYXRpb24vWGVuL0ZyYW1lYnVmZmVyIG1vZHVsZXM8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IG1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeSAm
IzM5Oy9vcHQvcG9reS80LjAuNS9zeXNyb290cy9jb3J0ZXhhNzItcG9reS1saW51eC9saWIvbW9k
dWxlcy81LjE1LjcyLXlvY3RvLXN0YW5kYXJkL2J1aWxkJiMzOTs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGFyY2gvYXJtNjQvTWFrZWZpbGU6MzY6IERldGVjdGVkIGFz
c2VtYmxlciB3aXRoIGJyb2tlbiAuaW5zdDsgZGlzYXNzZW1ibHkgd2lsbCBiZSB1bnJlbGlhYmxl
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB3YXJuaW5nOiB0aGUgY29t
cGlsZXIgZGlmZmVycyBmcm9tIHRoZSBvbmUgdXNlZCB0byBidWlsZCB0aGUga2VybmVsPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCBUaGUga2VybmVsIHdhcyBidWls
dCBieTogZ2NjIChVYnVudHUgOS40LjAtMXVidW50dTF+MjAuMDQuMSkgOS40LjA8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIFlvdSBhcmUgdXNpbmc6IMKgIMKgIMKg
IMKgIMKgIGFhcmNoNjQtcG9reS1saW51eC1nY2MgKEdDQykgMTEuMy4wPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCBDQyBbTV0gwqAvaG9tZS9hZ2wvQXV0b21vdGl2
ZS9BREFTX0luZm90YWlubWVudC9wcm9qZWN0L0FwcGxpY2F0aW9uL1hlbi9GcmFtZWJ1ZmZlci94
ZW4tZmJmcm9udC5vPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCBN
T0RQT1NUIC9ob21lL2FnbC9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L3Byb2plY3QvQXBw
bGljYXRpb24vWGVuL0ZyYW1lYnVmZmVyL01vZHVsZS5zeW12ZXJzPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAvYmluL3NoOiAxOiBzY3JpcHRzL21vZC9tb2Rwb3N0OiBu
b3QgZm91bmQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IG1ha2VbMl06
ICoqKiBbc2NyaXB0cy9NYWtlZmlsZS5tb2Rwb3N0OjEzMzo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAvaG9tZS9hZ2wvQXV0b21vdGl2ZS9BREFTX0luZm90YWlubWVudC9wcm9q
ZWN0L0FwcGxpY2F0aW9uL1hlbi9GcmFtZWJ1ZmZlci9Nb2R1bGUuc3ltdmVyc108YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEVycm9yIDEyNzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgbWFrZVsxXTogKioqIFtNYWtlZmlsZToxODEzOiBtb2R1
bGVzXSBFcnJvciAyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBtYWtl
WzFdOiBMZWF2aW5nIGRpcmVjdG9yeSAmIzM5Oy9vcHQvcG9reS80LjAuNS9zeXNyb290cy9jb3J0
ZXhhNzItcG9reS1saW51eC9saWIvbW9kdWxlcy81LjE1LjcyLXlvY3RvLXN0YW5kYXJkL2J1aWxk
JiMzOTs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IG1ha2U6ICoqKiBb
TWFrZWZpbGU6NTogYWxsXSBFcnJvciAyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyBhZ2xAYWdsLU9wdGlQbGV4LTcwMTA6fi9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5t
ZW50L3Byb2plY3QvQXBwbGljYXRpb24vWGVuL0ZyYW1lYnVmZmVyJCBscyAtbDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdG90YWwgMzI0PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAtcnd4cnd4cnd4IDEgYWdsIGFnbCDCoCDCoDM1OSBEZWMg
MTAgMjI6NDEgTWFrZWZpbGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IC1ydy1ydy1yLS0gMSBhZ2wgYWdsIMKgIMKgIDkwIERlYyAxMCAyMjo0OSBtb2R1bGVzLm9yZGVy
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAtcnctci0tci0tIDEgYWds
IGFnbCDCoDE4MzMxIERlYyDCoDEgMjA6MzIgeGVuLWZiZnJvbnQuYzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgLXJ3LXJ3LXItLSAxIGFnbCBhZ2wgwqAgwqAgOTAgRGVj
IDEwIDIyOjQ5IHhlbi1mYmZyb250Lm1vZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgLXJ3LXJ3LXItLSAxIGFnbCBhZ2wgMjk3ODMyIERlYyAxMCAyMjo0OSB4ZW4tZmJm
cm9udC5vPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBhZ2xAYWdsLU9w
dGlQbGV4LTcwMTA6fi9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L3Byb2plY3QvQXBwbGlj
YXRpb24vWGVuL0ZyYW1lYnVmZmVyJCBmaWxlIHhlbi1mYmZyb250Lm88YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHhlbi1mYmZyb250Lm86IEVMRiA2NC1iaXQgTFNCIHJl
bG9jYXRhYmxlLCBBUk0gYWFyY2g2NCwgdmVyc2lvbiAxIChTWVNWKSwgd2l0aCBkZWJ1Z19pbmZv
LCBub3Qgc3RyaXBwZWQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGFn
bEBhZ2wtT3B0aVBsZXgtNzAxMDp+L0F1dG9tb3RpdmUvQURBU19JbmZvdGFpbm1lbnQvcHJvamVj
dC9BcHBsaWNhdGlvbi9YZW4vRnJhbWVidWZmZXIkPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSSBo
YXZlIGNvbm5lY3RlZCBhIEhETUkgYmFzZWQgMTk4MHgxMDI0IHJlc29sdXRpb24gZGlzcGxheSBz
Y3JlZW4gdG8gcmFzcGJlcnJ5cGk0IGZvciB0ZXN0aW5nIHB1cnBvc2VzLiBJIGhvcGU8YnI+DQom
Z3Q7wqAgwqAgwqAgwqBjb25uZWN0aW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgdGhpcyBkaXNwbGF5IHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyBycGk0IHNob3VsZCBiZSBvay48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJcyB0aGVyZSBhbnkg
b3RoZXIgd2F5IHdlIGNhbiBjb25uZWN0IGFsc28gZm9yIGRldGFpbGVkIGRpc2N1c3Npb24gb24g
dGhlIGRpc3BsYXkgYnJpbmd1cCBpc3N1ZT8gVGhpcyB3aWxsIHJlYWxseTxicj4NCiZndDvCoCDC
oCDCoCDCoGhlbHAgdG88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqByZXNvbHZl
IHRoaXM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGlzc3VlLjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IFRoYW5rcyAmYW1wOyBSZWdhcmRzLDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyBPbiBGcmksIERlYyAyLCAyMDIyIGF0IDE6MDIgQU0gU3RlZmFubyBTdGFiZWxsaW5pICZsdDs8
YSBocmVmPSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNz
dGFiZWxsaW5pQGtlcm5lbC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBPbiBUaHUsIDEgRGVjIDIwMjIsIFZpcHVsIFN1
bmVqYSB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IEhpIFN0ZWZhbm8sPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFua3MhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSSBhbSBleHBsb3JpbmcgYm90aCBvcHRpb25zIGhlcmUs
IG1vZGlmaWNhdGlvbiBvZiBmcmFtZWJ1ZmZlciBzb3VyY2UgZmlsZSAmYW1wOyBzZXR0aW5nIHVw
IHgxMXZuYyBzZXJ2ZXIgaW48YnI+DQomZ3Q7wqAgwqAgwqAgwqBndWVzdC48YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE90aGVyIHRoYW4gdGhl
c2UgSSB3b3VsZCBsaWtlIHRvIHNoYXJlIGEgZmV3IGZpbmRpbmdzIHdpdGggeW91Ljxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDEuIElmIGkga2Vl
cCAmcXVvdDtDT05GSUdfWEVOX0ZCREVWX0ZST05URU5EPXkmcXVvdDsgdGhlbiB4ZW4tZmJmcm9u
dC5rbyBpcyBub3QgZ2VuZXJhdGluZyBidXQgaWYgaSBrZWVwPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJnF1b3Q7Q09ORklHX1hFTl9GQkRFVl9GUk9OVEVORD1tJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB0aGVu
IGNvdWxkIHNlZSB4ZW4tZmJmcm9udC5rbyAmYW1wOyBpdHMgbG9hZGluZyBhbHNvLiBTYW1lIHRo
aW5ncyB3aXRoIG90aGVyIGZyb250ZW5kL2JhY2tlbmQgZHJpdmVycyBhbHNvLiBEbyB3ZTxicj4N
CiZndDvCoCDCoCDCoCDCoG5lZWQgdG88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBjb25maWd1cmXCoHRoZXNlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBkcml2ZXJzIGFzIGEgbW9kdWxlKG0pIG9u
bHk/PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHhlbi1mYmZyb250IHNob3VsZCB3
b3JrIGJvdGggYXMgYSBtb2R1bGUgKHhlbi1mYmZyb250LmtvKSBvciBidWlsdC1pbjxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoChDT05GSUdfWEVOX0ZC
REVWX0ZST05URU5EPXkpLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgMi4gSSBjb3VsZCBzZWUgeGVuc3RvcmVkIHNlcnZpY2UgaXMg
cnVubmluZyBmb3IgdGhlIGhvc3QgYnV0IGl0JiMzOTtzIGFsd2F5cyBmYWlsaW5nIGZvciB0aGUg
Z3Vlc3TCoG1hY2hpbmUuIEk8YnI+DQomZ3Q7wqAgwqAgwqAgwqBjb3VsZCBzZWU8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBpdCBpbjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGJvb3R1cCBsb2dzICZhbXA7IHZpYTxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgc3lzdGVtY3RsIHN0
YXR1cyBhbHNvLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBUaGF0IGlzIG5vcm1h
bC4geGVuc3RvcmVkIGlzIG9ubHkgbWVhbnQgdG8gYmUgcnVuIGluIERvbTAsIG5vdCBpbiB0aGU8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBkb21Vcy4g
SWYgeW91IHVzZSB0aGUgc2FtZSByb290ZnMgZm9yIERvbTAgYW5kIERvbVUgdGhlbiB4ZW5zdG9y
ZWQgd2lsbDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oGZhaWwgc3RhcnRpbmcgaW4gdGhlIERvbVUgKGJ1dCBzaG91bGQgc3VjY2VlZCBpbiBEb20wKSwg
d2hpY2ggaXMgd2hhdCB3ZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoHdhbnQuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoElmIHlvdSBy
dW4gJnF1b3Q7eGVuc3RvcmUtbHMmcXVvdDsgaW4gRG9tMCwgeW91JiMzOTtsbCBzZWUgYSBidW5j
aCBvZiBlbnRyaWVzLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoGluY2x1ZGluZyBzb21lIG9mIHRoZW0gcmVsYXRlZCB0byAmcXVvdDt2ZmImcXVvdDsg
d2hpY2ggaXMgdGhlIHZpcnR1YWwgZnJhbWVidWZmZXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBwcm90b2NvbC4gWW91IHNob3VsZCBhbHNvIHNlZSBh
biBlbnRyeSBjYWxsZWQgJnF1b3Q7c3RhdGUmcXVvdDsgc2V0IHRvICZxdW90OzQmcXVvdDsgd2hp
Y2g8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBtZWFu
cyAmcXVvdDtjb25uZWN0ZWQmcXVvdDsuIHN0YXRlID0gNCBpcyB1c3VhbGx5IHdoZW4gZXZlcnl0
aGluZyB3b3Jrcy4gTm9ybWFsbHk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqB3aGVuIHRoaW5ncyBkb24mIzM5O3Qgd29yayBzdGF0ZSAhPSA0Ljxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
QmVsb3cgYXJlIHRoZSBsb2dzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgWyDCoE9LIMKgXSBSZWFjaGVkIHRhcmdldCBCYXNpYyBTeXN0ZW0u
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBb
IMKgT0sgwqBdIFN0YXJ0ZWQgS2VybmVsIExvZ2dpbmcgU2VydmljZS48YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0gU3RhcnRl
ZCBTeXN0ZW0gTG9nZ2luZyBTZXJ2aWNlLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqAgwqBTdGFydGluZyBELUJ1cyBTeXN0
ZW0gTWVzc2FnZSBCdXMuLi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgIMKgU3RhcnRpbmcgVXNlciBMb2dpbiBNYW5hZ2Vt
ZW50Li4uPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoCDCoFN0YXJ0aW5nIFBlcm1pdCBVc2VyIFNlc3Npb25zLi4uPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoCDCoFN0YXJ0aW5nIFRoZSBYZW4geGVuc3RvcmUuLi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgIMKgU3RhcnRpbmcg
T3BlblNTSCBLZXkgR2VuZXJhdGlvbi4uLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgW0ZBSUxFRF0gRmFpbGVkIHRvIHN0YXJ0IFRoZSBYZW4g
eGVuc3RvcmUuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyBTZWUgJiMzOTtzeXN0ZW1jdGwgc3RhdHVzIHhlbnN0b3JlZC5zZXJ2aWNlJiMzOTsg
Zm9yIGRldGFpbHMuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyBbREVQRU5EXSBEZXBlbmRlbmN5IGZhaWxlZCBmb3IgcWVtdSBmb3IgeGVuIGRv
bTAgZGlzayBiYWNrZW5kLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgW0RFUEVORF0gRGVwZW5kZW5jeSBmYWlsZWQgZm9yIFhlbmTigKZwIGd1
ZXN0cyBvbiBib290IGFuZCBzaHV0ZG93bi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFtERVBFTkRdIERlcGVuZGVuY3kgZmFpbGVkIGZvciB4
ZW4t4oCmZGVzLCBKU09OIGNvbmZpZ3VyYXRpb24gc3R1YikuPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbREVQRU5EXSBEZXBlbmRlbmN5IGZh
aWxlZCBmb3IgWGVuY+KApmd1ZXN0IGNvbnNvbGVzIGFuZCBoeXBlcnZpc29yLjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgWyDCoE9LIMKgXSBG
aW5pc2hlZCBQZXJtaXQgVXNlciBTZXNzaW9ucy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0gU3RhcnRlZCBHZXR0eSBvbiB0
dHkxLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgWyDCoE9LIMKgXSBTdGFydGVkIFNlcmlhbCBHZXR0eSBvbiBodmMwLjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgWyDCoE9LIMKgXSBTdGFy
dGVkIFNlcmlhbCBHZXR0eSBvbiB0dHlTMC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0gUmVhY2hlZCB0YXJnZXQgTG9naW4g
UHJvbXB0cy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIMKgIMKgU3RhcnRpbmcgWGVuLXdhdGNoZG9nIC0gcnVuIHhlbiB3YXRj
aGRvZyBkYWVtb24uLi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0gU3RhcnRlZCBELUJ1cyBTeXN0ZW0gTWVzc2FnZSBCdXMu
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBb
IMKgT0sgwqBdIFN0YXJ0ZWQgWGVuLXdhdGNoZG9nIC0gcnVuIHhlbiB3YXRjaGRvZyBkYWVtb24u
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBb
IMKgT0sgwqBdIEZpbmlzaGVkIE9wZW5TU0ggS2V5IEdlbmVyYXRpb24uPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbIMKgT0sgwqBdIFN0YXJ0
ZWQgVXNlciBMb2dpbiBNYW5hZ2VtZW50Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgWyDCoE9LIMKgXSBSZWFjaGVkIHRhcmdldCBNdWx0aS1V
c2VyIFN5c3RlbS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgIMKgIMKgU3RhcnRpbmcgUmVjb3JkIFJ1bmxldmVsIENoYW5nZSBp
biBVVE1QLi4uPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyBbIMKgT0sgwqBdIEZpbmlzaGVkIFJlY29yZCBSdW5sZXZlbCBDaGFuZ2UgaW4gVVRN
UC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IGZiY29uOiBUYWtpbmcgb3ZlciBjb25zb2xlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgUG9reSAoWW9jdG8gUHJvamVjdCBSZWZlcmVuY2UgRGlz
dHJvKSA0LjAuNCByYXNwYmVycnlwaTQtNjQgaHZjMDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJhc3BiZXJyeXBpNC02NCBsb2dpbjogcm9vdDxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgcm9v
dEByYXNwYmVycnlwaTQtNjQ6fiM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4jPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBp
NC02NDp+IyBzeXN0ZW1jdGwgc3RhdHVzIHhlbnN0b3JlZC5zZXJ2aWNlPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB4IHhlbnN0b3JlZC5zZXJ2
aWNlIC0gVGhlIFhlbiB4ZW5zdG9yZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBMb2FkZWQ6IGxvYWRlZCAoL2xpYi9zeXN0ZW1k
L3N5c3RlbS94ZW5zdG9yZWQuc2VydmljZTsgZW5hYmxlZDsgdmVuZG9yIHByZXNldDogZW5hYmxl
ZCk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgQWN0aXZlOiBmYWlsZWQgKFJlc3VsdDogZXhpdC1jb2RlKSBzaW5jZSBUaHUgMjAy
Mi0xMi0wMSAwNjoxMjowNSBVVEM7IDI2cyBhZ288YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIFByb2Nlc3M6IDE5NSBFeGVjU3RhcnRQ
cmU9L2Jpbi9ncmVwIC1xIGNvbnRyb2xfZCAvcHJvYy94ZW4vY2FwYWJpbGl0aWVzIChjb2RlPWV4
aXRlZCwgc3RhdHVzPTEvRkFJTFVSRSk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBEZWMgMDEgMDY6MTI6MDQgcmFzcGJlcnJ5cGk0LTY0IHN5c3Rl
bWRbMV06IFN0YXJ0aW5nIFRoZSBYZW4geGVuc3RvcmUuLi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IERlYyAwMSAwNjoxMjowNSByYXNwYmVy
cnlwaTQtNjQgc3lzdGVtZFsxXTogeGVuc3RvcmVkLnNlcnZpY2U6IENvbnRyb2wgcHJvLi4uVVJF
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBE
ZWMgMDEgMDY6MTI6MDUgcmFzcGJlcnJ5cGk0LTY0IHN5c3RlbWRbMV06IHhlbnN0b3JlZC5zZXJ2
aWNlOiBGYWlsZWQgd2l0aC4uLmUmIzM5Oy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IERlYyAwMSAwNjoxMjowNSByYXNwYmVycnlwaTQtNjQg
c3lzdGVtZFsxXTogRmFpbGVkIHRvIHN0YXJ0IFRoZSBYZW4geGVuc3RvcmUuPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBIaW50OiBTb21lIGxp
bmVzIHdlcmUgZWxsaXBzaXplZCwgdXNlIC1sIHRvIHNob3cgaW4gZnVsbC48YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5
cGk0LTY0On4jwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyBBbnkgaW5wdXQgb24gdGhlc2U/PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVGhhbmtzICZhbXA7IFJlZ2FyZHMsPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIFdl
ZCwgTm92IDIzLCAyMDIyIGF0IDU6NDEgQU0gU3RlZmFubyBTdGFiZWxsaW5pICZsdDs8YSBocmVm
PSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNzdGFiZWxs
aW5pQGtlcm5lbC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBIaSBWaXB1bCw8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSSBj
YW5ub3Qgc3BvdCBhbnkgaXNzdWUgaW4gdGhlIGNvbmZpZ3VyYXRpb24sIGluIHBhcnRpY3VhbCB5
b3UgaGF2ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgQ09ORklHX1hFTl9GQkRFVl9GUk9OVEVORD15PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHdoaWNoIGlz
IHdoYXQgeW91IG5lZWQuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoFRoZSBvbmx5IHRoaW5nIEkgY2FuIHN1Z2dlc3QgaXMgdG8g
YWRkIHByaW50a3MgdG8gdGhlIExpbnV4IGZyb250ZW5kPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZHJpdmVyICh0aGUgb25l
IHJ1bm5pbmcgaW4gdGhlIGRvbVUpIHdoaWNoIGlzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZHJpdmVycy92aWRlby9mYmRl
di94ZW4tZmJmcm9udC5jIGFuZCBwcmludGZzIHRvIHRoZSBRRU1VIGJhY2tlbmQ8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAo
cnVubmluZyBpbiBEb20wKSB3aGljaCBpcyBody9kaXNwbGF5L3hlbmZiLmMgdG8gZmlndXJlIG91
dCB3aGF0IGlzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgZ29pbmcgb24uPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIHNl
dHVwIFBWIG5ldHdvcmsgd2l0aCB0aGUgZG9tVSwgc3VjaCBhczo8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqAgdmlmPVsmIzM5
OyYjMzk7XTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqBhbmQgdGhlbiBydW4geDExIGFuZCBhIHgxMXZuYyBzZXJ2ZXIgaW4geW91
ciBkb21VLiBZb3Ugc2hvdWxkIGJlIGFibGUgdG88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBjb25uZWN0IHRvIGl0IHVzaW5n
IHZuY3ZpZXdlciBhdCB0aGUgbmV0d29yayBJUCBvZiB5b3VyIGRvbVUuPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoEJhc2ljYWxs
eSB5b3UgYXJlIHNraXBwaW5nIHRoZSBwcm9ibGVtIGJlY2F1c2UgaW5zdGVhZCBvZiB1c2luZyB0
aGUgUFY8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqBmcmFtZWJ1ZmZlciBwcm90b2NvbCwgeW91IGp1c3QgdXNlIFZOQyBvdmVy
IHRoZSBuZXR3b3JrIHdpdGggdGhlIGRvbVUuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFN0ZWZhbm88YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oE9uIFR1ZSwgMjIgTm92IDIwMjIsIFZpcHVsIFN1bmVqYSB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEhp
IFN0ZWZhbm8sPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFua3MgZm9yIHRoZcKgc3VwcG9ydCE8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyBMb29rcyBsaWtlIEkgaGF2ZSB0cmllZCBhbGwgdGhlIGNvbWJpbmF0
aW9uc8KgJmFtcDsgcG9zc2libGUgd2F5cyB0byBnZXQgZGlzcGxheSB1cCBidXQgZmFpbGVkLiBJ
cyB0aGVyZTxicj4NCiZndDvCoCDCoCDCoCDCoGFueTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoGRvY3VtZW50IG9yPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgcGRmIGZvcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHBvcnRpbmcgeGVuIG9uPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyByYXNwYmVycnlwaTQuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJIGNvdWxkIGZpbmQgbG90JiMzOTtzIG9mIGxp
bmtzIHRlbGxpbmcgdGhlIHNhbWUgYnV0IGNvdWxkbiYjMzk7dCBzZWUgYW55IG9mZmljaWFsIHVz
ZXIgZ3VpZGUgb3IgZG9jdW1lbnQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqBmcm9tIHRoZTxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHhlbjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGNvbW11bml0eSBvbjxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHRoZSBzYW1lLiBJ
Zjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgdGhlcmUgaXMgc29tZXRoaW5nIHRvIHJlZmVywqA8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IHRvIHBsZWFzZSBzaGFyZSB3aXRoIG1lLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSSBhbSBhdHRhY2hpbmcgdGhl
IGtlcm5lbCBjb25maWd1cmF0aW9uIGZpbGUgYWxzbywganVzdCB0YWtlIGEgbG9vayBpZiBpIGhh
dmUgbWlzc2VkIGFueXRoaW5nLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgQW55IG90aGVyIHN1Z2dlc3Rpb25zIG9y
IGlucHV0IGZyb20geW91ciBlbmQgY291bGQgYmUgcmVhbGx5IGhlbHBmdWw/PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgUmVnYXJkcyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFZpcHVsIEt1bWFyPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgT24gRnJpLCBOb3YgMTEsIDIwMjIgYXQgNjo0MCBBTSBTdGVmYW5v
IFN0YWJlbGxpbmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwub3JnIiB0
YXJnZXQ9Il9ibGFuayI+c3N0YWJlbGxpbmlAa2VybmVsLm9yZzwvYT4mZ3Q7IHdyb3RlOjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoEhpIFZpcHVsLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqBTb3JyeSBmb3IgdGhlIGxhdGUgcmVwbHkuIEZyb20gdGhlIGVhcmxpZXIgbG9ncyB0
aGF0IHlvdSBzZW50LCBpdCBsb29rczxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGxpa2UgZXZlcnl0
aGluZyBzaG91bGQgYmUgd29ya2luZyBjb3JyZWN0bHkuIFNwZWNpZmljYWxseTo8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCB2ZmIgPSAmcXVvdDsmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgMSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAgMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoMKgwqAgwqAgwqAgwqBmcm9udGVuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMS9kZXZp
Y2UvdmZiLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgZnJvbnRl
bmQtaWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCDC
oG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKg
IMKgc3RhdGUgPSAmcXVvdDs0JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDC
oCDCoHZuYyA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKg
IMKgdm5jbGlzdGVuID0gJnF1b3Q7MTI3LjAuMC4xJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgwqDCoCDCoCDCoCDCoHZuY2Rpc3BsYXkgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgwqDCoCDCoCDCoCDCoHZuY3VudXNlZCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgc2RsID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAgwqBvcGVuZ2wgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCDCoGZlYXR1cmUtcmVzaXplID0gJnF1b3Q7MSZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAgwqBob3RwbHVnLXN0YXR1cyA9ICZx
dW90O2Nvbm5lY3RlZCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAgwqBy
ZXF1ZXN0LXVwZGF0ZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgc3RhdGUgJnF1b3Q7NCZxdW90OyBtZWFucyAmcXVvdDtjb25uZWN0ZWQmcXVvdDsu
IFNvIEkgd291bGQgZXhwZWN0IHRoYXQgeW91IHNob3VsZCBiZSBhYmxlPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgdG8gY29ubmVjdCB0byB0aGUgdm5jIHNlcnZlciB1c2luZyB2bmN2aWV3ZXIuIFlv
dSBtaWdodCBub3Qgc2VlIGFueXRoaW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgKGJsYWNrIHNj
cmVlbikgYnV0IHlvdSBzaG91bGQgZGVmaW5pdGVseSBiZSBhYmxlIHRvIGNvbm5lY3QuPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoEkgd291bGRuJiMzOTt0IHRyeSB0byBsYXVu
Y2ggeDExIGluIHRoZSBndWVzdCBqdXN0IHlldC4gZmJjb24gaW4gTGludXggaXM8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqBlbm91Z2ggdG8gcmVuZGVyIHNvbWV0aGluZyBvbiB0aGUgc2NyZWVuLiBZ
b3Ugc2hvdWxkIGJlIGFibGUgdG8gc2VlIHRoZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoExpbnV4
IHRleHQtYmFzZWQgY29uc29sZSByZW5kZXJlZCBncmFwaGljYWxseSwgY29ubmVjdGluZyB0byBp
dCB2aWEgdm5jLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBTb3JyeSBmb3Ig
dGhlIGJhc2ljIHF1ZXN0aW9uLCBidXQgaGF2ZSB5b3UgdHJpZWQgYWxsIHRoZSBmb2xsb3dpbmc/
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHZuY3ZpZXdlciA8YSBocmVmPSJo
dHRwOi8vMTI3LjAuMC4xOjAiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjEyNy4w
LjAuMTowPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHZuY3ZpZXdlciA8YSBocmVmPSJodHRw
Oi8vMTI3LjAuMC4xOjEiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjEyNy4wLjAu
MToxPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHZuY3ZpZXdlciA8YSBocmVmPSJodHRwOi8v
MTI3LjAuMC4xOjIiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjEyNy4wLjAuMToy
PC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHZuY3ZpZXdlciA8YSBocmVmPSJodHRwOi8vMTI3
LjAuMC4xOjU5MDAiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjEyNy4wLjAuMTo1
OTAwPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHZuY3ZpZXdlciA8YSBocmVmPSJodHRwOi8v
MTI3LjAuMC4xOjU5MDEiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjEyNy4wLjAu
MTo1OTAxPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHZuY3ZpZXdlciA8YSBocmVmPSJodHRw
Oi8vMTI3LjAuMC4xOjU5MDIiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjEyNy4w
LjAuMTo1OTAyPC9hPjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBHaXZlbiB0
aGF0IGZyb20gdGhlIHhlbnN0b3JlLWxzIGxvZ3MgZXZlcnl0aGluZyBzZWVtcyB0byB3b3JrIGNv
cnJlY3RseTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoEkgYW0gbm90IHN1cmUgd2hhdCBlbHNlIHRv
IHN1Z2dlc3QuIFlvdSBtaWdodCBoYXZlIHRvIGFkZCBwcmludGYgdG8gUUVNVTxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoHVpL3ZuYy5jIGFuZCBody9kaXNwbGF5L3hlbmZiLmMgdG8gc2VlIHdoYXQg
aXMgZ29pbmcgd3JvbmcuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoENoZWVy
cyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgU3RlZmFubzxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgT24gTW9uLCA3IE5vdiAyMDIy
LCBWaXB1bCBTdW5lamEgd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBIaSBTdGVm
YW5vLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVGhhbmtzITxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFueSBpbnB1dCBmdXJ0aGVy
IG9uICZxdW90O3hlbnN0b3JlLWxzJnF1b3Q7IGxvZ3M/PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSSBhbSB0cnlpbmcgdG8gcnVuIHRoZSB4
MHZuY3NlcnZlciAmYW1wOyB4MTF2bmMgc2VydmVyIG1hbnVhbGx5IG9uIGd1ZXN0PGJyPg0KJmd0
O8KgIMKgIMKgIMKgbWFjaGluZSh4ZW5fZ3Vlc3RfaW1hZ2VfbWluaW1hbCk8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBpbWFnZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoGJ1dCBpdCYjMzk7czxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGZhaWxpbmc8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqB3aXRoIHRoZSBiZWxvdzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgZXJyb3IuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgcm9vdEByYXNwYmVycnlwaTQtNjQ6L3Vzci9iaW4jIHgwdm5jc2VydmVyPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB4MHZuY3NlcnZlcjogdW5hYmxlIHRvIG9wZW4gZGlzcGxh
eSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5
cGk0LTY0Oi91c3IvYmluIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVy
cnlwaTQtNjQ6L3Vzci9iaW4jIHgxMXZuYzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCM8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCoqIMKgV0FSTklORyDCoCoqIMKgV0FSTklORyDCoCoqIMKg
V0FSTklORyDCoCoqIMKgV0FSTklORyDCoCoqIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqBZT1UgQVJFIFJVTk5JTkcgWDExVk5DIFdJVEhPVVQg
QSBQQVNTV09SRCEhIMKgIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNA
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyAjQCDCoFRoaXMgbWVhbnMgYW55b25lIHdpdGggbmV0d29yayBhY2Nlc3MgdG8gdGhpcyBj
b21wdXRlciDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBtYXkgYmUgYWJs
ZSB0byB2aWV3IGFuZCBjb250cm9sIHlvdXIgZGVza3RvcC4gwqAgwqAgwqAgwqAgwqAgwqBAIzxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAICZndDsmZ3Q7Jmd0OyBJZiB5b3Ug
ZGlkIG5vdCBtZWFuIHRvIGRvIHRoaXMgUHJlc3MgQ1RSTC1DIG5vdyEhICZsdDsmbHQ7Jmx0OyBA
Izxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgWW91IGNhbiBjcmVhdGUgYW4geDExdm5jIHBhc3N3
b3JkIGZpbGUgYnkgcnVubmluZzogwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyAjQCDCoCDCoCDCoCB4MTF2bmMgLXN0b3JlcGFzc3dkIHBhc3N3b3JkIC9wYXRo
L3RvL3Bhc3NmaWxlIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKg
b3IgwqAgeDExdm5jIC1zdG9yZXBhc3N3ZCAvcGF0aC90by9wYXNzZmlsZSDCoCDCoCDCoCDCoCDC
oCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBvciDCoCB4MTF2bmMg
LXN0b3JlcGFzc3dkIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAodGhlIGxhc3Qg
b25lIHdpbGwgdXNlIH4vLnZuYy9wYXNzd2QpIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
QCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoGFuZCB0aGVuIHN0YXJ0
aW5nIHgxMXZuYyB2aWE6IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
QCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoHgxMXZuYyAt
cmZiYXV0aCAvcGF0aC90by9wYXNzZmlsZSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEAj
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBhbiBleGlzdGluZyB+Ly52
bmMvcGFzc3dkIGZpbGUgZnJvbSBhbm90aGVyIFZOQyDCoCDCoCDCoCDCoCDCoEAjPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoGFwcGxpY2F0aW9uIHdpbGwgd29yayBmaW5lIHRvby4g
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgWW91IGNhbiBhbHNvIHVzZSB0aGUgLXBhc3N3ZGZpbGUg
b3IgLXBhc3N3ZCBvcHRpb25zLiDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
I0AgwqAobm90ZSAtcGFzc3dkIGlzIHVuc2FmZSBpZiBsb2NhbCB1c2VycyBhcmUgbm90IHRydXN0
ZWQpIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoE1ha2Ugc3Vy
ZSBhbnkgLXJmYmF1dGggYW5kIC1wYXNzd2RmaWxlIHBhc3N3b3JkIGZpbGVzIMKgIMKgQCM8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgY2Fubm90IGJlIHJlYWQgYnkgdW50cnVzdGVk
IHVzZXJzLiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgVXNlIHgxMXZuYyAtdXNlcHcgdG8gYXV0b21hdGlj
YWxseSB1c2UgeW91ciDCoCDCoCDCoCDCoCDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyAjQCDCoH4vLnZuYy9wYXNzd2Qgb3Igfi8udm5jL3Bhc3N3ZGZpbGUgcGFzc3dvcmQg
ZmlsZXMuIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoChhbmQg
cHJvbXB0IHlvdSB0byBjcmVhdGUgfi8udm5jL3Bhc3N3ZCBpZiBuZWl0aGVyIMKgIMKgIMKgIEAj
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoGZpbGUgZXhpc3RzLikgwqBVbmRlciAt
dXNlcHcsIHgxMXZuYyB3aWxsIGV4aXQgaWYgaXQgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgI0AgwqBjYW5ub3QgZmluZCBhIHBhc3N3b3JkIHRvIHVzZS4gwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgI0AgwqBFdmVuIHdpdGggYSBwYXNzd29yZCwgdGhlIHN1YnNlcXVl
bnQgVk5DIHRyYWZmaWMgaXMgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
I0AgwqBzZW50IGluIHRoZSBjbGVhci7CoCBDb25zaWRlciB0dW5uZWxsaW5nIHZpYSBzc2goMSk6
IMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoDxh
IGhyZWY9Imh0dHA6Ly93d3cua2FybHJ1bmdlLmNvbS94MTF2bmMvI3R1bm5lbGxpbmciIHJlbD0i
bm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cua2FybHJ1bmdlLmNvbS94MTF2
bmMvI3R1bm5lbGxpbmc8L2E+IMKgIMKgIMKgIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyAjQCDCoE9yIHVzaW5nIHRoZSB4MTF2bmMgU1NMIG9wdGlvbnM6IC1z
c2wgYW5kIC1zdHVubmVsIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAj
QCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgI0AgwqBQbGVhc2UgUmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBpbmZvIGFi
b3V0IMKgIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgcGFzc3dv
cmRzLCBzZWN1cml0eSwgYW5kIGVuY3J5cHRpb24uIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqA8YSBocmVm
PSJodHRwOi8vd3d3LmthcmxydW5nZS5jb20veDExdm5jL2ZhcS5odG1sI2ZhcS1wYXNzd2QiIHJl
bD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly93d3cua2FybHJ1bmdlLmNvbS94
MTF2bmMvZmFxLmh0bWwjZmFxLXBhc3N3ZDwvYT4gwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgVG8gZGlzYWJsZSB0aGlzIHdhcm5pbmcgdXNlIHRoZSAtbm9w
dyBvcHRpb24sIG9yIHB1dCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0Ag
wqAmIzM5O25vcHcmIzM5OyBvbiBhIGxpbmUgaW4geW91ciB+Ly54MTF2bmNyYyBmaWxlLiDCoCDC
oCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQxIHgxMXZuYyB2ZXJzaW9uOiAwLjkuMTYgbGFz
dG1vZDogMjAxOS0wMS0wNSDCoHBpZDogNDI0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAw
OS8wMy8yMDE4IDEyOjU4OjQxIFhPcGVuRGlzcGxheSgmcXVvdDsmcXVvdDspIGZhaWxlZC48YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAzLzIwMTggMTI6NTg6NDEgVHJ5aW5nIGFnYWlu
IHdpdGggWEFVVEhMT0NBTEhPU1ROQU1FPWxvY2FsaG9zdCAuLi48YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IDA5LzAzLzIwMTggMTI6NTg6NDE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IDA5LzAzLzIwMTggMTI6NTg6NDEgKioqIFhPcGVuRGlzcGxheSBmYWlsZWQuIE5vIC1kaXNwbGF5
IG9yIERJU1BMQVkuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4
OjQxICoqKiBUcnlpbmcgJnF1b3Q7OjAmcXVvdDsgaW4gNCBzZWNvbmRzLsKgIFByZXNzIEN0cmwt
QyB0byBhYm9ydC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAzLzIwMTggMTI6NTg6
NDEgKioqIDEgMiAzIDQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAzLzIwMTggMTI6
NTg6NDUgWE9wZW5EaXNwbGF5KCZxdW90OzowJnF1b3Q7KSBmYWlsZWQuPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQ1IFRyeWluZyBhZ2FpbiB3aXRoIFhBVVRI
TE9DQUxIT1NUTkFNRT1sb2NhbGhvc3QgLi4uPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAw
OS8wMy8yMDE4IDEyOjU4OjQ1IFhPcGVuRGlzcGxheSgmcXVvdDs6MCZxdW90OykgZmFpbGVkLjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0NSBUcnlpbmcgYWdh
aW4gd2l0aCB1bnNldCBYQVVUSExPQ0FMSE9TVE5BTUUgLi4uPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQ1PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0NSAqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKio8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IDA5LzAzLzIwMTggMTI6NTg6NDUgKioqIFhPcGVuRGlzcGxheSBmYWlsZWQgKDowKTxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICoqKiB4MTF2
bmMgd2FzIHVuYWJsZSB0byBvcGVuIHRoZSBYIERJU1BMQVk6ICZxdW90OzowJnF1b3Q7LCBpdCBj
YW5ub3QgY29udGludWUuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAqKiogVGhlcmUgbWF5
IGJlICZxdW90O1hsaWI6JnF1b3Q7IGVycm9yIG1lc3NhZ2VzIGFib3ZlIHdpdGggZGV0YWlscyBh
Ym91dCB0aGUgZmFpbHVyZS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyBTb21lIHRpcHMgYW5kIGd1aWRlbGluZXM6PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgKiogQW4gWCBzZXJ2ZXIg
KHRoZSBvbmUgeW91IHdpc2ggdG8gdmlldykgbXVzdCBiZSBydW5uaW5nIGJlZm9yZSB4MTF2bmMg
aXM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgc3RhcnRlZDogeDExdm5jIGRvZXMg
bm90IHN0YXJ0IHRoZSBYIHNlcnZlci4gwqAoaG93ZXZlciwgc2VlIHRoZSAtY3JlYXRlPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoG9wdGlvbiBpZiB0aGF0IGlzIHdoYXQgeW91IHJl
YWxseSB3YW50KS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyAqKiBZb3UgbXVzdCB1c2UgLWRpc3BsYXkgJmx0O2Rpc3AmZ3Q7LCAtT1ItIHNl
dCBhbmQgZXhwb3J0IHlvdXIgJERJU1BMQVk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gcmVmZXIgdG8gdGhlIGRpc3BsYXkgb2YgdGhlIGRl
c2lyZWQgWCBzZXJ2ZXIuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoC0gVXN1YWxseSB0
aGUgZGlzcGxheSBpcyBzaW1wbHkgJnF1b3Q7OjAmcXVvdDsgKGluIGZhY3QgeDExdm5jIHVzZXMg
dGhpcyBpZiB5b3UgZm9yZ2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoHRvIHNw
ZWNpZnkgaXQpLCBidXQgaW4gc29tZSBtdWx0aS11c2VyIHNpdHVhdGlvbnMgaXQgY291bGQgYmUg
JnF1b3Q7OjEmcXVvdDssICZxdW90OzoyJnF1b3Q7LDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqBvciBldmVuICZxdW90OzoxMzcmcXVvdDsuwqAgQXNrIHlvdXIgYWRtaW5pc3RyYXRv
ciBvciBhIGd1cnUgaWYgeW91IGFyZSBoYXZpbmc8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgZGlmZmljdWx0eSBkZXRlcm1pbmluZyB3aGF0IHlvdXIgWCBESVNQTEFZIGlzLjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICoqIE5l
eHQsIHlvdSBuZWVkIHRvIGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucyAoWGF1dGhvcml0eSk8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdG8gY29ubmVjdCB0byB0aGUgWCBESVNQ
TEFZLiDCoCBIZXJlIGFyZSBzb21lIFRpcHM6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAtIE9mdGVuLCB5b3UganVzdCBuZWVkIHRvIHJ1
biB4MTF2bmMgYXMgdGhlIHVzZXIgbG9nZ2VkIGludG8gdGhlIFggc2Vzc2lvbi48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgU28gbWFrZSBzdXJlIHRvIGJlIHRoYXQgdXNlciB3aGVu
IHlvdSB0eXBlIHgxMXZuYy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgLSBCZWluZyBy
b290IGlzIHVzdWFsbHkgbm90IGVub3VnaCBiZWNhdXNlIHRoZSBpbmNvcnJlY3QgTUlULU1BR0lD
LUNPT0tJRTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBmaWxlIG1heSBiZSBhY2Nl
c3NlZC7CoCBUaGUgY29va2llIGZpbGUgY29udGFpbnMgdGhlIHNlY3JldCBrZXkgdGhhdDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBhbGxvd3MgeDExdm5jIHRvIGNvbm5lY3QgdG8g
dGhlIGRlc2lyZWQgWCBESVNQTEFZLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAtIFlv
dSBjYW4gZXhwbGljaXRseSBpbmRpY2F0ZSB3aGljaCBNSVQtTUFHSUMtQ09PS0lFIGZpbGUgc2hv
dWxkIGJlIHVzZWQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgYnkgdGhlIC1hdXRo
IG9wdGlvbiwgZS5nLjo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgeDEx
dm5jIC1hdXRoIC9ob21lL3NvbWV1c2VyLy5YYXV0aG9yaXR5IC1kaXNwbGF5IDowPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHgxMXZuYyAtYXV0aCAvdG1wLy5nZG16bmRW
bFIgLWRpc3BsYXkgOjA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgeW91IG11c3Qg
aGF2ZSByZWFkIHBlcm1pc3Npb24gZm9yIHRoZSBhdXRoIGZpbGUuPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoFNlZSBhbHNvICYjMzk7LWF1dGggZ3Vlc3MmIzM5OyBhbmQgJiMzOTst
ZmluZGF1dGgmIzM5OyBkaXNjdXNzZWQgYmVsb3cuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgKiogSWYgTk8gT05FIGlzIGxvZ2dlZCBpbnRv
IGFuIFggc2Vzc2lvbiB5ZXQsIGJ1dCB0aGVyZSBpcyBhIGdyZWV0ZXIgbG9naW48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgcHJvZ3JhbSBsaWtlICZxdW90O2dkbSZxdW90OywgJnF1
b3Q7a2RtJnF1b3Q7LCAmcXVvdDt4ZG0mcXVvdDssIG9yICZxdW90O2R0bG9naW4mcXVvdDsgcnVu
bmluZywgeW91IHdpbGwgbmVlZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqB0byBm
aW5kIGFuZCB1c2UgdGhlIHJhdyBkaXNwbGF5IG1hbmFnZXIgTUlULU1BR0lDLUNPT0tJRSBmaWxl
Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBTb21lIGV4YW1wbGVzIGZvciB2YXJp
b3VzIGRpc3BsYXkgbWFuYWdlcnM6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBnZG06IMKgIMKgIC1hdXRoIC92YXIvZ2RtLzow
LlhhdXRoPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoCDCoCDCoCDCoCAt
YXV0aCAvdmFyL2xpYi9nZG0vOjAuWGF1dGg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKga2RtOiDCoCDCoCAtYXV0aCAvdmFyL2xpYi9rZG0vQTowLWNyV2s3Mjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgLWF1dGggL3Zhci9ydW4veGF1
dGgvQTowLWNyV2s3Mjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB4ZG06IMKg
IMKgIC1hdXRoIC92YXIvbGliL3hkbS9hdXRoZGlyL2F1dGhmaWxlcy9BOjAtWFF2YUprPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGR0bG9naW46IC1hdXRoIC92YXIvZHQvQTow
LVVnYWFYYTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgU29tZXRpbWVzIHRoZSBjb21tYW5kICZxdW90O3BzIHd3d3dhdXggfCBncmVw
IGF1dGgmcXVvdDsgY2FuIHJldmVhbCB0aGUgZmlsZSBsb2NhdGlvbi48YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoFN0YXJ0aW5nIHdp
dGggeDExdm5jIDAuOS45IHlvdSBjYW4gaGF2ZSBpdCB0cnkgdG8gZ3Vlc3MgYnkgdXNpbmc6PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgLWF1dGggZ3Vlc3M8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoChzZWUgYWxzbyB0aGUgeDExdm5jIC1m
aW5kYXV0aCBvcHRpb24uKTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgT25seSByb290IHdpbGwgaGF2ZSByZWFkIHBlcm1pc3Npb24g
Zm9yIHRoZSBmaWxlLCBhbmQgc28geDExdm5jIG11c3QgYmUgcnVuPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoGFzIHJvb3QgKG9yIGNvcHkgaXQpLsKgIFRoZSByYW5kb20gY2hhcmFj
dGVycyBpbiB0aGUgZmlsZW5hbWVzIHdpbGwgb2YgY291cnNlPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoGNoYW5nZSBhbmQgdGhlIGRpcmVjdG9yeSB0aGUgY29va2llIGZpbGUgcmVz
aWRlcyBpbiBpcyBzeXN0ZW0gZGVwZW5kZW50Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFNlZSBhbHNvOiA8YSBocmVmPSJodHRwOi8vd3d3
LmthcmxydW5nZS5jb20veDExdm5jL2ZhcS5odG1sIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0i
X2JsYW5rIj5odHRwOi8vd3d3LmthcmxydW5nZS5jb20veDExdm5jL2ZhcS5odG1sPC9hPjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFJlZ2Fy
ZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIFRodSwgTm92IDMs
IDIwMjIgYXQgMTA6MjcgUE0gVmlwdWwgU3VuZWphICZsdDs8YSBocmVmPSJtYWlsdG86dnN1bmVq
YTYzQGdtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnZzdW5lamE2M0BnbWFpbC5jb208L2E+Jmd0
OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBIaSBTdGVmYW5v
LDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVGhhbmtzITxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEkgdXNlZCB4ZW4tZ3Vlc3QtaW1h
Z2UtbWluaW1hbChzaW1wbGUgY29uc29sZSBiYXNlZCBpbWFnZSkgYXMgYSBndWVzdCB3aXRoIGZi
Y29uICZhbXA7IGZiZGV2PGJyPg0KJmd0O8KgIMKgIMKgIMKgZW5hYmxlZCBpbjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGtlcm5lbDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGNvbmZpZ3VyYXRpb25zIGJ1
dDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHN0aWxsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyB0aGUgc2FtZSBlcnJvciBjYW4mIzM5O3Qgb3BlbiB0aGUgZGlzcGxheS48YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IGJlbG93IGFyZSB0aGUgb3V0Y29tZSBvZiAmcXVvdDt4ZW5zdG9yZS1s
cyZxdW90Ozo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDp+L2d1ZXN0MSMgeGVuc3RvcmUtbHM8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHRvb2wgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgeGVuc3RvcmVkID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyBsb2NhbCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqBkb21haW4gPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgY29udHJv
bCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgZmVhdHVy
ZS1wb3dlcm9mZiA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIGZlYXR1cmUtcmVib290ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqBkb21pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgbmFtZSA9ICZxdW90O0RvbWFpbi0wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoGRldmljZS1tb2RlbCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqBiYWNrZW5kcyA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAgY29uc29sZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgdmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCBxbmljID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7cnVubmluZyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqBiYWNrZW5kcyA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgY29uc29sZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBxbmljID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7cnVubmluZyZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBiYWNrZW5kID0gJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB2YmQgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgMSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgNTE3MTIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWlu
LzEvZGV2aWNlL3ZiZC81MTcxMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAgwqBwYXJhbXMgPSAmcXVvdDsvaG9tZS9yb290L2d1ZXN0Mi94ZW4tZ3Vlc3QtaW1hZ2Ut
bWluaW1hbC1yYXNwYmVycnlwaTQtNjQuZXh0MyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgwqBzY3JpcHQgPSAmcXVvdDsvZXRjL3hlbi9zY3JpcHRzL2Jsb2NrJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250ZW5kLWlkID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBvbmxp
bmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDC
oHJlbW92YWJsZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIMKgYm9vdGFibGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAgwqBkZXYgPSAmcXVvdDt4dmRhJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHR5cGUgPSAmcXVvdDtwaHkmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgbW9kZSA9ICZxdW90O3cmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZGV2aWNlLXR5cGUgPSAmcXVvdDtkaXNr
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGRpc2NhcmQtZW5h
YmxlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
wqBmZWF0dXJlLW1heC1pbmRpcmVjdC1zZWdtZW50cyA9ICZxdW90OzI1NiZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBtdWx0aS1xdWV1ZS1tYXgtcXVldWVzID0g
JnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBtYXgt
cmluZy1wYWdlLW9yZGVyID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgwqBub2RlID0gJnF1b3Q7L2Rldi9sb29wMCZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBwaHlzaWNhbC1kZXZpY2UgPSAmcXVvdDs3OjAmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcGh5c2ljYWwtZGV2aWNl
LXBhdGggPSAmcXVvdDsvZGV2L2xvb3AwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCDCoGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtZmx1c2gtY2FjaGUgPSAm
cXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGRpc2Nh
cmQtZ3JhbnVsYXJpdHkgPSAmcXVvdDs0MDk2JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoGRpc2NhcmQtYWxpZ25tZW50ID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBkaXNjYXJkLXNlY3VyZSA9ICZxdW90OzAm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1kaXNj
YXJkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
wqBmZWF0dXJlLWJhcnJpZXIgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtcGVyc2lzdGVudCA9ICZxdW90OzEmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgc2VjdG9ycyA9ICZxdW90OzE3OTQwNDgm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgaW5mbyA9ICZxdW90
OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgc2VjdG9yLXNp
emUgPSAmcXVvdDs1MTImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IMKgcGh5c2ljYWwtc2VjdG9yLXNpemUgPSAmcXVvdDs1MTImcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIHZmYiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8xL2RldmljZS92ZmIv
MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmcm9udGVuZC1p
ZCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKg
b25saW5lID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqAgwqBzdGF0ZSA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIMKgdm5jID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqB2bmNsaXN0ZW4gPSAmcXVvdDsxMjcuMC4wLjEmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdm5jZGlzcGxheSA9ICZxdW90OzAmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdm5jdW51c2VkID0gJnF1b3Q7MSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBzZGwgPSAmcXVvdDsw
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoG9wZW5nbCA9ICZx
dW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVy
ZS1yZXNpemUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCDCoGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHJlcXVlc3QtdXBkYXRlID0gJnF1b3Q7MSZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2Rv
bWFpbi8xL2RldmljZS92a2JkLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIMKgZnJvbnRlbmQtaWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCDCoG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgc3RhdGUgPSAmcXVvdDs0JnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtYWJzLXBvaW50ZXIgPSAmcXVvdDsx
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtcmF3
LXBvaW50ZXIgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCDCoGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBjb25zb2xlID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoDEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvY29u
c29sZSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmcm9udGVu
ZC1pZCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IMKgb25saW5lID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAgwqBzdGF0ZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgIMKgcHJvdG9jb2wgPSAmcXVvdDt2dDEwMCZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgdmlmID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoDEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZpZi8w
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250ZW5kLWlk
ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBv
bmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAgwqBzY3JpcHQgPSAmcXVvdDsvZXRjL3hlbi9zY3JpcHRzL3ZpZi1icmlkZ2UmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgbWFjID0gJnF1b3Q7ZTQ6NWY6
MDE6Y2Q6N2I6ZGQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKg
YnJpZGdlID0gJnF1b3Q7eGVuYnIwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoCDCoGhhbmRsZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIMKgdHlwZSA9ICZxdW90O3ZpZiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAgwqBob3RwbHVnLXN0YXR1cyA9ICZxdW90O2Nvbm5lY3RlZCZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLXNnID0gJnF1
b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJl
LWdzby10Y3B2NCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIMKgZmVhdHVyZS1nc28tdGNwdjYgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtaXB2Ni1jc3VtLW9mZmxvYWQgPSAmcXVv
dDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUt
cngtY29weSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgZmVhdHVyZS14ZHAtaGVhZHJvb20gPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtcngtZmxpcCA9ICZxdW90OzAmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1tdWx0aWNhc3Qt
Y29udHJvbCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgZmVhdHVyZS1keW5hbWljLW11bHRpY2FzdC1jb250cm9sID0gJnF1b3Q7MSZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLXNwbGl0LWV2ZW50
LWNoYW5uZWxzID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAgwqBtdWx0aS1xdWV1ZS1tYXgtcXVldWVzID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLWN0cmwtcmluZyA9ICZxdW90OzEm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIDEgPSAmcXVvdDsmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdm0gPSAmcXVvdDsvdm0vZDgxZWM1YTktNWJm
OS00ZjJiLTg5ZTgtMGY2MGQ2ZGE5NDhmJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoG5hbWUgPSAmcXVvdDtndWVzdDImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgY3B1ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oGF2YWlsYWJpbGl0eSA9ICZxdW90O29ubGluZSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgMSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqBhdmFpbGFiaWxpdHkgPSAmcXVvdDtvbmxpbmUmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgbWVtb3J5ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCBzdGF0aWMtbWF4ID0gJnF1b3Q7MjA5NzE1MiZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdGFyZ2V0ID0gJnF1b3Q7MjA5NzE1MiZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmlkZW9yYW0gPSAmcXVvdDswJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRldmljZSA9ICZxdW90OyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgc3VzcGVuZCA9ICZxdW90OyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBldmVudC1jaGFubmVsID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB2YmQgPSAmcXVvdDsmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgNTE3MTIgPSAmcXVvdDsmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGJhY2tlbmQgPSAmcXVvdDsv
bG9jYWwvZG9tYWluLzAvYmFja2VuZC92YmQvMS81MTcxMiZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgYmFja2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmlydHVhbC1kZXZpY2UgPSAmcXVvdDs1MTcx
MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgZGV2aWNlLXR5cGUg
PSAmcXVvdDtkaXNrJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBt
dWx0aS1xdWV1ZS1udW0tcXVldWVzID0gJnF1b3Q7MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAgcXVldWUtMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgwqByaW5nLXJlZiA9ICZxdW90OzgmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZlbnQtY2hhbm5lbCA9ICZxdW90OzQmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHF1ZXVlLTEgPSAmcXVvdDsm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcmluZy1yZWYgPSAm
cXVvdDs5JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGV2ZW50
LWNoYW5uZWwgPSAmcXVvdDs1JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCBwcm90b2NvbCA9ICZxdW90O2FybS1hYmkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtcGVyc2lzdGVudCA9ICZxdW90OzEmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHZmYiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBiYWNrZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8wL2Jh
Y2tlbmQvdmZiLzEvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
YmFja2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgcGFnZS1yZWYgPSAmcXVvdDsyNzUwMjImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgIGV2ZW50LWNoYW5uZWwgPSAmcXVvdDszJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBwcm90b2NvbCA9ICZxdW90O2FybS1hYmkmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtdXBkYXRlID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmtiZCA9ICZx
dW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAwID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBiYWNrZW5kID0gJnF1
b3Q7L2xvY2FsL2RvbWFpbi8wL2JhY2tlbmQvdmtiZC8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGJhY2tlbmQtaWQgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBzdGF0ZSA9ICZxdW90OzQmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHJlcXVlc3QtYWJzLXBvaW50ZXIgPSAmcXVv
dDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBwYWdlLXJlZiA9
ICZxdW90OzI3NTMyMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
cGFnZS1ncmVmID0gJnF1b3Q7MTI4NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgZXZlbnQtY2hhbm5lbCA9ICZxdW90OzEwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCB2aWYgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3ZpZi8x
LzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGJhY2tlbmQtaWQg
PSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBzdGF0
ZSA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGhh
bmRsZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IG1hYyA9ICZxdW90O2U0OjVmOjAxOmNkOjdiOmRkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCBtdHUgPSAmcXVvdDsxNTAwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCB4ZHAtaGVhZHJvb20gPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBtdWx0aS1xdWV1ZS1udW0tcXVldWVzID0gJnF1
b3Q7MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgcXVldWUtMCA9
ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB0eC1y
aW5nLXJlZiA9ICZxdW90OzEyODAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIMKgcngtcmluZy1yZWYgPSAmcXVvdDsxMjgxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCDCoGV2ZW50LWNoYW5uZWwtdHggPSAmcXVvdDs2JnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGV2ZW50LWNoYW5uZWwtcnggPSAm
cXVvdDs3JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBxdWV1ZS0x
ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHR4
LXJpbmctcmVmID0gJnF1b3Q7MTI4MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqByeC1yaW5nLXJlZiA9ICZxdW90OzEyODMmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZlbnQtY2hhbm5lbC10eCA9ICZxdW90OzgmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZlbnQtY2hhbm5lbC1yeCA9
ICZxdW90OzkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHJlcXVl
c3QtcngtY29weSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIGZlYXR1cmUtcngtbm90aWZ5ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgZmVhdHVyZS1zZyA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtZ3NvLXRjcHY0ID0gJnF1b3Q7MSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgZmVhdHVyZS1nc28tdGNw
djYgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBm
ZWF0dXJlLWlwdjYtY3N1bS1vZmZsb2FkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqBjb250cm9sID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCBzaHV0ZG93biA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgZmVhdHVyZS1wb3dlcm9mZiA9ICZxdW90OzEmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIGZlYXR1cmUtcmVib290ID0gJnF1b3Q7MSZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgZmVhdHVyZS1zdXNwZW5kID0gJnF1
b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBzeXNycSA9ICZxdW90
OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgcGxhdGZvcm0tZmVhdHVy
ZS1tdWx0aXByb2Nlc3Nvci1zdXNwZW5kID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgcGxhdGZvcm0tZmVhdHVyZS14c19yZXNldF93YXRjaGVzID0gJnF1
b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBkYXRhID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRyaXZlcnMgPSAmcXVvdDsm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgZmVhdHVyZSA9ICZxdW90OyZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBhdHRyID0gJnF1b3Q7JnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGVycm9yID0gJnF1b3Q7JnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRvbWlkID0gJnF1b3Q7MSZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBzdG9yZSA9ICZxdW90OyZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgcG9ydCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHJpbmctcmVmID0gJnF1b3Q7MjMzNDczJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGNvbnNvbGUgPSAmcXVvdDsmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9t
YWluLzAvYmFja2VuZC9jb25zb2xlLzEvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgYmFja2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIGxpbWl0ID0gJnF1b3Q7MTA0ODU3NiZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgdHlwZSA9ICZxdW90O3hlbmNvbnNvbGVkJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBvdXRwdXQgPSAmcXVvdDtwdHkmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHR0eSA9ICZxdW90Oy9kZXYvcHRzLzEmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHBvcnQgPSAmcXVvdDsyJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCByaW5nLXJlZiA9ICZxdW90OzIzMzQ3MiZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdm5jLWxpc3RlbiA9ICZxdW90
OzEyNy4wLjAuMSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdm5jLXBv
cnQgPSAmcXVvdDs1OTAwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGlt
YWdlID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBkZXZp
Y2UtbW9kZWwtcGlkID0gJnF1b3Q7Nzg4JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyB2bSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqBkODFlYzVh
OS01YmY5LTRmMmItODllOC0wZjYwZDZkYTk0OGYgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIG5hbWUgPSAmcXVvdDtndWVzdDImcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIHV1aWQgPSAmcXVvdDtkODFlYzVhOS01YmY5LTRmMmItODllOC0w
ZjYwZDZkYTk0OGYmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIHN0YXJ0X3Rp
bWUgPSAmcXVvdDsxNTIwNjAwMjc0LjI3JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyBsaWJ4bCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAxID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCBkZXZpY2UgPSAmcXVv
dDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdmJkID0gJnF1b3Q7JnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCA1MTcxMiA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBmcm9udGVuZCA9ICZxdW90Oy9s
b2NhbC9kb21haW4vMS9kZXZpY2UvdmJkLzUxNzEyJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzAvYmFja2VuZC92
YmQvMS81MTcxMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBwYXJh
bXMgPSAmcXVvdDsvaG9tZS9yb290L2d1ZXN0Mi94ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbC1yYXNw
YmVycnlwaTQtNjQuZXh0MyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqBzY3JpcHQgPSAmcXVvdDsvZXRjL3hlbi9zY3JpcHRzL2Jsb2NrJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHJlbW92YWJsZSA9ICZxdW90OzAmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgYm9vdGFibGUgPSAmcXVvdDsx
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7
MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBkZXYgPSAmcXVvdDt4
dmRhJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHR5cGUgPSAmcXVv
dDtwaHkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgbW9kZSA9ICZx
dW90O3cmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZGV2aWNlLXR5
cGUgPSAmcXVvdDtkaXNrJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oGRpc2NhcmQtZW5hYmxlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqB2ZmIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
ZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZmYi8wJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9t
YWluLzAvYmFja2VuZC92ZmIvMS8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqB2bmMgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoHZuY2xpc3RlbiA9ICZxdW90OzEyNy4wLjAuMSZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB2bmNkaXNwbGF5ID0gJnF1b3Q7MCZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB2bmN1bnVzZWQgPSAmcXVvdDsxJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHNkbCA9ICZxdW90OzAmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgb3BlbmdsID0gJnF1b3Q7MCZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqB2a2JkID0gJnF1b3Q7JnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2Rv
bWFpbi8xL2RldmljZS92a2JkLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL3ZrYmQvMS8wJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1
b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxpbmUgPSAm
cXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBjb25zb2xlID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCAwID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kID0gJnF1
b3Q7L2xvY2FsL2RvbWFpbi8xL2NvbnNvbGUmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL2NvbnNv
bGUvMS8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5k
LWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBv
bmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oHN0YXRlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqBwcm90b2NvbCA9ICZxdW90O3Z0MTAwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoHZpZiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBm
cm9udGVuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMS9kZXZpY2UvdmlmLzAmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21h
aW4vMC9iYWNrZW5kL3ZpZi8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgZnJvbnRlbmQtaWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgc3RhdGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoHNjcmlwdCA9ICZxdW90Oy9ldGMveGVuL3NjcmlwdHMvdmlmLWJyaWRn
ZSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBtYWMgPSAmcXVvdDtl
NDo1ZjowMTpjZDo3YjpkZCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqBicmlkZ2UgPSAmcXVvdDt4ZW5icjAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgaGFuZGxlID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqB0eXBlID0gJnF1b3Q7dmlmJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCB0eXBlID0gJnF1b3Q7cHZoJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCBkbS12ZXJzaW9uID0gJnF1b3Q7cWVtdV94ZW4mcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4vZ3Vlc3QxIzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFueSBpbnB1
dCBhcyBwZXIgYWJvdmU/IExvb2tpbmcgZm9yd2FyZCB0byBoZWFyaW5nIGZyb20geW91Ljxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFJlZ2Fy
ZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIFdlZCwgT2N0IDI2
LCAyMDIyIGF0IDU6MjEgQU0gU3RlZmFubyBTdGFiZWxsaW5pICZsdDs8YSBocmVmPSJtYWlsdG86
c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNzdGFiZWxsaW5pQGtlcm5l
bC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBIaSBWaXB1bCw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgSWYgeW91IGxvb2sgYXQgdGhlIFFFTVUgbG9ncywgaXQgc2F5
czo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgVk5DIHNlcnZlciBydW5uaW5nIG9uIDxhIGhyZWY9Imh0dHA6Ly8xMjcuMC4w
LjE6NTkwMCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+MTI3LjAuMC4xOjU5MDA8
L2E+PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoFRoYXQgaXMgdGhlIFZOQyBzZXJ2ZXIgeW91IG5lZWQgdG8gY29ubmVjdCB0
by4gU28gaW4gdGhlb3J5Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoCB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEy
Ny4wLjAuMTo1OTAwIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6
NTkwMDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgc2hvdWxkIHdvcmsgY29ycmVjdGx5Ljxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgSWYgeW91IGhhdmU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgIHZmYiA9IFsmcXVv
dDt0eXBlPXZuYyZxdW90O108YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgaW4geW91ciB4bCBjb25maWcgZmlsZSBhbmQgeW91
IGhhdmUgJnF1b3Q7ZmJkZXYmcXVvdDsgaW4geW91ciBMaW51eCBndWVzdCwgaXQ8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBzaG91bGQgd29yay48YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSWYgeW91
IGNvbm5lY3QgdG8gdGhlIFZOQyBzZXJ2ZXIgYnV0IHlvdSBnZXQgYSBibGFjayBzY3JlZW4sIGl0
IG1pZ2h0IGJlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYSBndWVzdCBj
b25maWd1cmF0aW9uIGlzc3VlLiBJIHdvdWxkIHRyeSB3aXRoIGEgc2ltcGxlciBndWVzdCwgdGV4
dCBvbmx5PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgKG5vIFgxMSwgbm8g
V2F5bGFuZCkgYW5kIGVuYWJsZSB0aGUgZmJkZXYgY29uc29sZSAoZmJjb24pLiBTZWU8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBEb2N1bWVudGF0aW9uL2ZiL2ZiY29uLnJz
dCBpbiBMaW51eC4gWW91IHNob3VsZCBiZSBhYmxlIHRvIHNlZSBhPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgZ3JhcGhpY2FsIGNvbnNvbGUgb3ZlciBWTkMuPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oElmIHRoYXQgd29ya3MsIHRoZW4geW91IGtub3cgdGhhdCB0aGUgZmJkZXYga2VybmVsIGRyaXZl
ciAoeGVuLWZiZnJvbnQpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgd29y
a3MgY29ycmVjdGx5Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJZiBpdCBkb2VzbiYjMzk7dCB3b3JrLCB0aGUgb3V0cHV0
IG9mICZxdW90O3hlbnN0b3JlLWxzJnF1b3Q7IHdvdWxkIGJlIGludGVyZXN0aW5nLjxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBDaGVlcnMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoFN0ZWZhbm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoE9uIFdlZCwgMTkgT2N0IDIwMjIsIFZpcHVsIFN1bmVqYSB3cm90ZTo8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEhpIFN0ZWZhbm8sPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgVGhhbmtzIGZvciB0aGUgcmVzcG9uc2UhPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgSSBhbSBmb2xsb3dpbmcgdGhlIHNhbWUgbGluayB5b3Ugc2hhcmVkIGZy
b20gdGhlIGJlZ2lubmluZy4gVHJpZWQgdGhlIGNvbW1hbmQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
cXVvdDt2bmN2aWV3ZXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBsb2NhbGhv
c3Q6MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoGluIERPTTA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqBidXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBzYW1lPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgaXNzdWUgJnF1b3Q7Q2FuJiMzOTt0IG9w
ZW48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGRpc3BsYXkmcXVv
dDssIGJlbG93IGFyZSB0aGUgbG9nczo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290
QHJhc3BiZXJyeXBpNC02NDp+IyB2bmN2aWV3ZXIgbG9jYWxob3N0OjA8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyBUaWdlclZOQyBWaWV3ZXIgNjQtYml0IHYxLjExLjA8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEJ1aWx0IG9uOiAyMDIwLTA5LTA4IDEyOjE2
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBDb3B5cmlnaHQgKEMp
IDE5OTktMjAyMCBUaWdlclZOQyBUZWFtIGFuZCBtYW55IG90aGVycyAoc2VlIFJFQURNRS5yc3Qp
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBTZWUgPGEgaHJlZj0i
aHR0cHM6Ly93d3cudGlnZXJ2bmMub3JnIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5r
Ij5odHRwczovL3d3dy50aWdlcnZuYy5vcmc8L2E+IGZvciBpbmZvcm1hdGlvbiBvbiBUaWdlclZO
Qy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IENhbiYjMzk7dCBv
cGVuIGRpc3BsYXk6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgQmVsb3cgYXJlIHRoZSBu
ZXRzdGF0IGxvZ3MsIGkgY291bGRuJiMzOTt0IHNlZSBhbnl0aGluZyBydW5uaW5nIGF0IHBvcnQg
NTkwMCBvciA1OTAxOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5
cGk0LTY0On4jIG5ldHN0YXQgLXR1d3g8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IEFjdGl2ZSBJbnRlcm5ldCBjb25uZWN0aW9ucyAody9vIHNlcnZlcnMpPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBQcm90byBSZWN2LVEgU2VuZC1R
IExvY2FsIEFkZHJlc3MgwqAgwqAgwqAgwqAgwqAgRm9yZWlnbiBBZGRyZXNzIMKgIMKgIMKgIMKg
IFN0YXRlIMKgIMKgIMKgPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyB0Y3AgwqAgwqAgwqAgwqAwIMKgIMKgMTY0IDE5Mi4xNjguMS4zOTpzc2ggwqAgwqAgwqAgwqA8
YSBocmVmPSJodHRwOi8vMTkyLjE2OC4xLjM4OjM3NDcyIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdl
dD0iX2JsYW5rIj4xOTIuMTY4LjEuMzg6Mzc0NzI8L2E+IMKgIMKgIMKgRVNUQUJMSVNIRUQ8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFjdGl2ZSBVTklYIGRvbWFp
biBzb2NrZXRzICh3L28gc2VydmVycyk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IFByb3RvIFJlZkNudCBGbGFncyDCoCDCoCDCoCBUeXBlIMKgIMKgIMKgIFN0YXRl
IMKgIMKgIMKgIMKgIEktTm9kZSBQYXRoPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyB1bml4IMKgOCDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBER1JBTSDCoCDCoCDC
oENPTk5FQ1RFRCDCoCDCoCDCoDEwNTY1IC9kZXYvbG9nPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJF
QU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA4OTEgL3Zhci9ydW4veGVuc3RvcmVkL3NvY2tl
dDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAg
wqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEzNzkx
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDC
oCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA4NDMg
L3Zhci9ydW4veGVuc3RvcmVkL3NvY2tldDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKg
IENPTk5FQ1RFRCDCoCDCoCDCoDEwNTczIC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKgWyBd
IMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKgMTQ1MTA8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBd
IMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMzI0OTxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDIgwqAgwqAgwqBbIF0g
wqAgwqAgwqAgwqAgREdSQU0gwqAgwqAgwqBDT05ORUNURUQgwqAgwqAgwqAxMzg4Nzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDIgwqAgwqAgwqBbIF0g
wqAgwqAgwqAgwqAgREdSQU0gwqAgwqAgwqBDT05ORUNURUQgwqAgwqAgwqAxMDU5OTxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0g
wqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDE0MDA1PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDC
oCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTMyNTg8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKg
IMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMzI0ODxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAg
wqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDE0MDAzPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDC
oCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA1NzIgL3Zhci9ydW4veGVu
c3RvcmVkL3NvY2tldDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
dW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDC
oCDCoCDCoDEwNzg2IC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKg
IERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKgMTMxODY8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKg
IFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMDg2NCAvdmFyL3J1bi94ZW5zdG9yZWQv
c29ja2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKg
MyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKg
MTA4MTIgL3Zhci9ydW4veGVuc3RvcmVkL3NvY2tldDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDIgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgREdSQU0g
wqAgwqAgwqBDT05ORUNURUQgwqAgwqAgwqAxNDA4Mzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFN
IMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEwODEzIC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKg
IMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxNDA2ODxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAg
wqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDEzMjU2PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDC
oFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA1NzEgL3Zh
ci9ydW4veGVuc3RvcmVkL3NvY2tldDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENP
Tk5FQ1RFRCDCoCDCoCDCoDEwODQyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09O
TkVDVEVEIMKgIMKgIMKgMTM5ODU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09O
TkVDVEVEIMKgIMKgIMKgMTMxODU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IHVuaXggwqAyIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05O
RUNURUQgwqAgwqAgwqAxMzg4NDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgdW5peCDCoDIgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgREdSQU0gwqAgwqAgwqBDT05O
RUNURUQgwqAgwqAgwqAxNDUyODxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgdW5peCDCoDIgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgREdSQU0gwqAgwqAgwqBDT05O
RUNURUQgwqAgwqAgwqAxMzc4NTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5F
Q1RFRCDCoCDCoCDCoDE0MDM0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgQXR0YWNoaW5n
IHhlbiBsb2cgZmlsZXMgb2YgL3Zhci9sb2cveGVuLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgSSBkaWRuJiMzOTt0IGdldCB0aGUgcm9sZSBvZiBRRU1VIGhlcmUg
YmVjYXVzZSBhcyBtZW50aW9uZWQgZWFybGllciwgSSBhbSBwb3J0aW5nIGluPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgcmFzcGJlcnJ5cGk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqA0
Qi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBSZWdhcmRzLDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyBPbiBXZWQsIE9jdCAxOSwgMjAyMiBhdCAxMjo0MyBBTSBTdGVmYW5vIFN0YWJl
bGxpbmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwub3JnIiB0YXJnZXQ9
Il9ibGFuayI+c3N0YWJlbGxpbmlAa2VybmVsLm9yZzwvYT4mZ3Q7IHdyb3RlOjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoEl0IHVzdWFsbHkgd29y
a3MgdGhlIHdheSBpdCBpcyBkZXNjcmliZWQgaW4gdGhlIGd1aWRlOjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqA8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqA8YnI+DQom
Z3Q7wqAgwqAgwqAgwqDCoMKgwqDCoMKgwqA8YSBocmVmPSJodHRwczovL3d3dy52aXJ0dWF0b3Bp
YS5jb20vaW5kZXgucGhwP3RpdGxlPUNvbmZpZ3VyaW5nX2FfVk5DX2Jhc2VkX0dyYXBoaWNhbF9D
b25zb2xlX2Zvcl9hX1hlbl9QYXJhdmlydHVhbGl6ZWRfZG9tYWluVV9HdWVzdCIgcmVsPSJub3Jl
ZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly93d3cudmlydHVhdG9waWEuY29tL2luZGV4
LnBocD90aXRsZT1Db25maWd1cmluZ19hX1ZOQ19iYXNlZF9HcmFwaGljYWxfQ29uc29sZV9mb3Jf
YV9YZW5fUGFyYXZpcnR1YWxpemVkX2RvbWFpblVfR3Vlc3Q8L2E+PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoFlvdSBkb24mIzM5O3QgbmVlZCB0byBpbnN0YWxsIGFueSBW
TkMtcmVsYXRlZCBzZXJ2ZXIgc29mdHdhcmUgYmVjYXVzZSBpdCBpczxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGFscmVhZHkgcHJvdmlkZWQgYnkg
WGVuICh0byBiZSBwcmVjaXNlIGl0IGlzIHByb3ZpZGVkIGJ5IFFFTVUgd29ya2luZzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHRvZ2V0aGVyIHdp
dGggWGVuLik8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgWW91IG9ubHkg
bmVlZCB0aGUgdm5jIGNsaWVudCBpbiBkb20wIHNvIHRoYXQgeW91IGNhbiBjb25uZWN0LCBidXQg
eW91PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Y291bGQgYWxzbyBydW4gdGhlIHZuYyBjbGllbnQgb3V0c2lkZSBmcm9tIGFub3RoZXIgaG9zdC4g
U28gYmFzaWNhbGx5PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgdGhlIGZvbGxvd2luZyBzaG91bGQgd29yayB3aGVuIGV4ZWN1dGVkIGluIERvbTAg
YWZ0ZXIgY3JlYXRpbmcgRG9tVTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgwqAgdm5jdmlld2VyIGxvY2FsaG9zdDowPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoENhbiB5b3UgYXR0YWNoIHRoZSBYZW4gYW5kIFFFTVUgbG9ncyAoL3Zhci9sb2cv
eGVuLyopPyBBbmQgYWxzbyB1c2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBuZXRzdGF0IC10YXVucCB0byBjaGVjayBpZiB0aGVyZSBpcyBhbnl0
aGluZyBydW5uaW5nIGF0IHBvcnQgNTkwMCBvcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoDU5MDE/PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoENoZWVycyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgU3RlZmFubzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgT24gVHVlLCAxOCBPY3QgMjAyMiwg
VmlwdWwgU3VuZWphIHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgSGkgU3RlZmFubyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFua3MgZm9yIHRoZSByZXNwb25z
ZSE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyBJIGNvdWxkIGluc3RhbGwgdGlnZXJWTkMsIHgxMXZuYyAmYW1wOyBsaWJ2bmNzZXJ2ZXIg
aW4gRG9tMCB4ZW4taW1hZ2UtbWluaW1hbCBidXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqBvbmx5PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgbWFuYWdlIHRvPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgaW5zdGFsbDxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGxpYnZuY3NlcnZlcihjb3VsZG4mIzM5O3Q8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBpbnN0YWxsIHRp
Z2Vydm5jPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyAmYW1wOyB4MTF2bmMgYmVjYXVzZSBvZiB4MTE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHN1cHBvcnQgbWlzc2luZywgaXQm
IzM5O3Mgd2F5bGFuZCkgaW4gRE9NVSBjdXN0b20gZ3JhcGhpY2FsIGltYWdlLiBJIHRyaWVkPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgcnVubmluZzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoHZuY3ZpZXdlciB3aXRoPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgSVA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBhZGRyZXNzICZhbXA7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgcG9ydDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGluIGRvbTAgdG88
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBhY2Nl
c3MgdGhlIGRvbXU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IGdyYXBoaWNhbCBpbWFnZSBkaXNwbGF5IGFzIHBlciBiZWxvdyBjb21tYW5k
cy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoHZuY3ZpZXdlciA8YSBocmVmPSJodHRwOi8vMTkyLjE2OC4xLjQyOjU5MDEiIHJl
bD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPjE5Mi4xNjguMS40Mjo1OTAxPC9hPjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqA8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgQnV0IGl0IHNob3dpbmcgY2FuJiMzOTt0IG9wZW4gZGlzcGxheSwgYmVsb3cgYXJlIHRoZSBs
b2dzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0On4vZ3Vlc3QxIyB2bmN2aWV3ZXIgPGEgaHJl
Zj0iaHR0cDovLzE5Mi4xNjguMS40Mjo1OTAxIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2Js
YW5rIj4xOTIuMTY4LjEuNDI6NTkwMTwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaWdlclZOQyBWaWV3ZXIgNjQtYml0IHYxLjEx
LjA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IEJ1aWx0IG9uOiAyMDIwLTA5LTA4IDEyOjE2PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBDb3B5cmlnaHQgKEMpIDE5OTktMjAyMCBU
aWdlclZOQyBUZWFtIGFuZCBtYW55IG90aGVycyAoc2VlIFJFQURNRS5yc3QpPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBTZWUgPGEgaHJl
Zj0iaHR0cHM6Ly93d3cudGlnZXJ2bmMub3JnIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2Js
YW5rIj5odHRwczovL3d3dy50aWdlcnZuYy5vcmc8L2E+IGZvciBpbmZvcm1hdGlvbiBvbiBUaWdl
clZOQy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IENhbiYjMzk7dCBvcGVuIGRpc3BsYXk6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDp+L2d1
ZXN0MSM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyBJIGFtIG5vdCBleGFjdGx5wqBzdXJlIHdoYXQgdGhlIGlzc3VlIGlzIGJ1dCBJIHRo
b3VnaHQgb25seSBsaWJ2bmNzZXJ2ZXIgaW48YnI+DQomZ3Q7wqAgwqAgwqAgwqBET01VIGNvdWxk
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgd29yayB0bzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGdldDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGFjY2VzcyBi
dXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBpdDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoGRpZCBub3Q8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqB3b3JrLsKgPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJZiBUaWdlclZOQyBpcyB0aGUgaXNzdWUgaGVyZSB0aGVu
IGlzIHRoZXJlIGFueSBvdGhlciBWTkMgc291cmNlIHdoaWNoIGNvdWxkPGJyPg0KJmd0O8KgIMKg
IMKgIMKgYmU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBpbnN0YWxsZWQgZm9y
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYm90aDxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoHgxMSAmYW1wOzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHdh
eWxhbmQgc3VwcG9ydGVkPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgaW1hZ2VzPzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIFR1ZSwgT2N0
IDE4LCAyMDIyIGF0IDI6NDAgQU0gU3RlZmFubyBTdGFiZWxsaW5pICZsdDs8YSBocmVmPSJtYWls
dG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNzdGFiZWxsaW5pQGtl
cm5lbC5vcmc8L2E+Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoHdyb3RlOjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFZO
QyBpcyB0eXBpY2FsbHkgZWFzaWVyIHRvIHNldHVwLCBiZWNhdXNlIFNETCBuZWVkcyBleHRyYSBs
aWJyYXJpZXMgYXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBidWlsZCB0aW1lIGFuZCBydW50aW1lLiBJZiBRRU1VIGlz
IGJ1aWx0IHdpdGhvdXQgU0RMIHN1cHBvcnQgaXQgd29uJiMzOTt0PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgc3RhcnQg
d2hlbiB5b3UgYXNrIGZvciBTREwuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFZOQyBzaG91bGQgd29yayB3aXRoIGJv
dGggeDExIGFuZCB3YXlsYW5kIGluIHlvdXIgZG9tVS4gSXQgZG9lc24mIzM5O3Qgd29yazxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoGF0IHRoZSB4MTEgbGV2ZWwsIGl0IGV4cG9zZXMgYSBzcGVjaWFsIGZiZGV2IGRldmlj
ZSBpbiB5b3VyIGRvbVUgdGhhdDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHNob3VsZCB3b3JrIHdpdGg6PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgLSBhIGdyYXBoaWNhbCBjb25zb2xlIGluIExpbnV4IGRvbVU8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAtIHgxMTxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoC0gd2F5bGFuZCAoYnV0IEkgaGF2ZW4mIzM5O3QgdGVzdGVkIHRoaXMgc28gSSBh
bSBub3QgMTAwJSBzdXJlIGFib3V0IGl0KTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBXaGVuIHlvdSBzYXkgJnF1b3Q7
aXQgZG9lc24mIzM5O3Qgd29yayZxdW90Oywgd2hhdCBkbyB5b3UgbWVhbj8gRG8geW91IGdldCBh
IGJsYWNrPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgd2luZG93Pzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBZb3UgbmVlZCBDT05GSUdfWEVO
X0ZCREVWX0ZST05URU5EIGluIExpbnV4IGRvbVU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAoZHJpdmVycy92aWRlby9m
YmRldi94ZW4tZmJmcm9udC5jKS4gSSB3b3VsZCB0cnkgdG8gZ2V0IGEgZ3JhcGhpY2FsPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgdGV4dDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGNvbnNvbGUgdXAgYW5kIHJ1bm5pbmcgaW4g
eW91ciBkb21VIGJlZm9yZSBhdHRlbXB0aW5nIHgxMS93YXlsYW5kLjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDaGVl
cnMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoFN0ZWZhbm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgT24gTW9uLCAxNyBPY3QgMjAyMiwg
VmlwdWwgU3VuZWphIHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSGksPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBU
aGFua3MhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSSBoYXZlIHBvcnRlZCB4ZW4g
bWluaW1hbCBpbWFnZSBhcyBET00wICZhbXA7IGN1c3RvbSB3YXlsYW5kIEdVSSBiYXNlZDxicj4N
CiZndDvCoCDCoCDCoCDCoGltYWdlIGFzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgRE9NVSBpbjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoHJhc3BiZXJyeTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoHBpNEIuIEk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqBhbSB0cnlpbmcgdG88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqBtYWtlIEdVSTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGRpc3BsYXkgdXA8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IGZvcsKgZ3Vlc3QgbWFjaGluZS4gSSB0cmllZCB1c2luZ8Kgc2RsLCBpbmNsdWRl
ZCBiZWxvdyBsaW5lIGluPGJyPg0KJmd0O8KgIMKgIMKgIMKgZ3Vlc3QuY29uZiBmaWxlPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyB2ZmI9IFsgJiMzOTtzZGw9MSYjMzk7IF08YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyBCdXQgaXQgaXMgdGhyb3dpbmcgYmVsb3cgZXJyb3I6PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVycnlwaTQtNjQ6fi9ndWVzdDEjIHhsIGNyZWF0
ZSAtYyBndWVzdDEuY2ZnPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBQYXJzaW5nIGNvbmZpZyBmcm9tIGd1ZXN0
MS5jZmc8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxpYnhsOiBlcnJvcjogbGlieGxfcW1wLmM6MTQwMDpxbXBf
ZXZfZmRfY2FsbGJhY2s6IERvbWFpbiAzOmVycm9yIG9uPGJyPg0KJmd0O8KgIMKgIMKgIMKgUU1Q
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgc29ja2V0Ojxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoENvbm5lY3Rpb248YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBy
ZXNldCBieTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHBlZXI8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IGxpYnhsOiBlcnJvcjogbGlieGxfcW1wLmM6MTQzOTpxbXBfZXZfZmRfY2FsbGJh
Y2s6IERvbWFpbiAzOkVycm9yPGJyPg0KJmd0O8KgIMKgIMKgIMKgaGFwcGVuZWQ8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB3aXRoIHRoZTxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFFNUDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGNvbm5lY3Rpb24gdG88YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBRRU1VPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBs
aWJ4bDogZXJyb3I6IGxpYnhsX2RtLmM6MzM1MTpkZXZpY2VfbW9kZWxfcG9zdGNvbmZpZ19kb25l
OiBEb21haW48YnI+DQomZ3Q7wqAgwqAgwqAgwqAzOlBvc3QgRE08YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBzdGFydHVwPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgY29uZmlnczxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGZhaWxlZCw8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqByYz0tMjY8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxpYnhsOiBlcnJv
cjogbGlieGxfY3JlYXRlLmM6MTg2Nzpkb21jcmVhdGVfZGV2bW9kZWxfc3RhcnRlZDogRG9tYWlu
PGJyPg0KJmd0O8KgIMKgIMKgIMKgMzpkZXZpY2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqBtb2RlbDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoGRpZCBub3Q8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBzdGFydDo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAtMjY8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IGxpYnhsOiBlcnJvcjogbGlieGxfYW91dGlscy5jOjY0NjpsaWJ4bF9f
a2lsbF94c19wYXRoOiBEZXZpY2UgTW9kZWw8YnI+DQomZ3Q7wqAgwqAgwqAgwqBhbHJlYWR5PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZXhpdGVkPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBs
aWJ4bDogZXJyb3I6IGxpYnhsX2RvbWFpbi5jOjExODM6bGlieGxfX2Rlc3Ryb3lfZG9taWQ6IERv
bWFpbjxicj4NCiZndDvCoCDCoCDCoCDCoDM6Tm9uLWV4aXN0YW50PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgZG9tYWluPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBsaWJ4bDogZXJyb3I6IGxp
YnhsX2RvbWFpbi5jOjExMzc6ZG9tYWluX2Rlc3Ryb3lfY2FsbGJhY2s6IERvbWFpbjxicj4NCiZn
dDvCoCDCoCDCoCDCoDM6VW5hYmxlIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgZGVzdHJveTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoGd1ZXN0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBsaWJ4bDogZXJyb3I6IGxpYnhsX2RvbWFpbi5jOjEw
NjQ6ZG9tYWluX2Rlc3Ryb3lfY2I6IERvbWFpbjxicj4NCiZndDvCoCDCoCDCoCDCoDM6RGVzdHJ1
Y3Rpb24gb2Y8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBkb21haW48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBmYWlsZWQ8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBBbm90aGVyIHdheSBpcyBWTkMsIGkgY291bGQgaW5z
dGFsbCB0aWdlcnZuYyBpbiBET00wIGJ1dCBzYW1lIGk8YnI+DQomZ3Q7wqAgwqAgwqAgwqBjb3Vs
ZG4mIzM5O3QgaW48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBndWVzdDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoG1hY2hpbmU8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqBiZWNhdXNlIGl0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZG9l
c24mIzM5O3Qgc3VwcG9ydDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHgxMShzdXBwb3J0cyB3YXlsYW5kPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyBvbmx5KS4gSSBhbSBjb21wbGV0ZWx5IGJsb2NrZWQgaGVyZSwgTmVlZCB5b3VyIHN1
cHBvcnQgdG8gZW5hYmxlIHRoZTxicj4NCiZndDvCoCDCoCDCoCDCoGRpc3BsYXk8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB1cC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFueSBhbHRlcm5h
dGl2ZSBvZiBWTkMgd2hpY2ggY291bGQgd29yayBpbiBib3RoIHgxMSAmYW1wOyB3YXlsYW5kPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgc3VwcG9ydGVkPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgaW1hZ2VzPzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFueSBpbnB1dCBv
biBWTkMsIFNETCBvciBhbnkgb3RoZXIgd2F5IHRvIHByb2NlZWQgb24gdGhpcz8gTG9va2luZzxi
cj4NCiZndDvCoCDCoCDCoCDCoGZvcndhcmQgdG88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqBoZWFyaW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgZnJvbTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoHlvdS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyBSZWdhcmRzLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7IDxicj4NCiZndDsgPGJyPg0KJmd0
OyA8L2Jsb2NrcXVvdGU+PC9kaXY+DQo=
--000000000000b751db05f02f3b6e--
--000000000000b751de05f02f3b70
Content-Type: application/octet-stream; name="qemu-dm-guest2.log"
Content-Disposition: attachment; filename="qemu-dm-guest2.log"
Content-Transfer-Encoding: base64
Content-ID: <f_lbuwdxnm0>
X-Attachment-Id: f_lbuwdxnm0

UUVNVSoqKioqKioqaW5wdXRfaW5pdCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqaW5wdXRfaW5p
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9pbml0KioqKioqKioKVk5DIHNlcnZlciBydW5u
aW5nIG9uIDEyNy4wLjAuMTo1OTAwClFFTVUqKioqKioqKmlucHV0X2luaXRpYWxpc2UqKioqKioq
KmVudHJ5ClFFTVUqKioqKioqKmNvbW1vbl9iaW5kKioqKioqKiplbnRyeQpRRU1VKioqKioqKipj
b21tb25fYmluZCoqKioqKioqZXhpdApRRU1VKioqKioqKippbnB1dF9pbml0aWFsaXNlKioqKioq
KipleGl0ClFFTVUqKioqKioqKmlucHV0X2V2ZW50KioqKioqKiplbnRyeQpRRU1VKioqKioqKipp
bnB1dF9jb25uZWN0ZWQqKioqKioqKmVudHJ5ClFFTVUqKioqKioqKmlucHV0X2Nvbm5lY3RlZCoq
KioqKioqZXhpdApRRU1VKioqKioqKippbnB1dF9jb25uZWN0ZWQqKioqKioqKmVudHJ5ClFFTVUq
KioqKioqKmlucHV0X2Nvbm5lY3RlZCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9mcm9udGVu
ZF9jaGFuZ2VkKioqKioqKiplbnRyeQpRRU1VKioqKioqKipmYl9mcm9udGVuZF9jaGFuZ2VkKioq
KioqKipleGl0ClFFTVUqKioqKioqKmZiX2Zyb250ZW5kX2NoYW5nZWQqKioqKioqKmVudHJ5ClFF
TVUqKioqKioqKmZiX2Zyb250ZW5kX2NoYW5nZWQqKioqKioqKmV4aXQKUUVNVSoqKioqKioqZmJf
ZnJvbnRlbmRfY2hhbmdlZCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqZmJfZnJvbnRlbmRfY2hh
bmdlZCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9mcm9udGVuZF9jaGFuZ2VkKioqKioqKipl
bnRyeQpRRU1VKioqKioqKipmYl9mcm9udGVuZF9jaGFuZ2VkKioqKioqKipleGl0ClFFTVUqKioq
KioqKmZiX2Zyb250ZW5kX2NoYW5nZWQqKioqKioqKmVudHJ5ClFFTVUqKioqKioqKmZiX2Zyb250
ZW5kX2NoYW5nZWQqKioqKioqKmV4aXQKUUVNVSoqKioqKioqZmJfaW5pdGlhbGlzZSoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqY29tbW9uX2JpbmQqKioqKioqKmVudHJ5ClFFTVUqKioqKioqKmNv
bW1vbl9iaW5kKioqKioqKipleGl0ClFFTVUqKioqKioqKnhlbmZiX2NvbmZpZ3VyZV9mYioqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfY29uZmlndXJlX2ZiKioqKioqKipleGl0ClFFTVUq
KioqKioqKnhlbmZiX21hcF9mYioqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfbWFwX2Zi
KioqKioqKipleGl0ClFFTVUqKioqKioqKmZiX2luaXRpYWxpc2UqKioqKioqKmV4aXQKUUVNVSoq
KioqKioqZmJfZXZlbnQqKioqKioqKmVudHJ5ClFFTVUqKioqKioqKnhlbmZiX2hhbmRsZV9ldmVu
dHMqKioqKioqKmVudHJ5ClFFTVUqKioqKioqKnhlbmZiX2NvbmZpZ3VyZV9mYioqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfY29uZmlndXJlX2ZiKioqKioqKipleGl0ClFFTVUqKioqKioq
KnhlbmZiX3VwZGF0ZV9pbnRlcnZhbCoqKioqKioqClFFTVUqKioqKioqKnhlbmZiX2hhbmRsZV9l
dmVudHMqKioqKioqKmV4aXQKUUVNVSoqKioqKioqZmJfZXZlbnQqKioqKioqKmV4aXQKUUVNVSoq
KioqKioqZmJfZnJvbnRlbmRfY2hhbmdlZCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqZmJfZnJv
bnRlbmRfY2hhbmdlZCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdAo=
--000000000000b751de05f02f3b70--


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 15:02:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 15:02:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466195.725053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HeW-00037c-OM; Mon, 19 Dec 2022 15:02:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466195.725053; Mon, 19 Dec 2022 15:02:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HeW-00037T-LZ; Mon, 19 Dec 2022 15:02:04 +0000
Received: by outflank-mailman (input) for mailman id 466195;
 Mon, 19 Dec 2022 15:02:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=eGu8=4R=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7HeW-00037N-1W
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 15:02:04 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on2040.outbound.protection.outlook.com [40.107.6.40])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 17f82f2e-7fae-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 16:02:02 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8134.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec
 2022 15:02:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022
 15:02:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17f82f2e-7fae-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LQ8EYyTBXCTzMHy+VB9TYLzevQe+N37pZUD50ny1du46wXCEwrR+pQOdrChvw73AZmCwy/h8Seg+gJFgAmm0JZc5bg1MkjiBoJ5B24dMvdrkBXFCxuINenTjN+9e16aBJ6+QPj59iAMvzBq32owjH6zkRFiwFhxE8mMEb1RNidiZCF6MdzDHoaX0O0Hpkjd8XqfmYzyqa4shtRrTii4+IvEjAH6be/jvKoSb6MqkC3MKuzAMsSfAMfQgWySZoS5CSQQJ4B2cRrl4TlrAn9x4MwF0sriVz650jgo3iUTTMNEyHLwmvua11C6keY7PV1HsXHt+2C2um7ImGVpqE3GKZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WlcFXuq1g/XlJtfiZffwTl43JILP6Xj6tBc7eakquRY=;
 b=lguJcK1j9yxBy/ZVIJ4wGGApYGtF4IdVy1vWYJCBR6QfHAyOdGvtOxPASrO/RKE3yYkOhsg1yOw1h2fopBFctA7w9WVyFDae5ANI74OwSG6q5Z5X+52iXOJiueR5fY1ifRtOdrpIkWi6CdLQuT/aSuHUTN0ZzPhZ79vhVQ6sdyXGjPQ5HgK9U5ONsz43MzK7Ma/pWZzmIHjD3jh8NPAehXpmRJdNZvMPb/MfUB+u4xq7APkwrNU0dMCTsiK+7jW16UmFVAZhWJIMFb7k7wCqXLWk60jCqp13ApR0qOrHFUbKi4Ap7NNMO0uvc/W8a32r20UGe8Iucr8z7CAwIBSHaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WlcFXuq1g/XlJtfiZffwTl43JILP6Xj6tBc7eakquRY=;
 b=KuYt1kjYsyNeI9YIz9dByqA3/Tj0K8zcwNSEWxqj4gc77qlYqJx955i+78Wr63BKAsZG8LLsFFoBzi9r8gcHxuXsJ0zdE3u0/BS2dHnLfvG7p4oij/x2hTjwXC8Txy1fLJ8Yx19giFUi6F1Uk8zBHi53JQH48trYvtRqW8m8Ou3plOMukttsLC/fqYt0dgtoC+3ur989NbGJC632YG/aCX/+2R4gFFM+6A3Ew5+dvCr6mqa8kVDVmNQT+Vs+N0Bc8s3m/m6c0H+hbuAyW303c/I0p+DGfiMuosYmcR2QheTbC6DYgedpwCoLnrtqRYVW1m9dxVOtX3SxX9RDlGny8A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e87503e1-992f-28d6-cfa5-e0882541a12b@suse.com>
Date: Mon, 19 Dec 2022 16:01:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH RFC 10/10] common: convert vCPU info area registration
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <f1745e62-8a46-e9af-6a79-592a5402a5f4@suse.com>
 <92e35f8b-72d9-e55f-9218-3f21742c14c6@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <92e35f8b-72d9-e55f-9218-3f21742c14c6@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0120.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8134:EE_
X-MS-Office365-Filtering-Correlation-Id: b3c2c7bb-95cd-47ce-6476-08dae1d1fb1d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XXKygtfSTAteKZEZRjstbGVlfymC9ywRYqvA8ty75Y0OKxZ56uf0Z3DAvsRvnOPNmvLTDlOe8pls4YjqnrmUblRH4zwLim4eJMEyloGkAfWxeH+dD8QhMF4fAOe1lBlHtDQceI1IKXkpG91COY4XThnnuMJOVzZKcqbAazdHB9bxhssuv2806r7Ff/gy4wCHz0z2KfubG5Hpd5BHfGBUlW0KQj3WyEVNBzaiJhKWoq04RjZe6+o1PgxPhAnolR+aSWX1D3kdE+vizQ7jhxL4eWirF3Vmzs8GBPfYp7UGxvtzitdUexsa/LuPIz8Uy7KsaSneVsFyCrb2zDN1Iifsu7siFbfx/mQ8tiCijnuqKAfqA1WdJvPHnQxxs4tzIoXH02Lbrv9DL+WAPOwKm9Opp9rSA8Jm+sOvoG5IEOV7+3k0jvJzPxzMKdew1mY0osOiGOf9U47aYcdbLI4DcYxktyJ4zUCjX9FdXPactwVGtKQEM078dfLNE4GH8HE0McsZTnt5GwYj1jvFsTWDxOE3+9RYSUv6pOwacTekTxPc97PTFgm0a34aONcpMZGMdaujXQIQkXHCIpNbsRIFhH+f29+7WQL3OETJy3CaITmAjMVM9ei3bfcnDGixka6kt0nTJEE7phl4Av04k6+22zHEhfN+YaVKbRkuXjE4BxwKZHXKHcPi0wBP0KeQ0ia/TicEFqrg77BgU0USQIhfTQAeeO1oBr9T2i+rd7ObXM3dJyo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(39860400002)(396003)(366004)(136003)(346002)(451199015)(31696002)(86362001)(478600001)(2906002)(6506007)(6486002)(53546011)(31686004)(6512007)(26005)(6916009)(54906003)(83380400001)(186003)(2616005)(66476007)(8676002)(66556008)(5660300002)(4326008)(66946007)(38100700002)(36756003)(8936002)(316002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cW8ydTRpT0g1QkZSYXJGTnBkYzc2RW02VGRXWnhNLzVyTkx5MGxUSGFNdSs5?=
 =?utf-8?B?U3dVVDB5SE1MSys1TWYyTC9xeDE3QUpWUS9TUmwwOUc2ajF4a1ZVMHhza2tP?=
 =?utf-8?B?Sk9rNnVweGdLVUFha2xDcnVMUDd3M0FPU1V5MjJvbFRFWEtUZlZrVzRwQS9t?=
 =?utf-8?B?S0Q5Umt3Y0hWdUxldC9TUHE4cHdFZDlueEhML0NveFArT2RMcDFPWmc2Z2Yx?=
 =?utf-8?B?ZzBaQzF0a2VNUFZ4UVZ1a3ZsczlGNG13SVlYWTdrQi9jN3NTa2ZLbTNoeGhD?=
 =?utf-8?B?MUJLaTVCdnpMT0VBc3lMTktrS1VrenNSTUdHZXRUVHpkR0QrYW5EQjBsN0ho?=
 =?utf-8?B?aTNqdDJPb3QxVUtPOXgxQ0F4ZlhPVG1ZRUdaSnBCWDBPUUNNZ2haNnl1Y1lS?=
 =?utf-8?B?b3MzUkRnbXQzL3NVUzQ2clJGRjd0cXJlMk16cTB5WFVWbGVaR3Rxc2JicEt5?=
 =?utf-8?B?Z1VOczhGL3pLOVFQU3BhdHFFMm1CVmNoeXhtSEY3Z0hvdUNUdHRVdGxWS3Vv?=
 =?utf-8?B?M1VVSk8yeU03cHNHeGRrWjhiUjBrS2VQdGJsOFRQbk12cDlzSWwxU1FtT3ky?=
 =?utf-8?B?VHNTWi9iTlk2NHh2VURWVUFmd3VhL1NYdHY0eFlLZHVWdTl2aUdWa0swdHF0?=
 =?utf-8?B?Tkk5UXJ1T2xpcWc0K2Y4SE8yZHRaMnhWZDVtbmFVeldQUEcybkF0TFljV3ow?=
 =?utf-8?B?S3hKZTJ3clJvclVsSmJaODhGV2lBaUkrQjQvV1RtZjhObUtzbGMyS0Z5L3Vx?=
 =?utf-8?B?TzNLckNaTGNLUytCZFFQWTJ3N202bUtPa2dQQWs5b1ZqQkVCbVY2cDlucWVU?=
 =?utf-8?B?RjVrVjVaVURxT1VmNkQ1SEh2QnBUem5LdXhEcTRPVmswekZ5T3AzQnBvUWp4?=
 =?utf-8?B?V1hDamM2TnBhRklBdEs5OU9ybTBCK0NmMHZJM09VVnNHQ0NNSTdpaXJmcWJ3?=
 =?utf-8?B?MXIzQTRNRHFCZ3RPL0o2VXVrVHVDODY1bDgzUllrU1BuOUdoekhFZHY4ckRE?=
 =?utf-8?B?V0F2OGI4aXphODJuMlNkazRzRDdJelZPb2N4QWI1ZVd2K2J0Vi96MXBoZVRK?=
 =?utf-8?B?LzVtdUpsLzdKUXBIdHptVFd2U3ErV1oydlpYd203eTdvcFBsVzZoOE5QNWFV?=
 =?utf-8?B?MGZwancrbG1jR3NROTNvaW1VME9KRGhUU09jT1JuMXExWnM5b3cxTVg1WHZM?=
 =?utf-8?B?Smp2WFkvL0IwN00xaXJtN2FaYzhLS0cxNDhFNm92d2NOWlE5b0swcG1mUE4v?=
 =?utf-8?B?ZGRFdjVSWHZxM0RRR1hKMEVGVW5KVXI1MGFzeCtGWU44NFlMeTlQQXhGVVNp?=
 =?utf-8?B?MWE5Ry8vWDdMZTlPUmVQbmx6TFVPWCtNRWxtZ2NzcmI5NjIxbWNwUmtBTmo4?=
 =?utf-8?B?ZWZYQ21yYVgrY3VtbnpqdW4rTTdaZ1BJNG00dndjRWV4YldBZnVEWFdHZWx1?=
 =?utf-8?B?QjVudy9qcFRaWTQreXVvaU0yOG03OVFRN0RpcTdrcVI5blFVdWFSUXBWajBZ?=
 =?utf-8?B?Qm9HdFFtKzlPaEVtamFCOXE0OC9hMnVvUks3NU1ISXUwd1ZYVk40YUNZcjJQ?=
 =?utf-8?B?U0VjTmd1TjBNS3A5R2ZyQnMyQjF5T3F5WkNQWDl0Ky8zNkVxR2xvdE1qcElP?=
 =?utf-8?B?VGU4WHJXSk93bTNGaDN5M0pPZ0l1WU1FTTJxOGdDNGFhaGN4TU5kMFk1NmZO?=
 =?utf-8?B?aVJiaGJlbnltZUc1QUFVMXZRMDEzbmZVYXlBZ2ludkQ5YS8vRWZ2UUhuYzdi?=
 =?utf-8?B?RThXUzhHOW1xQTlDYTdYR3BDNG5MdDdjSHN3UEpGMVJOZkptdEdXanBPejZ6?=
 =?utf-8?B?ZFVNNDVTWWhHNTdWRlREcG5YZDcza0xtTVdZb3FRSEtwdjBBM0g4UDBlZUhJ?=
 =?utf-8?B?Yzl2alZMWGVMWUVYZUF2V3FOdkdwYUFDd1ZSUVBhRUphcHlLbDR3MGwrTG9G?=
 =?utf-8?B?Z3YvT3ZXZ1RDZTZaS0lYajR4M29WQ0xvWFNlT20vQTgyOUdUZDl6Y0htVy9S?=
 =?utf-8?B?ZlNON3RBNXAwMnJ1cmluVjZ3b25ZQzl3dHI1Z2huSXpVem5LQWUwQVFacjJy?=
 =?utf-8?B?NzFKTkMvSjdQNEFnS3ZLNmpMUVBnVEpGVEJma205R1hKVmV4bHA1SlZ0dGJI?=
 =?utf-8?Q?Rj1ERnefs2dL9KZt/kPA+oyEn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b3c2c7bb-95cd-47ce-6476-08dae1d1fb1d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Dec 2022 15:02:00.4705
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rttWha6owp2rBacOqndCoV7m6LXnOToRJLjl2pzKsUNIfUGhuSx27vlgEvwK07gTThvCpR+BZGSxkOVL4bEh3A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8134

On 17.12.2022 16:53, Julien Grall wrote:
> On 19/10/2022 08:45, Jan Beulich wrote:
>> Switch to using map_guest_area(). Noteworthy differences from
>> map_vcpu_info():
>> - remote vCPU-s are paused rather than checked for being down (which in
>>    principle can change right after the check),
>> - the domain lock is taken for a much smaller region,
>> - areas could now be registered more than once, if we want this,
>> - as a corner case registering the area at GFN 0 offset 0 is no longer
>>    possible (this is considered an invalid de-registration request).
>>
>> Note that this eliminates a bug in copy_vcpu_settings(): The function
>> did allocate a new page regardless of the GFN already having a mapping,
>> thus in particular breaking the case of two vCPU-s having their info
>> areas on the same page.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> RFC: While the "no re-registration" check is retained, it is now racy.
>>       If we really think it needs retaining _and_ properly enforcing,
>>       then locking will be needed, but I don't think we can hold the
>>       domain lock around a call to map_guest_area(), first and foremost
>>       because of its use of vcpu_pause().
> 
> function like evtchn_2l_unmask() may access vcpu_info that is not the 
> current one.
> 
> So I believe the check needs to be reatined and properly enforced. 
> Otherwise, the old structure may still be used for a short time even if 
> it has been freed.

Good point, I'll try to come up with something suitable.

>> RFC: Is the GFN 0 offset 0 behavioral change deemed acceptable?
> 
> I would say n  (See the previous discussion for more details).

Of course - with 0 going to be replaced in map_guest_area(), the check
there needs to be adjusted accordingly. And ~0 was already invalid to
pass in here, due to the alignment check.

>> RFC: To have just a single instance of casts to vcpu_info_t *,
>>       introducing a macro (or inline function if header dependencies
>>       permit) might be nice. However, the only sensible identifier for it
>>       would imo be vcpu_info(). Yet we already have a macro of that name.
>>       With some trickery it might be possible to overload the macro
>>       (making the "field" argument optional), but this may not be
>>       desirable for other reasons (it could e.g. be deemed confusing).
> 
> You might be able to reduce the number of cast by using local variables.
> 
> But it is not entirely clear why we can't use the existing vcpu_info() 
> in many of the cases. For instance...
> 
> 
>>
>> --- a/xen/arch/x86/include/asm/shared.h
>> +++ b/xen/arch/x86/include/asm/shared.h
>> @@ -27,16 +27,16 @@ static inline void arch_set_##field(stru
>>   static inline type arch_get_##field(const struct vcpu *v)       \
>>   {                                                               \
>>       return !has_32bit_shinfo(v->domain) ?                       \
>> -           v->vcpu_info->native.arch.field :                    \
>> -           v->vcpu_info->compat.arch.field;                     \
>> +           ((const vcpu_info_t *)v->vcpu_info_area.map)->native.arch.field : \
>> +           ((const vcpu_info_t *)v->vcpu_info_area.map)->compat.arch.field;  \
> 
> ... here.

vcpu_info() has a property which gets in the way of using the macro
here. Since __vcpu_info() wants to return something which can also
be used as lvalue, the 2nd and 3rd operands of the conditional
operator need to resolve to the same pointer type. Hence the smaller
(compat) type is the only one which is safe to use. See the comment
next to __shared_info()'s definition (which is the one __vcpu_info()'s
refers to).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 15:19:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 15:19:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466203.725064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Hur-0004km-7y; Mon, 19 Dec 2022 15:18:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466203.725064; Mon, 19 Dec 2022 15:18:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Hur-0004kf-5C; Mon, 19 Dec 2022 15:18:57 +0000
Received: by outflank-mailman (input) for mailman id 466203;
 Mon, 19 Dec 2022 15:11:14 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KaZ1=4R=alefbet.net=tristan.israel@srs-se1.protection.inumbo.net>)
 id 1p7HnO-0004cH-3R
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 15:11:14 +0000
Received: from relay9-d.mail.gandi.net (relay9-d.mail.gandi.net
 [217.70.183.199]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c4f36e0-7faf-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 16:11:06 +0100 (CET)
Received: (Authenticated sender: tristan@tibsys.com)
 by mail.gandi.net (Postfix) with ESMTPSA id 54F58FF809
 for <xen-devel@lists.xenproject.org>; Mon, 19 Dec 2022 15:11:04 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c4f36e0-7faf-11ed-8fd4-01056ac49cbb
From: tristan.israel@alefbet.net
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_AF449565-4DF7-487C-B595-E33F950136CB"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.200.110.1.12\))
Subject: Using 9P between domains
Message-Id: <04E47D37-6F76-4371-A5E2-E29633143865@alefbet.net>
Date: Mon, 19 Dec 2022 16:10:54 +0100
To: xen-devel@lists.xenproject.org
X-Mailer: Apple Mail (2.3731.200.110.1.12)


--Apple-Mail=_AF449565-4DF7-487C-B595-E33F950136CB
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Good morning,

I=E2=80=99m trying to configure 2 domains : =C2=AB front =C2=BB and =C2=AB=
 back =C2=BB. The =C2=AB back =C2=BB contains a filesystem which I want =
to
partially share with the =C2=AB front =C2=BB.

The =C2=AB front =C2=BB and =C2=AB back =C2=BB are PV under Debian 11.

I am using the following configuration in the front :=20
p9 =3D [ =E2=80=99tag=3Dtest,security_model=3Dnone,path=3D/var/lib,backend=
=3Dback=E2=80=99 ]

When I am on the =C2=AB front =C2=BB I do the following :
# modprobe 9pnet_xen

I get the following error in dmesg : "9pfs: probe of 9pfs-0 failed with =
error -2"

Can someone help me with the configuration of this? Is there any web =
page which can *really* help?

Thank you!


--Apple-Mail=_AF449565-4DF7-487C-B595-E33F950136CB
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"overflow-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;"><div>Good =
morning,</div><div><br></div><div>I=E2=80=99m trying to configure 2 =
domains : =C2=AB&nbsp;front&nbsp;=C2=BB and =C2=AB&nbsp;back&nbsp;=C2=BB. =
The =C2=AB&nbsp;back&nbsp;=C2=BB contains a filesystem which I want =
to</div><div>partially share with the =
=C2=AB&nbsp;front&nbsp;=C2=BB.</div><div><br></div><div>The =
=C2=AB&nbsp;front&nbsp;=C2=BB and =C2=AB&nbsp;back&nbsp;=C2=BB are PV =
under Debian 11.</div><div><br></div><div>I am using the following =
configuration in the front :&nbsp;</div><div>p9 =3D [ =
=E2=80=99tag=3Dtest,security_model=3Dnone,path=3D/var/lib,backend=3Dback=E2=
=80=99 ]</div><div><br></div><div>When I am on the =C2=AB&nbsp;front&nbsp;=
=C2=BB I do the following :</div><div># modprobe =
9pnet_xen</div><div><br></div><div>I get the following error in dmesg : =
"9pfs: probe of 9pfs-0 failed with error =
-2"</div><div><br></div><div>Can someone help me with the configuration =
of this? Is there any web page which can *really* =
help?</div><div><br></div><div>Thank you!</div><div><div><br></div>
</div>
</body></html>=

--Apple-Mail=_AF449565-4DF7-487C-B595-E33F950136CB--


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 15:20:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 15:20:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466213.725074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HwH-000652-Ib; Mon, 19 Dec 2022 15:20:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466213.725074; Mon, 19 Dec 2022 15:20:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7HwH-00064v-G6; Mon, 19 Dec 2022 15:20:25 +0000
Received: by outflank-mailman (input) for mailman id 466213;
 Mon, 19 Dec 2022 15:20:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7HwG-00064e-9N; Mon, 19 Dec 2022 15:20:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7HwG-0002Mp-8I; Mon, 19 Dec 2022 15:20:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7HwF-0000u6-S9; Mon, 19 Dec 2022 15:20:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7HwF-0007Mx-Pz; Mon, 19 Dec 2022 15:20:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HK3c7kxvVMkrUKHE8m1zjhsi805vd8vvcjLfbPLGbTA=; b=YuWiLu2cPq++gg1M4/P7CTIBT0
	e2nq5+7uXTRw9XKGCNDM0bm+EAde5oTh/25uEZ9oXnI1oSHMHOvF7A9wbI+I2LJRK7NbzHqxdoIbM
	NioebVIMU4KQayeJTc0rBx5hC4aK/sYc9O3khawSAu/Ah9NPXgQYBnzvt/KnCcChxacA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175406-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175406: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=da5092e7d6ed4714b5dc63ed2cd7f6c93dd6efd4
X-Osstest-Versions-That:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 19 Dec 2022 15:20:23 +0000

flight 175406 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175406/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  da5092e7d6ed4714b5dc63ed2cd7f6c93dd6efd4
baseline version:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2

Last test of basis   175343  2022-12-17 00:05:24 Z    2 days
Testing same since   175406  2022-12-19 11:03:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Neowutran <xen@neowutran.ovh>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   12b593ca0d..da5092e7d6  da5092e7d6ed4714b5dc63ed2cd7f6c93dd6efd4 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 15:37:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 15:37:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466224.725085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ICi-0007hd-W0; Mon, 19 Dec 2022 15:37:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466224.725085; Mon, 19 Dec 2022 15:37:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ICi-0007hW-TK; Mon, 19 Dec 2022 15:37:24 +0000
Received: by outflank-mailman (input) for mailman id 466224;
 Mon, 19 Dec 2022 15:37:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hnvL=4R=amazon.com=prvs=345b60ec5=ptyadav@srs-se1.protection.inumbo.net>)
 id 1p7ICh-0007hQ-B9
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 15:37:23 +0000
Received: from smtp-fw-6001.amazon.com (smtp-fw-6001.amazon.com [52.95.48.154])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 06c38a81-7fb3-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 16:37:22 +0100 (CET)
Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO
 email-inbound-relay-pdx-2b-m6i4x-0ec33b60.us-west-2.amazon.com) ([10.43.8.2])
 by smtp-border-fw-6001.iad6.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Dec 2022 15:37:16 +0000
Received: from EX13D31EUA004.ant.amazon.com
 (pdx1-ws-svc-p6-lb9-vlan2.pdx.amazon.com [10.236.137.194])
 by email-inbound-relay-pdx-2b-m6i4x-0ec33b60.us-west-2.amazon.com (Postfix)
 with ESMTPS id 3DFD6A2BBC; Mon, 19 Dec 2022 15:37:15 +0000 (UTC)
Received: from EX19D008EUA004.ant.amazon.com (10.252.50.158) by
 EX13D31EUA004.ant.amazon.com (10.43.165.161) with Microsoft SMTP Server (TLS)
 id 15.0.1497.42; Mon, 19 Dec 2022 15:37:14 +0000
Received: from EX13MTAUEA001.ant.amazon.com (10.43.61.82) by
 EX19D008EUA004.ant.amazon.com (10.252.50.158) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1118.20;
 Mon, 19 Dec 2022 15:37:13 +0000
Received: from dev-dsk-ptyadav-1c-37607b33.eu-west-1.amazon.com (10.15.11.255)
 by mail-relay.amazon.com (10.43.61.243) with Microsoft SMTP Server id
 15.0.1497.42 via Frontend Transport; Mon, 19 Dec 2022 15:37:12 +0000
Received: by dev-dsk-ptyadav-1c-37607b33.eu-west-1.amazon.com (Postfix,
 from userid 23027615)
 id A716920D70; Mon, 19 Dec 2022 16:37:11 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 06c38a81-7fb3-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.de; i=@amazon.de; q=dns/txt; s=amazon201209;
  t=1671464242; x=1703000242;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=9p+mxbd5kh6SOfLyESUFNEms88GQjCAKJPms8yWVsvk=;
  b=M+kHiWP0gtF7w4GQfFUWZ8fcdje43sTRzeeIFWcMwscaKG9ZRLFv3Lcu
   RXy3aOfqCQl2Pr3SIwqZONBklRlsxgVwCPr2ByZPf7GROAfXJW/2LWnO2
   Wgr7IO0svXfvRu+f02JwM7ipOuOpQxY+Ih6J23m9nfgVblclozc08kHnt
   E=;
X-IronPort-AV: E=Sophos;i="5.96,255,1665446400"; 
   d="scan'208";a="280451857"
From: Pratyush Yadav <ptyadav@amazon.de>
To: <stable@vger.kernel.org>
CC: Pratyush Yadav <ptyadav@amazon.de>, Greg Kroah-Hartman
	<gregkh@linuxfoundation.org>, Wei Liu <wei.liu@kernel.org>, Paul Durrant
	<paul@xen.org>, "David S. Miller" <davem@davemloft.net>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Jakub Kicinski <kuba@kernel.org>, "Sasha
 Levin" <sashal@kernel.org>, Puranjay Mohan <pjy@amazon.de>, Maximilian Heyne
	<mheyne@amazon.de>, Julien Grall <julien@xen.org>,
	<xen-devel@lists.xenproject.org>, <netdev@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: [PATCH 5.4] xen-netback: move removal of "hotplug-status" to the right place
Date: Mon, 19 Dec 2022 16:37:10 +0100
Message-ID: <20221219153710.23782-1-ptyadav@amazon.de>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

The removal of "hotplug-status" has moved around a bit. First it was
moved from netback_remove() to hotplug_status_changed() in upstream
commit 1f2565780e9b ("xen-netback: remove 'hotplug-status' once it has
served its purpose"). Then the change was reverted in upstream commit
0f4558ae9187 ("Revert "xen-netback: remove 'hotplug-status' once it has
served its purpose""), but it moved the removal to backend_disconnect().
Then the upstream commit c55f34b6aec2 ("xen-netback: only remove
'hotplug-status' when the vif is actually destroyed") moved it finally
back to netback_remove(). The thing to note being it is removed
unconditionally this time around.

The story on v5.4.y adds to this confusion. Commit 60e4e3198ce8 ("Revert
"xen-netback: remove 'hotplug-status' once it has served its purpose"")
is backported to v5.4.y but the original commit that it tries to revert
was never present on 5.4. So the backport incorrectly ends up just
adding another xenbus_rm() of "hotplug-status" in backend_disconnect().

Now in v5.4.y it is removed in both backend_disconnect() and
netback_remove(). But it should only be removed in netback_remove(), as
the upstream version does.

Removing "hotplug-status" in backend_disconnect() causes problems when
the frontend unilaterally disconnects, as explained in
c55f34b6aec2 ("xen-netback: only remove 'hotplug-status' when the vif is
actually destroyed").

Remove "hotplug-status" in the same place as it is done on the upstream
version to ensure unilateral re-connection of frontend continues to
work.

Fixes: 60e4e3198ce8 ("Revert "xen-netback: remove 'hotplug-status' once it has served its purpose"")
Signed-off-by: Pratyush Yadav <ptyadav@amazon.de>
---
 drivers/net/xen-netback/xenbus.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/xen-netback/xenbus.c b/drivers/net/xen-netback/xenbus.c
index 44e353dd2ba1..43bd881ab3dd 100644
--- a/drivers/net/xen-netback/xenbus.c
+++ b/drivers/net/xen-netback/xenbus.c
@@ -202,10 +202,10 @@ static int netback_remove(struct xenbus_device *dev)
 	set_backend_state(be, XenbusStateClosed);

 	unregister_hotplug_status_watch(be);
+	xenbus_rm(XBT_NIL, dev->nodename, "hotplug-status");
 	if (be->vif) {
 		kobject_uevent(&dev->dev.kobj, KOBJ_OFFLINE);
 		xen_unregister_watchers(be->vif);
-		xenbus_rm(XBT_NIL, dev->nodename, "hotplug-status");
 		xenvif_free(be->vif);
 		be->vif = NULL;
 	}
@@ -435,7 +435,6 @@ static void backend_disconnect(struct backend_info *be)
 		unsigned int queue_index;

 		xen_unregister_watchers(vif);
-		xenbus_rm(XBT_NIL, be->dev->nodename, "hotplug-status");
 #ifdef CONFIG_DEBUG_FS
 		xenvif_debugfs_delif(vif);
 #endif /* CONFIG_DEBUG_FS */
--
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 15:42:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 15:42:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466232.725097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7IHp-0000h6-IP; Mon, 19 Dec 2022 15:42:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466232.725097; Mon, 19 Dec 2022 15:42:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7IHp-0000gz-Fd; Mon, 19 Dec 2022 15:42:41 +0000
Received: by outflank-mailman (input) for mailman id 466232;
 Mon, 19 Dec 2022 15:42:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TGe1=4R=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1p7IHn-0000gr-BM
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 15:42:39 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c31e6a37-7fb3-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 16:42:36 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 1F770B80E53;
 Mon, 19 Dec 2022 15:42:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 444B1C433D2;
 Mon, 19 Dec 2022 15:42:34 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c31e6a37-7fb3-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1671464554;
	bh=oiRflUUrN9bOaDwDQpqkHsr1lb3UHJCMBAT9e34G5mE=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=r5cDx+BtP2K4XWscbCzfdt8AoZagaehZj070cUl5VgcIS1p/YAUbp3ROeQZ192BKX
	 q5AWMzNd7sErqwBkcyVIpBNAjtJrfc6dHqCmORCf8hxBGP6yYMXTxNuk0/ZMYeeqts
	 mjX0w/5SGEE5rWy4bwI/UfZiC+zYiUW+YWBRPBT0=
Date: Mon, 19 Dec 2022 16:42:32 +0100
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Pratyush Yadav <ptyadav@amazon.de>
Cc: stable@vger.kernel.org, Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	"David S. Miller" <davem@davemloft.net>,
	Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
	Jakub Kicinski <kuba@kernel.org>, Sasha Levin <sashal@kernel.org>,
	Puranjay Mohan <pjy@amazon.de>, Maximilian Heyne <mheyne@amazon.de>,
	Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org,
	netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5.4] xen-netback: move removal of "hotplug-status" to the
 right place
Message-ID: <Y6CGaHI554sbb9zt@kroah.com>
References: <20221219153710.23782-1-ptyadav@amazon.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20221219153710.23782-1-ptyadav@amazon.de>

On Mon, Dec 19, 2022 at 04:37:10PM +0100, Pratyush Yadav wrote:
> The removal of "hotplug-status" has moved around a bit. First it was
> moved from netback_remove() to hotplug_status_changed() in upstream
> commit 1f2565780e9b ("xen-netback: remove 'hotplug-status' once it has
> served its purpose"). Then the change was reverted in upstream commit
> 0f4558ae9187 ("Revert "xen-netback: remove 'hotplug-status' once it has
> served its purpose""), but it moved the removal to backend_disconnect().
> Then the upstream commit c55f34b6aec2 ("xen-netback: only remove
> 'hotplug-status' when the vif is actually destroyed") moved it finally
> back to netback_remove(). The thing to note being it is removed
> unconditionally this time around.
> 
> The story on v5.4.y adds to this confusion. Commit 60e4e3198ce8 ("Revert
> "xen-netback: remove 'hotplug-status' once it has served its purpose"")
> is backported to v5.4.y but the original commit that it tries to revert
> was never present on 5.4. So the backport incorrectly ends up just
> adding another xenbus_rm() of "hotplug-status" in backend_disconnect().
> 
> Now in v5.4.y it is removed in both backend_disconnect() and
> netback_remove(). But it should only be removed in netback_remove(), as
> the upstream version does.
> 
> Removing "hotplug-status" in backend_disconnect() causes problems when
> the frontend unilaterally disconnects, as explained in
> c55f34b6aec2 ("xen-netback: only remove 'hotplug-status' when the vif is
> actually destroyed").
> 
> Remove "hotplug-status" in the same place as it is done on the upstream
> version to ensure unilateral re-connection of frontend continues to
> work.
> 
> Fixes: 60e4e3198ce8 ("Revert "xen-netback: remove 'hotplug-status' once it has served its purpose"")
> Signed-off-by: Pratyush Yadav <ptyadav@amazon.de>
> ---
>  drivers/net/xen-netback/xenbus.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)

Now queued up, thanks.

greg k-h


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 15:43:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 15:43:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466235.725108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7IIA-0001A0-02; Mon, 19 Dec 2022 15:43:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466235.725108; Mon, 19 Dec 2022 15:43:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7II9-00019t-Sn; Mon, 19 Dec 2022 15:43:01 +0000
Received: by outflank-mailman (input) for mailman id 466235;
 Mon, 19 Dec 2022 15:43:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TGe1=4R=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1p7II9-00019i-9h
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 15:43:01 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0770080-7fb3-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 16:43:00 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A461B6102A;
 Mon, 19 Dec 2022 15:42:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9ECF3C433F0;
 Mon, 19 Dec 2022 15:42:57 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0770080-7fb3-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1671464578;
	bh=kpd0HiwHfLJpUb7XCz8g5W4xpTaALiTKH66t8ZH6JpM=;
	h=Subject:To:Cc:From:Date:In-Reply-To:From;
	b=yImR4KEuESv4ASj0dI7DSRNoWkHF6xWKBhIg+BUPlIn9/hTbrcrDiNWXaL3unkvOy
	 AluiIqNzMXBbM6lD5S1QEhwq387ME+8fgv43fuq+gNi3PnXE8ISiG0QvRA8jkWBJBF
	 FqiTAMRIrbDeAN+B9+jui4F5IR8rUaASQlB67OrE=
Subject: Patch "xen-netback: move removal of "hotplug-status" to the right place" has been added to the 5.4-stable tree
To: davem@davemloft.net,gregkh@linuxfoundation.org,julien@xen.org,kuba@kernel.org,marmarek@invisiblethingslab.com,mheyne@amazon.de,paul@xen.org,pjy@amazon.de,ptyadav@amazon.de,sashal@kernel.org,wei.liu@kernel.org,xen-devel@lists.xenproject.org
Cc: <stable-commits@vger.kernel.org>
From: <gregkh@linuxfoundation.org>
Date: Mon, 19 Dec 2022 16:42:55 +0100
In-Reply-To: <20221219153710.23782-1-ptyadav@amazon.de>
Message-ID: <1671464575160233@kroah.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-stable: commit
X-Patchwork-Hint: ignore 


This is a note to let you know that I've just added the patch titled

    xen-netback: move removal of "hotplug-status" to the right place

to the 5.4-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     xen-netback-move-removal-of-hotplug-status-to-the-right-place.patch
and it can be found in the queue-5.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


>From ptyadav@amazon.de  Mon Dec 19 16:41:51 2022
From: Pratyush Yadav <ptyadav@amazon.de>
Date: Mon, 19 Dec 2022 16:37:10 +0100
Subject: xen-netback: move removal of "hotplug-status" to the right place
To: <stable@vger.kernel.org>
Cc: "Pratyush Yadav" <ptyadav@amazon.de>, "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "Wei Liu" <wei.liu@kernel.org>, "Paul Durrant" <paul@xen.org>, "David S. Miller" <davem@davemloft.net>, "Marek Marczykowski-Grecki" <marmarek@invisiblethingslab.com>, "Jakub Kicinski" <kuba@kernel.org>, "Sasha Levin" <sashal@kernel.org>, "Puranjay Mohan" <pjy@amazon.de>, "Maximilian Heyne" <mheyne@amazon.de>, "Julien Grall" <julien@xen.org>, xen-devel@lists.xenproject.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Message-ID: <20221219153710.23782-1-ptyadav@amazon.de>

From: Pratyush Yadav <ptyadav@amazon.de>

The removal of "hotplug-status" has moved around a bit. First it was
moved from netback_remove() to hotplug_status_changed() in upstream
commit 1f2565780e9b ("xen-netback: remove 'hotplug-status' once it has
served its purpose"). Then the change was reverted in upstream commit
0f4558ae9187 ("Revert "xen-netback: remove 'hotplug-status' once it has
served its purpose""), but it moved the removal to backend_disconnect().
Then the upstream commit c55f34b6aec2 ("xen-netback: only remove
'hotplug-status' when the vif is actually destroyed") moved it finally
back to netback_remove(). The thing to note being it is removed
unconditionally this time around.

The story on v5.4.y adds to this confusion. Commit 60e4e3198ce8 ("Revert
"xen-netback: remove 'hotplug-status' once it has served its purpose"")
is backported to v5.4.y but the original commit that it tries to revert
was never present on 5.4. So the backport incorrectly ends up just
adding another xenbus_rm() of "hotplug-status" in backend_disconnect().

Now in v5.4.y it is removed in both backend_disconnect() and
netback_remove(). But it should only be removed in netback_remove(), as
the upstream version does.

Removing "hotplug-status" in backend_disconnect() causes problems when
the frontend unilaterally disconnects, as explained in
c55f34b6aec2 ("xen-netback: only remove 'hotplug-status' when the vif is
actually destroyed").

Remove "hotplug-status" in the same place as it is done on the upstream
version to ensure unilateral re-connection of frontend continues to
work.

Fixes: 60e4e3198ce8 ("Revert "xen-netback: remove 'hotplug-status' once it has served its purpose"")
Signed-off-by: Pratyush Yadav <ptyadav@amazon.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/net/xen-netback/xenbus.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- a/drivers/net/xen-netback/xenbus.c
+++ b/drivers/net/xen-netback/xenbus.c
@@ -202,10 +202,10 @@ static int netback_remove(struct xenbus_
 	set_backend_state(be, XenbusStateClosed);
 
 	unregister_hotplug_status_watch(be);
+	xenbus_rm(XBT_NIL, dev->nodename, "hotplug-status");
 	if (be->vif) {
 		kobject_uevent(&dev->dev.kobj, KOBJ_OFFLINE);
 		xen_unregister_watchers(be->vif);
-		xenbus_rm(XBT_NIL, dev->nodename, "hotplug-status");
 		xenvif_free(be->vif);
 		be->vif = NULL;
 	}
@@ -435,7 +435,6 @@ static void backend_disconnect(struct ba
 		unsigned int queue_index;
 
 		xen_unregister_watchers(vif);
-		xenbus_rm(XBT_NIL, be->dev->nodename, "hotplug-status");
 #ifdef CONFIG_DEBUG_FS
 		xenvif_debugfs_delif(vif);
 #endif /* CONFIG_DEBUG_FS */


Patches currently in stable-queue which might be from ptyadav@amazon.de are

queue-5.4/xen-netback-move-removal-of-hotplug-status-to-the-right-place.patch
queue-5.4/tracing-ring-buffer-only-do-full-wait-when-cpu-ring_buffer_all_cpus.patch


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 16:46:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 16:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466250.725119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7JGx-00087n-FK; Mon, 19 Dec 2022 16:45:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466250.725119; Mon, 19 Dec 2022 16:45:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7JGx-00087g-Cb; Mon, 19 Dec 2022 16:45:51 +0000
Received: by outflank-mailman (input) for mailman id 466250;
 Mon, 19 Dec 2022 16:45:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7JGv-00087W-V7; Mon, 19 Dec 2022 16:45:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7JGv-0004kd-Rs; Mon, 19 Dec 2022 16:45:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7JGv-0005Dq-Ff; Mon, 19 Dec 2022 16:45:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7JGv-0002GQ-F5; Mon, 19 Dec 2022 16:45:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jitQnyx9XMZQJNJbx0hamrZZ7wIUawOWJmWSaVnlBgA=; b=ztpHT58qYyeoZoIB3dvBpdsUuG
	14MC6rraYSukFcReUGWPevubhNdCrZ9BjCzsqtaKUrAWAW01QN8n20igFB3wakVHQ2bCRJR8xmrEs
	jPBwtBX67LHi5aKw3GG+wnDeM2uZRAYOTmxmKTjvAF921EGpf8AfJPoOVbC9z2b/5+dU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175404-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175404: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=05da2d24b08bad1d2472a56d8c905e51d1a0ffe3
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 19 Dec 2022 16:45:49 +0000

flight 175404 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175404/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 05da2d24b08bad1d2472a56d8c905e51d1a0ffe3
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    5 days
Failing since        175214  2022-12-14 18:42:16 Z    4 days   32 attempts
Testing same since   175404  2022-12-19 08:41:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Kuo, Ted <ted.kuo@intel.com>
  MarsX Lin <marsx.lin@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Ted Kuo <ted.kuo@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 637 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 16:57:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 16:57:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466260.725130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7JSb-0001F7-ER; Mon, 19 Dec 2022 16:57:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466260.725130; Mon, 19 Dec 2022 16:57:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7JSb-0001F0-BG; Mon, 19 Dec 2022 16:57:53 +0000
Received: by outflank-mailman (input) for mailman id 466260;
 Mon, 19 Dec 2022 16:57:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7JSa-0001Eu-3n
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 16:57:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7JSZ-00057V-TK; Mon, 19 Dec 2022 16:57:51 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239] helo=[192.168.8.73])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7JSZ-0006aj-OD; Mon, 19 Dec 2022 16:57:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=8v3nXT1Y1o6GAu4MAikm3tc28LYhYH3cjVtHuJtvXgA=; b=xs2MWsZmxND+9glK0WH7l9mufb
	1S/ka0FZCqAU8p9S1Hc2VJJqVHGsKzywxiiabYkw/dQjjsngUSx7uE+Vyy/abooDQRJqlT/ej6Few
	7iap5QoUwZMVUd4Dnjabpo9aW6PNMlzWN/MhABjhnptoh8tVvjUxhSjgAJ3ZI5ITSHfA=;
Message-ID: <78f8b94f-7a60-8739-cd3b-e2ce28ca9e3d@xen.org>
Date: Mon, 19 Dec 2022 16:57:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v2 3/3] x86/ucode: load microcode earlier on boot CPU
Content-Language: en-US
To: Sergey Dyasli <sergey.dyasli@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <20221219144533.19836-1-sergey.dyasli@citrix.com>
 <20221219144533.19836-4-sergey.dyasli@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221219144533.19836-4-sergey.dyasli@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Sergey,

On 19/12/2022 14:45, Sergey Dyasli wrote:
> Call early_microcode_init() straight after multiboot modules become
> accessible. Modify it to load the ucode directly from the blob bypassing
> populating microcode_cache because xmalloc is still not available at
> that point during Xen boot.
> 
> Introduce early_microcode_init_cache() for populating microcode_cache.
> It needs to rescan the modules in order to find the new virtual address
> of the ucode blob because it changes during the boot process, e.g.
> from 0x00000000010802fc to 0xffff83204dac52fc.
> 
> While at it, drop alternative_vcall() from early_microcode_init() since
> it's not useful in an __init fuction.

Can you explain in the commit message why you need to load the microcode 
early? E.g. is it a nice feature to have or a real issue?

If the latter, then I think we will need to consider the patches for 
backport.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 17:33:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 17:33:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466269.725141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7K1M-0005XA-3P; Mon, 19 Dec 2022 17:33:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466269.725141; Mon, 19 Dec 2022 17:33:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7K1M-0005X3-0c; Mon, 19 Dec 2022 17:33:48 +0000
Received: by outflank-mailman (input) for mailman id 466269;
 Mon, 19 Dec 2022 17:33:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w8L4=4R=citrix.com=prvs=3457a6caf=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p7K1K-0005Wx-VC
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 17:33:47 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 479c4251-7fc3-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 18:33:45 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 19 Dec 2022 12:33:33 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5358.namprd03.prod.outlook.com (2603:10b6:208:1ea::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec
 2022 17:33:30 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Mon, 19 Dec 2022
 17:33:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 479c4251-7fc3-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671471224;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=M2udN1iHpUKGLEqKiYaB+6HW4zJdU1K4NBC1oVZO8NA=;
  b=N8MiWus8XLGf+Ws5F9HE3qfK+3D8tkkEUaEDepv8yk5BXCq7ke9kTNUv
   RdJXyO/fn3LdMaLZ+WZej1PLdNFpGfFlYl1nmQPTba9AW7M8ge4b3Bh2T
   BYrDT9su2nxZD5NLW/Gp8TMIGg7XHIhpLWya5351V/mN8bv3kmV+t6WOM
   g=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 89530995
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:odLt/qpe2lqu9dr7iIxub560IX5eBmIlZBIvgKrLsJaIsI4StFCzt
 garIBmBPKqON2X2fdx3bduzoUgHupWBnIdhSgI5+yo8HnkbpZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzihNV/rzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXADEwSzCEoOHt+YCcZ/ZyoP8RDPuyDJxK7xmMzRmBZRonabbqZvyToPV+jHI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeiraYSEEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXop6Mx2AzCmwT/DjUXRwLmoPW/1HSVfOxSN
 VU20DUEkbQtoRnDot7VGkfQTGS/lhwBX9tdFcUq5QfLzbDbiy6JC25BQjNfZdgOsM4tWSdsx
 lKPh8nuBzFkrPuSU3313rWeoC62OCMVBXQffiJCRgwAi/H8pKkjgxSJScxseJNZlfXwEDD0h
 jqM/C43guxKidZRjvvqu1fanziru57FCBYv4RnaVX6k6QU/Y5O5Y4uv6h7Q6vMowJulc2Rtd
 UMsw6C2hN3ix7nRyERhnM1l8GmV2su4
IronPort-HdrOrdr: A9a23:9H/PH6FKO3TPOl9qpLqE1ceALOsnbusQ8zAX/mt6Q3VuA6ulfq
 eV8MjztCWatN91YhodcL+7VpVoLUm8yXcW2/hzAV7SZmnbUQKTRekJgLcKqAeQeREWmNQtsZ
 tIQuxTD8DxEEg/reuS2njfLz/4+qjjzJyV
X-IronPort-AV: E=Sophos;i="5.96,257,1665460800"; 
   d="scan'208";a="89530995"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZYlxiCFiL6LUjb/4ppWocwxYTQsQNWQhzy1TAY9QQ6WXbYayYZx2FqkQo9LhWJNoFVS0eKSgzdPb6nvN5/scEMLNYJ1jMQ/HwuFb+hY8JVMfvJpujoIy8qaGt37hbfC6ZCTVKeNMci0HSpYNthQbXKDe57sfCHFlPOwzUNrCNhGnqXlMzJO+/Sss29fjzx3BCWFz0Agq7lGoEVLZQd5U83GkRTNEgiz/RTPhQWKmtVq+itXaKdgOA8GuBwnctuPFiGYne62XZHZZMwhGxx8eokE6dWEQYitvw+CytsLFUReVh/IQqv0eldpYTQzkzGRC+wO5FOmvT7gbV2FSlTPrjQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M2udN1iHpUKGLEqKiYaB+6HW4zJdU1K4NBC1oVZO8NA=;
 b=fb2Cmg9v/p8MGJPAg+kuseHHEPjT7b97f1CpDichr4Gl3zE/P/x5yMUgA3F3ZCw0fN7FhkEgsuJfIzRWAlxjHGwd00AVftfZsXW8XsGyPsXkLyTe7UKpYydg50uO+tdtb3kOcfSFiOtvpdFPdLIrmnO0VwtfHaaDBs/7Xh8GoMRWsf/O/J/sR8M73QsQYPuB+9TP/xLF+MyJN2WQkPmtPKPgeGGONFUDgnTiHQel6PkeErmB/3xwhY0THCb8n5mj15ax7zM0+7vmhS128e3nNT1Xbd/jtePINtLGEZJCucDBqhiQvUvIvLk2Q8dR+i4pf1KuvLX0YumLS2qRwhiaZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M2udN1iHpUKGLEqKiYaB+6HW4zJdU1K4NBC1oVZO8NA=;
 b=P3sVS7RVYxKv7JH62Los6QKXJatAarfwIIJtz8z++/KX1xQdMLuTT6T9RYxTYbTJr0IA1heVFaIcchoCSHtRGZG7Po3RjByhjtiaLVCJmNgeiCALJ0+NRXAR4sYdgLBSjdZa0vCOKSe9HMgDrFnsdc0LHrTjOiQ27xKNyEKtktQ=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Julien Grall <julien@xen.org>, Sergey Dyasli <sergey.dyasli@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 3/3] x86/ucode: load microcode earlier on boot CPU
Thread-Topic: [PATCH v2 3/3] x86/ucode: load microcode earlier on boot CPU
Thread-Index: AQHZE7iZ8bzRRxQprkqqSa5cEoE/Mq51bpuAgAAJ94A=
Date: Mon, 19 Dec 2022 17:33:30 +0000
Message-ID: <8c71f078-2f09-35a1-3ba4-37aaa4631d01@citrix.com>
References: <20221219144533.19836-1-sergey.dyasli@citrix.com>
 <20221219144533.19836-4-sergey.dyasli@citrix.com>
 <78f8b94f-7a60-8739-cd3b-e2ce28ca9e3d@xen.org>
In-Reply-To: <78f8b94f-7a60-8739-cd3b-e2ce28ca9e3d@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|MN2PR03MB5358:EE_
x-ms-office365-filtering-correlation-id: d0be4691-f187-4a18-e238-08dae1e7254d
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 8FmCfkfTjHb4gPCVQC+9IW7Wb+38C+Uskjc+Nofm2j9Tm9NFThmlUew38fTCOH/yMx7Ks6zVHJLbx8/dXRJug/b3gZYcR1/39/UWeTT3j5pe3kQZN1YjPsAmnyGdr08gH1By1FPeWwTnabudLtbNRwPj2dnWPj2WXFZ7Qbmj2AKm5yefYt4Uhv3/NGOtXfBTkZdW3T8Hmokt+vbfTlewA9PdXJFYDDpGmtAVDHEG562gTGOWHHUNv7/sn5ThMVcVd/ZOslVh3xLrB4uY29Z8ecCmz+4IQlrq8RHogeQ19TiAwQIXpDjfNWFC/U4Vn0fU7ymtvV0zxhffK1OED+Dj4/oklbvbTnqyrLNXTjLN4cYrOK6FNEp582mc16liUp74uyuAt8lgvtuUZ/nIjdypS177WeqlDFLMHTvfxuEUbV4nMikzkV4wZWQRXZfK2qmNOoFZHrZFeQg9p184Fni6iusJ5HcevEcDI00bOuwsDn/4y2fElSEo/7WMGcOwrGOm1LV804B11rb6mEERYNiNdKBpuKo+G0QvVEmD7zAH1fI888+eVEWV/W9umZgft6sxmy+cVXjSwucbsq4njT3Emk8CyIvohVTdMVqwvBdw8xoiv+a5UviRz1tVc13Py1wy1lmwYmHd9nfLutlSIZlpHEMnTV8Y+1tQDGW32kipCmNGe/eGTGFmDIZdovt/V2Cmf3Zz85932DXGuGjhVhbR25e2lTO9HdPCn5xldlxyMqDQDpWoxqEtm4GmHyFlrjRo5Dg9K9mUvGmWqgaKB7D0tw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(376002)(136003)(39860400002)(346002)(366004)(451199015)(66946007)(91956017)(86362001)(66476007)(76116006)(66446008)(64756008)(31696002)(4326008)(8676002)(316002)(66556008)(5660300002)(36756003)(8936002)(2616005)(41300700001)(6506007)(6512007)(53546011)(186003)(26005)(71200400001)(38070700005)(83380400001)(122000001)(54906003)(38100700002)(82960400001)(6486002)(110136005)(478600001)(2906002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?SFJzdDlOMmVRelpNTEwvZmJ5eXNxazJLaXA0b0hxVVhuZDlXa0dxVWFrOTRh?=
 =?utf-8?B?K0xFU0dwL3ZScUZPY1R5R1VGekdsTkNrZ3FaZzJ0TEdSK0J2bWxpaFZIYXoz?=
 =?utf-8?B?ejFWVCtTTzhNMlVhSkg5Q0FvTWpXTFdqekNPMDJRUUw5T3lBQ3hDTmo3dSsy?=
 =?utf-8?B?MUJmaGhXaTVZOWJTdE96UFE3UGZIYXhTdEZIcHlKU2VDVmt4a2NDUGFwMGZ2?=
 =?utf-8?B?NjZYRHR6T1pFVTVzRGNHMUN5L2NGQzRTSkRNZ0VDRUxZeEZUS3A4Vm5yQzM5?=
 =?utf-8?B?ZE5ISk85VnZOU2grQktvWGRXaTlnV1dLdlZSc3U4T1JsVUdZeVNUK1J0bGZy?=
 =?utf-8?B?YkR3YUp3M0J3Nkp0K2VwT3VyNWVrSld6V2pkazZZWUZ1M3NHN2VyVEc3aG1i?=
 =?utf-8?B?UXJIUWlwQU5tQW5ndU44YW5GK3gzWGFDc1VoOWpsSnNYaHFkemhCSDFYcTV4?=
 =?utf-8?B?MDZxdEpNanFyZVBhSTFTc01qSERnK3MwNG1DOS9oMm03QXdUekhqTWZCSzFy?=
 =?utf-8?B?b1I0YVlFVHJRQm5sSlpXa0VyaktmcFptMGwyOU9hNnU3eXlOcmhjcjBEUk96?=
 =?utf-8?B?NEMzM2xuTytXK1RyVCtMYStVbUlHZlYvbXhxbEMxVG8vdlhxOU85SDBlUUlt?=
 =?utf-8?B?WnpXL1hwTjBtbTRtcmZBdkNLdmN6K09mNTFvOE11aHlTa3VXNFhnSkhWKzY1?=
 =?utf-8?B?ZG5sWmdNWGMydERkYWQvM0ZoRlhOY0lsSEFxSUxLR3NCM2hZTVR1eERvZEUx?=
 =?utf-8?B?bkM2Z2IvZ0JWbllVU3Yyc2M3ckRtN2xDekl6NTZZclVFVTRrY1gzRlYvT0Ro?=
 =?utf-8?B?ZGVjRGFVRWE5ZUNGVUMwM3hNS2E2R0diZ1Mra0pDQTJZWW9ONjdHbzRGdUxz?=
 =?utf-8?B?N0ZWNEJhZG9BUUdQMHE2TmFXVTN4cXJBZHBqMWNYbnFCZlhNRW8xMnFHSy9N?=
 =?utf-8?B?SFdSaUQyQWFPZDgzb081bUFWVHBuVFkvSUtjVWV2djlmN2IxNWpjaHNmcytV?=
 =?utf-8?B?QzJZajA2SFFYejNzTVNrbHU3UnVHeTIzSHAzTDN0MHdxWUk2aUZsOGJ4ZWFP?=
 =?utf-8?B?MlJFUVJWOVpla0xON0tDQTdCMFFqS0w1VjF5bjh4UFVQdUdkUzJsd3BZbG55?=
 =?utf-8?B?dFlhTWVtamxBS3IySVQyMjZ1V01BaVBLbFkvOGFWR2E2eTI5T1RSZlRILzRs?=
 =?utf-8?B?eWx4UHhxS1FkTmhRdWl4YXo4OUw5Vlk3TE1NMHoxNkpzVzQyb2FxSHZLS0ZM?=
 =?utf-8?B?OElNRDhXY3EzR0ZpRHB3emlGMUtDVXEwc213cy9nRVJRMUtYaTJwd3pnK29L?=
 =?utf-8?B?TGF6OThqOFlqRmZuekMrZVZIL1IzbUR2ODgrd29BR1YyL2hDcWh3RHZPanE0?=
 =?utf-8?B?MVNwR3R5OUI2WXhmTXlyVzBweFlvK0hKZFZ2TjVEV1U1cHUxZ1JHUGlMa00r?=
 =?utf-8?B?RGhtaUhFcDNyd243ZjcvTUtvUjlSMzBEb0xZVWRrVnhqemorRndwb2J0WTF3?=
 =?utf-8?B?UUp5U2RFNXFRcUowM2taQXMwdTVFZVRwNkdVcjhrNko0Rm5qN0tPOGJ2S21K?=
 =?utf-8?B?OFhPeWZJQVBUUlRsM2pmSVBUbi9SM2FJYjlGRXkrLzZKb3AxcHdlVkFTejR6?=
 =?utf-8?B?UHE1a003YXh6UXczeGxiSU1kOUh1YTFYYWVSZW96TjZhZUMzSFNHOGw4K0xr?=
 =?utf-8?B?b2p2U29tWVRXZkVPZXlESnFOamI0enBmWjNOWUx3Z2dvRjRIMW80UU9HUTU0?=
 =?utf-8?B?TEcvajJwZC9QeCs0MVNTUkcxdHpjZkR0dHRWVDJPZXRuZHVUcFVaZWRHTUxz?=
 =?utf-8?B?RGhUVWx2NGpxRk0yVkZWTzJra01nRjVLSi9yVnFRVUVoSmxORlJjYm9yb3BB?=
 =?utf-8?B?NU9zQW56aERsbmpmT0ZkYmpLS2dvWUFLUjF5YU1sRUNFV0d1aStlR0pob1A3?=
 =?utf-8?B?S3BhcER0MmJ2VUVWZDZpa3NpOEV5SVVXeUx2dlVuQWZVY3FLeEZCV2lCbWRW?=
 =?utf-8?B?U3JaTFpINFM5dHN6T0VsQVNnM09QaGZOZXZ5dEY4eGRKRFlVZWZBWE52Qm5a?=
 =?utf-8?B?b2N0UGVKSStJNzhvQnJ2SDJva0xzWFVvQ2ltUDN2TDJWQW40SElPTXc3T2pl?=
 =?utf-8?Q?VPhxP379U7aDjLuD3lgiX+oR2?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <78245C9EAA1D4B4EAD1A428C732DF0CE@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0be4691-f187-4a18-e238-08dae1e7254d
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Dec 2022 17:33:30.5746
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: q8VbglnrbBLu3bIGHbZ500pfCvT9jcxH2vd9hXzNtvGls/emA+RQEwc4rDI7ZlZiK7lMQOj5laj7V2/Yo94PA+ZghL/CEbyOj7AMelK+Jhw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5358

T24gMTkvMTIvMjAyMiA0OjU3IHBtLCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+IEhpIFNlcmdleSwN
Cj4NCj4gT24gMTkvMTIvMjAyMiAxNDo0NSwgU2VyZ2V5IER5YXNsaSB3cm90ZToNCj4+IENhbGwg
ZWFybHlfbWljcm9jb2RlX2luaXQoKSBzdHJhaWdodCBhZnRlciBtdWx0aWJvb3QgbW9kdWxlcyBi
ZWNvbWUNCj4+IGFjY2Vzc2libGUuIE1vZGlmeSBpdCB0byBsb2FkIHRoZSB1Y29kZSBkaXJlY3Rs
eSBmcm9tIHRoZSBibG9iIGJ5cGFzc2luZw0KPj4gcG9wdWxhdGluZyBtaWNyb2NvZGVfY2FjaGUg
YmVjYXVzZSB4bWFsbG9jIGlzIHN0aWxsIG5vdCBhdmFpbGFibGUgYXQNCj4+IHRoYXQgcG9pbnQg
ZHVyaW5nIFhlbiBib290Lg0KPj4NCj4+IEludHJvZHVjZSBlYXJseV9taWNyb2NvZGVfaW5pdF9j
YWNoZSgpIGZvciBwb3B1bGF0aW5nIG1pY3JvY29kZV9jYWNoZS4NCj4+IEl0IG5lZWRzIHRvIHJl
c2NhbiB0aGUgbW9kdWxlcyBpbiBvcmRlciB0byBmaW5kIHRoZSBuZXcgdmlydHVhbCBhZGRyZXNz
DQo+PiBvZiB0aGUgdWNvZGUgYmxvYiBiZWNhdXNlIGl0IGNoYW5nZXMgZHVyaW5nIHRoZSBib290
IHByb2Nlc3MsIGUuZy4NCj4+IGZyb20gMHgwMDAwMDAwMDAxMDgwMmZjIHRvIDB4ZmZmZjgzMjA0
ZGFjNTJmYy4NCj4+DQo+PiBXaGlsZSBhdCBpdCwgZHJvcCBhbHRlcm5hdGl2ZV92Y2FsbCgpIGZy
b20gZWFybHlfbWljcm9jb2RlX2luaXQoKSBzaW5jZQ0KPj4gaXQncyBub3QgdXNlZnVsIGluIGFu
IF9faW5pdCBmdWN0aW9uLg0KPg0KPiBDYW4geW91IGV4cGxhaW4gaW4gdGhlIGNvbW1pdCBtZXNz
YWdlIHdoeSB5b3UgbmVlZCB0byBsb2FkIHRoZQ0KPiBtaWNyb2NvZGUgZWFybHk/IEUuZy4gaXMg
aXQgYSBuaWNlIGZlYXR1cmUgdG8gaGF2ZSBvciBhIHJlYWwgaXNzdWU/DQo+DQo+IElmIHRoZSBs
YXR0ZXIsIHRoZW4gSSB0aGluayB3ZSB3aWxsIG5lZWQgdG8gY29uc2lkZXIgdGhlIHBhdGNoZXMg
Zm9yDQo+IGJhY2twb3J0Lg0KDQpNaWNyb2NvZGUgbG9hZGluZyBzaG91bGQgYmUgYXMgZWFybHkg
YXMgcG9zc2libGUuwqAgTGludXggZG9lcyBpdCBldmVuDQpiZWZvcmUgc2V0dGluZyB1cCB0aGUg
Y29uc29sZSAod2hpY2ggaXMgYSBiaXQgdG9vIGVhcmx5IElNTykuDQoNClhlbiBjdXJyZW50bHkg
bG9hZHMgbWljcm9jb2RlIGhhbGYgd2F5IHRocm91Z2ggQlNQIGJvb3QsIGJlY2F1c2UgdGhlcmUn
cw0KYSBpbmFwcHJvcHJpYXRlIGRlcGVuZGVuY3kgb24gbmVlZGluZyB4bWFsbG9jKCkuwqAgVGhp
cyBpcyB3aGF0IFNlcmdleSBpcw0KYWRkcmVzc2luZyB3aXRoIHRoaXMgc2VyaWVzLg0KDQpJJ20g
d29ya2luZyBvbiBhZGRyZXNzaW5nIHRoZSBUT0RPIGluIHRoZSBwZW51bHRpbWF0ZSBodW5rIG9m
IHRoaXMgcGF0Y2gNCihyZXNvbHZpbmcgc29tZSBtYWpvciBhYnVzZSB3aXRoIHdpdGggdGhlIG11
bHRpYm9vdCBtb2R1bGUgc3RydWN0dXJlcyksDQp3aGljaCB3aWxsIGxldCB1cyBsb2FkIG1pY3Jv
Y29kZSBldmVuIGVhcmxpZXIuDQoNCkEgY29uc2VxdWVuY2Ugb2YgdGhpcyAocmVsYXRpdmVseSkg
bGF0ZSBsb2FkaW5nIGlzIHRoYXQgd2UndmUgZ290IGENCnRhbmdsZSBvZiBmZWF0dXJlIGVudW1l
cmF0aW9uIGxvZ2ljIHdoZXJlIGNwdV9oYXNfKiBkb2Vzbid0IGZ1bGx5IHdvcmsNCmJlZm9yZSB1
Y29kZSBsb2FkLCBhbmQgd2UndmUgZ290IGEgbG90IG9mIGFkLWhvYyBsb2dpYyB3aGljaCBpcyBm
cmFnaWxlLg0KDQoNClNvIG5vIC0gdGhlcmUncyBub3QgYSBzcGVjaWZpYyBidWcgZHJpdmluZyB0
aGlzLCBidXQgYSBsb3Qgb2YgY2xlYW51cA0KdGhhdCBJJ3ZlIGJlZW4gd2FudGluZyB0byBkbyBz
aW5jZSBiZWZvcmUgc3BlY3VsYXRpb24gY2FtZSBhbG9uZy4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 17:51:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 17:51:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466279.725151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7KIT-0007zs-Ke; Mon, 19 Dec 2022 17:51:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466279.725151; Mon, 19 Dec 2022 17:51:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7KIT-0007zl-I2; Mon, 19 Dec 2022 17:51:29 +0000
Received: by outflank-mailman (input) for mailman id 466279;
 Mon, 19 Dec 2022 17:51:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7KIR-0007zb-Ra; Mon, 19 Dec 2022 17:51:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7KIR-0006X4-NT; Mon, 19 Dec 2022 17:51:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7KIR-0002GQ-3j; Mon, 19 Dec 2022 17:51:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7KIR-0004Yh-36; Mon, 19 Dec 2022 17:51:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Mmeg6nrw1m6L3I72Ysw7UPyTKpBol0AUK4yf4CPbEoM=; b=JYsKBaX3Ytjc8RH9b8l44ysFTR
	ZA67ILlzVPRDIqkXPQZqU+oJpQgumzKFugQ9cEBGSQ8n6IRiF+NLmOLSd/8dkN2NTK6JTj6ySaAvE
	NlyLxzlhcgFZ2Wu45zhOC5qoO7DdP+zW14oVfDG/iOtksnJbmlmCtF5HkmvjQz0oH9aU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175401-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175401: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-shadow:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:<job status>:broken:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:<job status>:broken:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:host-install(5):broken:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:host-install(5):broken:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:host-install(5):broken:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:host-install(5):broken:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f9ff5644bcc04221bae56f922122f2b7f5d24d62
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 19 Dec 2022 17:51:27 +0000

flight 175401 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175401/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-shadow      <job status>                 broken
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm    <job status>   broken
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm    <job status>            broken
 test-amd64-amd64-xl-credit2     <job status>                 broken
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm    <job status>      broken
 test-amd64-amd64-dom0pvh-xl-intel    <job status>             broken in 175374
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot       fail in 175396 REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail in 175396 REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot       fail in 175396 REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail in 175396 REGR. vs. 173462

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-intel 5 host-install(5) broken in 175374 pass in 175401
 test-amd64-amd64-xl-credit2   5 host-install(5)          broken pass in 175396
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken pass in 175396
 test-amd64-amd64-xl-shadow    5 host-install(5)          broken pass in 175396
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 5 host-install(5) broken pass in 175396
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 5 host-install(5) broken pass in 175396
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 175374 pass in 175391
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot fail in 175391 pass in 175401
 test-amd64-amd64-examine-bios  8 reboot          fail in 175391 pass in 175401
 test-amd64-amd64-libvirt-qcow2 19 guest-start/debian.repeat fail in 175391 pass in 175401
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 8 xen-boot fail in 175396 pass in 175391
 test-amd64-amd64-libvirt      8 xen-boot                   fail pass in 175374
 test-amd64-amd64-xl-vhd      21 guest-start/debian.repeat  fail pass in 175385
 test-amd64-amd64-freebsd11-amd64  8 xen-boot               fail pass in 175391
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot      fail pass in 175396
 test-amd64-amd64-pygrub       8 xen-boot                   fail pass in 175396

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt    15 migrate-support-check fail in 175374 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 173462
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 173462
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                f9ff5644bcc04221bae56f922122f2b7f5d24d62
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   72 days
Failing since        173470  2022-10-08 06:21:34 Z   72 days  148 attempts
Testing same since   175374  2022-12-17 20:13:14 Z    1 days    5 attempts

------------------------------------------------------------
3125 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           broken  
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        broken  
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 broken  
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  broken  
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   broken  
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-shadow broken
broken-job test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-i386-xsm broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm broken
broken-step test-amd64-amd64-xl-credit2 host-install(5)
broken-step test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm host-install(5)
broken-step test-amd64-amd64-xl-shadow host-install(5)
broken-step test-amd64-amd64-xl-qemut-debianhvm-i386-xsm host-install(5)
broken-step test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm host-install(5)
broken-job test-amd64-amd64-dom0pvh-xl-intel broken

Not pushing.

(No revision log; it would be 463260 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 18:12:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 18:12:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466289.725163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Kch-00026g-Cj; Mon, 19 Dec 2022 18:12:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466289.725163; Mon, 19 Dec 2022 18:12:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Kch-00026Z-9Z; Mon, 19 Dec 2022 18:12:23 +0000
Received: by outflank-mailman (input) for mailman id 466289;
 Mon, 19 Dec 2022 18:12:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7Kcg-00026T-45
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 18:12:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7Kcf-0006xM-Ok; Mon, 19 Dec 2022 18:12:21 +0000
Received: from 54-240-197-231.amazon.com ([54.240.197.231] helo=[192.168.8.73])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7Kcf-0001sb-JB; Mon, 19 Dec 2022 18:12:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=HqOpz242rglbN0SSClJMJQbjsO/Dh1TcC3F5ozj/lig=; b=flamfbuYtaH3RdVSyqeLG5wX6/
	RVQOAMZSX+Z8YAXobvg41Cx7pAULSnePG9xDJAKRcKg++iipaM4rgy6o3qhWK9rNqaqD9Z5CUgzaf
	WTnlo0fpSdBbfOvwH1e6tVbZ2hUc+7kU8nZ8g5Mpay5hLYgj/VQG7FiwN8aN5ct4EFQ0=;
Message-ID: <a527322c-4609-2a72-18ba-e14069dbbb54@xen.org>
Date: Mon, 19 Dec 2022 18:12:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v2 3/3] x86/ucode: load microcode earlier on boot CPU
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 Sergey Dyasli <sergey.dyasli@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>
References: <20221219144533.19836-1-sergey.dyasli@citrix.com>
 <20221219144533.19836-4-sergey.dyasli@citrix.com>
 <78f8b94f-7a60-8739-cd3b-e2ce28ca9e3d@xen.org>
 <8c71f078-2f09-35a1-3ba4-37aaa4631d01@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <8c71f078-2f09-35a1-3ba4-37aaa4631d01@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 19/12/2022 17:33, Andrew Cooper wrote:
> On 19/12/2022 4:57 pm, Julien Grall wrote:
>> Hi Sergey,
>>
>> On 19/12/2022 14:45, Sergey Dyasli wrote:
>>> Call early_microcode_init() straight after multiboot modules become
>>> accessible. Modify it to load the ucode directly from the blob bypassing
>>> populating microcode_cache because xmalloc is still not available at
>>> that point during Xen boot.
>>>
>>> Introduce early_microcode_init_cache() for populating microcode_cache.
>>> It needs to rescan the modules in order to find the new virtual address
>>> of the ucode blob because it changes during the boot process, e.g.
>>> from 0x00000000010802fc to 0xffff83204dac52fc.
>>>
>>> While at it, drop alternative_vcall() from early_microcode_init() since
>>> it's not useful in an __init fuction.
>>
>> Can you explain in the commit message why you need to load the
>> microcode early? E.g. is it a nice feature to have or a real issue?
>>
>> If the latter, then I think we will need to consider the patches for
>> backport.
> 
> Microcode loading should be as early as possible.  Linux does it even
> before setting up the console (which is a bit too early IMO).
> 
> Xen currently loads microcode half way through BSP boot, because there's
> a inappropriate dependency on needing xmalloc().  This is what Sergey is
> addressing with this series.
> 
> I'm working on addressing the TODO in the penultimate hunk of this patch
> (resolving some major abuse with with the multiboot module structures),
> which will let us load microcode even earlier.
> 
> A consequence of this (relatively) late loading is that we've got a
> tangle of feature enumeration logic where cpu_has_* doesn't fully work
> before ucode load, and we've got a lot of ad-hoc logic which is fragile.
> 
> 
> So no - there's not a specific bug driving this, but a lot of cleanup
> that I've been wanting to do since before speculation came along.

Thanks for the clarification!

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 18:29:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 18:29:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466297.725173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Kt5-0003ha-QB; Mon, 19 Dec 2022 18:29:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466297.725173; Mon, 19 Dec 2022 18:29:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Kt5-0003hT-NL; Mon, 19 Dec 2022 18:29:19 +0000
Received: by outflank-mailman (input) for mailman id 466297;
 Mon, 19 Dec 2022 18:29:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=w8L4=4R=citrix.com=prvs=3457a6caf=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p7Kt4-0003hN-AS
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 18:29:18 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09cd66c5-7fcb-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 19:29:16 +0100 (CET)
Received: from mail-bn8nam12lp2169.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 19 Dec 2022 13:28:49 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB5000.namprd03.prod.outlook.com (2603:10b6:a03:1ee::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec
 2022 18:28:46 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5880.019; Mon, 19 Dec 2022
 18:28:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09cd66c5-7fcb-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671474556;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=8xMDHeVYzIPHdKJHXHByguJU3U1VUdtoElhDpeX5Dx8=;
  b=iYv8j/hBhHrodz3FwtrdBiB9DM0Z+re3R1E3N+q0eeO/xIzG59BiUVE7
   mXGF6VYyJ5CXJWtXi1PRtjNn3stc9ykJBq7Ws6y2PNKS6hWnVu4R99zL+
   Ztia5njq7ZMSUKUgr7XdwihHsUXgrllvzei9vX4k8zTwZONESi9kUGz8H
   Y=;
X-IronPort-RemoteIP: 104.47.55.169
X-IronPort-MID: 88655139
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:w+ZHBKj4UM4Et9r2ixQrjBWmX161xhEKZh0ujC45NGQN5FlHY01je
 htvXGrQO6zeZmPzeIhybIS39h4D7JCAxoNgTQRqpH83Hn4b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5gaPzyJ94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQzeBM9UTqsldvm0Y2RWu9IxcYMAvvSadZ3VnFIlVk1DN4AaLWaGeDgw48d2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEsluGzYbI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6RO3mq6Mz2wz7Kmo7BUccTwumr9iCshCPeIlCb
 BIN2gEcsv1nnKCsZpynN/Gim1aOowQOUt5XH+ol4SmCz6PV50CSAW1sZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluaOyIYMGsDbi8sVhYe7p/op4RbpgrGU9JLAKOzyNrvFlnY3
 DSivCU4wbIJgqYj1bi//F3BqyKhoN7OVAFdzh7MQmuv4wd9ZYikT4+l817W6bBHNonxZlucu
 j4CksuX7uELBLmMkjCARKMGG7TBz/WILjzax0JuFp8J9jKx9nrldodViAySP29sO8cAPDXvM
 EnavFoL4IcJZSX7K6hqf4i2FsImi7D6EsjoXezVadwIZYVtcAiA/2dlYkv4M33RrXXAWJoXY
 f+zGftAx15BWcyLEBLeqz8h7IIW
IronPort-HdrOrdr: A9a23:KH3XZaO1olYqTsBcT5j255DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE8wr4WBkb6LO90DHpewKRyXcH2/hqAV7EZniohILIFvAu0WKG+VHd8kLFh4lgPM
 tbEpSWTeeAdWSS7vyKrjVQcexQpuVvmZrA7Yix854ud3ASV0gK1XYaNu/vKDwTeOAwP+tdKH
 Pz3Kp6jgvlXU5SQtWwB3EDUeSGjcbMjojabRkPAANiwBWSjBuzgYSKUySw71M7aXdi0L0i+W
 /Kn0jS/aO4qcy2zRfayiv684lWot380dFObfb8yfT9aw+cyDpAVr4RH4FqjwpF591HL2xa1u
 Ukli1QevibLUmhJ11d7yGdgzUImwxelkMKgWXo/UcL5/aJBQ7SQvAx+76wOHHimjUdlcA536
 RR022DsZ1LSRvGgSTm/tDNEwpnj0yuvBMZ4KYuZtNkIPkjgZJq3PoiFXluYd49NTO/7JpiHP
 hlDcna6voTeVSGb2rBtm0qxNC3RHw8EhqPX0BH46WuonJrtWE8y1FdyN0Un38G+p54Q55Y5/
 7cOqAtkL1VVMcZYa90Ge9ES8qqDW7GRw7KLQupUB/aPbBCP2iIp4/84b0z6u3vcJsUzIEqkJ
 CES19cvX5aQTOYNSRP5uw+zvngehTPYd228LAu23FQgMyNeJP7dSueVVspj8ys5/0CH8yzYY
 fHBK5r
X-IronPort-AV: E=Sophos;i="5.96,257,1665460800"; 
   d="scan'208";a="88655139"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KTwuSmGChsTtRC/ZxbtnUhJcUtMhsEp0HBvOFAgT/SrMzIN/6vUC34qgglB207Xtg8IrAyW8uFfyVrLN7ve9qFpeqmy/+Ezfo115xcGqC1gcPehmogyb9+xdWXJJ/XXb1IA3ix5SeiFUC/u3lFV/9/qbLBg26+WZzQQUkFsS/MbEAr73PZmXjX+wROaF5/d/fqqUQ/pdcI+9CJ/R0OR0AdZ2cB7kYEFEmf3jqXlaF1z8H8nSXxV5HsMIc0IFde2TSTZS093UTuIZluKhLrltjUtW5ZbdAJT6PccFpkhzFa4S4oSRZ9uL4IfKLdkore9KfkDhISHeIAVWiQh8y7A0/g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8xMDHeVYzIPHdKJHXHByguJU3U1VUdtoElhDpeX5Dx8=;
 b=j/AXKjxsoVVi9J6vPDMqgstvAderqCIY8mYArnf7JHn7FXSW/bqKDhdTW5+n60vJwxf1dfU62LGx4wqVczHGwwk8LfeChdzfqrd1nIQdlvrObtq6KURWOulZUqr8e+U3eUXq4jZG48pwsYWm15X10rQPO3CQS42OMjkGFPi9mQO0rlEkOnhi3XvfyAB2bYYpr6GXAZoaEs/5UAkcVswQcEGLcl04cGn4d4zUloUb5Ldwg2blRDjpXnFGXP11KEJZJhym/zdPoyMJC8HZrvH39sGP2ZxydXheSvvL2ibZBsy18F7Y8lnEnGwGNWz2/z2EDRN66TZkPelwS4dvcKttkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8xMDHeVYzIPHdKJHXHByguJU3U1VUdtoElhDpeX5Dx8=;
 b=UpsGS0tmS7TcEzwoYSByKqcoTTSyVbxk9dRjfZP9qWqeFYp6+ebbLJFXGh3gVL93iQU8pHvjojiGBZ36Ll7Aa15LPiVgKaUUfOEgn3ULUPSGcl3ypfAWvEP465xphqsWj9nC/CBwFBd86h2lB72qemcvTJfzeuNHwLxxM3jxyG0=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Xenia Ragiadakou <burzalodowa@gmail.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>, Roger Pau
 Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, George Dunlap
	<George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
	<kevin.tian@intel.com>
Subject: Re: [RFC 0/7] Proposal to make x86 IOMMU driver support configurable
Thread-Topic: [RFC 0/7] Proposal to make x86 IOMMU driver support configurable
Thread-Index: AQHZE3QW0AvNHREoGky0Qoqa2T8E6a51iI0A
Date: Mon, 19 Dec 2022 18:28:46 +0000
Message-ID: <4b45cde3-52e1-15ae-7b6a-84c0d5141cc9@citrix.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
In-Reply-To: <20221219063456.2017996-1-burzalodowa@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BY5PR03MB5000:EE_
x-ms-office365-filtering-correlation-id: e96bc986-075a-495f-0d87-08dae1eeddc5
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 e5SXzomdbpX0CKho5kup1E2d7EkjChDXxPp30g3BsNLKdGMrHmll2z58lFrNdAUeerPrzEJ/uhC5NxCilZAwXWPMZNV5+D/jsl4PB2BUaJSzW8e8EcIPGacTIo9DxRgut8BI+Ow799WnHCLXiJBJSbpIN9GNI+q5oa2h1f/5bHzpkDoaOzSxAuxdlEgCGMGwfuWs1+2Jr+3CX9E6R3Ado9eQMMikqDRDbh4LoM0KBCHajWRQQIWv/a+INiHJfFeo6R3dBz1posoOYVxaToik5S6smP9JkKLiQ7Bsofk7/CFxL1BGxFXqC1a16QDBsqBnkec6h7k0pWmxhYC2wWOM9YNgRcQqfJLi8QHsV8PWEw5EzsHpT8ULlxsi9W6Fct/9maWzbCj15GnGZVWOPZ0yFv+9XwoWrOXTU6Ub/WelrHQh29HGeQ0O5IV3imYPSYW1B4c9Jj7Nujc/meYX8PRYn7JYy/swTaDEu34jZX3zicO96pxhxmwsidwKjD6hA6ODqairbs12fHQjlrwjyXRzMVseNC15WLOsdDwOOjrwfwcuhQsH71PcLPJrmYFxTakdWjP1/kuaphq3l1RdQWgP+hdV+x6QDUeVdKJwvkcp1ZWcWsMCwyL8XWt6B+b71zzYUU/etGxhgVEqbKsAJOi4Vrys0HeoCM+yOxXZKvya3IfcMYwke4oH13hFRmSZho2gpD780Mw5bnY5xeER/j5ReXWLtbyq+Nd1cRQm7RpMlvszbiRO1owigY98fuZfea2skqjOClYT/FCFPEbBFKfCeg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(376002)(366004)(39860400002)(346002)(451199015)(2616005)(86362001)(31696002)(122000001)(38070700005)(36756003)(38100700002)(82960400001)(8936002)(316002)(54906003)(66446008)(64756008)(66476007)(2906002)(110136005)(76116006)(66946007)(66556008)(8676002)(7416002)(4326008)(5660300002)(31686004)(91956017)(6512007)(186003)(26005)(53546011)(41300700001)(6506007)(6486002)(478600001)(71200400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?TkQwaXpLVjhQdFdqREEyT1JIWHlUQXRVZHRGRFpHc0E5ZnVaVjdlY2FJbUdx?=
 =?utf-8?B?allsSEczei93d1B0R09KSllpek9KVTB2Z1FjRlF4TUhPdGRJekEwQ3YzRGdV?=
 =?utf-8?B?OUlJeUMwTHdtb2cxczcyNHJUUG13MTVObWtmQ2ViQmx0UitpaWtqc0twQVZI?=
 =?utf-8?B?YVpIZXFjUnBnTmFwWFZuOEtxajlCOGtzRFVxOEFEZ3Rsck1XY014VmtIMjE2?=
 =?utf-8?B?MWZHdmo2TWZQWlgzT2JiNEh1c0UyL0pBMGU1QnVkR1I0UFBOTW9uc05rSFQ2?=
 =?utf-8?B?SHNqNldLT21vVU5ieU96V0dzVWJtQjNSS0xYVHQwbUhFSmdwSWt3S0VVT2Ji?=
 =?utf-8?B?dGxrRURyS0pBVVE3WXBoQTdRTUJkZnNiNjhaUGcvRktYTFQyN2NieDR4MkF2?=
 =?utf-8?B?RXh5Um5PT05ueHRTQVhiZEkzTXJoR0hyektlRzZNdkJwWmZIdDBsbjBMUnJJ?=
 =?utf-8?B?S0tsck9GOUZKUytCR3htTkxYRTlmbkl0akcrLzNHSWh2NzEzZ09FREVDZEd0?=
 =?utf-8?B?OFl0aC9acENuQm1neCtrbEVwaW5CeHB3dGVPcFEvV0VmVzlMTWVDZm0wbjl4?=
 =?utf-8?B?ZTlOVlYvNGc3Q2dNd3ZUbUgyYVJYNURDMGsvT1NYRXhsdUZUSGZzeFN5VU5j?=
 =?utf-8?B?ZDIzV3NLOFo5WnJ3RlNMdlNwMXh4cG8ydWFoMUJKSEx1TzZpODQxUGdKa0FG?=
 =?utf-8?B?L3NXQlplMUxjMlZkUjVtWjVVQWk3V0szTERnNUkwa3piNU83SmQraGU4UitO?=
 =?utf-8?B?eUhDQVpybTY4YjBRT1lWYll5a0F2T0lFWUdkMCtuOFhJbTVrS3VtQVlQSW9m?=
 =?utf-8?B?MnJZejV6eVhqbTlqTGFCa0ZQL1lBZnJkS1NkVjJaZmErblRYeFJZRmUvMlVL?=
 =?utf-8?B?akdmblFGTHIyT2gxY2xiNTkrdFZ5NklEWUpmZExBMzZrWWlFSmM0Z283SFJM?=
 =?utf-8?B?cHVsR3dJNDg3aWhjYzI4eHhHZWNkT1NFNG8yRzJ1cTdoS0ZTVFBZZ0hka2g0?=
 =?utf-8?B?NlNKZXFKN2dkQUVOWU1HNHprbWpzRGVXcllrY3lvTzAvaGkvR0x3RURIYU5Y?=
 =?utf-8?B?VXQzaHZtSnRSSUU3d2hVVVMyS1F2c3k1QmNyNjBNVzk4QlkxeGFiQlFQVFVJ?=
 =?utf-8?B?ZEN5S0lSQWZwV3paa1JMMTJ2dUtZTTJvb1VNdXpIMUhQbXJ1SzJFcnkwelZT?=
 =?utf-8?B?TXJpN0RwN296cnRaMlZjSWU2SlRRTkYrS2NiZ2Uydnh2QXdrRGdxWlA3TXMz?=
 =?utf-8?B?ck1zUHFPQ1pGekJDaDVrNHM5Unk5bUpBZHlQTWtQbitvQzRUNURXOVpxUlVX?=
 =?utf-8?B?elJyMkpwYm5iSE9qUWRhOEFLbk5RUjVHKzZXSHJhUVlveFVUVkI2S0NBSHVP?=
 =?utf-8?B?Tlphb1AvdWhYUU8rQ0hDTW1jNnhZWmZaakFja3Fvc1A4dzZoalhJdSt1Q01U?=
 =?utf-8?B?N1ZodzhhdmdjdEM0L2w2NkdhajZkbFgxaHM1akZLb2cwSUYrTDRQeDFQMkd1?=
 =?utf-8?B?SzdOaGE4NHgzbjlqajlaTTZJeU9RMmQ5aVFKckhsMXJkSGR1MGdLV2orRnh2?=
 =?utf-8?B?bkJPbU43dEg2OWVGM1dobU9CbWN3dStRQVJEa0RsUlhueVZZQW1yRzZxNTVq?=
 =?utf-8?B?MXM4dTZvdTRCb1FjMjlCVFF4eU1aVUh3QkptWUU0UmtPdUxmS3Z2cnRYTVk5?=
 =?utf-8?B?ZXU4QnUyZEh2ZHZCNk1OZUNjNXJOWEhMOUQ3N1NtMmUxVFZnSHRUZmhtV1dJ?=
 =?utf-8?B?bC9yd2pucmdRMWtIak5MOEtkeHlScXNHdFVBR2dLUER0MEFkZXBqSHl4UGFa?=
 =?utf-8?B?VmwveDV5WWh3WHQyTXB4L2p3bEJmazMxRG1ZRjkxVm9kdDRQWWxVLzRHRGJV?=
 =?utf-8?B?M0xQc1ZRUHVRZHRZR2dJbXVDNkU0VG1ZTkI3d1dHc1FjUStTdlB4RVVFNjVr?=
 =?utf-8?B?U2N3T3VkQzJ4L2k1TnFRWkRwbnJuQVpCdG9NOWJnVUsza0dCOHFXazJkdVNK?=
 =?utf-8?B?anVkNG9IWkJsY0tKQk5Pd0tBWXNkNWdHRFlVaWVsZkRhUHIyTkx0YlRVb0Vr?=
 =?utf-8?B?Y21uREM1a0Rqc2Z0clU5V21iQUMrSFFqU3ZkcUhNeDM0VkxpSDlHT3ZhTncy?=
 =?utf-8?Q?lFZWrWG83v+q2Ow4aHyaNqdAk?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <1AD8836324B82240939E85A18EAF6311@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e96bc986-075a-495f-0d87-08dae1eeddc5
X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Dec 2022 18:28:46.5022
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: j1R0QKFQPN8h5/bGMBwywUKMzptjdnOj7dqvnI4/h+TQoVyFJmHrVn9mefj4P7tWNp+l1oHUHcXyphO4tw7FXmOQ+Vr/5xpTetfiwO9lW8c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5000

T24gMTkvMTIvMjAyMiA2OjM0IGFtLCBYZW5pYSBSYWdpYWRha291IHdyb3RlOg0KPiBUaGlzIHNl
cmllcyBhaW1zIHRvIHByb3ZpZGUgYSBtZWFucyB0byByZW5kZXIgdGhlIGlvbW11IGRyaXZlciBz
dXBwb3J0IGZvciB4ODYNCj4gY29uZmlndXJhYmxlLiBDdXJyZW50bHksIGlycmVzcGVjdGl2ZWx5
IG9mIHRoZSB0YXJnZXQgcGxhdGZvcm0sIGJvdGggQU1EIGFuZA0KPiBJbnRlbCBpb21tdSBkcml2
ZXJzIGFyZSBidWlsdC4gVGhpcyBpcyB0aGUgY2FzZSBiZWNhdXNlIHRoZSBleGlzdGVudCBLY29u
ZmlnDQo+IGluZnJhc3RydWN0dXJlIGRvZXMgbm90IHByb3ZpZGUgYW55IGZhY2lsaXRpZXMgZm9y
IGZpbmVyLWdyYWluZWQgY29uZmlndXJhdGlvbi4NCj4NCj4gVGhlIHNlcmllcyBhZGRzIHR3byBu
ZXcgS2NvbmZpZyBvcHRpb25zLCBBTURfSU9NTVUgYW5kIElOVEVMX1ZURCwgdGhhdCBjYW4gYmUN
Cj4gdXNlZCB0byBnZW5lcmF0ZSBhIHRhaWxvcmVkIGlvbW11IGNvbmZpZ3VyYXRpb24gZm9yIGEg
Z2l2ZW4gcGxhdGZvcm0uDQo+DQo+IFRoaXMgc2VyaWVzIHdpbGwgYmUgcGFydCBvZiBhIGJyb2Fk
ZXIgZWZmb3J0IHRvIHNlcGFyYXRlIHBsYXRmb3JtIHNwZWNpZmljDQo+IGNvZGUgYW5kIGl0IGlz
IHNlbnQgYXMgYW4gUkZDIHRvIGdhdGhlciBmZWVkYmFjayByZWdhcmRpbmcgdGhlIHdheSB0aGUN
Cj4gc2VwYXJhdGlvbiBzaG91bGQgYmUgcGVyZm9ybWVkLg0KDQpIZWxsbywNCg0KVGhhbmtzIGZv
ciB0aGUgc2VyaWVzLg0KDQpGcm9tIGRpc2N1c3Npb25zIGluIHRoZSBwYXN0LCB3ZSBkbyB3YW50
IENPTkZJR19JTlRFTC9BTUQvZXRjIGFuZCB3ZSBkbw0Kd2FudCB0aGVzZSB0byBiZSBzZWxlY3Rh
YmxlIGFuZCBhdmFpbGFibGUgZm9yIHJhbmRjb25maWcgdG8gdGVzdC4NCg0KU29tZSBzdWItZmVh
dHVyZXMgYXJlIG1vcmUgY29tcGxpY2F0ZWQsIGJlY2F1c2UgZS5nLiBDZW50YXVyIGhhdmUgQ1BV
cw0Kd2l0aCBhIFZULXggaW1wbGVtZW50YXRpb24uwqAgVGhpcyB3aWxsIG5lZWQgZXhwcmVzc2lu
ZyBpbiB3aGF0ZXZlcg0KS2NvbmZpZyBzY2hlbWUgd2UgZW5kIHVwIHdpdGguDQoNCklPTU1VcyBh
cmUgbW9yZSB0cmlja3kgc3RpbGwuwqAgVGhleSBhcmUgKGZvciBtb3N0IGludGVudHMgYW5kIHB1
cnBvc2VzKQ0KbWFuZGF0b3J5IG9uIHN5c3RlbXMgd2l0aCA+MjU0IENQVXMuwqAgV2UgY291bGQg
aW4gcHJpbmNpcGxlIHN0YXJ0DQpzdXBwb3J0aW5nIGFzeW1tZXRyaWMgSVJRIHJvdXRpbmcgb24g
bGFyZ2Ugc3lzdGVtcywgYnV0IFhlbiBkb2Vzbid0DQpjdXJyZW50bHkgYW5kIGl0IHdvdWxkIGJl
IGEgbG90IHdvcmsgdGhhdCdzIGRlZmluaXRlbHkgbm90IGhpZ2ggb24gdGhlDQpwcmlvcml0eSBs
aXN0LsKgIEF0IGEgbWluaW11bSwgdGhpcyB3aWxsIG5lZWQgZXhwcmVzc2luZyBpbiB0aGUgS2Nv
bmZpZw0KaGVscCB0ZXh0Lg0KDQpXZSBuZWVkIHRvIGRlY2lkZSB3aGV0aGVyIGl0IGlzIHNlbnNp
YmxlIHRvIGFsbG93IHVzZXJzIHRvIHR1cm4gb2ZmDQpJT01NVSBzdXBwb3J0LsKgIEl0IHByb2Jh
Ymx5IGlzLCBiZWNhdXNlIHlvdSBjb3VsZCB0cml2aWFsbHkgZG8gdGhpcyBieQ0Kc2VsZWN0aW5n
IENPTkZJR19JTlRFTCBvbmx5LCBhbmQgYm9vdGluZyB0aGUgcmVzdWx0IG9uIGFuIEFNRCBzeXN0
ZW0uDQoNCg0KRm9yIHRoZSBuYW1lcywgSSBkb24ndCB0aGluayBBTURfSU9NTVUgdnMgSU5URUxf
VlREIGlzIGEgc2Vuc2libGUuwqANClByb2JhYmx5IHdhbnRzIHRvIGJlIElOVEVMX0lPTU1VIHRv
IG1hdGNoLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 18:30:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 18:30:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466307.725185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Ku4-000553-8A; Mon, 19 Dec 2022 18:30:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466307.725185; Mon, 19 Dec 2022 18:30:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Ku4-00054w-55; Mon, 19 Dec 2022 18:30:20 +0000
Received: by outflank-mailman (input) for mailman id 466307;
 Mon, 19 Dec 2022 18:30:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Ku2-00054k-Hb; Mon, 19 Dec 2022 18:30:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Ku2-0007Ob-Dn; Mon, 19 Dec 2022 18:30:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Ku2-0003zL-0z; Mon, 19 Dec 2022 18:30:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Ku2-0001Wt-05; Mon, 19 Dec 2022 18:30:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=57hY2cfzHRnitdWUjw+peqqT26cHubrV8BSTNgpHniY=; b=uc5xa4wigC16h3DrKES8Of1Nuz
	61wjckDJgWmeAubDFldteYq21vS78clD2GaD5llaRMoNX7anltbDrShKew2AFnCE+3vESIXoOUjDk
	OVOY1kV+hPgm/uaaXYAub6946PYCs59HsfJAsbjNMYzAiewn1uAR4V5BU2ZBP69L1byE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175402-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 175402: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:<job status>:broken:regression
    xen-4.13-testing:test-amd64-amd64-xl-pvshim:<job status>:broken:regression
    xen-4.13-testing:test-amd64-amd64-xl-pvshim:host-install(5):broken:regression
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:host-install(5):broken:regression
    xen-4.13-testing:test-amd64-i386-qemuu-rhel6hvm-intel:guest-stop:fail:regression
    xen-4.13-testing:test-amd64-amd64-pygrub:guest-start/debian.repeat:fail:regression
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=708e83f0e7d1e32295fee58c71c1e972d4e61f56
X-Osstest-Versions-That:
    xen=1151d260d7a0186978b80b708fcb712eb1470f49
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 19 Dec 2022 18:30:18 +0000

flight 175402 xen-4.13-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175402/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ws16-amd64    <job status>                 broken
 test-amd64-amd64-xl-pvshim      <job status>                 broken
 test-amd64-amd64-xl-pvshim    5 host-install(5)        broken REGR. vs. 174675
 test-amd64-amd64-xl-qemuu-ws16-amd64 5 host-install(5) broken REGR. vs. 174675
 test-amd64-i386-qemuu-rhel6hvm-intel 13 guest-stop       fail REGR. vs. 174675
 test-amd64-amd64-pygrub     21 guest-start/debian.repeat fail REGR. vs. 174675

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 174675
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 174675
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 174675
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 174675
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 174675
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 174675
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 174675
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 174675
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 174675
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 174675
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 174675
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  708e83f0e7d1e32295fee58c71c1e972d4e61f56
baseline version:
 xen                  1151d260d7a0186978b80b708fcb712eb1470f49

Last test of basis   174675  2022-11-08 18:06:48 Z   41 days
Testing same since   175402  2022-12-19 08:37:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         broken  
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         fail    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   broken  
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-pvshim broken
broken-step test-amd64-amd64-xl-pvshim host-install(5)
broken-step test-amd64-amd64-xl-qemuu-ws16-amd64 host-install(5)

Not pushing.

------------------------------------------------------------
commit 708e83f0e7d1e32295fee58c71c1e972d4e61f56
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 19 09:10:08 2022 +0100

    update Xen version to 4.13.5
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 19:16:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 19:16:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466320.725195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7LcM-00017D-NI; Mon, 19 Dec 2022 19:16:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466320.725195; Mon, 19 Dec 2022 19:16:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7LcM-000176-Kk; Mon, 19 Dec 2022 19:16:06 +0000
Received: by outflank-mailman (input) for mailman id 466320;
 Mon, 19 Dec 2022 19:16:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RXDn=4R=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1p7LcK-00016y-GR
 for xen-devel@lists.xen.org; Mon, 19 Dec 2022 19:16:04 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 93fbb259-7fd1-11ed-8fd4-01056ac49cbb;
 Mon, 19 Dec 2022 20:16:02 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id a17so8520840wrt.11
 for <xen-devel@lists.xen.org>; Mon, 19 Dec 2022 11:16:02 -0800 (PST)
Received: from [10.17.77.109] (ll-22.209.223.85.sovam.net.ua. [85.223.209.22])
 by smtp.gmail.com with ESMTPSA id
 d7-20020a5d4f87000000b00236576c8eddsm10664334wru.12.2022.12.19.11.16.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 19 Dec 2022 11:16:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93fbb259-7fd1-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/0jXQrslbZ/dicsEddmPXAWTn/gFpyO24UPpcN/esfQ=;
        b=aslOEhyCUNn1pm7aOkVPENmvshhkEQ1dDyKR39yQyC1pLy8NO8dGFMUt9RVzBnVvi9
         6Td4EDIHSd8IXbBybahhbO1qIQ6zMlAJkUW55Blf1uUQPQH2kcgLstDOtdSD+OKMGoUY
         mFwyU/CQdkHu++8lgHO6QJ1hXuHJiSwmWneo5cpLDP8gONOREBdsTfDk1wk2sQCi0qv1
         ADDzgNTrtWixGV2xckZ5S0F8tbb1/XjfoSj9hgTVxw0VU0psyP+cvUgo8PauuIL9dScp
         yyoTa1l4bB1IgvH+SZR5ogqHd7LUgtIrLP0ldXVR5yt+9jo+J8XR7nCuzcQnR/obfx+y
         ePgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/0jXQrslbZ/dicsEddmPXAWTn/gFpyO24UPpcN/esfQ=;
        b=ejaHCLduHPhTkmty7m6cLdbeyI0RLNkz1ljoASvFjBIM2rZwxT0aKU7YW7UvSUehSr
         +cYG6Hm1B0vSaeNVuhB8/mZzNseUVpgrImA+1c40+XrwsB6zj7m+IMDeccVnfKDI0KZ5
         7tVGyFyO/hgS2DUhXzZKuAZ9sXX+atOd34McP9BsF54NUghcIwcNj91G2z/lXzrmsiOn
         w1eW1Ab7xdeej73+qCWDM8cNYcMqNYq2pXewaxOLgm0zYKvFkmVYGcnsKoGMGc9NyTar
         JmvHy8Mkx5Tuz6pQwfG+a3D6QkQo+o/YdRtvG19UbmQ3LMZ74AgCT36VcZ8CcciY8Qde
         LADA==
X-Gm-Message-State: ANoB5pkBQ/AZHNrRHii4KOgxseZrSmThWNIgGvFRCYgVnTMTJsVKdYBC
	azF4K0zAXEXzLK3BFfyybFk=
X-Google-Smtp-Source: AA0mqf5/5xJ276TopBLHumEJjyV7vtZVQSdRgv81KRdn013mhD/JT1QHBZJSjSdmcWkQ2r/4LpMaqA==
X-Received: by 2002:a5d:4e04:0:b0:242:4f41:2efc with SMTP id p4-20020a5d4e04000000b002424f412efcmr42432972wrt.35.1671477362168;
        Mon, 19 Dec 2022 11:16:02 -0800 (PST)
Message-ID: <1a348320-62d1-77b5-d8e9-f21e8f2f2b47@gmail.com>
Date: Mon, 19 Dec 2022 21:16:00 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: Virtio-disk updates for latest Xen ?
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 Vincent Guittot <vincent.guittot@linaro.org>, Juergen Gross
 <jgross@suse.com>, xen-devel@lists.xen.org
References: <CAKohpo=u7qp4URjRRAMM4xEytmZoKZAJOZLw4v0HTk13BrK-fw@mail.gmail.com>
 <CAPD2p-kfhaygmNNutUdk-mApR7z1YDSTYCEhtLgLsXi+-wbv8A@mail.gmail.com>
 <20221207002138.qulrlav3z3heozk4@vireshk-i7>
 <20221207035918.amzgrybqub632dyc@vireshk-i7>
 <f4ba541c-d089-28af-c80b-dcb0fa87a9d7@gmail.com>
 <20221215042205.y5565f7rv6asmsw5@vireshk-i7>
Content-Language: en-US
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <20221215042205.y5565f7rv6asmsw5@vireshk-i7>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 15.12.22 06:22, Viresh Kumar wrote:

Hello Viresh


> On 14-12-22, 17:01, Oleksandr Tyshchenko wrote:
>> Today I had a chance to check virtio-disk on my H/W using new Xen branch
>> which does include Juergen's series with commit 3a96013a3e17
>> ("tools/xenstore: reduce number of watch events").
>>
>> Very interesting, but I didn't manage to reproduce an issue the similar to
>> what you had already faced with the rust counterparts before (caused by the
>> lack of Xenstore watches?). Note that I didn't debug what exactly events I
>> had got during guest creation/destruction, I just made sure that backend
>> worked as before. I checked that by running the backend in Dom0 and DomD and
>> performed a couple of guest power cycles (reboot, destroy/create).
>>
>> If you could provide the debug patch which you seem to use to print incoming
>> events which you described in previous email, I think I would be able to
>> re-check the situation at my side more deeper.
> 
> This should be enough to see the new changes I believe.
> 
> diff --git a/xs_dev.c b/xs_dev.c
> index a6c8403cfe84..8525c6512299 100755
> --- a/xs_dev.c
> +++ b/xs_dev.c
> @@ -421,6 +421,8 @@ static int xenstore_poll_be_watch(struct xs_dev *dev)
>       if (!vec)
>           return -1;
>   
> +    printf("%s: %s\n", vec[XS_WATCH_PATH], dev->path);
> +
>       if (!strcmp(vec[XS_WATCH_PATH], dev->path))
>           rc = xenstore_get_fe_domid(dev);


Thanks. This print does not provide much information in my case 
(virtio-disk). All what I see here in both cases (with old and new Xen) 
during guest creation is the following:
"backend/virtio_disk: backend/virtio_disk"

But, if I modify the xenstore_get_fe_domid() to always return 0 and as 
the result to get stuck here, I can see subsequent events for other 
paths here.

I agree that with new Xen (after commit 3a96013a3e17 "tools/xenstore: 
reduce number of watch events"), some events are missing now, but I
still don't see an issue with virtio-disk and can't see why it is going 
to be an issue. The code doesn't wait for the last "finalizing" event 
for the root directory "backend/virtio_disk", it goes ahead to find the 
FE domid right after receiving the first event.

new Xen:
oot@generic-armv8-xt-dom0:~# xl console DomD
backend/virtio_disk/6/51713: backend/virtio_disk
backend/virtio_disk/6/51713/frontend: backend/virtio_disk
backend/virtio_disk/6/51713/params: backend/virtio_disk
backend/virtio_disk/6/51713/frontend-id: backend/virtio_disk
backend/virtio_disk/6/51713/online: backend/virtio_disk
backend/virtio_disk/6/51713/removable: backend/virtio_disk
backend/virtio_disk/6/51713/bootable: backend/virtio_disk
backend/virtio_disk/6/51713/state: backend/virtio_disk
backend/virtio_disk/6/51713/dev: backend/virtio_disk
backend/virtio_disk/6/51713/type: backend/virtio_disk
backend/virtio_disk/6/51713/mode: backend/virtio_disk
backend/virtio_disk/6/51713/device-type: backend/virtio_disk
backend/virtio_disk/6/51713/discard-enable: backend/virtio_disk
backend/virtio_disk/6/51713/specification: backend/virtio_disk
backend/virtio_disk/6/51713/transport: backend/virtio_disk
backend/virtio_disk/6/51713/base: backend/virtio_disk
backend/virtio_disk/6/51713/irq: backend/virtio_disk

old Xen:
root@generic-armv8-xt-dom0:~# xl console DomD
backend/virtio_disk/4/51713: backend/virtio_disk
backend/virtio_disk/4: backend/virtio_disk
backend/virtio_disk: backend/virtio_disk
backend/virtio_disk/4/51713/frontend: backend/virtio_disk
backend/virtio_disk/4/51713/params: backend/virtio_disk
backend/virtio_disk/4/51713/frontend-id: backend/virtio_disk
backend/virtio_disk/4/51713/online: backend/virtio_disk
backend/virtio_disk/4/51713/removable: backend/virtio_disk
backend/virtio_disk/4/51713/bootable: backend/virtio_disk
backend/virtio_disk/4/51713/state: backend/virtio_disk
backend/virtio_disk/4/51713/dev: backend/virtio_disk
backend/virtio_disk/4/51713/type: backend/virtio_disk
backend/virtio_disk/4/51713/mode: backend/virtio_disk
backend/virtio_disk/4/51713/device-type: backend/virtio_disk
backend/virtio_disk/4/51713/discard-enable: backend/virtio_disk
backend/virtio_disk/4/51713/specification: backend/virtio_disk
backend/virtio_disk/4/51713/transport: backend/virtio_disk
backend/virtio_disk/4/51713/base: backend/virtio_disk
backend/virtio_disk/4/51713/irq: backend/virtio_disk

At the same time the code to automatically determine the FE domid is not 
ideal, for the instance, it is based on the assumption
that new FE domid should be always greater than old FE domid (which as I 
understand *might* be wrong) and contains a delay, so wants to be improved.



From xen-devel-bounces@lists.xenproject.org Mon Dec 19 19:26:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 19:26:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466332.725207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Lml-0002gs-SC; Mon, 19 Dec 2022 19:26:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466332.725207; Mon, 19 Dec 2022 19:26:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Lml-0002gl-PF; Mon, 19 Dec 2022 19:26:51 +0000
Received: by outflank-mailman (input) for mailman id 466332;
 Mon, 19 Dec 2022 19:26:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Lmk-0002gb-GS; Mon, 19 Dec 2022 19:26:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Lmk-0000Mo-Dd; Mon, 19 Dec 2022 19:26:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Lmj-0006tG-ON; Mon, 19 Dec 2022 19:26:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Lmj-0002RO-Nz; Mon, 19 Dec 2022 19:26:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NZMhscZ6jfjS8N/kKeHG54C4LZ+jwbp+fkr+K9eP/Wc=; b=DrBu0n4FYQyNjMQUfI9nahG7Bi
	wEHioGZzSXQ6qbXuVNgW5Oa50zaf4y/lnvgOqG5PYCddcUJ0zy9yXASuTnBBEZRaBzKr/pDboCCv1
	cuYvu/IE22vbQq+PuUuPJq6zUMSNKviEPiMQKZScXG+vpc6cQTSFm/7aP6iGglo3EYF8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175409-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175409: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=5f05b229319e25aa7f35735bba060ddbeb325872
X-Osstest-Versions-That:
    xen=da5092e7d6ed4714b5dc63ed2cd7f6c93dd6efd4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 19 Dec 2022 19:26:49 +0000

flight 175409 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175409/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  5f05b229319e25aa7f35735bba060ddbeb325872
baseline version:
 xen                  da5092e7d6ed4714b5dc63ed2cd7f6c93dd6efd4

Last test of basis   175406  2022-12-19 11:03:50 Z    0 days
Testing same since   175409  2022-12-19 16:01:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  George Dunlap <george.dunlap@cloud.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   da5092e7d6..5f05b22931  5f05b229319e25aa7f35735bba060ddbeb325872 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 20:44:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 20:44:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466342.725218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7MzM-0002Hu-Bh; Mon, 19 Dec 2022 20:43:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466342.725218; Mon, 19 Dec 2022 20:43:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7MzM-0002Hn-8c; Mon, 19 Dec 2022 20:43:56 +0000
Received: by outflank-mailman (input) for mailman id 466342;
 Mon, 19 Dec 2022 20:43:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=vkx+=4R=weilnetz.de=sw@srs-se1.protection.inumbo.net>)
 id 1p7MzL-0002Hh-9H
 for xen-devel@lists.xenproject.org; Mon, 19 Dec 2022 20:43:55 +0000
Received: from mail.v2201612906741603.powersrv.de (mail.weilnetz.de
 [37.120.169.71]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d938e527-7fdd-11ed-91b6-6bf2151ebd3b;
 Mon, 19 Dec 2022 21:43:53 +0100 (CET)
Received: from [192.168.178.59] (p57b42763.dip0.t-ipconnect.de [87.180.39.99])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256)
 (No client certificate requested)
 by mail.v2201612906741603.powersrv.de (Postfix) with ESMTPSA id 90164DA0553;
 Mon, 19 Dec 2022 21:43:51 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d938e527-7fdd-11ed-91b6-6bf2151ebd3b
Message-ID: <2d829bf0-7804-8c67-61a4-4ae8f7ddd9ca@weilnetz.de>
Date: Mon, 19 Dec 2022 21:43:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH 1/6] disas: add G_GNUC_PRINTF to gstring_printf
To: =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>,
 qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>, qemu-ppc@nongnu.org,
 xen-devel@lists.xenproject.org, Laurent Vivier <lvivier@redhat.com>,
 Markus Armbruster <armbru@redhat.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, virtio-fs@redhat.com,
 Michael Roth <michael.roth@amd.com>, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, qemu-block@nongnu.org,
 Peter Maydell <peter.maydell@linaro.org>, qemu-arm@nongnu.org,
 Paul Durrant <paul@xen.org>, Anthony Perard <anthony.perard@citrix.com>,
 David Gibson <david@gibson.dropbear.id.au>, =?UTF-8?Q?C=c3=a9dric_Le_Goater?=
 <clg@kaod.org>, John Snow <jsnow@redhat.com>,
 Stefan Hajnoczi <stefanha@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gerd Hoffmann <kraxel@redhat.com>, Greg Kurz <groug@kaod.org>,
 Thomas Huth <thuth@redhat.com>
References: <20221219130205.687815-1-berrange@redhat.com>
 <20221219130205.687815-2-berrange@redhat.com>
From: Stefan Weil <sw@weilnetz.de>
In-Reply-To: <20221219130205.687815-2-berrange@redhat.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0b04BHHYMlAgxOL9rhUtBaN9"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0b04BHHYMlAgxOL9rhUtBaN9
Content-Type: multipart/mixed; boundary="------------yTpA0PFAROE5nCpoBfE6sOO7";
 protected-headers="v1"
From: Stefan Weil <sw@weilnetz.de>
To: =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>,
 qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>, qemu-ppc@nongnu.org,
 xen-devel@lists.xenproject.org, Laurent Vivier <lvivier@redhat.com>,
 Markus Armbruster <armbru@redhat.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, virtio-fs@redhat.com,
 Michael Roth <michael.roth@amd.com>, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, qemu-block@nongnu.org,
 Peter Maydell <peter.maydell@linaro.org>, qemu-arm@nongnu.org,
 Paul Durrant <paul@xen.org>, Anthony Perard <anthony.perard@citrix.com>,
 David Gibson <david@gibson.dropbear.id.au>, =?UTF-8?Q?C=c3=a9dric_Le_Goater?=
 <clg@kaod.org>, John Snow <jsnow@redhat.com>,
 Stefan Hajnoczi <stefanha@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gerd Hoffmann <kraxel@redhat.com>, Greg Kurz <groug@kaod.org>,
 Thomas Huth <thuth@redhat.com>
Message-ID: <2d829bf0-7804-8c67-61a4-4ae8f7ddd9ca@weilnetz.de>
Subject: Re: [PATCH 1/6] disas: add G_GNUC_PRINTF to gstring_printf
References: <20221219130205.687815-1-berrange@redhat.com>
 <20221219130205.687815-2-berrange@redhat.com>
In-Reply-To: <20221219130205.687815-2-berrange@redhat.com>

--------------yTpA0PFAROE5nCpoBfE6sOO7
Content-Type: multipart/mixed; boundary="------------AequN11irnsmEWddWGWlHvb9"

--------------AequN11irnsmEWddWGWlHvb9
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

QW0gMTkuMTIuMjIgdW0gMTQ6MDIgc2NocmllYiBEYW5pZWwgUC4gQmVycmFuZ8OpOg0KPiBT
aWduZWQtb2ZmLWJ5OiBEYW5pZWwgUC4gQmVycmFuZ8OpIDxiZXJyYW5nZUByZWRoYXQuY29t
Pg0KPiAtLS0NCj4gICBkaXNhcy5jIHwgMSArDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDEgaW5z
ZXJ0aW9uKCspDQo+IA0KPiBkaWZmIC0tZ2l0IGEvZGlzYXMuYyBiL2Rpc2FzLmMNCj4gaW5k
ZXggOTRkM2I0NTA0Mi4uMzFkZjhmNWI4OSAxMDA2NDQNCj4gLS0tIGEvZGlzYXMuYw0KPiAr
KysgYi9kaXNhcy5jDQo+IEBAIC0yMzksNiArMjM5LDcgQEAgdm9pZCB0YXJnZXRfZGlzYXMo
RklMRSAqb3V0LCBDUFVTdGF0ZSAqY3B1LCB0YXJnZXRfdWxvbmcgY29kZSwNCj4gICAgICAg
fQ0KPiAgIH0NCj4gICANCj4gK0dfR05VQ19QUklOVEYoMiwgMykNCj4gICBzdGF0aWMgaW50
IGdzdHJpbmdfcHJpbnRmKEZJTEUgKnN0cmVhbSwgY29uc3QgY2hhciAqZm10LCAuLi4pDQo+
ICAgew0KPiAgICAgICAvKiBXZSBhYnVzZSB0aGUgRklMRSBwYXJhbWV0ZXIgdG8gcGFzcyBh
IEdTdHJpbmcuICovDQoNClRoZSBjdXJyZW50IGNvZGUgdXNlcyBhIGRpZmZlcmVudCBwYXR0
ZXJuOg0KDQpzdGF0aWMgUkVUVVJOX1RZUEUgR19HTlVDX1BSSU5URigyLCAzKSBmdW5jdGlv
bihhcmd1bWVudCBsaXN0KQ0KDQpTbyBJIHdvdWxkIGhhdmUgZXhwZWN0ZWQNCg0Kc3RhdGlj
IGludCBHX0dOVUNfUFJJTlRGKDIsIDMpDQpnc3RyaW5nX3ByaW50ZihGSUxFICpzdHJlYW0s
IGNvbnN0IGNoYXIgKmZtdCwgLi4uKQ0KDQpEb2VzIHRoYXQgbWF0dGVyPyBEbyB3ZSBjYXJl
IGZvciBkaWZmZXJlbnQgcGF0dGVybnM/DQoNClN0ZWZhbg0K
--------------AequN11irnsmEWddWGWlHvb9
Content-Type: application/pgp-keys; name="OpenPGP_0xE08C21D5677450AD.asc"
Content-Disposition: attachment; filename="OpenPGP_0xE08C21D5677450AD.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xsFNBFXCNBcBEACUbHx9FWsS1ATrhLGAS+Nc6bFQHPR3CpUQ4v++RiMg25bF6Ov1
RsYEcovI0DXGh6Ma+l6dRlvUXV8tMvNwqghDUr5KY7LN6tgcFKjBbXdv9VlKiWiM
LKBrARcFKxx1sfLp1P8RiaUdKsgy2Hq4T1PPy9ENTL1/FBG6P/Rw0rO9zOB+yNHc
RJ5diDnERbi3x7qoaPUra2IglmQk/uxXKC0aNIhpNLNiQ+YpwTUN9q3eG6B9/3CG
8RGtFzH9vDPlLvtUX+01a2gCifTi3iH38EEK8ACXIRs2dszlxMneKTvflXfvyCM1
O+59wGcICQxltxLLhHSCJjOQyWdR2JUtn//XjVWMmf6bBT7Imx3DhhfFRlA+/Lw9
Zah66DJrZgiV0LqoN/2f031TzD3FCBiGQEMC072MvSQ1DdJNOiRE1iWO0teLOxaF
SbvJS9ij8CFSQQTnSVZs0YXGBal+1kMeaKo9sO4tkaAR2190IlMNanigCTJfeFqx
zZkoki378grSHdGUTGKfwNPflTOA6Pw6xuUcxW55LB3lBsPqb0289P8o9dTR7582
e6XTkpzqe/z/fYmfI9YXIjGY8WBMRbsuQA30JLq1/n/zwxAOr2P9y4nqTMMgFOtQ
S8w4G46KUMY/5IspZp2VnPwvazUo2zpYiUSLo1hFHx2jrePYNu2KLROXpwARAQAB
zRxTdGVmYW4gV2VpbCA8c3dAd2VpbG5ldHouZGU+wsF6BBMBCAAkAhsDBQsJCAcD
BRUKCQgLBRYCAwEAAh4BAheABQJV04LlAhkBAAoJEOCMIdVndFCtP5QP/1U8yWZz
HeHufRFxtMsK1PERiLuKyGRH2oE5NWVc5QQHZZ2ypXu53o2ZbZxmdy8+4lXiPWWw
YVqto3V7bPaMTvQhIT0I3c3ZEZsvwyEEE6QdRs52haZwX+TzNMQ5mOePdM2m4WqO
0oU7YHU2WFf54MBmAGtj3FAQEAlZAaMiJs2aApw/4t35ICL1Sb0FY8d8lKBbIFOA
aFfrlQTC3y8eMTk1QxOVtdXpRrOl6OE0alWn97NRqeZlBm0P+BEvdgTPQt+9rxbe
4ulgKME2LkbDhLqf0m2+xMXb7T4LiHbQYnnWKGZyogpFaw3PuRVd9m8uxx1F8b4U
jNzI9x2Ez5LDv8NHpSY0LGwvVmkgELYbcbyiftbuw81gJuM7k4IW5GR85kTH6y/S
q6JNaI4p909IK8X4eeoCkAqEVmDOo1D5DytgxIV/PErrin82OIDXLENzOWfPPtUT
O+H7qUe80NS2HLPGIveYSjuYKBB6n2JhPkUD7xxMEdh5Ukqi1WIBSV4Tuk3/ubHa
jP5bqg4QP3Wo1AyICX09A1QQDajtMkyxXhYxr826EGcRD2WUUprGNYwaks4YiPuv
OAJxSYprKWT6UDHzE3S8u4uZZm9H8cygFa3pysJwTmbmrBAP1lMolwXHky60dPnK
PmFyArGC0utAH7QELXzBybnE/vSNttNT1D+HwsF3BBMBCAAhBQJVwjQXAhsDBQsJ
CAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEOCMIdVndFCt15YP/19PBtZWQYTd8xlz
NqN/KsSEhiBScWWPGhE5HLDQmnq6+qYBIy9bDM83394ZPxvNb5cJs7LfgfrRJKj3
86OB8bAN9rB9dbGxMlirBpJVIBJj/2OkfgDk+19jNLrUaGC9qWVJeLf7Z/lDXYmP
0GmzzIZNzvobk5XT1Fv91E4HKlBaMoS9FiubxNKSywziI++n2qN5m1deI18lS7iS
nUIaTSvKvvyU9jqGyghW6pe8aVmtjQ1jYGv1RmxOJ8LkLl96cy/aKhPwEJKKR4f3
4VzKvwePcNicVosy9PvdvCvsk/ogjszb9tN/HD0Dsy94kuYyE3QkihAF2Dv/Ny0d
L5/n+e25nKokscUHfgLVwBLLTp/+jzIL6aRDq0yeq7gnKmK4OZ6SQkdIrCELW8Gh
MBe/1EBGge30PcW1C8B5WvFGi8R1xaFwjm7rWwbPvIeSHdhiVigatl6J7DECPs2U
55RJQ0y1ISl0PWpHecyWqf2EwWx+P1qIG7EqBxsKGII6F0MYaSEMwRHcG8Yua1l+
mFgZnwKHOMj4vmDFUeykGHUNu1ckQGMdL46A82P+r/TXnlQP33b+D+3+3bvqH6Nw
/abhyyNtV/jx/EgUvlmFvVGNHV7xk/AkigwJsDw8Or6e57moh9Uiq9TKc2qY8qZe
HrAYq/3WQsX61JSf0rD1jcYuVM7SzSVTdGVmYW4gV2VpbCA8c3RlZmFuLndlaWxA
d2VpbG5ldHouZGU+wsF3BBMBCAAhBQJV04LBAhsDBQsJCAcDBRUKCQgLBRYCAwEA
Ah4BAheAAAoJEOCMIdVndFCt+vAP/jjQWTZlQUIHXW+I7j22l/LbAFaJM82PZo7R
mjTKzzKs5OUG/7XPhseG/Per8u6otUWCTEtd/pIyZq451y0zzHt+Mvvrfj99uymk
fLw5wqWB2JM/bBwdJZlsFIuRw2aYpwAGpeAqVZutSCm9r1GmpxDQ4vj0tFKZATZs
9hjcMKBqyZP26rtrfu81AOXm4Dn3yB6zvj+diVLwjq7ho2Oxlkq38kYC4ph6RaVv
uDWgzA8+e4BUSf9VHmXz5LXCXgTqwrNsuGiv+DnURfpGM6AkwQSQO/ixNfrMVfQa
iCoysAGB4gZtWAAdbkg+Kc3QcBtRyxoAhLWEYwu4b/OfLE0TQLn6aY06kcAr7CuC
6nWoe+WFTHEKG6XhYuS6em9+PaoQtNU+HRv8QeBs4aPZKL+NvNI/+NRw4B6pD5b4
3cjbiEAZGVwcJRErKKC57RuerCC1UotPWGn8vcL6LfKTAZ9Fh6QCciOtUxo9t9md
fU4Wi1zl/f8VztoqBBx8L8jWxkjRk3bZVM+HKXtm/z+TDGeWpJNUzyRiIHX/AMmH
E1BpBdTT/mpApGerwrOYDaTAvc3vtYk29Buewii5340rQrULbWCIlpQwICmwhBGQ
Ha6N47VMvg4OM4IWDi3H+pMhzczHsAuNmO0/UQ8nzIYHvmKyWiRNIy5x8L/Y6156
Qxcu3ggZzS1TdGVmYW4gV2VpbCA8c3RlZmFuLndlaWxAYmliLnVuaS1tYW5uaGVp
bS5kZT7CwXcEEwEIACEFAlXTgxcCGwMFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AA
CgkQ4Iwh1Wd0UK2P+RAAiLaAmn0zc8xNTXdvrWSblejSm1bGYnqo21RllnI4apL7
W7n1rTagnQnG0r2zT3lJLt7rSBhd7GBHyjiJ80omW3nf5cWHUX112HGOvIJObajI
fApfX4b+y/vMV8ccrdzzhLWsofh8ecrf1IaR4TUX/u9k2i54nfQYi7f8nPAz/MOq
6rX7Icu7qSnIJ7Yw1NLOEd3QGbdhIm+xi2IHjS575raxEA3RIzGeHwfvg/79L9z/
Ty1GirA9EmrhA8WKbh99+vNACLhfGUUsviHGjkjedXpyK3VzRSrs60kplv1/gtej
MtNfPjQ31HVIaO2iYym48K/0o1aCRNhHacsjy/FxhldwCwp8ESHmp0wQ0PHEh6Tg
YkGgmqxVCOz9bytqCPkVYhDDRdgrpgL3FWcxqoVCfviRNBAhbO+gb/VKkd3sgaYP
T7uiC0aTwAsniiln1XFlGBISNLB1HL/gUc9FJj8qmYgvUBZIzUjmm56up6er8ca9
2tARdBylQF3E9MJ/E4dVrmTyvOlddAb/MG1Ge425mjt0dRfOx8Qc7Pxs+d3UNVSu
Bm+WtuSgk+JNIT08c+WSXec8mE4hVdrKbAvCo9dcT5Gal2r6FSvRVY5kba3t280x
utLSp470k3+DO+AgVigbHr3scXlJXZe1m4luqBSkEBDNH2sAQoBrNVwVaCZqZRTN
TFN0ZWZhbiBXZWlsIChVbml2ZXJzaXTDpHRzYmlibGlvdGhlayBNYW5uaGVpbSkg
PHN0ZWZhbi53ZWlsQHVuaS1tYW5uaGVpbS5kZT7CwY4EEwEIADgWIQRJI2/qdcld
aY7Ct4rgjCHVZ3RQrQUCYlMdZAIbAwULCQgHAwUVCgkICwUWAgMBAAIeBQIXgAAK
CRDgjCHVZ3RQrRo6D/9MSqnSGOjWrcsiXbUsQmNKzI1JZOuabam3P9V/rILU7K4/
b9E6Bk5Vjo/6A4xMtC9y6L244Upn4MTdUofkBdd9dMG8eZ2oofsMGIeEmr4EFfKb
/LoZtIUJaNfiwvd3YakEmaAfd+AWIEAVYlVSxWHeCMowTNYxbSW+/M0ExGw1BErt
oFiz3Ti8iYNfgz2l9cwrKhQEnzZlHUq06AIbzch/nXFFcc3EBDz+J6x//DCclb6Y
8oLJRerrOJqpcpTYrwr+UDbh8JOqiUWUQ1BrbIZb+J5rU+DghBmNAWpd6yTbxX0T
I7g2Hu7gPdzhrLLRO+rQsDK3T+JdVQ9xyoWugFIw4YepAad5uo/2e+q38a+h57EK
Vsy4xfAEV/Mr4hl9KCY2hkiQYMKHvN1EZp72crAiPgDZxh6wTJZ979RHY2apq8XM
Y41uP5mwdHxFA1Al/5+syajNlTzsNdYB5Ucx5TwNU0TifM13exHw8lQZOaWbDZS4
QYwzeFWuEFse9ESmCQX5Pggw+ABFXOtPeqEfIO8v3QbT1vFlJ57iFBUiem967/JV
a0RQyEvAKj0T5124N8Hi1oa8TPk5oSe8id5jSgGD9twbS0HX2KcmwAF/A5MgP7hx
0X4EfhsJtDxFDy5PnoC8ADE2wcKDsTgqfDS/EQc6OeQCKceR45wyOT0Y3kbEa87B
TQRV3J49ARAAt9nArtjFnqmRHL0oY5KCrF5ONph6xm3rof74lZ/CTkG0zu9OhmbW
s6MMNsHgM7lRGIcKou7vUQE8/TEXh3+0eRdCiEYXP9jYTTXosU/+y/hOY33x9Sw/
tCEHXiz6M+rp74O1P+zqXSlmx8zzNy33dDdXUT+bF1C6Y7WEChIIjlOfLHOBeazN
dCqDxRDM/CKeI/UWx/wm0z1DNEuD8crUXIgdxY3dBAm1bBK041+3GXP8gYLN4qew
T1VoG35Ya3PrrTC/zMAumagjiF3/1NCAmH6eSOzw21EloDBR76K1noDGCfRM2dp0
78rS/BO+QtlN4+UWQLkB+crHxqXWk0u+gka2A7ZBHFYky/oUVIK1/ar6swnTRHj2
0Ga+rukzcdxQRJ2kwGeRrqLH1JO8p72ptvswMyzVPhk8sE2S9llPrbznj6fc9f5m
y5x9i5Fh4Mt2z7u+wBSdck2wV5eThEPz7UziXgtbq74Hja7tuoQxUhcpOIBXKl8b
MLtjxlO7VmH312VzfiBYqQku9fHg3E/Hi+uon2fJaifFbuViZqfZq9bKT/UWG0+0
cKc2d4os+3uwGcjraUjCFSXmGU27YqiW8jeM7pIa03QoAhWIH9ApAOVBqWF6drFz
6/oFcSl9qbY/4IneJ/eb0eyjHllegydGEuIShrXYZLiQqSX4yj/3vE8AEQEAAcLB
XwQYAQgACQUCVdyePQIbDAAKCRDgjCHVZ3RQrWEaEACTrt0WUxL1AT6BarJ3fOPV
ZjiioO+3LPhw98ci7afeScEK84cGv+KLgxawvOo7dbwEX6VceQvJ0LTZ1oYPuYeZ
MjiG7Qdf9uwgk3VwHf4S9pNxsqyVxHPotN9RPWwqoH9ihmO/ml7uC3gH0SFiU/RR
lc3c9X/u+6SbkSEUZrUrPFQKJ3dpfjnA3RCPTI3fTKr8jycA5A5A77Daba3L+MXj
c71/tn6MZCZmK7unSfpXq4rbGrIgMWnFKMBgeRONUWRFIOm5lReEjLHiABCli8t4
Txr2ATswA4atmC4JzP8J/WPWe2xDMvsOXu+bGgW5BSO053MQz1JyJf1ExClNTkYu
Vlm712JFE7Xzc2cg9P796KI3CKGbytTpaTrVx3ZajqHY1xfZy3vHolR8pfGZ8xcY
XhFtkD71/BSyqpkrPVvbGkLZOm4b/SzWCGCDYx9xBB//m25lfpZ+Du2u91pvC97Z
6Qty5nRp9kZvAeidmSunItU0Q4jKQlFnn6ZyLhPk4mwuVSUec8dGIdda8cQRaG/J
lpLUZi2cnhKAnGaAaLGycQ/NEMVjtN8z6ZHCe3eAa1bEPwSZAbRHuCZ+Iqh6gPzn
K88LhGUr/vzHYKKn25QWYQ7rJi2H1cu8BQ3lQpRunkCIithJ5gwoS0ZFSEM25FdI
hvjSVVSRyxiu/zrDuO/s6g=3D=3D
=3DumGL
-----END PGP PUBLIC KEY BLOCK-----

--------------AequN11irnsmEWddWGWlHvb9--

--------------yTpA0PFAROE5nCpoBfE6sOO7--

--------------0b04BHHYMlAgxOL9rhUtBaN9
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsF5BAABCAAjFiEESSNv6nXJXWmOwreK4Iwh1Wd0UK0FAmOgzQcFAwAAAAAACgkQ4Iwh1Wd0UK2P
Uw//RNyFVXLdC39KN7OaIzrQncTJkdpko0HYjw0AEhwDHlK5979OQh9Z7FfgiXb0u+C9J9IXXgSM
4pFg1snv6G8o/QxI9/J9TU0FKZ+sOHK/I8mLSOXwDsHtV9kVc7yudPUur0r5Py+/5cB3P0S9fqf2
jHT9e3mA6Mo9/9bLu4nhbMbn99Ct+nKldwr3+707k9JCeLh43+vQsz01JYOshlbUa7uKfhjrjjwD
MbmOaDjsp9jBcIXXsvTnEUwCcrI+ZaZ4nfWxKg0foBFwelLrR+EQb2j5/UfMe00ItfNaqTMw4Enw
PZ2Cf7AD4T3kzZcEfdMsGuR4bmAPsiSZQeasOAzDTtYOs3cTVS8NCIOLl2I5sOfJqxldDbXab3BK
ziPJWo/mXtGfttLoJgrl9RWnWqmcg7UJd3/Ui3vcJi6jeG0z/ELgpX4Kaec7XsDGbdsP38GjZ6tZ
9w00miHVq3JPfE2/9Hrjh/nyBrb11FoEOv4VIYsumN5rMYl1MYNelZwGT7YaVS8PEtEXlhJjJYHa
wStt22NLJkzUvjOUQwxwQYnQvi1dm3kx4Y44/1BePHfBP4OGqypMTxd30FOzetizeEpzMEy/qDfm
V+DkUhxNHLd3B39kYxcFhsUmPktLkxA3ixdHDEdhWH3PsF0rAjnxbkJ6x0B1mI7B7ZawRdV0Vpwh
xC8=
=cSlU
-----END PGP SIGNATURE-----

--------------0b04BHHYMlAgxOL9rhUtBaN9--


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 20:45:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 20:45:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466351.725230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7N0e-0002pi-N6; Mon, 19 Dec 2022 20:45:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466351.725230; Mon, 19 Dec 2022 20:45:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7N0e-0002pb-IN; Mon, 19 Dec 2022 20:45:16 +0000
Received: by outflank-mailman (input) for mailman id 466351;
 Mon, 19 Dec 2022 20:45:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7N0d-0002pN-Jy; Mon, 19 Dec 2022 20:45:15 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7N0d-00027U-G4; Mon, 19 Dec 2022 20:45:15 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7N0d-0003l5-1w; Mon, 19 Dec 2022 20:45:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7N0d-0004hB-1R; Mon, 19 Dec 2022 20:45:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MNIN8YfcGXzZgEDqTisWswrFgwitN5RZ41hx8MGIuXw=; b=LnzfWmPZFbYY08YS1hYKLrBf6N
	Crb2J0VuisS4DVC10M+/KVEXuNTYSebnxOXHb19Duj4XNfwTuKoik9uAiHf7itef1DpVXrOEUGWon
	W++FCmjc03mOc+IytbS1wVMkHJofjQ7iEq/HzF9PFZEZBUOjdDrqG1YLXTbue/LN5paw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175403-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 175403: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:host-install(5):broken:regression
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:host-install(5):broken:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=556c2e817c9cf23b675eb4eaa2dc091f7bb3039f
X-Osstest-Versions-That:
    xen=03a43f548e9095448db72c829db575097910f84f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 19 Dec 2022 20:45:15 +0000

flight 175403 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175403/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm    <job status>       broken
 test-amd64-i386-libvirt-xsm     <job status>                 broken
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 5 host-install(5) broken REGR. vs. 175155
 test-amd64-i386-libvirt-xsm   5 host-install(5)        broken REGR. vs. 175155

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175155
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175155
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175155
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175155
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175155
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175155
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175155
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175155
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175155
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  556c2e817c9cf23b675eb4eaa2dc091f7bb3039f
baseline version:
 xen                  03a43f548e9095448db72c829db575097910f84f

Last test of basis   175155  2022-12-12 16:08:43 Z    7 days
Testing same since   175403  2022-12-19 08:37:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            broken  
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  broken  
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm broken
broken-job test-amd64-i386-libvirt-xsm broken
broken-step test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm host-install(5)
broken-step test-amd64-i386-libvirt-xsm host-install(5)

Not pushing.

------------------------------------------------------------
commit 556c2e817c9cf23b675eb4eaa2dc091f7bb3039f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 19 09:08:32 2022 +0100

    update Xen version to 4.16.3
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 22:35:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 22:35:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466363.725239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Oj4-0005Ok-HB; Mon, 19 Dec 2022 22:35:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466363.725239; Mon, 19 Dec 2022 22:35:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Oj4-0005Od-Ei; Mon, 19 Dec 2022 22:35:14 +0000
Received: by outflank-mailman (input) for mailman id 466363;
 Mon, 19 Dec 2022 22:35:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Oj3-0005OT-Ky; Mon, 19 Dec 2022 22:35:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Oj3-0004pa-I9; Mon, 19 Dec 2022 22:35:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Oj3-0002qE-6l; Mon, 19 Dec 2022 22:35:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Oj3-0004OL-6F; Mon, 19 Dec 2022 22:35:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6S+9P3WuIgAL9uQR0LKWY6k1LcCkiHkW9oBLECeS/IE=; b=B3Y7EBv/2wYd0ZlW4SjgNvbkn3
	F/4oA426OMkqD9vvhF/FPymG8QaU3YHhx0nxdA7mnY+QYGcCvlKdL3a06C0E7I2WJZnd2nPnznTU8
	rfnyVmnL52QtyBuW78T+HvLoiSf1yxh/G8UoCulWbJabvL2qm3Rz86yIm1T0gh8D526s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175413-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175413: trouble: broken/pass
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:<job status>:broken:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:host-install(5):broken:regression
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=01f139215e678c2dc7d4bb3f9f2777069bb1b091
X-Osstest-Versions-That:
    xen=5f05b229319e25aa7f35735bba060ddbeb325872
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 19 Dec 2022 22:35:13 +0000

flight 175413 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175413/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-libvirt        <job status>                 broken
 test-amd64-amd64-libvirt      5 host-install(5)        broken REGR. vs. 175409

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  01f139215e678c2dc7d4bb3f9f2777069bb1b091
baseline version:
 xen                  5f05b229319e25aa7f35735bba060ddbeb325872

Last test of basis   175409  2022-12-19 16:01:59 Z    0 days
Testing same since   175413  2022-12-19 20:02:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Edwin Török <edvin.torok@citrix.com>
  Edwin Török <edwin.torok@cloud.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     broken  


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-libvirt broken
broken-step test-amd64-amd64-libvirt host-install(5)

Not pushing.

------------------------------------------------------------
commit 01f139215e678c2dc7d4bb3f9f2777069bb1b091
Author: Edwin Török <edvin.torok@citrix.com>
Date:   Fri Dec 16 18:25:20 2022 +0000

    tools/ocaml/xb: Drop Xs_ring.write
    
    This function is unusued (only Xs_ring.write_substring is used), and the
    bytes/string conversion here is backwards: the C stub implements the bytes
    version and then we use a Bytes.unsafe_of_string to convert a string into
    bytes.
    
    However the operation here really is read-only: we read from the string and
    write it to the ring, so the C stub should implement the read-only string
    version, and if needed we could use Bytes.unsafe_to_string to be able to send
    'bytes'. However that is not necessary as the 'bytes' version is dropped above.
    
    Signed-off-by: Edwin Török <edvin.torok@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@citrix.com>

commit 2e173b8383928e8d98d67ce57ec069eb612def60
Author: Edwin Török <edvin.torok@citrix.com>
Date:   Fri Dec 16 18:25:16 2022 +0000

    tools/ocaml/xenctrl: Fix unused value warning
    
    Fixes: 8b3c06a3e5 ("tools/ocaml/xenctrl: OCaml 5 support, fix use-after-free")
    Signed-off-by: Edwin Török <edwin.torok@cloud.com>
    Acked-by: Christian Lindig <christian.lindig@citrix.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 4a259353238d308a41541370ea7cc222a879ddd3
Author: Edwin Török <edvin.torok@citrix.com>
Date:   Fri Dec 16 18:25:11 2022 +0000

    tools/ocaml/xenstored: Use ocamldep -sort for linking order
    
    The manually established link order is fragile to code changes.  Use ocamldep
    to calculate the appropriate link order.
    
    No functional change.
    
    Signed-off-by: Edwin Török <edvin.torok@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@citrix.com>

commit d2ccc637111d6dbcf808aaffeec7a46f0b1e1c81
Author: Edwin Török <edvin.torok@citrix.com>
Date:   Fri Dec 16 18:25:10 2022 +0000

    tools/ocaml/xb,mmap: Use Data_abstract_val wrapper
    
    This is not strictly necessary since it is essentially a no-op currently: a
    cast to void * and value *, even in OCaml 5.0.
    
    However it does make it clearer that what we have here is not a regular OCaml
    value, but one allocated with Abstract_tag or Custom_tag, and follows the
    example from the manual more closely:
    https://v2.ocaml.org/manual/intfc.html#ss:c-outside-head
    
    It also makes it clearer that these modules have been reviewed for
    compat with OCaml 5.0.
    
    We cannot use OCaml finalizers here, because we want exact control over when
    to unmap these pages from remote domains.
    
    No functional change.
    
    Signed-off-by: Edwin Török <edvin.torok@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Mon Dec 19 23:09:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 19 Dec 2022 23:09:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466373.725250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7PFn-0000RJ-4u; Mon, 19 Dec 2022 23:09:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466373.725250; Mon, 19 Dec 2022 23:09:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7PFn-0000RC-28; Mon, 19 Dec 2022 23:09:03 +0000
Received: by outflank-mailman (input) for mailman id 466373;
 Mon, 19 Dec 2022 23:09:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7PFl-0000R2-Vz; Mon, 19 Dec 2022 23:09:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7PFl-0005f3-TR; Mon, 19 Dec 2022 23:09:01 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7PFl-0004ln-Fu; Mon, 19 Dec 2022 23:09:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7PFl-0007Hf-FP; Mon, 19 Dec 2022 23:09:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=50ZepNrKhhOoVxd7IfABAOZnZN1IIXDxlTfY/z4RSv8=; b=kQcL9qzGK2YIjwbh8ur/8sQ1UC
	YO+3Gu3eB+K769QQdoi0gimLqrY4Uy+Sq2tFjNw1zRT6DUPmMw8pjyZpdlIoHJJrRyzILwMGR3txH
	Qpc7lIZpDzFYfJSE4tZdvN1+Nu8QHYlQgWiZJ4u42nN1p4kGb3WGjsYbHbg3ESLbHMls=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175410-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175410: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=5fb3f5723a1ea9d9a93e317181e1c11468a9eb45
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 19 Dec 2022 23:09:01 +0000

flight 175410 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175410/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 5fb3f5723a1ea9d9a93e317181e1c11468a9eb45
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    5 days
Failing since        175214  2022-12-14 18:42:16 Z    5 days   33 attempts
Testing same since   175410  2022-12-19 17:12:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Kuo, Ted <ted.kuo@intel.com>
  MarsX Lin <marsx.lin@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Ted Kuo <ted.kuo@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 656 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 00:12:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 00:12:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466385.725262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7QFN-0008BI-Nd; Tue, 20 Dec 2022 00:12:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466385.725262; Tue, 20 Dec 2022 00:12:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7QFN-0008BB-JX; Tue, 20 Dec 2022 00:12:41 +0000
Received: by outflank-mailman (input) for mailman id 466385;
 Tue, 20 Dec 2022 00:12:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7QFL-0008Az-Qg; Tue, 20 Dec 2022 00:12:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7QFL-0007l5-Mx; Tue, 20 Dec 2022 00:12:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7QFL-0007kH-7n; Tue, 20 Dec 2022 00:12:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7QFL-0000mO-6u; Tue, 20 Dec 2022 00:12:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8ajuJTFYuuD8ED/pOZxZymUvnXSkbcs5kRJyfuGFXYA=; b=McDQVVGiT7MPs1oIY5UCmza2Bp
	LZt4DFDd7PrcuECjfgM1TFXGMO6PcZmDKVZJYEXtvjJVRqnikZcEiGPzMFPqndteD7JTmgHlCUsxv
	tc5PWWg+vIwn4CTOAo2FuRv0uovhHw6KGfNA+VqPW6EQ+27lzNT7oslEtqzL4VuEOY1w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175405-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175405: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:<job status>:broken:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-ovmf-amd64:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-pygrub:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-qemuu-freebsd11-amd64:<job status>:broken:regression
    qemu-mainline:test-amd64-i386-xl:<job status>:broken:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:host-install(5):broken:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-ovmf-amd64:host-install(5):broken:regression
    qemu-mainline:test-amd64-i386-xl:host-install(5):broken:regression
    qemu-mainline:test-amd64-amd64-pygrub:host-install(5):broken:regression
    qemu-mainline:test-amd64-amd64-qemuu-freebsd11-amd64:host-install(5):broken:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:host-install(5):broken:regression
    qemu-mainline:test-armhf-armhf-xl-credit1:debian-fixup:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=4f9a4cd37eb2f0c4e6be83640fcc5c31d4bf99e3
X-Osstest-Versions-That:
    qemuu=562d4af32ec2213061f844b3838223fd7711b56a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 20 Dec 2022 00:12:39 +0000

flight 175405 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175405/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow    <job status>         broken
 test-amd64-i386-xl-qemuu-ovmf-amd64    <job status>                 broken
 test-amd64-amd64-libvirt-xsm    <job status>                 broken
 test-amd64-amd64-pygrub         <job status>                 broken
 test-amd64-amd64-qemuu-freebsd11-amd64    <job status>                 broken
 test-amd64-i386-xl              <job status>                 broken
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 5 host-install(5) broken REGR. vs. 175394
 test-amd64-i386-xl-qemuu-ovmf-amd64  5 host-install(5) broken REGR. vs. 175394
 test-amd64-i386-xl            5 host-install(5)        broken REGR. vs. 175394
 test-amd64-amd64-pygrub       5 host-install(5)        broken REGR. vs. 175394
 test-amd64-amd64-qemuu-freebsd11-amd64 5 host-install(5) broken REGR. vs. 175394
 test-amd64-amd64-libvirt-xsm  5 host-install(5)        broken REGR. vs. 175394
 test-armhf-armhf-xl-credit1  13 debian-fixup             fail REGR. vs. 175394

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175394
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175394
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175394
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175394
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175394
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175394
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175394
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175394
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                4f9a4cd37eb2f0c4e6be83640fcc5c31d4bf99e3
baseline version:
 qemuu                562d4af32ec2213061f844b3838223fd7711b56a

Last test of basis   175394  2022-12-18 17:07:20 Z    1 days
Testing same since   175405  2022-12-19 10:38:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alessandro Di Federico <ale@rev.ng>
  Anton Johansson <anjo@rev.ng>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Niccolò Izzo <nizzo@rev.ng>
  Paolo Montesel <babush@rev.ng>
  Peter Maydell <peter.maydell@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Taylor Simpson <tsimpson@quicinc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           broken  
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 broken  
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       broken  
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          broken  
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      broken  
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              broken  
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow broken
broken-job test-amd64-i386-xl-qemuu-ovmf-amd64 broken
broken-job test-amd64-amd64-libvirt-xsm broken
broken-job test-amd64-amd64-pygrub broken
broken-job test-amd64-amd64-qemuu-freebsd11-amd64 broken
broken-job test-amd64-i386-xl broken
broken-step test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow host-install(5)
broken-step test-amd64-i386-xl-qemuu-ovmf-amd64 host-install(5)
broken-step test-amd64-i386-xl host-install(5)
broken-step test-amd64-amd64-pygrub host-install(5)
broken-step test-amd64-amd64-qemuu-freebsd11-amd64 host-install(5)
broken-step test-amd64-amd64-libvirt-xsm host-install(5)

Not pushing.

(No revision log; it would be 432 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 01:10:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 01:10:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466400.725290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9J-0004nG-Pr; Tue, 20 Dec 2022 01:10:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466400.725290; Tue, 20 Dec 2022 01:10:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9J-0004mD-JF; Tue, 20 Dec 2022 01:10:29 +0000
Received: by outflank-mailman (input) for mailman id 466400;
 Tue, 20 Dec 2022 01:10:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tFeQ=4S=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p7R9I-0004iO-Gf
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 01:10:28 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 14dc3411-8003-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 02:10:26 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id EF040320095A;
 Mon, 19 Dec 2022 20:10:22 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Mon, 19 Dec 2022 20:10:23 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 19 Dec 2022 20:10:21 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14dc3411-8003-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm2; t=1671498622; x=1671585022; bh=T3JB3kL6ns
	TUfVOdUZ48s4PCkZspjbxgDHHV7LQWbjM=; b=JD/+FaE7fJs6j5TeETViAu3l81
	nb/iVzkvbBw0JleHTMfCG/YLM80D1AmU1YJeD3carbL/kH7aseLVbQBQSBgfytJk
	MH9oC7tlPpZA1hRnokeNjaMD3oCH6XX/K6VrMKG+pyJumqPWbcyYfeCVfYreFJ/E
	3PkF0UVWNxKNMV3fgG//baOeH3pJHxHoexIuyMi+keOOaNFFaFH/Jd3GZlgscLZv
	QUpg7AZrGOgC30+KZglKCJKLBureW64uvRTCpUkl2vzw0ueDV2/njcLu57+mEZQP
	htp7kwGLM2ClRZmSpisZOE5jdFFSPfvztgzqVF9jijQYMgw269C1ixHe/vRA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1671498622; x=
	1671585022; bh=T3JB3kL6nsTUfVOdUZ48s4PCkZspjbxgDHHV7LQWbjM=; b=C
	LlC9TzLfpW5gg2BzEXfKcpiTjcURzlgOwpX09d8th9nQ6agEIVNeDnY9bselE0AW
	fwOitWW0OFnrgSY8mDxAxBqMIR2PtIfsC3pvaz6hcbarcYZfUeWeGSjR8D0ZRGNw
	kSb18jBiA3UmAySSD1Q9980NM/PpeVC7iaB68EdIAlx4zdmaB1vjdg9FQRnk1VS3
	s6MoytsYclb2MvFplmoMmWIAciUH0S6hUX7eaH2hTnEMTGxGSLfxmKAymnk0cO8J
	fI2UqQViTeCQLMJNV4kPw1HU98Im3dn7ZGfDpnIF2Xzo0GbdnkqbWovd1fmlwa7Y
	jPZ5EQSwXALUoQbGhbTrg==
X-ME-Sender: <xms:fguhY6bjNaCrj6kT0bjBjDpGxCWb5LpgLWf5VD2XO8RR04KdrBcYBg>
    <xme:fguhY9Ytd7q2XKvJr_3n7mrMJAKSs5YX5QTIak1DL9kdimJzTX-Ik4KbXmhPpewTx
    ugATf1tg0hyW5s>
X-ME-Received: <xmr:fguhY08glURL14DqPkbMN6kaHaB4_9LZGmz9IvLQzeiUxfOjGyCJlGepYJxXzR3yr1eruENcsOl3>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeeggdefvdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepledukeelleejkeevkeefgefhffeg
    vdeigeelieegjefffeeiveeivdejgeevteeinecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:fguhY8onPb6L32HsLJ5ONdGIEZQ0P-1r0fmZW1kaQhDIRybZdlSjOA>
    <xmx:fguhY1oxRQi3UtznlsvEXwyc9G1X__Q8EE3PZ1-8veMbwgEmmWy5Ew>
    <xmx:fguhY6R7q7ubggbxev8q2AL_b1qujm7_EqduOxPt6ilEKe7KeVshQQ>
    <xmx:fguhY5e6mA9AJCNXghw0ZObU8n3TRhX-NeLJpHikd3STvnJmQYrQcA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v5 01/10] x86: Add memory type constants
Date: Mon, 19 Dec 2022 20:07:03 -0500
Message-Id: <704c1437341e70e0cd1d652e7681a2947a5c8969.1671497984.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671497984.git.demi@invisiblethingslab.com>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

These are not currently used, so there is no functional change.  Future
patches will use these constants.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v4:
- Add Jan Beulich’s Acked-by

Changes since v3:
- Name the reserved values X86_MT_RSVD_2 and X86_MT_RSVD_3, to
  match the architectural values of 0x02 and 0x03.

Changes since v2:
- Avoid using _AC where not required.
- Define reserved memory types inline
---
 xen/arch/x86/include/asm/x86-defns.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/xen/arch/x86/include/asm/x86-defns.h b/xen/arch/x86/include/asm/x86-defns.h
index 28628807cb9897cf6fa8e266f71f5f220813984d..42b5f382d438d21ac97b6438e8c810c7b964cf6d 100644
--- a/xen/arch/x86/include/asm/x86-defns.h
+++ b/xen/arch/x86/include/asm/x86-defns.h
@@ -153,4 +153,15 @@
      (1u << X86_EXC_AC) | (1u << X86_EXC_CP) |                      \
      (1u << X86_EXC_VC) | (1u << X86_EXC_SX))
 
+/* Memory types */
+#define X86_MT_UC     0x00 /* uncachable */
+#define X86_MT_WC     0x01 /* write-combined */
+#define X86_MT_RSVD_2 0x02 /* reserved */
+#define X86_MT_RSVD_3 0x03 /* reserved */
+#define X86_MT_WT     0x04 /* write-through */
+#define X86_MT_WP     0x05 /* write-protect */
+#define X86_MT_WB     0x06 /* write-back */
+#define X86_MT_UCM    0x07 /* UC- */
+#define X86_NUM_MT    0x08
+
 #endif	/* __XEN_X86_DEFNS_H__ */
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 01:10:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 01:10:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466398.725274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9G-0004TK-7r; Tue, 20 Dec 2022 01:10:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466398.725274; Tue, 20 Dec 2022 01:10:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9G-0004TD-2g; Tue, 20 Dec 2022 01:10:26 +0000
Received: by outflank-mailman (input) for mailman id 466398;
 Tue, 20 Dec 2022 01:10:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tFeQ=4S=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p7R9F-0004T7-6t
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 01:10:25 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1286c6a8-8003-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 02:10:22 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 321923200957;
 Mon, 19 Dec 2022 20:10:18 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Mon, 19 Dec 2022 20:10:19 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 19 Dec 2022 20:10:16 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1286c6a8-8003-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671498617; x=1671585017; bh=HxKwu1yHvQE4t0B7JD3h8oXtLX1A8wBvk77
	m47Pevgo=; b=zTQrknzF1f7ibjycA25oDFa97HGSjXrr+S3G0dYFYBWrQWOCV1X
	G6aFu4bfwPbyKVQWMJ9HvXYFaxxE/Uym/HBid0gU91kvimqyb25A/Xr7FnWzSFGX
	HHqNVVu1ZFwKcebxY3+hhnO+JX6CSs7oQeyH9S3PtSO6Z3g8O4rAH7hm2R0DeY30
	FpXwOVGfZSGsY7jgHOob3asL5JIXkzSYEdV5F332cCtRF3FCy8O5XUuhmCx+/P6t
	h804kKEG1ZPaAee+KxjttXksVlnlgKgE9wMv0HsAY7Cje8OJfqnpacCsy+QAr3VI
	ucZBZtLS35I/RhIzVpmMGFME79n3wsYmDrA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671498617; x=1671585017; bh=HxKwu1yHvQE4t
	0B7JD3h8oXtLX1A8wBvk77m47Pevgo=; b=s9LPDfcWgLFhWgpZuYe/22aHJ6DM3
	Fop0eGs9BJmOVA4qn1xWrFd1jQV8JjeQB85gwQHbqF8zLWEAAWFKh2Eth3B2Dptv
	C3SsIJgH60NENgp6auVCqhFdidIxxLwsEME/B0h0t30uSe0CXTXM/eqokg+PmZja
	77O7VpYfNQPB56SXsI6q5Dupwjzaio2PNcScCX+dYwXSCSoaHOBojlzt7kBLzX7C
	nq1OtxafvLzBrOM5T86ioiNC6n6KOhpGpPxvTIlEhbFSFiaz8WkNJfdzr2tKmzXK
	EbfDlMJE+aKerqYXJSosWsJlIzmzCsOEuvhcfZKKcZj82yqbUWKr2eGLw==
X-ME-Sender: <xms:eQuhYxO-rqPPEf4qmdMPzMadZc8PE9DwSIQcH9-AkG5ps4Zq0t4sHA>
    <xme:eQuhYz8cpqsuGG8HrEoqvc79tgCyerJJLCHp2qwWOgqUqPwOVfZp7Lsyvbf5Wb48W
    TXH_ak9oNFp2as>
X-ME-Received: <xmr:eQuhYwT5jvYGgnvi6Oyobq6JOqZo0L6R_xDaXrrVPYhfS5o6iaTUg06RS3ouF-LBH_n0ycW-hyAu>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeeggdefvdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomhepffgvmhhiucfo
    rghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhnghhslh
    grsgdrtghomheqnecuggftrfgrthhtvghrnhephfeggfeiiedtieejgedutdekgfetgeeh
    heegteekvefhfefgudehtdevleegueegnecuvehluhhsthgvrhfuihiivgeptdenucfrrg
    hrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgr
    sgdrtghomh
X-ME-Proxy: <xmx:eQuhY9sKLbvoqCbP9oWTTy14opVDak03vS3bIvrDyAcmkG_Qm5gmCA>
    <xmx:eQuhY5clFlIm14detihn7HavY2DQDfua3U8bGoXXXoc1oXPnnIFymQ>
    <xmx:eQuhY51HTvMsTeGIsUrJjHSuRAjVm1Bqx_VSFaIS5ygt1PQKYtnlCA>
    <xmx:eQuhY4wqvkUR0QEjmRfP_r-N5lVTLY4XXZOdBfRc2tQTocK-rnryVQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v5 00/10] Make PAT handling less brittle
Date: Mon, 19 Dec 2022 20:07:02 -0500
Message-Id: <cover.1671497984.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

While working on Qubes OS Marek found out that there were some PAT hacks
in the Linux i195 driver.  I decided to make Xen use Linux’s PAT to see
if it solved the graphics glitches that were observed; it did.  This
required a substantial amount of preliminary work that is useful even
without using Linux’s PAT.

Patches 1 through 9 are the preliminary work and I would like them to be
accepted into upstream Xen.  Patch 9 does break ABI by rejecting the
unused PAT entries, but this will only impact buggy PV guests and can be
disabled with a Xen command-line option.  Patch 10 actually switches to
Linux’s PAT and is NOT intended to be merged (at least for now) as it
would at a minimum break migration of PV guests from hosts that do not
have the patch.

Only patches 9 and 10 actually change Xen’s observable behavior.
Patches 1, 2, and 7 are prerequisites, and patches 3 through 6 are
cleanups.  Patch 8 makes changing the PAT much less error-prone, as
problems with the PAT or with the associated _PAGE_* constants will
be detected at compile time.

Demi Marie Obenour (10):
  x86: Add memory type constants
  x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
  x86: Replace PAT_* with X86_MT_*
  x86: Replace MTRR_* constants with X86_MT_* constants
  x86: Replace EPT_EMT_* constants with X86_MT_*
  x86: Remove MEMORY_NUM_TYPES and NO_HARDCODE_MEM_TYPE
  x86: Derive XEN_MSR_PAT from its individual entries
  x86/mm: make code robust to future PAT changes
  x86/mm: Reject invalid cacheability in PV guests by default
  x86: Use Linux's PAT

 xen/arch/x86/cpu/mtrr/generic.c         |  10 +-
 xen/arch/x86/cpu/mtrr/main.c            |  26 +++---
 xen/arch/x86/e820.c                     |   4 +-
 xen/arch/x86/hvm/hvm.c                  |  12 +--
 xen/arch/x86/hvm/mtrr.c                 | 100 ++++++++++----------
 xen/arch/x86/hvm/vmx/vmcs.c             |   2 +-
 xen/arch/x86/hvm/vmx/vmx.c              |  18 ++--
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |   2 +-
 xen/arch/x86/include/asm/hvm/vmx/vmx.h  |   9 --
 xen/arch/x86/include/asm/mtrr.h         |  22 +----
 xen/arch/x86/include/asm/page.h         |   4 +-
 xen/arch/x86/include/asm/processor.h    |  11 ++-
 xen/arch/x86/include/asm/x86-defns.h    |  11 +++
 xen/arch/x86/mm.c                       | 118 ++++++++++++++++++++++--
 xen/arch/x86/mm/hap/nested_ept.c        |   4 +-
 xen/arch/x86/mm/p2m-ept.c               |  51 +++++-----
 xen/arch/x86/mm/shadow/multi.c          |   8 +-
 17 files changed, 253 insertions(+), 159 deletions(-)

-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 01:10:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 01:10:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466399.725284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9J-0004in-DI; Tue, 20 Dec 2022 01:10:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466399.725284; Tue, 20 Dec 2022 01:10:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9J-0004ig-A7; Tue, 20 Dec 2022 01:10:29 +0000
Received: by outflank-mailman (input) for mailman id 466399;
 Tue, 20 Dec 2022 01:10:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tFeQ=4S=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p7R9I-0004T7-7x
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 01:10:28 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 162de5f6-8003-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 02:10:27 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 327673200920;
 Mon, 19 Dec 2022 20:10:25 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Mon, 19 Dec 2022 20:10:26 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 19 Dec 2022 20:10:24 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 162de5f6-8003-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671498624; x=1671585024; bh=lFzZnM+/36X+U2Bz3srDM/CbhK+VJ5H9+Eg
	QROq3rOc=; b=iA9XJxccY2qqzS10W2SYmjCC3UMj5C2JQwLrsXD96iUGXFY4Mds
	FPRuqztrlcGpNw/5+bhkI46ixbHLkcsgurVus+XepkPpEmrolttmR/Te/OF4nnX3
	0cWYKJVa/0gT2c7Hf2MEWTnQ8PL/OnMW6nucA85uvEjHeLh/AMy+5GybxN8Jl9MF
	j4L8Z0vuoa9KnWaoZ1mg/xem00QXBVYEAt/mhBQ0XGMnFsWIIuExrDZpRCJlhEUg
	+RUj6SAVrOgLvK/UjKcZZraUKy7V2PRlxopMS6zLaSbwtXlqmxp7QVaEukjWnxFZ
	1zHiSEKB8V+rm80QK/G+kanGEbrmMxtxWFA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671498624; x=1671585024; bh=lFzZnM+/36X+U
	2Bz3srDM/CbhK+VJ5H9+EgQROq3rOc=; b=aKsXSSeAszrVsf8DcxvcP8u1V4yC3
	dZVvfL9G7nCXU9oyNTBaTjby+uiDwTzjQRA0j3e6igozQ2RL1PeeJM8yzcP08mLP
	TIahCl6NC2Fn00BhryORgWbY9y6PFcBO3a8FFaNZByI1ljaIIN/RvfouB8QTF9Xb
	LShnAYADb6jRP6yFcOk6i6JD0EoNF2c6EK4Rgcpg8Rl+SIQ6Fzy+VUuLKCrl3McV
	RHlPVJ/5YprxQdD7y4rS2NZqnrk3R/jBW2L1jT1lzMd6NOH8iAre3qO1pP/tX0FX
	iQObTREmD7KQOLRSm5RrFQLoqMV7Sai0iIoSycp1kO+TbjdtSiueCz4Hw==
X-ME-Sender: <xms:gAuhY-lS272vngEAZMxAUpdl7a1iGXG4kO9C5xMjy-qTnyNZmpb_bQ>
    <xme:gAuhY12_oaeP2AkMTW0VF-xZYLQTvpQK-mdqPDch_4zUeBHV2eJXjm78njDNcQ_04
    3wyfa8d4XFRz1o>
X-ME-Received: <xmr:gAuhY8pg6LgKHm_DjBCjgYy_kdKbNjpr2me6ahrQ2GlGW0c-43eAu-zp88st9DElq9FgNwyBgtQK>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeeggdefudcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:gAuhYykeAi1hiKr5oZ8hm3KLHiu_aDAFlPgsLHb8XGLMgi0_w_CfzA>
    <xmx:gAuhY81xD6kjk5EbFX88NNlHdDPmNWkwA4b34n3avkfnvAIg0OHQYQ>
    <xmx:gAuhY5s-tAvCk0vRpacwD6BlxsAfMAxf31cjUUJGinLKfWkpiBLV4g>
    <xmx:gAuhY9IP-ZYYEmRbn1npO9idc9qAZJC6sS6bXCQMKMnYl4kAupINoA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v5 02/10] x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
Date: Mon, 19 Dec 2022 20:07:04 -0500
Message-Id: <0026e56a0c91cb0dde9fe19200f473d720a9a950.1671497984.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671497984.git.demi@invisiblethingslab.com>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

get_page_from_l1e() relied on Xen's choice of PAT, which is brittle in
the face of future PAT changes.  Instead, compute the actual cacheability
used by the CPU and switch on that, as this will work no matter what PAT
Xen uses.

No functional change intended.  This code is itself questionable and may
be removed in the future, but removing it would be an observable
behavior change and so is out of scope for this patch series.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v4:
- Do not add new pte_flags_to_cacheability() helper, as this code may be
  removed in the near future and so adding a new helper for it is a bad
  idea.
- Do not BUG() in the event of an unexpected cacheability.  This cannot
  happen, but it is simpler to force such types to UC than to prove that
  the BUG() is not reachable.

Changes since v3:
- Compute and use the actual cacheability as seen by the processor.

Changes since v2:
- Improve commit message.
---
 xen/arch/x86/mm.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 78b1972e4170cacccc9c37c6e64e76e66a7da87f..dba6c77ef2f7ed7fcb7f7e526583ccadd35e62cc 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -959,14 +959,16 @@ get_page_from_l1e(
             flip = _PAGE_RW;
         }
 
-        switch ( l1f & PAGE_CACHE_ATTRS )
+        switch ( 0xFF & (XEN_MSR_PAT >> (8 * pte_flags_to_cacheattr(l1f))) )
         {
-        case 0: /* WB */
-            flip |= _PAGE_PWT | _PAGE_PCD;
+        case X86_MT_UC:
+        case X86_MT_UCM:
+        case X86_MT_WC:
+            /* not cacheable */
             break;
-        case _PAGE_PWT: /* WT */
-        case _PAGE_PWT | _PAGE_PAT: /* WP */
-            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+        default:
+            /* cacheable */
+            flip |= ((l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC);
             break;
         }
 
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 01:10:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 01:10:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466401.725306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9N-0005H0-0T; Tue, 20 Dec 2022 01:10:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466401.725306; Tue, 20 Dec 2022 01:10:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9M-0005Gp-Tb; Tue, 20 Dec 2022 01:10:32 +0000
Received: by outflank-mailman (input) for mailman id 466401;
 Tue, 20 Dec 2022 01:10:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tFeQ=4S=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p7R9L-0004iO-5X
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 01:10:31 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 17934ca8-8003-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 02:10:29 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 8376C3200926;
 Mon, 19 Dec 2022 20:10:27 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Mon, 19 Dec 2022 20:10:28 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 19 Dec 2022 20:10:26 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17934ca8-8003-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671498627; x=1671585027; bh=xq/7AzYNw/o1jMOYl29ZQus5z/RisXCH6hV
	d+SD7smw=; b=w6ZJflAbxkhdp8rDHDXWmdvSz4uBmkwowpG8PYBa8iIKBzQM4t2
	Fcr16poTZcocLz+nrGjF+xN1QLqixuJRXfEQnBTpdjA0J1Z7DQdgLb1XYBI6SLYi
	k5xAs+1Tqxs6lvsn0o3Goxl2pPJsJ5xZACq4Z7zUsVsl4hXNdYmn8fMLSOOOADCC
	wt9qaVQnTiItanuHk7Pt+sJLlvkXMB3krK3r04r1lxMB6Mj93PaZTGk5+BPrFdkw
	+QwFngO0Dy8YzlIZ5PSxdd6hT0LQOf/ZRQRispPIiRKiVs/fBISHXMijVNJQcPp4
	vp0bZPmL/zADTu3uz68PmIGA44ztTQvJHMQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671498627; x=1671585027; bh=xq/7AzYNw/o1j
	MOYl29ZQus5z/RisXCH6hVd+SD7smw=; b=PMhID3NSx7nNQ6pxF3MuStWV2Jch5
	d07Ge2mNppeHwkyGlCOB478ncUCsdyxWoQfyAm37/7PU7HPoeqxMSw27bUJv1A54
	J4JqoXY2xwgg5XrrBrfDdAO6QAOJQh29k4ylXGDg0a3VYEAX9MAMzNEKqy9VUK3c
	nXApj9nnFUcXv9FMaPftHiDkbTlRBaOaRPzWyXzok1Wjfd6icV/GLvZXsKeBijY8
	BzX4OWZTd990wb20X8JbuxnPaql7XzaYlwQ5AjDuQv8/DcfKuhhyvPo08DmtN37P
	zGCGrIYLEWJdoloJZBBrrXxM5aiN0uCa5cNWlngO5cNzQqGTVK2inn5hA==
X-ME-Sender: <xms:gguhY7v65qLHR_txdhtcRq_FSPio_kxfmM5Rdcc_23bVD4zrQMeiuw>
    <xme:gguhY8ff9nd61OvzP-zOPUBCUt3cGU1NljmziYtFCvm5wx5aK4ZTz6lFVEdpMgRhw
    L9Q8vZgFf_Z4fg>
X-ME-Received: <xmr:gguhY-xp_rUabo-PLRA6JAXMN6-q-jEQkOfLaOEB8hkssGNROfPhoPocwiyfb5onDgPTaDIZAlL5>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeeggdefvdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeefkeelveethfeuffetvdeigeduteev
    geffhfekieettdfhuedtvdduteetgffftdenucffohhmrghinhephhhvmhdrihhsnecuve
    hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepuggvmhhisehi
    nhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:gwuhY6ON8KILFSjo87tEqDkP5kJpN5I5FvvJpStWZ5LDOZDuO2axsw>
    <xmx:gwuhY7-ENKjdefxKVdjlVAsu-95loPI9lEL8IEfIKDC7_UfSS82Www>
    <xmx:gwuhY6W7mlD0xAqc0jaaa93EDlmCl2HWFbFcsU2a4AhdLTe83Pahig>
    <xmx:gwuhY3SlC-kk1-EvkVF3UnBTgvnkcSOYzCxXX6YOUEsph981JoERuQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v5 03/10] x86: Replace PAT_* with X86_MT_*
Date: Mon, 19 Dec 2022 20:07:05 -0500
Message-Id: <0608bf920678c774477cc64de4d536c9f2d75924.1671497984.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671497984.git.demi@invisiblethingslab.com>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This allows eliminating the former.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v2: Style adjustments
---
 xen/arch/x86/hvm/hvm.c          | 12 ++++----
 xen/arch/x86/hvm/mtrr.c         | 52 ++++++++++++++++-----------------
 xen/arch/x86/hvm/vmx/vmx.c      | 16 +++++-----
 xen/arch/x86/include/asm/mtrr.h | 12 +-------
 xen/arch/x86/mm/p2m-ept.c       |  4 +--
 xen/arch/x86/mm/shadow/multi.c  |  4 +--
 6 files changed, 45 insertions(+), 55 deletions(-)

diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index ae4368ec4b338cf8c6cb14d383f612c91c98e800..00b3fa56e25e2934e2870e11fd19b120daff2715 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -307,12 +307,12 @@ int hvm_set_guest_pat(struct vcpu *v, uint64_t guest_pat)
     for ( i = 0, tmp = guest_pat; i < 8; i++, tmp >>= 8 )
         switch ( tmp & 0xff )
         {
-        case PAT_TYPE_UC_MINUS:
-        case PAT_TYPE_UNCACHABLE:
-        case PAT_TYPE_WRBACK:
-        case PAT_TYPE_WRCOMB:
-        case PAT_TYPE_WRPROT:
-        case PAT_TYPE_WRTHROUGH:
+        case X86_MT_UCM:
+        case X86_MT_UC:
+        case X86_MT_WB:
+        case X86_MT_WC:
+        case X86_MT_WP:
+        case X86_MT_WT:
             break;
         default:
             return 0;
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 4d2aa6def86de45aeeaade7a1a7815c5ef2b3d7a..242623f3c239ee18a44f882ecb3910a00c615825 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -37,7 +37,7 @@ static const uint8_t pat_entry_2_pte_flags[8] = {
     _PAGE_PAT | _PAGE_PCD, _PAGE_PAT | _PAGE_PCD | _PAGE_PWT };
 
 /* Effective mm type lookup table, according to MTRR and PAT. */
-static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][PAT_TYPE_NUMS] = {
+static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
 #define RS MEMORY_NUM_TYPES
 #define UC MTRR_TYPE_UNCACHABLE
 #define WB MTRR_TYPE_WRBACK
@@ -72,8 +72,8 @@ static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
     };
 
 /* Lookup table for PAT entry of a given PAT value in host PAT. */
-static uint8_t __read_mostly pat_entry_tbl[PAT_TYPE_NUMS] =
-    { [0 ... PAT_TYPE_NUMS-1] = INVALID_MEM_TYPE };
+static uint8_t __read_mostly pat_entry_tbl[X86_NUM_MT] =
+    { [0 ... X86_NUM_MT - 1] = INVALID_MEM_TYPE };
 
 static int __init cf_check hvm_mtrr_pat_init(void)
 {
@@ -81,7 +81,7 @@ static int __init cf_check hvm_mtrr_pat_init(void)
 
     for ( i = 0; i < MTRR_NUM_TYPES; i++ )
     {
-        for ( j = 0; j < PAT_TYPE_NUMS; j++ )
+        for ( j = 0; j < X86_NUM_MT; j++ )
         {
             unsigned int tmp = mm_type_tbl[i][j];
 
@@ -90,9 +90,9 @@ static int __init cf_check hvm_mtrr_pat_init(void)
         }
     }
 
-    for ( i = 0; i < PAT_TYPE_NUMS; i++ )
+    for ( i = 0; i < X86_NUM_MT; i++ )
     {
-        for ( j = 0; j < PAT_TYPE_NUMS; j++ )
+        for ( j = 0; j < X86_NUM_MT; j++ )
         {
             if ( pat_cr_2_paf(XEN_MSR_PAT, j) == i )
             {
@@ -115,7 +115,7 @@ uint8_t pat_type_2_pte_flags(uint8_t pat_type)
      * given pat_type. If host PAT covers all the PAT types, it can't happen.
      */
     if ( unlikely(pat_entry == INVALID_MEM_TYPE) )
-        pat_entry = pat_entry_tbl[PAT_TYPE_UNCACHABLE];
+        pat_entry = pat_entry_tbl[X86_MT_UC];
 
     return pat_entry_2_pte_flags[pat_entry];
 }
@@ -145,14 +145,14 @@ int hvm_vcpu_cacheattr_init(struct vcpu *v)
     m->mtrr_cap = (1u << 10) | (1u << 8) | num_var_ranges;
 
     v->arch.hvm.pat_cr =
-        ((uint64_t)PAT_TYPE_WRBACK) |               /* PAT0: WB */
-        ((uint64_t)PAT_TYPE_WRTHROUGH << 8) |       /* PAT1: WT */
-        ((uint64_t)PAT_TYPE_UC_MINUS << 16) |       /* PAT2: UC- */
-        ((uint64_t)PAT_TYPE_UNCACHABLE << 24) |     /* PAT3: UC */
-        ((uint64_t)PAT_TYPE_WRBACK << 32) |         /* PAT4: WB */
-        ((uint64_t)PAT_TYPE_WRTHROUGH << 40) |      /* PAT5: WT */
-        ((uint64_t)PAT_TYPE_UC_MINUS << 48) |       /* PAT6: UC- */
-        ((uint64_t)PAT_TYPE_UNCACHABLE << 56);      /* PAT7: UC */
+        ((uint64_t)X86_MT_WB) |           /* PAT0: WB */
+        ((uint64_t)X86_MT_WT << 8) |      /* PAT1: WT */
+        ((uint64_t)X86_MT_UCM << 16) |    /* PAT2: UC- */
+        ((uint64_t)X86_MT_UC << 24) |     /* PAT3: UC */
+        ((uint64_t)X86_MT_WB << 32) |     /* PAT4: WB */
+        ((uint64_t)X86_MT_WT << 40) |     /* PAT5: WT */
+        ((uint64_t)X86_MT_UCM << 48) |    /* PAT6: UC- */
+        ((uint64_t)X86_MT_UC << 56);      /* PAT7: UC */
 
     if ( is_hardware_domain(v->domain) )
     {
@@ -356,7 +356,7 @@ uint32_t get_pat_flags(struct vcpu *v,
      */
     pat_entry_value = mtrr_epat_tbl[shadow_mtrr_type][guest_eff_mm_type];
     /* If conflit occurs(e.g host MTRR is UC, guest memory type is
-     * WB),set UC as effective memory. Here, returning PAT_TYPE_UNCACHABLE will
+     * WB), set UC as effective memory. Here, returning X86_MT_UC will
      * always set effective memory as UC.
      */
     if ( pat_entry_value == INVALID_MEM_TYPE )
@@ -371,7 +371,7 @@ uint32_t get_pat_flags(struct vcpu *v,
                     "because the host mtrr type is:%d\n",
                     gl1e_flags, (uint64_t)gpaddr, guest_eff_mm_type,
                     shadow_mtrr_type);
-        pat_entry_value = PAT_TYPE_UNCACHABLE;
+        pat_entry_value = X86_MT_UC;
     }
     /* 4. Get the pte flags */
     return pat_type_2_pte_flags(pat_entry_value);
@@ -620,13 +620,13 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
                 p2m_memory_type_changed(d);
                 switch ( type )
                 {
-                case PAT_TYPE_UC_MINUS:
+                case X86_MT_UCM:
                     /*
                      * For EPT we can also avoid the flush in this case;
                      * see epte_get_entry_emt().
                      */
                     if ( hap_enabled(d) && cpu_has_vmx )
-                case PAT_TYPE_UNCACHABLE:
+                case X86_MT_UC:
                         break;
                     /* fall through */
                 default:
@@ -638,12 +638,12 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
         rcu_read_unlock(&pinned_cacheattr_rcu_lock);
         return -ENOENT;
 
-    case PAT_TYPE_UC_MINUS:
-    case PAT_TYPE_UNCACHABLE:
-    case PAT_TYPE_WRBACK:
-    case PAT_TYPE_WRCOMB:
-    case PAT_TYPE_WRPROT:
-    case PAT_TYPE_WRTHROUGH:
+    case X86_MT_UCM:
+    case X86_MT_UC:
+    case X86_MT_WB:
+    case X86_MT_WC:
+    case X86_MT_WP:
+    case X86_MT_WT:
         break;
 
     default:
@@ -681,7 +681,7 @@ int hvm_set_mem_pinned_cacheattr(struct domain *d, uint64_t gfn_start,
 
     list_add_rcu(&range->list, &d->arch.hvm.pinned_cacheattr_ranges);
     p2m_memory_type_changed(d);
-    if ( type != PAT_TYPE_WRBACK )
+    if ( type != X86_MT_WB )
         flush_all(FLUSH_CACHE);
 
     return 0;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 7c81b80710f99e08fe8291d3e413c449322b777d..b543c3983d77ae807e8bd97330691a79d8d39bae 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1231,14 +1231,14 @@ static void cf_check vmx_handle_cd(struct vcpu *v, unsigned long value)
              * memory type are all UC.
              */
             u64 uc_pat =
-                ((uint64_t)PAT_TYPE_UNCACHABLE)       |       /* PAT0 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 8)  |       /* PAT1 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 16) |       /* PAT2 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 24) |       /* PAT3 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 32) |       /* PAT4 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 40) |       /* PAT5 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 48) |       /* PAT6 */
-                ((uint64_t)PAT_TYPE_UNCACHABLE << 56);        /* PAT7 */
+                ((uint64_t)X86_MT_UC)       |       /* PAT0 */
+                ((uint64_t)X86_MT_UC << 8)  |       /* PAT1 */
+                ((uint64_t)X86_MT_UC << 16) |       /* PAT2 */
+                ((uint64_t)X86_MT_UC << 24) |       /* PAT3 */
+                ((uint64_t)X86_MT_UC << 32) |       /* PAT4 */
+                ((uint64_t)X86_MT_UC << 40) |       /* PAT5 */
+                ((uint64_t)X86_MT_UC << 48) |       /* PAT6 */
+                ((uint64_t)X86_MT_UC << 56);        /* PAT7 */
 
             vmx_get_guest_pat(v, pat);
             vmx_set_guest_pat(v, uc_pat);
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index 7733800b798fc2c72ba87e4ce6500e4183553d04..92fc930c692039b6c709d6a04f6553593f40aa55 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -16,17 +16,7 @@
 #define NORMAL_CACHE_MODE          0
 #define NO_FILL_CACHE_MODE         2
 
-enum {
-    PAT_TYPE_UNCACHABLE=0,
-    PAT_TYPE_WRCOMB=1,
-    PAT_TYPE_WRTHROUGH=4,
-    PAT_TYPE_WRPROT=5,
-    PAT_TYPE_WRBACK=6,
-    PAT_TYPE_UC_MINUS=7,
-    PAT_TYPE_NUMS
-};
-
-#define INVALID_MEM_TYPE PAT_TYPE_NUMS
+#define INVALID_MEM_TYPE X86_NUM_MT
 
 /* In the Intel processor's MTRR interface, the MTRR type is always held in
    an 8 bit field: */
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index d61d66c20e4180f8cbe21bcd97b568519e0b738e..126437285d8a9f222fca6a7b6ff4434b60637847 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -573,8 +573,8 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
     if ( gmtrr_mtype >= 0 )
     {
         *ipat = true;
-        return gmtrr_mtype != PAT_TYPE_UC_MINUS ? gmtrr_mtype
-                                                : MTRR_TYPE_UNCACHABLE;
+        return gmtrr_mtype != X86_MT_UCM ? gmtrr_mtype
+                                         : MTRR_TYPE_UNCACHABLE;
     }
     if ( gmtrr_mtype == -EADDRNOTAVAIL )
         return -1;
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 6bb564b0145285afc93b72a60b7797fcfe8696dc..b64bba70fc17906236872a017ad48ce91fd30803 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -561,7 +561,7 @@ _sh_propagate(struct vcpu *v,
              (type = hvm_get_mem_pinned_cacheattr(d, target_gfn, 0)) >= 0 )
             sflags |= pat_type_2_pte_flags(type);
         else if ( d->arch.hvm.is_in_uc_mode )
-            sflags |= pat_type_2_pte_flags(PAT_TYPE_UNCACHABLE);
+            sflags |= pat_type_2_pte_flags(X86_MT_UC);
         else
             if ( iomem_access_permitted(d, mfn_x(target_mfn), mfn_x(target_mfn)) )
             {
@@ -572,7 +572,7 @@ _sh_propagate(struct vcpu *v,
                             mfn_to_maddr(target_mfn),
                             MTRR_TYPE_UNCACHABLE);
                 else if ( iommu_snoop )
-                    sflags |= pat_type_2_pte_flags(PAT_TYPE_WRBACK);
+                    sflags |= pat_type_2_pte_flags(X86_MT_WB);
                 else
                     sflags |= get_pat_flags(v,
                             gflags,
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 01:10:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 01:10:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466402.725317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9O-0005Yc-Ey; Tue, 20 Dec 2022 01:10:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466402.725317; Tue, 20 Dec 2022 01:10:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9O-0005YL-Bh; Tue, 20 Dec 2022 01:10:34 +0000
Received: by outflank-mailman (input) for mailman id 466402;
 Tue, 20 Dec 2022 01:10:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tFeQ=4S=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p7R9N-0004T7-J5
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 01:10:33 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18f6490e-8003-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 02:10:32 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id D5D143200916;
 Mon, 19 Dec 2022 20:10:29 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Mon, 19 Dec 2022 20:10:30 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 19 Dec 2022 20:10:28 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18f6490e-8003-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671498629; x=1671585029; bh=bgytBg0d5kZ/2u9oOHlePhKhWAPvt5pdQvy
	Ccbzuwv0=; b=chKYcnlUCeNwbxoEdiFHiyx/gI9eYjeet/HxlgkfzmRa74bPJHl
	XqMAyii+coVyzypKraJAPAODQRvWD+X4qhtRfOLaEcmubWr5pegbSIbFJzz+Xp+x
	hoG9EgPBcMXZmlmf/g/UxmKTWPAvCJqXKEcQkKDkxAs7EZ6X1Z1DqZmU+IdzuTJV
	lGOfoigHUDLgp8Lf1HV/gusetJN4tcwrJPEzF6yeuTDO6KviS5Fo1yzMZ68YoRcB
	nWxvcQKzjtpjn5+5yb0o6aXhlHbLmkqdsqRUKU74eDuzGLX7Lzej1LxIshAAdFNk
	twJYW2nRfTt4lsP1XbycAA+YihGb+K7QVTw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671498629; x=1671585029; bh=bgytBg0d5kZ/2
	u9oOHlePhKhWAPvt5pdQvyCcbzuwv0=; b=bKJ7jMaNn3VReebkzJoSti0T9sYgu
	u2kjtqslyTwtyHI3ztPoIcHzUWSb4RdE7FGxpd3o4bjRhmX74Wo28ExGyiTv39zG
	7hChxlljdDQS6EuQNrw6Br8Vb2nhf24to50HIt4pUkaLjiviz2TzNodkZsGyWvZR
	cPIShhLcR11Fvn/ae0ffzNJCYo5OTFxrhaZV0ejXJiGfmf/SeMTIh6vffEKnyHVq
	a/JFnLs9z0Mg/wc+IqwM09aPCErF12iAbppD0h5uKImaKULKNl5b046YTD+iGIFt
	0F1A3f9flXGN9e2L5Wr3JggRS8g5OMi6UcbIQRu3yHFv5+o+KmZ3SwgyQ==
X-ME-Sender: <xms:hQuhYwTKhipIexb7oomvABbP_UaFpidWOFpM8y3TCrp0UlhdPow72A>
    <xme:hQuhY9y3iTA2zmYRtJsXbbRJZ9uvOu_dHWX3JC7EtkFWtahQjDqgOy31n-F7yWVaC
    sWqRT4jAbKGFbM>
X-ME-Received: <xmr:hQuhY91IA6SN6gRtiW5brr4ij7dENJ92lpVcrcDRXvKNYwUDMOCJEtmz-3m1dZi2mKw56T24hjSF>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeeggdefvdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:hQuhY0AAfN-KvyLyN5NED-C3OTPYvOOSBxko224uef6ZgbHBoehapw>
    <xmx:hQuhY5hfSYeaRMbE4eVBcWxAkyP12WLW6SN5MPtFFmBoMShZQqhlww>
    <xmx:hQuhYwrgJvcAxpSEORA3PcZIog6Tb4AwfBEEJTGYad22O-FoOs8CRg>
    <xmx:hQuhY6UiOseRQcKygEFIzvUjnEZ9NBaheG5woxqYabDKupbwJxpArA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v5 04/10] x86: Replace MTRR_* constants with X86_MT_* constants
Date: Mon, 19 Dec 2022 20:07:06 -0500
Message-Id: <7a0c5f8f12b97e93258d91c4ffd036a8e9d74061.1671497984.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671497984.git.demi@invisiblethingslab.com>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This allows eliminating of the former, with the exception of
MTRR_NUM_TYPES.  MTRR_NUM_TYPES is kept, as due to a quirk of the x86
architecture X86_MT_UCM (7) is not valid in an MTRR.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v2:

- Improve commit message
- Do not replace MTRR_NUM_TYPES with X86_MT_UCM
- State explicitly that MTRR_NUM_TYPES is kept
---
 xen/arch/x86/cpu/mtrr/generic.c         | 10 ++---
 xen/arch/x86/cpu/mtrr/main.c            | 26 ++++++-------
 xen/arch/x86/e820.c                     |  4 +-
 xen/arch/x86/hvm/mtrr.c                 | 30 +++++++--------
 xen/arch/x86/hvm/vmx/vmcs.c             |  2 +-
 xen/arch/x86/hvm/vmx/vmx.c              |  2 +-
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |  2 +-
 xen/arch/x86/include/asm/mtrr.h         | 10 +----
 xen/arch/x86/mm/p2m-ept.c               | 51 ++++++++++++-------------
 xen/arch/x86/mm/shadow/multi.c          |  2 +-
 10 files changed, 66 insertions(+), 73 deletions(-)

diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index 47aaf76226e0a8a0712b7211ed339a4a032ab3f3..660ae26c2350b3436a471155fc0426699ba8ac1d 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -127,11 +127,11 @@ static const char *__init mtrr_attrib_to_str(mtrr_type x)
 {
 	static const char __initconst strings[MTRR_NUM_TYPES][16] =
 	{
-		[MTRR_TYPE_UNCACHABLE]     = "uncachable",
-		[MTRR_TYPE_WRCOMB]         = "write-combining",
-		[MTRR_TYPE_WRTHROUGH]      = "write-through",
-		[MTRR_TYPE_WRPROT]         = "write-protect",
-		[MTRR_TYPE_WRBACK]         = "write-back",
+		[X86_MT_UC] = "uncachable",
+		[X86_MT_WC] = "write-combining",
+		[X86_MT_WT] = "write-through",
+		[X86_MT_WP] = "write-protect",
+		[X86_MT_WB] = "write-back",
 	};
 
 	return (x < ARRAY_SIZE(strings) && strings[x][0]) ? strings[x] : "?";
diff --git a/xen/arch/x86/cpu/mtrr/main.c b/xen/arch/x86/cpu/mtrr/main.c
index 4e01c8d6f9df6562b94438f265d79a0a6fca8de6..2946003b84938f3b83c98b62dfaa3ace90822983 100644
--- a/xen/arch/x86/cpu/mtrr/main.c
+++ b/xen/arch/x86/cpu/mtrr/main.c
@@ -163,10 +163,10 @@ static void cf_check ipi_handler(void *info)
 }
 
 static inline int types_compatible(mtrr_type type1, mtrr_type type2) {
-	return type1 == MTRR_TYPE_UNCACHABLE ||
-	       type2 == MTRR_TYPE_UNCACHABLE ||
-	       (type1 == MTRR_TYPE_WRTHROUGH && type2 == MTRR_TYPE_WRBACK) ||
-	       (type1 == MTRR_TYPE_WRBACK && type2 == MTRR_TYPE_WRTHROUGH);
+	return type1 == X86_MT_UC ||
+	       type2 == X86_MT_UC ||
+	       (type1 == X86_MT_WT && type2 == X86_MT_WB) ||
+	       (type1 == X86_MT_WB && type2 == X86_MT_WT);
 }
 
 /**
@@ -297,13 +297,13 @@ static void set_mtrr(unsigned int reg, unsigned long base,
  *
  *	The available types are
  *
- *	%MTRR_TYPE_UNCACHABLE	-	No caching
+ *	%X86_MT_UC	-	No caching
  *
- *	%MTRR_TYPE_WRBACK	-	Write data back in bursts whenever
+ *	%X86_MT_WB	-	Write data back in bursts whenever
  *
- *	%MTRR_TYPE_WRCOMB	-	Write data back soon but allow bursts
+ *	%X86_MT_WC	-	Write data back soon but allow bursts
  *
- *	%MTRR_TYPE_WRTHROUGH	-	Cache reads but not writes
+ *	%X86_MT_WT	-	Cache reads but not writes
  *
  *	BUGS: Needs a quiet flag for the cases where drivers do not mind
  *	failures and do not wish system log messages to be sent.
@@ -328,7 +328,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
 	}
 
 	/*  If the type is WC, check that this processor supports it  */
-	if ((type == MTRR_TYPE_WRCOMB) && !have_wrcomb()) {
+	if ((type == X86_MT_WC) && !have_wrcomb()) {
 		printk(KERN_WARNING
 		       "mtrr: your processor doesn't support write-combining\n");
 		return -EOPNOTSUPP;
@@ -442,13 +442,13 @@ static int mtrr_check(unsigned long base, unsigned long size)
  *
  *	The available types are
  *
- *	%MTRR_TYPE_UNCACHABLE	-	No caching
+ *	%X86_MT_UC	-	No caching
  *
- *	%MTRR_TYPE_WRBACK	-	Write data back in bursts whenever
+ *	%X86_MT_WB	-	Write data back in bursts whenever
  *
- *	%MTRR_TYPE_WRCOMB	-	Write data back soon but allow bursts
+ *	%X86_MT_WC	-	Write data back soon but allow bursts
  *
- *	%MTRR_TYPE_WRTHROUGH	-	Cache reads but not writes
+ *	%X86_MT_WT	-	Cache reads but not writes
  *
  *	BUGS: Needs a quiet flag for the cases where drivers do not mind
  *	failures and do not wish system log messages to be sent.
diff --git a/xen/arch/x86/e820.c b/xen/arch/x86/e820.c
index b653a19c93afb98c2d64330384cb4fa7b4d2e1ec..c5911cf48dc4a281c03ddef35f23b19bc7af42eb 100644
--- a/xen/arch/x86/e820.c
+++ b/xen/arch/x86/e820.c
@@ -459,7 +459,7 @@ static uint64_t __init mtrr_top_of_ram(void)
         printk(" MTRR cap: %"PRIx64" type: %"PRIx64"\n", mtrr_cap, mtrr_def);
 
     /* MTRRs enabled, and default memory type is not writeback? */
-    if ( !test_bit(11, &mtrr_def) || ((uint8_t)mtrr_def == MTRR_TYPE_WRBACK) )
+    if ( !test_bit(11, &mtrr_def) || ((uint8_t)mtrr_def == X86_MT_WB) )
         return 0;
 
     /*
@@ -476,7 +476,7 @@ static uint64_t __init mtrr_top_of_ram(void)
             printk(" MTRR[%d]: base %"PRIx64" mask %"PRIx64"\n",
                    i, base, mask);
 
-        if ( !test_bit(11, &mask) || ((uint8_t)base != MTRR_TYPE_WRBACK) )
+        if ( !test_bit(11, &mask) || ((uint8_t)base != X86_MT_WB) )
             continue;
         base &= addr_mask;
         mask &= addr_mask;
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 242623f3c239ee18a44f882ecb3910a00c615825..093103f6c768cf64f880d1b20e1c14f5918c1250 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -39,11 +39,11 @@ static const uint8_t pat_entry_2_pte_flags[8] = {
 /* Effective mm type lookup table, according to MTRR and PAT. */
 static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
 #define RS MEMORY_NUM_TYPES
-#define UC MTRR_TYPE_UNCACHABLE
-#define WB MTRR_TYPE_WRBACK
-#define WC MTRR_TYPE_WRCOMB
-#define WP MTRR_TYPE_WRPROT
-#define WT MTRR_TYPE_WRTHROUGH
+#define UC X86_MT_UC
+#define WB X86_MT_WB
+#define WC X86_MT_WC
+#define WP X86_MT_WP
+#define WT X86_MT_WT
 
 /*          PAT(UC, WC, RS, RS, WT, WP, WB, UC-) */
 /* MTRR(UC) */ {UC, WC, RS, RS, UC, UC, UC, UC},
@@ -202,7 +202,7 @@ int mtrr_get_type(const struct mtrr_state *m, paddr_t pa, unsigned int order)
    unsigned int seg, num_var_ranges = MASK_EXTR(m->mtrr_cap, MTRRcap_VCNT);
 
    if ( unlikely(!m->enabled) )
-       return MTRR_TYPE_UNCACHABLE;
+       return X86_MT_UC;
 
    pa &= mask;
    if ( (pa < 0x100000) && m->fixed_enabled )
@@ -277,13 +277,13 @@ int mtrr_get_type(const struct mtrr_state *m, paddr_t pa, unsigned int order)
        return -1;
 
    /* Two or more matches, one being UC? */
-   if ( overlap_mtrr & (1 << MTRR_TYPE_UNCACHABLE) )
-       return MTRR_TYPE_UNCACHABLE;
+   if ( overlap_mtrr & (1 << X86_MT_UC) )
+       return X86_MT_UC;
 
    /* Two or more matches, all of them WT and WB? */
    if ( overlap_mtrr ==
-        ((1 << MTRR_TYPE_WRTHROUGH) | (1 << MTRR_TYPE_WRBACK)) )
-       return MTRR_TYPE_WRTHROUGH;
+        ((1 << X86_MT_WT) | (1 << X86_MT_WB)) )
+       return X86_MT_WT;
 
    /* Behaviour is undefined, but return the last overlapped type. */
    return overlap_mtrr_pos;
@@ -381,11 +381,11 @@ static inline bool_t valid_mtrr_type(uint8_t type)
 {
     switch ( type )
     {
-    case MTRR_TYPE_UNCACHABLE:
-    case MTRR_TYPE_WRBACK:
-    case MTRR_TYPE_WRCOMB:
-    case MTRR_TYPE_WRPROT:
-    case MTRR_TYPE_WRTHROUGH:
+    case X86_MT_UC:
+    case X86_MT_WB:
+    case X86_MT_WC:
+    case X86_MT_WP:
+    case X86_MT_WT:
         return 1;
     }
     return 0;
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index 84dbb88d33b76111833a37339186199f8bc03b5e..f0825216d722d978f221bb34a797d8de5505cb80 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -555,7 +555,7 @@ static int vmx_init_vmcs_config(bool bsp)
     /* Require Write-Back (WB) memory type for VMCS accesses. */
     opt = (vmx_basic_msr_high & (VMX_BASIC_MEMORY_TYPE_MASK >> 32)) /
           ((VMX_BASIC_MEMORY_TYPE_MASK & -VMX_BASIC_MEMORY_TYPE_MASK) >> 32);
-    if ( opt != MTRR_TYPE_WRBACK )
+    if ( opt != X86_MT_WB )
     {
         printk("VMX: CPU%d has unexpected VMCS access type %u\n",
                smp_processor_id(), opt);
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index b543c3983d77ae807e8bd97330691a79d8d39bae..4ae7dd56c9981d32ac545d6e7b7c126b15f68969 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -434,7 +434,7 @@ static void cf_check domain_creation_finished(struct domain *d)
         return;
 
     ASSERT(epte_get_entry_emt(d, gfn, apic_access_mfn, 0, &ipat,
-                              p2m_mmio_direct) == MTRR_TYPE_WRBACK);
+                              p2m_mmio_direct) == X86_MT_WB);
     ASSERT(ipat);
 
     if ( set_mmio_p2m_entry(d, gfn, apic_access_mfn, PAGE_ORDER_4K) )
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
index 75f9928abfad28e3895fe3dd4058b2b0a6e145c3..65e9e27b5437adff59abc46976f73a9f2cc587da 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -38,7 +38,7 @@ struct vmx_msr_entry {
     u64 data;
 };
 
-#define EPT_DEFAULT_MT      MTRR_TYPE_WRBACK
+#define EPT_DEFAULT_MT      X86_MT_WB
 
 struct ept_data {
     union {
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index 92fc930c692039b6c709d6a04f6553593f40aa55..e4f6ca6048334b2094a1836cc2f298453641232f 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -3,15 +3,9 @@
 
 #include <xen/mm.h>
 
-/* These are the region types. They match the architectural specification. */
-#define MTRR_TYPE_UNCACHABLE 0
-#define MTRR_TYPE_WRCOMB     1
-#define MTRR_TYPE_WRTHROUGH  4
-#define MTRR_TYPE_WRPROT     5
-#define MTRR_TYPE_WRBACK     6
-#define MTRR_NUM_TYPES       7
+#define MTRR_NUM_TYPES       X86_MT_UCM
 #define MEMORY_NUM_TYPES     MTRR_NUM_TYPES
-#define NO_HARDCODE_MEM_TYPE    MTRR_NUM_TYPES
+#define NO_HARDCODE_MEM_TYPE MTRR_NUM_TYPES
 
 #define NORMAL_CACHE_MODE          0
 #define NO_FILL_CACHE_MODE         2
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index 126437285d8a9f222fca6a7b6ff4434b60637847..bb143c6c42c69db4e054b9156aad9a18ea0b2378 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -506,7 +506,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
                                                mfn_x(mfn) | ((1UL << order) - 1)) )
         {
             *ipat = true;
-            return MTRR_TYPE_UNCACHABLE;
+            return X86_MT_UC;
         }
         /* Force invalid memory type so resolve_misconfig() will split it */
         return -1;
@@ -515,7 +515,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
     if ( !mfn_valid(mfn) )
     {
         *ipat = true;
-        return MTRR_TYPE_UNCACHABLE;
+        return X86_MT_UC;
     }
 
     /*
@@ -526,7 +526,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
          !cache_flush_permitted(d) )
     {
         *ipat = true;
-        return MTRR_TYPE_WRBACK;
+        return X86_MT_WB;
     }
 
     for ( special_pgs = i = 0; i < (1ul << order); i++ )
@@ -539,13 +539,13 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
             return -1;
 
         *ipat = true;
-        return MTRR_TYPE_WRBACK;
+        return X86_MT_WB;
     }
 
     switch ( type )
     {
     case p2m_mmio_direct:
-        return MTRR_TYPE_UNCACHABLE;
+        return X86_MT_UC;
 
     case p2m_grant_map_ro:
     case p2m_grant_map_rw:
@@ -563,7 +563,7 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
          * diverges. See p2m_type_to_flags for the AMD attributes.
          */
         *ipat = true;
-        return MTRR_TYPE_WRBACK;
+        return X86_MT_WB;
 
     default:
         break;
@@ -573,15 +573,14 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
     if ( gmtrr_mtype >= 0 )
     {
         *ipat = true;
-        return gmtrr_mtype != X86_MT_UCM ? gmtrr_mtype
-                                         : MTRR_TYPE_UNCACHABLE;
+        return gmtrr_mtype != X86_MT_UCM ? gmtrr_mtype : X86_MT_UC;
     }
     if ( gmtrr_mtype == -EADDRNOTAVAIL )
         return -1;
 
     gmtrr_mtype = v ? mtrr_get_type(&v->arch.hvm.mtrr,
                                     gfn_x(gfn) << PAGE_SHIFT, order)
-                    : MTRR_TYPE_WRBACK;
+                    : X86_MT_WB;
     hmtrr_mtype = mtrr_get_type(&mtrr_state, mfn_x(mfn) << PAGE_SHIFT,
                                 order);
     if ( gmtrr_mtype < 0 || hmtrr_mtype < 0 )
@@ -592,14 +591,14 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
         return hmtrr_mtype;
 
     /* If either type is UC, we have to go with that one. */
-    if ( gmtrr_mtype == MTRR_TYPE_UNCACHABLE ||
-         hmtrr_mtype == MTRR_TYPE_UNCACHABLE )
-        return MTRR_TYPE_UNCACHABLE;
+    if ( gmtrr_mtype == X86_MT_UC ||
+         hmtrr_mtype == X86_MT_UC )
+        return X86_MT_UC;
 
     /* If either type is WB, we have to go with the other one. */
-    if ( gmtrr_mtype == MTRR_TYPE_WRBACK )
+    if ( gmtrr_mtype == X86_MT_WB )
         return hmtrr_mtype;
-    if ( hmtrr_mtype == MTRR_TYPE_WRBACK )
+    if ( hmtrr_mtype == X86_MT_WB )
         return gmtrr_mtype;
 
     /*
@@ -610,13 +609,13 @@ int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
      * permit this), while WT and WP require writes to go straight to memory
      * (WC can buffer them).
      */
-    if ( (gmtrr_mtype == MTRR_TYPE_WRTHROUGH &&
-          hmtrr_mtype == MTRR_TYPE_WRPROT) ||
-         (gmtrr_mtype == MTRR_TYPE_WRPROT &&
-          hmtrr_mtype == MTRR_TYPE_WRTHROUGH) )
-        return MTRR_TYPE_WRPROT;
+    if ( (gmtrr_mtype == X86_MT_WT &&
+          hmtrr_mtype == X86_MT_WP) ||
+         (gmtrr_mtype == X86_MT_WP &&
+          hmtrr_mtype == X86_MT_WT) )
+        return X86_MT_WP;
 
-    return MTRR_TYPE_UNCACHABLE;
+    return X86_MT_UC;
 }
 
 /*
@@ -1426,12 +1425,12 @@ void ept_p2m_uninit(struct p2m_domain *p2m)
 static const char *memory_type_to_str(unsigned int x)
 {
     static const char memory_types[8][3] = {
-        [MTRR_TYPE_UNCACHABLE]     = "UC",
-        [MTRR_TYPE_WRCOMB]         = "WC",
-        [MTRR_TYPE_WRTHROUGH]      = "WT",
-        [MTRR_TYPE_WRPROT]         = "WP",
-        [MTRR_TYPE_WRBACK]         = "WB",
-        [MTRR_NUM_TYPES]           = "??"
+        [X86_MT_UC]      = "UC",
+        [X86_MT_WC]      = "WC",
+        [X86_MT_WT]      = "WT",
+        [X86_MT_WP]      = "WP",
+        [X86_MT_WB]      = "WB",
+        [MTRR_NUM_TYPES] = "??",
     };
 
     ASSERT(x < ARRAY_SIZE(memory_types));
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index b64bba70fc17906236872a017ad48ce91fd30803..f5f7ff021bd9e057c5b6f6329de7acb5ef05d58f 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -570,7 +570,7 @@ _sh_propagate(struct vcpu *v,
                             gflags,
                             gfn_to_paddr(target_gfn),
                             mfn_to_maddr(target_mfn),
-                            MTRR_TYPE_UNCACHABLE);
+                            X86_MT_UC);
                 else if ( iommu_snoop )
                     sflags |= pat_type_2_pte_flags(X86_MT_WB);
                 else
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 01:10:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 01:10:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466403.725328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9Q-0005s2-Oe; Tue, 20 Dec 2022 01:10:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466403.725328; Tue, 20 Dec 2022 01:10:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9Q-0005rv-Jr; Tue, 20 Dec 2022 01:10:36 +0000
Received: by outflank-mailman (input) for mailman id 466403;
 Tue, 20 Dec 2022 01:10:35 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tFeQ=4S=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p7R9P-0004iO-O2
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 01:10:35 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a9807f8-8003-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 02:10:34 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 4E0C3320095B;
 Mon, 19 Dec 2022 20:10:32 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Mon, 19 Dec 2022 20:10:33 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 19 Dec 2022 20:10:30 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a9807f8-8003-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671498631; x=1671585031; bh=uxmdOs+lCg3lNRcLgLV7XD5izHM7UdEv5Kn
	bujPlCxE=; b=dedffQ5lwM/nq4YhPhfB4flTbftjq38/ex3njQi6prBsfMhUcCm
	tAgeCU6n+25b0Bi6xgamQilfesd6EMsBtpQ4YrQkZhSGPpdx5tOCCH29DHs2x7Fm
	8T/7CLw5+1oqj3jP0VgZnXWPQUWcqMjLWL9GCnP5An0gOMaZpQWbLBDl1Kg9UM0C
	S1e1d5tsOhmMGXG61UcrF6rV7SeJeTJY8yxz5fwIPpPjxf97NQKk48NF/XJNisdu
	SznWVd/jwAUeA6Wihb8IILeL63d023powN38W2s3tJdnD0RyyIoa5E7inwTXq7gk
	5HgnmwCnR2Xz6l55urKlZTRgZbEFks98/Mw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671498631; x=1671585031; bh=uxmdOs+lCg3lN
	RcLgLV7XD5izHM7UdEv5KnbujPlCxE=; b=j9o81iF0qvmDWFXXMig8tGbyLlftU
	BTh+lQcviJX07WBuVDFA/oLY6135P6l64E+2Ak9yL6H/45xn7rEPfEVFS1rzueW0
	kmCxBj6Vi7l9O1cAwMXL1MJlNgJIptIFOBHYMOaHtQe9G3By4gdPmdv5B8fl4PzU
	dNtU3brZPwoSjWqWcRsvgEi4PEzlvB2ynLWXqLuthnHgg3RnwQ9rO2LHCChXaZUl
	X0VNI0/fLP1zazon5hxQZSaDOctr7ikj/U35BqUD4UgXCJL47i6qxPeAnSK707/X
	t6UbdeOjQqHwhVUhgMT16DhVXfD3Ypy4Ux7BK4UUbwhm7cpPjCirh0ACA==
X-ME-Sender: <xms:hwuhYwQViDPyv3Hl2HuEVn5oY-HfRK8Rwzczs4ln1fnmDpAAy-Gr9A>
    <xme:hwuhY9ymeFOrPncBccFoahWgaQXTy6ckzk6nUqI2yC0yBlBR4CGWhpqDq_Wr0XPNP
    QUSUWpZi_In1Q8>
X-ME-Received: <xmr:hwuhY90LeYLOfKC_xQvn25gP0ffTyQYfrhF-BmyKYngGvLfnMDJpMlguxNhr586B1Ixw8eXiDuph>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeeggdefudcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedunecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:hwuhY0AH0iipBaUxAITIjqa2YtEEG2EUdhNIDZiXbXug9bWByNhNZw>
    <xmx:hwuhY5haNH91dkh7eCRufUtiVRY3vxz_66AMylmAf7l5d5A8aw_vZw>
    <xmx:hwuhYwq_tQfdWPpM1q-5pFk9Y1KcfzNx85NorLBW34pmIQQa8xSvzQ>
    <xmx:hwuhY6WlpoqXpaFXHTJVYH3AopMW3AWeWefV-XLYkHnp6xRdBBS3VA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v5 05/10] x86: Replace EPT_EMT_* constants with X86_MT_*
Date: Mon, 19 Dec 2022 20:07:07 -0500
Message-Id: <4b5f6b6bcc4ed00db6b5f4c6def68606c190a74e.1671497984.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671497984.git.demi@invisiblethingslab.com>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This allows eliminating the former.  No functional change intended.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 xen/arch/x86/include/asm/hvm/vmx/vmx.h | 9 ---------
 xen/arch/x86/mm/hap/nested_ept.c       | 4 ++--
 2 files changed, 2 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
index 8eedf59155e01ec1ca84dcc6b30961f9c884cb3b..49fe9822fac5eae15b67f0cfd3d0cb96347dc7ed 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -80,15 +80,6 @@ typedef enum {
 #define EPTE_RWX_MASK           0x7
 #define EPTE_FLAG_MASK          0x7f
 
-#define EPT_EMT_UC              0
-#define EPT_EMT_WC              1
-#define EPT_EMT_RSV0            2
-#define EPT_EMT_RSV1            3
-#define EPT_EMT_WT              4
-#define EPT_EMT_WP              5
-#define EPT_EMT_WB              6
-#define EPT_EMT_RSV2            7
-
 #define PI_xAPIC_NDST_MASK      0xFF00
 
 void vmx_asm_vmexit_handler(struct cpu_user_regs);
diff --git a/xen/arch/x86/mm/hap/nested_ept.c b/xen/arch/x86/mm/hap/nested_ept.c
index 1cb7fefc37091bf7d92a277203e652add5611871..23fb3889b7605be62805731218c314819d5027b5 100644
--- a/xen/arch/x86/mm/hap/nested_ept.c
+++ b/xen/arch/x86/mm/hap/nested_ept.c
@@ -84,8 +84,8 @@ static bool_t nept_emt_bits_check(ept_entry_t e, uint32_t level)
 {
     if ( e.sp || level == 1 )
     {
-        if ( e.emt == EPT_EMT_RSV0 || e.emt == EPT_EMT_RSV1 ||
-             e.emt == EPT_EMT_RSV2 )
+        if ( e.emt == X86_MT_RSVD_2 || e.emt == X86_MT_RSVD_3 ||
+             e.emt == X86_MT_UCM )
             return 1;
     }
     return 0;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 01:10:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 01:10:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466404.725339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9U-0006Dz-37; Tue, 20 Dec 2022 01:10:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466404.725339; Tue, 20 Dec 2022 01:10:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9T-0006DZ-Un; Tue, 20 Dec 2022 01:10:39 +0000
Received: by outflank-mailman (input) for mailman id 466404;
 Tue, 20 Dec 2022 01:10:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tFeQ=4S=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p7R9S-0004iO-9d
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 01:10:38 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1c000886-8003-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 02:10:37 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id E4B963200920;
 Mon, 19 Dec 2022 20:10:34 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Mon, 19 Dec 2022 20:10:35 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 19 Dec 2022 20:10:33 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c000886-8003-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671498634; x=1671585034; bh=ZFVd1zipbDmyuM5p7z7I6kIgLQvhgJ+UDrK
	byLqFiao=; b=uIn3JRZh+wE8wl0bAnlNSxLWynzbB/S5/vfgKn89TTu7J428rcb
	r7jYay3VCc3p9h909ZWHe1c26nbsrLeM3rIqHOiWlhhPSQDzvcVEo5/9eajKe+e8
	0vV3nqh5WNDr7EV7h4jfGyw0eqfgGh4z4Y9ScQ4wW3vC7MLT896aFTWCzRwscdf3
	nIDJwNxzivuhpAcz6fPaqauhlsE0qxe9xZ9LBrw6DfLwmsht/BQtmah08WmSSn1W
	yUv0tlV40PRJbfjZy1SWUuEFthWSSZXTBw5Zc2lAPks3wPWRkbO1onaszAH3XEoe
	dhBmuj+rxMg+NQrzFPulsznNoa+voZ7PCbg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671498634; x=1671585034; bh=ZFVd1zipbDmyu
	M5p7z7I6kIgLQvhgJ+UDrKbyLqFiao=; b=DDpCTCT5d0Acst/Kd2JqpA8/+2WKO
	mPKwax/l8HA7rkaiv3Gb/UgU0oO0ctNmsmo0vMyrS4NX6z8Qjridl1sOomqozglf
	h5JopvMDpH/myu32XMbQIh16qYXxHrxNsybzWn8JIRByZ8uZXPx49uWx6pZukvSM
	ip87LWtoKjUP5dMdMkHDF+SJpO07eB6cfqteCQRz95t8MSyzSzxo7gMQrRd+QRCl
	fXf3JbiPuEOnU2+dtjCjU74dmfBmVnweLnhi1qtY3IpFclfSrn5VuWRgeI6aOwg/
	kPXM0eqsHn9lSxd/0flVR6UDrXwTKEvOixqBnmk0O+uXGKd9RMlb/hPGQ==
X-ME-Sender: <xms:iguhY8MQfd_l0p-4IUGWRyfRW80d2J48aGV02YIa14_PqlQ5mw1rTw>
    <xme:iguhYy9xCVuqJrd5mxjZJLjHuRXRl0xEJfXnx8wdJ_rTZGkg1pta-hHfQHIHUihUE
    bEjWdZYcTk8WVo>
X-ME-Received: <xmr:iguhYzTDaU-a1yBTZ0kkfsLmeUnNHctkhnmjxI5T31xQfe155gDX-ZEqmg1UAHD5gg8T7F5bwdRD>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeeggdefvdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:iguhY0tBPCaZANuR59cL4EJn-OcaWL2OhxHoj1GmMvJ5HBUTMNLwig>
    <xmx:iguhY0fzuOG6yfiaZTm6uww5_Ah1mdLYN-EpCaLkf_fHYLtr8RIWew>
    <xmx:iguhY437q57RMB35dq9wfl9LqOuwwnEpLkFutdYfsAp--T8Jb-Tztg>
    <xmx:iguhY7zgnyiTpSzbhccJJcQRT98CPp4QeQNemlCS7KZqxEWc1YJdMQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v5 06/10] x86: Remove MEMORY_NUM_TYPES and NO_HARDCODE_MEM_TYPE
Date: Mon, 19 Dec 2022 20:07:08 -0500
Message-Id: <8516b1a8da8ea536e65653e998e7c79d98cb53b4.1671497984.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671497984.git.demi@invisiblethingslab.com>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No functional change intended.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
This patch is optional.  Subsequent patches should not depend on it.

Changes since v2:

- Keep MTRR_NUM_TYPES and adjust commit message accordingly
---
 xen/arch/x86/hvm/mtrr.c         | 18 +++++++++---------
 xen/arch/x86/include/asm/mtrr.h |  2 --
 xen/arch/x86/mm/shadow/multi.c  |  2 +-
 3 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 093103f6c768cf64f880d1b20e1c14f5918c1250..05e978041d62fd0d559462de181a04bef8a5bca9 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -38,7 +38,7 @@ static const uint8_t pat_entry_2_pte_flags[8] = {
 
 /* Effective mm type lookup table, according to MTRR and PAT. */
 static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
-#define RS MEMORY_NUM_TYPES
+#define RS MTRR_NUM_TYPES
 #define UC X86_MT_UC
 #define WB X86_MT_WB
 #define WC X86_MT_WC
@@ -66,9 +66,9 @@ static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
  * Reverse lookup table, to find a pat type according to MTRR and effective
  * memory type. This table is dynamically generated.
  */
-static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
-    { [0 ... MTRR_NUM_TYPES-1] =
-        { [0 ... MEMORY_NUM_TYPES-1] = INVALID_MEM_TYPE }
+static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MTRR_NUM_TYPES] =
+    { [0 ... MTRR_NUM_TYPES - 1] =
+        { [0 ... MTRR_NUM_TYPES - 1] = INVALID_MEM_TYPE }
     };
 
 /* Lookup table for PAT entry of a given PAT value in host PAT. */
@@ -85,7 +85,7 @@ static int __init cf_check hvm_mtrr_pat_init(void)
         {
             unsigned int tmp = mm_type_tbl[i][j];
 
-            if ( tmp < MEMORY_NUM_TYPES )
+            if ( tmp < MTRR_NUM_TYPES )
                 mtrr_epat_tbl[i][tmp] = j;
         }
     }
@@ -317,11 +317,11 @@ static uint8_t effective_mm_type(struct mtrr_state *m,
                                  uint8_t gmtrr_mtype)
 {
     uint8_t mtrr_mtype, pat_value;
-   
+
     /* if get_pat_flags() gives a dedicated MTRR type,
      * just use it
-     */ 
-    if ( gmtrr_mtype == NO_HARDCODE_MEM_TYPE )
+     */
+    if ( gmtrr_mtype == MTRR_NUM_TYPES )
         mtrr_mtype = mtrr_get_type(m, gpa, 0);
     else
         mtrr_mtype = gmtrr_mtype;
@@ -346,7 +346,7 @@ uint32_t get_pat_flags(struct vcpu *v,
     /* 1. Get the effective memory type of guest physical address,
      * with the pair of guest MTRR and PAT
      */
-    guest_eff_mm_type = effective_mm_type(g, pat, gpaddr, 
+    guest_eff_mm_type = effective_mm_type(g, pat, gpaddr,
                                           gl1e_flags, gmtrr_mtype);
     /* 2. Get the memory type of host physical address, with MTRR */
     shadow_mtrr_type = mtrr_get_type(&mtrr_state, spaddr, 0);
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index e4f6ca6048334b2094a1836cc2f298453641232f..4b7f840a965954cc4b59698327a37e47026893a4 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -4,8 +4,6 @@
 #include <xen/mm.h>
 
 #define MTRR_NUM_TYPES       X86_MT_UCM
-#define MEMORY_NUM_TYPES     MTRR_NUM_TYPES
-#define NO_HARDCODE_MEM_TYPE MTRR_NUM_TYPES
 
 #define NORMAL_CACHE_MODE          0
 #define NO_FILL_CACHE_MODE         2
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index f5f7ff021bd9e057c5b6f6329de7acb5ef05d58f..1faf9940db6b0afefc5977c00c00fb6a39cd27d2 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -578,7 +578,7 @@ _sh_propagate(struct vcpu *v,
                             gflags,
                             gfn_to_paddr(target_gfn),
                             mfn_to_maddr(target_mfn),
-                            NO_HARDCODE_MEM_TYPE);
+                            MTRR_NUM_TYPES);
             }
     }
 
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 01:10:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 01:10:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466407.725350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9W-0006ee-Q8; Tue, 20 Dec 2022 01:10:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466407.725350; Tue, 20 Dec 2022 01:10:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9W-0006dv-Js; Tue, 20 Dec 2022 01:10:42 +0000
Received: by outflank-mailman (input) for mailman id 466407;
 Tue, 20 Dec 2022 01:10:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tFeQ=4S=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p7R9V-0004T7-AB
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 01:10:41 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d57d520-8003-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 02:10:39 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 35F233200916;
 Mon, 19 Dec 2022 20:10:37 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Mon, 19 Dec 2022 20:10:38 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 19 Dec 2022 20:10:36 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d57d520-8003-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671498636; x=1671585036; bh=mmWwiUKIb7PKGWRCiRecDTE1zKV4JKWsn7i
	luc16UuM=; b=mStWYdgNQql7gh33QrtSnuD/GPYeOwdy0tQoWGDcdM6j8JOX3+O
	wFrhh2RJsswfyPbKucVAtlyhKp60sujLAgav30AFFhFuY6iGA8+S8fcNcCxjZtzu
	iDn7g7/4nxj74a4IZz0xvtNPwjsvyFfXOvNR/JmzOJoz1STbXFmEkPLAOzyYtZ5B
	OWBY2mKi9St0jWTrM+GoXonuDOOkxNdJPHVvq4Irt+oBqARn0Xr5rDP4TTDXlrK2
	D4d0rvbjY/mYnHPGb5aBrcZ//UJHD12usFf6QZTPsIUyF3oabjSezIGhnpvp4BFb
	Pd8nCxhGddDJnP0foFn5zis+R0yUUyJruBw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671498636; x=1671585036; bh=mmWwiUKIb7PKG
	WRCiRecDTE1zKV4JKWsn7iluc16UuM=; b=p9ek3Qdd5Fn/9SP4cGDijKonsSSYW
	BcCcQqcBuzN61DKYq+1onW4EIJYULeM3pPMXjmYY4aW3kIzkbhbyTA0tpBRqiAxE
	Emu2FLtBhzL8pjwzzrX770LdDZkajM0edELRcqHJZa2toxGAZ1e/JHhfTjhrx9zB
	GM9CmI4e08aelshDzaBt7zzLXMEtWO41zTHgH161l9CGSVl4QG5+cLmdVLrEdtHO
	+R+WuGbaYTEkPARpiREbAkRWYySqsk2qpcLQDKiNjgoKj1aW3xaOLRuhQuGn/k/b
	br9/TzswYMH4adK5BAkf7Ufl9uG0NKCjrAi4P2jQuHytBCrLPnGRfIaWg==
X-ME-Sender: <xms:jAuhY0GJFbu7AiRJHodM7xQODWMPvKETldBzm4FJ0PcfMuVv31OBgQ>
    <xme:jAuhY9XyXS-bLhUGFRmcn_LQ27F8yORSfU9aBFRAM_cJ52eR0bLOKcnwFjPlJThVh
    -8UEX95ngeaWJA>
X-ME-Received: <xmr:jAuhY-Ia6BxExfWlw7iQ5QKxghilCXgewMdMIwqhxwpL_DFxDXweG3916FkTNVVILJG4noQtcUTR>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeeggdefudcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedvnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:jAuhY2HqNeDcGsIph6fJsh4bqKmpVYgB5wQX6yWwJKhsC_FvhMJ0ew>
    <xmx:jAuhY6W1N1OP3j20QgK2W2bp09GkxkuJ8srpKeXBmPSymP_Ge5eXBA>
    <xmx:jAuhY5Mx7YaycXtVWY4csf-laxYuY4-ozWUKfeF70wg8QXrVwb5KXg>
    <xmx:jAuhY-p_O03wVttqCOzW_g4gu22wsLcdbaDjtMLjQ-_unSqWLELAoQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v5 07/10] x86: Derive XEN_MSR_PAT from its individual entries
Date: Mon, 19 Dec 2022 20:07:09 -0500
Message-Id: <3f38d913e270fed69a336d08d689ac9268cc54c2.1671497984.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671497984.git.demi@invisiblethingslab.com>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This avoids it being a magic constant that is difficult for humans to
decode.  Use BUILD_BUG_ON to check that the old and new values are
identical.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v4:
- Explain that changing XEN_MSR_PAT breaks guests that rely on the API
  in xen.h instead of reading the PAT from Xen.
---
 xen/arch/x86/include/asm/processor.h |  9 ++++++++-
 xen/arch/x86/mm.c                    | 11 +++++++++++
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 8e2816fae9b97bd4e153a30cc3802971fe0355af..60b902060914584957db8afa5c7c1e6abdad4d13 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -96,7 +96,14 @@
  * Host IA32_CR_PAT value to cover all memory types.  This is not the default
  * MSR_PAT value, and is an ABI with PV guests.
  */
-#define XEN_MSR_PAT _AC(0x050100070406, ULL)
+#define XEN_MSR_PAT ((_AC(X86_MT_WB,  ULL) << 0x00) | \
+                     (_AC(X86_MT_WT,  ULL) << 0x08) | \
+                     (_AC(X86_MT_UCM, ULL) << 0x10) | \
+                     (_AC(X86_MT_UC,  ULL) << 0x18) | \
+                     (_AC(X86_MT_WC,  ULL) << 0x20) | \
+                     (_AC(X86_MT_WP,  ULL) << 0x28) | \
+                     (_AC(X86_MT_UC,  ULL) << 0x30) | \
+                     (_AC(X86_MT_UC,  ULL) << 0x38))
 
 #ifndef __ASSEMBLY__
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index dba6c77ef2f7ed7fcb7f7e526583ccadd35e62cc..b40a575b61418ea1137299e68b64f7efd9efeced 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6352,6 +6352,17 @@ unsigned long get_upper_mfn_bound(void)
     return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1;
 }
 
+static void __init __maybe_unused build_assertions(void)
+{
+    /*
+     * If this trips, any guest that blindly rely on the public API in xen.h
+     * (instead of reading the PAT from Xen, as Linux 3.19+ does) will be
+     * broken.  Furthermore, live migration of PV guests between Xen versions
+     * using different PATs will not work.
+     */
+    BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL);
+}
+
 /*
  * Local variables:
  * mode: C
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 01:10:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 01:10:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466410.725361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9Z-00074H-9L; Tue, 20 Dec 2022 01:10:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466410.725361; Tue, 20 Dec 2022 01:10:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9Z-00073g-24; Tue, 20 Dec 2022 01:10:45 +0000
Received: by outflank-mailman (input) for mailman id 466410;
 Tue, 20 Dec 2022 01:10:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tFeQ=4S=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p7R9X-0004T7-Af
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 01:10:43 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1ea99cc1-8003-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 02:10:41 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 6AA89320095B;
 Mon, 19 Dec 2022 20:10:39 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Mon, 19 Dec 2022 20:10:40 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 19 Dec 2022 20:10:38 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ea99cc1-8003-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671498639; x=1671585039; bh=jKBlqS6uBObDCxBMOYDitp/iZJTqwZogf21
	3ESuaELQ=; b=MSaeBHKGAH+IOl5giKrtBihGrYO/b+hEQf4tVD9sGYKeS4m8Cr9
	r4TUK5EOfcKH0EAKVWDP0sTaq0C0/I0k2G03qr3Uox28wtQ2xGkKBa2A/7H6JPRP
	v1XcDKXkB8NkDKSfdeYb6NetTEUidV41xiCD3CVT48xpg4JklhKyuQ3TSCMgxNBL
	Uy8uQvSp863FN1QMkvjSD9rXcFRHcpWlGc2PY7aQCR2YuZ1ytARh/sV9Cmmgf8tI
	xqwFvyyA9UaNa5thQb6JEqWiKlrLUADL27Ga+ZrFI14jOskJZ7Ewu4wDi6V/IFY3
	Yi/HOt1mJwX6oSaOijnCEkSu8rmirtNnRAg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671498639; x=1671585039; bh=jKBlqS6uBObDC
	xBMOYDitp/iZJTqwZogf213ESuaELQ=; b=UwdSKLUnFnHN8MiJLuuWEcEvzsqaf
	rcW6TjkLfLnBmILAQ1l0chWyXb7y2qd3y/Hs5BNInQXNw7JqABRwY0xAYBGJg0Fe
	xhliD38/fXcw1tPo13I4W7gKw8ouHrSRmOe0vmaNOSau471xFAD2HFgke1/0M+OH
	q6dwGmXT8uWOImos7y7ivHnid+HqYS1UBnqEKPIXhrilixbMptCMt9FAZjhit4GA
	7L7nUlK/Yyq4OYfBrf9zMoDCe2bbULFDKGeJPMNo9LouBeCtIQLSXAUWj3zMCCtr
	jbLS+nq+cXF0dzt417HKSs3o4mlMwiBp3q6sruroEWC6QH7mci++n0VSw==
X-ME-Sender: <xms:jguhY4zYLeEp8TgMz0UFQaLsZcIIxS-37Dh0MxhpUYYcLpvhfoiF-g>
    <xme:jguhY8QXGWKk1JdZa1VvmVoXRPloEmzQY4Iu-JYtrGXEMoSRxnWFSyfWgzPsHQXfu
    p_I6197NlG8iqk>
X-ME-Received: <xmr:jguhY6WOGSi7ZWPl1ZHny3DwNjIAb9v-dKnRjYw0h4guleLoqlt9RTfDKYLJGKKlG8_gJeHQkKxy>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeeggdefudcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpedvnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:jguhY2hmCeTxt5BjNYovhSVjwAhah4vEfLM2iP4Ao8KB0ei_EgHKIA>
    <xmx:jguhY6DOJV6S0yaEToREm2dRFjytMC5n5BovU4Vx1dZnhfO-tDDrmw>
    <xmx:jguhY3JWI8rc1O2e5jHZkDEKB2ZjFcjQ0uFRayB3hU5viHk2gFnogA>
    <xmx:jwuhY21qDRz9MF2SEnjgcXoomlE4ZZdPfPKpIaqAUyx_b_5mIkeSgw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v5 08/10] x86/mm: make code robust to future PAT changes
Date: Mon, 19 Dec 2022 20:07:10 -0500
Message-Id: <a8920eef3254cbf470a0d35a887dbaf0e4907a6d.1671497984.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671497984.git.demi@invisiblethingslab.com>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It may be desirable to change Xen's PAT for various reasons.  This
requires changes to several _PAGE_* macros as well.  Add static
assertions to check that XEN_MSR_PAT is consistent with the _PAGE_*
macros, and that _PAGE_WB is 0 as required by Linux.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v4:
- Add lots of comments explaining what the various BUILD_BUG_ON()s mean.

Changes since v3:
- Refactor some macros
- Avoid including a string literal in BUILD_BUG_ON
---
 xen/arch/x86/mm.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 71 insertions(+)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index b40a575b61418ea1137299e68b64f7efd9efeced..a72556668633ee57b77c9a57d3a13dd5a12d9bbf 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6352,6 +6352,11 @@ unsigned long get_upper_mfn_bound(void)
     return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1;
 }
 
+
+/*
+ * A bunch of static assertions to check that the XEN_MSR_PAT is valid
+ * and consistent with the _PAGE_* macros, and that _PAGE_WB is zero.
+ */
 static void __init __maybe_unused build_assertions(void)
 {
     /*
@@ -6361,6 +6366,72 @@ static void __init __maybe_unused build_assertions(void)
      * using different PATs will not work.
      */
     BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL);
+
+    /*
+     * _PAGE_WB must be zero for several reasons, not least because Linux
+     * assumes it.
+     */
+    BUILD_BUG_ON(_PAGE_WB);
+
+    /* A macro to convert from cache attributes to actual cacheability */
+#define PAT_ENTRY(v) (0xFF & (XEN_MSR_PAT >> (8 * (v))))
+
+    /* Validate at compile-time that v is a valid value for a PAT entry */
+#define CHECK_PAT_ENTRY_VALUE(v)                                               \
+    BUILD_BUG_ON((v) < 0 || (v) > 7 ||                                         \
+                 (v) == X86_MT_RSVD_2 || (v) == X86_MT_RSVD_3)
+
+    /* Validate at compile-time that PAT entry v is valid */
+#define CHECK_PAT_ENTRY(v) do {                                                \
+    BUILD_BUG_ON((v) < 0 || (v) > 7);                                          \
+    CHECK_PAT_ENTRY_VALUE(PAT_ENTRY(v));                                       \
+} while (0);
+
+    /*
+     * If one of these trips, the corresponding entry in XEN_MSR_PAT is invalid.
+     * This would cause Xen to crash (with #GP) at startup.
+     */
+    CHECK_PAT_ENTRY(0);
+    CHECK_PAT_ENTRY(1);
+    CHECK_PAT_ENTRY(2);
+    CHECK_PAT_ENTRY(3);
+    CHECK_PAT_ENTRY(4);
+    CHECK_PAT_ENTRY(5);
+    CHECK_PAT_ENTRY(6);
+    CHECK_PAT_ENTRY(7);
+
+#undef CHECK_PAT_ENTRY
+#undef CHECK_PAT_ENTRY_VALUE
+
+    /* Macro version of page_flags_to_cacheattr(), for use in BUILD_BUG_ON()s */
+#define PAGE_FLAGS_TO_CACHEATTR(page_value)                                    \
+    ((((page_value) >> 5) & 4) | (((page_value) >> 3) & 3))
+
+    /* Check that a PAT-related _PAGE_* macro is correct */
+#define CHECK_PAGE_VALUE(page_value) do {                                      \
+    /* Check that the _PAGE_* macros only use bits from PAGE_CACHE_ATTRS */    \
+    BUILD_BUG_ON(((_PAGE_##page_value) & PAGE_CACHE_ATTRS) !=                  \
+                  (_PAGE_##page_value));                                       \
+    /* Check that the _PAGE_* are consistent with XEN_MSR_PAT */               \
+    BUILD_BUG_ON(PAT_ENTRY(PAGE_FLAGS_TO_CACHEATTR(_PAGE_##page_value)) !=     \
+                 (X86_MT_##page_value));                                       \
+} while (0)
+
+    /*
+     * If one of these trips, the corresponding _PAGE_* macro is inconsistent
+     * with XEN_MSR_PAT.  This would cause Xen to use incorrect cacheability
+     * flags, with results that are undefined and probably harmful.
+     */
+    CHECK_PAGE_VALUE(WT);
+    CHECK_PAGE_VALUE(WB);
+    CHECK_PAGE_VALUE(WC);
+    CHECK_PAGE_VALUE(UC);
+    CHECK_PAGE_VALUE(UCM);
+    CHECK_PAGE_VALUE(WP);
+
+#undef CHECK_PAGE_VALUE
+#undef PAGE_FLAGS_TO_CACHEATTR
+#undef PAT_ENTRY
 }
 
 /*
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 01:10:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 01:10:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466413.725370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9a-0007RX-J2; Tue, 20 Dec 2022 01:10:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466413.725370; Tue, 20 Dec 2022 01:10:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9a-0007Q7-EI; Tue, 20 Dec 2022 01:10:46 +0000
Received: by outflank-mailman (input) for mailman id 466413;
 Tue, 20 Dec 2022 01:10:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tFeQ=4S=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p7R9Y-0004T7-Uh
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 01:10:45 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 200739c9-8003-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 02:10:44 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id B20993200921;
 Mon, 19 Dec 2022 20:10:41 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Mon, 19 Dec 2022 20:10:42 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 19 Dec 2022 20:10:40 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 200739c9-8003-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm2; t=1671498641; x=1671585041; bh=dQmXzlQNbA
	lNxQz0KfETxLEGBuchpoA/a77dyYWm3FQ=; b=ZYFv88AfVgir6MuG9l5M96lTM+
	zuWtK2zrRpgJXrnNC/GnSacaInFMlrz5gBNmmfhgrx4vfNWm98tNNw+Naam2ftdb
	8Lche4uyozSj4pm8VxhjPHp/j0Qwze4qXw2j8gG+eaYsoZypwoi+HXniy/3qT7B0
	kkAatIPLWaX2nZ/uPsMIROYnN+IQZYa9QlyicHxAEyTmsumxgYL7Y+NKZnyndZv/
	PnvrNSIT12XbQnudfkzKy5SSRj6ARmhQ/hjTUEdgKuz70v9dmF4zfRQR/dIzwyUy
	lAFCDGURkeoQro7tovPwkqYiEtL2iYZMx27RlXzy1/cpiZCPaYd7hMwdj7jw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1671498641; x=
	1671585041; bh=dQmXzlQNbAlNxQz0KfETxLEGBuchpoA/a77dyYWm3FQ=; b=V
	WwUzKhnFhCUIXcR9n0Llq5y6fK7FX/YGEXJ2h7naas/DJstEqbfst8jdsOoBmrZX
	Sb+y4Ny6DT3Z4SRIP2NACv/6DDCj/a/Vww42gbS4CgwX4gm1HQPR0tDdzMdSup7X
	PTqEDSghlpg4MxWamlAfQwzi6DcxjcOF6VHuYL7TlQiCXsp7occDpTxDutyISKgV
	yr/KnNRgIRRMD2alzWhwlAblxSCuDE36Gq84gKk23n+L2u/LABmc46C8tPeoltwZ
	RVHg7CyQTP/0lAVonx/Ub6faYO1/M9G9QzC0GcnnQDumWFOxRC5AYywcAKrtqFL8
	RuwV6geJxgN4wwILU0LQA==
X-ME-Sender: <xms:kQuhY5s1kh_FfCtt8xgb26p0JfodM97RrzruFZLm0DFG3K63OSYIaQ>
    <xme:kQuhYycxROrHL7JhjsEOATINIXpov2L0lLyAPq2ZSytczPzJ8UPzgtY7UZy6r309o
    9VyL0jhEUgmaM4>
X-ME-Received: <xmr:kQuhY8xPhhxhRDR-UIA_0P3h70O8VcSjAaHSordQge1RRpYirzUg2C0SAwDNCh_JigHFnWE8q2-3>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeeggdefudcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepledukeelleejkeevkeefgefhffeg
    vdeigeelieegjefffeeiveeivdejgeevteeinecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:kQuhYwOu1I2M-f7Gq0URRqZsrTA993XaNWyXVuFG5bnuUUHX-NZXkA>
    <xmx:kQuhY5-N7LhvpfwKhuogQgU5pEsfE80JVis1YfoKtN4FeKkzRRFKqQ>
    <xmx:kQuhYwXDbzUW-4m3mrjSNnGn_HGeoZQLr4bF9dPPYRqpLIidvkmfzg>
    <xmx:kQuhY1TD2CqV8borpE1wMB1iMihBiB2A2WVUS34I0GdDHi871vRW9Q>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v5 09/10] x86/mm: Reject invalid cacheability in PV guests by default
Date: Mon, 19 Dec 2022 20:07:11 -0500
Message-Id: <64d81a49e5e00527ae01b707080f6f0e14ee667c.1671497984.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671497984.git.demi@invisiblethingslab.com>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Setting cacheability flags that are not ones specified by Xen is a bug
in the guest.  By default, inject #GP into any guest that does this.
allow_invalid_cacheability can be used on the Xen command line to
disable this check.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v4:
- Remove pointless BUILD_BUG_ON().
- Add comment explaining why an exception is being injected.

Changes since v3:
- Add Andrew Cooper’s Suggested-by
---
 xen/arch/x86/mm.c | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index a72556668633ee57b77c9a57d3a13dd5a12d9bbf..69ce597c7cd5283ae4b5f3bc0a6dfa0bb3228d3d 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -145,6 +145,8 @@
 
 #ifdef CONFIG_PV
 #include "pv/mm.h"
+bool allow_invalid_cacheability;
+boolean_param("allow_invalid_cacheability", allow_invalid_cacheability);
 #endif
 
 /* Override macros from asm/page.h to make them work with mfn_t */
@@ -1343,7 +1345,33 @@ static int promote_l1_table(struct page_info *page)
         }
         else
         {
-            switch ( ret = get_page_from_l1e(pl1e[i], d, d) )
+            l1_pgentry_t l1e = pl1e[i];
+
+            if ( !allow_invalid_cacheability )
+            {
+                switch ( l1e.l1 & PAGE_CACHE_ATTRS )
+                {
+                case _PAGE_WB:
+                case _PAGE_UC:
+                case _PAGE_UCM:
+                case _PAGE_WC:
+                case _PAGE_WT:
+                case _PAGE_WP:
+                    break;
+                default:
+                    /*
+                     * If we get here, a PV guest tried to use one of the
+                     * reserved values in Xen's PAT.  This indicates a bug in
+                     * the guest, so inject #GP to cause the guest to log a
+                     * stack trace.
+                     */
+                    pv_inject_hw_exception(TRAP_gp_fault, 0);
+                    ret = -EINVAL;
+                    goto fail;
+                }
+            }
+
+            switch ( ret = get_page_from_l1e(l1e, d, d) )
             {
             default:
                 goto fail;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 01:10:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 01:10:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466418.725383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9d-0007yK-2t; Tue, 20 Dec 2022 01:10:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466418.725383; Tue, 20 Dec 2022 01:10:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7R9c-0007xX-U3; Tue, 20 Dec 2022 01:10:48 +0000
Received: by outflank-mailman (input) for mailman id 466418;
 Tue, 20 Dec 2022 01:10:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tFeQ=4S=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p7R9b-0004T7-MT
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 01:10:47 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2163f3cf-8003-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 02:10:46 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 03E093200923;
 Mon, 19 Dec 2022 20:10:43 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Mon, 19 Dec 2022 20:10:44 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 19 Dec 2022 20:10:42 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2163f3cf-8003-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671498643; x=1671585043; bh=vPoqzj6g32+lW3ulAao0CxzhFnjnkx9j+MP
	o3++8UOA=; b=m1u8GR2Gkl9J3oa5GZw3nkVQ1u7902bz4GwiPsaorTuSZs/mC/6
	DdPB1s1TlopFgJ/GFndd8iTEC8mbyom+8TxEs75W/zjxBoZAkuMvCV1qr3KhkrhY
	TFe2KIeDYv2WyPKElQYeM0tHV8oHtUXzRiEcp3ZiY4NZ6JN6rIQsIfOdcVKHNBmO
	ntSkbco6oLEFZPmnsC2izuUdDQzu59Nj06afRh8UFwTPQzHoM5lhVNqVl4qs8KF8
	JC9DfI1AMj5ROo07eWSKcFLeDVYpKDqQ8ouhXamteDgGwieMI6uvJfYPf0tm2sL7
	frOMK4UcexKEqw9LXwRJMuBv2A05guerrnA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671498643; x=1671585043; bh=vPoqzj6g32+lW
	3ulAao0CxzhFnjnkx9j+MPo3++8UOA=; b=RG10dTwbaW7TutpHtS5Mwcdb4K29b
	K8Kjz1bcM3/9tzZ6CFtjShWh9W8xgUWQs/Lei07XnvIqfF47CZ0VafxMQfJn6Ad7
	W85aF0ytTSBx7OPlwHVqXi/PX67yn8quQvqS8/L5Y824haYi0hUNa8yCR+Ey85T4
	ZaTiARx0RvWjCxmGvYYfqsduK7LqHToasXCPWRr5/9DrRsp7xpqT6tp15NA1N42c
	eU3G7EzTaFI8GQcvPgIaNsA1f/eQqPyzr13b2to3eJfeVXbG0dXDyOIgHGkRf3d5
	WESJMYvI8YyRQ8GUoDkctWLgDQ9Rf4qSXesP/j3gNzNPcy1ia6fy1H6jA==
X-ME-Sender: <xms:kwuhY-uek8EHjYuSYYrlJcQl4v9p_1_cDKks6sNd7BA-2tu6l7pYbA>
    <xme:kwuhYzfoO5_NTzGcKm75sRAIYbOXg2tbXEbnZxOyN6uI8qEO2H2JLwkThB1cX18gq
    p0wmmesv1o5ngs>
X-ME-Received: <xmr:kwuhY5yhN1sjHOZkfZEPq7Q34ZZ7UzoqswQKtDp8nAc9Scwt8yVORCyWBCByuuT6h96mmACAYsw1>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeeggdefudcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeejffejgffgueegudevvdejkefghefg
    hffhffejteekleeufeffteffhfdtudehteenucevlhhushhtvghrufhiiigvpeegnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:kwuhY5NjlVpg-xmk70FEQ19-I2pKUfQoBQLMz3vbbtNMDbiKa9x1nA>
    <xmx:kwuhY-872Ur2eqERXRItDqLE4nSbHPrMi9dNnaFTe-hKzeYq-JdugQ>
    <xmx:kwuhYxXbkQ2x40Tl5dqA91Rp7WfgxqgbYyAmaIGDOv4ha6m3vpvVmw>
    <xmx:kwuhYyQpworOn7WNsAMO9yfhMyEkcarf3Vj-mK5gkA8hrKJ4wM9Vrw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v5 10/10] x86: Use Linux's PAT
Date: Mon, 19 Dec 2022 20:07:12 -0500
Message-Id: <17b2c9baa3a561919354c2fcb77c0873df9715b7.1671497984.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671497984.git.demi@invisiblethingslab.com>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is purely for testing, to see if it works around a bug in i915.  It
is not intended to be merged.

NOT-signed-off-by: DO NOT MERGE
---
 xen/arch/x86/include/asm/page.h      |  4 ++--
 xen/arch/x86/include/asm/processor.h | 10 +++++-----
 xen/arch/x86/mm.c                    |  8 --------
 3 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/include/asm/page.h b/xen/arch/x86/include/asm/page.h
index b585235d064a567082582c8e92a4e8283fd949ca..ab9b46f1d0901e50a83fd035ff28d1bda0b781a2 100644
--- a/xen/arch/x86/include/asm/page.h
+++ b/xen/arch/x86/include/asm/page.h
@@ -333,11 +333,11 @@ void efi_update_l4_pgtable(unsigned int l4idx, l4_pgentry_t);
 
 /* Memory types, encoded under Xen's choice of MSR_PAT. */
 #define _PAGE_WB         (                                0)
-#define _PAGE_WT         (                        _PAGE_PWT)
+#define _PAGE_WC         (                        _PAGE_PWT)
 #define _PAGE_UCM        (            _PAGE_PCD            )
 #define _PAGE_UC         (            _PAGE_PCD | _PAGE_PWT)
-#define _PAGE_WC         (_PAGE_PAT                        )
 #define _PAGE_WP         (_PAGE_PAT |             _PAGE_PWT)
+#define _PAGE_WT         (_PAGE_PAT | _PAGE_PCD | _PAGE_PWT)
 
 /*
  * Debug option: Ensure that granted mappings are not implicitly unmapped.
diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 60b902060914584957db8afa5c7c1e6abdad4d13..3993d5638626f0948bb7ac8192d2eda187eb1bdb 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -94,16 +94,16 @@
 
 /*
  * Host IA32_CR_PAT value to cover all memory types.  This is not the default
- * MSR_PAT value, and is an ABI with PV guests.
+ * MSR_PAT value, and is needed by the Linux i915 driver.
  */
 #define XEN_MSR_PAT ((_AC(X86_MT_WB,  ULL) << 0x00) | \
-                     (_AC(X86_MT_WT,  ULL) << 0x08) | \
+                     (_AC(X86_MT_WC,  ULL) << 0x08) | \
                      (_AC(X86_MT_UCM, ULL) << 0x10) | \
                      (_AC(X86_MT_UC,  ULL) << 0x18) | \
-                     (_AC(X86_MT_WC,  ULL) << 0x20) | \
+                     (_AC(X86_MT_WB,  ULL) << 0x20) | \
                      (_AC(X86_MT_WP,  ULL) << 0x28) | \
-                     (_AC(X86_MT_UC,  ULL) << 0x30) | \
-                     (_AC(X86_MT_UC,  ULL) << 0x38))
+                     (_AC(X86_MT_UCM, ULL) << 0x30) | \
+                     (_AC(X86_MT_WT,  ULL) << 0x38))
 
 #ifndef __ASSEMBLY__
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 69ce597c7cd5283ae4b5f3bc0a6dfa0bb3228d3d..c536f7807a418c160366c22b6c4f937a5023f14b 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6387,14 +6387,6 @@ unsigned long get_upper_mfn_bound(void)
  */
 static void __init __maybe_unused build_assertions(void)
 {
-    /*
-     * If this trips, any guest that blindly rely on the public API in xen.h
-     * (instead of reading the PAT from Xen, as Linux 3.19+ does) will be
-     * broken.  Furthermore, live migration of PV guests between Xen versions
-     * using different PATs will not work.
-     */
-    BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL);
-
     /*
      * _PAGE_WB must be zero for several reasons, not least because Linux
      * assumes it.
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 02:08:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 02:08:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466503.725394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7S3S-0007ik-Iz; Tue, 20 Dec 2022 02:08:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466503.725394; Tue, 20 Dec 2022 02:08:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7S3S-0007id-Fl; Tue, 20 Dec 2022 02:08:30 +0000
Received: by outflank-mailman (input) for mailman id 466503;
 Tue, 20 Dec 2022 02:08:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7S3Q-0007iT-TQ; Tue, 20 Dec 2022 02:08:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7S3Q-0000fG-Qy; Tue, 20 Dec 2022 02:08:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7S3Q-0005wL-8p; Tue, 20 Dec 2022 02:08:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7S3Q-00050A-8L; Tue, 20 Dec 2022 02:08:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tlgnKUosFkCH6HlCvk7B/uQrRa5BslO7u0XrhonrkzE=; b=hwt7dOI/OfvaegU51jV88MqMUD
	AdXGhWNLhe4jBmz0HI/ZLEZBBkpQrdMSQ5327sZs2Hv7BNjw42+IxrbsjEFoGh0kLlRE9LP9tMn1c
	08ojW+j6243tEk4G5mIp+PTpTE2pCoZnIjb8Ts9eF83PZ5wG2KoWYgAWq66ZPHRN7kNQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175415-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175415: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f1b9a28922d2913dda76fd82b0b79f3651d3fc8d
X-Osstest-Versions-That:
    xen=5f05b229319e25aa7f35735bba060ddbeb325872
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 20 Dec 2022 02:08:28 +0000

flight 175415 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175415/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  f1b9a28922d2913dda76fd82b0b79f3651d3fc8d
baseline version:
 xen                  5f05b229319e25aa7f35735bba060ddbeb325872

Last test of basis   175409  2022-12-19 16:01:59 Z    0 days
Failing since        175413  2022-12-19 20:02:07 Z    0 days    2 attempts
Testing same since   175415  2022-12-19 23:02:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Edwin Török <edvin.torok@citrix.com>
  Edwin Török <edwin.torok@cloud.com>
  Michal Orzel <michal.orzel@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   5f05b22931..f1b9a28922  f1b9a28922d2913dda76fd82b0b79f3651d3fc8d -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 04:04:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 04:04:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466513.725404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Tr3-0002Zf-OX; Tue, 20 Dec 2022 04:03:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466513.725404; Tue, 20 Dec 2022 04:03:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Tr3-0002ZY-Lb; Tue, 20 Dec 2022 04:03:49 +0000
Received: by outflank-mailman (input) for mailman id 466513;
 Tue, 20 Dec 2022 04:03:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Tr2-0002ZM-03; Tue, 20 Dec 2022 04:03:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Tr1-0003Tp-Ot; Tue, 20 Dec 2022 04:03:47 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Tr1-0005QA-AY; Tue, 20 Dec 2022 04:03:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7Tr1-00032C-9L; Tue, 20 Dec 2022 04:03:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=d/4FUQZJrAh55wxYpwE/m66UmL+Mj71la+CAIOPdXYs=; b=Ejr1W/SkScKcNYraOYiA8gjfds
	6qgU+udVkhPxdwUpxdzdPqGsBPHlgd5A/xjVO0z+uj7nfYeePaB47RYMgYqoyDsUk0PGElQVsEFi9
	aMbgx6E/vV5nv5KtelHDgDUTmRyRJ1bN/VCe5bqxHWPWjuIfdNLYXgnwBFjQN525o+rU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175407-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175407: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:regression
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:regression
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 20 Dec 2022 04:03:47 +0000

flight 175407 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175407/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>                 broken
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>               broken
 test-amd64-amd64-xl-credit2     <job status>                 broken
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>                 broken
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken REGR. vs. 175197
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken REGR. vs. 175197
 test-amd64-i386-xl-qemuu-ws16-amd64  5 host-install(5) broken REGR. vs. 175197
 test-amd64-amd64-xl-credit2   5 host-install(5)        broken REGR. vs. 175197
 test-armhf-armhf-xl-multivcpu 14 guest-start             fail REGR. vs. 175197

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z    5 days
Testing same since   175407  2022-12-19 11:42:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    broken  
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          broken  
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  broken  
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         broken  
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-step test-amd64-amd64-xl-qemut-debianhvm-amd64 host-install(5)
broken-step test-amd64-i386-qemuu-rhel6hvm-intel host-install(5)
broken-step test-amd64-i386-xl-qemuu-ws16-amd64 host-install(5)
broken-step test-amd64-amd64-xl-credit2 host-install(5)

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 06:22:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 06:22:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466523.725416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7W0X-0008B0-IQ; Tue, 20 Dec 2022 06:21:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466523.725416; Tue, 20 Dec 2022 06:21:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7W0X-0008At-FR; Tue, 20 Dec 2022 06:21:45 +0000
Received: by outflank-mailman (input) for mailman id 466523;
 Tue, 20 Dec 2022 06:21:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7W0W-0008Aj-BI; Tue, 20 Dec 2022 06:21:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7W0W-00076k-7D; Tue, 20 Dec 2022 06:21:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7W0V-0005XU-R0; Tue, 20 Dec 2022 06:21:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7W0V-0003FB-Qb; Tue, 20 Dec 2022 06:21:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QWixe2GuXxrepNF1ctFrxOtlSoaryk+EKcBz/zr34B4=; b=lU3Hss459rqGmvwL1LEzu1Trhk
	Leu8zYu+UEMk3ShoaMUTaEly+DOoX0CE06uDRjkG7yC5i2XgPXiFUeSC7nVLQv8GsjOCnzxapGwxI
	tWHnSkUfcIi9e0b6wqNwz+j0Yx/mYcjVt0M7Uo/iAoMHul1vd09Ir+jsL1o7zhG6RO00=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175416-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175416: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=5fb3f5723a1ea9d9a93e317181e1c11468a9eb45
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 20 Dec 2022 06:21:43 +0000

flight 175416 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175416/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 5fb3f5723a1ea9d9a93e317181e1c11468a9eb45
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    5 days
Failing since        175214  2022-12-14 18:42:16 Z    5 days   34 attempts
Testing same since   175410  2022-12-19 17:12:34 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Kuo, Ted <ted.kuo@intel.com>
  MarsX Lin <marsx.lin@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Ted Kuo <ted.kuo@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 656 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 06:40:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 06:40:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466535.725427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7WIn-0002CG-9M; Tue, 20 Dec 2022 06:40:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466535.725427; Tue, 20 Dec 2022 06:40:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7WIn-0002C9-6P; Tue, 20 Dec 2022 06:40:37 +0000
Received: by outflank-mailman (input) for mailman id 466535;
 Tue, 20 Dec 2022 06:40:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7WIl-0002Bz-OE; Tue, 20 Dec 2022 06:40:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7WIl-0007V5-JH; Tue, 20 Dec 2022 06:40:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7WIl-0006dV-3r; Tue, 20 Dec 2022 06:40:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7WIl-00072v-0e; Tue, 20 Dec 2022 06:40:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BNyPE8IZpI8wnQ2c9akjbQojuSbaCwcxNHKOYJYFvsw=; b=F555BoJQqGc/3jK9Qx8Em/8tHt
	iLKbvsuYb2fRs4Tg2gXPNao5CfkIdYYPTBJwjdEKY8gK10E3tP/1WYOKLyyx7SGcCAc0lSc5dbWP9
	TcCBKbRWBKUzPd8PiUvDuVmi427yWxjujKfVyXNgWz39oJPl33t4MPttVIfgWKCpnM28=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175408-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175408: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-pair:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-pvshim:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-pvshim:host-install(5):broken:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:host-install(5):broken:regression
    xen-unstable:test-amd64-i386-pair:host-install/src_host(6):broken:regression
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:regression
    xen-unstable:test-amd64-amd64-examine-uefi:host-install:broken:regression
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:regression
    xen-unstable:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:regression
    xen-unstable:test-amd64-amd64-examine-uefi:memdisk-try-append:fail:allowable
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=da5092e7d6ed4714b5dc63ed2cd7f6c93dd6efd4
X-Osstest-Versions-That:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 20 Dec 2022 06:40:35 +0000

flight 175408 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175408/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-pair            <job status>                 broken
 test-amd64-i386-xl-pvshim       <job status>                 broken
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm    <job status>             broken
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm    <job status>    broken
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm    <job status>   broken
 test-amd64-i386-xl-pvshim     5 host-install(5)        broken REGR. vs. 175399
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken REGR. vs. 175399
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 5 host-install(5) broken REGR. vs. 175399
 test-amd64-i386-pair        6 host-install/src_host(6) broken REGR. vs. 175399
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken REGR. vs. 175399
 test-amd64-amd64-examine-uefi  5 host-install          broken REGR. vs. 175399
 test-amd64-amd64-xl-qcow2   21 guest-start/debian.repeat fail REGR. vs. 175399
 test-amd64-i386-xl-vhd      21 guest-start/debian.repeat fail REGR. vs. 175399

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-examine-uefi  4 memdisk-try-append      fail REGR. vs. 175399

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175399
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175399
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175399
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175399
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175399
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175399
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175399
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175399
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175399
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  da5092e7d6ed4714b5dc63ed2cd7f6c93dd6efd4
baseline version:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2

Last test of basis   175399  2022-12-19 01:53:26 Z    1 days
Testing same since   175408  2022-12-19 15:38:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Neowutran <xen@neowutran.ovh>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        broken  
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         broken  
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  broken  
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         broken  
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    broken  
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-pair broken
broken-job test-amd64-i386-xl-pvshim broken
broken-job test-amd64-i386-xl-qemut-debianhvm-i386-xsm broken
broken-job test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm broken
broken-job test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm broken
broken-step test-amd64-i386-xl-pvshim host-install(5)
broken-step test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm host-install(5)
broken-step test-amd64-i386-xl-qemut-debianhvm-i386-xsm host-install(5)
broken-step test-amd64-i386-pair host-install/src_host(6)
broken-step test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm host-install(5)
broken-step test-amd64-amd64-examine-uefi host-install

Not pushing.

------------------------------------------------------------
commit da5092e7d6ed4714b5dc63ed2cd7f6c93dd6efd4
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 19 11:35:25 2022 +0100

    NUMA: replace phys_to_nid()
    
    All callers convert frame numbers (perhaps in turn derived from struct
    page_info pointers) to an address, just for the function to convert it
    back to a frame number (as the first step of paddr_to_pdx()). Replace
    the function by mfn_to_nid() plus a page_to_nid() wrapper macro. Replace
    call sites by the respectively most suitable one.
    
    While there also
    - introduce a !NUMA stub, eliminating the need for Arm (and potentially
      other ports) to carry one individually,
    - drop the (strictly speaking wrong) "pure" attribute from the function,
    - extend a condition in dump_numa() to make sure that none of the
      assertions would trigger for empty or (unlikely) single-page nodes (at
      the same time this also prevents the warning printk() to be issued for
      every empty [e.g. CPU-only] node).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Julien Grall <jgrall@amazon.com>

commit ad15a0a8ca2515d8ac58edfc0bc1d3719219cb77
Author: Neowutran <xen@neowutran.ovh>
Date:   Mon Dec 19 11:34:16 2022 +0100

    x86/time: prevent overflow with high frequency TSCs
    
    Make sure tsc_khz is promoted to a 64-bit type before multiplying by
    1000 to avoid an 'overflow before widen' bug. Otherwise just above
    4.294GHz the value will overflow. Processors with clocks this high are
    now in production and require this to work correctly.
    
    Signed-off-by: Neowutran <xen@neowutran.ovh>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 573279cde1c4e752d4df34bc65ffafa17573148e
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Dec 19 11:24:14 2022 +0100

    x86/vmx: implement Notify VM Exit
    
    Under certain conditions guests can get the CPU stuck in an unbounded
    loop without the possibility of an interrupt window to occur on
    instruction boundary.  This was the case with the scenarios described
    in XSA-156.
    
    Make use of the Notify VM Exit mechanism, that will trigger a VM Exit
    if no interrupt window occurs for a specified amount of time.  Note
    that using the Notify VM Exit avoids having to trap #AC and #DB
    exceptions, as Xen is guaranteed to get a VM Exit even if the guest
    puts the CPU in a loop without an interrupt window, as such disable
    the intercepts if the feature is available and enabled.
    
    Setting the notify VM exit window to 0 is safe because there's a
    threshold added by the hardware in order to have a sane window value.
    
    Note the handling of EXIT_REASON_NOTIFY in the nested virtualization
    case is passed to L0, and hence a nested guest being able to trigger a
    notify VM exit with an invalid context would be able to crash the L1
    hypervisor (by L0 destroying the domain).  Since we don't expose VM
    Notify support to L1 it should already enable the required
    protections in order to prevent VM Notify from triggering in the first
    place.
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Kevin Tian <kevin.tian@intel.com>

commit d329b37d12132164c3894d0b6284be72576ef950
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Dec 19 11:23:34 2022 +0100

    x86/vmx: introduce helper to set VMX_INTR_SHADOW_NMI
    
    Introduce a small helper to OR VMX_INTR_SHADOW_NMI in
    GUEST_INTERRUPTIBILITY_INFO in order to help dealing with the NMI
    unblocked by IRET case.  Replace the existing usage in handling
    EXIT_REASON_EXCEPTION_NMI and also add such handling to EPT violations
    and page-modification log-full events.
    
    Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Kevin Tian <kevin.tian@intel.com>

commit f7d07619d2ae0382e2922e287fbfbb27722f3f0b
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Dec 19 11:22:43 2022 +0100

    x86/vmx: implement VMExit based guest Bus Lock detection
    
    Add support for enabling guest Bus Lock Detection on Intel systems.
    Such detection works by triggering a vmexit, which ought to be enough
    of a pause to prevent a guest from abusing of the Bus Lock.
    
    Add an extra Xen perf counter to track the number of Bus Locks detected.
    This is done because Bus Locks can also be reported by setting the bit
    26 in the exit reason field, so also account for those.
    
    Note EXIT_REASON_BUS_LOCK VMExits will always have bit 26 set in
    exit_reason, and hence the performance counter doesn't need to be
    increased for EXIT_REASON_BUS_LOCK handling.
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Kevin Tian <kevin.tian@intel.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:19:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:19:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466548.725438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7XqU-0003Zc-MU; Tue, 20 Dec 2022 08:19:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466548.725438; Tue, 20 Dec 2022 08:19:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7XqU-0003ZV-JG; Tue, 20 Dec 2022 08:19:30 +0000
Received: by outflank-mailman (input) for mailman id 466548;
 Tue, 20 Dec 2022 08:19:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7XqS-0003ZK-Pp
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:19:29 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2073.outbound.protection.outlook.com [40.107.7.73])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03b1e9b8-803f-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 09:19:27 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8222.eurprd04.prod.outlook.com (2603:10a6:102:1bd::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 08:19:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 08:19:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03b1e9b8-803f-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=moCCgHycgASczPoQ2Wl9c/jMF30MYuz+ehT9ugQ4h/D+y+q9Djv436nRLMVeWeU9OtmVebomCqcNLy3nQCg+UEnH0Ns5d28hCuzWkCIO1Kc0bdVjnryKR7bg7PAdjvrgu+oN/H8Nmw8Ld6YYtkKJWaxmf6zxt4vlzi+rSYBkI69bnkIeXGqTn8Xbv9xd8RaTpBfLTBvqwq4PR1QSW7cM40c+T2KkLdW5WwaQ2IcBmXdfvVNpIATOgxewduWPIQ3afSi6sIzwux7xF7HqRAjjV6KPoN/hhwmbjMmN1k28vFbblBDe+1gurEyynBKtq2a5l+ElkQiNzIQUewz7QXlBtQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t057cBvtoX9Bcp+XsA4S9V0+RYiRtMjFHvEdRjAfZDs=;
 b=iNLit5xIygPXeVVkYKkJWoQWgWWy0tuRPYYxyljs1wzeaHuC87UolnYnh6Lzn+QiiC7zQ6Qt4omHYVnIquaRguiA/kYDuysVjp106I+24YPygTjrVMJ1WcnfQWwv6JLNRRE8bNkXQFMTNb1NNz6tLk69EvMLlqYB2FiLtANa0yJtEWZSowAHONdw1qJcAsFIJD7j5JbdIzu1H7uSFXO7c9WcJ8XPmvdxsHSRsrNLU5sfTwGJE26wnVl31b/KQ9XBT8dl73Ymi0OZUoua8Kh7a1dNniQQWGT6YbwdXkvju9MsQB811IeCHug9M4pb2Pcxhttt/mQSO89yvYS/9J2YTg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t057cBvtoX9Bcp+XsA4S9V0+RYiRtMjFHvEdRjAfZDs=;
 b=SqaUcr5FIdfvvqVqQ0tbW2mjeW3UmgbkqPGm/KsnbVjzFq3x4UwKGbe3Q3psBlmc/1ztafpRgSNmjhrSypZiQ2wBF2ihyNmbjNWM0slKrbpvbU87hTeSDlhSmTeGMxwyAxiBTmTjTOj7H8F9UpreGvFTiuR5Nr7ddG0cInyfEjIKVHNgr/MuOmmnH7UXrqVnsevq5UpyiOuqJ6tR7WaKKU7sba3rXHLvMpeCqauCHTDf8i2PZD2DT0xBX6Hpriw/MwL6ieI2bOatYCohtEdJ0Wyq/JrmID3bK2Ac46dJqD65kAaRbRYFtOgfc2OzGayX51+Liev+2lorwUHeC7SpAw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <98839620-d058-5088-da3d-4d200d70b003@suse.com>
Date: Tue, 20 Dec 2022 09:19:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v5 02/10] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <0026e56a0c91cb0dde9fe19200f473d720a9a950.1671497984.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0026e56a0c91cb0dde9fe19200f473d720a9a950.1671497984.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0023.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8222:EE_
X-MS-Office365-Filtering-Correlation-Id: 96a5222c-5cab-4f1a-79ab-08dae262e6db
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/nIi3oUEZKdO/m7qxWO9UOvydh9UaLjJhBv2nmbLFUS81rOguzkBgNofzXNlhC4envj1WywYjssEZt3SaYO8gIdOkf67EYRbQ8Ix7r4MQ3REvxG1Ci2W8XlqddciFCpuEn4SWuI1Pxb4K8nCsKym7VSPh8WkIsd91XpmAGJQk1Cg8aJ6GhVnAPRKzdO0jWkTci8eaJE2GJZaNFM4J9cjVuUwA3LAfx2TqhIxjpV9KPjoyZg2czst1pjqDq8uQHoTUSOiuTass7A/msEgLMhMCkEes8DZxq+eJpXOf6JSgT81H01RbxfYRChGX20b3Y+u7O8XfsJEV7NCleV7f/0BCqBvyWw60h0uv3j+1TZ9agsF8XvXVrudWtBLfJJOsexXJ6aldt0I8mKbQhmFjzSBmxYNu7EF5Hyn7iXF1LakrdfXgxhfCCVWl3/kXzANKPoUIxrSnPlgkHBfmU6zj/uxiv9A4IV3ZEPk9KrMEAYspefB53gCqfm6KfqaZVYrsdy2ikFH7wmqTwFNa4MTIBrbcjNrWZPW+5weoANQcEkPlKqCh57z697j6BU12V48UeexajGMwIhza3i1Ds0GdgFgLy9wV/Vzjftjovc1UhJLumzJEo/XbOOYAvLSq27qIsztj5V0AutVioWIWHeS0Gz50D7o1+cx0JLUjngh79GCPUnL9wTYClYI+NH8tHhmmZu3hTUd+j3o+7TlfzWjAydptKZs+LDCDd8zG2BgNg9pULo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(39860400002)(376002)(366004)(346002)(136003)(451199015)(8676002)(2906002)(31696002)(86362001)(4326008)(186003)(83380400001)(66476007)(6512007)(41300700001)(478600001)(66946007)(2616005)(6486002)(54906003)(316002)(38100700002)(6506007)(7416002)(5660300002)(8936002)(26005)(66556008)(6916009)(53546011)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cnVMOWlLbWpjWUthS3dMQlFFZjlSY1ZKbWd4em13OC82THJoWHBZYXBLalNs?=
 =?utf-8?B?YWpncFM2dVBJRnJiNkRhRWxvWGwzM0xSVjBucmovSDNwVVdUV0hMam9ZYWlk?=
 =?utf-8?B?TVRQd2FWcy9FRG5kaEx6T3FVWnRiaXZVWWZvU3lhL1BGbGVCUmxvMkRsRXRq?=
 =?utf-8?B?Z0FJOURZT0l6emtSc1Eyd3U1ZEVDQmJBZmlXKzd5ZndTMjJFSTVVQWRRUGx1?=
 =?utf-8?B?TjJGTVc2Q1ZmOTg2OFFqREl5RDExSmxTMmlBTnBua1FVa01RaUZVeDRMeHR5?=
 =?utf-8?B?cWxTcGZJWXlrYlVoRUpwTkgyZG9CUzNrMnErYVpmdnVmblduWnM1TXFsckIv?=
 =?utf-8?B?clJtVnZpMC9ybVhYa2NCRTB2blZXUG9WSDV2dmZsSEEzYTlJL2ZsMDRRa1lt?=
 =?utf-8?B?SUU3ODdlWGRNcERBOExWVDB5WHI4cmkvcW13SGdpSHNyT3UrQkRlQ3ZvNnBB?=
 =?utf-8?B?UVJoN0hrVmhOU1dpdHJFNFZVNGpZdy9RVEV0ZnVUZDVrdU9BU3NGZjFzdnNB?=
 =?utf-8?B?NHYyN1Q3Z3I3dnR6Uyt4b2dwSEhVbCthTDhkR2FteGNMaHBabkh4VUlXNEdB?=
 =?utf-8?B?UklVMFVsMFBKbytQS1d4MWxBb0VEUFBDT1VPM2ovdTczRkh4VWJtYUpOQ1Jk?=
 =?utf-8?B?OHhFUnV2L1dQVlVMK2pzRzhSelB2YlRYdklHWjhrdXB6VzB3WFJBSkJkTk43?=
 =?utf-8?B?M3VXc3FJTTFITGR1aWZxRUNUVG5hZHlFVXV3RGpJMnJSa3gvQmJJU0Fka0Vx?=
 =?utf-8?B?QVhEeW1xOXhPTUxLNlZQYlpuNS9vVEsxd1Awdm9yaEVLVXNUaVE3Ulc0amY4?=
 =?utf-8?B?aEZlY1IxUi8vZHFYV1RkQWF0UVkwNkswb2tFME5pdXppRTB3OU1pZ1RPbzVa?=
 =?utf-8?B?ZzNrMjkxT2VmTDlTZFdmTGdlYk1oZWFDRzFvcUp4ZG9wZklCb3dJWHIrUVE3?=
 =?utf-8?B?aGhtM2lKS0o0eUlLWG9sNU5CV05yRjF4RTlIcGNUNDdJT2VVOHVUYndrTWkw?=
 =?utf-8?B?NGM2RWpDekVyckR1NVN5aXJldmdVdEZhRmVkUk1GR1RrSjg1SDM3L3FMdkxQ?=
 =?utf-8?B?T1ZhK01DZ0QzSG41YlA3Tys2T2tZYlpZamlaRVJWN2hNR01DaTlKaEpKNHhj?=
 =?utf-8?B?bEJ0a3pqVHFTWXpMeUlIbzJZVnRNN2hIRDd1cUxnRHJYa0hpcGh3NjJtMG9q?=
 =?utf-8?B?ejBHUitLVXIwVFRLMFNRSHFMYnM4RDZnNjJydE9zWHhNQ0JTcDVISGZnVDgw?=
 =?utf-8?B?ZVRMS3ZVTytaTHZLbFN3ZDd2RXZrcTNJUDYxVWZydlRhK0x0WlppcmtGRHla?=
 =?utf-8?B?Z1RWZlh2aWdIaVZxWFBnZmpkNVIzYWpudGxya3pOVUkwN1U4N1hoanh6YzF0?=
 =?utf-8?B?NTFvNWxuZlVSTEcwTSt2SEZjekpUZUdaOUk5UUtNa0xRcEw4ZHVoYnNBL2pa?=
 =?utf-8?B?bkNSQXkvYnJINlptQ1doSWw1ZHNUVEpOcEhBWmFwRkNjby9UMnVJQlZ0ZjhE?=
 =?utf-8?B?TlhodUpRQktIamxBbVEvTVhvSW1Pbnc3NWRTejJQNWpwdTFnTkNsVisrVCsx?=
 =?utf-8?B?Vm5NL3R6TGRoSitjcTZkdFpTNEUxTVJFenljTDkzdHcwR09BYitzbmM3WlZi?=
 =?utf-8?B?NGM5Wk5jeW9EektZeVBLK2hTdmh6QTNDdlRFZnp5UkVSOERyYmkxUFk2QmtS?=
 =?utf-8?B?NEZ0RUphb2hRR1BnRlgwK2VUV1g4aThRclBGRjhnS0FzNUQyWXdDNzh4T1JI?=
 =?utf-8?B?eXB3a2w5TnMwaEJTeWs1anFJaU8veXlGWFlJQTFJN2huNzZ2dVhETGcycFdX?=
 =?utf-8?B?SDh1bGp1TXFPbkxxUG44WWVZaS9qblJIZ2NWb0U0K0o5ZXlvV3VwTjI0dC83?=
 =?utf-8?B?VEZGa1Q5L0dLL2VBVGh3MGVyTFhhL3VMZnczWW1rT0dBOHdOdGsybFBaV0pD?=
 =?utf-8?B?RUU5Nyt6KzB3eXJtWnpQc2ptVlc5YnZXVWdGc3BaZ0Q3c0JUanZkL05LcEtw?=
 =?utf-8?B?T2JWc3ZUcWQ2ejVIcldsU24wRTlxdGNxUTBGMElCRHAybTVkYXI3NUhoL3pW?=
 =?utf-8?B?TFlKR0pEWUVQU0xsWnpGdm5ielRTUCtYaDBNdUtTYmJzZ3llcm9td2R4aHFX?=
 =?utf-8?Q?0uA8qKfW7/AlgiA3nyQmXVGCS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 96a5222c-5cab-4f1a-79ab-08dae262e6db
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 08:19:23.6193
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: b6OWDjxCrOKsAFSxBEwxPnkf8Pq+KR8xB0biaS170ZLQ8dgOoMrVed1pq9hwpfGh36W4YwylFReCAsPUY5he5g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8222

On 20.12.2022 02:07, Demi Marie Obenour wrote:
> get_page_from_l1e() relied on Xen's choice of PAT, which is brittle in
> the face of future PAT changes.  Instead, compute the actual cacheability
> used by the CPU and switch on that, as this will work no matter what PAT
> Xen uses.
> 
> No functional change intended.  This code is itself questionable and may
> be removed in the future, but removing it would be an observable
> behavior change and so is out of scope for this patch series.
> 
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> ---
> Changes since v4:
> - Do not add new pte_flags_to_cacheability() helper, as this code may be
>   removed in the near future and so adding a new helper for it is a bad
>   idea.
> - Do not BUG() in the event of an unexpected cacheability.  This cannot
>   happen, but it is simpler to force such types to UC than to prove that
>   the BUG() is not reachable.
> 
> Changes since v3:
> - Compute and use the actual cacheability as seen by the processor.
> 
> Changes since v2:
> - Improve commit message.
> ---
>  xen/arch/x86/mm.c | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> index 78b1972e4170cacccc9c37c6e64e76e66a7da87f..dba6c77ef2f7ed7fcb7f7e526583ccadd35e62cc 100644
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -959,14 +959,16 @@ get_page_from_l1e(
>              flip = _PAGE_RW;
>          }
>  
> -        switch ( l1f & PAGE_CACHE_ATTRS )
> +        switch ( 0xFF & (XEN_MSR_PAT >> (8 * pte_flags_to_cacheattr(l1f))) )
>          {
> -        case 0: /* WB */
> -            flip |= _PAGE_PWT | _PAGE_PCD;
> +        case X86_MT_UC:
> +        case X86_MT_UCM:
> +        case X86_MT_WC:
> +            /* not cacheable */
>              break;
> -        case _PAGE_PWT: /* WT */
> -        case _PAGE_PWT | _PAGE_PAT: /* WP */
> -            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
> +        default:
> +            /* cacheable */
> +            flip |= ((l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC);
>              break;

In v4 the comment here was "cacheable, force to UC". The latter aspect is
quite relevant (and iirc also what Andrew had asked for to have as a
comment). But with this now being the default case, the comment (in either
this or the earlier form) would become stale. A forward compatible way of
wording this would e.g. be "force any other type to UC". With an adjustment
along these lines (which I think could be done while committing)
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:21:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:21:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466558.725449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7XsW-0004yw-99; Tue, 20 Dec 2022 08:21:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466558.725449; Tue, 20 Dec 2022 08:21:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7XsW-0004yp-6D; Tue, 20 Dec 2022 08:21:36 +0000
Received: by outflank-mailman (input) for mailman id 466558;
 Tue, 20 Dec 2022 08:21:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7XsV-0004yh-4r
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:21:35 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on2074.outbound.protection.outlook.com [40.107.8.74])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 504fed9c-803f-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 09:21:34 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8800.eurprd04.prod.outlook.com (2603:10a6:102:20f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 08:21:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 08:21:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 504fed9c-803f-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RW2zbu2YPEY4LrgWl5edc0DDmGDSP/i3dZhidpY8PljDaphnUPiVjbbLZXC6wWMg6nVI710BUez4ZBKAb+4HCej9ufloh8pjD2jEcRanEk15asKTSEuWnim1q6vahAVwUC9VWmmJSaXtF/8NmCpJN2hskpxhmjQ35oWSkKUht67NCg0ocSBrixSVftZnkLkqd0B5x7w2GuZ4FR3qFWs79uuh9hB3vNq4raoGg8BkgSnMNSFikfdyOy7g33nYYEfxco+KXfn4gaYV1GqeGBS1DsDlr28zaDj0cHW6Jw7WNaUfGUaWI+3anWbZiowdW43elraH9kulTgDPPGMaIn8Y0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6pi9VGS7s4NIxT8qaknmJrskqXWDWJZzaqJmKN3pSUY=;
 b=TvNOPhDKFTWTvR9o08aUu3WUjCtY4UptuKVOkbj/Mzfk6Pvcw4mgDM04AZlxLUGh9reEQFFGy5msIIJOZi+2Vu3KqeudFnRNzJU+lsf2zn6Co6blVcFgEkGruHk571eGbHPEt9jA2sJqOFE4bINkUs4i/j1Ve2teiSuJK4bf1arogUlMbz6tZyg/M2I7BfC+GePalshsYrHHgPS8i8MPJplSILl7EQ/GhCrZSud65Hdt/k4whZlJIbshWHxp4q87uvaBke6MDYjM8E3m15I40qc6JCvkScZO5Yqfkc1Q32jCQKerPSzdal0NQDh7yH/VE34vtkT93paSpkCmsiZj6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6pi9VGS7s4NIxT8qaknmJrskqXWDWJZzaqJmKN3pSUY=;
 b=y1bJj61sSusHMB+heV5ZRkkcfDcBO7BnK7m81w9jQSn9B8o3nKHGUueGzFH9zIDeX7MxWhFjmTPB1fOiE52aV2VjHRL/cGg91Bd/zWsslCWSlyPZY1IrS41ybJm/Rycbk5swxEMfOpAVe1ay72SHWex8nl1Nu5gwBtMwQg6LeYKmYzfkoeR7lXTfnIMqAVB2PELGf8uIlM0UvNX57boPAPznrstPsToofF16laLXJrdQnvZh2yq4UvUdTA/UVLzbYuDXTTvxCNzrLMNrAIQH0o48aAB2OyrqTODr78WtInJNWjDv4EGZuvc17i7OssDTSLHTI2gd26QwprihR979cg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f2780958-26e7-ad23-8e9d-ee09ef2da73a@suse.com>
Date: Tue, 20 Dec 2022 09:21:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v5 05/10] x86: Replace EPT_EMT_* constants with X86_MT_*
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <4b5f6b6bcc4ed00db6b5f4c6def68606c190a74e.1671497984.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4b5f6b6bcc4ed00db6b5f4c6def68606c190a74e.1671497984.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0081.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8800:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b6291f0-3073-4fff-4fcd-08dae263337b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bpBtnv1/nSefpgJ+gFeoAkDhk+A1mdJ8B68+IEiS60VuoRVbxQXQZHBSIDxaqffV1dnbMx8+E5SEJ1UNEyOXwiEBNUwXXewu2zKFaHon0qSwCrn8N+3qZ7FU18ruoy0C5nZa1Y2dQTOuaYHUwdaTfqUhkq6UM1ptCA4X6g7Yh4Za1td15wkPNBdbV0XGF1ck/mOR9dgExtvFHLQyvfV5qPTOoSKjvC1UjlpQXKNLE/x/wo12pZjoI4BuXiaMegdujnzOuHsKjclZt0uc8BkD3UbRV5cNTbx137st5PlDniG5H5wGAlUmB5P4vxN/X4iCygUOwdNwQazVtppjFR7MIvrKsb5bSQTJFTlN62AC++hFfF/EDDZme3TTRFRpbMIvSRF1Nbg/THeFN/c1XlmMS+/zSBC/hlyA0QmN+iaAPT4zMWu9Cyv46iO6KejbVJeQyhLqYL6mOZ+CtyL4D22qxjlkdAZowIR4sMfVhwWDJDHhkvbnj/HtzGXzQJe/BWRyIjpPyPPI+UpvFFkc5TFIcUDSx7zCzGVOMBs/3IaMqelBA+APlIn3IQ9PWc15+6zcp3/g9HGEbznUG+/I6WKkS3fMg1Z6i5Wul+zARZ1AIEEAd7mWfYoTminDKiD53ut8gvJRHSDQDgj3sUaIBsbesD4PCuJ2gJriCC+KRZHc+NnQX90GQXuf82OeDB5gNqjJX+OelfwXCPsorBfsJzril/OKnOw0kv9X8Z+ePtrv4Ss=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(376002)(136003)(39860400002)(366004)(346002)(451199015)(66946007)(66556008)(31696002)(86362001)(8676002)(4326008)(316002)(5660300002)(66476007)(36756003)(8936002)(2616005)(41300700001)(558084003)(26005)(6506007)(186003)(6512007)(53546011)(54906003)(6916009)(2906002)(6486002)(38100700002)(478600001)(31686004)(7416002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U1JGQzBnRmlWZ1VGbk1LOVlvT1VwOC9iTGwvYm5XRG1kcmtFTnVFcUU3Wk5r?=
 =?utf-8?B?cnM1TVlLdzBDZ2VPc1RiLzJIUi9wVUJMOXJEdDZSN0VwakVJblBDNHd6VTNJ?=
 =?utf-8?B?NzU2dVROK1QwNm5PV2hkTkdWdkd3aW1yVnlCendXa1B1bkxZLzBtdlc3OEhy?=
 =?utf-8?B?OTdlRHBIeFIxVnF4UCtvL1JoUUVkVjM5dkU2L2wrRGtMS2lFRWJXaDd2eUlM?=
 =?utf-8?B?TFBYWTZiMHNYcEZabW5ySnl3ZTZqSnlDbDRERFBvd2k4YklTV0QrMSt6MThM?=
 =?utf-8?B?SzRzL3NEZXJwOGNMUzdSRjFyV1NuSWFaRDJKN01sV2hqRGJLL3YzSHB6OXZw?=
 =?utf-8?B?ZTRUYUtTMUJpS1EvR0hWMUpFbjRnNFM5UmgrRC95ejN5TWtVR3NGVG5HWS9h?=
 =?utf-8?B?MW1JM1VqUFFWVXZQTWNRU0N0S2xsT21wakxvRVkrTlZyZXY5OGJmRndyRzYr?=
 =?utf-8?B?aUFWQ29rSnVjTjlpekhsZGV5ZDBwVGs3bGtlOVVaU2pESUFJUjlpTEJtbmJ4?=
 =?utf-8?B?NFNicncvMU4wRms4cFp5L1lXRnRZQkFYK3Q0QmhsbGVzOVNsVk5LNG1yOTUx?=
 =?utf-8?B?dTZLWW9MSzg5OVk0SEtOOGRQQmhFTzhzaUtDbG9mTmFINmRscXp1R0VURlY3?=
 =?utf-8?B?aUY1TkI1dGZ5b0ZCZ0FVV0JNMmdxOERUVGoyOWQ3ZyswQlc2b1Z6bE85dnpy?=
 =?utf-8?B?czFsK1l2ZmZuMmVOZ1B2MUxHZHB3dDlLSjJ5a1d6eEJjMndNK0lFMGx2S1hJ?=
 =?utf-8?B?N3k2TVdZOVJnWWpTR1lxYlBhb3VOVUdsVmlBcFcyMTlDdDJzc2VaaHVNdVhP?=
 =?utf-8?B?OVY0bkhEU3h6ZE1lMTR2YmorM25Xbko2TVEyV0craWtMSUJKWXNnbjFydlhG?=
 =?utf-8?B?eWNDZjJ1aEVoZ2MydmtBdXRlM2c3blBDNkdXWklBUEFVdTZTdEpwZnRDc1VZ?=
 =?utf-8?B?K1BaSGdhWkF6cDBFSm5XandZOWRETS93UFg0bkZKTXoxbk9CYWcycUh0d25o?=
 =?utf-8?B?UUg3SWZSWWtZTDdCMWZ5ZS9CSVZvVjdPTVJTczBhYmFKTGZGck5xbkltUkdi?=
 =?utf-8?B?bHF5bWgwMUdXcmVFL0poOVVsMjlaYmc3N2tFUnBNSTdyVzlvNnFsa2pYdUg5?=
 =?utf-8?B?ZHJDc0xuSGtYYWw0dm9kQUNzY1dMb29yYk8yaDVSb2lTWGlFMXZaZ3pQaC9h?=
 =?utf-8?B?cElNL3FnL1gvQnpkekFzalhIbldSY2c4SWh3KzV2bGtnMWRQQjVJa3hXb0hl?=
 =?utf-8?B?RGQ4Vk5kTTVBYVdMSXowK1ZkdThmOGVpMXNEdHNSRWM0K1dGZHRxQ29Rc2JY?=
 =?utf-8?B?ZWdEcER0NnZ1YTNYRExCeVBxY05vZWlkbWp0Y2xrREFzT1p1TFAzZGpiWU01?=
 =?utf-8?B?SFpUaXFhbjRVSFUwUCtiQXVhbHMvVkZyMGNzaHJCL3NBU0VVZ3ltUlV1QURh?=
 =?utf-8?B?d0wwRUxsUTMwRlpibVIxV0FmVmJ3WnhxK2lFdzBMd3RqazFKV0hhYjZvejZk?=
 =?utf-8?B?bE5NTDVtOGsrcDNiUml2ZHROK2huY1lpMXp5Uy94eFJic2xHdzNkdlBYU1Qy?=
 =?utf-8?B?YzN6MG1hTmNiZGNWZUl2WWYwQ0RGSlJFR1ErVVEzamNaUEJBckxQamM1K2Jv?=
 =?utf-8?B?SmFqSmRxK3h6YzRjR0xNWDlLTXZEdG5oMkxOZ1g1RHlaTFltV3lyMFNFNFQx?=
 =?utf-8?B?czkwSHQ5WjlIYmhsZlAwTFV0cVF1Q0hUMGlvTEhidExpai9kODVySEJZWGhy?=
 =?utf-8?B?dkF3eFlWZnZzUzR4dndsWWloR29YRFZzT2RnV3dudjVSSEZYWXBneVZWMDBV?=
 =?utf-8?B?WlVZenlZN3FrK1Brb29PQzN4RnNzdGlQQU52c1dyVnBud3ZHTWNJeEVLNTNi?=
 =?utf-8?B?Tk5rSTJRczVlbUhMRFlxSlhrM3UxdU1XRGtTRFJwS09yMjNCbEt0dEVIUm9o?=
 =?utf-8?B?U0hZS2tya3QvQVhzTm5FQ0lKRldYZnN1czRoRlVWT005Zk5TN0pTd0R1Rk5X?=
 =?utf-8?B?d0t3UnlFWnF2STBtZHhnUStJdEhSQW1GZGh4WWhHVWFJMGtZYS9XZy9uKzdq?=
 =?utf-8?B?OTQwNTNEWHZGRXE3b24zSngvcjh4a2RrQVcxZ0FVZFBPTW5aZlVFL3ZTb1lG?=
 =?utf-8?Q?FieiZNIc5T5+gxlDJeEd3xZ0q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b6291f0-3073-4fff-4fcd-08dae263337b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 08:21:32.0799
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ANs5CFO03q3dFPAKlzrF2E+jCOZqwihMQWNpQ/sJ67F5WxYQeF2pYGQY0K1imG3vrD8lttwLlMtpRvKta9HmVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8800

On 20.12.2022 02:07, Demi Marie Obenour wrote:
> This allows eliminating the former.  No functional change intended.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:41:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:41:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466566.725459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YB8-0007U1-Qi; Tue, 20 Dec 2022 08:40:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466566.725459; Tue, 20 Dec 2022 08:40:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YB8-0007Tu-O5; Tue, 20 Dec 2022 08:40:50 +0000
Received: by outflank-mailman (input) for mailman id 466566;
 Tue, 20 Dec 2022 08:40:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7YB7-0007To-Rw
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:40:49 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7YB4-0002Ru-Sj; Tue, 20 Dec 2022 08:40:46 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7YB4-0005zP-MN; Tue, 20 Dec 2022 08:40:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=LwdRhtJPCv0NtfSpg+oV81PEDNotIuVqHPNl77YCrlo=; b=n1ja3uJnnxDinCOfROZWv6Vwli
	Q5pfun+4bXKuMjkiLtD1zafhs+ZfDLO+5u1a9VVae6q1hpmT8QM+8NT6Y62MCzZ0BISla1Q4Kjan9
	5V4WBSCyHbfS/NvLsR/czRj119ElPryZZhYOr5EKWOB7SPi2gB4SnGXZdMW3naWKQ89Q=;
Message-ID: <45781a58-61cb-bc8c-c18d-35d054b4b06c@xen.org>
Date: Tue, 20 Dec 2022 08:40:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH RFC 04/10] domain: update GADDR based runstate guest area
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <22422a1c-1cfa-95d0-c1fa-99150a8f2a32@suse.com>
 <33a84c2a-0c94-a62d-3754-4a61aa951c83@xen.org>
 <417c72f4-e9a0-e3cc-1c36-544967d73e34@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <417c72f4-e9a0-e3cc-1c36-544967d73e34@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 19/12/2022 12:48, Jan Beulich wrote:
> On 16.12.2022 13:26, Julien Grall wrote:
>> On 19/10/2022 08:41, Jan Beulich wrote:
>>> Before adding a new vCPU operation to register the runstate area by
>>> guest-physical address, add code to actually keep such areas up-to-date.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> RFC: Pages aren't marked dirty when written to (matching the handling of
>>>        space mapped by map_vcpu_info() afaict), on the basis that the
>>>        registrations are lost anyway across migration.
>>
>> So I agree for the existing migration. But I wonder whether we would
>> need to dirty those pages if we live-migrated a guest without its help
>> (IOW the registrations would still be present).
> 
> Even then I'd expect the area to be re-populated at the target, so the
> page contents would need moving over (perhaps multiple times) only if
> any other parts of such a page were written to.
You are right. I had another look how this was implemented and we indeed 
create a record for each vcpu_info/runstate to transfer the content.

> 
>> Anyway, nothing to worry about yet as this is not supported upstream.
> 
> I assume you've taken note of this for the transparent migration work.

Yes.

> One question after all is how you'd make handling of the area at the
> new target transparent, i.e. without any anomalies in the values the
> guest gets to see. It may very well be that every such area needs
> special treatment in the course of migrating, such that the most up-
> to-date values are reported as part of the migration stream, but
> separate from all the pages' contents.

AFAIK, vcpu_info doesn't need special treatment but the runstate needs 
because it contains a field 'state_entry_time' that is a system time in 
nanoseconds.

This could be solved by never exposing the system time to the guest and 
instead a relative value from when it starts.

> 
>>> Plus the contents
>>>        of the areas in question have to be deemed volatile in the first
>>>        place (so saving a "most recent" value is pretty meaningless even
>>>        for e.g. snapshotting).
>>>
>>> RFC: Can we perhaps avoid the VM-assist conditionals, assuming the more
>>>        modern behavior to apply uniformly for gaddr-based registrations?
>>
>> It is not clear why someone would want to use the old behavior with the
>> new gaddr-based registrations. So I would say yes.
> 
> Okay, will do.
> 
>>> RFC: HVM guests (on x86) can change bitness and hence layout (and size!
>>>        and alignment) of the runstate area. I don't think it is an option
>>>        to require 32-bit code to pass a range such that even the 64-bit
>>>        layout wouldn't cross a page boundary (and be suitably aligned). I
>>>        also don't see any other good solution, so for now a crude approach
>>>        with an extra boolean is used (using has_32bit_shinfo() isn't race
>>>        free and could hence lead to overrunning the mapped space).
>>
>> I think the extra check for 32-bit code to pass the check for 64-bit
>> layout would be better.
> 
> I'm afraid I can't derive from your reply what it is you actually want.

I think for 32-bit call, we also want to check the address provide will 
also pass the 64-bit check (i.e. if used as a 64-bit layout, the area 
would not cross a page boundary and be suitably aligned).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:45:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:45:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466574.725472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YFi-000889-Dr; Tue, 20 Dec 2022 08:45:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466574.725472; Tue, 20 Dec 2022 08:45:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YFi-000882-9B; Tue, 20 Dec 2022 08:45:34 +0000
Received: by outflank-mailman (input) for mailman id 466574;
 Tue, 20 Dec 2022 08:45:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7YFg-00087s-Oe
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:45:32 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2064.outbound.protection.outlook.com [40.107.241.64])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9514112-8042-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 09:45:31 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8409.eurprd04.prod.outlook.com (2603:10a6:10:244::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 08:45:30 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 08:45:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9514112-8042-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mm1GiYoYe27E2zX3DDVJTKJJTcu7zlSiu8/KPmQf0XGKO+wzmLKFjLpLK5jgGaXgf99sMg9NXMMvzUDN9fq2wXe4wABclsLkmwzeCG5H2xKAUiegvyx7NjxjXUi0ipuqWbop0ZFJvr0q+/lGuofwo+8Ep0mVSMVbSeJR35S3YrCa5mqRuno8clQTlyBQB0vK45IZlI4brhXnVRlNNf1z/+RWpqn5w4t7bgDCgI+bVsL6DP1VN6PjdABFoA8Q3umAQKPYV29JKrSawPrHNOjjwlLGVw7DqulARUjWw3PmYKVbPBc4i2L0aMCHAdmqu7PVrBW1dkU6aC1ABUpnmUUPzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VE6tA7kXyTSra+PgEhnmQdQDP4peMDzI0mkHeoJ+oYQ=;
 b=WhSlySOSjgz8RZjHQSYabE2cHXxopAX6cw7Op48LZo/mivxZpv6ofwBuhMDeGbDj9hGjKkL0yhH2ykTR/ejHaxwracDlrxguxLJoQPscXj36/Wac914R6l8VgRQXhC4Q6O4QFPjZMpvbOOlyySMQ1pJZqpdK7URce8NJcfw9cm9t13F8IzduhVncLqwgOhh9s1U5p6+JbpS7ZtXdZeH1UHVU98+nsHehPoukH2SHU1Dy9hDCa4GKOEDNJmhcUb/ZF1aijbdlVUw4ukTV/kMYmwpEm2+hkw04Fd1BFo4SkXV5ieP3htE3UW4StW68CDp4PfClvuViNAMcCcxmvKRErg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VE6tA7kXyTSra+PgEhnmQdQDP4peMDzI0mkHeoJ+oYQ=;
 b=G+cZg9eP6iplg8lG8ERbinY6fkkEok75dvh4uEl48vzkONFM8f9LM1v7VTM/84tZEXrx1TJLDDv+8jBxBRULggh2VtPMZrU0c30kBoDmq7QlH8VKUGAt1pMjtMd2zqS2WQ8BZvUzsOIQTxgtBb0de/lJSUP4Tu9UDcpygB4C65YvW3lNc13MeNft7AeQUyQ6pQ65LeMwQVL1y8vja6rQ8Xfy2lO8WpPIUuDV1ILic0dkFgztrEMymhimZm9AGfmd46bQ6MNAjg/aRaP4CBe2BR1zpNM+2dY31twdy8hykZ4Vt65DZM/1c7U34wuWJutOf2tuVNGDYNTKzsrf/UMVTQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a9779d15-2f53-87c1-c4c4-745ac709430a@suse.com>
Date: Tue, 20 Dec 2022 09:45:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH RFC 04/10] domain: update GADDR based runstate guest area
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <22422a1c-1cfa-95d0-c1fa-99150a8f2a32@suse.com>
 <33a84c2a-0c94-a62d-3754-4a61aa951c83@xen.org>
 <417c72f4-e9a0-e3cc-1c36-544967d73e34@suse.com>
 <45781a58-61cb-bc8c-c18d-35d054b4b06c@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <45781a58-61cb-bc8c-c18d-35d054b4b06c@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0042.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8409:EE_
X-MS-Office365-Filtering-Correlation-Id: 4eed5b45-4a6d-48fa-7149-08dae2668c88
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OiIsUcCi2MObLvPQ0gFGAm+Rn6Un0Ptt0imHmrOcDllOtuAyiWIiMrFYKzGh0Nu53xVBokQs3os2YeAPtQNhlmKjYdG6L1cXm/CqzlASlITWA2onSEE49PO6I7sYAxkAn6ilUoGfAP2NP5sLW0+YiZSUhYlqxzl9lv0BFtP//SOKBRIHh7xMUDxVnfQJB8iSUxdyPXMUNCwkAWcCjnhUHoqLn/SvvoFiXNAoL7tBcc5NxfmhimqqietUg3q/RIfzu4HeOCx0qrnNht87cYXdX9Tg9G2S+MlvK/y2pv/koYvmi6QiTHhUyVKi76PLIXLkf+BnuA3ZYSnUHzCfGlnpgKEDnQMWhWME0vyGwjG0I8EkXgn9hDG61C3wMmWRO0tL/2lTO1aLHRqqmo0zLm5w3/8mE0D7BXMuHeajld5O8AhPy65PzHQc1p00JN0Y5Dr9wtNZ+bJqutSwhoCQLjet0fzZJ5d2jEUeDo6WHmqwZyd/zQ0/Wcup2vmin4oEJizKtSDvqphmr5Uw7tbztYYzcS7Qm/H0AF3UuFa/QOFHHdJibRaUFt+j4owyqydbLURxFJRm39bBZzuZOujv1IwjZ6OaUiA/YGy6RDFq6GPt6HqkPIUA3p94fKfdlE9AcbhWjFTpxnJTrHU00WaehbrIOncG1XdTZJfC84syT4gOevOsOrFxfO/If5gAH7QBoawUSr9IzY1kyX88JTmLzFOLcluDdxLdRRHWXllbtA19zn0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(346002)(396003)(366004)(136003)(376002)(451199015)(2616005)(31686004)(86362001)(38100700002)(26005)(6512007)(2906002)(186003)(6506007)(478600001)(36756003)(6486002)(6916009)(8936002)(316002)(54906003)(53546011)(66556008)(31696002)(66946007)(66476007)(4326008)(41300700001)(5660300002)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T2MyRFZsNHgrVW1xTmdqbnBCUW5UQnYwZjJabERnK2wzN1NSK3lBY0NVcnI2?=
 =?utf-8?B?cTZHWS80cWVHZE9oWFo5QzFlcXlMc2MyRHR3NzE5ZGVqQUFiWC9rZWV0Uncv?=
 =?utf-8?B?TXdjM2wwaXFaRDkyNjE4TmVVaEhUemdvMVdiRXIyUFA2VnNLSk45QXhNQzdm?=
 =?utf-8?B?aGxMaDM3ZGlmRmRLQnIxRnZDd1F5c2RQRVcwRTh1SElGMkMxWk5KdThMNDR4?=
 =?utf-8?B?YnYycTZvTnFkTEd6NW5Da0Q4T0JpTm41bXg5RkhMeWxsUDZHZXZ3UkRaR2xw?=
 =?utf-8?B?Z3F4K0J2NjhLS0loZlhRcUFSVVEvVjFUazFCT1A4UFpDT1dTRUZVMGNaRWpt?=
 =?utf-8?B?ZkRBR0FXbWVycUdONHpUb1E0a01FTnpubjdWWGtuVTMrdjkvVFVkZjFIbE8v?=
 =?utf-8?B?aThTUk1neVVTYWhQanR6SC9zdkRXMHF2RllER1dBTUduQkV6d2U4QXdVaWJK?=
 =?utf-8?B?NXhVem9WcjkzWHliR092ZXJIMWFMM0dLUmRtMGh0Zy93cW1hUWMzU012czNM?=
 =?utf-8?B?Nk9LVTdseXV5Q0NlL1FKUFlzVFRhdGZsR1ZBM2lMQTJPVkxLb1ZhNFp6REdp?=
 =?utf-8?B?S2ZuaUhGYkFEZktnWWxnOXYyejJKMEZBcmwwYy9uZFZlWlNSdlNBVnBiQlNY?=
 =?utf-8?B?alJLbldwRUtIWGxaK3Z2am1OYlpaYmt3c2dTMzhNMXRrdG5CYmJOMVF5ZXVF?=
 =?utf-8?B?eFBCMmlpRURnWG5SbGNXczNPb2t6c1U1Q293UkdnTzc2eU9OUU9saTFCa0tG?=
 =?utf-8?B?MnFXMDV4K1U4QXk1NXFOcytYb2xJOWdSS0lIc3RYR0lGM0JNc1pwSW4wbFc0?=
 =?utf-8?B?c3NWa0dERXUvdkFmd0NVVEZGZTRCNStheExWRUJuSERuemxGd1d3OWZLVStK?=
 =?utf-8?B?M3JyYnhXUk5zMkN1NGRPMGJRcGRxT0V4bXFtV01qdTltRlpqZUNvUHBia0ta?=
 =?utf-8?B?azdGRVYxZFJJK0JhOU9HcGkwc3E5WDI2RGM2bmp1MWJBZHVHL2MxWHBtdGJM?=
 =?utf-8?B?U1hTdXZKanZhcHAxQmlGK29yTWxiVndJZDd2dFNpTkhXa050VUN5UmtIUUsz?=
 =?utf-8?B?M2V5QWxMNkwxY2JrbFoxMWViSElXMWRFOTBWK0V4SXEwMTlkQk9aem5DdHZn?=
 =?utf-8?B?TTBnZlBFcS9ybVc4T2VhMWlJSS9WQ1oxV3p5aEFUVlowM1BFUGhPdDRsUmNt?=
 =?utf-8?B?Ym1JSnhuK2FwdTllT0lXS1lFc0FHemF1N2Ftd3puQWw0aDlMVFhITDFZMGRW?=
 =?utf-8?B?bnZucHVXdWRwNUthaS9qc3k2RzU4bXF6Mlp1YnZGUVhVZGQ4ZUZqeU1FM2Vr?=
 =?utf-8?B?aEVWRi91TWRhK1N1bFQ4UlJ1ZlF6aHBJbVp5USsxSit1L0tSbGQ3QmowL2li?=
 =?utf-8?B?RnAyaFFIOFVhcTlHM3JaN2p6OEluOUZEeXgzb2gyVmg5TXlIUEpLb0N6Sk52?=
 =?utf-8?B?YlVpT3E2NG1kSnkrTktxVW5hZWJ3MGJWV0VuUHlJZHF6Z2FYZDRvTzNzVnlS?=
 =?utf-8?B?QnlNbmUvaUwraEhpTm5sY3dkRk1tb3pCQ0NhNjlBaTduNGxkU2RTSVlBUVd2?=
 =?utf-8?B?Z2tuMWpBQmxocFZNeXQ5Ynd6VnN1ZFdYT3BPMHFYY0tkdXVOMmpVL29NVERI?=
 =?utf-8?B?ek5JZTY4YzQ3NTdKdGpjcldBeXhCU1g1dGJNbS90WE1wR3NKUWgxSHM5Snha?=
 =?utf-8?B?Rk1lTnZIMTIzN3dpaGh5QkZEZngvb1hNNk5EckxaRmd3enhqQW5tVFdCZ1kx?=
 =?utf-8?B?aTkyeGs1TjZJZjdhWEdmZWV1eGtrTHZHU3JJTCtXNlNEYlFrVE0wcGR6Mi9R?=
 =?utf-8?B?YWY1MEkrRFN2bGtYT1FJV09YWWZCT21MbHdSVytuZE1CUmYvRnlBNGtVamd6?=
 =?utf-8?B?NkFWTkVqMGZKaHpIY3lWdFhBcnovQUVmS0swREZFaDRWbHd5QWNGeHErYisv?=
 =?utf-8?B?dUcxdEw1Y21qWHJiT2NwT1ZEakRUaHk2T3QyNnQrTjMrWnVPUXVSNTRkbnAv?=
 =?utf-8?B?akplTDFOQkJUQ2FEdGpRUEFYK1h6aWVaUHVXWXE5ajk3OCtKbkZGQ1lXLzFZ?=
 =?utf-8?B?OVY3UW9pWEM2V1JqWVMwOFJoaW84UUlZbFgwWTVQclc2ckFiTnN3MXNTVk95?=
 =?utf-8?Q?R87eg9VXKGVTnM2dcn73Q9GRw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4eed5b45-4a6d-48fa-7149-08dae2668c88
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 08:45:29.9890
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rATD+YhiT13RrErPgwcoAdiDDCkZO7vJZ7lNzcCnIsQlQ6dK0f7ETqNBAfqZjxx5EkoxvBOVAkDfVqK6CLiPhA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8409

On 20.12.2022 09:40, Julien Grall wrote:
> On 19/12/2022 12:48, Jan Beulich wrote:
>> On 16.12.2022 13:26, Julien Grall wrote:
>>> On 19/10/2022 08:41, Jan Beulich wrote:
>>>> RFC: HVM guests (on x86) can change bitness and hence layout (and size!
>>>>        and alignment) of the runstate area. I don't think it is an option
>>>>        to require 32-bit code to pass a range such that even the 64-bit
>>>>        layout wouldn't cross a page boundary (and be suitably aligned). I
>>>>        also don't see any other good solution, so for now a crude approach
>>>>        with an extra boolean is used (using has_32bit_shinfo() isn't race
>>>>        free and could hence lead to overrunning the mapped space).
>>>
>>> I think the extra check for 32-bit code to pass the check for 64-bit
>>> layout would be better.
>>
>> I'm afraid I can't derive from your reply what it is you actually want.
> 
> I think for 32-bit call, we also want to check the address provide will 
> also pass the 64-bit check (i.e. if used as a 64-bit layout, the area 
> would not cross a page boundary and be suitably aligned).

But that's specifically what I say I don't think is an option. First and
foremost because of the implication on 32-bit callers: They're need to
use magic to get hold of the size of the 64-bit variant of the struct.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:48:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:48:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466582.725482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YIf-0000JE-Qj; Tue, 20 Dec 2022 08:48:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466582.725482; Tue, 20 Dec 2022 08:48:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YIf-0000J7-NG; Tue, 20 Dec 2022 08:48:37 +0000
Received: by outflank-mailman (input) for mailman id 466582;
 Tue, 20 Dec 2022 08:48:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7YIe-0000J1-8N
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:48:36 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7YIb-0002lH-Ms; Tue, 20 Dec 2022 08:48:33 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7YIb-0006GZ-Gf; Tue, 20 Dec 2022 08:48:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=/iHWZExXT7yJ3ujxJIlwbxC6vKUlkup+NGKcMyfIknY=; b=P3S08UieD6oPrn1/RtNHC6Mn6a
	uPhL+1ptUB8MfrruiWyC8YEjgN/IkHoX6mCQbdxjCofnIVHuv1IIvqbU9SzjOp7ZGQKYoPgFbub4m
	G6gFdjUB30QRaCpkVXvwhccfG71rWZ5BF0J2RRgXPGmahEc+FKSmav210WVpEtqkzm7g=;
Message-ID: <f633b729-e422-9fd3-a635-b8617eb6bfb2@xen.org>
Date: Tue, 20 Dec 2022 08:48:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH RFC 04/10] domain: update GADDR based runstate guest area
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <22422a1c-1cfa-95d0-c1fa-99150a8f2a32@suse.com>
 <33a84c2a-0c94-a62d-3754-4a61aa951c83@xen.org>
 <417c72f4-e9a0-e3cc-1c36-544967d73e34@suse.com>
 <45781a58-61cb-bc8c-c18d-35d054b4b06c@xen.org>
 <a9779d15-2f53-87c1-c4c4-745ac709430a@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <a9779d15-2f53-87c1-c4c4-745ac709430a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 20/12/2022 08:45, Jan Beulich wrote:
> On 20.12.2022 09:40, Julien Grall wrote:
>> On 19/12/2022 12:48, Jan Beulich wrote:
>>> On 16.12.2022 13:26, Julien Grall wrote:
>>>> On 19/10/2022 08:41, Jan Beulich wrote:
>>>>> RFC: HVM guests (on x86) can change bitness and hence layout (and size!
>>>>>         and alignment) of the runstate area. I don't think it is an option
>>>>>         to require 32-bit code to pass a range such that even the 64-bit
>>>>>         layout wouldn't cross a page boundary (and be suitably aligned). I
>>>>>         also don't see any other good solution, so for now a crude approach
>>>>>         with an extra boolean is used (using has_32bit_shinfo() isn't race
>>>>>         free and could hence lead to overrunning the mapped space).
>>>>
>>>> I think the extra check for 32-bit code to pass the check for 64-bit
>>>> layout would be better.
>>>
>>> I'm afraid I can't derive from your reply what it is you actually want.
>>
>> I think for 32-bit call, we also want to check the address provide will
>> also pass the 64-bit check (i.e. if used as a 64-bit layout, the area
>> would not cross a page boundary and be suitably aligned).
> 
> But that's specifically what I say I don't think is an option. First and
> foremost because of the implication on 32-bit callers: They're need to
> use magic to get hold of the size of the 64-bit variant of the struct.

I understand that. But I am not aware of any other (simple) approach 
where you could have race free code.

So between a non-race free code and exposing the restriction to the 
guest, I would chose the latter.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466592.725493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLE-0001kk-Dd; Tue, 20 Dec 2022 08:51:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466592.725493; Tue, 20 Dec 2022 08:51:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLE-0001kc-AX; Tue, 20 Dec 2022 08:51:16 +0000
Received: by outflank-mailman (input) for mailman id 466592;
 Tue, 20 Dec 2022 08:51:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLD-0001kP-3g
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:15 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 74dad16e-8043-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 09:51:13 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6E4E22F4;
 Tue, 20 Dec 2022 00:51:53 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 117D43F71A;
 Tue, 20 Dec 2022 00:51:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74dad16e-8043-11ed-8fd4-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [RFC PATCH 00/18] cppcheck rule 20.7 fixes
Date: Tue, 20 Dec 2022 08:50:42 +0000
Message-Id: <20221220085100.22848-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1

In this serie there are some fixes for the rule 20.7, mainly violation found by
cppcheck, most of them are false positive but some of them can be fixed.

The analysed build is arm64, to reproduce the reports here the command:

./xen/scripts/xen-analysis.py --cppcheck-misra --run-cppcheck -- CROSS_COMPILE="aarch64-linux-gnu-" XEN_TARGET_ARCH="arm64" O=/path/to/artifacts_folder

Luca Fancellu (18):
  arm: cppcheck: misra rule 20.7 deviations for alternative.h
  arm: cppcheck: misra rule 20.7 deviation on processor.h
  arm: cppcheck: misra rule 20.7 deviation on asm_defns.h
  arm: cppcheck: misra rule 20.7 deviation on config.h
  arm: cppcheck: fix misra rule 20.7 on arm/include/asm/string.h
  public: cppcheck: misra rule 20.7 on public/arch-arm.h
  xen: cppcheck: misra rule 20.7 deviation on compiler.h
  xen: cppcheck: misra rule 20.7 deviation on init.h
  xen: cppcheck: misra rule 20.7 deviation on kconfig.h
  xen: cppcheck: misra rule 20.7 deviation on types.h
  xen: cppcheck: misra rule 20.7 deviation on xmalloc.h
  arm: cppcheck: misra rule 20.7 deviation on asm/arm64/sysregs.h
  public/x86: cppcheck: misra rule 20.7 deviation on hvm/save.h
  public/x86: cppcheck: misra rule 20.7 deviation on xen-x86_32.h
  public/x86: cppcheck: misra rule 20.7 deviation on xen-x86_64.h
  public/x86: cppcheck: misra rule 20.7 deviation on arch-x86/xen.h
  public: misra rule 20.7 deviation on errno.h
  public: misra rule 20.7 deviation on memory.h

 docs/misra/false-positive-cppcheck.json    | 21 +++++++++++++++++++++
 xen/arch/arm/include/asm/alternative.h     |  2 ++
 xen/arch/arm/include/asm/arm64/processor.h |  2 +-
 xen/arch/arm/include/asm/arm64/sysregs.h   |  2 +-
 xen/arch/arm/include/asm/asm_defns.h       |  2 ++
 xen/arch/arm/include/asm/config.h          |  4 ++++
 xen/arch/arm/include/asm/string.h          |  2 +-
 xen/include/public/arch-arm.h              |  4 +++-
 xen/include/public/arch-x86/hvm/save.h     |  1 +
 xen/include/public/arch-x86/xen-x86_32.h   |  5 ++++-
 xen/include/public/arch-x86/xen-x86_64.h   |  3 +++
 xen/include/public/arch-x86/xen.h          |  3 ++-
 xen/include/public/errno.h                 |  2 +-
 xen/include/public/memory.h                |  2 +-
 xen/include/xen/compiler.h                 |  1 +
 xen/include/xen/init.h                     |  7 ++++---
 xen/include/xen/kconfig.h                  |  1 +
 xen/include/xen/types.h                    |  1 +
 xen/include/xen/xmalloc.h                  |  6 ++++++
 19 files changed, 60 insertions(+), 11 deletions(-)

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466593.725504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLF-000200-LU; Tue, 20 Dec 2022 08:51:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466593.725504; Tue, 20 Dec 2022 08:51:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLF-0001zt-IX; Tue, 20 Dec 2022 08:51:17 +0000
Received: by outflank-mailman (input) for mailman id 466593;
 Tue, 20 Dec 2022 08:51:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLE-0001kV-6i
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:16 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 757efa25-8043-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 09:51:14 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F1496AD7;
 Tue, 20 Dec 2022 00:51:54 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B1EA23F71A;
 Tue, 20 Dec 2022 00:51:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 757efa25-8043-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 01/18] arm: cppcheck: misra rule 20.7 deviations for alternative.h
Date: Tue, 20 Dec 2022 08:50:43 +0000
Message-Id: <20221220085100.22848-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck reports violations of rule 20.7 in two macros of
alternative.h.

The first one is in the __ALT_PTR macro where cppcheck wants to have
parentheses on the second operand of a member access operator, which
is not allowed from the c language syntax, furthermore, the macro
parameter is never used as an expression, hence we can suppress the
finding.

The second finding is in the __ALTERNATIVE_CFG macro, where cppcheck
wants to have parentheses on the macro arguments, but the macro
parameters are never used as expressions and are used only for text
substitution, so cppcheck is not taking into account the context of
use of the macro arguments and adding parenthesis would break the
code, so we can suppress the finding.

No error was shown by eclair and coverity for those lines.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 docs/misra/false-positive-cppcheck.json | 14 ++++++++++++++
 xen/arch/arm/include/asm/alternative.h  |  2 ++
 2 files changed, 16 insertions(+)

diff --git a/docs/misra/false-positive-cppcheck.json b/docs/misra/false-positive-cppcheck.json
index 5d4da2ce6170..5e7d9377f60b 100644
--- a/docs/misra/false-positive-cppcheck.json
+++ b/docs/misra/false-positive-cppcheck.json
@@ -3,6 +3,20 @@
     "content": [
         {
             "id": "SAF-0-false-positive-cppcheck",
+            "violation-id": "misra-c2012-20.7",
+            "tool-version": "2.7",
+            "name": "R20.7 second operand of member-access operator",
+            "text": "The second operand of a member access operator shall be a name of a member of the type pointed to, so in this particular case it is wrong to use parentheses on the macro parameter."
+        },
+        {
+            "id": "SAF-1-false-positive-cppcheck",
+            "violation-id": "misra-c2012-20.7",
+            "tool-version": "2.7",
+            "name": "R20.7 C macro parameters used only for text substitution",
+            "text": "The macro parameters used in this case are not part of an expression, they are used for text substitution."
+        },
+        {
+            "id": "SAF-2-false-positive-cppcheck",
             "violation-id": "",
             "tool-version": "",
             "name": "Sentinel",
diff --git a/xen/arch/arm/include/asm/alternative.h b/xen/arch/arm/include/asm/alternative.h
index 1eb4b60fbb3e..9d4dc53bb0c6 100644
--- a/xen/arch/arm/include/asm/alternative.h
+++ b/xen/arch/arm/include/asm/alternative.h
@@ -20,6 +20,7 @@ struct alt_instr {
 };
 
 /* Xen: helpers used by common code. */
+/* SAF-0-false-positive-cppcheck R20.7 member-access operator */
 #define __ALT_PTR(a,f)		((void *)&(a)->f + (a)->f)
 #define ALT_ORIG_PTR(a)		__ALT_PTR(a, orig_offset)
 #define ALT_REPL_PTR(a)		__ALT_PTR(a, alt_offset)
@@ -58,6 +59,7 @@ int apply_alternatives(const struct alt_instr *start, const struct alt_instr *en
  *
  * Alternatives with callbacks do not generate replacement instructions.
  */
+/* SAF-1-false-positive-cppcheck R20.7 argument for text substitution */
 #define __ALTERNATIVE_CFG(oldinstr, newinstr, feature, cfg_enabled, cb)	\
 	".if "__stringify(cfg_enabled)" == 1\n"				\
 	"661:\n\t"							\
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466594.725515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLG-0002GN-UP; Tue, 20 Dec 2022 08:51:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466594.725515; Tue, 20 Dec 2022 08:51:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLG-0002GG-R1; Tue, 20 Dec 2022 08:51:18 +0000
Received: by outflank-mailman (input) for mailman id 466594;
 Tue, 20 Dec 2022 08:51:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLE-0001kV-Ve
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:16 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 76185c53-8043-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 09:51:15 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 15A56FEC;
 Tue, 20 Dec 2022 00:51:56 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 40C9A3F71A;
 Tue, 20 Dec 2022 00:51:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76185c53-8043-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 02/18] arm: cppcheck: misra rule 20.7 deviation on processor.h
Date: Tue, 20 Dec 2022 08:50:44 +0000
Message-Id: <20221220085100.22848-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found a violation of rule 20.7 for the macro __DECL_REG,
but the macro parameters are never used as an expression, they are
used for text substitution and adding parenthesis would break the
code. Cppcheck is not taking into account the context of use of the
macro argument, so we can suppress the finding.

Eclair and coverity does not report this finding.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/include/asm/arm64/processor.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/arm64/processor.h b/xen/arch/arm/include/asm/arm64/processor.h
index c749f80ad91b..aacbe5d4d538 100644
--- a/xen/arch/arm/include/asm/arm64/processor.h
+++ b/xen/arch/arm/include/asm/arm64/processor.h
@@ -4,7 +4,7 @@
 #ifndef __ASSEMBLY__
 
 /* Anonymous union includes both 32- and 64-bit names (e.g., r0/x0). */
-
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define __DECL_REG(n64, n32) union {            \
     uint64_t n64;                               \
     uint32_t n32;                               \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466595.725526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLI-0002XN-9R; Tue, 20 Dec 2022 08:51:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466595.725526; Tue, 20 Dec 2022 08:51:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLI-0002Wy-3p; Tue, 20 Dec 2022 08:51:20 +0000
Received: by outflank-mailman (input) for mailman id 466595;
 Tue, 20 Dec 2022 08:51:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLF-0001kV-Vr
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:17 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 76c3abbb-8043-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 09:51:16 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2DE2113D5;
 Tue, 20 Dec 2022 00:51:57 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 595C53F71A;
 Tue, 20 Dec 2022 00:51:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76c3abbb-8043-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 03/18] arm: cppcheck: misra rule 20.7 deviation on asm_defns.h
Date: Tue, 20 Dec 2022 08:50:45 +0000
Message-Id: <20221220085100.22848-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found violations of rule 20.7 for the macros RODATA_STR()
and ASM_INT(), but the macro parameters are never used as an
expression, they are used for text subtitution and cppcheck is not
taking into account the context of use for them, so we can suppress
the finding.

Eclair and coverity does not report these findings.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/include/asm/asm_defns.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/arm/include/asm/asm_defns.h b/xen/arch/arm/include/asm/asm_defns.h
index 29a9dbb002fa..9bf4cf8891f5 100644
--- a/xen/arch/arm/include/asm/asm_defns.h
+++ b/xen/arch/arm/include/asm/asm_defns.h
@@ -22,11 +22,13 @@
 # error "unknown ARM variant"
 #endif
 
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define RODATA_STR(label, msg)                  \
 .pushsection .rodata.str, "aMS", %progbits, 1 ; \
 label:  .asciz msg;                             \
 .popsection
 
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define ASM_INT(label, val)                 \
     .p2align 2;                             \
 label: .long (val);                         \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466596.725533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLI-0002bN-Lq; Tue, 20 Dec 2022 08:51:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466596.725533; Tue, 20 Dec 2022 08:51:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLI-0002ay-EM; Tue, 20 Dec 2022 08:51:20 +0000
Received: by outflank-mailman (input) for mailman id 466596;
 Tue, 20 Dec 2022 08:51:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLG-0001kV-WC
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:18 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 7762080d-8043-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 09:51:17 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4765B1688;
 Tue, 20 Dec 2022 00:51:58 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 71BC33F71A;
 Tue, 20 Dec 2022 00:51:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7762080d-8043-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 04/18] arm: cppcheck: misra rule 20.7 deviation on config.h
Date: Tue, 20 Dec 2022 08:50:46 +0000
Message-Id: <20221220085100.22848-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found violations of rule 20.7 for the macros ENTRY(),
GLOBAL(), END() and ENDPROC(), but the macro parameters are never
used as an expression, they are used for text substitution but
cppcheck is not taking into account the context of them, so we can
suppress the findings.

Eclair and coverity does not report these findings.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/include/asm/config.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 0fefed1b8aa9..c4843ddffe24 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -54,15 +54,19 @@
 /* Linkage for ARM */
 #ifdef __ASSEMBLY__
 #define ALIGN .align 2
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define ENTRY(name)                             \
   .globl name;                                  \
   ALIGN;                                        \
   name:
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define GLOBAL(name)                            \
   .globl name;                                  \
   name:
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define END(name) \
   .size name, .-name
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define ENDPROC(name) \
   .type name, %function; \
   END(name)
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466597.725539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLJ-0002kQ-3m; Tue, 20 Dec 2022 08:51:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466597.725539; Tue, 20 Dec 2022 08:51:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLI-0002jT-R9; Tue, 20 Dec 2022 08:51:20 +0000
Received: by outflank-mailman (input) for mailman id 466597;
 Tue, 20 Dec 2022 08:51:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLH-0001kP-Og
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:19 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 785671f4-8043-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 09:51:19 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 613F513D5;
 Tue, 20 Dec 2022 00:51:59 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8AFEE3F71A;
 Tue, 20 Dec 2022 00:51:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 785671f4-8043-11ed-8fd4-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 05/18] arm: cppcheck: fix misra rule 20.7 on arm/include/asm/string.h
Date: Tue, 20 Dec 2022 08:50:47 +0000
Message-Id: <20221220085100.22848-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found a violation of rule 20.7 for the macro memset
about missing parenthesis for the "n" argument, while the parenthesis
are not mandatory because the argument is never used in an
expression, adding them will not harm code and readability, so fix
the finding adding parenthesis for the argument.

Eclair and coverity does not report this finding.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/include/asm/string.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/string.h b/xen/arch/arm/include/asm/string.h
index b485e4904419..f1c87d215b0b 100644
--- a/xen/arch/arm/include/asm/string.h
+++ b/xen/arch/arm/include/asm/string.h
@@ -30,7 +30,7 @@ void __memzero(void *ptr, size_t n);
 
 #define memset(p, v, n)                                                 \
         ({                                                              \
-                void *__p = (p); size_t __n = n;                        \
+                void *__p = (p); size_t __n = (n);                      \
                 if ((__n) != 0) {                                       \
                         if (__builtin_constant_p((v)) && (v) == 0)      \
                                 __memzero((__p),(__n));                 \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466598.725559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLL-0003Nb-AT; Tue, 20 Dec 2022 08:51:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466598.725559; Tue, 20 Dec 2022 08:51:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLL-0003NR-5E; Tue, 20 Dec 2022 08:51:23 +0000
Received: by outflank-mailman (input) for mailman id 466598;
 Tue, 20 Dec 2022 08:51:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLI-0001kP-UJ
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:20 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 78fea8da-8043-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 09:51:20 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7BE642F4;
 Tue, 20 Dec 2022 00:52:00 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A51A63F71A;
 Tue, 20 Dec 2022 00:51:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78fea8da-8043-11ed-8fd4-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 06/18] public: cppcheck: misra rule 20.7 on public/arch-arm.h
Date: Tue, 20 Dec 2022 08:50:48 +0000
Message-Id: <20221220085100.22848-7-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found violations of rule 20.7 for the macros
___DEFINE_XEN_GUEST_HANDLE, set_xen_guest_handle_raw and __DECL_REG.
For the first and third finding, the macro parameters are never
used in an expression, cppcheck is not taking into account the
context where the arguments are used, so we can suppress the findings.
For the set_xen_guest_handle_raw, the argument is not involved in any
expression but it doesn't harm the code or readability to have
parenthesis on it, so fix it.

Eclair and coverity does not report these findings.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/include/public/arch-arm.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 1528ced5097a..7afc0d1ca23d 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -156,6 +156,7 @@
 #define uint64_aligned_t uint64_t __attribute__((aligned(8)))
 
 #ifndef __ASSEMBLY__
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define ___DEFINE_XEN_GUEST_HANDLE(name, type)                  \
     typedef union { type *p; unsigned long q; }                 \
         __guest_handle_ ## name;                                \
@@ -180,7 +181,7 @@
     do {                                                    \
         __typeof__(&(hnd)) _sxghr_tmp = &(hnd);             \
         _sxghr_tmp->q = 0;                                  \
-        _sxghr_tmp->p = val;                                \
+        _sxghr_tmp->p = (val);                              \
     } while ( 0 )
 #define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val)
 
@@ -206,6 +207,7 @@ typedef uint64_t xen_ulong_t;
     }
 #else
 /* Non-gcc sources must always use the proper 64-bit name (e.g., x0). */
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define __DECL_REG(n64, n32) uint64_t n64
 #endif
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466599.725564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLL-0003QG-LS; Tue, 20 Dec 2022 08:51:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466599.725564; Tue, 20 Dec 2022 08:51:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLL-0003On-EY; Tue, 20 Dec 2022 08:51:23 +0000
Received: by outflank-mailman (input) for mailman id 466599;
 Tue, 20 Dec 2022 08:51:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLK-0001kP-77
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:22 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 79cc520f-8043-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 09:51:21 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CA52B13D5;
 Tue, 20 Dec 2022 00:52:01 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C02AB3F71A;
 Tue, 20 Dec 2022 00:51:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79cc520f-8043-11ed-8fd4-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 07/18] xen: cppcheck: misra rule 20.7 deviation on compiler.h
Date: Tue, 20 Dec 2022 08:50:49 +0000
Message-Id: <20221220085100.22848-8-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found a violation of rule 20.7 for the macro
sizeof_field, but the parenthesis cannot be applied on the second
operand of a member access operator, hence we can suppress the
finding.

Eclair and coverity does not report this finding.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/include/xen/compiler.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index a5631303348b..301ba55d6ecc 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -115,6 +115,7 @@
  * @TYPE: The structure containing the field of interest
  * @MEMBER: The field to return the size of
  */
+/* SAF-0-false-positive-cppcheck R20.7 member-access operator */
 #define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER))
 
 #if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 201112L
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466600.725580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLN-0003t6-FD; Tue, 20 Dec 2022 08:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466600.725580; Tue, 20 Dec 2022 08:51:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLN-0003s5-3M; Tue, 20 Dec 2022 08:51:25 +0000
Received: by outflank-mailman (input) for mailman id 466600;
 Tue, 20 Dec 2022 08:51:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLL-0001kP-MS
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:23 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7aa15c4f-8043-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 09:51:22 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 242B8FEC;
 Tue, 20 Dec 2022 00:52:03 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1A7AA3F71A;
 Tue, 20 Dec 2022 00:51:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7aa15c4f-8043-11ed-8fd4-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 08/18] xen: cppcheck: misra rule 20.7 deviation on init.h
Date: Tue, 20 Dec 2022 08:50:50 +0000
Message-Id: <20221220085100.22848-9-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found violations of rule 20.7 for the macros
__init_call, presmp_initcall, __initcall and __exitcall.
For the first one, the macro parameter is never used as an expression,
it is used for text substitution but cppcheck is not taking into
account the context of use of the argument, so we can suppress the
finding.
For the other findings, the argument is not used as an expression,
but adding parenthesis doesn't harm the code or the readability,
hence add parenthesis on the argument.

Eclair and coverity does not report these findings.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/include/xen/init.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/include/xen/init.h b/xen/include/xen/init.h
index 0af0e234ec80..7c072b7c8cf8 100644
--- a/xen/include/xen/init.h
+++ b/xen/include/xen/init.h
@@ -15,6 +15,7 @@
 #define __initconstrel    __section(".init.rodata.rel")
 #define __exitdata        __used_section(".exit.data")
 #define __initsetup       __used_section(".init.setup")
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define __init_call(lvl)  __used_section(".initcall" lvl ".init")
 #define __exit_call       __used_section(".exitcall.exit")
 
@@ -65,11 +66,11 @@ typedef int (*initcall_t)(void);
 typedef void (*exitcall_t)(void);
 
 #define presmp_initcall(fn) \
-    const static initcall_t __initcall_##fn __init_call("presmp") = fn
+    const static initcall_t __initcall_##fn __init_call("presmp") = (fn)
 #define __initcall(fn) \
-    const static initcall_t __initcall_##fn __init_call("1") = fn
+    const static initcall_t __initcall_##fn __init_call("1") = (fn)
 #define __exitcall(fn) \
-    static exitcall_t __exitcall_##fn __exit_call = fn
+    static exitcall_t __exitcall_##fn __exit_call = (fn)
 
 void do_presmp_initcalls(void);
 void do_initcalls(void);
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466601.725590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLO-0004Dh-PP; Tue, 20 Dec 2022 08:51:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466601.725590; Tue, 20 Dec 2022 08:51:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLO-0004D0-Iu; Tue, 20 Dec 2022 08:51:26 +0000
Received: by outflank-mailman (input) for mailman id 466601;
 Tue, 20 Dec 2022 08:51:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLM-0001kP-U7
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:24 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7b6174c3-8043-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 09:51:24 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 73D4F13D5;
 Tue, 20 Dec 2022 00:52:04 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 687123F71A;
 Tue, 20 Dec 2022 00:51:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b6174c3-8043-11ed-8fd4-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 09/18] xen: cppcheck: misra rule 20.7 deviation on kconfig.h
Date: Tue, 20 Dec 2022 08:50:51 +0000
Message-Id: <20221220085100.22848-10-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found a violation of rule 20.7 for the macro
__config_enabled but the preprocessor branch where this macro is
defined should not be analysed by cppcheck when CPPCHECK macro is
defined, hence this is a false positive of the tool and we can
safely suppress the finding.

Eclair and coverity does not report this finding.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 docs/misra/false-positive-cppcheck.json | 7 +++++++
 xen/include/xen/kconfig.h               | 1 +
 2 files changed, 8 insertions(+)

diff --git a/docs/misra/false-positive-cppcheck.json b/docs/misra/false-positive-cppcheck.json
index 5e7d9377f60b..c8ee3c0c6317 100644
--- a/docs/misra/false-positive-cppcheck.json
+++ b/docs/misra/false-positive-cppcheck.json
@@ -17,6 +17,13 @@
         },
         {
             "id": "SAF-2-false-positive-cppcheck",
+            "violation-id": "misra-c2012-20.7",
+            "tool-version": "2.7",
+            "name": "R20.7 on preprocessor branch that should be disabled",
+            "text": "This preprocessor branch should be disabled when CPPCHECK macro is active, so there should not be violation."
+        },
+        {
+            "id": "SAF-3-false-positive-cppcheck",
             "violation-id": "",
             "tool-version": "",
             "name": "Sentinel",
diff --git a/xen/include/xen/kconfig.h b/xen/include/xen/kconfig.h
index a717b0819c2e..92373c018950 100644
--- a/xen/include/xen/kconfig.h
+++ b/xen/include/xen/kconfig.h
@@ -23,6 +23,7 @@
 #define __ARG_PLACEHOLDER_1 0,
 #define config_enabled(cfg) _config_enabled(cfg)
 #define _config_enabled(value) __config_enabled(__ARG_PLACEHOLDER_##value)
+/* SAF-2-false-positive-cppcheck R20.7 but cppcheck should not check here */
 #define __config_enabled(arg1_or_junk) ___config_enabled(arg1_or_junk 1, 0)
 #define ___config_enabled(__ignored, val, ...) val
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466602.725595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLP-0004Id-Ak; Tue, 20 Dec 2022 08:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466602.725595; Tue, 20 Dec 2022 08:51:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLP-0004Hy-1S; Tue, 20 Dec 2022 08:51:27 +0000
Received: by outflank-mailman (input) for mailman id 466602;
 Tue, 20 Dec 2022 08:51:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLO-0001kV-6P
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:26 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 7bd94a8b-8043-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 09:51:25 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C38651688;
 Tue, 20 Dec 2022 00:52:05 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B7C8B3F71A;
 Tue, 20 Dec 2022 00:51:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7bd94a8b-8043-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 10/18] xen: cppcheck: misra rule 20.7 deviation on types.h
Date: Tue, 20 Dec 2022 08:50:52 +0000
Message-Id: <20221220085100.22848-11-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found a violation of rule 20.7 for the macro
DECLARE_BITMAP, but the macro parameter is used as variable
identifier, so it is safe to suppress the finding and don't put
parenthesis.

Eclair and coverity does not report this finding.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/include/xen/types.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
index 03f0fe612ed9..c734a52f24b1 100644
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -7,6 +7,7 @@
 
 #define BITS_TO_LONGS(bits) \
     (((bits)+BITS_PER_LONG-1)/BITS_PER_LONG)
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define DECLARE_BITMAP(name,bits) \
     unsigned long name[BITS_TO_LONGS(bits)]
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466605.725611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLS-00050Y-Ua; Tue, 20 Dec 2022 08:51:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466605.725611; Tue, 20 Dec 2022 08:51:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLS-0004yp-Nr; Tue, 20 Dec 2022 08:51:30 +0000
Received: by outflank-mailman (input) for mailman id 466605;
 Tue, 20 Dec 2022 08:51:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLQ-0001kP-ET
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:28 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7cf44f55-8043-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 09:51:26 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 1EF40FEC;
 Tue, 20 Dec 2022 00:52:07 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 13AF73F71A;
 Tue, 20 Dec 2022 00:51:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7cf44f55-8043-11ed-8fd4-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 11/18] xen: cppcheck: misra rule 20.7 deviation on xmalloc.h
Date: Tue, 20 Dec 2022 08:50:53 +0000
Message-Id: <20221220085100.22848-12-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found violations of rule 20.7 for the macros xmalloc,
xzalloc, xmalloc_array, xzalloc_array, xzalloc_flex_struct and
xmalloc_flex_struct.
In all the cases the macro parameters are never used as an expression,
so it is safe to suppress the findings.

Eclair and coverity does not report these findings.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/include/xen/xmalloc.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/xen/include/xen/xmalloc.h b/xen/include/xen/xmalloc.h
index 16979a117c6a..5bf440502c20 100644
--- a/xen/include/xen/xmalloc.h
+++ b/xen/include/xen/xmalloc.h
@@ -10,7 +10,9 @@
  */
 
 /* Allocate space for typed object. */
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define xmalloc(_type) ((_type *)_xmalloc(sizeof(_type), __alignof__(_type)))
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define xzalloc(_type) ((_type *)_xzalloc(sizeof(_type), __alignof__(_type)))
 
 /*
@@ -30,15 +32,19 @@
 })
 
 /* Allocate space for array of typed objects. */
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define xmalloc_array(_type, _num) \
     ((_type *)_xmalloc_array(sizeof(_type), __alignof__(_type), _num))
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define xzalloc_array(_type, _num) \
     ((_type *)_xzalloc_array(sizeof(_type), __alignof__(_type), _num))
 
 /* Allocate space for a structure with a flexible array of typed objects. */
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define xzalloc_flex_struct(type, field, nr) \
     ((type *)_xzalloc(offsetof(type, field[nr]), __alignof__(type)))
 
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define xmalloc_flex_struct(type, field, nr) \
     ((type *)_xmalloc(offsetof(type, field[nr]), __alignof__(type)))
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:32 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466606.725615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLT-00054U-K1; Tue, 20 Dec 2022 08:51:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466606.725615; Tue, 20 Dec 2022 08:51:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLT-000538-5P; Tue, 20 Dec 2022 08:51:31 +0000
Received: by outflank-mailman (input) for mailman id 466606;
 Tue, 20 Dec 2022 08:51:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLQ-0001kV-J0
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:28 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 7d4575f3-8043-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 09:51:27 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 392AD13D5;
 Tue, 20 Dec 2022 00:52:08 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 62E6A3F71A;
 Tue, 20 Dec 2022 00:51:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d4575f3-8043-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 12/18] arm: cppcheck: misra rule 20.7 deviation on asm/arm64/sysregs.h
Date: Tue, 20 Dec 2022 08:50:54 +0000
Message-Id: <20221220085100.22848-13-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found a violation of rule 20.7 for the macro
WRITE_SYSREG64, the macro parameter "v" is never used in an
expression, but adding parenthesis to it doesn't harm the code
or the readability, so add parenthesis to it.

Eclair and coverity does not report this finding.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/arch/arm/include/asm/arm64/sysregs.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
index 463899951414..3f709d26a299 100644
--- a/xen/arch/arm/include/asm/arm64/sysregs.h
+++ b/xen/arch/arm/include/asm/arm64/sysregs.h
@@ -461,7 +461,7 @@
 /* Access to system registers */
 
 #define WRITE_SYSREG64(v, name) do {                    \
-    uint64_t _r = v;                                    \
+    uint64_t _r = (v);                                  \
     asm volatile("msr "__stringify(name)", %0" : : "r" (_r));       \
 } while (0)
 #define READ_SYSREG64(name) ({                          \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466608.725623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLV-0005LU-PM; Tue, 20 Dec 2022 08:51:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466608.725623; Tue, 20 Dec 2022 08:51:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLU-0005H5-9Z; Tue, 20 Dec 2022 08:51:32 +0000
Received: by outflank-mailman (input) for mailman id 466608;
 Tue, 20 Dec 2022 08:51:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLR-0001kP-OY
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:29 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7e493ca0-8043-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 09:51:29 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 52F90FEC;
 Tue, 20 Dec 2022 00:52:09 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7D32F3F71A;
 Tue, 20 Dec 2022 00:51:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e493ca0-8043-11ed-8fd4-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 13/18] public/x86: cppcheck: misra rule 20.7 deviation on hvm/save.h
Date: Tue, 20 Dec 2022 08:50:55 +0000
Message-Id: <20221220085100.22848-14-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found a violation of rule 20.7 for the macro
XEN_HVM_VIOAPIC, but the first macro argument is never used
as an expression, cppcheck is not taking into account the context of
use for it, so we can suppress the finding.

Eclair and coverity does not report this finding.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/include/public/arch-x86/hvm/save.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/include/public/arch-x86/hvm/save.h b/xen/include/public/arch-x86/hvm/save.h
index 7ecacadde165..08f221483dc8 100644
--- a/xen/include/public/arch-x86/hvm/save.h
+++ b/xen/include/public/arch-x86/hvm/save.h
@@ -366,6 +366,7 @@ union vioapic_redir_entry
 
 #define VIOAPIC_NUM_PINS  48 /* 16 ISA IRQs, 32 non-legacy PCI IRQS. */
 
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define XEN_HVM_VIOAPIC(name, cnt)                      \
     struct name {                                       \
         uint64_t base_address;                          \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:51:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:51:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466610.725631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLX-0005gt-2L; Tue, 20 Dec 2022 08:51:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466610.725631; Tue, 20 Dec 2022 08:51:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YLV-0005bU-Uf; Tue, 20 Dec 2022 08:51:33 +0000
Received: by outflank-mailman (input) for mailman id 466610;
 Tue, 20 Dec 2022 08:51:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLS-0001kP-PS
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:30 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7ee2d949-8043-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 09:51:30 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6BD0E13D5;
 Tue, 20 Dec 2022 00:52:10 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 9701D3F71A;
 Tue, 20 Dec 2022 00:51:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ee2d949-8043-11ed-8fd4-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 14/18] public/x86: cppcheck: misra rule 20.7 deviation on xen-x86_32.h
Date: Tue, 20 Dec 2022 08:50:56 +0000
Message-Id: <20221220085100.22848-15-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found violations of rule 20.7 for the macros
___DEFINE_XEN_GUEST_HANDLE, set_xen_guest_handle_raw, __DECL_REG_LO8
and __DECL_REG_LO16.
For set_xen_guest_handle_raw, while the "val" argument is never used
in an expression, it doesn't harm the code or the readability to add
parenthesis, so add them to the argument.
For the other findings, the macro parameters are never used as an
expression, cppcheck is not taking into account the context for their
use, so we can suppress the finding.

Eclair and coverity does not report these findings.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/include/public/arch-x86/xen-x86_32.h | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/include/public/arch-x86/xen-x86_32.h b/xen/include/public/arch-x86/xen-x86_32.h
index 139438e83534..6755f12044e4 100644
--- a/xen/include/public/arch-x86/xen-x86_32.h
+++ b/xen/include/public/arch-x86/xen-x86_32.h
@@ -74,6 +74,7 @@
 /* 32-/64-bit invariability for control interfaces (domctl/sysctl). */
 #if defined(__XEN__) || defined(__XEN_TOOLS__)
 #undef ___DEFINE_XEN_GUEST_HANDLE
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define ___DEFINE_XEN_GUEST_HANDLE(name, type)                  \
     typedef struct { type *p; }                                 \
         __guest_handle_ ## name;                                \
@@ -82,7 +83,7 @@
 #undef set_xen_guest_handle_raw
 #define set_xen_guest_handle_raw(hnd, val)                  \
     do { if ( sizeof(hnd) == 8 ) *(uint64_t *)&(hnd) = 0;   \
-         (hnd).p = val;                                     \
+         (hnd).p = (val);                                     \
     } while ( 0 )
 #define  int64_aligned_t  int64_t __attribute__((aligned(8)))
 #define uint64_aligned_t uint64_t __attribute__((aligned(8)))
@@ -96,6 +97,7 @@
 /* nothing */
 #elif defined(__XEN__) || defined(__XEN_TOOLS__)
 /* Anonymous unions include all permissible names (e.g., al/ah/ax/eax). */
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define __DECL_REG_LO8(which) union { \
     uint32_t e ## which ## x; \
     uint16_t which ## x; \
@@ -104,6 +106,7 @@
         uint8_t which ## h; \
     }; \
 }
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define __DECL_REG_LO16(name) union { \
     uint32_t e ## name, _e ## name; \
     uint16_t name; \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:52:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:52:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466656.725658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YMT-0001UO-Sb; Tue, 20 Dec 2022 08:52:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466656.725658; Tue, 20 Dec 2022 08:52:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YMT-0001UH-Pu; Tue, 20 Dec 2022 08:52:33 +0000
Received: by outflank-mailman (input) for mailman id 466656;
 Tue, 20 Dec 2022 08:52:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7YMT-0001U5-1O
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:52:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7YMQ-0002s4-29; Tue, 20 Dec 2022 08:52:30 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7YMP-0006TH-T2; Tue, 20 Dec 2022 08:52:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=83WCZCBN2RZa3OayZ9pbSFK4gncuCswxnB2PgrqopQc=; b=ZR58lbW77M9ci3zoOKKmOkkKHS
	EdlAkYmbHxzFiB5untzxqC9TdiQJ+pMR/4nfQgZK4hnFnq4XnxOkEBR29ScZHvEBNV7elEsdoMSEE
	RQpdiE+XRdMurRtwwlTNf51oN8xtubN3Igd4oy717RI3S7GLKvbgmNqctdSsolnwG2Z4=;
Message-ID: <63836495-0942-f00f-5381-cd3cba46c4b3@xen.org>
Date: Tue, 20 Dec 2022 08:52:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH RFC 10/10] common: convert vCPU info area registration
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <f1745e62-8a46-e9af-6a79-592a5402a5f4@suse.com>
 <92e35f8b-72d9-e55f-9218-3f21742c14c6@xen.org>
 <e87503e1-992f-28d6-cfa5-e0882541a12b@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e87503e1-992f-28d6-cfa5-e0882541a12b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 19/12/2022 15:01, Jan Beulich wrote:
> On 17.12.2022 16:53, Julien Grall wrote:
>> On 19/10/2022 08:45, Jan Beulich wrote:
>>> Switch to using map_guest_area(). Noteworthy differences from
>>> map_vcpu_info():
>>> - remote vCPU-s are paused rather than checked for being down (which in
>>>     principle can change right after the check),
>>> - the domain lock is taken for a much smaller region,
>>> - areas could now be registered more than once, if we want this,
>>> - as a corner case registering the area at GFN 0 offset 0 is no longer
>>>     possible (this is considered an invalid de-registration request).
>>>
>>> Note that this eliminates a bug in copy_vcpu_settings(): The function
>>> did allocate a new page regardless of the GFN already having a mapping,
>>> thus in particular breaking the case of two vCPU-s having their info
>>> areas on the same page.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> RFC: While the "no re-registration" check is retained, it is now racy.
>>>        If we really think it needs retaining _and_ properly enforcing,
>>>        then locking will be needed, but I don't think we can hold the
>>>        domain lock around a call to map_guest_area(), first and foremost
>>>        because of its use of vcpu_pause().
>>
>> function like evtchn_2l_unmask() may access vcpu_info that is not the
>> current one.
>>
>> So I believe the check needs to be reatined and properly enforced.
>> Otherwise, the old structure may still be used for a short time even if
>> it has been freed.
> 
> Good point, I'll try to come up with something suitable.
> 
>>> RFC: Is the GFN 0 offset 0 behavioral change deemed acceptable?
>>
>> I would say n  (See the previous discussion for more details).
> 
> Of course - with 0 going to be replaced in map_guest_area(), the check
> there needs to be adjusted accordingly. And ~0 was already invalid to
> pass in here, due to the alignment check.
> 
>>> RFC: To have just a single instance of casts to vcpu_info_t *,
>>>        introducing a macro (or inline function if header dependencies
>>>        permit) might be nice. However, the only sensible identifier for it
>>>        would imo be vcpu_info(). Yet we already have a macro of that name.
>>>        With some trickery it might be possible to overload the macro
>>>        (making the "field" argument optional), but this may not be
>>>        desirable for other reasons (it could e.g. be deemed confusing).
>>
>> You might be able to reduce the number of cast by using local variables.
>>
>> But it is not entirely clear why we can't use the existing vcpu_info()
>> in many of the cases. For instance...
>>
>>
>>>
>>> --- a/xen/arch/x86/include/asm/shared.h
>>> +++ b/xen/arch/x86/include/asm/shared.h
>>> @@ -27,16 +27,16 @@ static inline void arch_set_##field(stru
>>>    static inline type arch_get_##field(const struct vcpu *v)       \
>>>    {                                                               \
>>>        return !has_32bit_shinfo(v->domain) ?                       \
>>> -           v->vcpu_info->native.arch.field :                    \
>>> -           v->vcpu_info->compat.arch.field;                     \
>>> +           ((const vcpu_info_t *)v->vcpu_info_area.map)->native.arch.field : \
>>> +           ((const vcpu_info_t *)v->vcpu_info_area.map)->compat.arch.field;  \
>>
>> ... here.
> 
> vcpu_info() has a property which gets in the way of using the macro
> here. Since __vcpu_info() wants to return something which can also
> be used as lvalue, the 2nd and 3rd operands of the conditional
> operator need to resolve to the same pointer type. Hence the smaller
> (compat) type is the only one which is safe to use. See the comment
> next to __shared_info()'s definition (which is the one __vcpu_info()'s
> refers to).

Thanks for the pointer! I hadn't noticed the subtlety. Then, the 
open-cast (even if I dislike them) is probably the way go for now.

As I mentioned above, it would nice if they can be reduced by using 
local variables (this will also return the length of the line).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:55:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466665.725668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YOy-0002W8-Dt; Tue, 20 Dec 2022 08:55:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466665.725668; Tue, 20 Dec 2022 08:55:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YOy-0002W4-Ad; Tue, 20 Dec 2022 08:55:08 +0000
Received: by outflank-mailman (input) for mailman id 466665;
 Tue, 20 Dec 2022 08:55:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLb-0001kV-A2
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:39 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 8178a9a1-8043-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 09:51:34 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 45730168F;
 Tue, 20 Dec 2022 00:52:15 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3C02F3F71A;
 Tue, 20 Dec 2022 00:51:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8178a9a1-8043-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 18/18] public: misra rule 20.7 deviation on memory.h
Date: Tue, 20 Dec 2022 08:51:00 +0000
Message-Id: <20221220085100.22848-19-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found a violation of rule 20.7 for the macro
XENMEM_SHARING_OP_FIELD_MAKE_GREF, the argument "val" is used in an
expression, hence add parenthesis to the argument "val" to fix the
violation.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/include/public/memory.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index 29cf5c823902..c5f0d31e235d 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -485,7 +485,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_mem_access_op_t);
 #define XENMEM_SHARING_OP_FIELD_IS_GREF_FLAG   (xen_mk_ullong(1) << 62)
 
 #define XENMEM_SHARING_OP_FIELD_MAKE_GREF(field, val)  \
-    (field) = (XENMEM_SHARING_OP_FIELD_IS_GREF_FLAG | val)
+    (field) = (XENMEM_SHARING_OP_FIELD_IS_GREF_FLAG | (val))
 #define XENMEM_SHARING_OP_FIELD_IS_GREF(field)         \
     ((field) & XENMEM_SHARING_OP_FIELD_IS_GREF_FLAG)
 #define XENMEM_SHARING_OP_FIELD_GET_GREF(field)        \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:55:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466669.725680 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YOz-0002lV-KP; Tue, 20 Dec 2022 08:55:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466669.725680; Tue, 20 Dec 2022 08:55:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YOz-0002lO-Hd; Tue, 20 Dec 2022 08:55:09 +0000
Received: by outflank-mailman (input) for mailman id 466669;
 Tue, 20 Dec 2022 08:55:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLa-0001kV-8j
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:38 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 80b00519-8043-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 09:51:33 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EBDE31688;
 Tue, 20 Dec 2022 00:52:13 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E10413F71A;
 Tue, 20 Dec 2022 00:51:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80b00519-8043-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 17/18] public: misra rule 20.7 deviation on errno.h
Date: Tue, 20 Dec 2022 08:50:59 +0000
Message-Id: <20221220085100.22848-18-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found a violation of rule 20.7 for the macro XEN_ERRNO,
while the macro parameter is never used as an expression, it doesn't
harm the code or the readability to add parenthesis, so add them.

This finding is reported also by eclair and coverity.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/include/public/errno.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/errno.h b/xen/include/public/errno.h
index 6bdc8c507990..5a78a7607c0d 100644
--- a/xen/include/public/errno.h
+++ b/xen/include/public/errno.h
@@ -31,7 +31,7 @@
 
 #ifndef __ASSEMBLY__
 
-#define XEN_ERRNO(name, value) XEN_##name = value,
+#define XEN_ERRNO(name, value) XEN_##name = (value),
 enum xen_errno {
 
 #elif __XEN_INTERFACE_VERSION__ < 0x00040700
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:55:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:55:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466676.725691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YPB-0003Hh-Ti; Tue, 20 Dec 2022 08:55:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466676.725691; Tue, 20 Dec 2022 08:55:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YPB-0003HV-Pu; Tue, 20 Dec 2022 08:55:21 +0000
Received: by outflank-mailman (input) for mailman id 466676;
 Tue, 20 Dec 2022 08:55:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLU-0001kP-K3
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:32 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 7f8a504d-8043-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 09:51:31 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 843961688;
 Tue, 20 Dec 2022 00:52:11 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id AFB6D3F71A;
 Tue, 20 Dec 2022 00:51:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f8a504d-8043-11ed-8fd4-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 15/18] public/x86: cppcheck: misra rule 20.7 deviation on xen-x86_64.h
Date: Tue, 20 Dec 2022 08:50:57 +0000
Message-Id: <20221220085100.22848-16-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found violations of rule 20.7 for the macros
__DECL_REG_LOHI, __DECL_REG_LO8 and __DECL_REG_LO16, but the macro
parameters are used as variable identifiers, so it is safe to
suppress the findings.

Eclair and coverity does not report these findings.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/include/public/arch-x86/xen-x86_64.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/include/public/arch-x86/xen-x86_64.h b/xen/include/public/arch-x86/xen-x86_64.h
index 5d9035ed2230..7e375cd6f45f 100644
--- a/xen/include/public/arch-x86/xen-x86_64.h
+++ b/xen/include/public/arch-x86/xen-x86_64.h
@@ -115,6 +115,7 @@ struct iret_context {
 
 #if defined(__XEN__) || defined(__XEN_TOOLS__)
 /* Anonymous unions include all permissible names (e.g., al/ah/ax/eax/rax). */
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define __DECL_REG_LOHI(which) union { \
     uint64_t r ## which ## x; \
     uint32_t e ## which ## x; \
@@ -124,12 +125,14 @@ struct iret_context {
         uint8_t which ## h; \
     }; \
 }
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define __DECL_REG_LO8(name) union { \
     uint64_t r ## name; \
     uint32_t e ## name; \
     uint16_t name; \
     uint8_t name ## l; \
 }
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define __DECL_REG_LO16(name) union { \
     uint64_t r ## name; \
     uint32_t e ## name; \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 08:55:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 08:55:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466711.725702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YPU-00042g-6f; Tue, 20 Dec 2022 08:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466711.725702; Tue, 20 Dec 2022 08:55:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YPU-00042X-2J; Tue, 20 Dec 2022 08:55:40 +0000
Received: by outflank-mailman (input) for mailman id 466711;
 Tue, 20 Dec 2022 08:55:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TAHQ=4S=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7YLY-0001kV-AJ
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 08:51:36 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 7ff5cb8b-8043-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 09:51:31 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 9CB1D168F;
 Tue, 20 Dec 2022 00:52:12 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C82883F71A;
 Tue, 20 Dec 2022 00:51:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ff5cb8b-8043-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 16/18] public/x86: cppcheck: misra rule 20.7 deviation on arch-x86/xen.h
Date: Tue, 20 Dec 2022 08:50:58 +0000
Message-Id: <20221220085100.22848-17-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>

Cppcheck has found violations of rule 20.7 for the macros
___DEFINE_XEN_GUEST_HANDLE and set_xen_guest_handle_raw.
For the first one, the macro parameters are never used as an
expression, so it is safe to suppress the finding.
For the second one, while the argument "val" is never used
in an expression, it doesn't harm the code or the readability,
so add them.

Eclair and coverity does not report these findings.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
 xen/include/public/arch-x86/xen.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index c0f4551247f4..04f5bc899ae3 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -14,6 +14,7 @@
 
 /* Structural guest handles introduced in 0x00030201. */
 #if __XEN_INTERFACE_VERSION__ >= 0x00030201
+/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
 #define ___DEFINE_XEN_GUEST_HANDLE(name, type) \
     typedef struct { type *p; } __guest_handle_ ## name
 #else
@@ -36,7 +37,7 @@
 #define __XEN_GUEST_HANDLE(name)        __guest_handle_ ## name
 #define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
 #define XEN_GUEST_HANDLE_PARAM(name)    XEN_GUEST_HANDLE(name)
-#define set_xen_guest_handle_raw(hnd, val)  do { (hnd).p = val; } while (0)
+#define set_xen_guest_handle_raw(hnd, val)  do { (hnd).p = (val); } while (0)
 #define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val)
 
 #if defined(__i386__)
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 09:07:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 09:07:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466779.725713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YbH-00060i-Dw; Tue, 20 Dec 2022 09:07:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466779.725713; Tue, 20 Dec 2022 09:07:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7YbH-00060b-9c; Tue, 20 Dec 2022 09:07:51 +0000
Received: by outflank-mailman (input) for mailman id 466779;
 Tue, 20 Dec 2022 09:07:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7YbF-00060V-Gt
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 09:07:49 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7YbF-0003Ak-2f; Tue, 20 Dec 2022 09:07:49 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7YbE-0007Dc-RY; Tue, 20 Dec 2022 09:07:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Jog5KNJvlx6mRvLesF3blEBfUbss7M/vG1fW0gRszTk=; b=ecef44EBsqhoJ0Ol1TLoaG3FdX
	oZzwWYUwN+sF6vsckD+jcG5WN+G5vKlSzoss9k7BSPZbfkBuG68Si2THck8b1p1aWSaoXvaCMD8f6
	JynbbKcRXHvnYWNJYSVKjz+warpHBgm1hINfykhl/veCB3dHA2sVSqd93xrndL1TQH7M=;
Message-ID: <072a9427-57aa-81ef-1f7e-7f0b5f26e5c6@xen.org>
Date: Tue, 20 Dec 2022 09:07:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [RFC PATCH 01/18] arm: cppcheck: misra rule 20.7 deviations for
 alternative.h
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <20221220085100.22848-2-luca.fancellu@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221220085100.22848-2-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Luca,

On 20/12/2022 08:50, Luca Fancellu wrote:
> Cppcheck reports violations of rule 20.7 in two macros of
> alternative.h.
> 
> The first one is in the __ALT_PTR macro where cppcheck wants to have
> parentheses on the second operand of a member access operator, which
> is not allowed from the c language syntax, furthermore, the macro
> parameter is never used as an expression, hence we can suppress the
> finding.

Looking at the Misra Rule 20.7 examples [1], this looks similar to 
GET_MEMBER(). So I don't understand why cppcheck is complaining.

> 
> The second finding is in the __ALTERNATIVE_CFG macro, where cppcheck
> wants to have parentheses on the macro arguments, but the macro
> parameters are never used as expressions and are used only for text
> substitution, so cppcheck is not taking into account the context of
> use of the macro arguments and adding parenthesis would break the
> code, so we can suppress the finding.

This reads like you want to report a bug against cppcheck.

> 
> No error was shown by eclair and coverity for those lines.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>   docs/misra/false-positive-cppcheck.json | 14 ++++++++++++++
>   xen/arch/arm/include/asm/alternative.h  |  2 ++

This file is meant to be close to Linux. From my understanding of the 
discussion yesterday, we didn't want to add deviation there.

>   2 files changed, 16 insertions(+)
> 
> diff --git a/docs/misra/false-positive-cppcheck.json b/docs/misra/false-positive-cppcheck.json
> index 5d4da2ce6170..5e7d9377f60b 100644
> --- a/docs/misra/false-positive-cppcheck.json
> +++ b/docs/misra/false-positive-cppcheck.json
> @@ -3,6 +3,20 @@
>       "content": [
>           {
>               "id": "SAF-0-false-positive-cppcheck",
> +            "violation-id": "misra-c2012-20.7",
> +            "tool-version": "2.7",
> +            "name": "R20.7 second operand of member-access operator",
> +            "text": "The second operand of a member access operator shall be a name of a member of the type pointed to, so in this particular case it is wrong to use parentheses on the macro parameter."
> +        },
> +        {
> +            "id": "SAF-1-false-positive-cppcheck",
> +            "violation-id": "misra-c2012-20.7",
> +            "tool-version": "2.7",
> +            "name": "R20.7 C macro parameters used only for text substitution",
> +            "text": "The macro parameters used in this case are not part of an expression, they are used for text substitution."
> +        },
In both cases the constructs are commonly used in Xen to generate code. 
So I am a bit concerned to have to add deviation everywhere cppcheck is 
wrong.

More generally, we are still at the beginning of MISRA in Xen and I 
don't think we should start with adding deviations from bugs in the 
tools. Instead, we should report those bugs and hopefully by the time 
Xen is mostly MISRA complaint the tools will not report the false positive.

If they are still then we can decide to add deviations.

Cheers,

[1] 
https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_20_07.c

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 09:12:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 09:12:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466787.725724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Yg3-0007Rt-U6; Tue, 20 Dec 2022 09:12:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466787.725724; Tue, 20 Dec 2022 09:12:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Yg3-0007Rm-RP; Tue, 20 Dec 2022 09:12:47 +0000
Received: by outflank-mailman (input) for mailman id 466787;
 Tue, 20 Dec 2022 09:12:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7Yg1-0007Ra-Sb
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 09:12:45 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7Yg1-0003GJ-LO; Tue, 20 Dec 2022 09:12:45 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7Yg1-0007dO-GL; Tue, 20 Dec 2022 09:12:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=yVgL+302xTF7eh/mqisll/n8lGvxZ2Gy4VeZN8725pM=; b=VYC6ux4D60EkLnuc5wo1cJ2LGK
	kbiW8h8qOAU1u1hRSHgaLhQH+IujJy+wg1x6WRZLBFe4aAOMw0QKt2HhhKv7q47na4kgBjbI07Aji
	Zg/1kAjOzLuGct+ieg/j3hh9FyXSCcY46I08F72g4sIAdrNCuoWAWmktip6uVw0J5IsY=;
Message-ID: <4b51edb0-a203-a6d1-b660-914dc0c87bf2@xen.org>
Date: Tue, 20 Dec 2022 09:12:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [RFC PATCH 05/18] arm: cppcheck: fix misra rule 20.7 on
 arm/include/asm/string.h
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <20221220085100.22848-6-luca.fancellu@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221220085100.22848-6-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 20/12/2022 08:50, Luca Fancellu wrote:
> Cppcheck has found a violation of rule 20.7 for the macro memset
> about missing parenthesis for the "n" argument, while the parenthesis
> are not mandatory because the argument is never used in an
> expression, adding them will not harm code and readability, so fix
> the finding adding parenthesis for the argument.

This is something I have argued against in the past (see [1]). So...

> 
> Eclair and coverity does not report this finding.

... if neither Eclair nor Coverity report it then I think this should be 
a bug report against Cppcheck.

Also, typo: s/does not/do not/

> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>   xen/arch/arm/include/asm/string.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/include/asm/string.h b/xen/arch/arm/include/asm/string.h
> index b485e4904419..f1c87d215b0b 100644
> --- a/xen/arch/arm/include/asm/string.h
> +++ b/xen/arch/arm/include/asm/string.h
> @@ -30,7 +30,7 @@ void __memzero(void *ptr, size_t n);
>   
>   #define memset(p, v, n)                                                 \
>           ({                                                              \
> -                void *__p = (p); size_t __n = n;                        \
> +                void *__p = (p); size_t __n = (n);                      \
>                   if ((__n) != 0) {                                       \
>                           if (__builtin_constant_p((v)) && (v) == 0)      \
>                                   __memzero((__p),(__n));                 \

Cheers,

[1] 20220728134943.1185621-1-burzalodowa@gmail.com

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 09:31:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 09:31:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466795.725735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Yy3-0001Vy-Et; Tue, 20 Dec 2022 09:31:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466795.725735; Tue, 20 Dec 2022 09:31:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Yy3-0001Vr-CA; Tue, 20 Dec 2022 09:31:23 +0000
Received: by outflank-mailman (input) for mailman id 466795;
 Tue, 20 Dec 2022 09:31:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7Yy2-0001Vl-MC
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 09:31:22 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2059.outbound.protection.outlook.com [40.107.20.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f88b402-8049-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 10:31:20 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7571.eurprd04.prod.outlook.com (2603:10a6:20b:2dd::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 09:31:18 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 09:31:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f88b402-8049-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XTBSSfswO8F9ApAPXqvkBa/kJoNYXQqk5lUmaTezQWfHPxbT4158pkIXnNfu9ttP+La5OQTfEl1Q3SIf4kewmWpAa/chJXwc2zf064iNnHW7IqlGiBaZ9cqKMS70VI44XyiKZEgyx3KOt4UxC2hrTA+gI6Vg50OHCI4z4yHNWmlOwz4sEMn5zbyWmfPCq5YZ13oLssxo2D7iOoBTbHg3XW2OBr/c1lllq/UkBb6GCj+oTcOwp9kTeqnGj6FNIyXHUvg1qoWuJcl1cPOK+LNPjBQlk3GNZa90hUc2427Fd910ogZmm6d1T/IaqjSogXApjjkb+fTJxCsBPZv2CGKUcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sLtPC61751IpwhUcuuXLlTDWtVrGTCjSmqCq07KWVQA=;
 b=FrAitCxJ4kjJt04Bgq5duOrVsLkUOxAeP3SdUTtu7Y1nhTg1XPeFurKflEJT7m4v4X0F8LLIvMQrUG6N/4ntlb82fyw7g++Zk4lQ+mfdYNAX4sibUB5pmXIcNg2fEAQCvZY+xnkfRNUaG8/0/oVRC39raDY+OrXQlrdgC8FhilgY79fBeBTfm/vDNun88rE42Gra/0vH3rNc9r8SGOh1emr9hYzP26DMYzHnO9KLwEBrt16Lv3AizTPu4JyGEd+a0F3jFqe018bsGj1DsdJGqm4iC9E8DPSg7vp69SXJ+OtBh0fCHesxerTJvEP2tp3DQ3mdmNOUsT+4T/Pc8aWQIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sLtPC61751IpwhUcuuXLlTDWtVrGTCjSmqCq07KWVQA=;
 b=cDL9/++w0SuGxN6aHnZDXKy6QYCyNkhi/RhC6auJCfyOiI9xqOkXOEZTJyE4wEOUomHE0oPwF+/OImMw1ExgP/V8Xgic6WQ1eMYMPciHkCk6+RiBWP98fz1sFRtUL8kR/aS5nWBmY/AfpQfbatMByUukBPBHprM1lkrgy1SWWn7BLikC/muyl50ijjEbkMheD4Nnmd06dhflAIdaNnt7M1r63Ngf22ucyfjlQ8BHkDaWAjXhBRp5whFAeIr2n6sCt/N9Pb5KBdw1BcWJYikeZTfXgZdKVV+9/v+u/RWQtE0bu0mQQG13vqQRnXshlT8AVRT0NpBLhA3G1QS+cH7MLg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <584277e2-abc1-0f22-e393-2df882e633e9@suse.com>
Date: Tue, 20 Dec 2022 10:31:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC PATCH 01/18] arm: cppcheck: misra rule 20.7 deviations for
 alternative.h
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Luca Fancellu <luca.fancellu@arm.com>
Cc: wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <20221220085100.22848-2-luca.fancellu@arm.com>
 <072a9427-57aa-81ef-1f7e-7f0b5f26e5c6@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <072a9427-57aa-81ef-1f7e-7f0b5f26e5c6@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0082.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7571:EE_
X-MS-Office365-Filtering-Correlation-Id: 72f43dc8-8c88-4e52-9257-08dae26cf2a2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WeA5EsOGLgcF4gWT88lBm+QJiFPpHso+3yLkfqeuJckVPufjpJdq0qL3aUXi8y57PZ3/5Kf4h7agVJM53AwP3m/Inf+3mjpPZp4kiTu0t8imwXwwKEyKU9NkY8vcOu1XBOBrRv16BwbrdgtmQ7XBOnFqs0CAQ3AUvyONX8fZWe47RDV5ZyyKidJH+uHIbF+Ca9grCOWvXVvwJ0AjpDDZpn9FE2fCbbK6GAhWpXzoz6dGtE7DQZ7jz6RuXzOfJDiKxE5BWUyvElscnjD8vF3KsrNnS9gAc40dHAJEaoIpuVUZcxXEBLymyLdKkbBx+x5MIP5BlYDCp9hsWZ0yA1VC73a+9tDOa0uG0bzDpTsFCEjxHg0fPHwBok9b5vgtmDR9/iL6Bwj4A4wYe3jxTOOqFyBMpUyuRfG6WWRiT+Mh45HaUrooVIs4lCUFRag9WgHC2QL/Iy2xC7ZgjDoJUOxE10WsILz++SNdlSRhv3wxoXi2AiXDVPrj9TmG3k9UhXaZsZWaMkaCT6/A/iWEbWvnNu74WgiX1Ka8Z8mdAvoId+9Pm8bH+ZdAZkpwT8gYXhdB7My8+WvOFoD38PKnHAjhHvPieivjT0Y+xwtFLBKWMZfQozvfzeV1Z+f9OvYKeeKm+UzstV/55CvxwsDHjtnuLzqy+yL9TnVZ9gkq70sC2W1S73vkzuv+Wi4jVV/W14JOBQ+bfRRf8mY272J4n48AtSTTG08LMruUTmGuYZEHywY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(39860400002)(346002)(396003)(366004)(451199015)(2616005)(38100700002)(86362001)(2906002)(54906003)(478600001)(110136005)(36756003)(6486002)(31696002)(316002)(26005)(186003)(6512007)(7416002)(5660300002)(31686004)(8936002)(66946007)(8676002)(4326008)(41300700001)(66556008)(83380400001)(53546011)(66476007)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RHBaS1p4a3hWY2ZKS0NDakdRSFlnaVVsSVpDUm9oTUhseDB2dm9yTjJhT2FI?=
 =?utf-8?B?d2ozdUtrMzh3OHUwL0tLTlBvbGhCOGNYQlp1YmZKQTFmVFZnZktmSnRLUnlB?=
 =?utf-8?B?Sm5KUVFadzRJaS9XSWxxWlpuVWEvLzNkZHNSb0o5TDhIUWNTVVQrbjIvbGtE?=
 =?utf-8?B?NitoVW13MEFsMXRxQlRKT2tiZEo3a09neDk2WER6S05RazVIcTFucDQxSi9C?=
 =?utf-8?B?b3N4NnZrUHRjZWpXTHplcnM3Q2tSQTcybExpeGF0bmJ5OXVtZjVROTdmajRE?=
 =?utf-8?B?Tllhblh2cXphVWovWWkyTWxUNkxrSkZJZWtraDF2c3hCaCtTYmpoK0FiQWhU?=
 =?utf-8?B?QmErTEtuVm5yZVJNcVhmd2ZkTnhoQUJWNEtPOTJRdkdmSEtwQ2Q2VG5FMTV3?=
 =?utf-8?B?MSsvL2xicFlDVHoweXpIOXVzd2xwSHlUa1R2elduRmhqQ3lLaDhWTzFSU011?=
 =?utf-8?B?RDAzNVRxWHNvSnFOL2hwbTlXQldJNXN0WmhEREpmN0lkZnFTQzE3OTY1K2Zv?=
 =?utf-8?B?Tm1JY0ZtS0o2UHVVWXQyT2NtTnJETzhHT3JMeXc1Yy9KRW1mdUtOUTVnajVj?=
 =?utf-8?B?eGl6b2R0bjAzQnlJN0d1Uk1vWVcyS3BWQVIrbzV0RVJEZVJkRXBxSEw4Yk9P?=
 =?utf-8?B?ajRkK3RlRnBNZ2lZSzZkaGQ3bGNGS20rd1F3Z0xYRVFJOG02WXlhTkJ1eXV3?=
 =?utf-8?B?TnZKTmVPbXluWkJ0YmVaRjY4c1hZZ2FBUlNpTUV6enFiVWl0VHUvTkg3dEdi?=
 =?utf-8?B?UDJ1YTJWd29OSjY3YmVJVDl6NXVNT0FvQUFQOEthNUxaTVcyUFB1aXV5VklI?=
 =?utf-8?B?VHNFTjZsVE5iZVNmZ2JQMkFyRi9telZ0elFOQWJSeDhjdWNCdnlTV0RpZEsx?=
 =?utf-8?B?aW1VSDBkL1dmSk5hbHIrZFBUNjVETkdkcS9Bam1mODI1THBnUHcyNTRYMktV?=
 =?utf-8?B?MGJIckRIcWF6RC84QTZTSFpYeXlpN0FNZXBGRHBnb0FoQTdQV2ZFeFU3Y0E1?=
 =?utf-8?B?LzdxWjlsdmhyRGhXNk1GODdUK1BWT2VlbGp0RGdpWmNwakt4dWJQalR1VUg1?=
 =?utf-8?B?US9tOE5GNkxjUXJNb0FJY3BCZUp0Z2Yva2VvOUQxaWt2ck9rbzdrY2tueG1N?=
 =?utf-8?B?K2JwbXVSS3pzMHNvRnVSSk85WFZBTWpXZ3ByeGlzNXNSai9LZUJkQ3hsRGZv?=
 =?utf-8?B?V0ZRQmdDd1U4TWx0ZWtMRFl3L2Y4L1E1UmM4eVN5c3NudDEzdW5EVnpVZWd5?=
 =?utf-8?B?amhPUWNUMlhzTUkraTZObkt3dGRwazI4VWZtdnFkWHljMHZSRTJIelBCTjdD?=
 =?utf-8?B?T0lRbVpLd0ZCeHhJVFZtQUNsQUxiRE5kUnZFVjVPK05pMzBOOUZvOWJjd0Z6?=
 =?utf-8?B?M1RYZm5nZjRHOVRTTDhXK3RpcGZCaGV3VXZnMmlqUnVPMnVyMDZZczlsM29r?=
 =?utf-8?B?Qlp0Q2FQTE10Y0ovTXhudjBWMTFtSTBhYXdEbVZQV29CNUQ5eGpvN3g5dlBU?=
 =?utf-8?B?akdVdTFVMm5VUzJ6Y3RRY0ZqSjRtRUpDM3dGOXl1VEFQcmhGMXBjSHpaSHQr?=
 =?utf-8?B?dHpsZG1UYWVQL0JzNkJoZkZ1WDFZeHhDbzJhbW5jTEpVcEM4dEIyZUVMdGo1?=
 =?utf-8?B?aE1ybE1mMS8zRHFuYk5LR1JOWXRaaS96TUFqQ2tQdXk5VlN1a1lEdksvYmY2?=
 =?utf-8?B?ajNsQURRU0d0Ulh0clRDOEYxK0RZdlVwcDVIUmtmZ0pNWEc0QUNOK0xkM2N3?=
 =?utf-8?B?VHgweVVkemR5bUVqbmlUbFlGR1FZcUZqTG5kcUlMLzBuQ1FQMklnYWI2UzVR?=
 =?utf-8?B?ZUlac0w4dit2MWh4Vk8xcnpDZWY1YmtPa0tQcFI3OFFERER1Q2xhYmdCZ0Y5?=
 =?utf-8?B?dkt0ZjU5RzZEMVpzVnFCOW1TYTdzbkJJcDVXK05hOVpBZ3FvVWJVdmJmMDNT?=
 =?utf-8?B?ZXJZWkRIYytYNnlKTmxuOUZVSkhyTkdOZ0RSY1U4SFBZUTVBWEZMUXpIenNr?=
 =?utf-8?B?eXozWmxxaUE0Q2FlK01tMW16MFAzTFM3QzJCTHlGcWEzTEtoS1ZWeVg1dlZI?=
 =?utf-8?B?eHJMNWNzbkdvT0tPSzZiSDY2N0MrUnRUSG1oOW1sb2RqUjZNR3BDbUJvVTlW?=
 =?utf-8?Q?RSHNR/XJOiSFEXiyJNZjBBNLm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 72f43dc8-8c88-4e52-9257-08dae26cf2a2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 09:31:18.3776
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qFtEKxP2g4aODTC15mONkUPskGd7YPAUJbUl1U5yKQrtPINo2Td5HKPlNpB2fY6NSc54hvpH4Wovi0bOlcT0uQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7571

On 20.12.2022 10:07, Julien Grall wrote:
> On 20/12/2022 08:50, Luca Fancellu wrote:
>> --- a/docs/misra/false-positive-cppcheck.json
>> +++ b/docs/misra/false-positive-cppcheck.json
>> @@ -3,6 +3,20 @@
>>       "content": [
>>           {
>>               "id": "SAF-0-false-positive-cppcheck",
>> +            "violation-id": "misra-c2012-20.7",
>> +            "tool-version": "2.7",
>> +            "name": "R20.7 second operand of member-access operator",
>> +            "text": "The second operand of a member access operator shall be a name of a member of the type pointed to, so in this particular case it is wrong to use parentheses on the macro parameter."
>> +        },
>> +        {
>> +            "id": "SAF-1-false-positive-cppcheck",
>> +            "violation-id": "misra-c2012-20.7",
>> +            "tool-version": "2.7",
>> +            "name": "R20.7 C macro parameters used only for text substitution",
>> +            "text": "The macro parameters used in this case are not part of an expression, they are used for text substitution."
>> +        },
> In both cases the constructs are commonly used in Xen to generate code. 
> So I am a bit concerned to have to add deviation everywhere cppcheck is 
> wrong.
> 
> More generally, we are still at the beginning of MISRA in Xen and I 
> don't think we should start with adding deviations from bugs in the 
> tools. Instead, we should report those bugs and hopefully by the time 
> Xen is mostly MISRA complaint the tools will not report the false positive.
> 
> If they are still then we can decide to add deviations.

+1

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 09:31:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 09:31:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466797.725745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Yy6-0001lk-QC; Tue, 20 Dec 2022 09:31:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466797.725745; Tue, 20 Dec 2022 09:31:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Yy6-0001ld-Mz; Tue, 20 Dec 2022 09:31:26 +0000
Received: by outflank-mailman (input) for mailman id 466797;
 Tue, 20 Dec 2022 09:31:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7Yy6-0001lQ-1T
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 09:31:26 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7Yy5-0003mT-R1; Tue, 20 Dec 2022 09:31:25 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7Yy5-00085o-Li; Tue, 20 Dec 2022 09:31:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=P5BdWCvn6IdCunZFPibhtch64SqgwY0Zsd/QKj5sHmc=; b=4BWTMq0tdCR1BQIV3sn9IfNmhn
	fglbXZp0uxR/EGuGLpm8N5ZJFOpvpNTm3cJeVhZTo7YD8/viPdCz7rXBIPZvIlzjLWMVDJy5+zGkC
	PXYBDgM1KSCLfXYKbCvYnHtZHHQ7ITbpPh1tw9sP4aBXpUiOAAbHrRX8r1eSenUE+K84=;
Message-ID: <094bcc12-3dba-33e6-534d-82674cddb883@xen.org>
Date: Tue, 20 Dec 2022 09:31:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH] xsm/flask: mkflash.sh: Use const when generating
 initial_sid_to_string[]
Content-Language: en-US
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 xen-devel@lists.xenproject.org
Cc: Julien Grall <jgrall@amazon.com>
References: <20221212093631.38018-1-julien@xen.org>
 <0171da79-2c42-071b-e7cb-ca162e04654b@apertussolutions.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <0171da79-2c42-071b-e7cb-ca162e04654b@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Daniel,

On 12/12/2022 11:31, Daniel P. Smith wrote:
> On 12/12/22 04:36, Julien Grall wrote:
>> From: Julien Grall <jgrall@amazon.com>
>>
>> The array initial_sid_to_string is storing pointer to literal strings
>> and is not meant to be modified. So change the type of the variable
>> to "const char * const ...[]".
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>> ---
>>   xen/xsm/flask/policy/mkflask.sh | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/xen/xsm/flask/policy/mkflask.sh 
>> b/xen/xsm/flask/policy/mkflask.sh
>> index 591ce832a1d1..611689768167 100755
>> --- a/xen/xsm/flask/policy/mkflask.sh
>> +++ b/xen/xsm/flask/policy/mkflask.sh
>> @@ -34,7 +34,7 @@ BEGIN    {
>>           printf("/*\n * Security object class definitions\n */\n") > 
>> debugfile;
>>           printf("    S_(\"null\")\n") > debugfile;
>>           printf("/* This file is automatically generated.  Do not 
>> edit. */\n") > debugfile2;
>> -        printf("static char *initial_sid_to_string[] =\n{\n") > 
>> debugfile2;
>> +        printf("static const char * const initial_sid_to_string[] 
>> =\n{\n") > debugfile2;
>>           printf("    \"null\",\n") > debugfile2;
>>       }
>>   /^[ \t]*#/    {
> 
> Ack-by: Daniel P. Smith <dpsmith@apertussolutions.com>

Thanks. Not sure if this was intended, but the tag is technically 
Acked-by rather than Ack-by.

I have committed the patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 09:35:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 09:35:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466815.725756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Z2K-0002mu-Cw; Tue, 20 Dec 2022 09:35:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466815.725756; Tue, 20 Dec 2022 09:35:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Z2K-0002mn-AH; Tue, 20 Dec 2022 09:35:48 +0000
Received: by outflank-mailman (input) for mailman id 466815;
 Tue, 20 Dec 2022 09:35:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7Z2J-0002mh-H9
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 09:35:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7Z2J-0003qc-85; Tue, 20 Dec 2022 09:35:47 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7Z2J-0008RN-2Y; Tue, 20 Dec 2022 09:35:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=iQkDUosc5fkvvT8gkag7cr4V83/r4PjbfhI3+Cu0864=; b=aaUG4GUQ9O5BPys51ph5t4gb2L
	bQeKVHuCMoD/ukLu8AAO+jP0DFHja2axjGtHFxOBnfv0tKzzLPiJPglMCMRw35IjI14w/NRNEiD0W
	3TCZI+kuAf+/hCJYNj32reTnIclOlGow5zcncKq0QnIE2SKUl7OeJKeqqc67/lT73/JU=;
Message-ID: <31d758d0-4c2c-3eca-45b5-9fe8f93e2d67@xen.org>
Date: Tue, 20 Dec 2022 09:35:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v3] xen/arm: smmuv3: mark arm_smmu_disable_pasid
 __maybe_unused
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Bertrand Marquis <bertrand.marquis@arm.com>,
 Rahul Singh <rahul.singh@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221215212619.78686-1-stewart.hildebrand@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221215212619.78686-1-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 15/12/2022 21:26, Stewart Hildebrand wrote:
> When building with clang 12 and CONFIG_ARM_SMMU_V3=y, we observe the
> following build error:
> 
> drivers/passthrough/arm/smmu-v3.c:1408:20: error: unused function 'arm_smmu_disable_pasid' [-Werror,-Wunused-function]
> static inline void arm_smmu_disable_pasid(struct arm_smmu_master *master) { }
>                     ^
> 
> arm_smmu_disable_pasid is not currently called from anywhere in Xen, but
> it is inside a section of code guarded by CONFIG_PCI_ATS, which may be
> helpful in the future if the PASID feature is to be implemented. Add the
> attribute __maybe_unused to the function.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> Reviewed-by: Rahul Singh <rahul.singh@arm.com>

I have committed the patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 09:39:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 09:39:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466823.725768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Z5S-0003Qt-SA; Tue, 20 Dec 2022 09:39:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466823.725768; Tue, 20 Dec 2022 09:39:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Z5S-0003Qm-P3; Tue, 20 Dec 2022 09:39:02 +0000
Received: by outflank-mailman (input) for mailman id 466823;
 Tue, 20 Dec 2022 09:39:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7Z5R-0003Qg-Bm
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 09:39:01 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2049.outbound.protection.outlook.com [40.107.7.49])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 21bc272f-804a-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 10:39:00 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7571.eurprd04.prod.outlook.com (2603:10a6:20b:2dd::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 09:38:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 09:38:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21bc272f-804a-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jiTRgSGAyCoG5vk2OfEBbdehqm89SbZU+eRLGkOrl3hGT6k6yqrKS3htCCTebAg50acJvlZZJQIK/ml2DMyh4WJP7eyx5Bul1z515KmQ9tropBa64L0Fr+UkW5gHx9PONxh6JizZnQUj8OAyFEffGUsOvl3Va+H6gM/LxQindAHNlK09rcTmymyyRPjeHWuryrsJvtg+cEvLTBV1e6eu8zX8eIacZEuMQA0oPb1+2isYOeXo6d0LjOpHtEikU9/3FTJxYdDo0fK2e6wyMNh/gsf8NdGhB6PGr4h7ykmnRR++Az6MNb1QcCX6pYHaN9WOnrqMQf8DNwft/pE7PWG/SA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=54sLO94CEgeqfB5DE1j/NEXE7jCLxSHQUAP2HF88qYM=;
 b=iO++/KhXKtt8f8f8aNSpmlAwA4QE3W+dINCHokqMwmwy6bMGeKcdjen4pPXLBUkX4Mr/C9afsH+2KzbjadsgNhMINrr7foxSEeF9Z9ljpHoKrvjc/adzHEV9KEa75zrkuQ5EslsY8MjFeEvtR3xn4zWBMw+VdtqFE47FWCOjSq4cKb0Q8hoZTQNjj4K+jhuf23UjUEB2cJAtjp7BHcsEQkaJru8adnLsmZMGSx1ygIADudg3ZUno1gZEGv01qcTyuHoLekS8vSSb7L0OJknvI8MGeU0JRm9NfOuog1rW5sGmeFhweXjnNJ1Pfj7kkZFPmMt02hVy8V0zKwhW7/NuiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=54sLO94CEgeqfB5DE1j/NEXE7jCLxSHQUAP2HF88qYM=;
 b=vPUmHSl5ISvc78MIX//Htr59RhIT5k5XE2U/H7LJbgcnciIeB4OGJ3IBQEFO/pA4KtZ+P1OAi4fK6Vsn5ceZolAAR4LvaJx4OTH9XfgeGg5hclC3QL7Mdmi7WE1eBfkO2yuiUIv3eNSWxUZ+joTWVbZXsMTQwc1fT+/nQmHhvQz8BgQZsiD0OjPkQaA5MjsfzXb4wMjwSNDCql+vaWgYh8kh7E+uB0S7BMhmgEweUi5zJhViKacZWNsNbMhF+QrcV6RmfLH5J0B3ya6nkWd04PAbU68QbjeFFaknYxOdOh72xw8rQdWa4BKaUczihqi/5Emm7KcjnO8AXPONwolH3A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <72ebe791-7e3a-acc0-0021-cbffed69e10d@suse.com>
Date: Tue, 20 Dec 2022 10:38:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC PATCH 05/18] arm: cppcheck: fix misra rule 20.7 on
 arm/include/asm/string.h
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <20221220085100.22848-6-luca.fancellu@arm.com>
 <4b51edb0-a203-a6d1-b660-914dc0c87bf2@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4b51edb0-a203-a6d1-b660-914dc0c87bf2@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0061.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7571:EE_
X-MS-Office365-Filtering-Correlation-Id: 548f139a-0842-4657-e083-08dae26e04f9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YUrMieT3uUQj4VyG12YxRWYZNtD3ta02sr0YnfgwQXoYjKUAo6jOshKR0udU+qEYzNWNV3G7gaANp0reYY3LyFsAWdrdwxweXLHPPHpMDHg7b+FdM+aNkykIcKWUVwyxpY+dADZqwmz2Ec7KlCt6OwzZpevyhmefh4jcDrIh4X3OpavSIb0AUQg8p0XxMIbYxhSUvr61UeOL0i4lUZEBaPAXfPKIylYKMYzuMHUxmuqNRZ9LQKvBnHh59WA/4o1mbHvFY3CG2SlaSOQkFJeSrVRAU1A+51j9oMBCX0T3xFLvqpxIXu0ZqvyhYCIGKOnAZBN5zcerMJBTtnCDmFGLa9l7PyZ/JD/jCWdZBiB4UCZisFZnDqD07E4DA2dnQV5eOUWmY7jRh+QZb7AwitRYsHHL8FSuMyoa0Bj2RNPxkV4bx3CFOEvWDxhxxIdasdjuTxGmNnZHJlCbNzdfUfPLZP2S626927vW64OVPWeRotWmm9Qzxzx6OSHHiac0XG2I/mQD5pt0MJ8CIO4tCmnRIz5evtXaM78SQQvEen/kt5tRuuUietvddSF6PZj3j/nYqUQtHb7jSxLiCGZ/nFObVURm/tOhmlzPKTkrvJTgMHXP8WvbH/W6n9J9tiGX157igGakDvz1yrb1iReWHCfRYmUS+8RbRm+MDIBobJQoqoyR9MBxBGnddwf9CYHgKlqG3P8PjHw8Z6E0Lg7w4d5Ur41/TYt05QnIY4iMKgY1YinMShCRxuMevWf2TYvy0j15YTi0HjDrwIR+HcqdwAnj8w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(39860400002)(346002)(396003)(366004)(451199015)(2616005)(38100700002)(86362001)(2906002)(54906003)(478600001)(36756003)(6486002)(966005)(31696002)(316002)(26005)(186003)(6512007)(5660300002)(31686004)(66899015)(8936002)(66946007)(8676002)(4326008)(41300700001)(66556008)(83380400001)(53546011)(66476007)(6506007)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cU5sdldkRktPc3ZtMXdZNmYxYlRkUS9ObEFVM2lXazBrdGp4bmY2Q0thN1Fh?=
 =?utf-8?B?SXNveTYvMDdZTUc2R2xpQ1M0RHg4SzFIUHdGVjBPdjhmcTRVRWNodW91QkRS?=
 =?utf-8?B?cmp1ZVhyeFNXTDhqL2t6VDl6SEQ2ZnE3R3c0WVhYQzRMbHRoZnRjcDFCMlox?=
 =?utf-8?B?eFUzUEV1M29iTC82cTVweXBnK2xKSDZBamRDTktLU0dNSzVNMHVDYS9YL1JF?=
 =?utf-8?B?NWx3SGN2bkJvYmFvVmRhVkQrV3RvblBiVk9uMHY1V256QmFOSlUvNlRleXVo?=
 =?utf-8?B?cHZkaVdaNWlodzcreEZxdlVlcVloMi9oOXppVmdZT2crU295UWpsTEJ1RWsz?=
 =?utf-8?B?MDNBeUQzeE00SmVoTFQrbnpUZUF2OXI3eXo5eUQvdXIxMGV0NTFadDRoelhC?=
 =?utf-8?B?aDg0dnNTWW5neitWQ3VWYjlYVzNKVDVSdVV5akQwa3lVaVFwWkpuZFFBS2Zs?=
 =?utf-8?B?THdTY2x0ekVtU2prZjYzT285K1VubTNkVFhnQy83ZDBJUHRwTXRHOFBKOUdy?=
 =?utf-8?B?YkRpKzVCcHRxRDRDdmp5cXQwSUZ4TktobWxCSDlGMWFhYVlJK3JMY3BnazVD?=
 =?utf-8?B?ZE5ZUFcvWlE4V3c1d01jekhZaGcyQ25mdzY0eDVTdkhUOG1yL3pVYmVxZ2J6?=
 =?utf-8?B?Qkk2Ynh3VklPSlppT21lUDNxT2RVREp6SnNNWU1IYTNCdEZ6T0IxZktrMmd3?=
 =?utf-8?B?TW51dFNzZkVTc29vTlRRS2w2MHdQRVFKYTkvOExualNIS1NMQTZCMDhxWFV4?=
 =?utf-8?B?T2NsTEd5YXhxYWhxYmhzOGZubEhyZ3pZRG9qcnhKMHFpTVJMbTZCZ3Vrd29n?=
 =?utf-8?B?aHBoTzJSd2dkRC9ZVTRjQ3piZ09VNFYwc0g1UkhsaXhENFNpamVRVUIyd0dj?=
 =?utf-8?B?SitkTkdqVzhwYWQvTWE1Z0drUk1BSnluL1VXVEhZU1F5SEJGcE5Ld3E4MGIv?=
 =?utf-8?B?VkkyZm5GNnVpK25MUWRrSVVyclRWSmt3U2xZY3RpZ0FBZWR4c3ZNNEMwZ0V5?=
 =?utf-8?B?NFFqSG1XQ1YxdlFwTjhVbXdPcWpXSy9TZFh3YWRUbGhqdmp6N1I0cGIyNVdW?=
 =?utf-8?B?Zldxd3JtSUxLVkI1K1djSVBhQ2hZYWN4aTQrdENZRzFJaS9QbmRNUVQ0Z2U0?=
 =?utf-8?B?ajhPOG5YaytISm9xbnRWdnROMFBvNFZKRFY4WEV2YUZXUGo2ZnNabEJINXor?=
 =?utf-8?B?dVA1RG1yRk80NUVZYU52WXh4YVhPTjROOFZ5eGROaGZwNy91T1VaY0tiMFQ3?=
 =?utf-8?B?NmllejR3RmY3Wkd3S1pTQkdDTDJ5bUZ1SC8zRDRicmk0Y3Z0dndyOFFxQ2w3?=
 =?utf-8?B?Sk1BKzlJZE5sMkZBVTVuNnJPUUlnV3FoVWVURmU5eGw0aDQzYmt3dFpxUTFk?=
 =?utf-8?B?QWFBa3plT2lrcys5OHZYUUVzNWlCSU5aNTByR2tnZURybHNLZmIyaUJuSFNQ?=
 =?utf-8?B?MzdKSEU4Y3g4djJnRmxtSm13RFBkcy95ZEpxQUxJYm51Zk8yeXdnNXQzQlZB?=
 =?utf-8?B?a2Rrcm03cU9tUzFKTWQ5amRORW1Nc0VWRTMzbS9oa201ajZvU1BBc1ZHckVP?=
 =?utf-8?B?N0tsZDZhVE1zYkNoQWIzSWhRWDlZbUxiVUJScjZ5RGdvUG1ZbFZpVTNuUHRD?=
 =?utf-8?B?WWcxclhpNVpIaDRUSERJRDRCYjZwMTZieExoTkNkL3R1WUhEYzNMc0VBMXc2?=
 =?utf-8?B?MytlVzJCOFBBZ0FlYVBZUEt0cW9QWktMakY4a1ZjN29qNEtaUDlPYUNBc1hB?=
 =?utf-8?B?VzVuTVJrbUI1ZGJtZ3JDL1piWWZWMHpoZDQ0RzYva2VhWUJkWjczaEVobHZ4?=
 =?utf-8?B?TW9lMU5lOHN4Mnc2WVd2cU1KeEdSU1o1UmxQTUtrRExZQ1IvcVFXR3BuV3dG?=
 =?utf-8?B?K3g4eGp4NGFmNEFScFUzTTB4Zld2YkZndmhwazVFT1hXUFVHVFoxQTA2TDhk?=
 =?utf-8?B?OWJxVE5BLzBka3Y1Ny9ZTWUwYWFyWDlsYlp6N0J2bmNxMlNJYjVYbnBOWFFY?=
 =?utf-8?B?enRVWDcxNTZpWGgvTytnRkR6b3FYTnJUb0E4VEIxakx6dXJqUzZRQXQrOVpE?=
 =?utf-8?B?NS9LeXMxVitXUmQ2a09XTUthZmdUVU8zT09sdHI0ZHBySHcvZEF4eG5qQ3hm?=
 =?utf-8?Q?Z0nBkzX2Tqc+z2qmgxaRqzVyr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 548f139a-0842-4657-e083-08dae26e04f9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 09:38:58.5673
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FTMowmZvu+IQ8d3/njwS0u1Z9Udj9bItaVO3gf40wyjYNdykviq6NtMZDP7b3s9QfYia+2579PVJabkhCr8/1Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7571

On 20.12.2022 10:12, Julien Grall wrote:
> On 20/12/2022 08:50, Luca Fancellu wrote:
>> Cppcheck has found a violation of rule 20.7 for the macro memset
>> about missing parenthesis for the "n" argument, while the parenthesis
>> are not mandatory because the argument is never used in an
>> expression, adding them will not harm code and readability, so fix
>> the finding adding parenthesis for the argument.
> 
> This is something I have argued against in the past (see [1]). So...
> 
>>
>> Eclair and coverity does not report this finding.
> 
> ... if neither Eclair nor Coverity report it then I think this should be 
> a bug report against Cppcheck.

Furthermore in reply to my "Arm32: tidy the memset() macro" you said [1]

"In this case, Linux has removed __memzero() is patch ff5fdafc9e97 "ARM: 
 8745/1: get rid of __memzero()" because the performance difference with 
 memset() was limited. For Xen, I think we should also remove the function."

So either you want to follow that route, or it would rather be my patch
which ought to be considered for merging, not the least because it also
deals with yet another MISRA violation.

Jan

[1] https://lists.xen.org/archives/html/xen-devel/2022-08/msg01185.html


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 09:44:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 09:44:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466831.725780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZAt-0004sV-II; Tue, 20 Dec 2022 09:44:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466831.725780; Tue, 20 Dec 2022 09:44:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZAt-0004sO-DT; Tue, 20 Dec 2022 09:44:39 +0000
Received: by outflank-mailman (input) for mailman id 466831;
 Tue, 20 Dec 2022 09:44:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7ZAr-0004sI-Dm
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 09:44:37 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2060.outbound.protection.outlook.com [40.107.104.60])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e9ff6262-804a-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 10:44:36 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB7067.eurprd04.prod.outlook.com (2603:10a6:10:12a::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 09:44:34 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 09:44:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e9ff6262-804a-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nRWjhcEhfsiD74TjaVbhClWEMdg46rXTy5p7TRJAj39A5Vi114gMMIChrisEDtXNTTB7r5p5h85fg1T0Vf6eeULH5zthqYRYNKwymYAYXvhKsHbO/hmh7kO5KbfJd3gRIkMjQ/cvQpY4eBpVId6rczkWE/eC9zEAUj73jHQrQyEz2TcCFdkiXUwzpVXsWyGslv45zZ6KGvPzDSpp4jve9zCpx356/gSYwsAbzzWTBhI8vrpkPjF+X7n4/PsVUzoV7nUVeIcZB8KamUMGgiaPC16h3NRZTQ4jMEKOvh2bTLDo7GswdWTkWVw1lFh8BliXh/X0sj6OoUkpQ/7egom+xw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jn7b1slLY8wvu4lXcQuKb6YZeycbPJDIEKL82T3pcg4=;
 b=mOY/Q8QrsJM69o7qFA7xpIkmCHcldDDTDxmJLcgmSbtDUvoDOP3ODdeXf4Muz9DnOsYZ9MItu8hhcKjSAsWBrDK4W/QsCH1UbVD4B9tA5KsyZ/xvu1wVwiozwpP2arvmp80fO6EYwz8r4+ETcJ/H9s0nuRZlOCKxNenqEt2A2kVE3AG3uXRI23N9b0wP5sjBo74KgA46vRK3uawgT6EKhY4Arvnt3Y2x/AwufbT0ybIW8R+Uw837dsaaelln8TeAEbjCwNKGbZu1XOOpJL8F/1s7wWoHY0Fu160kEjI3hsHhrtMg4H4eBCs0NZ8W/UNNBQ27alkS4z6513rNtkIVCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jn7b1slLY8wvu4lXcQuKb6YZeycbPJDIEKL82T3pcg4=;
 b=xqltrtkccvfOwoTay7gzqV4aPvhnv+bOkneY3j9RfAb3KqXERfQrAGP097gVRlXTg5Z70AVuHrpg/On1Tjx0f8bqG/W74NwAKY6oo8w/Id4eFmh6hS9oukhe/z6WhHG+uivdXTVB07bVGrXGyY460wsb7cEylFFPRbQZWcjCsfrudC/a5//MIkRrLqvUzL/tIfABeBpxuNbJ2EIvEq3XDLcYageqrMmp5cTx9LNV4maN2ornKyXfPEmyfEGvW2KxVOgWGvCFLf8zUxPTdZPjfsvIvZW96MWm4NlxwFeyusdShWpKJxRne/fMMEcHQw4GhowfFFjDU1iFd/EGQVWnIA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fa6ddc2c-b8c5-354a-ed94-bd19fde1a21e@suse.com>
Date: Tue, 20 Dec 2022 10:44:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC PATCH 08/18] xen: cppcheck: misra rule 20.7 deviation on
 init.h
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <20221220085100.22848-9-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221220085100.22848-9-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0121.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB7067:EE_
X-MS-Office365-Filtering-Correlation-Id: 0bf984da-7e63-4d67-d8bc-08dae26ecd6b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AtTAEwUauABcCD3E/+Qs2L7Rg6ShZMY1RCM3CMa36tqwyxO5F9hEB+XSr5CgzTUICg1cZM8GANwR7QgD8ytmQ7VTteGQnFb8hDrHKNJBMfxMHzHwPwV6AoVdy2MUg0/+voOwlZlR/ZkO8K5qrhvxtl5NyzcL1/EOlj4/5FG6CdtFVW9+nmD9LPVy0TwzR3PWTatXlspVcAxwKDa6gz9blehsKTa2c2vFVEMRNTDgV5to6jxqweJ9R6cS3oAuhLdRhnzEmgC+RZfbq004tyhrXhqvrUPvcL5HwyOVgXrbCE3u6KV2jQb/1DuERopC2YjnLmaO3YyYDWvP55dmGFwG4r1YGSqRRn0Te6LuBNaBMXJLkvVvqBR0Uxary8xn5XgC7Y9LJiSvO9m6qrIv3mXbyfdzh9tCyXbL+jbWKLLR9g9y8cK2vGwMww4+N3UlIgIZDPlmbIcgs0BWSbetkvBvN8hraZMST2V3Hnh5oelGgP+tUKyPi4klZy82H1e1n2/IalkVpQ9haVFY2rBMOD6uF5c+m5tcHuXeXcVbolU1L3mLNCz8725VbdUAdnw810NKXcu6kukDM6IuK9VjRvtUoYGzPn7hXGe5fpW7KhX+ZowHn4LFtnXVFgd4Vjfbu1+oeaTRI9tS/YRz5lxWse3F/TIu7Z6sdVUqvnmenIULAWjdXl7dNzQtvGX2ivb15+II+Tal4ozoSLzEWLVBi6t22Uf2fuA7qmR0AHyfSYBok6Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(366004)(376002)(136003)(346002)(396003)(451199015)(316002)(4326008)(5660300002)(86362001)(31686004)(8676002)(4744005)(186003)(6512007)(6916009)(26005)(66556008)(2616005)(66946007)(66476007)(31696002)(478600001)(6506007)(6486002)(53546011)(38100700002)(8936002)(36756003)(41300700001)(2906002)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bkhCSUtKNnRGb3R5NUViWENLUWUxZEtuM1RsQVN5bEZ1a0JPMjJkejVZdWhD?=
 =?utf-8?B?SVVDUjBaeENMRTg0WWc4b2ZjNnNHOTdHdWFxT3dreFFPTTZZbUVyWHlQSS9M?=
 =?utf-8?B?ZFVOVGt3NDg1ME8veWh3K21ydnd3MUNiNDJ0UlRaL0N5V1NPdzNpMEl3bUpL?=
 =?utf-8?B?RFoyZzVYcDZ2YWd6OUlyQi8zeldkMSszTTJWai9FeVlJSytxSHM1ZHFJTkM5?=
 =?utf-8?B?b2dBcTYyTE5zenc1czVEU08rZTR1SEpJRGI3MzB4QWtFVXVrM2gyQUFVL09P?=
 =?utf-8?B?elBjYTFSMkZQdjdGdzhWMFVWa0xGdnVnYngyN2RESGNOTEt5MmtJNy9hTzVv?=
 =?utf-8?B?Z2hGSm1xRThDQWZoVkExUjU0TTFPSi8yYWRUa21vVHhJNm9RbWx3Vi9SSGpC?=
 =?utf-8?B?UTZlTmxVSmE1b2hkODJyTExqOGVVUFkvclF6ZDJoY3VJK2dUd1p5RVNnMytC?=
 =?utf-8?B?THVFK2J5UGt3M0VsU2prNnB4c2FwZGlsSDI0NDZ3RUpHT0hLTDNQYVJNK2po?=
 =?utf-8?B?a2VIT2w0VGtZaDEvQXp0NmlDYUJDYlpGV0N6dEI4czgyRW5EM291RmI5SFpM?=
 =?utf-8?B?ejNjZ2pQZkxObTM3bnVDbTRFR1V1QXBaRjNheE9LOW1oQVVzNzlQU1Z5dXNF?=
 =?utf-8?B?bytJb05GMWlXb1BhcnNISGNmVVNydUN6ZDJQQkZEU1FoQ2s0L3ZwdmM5bmNW?=
 =?utf-8?B?WStEK29hY25NSkxiNURhYXZpaTUvM1NSWGNKaUJEVTcyV3g2ZUlpSUhmVGM1?=
 =?utf-8?B?RzBNK3BTcnJzbHpDL3ZVRXk4Nm1Sb20vOGl6SmhWc09TemRXc0NqS2QwNk1E?=
 =?utf-8?B?WG9UZk5IbGtTdzRObHphM1FpZHBuLzZhWlBxMTVCWkpCSHk3QzJjUCtoakVw?=
 =?utf-8?B?WDZTN3NZc0VuVmNiS042MitiNlZNc0p6YjM5aTFobjYvazVHbzQ2MnBnOUl2?=
 =?utf-8?B?djE4R1FXRUFlL2U2Umx2bUEzbDJVazZraVlUWmxPNkxjaVA5bUdldTBxdjli?=
 =?utf-8?B?QmttOGtiU29JZzNNUUp5RHNpREkrRGRvdURXSUZiWmd0TmtPcnFiRkd5Yk81?=
 =?utf-8?B?Q2ZZeStjZG9CWkthWS9kZGtUekR3K0t4eWVtRG1acmkvUXozOGpaMkVQbk1u?=
 =?utf-8?B?UXBCWFFQbXhTSUtsekhJM09ic1k1bEZIdElHdk9vS2tTSDdDVkUvamJ1NnlW?=
 =?utf-8?B?eXpWcjU3SEE2N2ZJV3hWZ1ZyR2VLUHlnSDQ4S2QxU1VtSEo1ZHFkZk9pUktk?=
 =?utf-8?B?U2dsOWRGMnduaGJ4WHdrd0JiT3Z5YkVLTVpjZlhaMktBY1kzcXJIVG5uWDRB?=
 =?utf-8?B?SUNHdGNRejJ2c1J2Lys0ZTdjdDRrZ0RWK1h1ekR4ZU1QNENxU0d2bjB6WWU5?=
 =?utf-8?B?VDRsWnpiTUN4VjBQTmh3TGhmUjFwSXd4Z2xsWWZoMFVCeXE2bXJieFhyNEtK?=
 =?utf-8?B?Zlk0aWlEWVJHSktZdFNsNXdkekJmZk54WjVqak4vMHBJVkR4ZUZVUkxBQ01i?=
 =?utf-8?B?REVSbDdBV2k2Sy80UERSVGpYd2lFcWQxWkJZcmhKQm1LUmJ6MTRXYWhjRFJP?=
 =?utf-8?B?c0l3WVQxb1FMclo0NVg0TFpkSUZrdTlybE80bDkzUVN1V1k4VFV3S2h1c2JY?=
 =?utf-8?B?UG5wcUxhMmU3YXIxSW43T0FrTjVlVzBzcWRuM3VnUXNTd0tHZlEwby9EOHVV?=
 =?utf-8?B?VVZLRGVkOGxZa0QvZTZEMzJpRi9ZcGd3QnFKN2x2L1VOcmVjWnlhNHFQM0pG?=
 =?utf-8?B?QkdJL2RDZ2xFUzZVdmxoQmMwenJ4Yy95TVpiaktOQkxLSHB4S0J3QTFyT04y?=
 =?utf-8?B?MFBUMHdTMmV5TzRpOFdYSXdWYWNpRVZKVE55VC9TekpWYW94dDdQZ2xpMTcz?=
 =?utf-8?B?MnpybjdFRjhxTllXU0FzSFF0WHpseHVicERkV2VteXdvdStpVlo0ZFJncWRl?=
 =?utf-8?B?b3hSLzFZWG1wTzBLU3pQclBFckRtTk1WSkROc29Fd1grNExmREh3RjcwaU9j?=
 =?utf-8?B?blhXR2RIc0E0ZjJmNHpWak84OVR5dEJ1NlhGUEZ4YWhBcmdmRmEzemtneW82?=
 =?utf-8?B?TGZxbDY2cW00SEl1TFd6TFhDWHFXR2E4ODJjd3Ztd0pFSkZnN2Z0SUNOQW9Y?=
 =?utf-8?Q?PcOXiF8JL6/JJd9PXAx2dFzBw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0bf984da-7e63-4d67-d8bc-08dae26ecd6b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 09:44:34.8429
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RjPUVgscvCyI9nFkyRQ4vLHYYhQ2NJOddxMjrVSWAkhuohuKnICuMFHZ5RP4DGUNnmosM7yR/FBAwklBcy23eg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7067

On 20.12.2022 09:50, Luca Fancellu wrote:
> --- a/xen/include/xen/init.h
> +++ b/xen/include/xen/init.h
> @@ -15,6 +15,7 @@
>  #define __initconstrel    __section(".init.rodata.rel")
>  #define __exitdata        __used_section(".exit.data")
>  #define __initsetup       __used_section(".init.setup")
> +/* SAF-1-false-positive-cppcheck R20.7 argument as text substitution */
>  #define __init_call(lvl)  __used_section(".initcall" lvl ".init")

Would cppcheck also complain about

#define __init_call(lvl)  __used_section(".initcall" #lvl ".init")

? If not, removing the double quotes at the two invocation sites to
balance the addition of # here might be the better route here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 09:45:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 09:45:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466836.725789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZBO-0005Oq-QE; Tue, 20 Dec 2022 09:45:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466836.725789; Tue, 20 Dec 2022 09:45:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZBO-0005Oj-NH; Tue, 20 Dec 2022 09:45:10 +0000
Received: by outflank-mailman (input) for mailman id 466836;
 Tue, 20 Dec 2022 09:45:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xvy2=4S=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1p7ZBN-0005JG-RL
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 09:45:10 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2050.outbound.protection.outlook.com [40.107.243.50])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd33de92-804a-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 10:45:08 +0100 (CET)
Received: from BN9PR03CA0797.namprd03.prod.outlook.com (2603:10b6:408:13f::22)
 by DM6PR12MB4895.namprd12.prod.outlook.com (2603:10b6:5:1bc::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 09:45:05 +0000
Received: from BN8NAM11FT031.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:13f:cafe::4c) by BN9PR03CA0797.outlook.office365.com
 (2603:10b6:408:13f::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.21 via Frontend
 Transport; Tue, 20 Dec 2022 09:45:04 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT031.mail.protection.outlook.com (10.13.177.25) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5944.6 via Frontend Transport; Tue, 20 Dec 2022 09:45:04 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 20 Dec
 2022 03:44:59 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 20 Dec
 2022 01:44:38 -0800
Received: from [10.71.193.33] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 20 Dec 2022 03:44:37 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd33de92-804a-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TC9SwWJQp+N9Es06l+zc5lRtDVSstTs4CZ1n3G52egfN/6gRumvrTItgXdI1b3eNrHU2DdqVCUokx4Fj85w4rZFhjzT5ALBQRL+5zTmbNenEUSkcEFrFjRUKcfpMwvvbqk9UUUGKgVroprbygv1rUy1JAZGdtfY96h3R/gOcnU4Een4RelwAUl2JfnZst8h6YvyriNV9XMy3tkqVn+qJElFvfbDb2DvuGvMks8kHV/RM3BwFQluwrVUt+9cl1ufyLBDpta5lCmI9VhHVKFvXgPSe0qrOKndTs5kTjfwQVncFlxqas65V9/28YoK9yLLU56Ah4nwuHSEl4o+mAqw3ow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lrFgEUx0HyVEIJQpnHEeHDP9doH/V5+tumNX/NOf1ZY=;
 b=SLNZxaP6BSkFIeWHV6P6t8duzfbpQGkXQX9VVZ4wF+dgNzF2mnzbpGUkD/no22vjCZbiJUbqmFO8TQv2RGzA6sUM2aK6QweFPZF5WR0st58XtlkHSWcsroQJMeMP1XT/dpiSerVsfyCSQzqqrDe3TnTvSAnfBg4cTD9xzult1JGLw57nUvopGhZxpxTwPkKnlGzduQIfNvEyMyL2Q9adJh9zLSlsYnaF2/uh7N6rum+4/NlzCfhqSDw9xbCtNOb9CZgMFAi2Sokxwwasn7umlXTAepu55djwW+2hHJoAJhPdDU+IXqOSONND5OmzUFB1zn+d4HPAvP16iQhcfMtwBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lrFgEUx0HyVEIJQpnHEeHDP9doH/V5+tumNX/NOf1ZY=;
 b=LyUoE5WVOYtY2MWRQX826DdyN5Cv/GPJ8XiuEPnAP2dYkcX75vVfWzOW5/sA+1eLV30Fkk0qfQc22KXcc17O13dgkGAnjq6TbxBsmsmlJrTSK3/pkhATA2o9oVA1TSn9pTukQaaAeKekx6tVsy/xP7oE+3qeNQPddxRi3QSEFaM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C
Message-ID: <75635251-5f51-fbe0-28be-a99480541116@amd.com>
Date: Tue, 20 Dec 2022 10:44:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [XEN v3] xen/arm: Probe the entry point address of an uImage
 correctly
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	<xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>
References: <20221217193801.19485-1-ayan.kumar.halder@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20221217193801.19485-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT031:EE_|DM6PR12MB4895:EE_
X-MS-Office365-Filtering-Correlation-Id: ad14ebf2-9d76-4f2b-cf1e-08dae26edf0c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JDjA+XhL8BIIxeIWdD6Epc3W900YXeSitlEUg9+s77+PUZRZwIrmxppoRO0KSqqTCekeRiN3wOEvjXTBM7IijizgFgmd1yEJzzIXrQJot0E3kpRu26/dqH6BFqpBghvACFxxZpH+I31eB7OGc+NTvtAR86lI59C8WfXST3s7j3LhA3aFcXuveIcgpETbCuT7lnLQjA7pZqL/hSxN983BDKgX0ZEqhfb8LF0wt3hDaarLY6O5XK0H5M4EGyUrFzs4zyyz+S8XYgf1TSPgY3yfRtG7Hr0p9ZxRzAqGfEc7TzIelJNLrWWE9DUbX7iTh7+g7sixE1pECZWJQ7FIVfmTGuKbtiOagkp1BPR+pDfmLwUw7ynIbj6zZp9erGlhf1FNpuxyj5a95DhwYSld+oIokAFsw9fF7XRs0Maa/hCdfYRUJWxx5NJE9XW8eVEl8sL6D2VBO7VOQeihwRQGTmnSj8V9gSbvHA+6bWbKsK1e08QB8zXTGIslbyNLMh8SoNUPhHaFLZqEir6F2mrCG7I912q+YVPMEp3hOtAK7Us73cd/J1oTXHQk7wxnpdaiA4en/UbKV2c/rWLz7bZ9u8q/E/5pZX0cTDKrG30MqIIBKMawzrngxl+NQWv1epPVsu4UKOfiv4yh66/8IuOC6azre5W78zzQQN1422FgQoSlT1u+inXNFatHTMI7ZlWdXlNH4IcF8HNDeZwTw12FtqRkWSJwGCPMHlc7byoESMlAejWLOVa+AKxPnUNo6YBBm8mw4hfew/p7Nq0MIgJExNWpmxWRyxV2Hu5VJVYRiigoDmAtg8MrPdp8NlDu/EmppVpjJJmslcIcjrD2mnSit/9rEQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199015)(46966006)(40470700004)(36840700001)(426003)(8936002)(8676002)(47076005)(4326008)(336012)(40460700003)(356005)(36860700001)(83380400001)(81166007)(44832011)(82310400005)(82740400003)(36756003)(5660300002)(2906002)(41300700001)(53546011)(31686004)(966005)(478600001)(110136005)(316002)(16576012)(86362001)(31696002)(54906003)(2616005)(70586007)(70206006)(26005)(186003)(40480700001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 09:45:04.2316
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ad14ebf2-9d76-4f2b-cf1e-08dae26edf0c
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	BN8NAM11FT031.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4895

Hi Ayan,

On 17/12/2022 20:38, Ayan Kumar Halder wrote:
> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
> result, it contains the default value (ie 0). This causes,
> kernel_zimage_place() to treat the binary (contained within uImage) as
> position independent executable. Thus, it loads it at an incorrect address.
> 
> The correct approach would be to read "uimage.ep" and set
> info->zimage.start. This will ensure that the binary is loaded at the
> correct address. Also, it checks that the load address and entry address
> are the same. The reason being we currently support non compressed images
> for uImage header. And as seen in uboot sources(image_decomp(), case
> IH_COMP_NONE), load address and entry address can be the same.
> 
> This behavior is applicable for both arm and arm64 platforms.
> 
> Earlier for arm32 and arm64 platforms, Xen was ignoring the entry point
> address set in the uImage header. With this commit, Xen will use the
> kernel entry point address as specified in the header. This makes the
> behavior of Xen consistent with uboot for uimage headers.
> 
> Users who want to use Xen with statically partitioned domains, can
> provide the fixed non zero load address for the dom0/domU kernel.
> 
> A deviation from uboot behaviour is that we consider load address == 0x0,
> to denote that the image supports position independent execution. This
> is to make the behavior consistent across uImage and zImage.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> 
> Changes from v1 :-
> 1. Added a check to ensure load address and entry address are the same.
> 2. Considered load address == 0x0 as position independent execution.
> 3. Ensured that the uImage header interpretation is consistent across
> arm32 and arm64.
> 
> v2 :-
> 1. Mentioned the change in existing behavior in booting.txt.
> 2. Updated booting.txt with a new section to document "Booting Guests".
> 
>  docs/misc/arm/booting.txt         | 21 +++++++++++++++++++++
>  xen/arch/arm/include/asm/kernel.h |  2 +-
>  xen/arch/arm/kernel.c             | 27 ++++++++++++++++++++++++++-
>  3 files changed, 48 insertions(+), 2 deletions(-)
> 
> diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt
> index 3e0c03e065..01b12b49a5 100644
> --- a/docs/misc/arm/booting.txt
> +++ b/docs/misc/arm/booting.txt
> @@ -23,6 +23,24 @@ The exceptions to this on 32-bit ARM are as follows:
>  
>  There are no exception on 64-bit ARM.
>  
> +Booting Guests
> +--------------
> +
> +Xen supports the legacy image protocol[3], zImage protocol for 32-bit ARM
uImage is not a protocol. It is just a header with no other information \wrt
boot requirements.

> +Linux[1] and Image protocol defined for ARM64[2].
> +
> +Earlier for legacy image protocol, Xen ignored the load address and entry
> +point specified in the header. This has now changed.
> +
> +Now, it loads the image at the load address provided in the header.
> +For now, it supports images where load address is same as entry point.
Would be beneficial to add explanation why load address must be equal to start address.

> +
> +A deviation from uboot is that, Xen treats "load address == 0x0" as
> +position independent execution. Thus, Xen will load such an image at an
> +address it considers appropriate.
> +
> +Users who want to use Xen with statically partitioned domains, can provide
> +the fixed non zero load address for the dom0/domU kernel.

I think this section is missing a note that in case of not PIE, a load/start address
specified by the user in a header must be within the memory region allocated by Xen.

>  
>  Firmware/bootloader requirements
>  --------------------------------
> @@ -39,3 +57,6 @@ Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/t
>  
>  [2] linux/Documentation/arm64/booting.rst
>  Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst
> +
> +[3] legacy format header
> +Latest version: https://source.denx.de/u-boot/u-boot/-/blob/master/include/image.h#L315
> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
> index 5bb30c3f2f..4617cdc83b 100644
> --- a/xen/arch/arm/include/asm/kernel.h
> +++ b/xen/arch/arm/include/asm/kernel.h
> @@ -72,7 +72,7 @@ struct kernel_info {
>  #ifdef CONFIG_ARM_64
>              paddr_t text_offset; /* 64-bit Image only */
>  #endif
> -            paddr_t start; /* 32-bit zImage only */
> +            paddr_t start; /* Must be 0 for 64-bit Image */
>          } zimage;
>      };
>  };
> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
> index 23b840ea9e..e9c18993ef 100644
> --- a/xen/arch/arm/kernel.c
> +++ b/xen/arch/arm/kernel.c
> @@ -127,7 +127,7 @@ static paddr_t __init kernel_zimage_place(struct kernel_info *info)
>      paddr_t load_addr;
>  
>  #ifdef CONFIG_ARM_64
> -    if ( info->type == DOMAIN_64BIT )
> +    if ( (info->type == DOMAIN_64BIT) && (info->zimage.start == 0) )
>          return info->mem.bank[0].start + info->zimage.text_offset;
>  #endif
>  
> @@ -223,6 +223,31 @@ static int __init kernel_uimage_probe(struct kernel_info *info,
>      if ( len > size - sizeof(uimage) )
>          return -EINVAL;
>  
> +    info->zimage.start = be32_to_cpu(uimage.ep);
> +
> +    /*
> +     * Currently, we support uImage headers for uncompressed images only.
> +     * Thus, it is valid for the load address and start address to be the
> +     * same. This is consistent with the uboot behavior (Refer
> +     * "case IH_COMP_NONE" in image_decomp().
Please make it clear that you are referring to uboot function.

> +     */
> +    if ( info->zimage.start != be32_to_cpu(uimage.load) )
> +    {
> +        panic("Unable to support mismatching load address and entry address\n");
> +        return -EINVAL;
> +    }
> +
> +    /*
> +     * While uboot considers 0x0 to be a valid load/start address, for Xen
> +     * to mantain parity with zimage, we consider 0x0 to denote position
> +     * independent image. That means Xen is free to load such an image at
> +     * any valid address.
> +     * Thus, we will print an appropriate message.
> +     */
> +    if ( info->zimage.start == 0 )
> +        printk(XENLOG_INFO
> +               "No load address provided. Xen will decide where to load it\n");
> +
>      info->zimage.kernel_addr = addr + sizeof(uimage);
>      info->zimage.len = len;
>  

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 09:48:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 09:48:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466849.725800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZEE-00068G-By; Tue, 20 Dec 2022 09:48:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466849.725800; Tue, 20 Dec 2022 09:48:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZEE-000689-9L; Tue, 20 Dec 2022 09:48:06 +0000
Received: by outflank-mailman (input) for mailman id 466849;
 Tue, 20 Dec 2022 09:48:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7ZED-000683-5Y
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 09:48:05 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2084.outbound.protection.outlook.com [40.107.22.84])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6601a6d8-804b-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 10:48:04 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU0PR04MB9657.eurprd04.prod.outlook.com (2603:10a6:10:31c::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 09:48:02 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 09:48:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6601a6d8-804b-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N1degcOVIeFdsrBwbwPNZ9nErWwonDF6rUHJKbhxWT78vtE0FXbwKqcBRqRCQnUKQhlzqpeWVOa3g+IjECEOrsHW9YEU9bGWLPgQpp6f6NmblG42Dj+wNqzQQ6RXIhz5CC054yPvddAwtJ61WCH/51I4RrK6sHi16nX7Urvbj0kLOOK8QwcmKzN0fp/MVeLcVPJpfcTLdOyiKFYJUFaQ6Sh2RhT4XARiInPBYk7l6742Ixlt1ak8of9fYB5hOIGVXsqcPV7WaO/2NfVQVzwNV9SNN9Kqy6w9qfbxnz1UEEbulhg93avqq4nQuf5eyxA7S7Ub8X98zOxbjlcxxd2Gug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=s8xa4IpYaB+XWhbedha+yGQ6Vi9eXGQhWfJYKdUxji8=;
 b=MmEGD+ANpXNHIjFEfH3H34/9BSYNv4ERR4VyF3Kd5ukSvKRN/blAx2olakc9YGNOi/xSlIelSwKcZ4GKjFQrnsWiGzMQabHPE2wT75JMtoJPic4RNEZELaYzmxrW9zmXVT3tzaLJy4aZYoi7voryj/rMffKERR/p3YhDX/Ud6Qrf81QzlNeTzgh1fbzFiUsigIh8Ha+lbUjNRfNZFyMAtEqa3c2SU9JKUkOrrRp2zznW92i5/ahqajzPVB9IhHhYR/19Kf0oUbQgw0Z+MZWa6h98Xp4yQiz/yyheyTANxktYqDAQKiJgKRCbbUre+m51DB/Vn1YBIFsqMUz7KGAiuw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=s8xa4IpYaB+XWhbedha+yGQ6Vi9eXGQhWfJYKdUxji8=;
 b=ZrB4Gku9SJiZsULEg2Y4qcaNdgrcwoLoSmvZZDdmEGl7tHqMv+TyXj+VT3F3qxPi4I0fyWABHUGzz2kchCpgJloictBwL5JUJf8NEEXe8o3/kzbw+oXI0WQyjZn38jTL9rPEV4RAtDGan8yx8IzGEKDTniZXZK4Qu92bgCw5tUt0f73rvvZosoXx0OeXRaPeOGQ4/McBv8uaVG4r97sSUSrZBRHMOaCoXANnuUF6oynTjotgXa0kmYDTbQi7BUuGA0NtcAcwm17F+kDQ6yCBzMWGZqP+Uj5c2wnXnqSJ5qh8/qcipU9oHDN1AMdh8Yhul6j7yr0MuOd0wxVYuF//Ag==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f1c0f957-62cb-f7e3-4a8c-1a90da683825@suse.com>
Date: Tue, 20 Dec 2022 10:48:00 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC PATCH 09/18] xen: cppcheck: misra rule 20.7 deviation on
 kconfig.h
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <20221220085100.22848-10-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221220085100.22848-10-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0103.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU0PR04MB9657:EE_
X-MS-Office365-Filtering-Correlation-Id: a7d9e384-3f83-41ba-b03c-08dae26f48d2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FTCel9kfmT4SVS3qrDntTjaFnNEP6LPwH0y2k4YzpWDyaptScihOBKJ7K+7hp8DsqrKCU/mmV6IULR9VACQ+/tDLN6yHF8K0ODzgFay+o/jmSOkQYGKc61f6gwKucIkIA86ahWFZdLf9q7MyxLaYh+EUQvnA8ycdCXO/SlhwLR79+SUkxIBrRT9lnHwMyweT2t4Qp7LKwKXAyWzntJaSoVQPkBb/YX5ISjVswqRIHi5MistAYmbjvPdtHYFHXV7WNZKb9evQhP6XY6+GneNKtnF4yzQ/piolHRTaVjgFKd4oOcPuWDvYBg94Yo9KZGceK39nDps8all4F6bqleZozEsanraSMa2TIupu9L1LHyhryWvCLjiXl9cbSLccgO9OjFaOGuPpcxZr/s18HOQD7n8XeO6gdXesPTbYEAbRhYk3LcLwsRs2+ip9ibrQYle9djGM8oA25NVYWzGkqpm54KM1oUiphniz7qokLxne/bcLrGFcdKYcwhi/IniFueWWuDD794GrvgczGpgv6mGpgrTSdgASWtpUPW/BXXchtdEUx2+U1egjMgjosWIIJkfCykB8/e/TUu8dkur151v6bnHejZXig9T/03EcRs0biNdiWhHDdYPEwsQ20gCrACG2CNjJnPmcxC9yzJ1DvvAWkjkvjWZpPK3N6HjZ5o08XSRQpomCmmm9B+QGEMtUIU6ogkgTln2z+GQwH8HqaN/Rv8X8G6R2SteIvZOt50TRevM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(39860400002)(376002)(346002)(136003)(366004)(451199015)(6512007)(186003)(26005)(478600001)(6506007)(53546011)(8936002)(2906002)(38100700002)(6486002)(36756003)(5660300002)(316002)(6916009)(4744005)(54906003)(31686004)(2616005)(41300700001)(66476007)(66946007)(66556008)(4326008)(8676002)(86362001)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aHdVSGNBQVhjU2tSVFJ5VE1JdFd0TGZRMVJBcEhuTnhidHIrQ0lrcXhHMzBM?=
 =?utf-8?B?NFRjaTEvWjFTbDZLelMwZUNUTHUyN004bDB6eHVGUDZIZkUwOWJ6NXpya3pN?=
 =?utf-8?B?eUZiUXdqNTZRdVlvWTRFdVRKNHlZS25FRks3NkJhSzZjWWFyL000SHpsYzNy?=
 =?utf-8?B?UmhWR2x0aHJiUm04Q0gzSFpXb3grcTZnL293aTF5RVF1L3ZaRjQ5ZzhIRlFl?=
 =?utf-8?B?VUFaeVVRV2lEY3IrRmdBOXZOZDhZTDVENjM2ek1nK0xBYnZldVI2TEkvbVRL?=
 =?utf-8?B?VHdQRVFQOS9UMGFFR1FaUEh0bDBhTE0raUEyMk5VajdFSEhraU9QZGVNWUJ5?=
 =?utf-8?B?Uk1sTzlTNEwwZXVXSUFUZkEzOUpza3Q3ZFI3RWdjeWYxNWFxTW9XL1dsMnd1?=
 =?utf-8?B?YzBvWkE3ak5OT01JLzZFbW05S2tBZUIreWJjOG8wRndSdVhXZHdxN3hpMXFJ?=
 =?utf-8?B?ZW9UZ200azFKbi9QTE85cGpZWGt4b2RNblgxZ3ppcDNLM1VnVmpRWTY3dDNn?=
 =?utf-8?B?WDJoanZaZWNkVWhGUkNOVW1GNkYxWUNSTDQvVjBUR1N0bU5nMEZIUU52L3du?=
 =?utf-8?B?MG1MdDBxMUV2bUM3OElOTFd5eDN1NHBWUzhPcExNM2xZcFgyK3M4UkJzR3A3?=
 =?utf-8?B?Z25FS1NPbHFYbTRiTWtSSlZrbWlsOGpzWjZ5TTV3NjZRSVJFeWVzVVV5bmlk?=
 =?utf-8?B?MFpQRHZrUWd4YTlEMDllNmozbTFGeEQxcWlCRVhMZE5VUGhVc2RNZmJyemFx?=
 =?utf-8?B?WnJOaXRsSHZYUnhBZjRvaDJQVUNLMEpTVFZFWE5adnhNNTBQbStQdFA5Mm9O?=
 =?utf-8?B?RFZsb0JVSlhFVzBUM1NyTmkvaDF1cnhZTkt6V1FwWEJGVyt3dlNHQ01Ydjdp?=
 =?utf-8?B?bDBORVp2YWpHOGVvWXVXdnJpdUx6Q2pHYll0K28xSGNDY0g2S1FycmJmaUVZ?=
 =?utf-8?B?T0xNUDNQQS85RVdCa2xmdGNNNTQ4MHlIek0xVDl1aGJyL0ExUytJSFlNQnlh?=
 =?utf-8?B?U3FmOGE2SzgyUkxkSFM2OHIrOURYeXJoUWQ4MmJ4Qkh0YzJnRW9aZUowL1NJ?=
 =?utf-8?B?ZkwvWktRWUpZVUxTRVpUNzQva0ZyVmNDQWJtaklCRVVaSi9rZHc3STZYeTlp?=
 =?utf-8?B?WXdYYUZETDZ4ajRYdFJDd1VZb3RVRjFNN081OHhrRm5sa29uUnJ5dTgwQ3Ra?=
 =?utf-8?B?c2FnNzBIbGFidkpCbDc3Rnl2eVVCTmNJY0wxVnFKb0dGd1RCNzNXZmE1YXRs?=
 =?utf-8?B?L3J3NkF3cnpsRCttR2VGTFl2dXRqUkNQZmlvb2tjT3Y5eWlHNWNvbFhOVjZV?=
 =?utf-8?B?ZTU1K0lJaEdhNXkwbzB0d3Q1KzJRZTJqcmxqSmRpNDNwVnRnNzdqdFdaWXB0?=
 =?utf-8?B?MjdOM1NodnVIZjlTWmJnQ3dmUmVhalNaK0d0T2ltUjVFSWM2TVdiQ0pLNzJW?=
 =?utf-8?B?K2FHYitCTHBWWlplMWh5WDJnaWtFV2pzRGtEdW9ZS0FYcXhNZ2t1Z3ZqcXg1?=
 =?utf-8?B?N3VCMTBGUlVtQ1dZWDUxNHE3bWZNN0lPTElaQzRvUDlUOUdNcDk0RmwyQldx?=
 =?utf-8?B?amhVVWpreXd5a2lLdVltVDYxWkY0TnpQVE9JaU1TNDVkcHpFbGNxMHZ0Wkww?=
 =?utf-8?B?SHRZOS9NN0twTnlvdGlKQ05yU3Bvbzk0YW8vZTBoVEk0U1FFeUZKNm8xNEY2?=
 =?utf-8?B?Q0NBNHowSkRjbW9GOElDQ3Y0dHI0NnVQOS9LeHZ6Y3JqUENYRFlSUzFuMjVZ?=
 =?utf-8?B?eDE5QzRMK01HdTY5eVJKbWg3a2xjZEJudHJLS0ZUTm83MTl5SmpkM2w4eW5O?=
 =?utf-8?B?Y0F0aFpET2RUMEMxRUk2QXhNK2RzK09vS1J2T2dNTWZTNW5sdTlDM01sYUwz?=
 =?utf-8?B?RzljYzJxakRRaVdxUkg4RkxPczF0NC93M2J4bGg0dk45ZGllcnhqdC9yTmMv?=
 =?utf-8?B?UG53V1hQN2RyU3o5OXdWWlUwS00zRkVxbmxha0R0Z3laU0VJMU9na3ZxaGJk?=
 =?utf-8?B?TE1TRnMyaXpJNHlDeWV2VlJoME9oZjBsMVpiMHljRi81ZHdIVmNhdEQvQzdY?=
 =?utf-8?B?TDdHRWZRQld1RlAxOWFSTnVoTUxLaHMwbzBaZHlaR3JCK3JoY1hmQ29aQy9V?=
 =?utf-8?Q?Qu6aLCtaj23USHoNaW8YFrXmO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a7d9e384-3f83-41ba-b03c-08dae26f48d2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 09:48:02.2673
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kr19YZf923df50atIj8sdDqS+H3sz9MHqQa/SaLYq6fWytAHuDXinAmW30kSca0cntnR2vINOYHRMkfwtPhFfw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9657

On 20.12.2022 09:50, Luca Fancellu wrote:
> Cppcheck has found a violation of rule 20.7 for the macro
> __config_enabled but the preprocessor branch where this macro is
> defined should not be analysed by cppcheck when CPPCHECK macro is
> defined, hence this is a false positive of the tool and we can
> safely suppress the finding.

So what was commit 43aa3f6e72d3's ("xen/build: Add cppcheck and
cppcheck-html make rules") adjustment to the file about then?

Jan



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 09:51:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 09:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466857.725812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZHX-0007YT-RQ; Tue, 20 Dec 2022 09:51:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466857.725812; Tue, 20 Dec 2022 09:51:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZHX-0007YM-Ok; Tue, 20 Dec 2022 09:51:31 +0000
Received: by outflank-mailman (input) for mailman id 466857;
 Tue, 20 Dec 2022 09:51:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7ZHW-0007YA-Ly
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 09:51:30 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2071.outbound.protection.outlook.com [40.107.22.71])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e077e9f0-804b-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 10:51:29 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU0PR04MB9657.eurprd04.prod.outlook.com (2603:10a6:10:31c::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 09:51:28 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 09:51:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e077e9f0-804b-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fzLSezhJ7oM2qQegkobI9687UGgohz2ztFeC+abIFeou9gkH6WqlPbUEFffWQG7GE9vWxzayrABsy9VHer1faDSn32P469KIcG3JvVAHdQ7TliYzbNISlyODrM6Z+sl9Tut++2kJNyWjlfB/UPwDsANvyO1peJx3WFVo+d/AZy/ACgYC8s80o4KE7ngc1J8oFuQ+7pZu41S+In/xGDr3EMC+T/WCZ7hkTejbiZI6bOLGRgoP5jcrfsSDXGygF0GGBHnazJWN3uKaVXMQD7hu/hO5URwqn/tcLKJz5Gy0WxCnxTq4npGeOcnDemFQOH+oZfyJ7LPLombPrcaezugeIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I0pwLeTur9mQ5MuOVH2MLC0uL5FB7U5JhVxqMT7ShEI=;
 b=Ccd/QN2qGarhh9/28fCwdLE4i+MZyLIGmN1M8nWxLlFqGAATUBx9wM3SxcDHJBkwyKgvGFqKO678aiMKgdnXGSRehvoXxJ67GwzHnYZNTMfT/8myWArgy3X1958JYIDL1msH2XzuXQk8BT3XkAO0fOOQlrbBPMmKJeKlzGkJi0HWeXs9dvnB11kcS9f8PIYbGhSFnyj2LUC3c057OhJQfPDtjYhXkaCHvhdCjuzpok9GEYcar0oAFSk+AEJiuYnxL6W43y3iksJjzkU2tN0rNaXnFuOjVN9BykSxSfeaHcEs4WJQsG0ObL8BSwau5paI/ne0geK27Sk2CUsmdl3YVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I0pwLeTur9mQ5MuOVH2MLC0uL5FB7U5JhVxqMT7ShEI=;
 b=Avd8mYZ8JGOZ4Qi/SLFyUfZRBvNI/cw0rY+rzUDEjaI7FwLLlD7piuBmLcj7tOHq2nG/v2TqsordffH2CPT74HB7CI5lUoVqjEZQilRyR5yUY9c8ROSa/rDNqw6HvLx2Iz4FqCJZOu0MuVoFmlL1sCHjOL+qTnnOXOcUNK5fjOz9papj7nvTfd8Oh/9eg8hieoVSFOnJMzQSVEHOPmmVtQ5LtL0HJ42LLe6Pz4ZwYZ9wWzXC/9GWJ+w2NqytBveqYGYcZ4ssR0/3Ir7kuEKSkJZh1KxZy7V0Cl2lEKDyGQxfeaMG24YiIPqseE49ek9jQgjlqhbVe9vrkohg67b8dA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <77931264-71a4-edeb-0749-9de77bfd9c1a@suse.com>
Date: Tue, 20 Dec 2022 10:51:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC PATCH 17/18] public: misra rule 20.7 deviation on errno.h
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <20221220085100.22848-18-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221220085100.22848-18-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0004.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU0PR04MB9657:EE_
X-MS-Office365-Filtering-Correlation-Id: 45189b83-46fc-4c4a-7c07-08dae26fc3c9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9kXaN272wJDAKBM0Rg4s1WgaaLueIUft3FtrdI4FOiKdDM1uGfBxDiDvZLbsxb0GRSjP57+5BQ6zaqlY89UBBO5JcmmuVsfpEvIC1gbKrE5Hd7EUnZ7gAV9oRbR3siRpfEHEsaCasDWcBgdsCfvDPCgupeducPjo/Yv3y8b2btwv8D6/fav4NiZbhT6qxQcsOZkU/lb0fITCT9VM9FayHxgI07CZJWIBnlMfIeNuJwC2epCprHSQ/rQ70aTJgrU2PGE+vG4EaGkJM2XfnaSe3Rdn2XYEr/lLowED2fa8/i6Krso820uceRJjySYVkjQx4ErHWnCg7EIRsHR/N0DLIAfHg5Cn9Tr2dTxEbDrIOM/vjJwzaUSH6n21xyOAGRLxDAmzTplb92fSzBhXUSqXrW3AYi73hDTrqakBRGTzyWFzzXCnUCrJwRIS30gmXNeP4DZ9PkFcUpngHIiOJ2HgPBNZ1lKpFedospwSggJ9gTg+VocXZXK+GGNEj23NITLvJOXQ86VNm4jsENcr+dbFU3rTbUzhcwth93eDB4kO7022uxDA7ZZAVYi1UyE8OUi3QWKANptaX7m8g5vEcYUi5gzpUWay6yy2pJNvQ7soTR3M7/4rX0cR7B1yWpG/AzHGD7o97QSBatNsorsUMW7MEjc+PrVfJnNmAPdW8UGADJ3nDNuGB7Kp+BwsaGFIDs/GpZDOlI6439ZBdqSLzgeiaaucB2BvmWYK3wfm1gaWZi8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(39860400002)(376002)(346002)(136003)(366004)(451199015)(6512007)(186003)(26005)(478600001)(6506007)(53546011)(8936002)(2906002)(38100700002)(6486002)(36756003)(5660300002)(316002)(6916009)(4744005)(54906003)(31686004)(2616005)(41300700001)(66476007)(66946007)(66556008)(4326008)(8676002)(86362001)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eTZqQ2J5dStHejdqSnMzL2ZIb1NuY2htSVhiUlo3Q1FnVlhBYm1tbmlrMlZx?=
 =?utf-8?B?aC80WHBPZWlFR1NFNHA3YjlraTErdHYzL3JVRkJNaVEydHlrZ0pwZ2QrV09H?=
 =?utf-8?B?L1ZKbFZ4ajIvanZONEFmVS9odjk1RGV2a1lIc1BNdFVUZE1IL1pQcld3cVRH?=
 =?utf-8?B?NjFQdmdTM0hzQUNsV3FyeCtyeVRqYlpsV1pMTVhFSTEzdGNaaCtoY3pVTGZw?=
 =?utf-8?B?M3N2S1dobkpLTGtLL2c1NThyVmVnYk8zVzJhL0xtdEIyZGUwLzBKZnF6SWJr?=
 =?utf-8?B?NTNiSlFWbWkxSmZrMGE2dll5MDhZd1VxVkhWb2dDdGtzN3Z1ejhFT0wwa05P?=
 =?utf-8?B?UHBIVW9pbVI2MmdqNTEvR1JqMHUxWm1uY2ZWK0hoZXpDZnN4SU9iRERWRVIz?=
 =?utf-8?B?QXZhSEM3YzNvVjRYUGlLUTB4N0tJQStCMEFoL0Q5Nzl0eVk4YTZ2SjJDc1hX?=
 =?utf-8?B?aEw3YzFod01kbUVFR0IxL0NwMWJqY1ZFMmtsV3I0dXZJQVFOL0dhbVUyVHgv?=
 =?utf-8?B?dC9WQkZYWENIVkJVaDRWRFlZQjA3VlNQSzlQenZtOGxQbTZ3cUcwcXA5QzY5?=
 =?utf-8?B?ZXB1ZXlBMVhWbW5rMlZ3Z1BUdjhaWE1NUXY1ZTJTcUhIY2tFMkdCcXJ5ZFZh?=
 =?utf-8?B?aFdSUmJub1lwdnMxVW1DbWNaejBCeW1HRGttSTdCcDdkWGgyc0FWTXIzUUFZ?=
 =?utf-8?B?ZVc4RUo5ZG5tWXIwT2ZNNXdyelBaZzBNWGg0U1lLQ3FxZEtHc2xZTXhIY3dm?=
 =?utf-8?B?NEx3RnpXTkJLOUtyVS9KVHZCdm45dTR2UWFPOGtsdXdxVm1ndERMWTluVzVs?=
 =?utf-8?B?TkxXSVI1dXdObVBuRllvQmxyTnlqWnp3M0dselBvaXF0Qk9WNHpWMWx2Wm1U?=
 =?utf-8?B?QmZuREZHVCtwMkhhbkZzdjVFN3hnZnpGQ1pQSHJxSEJPRkE5T280UTdPREN4?=
 =?utf-8?B?UFJGOUtndTlKb1dZek1iWExrVEw1UTdkT1BQNFVRTHZBbExTNHdEaEd1ZTU2?=
 =?utf-8?B?clZrbFQ3ZVFmbUxEWWpWY1JMWTljbmFnTjYvcUtpQU02RUZRZjg4UmJwek1J?=
 =?utf-8?B?Q3BvWndhMHQ1RkpVSXJ1OVlJYmwrdDlEenp6M1pSK0M0UGEvS0wrbktqVzhQ?=
 =?utf-8?B?eUUyUUN1N2ZxbFp3QWhxeWN1dW5IYStHWUlOVW5pTjI0M3FaY3F6NENWUEVt?=
 =?utf-8?B?N0hiUmpFRk1lTHdUU2xOdjJtejlqdHpnYmpRa0dBRG1SOUJGanFKaEJ3ZWRo?=
 =?utf-8?B?KzM4SEpEd056NkpFeVRNN2pVYWp3OFhJTXZ6Z09EZVZSdWhTOFlodEVjOThz?=
 =?utf-8?B?VXNGZjdPMHR3cnZJYlhSeE5yUndJQU1ZZlo5Y1pqN2FsUHpBOTY3Um5jeDEx?=
 =?utf-8?B?QThvOE9ESlJncmlrNldFYy93akJPazNpamhuOTlpMzhhMlZCYU9hakJQVjJE?=
 =?utf-8?B?RUswTXMyOEIxRU55WkhtTlNmWFZtL2NsL21EM0NSc242YWhNelRXSlJXZmdC?=
 =?utf-8?B?K29zY1dvTGo1Zlk3TlM5d0RQcmRERnpMY01hYUtCZHlMTTU0eUt6Nyt2cmRJ?=
 =?utf-8?B?QWxtRnh2NUZYUDhDRzBDamZvbFFOVTRHcEF2eVRVUWpPSFptS21qdmxoeXdM?=
 =?utf-8?B?MkgxRjRVZjM3T05LTG5ReWYxeDlFaUZNS3VGbmhxZWhiaWZMV1JZb2pVSm9Q?=
 =?utf-8?B?RXZ4SjN2T0FoQjN3QjNYTjdXNUNCQmhFbytBdStyVHZqNForekZ4N2h4Z2Zw?=
 =?utf-8?B?Y2NtK05TWjVRQ3VCR2FGTFdva2V1QkN0cXM4QTJaWlRWUzdGVjR5MzBRbnhl?=
 =?utf-8?B?R0NJOFEwZUVLWmIzUzM5OXBCNmtNM2R4ZW5NeG0zS2NpTmswUCtVbGxZQ3Rz?=
 =?utf-8?B?ZlczeDdCa1hqK0l2b3A5aWhLa0d1Q0IwNWx3Q3lqOWtKOEpDb09TMXlXTkFx?=
 =?utf-8?B?S0wwcDZTM2JmbkRhYTFDVHJyZGFheitHTUpNckhsVVIvenBBUWJ4eTVsb0tl?=
 =?utf-8?B?MmMzR2hveDZTbU1VOHlib1J0dGVKRlJxMlY3cTl4b1lPNkJhVTBwa1VRM1VU?=
 =?utf-8?B?amtFckRYM0syOEQwVjYzTUlmYzFaMnRxWVd3aWF5Tmt0UDd5L2FpMjZqR00r?=
 =?utf-8?Q?Xk+f94IkYd2unLD54zGz63Xtd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 45189b83-46fc-4c4a-7c07-08dae26fc3c9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 09:51:28.1605
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hfYFHSH7hjApZaAV0CKqaIn4j5I2xUYGzvuoie6/9CKs1i8yQY3lPJm8IFt17g87CVd7DWeULh9Lc8Tjzg6eKQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9657

On 20.12.2022 09:50, Luca Fancellu wrote:
> Cppcheck has found a violation of rule 20.7 for the macro XEN_ERRNO,
> while the macro parameter is never used as an expression, it doesn't
> harm the code or the readability to add parenthesis, so add them.
> 
> This finding is reported also by eclair and coverity.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

But with the title adjusted - this isn't about a deviation, but actually
addressing a finding.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 09:52:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 09:52:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466865.725823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZIU-00086E-5p; Tue, 20 Dec 2022 09:52:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466865.725823; Tue, 20 Dec 2022 09:52:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZIU-000867-30; Tue, 20 Dec 2022 09:52:30 +0000
Received: by outflank-mailman (input) for mailman id 466865;
 Tue, 20 Dec 2022 09:52:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7ZIS-0007xL-PM
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 09:52:28 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2051.outbound.protection.outlook.com [40.107.21.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 03306b54-804c-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 10:52:28 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6819.eurprd04.prod.outlook.com (2603:10a6:208:17f::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 09:52:26 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 09:52:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03306b54-804c-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FjWcULBnHu4QScCMESkinwgfVVAjJdZqQrRMwpcxsQlKWHmxpGe/AvbBmlV0nacuX28p4NOVR/cAHWHluyMtCXnQgQHtmUnns2cCQwueGQybkHNGW5qCN4e5IC24fxOtgiCSThFbKW1/bssd4wPgkvTrmlCZYeHIc2AgdXmAFTpVCL7WyemM1WRVc2GVeR33y+hCSpOa8eFdOYGQVk1IRBWC0r1GSyyp0hK7HyZHCmo0OMKvn8TcNhzwcEjvN+w3dyZTk1JuT0rINDko3C8xNUbpbboEN+K9Hijl2L43q6pyS1Od3cH31d2v/qgYG1hqZpiZSDwQKBtD3n8ITlkuPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VTDByttxCEHiPNBRsHx3W792T2F0LzDxh/xVD/1Xkjc=;
 b=L0P7GQQ/I3uNRHCWi2OcIV4xd+DwE1TlW3AwIEZ4Ry/cdq1eFsai9ACXJzaKBi3IvOMUJIMMPVil/RamdAqRnUp5KZJtsFHLE6NGn8msEEZhRBZXbE3anyPZXdt/2ApNurOIiWYrM364tsP6HBJXWWbc8m7hKmh5vq/pN04YIJ/KMM67h2WyEnu2i+VC0bhnIL5e8qqib5YSFhNPy8UqW7aZmK3GW3SWi1YlCWs5b4g3UE83KmKRtCjDdEBGTbwCqEutqu+CuFtVfeO4un18Z+O8t9H2mUMBj502lwtnYmVjDE51ES0TlqNcUagAYAQa9mQGGxk7uyz2NlM2Dm7aIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VTDByttxCEHiPNBRsHx3W792T2F0LzDxh/xVD/1Xkjc=;
 b=hzkD9UkkJ2+XIIWSh1Y8LjT4srEaxtTCubRAEH/o0LEgMX0ELRXHdujPQho15/SdPErnJUyewT1CBGwutPRgER0fofzckBJrNzUe7IXhDdRwjfZEd5DHpkbW1OAdra8DQ4lqI2/R4xCeAirPnNlNgdsLkvwlaimOcgY72jKDHYM/dP7JfZ7LDCeN8vtYsxSlx5vc+crXN5hW1GStPGDS/9YlcFU6pFZKHf8zwtgSB6mmMwg6GRYDLS+ST+2fRs45422HDwrFttKlfH358TN2W2AwmqAEpQJ5zbaOHDhs+kdkxAl+6LQzL2yAMzQBs1iaQr6DhymMJU58nQGMnRV1Dw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f508140b-09e3-87bc-3f86-a97a5737c7ce@suse.com>
Date: Tue, 20 Dec 2022 10:52:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC PATCH 18/18] public: misra rule 20.7 deviation on memory.h
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <20221220085100.22848-19-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221220085100.22848-19-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0008.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB6819:EE_
X-MS-Office365-Filtering-Correlation-Id: 476a6515-af43-42ef-b9f1-08dae26fe62d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/CoS79rCgptAJAaFGWWziTNFKpZy5mjIpuCAE3XiKivBBanWq4IoQBVreMZs1M94cBIqnOPgmRokuB5pestw+IszpJw8DT/AKmJuHtiFUrv10/f1up/69iz8e8s3ajS82K8u9SYYwguqpE/6vIik0xO9KC5DZWES9Q5iHl/Bx5oTU0x64RFAMyzV8vxJaDdRbSNRIMDkH8DokEpik0RAmfWkDLg10GCL2c8g0imsiWT3OQNFiWJMz4Q8frsFLJE4QpGE66nT1afWlPWHqM6qigBmPGQFODMM45R3SMTNYJ05C2mU7kUXRdM5t3RCZwkP76lX/Sg0faVwz0UEBAvv+sUbVD+Z1LIboQ1ZYgwXkjJlUCergjk2Vyqn/3PBH7lnxiPLlHCEhV3DALkZMVLuXv6ldIddR469HTjZbK+9QI5RjuEFwFCzM/aHyTHf6Y0P4GMl/En9yTgOhK7LGTkENzOkyujvyKEJsDKN48U0iHmOqgZY1NnORDTO4GE/XU5+7/XZYqdFcxvNz+Rk0PpjqyQ78EU0OQfwttp6U3poQmGRSR9QoqQIIIcqdxkZvj8K4RgtNCm8PxyFr7sD4GDWI3/Tsz5V05L27BlquxkH5lwNJfsJHwetyEWNXl494dVG0XxBtMoqFbabu8JxSYnt31snd0yEWHvGNWd08YsUnXNthQk71IcxG+1w712W0gZTZNUFZg2y/Ozo7q4fSP0Z33iz+SQJ5jbv6xrHXBokleI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(136003)(346002)(366004)(376002)(39860400002)(451199015)(31686004)(186003)(26005)(478600001)(6486002)(36756003)(31696002)(86362001)(53546011)(38100700002)(2616005)(8676002)(5660300002)(66946007)(4326008)(66556008)(66476007)(6506007)(6512007)(6916009)(8936002)(4744005)(2906002)(54906003)(316002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cUxPOW52eEY3bUNQUlpaRkk1TlEydFJHOG9ucFI3VlIwUFlHTlpCSVgvL1c1?=
 =?utf-8?B?RDcxOVgvZW5aSC9FMU0rUFM1dWM5VG9hci9kWE5wR2FPK2hGWWpmK3JwMTho?=
 =?utf-8?B?MWhxSmpjOE9XMXlCYklPSnJHZWx5R0NncUU4SWhEQ3lSTXVlR3RzVVkvcjMr?=
 =?utf-8?B?K3FyYlIyL1FEeVVQTTJpcmo3MWJzOHJJK3hwTzQyYTZZTm1XK2huZnVCc2g5?=
 =?utf-8?B?dHhqSVl5cGZtR1R2YVlCbk04cVd6TlNqc0NIaVpodjdEbGFhYXgzUWU0OVZY?=
 =?utf-8?B?a0svZnZucENQQXg3TzI0dGlsNzcwY2hkODhTWkZBT3lUZFRRZkp4OG1Tc0lu?=
 =?utf-8?B?VDNFWlJ2UEU2NEMxcEpxOHRiWWpqYVM1SGtrTVFtVTNid3hCZFVGc3pzdmY5?=
 =?utf-8?B?TnJSeVZ1UWR2UUNCMGxCQVFBZ0Z2TC9qNlpXNUR5d1F3SXFLdThYNEg1TlNr?=
 =?utf-8?B?dER2NExjSi9SUTBhSDcyQkM0dGFtYkNDV1V4NWkzc3I0eUNybm9EZEtyR0M2?=
 =?utf-8?B?K3JRd3hjdXRDYk11OHZiaXZXbzVPbVVVU1lRU3dVaG82N0lHRnFpdzRpME9B?=
 =?utf-8?B?cDdNbmRuNzhPT1BCQjVZalpPT0hiYzg4UU1VTldjTUg0NnBDTmJSRnJSSjZQ?=
 =?utf-8?B?SzlGN0FxdytBQ2tkeWducnNydldNeTdERCtVVnMvaGt2U2E4ZnZGOG1CNWM0?=
 =?utf-8?B?TGNkLytlSEhFbnpSYkpZZkl0T3QxUkNwZERCZitNamFDUmNkdDByMEltcVAy?=
 =?utf-8?B?ai81WWFUK0xnakZ0RTJNVFo2dmUvOFlzUndRbVB1VmFxY21NV01jSy9sbUpt?=
 =?utf-8?B?d2pXME9JSjJnQ25sMTA0SDJyUDZiWWJOSjg2aFY2dUttWW1jcUljdHBZSm9p?=
 =?utf-8?B?dVJBL0dlbDZjYmtBU2paNzRJTzNKb1Q0a2tXNE9QdkJaNTc4c0RQVFhyRG16?=
 =?utf-8?B?L0RQT1JkMUFlNC9WbnhUZnZIV3lPQkZWRnFKZ1VLbk5tNmhtQTRldmRib0J4?=
 =?utf-8?B?MUdTMjByc2JTNWJ2TlJxT291MHJ3dXkvdi9TT0dDUlJUQm1WTVVtb3N4OHF0?=
 =?utf-8?B?NmNZVHpRbHdiMDlxdWVKcXVxRStqLzVaR05NNFQvRTcvcUE3ZVRaU0V2Qng4?=
 =?utf-8?B?WXFRaS9tY1Q5c2I4LzhBM0pYTElsV3VzK1gzME1oeXdVSitrSkVKaWZyVjd0?=
 =?utf-8?B?WkE3bE1EVW1qRkFuR0xsN0kxSWhuR0xSZDloTHRmdDZRMzI2QmZNTVVSRit2?=
 =?utf-8?B?WVVpdU44ZFpQRlhaUXRTNTJFTDZ5Tm9JajVtQXI2bGJ4azg2SW1mU01seUY4?=
 =?utf-8?B?RG96a210VzRIM1N6dngrTm1MQXQ2N0RDUzdwZ2dYWVJMNW9Sb2dOSE5Ccnkr?=
 =?utf-8?B?WTBEMmZaTWpJN0Z5Z0JlVmpSL3hVdjdHL2U0b1NHSUsxejRrZnJUSDVhRDBD?=
 =?utf-8?B?d2NFcHl2R2drSUcrOGFHRUJkRjVOY2JPMERXbW1USnphNFh4a2xOWmc2Tjdw?=
 =?utf-8?B?SmM2Sm1xcDBJU1drK3pNb1pYaDI2bWdMcGdVQ2RXY2FMbTczV1Z2NVdMMnQ5?=
 =?utf-8?B?Zk9xaHNZNTZFUzcxMGFwbXNzQm5NbDRNbmxOWk0zMXE5ayswVnJsNWRSZHZo?=
 =?utf-8?B?ZHFDeTNMTTlmYzlqWFpuRmZlUWd1RzFDUlp5aWVxdDcrWDNxMUhEeWZTQjV0?=
 =?utf-8?B?TWdoR1JRb3VrOXR0REo0WWttVVpkSUVoSGJYd2UxbERHL1VhM0dmUGY1a2Fw?=
 =?utf-8?B?MjNHU0FnNEFsK0c5WlVqVEV6USt1TnVEeVB2QjQvTjJmWnBwM3RycjZmamoy?=
 =?utf-8?B?WklkYXByN2g1ZndpNlczOC9YN1ltQTFNRmdUSDNwV0k1T2p3OHNZb2Rvb2FC?=
 =?utf-8?B?QVI0bjVIOUs4bDVNNjNEcXhkTURsN3VDSnRwT3FveGJlUm9yQms5VVF4bjdV?=
 =?utf-8?B?dVNUNTlFN1AvOXU0RGxuNWtUK1JXVlR6LzE2aFgrWGEwTER6VStxbWZlUDJy?=
 =?utf-8?B?UFJOdXZPaFZoYjU1ajhEZmZENUZZZkNWMWJzUys0U3BDL0ZjSFpPNlZzenBr?=
 =?utf-8?B?YUFuNlZIWGFEM1U2Q0NCdzhFWnRKSHF5UzF6UWROd2tQa2lmekdQTXRGaXAr?=
 =?utf-8?Q?nfxhJW1DXyDGb/xrCP45RVXuG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 476a6515-af43-42ef-b9f1-08dae26fe62d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 09:52:25.8912
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: X3DzsweDci0Uq6b0QM0qQcCiOL9+tLnfQ4t6tQ8/MJ/ZgWMDCSo24UOZrqXvOvVRmsH4RrZjbJtPG1a6bIlkQA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6819

On 20.12.2022 09:51, Luca Fancellu wrote:
> Cppcheck has found a violation of rule 20.7 for the macro
> XENMEM_SHARING_OP_FIELD_MAKE_GREF, the argument "val" is used in an
> expression, hence add parenthesis to the argument "val" to fix the
> violation.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
again with an adjustment to the title.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 09:55:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 09:55:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466875.725835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZLE-0000Pr-OL; Tue, 20 Dec 2022 09:55:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466875.725835; Tue, 20 Dec 2022 09:55:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZLE-0000Pk-Jd; Tue, 20 Dec 2022 09:55:20 +0000
Received: by outflank-mailman (input) for mailman id 466875;
 Tue, 20 Dec 2022 09:55:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7ZLD-0000Pe-Nn
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 09:55:19 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2057.outbound.protection.outlook.com [40.107.247.57])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 68de51a8-804c-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 10:55:18 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6819.eurprd04.prod.outlook.com (2603:10a6:208:17f::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 09:55:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 09:55:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68de51a8-804c-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DlKuKtD6lLvdm/4NVcOD/1Fw7ByFRs57v6rLpQkoOjx89w/zuSlJ7AeAoghGUq+cZpUZruTRsQHIj7PTh5r9Iwg5HzrPUIAS7MxoZiJn3hvQrkTSXnHbkXmi0p3TiTFXMHSu1Dedq7FRwE/4oquIDbPlUwOsJXAgxyI0uHbtufeI/oaerN1SrtGssH5zdUnXnPQDpulslJUi5NWC1kdG0AWpqRqvhGO4py7BC/QomUGoSEKv3SwDhCP6hSKpdQIbmwf6AUu53k1yCcY6mYcWpXynlbsrISfjWJ2VGN34049mxOO2lOr2F7FuJ3KVR6fCHhEdLyB1mhKJ2OXdGt/Tlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ei6zyklD4yY9mJ8hfzymc5Ul7oPdTCckog4gmv7mtB8=;
 b=dNsV8bkBh5CcyZOtjVY7ohvsx6o3j4gk+UMo17aAJPoxaw1GS/kQ+02J19uwflOGWcWUkqw+wbqfr9aR5vS8gGJ/ASrq4Z/+msQqIogRK0PTkpYgtWeEqrb1kTvPUxAYMHmK7j2GBKM8Yi6LdfDc7SrG1+w0MX6Gcst4VPNGOb0gckzBwBeJdKqST4FX7Awfas4DoS3TJnSgxTxuHmuVPEnHnLf1akkOjaBKuWm0UQzy7rNSuYmW19THq4ejH9W97SdM6GDnVbt/UcieRs/sh4KqqoFv+vGXmIk6AYTWGdqQ8iIewPM3P+lqCu8W0n4cGkS8T12KG+TkMciuPWkb0w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ei6zyklD4yY9mJ8hfzymc5Ul7oPdTCckog4gmv7mtB8=;
 b=C2fkwzLM20K8woSzERrYeWOTpPwWS4ouyB0T3UoJFfrCj17pgrY6IKFucc9qE9AmlEuroxGvEu2Ox4HedhcHimHpsxeMi5q32ZE4kAFxoH4chpl0WV6qSaztH/qBUIZFHW6eS7MJ03r6f3LZSKofWSj5FfMt+2KdcxpPkJk71EzJW/Vi0UhtnabR5cyspogIvGPvBzi3xC3W4G1HNd/U2uGOWkZFT7M748iRLEd/quOAWYUw8WLhnXlrKcZfYjA1Nxf3Ib3Yv/0jlpGnIRpzTb4xMoVWMD8OHXHDEeqkNlX3cMMVW9+Zjl0m2l0NXSZlqo12dq35YnDoOhhU+3T8WA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <28180048-87c6-c0b5-dcdf-34fa10580145@suse.com>
Date: Tue, 20 Dec 2022 10:55:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC PATCH 00/18] cppcheck rule 20.7 fixes
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20221220085100.22848-1-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221220085100.22848-1-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0187.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB6819:EE_
X-MS-Office365-Filtering-Correlation-Id: fb66416a-819e-4166-d129-08dae2704c51
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/myXG/0dxVSnYl5LkeLwCwBnMbovR3kn88/vmSWmPsHFPEG5uZDCYzFipBXX7WOHy/D1ycUJWrTCsRaj+PXX+Jd+LRjiAMYPsahq51XFcZPNK700yEK2P5R4AzS2yKWBdUzbE8NkWAUVXSwX8GI+c3i5UIxsCKyvxjve6ls1i8ECeGaSTacsGC5unD9Ka7uLAu0TUfvi40WFhGGnrf9gomX8asFIjzM+wyi8crm2mw/TmzKgwr1ND6UaQT/V6+vhpTYtUWJiMv06HcHKET8h25A0ap6bgOEW8DhBC5Q8mjQ+x3MrApBo565cmCzxc8Ja6j6788C67kbIRAl3nlnb8CMFG3+Op+Kv9Xu7rQgKMR8XjYD+cYnkqAxCKaJDBspdFidMrmsB2VUyN4tADQbe3c0wwLk6mnjhPe0wDMPlumctfoj4uiADxTE6A4MOt2mJYqMWw9i0hx0pbBSINQtxtzDzQJwDxUgK3OFllCAnlvrz/wO2bbzvbkzTLFev4TVVMMvFiJ+ydjSbuiUzEvckvNl7C0VwzikWY3eXz6dkxzNmx3KTgGRxcMgIjVvNy/ZkKomHcWx6qj6ibSxp8Xy3xjYFLiAWnvjfs2YRBvjGRrR3RcOaAQ6W28ztB8nWBabYWMFH4C5yYdvsqj1BRLh3JEqa9KRbHww4RhRcfT6M7k8A0+aXorrQ3vWjoHolB9XPFVAlHbsrl6nAg9dnhzbERTYseY2xs1V/+yK2mr/IQW8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(376002)(366004)(346002)(136003)(396003)(451199015)(31696002)(86362001)(36756003)(6486002)(186003)(478600001)(26005)(6512007)(6506007)(66946007)(66476007)(7416002)(66556008)(4326008)(5660300002)(2906002)(41300700001)(54906003)(316002)(6916009)(8936002)(53546011)(38100700002)(8676002)(2616005)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VHd4ZGVKRGlQTTI3eWZPWlQ0bFhEaVBLSWk0WWo1NlBramJBVmVMVFY2SEc1?=
 =?utf-8?B?U0lqODJpYzl1TEFVUHZzYXVnbVBKeHNjZ3BVcTQ2eWlhVFhsbjFmcXR0NElM?=
 =?utf-8?B?NlJ4cFpWcnpYbzVhSHh5dTJBUTAxWE95dWpFUWFwSlhHSzBhdUZJMmNFMDBn?=
 =?utf-8?B?dStiUm9zWHFheVIrSXRsc0Q3SXpockhQWFRIdGVlOGVPNFpuNWVldW5saTlS?=
 =?utf-8?B?L3FiZGdiTW1jZ1R6VDBRa3JEZjZmNkh5TytUVCtxTjVHejZWazlZblVBaER4?=
 =?utf-8?B?dzR0M2ROVTNKMUZUM0hxdzZLOFYvK2o2K1hWeFgyd0hLanJPV1pDNlN2eGpt?=
 =?utf-8?B?NDN5alBvVTJRUHYwSGdPWVBJS0tnRXRuRFJydkJiR1QzMEdGNkZ6WVFkTm5z?=
 =?utf-8?B?SHBFWTBySjhtb2VSWTMzdVJVMXpsdkxYS2l5L3lxa3RkbWZlblVsKzdaajlZ?=
 =?utf-8?B?cWdVL2hnTk9VTjdjdnlMUXVwVE04Y2hpejFPN3RCc3phVlJydUN6cXR5M2xZ?=
 =?utf-8?B?L3ZDSlpSMzllQUxzVEx5OFJWR25iblV0OFMycUdzZkVqZFlCR3BaYUY1WWt3?=
 =?utf-8?B?ZEdOOW5PRXpRaitBQUlqUE5qTFJySzRIS1JsNmR1dHAzVGg5aWtQRDRVYnVj?=
 =?utf-8?B?aWg3a1NucjRhaWRzOGJwM2FYRFRnUTVLN0daNUt6akFYZnZkcFhraE14TGVT?=
 =?utf-8?B?Zk1vTlp1R0l3YTRpdlRRSjAxcFdJb2NQa3JWVmJndEt1ekwwQnVHcmdWMW5x?=
 =?utf-8?B?OGR0VW14bys2K2l1WmFSbmFtWUdmdUtNOGJTYzdIYndwVHdiRFNPcmtIQ1Iz?=
 =?utf-8?B?NUpjcVRXcUpRQ0ZBcksranVxYWVETmEyQnQ5WmwwOFVJaUV6T1doNFNFZWJw?=
 =?utf-8?B?Szg2TmFjMkt2SDNKanlBVzhaRlV6WDI3TVo3QWN0d0ZDYU5naHNYN203T20y?=
 =?utf-8?B?Y1dIM25YbmRHdW5vOGIrK2FkMzU5U2xoN21UaTFKZWU3MnVIelRVWldQWFZr?=
 =?utf-8?B?SXdJWDJsdS8zd2ZDcVBHemwybzIydTZMY01tRDNoWVBTNzNYQlJoRDZGd0tG?=
 =?utf-8?B?eFdJSU9OMzNCakczQ2xsdmg2MDRjaldwaUtGTmFYTVM3L2QvbloxQmdHNnRP?=
 =?utf-8?B?RGtUV0lad1NkK294azRmOFQzbXlvKzN5VTRxanpjZXdBWG5JY3QweHR4V214?=
 =?utf-8?B?OVJ2UTBWNzIwa1lSNER0cjdBcEVVMXdPdjhKRzd2K3Q1MVp1amR6cXdkZGtU?=
 =?utf-8?B?OHhHUlRVd2NhQ0RZVUtWcEdVcU5XMTlXazR4UFJydXZHU1BGQ2xyNFBHMnFW?=
 =?utf-8?B?MFJpdkVPdVFDTDRtdzZmY0o2SWJpRmpHR2ZiQ29qU0RFdlNCeEU0bjA5QXJ5?=
 =?utf-8?B?MkYzekxGYjNBOHk0OGp2bmdQczEwRkpSci9DZCtrSDI3dFlFMEUzTlhXa2cy?=
 =?utf-8?B?czgydE9IclNSb1k5N1pYWGRiTkNVRG1uazNQcTNHZzgwSitscnRiT1V1R2xv?=
 =?utf-8?B?ajNiS0ZCalJNMytONGxuRHp0Y0laVGJocHo2OTZucGxJYVQ3dWZTOTB5T3Fw?=
 =?utf-8?B?eGZabFVZeVE0TVNTeEVPOWFXYWNXUUxpYWdYaUREK0RLT1BSVjVOQ1haVnF2?=
 =?utf-8?B?SkMrTytYV3NBdzNmNEhKQUNUZzJIVUFjRVdZSk0wUisvZkRiekVZSHNQK044?=
 =?utf-8?B?STRxa3JjMnZ4UkxIR3A0SmNveml0bnRPVDBuQzNQbnlOVTFzdGdNL3BseW9m?=
 =?utf-8?B?cDIwOXNpQ0tETkpkVkNwV0o5bllIaWZBdVJKT1lRUFJ1RGYrRHJpRHprckt1?=
 =?utf-8?B?TWFsUEt6Z2laQmpyVGxVWHM4Rm8vdmVmc1dnbmhSeFpJM1ZyQTVTSlhMZnYx?=
 =?utf-8?B?SmlYd1N0dkNyWS9VaDZXS0hyN1pDZEg2NnZ0MFV2Q3g0ZzZobUt6MjlhcEUy?=
 =?utf-8?B?RXBWRW0vNlVJbTd3NmFmNDZMQk1SanZVbGRYK2FURmVlYXR0SlB2RS9zVjZ4?=
 =?utf-8?B?cWV6ckNKSWpWU21paStIMVFLREsrWlRMNXR1Vmw4VThGcVdiNyswWXpuUjZY?=
 =?utf-8?B?V3lENERKam1OYzg5ZlhZd3RoREJIRXRMMStudDJqMk5rMFczUmxrMWwyNnFK?=
 =?utf-8?Q?j2Szv2nadBJmehOD/XhMdlYL8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb66416a-819e-4166-d129-08dae2704c51
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 09:55:17.2085
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YWCA+iEadBxX3isXcFAQ5xYpbcJKWech4fkZsmiQpORXjMFu6/UxFTAwNgthnWfvvliAmp9sllKE6QIA3it1rQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6819

On 20.12.2022 09:50, Luca Fancellu wrote:
> In this serie there are some fixes for the rule 20.7, mainly violation found by
> cppcheck, most of them are false positive but some of them can be fixed.
> 
> The analysed build is arm64, to reproduce the reports here the command:
> 
> ./xen/scripts/xen-analysis.py --cppcheck-misra --run-cppcheck -- CROSS_COMPILE="aarch64-linux-gnu-" XEN_TARGET_ARCH="arm64" O=/path/to/artifacts_folder
> 
> Luca Fancellu (18):
>   arm: cppcheck: misra rule 20.7 deviations for alternative.h
>   arm: cppcheck: misra rule 20.7 deviation on processor.h
>   arm: cppcheck: misra rule 20.7 deviation on asm_defns.h
>   arm: cppcheck: misra rule 20.7 deviation on config.h
>   arm: cppcheck: fix misra rule 20.7 on arm/include/asm/string.h
>   public: cppcheck: misra rule 20.7 on public/arch-arm.h
>   xen: cppcheck: misra rule 20.7 deviation on compiler.h
>   xen: cppcheck: misra rule 20.7 deviation on init.h
>   xen: cppcheck: misra rule 20.7 deviation on kconfig.h
>   xen: cppcheck: misra rule 20.7 deviation on types.h
>   xen: cppcheck: misra rule 20.7 deviation on xmalloc.h
>   arm: cppcheck: misra rule 20.7 deviation on asm/arm64/sysregs.h
>   public/x86: cppcheck: misra rule 20.7 deviation on hvm/save.h
>   public/x86: cppcheck: misra rule 20.7 deviation on xen-x86_32.h
>   public/x86: cppcheck: misra rule 20.7 deviation on xen-x86_64.h
>   public/x86: cppcheck: misra rule 20.7 deviation on arch-x86/xen.h
>   public: misra rule 20.7 deviation on errno.h
>   public: misra rule 20.7 deviation on memory.h

Like Julien I object to the massive addition of false positive markers
just because of very basic shortcomings in cppcheck. I find this
particularly bad in public headers - imo no such annotations should
appear there at all. I would suggest that you split off the actual
code changes, which are likely going to be less controversial.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 09:58:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 09:58:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466883.725845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZNq-00011q-39; Tue, 20 Dec 2022 09:58:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466883.725845; Tue, 20 Dec 2022 09:58:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZNq-00011j-0G; Tue, 20 Dec 2022 09:58:02 +0000
Received: by outflank-mailman (input) for mailman id 466883;
 Tue, 20 Dec 2022 09:58:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7ZNo-00011b-Ru
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 09:58:00 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7ZNj-0004Pb-2Z; Tue, 20 Dec 2022 09:57:55 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7ZNi-0000s1-Sp; Tue, 20 Dec 2022 09:57:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=/HkDCNYgpSQPesn1E1x/ZtLF87jsjQ++wmlUNIEfawg=; b=EEMJywfajEHmBRm5upzseIFPAE
	Ol70ANqL2vXm+WFy0GycnqN78Y6dBgi9sCZywSRcDWd7G2/XCkPBRol3FItVQ6MS2ybJYt3j2UpqP
	02XuUgB4N1ry1NRFHqA59ww272ub4VD4kXQnWjNueX7LJz4/h4q1MKEvjZe25HGSRobU=;
Message-ID: <2fe13837-75f1-3f6c-6be2-d3cd762aa310@xen.org>
Date: Tue, 20 Dec 2022 09:57:52 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [RFC PATCH 05/18] arm: cppcheck: fix misra rule 20.7 on
 arm/include/asm/string.h
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <20221220085100.22848-6-luca.fancellu@arm.com>
 <4b51edb0-a203-a6d1-b660-914dc0c87bf2@xen.org>
 <72ebe791-7e3a-acc0-0021-cbffed69e10d@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <72ebe791-7e3a-acc0-0021-cbffed69e10d@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 20/12/2022 09:38, Jan Beulich wrote:
> On 20.12.2022 10:12, Julien Grall wrote:
>> On 20/12/2022 08:50, Luca Fancellu wrote:
>>> Cppcheck has found a violation of rule 20.7 for the macro memset
>>> about missing parenthesis for the "n" argument, while the parenthesis
>>> are not mandatory because the argument is never used in an
>>> expression, adding them will not harm code and readability, so fix
>>> the finding adding parenthesis for the argument.
>>
>> This is something I have argued against in the past (see [1]). So...
>>
>>>
>>> Eclair and coverity does not report this finding.
>>
>> ... if neither Eclair nor Coverity report it then I think this should be
>> a bug report against Cppcheck.
> 
> Furthermore in reply to my "Arm32: tidy the memset() macro" you said [1]
> 
> "In this case, Linux has removed __memzero() is patch ff5fdafc9e97 "ARM:
>   8745/1: get rid of __memzero()" because the performance difference with
>   memset() was limited. For Xen, I think we should also remove the function."
> 
> So either you want to follow that route, or it would rather be my patch
> which ought to be considered for merging, not the least because it also
> deals with yet another MISRA violation.

I forgot that discussion, thanks for the reminder! I would still prefer 
if we port the Linux change to Xen.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 10:00:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 10:00:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466891.725856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZPm-0001kQ-FC; Tue, 20 Dec 2022 10:00:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466891.725856; Tue, 20 Dec 2022 10:00:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZPm-0001kC-BY; Tue, 20 Dec 2022 10:00:02 +0000
Received: by outflank-mailman (input) for mailman id 466891;
 Tue, 20 Dec 2022 10:00:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7ZPl-0001bQ-9t
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 10:00:01 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2086.outbound.protection.outlook.com [40.107.22.86])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10e210f4-804d-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 11:00:00 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9427.eurprd04.prod.outlook.com (2603:10a6:10:369::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 09:59:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 09:59:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10e210f4-804d-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kLxRZG3w+Em6AWfskBDcFF9VzfgQrYiPvJsf5lVkmWvqU24W5S8uFJuLEVjTwmJBYQE6CRBP+fYYxll3Lbgpu60Z+1tCjG9MYkrIzFtorIKtucIU4DmOecKkGLCD5Y6xHn7BVj+yjLa3NWLbaX+DKvgW0z2Hig4WNZLnoZ7Xcc6XAkbL+vtaoYderSa3zIuibUyKK3Tn/sz+6nBD7Wf/UTrNzOpihsrTbY+nOwBR1I23iOXt+K6EB+IM2TkVks5I74WPJ4ZXteWn17Ia2vGfynwa9W9AkFwaTU4IQE7xD6ysxAIzBIh9eo0Nj9NEkP+R5DjWpXqKXlAJ52sH6Qsisw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=V7jZ9za7zMXof99zuDFjFhypdN1lRLElNh62eQ8L9+c=;
 b=L7RqUG2oHgOA+I2WCrqXYL6J1zy2c7iN2YIX+v5te39GndN/LfiU5yG8QIexZSLzfvlkj3akZHiQ4T+5FcdPtAS4EEXTSmcbN73tZH0IysLHc1UtdXuPoKhUTnY1EWqQ/uNmrQcGQqedcjStGLXYOLovYs7sT2E37xhWcGXvZwDO5hNLcCm7IQ6ZkIlrOUeZXxzfliO7m7MkXt1KXl9PWp2MXE+4HzFNCLOgFbB1sU+Rx7q2ye1sjoy7lnnWp7/GdJgNK57X1e8D/00zgeTbL7XpIbsmqJsPVH9DdzdvXpC0PY1xzQazm5ZerSB7Lbq9tU/4t/MgYs9AvM2V2FpgYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=V7jZ9za7zMXof99zuDFjFhypdN1lRLElNh62eQ8L9+c=;
 b=Gz7Ju3XstHZYIkj1byXbi0jFibETrNCXseh0oTjrDb5g9m9ksrnWe4R5LSIohxmpQPB89NYE6LknFajnp4l4Oe0EZ2aSNVurxjSmbXVqltB15px7CdghAQM9FeOjd/RlwtZuc4saZYzykTAQLHcY3xR4WN82s3CBpZ+iic6jdtOJDH3C63a5xS8xnpbWnTr0JM08gTj4W0Dlb7DNyeoHyMRuzzMJwZnyrVIU6ExnZpgvNUyUsMo56U5NmlXMlrg/ARS30TlHzJRVEPAujh8/Wty28U7NnyLhvkpUXDZ8H2q34mQmFx4ym+zZ61OccY6bwybvHsAHAq8fN0ihhHLDng==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0ea24e81-4697-90cb-a7c9-68ee022b529f@suse.com>
Date: Tue, 20 Dec 2022 10:59:57 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH RFC 04/10] domain: update GADDR based runstate guest area
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <22422a1c-1cfa-95d0-c1fa-99150a8f2a32@suse.com>
 <33a84c2a-0c94-a62d-3754-4a61aa951c83@xen.org>
 <417c72f4-e9a0-e3cc-1c36-544967d73e34@suse.com>
 <45781a58-61cb-bc8c-c18d-35d054b4b06c@xen.org>
 <a9779d15-2f53-87c1-c4c4-745ac709430a@suse.com>
 <f633b729-e422-9fd3-a635-b8617eb6bfb2@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f633b729-e422-9fd3-a635-b8617eb6bfb2@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0012.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9427:EE_
X-MS-Office365-Filtering-Correlation-Id: 0fd29c3d-5b61-4d25-6c72-08dae270f430
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bDFf6SiYRiM+GBxJ2SqrUdr28Zpu2dJADxOVEOa6BazPwj686U299/7uqB+TFXDKfl9VP2WO2GQcOqZ1eZeg2CjXkUR0WtSRaYz7LJSSTqolEeLjhSv8G4dd+XiLQbcfbhRGn96bRHPBLOKwyDKqrJ/HT0ZBd4TTRRgflQSz9aKr/xcCg9UISzByC8Kti5U5BNzShmc3PyG8ZN2uhsTJMZjv8V4FKPddJ/Gqan6ncxsor65B2BX68WCafibREAzFM60UmT3wVy4ndhaMqgBns4zQS6TAuNxjskLBEUPpTx4tS2BzmoOlDXbWMSOpEwrGQq7onC+qV/FYmjH8CVa7cKyXxNCv1UoxNsk/FZqvOktLKlx7jYVBSTI8iHBg54Hppr6n8lgnwM3Rlkf4ZrKKcLt1QxrntNbbpv9K3dLKKxPEnUEdelQDKTqiPo47sU1H7lTzAiLi8G3Tlq12tGo0w2sHFL1aafwMmfjvrhSxaMlxVNKxkjpCEeUVrw6yJXakLQFScewa236TM93i09L4ShjnoI45ynj0J8raXOC5IWTCaLQeIS8BvXVqXnL4Db7JH8CuD4I5xJojy5AGUcYHd7ihWDP/TPr5wst3sJCUWjnVxMvB6kMOzfJjHBTjT/Swj3ZLJtXuexpdAKauMZvt77q7eIs1pU7ePLQ2RAFcudrXo/vNPii9udad+FwXuFwWJyynW9KE/yIO9pXfuYvpeu8yWlx6Pa72eL00H+OXXsA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(136003)(366004)(39860400002)(346002)(376002)(451199015)(38100700002)(53546011)(6506007)(6512007)(186003)(26005)(478600001)(6486002)(36756003)(31686004)(2616005)(41300700001)(66476007)(316002)(8936002)(2906002)(66946007)(66556008)(4326008)(54906003)(5660300002)(86362001)(31696002)(8676002)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z0pwZG4rWmc4b2hpMWpORUREOE5NRmZzL3Nyb01uSWRkZk5VTkxPOEtIMnpz?=
 =?utf-8?B?Njc2Z3M0ajk3ZHg1NG53VE9Vdms4dG9wSmNIcWJwZFRQb2U0TE1uenVoZWN4?=
 =?utf-8?B?bGR1N3haOVNvMVU5Q2RidGUxYWtzdUdaV0JPMEdlVll0OG9xbjJQNzdGRk0z?=
 =?utf-8?B?S2txTmFOVy9rR09sZWZHVCtTMEFOd2p2S1BzM2xUV3VTQU1HRVJZY0ZDTy9p?=
 =?utf-8?B?Si9rQSs2cXJTK0F0ZVRsdFJMcko1SUVzVHBxUk5tK0JUNlRKS3FYWnBERW42?=
 =?utf-8?B?bFlnUGFQaWcrOUt1QTYzejFySXVIY2lNdFlIOTBWUGRvUU5hOThkcXNLdlJp?=
 =?utf-8?B?amRUekxmTFJybk9ZTWFSYmlBNjVuU29DQnYzVFZJQ3RpaGlra0VubFo5NGVv?=
 =?utf-8?B?TmpBYWNFWDhGc1pqZVdhSVQ4TThkdHBCTC81T29rU2N6Z2J3VTYvNzljVE4r?=
 =?utf-8?B?MGkrS1lkSzVFb3FrcjByREJuQ2liaEFVSnMwbmh1VU1RcHpWR1J0ZUFYTSsz?=
 =?utf-8?B?TGpvTmpkb01SSjl3bUJqbHVnYVB0UkxPUmRObXMwb1FxUjQxQjVzVVdxUTR6?=
 =?utf-8?B?ZHB1RmVJU2lRb2NXY3ZER1BYMU5HTnpZZkFDOTRCcjhnUXNKMW5hcEN4aDg1?=
 =?utf-8?B?Y2s5SUtwWkRGdTFiNnBlWG5mWUM5NVZjREVmQlFGL1ZPMmFtaXBNck9BSlZE?=
 =?utf-8?B?eG1sYTZuc2dKekJhS2d5Q3VIWGd1QW5Db0ZtR05Nb3ZpbGxwcmFYSDU5dlUv?=
 =?utf-8?B?QTBEQ2ZuSGFFQk5Cd2dVQXJlWEdMa3NKZm1xYkFNZ1pOSzRaT0tqZlUwbFhZ?=
 =?utf-8?B?N0xsRi9qd0tpTnRZZVNHdWwzRGxabW9FbndCK3dpdlViMithcDV0dHozZ1la?=
 =?utf-8?B?bFN1UEVYU3ZUSndNU1RnRVI5WXJaZy91REVZaUk4a3V1Q1Rmc1JUNmdBWkpt?=
 =?utf-8?B?eEZSNGZRRXdRZTJiVnhUZEZUanFTQ2JNR3QwZzEwNFl3ZVFvWFZyKzM3M1la?=
 =?utf-8?B?eHdhSThKMEZiRHNHNkdxMkR4TDNpK0F2R2ZRbjJxeVJqZ0cxdnE4bUJSZ2Iz?=
 =?utf-8?B?Zm5UOGtLVlZkTC9KUXNtUHNsU1FXdll3bXdKTXk3dWlwQk9HK0NZUzBucXRS?=
 =?utf-8?B?TXkwN2FsZnVCODk3SEJ1ck0xQW1DbnhDZThPek9EazBpTVJmQTU3M1pVQ2lr?=
 =?utf-8?B?M29MNG93dVdpZkpFdDZrRkJwdi85aGRXdEhrZUYrZGdQWHRNNGpxVnhXaDRF?=
 =?utf-8?B?TVhacEJHdVNLZnZ4WUZ3WndpQ3cwbjJFVVAxUnJKZGZoOUdJRjV5MGNkK2J2?=
 =?utf-8?B?RUxsc09kcUx3ZlR6b0hhY3hkbFVwYWwxdjJYNGdGenZqSnpaWEd5VkVXVEFZ?=
 =?utf-8?B?cGpiYmxYeHBxY1paTURKYU43eWphaHpIR2pzNU9LT0pEVlVjcC9lajJqMHRx?=
 =?utf-8?B?dzI3UjRFbDROcUN4K29pS2VEVU11MTlRMkQreGh0bDc2Unp4MjZodnBCWllx?=
 =?utf-8?B?eDZHdDFBc3ZkVFR0ekRTckN0TzZiVXIwcWlJRDQ2NTRXMlRxN0pXZGxKSEdC?=
 =?utf-8?B?UXhBT01FaHppN2lFcTREVVVETHZWaEUrNS9nWXdTOGoydmFDcVZZbEtDSWJX?=
 =?utf-8?B?dFB0Qnd3NG9BbkJkWDA1Tlh6M2xVSnV1ZHlnRGU1NWwrUXdqdjRjZmVheWdp?=
 =?utf-8?B?bGZzMm05Z281N1VMazhUUUVZYkxMQS9CYkYwd0dUTDIzUVpJTHIzaTRWNWhS?=
 =?utf-8?B?N25EU0xkSW1ma0g4QkVwd0FpaWo3aXpUem16T2RDUUc1dUdXOEduZXN2ZTdC?=
 =?utf-8?B?M2trU1pSZ2Y1WkRlVlgzUmR6ZUdpSGZ4bzV4K1h6UzZDOTJ6cCswV2E1MVVC?=
 =?utf-8?B?VS9FRE9haXhBNFY4bzlsbXBzK0ZCamxvbUg2QWxkM2xoZW00RnJHcFc1c0hI?=
 =?utf-8?B?TmV4TEw0VWZnSktHYXJhbmFDQ0xKWG5xUmdzdElKTmlzeTlrRlAvajhBc0pp?=
 =?utf-8?B?WVFINUNmUlY4RE1vcmczMUdmNGdOUG9jN25mYUIwVUlXN2xkcHpURkYvSGFr?=
 =?utf-8?B?VU5CVmdvSkpSZHJaaUZndjZ6dDE0ckJabHhWWDlZeDdURmUyT3BWU0ZLU0t3?=
 =?utf-8?Q?WM36KHpnccr3VCzy2RTxaNsne?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0fd29c3d-5b61-4d25-6c72-08dae270f430
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 09:59:58.8625
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PeGN9ssQjz+hul1SS4k1jFiegXR/aixGZGWlTO0bWS4OvjmJgQmpkV4woBXwvaDQeCi+02FOXN1HxlA/OV5/jg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9427

On 20.12.2022 09:48, Julien Grall wrote:
> Hi Jan,
> 
> On 20/12/2022 08:45, Jan Beulich wrote:
>> On 20.12.2022 09:40, Julien Grall wrote:
>>> On 19/12/2022 12:48, Jan Beulich wrote:
>>>> On 16.12.2022 13:26, Julien Grall wrote:
>>>>> On 19/10/2022 08:41, Jan Beulich wrote:
>>>>>> RFC: HVM guests (on x86) can change bitness and hence layout (and size!
>>>>>>         and alignment) of the runstate area. I don't think it is an option
>>>>>>         to require 32-bit code to pass a range such that even the 64-bit
>>>>>>         layout wouldn't cross a page boundary (and be suitably aligned). I
>>>>>>         also don't see any other good solution, so for now a crude approach
>>>>>>         with an extra boolean is used (using has_32bit_shinfo() isn't race
>>>>>>         free and could hence lead to overrunning the mapped space).
>>>>>
>>>>> I think the extra check for 32-bit code to pass the check for 64-bit
>>>>> layout would be better.
>>>>
>>>> I'm afraid I can't derive from your reply what it is you actually want.
>>>
>>> I think for 32-bit call, we also want to check the address provide will
>>> also pass the 64-bit check (i.e. if used as a 64-bit layout, the area
>>> would not cross a page boundary and be suitably aligned).
>>
>> But that's specifically what I say I don't think is an option. First and
>> foremost because of the implication on 32-bit callers: They're need to
>> use magic to get hold of the size of the 64-bit variant of the struct.
> 
> I understand that. But I am not aware of any other (simple) approach 
> where you could have race free code.

My reference to using has_32bit_shinfo() not being race free was to avoid
suggestions in that direction. There's no use of this function in the
patch here, nor in the one where the new boolean field is actually written
to. The solution as presented is, afaict, both simple and race free. It
merely isn't very nice.

Jan

> So between a non-race free code and exposing the restriction to the 
> guest, I would chose the latter.
> 
> Cheers,
> 



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 10:01:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 10:01:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466899.725866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZRa-000333-R9; Tue, 20 Dec 2022 10:01:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466899.725866; Tue, 20 Dec 2022 10:01:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZRa-00032w-OY; Tue, 20 Dec 2022 10:01:54 +0000
Received: by outflank-mailman (input) for mailman id 466899;
 Tue, 20 Dec 2022 10:01:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7ZRZ-00032q-MV
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 10:01:53 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7ZRW-0004am-JK; Tue, 20 Dec 2022 10:01:50 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7ZRW-00018c-CO; Tue, 20 Dec 2022 10:01:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=oqUt5qGqe+cYYG1GtRkN87fHEHI2rIBQ2Sh6V318O38=; b=JLOaEVphQ1ouS3A7HVD/U8egpG
	w07nnt9unAi3V+VU2P1tcOohqUMAXbQiuNCRzpKs+WuVsGM7jyhACL+R25zAC5L4JRzsuz6Br342N
	L0MXsNQQDf73lb1TWHIz2J3QXyT4wKy2hU7c0LnVs7tQq+LDXie4Y55lbmnQIpsOKnJQ=;
Message-ID: <4830afd7-74a2-982d-f1e8-058b84602c66@xen.org>
Date: Tue, 20 Dec 2022 10:01:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH RFC 04/10] domain: update GADDR based runstate guest area
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <bcab8340-6bfd-8dfc-efe1-564e520b3a06@suse.com>
 <22422a1c-1cfa-95d0-c1fa-99150a8f2a32@suse.com>
 <33a84c2a-0c94-a62d-3754-4a61aa951c83@xen.org>
 <417c72f4-e9a0-e3cc-1c36-544967d73e34@suse.com>
 <45781a58-61cb-bc8c-c18d-35d054b4b06c@xen.org>
 <a9779d15-2f53-87c1-c4c4-745ac709430a@suse.com>
 <f633b729-e422-9fd3-a635-b8617eb6bfb2@xen.org>
 <0ea24e81-4697-90cb-a7c9-68ee022b529f@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <0ea24e81-4697-90cb-a7c9-68ee022b529f@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 20/12/2022 09:59, Jan Beulich wrote:
> On 20.12.2022 09:48, Julien Grall wrote:
>> Hi Jan,
>>
>> On 20/12/2022 08:45, Jan Beulich wrote:
>>> On 20.12.2022 09:40, Julien Grall wrote:
>>>> On 19/12/2022 12:48, Jan Beulich wrote:
>>>>> On 16.12.2022 13:26, Julien Grall wrote:
>>>>>> On 19/10/2022 08:41, Jan Beulich wrote:
>>>>>>> RFC: HVM guests (on x86) can change bitness and hence layout (and size!
>>>>>>>          and alignment) of the runstate area. I don't think it is an option
>>>>>>>          to require 32-bit code to pass a range such that even the 64-bit
>>>>>>>          layout wouldn't cross a page boundary (and be suitably aligned). I
>>>>>>>          also don't see any other good solution, so for now a crude approach
>>>>>>>          with an extra boolean is used (using has_32bit_shinfo() isn't race
>>>>>>>          free and could hence lead to overrunning the mapped space).
>>>>>>
>>>>>> I think the extra check for 32-bit code to pass the check for 64-bit
>>>>>> layout would be better.
>>>>>
>>>>> I'm afraid I can't derive from your reply what it is you actually want.
>>>>
>>>> I think for 32-bit call, we also want to check the address provide will
>>>> also pass the 64-bit check (i.e. if used as a 64-bit layout, the area
>>>> would not cross a page boundary and be suitably aligned).
>>>
>>> But that's specifically what I say I don't think is an option. First and
>>> foremost because of the implication on 32-bit callers: They're need to
>>> use magic to get hold of the size of the 64-bit variant of the struct.
>>
>> I understand that. But I am not aware of any other (simple) approach
>> where you could have race free code.
> 
> My reference to using has_32bit_shinfo() not being race free was to avoid
> suggestions in that direction. There's no use of this function in the
> patch here, nor in the one where the new boolean field is actually written
> to. The solution as presented is, afaict, both simple and race free. It
> merely isn't very nice.

Ah! I misunderstood what you original wrote. Thanks for the clarification.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 10:05:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 10:05:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466910.725877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZV2-0003lo-Eb; Tue, 20 Dec 2022 10:05:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466910.725877; Tue, 20 Dec 2022 10:05:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZV2-0003lh-Bj; Tue, 20 Dec 2022 10:05:28 +0000
Received: by outflank-mailman (input) for mailman id 466910;
 Tue, 20 Dec 2022 10:05:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7ZV1-0003lZ-Ad
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 10:05:27 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7ZV1-0004fA-09; Tue, 20 Dec 2022 10:05:27 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7ZV0-0001I0-PT; Tue, 20 Dec 2022 10:05:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=t5aJ5ovChQp67a30Kr5T1C7MD4uACIuY2fcj1B+WoYQ=; b=wZvyYGKVOLavWtoFnS7JU46KP1
	+onzbIXF6lvCT3QZXgGjqusRqZbZ2QV/EJuJqiSJBylGhuGLyQcN9SEqoZeRwhoh8jhg2xGxpyKWP
	1Xc4vmivGrCic1/Y5S0owWrC773m+FjNW6LIlAjUaoWkOA3vY1p7sTNEQCz1zKw562YA=;
Message-ID: <6e2b1f97-3e72-34b9-8faa-f00e79587b39@xen.org>
Date: Tue, 20 Dec 2022 10:05:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v3] xen/arm: Probe the entry point address of an uImage
 correctly
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221217193801.19485-1-ayan.kumar.halder@amd.com>
 <75635251-5f51-fbe0-28be-a99480541116@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <75635251-5f51-fbe0-28be-a99480541116@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 20/12/2022 09:44, Michal Orzel wrote:
> Hi Ayan,
> 
> On 17/12/2022 20:38, Ayan Kumar Halder wrote:
>> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
>> result, it contains the default value (ie 0). This causes,
>> kernel_zimage_place() to treat the binary (contained within uImage) as
>> position independent executable. Thus, it loads it at an incorrect address.
>>
>> The correct approach would be to read "uimage.ep" and set
>> info->zimage.start. This will ensure that the binary is loaded at the
>> correct address. Also, it checks that the load address and entry address
>> are the same. The reason being we currently support non compressed images
>> for uImage header. And as seen in uboot sources(image_decomp(), case
>> IH_COMP_NONE), load address and entry address can be the same.
>>
>> This behavior is applicable for both arm and arm64 platforms.
>>
>> Earlier for arm32 and arm64 platforms, Xen was ignoring the entry point
>> address set in the uImage header. With this commit, Xen will use the
>> kernel entry point address as specified in the header. This makes the
>> behavior of Xen consistent with uboot for uimage headers.
>>
>> Users who want to use Xen with statically partitioned domains, can
>> provide the fixed non zero load address for the dom0/domU kernel.
>>
>> A deviation from uboot behaviour is that we consider load address == 0x0,
>> to denote that the image supports position independent execution. This
>> is to make the behavior consistent across uImage and zImage.
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>>
>> Changes from v1 :-
>> 1. Added a check to ensure load address and entry address are the same.
>> 2. Considered load address == 0x0 as position independent execution.
>> 3. Ensured that the uImage header interpretation is consistent across
>> arm32 and arm64.
>>
>> v2 :-
>> 1. Mentioned the change in existing behavior in booting.txt.
>> 2. Updated booting.txt with a new section to document "Booting Guests".
>>
>>   docs/misc/arm/booting.txt         | 21 +++++++++++++++++++++
>>   xen/arch/arm/include/asm/kernel.h |  2 +-
>>   xen/arch/arm/kernel.c             | 27 ++++++++++++++++++++++++++-
>>   3 files changed, 48 insertions(+), 2 deletions(-)
>>
>> diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt
>> index 3e0c03e065..01b12b49a5 100644
>> --- a/docs/misc/arm/booting.txt
>> +++ b/docs/misc/arm/booting.txt
>> @@ -23,6 +23,24 @@ The exceptions to this on 32-bit ARM are as follows:
>>   
>>   There are no exception on 64-bit ARM.
>>   
>> +Booting Guests
>> +--------------
>> +
>> +Xen supports the legacy image protocol[3], zImage protocol for 32-bit ARM
> uImage is not a protocol. It is just a header with no other information \wrt
> boot requirements.
> 
>> +Linux[1] and Image protocol defined for ARM64[2].
>> +
>> +Earlier for legacy image protocol, Xen ignored the load address and entry
>> +point specified in the header. This has now changed.
>> +
>> +Now, it loads the image at the load address provided in the header.
>> +For now, it supports images where load address is same as entry point.
> Would be beneficial to add explanation why load address must be equal to start address.
> 
>> +
>> +A deviation from uboot is that, Xen treats "load address == 0x0" as
>> +position independent execution. Thus, Xen will load such an image at an
>> +address it considers appropriate.
>> +
>> +Users who want to use Xen with statically partitioned domains, can provide
>> +the fixed non zero load address for the dom0/domU kernel.
> 
> I think this section is missing a note that in case of not PIE, a load/start address
> specified by the user in a header must be within the memory region allocated by Xen.
> 
>>   
>>   Firmware/bootloader requirements
>>   --------------------------------
>> @@ -39,3 +57,6 @@ Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/t
>>   
>>   [2] linux/Documentation/arm64/booting.rst
>>   Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst
>> +
>> +[3] legacy format header
>> +Latest version: https://source.denx.de/u-boot/u-boot/-/blob/master/include/image.h#L315
>> diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
>> index 5bb30c3f2f..4617cdc83b 100644
>> --- a/xen/arch/arm/include/asm/kernel.h
>> +++ b/xen/arch/arm/include/asm/kernel.h
>> @@ -72,7 +72,7 @@ struct kernel_info {
>>   #ifdef CONFIG_ARM_64
>>               paddr_t text_offset; /* 64-bit Image only */
>>   #endif
>> -            paddr_t start; /* 32-bit zImage only */
>> +            paddr_t start; /* Must be 0 for 64-bit Image */
>>           } zimage;
>>       };
>>   };
>> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
>> index 23b840ea9e..e9c18993ef 100644
>> --- a/xen/arch/arm/kernel.c
>> +++ b/xen/arch/arm/kernel.c
>> @@ -127,7 +127,7 @@ static paddr_t __init kernel_zimage_place(struct kernel_info *info)
>>       paddr_t load_addr;
>>   
>>   #ifdef CONFIG_ARM_64
>> -    if ( info->type == DOMAIN_64BIT )
>> +    if ( (info->type == DOMAIN_64BIT) && (info->zimage.start == 0) )
>>           return info->mem.bank[0].start + info->zimage.text_offset;
>>   #endif
>>   
>> @@ -223,6 +223,31 @@ static int __init kernel_uimage_probe(struct kernel_info *info,
>>       if ( len > size - sizeof(uimage) )
>>           return -EINVAL;
>>   
>> +    info->zimage.start = be32_to_cpu(uimage.ep);
>> +
>> +    /*
>> +     * Currently, we support uImage headers for uncompressed images only.
>> +     * Thus, it is valid for the load address and start address to be the
>> +     * same. This is consistent with the uboot behavior (Refer
>> +     * "case IH_COMP_NONE" in image_decomp().
> Please make it clear that you are referring to uboot function.

Could we avoid to mention the u-boot function? The reason I am asking is 
the code is in a different repo and the function name can easily change 
without us noticing (so the comment would rot).

Is the behavior documented somewhere in U-boot (or online)? If not, 
what's the guarantee that it will not change?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 10:09:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 10:09:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466918.725889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZZ7-0004P7-Vu; Tue, 20 Dec 2022 10:09:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466918.725889; Tue, 20 Dec 2022 10:09:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZZ7-0004Oy-S0; Tue, 20 Dec 2022 10:09:41 +0000
Received: by outflank-mailman (input) for mailman id 466918;
 Tue, 20 Dec 2022 10:09:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7ZZ6-0004On-Gl
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 10:09:40 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on2079.outbound.protection.outlook.com [40.107.8.79])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69d2b735-804e-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 11:09:39 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6845.eurprd04.prod.outlook.com (2603:10a6:803:138::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 10:09:36 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 10:09:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69d2b735-804e-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SoUHknB3o9xGxmg/o83hGvzC+q+B0H3z1DuY3aLtvATFn/lsTf03HhVp2vWVAYq4dnHBUqxKS+w5KUZVeZc96xZh869NYSK8KVAfjwfEMZDhQtT8GP1ZczK6ajCgsA+4rD46NALkz9bY21Mr/+unLvbOvc3udOHYzv6NHtLp3ngR2hGZjuiYwQxV0UN2hCskA1xvhcx5UCptWEiiOgL/X5WmtFV078uWGacK0jHQqzz5YTmLQYlcjD1cIogl3Aa9Vjp6Jts3f/Kq43n3QBgtzlnxKpl6bsZp7vLgJDIxofvG6OP0Y1+pMtog2lHU3B5LIM7aiDktx4azFigNdEe4Jg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HJgwyheY1nbA1kwZdxLhgY1wrXCNf02fI8FmSUuOyPU=;
 b=mZik+mOxMoWTOJiPaonzIKgbudLRcpJpu4Jlj5ak2037HN4P/rLfIBotqhs/NYeXLMf/UihJorRndTPyqYJ/UjEyEXYm9Exnb8yGJaF3MHUutS3IQrlLvRerYJOYGtV2iuSwXbao7AKlhqkPcmU6tjV3bIh7wN4CTHXST1zRqqalT67vQIG4dZJq5pUf5+NVeLWRBi72Bh9g+8s26/MfMwrYF6O3YNWcKigu/IOi7fmx9e0gkEBMSIZldXImx/9UC+VHBR4eqo6lctoJESRR5dVcK5NCVNO4TJVRW4Qcchamo5GCr37DzbuTI2da5nlKvdK9ezQDNEvLBgXL9okqow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HJgwyheY1nbA1kwZdxLhgY1wrXCNf02fI8FmSUuOyPU=;
 b=0o1MBOR+bvda8YInjA9lHXMJa4r5fi8cY911lHS2uUt9VACg7QuorxybnplwcvxAl043Sp9/2mrLanckEnOKdMJxUuTqJyjQRo8kPQQAjEVTXDJLV3E9KDwxNQlD63VelZyyHz5kVCHG5lLXWtrhJCcQYaQOpUJ2xz8KmmKN40YAOp7h5WJuozWZqExpTYjcMRREWVrmoDqR1Aem0EOQi06oOdf/hQXz/fEPWdg7iK0aM0739p75ew3878XqIXX1TdSPNlXCMCmPRe6xr4nuOJzWfOwgA5RlxzylhrRug8VEgARZpt9MCdkPkJ6tnZ4QEUwu4tcjOZV4RLnuw7GGbA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6966791d-23d5-2613-da53-044b1621e3b5@suse.com>
Date: Tue, 20 Dec 2022 11:09:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC 0/7] Proposal to make x86 IOMMU driver support configurable
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Paul Durrant <paul@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, George Dunlap <George.Dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <4b45cde3-52e1-15ae-7b6a-84c0d5141cc9@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4b45cde3-52e1-15ae-7b6a-84c0d5141cc9@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0015.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB6845:EE_
X-MS-Office365-Filtering-Correlation-Id: 43e44a51-1395-415e-97b2-08dae2724c00
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6c/ITP0ao9J7AZCRaqCwcTnJog6xDylPHMT3Z243/wm0onj+kBDT5bvpHtid3vHrgd+4HBCuK2X+9EP0rs0U630yYFem6dXIZ0LhkL5PqbufnvEt2Pgk6xOs4E6co+Canqw4MOhiitCiw3KzigAWeCZbiwVyJbd3rY1ORVkbZUv+IrGLcR5B85ZvsK2jHUuihfWOXf+2DHQTu8CX5pv5VxAnjKyTc58sfSzvqgzMAj/BB4RBrIsEfAk6mQH8YhJM3N3sl5P7Hg42A3djmxsW8VlYss3Zxt1U6h2TEo+TIEfVbyPFPV7zOjSpJlfK5ObeYQQVNihkAHhvnYKVvFOuC+h2mQ5vIupcj0QMGabbeNXYmnjbrL4bw2QtidQvY37e3bY04Y10F4WRq9o+mF+ZeFssHRSCaYQFZ+CCHra4dEmA9V7CtY2XIeHi/2puXkGrOmVuetlEUBNxHr5u39ihKGxBjMJoCuWwby9QjA0FRQQUhhKCAZqQO1XxnFB78X4ZGvwBl/NeS6onfjcWqXuRmRE3VE/z+chdahUAxEJekRSHwMk7e1K4r0L+Ru+IizuBNBCzWC4ioTjNunPtasDKw9h0BW1j1oMCTG6d+Q8iq3oe2D99r/CaRsvzoZjtg39lXnho+MPpMWxteCD29NmjHPTF6PEzCVPIwylSZ09YwnBJHVINVRn4XgUgh4DuiveIIIA82NC1YI0XrMCbvaYMjZNFm9MsnQ8/zdtScWQiylU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(366004)(376002)(39860400002)(346002)(396003)(451199015)(66946007)(66556008)(6486002)(478600001)(186003)(6512007)(26005)(7416002)(4326008)(8936002)(66476007)(41300700001)(5660300002)(54906003)(53546011)(36756003)(8676002)(6506007)(316002)(2906002)(110136005)(38100700002)(2616005)(31686004)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VmthcVdEbk0yN3VxaDkzcDBuNzU0WkQraFhIa1dSRk8vU25CUjY5MEhRNGpZ?=
 =?utf-8?B?VllwZmtlcnNvQ3dXQ2xDU25PMWhvNDdmSlJuQWJTNFZ5M3BsRmhTR3psMGho?=
 =?utf-8?B?Ym5ZRHV2ZFovUmUrWmxnLzFXdDZrbGFtOHEzLzlmRG40QnBrOHA1c05INTlS?=
 =?utf-8?B?TzRGaEZHdENlMkVKM0N0OUR3KytQazBraXVMZmx3cGMyaEJWSG16eGRGR3dT?=
 =?utf-8?B?bUFVUU1WMHVKdFFpaVFWRzBVcDU0M1NXU0tGOFJiRDRxeERqYkRqUm5Jd29r?=
 =?utf-8?B?bzAvSnR1N05EZkp3VVNaT2w2K2xsM3pEUEVJWmtnbnNyQXM1YXlZbG5mRzdy?=
 =?utf-8?B?WHdaSUNzUkFrZURsOEd4WGs2bk5XbU9jQzFmcG9wRXRqaktNc09YNVY4MG9G?=
 =?utf-8?B?SzFPZWk5MlBLTFF1T1NMZUx1SzhQa3RNMUgxMFlNaDEvY3h1c1NxNk1kU01l?=
 =?utf-8?B?TDJpU1BLcWdJTlV2R1lhUlVsU2pCLzV2cU9reFJxR01sK3dXbTA0V1phcmFz?=
 =?utf-8?B?Rkx1c0U5V3VJaDZETlo0c3ZOZkNtTEN3OHpQQVhLOW91b3BPSzM4RjhZMlhN?=
 =?utf-8?B?WEZRdUhGM2ZHMEJIMEVwZFg2NHJ3YVJkN1JmWHgxbjNCaUhmZnJuUFRDNGVK?=
 =?utf-8?B?WjdEWkx3QUMrOHR5eUNiZDQvZ09tRHlqL2RlR001NWJxYUZpTFMvRU81eEY5?=
 =?utf-8?B?cXVBZGtXaFFRb1IzZC8vbGUrYU16RXZ0aExEMWYzdlFTOWhVMmpjaCtXZnVC?=
 =?utf-8?B?SCtYVnBYSzlMY0xaOVN1aTVIc0ZsSTF5bUdQMzdjdHZCeXo5K0FMallwbDM5?=
 =?utf-8?B?MU1kWURxbkdvcVdrZXljZnI4b0Yzc2YrQlE0RWpiUlFYaElUcFNPT1F5MTdZ?=
 =?utf-8?B?OGJidTkwWVBMbzIzRmJBZEpGOXhvSWlMQ25yak92aE5oYXZqdHBDazduRkpB?=
 =?utf-8?B?TTd5eEFyWnovTUpBN283UlpNeXJ6U014T1FNMUpOa2pFT29JSmJIZVFYSzF1?=
 =?utf-8?B?SHA5aHJRS0hFT2tpbzRqVnN5dDgxR05kZ2FZbTRsL3FyeW9jUHlXaFFFYXpw?=
 =?utf-8?B?UkNYdFk5MTNVeWRmQm5UN2N4MHBwOGFCeEJ3OSs1MGM3WmdXT2JnUFB6N0ox?=
 =?utf-8?B?WEtNTEFMV2tBcGpCMDhKak04NHNjNTFQd3BTN3l6bS9OVHBVbWJiRytmUWlF?=
 =?utf-8?B?RXdRVW91ZGorSkw1UkxScEFPT1V1bnNjZnFqaTEzMzhQQ253MWlLSU9JcTRz?=
 =?utf-8?B?WGswY1dCWWhiL1hVaFk0dlVPbldUU1hYTWkrMmpKK0Fid3piMmFOMjN1Y2Z6?=
 =?utf-8?B?ejllR0UrYkp3OTRDcS95Q1EvdlhFWG5LdDVubTZxbVBocVJKUXZVT2ZlU2xq?=
 =?utf-8?B?TlNoeWFGcHM2RUlqK1dMNG1DU0krUFdTclpXNVl5dFVrZGNpSDVTQVBRYW1E?=
 =?utf-8?B?c3Z6VjhEWEZQdTh5TTBtNWFJRnA1T0xteE5LamRIbGZOeGVMM2c1SjIxTjhj?=
 =?utf-8?B?M1lSUWtYdlVsNmpDMmJQWXUxcTdyNUVOak1kemoveWlBcGxwelVTL0NTYkRi?=
 =?utf-8?B?eE1HR0xhd1dSUDIrV0xLTzB2MzZPc1Q3cTZ2MHFjdG5GOVR6ckxFL0t2ZEYz?=
 =?utf-8?B?OGFwZ1lqNjRNNHZTb0pVbnZLSXhQczFkMnRla1BwM3pOME9FUTZrNC91ckQ4?=
 =?utf-8?B?eXRXRWRzdHgzYURaY1oyelVHcEh0YncwUlV6SDJGN3lxOWhsQ1JrSTc0djgr?=
 =?utf-8?B?L1FzcVFLYTlVTGgza1Z4dDU1UWh0RWh0K3o3QjdNZmY2VUxEMHFsUlVlcTV6?=
 =?utf-8?B?YXU2dEpmSkNqdDhibVhSKzhLWjdwcXNqQ3o0cGRQZ3FuUHdjaXhWZHJiVDZ6?=
 =?utf-8?B?NG1NcGwvMnBJS2hOWlZ2a2JjKzJTNWd3dzNWNGw2MWhmNmhCZ0hkelZGQ096?=
 =?utf-8?B?OERvdVVaaGo0R09FSC9IdmovdTkyd1dXMGt3YzFxUzIrY25CelZDUHBQaXhU?=
 =?utf-8?B?WjJZT2VhbjJFOWtrczhpUDBoY3FWL3NOelhuVWtrb2xJdnl1c21GS0pQTlJu?=
 =?utf-8?B?QXRnNW1DSGt0ajNVRDBqSUgwUFQ2RGtGd2h5VlZwbkMvNm9peEwwVWRCRWYr?=
 =?utf-8?Q?Vf7uck9JZ82lSUvywGQbkS3MO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 43e44a51-1395-415e-97b2-08dae2724c00
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 10:09:35.8102
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5hD2YrcZv1PEevAWVUX45FQiK7dHiLj1DFxvJyxuBnrxp+LfiqDNtqWIsGH4uXtIOa303wpcdeaHXFaWj6CUrA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6845

On 19.12.2022 19:28, Andrew Cooper wrote:
> IOMMUs are more tricky still.  They are (for most intents and purposes)
> mandatory on systems with >254 CPUs.  We could in principle start
> supporting asymmetric IRQ routing on large systems, but Xen doesn't
> currently and it would be a lot work that's definitely not high on the
> priority list.  At a minimum, this will need expressing in the Kconfig
> help text.
> 
> We need to decide whether it is sensible to allow users to turn off
> IOMMU support.  It probably is, because you could trivially do this by
> selecting CONFIG_INTEL only, and booting the result on an AMD system.

One other thing Andrew and I have been talking about: We probably do
not want to tie the IOMMU vendor control to CPU vendor one. IOW we'd
like to be able to e.g. build a hypervisor supporting Intel (only) as
the CPU vendor, but at the same time having support for an AMD IOMMU.

> For the names, I don't think AMD_IOMMU vs INTEL_VTD is a sensible. 
> Probably wants to be INTEL_IOMMU to match.

Or simply VTD, covering the case than some other vendor comes up with a
clone. But of course we have that same issue with "AMD" and Hygon ...

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 10:12:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 10:12:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466926.725900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZbL-0005mK-Ab; Tue, 20 Dec 2022 10:11:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466926.725900; Tue, 20 Dec 2022 10:11:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZbL-0005mD-80; Tue, 20 Dec 2022 10:11:59 +0000
Received: by outflank-mailman (input) for mailman id 466926;
 Tue, 20 Dec 2022 10:11:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7ZbK-0005m3-9p; Tue, 20 Dec 2022 10:11:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7ZbK-0004nV-5h; Tue, 20 Dec 2022 10:11:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7ZbJ-0003MJ-MF; Tue, 20 Dec 2022 10:11:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7ZbJ-0000Va-Li; Tue, 20 Dec 2022 10:11:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xrbH93Ofh3s2KzuEm3ratlmuca15uwpbdqerKNkZwQQ=; b=4q2tb9G+XoLcGuakYSy/mtonGT
	g3qO15PyGZLTQdMPqcLTpoX71TOF3YCPqXx3z1jqrJSfasqxd9mrOebRUVFGyo3Wr5p7I6Lj/tYbx
	SM2annDbT9EtWxqtMii4X/meBnqWj8LjG6+VL9sUVhMNyHB1s/2TK2Msi3EikVoihMNg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175420-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175420: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=ceb52713b00a4bec1a4ab551636b8d297139ea6f
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 20 Dec 2022 10:11:57 +0000

flight 175420 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175420/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 ceb52713b00a4bec1a4ab551636b8d297139ea6f
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    5 days
Failing since        175214  2022-12-14 18:42:16 Z    5 days   35 attempts
Testing same since   175420  2022-12-20 06:24:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  Chun-Yi Lee <jlee@suse.com>
  Chun-Yi Lee <joeyli.kernel@gmail.com>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  jdzhang <jdzhang@kunluntech.com.cn>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jian J Wang <jian.j.wang@intel.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Judah Vang <judah.vang@intel.com>
  Kuo, Ted <ted.kuo@intel.com>
  MarsX Lin <marsx.lin@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Nishant C Mistry <nishant.c.mistry@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Ted Kuo <ted.kuo@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 779 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 10:27:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 10:27:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466936.725911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Zpr-0007PF-Lm; Tue, 20 Dec 2022 10:26:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466936.725911; Tue, 20 Dec 2022 10:26:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7Zpr-0007P8-IU; Tue, 20 Dec 2022 10:26:59 +0000
Received: by outflank-mailman (input) for mailman id 466936;
 Tue, 20 Dec 2022 10:26:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+pxk=4S=citrix.com=prvs=3460f7db1=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p7Zpp-0007P2-T8
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 10:26:58 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d20fb212-8050-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 11:26:56 +0100 (CET)
Received: from mail-dm6nam12lp2169.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Dec 2022 05:26:51 -0500
Received: from BN7PR03MB3618.namprd03.prod.outlook.com (2603:10b6:406:c3::27)
 by BY5PR03MB5127.namprd03.prod.outlook.com (2603:10b6:a03:1f0::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 10:26:49 +0000
Received: from BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::5c96:fc3a:9d36:4a2e]) by BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::5c96:fc3a:9d36:4a2e%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 10:26:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d20fb212-8050-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671532015;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=JanuIABp82I7AvmzMIyf/S4KjN6iATynnaHUprDGZ5o=;
  b=HDKPt8BZHhXFu79EZ0tCZ2pn8OQgFMF5TvrAf46ViUlHl9Ccm2idhf8A
   nrkw4nr8fR7+GJwsa4uk3IxM0oCmuaGzA7im//Z3PeWXUJkh8olpNKyGc
   Y6ksh6W7Gc2s0yewu4AQw5PLiVKSzeHwJNVPH7T4DRGQCLFVQGlq1t11p
   Q=;
X-IronPort-RemoteIP: 104.47.59.169
X-IronPort-MID: 89271261
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:/cMTo6JbJMUuT7F4FE+RFJQlxSXFcZb7ZxGr2PjKsXjdYENSgmMOy
 DAdCj2BPKzcamKhf9lzaY2zpENU68LSy4I2GlZlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5AZmPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5RG21W7
 dYgJQwnf06ahsuEm6CiaMtF05FLwMnDZOvzu1lG5BSAV7MKZM6GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dmpTGNnWSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnzXKhB9tISuTQGvhCnQGW5DMuDDYtbVK++OnmhHKgd8xlN
 BlBksYphe1onKCxdfH3QgeqqXqDshkDUvJfFuQ77EeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq19L2ZsDezMig9NnIZaGkPSg5ty8HqvYUbnh/JCNF5H8aIYsbdHDjxx
 3WGqXY4jrBK18oTjfzlrBbAni6moYXPQkgt/ALLU2m57wR/Iom4e4iv7lud5vFFRGqEcmS8U
 LE/s5D2xIgz4Vulz0RhnM1l8GmV2su4
IronPort-HdrOrdr: A9a23:JmQb96o0J2ZvgqPiXRjMf+gaV5oteYIsimQD101hICG9E/bo8f
 xG+c5x6faaslkssR0b9+xoW5PwIk80l6QV3WB5B97LNmSLhILPFvAB0WKI+V3d8kPFh4pg/J
 YlX69iCMDhSXhW5PyKhzVQyuxQpeW6zA==
X-IronPort-AV: E=Sophos;i="5.96,259,1665460800"; 
   d="scan'208";a="89271261"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xlu8dBiCwdHWgfMD2P9FUQ1iPoLtc7nArnTu8XePP0yG1v3NNDUT6eAi03C2QWVxdJdWgq4xwGDX3WxljBUsTekxjCcotPAbx87OFoSi6qg8s/wjOuCmM2OmGT990n8sHUg5iD1086xX5PgVWzRUS+aHGF1iGwd4ViGDQTzYtvNiJFabeZAoFsf1cNjFOpsS6dJlLd3c+zvWIXduY6ZPQv3qESBthHa+iPcBxjIfQ98MYoO+TJvasNqkhnwEleIXs9yyn2CkMGXsaYu7ZXA20ry7S9QuV/UCd7gqKgA7j96GUoBpETbS1To91rKEyLB7P890YkSNGSfEgVeS8fSLHA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JanuIABp82I7AvmzMIyf/S4KjN6iATynnaHUprDGZ5o=;
 b=AUoxW3JHNISgKnAttxpTaxb6EvDPR53wylYAbaNKlX5badrhcyyWa6XlGlwu5+40nE3kj1KqMZyHqRKSt35A1FCpaE9BD07/SjRFtQkxVovsGyn2TLwsogpvTsi0Jy2TG3DMnv0+i6FD21fE6RQep40q+5wW7hoP7d60iNXVIgiAqaR/zOFjygrIsN8/v8vKIGiE1WPYtHhS5wZjofmybI/DZa1tjxS45AuyD14f97LNDvzocZIjmGRW3MpjIgjJcFX7dV9qoFEK3+jFdLcWA+RIHR4V+/6cykZ46By5nNrARqmB42kPyIilIV+ZYMRzjGN59QSApZdMpufhaPZcKA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JanuIABp82I7AvmzMIyf/S4KjN6iATynnaHUprDGZ5o=;
 b=AwJ2QwdcbQi3nrJMZckucne8Wx0zbG7MaIlnXdbUGTXeVZPI7FsaD0PeUvHeIz/kKNWyi85I2d0dgNzeO4VHexPISCviTMP04OjM1/lgxNCnO5T7x8zkJOw1nZHQl1gw1WRO+idXSxPq5LYpYrqtVZa5vutrFgvLeKskL6Oluk0=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Xenia Ragiadakou <burzalodowa@gmail.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>, Roger Pau
 Monne <roger.pau@citrix.com>
Subject: Re: [RFC 1/7] x86/iommu: make AMD-Vi and Intel VT-d support
 configurable
Thread-Topic: [RFC 1/7] x86/iommu: make AMD-Vi and Intel VT-d support
 configurable
Thread-Index: AQHZE3QiiN9xXpyr80S/AFQLoEXg6a52lDkA
Date: Tue, 20 Dec 2022 10:26:48 +0000
Message-ID: <ed527c56-13e9-b02b-0608-3c943d76d159@citrix.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-2-burzalodowa@gmail.com>
In-Reply-To: <20221219063456.2017996-2-burzalodowa@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN7PR03MB3618:EE_|BY5PR03MB5127:EE_
x-ms-office365-filtering-correlation-id: 5633c846-0c59-4418-3292-08dae274b3d8
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 HMaIDOYIRhfRzJropyDwTcfrYhAKWCv/cBduw3yMX913WTeI353aJrFES+N3NZdBdCBADEZSntE2TnNka3aAc4ab+xN7+FDm/7CsBLwrKGCD0wj2OhejBlVUzCD5tO2LfWQ/vuJB4PofR6umjEyRO3zDj374BV4Jp4fEjIy797K8i1rDdcmzE7vitFuRtDT3FwzrB9sve7PDrj8zghOSIbqGoEn+vNcvAX1Q/ZPwr4K2IxYQ+ZgizyQe8fjDekX7wnBIRLW9S6TFM1QKrv+O2TBmmgREFpdMjZjAyaoTSZhtB92unjuv7nc6XHsORq14a5/fjVlfqDU1c1cZTwsJY2eVdA4OaoYF9NKlTPd2yMxQ/jZiXZbYFeCkmyZcjHtE0rXt6uer20hoKkF8qybs4X7ZgkpNDYL0U5fA1zCUoj60vpbmkDevotJTI+GvdXqFkjd37T9UrUVeZE1rFwarB7OPQvK6if2UGTNu0/xRT/M/ti+fl8sRWcBLVbCV1gP02sXqId1GZnhK98RnWNTCAuJGPgq+fkt+AdAbzCx0uNY3Or10KVRsosIEGpotJ5PajUaqtvROvvhUV5kU9O6K0AHN0dKuPpmXl5wH6CZu5hxn/gHq7Lz8B0LC7DtKLXDLgra9/nzXSV0Y5qlFX/9rVsJjlABvjTu/sqgRXP8HVA9xnUK17FZrk5IGeyF6f7Mqju7MoNWjVUMONWnhUwRwMs/6MzPlq/T8tDo2ghgrGQeQn/goJHKtzbYCkF7Lb3BmX+mOb8xm0cEsaduuw0rPrg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN7PR03MB3618.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(376002)(346002)(136003)(396003)(366004)(451199015)(107886003)(478600001)(6506007)(186003)(53546011)(26005)(82960400001)(66946007)(66556008)(316002)(66476007)(64756008)(66446008)(8676002)(91956017)(6486002)(76116006)(110136005)(54906003)(2616005)(38100700002)(4326008)(6512007)(71200400001)(2906002)(4744005)(41300700001)(8936002)(122000001)(5660300002)(31686004)(86362001)(31696002)(36756003)(38070700005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?V3E4Mk5MVVJiWjNEZjc1ZGZ1UkUydXhBU0RTNHRSa3dOU3g1dVdpMHpMZFp4?=
 =?utf-8?B?UTZST1RkZ1Y2Tk5qL2JENVZxbjdlMGppUGw0bkpBY01PaWlZM0d6N2w5TEw5?=
 =?utf-8?B?YmVEZGx0QmlId1ROc1B1WkhEUVBwQ3lPWHhXUmV4NENuN2tWbmwvR3JYMXBk?=
 =?utf-8?B?U25UVG1oTVJueXlIc0ptZjJjWGpmbUhDdzJjNXd5YUU3WUNKSmZwQ0JsbFM3?=
 =?utf-8?B?ZXpxODI5Z2lqWG9jRkd6WEs4UkNHTkgrV3FVbFR6ampDZENleDRxenhENEtq?=
 =?utf-8?B?N2Z0eFd5QVp5SCszc0pHUldHUkhzemw2RytnOGcwYlNidkRhZVZqY3A1c1k2?=
 =?utf-8?B?MmJXSE1QU3lHbXl3MXFhM0hMUHE1UElaTUlTYm5FSVVFVkpJYUEzZzA4STBo?=
 =?utf-8?B?VFJkNldjVG9weFBCWksrQUQ3WThYVCt1LzVQMXhIL1FCR1h0TFpJV2tBdVpS?=
 =?utf-8?B?TUU0b0tjUWZOcHRKN2lycm41aUlPRnE0TXdWa2RxT1lhcnU2NEtNd3NaZmpU?=
 =?utf-8?B?UEowK25PNFBWQlZrZE1ZWHA5VFBSZnloVTRWNGNDQ1Z1Y01nMk04QXdwVXpQ?=
 =?utf-8?B?RnlsVFgxcTN6dndEUThwMFlFaUhpN3hDak8rNFp5RS9ObGl2NGZjL0l4YzdZ?=
 =?utf-8?B?ZEVWa1oyTkhaZXllUFQwV0ZscVhnM1luc1dZMGhEZk5GdnUrdGtneFA0cjhG?=
 =?utf-8?B?WDFSdHJVRk9oaWRWMURzTnhkalY3a213TFNWRFkyNjg0VlAybSsrRHJac0oy?=
 =?utf-8?B?b0p3N1Nxclo0ZGh4WVJrTU5HcXlVOXNCUUlZdU9lNDBFTTRGV0piaHZsYVR2?=
 =?utf-8?B?ZDlUZVgvMkswN05oZ1BiZ2ZOZjJJOThWL1VMWWk4ZDFVWXdaRDVmK1BhTExB?=
 =?utf-8?B?azRNaTBzeENBYTZjcDNGZ2RQajk2MkdqVkJmRml2VkFON2Q1QjVTWC9CdXUv?=
 =?utf-8?B?M0dQelllbmh6dERzZmlXSk5zd0IrOFFCNzlJSGtSd2VMZ1Zod1BMZ0VVRFlz?=
 =?utf-8?B?ZGhFOTM3MEhPWXRTakFUQmpKUFFNY0RoZDBOSDNLOGJFd25ENUM0OHZlNERD?=
 =?utf-8?B?d3kzWTBsYUFmK1VBZmo2ZFh2MGVJSnBjb0g3VXVBY01UeW5xWC9vcnJTdmJR?=
 =?utf-8?B?d2JYZTY5RkhXNjlmUnA1K0xBbTF4d0V4bWtTLzNHSlJFZFZXQUdmNFl0M0Zj?=
 =?utf-8?B?MzBidDlpRWF4aDVLaUNVS2twZGdFQk1Ha0U3Ykk5QlRPa0JPcHREdjNsWkxa?=
 =?utf-8?B?NkFYR2hEUGZ3V2lTT1dpRHhMKy9kREk5SkhkczRMdHR4bVVEVFEwS0lIY3Yv?=
 =?utf-8?B?ZWw0aVI2QUsxem1DMENxYTRJM3ZxNUV5aG9GeFU5aWpSOTcxa2U5QTJ4OWI4?=
 =?utf-8?B?V09RcnpjSFhMdTk0Yy9XS2ZsNElQMExoNVlIYTAyVnIxTXZBMDFDVVhCOG9O?=
 =?utf-8?B?cTR2L1liUzA3ZEtDY0NoSXYvQWVSQ0Z1UkhWOW56Q2lxWFpiNDFIc2x0dkJr?=
 =?utf-8?B?bmhlbnhCWGFjNE9OTlhzcTl6VWJoOVJTcHQydXNGTkVMTE9kWENrelBuOTM3?=
 =?utf-8?B?bzdrT21TR2JFcTc0RnpjRzhzeGFXMVhseVgvWndPUlpzSlNma0pnSEwvL2M1?=
 =?utf-8?B?c1JXdUFlaFZWOTdwWVlZUlNpcjBDcmR1blR5ODB6QXdQbUhqbHV6LzFobklp?=
 =?utf-8?B?T3pTNFR5WlNBUTlUdmhsT1E5NjlaSUxDNy8zMzAyL3doVVd2Y2Vrbm1NbUFX?=
 =?utf-8?B?eC85RGRnWUdQdkM4WHdaR2ZBZTRwcUEzNFRmdXFUR0VHbTh1MHJNMFZTTitC?=
 =?utf-8?B?aTh3ZVRDbDl0M01IblI0bkoyWUpqT0kvOG84SGhzVDUvY01EaWlCalNNOW0r?=
 =?utf-8?B?bGxpZnlIUVppTllhSTgvMERBOE1SNmJHMU1vbTJidkJzeGZSeTlHcXdKNEhN?=
 =?utf-8?B?SzdqS0pxTkk0U0Z0dm9zVSt4WWllcEhZRjJSM2FteG11cVlZN3RDbVUvSHdB?=
 =?utf-8?B?dEIvcUhRVldiVzJHTGZpNzRXWVZuOWFRUjlFNG5uS3l5K1d2bXYvWklRZHhQ?=
 =?utf-8?B?Qm5SVW8rckZqNFYwemR5ODlpTldLQTBDSGNkRnIvYlJIL0VDeW1GZWVUWGwr?=
 =?utf-8?Q?ljzYyT0PzEOmRtqgCezDToFTr?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <CE5957B894E93F499AB5372AE338F589@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN7PR03MB3618.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5633c846-0c59-4418-3292-08dae274b3d8
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2022 10:26:48.7095
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 82dzWu6XCNOWD3wtZMPgwi8RJSiVaPpJE/OD/aWoXV612KbJkDPZymELpgHBPlb10mNZ1dqrtaBskOtPt6aGYJ2qvwpgsqD3mi0Tmo2zFd8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5127

T24gMTkvMTIvMjAyMiA2OjM0IGFtLCBYZW5pYSBSYWdpYWRha291IHdyb3RlOg0KPiBkaWZmIC0t
Z2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvS2NvbmZpZyBiL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL0tjb25maWcNCj4gaW5kZXggNDc5ZDdkZTU3YS4uODI0NjVhYTYyNyAxMDA2NDQNCj4g
LS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvS2NvbmZpZw0KPiArKysgYi94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC9LY29uZmlnDQo+IEBAIC0zNyw2ICszNywyMiBAQCBjb25maWcgSVBNTVVf
Vk1TQQ0KPiAgDQo+ICBlbmRpZg0KPiAgDQo+ICtjb25maWcgQU1EX0lPTU1VDQo+ICsJYm9vbCAi
QU1EIElPTU1VIg0KPiArCWRlcGVuZHMgb24gWDg2DQo+ICsJZGVmYXVsdCB5DQo+ICsJLS0taGVs
cC0tLQ0KDQpXZSdyZSB0cnlpbmcgdG8gcGhhc2Ugb3V0IC0tLWhlbHAtLS0sIHNvIHBsZWFzZSBq
dXN0IHVzZSBoZWxwLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 10:31:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 10:31:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466947.725922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZuR-0000UE-Bp; Tue, 20 Dec 2022 10:31:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466947.725922; Tue, 20 Dec 2022 10:31:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZuR-0000U7-8i; Tue, 20 Dec 2022 10:31:43 +0000
Received: by outflank-mailman (input) for mailman id 466947;
 Tue, 20 Dec 2022 10:31:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+pxk=4S=citrix.com=prvs=3460f7db1=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p7ZuP-0000Tx-DA
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 10:31:41 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a6af84d-8051-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 11:31:39 +0100 (CET)
Received: from mail-dm6nam11lp2170.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Dec 2022 05:31:34 -0500
Received: from BN7PR03MB3618.namprd03.prod.outlook.com (2603:10b6:406:c3::27)
 by MW4PR03MB6508.namprd03.prod.outlook.com (2603:10b6:303:127::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19; Tue, 20 Dec
 2022 10:31:31 +0000
Received: from BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::5c96:fc3a:9d36:4a2e]) by BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::5c96:fc3a:9d36:4a2e%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 10:31:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a6af84d-8051-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671532299;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=tfXPPr0o990M5PXY/eSQK6WrCqDBXjKrwv7/2THhOSM=;
  b=OFd9I9GjFn+3U8IPxFCl9jWLogc13eKmoFJQVpX9UdYn1wW3E8Ob0iXI
   WUr6R0FY3/RCstlCarfONYx8i9LFMPNLkc8aXhx3FwEHz0gKkUxqitM8i
   bSsUu7/PuHh6jgZ4ULIJ6Ie4wdvOW1/er0+H8NqEQ3U6lL8Vpssze81rB
   o=;
X-IronPort-RemoteIP: 104.47.57.170
X-IronPort-MID: 89272232
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:QEiN3aPn9qJoCqnvrR1glsFynXyQoLVcMsEvi/4bfWQNrUog0z1Sm
 2RJUWrSPPbZN2Sjetp2bYrjp0IBvZWEyt5kGQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5ARmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0s1qE3kT1
 N5CERAUcUGojbq/3eq2ROY506zPLOGzVG8ekldJ6GiASNoDH9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PVxujeLpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8efzHmkAthJTtVU8NZ4rlO63Ek6TycbfnKRh/vjt2Cud8J2f
 hl8Fi0G6PJaGFaQZtPgRQ+xpHmIuQEVc9VVGuw+rgqKz8L88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIVqf/LqJqTK5OQAOMHQPIyQDSGMt+9D+pKkjgxSJScxseJNZlfXwEDD0h
 jyP8i43guxKidZRjvrju1fanziru57FCBYv4RnaVX6k6QU/Y5O5Y4uv6h7Q6vMowJulc2Rtd
 UMsw6C2hN3ix7nX/MBRaI3hxI2U2ss=
IronPort-HdrOrdr: A9a23:FlrbKqo1tD4fATOSfxcX1l0aV5tyLNV00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssSkb6Ku90KnpewK+yXbsibNhcYtKLzOWwldAS7sSorcKogeQVhEWk9Qw6U
 4OSdkYNDSdNzlHZIPBkXGF+rUbsZe6GcKT9IHjJh5WJGkEBZ2IrT0JczpzeXcGJjWucKBJcK
 Z0kfA3wgZIF052Uu2LQl0+G8TTrdzCk5zrJTQcAQQ81QWIhTS0rJbnDhmxxH4lInNy6IZn1V
 KAvx3y562lvf3+4ATbzXXv45Nfn8ak4sdfBfaLltMeJlzX+0WVjcVaKv+/VQIO0aWSAWUR4Z
 7xStAbToJOAkbqDySISN3WqlDdOXgVmiffIBSj8AbeSITCNU4H4ox69MNkm1LimjQdVJsX6t
 M140uJ85VQFh/OhyL7+pzBUAxrjFO9pT44nfcUlGE3a/pXVFb/l/1swKp5KuZ3IMvB0vFvLM
 B+SMXHoPpGe1KTaH7U+mFp3dy3R3w2WhOLWFILtMCZ2yVf2CkR9TpT+OUP2nMbsJ4tQZhN4O
 rJdqxuibFVV8cTKaZwHv0IT8e7AnHEBRjMLGWRK1L6E7xvAQOHl7fnpLEuoO26cp0By5U/3J
 zHTVNDrGY3P1njDMWftac7hSwlgF/NKQgF5vsulKSR4IeMNYYDGRfzOGwGgo+nv+gVBNHdVr
 K6JI9WasWTWFfTJQ==
X-IronPort-AV: E=Sophos;i="5.96,259,1665460800"; 
   d="scan'208";a="89272232"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D5ucISsf4jk+BuizOZ9y0gvS7FSVWBUQv1uevlJY+ZBmbd7khmIKTTF2cc1vcc+C+JIPTo38f++TXQ+WjfzeGtWsjxM7KUV2ad1tqPPcVlKTAe1nB7ZmUfmj9o4KBQnvdTpT25XxCIUrybUkWCA0Ufqh81oMHn+ultoH+eYQ8FOeTzsn3EZD+yWfZ4uwKnp9SGKWgbMihLPXQV9H+ByZS/QUGJW7GTINg/QxmRjF7NIggaYXFZTZQNB5ue2+Tv1xyaAEDAZ40JO++BNW2t1/QDuB6SpY6zyBB4tl8YttuURzoFu0LaLRvXeZzoSzjMYVdC1/Vnrg+NzmLX3t4suYww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tfXPPr0o990M5PXY/eSQK6WrCqDBXjKrwv7/2THhOSM=;
 b=cy3BARtOwFeZEmazu/FbOeUt8A7RKacy29vA4gz/0CfWDXkhSkPg5c9iAurnQpsvP2FcvKh7/woizYsDcxFG7h1k9uAge22YfXZZ5rA8t7IMZFjttEbsxhnYOt8HEPtXyPFQK/h3Xt9BivUGWVF0sEMEwCoC9TIFIBLlbLccQzL4p580ZuylgDU68l8SbLgTdDFiHQ91LU4wEqefhjuIishPY1o3SX5D+K40HfAaB//f7qN0v9CllpiB1IGbJ/fVxyPWdXxwxwlZEpGPRo+t+kovpnqZtAmicvzHbhHsP0atgtSSJSKkAlNmtu52HkTvYEkChxnI87mMKC6udmhrtQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tfXPPr0o990M5PXY/eSQK6WrCqDBXjKrwv7/2THhOSM=;
 b=shCnSoZheVarlNFI8RMIA7GXPbSVTgf3RJPFUdjNH/LmRfszkHY0PTY8sCRXAzDXRJg/9mvT+2PYcVUcU07krqpPajfwaEsZOkhd3em0xw0DPOSRV6wDfoRUdmHUBXvAT2dPhjcGNawRRjexbger9/mRRc2wfqOM5VXcaTwMuRI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Xenia Ragiadakou <burzalodowa@gmail.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>, Roger Pau
 Monne <roger.pau@citrix.com>
Subject: Re: [RFC 2/7] x86/iommu: amd_iommu_perdev_intremap is AMD-Vi specific
Thread-Topic: [RFC 2/7] x86/iommu: amd_iommu_perdev_intremap is AMD-Vi
 specific
Thread-Index: AQHZE3QWS6NAJx0E4UyJylqsah2q1K52lYuA
Date: Tue, 20 Dec 2022 10:31:31 +0000
Message-ID: <8cc983ec-e28d-bd56-994e-39def18a511f@citrix.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-3-burzalodowa@gmail.com>
In-Reply-To: <20221219063456.2017996-3-burzalodowa@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN7PR03MB3618:EE_|MW4PR03MB6508:EE_
x-ms-office365-filtering-correlation-id: 075e0160-cd27-46fc-cfd1-08dae2755c83
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 xEknKG4hBSzW6L5hf7d9pYlwdVndnz2eGGV/R9hWezBwKN53Qcf7ZF4hLx07oJIDRD7peVlFLwzdQo8JYyzAsQwGNmGrB4sl8D/J3MQL7YElAMxIqry/h8hP9CBe1nIFkbPn658zmH1HaGn8Qt6fCgCwo4r97kkIVtyqe/jICk0aRNE8ATCCIOV1yXGbh8r3raQfhRBwC9Yr2W0V9IizfBaO+5WyoJZujGi1ZykziBXgpi+X0GcRhuPheGXH8vwBYtLo4OvrFb8WqyTccM5BFsZEum/fk1OdCHaOEeI+HsWoxvaIGLnQn0jdqJqAlN4lg/5PBcjYMngParI625mSXPtoynUPQ5Mth9xuKA2IzsCXCpPt/XlQ+kRW/rQnKZ1nZiMwqude4gGmTUx8nPnTqU38Wm3WC/qkw5PBbN1NVLArmiPa/ERkg7YgjkgXh7lYHYMCpd9UDVYmVOBa2pmA6wpQBiaXacPoMsmr/g6Co4Xpk5jK6DGVnEBfkpbqskSlyXqYbyJDkpnIV0cZsvVCLZC9kWWetfqfZt+ezzTLmZlxlu7AAIDDHhHrh7g98BowAj5Qize3hslsTp2AY5wiGlfaIgpkX8KfT1LmDTuU195RVCJ4bv+Cop8JSC5mklSvxRaTmQ/avuSPDGhWbU6O7hjSm31QZP75DAMH0yD6FJRF8V4cEXH1xEeo6RKbfuJPLwzPEo+qTaRA1/xMcS1SXUMIqWc1EY69HNGWH4wmtnLbFMr/6zSZjfx9QaoNggqHTZRGRksl7l1ptd1F/jRl2g==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN7PR03MB3618.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(396003)(136003)(39860400002)(366004)(451199015)(316002)(4326008)(76116006)(6486002)(2616005)(66946007)(26005)(91956017)(38070700005)(66446008)(8936002)(66556008)(66476007)(54906003)(110136005)(38100700002)(6506007)(122000001)(6512007)(82960400001)(478600001)(86362001)(36756003)(107886003)(31696002)(53546011)(186003)(64756008)(71200400001)(8676002)(4744005)(2906002)(41300700001)(5660300002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?d1B2UzdsK3V3NDBNV1JpLzNzaUJnYjh4OUo3ckJGRk93NEtld1J5OHp2a3d5?=
 =?utf-8?B?aENkejR0YzQrQ3BqSUhrTDJjYXJDNDVQTklhQW5XMGd4bDZNaEkrYjJtQVYz?=
 =?utf-8?B?K1FxR1hPT1YyK3ZDMktLbmM2a2c4YWJHYTBzMlhtNytza1dXR1ZvcU43QTNU?=
 =?utf-8?B?OU9leGZwY2VBTWF6TzBZUDNYNTMzOGhHd3VZVUlhOW80eEhsRkxzdC80Sm9n?=
 =?utf-8?B?QmlFSkhwSHlnSzZ6RDFkZE1LRVhseFpPcG5BYXdWRzNBdXFJU3VqeDlzZm1v?=
 =?utf-8?B?QTY2UTRrdU50bmpOanh4eWRrcW5oMzlXeU80K09LMmN3SUNTY0RmdDVmdXNi?=
 =?utf-8?B?VDVmbWRnd2w5ZFdaaUM1ZEVRejBMNVVKa3NLd24veVhmMHZaS0h4cVNTdkRh?=
 =?utf-8?B?OXBFaDNzR3RXZmR1YWd3YnRQV09uenRneGFCTTRpUlJVb2FJWG1yNlFIbmc3?=
 =?utf-8?B?RzcyYnRoazVFSXcwcXZtQURMYm1PUHhqVWZrUXpHL2FVbFEvTVJUSHRudk9Z?=
 =?utf-8?B?eWF3T0o5RUFNMEQvYjhzYUZ3R3Nsa0xsMEJUNFoxbmxVdFJqT25HMzZ3OThp?=
 =?utf-8?B?R2d3bldvWWRrMzRTSVRMd0s2dTY0ckN0d3VYV0Z3ZjRFSFE3aFJKclVOa3ls?=
 =?utf-8?B?VS9ISWhKUmJqcityNExVQ0dJNWhocTlHVmM5eEZ6SE8ySitOZkpPN3htSGlZ?=
 =?utf-8?B?UUg0WFJjblhJTkw3QWx1OFRwdENpMUZSMHN6dmI1cTdIeHJXMUFxd3A1N1dx?=
 =?utf-8?B?SVRYMXYxT1hWVTZoOUJPMWJKbTlUZmhJcThPMnVnWjd1akFlQTU2Wm81Y0JL?=
 =?utf-8?B?MDFma3BqMWFGR0FXV3VMTlRLMUQ4czJicUtJNkVVSGl2VXZCUXc3RXV2U0tj?=
 =?utf-8?B?YmpUNGZuYkZYUzIrcTNCcDRvY3JNdk1YRm1FQUJhaUVsVndNZFg4ZVRVcllQ?=
 =?utf-8?B?OEZRa3ZiTVNmOFJuTFNiVCttekhmTGtrV21zaHFSWlhZUlFrRHlacTRBS2dQ?=
 =?utf-8?B?ZUhGUTdsWllTc0Vwbm9OOGV3L2ZHbjdFS2lQd2x1MG5ZYUczWHZVQVRvOWo1?=
 =?utf-8?B?QkJuSXhLdVI1T0UyUU8yV2VmYmdOSnpUc3hrY1BXVjBoZmF4VVZkS1puUGhB?=
 =?utf-8?B?RnpTek9BdHRKa3ZVTGpwWVQrd3lhQVpnTzFoRmpuTVhScGQ3QkJlK3dLdjhV?=
 =?utf-8?B?SDdaUG1mY2pNQmxhbmVCSlppTDAzSmN5VXBVenpCTHFwcG1GbUZHSHU2cXd2?=
 =?utf-8?B?S2lUQlp1bGVXNG5tbnlsNDJVTnpWWlJkRDEzRFVSNGUxZ3F1RmovYnUwL1k4?=
 =?utf-8?B?SWtDUUJRQlg5OEQ1eWJ0SjJBSnFhK0ZkQVlZbjdVQlJjRkN6bkowd0FTcWdM?=
 =?utf-8?B?M3c3UUlkUVljeGhvUnY5eVdHSmtUa1RYWjNZT0JTVkZab0JhdmlOVzZrUktV?=
 =?utf-8?B?aUFPV0pYa0loRm5BNllBWHcxTW5wc0lZZnFSb1g5NkpoRGlQaTFTeTZaK1Jn?=
 =?utf-8?B?KzRHeExETjR3QjZnZGk1bnNlVWcybnpkZUQ0dVpMQkYvMDZHeEthTGRBTUY1?=
 =?utf-8?B?M3JXV0g0bXJOM0JTY28vczNES1RoNm90eFg5eXc2NExYTFk2b0cyUjNjSS9R?=
 =?utf-8?B?WFJYZkpPbnZGTHA3S0JxWnhUTUg3Q1U2NlkrWEhnZ0g2ei9WK0JRWFhTL2NE?=
 =?utf-8?B?ZnlyeFh4UXBROEhvbUlENXdpY011YStyWGdubDF0cmgyODZvTm5xZHlNdDIw?=
 =?utf-8?B?V1h4OW40QW9GcHZjSU5XMjF1VDFiY3phTWp5eGZHQXc1RGQ0R1NTV3BSdklk?=
 =?utf-8?B?WVZzR1dkN3FHb2VLOFhkQ3YvTmZSK2lTTnhzZVBVcWdhSlE1UWM5M0ROdHZO?=
 =?utf-8?B?WlBKZW1WTEZDejVRbVdMVEZDRnpaTHI4dE5hRTFyQkNhelNiK2dvYk9DRE1T?=
 =?utf-8?B?eFlzWUJ5c2pzaCtSWGxmbmF4TVhqc1ZXMHNpOGVOMjNqby9lSDJ0c29nc3V4?=
 =?utf-8?B?Mkg1Sy9JVW9yTGIvZVhYQ3JFM2xDRkdaZXRnRmVTcTAzN2Y5TVhOeHFyZERD?=
 =?utf-8?B?d3BVcjl1RDJVOTUxaHJ6c2d1cFVxV1JnNXEzM0JCQVpjZkk1RkQ1UVRvWkNs?=
 =?utf-8?Q?KT72b+C9NcUB59x3BLwbOZIDi?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <44114CEDB01C04409BA4324AE8580F2C@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN7PR03MB3618.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 075e0160-cd27-46fc-cfd1-08dae2755c83
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2022 10:31:31.7383
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: II6CP1E7WZwpTjrPzX9+Y3tdCWiGZa1TmZtaWLmF8QHJyC3/GoRKwJ3cXzj3SRzWyA1Hm/RZ+Y9Ii6LPGvKgQwb2dR7uAZsTYBf2/LXGzbE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6508

T24gMTkvMTIvMjAyMiA2OjM0IGFtLCBYZW5pYSBSYWdpYWRha291IHdyb3RlOg0KPiBkaWZmIC0t
Z2l0IGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYyBiL3hlbi9kcml2ZXJzL3Bhc3N0
aHJvdWdoL2lvbW11LmMNCj4gaW5kZXggNWUyYTcyMGQyOS4uMWEwMmZkYzQ1MyAxMDA2NDQNCj4g
LS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvaW9tbXUuYw0KPiArKysgYi94ZW4vZHJpdmVy
cy9wYXNzdGhyb3VnaC9pb21tdS5jDQo+IEBAIC01OCw3ICs1OCw2IEBAIGJvb2wgX19yZWFkX21v
c3RseSBpb21tdV9oYXBfcHRfc2hhcmUgPSB0cnVlOw0KPiAgI2VuZGlmDQo+ICANCj4gIGJvb2xf
dCBfX3JlYWRfbW9zdGx5IGlvbW11X2RlYnVnOw0KPiAtYm9vbF90IF9fcmVhZF9tb3N0bHkgYW1k
X2lvbW11X3BlcmRldl9pbnRyZW1hcCA9IDE7DQo+ICANCj4gIERFRklORV9QRVJfQ1BVKGJvb2xf
dCwgaW9tbXVfZG9udF9mbHVzaF9pb3RsYik7DQo+ICANCj4gQEAgLTExNSw4ICsxMTQsMTAgQEAg
c3RhdGljIGludCBfX2luaXQgY2ZfY2hlY2sgcGFyc2VfaW9tbXVfcGFyYW0oY29uc3QgY2hhciAq
cykNCj4gICAgICAgICAgICAgIGlmICggdmFsICkNCj4gICAgICAgICAgICAgICAgICBpb21tdV92
ZXJib3NlID0gMTsNCj4gICAgICAgICAgfQ0KPiArI2lmZGVmIENPTkZJR19BTURfSU9NTVUNCj4g
ICAgICAgICAgZWxzZSBpZiAoICh2YWwgPSBwYXJzZV9ib29sZWFuKCJhbWQtaW9tbXUtcGVyZGV2
LWludHJlbWFwIiwgcywgc3MpKSA+PSAwICkNCj4gICAgICAgICAgICAgIGFtZF9pb21tdV9wZXJk
ZXZfaW50cmVtYXAgPSB2YWw7DQo+ICsjZW5kaWYNCg0KU2VlIHBhcnNlX2NldCgpIGFuZCB0aGUg
dXNlIG9mIG5vX2NvbmZpZ19wYXJhbSgpIHNvIHVzZXJzIGdldCBhIGJpdCBvZiBhDQpoaW50IGFz
IHRvIHdoeSB0aGUgb3B0aW9uIHRoZXkgc3BlY2lmaWVkIGlzIGdldHRpbmcgaWdub3JlZC4NCg0K
fkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 10:35:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 10:35:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466955.725933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZyD-00018Y-Sr; Tue, 20 Dec 2022 10:35:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466955.725933; Tue, 20 Dec 2022 10:35:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ZyD-00018R-Px; Tue, 20 Dec 2022 10:35:37 +0000
Received: by outflank-mailman (input) for mailman id 466955;
 Tue, 20 Dec 2022 10:35:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=QgRy=4S=yahoo.com=hack3rcon@srs-se1.protection.inumbo.net>)
 id 1p7ZyD-00018J-9y
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 10:35:37 +0000
Received: from sonic304-56.consmr.mail.bf2.yahoo.com
 (sonic304-56.consmr.mail.bf2.yahoo.com [74.6.128.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0962d581-8052-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 11:35:36 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic304.consmr.mail.bf2.yahoo.com with HTTP; Tue, 20 Dec 2022 10:35:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0962d581-8052-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1671532534; bh=4YehdZ8mV7sp4p3Kh6hUvhlIz16IRXtZcETfRClCZow=; h=Date:From:To:Subject:References:From:Subject:Reply-To; b=KRYBU5waEFJGQYkqX2YPul4jLlI1fGZCzo9ArUa9+xzz7CvTH7AjZzxlTAJNIL2VTx7g5JqBUlu0yYJFsMGQLuOqXJvKCQlNJ49IpLuzzTCMOs97QzjMqy5ZZLnC9zfFBwOqC+tfsB23o72o97Vs12ufAUyPIjs4Y4z881KjgtCs7wNz2Wk6C6gk3GL3RlzgDhhZOZlcXA/tfUntDAZIxCjkJH5X7rC5Hvn5OKtdByG3ramIZbSZiShXz71jVUE6ziOnedO97KpQjfLsgY0x+OhTtB5+Q5p3js8QJuTEsfDZj+rlqfWv3jSykYv6QWdn3+U4zXsL+AOK+IXjV7Xxkw==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1671532534; bh=uoN7YBXRnZqvP4lC3HnM5cobur4d+Pq+Y0nEH+UNasK=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=bG1xiqsE9jXeSbSp5smARi9hZb6UVoazrkvsgbYd88E0S11uM4E7zEd03r/j5xlxEdEXhADV3RHU+4BmsQGhu8O9Wx28+2yGxjr5nWOg4DtS79FCaBlAl7Adn9sFYOj/xxXg2OBPovTMHvZAUNX/5CZ4DwOKaSRT4olYGoTxC37jMeriDAxHyMIwdKko4zD0IZTEFuXXIv6UcsPV6+jv8S2j31V58rNHkQ8ExURzU0TVmsjLnMvL8nraHXZWqS2IVj6/dZG9TZEXd4ziC19rktJhpxfUO6YzHl/ycSqIAJ3LwBIK8vgv5i/Cf07UDizJhirWLrpXJC+V2FockwvD3Q==
X-YMail-OSG: fvQjB.oVM1le2pJme8Kxa.PeoL28gEFBhsTMCiUWIjwpdXx2CaFK7bFsIqJGj9b
 UvQdj2pGzHb60SSmGVKeXAfb4LM5o_PxYjwjf7NsuA9N3FHLg7IeDHTe6OUG9cugXc5wcm1HPsGk
 wtkXuwpdCuaVImI94D61CqhpQs6gjshA858DIMD4c1fu0O_Fxx7C0fV.LBNPxNw2QaKjIPqvzGfk
 RyhLMuAUsJhu0szseLyKSgNimf_7MJOhG01zew8_MfIfEmYuorHsaEiuos__oGw06q.ZKHMnppFN
 1HwcLOIyo.ppiqiGzDcRXr38VnYZ77f7By0B8M_NIlTOKviXpb5s.8sjNKFvZqMdUddQpAX.7c2p
 iNGNBgizpRDtDbAiDlQRk0gQdQ8RZ1uN_4PX3xOTvlSkX5PsHjypiAHKQ_0ZdwqJt.WSIpKGajmu
 pVP.yd7qU71hSseqzlR03.KTACxqI6s0D0gXZZcp5khKsjy2bM30VCpqxcKgwhr_rKt6QnS8wtAB
 1Dd2LQK5yzb.SYfuachyQybLWdSDE5_GRCXEc.6dEHbvflnJMNnvwr4uqW3w2SnZjATfTsjdkA3A
 8JmabzBX0Le_v2MFKe5Usde1Eh92az4KjqkZ4xb5gHsH55ypCBrqq5YJyTKBvC1DT3kBg1SSuwFQ
 2F_Llkh3nnQXUWqBE2Ux7IlXitXGkU7tRJkGGDfzVYwbTdyZC1pqzrZBpB0aKvI47CW2GBxIvWdX
 Txj94m94bGeEPT8_QVEunmJdeaV9HCiXgwMyFlTw5vtF9U3y3aznM7JSXbwEAOUPt7On2.b1I1El
 q35.Y_jmCPBoDy2y8W1.hx5LtE938X9ukan8v_crWNmzDpURMbIXQSPFN3idYiIXxQvBVL_oiwwJ
 lc5MD_mhM5n7T_KMIiIATe.u6jXK8NyXOSxfvDU3w_vrAA1KpYgA_2TZs3QW4.zSsqFqZy2luaQg
 3LlXqxIeHAIJcRoDdYRlP_FXeQGiWel1YKcnXnCTtyByNVoYCxXgokgDCN5CuYVJpVz1CL04URyw
 .v.229wL4QmBh1LxsuURvbX6ZsBdfg.OB3PV0cSgCNTHFWPJNI4z.SVA.2jB51dUfGe1cigPsVfM
 pPzdgC2MEnBA9xLXGAmzYbGxOO7ki0kDGuosvM1t6PvFGxhlVKvQJnoApfGhZomNQhEqS2Eck_nv
 xESzCIr4T0sQdWDivl7TvdrBMNHIe1nRKTAV_PQsxaq_8TryO3Djt.2.lMaMoY3amF2kZLJSvRY2
 J4CXl5Viu1xSvgofRLIub5Ddlc814yJpVxTGw3FlxrmHTryNq2z0kE8xLQdS1mgHwKZ0KtfAvwfA
 1AkVMVcmaQQCU3mBiicyMW7PAsrjaKBvOxUxw83acZb7B.ZzecacCOjeSmMkML.L0L1jJJ260JOR
 vEghqop2cWFfcfjK.Y8EJWqw_ZbC3RgwT.TjKhTLO951uJc.oexWnB3JveKI4EHmGEcXhAGdGnvF
 xG4IoLkHtwXAC5LishKiVR_7T.iciABi_iGLDhPaa2sg_ZcAWEcGdRNItUJekUrVmMPpCJRPRT3o
 FX3Vyt34qUFrocgn9iRri9l7a1nBlr1HpfWEFd2fJ6yOqcUnZdhLpB4W5rixowYJXl9PM43zYbQN
 0vHxVGtaO7Z5wi3lIcOkfqxhM5iqg0QUC0vVDqVkfaNuyV7X7aryHWK6D.CdPaLCqfOmS84RcHSe
 9IJJ8YDhCrVd.S_KFFkA9Y9mgczZwLWQXu13n_s9Ed83zoenfDNhbslpney1QqAiOvjM80E3dokN
 mxKTacFhV21NboxGiXHgmGi0uHXMlIriv9DqDfOzBILG1ACtQ5qEGu8qx9aHnFrFnI5kbOhP.Pma
 JBMT4GJUIh0i1hD0JSuKjQrxefj.XHLUFr0hb6rqiZAfevfmx.1ivtuF883TawW6sig1bCAOMudh
 f4AsNDT9DusRqhZ_0y6tlw70ZHaCb5zvJ12CE68FHPCEwO482kMd9A6dyDJmR4DtgLBljJw4TEmp
 JL7x20I_J_p0aR81WhumymS9j5.5.ADydoKu5nb6OIZncDFOautQVGSahx3veB_Yr5J6atcdGPND
 VMlHO_kF23XAksiVp8._wP_W_F29hCg6QgEklYyiq0fwBC2OcM3eZwbIFso1XHxXExi2wYenCvsA
 I0X_kXg2G_WokjUib8PLkX.WMXMpVds2HWEaGzqb9hCuNMhtam78mh0DSujtYryKHzmoSe3W.SBm
 63HSaiVdawXM_AVGRiBeYUw--
X-Sonic-MF: <hack3rcon@yahoo.com>
Date: Tue, 20 Dec 2022 10:35:29 +0000 (UTC)
From: Jason Long <hack3rcon@yahoo.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <741943497.1243882.1671532529734@mail.yahoo.com>
Subject: No package 'pixman-1' found
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
References: <741943497.1243882.1671532529734.ref@mail.yahoo.com>
X-Mailer: WebService/1.1.20982 YMailNorrin
Content-Length: 4028

Hello,
How to solve the pixman error:


$ sudo ./configure
checking build system type... x86_64-pc-solaris2.11
checking host system type... x86_64-pc-solaris2.11
Will build the following subsystems:
=C2=A0=C2=A0xen
=C2=A0=C2=A0tools
=C2=A0=C2=A0stubdom
=C2=A0=C2=A0docs
configure: creating ./config.status
config.status: creating config/Toplevel.mk
config.status: creating config/Paths.mk
=3D=3D=3D configuring in tools (/home/Hypervisor/xen-4.16.2/tools)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=
=3D/usr/local'=C2=A0=C2=A0--cache-file=3D/dev/null --srcdir=3D.
checking build system type... x86_64-pc-solaris2.11
checking host system type... x86_64-pc-solaris2.11
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether make sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking for flex... /usr/bin/flex
checking for abi-dumper... no
checking for perl... /usr/bin/perl
checking for awk... /usr/bin/awk
checking for ocamlc... no
checking for ocaml... no
checking for ocamldep... no
checking for ocamlmktop... no
checking for ocamlmklib... no
checking for ocamldoc... no
checking for ocamlbuild... no
checking for ocamlfind... no
checking for gawk... /usr/bin/awk
checking for go... no
checking for checkpolicy... no
checking for bash... /usr/bin/bash
checking for python3... python3
checking for python3... /usr/bin/python3
checking for python3... /usr/bin/python3
checking for python version >=3D 2.6 ... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/ggrep
checking for egrep... /usr/bin/ggrep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for python3-config... /usr/bin/python3-config
checking Python.h usability... yes
checking Python.h presence... yes
checking for Python.h... yes
checking for PyArg_ParseTuple... yes
checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE... no
checking for iasl... /usr/sbin/iasl
checking uuid/uuid.h usability... yes
checking uuid/uuid.h presence... yes
checking for uuid/uuid.h... yes
checking for uuid_clear in -luuid... yes
checking uuid.h usability... no
checking uuid.h presence... no
checking for uuid.h... no
checking curses.h usability... yes
checking curses.h presence... yes
checking for curses.h... yes
checking for clear in -lcurses... yes
checking ncurses.h usability... no
checking ncurses.h presence... no
checking for ncurses.h... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for glib... yes
checking for pixman... no
configure: error: Package requirements (pixman-1 >=3D 0.21.8) were not met:

No package 'pixman-1' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables pixman_CFLAGS
and pixman_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
configure: error: ./configure failed for tools



Thank you.


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 10:45:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 10:45:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466965.725944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7a7E-0002cR-NH; Tue, 20 Dec 2022 10:44:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466965.725944; Tue, 20 Dec 2022 10:44:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7a7E-0002cK-Jw; Tue, 20 Dec 2022 10:44:56 +0000
Received: by outflank-mailman (input) for mailman id 466965;
 Tue, 20 Dec 2022 10:44:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gzLQ=4S=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p7a7D-0002cB-1w
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 10:44:55 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2051.outbound.protection.outlook.com [40.107.93.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 554f424f-8053-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 11:44:53 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by PH8PR12MB6841.namprd12.prod.outlook.com (2603:10b6:510:1c8::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 10:44:49 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c%5]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 10:44:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 554f424f-8053-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lrVjlKKxgGIOPI/Ppi+WdVBpYlkFTaLeSkWUc7YpTtvQc82WuOWfeH0oOGZNsZnzvJ/P91Z7hWFskPWQZ25Iszrvo2cee7jjpNZQOflQi+nKg2oa1KnTPn7zhwxF50Wg6oLBqKzQn2DyhC5mpJNT9LIPO/5iIz94HfGoaz9aP/+EwgCdGo5VEmYjesF58G6wbqq+2tLg0NpQi35l5jZs+iKv5ZusDPqqsUtyLy3OzvI/zKL2k9kZmUTMwy1ohiZf17845pZYpctZfR9HNTFxuBeaDjXo63Cxwu85UgxGDZ6GpaLB0K0FNFGbCli9kDf2jT72EH0hGgX9kz7Qu3SuSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=alVjjCBc9Qbj9Eq3dvwKscZeevP39Zs8u574WBatGL0=;
 b=C4n7LrJ9oYoWWv4llwF52L10f3HlYu9C0w/P9idToGhTmGtnOkVEe26UqdwhekIHYUz04ZiaGi/LRfWME3JHO4vB/LWeJom4TkSlE9u3nVjzfgUHqFh+NcEmdrjdcxejNXBb/LFLzzrETcB0YGLgK9OlcjGSU8XzM4AnUnqLU37INRWHK6GT21I5znxu4EtQs/C7W81jB+2DALCFL4QLxrsoV0j6ro0S5PzYA4tTmUdH4LM7mOK8nNDIQWpDSPjWGmw45yU6PnTsqq5/8cawGWjWFpIs+wFbupp6sQ0vzuHZWHSXT4sTaPnQsYQWm0FnfINg6SFjJaRyM/VZjXWyZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=alVjjCBc9Qbj9Eq3dvwKscZeevP39Zs8u574WBatGL0=;
 b=aWWIYs8Y/8JbO1338fqyZEzlbsAu9OyaTZnkEyv1enhYvPWw3283LzDZZiuUXKxf2XpkVGPoBbEDjJNhIWdQmWLkTR0Zz5AnjfnN43S3mzakWL1ASrC0yH+l1yxeMXcPYxivGefLqEcy+FOMZN2JpKm6aGC8Wvwfav2zTBq703g=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <e2101505-ef3e-59f7-be2c-351ca9363249@amd.com>
Date: Tue, 20 Dec 2022 10:44:42 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v3] xen/arm: Probe the entry point address of an uImage
 correctly
To: Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221217193801.19485-1-ayan.kumar.halder@amd.com>
 <75635251-5f51-fbe0-28be-a99480541116@amd.com>
 <6e2b1f97-3e72-34b9-8faa-f00e79587b39@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <6e2b1f97-3e72-34b9-8faa-f00e79587b39@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0376.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18e::21) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|PH8PR12MB6841:EE_
X-MS-Office365-Filtering-Correlation-Id: 0dbefa49-48b2-49a1-9bec-08dae2773792
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	07eV8rXy5VPW5fdleuch4CzaQrct1fZGqFsXVguhQBqF3EP9l6reEMbx8ZW51gjtcKdv6AItaSVgobvf4GlcY7rMKxpJKD4T1KtkMDbcOsJmdp10sFZak5FtO8MfdYgAvXYUs3ljv4p/ToAq9jNvpmm8GAXqOQEIbwI6oA9/D67VfR91tfDYaoNJcLuA/PXIu0cFkh+e4wreuAn8CFf+fmIBnPuFSlqQ35byI3kr9qBO6WJ3IBW/CG3wDrPHy1ck7E2wb+0ecWHrtyZHGHdRMbqjc4p8cwfZ/dNKcarcwp7xRYMTUR/Xcaz/sA6EHV79ISog/wCvP9rcG7qIjYc2XeR4VBskZ6FDiWKRVl2WuBiXSZBVVRIoL2bhRy6Bdb6PdBYhfKBzrzsYrjgThN9LZ2AnyML1F0LToo95JZ/tgfgaoYXR1HrovvrC3IjnrOBbnWJINo8eyueZ5QcGbV9QwiWkFiWoZjL6GqtMbVlNm/tnKVaPbcE59jCrKj4MkW+SPEfzRp7o8OSf5oAfgV8QBu3lO/82It2U4uf509FvXE4W9vFDTXjKaI6Yo2aPmaTScQ+029pfkpQHOCoIDGoXCIC6WD/2xrB5nzdUtUviONDF3YE3/y0FVOl79Itlz2MVIvEct6aXPcqzyRqHLt8UA0FwUzjM+xJfm5zc1agtgBG9K3v8gYkIBS/ohrUSUBRkf+X5616v1IIu6B2etcVQm/eVFZkvzMMUK7ZRULUDNcd695l3ml3Xh0L6ibHkkpbkTznuPKocQbqJ4S87wumubXjEqIdcF18TZDQ6g6KEEZc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(136003)(396003)(346002)(376002)(366004)(451199015)(31686004)(38100700002)(2906002)(41300700001)(36756003)(316002)(26005)(6512007)(186003)(31696002)(5660300002)(83380400001)(4326008)(478600001)(8676002)(66946007)(2616005)(6506007)(66476007)(66556008)(110136005)(6486002)(8936002)(6666004)(966005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?KzBKd3d6cW0xZVYvUFZoVVpDZHpONnV1YklQM1VoTG00b2RMTUkwVFV3Qk9q?=
 =?utf-8?B?QllDZEpMVGw1UTFraXY1R1VLTjZ5cnU2MFYrR2hzT3h0MERUbU5jU3daVDdn?=
 =?utf-8?B?RVJReDZpTHExWEFrSmNHOVp3NnZPd2V0Q3UySVEwYk9ibXgxN05maCs5K1BM?=
 =?utf-8?B?bFpGOTZwV1pXT1VIN041K2VRN1JFQjJ4WUtmQ1N6YUpIQ0NUeXhTamhxZmpR?=
 =?utf-8?B?UlhEVnhqc2FEYlQwVU1TOTFRS2dsN3AxY3hKdTJqR3hMdytoNzc0LzhkT3Vu?=
 =?utf-8?B?aSttcmZsbCt1ZlZNT2NGLzQ4Z3p5RjczUDFQZ2llWTFubGdRVWRldXhENlFm?=
 =?utf-8?B?TW1HbHFNVHFneEo4NGZwd3BZcFVpRjRhYVA0QmxHT1kwanVNNW1GUjdBWkQ1?=
 =?utf-8?B?akluMVZqMkY5aDQ4dFhQb3RLMkJPR2M1Ym5FWTlGOG9uVWhLUkZFUm5TWjlL?=
 =?utf-8?B?OUVHM0RxQmhqVWVjSXFnUGVBTmNYRVdrUDhsWFZQMmFIRDJsd1owa2hib29E?=
 =?utf-8?B?dVJ5eU51TXowQWNSTGhIZDJjbGloY1dqVjhnNkVYMXRLRjhTRzE4L0Npd3Ra?=
 =?utf-8?B?YmQ3djVsQmFud0RtTlhubWw1WU44ajlYZVorZnRDNWJTbEprQWxudzY2OEtR?=
 =?utf-8?B?RU9Hb1FtNWtUWVhsN3h2ZEFRRGxkTkc2N2lPZ1gwQ0YyTWFCREx1TEpWMlFT?=
 =?utf-8?B?QlFXZVoyamhyVjIrUUFKbGRqdnFGTzg4ZFdtU2VDajBhSVUrQ05VTGxsRGtG?=
 =?utf-8?B?VU5SdDE1cDhFWTdtQWFsSEx1eGpURFEvY1ZvMDd0VHhOd3Z3UVVsNE1XMmdF?=
 =?utf-8?B?WUlUblZCWGFxVUlRd21mdzQ0aG40RG4yWmRSajVsTS9PdER1aGV3YloxV3hT?=
 =?utf-8?B?bzJrZ0pwOFNUWUZ1UzVuWVdEdjBmdkFna1pMcVJ5Z3RUV2pWc0FhT2tweEZk?=
 =?utf-8?B?TjlGL0F2emRLUytjTS9TUW5VdkkvTGNpQktjbm5DS09zTGVBajRibC9oWStJ?=
 =?utf-8?B?ZGFsdlRzWFFFYVdoT0M0RTVjUU42Y3UxY29Ba29wOEJ3M3g1bTA4MlJPY0tT?=
 =?utf-8?B?d3BhL2h5NEFaTllwTW80ckpVYUN6UkhlWklLNlY2SWxQK3VKUVo4TVlpSDJu?=
 =?utf-8?B?aEtYVHNrT0N5Y1MwQ0RMdEZRRW1xZHpDOHRLWlpGSzZWM04ybCsxZDlBUkg2?=
 =?utf-8?B?UTlUVnZSRTVINndVK3pLM1dLeFRpMjNhMHpNRzRQRDVmYzljaGZtazh4OU5M?=
 =?utf-8?B?THljUDhMbjNpOU5wSzVDMjVsT1NJT0FMUjAxVHFJUW5BeFFLT0dqMlVzM1hF?=
 =?utf-8?B?T2xxV3FDaXJnZ0J6TVN5d2gwTDNqMmRjdXZrczF5aW9EUStiQlFNZFB0c2E0?=
 =?utf-8?B?NGc1L0VxUE1ITEJTd0lxQzZ5WXVVa1NjcytTOG9IV3VQTjZzbGlWUDE4a0hR?=
 =?utf-8?B?d2hwdXlFMzdzY2hUdEkvVU9yajEzaWZBV3liTDI2Y2hiZnBTbW1qMlU5Wm5D?=
 =?utf-8?B?N0VjNm00WEVCcElUcjZKeEFreWIwdnYvOHZUeTBlbDdvTWNPQThESnAxWUQx?=
 =?utf-8?B?S1ZKb3hHY3FOUThZUkNKNTlSclRYYXZOMHQxWDloSFYvb0JVNkNmYUlURFhW?=
 =?utf-8?B?WlloV2RkTEpuSjZHaUV0UWVNcW9CZTdPN2g2MXhkRzR2TnB5Qy9yVkZvTGpW?=
 =?utf-8?B?T3VVL1VvdndmTFVTSVBBUjNzV0FGSURxM3ZlNFhSTTVpc29aT2Q3R1BKMUhU?=
 =?utf-8?B?QlpycktsM1pQcytYY2NJcXVRVmVxNHRHL3RyNnFrNVhLSG9JcXd4TDZWRjF0?=
 =?utf-8?B?VmpSTnpjaWM4d3JPWGxlTGk0dE43YS9MSnlKNC9LdUZqemtudmJJQW9KNHNp?=
 =?utf-8?B?ckpXT1lJSXlZV0NHaThCRjM0bGpnT2lkTVUyN25QUVp2b0ZGUHR0NnpJMyti?=
 =?utf-8?B?ZlFNWHExWm5vd1FOYnlsYVJVRHZTb1lTYTBnYnE0YnRTSFJOSktMT3dtenlk?=
 =?utf-8?B?SllpYVBTUzREVlZrVGNtYVVTbUgxR1UxaDlTbVFoUGlaTVFFUC9laHF5RERy?=
 =?utf-8?B?ejhLUnJ6cVFPUlArYmJnVnBOWVhMc2JXbURBdXhDakpMMkdaeC9ZeEdnaFc5?=
 =?utf-8?Q?OVsSFm6rUyhRnd7W26FIB9cSY?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0dbefa49-48b2-49a1-9bec-08dae2773792
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 10:44:48.9874
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QK97uFO0UgwDmNjSl4pj/4A1pNzGkPojFT12EVUtrheKg8i7/nJi3J3mnJ7jGoZ8l6D0zXZvbVaFj/38Ldnquw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6841

Hi Julien/Michal,

On 20/12/2022 10:05, Julien Grall wrote:
> On 20/12/2022 09:44, Michal Orzel wrote:
>> Hi Ayan,
>>
>> On 17/12/2022 20:38, Ayan Kumar Halder wrote:
>>> Currently, kernel_uimage_probe() does not set info->zimage.start. As a
>>> result, it contains the default value (ie 0). This causes,
>>> kernel_zimage_place() to treat the binary (contained within uImage) as
>>> position independent executable. Thus, it loads it at an incorrect 
>>> address.
>>>
>>> The correct approach would be to read "uimage.ep" and set
>>> info->zimage.start. This will ensure that the binary is loaded at the
>>> correct address. Also, it checks that the load address and entry 
>>> address
>>> are the same. The reason being we currently support non compressed 
>>> images
>>> for uImage header. And as seen in uboot sources(image_decomp(), case
>>> IH_COMP_NONE), load address and entry address can be the same.
>>>
>>> This behavior is applicable for both arm and arm64 platforms.
>>>
>>> Earlier for arm32 and arm64 platforms, Xen was ignoring the entry point
>>> address set in the uImage header. With this commit, Xen will use the
>>> kernel entry point address as specified in the header. This makes the
>>> behavior of Xen consistent with uboot for uimage headers.
>>>
>>> Users who want to use Xen with statically partitioned domains, can
>>> provide the fixed non zero load address for the dom0/domU kernel.
>>>
>>> A deviation from uboot behaviour is that we consider load address == 
>>> 0x0,
>>> to denote that the image supports position independent execution. This
>>> is to make the behavior consistent across uImage and zImage.
>>>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>>
>>> Changes from v1 :-
>>> 1. Added a check to ensure load address and entry address are the same.
>>> 2. Considered load address == 0x0 as position independent execution.
>>> 3. Ensured that the uImage header interpretation is consistent across
>>> arm32 and arm64.
>>>
>>> v2 :-
>>> 1. Mentioned the change in existing behavior in booting.txt.
>>> 2. Updated booting.txt with a new section to document "Booting Guests".
>>>
>>>   docs/misc/arm/booting.txt         | 21 +++++++++++++++++++++
>>>   xen/arch/arm/include/asm/kernel.h |  2 +-
>>>   xen/arch/arm/kernel.c             | 27 ++++++++++++++++++++++++++-
>>>   3 files changed, 48 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt
>>> index 3e0c03e065..01b12b49a5 100644
>>> --- a/docs/misc/arm/booting.txt
>>> +++ b/docs/misc/arm/booting.txt
>>> @@ -23,6 +23,24 @@ The exceptions to this on 32-bit ARM are as follows:
>>>     There are no exception on 64-bit ARM.
>>>   +Booting Guests
>>> +--------------
>>> +
>>> +Xen supports the legacy image protocol[3], zImage protocol for 
>>> 32-bit ARM
>> uImage is not a protocol. It is just a header with no other 
>> information \wrt
>> boot requirements.
>>
>>> +Linux[1] and Image protocol defined for ARM64[2].
>>> +
>>> +Earlier for legacy image protocol, Xen ignored the load address and 
>>> entry
>>> +point specified in the header. This has now changed.
>>> +
>>> +Now, it loads the image at the load address provided in the header.
>>> +For now, it supports images where load address is same as entry point.
>> Would be beneficial to add explanation why load address must be equal 
>> to start address.
Answered below.
>>
>>> +
>>> +A deviation from uboot is that, Xen treats "load address == 0x0" as
>>> +position independent execution. Thus, Xen will load such an image 
>>> at an
>>> +address it considers appropriate.
>>> +
>>> +Users who want to use Xen with statically partitioned domains, can 
>>> provide
>>> +the fixed non zero load address for the dom0/domU kernel.
>>
>> I think this section is missing a note that in case of not PIE, a 
>> load/start address
>> specified by the user in a header must be within the memory region 
>> allocated by Xen.
>>
>>>     Firmware/bootloader requirements
>>>   --------------------------------
>>> @@ -39,3 +57,6 @@ Latest version: 
>>> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/t
>>>     [2] linux/Documentation/arm64/booting.rst
>>>   Latest version: 
>>> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst
>>> +
>>> +[3] legacy format header
>>> +Latest version: 
>>> https://source.denx.de/u-boot/u-boot/-/blob/master/include/image.h#L315
>>> diff --git a/xen/arch/arm/include/asm/kernel.h 
>>> b/xen/arch/arm/include/asm/kernel.h
>>> index 5bb30c3f2f..4617cdc83b 100644
>>> --- a/xen/arch/arm/include/asm/kernel.h
>>> +++ b/xen/arch/arm/include/asm/kernel.h
>>> @@ -72,7 +72,7 @@ struct kernel_info {
>>>   #ifdef CONFIG_ARM_64
>>>               paddr_t text_offset; /* 64-bit Image only */
>>>   #endif
>>> -            paddr_t start; /* 32-bit zImage only */
>>> +            paddr_t start; /* Must be 0 for 64-bit Image */
>>>           } zimage;
>>>       };
>>>   };
>>> diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
>>> index 23b840ea9e..e9c18993ef 100644
>>> --- a/xen/arch/arm/kernel.c
>>> +++ b/xen/arch/arm/kernel.c
>>> @@ -127,7 +127,7 @@ static paddr_t __init kernel_zimage_place(struct 
>>> kernel_info *info)
>>>       paddr_t load_addr;
>>>     #ifdef CONFIG_ARM_64
>>> -    if ( info->type == DOMAIN_64BIT )
>>> +    if ( (info->type == DOMAIN_64BIT) && (info->zimage.start == 0) )
>>>           return info->mem.bank[0].start + info->zimage.text_offset;
>>>   #endif
>>>   @@ -223,6 +223,31 @@ static int __init kernel_uimage_probe(struct 
>>> kernel_info *info,
>>>       if ( len > size - sizeof(uimage) )
>>>           return -EINVAL;
>>>   +    info->zimage.start = be32_to_cpu(uimage.ep);
>>> +
>>> +    /*
>>> +     * Currently, we support uImage headers for uncompressed images 
>>> only.
>>> +     * Thus, it is valid for the load address and start address to 
>>> be the
>>> +     * same. This is consistent with the uboot behavior (Refer
>>> +     * "case IH_COMP_NONE" in image_decomp().
>> Please make it clear that you are referring to uboot function.
>
> Could we avoid to mention the u-boot function? The reason I am asking 
> is the code is in a different repo and the function name can easily 
> change without us noticing (so the comment would rot).
>
> Is the behavior documented somewhere in U-boot (or online)? If not, 
> what's the guarantee that it will not change?

I could not find any documentation which states this. I found this from 
the following in uboot source code.

https://source.denx.de/u-boot/u-boot/-/blob/master/boot/image.c#L458

AFAIU when kernel_uimage_probe() get invoked, the image has already been 
decompressed. So, I added this as a limitation.

I will remove the limitation if it does not look correct.

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 11:09:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 11:09:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466975.725955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7aV8-0005K8-R4; Tue, 20 Dec 2022 11:09:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466975.725955; Tue, 20 Dec 2022 11:09:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7aV8-0005K1-Nc; Tue, 20 Dec 2022 11:09:38 +0000
Received: by outflank-mailman (input) for mailman id 466975;
 Tue, 20 Dec 2022 11:09:37 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+pxk=4S=citrix.com=prvs=3460f7db1=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p7aV7-0005Jv-K6
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 11:09:37 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c781d455-8056-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 12:09:35 +0100 (CET)
Received: from mail-mw2nam12lp2048.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.48])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Dec 2022 06:09:31 -0500
Received: from BN7PR03MB3618.namprd03.prod.outlook.com (2603:10b6:406:c3::27)
 by SJ0PR03MB6951.namprd03.prod.outlook.com (2603:10b6:a03:419::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 11:09:27 +0000
Received: from BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::5c96:fc3a:9d36:4a2e]) by BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::5c96:fc3a:9d36:4a2e%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 11:09:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c781d455-8056-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671534575;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Z0FkCiCsOFFuToE+3vYNKkCy8RMf3fGNsQ3NJ2FMVc8=;
  b=Q8uLLoWXuyQIVRngxzUaQrUm0O46GN6oTWiurYTaQ98pyImnwbuqiq7s
   lSnBYz78zK+ASgwTKhq6OuZlo958NSr+CweI0I8y3LfSzOeOtjXtroBJ7
   j0siLghbUNRsd3ViOJxXpcC5DIJI6aGCBCFueNPLYooLa5ZGGPHKU6QbQ
   s=;
X-IronPort-RemoteIP: 104.47.66.48
X-IronPort-MID: 89278979
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:PGuv7KCWTLprqhVW/xHiw5YqxClBgxIJ4kV8jS/XYbTApGgmhDVSy
 2tMCmiGPKqLMGH2eNojPoTnpkkPuZSAzIAxQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlC5gRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw/PZ2Aj927
 cYkFm4ucBK9g8myzIy4Y7w57igjBJGD0II3nFhFlGucKMl8BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTL++xrswA/zyQouFTpGPPTdsaHWoN+mUGAq
 3id12/4HgsbJJqUzj/tHneE1r6VwnOqB9N6+LuQ+cRwgwyU7TAoSyJNBQehhOHgj1e5VIcKQ
 6AT0m90xUQoz2ShU8PvVhm/rHmbtzYTXtNRF6sx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9S3iQ67OVpjOaIjUOICkJYipsZRQBy8nupsc0lB2nczp4OKu8j9mwHC6qx
 TmP9XI6n+9L0Z5N0Lin91fahT7qvoLOUgM++gTQWCSi8x99Y4mmIYev7DA38Mp9EWpQdXHZ1
 FBspiRUxLtm4U2l/MBVfNgwIQ==
IronPort-HdrOrdr: A9a23:SAYlWa0UjH7fcCiwQEB54gqjBEQkLtp133Aq2lEZdPU0SKGlfg
 6V/MjztCWE7gr5PUtLpTnuAsa9qB/nm6KdpLNhX4tKPzOW31dATrsSjrcKqgeIc0HDH6xmpM
 JdmsBFY+EYZmIK6foSjjPYLz4hquP3j5xBh43lvglQpdcBUdAQ0+97YDzrYnGfXGN9dOME/A
 L33Ls7m9KnE05nFviTNz0+cMXogcbEr57iaQ5uPW9a1OHf5QnYk4ITCnKjr20jbw8=
X-IronPort-AV: E=Sophos;i="5.96,259,1665460800"; 
   d="scan'208";a="89278979"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X4qN8wZWhU0H8WQIcihaJ3lGHZGAxYSysCHYzvI7ISgMQr+vT3bxIUvcSDEeOhmAybsuALF8OpT8mMB0cnCOLw3UxlzvBE9DgQRgcIDZqKHbIdkAweUQphLh7Wx/abYBJ7oVxi58o1OjFFEGT005v7fPYV5zmMPCcr8TBgr81xS5WIqXzcK1xyBsOfJHtSMf+yQIpeW60i9j7w72Orzyt2VEdGB8TTW7ok6AR1FQSliyJG4fT7T9cAdzQagZqLttAIbOZuXTPz8RhUJRr5thghYV4oWovU/PJpd7WW1+GI8jA5bk3TF+I/D7rhrNP3YOoOD0+pRk8A1Qn6VHRourvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z0FkCiCsOFFuToE+3vYNKkCy8RMf3fGNsQ3NJ2FMVc8=;
 b=DsA8cv+NfmDxRYxB0XC59ovo51bQpcvn13HzL513cKC/GKSON9lPeBMYC51cdwDGZgDimpYHa1cRbPQYJmCO26AkvgkKR42yeIC1hhepVsQF5uxpi9YoDfH6fqgrLEfXJUgcJzEI2neBJkhnuPVEWui0Rp7fPmcybrShSJkiWPg78YSkCbQcad4HYqW6GX3FaPlvUxjkdsbcQCYsv4XqH6kFGqU/pjRzrZBcf+Qzb5bFASHBg/1thFzm96hn6lXpvk0PocV9+ZV2vc6zKJn2HURyMK0RAHI9u68kejEP3OGcixODFJurQCpAQCNd0uLxTO3wE2GmMI1Tn5oXFZIu9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Z0FkCiCsOFFuToE+3vYNKkCy8RMf3fGNsQ3NJ2FMVc8=;
 b=Ru5NnfKndvGx99hYXN/exgJ0nSrNIDgrl6cQL/zYzyZYzmNJzy56GZ2RtNKbRXB5RXE089+VIi74pjX1a+kc2Qt7XKKCuipOKEyB+fTKV8XLamyKmCG4UGXhMUaH6xa9MfqfCkskyMLDbyyTXVv20xMrmGlOW5x/9wY6Z5xGXg0=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Xenia Ragiadakou <burzalodowa@gmail.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [RFC 5/7] x86/iommu: the code addressing CVE-2011-1898 is VT-d
 specific
Thread-Topic: [RFC 5/7] x86/iommu: the code addressing CVE-2011-1898 is VT-d
 specific
Thread-Index: AQHZE3QhgtEjjj3o3UG9yEmVkUBhi652oCIA
Date: Tue, 20 Dec 2022 11:09:27 +0000
Message-ID: <5a78ab9f-ce3a-a4f5-9768-725bd9f8a745@citrix.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-6-burzalodowa@gmail.com>
In-Reply-To: <20221219063456.2017996-6-burzalodowa@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN7PR03MB3618:EE_|SJ0PR03MB6951:EE_
x-ms-office365-filtering-correlation-id: 5b7adbbe-40c3-4833-3774-08dae27aa903
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 6QRiAFihIB/u+zNUmdYwW122as/vOE7cTPiuossUwCqm/nUs2/C/R3QTCZoUcp8y1oKqmk/AWpRCOUV1K6Kbi0s2PctP3baxRVE1JLnTBTqxn19TcQ819qMJ4PqenrnYPe+RKYTEcQXjE1jeHxJv1TEekuLhqnQGxtIzBp89cbIYeiWwQV69Jff57s+WJb/3ggg8wvH0R3I6IGRQMINqZn1ILkEj7k+aMcdCLnkaE1H/yxChAstgrpw5O0YdeQqsTkADrLHI2nRMpr0Z5fYSJ1xu2juDNqvGcqjxUIMvRA2uhev27xYEWEm+f8UE0AG3NIaHJs/RvDS1hvYLeYN1pGCB5OejP+sSxWMSnnDpU0YgL4IzqAjln1soSjqHaevf74JqRoJO8XK/ywOapR3SZg2Viwx0OqoezudsMM3WZJRWAtgff5fSdRsBS0J5lOMNbvrUsL84goYPVnBcBWNQg3OMZj9rjXi3vVhw7huA3zrKbn5tftfUQHKjD9o1apN0o+qygFa11ZpKoMel1wfLocdsJX7mO4zex2U2oyUqgrYShnEyJMweA5pqQHs2nZ2+jH7XfIlk4A4ZGlkcQQ/kl+RMPwpBHg1beH3xXSgotmaZvMDiRtZH/apaRLsyMj5+EqYvZISMg5U2fhSX3VL3qpbsR8Jr+JKoQhdlt9LmA96k3FJuGYONXn2T7aQlPBSPfgNClRjnjpeH54C94PRq+dI4myVl6HEg5GcmP6ds4dMZ4ud0NcrpncGxWzCZHi1xu6q0L06QBkv2xiqdIGY23w==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN7PR03MB3618.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(396003)(346002)(366004)(39860400002)(451199015)(53546011)(6506007)(71200400001)(2906002)(478600001)(6486002)(31686004)(26005)(54906003)(110136005)(36756003)(91956017)(76116006)(2616005)(66946007)(316002)(41300700001)(8936002)(186003)(8676002)(6512007)(64756008)(83380400001)(66476007)(66556008)(122000001)(82960400001)(38100700002)(4326008)(5660300002)(86362001)(66446008)(38070700005)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VHFqWGwxMGlUUTBGM3U1OTBYL05DQkFFc3hyZXBXQmFmTEVCemhsb3NocHJP?=
 =?utf-8?B?ZFdQOGswdG8yS1BPclQzbnI5WTM4akV1eGc2VWIrY2dFbHVSUUFUcHltek4z?=
 =?utf-8?B?S1BGUGhiYUNXb2k4MHJSS3NvRS8rcXEzVm1aQithM2txV3ZzSlNDUmNaNTA1?=
 =?utf-8?B?dE1BVXJaaytVckRmM1NscHhTRi9pSzlTUVhLdkRGZjMzdGVQTTZTd2dCY2Vi?=
 =?utf-8?B?cm5ycisrSUthQzhoQ3oxaXNEN21BUUpRcmduemg3N0FsdTFYSzdDKzlGTXZt?=
 =?utf-8?B?V09YcHRhcGl0ZGJjZitSTHk2RVBRVnFIK2tjcXNOTlJ1c0srWEdZcUllQUk1?=
 =?utf-8?B?eDYwNWtqUndFOGhwbk1DY1J4WWVCZTZqemlrRnNDLzJ5WFV1MGtMZ3dNYlBz?=
 =?utf-8?B?UXFwYTJCMXlNbUNDdnRJWWhjbFJvTXRZZ2xWNjV1dUhxRUcwRUhTUjFpSjY2?=
 =?utf-8?B?MHB1RDJFYVJWMjlZQ1J0eDNWQU9EUStZY2VXNVZKcVI5VTZJM3BMb3JsZndt?=
 =?utf-8?B?SUY4TUZUd2lMZk4rVEZ0QjJXYkhJMGplamlwb0FnalVRbFRXZHRwWE11d3Ay?=
 =?utf-8?B?TDEwdzhWSmQ0cjBjekU2Wmx5aFduQlRxNk90WHpqSDlhQnNiQi84bmhKdDEx?=
 =?utf-8?B?SnBIdWdiaEsvOEVHRTYvR3lweG90bU1aU3FEdnhTVXJOOTBLeGlSeXpZWENK?=
 =?utf-8?B?QzYyK2xRYU9qZnVqZmRwdWJ5YlNybEUwUlVFT3RQMytTajBBNk9rWG1XSC9l?=
 =?utf-8?B?WXZBNGp3Qmx3em9SNkpaR29RenRtOVJ2RmFVVkxpblpNL2NuRDdEdXFtN3Nm?=
 =?utf-8?B?LzRJM1psbW1nY2R1d2hnZHUzRFZrUHg4aVNrOE16UWpvc2d0MUkxMlhOb0hI?=
 =?utf-8?B?cTFGWkVpWU1uUG0vODJYZFJQeTBhcExwdWt3NUYzQzkrdUkvNWpYSkZHQnhR?=
 =?utf-8?B?NkVocm9zblJyQjVoQnRNQmpmUlVUMHFxU0RBb0VONGd4dm1LR1JoUWowNmk1?=
 =?utf-8?B?WExsRHYvUU9qN2JaUzE5dThFZDlFMlNEbDdTVWVqbEtZL2EwNVhMU2F2cmZW?=
 =?utf-8?B?eFh2MnlKcWppM1lVNHpCZS8vdjBaUnZwNjQ4WWJPd0lCNFNUbWtnMml1TjVj?=
 =?utf-8?B?NURlQmkwUEg3aEtTakN4QkE3M0RmWVNGbGxxeHE0UDVWblJXTmQ1OGRGUytJ?=
 =?utf-8?B?OExUL1FCOG5QRS9acGNmK00ycW5YalJDNVlQaUR4d3N4SDJvNGFmUmVnemlQ?=
 =?utf-8?B?YUNSYnR3NHQzV2ZBdFhUWVFGOEJuUUhuQ3MwUWVkZThpOEppQk9rbmVOb0t1?=
 =?utf-8?B?Tld4TmxPdXZuOWhOSXZ3V3Jua3NKSGp3cHNDOXZHUEZtUGE4WWRPRlc1Ujln?=
 =?utf-8?B?OXNhVndsSndSaGhVRUQ5ZE96VzlSZ3RyYTd6eFdtSFBpMVNhQVdMK1Y4bFY0?=
 =?utf-8?B?dk5GWGthUmRjUjUwNHlMNmVvZHBlU0JQYTcvd3IwTmtnZFhYWUVKenQzNnZ6?=
 =?utf-8?B?SHhyWGpJWjBTNEExdlJ4Q29MUmV4U1prVnF4ZDRJMXo1TVZOUURySDd6MVhX?=
 =?utf-8?B?TFU2S014Y05mOFJmUFpEMzJodHJkbmRuTGNCYUl5STVPTktLcTZOcG9DQldU?=
 =?utf-8?B?OGZYU1F2TzZ0RkEvZVFCc2lzTTNJT1p4dDBaekIxQzRQSUVoS2FXQ2MxNHds?=
 =?utf-8?B?SWZFUjBSbi9OZ0s4MG04QVR1amxYN0ZML0dEa1JSTGdjY3VQZEM4dTlYZmJq?=
 =?utf-8?B?OTNEWjR5TElSeElhVzRRN1NKek1USFZVK3cwOWlGelhVbEQybkdCczA0RGJH?=
 =?utf-8?B?MllzMlFMQlZFT0xpcm9nWE1jcklQeEJ0c0txVitEZTVFUlZ0S0YvQlIyNFYx?=
 =?utf-8?B?VUhlNUQzRndESzlSK0xmdFdUOTExejNGelQwM2FmNTRQelZ4eUovbXoyMnQr?=
 =?utf-8?B?ekVBM0lMK0ZxWXVBWTFJelRBamZLY2pYMFRiQXdLRzR2QmJ6ZHhRVGd2L0tP?=
 =?utf-8?B?SGV4YkhXVE1CQzZER29XYUZxTDFna2lvY2RiajltMk0yM1VtbndNUzAySnBw?=
 =?utf-8?B?NzVqL1VhZlV5NVJES1FpVktjWWdBTFJkNXFOMld1K2tlMFh3Q2JGeXdKSWhq?=
 =?utf-8?Q?fCyr7cS7HtXcRhxLsm1QycA4e?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A9C7392AE08EDB469026E5EC92B67DFB@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN7PR03MB3618.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b7adbbe-40c3-4833-3774-08dae27aa903
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2022 11:09:27.5481
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: q7Yi0/kJT0FB58A06p98i47T6hQfB6xVPX5GErLqacKZneot4g1tTZmMh/5haHcecfgWy2UZe8t3OZ1Hhtb2PxuMZZklxSaqQFi/BMExTPw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6951

T24gMTkvMTIvMjAyMiA2OjM0IGFtLCBYZW5pYSBSYWdpYWRha291IHdyb3RlOg0KPiBUaGUgdmFy
aWFibGUgdW50cnVzdGVkX21zaSBpbmRpY2F0ZXMgd2hldGhlciB0aGUgc3lzdGVtIGlzIHZ1bG5l
cmFibGUgdG8NCj4gQ1ZFLTIwMTEtMTg5OC4gVGhpcyB2dWxuZXJhYmxpdHkgaXMgVlQtZCBzcGVj
aWZpYy4NCj4gUGxhY2UgdGhlIGNvZGUgdGhhdCBhZGRyZXNzZXMgdGhlIGlzc3VlIHVuZGVyIENP
TkZJR19JTlRFTF9WVEQuDQo+DQo+IE5vIGZ1bmN0aW9uYWwgY2hhbmdlIGludGVuZGVkLg0KPg0K
PiBTaWduZWQtb2ZmLWJ5OiBYZW5pYSBSYWdpYWRha291IDxidXJ6YWxvZG93YUBnbWFpbC5jb20+
DQoNCkFjdHVhbGx5LCB0aGlzIHZhcmlhYmxlIGlzIHByZXR0eSBib2d1cy7CoCBJIHRoaW5rIEkn
ZCBsaWtlIHRvIGRlbGV0ZSBpdA0KZW50aXJlbHkuDQoNClRoZXJlIGFyZSBzeXN0ZW1zIHdpdGgg
bm8gSU9NTVUgYXQgYWxsLCBhbmQgd2UgY2VydGFpbmx5IHVzZWQgdG8gbGV0IFBWDQpQYXNzdGhy
b3VnaCBnbyBhaGVhZC7CoCAoTm90IHN1cmUgd2UgZG8gYW55IG1vcmUuKQ0KDQpUaGVyZSBhcmUg
c3lzdGVtcyB3aXRoIERNQSByZW1hcHBpbmcgb25seSwgYnV0IG5vIGludGVycnVwdCByZW1hcHBp
bmcuwqANClRoZXNlIGFyZSBrbm93biBpbnNlY3VyZS7CoCBJJ20gaG9uZXN0bHkgbm90IGNvbnZp
bmNlZCB0aGF0IGFuIElTUiByZWFkDQphbmQgY3Jhc2ggaXMgdXNlZnVsIHdoZW4gdGhlIHVzZXIg
aGFzIGFscmVhZHkgY29uc3RydWN0ZWQgYW4NCmtub3duLXVuc2FmZSBjb25maWd1cmF0aW9uLCBi
ZWNhdXNlIGEgbWFsaWNpb3VzIGd1ZXN0IGluIHRoYXQgY2FzZSBjYW4NCnN0aWxsIGZ1bGx5IG1l
c3Mgd2l0aCBkb20wIGJ5IHNlbmRpbmcgdmVjdG9ycyBvdGhlciB0aGFuIDB4ODAgYW5kIDB4ODIu
DQoNCkluIHBhcnRpY3VsYXIsIHRoaXMgb3B0aW9uIGRvZXMgbm90IGdldCBhY3RpdmF0ZWQgb24g
QU1EIHdoZW4gdGhlIHVzZXINCmVsZWN0cyB0byBkaXNhYmxlIGludGVycnVwdCByZW1hcHBpbmcs
IGFuZCBJJ20gZGlzaW5jbGluZWQgdG8gd2lyZSBpdCB1cA0KaW4gdGhhdCBjYXNlIHRvby4NCg0K
fkFuZHJldw0KDQpQLlMuIEl0IG9jY3VycyB0byBtZSB0aGF0IEZSRUQgb2Jzb2xldGVzIHRoZSBu
ZWVkIGZvciB0aGlzIGFueXdheSwNCnNlZWluZyBhcyBpdCBkb2VzIHByb3Blcmx5IGRpc3Rpbmd1
aXNoIHRoZSBzb3VyY2Ugb2YgYW4gZXZlbnQuDQo=


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 12:03:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 12:03:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466985.725966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7bKt-0003CP-PY; Tue, 20 Dec 2022 12:03:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466985.725966; Tue, 20 Dec 2022 12:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7bKt-0003CI-Md; Tue, 20 Dec 2022 12:03:07 +0000
Received: by outflank-mailman (input) for mailman id 466985;
 Tue, 20 Dec 2022 12:03:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ju1E=4S=casper.srs.infradead.org=BATV+3d4d80a81840c180149e+7058+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1p7bKq-0003CC-TK
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 12:03:06 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40a131dc-805e-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 13:03:02 +0100 (CET)
Received: from [2001:8b0:10b:5::bb3] (helo=u3832b3a9db3152.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1p7bKw-001leJ-Fl; Tue, 20 Dec 2022 12:03:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 40a131dc-805e-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:Date:Cc:To:
	From:Subject:Message-ID:Sender:Reply-To:Content-Transfer-Encoding:Content-ID:
	Content-Description:In-Reply-To:References;
	bh=1Z8sX4oDIcLlSs2oiKHWyMT4raMf3jbhEgFuKjtTm5w=; b=tjGtELbQ/M6J5qh1JIXcZk94zJ
	/KuQpcwb2INpnYt2zwGhg8+T4KkzBoYIUQM0i1YHS4yg6onSQo6iQlfnnC+BHBnkoX3hD7a41MJ0/
	D5Wlqpz3rmNdLChUXNWqd+A1Fu7O70L1tkELi3Yo6qJumcx5twCyjmUAWmrI33Bv7DDptOWYt2JH7
	eFOHPNuvw3rzQXjAhnZAwKJe04PQaLd+A5cYd33oWjk05aeKOL9Y6Nhyf/TBC8EsKaYUqPGN40frX
	91JDdaj1U0xFhN2cQbhVopUg/gh2DsbxD2shh3UMmq1Sx45sk4Q0xSHGOvAa0FDR2k+0EgVPmVTuD
	6g9+TKSQ==;
Message-ID: <22a2352464be2df92dc0d30a955034c59fdf3927.camel@infradead.org>
Subject: (Ab)using xenstored without Xen
From: David Woodhouse <dwmw2@infradead.org>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <jgrall@amazon.com>, Juergen Gross <jgross@suse.com>
Date: Tue, 20 Dec 2022 12:02:59 +0000
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-wOEG/hkaVYz3Pxdr0guU"
User-Agent: Evolution 3.44.4-0ubuntu1 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


--=-wOEG/hkaVYz3Pxdr0guU
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I've been working on getting qemu to support Xen HVM guests 'natively'
under KVM:
https://lore.kernel.org/qemu-devel/20221216004117.862106-1-dwmw2@infradead.=
org/T/

The basic platform is mostly working and I can start XTF tests with
'qemu -kernel'. Now it really needs a xenstore.

I'm thinking of implementing the basic shared ring support on the qemu
side, then communicating with the real xenstored over its socket
interface. It would need a 'SU' command in the xenstored protocol to
make it treat that connection as an unprivileged connection from a
specific domid, analogous to 'INTRODUCE' but over the existing
connection.

However, there might be a bit of work to do first. At first, it seemed
like xenstored did start up OK and qemu could even connect to it when
not running under Xen. But that was a checkout from a few months ago,
and even then it would segfault the first time we try to actually
*write* any nodes.=20

Newer xenstored breaks even sooner because since commit 60e2f6020
("tools/xenstore: move the call of setup_structure() to dom0
introduction") it doesn't even have a tdb_ctx if you start it with the
-D option, so it segfaults even on running xenstore-ls. And if I move
the tdb part of setup_structure() back to be called from where it was,
we get a later crash in get_domain_info() because the xc_handle is
NULL.

Which is kind of fair enough, because xenstored is designed to run
under Xen :)

But what *is* the -D option for? It goes back to commit bddd41366 in
2005 whch talks about allowing multiple concurrent transactions, and
doesn't mention the new option at all. It seems to be fairly hosed at
the moment.

Is it reasonable to attempt "fixing" xenstored to run without actual
Xen, so that we can use it for virtual Xen support?

--=-wOEG/hkaVYz3Pxdr0guU
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjIxMjIwMTIwMjU5WjAvBgkqhkiG9w0BCQQxIgQgIT8BxEXv
ZYKl1+Z0NzvSLI5kqf7FCR8SOEksLfQYkW8wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAytKZ74wuJzgt4d716jnaGpubVCSs2y0gP
wQq3iUaZfehIbohibmpAgG6QqfCTEvzS8XnT+ileSQAppB2FzsKpnkzENLt7N3M3Whu3DzoQ0CZR
dS7lZbw0v6QWIjoFKPKdpzaylg3SH6h5VBQOL1VwT+O3xidJxfEbpHZ3hmm1bA6SzY1qixfItmyp
OKJL2r26gslMI3w9LVzkhGPcGrKJ/A1Dws8wVxpg6jfUrhpSXgUIoF7c+MmWOegLXdMFxgeSG/XK
eMCnRBJwHz4IZ2EWTFzhXw7TUQE5LHnDCu++/BF0iyDOGR+XnccZajTP4+RtpxmgYJxMCC2RPn8r
T5iieXQeEquWbk2Y/uvZ0GLM7Yz7zKk2lypa3FmtY6eQc2//w449ACsXUWkvZF07B6AIfQGrhyXo
X5VFAdgTRzKlfKTZlxpiO8Zl87kHayJ/PwNdBjJxlIAAZDqlXVeeWfXNSqstKFfwiEUCzjnIrBDw
JAApDi4Iicslo3zVhEQ7E35C/kotJXkaXfXSZGSbKSExWdzXc8CnKwnH0TMmO3b90JmRh7ViXiaq
/MseJoOq7yDeL/9nWn0aDH9JcUgSPMMpTVUh6XT1EU9Irf2ER8m+IMcRy8PA0U6g7HVSxIscdNcf
L1kdMwTtat75VpXzvSeSDnW08UMHQa9MXWKLrDXGIQAAAAAAAA==


--=-wOEG/hkaVYz3Pxdr0guU--


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 12:15:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 12:15:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.466994.725977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7bWH-0004kI-Qs; Tue, 20 Dec 2022 12:14:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 466994.725977; Tue, 20 Dec 2022 12:14:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7bWH-0004kB-Nf; Tue, 20 Dec 2022 12:14:53 +0000
Received: by outflank-mailman (input) for mailman id 466994;
 Tue, 20 Dec 2022 12:14:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7bWF-0004k5-Sf
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 12:14:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7bWF-0007Zd-I5; Tue, 20 Dec 2022 12:14:51 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7bWF-0006oD-BH; Tue, 20 Dec 2022 12:14:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=uMCe5ZawNabjE4S6YMG2J24Rc3wJ0R8acAbho8c8kmQ=; b=O8/vuaTnoz16ot+T/nvlvUFMoD
	V2FbMgeShqUG1gWpQtcCkuuK4F/U1MRFvadm3Q6sM7ckBhoPgM1fKdUvIKpiucHMESmEFUTnH26u7
	VLRRH+BaxRQ9iAPieGTJX890VScbjyRcFBswfuD6Sh+yO+CgEBRctTvrxAotoRWYwcuk=;
Message-ID: <9bd1a0a4-5d12-6984-0eb9-ed10303d5aae@xen.org>
Date: Tue, 20 Dec 2022 12:14:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v3] xen/arm: Probe the entry point address of an uImage
 correctly
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>, Michal Orzel
 <michal.orzel@amd.com>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221217193801.19485-1-ayan.kumar.halder@amd.com>
 <75635251-5f51-fbe0-28be-a99480541116@amd.com>
 <6e2b1f97-3e72-34b9-8faa-f00e79587b39@xen.org>
 <e2101505-ef3e-59f7-be2c-351ca9363249@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e2101505-ef3e-59f7-be2c-351ca9363249@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Ayan,

On 20/12/2022 10:44, Ayan Kumar Halder wrote:
>>>> +
>>>> +    /*
>>>> +     * Currently, we support uImage headers for uncompressed images 
>>>> only.
>>>> +     * Thus, it is valid for the load address and start address to 
>>>> be the
>>>> +     * same. This is consistent with the uboot behavior (Refer
>>>> +     * "case IH_COMP_NONE" in image_decomp().
>>> Please make it clear that you are referring to uboot function.
>>
>> Could we avoid to mention the u-boot function? The reason I am asking 
>> is the code is in a different repo and the function name can easily 
>> change without us noticing (so the comment would rot).
>>
>> Is the behavior documented somewhere in U-boot (or online)? If not, 
>> what's the guarantee that it will not change?
> 
> I could not find any documentation which states this. I found this from 
> the following in uboot source code.
> 
> https://source.denx.de/u-boot/u-boot/-/blob/master/boot/image.c#L458
> 
> AFAIU when kernel_uimage_probe() get invoked, the image has already been 
> decompressed. So, I added this as a limitation.

I e looked at the U-boot code and, AFAIU, the check is merely to avoid 
the memcpy() if the image start matches the start of the decompression 
area. So I don't understand why we need the limitation in Xen.

Now the lack of documentation (or at least I didn't find any) makes a 
bit more tricky to understand what the fields in the U-boot header are 
for. I have skimmed through the code and I disagree with the 
implementation you chose for Xen.

The comment for 'ih_ep' suggests this is the entry point address. That's 
may be different from the beginning of your blob. I think this is what 
ih_load is for.

So I think we want to load the blob at ih_load and then set pc to point 
to ih_ep. This will require a bit more work in Xen because the 
assumption so far is the entry point matches the start of the blob.

Please let me known if I missed anything.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 12:52:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 12:52:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467002.725988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7c6A-0000hI-Lz; Tue, 20 Dec 2022 12:51:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467002.725988; Tue, 20 Dec 2022 12:51:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7c6A-0000hB-JK; Tue, 20 Dec 2022 12:51:58 +0000
Received: by outflank-mailman (input) for mailman id 467002;
 Tue, 20 Dec 2022 12:51:57 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gzLQ=4S=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p7c69-0000h5-Nv
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 12:51:57 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2047.outbound.protection.outlook.com [40.107.101.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2da1293-8064-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 13:50:32 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by DM4PR12MB5914.namprd12.prod.outlook.com (2603:10b6:8:67::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 12:51:51 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c%5]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 12:51:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e2da1293-8064-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TjxcDjMT4FCUrIXTNbODy83WT7RoiH1Yojpo6V2Ndi4GLzj66H5x/nNLg7athfcRl9RG9nr7fKH09QXTx4I8FJBjFQ2MoGW7wj5Q/VJFrkTZ9BJuu9mcs6FTWAH1PYxqkgiNp4VJfTtfmyIfi8jY43jslILQ99rcBn3gahF63CycpHcgtG1sHp8fCdkI1qTqcMSuAyyTOR8yGnMSdCS1piqLwdIP6MGn4bPLjLIr+y5f6Vsx9njQeU+rkXvEFLf1HiTHUH0ix4d9zJsYnIUETvyCjrIVxMdu/DoIoL56hr6ER4KZ0Vqg6nwr+L3jPQP+ugL24gFtIJtT2x60lyKk/Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RMKV+B326RtZumuiokKFM0kfwewgRomynsS6USFV6HQ=;
 b=RGF8V5Aq6G1Sk3cdjOdV+Y0yO8Zwa6tCwKV6ijSHTXHTklJsjeNK40N0+7Mykq0AZ/8D5H0PyZNN++wBRqY33tt89MptW2PH2cnXTXk/Kp+fXUukVUusN35Ex7BAM+TGUiUnW+ZUc10hCs4OS/J0q42i5UBb5tKMyOw2j6z3LFGZgxDA4Nx3KGdXy6NHgbA/2AK6Cm3Q2U+WnY+ucT29vUoWo3PVIU5g2I39cDT3NNJWgBta7ztiO5raRQrJyfXv0LDi0wcUHlC7SfvmTMjFxSxjTeTF80ysILxHQt41QVGbHw+93XWkWZfVSUUOYBmkFLi4GYInGPgb2pr27KI/oQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RMKV+B326RtZumuiokKFM0kfwewgRomynsS6USFV6HQ=;
 b=vBV2pC59DrdAktjagUAWM/0N5T2ldkpJ3jDGOSKg8h1zP/udexXnUc6cknwpYuE+hY78D+hWC7aMlJbrkQtpcOfzjcB0y8KVH+Eu7o4fO27lKzVEcMlVlLr9yk1QcftUU7vH85YGBnfg4DL/94kzFuZthrSP4xh+auPFT8jZQvg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <b815229e-86da-f588-1b00-38c529504918@amd.com>
Date: Tue, 20 Dec 2022 12:51:45 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v3] xen/arm: Probe the entry point address of an uImage
 correctly
To: Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221217193801.19485-1-ayan.kumar.halder@amd.com>
 <75635251-5f51-fbe0-28be-a99480541116@amd.com>
 <6e2b1f97-3e72-34b9-8faa-f00e79587b39@xen.org>
 <e2101505-ef3e-59f7-be2c-351ca9363249@amd.com>
 <9bd1a0a4-5d12-6984-0eb9-ed10303d5aae@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <9bd1a0a4-5d12-6984-0eb9-ed10303d5aae@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0030.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600::18)
 To SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|DM4PR12MB5914:EE_
X-MS-Office365-Filtering-Correlation-Id: 2c117f5f-1f1d-42cb-d09e-08dae288f70f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9GkmYuuSkl/+m4VApe4WCqKzI+6U/3w/WsE7YPhL5GPKoZfmcbkv7ZyXlzpcrFzZoaSZZh8mT0g+PgdaDS9mOd+Bq/NuPSlUgsQmo6JFckSOVlijQoOzmKQOZzkee54n+v0WXTn7tDKrcWH5tYgXu2CG9gVHSilelyhsnq8tNq6GbZ4oM6dBovLUgOfMndNaqIbejXYs5kACuoVPh6nW+1ng6K26wsNp1wCmQF+347Ahhp/gFoAI0Po6trXl9YI127vooH9JpK16ZvOGVLzgc8Xt1B6GSZwLhQnOTM6HrlyMlYkc6LjlLKt4ytm0HMmo5fi7Ed0u5tOY0TKu/wRY1ozvBXn9auND9C94J5siRXEh7z4MjFOrv6a+pwPjgnx30/0TBBOyyePwHh06QMTQImy4UOYvWszZ5cAD+429KCPo51b4RFoGGf6ApL1HK0dIB3aSQL3l4nKz41DTPBFxN5B8bOFdJjVD9uq5XiRGDHhQ6nG0J9KS0r14ZUaV2zaAhlF7puKWg1C/YSDeBtCBi8El+xpOUHZbbfwzYS+lwOd2sJcbaxkkhW/qgP031QO7AZDEpat/oUGPrwesgwz4n4QmSEwBi2aVRk41dnx1y6wZg+Q7r/sOaJhk2vZZlxX3SBuCzw/WlRfxQU/Jpjq6+jOqvA724mJZuk5cGrHyqov4RDI9WNOwxTsfWBIxr7GDXoOcWFgJ20apuOJ9vJrI1IUxjshLnk8mHeqKQEBF3rypJ6ub1f4kOk66Kp0x1Jqp
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(39860400002)(396003)(366004)(136003)(451199015)(38100700002)(31686004)(41300700001)(8936002)(66556008)(66946007)(5660300002)(8676002)(66476007)(4326008)(83380400001)(2616005)(478600001)(53546011)(186003)(26005)(31696002)(6512007)(2906002)(6486002)(6506007)(6666004)(966005)(316002)(36756003)(110136005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TUVvdG1ENFpuN0x4SERRWWt4N2pKak9FaGd6a0Z4VmZlZEZNNkY5Zk1XcDd4?=
 =?utf-8?B?KzR4UmVUdVlRQTZyczFxWUtKQXZTTFlNZ0NIRjdnWTlyUW8rZkloOXVyWk9V?=
 =?utf-8?B?aTlSMGpvRG5UMkRjaGRMVFZnbnNyTlpuSWVuR1FtVVpsOUV2Z3o5WHp1MnRx?=
 =?utf-8?B?VGFxRHlLSUZNUGJaTkcvWWI1aE5IeEFQN0NHRlNNWmRnU2hUTENiVHRsclV2?=
 =?utf-8?B?TjlIcjFMSi9JeFBUWDlrS00yY2lnKzFnWHhJSmlUYTdJL3hZYmMwYlR0bUsw?=
 =?utf-8?B?Y3hPSHZjVFdrdi9HVytTbHdYSUxWSGRQNUFBNGN5eEtsQ3h3ZE0vRndGYklT?=
 =?utf-8?B?Q0lxVUFXUTNMYkR5YUpBb1o5V2U4ZmJNRUpocDZ1NU9xWTJuQ1NyakVMUnhP?=
 =?utf-8?B?RXdVNEpYRGY3TG5BeEUxN0E2ZzNZTWRsaTdVdC84aUtRWXBpNGdaUzZCektj?=
 =?utf-8?B?VHNZS2tiU00zRUwwSkxrU0FWWFlpN1N4RG5JTnhhTDFHYTRsOWNNa2NXdnhP?=
 =?utf-8?B?K3VPMEtlMVVLRmJjTEx4OXhBb2l5RnZjT3pDSTFjZ0JxbHl3WStaazhweE5D?=
 =?utf-8?B?Mm1NSS9VclRKT3ErS2FtdzBJUUlxWHJHMFhDZGdDQ0VNdm5Xd2ZuNDcrQ1kv?=
 =?utf-8?B?VTNNay9IWFJKb09JNWFRUENEd2NoS3RlT1F1dU1wYXhDNHdBQnBNU1c1T09l?=
 =?utf-8?B?TlRrZDloY2RJTjZlWCt1endWd1lKM2N2WVNZN0k2Nm9tVEIrOHBFK2hINzB5?=
 =?utf-8?B?SStuejYxcTc4VW9DVVR6TWNERUFtemh0VC9OdHgyMkZWZFdDNFlCcytRQ0VB?=
 =?utf-8?B?Q2U5WnlRUHpkSkZRQjZvVlVrZVZnaGxEcGtsbCtDZkU0NWsyMkRUZ3VKL1M2?=
 =?utf-8?B?UmpjTE53WDlDSStVd3lrSGxuSGxVeTVCb2lEZE1YMVQ4K0Fjb3hHdjREcVRo?=
 =?utf-8?B?cUJvdHpKS0hpTGVlVGlyTDBXRjVRTzRyb2psbWxoaTgzYWJCa09PamExL24x?=
 =?utf-8?B?YnZqQVpXUFhnbFNNVDZVZytzMVU4aDZQQ082YTV0c3lHY0tSOGlLZlhDeGNt?=
 =?utf-8?B?Y09GMW0wcURIMzZHcjI2b3hkOHFKWWRCMEtTRVUwSDhSZlY1T2RwQWgwVWM2?=
 =?utf-8?B?NDhzR0Nmb3ZtY25LdStSdzFrVmptRnlXcDBmSkZlN2VxN0NuMWJZdFVlYU5h?=
 =?utf-8?B?Q1FnaWRoMldna3EvSHVwdDA5WXdFb3Z3STZMaFh5WDFMQ3lILzV6cHZpbUZS?=
 =?utf-8?B?NEI1ZVdJNzNXNVJPWjM5ZXdEV0lmdW5mOVdPUWcyNFFPMTdlRHpXRWFvVFdl?=
 =?utf-8?B?TmRxV3J2QUJpWm5TMVlnZ0lHbmd6SURMSS9sVTJCalJCQzliOW5LeFNuZTNo?=
 =?utf-8?B?Z1RJckFURnliMktPN3A5N3VFVDl2VnB5NEZWK1d5eWRZVlY3aWE1Qk1DUWl1?=
 =?utf-8?B?SUF1NWUrbER1T3Fzd0taZ0dzM1ZWVWxDbHg0R3dYeUF0S0JDazZiMVJYZ004?=
 =?utf-8?B?cjVQTDZWbVRXUmpZQzNzU0tNMWg4SWlTejFBYWVzUE1HVW9IY1FiaXpQYmJ5?=
 =?utf-8?B?UEsxdHNJVnZBQjB2ektNRFIrZ3k3azVReTgrWUs0cnlDbitib3c4b2NqRzA0?=
 =?utf-8?B?Z0Vod1VZN0Q1c1ZGcG9rWjVWWVFheWVOMEJyOEhzazMyeTZSRnppMzY4VXFM?=
 =?utf-8?B?VThRTVJhM2xuSWtWNTZLcXJ4VXM2MitrUWs1d2N0dWtsVCtheklRQjBRTEhO?=
 =?utf-8?B?NFVIcmY5MXlXVWdVNCtsNitIeURhUTk0MkpxZnl5UHpDcFhFaGM5TmhSaFl0?=
 =?utf-8?B?WC96bVpwcTByRUxrM3Z6VmpTVVpyQUh4ZWtUcnkxbE5EWHltNHZvWjFvenpN?=
 =?utf-8?B?TGcxZmM3Y2lKWG8zeExtVlR4c01sdlZhR2kzTDYxZUJGRTlIenBoZGc5d2Ny?=
 =?utf-8?B?VDV1MnFuVU9CZHJUTzlORzRsenplUVNLVUI0TFV5RUhpbXl6cFJTQlM1Q2dV?=
 =?utf-8?B?N2sreWJZRTJWUGVqd3hlQTJncmFxN0toZGhKcWxRdzM3Mjl0WXBoOUtld1FT?=
 =?utf-8?B?N1FUdXBLMmFLZi84SXhXeHdNdFg1TXFhdlMxZUkwYWRYRGFjcHhtZno4Y3hV?=
 =?utf-8?Q?XpdmG2fbQTxAXH9IC8uVC6zcD?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c117f5f-1f1d-42cb-d09e-08dae288f70f
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 12:51:51.6972
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ooEZJsRPbDkoiIdM9XZw6fJJUlB/2QYExTMicYkRntVAbJhRCCRvp8bITVr0Gtgr1sh+enn69aVsDw1oYIpaBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5914


On 20/12/2022 12:14, Julien Grall wrote:
> Hi Ayan,
Hi Julien,
>
> On 20/12/2022 10:44, Ayan Kumar Halder wrote:
>>>>> +
>>>>> +    /*
>>>>> +     * Currently, we support uImage headers for uncompressed 
>>>>> images only.
>>>>> +     * Thus, it is valid for the load address and start address 
>>>>> to be the
>>>>> +     * same. This is consistent with the uboot behavior (Refer
>>>>> +     * "case IH_COMP_NONE" in image_decomp().
>>>> Please make it clear that you are referring to uboot function.
>>>
>>> Could we avoid to mention the u-boot function? The reason I am 
>>> asking is the code is in a different repo and the function name can 
>>> easily change without us noticing (so the comment would rot).
>>>
>>> Is the behavior documented somewhere in U-boot (or online)? If not, 
>>> what's the guarantee that it will not change?
>>
>> I could not find any documentation which states this. I found this 
>> from the following in uboot source code.
>>
>> https://source.denx.de/u-boot/u-boot/-/blob/master/boot/image.c#L458
>>
>> AFAIU when kernel_uimage_probe() get invoked, the image has already 
>> been decompressed. So, I added this as a limitation.
>
> I e looked at the U-boot code and, AFAIU, the check is merely to avoid 
> the memcpy() if the image start matches the start of the decompression 
> area. So I don't understand why we need the limitation in Xen.
>
> Now the lack of documentation (or at least I didn't find any) makes a 
> bit more tricky to understand what the fields in the U-boot header are 
> for. I have skimmed through the code and I disagree with the 
> implementation you chose for Xen.
>
> The comment for 'ih_ep' suggests this is the entry point address. 
> That's may be different from the beginning of your blob. I think this 
> is what ih_load is for.
>
> So I think we want to load the blob at ih_load and then set pc to 
> point to ih_ep. This will require a bit more work in Xen because the 
> assumption so far is the entry point matches the start of the blob.
>
> Please let me known if I missed anything.

I think you are correct. I will rework this to correctly handle load 
address and entry point.

- Ayan

>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 13:00:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 13:00:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467010.725999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7cEZ-0002FW-Io; Tue, 20 Dec 2022 13:00:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467010.725999; Tue, 20 Dec 2022 13:00:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7cEZ-0002FP-E6; Tue, 20 Dec 2022 13:00:39 +0000
Received: by outflank-mailman (input) for mailman id 467010;
 Tue, 20 Dec 2022 13:00:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7cEX-0002FF-WC; Tue, 20 Dec 2022 13:00:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7cEX-0000Ci-Ta; Tue, 20 Dec 2022 13:00:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7cEX-0005ts-Cb; Tue, 20 Dec 2022 13:00:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7cEX-0003KH-C7; Tue, 20 Dec 2022 13:00:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=803hN7cd0/M7tkHRPpp1ba0j4Xj3MZqFq7kA31GpaBg=; b=eSrL+/pgyTEJf/cMWBZQ5x37td
	00DEIn8fQJEk8BGnMl193bKfn3O4ahIg+6yL/2p+DFqTT5zkZsfxs18dVIrSHeZCnd3K10V8otAD0
	isymDjcLzlhefk3WXnzdzpoeFzmQCq6FaNoXTNCEm9j8GM1laQiohtKEHYq60Cl8aqKA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175411-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175411: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-shadow:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-linus:test-amd64-amd64-libvirt-pair:<job status>:broken:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:<job status>:broken:regression
    linux-linus:test-amd64-amd64-pair:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-credit2:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-pair:host-install/dst_host(7):broken:regression
    linux-linus:test-amd64-amd64-xl-shadow:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-libvirt-pair:host-install/dst_host(7):broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:host-install(5):broken:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=aeba12b26c79fc35e07e511f692a8907037d95da
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 20 Dec 2022 13:00:37 +0000

flight 175411 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175411/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-shadow      <job status>                 broken
 test-amd64-amd64-xl-qemuu-win7-amd64    <job status>                 broken
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm    <job status>   broken
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm    <job status>            broken
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>               broken
 test-amd64-amd64-xl-credit2     <job status>                 broken
 test-amd64-amd64-libvirt-pair    <job status>                 broken
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm    <job status>      broken
 test-amd64-amd64-pair           <job status>                 broken
 test-amd64-amd64-xl-qemuu-win7-amd64 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-xl-credit2   5 host-install(5)        broken REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-pair       7 host-install/dst_host(7) broken REGR. vs. 173462
 test-amd64-amd64-xl-shadow    5 host-install(5)        broken REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 7 host-install/dst_host(7) broken REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 5 host-install(5) broken REGR. vs. 173462
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                aeba12b26c79fc35e07e511f692a8907037d95da
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   73 days
Failing since        173470  2022-10-08 06:21:34 Z   73 days  149 attempts
Testing same since   175411  2022-12-19 18:14:17 Z    0 days    1 attempts

------------------------------------------------------------
3164 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           broken  
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        broken  
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 broken  
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    broken  
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         broken  
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  broken  
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        broken  
 test-amd64-amd64-libvirt-pair                                broken  
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   broken  
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-shadow broken
broken-job test-amd64-amd64-xl-qemuu-win7-amd64 broken
broken-job test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-i386-xsm broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-libvirt-pair broken
broken-job test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm broken
broken-job test-amd64-amd64-pair broken
broken-step test-amd64-amd64-xl-qemuu-win7-amd64 host-install(5)
broken-step test-amd64-amd64-xl-credit2 host-install(5)
broken-step test-amd64-amd64-xl-qemut-debianhvm-amd64 host-install(5)
broken-step test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm host-install(5)
broken-step test-amd64-amd64-pair host-install/dst_host(7)
broken-step test-amd64-amd64-xl-shadow host-install(5)
broken-step test-amd64-amd64-libvirt-pair host-install/dst_host(7)
broken-step test-amd64-amd64-xl-qemut-debianhvm-i386-xsm host-install(5)
broken-step test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm host-install(5)

Not pushing.

(No revision log; it would be 475347 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 13:07:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 13:07:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467022.726010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7cLP-00031R-Dw; Tue, 20 Dec 2022 13:07:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467022.726010; Tue, 20 Dec 2022 13:07:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7cLP-00031J-AQ; Tue, 20 Dec 2022 13:07:43 +0000
Received: by outflank-mailman (input) for mailman id 467022;
 Tue, 20 Dec 2022 13:07:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7cLO-00030b-Bh; Tue, 20 Dec 2022 13:07:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7cLO-0000L1-9B; Tue, 20 Dec 2022 13:07:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7cLN-00066H-RP; Tue, 20 Dec 2022 13:07:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7cLN-000262-QX; Tue, 20 Dec 2022 13:07:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=c3imJXKBvYdpRbbgRTgLipdD2XRT7Fft9MCnyYZNeoE=; b=kPXGVfjItqABDPx/rH46wATHqq
	oLI0MdqgP4XAHFsrYSz7/GC8t542qWvPZAtwXp792jLTb0C2lz5jYys0UoySb4+syCCFsRU3IsybS
	i8RtUMd1cjmwwztkTLRJYxXAoeIE14CrC4FBa2394mnhgxaPtE/b4TP07Lzhy5P+a5vc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175422-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175422: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=0fc5fa9333b21122c6e77fa42f5683e31c81bbe5
X-Osstest-Versions-That:
    xen=f1b9a28922d2913dda76fd82b0b79f3651d3fc8d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 20 Dec 2022 13:07:41 +0000

flight 175422 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175422/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  0fc5fa9333b21122c6e77fa42f5683e31c81bbe5
baseline version:
 xen                  f1b9a28922d2913dda76fd82b0b79f3651d3fc8d

Last test of basis   175415  2022-12-19 23:02:04 Z    0 days
Testing same since   175422  2022-12-20 10:02:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Stewart Hildebrand <stewart.hildebrand@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   f1b9a28922..0fc5fa9333  0fc5fa9333b21122c6e77fa42f5683e31c81bbe5 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 13:41:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 13:41:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467032.726020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7csB-0007LL-VJ; Tue, 20 Dec 2022 13:41:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467032.726020; Tue, 20 Dec 2022 13:41:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7csB-0007LE-SU; Tue, 20 Dec 2022 13:41:35 +0000
Received: by outflank-mailman (input) for mailman id 467032;
 Tue, 20 Dec 2022 13:41:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7csA-0007L4-Td; Tue, 20 Dec 2022 13:41:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7csA-00012T-QI; Tue, 20 Dec 2022 13:41:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7csA-0007BY-Cv; Tue, 20 Dec 2022 13:41:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7csA-0003YC-CU; Tue, 20 Dec 2022 13:41:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EryLHQuBmy8s0q5YNIyDvbMnW6KrG9ffbNcIrj3/Qao=; b=A0ohCa1zORNyMJc+OxelvbxlN5
	mhqQLyQppQpp5WuaqcQY21ablpu3bxVKrbKHaMat/nrgAcHcNd0j4V1IgO5pngUG4AETYQaEgxORQ
	EWcwthREE7wq6Gt0TveKScNw4HeAtNHF+7YUtcpYvKCUnN77UQpXqqlC5M1rod46rIUQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175412-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 175412: FAIL
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:<job status>:broken:regression
    xen-4.13-testing:test-amd64-amd64-xl-pvshim:<job status>:broken:regression
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    xen-4.13-testing:test-amd64-amd64-xl-pvshim:host-install(5):broken:heisenbug
    xen-4.13-testing:test-amd64-i386-qemuu-rhel6hvm-intel:guest-stop:fail:heisenbug
    xen-4.13-testing:test-amd64-amd64-pygrub:guest-start/debian.repeat:fail:heisenbug
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:leak-check/check:fail:heisenbug
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=708e83f0e7d1e32295fee58c71c1e972d4e61f56
X-Osstest-Versions-That:
    xen=1151d260d7a0186978b80b708fcb712eb1470f49
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 20 Dec 2022 13:41:34 +0000

flight 175412 xen-4.13-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175412/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ws16-amd64    <job status>          broken in 175402
 test-amd64-amd64-xl-pvshim      <job status>                 broken  in 175402

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175402 pass in 175412
 test-amd64-amd64-xl-pvshim   5 host-install(5) broken in 175402 pass in 175412
 test-amd64-i386-qemuu-rhel6hvm-intel 13 guest-stop fail in 175402 pass in 175412
 test-amd64-amd64-pygrub 21 guest-start/debian.repeat fail in 175402 pass in 175412
 test-armhf-armhf-libvirt-qcow2 20 leak-check/check         fail pass in 175402

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 174675
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 174675
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 174675
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 174675
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 174675
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 174675
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 174675
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 174675
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 174675
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 174675
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 174675
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 174675
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  708e83f0e7d1e32295fee58c71c1e972d4e61f56
baseline version:
 xen                  1151d260d7a0186978b80b708fcb712eb1470f49

Last test of basis   174675  2022-11-08 18:06:48 Z   41 days
Testing same since   175402  2022-12-19 08:37:45 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-pvshim broken

Not pushing.

------------------------------------------------------------
commit 708e83f0e7d1e32295fee58c71c1e972d4e61f56
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 19 09:10:08 2022 +0100

    update Xen version to 4.13.5
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 13:52:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 13:52:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467042.726032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7d2D-0000TI-Tp; Tue, 20 Dec 2022 13:51:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467042.726032; Tue, 20 Dec 2022 13:51:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7d2D-0000TB-RA; Tue, 20 Dec 2022 13:51:57 +0000
Received: by outflank-mailman (input) for mailman id 467042;
 Tue, 20 Dec 2022 13:51:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7d2C-0000T4-9z
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 13:51:56 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2088.outbound.protection.outlook.com [40.107.104.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 44da24f4-806d-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 14:50:31 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8812.eurprd04.prod.outlook.com (2603:10a6:20b:40b::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 13:51:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 13:51:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44da24f4-806d-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y2+ISJgU1Usz0ovZMpTjkeIcKDhI6zDX0PAG4PZZ8ZJI1EYMA9Zwole/a+izKrdEYQP7OwlE2BQYwR9ljwUkuBlzdH2pv2yx+FsfAl9aR26GCW3t8iCqe5LwE6WWvmMboG4ZlRp0/QQdrouLH9hfeMd7+PEuIgWSWLwlWvoPgYCGTMu6u/UlMwKiuqI3+SjBgKoGNbpuqGo8qq/H6VVjigh94wi1YY6dUBJeXLClU4F98cduiBmO/gRY8jJonHU7eEDDIf33fNbLjy1dbR2LvJMjhzADcihlBXaaLBve+l9nTmVN3BnSuAEM8+DRNe1GJzHOZxOOfccbvspoDVMWoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S0JJ7mdeFF87HmaZxR78Gl7ztlZg3kfl726JkMjy8P0=;
 b=QNix0ER7wBJvs79mOzNODJdBrgVNUhi3lvZhHSlQ3FtT5XBlawWUT9lOE4IXiGXAC5c8i2q6pbfiUGjCfSXbmwZS6i+IVQPcJetnhPZxuiyMQ5IIoW5t9/N+UDAH8pnEh4dpgRAhoAxjCYUBrHgHHBESrPsW2zmIr0znbF78WTdiZ+08d2lhkJhjay4cjZCVBHN1UZyNFa0Y3IHE9kY3DpHTO6+5YJj07fDCKA6Y+u5d8qk9ExeK/OwbuRNFfiHiyTh2tjaROTeHfaVVZPBFKQM8UL0ufekAfGSyuD4S9GJVd2cUKDzQY9485MZDLvwrPI1p+GhJHvOBuyw+CHH+OQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S0JJ7mdeFF87HmaZxR78Gl7ztlZg3kfl726JkMjy8P0=;
 b=vQQvXD/Ux+jpDb/eoJSJqQIVgeKBGgJKGP7iGIg4HXPboat3q1OrpnIVfO2PPAjv7TIPQxAgjzshvV/FA2u5T+sbfV62rQcYJx26xxV7MEUh7UjG/mH+VtA06IIA4x8B4ppkwbVKBUIBjb8vAGLn9fOaE7qLdrBl/u0fYNL/1NRA5ECNv7FeJE8Kq65YvcW66t8s83JxHtuD9wJQ4HZig8U0giVrRV7BUJRhBkv4DHr8GQgkpaKHUaAi7VMOoutWtuB6zvKteaAT5PO+mozBN80LHATDROhN651cWjRUampjFzTLOAHWDAipdqoD+S915x08Q1wRFctwLph2zrY3xg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <520cdde9-07e1-fce8-56d9-205fc31c62e3@suse.com>
Date: Tue, 20 Dec 2022 14:51:50 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v2-ish] x86/boot: Factor move_xen() out of __start_xen()
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20211207105339.28440-1-andrew.cooper3@citrix.com>
 <20221216201749.32164-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221216201749.32164-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0136.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8812:EE_
X-MS-Office365-Filtering-Correlation-Id: 2fbf3e24-27b4-4cf8-c15b-08dae2915976
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k52U0SE5M9oUFAC6uKJzREds3EYZisdoXHbeVgc9m0eT4lZVRkQAHVv/E78tL+5rHXvd44UdfKKLVStvWmgvOqWdOda4aD5hHvc30EUy19w+LuoHr0pJLXzuU9mQJNLqGaCqSGEsYhkTnODTNeurR2J0RHz/LsvGwsZG+X4E4lLT5g3bQtPJBq3JmStLgl1zzX/DlTeIHCasI7/tcxe2wuwmFm7yhiAWrs2us67N4BtPVc7F+LDwiMkOkO6Vkq2UjfKMyVrykSWLRfbGe5U6z6sUW0MSsDfdIZCKPGdZUcrK6+47hfP+nHvCYHBiblk20EGU6gXsIxR82MDS5JJRsNMh/p814+CLZRiYT7P1BRqUfqp0dTmmoJbMXc9rCfP9iY3uMkpm/WyEsPJDfciHBFc9TI237yaqpHainKtooGRdsi9HzvdtKtujfs5HJkR1eZ9xcx1tMZdeErfznZ84UdHGwzEFgBtdsKgMYoGGpw02ZEeuH+bRVWd+tNZ8+sf9gMjvEpv6b1/THipegCR8J1NtHKA9h03cXTRA5klI3l3DBFk+gYgqdfesP9CxDdDDzbeXhqep/VTYuO31uJPdgUesAsKMcowZed/J0xWHGsQbxd7qa+UremCcYITnqzWPmNOKqYLP9OhIv9+fNcLJ/o9qyHEDVxf5yVp5/PHX1dRpUGPQfpG/GagA/SsC309KKv1pzbesYk8ckbHpRHCfpdQInE/Sbpav8jQleCJwWLc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(396003)(346002)(376002)(39860400002)(366004)(451199015)(6506007)(6486002)(478600001)(36756003)(6512007)(53546011)(186003)(2906002)(26005)(8676002)(41300700001)(4326008)(66556008)(66476007)(31696002)(66946007)(83380400001)(5660300002)(8936002)(316002)(6916009)(54906003)(38100700002)(86362001)(31686004)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RjdnKzhhSVVVZ3RnaEU0OG5ZaFQ4MUJ6Mld6T3hKeGlxSk81ZjMrbkFSZW4r?=
 =?utf-8?B?ay9Ham1GMFFMMXhkK3dQeTNPNHJHajAwTzhlUnNRZ0J2ZFJ2U2tBUEN4dDI3?=
 =?utf-8?B?bVM4WStKVTBmRnF6Y3FaQkZJTEhCTGpFM3orQ3BEY3RhdFBMNGNFZnZHSWUy?=
 =?utf-8?B?OVJGRG5pSlIvSDZvWTNvdnVYbloxWWhLbmFMTVJqWVRLZ0RPTkZwdnVmbU9K?=
 =?utf-8?B?MmtnNDNpQ2xqZDgySDh3eHRDSVhXWnliUzRGRHF0R1ZBcGYxb0VnWjhDeGJp?=
 =?utf-8?B?dDc0S2wzcVJXRHpYVmh3R3V2bHA2OW9UbTFjRktid01WcWhQNVNrWWIvYW8z?=
 =?utf-8?B?N1JPUE9oTlEyZjVqTlJicUFXdGxHbkFISzNsazN1UkpNTHRWNFVYSVRlaWQ2?=
 =?utf-8?B?Z3VRU1A5RDlEVmVqRkRqblJvMnNmSS80TDloTGtLa0c2cWZZMTZoTEo1VUdr?=
 =?utf-8?B?L3luNm1GRjlDS2NSSEI1VXJJaTFVMWVMNnBrTktmdHJaUlpIakw5NjlsR0pP?=
 =?utf-8?B?RW9UZ0hCaHZVL1F5a3dnTG5tTlNydXBpQWsyOS9JWSs1R01WUDVtTDZmcjlq?=
 =?utf-8?B?MFVMaFlicDdNNHZFOU8rakFsdnY0eEg4UFBwc0pBdFc0KzVaZVFZT05UOVRn?=
 =?utf-8?B?NVRMTUJTdEIyRjc2N04xQ0dVL1UyOGYva3lJa2lxaEtPOEdvWmh4Q3NpZkww?=
 =?utf-8?B?Y29VOVNOa2oxRnZwZ01zeFkvZXRnWjNLdGhGeExHelRMNlpuL1JkTm4vcWt2?=
 =?utf-8?B?eDRlTld2eWNpYjRFVHhrbWJjL2wvUEgraGxnK0hUZVkxUkQwVFppanlPay9n?=
 =?utf-8?B?OVpnMHJjd29objZBUGZjcGlUUGhac3dUVTE0amZQcytHVlE0L3VKajZncXUw?=
 =?utf-8?B?ZWJneGJPR29ZZVBFVTZnMy9WWlhQKzVIUVUybzdFb2Q1RmtQY05MUmNmREd4?=
 =?utf-8?B?c3FjN0VMZ3I4ckRvTk90MTlwS0tlc3dFOXMrVVBpTVhMVlA4ZEJkamUxY1lT?=
 =?utf-8?B?ckdyMnVGK09qWHVxd0pWZk13cjVyY0RMQUpVUlIyL29GRmZpVmN0MVJvaXZV?=
 =?utf-8?B?Nm9ySEVsUWJJTDlhLzQ1K1hqZkFBTTBsdkJLMjJ3SmhHdzVtbkJKVkVES09t?=
 =?utf-8?B?VE9iUkZJVS84bDd2L24yYlAyZ3pJYXhuYzg3V0lsa21nNnhiNTI5TC9GSVFB?=
 =?utf-8?B?dE1rUXRDMGs5Q005djVBZkhRT3dhTC8yaTVMWWxLcjd0ekl2NUlkalRRWmFj?=
 =?utf-8?B?MHVxU0drTjluQWlmQlVzZGJLVVNLY0ZHaVZTWXlzajIvSXFIVFlQRDBzeGJj?=
 =?utf-8?B?VWczelRiaE5IRXhjZERIcWJhWnUrNWZzY1FDYU9wZUZxdnpERFR4Y1FnMUgy?=
 =?utf-8?B?cE04eUszSFY5cGwxdkNHNmR6WHFRR0gycU0vampidk05R1ZlM0xTSmZXa3dx?=
 =?utf-8?B?OGhMMXNNNUpFYU43VXBHOElhTmM0cGpqaWltUktFb2c3bnRqR3NPVWpzQ2JM?=
 =?utf-8?B?SExNTVdISE9va3htSlZBRXZSTlBjTW5OM3dPUjhqMitPazlrUUR5WlVudk5J?=
 =?utf-8?B?aEVLNm84eHovUWNoYkR5Tm9ManFxL0U1S3pwNjlJU0RTTHBZZXhGTWV6d2J0?=
 =?utf-8?B?OEIrWFl3ZGY2M1k5TG1ZYmdPYVB6Ty96Z2JWS3crd1VjUjdOUXBLVnFVZ1ZU?=
 =?utf-8?B?UjUwTitncjNwOG9Bc3dvSy9HU3M5RkYrWlFucTNsYTkzQWlONTQrcmNXSzh4?=
 =?utf-8?B?ZTZVa3ZzQlhIelVQSU9pdHFWeUlYdTNHQ0hOaGRZQWY4RmlXejQ0a3djSjI5?=
 =?utf-8?B?V0Fnb1lBM0JPZTkzaXd4eUJBRDF1cGZCWjBtUDVQNjdUUy9ZMVJHL0Q1ZklT?=
 =?utf-8?B?bnQ3bnI5SW5tRjM4UzdGcHIvOXYwa0o4czR6OUY5UWpmQW1OM21vUG5SRVU4?=
 =?utf-8?B?bi9IMXJOL3lrM2tNMVpVYnhhY1RMK3ZhcFlXeDZuWmdmWlBjOFVtWE1vMjA4?=
 =?utf-8?B?VFBlNFcwZDQ5L3g5YkxRNm1qNEhXTGFiYSthZWN2UW42Skg0Z0dSK2RWSVJq?=
 =?utf-8?B?bitMblJ4MnMzRFlhWkJ5SGF5ZmoyTit0c1ZwYWV2QTZVdHlUUmxrTXU1VUJC?=
 =?utf-8?Q?jLv6IKDI+9uABah56s0TT9i3s?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2fbf3e24-27b4-4cf8-c15b-08dae2915976
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 13:51:52.6842
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QWcNVuNN7Q9H9hRq05DQ0cJjQvvDvSoRYstvyG8yqaABTEkWqDrIfNAs7s4EWsLsh4HimAz0qHoNCjxPOq5qew==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8812

On 16.12.2022 21:17, Andrew Cooper wrote:
> Partly for clarity because there is a lot of subtle magic at work here.
> Expand the commentary of what's going on.
> 
> Also, because there is no need to double copy the stack (32kB) to retrieve
> local values spilled to the stack under the old alias, when all of the
> aforementioned local variables are going out of scope anyway.
> 
> There is also a logic change when walking l2_xenmap[].  The old logic would
> skip recursing into 4k mappings; this would corrupt Xen if it were used.
> There are no 4k mappings in l2_xenmap[] this early on boot, so assert the
> property instead of leaving a latent breakage.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> 
> We probably want to drop PGE from XEN_MINIMAL_CR4.  It will simplify several
> boot paths which don't need to care about global pages, and PGE is conditional
> anyway now with the PCID support.

Perhaps, especially if - as you say - this allows for simplification.

> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -467,6 +467,113 @@ static void __init move_memory(
>      }
>  }
>  
> +static void __init noinline move_xen(void)
> +{
> +    l4_pgentry_t *pl4e;
> +    l3_pgentry_t *pl3e;
> +    l2_pgentry_t *pl2e;
> +    unsigned long tmp;
> +    int i, j, k;

Can these become "unsigned int" please at this occasion? (Perhaps as
another reason to make the change, mention that the old instances of i and
j did shadow outer scope variables in the same function?)

> +    /*
> +     * The caller has selected xen_phys_start, ensuring that the old and new
> +     * locations do not overlap.  Make it so.

As a non-native speaker I'm struggling with what "Make it so" is supposed
to tell me here.

> +     * Prevent the compiler from reordering anything across this point.  Such
> +     * things will end badly.
> +     */
> +    barrier();
> +
> +    /*
> +     * Copy out of the current alias, into the directmap at the new location.
> +     * This includes a snapshot of the current stack.
> +     */
> +    memcpy(__va(__pa(_start)), _start, _end - _start);
> +
> +    /*
> +     * We are now in a critical region.  Any write (modifying a global,
> +     * spilling a local to the stack, etc) via the current alias will get lost
> +     * when we switch to the new pagetables.  This even means no printk()'s
> +     * debugging purposes.

Nit: Missing "for"?

> +     * Walk the soon-to-be-used pagetables in the new location, relocating all
> +     * intermediate (non-leaf) entries to point to their new-location
> +     * equivalents.  All writes are via the directmap alias.
> +     */
> +    pl4e = __va(__pa(idle_pg_table));
> +    for ( i = 0 ; i < L4_PAGETABLE_ENTRIES; i++, pl4e++ )
> +    {
> +        if ( !(l4e_get_flags(*pl4e) & _PAGE_PRESENT) )
> +            continue;
> +
> +        *pl4e = l4e_from_intpte(l4e_get_intpte(*pl4e) + xen_phys_start);
> +        pl3e = __va(l4e_get_paddr(*pl4e));
> +        for ( j = 0; j < L3_PAGETABLE_ENTRIES; j++, pl3e++ )
> +        {
> +            if ( !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) ||
> +                 (l3e_get_flags(*pl3e) & _PAGE_PSE) )
> +                continue;
> +
> +            *pl3e = l3e_from_intpte(l3e_get_intpte(*pl3e) + xen_phys_start);
> +            pl2e = __va(l3e_get_paddr(*pl3e));
> +            for ( k = 0; k < L2_PAGETABLE_ENTRIES; k++, pl2e++ )
> +            {
> +                if ( !(l2e_get_flags(*pl2e) & _PAGE_PRESENT) ||
> +                     (l2e_get_flags(*pl2e) & _PAGE_PSE) )
> +                    continue;
> +
> +                *pl2e = l2e_from_intpte(l2e_get_intpte(*pl2e) + xen_phys_start);
> +            }
> +        }
> +    }
> +
> +    /*
> +     * Walk the soon-to-be-used l2_xenmap[], relocating all the leaf mappings
> +     * so text/data/bss etc refer to the new location in memory.
> +     */
> +    pl2e = __va(__pa(l2_xenmap));
> +    for ( i = 0; i < L2_PAGETABLE_ENTRIES; i++, pl2e++ )
> +    {
> +        if ( !(l2e_get_flags(*pl2e) & _PAGE_PRESENT) )
> +            continue;
> +
> +        /*
> +         * We don't have 4k mappings in l2_xenmap[] at this point in boot, nor
> +         * is this anticipated to change.  Simply assert the fact, rather than
> +         * introducing dead logic to decend into l1 tables.

Nit: "descend"?

> +         */
> +        ASSERT(l2e_get_flags(*pl2e) & _PAGE_PSE);

The warning about the use of printk() around here could make one think
that using ASSERT() (or BUG()) is similarly bad. However, aiui using
printk() isn't by itself a problem, just that the log message would be
lost as far as the circular buffer goes. The message would be observable
on the serial con sole though, at least with "sync_console". It is on
this basis that using ASSERT() here makes sense. Perhaps the printk()
related comment could be slightly adjusted to express this?

> +        *pl2e = l2e_from_intpte(l2e_get_intpte(*pl2e) + xen_phys_start);
> +    }
> +
> +    /*
> +     * Switch to relocated pagetables, shooting down global mappings as we go.
> +     */
> +    asm volatile (
> +        "mov    %%cr4, %[cr4]\n\t"
> +        "andb   $~%c[pge], %b[cr4]\n\t"
> +        "mov    %[cr4], %%cr4\n\t"     /* CR4.PGE = 0 */
> +        "mov    %[cr3], %%cr3\n\t"     /* CR3 = new pagetables */
> +        "orb    $%c[pge], %b[cr4]\n\t"

I understand you need %c to apply the ~ in the operand of ANDB above.
But could I talk you into keeping things as simple as possible here
by using plain %[pge]?

> +        "mov    %[cr4], %%cr4\n\t"     /* CR4.PGE = 1 */
> +        : [cr4] "=&a" (tmp) /* Could be "r", but "a" makes better asm */
> +        : [cr3] "r" (__pa(idle_pg_table)),
> +          [pge] "i" (X86_CR4_PGE)
> +        : "memory" );

The removed stack copying worries me, to be honest. Yes, for local
variables of ours it doesn't matter because they are about to go out
of scope. But what if the compiler instantiates any for its own use,
e.g. ...

> +    /*
> +     * End of the critical region.  Updates to locals and globals now work as
> +     * expected.
> +     *
> +     * Updates to local variables which have been spilled to the stack since
> +     * the memcpy() have been lost.  But we don't care, because they're all
> +     * going out of scope imminently.
> +     */
> +
> +    printk("New Xen image base address: %#lx\n", xen_phys_start);

... the result of the address calculation for the string literal
here? Such auxiliary calculations can happen at any point in the
function, and won't necessarily (hence the example chosen) become
impossible for the compiler to do with the memory clobber in the
asm(). And while the string literal's address is likely cheap
enough to calculate right in the function invocation sequence (and
an option would also be to retain the printk() in the caller),
other instrumentation options could be undermined by this as well.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 13:56:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 13:56:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467053.726042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7d6U-0001Dl-Jp; Tue, 20 Dec 2022 13:56:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467053.726042; Tue, 20 Dec 2022 13:56:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7d6U-0001De-HD; Tue, 20 Dec 2022 13:56:22 +0000
Received: by outflank-mailman (input) for mailman id 467053;
 Tue, 20 Dec 2022 13:56:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7d6T-0001Cz-2u
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 13:56:21 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on2048.outbound.protection.outlook.com [40.107.6.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 147205b2-806e-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 14:56:20 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6976.eurprd04.prod.outlook.com (2603:10a6:803:130::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 13:56:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 13:56:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 147205b2-806e-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DOnY/vSZEXO6JDHof8AlbcgsMmUnuS39iqWIasuLvd5Xw3wAG0BE8yz4YeGZriPAXF5dJSfj1m4yfk09W7JkKpiqFJQZKAIJU2R3UShQd6dVRRWAw/utLojZ1vDJjxlkFWxXIuQbBVWU4gFrTWymoNtVdMnD+GgXBhnW8EYoyJExAMft6/t205ugK9TQgcdL9opOtBE9PXJXZi+nI/4p7bBggA9OUUXidP2J08X+uRFdBlVu6AKIkr0wkR6uDMwHJf1diqVZhQUcmH9veFbJovUJ49HHV4k54JRPg/0rmIm6K120l0953U+WzHcpvcNpVxwZ/OgGR4p1CkbunDh7KQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IZ31w3lhrZVNvOvtH6RU+qBBkb2EY/fUiZ/rB9hGLVM=;
 b=D6qjKTVzIYv9lpftRLeL2oqiHDjUEhqfJOonmifT+TeNSZ/Y3rW2yamr74BhbJrLhm+fDI/G4vYVDwS2Q6hyseybAkYhzQooN5ZmunBKukMDLd9zwudg/ukzNHkNub8CFudb/nidIEYPEscd1uDTS3P4x8BjXl6nybkwyxSU1/5IBfHPgJbuP/gPxCGzbrSiskay4cFviIXzurg4nR3t8W1T4ZyTlHm0GdMQKmJNTa8R2AyvDaofaxWhpJcmEb5XEqZervYK4K00o/pbCb/cJAwEmya3VfCfL96sbrpszIz7cYyQGV90HG2DFRDzJsn7ip/7KyVpQaXem9CzjajjAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IZ31w3lhrZVNvOvtH6RU+qBBkb2EY/fUiZ/rB9hGLVM=;
 b=jZNjhryNenH4yAfMcBGiXHDm8wzoZwDPZj7bh2XOQwA8h/cYv9kZaGR07ih+wCbQYrnBNC3hoBEnr21QdqExxF3St0NCfTtqG7sIPOdWtPgY4hDRSIs9c7ZFnah29ZzgG0ZkGAMsI1YF/Dhwk4yhLctQtV8xknL2dJgp1iyM3NqJmsTCims5IShSTlNSbV0gTuD+EEzo+jKpd5LM564DPHWptToJlzZ7TCUAUGO1DoVZJkb3OBmMihuOLwRS1USJwhZKzAxMdDx3MNebe4cfb8/pS/WeoGL1bncgqPtLwTBcpyKRy6qFCTwXk7wFhUZJl9zKdRmx4UvNBDf1ccbQJA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bcf75dde-89d1-b97c-dec9-ad8f4a370765@suse.com>
Date: Tue, 20 Dec 2022 14:56:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v2 1/3] xen/multiboot: add proper struct definitions to
 typedefs
Content-Language: en-US
To: Sergey Dyasli <sergey.dyasli@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20221219144533.19836-1-sergey.dyasli@citrix.com>
 <20221219144533.19836-2-sergey.dyasli@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221219144533.19836-2-sergey.dyasli@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0131.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB6976:EE_
X-MS-Office365-Filtering-Correlation-Id: 5d7373f1-09a1-4a20-3d01-08dae291f744
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	A1Cc5jeqngktyiir25iwbGgjvuOfqbuaoIm3Dy2UxphClK0qWV/A1o6H/nVpGKrsFd8p+EW94LdujdI5cF4xy24rP99b1+4VyohCLyhxTZTnfj/c8M3SYlrG9hE7CNYfKfUdKDTKApz6RQJrYwbRbU8t/L1nX8u4EHVsGFODvfkE13Q9yPuDpDOYKzrBdPbw4auX2zfNr4g9B0mAlnj5bXUpQ4+nzAbRn9Uorre8YQmcz0xyL7iA/vR/Ns+c4R6tDzZhIyRMhiVIwA9M6XGnl111JIkZ8vdmbEdOo9jg8ywnK1K+OPxJuaeESM8+eyN+P8vuIEPM8XVwFMy1y5wL/dfG+35E9CMrqSpzRLv7rKuaB2tx4TNnK5TicIg6/13sBN5lS8+/DrHfuio7RD1EhBm+MdTxUTetue7eJCh5qdsKLMUBCYecHGXW4NzyoKfW7lJsOpF8D4xDjzh+CR02Y8QrLytW5htYVK0RspyC556jL8FxTy5bu61QURFvGqg36j1faWznzCD1NZKUNYFR40seHY9rRv92JXjiUFFryQ9g/Xni9deeh1UDO2j9jmayhTz3u44VB/bWwqLA36e7ILNYYrlXY+waIE+JQ2yLCeFhgGj2cSe09F08DkEyH9EyVWtOKQL6PUoiG3XVAJbV8qIU3pXzhmWUbChmiWcVpX4VCQDo1HtWyROrJl1rnh28W3O+idwH2+m9ywROuC3bqS7YZs5iyDULjE/v/W9GTCs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(376002)(366004)(39860400002)(396003)(451199015)(38100700002)(5660300002)(316002)(6916009)(54906003)(186003)(8676002)(4326008)(66556008)(66946007)(2616005)(66476007)(31696002)(41300700001)(36756003)(86362001)(26005)(6512007)(478600001)(53546011)(31686004)(6506007)(6486002)(8936002)(2906002)(4744005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OW02YkExWXJkRDBLdGgwaVpXUVVwVDVTQTNHK2VaSlJmb0Z2WW41dm9NZndT?=
 =?utf-8?B?WG42K1RPRllUZ08yNFVIL2RNamgvQlVLM0VuQWFVTG9vUDBFWG52ai9QTXpr?=
 =?utf-8?B?cjQxWGZpSW15bWc2dnZFeFY2U0o2ZFUyOWtLSmtjUDZJR3ljN1RYUWhGcTFr?=
 =?utf-8?B?ZWIyYzdpTUdVMVlHcHB2bGluaGRNaWloZ2tFZU9RVnM4RTZ6d1lwSXBTZVRK?=
 =?utf-8?B?ZHUvTFVseDhKczNBUmZMcmJyY1NxT1hwQkRDTUwwS0YzemR3NVoyRC9NQ1VG?=
 =?utf-8?B?QnA3OVpxMG9UYmE2aUoxNVpKd1gweTE5R1AxciszZ0pCNjZCUFg2b1N2ZS9E?=
 =?utf-8?B?MzU1T3dxZGJSeE1rYVR1ZzJ3TVVFV0hWNzUxQ2M1NGFLVi9Yd3VIbU9IVDM4?=
 =?utf-8?B?emUzV1llc2czK2JzTGdRcWMrR3lIK092dHdXZVlnWDA0emFiOXM2dzNqSFlT?=
 =?utf-8?B?REFSRmdzT1JIeXdqUElZOG8vbUpSUTc1VHRzM3QveDVBOVdRczVMVHR5b3ZX?=
 =?utf-8?B?Y1Z5eFprRUhRZjFZT1ppYlhLcGNGUG5pT0tMak54MzI2eWF2MlpyTkhTUjZp?=
 =?utf-8?B?cDd6S3VYcEVCN0NRK0JXbThNcUQxeE5oOVlEVWZCUUVCT1g4Z2p5aXJSMUd6?=
 =?utf-8?B?SnBGeFFhVjM5NzVWL0w4L1dWc21CMmZ6WHNrSDQ2L3lDMklmWUpxQjU4SGts?=
 =?utf-8?B?d0tmOUx5ek5GK0VUUU5WQktzV0FLR0pVR0RBdll1OUdUaWYrdHN6R1M2OUgv?=
 =?utf-8?B?OEJpYm1ueUF2Znludmw5cVErS2JxZTBxb1NnOFpwQjNkZ3M1ZEgwNGZzeFZW?=
 =?utf-8?B?VFhSaFhOZGpPeHFoL0dmbFNqOHNSYmsvNVN2KzhPbzVEZHB1Q3FONnEwWjdU?=
 =?utf-8?B?anR0QnN6Q1NrSUpYVEpmU0ZyMnRhTllaU01iUkNua2V6NDZYL1JMUi9hbG5t?=
 =?utf-8?B?akdQZnNvc3dOd1Y1YnBDakxuMW5tQ1FiRzZiZmhUKzFzTk4rY1ZqeWI4SHU3?=
 =?utf-8?B?aGR4N3l5SkVYTnB4MnMrQ1d0VGM0ZFN2NVE4REs4b3pwYXh5WHROczJRRlAr?=
 =?utf-8?B?OG9iZThpZ25HK1Z3Q1ZkZitmR29wM1BHTC9KMkhDNmxwamV6aEsrU3d0TE9E?=
 =?utf-8?B?UjJBRlU4aXNCZUljeWpONzdBaUxNOTNaVkZzd1RWN3NZYTcrOFZiR0ZMUm9n?=
 =?utf-8?B?K0xCMGJsS3VqYW8rTFAySWs3SWpCQ2duc0ZSNXpKK0JjUVRNUVYyRnFVRG5N?=
 =?utf-8?B?QjJMa3hGWXdtMnI5UnVOZDNQcEV6QkVXTDZrZUdJcVg2VW90QWxEMVdzSHg0?=
 =?utf-8?B?amhaS2tHaEtGc2NJUUFoWUxITWlJcDNmUlNjWCtMbTlJMkZqTHpTaS9WRnhK?=
 =?utf-8?B?cmgyNVNxOHcxNUdMWDRPcjhBbDRUK0ZCWmxYNWlZUWRVaEVqLzREbUJ1S2o5?=
 =?utf-8?B?bGYxS0V1UjRCdTNOa0FGWEtoUDdLRk9DU202VVhMVmZJb0IzQUpESWdNSHJN?=
 =?utf-8?B?aDV6QjZkR0tvRmk0TWZiN2s4U0lHWWM3dUIwdUQyQWx5YldLc1pML3BIY3RV?=
 =?utf-8?B?VTN6ZTBmTTNWK0FwZnErVjBjd0pza0h2MVphMEt5VXZFdGxCOGwwekhJV25q?=
 =?utf-8?B?c2ZrOTZXNkMvQUZqalZ2cWN5SUVQRlJibVpJZ1drRkNLellIK2ZSWnNJK1hG?=
 =?utf-8?B?SVhIQ2p3QWpoYjdETndmdDMvcHpnS3pEaWlJOGpBblU5Nm8xYkRUazBReGZh?=
 =?utf-8?B?Mk52M2tVc1BHWlcrY01WSUs0K2JkemVFVDlOQlZtS1ZHd3RkSzhjNm1MOTBD?=
 =?utf-8?B?Q3NCNjhrZXZhSm1BRFFXNGV6Z3pRaFF2UVREMjhVQzBTQ3RWcUpsYjhkaTZ0?=
 =?utf-8?B?cU1CWjhhT2VueG8wS3QxSjc0RmQ4UmdpcU5SMlhrbFBwaldyZzk5amIxN2J3?=
 =?utf-8?B?UWRPYmpCcGl5cUMrQlZGdGlxazkvaFQvbi9BMU53Y1ppV1pRZ1JrTm41UlZi?=
 =?utf-8?B?YTVqVWJDMlFzU2VFOXlWR2F4UTFZQVJhdFlzNkdONWFIaEJjaGx3Vzl1cWtD?=
 =?utf-8?B?a084L2JKZlpVVW51QklUa1dOcXMrRHo2Y0N4dHBKd2Uzc3ZoRHdIaVdUVEp1?=
 =?utf-8?Q?hFyvrhkEK3HKEUpT9pq/a9Y38?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d7373f1-09a1-4a20-3d01-08dae291f744
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 13:56:17.4176
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IyRKJamxqfOVU52NM8aSglsHY7KLoDUldyxo2til1zychgrCLFtUCkFzFNAKNMo6BZC6Uz4yfx7YjHLNn8+0sw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6976

On 19.12.2022 15:45, Sergey Dyasli wrote:
> This allows to use them for forward declaration in other headers.
> 
> Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
with ...

> --- a/xen/include/xen/multiboot.h
> +++ b/xen/include/xen/multiboot.h
> @@ -46,23 +46,25 @@
>  #ifndef __ASSEMBLY__
>  
>  /* The symbol table for a.out.  */
> -typedef struct {
> +struct aout_symbol_table {
>      u32 tabsize;
>      u32 strsize;
>      u32 addr;
>      u32 reserved;
> -} aout_symbol_table_t;
> +};
> +typedef struct aout_symbol_table aout_symbol_table_t;
>  
>  /* The section header table for ELF.  */
> -typedef struct {
> +struct elf_section_header_table{

... the missing blank added here.

I also have to admit that I would have preferred a variant with less
code churn: The typedef re-arrangement really isn't needed to fulfill
the goal pf the change.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 14:00:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 14:00:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467061.726054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7dAn-0002ir-4n; Tue, 20 Dec 2022 14:00:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467061.726054; Tue, 20 Dec 2022 14:00:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7dAn-0002ik-2C; Tue, 20 Dec 2022 14:00:49 +0000
Received: by outflank-mailman (input) for mailman id 467061;
 Tue, 20 Dec 2022 14:00:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7dAm-0002ie-Na
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 14:00:48 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on2051.outbound.protection.outlook.com [40.107.15.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 829333b3-806e-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 14:59:24 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8524.eurprd04.prod.outlook.com (2603:10a6:20b:433::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 14:00:46 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 14:00:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 829333b3-806e-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d1FT6EnAxHlo/p9BzYMZ4NXuOk7jdGf8z+lvTMExcIaLn4R5/Mkau1O7Bl746FTMVTa6pMpY9sf52QaVlLCWU0REqeJhfcaUwcwVZFmxuJybwk2WeFch2OYrqVo8UY1ywDN7vlTb/aFZFX6TeCifi0yGX+6iWNaxw+Vk4C/DzDIOG0ojZQXiBgXhTuJ2vqENQr46+ggDHGjLi+ejTPWT14uDelqZJ8bQ/gutQu2NhnYjuXuTmzIpb6PK+i2VQ8UeUAa6m5U+B2gAyjtTyUJIoY/bWZdhcXj2EXjWcbqamDYmkHwXs1MgrXdevUf8JFnPI5+2VzcdvfOmW6lDw6OGsg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8mL3IjGEWlD1HugB7KLYDxvml1PhJIU23PZZC5HE6BU=;
 b=Uv234/XCIcOr8PQoGOMrz+Vxyvf3aLxxFlVRL6pbbNOL8zbJxnqACD1CphrZzmUsz0YKoRzFUxwrOMU7VGm/dxPw4MZXkN63x2UH9aMOi3kSanTVmY6VKOltS1AtPETnPTThwtkx7gklmHFPX9chTgWi2r/b5y29d9UjgwoshbHYQlP6iPkxK0U1BfgphlLMQ4amhkqQHEUAfJohTCILiPefV05XvK+SW9WsVMbp/yg+qjK5RenEqVi3eFclXXMZIq2RRVlcRMRW8BPQRc6EebERd1t+xXl9E+mWv+GHKSd6v66gxpNhmWK5pGBEGBmrmvC9wrO7AcMrj/Fx0CCPDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8mL3IjGEWlD1HugB7KLYDxvml1PhJIU23PZZC5HE6BU=;
 b=5he9f7FBEjcgA6LTjmFd6Ykip99SfhyiUvq9tL8JKPOnOMWpO0dDN78poXnRz2V7DZpOH/s+NAeN+unY94NnOO8E7q4jzm0IYjhYSq+7Ns2jodYy3LKrb7al6yBhprMsjFLEr0LO0464zHEELIBanXfLF5KCQgoivFcK7ZpbgspvvcZ4m3t8Dm9NqJ4AQpJ65Iv6dd0mielpdvcHL3GrylpvOVjZ0P6rO4pQG9R+lMbWAWFjEDYMI5oEFJ5PXw8Git9Dn4zEbyVtxp/mEvcDwlc23BQmogLxl1xQrS8pSQpz/p0iD9zgJ7RzqgfPX8+hEMUEQ1jyX+Z7poGJnL8hiQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f8171ba3-c7ad-0cff-fbed-cbb31c05ef1d@suse.com>
Date: Tue, 20 Dec 2022 15:00:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v2 2/3] x86/ucode: allow cpu_request_microcode() to skip
 memory allocation
Content-Language: en-US
To: Sergey Dyasli <sergey.dyasli@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20221219144533.19836-1-sergey.dyasli@citrix.com>
 <20221219144533.19836-3-sergey.dyasli@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221219144533.19836-3-sergey.dyasli@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0118.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8524:EE_
X-MS-Office365-Filtering-Correlation-Id: 02bd4718-3f36-425d-81ff-08dae292970d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+kOSRxrNOuUawoTX2nNiqEmxfsX7bVvXUsJip7H9RQVQTyJEvSMkVISBd3jiWzUGyFe24qZ9HBKHQ4iqMhTw7kFlxzoI7xrUzD0wTm6XewDHMrvDzF1MZNXzukS/yIJYyUYiZ6BWkeBKnJWzHXa+1ROqYsijBFLgve6z8LAtnVhKFpITzRpEDK9riSRzTDSkrszMXb/wQIPD+t63bkP1/yAkWd06w/SV7jhf9fTjPSUs2f3b/C+AIf9OW1BjwnOuCAR3MXF0kUpM8Ay4nLW3PTHlEplpeQv1ZQFDg/+SIficjSub/S62wVgUUx/yfJr6pr8Z+Q/rKc1YW6f9QVuZRhO3VhCd5Wf0sm6FovnWLLp/IO0YqOSx4FJn/WYNjaMYjta/7tvpo5H3LetXHKvD5VDlQrf97k2d1CsF4Q3nLYo0RlzaUig1+4rnQkUUXDGHDtQ7f3enYGlKniMyOIK/as8/Y7VQhO4AcbjZXjuBE5W13Cp2+4XqOhcuqstabKnofcB86Q4cThGz7ohmHBVL3FWkh2tniYZU4EiPQSyN2xpspUPoq87NxlAFgPoVDbJ/WbNoih/BNU5/h0PZRe6DXxQM8tC3cWik/+c6avaL2X36g6Gn1lzoHzAcppk+uoObmCAA3JzhDLCvErBumjGdKP7MaMgh4/8Dhj1pVww3CcipV5c2eyCPXWUL3WwFfarL/n2DKb2sfsyCMyzvUHgCnQHIa5LqmcGTYJ9C6LfZk28=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(346002)(39860400002)(136003)(366004)(396003)(451199015)(41300700001)(8676002)(66556008)(4326008)(31686004)(5660300002)(66476007)(66946007)(8936002)(53546011)(6506007)(4744005)(6916009)(316002)(2906002)(54906003)(36756003)(86362001)(31696002)(478600001)(26005)(38100700002)(186003)(6512007)(2616005)(6486002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d0ZpakFIYW5YMzNKZStIaDVKNnNtYndPZTRkRlRRT011Lzc5ZTFNYm1rNENw?=
 =?utf-8?B?bkttTmFPd0V1RWpkMjdudTJEbzZoZUJxaWNhNG5hNWE5NWFWYlJOUDRXVEtk?=
 =?utf-8?B?TXAycEdTaEp1UFVJU2E1TEdGSUl3b1RrRU5HZ25mamhHbnpxVFJQakZqVzFt?=
 =?utf-8?B?Q0l6dmpmS3pKZmpmVThLQWdwVm9nRzJDNVlYaHdLZFcrTmQxaUVHUlYySTI2?=
 =?utf-8?B?OXdKOFJPZVNsVTIveEZIR28waDhaa04wekZNcmx4ZFNKRHM4MXJFUTJ2UFVa?=
 =?utf-8?B?cXM5RGJYbFRzVFp0eE9kUDBxN0F6UTNsOXF4TUNJc2NwaVJESUgxS0xNQXZj?=
 =?utf-8?B?ZmljRXNmWEloT3dkVk9IUzRwcm1kcjdwNzZ4UjdENEc5SWpWV0xackhRcjJN?=
 =?utf-8?B?QXNETDduMEF6aTFzSC8wNmRWZ3N2cy8xaXZqZ2dESm94b3FKSmVpeFVmNDVl?=
 =?utf-8?B?c3hyVW5OcWxiM3pTaXZKOEcxUWt1ZlRQS3pwcnNyQ3NLc0s2ODljd2FQditT?=
 =?utf-8?B?bDhNelNINWNxclFlWCtBQ0Z0UDFMMk5CNkhVci95YTg0WnhmUHZqT1ZNa3J0?=
 =?utf-8?B?eUVPTnNyc1ZBMDBVeC9FQmtpSmZZVXgwRGxRc3FnS050WTZqYXRES2J1Q2pT?=
 =?utf-8?B?dkxyUWcreTJYNXprcWZnNXNnaWwzZ1RjYnVNdUxtTWxXcUdZTm40SDNHTFRQ?=
 =?utf-8?B?TXV0Q1Fsc3NzZTNsd085aXhsand3bzV3VDh4a2F5TUpsRWxSQmlpcUVwT1dj?=
 =?utf-8?B?WS9Gb3Y3bWVXL3F6MjRJbnQ1UnN1S3hBRm1jOUpRaFcwY0JRWVhGeWs2eEJh?=
 =?utf-8?B?UFcrczRYT1F4a0IvOVFVdlN5bzRmVjhaTWFrWGtiem9TclgzSEw0bUNCV3ZW?=
 =?utf-8?B?TCtVNzFNS2ZYZVU2NUMrQVN0QjQxalRHSVFNOEI0eVZwcTVId25VajU3N2Vw?=
 =?utf-8?B?Z3NSeTFoT2xXS1NOUmNNbnRzNVNqMzYraG03Ylc0enozdlUvQnhyb0wvcENj?=
 =?utf-8?B?a09DU2sxekVXa05mWi9TWGdCVG9KQVNyQi80c2tGQ2ZRNWhTaWRFdDRoNkwy?=
 =?utf-8?B?VDlJWjNZV3VBQ0JVRENTSlRJRWd2eExpbUhjemF2MkQ3akFNNEVjaXNmK1NH?=
 =?utf-8?B?dWFwSXdVcm9xMWl1NzdRbk9yTVBEUjg1TkNQVStrWnF4Yks0SFVOVm12cW92?=
 =?utf-8?B?ejBwMmoyRGRHaFhkTFdYM0dPeFl5QnJ5MCtKM0VvKzR5NmcxcEVLelNHZVZY?=
 =?utf-8?B?WTFwVnBMeTZsRXREeCtISjFsSWh5d20zd0V3WnI0T1ZWV0M4dnZWcUFqaGtT?=
 =?utf-8?B?VFU3WTdzM2k2VWRhQVc3U25mS0txNkNGTWtWSmFxN1VTdHBBRlpZeEtpUzBv?=
 =?utf-8?B?WnQxbXJtWlU4YUg2SmpnV2pkRXRRYm1SQnA2eS9pZ2htSWM1MVFITFAvaUo0?=
 =?utf-8?B?YmxRSUxWR08rNEV6N3NwS0ZLVXFiM3ZlUGVnbUJqTmtPQ2xlMytvOEQzbFB6?=
 =?utf-8?B?UERyc1VQSE9hN0xaRTB2RzljU21YR3d4UWhnZ0c4R0o2WWpPek9iZytka3kz?=
 =?utf-8?B?TUtkRFB3dVZmYkpFdk1JblNUUUUva3g0Q05wS0htY2NPdXNUYkV0bnFHRWIy?=
 =?utf-8?B?R3Ezbmw1WTVqUy9DZWhaZGxwK0FHa2NCMmFDV3dVWFRBczlVNlI3aTV5S2tl?=
 =?utf-8?B?ajJWS3hGZnVERW9pQXU2dll4MFVkV2NwemFvdjdUOGo1djc3eWQxMnZjeXJU?=
 =?utf-8?B?MjhXSk9kZVFGZ09tNVZYZSswYU9qRlUxL3FMVUxEV0pEZlBnOWp5QjROZjJl?=
 =?utf-8?B?UWw3UldhdGJnOVdiVW56UE4vWEFXOUQ0Q1BQWndWTFVLQ25PN1RaZmF6Rmh6?=
 =?utf-8?B?R1NMcEpSUERrcmNTSnBla1FxMjdzMDQrKzlYR2VVSHloTjRoQUN0dmJKQk5T?=
 =?utf-8?B?N3B6MVJ3RElLZGVKTGhFbVNocG5KV2p0UkJITmovTEdNcnFmOWh3b0JGVEJB?=
 =?utf-8?B?Z3NUS1Y3VWVhRmRjcmVaYS80cVhZbXJsN2t1UklUckZUdm1wSVVLK3pSelZO?=
 =?utf-8?B?TkxpMDlNbkNJOUNFeEFwTjRiTUh6bDl2NytlNzh0YUxzUHBTeU1rc2k0TlFU?=
 =?utf-8?Q?LTvdjh1gcPKBvr3LLqUeb3oS2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 02bd4718-3f36-425d-81ff-08dae292970d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 14:00:45.5568
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: v4vHc5x+3ZQaCJi/A7yDjw0B4PkPGCHkZEJi8NuiVPXc933wPVc+kXdQ5MvVlwiRxU2L1pPGMb83HbIl5jt3eQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8524

On 19.12.2022 15:45, Sergey Dyasli wrote:
> This is a preparatory step in order to do earlier microcode loading on
> the boot CPU when the domain heap has not been initialized yet and
> xmalloc still unavailable.
> 
> Add make_copy argument which will allow to load microcode directly from
> the blob bypassing microcode_cache.
> 
> Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Dec 20 14:07:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 14:07:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467069.726064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7dHG-0003RX-Ri; Tue, 20 Dec 2022 14:07:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467069.726064; Tue, 20 Dec 2022 14:07:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7dHG-0003RQ-Op; Tue, 20 Dec 2022 14:07:30 +0000
Received: by outflank-mailman (input) for mailman id 467069;
 Tue, 20 Dec 2022 14:07:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7dHF-0003RK-6G
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 14:07:29 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2067.outbound.protection.outlook.com [40.107.21.67])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 704a9127-806f-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 15:06:03 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB7013.eurprd04.prod.outlook.com (2603:10a6:20b:116::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 14:07:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 14:07:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 704a9127-806f-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QYFmPlNag8j1pKp8jmtmv18xNQ5vyg5k8vucJOcBJN68HpNYBuz9hd2C7vM7Gw3XjTv20qt61JiPgHDv8tqT/IxBEwo3gKGATLZ17pF/HaVzS6g/nubwwFAFcVv3c1OzguB8QrVvXtLsDAtso3kdbzZ9a4+sPOetkpko9+8UIK+n76W65HU7OoY81C2WvqxyvbnsgKY0iNzMV/ALba5YBbunTdql/on1RBhi3N1ZCV/Lt84VGp5VeYE9l6i9uNJZbUgKDFCAP8I1Eolz2nRd/u/deos8VgHiEQSVwwGAinQmUoj75iiWU9QvF11f3q4ENhYM+1QBbo8aGu+u4tZGEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tHb/kygaHtcEiAYhxTe108C1yCycsjeEDG2NwWnh4h8=;
 b=W9urG2CbZrObXzZbQa8RRz/SYEfcf0OS9TdeZtGUy5t7g5SdE08F9t7Gofoy9LG/FCVx/v0zAfzNybwfiCIx5cDpw2G4qGPdWTxf2T+1HK521eemqH/h9dLpELKrDndLvH5nwUyCa2vJO5oAQkw8SpzH+bNz19xly+TrnZtkKfszVxwFmIsu1j5E1qM5C2LJum+vD+hzOWc+PY9ushr3OU0Z9vg4xs9qXEsul3hJa1fDRq469qK21vIXxXM0r714SYRTYeQnvn4AI9iSf2wJd4vH9cHLa9FJljK+76WFCmFYu/6738DLW2OiTRZB22wgHwRTySaCML1Rm2fbybAmQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tHb/kygaHtcEiAYhxTe108C1yCycsjeEDG2NwWnh4h8=;
 b=T7wKAPbUveLeXMh3cw0SqBrhbcAXIVNtRFvY+iz7zFD1Cw9lVj7zCbgEhDjfgrxWywspNNE7lDJ2mdzoJIyWCUcefNeiy6wJBzuJ01X6ijaMoLYAMS7zTscBvluoNynEbm8eG2BIeVUqKcL5OJXMnDaFpHl3lO+NRsXczC1l0QkQZDhDleR6H6B/Eiq/iBN4TCZIuvLpdNAENSayW/mCBG7ALjJO8UUfz1SOw7TAkEA723m4LcUvht9mNXb5Ljz4NUpePsqz2D4R1khU9A1xI2cj+si57/WLW6m5PBP6+2jAWBzotLMxYaQSHeBqwArOxLCwc7svrCWm/CEVZfLseA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4dbd1218-8fe9-c9f5-d530-fcd92c86dd5b@suse.com>
Date: Tue, 20 Dec 2022 15:07:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v2 3/3] x86/ucode: load microcode earlier on boot CPU
Content-Language: en-US
To: Sergey Dyasli <sergey.dyasli@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20221219144533.19836-1-sergey.dyasli@citrix.com>
 <20221219144533.19836-4-sergey.dyasli@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221219144533.19836-4-sergey.dyasli@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0096.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7013:EE_
X-MS-Office365-Filtering-Correlation-Id: b232785b-e2f6-4a51-223e-08dae29384e8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	z9DBQ2PSSPS0yGnA23K8nVxGoScsKQtYKpMd0uk/WKs4DBRqN8a4N7S09qt1VC7Qx9OWjg9cNBeiC1jJWFZTR9IBIXe/mBwKr4KaYnAo6lCw7driW9vtwPq3SHe/c7jImnz3ULjgvrsjY8hrgCD1yWmEOlwXCYJuZwOAl4C1LHVJC/tOW4C+/DtxW0dvLffC8DF4l4CoS28scdf/lFHpR0gxx6M7Q+hS/kTcVP+1EDyFKv8ikhKl7QBEEwhknciPpLhsLM9RWCR0P8tRGa7wfieKxCHV/r1Fy+g+e6UfEPLqoofn0YjR7ACe0OWk+49UheFQdBOxr37loNmqpKHxmyNN0E18Jygf018ZG/M6VDKZ0K9MSx3xgvUzzQNJcFELnIz96/9d/ZV2QWvtTQXt2Y3c7yY44s2yqm5ZuRNDiUuIvJvFPsLLJk94z5jwRmEBgfoVm6yukmaAH73gzoLH3QV8XZf3ObE3GWb0fvva2Xlwvr2rJ9tcevM2ZH7Ud2CKgZttowtoAGB0Ox3FC5fjvt1+wVlVcYzldmmfbZpYZK6AVJ9sakTDI91Ukh12shJIfV7lJHd+w7q4zXFQ+B3xZmovax6ao3Eq14wVSU1iHVLAKxcOSBX32LGN5wnyPaU0sVsOfHbpHROnfoswAuX3Hz8zOls876B6zwYs7pC2vD7SPkt203QxNqjymmzO1Do+aVWkR8oyFE7auR5EufZVDDJs8KTNtHMS/w67/Zpae7w=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(346002)(136003)(376002)(396003)(451199015)(8676002)(86362001)(66946007)(66556008)(4326008)(66476007)(31696002)(54906003)(6916009)(83380400001)(6486002)(478600001)(316002)(38100700002)(31686004)(4744005)(2906002)(2616005)(41300700001)(5660300002)(36756003)(6512007)(26005)(6506007)(186003)(8936002)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UUt2TTRYeG5nS3ZIT1BsSHJMeWYvN1lUeCt5K093c3FvNW1SRGJGdFBHcWtO?=
 =?utf-8?B?MDdjUTMvZEhTQ0NmeDNnZTN5V0JEQjZDTFEvaW4vM2NxQVlWNnhnUnZkVWQw?=
 =?utf-8?B?YUx1SmdVSzFwQnlGcXdjck1FVnNGSWcrNXBBMmFuU2haWllTUVdtaWxpRGNP?=
 =?utf-8?B?N2J2Si9YRkwzbU1xaDVScXJ1d2JDSGJoRDAwYkhXVUlXckpiMDUzUlplV2RP?=
 =?utf-8?B?bnR4eWhUU1NLOEw2ZnI5VEp4MWZoYW1GMEZWdmRqUUdtNTNyRFVvdStmSmtY?=
 =?utf-8?B?YWJIbzRESzlQMXBsWHNqYkpESy85NXZnREdsUVFzaW11VFZzWUJXSGxKOXlL?=
 =?utf-8?B?c2s1UlpYSEY0bkw3VHlLTDJyVHdzUFJkbUtGVEJQOFF0YnRtVmNLbzdUOVFD?=
 =?utf-8?B?dk0xTmZHZVUxRHkzYmNxL0w4amN5c2RHdG1IVmExQ2ZWVWtaaUQ5OWRwcGov?=
 =?utf-8?B?S2xGOCtZeTNUeXhqaERWY050emJTc0gzZ1JTQWtBRFFIWjZsWFd6NDhIVGlH?=
 =?utf-8?B?L0prUHRtei90WEovOVRvajhjZ3NDdG1kSGltYWVvcWxiVW5peG81Q3R5VldT?=
 =?utf-8?B?eE91eWUwcVcwcFU5bkIrbVlEdURtN2RTN2FrTXUwTGdweWhhMTZGVFpPdElI?=
 =?utf-8?B?eXdXM0Vrd0U2TGNubzZKVnlkWkRFZHpaQ2svQ1NUamc4eFVXQVluSTJPVytC?=
 =?utf-8?B?WUVnekEzRHh0T21TY0hhaGVZdkgzOStNbU9OeUduVkZxMHBpWXZ5YmlxL3Nr?=
 =?utf-8?B?NnFWKyswSlFpbWl1aFBneGpnUUoyV20zaElMbXNWREwzaC9hNEJ1bWd6eFpH?=
 =?utf-8?B?V1g5NmI0c2RNYUptWDkrZUN0dERKNUVLUjRuUlhSTU42VCs0S2hWY2cxWTFu?=
 =?utf-8?B?RlNaVTFvNnJkZi9lU0NpVm9kWkVhc3dqYmVVMGdmUFRqeE43RitPTm9aOTBi?=
 =?utf-8?B?a1VPTlREQzhEaHNpRFdhb3ZGa25YWEZVbGJUMm5qQjRDVFBkWG1YT2FSVkY4?=
 =?utf-8?B?VzJ6SUNjNHlKbEZ5am5Dck9CNU9vcis1RG1DTVgyV3k4YkdSOHl5ZjVLZFBC?=
 =?utf-8?B?YmlYVEhoYTNIeDdIUWV6dWpGTVg2b3FMOHp6K01PRGpldnkyUTZBTVpBeVdy?=
 =?utf-8?B?cE4rcytQZGVQTm5DNDREcGxWWmxrMElHQklGeXBqdEloajdzUGpsVGgyQUpU?=
 =?utf-8?B?NEcvVk96eUsvdkVMVmVhWnlYK2JVbkhBTi9xK3RNOGxoeGZRdytXZ3d6Qyto?=
 =?utf-8?B?VnhYc3pvbjcyL2ZFcWZTVW1MT2M4aklCM3BTd0l1NFozeXNsdHZTUzNJRk5j?=
 =?utf-8?B?RWhGaE9KcURObytHbWtCa2pLdGV1NENiblMxTW1adURlV0FkSUxWbDl1bjUw?=
 =?utf-8?B?UUtxaE9ha0ZpVjdrSEMrNGpxT2szajYyRlFJdUF3cUw1eHVvZmlnRTNBVFJy?=
 =?utf-8?B?MDc2bk5PMGRDcm41blFYZlZxUkc3WDBlQ09wVTdRejdnWEwzUDdwZVBEbm4v?=
 =?utf-8?B?VkE1UGl1Y3ovc0FWVHBVRzE1VWdjdUxJZjl5RXVKaHUwNVFXSGFMUXdiZ2ZL?=
 =?utf-8?B?WmlqTWt1c0U0RnJ1ZVFtMytPMnU5d3FjWENXOFh3dUJZRStJQk83U09yRE1T?=
 =?utf-8?B?bGhUNlY2KzkzanZ0THRPT0ozUWhjaURpcXA4dkVxR245ckswdFdYU2trSk1W?=
 =?utf-8?B?UFBPZTdlUkZGclVKQnVSb3BqZU1BYWt2d2RqSDhmT1dwOE5lNmlOVzBWenAx?=
 =?utf-8?B?TmxxUWNMS2pWZWcrMk82aEtjUSt1SEJlZGh1V09FNUpVN25mbTVMdHZ2K3Ny?=
 =?utf-8?B?RzV3eXpTVU4vWmZGY3ZxdExISW4vV3ZaV3cwZGZnc3c2NGhYK0hDbHU4Q0Jm?=
 =?utf-8?B?d0w0bDNEY2NYc2JYRWlHdTFBRTErVzlNY2tBenB2RkVqS3FsMDhtTUZpSjY4?=
 =?utf-8?B?MTRlcFYxMEo3VnNmanpZKzY2d05FL3NrcFVicWF1QWhMRHYrSTBGK3k1d2hD?=
 =?utf-8?B?MlZpOGVLZW90NE9XR2dWL3Z1UXpabHhiL0VKSDdhZ2xqSFZwNTJVL2VBRWdp?=
 =?utf-8?B?RWd3RCtBbWErRzNQNlkrdEpOd1ZqL05Ob2htNDFabmt3MkhHa0p2d29HSmt3?=
 =?utf-8?Q?tP3gquCaV6MBInP2NHBCHzVJt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b232785b-e2f6-4a51-223e-08dae29384e8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 14:07:24.5471
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4Ri1NQSDwRu0QGgq2zOxgGWaboxPHcUvsWN7bfhm+BhUxOvoAyQt1fUWQkZV5OLD8s1IgrJb4UnzfzLCsuS0pw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7013

On 19.12.2022 15:45, Sergey Dyasli wrote:
> Call early_microcode_init() straight after multiboot modules become
> accessible. Modify it to load the ucode directly from the blob bypassing
> populating microcode_cache because xmalloc is still not available at
> that point during Xen boot.
> 
> Introduce early_microcode_init_cache() for populating microcode_cache.
> It needs to rescan the modules in order to find the new virtual address
> of the ucode blob because it changes during the boot process, e.g.
> from 0x00000000010802fc to 0xffff83204dac52fc.
> 
> While at it, drop alternative_vcall() from early_microcode_init() since
> it's not useful in an __init fuction.
> 
> Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Tue Dec 20 14:27:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 14:27:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467079.726076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7daV-00063H-Gz; Tue, 20 Dec 2022 14:27:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467079.726076; Tue, 20 Dec 2022 14:27:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7daV-00063A-E9; Tue, 20 Dec 2022 14:27:23 +0000
Received: by outflank-mailman (input) for mailman id 467079;
 Tue, 20 Dec 2022 14:27:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7daT-000632-HM
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 14:27:21 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on2066.outbound.protection.outlook.com [40.107.6.66])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 377c24f6-8072-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 15:25:56 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8961.eurprd04.prod.outlook.com (2603:10a6:20b:42c::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 14:27:18 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 14:27:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 377c24f6-8072-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N4dG0ZFDb8tdwNtQBjhtx0misKvqkF095cIlx/dXao/+IYCpL7mlQV2S4glIkYxhVRFiSjHjtGTkXW10Ifv98fDid87mIgL74hl7pKjF8hj97bHyB20k2yY0kPd+Z47DJ7f8xmFD+67gHcaZ0Gu0qY8Rp02BLJfdf39+ez/0WZOj/7MnqYegxhjEy5N42N3s+lhq1NkIzFVEY6cyCxhj+xOpsYVA4WDweGS9dOFUK+/ZpV6mzkCQM8THDKOlw6yV143MA8ETv87UzhjbIMqB8CzwaDpfWlxwiV4020WSytXiRfYo8ORJF/WQvDvS8O34iH0eWDpcCin6/q+LLeYN1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IcDV8O5y9O21/73FuR54Y+llr3CHg0t7vFScg3m02V0=;
 b=mTByqq+vYi70R1U77UHarD4SqRMHMQLEPKfeX/keo7840Sy9hnojxxnDoSBgJIeBN+lU+09CLQ1LtZ2m7x7G/aUYBlAtoRiBa+eATsZXNY2eKsE8mgZe2U6Z0+MIiokFzeZzwKJzhfJ7wr+NWkDw5T94Tm8oa46iQ1XH22u4RApd13arftN4lj+84n4mgbbTCcpgAVLpAEb+jn1/f1qEFzb/KRMfIno1GRjrtQOplrnX/za9RQRdnH4o/PFVVwM9K5dn/SE6j/ymP2pXDZ8oWAYgcb+9KX/cAW2hY+ziW0hzp7Wdnbs+DF4YKo7yF5kC1qfslr1kgbNQy1QBwQmwdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IcDV8O5y9O21/73FuR54Y+llr3CHg0t7vFScg3m02V0=;
 b=4nT+sX2YwyNXrls/lExcPhHw3QsEQIaQQO/ycWBRb9jwk7jRRq9D3H4w18VYtdJlkvNbtRf4OQkloL6OWzPlo8jjZkon36LXZLYx03AzZ/+2cf+ol2QIYGocbN44xoPHW5UTRa5BQt5nOemDRZfeMXRnqrupJsgex5ED8S17VPkv9cFMTV2eAuiSwGcFli7WaLq/1qJS7iocWCSfBDgajKOK0su9tXFGB2I4JEZt5TcCLz31M9qRNw80mCKtLZlcKtL9CRTN8OjWiRDjCBHVoPb0NymTXwELQxepW9PU2iI67eDwa/MsCa9BPPGejq+sWQ336/u21HJhN5h8nYQ99A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <17364182-13d4-9120-e1ea-b9ab588b6459@suse.com>
Date: Tue, 20 Dec 2022 15:27:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v2 1/2] acpi: Make TPM version configurable.
Content-Language: en-US
To: Jennifer Herbert <jennifer.herbert@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <0548fa97-5384-94e4-7329-b019e60555f4@citrix.com>
 <20221215170934.123889-1-jennifer.herbert@citrix.com>
 <20221215170934.123889-2-jennifer.herbert@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221215170934.123889-2-jennifer.herbert@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0107.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8961:EE_
X-MS-Office365-Filtering-Correlation-Id: 5e245a5a-0f03-478c-4d8f-08dae2964c7c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	W5ECA7OU8TNLgJaGJlPmpmrk0A3Yy+cxoFD940PQisHjtsM4AaHz/k8jb/N5Vowa3s1NfWVbyRQFeP9aOIyXacT/MvpeXMGFelhYJB1AITJusjxjhj4/bt724iNpW9uR9fvsSjwehAo/D6+YIuungYwa/YwxqDPCvbXJzeap8bsUMrCzMKU1upKxiJLKCu9JvTGTdvt5Il6aOWewmY3e7GAZdT7VLIs7nvKkgWtqMMOO6qfIJf0TJmeg9PThyEZsL4Iwwcfcfu8RhFNyfxOTOUjTWl9B92csrRN6GXF9JrIc7NmT7bcu9nhdd2Lr5//XhOSScoIvNDavmtiIfnIEL0ZKV03Qfgnx88oFl2GNONnSDQmFyBhkrmW80U+2Of5TE3PDjpHPIWAVfWKvcwYkt4NrYZ65jZzp+zsEI3E8S4s0jiLkEA/Tltw5rrHiJUqb0Nwx4oPywiyIzlUlVSkPyJwiKPfd4j/b/0zkuklx1iEqvc6Yde6nybzw6r1UUYDpMGQHTQSyt6lmN1KvPZFRilwSKbsFV7HEXOwsnyvm84GPrhQ7iI6rdfIT+UKouQVKj/wgB7fatc2cbtMQONAiwQP0jsXtWCB6Lk7TVdo5T/2IEXsDwX35eyo/MXqMJivJocFqIJHtpxpddaDL8XkPSbC1bzj+Y2dclr8J/yoPvEjlGXooRG6cRWPUZ083wLbTV/3TcnB4Bs4gGNp32YSezZu5i2YVPfZ5tpj8rG04C84=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(39860400002)(136003)(376002)(366004)(396003)(451199015)(53546011)(31686004)(6506007)(8936002)(6486002)(6512007)(186003)(478600001)(26005)(316002)(54906003)(45080400002)(31696002)(86362001)(66476007)(6916009)(66946007)(36756003)(2616005)(38100700002)(4326008)(66556008)(8676002)(41300700001)(2906002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dndaUDZRQUJYa2JpdUc1YWZsUXdXaytYd0xqTTBpbC9NMW9FVlNhWWg5MGJT?=
 =?utf-8?B?T1JCNmRZMmkrMnF3eXFwdWxlZW5Rb3NTY3JIbmVRS3gwTTJQWDBhZTYvTDd0?=
 =?utf-8?B?UUFrOHZRdTFHUG9FTzZyRm9GeWpxeHl2RllNdTA0Vzcwd1R0cDNSbFBVOExn?=
 =?utf-8?B?WFZoeFpEN3lTRE5NdXdGZE02SDcvRHJUV3paSFZGUkZEaXBpbjhUQW9La3Fk?=
 =?utf-8?B?SHFBQ2JpRUEzbVJlTFpOMWtjZEc4azJycTVjZWRpalk2RUNacytYNXFyUGlq?=
 =?utf-8?B?ZlBUQzNxVFRmSmZtb1hqekNJOXR3MWkzMGp4SERVd2MyOS9MRWlBczRqRXk0?=
 =?utf-8?B?N2l6TjZxRVh4cC9mVjJRRTFuc0plajVYdGFCTjF2aXJPbThUTDZzblRYakJV?=
 =?utf-8?B?YUJSL2h4NjdlanpQVTNaMGp6azVnOTE3WWxrdjkvcG1ZZmdndWNabWNLOHVT?=
 =?utf-8?B?a1FNcldId056dm9vcWE2SE9TbFNtemJmbE1ObXpKM3Z2aEFWM2VldUdRY0w3?=
 =?utf-8?B?OC9LVVR3alFjbkZRMUhsWE5JZThFNDVZcENOMHZVZW83amhORjA3b3B3ZXhP?=
 =?utf-8?B?a0tWaTd3SEU0dVJ6dEp5cGVzd3NSQWFNd0w4eWFGNmVNN01mc2U3SCt1NTcz?=
 =?utf-8?B?NS80U2p6RW51Ym5mZ1FrQktjZEhXRE1Wb04reHdoS1EwSzUrY1kya01QUmRp?=
 =?utf-8?B?T2JnV2p4bDYyY2ZjaUZ6QjRwc3p6TU9Cbnp1K0NNTWhyRDl4azhQRjkrRjdn?=
 =?utf-8?B?STV1TnJoUzNPQWJsTjFhVXJSSXlZYWF1aVFRRDZ5V2tQTGMrQmlCN1ZqNjk2?=
 =?utf-8?B?WVNUUEZrSk95TUtGcWY0M2RTbVlEeXpRTHVTUEVmZy8xeUpaQ3Bmcm9QUlZl?=
 =?utf-8?B?K3E5L3drOE9QMUR0eFlrUVNRVVFNaG9nQkxyZTZWdVBuZnppaWg0aUlhMmU5?=
 =?utf-8?B?WlliSW9Zbno5MEkyWlVmOS8rcXRvOHdaNS8rVW1kNk9JZUpvZ0dBemtQL1Vs?=
 =?utf-8?B?UzkzQnYyTHoyN2tldnVTK1F1K2UrYUxCa3lsSG41YUd0d1I5cFJZN0xQQ2Z4?=
 =?utf-8?B?R1BRN0dYZmMxZXJCUHNJeTN5aXJWNHpnbFZseDE2YzMrcGF1Y1JmejZ2SE5F?=
 =?utf-8?B?UHZ1enlobExiMVFFYWZ2OU5MUE14OVA4UDRJdW1FUzJDK2dIM0IvUDRsTCto?=
 =?utf-8?B?d0tXeTJIRThzVXJueU1GakxXQlJhTTErU0ZGTEM0S2JrVkdCb0FBRzZ0WUhZ?=
 =?utf-8?B?VmNiYld6N2tTdy8rMlh0UUpoWEE5Q21nWitYMUI5RmwxK3lsaFFVQ05IT2hq?=
 =?utf-8?B?TXYrTVhxbmpvZnVSUzVnbStvQVI0VlFhTk1WdVJBY0lVY2JVUTk1Q2YwU1Vp?=
 =?utf-8?B?Ynp1bFk3N2ZPRTBmdWdKTHJqaWhnNjZJZVE1bmpPbml3QXQvTERlNVhhV0Mw?=
 =?utf-8?B?U3BMM242QUlVSWNhOTFoMWZBRGhwNUhhUEYwVEt5ZVVoeXdJVVFJNEdBVk01?=
 =?utf-8?B?NDVkRkxVSFJjb2l2anIrTUpUaFk0ek5oM05OSjJ2SHgrdS9CVk5uSEFTY0pX?=
 =?utf-8?B?YlEvSW9Zd2lIaUJuY2ovakx1Szczb0FIcGxlN2V6akZmcGJ2Vk51dGlkTkNs?=
 =?utf-8?B?OHhQK3R1djhpdjJ1bjJhOCt2Z3VtQ042SFYyYjhuMFc1NUFZUVh3aDVma2hk?=
 =?utf-8?B?R21kdnBwc3JXQ3F1aW10NEFUK3lJQ2ZmMWtiU2Y0ZlhJM3pZajM5ZjhOMmlG?=
 =?utf-8?B?dXdTM1FvWkpJT0FmU2FIaXVoemJkU05XdG02V1Z0bjF1YjgvUXh2L3lXejlV?=
 =?utf-8?B?Rzl6TndFOEZWZTBRTWFDbXlBNDU4ajR0WVZlVkRsRGUwZXUxbzloQ2M2ZmxP?=
 =?utf-8?B?bkpESlpaSThZN3dBUkx1SHh4Q2dSMDQwblBhN2l1emlzSFhTOHByeXpoY3Vk?=
 =?utf-8?B?UW1QVytYbTdrUm9KckV6KzhQcGRNRDRsY3hKSllRcStLRnZ0VC9wWERncDM2?=
 =?utf-8?B?K1ZHOTE0TmRjNnhhUzN5cnI3MVM3UnBtcE5ZaVIwc3VwRTV5WWsyR1ArSW55?=
 =?utf-8?B?ZEhtUXBJQ3orSER1L1ZEVm5xUGNxbEpNMVE5Vm1jNkhFV2FKTzVTMENwNVla?=
 =?utf-8?Q?5rtrxTQahLu0XUpm/pKE3xK7R?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e245a5a-0f03-478c-4d8f-08dae2964c7c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 14:27:18.3782
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UMDDRbLJUA4OxeGsfKD+uYJr0l/2z0fG1WamlBzNb20fLU+qj3S9NT7bpqlIv+rto7eF6E0waoaoJxm4bHJ+nw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8961

On 15.12.2022 18:09, Jennifer Herbert wrote:
> --- a/docs/misc/xenstore-paths.pandoc
> +++ b/docs/misc/xenstore-paths.pandoc
> @@ -269,6 +269,14 @@ at the guest physical address in HVM_PARAM_VM_GENERATION_ID_ADDR.
>  See Microsoft's "Virtual Machine Generation ID" specification for the
>  circumstances where the generation ID needs to be changed.
>  
> +
> +#### ~/platform/tpm_version = INTEGER [HVM,INTERNAL]
> +
> +The TPM version to be probed for.
> +
> +A value of 1 indicates to probe for TPM 1.2. If unset, or an
> +invalid version, then no TPM is probed.

And who's writing this new key? Aren't you regressing existing guests
by defaulting to "no TPM" in the absence of this key?

> --- a/tools/firmware/hvmloader/util.c
> +++ b/tools/firmware/hvmloader/util.c
> @@ -994,13 +994,22 @@ void hvmloader_acpi_build_tables(struct acpi_config *config,
>      if ( !strncmp(xenstore_read("platform/acpi_laptop_slate", "0"), "1", 1)  )
>          config->table_flags |= ACPI_HAS_SSDT_LAPTOP_SLATE;
>  
> -    config->table_flags |= (ACPI_HAS_TCPA | ACPI_HAS_IOAPIC |
> +    config->table_flags |= (ACPI_HAS_TPM | ACPI_HAS_IOAPIC |

I'm puzzled by ACPI_HAS_TPM being present both here and ...

>                              ACPI_HAS_WAET | ACPI_HAS_PMTIMER |
>                              ACPI_HAS_BUTTONS | ACPI_HAS_VGA |
>                              ACPI_HAS_8042 | ACPI_HAS_CMOS_RTC);
>      config->acpi_revision = 4;
>  
> -    config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS;
> +    s = xenstore_read("platform/tpm_version", "0");
> +    config->tpm_version = strtoll(s, NULL, 0);
> +
> +    switch( config->tpm_version )
> +    {
> +    case 1:
> +        config->table_flags |= ACPI_HAS_TPM;

.. here.

Also (nit): Missing blank after "switch".

> --- a/tools/libacpi/build.c
> +++ b/tools/libacpi/build.c
> @@ -409,38 +409,46 @@ static int construct_secondary_tables(struct acpi_ctxt *ctxt,
>          memcpy(ssdt, ssdt_laptop_slate, sizeof(ssdt_laptop_slate));
>          table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, ssdt);
>      }
> -
> -    /* TPM TCPA and SSDT. */
> -    if ( (config->table_flags & ACPI_HAS_TCPA) &&
> -         (config->tis_hdr[0] != 0 && config->tis_hdr[0] != 0xffff) &&
> -         (config->tis_hdr[1] != 0 && config->tis_hdr[1] != 0xffff) )
> +    /* TPM and SSDT. */

May I ask that since you're altering the comment, you make it "TPM and
its SSDT"?

> +    if (config->table_flags & ACPI_HAS_TPM)

Nit: The file is predominantly using Xen style, so please adhere to that
(also again further down).

>      {
> -        ssdt = ctxt->mem_ops.alloc(ctxt, sizeof(ssdt_tpm), 16);
> -        if (!ssdt) return -1;
> -        memcpy(ssdt, ssdt_tpm, sizeof(ssdt_tpm));
> -        table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, ssdt);
> -
> -        tcpa = ctxt->mem_ops.alloc(ctxt, sizeof(struct acpi_20_tcpa), 16);
> -        if (!tcpa) return -1;
> -        memset(tcpa, 0, sizeof(*tcpa));
> -        table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, tcpa);
> -
> -        tcpa->header.signature = ACPI_2_0_TCPA_SIGNATURE;
> -        tcpa->header.length    = sizeof(*tcpa);
> -        tcpa->header.revision  = ACPI_2_0_TCPA_REVISION;
> -        fixed_strcpy(tcpa->header.oem_id, ACPI_OEM_ID);
> -        fixed_strcpy(tcpa->header.oem_table_id, ACPI_OEM_TABLE_ID);
> -        tcpa->header.oem_revision = ACPI_OEM_REVISION;
> -        tcpa->header.creator_id   = ACPI_CREATOR_ID;
> -        tcpa->header.creator_revision = ACPI_CREATOR_REVISION;
> -        if ( (lasa = ctxt->mem_ops.alloc(ctxt, ACPI_2_0_TCPA_LAML_SIZE, 16)) != NULL )
> +        switch (config->tpm_version)
>          {
> -            tcpa->lasa = ctxt->mem_ops.v2p(ctxt, lasa);
> -            tcpa->laml = ACPI_2_0_TCPA_LAML_SIZE;
> -            memset(lasa, 0, tcpa->laml);
> -            set_checksum(tcpa,
> -                         offsetof(struct acpi_header, checksum),
> -                         tcpa->header.length);
> +        case 1:
> +            if (!config->tis_hdr ||

There was no such check in the original code, and I think it would
better remain the case that the field is set if and only if
ACPI_HAS_TPM is set and (now) version is 1. (Aiui this check actually
covers for the double setting of ACPI_HAS_TPM commented on above.)

> +                config->tis_hdr[0] == 0 || config->tis_hdr[0] == 0xffff ||
> +                config->tis_hdr[1] == 0 || config->tis_hdr[1] == 0xffff)
> +                break;
> +
> +            ssdt = ctxt->mem_ops.alloc(ctxt, sizeof(ssdt_tpm), 16);
> +            if (!ssdt) return -1;
> +            memcpy(ssdt, ssdt_tpm, sizeof(ssdt_tpm));
> +            table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, ssdt);
> +
> +            tcpa = ctxt->mem_ops.alloc(ctxt, sizeof(struct acpi_20_tcpa), 16);
> +            if (!tcpa) return -1;
> +            memset(tcpa, 0, sizeof(*tcpa));
> +            table_ptrs[nr_tables++] = ctxt->mem_ops.v2p(ctxt, tcpa);
> +
> +            tcpa->header.signature = ACPI_2_0_TCPA_SIGNATURE;
> +            tcpa->header.length    = sizeof(*tcpa);
> +            tcpa->header.revision  = ACPI_2_0_TCPA_REVISION;
> +            fixed_strcpy(tcpa->header.oem_id, ACPI_OEM_ID);
> +            fixed_strcpy(tcpa->header.oem_table_id, ACPI_OEM_TABLE_ID);
> +            tcpa->header.oem_revision = ACPI_OEM_REVISION;
> +            tcpa->header.creator_id   = ACPI_CREATOR_ID;
> +            tcpa->header.creator_revision = ACPI_CREATOR_REVISION;
> +
> +            if ( (lasa = ctxt->mem_ops.alloc(ctxt, ACPI_2_0_TCPA_LAML_SIZE, 16)) != NULL )

Nit: Please wrap this line (it was too long before, but it's getting worse
with the re-indentation).

> @@ -78,8 +78,8 @@ struct acpi_config {
>      struct acpi_numa numa;
>      const struct hvm_info_table *hvminfo;
>  
> +    uint8_t tpm_version;
>      const uint16_t *tis_hdr;

Hmm, sticking a uint8_t between two pointers is kind of inefficient. How
about putting it next to acpi_revision and, if so desired to keep related
fields together, moving up the tis_hdr field?

> -
>      /*
>       * Address where acpi_info should be placed.

Please don't remove blank lines like the one here, the more when they're
unrelated.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 14:44:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 14:44:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467087.726087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7dr5-0008WQ-Ur; Tue, 20 Dec 2022 14:44:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467087.726087; Tue, 20 Dec 2022 14:44:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7dr5-0008WJ-R5; Tue, 20 Dec 2022 14:44:31 +0000
Received: by outflank-mailman (input) for mailman id 467087;
 Tue, 20 Dec 2022 14:44:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7dr4-0008WB-4v
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 14:44:30 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2055.outbound.protection.outlook.com [40.107.105.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce799f5c-8074-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 15:44:28 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6916.eurprd04.prod.outlook.com (2603:10a6:208:185::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 14:44:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 14:44:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce799f5c-8074-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MN+iGPduYT+tWlRZxoeUM4SZimtYgc4CTfsKyRd8tI/MO+nySJA+kzMf2MqSOrWfIYGSEXTBiwTTWc0g5THpAWB6+zz27ehnsmiixdlLTcmJs9fs9JwwUSal//Ly16xLhtZ3UW7NO4jLkonMKX34jMtMAwnRtdCyuxQYoBEW0g8ycChLQrOHuVdGdQ54xTN6mw4Vom05VoS8kSZdr3QAt4hxsLEW2353BugyDdhp6qoAXRntkNv1+gX/+KyZbUNBq5+Kb9RssLaVpngjwYStFK7Mp7NAlSOH+/iklvvU0mtVV/n/fmEX+TF3cD7IuHJt7YhvOrZsTSTJ5nXjLBazDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cHDx57WDSD/FjQk5PiixAk4RHyYd8qzwEI6QOqzXKTs=;
 b=HyLQNltxD/2iHHUop0JaGiPyVy7O+M5AiV0mhIgy3PeX2qPboS4C2I2PJuMFEdp0uqHAW7G3mFxyyMcgEdk5sFxqrUSL0vTXbpM+lckxxftrCWyfufmWEgc5S84E/hxpM+GEghT7R0fZ34R18Ls2PFBlrv0B8IPY2gY24AMbrMOeN8EfS/5Dx1O6lpB9uzIvFmswmN+/fq4Fa3es1f2bIFg+qRsFATV4gOg2ocVDKWcb66h/HJMATvi0iabq2zhsvNF0CmuRnl7L6Kf96rufCLr4O7qnMbPXn1SmqB6+oRSRpZH5zrSIuJ5aVbtm3TDg4L6YuixTm8RNrwI8kNlVRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cHDx57WDSD/FjQk5PiixAk4RHyYd8qzwEI6QOqzXKTs=;
 b=iFWlATDilYahsj2Zyi+sug/T1Obehb89Qb9ZUU6hpLCdvPeYtLnQqtL7FiZfJGOCYyaJPTtvWCxtsYlsWUuJcACpw3G5f465OLhlTu+zGCLqLrkd4XtNsIJJgPYEbFu44QDcMEer7TbNfmy0RFkJC3NrpNXyyeMzhvp09vwlW+7ykEjkC+HgH+m2mSwbMcWys7zn8XNHLpBPdgY9rY+Dg37vvfVQE1SrQqGxXAepdtf3qelEjWlUe81HuiQi6i3R0wzgU7n+YWaBP20ALjSsbUBaErynU8TpevQbtix8VBSUk7FE3UaH2mF/STCKo8IdlDhoxCdiNsCoP7Y7mHhH3A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <87a0153a-aa90-6358-54eb-e78d005bcb18@suse.com>
Date: Tue, 20 Dec 2022 15:44:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v2 2/2] acpi: Add TPM2 interface definition.
Content-Language: en-US
To: Jennifer Herbert <jennifer.herbert@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <0548fa97-5384-94e4-7329-b019e60555f4@citrix.com>
 <20221215170934.123889-1-jennifer.herbert@citrix.com>
 <20221215170934.123889-3-jennifer.herbert@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221215170934.123889-3-jennifer.herbert@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0008.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::18)
 To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB6916:EE_
X-MS-Office365-Filtering-Correlation-Id: 1baa3db0-083d-4d6d-b06e-08dae298b1e8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vwzUv23GHhD2M/0uFk1jAODHaNkxAEdW+iobYcKJzv3aJH/Imhw3/+EAqDjH/gAZioZjTFFllY9p9QYEeXPj+bDEMBC8Umi50FoYHnjySZBARW/0oU3WoJBuf3BkxPa9MLrxQ/rx4TiKnxvhBSX6JMxhoA8TBC02W2w8OfzTTZrBVlvvS+rxCpFuKy9CcrSbElgdWDQtxagJS6n0ISAi6g/8Lgo5MQDp4qPG2LC7zrBnXCyK0ra/uke+ngM/Wq5MphwZeTxZpi00Vc6DP3VSnHEPyA2EV0FS/KNCZ+HKXoq+Dmd5XMPGLU+ppIZV9z9LH9b6HltRBGClwZIp0INEtmZspu1/J7D0SqXXLY04tRA1g6vSOmSWcKC8yHSb/OiRbZK/Lr7G4sXF7JyKGfAhDo0sUrOxKuH/25p/a4OJZrD3eB+hujq+L0l94Te1Mj+zk876J1cKeJ3XxLcCEJNGFOu/1NvYvDuSD8s/xy32zkqgrf5ctpBVE+mj1B+v7NclC3o29b+SCjAtrlj0b62ClazAd4113pQcEAIBPhofjXPpKz7csRwzsOWbp3MrVm3HpE7YKR9iOyIwyZ5MFLVMeg0LCzzX7maYEZfxO/IyzMkAYuvu7eNrDaSXxZR/qao03dC7TfLYsHND5sAy6qf+45OA9jAzZ8NmW6fbqPciyJ9JVzFTf9GeCaVk5SS/Lu0URtAcyC5ssyLidQNFDd1OGhLfp1EJSG4melSZzlsm17Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(396003)(136003)(366004)(346002)(39860400002)(451199015)(36756003)(86362001)(316002)(31696002)(54906003)(6916009)(478600001)(6486002)(8676002)(66476007)(5660300002)(2906002)(66946007)(4326008)(41300700001)(66556008)(8936002)(6506007)(26005)(38100700002)(6512007)(83380400001)(53546011)(186003)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WFZNOXQ0M3ZPYVo0RkVhWFM1NjlCdXlyYWFLWU1VWkdVYlIxamdZMjBpTUx6?=
 =?utf-8?B?TXNtd3V6UUpwMnFDMC8zeE9CVlk2YXM5T0gyT2QvK1Y4QjFrenZOck5Tbm8y?=
 =?utf-8?B?UjMxODZGQVFVanV2MmlGRVpGZUxpMGFNcXgyUTlBeGlEL3JFdTB1aE1mekli?=
 =?utf-8?B?MlJpenVrUm9SNGlGa3Y0OEpNUHk0K1JmakNmNUtlYit6bkxiVkhwZW5RdWxB?=
 =?utf-8?B?ZE1lQkRuSmx6TTRPdmd6UWNwcWc0UC9YQ0JDQmF0azhhK3U5NVRtUVprL3ha?=
 =?utf-8?B?SnVIY05Sa2tRTXV4U0xXeTVMSmZWTXF6RHdLVllEMEJmQjB0Y1AvN05wejVM?=
 =?utf-8?B?T0F0NWhVNjE0aWlYUk4zeXNVY3Q0dW9kb0l4UmR0RG05ZENUV1Jic1ltSlNm?=
 =?utf-8?B?NU9XREE0RkpFT1BZSXBWQkRCUWxJZGh0V2g3SVlqY2VsZ1UvdWFQWVBXS0dz?=
 =?utf-8?B?R2NSZGNvN1JrVm1rVTVVR0xOWEErOVJHMEZ6VE96YnZidkY2QjhCQWkvakFs?=
 =?utf-8?B?cWY5dDdhNWpiZjlaY0JMeU9NL1R5VmlOVUxxRVpxcDFjRE5CSmpLejVRckdG?=
 =?utf-8?B?bzR2aE92NUNuK3lrZFRaalh5VitsaExvUWNnMWZYdE1XT01GQ1M5RFBnTTBy?=
 =?utf-8?B?cEpyblpkQUJPdnpoZzJjZVRRRGlWRTlxRUo0aFpERzh5c3NtSjZrN3pOSEpF?=
 =?utf-8?B?LzNKVWpobGZPdjFTckhOQ1hVNnRSdHNWbkNvK3N6cXFMRE1ISHJpVnZ1MWQv?=
 =?utf-8?B?MkpWSDVJdW1xVUVlUndTblpaZk8wdWVxZ09XT1NJODR3ZVJZR3h3MHRVYWZh?=
 =?utf-8?B?VlptcFNIUkRLY05HTmNMUWcvWU81MGZtTEtNL0d5Q2VSOGljQkVqbmdDZUlJ?=
 =?utf-8?B?N04vVlV2MGxrY2RJS3huREd3S0FUZXA3R0JYQk4wZFhzV1ZDV296TjMvQUxE?=
 =?utf-8?B?NDRTbnh1MTdLUU40M25hWGJ2cU9OYVg1VDN0Q3RrMWdNQjQySjc1RG81K3or?=
 =?utf-8?B?Q29xZnIwUTN1K1J2ZytISC93d3ltclRUc2tvN1pFVDZ4ZUVCTlpvdE8ydEpm?=
 =?utf-8?B?Z3lqNXd3U2N5bTNMNHd3cXpPLy9JSG8rQXdVUXpaRFhyTVphejNGV1ZFTXp1?=
 =?utf-8?B?bHYvRHZuMTVNc3JDTFMzVkV3ZjB5WTlQcEJjUm8yM1U5K0FLZlBLb3RtMUdm?=
 =?utf-8?B?UmpqU2NsMHdXdllBN3YvcnptNDVqOEc1NmUyWHQ2UVdyL2dTYktsclBwL2dy?=
 =?utf-8?B?NDhSTW5icXBrVWxKOEJSa3Z1QmNad01EQm9LYjhpQzBHNzMyblRabmRrQWJZ?=
 =?utf-8?B?U0doQTZ6OFFnUWUyWERZWjV3UzhKdGJNMnpMbmNVNDRSeU11VVlJZ2wzZ1k1?=
 =?utf-8?B?OHB3MnBGNDVUK2NnVk42citwcVZxM3M2NUR4OVFXa0NpVkUxaGxnRkZzd2hR?=
 =?utf-8?B?WUt1SU9qOUllMEpPU2FFajZSNmpNVmhsU0Y5RlF1QnV2SUJxTC9ER3FQR3A4?=
 =?utf-8?B?WUxNNk5pU1hEZDNTTFA2VSt0UzdULzVhKzZUMXVHMnRuOVcxUEtQcWE5R2U5?=
 =?utf-8?B?Y3p4WHJjVlFDZFlualNTbHVqMmM3MXp3Qng2b0t4UTB4K2YzWHNBMGQzb3pP?=
 =?utf-8?B?QVIyMGt4SEE0LzFVR2k5UkFzVlN2UHdqUE0zS3RqVStEdFU0S3ZTTXBvSkNt?=
 =?utf-8?B?U3E3RjJwOTh5MngycWxWSm81NDlsbG13dkJaUTdndFRETURQLzFIVHZjR2dp?=
 =?utf-8?B?ZUZGNHBhcEVkQlZpQjBZS2NJb1E4S2J5UjdKRnlPSUJWaHdyWkFNVEVkNGhk?=
 =?utf-8?B?V09jUUhhV2hzdWVCTmU2Q2k1TlVENW1EUmk3U3NsS01lWDFGb1JQbGllV1VQ?=
 =?utf-8?B?Sm81Skw1MEMxTlhEd00yKzVUOE9CaTZadWVoWUllSkJVZStWRUVHZnYzNVNI?=
 =?utf-8?B?S2RTajZwaEdONUxjTzkxSUt5Zlp1cWhITjM5RzA4OXFtTDhFRXY4cjVYc2Fp?=
 =?utf-8?B?QUxFNktWRmk0WE4yT0lJRE91YnlTVnNhUkZIb2Ivd3EzN0F4TVdqdTh6SDNL?=
 =?utf-8?B?cmNtR0NFTnlwMzdhM1FwamNISTI2Z3hic0x6SmROM1FiN3ZnU0dESVArRHpo?=
 =?utf-8?Q?noRfYGelK6cm91aGRL354jpkk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1baa3db0-083d-4d6d-b06e-08dae298b1e8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 14:44:27.5475
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OY3Sa8UnVzgpdxYfu3h/ZdMYdeRwVODaPovdBkxhjXfcDsfWervkHeU899gU6EQSIODyWMIiJT2TC1HAK35DLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6916

On 15.12.2022 18:09, Jennifer Herbert wrote:
> --- a/tools/firmware/hvmloader/util.c
> +++ b/tools/firmware/hvmloader/util.c
> @@ -1009,6 +1009,13 @@ void hvmloader_acpi_build_tables(struct acpi_config *config,
>          config->table_flags |= ACPI_HAS_TPM;
>          config->tis_hdr = (uint16_t *)ACPI_TIS_HDR_ADDRESS;
>          break;
> +    case 2:

Nit: Blank line please between non-fall-through case blocks.

> +        config->table_flags |= ACPI_HAS_TPM;
> +        config->crb_hdr = (uint16_t *)ACPI_CRB_HDR_ADDRESS;
> +
> +        mem_hole_populate_ram(TPM_LOG_AREA_ADDRESS >> PAGE_SHIFT, TPM_LOG_SIZE >> PAGE_SHIFT);

Nit: Overlong line.

> +        memset((void *)(TPM_LOG_AREA_ADDRESS), 0, TPM_LOG_SIZE);

Nit: Excess pair of parentheses.

> --- a/tools/libacpi/Makefile
> +++ b/tools/libacpi/Makefile
> @@ -25,7 +25,7 @@ C_SRC-$(CONFIG_X86) = dsdt_anycpu.c dsdt_15cpu.c dsdt_anycpu_qemu_xen.c dsdt_pvh
>  C_SRC-$(CONFIG_ARM_64) = dsdt_anycpu_arm.c
>  DSDT_FILES ?= $(C_SRC-y)
>  C_SRC = $(addprefix $(ACPI_BUILD_DIR)/, $(DSDT_FILES))
> -H_SRC = $(addprefix $(ACPI_BUILD_DIR)/, ssdt_s3.h ssdt_s4.h ssdt_pm.h ssdt_tpm.h ssdt_laptop_slate.h)
> +H_SRC = $(addprefix $(ACPI_BUILD_DIR)/, ssdt_s3.h ssdt_s4.h ssdt_pm.h ssdt_tpm.h ssdt_tpm2.h ssdt_laptop_slate.h)

This line could (the latest) now also do with splitting up.

> --- a/tools/libacpi/acpi2_0.h
> +++ b/tools/libacpi/acpi2_0.h
> @@ -121,6 +121,30 @@ struct acpi_20_tcpa {
>  };
>  #define ACPI_2_0_TCPA_LAML_SIZE (64*1024)
>  
> +/*
> + * TPM2
> + */
> +struct acpi_20_tpm2 {
> +    struct acpi_header header;
> +    uint16_t platform_class;
> +    uint16_t reserved;
> +    uint64_t control_area_address;
> +    uint32_t start_method;
> +    uint8_t start_method_params[12];
> +    uint32_t log_area_minimum_length;
> +    uint64_t log_area_start_address;
> +};
> +#define TPM2_ACPI_CLASS_CLIENT      0
> +#define TPM2_START_METHOD_CRB       7
> +
> +#define TPM_CRB_ADDR_BASE           0xFED40000
> +#define TPM_CRB_ADDR_CTRL           (TPM_CRB_ADDR_BASE + 0x40)

What is the relation between these two and ACPI_CRB_HDR_ADDRESS
(0xFED40034)? Independent of the answer it would be nice to have a
BUILD_BUG_ON()-like check somewhere tying the two together (and I have
a vague recollection that I might have asked for such in a comment on
v1 already).

And since afaics the space at that address also isn't filled
anywhere in hvmloader, the description could also do with saying what
entity is doing that (qemu?) and hence with whom this needs to remain
in sync.

> @@ -449,6 +451,39 @@ static int construct_secondary_tables(struct acpi_ctxt *ctxt,
>                               tcpa->header.length);
>              }
>              break;
> +
> +        case 2:
> +            if (!config->crb_hdr ||

See the respective comment on the earlier patch.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 14:50:34 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 14:50:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467095.726098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7dws-0001Zh-IH; Tue, 20 Dec 2022 14:50:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467095.726098; Tue, 20 Dec 2022 14:50:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7dws-0001Za-Fd; Tue, 20 Dec 2022 14:50:30 +0000
Received: by outflank-mailman (input) for mailman id 467095;
 Tue, 20 Dec 2022 14:50:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bZ4d=4S=epam.com=prvs=4353f62a7a=oleksii_moisieiev@srs-se1.protection.inumbo.net>)
 id 1p7dwr-0001ZU-H4
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 14:50:29 +0000
Received: from mx0b-0039f301.pphosted.com (mx0b-0039f301.pphosted.com
 [148.163.137.242]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3ecb91f-8075-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 15:50:27 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 2BKAMe3i024058; Tue, 20 Dec 2022 14:50:16 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2055.outbound.protection.outlook.com [104.47.13.55])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3mk8mjsht0-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 20 Dec 2022 14:50:16 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com (2603:10a6:102:ea::23)
 by DU0PR03MB10115.eurprd03.prod.outlook.com (2603:10a6:10:416::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 14:50:13 +0000
Received: from PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::2da6:6d63:389b:3552]) by PA4PR03MB7136.eurprd03.prod.outlook.com
 ([fe80::2da6:6d63:389b:3552%8]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 14:50:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3ecb91f-8075-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l1rFNfqMHNClCKocS0cWyJHfNU4NxA5eMdDZpl0wtw/YhN7KHyQuFl2vaUXsUdPE3Pax1vTiZmykdMNuDEu6YL+pH7/krsbj8yYD5Qbt6sSLUYy8gAsLCEVsopormSHZwe3tclpwDH+amVlFbJcNqYnQjNjXWKPY2rVWGzzbigyaT9ZBvm+SNPCwKpZmzDmuc8/rADxYbwF3GzRTgW2UqX9D7rpagX0isjjYqyDO5OGBQ6s6tLs0gGdAo6s9xySDDmaQJPRq2W9rO8Pp07XfvtWzio9rbAI0+PqrIAw70UGBJFSqq9iYunJMriNnr3a5AMh3irvNMoZNaHwUxuKDHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r2ylN4NGfD1l/hT+56W7bcB6Q60E4babfEvcJ1KWBGE=;
 b=Xf9TGwEIpeBiOTJ8qfBCeIQFnnxrshYh0Q3Pv8IOAGPfZRPA3DsnGgtwtU2f6Gs1vTtHN1/uvNN5xgVcyGj4P6FTaauUznuFIH26TKHkEW+p2Dyu8Fwa0+QYHBiDnq5Qnt7ajBKEKn6poCc43UTwz+JttX0USUMNPyPfymkYLgi6xrQO49C1I3wpxfYtzXO9biit8lPQtzkOZ6ua+GPehsEYz3a4PEK9Li4iLvbwxsgYcczmGafkCVWnvlz4BKeT8M6K1dqW8ZlvW7+b9h2p+YcvzlWzsQjGtoH+ZFkKwe6+d7zsYX8s8po3U6GnKv/vJfW9VZUkA1+aQiNpJ+9MZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=epam.com; dmarc=pass action=none header.from=epam.com;
 dkim=pass header.d=epam.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=epam.com; s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r2ylN4NGfD1l/hT+56W7bcB6Q60E4babfEvcJ1KWBGE=;
 b=EljSXG6gGvuzkdOg+iizz3Pve5cxwIctMgiJ8SuoLVYLA4AKtTkdJwPAyfUFq+7EEtq1kzXxQHxKArj6G3p7jI9cIise5dHH3q1F9+41fycDDYloVj1Svro7RD+5ju0uKbQmM/03rJoGstNjfCBVUBmoN75lHc6CpLw6+/7AkKiHzJRxk9BIHlw4DsHYPSaOI3tRp1RFL+G6b7wl5rJDwy9pGqlAAQ6w0YM6bMvLxYRh60OL/7iVBmZWcjWvuxnUMtNI7L3JHYwDEh3+Fp6ij+EFpj6Ke8quwguh/oKXTBl9pySd20rEFmjEc4BhGXzsQ+XmdowGaQpd0eTPaA1TIg==
From: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
To: "sstabellini@kernel.org" <sstabellini@kernel.org>
CC: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>,
        Juergen Gross
	<jgross@suse.com>,
        Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: [PATCH v1] xen/pvcalls: free active map buffer on
 pvcalls_front_free_map
Thread-Topic: [PATCH v1] xen/pvcalls: free active map buffer on
 pvcalls_front_free_map
Thread-Index: AQHZFIJdWCkKZGBL2Uu+Qwu1QSrhlA==
Date: Tue, 20 Dec 2022 14:50:13 +0000
Message-ID: 
 <6a762ee32dd655cbb09a4aa0e2307e8919761311.1671531297.git.oleksii_moisieiev@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PA4PR03MB7136:EE_|DU0PR03MB10115:EE_
x-ms-office365-filtering-correlation-id: 9c9eda5f-a438-4203-6c58-08dae2998010
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 YRF87nhwTw9BPrD5OaufHn4DpZKUmLFtquK3I8E7a8rUIiUVqGjo8g4tmKqweMGTLCNERjk54cuu1gTcVHFl3AQouQIg5g9WXr9LIvCvWqdqaDDncHBgsUrzrbbPIQmOxKoD3jQ4kKfAd7KjhnB220cxn3EOpW9ugNiwYG43bcixQCN/JlJolinQSv4xyJSLXi06R00dN2yrPRZnrJrjCwO/uPqVS6C5MiCKn9z9MdqBst4u6PCzoOOnhBHJmkq1DckKrMj+tcVaFGu1qbpiZ3EHR1ZFfEcosu9AbFPGIkcvhRQF5ault0S99krMVt3zUM0OFRUGqTdtc+m5u7yHlj/3Cs7zLKRKrIh+aVIZLZHIrRNsUW/Qtw/9S4pCUs/TJYpdkFSAXA5gwP9Z+oH93L2p5thzxW+evJjt+HTrHWclStyhtoMtWGXUfktD+jCOIrd2nqIlpkc39nJ0yHCxViTP1rlDqi8oJZWPG7j1Fl2ngkAoD4GmfXJMB4UmMFl14wx5u6+XxA8LUQ6hqINaVPT1FdZ0bZntOhig/mr0/RgZ7mDtELPRRWn761+G8ocYYsTYe6QshRR8RwW+yb+dLOlr4+KjhWz6TdKZxEO9AeS15UyUfIhr4AujKN/8wfwipiCeTdv2cXaEqb5QICzUf9mVEgMq7Vx/VsmstFUnbDAy5RM8GAR0eWZ99ZlcJHcakPti7yLp3ISCCT99pfRBTA==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PA4PR03MB7136.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(366004)(39860400002)(396003)(376002)(451199015)(5660300002)(91956017)(4326008)(54906003)(8676002)(66556008)(66476007)(6916009)(66946007)(64756008)(66446008)(2906002)(76116006)(6486002)(71200400001)(478600001)(6512007)(26005)(41300700001)(186003)(6506007)(55236004)(86362001)(83380400001)(2616005)(36756003)(8936002)(316002)(38070700005)(38100700002)(122000001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?SY4aJPa8dYaxGFf08E+JVkUkf1qNvhA7HF24/AskLjt1pHPEv7UGsHgu6P?=
 =?iso-8859-1?Q?jTmRPrN+gZ8c6hsLpIWxwjrBgSOo6SDPyyjvYuzpuhArETV26ap4xVQ5l5?=
 =?iso-8859-1?Q?6Say/0zM6TrQSnMn5GGDmfsbrIfu5q+3UDLTXYXxEDXf9fWPJWruhyRJFe?=
 =?iso-8859-1?Q?Tx5BcKRWQEDe6JAwFddhYlCduVN76yjhhhSUtlpTD9zCid85UojD9B/JGd?=
 =?iso-8859-1?Q?jfk/dNN+W3O5vDgtY1kdmNJfc/2V/Vs9cNSbk4yVbXV1koqRzuBMOholmU?=
 =?iso-8859-1?Q?UopC/0cInFbDNkuMe19cT1U8ALCRTHtcQglrEasvjqH00pSacIrMk1YuT1?=
 =?iso-8859-1?Q?jWccRxkYbvxTW6ay93n1aKU+p+StpXJ799BU0EvPk8YdzJW1+Nx9XSUSy3?=
 =?iso-8859-1?Q?n3xtx1GvE0SgZd/UuyxtGQx82xL8ZkcBM7VwomPuuqk20JG51j8AGKUycY?=
 =?iso-8859-1?Q?JNH2qyFBleEMuaXXwgiDSEupnAXuMJ04XiZgEiOP6VXlf7WO5odYijybmV?=
 =?iso-8859-1?Q?Ui7zXOPk1UnAbFodOm8wNrPQloU0H3zILLXTS377zSGLG0e6CFo8SeOpnI?=
 =?iso-8859-1?Q?5tSyrTszjl9I1pe7hVkurv/OJthKdncMoyd3fkGdQtA55b9FdizyYVPUjh?=
 =?iso-8859-1?Q?g4rhU7ntLtB+5sthkHXFw4pmPC1DJcRZc8TsqTFYzE9iAuo6zIHgc6TCrv?=
 =?iso-8859-1?Q?RST/3yc5fnPLiaSpMZnXKyJVK8UlUT9pqC3aTkGF/3QnGphHgJhxgL8vRc?=
 =?iso-8859-1?Q?7oq5lQY0WiDlDN4MqicCUny9zywXUoBW8wSuLpLZflfTGTxzlmDX/BckwZ?=
 =?iso-8859-1?Q?i4PmhOzXTXk5YV8p+8iBfnOEQkFxz7gSyI6fjg+RXoKcdEn04AjzCEbTqp?=
 =?iso-8859-1?Q?/6uBFjSoySy4SCc87P/aJoirhQCNB6/ModBcFSKkCh9gZvW79/qiKIaibF?=
 =?iso-8859-1?Q?DnL7dqSVAtiNJo/ubN9VN135RM7J3JfUx1kdhR/bgQXp3Emq1A2kM6w9HR?=
 =?iso-8859-1?Q?+DMF3WaOJZEOWewWaE5W7arqSftHSy7pWdiY5Zy5Q6Jc5hQXun2Ko1+/fC?=
 =?iso-8859-1?Q?Wqh+ZauueLSH2wKtTX1TJ46zuEGVsyz77x7reGJs+EoqdFGuvmV/pU5QBv?=
 =?iso-8859-1?Q?g0RXoI6QheNzDZu705R3UwXvCCuJVAZTXSdxaN70yt8pcXylMAWXJ+y9VP?=
 =?iso-8859-1?Q?XPap0jWTF7iNjRQtwb7ZU9eR32Ce+YrI11zH9ZKaVsLV0lZEUJ8bVpBSrX?=
 =?iso-8859-1?Q?NxBx6t+1DnEFWkJbcD/SVlhs/USPEpjKyh19UjhXmFb0C/09D3vZB0uxUC?=
 =?iso-8859-1?Q?hsya4pwtppPJ+vjrg3A+6pgTfZ54Q1kefLl2OIpj5qWql4heBUmjMdz6rJ?=
 =?iso-8859-1?Q?joduPEFn9KlrI5vp+9WL7SmTGenmNcJj5y9+skHDh754TnGMzuTEDNDEf6?=
 =?iso-8859-1?Q?BFcY4/wJgBF1r7nSC4+esnLOOuZmbLe2IS/i01gBH13hI3vEzUPCq32vy4?=
 =?iso-8859-1?Q?Yk4DVwtWB6HA62IRg/qcrV9CpkqrWwn/hMHVL/a7PbbiDlZ3Ta77AN0pxh?=
 =?iso-8859-1?Q?rKUkikbRODQqJKZcRqTj28X+U4aoO6koPeQHhlo3rQymU0xj/LfqZTqpv8?=
 =?iso-8859-1?Q?o0hPLo0gs+uLT6riTW0IlfeaPgYkmZ7+hGzHcAokUamjDHhLnqeRKpcA?=
 =?iso-8859-1?Q?=3D=3D?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PA4PR03MB7136.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c9eda5f-a438-4203-6c58-08dae2998010
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2022 14:50:13.2623
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b41b72d0-4e9f-4c26-8a69-f949f367c91d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: PS9ocrx2nL1XQyOOS3rjyxk4dcHx+BE0+pvFXu3zA/kIhm3m6CdE4CHpywhDwQ5JBmrfNqVftNtDMt9rnQwzRcwaJq3IeiXZ2Ytem6XyEG0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB10115
X-Proofpoint-GUID: w7Q0RQVzua-Rx8zOadUQG9YAYbk4Fq-P
X-Proofpoint-ORIG-GUID: w7Q0RQVzua-Rx8zOadUQG9YAYbk4Fq-P
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.205,Aquarius:18.0.923,Hydra:6.0.545,FMLib:17.11.122.1
 definitions=2022-12-20_05,2022-12-20_01,2022-06-22_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 adultscore=0 lowpriorityscore=0 clxscore=1011 mlxscore=0 malwarescore=0
 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 mlxlogscore=973
 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2212070000 definitions=main-2212200122

Data buffer for active map is allocated in alloc_active_ring and freed
in free_active_ring function, which is used only for the error
cleanup. pvcalls_front_release is calling pvcalls_front_free_map which
ends foreign access for this buffer, but doesn't free allocated pages.
Call free_active_ring to clean all allocated resources.

Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>
---
 drivers/xen/pvcalls-front.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c
index 1826e8e67125..9b569278788a 100644
--- a/drivers/xen/pvcalls-front.c
+++ b/drivers/xen/pvcalls-front.c
@@ -225,6 +225,8 @@ static irqreturn_t pvcalls_front_event_handler(int irq,=
 void *dev_id)
 	return IRQ_HANDLED;
 }
=20
+static void free_active_ring(struct sock_mapping *map);
+
 static void pvcalls_front_free_map(struct pvcalls_bedata *bedata,
 				   struct sock_mapping *map)
 {
@@ -240,7 +242,7 @@ static void pvcalls_front_free_map(struct pvcalls_bedat=
a *bedata,
 	for (i =3D 0; i < (1 << PVCALLS_RING_ORDER); i++)
 		gnttab_end_foreign_access(map->active.ring->ref[i], NULL);
 	gnttab_end_foreign_access(map->active.ref, NULL);
-	free_page((unsigned long)map->active.ring);
+	free_active_ring(map);
=20
 	kfree(map);
 }
--=20
2.25.1


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 14:51:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 14:51:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467104.726109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7dxX-00029t-1O; Tue, 20 Dec 2022 14:51:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467104.726109; Tue, 20 Dec 2022 14:51:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7dxW-00029m-Ti; Tue, 20 Dec 2022 14:51:10 +0000
Received: by outflank-mailman (input) for mailman id 467104;
 Tue, 20 Dec 2022 14:51:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+pxk=4S=citrix.com=prvs=3460f7db1=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p7dxV-0001xk-VE
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 14:51:10 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7a6767f-8075-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 15:51:01 +0100 (CET)
Received: from mail-dm6nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Dec 2022 09:50:52 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MW5PR03MB6959.namprd03.prod.outlook.com (2603:10b6:303:1aa::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 14:50:50 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 14:50:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7a6767f-8075-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671547861;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=KymzHyF0sYV1bpccjRYtSiMvhK76KC21Yhf9X9PE1jU=;
  b=M9lddMbxkvRaqIACV1+wOfbKdvXb+bBoCbNdyst5ntVejo6DZuP+iJ09
   0oV1QwA0h+DvEfVgLnmnOOLfoQl9AwRfhNHXh6H6MsK2A6TDZS3GmLkWu
   8sNzqseepCE6GrmiASPZDsU5BWOOrGt+W0ZLil+eLTgsBPlCERLg+3mBn
   o=;
X-IronPort-RemoteIP: 104.47.59.174
X-IronPort-MID: 91778584
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:sHXoyKxF7OW//wlK92R6t+cVxyrEfRIJ4+MujC+fZmUNrF6WrkUCn
 DFNUGqAOveJN2v1Lo9/OYqz9EkGupXSz9NgQFFpqSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkP6gT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KTwRr
 9tEGhEUV0iKi9vxzoy8eLd81st2eaEHPKtH0p1h5RfwKK98BLzmHeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjmVlVMtuFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuqAd1NRODoqpaGhnWJ6nIQIUM2CWDr4vbkph7kcOgBM
 hA9r39GQa8asRbDosPGdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QOtsU7WDgr3
 V+hhM7yCHpkt7j9YW2Z3qeZq3W1Iyd9EIMZTSoNTA9A79y9pog210jLVow6T/LzicDpEzbtx
 TzMtDI5m7gYkc8M0eO84EzDhDWv4JPOS2bZ+znqY45s1SshDKbNWmBiwQKzASpoRGpBcmS8g
 Q==
IronPort-HdrOrdr: A9a23:MHmSwaATB0gwpQTlHemi55DYdb4zR+YMi2TDtnocdfUxSKelfq
 +V88jzuSWbtN9yYhEdcKG7WZVoKEm0nfQZ3WB7B8bAYOCJghrMEKhSqafk3j38C2nf24dmpM
 NdmnFFeb/NMWQ=
X-IronPort-AV: E=Sophos;i="5.96,259,1665460800"; 
   d="scan'208";a="91778584"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BmioY4o+8AxczSThuNfHqvPBWrbrz3xY/PeT9E1LXLaDTWWudaV0anH0llxTAPxKFiOU1A0cGi7xc34zPSAmaOyfPx18wktc2yYu3LM4ppX7JQNKgJG2P5e8V4CNgqJl4s/Xh3Iu5JW6EX5U2XzqQ43iOhay3/rN5EI8rxCeHYbo2I7fMgnszDuqeOKzb65hfcsXaW1UUit3auPG1cISyVqrXFEB7EoXAn27iiaxCs784P+j74Tvkb7KbSBiMr0QeLGV1g0vsGUlKBDuCwT+da2b5aDszpXJRzeRlCiWmXZRgcB2yr2ythUvWyOcx+RmzIQtY9x6w7TRIK9ubOLzKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KymzHyF0sYV1bpccjRYtSiMvhK76KC21Yhf9X9PE1jU=;
 b=iMLEy1He1tCvdyX9sBN+wCW5XGHN4IYWeVzBaO8a9CvB/fXUMZqZWpORe6Lot4k5L0Nxnzm70VbrLXYl0TocLHjitXIV1VcUzjOVKY4Thi3ztKHeUjE5x/HvTC/2jr++zyeJiQuFTv2MLErcGwsROyBM8IOhqgxfmyHEHH5Pg9fo0mCGAMa2eXmCCX05bTpvs7DrzF49fUy7SS4REcSjDppdjeSNaKp+AWUVm3iQ9jUUbC4cyBZkF2MF890mC60rKdtpR95AZadWA6ewoEE16Neb7LAWDgMm7yhmr5NxhAtPc1xcNpdkREFIAKr7+1k5cYoFlbFqRnfm9HxaOLaieg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KymzHyF0sYV1bpccjRYtSiMvhK76KC21Yhf9X9PE1jU=;
 b=lQen4IqnjsKKiQ/w4gzvjuZcWReM+p9Iks9v/hxAlqKM/4xKTdjLV9Q36Gh4QQKiybopV7F4kuJuuQ8rR8JedM3NKmy0GHzHJZEV1GqFO9VM4c2VPEKRa7oNj2HMtSSvTuFXpnYTjJjS5eJZIG3Jy5UbJNGjDAQHy0WYnv18xQI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Sergey Dyasli <sergey.dyasli@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 3/3] x86/ucode: load microcode earlier on boot CPU
Thread-Topic: [PATCH v2 3/3] x86/ucode: load microcode earlier on boot CPU
Thread-Index: AQHZE7iZ8bzRRxQprkqqSa5cEoE/Mq523XSA
Date: Tue, 20 Dec 2022 14:50:49 +0000
Message-ID: <43cbf750-d682-af37-ac2e-60229a77bf98@citrix.com>
References: <20221219144533.19836-1-sergey.dyasli@citrix.com>
 <20221219144533.19836-4-sergey.dyasli@citrix.com>
In-Reply-To: <20221219144533.19836-4-sergey.dyasli@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|MW5PR03MB6959:EE_
x-ms-office365-filtering-correlation-id: e1369cdf-2cd9-4f5d-098d-08dae29995f2
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 MLutFzhfuCzJEVoCjUvGE5cSvMtd+6yz6EursrlhzhLbfRVA8PUBAZ8+RXWyuslCPP+BbxkktFofmtakuu4YIS3n40AaSSr4GmAoIxJeHPNgMmmqr3/U19KBTS6Rq9aLuhDv5tukPE+HoS4jnSkoQXkwcugvmXG41r2jSzgjxKN87pyIlKWy8VSPXO2uVPL2zOTk6ceSUA+1wXKfE0OOgmM+HEvnq88M4pOrJEe+TLOYeSzAWFPnfjJhz2xu8Wfavzc2uvPAdMFEQPTBvIojEYURVgUGRnFYdOeD4kpaFFE/nP+cp/neMSZY63J86aFVDHes+geKAxhGnzebYDsTTfwgZxNZG9ec0WlVDAElbQBKPK6/oAMu2pwr9V/D22btWwMOPDzEgqNW/SLXgYSVXQ2SjCn7cwsHp3v7t31VMQd5TNlxwZ7qzvf/6gHeDYD+bZuWSfhTMNOMDGT0qd9PDk/s8i/ChPK327Vq04buVd8tcnHm4HJscp8CCZno8z8FPOOj0NANJyROvy6LQ4onkF6DqBRFJZzsQFGQDiJNNp9R8+vEWOIX66LvMu1hWeltg3wi87vJMyPEMu6i8T5V4A5zM0c/zJE8W8KXLOWyUQwxfwaMguMEO+7fkdooNj40UmRJ2khnMgxh7bV4dBNw9QGkpg493KhKvKweKqFApr3l5NRfMtD2B3CcCeGDVXg4uQjifmD8B/hgLE3wIT0GRr5/HHP6EBz3W1RMkWbbayVSw1+P8qsmn+W78V20OiyMUCH0q9bfTf2CWGcSlX6TUA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(396003)(366004)(39860400002)(376002)(346002)(451199015)(66476007)(91956017)(76116006)(86362001)(66946007)(66446008)(8676002)(4326008)(316002)(64756008)(31696002)(8936002)(5660300002)(36756003)(2616005)(66556008)(6512007)(53546011)(6506007)(41300700001)(71200400001)(26005)(186003)(38070700005)(122000001)(54906003)(38100700002)(4744005)(82960400001)(6486002)(110136005)(478600001)(2906002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UllRZTc4ekpIRWw1UjFZbjk4eUxxNDd3VVNKMndpcjlhV3BqaXM1cnE0TXph?=
 =?utf-8?B?ZmhzaVpFeVplNmF6NGVGbSs4SUZuN3ArZitVRTd3Um9xaHEzOGZwcy90S1FP?=
 =?utf-8?B?ZmI3VERFdjFpbWNCazg4WENmb1QvaU9VWDg0U0JZTllXeG1vVTNzQ2ZTd3JR?=
 =?utf-8?B?ZXdzYTluQ3VsN1ViQlZselNka1lXU1NMRmIrVS9lOWtoOWU3NlA3bkVneXZB?=
 =?utf-8?B?Q3QvQm9yMEVmQ01Hc1BFbXRBNXpaelNIVGxaSXMwN01RZEJLdFMreWowNWo3?=
 =?utf-8?B?RnBNdWRpVkJwSExkNlhjaUFXYzVVRU82VFg4NHFEbzRFcEJBVG10aThMNVRa?=
 =?utf-8?B?YW9Tek5ub3JaaXp1MWhESDRwT0RScGNpNFNxcmJrNGhnVi9RNHk1RFR1YjU1?=
 =?utf-8?B?RHNxdE5hNW9Lc3BmVEY3QTFucjdha2o2MUk2OG92VXIrRmU2Vm5obWc2QXlN?=
 =?utf-8?B?RjFnQ2tYWlpFU3pUMTNSUWhVU2JwQ1VubUxXZW1BYkZuZHV0NmVsdjNEYVg3?=
 =?utf-8?B?SzlkMStvTDNjT0pYaHdGdGk4UWhyU1FtNFAzdU5WOHJkN2MxOFhwOU81NG5k?=
 =?utf-8?B?amp1MVgyZEUyRjhkYkxxckNRWEdSS3pMSVRoMUFSMnhTb1UydjFqNzlVMTFS?=
 =?utf-8?B?cTFIRWZYbWRLV2wyeXFNU3J4RE9HazZkQmZMSnVtVVMrYUdaeU9lcFdJaFdt?=
 =?utf-8?B?N1kvbGRmdW5WbzV4OHpRT0p3TGsvNzU0YTZDdGlQb2tYMnhxaWZWckRhRDNo?=
 =?utf-8?B?MnZ4OEtJc1ZQZnVrS0pRV2FwdGozU0lSb0Y2WmU2U1YxUUZtQStwTnVOb0RI?=
 =?utf-8?B?RG1QaHpUMmhqQUxjRkZqZW9XNTVJRElQaUxpZjY1RDBpOUNDVmhmSFF3T05l?=
 =?utf-8?B?NFFJUjRVRWZHUkttVmRxeEZiNlZHUjBxSXl5OTVtdVo2TERvYlUwQUZNbmlY?=
 =?utf-8?B?YnUwQ1ZwT3NNOUhFVDQwR0t1cllDbkdoTGlHZmE5Wko0RVVVNzE5cU1PaEVB?=
 =?utf-8?B?MDFlZzhzVG9ORWZBOHQwaUIwbHlQSjZzRmlRcGZQblh5SnRyVk5qRWdRdFFo?=
 =?utf-8?B?TlU3QVgrZC9lb1BSYmZlcEg2UHpScVFFODVGdytMdWtCLzE2bnByR1hPY1RD?=
 =?utf-8?B?cmxvenU2N3Q0VG1zTE9UN3JSekpEL2pLNFJrQjAyOEhQWW9WZUdzL09hbTNL?=
 =?utf-8?B?OFRLbEs4UmVuRDZvdlZDcXlkdU9kbjdSbHJFVjNJbzV6TVJRclFDb08yL2F2?=
 =?utf-8?B?c1ZZT3dZOC93ZDk3S3I1RkM0TzV0SWtIQjFKbFJBNXo2bElveW1zT29VN0NT?=
 =?utf-8?B?aVJsRkkwZDZ5M1k4RmZneUZ6UGIwWG5TMnZqTTduRi9FTGxMKzA2d2pUMWdH?=
 =?utf-8?B?Nmk1bzhvaDVIV3pMU29xd3hIZVlheVpNd2N5VWhtMUhUMTBSQXBydkl0SXdX?=
 =?utf-8?B?ZXo0WmJoeWFZWXJQS0l2R0svS3ZXQjVYVlRQK2ZHcFl4UHBWUDZUVlRNVWQx?=
 =?utf-8?B?T0VldjV0cHhvSjBIVXhOWEQ3NDQ5WWdLMHlveGZZUXI2WGVaTWNlNHRMUU9j?=
 =?utf-8?B?RzVNdVM1clUwY2g4dENUK2hMMFNQQ0w1aHV0aUZsa0VWK3c1ck5wcU5KdFN5?=
 =?utf-8?B?OS9QUkdkcWFWSnZCcmZqTlpocWszNUVUSHA5Z0lObWc3Z0VTdHZxSFZ5SnEv?=
 =?utf-8?B?bEw0TExkMVBud3J3ZE15VkloYTNEMWwyck1oNDZIN2FRYkROK0oxc3QxbDU1?=
 =?utf-8?B?UGdLRUIxMER3MFNPbmxhVnk4ZnFrWHNHcnU1VkUwREx6Z2xxb3VIbEozcEVX?=
 =?utf-8?B?eEJMSUxaRVZqcFpoellVdlVHQmE1MTBURFo5bDZXN3B3ZHNnTW9pK3FzdGt1?=
 =?utf-8?B?WnBnR2JzcXlVajVrcDBvZ3hWdXJHaGs5akNiWnkwU2xXdWlUV2g1QlB5R1pU?=
 =?utf-8?B?VmVSN1VsWUcwWkVhM2h3WGZZaUpHcWtNNTN6Q2FRWkxPQnJuQkxuZWZrdytE?=
 =?utf-8?B?eEZtTDBId29wU0M0ZFBmWkZLUkFNNlU2MmlVb0Vtamt6bG9tSG85S1UyZ0Vn?=
 =?utf-8?B?RkYyWkxjVEFyRGJJMmRzbDhiRURQdUlOUDVHcy85ZmxCZXM3YnE2aFJERUhH?=
 =?utf-8?Q?lVoGfXrCFvG0XS9Dx2z0tAygr?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A6D6D319C90822428A2E71E068FA9B01@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e1369cdf-2cd9-4f5d-098d-08dae29995f2
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2022 14:50:49.9575
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: f0VrPVCxFJoAFSZoKhYMIpTNvOUhRaF1ExDjF+V1+G4UqFcGCPdr/Tk93FDXUdKM1vMqFj/XRQt2blpbtTo/xpN5KyUTiCOCj+VDZBSyoAM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR03MB6959

T24gMTkvMTIvMjAyMiAyOjQ1IHBtLCBTZXJnZXkgRHlhc2xpIHdyb3RlOg0KPiBkaWZmIC0tZ2l0
IGEveGVuL2FyY2gveDg2L3NldHVwLmMgYi94ZW4vYXJjaC94ODYvc2V0dXAuYw0KPiBpbmRleCA2
YmI1YmM3Yzg0Li4yZDdjODE1ZTBhIDEwMDY0NA0KPiAtLS0gYS94ZW4vYXJjaC94ODYvc2V0dXAu
Yw0KPiArKysgYi94ZW4vYXJjaC94ODYvc2V0dXAuYw0KPiAgICAgICAgICByZWxvY2F0ZWQgPSB0
cnVlOw0KPiBAQCAtMTc2MiwxMSArMTc2OCw5IEBAIHZvaWQgX19pbml0IG5vcmV0dXJuIF9fc3Rh
cnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApDQo+ICANCj4gICAgICBpbml0X0lSUSgpOw0KPiAg
DQo+IC0gICAgbWljcm9jb2RlX2dyYWJfbW9kdWxlKG1vZHVsZV9tYXAsIG1iaSk7DQo+IC0NCj4g
ICAgICB0aW1lcl9pbml0KCk7DQo+ICANCj4gLSAgICBlYXJseV9taWNyb2NvZGVfaW5pdCgpOw0K
PiArICAgIGVhcmx5X21pY3JvY29kZV9pbml0X2NhY2hlKG1vZHVsZV9tYXAsIG1iaSk7DQoNCm1p
Y3JvY29kZV9pbml0X2NhY2hlKG1vZHVsZV9tYXAsIG1iaSk7IC8qIE5lZWRzIHhtYWxsb2MoKSAq
Lw0KDQpDYW4gZml4IG9uIGNvbW1pdC4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 15:09:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 15:09:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467113.726120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eEg-0003yq-FR; Tue, 20 Dec 2022 15:08:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467113.726120; Tue, 20 Dec 2022 15:08:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eEg-0003yj-C1; Tue, 20 Dec 2022 15:08:54 +0000
Received: by outflank-mailman (input) for mailman id 467113;
 Tue, 20 Dec 2022 15:08:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7eEe-0003yd-NQ
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 15:08:52 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2073.outbound.protection.outlook.com [40.107.7.73])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3532e930-8078-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 16:08:49 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6949.eurprd04.prod.outlook.com (2603:10a6:20b:102::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 15:08:48 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 15:08:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3532e930-8078-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UlK2NwNiiWNumktXhQdutJPhbpUbhUABIkOJp8z3x39oeJEvcxnQ78u6/tP36OUVxHYxG/azO9g3+XEp+whG0PHYrXTnFQLSu1dMF61ArBGyxTOSgGbSKMJ5Jjr6ZY/4pz9ZdTKikhQUuAQQ5QckZSvhlQj0a9izTTdCUQdN+HMDaMLNuyQO4edtH8c/jFhxf0BMne0nshfJaXVm25CNK9lGEFzWKjOwsJCTnfYiO6azhjbUMLT0bE2iflSVEho4uOaPantyFQ1dYUvAi8/n+CwUBjgkt7cgLRB8t3yhu98CC9RF8SnvV3cmDB+4OQAqk7mdIUBdTpCadNobVp8GEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f0zqbx8KuSk5ZlN32x2thqPAFk5deW1dN7LHdDCeExY=;
 b=EFWowL2dmr43JgBhV0obLESMVv/jlzrOi85lb1O9B2GhpTYHjvIT6/pUGB4Wqny1pWL62f54SYC/ruXg1WqgWReOlCSbO8jt6IMPLxtMdHNyMVJq6Qtc2r/00pIq+cxltj+fpyb4eadD8aSArM1UFHtdLelV5ZhCBMTz0WwvAtp0D9A4GFwv0K5zjUhkQ+ub5e9GFv8vlp2fSQ1Iw5Riryep+sXP8PXsSL0c5bZ1qSo8zG/pDBtJoo1jwPyzI28Sx3p27zFE+YaOee+RQJA328k+yIndw4tjM4+28duTrdO25WNkcBRv1z/lk6Q6lfd1z5boaAuTAxD+zLnfYESKYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=f0zqbx8KuSk5ZlN32x2thqPAFk5deW1dN7LHdDCeExY=;
 b=4mouptQbxA49RakURepH5QqN3a1BNeQEUw4cQjsLCM6DOOFjobc+FlSCpLEHc6RrUInYLnp7WMD/oFv1BfdtYmM/H777716V+VBPQVTMdK4WqhD/7veV3S2FAkaMZOTZD5IiQnZDQyNPVSKyfon6FE+6kRnBPGDc80BefHWktwToCAU623rUUZrQyZ6PoXgQbG5Eb2RYOq0bqSS93SpLyPEvRitWENXkmmOZkWSASI6vA1E94+BUug2AGMzwxC7xfCWncWCT1j9ZVbUhUHr4TrFKuHMLqXYtZ/18xh7KpwJmFJF1+tffbIZed2UFG+O219/ZWJU15T6n7XwS2G7k6Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <92d82899-4e74-8638-4a60-09104ba16c9a@suse.com>
Date: Tue, 20 Dec 2022 16:08:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 02/22] x86/setup: move vm_init() before acpi calls
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Wei Liu <wei.liu2@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 David Woodhouse <dwmw2@amazon.com>, Hongyan Xia <hongyxia@amazon.com>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-3-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221216114853.8227-3-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0180.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB6949:EE_
X-MS-Office365-Filtering-Correlation-Id: 387118cc-78a9-4624-4e8a-08dae29c1887
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	raPnXnz0hf2omHaswcKk+dh4GU1YSc9+5/NM3V1ULUCAPsMkSpzlEkBV1z80QtPG3RMzlFpWNwP7EogUePB3OcOupqDMasZKmMCQclLWRlDlJBlal4OYFBP3r0PmxfQgRp7LYxp9WVXDovlMoEfocBmfFi1871+IKyuksu02Frqf28dazawf5QT+wZ9ehmUGeZXWfLGw442xveAWR/XEiXJdvvlS9f7CxyDNMspNncfO+IUeue82nxw5dC7Em4a7lTkZYXbsptnNYjxWL73ZreKoSR9nR1QxrVzcRzm4NBnxEcsG+/FHqofkTR+MfnOuy7G9NtLKT6ByMkYyh4QmgpM4uZu5fnWOViDfnLEXw7ZmeXTAIqXqvXKNSNP5azRZ9ayQdZSvNalL+aVJDKohqNDG/Uxzd/Lb1ryLdmR4PoMMradp7RZdyVci3cmTey5H+s/lzm0SmD2jwwUHc3rqT6B6j1LiJdy0nPeg/2PhNuTkSTs2trb7SLj6oda8RFm7UqZ6yLR3KaeoJohVwCLvfc2wnrz0I/LWzATlPaKUi9/f8s19FC8IqYq60l2FxmJwET+mpjc3VUzGtO/sosBRDmSIyt12ck6NWBL7waXpZsIhZ5/bMVO5oEM+JRyDtBQhQ9JB+WpIjgrdPU+C6r7YyHAhxILWM2hxv6elGxENxvC2tc2pLG6SLgnWfK54/yW1cBI59qnXICNU+JI0ZHSmvjBXWEAgjhnEvx5mPcwGQMk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(376002)(346002)(136003)(366004)(396003)(451199015)(316002)(4326008)(31686004)(8676002)(5660300002)(86362001)(6512007)(6916009)(26005)(66556008)(7416002)(2616005)(66946007)(66476007)(31696002)(478600001)(186003)(6506007)(6486002)(53546011)(38100700002)(8936002)(36756003)(41300700001)(2906002)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGZMVTh0ekVXWFFjMHJ1RmNhdzFNWjhFNzNJc0wvd3pmSXZOYlJxTDcvS05P?=
 =?utf-8?B?ZEFXSm5CV0ZPMHZNSm9uakEwSW5KUXNvM0xrK21JUDJqSURzU3l4aFhBM29X?=
 =?utf-8?B?eXFIbzdPYlNHbVg3c2UzN3VxQ0dSbjFZck9KSC9rS0NVNXdlV2M0a2M3Y0E5?=
 =?utf-8?B?SlQwSkV0QVdPYWtXZTZ5M2laVTcrb3VnVUNxR1VXbGpvVzJWdk1hMWNtTmFC?=
 =?utf-8?B?R00vNzlhZnlYODczbmlHZW91RmpNM0lORVc4eG9tcGRGbmpxWGpMUWgzSU1l?=
 =?utf-8?B?RS9JYktYZjJQbnVpV21LaTVsaHM1YlF4OFBBNk1VMjkvNUlic2pTaHZHak8y?=
 =?utf-8?B?bXJvMXUxNlVyWjJVeEExSVRTMlBJSkNiQUtBb1pQV0ljMjlNNVMrVk1TdjBY?=
 =?utf-8?B?NjdJUG94VFAwUDlqUHlNNG83SzZISlZmdzQrMFJtbjc5RVlobFJnM3RGeGpN?=
 =?utf-8?B?SmZaUGtjRkxmQzdtUzRLQWNNQmVVRWJaWVlwOHMzekdBcjZkUlo3RU5UTDll?=
 =?utf-8?B?ZnlJMm9CSk5EQkxZdVlzbjcrcEdMK0RXYkpBNXVBdTUycWRZY00zOXVJbUVD?=
 =?utf-8?B?ZEl0ajlnbDJzdDNTZXhhWTVjR1h6U0dsZDVwQVRJRGxHL1N2ZVZXYldMN2pL?=
 =?utf-8?B?eDdYQ21CQnVNWFRBZERNVTlaRXV0K2h5NFdZNWpDZDNBTUNCdS82ZmhISEpx?=
 =?utf-8?B?Q0RSdktaZy9tR2NHQ2JQUHFzMEl3ZFJVR3QrR3YrMzN4Q0s5ZTdjWHFoQUhp?=
 =?utf-8?B?T3hnU1RxQWFSeC8xOUZvbWUyaVljdmd1NmlYSjFpbitNbXFJdGptRElOS2ky?=
 =?utf-8?B?OUJCc3pxUHAyUE9GOStYbkRyazBUdFJCMnFwdXloWGxxWW1aOU5vc1BuSFc1?=
 =?utf-8?B?UW5PRnZwNUJsUEVvTmpZNFlVRlFtWVc5MVZiRWRQZWFUa0ZmV2tnVG5iWHZZ?=
 =?utf-8?B?Nm94Z05nSGNhQitMTEhyL3NwWFYzZDRPeDRXYytoeWZvRGwxVS9YcjZuT1Fs?=
 =?utf-8?B?YnZIb2dzbVk3MjFzUEovZnZCNFhkc2NwRS9oYjkweldHWWJLTEVSTDBNN0Rr?=
 =?utf-8?B?ZjlHajk4cWk0L0xLZm1xNURodzRBdnRRYklzbTZsM2o1d1ZFSzdvL1UzT2oy?=
 =?utf-8?B?a2dnckJJdjJ3cHFvUWZLVmpuQkxEdWFkN2FFbFZJSzR3eStoUUdBT090TXo2?=
 =?utf-8?B?OTNLTXBKTXoyeVJ6S2NUWFYzSmcrcnNyYStlTkwyaFR3SHV1Wkc1Sm9laUY0?=
 =?utf-8?B?VDcrQXplMDQvbVdCS0lMUDZ2c0ZFMDV6VnlGUUNYSVV0WFgwdzJScTFqWmQy?=
 =?utf-8?B?MXgrQzIyYzU1SXRIV1FJOGhuNVowdnBnWm5na3VzbDExeC9nS3JPTnRndzNj?=
 =?utf-8?B?WVVkZzZDeW1nSktaNk9nanFlaDFXdDlTZGMyVU42aGlnYWx2em9tNWkxYmY5?=
 =?utf-8?B?N3ZQQytlemU3MDUrUXUzR2wwQlhhdTc4d3JUT0hQS1d0Y255MVhUT0lIUE0z?=
 =?utf-8?B?VEY0TzlCbEdjdGxPRk9EcjUzVytiNmRiZ1ZEVWhoUkhFZDR3bEluSk1uMGo5?=
 =?utf-8?B?UDFWVGE0MGVBMzZhay9jSDZRaW5UWWxaZ2RpK0hTWDNJbi9KQzhkc3JqTjFv?=
 =?utf-8?B?Ny9VNitpN0xOMlV2a1BVZ3VDTFkrNUpyUC95amN0a3RZNTVtRGlYVHRISGdw?=
 =?utf-8?B?cTVMVTVia1ZvN3NjUG9GWUxPZytmRUFiOXdGZTFTWDFtZ0o2a0tLNFdkQ2NY?=
 =?utf-8?B?Y2xxQkR2R2ZmTUtqQVFxQmFEZ2dSVllDZW92SXRzVnBsTlRtcFp1VFBqQ2I4?=
 =?utf-8?B?OHVwYVBnUzhCTGhyTWJqdU1aOVpaNW52enlYYXMwL0VzRG9HUjd2WkFYWEt2?=
 =?utf-8?B?eENaZjdFRTkzcVNjNXdQNjRSUE9uWWpyamk1a1NYb2YweGFiV1E2UzNvSWJt?=
 =?utf-8?B?SHgwNEt6bnN0RVZMMGNYUXNPd1lkM1c4blMwdWpnUW1zeE9SKy9rTmhvcUNV?=
 =?utf-8?B?TVdqVnFMd0UyWHZ0Zk9aOXhIVkVsTkVtakRpVXVncStVUEt5bmJPQ1ZGTWpN?=
 =?utf-8?B?S0EvWm1OVHBHNWxLQzJISzMzby8yNmdxOWZ6UmtvUk52UFp0Q0lyb04xMW55?=
 =?utf-8?Q?SRp+PyhGtGfG27Xv0EWxMcLcP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 387118cc-78a9-4624-4e8a-08dae29c1887
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 15:08:48.2048
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8m8bkeESvfTATn+hkwYDFW1c2UEr55ElD1i8cHu8PZLmh9t9Y28dURk+rO+J2NI0HYp4j5A38y9nSMa1mCuMgg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6949

On 16.12.2022 12:48, Julien Grall wrote:
> From: Wei Liu <wei.liu2@citrix.com>
> 
> After the direct map removal, pages from the boot allocator are not
> mapped at all in the direct map. Although we have map_domain_page, they

Nit: "will not be mapped" or "are not going to be mapped", or else this
sounds like there's a bug somewhere.

> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -870,6 +870,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>      unsigned long eb_start, eb_end;
>      bool acpi_boot_table_init_done = false, relocated = false;
>      int ret;
> +    bool vm_init_done = false;

Can this please be grouped with the other bool-s (even visible in context)?
> --- a/xen/common/vmap.c
> +++ b/xen/common/vmap.c
> @@ -34,9 +34,20 @@ void __init vm_init_type(enum vmap_region type, void *start, void *end)
>  
>      for ( i = 0, va = (unsigned long)vm_bitmap(type); i < nr; ++i, va += PAGE_SIZE )
>      {
> -        struct page_info *pg = alloc_domheap_page(NULL, 0);
> +        mfn_t mfn;
> +        int rc;
>  
> -        map_pages_to_xen(va, page_to_mfn(pg), 1, PAGE_HYPERVISOR);
> +        if ( system_state == SYS_STATE_early_boot )
> +            mfn = alloc_boot_pages(1, 1);
> +        else
> +        {
> +            struct page_info *pg = alloc_domheap_page(NULL, 0);
> +
> +            BUG_ON(!pg);
> +            mfn = page_to_mfn(pg);
> +        }
> +        rc = map_pages_to_xen(va, mfn, 1, PAGE_HYPERVISOR);
> +        BUG_ON(rc);

The adding of a return value check is unrelated and not overly useful:

>          clear_page((void *)va);

This will fault anyway if the mapping attempt failed.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 15:15:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 15:15:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467121.726131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eLM-0005TL-4d; Tue, 20 Dec 2022 15:15:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467121.726131; Tue, 20 Dec 2022 15:15:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eLM-0005TE-21; Tue, 20 Dec 2022 15:15:48 +0000
Received: by outflank-mailman (input) for mailman id 467121;
 Tue, 20 Dec 2022 15:15:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7eLK-0005T8-II
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 15:15:46 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on2082.outbound.protection.outlook.com [40.107.8.82])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c9d956a-8079-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 16:15:45 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7832.eurprd04.prod.outlook.com (2603:10a6:20b:2af::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 15:15:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 15:15:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c9d956a-8079-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WWvVQ66fGxk+5OG/WOWfG/ZzBNBcYus+pyJe/usFo59I7jrhcggmNbzzOE9b0pPBjfS6IiIDdTgIY17+3XhiGPZMpoSX0F+61Yh1WIWttyqColjpq+IRFe/OebwO9917MYgv5Pz8wNz4vVK7uluO/qTbDemxMzTalgXG4oVKjFVslf42TUxg+JbyctYEgdaRNj0BYYNDrP5G/9Ogz5d6wOG4cO9g+Cd3+/1agJjl9OWeM2Bc8NCwLWVB6U4/bHA53y2t7JvEqGh/6AHv1rHuIFyfB2AMCYdzs+H0dqOPJSD2o/2TORKudmSeWrcHzMDx4WW3O1+dUI6XmvWEdQOKaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ng7ZkDKheEp5vQSdVIDxyR9ss5uKnSuXcdpXQBfOiiU=;
 b=UggQ+240Uiaboy2T9DjWZw4fuqR+8Cvb5CIV8mBZfNgd4HELfsAUH1+1LLDSr6IDaBYU2K2xgP6iEXyoeUNZRLYP4QqcyNTLwgYaQxElAesMplgajez+CkgErP983LSrxlm910ZiJ81ywXjgtVAqXo+hRBElOltpSBc+L1HnCKxsqyxqqUJBKrwjO9B7xB1VEihbFOGxiMEYikiw2wCVrdI3CH6DMSUmEgChL2w2Itty+RDwVqh+4lnSNPuTG9abRltIlj/lcwT4lQZrcJBuNZ9DvmCO9dpCI6supUFLvECBuUThXiai0TCVMrj8eEaAYdYQtW/B9TsOr0MCeuA6Ow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ng7ZkDKheEp5vQSdVIDxyR9ss5uKnSuXcdpXQBfOiiU=;
 b=XxRrN+JPfsYAnmOSNR0OsfX7ETdtF8VKBlcHuO6nTaf7jz6KW4ckWB20nBHe3KctB682qkSKb40TobbbTwfiD45VXlWV2tS7KNbN4IYu7NEYkN8xtoctXcwq2wqQ5UROPlISya+oxAJk83QyB0dF3ei06A7j3MGK2q6PD2t0LMV2MROrIhjj8lcLn0rrztJ/zaestPLwWcaHNUrl3uFy1LdoxfBnQfPnOR9aO51/SPlJxObgHi3Z5uq290B8FPmiZHrqJiA25tvIsdhnxiYj5SxnQ6eOL/a+caNmqbHvfnxjM4eq+B/BSHaxzcmsII9XrlovMV1ySHv0nzBLZmy+cw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9870c796-3b1c-e867-fb7c-532441cc30d2@suse.com>
Date: Tue, 20 Dec 2022 16:15:39 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 03/22] acpi: vmap pages in acpi_os_alloc_memory
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Hongyan Xia <hongyxia@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-4-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221216114853.8227-4-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0140.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7832:EE_
X-MS-Office365-Filtering-Correlation-Id: 9545bf1e-3882-46e1-f554-08dae29d0fef
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GVHn+jdIcgK2Mb5KIoF8uVBbaQnsjzzMy2mw50ShGL3wnVUThrI9Mj5KF2R4kMPcoVham9+Isuy1MSv41AjW9TkriSMtbHTi8uR1O87Gzs4+bSHD4Iw8OInzoiaLJE/j0Qz4pl34eB5hUjfjTCJGTzhSGNrLA+7dpfNcFteVBHrohiMazYdLnCZdlVWi0XDuxxukt28cxdtf/PMJwtKBcMRunlh/PZPXfo+4fWOq4wOXaHnH6icyuAjs0WJL45Sucq/Efl2/YZfoescCDWF2TnyrUltVBXx3OYSbSo6xnYDhvMpTlIACeRptlecWIF56OFl4jT/k39wCK0Atig4eAvpgJ2/OFnJsOF5SrjOZV++9GnbviRFGjZOQs3FQuPvXeUUni+ddP/84euyHadir3yn9tV/bv6IvJsaxzkJd/GZy4OMTwZQ7TI0NlF5TrPXYPKnfEf3UgdWN+GhevBKndke9s2feZhAP5IQoh8PLcgl3Y8S9QPLtpNMNGZTjgKA6Xldqt5zsXvMEp6M7bOBxNuvix7LnhEMK+1FtOVeJRgheOFqqE5jseOXqttNg7HU130hpbASyTh9ulB692TCTgenGr4rsUOwi8HN3PI+spM3lsyj1QMdhaOc0bKsef7xYo7La2pXG4bxpmOIFm58vqtuWXMh3kQZ+ouqgPxOglvpSEHm5N1vF9ElzxkcYHihrKzWmXni4ONb1aYWYblTjAKZlbDjY5R8x6j6cnGx9epw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(136003)(346002)(366004)(396003)(376002)(451199015)(5660300002)(31686004)(4326008)(6916009)(8676002)(66556008)(66476007)(66946007)(54906003)(2906002)(6486002)(478600001)(186003)(6666004)(6512007)(41300700001)(26005)(53546011)(6506007)(86362001)(31696002)(2616005)(36756003)(38100700002)(316002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bGR2RER3TGNaTlUwWUtQY2tiQzMrU1R6emRXSHhGY1Naa2Z6Y2xNVjkwZEZl?=
 =?utf-8?B?aEI3UXFXbXFSdHBEaWxFcTlZYVdDSzI3VGltYWNSQnNsRUk5SU41d3VXZ1ls?=
 =?utf-8?B?SDNCRms3SjFCQjdmQ1JPWSszdllqSU1HT05BOEovV0lKODFLTDVjRyt1QTBI?=
 =?utf-8?B?b1RmTTJWS05LQWdndGNMMmFLRFJmR1ptYlVMNzA5MnFKNGFDN1M5c1dRRFJB?=
 =?utf-8?B?UTdxYlI3aHBDcVpZckpiSWE3cWcweVdSTVpKZCtXRmhPcUtjck00UnpnRzV5?=
 =?utf-8?B?Ty9ZVU5MaG1kYzJ0SndhWC8zU1dNejNuRXhsUDNlc0NrNElzU3ZjRjRsdDFB?=
 =?utf-8?B?Q3VYMENEUzFoa1dEYmUzVHVRWUYzUGZKdTlGY241ckYvdXRBSjhzZ0h6UGx1?=
 =?utf-8?B?QU9VNGkrR3RLWFFGN3ZYb3FtZWRzQXhFUFQzMnpOUUJwSzZRUmRxUjlHNFZ2?=
 =?utf-8?B?Z2ZQZ0wvSWlpbWNvTldmVmZTZWEvRXVtcm9XdWlkSGdRSWNpL3NEbFVtN093?=
 =?utf-8?B?MWt2OFpsRW9qd2dYNkFGcXA1QVBnS0RWMHVlc2lNUGJteWVRTzJlL2JYSnYz?=
 =?utf-8?B?Y2tRT2JnaTErbmpoNXJkVkhnUzBzb29GWkpYd0tVNnptZ1VITVFPUytWSytl?=
 =?utf-8?B?RVcvbFdSeUtrYUNGeTdxbVg4UjVpQ3ptU2w1dURydFlhekFRNGJ1ZlJzODcy?=
 =?utf-8?B?L3k2Q0VEa1JyREltQVdwbXJZSnROQ09PeGdEeW1vb0czL0JhWVZDRVNiaEJY?=
 =?utf-8?B?bWh5VHc4ZG9xSGZocXh0Um1yTFNySmpzemRHRUtEd3lZcWpsLzBRY0xwdmIv?=
 =?utf-8?B?Wk92NkdmaVhWWTY5N3huYzdwaTN3K1R1S0lma0g4dWlla2dCT0dVT1VVeVNa?=
 =?utf-8?B?enZaT1ViREVGVklDWUY1WkV2eXlqKzJWNllNZE1yczBWbll3RHd1RFp6bXJr?=
 =?utf-8?B?WkkyVnU2YmxReWp5USt4bU1CQUdFejFqdUFrZXNKRVhJM0xnYjlmVXJIN29y?=
 =?utf-8?B?QTFIdWNvaXZPNWxFZXB2YmE2blVXRVRCQXpZWnNYc0RJcEpZang4b0kzcmtL?=
 =?utf-8?B?RFZJeUIvb05TSDRIOFN2dU1rNkJrV3cvYjZwVDdneDRZaE5qK2huRGVnb0t0?=
 =?utf-8?B?MFFaTnJPRXAzTGR0dkR3Z1FuLy9LVHNwZnJZeGRMTHNHK09DWU5nZkZsSGNP?=
 =?utf-8?B?TW9nTE04eHMzWVpLdHZxRWZiVjBBTFo4aFJtaFBpQ05DK0xjM0kwclVDV3pG?=
 =?utf-8?B?c0dzZlF5bkxsNlFhZTlIRTFTMVRlaHgxRklXdjU3ek9xRGFXbjlQZW56UC8r?=
 =?utf-8?B?NEZHcy9TZE5qTkVtWUp2VDNpMzlPVWJXNVdVOW9NWXd3ekQvRmd6STdFYUJL?=
 =?utf-8?B?MFZocVVKaHNwdVVYU05wclJacTJtL3hTTnhHWHhSajkrcEVVRk1oczRqelJC?=
 =?utf-8?B?KzN4VzUra3ZRWmpPVnJqWnZrRlVmczRJbGlrY1IvaWY3WTUwOFRXN0pjazdH?=
 =?utf-8?B?TzR1TzNZNGFXejB3ZWRmWGwrWWpNWkdORzVYNDVUSldaYXJPM0xON2ZybkFh?=
 =?utf-8?B?cVV4MCtiLzllYjhFY1A2N01wMDFLQ3dnWlhSZVgzRzVEalhlb1NKVkNzQ3VL?=
 =?utf-8?B?N0o2OGQ4cFZGaG1ETW5neHFoN0tXTHlrTmFJQUdxbXdyVmJiazRHUm1LalJG?=
 =?utf-8?B?UFVlaGhoRjlWaUlMT0lwaFovNUxReFduYmVoODhwOU5iL2x2SGlUaTI5bGtJ?=
 =?utf-8?B?QTUzencyR0Rtd2xBWjhzd0xZRHBOQU1MekFxN3Rwc2NkZFhLL09RWkx5V2pF?=
 =?utf-8?B?WCt3UFhSbWNkdXpnYU1WL0lyT2RSaXRYb2dWbE5IL1NlY2ZTU0pURU1Pc2xo?=
 =?utf-8?B?UXZEdlgwQkdCR2xqaXh4aVg3WFRXeGtCdHovZVNLZVdQcjV2d2dnWktybC9I?=
 =?utf-8?B?M2QvZ3NjQlBkaUJSbnYyUWxibkltTGJmZ3RRcUtlZERoWlJ6VnVkOTNmTzVz?=
 =?utf-8?B?NGM2SDA2YndJc0IwSWcxVnhCd2VOM1p3dVRVU0pXdVVmcWdVZHh0aysyMDY2?=
 =?utf-8?B?bEdwSGpQOTFpMklOay9WaEVoT00wNEZFNXZkRVBrakpuREhjTmFEb0JMNmUr?=
 =?utf-8?Q?D7lo7driaKxUeK9J+ej+VbkEZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9545bf1e-3882-46e1-f554-08dae29d0fef
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 15:15:43.2567
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 08ZIpFZvSo4CSCNB0FZETM73v0XfvTz8VGkWMOXvHURppuTpug3VezG2RB6EEYYKNlqBwbCiaZFaJrS9nPYPUA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7832

On 16.12.2022 12:48, Julien Grall wrote:
> --- a/xen/common/vmap.c
> +++ b/xen/common/vmap.c
> @@ -244,6 +244,11 @@ void *vmap(const mfn_t *mfn, unsigned int nr)
>      return __vmap(mfn, 1, nr, 1, PAGE_HYPERVISOR, VMAP_DEFAULT);
>  }
>  
> +void *vmap_contig_pages(mfn_t mfn, unsigned int nr_pages)

I don't think the _pages suffix buys us much here. I also think parameter
names would better be consistent with other functions here, in particular
with vmap() (i.e. s/nr_pages/nr/).

> --- a/xen/drivers/acpi/osl.c
> +++ b/xen/drivers/acpi/osl.c
> @@ -221,7 +221,11 @@ void *__init acpi_os_alloc_memory(size_t sz)
>  	void *ptr;
>  
>  	if (system_state == SYS_STATE_early_boot)
> -		return mfn_to_virt(mfn_x(alloc_boot_pages(PFN_UP(sz), 1)));
> +	{
> +		mfn_t mfn = alloc_boot_pages(PFN_UP(sz), 1);
> +
> +		return vmap_contig_pages(mfn, PFN_UP(sz));
> +	}

Multiple pages may be allocated here, yet ...

> @@ -246,5 +250,10 @@ void __init acpi_os_free_memory(void *ptr)
>  	if (is_xmalloc_memory(ptr))
>  		xfree(ptr);
>  	else if (ptr && system_state == SYS_STATE_early_boot)
> -		init_boot_pages(__pa(ptr), __pa(ptr) + PAGE_SIZE);
> +	{
> +		paddr_t addr = mfn_to_maddr(vmap_to_mfn(ptr));
> +
> +		vunmap(ptr);
> +		init_boot_pages(addr, addr + PAGE_SIZE);
> +	}

... (as before) only one page would be freed here. With the move to
vmap() it ought to be possible to do better now. (If you want to
defer this to a later patch, please at least mention the aspect in
the description.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 15:18:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 15:18:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467131.726141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eNi-00068C-Lw; Tue, 20 Dec 2022 15:18:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467131.726141; Tue, 20 Dec 2022 15:18:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eNi-000685-JF; Tue, 20 Dec 2022 15:18:14 +0000
Received: by outflank-mailman (input) for mailman id 467131;
 Tue, 20 Dec 2022 15:18:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7eNh-00067z-D1
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 15:18:13 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2047.outbound.protection.outlook.com [40.107.7.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8462dbe6-8079-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 16:18:12 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7668.eurprd04.prod.outlook.com (2603:10a6:20b:2dd::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 15:18:10 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 15:18:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8462dbe6-8079-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B0VWKpYdWmgbAP1YfVOQ0EbzP4rtANqXxzagGMVUUlax/sN4InMdU6FcuKDvGDlpFEH5v4w75nRcTgrEqmSlG00aTyD2tE8IHAiPmnlzXVwgQ7jXo2DB26yVlulLXej7HlpK/pPfxBflN8D9ds5nuTDoNi50ebR9/y2Cj8O9NvfGGNCG/CTL1XTYBDf5mm5CrVXVVkqhtm8SROIVrbTW/UyQ3r/YrTEVb5dezcoXz7CbGcHjLIv/w7u01eWctv2+9BnBU/5ZYBWsr0DWQbj+YsIpNSGCX32Gh/5je4jJ+FF6pMYeYzNLyg4B5k1ps7GOHHY5tzRr2sxTALUZZwt0cg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DtEaLgFnbc15102/iN/DsbAHLzH64MtU2CkVg2+4gxE=;
 b=CNYUbQHfz32kS4W2ermKTsTLfB7BLL29ffuEaEOZr8oNBD9awL09FqexocWzP+9zsg88Xy54p4K6xkBdIXEcZVlmfGsIuOCz4j1K2MRdL321NySMleCiJL/3OPN0E1GYeblx7IGyXCIi+hYxHwTV7rfCnD4ovRo7d1L9QKooovyjw6AypUBFScKw8ZCmmpdx4PmgrSSzGIlRmp5HO8sc0/KC2bxiI1trSLDSyZXUiQNcyitge10zZItWbVTgYwL56//NAYK91UokA8YGNrnE6WTLqOA+KBgAkp1KrUbpxV7ahvYsPuIod9T2ZWTOAQDfRXGtzUV50widvNsu2KWBbw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DtEaLgFnbc15102/iN/DsbAHLzH64MtU2CkVg2+4gxE=;
 b=yO9hikJ6p5ZFqnX3IZMGwN6OZglpteOxf6g87dVEA2cfSWI8N54B9P16e9c3OTGGzDGbedolncYe2xai0b/0X96YOBKHDkIDosEUN9v5aaNl58LZuMh4cfL2L3BGyYXmeASMfkvU7nyp2RVuzFZq8v2JFGILckor3YkdfsMLklLVjJ7iqw1F7El/RqbU5rH07p5B/Mh1BhUQ/aljdnN8xwuRFQryXReG/pm6BpCgFGJVfXqUEuNXUjz1VcKXm1sKsgScJnFuiDq0hh1fxxR4WYB6yVA0rFXUR+BZuOZrEhuY5SfbgZ3CeYsNjwk+PN8GDoh7vU7ProVALwwgyCYBRw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eb59cdf8-bc0e-7c47-914e-720a1369b676@suse.com>
Date: Tue, 20 Dec 2022 16:18:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v2 3/3] x86/ucode: load microcode earlier on boot CPU
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Sergey Dyasli <sergey.dyasli@citrix.com>
References: <20221219144533.19836-1-sergey.dyasli@citrix.com>
 <20221219144533.19836-4-sergey.dyasli@citrix.com>
 <43cbf750-d682-af37-ac2e-60229a77bf98@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <43cbf750-d682-af37-ac2e-60229a77bf98@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0118.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7668:EE_
X-MS-Office365-Filtering-Correlation-Id: 86c72aca-c828-4067-edac-08dae29d67ab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1Hhk8B3j8Y+IO344XyslypdfprmB1v53OSslexQu+fXs5y2TjSOJPEItS0jWpB1lumlxHKLc4amUKkVureNv0tV5cnuqC3Z0+HS4AcK0I34WXKv+x3qUqhyaIB4glrHiKFWknX6RI65BIId4V8Zf6dASEiR8zrtDKJXkMUqWLWiPPJJ5fBoEsuHb0a14beJazQkVB4LOg4QnsjsSINKTlFrHvTsXV33uakCFMnGuq/tX00vchRXA8lZbr6yAhWgtY6Ycs9qyR6BOW/w25qJDUITE6ImASaR+KyQ6WeM+Zy0fENfALVTlZ9JRpeMx4FfQzwhfX6oIrI3gb4AoxBrf8xLc7R0MCo8Nqy8gCUrL7QHeQ2Dn/5Aq2LsfIZ5dLai4z3gyQ89TT4v1/OdaVcuG2LsYJo2A4bxqzVzxknYMidm5v2A5KuL9RMtFpefFpsUrB+jz35HtTyy3z5ZnWyP0PkT7zRvjgGf08RivCV545LEfzqQUs8vVeFqSAltr90WyU1GWTi9lqIZhnNq/w3buPom56XIPnhXGgHokvfdOzgocDrLY7gtQLdxk9kDrUXK577Sht6aZO90L+E30kAik74K3+N64CZoxkIjHLEsiYau76XDeBRYHDgYG0d0mUtpM2qF3RqCGxtfTGcnh2dCqUiO/swbFt0jKDfCjpb3eZ8BAPOm9khpM62HJRrrPCNDgu5srIFGnL37+28Itx/hWq7AMH+J6A7Eiq7OyOxF44v0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(396003)(376002)(366004)(39860400002)(346002)(451199015)(36756003)(6486002)(6506007)(53546011)(6916009)(8676002)(54906003)(86362001)(31696002)(66946007)(4326008)(2616005)(66556008)(38100700002)(66476007)(478600001)(316002)(31686004)(4744005)(8936002)(5660300002)(2906002)(41300700001)(186003)(26005)(6512007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V2d1cTJ3Y0FBS1JndjF5RHljT3ZXN2NWcEpCRm1weURMeXpLOTNLWUd1Vmdl?=
 =?utf-8?B?WVVQQ3JLeG1QSkdhTU90YUtXYmNUTGZFM1liRWlWenJHdG1MbzhabUR6RHZv?=
 =?utf-8?B?S3dNcWVsQlRNTDBUOUYrNFNheXpEZE14cTNNYnpxUUpncGlHTmUyaWpjTm5T?=
 =?utf-8?B?dStYeXM3VXo0YmsvSm03SjVGTkk2aDU1U3NET054SEhBLzVRTUs0dWE2WnF1?=
 =?utf-8?B?M2ZpcjJzTTltTFRsMDJEaUdXdUh0dnczbmJYSG10NVhJRDNNOGljMzFPWjI5?=
 =?utf-8?B?NmIvdE1DSHhZWXRhQnV6QXJ1Y1Ztd3RLV3RScWw4SVVlRExudmxEeEJYdjMz?=
 =?utf-8?B?eVpWT1RzM1BCYVdLQ0lXZEN2T211TlkwL3RMaFpXNVliM1d5Szh5akh5ZGg3?=
 =?utf-8?B?OGxVQnBrM0xMVDlGSWdtbWZ6QmtEN0phZkpJbHBoS282ajVMRXA5M21ndy9M?=
 =?utf-8?B?dU8vbkFrREtMVDd2aG1UNFJiY2doUnd2V0pnZU1SMnJtbDgxa2g1TjErZ3NY?=
 =?utf-8?B?UlRNU0dYUHpkVTBrTDFTcW1FSzFrMEtXTGRsUS9aaFJFeWFBVStmUE5qdlJs?=
 =?utf-8?B?T291TDg2ODc2eEtJdnkyYTZVYlJMUlVqeXpuMUk4RlJnSWx3cVNEa2VwSEZl?=
 =?utf-8?B?cWNPMUozVzluRGw1VmJ0S3Y1b040K081YzZseDBRUkpFOWxudTRrZzIzeVA4?=
 =?utf-8?B?ei9xV0h2SnorUldjNWhBaUx0eFJteStGQ2liWEY5NThJWURMMVE3OWcrL0dY?=
 =?utf-8?B?TWVhMFdDNkQySERKL3ozcitKZVh6eDlFdjhScERaRXA0MklUN2t4dldyY2g5?=
 =?utf-8?B?YWlwTHhoSDZQOGJHWmhpT2dpR016cmR3cUVISWMya2RCYXp4LzJsZlJNeXhT?=
 =?utf-8?B?NHpaWE80cWVLU2FhVlI4di9hNHg4UVBNbmM5RmRkZWt4SGQvME92bTNOUWFV?=
 =?utf-8?B?Zzd1U2VFOEJkSXdyQTN5SDl6QWIwVjFrVisrOWlWWitRYkhkM21sOFNQNVlP?=
 =?utf-8?B?NWNPOGxiUHZSTlRTbEVSVGVNeHA0cEhBSTVpYkROU1d0N0FtZWxHd2d6NW5o?=
 =?utf-8?B?dXlONkR2QkVNR1pTbTJSUXpKTzZReTNQVWpxb1FtQVQvdm11TWpCT2JOK2Iz?=
 =?utf-8?B?TzVJenRmYmRUWXNiSVhmTUNFc3hSbyswWC83dFk0UHY0VEVQSGw5SnllRG4z?=
 =?utf-8?B?cGx5MGRYQnVBRHM3OTMrQk05RFMyQVRjOHpVa1YwWjJSdkk5blhNak5EcDNV?=
 =?utf-8?B?dzRGeVByUFdqUGhPR2ZtaTEyVDZSYWxSZElQb0kyUkN0U0lpSGZJZU0vQlhl?=
 =?utf-8?B?K3lqWVc3SDJpUjNZYnBtTkkxSnZlMnBxOHh2U3ExS2RwdVd5bHZuV0txRitJ?=
 =?utf-8?B?aDNjUkFtU3NWUGk3WEh3NEJRcFc4cW5CY3hCQnhnTlhJRnNOMGJGR3ROa1Jx?=
 =?utf-8?B?eTgxdGNmQ1RYOHM5LzQ2MEZOVHZJRTlZVlpQaGhqVkJqWEJZTzJLUU5sbmpx?=
 =?utf-8?B?VDVlRHBiK1hNWEloY2FONHFVenJGNzg2SGY3d0lXaElwQWI4TTZNQklqeVl3?=
 =?utf-8?B?ZHNySkVmR0dUNk9PcUUyYkN2UVhiK1BtS1lzUThWemZnVTFySnI2ZHJpSm83?=
 =?utf-8?B?SDc4V3FONWJFUXdzeC9KZllHTGpFclY2OGh6UUhRckozcUNTb1dFYVpLVWs5?=
 =?utf-8?B?UjhnaXp6WjBsSDIrZ2Zwc2k1S3VMaDlOMjhOeFg5dXI1Zzh3TTFYUEV5T0hI?=
 =?utf-8?B?U050ejhnZlRPeWo4S01PQ2dmTFhCYTMyWEFtU2VyNFdlNnpzeWRxTFZpV0p3?=
 =?utf-8?B?eU1IZXZqSmQ5TmNUL3hGZUdQTUNHZGoybjRCdjNOaWhDU0xpQ0paSzg1cnJH?=
 =?utf-8?B?MTk0Qk5FejUrSG14cWU5eWV5N1hkRmhyWnJnbm4yNzQvb3RXcWlMK0FkYitS?=
 =?utf-8?B?Q05kNnJEZDRyc0dPcGM2SXU2b2lJeVhmbkx2V1BMRjZlY3RxWEVDVWxpaEM2?=
 =?utf-8?B?akdsK1lJMTNhdVZpY09oREpmNDNyYnNqUVI0RVJoSmhxM3pTUXlpT1R3RlJS?=
 =?utf-8?B?bEtNbndNOCswSS9pTW5aTTVKRC9jWU1LbldLV0VoWUE3eDYyajg5S1ROZEJ2?=
 =?utf-8?Q?LfTXLLw42O/JHQn4I4yw3uESX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 86c72aca-c828-4067-edac-08dae29d67ab
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 15:18:10.4503
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3I97dTLdsIuKKG4x4MVkhWR5QzK1wSoQ8FGVNFA1jpDy31mNqO7AWoBl2X3N6HdRtTjzPs9AeRzpxCHNMsB2sQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7668

On 20.12.2022 15:50, Andrew Cooper wrote:
> On 19/12/2022 2:45 pm, Sergey Dyasli wrote:
>> diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
>> index 6bb5bc7c84..2d7c815e0a 100644
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>>          relocated = true;
>> @@ -1762,11 +1768,9 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>>  
>>      init_IRQ();
>>  
>> -    microcode_grab_module(module_map, mbi);
>> -
>>      timer_init();
>>  
>> -    early_microcode_init();
>> +    early_microcode_init_cache(module_map, mbi);
> 
> microcode_init_cache(module_map, mbi); /* Needs xmalloc() */
> 
> Can fix on commit.

Are you merely after the added comment, or is the omission of the early_
prefix also meaningful in some way?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 15:24:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 15:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467139.726153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eU0-0007at-CO; Tue, 20 Dec 2022 15:24:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467139.726153; Tue, 20 Dec 2022 15:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eU0-0007am-91; Tue, 20 Dec 2022 15:24:44 +0000
Received: by outflank-mailman (input) for mailman id 467139;
 Tue, 20 Dec 2022 15:24:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gzLQ=4S=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p7eTy-0007ag-DY
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 15:24:42 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2050.outbound.protection.outlook.com [40.107.237.50])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6b2c4e2a-807a-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 16:24:40 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by DM6PR12MB4339.namprd12.prod.outlook.com (2603:10b6:5:2af::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 15:24:37 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c%5]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 15:24:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b2c4e2a-807a-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W9V+UbulkWl5D1D6zVUEBbsiiYnxt8CAYq6CGv2UFySMcALX5K1zA9M3F6BqryY6urI7cPnMLjyxMYsFQvRn8XQZAmHL4N5Uxi/OVNPCUBW1hIaCAJXrEPr6oCFYWptczU69/pwVf6Z7Xz+N8rC0hXkdNXIN+Ob6Bw9Vt6NyPfvZrPTfDLUA9XnojdfcZ+khMYQNQ8GicCxZNd+mbUvfUOiZMV9sKiru4X2gB1YKoQGJuLm8qQLUyk94BFKfkKsgppPK7ObaTv5YQ9p33pEysXhZwUV1Jm/k4G09VB2+dOdd9V84A/gF3mpjIuG+zvoNibWcgb+3euGiyriXwu11dw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6BDJiP5lCiYytCNOS9NI6P5NRlXISJc7MLzheQYU9M4=;
 b=Yt7mKaFx3OCqnEuQaQx6U/Hf2TnY7MJQ+idzWCbbocxtZyp2yfIS3U6hgq3H9aTmE5KYRshhAOom7gunz7r59jMazGfA3Jk9YFNfyQUObbpT0zkxJBJdnty8B3WRy5AVluV8+pDtya2UyleI7t992M2S+kG06GYGIs1tAM6HYNmitFgI5XzEZmsUU8Y0CFrpFK36ptYS2QQg4g/lU8k2FULfFRr+5txsw0vMLfA2EobMvKLPw7QHFBmB/WF9K2ZRtV5UXujVDeCawOghsPlFEAlWdKYoZIifiP8Ahk6q4xFXodATcMlO/l5HTLQqqpbF/nsraRNk9YTmT+qCGuQWxQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6BDJiP5lCiYytCNOS9NI6P5NRlXISJc7MLzheQYU9M4=;
 b=Ryxcu3LMW/PfsLik6viHiM3fmCce1OuLV/FiNx4TxJO0r+xY2OHWQj1HIJTxZ51u2vrdoJgtBT/muWXjNWrL5+t7X6+LBHAszkIeJ5t6mNDnn7HqWAoXc6twPuxBYRP2p7nkGaTE/JfXq48OlduAgpK+7yksUZyRuctHRc3GoAw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <41b5c4f5-aa95-5dec-55c8-4e1f1654f8a1@amd.com>
Date: Tue, 20 Dec 2022 15:24:31 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v1 8/9] xen/arm: Other adaptations required to support 32bit
 paddr
To: Julien Grall <julien@xen.org>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-9-ayan.kumar.halder@amd.com>
 <45f897bc-3700-d3f0-4f4b-43598c0b8560@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <45f897bc-3700-d3f0-4f4b-43598c0b8560@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO3P265CA0011.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:bb::16) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|DM6PR12MB4339:EE_
X-MS-Office365-Filtering-Correlation-Id: d715a433-6505-42ce-6cea-08dae29e4e3a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8LekT7mysQra1X9Qt2/U5OV1EI5KxzSEcZHVgjOpP8SwHK9otgSe/LLxTk8LQ1P/wwkzcMzIyyittrdIcHWps7IDzS6ZHHWshHr/xrMGIvpHsczQs69nUpcwa3tPlNHYFGZ2UfOKnmC9Ad4Jy2FLv/sc4OwZLqyEe4dJI/RSvfIBYQuySKsjblof3wMFZdq8QdwTnaXLUPTGGbEsl8oGsLofcRpxUr4hHWPxL9es3V4W9CrBkZ2Uvsjles4dv5hDtaZFTG0klNhUyYjDWRns3dc/5TEA15BMGeEn9/W00750hJpJS7Jmz0xWyIkPbrOqv2sjPbOJRLAWZQKAF0ep0X7LaIVhC+Hj98XlBH7rqQjLaRRb9ADBZ88wHE0qe+R5CtjB6P+bu7pWKaRheFnM19ATnD6ierVNamUwlck8beiW+x72mr2K4eOWTt8QjKnk2sRj8cSF7Dl4PZh+4DhAXLFNC4kO62vJSNwzdO9lfw6OLHxV6oPVND9Z4lZAJohrpxJz4YW4648gFEmy63UKpGlqq0N6582lGpSWVZNkZjc5KG7KcS/t4E2fm1mOQ2mUr8t6D8zf9EkIzBXj0MkL6Ai/GSQEIqonqVRuFk0S744qZHPDSk75WGulcAZYl9/TsnPvtFMvzixMEZGyu26Xveq55puJVUQEEZ6ItknHWdEpHpc8pUIzdSNlyajNgz+ja4A2ZxXEit5Q8IpJUijo+uwpmYaZJjtDe34OM1wMDW8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(376002)(346002)(136003)(396003)(39860400002)(451199015)(6506007)(53546011)(478600001)(2906002)(6486002)(31686004)(26005)(186003)(6512007)(6666004)(66946007)(316002)(110136005)(36756003)(66556008)(66476007)(2616005)(4326008)(8676002)(41300700001)(8936002)(5660300002)(83380400001)(31696002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmMxMDlMeGtxNmE5RVk0aDc0TDVpM1RKdU41UGRZLzlFeEMzdU5WSERWM3h3?=
 =?utf-8?B?d3JqdDNkd1NUbVhiWS95cjhSY09HTGNUd2FzcHRaRUVXQVhQSm0vNHpmUzhT?=
 =?utf-8?B?WGwzWm9pejlGNS9xY1djN1FTYnFtL1I0UzlrZ3N6ZjRYQ3U4cHNidXQ3V091?=
 =?utf-8?B?ZlUyVUxsN1o4cURjdkVyT09KVC9TT29xK0NuS21KbjhtM2ozZUcvYUhSMUt2?=
 =?utf-8?B?TmR0NjRHRzl3bWx2K3FQcC9WQVJkT3NCcGFvekVKeGlQbXpLVTI0UGtvNWhn?=
 =?utf-8?B?ZzRBQlRhMEtEL08yUzk4dVQrelpEOGozR1VENzYyZzVrZzFJelo4TzRMeGtQ?=
 =?utf-8?B?RnpQSGFmV0R0TmZ3di9Hd1dJWkVRUzVib3BsMUlUZzk3dXBoQy9CV0VveFVD?=
 =?utf-8?B?UlJxTXgvb1VoWStHU2hoQTJ3SXRGSnUvYllKRzhjVCtPbEtGZEtHcEY2TjJq?=
 =?utf-8?B?clVVRFpVQzlGa2o0U3A1UnZ1bTZYcGRUdlcybndqMFF4RWlUek5iWXFjeC9Y?=
 =?utf-8?B?SkZybVVLVWlnRzB0c1VxTkdjTzc3Q1ZId3J0WVg2SHRtTHNSZmZuY1BzeTZF?=
 =?utf-8?B?QjdoSU1hTitnWHJNSllPRUx5L3RrOVZ6VFE5M0kxeno2anpza3JoTWs1S2N3?=
 =?utf-8?B?WlhNbGUraGNuVmpMZDRZaTVIVmVkR3JHaE5pVmd3ZkRJbHFnOUFrcjdqaG9O?=
 =?utf-8?B?bFhuZFhQZWNvQmZOUGJndzZCbTFKT2lKcW5jVE91M1RxZ0QvdGx5SzBWbk5s?=
 =?utf-8?B?QWNsY21pQ1l6VlVoM0VNaVIzbmNZamw4M2V1Y1hROTRHSFJBZnFTZ0xlMVl4?=
 =?utf-8?B?cHZFQ0hyZjZDZ1MzK0RvU2h0RUpvM1lDYWVWdkU2OTR6a1AzTkQ1STJobzdU?=
 =?utf-8?B?M0JzL2V1ejYzbllmQUNNazN5RVEyb2duWmprcG5wTTgvZ2NKTHFVUHczUFBi?=
 =?utf-8?B?djFyVWVqQnBJQzQvVThld0VsVWNxaVowak5XMkR4NnRvNEVsZFI0bFYwVVpu?=
 =?utf-8?B?ME9Tc2pwaEtRYUszblVkR2dEZTRuQ1FBQ1hXQ2ZNdzJOV1RlQU9EenhqQ0p1?=
 =?utf-8?B?Ym5tSk94bFZjUG9seUFtV2MwY01tWE52UllTQWV4STlTL05OaUZkWlZsOTdL?=
 =?utf-8?B?ZEJCOFFJUjZPQW00YThYMXhzbW5aQUNPWmM0RVZ2SDVVNDJ3M2FwaWdNRUth?=
 =?utf-8?B?blp6MGdWeHF6cUNoSnkyM0E1dk85Nzh5T0tMdEtXQmE5ZXJGQlpJM0pJSTRv?=
 =?utf-8?B?WDc4ZlozU25yWGlYWVY1VmFac213MGIvR3hKc2VNc3VSZnBxNnRSS2JkQmd5?=
 =?utf-8?B?NWx2RlUvVHg2dXU3UXk5UExmczJQWGRlamJuVkFPNFdjY1dNNFI2M0RhNXZx?=
 =?utf-8?B?b3J1ZmExWEt0Q25lUFovSENvcEhUOXNvTHFIU2lheUwrMXliNnBZWVZiSmlx?=
 =?utf-8?B?YVZCbitQS2o2Z2N0eDZ0VFMyUEI5UElLd25XQlA4RU1UU0U3SC81bmNmNFYz?=
 =?utf-8?B?aUpzeUR6TXFBbFdiT28vZFZvdlgwTnU0OHdiSENQeUdMbWdFeFQ4K0I3MnE2?=
 =?utf-8?B?Qk05emljalBITUI5REZ2VDJyOFkwNkZJQWNZQWs2S3g2Wkc1R1J3bEEvZUdS?=
 =?utf-8?B?QWlQOHg5RzNqUlNvZ2NHZjczbWtqS0o4S3N1d2Qrcy9rdGtxVExqRW5Xdzdn?=
 =?utf-8?B?ZlFZRmwrQmdjZVBYS08weGRoT1l3NEhMTUZaRGVLNUUxclc2ZUdwTWk2eVN2?=
 =?utf-8?B?WXE1SFRnYThERnpXTS9iZWowREozTGFoV09KdEFTWWcrek1TT0pNU0lWRi9i?=
 =?utf-8?B?Z0gvUUtsR2wzdzczOVFKMVl4TUdISjBCREQwblIxWUhqVGRmZzFQaWw0QUxW?=
 =?utf-8?B?ckU0cDQ4SnQzYjF0QTZLMm1lcjdkdlE5M0RuWjMwR3BvOTBVb2ErZVRlVUtP?=
 =?utf-8?B?UU1ZSm9qZUlhWWRJeUtaVlVUcEdKTDlyZTkzdmN1YkdhYXlJTkJRQ1IwYjlK?=
 =?utf-8?B?a2NhRG44RlZNMm9HbTBCU08vRXN3cDJHOGNQVmdXTFJINGczN1BiMUl0TGNM?=
 =?utf-8?B?bFJpeHVycjNjYkpFbFQ2V25rYmg3elNLcmVyVE1rSnE4a3IxYTNFdGtTcmZz?=
 =?utf-8?Q?WlAl1NMq1tqGqEr8fH1LXPcQ0?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d715a433-6505-42ce-6cea-08dae29e4e3a
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 15:24:37.3539
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ennVs6jxDzcpb0qFDicLtLEWN+a39s+wL9WluIxvrTkHrRpUrGe6NWA4QbBw17dVgGUC3kKmxAHTRu8teVv+Nw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4339


On 16/12/2022 10:23, Julien Grall wrote:
> Hi,
Hi Julien,
>
> Each adaptations are distinct, so I would prefer if they are in in 
> separate patch.
>
> This will also make clear which components you touched because I would 
> be surprised if this is really the only place where we need 
> adaptation. Maybe that's because you didn't compile everything (which 
> is fine).
>
> On 15/12/2022 19:32, Ayan Kumar Halder wrote:
>> 1. Supersections are supported only for paddr greater than 32 bits.
>
> Two questions:
>  * Can you outline why we can't keep the code around?

For PA_32, the following bitoperation will overflow :-

             *ipa |= (paddr_t)(pte.supersec.extbase1) << 
L1DESC_SUPERSECTION_EXT_BASE1_SHIFT;
             *ipa |= (paddr_t)(pte.supersec.extbase2) << 
L1DESC_SUPERSECTION_EXT_BASE2_SHIFT;

Also, pte.supersec.extbase1 and pte.supersec.extbase2 are not valid for 
PA_32. Refer xen/arch/arm/include/asm/short-desc.h

unsigned int extbase2:4;    /* Extended base address, PA[39:36] */

unsigned int extbase1:4;    /* Extended base address, PA[35:32] */

>  * Can you give a pointer to the Arm Arm that says supersection is not 
> supported?

I could not find any sentence in Arm Arm which says supersection is 
**not** supported on 32 bit PA.

However,

Refer"ARM DDI 0487I.a ID081822", G5.4 "The VMSAv8-32 Short-descriptor 
translation table format", G5-9163

"Support for Supersections is **optional**, except that an 
implementation that supports more than 32 bits of PA must also support 
Supersections to provide access to the entire PA space."

Also, G5.1.3 "Address spaces in VMSAv8-32", G5-9149

"AArch32 defines two translation table formats. The Long-descriptor 
format gives access to the full 40-bit IPA or PA space at a granularity 
of 4KB. The Short-descriptor format:
    Gives access to a 32-bit PA space at 4KB granularity.
    Gives access to a 40-bit PA space, but only at 16MB granularity, by 
the use of Supersections."

from the above 2 snippets, I inferred that supersections are only 
supported for PAs greater than 32 bits.
I could not find any evidence of supersections supported for 32 bit PA.

- Ayan

>
>> 2. Use 0 wherever physical addresses are right shifted for 32 bit > 
>> 3. Use PRIx64 to print u64
> It would be good to explain that the current use was buggy because we 
> are printing a PTE and not a physical address.
>
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>>   xen/arch/arm/guest_walk.c          | 2 ++
>>   xen/arch/arm/mm.c                  | 2 +-
>>   xen/drivers/passthrough/arm/smmu.c | 5 +++++
>>   3 files changed, 8 insertions(+), 1 deletion(-)
>>
>> diff --git a/xen/arch/arm/guest_walk.c b/xen/arch/arm/guest_walk.c
>> index 43d3215304..4384068285 100644
>> --- a/xen/arch/arm/guest_walk.c
>> +++ b/xen/arch/arm/guest_walk.c
>> @@ -149,6 +149,7 @@ static bool guest_walk_sd(const struct vcpu *v,
>>               mask = (1ULL << L1DESC_SECTION_SHIFT) - 1;
>>               *ipa = ((paddr_t)pte.sec.base << L1DESC_SECTION_SHIFT) 
>> | (gva & mask);
>>           }
>> +#ifndef CONFIG_ARM_PA_32
>
> A "malicious" guest can still set that bit. So now, you will return 
> from guest_walk_sd() with 'ipa' not set at all.
>
> If this is effectively not supported, then we should return 'false' 
> rather than claiming the translation was successful.
>
>>           else /* Supersection */
>>           {
>>               mask = (1ULL << L1DESC_SUPERSECTION_SHIFT) - 1;
>> @@ -157,6 +158,7 @@ static bool guest_walk_sd(const struct vcpu *v,
>>               *ipa |= (paddr_t)(pte.supersec.extbase1) << 
>> L1DESC_SUPERSECTION_EXT_BASE1_SHIFT;
>>               *ipa |= (paddr_t)(pte.supersec.extbase2) << 
>> L1DESC_SUPERSECTION_EXT_BASE2_SHIFT;
>>           }
>> +#endif
>>             /* Set permissions so that the caller can check the flags 
>> by herself. */
>>           if ( !pte.sec.ro )
>> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
>> index be939fb106..3bc9894008 100644
>> --- a/xen/arch/arm/mm.c
>> +++ b/xen/arch/arm/mm.c
>> @@ -229,7 +229,7 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
>>             pte = mapping[offsets[level]];
>>   -        printk("%s[0x%03x] = 0x%"PRIpaddr"\n",
>> +        printk("%s[0x%03x] = 0x%"PRIx64"\n",
>>                  level_strs[level], offsets[level], pte.bits);
>>             if ( level == 3 || !pte.walk.valid || !pte.walk.table )
>> diff --git a/xen/drivers/passthrough/arm/smmu.c 
>> b/xen/drivers/passthrough/arm/smmu.c
>> index 5ae180a4cc..522a478ccf 100644
>> --- a/xen/drivers/passthrough/arm/smmu.c
>> +++ b/xen/drivers/passthrough/arm/smmu.c
>> @@ -1184,7 +1184,12 @@ static void arm_smmu_init_context_bank(struct 
>> arm_smmu_domain *smmu_domain)
>>         reg = (p2maddr & ((1ULL << 32) - 1));
>>       writel_relaxed(reg, cb_base + ARM_SMMU_CB_TTBR0_LO);
>> +
>> +#ifndef CONFIG_ARM_PA_32
>>       reg = (p2maddr >> 32);
>> +#else
>> +    reg = 0;
>> +#endif
>
> I think it would be better if we implement writeq(). This will also 
> avoid the now strange ((1ULL << 32) - 1) when p2maddr is a paddr_t.
>
>>       if (stage1)
>>           reg |= ARM_SMMU_CB_ASID(cfg) << TTBRn_HI_ASID_SHIFT;
>>       writel_relaxed(reg, cb_base + ARM_SMMU_CB_TTBR0_HI);
>
> Cheers,
>


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 15:25:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 15:25:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467147.726163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eUr-0008B0-KU; Tue, 20 Dec 2022 15:25:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467147.726163; Tue, 20 Dec 2022 15:25:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eUr-0008At-Ht; Tue, 20 Dec 2022 15:25:37 +0000
Received: by outflank-mailman (input) for mailman id 467147;
 Tue, 20 Dec 2022 15:25:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7eUq-0007ag-KH
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 15:25:36 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2087.outbound.protection.outlook.com [40.107.22.87])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c9ee1a3-807a-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 16:25:35 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7625.eurprd04.prod.outlook.com (2603:10a6:10:202::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 15:25:34 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 15:25:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c9ee1a3-807a-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Bi0cYmDekGsVY1GZWxmaJGzY37jMMBHtAv+vfDTaz7avmZioia+T05bYIlr6RRtMYvTftVowjArF6n0jW5uGpY82HZlTKmTWv9h82w/Fc8Gu4E0HdMlr4bfybdea8dtcFqsWkrFtfmPQL6uqIQP42IDYpqGuYFgbdjZOXgCCYZN9mrzdrGtTWKeWUv0xqRRqUF2i0M0wgMfP4Uv1SLJCTWWqO/FSUVFs9s2mxIOvcvZ5tEs4zM7gQVLrogj50rPtoIEv+1ecmbfv/cr7SpW/Rh6+nbZxMaRRVPObPSiGNj9UiF2n/2DWeKowFY7REEgz2ze9qAyPbSls810hm+48Cg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9lBWF8t2CEwhyzo6gGlJGOj0vvWlIpLrhjHvCAleW80=;
 b=ZBo/bq60oeqk3Mp9LNl1BjirkjEmuwGoLJzG8M8ZMGXtfuiwU0/Kj61N0wLt0ns9XXhjG+HHV9M72D0FT3LqqN1c53W+YrYGqeLzqIEEKJ5u7I/jkTpdcNsoo2RucokxwDQKDy43xJTm2FBQyJ4aRT/KAACOVTnHk3SzySpdFXxKuota2Jk8UxRoZ31JnaSx9aechzfxLAZg3oDutCGhCZX3HrZIChJWcKdsUtzldPV+ADvXZYvVteP5nOOF2LFV/JR4Qc3duulMglYwOa8MzzN2krQJMYlWdwHNMi+cbkiaGwPknbLcaZequawqGiMpdqZUFtQk6tI3m2wIkTizaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9lBWF8t2CEwhyzo6gGlJGOj0vvWlIpLrhjHvCAleW80=;
 b=fWzzdvTkLBdPFzLDXQpTITjc4dP6N9Tjxelelm7LO3QokfQyHp/ZYmjlX/sMzwbluh+SygkgUIYU+J0HSmBrsTYItwCDBDMHG0emaN+fhXTUUSvSOi5cagkSKIGXZ7p71jzbL13afKoPAPFSsviCdgindBqO+1f3jesz4cp4bA4a8zaU3lsJWE3/xfUx1F04Lmbq80EWSjA8ElvTuLk0r/knYO6cemp8hCPFp2zGyGbXsGVZ1Oncjz3prkZo9ZossCovcAt42upw7bra/8coapjn4PEecTTkBG2a9KkVYV7O6JQoNgOZXTCuRhO6jH8Dg1dA6xAqVqRXCccvWcc0nA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8d1ef02e-37ca-3a75-aa16-ad32395c9815@suse.com>
Date: Tue, 20 Dec 2022 16:25:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 04/22] xen/numa: vmap the pages for memnodemap
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Hongyan Xia <hongyxia@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-5-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221216114853.8227-5-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0022.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7625:EE_
X-MS-Office365-Filtering-Correlation-Id: 95d68ed0-8429-429e-2162-08dae29e6fc7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	D7VTmYVZtQecnb96RRvuZtMV9C/E7R+f4abqtqQ49guD/xgS7x2p7a2fA2fjDGRwA7VTkbEggE1I/RDh5X75/uBJyt/8gMhB+RPULfWWx5pVyBN4XjizatiF4b8GvOZB3hNFV3L0WthPOV1AHBcPeyZaA12mVWG/oJHEX0UB4kMTSpoRXaJqFrNq14mSICaL6u1QblqNi2QYvq7/m+D3gnwlSKRWZVbB9prX6m7eemhHox+eGE5GcvINgWJlA8QMhq/IJK1LQC4j8olK4PG7uC+nHdIrpO4MaAp1PMzcVXmR+ujii7XYD0/JDTAfoto/Ok/BZfUpnEM1QcIzNjXvnCoZNP5SxsFnozIjry8klBK/wdqbG1iC9yPjRasejpHaQ5+b0uFs2B9WG7Dt+27silx3C4DGUHDaD42/9cQ/3irLU24Nwz5ETfDGIGEKJqdzNoz4xG42ddhJhvhaJOLIpAAVmyIdDyohozVFEw9m95XlXhN4m5PtS/mEIoh66eUm7SsmvvCCdJEHAuK8OXlt+TAzsnm+LH0DO/Ew/DY13hqmXiwCQHX5kBNUVZH3W+VMYZqrKkVzw/KaFIUCiUKnX1l7XbEBBoqj9MhxdeM9I9lHm7NzPxpshmDTRO19QXAacVOgkpiZoFwVoASq0JpkXChZhbzHy2B3S6bB3pbWenCLMBfsWIQFpYvFyj4vUdMNDVX/9+m9T9x0pfBI7EGCzUK0BTEzhKkpIokQhdP9s14=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(136003)(346002)(376002)(396003)(366004)(451199015)(41300700001)(66476007)(2616005)(66556008)(66946007)(8676002)(2906002)(478600001)(6486002)(36756003)(4326008)(53546011)(54906003)(6916009)(6506007)(8936002)(86362001)(186003)(316002)(38100700002)(31686004)(26005)(6512007)(31696002)(4744005)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NVBVMnFZS1R6eWd0cWRTbXI2UHNvanJQa2UvWmpOV2xmem00Q2tJL1F0Qktw?=
 =?utf-8?B?VVVUbDVkak1xcHNWdms1S24yemhHSGQvdzRzLzJiMHduc3BkZ0Q4V3U0bTJI?=
 =?utf-8?B?WWNiMm52WXlPVjE3MFhHQUNYamdSTWRzZXkyalhnQnY1dERXVGluek1WOEE5?=
 =?utf-8?B?YXZ4Vm12VFVRUitCU3ZBYmVHTVdkWURTN0wxdDFzYjBrODZhZ0VtVzJyeVM3?=
 =?utf-8?B?RWczTmVvVVJKRUpOOHJZS2NUWjhRK0F6c0ZOSkNtTHNnd1hhUVBrRUF2SG9R?=
 =?utf-8?B?c1dMK3RPNmJQcVIwQUwyM3NPWnlhV3hxUDZXdGtmR0J0MENONGZBczRDYkln?=
 =?utf-8?B?SDJTQmNiOUJuVnYrQXVMSjJVNE02bWo3UlhzUFAzL0RTTFU0c1RyVXVudndG?=
 =?utf-8?B?c0ZkY1BLNVVMWXpsRmN6WjFwb3lNT1ZTbjF5RDZQV095R3JrMmJpTnZvaFIw?=
 =?utf-8?B?WXM4OEdQeWVBVkYzY0FCVUVlNTlXdGpCdUw5RHNGTVpDRTEzS0hwTmQ5Z3Rj?=
 =?utf-8?B?R2kxTnFKcTJhZHBmSUk5T2cxWVpIM0sxTjFUNm50N3BsamNaUzBQYW1mNDIy?=
 =?utf-8?B?UUFMaUQvTWl5dmNnM3F0ZnhpaG5QOUtPNjZBakhBYjlQdVVZNTBUczdETVRo?=
 =?utf-8?B?TUhnQk13Y3hUWFdxdzVXaHRlbWNmRlloUFJoMFB0ck53amU1V2VKUUxzRW9p?=
 =?utf-8?B?TmdXWWNhMEJyTXVVYnJ1U3VLY3ZqMDkvYk5YMkV2a1lrMzMzZXRicFJpTXpQ?=
 =?utf-8?B?aVhxaEE4YUZVT25KdVlzMmROclYyMWxONEZuQ2w0c3FTZ2ZtbnUxbnhTSXp0?=
 =?utf-8?B?Mlh6Y09MWHpuekxabU9UYzhKZXBCNTRkL0JlL2VZcXZnUVgwWHNHNE0wS1Yy?=
 =?utf-8?B?WjlTRWFOTjN5YXVjdkV6Nzc1M0FiZWtHazNJRGZ6dGZyZGJYN21yMVZSVExV?=
 =?utf-8?B?M2dvVVVCRWJaVVV6RWtXZ1B5eHR0alRqM1ZnZ2dPck43VUtySE9wY1JQM0pp?=
 =?utf-8?B?Wk9nZTZyM0R2VHVxbk5EQ0hLT3FJY29NazdvcHUxakV4OFNDV1MydnBtdGN1?=
 =?utf-8?B?WHpJUHZ0S1FvemFzblhxRFVVUk12UndabU8yeFFaUElONlg3eUVsOXJHMnVy?=
 =?utf-8?B?OUN2TWRaTDI2bElOT0h6NllGRWkzYS9hdG9HVCtGUHNaMEN6cUFQWHN6ZGVO?=
 =?utf-8?B?MHEyWnM5ZW1GWFJPWWRoUEFscFFuaXc5RjVEaDMrSmFWa2JxeUtQU3c1dWk3?=
 =?utf-8?B?bUpCNERHZC9TUUdTcHM3Mnl6S1V5bk5tTmd1Qlh2Z09kZndYaGtaMmVaSnQr?=
 =?utf-8?B?dUpLWmlMR0ZXam5nZExGazVLMWw4MjJSb1BIWnBiTElUekkxMmxCWDRxNWFi?=
 =?utf-8?B?SnBsUUdvWGgybllTMzltM092bjJtcy84SzZ0TTkxYjJWS2JXeTZoWUorb1F4?=
 =?utf-8?B?Z1JoQ3lUakNxekJGQS8vNGJRQzRkR3d4TWtVdEZnUjJ5UlpvOTVCbGJkUXBj?=
 =?utf-8?B?VkFYRnM1TlNWeU8zdjZMT0pjN0pmR2pwQ1BmSjVlSDFRWXUwcWpaOEM4SVBk?=
 =?utf-8?B?MTU2NFBDVkFGRG1uam1KWm9FTXdGQzg3NWVIZjhFMTBNbjN6TzUzS25PUERJ?=
 =?utf-8?B?aWRpK0pvZUk0eEN1ZTFpMmthRGk2b3cyN1JmMzlhKzI5RUpaTWFveHppeUlt?=
 =?utf-8?B?L0swZFlkeng0alZJZkZMcGpZVDJ0UjJQalA4amRvdHNacXlCSUZRb2tMSnRi?=
 =?utf-8?B?UEZqekpXT2s5SXNvTjQwT0poektWYWxKVHdHdW56Mm9HaDBmOVY2TnBLMEs5?=
 =?utf-8?B?MG9PQllnUC8yYmxRakxqRklycHcrL0Q4MzVXN1lZM2ozaUJiYkFkNWFpUDFC?=
 =?utf-8?B?c05ubVJNN1FIR0tUeENoZS9JZVFUcGs2OUI3d3RabHVITVhPMUxSY2xKQmdh?=
 =?utf-8?B?R3R3eTJWallWc0paQjlDQXI4a1NxOTNJMU5QOWJEV2JqVlAxalFSdzZkOU15?=
 =?utf-8?B?Nk52YkFHakJCdkVCWkZFSVk5a2MyRzhhN2VPY1BwVGZIaldSeFRqVVJrYWRD?=
 =?utf-8?B?cWFCbmR4UHNKY2Q0MVZ3Wm9pV3MvdUkyVVV2SGNuV3UvWkpNZ2NNSVBTbjZB?=
 =?utf-8?Q?xI6CtMIaw18elwwumR51EOJiR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 95d68ed0-8429-429e-2162-08dae29e6fc7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 15:25:33.7033
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FBF5DcQJtWs5xlOogWm7sbAWdEnYU/c5vh4N8a4zHFrJssETfkr7D9BNwx3UCZ383TfXf5s8SDLlfziFAa9NbA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7625

On 16.12.2022 12:48, Julien Grall wrote:
> From: Hongyan Xia <hongyxia@amazon.com>
> 
> This avoids the assumption that there is a direct map and boot pages
> fall inside the direct map.
> 
> Clean up the variables so that mfn actually stores a type-safe mfn.
> 
> Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
(obviously remains valid across ...

> --- a/xen/common/numa.c
> +++ b/xen/common/numa.c
> @@ -424,13 +424,13 @@ static int __init populate_memnodemap(const struct node *nodes,
>  static int __init allocate_cachealigned_memnodemap(void)
>  {
>      unsigned long size = PFN_UP(memnodemapsize * sizeof(*memnodemap));
> -    unsigned long mfn = mfn_x(alloc_boot_pages(size, 1));
> +    mfn_t mfn = alloc_boot_pages(size, 1);
>  
> -    memnodemap = mfn_to_virt(mfn);
> -    mfn <<= PAGE_SHIFT;
> +    memnodemap = vmap_contig_pages(mfn, size);

... a possible rename of this function)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 15:30:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 15:30:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467157.726175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eZm-0001HW-Ac; Tue, 20 Dec 2022 15:30:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467157.726175; Tue, 20 Dec 2022 15:30:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eZm-0001HP-7h; Tue, 20 Dec 2022 15:30:42 +0000
Received: by outflank-mailman (input) for mailman id 467157;
 Tue, 20 Dec 2022 15:30:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7eZl-0001HJ-4n
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 15:30:41 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2079.outbound.protection.outlook.com [40.107.105.79])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41a26967-807b-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 16:30:39 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7501.eurprd04.prod.outlook.com (2603:10a6:102:ee::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 15:30:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 15:30:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41a26967-807b-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lmj0UGw+Zl8Bd49LEo3WqJUgcpx9eQBA4L++UPtLQXfF/rCrmOICQ4WmARhc+sAewRp7h6Xn3MMA4f5Ic7rzWp3pt2Z5lZA/JGfsCb2VK/+aEcXccLG/MkfAKlTaTKaDuhJ7hsmk11iirmzf5QZ7jtvFlWMwEyp0mUIhpSd8AnpYxOtTSde3GNixBh+K/oj0OOb9nugIpi1sFyIW/M8b82o0uhkxUNMdM2PXfZkewzogd0d5PRvweTADA8NRUStDMLSGTax7JSHqGuhxa18Qjf585wBXM8Trr2pZEGoGaXHkJUuzqZ9Pd3wowub5Frg3R9cTFWfD0dw8WyPy9S6F2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fG4D2LLEzs42rqBbjJxxg9IyrJ1yESnNwywZajMxsMo=;
 b=KR3BvufQkrDwdKAfFbbzBWi7vmX27u5p7iTj7PEYmwjFCXlswjTX8c55k3Vj/UOLK9SP/T8173xawhV5aLo6nWjR2F1KBmhtoAslvwgQS8cUPj82urUQSHsSj9JNoS/S8kayOS8XIeanpP0jNKCYHEfF2NRSJCv7IH0MTdNTTQOnXiDu1aeN0ygH/oK8ckBs0jH4Y9PmDrNaHdpFSdszgmJQJ6L11pstF0MgJA3OOZKNw0/IdCAX5LZHoxx0M2tXReAS2SaVSIHQ63UxovmD9VML99n4CBnon4vtyyfpztNHObwuT7rMzoXYO9+JQ26rOqnyyGkqjE8mXFt2xznHGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fG4D2LLEzs42rqBbjJxxg9IyrJ1yESnNwywZajMxsMo=;
 b=VtAoVvtpc3PmJnjhvJDh94BMPEh6kVGtvNy472iPWVRLVkn0nC0NdRdb0UbPsGYCVZUHqyhaT5ARz+8qXAcv6Ha+uTiZtwBUL6bweN3fmYpA5dhI4mZZjwzNRipmcctEpOjxtLtJ+IgWybVIZaZByH++WFviDYNXlk4loay2d5QDRVetScmQq5yDVl6jweEzc+IRWUnsO8cfIoiroNWKfzUpq967wVymMUvwvTiZEHb4liALm3gFemqN43G7G6/1wUcuMJr2yG/7f4yF8wAPKYzZfjriqT7dOTHEMnh/zpRKvQYEhgvJW/rS23W0PQ9OB2tlRHyT5r7GMB+wrmNSCg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ca02a313-0fa2-8041-3e8f-d467c3e99fb6@suse.com>
Date: Tue, 20 Dec 2022 16:30:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 05/22] x86/srat: vmap the pages for acpi_slit
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Hongyan Xia <hongyxia@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org,
 Julien Grall <jgrall@amazon.com>
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-6-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221216114853.8227-6-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7501:EE_
X-MS-Office365-Filtering-Correlation-Id: 119453ae-5312-48ea-6f42-08dae29f251f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9tAd6SiffM8gxlFrJfsTF68wSMlJCWOy9THMfsnFMqIM7THqFMZlPVMXJx+bSxxzWN7cOfYfw3azh37OIk4PvGJAUaQC56ceIWAKqdgO/FpddN/WAx7YLFWVYz9M3m3/dUh0SC0bU78j8lW4dRJE5YGyVHMxfNMDd1CAS/ZbAB4yWjY6vhySo3K512ys6bdEvReTZo2X0Xt7LGt1X6f4JV5trH7UMXr5WijhLd/GhpQUQtMS0bIyY2ImHpkDQlPDXafiwtqhcROgXW/B4klD02lkyH78WOT8vKHiyx9GfI2pSI7S/XSAebVOH9LqMsu45VtFKy9UHj4Yv3xeXJ/EggwzyfC5yiqxqaYX/Ku1KfD4uKT8s0eIbSxJPG1yBSXdh8PgITOhmuBmqaO21JiJfBzqlhMRh9Y6VUMvZxYBmP1Wk0DU4TECZ2PHgae9OMsoNYP6xzNO/sUE9Yr7X9vrHDmIIxxS3b6rHr7M43HglP8KiDT7du6DIu6t31bgT9bNWQnEy0GhO1W8ugp/hp537Awaisz6nVIg0DlHD23EcwLaH14KUhcLIoWmrvoVVJc7RPJOdi1xfIx4g51EstuObU2pMHGBkseXgA/x2pK68H3Um1YWQ6yZD0HTmJRknfzZ8wT0YcPIMTcC64kWHFmClg/TDniDfddMKaS97d2sRjBA8qM7+ivWmsmWbOfCw2RHyV+x9di8zeHsYq4FWRZ3u5ho+Vuc+TZhPmE2i2EmdFw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(396003)(39860400002)(366004)(136003)(346002)(451199015)(4326008)(8676002)(41300700001)(36756003)(38100700002)(83380400001)(5660300002)(8936002)(2906002)(6486002)(31686004)(6506007)(53546011)(6512007)(478600001)(316002)(6916009)(86362001)(54906003)(66476007)(66556008)(66946007)(26005)(186003)(2616005)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U3NxYm50WTJMOGJkSVpJOHkwbzFtT2RkeVB4OWRVWTVuMEcvSEJHYWlycUd6?=
 =?utf-8?B?SmFCbVdONXA5dllkQzU0c3B4MzlvNEZnRHZsdjdKZ3prcTNyM2JLTWJNQ3p4?=
 =?utf-8?B?b2RKY3cvczZsOFBzQWxYVjMyVEprMExlRFhvYy9xdXNPQmJhTVlQdEZwZFpZ?=
 =?utf-8?B?R0NldW1QSjk5eVFJYUlIVzNCWTZPRHp2eVBlOVAyVm50UVVVRzRHdXFXRW8w?=
 =?utf-8?B?OVBaT1dZV3kxWk5CYzNrQkdnamxuZXFFemNqZzFxSnYxa1dRaE42SXVsSFZy?=
 =?utf-8?B?QUxZRWkwUHNLYzhaSC9YNmYrSFlzdm1kVFRmenlMaG0xOEZQUUZOVnhSMDh6?=
 =?utf-8?B?NzRHbElZc3V0MGo2OThsaU1WRFBMWmhPbkVpNk9IWXB6UGtoMVpBcE9yaUpS?=
 =?utf-8?B?Z3M1TG1lb0NUZnhnRDlURDZIRGRPYXUwSHhDVUVieCtOMGg0citkZ1VGeWd6?=
 =?utf-8?B?RWt0S3Zrb2NhRys1T0tWdlZsb2taeEdLYVVMcWxjS09scHhFR1RQOVJsQlly?=
 =?utf-8?B?anB4OFV1VWRtMzJFd3NxdGdSUlRrbytUSEdWNnd2RkIzVUFaa2ZxOCthTEcv?=
 =?utf-8?B?SDQ0V3B2N1FYMHl3RDFrZzZHREdmR1JsVGpPQ0xqZHRieHRsbnV4UGp4SkdT?=
 =?utf-8?B?eXFoQXQ3MVlKbFUrVFJQSWk1Y3lZQldtTmpLN3BzWVVmNVlzU3pnTTVCVG9H?=
 =?utf-8?B?Y2JCY2JzSS9vb3lvSGw5aVNJRVk3UUpOZnMybGZxMExGU2R6UmRqYUFhL0xM?=
 =?utf-8?B?WFdiNU5VSnJKb0RYdTh3aENibzZYcVU1M1VjVjlMM3liNlVYdFRUbHIxMStK?=
 =?utf-8?B?UlF2YU5ydm5pMTlxTUNObXQ0U1hibEVGOFJDdlU4NlZVb0dqazYwWUhucUxC?=
 =?utf-8?B?UUhiY0RxNFhDTWliTi9ZTUVJNDFkVUhtblVoL2F4Y2ZjNHZRZ25SY0xWcy80?=
 =?utf-8?B?NHpGcGdPSmRFTkZLcWNnQjFSOE4wamM3QW9CcjlXWE9oL2xXdkhlV0xkbTg3?=
 =?utf-8?B?eUNMdDRxbUE5VFF4bk1UOHNZaERFQWNHWjM0RlVjZHUwYVNOM3dlbTJKb3Jt?=
 =?utf-8?B?NjhoeS9JOGQyeDVtOUFyRytJLzkxN3JUdVh6NmdiL24xU294N3JjNTJ2VFd3?=
 =?utf-8?B?YjFUd0ZMdlJ5aFpZQUY1TzFvU2YwQVZmMGxUSHVOR3BiZDR4ZUQ3Y2VjSTNZ?=
 =?utf-8?B?YnZnRUw1ekozcmIwc0t3WHd6dFFjUmcrUmEvN1g5ZlVKQWRvQ1ZldXhNWHV3?=
 =?utf-8?B?d3FtSzNRWHVoTzNRRDRzL1NZUzQwWGhSUjlqKzdBWTYzZEp0blpRcUdtWFk4?=
 =?utf-8?B?R1JpQnNwTDdCNk5MLzRxMGh6akFVdEVwcGVHd2tyc3VVbG9kSldrcjhidWFw?=
 =?utf-8?B?bGd0QUVyRHRHSGxQMDk4NGkxTmtsWlFPaGw4YURjNlRFUHVqajdLNzJKMk9w?=
 =?utf-8?B?RDZqZmJ5Y0JBN3JhczZQTjl4MEtRcXczWm5FWHRHczdtNlRrNTFFb2s0ZnJD?=
 =?utf-8?B?dndxeEs0ZHUvbmhOUjZOWGFObXlkM3d0eEVRU1d5cVVGbTRJOEdpbWtzS2tJ?=
 =?utf-8?B?cFk3SHk5d09kUHFLMzlFTVEzem8xSzUxcnd1ZEpwNTVXeEFnM0VWbU1KZEsr?=
 =?utf-8?B?U2w5dzZGV244LytIRmxvYjNLQm1TU1R1UGNvdFRKRkwra1EyRGdxTjlRYW83?=
 =?utf-8?B?cjdUZjhwSk9ubk05b0FmNStFUHlYK3FzWWFQbzB2NVZDTm9oTEVXYWhaNEE4?=
 =?utf-8?B?bmcybUNnMXJRK0tTV3dQSXlxTnVFRmJJM0FBRThrTWhQZmNDcXdndzRFcFg0?=
 =?utf-8?B?ZjJGQmJTZXJ6Tjg3R0d2VFI2UTRKazAxQVFabWxNdjhKbDgrVXZRL2RzN1Ez?=
 =?utf-8?B?NDc2ZmVMRm42dkFrTzdhMitDRVJMZHlqa1JoWHYxeVBrVzVmcGxjL1V6RGhO?=
 =?utf-8?B?WlhSMnNZU2ZpamtscnFldUpNVWhlaFFoOTBLVHllZDF5RVlGaFkvc0l6d0lC?=
 =?utf-8?B?RmRVZHZ6MWxzNEZxK3ovMFF3ZFVzN1ZSMGFvbUVRaThqQ1JONlphQytCOXZ4?=
 =?utf-8?B?V1VMTzZEdjVlY3JpeFpnTXJRNjljYXVqVXRSOCsxNFFnWElJZFljbDJ5WnVq?=
 =?utf-8?Q?Bo7Wke4kapXy9yY97nDP7s1um?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 119453ae-5312-48ea-6f42-08dae29f251f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 15:30:37.7934
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ML7BUKIpPkG/YSXV5D0GRukfmkg+pALb2pAYdBMqSoMaf6k7OLsFuXRrGvuPAyu85xicdN3wuVKnQQYijW3iDg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7501

On 16.12.2022 12:48, Julien Grall wrote:
> From: Hongyan Xia <hongyxia@amazon.com>
> 
> This avoids the assumption that boot pages are in the direct map.
> 
> Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

However, ...

> --- a/xen/arch/x86/srat.c
> +++ b/xen/arch/x86/srat.c
> @@ -139,7 +139,8 @@ void __init acpi_numa_slit_init(struct acpi_table_slit *slit)
>  		return;
>  	}
>  	mfn = alloc_boot_pages(PFN_UP(slit->header.length), 1);
> -	acpi_slit = mfn_to_virt(mfn_x(mfn));
> +	acpi_slit = vmap_contig_pages(mfn, PFN_UP(slit->header.length));

... with the increased use of vmap space the VA range used will need
growing. And that's perhaps better done ahead of time than late.

> +	BUG_ON(!acpi_slit);

Similarly relevant for the earlier patch: It would be nice if boot
failure for optional things like NUMA data could be avoided. But I
understand this is somewhat orthogonal to this series (the more that
alloc_boot_pages() itself is also affected). Yet not entirely so,
since previously there was no mapping failure possible here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 15:31:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 15:31:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467165.726186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eaw-0001ok-KI; Tue, 20 Dec 2022 15:31:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467165.726186; Tue, 20 Dec 2022 15:31:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7eaw-0001od-HD; Tue, 20 Dec 2022 15:31:54 +0000
Received: by outflank-mailman (input) for mailman id 467165;
 Tue, 20 Dec 2022 15:31:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7eau-0001oR-N3; Tue, 20 Dec 2022 15:31:52 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7eau-00041a-Js; Tue, 20 Dec 2022 15:31:52 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7eau-0002eN-B9; Tue, 20 Dec 2022 15:31:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7eau-0007BA-Ad; Tue, 20 Dec 2022 15:31:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cHEZAgGoD3tY6esN4+rhjSkaBqQEycWN2p4N9JVIUow=; b=HF5qgP97tZUgu3+fA9icTSL3k6
	PiwKvYixPfjD5rJCPtKGQA1NFWfaTMpLalVNtGrrgA34a/H+TKEVYdSxY4LGrMwbVIQDCZBAFlQ2V
	/GkA2qk03ufNq6bEJpcyx/jMVGYaSGrWA8vPkyx3Fg91uW1yQDBnJXgreAWc5N8NdKd8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175414-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 175414: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-i386-qemut-rhel6hvm-intel:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-xl-vhd:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-freebsd10-amd64:<job status>:broken:regression
    xen-4.16-testing:test-xtf-amd64-amd64-2:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:host-install(5):broken:heisenbug
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:host-install(5):broken:heisenbug
    xen-4.16-testing:test-amd64-i386-qemut-rhel6hvm-intel:host-install(5):broken:heisenbug
    xen-4.16-testing:test-xtf-amd64-amd64-2:host-install(5):broken:heisenbug
    xen-4.16-testing:test-amd64-i386-freebsd10-amd64:host-install(5):broken:heisenbug
    xen-4.16-testing:test-amd64-i386-xl-vhd:host-install(5):broken:heisenbug
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=556c2e817c9cf23b675eb4eaa2dc091f7bb3039f
X-Osstest-Versions-That:
    xen=03a43f548e9095448db72c829db575097910f84f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 20 Dec 2022 15:31:52 +0000

flight 175414 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175414/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemut-rhel6hvm-intel    <job status>                 broken
 test-amd64-i386-xl-vhd          <job status>                 broken
 test-amd64-i386-freebsd10-amd64    <job status>                 broken
 test-xtf-amd64-amd64-2          <job status>                 broken
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm <job status> broken in 175403
 test-amd64-i386-libvirt-xsm     <job status>                 broken  in 175403

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 5 host-install(5) broken in 175403 pass in 175414
 test-amd64-i386-libvirt-xsm  5 host-install(5) broken in 175403 pass in 175414
 test-amd64-i386-qemut-rhel6hvm-intel  5 host-install(5)  broken pass in 175403
 test-xtf-amd64-amd64-2        5 host-install(5)          broken pass in 175403
 test-amd64-i386-freebsd10-amd64  5 host-install(5)       broken pass in 175403
 test-amd64-i386-xl-vhd        5 host-install(5)          broken pass in 175403

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175155
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175155
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175155
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175155
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175155
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175155
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175155
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175155
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175155
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  556c2e817c9cf23b675eb4eaa2dc091f7bb3039f
baseline version:
 xen                  03a43f548e9095448db72c829db575097910f84f

Last test of basis   175155  2022-12-12 16:08:43 Z    7 days
Testing same since   175403  2022-12-19 08:37:45 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       broken  
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              broken  
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         broken  
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       broken  


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-qemut-rhel6hvm-intel broken
broken-job test-amd64-i386-xl-vhd broken
broken-job test-amd64-i386-freebsd10-amd64 broken
broken-job test-xtf-amd64-amd64-2 broken
broken-step test-amd64-i386-qemut-rhel6hvm-intel host-install(5)
broken-step test-xtf-amd64-amd64-2 host-install(5)
broken-step test-amd64-i386-freebsd10-amd64 host-install(5)
broken-step test-amd64-i386-xl-vhd host-install(5)
broken-job test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm broken
broken-job test-amd64-i386-libvirt-xsm broken

Not pushing.

------------------------------------------------------------
commit 556c2e817c9cf23b675eb4eaa2dc091f7bb3039f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 19 09:08:32 2022 +0100

    update Xen version to 4.16.3
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 16:03:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 16:03:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467177.726196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7f5O-00066s-4D; Tue, 20 Dec 2022 16:03:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467177.726196; Tue, 20 Dec 2022 16:03:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7f5O-00066l-1K; Tue, 20 Dec 2022 16:03:22 +0000
Received: by outflank-mailman (input) for mailman id 467177;
 Tue, 20 Dec 2022 16:03:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7f5M-00066Z-OS; Tue, 20 Dec 2022 16:03:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7f5M-0005Le-MS; Tue, 20 Dec 2022 16:03:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7f5M-0003pL-6Y; Tue, 20 Dec 2022 16:03:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7f5M-0006VN-64; Tue, 20 Dec 2022 16:03:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=E+DQhjvTazncgVEZxQMmWH2wUxRxnc1MdZQ4Tv0364Q=; b=YwuOdKxqLAUSQN3C0DkeVHNp75
	v6pgDhW8uL3GXc5wLGqB9lnrMkkoUVpg386e/FKZnTCFwILjYzFSOZEVfl/GCXdtyQB+JBdHCR8nk
	mRzzn6gDoLt0lsbkdgJYX9M0TtEkYeT03OxUEoywER2VO45BYJcS6kcom+t2uK77EPsA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175423-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175423: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=3f378450dfafc11754bfdb64af28060ec8466acb
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 20 Dec 2022 16:03:20 +0000

flight 175423 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175423/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 3f378450dfafc11754bfdb64af28060ec8466acb
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    6 days
Failing since        175214  2022-12-14 18:42:16 Z    5 days   36 attempts
Testing same since   175423  2022-12-20 10:40:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@amd.com>
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  Chun-Yi Lee <jlee@suse.com>
  Chun-Yi Lee <joeyli.kernel@gmail.com>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  jdzhang <jdzhang@kunluntech.com.cn>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jian J Wang <jian.j.wang@intel.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Judah Vang <judah.vang@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Kuo, Ted <ted.kuo@intel.com>
  MarsX Lin <marsx.lin@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Nishant C Mistry <nishant.c.mistry@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Ted Kuo <ted.kuo@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Xie, Yuanhao <yuanhao.xie@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 894 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 16:13:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 16:13:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467187.726207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7fEt-0007hI-41; Tue, 20 Dec 2022 16:13:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467187.726207; Tue, 20 Dec 2022 16:13:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7fEt-0007hB-0m; Tue, 20 Dec 2022 16:13:11 +0000
Received: by outflank-mailman (input) for mailman id 467187;
 Tue, 20 Dec 2022 16:13:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7fEr-0007h5-OH
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 16:13:09 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2065.outbound.protection.outlook.com [40.107.21.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3149952d-8081-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 17:13:08 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8853.eurprd04.prod.outlook.com (2603:10a6:10:2e0::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 16:13:06 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 16:13:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3149952d-8081-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ac6gvO56dVczBUP8yUSPCUd/3CTUpkwu1AfErkqN1NRN7eKn8z/fe2d+dZyqzMTkOVDJj0Rr7pW9LhoyCYYDuZ+f+1WG2oMbYEZMBInBcyDTBvltzi4tb3P+0mElKMFBDVi1FdwTk7OFa0gS3cjSsJDGQtYxrEBnh6z1I4NkoXqvbJWNlr6g9y21L7eO1xkdeOq0AzvH8aS7ttdG/phi4iYQkFKzHZdZ2qkf1XCj0qHcKwP25V9YVlprO/KlC8AkFm6Q7uNrmhvbqGOIp6CBKX9GIjM97uxEQVJJpLswWgZd1SkLCANvwoHk+r3PZaTP2KWxBYc861RHX+SFuVfMXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H2i5E9tOi8XSxmU9nTTjr33Mj2BDqfSuTEWfHh/LLJE=;
 b=E7kk7f/nUquy3KFFZVj9fyoQTUNb+B3vD+S8Tusc2GbhhSsc5tgQ0ZMWikwW1/Z4Zm7uEiIA2AcS+d/Kg8HTk+TLdjRDCSblywDu9jbB/z0BiUV9zmTws4RnPlQMi5/2LtgnMVVHPkue0gk7X31qDDpP4lWVFoBOIgRW8JOe4s4WvnczwAq7ftMuh9PdkHOLUaGtndz8Wvx/ShJmBaQ0GcK+H6k2Q60+7+ziJVJg6fyiHsnZ1YQQoc9EVGUMMjsweZack1F27sUF4154DgogrBIHKsgCQKlXrNanhtDZO4hZZymHV1d77WLVg1LL++Qc6r2/i6fGglaE9+ZhElzOlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=H2i5E9tOi8XSxmU9nTTjr33Mj2BDqfSuTEWfHh/LLJE=;
 b=dIfvD+befnsV0vWGp3gIuX/HDCe/1qBU0gOAnQAo9YRzV6s6/Gnu9kNvhXyXefVwRzlaqaYCpMds1dAvaLes+AnHemD+rE+RFv4r8pykHN50Cj8sSDPoppNAoGhAjoU3NPcYS2TMquzrZMLMJ5GNdyCqNhIXNQVI12w/H4XVKjmRXDNxEYZjtpTIiPUmkk9xNYDsLg7RasNmJ8gt73mWaSAia4D65lmHoNwqM0xaLWM32EPwp3MuM9aViiYoBXmkzXN2V4kJ04ENldUBHXfk7w0y9feBDgKNs9FqA0FoDWgkTfsW+i+Tx6Y5sBrFtPlGYgO3fdXSbFcww1LfXgX5YQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <24461a6b-b118-aad9-6407-d215d07a2924@suse.com>
Date: Tue, 20 Dec 2022 17:13:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: [PATCH v5 11/10] hvmloader: use memory type constants
Content-Language: en-US
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Demi Marie Obenour <demi@invisiblethingslab.com>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cover.1671497984.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0091.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8853:EE_
X-MS-Office365-Filtering-Correlation-Id: 50ee373d-2383-4499-ee09-08dae2a513ce
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M4McA4BIwo/K8zwt1YAuR3hHnKt6BnASkan20foUlSppJiI9bjQFKw2t8JNil4CNgSc8BnopgNXLAyxCWHIJJu526bZL6Aj4uJRx0ydGqYl+13+7IIS/VE2Sce/xACwUyD3XNGRm6ClPy2g0hCQtx+lCmJ4momxmd4/MpoZpd74zKz6WeMuWiI+EkI4MyQautrQ3GJxdGdehnAdA2NHHYEkYAK0AlxroVPMlQC+YiJyqLqIem/LqbQ/bMdREi3hYpgZx0yfhRpYQ5SwOfRz/bxCR+xeQA2oUzBZJ4wknZb7DlHhQA55ZoBkz3Szfq56WMjZIzWg7Mm32XbMGQM506M68aN5ej3+H6Ul2PYyu8XfB7fL9RckYStB2wUnlXnSekMsYDJ86rOu4c2GVLsc6gWd4m3V6RnL+efDnZwwY7RYO8OpDgrGmIDp11U9YWgxgXKTJo+Iio5nal53eGdcfJeMbWSTdlhq/TzRYcx9ckSrCesfKRQjgAERRBGUoMxUTSPn27Ebg5XpFhoqv+bCj218ERaiET0bfQ9+R/3y5IVeea6fbWkmfysQqF2GRzDq1MdGPji85D7xWKGqK7LqoJmaabWVEeyHUkXPRGGVvua5JCO8WBzWCLyuCEz2yb6HF5/KRPxncG2O0Gs97usCmHZTVEhBlNg6XWG2qanN1CxxHLsZkKJckV2CANa9uFR2uzC8G2ErAuFkWSj066HHRR7zuVNtjnbmbZk0Jl3sR2/o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(136003)(346002)(39860400002)(396003)(376002)(451199015)(6506007)(31686004)(2616005)(6512007)(26005)(186003)(86362001)(31696002)(38100700002)(41300700001)(2906002)(36756003)(66476007)(66556008)(316002)(5660300002)(6916009)(66946007)(6486002)(8936002)(8676002)(478600001)(54906003)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVhXczBjSHcrZXJjb2ZTKzNZU2lCYzkxZTZ1bzNFNU9FRWVoSnIvb1l2OFU0?=
 =?utf-8?B?MmhKcGR4SmVIUnhxSFluOThUdFdxcnZYY1JaTWYyMGFXM3JwMWMwN1A5R1dZ?=
 =?utf-8?B?RTYzZ0s5WmQ4UVFoUVJOZE0wVmczVmpHYkVrQmZ5SDNtN3RteGpUV052eVdk?=
 =?utf-8?B?dVBkTVppSnUrM3FyYUdZYlE4MlM0a2ZCZjRPVTlneHlKaElIeFY2cEFGYmJm?=
 =?utf-8?B?VTdDOVVreEtmQXhCMG52dGpZS3A2L2h6cjJtVzF3d2swUmZ4dWIvYkhVU25x?=
 =?utf-8?B?M0VjUDN2Umh4V1VNbzJNYnVBY1VEbklkUkVzOThRVVhORm85Vm1ONXdpRWZI?=
 =?utf-8?B?VFJOYkM5NGNyRHJTaExRZDl2ai90cEcrSzdkQUpxUldBcVhEOFdoeFkyWlhw?=
 =?utf-8?B?N3hobWVOZCs5WEJKZ1dDUnNzSWtoL3BQRlRCanIzcHFCNWM2OUw0b2tla2VC?=
 =?utf-8?B?SDRmdmlzZXExVGphL01oMDNyaFBJTU94RFRjS1NJRzlCMndCY0p6aWc1QmEr?=
 =?utf-8?B?T05kUk4vMmVBU0RQRTFvb3hIc2FkY09sajRRQUhLTTNEU2RHYXBOWDAweWdY?=
 =?utf-8?B?dE9LNHdnV3ZsbXEzajBVQlRTaFp4ODZYeXNTUWdYQllTSVYzZlNjYVVOV3hr?=
 =?utf-8?B?eVh4K1hwRW1vcllpaU1GMzl1UFdKcnVIbGE1N3o5TUhsNnJRZmpEOXdweWsv?=
 =?utf-8?B?YS9ORklhTGVRNVNqWmtOQ1hXVVBoNFFVMHl3RzhlZENLM2dmbmR2VnlSOFVx?=
 =?utf-8?B?d2diYkFiTUQ4bGROR2pERGkzSFZjUGt5ZTBDMlFHU3pFZzVsMnBRWDR2NW0x?=
 =?utf-8?B?WHJQWTlRRWRpV1A4NGh1MGxjOFJQRzVEOTJGdzJzM0FsZytOY0tNaTYxMFZj?=
 =?utf-8?B?Q29ocmVzRHhsZkVXUFFIaWlWSVN0QTlacFhHVHYxME4xdjkrQ1puaHc3MGpH?=
 =?utf-8?B?cjV1YmlTb2xrL3RTYUp6ZTF2bnhickJsVjBhT00vUXFoMGYvdWZEbE00TVZU?=
 =?utf-8?B?ME5sTEhvM2FKSnl4TFcvOUZZREhza1Q3QncwckluU3N5VUtNNy9sTUprdm9j?=
 =?utf-8?B?R1RBVm5PK21SMkZ0SkEzT1lpRzlDOVZnSFp2Y0JBOC9uTVduR2Fqa2dBdXI3?=
 =?utf-8?B?R0ZhekJUb25HMTlrbmdwQ3NaTWtqTEJoZ25ZbDdxdzdLTzExUHBuWlhaakww?=
 =?utf-8?B?L0I0YjlOMzloZldPRCttei9iNlNIanJWNzJZWVhka3Nyb09iOUlkcFB4N29M?=
 =?utf-8?B?cnZBRlVQMW81RU50OTcwTGlFclMzdEttSXo0U3U4aHllQVBoL0FOMk9Ja05x?=
 =?utf-8?B?a2pZaC90S2Q4d0l1WHhMU3FsRG1BRVloZ3M3cTBPSWFJaEdkRU5DRksvalRz?=
 =?utf-8?B?OHJiYXd1cG15TXJ0Q0RRcmpPVFhVUTNwTElCdE9ENTdtRjU5K0sxUUdBdGNZ?=
 =?utf-8?B?cXJQeXczdUZab0RhKy9PUnRIMVZicFdxMEZKRVFROHowOEkwbnhCa0QyalFO?=
 =?utf-8?B?SDZhM00zMkJPSkNPMXBRY2xYNDBLa0NtYUlIclFROXRIUlk5ZmlSK1VZdlBn?=
 =?utf-8?B?OWVkQ3VveUdlN3hOdnAzblkrdjNvc0pCTEh5TXY2N0JvdzZaYU5sWXNaRHVC?=
 =?utf-8?B?YStYTnpERFdPOE1Pam1iNFJSS21sUDB1RDlzaVJKY2t5clNnM21ZUmhqbHc2?=
 =?utf-8?B?L1lzMDhQQUZUcU1hV1N5WndmZHhaWHdJTWJsTkRMQVBUWnZLR3dObFErSlhs?=
 =?utf-8?B?WGtxZXhGMlMvL3U1TjNYTHVud0ZDZjVSbkV4Y25IZ3ViSDdtZ0dzOHVPRUxI?=
 =?utf-8?B?YkdDVFFGNGpURW5adVViRkZQb0hxM2dSeWVtalVCZ3VyWlpaa2ZndmZjL1g5?=
 =?utf-8?B?V1JkZkVpblhkRUY1cnRURUpBQWZJVVMwV2lGa0JxcnZnSmxxdWIyb1FRcXY4?=
 =?utf-8?B?OTlwRTdUUUM0WGlaOHVHbmhPMDRYUHhsODhCNkFrNW55OFAxd2pMNUtwazJW?=
 =?utf-8?B?bjMzV3I0SkhCWDZvVnNnUmtNLzdzd3Z3aGVUdXdhaGFiTmlYZ29od09UODBY?=
 =?utf-8?B?ZlhjQ2hza0ovem9UYUNZOElJdUhjNVNFQXRQdmhNUTl4Q0w1a0V2U0dseHJX?=
 =?utf-8?Q?Fqe/jrXN6fji1miMGl/U4Wyz5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 50ee373d-2383-4499-ee09-08dae2a513ce
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 16:13:06.1780
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /dImKuBNG/VBKbWuTaV7rQvRAb71ta5V/Cs2JlGYPhb1U6NTkMALH0FyCk+Uh8oaXVO8oh2iv+0cKYkWvLisOQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8853

Now that we have them available in a header which is okay to use from
hvmloader sources, do away with respective literal numbers and silent
assumptions.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/tools/firmware/hvmloader/cacheattr.c
+++ b/tools/firmware/hvmloader/cacheattr.c
@@ -22,6 +22,8 @@
 #include "util.h"
 #include "config.h"
 
+#include <xen/asm/x86-defns.h>
+
 #define MSR_MTRRphysBase(reg) (0x200 + 2 * (reg))
 #define MSR_MTRRphysMask(reg) (0x200 + 2 * (reg) + 1)
 #define MSR_MTRRcap          0x00fe
@@ -71,23 +73,32 @@ void cacheattr_init(void)
 
     addr_mask = ((1ull << phys_bits) - 1) & ~((1ull << 12) - 1);
     mtrr_cap = rdmsr(MSR_MTRRcap);
-    mtrr_def = (1u << 11) | 6; /* E, default type WB */
+    mtrr_def = (1u << 11) | X86_MT_WB; /* E, default type WB */
 
     /* Fixed-range MTRRs supported? */
     if ( mtrr_cap & (1u << 8) )
     {
+#define BCST2(mt) ((mt) | ((mt) << 8))
+#define BCST4(mt) (BCST2(mt) | (BCST2(mt) << 16))
+#define BCST8(mt) (BCST4(mt) | ((uint64_t)BCST4(mt) << 32))
         /* 0x00000-0x9ffff: Write Back (WB) */
-        content = 0x0606060606060606ull;
+        content = BCST8(X86_MT_WB);
         wrmsr(MSR_MTRRfix64K_00000, content);
         wrmsr(MSR_MTRRfix16K_80000, content);
+
         /* 0xa0000-0xbffff: Write Combining (WC) */
         if ( mtrr_cap & (1u << 10) ) /* WC supported? */
-            content = 0x0101010101010101ull;
+            content = BCST8(X86_MT_WC);
         wrmsr(MSR_MTRRfix16K_A0000, content);
+
         /* 0xc0000-0xfffff: Write Back (WB) */
-        content = 0x0606060606060606ull;
+        content = BCST8(X86_MT_WB);
         for ( i = 0; i < 8; i++ )
             wrmsr(MSR_MTRRfix4K_C0000 + i, content);
+#undef BCST8
+#undef BCST4
+#undef BCST2
+
         mtrr_def |= 1u << 10; /* FE */
         printf("fixed MTRRs ... ");
     }
@@ -106,7 +117,7 @@ void cacheattr_init(void)
             while ( ((base + size) < base) || ((base + size) > pci_mem_end) )
                 size >>= 1;
 
-            wrmsr(MSR_MTRRphysBase(i), base);
+            wrmsr(MSR_MTRRphysBase(i), base | X86_MT_UC);
             wrmsr(MSR_MTRRphysMask(i), (~(size - 1) & addr_mask) | (1u << 11));
 
             base += size;
@@ -121,7 +132,7 @@ void cacheattr_init(void)
             while ( (base + size < base) || (base + size > pci_hi_mem_end) )
                 size >>= 1;
 
-            wrmsr(MSR_MTRRphysBase(i), base);
+            wrmsr(MSR_MTRRphysBase(i), base | X86_MT_UC);
             wrmsr(MSR_MTRRphysMask(i), (~(size - 1) & addr_mask) | (1u << 11));
 
             base += size;



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 16:22:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 16:22:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467195.726219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7fNx-0000np-0G; Tue, 20 Dec 2022 16:22:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467195.726219; Tue, 20 Dec 2022 16:22:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7fNw-0000ni-Tm; Tue, 20 Dec 2022 16:22:32 +0000
Received: by outflank-mailman (input) for mailman id 467195;
 Tue, 20 Dec 2022 16:22:31 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7fNv-0000nc-S1
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 16:22:31 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7fNv-0005tN-CI; Tue, 20 Dec 2022 16:22:31 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7fNv-0001A4-6T; Tue, 20 Dec 2022 16:22:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=9Dxj2dYWB0r0CKG1CsBAV8K2a1ApM568hkKenPYfW0c=; b=IJSV0T7PboXOMjvDuiUxMteztL
	u71F/1Xw7zbqb7YUbYgZ4l3duG1G7JnefaX1ofE46IPWWiDXxDROly0cJToLw0j2MQ40ptfal5H85
	Ixxg10uI2a7vhB9Gb2X6AtefRC+2YMPQhqxgv7JuzwmW7mUyFPL5Fl2BIs/FSX2sr0Rc=;
Message-ID: <3fe5846a-b4f4-7fbd-6745-78f1c20f11f7@xen.org>
Date: Tue, 20 Dec 2022 16:22:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v1 8/9] xen/arm: Other adaptations required to support 32bit
 paddr
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-9-ayan.kumar.halder@amd.com>
 <45f897bc-3700-d3f0-4f4b-43598c0b8560@xen.org>
 <41b5c4f5-aa95-5dec-55c8-4e1f1654f8a1@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <41b5c4f5-aa95-5dec-55c8-4e1f1654f8a1@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 20/12/2022 15:24, Ayan Kumar Halder wrote:
> On 16/12/2022 10:23, Julien Grall wrote:
>> Each adaptations are distinct, so I would prefer if they are in in 
>> separate patch.
>>
>> This will also make clear which components you touched because I would 
>> be surprised if this is really the only place where we need 
>> adaptation. Maybe that's because you didn't compile everything (which 
>> is fine).
>>
>> On 15/12/2022 19:32, Ayan Kumar Halder wrote:
>>> 1. Supersections are supported only for paddr greater than 32 bits.
>>
>> Two questions:
>>  * Can you outline why we can't keep the code around?
> 
> For PA_32, the following bitoperation will overflow :-
> 
>              *ipa |= (paddr_t)(pte.supersec.extbase1) << 
> L1DESC_SUPERSECTION_EXT_BASE1_SHIFT;
>              *ipa |= (paddr_t)(pte.supersec.extbase2) << 
> L1DESC_SUPERSECTION_EXT_BASE2_SHIFT;
> 
> Also, pte.supersec.extbase1 and pte.supersec.extbase2 are not valid for 
> PA_32. Refer xen/arch/arm/include/asm/short-desc.h

You are right about extbase1 and extbase2. See below for the 
supersection support.

> 
> unsigned int extbase2:4;    /* Extended base address, PA[39:36] */
> 
> unsigned int extbase1:4;    /* Extended base address, PA[35:32] */
> 
>>  * Can you give a pointer to the Arm Arm that says supersection is not 
>> supported?
> 
> I could not find any sentence in Arm Arm which says supersection is 
> **not** supported on 32 bit PA.
> 
> However,
> 
> Refer"ARM DDI 0487I.a ID081822", G5.4 "The VMSAv8-32 Short-descriptor 
> translation table format", G5-9163
> 
> "Support for Supersections is **optional**, except that an 
> implementation that supports more than 32 bits of PA must also support 
> Supersections to provide access to the entire PA space."
> 
> Also, G5.1.3 "Address spaces in VMSAv8-32", G5-9149
> 
> "AArch32 defines two translation table formats. The Long-descriptor 
> format gives access to the full 40-bit IPA or PA space at a granularity 
> of 4KB. The Short-descriptor format:
>     Gives access to a 32-bit PA space at 4KB granularity.
>     Gives access to a 40-bit PA space, but only at 16MB granularity, by 
> the use of Supersections."
> 
> from the above 2 snippets, I inferred that supersections are only 
> supported for PAs greater than 32 bits.
> I could not find any evidence of supersections supported for 32 bit PA.

 From what you quoted above supersection is optional unless the 
processor support more than 32-bit PA. IOW, an implementer is free to 
implement the feature even if it is not strictly necessary when the 
processor only supports 32-bit PA. This because it is useful to reduce 
the TLB contention.

So if we want to #ifdef some code, then only the two lines using 
L1DESC_SUPERSECTION_EXT_BASE{1, 2}_SHIFT should be protected. The rest 
should stay as-is.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 16:36:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 16:36:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467203.726230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7fbV-0002SX-5h; Tue, 20 Dec 2022 16:36:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467203.726230; Tue, 20 Dec 2022 16:36:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7fbV-0002SQ-36; Tue, 20 Dec 2022 16:36:33 +0000
Received: by outflank-mailman (input) for mailman id 467203;
 Tue, 20 Dec 2022 16:36:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QAKX=4S=srcf.net=amc96@srs-se1.protection.inumbo.net>)
 id 1p7fbT-0002SK-IX
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 16:36:31 +0000
Received: from ppsw-40.srv.uis.cam.ac.uk (ppsw-40.srv.uis.cam.ac.uk
 [131.111.8.140]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74494d17-8084-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 17:36:30 +0100 (CET)
Received: from hades.srcf.societies.cam.ac.uk ([131.111.179.67]:47772)
 by ppsw-40.srv.uis.cam.ac.uk (ppsw.cam.ac.uk [131.111.8.138]:25)
 with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256)
 id 1p7fbM-000CFD-LO (Exim 4.96) (return-path <amc96@srcf.net>);
 Tue, 20 Dec 2022 16:36:24 +0000
Received: from [10.80.2.8] (default-46-102-197-194.interdsl.co.uk
 [46.102.197.194]) (Authenticated sender: amc96)
 by hades.srcf.societies.cam.ac.uk (Postfix) with ESMTPSA id 5F42B1FB8D;
 Tue, 20 Dec 2022 16:36:24 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74494d17-8084-11ed-8fd4-01056ac49cbb
X-Cam-AntiVirus: no malware found
X-Cam-ScannerInfo: https://help.uis.cam.ac.uk/email-scanner-virus
Message-ID: <07db6af0-c5d9-56a8-0536-60d850915de2@srcf.net>
Date: Tue, 20 Dec 2022 16:36:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Demi Marie Obenour <demi@invisiblethingslab.com>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <24461a6b-b118-aad9-6407-d215d07a2924@suse.com>
From: Andrew Cooper <amc96@srcf.net>
Subject: Re: [PATCH v5 11/10] hvmloader: use memory type constants
In-Reply-To: <24461a6b-b118-aad9-6407-d215d07a2924@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/12/2022 4:13 pm, Jan Beulich wrote:
> Now that we have them available in a header which is okay to use from
> hvmloader sources, do away with respective literal numbers and silent
> assumptions.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/tools/firmware/hvmloader/cacheattr.c
> +++ b/tools/firmware/hvmloader/cacheattr.c
> @@ -22,6 +22,8 @@
>  #include "util.h"
>  #include "config.h"
>  
> +#include <xen/asm/x86-defns.h>
> +
>  #define MSR_MTRRphysBase(reg) (0x200 + 2 * (reg))
>  #define MSR_MTRRphysMask(reg) (0x200 + 2 * (reg) + 1)
>  #define MSR_MTRRcap          0x00fe
> @@ -71,23 +73,32 @@ void cacheattr_init(void)
>  
>      addr_mask = ((1ull << phys_bits) - 1) & ~((1ull << 12) - 1);

Does this want to be PAGE_SHIFT ?

>      mtrr_cap = rdmsr(MSR_MTRRcap);
> -    mtrr_def = (1u << 11) | 6; /* E, default type WB */
> +    mtrr_def = (1u << 11) | X86_MT_WB; /* E, default type WB */
>  
>      /* Fixed-range MTRRs supported? */
>      if ( mtrr_cap & (1u << 8) )
>      {
> +#define BCST2(mt) ((mt) | ((mt) << 8))
> +#define BCST4(mt) (BCST2(mt) | (BCST2(mt) << 16))
> +#define BCST8(mt) (BCST4(mt) | ((uint64_t)BCST4(mt) << 32))

IMO this is clearer as

#define BCST8(mt) ((mt) * 0x0101010101010101ULL)

which saves several macros.

>          /* 0x00000-0x9ffff: Write Back (WB) */
> -        content = 0x0606060606060606ull;
> +        content = BCST8(X86_MT_WB);
>          wrmsr(MSR_MTRRfix64K_00000, content);
>          wrmsr(MSR_MTRRfix16K_80000, content);
> +
>          /* 0xa0000-0xbffff: Write Combining (WC) */
>          if ( mtrr_cap & (1u << 10) ) /* WC supported? */
> -            content = 0x0101010101010101ull;
> +            content = BCST8(X86_MT_WC);
>          wrmsr(MSR_MTRRfix16K_A0000, content);

This looks like it's latently buggy.  We'll end up with WB if WC isn't
supported, when it ought to be UC.

I suppose it doesn't actually matter because if there is a VGA region
there, it will actually be holes in the P2M and trap for emulation.

Also, Xen being 64-bit, WC is always available.

> +
>          /* 0xc0000-0xfffff: Write Back (WB) */
> -        content = 0x0606060606060606ull;
> +        content = BCST8(X86_MT_WB);
>          for ( i = 0; i < 8; i++ )
>              wrmsr(MSR_MTRRfix4K_C0000 + i, content);
> +#undef BCST8
> +#undef BCST4
> +#undef BCST2
> +
>          mtrr_def |= 1u << 10; /* FE */
>          printf("fixed MTRRs ... ");
>      }
> @@ -106,7 +117,7 @@ void cacheattr_init(void)
>              while ( ((base + size) < base) || ((base + size) > pci_mem_end) )
>                  size >>= 1;
>  
> -            wrmsr(MSR_MTRRphysBase(i), base);
> +            wrmsr(MSR_MTRRphysBase(i), base | X86_MT_UC);
>              wrmsr(MSR_MTRRphysMask(i), (~(size - 1) & addr_mask) | (1u << 11));

If you're re-spinning for page_size or the macros, any chance of also
gaining some constants for E/FE to avoid these naked shifts?

~Andrew

>  
>              base += size;
> @@ -121,7 +132,7 @@ void cacheattr_init(void)
>              while ( (base + size < base) || (base + size > pci_hi_mem_end) )
>                  size >>= 1;
>  
> -            wrmsr(MSR_MTRRphysBase(i), base);
> +            wrmsr(MSR_MTRRphysBase(i), base | X86_MT_UC);
>              wrmsr(MSR_MTRRphysMask(i), (~(size - 1) & addr_mask) | (1u << 11));
>  
>              base += size;
>
>



From xen-devel-bounces@lists.xenproject.org Tue Dec 20 16:40:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 16:40:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467211.726240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ffQ-0003rw-Mo; Tue, 20 Dec 2022 16:40:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467211.726240; Tue, 20 Dec 2022 16:40:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ffQ-0003rp-Jb; Tue, 20 Dec 2022 16:40:36 +0000
Received: by outflank-mailman (input) for mailman id 467211;
 Tue, 20 Dec 2022 16:40:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7ffP-0003rd-2Y; Tue, 20 Dec 2022 16:40:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7ffO-0006BD-WF; Tue, 20 Dec 2022 16:40:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7ffO-0005aF-Hv; Tue, 20 Dec 2022 16:40:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7ffO-0000Xy-HS; Tue, 20 Dec 2022 16:40:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=hzB0tlZXRIYbdyOi3dx5cnLKO8IcSnspffk15o1YDfA=; b=Q1qDJiNNy53XG7/s8So3JCALdy
	+JXZw1Fd2GiZ6Kp+BH9KT6wnmpyt9cTiNekPVpKwfK3zSALplqxWDqyvmQmdieyv0v9DkOD+VpOWP
	E028rPDbLVKFBGnSwR3NDOllzwQZT7QTuNdN6VJZwzTHjYrS6OQ3H4Fki7Dykns8nMx8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175417-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175417: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-ovmf-amd64:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-xl:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64:host-install(5):broken:regression
    qemu-mainline:test-amd64-amd64-xl:host-install(5):broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-ovmf-amd64:host-install(5):broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:host-install(5):broken:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    qemu-mainline:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=c15dc499cc22f4a71639e42e36051e118761c25f
X-Osstest-Versions-That:
    qemuu=562d4af32ec2213061f844b3838223fd7711b56a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 20 Dec 2022 16:40:34 +0000

flight 175417 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175417/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ovmf-amd64    <job status>                 broken
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow    <job status>        broken
 test-amd64-amd64-xl-qemuu-debianhvm-amd64    <job status>               broken
 test-amd64-amd64-xl             <job status>                 broken
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 5 host-install(5) broken REGR. vs. 175394
 test-amd64-amd64-xl           5 host-install(5)        broken REGR. vs. 175394
 test-amd64-amd64-xl-qemuu-ovmf-amd64 5 host-install(5) broken REGR. vs. 175394
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 5 host-install(5) broken REGR. vs. 175394
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 175394
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail REGR. vs. 175394

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175394
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175394
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175394
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175394
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175394
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175394
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175394
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175394
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                c15dc499cc22f4a71639e42e36051e118761c25f
baseline version:
 qemuu                562d4af32ec2213061f844b3838223fd7711b56a

Last test of basis   175394  2022-12-18 17:07:20 Z    1 days
Failing since        175405  2022-12-19 10:38:52 Z    1 days    2 attempts
Testing same since   175417  2022-12-20 00:38:47 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alessandro Di Federico <ale@rev.ng>
  Anton Johansson <anjo@rev.ng>
  Guenter Roeck <linux@roeck-us.net>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Niccolò Izzo <nizzo@rev.ng>
  Paolo Montesel <babush@rev.ng>
  Peter Maydell <peter.maydell@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Taylor Simpson <tsimpson@quicinc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          broken  
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    broken  
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         broken  
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             broken  
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemuu-ovmf-amd64 broken
broken-job test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow broken
broken-job test-amd64-amd64-xl-qemuu-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl broken
broken-step test-amd64-amd64-xl-qemuu-debianhvm-amd64 host-install(5)
broken-step test-amd64-amd64-xl host-install(5)
broken-step test-amd64-amd64-xl-qemuu-ovmf-amd64 host-install(5)
broken-step test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow host-install(5)

Not pushing.

(No revision log; it would be 482 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 16:50:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 16:50:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467223.726252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7fpF-0005U4-Qm; Tue, 20 Dec 2022 16:50:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467223.726252; Tue, 20 Dec 2022 16:50:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7fpF-0005Tx-OB; Tue, 20 Dec 2022 16:50:45 +0000
Received: by outflank-mailman (input) for mailman id 467223;
 Tue, 20 Dec 2022 16:50:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7fpE-0005Tr-23
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 16:50:44 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on2058.outbound.protection.outlook.com [40.107.8.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 70e9b6dc-8086-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 17:50:43 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7847.eurprd04.prod.outlook.com (2603:10a6:20b:2ad::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 16:50:41 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 16:50:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70e9b6dc-8086-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R8ufIft4oCT4TAAeCV/zE8/tuLtG/Jhp4ZhwNXi+jH2cgMw9816Cow9p8/MkmeKht6eac1LWGxInzK6wSDDSaPx6gq80avNXSGxMofoLHR+ejJlWDTsFPaXyuJ6EaZAsh6Ch3ExPA0B5y8BJGrqzlhHcXDOiBi6arvjf/Ec316yYaHzOMcAfiR+K8MVb1THun3OFMQ1rBWowBf160P0uzmxst3aNCw/FU6A2eH6bmbt04UdV3zKrfkdmx255at1hAS6h8wWSWOg8NiNQp+VCYTmL26TlECtqjgarr/xnsb6toX9Xy74vtVd/ZiDVmAdfk+oZ/iosCZRo9lrLZEOn+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HvOMKy1skOyfqQYTpY/2QYPpiVZWEFMf2SK2o0Rz3EQ=;
 b=DakeLD8OmSEpoWYgr5fU5glkXR4NeEixO88z+DasvrhVsn6QuMl3+fz8NZ6HiP19A59kpXoEpV/dHn2HE32/KJkTOZBfwBzmTpEr+w/4JuLOVW6FjcYl1iz5/rdFvsaMxo4GWIDvCE1zHDWaaNb9HkRX5pWsi7gGWAf7SjMypgPYqs5QewPbJQ5SNuGdhWBotPV9i1PO0134CBwe62lYlcL3lOXKO2qvaUDYTIj5DRjGNy4xVWb2hocTeND5JROz4S7/r85z2d8NMnpzzh1wE8usFZli65/Kjz0k1FVWvNLtlsiwPfqgXFWcW+FUrjVtSrBzh7TxK5LHrDpHDKXAvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HvOMKy1skOyfqQYTpY/2QYPpiVZWEFMf2SK2o0Rz3EQ=;
 b=3GezgeszY1fhSfb61vOMTXZRdRXjsJhwYSR36sK1uL2qv9NTMBfpQLb1Yw8IgdAumtlmS45OIuHziZ+FHLhCIcNgtIsaKhFKL22FDCw9bSzhI3zTazv9GAhwBEikeFKWlkdJ5IbftqeiHJK7igJ1k0Z5kQ7f+tjxA75PopGQkhwWlCrDXQGp4hzLEYA9vyo6vKSDRRDh/Q37WPXP3F6wAfuOPgnz9LGSzErxh+cZM/yEebfWnLUXWAxUg5Wh2YMWtN8oIrtX0vGRZpm4+p7/q/ux2GQ4n6PKlcoV0oF/oLgaeny/PZvvTf/lL28z+DaAKBgDkjS+AtpG5jZaiVxadA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <957791bc-2c4f-2730-5667-ba168885f670@suse.com>
Date: Tue, 20 Dec 2022 17:50:39 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v5 11/10] hvmloader: use memory type constants
Content-Language: en-US
To: Andrew Cooper <amc96@srcf.net>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Demi Marie Obenour <demi@invisiblethingslab.com>,
 xen-devel@lists.xenproject.org
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <24461a6b-b118-aad9-6407-d215d07a2924@suse.com>
 <07db6af0-c5d9-56a8-0536-60d850915de2@srcf.net>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <07db6af0-c5d9-56a8-0536-60d850915de2@srcf.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0017.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::22) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7847:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ab8c5d8-8e59-4f3e-e23c-08dae2aa53f4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PRX3OrPKP9HmUR/zwo3oj9GN7LtLPaHzPWin93n17xZLfkHIn6vvcGmBi01d69tKouTgR4vQu2GFMcZBOKl1fZJqfHGer5IPxff8k+mLpMlwLX+RXhBu0KtNWLR5eZ23ZnQ1RJwi8Xj6BMxfWamEJdcb6EOYbVZRB2kjyjNGZMs21vZoj7JRnhKFS14MIAu1ZXX6tpyiJpjdy3V8slZ7gxpbl5N+DTW4qoQmCTPuDl7CDmK7aSdwjAvqOvPceC4O4YnjysI3zxGlV0rn9iJm0JAG5dI3aUfMT1ThD2P3S2qp6QPE2E6mvGMu94VEvH94ntmQldD/iqZd01TRsLA5SBKwyphpUnrWZFOkkUupffjKY873CUD1oPq++Rj9UhGuZScqCOaRmxQnnvyHk1daZHlFw3t3F7Q8tiM7B2xFQIR6QhWKkyNMDfzCmZUlcjTzQy4O9VXHKbgStbNVUg8vNm7FIuuOPMsj8vQdmVZ6bGJZ+enQQiNjA2XljuakvUc36D0UmeqdK9vB3TU08C6iLra+qnR4JsAI28QsBjPE187Px80P7ZH7/HIK7jMTlHeNvx2onVvyef/UXO9ya91S+Vb/t47uIDW43ZyTVvmHoNIJVeLxfzgVr0HcoApXT9gfUGlj4uzvRm5xkdkK1E2khR8XEdrQIoxxjbxLKQDp0ILTLqR1m3E6MwKDfNRcKwgtGSg1Wc9FzOvZwnEJcB0FThKBSDgBrFKLdtuvO3d9HuI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(346002)(376002)(396003)(136003)(366004)(451199015)(2616005)(31686004)(86362001)(38100700002)(26005)(6512007)(2906002)(6506007)(186003)(36756003)(478600001)(6486002)(6916009)(8936002)(316002)(54906003)(53546011)(66556008)(31696002)(66476007)(66946007)(4326008)(41300700001)(83380400001)(5660300002)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dCtFVS9IaS9BZ3hmcUFlbW50UkozbFZpZlJkRjJrQnR6RTM0V3hSZEM4aXp6?=
 =?utf-8?B?OThRdVJIeDc2UWlOeE00V2FqY2ZVVWlTMDJab0czdFc1QXJkZ2FQQ1RPYkNH?=
 =?utf-8?B?OXZyQXh5VTJyS3NEdUhhZEZaemE2VFhFRWZjaVdRRU5wQXpmaDlHSTJZOEQy?=
 =?utf-8?B?REFRYldkaWMrcTYrTlJzUEJjL2FHOS9TZmx6eG5INHVkMmZNY3pVNEdGd094?=
 =?utf-8?B?bmhmT3BHSEFUbWtBZXVVRTIySmVaK2E1TU5EUGhLOVY0dzdtcjVURDJjTGNs?=
 =?utf-8?B?ME4rN3huYmN1WXUzOXU3WGxQSjJOdzZrK2RGdU9HN3h0Y3BSd1RzQXVNV0dS?=
 =?utf-8?B?QytCcTkvaEhobFFHVldNRU5HTmZBODc0aHpuQUJtZEErdFdmVEZHdDNlZkww?=
 =?utf-8?B?L2tjam92RUVrbkZHd3A4N29hNDRWMmtNK3l5RXhIc3RlZTlUQXRPclpaTzY1?=
 =?utf-8?B?cTkva1VpbUI1b0JFa3VCUGhXTXpER1N2NDgyZGxBUGNmRUxuMXFnWWU0UWtk?=
 =?utf-8?B?VG1IUGtwTW9SNlIzS3FMN0FwQmR1NmFJTmh2aFduNFBYSjJML2d4cnVrV3pF?=
 =?utf-8?B?djY5cnRHd2ZENFp0MUlRU2VmeU9ZL3hkOXFFdW9jZW9GNDdXQlhWUW02dmZz?=
 =?utf-8?B?SjcxZjBFaEdaUzZZZ3FmRnUvUWtYeitMRWxrZVhzbG13RzdZRy9hNUNXS1FI?=
 =?utf-8?B?QklyVGtoYTdqVk1XeFduaWtyTEFsd1c0QTV4OG9mV2xMK0c0YkVZSDkrTlY0?=
 =?utf-8?B?WjJTZ3hGYTRidStLQWh6MTFRSVJTTlVTQ1I5cTE1akhZbVlHdUZja0Voc240?=
 =?utf-8?B?bmVSOGFJTEpVTUZnb3luMVhwY1lGa0VtK1MzUXdKb01ISzU1T2UxWDltb29N?=
 =?utf-8?B?OXdhOCtqVXp6YUFkNW5DM0lDL1BtUkFzQWdzTmtEblhxMmRhZmRFZjB6TWpu?=
 =?utf-8?B?bEkyLzc2cnppdHBGUFdIY3RsYUlFcmJmTzhVQ0p3QVdXZEpaUWprV1RoNGNx?=
 =?utf-8?B?dTh6Z1J4Und3ODg4SEtVRVk4U0d5eUoxTTBVR3I2ZktYaXJmRnI4SEhTdkRa?=
 =?utf-8?B?d0JLcDVacXFoZ3ZkcGdIVXJtQ2FMb2RmTk1zVjBWWitldkM4YmlVcnA5QzZ3?=
 =?utf-8?B?eGhBd2hoa0FoVDJkQ0pwMTFzSjBvZTBnbzBMekxqYURUMmpVV21Vb28yWm1r?=
 =?utf-8?B?SS82Q2dPZDl0b2ZXeFViSUd3TE53TEYxYXYvdDEzSkVySitpeU1PQjV1RDRz?=
 =?utf-8?B?dWpXVm9UVVFRbmpxTld1aVJ6ZzlkbnJacUY0UGw5ZHRWdkFwd1RaR0V6ZDNL?=
 =?utf-8?B?OStLMlRqZU1oM3VsVk5KK0ZMcFhlNGt2L254ZWI0U2JrdlBvY1hnMWh4amVJ?=
 =?utf-8?B?enFBTDZhcGJFUTgxSVA3K0xEYWF3T2U5VTdIZC9kakh6UE9XOVAvRXRVYjFE?=
 =?utf-8?B?VnRXdGw0R0hXbWxpTlc4NmdXZDNTcHRqbzlON09LQ0FFNmlHYXpSQ2s5cFdj?=
 =?utf-8?B?ZkxURzJ4bnBCazIxb3JDUm1SY1VyRWlDVHROOUNFcGUwZTVYdnF4dVZwQjZX?=
 =?utf-8?B?WDV1MVRIbEg5UktjMnZCZHlvVVNybVcwTnMwWUVKbnc0T2xDQUNicnA3bCtS?=
 =?utf-8?B?Qi9yWSttaDZCbVN3cjdlZnJ3OFRzbldVTDNSQTRWYjl0U0RIcDJIWG92RGQx?=
 =?utf-8?B?UGFNTlY1YUtLa2RrbmZ0c0hoWmJPVWtFRHQ2QlFoYXl1dUFtNGV0M1lKMEZW?=
 =?utf-8?B?Y2ZEWURpV21xeEd0c2hmQjU4ZDVNQm5WVTU4K1AzY1hITUFZYlAxVTdFbW1O?=
 =?utf-8?B?VEN3Nlo4UUlKcFQ3WnR2WFhYakxDYU9mT25WY2pnS0p5UTF6UmhBbzFDRC9B?=
 =?utf-8?B?dXYyZnZWOU1rR3RPRW0rOEhpdkVsUHpna205ZGdpVzY2cENLM0tpa0lQYnox?=
 =?utf-8?B?RGlBMVZBUXlTMkZmcUhOZStRZjJNZ3pqdDlENkhkQzFTMFdZSzdwWU9wcXNo?=
 =?utf-8?B?K1dEYXR2THBwTkFKejBXT1ZtdUUycmY3TWJ0KzVib3pJK2RIYmRmVXFzNlhV?=
 =?utf-8?B?dUl5d0dBQ3FiNFNzUHU0a2tFb1Qwc09zeXNyTkJaWHpLZDlZZ2xYK29rTmpU?=
 =?utf-8?Q?PNU3iQ8ZMFttufYzyw9/fyseO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ab8c5d8-8e59-4f3e-e23c-08dae2aa53f4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 16:50:40.8940
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: K6YD7at2COW7ZaHH8GJvHokNDWZr9FxnrzWVw3l3AwudbKpVYMkb9gSFtM4xTXoyhJ6zhEVuqkcQW1eAAc6Q0Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7847

On 20.12.2022 17:36, Andrew Cooper wrote:
> On 20/12/2022 4:13 pm, Jan Beulich wrote:
>> --- a/tools/firmware/hvmloader/cacheattr.c
>> +++ b/tools/firmware/hvmloader/cacheattr.c
>> @@ -22,6 +22,8 @@
>>  #include "util.h"
>>  #include "config.h"
>>  
>> +#include <xen/asm/x86-defns.h>
>> +
>>  #define MSR_MTRRphysBase(reg) (0x200 + 2 * (reg))
>>  #define MSR_MTRRphysMask(reg) (0x200 + 2 * (reg) + 1)
>>  #define MSR_MTRRcap          0x00fe
>> @@ -71,23 +73,32 @@ void cacheattr_init(void)
>>  
>>      addr_mask = ((1ull << phys_bits) - 1) & ~((1ull << 12) - 1);
> 
> Does this want to be PAGE_SHIFT ?

Not really (it's rather an MTRR layout related constant which we ought
to use here, which only happens to match PAGE_{SIZE,SHIFT}) and not in
this patch (see the title).

>>      mtrr_cap = rdmsr(MSR_MTRRcap);
>> -    mtrr_def = (1u << 11) | 6; /* E, default type WB */
>> +    mtrr_def = (1u << 11) | X86_MT_WB; /* E, default type WB */
>>  
>>      /* Fixed-range MTRRs supported? */
>>      if ( mtrr_cap & (1u << 8) )
>>      {
>> +#define BCST2(mt) ((mt) | ((mt) << 8))
>> +#define BCST4(mt) (BCST2(mt) | (BCST2(mt) << 16))
>> +#define BCST8(mt) (BCST4(mt) | ((uint64_t)BCST4(mt) << 32))
> 
> IMO this is clearer as
> 
> #define BCST8(mt) ((mt) * 0x0101010101010101ULL)
> 
> which saves several macros.

Ah, yes, will switch (and then name the thing just BCST()).

>>          /* 0x00000-0x9ffff: Write Back (WB) */
>> -        content = 0x0606060606060606ull;
>> +        content = BCST8(X86_MT_WB);
>>          wrmsr(MSR_MTRRfix64K_00000, content);
>>          wrmsr(MSR_MTRRfix16K_80000, content);
>> +
>>          /* 0xa0000-0xbffff: Write Combining (WC) */
>>          if ( mtrr_cap & (1u << 10) ) /* WC supported? */
>> -            content = 0x0101010101010101ull;
>> +            content = BCST8(X86_MT_WC);
>>          wrmsr(MSR_MTRRfix16K_A0000, content);
> 
> This looks like it's latently buggy.  We'll end up with WB if WC isn't
> supported, when it ought to be UC.
> 
> I suppose it doesn't actually matter because if there is a VGA region
> there, it will actually be holes in the P2M and trap for emulation.
> 
> Also, Xen being 64-bit, WC is always available.

Right, but we (or the admin) may elect to not surface availability to
the guest.

>> @@ -106,7 +117,7 @@ void cacheattr_init(void)
>>              while ( ((base + size) < base) || ((base + size) > pci_mem_end) )
>>                  size >>= 1;
>>  
>> -            wrmsr(MSR_MTRRphysBase(i), base);
>> +            wrmsr(MSR_MTRRphysBase(i), base | X86_MT_UC);
>>              wrmsr(MSR_MTRRphysMask(i), (~(size - 1) & addr_mask) | (1u << 11));
> 
> If you're re-spinning for page_size or the macros, any chance of also
> gaining some constants for E/FE to avoid these naked shifts?

Again, yes in principle, but not in this patch. This requires shuffling
more stuff into x86-defns.h first.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 17:02:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 17:02:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467231.726263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7g02-00074A-RU; Tue, 20 Dec 2022 17:01:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467231.726263; Tue, 20 Dec 2022 17:01:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7g02-000743-OK; Tue, 20 Dec 2022 17:01:54 +0000
Received: by outflank-mailman (input) for mailman id 467231;
 Tue, 20 Dec 2022 17:01:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7g01-00073x-V8
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 17:01:53 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on2051.outbound.protection.outlook.com [40.107.8.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 001d5f94-8088-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 18:01:52 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7815.eurprd04.prod.outlook.com (2603:10a6:20b:28a::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 17:01:51 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 17:01:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 001d5f94-8088-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lULTcHBwPglg8ujZAkagSFakw6/MrK9dodZPLHNRzwjsRbKYn5a46780aVTo9aeBsqvLvGghm/pwVYTBKMYIa8Xocd/xB9+rnwiliFhraWvHKmR28xA8KBGd9McylHOi+RfQMqBdqB1eoGOiqOWOgPc5bISi7a6KXkuhc66VjRQ2Qpx7lPTZcJBnyi3XvltkBAG2XAvUJ8VR11rErc2QHGlHywYux0uoQyo0aJyu4yQvpxVHahCVFAQ+Yb9lzitcDH1um1kQka2SN59KbvgED0gPYyWl1gBVYjoRRsZ7tlvlWijISKVQ+HKVNWL7oqyzDPDpizvKYH/6QFFGqvZ5sw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xA7NX3RceTIHXEDDBCrr4AsSoQVS/CluVFtq3qSJzns=;
 b=kSrDFGazW5V22cCLRcxjSh7IQIH+lia7bgDWa9LJyvQQO6C9Liku7to/rzWvPE/ppXMZH4G3DmzK2CSG2157KTd+cKFGC9XoaVyiMb8pPxfUkJzHw7UFlrjzo3cZ6kh10+RrlzqteFSWkIKviwdF7aOiSPmEImh+hM1ro19oNTi7sc0xckOE3+nca9H070dgs88YQ2/KrsF3q9IzVtR+qHyQIaU/w1v/hN+CzDs2ONmiJZPh11qXc9ZtH7d1ltPYBY7OJ9JJA0FmS+ldLAJSE2HZCxdK+JFLcdEg2Xz/xYQALvSm2u7DPADdPXJrm9+VyjVJkSnEYHeDpLxELIlI9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xA7NX3RceTIHXEDDBCrr4AsSoQVS/CluVFtq3qSJzns=;
 b=QsNWQXO4jwsjwnYJg8urPBzMNN/R0yf/QpyuRf1RasO0aeVo25MeT2cKfw1SNhQiab1WPe17E7tZmXwVSTsUF6DgBndeRMH2B6DdVDYDDKl22UPsI+Rk4vF2qvA0RdoEkFr8Lyx4NtqwXIKRQEZWToh8j/qZYUHqcQi4X0eHkw8yPvcb7CXwGeyhp3kRuuZUDBX8AYkDi/9uWVl8bZfLzuSxNaZkoLMoj8Ko6cSmomqQqPfUxUN+uhSa+VsYolHBvYWb2x/3dUSzs7NFhz7AUIfGfBtAk+Jysbo5Br9wF+lpRHw8aJr2kjBMmhd5RVSp1SYdUVhMP2GDzEFCkH+BfA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <09997785-ddb0-c464-331c-618349f418f2@suse.com>
Date: Tue, 20 Dec 2022 18:01:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC 1/7] x86/iommu: make AMD-Vi and Intel VT-d support
 configurable
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-2-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221219063456.2017996-2-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0015.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7815:EE_
X-MS-Office365-Filtering-Correlation-Id: 9de3f34a-cd95-4212-1da7-08dae2abe360
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZbNJsbJoqvrfodfmhIJjW9a1UQA0irvSWit9wNnOFsY0EWZI+isQcB8VamgrWj/4JCwG+vPgtg0JGZMGxh/UrtfJS66xxQC/kKcFnHU6U3Pi4VZY+L8C5TO0QUlvYyYGtLFzsQGrzD/r26xnGhWE8hz1RG8incbNyIu6Nkqv5AYo4pva8krPmv43sAZVjeIjyzdbyvC/lPeTzMh34OhzZRqgl/NX5bCYSsG6yvQF5nJODehzPNDXy9t9jrwuQponee8rGakZsP0necjVhJft3BSyFIsQaL2r4kulDzZTbrvTvCV8NBsklYLZiQGRD2XW6E75KKykiQouYVz0vFDO9/7lCPj/m7wVkzQFAANWaEka1AAMo8ZM8+MzI6KDWRDtWhxkiUq3jGHjnqw5pXFKgVeWE1wisnoxfmBSe4svU0o/m1c4Cj+Ud4AR7akI3VtkAJ5RNcMGz3Un0C9xiOqtMm4EmoSvNpkI+MTt/3Xop3N+2gRe50/8uYDhSgUl4Gmo5lUCDNBvhft9htTP/bBH8exQdKnL/8f4IhTAGZLljWq2Je1jyk2H/+YfIFC0d6RBLNyw5KOnuOD0My/0V6KfwYjluXJqdfTjQnmlQ8xLdn+K2f5tdChleXqldEHA9NRc0PxrZNkhpwjw0Lim+KIdh6zVAVNe4wHfZRaLUTM9wWvoC6yb1Jsc14gqXP+c/OPn5YJYsQbg0rn9QgZdNL1n5UFVkCvFEBzVRgBmKPiH15M=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(376002)(136003)(346002)(366004)(396003)(451199015)(86362001)(6916009)(4326008)(31686004)(8676002)(5660300002)(26005)(6512007)(186003)(66556008)(38100700002)(66476007)(316002)(2616005)(31696002)(66946007)(478600001)(6506007)(36756003)(53546011)(83380400001)(8936002)(6486002)(41300700001)(54906003)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K2lRbVN0NkRjWWt6dnFoZnVKdVE1RzVtRTdsVHhnOFZ0QUU3TGxnRVMyV0Ja?=
 =?utf-8?B?TlQyaE5IOGVZalltNmplbi9veGcrMGs3Yld0TmhtOWM0czlkWnBHWjRheVdE?=
 =?utf-8?B?YzloMjliNFNyUFNzV3JlMDNQbkdOaFFzb1V4azFvcEpNUzJQaHRTbU9TOWJI?=
 =?utf-8?B?WHVzMDZLQkhZc0xid3Zwa09wQ09QQ0Y5WE8ycnpmak8vYjVNazlqVEZOaE9D?=
 =?utf-8?B?b1dIa092VjRJTDhLblNZRWlKcVBabU4rcTg3VmI0N0RTWVFxNzZpaWVidncz?=
 =?utf-8?B?TUVlZkQ1Y0ZHc01UMUswSWlBbTRCOGFoQ09PTmhyMjZRakJGVzNFaTlPZHRw?=
 =?utf-8?B?TEhOMStwY29NMTlUdnJRaHJweFNiUC80MFFydFdSQzUxVjF0ZzJuWFJGQUpO?=
 =?utf-8?B?czY0ZHBSWXJmeWRvSEtJbFlaTTFyU3FiakZIZ1dJQVJvNWp1a3Z6WTVMTDZC?=
 =?utf-8?B?aDFPakpGSWMzaGMvdFpBR3RTUFRBOTVFdmlGMk1jQXZQckhQK1R4R3RtZ2hr?=
 =?utf-8?B?NndXQ0VvbGJpYzIyaXRlTkdaV3hrODhXci9hV2hJVnkvRndnZnpiaGk3UGxI?=
 =?utf-8?B?STVkTVBmY0o5cFpLV1AvTmhSWkxnN042N3M0WDJGc0FRcW1pQXRWN3hNVC8z?=
 =?utf-8?B?eXhTdHVGNjFwaVhaQzVBcEpyTmlnS05NQmZOdkNTZXhQZCtPZ1JmUlIzSjNr?=
 =?utf-8?B?R3JiTmxZTzUxdjl6aldHdENIOUhQbEhoNW0wN2x5NnBKcG05MW12TGZDN0o0?=
 =?utf-8?B?L0pZSnBmaWJJMGU3dDgrS1IrZ2FyVFlIMWNtUlYyVDgvWlF4NW9sY1B0TmR4?=
 =?utf-8?B?Z3BtaERNd0t5akJaUEM0bnZzclVxYmcvWlJTVjFpbXFkYXVLbE8zZXVoT1Z0?=
 =?utf-8?B?b2pkdVU2YlBxRGdBWDQwTVp3ekdmb3lxSDl3bDdDYmwvZGRCanhBMXZNbUFS?=
 =?utf-8?B?eXhVNTd1SFd1V2NTT29SVUYraUZvUmdmdVRmM2xDd2hzdm4rQjY4akFRYzdO?=
 =?utf-8?B?TTVKb3lTQlA5WDlXNUZkazFHemxvTTNTRVdpTGZZUTd4Y1lvOTNoM0tHZGNu?=
 =?utf-8?B?a3VyaUhrTjZvQlBkTE5taXVMNTFRRGZ4ekhZVjRUd0I4TVVwTEFBRUlGOGg2?=
 =?utf-8?B?R3lCbVIybmlhWSt2TnZQZ3VkN0pUSm9EN0V6RFZOOXRtOGV4cnJ2UXpZM0kx?=
 =?utf-8?B?YzJLSlJ5T29GaDhFMlVISHVrZzdiUXhmN1VxdGlITmd0Mk9HdWRMUFAvSit2?=
 =?utf-8?B?YzNKL2d5eGFPYm1HRGtWbWc2S2lwK0piWWtIb0RFeGcvYWZXRThibFRMZ055?=
 =?utf-8?B?dXFUQmdHRlNvSVdjeU1JNkZFeWcxUTduc1JmL01ZSXQrQVdwbTk1VSsyR1h0?=
 =?utf-8?B?S2xremZkRTVqd2tJS0p6aHd4SU45Y2RZUUhUZlRJb0ZiREZvNC9ESzY1cmZC?=
 =?utf-8?B?cDZJMjA4ajgvOFhGY1BnVGVGUjNQODdYbFpHTEVxZTRJNE9RRUlGS2RIQTJj?=
 =?utf-8?B?MStncTRFWDNqZldkRW1XZEF6M3VtQit6L2t2ZEY3K0k5VnVzdzlHNmQ3ellt?=
 =?utf-8?B?U1hRZm5zRGdJbWlKeHhPSk9EVlZrMnlXb3o5Ykw0TzgxbXEva1RHSU5pZXYx?=
 =?utf-8?B?YkNsN3daRE40dkpCNlpDREFYZjVjNEJxeWNibllVcktpbHVFK0ZMaGVocExL?=
 =?utf-8?B?ZDFacDZDRU5aVjFEenZhQStxZi8wQys2d0NzZW9HcUdSYy9MSzlJcTZJZUdo?=
 =?utf-8?B?WHhIYVp3MWdiMlhUbUxxeUc5WW9jY1hZNkl0OHJIZEZiVmFJbDV0dU9GTVgw?=
 =?utf-8?B?c1h3YkRmN2FNK3RVVUM4ODJFdGRvbWFzcThsNUMwekVaUkJaTlZENlc3OWFV?=
 =?utf-8?B?TWtlcUI1eVBWK0Ira1dubjhmVDFBNlVtdHhGVWJIUE9QL0VjcDg3M2NHVUhC?=
 =?utf-8?B?UlVTSERPTWY5YjBDdUEyaGN3WGRjb2N0MzFtU0N3WXJUTFNQMmhPUEVTRDQy?=
 =?utf-8?B?VVducDBra1JWN2l1TkRJUzdERGJHTGdqZW8yR2JiNStLRU1QaTdWaFJRZ3c5?=
 =?utf-8?B?eGJ6OWJxaHhGOGdLaTJJV0Q4czdvMEVBVDYvVjcwbTZNeXFnN2FZcThyN3BX?=
 =?utf-8?Q?v9U5sbHacpCNbmDV3d1aoF29u?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9de3f34a-cd95-4212-1da7-08dae2abe360
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 17:01:50.9452
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DGH7YdNBI/pNLS02ioxmtmVgeTiEZeDHrtKBTfvX2gCLWxjYdn1WnCgOabGaT6YSxpFNV6SKomkuwqkHPWA4Dw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7815

On 19.12.2022 07:34, Xenia Ragiadakou wrote:
> Currently, for x86 platforms, Xen does not provide to the users any
> configuration control over the IOMMU support and can only be built with
> both AMD and Intel IOMMU drivers enabled.
> However, there are use cases, e.g in safety-critical systems, that require
> Xen to be able to be configured to exclude unused code. A smaller tailored
> configuration would help Xen to meet faster certification requirements for
> individual platforms.
> 
> Introduce two new Kconfig options, AMD_IOMMU and INTEL_VTD, to allow code
> specific to each IOMMU technology to be separated and, when not required,
> stripped. AMD_IOMMU enables IOMMU support for platforms that implement the
> AMD I/O Virtualization Technology. INTEL_VTD enables IOMMU support for
> platforms that implement the Intel Virtualization Technology for Directed I/O.
> 
> Since no functional change is intended regarding the default configuration
> of an x86 system, both options depend on x86 and default to 'y'.

But do things also build successfully when one or both options are disabled?
I have to say that I would be quite surprised if that worked without further
adjustments. In which case initially these options want to be prompt-less,
with the prompts only added once 'n' also works.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 17:04:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 17:04:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467239.726274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7g2z-0007j4-A7; Tue, 20 Dec 2022 17:04:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467239.726274; Tue, 20 Dec 2022 17:04:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7g2z-0007ix-6l; Tue, 20 Dec 2022 17:04:57 +0000
Received: by outflank-mailman (input) for mailman id 467239;
 Tue, 20 Dec 2022 17:04:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=I7dU=4S=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7g2y-0007f2-KV
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 17:04:56 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2088.outbound.protection.outlook.com [40.107.21.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6cfea0a8-8088-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 18:04:55 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBAPR04MB7222.eurprd04.prod.outlook.com (2603:10a6:10:1af::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 17:04:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 17:04:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cfea0a8-8088-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ashzqsfKp2TF3YE7Iuvl6Sj2pV+yYe4hO7XZpQv6oOSt1y9uLBwoCyWF8KrKLdgWEL6BNq2le3dt91LrzCeOPFcbuj8cH+CoZOy2qsVQfVe/oz+nUn2vC4cRmfXD4AYdoYj4rg21/Hz6LKPoOOCM2xAqmvyHGMfYg7k5QPeaW99wY6EsC/6phUjAjuJRLh7H6zkE2pwQHGaSiT0nAJybq4g355jOsooB1X1v3cNbR2FaDE805bhnzIywYCatj5ax0/CTOPhiK1bsQBWmZTkWU3VooZ81EH2vTFLEnEjtuwCNVFGlS3k3xEOHr9Kii6vawUbH4xgOGeltzF1lvKrPxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IPnoIUI7ai8RRkcJ0ThqqrK6GDgOyZu6/wXjv4DcAWs=;
 b=MApmmJ131euaf9KKz8f0KIe5R8VWxvYcOUVo2AA57yerOG0pa+95SmWBNyBKUN3zLAjowA7lvkaYwqjijrUUyViEI3fFn7lZpBpmmoMclQjRfWWV/FMDxWJfgGQeJEmmI6gfs/NVBJbIhL0vAvrHlV7Z1koqdAtd8rxmWQ62pMjScV7VBok4vGAImRSGAz+fPYi5BRLpTSBZejnspYH3rSIbIaA6vrDYpnJfV6detCpwfzE3gWGihPkO+7hidnpwfi26g1oJcvypL5DS+kV14rpBRhJF+GcBh0jBxYx9OtzOIokO3PrXhjM/ZO5RRDv6Qn6DRdfytth/FT/qWQhBtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IPnoIUI7ai8RRkcJ0ThqqrK6GDgOyZu6/wXjv4DcAWs=;
 b=EvFT66wzpCTISM+Usb5PC9oE9cK6ba9VPL5E9bps73nPF1qZG+G4X3AZykVoJeiItWt/7ZghGPRuljxpFx8GhpLzWQ3RYoZFVsnXv7yUaRtda/nSKwqAkbsrvY13E3PkeCN9/+aiz0VNfjUIRZK4Q6NVzfhAdigoFWMXfZ3RvtOCeriRv92UXsczywtHLyQhDf8yMeknSpDgG8nYuShq8QBFleoTLjyeYjPsNI0K+1qY2kZME4XZyqQ0rNFH+9aVZMHxmIzGvXFEBeWd7pNtuCv2Pe0QC10x0NtqWKTATe/d5UlkTrpBiJVbw5A1QPaEwGKAZdvHlUXNzIUFkklCOg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4a2e34e9-32e7-1fac-0ecb-7cf084a06a3c@suse.com>
Date: Tue, 20 Dec 2022 18:04:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC 2/7] x86/iommu: amd_iommu_perdev_intremap is AMD-Vi specific
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-3-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221219063456.2017996-3-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0140.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBAPR04MB7222:EE_
X-MS-Office365-Filtering-Correlation-Id: 0d9c46b4-775d-4552-2e58-08dae2ac5010
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qbII5bZLdj+6fMrntdHi+6sn74u1p7VpMguJ9CrWpoYDN4TuaRkX635Or4dfFWXebQtQ2lZQ1wf4mFYgN1NqaATb0e8E0on8qVr97ndN4rT6wDayMBF9ljAHbXHGN7hDAEsR4H4bh6ZYoMRXq7nhmt60IFyS6jDcXymbNtk/27AeTJUGZy+/ZK4LutjWYJTq+8WiqgENAlGCoRlgkc1bpHVGzfGmRZ/7Fqa0q4Yf25EBvofzv8aAx78/k00K9deFPPikIG1aNQey+2n/JueWh05lq1K/pGo9i1IAhw4+DZfWqmk2nnrMySTpiw+Dmh2GdH2XgOk52qmLZHuiREuLrYGMDeu6pNFZoWMGqsjiMnc8dWyawTpM626s8cG4F7BEJ39d17tEwW+UZYsei7KczZxftZ8aS0VZ440iLmvflVWFAywqpPFSrSvxv21XhDKEJk/2nw/ME516ZjwDrZ4kvjWddudQNxrpiUbaOE5gDCW+znXibPKBez7WHlWw7qt5QU+0RHDrlQOIqdAt4uvkE0qsbCsWcD/lqFHjzwEUJOqEJD6+KW7BAnPiybYC/5PjJ2CdKJaHobXtuKSdAtMHMDLfF/MSogtsQpeU5rYLqZGxIDUjHH4O8M8uwO7wJQdGLgqj9NrXoHnMtQuZO5CNpCoEy/z7EbWlFpT/u+8/gsGTT1L7B1HLQ5Q64pG7tRujhpqp4KJIApNx+Ft3xRTlsu/gG2diWXDENnAxY+epM4M=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(396003)(39860400002)(136003)(346002)(366004)(451199015)(54906003)(316002)(66946007)(6916009)(31686004)(2906002)(38100700002)(478600001)(31696002)(66476007)(66556008)(86362001)(8676002)(4326008)(36756003)(8936002)(186003)(2616005)(6486002)(26005)(6506007)(6512007)(41300700001)(5660300002)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MGhpQXZHNjdxd3RrUE1jSExRZy9EMWxFbURSSXc3QWlzdnNmdXJqcXFxdFh3?=
 =?utf-8?B?bDNCZmZSd1pxKy9UeWp4djBBZjkxMGsxK2s3dDhKdXZVeXlDWFhsTGRPcW9G?=
 =?utf-8?B?cGlIRVFCM25qNEN2VVRuT2VybERCZW12dno4NGNDOTZCb0pzVDlaOE5xaGUz?=
 =?utf-8?B?a0RYUmpGa2FzQzh5SitjZ0F4RmZKNTh3MS9NRzdqc2V1b0pRaWg0cjdoYjU5?=
 =?utf-8?B?RWVIS2w2T01ZVkJrekNpbVZQUGY1SE1jRktNQmpjOElVMmpFZm82OGRpWGdN?=
 =?utf-8?B?QWhjYTFsTXNLNWpmNDkyZzlVUXYzLzlkK0FBeStNa1A1dmlSL1lqemtrUDNw?=
 =?utf-8?B?eTVETld0THdUM0ROd0lRVEgyM0t4eXlvc1pTMFhwcDVjbkJMRmIvc2dPcmIz?=
 =?utf-8?B?ZWxURjBlazc5TjFOWDcyUWFKT1JoTWY0Y3VYVEV3OFdxMHlMS21SdWFhV0M2?=
 =?utf-8?B?SkpwdGRJb2srbVc0NmlaRG9KSU10TnJPYU1kUWd6ZVhEQmlJQjJrb2s2djYw?=
 =?utf-8?B?VjRyd09scS9PYUw0YWtpaFg0K25qak5PSHNSdHZJNW5mR2NCV01ubXNNQ1dH?=
 =?utf-8?B?ZXBWUm5jaWNwSlFxbko1dE1YbEtPcUdWcFROMlZkUVVEQW96WFhkMVpqZ0JT?=
 =?utf-8?B?Y0w0RjRsUkNBdUNuRU4vQkgvYkxDN3BleWFVQkVSdVYrTDJ0OXo1ME1UTldL?=
 =?utf-8?B?T1FxbzdXLzExbVI5eXk1NXNBNXZZUWQ4aURnaEZwOXZYOUpQVUxSODhtbm5Q?=
 =?utf-8?B?MEZ0cGVBRVdubGluK1d4MHZPWHQ5ZnNBMDlrTWxHNWlUZVl5bWVTdlBoNGVR?=
 =?utf-8?B?dmFRQ29EeE50M2M3bGZXZ3lETml3dGJLaHVqbGlMTlFxV2ozUk43eVkwOFRU?=
 =?utf-8?B?NTNucVplQXJXSzlpUWY2cXl2Mld3WFpDM0loR3JibDJwa3N4ZkFnWk1mWUxZ?=
 =?utf-8?B?dmhvdUdiNldWRUNadmpZMTBidUF5cC8zL0xiSERialMrSGdubUc2YThvbStr?=
 =?utf-8?B?VEtsa0lOU1h3eWk1eEFHWnd5M1dYUE4zUk9IS0JsLzJaMjU0bk53OTlELzIz?=
 =?utf-8?B?bDh1YzhSaEFpVmNjM1p5N0ZhUUJuM0o3TDNZSmZHVFRQNzlqUnEzRDBIV1BH?=
 =?utf-8?B?WFVDYmNxMUNBVVpRbWJlamRnYkdUZm05ZzJCc2czcEZrcWVSd25UU0doZ0E1?=
 =?utf-8?B?ZUkwdGVpNVZFVGJkNnVVaXNyenV2N2cwZStYOGFWclNxK1pFdzZHd1hZKzRX?=
 =?utf-8?B?WllJaThXU0pMT2FGS3pwbGR1TGN2QXpUTUZ5ZXRYbHdLQzdPYWx3Rk50TFMw?=
 =?utf-8?B?YmtNaEVKUEZzZng2RytRU241ZFBUWmp3VXRWNVdSa1UycmhvTERDU0RvSXZ5?=
 =?utf-8?B?bG5YTU8zbWJuR1RkSnFKb1ZnSHBoTDNxbFBKWG9IYU03ZEE2UWN0TTNOUldw?=
 =?utf-8?B?eUd0S2VlMUorSjRJZUkzcmtscFFrOWIrRnJOTlovUjY1dmljZ2RHQnFqM3RW?=
 =?utf-8?B?eTZtWkFrT2FiaktLMitrZ3NxMWNKaTd2OXNrQmZyUmErMUo5YXpSeUtsVXZC?=
 =?utf-8?B?OFYwNEpHaGRnMjBZNlNubUsyWU5qNDJpMVBuVzdBVGtHTU90OFNKbEllT3cw?=
 =?utf-8?B?YlFLMTgrNHhnYTFSSjdpdVpTZmZJT0hNWEMrYkJidXdOYy9ick51aEwxMnhL?=
 =?utf-8?B?YkVMaUZnc29uY1RpTFFSMGluQUJER2E5VlFGa2JHVHZhYXZLL0ZaOWFFZVEr?=
 =?utf-8?B?T0huc2NpN2FZNFJ1aXdnWndrR250UnRtaDhCN2NRLzRXaU1LcmkwMjV5eTZO?=
 =?utf-8?B?L21JUCtwc29yNzQzd3hxcEc0bzZHdHFrY2sxRG1zYkVWcVplbWlYRDljNTly?=
 =?utf-8?B?WGNsQVJOTEM3Z1JEVXdpemE4eE9KeUNIV1NaTlVNRWcxMDZMT2s4RDVXbHVp?=
 =?utf-8?B?VnMwZTJNSzVrV0FEalFRYkdVbFlNS1RVRHFkTlUwRElEbGx1YjlhajlxczlL?=
 =?utf-8?B?Q2xDN2ZiOEtuanFwcVpBVUR2NFpESEJ3QjcwL0tpN1pGaG5WdDZCZGhkaHlp?=
 =?utf-8?B?dFBnc1NuemZmUFVqVGxVWjVsUFBQK1FzMzdWZ1RLOS9KQnUzKzdPNEdWRHZQ?=
 =?utf-8?Q?FZHLhOmfV/3iIOfdTYNczWb3h?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d9c46b4-775d-4552-2e58-08dae2ac5010
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 17:04:53.3398
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6rrNJpw1gMszXtoiJht2jRKeURS8qbLFpfTHthzSGvSw0n3Mv9at0xvIitlKP+m6W0dqUAt6WjxBzB/d9qpy2Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7222

On 19.12.2022 07:34, Xenia Ragiadakou wrote:
> Move its definition to the AMD-Vi driver and use CONFIG_AMD_IOMMU
> to guard its usage in common code.
> 
> Take the opportunity to replace bool_t with bool and 1 with true.

Please further take the opportunity and use ...

> --- a/xen/drivers/passthrough/amd/iommu_init.c
> +++ b/xen/drivers/passthrough/amd/iommu_init.c
> @@ -36,6 +36,8 @@ static struct radix_tree_root ivrs_maps;
>  LIST_HEAD_READ_MOSTLY(amd_iommu_head);
>  bool_t iommuv2_enabled;
>  
> +bool __read_mostly amd_iommu_perdev_intremap = true;

... __ro_after_init here.

> --- a/xen/include/xen/iommu.h
> +++ b/xen/include/xen/iommu.h
> @@ -104,7 +104,9 @@ static inline void clear_iommu_hap_pt_share(void)
>  }
>  
>  extern bool_t iommu_debug;
> -extern bool_t amd_iommu_perdev_intremap;
> +#ifdef CONFIG_AMD_IOMMU
> +extern bool amd_iommu_perdev_intremap;
> +#endif

We try to avoid such #ifdef-ary: There's no real harm from the declaration
being in scope; in the worst case the build will fail not at the compile,
but at the linking stage.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 17:08:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 17:08:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467249.726285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7g5q-0008Ox-QQ; Tue, 20 Dec 2022 17:07:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467249.726285; Tue, 20 Dec 2022 17:07:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7g5q-0008Oq-Nc; Tue, 20 Dec 2022 17:07:54 +0000
Received: by outflank-mailman (input) for mailman id 467249;
 Tue, 20 Dec 2022 17:07:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gzLQ=4S=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p7g5o-0008Og-TC
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 17:07:53 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2060.outbound.protection.outlook.com [40.107.223.60])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d5264633-8088-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 18:07:51 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by CY5PR12MB6227.namprd12.prod.outlook.com (2603:10b6:930:21::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 17:07:47 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c%5]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 17:07:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5264633-8088-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TwnT9XFhIFyW8WuGpEdgOSVGePMoWVSuNT/3ky4pH0fxp79nyGslwMVjdFxo+qVCQUI446tJH7Pm+zVrQLJtqipGNnK4H6X8KSNOmsyDK9KkZWJI7T9Lb2dt1AosT00qrevXhCzW6U18aApaockaa9BB3r6WR8Or/PV45Ic3XphfW/B6fOJZ05Ju3OXz4KnConsteU2jrPBz+MBRMDW4G2xEUTEo6Q6Cba7XICiACEzMy3aSRE/yripg9sX/e0W15g8jcP9T2T2NK20rsb02fPACEltjXDsMrDY2zcEC1WoTHLaw12g+BFTcK4GvFKIsUwXFckXWVuMgkzzftkYh9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OEhGUn/lQwdw2g/z3zvgUxb3zB1m0xeJzjd34kUn9Gc=;
 b=aeJWha45xKNNwKwbMj2mppwVpMrNOAC8BrNN9zydhJxG/SY2+33olo7vkrUq/2kEyatRlJtWedbkRNGEkO4/VRwXYCKiYuclY4/qK6V6bCdiSJ+i04zfqIxKMhquv0a/AkV1676gbQjrrJxVeoxLKxYlsL9iXJ+zuJjBc8/r4uaWlbTbxAvQUYPOK8N1Zx3An4NqfawjYGg+E1zdUfAzZp+wWsTzj4NG1+OfCzaqEzZPgyaDALBfKG1vjh+WE3BMBskd6OBxlxJMvs71CmENDy0LMVGK0aW3oWCl3ISeiSDpREGGmyjMudM8Xje01OifpVz85uOwq6NeXoYHtIVzDA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OEhGUn/lQwdw2g/z3zvgUxb3zB1m0xeJzjd34kUn9Gc=;
 b=krZAKX5R1sICk7JHd5PJmovxxc27YCwqeSWh9qtUOuRlSPrCa0riVDeM/EWl/qjBlybWcexBkv/zs9LuyfHxFp3qSxkDtrY2RTgpID2vrgmBvPD0+e9zmpFYxjHWQNoimsO+iSFSKJpHf0K4ayngWhWU4loRC2HvbSpvrVwk21Y=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <90d42b8c-4919-0c7f-edfc-1f90ad347425@amd.com>
Date: Tue, 20 Dec 2022 17:07:41 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [XEN v3] xen/arm: Probe the entry point address of an uImage
 correctly
From: Ayan Kumar Halder <ayankuma@amd.com>
To: Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221217193801.19485-1-ayan.kumar.halder@amd.com>
 <75635251-5f51-fbe0-28be-a99480541116@amd.com>
 <6e2b1f97-3e72-34b9-8faa-f00e79587b39@xen.org>
 <e2101505-ef3e-59f7-be2c-351ca9363249@amd.com>
 <9bd1a0a4-5d12-6984-0eb9-ed10303d5aae@xen.org>
 <b815229e-86da-f588-1b00-38c529504918@amd.com>
In-Reply-To: <b815229e-86da-f588-1b00-38c529504918@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0525.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:2c5::8) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|CY5PR12MB6227:EE_
X-MS-Office365-Filtering-Correlation-Id: c1fb8a10-3f24-4a91-95dc-08dae2acb7f7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hp2FiFcNVMQxEue7NwuJ8opsVZA2lLUGHYNMst1GaIwyETK/hzPWD75ltZivQeXvjMVkxgX2tdJeBb/B9oJAEAD7rlkoYf31wRtB4BHW5Z7bF/GT6RYiT+XCa8iq6CcBJGH6r9I0DA4kEXpNlXsfLE1eAK6gZ3OZn8wxaFjE8LM2KDfKjwAevDL+urlG3HxPVHyj6vT26Q9k9rfazkE+W3UYHQD5fXT1TGyy8pXp955hEd3Wd/zIPDvEirmflXBdagxCTcos85tyGbYLkmahsPaStzAuGkjxxdrQuJUlLfJGUQKq36d/bZqoARUCgyqoZr1YiaSDoA9IIr+38FxIjeSh9acQSe9ji2NIPDm0TKWKDbPL9jS2mgPhu1H3pJSMdxsw5I1l0+vKp1V28l93RDXsTq4GfqgqbxSGH7KKUCvWOprLX4/v8wDggVOu6Aa0iwVXU9hSYvGnBujVRGWSvTJpStfrgECrYJsFl7tSOj5YGl0sPWWZ3O6KmL4h7W/O9fEm4NDUlZkAZwDcB5CbTqf+amHsaBf2xVavJ3m6ukp6XZlxqIWr0nS6R2KclwUTkAOMgoKmJgmRmwCEmM/yAbfedoNtzPpMW6RyQST2WE7qcG2FMl1GBpF1A2LorvF5F6DEER0E+ADB/z/SHOxUxgCszQRPGzRu/XWap2aX2R5YNr+AtS6mzm8RXmhQio+ima0cj5aPqr2WjC4yHqPJKM7tlLQZRGbJZbcuC9RnsFQfHKOOIfNtXYlcOAqRGybB
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(376002)(396003)(366004)(39860400002)(346002)(451199015)(6512007)(31696002)(66946007)(4326008)(66556008)(186003)(41300700001)(478600001)(2616005)(2906002)(83380400001)(6506007)(110136005)(53546011)(6666004)(316002)(38100700002)(966005)(5660300002)(66476007)(8936002)(6486002)(26005)(31686004)(36756003)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RWpyTEFya242dXVsWXpHUFdDT3p5OWtTcmdvS2JTVkI1Y0lUaGtSZHRUYUNV?=
 =?utf-8?B?UDZPd2pKbzAvV0RzcGphemVCOGhRSDJVcEpTaXlWU2tZL0tyWlpFZFQ4dXYx?=
 =?utf-8?B?QTRRNm91T3RWcnZ5eFdKa2xTOXRlYzArNmg2U3VTZy9KUHh5K0VEL1FzUHdq?=
 =?utf-8?B?aVB1UEh6eTJQWUFTSlNNVFgwQWFUSHRHY2IxSXd6YWp5Vy9jNDNZdTRaTmNx?=
 =?utf-8?B?dFoyT3dBSmtVVkt6aUZmNldGK2ZNTUZ4MXd4cTlXTmVXejlGb1BLdUZ3VGhq?=
 =?utf-8?B?eTUyZ2VHYUFVb2R3bDcvWkM4NkNOY2NVWGQ5SHdTYUZodzdUUWs4a1VYU0Y3?=
 =?utf-8?B?eko4a3ZWNEQ1VW1jWmtHeE5UN0NFNGZkaHpyMHViV1ExU2ttcFZNSW5vWTEw?=
 =?utf-8?B?dkVxeDhhblhFYURzeVFOK2ROVHh3ZUswdmpaZjlPZG04VWMyb21qdnBoQVFC?=
 =?utf-8?B?dG9LKzhNNzhTZkFadVd5Slo0NzkveDhUcmJIc2tMbkpiREp6SFBZV2gxWklX?=
 =?utf-8?B?NFMwV21OeWgvQWJROWo1UlRMcm9zU1VKUVB3UklodFlMdVFpUUxWS3Q4K050?=
 =?utf-8?B?STl2ZkJ4dlBETklyL1lGdG80VzNyMC8vQmk5bTlrRldzMkdTQURZMklKZ3lJ?=
 =?utf-8?B?MCs5cHhIZDRzd1l4YVJZN1JwQXZ4VGdjRUU5cFI0WmN5Sk1kMWdleTByKzhE?=
 =?utf-8?B?cGxPR3VacEhUTmNLMkJhbTh5Uzd5UnVKMFVKYmlMdEgrd0pwY1h5TnJ1Vk1D?=
 =?utf-8?B?ejJvdmNTc3lmQ3FjZHdjL0Z0dUtCUzlhQzREZTFpNUU1T0UzSjYrWWNFcEFt?=
 =?utf-8?B?dzUwM050RjY5WXlScjNEaGdCZ0VOWEhsU050RFdGRlBXT3Q5L3M1WXU4YmhD?=
 =?utf-8?B?OElxMUxKWVJpUTJtZkxFd3NPdkdIR0lwaTltWnB1eVprcWtMR3NkQTQ0ZmJN?=
 =?utf-8?B?ZzJ2blF6dVMvdDNZSzdYNTNqT2ptYVFlYTcrS3orSGg4bDU5UFY5d01HVjdt?=
 =?utf-8?B?M1BrYWFYS3VRR2VTQ2g0eUZaVFFyL3Y5dGRDcnAyazBKbXY4WnAvUGVkcmlo?=
 =?utf-8?B?enV2Z2RIMXhiWVhsK0VmMGhXYjlORFFDYVJ3UEtZV253OWQ1N1lER3pBd0x1?=
 =?utf-8?B?UXVpWmN1QXpxdXFYdnBQdVRud0RsZGxPcldBSnJkQzdxcnY4TkFuUzRzMGVC?=
 =?utf-8?B?Nk1odjh6bXVMZWc0Tncyc2kvNkZ1Q3U5OWp1dm43SWliMXRhTzM5c2JBRS9q?=
 =?utf-8?B?bTFDbTRRNElCWU16eGRuK21wOWpJQ3RqNFlxMjM1U1NERjhlZUdXc1RUb3hC?=
 =?utf-8?B?bGFvZG5SekdmYy9uaFRGRlBIN1NtdWJEUW1TMmtnd2JUMzdTNHVSYUdRY3NU?=
 =?utf-8?B?aTJKbjU1RnFlbUVWOWJjckNYdlFSODJxTjVWNXpXbzdscHFFZkxoTDFON0ly?=
 =?utf-8?B?V0QwMVRJYStJWVFOZGNPQ3U5eEQ2ci9YMC9nQUdkZkFpUWpyT3RzT2ZPQU8x?=
 =?utf-8?B?K3JwUk43bU9HUU1pU2ZER096dWlRRHFtVXNaYzFqNE95Zll4ZmY1VUt5RmFX?=
 =?utf-8?B?cWJ2dnVEMEpoRXdvT2RpeHRKcVc2Uk9HWE5mOCt5aEJuSG5uajc1S1N6UWsy?=
 =?utf-8?B?SXo2VmtJRXFBR0srK3QwMjZKc3JSZ01pR0p0WUtHWUk0TFNIOTJIV2MzaytV?=
 =?utf-8?B?dDVsamNpUDFncW9FSXF0Uk81Y1crUDlJRlFwNmI5bkM1UGMxRUl0Y3UrMks1?=
 =?utf-8?B?U0gvL2VMampHSnFVWlNVUFZHK3Z5M0RPUUNQT05qaDdlZFFEYTVqSS9zZVJp?=
 =?utf-8?B?Vk5wTFMxZWJReS9MSkY0Qlh1Mml5TDA3OVYyOTBzUzVSNGUwYWREOUE5TS9q?=
 =?utf-8?B?bGMvTjdJa1FFdlJzbTNUdk1vSCtUOEdVYzJiWXdEdzhoeVZCS1gvQ3ZSNEJm?=
 =?utf-8?B?dWpqZ1hXbStlamJOUHhqKzhKdTBuRUJyY1ppVjJsZ3BxNmc2cER4QnlYR1FY?=
 =?utf-8?B?bWpsSlYzUkY2WWx5Z0RSMm40RzlGNjdMc3NFVDFuM3NlYk1XODF0Qm5rUnRY?=
 =?utf-8?B?K1lpMmRxWXJnUEJDNG5YL2FtWUJrZ2kzVUZuRnFOalpPbUNBY1pUQlFCcks2?=
 =?utf-8?Q?CWs0WUIi0N2P11n0E3jHn6nEQ?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c1fb8a10-3f24-4a91-95dc-08dae2acb7f7
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Dec 2022 17:07:47.7711
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5XyPRxtearQgI8ssgI9mhJr5PWd+rfaRRnUBL7azWRbHteMNViiRHjxEcU1kJPuCal/ttDJv71DUvqqEl4IeEQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6227

Hi Julien,

I need a clarification.

On 20/12/2022 12:51, Ayan Kumar Halder wrote:
>
> On 20/12/2022 12:14, Julien Grall wrote:
>> Hi Ayan,
> Hi Julien,
>>
>> On 20/12/2022 10:44, Ayan Kumar Halder wrote:
>>>>>> +
>>>>>> +    /*
>>>>>> +     * Currently, we support uImage headers for uncompressed 
>>>>>> images only.
>>>>>> +     * Thus, it is valid for the load address and start address 
>>>>>> to be the
>>>>>> +     * same. This is consistent with the uboot behavior (Refer
>>>>>> +     * "case IH_COMP_NONE" in image_decomp().
>>>>> Please make it clear that you are referring to uboot function.
>>>>
>>>> Could we avoid to mention the u-boot function? The reason I am 
>>>> asking is the code is in a different repo and the function name can 
>>>> easily change without us noticing (so the comment would rot).
>>>>
>>>> Is the behavior documented somewhere in U-boot (or online)? If not, 
>>>> what's the guarantee that it will not change?
>>>
>>> I could not find any documentation which states this. I found this 
>>> from the following in uboot source code.
>>>
>>> https://source.denx.de/u-boot/u-boot/-/blob/master/boot/image.c#L458
>>>
>>> AFAIU when kernel_uimage_probe() get invoked, the image has already 
>>> been decompressed. So, I added this as a limitation.
>>
>> I e looked at the U-boot code and, AFAIU, the check is merely to 
>> avoid the memcpy() if the image start matches the start of the 
>> decompression area. So I don't understand why we need the limitation 
>> in Xen.
>>
>> Now the lack of documentation (or at least I didn't find any) makes a 
>> bit more tricky to understand what the fields in the U-boot header 
>> are for. I have skimmed through the code and I disagree with the 
>> implementation you chose for Xen.
>>
>> The comment for 'ih_ep' suggests this is the entry point address. 
>> That's may be different from the beginning of your blob. I think this 
>> is what ih_load is for.
>>
>> So I think we want to load the blob at ih_load and then set pc to 
>> point to ih_ep. This will require a bit more work in Xen because the 
>> assumption so far is the entry point matches the start of the blob.
>>
>> Please let me known if I missed anything.
>
> I think you are correct. I will rework this to correctly handle load 
> address and entry point.

Is it fine to keep these two constraints ?

     /*
      * While uboot considers 0x0 to be a valid load/start address, for Xen
      * to mantain parity with zimage, we consider 0x0 to denote position
      * independent image. That means Xen is free to load such an image at
      * any valid address.
      * Thus, we will print an appropriate message.
      */
     if ( info->zimage.start == 0 )
         printk(XENLOG_INFO
                "No load address provided. Xen will decide where to load 
it.\n");

     /*
      * If the image supports position independent execution, then user 
cannot
      * provide an entry point as Xen will load such an image at any 
appropriate
      * memory address. Thus, we need to return error
      */
     if ( (info->zimage.start == 0) && (info->entry != 0) )
     {
         printk(XENLOG_ERROR
                "Entry point cannot be non zero for PIE image.\n");
         return -EINVAL;
     }

- Ayan

>
> - Ayan
>
>>
>> Cheers,
>>


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 17:45:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 17:45:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467258.726296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ggH-0004Py-Ly; Tue, 20 Dec 2022 17:45:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467258.726296; Tue, 20 Dec 2022 17:45:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ggH-0004Pr-Ib; Tue, 20 Dec 2022 17:45:33 +0000
Received: by outflank-mailman (input) for mailman id 467258;
 Tue, 20 Dec 2022 17:45:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tFeQ=4S=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p7ggF-0004Pl-CF
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 17:45:31 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 168e412e-808e-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 18:45:29 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 4CF25320097B;
 Tue, 20 Dec 2022 12:45:25 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Tue, 20 Dec 2022 12:45:25 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 20 Dec 2022 12:45:23 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 168e412e-808e-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm2; t=1671558324; x=
	1671644724; bh=DQJzCP4AKUy4oxeWY9ErxXgLb3RKTyC8+uXNkcTKiXc=; b=s
	JQqnNDn/WLbdOlLItOQUSX1g0MnK/HQWE6UX0fRsXcX6swE1MueyLyOkkgG6HqDG
	lfEbAv8Du5TfWrAXnxid5222oB6+ZSpdWUQL+bb4xfsojlC9xKMMmJHFDNCPJi87
	4+c8OR/lLD4Y3lZGQqp2utKwGtPw8xSKeIllNNvlj6gEh+ZUcaJ4t67V13eF6gmN
	8fky6Sp0+cW9GAAIG+LDhKkdi4INaqCz1DDssdwIKl+Mk+ZPBxBQcxche746Fp0T
	JKfwnMdAl7fY/5u/djRhr44I0NltkPak2bJh05IsOS5iZb6i2RV4spjc/C7z4OSF
	14ldvkPxZx+g9VJauwO7Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671558324; x=1671644724; bh=DQJzCP4AKUy4oxeWY9ErxXgLb3RK
	TyC8+uXNkcTKiXc=; b=FmIZbI+A9qb4oJFkTiCo0Kr6d0vAg0zdQzs8CEVI9Pw7
	S/RojXmwpFQlXRjZFao92jObTy20hLB7Vh2muvN2dgH6F2McvD+hnqZnBcGsJShy
	cTbcJvUFYIPTWncHo1mf5/TDIcIfvvyfEU4ny19evbIfrbh6s9L3oRzAeOe5DdyS
	2KIEfqju5gV4ikulmrbYZWeIfN1tV747VhkLAZ2coWfKO3MRpqlPZzg3yyOGckAL
	uSXy7Sjhl/QjQFIDNPPstyjsQUEH/eyW8JPwc/r/7tseV8k8VWX3SssFOSLpBhtN
	fVMchUFnneyBOu4+q7PQMlEVoNkpuoMT/2iMC+4q1w==
X-ME-Sender: <xms:tPShY0d9GTIxAhsy_lAY3Sn9Q2RNJ2wka0m4Ep_osO0Y9NkeWm5-hQ>
    <xme:tPShY2M90pJ5wg-y_EF4_PbD21ng7W5JfzJ2p3X41BcnkrF6XfiKg3QlNXEVUPBAU
    333RTe8x2BJW7k>
X-ME-Received: <xmr:tPShY1htT88ZLrK0vCML1_a9GfAWMB4l5UBNtyK-DaI7OBh_tHk9W516mr4X>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeeigdejkecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffegfffg
    uddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:tPShY58KEgMQZsmqdFySgcod4TXJ9AjCbqIw0fOK4s6Y7cP7KVfOqg>
    <xmx:tPShYwskEW0OcFEQstGFX0RFHI-_KesVMKL3wApGnp5ZPePgKjJ8-w>
    <xmx:tPShYwHXuBserQrE5ywX-nNzG34c-cyf7hPF64GhLoHBMF38ghqrkw>
    <xmx:tPShY56H-nvCVzqZWQ35vOcfzTXy9zgXOBc9wwAQNCfpXSXwIBqiAw>
Feedback-ID: iac594737:Fastmail
Date: Tue, 20 Dec 2022 12:45:14 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH v5 11/10] hvmloader: use memory type constants
Message-ID: <Y6H0siXlkOwASOdk@itl-email>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <24461a6b-b118-aad9-6407-d215d07a2924@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="1V8L5AtfQjXI+Vj/"
Content-Disposition: inline
In-Reply-To: <24461a6b-b118-aad9-6407-d215d07a2924@suse.com>


--1V8L5AtfQjXI+Vj/
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 20 Dec 2022 12:45:14 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH v5 11/10] hvmloader: use memory type constants

On Tue, Dec 20, 2022 at 05:13:04PM +0100, Jan Beulich wrote:
> Now that we have them available in a header which is okay to use from
> hvmloader sources, do away with respective literal numbers and silent
> assumptions.
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> --- a/tools/firmware/hvmloader/cacheattr.c
> +++ b/tools/firmware/hvmloader/cacheattr.c
> @@ -22,6 +22,8 @@
>  #include "util.h"
>  #include "config.h"
> =20
> +#include <xen/asm/x86-defns.h>
> +
>  #define MSR_MTRRphysBase(reg) (0x200 + 2 * (reg))
>  #define MSR_MTRRphysMask(reg) (0x200 + 2 * (reg) + 1)
>  #define MSR_MTRRcap          0x00fe
> @@ -71,23 +73,32 @@ void cacheattr_init(void)
> =20
>      addr_mask =3D ((1ull << phys_bits) - 1) & ~((1ull << 12) - 1);
>      mtrr_cap =3D rdmsr(MSR_MTRRcap);
> -    mtrr_def =3D (1u << 11) | 6; /* E, default type WB */
> +    mtrr_def =3D (1u << 11) | X86_MT_WB; /* E, default type WB */
> =20
>      /* Fixed-range MTRRs supported? */
>      if ( mtrr_cap & (1u << 8) )
>      {
> +#define BCST2(mt) ((mt) | ((mt) << 8))
> +#define BCST4(mt) (BCST2(mt) | (BCST2(mt) << 16))

This should include a cast to uint32_t, just like BCST8 includes a cast
to uint64_t.  It doesn=E2=80=99t have any functional impact since none of t=
he
memory types have the high bit set, but it makes the correctness of the
code much more obvious to readers.

> +#define BCST8(mt) (BCST4(mt) | ((uint64_t)BCST4(mt) << 32))
>          /* 0x00000-0x9ffff: Write Back (WB) */
> -        content =3D 0x0606060606060606ull;
> +        content =3D BCST8(X86_MT_WB);
>          wrmsr(MSR_MTRRfix64K_00000, content);
>          wrmsr(MSR_MTRRfix16K_80000, content);
> +
>          /* 0xa0000-0xbffff: Write Combining (WC) */
>          if ( mtrr_cap & (1u << 10) ) /* WC supported? */
> -            content =3D 0x0101010101010101ull;
> +            content =3D BCST8(X86_MT_WC);
>          wrmsr(MSR_MTRRfix16K_A0000, content);
> +
>          /* 0xc0000-0xfffff: Write Back (WB) */
> -        content =3D 0x0606060606060606ull;
> +        content =3D BCST8(X86_MT_WB);
>          for ( i =3D 0; i < 8; i++ )
>              wrmsr(MSR_MTRRfix4K_C0000 + i, content);
> +#undef BCST8
> +#undef BCST4
> +#undef BCST2
> +
>          mtrr_def |=3D 1u << 10; /* FE */
>          printf("fixed MTRRs ... ");
>      }
> @@ -106,7 +117,7 @@ void cacheattr_init(void)
>              while ( ((base + size) < base) || ((base + size) > pci_mem_e=
nd) )
>                  size >>=3D 1;
> =20
> -            wrmsr(MSR_MTRRphysBase(i), base);
> +            wrmsr(MSR_MTRRphysBase(i), base | X86_MT_UC);
>              wrmsr(MSR_MTRRphysMask(i), (~(size - 1) & addr_mask) | (1u <=
< 11));
> =20
>              base +=3D size;
> @@ -121,7 +132,7 @@ void cacheattr_init(void)
>              while ( (base + size < base) || (base + size > pci_hi_mem_en=
d) )
>                  size >>=3D 1;
> =20
> -            wrmsr(MSR_MTRRphysBase(i), base);
> +            wrmsr(MSR_MTRRphysBase(i), base | X86_MT_UC);
>              wrmsr(MSR_MTRRphysMask(i), (~(size - 1) & addr_mask) | (1u <=
< 11));
> =20
>              base +=3D size;
>=20

With the suggested change:

Acked-by: Demi Marie Obenour <demi@invisiblethingslab.com>
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--1V8L5AtfQjXI+Vj/
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOh9LEACgkQsoi1X/+c
IsHVeg/+KQRDqNFuqzdA4R0fte19aXw28ldUCYezDQf3IUTo2wlhB4CYfYhnTx/Q
yXFg983NSiHsK0DsRiFnVIOX1QCEl9tdLal38xhcC5feXZc+CuGj5yL/5AxVyVbc
RS72w6OjKKP/5GyY13wxYjaJChgAcznQ2g/qmPVaQTsxXe/5eBJLkwhFSFHxFIuU
6PFCArt2Qqpf3tyRo9sTcxa70476fqCLtpBmozyvNPofEmjUSrf6BYcGOFkALyiC
IVelBdcOUJtbvWr6CzwyKsRmgrhGYSMibjXTQ9I5r/akQiRJCQVybmn26eFetz/B
woz5L6h9JLVyNIqR8KN+HddwFe4Tc/HDWDPOgJ3x0mI0vvGn9uIgzYZVfilSmx1G
MbT5KiQBc0p3pDmxSQaG9IFGIRiRMfyJ9fJOK8mZNf5m7pDIE9QXWCdQPvLXWUE9
CrE0AmQhKBXQmHqeMkfHXeNHBDMymFgZ+50tIbFwlfrIJ7G0jtBLFIPAYVycpaeM
vJ8zDcWQ8GrXqIANvbIfq6TRVjv4pk2EzcOjXI6VcMycpsDLqFfQnZrf7//bE1Sc
+1eEkldnlUFU3wLNLrtCVMFj1g3i05DgnwzAac0piBk9fzrMYgcp334kLQ8dKNMn
LCn4WR3wYyIHyNOD1XGey6C6iBQeWMhC9bGcXMaGNxo6ZdnpcBE=
=zL5F
-----END PGP SIGNATURE-----

--1V8L5AtfQjXI+Vj/--


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 19:02:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 19:02:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467267.726306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7hsH-0004XE-1f; Tue, 20 Dec 2022 19:02:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467267.726306; Tue, 20 Dec 2022 19:02:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7hsG-0004X7-V7; Tue, 20 Dec 2022 19:02:00 +0000
Received: by outflank-mailman (input) for mailman id 467267;
 Tue, 20 Dec 2022 19:01:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7hsF-0004X1-27
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 19:01:59 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7hsD-0001XH-RS; Tue, 20 Dec 2022 19:01:57 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7hsD-0005FD-Lb; Tue, 20 Dec 2022 19:01:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=yF2gxX3+jtzDBkX7qBbRGR2i5XxlvcplZ8LVXDtzOvw=; b=w+HKfA+s0/HwwjrqIihisMev3s
	cxzUESNbqsDvTLZZRJ/9KkeXB38Jkjlfrzua9hXcKA0RvVXi8KLvzQujmFSXRkK3ca2VDfpzT7R2E
	ux/y4TibTYtKNwO4p5GeCzJEnWvgLa3gHrh2ajCHDBY9CEsecpTw7EweV7iTOsKqOl5k=;
Message-ID: <831c0e75-1a23-6210-9f5b-7212a6763dc3@xen.org>
Date: Tue, 20 Dec 2022 19:01:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v2 04/19] tools/xenstore: remove all watches when a domain
 has stopped
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221213160045.28170-1-jgross@suse.com>
 <20221213160045.28170-5-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221213160045.28170-5-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 13/12/2022 16:00, Juergen Gross wrote:
> When a domain has been released by Xen tools, remove all its
> registered watches. This avoids sending watch events to the dead domain
> when all the nodes related to it are being removed by the Xen tools.

AFAICT, the only user of the command in the tree is softreset. Would you 
be able to check this is still working as expected?

> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - move call to do_release() (Julien Grall)
> ---
>   tools/xenstore/xenstored_domain.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
> index aa86892fed..e669c89e94 100644
> --- a/tools/xenstore/xenstored_domain.c
> +++ b/tools/xenstore/xenstored_domain.c
> @@ -740,6 +740,9 @@ int do_release(const void *ctx, struct connection *conn,
>   	if (IS_ERR(domain))
>   		return -PTR_ERR(domain);
>   
> +	/* Avoid triggering watch events when the domain's nodes are deleted. */
> +	conn_delete_all_watches(domain->conn);
> +
>   	talloc_free(domain->conn);
>   
>   	send_ack(conn, XS_RELEASE);

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 19:09:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 19:09:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467275.726318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7hzB-0005Hz-Ph; Tue, 20 Dec 2022 19:09:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467275.726318; Tue, 20 Dec 2022 19:09:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7hzB-0005Hs-MX; Tue, 20 Dec 2022 19:09:09 +0000
Received: by outflank-mailman (input) for mailman id 467275;
 Tue, 20 Dec 2022 19:09:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7hzA-0005Hm-Mw
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 19:09:08 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7hzA-0001eF-0N; Tue, 20 Dec 2022 19:09:08 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7hz9-0005YR-Q7; Tue, 20 Dec 2022 19:09:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ikObQ+vHbMBiiMynjLBbqcr7yrHmLjFKWwfTuYbv8oE=; b=edq1iglePr0KDPdCBcOkQlh2zt
	kXqMt7S0XmRdeF2LP68XEorlN0xCoU7NfxbB4WGprpdrss3xJPJRadmSfyURT3Jh4DOLrldlH00Sb
	IwKPXEsfGzn6UwuFmh+HBjpwWv046eZ/qRxdwzFKWCL3d1/kHaGY5JHabe5YPOpyWI1k=;
Message-ID: <06a3f6f9-db66-9523-cee4-fc5986c48841@xen.org>
Date: Tue, 20 Dec 2022 19:09:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v2 06/19] tools/xenstore: add hashlist for finding struct
 domain by domid
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221213160045.28170-1-jgross@suse.com>
 <20221213160045.28170-7-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221213160045.28170-7-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 13/12/2022 16:00, Juergen Gross wrote:
> Today finding a struct domain by its domain id requires to scan the
> list of domains until finding the correct domid.
> 
> Add a hashlist for being able to speed this up. This allows to remove
> the linking of struct domain in a list. Note that the list of changed
> domains per transaction is kept as a list, as there are no known use
> cases with more than 4 domains being touched in a single transaction
> (this would be a device handled by a driver domain and being assigned
> to a HVM domain with device model in a stubdom, plus the control
> domain).
> 
> Some simple performance tests comparing the scanning and hashlist have
> shown that the hashlist will win as soon as more than 6 entries need
> to be scanned.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 19:32:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 19:32:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467285.726329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7iLy-0000D1-OX; Tue, 20 Dec 2022 19:32:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467285.726329; Tue, 20 Dec 2022 19:32:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7iLy-0000Cu-LI; Tue, 20 Dec 2022 19:32:42 +0000
Received: by outflank-mailman (input) for mailman id 467285;
 Tue, 20 Dec 2022 19:32:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+pxk=4S=citrix.com=prvs=3460f7db1=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p7iLx-0000C3-FR
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 19:32:41 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ede86a0-809d-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 20:32:39 +0100 (CET)
Received: from mail-mw2nam12lp2042.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.42])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Dec 2022 14:32:35 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB5911.namprd03.prod.outlook.com (2603:10b6:510:37::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 19:32:33 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 19:32:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ede86a0-809d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671564759;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=QMdPsXZ4f57U1NflH4U0hUJHibSFZ0njL2giJudPhck=;
  b=VVx8nhllYw1thgp+s6kl3P+1bJiEz9xL7F+59PbliQq3e4lLmVb6JrTn
   4AQT7xGArJE8EHzjaRnLlRUHCEp7eixdfXoIin9/sIGQX19ldlcBVGJ94
   kKDNLf0o90hOTZD+fcWDpjbcTCbx/sj3zra6ZFKWVPkk1xPKCTYS1Bx3Y
   c=;
X-IronPort-RemoteIP: 104.47.66.42
X-IronPort-MID: 89345852
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:mj0Wo6+dIO7RXaU5ZLSYDrUDo3+TJUtcMsCJ2f8bNWPcYEJGY0x3y
 2NOXziEPqneY2vyeotzOtnjoRtV7ZLXzoc1HFM+ryE8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6oT5AS2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkkWy
 t8xLR4sdyqlhsKE75ewbLF0g9oKeZyD0IM34hmMzBn/JNN/G9XmfP+P4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTaNilAruFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAurCdlOSe3lrJaGhnWS6W8RUAUZbWKSuN2TtHKxBM11C
 VE9r39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLL5y6JC25CSSROAPQ2uclzSTE02
 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9EIMZTSoNTA9A5sa5pog210jLVow7TPTzicDpEzbtx
 TzMtDI5m7gYkc8M0eO84EzDhDWv4JPOS2bZ+znqY45s1SshDKbNWmBiwQGzASpoRGpBcmS8g
 Q==
IronPort-HdrOrdr: A9a23:qJ5q7a14TusBDI20qmI/8AqjBSdyeYIsimQD101hICG9Lfb0qy
 n+pp4mPEHP4wr5AEtQ4uxpOMG7MBDhHO1OkPMs1NaZLULbUQ6TQL2KgrGSpAEIdxeeygcZ79
 YZT0EcMqy7MbEZt7ed3ODQKb9Jr7e6GeKT9J7jJhxWPGNXgtRbnmNE43GgYyhLrWd9ZaYRJd
 653I5qtjCgcXMYYoCQHX8eRdXOoNXNidbPfQMGLwRP0njDsRqYrJrBVzSI1BYXVD1ChZ0493
 LergD/7qK/99mm1x7n0XPJ5Zg+oqqv9jIDPr3DtiEmEESttu+aXvUjZ1S2hkF1nAjg0idprD
 CGmWZcAy060QKsQojym2qh5+Co6kdR15fvpGXo/kfLsIj3Qik3BNFGgp8cehzF61A4tNU5y6
 5T2XmF3qAney8osR6Nk+QgbSsa4XacsD4ni6oennZfWYwRZPtYqpEe5lpcFNMFEDjh4I4qHe
 FyBIWEjcwmOW+yfjTcpC1i0dasVnM8ElOPRVUDoNWc13xTkGpix0UVycQDljML9Y47SZND++
 PYW54Y3Y1mX4sTd+ZwFe0BScy4BijERg/NKnubJRD9GKQOKxv22uvKCXUOlZOXkbAzvegPcc
 76ISJlXEYJCjLTNfE=
X-IronPort-AV: E=Sophos;i="5.96,259,1665460800"; 
   d="scan'208";a="89345852"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JkMbUUylmqOXhHOTt5TvMaxyIUvydSPLkXFGx1c5DMdoBPjUQykk7MMRqhMLUyqOI61ZVhonBL1sG1HsacXsvD7Nmu63oZYo9Nitj/tPHboeJWBSoZLz0PwGxLQ9sxL6876bsEcska6oJLddcnQDaXaT2x3a9lIVC7MGYJXF/HlEiW5soFhfvCLCbZ3EVAMEfw1W6+RDszaj4Ut9ZGwoIlUwGH2IjESm1PIZnp7ZLJC7N25jUT5dq2C4qNM8e0HEmiAhlEUJZOKW/BZJ/8oj+e6aac2E+/8G50Kb/XqixJtGPCyBRpP2wi8TcptvHN6DZOZJqRZBkIkK2tdfky+Nzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QMdPsXZ4f57U1NflH4U0hUJHibSFZ0njL2giJudPhck=;
 b=L9xp0sXyRi6PEk6oO1qL07LcwJz8qTR+B0+O1RVCE9+UX0KoFvwPZdzhFYihubCeMwvjSAe5B4QWZRVKCkYUe4T8wmOsBiugpr7YxHlS1K7qWXHMcsnZiC5r25NZh/iqW/E5JEpwl2I6jLfs1BRWFHG8J5KWbbKZ1ggdq4XH3ivM2GM2xV0D+RlI0PUAIY4Qg/p+EHW8fnKOYGYgKAt0k01F6TTsQ1j8aHeBdd+mkwkGXat13lrNcqvfyMqlewBHzYA8StzdZN0OyhulfbfYJK5aqh3fhJHEmj0qb+yUJTJ0Io7UQcSGH46zmadx5l2WwZCGtZ6yP2+qbJGjTHASRw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QMdPsXZ4f57U1NflH4U0hUJHibSFZ0njL2giJudPhck=;
 b=UcHvtIHMvYHXKBlIHMSUpEqa05w0Xp+1GbDTOPp41wUTqpCZde5QleW16DwdlKlEICiPYB0mrVOdOY56MgYjXfs4NezL3IL+cZMVQXQw8UTcAvMnpYTWtPEiYNO+Y8luma3f1cF9FSq2+hWT3eoP15kymxl1TAJFuRm64A7ix+k=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Sergey
 Dyasli <sergey.dyasli@citrix.com>
Subject: Re: [PATCH v2 3/3] x86/ucode: load microcode earlier on boot CPU
Thread-Topic: [PATCH v2 3/3] x86/ucode: load microcode earlier on boot CPU
Thread-Index: AQHZE7iZ8bzRRxQprkqqSa5cEoE/Mq523XSAgAAHogCAAEcUAA==
Date: Tue, 20 Dec 2022 19:32:32 +0000
Message-ID: <73076ccc-b983-02ff-8a2a-f1d4b7252b8c@citrix.com>
References: <20221219144533.19836-1-sergey.dyasli@citrix.com>
 <20221219144533.19836-4-sergey.dyasli@citrix.com>
 <43cbf750-d682-af37-ac2e-60229a77bf98@citrix.com>
 <eb59cdf8-bc0e-7c47-914e-720a1369b676@suse.com>
In-Reply-To: <eb59cdf8-bc0e-7c47-914e-720a1369b676@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|PH0PR03MB5911:EE_
x-ms-office365-filtering-correlation-id: a68e725d-6c6d-4e2a-7091-08dae2c0f0f9
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 U4pcZsGln/FexRswMdtO4243FHzDF8w2HQ6+2OeArAnKQCQCX6GyHXoJTMzRdN1SGKRY88Bcyud8QTQpO/5nxYaoHSRJygarKWZRNCFT1q+i1Ln19LmtKIQNeykKGoKjvyjgOCLaAfhXkPP1JEmcNfk8dpEgJOjIjXDK80ddoISeG4OVGeZWkjcW6BaNI+OlSdFoTaojD1mOzYWjcOUCM9rSnuIsQ0r+ZKC8o85b8VNu+/K0XHWU94neJx7Uo/QOm/gIjJaJ/eIihwdqea/te3jJScacSBR5p5Hb4Gq31l+mlevLF6qOjo7jMJeLCMja3nOU4eh61fKgypqyr0Zor29oBthlGMQIPTk2r9Ojqr0Ov4x+pFqNpuTm4ck6CViEcsBQyuNh5Yjw1YsbAD2ymIrm+t1AZ1zQlX8qhity1LUJWN7pUklmbBG3Icybt08I78XfLFu/XEUQxKp0A9D5KAGEJmTrxBe4d63Z5GuVaTGoDZ4GGjhbwLkrXcCZwM9i/sMrDYEvp0Y/xJPa5mxe4fH9Wu6pDJosWPhfVFkcUtNwLHUa0xGQkPW3EwV4vpEzNN/ZjIjS1umkIOQv6WZixJPnoWdBnDLlxugf2kC0jw76H+C0X0k3PhQhE7bxQdFW3vDAlJ3UTMEnjA2WmnaUFuZjVhv6bPvPYWqE2DSZ0xygvBOCaak0qIERnGX3mg6J0hrb6u6mHOTgpCduolgZpanl6r7BQ0ylM++Usv3LuKc64//vQcz8lXdMTqbJ3bjFwkh0CrSuPbBBDehg2rrYNETvXWhXV75wyQKxos8wdUIUhnqLZyBDN6uRGUFj7ECn
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(376002)(366004)(346002)(136003)(451199015)(107886003)(478600001)(6486002)(71200400001)(31686004)(2616005)(6506007)(66946007)(6512007)(66476007)(66446008)(66556008)(91956017)(76116006)(64756008)(26005)(186003)(316002)(31696002)(86362001)(6916009)(54906003)(36756003)(41300700001)(8936002)(8676002)(4326008)(2906002)(5660300002)(82960400001)(53546011)(122000001)(38070700005)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eEpwRWk5bE90M04vbklQUWRrUWs1Q0hJdS9ENHFMa29PbUNldE9RM1VzU1lj?=
 =?utf-8?B?QXB6T1dKb0RqdlFHOFNlTW8rSUtJaXhUVGRyanc3SnJFZVAzVkpibm03WFhI?=
 =?utf-8?B?UkFKUzVaTzFybnlxUGdZdE9DRjlmOTFEbWdIT1BIYTNYTEtGRDIrRmpmYkZy?=
 =?utf-8?B?ck15WW5yakozVDM3Z1krWkh3OFdaTFlIUGpFbkc2RDBCTEJNNmZuMW5na0kx?=
 =?utf-8?B?SXh5Q21xS1Y4Nnc4azhpdjE3amVzTnY4Z0hQWU03MUV0Vkk0RUFUZlNRbU1u?=
 =?utf-8?B?SjBXbFBaQTc1K1BUbDY1OWNqdWhqZkRILzRkOUdybXZwUDRvWFVsQldhNmk0?=
 =?utf-8?B?K3JxM05SVVlSdUp6SFA2Y1EvOWNVSXRFRzZ3YjE1MTN3L0poKzg4ODZBcHor?=
 =?utf-8?B?ejVuc1V4OFBXM2VlaHBNckFzeS9Od2YwWWIzditBaFJLNkhybHNaaVR5Yjlx?=
 =?utf-8?B?RDBITjc0TFJaVjZabk4rUTA4WWRyb2t1b1FtWXRwbUNlcGNJZ1g5U1ZRcnB0?=
 =?utf-8?B?QW1sRTV1OTRyV1FyRFh6YUY5UnFhQ0E1UFhiZHJjdjdka291djNQT0E3a0dF?=
 =?utf-8?B?NHE5K2FSYmxBVloyUStKbDdEWHpyeWdycGM4SUNKRm1ydTRaQ0xEWVhzYTNJ?=
 =?utf-8?B?VXdVbktLcDY3bjNxYVlIZ2t0cHozaDU3d3NJcDRSRlNDMTdOTzNsa0o4WnRG?=
 =?utf-8?B?bEhzcmZBYzdNQW05Y3JRcjZ5TU4yeC9MbUZQamtkZmx6UWFqR3ptb1VzVVVy?=
 =?utf-8?B?RWhiRWYzZ3lFZjlGelNVajJEL2RWckhhTUxIeFVUVWxWd2thQUdlcGdMRU54?=
 =?utf-8?B?ano4a3d1eWFjUmJhVmkyUmQvYXd6Z1JaUDJFZlRBM2lVZVhoZmdvTUFBa3hU?=
 =?utf-8?B?eGUxR0VTdVpNT3poem5DNGdYS1BOVnNSZW15cnp2blZlWHdEYnMyUDRlN0VB?=
 =?utf-8?B?WjRvTnUweE9RSGY2SnBsV2JmK0pSVldjTzlxQUZaMEhlYVBOdnZWeUcvTGNp?=
 =?utf-8?B?RmF0b2tpYWkwdWVsbFhiV0hLU25SdDQ5NjF6QW5PMkxtcUs0WDZORTFyZ0Fn?=
 =?utf-8?B?d20yVFJUVGFBd3RlYlhvbnorU1B5WVRyc25pVlUvK2FuaC8yb2NhS3pVbXRo?=
 =?utf-8?B?TVY4c0hHOWsvenZnOXQ4SU1wRDQvZzRGYlNCaGllZjU0ZkZZTDNpVVU4Mko0?=
 =?utf-8?B?NFlVSkpYZnRycE9PaGFtZm1kbENrTkZZMHdhME5TRHNrMXdSM3FQSGE4SUtp?=
 =?utf-8?B?NUk2OC9ENXFydnExVVV6YnJhZGZYRXIvd2NzV2Z0eHB2SHZWWExXZXRsMm8v?=
 =?utf-8?B?SVJ5d3dwWTcrUWhGQTA1d3FRRFkrZm1mWmZ3TVFFNGpOWkxLNjFRRU1aU1ox?=
 =?utf-8?B?cXh0Y1NKWmlJQnV6UkFxWHNXZjNvbGVodjFDb09FZkhpb1VidmV1L2VNRmY0?=
 =?utf-8?B?M29xWFNtWWZwVE5LVmdyZkxRQ29XanR0RFV4bEcwNDlWZFlXSXZmRldPSzhE?=
 =?utf-8?B?Q1liRkIwQzZieEhQejRDazBkeTNHUktKTFAxWExZcU5QOHkxYjdjS2wwM2xo?=
 =?utf-8?B?ejB4Qm5XUW5Lb2owYkZhVCtUSDdLcDdwenF2YWJHVm9SZWZncGVid3kxYVRE?=
 =?utf-8?B?OTRYa3FsdlA5RkdvTUZoQlVLOEZ6V2VocWc2NUxVdkJhRVdpbFJNM2s2cWxX?=
 =?utf-8?B?V2p3aTNvYmdOd1hnNWJCYkxZOHNlb0JSSmo1RlpQRTVVYndrL3RXMHpDQmdN?=
 =?utf-8?B?SWFSWFpyTzVyWE5PNi9kR0NZMTRmTFVRTEgweW8wb3hmTkRuRll3NER6ZGFF?=
 =?utf-8?B?S25JYklEcG1adHBFNXFtUWQ3N3gzTTlNMTU4VW1kNmNJc3Ntc0tNT1FnTnBx?=
 =?utf-8?B?akh6WUNqU1QwZEpLSTlzcTJQZnZ4Y0JWK1ZGMzhBMEVHNG1CNzNUQXBhd3A3?=
 =?utf-8?B?VzkwYlBEdGYrUTNSMHZGLzI5cWFJanR4Z1ZNc3hxMm9vY1gvVnBUeUFaYU11?=
 =?utf-8?B?ZGRMVFFGQWdFMFU0VHRmRk5iNmsrVGdJVG5kbCt1c1MyNllDYXptaWhVUG1t?=
 =?utf-8?B?RDZ0bWxUMG1TSys0TmlrdkR1dWU1QThXalZZU2hVV1kvcXRrclJ3RkorTm5j?=
 =?utf-8?Q?MNqdcZb8WeieINHGF8na3ErJW?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <4648FFC60D5E3F419275A8F7EE62086B@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a68e725d-6c6d-4e2a-7091-08dae2c0f0f9
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2022 19:32:33.0198
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: zxjoIlqqPbRN6mlT2JfzREoI0rpkRHu+5Ehw7054O0h1CI045rnAttkArHD2CMPR91uVSuFUITLbKHK6JbLtdy2pXuc+j2xvNY7DAtfbCqA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5911

T24gMjAvMTIvMjAyMiAzOjE4IHBtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMjAuMTIuMjAy
MiAxNTo1MCwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4+IE9uIDE5LzEyLzIwMjIgMjo0NSBwbSwg
U2VyZ2V5IER5YXNsaSB3cm90ZToNCj4+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NldHVw
LmMgYi94ZW4vYXJjaC94ODYvc2V0dXAuYw0KPj4+IGluZGV4IDZiYjViYzdjODQuLjJkN2M4MTVl
MGEgMTAwNjQ0DQo+Pj4gLS0tIGEveGVuL2FyY2gveDg2L3NldHVwLmMNCj4+PiArKysgYi94ZW4v
YXJjaC94ODYvc2V0dXAuYw0KPj4+ICAgICAgICAgIHJlbG9jYXRlZCA9IHRydWU7DQo+Pj4gQEAg
LTE3NjIsMTEgKzE3NjgsOSBAQCB2b2lkIF9faW5pdCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNp
Z25lZCBsb25nIG1iaV9wKQ0KPj4+ICANCj4+PiAgICAgIGluaXRfSVJRKCk7DQo+Pj4gIA0KPj4+
IC0gICAgbWljcm9jb2RlX2dyYWJfbW9kdWxlKG1vZHVsZV9tYXAsIG1iaSk7DQo+Pj4gLQ0KPj4+
ICAgICAgdGltZXJfaW5pdCgpOw0KPj4+ICANCj4+PiAtICAgIGVhcmx5X21pY3JvY29kZV9pbml0
KCk7DQo+Pj4gKyAgICBlYXJseV9taWNyb2NvZGVfaW5pdF9jYWNoZShtb2R1bGVfbWFwLCBtYmkp
Ow0KPj4gbWljcm9jb2RlX2luaXRfY2FjaGUobW9kdWxlX21hcCwgbWJpKTsgLyogTmVlZHMgeG1h
bGxvYygpICovDQo+Pg0KPj4gQ2FuIGZpeCBvbiBjb21taXQuDQo+IEFyZSB5b3UgbWVyZWx5IGFm
dGVyIHRoZSBhZGRlZCBjb21tZW50LCBvciBpcyB0aGUgb21pc3Npb24gb2YgdGhlIGVhcmx5Xw0K
PiBwcmVmaXggYWxzbyBtZWFuaW5nZnVsIGluIHNvbWUgd2F5Pw0KDQpUaGlzIGlzbid0ICJlYXJs
eV9taWNyb2NvZGUiIGFuZCBmcmFua2x5IHdhc24ndCAiZWFybHkiIHRvIGJlZ2luIHdpdGguDQoN
CkNhY2hpbmcgdGhlIGJsb2IgY2FuIGhhcHBlbiBhdCBhbnkgdGltZSBhZnRlciB0aGUgaGVhcCBp
cyBzZXQgdXAsIHNvDQpzaG91bGQgbm90IGhhdmUgYW55dGhpbmcgbGlrZSAiZWFybHkiIGluIGl0
cyBuYW1lLg0KDQpUaGUgY29tbWVudCBpcyBqdXN0IHRvIG1ha2UgaXQgZWFzaWVyIGluIHRoZSBm
dXR1cmUgdG8gZmlndXJlIG91dCBob3cgdG8NCnJlYXJyYW5nZSBfX3N0YXJ0X3hlbigpLg0KDQp+
QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 19:39:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 19:39:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467296.726340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7iSF-000103-Gm; Tue, 20 Dec 2022 19:39:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467296.726340; Tue, 20 Dec 2022 19:39:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7iSF-0000zw-Dx; Tue, 20 Dec 2022 19:39:11 +0000
Received: by outflank-mailman (input) for mailman id 467296;
 Tue, 20 Dec 2022 19:39:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7iSE-0000zq-6X
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 19:39:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7iSD-0002Hy-JN; Tue, 20 Dec 2022 19:39:09 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7iSD-0006oC-DV; Tue, 20 Dec 2022 19:39:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=KzVOYLORrB1biVgwrtDX7C5C9Ii7NiK98O9QDWPzOC8=; b=3jdT8/LMfO1JzvUzB6KhLs2vkD
	ZPLtS7E8FrMpFZqLQR088F6+pa3j2eiOLp3kqYmLZtnTB1M3yR1xVrSFdlREYYxiaoxuli0akFvKl
	/WBGXRWrWOZ0uwy8p0TZKg9BLp/7p52CI7op8leZLgHJaYlqN2eaSJ8u9RzWlbDjizew=;
Message-ID: <ef0ed925-5c07-a5c2-c7e6-f5a8ad21d480@xen.org>
Date: Tue, 20 Dec 2022 19:39:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v2 07/19] tools/xenstore: introduce dummy nodes for
 special watch paths
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221213160045.28170-1-jgross@suse.com>
 <20221213160045.28170-8-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221213160045.28170-8-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 13/12/2022 16:00, Juergen Gross wrote:
> Instead of special casing the permission handling and watch event
> firing for the special watch paths "@introduceDomain" and
> "@releaseDomain", use static dummy nodes added to the data base when
> starting Xenstore.
> 
> The node accounting needs to reflect that change by adding the special
> nodes in the domain_entry_fix() call in setup_structure().
> 
> Note that this requires to rework the calls of fire_watches() for the
> special events in order to avoid leaking memory.
> 
> Move the check for a valid node name from get_node() to
> get_node_canonicalized(), as it allows to use get_node() for the
> special nodes, too.
> 
> In order to avoid read and write accesses to the special nodes use a
> special variant for obtaining the current node data for the permission
> handling.
> 
> This allows to simplify quite some code. In future sub-nodes of the
> special nodes will be possible due to this change, allowing more fine
> grained permission control of special events for specific domains.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - add get_spec_node()
> - expand commit message (Julien Grall)
> ---
>   tools/xenstore/xenstored_control.c |   3 -
>   tools/xenstore/xenstored_core.c    |  92 +++++++++-------
>   tools/xenstore/xenstored_domain.c  | 162 ++++-------------------------
>   tools/xenstore/xenstored_domain.h  |   6 --
>   tools/xenstore/xenstored_watch.c   |  17 +--
>   5 files changed, 80 insertions(+), 200 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstore/xenstored_control.c
> index d1aaa00bf4..41e6992591 100644
> --- a/tools/xenstore/xenstored_control.c
> +++ b/tools/xenstore/xenstored_control.c
> @@ -676,9 +676,6 @@ static const char *lu_dump_state(const void *ctx, struct connection *conn)
>   	if (ret)
>   		goto out;
>   	ret = dump_state_connections(fp);
> -	if (ret)
> -		goto out;
> -	ret = dump_state_special_nodes(fp);
>   	if (ret)
>   		goto out;
>   	ret = dump_state_nodes(fp, ctx);
> diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
> index 1650821922..f96714e1b8 100644
> --- a/tools/xenstore/xenstored_core.c
> +++ b/tools/xenstore/xenstored_core.c
> @@ -616,7 +616,8 @@ static void get_acc_data(TDB_DATA *key, struct node_account_data *acc)
>   static unsigned int get_acc_domid(struct connection *conn, TDB_DATA *key,
>   				  unsigned int domid)
>   {
> -	return (!conn || key->dptr[0] == '/') ? domid : conn->id;
> +	return (!conn || key->dptr[0] == '/' || key->dptr[0] == '@')

The comment on top of get_acc_domid() needs to be updated.

> +	       ? domid : conn->id;
>   }
>   

[...]

> +static void fire_special_watches(const char *name)
> +{
> +	void *ctx = talloc_new(NULL);
> +	struct node *node;
> +
> +	if (!ctx)
> +		return;
> +
> +	node = read_node(NULL, ctx, name);
> +
> +	if (node)
> +		fire_watches(NULL, ctx, name, node, true, NULL);

NIT: I would consider to log an error (maybe only once) if 'node' is 
NULL. The purpose is to help debugging Xenstored.

The rest of the code LGTM.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 19:42:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 19:42:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467305.726350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7iVs-0002On-0P; Tue, 20 Dec 2022 19:42:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467305.726350; Tue, 20 Dec 2022 19:42:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7iVr-0002Og-U8; Tue, 20 Dec 2022 19:42:55 +0000
Received: by outflank-mailman (input) for mailman id 467305;
 Tue, 20 Dec 2022 19:42:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7iVr-0002Oa-4S
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 19:42:55 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7iVq-0002MG-IB; Tue, 20 Dec 2022 19:42:54 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7iVq-0006wp-CP; Tue, 20 Dec 2022 19:42:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=mauql0ZoFN4HSE4xfBRZXKTPReS0OVJrHE4bGkOrNNM=; b=QjTzrj8HGZaE0TURfsn3PFmd74
	Jy1a9k2ncfsy8KFt6wLf/mw0JGFcIogeHXTsJnrXR09TetaO/koG6Is74ENvK4dueO2KcQPFeK6oI
	wJxFDyGsvyYct9wIYGPRf6fs83IBKPWK1lPgwNBxhUMY8mtt0MNTqmr8ihj0VjCdzwRw=;
Message-ID: <f8ae2b41-50e2-1c36-26e0-cdc0d54bd45d@xen.org>
Date: Tue, 20 Dec 2022 19:42:52 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v2 08/19] tools/xenstore: replace watch->relative_path
 with a prefix length
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221213160045.28170-1-jgross@suse.com>
 <20221213160045.28170-9-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221213160045.28170-9-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 13/12/2022 16:00, Juergen Gross wrote:
> @@ -313,19 +302,19 @@ const char *dump_state_watches(FILE *fp, struct connection *conn,
>   			       unsigned int conn_id)
>   {
>   	const char *ret = NULL;
> +	const char *watch_path;
>   	struct watch *watch;
>   	struct xs_state_watch sw;
>   	struct xs_state_record_header head;
> -	const char *path;
>   
>   	head.type = XS_STATE_TYPE_WATCH;
>   
>   	list_for_each_entry(watch, &conn->watches, list) {
>   		head.length = sizeof(sw);
>   
> +		watch_path = get_watch_path(watch, watch->node);

It is not clear to me why you call get_watch_path() earlier and also 
rename the variable.

I don't mind the new name, but it doesn't feel like it belongs to this 
patch as the code in duymp_state_watches() would not be changed otherwise.

Cheers,

>   		sw.conn_id = conn_id;
> -		path = get_watch_path(watch, watch->node);
> -		sw.path_length = strlen(path) + 1;
> +		sw.path_length = strlen(watch_path) + 1;
>   		sw.token_length = strlen(watch->token) + 1;
>   		head.length += sw.path_length + sw.token_length;
>   		head.length = ROUNDUP(head.length, 3);
> @@ -334,7 +323,7 @@ const char *dump_state_watches(FILE *fp, struct connection *conn,
>   		if (fwrite(&sw, sizeof(sw), 1, fp) != 1)
>   			return "Dump watch state error";
>   
> -		if (fwrite(path, sw.path_length, 1, fp) != 1)
> +		if (fwrite(watch_path, sw.path_length, 1, fp) != 1)
>   			return "Dump watch path error";
>   		if (fwrite(watch->token, sw.token_length, 1, fp) != 1)
>   			return "Dump watch token error";

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 19:50:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 19:50:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467313.726362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ice-000373-Qi; Tue, 20 Dec 2022 19:49:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467313.726362; Tue, 20 Dec 2022 19:49:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ice-00036w-MI; Tue, 20 Dec 2022 19:49:56 +0000
Received: by outflank-mailman (input) for mailman id 467313;
 Tue, 20 Dec 2022 19:49:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7ice-00036q-5t
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 19:49:56 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7icd-0002cX-Jm; Tue, 20 Dec 2022 19:49:55 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7icd-0007FH-DP; Tue, 20 Dec 2022 19:49:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=bsIlR5ybcC1LX61Gt392+0aCZP/6gWO+3FoSZpLEtvI=; b=CE7N1MKoOVAkAndR6F3GixEopk
	WRya+8ybe3uT3RrGRRr2rKwswbl4sNeEISz81dwOeinN/JWOz1DhDfVmvNnukR84D+TG+8BDnKh8l
	RSvVnfCCY1NgM+ybZIYvytxr2FcbGMNAu74/p1x7DFgQAKme61Y9Gqn6KEkioRslMjhA=;
Message-ID: <32e76523-69a0-6418-99e1-6842db8da0df@xen.org>
Date: Tue, 20 Dec 2022 19:49:53 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v2 09/19] tools/xenstore: move changed domain handling
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221213160045.28170-1-jgross@suse.com>
 <20221213160045.28170-10-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221213160045.28170-10-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 13/12/2022 16:00, Juergen Gross wrote:
> Move all code related to struct changed_domain from
> xenstored_transaction.c to xenstored_domain.c.
> 
> This will be needed later in order to simplify the accounting data
> updates in cases of errors during a request.
> 
> Split the code to have a more generic base framework.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 20:15:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 20:15:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467323.726373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7j1M-0006ef-R0; Tue, 20 Dec 2022 20:15:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467323.726373; Tue, 20 Dec 2022 20:15:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7j1M-0006eY-Nb; Tue, 20 Dec 2022 20:15:28 +0000
Received: by outflank-mailman (input) for mailman id 467323;
 Tue, 20 Dec 2022 20:15:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7j1L-0006eS-Lw
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 20:15:27 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7j1K-00037c-Ri; Tue, 20 Dec 2022 20:15:26 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7j1K-0008RV-Ly; Tue, 20 Dec 2022 20:15:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=9y29kkmqSF4/DEuF7lisCiCReGpr1kRPfTzENj3yqqY=; b=TUfLlqI8+GQC6fcsg2/XDA8T6a
	h2ksb8cZzBqji9I7Ed6KIs+xBi6h+ytjYqgPlBDmAt0ajRvunQtfpIvrb6wyVbPP8QO9E+9rgM327
	A3nf/0s9H1u5numUokyN27p3DOE3BW1+BkjjK9lDXOekm5F3ER7vv9LYzGmebkiF6gvg=;
Message-ID: <da814fed-c177-b0ee-32be-ef0656692c82@xen.org>
Date: Tue, 20 Dec 2022 20:15:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v2 10/19] tools/xenstore: change per-domain node
 accounting interface
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221213160045.28170-1-jgross@suse.com>
 <20221213160045.28170-11-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221213160045.28170-11-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 13/12/2022 16:00, Juergen Gross wrote:
> Rework the interface and the internals of the per-domain node
> accounting:
> 
> - rename the functions to domain_nbentry_*() in order to better match
>    the related counter name
> 
> - switch from node pointer to domid as interface, as all nodes have the
>    owner filled in

The downside is now you have may place open-coding 
"...->perms->p[0].id". IHMO this is making the code more complicated. So 
can you introduce a few wrappers that would take a node and then convert 
to the owner?

> 
> - use a common internal function for adding a value to the counter
> 
> For the transaction case add a helper function to get the list head
> of the per-transaction changed domains, enabling to eliminate the
> transaction_entry_*() functions.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   tools/xenstore/xenstored_core.c        |  22 ++---
>   tools/xenstore/xenstored_domain.c      | 122 +++++++++++--------------
>   tools/xenstore/xenstored_domain.h      |  10 +-
>   tools/xenstore/xenstored_transaction.c |  15 +--
>   tools/xenstore/xenstored_transaction.h |   7 +-
>   5 files changed, 72 insertions(+), 104 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
> index f96714e1b8..61569cecbb 100644
> --- a/tools/xenstore/xenstored_core.c
> +++ b/tools/xenstore/xenstored_core.c
> @@ -1459,7 +1459,7 @@ static void destroy_node_rm(struct connection *conn, struct node *node)
>   static int destroy_node(struct connection *conn, struct node *node)
>   {
>   	destroy_node_rm(conn, node);
> -	domain_entry_dec(conn, node);
> +	domain_nbentry_dec(conn, node->perms.p[0].id);
>   
>   	/*
>   	 * It is not possible to easily revert the changes in a transaction.
> @@ -1498,7 +1498,7 @@ static struct node *create_node(struct connection *conn, const void *ctx,
>   	for (i = node; i; i = i->parent) {
>   		/* i->parent is set for each new node, so check quota. */
>   		if (i->parent &&
> -		    domain_entry(conn) >= quota_nb_entry_per_domain) {
> +		    domain_nbentry(conn) >= quota_nb_entry_per_domain) {
>   			ret = ENOSPC;
>   			goto err;
>   		}
> @@ -1509,7 +1509,7 @@ static struct node *create_node(struct connection *conn, const void *ctx,
>   
>   		/* Account for new node */
>   		if (i->parent) {
> -			if (domain_entry_inc(conn, i)) {
> +			if (domain_nbentry_inc(conn, i->perms.p[0].id)) {
>   				destroy_node_rm(conn, i);
>   				return NULL;
>   			}
> @@ -1662,7 +1662,7 @@ static int delnode_sub(const void *ctx, struct connection *conn,
>   	watch_exact = strcmp(root, node->name);
>   	fire_watches(conn, ctx, node->name, node, watch_exact, NULL);
>   
> -	domain_entry_dec(conn, node);
> +	domain_nbentry_dec(conn, node->perms.p[0].id);
>   
>   	return WALK_TREE_RM_CHILDENTRY;
>   }
> @@ -1802,25 +1802,25 @@ static int do_set_perms(const void *ctx, struct connection *conn,
>   		return EPERM;
>   
>   	old_perms = node->perms;
> -	domain_entry_dec(conn, node);
> +	domain_nbentry_dec(conn, node->perms.p[0].id);
>   	node->perms = perms;
> -	if (domain_entry_inc(conn, node)) {
> +	if (domain_nbentry_inc(conn, node->perms.p[0].id)) {
>   		node->perms = old_perms;
>   		/*
>   		 * This should never fail because we had a reference on the
>   		 * domain before and Xenstored is single-threaded.
>   		 */
> -		domain_entry_inc(conn, node);
> +		domain_nbentry_inc(conn, node->perms.p[0].id);
>   		return ENOMEM;
>   	}
>   
>   	if (write_node(conn, node, false)) {
>   		int saved_errno = errno;
>   
> -		domain_entry_dec(conn, node);
> +		domain_nbentry_dec(conn, node->perms.p[0].id);
>   		node->perms = old_perms;
>   		/* No failure possible as above. */
> -		domain_entry_inc(conn, node);
> +		domain_nbentry_inc(conn, node->perms.p[0].id);
>   
>   		errno = saved_errno;
>   		return errno;
> @@ -2392,7 +2392,7 @@ void setup_structure(bool live_update)
>   		manual_node("/tool/xenstored", NULL);
>   		manual_node("@releaseDomain", NULL);
>   		manual_node("@introduceDomain", NULL);
> -		domain_entry_fix(dom0_domid, 5, true);
> +		domain_nbentry_fix(dom0_domid, 5, true);
>   	}
>   
>   	check_store();
> @@ -3400,7 +3400,7 @@ void read_state_node(const void *ctx, const void *state)
>   	if (write_node_raw(NULL, &key, node, true))
>   		barf("write node error restoring node");
>   
> -	if (domain_entry_inc(&conn, node))
> +	if (domain_nbentry_inc(&conn, node->perms.p[0].id))
>   		barf("node accounting error restoring node");
>   
>   	talloc_free(node);
> diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
> index 3216119e83..40b24056c5 100644
> --- a/tools/xenstore/xenstored_domain.c
> +++ b/tools/xenstore/xenstored_domain.c
> @@ -249,7 +249,7 @@ static int domain_tree_remove_sub(const void *ctx, struct connection *conn,
>   		domain->nbentry--;
>   		node->perms.p[0].id = priv_domid;
>   		node->acc.memory = 0;
> -		domain_entry_inc(NULL, node);
> +		domain_nbentry_inc(NULL, priv_domid);
>   		if (write_node_raw(NULL, &key, node, true)) {
>   			/* That's unfortunate. We only can try to continue. */
>   			syslog(LOG_ERR,
> @@ -559,7 +559,7 @@ int acc_fix_domains(struct list_head *head, bool update)
>   	int cnt;
>   
>   	list_for_each_entry(cd, head, list) {
> -		cnt = domain_entry_fix(cd->domid, cd->nbentry, update);
> +		cnt = domain_nbentry_fix(cd->domid, cd->nbentry, update);
>   		if (!update) {
>   			if (cnt >= quota_nb_entry_per_domain)
>   				return ENOSPC;
> @@ -604,18 +604,19 @@ static struct changed_domain *acc_get_changed_domain(const void *ctx,
>   	return cd;
>   }
>   
> -int acc_add_dom_nbentry(const void *ctx, struct list_head *head, int val,
> -			unsigned int domid)
> +static int acc_add_dom_nbentry(const void *ctx, struct list_head *head, int val,
> +			       unsigned int domid)
>   {
>   	struct changed_domain *cd;
>   
>   	cd = acc_get_changed_domain(ctx, head, domid);
>   	if (!cd)
> -		return errno;
> +		return 0;
>   
> +	errno = 0;
>   	cd->nbentry += val;
>   
> -	return 0;
> +	return cd->nbentry;

You just introduced this helper in the previous patch (i.e. #9). So can 
you get the interface correct from the start? This will make easier to 
review the series.

I don't mind too much if you add the static here. Although, it would 
have been nice if we avoid changing code just introduced.

>   }
>   
>   static void domain_conn_reset(struct domain *domain)
> @@ -988,30 +989,6 @@ void domain_deinit(void)
>   		xenevtchn_unbind(xce_handle, virq_port);
>   }
>   
> -int domain_entry_inc(struct connection *conn, struct node *node)
> -{
> -	struct domain *d;
> -	unsigned int domid;
> -
> -	if (!node->perms.p)
> -		return 0;
> -
> -	domid = node->perms.p[0].id;
> -
> -	if (conn && conn->transaction) {
> -		transaction_entry_inc(conn->transaction, domid);
> -	} else {
> -		d = (conn && domid == conn->id && conn->domain) ? conn->domain
> -		    : find_or_alloc_existing_domain(domid);
> -		if (d)
> -			d->nbentry++;
> -		else
> -			return ENOMEM;
> -	}
> -
> -	return 0;
> -}
> -
>   /*
>    * Check whether a domain was created before or after a specific generation
>    * count (used for testing whether a node permission is older than a domain).
> @@ -1079,62 +1056,67 @@ int domain_adjust_node_perms(struct node *node)
>   	return 0;
>   }
>   
> -void domain_entry_dec(struct connection *conn, struct node *node)
> +static int domain_nbentry_add(struct connection *conn, unsigned int domid,
> +			      int add, bool dom_exists)

The name of the variable suggests that that if it is false then it 
doesn't exists. However, looking at how you use it, it is more a "Can 
struct domain be allocated?". So I would rename it to 
"dom_alloc_allowed" or similar.

>   {
>   	struct domain *d;
> -	unsigned int domid;
> -
> -	if (!node->perms.p)
> -		return;
> +	struct list_head *head;
> +	int ret;
>   
> -	domid = node->perms.p ? node->perms.p[0].id : conn->id;
> +	if (conn && domid == conn->id && conn->domain)
> +		d = conn->domain;
> +	else if (dom_exists) {
> +		d = find_domain_struct(domid);
> +		if (!d) {
> +			errno = ENOENT;
> +			corrupt(conn, "Missing domain %u\n", domid);
> +			return -1;
> +		}
> +	} else {
> +		d = find_or_alloc_existing_domain(domid);
> +		if (!d) {
> +			errno = ENOMEM;
> +			return -1;
> +		}
> +	}
>   
>   	if (conn && conn->transaction) {
> -		transaction_entry_dec(conn->transaction, domid);
> -	} else {
> -		d = (conn && domid == conn->id && conn->domain) ? conn->domain
> -		    : find_domain_struct(domid);
> -		if (d) {
> -			d->nbentry--;
> -		} else {
> -			errno = ENOENT;
> -			corrupt(conn,
> -				"Node \"%s\" owned by non-existing domain %u\n",
> -				node->name, domid);
> +		head = transaction_get_changed_domains(conn->transaction);
> +		ret = acc_add_dom_nbentry(conn->transaction, head, add, domid);
> +		if (errno) {
> +			fail_transaction(conn->transaction);
> +			return -1;
>   		}
> +		return d->nbentry + ret;

It is not entirely clear why you are return "d->nbentry + ret" here. If 
it is ...

>   	}
> +
> +	d->nbentry += add;
> +
> +	return d->nbentry;
>   }
>   
> -int domain_entry_fix(unsigned int domid, int num, bool update)
> +int domain_nbentry_inc(struct connection *conn, unsigned int domid)
>   {
> -	struct domain *d;
> -	int cnt;
> +	return (domain_nbentry_add(conn, domid, 1, false) < 0) ? errno : 0;
> +}
>   
> -	if (update) {
> -		d = find_domain_struct(domid);
> -		assert(d);
> -	} else {
> -		/*
> -		 * We are called first with update == false in order to catch
> -		 * any error. So do a possible allocation and check for error
> -		 * only in this case, as in the case of update == true nothing
> -		 * can go wrong anymore as the allocation already happened.
> -		 */
> -		d = find_or_alloc_existing_domain(domid);
> -		if (!d)
> -			return -1;
> -	}
> +int domain_nbentry_dec(struct connection *conn, unsigned int domid)
> +{
> +	return (domain_nbentry_add(conn, domid, -1, true) < 0) ? errno : 0;

... to make sure domain_nbentry_add() is not returning a negative value. 
Then it would not work.

A good example imagine you have a transaction removing nodes from tree 
but not adding any. Then the "ret" would be negative.

Meanwhile the nodes are also removed outside of the transaction. So the 
sum of "d->nbentry + ret" would be negative resulting to a failure here.

Such change of behavior should pointed in the commit message. But then I 
am not convinced this should be part of this commit which is mainly 
reworking an interface (e.g. no functional change is expected).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 20:18:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 20:18:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467331.726384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7j4B-0007Fj-9G; Tue, 20 Dec 2022 20:18:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467331.726384; Tue, 20 Dec 2022 20:18:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7j4B-0007Fc-6h; Tue, 20 Dec 2022 20:18:23 +0000
Received: by outflank-mailman (input) for mailman id 467331;
 Tue, 20 Dec 2022 20:18:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7j4A-0007FT-6E
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 20:18:22 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7j49-0003L9-Jb; Tue, 20 Dec 2022 20:18:21 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.6.189]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7j49-0008WL-Dw; Tue, 20 Dec 2022 20:18:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=v2DKSz3yXwz9alXcu44eL6Xf5YiWmMK5e6Ek9Cvg7bA=; b=syTL++CnpdNHnEdav69WDVXFRR
	ZkXfiGK6LWmReOjDfe/LAK5ViB/I0QnMWTcOR1JMoXNam6tRsMVOMzZCVmksT76c1He5Qkau2wE4u
	s2aPGwxuQUNkLhKUYtC4l910emdb5qEGaBzs+Zi5oCr8ClNU+jXnp9bs4IiyhGgSgkeQ=;
Message-ID: <04658e96-ec81-1dba-6829-3a52c69a27bb@xen.org>
Date: Tue, 20 Dec 2022 20:18:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH v2 11/19] tools/xenstore: don't allow creating too many
 nodes in a transaction
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221213160045.28170-1-jgross@suse.com>
 <20221213160045.28170-12-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221213160045.28170-12-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 13/12/2022 16:00, Juergen Gross wrote:
> The accounting for the number of nodes of a domain in an active
> transaction is not working correctly, as it allows to create arbitrary
> number of nodes. The transaction will finally fail due to exceeding
> the number of nodes quota, but before closing the transaction an
> unprivileged guest could cause Xenstore to use a lot of memory.

As per the discussion in v1, the commit message needs to be reworded.

I will look at this patch in more details once I have reached the 2nd 
series.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 20:19:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 20:19:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467339.726395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7j5g-0007pD-Kf; Tue, 20 Dec 2022 20:19:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467339.726395; Tue, 20 Dec 2022 20:19:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7j5g-0007p6-H7; Tue, 20 Dec 2022 20:19:56 +0000
Received: by outflank-mailman (input) for mailman id 467339;
 Tue, 20 Dec 2022 20:19:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7j5e-0007ou-CG; Tue, 20 Dec 2022 20:19:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7j5e-0003MB-BN; Tue, 20 Dec 2022 20:19:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7j5d-0001Yl-RD; Tue, 20 Dec 2022 20:19:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7j5d-00063n-Qf; Tue, 20 Dec 2022 20:19:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UbhtjNVTY50vv5bUJgg2LiepCQo21f1eyzmn5oYDU8g=; b=p74IDVzub2Ikxo5Irgoaf8ajk/
	KihZrEZQTsF88Omv2goldslSDnTY0qeuJZcf+xzgc8X+5rnwyXrNC++r+DArPdxO2KOSLQFYxzB5p
	itQCM4bfBrx6g0uXzKaKtLhKKB07mXqDH06+oPiRnCqzRlmK9OjZkcHr7OFIWpcMV214=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175428-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175428: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4b40d68e663e87eb916b5bdf3da9743a17f43537
X-Osstest-Versions-That:
    xen=0fc5fa9333b21122c6e77fa42f5683e31c81bbe5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 20 Dec 2022 20:19:53 +0000

flight 175428 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175428/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  4b40d68e663e87eb916b5bdf3da9743a17f43537
baseline version:
 xen                  0fc5fa9333b21122c6e77fa42f5683e31c81bbe5

Last test of basis   175422  2022-12-20 10:02:02 Z    0 days
Testing same since   175428  2022-12-20 16:00:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   0fc5fa9333..4b40d68e66  4b40d68e663e87eb916b5bdf3da9743a17f43537 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 20:28:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 20:28:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467352.726405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jDS-00010o-HU; Tue, 20 Dec 2022 20:27:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467352.726405; Tue, 20 Dec 2022 20:27:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jDS-00010h-Es; Tue, 20 Dec 2022 20:27:58 +0000
Received: by outflank-mailman (input) for mailman id 467352;
 Tue, 20 Dec 2022 20:27:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LdMQ=4S=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p7jDR-0000yx-3L
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 20:27:57 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c97e0094-80a4-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 21:27:56 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id u19so31985406ejm.8
 for <xen-devel@lists.xenproject.org>; Tue, 20 Dec 2022 12:27:56 -0800 (PST)
Received: from [192.168.1.93] (adsl-211.109.242.226.tellas.gr.
 [109.242.226.211]) by smtp.gmail.com with ESMTPSA id
 g17-20020a17090604d100b007c0f5d6f754sm6117593eja.79.2022.12.20.12.27.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 20 Dec 2022 12:27:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c97e0094-80a4-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=BRGzXTbyDFiqOpSxpiONb8b1lMKJfDQswXioRfIVaes=;
        b=IZFQtl3SI50pNij8f7CAIHOeeD0stSgPkdUfjSxa2Kxmcv4L7QkSTHSAbkMKwUXPc4
         X8t28jEI/tHsrdjhKv6IcuW4RTx4p8gb49/NpflFzhh/XJtn5jMa6WFHrnmu/MubaIqM
         LDIhxHkCNm3LYGFMFqm7pqK4E3+azGhOIj/z6jvz6oNlnz8seA4zu8YzrUU5Nr/kVnVu
         2E6nObA0YXh90K/hxu/f1io8PWxvELHHx8QFWwjF3ij/bnrlEtE/DL+N0WfTD2QcskkL
         v4u3u5Lf6yRyl8PQyeZawtbv2J7wq7UoId5EC0Kv7UTNt7/f5AY+1DWeejXA4vsDA6wX
         UsTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=BRGzXTbyDFiqOpSxpiONb8b1lMKJfDQswXioRfIVaes=;
        b=6vh7cPbD+gCp9KGAsuJVljiaQxQZMZLgpYhxdUFtqkk1Vuh5GzkBfCRi5JXuC+/hSA
         3Ln2PkoXyoqTiyWgx3rY4Gpmkq0Tc5jV95XJPEQyYNELhY+KcrqtW3/4ytqq5nlyWczh
         21Jhs5I0J/1tt2zkaLAqqIm+9ucuc2vpdoi1sI4vC79CpNhwgiY43xPgo2CvuPYnJCSV
         zdW8KmFcLiTrBEqnOIQvIN9r5VFfJZdWKq8bnyw/HuMgQD5fGzhRldPT5MXAaSoEcaPQ
         Nk7pQI2XFk5TMIqoYMauLiOR9jRD+cEnJ7Ve1RhuamFihkLVeXrM8XvTtr6/fv3ZEYSd
         ce3g==
X-Gm-Message-State: AFqh2kp5BUAiNt1tJ/tauPNN6Yewn/OdMiVi47mGSpx/+ahgLDcUlxsq
	NdS01j/ncOMnvvXZh1OeQUJxQO7vssA=
X-Google-Smtp-Source: AMrXdXtE3avQc6Ybm+6IKG8+Vmw5XpLRU01qI8goj0/ejQRUFCkAK4O7OTzWUSIP4Q+WE5azy56dbQ==
X-Received: by 2002:a17:906:3bc2:b0:7fd:ecee:c8ba with SMTP id v2-20020a1709063bc200b007fdeceec8bamr14975009ejf.42.1671568075485;
        Tue, 20 Dec 2022 12:27:55 -0800 (PST)
Message-ID: <15c3c5bd-6229-d070-ebe0-ce4c6d827f1b@gmail.com>
Date: Tue, 20 Dec 2022 22:27:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [RFC 0/7] Proposal to make x86 IOMMU driver support configurable
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <4b45cde3-52e1-15ae-7b6a-84c0d5141cc9@citrix.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <4b45cde3-52e1-15ae-7b6a-84c0d5141cc9@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 12/19/22 20:28, Andrew Cooper wrote:
> On 19/12/2022 6:34 am, Xenia Ragiadakou wrote:
>> This series aims to provide a means to render the iommu driver support for x86
>> configurable. Currently, irrespectively of the target platform, both AMD and
>> Intel iommu drivers are built. This is the case because the existent Kconfig
>> infrastructure does not provide any facilities for finer-grained configuration.
>>
>> The series adds two new Kconfig options, AMD_IOMMU and INTEL_VTD, that can be
>> used to generate a tailored iommu configuration for a given platform.
>>
>> This series will be part of a broader effort to separate platform specific
>> code and it is sent as an RFC to gather feedback regarding the way the
>> separation should be performed.
> 
> Hello,
> 
> Thanks for the series.
> 
>  From discussions in the past, we do want CONFIG_INTEL/AMD/etc and we do
> want these to be selectable and available for randconfig to test.
> 
> Some sub-features are more complicated, because e.g. Centaur have CPUs
> with a VT-x implementation.  This will need expressing in whatever
> Kconfig scheme we end up with.
> 

What about having configuration per cpu vendor, per virtualization 
technology and per IOMMU technology? I mean sth like [CPU_AMD, 
CPU_HYGON, CPU_INTEL, CPU_SHANGHAI, CPU_CENTAUR], [AMD_SVM, INTEL_VMX] 
and [AMD_IOMMU, INTEL_IOMMU], respectively?

> IOMMUs are more tricky still.  They are (for most intents and purposes)
> mandatory on systems with >254 CPUs.  We could in principle start
> supporting asymmetric IRQ routing on large systems, but Xen doesn't
> currently and it would be a lot work that's definitely not high on the
> priority list.  At a minimum, this will need expressing in the Kconfig
> help text.
>

Ok.

> We need to decide whether it is sensible to allow users to turn off
> IOMMU support.  It probably is, because you could trivially do this by
> selecting CONFIG_INTEL only, and booting the result on an AMD system.
> 

I cannot understand. I guess that if the code for the target system is 
disabled, Xen won't boot ... hopefully :).

If users are not allowed to turn off the IOMMU support, it can be always 
enabled unconditionally via Kconfig select based on the virtualization 
technology or other.

> 
> For the names, I don't think AMD_IOMMU vs INTEL_VTD is a sensible.
> Probably wants to be INTEL_IOMMU to match.
> 

Ok.

> ~Andrew

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 20:39:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 20:39:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467360.726417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jOx-0002ZQ-KL; Tue, 20 Dec 2022 20:39:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467360.726417; Tue, 20 Dec 2022 20:39:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jOx-0002ZJ-H5; Tue, 20 Dec 2022 20:39:51 +0000
Received: by outflank-mailman (input) for mailman id 467360;
 Tue, 20 Dec 2022 20:39:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LdMQ=4S=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p7jOw-0002ZD-9O
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 20:39:50 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7238a313-80a6-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 21:39:48 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id a16so19221126edb.9
 for <xen-devel@lists.xenproject.org>; Tue, 20 Dec 2022 12:39:48 -0800 (PST)
Received: from [192.168.1.93] (adsl-139.109.242.138.tellas.gr.
 [109.242.138.139]) by smtp.gmail.com with ESMTPSA id
 z1-20020a1709063a0100b00780982d77d1sm6113916eje.154.2022.12.20.12.39.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 20 Dec 2022 12:39:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7238a313-80a6-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=KjJ7uMP7eIamctIsWG+Yk0O37QW7sAhIw8pT8Xgx72c=;
        b=NgITedsQHRu3/K2wqodtFxIVZvgjpFEwc1+Q1IIaZof5Z9Ty4h384lom1cmtGYjA2t
         /h2AzmChidYtS8v6MS/QHdQ10rxkFA9/uRw2CYsdR7HVD3HHm5C4/1TwdkJjefqQ66Cz
         V/BLU6SNLdcLODP1YQpHJDsyZiGxec3MpwaDFrFPAUYF9YjW2RqSfReQLJ/MS2o/M+IA
         qRHBGCDmzfaCTUmb68CHgyRYH3DesB3A+5uGleo09ezYbfNDTetVUko3PWghHbHfQrp3
         u8+mVju/BxgEzTIsVG4SHgEpA8vBK10B0eBn7Vc3Ux0zKGLpMoI3DlzowIWv8Drdulxf
         fK4w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=KjJ7uMP7eIamctIsWG+Yk0O37QW7sAhIw8pT8Xgx72c=;
        b=KIC1CzzC5uC12EfrCMtR8EmFHeKOFA8ymQP9pGYEdO8Q7oNthZJ7kxHYeD9R/bVJGO
         ogeCOoypMeJolB8luBIRrG0QJ6J3G3sr0eJzWjCdf1+LhvOlHBzcS9lS33bJM2HnNdy2
         gHRbmtkgyRPla9+4wGDZzplJ9HYw8RXSbvyPSBbGWrZkPNCwqDnskDA8DFtPapbdV4Ke
         slirCZUO1AloNJLs23Dc3qc01zrPL9wWzQ4h8aPE0yJeAPcrzlnwK/d/HSpVhCGmGwzZ
         J2BWYa+z9TngaCGsAV+EkgNrNnNmtuhczzUDml/oVj1AsGwCHag/hyqGDOtVb8vER1xa
         nanQ==
X-Gm-Message-State: ANoB5pl7aijLkBY2gqMrJuz36pmBeC1Rx8j9fKSpKAkGPPOG0es+4YOb
	+OckfBcSbx7z0+Fv8HahTpo=
X-Google-Smtp-Source: AA0mqf6l8NKDA0gl4xS0dLy7CGpsSI3swH7DybYPhD/pgEKURSSWLKc93VD5royDWEKOnsztQWzIXA==
X-Received: by 2002:a50:eb01:0:b0:46f:9507:36bc with SMTP id y1-20020a50eb01000000b0046f950736bcmr51284199edp.16.1671568788333;
        Tue, 20 Dec 2022 12:39:48 -0800 (PST)
Message-ID: <936f9395-c551-9277-0b9b-975ffb566ecd@gmail.com>
Date: Tue, 20 Dec 2022 22:39:45 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [RFC 0/7] Proposal to make x86 IOMMU driver support configurable
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Paul Durrant <paul@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, George Dunlap <George.Dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <4b45cde3-52e1-15ae-7b6a-84c0d5141cc9@citrix.com>
 <6966791d-23d5-2613-da53-044b1621e3b5@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <6966791d-23d5-2613-da53-044b1621e3b5@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 12/20/22 12:09, Jan Beulich wrote:
> On 19.12.2022 19:28, Andrew Cooper wrote:
>> IOMMUs are more tricky still.  They are (for most intents and purposes)
>> mandatory on systems with >254 CPUs.  We could in principle start
>> supporting asymmetric IRQ routing on large systems, but Xen doesn't
>> currently and it would be a lot work that's definitely not high on the
>> priority list.  At a minimum, this will need expressing in the Kconfig
>> help text.
>>
>> We need to decide whether it is sensible to allow users to turn off
>> IOMMU support.  It probably is, because you could trivially do this by
>> selecting CONFIG_INTEL only, and booting the result on an AMD system.
> 
> One other thing Andrew and I have been talking about: We probably do
> not want to tie the IOMMU vendor control to CPU vendor one. IOW we'd
> like to be able to e.g. build a hypervisor supporting Intel (only) as
> the CPU vendor, but at the same time having support for an AMD IOMMU.
> 

I totally understand. I am not aiming to tie the AMD/INTEL IOMMU support 
to any particular CPU vendor.

>> For the names, I don't think AMD_IOMMU vs INTEL_VTD is a sensible.
>> Probably wants to be INTEL_IOMMU to match.
> 
> Or simply VTD, covering the case than some other vendor comes up with a
> clone. But of course we have that same issue with "AMD" and Hygon ...
> 

I prefer INTEL_IOMMU over VTD, I think.

> Jan

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 20:40:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 20:40:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467367.726428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jPc-0003sJ-U4; Tue, 20 Dec 2022 20:40:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467367.726428; Tue, 20 Dec 2022 20:40:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jPc-0003sC-QE; Tue, 20 Dec 2022 20:40:32 +0000
Received: by outflank-mailman (input) for mailman id 467367;
 Tue, 20 Dec 2022 20:40:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LdMQ=4S=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p7jPb-0003p3-Dq
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 20:40:31 +0000
Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com
 [2a00:1450:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b28cb18-80a6-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 21:40:30 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id m18so32068305eji.5
 for <xen-devel@lists.xenproject.org>; Tue, 20 Dec 2022 12:40:30 -0800 (PST)
Received: from [192.168.1.93] (adsl-139.109.242.138.tellas.gr.
 [109.242.138.139]) by smtp.gmail.com with ESMTPSA id
 p5-20020a170906838500b007415f8ffcbbsm6182829ejx.98.2022.12.20.12.40.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 20 Dec 2022 12:40:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b28cb18-80a6-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=vinmkR2W3x2w0/ZaG84gfv4wHPoCj9Ana65Ygp3iGMA=;
        b=CI0+2WcHO9T2R3P8NZxwLjxMs3JPdp2x+WwVYYLM+nxK0LkfWT3xJp4s/0yZpqgqcg
         +LYpZ5ExHnLKwFYGawzxcaPeIcNLzSglTkd9gbxYMqpoE9QLberZfvYUJuu/iaK2ZBMR
         FkYlLLDS6vSOE+cqElfJvocPhOFQjJitUPmDTxu/hTlX+h8rCvefSEtEKAmSLE62e3pZ
         oje/r/MiqXUuszk1YnCDlVRq+z4kVK6dtKbaRdG7PbEs4wKTgh28nauVheF+AT5h2Yzp
         1dIY+nskmKWDg0noSIg9v2QfnyA0CKK7ytWBhjQU1ahktkDgaO6N15ezPnc5MJv6Sent
         M8eA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=vinmkR2W3x2w0/ZaG84gfv4wHPoCj9Ana65Ygp3iGMA=;
        b=kmOGoItT1eMuWCey4yUZukpETTDsdX6SGxAu5+FyD2voypWiZ6/WWo2+JgxHmSHOqp
         oJxMwR8onDxSkPzvLhTzNgcFQ/SFvanf20Aw+76ASyXw41HQ/lR9u1A9/hyYA4EyJGgh
         AbcrMOOKlsCNn4nu+3ivUDsvxKt+lguCisBsJpK4Dnc7YuZXJ9Tvf2d0i+rsI6EQW/QR
         GeAp3kdUiTMgrsi91HrlThCdxxLMxVev8AMa4Ben27UKQP52othb2ZVD+sUj8BlelZTk
         FxAqRP5vWYktiy8fk0/3ZGLbUoYdnE2hUhBcPAsBCvt8Z6HLdb+LFWp2xucboVSu6vdw
         h0/Q==
X-Gm-Message-State: AFqh2kqavo7CuHbt3XrsVoreNrx5RDjYFzkI5+aGthUf6uBU4S1xV6gP
	VE/vxEKg9E52LO+/5yB5kGw=
X-Google-Smtp-Source: AMrXdXtZTj/VNrOARu1ict3IZCJ9Ehb+E+rbwHOi+n8Ub7c1kNF4AyvhMkCohCL9Hwo+N5yp0hYcJw==
X-Received: by 2002:a17:907:d48e:b0:82a:5b57:3fe4 with SMTP id vj14-20020a170907d48e00b0082a5b573fe4mr7408697ejc.68.1671568830370;
        Tue, 20 Dec 2022 12:40:30 -0800 (PST)
Message-ID: <96c49528-bed1-8de8-2bfe-dde5593d48cd@gmail.com>
Date: Tue, 20 Dec 2022 22:40:28 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [RFC 1/7] x86/iommu: make AMD-Vi and Intel VT-d support
 configurable
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 Roger Pau Monne <roger.pau@citrix.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-2-burzalodowa@gmail.com>
 <ed527c56-13e9-b02b-0608-3c943d76d159@citrix.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <ed527c56-13e9-b02b-0608-3c943d76d159@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 12/20/22 12:26, Andrew Cooper wrote:
> On 19/12/2022 6:34 am, Xenia Ragiadakou wrote:
>> diff --git a/xen/drivers/passthrough/Kconfig b/xen/drivers/passthrough/Kconfig
>> index 479d7de57a..82465aa627 100644
>> --- a/xen/drivers/passthrough/Kconfig
>> +++ b/xen/drivers/passthrough/Kconfig
>> @@ -37,6 +37,22 @@ config IPMMU_VMSA
>>   
>>   endif
>>   
>> +config AMD_IOMMU
>> +	bool "AMD IOMMU"
>> +	depends on X86
>> +	default y
>> +	---help---
> 
> We're trying to phase out ---help---, so please just use help.

Ok.

> 
> ~Andrew

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 20:41:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 20:41:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467376.726439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jQt-0004SO-75; Tue, 20 Dec 2022 20:41:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467376.726439; Tue, 20 Dec 2022 20:41:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jQt-0004SH-3m; Tue, 20 Dec 2022 20:41:51 +0000
Received: by outflank-mailman (input) for mailman id 467376;
 Tue, 20 Dec 2022 20:41:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LdMQ=4S=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p7jQr-0004S9-LG
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 20:41:49 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9ae4e37-80a6-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 21:41:48 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id jo4so23161572ejb.7
 for <xen-devel@lists.xenproject.org>; Tue, 20 Dec 2022 12:41:48 -0800 (PST)
Received: from [192.168.1.93] (adsl-139.109.242.138.tellas.gr.
 [109.242.138.139]) by smtp.gmail.com with ESMTPSA id
 r17-20020a17090609d100b007c176597b55sm6161164eje.37.2022.12.20.12.41.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 20 Dec 2022 12:41:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9ae4e37-80a6-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=mNgIsnx/3JccC7f3FRku2CicvaIKFEIC1glYus0Jek0=;
        b=JQBwS77fEEFA3+1YzaU9pcFtmLIQF3wbfCiG/Yr3Yjky2lAkwsRY48D5DaQUJm1Fyj
         ACUX8JfMiSx0YlC322c52+U6MQbtyq/PzGCOSdCRKSM70QYefND/n3hcjIpRoUMfLmeD
         jAYtKl5TityHgbPB48UnXBVrDTIt+qBm+kXgVb8gRL0wm9sJtYisVW44hdhNABPGiFTj
         yj5VOlTTe36Z4Xv4xRA8xnJPrxmfhlom4bsM/y81Et+yCrqWKXCTueJrIxHz74qU0PZp
         9yiK6uUkWFmvtzwiUanLYfylw7WBw8EjFOPWRisp6KbHpoMW2VJ0TgLP0UYxtepw5OS9
         J02A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=mNgIsnx/3JccC7f3FRku2CicvaIKFEIC1glYus0Jek0=;
        b=JYy6d47CWljNBcJUIdEWw5H3pSAyLU+BpkZpCvsfJzKNLGsiC9vtfrCBmrXFlB4YGl
         GqjE2WuacpC6YcWyokEcGcaBXnOslFcdW2mz4pyrtRR3OUvP4ZtQWDxiR+kQUjENxkVi
         F9LIvHRbIxhrv+oyPfSbghvd8l57PkqwfG3a0h+cJSGisiYsbNepbJVw5laTwVUBj77I
         NdixpLEfzS0jZGHjvQWPEsOL22L01B0nvGW0Idx5A3DZKnF1KY4GlXMuV7L4NtCG0wfR
         IGv/2M/L47wPCJO1Htd/3WZdPkbYyMladIrs8w4mY+FERwcMt8f08pkI4385tHFQ5/1F
         INDA==
X-Gm-Message-State: ANoB5plUlA4leumlhDxznQ8GY/n8LJdHrzSf76DRfn1/fY2glIBBxygp
	BfWj1jLfGxgbLYjeYiIWADZ98m9Ybew=
X-Google-Smtp-Source: AA0mqf5RiyTAyTDleTCKIdKN8nMU4OehbpNywcY80LGM0zpjvvGVKs142vQWLGQ+gP44chjB7HtrXw==
X-Received: by 2002:a17:906:eda7:b0:7c1:5248:4f3a with SMTP id sa7-20020a170906eda700b007c152484f3amr36376804ejb.56.1671568908301;
        Tue, 20 Dec 2022 12:41:48 -0800 (PST)
Message-ID: <83c80c85-0843-2bf7-e831-3920bacf8381@gmail.com>
Date: Tue, 20 Dec 2022 22:41:46 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [RFC 2/7] x86/iommu: amd_iommu_perdev_intremap is AMD-Vi specific
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
 Roger Pau Monne <roger.pau@citrix.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-3-burzalodowa@gmail.com>
 <8cc983ec-e28d-bd56-994e-39def18a511f@citrix.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <8cc983ec-e28d-bd56-994e-39def18a511f@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 12/20/22 12:31, Andrew Cooper wrote:
> On 19/12/2022 6:34 am, Xenia Ragiadakou wrote:
>> diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
>> index 5e2a720d29..1a02fdc453 100644
>> --- a/xen/drivers/passthrough/iommu.c
>> +++ b/xen/drivers/passthrough/iommu.c
>> @@ -58,7 +58,6 @@ bool __read_mostly iommu_hap_pt_share = true;
>>   #endif
>>   
>>   bool_t __read_mostly iommu_debug;
>> -bool_t __read_mostly amd_iommu_perdev_intremap = 1;
>>   
>>   DEFINE_PER_CPU(bool_t, iommu_dont_flush_iotlb);
>>   
>> @@ -115,8 +114,10 @@ static int __init cf_check parse_iommu_param(const char *s)
>>               if ( val )
>>                   iommu_verbose = 1;
>>           }
>> +#ifdef CONFIG_AMD_IOMMU
>>           else if ( (val = parse_boolean("amd-iommu-perdev-intremap", s, ss)) >= 0 )
>>               amd_iommu_perdev_intremap = val;
>> +#endif
> 
> See parse_cet() and the use of no_config_param() so users get a bit of a
> hint as to why the option they specified is getting ignored.

Ah, ok I see. Thx for pointing that out.

> 
> ~Andrew

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 20:57:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 20:57:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467385.726450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jfV-0006Cx-Gq; Tue, 20 Dec 2022 20:56:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467385.726450; Tue, 20 Dec 2022 20:56:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jfV-0006Cq-Cg; Tue, 20 Dec 2022 20:56:57 +0000
Received: by outflank-mailman (input) for mailman id 467385;
 Tue, 20 Dec 2022 20:56:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+pxk=4S=citrix.com=prvs=3460f7db1=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p7jfT-0006Cj-Bq
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 20:56:55 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d34a2aa7-80a8-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 21:56:53 +0100 (CET)
Received: from mail-bn7nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Dec 2022 15:56:42 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5229.namprd03.prod.outlook.com (2603:10b6:208:1e9::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 20:56:40 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 20:56:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d34a2aa7-80a8-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671569813;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=LVDBNLaEpEcfsn73oF+/ncq9ZWaheeiOylu8e+AjMNc=;
  b=h/pVPLL1hKFcngq9p5TXe8OQtupCxlljbhx5kcuW9FCKVi9ra/G6bBj+
   IaXGb/UXqJH1QhfS6w19nRXWnFbk4L6sav3hTPo/K1OpUifLqRS0Cb6OX
   ZuFRAYT/BN3mTrFZIbafKlCfKDVIQVDAgh6H/IvZ9IKXgNbgv4DYOMT+o
   0=;
X-IronPort-RemoteIP: 104.47.70.104
X-IronPort-MID: 88866804
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:sS49GKMhEvJfSbDvrR2HlsFynXyQoLVcMsEvi/4bfWQNrUok0GRVn
 GdNXTqFbv2PY2D9KY92aY2z9kMP75DUnNNgGgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5ARmPpingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0s1HHXly3
 qYVFHNXUTKknvKpx6vgceY506zPLOGzVG8ekldJ6GiBSNwAHtXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+vJxujCPpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8efzXOlBtJKSNVU8NZKkQPDlz1JESETWFiXrqKXo1SuS8xQf
 hl8Fi0G6PJaGFaQZtv3UgC8oXWElgUBQNcWGOo/gCmSzoLE7gDfAXILJhZRZdpjuMIoSDgC0
 l6Sg8ivFTFpqKeSS3+W6vGTtzzaBMQOBWoLZCtBRw1a5dDm+dk3lkiWFoolF7OphNroHz222
 yqNsCU1m7QUi4gMyrm/+lfExTmro/AlUzII2+keZUr9hisRWWJvT9XABYTzhRqYELukcw==
IronPort-HdrOrdr: A9a23:rCvgTq+vVJJF2mSF68Buk+AuI+orL9Y04lQ7vn2ZKSY5TiVXra
 CTdZUgpHnJYVMqMk3I9uruBEDtex3hHNtOkOss1NSZLW7bUQmTXeJfBOLZqlWNJ8S9zJ856U
 4JScND4bbLfDxHZKjBgTVRE7wbsaa6GKLDv5ah85+6JzsaGp2J7G1Ce3am+lUdfng+OXKgfq
 Dsm/auoVCbCAwqR/X+PFYpdc7ZqebGkZr3CCR2eyLOuGG1/EiVAKeRKWnj4isj
X-IronPort-AV: E=Sophos;i="5.96,259,1665460800"; 
   d="scan'208";a="88866804"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GkIK8IYkqIsPl0ki1xdZkHS2sF4tIQ26uqQmIhNIVNi4+RcdHuz2S27nOBim7daD/dM3xomF2KNujmwK+xTVdWBGr+6L9itdOWE0sQ1Q2aNpHLieZ1oNvH+QFGWEDPE5grIvSCA+04BEcaqpP3jUNHV5V2Uwik9dYcIQyG11AkQmppUTgSQWHpHYebzqM5AYQHjdG4PmjVJN6FNrlJ3Upu/7zjYK26F3HaGOupJRQmhM1g8Dn2EqfXHqBVTNLXFR711O6OQ/P4mvRevTm/jP5IAcMgup82y27+EuKbeTAR9XuGpUTDhUYL6M0V5UZ06ud39MDir0LdES+h/v0F50bw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LVDBNLaEpEcfsn73oF+/ncq9ZWaheeiOylu8e+AjMNc=;
 b=aVMC42npUcAJv4cI5lKPYhEqtzDkXiBRnfNOizACh+WokFwbbU2TzCe9JjAVi0MTwYUvkctFGgakwiP7pmqMCNofKIY5vqs3nGI7fX/wQ48SS8AvSlY1uHAmXxTV1iHTyeQ3NezdoKrw0yBhFZd88Zogmsabu9REAP+HGGySs6mygo21PDEfU/UHuvkbysJv79YGTOKGvJiFr3J2x5CKzdOo2ZvcrfTjUC4AuebWTmERA4Xqszn+B6VIAdX3fiGm49yzseNW2lxqCSc17RwB7xiLX7323Ovh3HCoaBOJxFXp4rcqOCeiynZ3IrqyuLuCzCf8p2su5hKIo01YIVteCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LVDBNLaEpEcfsn73oF+/ncq9ZWaheeiOylu8e+AjMNc=;
 b=sAtMwaeJvJF15jCcJehT/bMmHGD9gXjTBjKaCScixKIWRNchwZuwnMLcg/3vaD2O2fK/6VICOB0IbVKlBzrj6vqim0tlCt6yyLeZ+I6gQ4xFou9nOxeYLGQU64zNlL4JTXhzV5mhzKk+EgqJ88nIEhZeFZj8NRj6WMdQe3c1oPs=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2-ish] x86/boot: Factor move_xen() out of __start_xen()
Thread-Topic: [PATCH v2-ish] x86/boot: Factor move_xen() out of __start_xen()
Thread-Index: AQHZEYuAyVgzwEEad0Cj70OyJmEML6520VMAgAB2soA=
Date: Tue, 20 Dec 2022 20:56:39 +0000
Message-ID: <c14dacf1-7057-d860-7708-2dd13e8d6a4f@citrix.com>
References: <20211207105339.28440-1-andrew.cooper3@citrix.com>
 <20221216201749.32164-1-andrew.cooper3@citrix.com>
 <520cdde9-07e1-fce8-56d9-205fc31c62e3@suse.com>
In-Reply-To: <520cdde9-07e1-fce8-56d9-205fc31c62e3@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|MN2PR03MB5229:EE_
x-ms-office365-filtering-correlation-id: f8219248-246b-41da-a6b8-08dae2ccb107
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 6yujw/luwPu8Kn0uTM6oV4xhW8z5vX7YRnP9Lzpz9UZ/vwnFZ0zkE5ruxi2/YYiNNwbxO3WqKlOShAA8bUpQ+UKGufNsT0SiMG64aKjhodrdKBfuLx89z9ouX/SLTAuTJykoi4mdLlQdExGS5dXN1u3jUeN+/XklX6cC8ZeKsgZJvuEMv/ocXA2k261l42VTX1NlqVhYC/K12sAkVMHi1StEVB27ojFwqdXIrbvHYqkRWUVxnJfHUYRIcgUztUOSxz9eD6GJhZsYPhiIUT5VcK0C5HmQNJ452fx6v2ut/9NAdA1+h2ew+/AGEsHhn+Otac9SG96QkMSqvUd0vOIOP1z5oJ028hR5axLeXTIJuGUty3fzpuB6jbzE1zj+bYCUP2zzs1RZBjAmKC5DufKSuGKMQm2QqfmWIe+sYv9Ft1f+nBVF+GqQGzhVLcpY7973ulSn/B/8NwZG84JdbUSmGUZ5g9+gC3NP1sDcFzrBlkl4JvLnqXkfrr4SZP2MrBI0W/XDA8BPgFRMKj+UAbGvH5DRLkFyQYf3+kuNoysKfAKhzCsfO+a674r4gwTcOIUuAavlk2SWEic6If6k9Sv0SK9FLcsTroROjOilVKHCFtxMT2PTNmclgNZOxdm8PrcuDelKG1oDeO8fw0t0MuybW75b28pvQ1cBfDpnus3qvn8nxrypSjiYc6Mid1SsU5hz8aJ43LbZ9y87YgGeMTPULU/GHH/JNY+zbrCQihLQqdvkjypB02yK5Z9rtoyxU17sf93cc32o+2m8IhT/T6zvLA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(366004)(376002)(346002)(136003)(451199015)(6916009)(54906003)(4326008)(41300700001)(86362001)(83380400001)(8936002)(36756003)(5660300002)(316002)(66476007)(8676002)(66446008)(91956017)(2616005)(66556008)(2906002)(76116006)(38070700005)(64756008)(66946007)(31696002)(31686004)(38100700002)(26005)(6512007)(82960400001)(478600001)(6506007)(53546011)(186003)(122000001)(71200400001)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?V2tSZ3NkblU1OVRZRzRCb2lpYklSSmVnV2s4UDl6d2NRTEhDaGVPb2tzbzJi?=
 =?utf-8?B?dnowbHBGQ3dhN0RUVG9qdnprcnBmWHZiUVcvRnhhWGpNZG5RYU85enhZbHdO?=
 =?utf-8?B?NGR0ZWgyZlZzaVZRSTFqQUpHa1NuNm8rY3hRNkVEaTBEc20zdzIzUlF4Zm12?=
 =?utf-8?B?MlptaWJuLzNNTFI1dDZjTlRJQ1Q5MlJBS2kyS0xsUTl5dzduV0NRbnhneWQx?=
 =?utf-8?B?Q2VCZTJNQ2drRHpCUmd6bE45RXZaRmIyM3dyT0xWNHB0VUJRM0lia29aei9H?=
 =?utf-8?B?c2tzRmg3T29RTzB0R2tSVEVXMktyTzduWEJKNzZ1UkY5aWdFTkxSYitiMUNm?=
 =?utf-8?B?NlROaHlDcytiR29BdWtQR2xZMVAyckNqUGFEcGZTWmdqY3JQY05HYS9PWDRC?=
 =?utf-8?B?MUFrd2xjWVRZVmhlVms4THhrWC9kYlhpMkxiaHNVZ3krVWV0L1JwTE5mYzEz?=
 =?utf-8?B?MjNra1dWZnJwMDg5RTVPQ21CUG1MVjNwZDFDRW5YdU9rQU9LT0NTUDZFVVFv?=
 =?utf-8?B?Y2JyU1dhcFQ3cFQ2VElqZmMwZlBXdytxSzBpT1cyTHRUTTNjNGZ5R2tpRjhW?=
 =?utf-8?B?RklxMDFDWmJLSTNDMUtISlpWbnB1ZjUrNDh0Ri93REZIVnd4VU82djB1Rm84?=
 =?utf-8?B?YytwR1lNMTBYVUpkQS9HTkgzMEVzdTBsT2tTWXIvekdhaDViK1FuZzFSL05a?=
 =?utf-8?B?NFF1UGc4U1E5TWRuSjFYaUU2dHREUFowaW4vclVwWlZhTkFiQ2t1a3ViTll2?=
 =?utf-8?B?VnN0a2lpaU1uZmV4SkdoWVlMTldGN0ZPci9oeEYzVjBDQzBTUjNMTUZpRmVs?=
 =?utf-8?B?a055Z0N4c1QwL0VvNVFnTlJZN0x4QkJaYjJXcVpGT0NoemZLNTArRW5uekdM?=
 =?utf-8?B?M3Z2VVFpUUF0YkdOQXo1WXl3WjJGTFltWXBldGJoeEdyUG1ncFdzTWVPUWVL?=
 =?utf-8?B?eFUrUmdJL1oxOGI5YjFCVVlseldqb0NBQm9ZWGhNSTd5NGJuRXBEVDlGb04r?=
 =?utf-8?B?T25URzNHd21vQlUzVnlBWkgxaUtPQ05MY2hYZFFWeVdGMERxek5Fd3ZTaHVP?=
 =?utf-8?B?dzRpdzliNSs3QkFmTDlJS3R1QzJBZmdnOVVUaXZoWWdTcEhEenMzUHpnNW96?=
 =?utf-8?B?b3daVWJaSU02TGUyMllKcE50NGtPeHlZTm9EdFJ2aXZKRGJqQXdqSE1Hakhu?=
 =?utf-8?B?bWlxZXJWd1FhV2RBL0VMM3l2d2NFZGhuQUlGWVBwZHBHZlFLQ3RDRkV0RURo?=
 =?utf-8?B?SkNIeVJpN1hhYURHdlZmU01PMDMwV1N4L1dPb3JJN0RIc0JTVW1Hdlp2UjFB?=
 =?utf-8?B?R1g5cjZ2RTYzNmlvUzZpcVFJcEtwNUxqdmd6ZENDcHJKb0ZzN3UyZGFHWlVa?=
 =?utf-8?B?eWh5ejRRWVByV0NjZzUzTUlNVHpCTTE1VXZ0WCtCS3VuT3Z6WDJuRVFCazFN?=
 =?utf-8?B?N2N1VnRRcXdSeUp5M00vT2xCcEpXYnI1R0VJU3k5Rm5TbWtQamFzNWt6UFlB?=
 =?utf-8?B?ZlRPUWRpWnZyRFg0Nm9yeko2Q0tCZlVKQndLMTY4bmp4aHZQMG5CS0RDS3VY?=
 =?utf-8?B?MnhZSDRCRk4wRm5xSmtzQWRZK2dvQS9rRm95bG9HYmVUaWJPcXdMMEtDWW40?=
 =?utf-8?B?RFNrN1dSMzhIQkoxM1Y0NFdjelhFWjlDemxoSlcyb2crMWFoZ2Y4VWRlOGVa?=
 =?utf-8?B?MlJZWEMxdEl5VGNxYXNaOExWTjJTalpmQjZUeVBMNWpmVXA4UGgyWlIxV3Vj?=
 =?utf-8?B?cSs2RmNJNWk4dXZ0YUF6L2dTK3VuWDFIS29XdGZDQm9vREVWaktBMGtPQnlp?=
 =?utf-8?B?ODE1ZGV4NEVGNmpSTittVUppelQ2bzV6OHJmSFV4WEFGY2Z1TTJLZFVsbUYx?=
 =?utf-8?B?UEpvSXRCZ0tuL013SmV3NTU5REdsb3pqdndMREZiTnl6R1J6dnVudDRGMjY2?=
 =?utf-8?B?VW40OE5lQVVaUStHRHN0cjQxcTNJVHNtSTFGK3JzR3ZQWUk4NnVQVEt5YnFB?=
 =?utf-8?B?cWhFYU1hYkFFK0w3eXQ2RytvNGF6SWd1NUI4SHJSbnQ3K3ZLWEpLbi9uQTFU?=
 =?utf-8?B?enp6Qm5qSTlXaXlZdEFjSk41YjY1b0hFYTFYQjYrSXJoVm5PN1pnTjNuRkIy?=
 =?utf-8?Q?BShs35igHlpyetW40GnDGOJgU?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <1FB64A451B854249BBCFDEA36D34AC57@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f8219248-246b-41da-a6b8-08dae2ccb107
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2022 20:56:39.6995
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: PuWiMaSu0S1sS92bDrxxmuAngCt99GBpMEVAPyUqx+d1m6m8grQehE9NH5pzM0SC+vOvnOG0d6Z4BR+DbUtq7tQyd0K0CpHhFhcEchefjqg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5229

T24gMjAvMTIvMjAyMiAxOjUxIHBtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMTYuMTIuMjAy
MiAyMToxNywgQW5kcmV3IENvb3BlciB3cm90ZToNCj4+IFBhcnRseSBmb3IgY2xhcml0eSBiZWNh
dXNlIHRoZXJlIGlzIGEgbG90IG9mIHN1YnRsZSBtYWdpYyBhdCB3b3JrIGhlcmUuDQo+PiBFeHBh
bmQgdGhlIGNvbW1lbnRhcnkgb2Ygd2hhdCdzIGdvaW5nIG9uLg0KPj4NCj4+IEFsc28sIGJlY2F1
c2UgdGhlcmUgaXMgbm8gbmVlZCB0byBkb3VibGUgY29weSB0aGUgc3RhY2sgKDMya0IpIHRvIHJl
dHJpZXZlDQo+PiBsb2NhbCB2YWx1ZXMgc3BpbGxlZCB0byB0aGUgc3RhY2sgdW5kZXIgdGhlIG9s
ZCBhbGlhcywgd2hlbiBhbGwgb2YgdGhlDQo+PiBhZm9yZW1lbnRpb25lZCBsb2NhbCB2YXJpYWJs
ZXMgYXJlIGdvaW5nIG91dCBvZiBzY29wZSBhbnl3YXkuDQo+Pg0KPj4gVGhlcmUgaXMgYWxzbyBh
IGxvZ2ljIGNoYW5nZSB3aGVuIHdhbGtpbmcgbDJfeGVubWFwW10uICBUaGUgb2xkIGxvZ2ljIHdv
dWxkDQo+PiBza2lwIHJlY3Vyc2luZyBpbnRvIDRrIG1hcHBpbmdzOyB0aGlzIHdvdWxkIGNvcnJ1
cHQgWGVuIGlmIGl0IHdlcmUgdXNlZC4NCj4+IFRoZXJlIGFyZSBubyA0ayBtYXBwaW5ncyBpbiBs
Ml94ZW5tYXBbXSB0aGlzIGVhcmx5IG9uIGJvb3QsIHNvIGFzc2VydCB0aGUNCj4+IHByb3BlcnR5
IGluc3RlYWQgb2YgbGVhdmluZyBhIGxhdGVudCBicmVha2FnZS4NCj4+DQo+PiBTaWduZWQtb2Zm
LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPj4gLS0tDQo+
PiBDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPg0KPj4gQ0M6IFJvZ2VyIFBhdSBN
b25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPj4gQ0M6IFdlaSBMaXUgPHdsQHhlbi5vcmc+
DQo+Pg0KPj4gV2UgcHJvYmFibHkgd2FudCB0byBkcm9wIFBHRSBmcm9tIFhFTl9NSU5JTUFMX0NS
NC4gIEl0IHdpbGwgc2ltcGxpZnkgc2V2ZXJhbA0KPj4gYm9vdCBwYXRocyB3aGljaCBkb24ndCBu
ZWVkIHRvIGNhcmUgYWJvdXQgZ2xvYmFsIHBhZ2VzLCBhbmQgUEdFIGlzIGNvbmRpdGlvbmFsDQo+
PiBhbnl3YXkgbm93IHdpdGggdGhlIFBDSUQgc3VwcG9ydC4NCj4gUGVyaGFwcywgZXNwZWNpYWxs
eSBpZiAtIGFzIHlvdSBzYXkgLSB0aGlzIGFsbG93cyBmb3Igc2ltcGxpZmljYXRpb24uDQo+DQo+
PiAtLS0gYS94ZW4vYXJjaC94ODYvc2V0dXAuYw0KPj4gKysrIGIveGVuL2FyY2gveDg2L3NldHVw
LmMNCj4+IEBAIC00NjcsNiArNDY3LDExMyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgbW92ZV9tZW1v
cnkoDQo+PiAgICAgIH0NCj4+ICB9DQo+PiAgDQo+PiArc3RhdGljIHZvaWQgX19pbml0IG5vaW5s
aW5lIG1vdmVfeGVuKHZvaWQpDQo+PiArew0KPj4gKyAgICBsNF9wZ2VudHJ5X3QgKnBsNGU7DQo+
PiArICAgIGwzX3BnZW50cnlfdCAqcGwzZTsNCj4+ICsgICAgbDJfcGdlbnRyeV90ICpwbDJlOw0K
Pj4gKyAgICB1bnNpZ25lZCBsb25nIHRtcDsNCj4+ICsgICAgaW50IGksIGosIGs7DQo+IENhbiB0
aGVzZSBiZWNvbWUgInVuc2lnbmVkIGludCIgcGxlYXNlIGF0IHRoaXMgb2NjYXNpb24/DQoNCkZp
eGVkLg0KDQo+IChQZXJoYXBzIGFzDQo+IGFub3RoZXIgcmVhc29uIHRvIG1ha2UgdGhlIGNoYW5n
ZSwgbWVudGlvbiB0aGF0IHRoZSBvbGQgaW5zdGFuY2VzIG9mIGkgYW5kDQo+IGogZGlkIHNoYWRv
dyBvdXRlciBzY29wZSB2YXJpYWJsZXMgaW4gdGhlIHNhbWUgZnVuY3Rpb24/KQ0KDQpPaCwgc28g
aXQgZG9lcy7CoCBJJ20gc2xpZ2h0bHkgc3VycHJpc2VkIHRoYXQgd2UgaGF2ZW4ndCBzZWVuIGEg
Y29tcGlsZXINCm9iamVjdGlvbiBmcm9tIHRoYXQuDQoNCj4NCj4+ICsgICAgLyoNCj4+ICsgICAg
ICogVGhlIGNhbGxlciBoYXMgc2VsZWN0ZWQgeGVuX3BoeXNfc3RhcnQsIGVuc3VyaW5nIHRoYXQg
dGhlIG9sZCBhbmQgbmV3DQo+PiArICAgICAqIGxvY2F0aW9ucyBkbyBub3Qgb3ZlcmxhcC4gIE1h
a2UgaXQgc28uDQo+IEFzIGEgbm9uLW5hdGl2ZSBzcGVha2VyIEknbSBzdHJ1Z2dsaW5nIHdpdGgg
d2hhdCAiTWFrZSBpdCBzbyIgaXMgc3VwcG9zZWQNCj4gdG8gdGVsbCBtZSBoZXJlLg0KDQoiQWN0
dWFsbHkgZG8gaXQiDQoNCkknbGwgZHJvcCBpdC7CoCBJdCdzIG5vdCBvdmVybHkgaW1wb3J0YW50
IHRvIHRoZSB1bmRlcnN0YW5kaW5nIGhlcmUuDQoNCj4NCj4+ICsgICAgICogUHJldmVudCB0aGUg
Y29tcGlsZXIgZnJvbSByZW9yZGVyaW5nIGFueXRoaW5nIGFjcm9zcyB0aGlzIHBvaW50LiAgU3Vj
aA0KPj4gKyAgICAgKiB0aGluZ3Mgd2lsbCBlbmQgYmFkbHkuDQo+PiArICAgICAqLw0KPj4gKyAg
ICBiYXJyaWVyKCk7DQo+PiArDQo+PiArICAgIC8qDQo+PiArICAgICAqIENvcHkgb3V0IG9mIHRo
ZSBjdXJyZW50IGFsaWFzLCBpbnRvIHRoZSBkaXJlY3RtYXAgYXQgdGhlIG5ldyBsb2NhdGlvbi4N
Cj4+ICsgICAgICogVGhpcyBpbmNsdWRlcyBhIHNuYXBzaG90IG9mIHRoZSBjdXJyZW50IHN0YWNr
Lg0KPj4gKyAgICAgKi8NCj4+ICsgICAgbWVtY3B5KF9fdmEoX19wYShfc3RhcnQpKSwgX3N0YXJ0
LCBfZW5kIC0gX3N0YXJ0KTsNCj4+ICsNCj4+ICsgICAgLyoNCj4+ICsgICAgICogV2UgYXJlIG5v
dyBpbiBhIGNyaXRpY2FsIHJlZ2lvbi4gIEFueSB3cml0ZSAobW9kaWZ5aW5nIGEgZ2xvYmFsLA0K
Pj4gKyAgICAgKiBzcGlsbGluZyBhIGxvY2FsIHRvIHRoZSBzdGFjaywgZXRjKSB2aWEgdGhlIGN1
cnJlbnQgYWxpYXMgd2lsbCBnZXQgbG9zdA0KPj4gKyAgICAgKiB3aGVuIHdlIHN3aXRjaCB0byB0
aGUgbmV3IHBhZ2V0YWJsZXMuICBUaGlzIGV2ZW4gbWVhbnMgbm8gcHJpbnRrKCkncw0KPj4gKyAg
ICAgKiBkZWJ1Z2dpbmcgcHVycG9zZXMuDQo+IE5pdDogTWlzc2luZyAiZm9yIj8NCg0KRml4ZWQu
DQoNCj4NCj4+ICsgICAgICogV2FsayB0aGUgc29vbi10by1iZS11c2VkIHBhZ2V0YWJsZXMgaW4g
dGhlIG5ldyBsb2NhdGlvbiwgcmVsb2NhdGluZyBhbGwNCj4+ICsgICAgICogaW50ZXJtZWRpYXRl
IChub24tbGVhZikgZW50cmllcyB0byBwb2ludCB0byB0aGVpciBuZXctbG9jYXRpb24NCj4+ICsg
ICAgICogZXF1aXZhbGVudHMuICBBbGwgd3JpdGVzIGFyZSB2aWEgdGhlIGRpcmVjdG1hcCBhbGlh
cy4NCj4+ICsgICAgICovDQo+PiArICAgIHBsNGUgPSBfX3ZhKF9fcGEoaWRsZV9wZ190YWJsZSkp
Ow0KPj4gKyAgICBmb3IgKCBpID0gMCA7IGkgPCBMNF9QQUdFVEFCTEVfRU5UUklFUzsgaSsrLCBw
bDRlKysgKQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBpZiAoICEobDRlX2dldF9mbGFncygqcGw0
ZSkgJiBfUEFHRV9QUkVTRU5UKSApDQo+PiArICAgICAgICAgICAgY29udGludWU7DQo+PiArDQo+
PiArICAgICAgICAqcGw0ZSA9IGw0ZV9mcm9tX2ludHB0ZShsNGVfZ2V0X2ludHB0ZSgqcGw0ZSkg
KyB4ZW5fcGh5c19zdGFydCk7DQo+PiArICAgICAgICBwbDNlID0gX192YShsNGVfZ2V0X3BhZGRy
KCpwbDRlKSk7DQo+PiArICAgICAgICBmb3IgKCBqID0gMDsgaiA8IEwzX1BBR0VUQUJMRV9FTlRS
SUVTOyBqKyssIHBsM2UrKyApDQo+PiArICAgICAgICB7DQo+PiArICAgICAgICAgICAgaWYgKCAh
KGwzZV9nZXRfZmxhZ3MoKnBsM2UpICYgX1BBR0VfUFJFU0VOVCkgfHwNCj4+ICsgICAgICAgICAg
ICAgICAgIChsM2VfZ2V0X2ZsYWdzKCpwbDNlKSAmIF9QQUdFX1BTRSkgKQ0KPj4gKyAgICAgICAg
ICAgICAgICBjb250aW51ZTsNCj4+ICsNCj4+ICsgICAgICAgICAgICAqcGwzZSA9IGwzZV9mcm9t
X2ludHB0ZShsM2VfZ2V0X2ludHB0ZSgqcGwzZSkgKyB4ZW5fcGh5c19zdGFydCk7DQo+PiArICAg
ICAgICAgICAgcGwyZSA9IF9fdmEobDNlX2dldF9wYWRkcigqcGwzZSkpOw0KPj4gKyAgICAgICAg
ICAgIGZvciAoIGsgPSAwOyBrIDwgTDJfUEFHRVRBQkxFX0VOVFJJRVM7IGsrKywgcGwyZSsrICkN
Cj4+ICsgICAgICAgICAgICB7DQo+PiArICAgICAgICAgICAgICAgIGlmICggIShsMmVfZ2V0X2Zs
YWdzKCpwbDJlKSAmIF9QQUdFX1BSRVNFTlQpIHx8DQo+PiArICAgICAgICAgICAgICAgICAgICAg
KGwyZV9nZXRfZmxhZ3MoKnBsMmUpICYgX1BBR0VfUFNFKSApDQo+PiArICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZTsNCj4+ICsNCj4+ICsgICAgICAgICAgICAgICAgKnBsMmUgPSBsMmVfZnJv
bV9pbnRwdGUobDJlX2dldF9pbnRwdGUoKnBsMmUpICsgeGVuX3BoeXNfc3RhcnQpOw0KPj4gKyAg
ICAgICAgICAgIH0NCj4+ICsgICAgICAgIH0NCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICAvKg0K
Pj4gKyAgICAgKiBXYWxrIHRoZSBzb29uLXRvLWJlLXVzZWQgbDJfeGVubWFwW10sIHJlbG9jYXRp
bmcgYWxsIHRoZSBsZWFmIG1hcHBpbmdzDQo+PiArICAgICAqIHNvIHRleHQvZGF0YS9ic3MgZXRj
IHJlZmVyIHRvIHRoZSBuZXcgbG9jYXRpb24gaW4gbWVtb3J5Lg0KPj4gKyAgICAgKi8NCj4+ICsg
ICAgcGwyZSA9IF9fdmEoX19wYShsMl94ZW5tYXApKTsNCj4+ICsgICAgZm9yICggaSA9IDA7IGkg
PCBMMl9QQUdFVEFCTEVfRU5UUklFUzsgaSsrLCBwbDJlKysgKQ0KPj4gKyAgICB7DQo+PiArICAg
ICAgICBpZiAoICEobDJlX2dldF9mbGFncygqcGwyZSkgJiBfUEFHRV9QUkVTRU5UKSApDQo+PiAr
ICAgICAgICAgICAgY29udGludWU7DQo+PiArDQo+PiArICAgICAgICAvKg0KPj4gKyAgICAgICAg
ICogV2UgZG9uJ3QgaGF2ZSA0ayBtYXBwaW5ncyBpbiBsMl94ZW5tYXBbXSBhdCB0aGlzIHBvaW50
IGluIGJvb3QsIG5vcg0KPj4gKyAgICAgICAgICogaXMgdGhpcyBhbnRpY2lwYXRlZCB0byBjaGFu
Z2UuICBTaW1wbHkgYXNzZXJ0IHRoZSBmYWN0LCByYXRoZXIgdGhhbg0KPj4gKyAgICAgICAgICog
aW50cm9kdWNpbmcgZGVhZCBsb2dpYyB0byBkZWNlbmQgaW50byBsMSB0YWJsZXMuDQo+IE5pdDog
ImRlc2NlbmQiPw0KDQpGaXhlZC4NCg0KPg0KPj4gKyAgICAgICAgICovDQo+PiArICAgICAgICBB
U1NFUlQobDJlX2dldF9mbGFncygqcGwyZSkgJiBfUEFHRV9QU0UpOw0KPiBUaGUgd2FybmluZyBh
Ym91dCB0aGUgdXNlIG9mIHByaW50aygpIGFyb3VuZCBoZXJlIGNvdWxkIG1ha2Ugb25lIHRoaW5r
DQo+IHRoYXQgdXNpbmcgQVNTRVJUKCkgKG9yIEJVRygpKSBpcyBzaW1pbGFybHkgYmFkLiBIb3dl
dmVyLCBhaXVpIHVzaW5nDQo+IHByaW50aygpIGlzbid0IGJ5IGl0c2VsZiBhIHByb2JsZW0sIGp1
c3QgdGhhdCB0aGUgbG9nIG1lc3NhZ2Ugd291bGQgYmUNCj4gbG9zdCBhcyBmYXIgYXMgdGhlIGNp
cmN1bGFyIGJ1ZmZlciBnb2VzLiBUaGUgbWVzc2FnZSB3b3VsZCBiZSBvYnNlcnZhYmxlDQo+IG9u
IHRoZSBzZXJpYWwgY29uIHNvbGUgdGhvdWdoLCBhdCBsZWFzdCB3aXRoICJzeW5jX2NvbnNvbGUi
LiBJdCBpcyBvbg0KPiB0aGlzIGJhc2lzIHRoYXQgdXNpbmcgQVNTRVJUKCkgaGVyZSBtYWtlcyBz
ZW5zZS4gUGVyaGFwcyB0aGUgcHJpbnRrKCkNCj4gcmVsYXRlZCBjb21tZW50IGNvdWxkIGJlIHNs
aWdodGx5IGFkanVzdGVkIHRvIGV4cHJlc3MgdGhpcz8NCg0KSSBkaWQgdHJ5IHRvIGRlc2NyaWJl
IGl0LCBhbmQgaXQgZ2V0cyBjb21wbGljYXRlZCwgc28gSSBvcHRlZCBmb3IgdGhlDQpzaW1wbGUg
YXBwcm9hY2guDQoNCkJlZm9yZSB0aGUgcGFnZXRhYmxlIHN3aXRjaCwgaXQgd2lsbCBvcGVyYXRl
ICJwcm9wZXJseSIgYW5kIGVtaXQgdGV4dA0Kb250byB0aGUgc2NyZWVuLCBzZXJpYWwsIGV0Yy4N
Cg0KQWZ0ZXIgdGhlIHBhZ2V0YWJsZSBzd2l0Y2gsIGFsbCBYZW4gZGF0YSB3aWxsIGJlIGxvc3Qs
IHdoaWNoIGluY2x1ZGVzDQp0aGUgbWFpbiBjb25zb2xlIGJ1ZmZlciwgYnV0IGFsc28gdGhpbmdz
IGxpa2UgdGhlIGxvY2FsIHN0YXRlIGZvciBYZW4ncw0KVUFSVCBkcml2ZXIuwqAgSSBnYXZlIHVw
IHRyeWluZyB0byByZWFzb24gd2hhdCB3b3VsZCBoYXBwZW4gYXQgdGhhdCBwb2ludC4NCg0KDQpU
aGUgQVNTRVJUKCkgaXMgdmVyeSBtdWNoIGEgYmVzdC1lZmZvcnQgYXR0ZW1wdC7CoCBBbnlvbmUg
bGlhYmxlIHRvIHRyaXANCnRoZSBhc3NlcnQgaXMgYWxyZWFkeSB3b3JraW5nIG9uIHRoZSBib290
IHBhZ2V0YWJsZSBhbmQgb3VnaHQgdG8gYmUgYXdhcmUuDQoNCj4NCj4+ICsgICAgICAgICpwbDJl
ID0gbDJlX2Zyb21faW50cHRlKGwyZV9nZXRfaW50cHRlKCpwbDJlKSArIHhlbl9waHlzX3N0YXJ0
KTsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICAvKg0KPj4gKyAgICAgKiBTd2l0Y2ggdG8gcmVs
b2NhdGVkIHBhZ2V0YWJsZXMsIHNob290aW5nIGRvd24gZ2xvYmFsIG1hcHBpbmdzIGFzIHdlIGdv
Lg0KPj4gKyAgICAgKi8NCj4+ICsgICAgYXNtIHZvbGF0aWxlICgNCj4+ICsgICAgICAgICJtb3Yg
ICAgJSVjcjQsICVbY3I0XVxuXHQiDQo+PiArICAgICAgICAiYW5kYiAgICR+JWNbcGdlXSwgJWJb
Y3I0XVxuXHQiDQo+PiArICAgICAgICAibW92ICAgICVbY3I0XSwgJSVjcjRcblx0IiAgICAgLyog
Q1I0LlBHRSA9IDAgKi8NCj4+ICsgICAgICAgICJtb3YgICAgJVtjcjNdLCAlJWNyM1xuXHQiICAg
ICAvKiBDUjMgPSBuZXcgcGFnZXRhYmxlcyAqLw0KPj4gKyAgICAgICAgIm9yYiAgICAkJWNbcGdl
XSwgJWJbY3I0XVxuXHQiDQo+IEkgdW5kZXJzdGFuZCB5b3UgbmVlZCAlYyB0byBhcHBseSB0aGUg
fiBpbiB0aGUgb3BlcmFuZCBvZiBBTkRCIGFib3ZlLg0KPiBCdXQgY291bGQgSSB0YWxrIHlvdSBp
bnRvIGtlZXBpbmcgdGhpbmdzIGFzIHNpbXBsZSBhcyBwb3NzaWJsZSBoZXJlDQo+IGJ5IHVzaW5n
IHBsYWluICVbcGdlXT8NCg0KVGhlICQgaXMgc3RpbGwgdXNlZnVsIGluIHRoZSBzZWNvbmQgY2Fz
ZSwgZm9yIGNvbnNpc3RlbmN5IGlmIG5vdGhpbmcgZWxzZS4NCg0KQm90aCBvZiB0aGVzZSBpbnN0
YW5jZXMgZGlzYXBwZWFyIGlmIFBHRSBnZXRzIGNsZWFuZWQgdXAgb24gYm9vdC4NCg0KPg0KPj4g
KyAgICAgICAgIm1vdiAgICAlW2NyNF0sICUlY3I0XG5cdCIgICAgIC8qIENSNC5QR0UgPSAxICov
DQo+PiArICAgICAgICA6IFtjcjRdICI9JmEiICh0bXApIC8qIENvdWxkIGJlICJyIiwgYnV0ICJh
IiBtYWtlcyBiZXR0ZXIgYXNtICovDQo+PiArICAgICAgICA6IFtjcjNdICJyIiAoX19wYShpZGxl
X3BnX3RhYmxlKSksDQo+PiArICAgICAgICAgIFtwZ2VdICJpIiAoWDg2X0NSNF9QR0UpDQo+PiAr
ICAgICAgICA6ICJtZW1vcnkiICk7DQo+IFRoZSByZW1vdmVkIHN0YWNrIGNvcHlpbmcgd29ycmll
cyBtZSwgdG8gYmUgaG9uZXN0LiBZZXMsIGZvciBsb2NhbA0KPiB2YXJpYWJsZXMgb2Ygb3VycyBp
dCBkb2Vzbid0IG1hdHRlciBiZWNhdXNlIHRoZXkgYXJlIGFib3V0IHRvIGdvIG91dA0KPiBvZiBz
Y29wZS4gQnV0IHdoYXQgaWYgdGhlIGNvbXBpbGVyIGluc3RhbnRpYXRlcyBhbnkgZm9yIGl0cyBv
d24gdXNlLA0KPiBlLmcuIC4uLg0KPg0KPj4gKyAgICAvKg0KPj4gKyAgICAgKiBFbmQgb2YgdGhl
IGNyaXRpY2FsIHJlZ2lvbi4gIFVwZGF0ZXMgdG8gbG9jYWxzIGFuZCBnbG9iYWxzIG5vdyB3b3Jr
IGFzDQo+PiArICAgICAqIGV4cGVjdGVkLg0KPj4gKyAgICAgKg0KPj4gKyAgICAgKiBVcGRhdGVz
IHRvIGxvY2FsIHZhcmlhYmxlcyB3aGljaCBoYXZlIGJlZW4gc3BpbGxlZCB0byB0aGUgc3RhY2sg
c2luY2UNCj4+ICsgICAgICogdGhlIG1lbWNweSgpIGhhdmUgYmVlbiBsb3N0LiAgQnV0IHdlIGRv
bid0IGNhcmUsIGJlY2F1c2UgdGhleSdyZSBhbGwNCj4+ICsgICAgICogZ29pbmcgb3V0IG9mIHNj
b3BlIGltbWluZW50bHkuDQo+PiArICAgICAqLw0KPj4gKw0KPj4gKyAgICBwcmludGsoIk5ldyBY
ZW4gaW1hZ2UgYmFzZSBhZGRyZXNzOiAlI2x4XG4iLCB4ZW5fcGh5c19zdGFydCk7DQo+IC4uLiB0
aGUgcmVzdWx0IG9mIHRoZSBhZGRyZXNzIGNhbGN1bGF0aW9uIGZvciB0aGUgc3RyaW5nIGxpdGVy
YWwNCj4gaGVyZT8gU3VjaCBhdXhpbGlhcnkgY2FsY3VsYXRpb25zIGNhbiBoYXBwZW4gYXQgYW55
IHBvaW50IGluIHRoZQ0KPiBmdW5jdGlvbiwgYW5kIHdvbid0IG5lY2Vzc2FyaWx5IChoZW5jZSB0
aGUgZXhhbXBsZSBjaG9zZW4pIGJlY29tZQ0KPiBpbXBvc3NpYmxlIGZvciB0aGUgY29tcGlsZXIg
dG8gZG8gd2l0aCB0aGUgbWVtb3J5IGNsb2JiZXIgaW4gdGhlDQo+IGFzbSgpLiBBbmQgd2hpbGUg
dGhlIHN0cmluZyBsaXRlcmFsJ3MgYWRkcmVzcyBpcyBsaWtlbHkgY2hlYXANCj4gZW5vdWdoIHRv
IGNhbGN1bGF0ZSByaWdodCBpbiB0aGUgZnVuY3Rpb24gaW52b2NhdGlvbiBzZXF1ZW5jZSAoYW5k
DQo+IGFuIG9wdGlvbiB3b3VsZCBhbHNvIGJlIHRvIHJldGFpbiB0aGUgcHJpbnRrKCkgaW4gdGhl
IGNhbGxlciksDQo+IG90aGVyIGluc3RydW1lbnRhdGlvbiBvcHRpb25zIGNvdWxkIGJlIHVuZGVy
bWluZWQgYnkgdGhpcyBhcyB3ZWxsLg0KDQpSaWdodCBub3csIHRoZSBjb21waWxlciBpcyBmcmVl
IHRvIGNhbGN1bGF0ZSB0aGUgYWRkcmVzcyBvZiB0aGUgc3RyaW5nDQpsaXRlcmFsIGluIGEgcmVn
aXN0ZXIsIGFuZCBtb3ZlIGl0IHRoZSBvdGhlciBzaWRlIG9mIHRoZSBUTEIgZmx1c2guwqANClRo
aXMgd2lsbCB3b3JrIGp1c3QgZmluZS4NCg0KSG93ZXZlciwgdGhlIGNvbXBpbGVyIGNhbm5vdCBu
b3csIG9yIGV2ZXIgaW4gdGhlIGZ1dHVyZSwgc3BpbGwgc3VjaCBhDQpjYWxjdWxhdGlvbiB0byB0
aGUgc3RhY2suDQoNCldoZXRoZXIgaXQncyBzcGVsdCAibWVtb3J5Iiwgb3Igc29tZXRoaW5nIGVs
c2UgaW4gdGhlIGZ1dHVyZSwgT1Nlcw0KcmVhbGx5IGRvIGdlbnVpbmVseSBuZWVkIGEgd2F5IG9m
IHRlbGxpbmcgdGhlIGNvbXBpbGVyICJ5b3UgbGl0ZXJhbGx5DQpjYW5ub3QgbW92ZSBhbnl0aGlu
ZyB0aGUgb3RoZXIgc2lkZSBvZiB0aGlzIGFzbSgpIiwgYmVjYXVzZSBvdGhlcndpc2UNCm1hbGZ1
bmN0aW9ucyB3aWxsIG9jY3VyLg0KDQpJdCdzIG5vdCB0aGUgbG9jYWxzIHdoaWNoIHdvcnJ5IG1l
IC0gd2UgcmVhbGx5IGRvIGxvc2UgdGhpbmdzIGxpa2UNCmNvdmVyYWdlIGRhdGEgaW4gaGVyZS7C
oCBTaG9ydCBvZiB3cml0aW5nIGl0IGZ1bGx5IGluIGFzbSAod2hpY2ggd291bGQgYmUNCmlycml0
YXRpbmcgdG8gbWFpbnRhaW4pLCBJIGRvbid0IHNlZSBhbnkgb3RoZXIgb3B0aW9uLg0KDQp+QW5k
cmV3DQo=


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 20:57:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 20:57:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467389.726461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jfp-0006e0-St; Tue, 20 Dec 2022 20:57:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467389.726461; Tue, 20 Dec 2022 20:57:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jfp-0006dt-On; Tue, 20 Dec 2022 20:57:17 +0000
Received: by outflank-mailman (input) for mailman id 467389;
 Tue, 20 Dec 2022 20:57:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LdMQ=4S=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p7jfp-0006ZF-2I
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 20:57:17 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e215c3cd-80a8-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 21:57:15 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id d14so19233910edj.11
 for <xen-devel@lists.xenproject.org>; Tue, 20 Dec 2022 12:57:15 -0800 (PST)
Received: from [192.168.1.93] (adsl-211.109.242.226.tellas.gr.
 [109.242.226.211]) by smtp.gmail.com with ESMTPSA id
 ee8-20020a056402290800b0046fb9492961sm6129041edb.25.2022.12.20.12.57.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 20 Dec 2022 12:57:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e215c3cd-80a8-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=E6lGkkEISwb8toDrrgrNqqLoyu4+uGtYr4EMbvmMfms=;
        b=FwVk7Z8EF8FL1sywjWrbO+RIvuvY9qGD7DeabLZvtIil0xLpapXH3swWvn3FV0EotY
         3Jaxqfo2EK5Na1Hf5O/Po+3Bon8fPeCP8dOHe/UZr/9/xcKBJL4Y0SNDB6Mw/NW/U9nM
         xCL3Cl+VPDbJazAsx2Ny36MzaVTcOlcv7wANioQfmaRrugP7ANSiI0EQXJUMmLu0p3Ru
         Ep8Bjn3doHaZl5X2/XTPf6Y8Jrct8kqTq26jiHZlpyN9cXsQOLIXU//IbWL7mu0NMiS8
         gToHQW7XhZBxf0XkrbEIjyDioo9FhBscpQoTKt1zqCq90RTkgKsNKrTEeJ9APRf9jNY+
         /gZw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=E6lGkkEISwb8toDrrgrNqqLoyu4+uGtYr4EMbvmMfms=;
        b=ou2huBTuqBjelBYBzyIUV0sJ46H8hfYl+adR0lTa+rmrv+6O0cQ/lGMufuQWyaLJ3K
         2IcMZChCoFWerT1hjlapTtf6XUjB0HCyJOk6nzANyeAlDPidpC6dOQl8Kfg1kRv1kHeL
         b7YbWCxVaJIqGLKpwcjmo9IU1Nu7i4eIgLFa9WcDm5gWH+NRgXiH3xf3XOor7je+xK8D
         0aIcp2gMow/cXL2KCAJlmC9HMsI4C546loVVkwPMOBJ3ln0/GzuuEEIbi9LXTWW0A2mk
         YH3x40mEZ3fWqhOkLjRMIlF88NWMrdHb5ZUdyxzq6Xnq2PGY1wKGlVQs3VEoaMk8ejo2
         lykA==
X-Gm-Message-State: AFqh2kp2fzut0iK9Zy5lHHI/NpaBHVqFht2xQvUaqr2GWkCe1iyP0SOO
	Zh8n9R1EGzT7zDZgviJ7dsf5aWcCl94=
X-Google-Smtp-Source: AMrXdXsA9P/FEmGorhfqoFSGvYrnxqel/eTEq6W7FBlHCspov5xpxpR1+wx+2ARZB4fDXm6DN2uZgw==
X-Received: by 2002:a50:d71d:0:b0:473:bd4:84ba with SMTP id t29-20020a50d71d000000b004730bd484bamr20837777edi.23.1671569835091;
        Tue, 20 Dec 2022 12:57:15 -0800 (PST)
Message-ID: <5d2e2534-5582-6064-d18a-5900a8cb3d59@gmail.com>
Date: Tue, 20 Dec 2022 22:57:13 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [RFC 1/7] x86/iommu: make AMD-Vi and Intel VT-d support
 configurable
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-2-burzalodowa@gmail.com>
 <09997785-ddb0-c464-331c-618349f418f2@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <09997785-ddb0-c464-331c-618349f418f2@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 12/20/22 19:01, Jan Beulich wrote:
> On 19.12.2022 07:34, Xenia Ragiadakou wrote:
>> Currently, for x86 platforms, Xen does not provide to the users any
>> configuration control over the IOMMU support and can only be built with
>> both AMD and Intel IOMMU drivers enabled.
>> However, there are use cases, e.g in safety-critical systems, that require
>> Xen to be able to be configured to exclude unused code. A smaller tailored
>> configuration would help Xen to meet faster certification requirements for
>> individual platforms.
>>
>> Introduce two new Kconfig options, AMD_IOMMU and INTEL_VTD, to allow code
>> specific to each IOMMU technology to be separated and, when not required,
>> stripped. AMD_IOMMU enables IOMMU support for platforms that implement the
>> AMD I/O Virtualization Technology. INTEL_VTD enables IOMMU support for
>> platforms that implement the Intel Virtualization Technology for Directed I/O.
>>
>> Since no functional change is intended regarding the default configuration
>> of an x86 system, both options depend on x86 and default to 'y'.
> 
> But do things also build successfully when one or both options are disabled?
> I have to say that I would be quite surprised if that worked without further
> adjustments. In which case initially these options want to be prompt-less,
> with the prompts only added once 'n' also works.

Without applying the whole series, disabling any of them or both won't 
work. Ok.

> 
> Jan

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 21:01:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 21:01:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467403.726472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jjP-0008HB-Cc; Tue, 20 Dec 2022 21:00:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467403.726472; Tue, 20 Dec 2022 21:00:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jjP-0008H4-99; Tue, 20 Dec 2022 21:00:59 +0000
Received: by outflank-mailman (input) for mailman id 467403;
 Tue, 20 Dec 2022 21:00:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+pxk=4S=citrix.com=prvs=3460f7db1=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p7jjO-0008Gy-EP
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 21:00:58 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 652019d1-80a9-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 22:00:56 +0100 (CET)
Received: from mail-dm6nam11lp2174.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Dec 2022 16:00:54 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA0PR03MB5420.namprd03.prod.outlook.com (2603:10b6:806:b6::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 21:00:50 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 21:00:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 652019d1-80a9-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671570057;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=zogQVdm5zyvoQljLZ3NtoClglJM9hMHtl3Fq2jizJlo=;
  b=fI0SKe7r8fc+2p/q7rGcWAHMpFjZ4y/we2Xb/zJbYrdA7l3QSMKK+Efw
   gznuitEK2zS4ouwSU3nyY855crgDv2fDMm1sH96+vUgggVLZxxp8qBO67
   /DsOy3Y8GlApkgUdJoiILpoNz10ZulUMZdQy96FbVVvMot9EOmSBz3FPM
   c=;
X-IronPort-RemoteIP: 104.47.57.174
X-IronPort-MID: 89356939
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:wOYRQa7T9ibm6JOfxfXIWwxRtP3GchMFZxGqfqrLsTDasY5as4F+v
 mYYW27UOP6LNDT1fYtwbNjk/BhQ6JHUz9I1G1Rtr388Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoR5AeF/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m6
 vxJcx4dTTS4m/+x0JmEG+VqucFgI5y+VG8fkikIITDxK98DGMmGb4CUoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Ok0ooj+SF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNJDT+Dmp6U76LGV7kBPDT8IVBiRnem8r235Vt1yB
 2Av3jV7+MDe82TuFLERRSaQqmOerBcYXNZXDOQS5wSEy66S6AGcbkAGRDNcbN0ttOctWCcnk
 FSOmrvBHTVytJWFRHTb8a2bxRuiNC5QIWIcaCssSQoe/8KlsIw1lgjITNtoDOiylNKdJN3r6
 zWDrSx7i7BNi8cOjvy/5Qqe3G7qoYXVRAko4AmRRnii8g5yeI+iYcqv9ETf6vFDao2eSzFto
 UQ5piRX18hWZbnlqcBHaLxl8G2BjxpdDADhvA==
IronPort-HdrOrdr: A9a23:CPbP/a0fMfC1lP9KlIGOYwqjBLwkLtp133Aq2lEZdPU1SKClfq
 WV98jzuiWatN98Yh8dcLK7WJVoMEm8yXcd2+B4V9qftWLdyQiVxe9ZnO7f6gylNyri9vNMkY
 dMGpIObOEY1GIK7/rH3A==
X-IronPort-AV: E=Sophos;i="5.96,259,1665460800"; 
   d="scan'208";a="89356939"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dv7HWApSRn2/ILkb+6kWrj4SjDSl59r5aa7xorYIQ3xi+4rCuyWsFI8XjZ4mmZPJuAiOtwtbiO1EQ3+2o8XZ9t0y935RRKDv2lV+Jj0rVZf7WxvifUTN2ZtzD1UUrwlNZrG56bi5Oq+WLwZJD+fJBqbEcb5XKyd6iQ39xo13ulAgWZesGJO6DHXr/4UKswPvQmAwDtbBxBEKRvSKtduoClOiu7k8919EGeclwzCliYQQ7zA2TnqpwLBla4aKIK6FErcL9lOkXSdTWwUiUN4gO0tpykVgY0A+OxW1QI7AsfsTlnwBnKWGGReSrW0I9pb+X4Q0zMQZZEE5jncunwV2WQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zogQVdm5zyvoQljLZ3NtoClglJM9hMHtl3Fq2jizJlo=;
 b=Z+da12TnVAKCiSP8/zjih2/u3kQGNmZB96WUBziviB1LsSLxvlwPevTuoa7TdjT5U4XS4JocUlBrE0ItRaFQqabvs66aP+OLxFRdWBAeMDFQ9vV68eoJR9lEyYh5H8q/woOG/gcHxpg2ThINaYS0kGTIu+2MvdG+64CfxrKQQ+w7jT0ERliTsQAIYAa+r9C3CB3ugTUQ0Xduxo6LwUFCnFRdx5ySfEJn26hs1jACuC5ikT+wiSiVfgVIficbUS9ar+Iczo5FnV5VHiNkZZlnNWng8ygYy0aYZOMrMufSth+5aXswNAIhsYGbbzy6MhIVZ6reob4Y/eUCnVlqeFp2CA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zogQVdm5zyvoQljLZ3NtoClglJM9hMHtl3Fq2jizJlo=;
 b=H7vVpaK6F2HEtCKkEZz403mVHIvJMFN4YwvSUz1z5KJ2xT0Z/yAg6dvJaJQDoFw5l0vgjNJwJvvdfXTEmZUk7B99TF0NPcN1BQFgbfMrZJlD2CxvnEDIOqU6B9OChWzkOWM+DTYtNNk039cjmq6SSJXLxYGDPff7f2E6O03uJSE=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Xenia Ragiadakou <burzalodowa@gmail.com>, Jan Beulich <jbeulich@suse.com>
CC: Paul Durrant <paul@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC 1/7] x86/iommu: make AMD-Vi and Intel VT-d support
 configurable
Thread-Topic: [RFC 1/7] x86/iommu: make AMD-Vi and Intel VT-d support
 configurable
Thread-Index: AQHZE3QiiN9xXpyr80S/AFQLoEXg6a53ApeAgABBxYCAAAEBgA==
Date: Tue, 20 Dec 2022 21:00:50 +0000
Message-ID: <e9dbbe9e-78ad-dd3e-039b-3f9aeca3ed36@citrix.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-2-burzalodowa@gmail.com>
 <09997785-ddb0-c464-331c-618349f418f2@suse.com>
 <5d2e2534-5582-6064-d18a-5900a8cb3d59@gmail.com>
In-Reply-To: <5d2e2534-5582-6064-d18a-5900a8cb3d59@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|SA0PR03MB5420:EE_
x-ms-office365-filtering-correlation-id: d3b86861-e78b-4eff-2e46-08dae2cd4654
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 iLOBChFEdHOf0LXbSsTy36bzJuCiFuTLLLOYmb4+vztGPJLma1Fu+NW79+X1/3owOf9hwKeEIdEsqOu37uNTELzzfUs5L+dv/+aagtmnqiDC69qMDSZcHd0tw53W54Tc6+HmhhmK50aClhBdTUVeeTCYR/jnz7GWkaOQPomvhSHuUJkrbshfvg8KaV5wpZ38r95SKQifhphHbC8RBsR/p2o2l8uNbp0GuEvdyBhwkSlxk870vOBEQsgH6TIJV3wK79olvMyG5bdrDkPrWAs7HXGneWS7BlNCWFbsFzFvvxJ5FfDlqMUbtqI2WcNHKxvn5M+IeWjNddphyZqXbXYrcFB9ooYAfldQkuDlClfIrWkq1Jh5GPmsXZTsaNyfO2wX4L7CDI0lOni+5o205j3mobM43RTwHZqX15UeMBDPcjRP3tdHqmCHfiTZk2dd8avvvqSKz4YfMqrfZ9rkNLIx32yLSO8ud33915LBHSWA6S61vtdToUeGGYDePSBMfjij2XTG9lOjiGneMOMlnbO5nJBhRNXhwknfLC5ttgXk1w3ouGyCN0qfD/+imODumInpTDioPV0HH1dB6JS5yEG2B1z/sMxUJEYo1ZnWUN96STVrHnLHdLF7rk/+qwhVasxYxdfO+x3WuIj4SR3Mg3UmTBwuX8S0m/FpVDWyIlyOB0/2diLSOZNawSB1VUAefZUITI/8hviEtyeV17Vd5Fw14VyagRR0qlTuAvq1iRO3NvEGl5sTQP7/45xYmQdB92YsiPv2h7H1qP0QiBa9LeHKpg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(376002)(39860400002)(136003)(366004)(396003)(451199015)(64756008)(66446008)(5660300002)(66476007)(66556008)(8676002)(4326008)(41300700001)(2906002)(54906003)(76116006)(66946007)(91956017)(31686004)(110136005)(6486002)(478600001)(71200400001)(6506007)(186003)(26005)(6512007)(53546011)(2616005)(83380400001)(38100700002)(82960400001)(8936002)(316002)(38070700005)(122000001)(31696002)(36756003)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?S3VqOEU3V05lRU5odlVrVUgyOEdBcU1yR0hkNFAyUU9Hd0VzV2lqUkM0ZDJ3?=
 =?utf-8?B?emhiVVdqRmtCTkQ0bnJON2k1OGNzQTJ6YjhHK1NRNFBaTVo4UlJVQmt5MlVR?=
 =?utf-8?B?QnNVdFJTTnR0LzRuS1BkdDZGR2JYSXp6MGU3TWJWNi9Tb3pxcDZjNFlrNURu?=
 =?utf-8?B?WWliZXBQSDU3TW5La3pNNlFTbEJXVzNZWjg3YjkrTkEwS0U3a1FZYUpDdDRD?=
 =?utf-8?B?d2ZrbDZCU0hyRHBVRzFLc3pGSHhUQStobVpMRUtSd0lHODNud1NyOTA2ZEFh?=
 =?utf-8?B?OXJCdmthM1V3YzUxRzJHV1VzaUtwSGNHejJMREVRQ3ZuSVhKKzA5cmpiNTBn?=
 =?utf-8?B?VC9QclZTcUMzSTdPaHdvd2hlRHVlOCt1SUNKL0lJT0JoTmRWUFhCWDhkMTlm?=
 =?utf-8?B?Z3JRYmFUdHZDKzlxWFV5aUVmS0s5UHVqbWNRVVNuM3pZWC9TNXNJMGEwRDk5?=
 =?utf-8?B?RGRhZVNJalMxSEkzODZiZDdrb3czcEhyZzFZY0U0WHVHNW5pOUZOKzJuamJk?=
 =?utf-8?B?ZHk4N2tQRDBJUmh1cjVGL2w5T3ZTT3RFcFJqcTRIMVdubXdObnJuQm4vUU44?=
 =?utf-8?B?anhvMEFnc3NlaElzblJHdndpSGNEdDltTSt5cU9kdysxc3lZRi9Da2w3b0U0?=
 =?utf-8?B?eUVzN2xEM21SdU9RWm9HUXc2ampXOVRVSW1mZ2V2b0Nza3BEMS9VZGdWV0NW?=
 =?utf-8?B?MGFyOG1KM25JdGlzR3JTQ3VPdk1uUE13R3lBdk4vQlpvRFNhcXMrNk90QThP?=
 =?utf-8?B?Yk55RVliUU90Um5yM1cweDZMbVE4SXVhTXd4WGZWTVlwR2laNmIwVGpVL3V5?=
 =?utf-8?B?cTVOdWFaT0ZGeW1IeTUzcWY5ZHd2alQ2cVBTTG03aFhqR09VUmdESU4vcjFR?=
 =?utf-8?B?dTllR041aXY3elZiekNaUzZNd1F1M0hmZVpZUldEcXVJOXRvbHJUUlhUcnpa?=
 =?utf-8?B?VmQ1bzNGOG1ZcUpiODg0WjNaNjZaaVlDWFNqQm5pdDRTYVl4UnczL3Y3Szha?=
 =?utf-8?B?WlBsWmJPNXRvdDZwa0xqdlNzMmRNM0FUcWxiaTAzOTYrSTJVSUtEZEZIQVRG?=
 =?utf-8?B?eUNjOGQzaW1HOWpQMXh3VE9uaXBVU0E1R1duUHdTZ1RmRXBBMDBuOWJCUjlB?=
 =?utf-8?B?bk0zL2wwSzdwNFltYWJnSE1seTJQaTBFQmRhVzErTzFyZFNIeTJPYWVHN1F2?=
 =?utf-8?B?eVJlZzdUTTBpZUl3UUxrRTZUK1ZpbDdESGRyWnNDaGxvRlRFQjBWeEJLOGFQ?=
 =?utf-8?B?SngvTUFvbGNZelJvaS8vTE9zWWhJTHpsTHUrSjdqTG9YanV2Zm5EZS9nelJm?=
 =?utf-8?B?UWRFU29kOEtJSCt1ZXVaYW1rZXk2bE5qekFLUkp2Q3V1NklaYkhacnRrbW1R?=
 =?utf-8?B?eFVVV0FhaWxFUzAzZDg3cHl3Um5VSkpZMDQrcGMvK2E0YUU2bEs5ZXFTeDBw?=
 =?utf-8?B?ZnZxNkJvSERHdUFzaHhtcWhHdHRJemZ4aHJtVEg3cGhkbm1iZ2VTTGNKQXZ2?=
 =?utf-8?B?NXRocDNGTXBNb0RaeEd3NmQxYy8vRHdDMi95NUVxdFdQR0ErZnhyUWQ2VllB?=
 =?utf-8?B?Mi92em4vZnAwSWM2V0FKeUhLc2paSzZvM3R4eGlBYitJYnlpWjZ5cDltVEpI?=
 =?utf-8?B?RS9TWHRxb1J6YzI3b1loenFWVHZKQUNVSE1Wb3lYTHhKOG5YbHJIVEFkVS9p?=
 =?utf-8?B?eEtvZFd6c2txVVJPL3JLN293M3JQR1Nub3NGSGhTOUlmY085Q2ZpSEZaZm9w?=
 =?utf-8?B?RjA1bDBYbFBRd0xwQ0diQkhMYW9oa0NseldIb2xRNENaRjAxNVBHUVpQYjRC?=
 =?utf-8?B?T0JsRThiRytvcUV2NGhkVTBkdldSWkFxNU5GdXJjbmZQdkhBSnBRR0JXbWVz?=
 =?utf-8?B?VmtnRG9rTFNaNmI5Zk9aTzhnKzlFYjVWTWw3b3lnZnV5TmRVSXkyWGZ3Znh6?=
 =?utf-8?B?ZkwwOWtzQk51cm0wSXFDbm5ud255ZEt5L1RQUjYyTzMxTFl3MW5WM3JnUVZH?=
 =?utf-8?B?L0ZYVFdMZXBxV3FUYmxVR0tVY21rM3FmYmdkRXVKeHlCOWc5bHJTbzN0WEJQ?=
 =?utf-8?B?c2xTVUxyN1I4T1BpQXhsUkxVZmZFWGllTnhqU2RsL2VmeWVzMDcxM0FHSEJk?=
 =?utf-8?Q?BT8idn4zXBcsVUBKURrj17zgC?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7ED09F86102248449350804F039F374B@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d3b86861-e78b-4eff-2e46-08dae2cd4654
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2022 21:00:50.2285
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 1u6h/mpmZnieSU3LMdHn/bXIZYQtsIaO0UMMgq6VC/caup5ZzUIDY18RiCj+Sm4MqbFN8oD1x5fb02G2baF4peAectIVcbtluNQ7ZfQTwAc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5420

T24gMjAvMTIvMjAyMiA4OjU3IHBtLCBYZW5pYSBSYWdpYWRha291IHdyb3RlOg0KPg0KPiBPbiAx
Mi8yMC8yMiAxOTowMSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+PiBPbiAxOS4xMi4yMDIyIDA3OjM0
LCBYZW5pYSBSYWdpYWRha291IHdyb3RlOg0KPj4+IEN1cnJlbnRseSwgZm9yIHg4NiBwbGF0Zm9y
bXMsIFhlbiBkb2VzIG5vdCBwcm92aWRlIHRvIHRoZSB1c2VycyBhbnkNCj4+PiBjb25maWd1cmF0
aW9uIGNvbnRyb2wgb3ZlciB0aGUgSU9NTVUgc3VwcG9ydCBhbmQgY2FuIG9ubHkgYmUgYnVpbHQg
d2l0aA0KPj4+IGJvdGggQU1EIGFuZCBJbnRlbCBJT01NVSBkcml2ZXJzIGVuYWJsZWQuDQo+Pj4g
SG93ZXZlciwgdGhlcmUgYXJlIHVzZSBjYXNlcywgZS5nIGluIHNhZmV0eS1jcml0aWNhbCBzeXN0
ZW1zLCB0aGF0DQo+Pj4gcmVxdWlyZQ0KPj4+IFhlbiB0byBiZSBhYmxlIHRvIGJlIGNvbmZpZ3Vy
ZWQgdG8gZXhjbHVkZSB1bnVzZWQgY29kZS4gQSBzbWFsbGVyDQo+Pj4gdGFpbG9yZWQNCj4+PiBj
b25maWd1cmF0aW9uIHdvdWxkIGhlbHAgWGVuIHRvIG1lZXQgZmFzdGVyIGNlcnRpZmljYXRpb24N
Cj4+PiByZXF1aXJlbWVudHMgZm9yDQo+Pj4gaW5kaXZpZHVhbCBwbGF0Zm9ybXMuDQo+Pj4NCj4+
PiBJbnRyb2R1Y2UgdHdvIG5ldyBLY29uZmlnIG9wdGlvbnMsIEFNRF9JT01NVSBhbmQgSU5URUxf
VlRELCB0byBhbGxvdw0KPj4+IGNvZGUNCj4+PiBzcGVjaWZpYyB0byBlYWNoIElPTU1VIHRlY2hu
b2xvZ3kgdG8gYmUgc2VwYXJhdGVkIGFuZCwgd2hlbiBub3QNCj4+PiByZXF1aXJlZCwNCj4+PiBz
dHJpcHBlZC4gQU1EX0lPTU1VIGVuYWJsZXMgSU9NTVUgc3VwcG9ydCBmb3IgcGxhdGZvcm1zIHRo
YXQNCj4+PiBpbXBsZW1lbnQgdGhlDQo+Pj4gQU1EIEkvTyBWaXJ0dWFsaXphdGlvbiBUZWNobm9s
b2d5LiBJTlRFTF9WVEQgZW5hYmxlcyBJT01NVSBzdXBwb3J0IGZvcg0KPj4+IHBsYXRmb3JtcyB0
aGF0IGltcGxlbWVudCB0aGUgSW50ZWwgVmlydHVhbGl6YXRpb24gVGVjaG5vbG9neSBmb3INCj4+
PiBEaXJlY3RlZCBJL08uDQo+Pj4NCj4+PiBTaW5jZSBubyBmdW5jdGlvbmFsIGNoYW5nZSBpcyBp
bnRlbmRlZCByZWdhcmRpbmcgdGhlIGRlZmF1bHQNCj4+PiBjb25maWd1cmF0aW9uDQo+Pj4gb2Yg
YW4geDg2IHN5c3RlbSwgYm90aCBvcHRpb25zIGRlcGVuZCBvbiB4ODYgYW5kIGRlZmF1bHQgdG8g
J3knLg0KPj4NCj4+IEJ1dCBkbyB0aGluZ3MgYWxzbyBidWlsZCBzdWNjZXNzZnVsbHkgd2hlbiBv
bmUgb3IgYm90aCBvcHRpb25zIGFyZQ0KPj4gZGlzYWJsZWQ/DQo+PiBJIGhhdmUgdG8gc2F5IHRo
YXQgSSB3b3VsZCBiZSBxdWl0ZSBzdXJwcmlzZWQgaWYgdGhhdCB3b3JrZWQgd2l0aG91dA0KPj4g
ZnVydGhlcg0KPj4gYWRqdXN0bWVudHMuIEluIHdoaWNoIGNhc2UgaW5pdGlhbGx5IHRoZXNlIG9w
dGlvbnMgd2FudCB0byBiZQ0KPj4gcHJvbXB0LWxlc3MsDQo+PiB3aXRoIHRoZSBwcm9tcHRzIG9u
bHkgYWRkZWQgb25jZSAnbicgYWxzbyB3b3Jrcy4NCj4NCj4gV2l0aG91dCBhcHBseWluZyB0aGUg
d2hvbGUgc2VyaWVzLCBkaXNhYmxpbmcgYW55IG9mIHRoZW0gb3IgYm90aCB3b24ndA0KPiB3b3Jr
LiBPay4NCg0KVG8gZG8gYSBtdWx0aS1zdGVwIGltcGxlbWVudGF0aW9uLCB5b3Ugc3RhcnQgd2l0
aA0KDQpjb25maWcgRk9PDQrCoMKgwqAgYm9vbCB5DQoNCnRoZW4gcmVhcnJhbmdlIHRoZW0gbWFp
biBjb2RlIHRvIHVzZSBDT05GSUdfRk9PIGFzIGFwcHJvcHJpYXRlLCB0aGVuDQpoYXZlIGEgZmlu
YWwgcGF0Y2ggdGhhdCBhZGRzIGEgS2NvbmZpZyBuYW1lLCBoZWxwIHRleHQsIGV0YyB3aGljaCBp
cw0Kd2hhdCBtYWtlcyB0aGUgY29uZmlnIG9wdGlvbiB1c2VyIHNlbGVjdGFibGUgYW5kIGFibGUg
dG8gYmUgdHVybmVkIG9mZi4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 21:01:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 21:01:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467405.726483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jjo-0000Fp-JG; Tue, 20 Dec 2022 21:01:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467405.726483; Tue, 20 Dec 2022 21:01:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7jjo-0000Fi-Gf; Tue, 20 Dec 2022 21:01:24 +0000
Received: by outflank-mailman (input) for mailman id 467405;
 Tue, 20 Dec 2022 21:01:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LdMQ=4S=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p7jjn-0008Gy-Ib
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 21:01:23 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75684413-80a9-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 22:01:22 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id fc4so32098766ejc.12
 for <xen-devel@lists.xenproject.org>; Tue, 20 Dec 2022 13:01:22 -0800 (PST)
Received: from [192.168.1.93] (adsl-211.109.242.226.tellas.gr.
 [109.242.226.211]) by smtp.gmail.com with ESMTPSA id
 et8-20020a170907294800b007ae10525550sm6082306ejc.47.2022.12.20.13.01.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 20 Dec 2022 13:01:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75684413-80a9-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=+UUsYz7VuCytGkcJs6pGMYhLhP/E8MM3+N26XUw/Pf4=;
        b=aE8CtSHQTvHME8SdV5kRFXNhYyCt8Ec2l2nIt77T09Ms1ldZw9jU1VKCOqHf4ukMmF
         0BSornBWpredDeX9p75upvUILoD+8GvTndYKhRTTh+YFNBkczEFE9yIXQPlIxKnf00dZ
         nM9+9WhbC8DYCzcSuuatx6CBUpOPxWW6Ir3WKSnmMdnWAGGWEGRMGOMHDZwP0mt5JWuv
         aUHjxp0o1rvAVWXCCdL6NXvieYfTGKlJ4M0qhMOmqiIaFQc5S+h5K7xJwpHhFS/f9aUh
         RD0A3Ogk7+pmiRV1FMNCCsKMNmoOaycyujW29j6/U5fwzrhi+U3ggLa3W0vlnfiKd0pl
         LcEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=+UUsYz7VuCytGkcJs6pGMYhLhP/E8MM3+N26XUw/Pf4=;
        b=amUrsrOtIydF2+CmmwpxvlwWjPMRcTJQBBIAvhv3qAKy9SQGTOhgnOQmRqV56C/jQI
         7HTBCNrOpusjZkYpk9P1Y/NGnR32xttplqtEzLlcEDzQ1tDNx9jdMbNJRAQzhGbiCWQR
         oWKMTQbzPKPtfdcY9IiIaosKO36scEYxREgnYvPWWmR9FjWEe7AMkUqn0owbqX0cde9v
         cCHhiGcL5ewCn76vgWpYOzKP1jR6wBkTgDIyOds+kiY1XJjrn8C9TvywYjA404P+pSuB
         A6fx+XHLNn5igGkk1OPM2FLfNqLj3WqcsJbKrbtE2swM4xSNs3eYuMTa8RqQ/znh1305
         xmeQ==
X-Gm-Message-State: ANoB5pmUvcvtjRVL6u+e5FThRBNj9rddqKeACKrnYUPPxBrdymN3CPAo
	Y5Q5F29Fi4JjuwyRDAjQOTY=
X-Google-Smtp-Source: AA0mqf7LlSASWE2oND7994lxpb5B8eq7u8jXSRaxsVt5lF5nJkTLP8Qdkm2eLPeH93+MIFTJgDdo9w==
X-Received: by 2002:a17:906:f10b:b0:7c1:727c:5f70 with SMTP id gv11-20020a170906f10b00b007c1727c5f70mr27593178ejb.46.1671570082387;
        Tue, 20 Dec 2022 13:01:22 -0800 (PST)
Message-ID: <723652e1-ddee-e411-83c4-0837e9947591@gmail.com>
Date: Tue, 20 Dec 2022 23:01:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [RFC 2/7] x86/iommu: amd_iommu_perdev_intremap is AMD-Vi specific
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-3-burzalodowa@gmail.com>
 <4a2e34e9-32e7-1fac-0ecb-7cf084a06a3c@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <4a2e34e9-32e7-1fac-0ecb-7cf084a06a3c@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 12/20/22 19:04, Jan Beulich wrote:
> On 19.12.2022 07:34, Xenia Ragiadakou wrote:
>> Move its definition to the AMD-Vi driver and use CONFIG_AMD_IOMMU
>> to guard its usage in common code.
>>
>> Take the opportunity to replace bool_t with bool and 1 with true.
> 
> Please further take the opportunity and use ...
> 
>> --- a/xen/drivers/passthrough/amd/iommu_init.c
>> +++ b/xen/drivers/passthrough/amd/iommu_init.c
>> @@ -36,6 +36,8 @@ static struct radix_tree_root ivrs_maps;
>>   LIST_HEAD_READ_MOSTLY(amd_iommu_head);
>>   bool_t iommuv2_enabled;
>>   
>> +bool __read_mostly amd_iommu_perdev_intremap = true;
> 
> ... __ro_after_init here.
> 
>> --- a/xen/include/xen/iommu.h
>> +++ b/xen/include/xen/iommu.h
>> @@ -104,7 +104,9 @@ static inline void clear_iommu_hap_pt_share(void)
>>   }
>>   
>>   extern bool_t iommu_debug;
>> -extern bool_t amd_iommu_perdev_intremap;
>> +#ifdef CONFIG_AMD_IOMMU
>> +extern bool amd_iommu_perdev_intremap;
>> +#endif
> 
> We try to avoid such #ifdef-ary: There's no real harm from the declaration
> being in scope; in the worst case the build will fail not at the compile,
> but at the linking stage.

That's true. I will leave it as it is.

> 
> Jan

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 21:28:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 21:28:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467422.726493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7k9y-00038U-Ll; Tue, 20 Dec 2022 21:28:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467422.726493; Tue, 20 Dec 2022 21:28:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7k9y-00038N-J9; Tue, 20 Dec 2022 21:28:26 +0000
Received: by outflank-mailman (input) for mailman id 467422;
 Tue, 20 Dec 2022 21:28:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=LdMQ=4S=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p7k9x-00038H-IQ
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 21:28:25 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b473ec6-80ad-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 22:28:23 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id d14so19342078edj.11
 for <xen-devel@lists.xenproject.org>; Tue, 20 Dec 2022 13:28:23 -0800 (PST)
Received: from [192.168.1.93] (adsl-139.109.242.138.tellas.gr.
 [109.242.138.139]) by smtp.gmail.com with ESMTPSA id
 w24-20020aa7dcd8000000b004723db864a8sm6125673edu.60.2022.12.20.13.28.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 20 Dec 2022 13:28:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b473ec6-80ad-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WXU/oAahfAcs5ocvzJUCWKOq45urGM5fl0FVh2v0FVM=;
        b=L+kBay6DlqBt8nUr7zX146jv+tEkB7SgGnfHRB/wbo19vWK1CqnAGafDhK5hfOeQjX
         SFZAAGP80F9F6Avk93mbMYdYdMBoh5pchWgYSNEu4zN3FyWkaBUZl8zHGQ8fi8PG6oRw
         730K2SGRvcIMLp738i+hyiKrK1+1ur5RsN/r08ha6U9TtiP9KO/etQd1jQ8DuORgFvDj
         2qanTsLycaCpK2KjAaFo0ipvGNnPvYNsHizf2MqUpz0449mVPLHsCSM74LjqfE7Ad/V1
         KNA3NuoG0dvgTJqJFPfg04Wgy9wXW7QsQkwvaYwcQoACFwleqqP9QTNN1dXyhlKpvXXJ
         P0Gw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=WXU/oAahfAcs5ocvzJUCWKOq45urGM5fl0FVh2v0FVM=;
        b=QZ0zx5JOJTxoewTrZZm23UDzn6bBWPxwuy93lDIlVFAd37r1c4wzRAZtbvmBB5UFf9
         fgkp37u5h5mKJ3yuUaV9rvA4C8GAyi1x7pWJNbbgsgNfFkjn1WqYYfugBCIY+YJ0u6j9
         KPQG3rDaGHq0YyoO/ebhcUFCuVgDVHQymiSu3QHmn5bludg+bhNCVjgvML6ZNBzoB5i7
         8W4nPFeJis/ZX69BYziiBfHYUChH9aEGnFETd8u6CyW34LUiAmlnR5STUjFt6yU6RKcB
         nIt/u+3IsCPmZ2wHCE8e5/qT5unJ81DhDlevOckcItro0FMXCUWwSrl2OSJycXdcq+P3
         Yawg==
X-Gm-Message-State: AFqh2kqTnfWAvMGNzkaqQOVi3JrfgVEzLFpItyn55c77YxtVAC+6S72q
	t/CYKweTbSQRmdwsXCcULw9Vgm9ci/A=
X-Google-Smtp-Source: AMrXdXt20EE36sb4DPqthcI5Rf9+6Z2b06pM1HGPDK2yWUrrazz4v/iz+euylIO0cca/U0aRnnf3EQ==
X-Received: by 2002:a05:6402:916:b0:47a:9aef:8841 with SMTP id g22-20020a056402091600b0047a9aef8841mr3678379edz.36.1671571702829;
        Tue, 20 Dec 2022 13:28:22 -0800 (PST)
Message-ID: <dc04a258-865f-7e78-52bd-a3468bb3ea48@gmail.com>
Date: Tue, 20 Dec 2022 23:28:20 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [RFC 1/7] x86/iommu: make AMD-Vi and Intel VT-d support
 configurable
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-2-burzalodowa@gmail.com>
 <09997785-ddb0-c464-331c-618349f418f2@suse.com>
 <5d2e2534-5582-6064-d18a-5900a8cb3d59@gmail.com>
 <e9dbbe9e-78ad-dd3e-039b-3f9aeca3ed36@citrix.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <e9dbbe9e-78ad-dd3e-039b-3f9aeca3ed36@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 12/20/22 23:00, Andrew Cooper wrote:
> On 20/12/2022 8:57 pm, Xenia Ragiadakou wrote:
>>
>> On 12/20/22 19:01, Jan Beulich wrote:
>>> On 19.12.2022 07:34, Xenia Ragiadakou wrote:
>>>> Currently, for x86 platforms, Xen does not provide to the users any
>>>> configuration control over the IOMMU support and can only be built with
>>>> both AMD and Intel IOMMU drivers enabled.
>>>> However, there are use cases, e.g in safety-critical systems, that
>>>> require
>>>> Xen to be able to be configured to exclude unused code. A smaller
>>>> tailored
>>>> configuration would help Xen to meet faster certification
>>>> requirements for
>>>> individual platforms.
>>>>
>>>> Introduce two new Kconfig options, AMD_IOMMU and INTEL_VTD, to allow
>>>> code
>>>> specific to each IOMMU technology to be separated and, when not
>>>> required,
>>>> stripped. AMD_IOMMU enables IOMMU support for platforms that
>>>> implement the
>>>> AMD I/O Virtualization Technology. INTEL_VTD enables IOMMU support for
>>>> platforms that implement the Intel Virtualization Technology for
>>>> Directed I/O.
>>>>
>>>> Since no functional change is intended regarding the default
>>>> configuration
>>>> of an x86 system, both options depend on x86 and default to 'y'.
>>>
>>> But do things also build successfully when one or both options are
>>> disabled?
>>> I have to say that I would be quite surprised if that worked without
>>> further
>>> adjustments. In which case initially these options want to be
>>> prompt-less,
>>> with the prompts only added once 'n' also works.
>>
>> Without applying the whole series, disabling any of them or both won't
>> work. Ok.
> 
> To do a multi-step implementation, you start with
> 
> config FOO
>      bool y

Here, I think you mean def_bool y

> 
> then rearrange them main code to use CONFIG_FOO as appropriate, then
> have a final patch that adds a Kconfig name, help text, etc which is
> what makes the config option user selectable and able to be turned off.

Thank you both, for pointing that out. I will fix it.

> 
> ~Andrew

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 21:51:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 21:51:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467433.726505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7kVh-0006bm-LT; Tue, 20 Dec 2022 21:50:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467433.726505; Tue, 20 Dec 2022 21:50:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7kVh-0006bf-Hj; Tue, 20 Dec 2022 21:50:53 +0000
Received: by outflank-mailman (input) for mailman id 467433;
 Tue, 20 Dec 2022 21:50:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7kVg-0006bZ-E9
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 21:50:52 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7kVf-0005QM-81; Tue, 20 Dec 2022 21:50:51 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.102])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7kVf-0004C6-2w; Tue, 20 Dec 2022 21:50:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=1g3FsrCcb68AjS+4yz7l7xGavY9EW+RgvWgOt0XzXKA=; b=tDh3o1I07SmHY9SAgV6uQr/MA0
	xB0B9za1svNo5sswtgF/SDJCABNaFLBxZQYnQJLkMQDAGbkv4I7Nq2CWOTro5H3mEYYkO1zZxl9y5
	lqfzE/rjIBvWaoYfCpwMK/XCjN9indkXLTHA9P2OPCEdP5hZQEJz22Hr6G1mtJUAf8ps=;
Message-ID: <b7cfd35b-97ef-42eb-eceb-7f07cd72268c@xen.org>
Date: Tue, 20 Dec 2022 21:50:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20221213160045.28170-1-jgross@suse.com>
 <20221213160045.28170-16-jgross@suse.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v2 15/19] tools/xenstore: switch hashtable to use the
 talloc framework
In-Reply-To: <20221213160045.28170-16-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 13/12/2022 16:00, Juergen Gross wrote:
> @@ -115,47 +117,32 @@ hashtable_expand(struct hashtable *h)
>       if (h->primeindex == (prime_table_length - 1)) return 0;
>       newsize = primes[++(h->primeindex)];
>   
> -    newtable = (struct entry **)calloc(newsize, sizeof(struct entry*));
> -    if (NULL != newtable)
> +    newtable = talloc_realloc(h, h->table, struct entry *, newsize);
> +    if (!newtable)
>       {
> -        /* This algorithm is not 'stable'. ie. it reverses the list
> -         * when it transfers entries between the tables */
> -        for (i = 0; i < h->tablelength; i++) {
> -            while (NULL != (e = h->table[i])) {
> -                h->table[i] = e->next;
> -                index = indexFor(newsize,e->h);
> +        h->primeindex--;
> +        return 0;
> +    }
> +
> +    h->table = newtable;
> +    memset(newtable + h->tablelength, 0,
> +           (newsize - h->tablelength) * sizeof(*newtable));
> +    for (i = 0; i < h->tablelength; i++) {

I understand this code is taken from the realloc path. However, isn't 
this algorithm also not stable? If so, then I think we move the comment 
here.

> +        for (pE = &(newtable[i]), e = *pE; e != NULL; e = *pE) {
> +            index = indexFor(newsize,e->h);

Missing space after ",".

> +            if (index == i)
> +            {
> +                pE = &(e->next);
> +            }
> +            else
> +            {
> +                *pE = e->next;
>                   e->next = newtable[index];
>                   newtable[index] = e;
>               }
>           }
> -        free(h->table);
> -        h->table = newtable;
> -    }
> -    /* Plan B: realloc instead */
> -    else
> -    {
> -        newtable = (struct entry **)
> -                   realloc(h->table, newsize * sizeof(struct entry *));
> -        if (NULL == newtable) { (h->primeindex)--; return 0; }
> -        h->table = newtable;
> -        memset(newtable + h->tablelength, 0,
> -               (newsize - h->tablelength) * sizeof(*newtable));
> -        for (i = 0; i < h->tablelength; i++) {
> -            for (pE = &(newtable[i]), e = *pE; e != NULL; e = *pE) {
> -                index = indexFor(newsize,e->h);
> -                if (index == i)
> -                {
> -                    pE = &(e->next);
> -                }
> -                else
> -                {
> -                    *pE = e->next;
> -                    e->next = newtable[index];
> -                    newtable[index] = e;
> -                }
> -            }
> -        }
>       }
> +
>       h->tablelength = newsize;
>       h->loadlimit   = (unsigned int)
>           (((uint64_t)newsize * max_load_factor) / 100);
> @@ -184,7 +171,7 @@ hashtable_insert(struct hashtable *h, void *k, void *v)
>            * element may be ok. Next time we insert, we'll try expanding again.*/
>           hashtable_expand(h);
>       }
> -    e = (struct entry *)calloc(1, sizeof(struct entry));
> +    e = talloc_zero(h, struct entry);
>       if (NULL == e) { --(h->entrycount); return 0; } /*oom*/
>       e->h = hash(h,k);
>       index = indexFor(h->tablelength,e->h);
> @@ -238,8 +225,8 @@ hashtable_remove(struct hashtable *h, void *k)
>               h->entrycount--;
>               v = e->v;
>               if (h->flags & HASHTABLE_FREE_KEY)
> -                free(e->k);
> -            free(e);
> +                talloc_free(e->k);
> +            talloc_free(e);
>               return v;
>           }
>           pE = &(e->next);
> @@ -280,25 +267,20 @@ void
>   hashtable_destroy(struct hashtable *h)
>   {
>       unsigned int i;
> -    struct entry *e, *f;
> +    struct entry *e;
>       struct entry **table = h->table;
>   
>       for (i = 0; i < h->tablelength; i++)
>       {
> -        e = table[i];
> -        while (NULL != e)
> +        for (e = table[i]; e; e = e->next)
>           {
> -            f = e;
> -            e = e->next;
>               if (h->flags & HASHTABLE_FREE_KEY)
> -                free(f->k);
> +                talloc_free(e->k);
>               if (h->flags & HASHTABLE_FREE_VALUE)
> -                free(f->v);
> -            free(f);

AFAIU, the loop is reworked so you let talloc to free each element with 
the parent. Using a while loop is definitely cleaner, but now you will 
end up to have two separate loop for the elements.

There is a risk that the overall performance of hashtable_destroy() will 
be worse as the data accessed in one loop may not fit in the cache. So 
you will have to reload it on the second loop.

Therefore, I think it would be better to keep the loop as-is.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 22:17:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 22:17:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467442.726516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7kvS-0001A9-Ne; Tue, 20 Dec 2022 22:17:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467442.726516; Tue, 20 Dec 2022 22:17:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7kvS-0001A2-Ku; Tue, 20 Dec 2022 22:17:30 +0000
Received: by outflank-mailman (input) for mailman id 467442;
 Tue, 20 Dec 2022 22:17:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=/Sht=4S=riversideresearch.org=rsmith@srs-se1.protection.inumbo.net>)
 id 1p7kvR-00019u-4q
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 22:17:29 +0000
Received: from USG02-BN3-obe.outbound.protection.office365.us
 (mail-bn3usg02on0096.outbound.protection.office365.us [23.103.208.96])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1551b270-80b4-11ed-8fd4-01056ac49cbb;
 Tue, 20 Dec 2022 23:17:27 +0100 (CET)
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:185::22)
 by BN0P110MB1626.NAMP110.PROD.OUTLOOK.COM (2001:489a:200:185::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Tue, 20 Dec
 2022 22:17:24 +0000
Received: from BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::7d1a:38ca:bcf2:5e90]) by BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
 ([fe80::7d1a:38ca:bcf2:5e90%5]) with mapi id 15.20.5924.016; Tue, 20 Dec 2022
 22:17:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1551b270-80b4-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none;
 b=uK7i8jwP05Jw3j0FEPspgI+S54/KM0puIG0uZtz8N/hbmtOnTw3vlLJ3FTTIzCK5iOI4Qz2ShRFit4vZAD/TQPQAhMgQWWXLI6r1222x5XW12bJ3j7EoTxOZnJTcEnjZQ8QOd9I8/Z4TkdLnDIweC6/FG9hZ/ahnSPHoNvKA0voZKTh81e1xIG+avCb4oN0HRY9UTrp5LcVwMfNEuyq0szp8UPzqbfaktaQcXgV0iNe1s5mOUK4xMCxPB9MQGTCgrG3/JYE9Z4VOlvsS2+5kIaPzBZDXJcVbspbOtszB4WZ5iixy2GvkLWzRmf6fm7emmcRKfBlcxPktFXmPh0D/mQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector5401;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xAHp56z8TD7h6ciKrrLAGlK/WSWsiBoUJ6MeMG0xCKs=;
 b=f3R1pDr+BvmYxfd9v1PkVSHWsgjOwfpGbaGMFEIlbVj4WrmiVT+Rfl1E4cQyiQk96jFLnRtTUQxFnATYd9tvP5+ShmnpLRUp56/6GOu0NvSvC6n/BJ4Lo4O9iVaCaiXriLkKtkA7+Oz3gTqn4AhdoUNBcXc4axcSBm+4LId4na5vBWlj4pWzQOkfkkkcZf8Qm44Emrg/c0LrPMlw+SwdQTnQezTb2VE6xqR8s45BEuvqD5RZI+DbIbQNSg/Ycsn62i2qD86j5+D9WdCaPdRWAOvkjWKyAQ0x73JkbtCJ6MPqnKGkWPdlpyQiGxeYtiJMbgtpMWvO5dNvvAyc9hTPGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=riversideresearch.org; dmarc=pass action=none
 header.from=riversideresearch.org; dkim=pass header.d=riversideresearch.org;
 arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riversideresearch.org;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xAHp56z8TD7h6ciKrrLAGlK/WSWsiBoUJ6MeMG0xCKs=;
 b=qlpumN7WRORgb5ZLrz3MaaElfNfsoLg0ORsrVCRSBC9l2DgRsUO4zWuA5D1VfzOEVf8bmvtk7TLJ3S/JV79WY5D3og3X21hyfDzQRL/pXGfduLCg3GPYtjC1wubFJSkyJ/7HlQoq9sHjQ4dhC3+vyKukF3wnEGS3hRPANwozePhZrO6sa4XFS11LvEREj2PWJBs4r5N2/KAXHbIiPdTp5Y0+OIva2sKUJTSWTypcX8p9c4oF9pmder0rULpvdk2FwFN0CUEp7Tl/bt38AO9eJK6H9P7rEl/m708U8NJKWgJsFNp7YwT3KqxexA8SaHR7yU+cNGlgW/LSiFZSYXe9lQ==
From: "Smith, Jackson" <rsmith@RiversideResearch.org>
To: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
CC: "Brookes, Scott" <sbrookes@RiversideResearch.org>, Xen-devel
	<xen-devel@lists.xenproject.org>, "bertrand.marquis@arm.com"
	<bertrand.marquis@arm.com>, "jbeulich@suse.com" <jbeulich@suse.com>, Andrew
 Cooper <andrew.cooper3@citrix.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"demi@invisiblethingslab.com" <demi@invisiblethingslab.com>, "Daniel P.
 Smith" <dpsmith@apertussolutions.com>, "christopher.w.clark@gmail.com"
	<christopher.w.clark@gmail.com>
Subject: RE: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Thread-Topic: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Thread-Index:
 AQHZDyrHUdSstfue4UmxiTJ0hoNsoq5sTCAAgAEyh+CAAgQ1gIAAPyEAgABzUoCAAHc3IA==
Date: Tue, 20 Dec 2022 22:17:24 +0000
Message-ID:
 <BN0P110MB16429FF1A9FF3507A684C5B2CFEA9@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
References:
 <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
 <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
 <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop>
 <7a7a7156-138d-a53c-fb65-a210e14bd8c1@xen.org>
In-Reply-To: <7a7a7156-138d-a53c-fb65-a210e14bd8c1@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=RiversideResearch.org;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0P110MB1642:EE_|BN0P110MB1626:EE_
x-ms-office365-filtering-correlation-id: cb9b4b72-44f3-402e-b489-08dae2d7f895
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 58in0zdLMceOGeFyIjVWP5c5bqPwHI9qCkh4eBlwtdfXcRz5bJhOLORsyvdWUZAqH6qwQsZe4izCpvM1kRIW0THtV4fYelFQMX8VvHRgzJqGmhGQv2PkjkVjZhuMNoVjBLHtK8euBZXtLNowviUlg2uSTDMrMtqQEZIEEhMKM7YjYxTCSR9GiEE0MxtYy/LWKW7FdZxBM0hoqofygy57em3t1D5alLr+4j0jQmWDBwHmYKrLkEeQwsfId7X8tNbyE7hJH1CC2swT0PFMEtE6z4ixMt6ASZla+KCE32bnQOityalr7EIVn8XXUyLmsqgLwYdKe4Eh3jq8C8pnuj+p4a/HxNCHAH4VonK+t6awRbPOzuzzzuk/GukWi685l72EZNhRATh/pGpPNhASkIMxJ/c6UGWyfpBUxtgbnN9ILlMSkoJ8hAwsLri37f5Ua+p+j/Mk33YA6dOfspcnDUipfMfHpWrwspCmmcWoHA9Vezmup5Oo7Dayezs/KjGK37aNZLuh9taLPvD5KGaRYkr058SseMa0QXdhN1M8MxI81U0oH/ZBo1fW2Rpls6MGRW41HUt3g3eXdCLRUx1HXrEv2XUhWdmnSCwHYQxPk6wiXBoTbEidDsMYexBPbVkclHO1r1AcGNIpUd6JJ5eLH4pul8nt7TKI+AlAqJDdIYqA6gM=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(136003)(39830400003)(366004)(396003)(451199015)(38100700002)(2906002)(122000001)(99936003)(41300700001)(55016003)(33656002)(41320700001)(82960400001)(26005)(186003)(38070700005)(9686003)(86362001)(83380400001)(52536014)(5660300002)(8936002)(508600001)(66946007)(76116006)(66446008)(66476007)(6506007)(8676002)(66556008)(7416002)(64756008)(4326008)(54906003)(110136005)(53546011)(7696005)(71200400001)(10944003)(85282002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 vrRndOLLx4ykSRepHzWSSbAH5pZzyyxMIdyZaN2+fC+4Z0gXc13i7s/hM4AyyHSJhPKh/g47AJvEBw/zDWpNT9iYU6t/fEzbzdsTnR4Yh3sgfXT9wu4vVHBn8yTJ0DaoNbVLUegrklXyKrreo1dg+OWwiNihe1JCaO3WAP4C3xeMrfKNBjOHUug9ZupyYNA8B1QFwIPdQcjDkMB2NxcBs3FkPcrihM5tme9z4OFPplMMaMTaQWi+m9Q5wAfIwoGbLM+hEcFOv53HRFZtlUFCRRxmv7XhhEWUAc5iR7F78uUdoodhT8VWOOLLzVeomE4NBDqTIJtYWSV3yGrnhCF/0/blt6ODfdRw1WP3gyYpOD6CKvFfVkeC3j+v0dFiQA0iEGY4jG1aUtlriYK7lL9GOqWGgNUeRm26SCYNrPYyJcs=
Content-Type: multipart/signed;
	protocol="application/x-pkcs7-signature";
	micalg=SHA1;
	boundary="----=_NextPart_000_0129_01D91496.EC60FF50"
MIME-Version: 1.0
X-OriginatorOrg: riversideresearch.org
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: cb9b4b72-44f3-402e-b489-08dae2d7f895
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Dec 2022 22:17:24.2284
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: bfc64a8d-9064-4c64-91c3-9d10b44c1cb6
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN0P110MB1626

------=_NextPart_000_0129_01D91496.EC60FF50
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

-----Original Message-----
> From: Julien Grall <julien@xen.org>
> Sent: Friday, December 16, 2022 3:39 AM
>
> Hi Stefano,
>
> On 16/12/2022 01:46, Stefano Stabellini wrote:
> > On Thu, 15 Dec 2022, Julien Grall wrote:
> >>>> On 13/12/2022 19:48, Smith, Jackson wrote:
> >>> Yes, we are familiar with the "secret-free hypervisor" work. As
you
> >>> point out, both our work and the secret-free hypervisor remove the
> >>> directmap region to mitigate the risk of leaking sensitive guest
> >>> secrets. However, our work is slightly different because it
> >>> additionally prevents attackers from tricking Xen into remapping a
> guest.
> >>
> >> I understand your goal, but I don't think this is achieved (see
> >> above). You would need an entity to prevent write to TTBR0_EL2 in
> >> order to fully protect it.
> >
> > Without a way to stop Xen from reading/writing TTBR0_EL2, we
> cannot
> > claim that the guest's secrets are 100% safe.
> >
> > But the attacker would have to follow the sequence you outlines
> above
> > to change Xen's pagetables and remap guest memory before
> accessing it.
> > It is an additional obstacle for attackers that want to steal other
> guests'
> > secrets. The size of the code that the attacker would need to inject
> > in Xen would need to be bigger and more complex.
>
> Right, that's why I wrote with a bit more work. However, the nuance
> you mention doesn't seem to be present in the cover letter:
>
> "This creates what we call "Software Enclaves", ensuring that an
> adversary with arbitrary code execution in the hypervisor STILL cannot
> read/write guest memory."
>
> So if the end goal if really to protect against *all* sort of
arbitrary 
> code,
> then I think we should have a rough idea how this will look like in
Xen.
>
>  From a brief look, it doesn't look like it would be possible to
prevent
> modification to TTBR0_EL2 (even from EL3). We would need to
> investigate if there are other bits in the architecture to help us.
>
> >
> > Every little helps :-)
>
> I can see how making the life of the attacker more difficult is 
> appealing.
> Yet, the goal needs to be clarified and the risk with the approach
> acknowledged (see above).
>

You're right, we should have mentioned this weakness in our first email.
Sorry about the oversight! This is definitely still a limitation that we
have not yet overcome. However, we do think that the increase in
attacker workload that you and Stefano are discussing could still be
valuable to security conscious Xen users.

It would nice to find additional architecture features that we can use
to close this hole on arm, but there aren't any that stand out to me
either.

With this limitation in mind, what are the next steps we should take to
support this feature for the xen community? Is this increase in attacker
workload meaningful enough to justify the inclusion of VMF in Xen?

Thanks,
Jackson


------=_NextPart_000_0129_01D91496.EC60FF50
Content-Type: application/pkcs7-signature;
	name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="smime.p7s"

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIRvjCCBQcw
ggLvoAMCAQICCmFaT6EABAAAAlYwDQYJKoZIhvcNAQEFBQAwQzETMBEGCgmSJomT8ixkARkWA29y
ZzEXMBUGCgmSJomT8ixkARkWB3JyaS11c2ExEzARBgNVBAMTCkRST0ctQVBQMDQwHhcNMTgxMjI4
MTcyMjQxWhcNMjMxMjI3MTcyMjQxWjBBMRMwEQYKCZImiZPyLGQBGRYDb3JnMRcwFQYKCZImiZPy
LGQBGRYHcnJpLXVzYTERMA8GA1UEAxMIQlJPLURTMDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDIqSfSN9vCMUNv1ClFEtVbNDtXQG2uTUIF4sxljSpofE+0R18jypVQ5sbxYAY+YetA
YaCu9sDvINgjn78bMWro7PjaXLTMKob682UX2hSlfV1u9JLIc/dHZDhQm/g+moZjbJrAaphVJ1tm
zAngB5e9vpNGPtiYnxOHfyJHbXvDODHkXPQHjdhx/96DWEo2ME4o+hbrmKwSv36i9P/fZnx+7dfo
EJ0Xka7ivxxAvSFYwV/lfygF37XMd6iVrQ7HBjt7PYG/Xda26prtnMTaZCj3Xfk17CJ5OD5bhG5/
Fr+BmOB7N0tMEgdOEw4J9ILZ13aZ+u8KHhl8qCRPc+ZCkYJlAgMBAAGjgf4wgfswEgYJKwYBBAGC
NxUBBAUCAwcABzAjBgkrBgEEAYI3FQIEFgQUsiV9iBiIVa/fqUTl68n2xTOrX2MwHQYDVR0OBBYE
FP7n8qkpqNSfs/rzfTADwqy1R1BlMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIAQwBBMAsGA1UdDwQE
AwIBhjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEkkMbfTP+jwH38Z85zodUalM249MEcG
A1UdHwRAMD4wPKA6oDiGNmh0dHA6Ly9jcmwucml2ZXJzaWRlcmVzZWFyY2gub3JnL2NybC9EUk9H
LUFQUDA0KDQpLmNybDANBgkqhkiG9w0BAQUFAAOCAgEALpNXZbpzZFwFsfCKiwjKg8ldws18ZS3m
BX6jaYuQAdwneQTtf9gFpx3Pvhb+BSN+9yGGjyJ3EZKYcGzGYRaKBK4Vco2rDgHvHckQR4rxq8kd
xJtfGPlEXwsRQRQLW3C38wrdyCjI5JZA/5u4/qZqY7DXnhjU9u/2bofQOT0iAtJ9pAnI47/vdlxG
uzRBAZjqHU3OIeZkQDWUB0yuCgbKRiluFn+0wOsWKwB4d4/HeXOyLBt0qbS+cMZ79MBDuC76ykbd
R1NEAUsMo69BKgqFQQ3nrUN7LGPpEqPiyheFsCWMqkd6vwsmCPwfL1tSBcfOgU0tMiSohi7mPvBk
SI4ODJ97kWVPcS5WZAWmB50hrRCtp46bE1LbGhNihyf7mKn4d2zsGXmbzX0m+oza/nmR4GWGIlni
DF/83XexzNYV7aNBp/1qW4gjuqzwD6f9+1+gPU3jCscHHdE2++0M9yrZiG6iYnH+T0rilJSu24CY
vxavpQf9G1uD/mlcC0ypkeEqenUxv31WapzGnv3EVeU63FEEVQCcJr+VEW30opb3GTQoNAvm7zTs
oCfC/dc9Uohc6wcukEHDBXA6bIjbBXVISsN9Pe9p06FafqVqfr2S5V/F5EwgbMyTFPQ+SIB6Pa+9
GlGMmOWyAEJphGBG+sK9fl8Jcub47w4YX7dCqY4p5vowggWfMIIDh6ADAgECAhASPGXcwnWGs05X
Q6UPq8/lMA0GCSqGSIb3DQEBBQUAMEMxEzARBgoJkiaJk/IsZAEZFgNvcmcxFzAVBgoJkiaJk/Is
ZAEZFgdycmktdXNhMRMwEQYDVQQDEwpEUk9HLUFQUDA0MB4XDTE0MDEwNjE1NDc0NFoXDTM5MDEw
NjE1NTc0NFowQzETMBEGCgmSJomT8ixkARkWA29yZzEXMBUGCgmSJomT8ixkARkWB3JyaS11c2Ex
EzARBgNVBAMTCkRST0ctQVBQMDQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC80o0V
oOdwWusFIsAU/r2pLJjOgnDJeR1gR0FzW4Yx541MohHpWg2T3dvELrWbw8I1bvrwszhkErdhGisO
W4OhIaJSRSZCc7/4lP67uO3WqyH6Ih0lLFejnOWi5z3ifzKYj5fHIE5z0niLL+eg1NxokT9H2qC1
ENHNJ/jssmQZyyoktvKaPShw+I7yAqdwZWr7l9jCUKFgYBbqkPm0kEzZAagNHZ+HOp6LAvGEONL6
4k7a6jGcaz5LvBTVTlCYdws2DROK6deI9w8IkV0dQFL/c4jfQZ7OBbhkz4XMXgnTvnklKlgmzA40
l1lS4RlT29NufZvbyRziERP779HwczfIjpUPi1r70JgpyD42WyepcGoKXCicmBvI8mLaEPdfxEUC
60OnO8VFbU5oKw+T6j3ByuUTD6FEqQf4Q4SqyeDA9GZwRA2k5iwLwFqA0sCfcaUOi2aQkfT3OtTr
JDWnzUIFRXFuenmSMpfTS4r1GW7u3DgAlWrNgKmx0WxdQpreAVt1lkCEb6NodTu4xiktEYtXfiVP
i7LNfTbNS9gDS4wzOUGFc4GIthoWZXaYzSqu4e0h1tnvVPESwCz8+Ke2olwayeLGDK7h19HSE+EK
78XAlrcSuwoCQfrZfRHouSq7si9XRHdQJElFOzUy9N5QD5RL036eqSgc+l2PSBGuPVgD7QIDAQAB
o4GOMIGLMBMGCSsGAQQBgjcUAgQGHgQAQwBBMAsGA1UdDwQEAwIBhjAPBgNVHRMBAf8EBTADAQH/
MB0GA1UdDgQWBBRJJDG30z/o8B9/GfOc6HVGpTNuPTAjBgkrBgEEAYI3FQIEFgQU2fLvmTrCwkM1
lhWUNB1HIO1BY9cwEgYJKwYBBAGCNxUBBAUCAwQABDANBgkqhkiG9w0BAQUFAAOCAgEAVHa8hXq9
mLpvsLYVR1Iqak2w3d71HKoEjRA67hkS5p1QSVySBnKBo4DqL2SVBnc5kt6J+3uH0hoFQF15CJwW
SzMOCwX3BGA7UpkNgDqe/0sM/FZCVnGi1U56tRgMg/Ndxu26ytn13ptec0MZwGRzU46cNamtMLcW
TxZyEe46ALnKxmv125IMDxEAXyo4p/9Y7xVK7SlzbF8NYUFZB/6lSjvG7BbNdZ4TQqoZ6ngXYcKO
X/fFlb2Gzagbe3RoqFfNC4wRnFkO/wcr7stOB17bHXNN2EE7QZwSiR/oS3tVZ2hSTWTzfi+Mn8FI
9WeMZ/hhkK/vwu+9Leaua6WGVdJUPSJFZK47SGOdekEZ8ipJ5X5pwSO2unOM1V4pVty28Jq9KgF5
aBYiCS/2FOHvAgolQ3PuUIZOxZ87jSd4cTEpF5rUfVLd/Wb7C/i4G15cnolsNuABl+Mgkdr9xHAs
0c3bljbfN6HdYZNHTZQ8kUL6z39UX9b0VFVXoCw+fnQOD+uaNca3lfvQENKOnNpzLSvVuwyOg9LL
U2qdp74brdgXidWL56iwlBj5g/7Rt1glmNCbIusxtEHDr3RWaXvmOZt86lwT1pNy6e4iKaj5opiM
y5hBglp6x595DCG05IgGyQRzP9bNyqPglQMRekuqNtiM8s/BZZ0LiVtMDkna9k9jj28wggcMMIIF
9KADAgECAhMsAARwT/LbBVtfmneXAAcABHBPMA0GCSqGSIb3DQEBCwUAMEExEzARBgoJkiaJk/Is
ZAEZFgNvcmcxFzAVBgoJkiaJk/IsZAEZFgdycmktdXNhMREwDwYDVQQDEwhCUk8tRFMwMjAeFw0y
MjA1MTYxNDI0MjJaFw0yMzEyMjcxNzIyNDFaMIGpMRMwEQYKCZImiZPyLGQBGRYDb3JnMRcwFQYK
CZImiZPyLGQBGRYHcnJpLXVzYTEMMAoGA1UECxMDRFJDMQ4wDAYDVQQLEwVVc2VyczEWMBQGA1UE
CxMNT24tU2l0ZSBVc2VyczEWMBQGA1UEAxMNU21pdGgsIFJvYmVydDErMCkGCSqGSIb3DQEJARYc
cnNtaXRoQFJpdmVyc2lkZVJlc2VhcmNoLm9yZzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
rvdaVkLmf4emLjFcvM2ukIkTQjkEoz/feXDWuJH/9BWDUowo71IysLADaoIXy0EFNblUbZZM4pR3
29XLxbsYAQKYMLDqxbudadKICnnme7PxLZ8bnT3HhNCvK4ieUxuQz0Uied92gUg/HXrSf06oCKbw
smY8uvOq1BOQ6V7sr2ECAwEAAaOCBBYwggQSMD4GCSsGAQQBgjcVBwQxMC8GJysGAQQBgjcVCIWb
hmWDndEtgsWVEIGmmyuDmZlRgSWH0qVDgrHkJgIBZQIBBTA1BgNVHSUELjAsBgorBgEEAYI3FAIC
BggrBgEFBQcDAgYIKwYBBQUHAwQGCisGAQQBgjcKAwQwCwYDVR0PBAQDAgWgMEMGCSsGAQQBgjcV
CgQ2MDQwDAYKKwYBBAGCNxQCAjAKBggrBgEFBQcDAjAKBggrBgEFBQcDBDAMBgorBgEEAYI3CgME
MEQGCSqGSIb3DQEJDwQ3MDUwDgYIKoZIhvcNAwICAgCAMA4GCCqGSIb3DQMEAgIAgDAHBgUrDgMC
BzAKBggqhkiG9w0DBzAdBgNVHQ4EFgQUx9iDBJcqSRZJGZfYm0qPYN5BFcMwHwYDVR0jBBgwFoAU
/ufyqSmo1J+z+vN9MAPCrLVHUGUwggEABgNVHR8EgfgwgfUwgfKgge+ggeyGgbNsZGFwOi8vL0NO
PUJSTy1EUzAyKDcpLENOPUJSTy1DQTAxLENOPUNEUCxDTj1QdWJsaWMlMjBLZXklMjBTZXJ2aWNl
cyxDTj1TZXJ2aWNlcyxDTj1Db25maWd1cmF0aW9uLERDPXJyaS11c2EsREM9b3JnP2NlcnRpZmlj
YXRlUmV2b2NhdGlvbkxpc3Q/YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Qb2ludIY0
aHR0cDovL2NybC5yaXZlcnNpZGVyZXNlYXJjaC5vcmcvY3JsL0JSTy1EUzAyKDcpLmNybDCCARMG
CCsGAQUFBwEBBIIBBTCCAQEwgacGCCsGAQUFBzAChoGabGRhcDovLy9DTj1CUk8tRFMwMixDTj1B
SUEsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlv
bixEQz1ycmktdXNhLERDPW9yZz9jQUNlcnRpZmljYXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlm
aWNhdGlvbkF1dGhvcml0eTBVBggrBgEFBQcwAoZJaHR0cDovL2NybC5yaXZlcnNpZGVyZXNlYXJj
aC5vcmcvY3JsL0JSTy1DQTAxLnJyaS11c2Eub3JnX0JSTy1EUzAyKDcpLmNydDBVBgNVHREETjBM
oCwGCisGAQQBgjcUAgOgHgwccnNtaXRoQHJpdmVyc2lkZXJlc2VhcmNoLm9yZ4EccnNtaXRoQFJp
dmVyc2lkZVJlc2VhcmNoLm9yZzBPBgkrBgEEAYI3GQIEQjBAoD4GCisGAQQBgjcZAgGgMAQuUy0x
LTUtMjEtMzE1MzczODEzMi0zNDMzOTAxMTAzLTQxMTc4ODYyMi00MDQ1NTANBgkqhkiG9w0BAQsF
AAOCAQEAYaBBvBGuhKlhJ2O6JBtcYRW7CYREO4+CAep40ordLIS0gvnKuE7A3a+4YzJpqKvfSbQd
+dQzeaZNz3kTpwJlZh5fJb/Bo7zQWlvDU1p/rr7a2tAnWNqSVlgQrvAk35TLqlGAmwo8tgQ1jxc/
JAkWg5Pqks6IKyO8CwKuIEOqL7vxN/THcEvpJvLnhRxm/ARosCDW1x0XTwivA8tS1AVvxxcpQAXS
uo/q3WNG/XDC8oO6oJLZfnpl9LiDBrsHEzDaR3Ct3XCR6rJ4ezjwFjH4SEOWCWeWsLhk+uoOgAx5
4cKlGpprXf5oje+0nSz1bAw5kaGD8k83rXL75YVcIuRTlDGCAskwggLFAgEBMFgwQTETMBEGCgmS
JomT8ixkARkWA29yZzEXMBUGCgmSJomT8ixkARkWB3JyaS11c2ExETAPBgNVBAMTCEJSTy1EUzAy
AhMsAARwT/LbBVtfmneXAAcABHBPMAkGBSsOAwIaBQCgggHHMBgGCSqGSIb3DQEJAzELBgkqhkiG
9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTIyMTIyMDIyMTcyMlowIwYJKoZIhvcNAQkEMRYEFBhhBryy
n/ipn/G6SnA9zTK8pccKMGcGCSsGAQQBgjcQBDFaMFgwQTETMBEGCgmSJomT8ixkARkWA29yZzEX
MBUGCgmSJomT8ixkARkWB3JyaS11c2ExETAPBgNVBAMTCEJSTy1EUzAyAhMsAARwT/LbBVtfmneX
AAcABHBPMGkGCyqGSIb3DQEJEAILMVqgWDBBMRMwEQYKCZImiZPyLGQBGRYDb3JnMRcwFQYKCZIm
iZPyLGQBGRYHcnJpLXVzYTERMA8GA1UEAxMIQlJPLURTMDICEywABHBP8tsFW1+ad5cABwAEcE8w
gZMGCSqGSIb3DQEJDzGBhTCBgjALBglghkgBZQMEASowCwYJYIZIAWUDBAEWMAoGCCqGSIb3DQMH
MAsGCWCGSAFlAwQBAjAOBggqhkiG9w0DAgICAIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAhowCwYJ
YIZIAWUDBAIDMAsGCWCGSAFlAwQCAjALBglghkgBZQMEAgEwDQYJKoZIhvcNAQEBBQAEgYCjXjvD
nOgiWSmi+uSamFii7Yt3JMg8qNLaDusZLIbdc9XsImew/qpm+JIICpMtfyrphwNWYZ7FhApqHCp4
r2Lb2d9TE4uW83TPblmb8n6adFbL60odbt+VuhGmst97D00FAgC0TD4Kb3OXrsWuRNYQ0rIVlluX
ezaE4QFKBocH4wAAAAAAAA==

------=_NextPart_000_0129_01D91496.EC60FF50--


From xen-devel-bounces@lists.xenproject.org Tue Dec 20 22:31:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 20 Dec 2022 22:31:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467452.726527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7l8i-0003dw-Tm; Tue, 20 Dec 2022 22:31:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467452.726527; Tue, 20 Dec 2022 22:31:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7l8i-0003dp-Pe; Tue, 20 Dec 2022 22:31:12 +0000
Received: by outflank-mailman (input) for mailman id 467452;
 Tue, 20 Dec 2022 22:31:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tFeQ=4S=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p7l8g-0003dj-PH
 for xen-devel@lists.xenproject.org; Tue, 20 Dec 2022 22:31:11 +0000
Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com
 [64.147.123.19]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fc594072-80b5-11ed-91b6-6bf2151ebd3b;
 Tue, 20 Dec 2022 23:31:06 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 0126C32003D3;
 Tue, 20 Dec 2022 17:31:00 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Tue, 20 Dec 2022 17:31:01 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 20 Dec 2022 17:30:59 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc594072-80b5-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm2; t=1671575460; x=
	1671661860; bh=qbqrv5HgOtrJhdQAcZ9zgpaQ/NrarXwMcm7RJaQjumE=; b=n
	7e/y6jHRliAMpmovWwIYq0+w9Z4A+ep8aCRdjy7f2Bk4p5ak1SKZ9uNmdpWIFKgk
	RsL+Co114bqiEqNHaegDhVujxHWafgmV8ny1MJfij909DFhZWg3ju4Ol5jXEVMtn
	ImVGCevO2pWn6smPGkXm3kANglMtpudXD50sHUwy9gAvb61/dtN0tn/OVO9jWWiz
	ckUKBak9MRK2UjwZADuXzS/o4wj9AHIQuGXrDCvVxd8uqzzSOGrgiIBK8z9X+6bo
	jCQ3J72Xxfc3OS3YVfyHfZJjMlZNS0jEKqYN1IMRdCpTdtHra6iUchUbUiplOY+q
	N02S27oUm0z9uSiy57f+Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671575460; x=1671661860; bh=qbqrv5HgOtrJhdQAcZ9zgpaQ/Nra
	rXwMcm7RJaQjumE=; b=aUziJtIhi6KlwcTMPavjmVvp9m5jT8oFvxwqvpa+RPTh
	aUnHh0jG6EaNrEESZAwltaWJhhwj82dj2LQzrIxCZRvF3xYUi1qxIn5xRR2iaEon
	YTdgfq8FLJhDNX+bwBG7Z6vKbrSomhmES9O/1bnwz4BZsuPiHyfBkoQMnHolqpyK
	rYcZJuxWAhEvGyexPPPn0KRaHywB+c8k2+kVGVwycJx+FPlirBxcpT/IyiFDop3e
	lvneVZwCi/V7h/SfZkGGsIAFO40AnHrrIWCpt7kZbn1jaLMr2PRzCRYk/4fmqZoJ
	yFXTE5DNtxbVXvoWfV5fhU9spEEVkbXVIZ5xLTYdoQ==
X-ME-Sender: <xms:pDeiY4104p0UQC6wT0BJ_BhDl_6fIfjPaMUFYmwPOgunWoepPl6_7w>
    <xme:pDeiYzFqFK4rfapy3EtHFTotjyuVcgJocyV6f_NHUyLCPptT2GO-I1CqGs2gFk9wu
    UZKmLP7O4184qg>
X-ME-Received: <xmr:pDeiYw6VpdBIU0QdoFx4iFGGlIHyohKLgXSxxDGHf4teIEA8dWCSnQHTWm7C>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeeigddufeeiucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepvdejteegkefhteduhffgteffgeff
    gfduvdfghfffieefieekkedtheegteehffelnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:pDeiYx13NmyHPUNvb5JHbDsA7giQrtZe272-Wo3fDZzE8KkrVQNlCQ>
    <xmx:pDeiY7GJNDOLC81dC-ntI7er8dQ44_48ByIjy1r2K6cWLxx4-hfTIw>
    <xmx:pDeiY69CJu_xWN9dWRkimgUEmhLdy2SGJYmiOKU2ZeExBh5XvpsNJQ>
    <xmx:pDeiYyCZ-9yCqbFshc0IO7xG506L3NExQIVHL4gkq1n9VYIMnZEviA>
Feedback-ID: iac594737:Fastmail
Date: Tue, 20 Dec 2022 17:30:55 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: "Smith, Jackson" <rsmith@riversideresearch.org>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Message-ID: <Y6I3oqYdTKa/57I/@itl-email>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
 <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
 <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop>
 <7a7a7156-138d-a53c-fb65-a210e14bd8c1@xen.org>
 <BN0P110MB16429FF1A9FF3507A684C5B2CFEA9@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="n1jso5Mq3pAfkhgA"
Content-Disposition: inline
In-Reply-To: <BN0P110MB16429FF1A9FF3507A684C5B2CFEA9@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>


--n1jso5Mq3pAfkhgA
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 20 Dec 2022 17:30:55 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: "Smith, Jackson" <rsmith@riversideresearch.org>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen

On Tue, Dec 20, 2022 at 10:17:24PM +0000, Smith, Jackson wrote:
> -----Original Message-----
> > From: Julien Grall <julien@xen.org>
> > Sent: Friday, December 16, 2022 3:39 AM
> >
> > Hi Stefano,
> >
> > On 16/12/2022 01:46, Stefano Stabellini wrote:
> > > On Thu, 15 Dec 2022, Julien Grall wrote:
> > >>>> On 13/12/2022 19:48, Smith, Jackson wrote:
> > >>> Yes, we are familiar with the "secret-free hypervisor" work. As
> you
> > >>> point out, both our work and the secret-free hypervisor remove the
> > >>> directmap region to mitigate the risk of leaking sensitive guest
> > >>> secrets. However, our work is slightly different because it
> > >>> additionally prevents attackers from tricking Xen into remapping a
> > guest.
> > >>
> > >> I understand your goal, but I don't think this is achieved (see
> > >> above). You would need an entity to prevent write to TTBR0_EL2 in
> > >> order to fully protect it.
> > >
> > > Without a way to stop Xen from reading/writing TTBR0_EL2, we
> > cannot
> > > claim that the guest's secrets are 100% safe.
> > >
> > > But the attacker would have to follow the sequence you outlines
> > above
> > > to change Xen's pagetables and remap guest memory before
> > accessing it.
> > > It is an additional obstacle for attackers that want to steal other
> > guests'
> > > secrets. The size of the code that the attacker would need to inject
> > > in Xen would need to be bigger and more complex.
> >
> > Right, that's why I wrote with a bit more work. However, the nuance
> > you mention doesn't seem to be present in the cover letter:
> >
> > "This creates what we call "Software Enclaves", ensuring that an
> > adversary with arbitrary code execution in the hypervisor STILL cannot
> > read/write guest memory."
> >
> > So if the end goal if really to protect against *all* sort of
> arbitrary=20
> > code,
> > then I think we should have a rough idea how this will look like in
> Xen.
> >
> >  From a brief look, it doesn't look like it would be possible to
> prevent
> > modification to TTBR0_EL2 (even from EL3). We would need to
> > investigate if there are other bits in the architecture to help us.
> >
> > >
> > > Every little helps :-)
> >
> > I can see how making the life of the attacker more difficult is=20
> > appealing.
> > Yet, the goal needs to be clarified and the risk with the approach
> > acknowledged (see above).
> >
>=20
> You're right, we should have mentioned this weakness in our first email.
> Sorry about the oversight! This is definitely still a limitation that we
> have not yet overcome. However, we do think that the increase in
> attacker workload that you and Stefano are discussing could still be
> valuable to security conscious Xen users.
>=20
> It would nice to find additional architecture features that we can use
> to close this hole on arm, but there aren't any that stand out to me
> either.
>=20
> With this limitation in mind, what are the next steps we should take to
> support this feature for the xen community? Is this increase in attacker
> workload meaningful enough to justify the inclusion of VMF in Xen?

Personally, I don=E2=80=99t think so.  The kinds of workloads VMF is usable
for (no hypercalls) are likely easily portable to other hypervisors,
including formally verified microkernels such as seL4 that provide a
significantly higher level of assurance.  seL4=E2=80=99s proofs do need to =
be
ported to each particular board, but this is fairly simple.  Conversely,
workloads that need Xen=E2=80=99s features cannot use VMF, so VMF again is =
not
suitable.

Have you considered other approaches to improving security, such as
fuzzing Xen=E2=80=99s hypercall interface or even using formal methods?  Th=
ose
would benefit all users of Xen, not merely a small subset who already
have alternatives available.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--n1jso5Mq3pAfkhgA
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOiN6AACgkQsoi1X/+c
IsEh1g/9GRJUM84zR6nqYuGwxXwRpGY988B9kzr8CW5VBiSEL/KEkSf9ebUpWPtF
1YRw2p04Bv+u55g7skENot7ud1yvcbs0aXSrz0gaTRnKpPgLfqM9qjVAdY+Ab95t
rTqR2Gdr7bdnmgHKsUVyN9IOcRnkCAB2OIl8e4z0AEGHmmFmtL3Nt+E07Ax2aFsp
cN8wmpQ/p2boWKHx/fKK2SrVaOrwHl2fOeH+h8TXC+lTrwXYU0SSW/+YVYL134M+
XvbqHwKg6KC97l6a1YoDobKBCxflufJqopviCwW1bJeIhUU5C4lbC6nbJtkx6IRt
2UUMcxnWE2/YVpX7YIyCezjoHviZ+/0kq6XdOY4YGcmg4rwde1cvwMlgirrkuuD6
rgYTMLO9ygu5miQZaxJr0/IxwDE6ePFCXrRk6dl84I8e4z87hI9bubNECOaPJnuP
wwWJaAMjLKJmn8GGM4xgGuqLF/ffpcA4LuvX/GZ0DNEbwmkA6XbX2NnHhWOKKZH/
C/JzYo6Rruf5MySax0sVe2t8bM1rUT1jska3PCKCEQgqUKrsYlhu4RMoeVVXihpL
KjyWP3vmsXHwwNBANEsDz1XjPH0JiOr23JRHsEaPgPAfgqPZX4DjPq6DT1iBMtFk
Cg65KK2960XeekRTAC18ZHw/smQ5ArtMH9JJ92WKOzEEZ2w3Ceg=
=NzXP
-----END PGP SIGNATURE-----

--n1jso5Mq3pAfkhgA--


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 00:07:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 00:07:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467470.726539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7mdt-0005lq-EO; Wed, 21 Dec 2022 00:07:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467470.726539; Wed, 21 Dec 2022 00:07:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7mdt-0005li-9p; Wed, 21 Dec 2022 00:07:29 +0000
Received: by outflank-mailman (input) for mailman id 467470;
 Wed, 21 Dec 2022 00:07:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7mdr-0005lY-Jd; Wed, 21 Dec 2022 00:07:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7mdr-0000bD-HK; Wed, 21 Dec 2022 00:07:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7mdr-0001Zc-0I; Wed, 21 Dec 2022 00:07:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7mdq-0007uI-W4; Wed, 21 Dec 2022 00:07:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oXJmjo65IAqhFVzAW8y7wB7/h2/bcDynDGcTUG9oumQ=; b=CvPl5xDaokUTQC7Ug4obvgjP96
	O3vx1w8LfAlsrPxh+H9+4JTRF/kqLoB1hLdNaMiVeL8LJHUC/RgHyws1/ql67mU4X1Cbn3upA79DJ
	YesKR/XnGC3fNH6N8MJvQYHBEbhd2kpSoZ7aNHtWw/gnHXsFWF7YcyLtnxVM/AghC3eA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175429-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175429: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=3f378450dfafc11754bfdb64af28060ec8466acb
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 00:07:26 +0000

flight 175429 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175429/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 3f378450dfafc11754bfdb64af28060ec8466acb
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    6 days
Failing since        175214  2022-12-14 18:42:16 Z    6 days   37 attempts
Testing same since   175423  2022-12-20 10:40:57 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@amd.com>
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  Chun-Yi Lee <jlee@suse.com>
  Chun-Yi Lee <joeyli.kernel@gmail.com>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  jdzhang <jdzhang@kunluntech.com.cn>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jian J Wang <jian.j.wang@intel.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Judah Vang <judah.vang@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Kuo, Ted <ted.kuo@intel.com>
  MarsX Lin <marsx.lin@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Nishant C Mistry <nishant.c.mistry@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Ted Kuo <ted.kuo@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Xie, Yuanhao <yuanhao.xie@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 894 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 00:15:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 00:15:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467481.726548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7mlb-0007LU-71; Wed, 21 Dec 2022 00:15:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467481.726548; Wed, 21 Dec 2022 00:15:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7mlb-0007LN-4R; Wed, 21 Dec 2022 00:15:27 +0000
Received: by outflank-mailman (input) for mailman id 467481;
 Wed, 21 Dec 2022 00:15:25 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7mlZ-0007LD-Mw; Wed, 21 Dec 2022 00:15:25 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7mlZ-0000iT-L5; Wed, 21 Dec 2022 00:15:25 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7mlZ-0001x4-6p; Wed, 21 Dec 2022 00:15:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7mlZ-0000hs-6Q; Wed, 21 Dec 2022 00:15:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7X2Acm6xBzzPr0XSZD6E3JeTjFIJFDacYwRC2jKTzS0=; b=ISAEuaXlNn4G2Ih6Z/dpgAjH7J
	N9BcSHVFBJT575uwM8uraBgHi0uK5lAJZE8FgHemSRAJjiPlxje3jl/u5NVXngEQdtqW14Y0SPnfB
	RRZoq4/uX+iHqkTqTs2DLpO1hrW2x/O/LyW/ldT+XwBsdn/TsnMFzdiAwEb2h2pHD+nw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175431-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175431: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=dc380df12acfe53ccdcbeecaaee3510a3b0e374e
X-Osstest-Versions-That:
    xen=4b40d68e663e87eb916b5bdf3da9743a17f43537
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 00:15:25 +0000

flight 175431 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175431/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  dc380df12acfe53ccdcbeecaaee3510a3b0e374e
baseline version:
 xen                  4b40d68e663e87eb916b5bdf3da9743a17f43537

Last test of basis   175428  2022-12-20 16:00:30 Z    0 days
Testing same since   175431  2022-12-20 21:03:41 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Sergey Dyasli <sergey.dyasli@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   4b40d68e66..dc380df12a  dc380df12acfe53ccdcbeecaaee3510a3b0e374e -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 00:40:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 00:40:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467492.726559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7n9I-0001cv-7D; Wed, 21 Dec 2022 00:39:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467492.726559; Wed, 21 Dec 2022 00:39:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7n9I-0001co-4M; Wed, 21 Dec 2022 00:39:56 +0000
Received: by outflank-mailman (input) for mailman id 467492;
 Wed, 21 Dec 2022 00:39:54 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7n9G-0001ce-8G; Wed, 21 Dec 2022 00:39:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7n9F-0001Kk-I5; Wed, 21 Dec 2022 00:39:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7n9E-0003tt-RB; Wed, 21 Dec 2022 00:39:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7n9E-0004fY-Qo; Wed, 21 Dec 2022 00:39:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=QFXZr5CffJcGF/EBJ4FNZ8OWHhEtX+fBNBId/zEGPRE=; b=ZmLZ9IjYw18Kc0y2Ijl2Hf6niy
	pcUru9fnUKoY8pgx+a7krsomBC6rCCjyAY3RVom/t3NtvCFz5savGSmDwT2xarW+48OlQLla33pna
	wdxxeLW31KITaTW7Nfl3JqzK3OlXYMkkAwYRZX2zpz6MkgaYja/2Ne6ViuFt7X3olgIo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175418-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175418: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-dom0pvh-xl-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-dom0pvh-xl-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-examine:host-install:broken:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start.2:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 00:39:52 +0000

flight 175418 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175418/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemut-debianhvm-amd64    <job status>                broken
 test-amd64-i386-xl-qemuu-debianhvm-amd64    <job status>                broken
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>               broken
 test-amd64-amd64-dom0pvh-xl-intel    <job status>                 broken
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm    <job status>      broken
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>                 broken
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken REGR. vs. 175197
 test-amd64-i386-xl-qemuu-ws16-amd64  5 host-install(5) broken REGR. vs. 175197
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-armhf-armhf-xl-multivcpu 14 guest-start             fail REGR. vs. 175197

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175418
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175418
 test-amd64-i386-xl-qemuu-debianhvm-amd64 5 host-install(5) broken pass in 175407
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 5 host-install(5) broken pass in 175407
 test-amd64-i386-xl-qemut-debianhvm-amd64 5 host-install(5) broken pass in 175407
 test-amd64-amd64-dom0pvh-xl-intel  5 host-install(5)     broken pass in 175407
 test-amd64-i386-examine       5 host-install             broken pass in 175407
 test-arm64-arm64-libvirt-raw 18 guest-start.2              fail pass in 175407
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 175407
 test-armhf-armhf-xl-vhd      13 guest-start                fail pass in 175407
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail in 175407 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 175407 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 175407 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z    6 days
Testing same since   175407  2022-12-19 11:42:26 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           broken  
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    broken  
 test-amd64-i386-xl-qemut-debianhvm-amd64                     broken  
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     broken  
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          broken  
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            broken  
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-xl-qemuu-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-amd64-dom0pvh-xl-intel broken
broken-job test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-step test-amd64-amd64-xl-qemut-debianhvm-amd64 host-install(5)
broken-step test-amd64-i386-xl-qemuu-debianhvm-amd64 host-install(5)
broken-step test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm host-install(5)
broken-step test-amd64-i386-xl-qemut-debianhvm-amd64 host-install(5)
broken-step test-amd64-i386-xl-qemuu-ws16-amd64 host-install(5)
broken-step test-amd64-amd64-dom0pvh-xl-intel host-install(5)
broken-step test-amd64-i386-examine host-install
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 01:31:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 01:31:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467508.726572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7nxG-0006dB-7k; Wed, 21 Dec 2022 01:31:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467508.726572; Wed, 21 Dec 2022 01:31:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7nxG-0006d4-1I; Wed, 21 Dec 2022 01:31:34 +0000
Received: by outflank-mailman (input) for mailman id 467508;
 Wed, 21 Dec 2022 01:31:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7nxE-0006cu-8c; Wed, 21 Dec 2022 01:31:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7nxE-0000zD-2y; Wed, 21 Dec 2022 01:31:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7nxD-0006L0-Fp; Wed, 21 Dec 2022 01:31:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7nxD-0005Fo-Ep; Wed, 21 Dec 2022 01:31:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nKHu36aUOSOtdS4QGZBBGd2ObdsYrfwLsqEmP5iH+/k=; b=BpeTwjl+mAkmNQuAwNVYONxtQK
	rVjCzbTyGjVroa0sxMEwmkA9QfaMzs3r6NMUVrsedinLvaVWTSF2QAtsEIWOXJFOi5jCnF6IUSvhW
	sN8EorlNi5QYrmh1I7ITRCOG5rGPEkhOr1iJ7X5H0lbz33Qoqg3uwmD29Kh78X2ti8Cg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175421-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175421: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-migrupgrade:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-pvshim:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:<job status>:broken:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-pvshim:host-install(5):broken:regression
    xen-unstable:test-amd64-i386-migrupgrade:host-install/src_host(6):broken:regression
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:host-install(5):broken:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:host-install(5):broken:regression
    xen-unstable:test-amd64-amd64-examine-uefi:host-install:broken:regression
    xen-unstable:test-amd64-i386-libvirt:xen-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:regression
    xen-unstable:test-amd64-amd64-examine-uefi:memdisk-try-append:fail:allowable
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=f1b9a28922d2913dda76fd82b0b79f3651d3fc8d
X-Osstest-Versions-That:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 01:31:31 +0000

flight 175421 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175421/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-migrupgrade     <job status>                 broken
 test-amd64-i386-xl-pvshim       <job status>                 broken
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict    <job status>    broken
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict    <job status>   broken
 test-amd64-i386-xl-pvshim     5 host-install(5)        broken REGR. vs. 175399
 test-amd64-i386-migrupgrade 6 host-install/src_host(6) broken REGR. vs. 175399
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 5 host-install(5) broken REGR. vs. 175399
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 5 host-install(5) broken REGR. vs. 175399
 test-amd64-amd64-examine-uefi  5 host-install          broken REGR. vs. 175399
 test-amd64-i386-libvirt       7 xen-install              fail REGR. vs. 175399
 test-amd64-amd64-xl-qcow2   21 guest-start/debian.repeat fail REGR. vs. 175399

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-examine-uefi  4 memdisk-try-append      fail REGR. vs. 175399

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175399
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175399
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175399
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175399
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175399
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175399
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175399
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175399
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175399
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  f1b9a28922d2913dda76fd82b0b79f3651d3fc8d
baseline version:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2

Last test of basis   175399  2022-12-19 01:53:26 Z    1 days
Failing since        175408  2022-12-19 15:38:33 Z    1 days    2 attempts
Testing same since   175421  2022-12-20 06:43:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Edwin Török <edvin.torok@citrix.com>
  Edwin Török <edwin.torok@cloud.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>
  Neowutran <xen@neowutran.ovh>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        broken  
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         broken  
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  broken  
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    broken  
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-migrupgrade broken
broken-job test-amd64-i386-xl-pvshim broken
broken-job test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict broken
broken-job test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict broken
broken-step test-amd64-i386-xl-pvshim host-install(5)
broken-step test-amd64-i386-migrupgrade host-install/src_host(6)
broken-step test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict host-install(5)
broken-step test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict host-install(5)
broken-step test-amd64-amd64-examine-uefi host-install

Not pushing.

------------------------------------------------------------
commit f1b9a28922d2913dda76fd82b0b79f3651d3fc8d
Author: Michal Orzel <michal.orzel@amd.com>
Date:   Fri Dec 16 14:30:12 2022 +0100

    automation: Add test jobs to run XTF hypercall xen_version test
    
    Add test jobs in both debug and non-debug versions to run hyp-xen-version
    XTF test as a dom0less domU on arm64. The purpose of this test is to
    validate the functional behavior of xen_version hypercall.
    
    Signed-off-by: Michal Orzel <michal.orzel@amd.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit 99ba7abbda7d42156f9ed70224750244ed42d120
Author: Michal Orzel <michal.orzel@amd.com>
Date:   Fri Dec 16 14:30:11 2022 +0100

    automation: Add support for using XTF for arm64 testing
    
    Introduce support for using XTF on Arm to perform low-level testing.
    For the purpose of the CI testing, let's use the fork [1] from upstream
    XTF with implemented support for arm64 (the upstream XTF only supports
    x86).
    
    Add a new script under automation/scripts to be used by the CI XTF test
    jobs to perform the following tasks:
     - Compiling XTF,
     - Generating u-boot script using ImageBuilder,
     - Running Xen with XTF as domU in pure dom0less configuration using Qemu,
     - Checking test result.
    
    The script takes the name of the XTF test to run as a first parameter.
    
    [1] https://gitlab.com/xen-project/fusa/xtf.git (branch xtf-arm)
    
    Signed-off-by: Michal Orzel <michal.orzel@amd.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit 01f139215e678c2dc7d4bb3f9f2777069bb1b091
Author: Edwin Török <edvin.torok@citrix.com>
Date:   Fri Dec 16 18:25:20 2022 +0000

    tools/ocaml/xb: Drop Xs_ring.write
    
    This function is unusued (only Xs_ring.write_substring is used), and the
    bytes/string conversion here is backwards: the C stub implements the bytes
    version and then we use a Bytes.unsafe_of_string to convert a string into
    bytes.
    
    However the operation here really is read-only: we read from the string and
    write it to the ring, so the C stub should implement the read-only string
    version, and if needed we could use Bytes.unsafe_to_string to be able to send
    'bytes'. However that is not necessary as the 'bytes' version is dropped above.
    
    Signed-off-by: Edwin Török <edvin.torok@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@citrix.com>

commit 2e173b8383928e8d98d67ce57ec069eb612def60
Author: Edwin Török <edvin.torok@citrix.com>
Date:   Fri Dec 16 18:25:16 2022 +0000

    tools/ocaml/xenctrl: Fix unused value warning
    
    Fixes: 8b3c06a3e5 ("tools/ocaml/xenctrl: OCaml 5 support, fix use-after-free")
    Signed-off-by: Edwin Török <edwin.torok@cloud.com>
    Acked-by: Christian Lindig <christian.lindig@citrix.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 4a259353238d308a41541370ea7cc222a879ddd3
Author: Edwin Török <edvin.torok@citrix.com>
Date:   Fri Dec 16 18:25:11 2022 +0000

    tools/ocaml/xenstored: Use ocamldep -sort for linking order
    
    The manually established link order is fragile to code changes.  Use ocamldep
    to calculate the appropriate link order.
    
    No functional change.
    
    Signed-off-by: Edwin Török <edvin.torok@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@citrix.com>

commit d2ccc637111d6dbcf808aaffeec7a46f0b1e1c81
Author: Edwin Török <edvin.torok@citrix.com>
Date:   Fri Dec 16 18:25:10 2022 +0000

    tools/ocaml/xb,mmap: Use Data_abstract_val wrapper
    
    This is not strictly necessary since it is essentially a no-op currently: a
    cast to void * and value *, even in OCaml 5.0.
    
    However it does make it clearer that what we have here is not a regular OCaml
    value, but one allocated with Abstract_tag or Custom_tag, and follows the
    example from the manual more closely:
    https://v2.ocaml.org/manual/intfc.html#ss:c-outside-head
    
    It also makes it clearer that these modules have been reviewed for
    compat with OCaml 5.0.
    
    We cannot use OCaml finalizers here, because we want exact control over when
    to unmap these pages from remote domains.
    
    No functional change.
    
    Signed-off-by: Edwin Török <edvin.torok@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@citrix.com>

commit 5f05b229319e25aa7f35735bba060ddbeb325872
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Dec 16 10:46:42 2022 +0000

    tools/golang: Refresh bindings following virtio changes
    
    Fixes: 43ba5202e2ee ("libxl: add support for generic virtio device")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: George Dunlap <george.dunlap@cloud.com>

commit 68b2672a63280fa180f4e52c5dab54b04b1369ad
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Dec 6 19:16:23 2021 +0000

    x86/boot: Relocate Xen using memcpy() directly
    
    We can relocate Xen by reading out of the virtual mapping that we're executing
    on, and write directly into the directmap.  In fact, this removes one
    dependency on Xen being "at 0" (the XEN_IMG_OFFSET passed as src) for
    relocation to occur.
    
    This removes all the temporary pagetable handling under the covers of
    move_memory(), and results in a forward copy rather than a chunked backwards
    copy (caused by move_memory() always constructing src and dst in a way to
    trigger memmove() to copy backwards).
    
    With the penultimate caller of move_memory() dropped, clean up the API.  Drop
    the keep boolean, folding in 0 from the final caller, and drop the return
    address which has been unused since c/s 0b76ce20de85 ("x86/setup: don't
    relocate the VGA hole.") in 2007.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit da5092e7d6ed4714b5dc63ed2cd7f6c93dd6efd4
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 19 11:35:25 2022 +0100

    NUMA: replace phys_to_nid()
    
    All callers convert frame numbers (perhaps in turn derived from struct
    page_info pointers) to an address, just for the function to convert it
    back to a frame number (as the first step of paddr_to_pdx()). Replace
    the function by mfn_to_nid() plus a page_to_nid() wrapper macro. Replace
    call sites by the respectively most suitable one.
    
    While there also
    - introduce a !NUMA stub, eliminating the need for Arm (and potentially
      other ports) to carry one individually,
    - drop the (strictly speaking wrong) "pure" attribute from the function,
    - extend a condition in dump_numa() to make sure that none of the
      assertions would trigger for empty or (unlikely) single-page nodes (at
      the same time this also prevents the warning printk() to be issued for
      every empty [e.g. CPU-only] node).
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Julien Grall <jgrall@amazon.com>

commit ad15a0a8ca2515d8ac58edfc0bc1d3719219cb77
Author: Neowutran <xen@neowutran.ovh>
Date:   Mon Dec 19 11:34:16 2022 +0100

    x86/time: prevent overflow with high frequency TSCs
    
    Make sure tsc_khz is promoted to a 64-bit type before multiplying by
    1000 to avoid an 'overflow before widen' bug. Otherwise just above
    4.294GHz the value will overflow. Processors with clocks this high are
    now in production and require this to work correctly.
    
    Signed-off-by: Neowutran <xen@neowutran.ovh>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 573279cde1c4e752d4df34bc65ffafa17573148e
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Dec 19 11:24:14 2022 +0100

    x86/vmx: implement Notify VM Exit
    
    Under certain conditions guests can get the CPU stuck in an unbounded
    loop without the possibility of an interrupt window to occur on
    instruction boundary.  This was the case with the scenarios described
    in XSA-156.
    
    Make use of the Notify VM Exit mechanism, that will trigger a VM Exit
    if no interrupt window occurs for a specified amount of time.  Note
    that using the Notify VM Exit avoids having to trap #AC and #DB
    exceptions, as Xen is guaranteed to get a VM Exit even if the guest
    puts the CPU in a loop without an interrupt window, as such disable
    the intercepts if the feature is available and enabled.
    
    Setting the notify VM exit window to 0 is safe because there's a
    threshold added by the hardware in order to have a sane window value.
    
    Note the handling of EXIT_REASON_NOTIFY in the nested virtualization
    case is passed to L0, and hence a nested guest being able to trigger a
    notify VM exit with an invalid context would be able to crash the L1
    hypervisor (by L0 destroying the domain).  Since we don't expose VM
    Notify support to L1 it should already enable the required
    protections in order to prevent VM Notify from triggering in the first
    place.
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Kevin Tian <kevin.tian@intel.com>

commit d329b37d12132164c3894d0b6284be72576ef950
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Dec 19 11:23:34 2022 +0100

    x86/vmx: introduce helper to set VMX_INTR_SHADOW_NMI
    
    Introduce a small helper to OR VMX_INTR_SHADOW_NMI in
    GUEST_INTERRUPTIBILITY_INFO in order to help dealing with the NMI
    unblocked by IRET case.  Replace the existing usage in handling
    EXIT_REASON_EXCEPTION_NMI and also add such handling to EPT violations
    and page-modification log-full events.
    
    Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Kevin Tian <kevin.tian@intel.com>

commit f7d07619d2ae0382e2922e287fbfbb27722f3f0b
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Dec 19 11:22:43 2022 +0100

    x86/vmx: implement VMExit based guest Bus Lock detection
    
    Add support for enabling guest Bus Lock Detection on Intel systems.
    Such detection works by triggering a vmexit, which ought to be enough
    of a pause to prevent a guest from abusing of the Bus Lock.
    
    Add an extra Xen perf counter to track the number of Bus Locks detected.
    This is done because Bus Locks can also be reported by setting the bit
    26 in the exit reason field, so also account for those.
    
    Note EXIT_REASON_BUS_LOCK VMExits will always have bit 26 set in
    exit_reason, and hence the performance counter doesn't need to be
    increased for EXIT_REASON_BUS_LOCK handling.
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Kevin Tian <kevin.tian@intel.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 01:54:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 01:54:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467522.726582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7oJW-0000yj-72; Wed, 21 Dec 2022 01:54:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467522.726582; Wed, 21 Dec 2022 01:54:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7oJW-0000yc-31; Wed, 21 Dec 2022 01:54:34 +0000
Received: by outflank-mailman (input) for mailman id 467522;
 Wed, 21 Dec 2022 01:54:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7oJV-0000yS-K1; Wed, 21 Dec 2022 01:54:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7oJV-0001UD-G4; Wed, 21 Dec 2022 01:54:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7oJU-00072G-UR; Wed, 21 Dec 2022 01:54:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7oJU-00067L-Tv; Wed, 21 Dec 2022 01:54:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iOs2vQWvwP6fvyK54ERSgfBLQoql3ymRrb9oDBmJyYM=; b=6BBxrlT0bwIYw7Z4xRna9CFrar
	SdUeQ3SLsJwkiJvVqOkXMzbur2on1hdAs9Rdd2yjU3EhrtDbFfU7DdJ+RRAngSZ1JwtidM/ieMcy3
	4rCiIq4oA5SP+1yX4SVZL6KDWQTwNLgcV2XiJ4wvrwEB8NjxiMDtRW8jC6RIYi6wRVoE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175419-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175419: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    libvirt:test-amd64-i386-libvirt-pair:<job status>:broken:regression
    libvirt:test-amd64-i386-libvirt-pair:host-install/dst_host(7):broken:regression
    libvirt:test-arm64-arm64-libvirt-qcow2:guest-start/debian.repeat:fail:regression
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=4102acc608819b15658ca3e37ceca7c89efae16b
X-Osstest-Versions-That:
    libvirt=b271d6f3b0d70e8e7be22252bf25deebe8536d39
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 01:54:32 +0000

flight 175419 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175419/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt-pair    <job status>                 broken
 test-amd64-i386-libvirt-pair 7 host-install/dst_host(7) broken REGR. vs. 175306
 test-arm64-arm64-libvirt-qcow2 17 guest-start/debian.repeat fail REGR. vs. 175306

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175306
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175306
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175306
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 libvirt              4102acc608819b15658ca3e37ceca7c89efae16b
baseline version:
 libvirt              b271d6f3b0d70e8e7be22252bf25deebe8536d39

Last test of basis   175306  2022-12-16 04:21:45 Z    4 days
Testing same since   175419  2022-12-20 04:18:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ján Tomko <jtomko@redhat.com>
  Peter Krempa <pkrempa@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 broken  
 test-arm64-arm64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-libvirt-pair broken
broken-step test-amd64-i386-libvirt-pair host-install/dst_host(7)

Not pushing.

------------------------------------------------------------
commit 4102acc608819b15658ca3e37ceca7c89efae16b
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Thu Dec 8 12:28:13 2022 +0100

    virSecretGetSecretString: Refactor cleanup
    
    Automatically free 'sec' and remove the 'cleanup' section and 'ret'
    variables.
    
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Ján Tomko <jtomko@redhat.com>

commit a754ee59d838c77f022ada1d05b34ae2fd296e8b
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Thu Dec 8 12:27:23 2022 +0100

    datatypes: Register autoptr cleanup for virSecret
    
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Ján Tomko <jtomko@redhat.com>

commit 6d661329dd1c426c5a46c678cf2e71b4ef2647e8
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Fri Dec 9 16:49:12 2022 +0100

    virStorageBackendRBDOpenRADOSConn: Don't log the RBD key
    
    'virStorageBackendRBDRADOSConfSet' logs its arguments but it's also
    used to set the RBD secret/key.
    
    All the security theatre with securely erasing the string we do to fetch
    the secret would be quite pointless if we log it thus introduce
    virStorageBackendRBDRADOSConfSetQuiet and use it to avoid logging the
    password.
    
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Ján Tomko <jtomko@redhat.com>

commit 7df6338f4df4b053bb5d969d1dc63da7057cbca3
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Thu Dec 8 12:37:30 2022 +0100

    virCryptoEncryptDataAESgnutls: Properly initialize data structures
    
    The initialization vector is not optional thus we also don't need to
    check whether the caller passed it in. Additionally we can use c99
    initializers for the gnutls_datum_t structs.
    
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Ján Tomko <jtomko@redhat.com>

commit 53e46e4cd67835c9dfcf1a20df74ae42e1450155
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Thu Dec 8 10:56:28 2022 +0100

    virCryptoEncryptDataAESgnutls: Don't secure erase gnutls_datum_t structs
    
    'gnutls_datum_t' simply holds pointers to the encryption key and its
    length. There's absolutely no point in securely erasing that.
    
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Ján Tomko <jtomko@redhat.com>

commit ac3614b5ad352817b9a2688ef114fda60a267d90
Author: Ján Tomko <jtomko@redhat.com>
Date:   Mon Oct 17 16:05:08 2022 +0200

    qemu: add tests for external swtpm
    
    Signed-off-by: Ján Tomko <jtomko@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit ad3f33a9921feebb064e6071649486ede31a3973
Author: Ján Tomko <jtomko@redhat.com>
Date:   Mon Oct 17 15:20:24 2022 +0200

    qemu: add external backend for tpm
    
    Introduce a new backend type 'external' for connecting to a swtpm daemon
    not managed by libvirtd.
    
    Mostly in one commit, thanks to -Wswitch and the way we generate
    capabilities.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=2063723
    
    Signed-off-by: Ján Tomko <jtomko@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit 443eb2330d780adb5d90728012defba3c83620be
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Mon Nov 28 09:18:24 2022 +0100

    tests: qemucapabilitiesdata: Final update of qemu-7.2 capabilities on x86
    
    QEMU 7.2 was released, update the capabilities data to the final state.
    
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Ján Tomko <jtomko@redhat.com>


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 02:44:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 02:44:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467538.726593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7p5L-0006wy-Vb; Wed, 21 Dec 2022 02:43:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467538.726593; Wed, 21 Dec 2022 02:43:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7p5L-0006wr-Sq; Wed, 21 Dec 2022 02:43:59 +0000
Received: by outflank-mailman (input) for mailman id 467538;
 Wed, 21 Dec 2022 02:43:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7p5L-0006wh-3D; Wed, 21 Dec 2022 02:43:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7p5K-0002sd-T6; Wed, 21 Dec 2022 02:43:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7p5K-0000XW-8v; Wed, 21 Dec 2022 02:43:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7p5K-0007r3-7Y; Wed, 21 Dec 2022 02:43:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OWWddqgPdf7oCTHtQFnaU/wl1A5UaOjW/iy4DTMt+i4=; b=lGcCLfS/wtfPiXkPzTSKCIBURM
	ytRWrIXnAs8srFhwQjebRPQ+x4oJl4ky0Zv6KgqAzw+dMDDn0PSlX24PY8yDRFNgNLwFwmyZUIDA7
	DSWAQU5wnr/9OzREKREF00loY6zhZ+3T93xPo+4z645hL7rnuPjTfgN8h4fK6P2izmE0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175432-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175432: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=3f378450dfafc11754bfdb64af28060ec8466acb
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 02:43:58 +0000

flight 175432 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175432/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 3f378450dfafc11754bfdb64af28060ec8466acb
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    6 days
Failing since        175214  2022-12-14 18:42:16 Z    6 days   38 attempts
Testing same since   175423  2022-12-20 10:40:57 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@amd.com>
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  Chun-Yi Lee <jlee@suse.com>
  Chun-Yi Lee <joeyli.kernel@gmail.com>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  jdzhang <jdzhang@kunluntech.com.cn>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jian J Wang <jian.j.wang@intel.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Judah Vang <judah.vang@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Kuo, Ted <ted.kuo@intel.com>
  MarsX Lin <marsx.lin@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Nishant C Mistry <nishant.c.mistry@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Ted Kuo <ted.kuo@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Xie, Yuanhao <yuanhao.xie@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 894 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 06:42:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 06:42:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467564.726604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7soF-0006pR-1E; Wed, 21 Dec 2022 06:42:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467564.726604; Wed, 21 Dec 2022 06:42:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7soE-0006pK-TC; Wed, 21 Dec 2022 06:42:34 +0000
Received: by outflank-mailman (input) for mailman id 467564;
 Wed, 21 Dec 2022 06:42:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7soD-0006p8-2w; Wed, 21 Dec 2022 06:42:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7soC-0000cJ-VF; Wed, 21 Dec 2022 06:42:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7soC-0008Uz-FG; Wed, 21 Dec 2022 06:42:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7soC-000468-De; Wed, 21 Dec 2022 06:42:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ne6CD7LIqo8GwcwZun+7quWzZvpjpU0XcSNMsOloAPE=; b=1+owhR7+VqOkVo9DmDzxSv/taR
	alcqgHltMoYcPBTnmNz4HJsa5vW4Hktbb0T0in7f6ZWl4sxjZKloHj9qActj90a2HNrLmKeWYnBCG
	FDGOmHRZV05/5tKgQppsRHcHYSskBzWDSRrtKT+lL7Mj7pjBkG1aOqxyk1m43hsaWKLA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175425-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 175425: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    xen-4.17-testing:build-arm64-pvops:<job status>:broken:regression
    xen-4.17-testing:build-arm64-pvops:host-install(4):broken:regression
    xen-4.17-testing:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    xen-4.17-testing:test-amd64-i386-xl:xen-install:fail:regression
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a7a26da0b59da7233e6c6f63b180bab131398351
X-Osstest-Versions-That:
    xen=11560248ffda3f00f20bbdf3ae088af474f7f2a3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 06:42:32 +0000

flight 175425 xen-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175425/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops               <job status>                 broken
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 175096
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 175096
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 175096

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175096
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175096
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175096
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175096
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175096
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175096
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175096
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175096
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175096
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175096
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175096
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175096
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  a7a26da0b59da7233e6c6f63b180bab131398351
baseline version:
 xen                  11560248ffda3f00f20bbdf3ae088af474f7f2a3

Last test of basis   175096  2022-12-08 18:07:02 Z   12 days
Testing same since   175425  2022-12-20 13:06:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Neowutran <xen@neowutran.ovh>
  Per Bilse <per.bilse@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           fail    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job build-arm64-pvops broken
broken-step build-arm64-pvops host-install(4)

Not pushing.

------------------------------------------------------------
commit a7a26da0b59da7233e6c6f63b180bab131398351
Author: Neowutran <xen@neowutran.ovh>
Date:   Tue Dec 20 13:46:38 2022 +0100

    x86/time: prevent overflow with high frequency TSCs
    
    Make sure tsc_khz is promoted to a 64-bit type before multiplying by
    1000 to avoid an 'overflow before widen' bug. Otherwise just above
    4.294GHz the value will overflow. Processors with clocks this high are
    now in production and require this to work correctly.
    
    Signed-off-by: Neowutran <xen@neowutran.ovh>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: ad15a0a8ca2515d8ac58edfc0bc1d3719219cb77
    master date: 2022-12-19 11:34:16 +0100

commit 1dcc9b6dfe528c7815a314f9b5581804b5e23750
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Dec 20 13:46:09 2022 +0100

    EFI: relocate the ESRT when booting via multiboot2
    
    This was missed in the initial patchset.
    
    Move efi_relocate_esrt() up to avoid adding a forward declaration.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: 8d7acf3f7d8d2555c78421dced45bc49f79ae806
    master date: 2022-12-14 12:00:35 +0100

commit c3e37c60fbf8f8cd71db0f0846c9c7aeadf02963
Author: Per Bilse <per.bilse@citrix.com>
Date:   Tue Dec 20 13:45:38 2022 +0100

    ioreq_broadcast(): accept partial broadcast success
    
    Avoid incorrectly triggering an error when a broadcast buffered ioreq
    is not handled by all registered clients, as long as the failure is
    strictly because the client doesn't handle buffered ioreqs.
    
    Signed-off-by: Per Bilse <per.bilse@citrix.com>
    Reviewed-by: Paul Durrant <paul@xen.org>
    master commit: a44734df6c24fadbdb001f051cc5580c467caf7d
    master date: 2022-12-07 12:17:30 +0100

commit 26f39b3d705b667aa21f368c252abffb0b4d3e5d
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Dec 20 13:45:07 2022 +0100

    x86/HVM: don't mark evtchn upcall vector as pending when vLAPIC is disabled
    
    Linux'es relatively new use of HVMOP_set_evtchn_upcall_vector has
    exposed a problem with the marking of the respective vector as
    pending: For quite some time Linux has been checking whether any stale
    ISR or IRR bits would still be set while preparing the LAPIC for use.
    This check is now triggering on the upcall vector, as the registration,
    at least for APs, happens before the LAPIC is actually enabled.
    
    In software-disabled state an LAPIC would not accept any interrupt
    requests and hence no IRR bit would newly become set while in this
    state. As a result it is also wrong for us to mark the upcall vector as
    having a pending request when the vLAPIC is in this state.
    
    To compensate for the "enabled" check added to the assertion logic, add
    logic to (conditionally) mark the upcall vector as having a request
    pending at the time the LAPIC is being software-enabled by the guest.
    Note however that, like for the pt_may_unmask_irq() we already have
    there, long term we may need to find a different solution. This will be
    especially relevant in case yet better LAPIC acceleration would
    eliminate notifications of guest writes to this and other registers.
    
    Fixes: 7b5b8ca7dffd ("x86/upcall: inject a spurious event after setting upcall vector")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Juergen Gross <jgross@suse.com>
    master commit: f5d0279839b58cb622f0995dbf9cff056f03082e
    master date: 2022-12-06 13:51:49 +0100

commit 5810edc049cd5828c2628a377ca8443610e54f82
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Dec 20 13:44:38 2022 +0100

    x86/Viridian: don't mark IRQ vectors as pending when vLAPIC is disabled
    
    In software-disabled state an LAPIC does not accept any interrupt
    requests and hence no IRR bit would newly become set while in this
    state. As a result it is also wrong for us to mark Viridian IPI or timer
    vectors as having a pending request when the vLAPIC is in this state.
    Such interrupts are simply lost.
    
    Introduce a local variable in send_ipi() to help readability.
    
    Fixes: fda96b7382ea ("viridian: add implementation of the HvSendSyntheticClusterIpi hypercall")
    Fixes: 26fba3c85571 ("viridian: add implementation of synthetic timers")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Paul Durrant <paul@xen.org>
    master commit: 831419f82913417dee4e5b0f80769c5db590540b
    master date: 2022-12-02 10:35:32 +0100

commit 54bb56e12868100c5ce06e33b4f57b6b2b8f37b9
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Dec 20 13:44:07 2022 +0100

    x86/HVM: don't mark external IRQs as pending when vLAPIC is disabled
    
    In software-disabled state an LAPIC does not accept any interrupt
    requests and hence no IRR bit would newly become set while in this
    state. As a result it is also wrong for us to mark IO-APIC or MSI
    originating vectors as having a pending request when the vLAPIC is in
    this state. Such interrupts are simply lost.
    
    Introduce (IO-APIC) or re-use (MSI) a local variable to help
    readability.
    
    Fixes: 4fe21ad3712e ("This patch add virtual IOAPIC support for VMX guest")
    Fixes: 85715f4bc7c9 ("MSI 5/6: add MSI support to passthrough HVM domain")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    master commit: f1d7aac1e3c3cd164e17d41791a575a5c3e87121
    master date: 2022-12-02 10:35:01 +0100

commit b7b34bd66ac77326bb49b10130013b4a9f83e4a2
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Tue Dec 20 13:43:37 2022 +0100

    x86/pvh: do not forward MADT Local APIC NMI structures to dom0
    
    Currently Xen will passthrough any Local APIC NMI Structure found in
    the native ACPI MADT table to a PVH dom0.  This is wrong because PVH
    doesn't have access to the physical local APIC, and instead gets an
    emulated local APIC by Xen, that doesn't have the LINT0 or LINT1
    pins wired to anything.  Furthermore the ACPI Processor UIDs used in
    the APIC NMI Structures are likely to not match the ones generated by
    Xen for the Local x2APIC Structures, creating confusion to dom0.
    
    Fix this by removing the logic to passthrough the Local APIC NMI
    Structure for PVH dom0.
    
    Fixes: 1d74282c45 ('x86: setup PVHv2 Dom0 ACPI tables')
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: b39e6385250ccef9509af0eab9003ad5c1478842
    master date: 2022-12-02 10:33:40 +0100

commit 9cbc04a95f8a7f7cc27901211cbe19a42850c4ed
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Tue Dec 20 13:43:04 2022 +0100

    x86/irq: do not release irq until all cleanup is done
    
    Current code in _clear_irq_vector() will mark the irq as unused before
    doing the cleanup required when move_in_progress is true.
    
    This can lead to races in create_irq() if the function picks an irq
    desc that's been marked as unused but has move_in_progress set, as the
    call to assign_irq_vector() in that function can then fail with
    -EAGAIN.
    
    Prevent that by only marking irq descs as unused when all the cleanup
    has been done.  While there also use write_atomic() when setting
    IRQ_UNUSED in _clear_irq_vector() and add a barrier in order to
    prevent the setting of IRQ_UNUSED getting reordered by the compiler.
    
    The check for move_in_progress cannot be removed from
    _assign_irq_vector(), as other users (io_apic_set_pci_routing() and
    ioapic_guest_write()) can still pass active irq descs to
    assign_irq_vector().
    
    Note the trace point is not moved and is now set before the irq is
    marked as unused.  This is done so that the CPU mask provided in the
    trace point is the one belonging to the current vector, not the old
    one.
    
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: e267d11969a40f0aec33dbf966f5a6490b205f43
    master date: 2022-12-02 10:32:21 +0100

commit 0b999fa2eadaeff840a8331b87f1f73abf3b14eb
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Dec 20 13:40:38 2022 +0100

    update Xen version to 4.17.1-pre
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 06:57:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 06:57:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467576.726615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7t2E-00009f-CV; Wed, 21 Dec 2022 06:57:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467576.726615; Wed, 21 Dec 2022 06:57:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7t2E-00009X-9Q; Wed, 21 Dec 2022 06:57:02 +0000
Received: by outflank-mailman (input) for mailman id 467576;
 Wed, 21 Dec 2022 06:57:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7t2C-00009R-6G
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 06:57:00 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2081.outbound.protection.outlook.com [40.107.7.81])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9c2ca8f-80fc-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 07:56:58 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8196.eurprd04.prod.outlook.com (2603:10a6:20b:3e9::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 06:56:57 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 06:56:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9c2ca8f-80fc-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mZtPznVuxIB3k1QO4gqVzYETWY95OW9V8BDP/NlJNzXG7CquD4Nqai1I3bZLOsB7XPd4V/DJq8fv2hT+E9FSrPE5GiWdemSI1IL8K5/LRa+B4hubEWu79fohMAuc34rNGLa4vHDvuqX6jE3e1cNBAOr/8//H1F83lctJuQKL9bjfLSjl0GyV/gu7CMROT0a3hcKX8I0JMoEGVrMee0KwUWiEkgnrxKv0Fv//ahVHpwBm+9iqlGchG52uJaxTREhS7AKI0JjNj0VBC7wYLmJe9UoV1MtUzwz1jPKrbXD3QNZd8rLypHTsMjNsf0f2xbSN+dZBJzv3XAUMz+iceCA+nA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zPjWrfvNt2Tbc1Uvv3IB3if8+YSTHyMS+Vhnt9u+/to=;
 b=da8BdblrZcLNF5ZjoHfW/yJETHS2aM97bgQuD/eNhDR2MBPfEagM7Vo3QkVvsQra4R0NLYTERjQsSLJKCggFQRxNi0X0wP/h2qoulQWl7dq5kPG7/X2PZ+8LpylwtA/AxuHldZHIPBJ811Ins3lzIVokSvmv3CNFLo0cCvTPznk0DlAI3tolGVKM8P3CjJLv5h8RYWjQujVqzKiz+PJV+2BZsKgI/3IWXloGAZPIM0QL1tbZcGKEWZYLHyRJbYPpMk5693vQBry5NV/imTpavt96sDAujEfq+0oAtymZWKUhMu2Y8PAJTQBlJnO2yAoFgkwO8sy+TQqiKurLc/pNIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zPjWrfvNt2Tbc1Uvv3IB3if8+YSTHyMS+Vhnt9u+/to=;
 b=Lpey+meoL5lcrZbwQtpHDR1TVoBgCyy8yhtdBcoRWi6J2521LobW4fcVE9hPa1Ob8XPSJwZDUCi7d5nYDXmKZu7Bl4qzQo7wACLYuz+ki7ZfYIyo9s8i8bWMV/5JEM4PUiMJeOTtgH5EqqzS1xWNcLnrLP3vPd3ze4tt2ndcvsJNaa1eoJlqZaTaB72B9p3wvIo48+7ncQwVxmU1lZ10dTTGNWLgbAHGjDukAy+JRazStSflSq1XqkqNK3doxr5IKeaqGxUW8gBih4Bve58PEA+1fbvYD7sgKScebfimmJb2R3cx/itYul5cnI5tl38cgW1y0Wl4WC7OFCWoJwnkOA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3e0838cf-8fcb-228e-3f61-6101c28bd5fc@suse.com>
Date: Wed, 21 Dec 2022 07:56:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v5 11/10] hvmloader: use memory type constants
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <24461a6b-b118-aad9-6407-d215d07a2924@suse.com> <Y6H0siXlkOwASOdk@itl-email>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Y6H0siXlkOwASOdk@itl-email>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0138.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8196:EE_
X-MS-Office365-Filtering-Correlation-Id: b1e902b8-57a0-40d1-b1e7-08dae3208d0d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YAjIakxj44aQP3Hys2ppfhFI7xngBLeK0VUMNuv6j56GKvtarpCCP1Z3iJJtrr1mYBvFc2gVCKB5njRX91ddf5dGek6fxw4eWw2Qle2Ko5Cuai76oKqbYJ+GpRPtpG6NtHw/A14LbnvOPY1WZBuuoOSBaxfZwGiRaySR/cL4kTVoZJjNIjLYrV7hMiiv82qakPhWUDSuOKZQcdTaAu9ngn1Y+DUJ2XAKQzah/qPQKeatUVhy/XYkVQjs+EgdGKX/TI/SAayuhyP5EY3XDh5oS1ClALGKRgseqso6VAt88es7pXxJhqKdTasnEsqO1677f11E6TS7J5slEDO3tuSMxX97LuepWOsUGSj+BZl28KTwai/MgaLjvV2gBLfjaFwAE7Kx01Crf5FnsmsqIc3EXn8cvEuDhGmWLppSlLT3113+6kZk57Uz7rcq9lJsTe4LX5a9vz6d4rxh+0S9c5mGjuU4G2R/HyV/sqmSQIX5qrPDd+AvpGXiXG9lxjJ5qEbC3GXwmTZ+JeQaZriZnNFiJNEpAXUZpLoyTp4GPt5xZlzvwIhuttIeCMUtJjqQp3udthx8BNswdo04u8o7eW8y6C+hWcoHx9GwSgxkkNfuXuf2CBdhUfqdGrAujZm6gsDu6G8G3lAYoK+nIuSCCx1Vu5e5U/raOvEP3zWJJzLK5l+nPg+POLAUyngGyNIDGJfTUT1UkihpInGdrZzDoZbi6t/MY5JF15kruEMIdBP4uyM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(39860400002)(366004)(346002)(376002)(396003)(451199015)(31686004)(26005)(6512007)(6486002)(36756003)(2616005)(86362001)(5660300002)(41300700001)(31696002)(8936002)(8676002)(66476007)(66946007)(186003)(6506007)(2906002)(4326008)(66556008)(316002)(54906003)(6916009)(53546011)(478600001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T0c0NUQvc2VrZlROMThBTi9ITjVPb1dNZHl3dk5vK3l5RldXcUpGc1lCc2pV?=
 =?utf-8?B?bkc2QnpaQXBQYUx2WUtXeERjTzRwdE85eE5EbVAxYUdsKzNJMC9SVDYvTmlE?=
 =?utf-8?B?ODRkcnNUUHM3MW9zLzJBeDBvZFhORGd6NnNIQUJNeDhVeU9JVjYweEtOaVlD?=
 =?utf-8?B?NVhUOFdJWUtkb0pEZGFrdk1vVkJ6Znh3dHNFV2ZTTVFQaWdFR1ZnQXFZWnpN?=
 =?utf-8?B?TTVXQittOTBUNEhNdUNJZmxoc3lvTExoenpaZ2s0ejV0djN2M2NjUVFXazBw?=
 =?utf-8?B?VFBCUkRYVWE1QVlBOG9ZblliMVBhRllKYWxYTUV1dDArWFRUVGJnd25Hb2d3?=
 =?utf-8?B?OGFBZkF4QkIySlNQa0l4NVpONmo1bkFUOEFVOTVPNTVPYkMyWGRPQys2RUlh?=
 =?utf-8?B?dENEc3lDMWx6YWg5aThyaldGUldDYW1jaDRENkROM0xuQTlqeFJwRjhYOGVH?=
 =?utf-8?B?alhnT3NWNmNKalh1NExxQkI5T0R0RlVWbEV0ODVlWm9XNmhiVWpROWwzNVI5?=
 =?utf-8?B?TXhQb1g4bTlUeXkycUV6dEJsbkpkNFp3OWFFTTRIdEJLMHhsS1dOSWgwclg1?=
 =?utf-8?B?cUpHNi9FeUdkT0p2UkpBSnpTYi9RejMvTVVWMHZsWWwycWRPZlMvN3poeENQ?=
 =?utf-8?B?YzlQU0NVcDRhZnAxaHBXMDhHaG54UXZjd1NvM21adkdySTN2VTdYU2lTU2Vp?=
 =?utf-8?B?VWxGeFlUVk5mZ3hzRHI4ZURCMFpzdmt1TXREQVVwMWNucGVPZGJpVFVCN0Jq?=
 =?utf-8?B?Vlp2UXVvR1hoWFhCUmNjVXRGUnRhRXF6akdrSFkxYUovTHRFWHI2UW1Gbys2?=
 =?utf-8?B?MzZmcjUwMTczaiswSXBZR3VZTHJETnJLZzB5SUgrMEtKd0ZnekhwL0E3Mkxl?=
 =?utf-8?B?bTBZRUF3T0dmMEFweVpXaGFxTmhYMWJOaG9vaTFXKzJML0s4M1QyK04vaW5q?=
 =?utf-8?B?Q3BieEVRRTJZTWcvcXZGcFVnNldRSXZLOGdtak95YTJIZmcwT2Z4QXAzVDMr?=
 =?utf-8?B?ckw5Si93bHBFYkZzWSt5ZkoxcVN1UC9saWRtYlF3RDAwOVJaMVZDYStYS0gw?=
 =?utf-8?B?aEZYajg2dU9WU0R5YlVkeC9WWUZXNUtJU1VIblhsalM1dlM5N0JLUnlhbVlT?=
 =?utf-8?B?MElONTdlN0lybUpLRDlBV2o1NEVTejMzc05XT3hoT2xiMnFiTmxleGhvcjlP?=
 =?utf-8?B?aEpNUk9xenBVdTIvODlFYzlRY0RCRkhNdGxIN3hqVjEwbGIrNmRrT0QvcGxG?=
 =?utf-8?B?dU5QWlptbXdLbEtKNGJVbTNVSTB6N1dBMHJyTDcwZG9oalZNRjN2eUxrNU1G?=
 =?utf-8?B?azlyNngvbTBNdG9IK1FHUGoydTNRMEJxS1FSTWQrOGNrUTVsbG5NdlpkWUtu?=
 =?utf-8?B?ZS80QjRjVkVzcjhtRm5rSTZPVnY4alZpTHpTTFFnM0xSQ1dUbDJ4K3FGcXpP?=
 =?utf-8?B?VUV3RnNhMm0wNTVYM2RpVlp4U2xkOVN5R2hia2krTmRPUWdtS2xreTg4dFlF?=
 =?utf-8?B?S3RGMUF2KzQwMFlJTzVTUzN0Y3k2cmg4R3hKOEFSU0pDRSt5d2VMRkhNQSsw?=
 =?utf-8?B?SlcreWZwSHEzd0tUekJWNi9jMDJ4WTVWaVRVM05aU2dFcDNKRWhsRDFUV0li?=
 =?utf-8?B?ME1McktmQ015UmZjRllnVjFuc1UxeHp2SFhUamdUSWVEN1pSa0ZoblRPNG1V?=
 =?utf-8?B?TDVvRSs4dUNTQVFYMHFvKzA5cWdCMFJPbWZPcFc4Z0RxZWJIek5lMXU0T1dh?=
 =?utf-8?B?cnVOWWdKUm5UWTNESW5iVHd4S1I1VXFKcVpMYWlXN00razdZVXd3MzVEQ3JS?=
 =?utf-8?B?NHV1TmZkWngwWVJkL2UwaWJkT2g3VG5uNHNiV3FsaUVqSVV6NnQ0ZHdDU3N2?=
 =?utf-8?B?Nmt5WFN4RU8zZ1NFRklBUFJQUlNxOEljdEFta3I0Q0NiSVdxdVNKM2lyRGZX?=
 =?utf-8?B?a20yaWQxTWJXYmpWa0lNNGRUSEgzU0Y1ME50c0Vqek1aQ2lNZDJ4QnQ5dnls?=
 =?utf-8?B?djBhY3ZrVnNMTEMydldNeFluZ3hZNFdkdGlSVlpzNjZmTmMzQkQ3MFZ1bCtx?=
 =?utf-8?B?eUFHMENsT0Q3WC9VVm1PY2FaNllEZXNUK2Z5OStBSVNRMVBxQ3JrRzJwOFZE?=
 =?utf-8?Q?I+xFjYFs/LZXacKLF8pU//hg2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b1e902b8-57a0-40d1-b1e7-08dae3208d0d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 06:56:57.3008
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: k1hBejCbjOurCaUPvMQ7g7qf/bW9TtWRbUJ7Umpc801Eb8Md9p55xKkEO1sElkKdxSny9gJCxnaV1cQzs9NP7g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8196

On 20.12.2022 18:45, Demi Marie Obenour wrote:
> On Tue, Dec 20, 2022 at 05:13:04PM +0100, Jan Beulich wrote:
>> --- a/tools/firmware/hvmloader/cacheattr.c
>> +++ b/tools/firmware/hvmloader/cacheattr.c
>> @@ -22,6 +22,8 @@
>>  #include "util.h"
>>  #include "config.h"
>>  
>> +#include <xen/asm/x86-defns.h>
>> +
>>  #define MSR_MTRRphysBase(reg) (0x200 + 2 * (reg))
>>  #define MSR_MTRRphysMask(reg) (0x200 + 2 * (reg) + 1)
>>  #define MSR_MTRRcap          0x00fe
>> @@ -71,23 +73,32 @@ void cacheattr_init(void)
>>  
>>      addr_mask = ((1ull << phys_bits) - 1) & ~((1ull << 12) - 1);
>>      mtrr_cap = rdmsr(MSR_MTRRcap);
>> -    mtrr_def = (1u << 11) | 6; /* E, default type WB */
>> +    mtrr_def = (1u << 11) | X86_MT_WB; /* E, default type WB */
>>  
>>      /* Fixed-range MTRRs supported? */
>>      if ( mtrr_cap & (1u << 8) )
>>      {
>> +#define BCST2(mt) ((mt) | ((mt) << 8))
>> +#define BCST4(mt) (BCST2(mt) | (BCST2(mt) << 16))
> 
> This should include a cast to uint32_t, just like BCST8 includes a cast
> to uint64_t.  It doesn’t have any functional impact since none of the
> memory types have the high bit set, but it makes the correctness of the
> code much more obvious to readers.

I've already followed Andrew's suggestion.

> With the suggested change:
> 
> Acked-by: Demi Marie Obenour <demi@invisiblethingslab.com>

Thanks. Since I've addressed this differently, I'll hold back applying
of this.

>From a formal perspective I'd also like to point out that an Acked-by:
from a person not being maintainer of any code being changed by a patch
has no meaning at all. Only Reviewed-by: has a meaning (but of course
implies more thorough looking at the change than Acked-by: does).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 07:40:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 07:40:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467587.726626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7tiY-0005cG-Mx; Wed, 21 Dec 2022 07:40:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467587.726626; Wed, 21 Dec 2022 07:40:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7tiY-0005c9-Ia; Wed, 21 Dec 2022 07:40:46 +0000
Received: by outflank-mailman (input) for mailman id 467587;
 Wed, 21 Dec 2022 07:40:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7tiX-0005c3-Nx
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 07:40:45 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2059.outbound.protection.outlook.com [40.107.21.59])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c5c0b2ed-8102-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 08:40:43 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8767.eurprd04.prod.outlook.com (2603:10a6:102:20e::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 07:40:41 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 07:40:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5c0b2ed-8102-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lT7whfsKrBOj73j7IJD4TlrPmP/q+NYBQ2R8iLlKbS+0F1QyOyRu3mtSrmt/TxRNO4IxI744ueKLwn2q43U2cKTFSU7dCtajhuW5yJfcJyKQm54QRf90+XD5fLf5c0qxHEqXCjEB2ugNPX6Z398FE2GNCiDeT5WUVr42TkEsGnlsQM4mvN+tBc3RwmnycpRi74keupagNA/rgfj0wbCMJckbzcnPDzqApMMicYNxvBeT3DFW3iTCnvROjsOrS3/18uDrXNSvTM4SXlrzC56n3ZqmDXOmQcLG7KW41B9Tu7ZnLe0EqHRCq5nQ1L/XYaZOdwnw9OoClIiKh9Ar28fCRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4qS/4CRUHSK8e9LkSyYRhb7nEi08fhJOfay4BcNaKR8=;
 b=lv2Xle7MG4KBTRRzelB6OaHjz/lAkdA6hhnDqIr86K7WvxsHvKC/EH/r9TYcYxzA1Dlt9TvXDZAwUsMju+PzKS+GZmj3OkVuX4Z8EreCyKz2Vw1R4ke+Ta11JGt9+y6BBKwAUQ4RMR6MVUbCDvKfU+0A+T/KmsZbQEbcItSq4fA+3xKHiRvUFYnoiX9GhALH+FPfE7CHsS1V3gWHhdvZcO7I3alrziPvTZjA1s7wGRhXW5x29DV+GcMUirkOQEuB5cdNvc7YCNHuMBKwoi38alJV8on7Uuw3Q6yLopb6tlObXkMiUThgM4CMcCVd7VRErSTqAJis03D6dJ0G+ZsR1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4qS/4CRUHSK8e9LkSyYRhb7nEi08fhJOfay4BcNaKR8=;
 b=VQ3kPS2ZTdw762woduA48S8/Eapg9LykCEqAzXanFEp/28bUp/ol+y8e7eKBo6KNnEKWicnR6+mZ1bpnlLGRT8f0mS1pV80iPHKRTR7TQeGb+n3wKP9jAy7EdfSTg0YqBfauh6ZXJeMyH4zboSTyeIJpjNnX7d0Q9r83N9kwKr0/H5cH1OZd7POvUNpmz6ouAPO/e6W5vh5DzHJWWefpEa8jrmoyZ1SXz7ZPFShURm7+WMrk9s7Hcean2Rf+LdoqnHWbjgn9DK36GGEnubF9A3ujSmUuOkTeEcLgAYv7FMbt9wMmB6Poe/l35/8wuKboKADn7oCWZMUF6T/sCToPGQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e70bf233-4444-8c65-8cca-1b7ea74c55d1@suse.com>
Date: Wed, 21 Dec 2022 08:40:39 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v2-ish] x86/boot: Factor move_xen() out of __start_xen()
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20211207105339.28440-1-andrew.cooper3@citrix.com>
 <20221216201749.32164-1-andrew.cooper3@citrix.com>
 <520cdde9-07e1-fce8-56d9-205fc31c62e3@suse.com>
 <c14dacf1-7057-d860-7708-2dd13e8d6a4f@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c14dacf1-7057-d860-7708-2dd13e8d6a4f@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0066.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8767:EE_
X-MS-Office365-Filtering-Correlation-Id: 730782b9-2846-4398-860b-08dae326a8e5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ha1d6YhP5zPXse31Y/ngRx4+NXVKVNG1CyyQAWrYXXQzOQRJ4c7WZ9ss2FNafuKvPc+i/1ti9FmMSsPfQxjGRxl6c9sg7AZAB8zu5CL/1T5LNHIpHjgccrPAdfmHttriqVv/+2ggPZptyOk3EgMor/Nx1QXQw5eK9f0wNk1QWBtlL6b4BXjSgP1nKRUz13G6bIXGhrU/xudRSuknSbOeOdiRU0JcMDkme4bBjv86NNYzVPbrH/VfpJ0nrr8xeX/Ec63ouUcjSU3q6k8/kNU4v3nr5ss5CwtRWbLx1U7ksn96RbzorOPYIm11+W/EoLIuGI9Thx4Ynk4sAvMjzowty3qfLazvHBQ8bZcJaeokP/35qFm7PYSRdVWhqhs7+RDD2MhPiFOY0RRDmiNGFbTOWZzUOmOYn/d+5+kBlnrGBNwBPdSwHr1x7ihoRS6SRyNXSTDgYBMZMrKLcyu6VCxWGq+b0u+Kv2iekh4asxjEoxMwp65J8ylOfwstK9YAETZsRFzSSIIu8i6Co6rlRZU163EJuJy99fyDc9T5p4aiMwlsIpYtRZyrQse/iogSKwUXXMFIHUi1vQs+bH44S+FaqDQL1iTB46DuqeOP0Yyqoa+oqwfEAPFGxOwSwLXA9MmYZcbZEjmC7+Ou0acUjdut6XHoxrmZantXSOyGqFmJ9ZluuZeStX/Ht5xLxplCCZ6eJbSydd2VbynHv0YuTmnjRC9K4ICyMuLg767IcMnbJ/Q=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(346002)(136003)(39860400002)(396003)(376002)(451199015)(186003)(478600001)(2906002)(316002)(6486002)(54906003)(6916009)(36756003)(86362001)(83380400001)(38100700002)(31696002)(2616005)(53546011)(26005)(6506007)(31686004)(5660300002)(8676002)(4326008)(66476007)(8936002)(66946007)(66556008)(6512007)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RUdmSDFRT1hKMDdXTzFxSDlQcVhQZlhmNmZ3SW5sdEdCTDh0TFJMZ1A5SGpv?=
 =?utf-8?B?Z3hlTXpDUm9Wdi90RmdlR3JpWHBac21ZKzVwSlpISWYySlRIbjB5cStsdWMy?=
 =?utf-8?B?U0FWWS9aL2wxWjJrNFNzVUNVOGp2MnUyM2pOQXpscTJsMkE1ZDl1L0xrM2Nn?=
 =?utf-8?B?QnRrNTlQZ2VTcnI5M2grMDQwOEhGZktrNm50TVJKeEs5ZWNJZk1JQ0J1RXpp?=
 =?utf-8?B?Y2hjTE43OEIwNHBQa3FEZXU3NWFFZkdlVi8rajlnVWxkUUpIZGlYQUx1Uy84?=
 =?utf-8?B?QzFtT3pMYjRjcDdkM0J5T2kralFqRXNwNmhRQ3BFQ3BpZWdyN1JQN1RkT1dX?=
 =?utf-8?B?TUpmLzNSQU1XYnF1WTkvUXAveEpKOHY4a3ZPcE00Mk9RMzJROGxxaE42cFBE?=
 =?utf-8?B?N2djcm5OczBBZHp0YXRZK2c5R0Z5a1htNFJzNjdmeVN4Ti9tejhkZTJReXd4?=
 =?utf-8?B?aGZ6NzlZOU5nVWhNWjNZMTQxcWJVN3RJcy9SQlNic2phMWtYWWlOWTkxaDYr?=
 =?utf-8?B?U0FBUFY0U3ZpdVk5WERkQzVvVEE5TWExQ0RodlRMQ3o2QWQzbE5ZSlcybSti?=
 =?utf-8?B?WW5xUWpLbnVmSzE4blVydzJ0NWkydjU1YVduVHdLaG1MS040UFlNN0M3VUtR?=
 =?utf-8?B?N0NRV01WbnZ4cTZrQzRGOTNJZHFhR01SdkxKS2tLckRReVZSanprZjJNSnY5?=
 =?utf-8?B?SVQ1N1V1MmxKWlJBNXIwL1Blc0MzR0F1eFF6bHJERnd4SFIxeVhSZGVwQS9L?=
 =?utf-8?B?QmxEalpwekYxYW1mYUpOSTVUUGdrTHFURVJNdUhvWWF0RmY5THpaaUg4M1dh?=
 =?utf-8?B?Zlk1Y2tkT1FvUTV2OUFkYVRLMG41aE1BUHIvTGRPQWdrSzMyZ1VGZVo4Mm9J?=
 =?utf-8?B?YUpCQVNMQVhxeEtFNlBSTVh5WW1reXFxZ1FMQ1BSczR3bnNBMDdaY0ZoUFJz?=
 =?utf-8?B?RFZtMzdzSm9lWisva3NzZEZ3TzZpT1J6YkFqVEMzQVFtc0hXL21PQjFQT3dW?=
 =?utf-8?B?dXVwZ0o3Zk0zZ2d0REM2NllSdUx4R05xeXYxVVQrQWRvMWZwdE5MMTRsam9P?=
 =?utf-8?B?TWJaK2pZeFlwbEpxKzZRK0M4Q2YzcE9sN1p6NUZCNmxkTCsxZ09TT0ZUeGVq?=
 =?utf-8?B?QTBZSXJJbmM1ZlNKdTF1VFI1Wksyc3RUajBFVDU5YXE2b2ZzdVhsZ09sQlVF?=
 =?utf-8?B?U2EyZkkzZUdPN2FFWUJkSUk2bzdxak4yMFo1ajE5WEtTNjRRWTVJbjZ1MzJk?=
 =?utf-8?B?cm16N01aYmUrQlVEOHZRQWNJd0hTVjJWWFRpYlZMZllJNUx5aGpmbldnR2Jz?=
 =?utf-8?B?WTIyY2J1Y3JMQk9hbDBFTEsvdGdlaWVhNjhDZHhOeCtBd0ZSUjJ6aU5yVjZF?=
 =?utf-8?B?ZUpBeGZWcE9RSVFXZ3RGczA2UERuVjRnc3diUUZyNlRrWkJzamd1ZXJjemdo?=
 =?utf-8?B?R0MzUDVScTFCemozQnNueFVsdkZ5YjNBT1h5MkExZlE2cHBBNmhjNW53aU5o?=
 =?utf-8?B?SXlaeXRjSm9Cd2JBL1FWeTlVTHJ1ZENJQTdhdXliMVpmTmFEVjdCMmZ3YTZD?=
 =?utf-8?B?WmI3Y3NUWDVSTkFxRnRlQnZ2VUpaMWQwSUducVBNWUhoSDRxbWpQN1FQWS9N?=
 =?utf-8?B?eUxnWjUxSkhyV05DdWpwOFYwekJCTFZwYkhPUFd4d0E2OStWV1VUZnpVVjFv?=
 =?utf-8?B?ZUEyeUpWMyttWlBuYlVhRUUrT3ZBQnBJaDBjbTYycDJ6bFIrcll3ZWZTYkpI?=
 =?utf-8?B?K1FMRHpjNGpFN3AxcU85TVBiTnRRaiticTV2UTVzb2UxcklScktJdnpaR1lZ?=
 =?utf-8?B?c2V6WTY0TDZXcDVlMDQvaTVxdHVNOWRpMFpsWmczNkVlNW40L2hENDdOK0dm?=
 =?utf-8?B?NTgyTzJUT0d2SFUrOW5UVENCRE1QS3h1eEltcEJrU1kyeVR5eWxtc25sVlBw?=
 =?utf-8?B?bkFHb253YS8rUkRVaVY1dEtrRWFsaWQ0V2cyTVZuZWU1b2dPYVk5eml5eEly?=
 =?utf-8?B?NXdCZ0tzVy9JMjBXWFFWY3hVbFlRekJpckN5TTlUL0sxT0FOQjZ3VTQ2RVo4?=
 =?utf-8?B?Q25VU2dXcnVaNCtQaDV0ZGh0NnRmOVJBNElwaVh5V2Z3b1RCeUFhb3hNNkYv?=
 =?utf-8?Q?Fmp0lj9Sihx/E0zRFjHGjr2gi?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 730782b9-2846-4398-860b-08dae326a8e5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 07:40:40.9785
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1p7GKI9rPXLJNFzklbVxaS9lMbcZX8jL8YpqolqRB60Nc84MmEIAPb9pD1kKmWREJ3VwVIlUC/ERUNnXYMogsA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8767

On 20.12.2022 21:56, Andrew Cooper wrote:
> On 20/12/2022 1:51 pm, Jan Beulich wrote:
>> On 16.12.2022 21:17, Andrew Cooper wrote:
>>> +        "mov    %[cr4], %%cr4\n\t"     /* CR4.PGE = 1 */
>>> +        : [cr4] "=&a" (tmp) /* Could be "r", but "a" makes better asm */
>>> +        : [cr3] "r" (__pa(idle_pg_table)),
>>> +          [pge] "i" (X86_CR4_PGE)
>>> +        : "memory" );
>> The removed stack copying worries me, to be honest. Yes, for local
>> variables of ours it doesn't matter because they are about to go out
>> of scope. But what if the compiler instantiates any for its own use,
>> e.g. ...
>>
>>> +    /*
>>> +     * End of the critical region.  Updates to locals and globals now work as
>>> +     * expected.
>>> +     *
>>> +     * Updates to local variables which have been spilled to the stack since
>>> +     * the memcpy() have been lost.  But we don't care, because they're all
>>> +     * going out of scope imminently.
>>> +     */
>>> +
>>> +    printk("New Xen image base address: %#lx\n", xen_phys_start);
>> ... the result of the address calculation for the string literal
>> here? Such auxiliary calculations can happen at any point in the
>> function, and won't necessarily (hence the example chosen) become
>> impossible for the compiler to do with the memory clobber in the
>> asm(). And while the string literal's address is likely cheap
>> enough to calculate right in the function invocation sequence (and
>> an option would also be to retain the printk() in the caller),
>> other instrumentation options could be undermined by this as well.
> 
> Right now, the compiler is free to calculate the address of the string
> literal in a register, and move it the other side of the TLB flush. 
> This will work just fine.
> 
> However, the compiler cannot now, or ever in the future, spill such a
> calculation to the stack.

I'm afraid the compiler's view at things is different: Whatever it puts
on the stack is viewed as virtual registers, unaffected by a memory
clobber (of course there can be effects resulting from uses of named
variables). Look at -O3 output of gcc12 (which is what I happened to
play with; I don't think it's overly version dependent) for this
(clearly contrived) piece of code:

int __attribute__((const)) calc(int);

int test(int i) {
	int j = calc(i);

	asm("nopl %0" : "+m" (j));
	asm("nopq %%rsp" ::: "memory", "ax", "cx", "dx", "bx", "bp", "si", "di",
	                     "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15");
	j = calc(i);
	asm("nopl %0" :: "m" (j));

	return j;
}

It instantiates a local on the stack for the result of calc(); it does
not re-invoke calc() a 2nd time. Which means the memory clobber in the
middle asm() does not affect that (and by implication: any) stack slot.

Using godbolt I can also see that clang15 agrees with gcc12 in this
regard. I didn't bother trying other versions.

> Whether it's spelt "memory", or something else in the future, OSes
> really do genuinely need a way of telling the compiler "you literally
> cannot move anything the other side of this asm()", because otherwise
> malfunctions will occur.

Something like this may indeed be desirable in situations like this one,
but I don't think such a construct exists.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 07:52:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 07:52:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467596.726637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ttJ-0007B4-Nh; Wed, 21 Dec 2022 07:51:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467596.726637; Wed, 21 Dec 2022 07:51:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ttJ-0007Ax-Ko; Wed, 21 Dec 2022 07:51:53 +0000
Received: by outflank-mailman (input) for mailman id 467596;
 Wed, 21 Dec 2022 07:51:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7ttI-0007Ar-MQ
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 07:51:52 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2054.outbound.protection.outlook.com [40.107.22.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54351911-8104-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 08:51:51 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8836.eurprd04.prod.outlook.com (2603:10a6:20b:42f::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 07:51:49 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 07:51:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54351911-8104-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ek4CYI3L+JZvEzK0DHECvLkbjtSHaVUPgMcyNnSaTO1gYOq/2rh+4VNgWj6WxqQap0bcS3Dui+M6hCu4A4O5Nsu0/CPVoGC9t/R/0UpSLW3lXvc21SvdFhgz2MlIjfFSJPPsY4LrGzoKhAQctFmc1GV3NxAY/gqGx4UWJjIYQhRROth0p/M9mM6rxsMSv8cCSZYtRtXCOer+8otelim9ab6eEGFAedHFJG1/DavtchrsqpVRaF/Fa1jmIaCjDC7yXRalR/qc4qJH8X5AWuB+Og7gwmCQL9wOuRHPtWuqKHSOuC77LHf2NLdZJEQzWEvAHMbNcr+WuwO33a/mgiEY0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IQq/3iVC2wrZ3RIdjdGxTqD45D3qADRObX10SilQecI=;
 b=dk26cDvAafoIeEeQ1HVChjeXnRhs11gwKbgXNscWfzmBEDay+tE6kc5ebh8Pp5XK+xNl+0f2vQt/tj3TTXNssGGrAqaqzgPbjyx4IiyOYnPvqvoXzpHKN2XRbJdjZTtIdpWbxlkHtN9COk0HFiHWhnL4Ac67f4bqZ190qyUhICiMtLHsrw+izQwS+AxuvUD34U7I06Hc3fGABNs0Ruf1Bz7bGx3k7s5GghYwAkO+4E+f1ZH7ezujADnxroy+qQhr+nx7rSoaYi8sZSG2hfV1GPN5HqyDMEq9Ati0P25cLwmTN6ixzVe1Wo+Ka82gZr6iHEv7isOEGbTHE2AdqdGzxQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IQq/3iVC2wrZ3RIdjdGxTqD45D3qADRObX10SilQecI=;
 b=jFCXjhAiJQcMhFO9aWtwgSuMbskHZfUVvE1xi2Ph70BNJZwlWiXQ9iy23mtJKKkN8v8/TJTiwJJahoMfPA2zHE9GEaajT+qNOjD5rvhDrivFFoVcO2BQFB6wi4C0iMecBhmJeir4Dm/c5XhpAB2DZ7IkgMXtz5xXIZ1qpbbVJrz2C6oxwlMKdRKmuIuak76sVqUxKTKQVBMjNhEhwvUs7dZo36rhRvk9FO9pyesjmmL7aDndK3GdQ5L8rIncX5MPE6JvQCwmydaSYOWNoDimZxYHMrClzgzCY5iulSc1THKHUIH0jbTtwiBRvwBcl30W63ZbtkE3d11IDd3NtkSbQQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <79748e9b-c2c4-a8bf-f7b5-3405debb3c00@suse.com>
Date: Wed, 21 Dec 2022 08:51:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC 1/7] x86/iommu: make AMD-Vi and Intel VT-d support
 configurable
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-2-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221219063456.2017996-2-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0025.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8836:EE_
X-MS-Office365-Filtering-Correlation-Id: 32c5582c-d547-402b-fca8-08dae328377e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M5HxtrBtcoA/pZPpBPHjGfRA0M3P+mNYeQkLlyJj21laY56QFKlCn/CHCRsacr7KcvVrbwa+qyVRY3M3AKUpsPwLp8vKEY3iPFPcS0GVWKiOy/TIFZ5ilbLQzSwXnby64mIDpcpGpLxbWBwrLUAnze9mZVrfVWhlbQOmSjxDcbasZqiOL+NH42tM1G2r7c89mh4LRC98hVfoceQ48I4daGu8CKLExCKnIKT2IE36drXeKJ04aLG/5YMvQd08J1lRnoSp0WHH5ie7MxzKdwFMBnKhcvLf467vw785WitsjuR6Bql1PLW6fz5sreV+P+9INObpHEIRkxmZY45JioeiUwkFq3+DW41mNiLkwdnV3oAHWJK2JW+7+ZNBKfGdonvQHz//XfbmMGtx/QE/YrtCc5CmyhN+c3th/tXDojxFpw1K/qBSj6Pidy62227K1s5toaFhyRSuCdVw1zyAP2rIn18Ky2X3XhcP1wobLVparHppHMElIjEFcbgGPz6G6/azH8qaswtLrkb3mcXAHhAObG1zUjAc+mA+IJ3kW2Mwd/r7CvN7Y2EzOlUt1eqLjyEIbgaTc3FxoWNfTlDTz1OaGyFt0lZiwOJlesf/mUcnarvqkYbu/2fJCxILoHIpIDM5B09WQnIboX83BIvUbSDqRJUPDPFa9P18OQwRJli/m1W8wT70gjkU6r9xEwBIkLf67XNo3Rzwox07xnpXNPSk/Nj5+Mj3Fj6dLkqsZlJVD+A=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(376002)(39860400002)(136003)(346002)(396003)(451199015)(41300700001)(5660300002)(4326008)(316002)(478600001)(54906003)(8676002)(66946007)(6916009)(6486002)(66556008)(2906002)(36756003)(8936002)(38100700002)(66476007)(53546011)(6512007)(6506007)(26005)(186003)(2616005)(31696002)(86362001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VFdEeXEvZ3Rzakk3VExHRUVOaGh0b3lDQXZPQkdUclNjanlzRFFYUk5UUy83?=
 =?utf-8?B?SGNjazRXa2ZETDdyMlRleHJPTEdYTUUydUJ3TWpDQW1pRFpBYU0wYWlEU3Iw?=
 =?utf-8?B?b3NUZXNYczVDajJMSXB6WHYxbkkyK3Y2QmwwTTY5VXpIYUNnRlNPSEFicDFI?=
 =?utf-8?B?M0NlREJ3SVZZclByTXFxUjhYdmJaTGFBdnFOenZja3N4czNnMWxjTEtNTWdT?=
 =?utf-8?B?RTdDKzNZd2c4cGprMm0rTGR1SW1hdWlTVVRuMm5jeUdUejk0eGlnS0xvZitz?=
 =?utf-8?B?WVlmaHF6ZkYxcmNoZzFyM0VIZ1FzMEc3YVdMTzYrK0JrallSVk1MSWllMzFh?=
 =?utf-8?B?TmR5MWJmNG4xTWFtSy80N2FETTNJZHUzcmMvZWRLOXBCYzlJTVI3MTJ6VXpq?=
 =?utf-8?B?MjJkQ2s1aDhKbWhyZjFVQnBEYTVod1RCWnFpS3BiV2M1eVZoZkdEdWk3YXNa?=
 =?utf-8?B?RGwrT0pMdm9Da0hFOG0vb2h0YzVVN0U5WFdLSURLNFJIYzF1M3JiNUZBWUl5?=
 =?utf-8?B?SlNJWTFVeFBzU21hQmtIeGtSSTFxMGNOOW5RK2lab0d1aU00MElBU2krZWFL?=
 =?utf-8?B?WVlQQnNHcWtLSG5oakFWalNPOXRxZTRjcEJLWnNyeUovOFd1NVVjUUtpMmsy?=
 =?utf-8?B?RmE5NHRyRndaRnFyam1aTXlkUnFVMlBiVU5jMzhiZjYvdjVQSzdQQzgvc2ho?=
 =?utf-8?B?SzdFcjB6WWhiNDRVc2I2YWdZZ21SUHc1YktaUmNQTWlVekcxck1MOXVXbjJU?=
 =?utf-8?B?NDNDeGlOS0x2czViSFVlODZjRWt5N09YUjlYY3NPMVg5R0tsNVNYbHRTT1Az?=
 =?utf-8?B?cmYwNE1ndWRNUVNjZ091NG01UlR3dWphRHIvVGZ3ZGFVSzFpMzA3ZWRjQkhC?=
 =?utf-8?B?QzZvR1MwTWdrUTJhcXJDR3ZYaHBFUzNya0xUazlsMWFJb2hnQUY0VytocFhz?=
 =?utf-8?B?Q09HOTNsK0FsQlZPdlNXaTl0OUFzWUpKRUs5SXRDKzJndVhsOUVkVXFDRW10?=
 =?utf-8?B?MnpTVFlPTXRyYlFVZkNrMU42K1k0T2tRbkJzWHFwd2VKN0Z3a1FYN1JmR1lI?=
 =?utf-8?B?QjhNSkUxaFExa2c0M3pyWmkrc1BXSldPdWY4cE1yc2FKU1dXSkxHQkRzNGlp?=
 =?utf-8?B?cnlmNEtVSjJBMjI5QXhnRytpMFBHbm4wT1FPRXFkeEJydm1Fc0pOTGNWYXJR?=
 =?utf-8?B?eE9uaEZmWmJkMW1Fdjh3MjlTWjVpS2ZvYXR0TWEwVERSOEkrVjRoTS85Z3dx?=
 =?utf-8?B?OHZQUUVaQ054eDBOZy9jOTB5YjlTNFZhM0RJMGpNdFMxMUw5Zmh2dHBqd094?=
 =?utf-8?B?VmRwbXIwZW5PWitEbWY5NkpjSUtxQSsrUDJ3ODJheXBhR2ZtWGlmSnE0TSsv?=
 =?utf-8?B?aDdzWktPWm04ckVkNlR2RzNzZy9GaVRYazlCdVdPTGdjYklFM1VKSlZMeWJm?=
 =?utf-8?B?RFQ4dU5DTlh5dVdxQ1NQcHA1UXRCb2Y5ZWdPQ0g2RGE4NllGaUF3VnVONDNK?=
 =?utf-8?B?bFV6MlJacTZtcHFrSjhiVURoYVV5VmtSa25uOGJnOE9XejJKK1NoMkphbkRC?=
 =?utf-8?B?Nk12T0pmMWdVc212Y25DZ3pxVDRpY2YzZkwxMjJWdWJSS1pnTVNkMXM4MU5G?=
 =?utf-8?B?dzN5U0FRWFlsYUh1dnljSDhmUzJ2RFVIdzN4TlpXN1JHUVkzL2Y1dzcwcHJY?=
 =?utf-8?B?KzBPOXoxcE1aaTF5bGhxbE9leFdITVZ3QmhpSDUreHJRRGFLOTEwY3kwR0dN?=
 =?utf-8?B?T3lxdG9WMnlsWG53ckhMOGRJMGtXcTFLejdyTCtMMi94UVU3bFVlVXFndkg4?=
 =?utf-8?B?VVhXU1hvU21xYW5nQWczS1dlT1lhZmRBSGtGRTYvd3dURkN5SjhXYTJZam5H?=
 =?utf-8?B?dk5rd2dLbUM1QmtEM0hQMVdsOE5QblRTRk9oazZaT0I0SEhXM3lwUzg4Y3Rx?=
 =?utf-8?B?TzVWR01nTXZ3MEZieXBzNkxNNlhvZzZpNHNGZmZCZTBLZ1NxZDQ4eVVwNUVW?=
 =?utf-8?B?ZG5oTDR2US8vQXRjSWU0SnpSaDBGNHRZSXR2RkRGUWZ5eHEreHZSZWFreFcv?=
 =?utf-8?B?YTRoZjR0ZzJkNFFNbFVLeXBFT3BDTUNabllPS0h0cko4QnU5ZkJNRXpNU0or?=
 =?utf-8?Q?yt2IYJCVdMIFlTgjo97E2qV+p?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 32c5582c-d547-402b-fca8-08dae328377e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 07:51:49.7487
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BGXwz4o62Xaq/9IlFn2zlNiPlW1mJp3wiRbYjAL0DmMWBYualFqDYwSVVm9RsSpUsg7UYtKhNYbx8v+lZP58tA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8836

On 19.12.2022 07:34, Xenia Ragiadakou wrote:
> --- a/xen/drivers/passthrough/Kconfig
> +++ b/xen/drivers/passthrough/Kconfig
> @@ -37,6 +37,22 @@ config IPMMU_VMSA
>  
>  endif
>  
> +config AMD_IOMMU
> +	bool "AMD IOMMU"
> +	depends on X86
> +	default y
> +	---help---
> +	  Enables I/O virtualization on platforms that implement the
> +	  AMD I/O Virtualization Technology (IOMMU).
> +
> +config INTEL_VTD
> +	bool "Intel VT-d"
> +	depends on X86
> +	default y
> +	---help---
> +	  Enables I/O virtualization on platforms that implement the
> +	  Intel Virtualization Technology for Directed I/O (Intel VT-d).

One more thing Andrew and I have been talking about: As he has mentioned
elsewhere, IOMMU support is needed to boot systems with more than 254
CPUs (depending on APIC ID layout the boundary may actually be lower).
Hence it needs to at least be considered to make the prompts here (to
be precise: in the much later patch adding the prompts) dependent on
EXPERT, to prevent people from unknowingly building a non-functioning
(on some systems) hypervisor.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 07:58:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 07:58:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467607.726648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7u06-00082J-HF; Wed, 21 Dec 2022 07:58:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467607.726648; Wed, 21 Dec 2022 07:58:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7u06-00082C-Ec; Wed, 21 Dec 2022 07:58:54 +0000
Received: by outflank-mailman (input) for mailman id 467607;
 Wed, 21 Dec 2022 07:58:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7u05-000822-3D; Wed, 21 Dec 2022 07:58:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7u05-0002Wj-0G; Wed, 21 Dec 2022 07:58:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7u04-0003i4-My; Wed, 21 Dec 2022 07:58:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7u04-0006G6-MW; Wed, 21 Dec 2022 07:58:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VP8LofNPAsmIohsZBPHDTFRDgbXoVArQe/JobZu/qmc=; b=XY01qZn/HHA91CGPsuNqNQQxBa
	1OEk4pCXzde/wzT90mXDaTFbDz5iO2sLtR18tMwk0ZDGl3QNvtha897AIc+9R5mqmHGOHpH9KSMgf
	jKUpbbBjkqWzVzyxiIr1sXOvM58BNP68unFcog1SZMMcHhIyaGgdfPzmt6gbgMIQXUqo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175435-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175435: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=ec25e904c7da70302f2725e2005e3762f1ae891e
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 07:58:52 +0000

flight 175435 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175435/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 ec25e904c7da70302f2725e2005e3762f1ae891e
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    6 days
Failing since        175214  2022-12-14 18:42:16 Z    6 days   39 attempts
Testing same since   175435  2022-12-21 02:45:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@amd.com>
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  Chun-Yi Lee <jlee@suse.com>
  Chun-Yi Lee <joeyli.kernel@gmail.com>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  jdzhang <jdzhang@kunluntech.com.cn>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jian J Wang <jian.j.wang@intel.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Judah Vang <judah.vang@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Kuo, Ted <ted.kuo@intel.com>
  MarsX Lin <marsx.lin@intel.com>
  Matt DeVillier <matt.devillier@gmail.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Nishant C Mistry <nishant.c.mistry@intel.com>
  Ray Ni <ray.ni@intel.com>
  Sean Rhodes <sean@starlabs.systems>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Ted Kuo <ted.kuo@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Xie, Yuanhao <yuanhao.xie@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 946 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 08:46:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 08:46:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467623.726659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ukA-0005FS-Gl; Wed, 21 Dec 2022 08:46:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467623.726659; Wed, 21 Dec 2022 08:46:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7ukA-0005FL-Ds; Wed, 21 Dec 2022 08:46:30 +0000
Received: by outflank-mailman (input) for mailman id 467623;
 Wed, 21 Dec 2022 08:46:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VCPi=4T=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1p7uk8-0005FF-1Z
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 08:46:28 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2074.outbound.protection.outlook.com [40.107.105.74])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f31b5be2-810b-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 09:46:25 +0100 (CET)
Received: from FR0P281CA0006.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::11)
 by PAXPR08MB6384.eurprd08.prod.outlook.com (2603:10a6:102:154::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.6; Wed, 21 Dec
 2022 08:46:21 +0000
Received: from VI1EUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:15:cafe::ef) by FR0P281CA0006.outlook.office365.com
 (2603:10a6:d10:15::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.10 via Frontend
 Transport; Wed, 21 Dec 2022 08:46:21 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT015.mail.protection.outlook.com (100.127.144.121) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5944.6 via Frontend Transport; Wed, 21 Dec 2022 08:46:21 +0000
Received: ("Tessian outbound 8038f0863a52:v132");
 Wed, 21 Dec 2022 08:46:20 +0000
Received: from c8f68ef7f1f8.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D359A8BB-4576-4686-AFDB-8A4352E9D3F1.1; 
 Wed, 21 Dec 2022 08:46:10 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c8f68ef7f1f8.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 21 Dec 2022 08:46:10 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB8448.eurprd08.prod.outlook.com (2603:10a6:10:404::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.6; Wed, 21 Dec
 2022 08:46:07 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda%3]) with mapi id 15.20.5944.006; Wed, 21 Dec 2022
 08:46:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f31b5be2-810b-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F89N1bOr0Wx/OsmP4nIOjqrWOw7O5CLxqilM7ntPwlI=;
 b=QWkt9qQ6ChDpcT/l5GQ4K5QEXPPrvOpxPvsov1wHn1ccS6JGivswKMfbj9AtsEuc7Dojef555mKZ8s3Z/4knVk7LRhGQr2hJrSqRoDIPzgq/6sNZ4gw69h3FC+3TtNlj0SqzWCsApY6W/vdSMC5xduoTKlNzpTuL9C+HC/tkNIA=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 82167019247094c2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E6uB96XuPzNO6D2Y3Rk+NqxnsvuPPIlVJiWMUrz95Ce98doebunb4eUhjN0SMr4B6G+3u72/E5mmGq34+TZW4qjgkCxZC9nRbBk9+PgdLDY4PlTDe8pyllb6Hi3fKgx3hgmmp9Xq8khyHi8NHS4rWhdzyL7r+sXO7mCOpnMzKI45D3H0K8i9/9B39e1jI3aMzmTUhkNZOnW5HL/BoPVuTdX0PQGFkIoSmPeGDz2pTIsfWSSgpRptpHAuPgiDYj3JKpPD6WTEXWs5c9yqHjLn2N9XfgZAcCvgnk6rOJkDtqKYNF7uKTceZWoI++BryIy4gEm13h0/0D9dfHJlr0CbOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F89N1bOr0Wx/OsmP4nIOjqrWOw7O5CLxqilM7ntPwlI=;
 b=W+Nari0Cn9aS5zAF9Wr84lO8+GN8rhYNKKS3dUHUaGwzzzcnBM4WKOpr6aIsa13m74myhIVIq/HXJzSCxpFg53A7UqiHnSlII5AmgdK8ssxLreqyMHzbkRj7L6MB0WcpVbVNN0gbuF4Box+0TrjrfGGyKP6CCyX01PhqcW86gX7mgVcI8qlmDeZKk3+tXlsPghf3DtlGPxumwgKfTJoVOeV9Hcq9d0KWgdITcCJBRCEmrz9LDjkHt0pwB31xqesloAiiiF9oH0YNSHqNTpduNEHhjMUC54/jjGwOTaEkQ4CpQWhe6Z38j0Z9qSUUNoTO4AV3P9/X4dOmM7siEZUvFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F89N1bOr0Wx/OsmP4nIOjqrWOw7O5CLxqilM7ntPwlI=;
 b=QWkt9qQ6ChDpcT/l5GQ4K5QEXPPrvOpxPvsov1wHn1ccS6JGivswKMfbj9AtsEuc7Dojef555mKZ8s3Z/4knVk7LRhGQr2hJrSqRoDIPzgq/6sNZ4gw69h3FC+3TtNlj0SqzWCsApY6W/vdSMC5xduoTKlNzpTuL9C+HC/tkNIA=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Chen <Wei.Chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH 17/18] public: misra rule 20.7 deviation on errno.h
Thread-Topic: [RFC PATCH 17/18] public: misra rule 20.7 deviation on errno.h
Thread-Index: AQHZFFDT1G4dt8FOrUCfFOSy+7FsQq52iJ4AgAGACAA=
Date: Wed, 21 Dec 2022 08:46:07 +0000
Message-ID: <5493C27D-32EA-44BF-B3F9-DBF5274FDD3C@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <20221220085100.22848-18-luca.fancellu@arm.com>
 <77931264-71a4-edeb-0749-9de77bfd9c1a@suse.com>
In-Reply-To: <77931264-71a4-edeb-0749-9de77bfd9c1a@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU0PR08MB8448:EE_|VI1EUR03FT015:EE_|PAXPR08MB6384:EE_
X-MS-Office365-Filtering-Correlation-Id: fbf8ac38-b01c-4c7a-8dd4-08dae32fd583
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 gyhnhzaknE++jsoL7PtvzwqIiiB5LYA6N3tbc8SaDiqwNIMdvFXayb/o+pne8kGWz1oJtgycrDvMBloXc2RqBMinCqbcDwMPh5qYsyWjPjVCN+Yy0I8Wkws23fh4kNcCroJ5zivQ6bDdt/r50e0XMAM34ObBeck3AAeQYm05/JlwRR5cydPX3xkhRKVM9pvMsoQM3bqGMo7H0UXT4Tw7mgks4odMHyNEWYZWzTi5azQ9YhiM9vB9PCMM9dw0/YREd6G82DqxnkHgcnZqGQV2ndIjxNU3eUPq921oQe2mmKslyhNmWZMr+msPmJpeaZXCoPTUqR1B/RVhCGviSx4g1vVgtsX3SVpE7UKgPNUAoyAh88qpeiZtpxlJZ2Ock2IIgqtgHeGbJtV2HLCwCq+mXMulCh78bzHZfij6faiWitCllA2pSZPJyVROAGh/YLKet9Mwh88zfAsbyZFahtCNqIB2j4bmrTLyGgVUDqcdkLuVygO6WSS88TL6EWl7UtjEQMYXCaZPLgjpQo90cPa+uVtAmeuQsDJQTRotmgK10C936i2GIBu+PVsr1i/4VQzn2n2YYmclgQHqGNbhhtSg+LBcALL8Zfb0FQ1V1zrMZj1twQFSxVirYBE2bbaQyan+tq5hOpMPvtg4bSbvlaWcBtKo5h85GhMwHcrhhOs9Sxyc/yuE6b0iIKozyiZ80lH1ZqD6ZO6r3tkHEsQAZP+/BdO3IPpxFRvo83OOqEYTfGw=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(396003)(346002)(39860400002)(366004)(451199015)(2906002)(8936002)(4744005)(2616005)(86362001)(5660300002)(33656002)(54906003)(4326008)(8676002)(76116006)(41300700001)(478600001)(91956017)(66556008)(66946007)(316002)(64756008)(66446008)(6916009)(66476007)(6486002)(71200400001)(6506007)(38070700005)(6512007)(26005)(186003)(122000001)(53546011)(36756003)(38100700002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <CAA79CCA52A28540AB70155B4673F115@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8448
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VI1EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	95981edb-8234-4492-2940-08dae32fcd33
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vbQdWQyAh66xOc7NqTVhVFOFcpE/gehFxfkhOCAG3I7dl+QvpHGdS90pknPMVq8oen5gjqXqmJKpZWup297ML1RggBSWjGjeuun3D7U1lkesHRsvhYy9J8ikT8DIaFbA5XErXuCuFgvlARfYcrY0uxdIBV9EJymS6YW7za27LQjsngKXcs1qR5qywsSVI78wuZPFqmnNoXPLnLQHU8ISFckdmHBHRZzhD9SuGCx0B1r4DQ9O1n9onVGRByOQWWHcvBMKLQRoxiP+FHHHwCFzkj5anVaEW5kds2gBYcY6Fc5i0JpCK3ExfzHyOl0KvUvz54vGFLLBliCIcQPZtIsW4xA9UfYYSnPb7LwDyHl+I7h6Z1u0TzbaL/QcnoZtlW9hoTL2UpxsZjEtxJE9xUN4ggyCsrZlyzvfIXLycVhol6mQyvkBv8K51P/HEMMftRi0u5EmuX+0kJSfVIaTkvuoPd+tiCsSOO9iInsJEe64kwuGhumFLzIGcVc6R8D9ltR5+UYbd5UTV704IeahxUyaMIpXISI53rV6iJbif8lMcWAG2HJsBCVMpBPtGbjnQNClspZIPt1Mc+EgMG6z5LarR4QSvb/jis750ynogCfI/JCQXXqptSNz3Ks+L+KTu39zsJ5BodZfeZa7McO0KcuQCzwRYkGUUbmIQtVteJN3ZcnqWyMxWKxDVVU9yI6o2feDTXo4F8/urm0tlzxQI1IJyA==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(396003)(39860400002)(376002)(346002)(136003)(451199015)(36840700001)(46966006)(40470700004)(54906003)(36756003)(356005)(70586007)(81166007)(70206006)(336012)(47076005)(82740400003)(4326008)(2616005)(6862004)(8936002)(8676002)(4744005)(6486002)(316002)(41300700001)(6512007)(6506007)(26005)(86362001)(186003)(33656002)(478600001)(5660300002)(40480700001)(53546011)(2906002)(36860700001)(40460700003)(82310400005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 08:46:21.0389
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fbf8ac38-b01c-4c7a-8dd4-08dae32fd583
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VI1EUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6384



> On 20 Dec 2022, at 09:51, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 20.12.2022 09:50, Luca Fancellu wrote:
>> Cppcheck has found a violation of rule 20.7 for the macro XEN_ERRNO,
>> while the macro parameter is never used as an expression, it doesn't
>> harm the code or the readability to add parenthesis, so add them.
>>=20
>> This finding is reported also by eclair and coverity.
>>=20
>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>=20
> Acked-by: Jan Beulich <jbeulich@suse.com>
>=20
> But with the title adjusted - this isn't about a deviation, but actually
> addressing a finding.

Is it ok this title:

public: misra rule 20.7 fix on errno.h


>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 08:50:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 08:50:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467631.726670 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7unf-0006Yi-07; Wed, 21 Dec 2022 08:50:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467631.726670; Wed, 21 Dec 2022 08:50:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7une-0006Yb-TH; Wed, 21 Dec 2022 08:50:06 +0000
Received: by outflank-mailman (input) for mailman id 467631;
 Wed, 21 Dec 2022 08:50:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VCPi=4T=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1p7une-0006YV-8j
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 08:50:06 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2063.outbound.protection.outlook.com [40.107.22.63])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 76c597be-810c-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 09:50:05 +0100 (CET)
Received: from DB9PR02CA0011.eurprd02.prod.outlook.com (2603:10a6:10:1d9::16)
 by PAVPR08MB9531.eurprd08.prod.outlook.com (2603:10a6:102:313::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.6; Wed, 21 Dec
 2022 08:50:03 +0000
Received: from DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:1d9:cafe::7f) by DB9PR02CA0011.outlook.office365.com
 (2603:10a6:10:1d9::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.21 via Frontend
 Transport; Wed, 21 Dec 2022 08:50:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT049.mail.protection.outlook.com (100.127.142.192) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5944.6 via Frontend Transport; Wed, 21 Dec 2022 08:50:02 +0000
Received: ("Tessian outbound 3ad958cd7492:v132");
 Wed, 21 Dec 2022 08:50:02 +0000
Received: from 04b82bb8b32b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A4BB97DE-0B61-4804-AE16-A4877DE4C0A4.1; 
 Wed, 21 Dec 2022 08:49:51 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 04b82bb8b32b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 21 Dec 2022 08:49:51 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by GV2PR08MB8123.eurprd08.prod.outlook.com (2603:10a6:150:78::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.6; Wed, 21 Dec
 2022 08:49:47 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda%3]) with mapi id 15.20.5944.006; Wed, 21 Dec 2022
 08:49:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76c597be-810c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d6H3OeDq4dJ8+8maydKJJQO2JjLRX+rmegoR9U9NtPk=;
 b=Bm93370uPa43BpTeOkqpQzCSGCfxePdxSIUeU8qQFWjVX0C4RVvl6dytZRH1RSfs8u6Mla0hF1VEh22gF6HsjvLAtGJOi9wR2MIQb9NSpOV9+2nAy/ax+MCJTbPd2pO7OCKSzyrIgEQpc2ARsA5rZaNYqr8Igyo0YdITTJz4CXw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: b042f9a31caf1a90
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PKosutLIvE20hf/zC4Yle6V1f16Fd5nApbboFDWzJQbKYf5r8/utrCUCw6MgDqG01TZOBTx4EsRrdGu9jnBb8KMGiRwqEUcWWczctKV3IkjGzGe7Nqu4QZdxep2QnXEashg8CdvMXL9D8PAIeRylrk91mKfIMs4lI7aDJs5GLmmRZ/Gtnazfa6OV+fAQQOhgX+77iEYEMbVurhwAnmjrXMYYOIsAqNL6+R16CSRplcuBuUZ4p63X32IHtV2/hge88R/+qkVcLHcNTFkcMY5nOnEsUuqZFhD+FczMV5cn6C9p82EynJw4WpAzdhUwIobNYs4Mz93aE2jLppikHn75XA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d6H3OeDq4dJ8+8maydKJJQO2JjLRX+rmegoR9U9NtPk=;
 b=fGh1+cMu4ImN0TW0TjgX0tPgldMwQaUDK68Oo5RNsVGG67Ymw4mcEaa1wemHyAiqdpEwwseA3VqdwMUrs5OW1hL4/Dd+llO7F3A0ILO8WzWcZoDJY8N8qMo+1EVz8V2tv9ybKlCf3B+4tX1kDmlSQoRzDHNPIIIvjlUmyOMF9bnGNCb5fnMobL89jTMds+BOC8jdNnStKUcvvjmPLx1WPUa0kYnHaDYVzon56b5bcJRWqCzEFQbHiHo4eGSM0p8ELi+Vq2nng3FFZ9zXadv3HMXN0l7LkZVPMh0dxP9Q12I9T8xNhNY3fKZmyE16YePo8SnctvupNEKAPfzu18cWTg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d6H3OeDq4dJ8+8maydKJJQO2JjLRX+rmegoR9U9NtPk=;
 b=Bm93370uPa43BpTeOkqpQzCSGCfxePdxSIUeU8qQFWjVX0C4RVvl6dytZRH1RSfs8u6Mla0hF1VEh22gF6HsjvLAtGJOi9wR2MIQb9NSpOV9+2nAy/ax+MCJTbPd2pO7OCKSzyrIgEQpc2ARsA5rZaNYqr8Igyo0YdITTJz4CXw=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Chen <Wei.Chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH 00/18] cppcheck rule 20.7 fixes
Thread-Topic: [RFC PATCH 00/18] cppcheck rule 20.7 fixes
Thread-Index: AQHZFFBPtCSX3ZUNhU2CEBonqqEppq52ibCAgAF//QA=
Date: Wed, 21 Dec 2022 08:49:47 +0000
Message-ID: <32A958CA-01DC-469F-91F2-D8B8EA7FF966@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <28180048-87c6-c0b5-dcdf-34fa10580145@suse.com>
In-Reply-To: <28180048-87c6-c0b5-dcdf-34fa10580145@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|GV2PR08MB8123:EE_|DBAEUR03FT049:EE_|PAVPR08MB9531:EE_
X-MS-Office365-Filtering-Correlation-Id: 4511c8ee-e822-44a7-241f-08dae3305951
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 WeQy5Wkd2RcM/jyh00EzDn27nBW9aDMTY3ntuXxrEOA9WjBV+IP+q/0FBgACVV/d8Oxs2G3xr4id0N+n7OniaMOucCK9Epv4sKU8ruUVp402NWn/J7caXmAt3RpNX1OWGfxqlMqB0JPMOV7Lqsz2gNr/ynIe8eG1NOWaO6d6V1aZABR1jIF+HnovfiZIphTH9v1wWywSTZw1kTzXxbk8NYoGFLGZSLyFpCPZ6JxIghFNdGtzBgWTNHjG8AOul1/UgWDkOqf+7BSmkUVm650GpB9TIMScShjLnZKnTy6aJ4qShc82FG5DKWaUpGqaHjMijqIZE2BYlsMg5EzPIGLOvUaGsvW3I+T0PIeia+kLRXi+a/Ekui6v/gUSPIHVNs7RFWmXNMi/SS28btafNJk2JVg4L+dTg6X2v3uAPD3iLkQ8oi0JUH6niNZC4Q6QTvqpmpqoR36vIAJS4jiYP1kVIQ94+F5H0K5q/1EYM8jRA6Aqhu0L2aWIK9RkzwUP7EZ8m1n4Hjk1XX+y+OfZmBouhYlh1NGW0tnEotNJxfAdLOxZDHDYtcIr/oOKQBQ9z/E82e3R8BNW7KhZedfSXI/BI71Q8cvMayyISn1y5IF3RY9bmxOnY5lHFalLXpNEkqFNkYP/ZuAa+TQGa9EU29Ozv1CijcLliGOhpSXklYgjMYGkQI7A3rGmvJuus0QaIitqe5XHrKtGXmXVj5aya7+kGjnGo+bOxKi6NpAq4y4sPCI=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(39860400002)(346002)(396003)(366004)(451199015)(33656002)(36756003)(2906002)(122000001)(38100700002)(5660300002)(41300700001)(8936002)(86362001)(38070700005)(54906003)(66446008)(66556008)(316002)(64756008)(71200400001)(8676002)(6916009)(66476007)(4326008)(26005)(91956017)(76116006)(186003)(6486002)(66946007)(6512007)(6506007)(2616005)(478600001)(53546011)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <ACEAE1127C82164995CD123588B5F163@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8123
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fbf2dc15-a78c-4ec6-6d8a-08dae3305092
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GO5opof81virHcLJne6r3Kfbj2Ro1hxhzPD7VjTH39i5N7iCI62W/YH5ws97XQRCUs8Wj8pXQIxiR4jsbty7FSBRjYtiTw31A0hB2cbUvaKSKa7aMwDuWJ4Th3y/h0ds+oPGM9kS435b2V8ZpeSXFdcbOmbv1bj9VhHd41/FEn2CRkzOuW60rS8UWRWZSW5PCb0k7WSBZm7cRO0l7irt3GrTcwpf/n7XwKXbQ4G4fKPmiyjY4jLCqwutn0+4f/IrIjn0mLI9eY9ZO8ZhLX+0NYmIJaLiOG0L8g9B6WS/QTiZLuk14NIKWyrqoialsz+tDoi0E0BgFywfWw2upkhjn3h81UCGeZDsqpmCk5kKQK10DGVWRdfV32Vp8GDkr3ZV74pw53MyVxVD95+naVb7iN0r1f9p/WTShsQTskGHvizq/Cum63UjWZVDDHE4fth2iiw8/Ee7ESBXYYKEPvfRrcEVoSUkHzQYZcsxarixTPaKlTmeAqdzoVx0muc5XvmJqRplRHlXncbBwfQAQ1+8wj27DK2tq7h1jEpS4mPsf1HWhGxmBq04mQNK7lu83WiEVENh9IC0XCb9ehLdjreGbZwALVdBemFC0o8xBBfeDfSJRUyqssXGZRtFrjcJmwZoFkFjwQ59HlL4f21JzKQbxBZwp/icx17Zj+SeuX9ykyl9llrWUwWqhnRod/lLlnGc7QXhi0s1vpEMIKy2I3I9dg==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(376002)(136003)(346002)(39860400002)(396003)(451199015)(36840700001)(46966006)(40470700004)(36756003)(70586007)(70206006)(41300700001)(4326008)(8676002)(186003)(478600001)(33656002)(26005)(6506007)(53546011)(40460700003)(2616005)(47076005)(82310400005)(336012)(316002)(6512007)(86362001)(54906003)(2906002)(40480700001)(6486002)(356005)(82740400003)(6862004)(81166007)(36860700001)(8936002)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 08:50:02.2615
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4511c8ee-e822-44a7-241f-08dae3305951
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT049.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9531



> On 20 Dec 2022, at 09:55, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 20.12.2022 09:50, Luca Fancellu wrote:
>> In this serie there are some fixes for the rule 20.7, mainly violation f=
ound by
>> cppcheck, most of them are false positive but some of them can be fixed.
>>=20
>> The analysed build is arm64, to reproduce the reports here the command:
>>=20
>> ./xen/scripts/xen-analysis.py --cppcheck-misra --run-cppcheck -- CROSS_C=
OMPILE=3D"aarch64-linux-gnu-" XEN_TARGET_ARCH=3D"arm64" O=3D/path/to/artifa=
cts_folder
>>=20
>> Luca Fancellu (18):
>>  arm: cppcheck: misra rule 20.7 deviations for alternative.h
>>  arm: cppcheck: misra rule 20.7 deviation on processor.h
>>  arm: cppcheck: misra rule 20.7 deviation on asm_defns.h
>>  arm: cppcheck: misra rule 20.7 deviation on config.h
>>  arm: cppcheck: fix misra rule 20.7 on arm/include/asm/string.h
>>  public: cppcheck: misra rule 20.7 on public/arch-arm.h
>>  xen: cppcheck: misra rule 20.7 deviation on compiler.h
>>  xen: cppcheck: misra rule 20.7 deviation on init.h
>>  xen: cppcheck: misra rule 20.7 deviation on kconfig.h
>>  xen: cppcheck: misra rule 20.7 deviation on types.h
>>  xen: cppcheck: misra rule 20.7 deviation on xmalloc.h
>>  arm: cppcheck: misra rule 20.7 deviation on asm/arm64/sysregs.h
>>  public/x86: cppcheck: misra rule 20.7 deviation on hvm/save.h
>>  public/x86: cppcheck: misra rule 20.7 deviation on xen-x86_32.h
>>  public/x86: cppcheck: misra rule 20.7 deviation on xen-x86_64.h
>>  public/x86: cppcheck: misra rule 20.7 deviation on arch-x86/xen.h
>>  public: misra rule 20.7 deviation on errno.h
>>  public: misra rule 20.7 deviation on memory.h
>=20
> Like Julien I object to the massive addition of false positive markers
> just because of very basic shortcomings in cppcheck. I find this
> particularly bad in public headers - imo no such annotations should
> appear there at all. I would suggest that you split off the actual
> code changes, which are likely going to be less controversial.

Yes I will send the patches with your review and drop the others with
False-positive or fixes that are not agreed.


>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 09:25:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 09:25:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467655.726681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7vLt-0001iQ-3k; Wed, 21 Dec 2022 09:25:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467655.726681; Wed, 21 Dec 2022 09:25:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7vLt-0001iJ-0N; Wed, 21 Dec 2022 09:25:29 +0000
Received: by outflank-mailman (input) for mailman id 467655;
 Wed, 21 Dec 2022 09:25:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7vLr-0001iD-1i
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 09:25:27 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on2074.outbound.protection.outlook.com [40.107.14.74])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 668b97aa-8111-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 10:25:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8642.eurprd04.prod.outlook.com (2603:10a6:20b:429::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 09:25:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 09:25:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 668b97aa-8111-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ac4Mv8aYixo6cY0bQAnILQ2ot8zAJgcnj+RIhX6rCP4RVoGlhqjdnqwx0nqEfkf+oZl+xjzACd3jy8vOkDOUaC9AvK1ftVn2xSNpP8fRDVT6+mkM+VGNBwUrbkg6QK57MrfGzW6csuliD+wXZUjX5cdl6pGQXVP2YkXkwr1qJoH+FVp1XbtDtQF0eO4WilQU18bNQH80A/xOUbshB01VMKqpY23kTYfH4Jsv5UmQSYqE9TWl4PfrW9DSw8FZATXy6EoTJyydmPDZeVtsdDIda6YqTCW4qZ++N2+0GIpAwjIxYpBesV/xhHGDJYFWek2dbrufvk0o8crXqIc5lF6e+A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Afbr0GHsM6eA05h7aH4WcjeitjCtOQBtgPnVt9trW0c=;
 b=PUbumzQT94+mBtjMADnDFIV7Lb0sPN6eCMsuceMLZyhFZ9p6E2XsNod7r3CneFJyDGjwC566voMrySou26LhytHiDhn80pMejyAUfNhuOEVM7hV1srhmM8RNTVgYlLretQKe+dzSR6n5QbHedMxhJg0ZYTAetGBYWuv+ESWeVhG01TnuPI2XGuLZjSKqNhnUPwP8uF0l0cZOHv/gSl7hqC4u9SOIVniSxr6QMp4ReI4Kj3qqERdt6MOcKDo2zY+x7lPaj/6mi9nIeZnY6FM97RSG89NzMOOCz7EcvXxfFVXUB2zbMkUja3Rbir6AbRt7ZG8rAzVCUsRsDtx0+AAmkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Afbr0GHsM6eA05h7aH4WcjeitjCtOQBtgPnVt9trW0c=;
 b=r4N/mG18+BK96sxkxAqAv2lECIR+e5UJqKktRhMNiSHJugO1JfmSaq+kC18QHMSz3OM+/97z2W0Dz0ynbIzJnF+7INPcbF534Wg/UZnbgWIXKi2T1Sn+S67GCfbAC/c15EG39yXZQv8UF85LXV5NgHlJ6CUSwg/gzmcz02VMdE6FwlZ2JPOxAhVlSQfXKORDQIkXT1Xzfa/hEkinx8Qogaq5PxB4C8vgRrz+pDFFDRESVni3f91Q9eLZhCgYFOdW4Q6d+rDEk3I80DFfTDQa1/OK7mroQO6sjcSWUA5+9JdZY7mmv5z7AUdYlSvalz19xe8bLzXEbeRFQEqIi/nk7A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0b36597b-635e-6766-50a0-2fab6eebe988@suse.com>
Date: Wed, 21 Dec 2022 10:25:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC PATCH 17/18] public: misra rule 20.7 deviation on errno.h
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Wei Chen <Wei.Chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <20221220085100.22848-18-luca.fancellu@arm.com>
 <77931264-71a4-edeb-0749-9de77bfd9c1a@suse.com>
 <5493C27D-32EA-44BF-B3F9-DBF5274FDD3C@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5493C27D-32EA-44BF-B3F9-DBF5274FDD3C@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0118.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8642:EE_
X-MS-Office365-Filtering-Correlation-Id: 64bab2dc-4431-44c9-2b24-08dae3354997
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	APJ/XGRA6TVy5uzY1P/nHwrr3n2+wGjQhqHWC5svXD2SZ6K/714fUzW61KfR+ICXHtjo92cDrYPQbsBi5+zsGZyS8RALmW0o48Z/HA+0Q5oe+gsfqgJVZ6J6sBbQqdq0CgLMxMtCe9laV5eljbPZEyA2/1DbT+tnQcfju3KbCReuU7MYtFsKqnOiGJgheQKZUFk42gN9anY+5liCwI+Ets/Ble1MTZxN5hTI9xf1LEOPviS0O5cOMcdp/BWq0ZadyrYwZRJfwfVg87vli7sF0sFlY5ZxLgB+pN3dBLacesM9XoDISALfkTWc0KKICYZagDRu5Q5e0DMnARJKW4SnAaHILcvQEzdcgqyAQn1KcsC6gtHOxTJLs4nsrxuwyHquwz8q5UZQTRjh5SzSP+2kK9w9j19d4k9rOJ/FUw6XRR1RUlaSjxH3EqIUmJNINUjq4i9uO61N4Q9U2H/D+DtlwK0gAXAAvgCaSEVNXwsS2kzLWXJtO0bD9RzXyaylZ3rAY1aZbrtmJNpAQpTf4M+oyHfr6oEgyFEnTAHWV9aGcbdFtHfSGD70yCQnpiVB4MLs0dp9ExTGv/y4sTAgSerskJIygle302dR3IxhvRqlzBAtWig+yr+yYas6HB2cftyyA4KckNHn7CWRcm2t9fdapyrHnoGpbp+T1Ss6twiNAk0iHKZp/i7COY+EMJflPlwAzEfFIjDZ3/t53/dMQ5h/8ndSjIGf8zcT/RB82GeWmTs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(39860400002)(346002)(396003)(366004)(376002)(451199015)(31686004)(8936002)(66476007)(5660300002)(8676002)(66946007)(316002)(4326008)(4744005)(2906002)(6916009)(41300700001)(66556008)(54906003)(86362001)(2616005)(31696002)(6512007)(6506007)(53546011)(186003)(26005)(6486002)(38100700002)(36756003)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c2Z1ZlZIZmZXZWJ3cWhUeVVoSGNDNFVXSXFXVjRzVDMzcWtscGlFNlFrY1dj?=
 =?utf-8?B?aHBBaGp0T2ljQWE2L016SGhWN1EvclNIRnk2ZDZSenYvZEtWcVhKektnM0V4?=
 =?utf-8?B?eDFMYTNLODV2S2tXSDNUVVdCWkVnUCtHU3ByTG9sVHA3NjExTW94cnZ1bVZU?=
 =?utf-8?B?bFdYaC9EZzVaNy9OY0NZMlNzOUQzcWZZN3FiRDlhbFppWmxFVzlVOUxteFNh?=
 =?utf-8?B?R0xiTjVNa3ZUUGRSSWpxQ016NmVXY0FPSmFucjhvbExpNXhwSnd5RVpIWW1K?=
 =?utf-8?B?ODltNHBaNVY1OHFIM1pIL1NlTllFZUx3OWNpWUxCNzY5L29tQlhiS3B2d2Jq?=
 =?utf-8?B?MW9FWjZVUDRSQjVDTXBSSDdsZ2ZvQWYxNy9iY2Q0eW53bTdXUHNVcjZtRGZm?=
 =?utf-8?B?b09pYStPbGVYeDlnMG1PZUlWSEtmTGJnRDRmUW50N0JJSTgwSVJVRVB6R2hC?=
 =?utf-8?B?elcxMTRaVmxyMlZFRkx6SHJtbi93QUtnMTd6T1VGQVVIK0x2V0FDNnB5Wk9o?=
 =?utf-8?B?UHM0c1liUzlxa0hNSTRxL2JpcGg5Rm5nNVJWSjQ0bXRlbERJTXhYSktYckdH?=
 =?utf-8?B?YWYxbGpUNVdENlJUdzd6RHkyUkplMHkxZnZ1WndYMXY1bEE5bXp3aFJibkVq?=
 =?utf-8?B?VFVMaGFubU1oZUh1N2JxTjYwYUNBaHNZbTBUWTRjeDBsV1EwNHNlK3JCVnhL?=
 =?utf-8?B?RGt0ckJ5MEczVnBKT2pqNkR1b3FEN2h6bHowV3RwRlFSV1FmaUhKenR4SXht?=
 =?utf-8?B?ckZZSC91N3hFUElTUXBjVEpFVFhlbDR4Z1BpZ3ptVDYvbG5IakFHdi83ZXNl?=
 =?utf-8?B?UVpDVFRGZFhXQmNHWmVEOEo0TWJnMkt2S3lPcEIxRnpXZ2dQVFQxeW1kRlZN?=
 =?utf-8?B?RnFUUmlSbGFGeHpTcGNrSkZPYTVUT1Ezc29Mck9rNnRtSGR3U1JvU29ISDNQ?=
 =?utf-8?B?WDBBdklHTWpLSkE2UkFGdjg1bU11NVh4NTM5TjhBdUw5bFlxVWw2eis3bkJp?=
 =?utf-8?B?VWhOOW1YclB2NUVyZm43eVpiYm9OQUlKanpmc09KblRwZit3c0xlR3VKZjNL?=
 =?utf-8?B?b09jNmNIeFJoMzhmOWRBZ0ZOZmIvbWhKbFJNMmpyQUh5RmIvYkNaUjg3Y3cx?=
 =?utf-8?B?M3l4MzUwODNrM0NTL1ZkdjZ2VWJ5cVZqY3p2RC81OWJZUFlvS01MUWYwY3lq?=
 =?utf-8?B?ZGtROWt5TFdteVdkVDQyQnVFTmF4QXE1ZmYvSFl0VXY5a2k4aytJKzNHVjhZ?=
 =?utf-8?B?Sks1REh4UmhWYnFjV05IWTErNlljejV2V3Y3dnUvbjFVZ1F5R21qdmZNMDdN?=
 =?utf-8?B?a011QjR5TUJlcjZzVFUvMUExQVozNnFaakZDZ0QzSWd1ZkpUZHQyaldodmJx?=
 =?utf-8?B?UVdCNnFoMzFkWEJmUUNpZlpGSlJzN3NNQmhXWkNkczk0SXYwREEyak1MckdT?=
 =?utf-8?B?MnR5NmZHc0JDTTNSUGxCczYxUUxrTzJTUkdrUS9weVVCZDAwU2hZNndncEdJ?=
 =?utf-8?B?MnFyL29hQ3hnWjFzc3o0NVdSMkJHMFNFZmJRdnpzM3A0ZG0vNmZrSkFncnZQ?=
 =?utf-8?B?RWhLRDB1LzBvbXdETDUvLzlLdGZPemtTT3FpYzFHdytqNlJ5bjNPeVBYK25s?=
 =?utf-8?B?Z0FmSTZvb0ovZUlYY01td0xpNVpVeFBqcldNY2U2cU1pcVZwSmh0bjBiNld0?=
 =?utf-8?B?aG00N0xCRjJwQzNkc2o3cmdzMXpadTQ0Y2pJWUNQZDRuaFpXZ3BQdlJsS2du?=
 =?utf-8?B?bXdBanBLNFQybWltY21sT3hwaXZReHZqSkp2Kzhzb1BiV0t4NWd4Nkl4MlJX?=
 =?utf-8?B?YVR3Mzg1Ykc4VDJuWDB1NzNSVnZtdlBsNVR4SitZd1FGOWJnbUt1REVwVzBp?=
 =?utf-8?B?d1F5UCtpdzNHODdoQ0laWDZ4SG13aC84UW5kYTZzdkZBSE1yckxzbmE5QTJu?=
 =?utf-8?B?WnhBVHorZ3dSVk5POHlCTEw3bStpZ2xMVmw5aEZYRzB2UVFkWllOR0JoTWly?=
 =?utf-8?B?aDRNWlJnZkRwL09GdUl1ZEZMdzhadG11OFYzUTltVjlPRENRWTFoZldxNU1w?=
 =?utf-8?B?WTFpNzBUZHhjdEk2MmNUSDNIQ1lNdVRuSHpOUGJHWnI0N3dURmJJbzMvdFg3?=
 =?utf-8?Q?9W9dGpnc1tPoX/tJrHz75j2xQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 64bab2dc-4431-44c9-2b24-08dae3354997
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 09:25:23.5793
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fcGhRNFKtHm12DbC4R4spt7qQh9Hz3k7ijDp3dtxti1tAYA89bX5ogdtM542VahqfwmaZ1mXf+LSk9P85DVEFA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8642

On 21.12.2022 09:46, Luca Fancellu wrote:
>> On 20 Dec 2022, at 09:51, Jan Beulich <jbeulich@suse.com> wrote:
>> On 20.12.2022 09:50, Luca Fancellu wrote:
>>> Cppcheck has found a violation of rule 20.7 for the macro XEN_ERRNO,
>>> while the macro parameter is never used as an expression, it doesn't
>>> harm the code or the readability to add parenthesis, so add them.
>>>
>>> This finding is reported also by eclair and coverity.
>>>
>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
>>
>> But with the title adjusted - this isn't about a deviation, but actually
>> addressing a finding.
> 
> Is it ok this title:
> 
> public: misra rule 20.7 fix on errno.h

Sure.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 09:40:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 09:40:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467664.726692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7va1-0003t9-B4; Wed, 21 Dec 2022 09:40:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467664.726692; Wed, 21 Dec 2022 09:40:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7va1-0003t2-8A; Wed, 21 Dec 2022 09:40:05 +0000
Received: by outflank-mailman (input) for mailman id 467664;
 Wed, 21 Dec 2022 09:40:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7vZz-0003Wt-8c; Wed, 21 Dec 2022 09:40:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7vZz-0005Nz-62; Wed, 21 Dec 2022 09:40:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7vZy-00023N-OH; Wed, 21 Dec 2022 09:40:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7vZy-0007L7-Np; Wed, 21 Dec 2022 09:40:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xb/sZKRN5+AlXP808Jv9mXYInkHvqQgi/DdWc3sr4nY=; b=2zXLK2mg8XQJ7YExjzoUdR1WOT
	HJXoxki3hhlamnbhc0QytxhquTIBoJqH6RnXZ3NtEpiSJFrSI2xfPo4YQrEyyesEbpJk6RctJCkjh
	ESXGTtwfra9uVz9So2vV6K7p4xrXxz5eJxUc7jFA7ZcgSDuG62j6APZYseP3KQP2bHY0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175424-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175424: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-shadow:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-linus:test-amd64-amd64-libvirt-pair:<job status>:broken:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:<job status>:broken:regression
    linux-linus:test-amd64-amd64-pair:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-credit2:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-pair:host-install/dst_host(7):broken:regression
    linux-linus:test-amd64-amd64-xl-shadow:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-libvirt-pair:host-install/dst_host(7):broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=6feb57c2fd7c787aecf2846a535248899e7b70fa
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 09:40:02 +0000

flight 175424 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175424/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-shadow      <job status>                 broken
 test-amd64-amd64-xl-qemuu-win7-amd64    <job status>                 broken
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm    <job status>   broken
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm    <job status>            broken
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>               broken
 test-amd64-amd64-xl-credit2     <job status>                 broken
 test-amd64-amd64-libvirt-pair    <job status>                 broken
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm    <job status>      broken
 test-amd64-amd64-pair           <job status>                 broken
 test-amd64-amd64-xl-qemuu-win7-amd64 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-xl-credit2   5 host-install(5)        broken REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-pair       7 host-install/dst_host(7) broken REGR. vs. 173462
 test-amd64-amd64-xl-shadow    5 host-install(5)        broken REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 7 host-install/dst_host(7) broken REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                6feb57c2fd7c787aecf2846a535248899e7b70fa
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   74 days
Failing since        173470  2022-10-08 06:21:34 Z   74 days  150 attempts
Testing same since   175424  2022-12-20 13:03:36 Z    0 days    1 attempts

------------------------------------------------------------
3170 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           broken  
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        broken  
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 broken  
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    broken  
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         broken  
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  broken  
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        broken  
 test-amd64-amd64-libvirt-pair                                broken  
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   broken  
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-shadow broken
broken-job test-amd64-amd64-xl-qemuu-win7-amd64 broken
broken-job test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-i386-xsm broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-libvirt-pair broken
broken-job test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm broken
broken-job test-amd64-amd64-pair broken
broken-step test-amd64-amd64-xl-qemuu-win7-amd64 host-install(5)
broken-step test-amd64-amd64-xl-credit2 host-install(5)
broken-step test-amd64-amd64-xl-qemut-debianhvm-amd64 host-install(5)
broken-step test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm host-install(5)
broken-step test-amd64-amd64-pair host-install/dst_host(7)
broken-step test-amd64-amd64-xl-shadow host-install(5)
broken-step test-amd64-amd64-libvirt-pair host-install/dst_host(7)
broken-step test-amd64-amd64-xl-qemut-debianhvm-i386-xsm host-install(5)
broken-step test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm host-install(5)

Not pushing.

(No revision log; it would be 476314 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 09:55:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 09:55:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467678.726702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7voN-0005eo-NK; Wed, 21 Dec 2022 09:54:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467678.726702; Wed, 21 Dec 2022 09:54:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7voN-0005eh-KX; Wed, 21 Dec 2022 09:54:55 +0000
Received: by outflank-mailman (input) for mailman id 467678;
 Wed, 21 Dec 2022 09:54:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VCPi=4T=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1p7voM-0005eb-Lq
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 09:54:54 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on2082.outbound.protection.outlook.com [40.107.14.82])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7dd65ab9-8115-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 10:54:42 +0100 (CET)
Received: from FR3P281CA0112.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a3::15)
 by DU0PR08MB8614.eurprd08.prod.outlook.com (2603:10a6:10:402::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.6; Wed, 21 Dec
 2022 09:54:44 +0000
Received: from VI1EUR03FT017.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:a3:cafe::9f) by FR3P281CA0112.outlook.office365.com
 (2603:10a6:d10:a3::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.10 via Frontend
 Transport; Wed, 21 Dec 2022 09:54:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT017.mail.protection.outlook.com (100.127.145.12) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5944.6 via Frontend Transport; Wed, 21 Dec 2022 09:54:43 +0000
Received: ("Tessian outbound baf1b7a96f25:v132");
 Wed, 21 Dec 2022 09:54:42 +0000
Received: from ceff234d6134.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 73D7890F-F670-4726-BF11-B7B5C26DD4AA.1; 
 Wed, 21 Dec 2022 09:54:31 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ceff234d6134.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 21 Dec 2022 09:54:30 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAWPR08MB9687.eurprd08.prod.outlook.com (2603:10a6:102:2ee::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.6; Wed, 21 Dec
 2022 09:54:22 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::b14f:1c13:afa:4eda%3]) with mapi id 15.20.5944.006; Wed, 21 Dec 2022
 09:54:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7dd65ab9-8115-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5TYP5fR+DfSoZAPCJIFgeX9gLs5R8o+vrRrS4kGk9cE=;
 b=IcZpk9crdxj7hq3Qt7/bMZ8qvr2JvGIryopjd8gu5RbrVWhH6KofCWeEQQ1pqKL/oUHxgXSGRN0eJt220RTxHwtQhTBE1oXEmWrQOVWk/A0zr4EA2N3PaLVFbACp7rVnp4kZl14yTb7xZFWu8KtN1IYB5aZuNeNzGg4vqWN18uw=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CheckRecipientChecked: true
X-CR-MTA-CID: 7137cfd5e8ab3ae3
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l111vrGJLMhLDDZpUI+8FkXPYMgUxkOYdADINMOrCb8QRJ4FEdh/E3XOATXKlAxtbpN5JwU5tz1da22J8KN3VY19zYgi46/Lrb6X22UFRzB9SJBIqXvGslPjpKuqR2mv+q99EiNmmiO3slGIkf+vaSuzmP0fQnI9P78x33b1fKGjwpIsvhSKzKrLerNtWCUo9amdapBuTiSXVvPe0OarkB/++m5XAR5LDboAZPqHdj87tdWpX11DMONeY2MERq0umzTeCRSZh7UJ7/mUdtzAG5KjJufNdLqALIPnXTMQVARsItkwtkMF9xgKiYoBeaVLqAtFvAr/E5lyDV3RXJeDPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5TYP5fR+DfSoZAPCJIFgeX9gLs5R8o+vrRrS4kGk9cE=;
 b=nHn720Ai//GYNvqJC0bKFfnt1gINNfZ77eDyJuodEOikznnoBykaGZMt81rlKt+db5kF2IJ1sfxTDdSvYocpWEWzw/jC8YNVkbDSK/O8q7DBAZfe3P1pFZyeTz+lN4/vs2Fww5j0PMyJgkxQZGpnHagDoX7/uSClHEl/rx55+4LgHmnQv3Sj2aGZta4xSaXW/2satElIZx1Sk3Lp5FKiNSGG++NA4TWd6KTPfHiWnsf9zgUES9VbegSMuQixyEaTIvqcs75mxOhyDiuhBcdY26lQkN0CxYO1N/apOGD5Os4At8G5H0UYGiEto/zX5NjK5kU8FPtpbY70Ey2bXWl0Hw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass
 header.d=arm.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5TYP5fR+DfSoZAPCJIFgeX9gLs5R8o+vrRrS4kGk9cE=;
 b=IcZpk9crdxj7hq3Qt7/bMZ8qvr2JvGIryopjd8gu5RbrVWhH6KofCWeEQQ1pqKL/oUHxgXSGRN0eJt220RTxHwtQhTBE1oXEmWrQOVWk/A0zr4EA2N3PaLVFbACp7rVnp4kZl14yTb7xZFWu8KtN1IYB5aZuNeNzGg4vqWN18uw=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Chen <Wei.Chen@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC PATCH 09/18] xen: cppcheck: misra rule 20.7 deviation on
 kconfig.h
Thread-Topic: [RFC PATCH 09/18] xen: cppcheck: misra rule 20.7 deviation on
 kconfig.h
Thread-Index: AQHZFFBPeOWORFF7zU67S/8TUSweLK52h6oAgAGUD4A=
Date: Wed, 21 Dec 2022 09:54:21 +0000
Message-ID: <4E3B8FEF-10EF-4C4D-A8B1-8421FF8187A0@arm.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <20221220085100.22848-10-luca.fancellu@arm.com>
 <f1c0f957-62cb-f7e3-4a8c-1a90da683825@suse.com>
In-Reply-To: <f1c0f957-62cb-f7e3-4a8c-1a90da683825@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.200.110.1.12)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAWPR08MB9687:EE_|VI1EUR03FT017:EE_|DU0PR08MB8614:EE_
X-MS-Office365-Filtering-Correlation-Id: c1b2f0bd-1bbf-4c71-912b-08dae3396292
x-checkrecipientrouted: true
nodisclaimer: true
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam-Untrusted: BCL:0;
X-Microsoft-Antispam-Message-Info-Original:
 L0wBqWREl8P1sh4rtV38tUhAeuS06BWDPXq0bXCJQHELi/VXTHAbungkN3Gcx4wcqkFly1R9oV1QAR5cNBq3Owia1RVKfkEkK92Ab8Gq5Db0YAycAeImbX2T+ZQpVaTlGGiK9G6pwXI+7U3YHh6AegB92Dul5ZREVQaA1hLLg6cUWQ4srTNg4p5CQpdMK03RfqEMPW9dsEzFhLJKn1F4C0SfLTE8hThVNfxZQhprUtA1FJoeP3XXrgZkM9ZEFoKt8xAL7MwLq0/AO/T4PW4EHvSb9kCIgSio1m5v8f6Cu5ev6ttVVEdW5a2mmQ2YQMksX34Nw4y11+9Iw3AK9LHsKBttYosPV4NrVd0GdL5MAm8xdTSeu9wzkepqhaQ9lQF85O2j7HS0Dao07SXPKPWXHi5eAXOIcX+tb9S1cOx8kaQPSynPoED2HaRzCUGfmO7VPZFQ5t2QcXDdYxXRtgU55nlDiOF7wrMKmKEnVoaajwm9TQZ01l57bN/vErnGmMM2A+kexcviScI6blus+ho+1qXxng3QHUdYl14KnEdcC+J3vB0zBttPMsc8DDfIFUH+2pcdFscworohjCS9ODFgPRawGJdjWyaMfPKo7NUjj9FrH48jU44TH+9TrLEcL5D07Cqf1QCabvOd6t0VOuc/nCHfrBSFfjIuAkQ9BAIQnSl87KWgAfJGhx/wn7s1aaiu1zZit7SNylO2Hwv5JVlEI2NOaSp0Xh00/ETp7j6cnwA=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(346002)(396003)(376002)(366004)(451199015)(2616005)(38070700005)(316002)(2906002)(66556008)(91956017)(76116006)(66946007)(66446008)(64756008)(66476007)(4326008)(6512007)(186003)(26005)(8676002)(86362001)(71200400001)(6916009)(6486002)(53546011)(8936002)(54906003)(33656002)(122000001)(41300700001)(6506007)(38100700002)(4744005)(36756003)(478600001)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <AD50619A713D0749943F0A224638C9EB@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9687
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 VI1EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a9d6cb6d-c513-49b2-d882-08dae33955bc
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KYLi2fYhg7CoO6EPN08Mwfy/nk8Th/6uCiGg8KSUdYAcPXBorwhzwgKfNryLvmBuWBFZmI6cFujOxnzTCSLdahUFdMSOINYlaxrZEs26R27g5r2kj1kYAX9QMRIVpHXjUD1s8xrmNgnGHNx2ZgOega9JPBlFiI4gHGkSOWI+Xc5iIWRHs2fILs4M3mgzyx+1Xc/3iNGa1bl1jrGK4+PYfKXLQtV9mDLLfl5u29DY3QlHnpD6ikg8jryXnUU7ICqrnNgmRkAuECxau8RM2wIU0bR1DBv7z3GP9DotwBhJtBC98nUYSRehN9l/PmvnhxyEplLKCopg1Je0P/81YhxQLhdHzQH2OiYY8DR80EAij8ebIulZGOLYqBNh0pTdNH+Svx1RFf2K8K2UKBcwLANtGIlALclle0mjxXfDY6hOLjvz+ciuglGUuGGum3fgl4Pnc8Cho2smzaqRnY6ROZGow4Tzwk48zrCI5r4t2avhRfdNqFjuaQ/QG7DE69CknVaaRPPEpdFlX76IkOWQ63kYVBKgjvwkQESTt11y0whMcU5lAR785len1fRzaxW3ccgnjcoLp4lPPWbQZjXZXGz9FarbRJ/5eB99saLQs03FjRu2gi3q9CZy1ujIh8POsi0cRNPPWiDTFwAYfRW0eZ33XkObt7prwT+eX8gtbLyqBKBNYmt4b8bhvmzQmSpwyw9//W4J8f6E97DLo+1ye31msQ==
X-Forefront-Antispam-Report:
	CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(396003)(136003)(376002)(451199015)(40470700004)(36840700001)(46966006)(186003)(6512007)(26005)(6506007)(36756003)(40480700001)(36860700001)(53546011)(81166007)(5660300002)(70206006)(86362001)(2616005)(336012)(82740400003)(82310400005)(8936002)(33656002)(47076005)(356005)(2906002)(40460700003)(6862004)(4744005)(316002)(54906003)(41300700001)(6486002)(70586007)(4326008)(8676002)(478600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 09:54:43.1666
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c1b2f0bd-1bbf-4c71-912b-08dae3396292
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	VI1EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8614



> On 20 Dec 2022, at 09:48, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 20.12.2022 09:50, Luca Fancellu wrote:
>> Cppcheck has found a violation of rule 20.7 for the macro
>> __config_enabled but the preprocessor branch where this macro is
>> defined should not be analysed by cppcheck when CPPCHECK macro is
>> defined, hence this is a false positive of the tool and we can
>> safely suppress the finding.
>=20
> So what was commit 43aa3f6e72d3's ("xen/build: Add cppcheck and
> cppcheck-html make rules") adjustment to the file about then?

Yes the commit is right, cppcheck itself needs that, the problem here
comes from the misra add-on (the cppcheck component that does the
MISRA analysis) that is wrong.

Anyway I will drop this patch together with all the false-positive on the
Tool for now.

>=20
> Jan
>=20



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 09:57:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 09:57:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467687.726714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7vrI-0006Fx-67; Wed, 21 Dec 2022 09:57:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467687.726714; Wed, 21 Dec 2022 09:57:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7vrI-0006Fq-30; Wed, 21 Dec 2022 09:57:56 +0000
Received: by outflank-mailman (input) for mailman id 467687;
 Wed, 21 Dec 2022 09:57:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VCPi=4T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7vrG-0006Ds-RB
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 09:57:54 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id efcef5d0-8115-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 10:57:54 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2F281AD7;
 Wed, 21 Dec 2022 01:58:34 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0D6C03F71E;
 Wed, 21 Dec 2022 01:57:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: efcef5d0-8115-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 0/2] cppcheck rule 20.7 fixes
Date: Wed, 21 Dec 2022 09:57:40 +0000
Message-Id: <20221221095742.54859-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1

In this serie there are some fixes for the rule 20.7.

The analysed build is arm64, to reproduce the reports here the command:

./xen/scripts/xen-analysis.py --cppcheck-misra --run-cppcheck -- CROSS_COMPILE="aarch64-linux-gnu-" XEN_TARGET_ARCH="arm64" O=/path/to/artifacts_folder


Luca Fancellu (2):
  public: misra rule 20.7 fix on errno.h
  public: misra rule 20.7 fix on memory.h

 xen/include/public/errno.h  | 2 +-
 xen/include/public/memory.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 09:57:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 09:57:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467688.726725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7vrJ-0006VZ-EK; Wed, 21 Dec 2022 09:57:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467688.726725; Wed, 21 Dec 2022 09:57:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7vrJ-0006VL-AB; Wed, 21 Dec 2022 09:57:57 +0000
Received: by outflank-mailman (input) for mailman id 467688;
 Wed, 21 Dec 2022 09:57:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VCPi=4T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7vrI-0006G0-Id
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 09:57:56 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id eacd276f-8115-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 10:57:45 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7CA192F4;
 Wed, 21 Dec 2022 01:58:35 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 65AF03F71E;
 Wed, 21 Dec 2022 01:57:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eacd276f-8115-11ed-8fd4-01056ac49cbb
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 1/2] public: misra rule 20.7 fix on errno.h
Date: Wed, 21 Dec 2022 09:57:41 +0000
Message-Id: <20221221095742.54859-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221221095742.54859-1-luca.fancellu@arm.com>
References: <20221221095742.54859-1-luca.fancellu@arm.com>

Cppcheck has found a violation of rule 20.7 for the macro XEN_ERRNO,
while the macro parameter is never used as an expression, it doesn't
harm the code or the readability to add parenthesis, so add them.

This finding is reported also by eclair and coverity.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/public/errno.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/errno.h b/xen/include/public/errno.h
index 6bdc8c507990..5a78a7607c0d 100644
--- a/xen/include/public/errno.h
+++ b/xen/include/public/errno.h
@@ -31,7 +31,7 @@
 
 #ifndef __ASSEMBLY__
 
-#define XEN_ERRNO(name, value) XEN_##name = value,
+#define XEN_ERRNO(name, value) XEN_##name = (value),
 enum xen_errno {
 
 #elif __XEN_INTERFACE_VERSION__ < 0x00040700
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 09:57:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 09:57:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467689.726736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7vrK-0006lw-KU; Wed, 21 Dec 2022 09:57:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467689.726736; Wed, 21 Dec 2022 09:57:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7vrK-0006lp-HD; Wed, 21 Dec 2022 09:57:58 +0000
Received: by outflank-mailman (input) for mailman id 467689;
 Wed, 21 Dec 2022 09:57:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=VCPi=4T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1p7vrJ-0006Ds-6c
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 09:57:57 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id f164a077-8115-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 10:57:56 +0100 (CET)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id CAFBCAD7;
 Wed, 21 Dec 2022 01:58:36 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.cambridge.arm.com
 [10.1.195.16])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B3BD13F71E;
 Wed, 21 Dec 2022 01:57:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f164a077-8115-11ed-91b6-6bf2151ebd3b
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 2/2] public: misra rule 20.7 fix on memory.h
Date: Wed, 21 Dec 2022 09:57:42 +0000
Message-Id: <20221221095742.54859-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20221221095742.54859-1-luca.fancellu@arm.com>
References: <20221221095742.54859-1-luca.fancellu@arm.com>

Cppcheck has found a violation of rule 20.7 for the macro
XENMEM_SHARING_OP_FIELD_MAKE_GREF, the argument "val" is used in an
expression, hence add parenthesis to the argument "val" to fix the
violation.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
 xen/include/public/memory.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index 29cf5c823902..c5f0d31e235d 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -485,7 +485,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_mem_access_op_t);
 #define XENMEM_SHARING_OP_FIELD_IS_GREF_FLAG   (xen_mk_ullong(1) << 62)
 
 #define XENMEM_SHARING_OP_FIELD_MAKE_GREF(field, val)  \
-    (field) = (XENMEM_SHARING_OP_FIELD_IS_GREF_FLAG | val)
+    (field) = (XENMEM_SHARING_OP_FIELD_IS_GREF_FLAG | (val))
 #define XENMEM_SHARING_OP_FIELD_IS_GREF(field)         \
     ((field) & XENMEM_SHARING_OP_FIELD_IS_GREF_FLAG)
 #define XENMEM_SHARING_OP_FIELD_GET_GREF(field)        \
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 10:07:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 10:07:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467714.726747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7w0K-0000WO-GH; Wed, 21 Dec 2022 10:07:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467714.726747; Wed, 21 Dec 2022 10:07:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7w0K-0000WH-DM; Wed, 21 Dec 2022 10:07:16 +0000
Received: by outflank-mailman (input) for mailman id 467714;
 Wed, 21 Dec 2022 10:07:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7w0J-0000W9-C9
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 10:07:15 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2084.outbound.protection.outlook.com [40.107.7.84])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3dee0194-8117-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 11:07:14 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8173.eurprd04.prod.outlook.com (2603:10a6:102:1ca::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 10:07:12 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 10:07:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3dee0194-8117-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JjlMFagd1ROzJDsDCF9OMSisqYf8H3LIh2UfWsODBmSoUymSSOaEzZx0IB2Rtqq6vk4CLYnsPlQVDVVeXyyagMD/C67jT2uViTOPmp5xBH5jfbvmROxPDEoKDsLYzD/FqwiMpUOHdUXbHFGsxDsvhMmxXPXK672yapzljRO/HP24HXr0Auw5V/PtVgOsxA8bP3ptpKJIGhPUf59f0/147WKwN3N+8gvuFA4RwioWdZ0DnccuvqaZOVj+MD3gQwl/BPCtkCfh88Vg04vnFPnuWwEhE3nnvtu0zo2bF9SwC335K6W6bStp3xMAOkZ7xfDrBoV4RiIC7GDlv/doPwJgkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hExBrsUCnDw8aWVDK/TAd380zaLaiYIrQtzjXcnytYs=;
 b=BHunngRvmGDWDDPGUo3TYPqoegoAb6lkaPCdjAF08nPY1ipD0mFxPZWq8ExrGiqYbsWCcP8k9YBheluIyTW2bktAw+5ZwuVMGUHq/y8aLT1whgbhuH+zNhcF5l49jV72WJ8T51vz+H4hMPQ0A3lcwkhHuwAfjybbeoxKdbAgDBK/OH6v0lxPJJEqGiBCz1nOaEvu7J/x8wQPVpiPtlp1XyG0PX32KLsLvHeG2Oh27dqeeJOVbQaKY1Q6KaZ8Hpa9ia4chl5+wEF/u/0nKLgt507Pi4T6PPyHqK85qT5zPE+ac5FD2TaRRayK8PKqEjF7DW8FVtmNs335sFrOSo0AJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hExBrsUCnDw8aWVDK/TAd380zaLaiYIrQtzjXcnytYs=;
 b=dmOvQyxJ4uLkmSzbeVgIISCkqgRkHAbDLEPN/q62kDcJVEc93kA98nTKkDpAYLZEo8Sd1w7jLlW3D1MT77q7rZMu0WtafSHogxDt3MQWryhTEx6uz+4krqW7iSze8wUL//EFlVf8HDtVqLHzqAaD6ekLqSn1EO8jWOg0v58xabLH7axqMS2jcY4kfUUCCJuMh9vYagZs3Fqm51HymtlMeqvG5W6MNEstxm72+khoPwtrGmIt6Rb2EtzWXGsytK4F0+seJEhG9jlV0oi9xS0dHh9NW1ukp75ohO/qK/n/Oa+F9B/HzHY1oyDb/AmOtVefZ/ciXfUkWJW2WAeXWaAKbA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8c20633b-3f04-ad94-282c-3b0987f03281@suse.com>
Date: Wed, 21 Dec 2022 11:07:10 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC 4/7] x86/acpi: separate AMD-Vi and VT-d specific functions
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-5-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221219063456.2017996-5-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0140.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8173:EE_
X-MS-Office365-Filtering-Correlation-Id: 4a5c0978-3cab-498e-55b5-08dae33b20d8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DNMkky/XnBDWKQxrXfPmijpaF5P5dDdTh0S+HWJDWh5BUeOnLaJYzzLRR28dFeJDC9Ye1K8OWIhG7UaVNewb7L2L6Fq27SR+HcRitLH7Qndcx9cMhT2oxLJP90pX0Qmqe2iYEdX8l6NU/+txd32iANjLAl7X55GFm5zJShV9Y3Y3J4yXqIjBK+NfnwbM713zJdrqu7cR0/QQM4gOGS5Nfb2G3C3NDiUAz4s6Sg/D1spnkumwgjvy7+stLNCh1U6RoGmeYdSoY/i6MEA/m0V2m7RXjHPtTYoY1W1yjljh7GYj7JrlNxw3edn/Rh3h4+Vc0NtmL+O6Yn1AZq8IZAEWlbTP/vge5Y5bjxYmDCTkrjlxbhBGF6F5Q1Q9JRC2xa8WzWnJqsRGO+q+UYkd0LHH1f9GmSX7oOWF8RPO72tiHFjj4PtYKbmVdcPPjLqKgvb/IUBxx21CFUhRA81fdDW3uEgChE8IgOSUr9jjg/7G3L4d8yBP41HKMUL7xhcL5yZVFkigoyEhFaaa8RwpWvvlZ/iqjiH1D9sEsMp+odNA8ytu7dRTbcSZJ7huvlZZdsfUZO+V0WtrZk+v4cu4qLq4Y+GkDn4/5W0QOyRv/F1vp0mEh2tRa6ZzkXLSoV2nvXwMStu/63sOdG2/13oNOwXil61DLGbMqIUqfh5kQsutk7aUCQOAQ5u38TXwFnqeKEUSnTo9lSUDI9emI3XPHVzOUzYomQ+SQmZ8GkfuDKr8vRE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(366004)(346002)(39860400002)(396003)(136003)(451199015)(2616005)(38100700002)(2906002)(86362001)(54906003)(478600001)(36756003)(6486002)(316002)(31696002)(26005)(186003)(5660300002)(31686004)(8936002)(6512007)(4326008)(8676002)(66946007)(41300700001)(66556008)(66476007)(53546011)(83380400001)(6916009)(4744005)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M1RvcGNWbXZ3NllJZnRZRWJIQkVNK2VEdXZCcWlNU2Q1V3lqVWRwbG92U09Q?=
 =?utf-8?B?RUlLeXREUTZ5TGdwMmtxRThpcE01TkNPVzVsTVZGRjZ6TGVzRHRocHRsVGla?=
 =?utf-8?B?NlhWYlBwcVJQdDd6SUVKWHdTTEdxR2xhTlkrTEZtNUp4V2laeHlodUwwdXdG?=
 =?utf-8?B?dElFanl5YlkyNG1OTFRlN3FGc2FRTDQwVXBNa3RTTVNFai9HN296SUpyNDI4?=
 =?utf-8?B?MW9OV2gzVnBLQmJCcVk5VWhTNk9NZUR2bkp5ODJwdC9rcmRldTBOSit0Sit5?=
 =?utf-8?B?Z2xXRHk0bVovMk9KVkNWbHc1T3BaWk1XeHF4WVRsbUtGckxOSk1ZMDhVSU43?=
 =?utf-8?B?bzdqeWZYSFhrMUlyUlRSUEh3SUdZVVdXb1ZFcDl0U216dktNMHdMek9HdnM4?=
 =?utf-8?B?QlJ4a29pK2pHaWxXNFI3QThzV0hoeVI4dWRKekw4ZlY0ZUIwd2YyL2plRHYz?=
 =?utf-8?B?MWNxcHN6WXdYVFN3YWNVc1kyMjhEYml1VWJHSFJTam9RbHZkWEdnbnRkNkFP?=
 =?utf-8?B?ZjhhOXUxcGpMTG5yVWttVXZKZ0NQbWRXd0loWm9WNkdSaW82dzNVZGdjZWtK?=
 =?utf-8?B?ZnBCM2Z4NVlzN0pyZWkrTzhMRWlLRnAwbGhEcmJuMkw4RFNuV3p0Q2o3QW9U?=
 =?utf-8?B?Q3ZFWEJYWGUwN1hwb2hyZkhSMExUbE9HTnY2OVp6ek0vZG53OHRqaXhUUmJh?=
 =?utf-8?B?b1gwWG5sUllNempzenlHL2E0RFArZ0FNeGVzRkduV2dQWC8yeXFHNy8yZWRr?=
 =?utf-8?B?STkrcjByb3RYUitxZ3FvOFhOdlZVUi83eGZ2RjNkM2htblczZWRBMTVtR0JM?=
 =?utf-8?B?bFFwNEtvOVdkMXhFbVRpTDNURTQrQ1RXQmxrUTdwT3FzbFpZSEV3L1NtaGFv?=
 =?utf-8?B?WmdUTlpYTG1aNTA4bFN1cm5WejJ6QWJHQlhlK1lhbXFYUzhhOTZkc0tWdHBR?=
 =?utf-8?B?SFdVWWNNN2lIM0dCWWc2N0VhNENOSmQrVlNnZ0FxcUorUko4alZwNUE0TTNV?=
 =?utf-8?B?RjUralVKUzZDQVhqckVxOFRJYmVOR0pHU0RCUzhrdEFFc3dURXZPb0JvMjFK?=
 =?utf-8?B?eDI2TU9kRnVlS0FaQ043c2pIZksyQmxjYnhVYTdGQ1F0ZlVFQ0UwaXRIYWxW?=
 =?utf-8?B?N3VIb3UzNHJTZEs5Y3hlRmZ4TzI0OU9VVVZyU2FDUE9NazNMd1g1bmdySStk?=
 =?utf-8?B?K3BKN3hVdW41bG1DaXREbWtoZTdmdFB0MGVCZW81VkNxWUpxeUZ3TU51azN6?=
 =?utf-8?B?UUVkaU5Iblo4M1dnYlpSMFhXZjB1cUlnVWlxekZiSDd2MGJRMGZPRHBmTUJV?=
 =?utf-8?B?WnVWaWxGRzhuckhBS3d4Nm81d0w1VHk2allVRWJMMDBmeDJTRTAvQ0RjdURN?=
 =?utf-8?B?OE5mLzE5T3NnNFVDdkJWbHlyVmJ4TzU2bE5va3EyOGI2N3doOXJJeHZhZXFB?=
 =?utf-8?B?V3dibEtMRWxXNFVUS09oeW1lbWIwZlU5YmVZZ2p1bHFoQnJhSXA2eFFBeTh4?=
 =?utf-8?B?ZjdhK1krajJNcDBmSmg3RGY2THc5cWwrY0ViK0lqQVEzQm5CMkJyemlpenRG?=
 =?utf-8?B?Q2dDR3NkbzFEZkVyWkdnMVdlc3VOSjNibVZvclV0R3lLenB0TXB2ZWFuVGZm?=
 =?utf-8?B?azhqN0dYRThxS2hZYTBzUG10Q3FlQ0hRQjJhNUQ5OHZzRkFVbmZrN2plNWRx?=
 =?utf-8?B?Smh4ZFM4TkhYMVZLOWVUbmM0WWxoS2lOa2dlQzBuNU0ybURBcnpaWWlxWjUz?=
 =?utf-8?B?WWg0MzEvRmVMMVpCd01aTkY5c2xZbHdlaWZrNmNmUEc1ekJiaHBmQThKa0c1?=
 =?utf-8?B?WVFFTWNiYWdsd1hlcGlYblE1bTB1N0JDbXF0cmd0eE1SUUl6TndtQlZxWjUw?=
 =?utf-8?B?T05DVGRmUEFqOUE0RVBTMkJyRVV0U1didyt4WEF6bERrZUM0MVk5TjlDNStt?=
 =?utf-8?B?bjJzclJGNHZQMUZsRnh6SytabkVSemVRaW43bDlXVnYra2RYNkg1L2tiaXlz?=
 =?utf-8?B?NC9SeXg0RHRXeXJFYWtBZ1dxREsxSWpkMUNnNVdKbDhNWHQxWEczeWNHbDhE?=
 =?utf-8?B?bDdqZkx5cWpmcnREa3U2UnpqS2hFOVdXVUgvQzRhMjVoNlV1anFhcGtKbVBK?=
 =?utf-8?Q?RVJBxGiKWFszpUCtoWZddncK7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a5c0978-3cab-498e-55b5-08dae33b20d8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 10:07:12.3564
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4ZNJ+WSQkufb8ijUKe/Qjzs2kaNswx4vbDemN83DOsdPdqVMT1JjtY7FU12LrjJ3HsUG0Z7fN9yT9SD4WsqPMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8173

On 19.12.2022 07:34, Xenia Ragiadakou wrote:
> The functions acpi_dmar_init() and acpi_dmar_zap/reinstate() are
> VT-d specific while the function acpi_ivrs_init() is AMD-Vi specific.
> To eliminate dead code, they need to be guarded under CONFIG_INTEL_VTD
> and CONFIG_AMD_IOMMU, respectively.
> 
> Instead of adding #ifdef guards around the function calls, implement them
> as empty static inline functions.
> 
> Take the opportunity to move the declarations of acpi_dmar_zap/reinstate() to
> the arch specific header.
> 
> No functional change intended.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Wed Dec 21 10:13:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 10:13:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467725.726758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7w6V-00023S-9b; Wed, 21 Dec 2022 10:13:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467725.726758; Wed, 21 Dec 2022 10:13:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7w6V-00023L-6w; Wed, 21 Dec 2022 10:13:39 +0000
Received: by outflank-mailman (input) for mailman id 467725;
 Wed, 21 Dec 2022 10:13:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7w6T-00023F-Vu
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 10:13:37 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2041.outbound.protection.outlook.com [40.107.7.41])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 21f6d50c-8118-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 11:13:37 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6908.eurprd04.prod.outlook.com (2603:10a6:10:116::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 10:13:34 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 10:13:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21f6d50c-8118-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CLLYjkZXJN1Zg40bVvtpTjKhlcyv7hc8a11VygaZGgUxnHfRk3J8x8Vk2atG+gBqwPVB/761pnnPn6tzxTLe8OSkuNM8XK11Ps3Ek6stA1c53/gZzpR4KaSH3+SwkkqEiVcnfw0f3xqtxcpbgKDywszS/Bc+Y4HD7QU49vH3xaKyIIpx2/KBfQhBlYJT9ebNAoCpzYamRuLzt6n1fdeEXCr8hNgd8gTcGeGMscYaMqNLwQ+KgKm1VgZzuGshlzuc8fK+W9cBbukLCD+WEFuaoPle/kY1r1Fnumm7dPVHTdzGfbHRt+OvxpX/zCDqxeodfpSoWShcbrIFIHVweH4ZhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sxHLnB66cKtWFyV8NxlthOE17z+vwATgZeHTVQZC2S0=;
 b=lk5RjJnWOWwKta0EHMHGYudC1n/YkaGzTGt5AshE+el6jQWe46k7fhX0+WCrhdoWqF4wWQLEksV7M6PfSLgwtddVamsT0F2RW4PRR/a1wnxDOHmioUN+r7AcKaO1vyr5/Q9N62eA8UwRC/LROQtHpu14hFpnbbuqLfuSWm77pJZjGk6Om9rpz4gpBz7OAgO0moxF2c9qoq91WQudzpDC9xhTtMiGZE+vRLFarshRn4v7V8ZpA+a4lfZCskJtfIRWJ1YhpsritV+eFTHmNRORJ0crE+0PFeegd5+2O8u8JMq0aOoOfNVXTHTbYG0mNNMdsiWb/wN3tvD4yB0GCdmLVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sxHLnB66cKtWFyV8NxlthOE17z+vwATgZeHTVQZC2S0=;
 b=CLfNccn2wUw7KqMpCx+iXkeOUBbNB72MWJidA3L/jUW/qD5OBU25cSE1L8YTqRE1C1Wd15SAX9TS2n/0c0btnfwmoXSIr1QB/CHNevK1OHLZkR2zupH5sPRgIXoxR9azzKlDz28mwqTM1OOY4QTptl1xQ4u5x1e33df9+hzU/BGn9oQngcbcwQBF0FdsO2TQzWD8qibu0Ui958J3c3ZzX0eBJ3ktN4No1q9HHdVgBLfbb7rhPMm43D4rZO1mIg4HG1hc8/lbmRj3z6kypRONA/zeujo7idlMzQij7aTM/Pqi0TWMP+L7vMUZ2gPGOyA7XcykxGYabw2lzke0efE82g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d7f12b04-1077-cfc9-25a9-0eba37dde753@suse.com>
Date: Wed, 21 Dec 2022 11:13:32 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC 6/7] x86/iommu: call pi_update_irte through an hvm_function
 callback
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-7-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221219063456.2017996-7-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0209.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB6908:EE_
X-MS-Office365-Filtering-Correlation-Id: 995a5728-b345-4288-db6b-08dae33c04f2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Bk07NKvE/FkEaRI8JIKlg7DA8oFGXMTP0nmWWl3Kt+y7LTYUO6bItmaKCR7zEikvHHvveJGSAcFqbMmxTVuNL1S3xIr3owWmgFS0GrdaqxpdrpTVsewYwCLPYK7ol6CfI8MMa3pqYnl9CsmQNryP+0kBVmahglD22ppqF4d9HSS9fEjzd3dfFju7XZNAV4VPp0Ckw9qIGSjKm13a9Uv3thKZJbsl9d59+irElFDnLYQJNsQ+xwzGP6ZQB4vay1/xeenSdPgfw2Pf59vILH/P5ZgJxgJ4LgeI7SdQTLdlH8gwAKWccxS9gJxtPXMhenQJI782RB5EwojiRen2iXCivHLr1E0ADZJdNE7eXTYAMEuJcA6NqQTWj75MC1Ggx06gKPFlURMFPA67UfWaIM6+TlMtYqfVEzFENZ23ERZEL7RDFgL5QwOsS3cwt6Gcr+XGdQrNcTQ0PZg4ouWsyhYBo4bb6N+vCwFoEcP1UCwhpaPTQsQTr/o75qidFhn2CoUsYHwmpx6QCjeiW2zUQUBtJVH9mx9d2YLOqFCzIewlzZ1ZnAE7YN2aSJxD/V+/tuHZKFoSyUOEeGdQ4VP36zG2d1pX1MhvFGxrJnbfUKwLchn7VEDyQ9cGoYGN4H1qZeawWJZcN6gcgG+RqEfaMWaACGY2ZRNORkN0UDfFh1dom9w5vMrOXUxwO/1peDLT/TxpXoxPxAIg80vsHQIyJ91bx1PAG32i4N7e6wt44yEuH9k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(346002)(396003)(366004)(39860400002)(376002)(451199015)(8676002)(66476007)(66556008)(316002)(4326008)(66946007)(36756003)(8936002)(83380400001)(41300700001)(5660300002)(86362001)(6506007)(478600001)(6486002)(2616005)(6916009)(31696002)(26005)(53546011)(54906003)(6512007)(186003)(2906002)(38100700002)(31686004)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L2lJWEdZdms3dEowUXEyMUZVQnVDS1VidFpMOHhQSHY1UGloTjNBVmlXcm5t?=
 =?utf-8?B?T3JXemJxS29hL2V3N1RrSG14T2Y1WEFyaXpLQTdCS1U2YmRERVFqeXhkME93?=
 =?utf-8?B?d0NsMFIxa1huWW5MTzJyRW81c0RNa3d6eEk2WEVjYVQ1ZFdKaXcxcG1sVWFQ?=
 =?utf-8?B?Tm1FL0tiRGV4aW84MFJNbTdaOUo2eE1DbG5JZzFNaHZHdldta2ljbDF3YjU0?=
 =?utf-8?B?WmVHVDBIQ01ObFhkMkJxbnZNV0VUckpzeEtncHhNVzNMYlpndkJoc2xxLytk?=
 =?utf-8?B?RTlMWDRPOXVHMktEc0VoaUxLSkJsVTNRRks4VUx5UTZ0aytjWDhKQ1pKV2h1?=
 =?utf-8?B?bVdRMjRBTEUvSU93WVI4UDdZa2JQMFcycXlaSmtDUm5ic0xLRGUyQ1dnYW1p?=
 =?utf-8?B?R0x2YXFTajdtZGovSDNyT21Ga3JxbCtoa0JaRkc5cFdsQnhsQUJVZEkrRDlL?=
 =?utf-8?B?UHdaMnJZOTJobURGY0o3ZEZ3Y3dYaVdlSlEyOFdhTU1pLzlGN2N4V1lOZnVt?=
 =?utf-8?B?YU5yZVBKMUc5aXJQK1FlK09aVmhTbGVwR0tJL2w0KzFWNWNCUWdJT3V6YmF4?=
 =?utf-8?B?alhoNVh1dEVMN1VnS3hNSzNLeEtwdUFFUGJ0UzlPc1ZNKzI3SStKUG5sc3RE?=
 =?utf-8?B?dk9zV0xoNWRxMDEvQnVQSGY0SnJtdHZXcitpNFpTVlZZUk84cVZnaGVsdFk2?=
 =?utf-8?B?clBPOXJhSFlyR2M0dVBpd216Y3UvSWxHWDIvTFErbDlRSHRXOE9YdjZ5Z1Nu?=
 =?utf-8?B?YkYvWmgrdEFTUGpFSmNQNmxNQWpQZE05TUFPZTg0NGNPdWFsS2IycEtBTysr?=
 =?utf-8?B?L3AvWGhleGJGVit6bWVLaDdoeTgyY1dPMFJOWGg1L1ZwRkkwSk1iclowR2ZL?=
 =?utf-8?B?NWRYZ0FsRGVrM3haNHhLaDQrNHV6L1FGcW9xQllWOTZIcGlRbDJYTHNFdWJG?=
 =?utf-8?B?Yi9ERnNCeWtucERMaE01ZnFaYlBSSC90MGk1Wi9aYzlGc1M1bzVSejRsZ1lI?=
 =?utf-8?B?eGZmVzgzbkVSZThhWVNjQitxaDVKa283K2twdmw2eHNyMjJLYUQ2WVpNNjN1?=
 =?utf-8?B?YVRMMkc4azkrUFJ2VVhUcTU1dmV5UHc3ZTIwcUIrSjRvN0tqaWY0ZDJvS1cr?=
 =?utf-8?B?NXhiMHNoMHlFK0t1cWtWRTB4aElUdmtJNHRTbjRZS08zTUxQWDk0eDdkTUQw?=
 =?utf-8?B?cWtBdldYOGE3aFdvRzh3RHI5ZFZuRTZCb21TczNyazRJKzQxMGNRcURSZUxR?=
 =?utf-8?B?VE03elBhL3JFZ3NqUWRFazR3Tm1RWXNHZEFRcnJxK05ZTCtjcVVNbkFTcUVu?=
 =?utf-8?B?cGM2QytGeXRFT2g4R2wzbVVpT0ZmMEJERS80N1lJVGx2TmxkMXhwd2ZhTWs3?=
 =?utf-8?B?YURoSE1OVWhhM1REWUZRMzNJdFBwVkxSR2xxbk9JNWpySTRTalVCKzVQaW9H?=
 =?utf-8?B?V1VSYnpuaGNBZG1Bek4raEt4NGgrdXpLTXhjczFSWnFFWGxLRmRzNWs5ZHRS?=
 =?utf-8?B?d1ZLRThIcEpPR016eVhib2oxVUNxVHJtblZDNWMxcDJQZ2R4b1hVTHpLUkJv?=
 =?utf-8?B?YkYvQ25veitZWTVlMGVlWWVVMmxqdCtEVjEyaHczYnV4bWszNDJTMnJ1OUFu?=
 =?utf-8?B?KzMydmR0dC9DRG9UTDhiWlhTRE8xeG95R2NaR0I5Nk5UY2RaUUhWeFQ3bnZF?=
 =?utf-8?B?dHA3Sk1qczJXZ3d1d1JqU3BvUkdBSisvQmFNQTZvaWRjOTh3VzR4Q0oyam8z?=
 =?utf-8?B?M240OW9PWjlwNVFZaDRDR2E1bk82aUEyekp6QUNNYllROUZZa21TSzhjczJ6?=
 =?utf-8?B?ZUtzQUJxR0dOOEYyZFpJV2tHV3JublgzR1kvYW9ET2VadUtIWWp5RTY3ZTI4?=
 =?utf-8?B?QVByRFVQci9iT1hGa29rQWY3ZnBKNkxTV24rTTBwaSt3WnFQSTYvL1VwYVFn?=
 =?utf-8?B?eWtkb2VzQ3BpS1VqeDFuS0pkYTc5Rm40dExxUnlqdUtpQ25PaW9BR0JTNWxm?=
 =?utf-8?B?OTNhNnRGYmJsQ3Mvc3pCbnJ5OXBSV2pqWWgxbUZWM2VaRjNyVExCUThaclNw?=
 =?utf-8?B?SWF4cnZycXFrc2ZHd0pVVWUrTkNCRzIzb0FtdFJLK1JJbDZZZkdkOHBTVVpT?=
 =?utf-8?Q?Si42pZp95ISUlurZoF9aOY9qT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 995a5728-b345-4288-db6b-08dae33c04f2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 10:13:34.8320
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zIoCXyYxVzf9U/6OrwxgE0ipBVO8KCx8KC5vgoacNAa8lixT5FsbUD4FC72fbXyTx9sstim6lAGuZsDKGk7fYg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6908

On 19.12.2022 07:34, Xenia Ragiadakou wrote:
> @@ -774,6 +779,16 @@ static inline void hvm_set_nonreg_state(struct vcpu *v,
>          alternative_vcall(hvm_funcs.set_nonreg_state, v, nrs);
>  }
>  
> +static inline int hvm_pi_update_irte(const struct vcpu *v,
> +                                     const struct pirq *pirq, uint8_t gvec)

Why "int" as return type when both call sites ignore the return value?

> @@ -893,6 +908,13 @@ static inline void hvm_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
>      ASSERT_UNREACHABLE();
>  }
>  
> +static inline int hvm_pi_update_irte(const struct vcpu *v,
> +                                     const struct pirq *pirq, uint8_t gvec)
> +{
> +    ASSERT_UNREACHABLE();
> +    return -EOPNOTSUPP;
> +}

I don't think you need this stub - both callers live in a file which
is built only for HVM=y anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 10:18:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 10:18:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467733.726769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wAx-0002gz-Qu; Wed, 21 Dec 2022 10:18:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467733.726769; Wed, 21 Dec 2022 10:18:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wAx-0002gs-OH; Wed, 21 Dec 2022 10:18:15 +0000
Received: by outflank-mailman (input) for mailman id 467733;
 Wed, 21 Dec 2022 10:18:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7wAw-0002gk-VG
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 10:18:14 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7wAo-0006p4-Ba; Wed, 21 Dec 2022 10:18:06 +0000
Received: from [15.248.2.148] (helo=[10.24.67.14])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7wAo-0001j5-51; Wed, 21 Dec 2022 10:18:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=O/omIncHSLLIFR+U4BaeNkyd/Rt2yA8kiPLAFkIS5RE=; b=Cp3Kmbbd3TTsp/VGa5CyWUWNww
	4b2EnJ74wYxPndZnNK6hzJCwpIcnMGpurfXjqI5kV5lk1lXBB4h3IBySOhabN+Fr+cTKYrgEu4+QX
	+HuvG7MU7eVbww8SneUlfdAi/uS2MlQ+PbkkUk2/99/aW8+8tWUpuGcQAtl84fRsJtW0=;
Message-ID: <3c641a2b-01ef-335f-59e8-b65b2108c9eb@xen.org>
Date: Wed, 21 Dec 2022 10:18:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH 02/22] x86/setup: move vm_init() before acpi calls
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 David Woodhouse <dwmw2@amazon.com>, Hongyan Xia <hongyxia@amazon.com>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-3-julien@xen.org>
 <92d82899-4e74-8638-4a60-09104ba16c9a@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <92d82899-4e74-8638-4a60-09104ba16c9a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 20/12/2022 15:08, Jan Beulich wrote:
> On 16.12.2022 12:48, Julien Grall wrote:
>> From: Wei Liu <wei.liu2@citrix.com>
>>
>> After the direct map removal, pages from the boot allocator are not
>> mapped at all in the direct map. Although we have map_domain_page, they
> 
> Nit: "will not be mapped" or "are not going to be mapped", or else this
> sounds like there's a bug somewhere.

I will update.

> 
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -870,6 +870,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>>       unsigned long eb_start, eb_end;
>>       bool acpi_boot_table_init_done = false, relocated = false;
>>       int ret;
>> +    bool vm_init_done = false;
> 
> Can this please be grouped with the other bool-s (even visible in context)?
>> --- a/xen/common/vmap.c
>> +++ b/xen/common/vmap.c
>> @@ -34,9 +34,20 @@ void __init vm_init_type(enum vmap_region type, void *start, void *end)
>>   
>>       for ( i = 0, va = (unsigned long)vm_bitmap(type); i < nr; ++i, va += PAGE_SIZE )
>>       {
>> -        struct page_info *pg = alloc_domheap_page(NULL, 0);
>> +        mfn_t mfn;
>> +        int rc;
>>   
>> -        map_pages_to_xen(va, page_to_mfn(pg), 1, PAGE_HYPERVISOR);
>> +        if ( system_state == SYS_STATE_early_boot )
>> +            mfn = alloc_boot_pages(1, 1);
>> +        else
>> +        {
>> +            struct page_info *pg = alloc_domheap_page(NULL, 0);
>> +
>> +            BUG_ON(!pg);
>> +            mfn = page_to_mfn(pg);
>> +        }
>> +        rc = map_pages_to_xen(va, mfn, 1, PAGE_HYPERVISOR);
>> +        BUG_ON(rc);
> 
> The adding of a return value check is unrelated and not overly useful:
> 
>>           clear_page((void *)va);
> 
> This will fault anyway if the mapping attempt failed.

Not always. At least on Arm, map_pages_to_xen() could fail if the VA was 
mapped to another physical address.

This seems unlikely, yet I think that relying on clear_page() to always 
fail when map_pages_to_xen() return an error is bogus.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 10:19:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 10:19:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467741.726780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wCM-0003FQ-51; Wed, 21 Dec 2022 10:19:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467741.726780; Wed, 21 Dec 2022 10:19:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wCM-0003FJ-2D; Wed, 21 Dec 2022 10:19:42 +0000
Received: by outflank-mailman (input) for mailman id 467741;
 Wed, 21 Dec 2022 10:19:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7wCK-0003FB-Sh
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 10:19:40 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2042.outbound.protection.outlook.com [40.107.20.42])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa3795e1-8118-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 11:19:40 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by GV1PR04MB9214.eurprd04.prod.outlook.com (2603:10a6:150:29::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 10:19:36 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 10:19:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa3795e1-8118-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=maBKna3Yn4HRurJWm2pCsZWEQ86E1nZB/W3O45aqUTLSaqINKypxP8G2Zp76wf4vr6PkgTEBrSSUsOTMLVP+kIVKSgmsLfmhAvScyPqbyRQ9YvdSdCVT1yP7QglubUwGfFQx9cnbruElSHuz7KlHOgOrKorSe9s8symsDZ9gCzxF8TrB+lsD3M4xOlu1gqNimcqVWTyf1ddhrP4MmM4jt13aUj/uEkcAwOnamQFMDKa+/mrDNtHa0TE9oIr/kbz/YxhG0Isv5sLYBp0f0HpgY+d2oKaVxHsUcMci/085pu7ZzHDhlFzYMQtikT5jeR515doSpKwYQvWWucUD0oYQ9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=em46XygaXAchgvGdscyI0MbzCrUgcFcQO4uP0WJYLBM=;
 b=RHrwTzLNpijufwicvL84Z/LsUOoPL1R7nXAB6ifUIGkE8cvjRY1Raus9Z63tednpJrCHc0ZkUhsXm8Tud6ptl2kQW0n4J3e2S/egSsXR9WBwqtMwPG22n/1TE0MfFwgEjVPfLnNTn77GwfoJ2RKxGA96iX7PS6KhHOSqvoLYTa+z1xEmz0/fVIOKhWXHFX3yUiAgkatmhb7zV2DHoR0cncaM6kWYrieUaA0v5R3sJg+Q9Yjt9DzKHQzwH3hbO6jCvYwVyUYvhg11H6iHFveUvXitFMXOzy/1AJkHvKmhqyHIvB1gtvYd/uT80+E62tygdW9aVdh230U+ksHXGICqYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=em46XygaXAchgvGdscyI0MbzCrUgcFcQO4uP0WJYLBM=;
 b=BugArEtgqyKCz06vg26H2DuZOemL8ojhsSR2s3n+t0ceToE+FVJS0FXl4INoHMz0Yuzqr5SqINyniGSVkz6ye3/ZL9EzRetsI+kZvax6c5kn/5QU97BUq5E+Z8w518Tr0DzdmNVo64yfBI+Z9sN8yXShqFY8VmR/YOT2FB8tOCDSxPd+PjhBR6+4b+R+Xt1JIp4EiDpdz2enr4hsZTAf5WhLQ+FhqAk15TJdOjWQ6KKwRsMU8NidNddaPFddn92ux5aaFvXW/rLY+zQlgMGdy1BQIfhAw3zeKD0YveC9399XkDE+D7S9hLqOYJqYEL7Y+21aRuhO80Iqzr3EfDje8A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f9d36ae1-2363-1276-2747-737823d2f51b@suse.com>
Date: Wed, 21 Dec 2022 11:19:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC 7/7] x86/dpci: move hvm_dpci_isairq_eoi() to generic HVM
 code
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Kevin Tian <kevin.tian@intel.com>,
 xen-devel@lists.xenproject.org
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-8-burzalodowa@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221219063456.2017996-8-burzalodowa@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0053.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|GV1PR04MB9214:EE_
X-MS-Office365-Filtering-Correlation-Id: 1337ea6d-6fad-40fb-1a60-08dae33cdc82
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	f/awCtmT/UmHbRysP9fmCsLvDYaB2s5NxfGwLEblqI40L3Vh/xHU7n/WJGmp6QWC0EwjMhbpSjFRhbZFs8UpGF6D8IFCcSGENexVakY0kTTE7pE2srIzqdRfgIGe5aRse78+lfVNbrABNdliJQvF5oehW08ytWPz1wzHzKaxrGAbnTgX1GhdbDFvI3VsijdZOwTuD85LhAwtz3VR9CtsGIJRcR7iJXLU6XcHPGDzjKRGLYjZ9TMzbnUPpQgdy3j0pSkNl2SKD8U6hRGYMptDoWOeN5TjfNF4ohdTrkrQUM1vWQeBO1Talqy4dJXwwnbQc9tl3qZ7FsSwKzv5uT/l3vBOt/Q+DzhtWRPOYk9K8W0Iit8mr5VcqWg+9bXwljd0vZ6h6cwO2ZiILKuROXQv+Q3kGtjuFbEeK7UpEjXLO64vGT2cwX+nesFn44MvmLuusXhLj9gg64ueqpyAPSm9dZ8wIZLKRkeg2QFQenQ3LnUrsYbUfj0s9RG80xTFgDxQcmSvolroc7kHTU9paQoGHlBB2SjyD7NH2EV7o5xSIUfsyxmvPW1PmYES7vea1R6jYAKaQ27seENKM5IcMh77/0M1bRL0r1TyM+frOaGPeh1rZXuK2Gwk4g9lgiu8n+0cxkthJpyZF5kHRx7nG3uTBRHZbdBD/jhSm658z2/BTISeW1ZZqqpKo7o4nLydFBeHiXpFfPJeRKyImpC9+4VGkkulzTIc4jxJujKKX2qldz4tgtGWjpHnrD40Rb4SCTrs
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(366004)(396003)(39860400002)(136003)(346002)(451199015)(6486002)(53546011)(6506007)(478600001)(186003)(26005)(31686004)(31696002)(86362001)(6512007)(2616005)(83380400001)(316002)(66946007)(6916009)(66556008)(54906003)(4326008)(8676002)(8936002)(66476007)(36756003)(38100700002)(41300700001)(2906002)(5660300002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MHRVQjBPTHlMWEF3NC9nZENjbFNqUkdIZVJHa1gzdE0yLzJqYXd0T05hd3Ri?=
 =?utf-8?B?b3JvZmRMVFdxSWd5d2xyNWNESTk0Ynk4aW5sa2VaZGlQVWc0MGF0Qzl0WUo5?=
 =?utf-8?B?L3p5eFU4djZrcTdEeGN6TkpjMVZBUnQ3Z2FxbXM3WGV2MjhFbzhuenVwS2Nt?=
 =?utf-8?B?UUM0WWoyTlpUdHppcU1aUGtXckRGUzNINVBDYXUzQzlqaHBlQ2tyZG8vRHk3?=
 =?utf-8?B?dmtPdGpFQ09JcE1vNTdrcUZrcnRXbFY0eEJRUlczMEZwazl3eFhUb0pKVzFG?=
 =?utf-8?B?NHZPalhNK1U4ZkFsNThPQVJMVkdXbW5EVGFHRkNkTGdsRklqM0paL1JlNUN5?=
 =?utf-8?B?ZGtLRWZRK0o2SEpQbm9VK3hjblpPbFAzUWVRblN6OXA0V2F6ci9taFJXWXpX?=
 =?utf-8?B?VlBVdzJoY1NsSDBSYVdxSHVoQkhVOXB2U3VJVGs3bWIyK1M1U0RDMDJGUzVN?=
 =?utf-8?B?dllDUG1NOGU5ZzZmYm12Q1JsQnU0VnMrK0hrbUIwSkYzQVRjQjNiR2hoSnFI?=
 =?utf-8?B?aHMzcFJFTXlxOXFsZGdueFdkUDhUYkpwcUlrUmN2NXZhTVVDR0lrczI5MTA4?=
 =?utf-8?B?NDRuVWFweG1pMlorcW4vbzRUWkx2UUFNNVRFdVJhN0FydkdzaUZzVWJ2bGRs?=
 =?utf-8?B?NGlNbjh6VExNak5iVWVPS2JUYVRMdS9qcmkvVkxwdnI3cXlDb3h2T2xFMHp0?=
 =?utf-8?B?RXdtdk1laXNISmQrTDZsdC9PK3pPK3ozUXNpSktXUXlBeGxQNGQvaWVidlhq?=
 =?utf-8?B?ZFhza2Z4TTFhT0Q3MXdHVGJTSklJVmgydWVIVkRwbDFzSTM0T0JDSVI3b2VQ?=
 =?utf-8?B?Wkt5VG1YUWswK0Fhekx2azdYWlllVTJpOXJwY0FxMmFBTFh0U0lsMU9JdllP?=
 =?utf-8?B?b1V6SHpGMlpJVHRDSG9HR2k5a2JrbWQ1V0IyL3VmdjJiTDZObjdqYUFHZ0FM?=
 =?utf-8?B?bkpSOEtDdFFPQlRZeGN0SWcwOUF6RHR2eSswZ0crc2VOby9QY2ZYYnpJYlo0?=
 =?utf-8?B?UzZKQjZlRU5uQnNKY09BUFhNZGxsb1JWdDFxRUxmNitQWXRUODRCOEtzcXZX?=
 =?utf-8?B?ZWFmZmZzNWIwS3c4MkRyTTdSNWVmdnp5V2ZGbXRCQW1oSU1aWkd5NmZaVjQ4?=
 =?utf-8?B?VGhQOHZqeWowTlVmSXJ6YlI1Sjh0V2VSV1V0YWFFbmVuNkJISXJ1U0k3VS9l?=
 =?utf-8?B?T2hUeXJmRkd1MDZHQzEzQ0tOdXJtR3IveHVzRkpJZGlVKzhFdGx1bitHTjBQ?=
 =?utf-8?B?eXk0M3c5VWl2R0xlOU9OV3Qxdlh3NFFINTNTcFlCdGdXMmsvRHJTWEhMRHk5?=
 =?utf-8?B?b1JCUm1FTHo4MkduVDRuMjhZb1BxL3NiR0JwYU1HYmFKWVVFejNXL2IyUkZa?=
 =?utf-8?B?M1piOHhtM3QvWW1MTTFQZEUwNHZrNlFtRlJyRWQ1TW12SXFPZ0V6eGVCOWNP?=
 =?utf-8?B?RHZpZ1ZEZVAzbDkwMy9vWlBPRzlIUDBXSFNpQWRmZ1R3WUlBdDlMUGFKNVph?=
 =?utf-8?B?RWQ2VlB0RlJuMG5sQmZjeW9jbmZVZEpBTVdmRTBsN2hrczJrTEFKSjk5NnZi?=
 =?utf-8?B?Rno0VEVvK0ZycDVwejdUUHhVWmRuRXlWWk5WZWwxZXUzWWdzaHBITkhpdXZB?=
 =?utf-8?B?TFNDNDdUYjI5K2t1QVluTXZNTmpScXVIeW1KVnRGTXd0RkN3YUlTRnZEY2Qw?=
 =?utf-8?B?RHdETk5iNmlhdHkzc1lZaWN2Rzg0dHhOVDNOVnRJZUljVHFUWTBiNy9USVdP?=
 =?utf-8?B?WHBaNmk4SVNxVXhrOWF5a2g0SlRnZ0lhWUx5SG1EUkV1dHRRZG1IU3Fvd3o1?=
 =?utf-8?B?ajh5SU1GL3ZOdXYrYjUwRWlhYzdUa0pjL1haM3ArajlrZElaL1R1dTJLSjYr?=
 =?utf-8?B?a0tVVEJpdDFxcEl0MUEvWVBGRWVpVGlkL09rRFltUjZDbEUxS1IyL3owRXdX?=
 =?utf-8?B?bzkxQ1ptMFJ6clRmRmV4aVJnYlZWMXpqcFhiaHpTUDdyNnRmZFFoNkllenU5?=
 =?utf-8?B?UnZHeThwc01YR09ud1RkUXB4OE1tTzRjSCtVNS8xVitYWFR5eVk4SUhaVUlN?=
 =?utf-8?B?WUlBcFhDRGhYeDFBMStwOHcxYzBlL2lHUGs0aEVSNDREOGlCVkFQQ3UwYjZE?=
 =?utf-8?Q?8Nb79AKZRPNkwOozp9mZyWgrO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1337ea6d-6fad-40fb-1a60-08dae33cdc82
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 10:19:36.4653
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9HeJGDwIzppcKoylXObznqj0tX9+G2E9/gOAjfP2eZDSMVlPUpXQ2HBuJEMhOqEV94AQtslIuqAn8AfLL8K5Mw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9214

On 19.12.2022 07:34, Xenia Ragiadakou wrote:
> The function hvm_dpci_isairq_eoi() has no dependencies on VT-d driver code
> and can be moved from xen/drivers/passthrough/vtd/x86/hvm.c to
> xen/drivers/passthrough/x86/hvm.c.
> 
> Remove the now empty xen/drivers/passthrough/vtd/x86/hvm.c.
> 
> Since the funcion is hvm specific, move its declaration from xen/iommu.h
> to asm/hvm/io.h.

While everything else looks good here, I question this part: The function
is both HVM- and IOMMU-specific. However, by moving the definition ...

> No functional change intended.
> 
> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
> ---
> 
> I was not sure how to handle the copyright. I assume that I have to
> retain the copyright of Weidong Han <weidong.han@intel.com>, right?
> 
>  xen/arch/x86/include/asm/hvm/io.h        |  1 +
>  xen/drivers/passthrough/vtd/x86/Makefile |  1 -
>  xen/drivers/passthrough/vtd/x86/hvm.c    | 64 ------------------------
>  xen/drivers/passthrough/x86/hvm.c        | 42 ++++++++++++++++

... here, you don't need a declaration anymore anyway - the function can
simply become static then, as its only caller lives in this very file.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 10:21:51 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 10:21:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467749.726791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wEQ-0004cr-Hi; Wed, 21 Dec 2022 10:21:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467749.726791; Wed, 21 Dec 2022 10:21:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wEQ-0004ck-Ex; Wed, 21 Dec 2022 10:21:50 +0000
Received: by outflank-mailman (input) for mailman id 467749;
 Wed, 21 Dec 2022 10:21:49 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7wEP-0004ca-9l; Wed, 21 Dec 2022 10:21:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7wEP-0006vj-8B; Wed, 21 Dec 2022 10:21:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7wEO-0004xU-Ns; Wed, 21 Dec 2022 10:21:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7wEO-0000cb-NY; Wed, 21 Dec 2022 10:21:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=c0blsa644ZuMDADkR+mxdcbFyKR7V5iAxneFc9NJVUM=; b=5v5F0mUzhx5v+hVv2ZHbintDgP
	VwnaXZIgM5T4fsHqwpOYTZDJBf6oRuTqrIlyxFSmZGwgI3Xhk5Vd2j5V7i/fhLypQT217Vx1azMfP
	2ZdGvWhn8cR7GNpo+VnIFIaTJjRIlWNeE3nfAACQyiqm6XYb0kB/6GYssqM7GgksLvCg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175426-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 175426: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-i386-livepatch:<job status>:broken:regression
    xen-4.13-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:<job status>:broken:regression
    xen-4.13-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    xen-4.13-testing:test-amd64-i386-xl-shadow:<job status>:broken:regression
    xen-4.13-testing:test-amd64-i386-xl-xsm:<job status>:broken:regression
    xen-4.13-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:host-install(5):broken:heisenbug
    xen-4.13-testing:test-amd64-i386-xl-xsm:host-install(5):broken:heisenbug
    xen-4.13-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:heisenbug
    xen-4.13-testing:test-amd64-i386-livepatch:host-install(5):broken:heisenbug
    xen-4.13-testing:test-amd64-i386-xl-shadow:host-install(5):broken:heisenbug
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:leak-check/check:fail:heisenbug
    xen-4.13-testing:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:heisenbug
    xen-4.13-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=708e83f0e7d1e32295fee58c71c1e972d4e61f56
X-Osstest-Versions-That:
    xen=1151d260d7a0186978b80b708fcb712eb1470f49
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 10:21:48 +0000

flight 175426 xen-4.13-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175426/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-livepatch       <job status>                 broken
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm    <job status>             broken
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm    <job status>    broken
 test-amd64-i386-xl-shadow       <job status>                 broken
 test-amd64-i386-xl-xsm          <job status>                 broken

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 5 host-install(5) broken pass in 175412
 test-amd64-i386-xl-xsm        5 host-install(5)          broken pass in 175412
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken pass in 175412
 test-amd64-i386-livepatch     5 host-install(5)          broken pass in 175412
 test-amd64-i386-xl-shadow     5 host-install(5)          broken pass in 175412
 test-armhf-armhf-libvirt-qcow2 20 leak-check/check fail in 175412 pass in 175426
 test-amd64-amd64-xl-shadow   18 guest-localmigrate         fail pass in 175412
 test-amd64-i386-xl-qemuu-debianhvm-amd64 18 guest-localmigrate/x10 fail pass in 175412

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 174675
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 174675
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 174675
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 174675
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 174675
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 174675
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 174675
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 174675
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 174675
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 174675
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 174675
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 174675
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  708e83f0e7d1e32295fee58c71c1e972d4e61f56
baseline version:
 xen                  1151d260d7a0186978b80b708fcb712eb1470f49

Last test of basis   174675  2022-11-08 18:06:48 Z   42 days
Testing same since   175402  2022-12-19 08:37:45 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         broken  
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  broken  
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       broken  
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     fail    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    broken  
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   fail    
 test-amd64-i386-xl-shadow                                    broken  
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-livepatch broken
broken-job test-amd64-i386-xl-qemut-debianhvm-i386-xsm broken
broken-job test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm broken
broken-job test-amd64-i386-xl-shadow broken
broken-job test-amd64-i386-xl-xsm broken
broken-step test-amd64-i386-xl-qemut-debianhvm-i386-xsm host-install(5)
broken-step test-amd64-i386-xl-xsm host-install(5)
broken-step test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm host-install(5)
broken-step test-amd64-i386-livepatch host-install(5)
broken-step test-amd64-i386-xl-shadow host-install(5)

Not pushing.

------------------------------------------------------------
commit 708e83f0e7d1e32295fee58c71c1e972d4e61f56
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 19 09:10:08 2022 +0100

    update Xen version to 4.13.5
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 10:22:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 10:22:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467761.726802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wFC-0005F0-0X; Wed, 21 Dec 2022 10:22:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467761.726802; Wed, 21 Dec 2022 10:22:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wFB-0005Et-So; Wed, 21 Dec 2022 10:22:37 +0000
Received: by outflank-mailman (input) for mailman id 467761;
 Wed, 21 Dec 2022 10:22:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7wFA-000540-AG
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 10:22:36 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2081.outbound.protection.outlook.com [40.107.20.81])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d35dfd0-8119-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 11:22:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by GV1PR04MB9214.eurprd04.prod.outlook.com (2603:10a6:150:29::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 10:22:34 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 10:22:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d35dfd0-8119-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D/Kq8Ye79YxPSfLiT1CXLoI56ew7QAPKXRIDbjUCTig0hVZId+hYrk+iW8Qd5p5cheyBN8rUicdSOvg+SJQcj5tZZPOHPZH9UYrI88upSnWN37muuwo4hyDpjXL1SivPEDDQ+MNCRY1zvJNVzb18e9CXoC6MHAKKroC7WGS0z/+FFVazBjTcV0xRwzrcqLZuzhXE2n7tGRHKBYbeztkykfvrXV4A/49dXsSFSX09fhyghAYKoSmrWyq5d9Q8A4GCSnhpt4QVBPhJITrJSsPWjRgQElmwaW43NaUeR3uJJJaSKJyVhQCwdeT4+ILVjftmRg0AKX5gaBtccG5ieYfxmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NN4rqa5f//cyYJR1TPNFGxp+m/dVWPt10wWchdvfObE=;
 b=LWZVXbMyEcTN+XSoJOm6EpCl3JAtXqetNgsOQypw9jCkw7FdfIMzSBgAUYSqscUzQipuQzGjTFczl2+bMOPONx4y0M7C/CG1qZSsqXmYTlGeUPec2UKlQWYSLtYGsE8u6UsUB1yY+SwOFXj2kjEAtv0x8QNqsbzDlCblRkYj+cBQMr6bW5VzGfgG7aksNmqKMwApRUCXaQ8zB4ipYPBjOBe80v6gBWCAK9i91UL4zrl93CySDg8Fp6pK2uZCyakTkvUiJ+4ZJZwuYbfmr4BYDQocfkVwXIZ9nuycQuR9XqS1qLtzj/5/8bGweEqCKkIQmS4JW9ElaK7ldPh9o82w5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NN4rqa5f//cyYJR1TPNFGxp+m/dVWPt10wWchdvfObE=;
 b=hLm+QTmnwHReTWO26zaECrcS5c40N4bKR0XcQKHd8RjoxlBo91IEsleZtc8/z6HkFkdGQNq8WNUdjbqL2HOQe8RmLLhtD5Hzu/YB1qfR1mMOL4ynOth/qysU6J2es0Zv5NwgN2ttYSEgb5fto46qmwA+gyKUfjvXLQvg/nq8dEh52FlBazewLHAd/t+Iu+JFNWGTBJf60rjS1VN65UBZTOHxaDjWC2QsyEosNlc7WLLgifDDmdmbp2iIouPyMyuOpChm4JQ71gdXYP4OO/OYQR3n4JxM6lAgooIY4fMHt21ACxOdtegdhYufjwM+ve0XmtY7AaB5+1BvcJf0Bjw8kA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d2edcb99-7b1f-a9b4-67b4-8818dea9dbe4@suse.com>
Date: Wed, 21 Dec 2022 11:22:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 02/22] x86/setup: move vm_init() before acpi calls
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Wei Liu <wei.liu2@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 David Woodhouse <dwmw2@amazon.com>, Hongyan Xia <hongyxia@amazon.com>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-3-julien@xen.org>
 <92d82899-4e74-8638-4a60-09104ba16c9a@suse.com>
 <3c641a2b-01ef-335f-59e8-b65b2108c9eb@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3c641a2b-01ef-335f-59e8-b65b2108c9eb@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0125.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|GV1PR04MB9214:EE_
X-MS-Office365-Filtering-Correlation-Id: e40d252b-c549-44b3-f771-08dae33d4628
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	E/DJvSPRZTHocszBBRkzgNgQrwDhU+D8KOYLi8gqMsmA/B9T2/JoLXr7xLUHtKrMFg+cETaigXi1Gp4Wg6a6GmL6KinXQuYj1rsc7FyLULUJkzf65RlEexUi/7RQW3l7y1JAlC2N+5DHVXNYL+myGLY6N9LW7QIz/m+E9e7D+vFa8yJLjplmW3MAraArxT//xXF21B2NrraWIZej/83d+7D32mY8ZIYLOxyUVZaj3kzaCmhZ02stlPevWEGdV6AmFPVMNWpAHm8KrUQFa1BN3AvSw9wSVNuRI6IPXtgiWjW0ADnAFxA/3t3Y+px4PFjaCehUspLhLvqxGWz2eSwJ4QdfmVtt1I7YUFcFwVpbsknTv5r/r+TIjT6t5Dy5NN+ecg0XmvIC0JCKUON7K3WJ3PaYulLrqHLO0iQ7zpMq2iSrSZ0eSzc6/Zh/S4R6Faqgkcw2wFz7zcvbJAucR7FOXmyVyU9y3nL298DtiJkApu+beOwqi5yaDHKnlGrgIpg8jZhSSqNdXcrq4ZtFFW0IbcOGpzFTwUQ0383gaP7clMLvjP5shtflA1H0wmVGaZQbZ0pubPTRu6AlgilboQGiT3gN5UFmKDEhq17PCMoBByYKZDUVOweoDdYI2kgyEgQPK4B0D+3X0UfKVkVrVHSZRDYiu2LcECJmZYvjUGNW1QuHh5Mb0qnz9R5tk3PXhbp1kCp6Whrk7ssZnvy5n+WiPy7Ex7KIAZK10n8l+vDbeDQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(366004)(396003)(39860400002)(136003)(346002)(451199015)(6486002)(53546011)(6506007)(478600001)(186003)(26005)(31686004)(31696002)(86362001)(6512007)(2616005)(316002)(66946007)(6916009)(66556008)(54906003)(4326008)(8676002)(8936002)(66476007)(36756003)(38100700002)(7416002)(41300700001)(2906002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SGpmSGdHVkZRYmhkR084aEtDWXJvMVZQVCtTV1JXZmR4UnRuNEp6S3hERTk2?=
 =?utf-8?B?ck9xSUttU081Z0xsTE1jd3hiN0F1WGJPYU5KTzcxcjJQNmhrYWpaR1ZtY3Mr?=
 =?utf-8?B?eEdpRUliTVY4UThHUTFNVTNvMWZjV0Zyb2NhN2NhQWlBYTRkeTlFUDJvU0Zw?=
 =?utf-8?B?TGtCd29pNmNjTURneGRsWXVETW5hakFNZlhUTmJlSGl1cmNScXNpTktiWGtj?=
 =?utf-8?B?OXR3ejJvSVV2ZEJwYml1TXdjbnN6bE9rT0d2RUFYRU1hT3FCM3ExUktCNHZC?=
 =?utf-8?B?ZFRtaVU5L21uck9VZlBETXljMnhna0J5Sk51VnRPZUlQRlYzeWZSTDM4dFZL?=
 =?utf-8?B?ZW5IRjdLR2ZFNm1jVVdyUDQwMXk1THNrS28ra3RDQUo3RUV1SXN2cGVXRWpO?=
 =?utf-8?B?WXJjSDVvd2luUU1idTJ4TmRUUzRGaXRXQ1k3eURScktQY0x1NjVtc2xmb1FP?=
 =?utf-8?B?T1hSYkJNSlFvQU1pNXhUZnpCdzZiMXR1ZGZFdko2TlRBY2VTMmMzSFNYejQ4?=
 =?utf-8?B?cWhCa2hKTnlJMzdxbWdienI4MXdNUmxNUDBRcDJ5a3dTUTB3S3Jxc1l4aXd1?=
 =?utf-8?B?T1JLZ2RwQ2d1Q0RFUG9wM1E5QW5yU2NNTVpTemNlQmdNZTJrUnJOTGIrcU9G?=
 =?utf-8?B?WkZLWmFPQmpUckkrMEJvbXhGbUtUdTNjTFR2aU1XNituVjVwN0hPTTlRRG1I?=
 =?utf-8?B?ZEtUcFZiYk9ZU3d2SnkyblEweUZzZmFGeEp0WXd0RGtFc0tlMW5DcjhGakFu?=
 =?utf-8?B?OEhoRVNDNEtaWGFUaVE2ZTF0MXdLMFJVU29ac0JZaU5qdDM4K29RMFRsUlJN?=
 =?utf-8?B?eG5naStUNmE1RWpLUUcwYXhQTUdpbmFLa3VZTXVURW5SejNtajZvSWF1QVRi?=
 =?utf-8?B?V2JqMzViSEdscU9QMHBEVnoxSFgvckRtSHFzdk0rT1JxRC9udzJSQjJHSklt?=
 =?utf-8?B?enBPcUtuNStaYTZPVitEcnQ4S2R5NW8xMmNSVWwzdWFrUXlOR1Q5SDZ3dWNW?=
 =?utf-8?B?cEM1NTJrYWNuNDNDYW1nYWRzRkVYVVBHcysyQ3k0V0dlQW41b2NoS2NLODdP?=
 =?utf-8?B?c3REUndIU3BNbHdQcWMwWk5OSVAvcGwwdmgxTHNYWVBaM1FEZnk3T3Q5Ui9o?=
 =?utf-8?B?Z3pjbndJSkpvT3oxczlxOVJsOGpIeDhGR1VCTGFuWXVCSUFVZUhraW9jWGVS?=
 =?utf-8?B?NVpZSjdrZFN6aWRUU2JPSy9vQkx3d0ptQURraWNuZ3grLytwY2VNMWJtMzNJ?=
 =?utf-8?B?enBJVkxvWHZuVE1GdllJT1B5ZWx4dVFNUFBMT0s0TSt1S0JWWnUwcDFSM2pB?=
 =?utf-8?B?L1cvNWMvbHlGeXdtTnRBRE9yKy9WbjBhWXlVSkZWSVRHYTlkUHFoOEliTkQ3?=
 =?utf-8?B?eVNCdGRlUC9lS2VuTldlUVlWRUNoU3AzMVB2OTEyNElaY0ZHSU9tOXVVWVp5?=
 =?utf-8?B?OTE4d2NkdEd2c1pjcDVDUCtqa3pMQnhKeDVuREhmdXFwY2gxUlRUcHRQWTJJ?=
 =?utf-8?B?ZGJCK3ZjeTREMm00Lzl2b1lSS2hRanFrVG15ZmFKcEQwQVhYWVROT3JKT3g3?=
 =?utf-8?B?MklVM3FMNThKVGEyYUlvck1aUjkxMUc4NDZiaS9jZ2g2Lzc2L25USElPUUt5?=
 =?utf-8?B?Si9GQ0FzeFFZM25uSHEyRnJMUVh3TjRXbUU4NFMvWFVvamhNNWcrZHRoUTJr?=
 =?utf-8?B?QmtIdmxmenBDZ0gzV05qSjZ1dUNOSmdvckRkbWdrbjJZS001MXNsSXRxMUcz?=
 =?utf-8?B?RVJ4NGFyTXE5TlptSVY2emw4SGVxR0JEOXdVeUsvV0pSMVBITnJFWHEraTlH?=
 =?utf-8?B?NzdpSjE2UG81QzFCcUJiamlhd0FHYVpvQS9kOUlnSTltbHp1enk4VkZtc0ph?=
 =?utf-8?B?Q3NLVFJxd0llcG1sOGlzYmJaSVcvaUdnL1pSaGhLcjRHVU9JMXhvQkZHdldO?=
 =?utf-8?B?U0JYNEhvUElibC84RDBBQ0ZSYnFwa29hQVp3bHBoZTgzalBSUSt0ZDUwL1VN?=
 =?utf-8?B?QTNCb1RMaWxqMlNieU1ESjVXVEt2T3EyU3dLa2J2VHRCMVNsamk2OXg5Yytx?=
 =?utf-8?B?Tmo1TVVOTk1YTlhtUkFpVXpBa2VLcmhFLzJFTjdMcXExRnU3SlU4eU01NGRF?=
 =?utf-8?Q?ADtoYex5qvlhUHBI/o/H/tasQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e40d252b-c549-44b3-f771-08dae33d4628
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 10:22:33.9071
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zrbwjI0GYKWeajTQTDQWxpIe34yzEXcMvKTMsOj5cyPHVMYfYhQ6UNEc8RENDHkU7xuOyyXc9mkhH7l7K4VHKw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9214

On 21.12.2022 11:18, Julien Grall wrote:
> On 20/12/2022 15:08, Jan Beulich wrote:
>> On 16.12.2022 12:48, Julien Grall wrote:
>>> --- a/xen/common/vmap.c
>>> +++ b/xen/common/vmap.c
>>> @@ -34,9 +34,20 @@ void __init vm_init_type(enum vmap_region type, void *start, void *end)
>>>   
>>>       for ( i = 0, va = (unsigned long)vm_bitmap(type); i < nr; ++i, va += PAGE_SIZE )
>>>       {
>>> -        struct page_info *pg = alloc_domheap_page(NULL, 0);
>>> +        mfn_t mfn;
>>> +        int rc;
>>>   
>>> -        map_pages_to_xen(va, page_to_mfn(pg), 1, PAGE_HYPERVISOR);
>>> +        if ( system_state == SYS_STATE_early_boot )
>>> +            mfn = alloc_boot_pages(1, 1);
>>> +        else
>>> +        {
>>> +            struct page_info *pg = alloc_domheap_page(NULL, 0);
>>> +
>>> +            BUG_ON(!pg);
>>> +            mfn = page_to_mfn(pg);
>>> +        }
>>> +        rc = map_pages_to_xen(va, mfn, 1, PAGE_HYPERVISOR);
>>> +        BUG_ON(rc);
>>
>> The adding of a return value check is unrelated and not overly useful:
>>
>>>           clear_page((void *)va);
>>
>> This will fault anyway if the mapping attempt failed.
> 
> Not always. At least on Arm, map_pages_to_xen() could fail if the VA was 
> mapped to another physical address.

Oh, okay.

> This seems unlikely, yet I think that relying on clear_page() to always 
> fail when map_pages_to_xen() return an error is bogus.

Fair enough, but then please at least call out the change (and the reason)
in the description. Even better might be to make this a separate change,
but I wouldn't insist (quite likely I wouldn't have made this a separate
change either).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 10:23:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 10:23:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467769.726813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wG8-0005pf-AD; Wed, 21 Dec 2022 10:23:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467769.726813; Wed, 21 Dec 2022 10:23:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wG8-0005pY-6R; Wed, 21 Dec 2022 10:23:36 +0000
Received: by outflank-mailman (input) for mailman id 467769;
 Wed, 21 Dec 2022 10:23:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p7wG6-0005pG-9n
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 10:23:34 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7wG2-0006yg-Iw; Wed, 21 Dec 2022 10:23:30 +0000
Received: from [15.248.2.148] (helo=[10.24.67.14])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p7wG2-0001yu-6o; Wed, 21 Dec 2022 10:23:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=uEof8nACcA6pjn+SyCBwr0THlq0OvB/lzfnzdsEAyTo=; b=QcI8qSJDYUy584GiuFw/wmrLd6
	7Yr9DmKLe05916qBtspaf2ecPGv/1dO0AKl3sdrRlq0mUVVOac5e5C/Az+k+Kmip/s6kKeMFOwLFs
	rCTDvF872bffQlXZeJ3jD8XMNVK5jw7yL+8DDy36Gq47Q3SKLJwCos4MzYLmm9CkEBjA=;
Message-ID: <a2f2b0c4-5af3-1854-2180-f743f061a635@xen.org>
Date: Wed, 21 Dec 2022 10:23:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [PATCH 03/22] acpi: vmap pages in acpi_os_alloc_memory
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Hongyan Xia <hongyxia@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-4-julien@xen.org>
 <9870c796-3b1c-e867-fb7c-532441cc30d2@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <9870c796-3b1c-e867-fb7c-532441cc30d2@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 20/12/2022 15:15, Jan Beulich wrote:
> On 16.12.2022 12:48, Julien Grall wrote:
>> --- a/xen/common/vmap.c
>> +++ b/xen/common/vmap.c
>> @@ -244,6 +244,11 @@ void *vmap(const mfn_t *mfn, unsigned int nr)
>>       return __vmap(mfn, 1, nr, 1, PAGE_HYPERVISOR, VMAP_DEFAULT);
>>   }
>>   
>> +void *vmap_contig_pages(mfn_t mfn, unsigned int nr_pages)
> 
> I don't think the _pages suffix buys us much here. I also think parameter
> names would better be consistent with other functions here, in particular
> with vmap() (i.e. s/nr_pages/nr/).

I will do the renaming.

> 
>> --- a/xen/drivers/acpi/osl.c
>> +++ b/xen/drivers/acpi/osl.c
>> @@ -221,7 +221,11 @@ void *__init acpi_os_alloc_memory(size_t sz)
>>   	void *ptr;
>>   
>>   	if (system_state == SYS_STATE_early_boot)
>> -		return mfn_to_virt(mfn_x(alloc_boot_pages(PFN_UP(sz), 1)));
>> +	{
>> +		mfn_t mfn = alloc_boot_pages(PFN_UP(sz), 1);
>> +
>> +		return vmap_contig_pages(mfn, PFN_UP(sz));
>> +	}
> 
> Multiple pages may be allocated here, yet ...
> 
>> @@ -246,5 +250,10 @@ void __init acpi_os_free_memory(void *ptr)
>>   	if (is_xmalloc_memory(ptr))
>>   		xfree(ptr);
>>   	else if (ptr && system_state == SYS_STATE_early_boot)
>> -		init_boot_pages(__pa(ptr), __pa(ptr) + PAGE_SIZE);
>> +	{
>> +		paddr_t addr = mfn_to_maddr(vmap_to_mfn(ptr));
>> +
>> +		vunmap(ptr);
>> +		init_boot_pages(addr, addr + PAGE_SIZE);
>> +	}
> 
> ... (as before) only one page would be freed here. With the move to
> vmap() it ought to be possible to do better now. (If you want to
> defer this to a later patch, please at least mention the aspect in
> the description.)

Good point, I will have a look to solve it in this patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 10:29:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 10:29:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467778.726823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wLG-0006WZ-TI; Wed, 21 Dec 2022 10:28:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467778.726823; Wed, 21 Dec 2022 10:28:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wLG-0006WS-Qd; Wed, 21 Dec 2022 10:28:54 +0000
Received: by outflank-mailman (input) for mailman id 467778;
 Wed, 21 Dec 2022 10:28:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eskD=4T=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p7wLF-0006WM-VM
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 10:28:54 +0000
Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com
 [2a00:1450:4864:20::632])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 441494fc-811a-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 11:28:53 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id x22so35677677ejs.11
 for <xen-devel@lists.xenproject.org>; Wed, 21 Dec 2022 02:28:53 -0800 (PST)
Received: from [192.168.1.93] (adsl-43.109.242.137.tellas.gr. [109.242.137.43])
 by smtp.gmail.com with ESMTPSA id
 j2-20020a170906410200b007ae693cd265sm6882890ejk.150.2022.12.21.02.28.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 21 Dec 2022 02:28:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 441494fc-811a-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=warbBCcxKJrML3Lz4B4jYoBcKHZoebVfHUWZ7OpLkeU=;
        b=IlOjqJhwBhLJ/zYyu+aMeF/Clfj6LGmu4Tqw2CGesgHHVYJSm125ofOKzI3EHMhd9O
         MPcKGVojhH7KkbN9OEw8QzKOknPr/Vi2Slou1/zyAX/oPaDQhiQen4Gp97KwAlCXbZrt
         FlxfA8EaD3Y85JR8b8syWnzOgsnjP6LLi0s3FEIOlkkFxo8srJHTnd6s1laeyOhDMvT8
         JnDEJEJUl5wXh5JZd4JbMG+SoYYJeyqGB3cqWfmx2HWpBIU9Hx4eypUK67AxColoRut6
         3VpNLxvcOIowICt5uRjOTqdOXvfX9B2TLnjdiAG/tU+Dfc5ehu0+jEnDcz/aO8jSzoQS
         K41A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=warbBCcxKJrML3Lz4B4jYoBcKHZoebVfHUWZ7OpLkeU=;
        b=49sn7kC2PTLJcfo26NEuqTCo1EvqmyqIseFHQ3PWnBbswOxrhWWhuuKPa2yd7iQDf7
         MCGEAPjeFpzR2ERZ1POS9j5WOLqWYJipY4/vmDjwOpchjGNnjWmNBTC+3I06IzMy2+/S
         V3SkyQkqXlTnSrbxz9Xb/B1RjXeL4Uo0hvKTzXd149lFin05Vs/mCeB3s+Bw4nzq3AF1
         pFfg1uLe4eHWbN4WRBvnlNPa3QhXigjoa68iXKh8k/EQKYOGr0rkRN9oFB/SPsNd14Yg
         gYmbWh9wwEyw0+1JV9/Dx3ui2XQO2TKNF2mVsCAnmeh08VyitryYela29jcmS3pVPuo+
         XP/A==
X-Gm-Message-State: AFqh2koPMQMTmjci/IkbsiRVgg6AfvuTFGsMe4/PM29nyUnHarKs35P2
	CZ6TxlHAtmY5ujMYUBf7YqY=
X-Google-Smtp-Source: AMrXdXvWAEduLALsgj3EftYVoK4bMaqtfbNlOiBBVjTfzvOrCP8KMbPIq2/m4dHi8KAfNJRrlRKyZA==
X-Received: by 2002:a17:906:4894:b0:7c0:beee:2f06 with SMTP id v20-20020a170906489400b007c0beee2f06mr934165ejq.52.1671618532581;
        Wed, 21 Dec 2022 02:28:52 -0800 (PST)
Message-ID: <192b2825-4133-96d1-e091-4b99cab0eeba@gmail.com>
Date: Wed, 21 Dec 2022 12:28:50 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [RFC 1/7] x86/iommu: make AMD-Vi and Intel VT-d support
 configurable
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-2-burzalodowa@gmail.com>
 <79748e9b-c2c4-a8bf-f7b5-3405debb3c00@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <79748e9b-c2c4-a8bf-f7b5-3405debb3c00@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 12/21/22 09:51, Jan Beulich wrote:
> On 19.12.2022 07:34, Xenia Ragiadakou wrote:
>> --- a/xen/drivers/passthrough/Kconfig
>> +++ b/xen/drivers/passthrough/Kconfig
>> @@ -37,6 +37,22 @@ config IPMMU_VMSA
>>   
>>   endif
>>   
>> +config AMD_IOMMU
>> +	bool "AMD IOMMU"
>> +	depends on X86
>> +	default y
>> +	---help---
>> +	  Enables I/O virtualization on platforms that implement the
>> +	  AMD I/O Virtualization Technology (IOMMU).
>> +
>> +config INTEL_VTD
>> +	bool "Intel VT-d"
>> +	depends on X86
>> +	default y
>> +	---help---
>> +	  Enables I/O virtualization on platforms that implement the
>> +	  Intel Virtualization Technology for Directed I/O (Intel VT-d).
> 
> One more thing Andrew and I have been talking about: As he has mentioned
> elsewhere, IOMMU support is needed to boot systems with more than 254
> CPUs (depending on APIC ID layout the boundary may actually be lower).
> Hence it needs to at least be considered to make the prompts here (to
> be precise: in the much later patch adding the prompts) dependent on
> EXPERT, to prevent people from unknowingly building a non-functioning
> (on some systems) hypervisor.

I will mention it in help as Andrew suggested and I will make it visible 
only if EXPERT.

> 
> Jan

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 10:47:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 10:47:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467787.726834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wcq-0000SV-Cq; Wed, 21 Dec 2022 10:47:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467787.726834; Wed, 21 Dec 2022 10:47:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wcq-0000SO-A1; Wed, 21 Dec 2022 10:47:04 +0000
Received: by outflank-mailman (input) for mailman id 467787;
 Wed, 21 Dec 2022 10:47:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7wcp-0000SE-Du; Wed, 21 Dec 2022 10:47:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7wcp-0007g4-CN; Wed, 21 Dec 2022 10:47:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7wcp-0006Ji-1h; Wed, 21 Dec 2022 10:47:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7wcp-0006pA-1F; Wed, 21 Dec 2022 10:47:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ya0Z8wAnkdXNLSXfS2b4snVEfA3Ll5/cTX55r9FUMcw=; b=SgUpeauIOxlKx5JvBaZDZaDjpT
	hFnj2HVdjjoTQwtq64vweUb9Xy52jftY6TV8QJhehx4BkLmCOd3rQLc4pbpLQtdWlpp2YUWbOOQYi
	6ufaYP9aX0Tk+3IdDZFwWmrma1UQMABR+8yg5MxKDJewjqUbBn8gPveaz3GkImdbUUl0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175438-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175438: regressions - FAIL
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
X-Osstest-Versions-This:
    ovmf=451521ccbcaa45de27fbcd2565cb363fd05e3661
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 10:47:03 +0000

flight 175438 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175438/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 175202

version targeted for testing:
 ovmf                 451521ccbcaa45de27fbcd2565cb363fd05e3661
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    6 days
Failing since        175214  2022-12-14 18:42:16 Z    6 days   40 attempts
Testing same since   175438  2022-12-21 08:14:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@amd.com>
  Adam Dunlap <acdunlap@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  Chun-Yi Lee <jlee@suse.com>
  Chun-Yi Lee <joeyli.kernel@gmail.com>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  jdzhang <jdzhang@kunluntech.com.cn>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jian J Wang <jian.j.wang@intel.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Judah Vang <judah.vang@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Kuo, Ted <ted.kuo@intel.com>
  MarsX Lin <marsx.lin@intel.com>
  Matt DeVillier <matt.devillier@gmail.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Nishant C Mistry <nishant.c.mistry@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <quic_rcran@quicinc.com>
  Rebecca Cran <rebecca@quicinc.com>
  Sean Rhodes <sean@starlabs.systems>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Ted Kuo <ted.kuo@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Xie, Yuanhao <yuanhao.xie@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 1162 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 11:10:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 11:10:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467798.726845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wyz-0002wc-6M; Wed, 21 Dec 2022 11:09:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467798.726845; Wed, 21 Dec 2022 11:09:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7wyz-0002wV-3e; Wed, 21 Dec 2022 11:09:57 +0000
Received: by outflank-mailman (input) for mailman id 467798;
 Wed, 21 Dec 2022 11:09:55 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eskD=4T=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p7wyx-0002wP-PW
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 11:09:55 +0000
Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com
 [2a00:1450:4864:20::635])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff5f6f51-811f-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 12:09:54 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id jo4so27069606ejb.7
 for <xen-devel@lists.xenproject.org>; Wed, 21 Dec 2022 03:09:54 -0800 (PST)
Received: from [192.168.1.93] (adsl-43.109.242.137.tellas.gr. [109.242.137.43])
 by smtp.gmail.com with ESMTPSA id
 kw4-20020a170907770400b007adaca75bd0sm7101932ejc.179.2022.12.21.03.09.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 21 Dec 2022 03:09:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff5f6f51-811f-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=lz7V62ob0W7ULFZR9Dt+uA/3bqsdmMb7IEf6Uj2oFO0=;
        b=iqNu7rEQ3RAu3XoUp1zeT04UvlfQU/PR+WyOz9yIkuyDlZIv035MW7ki8Ce0idPeaW
         t4AKUObyoH0+eSWa7swujbVG0XJBqJ4rBpnE3XuSxv9FA1ZSj1+HxBOzxkEs0dqatdH+
         uPA1gvc6eXuwi5y6Jgg+hg0/R5yOLXP0vBKVcs/mqrF5BhsozrJc6IhYz8n4sHctrB3i
         D8wVj9gYsae2xzLnP7S6uNCd6CzJU/hgfkvwaneIbK9CzqPqa6d56snjTPtm6gX6lxTu
         P8IvMa3Ov/X3uVh/cwL8jlHztd9PNKMovQ19GYMD4sX3+EUM0S8nfhj/1EGiaXUZoFcU
         xVaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=lz7V62ob0W7ULFZR9Dt+uA/3bqsdmMb7IEf6Uj2oFO0=;
        b=Xdl3t86DJz3/5+eSKUZvUXx9NaOQWIYByh97bR6Y1crKE52LJ2P+1dP6ykBG0GzWSx
         r954fa4dKiu7OMBl5toKkD/VaXJQJXMI51jnlxaqgtA3yafaCFFy/0Ls57ZhTLy75VPw
         iLB6QlM90rKjwzMz3Gxp4aFxMrK60enLghqEdn907Tkjy4pgA0uVxErR7w0N0vdK/dbN
         61tVkLpNa8dHnzjG2SLeW48H6MrfMwop2AJT4tJoEE622cT7wyIqiASIxwfaLIoLaDv1
         5wAm2O9WJojeb+3pb86MSbat/AExYA4xs0rRsAoDKjY61jnZbE91/pxNflBk+uDUh3cS
         sNsg==
X-Gm-Message-State: AFqh2kq88fzDmTW2IOgyXNod6CVQY5PKBrBayV78AupGlPU3VVJaBycG
	t+fiZ/cMBXnEoK4Nxvhma3w=
X-Google-Smtp-Source: AMrXdXsmiKO28F72bT4pxjHkdRyB2gUkZchePhrSIZqm4jztUc47FHMNCnqoOdEBkgj2O7m12sWCTQ==
X-Received: by 2002:a17:906:7747:b0:840:604:1da1 with SMTP id o7-20020a170906774700b0084006041da1mr505092ejn.61.1671620994308;
        Wed, 21 Dec 2022 03:09:54 -0800 (PST)
Message-ID: <30a7a4c5-4a5c-7610-e535-98cf8d95fc72@gmail.com>
Date: Wed, 21 Dec 2022 13:09:52 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [RFC 6/7] x86/iommu: call pi_update_irte through an hvm_function
 callback
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-7-burzalodowa@gmail.com>
 <d7f12b04-1077-cfc9-25a9-0eba37dde753@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <d7f12b04-1077-cfc9-25a9-0eba37dde753@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 12/21/22 12:13, Jan Beulich wrote:
> On 19.12.2022 07:34, Xenia Ragiadakou wrote:
>> @@ -774,6 +779,16 @@ static inline void hvm_set_nonreg_state(struct vcpu *v,
>>           alternative_vcall(hvm_funcs.set_nonreg_state, v, nrs);
>>   }
>>   
>> +static inline int hvm_pi_update_irte(const struct vcpu *v,
>> +                                     const struct pirq *pirq, uint8_t gvec)
> 
> Why "int" as return type when both call sites ignore the return value?

Because the original function returned int. I 'm not sure though why the 
returned value is ignored.

> 
>> @@ -893,6 +908,13 @@ static inline void hvm_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
>>       ASSERT_UNREACHABLE();
>>   }
>>   
>> +static inline int hvm_pi_update_irte(const struct vcpu *v,
>> +                                     const struct pirq *pirq, uint8_t gvec)
>> +{
>> +    ASSERT_UNREACHABLE();
>> +    return -EOPNOTSUPP;
>> +}
> 
> I don't think you need this stub - both callers live in a file which
> is built only for HVM=y anyway.

That's true. I will remove it.

> 
> Jan

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 11:13:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 11:13:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467809.726857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7x27-0004OP-QO; Wed, 21 Dec 2022 11:13:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467809.726857; Wed, 21 Dec 2022 11:13:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7x27-0004OI-MZ; Wed, 21 Dec 2022 11:13:11 +0000
Received: by outflank-mailman (input) for mailman id 467809;
 Wed, 21 Dec 2022 11:13:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eskD=4T=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p7x26-0004OA-5Y
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 11:13:10 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 733069a6-8120-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 12:13:09 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id d20so21591155edn.0
 for <xen-devel@lists.xenproject.org>; Wed, 21 Dec 2022 03:13:09 -0800 (PST)
Received: from [192.168.1.93] (adsl-43.109.242.137.tellas.gr. [109.242.137.43])
 by smtp.gmail.com with ESMTPSA id
 s2-20020a05640217c200b004615e1bbaf4sm6906225edy.87.2022.12.21.03.13.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 21 Dec 2022 03:13:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 733069a6-8120-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=eZTottXbuBRQRn2JFle5OtEqEzV8iy+IZc9nH5vfma8=;
        b=Tugr9ncYHIKcrTpRpoVHskub/r4x0R9hoiHEQRJylkqgxYlavKQLvFhngALT0Z8mlR
         ZctuiC8SS7PLauBUSamW/AsbG4rCwHo1EMWmBngXAkajCDNuBZIZiYLMaYCKga4dRSZB
         S7j73k+RujMVdRT6Urx9pTksCRpB/iwGpZcrSM6FntNfF1pzqVaknhL+EEkR9fjGFKKv
         gIKUrOkCTvSCpcRKNKEPehmX/fedkj9OU+fPgtLLnaA/RvgOaZqqGGK5Np32imIiaM4B
         cCFZWiTrLioCCxeNbbFtlEGHDYeumZupt9LNqjBYwZp4BW4nSZUtzBxd7SgcoyZtbG1D
         NWXA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=eZTottXbuBRQRn2JFle5OtEqEzV8iy+IZc9nH5vfma8=;
        b=0jJx9kSDH57tZIcY8uexF6eTAqhWlMlYgfd2EK5I391N/3UChl9ucbgcYCcQGIPcys
         L2E5aNbmSe1lVfaqFOhRnBhqZSWpmPO/5qJRSiKODig1qN1fMgHhM4Iwq0XXwcDy02lY
         U3addkpiaPvI5M7+chfE2x9w63+7je6IsRF5krNxcVYI/0SAzeeIei26PpfKRFrFz9+0
         lu1ap90saYM4IFNUx4Ujc0HCoGiNX+XkxEEzAJL8tqfzGKeHAzhjLj+l23vdbc9172zp
         kqzvIfbm1ZkYgr024HzvI+YyHEBrGE5N0jhGo4cP8fBTt0WpjMhJiR614KgM9LGQHZkm
         kTsw==
X-Gm-Message-State: AFqh2koa521uf1AEW2nX5dp7R6MVVfOZMoUDGIz79IvWSjZQ+xSZ/if7
	I363i1K5g+ecC/erkNv4ysE=
X-Google-Smtp-Source: AMrXdXvjnhTBRDCR7ecHdV2yX5GwhXFIFzDIaqbmnCFHEm1OL+2/EOGYevzbCzb70QjmJYXyKn1u5Q==
X-Received: by 2002:a05:6402:38d:b0:46f:b2df:4e0b with SMTP id o13-20020a056402038d00b0046fb2df4e0bmr1111687edv.14.1671621188665;
        Wed, 21 Dec 2022 03:13:08 -0800 (PST)
Message-ID: <e3d3a49a-0ca6-6b99-985f-15511070f251@gmail.com>
Date: Wed, 21 Dec 2022 13:13:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [RFC 7/7] x86/dpci: move hvm_dpci_isairq_eoi() to generic HVM
 code
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Kevin Tian <kevin.tian@intel.com>,
 xen-devel@lists.xenproject.org
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-8-burzalodowa@gmail.com>
 <f9d36ae1-2363-1276-2747-737823d2f51b@suse.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <f9d36ae1-2363-1276-2747-737823d2f51b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit


On 12/21/22 12:19, Jan Beulich wrote:
> On 19.12.2022 07:34, Xenia Ragiadakou wrote:
>> The function hvm_dpci_isairq_eoi() has no dependencies on VT-d driver code
>> and can be moved from xen/drivers/passthrough/vtd/x86/hvm.c to
>> xen/drivers/passthrough/x86/hvm.c.
>>
>> Remove the now empty xen/drivers/passthrough/vtd/x86/hvm.c.
>>
>> Since the funcion is hvm specific, move its declaration from xen/iommu.h
>> to asm/hvm/io.h.
> 
> While everything else looks good here, I question this part: The function
> is both HVM- and IOMMU-specific. However, by moving the definition ...
> 
>> No functional change intended.
>>
>> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
>> ---
>>
>> I was not sure how to handle the copyright. I assume that I have to
>> retain the copyright of Weidong Han <weidong.han@intel.com>, right?
>>
>>   xen/arch/x86/include/asm/hvm/io.h        |  1 +
>>   xen/drivers/passthrough/vtd/x86/Makefile |  1 -
>>   xen/drivers/passthrough/vtd/x86/hvm.c    | 64 ------------------------
>>   xen/drivers/passthrough/x86/hvm.c        | 42 ++++++++++++++++
> 
> ... here, you don't need a declaration anymore anyway - the function can
> simply become static then, as its only caller lives in this very file.

I will change it to static.

Regarding the copyright, shall I add the copyright of Weidong Han 
<weidong.han@intel.com>, that was in the deleted file?

> 
> Jan

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 11:25:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 11:25:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467817.726868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7xDp-0005uV-Rq; Wed, 21 Dec 2022 11:25:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467817.726868; Wed, 21 Dec 2022 11:25:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7xDp-0005uO-OT; Wed, 21 Dec 2022 11:25:17 +0000
Received: by outflank-mailman (input) for mailman id 467817;
 Wed, 21 Dec 2022 11:25:16 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7xDn-0005uI-RH
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 11:25:15 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on2058.outbound.protection.outlook.com [40.107.14.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 238a6ce3-8122-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 12:25:14 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7844.eurprd04.prod.outlook.com (2603:10a6:20b:236::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 11:25:13 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 11:25:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 238a6ce3-8122-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I7Gk8of0G1nPxLDkp16pqSsh164XmzgAEyUgCGh61jr8ge0GbDayN+gXaZlyAmnCyTnHrvJyRt+LuWN1MMonfPz92/Afb86dBE7xeOgqjzr3dCzWUMW7b43fnppncmEEzapUfkzK9soj7P0J9354nGU9Kw3XFVSiqlhCT+6fmqp4TjUs2B8W5bmpCe8m1RvHt3TjJFC8wlCJzmCDvKo1jJ4Ap4WHa+VNUHS+mkuNvaedCUNXv1hnVDvKXZ6ff4oQuID0Xx3Sf6oD4WKymcDy3aTiRP78/ZrugwGkoixVJPJ+0ueqGYnVQpVh4EdIflDdx7NXSG76cNimmruHX1pMhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CXGRyDtm6s8XqtjWXzwMgwRFBKRvXm/6uCkIXpW+Y54=;
 b=gKg2JCDHC4QjNnQDaBTYoqLHptXb1Dp5Wmrw/5qePKyeJW9dd+ZLisvYg7HlklBRjcefGK/8Jz1jn6dZwp5GUbT8Q6Ti+1zd54bCBx5NZDpQvzWQMxlaZG8oIaXk9+iMVKAC2gtUqJ3xFnMWtdCwlpl1fvLHUEzIW6cVch0Jtud5yJ2/RRptMZbD3Y9+jvCayOciIdnbTfONGUiK+lTLPiyu5I9ih+I0bjardxqaunmugIqXsPmF3siEPHL38uzC26S/z13v18tDSw+1m6ESPSLEtXPWeawmAGgdnRitidcMAQdymwkxcIHSGQiw2daPKI+kjd0otqbikXsCwarRXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CXGRyDtm6s8XqtjWXzwMgwRFBKRvXm/6uCkIXpW+Y54=;
 b=RRZAjjxX0jHCJ14ulPwiuPDboeHYVUY4Gq0h0owhZseACJYXRLkQsQV49gdB/ZrKGNWxmqMsZXUBaT7Dtf8L8p9wyFi7z7i35feijq6lHyoqxMR1GViTcB/P4fLT2zpblWmMlCeefGNCVMlY/EqzDU42sznKU9E60xaiCTnBj12MadhFC6a1hpbPQDec8XM6FZ/xF9GgveJSW8j1Jhvr0gSuUX6zgY/p8FsDgf3A6fHhNxEhOM+8a3tJujU+59Orjtlw8Z0fB3b4J+oPj+5kmQOgui/SiLHFo5SdQPVGaAcCCDjxbhgsmbXaB6ZzehL2LQrecjTS8MSFWDTcPXbiAA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e5950f84-21fb-61a8-5722-fa545d0e6217@suse.com>
Date: Wed, 21 Dec 2022 12:25:10 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC 6/7] x86/iommu: call pi_update_irte through an hvm_function
 callback
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>,
 Kevin Tian <kevin.tian@intel.com>
Cc: Jun Nakajima <jun.nakajima@intel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-7-burzalodowa@gmail.com>
 <d7f12b04-1077-cfc9-25a9-0eba37dde753@suse.com>
 <30a7a4c5-4a5c-7610-e535-98cf8d95fc72@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <30a7a4c5-4a5c-7610-e535-98cf8d95fc72@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0054.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7844:EE_
X-MS-Office365-Filtering-Correlation-Id: c7a2d735-626e-4df4-5316-08dae34606b2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Jq84VQk1WoM4tQe/m80O4KUKcWaJGFyXxqVZMGJ6DwEjQsA+cDAY3x9nxZIWlXuJuSAti7YMuCrl4PvTDv1ptaawEYUJ9afosrqcXbsvmirx5COcofHF8W/CLeYSTfKvLze2/dO1kRuklwBTAYSZ1SZt0R4YbZa/x46v31arW2jD4K/fWeMMt+tpMSDhVr0nJOyYENd2i+tsPYUIPPXcgFm1pmz80qwRwPCCntBJoNIst7je4bJbpaz2lia/9DsXg1qHr5GzoRHh6l7W4dADIe3ydAgomLcKofXXh4AKbHfIPg3fzJ/DtklBYjErTjEsMCvw528kfkJdAAifcfvKZJM/Xh/09rKfCa3Cjutnkiq2m09DkvefAYbdWhVt6ylCHSJ7CmZPSGLFDHHiMgI7R2Koy7vcMkomN2jfAYbWbugiorxUutNpiqcVhglbMAxbUEf6iJ1s+v48+DeQli+lkTAbaTM5RAfOMU7Z+ueGyTlbEo1sdddmXOWhxvLPjjwSTtIR8/H5+0FasRKVDDV6X52d+WlS7nB88yXqQ1GF0pkiBF9Qi7LhsV23uphyUKBQFf/3tbhCqMnRHB4LPkSnZkXOF6+abLRTsHUf666Ia2PzrwusndzZ1u0+h5vXl3ukUidmotC7WKpSEVcA6rlNYbo/VkeXltPY7voUcN/vHCwhbDz8MZ56JYFXDxShUAiDkaRvGrLyRLrmqxiWBuGN/s4oBKClzmlkMAvDP3ies1c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(376002)(136003)(396003)(346002)(451199015)(186003)(26005)(6512007)(316002)(110136005)(54906003)(6486002)(4326008)(66946007)(8676002)(2616005)(66476007)(53546011)(31686004)(478600001)(66556008)(6506007)(5660300002)(8936002)(4744005)(2906002)(41300700001)(36756003)(38100700002)(83380400001)(86362001)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c2dOZkNsS2Y2ZytBZUcxREdoaG52dFZTa1BZVjZBa1NTZ0ZLNjdjemxVMXh1?=
 =?utf-8?B?NmFDVXE4V1dNM0s4bnJTSGhxaXBWblR5Z29rbTFKSjBIaUdWK0hYY3BremV1?=
 =?utf-8?B?MDRuLzlENExZNU1ERllQUlljcTBBTU10TGdsZitwbklmRnQ1UlNFUC82NnhL?=
 =?utf-8?B?aUFVYUVwVEZwaWc3VGcxUXI1V1B6Y2d2TFAxVjZNU01mM3RLSWt1aEJIQTBH?=
 =?utf-8?B?T2xhWXd4T01vUk1OeXpzU0oydW84bEZES0ZZRnB3VEZlazE2bENDYkhIaU95?=
 =?utf-8?B?RXNOWVd6VUZ3QWdJUGxoV3d1YkUxMlJEUnBHS01VK0tOYmw0UGlOZDJHMmxE?=
 =?utf-8?B?YmFHeEtYUHJleHM3elZLTXNWOWhrUGROcWhCSGg4aHBUVFJCczlZYy90bG9M?=
 =?utf-8?B?d0p2bEZXS2l1ckRHWVZJZURIOWZ6NDJtbVZsaHBqRFY2Mmw3NTdOdk15akx0?=
 =?utf-8?B?bTlydWhsa004UVdvd0VhbFg2TTlyby9uMzZhRTJIRWk4NjIreUI2ZmFXVXk0?=
 =?utf-8?B?YndER2Y5aHhyUVc2dmw2cDNIeXluMEkwa2U5b05LSU5Uc3Y0VVFtMXBSQ3Iw?=
 =?utf-8?B?RkNiVFkwNGppUHl2SWtRZGlaYWJQeEVXQXpVeVJWdjZyVjcvQ3MxNC9HTmwv?=
 =?utf-8?B?VkpsQm9JOElqeHJ5Z2ZJd1g1OE1VVlh0dFBuaTYyZDZZcGJ2a3R4Wlh1dUlQ?=
 =?utf-8?B?amFYSmpiTzZMQWpTK003OVBVVk84S1U2UkwvUDM2ZE9EQURHTmI2NlMvczhl?=
 =?utf-8?B?bW1JelpMcGU0UjI5L3RrcXlObGI1cU9uTU5lc01zY0JOaTFZV0x5WVZmeW1Y?=
 =?utf-8?B?Y2JQMHpaRmtTdXArZFA4aEtCdkI4K2RiN3RobGFEZ21XTGEycWdMWmN1WEt0?=
 =?utf-8?B?WTdzcUlmdVZKc3V4aHpmRVMrbGNFb1hxbE1NZVZObG9xMS9sVTlkUjJ5b3JO?=
 =?utf-8?B?NStqdkoxblZwZk5OV1ZxSUNmZ0ZJS0pkKzh6Nm9ScStOc25MUTZEcU1NMjY4?=
 =?utf-8?B?SDZIMVpIQUtVWTlBektMZVNvQzE2SjZ3R2w3a3h6dUMzRlB1WTRsMmtLVzVB?=
 =?utf-8?B?YUVneHVBYjRGOXhVWTJrTFFkSWJpaUpocUxDSzZObG1sSGhCbUtjYWJBdjZG?=
 =?utf-8?B?aUM1Y3Y1akd6cGxOaUJTazBXVkRaR2ZUcU5JN0Znc3lOM2ttZkFlNUYzZS8r?=
 =?utf-8?B?WEZFYkRlN09UM21sQTIzVS9HRTFOV2haUFV1cXRrT2NrUnMwODZ2dFhFWEQ2?=
 =?utf-8?B?MVhGNll6dndseXJnWlovUVJzZ1g4cWVLa0xjeXBxN21aKzNvZFNjUTF6bXds?=
 =?utf-8?B?Z0NCd3lDTGUyVDFnQkpKaG9CK3hqaFd6T0w1NkpKYlE5bis5TmtMQ282alRS?=
 =?utf-8?B?NThsYVpweXQ1MVhyT1VxSTR1VkVZTGEraC9qcFZ2bkdVa2ZyTzU5dyt6Mk9Z?=
 =?utf-8?B?K1JKYzdFWnYwL2NYOEEyQzhZNi9PQ3JNZ29LQzU3WThCNjNMNEpSTVZLUEFI?=
 =?utf-8?B?ZEpHY1pTc2QycnRPTTBHM2F0Z3ZkRzVyT2hwcnVOMGFqMEpneEU5b1ZSWHp1?=
 =?utf-8?B?R01abVRmRk0rSXBreEw0cFcyb3EzMDlaKzAwSk9menhVWWppdE5GME5VQU5J?=
 =?utf-8?B?UWQ1MDkvY2JIZjJlUGFSUWlWZHNrSGErVFJxSGkrSmQ0OTdQOEt2R2Jzb1Jy?=
 =?utf-8?B?YnpLUmxYMGsyNlhTTWhvd0tlVjg3QXF0KzNMSkpHck9MNnNwME5ka2FXc2Fn?=
 =?utf-8?B?TE1PSlorUkR1SEsrWGhEZVJlU1I2cGxVUkZjZGNDOHR4UmdEUHB3My9BdnBG?=
 =?utf-8?B?THRmSlhRUUVRMW5PZTZINDZBaXZySkJZeUlRK3JuTkp5cFJzZ1grdS9ncjN5?=
 =?utf-8?B?MEU2R015YzdWTGV3NVErZlUwUkhZbytlaUxKUU5ZczJMVlNmTDdXMU9GT0JL?=
 =?utf-8?B?S2p5T1h2TVQwcGFnQ3MzdGFUVXhCMTBXRnR6eVRxUVpiMDJIenZXakFEM3l4?=
 =?utf-8?B?eHRqMkpiK0VrdS9Vc25EUHN1eWp4V01idzRiem5PbERUNGN6UkR3QnhOQTd5?=
 =?utf-8?B?WWZLbFBpYkozWlVlenVBQXBGVGhsa1ZSOG4zc2JxT3BMV1d4aWl6TFNCT3c2?=
 =?utf-8?Q?k6rmw+j8Ng8nDiOwq7+V90meR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c7a2d735-626e-4df4-5316-08dae34606b2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 11:25:12.7943
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: J+oMCHZsARwinxEmIlHs/VjXBE7AvVlGPfUSO6aI6Z1C2Nu6fjH2UuRZHpe8H8Xalv0dy0yYp7a3pvSk1+YcrA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7844

On 21.12.2022 12:09, Xenia Ragiadakou wrote:
> 
> On 12/21/22 12:13, Jan Beulich wrote:
>> On 19.12.2022 07:34, Xenia Ragiadakou wrote:
>>> @@ -774,6 +779,16 @@ static inline void hvm_set_nonreg_state(struct vcpu *v,
>>>           alternative_vcall(hvm_funcs.set_nonreg_state, v, nrs);
>>>   }
>>>   
>>> +static inline int hvm_pi_update_irte(const struct vcpu *v,
>>> +                                     const struct pirq *pirq, uint8_t gvec)
>>
>> Why "int" as return type when both call sites ignore the return value?
> 
> Because the original function returned int.

Hmm, indeed - looking more closely there can actually be errors, and
those shouldn't really be ignored in all cases. At the very least an
assertion would seem on order.

> I 'm not sure though why the returned value is ignored.

Kevin, thoughts?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 11:27:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 11:27:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467826.726879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7xGI-0006V5-8L; Wed, 21 Dec 2022 11:27:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467826.726879; Wed, 21 Dec 2022 11:27:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7xGI-0006Uy-4y; Wed, 21 Dec 2022 11:27:50 +0000
Received: by outflank-mailman (input) for mailman id 467826;
 Wed, 21 Dec 2022 11:27:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7xGH-0006T7-0j
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 11:27:49 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2089.outbound.protection.outlook.com [40.107.22.89])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f2d5533-8122-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 12:27:48 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6874.eurprd04.prod.outlook.com (2603:10a6:10:11d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 11:27:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 11:27:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f2d5533-8122-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BUIZtXAUjvMdPjOHV4n/9S7Ovd5gt1PbPbDaogwUgqR8DCtpnTxdNEb0bxpacXdLLQebtXKaBFXbkl8MvXs5EfIicD8LxhlY3mc8JxdPUEromBh2rKQW8W9tNmh3c7KZWVIxk4bgp+mwSSoMgD0uRioZO8BmGru9f1oi/tIQr9x0TItdMqGtCdXLkN2rtlfBGTftSDZZz6mswyD1sAGseFaHlM6wNu9kbT4LvlgnYT9XikmZJzqgQvK16PSKERkia5drqeCy9jXZh4Q/mD5RuaU3eAmsUoRfFNcOQhtqQQZ2THkEk6oQTCsZEh6oshQ7VEVTHuVolbTsp3tkNcX65g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y6CdcOa0QfwpwAUK/mvGWQ793ReWlVPtgdT65FJCkss=;
 b=aepp4GQg3DM25/nQEWH2mK1M4hlqt1rTfamwo71itu3pKlFSignJJZWoYu6Gwf92ZUJpbGxmr57lVg9+ZxOG8edJ5VdwLPB2uUjhXvJoJZd6Qa8KOCUZ+MSMORA7HhfhAQOfZGDCBqo8hoe3P7c3sCt7b07CVVZLD9tTDonqafF1qaqyRrwYKMYiV2gdAZw9ObL8FV3PaeUpqjtiVqaOV6FPZQ00JD9TfO2JMAB/FbPn/GKJ5GktDG+UOw8LQZSgfuKm2LHF5uJ9ZrfnUNMl40QZ7gGccNMwdiUo9PEkKbb6/Hk+riAr8xadL0dmbpJ8JjC++hg+0iC095pdT8ypWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y6CdcOa0QfwpwAUK/mvGWQ793ReWlVPtgdT65FJCkss=;
 b=B3k94ZZDFCKRQi2DlCGatmzyFVzVs8HcFOZMbc5OnTv2kqTQeiZTPwAtCuut1VvlFDIP1oUJ25rrMsjBV83HEY3oMTdzBPMqXo2E3Vpoxfy/qRwTcn11WaGkTPYwIOHNXQEGfYuAL5PoOiU6VvmXzkYaxAmDgCjOGE3uC0jqND4Ud1Csz89DArH7RzeXWVe1Anmo3lsRtaSxU0ITnUoAsNNT8Md/Uv934xalO5BLiQ+fwg56KTR7eQVmhiigep5N1y/z4AYDuJmM6KC3HomrtDK9Fp75RV9WjB6ncNDJHcij90N4ToVOUK+gkiSM0Hov94rfu+vPjoHbvlGHBeYwow==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b31138ca-e6ec-33b2-51c1-b831d3f3c962@suse.com>
Date: Wed, 21 Dec 2022 12:27:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC 7/7] x86/dpci: move hvm_dpci_isairq_eoi() to generic HVM
 code
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Kevin Tian <kevin.tian@intel.com>,
 xen-devel@lists.xenproject.org
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-8-burzalodowa@gmail.com>
 <f9d36ae1-2363-1276-2747-737823d2f51b@suse.com>
 <e3d3a49a-0ca6-6b99-985f-15511070f251@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e3d3a49a-0ca6-6b99-985f-15511070f251@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0017.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::22) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB6874:EE_
X-MS-Office365-Filtering-Correlation-Id: d60a9eff-2064-4a42-80b0-08dae3466196
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Dant8IMpnIuz2W++5d6PBx3NkyQ68xw8qtaMulW9QOXdQ8+KaoRdAlAs5qbqEi5zpqz+W5NOQaDpE/6Meolb4yG3xbmL47wX1xD8VW57yaMVU0d0/aJHUXCOVL+VRWhNAZa3Syn8bQDPVMLyn0uzK1+c4dq+qCREFOE/F9MmlPjAzG8USB0cY/PCUR7jgETjcbrzkNb7nIM5Z+IOV8bvuwNHehZsgrqQdtRDcxrkkmH1diDKRH9xu++qMJh1/tDq76HRNftcHy9MZAOVIJeCULB6xXQEJfgKW7chiIXVhX16csoxDD9ivttiLH5tw5VT6TAGpt58Ju9KryryRa+yyR53QssCmahe0MwLp/yLEPbUdGXiKL87NCeprgk832JXhdRuBjGXCxfbdi16r/H5jRpgxAQzPgUiHvRJjKq/eZx1Oy1wd2QHAuh+qF2RHpTGU8UaOYQq1SjN2kSJ8bnknp/OMuOtcH6gwyTAzhr5TN+hsshpvCr7pA2KFFs+98LMkhwK3cWR8VIdhnM0vUWW/ktw38xL6+gzsAupDzaX/SBYTAxkWsWnq6pBxUCbg7TJ5iVTTLxmBnxlgf/Ael6vPqS4YA7UB8Uj365XONtOshtK8xT1716wIKoeeZa0BPiTuT0H07uU/hZ9pNOMmR+bTz3k9wacevLPR+ukymfqWpjnwtvUNv65Ztpsjevor+DEFVrSeJJpZipxonONuuFVPVM7w836Lc1VBlGYhSQCYpOCp9AFuwYf3yZ+R8NgRjOC
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199015)(316002)(4326008)(2616005)(31686004)(8676002)(26005)(186003)(6512007)(6916009)(5660300002)(66556008)(66476007)(31696002)(66946007)(86362001)(6506007)(53546011)(8936002)(38100700002)(36756003)(6486002)(83380400001)(41300700001)(54906003)(2906002)(478600001)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eGp1NkUzMWZQMHVmbjg2QThkQzM5ejRBZTUwWlB5blpURjNNbUhrbHlHcWV6?=
 =?utf-8?B?ZHNOekFGM0RLZWRQaW1TVForU0FFVjdMN1BNR0JzVWFZNWZBWFh5a2VlUVpu?=
 =?utf-8?B?TStZZXRiWDR1bGFLRjNCRFNPM08xYy9HNEhoQ3ZFam1naXZqYWRWUnFWSTNx?=
 =?utf-8?B?bktVYkxMdTRhUWI0WWxIMllFOThPVVlwdDcxenBtVlFlai9MQ0Fwc0sxWUJv?=
 =?utf-8?B?ZDVZcGlycG1VdzBJMXF1UTV5bGRnRUZ1b3BUMC9MbDJxbG1hN2VyS0t3NDdS?=
 =?utf-8?B?WHRPdkVZZVFKYVJHTE4wd3U4VnpQb2lvT0cxeDJWQmFwaGt1VnphZXN5clYr?=
 =?utf-8?B?ank0VWVmTk5TYXpGdXRsbHVMSWhieSswelV6aWZiZWpxWTJjWVNLa3pxcDRN?=
 =?utf-8?B?N1Focnlpb0xPQnYrUWZzcjl6c0hmK3lhUXF4ZnRJa1ZTMkI3RVNqb1gvZUdm?=
 =?utf-8?B?R0c2MEh4TDNndTgwZGVKamp1ck5JdThVRkdTTnFhS2FDazkvQmhRZVhmSU1j?=
 =?utf-8?B?Nmg0SHFmSWFwT2l3b1doQ0xrTWdZbUd0QnZORDc3WFZ0M2VUamtTczVaSklk?=
 =?utf-8?B?SlVpdUNkbnBLRzkzRWt0SWo0eVBYT1lSa1dOV2tOZjlJcjhuajlXZG9lMnBi?=
 =?utf-8?B?TmNyZkNRZUk3UHd5UWhzMnNTeU9vS1hacm40aElhZ2FMM0M5bml2Q29rMDhI?=
 =?utf-8?B?dWN3aVhyN0JvaHE5eFNQQ2ZpM25Id082dDZMcitNVzFwaUdIQ3phWGkrK0dB?=
 =?utf-8?B?ZTJlSE8ybkR4c0wvaXpMMUYzemJyVEtEdlJUc3FZM3hlTFJleHVxRWdZblpK?=
 =?utf-8?B?dzRPY1Z6RXNyZkJOazdhRmo3R08wS25BL2lrb2VINGpvWi8xWTczRnFWSmdG?=
 =?utf-8?B?Wnp3eGUxWThzNFA1ZmdyTk1SUUpRUVhWTTJ4b1ZjTzNkWjM0bk5MemJ0YXJR?=
 =?utf-8?B?OW5SY2VaZUt3YWFyQUVUdHF6ZmlUdCsxK1dSak5NcEVKcE5peThPUGRUcFBR?=
 =?utf-8?B?U3JIbkhVWkJLeU5iTzRmQitFekJWWi9sNWwyK21GdFRNK3dJZUNZN2JyU0NN?=
 =?utf-8?B?T2lVV2ZEYTJkc3hDeVEyelp5cmZ2U0FCampIa092dkRIMTBKMTNZdFA3TlF2?=
 =?utf-8?B?dmpTYnFaU2VLTVlybzNaSXdwR1RXUG1sVmtGVTJ3Z1BjNTdVUXM2dE9KYXVJ?=
 =?utf-8?B?dVdBUHNWd0hpVVh2Y1ppM1ZZWW9ncEoram5Gbm8xMzlWSXpRNkxtTk1MOWx1?=
 =?utf-8?B?T1pBTWtHUW9ZZWw1Y1l3REJJMmNQRG8zS2J1eXpZWlFxWUJJTXc4dG9jVklY?=
 =?utf-8?B?ZGhHVHBabmZDWXdqNGhjRUxVbTI2SGhnTnAwMVRSWnJyaXZjYUg2Y1BHNXd3?=
 =?utf-8?B?djNoelFVWGdkQ3VPTSswOERXNWV6NEtybGM2ZkplMWcyZzZJQlZrSzZ5VnQ0?=
 =?utf-8?B?M2k0Y2FQbzVtbGdPdGdMa3g5NU9wVkZoS0xEMkFoQlhWRThvcWJSbHIzbHZI?=
 =?utf-8?B?NjZLdGZseno3MXRZNzVxeGU1bDgyeVBiTmprOU1mOS9CRHhjVW96S0grN0dS?=
 =?utf-8?B?bkg3RGw2ck0va0k4TEJRY09mcWs5dUhTNGRrdDNqdDc4QVlIcFBld2JuQmtY?=
 =?utf-8?B?RlNhaE80OFM1cDlsdi9td0dwVENVdVAzYWRkYU1NWjlISUp2b0FlcUYxaS9M?=
 =?utf-8?B?RWFyeFZhZFpXbm4yTE9ZK0RtRlNBR3pRUmlsQkdyUWxxTXNOVFJWU1NFUk5T?=
 =?utf-8?B?akZaMXJTdEN0WUxMcjd1bFJRMFZvazRQYVh5M1pkWU95Ny84Z3JRdGl4RE1h?=
 =?utf-8?B?KzFnWEF1M1l4TFE0WmlUbm1ZV1ZFM2Q2T0d1K0s1L0JlUVdVak91VE9BUjJw?=
 =?utf-8?B?OU8zNHJvNjFETFkzeGljajk5VGdHMEcwM24xZHFweXcydGVNaEZhQ0pvdm5y?=
 =?utf-8?B?eS9vbnFMSzkybjB4QWxoeFQ2Wm16RlJadHowR1ljaXdBaExWdWJ5U3VISnRH?=
 =?utf-8?B?VXN5SDh3NFNQa3BZT1dlV1IrOC8zWFl4eDdvdDZMOGtwV3dsOUJCdmg3SCtq?=
 =?utf-8?B?U0pIcUJsa0lOckNjNzVlYWNSYUFSVVZRUzVwRXNFMGxndEMwbjIzWGlOcEhq?=
 =?utf-8?Q?KXGb9yaubT+dJ/FIhwji5C1Ck?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d60a9eff-2064-4a42-80b0-08dae3466196
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 11:27:45.1753
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oXoxQF2nyQswpMhJH1gfSok3xBd19kees13gGt7SuH8PYQfU/KzRIPcm/YC27uVvL3ZuBlLHk6VAs/iwI367tQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6874

On 21.12.2022 12:13, Xenia Ragiadakou wrote:
> 
> On 12/21/22 12:19, Jan Beulich wrote:
>> On 19.12.2022 07:34, Xenia Ragiadakou wrote:
>>> The function hvm_dpci_isairq_eoi() has no dependencies on VT-d driver code
>>> and can be moved from xen/drivers/passthrough/vtd/x86/hvm.c to
>>> xen/drivers/passthrough/x86/hvm.c.
>>>
>>> Remove the now empty xen/drivers/passthrough/vtd/x86/hvm.c.
>>>
>>> Since the funcion is hvm specific, move its declaration from xen/iommu.h
>>> to asm/hvm/io.h.
>>
>> While everything else looks good here, I question this part: The function
>> is both HVM- and IOMMU-specific. However, by moving the definition ...
>>
>>> No functional change intended.
>>>
>>> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
>>> ---
>>>
>>> I was not sure how to handle the copyright. I assume that I have to
>>> retain the copyright of Weidong Han <weidong.han@intel.com>, right?
>>>
>>>   xen/arch/x86/include/asm/hvm/io.h        |  1 +
>>>   xen/drivers/passthrough/vtd/x86/Makefile |  1 -
>>>   xen/drivers/passthrough/vtd/x86/hvm.c    | 64 ------------------------
>>>   xen/drivers/passthrough/x86/hvm.c        | 42 ++++++++++++++++
>>
>> ... here, you don't need a declaration anymore anyway - the function can
>> simply become static then, as its only caller lives in this very file.
> 
> I will change it to static.
> 
> Regarding the copyright, shall I add the copyright of Weidong Han 
> <weidong.han@intel.com>, that was in the deleted file?

Strictly speaking you probably ought to, yes.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 11:39:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 11:39:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467834.726890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7xRK-000819-BA; Wed, 21 Dec 2022 11:39:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467834.726890; Wed, 21 Dec 2022 11:39:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7xRK-000812-7E; Wed, 21 Dec 2022 11:39:14 +0000
Received: by outflank-mailman (input) for mailman id 467834;
 Wed, 21 Dec 2022 11:39:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7xRI-00080W-O2; Wed, 21 Dec 2022 11:39:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7xRI-0000PV-Kn; Wed, 21 Dec 2022 11:39:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7xRI-0008Ek-1A; Wed, 21 Dec 2022 11:39:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7xRI-0000yP-0D; Wed, 21 Dec 2022 11:39:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5E3nduJIB86weFhdSGuwWwLr2ReskO7fGyC1wLKT7oA=; b=pFUFOtJIdUpF9Jo/XSu3k6DoUT
	VaR9sSf7/r/pCdRkZDBYfkuZN+qp5DLGFZAjiPcfX6A4Yq52L17wzxvzxdcRhSMmKPbiNUPxut0Xm
	4TgxYU9IA3zBlg7xF9/xxXhvfOJ8K3e6grK+tFQFRQSZ0CeD+nugejPNTGuIFVcvG8hs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175427-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 175427: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-xl-vhd:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-xl-xsm:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-freebsd10-amd64:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-xl-vhd:host-install(5):broken:regression
    xen-4.16-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:host-install(5):broken:regression
    xen-4.16-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:regression
    xen-4.16-testing:test-amd64-i386-xl-xsm:host-install(5):broken:regression
    xen-4.16-testing:test-amd64-i386-freebsd10-amd64:host-install(5):broken:regression
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:host-install(5):broken:regression
    xen-4.16-testing:test-amd64-i386-livepatch:xen-install:fail:regression
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=65bf12135f618614bbf44626fba1c20ca8d1a127
X-Osstest-Versions-That:
    xen=03a43f548e9095448db72c829db575097910f84f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 11:39:12 +0000

flight 175427 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175427/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm    <job status>             broken
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm    <job status>    broken
 test-amd64-i386-xl-vhd          <job status>                 broken
 test-amd64-i386-xl-xsm          <job status>                 broken
 test-amd64-i386-xl-qemuu-ovmf-amd64    <job status>                 broken
 test-amd64-i386-freebsd10-amd64    <job status>                 broken
 test-amd64-i386-xl-vhd        5 host-install(5)        broken REGR. vs. 175155
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 5 host-install(5) broken REGR. vs. 175155
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken REGR. vs. 175155
 test-amd64-i386-xl-xsm        5 host-install(5)        broken REGR. vs. 175155
 test-amd64-i386-freebsd10-amd64  5 host-install(5)     broken REGR. vs. 175155
 test-amd64-i386-xl-qemuu-ovmf-amd64  5 host-install(5) broken REGR. vs. 175155
 test-amd64-i386-livepatch     7 xen-install              fail REGR. vs. 175155

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175155
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175155
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175155
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175155
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175155
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175155
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175155
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175155
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175155
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  65bf12135f618614bbf44626fba1c20ca8d1a127
baseline version:
 xen                  03a43f548e9095448db72c829db575097910f84f

Last test of basis   175155  2022-12-12 16:08:43 Z    8 days
Failing since        175403  2022-12-19 08:37:45 Z    2 days    3 attempts
Testing same since   175427  2022-12-20 15:35:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Neowutran <xen@neowutran.ovh>
  Per Bilse <per.bilse@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         broken  
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  broken  
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       broken  
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              broken  
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          broken  
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       broken  


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-xl-qemut-debianhvm-i386-xsm broken
broken-job test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm broken
broken-job test-amd64-i386-xl-vhd broken
broken-job test-amd64-i386-xl-xsm broken
broken-job test-amd64-i386-xl-qemuu-ovmf-amd64 broken
broken-job test-amd64-i386-freebsd10-amd64 broken
broken-step test-amd64-i386-xl-vhd host-install(5)
broken-step test-amd64-i386-xl-qemut-debianhvm-i386-xsm host-install(5)
broken-step test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm host-install(5)
broken-step test-amd64-i386-xl-xsm host-install(5)
broken-step test-amd64-i386-freebsd10-amd64 host-install(5)
broken-step test-amd64-i386-xl-qemuu-ovmf-amd64 host-install(5)

Not pushing.

------------------------------------------------------------
commit 65bf12135f618614bbf44626fba1c20ca8d1a127
Author: Neowutran <xen@neowutran.ovh>
Date:   Tue Dec 20 13:51:42 2022 +0100

    x86/time: prevent overflow with high frequency TSCs
    
    Make sure tsc_khz is promoted to a 64-bit type before multiplying by
    1000 to avoid an 'overflow before widen' bug. Otherwise just above
    4.294GHz the value will overflow. Processors with clocks this high are
    now in production and require this to work correctly.
    
    Signed-off-by: Neowutran <xen@neowutran.ovh>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: ad15a0a8ca2515d8ac58edfc0bc1d3719219cb77
    master date: 2022-12-19 11:34:16 +0100

commit f2edbd79f5d5ce3b633885469852e1215dc0d4b5
Author: Per Bilse <per.bilse@citrix.com>
Date:   Tue Dec 20 13:50:47 2022 +0100

    ioreq_broadcast(): accept partial broadcast success
    
    Avoid incorrectly triggering an error when a broadcast buffered ioreq
    is not handled by all registered clients, as long as the failure is
    strictly because the client doesn't handle buffered ioreqs.
    
    Signed-off-by: Per Bilse <per.bilse@citrix.com>
    Reviewed-by: Paul Durrant <paul@xen.org>
    master commit: a44734df6c24fadbdb001f051cc5580c467caf7d
    master date: 2022-12-07 12:17:30 +0100

commit e3396cd8be5ee99d363a23f30c680e42fb2757bd
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Dec 20 13:50:16 2022 +0100

    update Xen version to 4.16.4-pre

commit 556c2e817c9cf23b675eb4eaa2dc091f7bb3039f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 19 09:08:32 2022 +0100

    update Xen version to 4.16.3
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 12:26:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 12:26:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467849.726901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7yAo-0004oE-V3; Wed, 21 Dec 2022 12:26:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467849.726901; Wed, 21 Dec 2022 12:26:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7yAo-0004o7-RK; Wed, 21 Dec 2022 12:26:14 +0000
Received: by outflank-mailman (input) for mailman id 467849;
 Wed, 21 Dec 2022 12:26:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7yAo-0004nh-0X; Wed, 21 Dec 2022 12:26:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7yAn-0001bu-Ss; Wed, 21 Dec 2022 12:26:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p7yAn-0002JK-Cf; Wed, 21 Dec 2022 12:26:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p7yAn-0001MK-CD; Wed, 21 Dec 2022 12:26:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=535jIspQFwCy0SiMIDYhdqtMFknoDSOoHmqalXxy/TA=; b=0oI6/vhgN+Je28k0SgUOWJtFLa
	AS6aMvXoixabLKk2bh+kb2gqnPxJ/TNmiagzyhCB7FQ5oimH0JrWziOM1pU7c0eAb/85DMrEZiOEb
	CwxW7UD6/HH32heoHMmqQ08OXD3mlxiL8Zh9QE5vX0XzJ9EAOHad2zWdc5d3/zfDktBI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175430-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175430: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-xsm:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-ovmf-amd64:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-xl:<job status>:broken:regression
    qemu-mainline:test-amd64-amd64-xl:host-install(5):broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64:host-install(5):broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-ovmf-amd64:host-install(5):broken:regression
    qemu-mainline:test-amd64-amd64-xl-xsm:host-install(5):broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:host-install(5):broken:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:host-install(5):broken:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=33698d3abf8ce65c38bb4b12b600b130d2682c79
X-Osstest-Versions-That:
    qemuu=562d4af32ec2213061f844b3838223fd7711b56a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 12:26:13 +0000

flight 175430 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175430/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-xsm         <job status>                 broken
 test-amd64-amd64-xl-qemuu-ovmf-amd64    <job status>                 broken
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm    <job status>            broken
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow    <job status>        broken
 test-amd64-amd64-xl-qemuu-debianhvm-amd64    <job status>               broken
 test-amd64-amd64-xl             <job status>                 broken
 test-amd64-amd64-xl           5 host-install(5)        broken REGR. vs. 175394
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 5 host-install(5) broken REGR. vs. 175394
 test-amd64-amd64-xl-qemuu-ovmf-amd64 5 host-install(5) broken REGR. vs. 175394
 test-amd64-amd64-xl-xsm       5 host-install(5)        broken REGR. vs. 175394
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 5 host-install(5) broken REGR. vs. 175394
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 5 host-install(5) broken REGR. vs. 175394
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 175394

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175394
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175394
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175394
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175394
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175394
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175394
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175394
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175394
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                33698d3abf8ce65c38bb4b12b600b130d2682c79
baseline version:
 qemuu                562d4af32ec2213061f844b3838223fd7711b56a

Last test of basis   175394  2022-12-18 17:07:20 Z    2 days
Failing since        175405  2022-12-19 10:38:52 Z    2 days    3 attempts
Testing same since   175430  2022-12-20 16:43:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alessandro Di Federico <ale@rev.ng>
  Anton Johansson <anjo@rev.ng>
  Guenter Roeck <linux@roeck-us.net>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Niccolò Izzo <nizzo@rev.ng>
  Paolo Montesel <babush@rev.ng>
  Peter Maydell <peter.maydell@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Taylor Simpson <tsimpson@quicinc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          broken  
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 broken  
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      broken  
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    broken  
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         broken  
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             broken  
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-xsm broken
broken-job test-amd64-amd64-xl-qemuu-ovmf-amd64 broken
broken-job test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm broken
broken-job test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow broken
broken-job test-amd64-amd64-xl-qemuu-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl broken
broken-step test-amd64-amd64-xl host-install(5)
broken-step test-amd64-amd64-xl-qemuu-debianhvm-amd64 host-install(5)
broken-step test-amd64-amd64-xl-qemuu-ovmf-amd64 host-install(5)
broken-step test-amd64-amd64-xl-xsm host-install(5)
broken-step test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm host-install(5)
broken-step test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow host-install(5)

Not pushing.

(No revision log; it would be 712 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 13:22:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 13:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467864.726912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7z33-0002a6-1M; Wed, 21 Dec 2022 13:22:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467864.726912; Wed, 21 Dec 2022 13:22:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7z32-0002Zz-UA; Wed, 21 Dec 2022 13:22:16 +0000
Received: by outflank-mailman (input) for mailman id 467864;
 Wed, 21 Dec 2022 13:22:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7z31-0002Zd-My
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 13:22:15 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2060.outbound.protection.outlook.com [40.107.21.60])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7aa558fb-8132-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 14:22:12 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8214.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 13:22:10 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 13:22:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7aa558fb-8132-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lT+nib/N3CgKCwgPbCmdKrLYQtgyHwJPfdzm8BUQBkNs35P8JUnYm9hYSks6QC4O/Fy9o5HWoe+6Au35JXby1PxiMTO1l+xgFbOGHPn/e9qrQvOwiE9KdEO74MqEUhueh/XbpHlZIo/zEghLN/ayZx4hP/9QpmFZWJyCJpmGBqHo9RrBA1HPgUMxCvXdiT+xNdVNEN6h6GHkzUbd3ta+7MIS4c2Ic4OJjt6i0M9tM1V/V+gNp1X6DlGj6kaVamWVUJpAUu5Np4KSbV2teHm6HK0Kxym8KlR3MNN1QELff7rZLrhq5rFNNcFcmiBBqcqppqvwztzf+4XynADYC1L4Hw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iqBcRue5iaUDnpA9g8fp0dqrfjACNo9E5cosNHW1QGM=;
 b=JEgzJdnjn2pYMgZDjmJdAFZ3ahCy28IFFAJ9fJEKnC770dv28jnOlLdqKmfAV5JfLe+nPHpkcm1l/C8ZonrgLZT1kfHJ/dTU2QWL0B9QZgRQcBhvTRocsA+YoqMO/XCZI1fDbFiMBIRcxp9OPZngKTHbureecO2bc3eWbsi5PuYuGP27H4i8fqzJuy51n7CrpTY1102g+FyJZkREKux84o2UKKAwPn8wqpfQRnIw/cednYKkN2e4hjbXIfOpRxv/McGCE02+mq7avmfPpVEvuWrx+Ic/B8KFv776SzVJpkV5t8Lcic4PpQ1A7a2V26Mjr7S5BhbHIB44PEzWQiMAPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iqBcRue5iaUDnpA9g8fp0dqrfjACNo9E5cosNHW1QGM=;
 b=JaBg3+u24Zu4a4wqaVPOrCS/Cldx2L67rM3wRIbwzc27RD1eBJptwa7Y8CL4IFIwemf4mK1mEx1BuDaQgiuRxwMPnJOBHmIDyQFM7G6sW/j5xGdjCJ5SmxoBwvAql1UbPGIob3WyZHaCEfOYWq49I5msUZt8sGwLSciVIWFLnNjDfNv9G+RaNP/VNw5iFXPljaeW7a07w5CWg6fjTUxKmq8Sbgjuo1ZRJl7u3bxHbeiG0nB4CHfSV7760UOwVdtE6ci78F2PR9cYnAIQhAQ0V54VOl9cfOE/iSwK3NqN8pZxIIq04Shc2jw9SzSyhryyQ7otcmWM8YgdBWkxfs16ew==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
Date: Wed, 21 Dec 2022 14:22:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/8] x86/mm: address aspects noticed during XSA-410 work
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0139.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8214:EE_
X-MS-Office365-Filtering-Correlation-Id: 1061166d-331d-4fe0-4005-08dae3565d88
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xr7XZ/hj7V+bztnx9EiCL5vZdZSXg9xGYhKDkzLs3EoXQwsgIYLTlI1yGJrnx/zEVP3gq4VLMSRwPrfuTU3wjKcBtRRokSdtip6VH0zTb3K5rE37eSRj9JVfp2LTaizYPcncIjihMYyBNWaNulzbdNmKK9eJvcUsmaYu2sVMcJucYd1AOiKOmO0DWNAskM0s5PvfVGirb+8NkpvxtBD4+c0SNpoMdLv4L32Wi+2TvfMWFBicjZhRVDmiM1KxuoIfiNTOZidE8NEcgdQRl6b1ENQfPwsrLuZZg2Mp42lVeIt3TDZFtcq/QU8WeGy38FpP/M2pCAE7P0nGC+e4VGJqZW/ptU7OEQ79qi0S3un1O1ZMN2nY3Io3PRoyHFm5PpYzaY3Tvl9aHI75j6GGQGC35NAXawb2KmIssz5fGlEsAaLi8qHFKwBVetZRmwzxQEQfBa8huqZXoMwaAse9Ef4ty6hVDRyUSWorJewtYVrr1zrsF0MKDJbpJpFQfc4AOW35CKQ7YwJEVC7NSA6Xm/UscyZJ9acfp4JzUW+jhLZtg9jRMbFVFh+4+hrkA6AhbOiPX1YzMOVOdBEJO5OjoRyGr3c51H1CT/ln5vAL6DfHr/kyf9G++oOvDTVEGcXsPl+vdBpYjiQ4VjfV5q5W87DJvp0Nmt0/2trnlloXVtYOj1rPxUH5CQiRq11FFvxkFmyG4SpHq1qj6ru7pWL2hdqy+VG+qqcKBGjS9yDVUego7hU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(346002)(39860400002)(366004)(136003)(376002)(451199015)(186003)(38100700002)(8936002)(36756003)(83380400001)(6486002)(6506007)(2906002)(15650500001)(41300700001)(54906003)(478600001)(4744005)(6512007)(26005)(6916009)(66476007)(4326008)(5660300002)(86362001)(31686004)(8676002)(31696002)(66946007)(2616005)(66556008)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WkVLTmlXK01tSytIOWlLdEd3ZWovUW5oVnY5Tkt6U05Zd2xCUHczYUxJV1Qw?=
 =?utf-8?B?YStQcTdYRDV3RjA0M1kwZzRiRTkvT1g1blYxYS96WE9wc0t5L2kxbXJMeE1k?=
 =?utf-8?B?RXJWaXZ4cmN2WGZXSXNmZUsycXVIOFdXRHY4RFdUYkhNU0pCN0dRamcxaERL?=
 =?utf-8?B?bDNwcVZJUWlJVzY5KytUMlE2eVFza3QrT2dYYzhWWTVKMWl0eElaN2pLYnMv?=
 =?utf-8?B?U24xSVJlc21jazFxMkNlMWNwRE5HZUhNanA3TGViWXRxRmFmamFiZWxxcCt1?=
 =?utf-8?B?eDlGb0JmMlE2cXhPay9vN3VwMHVzRzQrbm1vZDYweTFxRDlxNC9XeWw2TTlx?=
 =?utf-8?B?WDZmY0xTNXVNTGlRM2grd1d5Q2Z0QktRMk5IWlQ4L3dwNkQ1M3NLQlpFZWRQ?=
 =?utf-8?B?cnVwZXpNNEgwVDVKQUhqbWhYblhydDh2ZnVRb2w4ZmVnbW4xTkgvdVVzNDZs?=
 =?utf-8?B?WXpERXhJakEyOHFsVzRRWmpTUFI1NnVnR21Ta1Y3OHdwNW91dVlhSUY1R2Fx?=
 =?utf-8?B?V0Vzb3JWQmNoNGpxL1BpZGxxUmkyTmEycll0bEIyRGxWYjZBTDNlT0p5Y3NI?=
 =?utf-8?B?UXM1UEJBYXp3Zm4rZlJYeTZoMlFvZWlvOWRXTkg0cXZhS3ZMaTNSeWVqVzEv?=
 =?utf-8?B?VFRZdXlQZjZHck1POFloQjJRbm41dFRhRXR3ZCsvNSs4SzZXVU0wQW5FUzZ6?=
 =?utf-8?B?cGdSMUZGWFgrSHlJMktnZzlPR2pSSWYwYUdySzZVYzBKWVE5b040WEJaQkY3?=
 =?utf-8?B?emdZb1lmNXFOM0hqbkphY2JKWHd5cXkzV2dRSkhKLzVkQjRYanlySnNUdVdN?=
 =?utf-8?B?K1dDRER6L1dpaXBhOThveWhMUmFOUGp2SFpiMTYvZk1BWXVXVVVzOEFUcFhv?=
 =?utf-8?B?QzQxQ0I2L0FReEFzUXU4ZGZRTFYveGhFNE10VmxITDZlMzNEejF1M09CMzNN?=
 =?utf-8?B?RmNNM1lnTDhnZUorMkswQUwzZFZRVWZ1a1ZBZXF0VzNKczkzaXNPUWVsdzBR?=
 =?utf-8?B?NnBpSndHOC9BOVBUZHJ1MHJyNStJVHQvOUpqaGs1WllDanlraG5jb29PcFNO?=
 =?utf-8?B?V3psbzJ3aEtmWEQ5ZWdkdU9zMXdFUHdMRDNnZk1RbjMxdGg5N25FY2NNZzVM?=
 =?utf-8?B?cUUrSWRUNUI0LzJBZXdNV3gxdWx0a3ZKME8yK3BpMXpuV0k3M2MzckN6WjZI?=
 =?utf-8?B?K2tiN0NPbjV0NWoydUZjcjhITk1YTG0yaUlSL3pXOVFhblFFT1VlM0Y5cElx?=
 =?utf-8?B?MUtVVWRnN0VFRk44MmE4bnF4MjZiQU5jMDUyUXF3cFJnMTBRY3JxWFpLblZq?=
 =?utf-8?B?cS9ncXpId25hM2VFYmtHVXZNOTl3QjMwYzNnQTZtMHdJak5oNklLdVp1Z1g4?=
 =?utf-8?B?Q0d6R0YwL1lYVjZEa0lQdTEwMWtuZHY1Q2d3MEI2TGhja2hvdFc4TmJPTjhm?=
 =?utf-8?B?M0FoMU9vMldPMXZ2Q0IreStYUi9QNXFoUTliZmlENnoyb0MydStZT1UvakNX?=
 =?utf-8?B?a256SkRGRFpvZjIxMjRYL0xYNnNpOEJFQisrWWFpWHFJM0RwNkVnWTgra2w1?=
 =?utf-8?B?ZnNiY0JnU2NkbXFnZ1hNOStqUUJMOWh4cWx5aFhNTGl2TU8wT1NXajlLVFlV?=
 =?utf-8?B?dkJRbXJ5a001c0xYTFNBcFdsbS9Bb1FLU1ZkQmJPOWNTK0RWL0N5cit0VHNB?=
 =?utf-8?B?SUg4TTNIUDlzT3BqeW1vNDVtWitTcXVhQjEyRmluY1A1NHBuMmQ4RmpGT0t5?=
 =?utf-8?B?cTZNR1lzRDRyUzFuUmwzNzdrS3FkYTl4elJ1N1lnTW1rS3JPdGgxVUE2eXVs?=
 =?utf-8?B?cVVHdHhxUi9Od1FvYWNIdE0vUWZ0VmNreVZtTWMybS9wVHAvWnB0ZGUrcFhn?=
 =?utf-8?B?QWE2V3YyS09nTjhBUHByQTlOVFQzY0EzVmMwWjFyeEVtVE96a0JZcE1UU3Vk?=
 =?utf-8?B?MU1ua0N3YWlSelg3US8zeVV6aXQvR2ZLVlN0a1lFZzdkdGxtS3pZVnBxQ2NU?=
 =?utf-8?B?Ym9sV3V3RmY0WUNib09EK3NjaTMwTFRaVTZwRzhlU1BiTm54SkZmbVI5bXlw?=
 =?utf-8?B?Y2J6cGY1ajQyUWtxcitCaDJKSkNsL1hWQ1RzTGZQb2FOSVNKOVpkUEtlbDE1?=
 =?utf-8?Q?ZzT5yOwlbNeLNZjdvHMin4sRt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1061166d-331d-4fe0-4005-08dae3565d88
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 13:22:10.3499
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: L9cTo/FhrFf/ODthfXrpxU3Lb+mR2MaJe+nKOrlggbw/GCQxSVgmdpvVrE10np4zH5FxZcgFH0+g3+P7OcQAGg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8214

Various tidying changes accumulated during that effort. They're all
functionally independent afaict, but there may be contextual
interactions between some of them.

1: paging: fold HAP and shadow memory alloc related fields
2: paging: fold most HAP and shadow final teardown
3: paging: move update_paging_modes() hook
4: paging: move and conditionalize flush_tlb() hook
5: PV: drop dead paging_update_paging_modes() call during Dom0 construction
6: shadow: adjust and move sh_type_to_size[]
7: shadow: don't open-code copy_domain_page()
8: shadow: drop zero initialization from shadow_domain_init()

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 13:24:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 13:24:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467874.726923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7z5Q-0003Dw-HF; Wed, 21 Dec 2022 13:24:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467874.726923; Wed, 21 Dec 2022 13:24:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7z5Q-0003Dp-DC; Wed, 21 Dec 2022 13:24:44 +0000
Received: by outflank-mailman (input) for mailman id 467874;
 Wed, 21 Dec 2022 13:24:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7z5O-0003Di-Qs
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 13:24:42 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2078.outbound.protection.outlook.com [40.107.249.78])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d22cd1c3-8132-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 14:24:40 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8610.eurprd04.prod.outlook.com (2603:10a6:20b:425::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 13:24:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 13:24:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d22cd1c3-8132-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=S3oPNtpEZPc7CUjPI33oFsWSAU09vLntPVW+2nGh+g6ny1/QvsZuZRAAo+QkGt8mvl3P1IameSYqj4+m1h8E78/xPAsnNgo//bd1298apdurXwBuZMHQCpcvbaxogAbftL/nZKimhIJiaeK+HiZjjNs20ZrYsfyyBI8pE6HWBhnkzaOsipG4Qgl1rYUqR/YzeVib2CqG4qbe2eBJhv1nEPIv1zkAhZESnEAgGRPYsBYVf0FknyN9LlalnuzV1/pdM3eW0eqNAGFIeduO1SC4gXryjwasKL2QlYhwmCCOuNqzwwJfA9ncvzD17AJSDjXh6QB4gjjBKqb0pn3Nal8bKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HEn4wFY2piqkVwEmqMEYH4wgW0zCNIYSpO4zFCRXgEw=;
 b=n4h9MrLskiw3URvwI78R+6xIf4yDtEogyBORsWRIsWEdz4DJNCla6cz1cw+vXHOC5E+/DYM80auhwxojN8+AvMhCxxQipdIY6Gc6acEa9tIHIk+w6sy7s9SZ0yZcma6Hu9hAJ1M0z/mttziJmaooiGWHZlDL3xLS2A/wXObJUyNv949nf8GAee/6PZfabozwRPuRvNdx+zEuNVO0X77BVSaZDeIEbZ7DrYmaPLwcZ/XbrHIUkSGks7Mgm4mxTMIeNJN4vqR+mCvbMo7Bt7aV9bUUAWelshTF8fhkXM4+TkegBSpbG0zAaAHPTeCwabBkQJjioAJYsAICWN2FMg1J2A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HEn4wFY2piqkVwEmqMEYH4wgW0zCNIYSpO4zFCRXgEw=;
 b=cRQqGTYQTnMC4eFmoMYKPX33yjXY3V6wnUTRJI7Vh1ddj+glADLxorgbB1bFkkKZOeGAtrJQNu0kAErYBYJHNqDgFdOXc56qq/QTjnhqHqly7obWD2CMj3PliyPCPCtJR1CVGQ3XuPts5b7xgwRuUwf/nSejDhw50s7GIQs86f9TOEA21cHolyP6UQM2/nuXscaav9tY2TuDeUnGvxDksNhh1R2W0D3WOtlT8mKbBkTgbXu5UVd1HuSEHMWY7I6NN1YlZPKzfCB3KKkOfRe/9r2m5MaFwdS4smkadF+QRpFGeiyLLJMOjLovbF6idsOFe/dpVud2OjYqRgI0T2J7Gw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <660507f9-87fd-1061-1fa0-2aeb42ac2eef@suse.com>
Date: Wed, 21 Dec 2022 14:24:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: [PATCH 1/8] x86/paging: fold HAP and shadow memory alloc related
 fields
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
In-Reply-To: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8610:EE_
X-MS-Office365-Filtering-Correlation-Id: 36ea6951-5f20-4d28-a184-08dae356b527
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qqf7vqyiawR0rcgHIH/Ox8Z2A8EPSMLSE7/Gd3OfuyUETmh0ZqIskLrMLHUrxFF6FCrUquJgy9m/nSWj/9O1F6PWv3tEx0szkEjNuKzCdXBvnqr0T4S3No0nK7CaduHMzj25WkrGVjaxQN0AQljzsg/cqL0IryiFkRSJAVU3TJbilBSpmsUvg++zafLlDlbdYG0WfHhBwYnEKb5apjZ+gjCF4QCdyw1JCjCw+t6mOi5mJ66VzLmmDircDek0L/3NrP8BVx2zQ/k5BrDfAfAGDjXmcICvqDNFfTjzsPSJJ6mhVi6tyKeiGjyXUx+e7WYsa2BD9WONQ4tf8fGaRCVjKhYZcPHTo67GymgL9hUcRNV0rNTVZXLsfqnFVHdOYtqZid6+uRuPm5ZjsFk+umYCZ8O6//qHjY35wx7vJIoBrExresWcv4okcpeJwCLft2rktOAZfYz8RuE+pfIz015p9cWRSmpdVYJ2c2X+oavsCFl+9dRzaKKLbOeQWFuEMRBTBftyCYb2wdn/aw1xb1+6182M80lRrw3ZDjzg2lUnsleQTmYI4B99DrOBIReHeuuj9BvXla1/1r1Gca1t7m4mSJJKYVy+zdvHbk/QKXCb+ooNdedtdnocK77xGT/lbONABEyOzKuMXx6SB+5oXPDvC9gmnV2BgbMnD18gsRb907jGmd8knkVMaschpZYHgqFMPZDcCxxDEYv78GmSXW+jTDcpMXQW2qMLH7oy9j+dEGs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(396003)(376002)(39860400002)(366004)(451199015)(31686004)(8936002)(8676002)(66476007)(86362001)(4326008)(66556008)(5660300002)(66946007)(316002)(30864003)(2906002)(41300700001)(6916009)(54906003)(2616005)(83380400001)(31696002)(6512007)(186003)(6506007)(26005)(38100700002)(6486002)(478600001)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aS90Z3djZ0FYOXcyOUR1MExCcDFJNmFnZFg0QkNkcmNwWHM2OTRZQmR5ZHpw?=
 =?utf-8?B?bXFRTU5PcUxOR0M2VkN3RHMwNWNCYWhTU2k3aXFxSzdqLzlDZHNKRTgxeFMv?=
 =?utf-8?B?WS9oY05NN3RpcXhQWWsvc0RBY3RiYVAxZXIvQmNTUXRjbHpuL1JDbHc2dEhz?=
 =?utf-8?B?RkhzVmVaTENoMTBWMkZkbmRweU9VWk5qT1ZIK1JRMDNVNHlRQlpmL0pTbEMv?=
 =?utf-8?B?UHRLVE5OTHJpSXBLbWhNWXRtWlJ5OEZiNmdmd29jM3VwUnFmd1Z5MzJLL3pW?=
 =?utf-8?B?RG5mcG0zamIzYWVVaFpXYk5VRmh3ODJLOTNHdjhxUUVJa0dRVkRhaFZyRWhM?=
 =?utf-8?B?N2JKbmJDSVNDdkVtbUFtWktsTDd2aGhLMmJyUEpkSEJxZ3JPajd2Z3ZDeEpa?=
 =?utf-8?B?YjJCeHByK2RKeXZLSjAxbkdta1JIcW9jek1IV3Q1cUtCODVQanVTcFFhMWJt?=
 =?utf-8?B?R2tDRS9BazdwVC9EVDk0N0RLWG9JMnRGREtsWmNKSGJGSmpzUDJ4YW5VL3hF?=
 =?utf-8?B?WXZaNEJQa1BHczlUbzZ4WDd4SC9nYThrQlNIc3BRbE5INzhWWlVnUlMrNXFl?=
 =?utf-8?B?azJPVGNxRjhBQjhaSEplODJRVE5vTU95K2Qwcm5tSG5CY051N3RuUFZBclpa?=
 =?utf-8?B?c0ZhZHVVeXREdXhFQVZpVWVTNWxNcXZTTGNPaEtvNVkySjNYUkpOaVkvMU9r?=
 =?utf-8?B?SkdkNERwK3dYT0Q3MHNSRFJtYTM1bWdBQVFmSUkrL0RGeDBnOENIWnB5RWdw?=
 =?utf-8?B?UUxzV1VtcFY4YjlGeTg5d25TSGVlMVVCWXhjUzUxQlUyZzRmSWpkZnF4RmxI?=
 =?utf-8?B?OG0zZVB4ZWY0b1VvdG0rSlZnS0JoSVpYVVdydkhlWDdhN3N0d01LWW5xb2hn?=
 =?utf-8?B?aWppcnI0cndQaEJhK2Z2ZllXNFpwUXAzS1JldGx3bEVtaHk2djdQTmpkSEVL?=
 =?utf-8?B?Y0Vmc0JUQUNxc1UxZjBaYi9wT3lvOHRrZHZXbFYwNC9PYXV2SmZaSVZRWU94?=
 =?utf-8?B?c3NMRXlXSXVuNWJPbVVoM0lzYTRZV1NvS1NWMWpaVnErT1g4blp1c0IwUVlz?=
 =?utf-8?B?enNad1VxQ1VrVFJhMlVFcUpFblFpcjBrenRadWdaVXRYNUsvQVBhMGR6a1ZR?=
 =?utf-8?B?KytCU213bzZ1ZHljdXRSMnNjQ25QRUczTXN3emF3Vi9PUmVldTJQZ2RFeDhT?=
 =?utf-8?B?b0NtVUhXZHhnemFWdzhpc3pubnJGTkNURm1nWGFMZDlNQmpOUGQzRHRtd3Y4?=
 =?utf-8?B?MFZOVWtCOExnRFBQTmJ5ZEtkZ1paYjN3dUY5Sys1SkpPUDgrekVPcUZyNE9Z?=
 =?utf-8?B?M21BaThramlQUFMzSFRhS0o5MEVTRWhRNjdBYVZvRkliMXBxOGVoVjhqMnZw?=
 =?utf-8?B?WFZGdkt2LzJCVC9oTnRZNDlXK1ZjQm0xVFZQMUhTMnNTWnFuNmJ5aUt1QnU5?=
 =?utf-8?B?T0hRTE1QN2RPOGRmMWpaM3RJcEJ2VDlsVFNpV1NRbWkvL3RkbWZhcE1Fd3B1?=
 =?utf-8?B?SG1SRnNpV2wvVUg0U2h0T0duSEN2ejNiSHRHTjAzbng2L1BUZ0l2TzJQbmhh?=
 =?utf-8?B?Q3JGV2NLOTFHbGtXZ2dxUlB1aVgvSkNuWmpQRGdFU1d4R3dlTzNaWEYvdXdY?=
 =?utf-8?B?a2EzdmFIOGdVSG5jVEhHeGJoL1hJdG5PVmdqNzF5MWtLR3FxTDJyMDY4bHRs?=
 =?utf-8?B?NUlkWGZiKzk1OXRyeW54QkloaVEvUGNnTCtDVW9FaWo0cUh4ZlNhNm9aaUJm?=
 =?utf-8?B?eDFpUXJFZFF2Z0p0cDF1bG9mVDNSTnVGYS9XT3orcVZiUnpVQ29LZVNmUXph?=
 =?utf-8?B?dmJLUWQ0SWFiZVhoSGRHcmhzcnNvWlYzNUE0azczTC9WYWJVWmNGTlZWb2Ft?=
 =?utf-8?B?eEM0OGoxZTFudGJjTXd3Q3FRWnZJTzlDSFdmOE5raExjdHpybFlSaFI5Ymw0?=
 =?utf-8?B?NERmTnJCWWt3TGFqblpsa1o1azVjRE00Y2lQVDNmdGFOVTVmWXNkdVRWckQz?=
 =?utf-8?B?NjBvNTl6enQ3eTgzTkRsdk5xS202NXhobDhER1ZoKzZ4R0JRUFZMSWd6SWZ3?=
 =?utf-8?B?aDZMekJOTi9NdGhBL3lTcW5LRTNJNVpPaHYzeWYwOTV6cGt4QjdiQ0Zod1A4?=
 =?utf-8?Q?LA87t08npQ9mkwNN8po84Mnq6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 36ea6951-5f20-4d28-a184-08dae356b527
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 13:24:37.3249
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eU/9Da6T9+KNFspDPZOlWN7P34KY6PWgALYkXF9LSmoaf1/OFK/snyHTRKzvTB6GaKKBjeSbcNuMze13TMfRsA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8610

Especially with struct shadow_domain and struct hap_domain not living in
a union inside struct paging_domain, let's avoid the duplication: The
fields are named and used in identical ways, and only one of HAP or
shadow can be in use for a domain. This then also renders involved
expressions slightly more legible.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Quite likely more folding of code is possible with this. For example
{hap,shadow}_set_allocation() are now yet more similar than they already
were.

--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -99,12 +99,6 @@ struct shadow_domain {
     unsigned int      opt_flags;    /* runtime tunable optimizations on/off */
     struct page_list_head pinned_shadows;
 
-    /* Memory allocation */
-    struct page_list_head freelist;
-    unsigned int      total_pages;  /* number of pages allocated */
-    unsigned int      free_pages;   /* number of pages on freelists */
-    unsigned int      p2m_pages;    /* number of pages allocated to p2m */
-
     /* 1-to-1 map for use when HVM vcpus have paging disabled */
     pagetable_t unpaged_pagetable;
 
@@ -179,10 +173,6 @@ struct shadow_vcpu {
 /*            hardware assisted paging          */
 /************************************************/
 struct hap_domain {
-    struct page_list_head freelist;
-    unsigned int      total_pages;  /* number of pages allocated */
-    unsigned int      free_pages;   /* number of pages on freelists */
-    unsigned int      p2m_pages;    /* number of pages allocated to p2m */
 };
 
 /************************************************/
@@ -218,6 +208,13 @@ struct paging_domain {
     struct shadow_domain    shadow;
     /* extension for hardware-assited paging */
     struct hap_domain       hap;
+
+    /* Memory allocation (common to shadow and HAP) */
+    struct page_list_head   freelist;
+    unsigned int            total_pages;  /* number of pages allocated */
+    unsigned int            free_pages;   /* number of pages on freelists */
+    unsigned int            p2m_pages;    /* number of pages allocated to p2m */
+
     /* log dirty support */
     struct log_dirty_domain log_dirty;
 
--- a/xen/arch/x86/include/asm/hap.h
+++ b/xen/arch/x86/include/asm/hap.h
@@ -47,7 +47,6 @@ int   hap_track_dirty_vram(struct domain
 extern const struct paging_mode *hap_paging_get_mode(struct vcpu *);
 int hap_set_allocation(struct domain *d, unsigned int pages, bool *preempted);
 unsigned int hap_get_allocation(struct domain *d);
-int hap_get_allocation_bytes(struct domain *d, uint64_t *size);
 
 #endif /* XEN_HAP_H */
 
--- a/xen/arch/x86/include/asm/shadow.h
+++ b/xen/arch/x86/include/asm/shadow.h
@@ -97,8 +97,6 @@ void shadow_blow_tables_per_domain(struc
 int shadow_set_allocation(struct domain *d, unsigned int pages,
                           bool *preempted);
 
-int shadow_get_allocation_bytes(struct domain *d, uint64_t *size);
-
 #else /* !CONFIG_SHADOW_PAGING */
 
 #define shadow_vcpu_teardown(v) ASSERT(is_pv_vcpu(v))
@@ -110,8 +108,6 @@ int shadow_get_allocation_bytes(struct d
     ({ ASSERT_UNREACHABLE(); -EOPNOTSUPP; })
 #define shadow_set_allocation(d, pages, preempted) \
     ({ ASSERT_UNREACHABLE(); -EOPNOTSUPP; })
-#define shadow_get_allocation_bytes(d, size) \
-    ({ ASSERT_UNREACHABLE(); -EOPNOTSUPP; })
 
 static inline void sh_remove_shadows(struct domain *d, mfn_t gmfn,
                                      int fast, int all) {}
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -249,11 +249,11 @@ static struct page_info *hap_alloc(struc
     if ( unlikely(d->is_dying) )
         return NULL;
 
-    pg = page_list_remove_head(&d->arch.paging.hap.freelist);
+    pg = page_list_remove_head(&d->arch.paging.freelist);
     if ( unlikely(!pg) )
         return NULL;
 
-    d->arch.paging.hap.free_pages--;
+    d->arch.paging.free_pages--;
 
     clear_domain_page(page_to_mfn(pg));
 
@@ -274,12 +274,12 @@ static void hap_free(struct domain *d, m
     if ( unlikely(d->is_dying) )
     {
         free_domheap_page(pg);
-        d->arch.paging.hap.total_pages--;
+        d->arch.paging.total_pages--;
         return;
     }
 
-    d->arch.paging.hap.free_pages++;
-    page_list_add_tail(pg, &d->arch.paging.hap.freelist);
+    d->arch.paging.free_pages++;
+    page_list_add_tail(pg, &d->arch.paging.freelist);
 }
 
 static struct page_info *cf_check hap_alloc_p2m_page(struct domain *d)
@@ -293,8 +293,8 @@ static struct page_info *cf_check hap_al
 
     if ( likely(pg != NULL) )
     {
-        d->arch.paging.hap.total_pages--;
-        d->arch.paging.hap.p2m_pages++;
+        d->arch.paging.total_pages--;
+        d->arch.paging.p2m_pages++;
         ASSERT(!page_get_owner(pg) && !(pg->count_info & PGC_count_mask));
     }
     else if ( !d->arch.paging.p2m_alloc_failed && !d->is_dying )
@@ -328,8 +328,8 @@ static void cf_check hap_free_p2m_page(s
         pg->count_info &= ~PGC_count_mask;
         page_set_owner(pg, NULL);
     }
-    d->arch.paging.hap.p2m_pages--;
-    d->arch.paging.hap.total_pages++;
+    d->arch.paging.p2m_pages--;
+    d->arch.paging.total_pages++;
     hap_free(d, page_to_mfn(pg));
 
     paging_unlock(d);
@@ -338,24 +338,13 @@ static void cf_check hap_free_p2m_page(s
 /* Return the size of the pool, rounded up to the nearest MB */
 unsigned int hap_get_allocation(struct domain *d)
 {
-    unsigned int pg = d->arch.paging.hap.total_pages
-        + d->arch.paging.hap.p2m_pages;
+    unsigned int pg = d->arch.paging.total_pages
+        + d->arch.paging.p2m_pages;
 
     return ((pg >> (20 - PAGE_SHIFT))
             + ((pg & ((1 << (20 - PAGE_SHIFT)) - 1)) ? 1 : 0));
 }
 
-int hap_get_allocation_bytes(struct domain *d, uint64_t *size)
-{
-    unsigned long pages = d->arch.paging.hap.total_pages;
-
-    pages += d->arch.paging.hap.p2m_pages;
-
-    *size = pages << PAGE_SHIFT;
-
-    return 0;
-}
-
 /* Set the pool of pages to the required number of pages.
  * Returns 0 for success, non-zero for failure. */
 int hap_set_allocation(struct domain *d, unsigned int pages, bool *preempted)
@@ -364,14 +353,14 @@ int hap_set_allocation(struct domain *d,
 
     ASSERT(paging_locked_by_me(d));
 
-    if ( pages < d->arch.paging.hap.p2m_pages )
+    if ( pages < d->arch.paging.p2m_pages )
         pages = 0;
     else
-        pages -= d->arch.paging.hap.p2m_pages;
+        pages -= d->arch.paging.p2m_pages;
 
     for ( ; ; )
     {
-        if ( d->arch.paging.hap.total_pages < pages )
+        if ( d->arch.paging.total_pages < pages )
         {
             /* Need to allocate more memory from domheap */
             pg = alloc_domheap_page(d, MEMF_no_owner);
@@ -380,22 +369,22 @@ int hap_set_allocation(struct domain *d,
                 HAP_PRINTK("failed to allocate hap pages.\n");
                 return -ENOMEM;
             }
-            d->arch.paging.hap.free_pages++;
-            d->arch.paging.hap.total_pages++;
-            page_list_add_tail(pg, &d->arch.paging.hap.freelist);
+            d->arch.paging.free_pages++;
+            d->arch.paging.total_pages++;
+            page_list_add_tail(pg, &d->arch.paging.freelist);
         }
-        else if ( d->arch.paging.hap.total_pages > pages )
+        else if ( d->arch.paging.total_pages > pages )
         {
             /* Need to return memory to domheap */
-            if ( page_list_empty(&d->arch.paging.hap.freelist) )
+            if ( page_list_empty(&d->arch.paging.freelist) )
             {
                 HAP_PRINTK("failed to free enough hap pages.\n");
                 return -ENOMEM;
             }
-            pg = page_list_remove_head(&d->arch.paging.hap.freelist);
+            pg = page_list_remove_head(&d->arch.paging.freelist);
             ASSERT(pg);
-            d->arch.paging.hap.free_pages--;
-            d->arch.paging.hap.total_pages--;
+            d->arch.paging.free_pages--;
+            d->arch.paging.total_pages--;
             free_domheap_page(pg);
         }
         else
@@ -462,8 +451,6 @@ void hap_domain_init(struct domain *d)
         .clean   = hap_clean_dirty_bitmap,
     };
 
-    INIT_PAGE_LIST_HEAD(&d->arch.paging.hap.freelist);
-
     /* Use HAP logdirty mechanism. */
     paging_log_dirty_init(d, &hap_ops);
 }
@@ -484,7 +471,7 @@ int hap_enable(struct domain *d, u32 mod
 
     domain_pause(d);
 
-    old_pages = d->arch.paging.hap.total_pages;
+    old_pages = d->arch.paging.total_pages;
     if ( old_pages == 0 )
     {
         paging_lock(d);
@@ -566,16 +553,16 @@ void hap_final_teardown(struct domain *d
         p2m_teardown(d->arch.nested_p2m[i], true, NULL);
     }
 
-    if ( d->arch.paging.hap.total_pages != 0 )
+    if ( d->arch.paging.total_pages != 0 )
         hap_teardown(d, NULL);
 
     p2m_teardown(p2m_get_hostp2m(d), true, NULL);
     /* Free any memory that the p2m teardown released */
     paging_lock(d);
     hap_set_allocation(d, 0, NULL);
-    ASSERT(d->arch.paging.hap.p2m_pages == 0);
-    ASSERT(d->arch.paging.hap.free_pages == 0);
-    ASSERT(d->arch.paging.hap.total_pages == 0);
+    ASSERT(d->arch.paging.p2m_pages == 0);
+    ASSERT(d->arch.paging.free_pages == 0);
+    ASSERT(d->arch.paging.total_pages == 0);
     paging_unlock(d);
 }
 
@@ -644,14 +631,14 @@ void hap_teardown(struct domain *d, bool
 
     paging_lock(d); /* Keep various asserts happy */
 
-    if ( d->arch.paging.hap.total_pages != 0 )
+    if ( d->arch.paging.total_pages != 0 )
     {
         hap_set_allocation(d, 0, preempted);
 
         if ( preempted && *preempted )
             goto out;
 
-        ASSERT(d->arch.paging.hap.total_pages == 0);
+        ASSERT(d->arch.paging.total_pages == 0);
     }
 
     d->arch.paging.mode &= ~PG_log_dirty;
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -651,6 +651,7 @@ int paging_domain_init(struct domain *d)
     if ( (rc = p2m_init(d)) != 0 )
         return rc;
 
+    INIT_PAGE_LIST_HEAD(&d->arch.paging.freelist);
     mm_lock_init(&d->arch.paging.lock);
 
     /* This must be initialized separately from the rest of the
@@ -979,17 +980,17 @@ int __init paging_set_allocation(struct
 
 int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
 {
-    int rc;
+    unsigned long pages;
 
     if ( is_pv_domain(d) )                 /* TODO: Relax in due course */
         return -EOPNOTSUPP;
 
-    if ( hap_enabled(d) )
-        rc = hap_get_allocation_bytes(d, size);
-    else
-        rc = shadow_get_allocation_bytes(d, size);
+    pages = d->arch.paging.total_pages;
+    pages += d->arch.paging.p2m_pages;
 
-    return rc;
+    *size = pages << PAGE_SHIFT;
+
+    return 0;
 }
 
 int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -55,7 +55,6 @@ int shadow_domain_init(struct domain *d)
         .clean   = sh_clean_dirty_bitmap,
     };
 
-    INIT_PAGE_LIST_HEAD(&d->arch.paging.shadow.freelist);
     INIT_PAGE_LIST_HEAD(&d->arch.paging.shadow.pinned_shadows);
 
     /* Use shadow pagetables for log-dirty support */
@@ -936,7 +935,7 @@ static bool __must_check _shadow_preallo
     mfn_t smfn;
     int i;
 
-    if ( d->arch.paging.shadow.free_pages >= pages )
+    if ( d->arch.paging.free_pages >= pages )
         return true;
 
     if ( unlikely(d->is_dying) )
@@ -958,7 +957,7 @@ static bool __must_check _shadow_preallo
         sh_unpin(d, smfn);
 
         /* See if that freed up enough space */
-        if ( d->arch.paging.shadow.free_pages >= pages )
+        if ( d->arch.paging.free_pages >= pages )
             return true;
     }
 
@@ -979,7 +978,7 @@ static bool __must_check _shadow_preallo
                     0);
 
                 /* See if that freed up enough space */
-                if ( d->arch.paging.shadow.free_pages >= pages )
+                if ( d->arch.paging.free_pages >= pages )
                 {
                     guest_flush_tlb_mask(d, d->dirty_cpumask);
                     return true;
@@ -991,10 +990,8 @@ static bool __must_check _shadow_preallo
      * hold Xen mappings for some vcpu.  This can never happen. */
     printk(XENLOG_ERR "Can't pre-allocate %u shadow pages!\n"
            "  shadow pages total = %u, free = %u, p2m=%u\n",
-           pages,
-           d->arch.paging.shadow.total_pages,
-           d->arch.paging.shadow.free_pages,
-           d->arch.paging.shadow.p2m_pages);
+           pages, d->arch.paging.total_pages,
+           d->arch.paging.free_pages, d->arch.paging.p2m_pages);
 
     ASSERT_UNREACHABLE();
 
@@ -1122,7 +1119,7 @@ mfn_t shadow_alloc(struct domain *d,
     ASSERT(shadow_type != SH_type_none);
     perfc_incr(shadow_alloc);
 
-    if ( d->arch.paging.shadow.free_pages < pages )
+    if ( d->arch.paging.free_pages < pages )
     {
         /* If we get here, we failed to allocate. This should never
          * happen.  It means that we didn't call shadow_prealloc()
@@ -1132,7 +1129,7 @@ mfn_t shadow_alloc(struct domain *d,
         printk(XENLOG_ERR "Can't allocate %u shadow pages!\n", pages);
         BUG();
     }
-    d->arch.paging.shadow.free_pages -= pages;
+    d->arch.paging.free_pages -= pages;
 
     /* Backpointers that are MFNs need to be packed into PDXs (PFNs don't) */
     switch (shadow_type)
@@ -1153,7 +1150,7 @@ mfn_t shadow_alloc(struct domain *d,
     /* Init page info fields and clear the pages */
     for ( i = 0; i < pages ; i++ )
     {
-        sp = page_list_remove_head(&d->arch.paging.shadow.freelist);
+        sp = page_list_remove_head(&d->arch.paging.freelist);
         /* Before we overwrite the old contents of this page,
          * we need to be sure that no TLB holds a pointer to it. */
         cpumask_copy(&mask, d->dirty_cpumask);
@@ -1249,15 +1246,15 @@ void shadow_free(struct domain *d, mfn_t
             free_domheap_page(sp);
         }
         else
-            page_list_add_tail(sp, &d->arch.paging.shadow.freelist);
+            page_list_add_tail(sp, &d->arch.paging.freelist);
 
         sp = next;
     }
 
     if ( unlikely(dying) )
-        d->arch.paging.shadow.total_pages -= pages;
+        d->arch.paging.total_pages -= pages;
     else
-        d->arch.paging.shadow.free_pages += pages;
+        d->arch.paging.free_pages += pages;
 }
 
 /* Divert a page from the pool to be used by the p2m mapping.
@@ -1276,7 +1273,7 @@ shadow_alloc_p2m_page(struct domain *d)
      * paging lock) and the log-dirty code (which always does). */
     paging_lock_recursive(d);
 
-    if ( d->arch.paging.shadow.total_pages
+    if ( d->arch.paging.total_pages
          < shadow_min_acceptable_pages(d) + 1 )
     {
         if ( !d->arch.paging.p2m_alloc_failed )
@@ -1284,8 +1281,8 @@ shadow_alloc_p2m_page(struct domain *d)
             d->arch.paging.p2m_alloc_failed = 1;
             dprintk(XENLOG_ERR,
                     "d%d failed to allocate from shadow pool (tot=%u p2m=%u min=%u)\n",
-                    d->domain_id, d->arch.paging.shadow.total_pages,
-                    d->arch.paging.shadow.p2m_pages,
+                    d->domain_id, d->arch.paging.total_pages,
+                    d->arch.paging.p2m_pages,
                     shadow_min_acceptable_pages(d));
         }
         goto out;
@@ -1295,8 +1292,8 @@ shadow_alloc_p2m_page(struct domain *d)
         goto out;
 
     pg = mfn_to_page(shadow_alloc(d, SH_type_p2m_table, 0));
-    d->arch.paging.shadow.p2m_pages++;
-    d->arch.paging.shadow.total_pages--;
+    d->arch.paging.p2m_pages++;
+    d->arch.paging.total_pages--;
     ASSERT(!page_get_owner(pg) && !(pg->count_info & PGC_count_mask));
 
  out:
@@ -1327,8 +1324,8 @@ shadow_free_p2m_page(struct domain *d, s
      * paging lock) and the log-dirty code (which always does). */
     paging_lock_recursive(d);
 
-    d->arch.paging.shadow.p2m_pages--;
-    d->arch.paging.shadow.total_pages++;
+    d->arch.paging.p2m_pages--;
+    d->arch.paging.total_pages++;
     shadow_free(d, page_to_mfn(pg));
 
     paging_unlock(d);
@@ -1345,7 +1342,7 @@ static unsigned int sh_min_allocation(co
            max(max(domain_tot_pages(d) / 256,
                    is_hvm_domain(d) ? CONFIG_PAGING_LEVELS + 2 : 0U) +
                is_hvm_domain(d),
-               d->arch.paging.shadow.p2m_pages);
+               d->arch.paging.p2m_pages);
 }
 
 int shadow_set_allocation(struct domain *d, unsigned int pages, bool *preempted)
@@ -1361,15 +1358,15 @@ int shadow_set_allocation(struct domain
 
         if ( pages < lower_bound )
             pages = lower_bound;
-        pages -= d->arch.paging.shadow.p2m_pages;
+        pages -= d->arch.paging.p2m_pages;
     }
 
     SHADOW_PRINTK("current %i target %i\n",
-                   d->arch.paging.shadow.total_pages, pages);
+                   d->arch.paging.total_pages, pages);
 
     for ( ; ; )
     {
-        if ( d->arch.paging.shadow.total_pages < pages )
+        if ( d->arch.paging.total_pages < pages )
         {
             /* Need to allocate more memory from domheap */
             sp = (struct page_info *)
@@ -1379,29 +1376,29 @@ int shadow_set_allocation(struct domain
                 SHADOW_PRINTK("failed to allocate shadow pages.\n");
                 return -ENOMEM;
             }
-            d->arch.paging.shadow.free_pages++;
-            d->arch.paging.shadow.total_pages++;
+            d->arch.paging.free_pages++;
+            d->arch.paging.total_pages++;
             sp->u.sh.type = 0;
             sp->u.sh.pinned = 0;
             sp->u.sh.count = 0;
             sp->tlbflush_timestamp = 0; /* Not in any TLB */
-            page_list_add_tail(sp, &d->arch.paging.shadow.freelist);
+            page_list_add_tail(sp, &d->arch.paging.freelist);
         }
-        else if ( d->arch.paging.shadow.total_pages > pages )
+        else if ( d->arch.paging.total_pages > pages )
         {
             /* Need to return memory to domheap */
             if ( !_shadow_prealloc(d, 1) )
                 return -ENOMEM;
 
-            sp = page_list_remove_head(&d->arch.paging.shadow.freelist);
+            sp = page_list_remove_head(&d->arch.paging.freelist);
             ASSERT(sp);
             /*
              * The pages were allocated anonymously, but the owner field
              * gets overwritten normally, so need to clear it here.
              */
             page_set_owner(sp, NULL);
-            d->arch.paging.shadow.free_pages--;
-            d->arch.paging.shadow.total_pages--;
+            d->arch.paging.free_pages--;
+            d->arch.paging.total_pages--;
             free_domheap_page(sp);
         }
         else
@@ -1421,23 +1418,12 @@ int shadow_set_allocation(struct domain
 /* Return the size of the shadow pool, rounded up to the nearest MB */
 static unsigned int shadow_get_allocation(struct domain *d)
 {
-    unsigned int pg = d->arch.paging.shadow.total_pages
-        + d->arch.paging.shadow.p2m_pages;
+    unsigned int pg = d->arch.paging.total_pages
+        + d->arch.paging.p2m_pages;
     return ((pg >> (20 - PAGE_SHIFT))
             + ((pg & ((1 << (20 - PAGE_SHIFT)) - 1)) ? 1 : 0));
 }
 
-int shadow_get_allocation_bytes(struct domain *d, uint64_t *size)
-{
-    unsigned long pages = d->arch.paging.shadow.total_pages;
-
-    pages += d->arch.paging.shadow.p2m_pages;
-
-    *size = pages << PAGE_SHIFT;
-
-    return 0;
-}
-
 /**************************************************************************/
 /* Hash table for storing the guest->shadow mappings.
  * The table itself is an array of pointers to shadows; the shadows are then
@@ -2708,7 +2694,7 @@ int shadow_enable(struct domain *d, u32
     }
 
     /* Init the shadow memory allocation if the user hasn't done so */
-    old_pages = d->arch.paging.shadow.total_pages;
+    old_pages = d->arch.paging.total_pages;
     if ( old_pages < sh_min_allocation(d) )
     {
         paging_lock(d);
@@ -2888,7 +2874,7 @@ void shadow_teardown(struct domain *d, b
     }
 #endif /* (SHADOW_OPTIMIZATIONS & (SHOPT_VIRTUAL_TLB|SHOPT_OUT_OF_SYNC)) */
 
-    if ( d->arch.paging.shadow.total_pages != 0 )
+    if ( d->arch.paging.total_pages != 0 )
     {
         /* Destroy all the shadows and release memory to domheap */
         shadow_set_allocation(d, 0, preempted);
@@ -2900,7 +2886,7 @@ void shadow_teardown(struct domain *d, b
         if (d->arch.paging.shadow.hash_table)
             shadow_hash_teardown(d);
 
-        ASSERT(d->arch.paging.shadow.total_pages == 0);
+        ASSERT(d->arch.paging.total_pages == 0);
     }
 
     /* Free the non-paged-vcpus pagetable; must happen after we've
@@ -2959,15 +2945,13 @@ void shadow_final_teardown(struct domain
 {
     SHADOW_PRINTK("dom %u final teardown starts."
                    "  Shadow pages total = %u, free = %u, p2m=%u\n",
-                   d->domain_id,
-                   d->arch.paging.shadow.total_pages,
-                   d->arch.paging.shadow.free_pages,
-                   d->arch.paging.shadow.p2m_pages);
+                   d->domain_id, d->arch.paging.total_pages,
+                   d->arch.paging.free_pages, d->arch.paging.p2m_pages);
 
     /* Double-check that the domain didn't have any shadow memory.
      * It is possible for a domain that never got domain_kill()ed
      * to get here with its shadow allocation intact. */
-    if ( d->arch.paging.shadow.total_pages != 0 )
+    if ( d->arch.paging.total_pages != 0 )
         shadow_teardown(d, NULL);
 
     /* It is now safe to pull down the p2m map. */
@@ -2977,13 +2961,11 @@ void shadow_final_teardown(struct domain
     shadow_set_allocation(d, 0, NULL);
     SHADOW_PRINTK("dom %u final teardown done."
                    "  Shadow pages total = %u, free = %u, p2m=%u\n",
-                   d->domain_id,
-                   d->arch.paging.shadow.total_pages,
-                   d->arch.paging.shadow.free_pages,
-                   d->arch.paging.shadow.p2m_pages);
-    ASSERT(!d->arch.paging.shadow.total_pages);
-    ASSERT(!d->arch.paging.shadow.free_pages);
-    ASSERT(!d->arch.paging.shadow.p2m_pages);
+                   d->domain_id, d->arch.paging.total_pages,
+                   d->arch.paging.free_pages, d->arch.paging.p2m_pages);
+    ASSERT(d->arch.paging.p2m_pages == 0);
+    ASSERT(d->arch.paging.free_pages == 0);
+    ASSERT(d->arch.paging.total_pages == 0);
     paging_unlock(d);
 }
 
@@ -3000,7 +2982,7 @@ static int shadow_one_bit_enable(struct
 
     mode |= PG_SH_enable;
 
-    if ( d->arch.paging.shadow.total_pages < sh_min_allocation(d) )
+    if ( d->arch.paging.total_pages < sh_min_allocation(d) )
     {
         /* Init the shadow memory allocation if the user hasn't done so */
         if ( shadow_set_allocation(d, 1, NULL) != 0 )
@@ -3049,10 +3031,8 @@ static int shadow_one_bit_disable(struct
         /* Get this domain off shadows */
         SHADOW_PRINTK("un-shadowing of domain %u starts."
                        "  Shadow pages total = %u, free = %u, p2m=%u\n",
-                       d->domain_id,
-                       d->arch.paging.shadow.total_pages,
-                       d->arch.paging.shadow.free_pages,
-                       d->arch.paging.shadow.p2m_pages);
+                       d->domain_id, d->arch.paging.total_pages,
+                       d->arch.paging.free_pages, d->arch.paging.p2m_pages);
         for_each_vcpu(d, v)
         {
             if ( v->arch.paging.mode )
@@ -3082,10 +3062,8 @@ static int shadow_one_bit_disable(struct
         shadow_hash_teardown(d);
         SHADOW_PRINTK("un-shadowing of domain %u done."
                        "  Shadow pages total = %u, free = %u, p2m=%u\n",
-                       d->domain_id,
-                       d->arch.paging.shadow.total_pages,
-                       d->arch.paging.shadow.free_pages,
-                       d->arch.paging.shadow.p2m_pages);
+                       d->domain_id, d->arch.paging.total_pages,
+                       d->arch.paging.free_pages, d->arch.paging.p2m_pages);
     }
 
     return 0;
--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -809,7 +809,7 @@ static void cf_check sh_unshadow_for_p2m
      * If there are any shadows, update them.  But if shadow_teardown()
      * has already been called then it's not safe to try.
      */
-    if ( unlikely(!d->arch.paging.shadow.total_pages) )
+    if ( unlikely(!d->arch.paging.total_pages) )
         return;
 
     /* Only previously present / valid entries need processing. */



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 13:25:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 13:25:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467883.726934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7z67-0003pP-Sg; Wed, 21 Dec 2022 13:25:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467883.726934; Wed, 21 Dec 2022 13:25:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7z67-0003pI-Ph; Wed, 21 Dec 2022 13:25:27 +0000
Received: by outflank-mailman (input) for mailman id 467883;
 Wed, 21 Dec 2022 13:25:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7z66-0003Di-2u
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 13:25:26 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2089.outbound.protection.outlook.com [40.107.249.89])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ecf178b1-8132-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 14:25:24 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8610.eurprd04.prod.outlook.com (2603:10a6:20b:425::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 13:25:21 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 13:25:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ecf178b1-8132-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QKS3DpjHRFu7eTVeb1my0sbj8LQjQlJ9u0VLMI0ZWhqQtriYFB6uQjKMDQPbZbvSdNEvN1rHw5M+b7Z1RDNEUS6y/Ku9I2aU/cv0VbnJDD6n16Y7QZgoV0E5pMbgiGgJE26D5gSCkqFBmc5AwHFdev0jwZuA4xSDhi5OGs48nxGV7E7oM7a4FzFSe8Aaihg3Y2pjp5cOtANET0mEnxQrVXUY98JQpvjStKHL1vNE+Mfp0E1U6qXpF3oIWpIilZDwsz7ETLtlR8TiWrBYmYBljosX+x5qgPIrrK7RKfJQRSlvW7RxIu9iK07FWzoBicFmdarIO+9ddW+9zJttXZMwVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jRn3ptmgQ2T1waA/6n6LdzW2l6WqDKNqZIo99H92QZU=;
 b=Vl/6bAiSq1G0APxADm88/y65y0chLV3lEQCeBpPivgt44AWhIpgnkUEjX1U8YLZSZiWH73LYaLY74bq5TyrZR+0CgrCDsXL1CA6WtMcaK63Mfr98fQaEVY3RaVNRqtATwN/Hx30QEFlDkCJ0ejqnCYlugvhzGdTE7vw526vw5Gx0/Q0EVjopOS/kUGZl9XKDNAs/uibTJAg4sm3/+23cp2SpaDG7ZDQKUoShS7BTsYFZpgkdQZGnhVjsKzag2cahMYlapnGFTEoX4Ym9AFAMee7zjp1MA86u7gff0ZErL89cKdxg49xmhXLHritrOy8j6eMz5uw9pbjZ8/MYuyvQVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jRn3ptmgQ2T1waA/6n6LdzW2l6WqDKNqZIo99H92QZU=;
 b=HXsirKOkW0PC57tQ7AHFFEZD84QzctJije7da3nhF0vMo0Wmt6/6BpCtD+dzlqPoytwYeS7L8KNBzG9LBrNT/ddI0guphKWmdsqjaAo1WOuVHqvkKuKT6tcDnOn42cOFJ00p5A7nwOMLe/HsdczKc+JSCF7UD8bV9e9TQNqtFW2oS6bqSlhBK+4sS4xcolCzFmhbyAplGeihgFIGMs7xY8sn1s62kvWUFHg7S/aO1R4bDLOYCmARgJUdBhjwG8ql1J1YI5rQwYI4ovpSKnNIUv8laHYMGp0Q6go2Gzq3TsM+w93Y3BMEpkR9/xrdWG4b2jPsrsv5kXNFThi6xyHyeA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8d519e00-83c6-aee9-e7ba-523aa4265e1e@suse.com>
Date: Wed, 21 Dec 2022 14:25:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: [PATCH 2/8] x86/paging: fold most HAP and shadow final teardown
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
In-Reply-To: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8610:EE_
X-MS-Office365-Filtering-Correlation-Id: 1cd98313-74f6-44aa-0ea2-08dae356cf9f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yUc+bDBZJI2axKq2+y8wY5mDQh4mPnR6FW1wUPRcBGj+Jh3P6yMz1WeKr3uyTJ0y2d4+CqIjNmt3XyH32FR4zyEfKbm52Zdf9dshak2Uw/8/vbtLSt1qFummkt7BpSU71blFDQR6TI8d4qXvm7kIF0UJo5/PnwJ6+751+olpCipVPZzbo4IW476+dKf4b91FNxLMJcZdmhatRPcvYkYsSbQ/5b2NanwfbY1aSPM8iZi8isOxARV8FpvdY4Ek771EfCIErjfGYfLPHDfgOH2GCMWi4T0bl//jaoydrFv8iDKOsJFenrCPnEaHMchq+KYTBvzM/1zZie7Vve7NrXIVXgBM2OVIltnzhKHB2jSpRljfIOa4bzQo7oMuiVEn8PdzpR5SAjgiPiv3bnEY5GsVqUFWJjQ/Xr9j9doO2r8hFws+B2sunSFT8nVSDFoAcBzX3cw6Tdi2aG8V26iShM7qOqQGSuZfnDJr/aY0+O6wEvuCu/NsUfvxomDMaf1mYf3LdAgp1+YO8G4z/OiIjEOVkHwp5OGR8Z/HnDjItdxTHc26yTg6k0v5HuosuMuDe/27/XyGMi1YLGUh9/9ItC0JAywZG2fQ3L81Jovw079M0Ac/oiWzIqDEsksa9RvQsdEWFJ2PEZ5xuPM4OuT4qGnF8SbVT0cqqBn9qvcNG4WSOAuBIZ0M2yuEuNOQkTbvzHCU6kMbKbSkV3wX5DAApkg1w9U3Hx+mF30QQDpiPO1SjIo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(136003)(396003)(376002)(39860400002)(366004)(451199015)(31686004)(8936002)(8676002)(66476007)(86362001)(4326008)(66556008)(5660300002)(66946007)(316002)(2906002)(41300700001)(6916009)(54906003)(2616005)(83380400001)(31696002)(6512007)(186003)(6506007)(26005)(38100700002)(6486002)(478600001)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VHNQcW8vVjhUNnlGWG81YWZ5blplVDFkQnVTMmhFYVZITUJFS2wyRWUraFNx?=
 =?utf-8?B?eW9EM1RaakkrTHcyelJ3blhXYUU4V1lOK24rMnNsbVZyYndaWFNmbGwzZDln?=
 =?utf-8?B?M3R1aGxrRXpSdmlsOEpFNEFYVTFSREwxYkIxQnVaRHduak9jR0ZORmxRRWhx?=
 =?utf-8?B?M0dzbG11bkozS1JpU0VKMklHQWQwK0tmclJjNk5SZ1BiSnJBcUlUNFlib3gx?=
 =?utf-8?B?RjlXemo0REtmbjg5OWdFa0x3N3FsZ01GbzVLWFVFWTk4V2dNaHZweDdhQW43?=
 =?utf-8?B?dnM0akRWRlIwanJwSUpqTnBYQXlYUXFXQi8yMkdEa2RGMUhNc0NwK2dpaUJV?=
 =?utf-8?B?WkswcExwZ1l0Z3RXdHR3NUxocUxrbTdrUUI5MUF4a0pBemZqZDRHTmNGb0l5?=
 =?utf-8?B?ckkwWStwbmZhY1phZlVXdVZDbCtyaHZOSXBxWGVFSm1BVHo0azlRSlpZZjNV?=
 =?utf-8?B?VC9qbzh2dUgrYVlPNFNXbGR5eEZwQlZ1RTlVSCs1U3hXM09jNkZ1WWlmRFZP?=
 =?utf-8?B?Zm1Ba09BK2kzcVZpcjJSdXFNUDBvK0JwYUVwUzYrOWV0eTExZkt1YVhHczg2?=
 =?utf-8?B?UEp4RXNFYWYwU1lQZHZMMXpnUElJK1pDTFpqbUxJUklDZjNneE0xMzlBWGx0?=
 =?utf-8?B?Rko5c0VEWHFjeU9JTm5qNTlqWjVIRmQxVjhuTy9ZdGU0NEI3dTJpeGZmVkFa?=
 =?utf-8?B?Q0dPL3JoVkdxbURSUFlycG1ScFQrUXhUUkwvcmlsR296NWhtQkUwazVLVXU5?=
 =?utf-8?B?Z3E4cWhFNENTUlhCbzlaVFd0dG1vWXU0czQxKzNldU5CWVhielVZVldnK1M2?=
 =?utf-8?B?dlMzM0xPR2YwRyszaDBoYS9UcWZzNWhGMEFDVU1vUHBhc1NvOUluYmdQLzlI?=
 =?utf-8?B?RFo5REkyNHJFVlliYkJLbEFINTFpMnM4TjJVVC81b0tCeUY5b0NHeW1yWWYz?=
 =?utf-8?B?ZUdvbUIrVGl2ZmJxRHliOXpOaStmM3RENXRldHh6b1JKS0hGRTkyWkhiYkpS?=
 =?utf-8?B?d1hpK21sMkI0MHlPemlRQ2p5UTJqNXgxK2hsVE8vcmozcXVLcHVzK1BwMWF6?=
 =?utf-8?B?QU9WUVU3Z1NndGtpemtRMjNtZ1NEUlRVaTZMdFFDTk1jMU51QWJkVVU0a1Ba?=
 =?utf-8?B?Y014MTJpUytBeGxEc1FwYTRjWjFmQU95RkFrSitlOWt1d2Q1SW1BQ3ZSVk9T?=
 =?utf-8?B?MDlZWnFDODJkL1VPdDlXVnN0MmROZDRZU0lWbUhpN0s3RnZCdGJIbEIvcFhS?=
 =?utf-8?B?NGo1Y2JObVhSYkpsQ1d2M3BkUlZZVEtGRUFRYnZWbWhjKzU4OWdrSlpZVk5m?=
 =?utf-8?B?d3MrcEwzaGV1SjJJT21IblRlS1RKUjVpZWFOYlBBYzE1N0wrMFBQTFQzOHBJ?=
 =?utf-8?B?RURyTFl5NE16NlQ4UW1lV2gwb2xCWGVJZUNRYW1tckQ1SXY2bCt6YWl1VCtj?=
 =?utf-8?B?WHRRaU5zMHd5M3VZWXJiTm9nZFl6bUJ3ME9RaEhQUUk3KzN2Um1US0dRR3pC?=
 =?utf-8?B?VGpuVmhKbklTUk94WkppOTNCakJDc3ZVUU5YUzhkU0swYTdBTjJ6azY0bk42?=
 =?utf-8?B?ckMyakExMUhmeUpiclFCSEYvNEE5L21MWWVsOWcwamtrbnNpZnlwVSt2akZa?=
 =?utf-8?B?UzlVbnRmZlpkeTlXRnFXdXUrSTdWTExMRHZpd2JjVjd4UDlvbXlXcVlnSXBk?=
 =?utf-8?B?bmR0L2V0TzkwY3FOTHlIdEorOUlXOWRIR3dDQ0tkY3czR2djRUpkL2E2aXNm?=
 =?utf-8?B?VStHdDVtMW9NelgyenZ1bXk5aDltMmpJdjVhMkt5Zm1lZHdyYzZXaTRyRUZV?=
 =?utf-8?B?bEsyb0N4QU51V0dCR3dSNFc1YmVYL3ViUGFGaFpnbzFSWWVBN0VWMWRRZjlK?=
 =?utf-8?B?Z2I5T0laUktNNmw3aFROK1BQY0RHMUxnQ3gyOWg3d1Q4MDF1aFloQlVRV3BY?=
 =?utf-8?B?TEhYR3grc2xPa21kTjM3cDZULy8ySGtBdjhVRHBWOTlnZjJXSk1uM0luRWNp?=
 =?utf-8?B?VCt1d3dlSlBNL2hvL1hUTU5lSnhOKzRaWDcwcE1WNWpCSWRvTTQ1Y2thcjV4?=
 =?utf-8?B?YUZyQUF4L1hFOFZZcmdnQktSQW5TS3QxNHVQQmpoTUxUb2xQYWdHSG01VnEz?=
 =?utf-8?Q?zZAna+lZWUNSYpiMTU4OLatmU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1cd98313-74f6-44aa-0ea2-08dae356cf9f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 13:25:21.7440
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Wf+fYUmmBlmLwlp0Jrg/bEaqydI5Hz3LyjuBo/GD+GrKj25x3GWDY/X8FRY/H+zAFYWp8bcgv8z6IYNXYUwBPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8610

HAP does a few things beyond what's common, which are left there at
least for now. Common operations, however, are moved to
paging_final_teardown(), allowing shadow_final_teardown() to go away.

While moving (and hence generalizing) the respective SHADOW_PRINTK()
drop the logging of total_pages from the 2nd instance - the value is
necessarily zero after {hap,shadow}_set_allocation().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The remaining parts of hap_final_teardown() could be moved as well, at
the price of a CONFIG_HVM conditional. I wasn't sure whether that was
deemed reasonable.

--- a/xen/arch/x86/include/asm/shadow.h
+++ b/xen/arch/x86/include/asm/shadow.h
@@ -78,9 +78,6 @@ int shadow_domctl(struct domain *d,
 void shadow_vcpu_teardown(struct vcpu *v);
 void shadow_teardown(struct domain *d, bool *preempted);
 
-/* Call once all of the references to the domain have gone away */
-void shadow_final_teardown(struct domain *d);
-
 void sh_remove_shadows(struct domain *d, mfn_t gmfn, int fast, int all);
 
 /* Adjust shadows ready for a guest page to change its type. */
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -268,8 +268,8 @@ static void hap_free(struct domain *d, m
 
     /*
      * For dying domains, actually free the memory here. This way less work is
-     * left to hap_final_teardown(), which cannot easily have preemption checks
-     * added.
+     * left to paging_final_teardown(), which cannot easily have preemption
+     * checks added.
      */
     if ( unlikely(d->is_dying) )
     {
@@ -552,18 +552,6 @@ void hap_final_teardown(struct domain *d
     for (i = 0; i < MAX_NESTEDP2M; i++) {
         p2m_teardown(d->arch.nested_p2m[i], true, NULL);
     }
-
-    if ( d->arch.paging.total_pages != 0 )
-        hap_teardown(d, NULL);
-
-    p2m_teardown(p2m_get_hostp2m(d), true, NULL);
-    /* Free any memory that the p2m teardown released */
-    paging_lock(d);
-    hap_set_allocation(d, 0, NULL);
-    ASSERT(d->arch.paging.p2m_pages == 0);
-    ASSERT(d->arch.paging.free_pages == 0);
-    ASSERT(d->arch.paging.total_pages == 0);
-    paging_unlock(d);
 }
 
 void hap_vcpu_teardown(struct vcpu *v)
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -842,10 +842,46 @@ int paging_teardown(struct domain *d)
 /* Call once all of the references to the domain have gone away */
 void paging_final_teardown(struct domain *d)
 {
-    if ( hap_enabled(d) )
+    bool hap = hap_enabled(d);
+
+    PAGING_PRINTK("%pd final teardown starts.  Pages total = %u, free = %u, p2m = %u\n",
+                  d, d->arch.paging.total_pages,
+                  d->arch.paging.free_pages, d->arch.paging.p2m_pages);
+
+    if ( hap )
         hap_final_teardown(d);
+
+    /*
+     * Double-check that the domain didn't have any paging memory.
+     * It is possible for a domain that never got domain_kill()ed
+     * to get here with its paging allocation intact.
+     */
+    if ( d->arch.paging.total_pages )
+    {
+        if ( hap )
+            hap_teardown(d, NULL);
+        else
+            shadow_teardown(d, NULL);
+    }
+
+    /* It is now safe to pull down the p2m map. */
+    p2m_teardown(p2m_get_hostp2m(d), true, NULL);
+
+    /* Free any paging memory that the p2m teardown released. */
+    paging_lock(d);
+
+    if ( hap )
+        hap_set_allocation(d, 0, NULL);
     else
-        shadow_final_teardown(d);
+        shadow_set_allocation(d, 0, NULL);
+
+    PAGING_PRINTK("%pd final teardown done.  Pages free = %u, p2m = %u\n",
+                  d, d->arch.paging.free_pages, d->arch.paging.p2m_pages);
+    ASSERT(!d->arch.paging.p2m_pages);
+    ASSERT(!d->arch.paging.free_pages);
+    ASSERT(!d->arch.paging.total_pages);
+
+    paging_unlock(d);
 
     p2m_final_teardown(d);
 }
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -1232,7 +1232,7 @@ void shadow_free(struct domain *d, mfn_t
 
         /*
          * For dying domains, actually free the memory here. This way less
-         * work is left to shadow_final_teardown(), which cannot easily have
+         * work is left to paging_final_teardown(), which cannot easily have
          * preemption checks added.
          */
         if ( unlikely(dying) )
@@ -2940,35 +2940,6 @@ out:
     }
 }
 
-void shadow_final_teardown(struct domain *d)
-/* Called by arch_domain_destroy(), when it's safe to pull down the p2m map. */
-{
-    SHADOW_PRINTK("dom %u final teardown starts."
-                   "  Shadow pages total = %u, free = %u, p2m=%u\n",
-                   d->domain_id, d->arch.paging.total_pages,
-                   d->arch.paging.free_pages, d->arch.paging.p2m_pages);
-
-    /* Double-check that the domain didn't have any shadow memory.
-     * It is possible for a domain that never got domain_kill()ed
-     * to get here with its shadow allocation intact. */
-    if ( d->arch.paging.total_pages != 0 )
-        shadow_teardown(d, NULL);
-
-    /* It is now safe to pull down the p2m map. */
-    p2m_teardown(p2m_get_hostp2m(d), true, NULL);
-    /* Free any shadow memory that the p2m teardown released */
-    paging_lock(d);
-    shadow_set_allocation(d, 0, NULL);
-    SHADOW_PRINTK("dom %u final teardown done."
-                   "  Shadow pages total = %u, free = %u, p2m=%u\n",
-                   d->domain_id, d->arch.paging.total_pages,
-                   d->arch.paging.free_pages, d->arch.paging.p2m_pages);
-    ASSERT(d->arch.paging.p2m_pages == 0);
-    ASSERT(d->arch.paging.free_pages == 0);
-    ASSERT(d->arch.paging.total_pages == 0);
-    paging_unlock(d);
-}
-
 static int shadow_one_bit_enable(struct domain *d, u32 mode)
 /* Turn on a single shadow mode feature */
 {



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 13:26:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 13:26:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467890.726945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7z6f-0004M5-5y; Wed, 21 Dec 2022 13:26:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467890.726945; Wed, 21 Dec 2022 13:26:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7z6f-0004Ly-2S; Wed, 21 Dec 2022 13:26:01 +0000
Received: by outflank-mailman (input) for mailman id 467890;
 Wed, 21 Dec 2022 13:25:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7z6d-0003Di-16
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 13:25:59 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2079.outbound.protection.outlook.com [40.107.247.79])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 008fbdc5-8133-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 14:25:57 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8214.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 13:25:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 13:25:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 008fbdc5-8133-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JwL6Df3YszTBwlGv1OlA0hSp4q0z+MRE9/YqhmKZs6TXuFk/OdguBj1OL+ZgyTbx/RScA695xZpzgTqAebhBnQK/jFVnbCZWu1CuyQBjozP4q0tv3oTrAl94Td41OkcS9VTRFAmntoawAigysQUIoLM0FnH4SqwuU+JIY1g/A6MC+B6/5umF9YYmqAXgYJilIaH9+L8w3KqDb9V0zxVxfbUTxnkwrXiqOyJ4F7LcYG93KWGy+XLBL+nMYZ+MEMGKOjDfjYrnd0ddZ+xHRufXapkR5woTUgR3CiSqBJEgcqMWAJF3g2riXcaIE/vo9r2S57sPRXMaTiag2ofKAHKqOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rldcuhOARHmNVJ4bzrBkzU00bPLVpOspDoSIIfszq5Y=;
 b=cm4xxDUprR0GNH954Gz7SeIsiE+gKtQIkA67oz9UC2dpcgisbWcJGp051B1b3Px1cTfv3q8SQmYgqYtjExgVIr0cTJfoY+Krspz5McJsXN9+72BR2k+VPxZYhA2cmydDfVijjvjm2tDXcF+f6TFi0Dm5u1M+ZTzztXV/QL5uucUq8zneylFYRGPkdOoMIpwUJv6Mu7sc7zB2gDxUUIWmb2cmrcPbmQa22ENxQgJK8TEGtK0WrhlhRJDf5h21g+FVKS9WiPZe5NFmDPALfpZCsNolC4VQ5+qODOTPy6DiNArdg+XYFyBgdO24PUJdRFfFZox0kK0PEQDaD9riblq+Zw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rldcuhOARHmNVJ4bzrBkzU00bPLVpOspDoSIIfszq5Y=;
 b=CAXnM6HXdxR+HsV0AFUmPlv56Vs446+uKNFUuvMJYGYMHTyJ/i6m7zvyFQqU+sDmG9+9f5J3HRZ07m8+A525M845q8bEN9ApEUeVvzAeZqi3G7x74ny+Ozs0TNbGKh2woaKXeLaREBcKJozCy/huq32/LdCjDdcCa2wNTkXxc+nDrGkd8Wq6jIa+qnTfM8/pp9pOJH1jS83e4ypGqgIY04RqdVn1P+yxMM6zgez3Ef0+gKfxVt1ynIbYfCG6Jbw65RiBz01FYRFJp9B8TO6w/Q3014/kC2szxSin3ykaREgsHzLe5Qvpd1Pb9xWhQcyd3AhsLSpDwCVwE0yptY9nGw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bee2d51f-534e-f6e2-6385-70f8597eac1e@suse.com>
Date: Wed, 21 Dec 2022 14:25:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: [PATCH 3/8] x86/paging: move update_paging_modes() hook
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
In-Reply-To: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0064.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8214:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ba18161-67f4-4766-ff8f-08dae356e44d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jvm8ZuL2nffqZFD8YXA+47EEtExRGfXTs9JlbW1qDfrgUDmfqo+ml0U8nMxCyBupy2FJQwHQ9jmsdZtt+gkwHNY0J6wLm+QWTTOrlfUKPjSPXqHWfVcJ9izlaUzk4LJSBU01iWiRJPABusssv6TG+uGXWwv2d6MZRqeed9gVuz1E62GzflhkUbakZMV4hx6Xk/tO+eKEBps0LWwYW11AQ4O7kMn4vX1qloEGspKFLjIYGi71VcSfnhOlQWTcoc8Od0ta83Mf5MxJRHjT/Cf2Ru1Hv0KbdCaVpQj/BRaeAW/dhJdB+WYSYqrot3j8Nb29NmdZMKBh7ci7E5vh5eMMKPYuf58v7m5WBqbCgwUKX0d1FrMVVDXwmdHka5tc5oWOAwbD6JHCUY+mjAjC4FbRHOUyOTokOYO2TI65jSX3J/2IVXG0O8Sjtm5Bb8AfPl7VgQHb+elI6W6L09s6bbhHu18oI7s5i5FkOYjS9MUHH3SbAGWPfIBJaON/wOjtTGfZlAIbdcFXCnMDPH8ZJmkukBiWVef+8Jco4XLRX8wYcKh4SRu8UihDBqnszA6mNBMzdaeAwi9TRjab1LIyl8CClLZWzv9J5VZXThke6029e/nuWTDAhJHSsM1n472VzeotnuicRsPewAu0rbu3bNZ2xDObEh1/8u0Oa7AE7KUiVqVJcGmqSzj7eyJVK4PBOON5kW/X58/K7KW1tpQ4524zXq0gTJDudu70kTx/JHws+Ok=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(346002)(39860400002)(366004)(136003)(376002)(451199015)(186003)(38100700002)(8936002)(36756003)(83380400001)(6486002)(6506007)(2906002)(15650500001)(41300700001)(54906003)(478600001)(6512007)(26005)(6916009)(66476007)(4326008)(5660300002)(86362001)(31686004)(8676002)(31696002)(66946007)(2616005)(66556008)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVRnaWpDUDEvUTdCNnFjWW5QeDBMeU1XcURQTEdHME51Tm5ac2JMUjBLWEVq?=
 =?utf-8?B?emdGYnRsaDlTSkttOWdMVCtPOHEwUnRkQWZjWGIvbTltMTVtcHZ4RjlLb3N5?=
 =?utf-8?B?cGczRkNXalM0SW9McktRUEJmYmk4dDNuaUs1Skx4VXUxWGZsVm5VNU41T0dC?=
 =?utf-8?B?OW95MkhleERhcENBMWM4WVIxL3ZHL1pFVUl6dlFQNDYvSUM2bmJpY003Qlor?=
 =?utf-8?B?QXplbzBYdS85NG9tQVIxWnZNWEg3RHJmOTl5N2hXWDJuV09ER2VOVkJQNkJM?=
 =?utf-8?B?TW0rcERTYXFRN005ZGEzREtRVC8yQUpBakhhTDVaUldraUZZUmxORXloQzlK?=
 =?utf-8?B?K3lzc1pmdFNrRGM3eXQwY2RySm5RbkhMdmpUcnRqYy9PdjcweTJFeis2cnZL?=
 =?utf-8?B?ckVJR1AzZkdtdmRpVDNsNkNpaDN0WXMwWW9naHpJNkVNNGw5aXU1Y29yK2ZS?=
 =?utf-8?B?VVUzZmRCa1pBRUpZdUN3QmFVWE5RWXhrMlFFOFV3d0tjbmhuMit4UUREc0hW?=
 =?utf-8?B?NVo4dlM0Uk9OVXMrbEJsckZPQytyWVBQTzJWOTRPSHAxU2FlSVFIdzNQZWw5?=
 =?utf-8?B?VEMvYzdXbUl3clB1alZ3MGtRaEthOFkwZEdOVDcvMDl5UFpDZlJWQmhzdGha?=
 =?utf-8?B?U2R6eCt2aGlic3JtSnR1azFpQUZjNFYzTTNLVlBQdUsxU0V4WjZ4TWZIalg0?=
 =?utf-8?B?M2xIRDhZNktQUE5xV3BTYmd0WGpiM2c3STlCUEZhbEIrN0VDcFhrNFhRUHVK?=
 =?utf-8?B?czA1dFppajRLb2luczJiSkRpNy8vNmlXTkFSVnJBekUzOVpHVHNGVDdWV2Rz?=
 =?utf-8?B?NzZBczlSalBUcGpjOTVEWHVxekpQdWFqOVhGSGsySDdRLzNpdmxjWEgvWFk0?=
 =?utf-8?B?TlZzTnRsb3lOZy9udnlOQTlKbDZLeEo4U1hvS3c3QkxyZGpUWlRkblFWSjdD?=
 =?utf-8?B?cU9adDBIWW1kemsrRitmWUtPMGU1ZTNpNW1GdURJWXNQVEhNL21IQWxoeHRM?=
 =?utf-8?B?dVYzaExZSnFsekN4SWpwdDVXUUlXM01pWEE0bVdkSElsZVhjVG1NQ21FeGxN?=
 =?utf-8?B?VzRlM1NDN0tWdjJjU2ZUSHA4L0pkVnpaOXJQZGo2OXg2TitrT1FNOHc3NW1S?=
 =?utf-8?B?TzNFeVB4SytJSzJvUFJZazFUSk9xaFRianQvMi9sZ3BUV1NXbXdhWDQyWXRy?=
 =?utf-8?B?VXhqaW1NNHpGRHJwRlBINmVuTnhLVk9XTWFEMVhJSEdXN1BUbXZBeklCWG1I?=
 =?utf-8?B?L1lSWlpWNjY2TlozMzRaQ0ROTjV1UVlFQzhYMHNzbVAxQUNVaTZGM0pTODdO?=
 =?utf-8?B?c2Q3L2t4QXBUWTRlTnFlK0Y5UWsxekxDQnpGYm9ZbFZPQjllWk11VFNMZnVl?=
 =?utf-8?B?R01GRnFMeUtVM1NXNFFiZlRodW9oQ0FlZVhocnFXZWM5U1VvN3dxd2hSZlFN?=
 =?utf-8?B?dldnY3FFdzJzVmFML2Y2NzFiZEgwRENRN01MeGFrdHduWXpHUitUR3FKdU85?=
 =?utf-8?B?RmNuVThDVzJQcVBMcU00SlE5RnNlVk0wRk5FQVhaOEpZc1pOUXZaZ0syallL?=
 =?utf-8?B?ZDQyZ2NxdTdjTWt3enM0S05zZExTOC9KNDhHNUZvcmsyU3Z5dVlDZzBHaEFk?=
 =?utf-8?B?OVI4R2ZJT25NSUpaZGJpd3FBZ0JSeDU1NXNvc3IvSkVIMDhFckJ4SDRsTG8x?=
 =?utf-8?B?Rzlqd0UwTG1NdHJzTFpTZE1HWkw1YVJtenBJbS9Qdm5kdnRlemR6VlZTb3Jr?=
 =?utf-8?B?R1ZrSXlXK2IzUW9RWVpZUWFkM1FQeG5KcHo5enJqVStBQ3JmSDZ3KzFQaW9j?=
 =?utf-8?B?MkZQakw5NHFLdFBTNTNBbVo4VldkajB6NU5SU1M0MEYvWGtBeUF6cEhDQUFC?=
 =?utf-8?B?cFhXM3hHRndSb3pLSzluRzI4SmZVZzk0cFpFV3UrK1h5WVpya2c0bFZ5bnZ6?=
 =?utf-8?B?eERpNm5CYk9LRGJDbG1ZSGgvTnRJdjNaWG5kNGk1TEJPbnpwN3N3WURwNHFZ?=
 =?utf-8?B?YXJFSDhkMFFqd0xzcEM0Ny9JQlhxeU5UdU1icnN1WTREcndISGx0UTBXcGFs?=
 =?utf-8?B?Nk9tYzRjVjhRMTVzSWpkbHozZ1ljNE5yK0prZVhET3grbkg1MTVXR0hyU0JI?=
 =?utf-8?Q?2T3eYGjrs9SQH8IAcOU05xN+6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ba18161-67f4-4766-ff8f-08dae356e44d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 13:25:56.4605
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3sBkT6E3xT3gwuhXurq8ZZGOo2VqsoruiISx6YYQB7nRXtLXBgNtkoR6myceQ/M7i5iznwKTTFu3wgC9+pAHJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8214

The hook isn't mode dependent, hence it's misplaced in struct
paging_mode. (Or alternatively I see no reason why the alloc_page() and
free_page() hooks don't also live there.) Move it to struct
paging_domain.

While there rename the hook and HAP's as well as shadow's hook functions
to use singular; I never understood why plural was used. (Renaming in
particular the wrapper would be touching quite a lot of other code.)

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -235,6 +235,8 @@ struct paging_domain {
      * (used by p2m and log-dirty code for their tries) */
     struct page_info * (*alloc_page)(struct domain *d);
     void (*free_page)(struct domain *d, struct page_info *pg);
+
+    void (*update_paging_mode)(struct vcpu *v);
 };
 
 struct paging_vcpu {
--- a/xen/arch/x86/include/asm/paging.h
+++ b/xen/arch/x86/include/asm/paging.h
@@ -140,7 +140,6 @@ struct paging_mode {
 #endif
     void          (*update_cr3            )(struct vcpu *v, int do_locking,
                                             bool noflush);
-    void          (*update_paging_modes   )(struct vcpu *v);
     bool          (*flush_tlb             )(const unsigned long *vcpu_bitmap);
 
     unsigned int guest_levels;
@@ -316,7 +315,7 @@ static inline void paging_update_cr3(str
  * has changed, and when bringing up a VCPU for the first time. */
 static inline void paging_update_paging_modes(struct vcpu *v)
 {
-    paging_get_hostmode(v)->update_paging_modes(v);
+    v->domain->arch.paging.update_paging_mode(v);
 }
 
 #ifdef CONFIG_PV
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -443,6 +443,9 @@ static void hap_destroy_monitor_table(st
 /************************************************/
 /*          HAP DOMAIN LEVEL FUNCTIONS          */
 /************************************************/
+
+static void cf_check hap_update_paging_mode(struct vcpu *v);
+
 void hap_domain_init(struct domain *d)
 {
     static const struct log_dirty_ops hap_ops = {
@@ -453,6 +456,8 @@ void hap_domain_init(struct domain *d)
 
     /* Use HAP logdirty mechanism. */
     paging_log_dirty_init(d, &hap_ops);
+
+    d->arch.paging.update_paging_mode = hap_update_paging_mode;
 }
 
 /* return 0 for success, -errno for failure */
@@ -772,7 +777,7 @@ hap_paging_get_mode(struct vcpu *v)
                                       &hap_paging_protected_mode);
 }
 
-static void cf_check hap_update_paging_modes(struct vcpu *v)
+static void cf_check hap_update_paging_mode(struct vcpu *v)
 {
     struct domain *d = v->domain;
     unsigned long cr3_gfn = v->arch.hvm.guest_cr[3] >> PAGE_SHIFT;
@@ -842,7 +847,6 @@ static const struct paging_mode hap_pagi
     .gva_to_gfn             = hap_gva_to_gfn_real_mode,
     .p2m_ga_to_gfn          = hap_p2m_ga_to_gfn_real_mode,
     .update_cr3             = hap_update_cr3,
-    .update_paging_modes    = hap_update_paging_modes,
     .flush_tlb              = flush_tlb,
     .guest_levels           = 1
 };
@@ -853,7 +857,6 @@ static const struct paging_mode hap_pagi
     .gva_to_gfn             = hap_gva_to_gfn_2_levels,
     .p2m_ga_to_gfn          = hap_p2m_ga_to_gfn_2_levels,
     .update_cr3             = hap_update_cr3,
-    .update_paging_modes    = hap_update_paging_modes,
     .flush_tlb              = flush_tlb,
     .guest_levels           = 2
 };
@@ -864,7 +867,6 @@ static const struct paging_mode hap_pagi
     .gva_to_gfn             = hap_gva_to_gfn_3_levels,
     .p2m_ga_to_gfn          = hap_p2m_ga_to_gfn_3_levels,
     .update_cr3             = hap_update_cr3,
-    .update_paging_modes    = hap_update_paging_modes,
     .flush_tlb              = flush_tlb,
     .guest_levels           = 3
 };
@@ -875,7 +877,6 @@ static const struct paging_mode hap_pagi
     .gva_to_gfn             = hap_gva_to_gfn_4_levels,
     .p2m_ga_to_gfn          = hap_p2m_ga_to_gfn_4_levels,
     .update_cr3             = hap_update_cr3,
-    .update_paging_modes    = hap_update_paging_modes,
     .flush_tlb              = flush_tlb,
     .guest_levels           = 4
 };
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -45,6 +45,8 @@ static int cf_check sh_enable_log_dirty(
 static int cf_check sh_disable_log_dirty(struct domain *);
 static void cf_check sh_clean_dirty_bitmap(struct domain *);
 
+static void cf_check shadow_update_paging_mode(struct vcpu *);
+
 /* Set up the shadow-specific parts of a domain struct at start of day.
  * Called for every domain from arch_domain_create() */
 int shadow_domain_init(struct domain *d)
@@ -60,6 +62,8 @@ int shadow_domain_init(struct domain *d)
     /* Use shadow pagetables for log-dirty support */
     paging_log_dirty_init(d, &sh_ops);
 
+    d->arch.paging.update_paging_mode = shadow_update_paging_mode;
+
 #if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC)
     d->arch.paging.shadow.oos_active = 0;
 #endif
@@ -2558,7 +2562,12 @@ static void sh_update_paging_modes(struc
     v->arch.paging.mode->update_cr3(v, 0, false);
 }
 
-void cf_check shadow_update_paging_modes(struct vcpu *v)
+/*
+ * Update all the things that are derived from the guest's CR0/CR3/CR4.
+ * Called to initialize paging structures if the paging mode has changed,
+ * and when bringing up a VCPU for the first time.
+ */
+static void cf_check shadow_update_paging_mode(struct vcpu *v)
 {
     paging_lock(v->domain);
     sh_update_paging_modes(v);
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -4198,7 +4198,6 @@ const struct paging_mode sh_paging_mode
     .gva_to_gfn                    = sh_gva_to_gfn,
 #endif
     .update_cr3                    = sh_update_cr3,
-    .update_paging_modes           = shadow_update_paging_modes,
     .flush_tlb                     = shadow_flush_tlb,
     .guest_levels                  = GUEST_PAGING_LEVELS,
     .shadow.detach_old_tables      = sh_detach_old_tables,
--- a/xen/arch/x86/mm/shadow/none.c
+++ b/xen/arch/x86/mm/shadow/none.c
@@ -18,6 +18,11 @@ static void cf_check _clean_dirty_bitmap
     ASSERT(is_pv_domain(d));
 }
 
+static void cf_check _update_paging_mode(struct vcpu *v)
+{
+    ASSERT_UNREACHABLE();
+}
+
 int shadow_domain_init(struct domain *d)
 {
     static const struct log_dirty_ops sh_none_ops = {
@@ -27,6 +32,9 @@ int shadow_domain_init(struct domain *d)
     };
 
     paging_log_dirty_init(d, &sh_none_ops);
+
+    d->arch.paging.update_paging_mode = _update_paging_mode;
+
     return is_hvm_domain(d) ? -EOPNOTSUPP : 0;
 }
 
@@ -57,11 +65,6 @@ static void cf_check _update_cr3(struct
     ASSERT_UNREACHABLE();
 }
 
-static void cf_check _update_paging_modes(struct vcpu *v)
-{
-    ASSERT_UNREACHABLE();
-}
-
 static const struct paging_mode sh_paging_none = {
     .page_fault                    = _page_fault,
     .invlpg                        = _invlpg,
@@ -69,7 +72,6 @@ static const struct paging_mode sh_pagin
     .gva_to_gfn                    = _gva_to_gfn,
 #endif
     .update_cr3                    = _update_cr3,
-    .update_paging_modes           = _update_paging_modes,
 };
 
 void shadow_vcpu_init(struct vcpu *v)
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -426,11 +426,6 @@ void cf_check sh_write_guest_entry(
 intpte_t cf_check sh_cmpxchg_guest_entry(
     struct vcpu *v, intpte_t *p, intpte_t old, intpte_t new, mfn_t gmfn);
 
-/* Update all the things that are derived from the guest's CR0/CR3/CR4.
- * Called to initialize paging structures if the paging mode
- * has changed, and when bringing up a VCPU for the first time. */
-void cf_check shadow_update_paging_modes(struct vcpu *v);
-
 /* Unhook the non-Xen mappings in this top-level shadow mfn.
  * With user_only == 1, unhooks only the user-mode mappings. */
 void shadow_unhook_mappings(struct domain *d, mfn_t smfn, int user_only);



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 13:26:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 13:26:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467897.726956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7z7K-0004yn-Jl; Wed, 21 Dec 2022 13:26:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467897.726956; Wed, 21 Dec 2022 13:26:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7z7K-0004ye-H5; Wed, 21 Dec 2022 13:26:42 +0000
Received: by outflank-mailman (input) for mailman id 467897;
 Wed, 21 Dec 2022 13:26:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7z7I-0004I8-Pw
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 13:26:41 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2054.outbound.protection.outlook.com [40.107.20.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 19bfbfdf-8133-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 14:26:39 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8582.eurprd04.prod.outlook.com (2603:10a6:10:2d9::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 13:26:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 13:26:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19bfbfdf-8133-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BqUoZ67qtEQOON11Ly4g4gWSBcXDwioQWHBlLtsSaZAQ3SGW3U+PzfMdTyVpbsRYfKyDdLCsEwOj8dEcuHV6gatjPxw851XyjhUVLovOiRXNT4uLpCK0YZNhPbj14+3J+PdMgTkrmEsO0XyQzoGzjQBZCtISNYmMKB8ewAQM7kUxxQVUknY9G/TgrcpHc3dp4l0//l52UHJ9SRvduw/k+LWdl7pSU9OpbK/sIGzAEj6wEboPIqIxDDp7IkQ0B1eF1LqzMdTCVbZZmSosdmOqepoSGOadH8tEGBDyj/Ykm4OTP/7fb1VUiEcUrRHsNNdXd9hJY3/zzernfzmgMlqK0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r07Xy42pMGGEVQDplutw+NfWm8QrmcB72FHciyULsR0=;
 b=gPltjaS1/SHfHAcoXV7SgxGLRGislKlp31HVKYoJtADDMJznspPNa5akUuoF6TK3D/y2DvTMJwL/wHVsYQmTblKi6eDvJrCSZ0Rj4dEjLPeabaOYCXPa6xuXV9S8RWdmjWQW4NGjNJFIh4tmdLkoyrII+X2jnuDRwito3NO4WCYR5MfW96I0KqZz8mgGsX6F+HQ+K2BeJNnovAEGK5s+Deq/sov/xfcO5UnFS13u2urbLIPkaUJ/wcrsoghumC0Fs4Xrtu5CJW6g7JKehKsOEyHcwtUvOogmr7NHCiEKOJXHYvguc0pwot2zK0Oo1o55T52GMXTYYlxKaEO41mRN9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r07Xy42pMGGEVQDplutw+NfWm8QrmcB72FHciyULsR0=;
 b=mgQAh+eHNV09xflz6SG+P1eaGCBTtujN7xSKVYKTVuqTgfU6Z0wsi/4DqGgYLmq8aUn/OmXOS9tGoUhZoPoA2QFNHM8Z4Jk0/JJqC/DTkvb0McuNBgGPofeVJ6ESyUY+C3xyV7RpZPqihjy0TA1MvM80FtJHC0boxiD9+rpNLnesYl+jbT4x/Q3FDl7CWSQcNJCe9BREv37tKxz93I7ZQhIhb/hr4YNQWakPAOxvZmoEQrdLceHGjS0YLdHjtNhgesAOis3GIUAwpOKE+TR013M2hSGojAs/aUpcqp/Kqk2VgqXYlI1O8G3NlvggAK2qrbR2orb2Dn/IgjER+0hWtw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <584a986e-08ea-d064-9447-ed23c6e39721@suse.com>
Date: Wed, 21 Dec 2022 14:26:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: [PATCH 4/8] x86/paging: move and conditionalize flush_tlb() hook
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
In-Reply-To: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0204.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8582:EE_
X-MS-Office365-Filtering-Correlation-Id: f49f167a-0c38-4e81-9cd2-08dae356fbbe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LN79KCfHRqYQKkt34XcYtPV2dokir+tnsskLmurLicJyN8H4Hh0xQyOx1gN16D5rAjIXEL94P29+4MBaoiTYt/kGXtdHRaY+7nk9MfMbL5e+G8Wlle/2sLdWlz43ZVzPM60emVC310t2XcxPL9BqVMbMFdHp+9BwR8SzNO0OQONtBuhUMSL6AOqpy74rwkadxuG6ToylihJMWqjXODystPnxE+Lcr3PI1io8UeNNEE9vBuXH84CwwVYRMxhE6i0veNt5gz+4blRyUL1XR8cX8Orb0BC+xmtla/RO+mQvjY6aWJUGz8iInxxKWZVzqf/oJMQh1RtrYA5VUekQPVmr0CkzXop3LRBdui3p8fspRnAd6NQ7+HEzuVtW8lOUoSH0NPrue2ll/TWjuiV10sC9wgpr3WScPCbG+JMTCWRk2SK+b9DGGLtYIO00eWNsD+chHRGcvl687nMuxFwqcaC0QuCllpHtpvtm7Ptc/ueaiNGu6jVXF1tbgP1o6+Qwkplvu1Qv2hSUHDafWkt86vxqmBECiZah7Qt+C0gi0Zw+MsoIS76ybVzwDTjJQP+Hx+P+KguFf6SXjPmaX1koBzNF+d3F1HQlZrQhuEQEM0FX7l+UluQ0eIoLGEIiOaZGbe2v3cvl72ySys037PJy05J4MEkLm1ZB8+rt0drxdbLrjHGv+0+qcDADfyFN/vYagPLqqu6veDWz3G5r11pL87KeCW6x4J8lcGltW+33bNtt6dk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(376002)(136003)(396003)(346002)(451199015)(83380400001)(86362001)(31696002)(2616005)(38100700002)(36756003)(478600001)(26005)(186003)(6506007)(6486002)(6512007)(66946007)(66476007)(5660300002)(8676002)(4326008)(66899015)(316002)(6916009)(31686004)(8936002)(66556008)(41300700001)(2906002)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z01sWTZPL0dWMlIrZFl0a3h3TmdVbytEL0NvSy84OWhwczMvZmNBaWhnN2ZP?=
 =?utf-8?B?c3RMczQzU3ZrUDZ6OW9jRnp4cmQyV0x3Z3BOSDVYWlJETWNQTjFMVG96L1g3?=
 =?utf-8?B?NXlHWHFublNiRFFwdFgvc2t5dGhUZG44NHJRNmlENmdUWjNYVDJqY2NYMlBq?=
 =?utf-8?B?cUw4eXdOREdrb2dGOVJLdVZGMHBNeHIwZ2orWmtGMHpCU3h5cVFvckQ5ZWg4?=
 =?utf-8?B?cmdMTDZJVG1uWUZNcS9mVnZGWnBZam1nVkR3V0JaaUVOb2gycVNSdGIrRWM1?=
 =?utf-8?B?MnMwOXl0dG5nMW9jZk9RTWpaK1ltU2hFR1gyc2V0bzVNcDg1MzdQOWdRdWE2?=
 =?utf-8?B?K2xDNURoTS9XOUsvQ1RqYTludXVJQWVSTjhhRUFqZUFkZHQzekEzVFFnT2JH?=
 =?utf-8?B?LzZSYkhkNkc5OWhNa2dSb2MrbmYxOVE0b0tMQXJoNU83UEpmR0plN0ZJRXNO?=
 =?utf-8?B?L0hDbWY0ZmZEQzN3Ky9lZlBDcjh2ZStKNUhkM2N4KzdzY3FGQnhmeEtBUjZJ?=
 =?utf-8?B?cGZDOU94Z0RnUVZHQXhyRlRwa20vckJITWt3M0huU3VZd2t5aDluQWNTZkov?=
 =?utf-8?B?WEF5WmZLMFlJenZJcCtHLzNnNjA2cGE4cFFuVzh1YVhhdnZSV2t1K2ZjSU1D?=
 =?utf-8?B?ZnF2LzdFUmczZHJsRUswdkoxa2FmSC9oY3c5dWswVCtZUlhQUGtWaVhaaGZ4?=
 =?utf-8?B?dTE2QVg1WTBzaHBZSVhBMjZnNnNuRHdvUE9pNWh0QUgrenJlZ0ovV0owcHp0?=
 =?utf-8?B?YTVnbGYvYm9SM2hRRVlSOUdmMndGcXhibjllY09xRGRjSHh6R045dlM4c2s0?=
 =?utf-8?B?SUFISDdGSlU0enpzQmdROXNhRStWYmZab1N1UlhibGFzeC9DbEdqTWVHUkZw?=
 =?utf-8?B?SVVIN2dVSldTb1JCeVJhc1Z4czV1TWFWaFRoQkFxMjZYQmZySWxQeGUrelZz?=
 =?utf-8?B?dTJtN0VGcGpRMDRFSENVRkY2ZTVMWTh2cE5abjNiU3J0bTJIS0JqaXJvTENz?=
 =?utf-8?B?TDUrRjNzUnArbDNCR3lnSzU0V2M5aXdwa1dRcDF1UUt0N2NxdzZ6ZkNUVjFG?=
 =?utf-8?B?QlpXZ2YyWCt6c0dNSzlHR0QvOXY4ZVNwRVNLM2Yzd1pOV2VQY3AzaVNtOWlu?=
 =?utf-8?B?UWVBd0s2MFRFMUROaVY0ajMzbVA3Z253S3dpbDA2MEhMQnR3ZUtqdUY5V1gv?=
 =?utf-8?B?a1MwMzdvcDQ3aVhTd25tUUNhMExlUHl0a3g4Rmx2WXFKbHk3bzhvUERXOVIw?=
 =?utf-8?B?V1pvMllaaUErVU9hOGlTcUtJOHhQaXF2Y3hDbWZ2RzQzZVZpMXFvMHZacTJm?=
 =?utf-8?B?WlV1Y2ZlK0tmV2JlTGFQQXEzRlBYVmp0K0czaWtyMFU0bjRyK0lCTDFnNzlJ?=
 =?utf-8?B?a0h4djhmRmVsQnZ4UmczUVNqWkdrcUgxaElYQ2VwWWlUVytSalpLRk1XUjhO?=
 =?utf-8?B?UmEwZGk2VXpjWlFmOHVLdmJwaHl5MXJjMmdqOUFIZnBKOWlmWlVBNHl5ZTN2?=
 =?utf-8?B?ajRoUml1cytXMW5sMG12aW5ybWtGZk9NU0pERjRpY0VxdDArdE9JZXJ5QkhY?=
 =?utf-8?B?QjB2djRGMW05SllqVEpoM0Zia2dTRmJYRHJTQzNzT0RQQTZrOFJ2a1RYazAy?=
 =?utf-8?B?cFpJeXVEeEJCTERGMzVoS2ZwdkRYWkF6eHNoZ3g1YkRsMGFURXplNEpDb0JS?=
 =?utf-8?B?NXJXbTBuaTNVTHlxcUZ2Mzk4aXFpMEVNZG5oeHA2enhrNmYxd1U3MEhjbWZk?=
 =?utf-8?B?TysxSzhyQmpGcGFHSEhkSUlmTHVWWlBqZk0xeGdMMGFHMXp1R1NHMHErSHlo?=
 =?utf-8?B?elJlK0kxRHU2alB4dXByQ21WSHBaRGZ2MFRvR3NRYWxHK3BLR0ZOSHVxOHBR?=
 =?utf-8?B?SGc5RzI4QzRmWVlXSS82aFFXdExiU1ZOWVVyVldXdEQzd0tPeXcwVHFOZ1BH?=
 =?utf-8?B?YXRrUjVuOEFOWFNQeVZGZkNvWEZ0RVp6MWNnelFrdTN3aXhjeE04RzVIV25Q?=
 =?utf-8?B?RGQrSUh2eWF2Z00ySW9kWmlKU2hLa2lSNlV2UTRTazV5Q0VndHE0a0ZtSld6?=
 =?utf-8?B?RXEvekpMN1BxWWVYVlJGKzMzaEdlZEEzMUJPemxRNkxyL1prRnUxWVk4OU1M?=
 =?utf-8?Q?3j4MuTxNetE1AvTJXPCVwMCx8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f49f167a-0c38-4e81-9cd2-08dae356fbbe
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 13:26:35.7393
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /ssBx8hmaHvfkmcAHSUOFJZ+9jZGGTDA5Z9tLxG866td7caX28oDoWlmv1WC7bAGKHSwzGioBSVGMeJRs4qnIg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8582

The hook isn't mode dependent, hence it's misplaced in struct
paging_mode. (Or alternatively I see no reason why the alloc_page() and
free_page() hooks don't also live there.) Move it to struct
paging_domain.

The hook also is used for HVM guests only, so make respective pieces
conditional upon CONFIG_HVM.

While there also add __must_check to the hook declaration, as it's
imperative that callers deal with getting back "false".

While moving the shadow implementation, introduce a "curr" local
variable.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -237,6 +237,11 @@ struct paging_domain {
     void (*free_page)(struct domain *d, struct page_info *pg);
 
     void (*update_paging_mode)(struct vcpu *v);
+
+#ifdef CONFIG_HVM
+    /* Flush selected vCPUs TLBs.  NULL for all. */
+    bool __must_check (*flush_tlb)(const unsigned long *vcpu_bitmap);
+#endif
 };
 
 struct paging_vcpu {
--- a/xen/arch/x86/include/asm/paging.h
+++ b/xen/arch/x86/include/asm/paging.h
@@ -140,7 +140,6 @@ struct paging_mode {
 #endif
     void          (*update_cr3            )(struct vcpu *v, int do_locking,
                                             bool noflush);
-    bool          (*flush_tlb             )(const unsigned long *vcpu_bitmap);
 
     unsigned int guest_levels;
 
@@ -300,6 +299,12 @@ static inline unsigned long paging_ga_to
         page_order);
 }
 
+/* Flush selected vCPUs TLBs.  NULL for all. */
+static inline bool paging_flush_tlb(const unsigned long *vcpu_bitmap)
+{
+    return current->domain->arch.paging.flush_tlb(vcpu_bitmap);
+}
+
 #endif /* CONFIG_HVM */
 
 /* Update all the things that are derived from the guest's CR3.
@@ -408,12 +413,6 @@ static always_inline unsigned int paging
     return bits;
 }
 
-/* Flush selected vCPUs TLBs.  NULL for all. */
-static inline bool paging_flush_tlb(const unsigned long *vcpu_bitmap)
-{
-    return paging_get_hostmode(current)->flush_tlb(vcpu_bitmap);
-}
-
 #endif /* XEN_PAGING_H */
 
 /*
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -445,6 +445,7 @@ static void hap_destroy_monitor_table(st
 /************************************************/
 
 static void cf_check hap_update_paging_mode(struct vcpu *v);
+static bool cf_check flush_tlb(const unsigned long *vcpu_bitmap);
 
 void hap_domain_init(struct domain *d)
 {
@@ -458,6 +459,7 @@ void hap_domain_init(struct domain *d)
     paging_log_dirty_init(d, &hap_ops);
 
     d->arch.paging.update_paging_mode = hap_update_paging_mode;
+    d->arch.paging.flush_tlb          = flush_tlb;
 }
 
 /* return 0 for success, -errno for failure */
@@ -847,7 +849,6 @@ static const struct paging_mode hap_pagi
     .gva_to_gfn             = hap_gva_to_gfn_real_mode,
     .p2m_ga_to_gfn          = hap_p2m_ga_to_gfn_real_mode,
     .update_cr3             = hap_update_cr3,
-    .flush_tlb              = flush_tlb,
     .guest_levels           = 1
 };
 
@@ -857,7 +858,6 @@ static const struct paging_mode hap_pagi
     .gva_to_gfn             = hap_gva_to_gfn_2_levels,
     .p2m_ga_to_gfn          = hap_p2m_ga_to_gfn_2_levels,
     .update_cr3             = hap_update_cr3,
-    .flush_tlb              = flush_tlb,
     .guest_levels           = 2
 };
 
@@ -867,7 +867,6 @@ static const struct paging_mode hap_pagi
     .gva_to_gfn             = hap_gva_to_gfn_3_levels,
     .p2m_ga_to_gfn          = hap_p2m_ga_to_gfn_3_levels,
     .update_cr3             = hap_update_cr3,
-    .flush_tlb              = flush_tlb,
     .guest_levels           = 3
 };
 
@@ -877,7 +876,6 @@ static const struct paging_mode hap_pagi
     .gva_to_gfn             = hap_gva_to_gfn_4_levels,
     .p2m_ga_to_gfn          = hap_p2m_ga_to_gfn_4_levels,
     .update_cr3             = hap_update_cr3,
-    .flush_tlb              = flush_tlb,
     .guest_levels           = 4
 };
 
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -68,6 +68,7 @@ int shadow_domain_init(struct domain *d)
     d->arch.paging.shadow.oos_active = 0;
 #endif
 #ifdef CONFIG_HVM
+    d->arch.paging.flush_tlb = shadow_flush_tlb;
     d->arch.paging.shadow.pagetable_dying_op = 0;
 #endif
 
@@ -3134,66 +3135,6 @@ static void cf_check sh_clean_dirty_bitm
     paging_unlock(d);
 }
 
-
-static bool flush_vcpu(const struct vcpu *v, const unsigned long *vcpu_bitmap)
-{
-    return !vcpu_bitmap || test_bit(v->vcpu_id, vcpu_bitmap);
-}
-
-/* Flush TLB of selected vCPUs.  NULL for all. */
-bool cf_check shadow_flush_tlb(const unsigned long *vcpu_bitmap)
-{
-    static DEFINE_PER_CPU(cpumask_t, flush_cpumask);
-    cpumask_t *mask = &this_cpu(flush_cpumask);
-    struct domain *d = current->domain;
-    struct vcpu *v;
-
-    /* Avoid deadlock if more than one vcpu tries this at the same time. */
-    if ( !spin_trylock(&d->hypercall_deadlock_mutex) )
-        return false;
-
-    /* Pause all other vcpus. */
-    for_each_vcpu ( d, v )
-        if ( v != current && flush_vcpu(v, vcpu_bitmap) )
-            vcpu_pause_nosync(v);
-
-    /* Now that all VCPUs are signalled to deschedule, we wait... */
-    for_each_vcpu ( d, v )
-        if ( v != current && flush_vcpu(v, vcpu_bitmap) )
-            while ( !vcpu_runnable(v) && v->is_running )
-                cpu_relax();
-
-    /* All other vcpus are paused, safe to unlock now. */
-    spin_unlock(&d->hypercall_deadlock_mutex);
-
-    cpumask_clear(mask);
-
-    /* Flush paging-mode soft state (e.g., va->gfn cache; PAE PDPE cache). */
-    for_each_vcpu ( d, v )
-    {
-        unsigned int cpu;
-
-        if ( !flush_vcpu(v, vcpu_bitmap) )
-            continue;
-
-        paging_update_cr3(v, false);
-
-        cpu = read_atomic(&v->dirty_cpu);
-        if ( is_vcpu_dirty_cpu(cpu) )
-            __cpumask_set_cpu(cpu, mask);
-    }
-
-    /* Flush TLBs on all CPUs with dirty vcpu state. */
-    guest_flush_tlb_mask(d, mask);
-
-    /* Done. */
-    for_each_vcpu ( d, v )
-        if ( v != current && flush_vcpu(v, vcpu_bitmap) )
-            vcpu_unpause(v);
-
-    return true;
-}
-
 /**************************************************************************/
 /* Shadow-control XEN_DOMCTL dispatcher */
 
--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -688,6 +688,66 @@ static void sh_emulate_unmap_dest(struct
     atomic_inc(&v->domain->arch.paging.shadow.gtable_dirty_version);
 }
 
+static bool flush_vcpu(const struct vcpu *v, const unsigned long *vcpu_bitmap)
+{
+    return !vcpu_bitmap || test_bit(v->vcpu_id, vcpu_bitmap);
+}
+
+/* Flush TLB of selected vCPUs.  NULL for all. */
+bool cf_check shadow_flush_tlb(const unsigned long *vcpu_bitmap)
+{
+    static DEFINE_PER_CPU(cpumask_t, flush_cpumask);
+    cpumask_t *mask = &this_cpu(flush_cpumask);
+    const struct vcpu *curr = current;
+    struct domain *d = curr->domain;
+    struct vcpu *v;
+
+    /* Avoid deadlock if more than one vcpu tries this at the same time. */
+    if ( !spin_trylock(&d->hypercall_deadlock_mutex) )
+        return false;
+
+    /* Pause all other vcpus. */
+    for_each_vcpu ( d, v )
+        if ( v != curr && flush_vcpu(v, vcpu_bitmap) )
+            vcpu_pause_nosync(v);
+
+    /* Now that all VCPUs are signalled to deschedule, we wait... */
+    for_each_vcpu ( d, v )
+        if ( v != curr && flush_vcpu(v, vcpu_bitmap) )
+            while ( !vcpu_runnable(v) && v->is_running )
+                cpu_relax();
+
+    /* All other vcpus are paused, safe to unlock now. */
+    spin_unlock(&d->hypercall_deadlock_mutex);
+
+    cpumask_clear(mask);
+
+    /* Flush paging-mode soft state (e.g., va->gfn cache; PAE PDPE cache). */
+    for_each_vcpu ( d, v )
+    {
+        unsigned int cpu;
+
+        if ( !flush_vcpu(v, vcpu_bitmap) )
+            continue;
+
+        paging_update_cr3(v, false);
+
+        cpu = read_atomic(&v->dirty_cpu);
+        if ( is_vcpu_dirty_cpu(cpu) )
+            __cpumask_set_cpu(cpu, mask);
+    }
+
+    /* Flush TLBs on all CPUs with dirty vcpu state. */
+    guest_flush_tlb_mask(d, mask);
+
+    /* Done. */
+    for_each_vcpu ( d, v )
+        if ( v != curr && flush_vcpu(v, vcpu_bitmap) )
+            vcpu_unpause(v);
+
+    return true;
+}
+
 mfn_t sh_make_monitor_table(const struct vcpu *v, unsigned int shadow_levels)
 {
     struct domain *d = v->domain;
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -4198,7 +4198,6 @@ const struct paging_mode sh_paging_mode
     .gva_to_gfn                    = sh_gva_to_gfn,
 #endif
     .update_cr3                    = sh_update_cr3,
-    .flush_tlb                     = shadow_flush_tlb,
     .guest_levels                  = GUEST_PAGING_LEVELS,
     .shadow.detach_old_tables      = sh_detach_old_tables,
 #ifdef CONFIG_PV



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 13:27:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 13:27:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467903.726967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7z86-0005Z5-UX; Wed, 21 Dec 2022 13:27:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467903.726967; Wed, 21 Dec 2022 13:27:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7z86-0005Yy-QL; Wed, 21 Dec 2022 13:27:30 +0000
Received: by outflank-mailman (input) for mailman id 467903;
 Wed, 21 Dec 2022 13:27:30 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7z85-0004I8-Oc
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 13:27:29 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2089.outbound.protection.outlook.com [40.107.13.89])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 371b1f6f-8133-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 14:27:29 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8582.eurprd04.prod.outlook.com (2603:10a6:10:2d9::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 13:27:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 13:27:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 371b1f6f-8133-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oFI+7A7bB0bMZXnCezAEFai+PMf+hrNYXFT0H7ajeaeOifwGT4AA6SCHZOURfCbv1R7Zts0iZOkRGj0aflaovT/IxK5eMKyADNv0YXFusrnRUNIoNbS8vSklL4DORAypVrkoep1BXzPmVXseaRabze4odXRYn/l6XgGPyx25Mg51xbUkXmXnfD0kwwvVx77Z5sUB1ocoiTUZ6Ynwm2Y9i3/Xwuv4camQeFMbL/kHUx53nZ8kOcehXPtIFiiLuM09fnrABviZxm0nNYDg16SPCJ9IGmKIIYFA9GRWZTy2h/RPtTq20uGR9aC/sOEtSKWlfrIOteFOQZficjZHPa9eXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1niUsk5aDtIhCowAMZf6eTqYxpgtxdoRIXxLB3FTKzg=;
 b=SkrBSxbozIkHxw1vAoemOx7uep0396Lk8DUUrzTuBDZpKjrGUthVOuxVkyA/he4Lz/n73Yd9gv08uI3EwEI+gfzqurn+aFLV55RiwTgYhHtd2SUowYVdyyZTgRDU5Q3YpIdauzg05MXA7P0qr7g21J8bwNATuTIdJRB00ZAyy/lyUYdkCCDf+0ubXFzIzmrxCrgnXHSBGaDoYESjxAYzgILSr6XNz4aqgUc/EXb4f0kbMJiC40ad6S/veiX3K1RmKWzRMPPXwg6t16tAsTgLWiYwfrmiIico2b7z7fcw9vJp9VzvIGG10PGhdvBEVcV1UR0jRESyM4YZrPppcDzSzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1niUsk5aDtIhCowAMZf6eTqYxpgtxdoRIXxLB3FTKzg=;
 b=Z/EDS2AHz+18HMErqIHcvRR7vY/hepriH43FamuB8Q2w26Gx/j5ipuJPKza5x6+JUpRcyjryVLKZYbdLTV//Otdsmc0ICKqTeBIVtFRnKpLzVMnwwcrpPfmilVh6qkzXxs+Igv0wKwI4w0ompsHY1XZH+ZYdfTqaFqGJoUt0EiGxiWyy3S+5o4pt57PPUdsYOzZ1j4RBdVTvspnHJ/kfXxSlPS8cJ/lK8cpd0rEPVxk0quqRqt9ZW425lI4t49KmjQnLaZ8E42MjJZFGSaApscSVjxnmgwRreqBiTaXmxlT6/1+6XBTLs7ko9lTT+5wLHE+iy/2P1Flsj+o0CrYvYg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e142f7f8-1184-a65e-0f50-0b01ec7fad55@suse.com>
Date: Wed, 21 Dec 2022 14:27:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: [PATCH 6/8] x86/shadow: adjust and move sh_type_to_size[]
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
In-Reply-To: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8582:EE_
X-MS-Office365-Filtering-Correlation-Id: 8deae829-604d-404a-3840-08dae3571aa7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mxwVCf2q/XZq1IhjlxzsWPgiR0pMcZy81rcjhanZsLc+qnMDcCo6W4jKvrHbJ4gYGUhb334xOJpOdU1eTkUZrxLquR1RvS9y+m49LJ6r6aSert7G0Op3CsEcBTkPnS5gYHWXUPiQV5KfgiFsZrukr9s4fuYrh9lUEiE65e5al3TKI8rJBcL7kUyyZMihtega6Us3L0c8iHKVr0Zd4lB46U/DSb9co4TB8onhVXbvoZlPF7RXWvcYoJEV9o0klnD0KjqVu57fn8ixzDr6fU9Fv0fCIgTS3F+/dvi5VHYUzjuN849NUtXegiSZ1VtBa8p9Pz31dslxYYZHJesGQwn4hGyR+FFcWUAnc7QShcyLeqcXhUuQlhyTsr/wbmJnbIbu3cSyiKQztQ+krZ1LtDOUx1nk/28a5ynT4mnbfolGplS+/mxG5vwhXHnsQ4JRAvJqYBymxLoNxhEmNH1PL+NNO1Yd0wXevofN1bAkhdxl1SJA6KOFDj9XEv7NjIGS5XEjE8y+Yn4pe4FNI9NYhpQ1jdareW71oA5KI8W91BFq5qLgL4KHk9cxdbTQkRKslwKAV85YlFOpFVrxgsuayQewSj8uD51clNGuF60/mmntqK2RmiJljstLui8cCzDvkETcYrbYSQf5StEy14/u5bGt2TitDrxhlV65i6XzUjs4XhSWR4MVM6ufz4HSfuSljHeiXFrKxGDTRrtV3a/S7qu9LkY7xfq654efJN2H2FD7Wk4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(376002)(136003)(396003)(346002)(451199015)(83380400001)(86362001)(31696002)(2616005)(38100700002)(36756003)(478600001)(26005)(186003)(6506007)(6486002)(6512007)(66946007)(66476007)(5660300002)(8676002)(4326008)(316002)(6916009)(31686004)(8936002)(66556008)(41300700001)(2906002)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WTFhOXZCUTUrVGNsYmo1WnlZUjlLS0tmTFU1UU5ybmR4UnlpYk5jRkFHSVNI?=
 =?utf-8?B?M1ZQWFZ6eDdpRGJHZ1lVdGc3a3NtTzdlNml1Z29ManN1OEMyTjVFUWUxenlI?=
 =?utf-8?B?WENNbDVYOUozM3MwTUhsTkQvNVR3RnhBcjlsbDhOYUlRcm5JZElwRVI4aHlj?=
 =?utf-8?B?TllMcUlhVk01YTZpdFJadSt5K2ZJKy9SRXI0dTVqbzNtTDkya3BmSVhyWngr?=
 =?utf-8?B?VjBxWDRXNlZmUG84bW1qWkR6aWpvbXlSVHh0MFdJWU45U0hHWlFhMVJkRnZT?=
 =?utf-8?B?aG5mY0t4bnhJMDVZbHFWY3NwaXdYbFVqNjkyVWJuanNvTG52SkhId0ZMUG1y?=
 =?utf-8?B?bThQaG0wdjR6S0RlYTAyM28xTDdydkRkYzVRN0crdXhTR3BwZmFrd1NTckhX?=
 =?utf-8?B?cXhPM2c4WHdBb0tOWi9VL0hQMEgwWFJSSXJiTit1bmVWZzQwQ3M3eUZjbXhl?=
 =?utf-8?B?aFpOMTdHeU4zTmRjR2kxTkVqQlRheDgyTlZYVktidldpMlM5cDJkc2pWYkdo?=
 =?utf-8?B?bC9vbW52blQyTnRGRk1weHFOaDNGbmZIWlJuZEJteEMrYmZyYzhYVjc5ZlhM?=
 =?utf-8?B?N1hJL0RDNGlTTFdlYnArWVJRSkJlbUdrMjdiSmNwbTlDb2hnRFdsV3ZCamZC?=
 =?utf-8?B?SnpRN1lhTVFBL0lJYlZuck51UXRLQzcyOFArSXFiR3o2TmYxRk9xOHdKY2pq?=
 =?utf-8?B?R0VYaEo0MTFNczIrbjEyaE50Q3phT3FlcWNEQXhtTVlrdzhiSENmUnpmOUZN?=
 =?utf-8?B?N0RtVFpwYVZEWHV5R0VoNW5QQzc0NTlIWkVvYzBCRXJvY29GdDRoejRvbGpE?=
 =?utf-8?B?SXNJUVNDcWt5eDVkUnFCSHNUWjVBWHZjMFJzWXhCUitXNFAyRFkwaW5RTnc0?=
 =?utf-8?B?STN3UVBONGI0ZFMvZEU2UmF1ZzA3d0plQ25zb20waW9SWmZCemJYdE9VZDc5?=
 =?utf-8?B?bHJWWnh5a1JTMVoyQU5pL0ZHSkczYUR4QzBHd3BTc0dBN3FDOGhkNndwblAz?=
 =?utf-8?B?NENsK3dDVEpCdWs3MktXVW0wQ051N1Rpc1FoU2pKcWx4NWN6UjVQZlJBQWM1?=
 =?utf-8?B?L0FrVlBYS0NhM3B4UlAxQktKaU1iOHMvZk83YWxqTUhUYWxUaGRQYktiNDZB?=
 =?utf-8?B?TGVTaWVmWGprblNUeWVoTnpvRzZvQ2RPM0syRzdxNXRmRmt4NnNqMzV3OVdy?=
 =?utf-8?B?VVdjQWZSTUFBSkRLRGtUcDRRVTVKL2tEbHYwV0MvZFdsdnpsU3UrcnBhTmhq?=
 =?utf-8?B?elNRTFZqUys0M2FlYzV5aG5Tc2NHdDZPdC9ibHJjOXFrbHI3QmJsblVVNUx3?=
 =?utf-8?B?Sk1QdytWcnYxZEptamV4L1ErSGY3d1FxdGMzVEEzR08weWpycFpMdldFMHV6?=
 =?utf-8?B?cGIvZUx3Ly9KZ0hwWWdCalVpRVlLd1o0SERKQlU2bVlRaTdIZ2VUTjhzTnhj?=
 =?utf-8?B?ZTlWU2llZXVVZzFJc1pNWGJ1N2tBQXVBZUVPTnhOMEo2WUV6cFovN0l2TGhO?=
 =?utf-8?B?aDlaNmdDTEZqWGlsOXFGQWVub3QvVW9lK25SRnZENHJlODQ0SllJaVRldjR3?=
 =?utf-8?B?N3ZpWGlmbGZPc3RSWnFTbWVNWjVGSTgzd09iZUZBc1ZQRWIrU01BaXk3UGhi?=
 =?utf-8?B?eDdBYnY4QTlGcEFSNk9KemdaemVRSU9GaWdUMUhXdGpPSGNZa1B4Mm1Gbzgz?=
 =?utf-8?B?V2dnMC85SWQwMHA3MVhocUdqMlN2UkI1Q0Vidld3TnNTWTQ2TEpoN2FCKzd2?=
 =?utf-8?B?Uk56K00vQW5iWG1LTFQySVBUN3kxYWJHUzVpc3JRVk1YUk5vaE4zVnFIdTlC?=
 =?utf-8?B?WGl4QTNSRzRtMmdaaExTWmU3ZGJIQWkzdjZIZ1JxREI0Uk5UcXZiZGNTeVBk?=
 =?utf-8?B?T2R6WTYzbEJNYlZnd25jM2RWeVhVQnRRQ3lNbW8wcFRFSGIxcHhYaUh3WG1q?=
 =?utf-8?B?dmFXZG1aMEtnZmZwVGJQK1lmKzBIN0xydjRORkNTQ2V5aEpkOEVJdzZVSWNO?=
 =?utf-8?B?b1haSjh2TTNFbXdiUmU1U0NKSW1RTll2K2RKbzlER1R0YUpNVFU4T3N2NCtU?=
 =?utf-8?B?ZTZUMmlEc3lNN2ZZazA0NUpaQzlOUGRYL3IyOUZwQ21mci9ISVVUQVhRUTd1?=
 =?utf-8?Q?KUiKVYhEidOIwEPIWpgzeSq6J?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8deae829-604d-404a-3840-08dae3571aa7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 13:27:27.5954
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xSSeBqK2mb9DSw1Qdwl7/icqBgZYMmnEEcvXgwjjaN3mXZQf7y4iwWF52Cwu/6k31Sbmn1NGn/hCLDu8xuw+aA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8582

Drop the SH_type_none entry - there are no allocation attempts with
this type, and there also shouldn't be any. Adjust the shadow_size()
alternative path to match that change. Also generalize two related
assertions.

While there move the entire table and the respective part of the comment
there to hvm.c, resulting in one less #ifdef. In the course of the
movement switch to using designated initializers.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
In principle the SH_type_l2h_64_shadow entry could be dropped here as
well (for being a PV32-only thing), but I wasn't sure whether that would
be deemed okay right here.

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -838,44 +838,11 @@ sh_validate_guest_entry(struct vcpu *v,
  * not contiguous in memory; functions for handling offsets into them are
  * defined in shadow/multi.c (shadow_l1_index() etc.)
  *
- * This table shows the allocation behaviour of the different modes:
- *
- * Xen paging      64b  64b  64b
- * Guest paging    32b  pae  64b
- * PV or HVM       HVM  HVM   *
- * Shadow paging   pae  pae  64b
- *
- * sl1 size         8k   4k   4k
- * sl2 size        16k   4k   4k
- * sl3 size         -    -    4k
- * sl4 size         -    -    4k
- *
  * In HVM guests, the p2m table is built out of shadow pages, and we provide
  * a function for the p2m management to steal pages, in max-order chunks, from
  * the free pool.
  */
 
-#ifdef CONFIG_HVM
-const u8 sh_type_to_size[] = {
-    1, /* SH_type_none           */
-    2, /* SH_type_l1_32_shadow   */
-    2, /* SH_type_fl1_32_shadow  */
-    4, /* SH_type_l2_32_shadow   */
-    1, /* SH_type_l1_pae_shadow  */
-    1, /* SH_type_fl1_pae_shadow */
-    1, /* SH_type_l2_pae_shadow  */
-    1, /* SH_type_l1_64_shadow   */
-    1, /* SH_type_fl1_64_shadow  */
-    1, /* SH_type_l2_64_shadow   */
-    1, /* SH_type_l2h_64_shadow  */
-    1, /* SH_type_l3_64_shadow   */
-    1, /* SH_type_l4_64_shadow   */
-    1, /* SH_type_p2m_table      */
-    1, /* SH_type_monitor_table  */
-    1  /* SH_type_oos_snapshot   */
-};
-#endif
-
 /*
  * Figure out the least acceptable quantity of shadow memory.
  * The minimum memory requirement for always being able to free up a
@@ -1121,7 +1088,7 @@ mfn_t shadow_alloc(struct domain *d,
     unsigned int i;
 
     ASSERT(paging_locked_by_me(d));
-    ASSERT(shadow_type != SH_type_none);
+    ASSERT(pages);
     perfc_incr(shadow_alloc);
 
     if ( d->arch.paging.free_pages < pages )
@@ -1201,9 +1168,9 @@ void shadow_free(struct domain *d, mfn_t
     perfc_incr(shadow_free);
 
     shadow_type = sp->u.sh.type;
-    ASSERT(shadow_type != SH_type_none);
     ASSERT(sp->u.sh.head || (shadow_type > SH_type_max_shadow));
     pages = shadow_size(shadow_type);
+    ASSERT(pages);
     pin_list = &d->arch.paging.shadow.pinned_shadows;
 
     for ( i = 0; i < pages; i++ )
--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -33,6 +33,37 @@
 
 #include "private.h"
 
+/*
+ * This table shows the allocation behaviour of the different modes:
+ *
+ * Xen paging      64b  64b  64b
+ * Guest paging    32b  pae  64b
+ * PV or HVM       HVM  HVM   *
+ * Shadow paging   pae  pae  64b
+ *
+ * sl1 size         8k   4k   4k
+ * sl2 size        16k   4k   4k
+ * sl3 size         -    -    4k
+ * sl4 size         -    -    4k
+ */
+const uint8_t sh_type_to_size[] = {
+    [SH_type_l1_32_shadow]   = 2,
+    [SH_type_fl1_32_shadow]  = 2,
+    [SH_type_l2_32_shadow]   = 4,
+    [SH_type_l1_pae_shadow]  = 1,
+    [SH_type_fl1_pae_shadow] = 1,
+    [SH_type_l2_pae_shadow]  = 1,
+    [SH_type_l1_64_shadow]   = 1,
+    [SH_type_fl1_64_shadow]  = 1,
+    [SH_type_l2_64_shadow]   = 1,
+    [SH_type_l2h_64_shadow]  = 1,
+    [SH_type_l3_64_shadow]   = 1,
+    [SH_type_l4_64_shadow]   = 1,
+    [SH_type_p2m_table]      = 1,
+    [SH_type_monitor_table]  = 1,
+    [SH_type_oos_snapshot]   = 1,
+};
+
 /**************************************************************************/
 /* x86 emulator support for the shadow code
  */
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -363,7 +363,7 @@ shadow_size(unsigned int shadow_type)
     return sh_type_to_size[shadow_type];
 #else
     ASSERT(shadow_type < SH_type_unused);
-    return 1;
+    return shadow_type != SH_type_none;
 #endif
 }
 



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 13:35:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 13:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467916.727000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7zFM-0007eM-BD; Wed, 21 Dec 2022 13:35:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467916.727000; Wed, 21 Dec 2022 13:35:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7zFM-0007cz-89; Wed, 21 Dec 2022 13:35:00 +0000
Received: by outflank-mailman (input) for mailman id 467916;
 Wed, 21 Dec 2022 13:34:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7z8P-0003Di-2s
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 13:27:49 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2079.outbound.protection.outlook.com [40.107.20.79])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41eb22e2-8133-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 14:27:46 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8582.eurprd04.prod.outlook.com (2603:10a6:10:2d9::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 13:27:46 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 13:27:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41eb22e2-8133-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SjJmeMp1lzrElVK3f/hVnEarT0JTe5nQ08DWZq9pq4INx0+rKIzPvsWZjU5dbvHfbHd6uDREvUqRkyaVxPHtCyqURUiziX2bJkDCpbKeO0blVlO5JqJ4r4b8zKwSdEDVcluayKo5sVKM3xkf/seCtotM6qBHZuzvSQH8+ZfP7jtuBkN7r7Bz+nNAykdXL6nbtsOXy8D/nOCBPi/KV7Y3UxFoQGVILObvbuUNmVXUZ+p/wdx3ijG3TF92E7NB3j5ZXE97qoPANJrTkvuHTj2rgoX9FbEekf10VdBw8/wAh/81LPUXqgW4y5qpmp5EBgAdQO183EvDXJnAlgh0LM2+Xg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KksW3pwduy9TjDQH+MFwFhDkAzwXMmeF0LkQ/h+RxKI=;
 b=k96KxKfNglSIJqDeAvnet79qcSSsG/EX/+NPkwWGMSSQ/JLmV9JETYjk8Zsxv4xhD44HcNkf1I1ajG+gw9ma+FADNCDjfsrdo/B2uynJ+oP83OAnTeSmWk043uBqnkpeDkNBCxKN9Gkyv+HGbqRmWV5gYBtSKA2Dk34aS44w7JVL1zQvzP4BA01OFy6Zdtu1Y6URR6F+jMj4l/+H4qJ9nscERO61SY/anCMoao2ww5690Sn77Iyz8aGDh8AMgXJg+3X+SFXC9vWeTp5h+MNthCDQiJ4y4DRYjWfGw3Z0UNdoQ1iqbQ3MT/fOSB4UO4f8lTq2YrS5cbGypwTSKdjDMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KksW3pwduy9TjDQH+MFwFhDkAzwXMmeF0LkQ/h+RxKI=;
 b=0Dx23uasr8RfffKfTyWghgAyGOo2jayIL2l7NcW6STq2OLBsTSybF99frJP99t3PKvB0RkKx6AwZPYSL/UAQ2YlmCvCbbiZb3XFL5vwhrCLJcFcMj5QGjb+iPUzRcD5N07l0s3HE5zurRtrI5ykZrrgZzW9AWDTGooGVkFsD9qOM080Jl2nhMrhEWseltWWqfwx6sX6hUDVQyBkvdS2qJcfGC7gAkhESNui94WOLHnsxIVNhbDmzqHuOKKIXm98m39vAHK9l0JRNd4mq1WpeTIclRTvcSvl1nbS4rcda5kMh1jVOVTk/kBWkS4z8NyIZqjWKjUIxbkFVuQ+nOAF3Gw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b218e950-d5fe-8e14-cfdc-dbcbb6a7ebf0@suse.com>
Date: Wed, 21 Dec 2022 14:27:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: [PATCH 7/8] x86/shadow: don't open-code copy_domain_page()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
In-Reply-To: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0106.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8582:EE_
X-MS-Office365-Filtering-Correlation-Id: 77352dcf-f3f6-4ae8-fe1b-08dae35725a1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jK/BWdiswM6UZ5WiHbFEXiXH1BoBj8i16ZFm0oL0Kt4I1Gd4Wbf5YnThTxoZP5yuYYl2JVHcpRnLJVFmkI0nL4qjJJ0wwqMmhZ18btHRu8A9MvYy9JeMe/VaZei89xH1w8wKeJhP3i2OWNTxwX1ksbUvmWUiDrmZ64UspiPe0/mlBMn1VFKt2H1vUEbTbMImCtJbj0nNnzF/RY1NBX+8X6ebOjDgv8WqQJV+ZkewTYwbJWxat5SHOAEGGKQhnAgzFnHwTI1yASdPRgGhoF/e/dyytpNyiUpz9O+7R4OrJL/AAjYC9BTn7nsgPsFVu/PkJnSETutIpva9EDrk2AS25v+XrQvMcygPtjGoZ6W6yVaafvjvFpJo8ly+yzHM8XvPAHm/Jd4/9pvduiMIJUk3YY6696VyWLy8Or/y47qwQSRUJtykgbDFzbTzedjPojFupZGk+9Pq7ilUlZfHOryZghbw4HjzzN4xUwFDl1z3N2bE0vKQ6+xc0WrXTJqaPt7NyDZS2YhuxmlKt6NM1vND9dFzKgTqMdkIweZW4cj17AnWsRmQTMegjXzcHa+5nOgc3RNna/A/COAXxlgX3o1e2yOsPcjoPCpdGUfvnJDKBgjp1/Rvabmd9uhGmBYDU0haL/aa5P4ZRSM/rTVFS2lgbYGM/6p3p6RH8R9EfX2rqAXuomDiAjb+mKonseDB2TWBQoxwSNEjXzqSf6/I5oYOvfBmm8R82TliyXhhzAoJp4k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(376002)(136003)(396003)(346002)(451199015)(86362001)(31696002)(2616005)(38100700002)(36756003)(478600001)(26005)(186003)(6506007)(6486002)(6512007)(66946007)(66476007)(5660300002)(8676002)(4326008)(316002)(6916009)(31686004)(8936002)(66556008)(41300700001)(2906002)(54906003)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a01kTGtYNm5oRmNPcjJRK2VuTW5USWEyNVdIblg0dGZZUzRhS3RzbVY1S0lH?=
 =?utf-8?B?QnVOVWhCMlBVb1d4R1h2bm4waHBXQXpaY2Nza1ZpSEIrcW9aS1NsaU9SRktT?=
 =?utf-8?B?aVVOUHJaUnVhMDVQL1NGZVlob1RpTXBuVVlaWGNpWlZLYWJLNUhpTWNqM2h4?=
 =?utf-8?B?OTdxVG9TZFFsTU5KY3pya000emRZVWtLK0pzcm8yTFVKSDBqVHpXNHFHT29V?=
 =?utf-8?B?K0IyUSsxLzhNZmdBbEsvRldEb1lpaWhxSndONlpNWDVPKzdLa0dESnZrekhy?=
 =?utf-8?B?cE10dG1ybWwwVHNBSWM1TEJnQnpxZTE4WDJXSHFEVjFiWkozaG5lVU1DTTF4?=
 =?utf-8?B?bDM3TTNsY0RtTHo3ZlZEczBXUG42b09ORWhheEJlMVlzS1c4ellBa0xVdGdj?=
 =?utf-8?B?T294WGg3eWFQRlh2QndDT0dab2Iyb3RnemprRUtvSUdUVzVFS255RFp0R2Rr?=
 =?utf-8?B?WWdNbGNLdHRDRkZKSXc0bTdQSlRvdGVhL1JjMkkrNDd3aDN2d2tjK2tUZGlR?=
 =?utf-8?B?ZXpzKzRicEk5V1phbmtTbWdOTWFKa0FraVg3YTQ2Vk9aRzNBQ2sxNEg1Zmg3?=
 =?utf-8?B?aUpOUEN2a2xGTUNvbGRPV0V3Sm5Sdzk0YjFYUGpZRzRidXJISmk5a2FuUHYy?=
 =?utf-8?B?UXc4TjVDWk9lUjUveTIxTnpLb3c1UzZibXg4cnF0WGJIK21yRWl2RjJuOG1N?=
 =?utf-8?B?aFdmcC9TUXFHRVBKaU80RzJvWWFEb1VvVkp4M1JLWHdZL21uNGdHay9DVGFY?=
 =?utf-8?B?b0g5TFNwcS8zbWh3eExaUkI3RWlVYUorbEVmalU4cUFBdGFBTzE0eGNSSm9r?=
 =?utf-8?B?L29McG14QUJ2eWtkTWh6clVrVjBqeU1TTFFEMi9pZmRlek5ycmlOdGZEQlBu?=
 =?utf-8?B?M1BUQUR3MzV2VFBpVVdiMHh3NlhrcCs5TU9hY1Q0TkFZbUNxOXhpYmI4cGhO?=
 =?utf-8?B?ejF3bzZHRDlNc3kxaERIVjlpWEgwRWNCa3hJejNESlFvQm5OUllsdjhMcXpR?=
 =?utf-8?B?QVl5Sys1SnZ5d2NpcGR5c1BFVzFXMHhjOGtBK00wT3JEVXFWOEd4U29NUCt0?=
 =?utf-8?B?OGR1SkN0SVAvUk5RNzgwMGtmTDFSRkJFT2VsaytlSFIzRW9uYU5vODUyYmpM?=
 =?utf-8?B?L3BxZnovMDlGU2lsWWZBakFZQmlETXNscnlGcFFLdExWcVRkbjlFZTV6T3Ix?=
 =?utf-8?B?cXpMdDdVdGJJSVlka1d3dm9ZODZxakwzSnJBOC96MWNiMDdaNDVydndVSFpY?=
 =?utf-8?B?RmpmRDcwTHllWE56R0NXOXNTYnk3SFpzdkVwWDMxUWRSdWFDUXZWcE1vM1NC?=
 =?utf-8?B?SmErMzV6RlprVnNyQU85SmJXT3ZBZHJmY2FOWlJ0VEJyS1oybGZVVUtVVjRy?=
 =?utf-8?B?VXBpSzVCbkFXeUh4SldENEtjcE1teFFDdnQ5MDhCeWVEdVovUTRmcDgzRVFO?=
 =?utf-8?B?N3NvWlB5aUpvdThQOGVJSkdTcnlsS20ybFlXMzZwS3Y5alkvcFVxdSt0WjV4?=
 =?utf-8?B?MkQ5SXBDNjVFWWpudEVEdDVOc3p0QkI5Kys5cnJPUFczL3B3ZVNqODZsTVpZ?=
 =?utf-8?B?SENqMW1UZnFHSTlYaldOR1plMThUU1diNXM5aWJvTUp1V212TkNaOWFMTjZ4?=
 =?utf-8?B?bTBLSHovRzFld2ZoRWV1REVwRGlocmZ0Ynpla3BjWVNydzZKZnRpdmJqRzhR?=
 =?utf-8?B?aDZQQk5ZWnJPc0hNOXZEaW44Zk8yN3R3WWQxbUhISWlnSkpZay9PT1JYNXYw?=
 =?utf-8?B?TXNqc25ma2g2M3hPSVJzK2x1akY0U3VWS1JRVXVVUE9jODdnb3VEbXhQUVhO?=
 =?utf-8?B?aC9heUZPUkYxb1dObXhnQmlLZW5sOUN2NUU2Wlkra2EwZWF1czB0U2tCYUpo?=
 =?utf-8?B?YWY5M20rbzVpcUJaRGliZ2tBR3pBL1BhaWt6bWh5cEFUWENkYXdyMzEwY2lx?=
 =?utf-8?B?RFRQZFRnQy9jSGhGRG5kWnFtYnBSU1hjMCsrYU5ISjlVN2JBMWNnTW80QU41?=
 =?utf-8?B?N0NIVG4yTmJ5YlIvOUF6T0lLb2JNTHQ3cmFGdXl3djhWTU5Wa1dteUorRnlL?=
 =?utf-8?B?NHcxUFBFaVRoTFFHY3AvenJFU1daRTFYanhoa2k5Zy9qNEh0Nll2M2pLWU5G?=
 =?utf-8?Q?MXW0ieuZ3U4ToOkjk8f3BWTyY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 77352dcf-f3f6-4ae8-fe1b-08dae35725a1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 13:27:46.1254
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wQ3+oFk1U2LX0EMKwU+FqB2zx65c/DxH6NnsCcrJdmx6b5X/dbcjTEHNLm+9esY4toL3YXZ7gcqhOlWpYtKlDg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8582

Let's use the library-like function that we have.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -455,7 +455,6 @@ static void _sh_resync(struct vcpu *v, m
 static void oos_hash_add(struct vcpu *v, mfn_t gmfn)
 {
     int i, idx, oidx, swap = 0;
-    void *gptr, *gsnpptr;
     mfn_t *oos = v->arch.paging.shadow.oos;
     mfn_t *oos_snapshot = v->arch.paging.shadow.oos_snapshot;
     struct oos_fixup *oos_fixup = v->arch.paging.shadow.oos_fixup;
@@ -488,11 +487,7 @@ static void oos_hash_add(struct vcpu *v,
     if ( swap )
         SWAP(oos_snapshot[idx], oos_snapshot[oidx]);
 
-    gptr = map_domain_page(oos[oidx]);
-    gsnpptr = map_domain_page(oos_snapshot[oidx]);
-    memcpy(gsnpptr, gptr, PAGE_SIZE);
-    unmap_domain_page(gptr);
-    unmap_domain_page(gsnpptr);
+    copy_domain_page(oos_snapshot[oidx], oos[oidx]);
 }
 
 /* Remove an MFN from the list of out-of-sync guest pagetables */



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 13:35:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 13:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467911.726978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7zFK-0007BH-R2; Wed, 21 Dec 2022 13:34:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467911.726978; Wed, 21 Dec 2022 13:34:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7zFK-0007BA-M2; Wed, 21 Dec 2022 13:34:58 +0000
Received: by outflank-mailman (input) for mailman id 467911;
 Wed, 21 Dec 2022 13:34:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7z7j-0003Di-Oe
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 13:27:07 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2075.outbound.protection.outlook.com [40.107.13.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29cc5943-8133-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 14:27:06 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8582.eurprd04.prod.outlook.com (2603:10a6:10:2d9::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 13:27:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 13:27:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29cc5943-8133-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JVBYdeP0b0vu5GDPEmIxp52blEfH7yDoGx/+aaj+prhwyYdRO8Yjqnys1vmnGC/KZAB/rCABgEegYcByHDNE3/cdcxa/CqOba3Jn2xOfG5btznojXHlpz/UECpJcZzbuv1Y5GGlUAZ8Y+zcFspjL9wYioh6JitsMvjfOkoa618Ou7UnEbm4ciXAk2oLE3HJh3qAdELgLFLnOvWJjJSUz6xLq2ra3Jl1dqDFqaS2zLe6YJso5G+mBiSzumAXgG2IErXmg9KT+1b1JcQa0LfHvAIKwEarlWRSIsyoaEY4KoUgSbMNHR4DXQSD33dkT28wHbxshy1LsSiNbQ2ffbap7YA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jPAPBzI9r0Pqf/DLCl5qsysEb208XfAwkfak1FQmFWM=;
 b=QmRsU/yCwgLfZ/bfqg6j/gaG/B7VZzRjk9a+2oAl+5jOaTSIf7Qc0lJU7dbVROUQJ3J2Nh90cRuD5D7Rx4kanXDETUsVDlPwPfv01K/b3nTYboxd1iyOgSsH2vHg9sn9yLh48/bSiNaDTVOgVmVVyJgMVFZTMmYxCEkQ3GD5s3dYguADDn7rpoeLdimngg1Igo3+VWKZ8a2gEsmzjevZXisupiNophqFBonD2InGeecON2olpXiA12ZdDKDHlvqWVONEZIgOaaXrviDR5/VpOm+SnTC+s9zUYS/H0n9ePZ4kYiSdlmCxKSwOrhBuGVqO60XQg9h2qAtXL7RYWC3GDA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jPAPBzI9r0Pqf/DLCl5qsysEb208XfAwkfak1FQmFWM=;
 b=Qh1yIfZLHgeJRCEnASb5c8y4OWP9Z6OHsqqXNQCwQakml0y7KMqCVsKYb3LibO0oiybB2FKuSIXwt1ZsSMGEIcm2iqIdMRXCrmv9gcaxKKOj6lJzuK0SNLrGC7nbr5QcPAxgRGOzyMzDbxdgEd2C0BiCHUZyG1CUWJAXK7Ajxwv7FT1FuAN7+lzohnw1cUBAJhOx5m808DTwGW9nSdsjBkJ8I/rVxAN6nQ1mOL03iY5XeUcjLjRVpHjh3LzkE+oksb70PZItJ8TydzJWCq5FYmZqJh7S2a0CnXKpEHy91m2zoCl090x5CdGyky0+hJWgWkSbAgpaxzIZ8KqOU5nUAw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d9a5dc15-d761-9ddf-5c93-ec00218d147f@suse.com>
Date: Wed, 21 Dec 2022 14:27:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: [PATCH 5/8] x86/PV: drop dead paging_update_paging_modes() call
 during Dom0 construction
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
In-Reply-To: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0056.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8582:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c1f6eb9-3ea9-42b0-f76b-08dae3570d80
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4Be0MpNX/2ClCniKXEKqwM/8jk/HfDPqhWcQjXWi2SyevVQLJ8uNr+LRcCDopcM6d28E2ReG8NlsGMTYZ2AOF8CqQcoLE0cwbDOXcxPnhumOUq03CA88D1RNreuKt2apVW0wz0mgXYbWzJWTAN+q+uLT1UEWQUA8F0RbIbEO+1rA8EcDFgGkhndKToPK4EdS+83uzKRbDjiz260aYqg8M6LZktG3XaMl0MIgCR8tA254FV68LJDaQNC7p5Slmk/RZX6QTeSwj4cSEV6qANXAaQkcsne+bb4Fs6fpcYNduS32qXfkOCrTEpbouVGRtvUE2r85p5fyrYNmBaUm48aOxGTG7izmOfbIcnkZzS3NVre8LsTRyR1ammKCnRKcNUZ7PkiGSyKCdSnRO6ycnligj2Vq8ftYb93hwdja7AReRsFC87d4Z7OFpoi70c8eM25D/OUehhY8EMERk0SPC9pOBQ3buwJgd69qWC6KVkaN/ECqXpki4/KFzO+gsV/LUa2IZn6jETPriXfx2e/5XllbOQlzhe5CsI/2tVAYJVl1b7X1nhZZ2We19qce+DHIt8aV3PFok/O0KKih0Lw+ZeOZip77MyJnTu/Gj+VUnKGyS3BL2JMGI5ZSLwQ7Hd6tNu43H1BHEa2WTDkG7Bqvmkvw68U4lmDYR2SPKJDCXG1ye5Vbuu7Sir6kDatSnqrEaHsyHyZpzVNbAno8szCSMCr9R+0KbqANW2id5DVcLMaUwwE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(376002)(136003)(396003)(346002)(451199015)(83380400001)(86362001)(31696002)(2616005)(38100700002)(36756003)(478600001)(26005)(186003)(6506007)(6486002)(6512007)(66946007)(66476007)(5660300002)(8676002)(4326008)(316002)(6916009)(31686004)(8936002)(66556008)(41300700001)(2906002)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Zkl2RXlpNnQ3SXU1NWc2ZTI3dG9SUzVHMFBEekFWL0RJSDRMOFZaMmNjTEdU?=
 =?utf-8?B?NGs5R3RBK0xORWhqZ3ZUMmNUWHhkVktxb2xIbFFPRmtaaFRzR3dwM1hXc2J5?=
 =?utf-8?B?TlpITGtVTnJYc3MwNUxmaXBoczdaQ1Q0Y3BoUHJsb0VGT3h2TWZaaTFleUtu?=
 =?utf-8?B?MXh2TmhVRmJidE5UNFpYSDZNRXoyZmF0RDNJdGZTVURZZDlrdW1hVWVqaXlU?=
 =?utf-8?B?QXRqNUdqNlpiSlNWT25aOFM0UFNGenRVYTZ4TmduTjY5eUQzcTUvS2o3Z3lV?=
 =?utf-8?B?UllnRnFJMWh1WU1ZYktacGlMQVFnM3YzZG5icm1UNWRid1V5ZUpnYWJYU05C?=
 =?utf-8?B?N0x3S3NyYmxCdWExdHd3SGNLL202RVJHVFlYZXhOZHB1eXVyTjV1cFl6N1Bi?=
 =?utf-8?B?cFc3NWhkeWJUWFQ0YWlNbllCREliRlFIYjlFdlB0eDRQRThEN1lkK0F4aTdK?=
 =?utf-8?B?V3dIYmZvSkV0RE1NZnh6SWlnVG5vd2F4NDdLL05hdERKeEYwRkxjekdVQ0NK?=
 =?utf-8?B?RjA1UGJ4a0dlOU9tKzI2Mlp1bjVQVXV4S2ZZTk9TTi9RQzZ4RHRtNWxvbjVm?=
 =?utf-8?B?SXVxNDYyYnZJTTdwcENDRGdabWtnV2UvTWdVMVN3YzhDajhISVVUMnh4cHpt?=
 =?utf-8?B?UU1TOFp4MGE4M3krVklqbitXbTZoUEcrTTFDWUFEcHhBQWdNWFpnenA3bERo?=
 =?utf-8?B?V3JLNGQvMThSTjRTWnR5TFY1ckJwMUNWOTZCQUNCMGcrcGMvYllmb3k4bEY2?=
 =?utf-8?B?dGZqVlRKcXg4Z2pJMFFBTDZyeVJaZVpvdkpMTkxTM0RzMU51cnh6RzNwTUlt?=
 =?utf-8?B?VHhIdmd3Skh1U2lnakZsUVFGcFJ3ZmtEbkg1cVFwb0N4ZzN1SDUyS2NPcStp?=
 =?utf-8?B?em11UUJOK1JYc3A2c01qRVVEWkZOK00vNnUxeTVob2ZoYmtJRFNWU2o5bHNp?=
 =?utf-8?B?Znlsd25qUnJCMWh6WEVWRm9XZUo0U2xpZGt4S1BWMHFzbGpvRHMyejYwUFFq?=
 =?utf-8?B?SnM0aWswTE1xNmhuYTQ3TlB3REZ6YVpuTEdvYWltbEFCbzNVbzdsY2YxQStz?=
 =?utf-8?B?YXpKYVpmUXYyM3FmQlAwamFtRGExaTd1OXhibkZ2WGZUeEpQZzY0d09odU9B?=
 =?utf-8?B?SnI1aHZQUlYrYlBkUmJiVng4aWpnUjBtaklTbVYzWnVqSFZoeGp4Uk1NUTAv?=
 =?utf-8?B?cUd6MlhkRFdET3Y0Yk1GdlgyU3VZYlVJVktrOWJ6TVVzaVhBVkpCb24wdjgw?=
 =?utf-8?B?TS9XSDNnSEJzNkVvUmRDbkZHZUdYNXdxOWNOMGVEdk5kb1pabTJuY010UzR0?=
 =?utf-8?B?a1RaV0hqTHYvTnZxaVhBYi9FR0hnWWM3MzBxQzI3TS9iY3FkVUpBeTJlMXBv?=
 =?utf-8?B?UTVRbDVCWXdvYjgzajNSYzJBMEUrdTZLV1JaMjN6WGtEVDErczZqYVJiTGJp?=
 =?utf-8?B?dVp2QS8rd3RLREhHdXNCTFZaSjFjck9udEM2RjNRODJoQm1ubVpQRXRJQ2Ro?=
 =?utf-8?B?cGczM2RIU1NCd2h5MVRCMFZCSmUvTWZ2L3BzTE9ZS05GdFR4RlZlNUdsaWJQ?=
 =?utf-8?B?VHp0VVV1d3FydG8rd0FFZGM5TmdzRjdiR2FBWDZlcmhjNWpOR1dSUmkvZGh6?=
 =?utf-8?B?aERIUmsvUXdKVlhQSGJEQ1hZNkRPOE9od1N4WXRhYWliYnRVSjZDVXZYMEZF?=
 =?utf-8?B?UnREY0c1c3IzZ3dFUjBKQnFkbzJDQ1BNM1dXUkZBVTlCSS9GZmJVcU5sRUN3?=
 =?utf-8?B?VXhFc3RHN3g0blR2UGw2MkpQTm1ieGhPREV6dURJQ3dFdU4vOCtRZXdtSGh2?=
 =?utf-8?B?eFRLVHJrcU5lWE9vK1dtMWlJOVorRDhkUjcxSUFadVBxT3o4ME1NUkxPMVlG?=
 =?utf-8?B?RDBUL1dxOS9HRmpkVmRRWDg4cWg5d3hhZzl5STROeC9iaGtLQVNYSEp4b0l1?=
 =?utf-8?B?MkM0ZXlzNHRMSzYwbFBBblhLdm5GbEtwVFJUK3NMeVJUYmpqZUhRMi8vYnRD?=
 =?utf-8?B?MGs3VEFuQzV6VGYxdXBWWTVMMjc0RGtXUXVMNnVkMGFlS3U0SmhzNFF0TGhq?=
 =?utf-8?B?WjNJNW1pUXdZNW9TdDVwM3lGWmpYTjlpQjBKM0FianJPMHd4TGlSb05CUXFF?=
 =?utf-8?Q?VTgGYz/T0ML1EpxsAzk3pwA4N?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c1f6eb9-3ea9-42b0-f76b-08dae3570d80
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 13:27:05.5343
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: I21aga143y/Q2Z2gdSj96NYdu8SH1khvmveIpvmdy4XVhk9IK6XfyEBYUXWvPWFosNZq3pEvmT90dh5P38DC4Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8582

The function won't ever be invoked, as paging_mode_enabled() always
returns false here due to the immediately preceding clearing of
d->arch.paging.mode. While compilers recognize this and eliminate the
call, make this explicit in the source (which likely 9a28170f2da2 ["pvh
dom0: construct_dom0 changes"] should have done right away, albeit even
before that the call looks to have been pointless - shadow mode enabling
has occurred later virtually forever).

While there also update an adjacent partly stale comment.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/pv/dom0_build.c
+++ b/xen/arch/x86/pv/dom0_build.c
@@ -10,7 +10,6 @@
 #include <xen/init.h>
 #include <xen/libelf.h>
 #include <xen/multiboot.h>
-#include <xen/paging.h>
 #include <xen/pfn.h>
 #include <xen/sched.h>
 #include <xen/softirq.h>
@@ -804,11 +803,8 @@ int __init dom0_construct_pv(struct doma
 
     d->arch.paging.mode = 0;
 
-    /* Set up CR3 value for write_ptbase */
-    if ( paging_mode_enabled(d) )
-        paging_update_paging_modes(v);
-    else
-        update_cr3(v);
+    /* Set up CR3 value for switch_cr3_cr4(). */
+    update_cr3(v);
 
     /* We run on dom0's page tables for the final part of the build process. */
     switch_cr3_cr4(cr3_pa(v->arch.cr3), read_cr4());



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 13:35:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 13:35:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467912.726983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7zFL-0007Dq-5Z; Wed, 21 Dec 2022 13:34:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467912.726983; Wed, 21 Dec 2022 13:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7zFK-0007Dd-VF; Wed, 21 Dec 2022 13:34:58 +0000
Received: by outflank-mailman (input) for mailman id 467912;
 Wed, 21 Dec 2022 13:34:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p7z8h-0003Di-6S
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 13:28:07 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2053.outbound.protection.outlook.com [40.107.13.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4d2938a5-8133-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 14:28:05 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8582.eurprd04.prod.outlook.com (2603:10a6:10:2d9::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 13:28:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 13:28:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d2938a5-8133-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XuHha0+8JPGsDy/jCXR0tZgx98mbuyRysym/7Wz4HNcJNTL6ZCrpkBSJaZ22M3/7Wv4q17SdRO6Z6FLKoB5AeONABxgel3aau8r6VmDXNS9Ce/ZhlhZ6UeaqV2+GdEGCEopGHpo4d72m1dIBtCaqi3AdI5xpGewfMd7APYjCDs5W3hjsnNKndgyXwSUsRInpP5zPtjBqWJiMHlHzhGnL0Ehrcgub5QppLh5yonQbVOO04rvPzshVVWEov5X/A6PV2sDCujwr6uQvI8CFw+py4fSu1mTLMX3BAUDyrHfxmRaqNXNT/+vvPbrRwU9OGGuzDMZmrTJfmo9nP/1Ws60Puw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lk1AWG9IAHms14v2W1Bq9TzpL/y0E/qqZRroIHMP9pc=;
 b=lt3cAp84PpenpteprfJCxIPzatbm/JszTU7IY4eQ4LxxKlPXFOIQccSahjfhDiPLJwYVF1Zo0M+UN+fLvJAXE5QbRDJkX/AD/ppOXvbpF9/i6IilSSMCbHddHTHIwxXyZWAvwHZ4zskF8Ix52N4Tq15GO62eIbxIO1B/ise85Eb0DxY8XvjhVfgWH4sFIqfS1ZVSNRf0BcVTf+ruOqdc+uQsJV4qdlaBc2FjY87z9ETgeE1co9+MpranPiwFvdj+P+FZPT7vHJyH71Y4fTMO/xSUHBHEx/6zPAsAKzGDDYUg00VsedNX7m8ez/9tssBE+ubYaLLiHAcmV/g0aDS8aA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lk1AWG9IAHms14v2W1Bq9TzpL/y0E/qqZRroIHMP9pc=;
 b=Qj2dwaYBSvUxiC8HrGHRGiI+Dv2Mzw0gjRUKpwJEchlgQloi3qsAj44qiRSty+etTEcBcKPRz3RuxKZ+OgDePiOFMxZ6VPxyMWbLNn0O0ymLim2Nxxwo2V2cFiJpxgTp4dQJQSpliwFijSQAsXH4rzQNwoDafgOHI8b5k2uPedopPX/26J+y+mLP+BALqf8EvuG3e6XWbZiICi5Zyc+mTOkWbRttB/ctwiiiF+vmFz8tD86KeduCADcPvEvRYmhiabFdkjsdI2oRrn+Xq7DjH7wDFJ2MxyMpCV3nte6QI845shdo9p75eot7mVj8R9BAtVsg/q+SwgqdTt/0zVdr7g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3410c8cb-57d1-dcb8-ab58-dcd3ca6748c5@suse.com>
Date: Wed, 21 Dec 2022 14:28:03 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: [PATCH 8/8] x86/shadow: drop zero initialization from
 shadow_domain_init()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
In-Reply-To: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0147.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8582:EE_
X-MS-Office365-Filtering-Correlation-Id: 4459deff-4f47-4ff7-d0ba-08dae357310c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wqJf6Z0uJL/GVn/2d80KBSjafM/NMyQn0ZB/za5e0LW8kERizP8VexE1p/AzuhHJe6snxChz7wdwWrnKuU3KMxfwRVMuebJyJIvIUmX1wweBoWz2KSkk2ZOgpPtA6akUOILHoh5feOl8a80SR5Zvm+803U+gDKOYjHOIltiabeP2nzLw7E0QBkJ73/4nr7ljF+px3+a8JvIHY8BV5kR8cbeOYKIicLwnGauG4hQH/fgKWMCk4vYl5wBPOfcw3Wv6QyVXtcGG+N45XtV/87YCTldJblvHzF9/kjHvH2W4kTkf5FlyiIFCFLtQdeo5E+q6u/iVtaySgFoLFJLMyP9Es+lNUtNzx9uNz+CSIm2A4t4sGYGshO5ppgob297co+lG2X0VtRNdoiFnJeOAX9o2ohdQms259Wt6VvCY8WlXRo8e12y0SKnPphf40oaTmG0AdtiXUUaGg8NPVPtQXZ+PGRDPdHaDh9ugkHm8LBfsnMT5MWF8HqefpM9A9nHkZZn8zeR+dFkHEf4QQBiqXeeBqVa0PrASBOJ5JeqSru9n5nqFjtodyngvIRThZqaBYpTXq7MS5B24Egxi8aH2wQ6BlROXEonkQ4Mm0avZ0+mhybvPODG2oh+Zw88IEUXFFaUOuUk6DsBHMyMqiTbccdS87jhb9B/+hAHZqNeM6sWMNpvZfVm0lQbxBpACjOZs7PjXyY3UcQT3JzlcpJtV8dpq9846wn5bSDTlRRisVaYfhHk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(376002)(136003)(396003)(346002)(451199015)(83380400001)(86362001)(31696002)(2616005)(38100700002)(36756003)(478600001)(26005)(186003)(6506007)(6486002)(6512007)(66946007)(66476007)(5660300002)(8676002)(4326008)(316002)(6916009)(31686004)(8936002)(66556008)(41300700001)(2906002)(54906003)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NnhvVHRJampNL01OOUxOSllEU0dMZkgwRGxKUWxOSUlkTFFnYnpWRUk1R2dp?=
 =?utf-8?B?WDFTZEU5Rk4xR0szNUlla25RQ0F0YjNlVDNHaWNtcFZGRmJCeE5PTVlaNk52?=
 =?utf-8?B?T3NqWjMxUWN1d3pNRzg1eS9qSXFNdllBMkY1UERRQ0RBbFBBTUZheWIwM0RS?=
 =?utf-8?B?VnIzYUJmMWs2RG9CMVBnSzFsQmh3aVVZQ1pNTEg2bm1nU084VjErQXhWekMv?=
 =?utf-8?B?TmRHWEFDSEdNYUJTUWpCOG9sR2g2UnNCZ21MdjAvMEIweUk5UE8rQXdYZHFV?=
 =?utf-8?B?N3kwbnpQVHhuOTRsWW0rZk5UV01PZnMrY2VUMm16MXhSRyswYXVNRnBLQzVP?=
 =?utf-8?B?U3Q1ZGQ5OW5pVWFVUTdXWTdZSnZ3MTgwRTAzQlhiSXRJMWplTEY0aUxIWHBX?=
 =?utf-8?B?ZC9uV2RjT1NJQW9HL0czN094eGhqU1A0dGZ3a1NMVVdLRTk2UCt5bExEYUFt?=
 =?utf-8?B?ZUFGKzBIRWtkdkNkWmh4cjlZNTRlYlkyOGhwS2QzRmFzWGo4ZGJWMDlzZDFY?=
 =?utf-8?B?S1FyQUJuSVZlZVpGYUUrUUw4ejN1MEs1SFJNMUtqdU4zUVlMeC94RGpRdnM4?=
 =?utf-8?B?RVE1eERpanRiOWFSWkxqNjJrNk9sUE1EQlpzRTNiYlpjL0pUSHJoU2x6elYv?=
 =?utf-8?B?bnNyWU1HOCtYbDVIcU9ERnpLampTWEdRc0pKMW5ockZrM2dvUjloL0ZkVzJP?=
 =?utf-8?B?MGpzRm1sUHNkUUozY3d6cGo4c2RkbGN3L1dvb0VoN2ptQVUzdlNER0ltSkxN?=
 =?utf-8?B?eW1NQkJEVSszaE1YVG1RTnVzcjIzMnkrakh2dkU4ZVlLaktQNHk2aGF0eUNr?=
 =?utf-8?B?VnNSNE9qaXJlUGMvNEM0VWgxdHQ4TFlIRW40MTFwVTFWY0UzMElTbTlVd2Fx?=
 =?utf-8?B?dGdEWVFIbVZ2MmFmKzJvbzRPdmhtL2JDK3RkdkEweDBPanYrbVdMcXo5bnlp?=
 =?utf-8?B?bi9LYWJleUxoYVRJQmYyY3hqQUVHdWlGekx4UHJURzFDVFdyR0xmMy9zaHVx?=
 =?utf-8?B?RGJZUkkvYm4wQlBIanIvZDRuWEpqd1pyTXh1S0cycktzNjdxNXVsUjlmRUFq?=
 =?utf-8?B?V1h4SldzdHlYVU0vdjBYVG5nREV2T3ZkdWNCSVg3UlVvakhDMXNjb1VLam9Q?=
 =?utf-8?B?QTZXQ2V2ZHZSZnBXdlBkak9kN3RCYW1CeVhWVGJFQXF6STl3ZG1VaVlQSkFK?=
 =?utf-8?B?UzFESmYyMk1YL0JRajVJREtVU2tpV3pmSUhpQ3IwTzlTRUUyanFQMkxuaXBy?=
 =?utf-8?B?dEE0UW1XOFhaYXlvSjN6aGxRV3lGZk5FNlVHaWlCWlpXTVFDSXRGZ3dsRk1P?=
 =?utf-8?B?Wmhha0w5Vnh6SS9uSGFlZXlFT1RrbTRxbjVETXhaQkNjUUtSN3ZqRWlLT2VE?=
 =?utf-8?B?Ui9MdmZWVnFwK2M5alNhZG41SVU1RG5XVEhuTzI2UG5STlhGT0JleHptM3lQ?=
 =?utf-8?B?cVMvaEdxNHpDWG00NmJWTkVnSG5NbXVUT0h2dzJYNVpzc3VMZjBjZjV2dXpy?=
 =?utf-8?B?TkV3b2lsZnJIR2hMVTd1VWtjSGhiUlY2ZWx2anZhc2xLOVZwd1BhSkVHeEVL?=
 =?utf-8?B?N1J3a0pVem9uUXhrQXI3bVcvYXQyNTNQc3ZUbjJHZ1UwNjE2TCtHL1FKR3ll?=
 =?utf-8?B?dGg3dlVXbTdIa3d5a3djMjZyMmlucmxUSGtkNy8vemRWMnRjT0lsSEpTNmhO?=
 =?utf-8?B?ZEcxQ1ROR2YyOEpoYk82RXlPYnE1d0lnT1E3U0ludnZjck9CL05YTEV0ZEkz?=
 =?utf-8?B?WEhXelNRNm4waW80OEovb2ppMytyVGNYNlo0cC9DZU1FaGxncFpCd2ZjbXBJ?=
 =?utf-8?B?S3FDOE1TWi9SUnY3NXFtM2tnaWUya3lkbVBzRTN2ZitWYng0UVowcXJvVXNN?=
 =?utf-8?B?d2kzY1VBZGNVSnhBL0JDOXU4bVUydWVPWWZ6SnVwT2s5NWFHMkdNblpWSW82?=
 =?utf-8?B?TVpDR0J1OWVwdGdFUGphNE5PMEpDaENwbUg5ZzBYS082NW4vSUd2blBDZUVN?=
 =?utf-8?B?WXB3RW9Ob0lHbkpDUUY4NlJoNmIwS0lqcndpaS8vNVplWUdkSUc5WnlGNDda?=
 =?utf-8?B?WmtyVVMySFZQQ3hQVFBoOGt4YjJ2RXk4ZHgxN2E2Skhoei8zL1F5dC9tN2xm?=
 =?utf-8?Q?QjeDsHQPtsJKfiuMqWV0cjLQ2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4459deff-4f47-4ff7-d0ba-08dae357310c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 13:28:05.2179
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: C7F7vMgztf6iwuf/INMvs6qwwP4ooHCy++4qV6O4od1Ac7fFOGSjmuZ8qqxOIPoKLkQuEodti8Fi+WS3nOE8jQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8582

There's no need for this as struct domain starts out zero-filled.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -64,12 +64,8 @@ int shadow_domain_init(struct domain *d)
 
     d->arch.paging.update_paging_mode = shadow_update_paging_mode;
 
-#if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC)
-    d->arch.paging.shadow.oos_active = 0;
-#endif
 #ifdef CONFIG_HVM
     d->arch.paging.flush_tlb = shadow_flush_tlb;
-    d->arch.paging.shadow.pagetable_dying_op = 0;
 #endif
 
     return 0;



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 13:49:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 13:49:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467948.727011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7zTR-0001V3-MJ; Wed, 21 Dec 2022 13:49:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467948.727011; Wed, 21 Dec 2022 13:49:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p7zTR-0001Uw-JD; Wed, 21 Dec 2022 13:49:33 +0000
Received: by outflank-mailman (input) for mailman id 467948;
 Wed, 21 Dec 2022 13:49:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KbXi=4T=citrix.com=prvs=34759bb5a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p7zTP-0001Uq-JD
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 13:49:31 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 492a4be0-8136-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 14:49:29 +0100 (CET)
Received: from mail-bn8nam12lp2177.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Dec 2022 08:49:20 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB4989.namprd03.prod.outlook.com (2603:10b6:208:1a5::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 13:49:17 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 13:49:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 492a4be0-8136-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671630569;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=3uoNZX2mf0/RXAhrZp96GWhUXLYGz3XFWetNqWH/k2c=;
  b=A7gFaMPzrtnJ4CLOl/zDRgE750Sr7DtGKsztqEeM8j24sh1792VlbOIN
   67XNtrjJjx+RWMzi8y2PgjY4YYhh9hEvrhGLXKBmmtqZ38NJdt1ykMBMG
   J+QERGpFEE6yu4oZKTww75RoTLhQwUX2NlaKUOPhRjZOJPoIlmohSKZPE
   c=;
X-IronPort-RemoteIP: 104.47.55.177
X-IronPort-MID: 88978893
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:OZumd6AfuqyJCRVW/xjiw5YqxClBgxIJ4kV8jS/XYbTApDshhGBWm
 GRKDTiEaf/cNGqhedxyOdnj8B4P7MXXztRqQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlC5wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw5Oh6HmZWx
 awjGnMBTzKSg/2ymbyec7w57igjBJGD0II3nFhFlGucJ9B2BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI+OxuvDe7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prr+fzHyrCNNJfFG+3qRjqlHNz1M9NCwLfBikgvLgzUG8B90Kf
 iT4/QJr98De7neDTNPwQhm5q36spQMHVpxbFOhSwBGAzO/Y7hiUAkAATyVdc5o2uckuXzso2
 1SV2dTzClRHr7m9WX+bsLCOoluaJSkQBX8PY2kDVwRt3jX4iIQ6jxaKRNAzFqew14fxAWupn
 G/MqzUijbIOi8JNz7+84V3MnzOroN7OUxIx4QLUGGmi62uVebKYWmBh0nCDhd4oEWpTZgPpU
 KQs8yRG0N0zMA==
IronPort-HdrOrdr: A9a23:gQDXV6HWFYsSPtd8pLqE2ceALOsnbusQ8zAXPhZKOHlom62j5r
 uTdZEgv3LJYVkqKRYdcLy7SdC9qBDnlKKdg7NhWYtKNTOO0ACVxedZnOjfKhLbak/DH4VmpM
 FdmsZFeaXN5JtB4voSIjPVLz/t+re6GWmT5dvj8w==
X-IronPort-AV: E=Sophos;i="5.96,262,1665460800"; 
   d="scan'208";a="88978893"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h7ehrLXtvFEvglXn2zjdTznj86nq2EoU9LiCwoFtTJ0q//pXLtk14IMvWv7YJaRZ2hEIGGg2VVCJnQj/L6Qf0Wc+4xqTcBtRN9DnDzNWPHg33dk2YugM8ZDGcMvPfWmDyQJizd/+GVdLdWQjcuSqUF9HjjH38Cj+61OnFTyuMjCr2DW+Lutu6RKHhexnC8dtTA4ADpu3eqJAtCNqSFmp7/dZCz83S9NIzyvWDnbpCPGlyyIIUFG57PlP3qKHIk8oH0C68dX66zFa/xF6pO1eBAuRC11y7GwTdpbVwbDNMxsvda0edgNp9px/lGx/J/mcCuJNsMD68uE7DYNy4S6FIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3uoNZX2mf0/RXAhrZp96GWhUXLYGz3XFWetNqWH/k2c=;
 b=bIJQxgA9h5vKwJxWTSGR/LcNepDrVQCfAuqqPzF5/KlnVTHBjU0ZZieuyOcpRDO9hQODDclkuDbg4iWbxbdOyK5uNMzyaVCBFzASjz49UOslhTy4L6KZgFodn3jFt0pyxT9xgxW5Psm0bs4bbJVL7cVdjeuilDlb29pJONh/g0B191RsZ9ccSycJNpMByKC3So17f9A1l3C2vpFsxSTY8612Gbyc2OuMUXqwJUXDg2tyUoOqtI+0wzutOw8/3yXkf5+5DYyU2KNU2L1a7jZxXyPQU/6NcTj0RlDGRa3DwCSUXZsX0Gbgquf/1q784YVNHirU1GgqFz02+J7Ro490iw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3uoNZX2mf0/RXAhrZp96GWhUXLYGz3XFWetNqWH/k2c=;
 b=e17QTRR1CrvHKOtA5SDvBnPHEIeiDR2E18aMN74Fr9TFmEhpcLa5xxuLZ4IEk2TVaVsCigHVfjXeVPCCyD77++AWL9db8kksSbHne1oeW1KesdVBjrgORsg9MKyWcqASNiKrYmBoKHO+v8MJtVoyvTonZmFD2getbt9HI7HhLH4=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, George
 Dunlap <George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 1/8] x86/paging: fold HAP and shadow memory alloc related
 fields
Thread-Topic: [PATCH 1/8] x86/paging: fold HAP and shadow memory alloc related
 fields
Thread-Index: AQHZFT+bjE/YAX9/X0eeHf49kbkoQK54W4gA
Date: Wed, 21 Dec 2022 13:49:17 +0000
Message-ID: <ef7d0d5d-de03-a0cb-351a-d4b0993b9268@citrix.com>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
 <660507f9-87fd-1061-1fa0-2aeb42ac2eef@suse.com>
In-Reply-To: <660507f9-87fd-1061-1fa0-2aeb42ac2eef@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|MN2PR03MB4989:EE_
x-ms-office365-filtering-correlation-id: b9d48037-3249-4bba-0077-08dae35a278e
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 QWODp4IuPGTkEzoCLLx2NdauU8xqFdoclVWp6V1bJcYBdagSqUgfdyDI/QCQO5KPEpPaibj3deVNPgGMn5kZz3cXM5GUInEFQNftGIucYH3qQM2RP+O9M7aJk2SA0022hqGJwIRooxaCt8UVOiBjLhIDsN9sSVeT9+sh9rvL/SjVWk9Y/zzaop94ILodcc1VcFRaxp13Zk7Z6UV4joivbHawcWyeCMtXATdwdEvcH8HRg81cgV2e1Ty6cgaUisybFJPYDY2hrBJ3ucOY2mrX+1jcvirpSoE5Q5yowwA5nDAezYMCgSTUuQdPTed+3JEQQWSP2iYUxTWFC2m9Ug7mDJ5rmfDv5oNNuC5f9L5ApBI/chJyL2/0YGWDsOUwO89iraeVYq6QWgM8J+eJuzaeGObdBFq0o8uq1ZUPUhP/dbTffr+E0sJC0qXPvquYdH0MH7bsQrygw7jlLVsCGZqm3E9emayTEyiT5/D6ShIHpftJ9zKPHrbWM4Wz5g4d+agKQhUDi8OuCYQcPq15s7tvn7RhXCO/x9jz64pSG3Sp6VJf33yvZJgqoCVatNSA6VZJE5bVemkSvgz9Enf1MfcAbE+UF6r3ZcfesU8edLw/v6uKeBDTvPKC9vJ5WTWJrKjLXd1FkFuTgVYwqDBkX7cK4jD+TPu4wdVsreTj/fwasU0ZtHPASMivakQHD5xFIQy4tGn1XGj/PnRgVpEsnPD/2BrWNNMMUeB8bwGqLVsSvtjMuch95NZXbEeBWQcSZoOXPrcvRLJpC09+3sE3hmSMXg==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(346002)(366004)(376002)(39860400002)(451199015)(6506007)(478600001)(6486002)(36756003)(54906003)(71200400001)(2906002)(26005)(186003)(38070700005)(64756008)(41300700001)(31696002)(8676002)(4326008)(66446008)(66946007)(66556008)(5660300002)(76116006)(66476007)(316002)(91956017)(8936002)(110136005)(53546011)(122000001)(82960400001)(6512007)(31686004)(86362001)(38100700002)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NXRMemVtTFNJQzIyRzhIMktvek5ReXBNenNGRWlac0d4VmI1UkNzR0piWWZW?=
 =?utf-8?B?Smw0OXIzVFJrRC9SWHVMYTVEYVg4ZWRMV25VTDVFN2UramZVVi9zUVZtQ2Vx?=
 =?utf-8?B?M2dDaXhkTWNaZGtmNXdnaXRjSkIxNkhWOFhWWVpzS2lORkJYb2ZidmtEOEQ3?=
 =?utf-8?B?dUdhTkdscVVCQnJPMXBmbVliRTQ3UW1HNFBqcVl2VUdRTStLa0NqOXliWVl3?=
 =?utf-8?B?Q0NWMGdIdTM2MitWTm0xWlVBVXRPVUxQRkdCTXlOQTJLZnl5dHZPZjhFUVA4?=
 =?utf-8?B?RFl5cDhpb3BOckc4UVlnSENwSHc0NFNaK3BSZHBpclhlODc3b0ovSEhpY0VV?=
 =?utf-8?B?UVZENjFKb3QyN0pwWkl4UUhEVnNMSXZ1bGo5dVF5b3ExQ1E2MVloM0MwZG5a?=
 =?utf-8?B?SFFCbjRFLzVhb1RDSk52SDRsUFQ0dCtuV0VaTUk0d1JRNE05eG05UG12Ykx3?=
 =?utf-8?B?VDU4STZySHRWT3J0c2tqRTZUbitRdGFta1lCYzVYK0ltcnV2bFJpZW1wNjBM?=
 =?utf-8?B?VU1GdHNZZ3dWYk5KS2lWbVZVeDhIVVZHek0rcFZ6YTRoT0tpWVJEbDNSY09K?=
 =?utf-8?B?ckkvNEh5elZVbHMvUkowYlhJdnJyYmZ5NWpQMm5RNG1DMmdHQ3U3ZEQydW4z?=
 =?utf-8?B?bXVlWmpUVGo4ZGVCTldSZVVWWUszNkFQRisyb2tXNDVTcStKV2kxbE0xVXFG?=
 =?utf-8?B?OHVnZDhMK1Y1T1RZbHdTQjR5R1IzaXRKUE53UkZoZk1BQ0JpYndOeDFpdS9C?=
 =?utf-8?B?QzBCYkZ2VVFISFRIMFpZSFNDZzBUcy90a2thaFpQV2JwczYzWThURkpvSC9N?=
 =?utf-8?B?T0YvUS9uT1hTY1VwWjVoUHI0U2VwNXp6dGt3dTZzOTloS3lWZXFzVWphNlF2?=
 =?utf-8?B?TWNuN2ErOXNFL3JGWWQxcDArTEdEZUVlV2lNTUd3cGFTUFRWcFNLc3hEaHBx?=
 =?utf-8?B?WFpPeGNrc2pFb2RpRHRPMVlsNTBoN2cvcm5xVlpMb2dSTFVjSERxbGFjVVEr?=
 =?utf-8?B?dDN3NWExTTlHclVEb1lCclF6ZVhITWlOYnlpL2dsSEZxUHR3bnV2QkN6dkNP?=
 =?utf-8?B?VndjY3pGSjdBeFVJV1Q2Lzg0dWkwVzZpYXQwSXNwdUJpVzZ2UDFneXdlODlN?=
 =?utf-8?B?SHZUSUovbkZKcUVkOUdQTVpKczNpcE5hV21jQVFTSng0dUxIK1Y3VEdpYWtS?=
 =?utf-8?B?cUZwd25mbXAwOXpPeGY3ME1hVUVWYk1tZys5TURSVk02NHpRNUNlMWFFUTQ3?=
 =?utf-8?B?OE83U0dUMkg0ckloemk1cnVJSFlUWDg1bXd0RnBaOExhV3VKRWNmTmZPa2oz?=
 =?utf-8?B?L2JpNUNhQUhIbHFIWTFjMGx6OXR4NlJMa0NyaitaeVduVmRIZXFrQ0VQUUJn?=
 =?utf-8?B?c2htL3VtOFN5a1d0Y2QxWGFMbTAyN2k0c1V3L1NuVzArc2xGZURTMTRVUDJJ?=
 =?utf-8?B?Y2drdkxuL2ZJMXJDQnN4dkRGQ1htbFB0WUlOeGVSc0lVTjdBNUxtZHV1WVNK?=
 =?utf-8?B?eStyYVYvQlZ1ZG1ULzVlRHRCeEZITVpWZFpZRnljWmhyM2FpMWM0R3pTWmcx?=
 =?utf-8?B?cU04b0xjSkFpYUVkUW5GWVNwdVNmYnB3NTl3NGp3RHBzZ1VLSGI1T3dyVXVV?=
 =?utf-8?B?Y1NYdUJ1djh6U29KeTlVTmVNTllRRWFJanJ1U3lYeWVibzJnVHBhRFY4KzJ4?=
 =?utf-8?B?WVkyOHhIeEpEZ1V0Z2o1MlpiTW9sRzZxT00vbFArQ1YvblFKNGIydFJlMW5S?=
 =?utf-8?B?TlJKWDB5VUtYREhIaU9lb1dWTDdTeVd6QUM1UUEwVDlnUlkxKzBZTGhsSUMx?=
 =?utf-8?B?K1hnTEpFMjl4bXh6cU5acEFSMUtuNVM3SmgvODJGNnVEWEZlMlpVRDJUREI2?=
 =?utf-8?B?Smk2azMvR0l6Q2VtS29uR2dMV1BYMjZsWFhaMWJLamljWEQzbjBleHZmMUx3?=
 =?utf-8?B?YlFrbzBzd05ENUxWeFlrMk1adlRuTlRKeVhPM3VJbUYxS05SV2JkcDFIVHY4?=
 =?utf-8?B?bVdGY1g2Mk1BRkVRUkxBM05nKzQwYUJpaUMyMWU2NXp4L0tRQUI4dEVIZEhH?=
 =?utf-8?B?SkRFUUZzSUp6eEVwVXFJbFpYUlQwSG1GYkJPY3RjUTlKeEhCV1FHV1BSdFNt?=
 =?utf-8?Q?yTdS0gI+M5uSCSSA4wCwOJkHu?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D0B4819C0285EF4FBD6CAED658E6E3CB@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b9d48037-3249-4bba-0077-08dae35a278e
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Dec 2022 13:49:17.6369
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xkJ9qGurXdWJXIm4TWw2c6OmToYJwZsoCa6Q+ZjgRS3lWIhnrvFsFZCRm+F5yXpVjct4mksTjm01dv/3HO2OAfsCzQNyDoGN9Rol9lyFIRA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB4989

T24gMjEvMTIvMjAyMiAxOjI0IHBtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gRXNwZWNpYWxseSB3
aXRoIHN0cnVjdCBzaGFkb3dfZG9tYWluIGFuZCBzdHJ1Y3QgaGFwX2RvbWFpbiBub3QgbGl2aW5n
IGluDQo+IGEgdW5pb24gaW5zaWRlIHN0cnVjdCBwYWdpbmdfZG9tYWluLCBsZXQncyBhdm9pZCB0
aGUgZHVwbGljYXRpb246IFRoZQ0KPiBmaWVsZHMgYXJlIG5hbWVkIGFuZCB1c2VkIGluIGlkZW50
aWNhbCB3YXlzLCBhbmQgb25seSBvbmUgb2YgSEFQIG9yDQo+IHNoYWRvdyBjYW4gYmUgaW4gdXNl
IGZvciBhIGRvbWFpbi4gVGhpcyB0aGVuIGFsc28gcmVuZGVycyBpbnZvbHZlZA0KPiBleHByZXNz
aW9ucyBzbGlnaHRseSBtb3JlIGxlZ2libGUuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFu
ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+LCB3aXRoIHR3byBtaW5vcg0Kc3VnZ2VzdGlvbnMuDQoN
Cj4gLS0tDQo+IFF1aXRlIGxpa2VseSBtb3JlIGZvbGRpbmcgb2YgY29kZSBpcyBwb3NzaWJsZSB3
aXRoIHRoaXMuIEZvciBleGFtcGxlDQo+IHtoYXAsc2hhZG93fV9zZXRfYWxsb2NhdGlvbigpIGFy
ZSBub3cgeWV0IG1vcmUgc2ltaWxhciB0aGFuIHRoZXkgYWxyZWFkeQ0KPiB3ZXJlLg0KDQpUQkgs
IEkgdGhpbmsgaXQgd2FudHMgdG8gZ28gZnVydGhlciBzdGlsbC7CoCBwYWdpbmdfbWVtcG9vbCB3
YXMNCmludGVudGlvbmFsbHkgY29tbW9uIGJlY2F1c2UgYWxsIEhBUCBhcmNoaXRlY3R1cmVzIG5l
ZWQgaXQsIGFuZCBJIHJlYWxseQ0KZG9uJ3Qgd2FudCB0byBiZSBwbGF5aW5nIFhTQS00MTAgd2l0
aCBldmVyeSBuZXcgYXJjaGl0ZWN0dXJlLg0KDQpCdXQgdGhpcyBpcyBmaW5lIHRvIGRlZmVyIHVu
dGlsIGZ1cnRoZXIgd29yay4NCg0KPiAtLS0gYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vZG9t
YWluLmgNCj4gKysrIGIveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RvbWFpbi5oDQo+IEBAIC0x
NzksMTAgKzE3Myw2IEBAIHN0cnVjdCBzaGFkb3dfdmNwdSB7DQo+ICAvKiAgICAgICAgICAgIGhh
cmR3YXJlIGFzc2lzdGVkIHBhZ2luZyAgICAgICAgICAqLw0KPiAgLyoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCj4gIHN0cnVjdCBoYXBfZG9tYWluIHsN
Cj4gLSAgICBzdHJ1Y3QgcGFnZV9saXN0X2hlYWQgZnJlZWxpc3Q7DQo+IC0gICAgdW5zaWduZWQg
aW50ICAgICAgdG90YWxfcGFnZXM7ICAvKiBudW1iZXIgb2YgcGFnZXMgYWxsb2NhdGVkICovDQo+
IC0gICAgdW5zaWduZWQgaW50ICAgICAgZnJlZV9wYWdlczsgICAvKiBudW1iZXIgb2YgcGFnZXMg
b24gZnJlZWxpc3RzICovDQo+IC0gICAgdW5zaWduZWQgaW50ICAgICAgcDJtX3BhZ2VzOyAgICAv
KiBudW1iZXIgb2YgcGFnZXMgYWxsb2NhdGVkIHRvIHAybSAqLw0KPiAgfTsNCg0KRG8gd2Ugd2Fu
dCB0byBkcm9wIGhhcF9kb21haW4/wqAgSSBjYW4ndCBmb3JzZWUgbmVlZGluZyB0byBwdXQgYW55
dGhpbmcNCmJhY2sgaW50byBpdC4NCg0KPiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vcGFnaW5nLmMN
Cj4gKysrIGIveGVuL2FyY2gveDg2L21tL3BhZ2luZy5jDQo+IEBAIC05NzksMTcgKzk4MCwxNyBA
QCBpbnQgX19pbml0IHBhZ2luZ19zZXRfYWxsb2NhdGlvbihzdHJ1Y3QNCj4gIA0KPiAgaW50IGFy
Y2hfZ2V0X3BhZ2luZ19tZW1wb29sX3NpemUoc3RydWN0IGRvbWFpbiAqZCwgdWludDY0X3QgKnNp
emUpDQo+ICB7DQo+IC0gICAgaW50IHJjOw0KPiArICAgIHVuc2lnbmVkIGxvbmcgcGFnZXM7DQo+
ICANCj4gICAgICBpZiAoIGlzX3B2X2RvbWFpbihkKSApICAgICAgICAgICAgICAgICAvKiBUT0RP
OiBSZWxheCBpbiBkdWUgY291cnNlICovDQo+ICAgICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsN
Cj4gIA0KPiAtICAgIGlmICggaGFwX2VuYWJsZWQoZCkgKQ0KPiAtICAgICAgICByYyA9IGhhcF9n
ZXRfYWxsb2NhdGlvbl9ieXRlcyhkLCBzaXplKTsNCj4gLSAgICBlbHNlDQo+IC0gICAgICAgIHJj
ID0gc2hhZG93X2dldF9hbGxvY2F0aW9uX2J5dGVzKGQsIHNpemUpOw0KPiArICAgIHBhZ2VzID0g
ZC0+YXJjaC5wYWdpbmcudG90YWxfcGFnZXM7DQo+ICsgICAgcGFnZXMgKz0gZC0+YXJjaC5wYWdp
bmcucDJtX3BhZ2VzOw0KDQpBbnkgY2hhbmNlIEkgY2FuIHRhbGsgeW91IGludG8gaGF2aW5nIGEg
c2Vjb25kIHNwYWNlIGJlZm9yZSB0aGUgPSwgc28gd2UNCmdldDoNCg0KcGFnZXPCoCA9IGQtPmFy
Y2gucGFnaW5nLnRvdGFsX3BhZ2VzOw0KcGFnZXMgKz0gZC0+YXJjaC5wYWdpbmcucDJtX3BhZ2Vz
Ow0KDQpuaWNlbHkgYWxpZ25lZCB2ZXJ0aWNhbGx5Pw0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 14:29:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 14:29:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467960.727022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p805K-0005nY-Kt; Wed, 21 Dec 2022 14:28:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467960.727022; Wed, 21 Dec 2022 14:28:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p805K-0005nR-IF; Wed, 21 Dec 2022 14:28:42 +0000
Received: by outflank-mailman (input) for mailman id 467960;
 Wed, 21 Dec 2022 14:28:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=GA0H=4T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p805J-0005nL-68
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 14:28:41 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2050.outbound.protection.outlook.com [40.107.249.50])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c2c2e983-813b-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 15:28:39 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7299.eurprd04.prod.outlook.com (2603:10a6:20b:1d4::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 14:28:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::4da2:ea8b:e71e:b8d8%4]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 14:28:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2c2e983-813b-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R6lUJvR3BJ9bA5dcLHKShGnb7whZGnw9/Q+zxFyoxkhCZgKKVM3OAJvRyPjlWl1Xcx9VoaihcRlMjmPODQsHzzQ/SXXrXLQ0pX10UXCPy8aydul+J7MMiGHJRRcEfodwserRHD93WOeeCc6EwYfYBPOc/ja8C/WYFAKe9FaUqdzHlpw/IoCLIhIO4Rxx2CuDLYOUS74DTN4GMDbPI+XMxYli/DrxSBgXWqeB+ZiZmXDhz62Ttf9SKZ7Q2umBbcQ6kNIMvyufTq7MlLt7qyMW4idcJWZ4U2/wNskUS5465Jg+wpaI+8EEJ3i12L0tg6RcKQX3dFU44dBs3eSV3FJ6Nw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5bzW95XeRgMGOpd47+WI11+pl6WdJmyLKjqUrmzgKpo=;
 b=L20rlfGizwQ/mAh2msm3cxAxThzAEno7s6YSHMkL1JfWjmtDFhz/4Iefos9z6zvEEgxHC0oMX+r5vEeTZ0UgR7qsLpXHdTf0DYRtpqC2x/xtjiO34CZFL3BXkNNOa3/ZhDiAkYt9km3fmydmhTNgMkuKjOal4w2BwVuMbYc2lxR6i0ZjWjzc0BsBOinPvKJrdce43EmH7oZEZF1z2P66UCsAVu5vAuxDYVnmLICgOb1qOhqPpWEUUwp/k3e+9v2+wC6A3CbkaAORnrNYpEKZIxf9XuB8eoBQnFZOEmm2GNu9oKfuArYLOeN0CV4hJtN82K74ctSIh79keddaNhUBMA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5bzW95XeRgMGOpd47+WI11+pl6WdJmyLKjqUrmzgKpo=;
 b=K9erS9aQzFxYZOXttbSE+KhvAkPs5UOtqK8ZDRy0xCWx8HoUXpEEod6orlWjXWyZN7tXMU2MUcBtgkjkdR+UVGBnDwO/6eSo0tfEgUY5kj92b815tPmfyEpSz2cs9zxpzZ/wOV9Zg8OMETTg51vTIFdxC+FcY3yEhe4RX7PDvveH9vwY934qBin7SXTqwIF2glVcTHvHXzOf6VzWLUcZisJ5XMeT8QaL69uCjk6yUVgWH4QxHoHwS4VslhJel7QozeHsUcgDIBQKigLLnmjx/VtBuWLEJgFWRKc91l4V8QovybuO8T5x2Q0TQKCkyegf0101YoOnFiAtyZW5lud7Jg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <053dc83b-2e9a-3fe7-621e-7c187d511d83@suse.com>
Date: Wed, 21 Dec 2022 15:28:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 1/8] x86/paging: fold HAP and shadow memory alloc related
 fields
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 George Dunlap <George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
 <660507f9-87fd-1061-1fa0-2aeb42ac2eef@suse.com>
 <ef7d0d5d-de03-a0cb-351a-d4b0993b9268@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ef7d0d5d-de03-a0cb-351a-d4b0993b9268@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0153.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7299:EE_
X-MS-Office365-Filtering-Correlation-Id: faba73a8-21b5-4d22-ffb6-08dae35fa5c7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0ScvePfAtjJpY5F7sZKRrCdH304koXchxvXiYQUzUc3h122vWIY4em2bPI4PNyTWBuukE5c6rFEGwoPaP0R2sCSWeXdKPfGM0vNL4awZxG2PttOSFM1GqVym+L3vwaWDXY2MGD1WCOWyqUUsPG25r+LbvrEBbGXgqcnJ+w8rE+4AWLB+JQsqaMrg6Tj8KeXOK9SLRzy2OhlDu4Jf0MyJHGoAth2McLHJpUvtQstRympRZJNHdKhUc8bJvmu2CzLib+yfSSOke2Uk/r42BEBF3z/bQRFdf+sM0UvhL0p4CPKKQbmJJ6Mbftuyze6SZlkHT2nwoydTWxnY8jtFBHDamwmtIoiNguzbmGEQvSaPgThrtbK3Vosn36R/Hu65Y1TavDn0SEeyKr0+4fhO0dISEpl8LtDOdC8yYi7lkp0mO0LU3dIYQHQSkeeVLlhHaS2OfgwPp9JQFf7XiuBcXAJmmqchb4o8pDWiIYomIVUJIJnuw2SqVMgQ0PCchyngpCjiLQOA49UGHOZ+Atfy+sAexEi0bVvn8IyZ5bAKP0a/H5OzUAgCb6NDw1LBS+gmEz2lOqjxxXB5ayNRJz8S8g0d3a71KUPYt3HzcGId5Vzt40X27OEn4MFoctzZTRQmpnlmahe3QxAZpPZZYBva3uBGPqX56RUt1hxctHvHo1vMuIaIzdLMjj3ExbEoi09k849yjcOgzzvv0RHzDvd0dMwqavuTeqDWLwVXAmZqCk49o9o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(346002)(39860400002)(376002)(136003)(396003)(366004)(451199015)(6916009)(86362001)(4326008)(8676002)(5660300002)(31686004)(6512007)(186003)(26005)(66556008)(38100700002)(66476007)(316002)(2616005)(31696002)(66946007)(478600001)(6506007)(36756003)(53546011)(8936002)(6486002)(41300700001)(54906003)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MlZVT2QzUFJOV0dUWkZ2TmloVTRBaWUxK3hVSk5ZUlhFVWZSc1Y3amJCb3ls?=
 =?utf-8?B?MmlzSVZTSjI4WnduZWpXUnIxWVVkenJIWE42cmtCM3RUSmZkTEVyQUtKRlho?=
 =?utf-8?B?QzR4dGRpR21FTzNBN1Y5dTVzb3VSR1Q1ZVNNb2NVdDBrMHhjcGF0dWtlcXFv?=
 =?utf-8?B?Z0Noa2lFV3FkUjhVeDFLWHJTSzd1aVR2S3M5aGcyaENYQ2s2U3BrZmxNTFJs?=
 =?utf-8?B?TnlMbkhlb3kyeXRFRmpuTGZldXJ3QmhQZmFJbkJ2dWUzM2REUElXaEtZNnQ4?=
 =?utf-8?B?SHFTRFZQbXpsOURYd2JhaDVtSnFVQWNVUjc1alFFZFBMS0F6K3Rtb1ZnaHFD?=
 =?utf-8?B?TVdLR3UvOUt6U3JYVGUrenJvbStzdDBLQWMrbmtaQXoyeDl4QktLdXBFNFVh?=
 =?utf-8?B?Y2RMQ21pejlQMThmSGR5RDhRSmRtd3BkUCtpUUtNTU4rMzk5d05tYk02ME5Y?=
 =?utf-8?B?Tm5GbjVuL2FwdW1BNi9vOU1oMVEzRE83OTY4NGZyYW9ENGx6ak5YWW9COFRS?=
 =?utf-8?B?NHJYRjB6OGVSMVhMQ3JxQ3JOcTQ2UElSdHROb01XRk1xN3oreEF5bTBMS3gy?=
 =?utf-8?B?VEFCWURGcVJqU1dLQVFrMk5PblpWK2xIQy9EZFhXSnF2MkxDa1BHNVRtSkt4?=
 =?utf-8?B?SmZLejAzR2VWaWdWTFZwcGszWXRwMmlZTkhUc1cxT29wYUpvbjlkN3BFWHlH?=
 =?utf-8?B?ck9zRkJ1Zm5sTmhXdEtuakFNS2UxZTVuUDFQWHV4Y1dLZXpTek9HcDNnb3RJ?=
 =?utf-8?B?aW04N0psQ2RmY2YwZ2NveTNld2dFYTFqcVNwUWwyRTFzaDdJU0NEWk96VnR2?=
 =?utf-8?B?YXhYNVZiVkFObzVSVUlRN3dEakN3My81YmFuc3dGNm4yaEhud1FyTjJ3SFNz?=
 =?utf-8?B?ajlCYmhjNFBkN0pNZDM1UHF4VjVyNCtETDlwVlU4ZStRcWRUVnRna0ZFZy9n?=
 =?utf-8?B?TG03cGFsM2MrTVk3VHdpeURBdC8zRVlkOVVTVUhmN2ZRcWhNT3ZVdmZEZnho?=
 =?utf-8?B?RUY4VExZejYvU2s3ei9Tb3RaR0tQMksxMkhoSG9EWFdWdWRRMlF4dVUzSkpl?=
 =?utf-8?B?NEp4TjN3cjVUem1WVlFDbmtPNUtxTUZEd25DaURQZkg1cmFsdldCaHFieXNo?=
 =?utf-8?B?RGs0TE1pNEJoSkNSaFl5emtZYXpUUmpDREJNU0ZIdnFzWEppdU5RSndwMXFw?=
 =?utf-8?B?R0JSNitHRDIyRUsxYWkxZVBYSzM2QXdpV095WFNBWHdvUXFhY3N0a0JKS0VR?=
 =?utf-8?B?YjhCQ2xackFCbEp2UGZRVFRmOFhsZjc4eW5SN3J1M0hlVDZsZGxZdklqYVFv?=
 =?utf-8?B?SllPdWNyaFU2Z09Nc1Brd3ZCU2xXcG9tMjEraHd0RDI1M3ZJdkkzUk0wMnZy?=
 =?utf-8?B?eU95N05UbStSRkxZWFI4UU5wRHZ5dVBPd1ppOExBMUFpNnUxN1VYVjh6MFFE?=
 =?utf-8?B?cVRzRGhTUWhjZ00rNDlxZkNPallDQ0Y4YkhxVG1ja2EwdXA0NFRVU01kU1Bh?=
 =?utf-8?B?TmNxQ3V1c3FPQzdIYS9oT1IySWxmVlg3bmNyTzhpMWYrQS9sVElWbit4YWtw?=
 =?utf-8?B?c2lraFVMK2RzNVU1anRFT0FRT1Y0VDF5cm1Rdjc0SGUxdjJPdXBiUisycFNm?=
 =?utf-8?B?MVk2TENCVUUyTFZjT2hSV1R2dlZwVmtWUE1CQ0htM3VOcUZiMGxOOUZrVGpI?=
 =?utf-8?B?eHFlWStWNlBxUWxqSHIwSnFaMGJQd3l0RHQ3UFdhWUdVTG91OU1GTXlaVWRK?=
 =?utf-8?B?d0FpNnZQZWNYUFpMNHRPZU9WalhLYk1ER3JnYzF2dmppeTRETUpFZG9DV2ZM?=
 =?utf-8?B?VkVPSXhUd0R5MUh3S251OVI5cmY1MWZ0czZZMENFaXFTdTVnTmEzUnY2Z3ZY?=
 =?utf-8?B?Q0xKK0VPemNYTlhQQ28wMEZDbUlzY0hoY0U4V05SUzZnS3VNeFdqQW5TOWN5?=
 =?utf-8?B?emVhREpZcXBHZGxPZHVYbjU2M05DcFlsY214WUlHNDgvOGtrdnNlNk5wNWRk?=
 =?utf-8?B?ZnpFd3lmSzBGa3RIV2YyVVhESlZKSUduZXhEU1AzbGlsTUpRR2dSNCtIYnZJ?=
 =?utf-8?B?dGl3UkwyUUMwT1ptY1VTOU1aK3RDSkI0cDczUGMxRUVBL1hnRTZKdGNITjVr?=
 =?utf-8?Q?i2ZBV8SiMFLnxSoToP99djJX8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: faba73a8-21b5-4d22-ffb6-08dae35fa5c7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 14:28:37.0498
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wvO5WH65n3X+BYJA+BRLx33DelxgN6dApOpyz1RrVzwHbQ/8f/PVC6rihg+obM+az3RIhTPwQLd4E/+8sbW4cA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7299

On 21.12.2022 14:49, Andrew Cooper wrote:
> On 21/12/2022 1:24 pm, Jan Beulich wrote:
>> Especially with struct shadow_domain and struct hap_domain not living in
>> a union inside struct paging_domain, let's avoid the duplication: The
>> fields are named and used in identical ways, and only one of HAP or
>> shadow can be in use for a domain. This then also renders involved
>> expressions slightly more legible.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, with two minor
> suggestions.

Thanks.

>> --- a/xen/arch/x86/include/asm/domain.h
>> +++ b/xen/arch/x86/include/asm/domain.h
>> @@ -179,10 +173,6 @@ struct shadow_vcpu {
>>  /*            hardware assisted paging          */
>>  /************************************************/
>>  struct hap_domain {
>> -    struct page_list_head freelist;
>> -    unsigned int      total_pages;  /* number of pages allocated */
>> -    unsigned int      free_pages;   /* number of pages on freelists */
>> -    unsigned int      p2m_pages;    /* number of pages allocated to p2m */
>>  };
> 
> Do we want to drop hap_domain?  I can't forsee needing to put anything
> back into it.

I would prefer to keep it, even if it's unclear what may want putting
there. It's not obvious to me at all that nothing ever will.

>> --- a/xen/arch/x86/mm/paging.c
>> +++ b/xen/arch/x86/mm/paging.c
>> @@ -979,17 +980,17 @@ int __init paging_set_allocation(struct
>>  
>>  int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
>>  {
>> -    int rc;
>> +    unsigned long pages;
>>  
>>      if ( is_pv_domain(d) )                 /* TODO: Relax in due course */
>>          return -EOPNOTSUPP;
>>  
>> -    if ( hap_enabled(d) )
>> -        rc = hap_get_allocation_bytes(d, size);
>> -    else
>> -        rc = shadow_get_allocation_bytes(d, size);
>> +    pages = d->arch.paging.total_pages;
>> +    pages += d->arch.paging.p2m_pages;
> 
> Any chance I can talk you into having a second space before the =, so we
> get:
> 
> pages  = d->arch.paging.total_pages;
> pages += d->arch.paging.p2m_pages;
> 
> nicely aligned vertically?

Sure, I can do that. I recall I was actually pondering whether to ...

Jan


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 15:23:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 15:23:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467971.727033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p80vs-0003Sz-OF; Wed, 21 Dec 2022 15:23:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467971.727033; Wed, 21 Dec 2022 15:23:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p80vs-0003Ss-Lb; Wed, 21 Dec 2022 15:23:00 +0000
Received: by outflank-mailman (input) for mailman id 467971;
 Wed, 21 Dec 2022 15:22:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eskD=4T=gmail.com=burzalodowa@srs-se1.protection.inumbo.net>)
 id 1p80vr-0003Sk-5r
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 15:22:59 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 595081a5-8143-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 16:22:58 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id z92so22502498ede.1
 for <xen-devel@lists.xenproject.org>; Wed, 21 Dec 2022 07:22:58 -0800 (PST)
Received: from [192.168.1.93] (adsl-43.109.242.137.tellas.gr. [109.242.137.43])
 by smtp.gmail.com with ESMTPSA id
 ch16-20020a0564021bd000b0046c5dda6b32sm7166080edb.31.2022.12.21.07.22.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 21 Dec 2022 07:22:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 595081a5-8143-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=4WEVYJIcIYodE8lPDzyPG/IV52X2I9UG6b0xBTbaerc=;
        b=MsREc2VLkxXd8FMFo1j8uR6sA/7Tb57BnZn/76EHqkplp5PHNqkwGtYoEqoSOYaft8
         Z37XiPtDnOQpR724ej4tYs0DnsSoEYRqF0bwtE/HRv7zRizLXp1o6JB1xKgJfMiGTGQ3
         oqBiiafuL/kk6lB31wgDXJrTz1YW6EpP0A+4BynMoqCXtqXIZns7qefP0j7oIw2hrP1h
         Fxc1AjOhRwoUOtlq0/XDWvocttHCFDi3bHwGP/CA6gOGXs2c9sc7AhbRsJt3MEGedLZa
         dZS+vS9mDV1+/pWe3/++EQjJKV4lWmliqJ0ZLX50dDipHUoBxv5cPYOLrqwqtUWl496g
         jj8w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=4WEVYJIcIYodE8lPDzyPG/IV52X2I9UG6b0xBTbaerc=;
        b=T9FfaL6NJh3wm9DmbOwYcAYYRDF8lSmretpXmZ21aa759F9sTxYf1//9/SeqXQDsH3
         /2Er0ZPDEbjjeMyYhzHHSc9Rjs6aLpPI1ONOCOvcpT8dX8MyuU4rHt277c3VgGFPoYsL
         2XPBYRFBJW/tvx6rzxLNjzDiMeVbzHIcADDNGJGkpkcWZQk27aHAza1nW2PQRYTUDFJI
         c7oS3rA21aftE2KcjrEm54per4wZneag/PbpxeDsV67n6YT0lDnYaSQ9b2zDZcwi252y
         KeOFM8Vtw1pAPoHbAUkfeesIfgPs+HsKfye6U+UtYc0exZA6yZlY2KmNpX3+cfRFK6k0
         nhSQ==
X-Gm-Message-State: AFqh2kqZHaJNLv+2ECaO0NoNqBjVjbc5tkk7q6nmN9vpc5mDihKzv7oB
	bPgtJZD4zYk4EJkIRzmygVo=
X-Google-Smtp-Source: AMrXdXvKGK3KFMzSi7IIBiKUMREEIz8izPbfZOsExhcEe90PMGwsC1I3HciEElH+3CjxPRCtsauyyQ==
X-Received: by 2002:a05:6402:e0a:b0:46c:b25a:6d7f with SMTP id h10-20020a0564020e0a00b0046cb25a6d7fmr6332705edh.8.1671636177614;
        Wed, 21 Dec 2022 07:22:57 -0800 (PST)
Message-ID: <13b1c5a5-35c3-a413-3458-ce39c7799a10@gmail.com>
Date: Wed, 21 Dec 2022 17:22:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.4.2
Subject: Re: [RFC 5/7] x86/iommu: the code addressing CVE-2011-1898 is VT-d
 specific
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, Roger Pau Monne <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>
References: <20221219063456.2017996-1-burzalodowa@gmail.com>
 <20221219063456.2017996-6-burzalodowa@gmail.com>
 <5a78ab9f-ce3a-a4f5-9768-725bd9f8a745@citrix.com>
From: Xenia Ragiadakou <burzalodowa@gmail.com>
In-Reply-To: <5a78ab9f-ce3a-a4f5-9768-725bd9f8a745@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


On 12/20/22 13:09, Andrew Cooper wrote:
> On 19/12/2022 6:34 am, Xenia Ragiadakou wrote:
>> The variable untrusted_msi indicates whether the system is vulnerable to
>> CVE-2011-1898. This vulnerablity is VT-d specific.
>> Place the code that addresses the issue under CONFIG_INTEL_VTD.
>>
>> No functional change intended.
>>
>> Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
> 
> Actually, this variable is pretty bogus.  I think I'd like to delete it
> entirely.

Nevertheless, I don't think that it would be appropriate to be done as 
part of this series.

> 
> There are systems with no IOMMU at all, and we certainly used to let PV
> Passthrough go ahead.  (Not sure we do any more.)
> 
> There are systems with DMA remapping only, but no interrupt remapping.
> These are known insecure.  I'm honestly not convinced that an ISR read
> and crash is useful when the user has already constructed an
> known-unsafe configuration, because a malicious guest in that case can
> still fully mess with dom0 by sending vectors other than 0x80 and 0x82.
> 
> In particular, this option does not get activated on AMD when the user
> elects to disable interrupt remapping, and I'm disinclined to wire it up
> in that case too.
> 
> ~Andrew
> 
> P.S. It occurs to me that FRED obsoletes the need for this anyway,
> seeing as it does properly distinguish the source of an event.

-- 
Xenia


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 16:02:59 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 16:02:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467983.727043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p81YM-0008V3-Sq; Wed, 21 Dec 2022 16:02:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467983.727043; Wed, 21 Dec 2022 16:02:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p81YM-0008Uw-Q8; Wed, 21 Dec 2022 16:02:46 +0000
Received: by outflank-mailman (input) for mailman id 467983;
 Wed, 21 Dec 2022 16:02:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p81YK-0008Um-OJ; Wed, 21 Dec 2022 16:02:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p81YK-0007L6-Lz; Wed, 21 Dec 2022 16:02:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p81YK-00087l-8A; Wed, 21 Dec 2022 16:02:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p81YK-0008Q4-5f; Wed, 21 Dec 2022 16:02:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=v2wrQHRVMUreBpZJrHJfNIAo4Qx1gka0FsBpIQLhwz4=; b=HnfoHga+qu/4q65Bj597cRvuVW
	8Klj+2bmp66V0IWgL2gbIn4eWdCCUzwPUtd7G+KsYNcu6dg52bjVjYhQChPNJZI0vTbcYdoP0c1gp
	XOGj+FX12ZcKFL8HVK8oLjlBqsN3eZGWlBqguGPLvo7PbixrBQx0WRY84sFk8+9eWtWg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175441-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175441: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=0b633b14944903c32aa061befaf38bd8d994cf13
X-Osstest-Versions-That:
    ovmf=d103840cfb559c28831c2635b916d60118f671cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 16:02:44 +0000

flight 175441 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175441/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 0b633b14944903c32aa061befaf38bd8d994cf13
baseline version:
 ovmf                 d103840cfb559c28831c2635b916d60118f671cc

Last test of basis   175202  2022-12-14 13:42:59 Z    7 days
Failing since        175214  2022-12-14 18:42:16 Z    6 days   41 attempts
Testing same since   175441  2022-12-21 11:13:47 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@amd.com>
  Adam Dunlap <acdunlap@google.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Ard Biesheuvel <ardb@kernel.org>
  Chun-Yi Lee <jlee@suse.com>
  Chun-Yi Lee <joeyli.kernel@gmail.com>
  devel@edk2.groups.io <devel@edk2.groups.io>
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  jdzhang <jdzhang@kunluntech.com.cn>
  Jeff Brasen <jbrasen@nvidia.com>
  Jeshua Smith <jeshuas@nvidia.com>
  Jian J Wang <jian.j.wang@intel.com>
  Jiaqi Gao <jiaqi.gao@intel.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  Judah Vang <judah.vang@intel.com>
  Kavya <k.kavyax.sravanthi@intel.com>
  Kuo, Ted <ted.kuo@intel.com>
  MarsX Lin <marsx.lin@intel.com>
  Matt DeVillier <matt.devillier@gmail.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>
  Nishant C Mistry <nishant.c.mistry@intel.com>
  Ray Ni <ray.ni@intel.com>
  Rebecca Cran <quic_rcran@quicinc.com>
  Rebecca Cran <rebecca@quicinc.com>
  Sean Rhodes <sean@starlabs.systems>
  Sebastien Boeuf <sebastien.boeuf@intel.com>
  Ted Kuo <ted.kuo@intel.com>
  Tom Lendacky <thomas.lendacky@amd.com>
  Xie, Yuanhao <yuanhao.xie@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   d103840cfb..0b633b1494  0b633b14944903c32aa061befaf38bd8d994cf13 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 17:17:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 17:17:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.467998.727054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p82i7-0007I6-9O; Wed, 21 Dec 2022 17:16:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 467998.727054; Wed, 21 Dec 2022 17:16:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p82i7-0007Hz-6l; Wed, 21 Dec 2022 17:16:55 +0000
Received: by outflank-mailman (input) for mailman id 467998;
 Wed, 21 Dec 2022 17:16:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KbXi=4T=citrix.com=prvs=34759bb5a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p82i5-0007Ht-Sb
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 17:16:54 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 418823fc-8153-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 18:16:51 +0100 (CET)
Received: from mail-bn8nam04lp2047.outbound.protection.outlook.com (HELO
 NAM04-BN8-obe.outbound.protection.outlook.com) ([104.47.74.47])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Dec 2022 12:16:45 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH2PR03MB5207.namprd03.prod.outlook.com (2603:10b6:610:9a::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 17:16:40 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 17:16:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 418823fc-8153-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671643011;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=78hdFkhugtndbQfKW2oqZIBhlrh+qFFdBYZc/DoQjuw=;
  b=Gz+QN73YSA3oZ1IsdIVceMdXOpL/gpFxqO1nW/l+CbWTWjVLuDd4aWQR
   V77Z9Lw1nZAqsE5c2UQPWrA2v30/dK8Zt9+qVFDAVRSIOlv8iX0Wp8mLl
   p7g2v/qakyT5ehww0gli7W1dxNnzfy0ubemrA8fbFIVijUx9PBCeXbVrv
   I=;
X-IronPort-RemoteIP: 104.47.74.47
X-IronPort-MID: 91995855
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:SGgV3K+oSI2WD6XmdTRxDrUDtn+TJUtcMsCJ2f8bNWPcYEJGY0x3n
 WAZXD2EPv2DN2GnKN11O9m+900AuJSGndBlTgZt+Hs8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6oS5AS2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkl08
 6BIKBAUTyuYqMGKwpOkb7Mzi/UKeZyD0IM34hmMzBn/JNN+HdXpZfWP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTePilAuuFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuqAdNDSe3lq5aGhnWV3EwsOkdJCGGpoOW9th+VZ+hYM
 RwLr39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLE7gDcCmUaQzppbN09qNRwVTEsz
 kWOnd7iGXpoqrL9YW2Z3qeZq3W1Iyd9BXMDYAcUQA1D5MPsyLzflTrKR9dnVaSz3tv8HGmsx
 yjQ9HRhwbIOkcQMyqO3u0jdhC6hrYTISQhz4RjLWmWi7UVyY4vNi5GU1GU3JM1odO6xJmRtd
 lBe8yRCxIji1a2wqRE=
IronPort-HdrOrdr: A9a23:AuQN+6DRLAL5Z+zlHemK55DYdb4zR+YMi2TDtnocdfUxSKelfq
 +V88jzuSWbtN9pYgBHpTnjAsm9qALnlKKdiLN5Vd3OYOCMghrKEGgN1/qY/xTQXwH46+5Bxe
 NBXsFFeafN5VURt7ef3OG1eexQpeVu+sqT9IXjJ3gGd3AMV0i41XYBNu9MKDwPeDV7
X-IronPort-AV: E=Sophos;i="5.96,263,1665460800"; 
   d="scan'208";a="91995855"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FQa2v9LTLH7eor2FeCsx+XKa5EvYaCeX4TfkyIFc+6r1IvykZevbD5XS32+iZl8QNYR8JxfU3a3Pri0Ab0aimNF3y7XRD0QnMpnCehA8Q/4MmZpH9ppw6BkmS0Y8y1xkKL1pDcb4Py5oTrceHfIyrs3rVEf8Y/jcPIeKNjrL4YAHM+mA3BSbu3UMDtOHxvxEpt/fOo5pl1u+z5lAV1GLvaKUszyKSLEAhOIJs0ShfPE2J87u41rNjyNkOj4d9hjCXT7L8awHUxh9auw/kH2Cw+YH5km0m8UoSWAqeMtLPwuEl9Fxp5DgsF7Wwx1N2jJtNJcVwVu9lbRH5Qm69F//nA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=78hdFkhugtndbQfKW2oqZIBhlrh+qFFdBYZc/DoQjuw=;
 b=b9IkKW7AOFue8lFGTdHLshgNpEflGgE5NfTIWHWuPWc7P5mONAnyy5qOJTLeXoZ+rbysr419aPK6M31t3n0GZfxP1+uQTX/12P0LT5gK8S/WFGVesKrqnOmPEba2wAVIjzTZ5/PCphaqd2byhjgm5RIMYBWr8JxE+bAGfEX4GCI7ID85hlFgaTylw8CbhfSkRaTk2/mB/jSx5tTAUKbtfPIRd5d6x5LZ3VfRyXwW2lg6Nmz/ylYBRWiPRQK6A1aJLX0ErR3EOYj/uP0MrRLFR4eGZea8YAqGg48zWPzZsH6fQNFnAfumP6B6annHbuWs9a32IMEFo26J5UjB42ipjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=78hdFkhugtndbQfKW2oqZIBhlrh+qFFdBYZc/DoQjuw=;
 b=Wj3PzJ1Pw5XTCS/cWl1Po7ibLrsjeumpbaQB0w2wJOhSyGQG9BUTO1wYqK0xfTeGpxQx4xYYHIMAR1I7WZa2Tara6UFIIyiYJBT1oytvKUuZroI/EV/jx5PcyzjgMr+V/PvMK65XEheCOScb1KLpwP40CmHryoeZnm6epZp3tUY=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, George
 Dunlap <George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 2/8] x86/paging: fold most HAP and shadow final teardown
Thread-Topic: [PATCH 2/8] x86/paging: fold most HAP and shadow final teardown
Thread-Index: AQHZFT+yfO+11AII6U6krdJn3spgiq54lXqA
Date: Wed, 21 Dec 2022 17:16:39 +0000
Message-ID: <af33fef0-46f7-b206-53ed-33d66f0f008c@citrix.com>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
 <8d519e00-83c6-aee9-e7ba-523aa4265e1e@suse.com>
In-Reply-To: <8d519e00-83c6-aee9-e7ba-523aa4265e1e@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|CH2PR03MB5207:EE_
x-ms-office365-filtering-correlation-id: b6122077-68ca-40e4-380d-08dae3771fc0
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 v1C0YI6+udqhiIJpbW2HDJUW0YUBvoobJYNOOw7iYyCR9fhvGC740CrGAvEWvXFcaETm1OqHLJlOjPe4wktusPOrwztMHIJlN/0aQhi1B5pNubGazuy7xQcPxnYmEpzHzWgcLzUlIAW1rU1y7Wv1a3xqXf7qeGwOGkfdesTH0Yhwfy5kfL1qP1xpw9mbjoOrOaO/mzhR6SzEdSak9L90BhLtATsMsYf0Kss9xUi8F80OqIsiHWNFEEQbAl3YoYUcOLMNW4qw0eJRESIbeVUzyQ6ns5syioMg+5zyDMuTG6oYJuauCtLfA0wLQ+rXQJ42Ej+oUvvWjsRa/IB7pX9zb3U0Zz5qVTzcRgdC6GMUL6OR6KSZZA+7lNneUzsR1DuyKrrbpXCnztzmjKiWmYckaEbUHSaPPx8d83istXd/HC6D2KJcICg4MVGkThuHcKcmMVdcjeERW/qsR0NBIXuCtNst9iEER2OUjeAx4/14H8zjFgMKIRyTd+rDED2kX8e5/VwW58UrK5xQtE5GwN2CnY/awjuFp8CQCoCr+B9GZ/6pYd4oLs9je3xFyN9fGJqJflBD31z65UmtUsA/a1alTTJ6RDDSm6DJPhIKBdYotXDVihx4ronRn9gGA14XtkB5J8wYpMuCjCjce0OWH8QICY2f9enu5pnyjiK9Iz9NP59Lrv5a8X4t2ygGVbm3QlqRH4U3eQkkisXW3D+A0G+GSiWsJlxDN4I09jjzD6k3E0IzI6DOggATCuNjqTlKtUF4NhbjdBLnLpsxyCTB8b2HyQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(396003)(376002)(346002)(366004)(136003)(451199015)(66476007)(66556008)(31696002)(64756008)(91956017)(86362001)(66946007)(66446008)(76116006)(4326008)(8676002)(5660300002)(316002)(36756003)(8936002)(41300700001)(53546011)(186003)(6506007)(2616005)(6512007)(26005)(38070700005)(71200400001)(38100700002)(82960400001)(54906003)(6486002)(122000001)(478600001)(110136005)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UkVRMVlGN0VwcFp6cDYvWUNLUTFwMk9uSXdjbTEyQVdwSnFjVk12VytzejdY?=
 =?utf-8?B?V3puaFBwRU1Mcm5OMGhkbVl6WXhXQXUyejU0ZVpHd0R3Um90OUdlZHd1TDd2?=
 =?utf-8?B?RkJlVlIzNmFySFQ2cFNWZUZKTFMzYllyRnZDWWFVZUFCMjFIZkkrekRDenlF?=
 =?utf-8?B?bUxSVjUvY0hGbDJvT1VWMTcrbmc3L1pWVGlTZU5tUm1aNmY1dmhjZm5RZk04?=
 =?utf-8?B?bm5pQzE0Z1VTdStFRUo2UWUzSmoxb2xnSm51cUR3UnFSc0JPRFRWck5NbGt5?=
 =?utf-8?B?WWtxRE53UC94VnBMTCtTNVVnUVY1MnU5bUtKd2FLNUZwQ01wUldHSmpoM3pE?=
 =?utf-8?B?QTFsVytCV1djYW9EcUZQSVJPTnoyNUdESUhuRlQvd0FKSjBINFgwZnJXcHVM?=
 =?utf-8?B?bHVveTV6d0g3QlFLS0lxZzlYWTBHOFV2aHZBd1hSdkkxcEZkRlQxN0ZNOTdt?=
 =?utf-8?B?ak04dFpCczBXV2FsMFowb2RLdUtMYWd6ZnYwdzVoaG9xVjNkT1RwRGdNbTJt?=
 =?utf-8?B?clQ0V0x4REk3UHV2dVRhR2IxUDU3ckV2SUhGdWpzanhwdzRjSmd6MXZ5UVBy?=
 =?utf-8?B?d0xsQnVRaVRDUnkwcU95SFcxSzZ5WHIvNkhtamRqVVkveGE1cWRYMFdvLzhq?=
 =?utf-8?B?QzFsZWluYnVzWnB1SmNrWU13M1lzaHkvWGQvdFZraVU5RHVqRFN3UmtJYmp0?=
 =?utf-8?B?U2g4L3RpOWd3Zm9DbXppY3FjNU1QRnIvUVlVSGFobnhYbi81TFU0M2hTZXJj?=
 =?utf-8?B?VGNONnQwbmZIclFjUzBWSTA4cWlDaStZQUMyckg2b28rTi8yUklzR2FGNXZW?=
 =?utf-8?B?SnlFOW5laWlTdmFZVUM2UUZ5aXlhZkFqT00zdTdESVdCL0RPZWxWZEZ0VVJV?=
 =?utf-8?B?S2xzZmN0L1pwVWgvSHZOWEl0MjZKQW5CbmNvYW5vODRRb1Q5cURRaFo5REcr?=
 =?utf-8?B?QTVSS3lzcEx1L2pEcHFVSWowL1ZlR0tuODNKdy9EbjE2emlxQkhJaHEwYnh4?=
 =?utf-8?B?MlBYd3IxSjBjY2xPQnlWTGtuYWk3am81K2JCYWpZeEYyRWZoL1hkY3NpVTZW?=
 =?utf-8?B?QUJFSExubDBnci9NekZVSUcvSm9LYmNqRE1sVUV2YzRkVmFoSE4xaGJrbXhr?=
 =?utf-8?B?YjhzY1ZXLzdOemZMV05LbUEvMUQyMURqRm5OZTgwelRuYlRtME9jU0thN1FY?=
 =?utf-8?B?azdoVkszMUg4NGl4bkRGM3ZEejJNVTVNR3hQQzlrekU3SUVXbUdnUVBOWHRl?=
 =?utf-8?B?TWZ1dUhEK3VKTlRRejlvTTUxVHNzZm0rZG9Ya2kzOTlwa0R0anVpQTdqd3RI?=
 =?utf-8?B?SnkrRDRTMENueDQ0Ujk0TnJkcUF3WVRtdWZydGtNQWQrYm15bzBNUkdoQTNQ?=
 =?utf-8?B?TGh0TDA2QkRGM3JSSkRJa21qUkFsZWNtdVZwQVIxS1p3T1pYbHEyalUzWkp6?=
 =?utf-8?B?c01pR0xGSUphRVBBT1M4RUdOd29JSmw0WDZhK3JPTVdEVU40bm1ZK293QVQz?=
 =?utf-8?B?MXB3bWxkNDRBYzNqWUVxVEJlQmVhWTI2MkJsV3plNklMOVA2M3pIUkZsZk4w?=
 =?utf-8?B?TERUcmM3NTMyUWJCODdQZ042bTdvMis2NVAwaFQyRW1IUWJMMjU4a2M2RklM?=
 =?utf-8?B?L2RLN1NIOVM3QlhJVHZEWk5qc1JjUWVrVFRJVTBUcmp1N0d1WGdSdzB2MDdB?=
 =?utf-8?B?NUNRVnhaZ0ZsOW1FRFQxNnpzZzlFclJoRHlLMTRnV2wvYzU0WnBIMm5sVHF5?=
 =?utf-8?B?aTUxQytmekhSTFAyUmZFNm52WnJmaXpwcUVBMEZXVEVjUTU2VEpDWnJDNS9J?=
 =?utf-8?B?VnFZZzRLUmM4aFhsOWJWZjN0cytOSHo3NTVjRTc3ejFmZmlZME1pZ2xMYk02?=
 =?utf-8?B?SU43cjdINlQ5WDVUcmNmMmhXSjFtSnFCcTVPNXhwM1ovWXZOMEVlMXdqR1BN?=
 =?utf-8?B?UDNEeGRycXoyTzFHWUFTdnNqMGlteW5mZ1ZjcnFJUUtPd0YvVy9Xa0ZLRENP?=
 =?utf-8?B?RGYxd0ZWczBMckU0ZzhuTDAvWlAzSGwvNE1oSjBPamdnQWdKVkk5azI1U3dG?=
 =?utf-8?B?QUR5bzhNSFdrbE1RcDlETTlwSDlrVlVma0k5OStRV0dkQVhjdzV2cnBsZ2Zv?=
 =?utf-8?Q?xeCk2Caz/SyqG3hs78tjXIwWQ?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <88B5374A5E1E1A4DAA2A254815ECA1CB@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b6122077-68ca-40e4-380d-08dae3771fc0
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Dec 2022 17:16:39.9494
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 2Ricmy4jxjyaZZ+fDtfuDzBsXVQ6eGxbOZP9ewdUH6ACM/AMPHxzKpyJduu/pgRTfhB85wkIVfl5oPz7Xd+Gkb4vhenAC49Khcvyo1Kj+zU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5207

T24gMjEvMTIvMjAyMiAxOjI1IHBtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gLS0tIGEveGVuL2Fy
Y2gveDg2L21tL3BhZ2luZy5jDQo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYw0KPiBA
QCAtODQyLDEwICs4NDIsNDYgQEAgaW50IHBhZ2luZ190ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpk
KQ0KPiAgLyogQ2FsbCBvbmNlIGFsbCBvZiB0aGUgcmVmZXJlbmNlcyB0byB0aGUgZG9tYWluIGhh
dmUgZ29uZSBhd2F5ICovDQo+ICB2b2lkIHBhZ2luZ19maW5hbF90ZWFyZG93bihzdHJ1Y3QgZG9t
YWluICpkKQ0KPiAgew0KPiAtICAgIGlmICggaGFwX2VuYWJsZWQoZCkgKQ0KPiArICAgIGJvb2wg
aGFwID0gaGFwX2VuYWJsZWQoZCk7DQo+ICsNCj4gKyAgICBQQUdJTkdfUFJJTlRLKCIlcGQgZmlu
YWwgdGVhcmRvd24gc3RhcnRzLiAgUGFnZXMgdG90YWwgPSAldSwgZnJlZSA9ICV1LCBwMm0gPSAl
dVxuIiwNCg0KUEFHSU5HX1BSSU5USygpIGFscmVhZHkgaW5jbHVkZXMgX19mdW5jX18sIHNvIGp1
c3QgIiVwZCBzdGFydDogdG90YWwgJXUsDQpmcmVlICV1LCBwMm0gJXVcbiIgd2hpY2ggaXMgc2hv
cnRlci4NCg0KPiArICAgICAgICAgICAgICAgICAgZCwgZC0+YXJjaC5wYWdpbmcudG90YWxfcGFn
ZXMsDQo+ICsgICAgICAgICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5mcmVlX3BhZ2VzLCBkLT5h
cmNoLnBhZ2luZy5wMm1fcGFnZXMpOw0KPiArDQo+ICsgICAgaWYgKCBoYXAgKQ0KPiAgICAgICAg
ICBoYXBfZmluYWxfdGVhcmRvd24oZCk7DQo+ICsNCj4gKyAgICAvKg0KPiArICAgICAqIERvdWJs
ZS1jaGVjayB0aGF0IHRoZSBkb21haW4gZGlkbid0IGhhdmUgYW55IHBhZ2luZyBtZW1vcnkuDQo+
ICsgICAgICogSXQgaXMgcG9zc2libGUgZm9yIGEgZG9tYWluIHRoYXQgbmV2ZXIgZ290IGRvbWFp
bl9raWxsKCllZA0KPiArICAgICAqIHRvIGdldCBoZXJlIHdpdGggaXRzIHBhZ2luZyBhbGxvY2F0
aW9uIGludGFjdC4NCg0KSSBrbm93IHlvdSdyZSBtb3N0bHkganVzdCBtb3ZpbmcgdGhpcyBjb21t
ZW50LCBidXQgaXQncyBtaXNsZWFkaW5nLg0KDQpUaGlzIHBhdGggaXMgdXNlZCBmb3IgdGhlIGRv
bWFpbl9jcmVhdGUoKSBlcnJvciBwYXRoLCBhbmQgdGhlcmUgd2lsbCBiZQ0KYSBub256ZXJvIGFs
bG9jYXRpb24gZm9yIEhWTSBndWVzdHMuDQoNCkkgdGhpbmsgd2UgZG8gd2FudCB0byByZXdvcmsg
dGhpcyBldmVudHVhbGx5IC0gd2Ugd2lsbCBzaW1wbGlmeSB0aGluZ3MNCm1hc3NpdmVseSBieSBz
cGxpdHRpbmcgdGhlIHRoaW5ncyBjYW4gY2FuIG9ubHkgaGFwcGVuIGZvciBhIGRvbWFpbiB3aGlj
aA0KaGFzIHJ1biBpbnRvIHJlbGlucXVpc2hfcmVzb3VyY2VzLg0KDQpBdCBhIG1pbmltdW0sIEkn
ZCBzdWdnZXN0IGRyb3BwaW5nIHRoZSBmaXJzdCBzZW50ZW5jZS7CoCAiZG91YmxlIGNoZWNrIg0K
aW1wbGllcyBpdCdzIGFuIGV4dHJhb3JkaW5hcnkgY2FzZSwgd2hpY2ggaXNuJ3Qgd2FycmFudGVk
IGhlcmUgSU1PLg0KDQo+ICsgICAgICovDQo+ICsgICAgaWYgKCBkLT5hcmNoLnBhZ2luZy50b3Rh
bF9wYWdlcyApDQo+ICsgICAgew0KPiArICAgICAgICBpZiAoIGhhcCApDQo+ICsgICAgICAgICAg
ICBoYXBfdGVhcmRvd24oZCwgTlVMTCk7DQo+ICsgICAgICAgIGVsc2UNCj4gKyAgICAgICAgICAg
IHNoYWRvd190ZWFyZG93bihkLCBOVUxMKTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAvKiBJdCBp
cyBub3cgc2FmZSB0byBwdWxsIGRvd24gdGhlIHAybSBtYXAuICovDQo+ICsgICAgcDJtX3RlYXJk
b3duKHAybV9nZXRfaG9zdHAybShkKSwgdHJ1ZSwgTlVMTCk7DQo+ICsNCj4gKyAgICAvKiBGcmVl
IGFueSBwYWdpbmcgbWVtb3J5IHRoYXQgdGhlIHAybSB0ZWFyZG93biByZWxlYXNlZC4gKi8NCg0K
SSBkb24ndCB0aGluayB0aGlzIGlzbid0IHRydWUgYW55IG1vcmUuwqAgNDEwIGFsc28gbWFkZSBI
QVAvc2hhZG93IGZyZWUNCnBhZ2VzIGZ1bGx5IGZvciBhIGR5aW5nIGRvbWFpbiwgc28gcDJtX3Rl
YXJkb3duKCkgYXQgdGhpcyBwb2ludCB3b24ndA0KYWRkIHRvIHRoZSBmcmVlIG1lbW9yeSBwb29s
Lg0KDQpJIHRoaW5rIHRoZSBzdWJzZXF1ZW50ICpfc2V0X2FsbG9jYXRpb24oKSBjYW4gYmUgZHJv
cHBlZCwgYW5kIHRoZQ0KYXNzZXJ0aW9ucyBsZWZ0Lg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 17:44:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 17:44:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468007.727066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p838V-0002BO-ES; Wed, 21 Dec 2022 17:44:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468007.727066; Wed, 21 Dec 2022 17:44:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p838V-0002BH-Bk; Wed, 21 Dec 2022 17:44:11 +0000
Received: by outflank-mailman (input) for mailman id 468007;
 Wed, 21 Dec 2022 17:44:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KbXi=4T=citrix.com=prvs=34759bb5a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p838T-0002BB-Qs
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 17:44:09 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10c75365-8157-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 18:44:07 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Dec 2022 12:43:57 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6937.namprd03.prod.outlook.com (2603:10b6:510:16b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 17:43:51 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 17:43:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10c75365-8157-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671644647;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=zChxmQqnmqDAaMmujjd1cviuq1JES5gpKWZtot9D8FY=;
  b=CQ6wcc/ifYhIqBbApn3VhvpChUa4MSsAhIN8AyQgbaYbE7NDKthcCjVA
   oVH7LA8wlnbbP6U7E4uAsGOCuvQbWc1FMFWNpcPgwoLsoycqVWjWaSTqD
   PJV9cekxkD1ad5qPK0k7mVl/QGmFzjRPsnfDCl7kmJZ44g/F8pUObX61u
   s=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 89913155
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:XNJ8lqpnBTW+JAHAlBjwL2IN8F1eBmIoZBIvgKrLsJaIsI4StFCzt
 garIBmOMvqLZzb0fY1ybInk8ktUv5+En4dhG1c6/HhnF3wW8JuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzSBNV/rzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAHdKaS2Imtyo+7Oydapu35UoNtHqFoxK7xmMzRmBZRonabbqZvyToPV+jHI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeiraYSEEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXop68z2wTOmwT/DjVVDEWkq+aTjXXhXo0DO
 kIo/zMFgpY9oRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8hSy2ETgYKykFfyBsZRcE5vHzrYd1iQjAJuuPC4awh9zxXDv2k
 zaDqXFng61J1JBakaKm4VrAnjSg4IDTSRI47RnWWWTj6R5lYImiZMqj7l2zAet8Ebt1h2Kp5
 BAs8/VyJshUUvlhSATlrD0xIYyU
IronPort-HdrOrdr: A9a23:WREr8qvXU+gZl/rIlDlGPRmO7skDSdV00zEX/kB9WHVpmwKj5r
 mTdZUgpGfJYVMqMk3I9urwXZVoLUmsl6KdpLNhXotKPzOGhILLFvAH0WKK+VSJcBEWtNQ86U
 4KSdkYNDSfNykdsS842mWF+hQbreVvPJrGuQ4W9RlQcT0=
X-IronPort-AV: E=Sophos;i="5.96,263,1665460800"; 
   d="scan'208";a="89913155"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OaOivxo5G38x4WBmm53ifGSnk3iGdJgl8PdPcqWKhwTG4v222c2fgYs1z0CshX31nPC4nhBx4Y8sjI/2kl+Xhx1/Ohb/cUwi+SrDxeXpW3fK4VPaDQmSVLXWcYeA9j6hwavX/SxTNDOQe8P3kT3fVmD70QhfKPPjFgL0aVO6gfuDvumFA4O6S02DAqAH2x728OtCM/vUyFgZ1bcoOydpdCsCBfGsYu/fGwfgaZbeZsmLxlJnhuwPK+Z4RawJfdstO28BEcb3Wv3kp3OiWqALaNBlQi6RgTfs2bzWonuWpZ6eFEtyFj59V4pzerTaS+ViAWCokpYSKU0RhG42do2eUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zChxmQqnmqDAaMmujjd1cviuq1JES5gpKWZtot9D8FY=;
 b=G+VWT/g8iXf6oHKC+yN5BazXJ2jCuEF+D6fjl5iwWg81YxCSs729h0GUUQ9Xj16Uaj7aslaIagTiiXxWxMYFpjsPvwJYmZZ/9ukNaw6Ng51KyfG2u9vV9UBvLAaTh4J0p/RZ8M+/l1B0AlOo1P8gySL7qp43TeOhza5SJVBRfvVX9uP8IDx0NIOoMY0q2IdxSUTSGETvac1Ne6re5FIRRWSdiqyPp5QUNhnW3vvYOX59dm91w9TgkP4lkyxjbRMDYxLx0abSLS0/BU+skgBIHaiqX2UHzT52OT1B63xyCgG+d+lv5D2YnWQdlf4sB7jCqmdLkF5ZwZR454frQ9sFdQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zChxmQqnmqDAaMmujjd1cviuq1JES5gpKWZtot9D8FY=;
 b=U9DQf/llo0mTEIG7jBQTjBITSJ40+p9tVIaOZoKkY0xEG6wZzn9ivO+/Hnq98anvYyW+FCt69Pu4lOArH9Swvz5KotLeNXanYhfAuz/aqNuSx37U4flbol7eAy8buJKmbSyNE66aEFzFaGGseL0fkmlAsshvR+fVk8jfAriZe7c=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, George
 Dunlap <George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 3/8] x86/paging: move update_paging_modes() hook
Thread-Topic: [PATCH 3/8] x86/paging: move update_paging_modes() hook
Thread-Index: AQHZFT/G4QjmyfM5nk+WhnK7qSG8yq54nRIA
Date: Wed, 21 Dec 2022 17:43:51 +0000
Message-ID: <de5343ab-9083-360f-3d7b-8bf84a70732d@citrix.com>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
 <bee2d51f-534e-f6e2-6385-70f8597eac1e@suse.com>
In-Reply-To: <bee2d51f-534e-f6e2-6385-70f8597eac1e@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|PH0PR03MB6937:EE_
x-ms-office365-filtering-correlation-id: 29d37482-76e9-4092-a158-08dae37aec23
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 qnb57AOafpS0x2Yr685prvp1YqkacSyrzpoXtPzUInSG/O4AUnr9WbzBlDP8zVb9hfikvWAjUvMPTn9jioGg0H8YbNLjLnBFp9RvTL3LvZlltjTbeKssiksV+rkVQ828GFp0NxpHD0MaP0QhQnERw3ftv0+iTK7004IcuV9f5NKtMyMKOZcbuHEL9w5k8cF9+YVCcCeAtyLH+d5KhGmznuhUIYyWVIjb6NKSN57a7IfM7P0fjDYezo9VlYk5vJuanYwWmPfwmJ2/Or3koD7apXE9hAVslB+PQDKTk7Uergsf9fTgkcX2DduzyF4ryGHt4VTNhJ7qse9YkmfQpBXAJGjb1Yv7LuLI46O9RwyaeGB/CYvaDLcJ7+FnGiuTLMO5wJByAwipxlCQokV94crzJfmDN+UeTtijktH4HXwvYFH40LNr9URe+g3pP63Ym7PbDf0ZClWbrj1cM2YGGuMItuporxOnjpyWMcqtSww8E/Yv3gg9MPCh0Ithy1mCcEiHUr52G6ORELuRJN0lMSPhf+iS6QZrOYAQP7o2P1dSCSVL+fZOtC1U/69kAWA5AGarSc7nXK3SRMK872xcI2tvyKbKrYnMDJauB9tWOe/UtR/A8w5y3878drmoQymY6exY8X2wXC5MCg266aU8HxBvslbi/ha3hd51dQ79t6Dg53q2nxRX4UPBiI7Nwg5Bb1Rrx8UItsh6Qhzgy+1a985P5pY8BaatsNBAJVEXsjuElWmqYaQipc6Is1X7wpf51BDb+X5gCf+sACryu1RaNUJE9w==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(396003)(39860400002)(366004)(376002)(136003)(451199015)(2616005)(15650500001)(71200400001)(6486002)(26005)(6512007)(186003)(478600001)(54906003)(6506007)(53546011)(316002)(110136005)(2906002)(86362001)(36756003)(31686004)(82960400001)(31696002)(38070700005)(41300700001)(122000001)(38100700002)(66946007)(5660300002)(4326008)(76116006)(66446008)(64756008)(91956017)(83380400001)(66476007)(66556008)(8676002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?NVptSllUUGxDaXNzbE5ZZTVuSG9rZDVkODEzR3R6QTBrK1lSaTBCUklhVDN5?=
 =?utf-8?B?azBab1hvamhkZXJrVllqVG1xMGMzUXp3VE00UGNZeG1jUUhGNkpmSkFUb1pR?=
 =?utf-8?B?UU04U3Q0b2JTSjM3THBmQnM2TmZnTS80S0NWck1CcXVEOE40NnNkYkhOamp3?=
 =?utf-8?B?YmM4M3VPY2VJT1hrZHRzdnpqTU9YdGR6ZmlXUDQ2T3ZZT3NXVk5jbW1wWWM3?=
 =?utf-8?B?SEtaUnRpSllwODNhSU5hbjgvRTRaQjZ1cndvZmxSNFgweGZwNks5amFTdHU2?=
 =?utf-8?B?bGExNXYwZWk2a3JwSTlkUHZlQ0w2UFlZZmdkakVpU09SbGl3WVdIK3dYRVVI?=
 =?utf-8?B?ZkVhNlNrSmt2WWZJbHB4cnlLMmFFd2txWHdtenEwVnZjY1NuZitxUmkzZ0hM?=
 =?utf-8?B?bGZ1VEtPVVRCYkk2bmFEcHVJV1publhEbEpFci9hV01STzVUREp0ZnZ3RVIr?=
 =?utf-8?B?bW9IN0kzek8rTTQxMEgzaFovZ1kvTlBhR2pSRWF2b1ZYUkFRYWdBOXBPN3Zh?=
 =?utf-8?B?bGQrdVk1RE1pdDNQNzNLT01TNHE5U3dQVlFXZGxUZUF6b09QaDJWVmZpd2hy?=
 =?utf-8?B?ME41cU1kK2lBdjRIakp4SE9PM3FWMElTb1VpZUlpN0FVYzZnUzNFVnpHU3V4?=
 =?utf-8?B?M0p4U2ZhdnlBNEE3ZWxFdlpkZG9qZG90VFl3Tkh1Qm9pUmVEaExqS1pFTjdU?=
 =?utf-8?B?a1hUWG1BUEZJSmVXSUQ0dENtVk1tOWNyMVJnanV3SGlYaGtxUCtjcEFZd2Ra?=
 =?utf-8?B?TUlQWDZkU25wT1h6MC9wUm9seGxHMnJ6YUNpRUphLzludFg1K0I2QlJQK01C?=
 =?utf-8?B?YnFxRFQybTFENTRaMks2dk5ReDRoeUUxdWMxZFFSY2dKVHJDazQzYzM2Y3Rj?=
 =?utf-8?B?SFhjRjhLeWUvTjFBdWwxb0xJRjdsUFNFeVNKRHAzSnpVWUZyZUtrZ0QrRS9k?=
 =?utf-8?B?L3NINXF4cjVpTGZ5bUphMitqSzU5MW1lT0FqbG5DUEp2VVRpTTdoTmxBNXlh?=
 =?utf-8?B?QTdsblVnU3pUdElYZDhPMUJOYnpqeWFYb3VRMFY3S0Z3VURaT00zUDJmcjJv?=
 =?utf-8?B?TnhnK3llTTFCTitwNVpqakkyZWM2bFVka0dQOWY5ajcvY0ZJOE1kWktkeHU5?=
 =?utf-8?B?ODZsWU53WFJ5Q2w2a29YRGNJVlhtV3c2SVN3ejk1RUxFTE5peDI1Qjk1bjky?=
 =?utf-8?B?UGV5V0F2bk42ZGhraGp6ZGQ1Rm1obXROS1pTeDVtMTN0ZjBFdTdualFRdXJz?=
 =?utf-8?B?SUxnNnQ2UENsYUVDSnhBTStNUjltWUE2K00zSFF2bWlvbFQyandxQlQ0cnh5?=
 =?utf-8?B?NTdiUHRsckZseklheTQrOXI0NzZ2b0E4UjlCQmk2OEFHYU80M214cmIwbXNh?=
 =?utf-8?B?Nm9qY0EvMzZMVTdIcXBKQkE4ZXpLZVl5VnBBZThGdnFOL0ZucHFzWTJ1b1Ni?=
 =?utf-8?B?eExKUGVIWE9EYVV2S3BlaUgrWnZWZU9TUVQwcTBPWldMaWxKU3BxS0ErWUFP?=
 =?utf-8?B?RWVuN0NJZWpFd2hoUUxrb3haQTZibVBScXVuQmVEaXIvT1BacDNTSmVXZTdI?=
 =?utf-8?B?d3VMOTFhNEhOTHhDNDBrYTBMMzJlUWMzUTBRWnU0RFR6OThBMnl0MmxEVXpE?=
 =?utf-8?B?WVZsVEl3UEJDdEFEWCtTcHQ0bzNDcU16aXVjM2FLODdrSmdMQ29yQzRWNWE2?=
 =?utf-8?B?V0hKUVJRRk5CZEMrVUZ2a25Vc2pJdTE4a2pFTm1OdjFDUnY1Z3BOaG54SUZl?=
 =?utf-8?B?TldaSzFNcm1OZElqQzlUcERmRUxUemhsMmFXWEYrZ0V0TTlXMjZhcGRmNFJU?=
 =?utf-8?B?cEh2UnBWVU5HbmpFMGFkZStzbExLd2ZGRXh3Tng1cjBhTnBPemt5eVFNSits?=
 =?utf-8?B?MG4xWnFvUXEvYWhWU0lkUWo3UndBV0orUHprbVp5Yk93OWdrMGkrYkM0T1B6?=
 =?utf-8?B?YXdCR2ZQRHcydFpjUHNmemlJNHRoYVZFU2wzYnp0bi9OZ1ZvTldGajY1TFht?=
 =?utf-8?B?blVXWkhoY0xyeWlCWHR1R0cwWU10S1dRVGk2MG5QVHh1ZFVlMWZzdkt4cnpw?=
 =?utf-8?B?SG9XVVJVRjBRNWNhNkt3Y0hPL2c2NW9sOWdWTVk4TExaSDBaZGdFR3JIL1du?=
 =?utf-8?Q?rwuYzoBIKX+9VhlB1kpwAdAlE?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <C620366228751B4686ADFB0955D97612@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 29d37482-76e9-4092-a158-08dae37aec23
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Dec 2022 17:43:51.3151
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: n6Y7FM+C2iZwzP26hc5sZl7lAcrUifQJRbma3d5PLVGI/fhBajOcMEelfmbUfbSfFC+4yAcpd11zwINs1PemdHDAIeUjFqCWHWEJ8DPGxtI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6937

T24gMjEvMTIvMjAyMiAxOjI1IHBtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gVGhlIGhvb2sgaXNu
J3QgbW9kZSBkZXBlbmRlbnQsIGhlbmNlIGl0J3MgbWlzcGxhY2VkIGluIHN0cnVjdA0KPiBwYWdp
bmdfbW9kZS4gKE9yIGFsdGVybmF0aXZlbHkgSSBzZWUgbm8gcmVhc29uIHdoeSB0aGUgYWxsb2Nf
cGFnZSgpIGFuZA0KPiBmcmVlX3BhZ2UoKSBob29rcyBkb24ndCBhbHNvIGxpdmUgdGhlcmUuKSBN
b3ZlIGl0IHRvIHN0cnVjdA0KPiBwYWdpbmdfZG9tYWluLg0KPg0KPiBXaGlsZSB0aGVyZSByZW5h
bWUgdGhlIGhvb2sgYW5kIEhBUCdzIGFzIHdlbGwgYXMgc2hhZG93J3MgaG9vayBmdW5jdGlvbnMN
Cj4gdG8gdXNlIHNpbmd1bGFyOyBJIG5ldmVyIHVuZGVyc3Rvb2Qgd2h5IHBsdXJhbCB3YXMgdXNl
ZC4gKFJlbmFtaW5nIGluDQo+IHBhcnRpY3VsYXIgdGhlIHdyYXBwZXIgd291bGQgYmUgdG91Y2hp
bmcgcXVpdGUgYSBsb3Qgb2Ygb3RoZXIgY29kZS4pDQoNClRoZXJlIGFyZSBhbHdheXMgdHdvIG1v
ZGVzOyBYZW4ncywgYW5kIHRoZSBndWVzdCdzLg0KDQpUaGlzIHdhcyBwcm9iYWJseSBtb3JlIHZp
c2libGUgYmFjayBpbiB0aGUgMzItYml0IGRheXMsIGJ1dCByZW1uYW50cyBvZg0KaXQgYXJlIHN0
aWxsIGFyb3VuZCB3aXRoIHRoZSBmYWN0IHRoYXQgc3RydWN0IHZjcHUgbmVlZHMgdG8gYmUgYmVs
b3cgdGhlDQo0RyBib3VuZGFyeSBmb3IgdGhlIFBEUFRScyBmb3Igd2hlbiB0aGUgZ3Vlc3QgaXNu
J3QgaW4gTG9uZyBNb2RlLg0KDQpIQVAgYWxzbyBoaWRlcyBpdCBmYWlybHkgd2VsbCBnaXZlbiB0
aGUgdW5pZm9ybWl0eSBvZiBFUFQvTlBUIChhbmQNCmFsd2F5cyA0IGxldmVscyBpbiBhIDY0LWJp
dCBYZW4pLCBidXQgSSBzdXNwZWN0IGl0IHdpbGwgYmVjb21lIG1vcmUNCnZpc2libGUgYWdhaW4g
d2hlbiB3ZSBzdGFydCBzdXBwb3J0aW5nIExBNTcuDQoNCg0KQWxsIG9mIHRoYXQgc2FpZCwgSSBo
YXZlIGRlYmF0ZWQgdGhlIHV0aWxpdHkgb2YgdGhpcyBob29rLsKgIEl0IG1peGVzIHVwDQp2YXJp
b3VzIGNvbmNlcHRzIGluY2x1ZGluZyB0aGUgc2luZ2xldG9uIGNvbnN0cnVjdGlvbiBvZiBtb25p
dG9yDQp0YWJsZXMswqAgYW5kIFRMQiBmbHVzaGluZyAod2hpY2ggc2hvdWxkIG5vdCBoYXBwZW4g
Zm9yIGEgbW92IGNyMyB3aXRoDQpOT0ZMVVNIIHNldCksIGFuZCB3aXRoIHRob3NlIGNvbmNlcHRz
IGFic3RyYWN0ZWQgcHJvcGVybHksIHRoZSBvbmx5DQpyZW1haW5pbmcgYWN0aW9uIGlzIGNhY2hp
bmcgdGhlIHJpZ2h0IG9wcyBwb2ludGVyLg0KDQpJJ20gbm90IGNvbnZpbmNlZCBpdCB3aWxsIHN1
cnZpdmUgYSBjb25jZXJuZWQgYXR0ZW1wdCB0byBmaXggdGhlIEhWTSBwMm0NCnZzIGd1ZXN0IHRs
YiBmbHVzaGluZyBjb25mdXNpb24uDQoNCj4gLS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9u
b25lLmMNCj4gKysrIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9ub25lLmMNCj4gQEAgLTI3LDYg
KzMyLDkgQEAgaW50IHNoYWRvd19kb21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKQ0KPiAgICAg
IH07DQo+ICANCj4gICAgICBwYWdpbmdfbG9nX2RpcnR5X2luaXQoZCwgJnNoX25vbmVfb3BzKTsN
Cj4gKw0KPiArICAgIGQtPmFyY2gucGFnaW5nLnVwZGF0ZV9wYWdpbmdfbW9kZSA9IF91cGRhdGVf
cGFnaW5nX21vZGU7DQo+ICsNCj4gICAgICByZXR1cm4gaXNfaHZtX2RvbWFpbihkKSA/IC1FT1BO
T1RTVVBQIDogMDsNCg0KSSBrbm93IHlvdSBoYXZlbid0IGNoYW5nZWQgdGhlIGxvZ2ljIGhlcmUs
IGJ1dCB0aGlzIGhvb2sgbG9va3MgYnJva2VuLsKgDQpXaHkgZG8gd2UgZmFpbCBpdCByaWdodCBh
dCB0aGUgZW5kIGZvciBIVk0gZG9tYWlucz8NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 18:43:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 18:43:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468020.727077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p843w-0008Va-OR; Wed, 21 Dec 2022 18:43:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468020.727077; Wed, 21 Dec 2022 18:43:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p843w-0008VT-Le; Wed, 21 Dec 2022 18:43:32 +0000
Received: by outflank-mailman (input) for mailman id 468020;
 Wed, 21 Dec 2022 18:43:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KbXi=4T=citrix.com=prvs=34759bb5a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p843v-0008VN-Gy
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 18:43:31 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b567e4f-815f-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 19:43:29 +0100 (CET)
Received: from mail-bn7nam10lp2103.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.103])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Dec 2022 13:43:25 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO1PR03MB5922.namprd03.prod.outlook.com (2603:10b6:303:6d::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 18:43:23 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 18:43:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b567e4f-815f-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671648209;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Pt4Qh7ycfyy6popPYdVFobWy8wIB3+SVH1UA3UEJdsc=;
  b=DNrDb0NqCmXUy0+vLJt5kKFl9hITK0hcgyyF4Hp7K34nobuOYZW1XWzP
   yeOC2SDe+5DP3wmmyeV5zOHVZKyV4wLRYiApl74zz2esdmVgtaKNHjcBG
   7fIpjJJZOamaxKg4X/xay5hW483APkPIOvtcSN+RAyTQSYgoKnR9lGcmG
   g=;
X-IronPort-RemoteIP: 104.47.70.103
X-IronPort-MID: 89521222
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:j3Tq0aLYHqOzLh/aFE+R4JQlxSXFcZb7ZxGr2PjKsXjdYENS32ECm
 jMbUGyFOPrcMGLyctslPoqzoB9Tv8SEydUyG1BlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5AZnPasjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c55UENL+
 6ciOAw0SUCKmey27o2bU8Rj05FLwMnDZOvzu1lG5BSAVbMMZ8+GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/VvpTGLl2Sd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnzXKmAttITufQGvhCow2Y72VPGhwtV0qKjdWn1VO6QtNzE
 hlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWKTVqN+7HSqim9UQAJLGoqdSICCwwf7LHeTJobixvOSpNpFvGzh9isQTXom
 WnS9245mqkZitMN2+Oj51fbjjmwp5/PCAko+gHQWWHj5QR8DGK4W7GVBZHgxa4oBO6kopOp5
 RDoR+D2ADgyMKyw
IronPort-HdrOrdr: A9a23:pHfgV64ZkQ4zJSltrgPXwPLXdLJyesId70hD6qkmc20zTiX+rb
 HMoB1773/JYVkqM03I9errBEDiexLhHPxOjrX5Zo3SODUO0VHARL2Ki7GO/9SKIUPDH4BmuZ
 uJ3MJFebvN5fQRt7eZ3OEYeexQpeW6zA==
X-IronPort-AV: E=Sophos;i="5.96,263,1665460800"; 
   d="scan'208";a="89521222"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VAfuv1vaXn0WNE46zdQ6b8FE+NB5Om0ekxhwEMZ8hSccl6QO1P3SiSfI1CHTqv30Jn+zZk8avmwR37xDv9OdLizbeokcWl30dVWCBB1TJ++S9o9304wxmgJJnApkb+G7RsTGj62cI0XlXmXyqaTzHQP2F5C4eWVMG1pgooTVIZ4RvIdryrzzC4SRw3+rgKFOFmBiNFjhYzdZs219qvOGHEPMxMEEaDCKfos1kzL8eOLMGqkLMDZweakgxD1sCdY98u9KXpc/uRk3lTOv+Qslxr4PxUANgrfEVbXsLdDXYfCHlqeeiBm8PG03eTnsfqXmUHqB2lUMX/tr2kRirHHCwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Pt4Qh7ycfyy6popPYdVFobWy8wIB3+SVH1UA3UEJdsc=;
 b=dWst3TXpG+SlWJZCDmkgffVw0+e344q2BM/E/EfsEmxoBph/sHM+pBnLNvVMSrhdZBtKnMUz/DvC+Q0yNHIpnisHFCAN+ccnmbdRJt6GTn6QdFLB1H1zO5a+pwRFEqRzQvIr613y/z+ThwSxh4CWlXT3ZbvxQluMyFPetP6VLzrJGlf+N+ql7x1qC+UfHc75flUMbZEzLxXyfoIwy4QDlS3USRlEYCAM4e6B+V2vuhc05k42tOaYan5nSVTNsE0vl73WCJGO3LlWrCr9oh+9SLWcm2fTD7CwGxFQOgIjtBU4asvHY7v9md+/KOkZPhAQC454xVT9zqAHCshPKW4JLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Pt4Qh7ycfyy6popPYdVFobWy8wIB3+SVH1UA3UEJdsc=;
 b=VamjjJFO0Ix+6JsK046aQYIDkKs52Qeh3wOxbOuP9osfRc4eknKGQEWsqXLnK4KQibpm/jNyfZ5AbD1VAc373iuUqNmnwE74OKTww8g4Lh09F3XfNypnp9czCnzkXwxGwUN/+CIx4tLgOlvA9kjlT6N1E3IMO/dfxy7jDVOLdMo=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, George
 Dunlap <George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 4/8] x86/paging: move and conditionalize flush_tlb() hook
Thread-Topic: [PATCH 4/8] x86/paging: move and conditionalize flush_tlb() hook
Thread-Index: AQHZFT/p1A/PjgrQ60O6Dc5GjbqLqK54rbQA
Date: Wed, 21 Dec 2022 18:43:23 +0000
Message-ID: <400b4bb2-b265-b46d-6582-b8070deac508@citrix.com>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
 <584a986e-08ea-d064-9447-ed23c6e39721@suse.com>
In-Reply-To: <584a986e-08ea-d064-9447-ed23c6e39721@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|CO1PR03MB5922:EE_
x-ms-office365-filtering-correlation-id: 650776d7-4225-471d-dcca-08dae3833d2e
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 IvMSo8nwHY2dwBBUzFrEzKIhELUFoh0ei+/V4zVuY11Wcttc1DLWiLQxnOs2L/+GV3GAaYGfDLcq0csTAxMikljliL5hqqJPQBJQ1DXXHMgNVphTErhTpv5CWpZxO6P3NUyAWHBXRwZ+pe0VtjsIAf0QP9QWOemKxeJ9IG8GKByV0iw1A5o8FYdWvwUqUs9YT6VXqkG9PqU7M7fi+idep/9VcKPyZCq/foexRk5lghBZzI64XgFS/Qc8X17fPrCrp3dOjjDH9v0E8rXZVil3P3OQ9m1y3Jowvo2KTG8YSV+oXZBidxQ823jB44uR5LEQBGq5Ti8hGKhfqyNGbxs/7fJwHBhNH76bpf7Fh6zqeWo4VQPsZJ8iG8RkutBlEfhsv5F2KELI6TN70qziYE7XjUt+3m8lqxAiXKAarCn00VyZ2EAKphyljiNp6q7XYjovTxa9ULHDTLSMUoSJrLY4lAaARhpgxGQLQ6rQWpoHRZ0fNMZsLMdZ9SfkxYf5Tuqzb7T0DdG+Wy4lMgrq1aPpyjX+GCqZC7KDvcX/jvSDBE3bahBpyRiw0OGEV7vvzDXfGHYHO7PD7E32HJN5ug0Cu9IJXJGdHwgPawp3uZJOrrcJ62Z6ntAPhBRkCGSgPtNo3RsZV/VHWxipN8AZ7Prtq+UHx2YBnjOteYVwFuiC1MNZwLEzIRmt5EYAR6RnleFPgkEGIdkFeNSuUO/d7gsx71mBdg9E+0R0FbAHuKZSM7guEy345U6spzrT9VY2W3ynetxyps8lV4gvSrkj1TU8iA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(451199015)(31696002)(31686004)(66899015)(186003)(122000001)(6506007)(6486002)(71200400001)(38100700002)(26005)(6512007)(82960400001)(478600001)(53546011)(4326008)(110136005)(41300700001)(54906003)(66446008)(91956017)(2616005)(316002)(66476007)(66556008)(8676002)(64756008)(76116006)(66946007)(2906002)(38070700005)(8936002)(83380400001)(36756003)(86362001)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?VUNTZnFrVWhmY01XeXRlUUF6WlUvM2lXRENQeHZDVlhBdTJ6aERtUEoxRTY3?=
 =?utf-8?B?V3Iwd213K2RIYm5UeFRZeFJGSEZwZjdKbUhVTllsUUJiN3E1dG4rTDVQV1BT?=
 =?utf-8?B?Tjh4amFtcXhEUGhPRHZrL1dtTGpHNUlUa2NFeGlvNW5ZQ0tHNkNXWE44dVlk?=
 =?utf-8?B?aUJxWHh3dmphNFQ3RGprbDJxZlhhMnM2YVpwRU1DNVl5QTJLTytJNEtHL3ZM?=
 =?utf-8?B?WFIyY0cxNGVvVytYaHN4N2JQNTdGZHJJaEdyRm1wN1NCWitLWCswUjZSUDRa?=
 =?utf-8?B?alcyck1wMlBydXhSaFM5ZGphN2I0U0VibmluMmY2VkRtOExHV2oydW83ZUxR?=
 =?utf-8?B?L1ZiTVV3R1lXL25DdVVlL2JPQ212cE5QUU4vWCtZVEZNUUtXS1NOQ25DVWJW?=
 =?utf-8?B?Qmd5YUdtbEUvQ3kzRitxZVhNZUFBVVJzSXRmRU5rT2p6aHBDZWNRTXMzSU90?=
 =?utf-8?B?emdPT2I2bWhvZ1JDdGZRbExjd0N5b3l2TG90MXhST3AraEkyK0d0NjZUbUVj?=
 =?utf-8?B?ZTdDd1dXS21TanhhOWE2NnBSUE1zcFhXRE5iUWRJRnJCbEhZWnpZdk1mTW1u?=
 =?utf-8?B?RmdOK2RWR0gvcjVwY0hXRzBzdDBJbUpia3AvcUpyalBHZGJNOSttc1lLSlE0?=
 =?utf-8?B?a2NSYXJnR0VQM0N6Y3gvVUgwYUx0dFhkUHcwOVhjWFZtVE5TYzhTalB1aVgr?=
 =?utf-8?B?UEo0bCt3QkZJTGhFSEFCWlFUTmZkVGx4Zkg3d0l4ME5Ka1RjOVRRUG56SVpC?=
 =?utf-8?B?K2tDTVI0U1pHTCtVN01HdWNkWTlVaWZvOS93WnlYWjJ3eXI0VFBTT0ZUTXpr?=
 =?utf-8?B?WUg4a2FvUUtLWG9nS3ZKb3dMOTExUVVBVWsvSWxwZWU5LzJaSFR6ZFRWVEg5?=
 =?utf-8?B?SGdKL2xFcDBrV0ZsNEQ1Sy9kK1l3TUNBK1BKOTRRQlRmQWhFZmx3N0x3amVL?=
 =?utf-8?B?b09vUldKa0loUUJOaktDL21OcFVYYUpKeUxrT0RiQXVRNUxHdGM3TzRzNTg0?=
 =?utf-8?B?ek4xS1NQTk5sNnJHWGlUSnJzbEdVb1IvV29WaTNNcndWcWVoc0VqaUdoMlQ2?=
 =?utf-8?B?VlpLYlNNc3pXTGk5N0FCMGlpMk9PWU12RnlFRjg0UndyUUtlUjhpRjBxUXow?=
 =?utf-8?B?SWhRcmJjMVJJVkVsZ3F5QSsyTWhnbDg0QzRvWldDZW12T1F0YWRFTXpXK3NH?=
 =?utf-8?B?SHQrN212RVY2aVY0SmNUVFNqQ0N3alJBTVZUVHJhMjJSQ2JzSyszbGNtckFt?=
 =?utf-8?B?TUNrSktCV1FrSFU4TVFSaEtabDFQOWs1Q2hwN3lHZ3c5NnBMUzhkTnZGV3pP?=
 =?utf-8?B?ZDBTaU5RQ1lYTWtzQTQwTmxxY0lwM0VvZ3U0aTVic28wOGcySUlLK1ZjRmpX?=
 =?utf-8?B?dGhqQ0JhajFKZVdoa25VT0k5SXc3U1VPUFVUNWo5dHBvMThSWFY3RGhVejdO?=
 =?utf-8?B?Z1dlVUorVmg2UnRoVDRraWk1ZEYrV0M5Zm5UMzJQVWxzQjhldHpXRU9xT2pi?=
 =?utf-8?B?Q2hwZmt0ODlXV3B0ZmpheWxFMGFuc08vSS9QWlNVdXFaWTlWdFlKRU4zY1lV?=
 =?utf-8?B?S1JQQXlFTEhsTGdsT2JLNDlhR1c3QkJQdFo0blZUVmtySDNHRFp6WWV2QzA2?=
 =?utf-8?B?akpFajZsMXNqUmw4MnBMRk1Hd1cxazI2VEFsZFYrbWNaZk83a1loRlZlNlNs?=
 =?utf-8?B?d2R2OTFvL3lLU2JZOGtTbG5SNWhNemhvcDNUMGNCYnVTaU03c1huQjdSSEw5?=
 =?utf-8?B?NklzVTRnT2QxMnVYTnhqNlhMOXRjSlE4MjJHeWI4NkY5SzhFRmIxTnZiK1Qy?=
 =?utf-8?B?RHpud1UvbUZDdUJpZjRiekM0WHBaa0FvcFo4cHh4SUxFaWVqRW0wemN6QU9a?=
 =?utf-8?B?NWN5NTZ0emFGYlNvcGMwNTJWRFBVeXF0eDdnT2VJV045Y2ZjSFBjVHpOQ0x6?=
 =?utf-8?B?MzBVME5rbkZuWDd3YngwelFKUlJkWGVNWkdSN0VZbERLUkIxbHNEQUVBRXlU?=
 =?utf-8?B?dEkwRHRjMFQ3SHBIemgwSUlPby9rY3g1b0xpOERxbG5QOGprQ01SVUhmRzdG?=
 =?utf-8?B?aG9uVmNDOVo2UGFjdUg1SUZ3dU5jdzdEUWdLVVQrSkFNNkZTa214WEEvUUZq?=
 =?utf-8?Q?E044upaveUyqJMyObTy8M34q8?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <654BD5D1AE78C84EB6B2296B8978C198@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 650776d7-4225-471d-dcca-08dae3833d2e
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Dec 2022 18:43:23.2892
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: +Cww6uioQTTFNXT4j2Exc9GT7xT/BTNLwozA9oF6PkxF4Pc6rEUouDigEcpI/wEuMWTaNSvgDKutQH8V2QeHRgRkWEAf6hAbFF00LbzHsqk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5922

T24gMjEvMTIvMjAyMiAxOjI2IHBtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gVGhlIGhvb2sgaXNu
J3QgbW9kZSBkZXBlbmRlbnQsIGhlbmNlIGl0J3MgbWlzcGxhY2VkIGluIHN0cnVjdA0KPiBwYWdp
bmdfbW9kZS4gKE9yIGFsdGVybmF0aXZlbHkgSSBzZWUgbm8gcmVhc29uIHdoeSB0aGUgYWxsb2Nf
cGFnZSgpIGFuZA0KPiBmcmVlX3BhZ2UoKSBob29rcyBkb24ndCBhbHNvIGxpdmUgdGhlcmUuKSBN
b3ZlIGl0IHRvIHN0cnVjdA0KPiBwYWdpbmdfZG9tYWluLg0KDQpIb3cgeW91IGZsdXNoIHRoZSBU
TEJzIGhhcyBhYnNvbHV0ZWx5IG5vdGhpbmcgdG8gZG8gd2l0aCB3aGF0IG1vZGUgdGhlDQpndWVz
dCBpcyBpbi4NCg0KQnV0IHRoaXMgaG9vayB0b28gY29uZnVzZXMgcDJtIGZsdXNoZXMgd2l0aCB2
Y3B1IGZsdXNoZXMuDQoNCj4gVGhlIGhvb2sgYWxzbyBpcyB1c2VkIGZvciBIVk0gZ3Vlc3RzIG9u
bHksIHNvIG1ha2UgcmVzcGVjdGl2ZSBwaWVjZXMNCj4gY29uZGl0aW9uYWwgdXBvbiBDT05GSUdf
SFZNLg0KPg0KPiBXaGlsZSB0aGVyZSBhbHNvIGFkZCBfX211c3RfY2hlY2sgdG8gdGhlIGhvb2sg
ZGVjbGFyYXRpb24sIGFzIGl0J3MNCj4gaW1wZXJhdGl2ZSB0aGF0IGNhbGxlcnMgZGVhbCB3aXRo
IGdldHRpbmcgYmFjayAiZmFsc2UiLg0KPg0KPiBXaGlsZSBtb3ZpbmcgdGhlIHNoYWRvdyBpbXBs
ZW1lbnRhdGlvbiwgaW50cm9kdWNlIGEgImN1cnIiIGxvY2FsDQo+IHZhcmlhYmxlLg0KPg0KPiBT
aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNClJldmlld2Vk
LWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPiwgd2l0aCB0d28N
Cm9ic2VydmF0aW9ucy4NCg0KPiAtLS0gYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vcGFnaW5n
LmgNCj4gKysrIGIveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhZ2luZy5oDQo+IEBAIC0zMDAs
NiArMjk5LDEyIEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBwYWdpbmdfZ2FfdG8NCj4g
ICAgICAgICAgcGFnZV9vcmRlcik7DQo+ICB9DQo+ICANCj4gKy8qIEZsdXNoIHNlbGVjdGVkIHZD
UFVzIFRMQnMuICBOVUxMIGZvciBhbGwuICovDQo+ICtzdGF0aWMgaW5saW5lIGJvb2wgcGFnaW5n
X2ZsdXNoX3RsYihjb25zdCB1bnNpZ25lZCBsb25nICp2Y3B1X2JpdG1hcCkNCj4gK3sNCj4gKyAg
ICByZXR1cm4gY3VycmVudC0+ZG9tYWluLT5hcmNoLnBhZ2luZy5mbHVzaF90bGIodmNwdV9iaXRt
YXApOw0KDQpOb3QgZm9yIHRoaXMgcGF0Y2gsIGJ1dCBmb3IgY2FzZXMgbGlrZSB0aGlzLCB3ZSBz
aG91bGQgcHJvYmFibHkgZHJvcCB0aGUNCmZ1bmN0aW9uIHBvaW50ZXIuDQoNClRoZXJlIGFyZSBv
bmx5IHR3byBvcHRpb25zLCBhbmQgdGhleSdyZSBpbnZhcmlhbnQgZm9yIHRoZSBjb250ZXh0LCBz
bw0KDQppZiAoIGhhcCApDQrCoMKgwqAgaGFwX2ZsdXNoX3RsYiguLi4pOw0KZWxzZQ0KwqDCoMKg
IHNoYWRvd19mbHVzaF90bGIoLi4uKTsNCg0Kd2lsbCBhbG1vc3QgY2VydGFpbmx5IGJlIGZhc3Rl
ciBvbiBhbnkgQ1BVIHRoYXQgWGVuIGlzIGxpYWJsZSB0byBydW4NCm9uLsKgIEVzcGVjaWFsbHkg
YXMgSEFQIGlzIHByb2JhYmx5IH4xMDAlIGNvbW1vbiBjYXNlLg0KDQo+IC0tLSBhL3hlbi9hcmNo
L3g4Ni9tbS9zaGFkb3cvaHZtLmMNCj4gKysrIGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9odm0u
Yw0KPiBAQCAtNjg4LDYgKzY4OCw2NiBAQCBzdGF0aWMgdm9pZCBzaF9lbXVsYXRlX3VubWFwX2Rl
c3Qoc3RydWN0DQo+ICAgICAgYXRvbWljX2luYygmdi0+ZG9tYWluLT5hcmNoLnBhZ2luZy5zaGFk
b3cuZ3RhYmxlX2RpcnR5X3ZlcnNpb24pOw0KPiAgfQ0KPiAgDQo+ICtzdGF0aWMgYm9vbCBmbHVz
aF92Y3B1KGNvbnN0IHN0cnVjdCB2Y3B1ICp2LCBjb25zdCB1bnNpZ25lZCBsb25nICp2Y3B1X2Jp
dG1hcCkNCj4gK3sNCj4gKyAgICByZXR1cm4gIXZjcHVfYml0bWFwIHx8IHRlc3RfYml0KHYtPnZj
cHVfaWQsIHZjcHVfYml0bWFwKTsNCj4gK30NCj4gKw0KPiArLyogRmx1c2ggVExCIG9mIHNlbGVj
dGVkIHZDUFVzLiAgTlVMTCBmb3IgYWxsLiAqLw0KPiArYm9vbCBjZl9jaGVjayBzaGFkb3dfZmx1
c2hfdGxiKGNvbnN0IHVuc2lnbmVkIGxvbmcgKnZjcHVfYml0bWFwKQ0KPiArew0KPiArICAgIHN0
YXRpYyBERUZJTkVfUEVSX0NQVShjcHVtYXNrX3QsIGZsdXNoX2NwdW1hc2spOw0KDQpUaGUgaGFw
IGFuZCBzaGFkb3cgdmFyaWFudHMgYm90aCBoYXZlIGEgc3RhdGljIHBlcmNwdSBtYXNrIGxpa2Ug
dGhpcy4NCg0KSG93ZXZlciwgdGhpcyBpcyBhbiBpcnFzLW9uIHJlZ2lvbiB3aXRoIG5vIG5lc3Rl
ZCBsb2NraW5nLCBzbyBJIHN1c3BlY3QNCnRoaXMgcGF0aCBjYW4gc2hhcmUgb25lIG9mIHRoZSBz
Y2hlZHVsZXIgcGVyY3B1IHZhcmlhYmxlcyB0b28uDQoNCn5BbmRyZXcNCg==


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 18:44:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 18:44:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468027.727088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8454-0000b7-2M; Wed, 21 Dec 2022 18:44:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468027.727088; Wed, 21 Dec 2022 18:44:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8453-0000b0-Vr; Wed, 21 Dec 2022 18:44:41 +0000
Received: by outflank-mailman (input) for mailman id 468027;
 Wed, 21 Dec 2022 18:44:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KbXi=4T=citrix.com=prvs=34759bb5a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p8452-0000aq-L2
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 18:44:40 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8558a0fc-815f-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 19:44:39 +0100 (CET)
Received: from mail-bn7nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Dec 2022 13:44:36 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO1PR03MB5922.namprd03.prod.outlook.com (2603:10b6:303:6d::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 18:44:34 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 18:44:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8558a0fc-815f-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671648279;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=wF4O0w0qDP1qs4qEbhL0u+BwzXDOD7Xejbnlv4t90Ok=;
  b=KhKSTqv79IqG6YQZ0MF9ETjIEgSYUBywLebKuDKPoAcHVK24qdZUzB6U
   Ns9C6XiQk8Mb7PNo9JTvXPMbj9sPD2Fg67Vgc8euAEO5YxiiTFnph1N4Q
   6T8rBy7yAezaFS8victjoXCMzu5w4S3rYPZMOIUIx6jdbXz/eVoV+2WMA
   s=;
X-IronPort-RemoteIP: 104.47.70.105
X-IronPort-MID: 89521354
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:QACA3a2V3Kieg9josPbD5eJwkn2cJEfYwER7XKvMYLTBsI5bp2YAn
 TcWWTyHPveNYTSgKdx/PYvn90kOsMPVyoRqHABppC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZkPKgQ1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfW39H5
 eQ2KxU0NEqFm7qT6pO2TuJsr5F2RCXrFNt3VnBI6xj8VK5ja7acBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxouy6KlFEZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXOqBdhLT+DknhJsqA3Jl14TFic6bkeQ/ebjpHSkQel1d
 FNBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9Vna15rqS6zSoNkA9MW4HTT8JS00C+daLnW0ophfGT9ImGqjqiNTwQGn02
 2rT9HV4gKgPh8kW0an95UrAnz+nupnOSEgy+xnTWWWmqAh+YeZJerCV1LQS1t4YRK7xc7VLl
 CJsdxS2hAzWMaywqQ==
IronPort-HdrOrdr: A9a23:Ex2PVK5y5Kvw1vzAhgPXwPzXdLJyesId70hD6qkRc3xom6mj/P
 xG885rsiMc5AxhOk3I5+rwQZVoMEm8yXcd2+B4UYtKOjOW3ldAA7sN0WKI+UyCJ8SRzJ856U
 98GJIQNDW5ZWIRsS6xiDPULz5vq+P3lJxBZY/lvg9QcT0=
X-IronPort-AV: E=Sophos;i="5.96,263,1665460800"; 
   d="scan'208";a="89521354"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KtgI2jFFWY3RzVwSVVKnjbzN8L7wlys8UR+otGVBrFSkFRcDTk6/GHSpmbaYLsOWa8SuDuhe17MHbYxPfoeHQF9vec8u3ktzL6Ce7LZTE5ot3sGmNM2mpJPUstq0gbft0exRNVGor0iclB/CdPS6sQv9rfansXsnwXG2R1KfmB+8eLz+P56RYrLPU5voq8gbgrhSC9Tnk6mphmGg3xtjzNmgWXZ0qpFDJHbw+LLM/U9qb5A5VXc2VfReU0wv5foEUyi7B5iGKH1E/ufCPkKPBtnMDSwsprj8Gb12Q+RTyUVuaLLgG12BE/WMOeqrHDdzrVJcKtQK+j3IzL13WuZdqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wF4O0w0qDP1qs4qEbhL0u+BwzXDOD7Xejbnlv4t90Ok=;
 b=WHHZ6lN7sJb2Ymrd35IQYjeeZjVdd9yjDwOJc7pcMQva/NUwP5FWqqpBu4/Sgh5Nc04Pdlk8RuLQhmp7Qe/wxygdMzeJWQYcqwJAYgHb3Rqev+092Vr47Wv38nLXqb1OTnbaMJ4PGafGFNjnSNJN7dnPOE1U1eEr6ix7YU2E8BjziydHtui3et1A7/yORrpu0MRbkvF06N8YRFOr1P3AonPEPXwoIyitfcMy1vIZBy2pSK5yXMkel9csnbROYy5vRHpRimppUEOvHGqoqorChc1ble5xb1DtmroUDCYnOth2hdLiohuk/jfsKajN05nRsoGzI0s/XZkBwqWSjO0YMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wF4O0w0qDP1qs4qEbhL0u+BwzXDOD7Xejbnlv4t90Ok=;
 b=FcsnuVhIB18yc2gwsbIyseODA1uYqEpe3ML2S7LEsXk6ITiG5eX9pFIYM1sQ2TD+Mp4JQqvxcphb2ZVo2OyNjrxrrFR4S0v+N8PiDyX6j4r2jHGf9A5QMdmHaiXEBJWtXiVc/Dw6FdEfU1TORJLXs4JqfkUb9NGujKzHQId4k0Y=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, George
 Dunlap <George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 5/8] x86/PV: drop dead paging_update_paging_modes() call
 during Dom0 construction
Thread-Topic: [PATCH 5/8] x86/PV: drop dead paging_update_paging_modes() call
 during Dom0 construction
Thread-Index: AQHZFT/xSoTihaqcu0mTNTc3tNKJ9q54rgiA
Date: Wed, 21 Dec 2022 18:44:33 +0000
Message-ID: <2fd2c7b9-0000-6907-2f45-a9222190c21d@citrix.com>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
 <d9a5dc15-d761-9ddf-5c93-ec00218d147f@suse.com>
In-Reply-To: <d9a5dc15-d761-9ddf-5c93-ec00218d147f@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|CO1PR03MB5922:EE_
x-ms-office365-filtering-correlation-id: f7750c65-6333-4b64-0cc4-08dae383675c
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 SJ1YGR2LEVJHRM6Yn73H+0u//1UZvb99u37ygUMGac3I04Bv8zzZLLGlAkvIjb9it8GhLUGFN7EwGa03jhruiV8wDu4Q2PyRWykLZQ7aa/rvyX5Os8FMl61r8ffPgztw/wgRy7FBvH1x6YPfuQ9TkvwvUr4xdxfn7SMk4PtDmAwU+ttM8I8GKuRj2PS41CzU1W0rD2QbrqDuacs6eqVj4yN6A2wi8dzQtxLyEV3VbkQycbu68ZcbrmLKQfzqB+OupDNCRk7a3I4C7Iyg3As64V3ZHuvwL+F+V8wQco9Dlpl3/qAkWNPxgUx03Yj9yMDmkJiXn5R0kMiAJrFU9mh9iUl06ee2GGiO3LBkctUYkLb2dQJFkLa7bbjU4iI6EEXXn+vyK21HvehIXGwQh+mAN6mBULZ2gqmfB1VB9GLJQlDyBqL767L0VU1ZcatyejO8Am9cg+PZG5eDr9pOie3Vf6qIHxpO7CotrmqEA0zJLKK7fPc0lJjp2Uyvdr0itVgE2J3fj0/RfjJto7nh9G1Mcd0VFEmcSC0u8Otepcq9SMa7TTMyaXAcnIGWY5xneGP9FbqyH3JMVtVGxeiL/B3XZFPHlbNcaOzld/I9w9HGRwQo0fKRXuhhiObn6xrIIFatsYPd3WAln0xdkC2oYB2+6DksiBCjMsT06zoWJOJUQZ6AQZQ/SBu7jNCjYU0gXbzjlxv5aaxxB0F6wmxmwxq/cmbmpsObcU9KAHlifZ0sP2U4GvNO7vacppGuxdvK1SckPRmz53RPXi7elP7rDlhNRw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(451199015)(31696002)(31686004)(186003)(122000001)(6506007)(6486002)(71200400001)(38100700002)(26005)(6512007)(82960400001)(478600001)(53546011)(4326008)(110136005)(4744005)(41300700001)(54906003)(66446008)(91956017)(2616005)(316002)(66476007)(66556008)(8676002)(64756008)(76116006)(66946007)(2906002)(38070700005)(8936002)(83380400001)(36756003)(86362001)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?V1piTjlyMm1WRkx0VGtIVzdiUWY5MDVjd25ZejNaQzVKc2NzMS9yVUI0RVdh?=
 =?utf-8?B?RURUNHNpdDk1TXNRRlhIVXcvNXk5MFVaWitsbEo4bSttZTdiS3VBRFBUWFNu?=
 =?utf-8?B?a0FvNVFKV2g5amNDVWRWZkc2bzAzRVNHZytjcEJXSGQxd3dGOTlHdzRuT3Jz?=
 =?utf-8?B?dVZvZzEvYzg0c1YyYkxsSk5IMW9QTlh3ZDNvSWc1V3g3YWJOS1h2K1hvajVr?=
 =?utf-8?B?QjZhUkhNbmFvTlVwUUp1MmJwWGlHS2U5K1c3dlduMkpTY1FqOXhuVnFCeU9Z?=
 =?utf-8?B?RU5acm9ZdUNVanRBRzhZTlNBVSsyYWVvdkp2cERzZmN1RHp1YStuTGVoMmh4?=
 =?utf-8?B?TkR3YUxqNlB5cURsMStoREdCdExPdG4vWDNQd3VDSWZkNUxrYklyMkpjSDl4?=
 =?utf-8?B?Tm4zR095SWhsc2ZiS2t2MTJoaDhOeUN4bW1MbXZpTGEyZS92aFM4cU94VlBw?=
 =?utf-8?B?eVhJVFpraXpuUjJsZk5waW1ySEV4dCtCdGRkRXFOVHZ0dzJDZGFlMWp1UHFC?=
 =?utf-8?B?R2prTkplVDVxNUxEVThrRndTQXZqRyt5UjlvVndCZk5DalFvL0lKM3BtOGVL?=
 =?utf-8?B?bDBsYS85d1lvaUU4NkFwZGF0NWdOMTJTNFI0MlN6VmZkams2L3Fqb0FPK2tv?=
 =?utf-8?B?K0JhcjJUMTBhRGEzWnl3MXV4Z0ZWL1RsUmFTcDNNNnVHYVcrUC9lWkhyNmRw?=
 =?utf-8?B?eGRDWG5xUkUxMkdCZ2pTa3Z3b3dMV3F5aU9INWFndFFrc3ZNdWxqTVR3cC91?=
 =?utf-8?B?aFUrWEFTMWFZdE90Z3c1SkpwL3g3N1UxVU1kcHBvZWlNd25obGxIZzRyZTcx?=
 =?utf-8?B?WVUwR0hYNy9TdGVVaW1vY2lybDFKZmtaRG5tMXVQNGpxWjMvQ1pOWGc0UVVh?=
 =?utf-8?B?ZVo0L0UzaHVKV2hZQ01NSjNXZ0tMTkhCVjlFRVZadFZ5K2dPRnUvZWsxOHdo?=
 =?utf-8?B?NTk5dGwzNXNnNEJTdEtGbHpDb0ZwNkh6QURxODVET3RPNlE2ZXRvc3IzUGhQ?=
 =?utf-8?B?bEFlT1UzQVpXcFowYXpBZGJSc1lvenh3ZWliTzZwM0VjL2E4bVpjM09VV0k5?=
 =?utf-8?B?OXZ1MXNhNUs3Q1lNUSswL0JheDZObnRDam91N0kwL2xnNXlyZ3hWWXRHeWg4?=
 =?utf-8?B?QXVJWklQWUFJUEttSUxYbkxKMmVxTE45bXh3MzZvMkhRWkdPcmdnajdXSWFi?=
 =?utf-8?B?RzFwT25qSlI0bnVHaUUyaXQ2RnN0SkdhdDFQV0g4T1ZGM2l6NTgwdTQ0S1lE?=
 =?utf-8?B?T3BlREdoYytrcU0xQjMrRmRaaDFtYUVVcWRLdjFxMy9BSUJEc3UxVGlIVWRG?=
 =?utf-8?B?OTgydGQ3djFVUi9MUFEyeW5kMTFYYXI3ZmlKSDdpVUxpVmZtRkxqRDBzMkNq?=
 =?utf-8?B?MFF1UEtuN3lCK0lFQ25ja1lkVkZTOHR0dmJRWFpVNGFibzgwSWJxeXRCd0JP?=
 =?utf-8?B?d2RlRUE3eGtkZmpjTWd3UFlzK05OYmc2Tng1RVZ6dTFrQkdiRUxQbDA0enFp?=
 =?utf-8?B?dDNJMUxaYXAwTkxIVmRnNnJtQXQvUFhacGJod1E0WndxZ3h5TW5oWWFFQStw?=
 =?utf-8?B?cVZxWHNIWEU1cmJITVRZaDdQZXRPN1FJMTNESlV3Y1dKQmJqSGV6NVZtRDkv?=
 =?utf-8?B?SlhnYWpXekVTZy8rdkdBaXRsREQ3cUpVTndGZGpmaFhiVG1uMWx0YkhRSWNr?=
 =?utf-8?B?STZ6TDRuTlZHd0R5TTBYdFZNdm13L0ozanphd3kvSzBaRHlqdk1OQ0xIemFk?=
 =?utf-8?B?dkJneTBtdUppa0RPT1EwbEhsamV6bm05MUVrWFVwRko0SWZPaUpLZmg5Rnpo?=
 =?utf-8?B?dm52eWcrL20xNFJYK3hjalVybjRWZmVyRzVSZmtYM3VaNkVFY0xDa0d1djB3?=
 =?utf-8?B?aDcwVUJUdUxqdjhlSzc2VmNxUGFud2R3ZjZQdzFpMFoyb1dEVDdLbjl2bExm?=
 =?utf-8?B?RlFZZTRQZzV4d0VqLzAvZXc4VHI3Y255bkFncHp5ZitOdHlJWGl3aFpoY2FQ?=
 =?utf-8?B?MFdtMklJSngxNTE1NEIyQVkrb09ESVZZV09yUFViSXA3YUtJUGRPb1ZOL01s?=
 =?utf-8?B?Zmd1ZndkRk91OCtxUVYySlY3Vlc1NGJoRVByT0RRWnp1dzhycjlITUJuQklN?=
 =?utf-8?Q?p2ktYUbyyIdK2PqOd4fWjL1a+?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <0D843DDDF2E99F4FB29A8A684CF0239E@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f7750c65-6333-4b64-0cc4-08dae383675c
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Dec 2022 18:44:34.0028
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: qEwLZLVTahzMEQ3/VBUIVDudt+JX3D70JgZEO8x67I3A647fHGQkUHC0f1lGvTy+OPsg6bvlT8l6MmC+2OP8i0+LKJObIKh1Tjm9nP2zmx0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5922

T24gMjEvMTIvMjAyMiAxOjI3IHBtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gVGhlIGZ1bmN0aW9u
IHdvbid0IGV2ZXIgYmUgaW52b2tlZCwgYXMgcGFnaW5nX21vZGVfZW5hYmxlZCgpIGFsd2F5cw0K
PiByZXR1cm5zIGZhbHNlIGhlcmUgZHVlIHRvIHRoZSBpbW1lZGlhdGVseSBwcmVjZWRpbmcgY2xl
YXJpbmcgb2YNCj4gZC0+YXJjaC5wYWdpbmcubW9kZS4gV2hpbGUgY29tcGlsZXJzIHJlY29nbml6
ZSB0aGlzIGFuZCBlbGltaW5hdGUgdGhlDQo+IGNhbGwsIG1ha2UgdGhpcyBleHBsaWNpdCBpbiB0
aGUgc291cmNlICh3aGljaCBsaWtlbHkgOWEyODE3MGYyZGEyIFsicHZoDQo+IGRvbTA6IGNvbnN0
cnVjdF9kb20wIGNoYW5nZXMiXSBzaG91bGQgaGF2ZSBkb25lIHJpZ2h0IGF3YXksIGFsYmVpdCBl
dmVuDQo+IGJlZm9yZSB0aGF0IHRoZSBjYWxsIGxvb2tzIHRvIGhhdmUgYmVlbiBwb2ludGxlc3Mg
LSBzaGFkb3cgbW9kZSBlbmFibGluZw0KPiBoYXMgb2NjdXJyZWQgbGF0ZXIgdmlydHVhbGx5IGZv
cmV2ZXIpLg0KPg0KPiBXaGlsZSB0aGVyZSBhbHNvIHVwZGF0ZSBhbiBhZGphY2VudCBwYXJ0bHkg
c3RhbGUgY29tbWVudC4NCj4NCj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNo
QHN1c2UuY29tPg0KDQpSZXZpZXdlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNA
Y2l0cml4LmNvbT4NCg==


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 18:53:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 18:53:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468034.727098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p84DH-000285-Sp; Wed, 21 Dec 2022 18:53:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468034.727098; Wed, 21 Dec 2022 18:53:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p84DH-00027y-QG; Wed, 21 Dec 2022 18:53:11 +0000
Received: by outflank-mailman (input) for mailman id 468034;
 Wed, 21 Dec 2022 18:53:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1azw=4T=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p84DG-00027s-SK
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 18:53:11 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2068.outbound.protection.outlook.com [40.107.93.68])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b558198b-8160-11ed-91b6-6bf2151ebd3b;
 Wed, 21 Dec 2022 19:53:08 +0100 (CET)
Received: from MW4PR04CA0197.namprd04.prod.outlook.com (2603:10b6:303:86::22)
 by PH7PR12MB5832.namprd12.prod.outlook.com (2603:10b6:510:1d7::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 18:53:05 +0000
Received: from CO1NAM11FT084.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:86:cafe::1f) by MW4PR04CA0197.outlook.office365.com
 (2603:10b6:303:86::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.22 via Frontend
 Transport; Wed, 21 Dec 2022 18:53:05 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT084.mail.protection.outlook.com (10.13.174.194) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.5944.10 via Frontend Transport; Wed, 21 Dec 2022 18:53:04 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 21 Dec
 2022 12:53:03 -0600
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Wed, 21 Dec 2022 12:53:02 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b558198b-8160-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CRdxLRDRmlxPIx/42atVorBTQ8I7SDz0sj2MEyEflqP+S+6+IMhBre46B+FgoCIEgpnkDApM1VotLR5gdcjZIrn1YuyJrVqt0wRWnDzCreGYIZO4r3yHAa3w/ZGjscdJXqGGDabild/pxFPUAQpy4inR5woJyb5xwTIkhDY1+Otr0buBthTWOAFX/w2e3OfgqdmpPGlAOF2ZOT0G//iqe3ayMkkAL29ZzsEnpTgsARpmgw9w8m3FXwz7fbQGMn8GHdgSgkDrUE2AEyw/p6dlm9dUSwHw/QN+Vlg8bpQGGrmmWIiLX2MzJB5xXt247GsuFZGnlnI8YM9PpQlkRLfP0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o67UXSSvAkuwFcWCK4ZMeeZP8vBF3mIheoTxYW0+YD0=;
 b=fEcXScr/MjuUChcsm+Y+1zFGj7sS7O3N8FuQMPzQzuZsvCoXm9032dtJxbiFXFa8tjdOEZeh0TDd/K26HIXo9gcWE+g5SrYEIqd3aEUgbclUcs76Zvxz7kpXW5QNDnzdhIOvGV9+i5iArkfgA7ep6ynMT1GDO15so69K8F1BrVdnyIam98v/1srOOLUylMJ4EeOxNPvfClYZAbFQctKFMGafhRHVPZKLojxV/5yvMRquYc5S1JIlKZkG8eiosqv+0TrYKSxx+54QUTvey9wH7p9Uy1cSlP4963qzJjtlbyhkFlna6AswQFXh+jfFmSUYV+9LxMEN1tJw+F34NaHtYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o67UXSSvAkuwFcWCK4ZMeeZP8vBF3mIheoTxYW0+YD0=;
 b=EMedZG9wXY7NVfmrwmSzZSWrcXMRHflNX5S8vLvLbAdyunxY3rPC66fSbOYzft+pQn6wE1CvdoiMq3qg+xsGVQLKxZaoSmO8NaU1+WlrSp24+94olhQcP31Fq+HGNFEM1B67lMZDTOIkSkN8G5uVx8gR+oSzaBk4jmmTpQOTd1U=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17)
 smtp.mailfrom=amd.com; dkim=none (message not signed)
 header.d=none;dmarc=pass action=none header.from=amd.com;
Received-SPF: Pass (protection.outlook.com: domain of amd.com designates
 165.204.84.17 as permitted sender) receiver=protection.outlook.com;
 client-ip=165.204.84.17; helo=SATLEXMB03.amd.com; pr=C
From: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [XEN v4] xen/arm: Probe the load/entry point address of an uImage correctly
Date: Wed, 21 Dec 2022 18:53:00 +0000
Message-ID: <20221221185300.5309-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT084:EE_|PH7PR12MB5832:EE_
X-MS-Office365-Filtering-Correlation-Id: f2961ed7-d5e5-490a-73b4-08dae38497ef
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8yKeQvYf48ozmzOGypqrfHDaDmWPtcZuB9j6nX0ZbSFIrqiPUSo2ZNrvgSf+kiABAzrF3XAlC0dvuhIgWwnvrSDFUYYL57E8fUQr4JvuHWeN9y6zq0BLFmmG6cTU3LSX8GOrZ3NmOoJiqVbCe8wulB9/EhYYWdqXtQPzm3Ml5ATZiM9xu9U2jWDQhhtKWs2vsEW16amrr27fTPczh+MbgZnrB6Ii/pGDR0YNUnOjOOSBB32Rq47qgq6C37iHwn3SDGjd45e7jZzZhyWPfeyWt5OnZQy+x5zbENWmgR9nPrES0OXxYPKNVr4X2R6H3vriVT1/N6IUcGjCpxg8XgA8mP2Z/zuD0wPFIaO9xhsOr+HYodp2HOGCddf/g7pM7GAycEZ05XDQgnzH2K6k+zgjpjmiZ5jVgfmTXrPnTnSpeJpIK3FGs2isUJPx62W2rZGjd4DUYdxy0v1/2s4EaEPJEz1afqm6Dsxp8e4QrnZner3ZBS/E+66UnoZYaY8SN12PYBfhYEBkEecpzXzCkdmWkUoyK8NEgxIcGURvcT2WeQZwZC2CIbK2/TfAxc4J57phl8/9EIXSZDbWZzdOsKnwyA4FRU45KwomgIszwuPPkG/UJ7df7J0gwmTqWqKmLgrwlWwlDcyHwxizZgV0AQyrBX/d4JqutgmzfwXVc0x4mdXrl8RjYVF1lBi5fhbVVuA8vKy4yTjP4lc+IsyNFV4kqpstY9nVBmgBFayM3+2ZBDdaYBS1Sq7fy5fsJoWt5VVo6Z+qs+T+xaJkDy5xOJaRxjVZzBz2BVttDUAYyZDzrwxqscmHccP5c82Z8SXtm6jtxXQ5XektJDe2PLHWKRRSdQ==
X-Forefront-Antispam-Report:
	CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB03.amd.com;PTR:ErrorRetry;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(376002)(396003)(346002)(451199015)(36840700001)(46966006)(40470700004)(54906003)(6916009)(82740400003)(316002)(36860700001)(966005)(82310400005)(40460700003)(478600001)(81166007)(4326008)(8676002)(70206006)(1076003)(86362001)(36756003)(2616005)(70586007)(356005)(40480700001)(103116003)(83380400001)(47076005)(8936002)(426003)(5660300002)(2906002)(336012)(41300700001)(186003)(26005)(21314003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 18:53:04.9180
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f2961ed7-d5e5-490a-73b4-08dae38497ef
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB03.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	CO1NAM11FT084.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5832

Currently, kernel_uimage_probe() does not read the load/entry point address
set in the uImge header. Thus, info->zimage.start is 0 (default value). This
causes, kernel_zimage_place() to treat the binary (contained within uImage)
as position independent executable. Thus, it loads it at an incorrect
address.

The correct approach would be to read "uimage.load" and set
info->zimage.start. This will ensure that the binary is loaded at the
correct address. Also, read "uimage.ep" and set info->entry (ie kernel entry
address).

If user provides load address (ie "uimage.load") as 0x0, then the image is
treated as position independent executable. Xen can load such an image at
any address it considers appropriate. A position independent executable
cannot have a fixed entry point address.

This behavior is applicable for both arm32 and arm64 platforms.

Earlier for arm32 and arm64 platforms, Xen was ignoring the load and entry
point address set in the uImage header. With this commit, Xen will use them.
This makes the behavior of Xen consistent with uboot for uimage headers.

Users who want to use Xen with statically partitioned domains, can provide
non zero load address and entry address for the dom0/domU kernel. It is
required that the load and entry address provided must be within the memory
region allocated by Xen.

A deviation from uboot behaviour is that we consider load address == 0x0,
to denote that the image supports position independent execution. This
is to make the behavior consistent across uImage and zImage.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---

Changes from v1 :-
1. Added a check to ensure load address and entry address are the same.
2. Considered load address == 0x0 as position independent execution.
3. Ensured that the uImage header interpretation is consistent across
arm32 and arm64.

v2 :-
1. Mentioned the change in existing behavior in booting.txt.
2. Updated booting.txt with a new section to document "Booting Guests".

v3 :-
1. Removed the constraint that the entry point should be same as the load
address. Thus, Xen uses both the load address and entry point to determine
where the image is to be copied and the start address.
2. Updated documentation to denote that load address and start address
should be within the memory region allocated by Xen.
3. Added constraint that user cannot provide entry point for a position
independent executable (PIE) image.

 docs/misc/arm/booting.txt         | 26 ++++++++++++++++++
 xen/arch/arm/include/asm/kernel.h |  2 +-
 xen/arch/arm/kernel.c             | 45 ++++++++++++++++++++++++++++---
 3 files changed, 69 insertions(+), 4 deletions(-)

diff --git a/docs/misc/arm/booting.txt b/docs/misc/arm/booting.txt
index 3e0c03e065..12339dfecb 100644
--- a/docs/misc/arm/booting.txt
+++ b/docs/misc/arm/booting.txt
@@ -23,6 +23,28 @@ The exceptions to this on 32-bit ARM are as follows:
 
 There are no exception on 64-bit ARM.
 
+Booting Guests
+--------------
+
+Xen supports the legacy image header[3], zImage protocol for 32-bit
+ARM Linux[1] and Image protocol defined for ARM64[2].
+
+Earlier for legacy image protocol, Xen ignored the load address and
+entry point specified in the header. This has now changed.
+
+Now, it loads the image at the load address provided in the header.
+And the entry point is used as the kernel start address.
+
+A deviation from uboot is that, Xen treats "load address == 0x0" as
+position independent execution (PIE). Thus, Xen will load such an image
+at an address it considers appropriate. Also, user cannot specify the
+entry point of a PIE image since the start address cennot be
+predetermined.
+
+Users who want to use Xen with statically partitioned domains, can provide
+the fixed non zero load address and start address for the dom0/domU kernel.
+The load address and start address specified by the user in the header must
+be within the memory region allocated by Xen.
 
 Firmware/bootloader requirements
 --------------------------------
@@ -39,3 +61,7 @@ Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/t
 
 [2] linux/Documentation/arm64/booting.rst
 Latest version: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst
+
+[3] legacy format header
+Latest version: https://source.denx.de/u-boot/u-boot/-/blob/master/include/image.h#L315
+https://linux.die.net/man/1/mkimage
diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 5bb30c3f2f..4617cdc83b 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -72,7 +72,7 @@ struct kernel_info {
 #ifdef CONFIG_ARM_64
             paddr_t text_offset; /* 64-bit Image only */
 #endif
-            paddr_t start; /* 32-bit zImage only */
+            paddr_t start; /* Must be 0 for 64-bit Image */
         } zimage;
     };
 };
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 23b840ea9e..58b3db0aa4 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -127,7 +127,7 @@ static paddr_t __init kernel_zimage_place(struct kernel_info *info)
     paddr_t load_addr;
 
 #ifdef CONFIG_ARM_64
-    if ( info->type == DOMAIN_64BIT )
+    if ( (info->type == DOMAIN_64BIT) && (info->zimage.start == 0) )
         return info->mem.bank[0].start + info->zimage.text_offset;
 #endif
 
@@ -162,7 +162,12 @@ static void __init kernel_zimage_load(struct kernel_info *info)
     void *kernel;
     int rc;
 
-    info->entry = load_addr;
+    /*
+     * If the image does not have a fixed entry point, then use the load
+     * address as the entry point.
+     */
+    if ( info->entry == 0 )
+        info->entry = load_addr;
 
     place_modules(info, load_addr, load_addr + len);
 
@@ -223,10 +228,35 @@ static int __init kernel_uimage_probe(struct kernel_info *info,
     if ( len > size - sizeof(uimage) )
         return -EINVAL;
 
+    info->zimage.start = be32_to_cpu(uimage.load);
+    info->entry = be32_to_cpu(uimage.ep);
+
+    /*
+     * While uboot considers 0x0 to be a valid load/start address, for Xen
+     * to mantain parity with zimage, we consider 0x0 to denote position
+     * independent image. That means Xen is free to load such an image at
+     * any valid address.
+     * Thus, we will print an appropriate message.
+     */
+    if ( info->zimage.start == 0 )
+        printk(XENLOG_INFO
+               "No load address provided. Xen will decide where to load it.\n");
+
+    /*
+     * If the image supports position independent execution, then user cannot
+     * provide an entry point as Xen will load such an image at any appropriate
+     * memory address. Thus, we need to return error.
+     */
+    if ( (info->zimage.start == 0) && (info->entry != 0) )
+    {
+        printk(XENLOG_ERR
+               "Entry point cannot be non zero for PIE image.\n");
+        return -EINVAL;
+    }
+
     info->zimage.kernel_addr = addr + sizeof(uimage);
     info->zimage.len = len;
 
-    info->entry = info->zimage.start;
     info->load = kernel_zimage_load;
 
 #ifdef CONFIG_ARM_64
@@ -366,6 +396,7 @@ static int __init kernel_zimage64_probe(struct kernel_info *info,
     info->zimage.kernel_addr = addr;
     info->zimage.len = end - start;
     info->zimage.text_offset = zimage.text_offset;
+    info->zimage.start = 0;
 
     info->load = kernel_zimage_load;
 
@@ -436,6 +467,14 @@ int __init kernel_probe(struct kernel_info *info,
     u64 kernel_addr, initrd_addr, dtb_addr, size;
     int rc;
 
+    /* We need to initialize start to 0. This field may be populated during
+     * kernel_xxx_probe() if the image has a fixed entry point (for eg
+     * uimage.ep).
+     * We will use this to determine if the image has a fixed entry point or
+     * the load address should be used as the start address.
+     */
+    info->entry = 0;
+
     /* domain is NULL only for the hardware domain */
     if ( domain == NULL )
     {
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 21 18:58:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 18:58:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468044.727110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p84Im-0002pU-LS; Wed, 21 Dec 2022 18:58:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468044.727110; Wed, 21 Dec 2022 18:58:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p84Im-0002pN-Ib; Wed, 21 Dec 2022 18:58:52 +0000
Received: by outflank-mailman (input) for mailman id 468044;
 Wed, 21 Dec 2022 18:58:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KbXi=4T=citrix.com=prvs=34759bb5a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p84Il-0002pH-5h
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 18:58:51 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 803b1ce4-8161-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 19:58:49 +0100 (CET)
Received: from mail-mw2nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Dec 2022 13:58:47 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5294.namprd03.prod.outlook.com (2603:10b6:208:1e2::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 18:58:45 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 18:58:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 803b1ce4-8161-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671649129;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=71lhyFlD3ex4wQWibtgmHp9S/eSNn4Q0TK3CZW69TGI=;
  b=DpZZZTLjFQ69KZmnstsu5CkHZ+iEHGncLL8IMZ6MqlvEg+KJpAtENXfq
   1+M83MrhywSETDNeAttgsLCp74Crv3wlFf7o2vVTi7QIXfb/qLBT78qsn
   R/3/rXnpysvmKIc01OBMmlBcNHvQfcLFDLneaxtdiIZYS3QGP+lGrbYYs
   g=;
X-IronPort-RemoteIP: 104.47.55.101
X-IronPort-MID: 89523050
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:HttJa66cqtBiSW75cW22qgxRtAnGchMFZxGqfqrLsTDasY5as4F+v
 mJOUGrSbqmDZ2emf9h/YY+2/RxTsJ7cxt82TAtq+ykxHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoR5QeF/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m+
 +w9Mys9KT65rsmpye6fVflmiP4fM5y+VG8fkikIITDxK98DGMiGZpqQoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUooiOGF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNJDSefjrqMy6LGV7itOCTc5W2Wfm/WWqk6eZ4gDJ
 moIoxN7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq16bO8vT60fy8PIgcqeS4BZRsI5Z/kuo5bs/7UZtNqEarwi8KvHzj1m
 miOtHJn3+xVitMX3aKm+1yBmyirupXCUg8y4EPQQ36h6QR6IoWiYuRE9GTm0BqJF67BJnHpg
 ZTOs5H2ADwmZX1VqBGwfQ==
IronPort-HdrOrdr: A9a23:GNWBO6PKd0Oj+sBcT5j255DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jzjSWE8wr4WBkb6LO90DHpewKRyXcH2/hqAV7EZniohILIFvAu0WKG+VHd8kLFh4lgPM
 tbEpSWTeeAdWSS7vyKrjVQcexQpuVvmZrA7Yix854ud3ASV0gK1XYaNu/vKDwTeOAwP+tdKH
 Pz3Kp6jgvlXU5SQtWwB3EDUeSGjcbMjojabRkPAANiwBWSjBuzgYSKUySw71M7aXdi0L0i+W
 /Kn0jS/aO4qcy2zRfayiv684lWot380dFObfb8yfT9aw+cyDpAVr4RH4FqjwpF591HL2xa1u
 Ukli1QevibLUmhJ11d7yGdgzUImwxelkMKgWXo/UcL5/aJBQ7SQvAx+76wOHHimjUdlcA536
 RR022DsZ1LSRvGgSTm/tDNEwpnj0yuvBMZ4KYuZtNkIPkjgZJq3PoiFXluYd49NTO/7JpiHP
 hlDcna6voTeVSGb2rBtm0qxNC3RHw8EhqPX0BH46WuonJrtWE8y1FdyN0Un38G+p54Q55Y5/
 7cOqAtkL1VVMcZYa90Ge9ES8qqDW7GRw7KLQupUB/aPbBCP2iIp4/84b0z6u3vcJsUzIEqkJ
 CES19cvX5aQTOYNSRP5uw+zvngehTPYd228LAu23FQgMyNeJP7dSueVVspj8ys5/0CH8yzYY
 fHBK5r
X-IronPort-AV: E=Sophos;i="5.96,263,1665460800"; 
   d="scan'208";a="89523050"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oFwN0zjY7qrZa2xP6N60Oapc9qNQ2EOqWRZkoFOE/jcmoKGQIqFv09DdP0dyEnCE+ppG79L9vcWh5XNxsp2zkeLBakNAamAOUUWswgexGankb2iJbDg1yx6wiqrKf2IAFKucer8SNVsuIGbTsFqtFh9i0wKElQ8/xmZ2RENocRFsdhjX9sUjr8+ea6zJdbrWfmEa4NfNdVAVSW7JZFsnLxAaRZCHX9XSOEOctmHxblMJZqA+2YpF4QbusOXeZBwPeaiJ44s97TU/u4T+/zUKTWP0LzENMbA308K2pZU6UNhdCxFbMm2lg+bkgdC+RxAfno5KHvkSFRt/QQ6X91Z0qw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=71lhyFlD3ex4wQWibtgmHp9S/eSNn4Q0TK3CZW69TGI=;
 b=CgQsvs3aPI0/4GRRZJiNk8rWLOnOaanQ9wP/zM9yT83Pr1qxJYdYXpemMpR0f9QRubpC2OO5IopptezlGLoEna1OKmuJbWmfg0PhrLsk7+6gyTaDIQeRSgC77HRKBU5HflYqdkZ7ijCUez5hb57QWjyGgUtRy68tSeaGnsbcrwgyyNCTvqQq8ZSSdvmY2bDQlaff8QFKizYshztQLtO3N1bkQmnkhMiNrjTdY8yEiA3RdQnwJg5ksBh+NZIFd07bOKtXjaAr0v4D1ahBiUH92p0TrzSe7v8CanrlEi6EPpiKCiCEtALOJ/kwacctNdMHR+qg0Ty0C5iGIeFElUEIdQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=71lhyFlD3ex4wQWibtgmHp9S/eSNn4Q0TK3CZW69TGI=;
 b=Q9o6ErGIjh8eTjLgG+fpMOOj459/edJlo9l6A+2+1B8CoYhpjMOyjhqkYKb1fuzWZx94jZqS6M9bGVYtJUGv+D7fdPRTVCz4bf5rW//j5OdjIR3x1vgce18ileHoYL9Qeh4KORFFo/9V1y3b6bGqOBkstQr9YyQAX7ZBWLTE6fk=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, George
 Dunlap <George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 6/8] x86/shadow: adjust and move sh_type_to_size[]
Thread-Topic: [PATCH 6/8] x86/shadow: adjust and move sh_type_to_size[]
Thread-Index: AQHZFT/+4m5db1YFGEKNP8aYHdqkgK54sf8A
Date: Wed, 21 Dec 2022 18:58:44 +0000
Message-ID: <04350e03-25f3-df4c-8b1a-486d531eeda7@citrix.com>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
 <e142f7f8-1184-a65e-0f50-0b01ec7fad55@suse.com>
In-Reply-To: <e142f7f8-1184-a65e-0f50-0b01ec7fad55@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|MN2PR03MB5294:EE_
x-ms-office365-filtering-correlation-id: 1686c34e-a736-4c9b-002a-08dae3856264
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 f2n6RrZXQMXB7WXvMu6CYiQdctQuDfzSMugbLxwWc5pu3ELaIttfaU1xqRFWYUx7fAsXbuNwQUR0LdjBmiXxTA2VfGhqYXvdGOMEyB4k7hcWqTwphpjz1TAcAGou4qWDAV29vekzJcl8Xt7whVZYE2r79rO3R8Q/YLzua6kzh7jbEqBa/sN/YgbZRShkhOBtM6jY1K9BsiwnIBZGVbWbsgBE1H/KznGq6eOlK7F42sNxms3GemkoA3ZaisMj17zni8iOcIDAT8VLe5vYxHXnSIjhOjQAi1juaH1+M/V/V2UTQCJO9bdhq7xj6glAbQQLqpbeqHogvZklVnd9aPXiUeMeUCWWccq47icsge2duREyDjRZDmQtKm9kMO8ZkXPK+ck0S9XotG8r/1HU4XV/r4ZXKRRgKsoCwwIC9BBzI0fki+gNUJTOX3FxQdVxYHIZVvVtU5wvMwYdXJBQWmZ1Rvq7UFJrvQkEJXH1aXSlFeYC5NImE5jLzSwgwSS+UQLTPxGzi14sKG8D34QvbBCkWDURbFpTZ1/Vx86bYlTo5V3nzaJdVq0GDE0IUdKGZUZo4EeGis+8E8nywSKcEc6NCy0eBT5a4Lf6k03hxXng8VrW5lTXIVYUlhqQZvMeZU40SbTMn6/jy1N5UhIu/qgPJU9sDxFrB6NvIs8zUmLUEBmt9MVbtZAz9zLM395FclwyRAZPpUDnjuTTmzgnFG5mzJEQ40tH1g7T383ikVQ2ubpys+BD2pKDqnVbl2ySy2EKIwGWTt4+ixvb3tXxfaAPIA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(366004)(39860400002)(376002)(346002)(136003)(451199015)(36756003)(4326008)(66946007)(76116006)(316002)(6486002)(66476007)(83380400001)(66446008)(8936002)(64756008)(5660300002)(2616005)(478600001)(66556008)(53546011)(71200400001)(6506007)(8676002)(54906003)(41300700001)(186003)(31696002)(86362001)(26005)(82960400001)(6512007)(38070700005)(110136005)(91956017)(122000001)(2906002)(31686004)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Wm5iVFNwOHBWN2RGdHVLMllJaytZdlk5Nkw5R0F5L2NaL1JucE52MmpKZ01L?=
 =?utf-8?B?NXdETHQrSTFia2MxWFFGK0tCNWxERlUvODREN01iN0YrRGdzOExYMGlieTIx?=
 =?utf-8?B?ejRZNU0vbFZSWjYwM0tPUG94MSsveDgzOHEzYXVaTThSODBIamJiYjRaN3dF?=
 =?utf-8?B?b2Z4T2JielA4Uk56MTkyL0dnbjY3OWlLOUVQaTc1V1VTRlJuU1BkN0FER2Ev?=
 =?utf-8?B?SmhRYUpCeW5TZzRYRUg3dW5qNzFsNkgxSE9NWk5mV2wybGVidTBsRXZqeVFj?=
 =?utf-8?B?cXpXcWZSTm84OHVrdDlqUWtoY0Rzd1dleFVoeFRyRmFKNmlSZjYvdkV1TEpB?=
 =?utf-8?B?bWUzeHcxbzQrdXRTUVAzL3o2QzR3dmg4RG4vTjFnRk5JZjNCNVA0L0VWUUZB?=
 =?utf-8?B?SmZBWmRBTkZOMUdRTjAwc3BVTG56dlZhZVpSR2hOdHB3T1lUTE1JaEw0V1BL?=
 =?utf-8?B?UXJ1WDl4VFFUSXZhMzRITlZqeExoNXVHaHlrUWtnRmVvSm05eUJZdDJ3SHF1?=
 =?utf-8?B?VG5Zd2JGL2l1RUJiOWRucThZb1YxR3IwNk9aQ1g3RStlUWdaTDZXVDRFUnZh?=
 =?utf-8?B?NXFhdUp0ZmprdFMyZVVQSGRiY2Z3MlpOdDFWNUdVMkVGZHRnU0h4S1ROQlNw?=
 =?utf-8?B?YTJoUVdGWElhc0Zzb3ZSbjYrVVY5R3MwTGQ2eHRXdFpLMzZWS3Zvc0VDMGF3?=
 =?utf-8?B?TjExYk1iRVZ2UnBBVG1jcUE2dTV2M0Z4eFQwK3plS2JCUm5BSWphcExlaDFx?=
 =?utf-8?B?TDBLcHRXb0dhUXdFRGxmbFdpMFdRait0U1J2UEQxS2w0aVZaaTBGaFQ0aHlv?=
 =?utf-8?B?ZkM0L2lUNTRvR0Z3OVJ0UGZibjM4WWhXWXZLc3JFWVEvRVhjdzlvUDZLbHFp?=
 =?utf-8?B?clQ2YlRkanQ1WHcwVlFhWUFuVGxGdTFjRUpaaEVuWTUyT0QyTFVsZnRUY0dv?=
 =?utf-8?B?QnE3Sm95Wms5ajF5ay81ZGxYemJpTm8wVk9VbGNGSVZTUTJWdE9zUjJLeS9T?=
 =?utf-8?B?NzVhdTBQNjU5RFdhOGpXL2ZBY3FpZmNLUDUrT2RQZXJacFJZVmppeVEvSU1s?=
 =?utf-8?B?Q0czYmdvSkg3bTB2a2hLa0dOY05RVTNLMHBCVVFtTVpNMW5DZXQ4UWN1RXUv?=
 =?utf-8?B?cjEwbGRIb2ZybldMS3FLR3B3QVRENXIveVZwdXVEd2h2Zkw2aE9VVHJBTVor?=
 =?utf-8?B?ZnlkakJLRXVGTkhFOWowNSttSjNUY0JpWWV1VTg0WWFTOW5aWWFQQk1uT0lF?=
 =?utf-8?B?TEs5RGozdkZvdzhyYlFzY1BUS0lURERzODVnM2JPMzNaTzA0UEorTGdQQitO?=
 =?utf-8?B?UnhZL05KTUNoblk1YlNCdldsME40YjM3UzV1bDhscWdyT1FjTS9TbjJzNFdR?=
 =?utf-8?B?UmdQdW56TFEyUmt0NE1seGp1VDVmbGhCU1daNmNaTk1lS2Z5QkR5R0ZlbW9O?=
 =?utf-8?B?Z052dGoyQy94NXBJSEs4YXd0RUZ3dEtPSUx3Ykkrb2ltYjZtSElYcVgrSE1Y?=
 =?utf-8?B?MTRjdGhJNmtKT0NCaCtranFXTmZYNDdDWHVCZVFCeVVRaWhnaFppTjRxd2Ns?=
 =?utf-8?B?VTU3ckg0bFZCNTRITUpxMnMwaWowUzZFQkY1eFpGR2piTTZ4eWVoeWhIamlP?=
 =?utf-8?B?MXRQcjRnUEY0M2oxZjd5cWlFUmxLc3VUejE1QkN6WDlMcE0vb290RW5kN3VI?=
 =?utf-8?B?OEYyOU93Ly90RkVCbWNhc3N5WEpTWHF3MTBLaEQ1RHFrbE90a1dPOHFyT0Fy?=
 =?utf-8?B?Z3ZYREw4V25ManFETEw5c3RwOXNiYjUxOTZMNTBtd0VZdk4wOEtocW5WeUNv?=
 =?utf-8?B?ZUd2S0ZLRmhLaGFkb1pjY1FMMXAzNk1SeDdnb25RdVBlT3Z6MU5GQ3hLTVNr?=
 =?utf-8?B?NGNnWS9TenRjSFF0NjNucnBlTElOaUQyUUdvRTlINWN5bTUwa2pLWjBicDBx?=
 =?utf-8?B?ZDhFc1Z5dERsbUdCSTVqaUFBakpzWVhjMHNXemRrTlVGaEl4WndRUDMyUXBh?=
 =?utf-8?B?d0orcEUrMmRxU3JmeWxrS0ZYWk9vaW9jclVMekNQQytHTnZjL1d2RXRHMmF6?=
 =?utf-8?B?NGFhNnA2bzNUTjVvYU1mZjJyN1NuRzROa1o2b2VLQnVueGpGeDVnbGt0TzZV?=
 =?utf-8?Q?qQjMcK4zkvcXfQs7Gr6UJD/rI?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <46CBC5963741434DBE78BE99EB4A3009@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1686c34e-a736-4c9b-002a-08dae3856264
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Dec 2022 18:58:44.6754
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: UP5Up38qpw83STm5CLJlQhT0NnLEIaIiVDNXXcOC31yh/ps/YpxV7A0V13aqu8qu+M7cTvcmMWagqeKw0/7bQZ3aFPZR0Fx6MtdYYTilafQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5294

T24gMjEvMTIvMjAyMiAxOjI3IHBtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gRHJvcCB0aGUgU0hf
dHlwZV9ub25lIGVudHJ5IC0gdGhlcmUgYXJlIG5vIGFsbG9jYXRpb24gYXR0ZW1wdHMgd2l0aA0K
PiB0aGlzIHR5cGUsIGFuZCB0aGVyZSBhbHNvIHNob3VsZG4ndCBiZSBhbnkuIEFkanVzdCB0aGUg
c2hhZG93X3NpemUoKQ0KPiBhbHRlcm5hdGl2ZSBwYXRoIHRvIG1hdGNoIHRoYXQgY2hhbmdlLiBB
bHNvIGdlbmVyYWxpemUgdHdvIHJlbGF0ZWQNCj4gYXNzZXJ0aW9ucy4NCj4NCj4gV2hpbGUgdGhl
cmUgbW92ZSB0aGUgZW50aXJlIHRhYmxlIGFuZCB0aGUgcmVzcGVjdGl2ZSBwYXJ0IG9mIHRoZSBj
b21tZW50DQo+IHRoZXJlIHRvIGh2bS5jLCByZXN1bHRpbmcgaW4gb25lIGxlc3MgI2lmZGVmLiBJ
biB0aGUgY291cnNlIG9mIHRoZQ0KPiBtb3ZlbWVudCBzd2l0Y2ggdG8gdXNpbmcgZGVzaWduYXRl
ZCBpbml0aWFsaXplcnMuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGlj
aEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz
QGNpdHJpeC5jb20+LCBhbHRob3VnaCAuLi4NCg0KPiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hh
ZG93L2h2bS5jDQo+ICsrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvaHZtLmMNCj4gQEAgLTMz
LDYgKzMzLDM3IEBADQo+ICANCj4gICNpbmNsdWRlICJwcml2YXRlLmgiDQo+ICANCj4gKy8qDQo+
ICsgKiBUaGlzIHRhYmxlIHNob3dzIHRoZSBhbGxvY2F0aW9uIGJlaGF2aW91ciBvZiB0aGUgZGlm
ZmVyZW50IG1vZGVzOg0KPiArICoNCj4gKyAqIFhlbiBwYWdpbmcgICAgICA2NGIgIDY0YiAgNjRi
DQo+ICsgKiBHdWVzdCBwYWdpbmcgICAgMzJiICBwYWUgIDY0Yg0KPiArICogUFYgb3IgSFZNICAg
ICAgIEhWTSAgSFZNICAgKg0KPiArICogU2hhZG93IHBhZ2luZyAgIHBhZSAgcGFlICA2NGINCj4g
KyAqDQo+ICsgKiBzbDEgc2l6ZSAgICAgICAgIDhrICAgNGsgICA0aw0KPiArICogc2wyIHNpemUg
ICAgICAgIDE2ayAgIDRrICAgNGsNCj4gKyAqIHNsMyBzaXplICAgICAgICAgLSAgICAtICAgIDRr
DQo+ICsgKiBzbDQgc2l6ZSAgICAgICAgIC0gICAgLSAgICA0aw0KPiArICovDQo+ICtjb25zdCB1
aW50OF90IHNoX3R5cGVfdG9fc2l6ZVtdID0gew0KPiArICAgIFtTSF90eXBlX2wxXzMyX3NoYWRv
d10gICA9IDIsDQo+ICsgICAgW1NIX3R5cGVfZmwxXzMyX3NoYWRvd10gID0gMiwNCj4gKyAgICBb
U0hfdHlwZV9sMl8zMl9zaGFkb3ddICAgPSA0LA0KPiArICAgIFtTSF90eXBlX2wxX3BhZV9zaGFk
b3ddICA9IDEsDQo+ICsgICAgW1NIX3R5cGVfZmwxX3BhZV9zaGFkb3ddID0gMSwNCj4gKyAgICBb
U0hfdHlwZV9sMl9wYWVfc2hhZG93XSAgPSAxLA0KPiArICAgIFtTSF90eXBlX2wxXzY0X3NoYWRv
d10gICA9IDEsDQo+ICsgICAgW1NIX3R5cGVfZmwxXzY0X3NoYWRvd10gID0gMSwNCj4gKyAgICBb
U0hfdHlwZV9sMl82NF9zaGFkb3ddICAgPSAxLA0KPiArICAgIFtTSF90eXBlX2wyaF82NF9zaGFk
b3ddICA9IDEsDQo+ICsgICAgW1NIX3R5cGVfbDNfNjRfc2hhZG93XSAgID0gMSwNCj4gKyAgICBb
U0hfdHlwZV9sNF82NF9zaGFkb3ddICAgPSAxLA0KPiArICAgIFtTSF90eXBlX3AybV90YWJsZV0g
ICAgICA9IDEsDQo+ICsgICAgW1NIX3R5cGVfbW9uaXRvcl90YWJsZV0gID0gMSwNCj4gKyAgICBb
U0hfdHlwZV9vb3Nfc25hcHNob3RdICAgPSAxLA0KDQouLi4gdGhpcyBmZWVscyBsaWtlIGl0J3Mg
d2FudGluZyB0byB0dXJuIGludG8gYSAoMSArIC4uLikgZXhwcmVzc2lvbi7CoCBJDQpjYW4ndCBz
ZWUgYW55dGhpbmcgdGhhdCBwcmV2ZW50cyB1cyBmcm9tIHJlb3JkZXJpbmcgdGhlIFNIX3R5cGUN
CmNvbnN0YW50cywgYnV0DQoNCjEgKyAoaWR4ID09IDEgLyogbDEgKi8gfHwgaWR4ID09IC8qIGZs
MSAqLykgKyAyICogKGlkeCA9PSAzIC8qIGwyICovKTsNCg0KZG9lc24ndCBvYnZpb3VzbHkgc2lt
cGxpZnkgZnVydGhlci4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 18:59:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 18:59:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468048.727120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p84JE-0003Iw-TQ; Wed, 21 Dec 2022 18:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468048.727120; Wed, 21 Dec 2022 18:59:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p84JE-0003Io-Qf; Wed, 21 Dec 2022 18:59:20 +0000
Received: by outflank-mailman (input) for mailman id 468048;
 Wed, 21 Dec 2022 18:59:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KbXi=4T=citrix.com=prvs=34759bb5a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p84JD-0002pH-Ll
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 18:59:19 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91264978-8161-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 19:59:18 +0100 (CET)
Received: from mail-co1nam11lp2171.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.171])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Dec 2022 13:59:15 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DS7PR03MB5430.namprd03.prod.outlook.com (2603:10b6:5:2c9::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 18:59:13 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 18:59:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91264978-8161-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671649158;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=t13C45lqPWOkZp3h37qWyVHamFPatIVzeOwOZ5nVNIg=;
  b=ct5XdBzeAiss+OUauI2Ic9Yjf76LhpAh9G6dBQzI8+taglr0cTCUWQlH
   QUtyBEB9gRPydpg7KEWTJ4eYc9GMYf1qiyRkffpcj8S9XJ0JcSFac2JM0
   4kMVORyBrXa4aVMxjZ5URNQCGqFCxYi2GQ+HKQQStNqp1jIAgbrxsJFXk
   Y=;
X-IronPort-RemoteIP: 104.47.56.171
X-IronPort-MID: 89546985
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:QRb1O6D9gYAxYxVW/xjiw5YqxClBgxIJ4kV8jS/XYbTApDxwgWYHm
 DBMWDjTOKzcambyfN13PYTj8xtT7Z6BndRnQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlC5wRlDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwxLdrWVBtq
 aYjMG4xNgHetaWmnaqWY7w57igjBJGD0II3nFhFlGicJtF/BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI++xuvDG7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prr+ewH+lCdJPfFG+3qN3vkaLlzERMj0fSEWggcnkoW2/AvsKf
 iT4/QJr98De7neDTNPwQhm5q36spQMHVpxbFOhSwBGAzO/Y7hiUAkAATyVdc5o2uckuXzso2
 1SV2dTzClRHr7m9WX+bsLCOoluaJSkQBX8PY2kDVwRt3jX4iIQ6jxaKRdE6Fqew14TxAWupn
 GnMqzUijbIOi8JNz7+84V3MnzOroN7OUxIx4QLUGGmi62uVebKYWmBh0nCDhd4oEWpTZgPpU
 KQs8yRG0N0zMA==
IronPort-HdrOrdr: A9a23:rwvVgq5wjkaJOEQ39QPXwMbXdLJyesId70hD6qkRc3Bom6mj/P
 xG88516faZslgssRMb+exoSZPgfZq0z/cci+Qs1NyZLWrbUQWTXeRfxLqn7zr8GzDvss5xvJ
 0QF5SW0eeAb2RHsQ==
X-IronPort-AV: E=Sophos;i="5.96,263,1665460800"; 
   d="scan'208";a="89546985"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AgQGZYZ/6lfOi4q7F+noddIHuZ9/RlinJHZ1jnJUIxkduvhukTwBXdESTrUcxVgtuGMR8Qk05R63bMLT1WG7i5xo1PGCbSSjEBHAhTewGlg89BrsUrTvNBdFVuVMtRTTvE2ld35056o/RJ3h3ZriuCorbGuvMXXRK1tRqGiRiNXGilhZtAKjTNCJxEj7LFtvSWV+thVrqw+eze6/zQgIsKJMcr9oA0+ViRY4w4/sJPqWvTu5FCltGRBQp0m53YLE1zYrw520PCwKZQrQZ+N1lAP8dPaK5L8QSzU2ZooUULG+Bu/levdZMl8TeZrCHGE6Kc/4Az9vHwZg0U9ErAaWWw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t13C45lqPWOkZp3h37qWyVHamFPatIVzeOwOZ5nVNIg=;
 b=FW4UuWJpjSAdANnvHVaD+b9jtgrq07hd6vfBJwvH14b2TLUyvFHxakflaEXIQCR9swyR6MGYuMBKXY6JSYwGYmGnEv2NVbkTQct1DSX0ZiNi/6Dhxl/Eo+UdDq+uRbbRzk8t9RRPlFlXCjcXvcnvqRkVTWYOyv/hr8ZEwjK5submJpk48E+fjmGSuDMHXnuOD8A9W3tiOdlgz7mLsM7ycQNspVATgzUTqqpN3/rWcHnL+oqpwf74qdRiBcFNNRY5VrJ3qjX/2A0xeT3Q8bHkrIpnMip+FQyTMOZlr2oDsAGWUcCx2yyy6kmUXlpK8RBXVjbAI42zKj90nt3k8+dkWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t13C45lqPWOkZp3h37qWyVHamFPatIVzeOwOZ5nVNIg=;
 b=q0yZIpLBfbRKCXBEmegHpsMIzxbIOJrqsNgkMCmXX2R4CM3VyClKRYlu7HW5L967XH5bIJNWnV5553m/QD+3gwYuOEMKWDRnuaK3YxJJTWt1ZOrFaGrY0+P1y5blzkuf2ng6ObQaiHedUoVT4MpePa2nYIctgJU2QGKGJm+iUPI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, George
 Dunlap <George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 7/8] x86/shadow: don't open-code copy_domain_page()
Thread-Topic: [PATCH 7/8] x86/shadow: don't open-code copy_domain_page()
Thread-Index: AQHZFUAI1WfSPAGHZ0up+t1gvUUhyq54siGA
Date: Wed, 21 Dec 2022 18:59:13 +0000
Message-ID: <fef05ae4-4b24-a1f7-26f6-504c83e543db@citrix.com>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
 <b218e950-d5fe-8e14-cfdc-dbcbb6a7ebf0@suse.com>
In-Reply-To: <b218e950-d5fe-8e14-cfdc-dbcbb6a7ebf0@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|DS7PR03MB5430:EE_
x-ms-office365-filtering-correlation-id: 0c0008b9-f95f-4982-5947-08dae385738b
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 8e1c9Vc0ubgZZPGJpzcBxg++bstQlGk9H6c4qAD57tgOmcP4d87WeCM6eL9EdneEeJu9SdvbLHu6wvRlkF+v0Ay5Jxw74YDs6S5hRzsiTs3qFcCZOmYbQltGI7e7udqiBZv67umWNXpQX2xa3fJTSR0U6MVxnCf7fv31ouH8IhTaRmYz1reTRgsiZbQYUDAAwUCrC1QnPHaWg8BWOx1+ChlmVi2JAC0l2CgtUQhHwg3V9vmAfAZY59SsWDviAmx6CE1PylxsjVJQACU0IdKEKIQyGj89MolEwMihRa19ZoDEbeRN1gcijvfVK2eTTuJJygfhDn0FGSjomV2wmCCPh/41N4J3yvSSUCnnuidGlZmN4tMyFJ7fgepFUrT0trotRrUGo9Lwf2QHaPbNAPTginrR2PnVAGNEha1mdHWH6ZN2CiPCdkBNPWu3HStTZgLeCjeUX5pZ4zQIVZLuzjHkD2wj9eJxsgzlf4ozXFBGGGM3gyGsQHjcI0ugVnIv676QTX3MCAumr6x//JC6N+o/IjsuLCatDN3AiNd00mkkza8ODQ4oSMqvC+3lLtQZVW6eEuHE1XJTH1RFNPmbG7ghEwAxxJlv4uA3ydOMP4P3eec/wVoA0UfsC220dZ5ZlvnnQ3uLdasi4DrNO0gCU7xA9q0eQjvKIlmt06p4torLGeOjzEL0qaDbrRmCioEjR8iNXM226km8UW8PE4jmQADaRYXA9CxMYgLrdpfmLfdvrwFKzUbtoaJ4VO5KiHwd6JX8mgdvXgGI87UiD8mIVjoY3g==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(346002)(136003)(39860400002)(376002)(451199015)(2906002)(8936002)(82960400001)(38070700005)(38100700002)(122000001)(5660300002)(8676002)(64756008)(66446008)(4326008)(71200400001)(6512007)(41300700001)(26005)(36756003)(91956017)(66556008)(76116006)(66946007)(66476007)(86362001)(2616005)(31686004)(53546011)(6486002)(186003)(316002)(478600001)(31696002)(6506007)(110136005)(54906003)(558084003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aWpwS05OQUR1RXAzRXpFS0ZveGR1M1FWYWxsb3ZZY24vYnRLNlRHV3ppWkJ5?=
 =?utf-8?B?TFFVcDRuQlQ1WlNQcHduUHpLT2tpb0R0STR0QlhENFVER00yMEVBWFJ5ZkRw?=
 =?utf-8?B?OVYydEU3bXBMQVZlT21sWGpVSTRLZmtiNlJ4STk2T0JmdHpZdEZUd1FqN3pS?=
 =?utf-8?B?SmZ4dGQyWURIMDF3dUxibjNTNFE1VFhiRlVaMDFEa2ZJb1lxNC9ldUlxeUR5?=
 =?utf-8?B?a1lXZFUxKzE3RTl4eDFUeXkwWno0Sk1hM0dHd1YvREdkNWdmbDU5bm42SVZ1?=
 =?utf-8?B?L2pjMks4Si9YbnNkWHZwS1hqbzJXelVneDYrYnY0RzlSWmIvaitaVXphQzg0?=
 =?utf-8?B?Rk8zdU11bWxmRzM4eFprbjFETmpzMmpOdkNVam5jVjdKRkgya2VGOW56Yk9R?=
 =?utf-8?B?Si9BV3N0V0FKTVZyM1kySzVaWExMWVZpUEdtTWpPTWVVSjhPMUpabG9iY281?=
 =?utf-8?B?UEJLdmdYNXhXUFQ5ZDl2Z3FGWHczVG9tSkpxeHVLSUVwQ1gxSDlZY2hEY2FD?=
 =?utf-8?B?eXNOSHNYYUs0d3JXaVh2bVdpd3hGVGpOUFBRV0UxZVhWQUxtS3pTSVd4Nkdk?=
 =?utf-8?B?K2JuNk9kVHlmQ3B5aHNaMWtvT3kyRUhuaVh3WnVDRHNwbG5hcnpxRWpoU3hy?=
 =?utf-8?B?L0d5ZnIwZkpLQ1o5c2dFRk9rcTE3NzFaVDQvTmpPc1JKVkZEWTBpeTl0Tllq?=
 =?utf-8?B?bkNvYXhKVnNkQm1hRU1DODJhT1R0cGJ1NHZQamUvY240M3lleUlZT1BOcG9R?=
 =?utf-8?B?Q2hiOVdVZEhmS0R6OVZJclkzSGMxeFJ5aGltMnAwMTdIUGJHTDFoMTNnblNK?=
 =?utf-8?B?M2hQc2UyTDdJblZWNHUrNzZQRGlrUVNWTWRSTTRvRE9KMFQ5VVNEYW9pcnVt?=
 =?utf-8?B?MHdTd1NpSUFQQnVUbmhoOGEwL0ErQ0orVHhQL0RjbVJZeUFyd0t0d0xBeDNK?=
 =?utf-8?B?ODRLR0tqdW1tRjRzOTZQeWlwTENXc2p5cnBzbWhwU0sxVEYzOFZTNnB1a0xr?=
 =?utf-8?B?akRrc01jbzBHK3hSMWVZRllBWVBUVmpHNCttS05tUy9aYlVka3pMT0Qwd0c5?=
 =?utf-8?B?VHpRQ0U0K2xrbWljOVJ0R29NdkIvd3JwZjZ0MERXNzg4NCt6Ymt3dXRDWU5x?=
 =?utf-8?B?ck13VHU5eWZkcFZLeDlUVk5JWFFIbDFXMWlidEtMM3ZJT1kzSnJiM1h2b1BS?=
 =?utf-8?B?aUlZaTlqeWlVMmcrd3RLU2ZzMHVOalp2LzNqcjVFc1BpZ2tYSGdpSnJQZTZD?=
 =?utf-8?B?ODdOWEhBbmFPNzJ5L0JaaXFJRFcraFgrN2t3Y0YybVllWWZHSncvc1YybmR6?=
 =?utf-8?B?WUVIeXZza0dFUGVsN0NUZXM5djMzVjl1ODZvODQ5aGxDMlE4ZkIxOG5jN0h4?=
 =?utf-8?B?YXdpbktIZ0JDWUI4b1hleVk4NnVueXlsSVVFTE9GM0Z2Z0FScEdDaGxSZmpF?=
 =?utf-8?B?TFAxUVRWWXJ2T01tVHhxVFVVUFN3U3BjNk1sYkFiL3FEdU1VKzlvbzhnQUNT?=
 =?utf-8?B?QTIzdURLK3pxeDNFSGJqb2o2OUhqYVR5ZW5zNU5aSnRGQUt1LzNnaDBIdjNj?=
 =?utf-8?B?SlpWZGQ3b2lWaGd6MGR3VldFNUtZOE1QcTRqUUs2RzllK2taUW9Da2hOZVNM?=
 =?utf-8?B?SWthcFJlb1J3Tk5iRDNwMXFQakJzNGYvc0U4WFVyNlVmdDVIUWFQVFJmazBW?=
 =?utf-8?B?V292UWREWGF3Z0h6STdvaWJkVHNFVm9GRUFKNDdadWh0OEhrdmRoQTk2ZkxD?=
 =?utf-8?B?aXdBeUExQ28rVjhMQXVOVUsydE1RZVh5OURLVEJjYW9XT0J5Y1hVUytJSlpa?=
 =?utf-8?B?cnVMK2V2OEFMc3ZqVE1jSW4xYWREK2dyTm9ycldxWjM5WGx5ak0zMGxDTzB1?=
 =?utf-8?B?RG9PampPU1ltd2VpZFQ3SUU2ai9XZldIR3hCUlYrNnNxcUtUL0oyV0NndmxW?=
 =?utf-8?B?M3psQm1JanJ1Sy9OQnlDcWNoU24xRXBqV1E2YmU5a2ZDK1pScWZyR3hDaVRk?=
 =?utf-8?B?R2NyMFEvaW9aWXJXVXVFTGlNQTlRK0o3aUhMcVpTdUM4cVpzMDkxdCtMc2RV?=
 =?utf-8?B?aUJIQnp2bmxITUVZcDlDN2d2aFRQK3lOcHpab3BpUkZXaW9Vc2NaM2Jxb0pI?=
 =?utf-8?B?WjNFRGpnbS8wUVM1NFZ5RW1kRUhwNzFxMk9BcHlWWFBiSlJIL0djUmlaMFFS?=
 =?utf-8?B?V2c9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <BF8B6719A7A25F4BABF55BF82954BAF4@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c0008b9-f95f-4982-5947-08dae385738b
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Dec 2022 18:59:13.4389
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: X6QXYUYorX8hvcfqKQqMY2yqUinIIHVUkMYggTwcepukEaXPCc1PIOzU+0+Dd5QhVXMuwODRPh1kwgzMyedTJQ6a8iJp5JYzxYE+rpkJ0jI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5430

T24gMjEvMTIvMjAyMiAxOjI3IHBtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gTGV0J3MgdXNlIHRo
ZSBsaWJyYXJ5LWxpa2UgZnVuY3Rpb24gdGhhdCB3ZSBoYXZlLg0KPg0KPiBTaWduZWQtb2ZmLWJ5
OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQoNClJldmlld2VkLWJ5OiBBbmRyZXcg
Q29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0K


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 19:00:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 19:00:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468057.727132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p84K1-0004hh-7U; Wed, 21 Dec 2022 19:00:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468057.727132; Wed, 21 Dec 2022 19:00:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p84K1-0004ha-3h; Wed, 21 Dec 2022 19:00:09 +0000
Received: by outflank-mailman (input) for mailman id 468057;
 Wed, 21 Dec 2022 19:00:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=KbXi=4T=citrix.com=prvs=34759bb5a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1p84Jz-0002pH-BU
 for xen-devel@lists.xenproject.org; Wed, 21 Dec 2022 19:00:07 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ade64202-8161-11ed-8fd4-01056ac49cbb;
 Wed, 21 Dec 2022 20:00:06 +0100 (CET)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Dec 2022 14:00:03 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO1PR03MB5859.namprd03.prod.outlook.com (2603:10b6:303:98::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec
 2022 19:00:01 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5924.016; Wed, 21 Dec 2022
 19:00:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ade64202-8161-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1671649206;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=RbclncoVbgdXQF+YOzj9EEjLv2T1S1W8pU8G8qIRWWw=;
  b=QdlV2apoTiXWgBUAjHA8l4W10nnQdUUeQ8ENCVVFuXRYdXWU4qb25BrX
   fE7DvSwlmpMaMd08FWgzPijUsiMgSe4YYusSx3sm+NoD/Q/6t8lfmSCRE
   UjzFdPkf+NyZbgH7zVPHtRPMGY1DWQ5TRoizGjlqAvRRTWEGPjK/sdTC2
   E=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 89547064
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:rr+W06wvXV3O8m+q+S16t+cGxyrEfRIJ4+MujC+fZmUNrF6WrkUPn
 WQYDz2HO/aCamCnLY9xbty3801Uv5Lcz4JiHQdq+yAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTbaeYUidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+U0HUMja4mtC5AVkP6kT5zcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KUpEz
 vsKNTIoVQvdhdiI5YK7W/tUutt2eaEHPKtH0p1h5RfwKK9/BLrlE+DN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjiVlVIhuFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAurCd9OS+XmqpaGhnWVnnwfVjAbeGeF+9TmskyyBfFYE
 UAbr39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLE7gDcCmUaQzppbN09qNRwVTEsz
 kWOnd7iGXpoqrL9YW2Z3qeZq3W1Iyd9BXMDYAcUQA1D5MPsyLzflTrKR9dnVaSz3tv8HGipx
 yjQ9XZuwbIOkcQMyqO3u0jdhC6hrYTISQhz4RjLWmWi7UVyY4vNi5GU1GU3JM1odO6xJmRtd
 lBd8yRCxIji1a2wqRE=
IronPort-HdrOrdr: A9a23:UNIZ96D4SGbdcprlHemi55DYdb4zR+YMi2TDtnocdfUxSKelfq
 +V88jzuSWbtN9yYhEdcKG7WZVoKEm0nfQZ3WB7B8bAYOCJghrMEKhSqafk3j38C2nf24dmpM
 NdmnFFeb/NMWQ=
X-IronPort-AV: E=Sophos;i="5.96,263,1665460800"; 
   d="scan'208";a="89547064"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AywTzAT0nHghSnQvAWHjdo4PjUudt4uLoV1AE4OMynGgkiG1TQxIFPojEXVSGXQ8pfdlgD0zOvI7qqj2Ui37wnd7CJBdNgnsZDZQNotxaLWybzR2rapfgl19LzIRPpFivRgUygcIuvRA4g6lhxt57DMisYkjtH0ZnuN31cGUO7vHx6+v/sKs4quYZZiOr7e0mPXeqpucCweKMWo8hgfy6XbS+ZI2imCes3uOutQz5XILH7lqv9rcnqIKI+LNj+Sb+I5vB35bf+8DTNSTIt1pbRX7J25EOtNkWlqvP/n1s4Rdt2bVE4FX9p18xVm3/8fN7FpKVe0cyp95gEYRUWnjmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RbclncoVbgdXQF+YOzj9EEjLv2T1S1W8pU8G8qIRWWw=;
 b=iUU55zbiZL4tC/EDILl1gmoqjDwUtk2b4pwE/OlP7BlP7NUehDnvcWZkI7sbovsDQaQxKOBC7rua6YRzP1arCg6g8bSpJzGd4fXRetBNTpSffcArDzqdlXu82Qk1e+74f74VBQSE7mKn7ZIUjGcqhQo1SOSaCjVbp+0QXQr68KrxwlsVqZLURSc+fJ9d9y+eUphrxnhRGGy73Y8bFK4TuMoDMbrvKG9i6vrwdnm5+2630CHWe2+QsMTLzuXYoUDVh2pH8sXZluxWO9SQMlFc5zYNOFAT+23G0CKF20Qcvi/LkEujaozfxnSxwQ9kIbi1ZqunVJ443tBwaeRq/uTXPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RbclncoVbgdXQF+YOzj9EEjLv2T1S1W8pU8G8qIRWWw=;
 b=BPR8+KHuJXiqfjvLKt9W8ZZ85SAaWkEUrkgANz24r4+cCiGYjBBX664TAjY7ka9CNx3uMKkUb/Iiq4YsFqKDi+AnSAbDvF2T4HPp4+wo6vsHHtbx4dLxfdw6OKQHCW67CwaU7pbuzcN1YhNN+hNuG/QAp2Lue94LoKYqXEytWI0=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>, George
 Dunlap <George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>
Subject: Re: [PATCH 8/8] x86/shadow: drop zero initialization from
 shadow_domain_init()
Thread-Topic: [PATCH 8/8] x86/shadow: drop zero initialization from
 shadow_domain_init()
Thread-Index: AQHZFUAU/A5RQl7RQEe98/BvQBpuMa54slkA
Date: Wed, 21 Dec 2022 19:00:00 +0000
Message-ID: <76d74293-8763-c184-c798-05b2e1eb8335@citrix.com>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
 <3410c8cb-57d1-dcb8-ab58-dcd3ca6748c5@suse.com>
In-Reply-To: <3410c8cb-57d1-dcb8-ab58-dcd3ca6748c5@suse.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|CO1PR03MB5859:EE_
x-ms-office365-filtering-correlation-id: a1eb9f83-f9f6-48cc-e50d-08dae3858fe1
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 +izQ9wYA23S3/v/gFENwH6CUCGW3IHlAXPwgFcOsMALFsoyAFbsO2i6IIHpt13ZK7GA10gkh1QbvZ2STC0z+DMeajSdmubn3OqmNDqo/qDTebXgZ1EJQcUuHMZjHxYAOFRLBsY5VNN5lUBdgaUlqiryuIp3lsAKV9RwA3LDINBuc2+snZ5jGZHDlLuKOfkPQi5ex0wFiS8bqtoaROM+Y9rFpPD18OHSBJUZIhu/KHNCNLkXU0DQS94P1OfK8DwDtGGJHaF+esTY6zQvlNdUrlSWf05IbLxy5gQ5qTfDMzEOQw9MQZOit75lW+rhxeg+kEir7V20u3EzyVj3IiPihhpV8YneHnK2zNMsBTtcY3hgPNt/zOH3wMD+wGVrE4mbowzwzXPOuTbQwmoF6/t9tXCMUFszhx48mWTVq36gVspn0olmj8FfivrItX5vB1CREGKsexA7ikp4rREGIKSFrIh1luFnhAT9SeB7++uajFTwrw9qKAPm6wqcoT2493DWdF6MUk7zU4PWDOjS7LR0DlcKnQxHxzAY9UEMsP5al2nauS4MwP9y7T0D5wZ/YXxiwYPG+aDrPmjPbDuTOqimhsXU68EaoE8YmWr/731yL1JR6sqJVrlSb0pii69CQ/m3gvy3bRa2MO5IEckH15k4Oy3kRiHrrx29YnGS2b2ctRcTv4ykjFZ1kaMilduG0XvAg60ZkWX0SddwbnrEwaV3afreRfwXvIWuHpJTBa3/pyaY/3YUbkrrq4PdFmXSvf/XSdrSdh0l/3e05gr8QsWS66Q==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(396003)(366004)(346002)(376002)(451199015)(36756003)(110136005)(54906003)(316002)(38100700002)(2906002)(2616005)(122000001)(26005)(71200400001)(31696002)(86362001)(478600001)(186003)(38070700005)(558084003)(82960400001)(6486002)(6512007)(53546011)(66446008)(64756008)(66476007)(8936002)(31686004)(66946007)(66556008)(8676002)(5660300002)(4326008)(6506007)(91956017)(41300700001)(76116006)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bGZRZjVBRThsblNTdXMwaVJQU0NsUWEyMkRSV2Z5WCtTRUlXMXptcnVJS2Yv?=
 =?utf-8?B?bWlQVStUNThMUXlwWmF2dzNGamFjUkh0bHVsSXJzRXl0MGtEbTA2Y1NJMS9s?=
 =?utf-8?B?Mkx6V1pFUGlHOVVsTlArQzNsSHluVTRWb0xuZ2o1RkNtRkZ4Ly8vZlE5ckRQ?=
 =?utf-8?B?UVRGZTFTNFZ5YWNHZHBDbnJucVFlMGgveklxem42T2RQUTcrOWQxZUZISkND?=
 =?utf-8?B?TVRaUW0vUVF4bzJ0RzZRSHMra1lJeG9MdXpHczl6L29LTnJueTMyTi82OHN5?=
 =?utf-8?B?UE1LMitQWjc2NU03Nk5xY3lTMVd1QnBUMkhXM1IvdnFNa2hYZUdPRWZZaXlv?=
 =?utf-8?B?b0txSDYrd2xpVW9tZ0xHZTBuSEpVbnBxSW5BRldzWGlEYXJuci9EM3dmcEp5?=
 =?utf-8?B?N2pkM25KOHA1YWxjZzdPTkp1RTZxbmlDanZDcXRqMlp4a0ZjejIyU2d4UTk4?=
 =?utf-8?B?SFl6cmo5cGdXVUt4VUhGK0VjRVp3aGZ2MlZoZEFXY2c1ZmlsUzRYNTFMbFNB?=
 =?utf-8?B?UUxPUnhxMjl2K2Q0OGJDRlhzTk9OKzBzb1p1VFRqMDRxSlFoOUF1WXZRSWZ4?=
 =?utf-8?B?dk9kL0ZkaU41MHdzcW0vT0xJU0w1eThmVWZiQncyZjVwREVYQlNUZ2hFOGVl?=
 =?utf-8?B?RmRLMzRhRnp6c3NHajkyTHNaL3Z0VXlkSGd1YzdNVWJtS2VnaWI2alJFM2NS?=
 =?utf-8?B?UFFTZDN3K3ZkdTNaMVBkOVFZUmM5VEVSNWhyV0Z2L3dHMlQ1Y0Z4WnBKNEtY?=
 =?utf-8?B?NDlFdGFicXl2Z3lKSzVXbTU1bUdFblN0WXpUczdXRnJ3L0xmMUlPbnNMTmI0?=
 =?utf-8?B?YXR3SzN2RUJ2NkRRY0NQTXVXNU5sWG1MdFpiSXFPNjMvMVdNVXlEakdJaVRn?=
 =?utf-8?B?clVDSi9sdnRhd0RZWUY4TmpaU0V6MCtuc0N3bDd4VmVtVkJCQ0l5SEg2cW9y?=
 =?utf-8?B?SnhsVVZ5Z29VZFcrVGF6eDlMaSs0U2hHNlBORnhWQmdMM3VmTTBQQjZ3SWpB?=
 =?utf-8?B?MTdRd1hxYWZIK0R5bm9wWTVSQ0N3RXBRZm5EQlEzVXZpRVdOaFMySHErdm5m?=
 =?utf-8?B?dVdYSU1pdTBMVk5qUU51NmZ6RVlqQjYrK3RHeWE5aDVYNk1FZlRTaG9jWWpq?=
 =?utf-8?B?WGZSWFN2N1N4N3dmVmpXRWJkNHR0Q1hBdjNpUmcrbm9oakN6Ny9rd0VnLzI2?=
 =?utf-8?B?ZHVJcG1ORlluMGloS3JpbGFzZVlVNnFPdTFJbGJXN3cyZTQ3S25pN01jZ0Vl?=
 =?utf-8?B?V2VUNDlDUTVqeEk0aGdkK0lFRFhrdVUxTWZ1b1NpejdtWFRnd3UvYmVYczg3?=
 =?utf-8?B?V2luVVJXQ2l5b3E2Yk9FN1AyZHhxSDN5MDF0VlppTGdrYStWekxleXAwTS9x?=
 =?utf-8?B?UjNLOWdDRlV6eVk3aVRHSDVCSU1qNVpidTV4R2VyUjZqWkJIalUwVkVuYTRW?=
 =?utf-8?B?eC9KMENFb3puSHJwR2hJaDdnYXF4UUxydGNhVUdaVFUzdzJoKzVQN1poNmxO?=
 =?utf-8?B?cGV5SWcrc0hpRWNCVWJxVC85bm1icjRGQVFJaE9yNUY4SkdSZVdXd0NGMVZn?=
 =?utf-8?B?b21TbVhrMzRKdmd4cWZyT092Um5WQXNzUTFtdm5CekowMWx5eFV3RHVmemRN?=
 =?utf-8?B?SjYrSWh2ZE1GS0hnaUw3Z2hLRGlwNzIxMUdIcy9LMnhCa25KZ1V2YXVFTmV1?=
 =?utf-8?B?MFRubWpwcksyZkNJc1EvUjBMMXBDc3hVNHZhVmpIUE9lZDhpWUVTY2ZGQXZr?=
 =?utf-8?B?VDJETDd5VUhkY2JDQXMwSXRUeFFrMEpUeitWaUNhcE81VGFoczlaSVhkMVZw?=
 =?utf-8?B?WnpQMUoxd0hyU0lXV1R0aE14U3pvckhLWjZ6bDNPSmMxdWpqQ3FPT2VyT1RR?=
 =?utf-8?B?cmg5cGhJZEdVN2FrMC96VFJVK2JCa2d0Q2RNRnBhNUtIbmo5V3MzcS9FdlR1?=
 =?utf-8?B?NVdFR21pZ09JblV1Tjh5NGxPNjg3UE1aUzFYQkp1SHFjSDVwUzhSOE96ZXp2?=
 =?utf-8?B?ZHNqeWNjVUZmVzYxMnlNU0dtVWFabmhHYWhhblNwUE8zK0U1aHhHV2sxTG5u?=
 =?utf-8?B?cjBzVXB5QVJ6U01kYlhnMVErQWNRaUpxRjFMd3NodXdTUUFjQVNmejBUcFlL?=
 =?utf-8?B?MFkwc3BNVWhaUmZFR05JcDg2K3dHSWh3ZHZCVnlzWklyS3RBTjUvWFd6aUJY?=
 =?utf-8?B?WWc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <5C41784B398AC1469B3AF5DA28FB7060@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a1eb9f83-f9f6-48cc-e50d-08dae3858fe1
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Dec 2022 19:00:00.9979
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xgba7YP8fLNCsulQ6oZGwFSAEoXWGFYDzKklSOg+iqVvlDF8Y1XblhBKqGfl2ToQ7ODulutvPYnG4/WlMzgbaR1bD75bLAxyumM+50kP+fY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5859

T24gMjEvMTIvMjAyMiAxOjI4IHBtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4gVGhlcmUncyBubyBu
ZWVkIGZvciB0aGlzIGFzIHN0cnVjdCBkb21haW4gc3RhcnRzIG91dCB6ZXJvLWZpbGxlZC4NCj4N
Cj4gU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPg0KDQpSZXZp
ZXdlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCg==


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 20:39:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 20:39:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468076.727143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p85rm-0005VJ-Am; Wed, 21 Dec 2022 20:39:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468076.727143; Wed, 21 Dec 2022 20:39:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p85rm-0005VC-80; Wed, 21 Dec 2022 20:39:06 +0000
Received: by outflank-mailman (input) for mailman id 468076;
 Wed, 21 Dec 2022 20:39:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p85rl-0005V2-7u; Wed, 21 Dec 2022 20:39:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p85rl-00059g-3s; Wed, 21 Dec 2022 20:39:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p85rk-0006Fx-PJ; Wed, 21 Dec 2022 20:39:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p85rk-0007x5-Oc; Wed, 21 Dec 2022 20:39:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6SrHbR96SQfqfAPmQl+h6cbNum/aVvCvAIeYZub45qg=; b=Cv8AQdB0ciXJOgaUlMsdnQcFeN
	bFKHRuTrQ2RCfS0QikIaKt0aFvM5Bci5fVvkmnOcNEJ+dy0qLjNxRGwsifCffUE7FR5WeHzKMBN9l
	Jxkv/GLkFHF0ow/rjHayie6WS3OEzDP1cQbeKWw82UcaPQaooiKgeyqSkEXrLhnHX2dA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175433-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175433: trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-pair:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemuu-ovmf-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-dom0pvh-xl-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-dom0pvh-xl-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-examine:host-install:broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-ovmf-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-pair:host-install/dst_host(7):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start.2:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 20:39:04 +0000

flight 175433 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175433/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-pair            <job status>                 broken
 test-amd64-amd64-xl-qemuu-ovmf-amd64    <job status>                 broken
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow    <job status>        broken
 test-amd64-amd64-xl-qemuu-debianhvm-amd64    <job status>               broken
 test-amd64-amd64-xl             <job status>                 broken
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>                 broken
 test-amd64-i386-xl-qemuu-ws16-amd64  5 host-install(5) broken REGR. vs. 175197
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-i386-xl-qemuu-debianhvm-amd64    <job status>      broken in 175418
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm <job status> broken in 175418
 test-amd64-i386-xl-qemut-debianhvm-amd64    <job status>      broken in 175418
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175418
 test-amd64-amd64-dom0pvh-xl-intel    <job status>             broken in 175418

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175433
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175433
 test-amd64-i386-xl-qemuu-debianhvm-amd64 5 host-install(5) broken in 175418 pass in 175433
 test-amd64-i386-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175418 pass in 175433
 test-amd64-amd64-dom0pvh-xl-intel 5 host-install(5) broken in 175418 pass in 175433
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 5 host-install(5) broken in 175418 pass in 175433
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175418 pass in 175433
 test-amd64-i386-examine       5 host-install             broken pass in 175407
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 5 host-install(5) broken pass in 175418
 test-amd64-amd64-xl           5 host-install(5)          broken pass in 175418
 test-amd64-amd64-xl-qemuu-ovmf-amd64  5 host-install(5)  broken pass in 175418
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 5 host-install(5) broken pass in 175418
 test-amd64-i386-pair          7 host-install/dst_host(7) broken pass in 175418
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175418 pass in 175433
 test-arm64-arm64-libvirt-raw 18 guest-start.2    fail in 175418 pass in 175433
 test-armhf-armhf-xl-vhd      13 guest-start      fail in 175418 pass in 175433
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 175418 pass in 175433
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 175418

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 175418 like 175197
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 175418 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 175418 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z    7 days
Testing same since   175407  2022-12-19 11:42:26 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          broken  
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    broken  
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         broken  
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          broken  
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         broken  
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             broken  
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-pair broken
broken-job test-amd64-amd64-xl-qemuu-ovmf-amd64 broken
broken-job test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow broken
broken-job test-amd64-amd64-xl-qemuu-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-step test-amd64-amd64-xl-qemuu-debianhvm-amd64 host-install(5)
broken-step test-amd64-amd64-xl host-install(5)
broken-step test-amd64-amd64-xl-qemuu-ovmf-amd64 host-install(5)
broken-step test-amd64-i386-xl-qemuu-ws16-amd64 host-install(5)
broken-step test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow host-install(5)
broken-step test-amd64-i386-examine host-install
broken-step test-amd64-i386-pair host-install/dst_host(7)
broken-job test-amd64-i386-xl-qemuu-debianhvm-amd64 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm broken
broken-job test-amd64-i386-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-amd64-dom0pvh-xl-intel broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 20:54:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 20:54:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468085.727153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p866B-0007re-K7; Wed, 21 Dec 2022 20:53:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468085.727153; Wed, 21 Dec 2022 20:53:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p866B-0007rX-HQ; Wed, 21 Dec 2022 20:53:59 +0000
Received: by outflank-mailman (input) for mailman id 468085;
 Wed, 21 Dec 2022 20:53:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8669-0007rN-VR; Wed, 21 Dec 2022 20:53:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8669-0005c3-Pg; Wed, 21 Dec 2022 20:53:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8669-0006er-63; Wed, 21 Dec 2022 20:53:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8669-0007Sb-5a; Wed, 21 Dec 2022 20:53:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nhc2/sHzWIonCxyD5D8mj47huxBRGEUW7ySlF5tsZ9U=; b=oL5MPDGv1zBXfu69ehyRUIuCFe
	JuKtUBdv73NsdXpsqc1X69uYrknVpSVXS6mEYb//JbgdFkm3wT475SwCSeQobhgqFOTmu2kpSvCu3
	+zFN9nNzUVOGeWCl2fS7DNqBu1b1EBxlJkwrXRxeWrr4ihpTUDHXzhBHTpQsAJjIkQRU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175434-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175434: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-pair:<job status>:broken:regression
    xen-unstable:test-amd64-i386-migrupgrade:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-pvshim:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-pvshim:host-install(5):broken:regression
    xen-unstable:test-amd64-i386-libvirt-pair:host-install/src_host(6):broken:regression
    xen-unstable:test-amd64-i386-migrupgrade:host-install/src_host(6):broken:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:host-install(5):broken:regression
    xen-unstable:test-amd64-amd64-examine-uefi:host-install:broken:regression
    xen-unstable:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    xen-unstable:test-amd64-amd64-examine-uefi:memdisk-try-append:fail:allowable
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=dc380df12acfe53ccdcbeecaaee3510a3b0e374e
X-Osstest-Versions-That:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 20:53:57 +0000

flight 175434 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175434/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt-pair    <job status>                 broken
 test-amd64-i386-migrupgrade     <job status>                 broken
 test-amd64-i386-xl-pvshim       <job status>                 broken
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm    <job status>             broken
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm    <job status>    broken
 test-amd64-i386-xl-pvshim     5 host-install(5)        broken REGR. vs. 175399
 test-amd64-i386-libvirt-pair 6 host-install/src_host(6) broken REGR. vs. 175399
 test-amd64-i386-migrupgrade 6 host-install/src_host(6) broken REGR. vs. 175399
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken REGR. vs. 175399
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 5 host-install(5) broken REGR. vs. 175399
 test-amd64-amd64-examine-uefi  5 host-install          broken REGR. vs. 175399
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 175399

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-examine-uefi  4 memdisk-try-append      fail REGR. vs. 175399

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175399
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175399
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175399
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175399
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175399
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175399
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175399
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175399
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175399
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  dc380df12acfe53ccdcbeecaaee3510a3b0e374e
baseline version:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2

Last test of basis   175399  2022-12-19 01:53:26 Z    2 days
Failing since        175408  2022-12-19 15:38:33 Z    2 days    3 attempts
Testing same since   175434  2022-12-21 01:41:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Edwin Török <edvin.torok@citrix.com>
  Edwin Török <edwin.torok@cloud.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>
  Neowutran <xen@neowutran.ovh>
  Roger Pau Monné <roger.pau@citrix.com>
  Sergey Dyasli <sergey.dyasli@citrix.com>
  Stewart Hildebrand <stewart.hildebrand@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         broken  
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  broken  
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  broken  
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 broken  
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    broken  
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-libvirt-pair broken
broken-job test-amd64-i386-migrupgrade broken
broken-job test-amd64-i386-xl-pvshim broken
broken-job test-amd64-i386-xl-qemut-debianhvm-i386-xsm broken
broken-job test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm broken
broken-step test-amd64-i386-xl-pvshim host-install(5)
broken-step test-amd64-i386-libvirt-pair host-install/src_host(6)
broken-step test-amd64-i386-migrupgrade host-install/src_host(6)
broken-step test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm host-install(5)
broken-step test-amd64-i386-xl-qemut-debianhvm-i386-xsm host-install(5)
broken-step test-amd64-amd64-examine-uefi host-install

Not pushing.

(No revision log; it would be 399 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 21:19:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 21:19:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468098.727165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p86UM-00021V-JW; Wed, 21 Dec 2022 21:18:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468098.727165; Wed, 21 Dec 2022 21:18:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p86UM-00021O-Gt; Wed, 21 Dec 2022 21:18:58 +0000
Received: by outflank-mailman (input) for mailman id 468098;
 Wed, 21 Dec 2022 21:18:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p86UL-00021E-Q7; Wed, 21 Dec 2022 21:18:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p86UL-0006RO-N6; Wed, 21 Dec 2022 21:18:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p86UL-0007MR-Bc; Wed, 21 Dec 2022 21:18:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p86UL-0003gk-B8; Wed, 21 Dec 2022 21:18:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mUOm8HYYwuipnf9m+b56s3xVEfHP3PPgW2AWSRWLtwE=; b=VJpa4iTsGq1kWu/jw/Z5jpqI+r
	4VMsqstnDiXMfxtBH5d6g26pyPgcnor312rLwZ1asUHN5JkUv527lhUao7JdwcR3CKVyRrome9RQy
	LjSCJbuLfJVfMLQIllqHWPKsS0aAz5YCdqUkESnneZgNRnr21JK0+rvpFGehTXgO6Gzs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175444-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175444: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=62031335bdbacc68253d43481477b9a468e0644e
X-Osstest-Versions-That:
    ovmf=0b633b14944903c32aa061befaf38bd8d994cf13
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 21:18:57 +0000

flight 175444 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175444/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 62031335bdbacc68253d43481477b9a468e0644e
baseline version:
 ovmf                 0b633b14944903c32aa061befaf38bd8d994cf13

Last test of basis   175441  2022-12-21 11:13:47 Z    0 days
Testing same since   175444  2022-12-21 16:12:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dun Tan <dun.tan@intel.com>
  duntan <dun.tan@intel.com>
  Jian J Wang <jian.j.wang@intel.com>
  Judah Vang <judah.vang@intel.com>
  Nishant C Mistry <nishant.c.mistry@intel.com>
  Tan, Dun <dun.tan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   0b633b1494..62031335bd  62031335bdbacc68253d43481477b9a468e0644e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Dec 21 21:23:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 21 Dec 2022 21:23:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468107.727176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p86Yw-0003Rp-4R; Wed, 21 Dec 2022 21:23:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468107.727176; Wed, 21 Dec 2022 21:23:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p86Yw-0003Ri-1R; Wed, 21 Dec 2022 21:23:42 +0000
Received: by outflank-mailman (input) for mailman id 468107;
 Wed, 21 Dec 2022 21:23:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p86Yu-0003RY-RC; Wed, 21 Dec 2022 21:23:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p86Yu-0006ZX-Pb; Wed, 21 Dec 2022 21:23:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p86Yu-0007TC-CZ; Wed, 21 Dec 2022 21:23:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p86Yu-0007Dk-CC; Wed, 21 Dec 2022 21:23:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NA6UwPsPal3mg7llgT0+FcIWcgKRIxylFE/2qI6avwg=; b=DhENmSNH4HhvpjrV9G0Z6f5h3X
	lpOakw6KSKYsbjguYH0FK1824IueYVdBlUZqrEiEdyhpL1EUb14rGBDuA0rogjTuHEjauGFQuycND
	RD/r1v60ZypOam1Y1qGfXL977bpozumTUHsvzUCcqPIV03EzfvcktrrX4sFaVjtUlGgU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175436-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175436: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=4102acc608819b15658ca3e37ceca7c89efae16b
X-Osstest-Versions-That:
    libvirt=b271d6f3b0d70e8e7be22252bf25deebe8536d39
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 21 Dec 2022 21:23:40 +0000

flight 175436 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175436/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175306
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175306
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175306
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 libvirt              4102acc608819b15658ca3e37ceca7c89efae16b
baseline version:
 libvirt              b271d6f3b0d70e8e7be22252bf25deebe8536d39

Last test of basis   175306  2022-12-16 04:21:45 Z    5 days
Testing same since   175419  2022-12-20 04:18:52 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ján Tomko <jtomko@redhat.com>
  Peter Krempa <pkrempa@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   b271d6f3b0..4102acc608  4102acc608819b15658ca3e37ceca7c89efae16b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 00:35:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 00:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468129.727187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p89Xp-0005cx-Va; Thu, 22 Dec 2022 00:34:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468129.727187; Thu, 22 Dec 2022 00:34:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p89Xp-0005cq-Sb; Thu, 22 Dec 2022 00:34:45 +0000
Received: by outflank-mailman (input) for mailman id 468129;
 Thu, 22 Dec 2022 00:34:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p89Xo-0005cg-78; Thu, 22 Dec 2022 00:34:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p89Xo-0003j7-3z; Thu, 22 Dec 2022 00:34:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p89Xn-0002rB-NM; Thu, 22 Dec 2022 00:34:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p89Xn-0005UG-Mt; Thu, 22 Dec 2022 00:34:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=byDWYFA6x6fvev8PVBR1QTxeOYxY7jlPte1/ytCIn+0=; b=IP5u5uWzBXJERtXp/b2N6XZtib
	An0OHwlkX7xP5R9/xi5gddRyEgIgjauDJcI9eBad5+8vXsitOg9e1qT7A/8PSFV2QcLE3oG3p89P5
	Mc9B+oOtK1Pe0hE/6U3ekP31Jy9oXZ+MwVD/KYLHDZTg+blXX2vQ98vzF2Ig3hC5dEVY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175437-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 175437: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-i386-livepatch:<job status>:broken:regression
    xen-4.17-testing:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:<job status>:broken:regression
    xen-4.17-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    xen-4.17-testing:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:host-install(5):broken:regression
    xen-4.17-testing:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:regression
    xen-4.17-testing:test-amd64-i386-livepatch:host-install(5):broken:regression
    xen-4.17-testing:test-amd64-i386-migrupgrade:guest-migrate/src_host/dst_host:fail:regression
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c4972a4272690384b15d5706f2a833aed636895e
X-Osstest-Versions-That:
    xen=11560248ffda3f00f20bbdf3ae088af474f7f2a3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 00:34:43 +0000

flight 175437 xen-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175437/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-livepatch       <job status>                 broken
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm    <job status>             broken
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>               broken
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 5 host-install(5) broken REGR. vs. 175096
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken REGR. vs. 175096
 test-amd64-i386-livepatch     5 host-install(5)        broken REGR. vs. 175096
 test-amd64-i386-migrupgrade 26 guest-migrate/src_host/dst_host fail REGR. vs. 175096

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175096
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175096
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175096
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175096
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175096
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175096
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175096
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175096
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175096
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175096
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175096
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175096
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  c4972a4272690384b15d5706f2a833aed636895e
baseline version:
 xen                  11560248ffda3f00f20bbdf3ae088af474f7f2a3

Last test of basis   175096  2022-12-08 18:07:02 Z   13 days
Failing since        175425  2022-12-20 13:06:46 Z    1 days    2 attempts
Testing same since   175437  2022-12-21 06:46:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Edwin Török <edvin.torok@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Neowutran <xen@neowutran.ovh>
  Per Bilse <per.bilse@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  broken  
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    broken  
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    broken  
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-livepatch broken
broken-job test-amd64-i386-xl-qemuu-debianhvm-i386-xsm broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-step test-amd64-i386-xl-qemuu-debianhvm-i386-xsm host-install(5)
broken-step test-amd64-amd64-xl-qemut-debianhvm-amd64 host-install(5)
broken-step test-amd64-i386-livepatch host-install(5)

Not pushing.

(No revision log; it would be 470 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 00:39:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 00:39:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468140.727197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p89c2-0006Iw-NE; Thu, 22 Dec 2022 00:39:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468140.727197; Thu, 22 Dec 2022 00:39:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p89c2-0006Ip-KC; Thu, 22 Dec 2022 00:39:06 +0000
Received: by outflank-mailman (input) for mailman id 468140;
 Thu, 22 Dec 2022 00:39:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fpfT=4U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p89c1-0006Ij-DJ
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 00:39:05 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 088217ab-8191-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 01:39:04 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id B07CC6198B;
 Thu, 22 Dec 2022 00:39:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5EB06C433D2;
 Thu, 22 Dec 2022 00:39:00 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 088217ab-8191-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671669542;
	bh=5DGhHthfnwC0wMPKGobcOsBgJeqAgWvcYyzdifVgQM0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=TeTOhMB46Wcatjp6d5A75AWKM8YTgtFAZfepLc0uaa6ENG3nigjLQ+QMZc5t5OmVm
	 A6Klmi/RSCjj7kf6H7VM4RZdw4xfBn10K0fRs7sJlW+Egtzd7jhb8GJRFAY+lMwaP7
	 K/mkBJDfOiQxDgFi13zCk1RJZ3XUxljJ3mYWqz6vH3igV57Ur+YpeGt703B8X82NBx
	 t40273ZxXxWHnhruguNjauA8gnynafiAwOWb7ulHg8MHiC6MIBZovE+ZFzL1vH+mPM
	 C3gGJlnT4D5eUJWI1pPJeG+J8iVonbS4BAQYFN9SzckMKCpqCx8wBxIk2nYynbrXhA
	 yLkbfXihXd5nA==
Date: Wed, 21 Dec 2022 16:38:58 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Smith, Jackson" <rsmith@RiversideResearch.org>
cc: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    "Brookes, Scott" <sbrookes@RiversideResearch.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, 
    "jbeulich@suse.com" <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, 
    "demi@invisiblethingslab.com" <demi@invisiblethingslab.com>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
    "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: RE: [RFC 0/4] Adding Virtual Memory Fuses to Xen
In-Reply-To: <BN0P110MB16429FF1A9FF3507A684C5B2CFEA9@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
Message-ID: <alpine.DEB.2.22.394.2212211638100.4079@ubuntu-linux-20-04-desktop>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM> <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org> <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM> <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
 <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop> <7a7a7156-138d-a53c-fb65-a210e14bd8c1@xen.org> <BN0P110MB16429FF1A9FF3507A684C5B2CFEA9@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 20 Dec 2022, Smith, Jackson wrote:
> > Hi Stefano,
> >
> > On 16/12/2022 01:46, Stefano Stabellini wrote:
> > > On Thu, 15 Dec 2022, Julien Grall wrote:
> > >>>> On 13/12/2022 19:48, Smith, Jackson wrote:
> > >>> Yes, we are familiar with the "secret-free hypervisor" work. As
> you
> > >>> point out, both our work and the secret-free hypervisor remove the
> > >>> directmap region to mitigate the risk of leaking sensitive guest
> > >>> secrets. However, our work is slightly different because it
> > >>> additionally prevents attackers from tricking Xen into remapping a
> > guest.
> > >>
> > >> I understand your goal, but I don't think this is achieved (see
> > >> above). You would need an entity to prevent write to TTBR0_EL2 in
> > >> order to fully protect it.
> > >
> > > Without a way to stop Xen from reading/writing TTBR0_EL2, we
> > cannot
> > > claim that the guest's secrets are 100% safe.
> > >
> > > But the attacker would have to follow the sequence you outlines
> > above
> > > to change Xen's pagetables and remap guest memory before
> > accessing it.
> > > It is an additional obstacle for attackers that want to steal other
> > guests'
> > > secrets. The size of the code that the attacker would need to inject
> > > in Xen would need to be bigger and more complex.
> >
> > Right, that's why I wrote with a bit more work. However, the nuance
> > you mention doesn't seem to be present in the cover letter:
> >
> > "This creates what we call "Software Enclaves", ensuring that an
> > adversary with arbitrary code execution in the hypervisor STILL cannot
> > read/write guest memory."
> >
> > So if the end goal if really to protect against *all* sort of
> arbitrary 
> > code,
> > then I think we should have a rough idea how this will look like in
> Xen.
> >
> >  From a brief look, it doesn't look like it would be possible to
> prevent
> > modification to TTBR0_EL2 (even from EL3). We would need to
> > investigate if there are other bits in the architecture to help us.
> >
> > >
> > > Every little helps :-)
> >
> > I can see how making the life of the attacker more difficult is 
> > appealing.
> > Yet, the goal needs to be clarified and the risk with the approach
> > acknowledged (see above).
> >
> 
> You're right, we should have mentioned this weakness in our first email.
> Sorry about the oversight! This is definitely still a limitation that we
> have not yet overcome. However, we do think that the increase in
> attacker workload that you and Stefano are discussing could still be
> valuable to security conscious Xen users.
> 
> It would nice to find additional architecture features that we can use
> to close this hole on arm, but there aren't any that stand out to me
> either.
> 
> With this limitation in mind, what are the next steps we should take to
> support this feature for the xen community? Is this increase in attacker
> workload meaningful enough to justify the inclusion of VMF in Xen?

I think it could be valuable as an additional obstacle for the attacker
to overcome. The next step would be to port your series on top of
Julien's "Remove the directmap" patch series
https://marc.info/?l=xen-devel&m=167119090721116

Julien, what do you think?


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 00:54:02 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 00:54:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468148.727209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p89qN-0000DY-2Y; Thu, 22 Dec 2022 00:53:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468148.727209; Thu, 22 Dec 2022 00:53:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p89qM-0000DR-U1; Thu, 22 Dec 2022 00:53:54 +0000
Received: by outflank-mailman (input) for mailman id 468148;
 Thu, 22 Dec 2022 00:53:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fpfT=4U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p89qL-0000DJ-Eg
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 00:53:53 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 19ad2451-8193-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 01:53:51 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7560761990;
 Thu, 22 Dec 2022 00:53:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1EDB9C433EF;
 Thu, 22 Dec 2022 00:53:47 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19ad2451-8193-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671670429;
	bh=SBynUhkKtyDTorKB5vc5IeaXDEOFcRhTM3sPcT+h1qA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=VDb+1j6ZVUU5rk+lgSJVwYQX+qyu3rGWC9p9AOebJo++5/sHDQLg8wLDMQL5UZerA
	 ZIClKLLfsRLrVI46cB20cqTjAHog0YsIHSrqEOnxErLngd8PVIWzrWzusfG9ztBv5Y
	 VXol3gmUAdMrad7vw1CiRMFohKCmgh+dMmWwwB0e7VgzFIGCAus0dyvjD7GerQyWxp
	 H3a84KPStqMEx+NvX5Q2i4VMOBxry/7nFBqms/M0hYRv/od8t+NGwH7na5bRxkqt1C
	 OLzPWmQQQs+bUhr5080C47wiqOpu2w0bnb8VOlqsJUQDEqvSEMGo8+GhdnYgqeMFVV
	 fqvpWHa1MAXyA==
Date: Wed, 21 Dec 2022 16:53:46 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Demi Marie Obenour <demi@invisiblethingslab.com>
cc: "Smith, Jackson" <rsmith@riversideresearch.org>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    "Brookes, Scott" <sbrookes@riversideresearch.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, 
    "jbeulich@suse.com" <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
    "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
In-Reply-To: <Y6I3oqYdTKa/57I/@itl-email>
Message-ID: <alpine.DEB.2.22.394.2212211639070.4079@ubuntu-linux-20-04-desktop>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM> <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org> <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM> <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
 <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop> <7a7a7156-138d-a53c-fb65-a210e14bd8c1@xen.org> <BN0P110MB16429FF1A9FF3507A684C5B2CFEA9@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM> <Y6I3oqYdTKa/57I/@itl-email>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1351684491-1671670331=:4079"
Content-ID: <alpine.DEB.2.22.394.2212211652150.4079@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1351684491-1671670331=:4079
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2212211652151.4079@ubuntu-linux-20-04-desktop>

On Tue, 20 Dec 2022, Demi Marie Obenour wrote:
> On Tue, Dec 20, 2022 at 10:17:24PM +0000, Smith, Jackson wrote:
> > > Hi Stefano,
> > >
> > > On 16/12/2022 01:46, Stefano Stabellini wrote:
> > > > On Thu, 15 Dec 2022, Julien Grall wrote:
> > > >>>> On 13/12/2022 19:48, Smith, Jackson wrote:
> > > >>> Yes, we are familiar with the "secret-free hypervisor" work. As
> > you
> > > >>> point out, both our work and the secret-free hypervisor remove the
> > > >>> directmap region to mitigate the risk of leaking sensitive guest
> > > >>> secrets. However, our work is slightly different because it
> > > >>> additionally prevents attackers from tricking Xen into remapping a
> > > guest.
> > > >>
> > > >> I understand your goal, but I don't think this is achieved (see
> > > >> above). You would need an entity to prevent write to TTBR0_EL2 in
> > > >> order to fully protect it.
> > > >
> > > > Without a way to stop Xen from reading/writing TTBR0_EL2, we
> > > cannot
> > > > claim that the guest's secrets are 100% safe.
> > > >
> > > > But the attacker would have to follow the sequence you outlines
> > > above
> > > > to change Xen's pagetables and remap guest memory before
> > > accessing it.
> > > > It is an additional obstacle for attackers that want to steal other
> > > guests'
> > > > secrets. The size of the code that the attacker would need to inject
> > > > in Xen would need to be bigger and more complex.
> > >
> > > Right, that's why I wrote with a bit more work. However, the nuance
> > > you mention doesn't seem to be present in the cover letter:
> > >
> > > "This creates what we call "Software Enclaves", ensuring that an
> > > adversary with arbitrary code execution in the hypervisor STILL cannot
> > > read/write guest memory."
> > >
> > > So if the end goal if really to protect against *all* sort of
> > arbitrary 
> > > code,
> > > then I think we should have a rough idea how this will look like in
> > Xen.
> > >
> > >  From a brief look, it doesn't look like it would be possible to
> > prevent
> > > modification to TTBR0_EL2 (even from EL3). We would need to
> > > investigate if there are other bits in the architecture to help us.
> > >
> > > >
> > > > Every little helps :-)
> > >
> > > I can see how making the life of the attacker more difficult is 
> > > appealing.
> > > Yet, the goal needs to be clarified and the risk with the approach
> > > acknowledged (see above).
> > >
> > 
> > You're right, we should have mentioned this weakness in our first email.
> > Sorry about the oversight! This is definitely still a limitation that we
> > have not yet overcome. However, we do think that the increase in
> > attacker workload that you and Stefano are discussing could still be
> > valuable to security conscious Xen users.
> > 
> > It would nice to find additional architecture features that we can use
> > to close this hole on arm, but there aren't any that stand out to me
> > either.
> > 
> > With this limitation in mind, what are the next steps we should take to
> > support this feature for the xen community? Is this increase in attacker
> > workload meaningful enough to justify the inclusion of VMF in Xen?
> 
> Personally, I don’t think so.  The kinds of workloads VMF is usable
> for (no hypercalls) are likely easily portable to other hypervisors,
> including formally verified microkernels such as seL4 that provide... 

What other hypervisors might or might not do should not be a factor in
this discussion and it would be best to leave it aside.

>From an AMD/Xilinx point of view, most of our customers using Xen in
productions today don't use any hypercalls in one or more of their VMs.
Xen is great for these use-cases and it is rather common in embedded.
It is certainly a different configuration from what most are come to
expect from Xen on the server/desktop x86 side. There is no question
that guests without hypercalls are important for Xen on ARM.

As a Xen community we have a long history and strong interest in making
Xen more secure and also, more recently, safer (in the ISO 26262
safety-certification sense). The VMF work is very well aligned with both
of these efforts and any additional burder to attackers is certainly
good for Xen.

Now the question is what changes are necessary and how to make them to
the codebase. And if it turns out that some of the changes are not
applicable or too complex to accept, the decision will be made purely
from a code maintenance point of view and will have nothing to do with
VMs making no hypercalls being unimportant (i.e. if we don't accept one
or more patches is not going to have anything to do with the use-case
being unimportant or what other hypervisors might or might not do).
--8323329-1351684491-1671670331=:4079--


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 01:22:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 01:22:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468157.727221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8AIF-0001o3-9R; Thu, 22 Dec 2022 01:22:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468157.727221; Thu, 22 Dec 2022 01:22:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8AIF-0001nw-4R; Thu, 22 Dec 2022 01:22:43 +0000
Received: by outflank-mailman (input) for mailman id 468157;
 Thu, 22 Dec 2022 01:22:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fpfT=4U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p8AIE-0001mX-BD
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 01:22:42 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2098cf06-8197-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 02:22:41 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 41A2AB81B9C;
 Thu, 22 Dec 2022 01:22:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 15BE2C433EF;
 Thu, 22 Dec 2022 01:22:37 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2098cf06-8197-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671672158;
	bh=pdt1O14ihPJlnEuTj68EwR9IlyEBRW+E4apYypBPXmI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=rbHV55jhf5Rvn8wO39P1dLBWnf364U45FePLwCvs8XDpnc7r0a7WOQ/3kj0O8TRdw
	 UxITgoIK9Md+onnIWxCbpcLnLBlJuEHrw/p1ND2i1p2n6yl3XOWzlAdzW93OnvExKD
	 KTjRraPQesyjSpbT+rPKF+wj6MjHceLBSAFrakrCr5+wqvWhGoMEYyLYKvI07+ktfM
	 ZUKlNfXHwbjjW6gGaKuX1Gs4TTXHhk5ufSm+vzxqFD/wvhR6iSQTlLKdRws+y5QzJK
	 Hb/mk6NY0gbces71ASsdDP05IBgw9l28FmqT23RiO95uf6Ui6aD+F2xTOOcSam6bkN
	 dcpnH5rmBm4CA==
Date: Wed, 21 Dec 2022 17:22:36 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2] xen/arm: Allow to set grant table related limits for
 dom0less domUs
In-Reply-To: <20221219085908.13479-1-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2212211722290.4079@ubuntu-linux-20-04-desktop>
References: <20221219085908.13479-1-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 19 Dec 2022, Michal Orzel wrote:
> At the moment, for dom0less domUs, we do not have a way to specify
> per domain grant table related limits (unlike when using xl), namely
> max version, max number of grant frames, max number of maptrack frames.
> This means that such domains always use the values specified by the Xen
> command line parameters or their default values if unspecified.
> 
> In order to have more control over dom0less domUs, introduce the
> following device-tree properties that can be set under domUs nodes:
>  - max_grant_version to set the maximum grant table version the domain
>    is allowed to use,
>  - max_grant_frames to set the maximum number of grant frames the domain
>    is allowed to have,
>  - max_maptrack_frames to set the maximum number of grant maptrack frames
>    the domain is allowed to have.
> 
> Update documentation accordingly.
> 
> Note that the values obtained from device tree are of type uint32_t,
> whereas the d_cfg.max_{grant_frames,maptrack_frames} are of type int32_t.
> Call panic in case of overflow. Other sanity checks are already there in
> grant_table_init() resulting in panic in case of errors, therefore no
> need to repeat them in create_domUs().
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Changes in v2:
>  - call panic in case of int32_t overflow
> ---
>  docs/misc/arm/device-tree/booting.txt | 21 +++++++++++++++++++++
>  xen/arch/arm/domain_build.c           | 18 ++++++++++++++++++
>  2 files changed, 39 insertions(+)
> 
> diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
> index 87eaa3e25491..3879340b5e0a 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -223,6 +223,27 @@ with the following properties:
>      the default size of domain P2M pool, i.e. 1MB per guest vCPU plus 4KB
>      per MB of guest RAM plus 512KB for guest extended regions.
>  
> +- max_grant_version
> +
> +    Optional. A 32-bit integer specifying the maximum grant table version
> +    the domain is allowed to use (valid values are 1 or 2). If this property
> +    is missing, the value specified by Xen command line parameter gnttab=max-ver
> +    (or its default value if unspecified, i.e. 1) is used.
> +
> +- max_grant_frames
> +
> +    Optional. A 32-bit integer specifying the maximum number of grant frames
> +    the domain is allowed to have. If this property is missing, the value
> +    specified by Xen command line parameter gnttab_max_frames (or its default
> +    value if unspecified, i.e. 64) is used.
> +
> +- max_maptrack_frames
> +
> +    Optional. A 32-bit integer specifying the maximum number of grant maptrack
> +    frames the domain is allowed to have. If this property is missing, the
> +    value specified by Xen command line parameter gnttab_max_maptrack_frames
> +    (or its default value if unspecified, i.e. 1024) is used.
> +
>  Under the "xen,domain" compatible node, one or more sub-nodes are present
>  for the DomU kernel and ramdisk.
>  
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index bef5e905a73c..829cea8de84f 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -3872,6 +3872,7 @@ void __init create_domUs(void)
>              .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
>          };
>          unsigned int flags = 0U;
> +        uint32_t val;
>  
>          if ( !dt_device_is_compatible(node, "xen,domain") )
>              continue;
> @@ -3940,6 +3941,23 @@ void __init create_domUs(void)
>              d_cfg.cpupool_id = pool_id;
>          }
>  
> +        if ( dt_property_read_u32(node, "max_grant_version", &val) )
> +            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
> +
> +        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
> +        {
> +            if ( val > INT32_MAX )
> +                panic("max_grant_frames (%"PRIu32") overflow\n", val);
> +            d_cfg.max_grant_frames = val;
> +        }
> +
> +        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
> +        {
> +            if ( val > INT32_MAX )
> +                panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
> +            d_cfg.max_maptrack_frames = val;
> +        }
> +
>          /*
>           * The variable max_init_domid is initialized with zero, so here it's
>           * very important to use the pre-increment operator to call
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 01:28:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 01:28:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468165.727230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8AO5-0002SX-TT; Thu, 22 Dec 2022 01:28:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468165.727230; Thu, 22 Dec 2022 01:28:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8AO5-0002SQ-R1; Thu, 22 Dec 2022 01:28:45 +0000
Received: by outflank-mailman (input) for mailman id 468165;
 Thu, 22 Dec 2022 01:28:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fpfT=4U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p8AO4-0002SK-Im
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 01:28:44 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f882c2b0-8197-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 02:28:43 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 50ADF61991;
 Thu, 22 Dec 2022 01:28:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 23C90C433D2;
 Thu, 22 Dec 2022 01:28:40 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f882c2b0-8197-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671672521;
	bh=pcq4noVN44qXKSPwsK1LM45nUl5SHRgV7vAjL/k+aj4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kADvqb7tzIZt3f2N4GDqR8Y0bRoeVi1A/4TqImj0mrddOL/mSviErk5oa5pNpi8+J
	 dXn1Bm/OGbWVVylyjhR8ABmIFsqaKlM3OtKT36kNZUJvL1KtAS/HDfW2bs7YcqFmck
	 cXmWsbTtrf9/UJ0DZ5ukGJ918u7p6uT5STTbDffhJNahAfJE+vEvcnDSykvhZQr4eu
	 CiBS6p/YP/+ufGwNmBCSCFzmBpdwKZOn+zf7uaVIZ3ozN18ABMMT8MqWQtfH1Rzqkk
	 zT3XTOHvo2LcWy1GvFFuGlJ7HYHvWnsrBi/1/KSrdWPwUy36NNPNsDAQ15vzEEnuwM
	 IoVG6iq5DDqFQ==
Date: Wed, 21 Dec 2022 17:28:38 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Xenia Ragiadakou <burzalodowa@gmail.com>
cc: Andrew Cooper <Andrew.Cooper3@citrix.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>, 
    Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, 
    George Dunlap <George.Dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: Re: [RFC 0/7] Proposal to make x86 IOMMU driver support
 configurable
In-Reply-To: <15c3c5bd-6229-d070-ebe0-ce4c6d827f1b@gmail.com>
Message-ID: <alpine.DEB.2.22.394.2212211726410.4079@ubuntu-linux-20-04-desktop>
References: <20221219063456.2017996-1-burzalodowa@gmail.com> <4b45cde3-52e1-15ae-7b6a-84c0d5141cc9@citrix.com> <15c3c5bd-6229-d070-ebe0-ce4c6d827f1b@gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1732106374-1671672521=:4079"

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1732106374-1671672521=:4079
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 20 Dec 2022, Xenia Ragiadakou wrote:
> > We need to decide whether it is sensible to allow users to turn off
> > IOMMU support.  It probably is, because you could trivially do this by
> > selecting CONFIG_INTEL only, and booting the result on an AMD system.
> > 
> 
> I cannot understand. I guess that if the code for the target system is
> disabled, Xen won't boot ... hopefully :).
> 
> If users are not allowed to turn off the IOMMU support, it can be always
> enabled unconditionally via Kconfig select based on the virtualization
> technology or other.

Just wanted to say that it should be fine either way. If we don't want
to provide an option to disable the IOMMU, then it could be handled at
the kconfig level.
--8323329-1732106374-1671672521=:4079--


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 02:02:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 02:02:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468174.727242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Au0-0006zA-Fy; Thu, 22 Dec 2022 02:01:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468174.727242; Thu, 22 Dec 2022 02:01:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Au0-0006z3-CV; Thu, 22 Dec 2022 02:01:44 +0000
Received: by outflank-mailman (input) for mailman id 468174;
 Thu, 22 Dec 2022 02:01:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fpfT=4U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p8Aty-0006yx-K0
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 02:01:42 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 938804d6-819c-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 03:01:41 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 3F7A6B81B9C;
 Thu, 22 Dec 2022 02:01:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3BB0FC433EF;
 Thu, 22 Dec 2022 02:01:37 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 938804d6-819c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671674498;
	bh=KO2wtHGuQouw8GsBu6ZJV6YyKnOe9jmopODWHN89s9s=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ADTx7vW7DXr+yUsFgiVA7kGRmyUGbZok6C7L7OzE8+AgXkOqvawSMTWFsagw0Anbz
	 mqnSqBf47u3woJvz3BxOYRDTpp/n6kSx3udfQs+mgq7FICk4/JFfhpFefBkfVfRL9I
	 Tak/stTf2e00p/Kem2tXd9Mq77dLYjZzfs93dvX+wTZSXjhlMaN0S22dwEu0jo0IVC
	 vjm0H7Fi/eC8IcUxA3V3mFimn3ApnOi2+0IDKZUk8Z76RVXilKZKALFOXMuj2qhOxV
	 1/NA5uwHA2GTFVkMLsRoLnEZFiQGngZWRAnHtuRGAU1YsDqewypPZgpyl9NlD+2tn3
	 /tu+WBWZeNvDQ==
Date: Wed, 21 Dec 2022 18:01:35 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org, 
    wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [RFC PATCH 01/18] arm: cppcheck: misra rule 20.7 deviations for
 alternative.h
In-Reply-To: <072a9427-57aa-81ef-1f7e-7f0b5f26e5c6@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212211731450.4079@ubuntu-linux-20-04-desktop>
References: <20221220085100.22848-1-luca.fancellu@arm.com> <20221220085100.22848-2-luca.fancellu@arm.com> <072a9427-57aa-81ef-1f7e-7f0b5f26e5c6@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 20 Dec 2022, Julien Grall wrote:
> Hi Luca,
> 
> On 20/12/2022 08:50, Luca Fancellu wrote:
> > Cppcheck reports violations of rule 20.7 in two macros of
> > alternative.h.
> > 
> > The first one is in the __ALT_PTR macro where cppcheck wants to have
> > parentheses on the second operand of a member access operator, which
> > is not allowed from the c language syntax, furthermore, the macro
> > parameter is never used as an expression, hence we can suppress the
> > finding.
> 
> Looking at the Misra Rule 20.7 examples [1], this looks similar to
> GET_MEMBER(). So I don't understand why cppcheck is complaining.
> 
> > 
> > The second finding is in the __ALTERNATIVE_CFG macro, where cppcheck
> > wants to have parentheses on the macro arguments, but the macro
> > parameters are never used as expressions and are used only for text
> > substitution, so cppcheck is not taking into account the context of
> > use of the macro arguments and adding parenthesis would break the
> > code, so we can suppress the finding.
> 
> This reads like you want to report a bug against cppcheck.

+1

 
> > No error was shown by eclair and coverity for those lines.
> > 
> > Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> > ---
> >   docs/misra/false-positive-cppcheck.json | 14 ++++++++++++++
> >   xen/arch/arm/include/asm/alternative.h  |  2 ++
> 
> This file is meant to be close to Linux. From my understanding of the
> discussion yesterday, we didn't want to add deviation there.

Yeah. We are still finalizing the list of Linux files in Xen
(https://marc.info/?l=xen-devel&m=166859007703945) so we don't have a
programmatic way to check if something should be scanned or not. At the
moment it is easy to make mistakes. I hope will get it committed soon,
then we can blacklist anything listed under
docs/misra/external-files.txt (automatically ask cppcheck to avoid
scanning files listed in docs/misra/external-files.txt).


> >   2 files changed, 16 insertions(+)
> > 
> > diff --git a/docs/misra/false-positive-cppcheck.json
> > b/docs/misra/false-positive-cppcheck.json
> > index 5d4da2ce6170..5e7d9377f60b 100644
> > --- a/docs/misra/false-positive-cppcheck.json
> > +++ b/docs/misra/false-positive-cppcheck.json
> > @@ -3,6 +3,20 @@
> >       "content": [
> >           {
> >               "id": "SAF-0-false-positive-cppcheck",
> > +            "violation-id": "misra-c2012-20.7",
> > +            "tool-version": "2.7",
> > +            "name": "R20.7 second operand of member-access operator",
> > +            "text": "The second operand of a member access operator shall
> > be a name of a member of the type pointed to, so in this particular case it
> > is wrong to use parentheses on the macro parameter."
> > +        },
> > +        {
> > +            "id": "SAF-1-false-positive-cppcheck",
> > +            "violation-id": "misra-c2012-20.7",
> > +            "tool-version": "2.7",
> > +            "name": "R20.7 C macro parameters used only for text
> > substitution",
> > +            "text": "The macro parameters used in this case are not part of
> > an expression, they are used for text substitution."
> > +        },
> In both cases the constructs are commonly used in Xen to generate code. So I
> am a bit concerned to have to add deviation everywhere cppcheck is wrong.
> 
> More generally, we are still at the beginning of MISRA in Xen and I don't
> think we should start with adding deviations from bugs in the tools. Instead,
> we should report those bugs and hopefully by the time Xen is mostly MISRA
> complaint the tools will not report the false positive.
> 
> If they are still then we can decide to add deviations.

I also think we should report cppcheck bugs.

That said, I think the reason why Luca submitted this series is that we
are actually not far from having cppcheck running automatically as part
of gitlab-ci to scan staging and new patches.

Enabling automatic cppcheck scans is something within our reach, I'd say
it is only few weeks away. That's actually going to start giving some
concrete benefits for our work on MISRA C. We'll get automatic bug
reports and quality reports, which is pretty cool.

Aside from the list of Linux files, we also need to deal with false
positives otherwise the reports will be too "noisy". If we correctly
silence the outstanding false-positive cppcheck reports, we can actually
have a clean "zero issues" report by cppcheck on staging with the
current list of MISRA C rules supported by docs/misra/rules.rst.

And there are only few cppcheck false positives to deal with. Most of
them are for Rule 20.7. During the last FuSa call, I actually suggested
to skip Rule 20.7 when it comes to scanning for issues (i.e. blacklist
Rule 20.7).

Luca suggested that before doing that we could at least try to
fix/deviate the violations reported by cppcheck (they are far fewer than
the ones reported by Eclair). So here we are :-)



So in short:

- This is not the first of many series flooding xen-devel adding
  deviations; this is the only series we need to get zero
  false-positives from cppcheck now

- With this series, and with the linux files to skip, we could add
  cppcheck to gitlab-ci today

- Alternatively, we could disable rule 20.7 for now

- We could wait for cppcheck to improve and address our bug reports, but
  it is likely not going to enable us to make progress quickly. If we
  want to wait, I would rather disable 20.7 until cppcheck improves so
  that we can still add cppcheck to gitlab-ci soon. I think that would
  be OK too


What do you guys think? Nice automatic 20.7 scans for all patches and
for staging, but with the undesirable false-positive comments, or
no-20.7 scans but no comments in the tree?


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 04:33:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 04:33:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468195.727252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8DGw-0004po-5m; Thu, 22 Dec 2022 04:33:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468195.727252; Thu, 22 Dec 2022 04:33:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8DGw-0004ph-2I; Thu, 22 Dec 2022 04:33:34 +0000
Received: by outflank-mailman (input) for mailman id 468195;
 Thu, 22 Dec 2022 04:33:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s9VX=4U=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p8DGu-0004pb-Oc
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 04:33:33 +0000
Received: from wout3-smtp.messagingengine.com (wout3-smtp.messagingengine.com
 [64.147.123.19]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c82cdfe4-81b1-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 05:33:29 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 93FB73200913;
 Wed, 21 Dec 2022 23:33:26 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Wed, 21 Dec 2022 23:33:27 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 21 Dec 2022 23:33:25 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c82cdfe4-81b1-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm2; t=1671683606; x=
	1671770006; bh=yxURv5WPUrvXMm5xttfE+Wtca1FDuYyDbhvNAavxqWk=; b=l
	EHi012hWirdLArh/D1oRyLTIoGNsk+HznKca5pYoTABRKu6QQXymZ16NQ67tYu6G
	HX/My3b4pYQkNrz2rDr2gFkwDXqVf3EaPIRxcGXPW3GkBYREfGYMDT1fLBOfTC1w
	DM7Ca0DfdobzE/U/vUqKOE/MTdPlHZ9kazribgl923IsWkwDlRPnk0RQFPTEuNAN
	kVZc4t+QqX34OPMBp0LfaIKI2rZDVNsVRLfQ+5s2j/zo2CIiVL/dudSnqCU2WMdi
	20YtBpfULRKJbKZgTCaha0oEcltl1SsNdMBnOczq28uZn/dxpdOXBIvjoIUiSGmM
	d7kKXR9aY0DArgIYsUK5g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671683606; x=1671770006; bh=yxURv5WPUrvXMm5xttfE+Wtca1FD
	uYyDbhvNAavxqWk=; b=IHlFPd6AjMHNGsvgUVE+XnBiqqmYeanubNxmGq6/MSbi
	JG3ve0iKQK9B5Nt8DP8P+TZtGAHU9cSItAcC4vulUfGJ1lLp05FRP5xz11GX6BXp
	KYTlvFAhwj19pKXzgsKZISKJA4rD8vC72BLyNmIGb8sTgosoiPY9Ooew6XGVNj33
	Ozwn132HZ3NYExpA+Cy+bfzgA2j3G7LkBbTNfJf3CTabD94v+zUculWRb54WChJX
	CmE0lFPeT48jWrZUpOvoh2on6OdGpsraU9ZO666Uqcx4i7Olue8DCXIwBzBfmF2m
	ZkFz8jSmsjpvDzihEVOS4Ov+IqJmUwVUKXx9dPN9ww==
X-ME-Sender: <xms:Fd6jY-8S5r_ReJB0mfx7E9ZyTva7ydljRlpso6Yin_b_mB3RJhYatg>
    <xme:Fd6jY-vlQmg1j_g2wTnyBeRhf6AhQkzOdkrdVCdHTkFTdrmJbGRPdTQeGuMOzZTc1
    RcFMInbOaiAmkg>
X-ME-Received: <xmr:Fd6jY0BfETXn9w-56jotmqjs6C_N8jlpP8TfrW3y1K4ODGCNKs3-HXui9u8v>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrgeelgdejhecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffegfffg
    uddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:Fd6jY2d63Mel_QFeQJtVAE0NJ47Fb0ssX7uOUIg12gPtYK2w2obO3g>
    <xmx:Fd6jYzNsEJShu-Gr9MLvfErU0Cb7qCsPsE5dSYsil3_52pFmvkX0Hg>
    <xmx:Fd6jYwmAHkYEEkNOyn11Zz9IZcA_XtoTANhmhwxpLDe2Z0tivLe09A>
    <xmx:Ft6jY-oCsatzQPX8b7uQPdX987ysrlb1nAn85wLDjWBIGXkT0tGsRQ>
Feedback-ID: iac594737:Fastmail
Date: Wed, 21 Dec 2022 23:33:19 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: "Smith, Jackson" <rsmith@riversideresearch.org>,
	Julien Grall <julien@xen.org>,
	"Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Message-ID: <Y6PeE3Gtq7e1Z1hD@itl-email>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
 <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
 <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop>
 <7a7a7156-138d-a53c-fb65-a210e14bd8c1@xen.org>
 <BN0P110MB16429FF1A9FF3507A684C5B2CFEA9@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <Y6I3oqYdTKa/57I/@itl-email>
 <alpine.DEB.2.22.394.2212211639070.4079@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="inoC5Ff6QM7O1xw6"
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2212211639070.4079@ubuntu-linux-20-04-desktop>


--inoC5Ff6QM7O1xw6
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 21 Dec 2022 23:33:19 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: "Smith, Jackson" <rsmith@riversideresearch.org>,
	Julien Grall <julien@xen.org>,
	"Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen

On Wed, Dec 21, 2022 at 04:53:46PM -0800, Stefano Stabellini wrote:
> On Tue, 20 Dec 2022, Demi Marie Obenour wrote:
> > On Tue, Dec 20, 2022 at 10:17:24PM +0000, Smith, Jackson wrote:
> > > > Hi Stefano,
> > > >
> > > > On 16/12/2022 01:46, Stefano Stabellini wrote:
> > > > > On Thu, 15 Dec 2022, Julien Grall wrote:
> > > > >>>> On 13/12/2022 19:48, Smith, Jackson wrote:
> > > > >>> Yes, we are familiar with the "secret-free hypervisor" work. As
> > > you
> > > > >>> point out, both our work and the secret-free hypervisor remove =
the
> > > > >>> directmap region to mitigate the risk of leaking sensitive guest
> > > > >>> secrets. However, our work is slightly different because it
> > > > >>> additionally prevents attackers from tricking Xen into remappin=
g a
> > > > guest.
> > > > >>
> > > > >> I understand your goal, but I don't think this is achieved (see
> > > > >> above). You would need an entity to prevent write to TTBR0_EL2 in
> > > > >> order to fully protect it.
> > > > >
> > > > > Without a way to stop Xen from reading/writing TTBR0_EL2, we
> > > > cannot
> > > > > claim that the guest's secrets are 100% safe.
> > > > >
> > > > > But the attacker would have to follow the sequence you outlines
> > > > above
> > > > > to change Xen's pagetables and remap guest memory before
> > > > accessing it.
> > > > > It is an additional obstacle for attackers that want to steal oth=
er
> > > > guests'
> > > > > secrets. The size of the code that the attacker would need to inj=
ect
> > > > > in Xen would need to be bigger and more complex.
> > > >
> > > > Right, that's why I wrote with a bit more work. However, the nuance
> > > > you mention doesn't seem to be present in the cover letter:
> > > >
> > > > "This creates what we call "Software Enclaves", ensuring that an
> > > > adversary with arbitrary code execution in the hypervisor STILL can=
not
> > > > read/write guest memory."
> > > >
> > > > So if the end goal if really to protect against *all* sort of
> > > arbitrary=20
> > > > code,
> > > > then I think we should have a rough idea how this will look like in
> > > Xen.
> > > >
> > > >  From a brief look, it doesn't look like it would be possible to
> > > prevent
> > > > modification to TTBR0_EL2 (even from EL3). We would need to
> > > > investigate if there are other bits in the architecture to help us.
> > > >
> > > > >
> > > > > Every little helps :-)
> > > >
> > > > I can see how making the life of the attacker more difficult is=20
> > > > appealing.
> > > > Yet, the goal needs to be clarified and the risk with the approach
> > > > acknowledged (see above).
> > > >
> > >=20
> > > You're right, we should have mentioned this weakness in our first ema=
il.
> > > Sorry about the oversight! This is definitely still a limitation that=
 we
> > > have not yet overcome. However, we do think that the increase in
> > > attacker workload that you and Stefano are discussing could still be
> > > valuable to security conscious Xen users.
> > >=20
> > > It would nice to find additional architecture features that we can use
> > > to close this hole on arm, but there aren't any that stand out to me
> > > either.
> > >=20
> > > With this limitation in mind, what are the next steps we should take =
to
> > > support this feature for the xen community? Is this increase in attac=
ker
> > > workload meaningful enough to justify the inclusion of VMF in Xen?
> >=20
> > Personally, I don=E2=80=99t think so.  The kinds of workloads VMF is us=
able
> > for (no hypercalls) are likely easily portable to other hypervisors,
> > including formally verified microkernels such as seL4 that provide...=
=20
>=20
> What other hypervisors might or might not do should not be a factor in
> this discussion and it would be best to leave it aside.

Indeed so, sorry.

> From an AMD/Xilinx point of view, most of our customers using Xen in
> productions today don't use any hypercalls in one or more of their VMs.
> Xen is great for these use-cases and it is rather common in embedded.
> It is certainly a different configuration from what most are come to
> expect from Xen on the server/desktop x86 side. There is no question
> that guests without hypercalls are important for Xen on ARM.

I was completely unaware of this.

> As a Xen community we have a long history and strong interest in making
> Xen more secure and also, more recently, safer (in the ISO 26262
> safety-certification sense). The VMF work is very well aligned with both
> of these efforts and any additional burder to attackers is certainly
> good for Xen.

That it is.

> Now the question is what changes are necessary and how to make them to
> the codebase. And if it turns out that some of the changes are not
> applicable or too complex to accept, the decision will be made purely
> from a code maintenance point of view and will have nothing to do with
> VMs making no hypercalls being unimportant (i.e. if we don't accept one
> or more patches is not going to have anything to do with the use-case
> being unimportant or what other hypervisors might or might not do).

--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--inoC5Ff6QM7O1xw6
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOj3hIACgkQsoi1X/+c
IsGIwg/+OSpgJxbIkWz9qq8erp8oXV/sCyLUp0i83GEkfL7UGBX+muUBoIslBJcw
DnrrrahrduaVCVXAD7IM/k9f4BdnscYGHTA0OF4nVU0mDKuj7KOQQ0iqR7SthMcu
5TTt5l8sq8NNgmLJVh3q/gPz+6kH3bDaaMmCZWTNbQ3W43yOMFSZ4CyclNBqkC7a
Unst4C9VqfDnqdoBHuuhLu/aSLgYNq2mCZkf5FZv5n+LT8t7I0mOUfnySZoOjVnB
/nV1QJXKL5Z/qNvj8XziX4mnzVeLiyN/6+7ewgNCv5fhUmcr37jpAbBpMxFatm8r
/7QbeAh8RDKatqaye1Nrcq8CvHZfkxynV1lMJnIioacmF0CnHQF3TpGJesvat+ty
f9ej1WSiGrMVYURIPs68Con5Mb2vNKf6JEZzv4ksAp1idC1rPgrTsyUOfWOPDXiG
0LlNipAk7rhlZAD62zwXT8la+pY8Kuc65E3g+0eZubWoCrkoo4LNOFEQw7dbhDDl
kX4s7m5Y4gYkGhTTRUlJWkNV0HAIKH/KVwQQDWOTEMOWS/stXVm2EvVHLZBL9MM0
0PQvZ2BBx5p9xGAMtJzBWTiaPFwDbuJsLUaCvPCxzM1E05HrUaUTxWuCeag8F/T1
SqOy7yFUjus5oiwgBtYovTgNOxNNCBrt9qPRjgBAX7pxGroOCFA=
=sCdv
-----END PGP SIGNATURE-----

--inoC5Ff6QM7O1xw6--


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 05:22:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 05:22:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468206.727263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8E2N-0001su-Sh; Thu, 22 Dec 2022 05:22:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468206.727263; Thu, 22 Dec 2022 05:22:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8E2N-0001sn-QA; Thu, 22 Dec 2022 05:22:35 +0000
Received: by outflank-mailman (input) for mailman id 468206;
 Thu, 22 Dec 2022 05:22:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8E2N-0001sd-41; Thu, 22 Dec 2022 05:22:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8E2M-0001KZ-W5; Thu, 22 Dec 2022 05:22:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8E2M-00041Y-NJ; Thu, 22 Dec 2022 05:22:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8E2M-0007K4-MU; Thu, 22 Dec 2022 05:22:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=I7XPMIaLO+gX+bWDc1XrkPBgcETiVFcV4AcosCc/iSE=; b=Z8JqAo8UQtUxvJNwP24q+U01iu
	d3fcqyxmBqGoRpLNB3DRCSLObFg5krjeUuLbj2Cbpzkr5SXAPE32gml5UdOUxaoFbKKcZ9nHemAAf
	RCRvLkjtwkCCjGHrZtlfBfCV3d2f82I3H46Noy7JpR3LyRDgIeZGY0/7IcIvGLz6SZtQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175449-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175449: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=9c57a297378932249c3edefa5065c838f47cb3fb
X-Osstest-Versions-That:
    xen=dc380df12acfe53ccdcbeecaaee3510a3b0e374e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 05:22:34 +0000

flight 175449 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175449/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  9c57a297378932249c3edefa5065c838f47cb3fb
baseline version:
 xen                  dc380df12acfe53ccdcbeecaaee3510a3b0e374e

Last test of basis   175431  2022-12-20 21:03:41 Z    1 days
Testing same since   175449  2022-12-22 02:00:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Orzel <michal.orzel@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   dc380df12a..9c57a29737  9c57a297378932249c3edefa5065c838f47cb3fb -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 05:59:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 05:59:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468218.727275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Ebt-0005QA-O7; Thu, 22 Dec 2022 05:59:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468218.727275; Thu, 22 Dec 2022 05:59:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Ebt-0005Q3-L5; Thu, 22 Dec 2022 05:59:17 +0000
Received: by outflank-mailman (input) for mailman id 468218;
 Thu, 22 Dec 2022 05:59:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Ebs-0005Pt-Ga; Thu, 22 Dec 2022 05:59:16 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Ebs-00029O-CY; Thu, 22 Dec 2022 05:59:16 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Ebs-00060x-1J; Thu, 22 Dec 2022 05:59:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Ebs-0003Xl-0h; Thu, 22 Dec 2022 05:59:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=H6iYd6dQ+Vi7DUO5LDvX9V3ipShLg2ocldEvTdhj3O8=; b=uNA74Htq/t+j54BjhqteQIH88r
	40oZZHOfFJczPPI71+vlWxT025n1/M8dyn7TlgeSZFmeGv4P6rKZFLwHnzoAWL9VX7FZupskMXnSG
	fjUygYJAvSc5DCouXr3ucWCU8AtjIgDti2HjMcRFKI0/cJieMSmwkbYaHUyMLKD73Nps=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175439-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175439: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-shadow:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-linus:test-amd64-amd64-libvirt-pair:<job status>:broken:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:<job status>:broken:regression
    linux-linus:test-amd64-amd64-pair:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-credit2:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-pair:host-install/dst_host(7):broken:regression
    linux-linus:test-amd64-amd64-xl-shadow:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-libvirt-pair:host-install/dst_host(7):broken:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b6bb9676f2165d518b35ba3bea5f1fcfc0d969bf
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 05:59:16 +0000

flight 175439 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175439/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-shadow      <job status>                 broken
 test-amd64-amd64-xl-qemuu-win7-amd64    <job status>                 broken
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm    <job status>   broken
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm    <job status>            broken
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>               broken
 test-amd64-amd64-xl-credit2     <job status>                 broken
 test-amd64-amd64-libvirt-pair    <job status>                 broken
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm    <job status>      broken
 test-amd64-amd64-pair           <job status>                 broken
 test-amd64-amd64-xl-qemuu-win7-amd64 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-xl-credit2   5 host-install(5)        broken REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-pair       7 host-install/dst_host(7) broken REGR. vs. 173462
 test-amd64-amd64-xl-shadow    5 host-install(5)        broken REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 7 host-install/dst_host(7) broken REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 5 host-install(5) broken REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                b6bb9676f2165d518b35ba3bea5f1fcfc0d969bf
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   75 days
Failing since        173470  2022-10-08 06:21:34 Z   74 days  151 attempts
Testing same since   175439  2022-12-21 09:43:15 Z    0 days    1 attempts

------------------------------------------------------------
3186 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           broken  
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        broken  
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 broken  
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    broken  
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         broken  
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  broken  
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        broken  
 test-amd64-amd64-libvirt-pair                                broken  
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   broken  
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-shadow broken
broken-job test-amd64-amd64-xl-qemuu-win7-amd64 broken
broken-job test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-i386-xsm broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-libvirt-pair broken
broken-job test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm broken
broken-job test-amd64-amd64-pair broken
broken-step test-amd64-amd64-xl-qemuu-win7-amd64 host-install(5)
broken-step test-amd64-amd64-xl-credit2 host-install(5)
broken-step test-amd64-amd64-xl-qemut-debianhvm-amd64 host-install(5)
broken-step test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm host-install(5)
broken-step test-amd64-amd64-pair host-install/dst_host(7)
broken-step test-amd64-amd64-xl-shadow host-install(5)
broken-step test-amd64-amd64-libvirt-pair host-install/dst_host(7)
broken-step test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm host-install(5)
broken-step test-amd64-amd64-xl-qemut-debianhvm-i386-xsm host-install(5)

Not pushing.

(No revision log; it would be 477490 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 06:35:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 06:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468231.727286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8FAs-0001Nn-QD; Thu, 22 Dec 2022 06:35:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468231.727286; Thu, 22 Dec 2022 06:35:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8FAs-0001Ng-MK; Thu, 22 Dec 2022 06:35:26 +0000
Received: by outflank-mailman (input) for mailman id 468231;
 Thu, 22 Dec 2022 06:35:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8FAq-0001ND-SX; Thu, 22 Dec 2022 06:35:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8FAq-000346-NU; Thu, 22 Dec 2022 06:35:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8FAq-0008Id-6m; Thu, 22 Dec 2022 06:35:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8FAq-0005JE-6D; Thu, 22 Dec 2022 06:35:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VfsmaumqncwU00h+v3a9PvWN24Y2C6aBP7xYzH+RZ4s=; b=k5j4BHCvgZJWMhxQrSrA01/49I
	nvxY8iiRfiREb+1WXr2rEm1qQyVOyqc04wMekVk8HqoPRrfe/KeIuAdanNFtOIMwVAUuX1WrLG6Ff
	q/NvgYaUbKe++Fkc1CMM/4kepSu9rzdHNZirIZ6T37Y1A69sb7jmcwZImVf9UICYpRns=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175448-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175448: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=129404f6e4395008ac0045e7e627edbba2a1e064
X-Osstest-Versions-That:
    ovmf=62031335bdbacc68253d43481477b9a468e0644e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 06:35:24 +0000

flight 175448 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175448/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 129404f6e4395008ac0045e7e627edbba2a1e064
baseline version:
 ovmf                 62031335bdbacc68253d43481477b9a468e0644e

Last test of basis   175444  2022-12-21 16:12:30 Z    0 days
Testing same since   175448  2022-12-22 01:42:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Liming Gao <gaoliming@byosoft.com.cn>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   62031335bd..129404f6e4  129404f6e4395008ac0045e7e627edbba2a1e064 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 07:37:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 07:37:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468244.727297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8G8m-0007Vk-Dz; Thu, 22 Dec 2022 07:37:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468244.727297; Thu, 22 Dec 2022 07:37:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8G8m-0007Vd-BB; Thu, 22 Dec 2022 07:37:20 +0000
Received: by outflank-mailman (input) for mailman id 468244;
 Thu, 22 Dec 2022 07:37:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8G8k-0007VT-K8; Thu, 22 Dec 2022 07:37:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8G8k-0004bE-Fv; Thu, 22 Dec 2022 07:37:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8G8j-0002Hq-U6; Thu, 22 Dec 2022 07:37:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8G8j-0002lF-Tf; Thu, 22 Dec 2022 07:37:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=za5yypcp7ywD/iHXBBXlBMpjGfJFJDFsaRxDx9jKP3I=; b=LiI6Jtk+suas2ikd9G4pfYOSkC
	2IyxOjmN5Ca6AfQXPHoAOvj23r0iPK5vBu1re/Yl2bKd6eoXb2E+bXsW0G2bpM2/TrNsoakazSZl1
	CThkf47OMbToD1wXIRkBZHCb9bGxs8KcrzKNmqKQLsl5SCi/axyKtJdShOgvNKEr4iBg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175440-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 175440: FAIL
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-i386-livepatch:<job status>:broken:regression
    xen-4.13-testing:test-amd64-i386-xl-shadow:<job status>:broken:regression
    xen-4.13-testing:test-amd64-i386-xl-xsm:<job status>:broken:regression
    xen-4.13-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:<job status>:broken:regression
    xen-4.13-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    xen-4.13-testing:test-amd64-i386-xl-xsm:host-install(5):broken:heisenbug
    xen-4.13-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:heisenbug
    xen-4.13-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:host-install(5):broken:heisenbug
    xen-4.13-testing:test-amd64-i386-livepatch:host-install(5):broken:heisenbug
    xen-4.13-testing:test-amd64-i386-xl-shadow:host-install(5):broken:heisenbug
    xen-4.13-testing:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:heisenbug
    xen-4.13-testing:test-amd64-i386-xl-qemuu-debianhvm-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=708e83f0e7d1e32295fee58c71c1e972d4e61f56
X-Osstest-Versions-That:
    xen=1151d260d7a0186978b80b708fcb712eb1470f49
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 07:37:17 +0000

flight 175440 xen-4.13-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175440/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-livepatch       <job status>                 broken  in 175426
 test-amd64-i386-xl-shadow       <job status>                 broken  in 175426
 test-amd64-i386-xl-xsm          <job status>                 broken  in 175426
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm    <job status>   broken in 175426
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm <job status> broken in 175426

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-xsm       5 host-install(5) broken in 175426 pass in 175440
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken in 175426 pass in 175440
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 5 host-install(5) broken in 175426 pass in 175440
 test-amd64-i386-livepatch    5 host-install(5) broken in 175426 pass in 175440
 test-amd64-i386-xl-shadow    5 host-install(5) broken in 175426 pass in 175440
 test-amd64-amd64-xl-shadow 18 guest-localmigrate fail in 175426 pass in 175440
 test-amd64-i386-xl-qemuu-debianhvm-amd64 18 guest-localmigrate/x10 fail in 175426 pass in 175440
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175426

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 174675
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 174675
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 174675
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 174675
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 174675
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 174675
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 174675
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 174675
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 174675
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 174675
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 174675
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 174675
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  708e83f0e7d1e32295fee58c71c1e972d4e61f56
baseline version:
 xen                  1151d260d7a0186978b80b708fcb712eb1470f49

Last test of basis   174675  2022-11-08 18:06:48 Z   43 days
Testing same since   175402  2022-12-19 08:37:45 Z    2 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-livepatch broken
broken-job test-amd64-i386-xl-shadow broken
broken-job test-amd64-i386-xl-xsm broken
broken-job test-amd64-i386-xl-qemut-debianhvm-i386-xsm broken
broken-job test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm broken

Not pushing.

------------------------------------------------------------
commit 708e83f0e7d1e32295fee58c71c1e972d4e61f56
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 19 09:10:08 2022 +0100

    update Xen version to 4.13.5
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 07:51:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 07:51:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468254.727308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8GMG-0001P3-ME; Thu, 22 Dec 2022 07:51:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468254.727308; Thu, 22 Dec 2022 07:51:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8GMG-0001Ow-JW; Thu, 22 Dec 2022 07:51:16 +0000
Received: by outflank-mailman (input) for mailman id 468254;
 Thu, 22 Dec 2022 07:51:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8GME-0001Oq-Uc
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 07:51:15 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on2075.outbound.protection.outlook.com [40.107.8.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 681398fd-81cd-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 08:51:13 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PAXPR04MB8543.eurprd04.prod.outlook.com (2603:10a6:102:216::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec
 2022 07:51:11 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 07:51:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 681398fd-81cd-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TZ87u3BS+jcVe8Ez7FnZt68eF1WeAZzWbRwJGP8HicYoWMXEBvnCwy5LPC+ZUboxkLhi+Nzff7wew69JvAHFjA31hucX7RAIfscmo2ksSMC4lG1HAR/l1WvD+0B5oD+f9eepx3YTmFBso/ghCtuMkrjzT2LKdJ1jb9ac6KQjBYLrut70BOh1UOawGx/WUVTuhMa8Ol7OexJv3nW7ZRgy9v82mnD6nciR9jfPhiInSFKHkhdTgsTutlqisq1tuLItH/fk3WjH/Y38mFbX7TvZbdcmc3wQsSd7yAXT6zKmmlZW+Ixj0dhRbejDFNCiDtw/Ul6T1JUdUnotkAzm6YvCTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aBK/7aIhNkhuSvmotKbl0FJ+DCMmPzTTwe+v/6N+nYc=;
 b=jrSBhB/HSNCjnzJXoo4Cjyol59yOTIqoAWmBYlGqg8g+8Yh144cT3bk4V+78HOLD9OSMyShCTqjF601xISuAlYAy3X9ieHgfUk9uUCxh9SMmSr4YjRwZ764inIJ1wwtunnkUA7haadoW45m+JRs1G+gYqD+MOW9gqEOPVVmgj7QKJYX7SpOLNuetz/O4LfLtmos2IIHL02kwjQMkn+eJTRoSqGoR1dqZkPuH8e+zHgHg5HT/nPI6g+jqEA6EnkAil1HKsXO5bdRZ8zj3PQNkMcloToYPoFr3KqRzBkT/6X0bseQo84HyLmGxOQr8OTEW8C0Ek8z44A6Kgr8dG/Py8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aBK/7aIhNkhuSvmotKbl0FJ+DCMmPzTTwe+v/6N+nYc=;
 b=ePAZ8J+lPZ2OdSk7ZY5M3aM9A+S8MHUy2Z0tqffyM4EDeEQiZ2d+uuhlnxvCY2VGnPDJ1Dw8RQBAmPZsvcN5+2RIDg8UT3jlHVdjppX9oxPfnt20KklhV2CojYXURIhNRteVksPv5IoRLsX2HftlK8yEOv2o3x25XES1hxgRhwuqR6GAV+tIZc3vBPRuHtRDX+Cwxb9sdyyXlUO/ToPnEGFNgp8iEAiy2N2huMHL/y8yZl/mwIWcs7xcm5cd/3ILhboNCNtw77WChbvxAjGWYgolDZXDltKydkvr5hEN3sa6OAd2JI2WZ0YCwnkRwq3a/gT/srKsqquo9lzLSretvA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <780eb542-34b9-c64f-0a40-acc462b87c72@suse.com>
Date: Thu, 22 Dec 2022 08:51:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 2/8] x86/paging: fold most HAP and shadow final teardown
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 George Dunlap <George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
 <8d519e00-83c6-aee9-e7ba-523aa4265e1e@suse.com>
 <af33fef0-46f7-b206-53ed-33d66f0f008c@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <af33fef0-46f7-b206-53ed-33d66f0f008c@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0098.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::14) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PAXPR04MB8543:EE_
X-MS-Office365-Filtering-Correlation-Id: a07eae4d-a893-4b21-5229-08dae3f14b01
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OnQMSOAWH+piCzVQxsBJz+0RZt8UH4afWD4TWTvLE6WvAaCGsZZEUmEmhT1nqLdrRpa8lK8Du3rwpOP6465L29rX4kp6bMYTHCBCmL20wJISvcbS0ySJdEs8uHWo42Qq9VXhqIcI1au4wlafjKMLtXD1znL1bKNsD4iRn9Xh5vXaY9HJFjmCVjrL+l116pDGaW6VlXstRmxG9sKh1sAdhib9wN1GjGcwAcWGTN1he1q4hgNSG3HJQCVOmgbsUgFXvepYtwOY8cxM7jI0cmzrHv6TiT5VriZebi78lw49xpQv7zbSo7bM+gaLgQKVliOMB51g62uck9aOAALITMj9J1uQOasoIFyjbb2IFz1ELp04EMf/gKN5jTgouaLp/GMygOqfoQCLmooI7+8e5FrKMIgUhKEsdN4yY6UnjOiWOji3XLr14qE2aM5gIhmyXZjJryn8i4r0tNR23+Q36ln6EqUmYsM7TUOTlydBYPn4lgXqVP0PGqaREQVOA0V8durQ+TZIpx6d0y0+Lm1vb6QGo5MnIRMj3c5EzrASn+bfMyV2a+1VJArlq2AYCH8avt4mIZCjgzRTdgyh7lC0rADRDtqCR/FWEa3oy0hgdYXKdwbt/l/8oRAjtwhj9RqBxXmn6RUPQL9j3rhILH4oTg0g0+7PAH6nK6ouZQxE7gYkdj+eCPTeufSjD5Ayzrtw/Qy5qsMdbATvxInB8UBZlMDPkBKSvTESJ+v5NzuKa5NcUr8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(366004)(396003)(136003)(346002)(39860400002)(451199015)(41300700001)(66476007)(66556008)(31686004)(53546011)(8676002)(5660300002)(66946007)(4326008)(6506007)(8936002)(6916009)(316002)(2906002)(86362001)(54906003)(36756003)(6512007)(31696002)(26005)(38100700002)(478600001)(2616005)(186003)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dDMrcTh3WnRaVng0RFJDOTBlTVM0eGNLbU5PN0Z2UjV1bEFzL09Yd00waHFT?=
 =?utf-8?B?WUR4ZzdBcGVndExnSDM5eVVyY0xmazVKQTJYSlRxZzVtWjBocU1iL0FRckZC?=
 =?utf-8?B?dW12akxBOVpyWGtUU29qalpPR0VpR3dxV21XMjlEbEFFVWZnOXRBVjRCZURD?=
 =?utf-8?B?RTA3Z1dPQi92MkdkMzdxUkhoMmQrU21sNEpDbXg3Y0tKR1A5eTAyM2dsQXY2?=
 =?utf-8?B?K2p1QUYrMGwxU2w0WXowNURrSjJnTEZVN0pqbzViTkRqMHluUWpnSThsZ0g1?=
 =?utf-8?B?U250dko1M3lCNzE5RjZzUDgwNnI0ekxrSzVNdVNUdXQ4K3Y0WGZjclJ4bmlz?=
 =?utf-8?B?VVkvMlEwVVJZVGlyekpVTGphcVowVys3OW5WeXFza292QVhyTFR1T2FXcHN6?=
 =?utf-8?B?MGNoMThoVURKWGtiTmQxY3M1SmRMOTdNWXhZc0RRbFFQcGdIemJJZ0NCL3pu?=
 =?utf-8?B?TkR1cUlIMTJqejRSbHpRUkdsdGxFZ05NWlZOZndTNFhKcmd4dVp5Rk1lQnBI?=
 =?utf-8?B?RHQzblJWL2NFWW5pMkJ3ZnI5QndzZEdxMU5xMWYzUG1LWWZWUFdzWDRMYWxz?=
 =?utf-8?B?ODNoUlhMSk9ZazFMM2s3STFnM3J5UjhySk9hckliNlY5ZHc5ZlM3TU0vOHBM?=
 =?utf-8?B?L005Q3pHVnUwZXhWSmxZOURJUkFBdVJZWTBzSlhRM2k1MlIxZmljSFh4ZDd3?=
 =?utf-8?B?M20vTEVuVCtmWkNERVJkMnorWFlleFdjM1dGSUhBeGpwcGZoRTZsZUVFT1Ev?=
 =?utf-8?B?WXlGRXJrVExHUm9CbnBrclYvUkp3aWZLVlZobFh5eWZlWXE4UFQzZ25POFp0?=
 =?utf-8?B?V0lja01mdUpBWmlXcXN2SXBmQWhYU3Y0Y3Q4dEJDUG5LKytRYnZsSUt1L05q?=
 =?utf-8?B?N2J1TTFqNktCZmlhczJXNW50YkVmMnZiOXRvSVNMeU5XSlF6QVNMN0VRRHNK?=
 =?utf-8?B?R1BNRG1XeVdmaGNiT0hBeS8renE0M0pPSm9uWDlKSmZRaldndDNqbmphbXhO?=
 =?utf-8?B?aDVyQnVHdHRscVhDc1ZKMXhHNHRLUWJDT0UrRi9pL0plT3czVXVZQm5lYi9J?=
 =?utf-8?B?SjBhSHNwWjRET2ZMNVNEbFNyS3A3R2ZQTWJGaUVQY2Q1cjhJaXQvSHkyUW5L?=
 =?utf-8?B?dS8vTFJLS3Q2YlZNa0lmUmhoKzFIaWlKa2RoMkpEQjl3QVVhQTk5LzJja3V0?=
 =?utf-8?B?MUwwemtORFFHSGtFUlVSU0I5MmxBdXl0aEkxRmtoSWx5Um1aZHhROEMyTkdl?=
 =?utf-8?B?RDFscDlpVVFxSEx2YkZRRDZaSUQwckgweS83WTBUZVd5NWhQOG0xWTRMMHU4?=
 =?utf-8?B?MzFkSjQvczZHeERtcGZXVk12ZHJSbDZwYUsrM2JnQWcwV0J6ZUxpbWpYQkNR?=
 =?utf-8?B?RGIvaWFRSW5VRnA2d2h4RkJXeTVtU2IrV3hQdVhUNHVyU3ovb21RdGpkTE83?=
 =?utf-8?B?citUV0FDSkw0SzZZRlhaaUthTUhDeHI1N3RscHJDRnprZktIVGF0V0p4VE8v?=
 =?utf-8?B?QW9FYXF0MFU2RmZOUGs2VmJBSEVFa1ViYWZiMnRxRzJ3Nk5TL3BaY3lzMS9D?=
 =?utf-8?B?ZllNWVZycU1NbnNMN1J6LzZWODd2WXZjY1B1RGhDL2lubjNvTE9BQmV2Rnoz?=
 =?utf-8?B?UDVtYTlJR2pIWFhLWGdJNU15RlN5NENTR0lpQ2g2OGx2aVdmN3ZKWEJoNzhU?=
 =?utf-8?B?L3Q0T2Y4MHJZLzRNQWRwUWZ1bitYMThIbWJkK0FtYnc5aG1jVzhac3RZN0U5?=
 =?utf-8?B?LzVOd1A5M2ZYNGJSTVUwNDU0QWpJV1VpVXhOWGM3bDZid2haNVE3dFVvQXpT?=
 =?utf-8?B?eERUZXl2SjlXQ2xkUjhwSlc4M0JONDNRVnlMaSsvQVE2dEFmdTRQUWo4UUcx?=
 =?utf-8?B?b1grUUptUkVzeHlTK0dQVjBDcjFSSlZjeTVFUThPdGpCOU1RQys0TUFWWHJ6?=
 =?utf-8?B?clpSemM5RjVVU3c0d2FJVnR4RThDUjFablloTThQRzRtQ3Q1N1FwVUdjb2RU?=
 =?utf-8?B?QzVBNW1MdGR6WFVlL2NkTTU0OHRtOEdueFdlVjVsdm9ZRERoOURRNm1VSkEx?=
 =?utf-8?B?TFVsN3JtZVVvQm15c0hadlkrSlhYeUE0NzlLWjZOMzNmNHllazk4TmtnOU42?=
 =?utf-8?Q?IyLoroWAMcwPq7qqRfpNaAH9M?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a07eae4d-a893-4b21-5229-08dae3f14b01
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 07:51:11.2597
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mtCCAoW2Io9nkkRaVcRmccxrH5zAMJJLn/8DoJHIsNTcw9tbtP7t0XiAXm37Hk0Mt9IOhx6u9niurO85xiYy7g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8543

On 21.12.2022 18:16, Andrew Cooper wrote:
> On 21/12/2022 1:25 pm, Jan Beulich wrote:
>> --- a/xen/arch/x86/mm/paging.c
>> +++ b/xen/arch/x86/mm/paging.c
>> @@ -842,10 +842,46 @@ int paging_teardown(struct domain *d)
>>  /* Call once all of the references to the domain have gone away */
>>  void paging_final_teardown(struct domain *d)
>>  {
>> -    if ( hap_enabled(d) )
>> +    bool hap = hap_enabled(d);
>> +
>> +    PAGING_PRINTK("%pd final teardown starts.  Pages total = %u, free = %u, p2m = %u\n",
> 
> PAGING_PRINTK() already includes __func__, so just "%pd start: total %u,
> free %u, p2m %u\n" which is shorter.

Hmm, yes, can do.

>> +                  d, d->arch.paging.total_pages,
>> +                  d->arch.paging.free_pages, d->arch.paging.p2m_pages);
>> +
>> +    if ( hap )
>>          hap_final_teardown(d);
>> +
>> +    /*
>> +     * Double-check that the domain didn't have any paging memory.
>> +     * It is possible for a domain that never got domain_kill()ed
>> +     * to get here with its paging allocation intact.
> 
> I know you're mostly just moving this comment, but it's misleading.
> 
> This path is used for the domain_create() error path, and there will be
> a nonzero allocation for HVM guests.
> 
> I think we do want to rework this eventually - we will simplify things
> massively by splitting the things can can only happen for a domain which
> has run into relinquish_resources.
> 
> At a minimum, I'd suggest dropping the first sentence.  "double check"
> implies it's an extraordinary case, which isn't warranted here IMO.

Instead of dropping I think I would prefer to make it start "Make sure
...".

>> +     */
>> +    if ( d->arch.paging.total_pages )
>> +    {
>> +        if ( hap )
>> +            hap_teardown(d, NULL);
>> +        else
>> +            shadow_teardown(d, NULL);
>> +    }
>> +
>> +    /* It is now safe to pull down the p2m map. */
>> +    p2m_teardown(p2m_get_hostp2m(d), true, NULL);
>> +
>> +    /* Free any paging memory that the p2m teardown released. */
> 
> I don't think this isn't true any more.  410 also made HAP/shadow free
> pages fully for a dying domain, so p2m_teardown() at this point won't
> add to the free memory pool.
> 
> I think the subsequent *_set_allocation() can be dropped, and the
> assertions left.

I agree, but if anything this will want to be a separate patch then.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 08:01:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 08:01:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468267.727319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8GVg-0003VS-1u; Thu, 22 Dec 2022 08:01:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468267.727319; Thu, 22 Dec 2022 08:01:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8GVf-0003VL-VJ; Thu, 22 Dec 2022 08:00:59 +0000
Received: by outflank-mailman (input) for mailman id 468267;
 Thu, 22 Dec 2022 08:00:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8GVe-0003VF-Tl
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 08:00:58 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2082.outbound.protection.outlook.com [40.107.7.82])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c48a222c-81ce-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 09:00:58 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS8PR04MB8327.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec
 2022 08:00:55 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 08:00:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c48a222c-81ce-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=im0bveffg29x4aaS/kPA8TVe+j4NcBH6wHVFZNbQT3D1EesPan0/Xs+hQPr9V3HM9yLpDgI1SA/klbwIW1BRRLhrGU2bbsHtrnIEJhL8JXrp8UVuhZn3OBJyirkOrp68Y31smoTzlQlBpPLpeg/25zPMWTA/ZyEbg3KTAUiiihrTXIJk5a/ljH6xAK4r2Fg0EIIwDDGEE2xE5BbYFpJMdbIRPhpszV+AfJ+3dz46gEv+uE+/SeZF/gszNC6jFS24yTgH++e5XVSC2rG/iEOov41763urlEHEvZj3XhaTp9K3eIr0coMdeogmQu28Tb8VxTYagPnSmDjY+nJgwjkzoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X1i7SGGYZ564QuV3+nObXpaN8KfW1hu3y+spkbArGEc=;
 b=LOK1ywUVuKoAxAu+hGXZAg+U+4m9x6xwYf1qaZQ+dUS0+WpywCM2cxyNUATjY1HqcDGsKf0Yoa2yzDSfh58vfdvQT2Fb1EBlvv/2gueLwKmMYstb2zFpJ0EVdi9SQEWej+T+cefTOJR+9O1t2A7jwPgafcyToKC9c1yHl4OATu+C0y8j2JJ4i2WZihAjWnmarE81Sx/ncHJpEXCqlEnFWzsWrYhW5A8druFqm01SOZZLHDgkdZm4lavEJ4+LaDOPeyxhLeiDi7yjOsKoDRil4m3vYIF6tjKRvcrli4GIWUrDDSybAVKot/OKMAN2/Zi3AoingOGlbtRRxUrpkwx1cQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X1i7SGGYZ564QuV3+nObXpaN8KfW1hu3y+spkbArGEc=;
 b=TGvkA5gj05ZmWV8cOHkkqGDQeB93wVvTQQtpc6Bdz5ygzBUH/vklXjqKOEoinT/rrnmBBYuwe22nLnkZRSggakjoASVz74s4w2z++sNmO2rOXYRUpma1KAbYs0jGffYAE39RByfAMjlsxy/15hc2y3HkSPF1ES2Of1m1VCpCeOz7RFDcLnglX6jNzrumR1ga9dDV7uHqPwdrtJkjDgr5YBdlTeCrdn3V8Y4Rvsc/pPT3EZcjOkvShvciIGSZ+HBgGy5lJxXchgcjrjuVUqwRQW5W0olvVoThewuULSFijRiayY2NORIpZuHTxY804HoXCCc/dYeZrNGjUZgoLJ1Ebw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <96b5613f-144d-29ea-9e17-515509c16300@suse.com>
Date: Thu, 22 Dec 2022 09:00:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 3/8] x86/paging: move update_paging_modes() hook
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 George Dunlap <George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
 <bee2d51f-534e-f6e2-6385-70f8597eac1e@suse.com>
 <de5343ab-9083-360f-3d7b-8bf84a70732d@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <de5343ab-9083-360f-3d7b-8bf84a70732d@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0199.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::16) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AS8PR04MB8327:EE_
X-MS-Office365-Filtering-Correlation-Id: 031f24c2-22b3-46e2-5ba5-08dae3f2a76d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5Cqjnmc7lD9Dw1e7QW/qk7BajfBZVEgXqWm20ErmBqA4gPVZ9aNuw4xIi/TcuqUa/AkaDNi4shHnXBKSy49MmYPtuZXXBNHlUDuytcQXJCl5qUQ6JCSnPNNjMt8JcNuLyFD0vjS/0WNG+TUC7IsKzgvgRAERTPwTml1FekBqdgS/0reHj+1bI+MnA/6L7VcNAPWR5PUeNED6399+eNQtZr9eMK8Ihns0ahtk9vUpwZGM7esA+8GS54GYwQIP4AtCl6SE9oCb7g4EK8frVmNZlv5fv3LDk5xSMnwJPOMw6ON1KFBodQrips32zrpmxR0wsCkzYHrZFcazWf/RfwO98Bo6ub8p3ACIs8PBQxdPbbG88nATaWB8QT/U17AOcReLVeV2btCmvdGAjA7/LpmD6xdsQKweowbGj8U9AD6gRnMQsn/SGj7Zf2hYAbbWJ4rhdfdYsFH02LEb2LBdpWCkAGl5BywYTrbp/K5QKpMewI0HqMo+Nfp40XPzP+RIvfid1jOk2bw3fVl1S2r3pQB9MyBm/qO62okwMnuOTggqeuA3Hppc8crlhYhy+/zuZrGirGEPeaUfPGCjzZXXV0H3r+yjyJfFhb85QhKxhvIwgIG5WWFreB+nGQuxxZgjoaA+xv/e4CwYvZeAdNGxE4N/DuW70S5oepvpvvcCxyY8z/Ie0jmWp90qvxW0w8DcBOO5IVne7fXJxv4OUKEo2zoV+S6xv12j7MhiNU7MI0W1aCE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(376002)(366004)(396003)(346002)(136003)(451199015)(36756003)(2906002)(38100700002)(5660300002)(41300700001)(8936002)(15650500001)(83380400001)(86362001)(31696002)(54906003)(66476007)(6916009)(316002)(31686004)(66556008)(8676002)(6506007)(4326008)(6486002)(186003)(6512007)(66946007)(26005)(2616005)(478600001)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1R0eFI2TU14Y0RIU1ZuTmVad3pOdGVzaEVmM2RnTEdyRUZ5VVFCRDNDM1Fh?=
 =?utf-8?B?VUN5WGxaM0h1bFgrMmZHbjlkaTlQUk5xU1lEZ3Iyb2xDaVRuMnh3RFQ0WGVY?=
 =?utf-8?B?aWV6RHhSTk02ZlJwSWplb0c4eCt4RXd6ZlRScDZtYllVaVkyZEFLNGpHZTFG?=
 =?utf-8?B?SkZ5MFRJc1lrbjY0a2dFOHp5eEp5VVF1WXRmK0dwYmgyZGNDRE14NVh5RkpJ?=
 =?utf-8?B?TXFnZGpqM2dyV2RWaG1KQThvTUIxdUQvTzltUTNHdXhySTFsWk04aHBiRS8x?=
 =?utf-8?B?RmNwS0FvanNvTzA0RlM1L3VJNWk1RVJ1bWpMUituWWZoa2NTK1piTHVlblAy?=
 =?utf-8?B?a3pZUVg0YWFIZThSN2xXYXdIc29oQzN5RC9SbjllNTFVNXpOcmxKZW5WSlJ3?=
 =?utf-8?B?ZXRyRE8wQmtQOEFsbWdNWlFsVXE4QzNqMXZCV0hOalpzQWRsekpDeTZFY0ov?=
 =?utf-8?B?NTJ3WSswcS9pNDM0dS8xN3BKa0orZm4yK1ltcU5OV1FTKzJFcjRZaFVrWUJP?=
 =?utf-8?B?U29Cbm1jWHdYbEIwTFFKRFhCNWdwczZqcFAzTTJLc2VQWlg5UXh5bXBRajRh?=
 =?utf-8?B?ejVrOXhMekNEd3hLSXRBSjhlZUk1NFhVUDNUNXZOVWpaQ29yVGlaTVNmS3BR?=
 =?utf-8?B?TkN1dzN1dHNDbzBBa3A2TnVFWlJBMjRxL0lyVm5MaWFBVTlKejM1UUt4UWRj?=
 =?utf-8?B?Y1o0dVlsNU1lejVFUlhTR01MWGt5THlYWUVDYVZ5TW05ZXRhSEF4ZHBTRzRM?=
 =?utf-8?B?ckNRN2s3R1M3VnN2OWVWUjBETnIwdXI1T2ZYV1MyaS9xMlZxM1FhQ2FoQ2ZM?=
 =?utf-8?B?Q0lEVTI1dHhZY3J2eDBkOWhWdVhwZGdvL0FqLzEvWU1KSEdrNnhablZ5ZkZS?=
 =?utf-8?B?ZkpaeHFINmxaNm45QzYzcTB5R3BoNW1HV1p0cHQ1M2Q2UWpJZElJdUdOTDY2?=
 =?utf-8?B?Sm9WeXZPTzFTclNYcDFJNnFsbndiWTZKdE82YndNcDlmVCtoZzl6eHlVZGg3?=
 =?utf-8?B?Z2p6RzU5d3YwRGJpcVBDRi82bU9DS2RRRmdzQjM1OUNiVEsweHkvRm1VS1dW?=
 =?utf-8?B?WURmWHlpTHM1aDVHdXl5VngyY3V3aVJ5M1QyN3ZVaUVjOEd5YmxWNGM1dEcv?=
 =?utf-8?B?b3Ryclk5Y3ZZejBSSUNuclA4Yi9FUEMzaXA2Y2srcnRyeXBnRVAyZjVUYWkz?=
 =?utf-8?B?VDVuVXNlNUZPVUhvT0ZWYVBLLy9WMndia3hQZDVybExRRTY4QmxIdzJucXI2?=
 =?utf-8?B?enB2Sm14ZHNscHA3dmpLZ0VKM0pnVXdiYjRYZDlvSlVHQnFBdGxHc2RvdC9y?=
 =?utf-8?B?L0dDSVlSSjlhbHJ4VWd1djdTajlid1dtRWVFNVlLNDlHN2tlRmVnaDZlOENs?=
 =?utf-8?B?OEVFVkFwMzV1SmRkeTc2bHdibmtLbThONmgwZ2h2MTg4VjY5WDd1MDV3NzNQ?=
 =?utf-8?B?dWtTZmF1dEtWS0MrTjQ5ME9PRmYzdUFFdXNMTUp2WjNXbFVkcDRTblk5MUxp?=
 =?utf-8?B?NjVnZnYrTDYzamJibGhIaXJRNDQrWDF1ZW5HVTdVL1RZckF4Zy9yclIyczdw?=
 =?utf-8?B?ZWpiNHJEUWpIeTl6a1JUSDFKYU50NTRLd1ZxVm81c29Mei9tc0hoajNVeGxw?=
 =?utf-8?B?RVhTZzkrRjF3VWRMNjVINEkxSHQ3dmVuWmk4Zmo5bnRHU2ZYSmdyRnlCeG1z?=
 =?utf-8?B?RWF3NVZ3TVlTcmZzcE5aSjBPcm5WTjdtVkJEVnpZS245SU83WkhWOGpnMmt4?=
 =?utf-8?B?VFcwaVQxS0tuRWdTZW5EYnJ5VTdzZGRkY0lrUW8yb1VmNUZFV0hvSVlFTFMr?=
 =?utf-8?B?U0V2NlIrc2k3d2NXVHo1RGMvenFJMytSWFJyc3pId0FMSXpHb2cvd0ZrT1Q0?=
 =?utf-8?B?dXdBUmRRNlRjRS9ScWhxZzJRbmNMRHhaUmprSzVCeU1SblV5S05VNzZaQXdV?=
 =?utf-8?B?aWk1QUpEdmttWHFYL082c1dkb0QxaVJqUFZ6MmZ6MDhOeUpPeGo2M2k0d3I0?=
 =?utf-8?B?SmFQNzRTZGFjcEdqZmNOTFh4Rk53UGh5V2d6eEcvazJSa3hrNC9BYzhhcFd1?=
 =?utf-8?B?cS9VQ1QrVEovNGFMQzRwRHYyTlkyNlJJUzI4T2xNUVFQbUNlQXZpTEE3UFpT?=
 =?utf-8?Q?+IhFVcIzNYA6uveyYWdhk5lfv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 031f24c2-22b3-46e2-5ba5-08dae3f2a76d
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 08:00:55.8305
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cOuHPHVUIq8+8q6UVpJbrCbvr22gOelHz0UUO5BeBIwiOJpHMIbG2QwSBWvk3hltEVw+aVfh6aax3vxczQ7itQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8327

On 21.12.2022 18:43, Andrew Cooper wrote:
> On 21/12/2022 1:25 pm, Jan Beulich wrote:
>> The hook isn't mode dependent, hence it's misplaced in struct
>> paging_mode. (Or alternatively I see no reason why the alloc_page() and
>> free_page() hooks don't also live there.) Move it to struct
>> paging_domain.
>>
>> While there rename the hook and HAP's as well as shadow's hook functions
>> to use singular; I never understood why plural was used. (Renaming in
>> particular the wrapper would be touching quite a lot of other code.)
> 
> There are always two modes; Xen's, and the guest's.
> 
> This was probably more visible back in the 32-bit days, but remnants of
> it are still around with the fact that struct vcpu needs to be below the
> 4G boundary for the PDPTRs for when the guest isn't in Long Mode.
> 
> HAP also hides it fairly well given the uniformity of EPT/NPT (and
> always 4 levels in a 64-bit Xen), but I suspect it will become more
> visible again when we start supporting LA57.

So does this boil down to a request to undo the rename? Or undo it just
for shadow code (as the HAP function really does only one thing)? As to
LA57, I'm not convinced it'll become more visible again then, but of
course without actually doing that work it's all hand-waving anyway.

>> --- a/xen/arch/x86/mm/shadow/none.c
>> +++ b/xen/arch/x86/mm/shadow/none.c
>> @@ -27,6 +32,9 @@ int shadow_domain_init(struct domain *d)
>>      };
>>  
>>      paging_log_dirty_init(d, &sh_none_ops);
>> +
>> +    d->arch.paging.update_paging_mode = _update_paging_mode;
>> +
>>      return is_hvm_domain(d) ? -EOPNOTSUPP : 0;
> 
> I know you haven't changed the logic here, but this hook looks broken. 
> Why do we fail it right at the end for HVM domains?

It's been a long time, but I guess my thinking back then was that it's
better to put in place pointers which other code may rely on being non-
NULL.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 08:27:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 08:27:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468275.727330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Gv1-00060L-3q; Thu, 22 Dec 2022 08:27:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468275.727330; Thu, 22 Dec 2022 08:27:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Gv1-00060E-0F; Thu, 22 Dec 2022 08:27:11 +0000
Received: by outflank-mailman (input) for mailman id 468275;
 Thu, 22 Dec 2022 08:27:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8Guz-000608-Us
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 08:27:09 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2058.outbound.protection.outlook.com [40.107.105.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6c834846-81d2-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 09:27:08 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by VI1PR04MB7136.eurprd04.prod.outlook.com (2603:10a6:800:122::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec
 2022 08:27:06 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 08:27:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c834846-81d2-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KFuDR7fMaYkzoo8yt3k/BG3fOa5aNLLkRb6tcseQaV1Q2TZpWuS/4kwGAk1FNOxiyZ2y+azchT45gstYNBY1mfkVKNLO4oQb9Amj0zR5/dIrvlRYcwUNwIWBNQByJk6K9rlXs7rFrd26mWv8cCFZLs9eXSvg6XoSiJoLgH9//d1CM/yDhs1pXkhe7ELqODORK5JNJ4vAi0kXjxMvRqcrbPgGWmhFZ4g3XBIHbWv9uDzd8gnvAFLMPTZJdTIIPKs4lXwvcIyY9xpdOlm6FM0r2eSq2robjpxQqjRQ5+HkU85g9hFOP3kvJxznqnh2LVpedNLMmh7kdsASXpeJilgWAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W+ndfufsbCvvr6VDuB9yDWu7QNF6veOi+RYiSRjzuxo=;
 b=aE2NYeoza6d6/6tiT0KiAyoM2CJNFDr8He7SqQEAaznxn34ijTNsWw+Pocz7G4fVUPnYXQ4jyu3+1simYeCimuaSMMJgHj7CiYUqqP4BQrlQg00X/NLuXnbMyX2QnIaxQgxgR1HLpa7+NQKIFOSTZzdtKUnKct2acGDzi+IxPQjNwsyJPwPWsDVBXwduPuYjTe6P2k3CnGcHLrbmdnoy8NtdzSt7WAFnn+IuwPdf47xn42SzJxNWui2pQ0KNB73YS8b2sP1toQ8OhBtC0HYo3jCe2DTjvLqWlqHjYOqAQNfQ9o82LDBTsm7/tIGnu1I/aTH9dSqgmBimu3WnKW1uYQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=W+ndfufsbCvvr6VDuB9yDWu7QNF6veOi+RYiSRjzuxo=;
 b=zfXjx+WPLibnqgQcI+mRWpvLA4pSKBQpLIqNEYjuY+PlOxSi89EPvMQJAiClWKuFVuhtLABlRCEBggB0zZNvVtN1HAYiwBuGEYveZscC3zX7iux4S78VLXa2dcY/oz9ws5D3Q15sOku8V7MQwxrz3rf6tVhX3XTX+CyRCkm/7yLA4Ot+KoVOUk+Kcy7Bh26w1TcukBHWDfgA4f+N+yKKkDBQkyI67QsD8/T7TqN6B5CX50phS8ApVfRmoK77W5N6T74hmrPzsKuhIRT4DHjy36H3pE+hzfbgGPKKiEFzz9CDIJR1pgAtuggXfg4pYPTEVXyTJEKiUGxSRCTd4pli4Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8f4e57e6-bbc6-0773-b422-62d5a367ad7c@suse.com>
Date: Thu, 22 Dec 2022 09:27:05 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 6/8] x86/shadow: adjust and move sh_type_to_size[]
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, Roger Pau Monne <roger.pau@citrix.com>,
 George Dunlap <George.Dunlap@citrix.com>, "Tim (Xen.org)" <tim@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <f7d2c856-bf75-503b-ad96-02d25c63a2f6@suse.com>
 <e142f7f8-1184-a65e-0f50-0b01ec7fad55@suse.com>
 <04350e03-25f3-df4c-8b1a-486d531eeda7@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <04350e03-25f3-df4c-8b1a-486d531eeda7@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0107.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::17) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|VI1PR04MB7136:EE_
X-MS-Office365-Filtering-Correlation-Id: fff57d28-edbf-4ed3-e445-08dae3f64fca
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rXULhC/H4aSDprEt1m0MF1a5IDOrNDSnQFobO8RdNbX7Cq4nYtYReUsrgBKWVBYsJmU66KbhOBremLUimCStmSRsqElBqQOGT4vaklwLGzqdqXRGibF4RSVGZoGStbHWVVBXmVTOFiyqJGZMgZObxuvX6EoFhDcmshR8JDvHdwoc5zl8gFcbTtwADpkFI+cMqFzKfkuMOz6v13e1bgaf/D6k/eKue+u1xx1e7dyRpokDN/8YcO2yI5SedF9G0oMlOuquwCsUMS//gM2moH0umOZkvEzsRXDii+C4FSBi+n4TBQYSrQrJrRjaBqgsIRZpG7aPOeGHXqj14IPCenI8MXAcxk1V+8ZuqOwXdXmgEImqx6D+YKvYwZSX+BaQs/6eEFFeCytulovuK+YCHkqVOVUrsrNaYDIkK6r2oFSvHcYouSNuSz2KPtlFYdnrsOa01cUkXrypC+WqButPq/QtCdeVYdEEh/4y17yukjXhKDFqF4gn1DN3/F3+tbU9cHQozyGWRY89izMxaseqaALXBvIj6oIJZSJ0mPPYU/y6v9fE2M++Zqp4bFxTmUgpHsdMJkXWja2f8bXkMdpF49nUNdkZTeCua08+Tovt4EDMv5At+MBnREwxGBwMc+yOw8d2Wf8F0od3lRMmKouERia+Y/CQJSSp7fixCwwu9CmHAvELK9IN8Xiku3xIKbeEHJTmCqyUkk46TCTgYHkGHjpOZNlD1/C12kR4cSUkJt03v6A=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(136003)(396003)(376002)(39860400002)(346002)(451199015)(31696002)(83380400001)(86362001)(38100700002)(2906002)(41300700001)(5660300002)(8936002)(6506007)(4326008)(6486002)(478600001)(2616005)(53546011)(186003)(26005)(66946007)(6512007)(66476007)(54906003)(316002)(6916009)(8676002)(66556008)(31686004)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QkZBOVRsRlQ2RWFZdXVrYVZxR2tPcDBsbm1CbzE4R21lMnVGOFVaMmF6YjY2?=
 =?utf-8?B?TjM4Zk41TzRSdzAwV2xQNm5KMHo3VGZLbDV5eXRubTl1UDU1cTZpdXI2ZnZD?=
 =?utf-8?B?OGYxMFlXZk55d2ZnQ0NTK0lZdzBuY2pZLzBtdnZ2UXVLREFra3c0RmRneW1k?=
 =?utf-8?B?ZDU0alljNG5sMlRCSnNrRThJQ0o3aXFJTzY0QlJNNkxZdjlycFFwZ1RWUXlS?=
 =?utf-8?B?L2dtVFROc2MwWTJsZDc3QWNsNVpYbWwyZnF1QjlWdTUySzNlZWpHUmNBU0Rw?=
 =?utf-8?B?NHZDZWt6MXNYQUdWcFh3ZU1rVEczaklMTXRnNmZWN012NStFWW5PYVlLSXZ6?=
 =?utf-8?B?VFhMQlhPZlh0NDYvcUtXVDUxMTN6WHJha1F2UVdYS0FPUE5mWHY3bllVTGpl?=
 =?utf-8?B?Z3VlckpoOEM3N1J4MExlQm9PN2QyekNlNUZmakh5dkJsUzJKVCt3NEkwdmxE?=
 =?utf-8?B?VTZhbkJqVCtrSFpWeVM5clRVUkZCWDZ3dkRZMzQzU1NGZmVCclAveVNKZGJJ?=
 =?utf-8?B?TDNyYjZsMW1uR2VEZzVYMDM3V0owRUw0SGZ0Slg1UzJNc2FBUmY4aVBHa3Q4?=
 =?utf-8?B?OFE2QTBtYlRoNHp0dk9FRzRlTHBmeDBtMmVCeitHZkpISElZYTNURU5tOFJl?=
 =?utf-8?B?R0pkRWhENFRlRzY2R05yYTVBUzMyY0dYNGNFUnJ3QmtEbTRpMnNxL3BsTUZZ?=
 =?utf-8?B?NXRPczJTUGQzaXZwYXF0TzROSTdQM3NodkxGL0RDZmpJU3VQYmJWVTloZFdS?=
 =?utf-8?B?UU05SjRjWlo1dmhWTWIwbFREZ28zK290bis0YUpCemZGVWErUzkxRGRUcVB1?=
 =?utf-8?B?c0JyTEswaGVGNzZkRFhlK2pIYlRsbUc1MDRsUGc2QVdvTWJpMU5KWTNTbTE3?=
 =?utf-8?B?MjdGdEswSndhVm9mdXI5UXZKekdqTzlSSW9tT1FGTzJmeDFPWGQ2cDZDZnZZ?=
 =?utf-8?B?Z21SWk9JK05iOCswc1RqaG1XNjRmTldDNVM3bVQ5dTE4d2VaRmduSCtRUzVh?=
 =?utf-8?B?YitUU2RqN0tjU0Rtak9VWWVZbmxYRXVNbHMxbGw0VnBKRTJrNHNNL3lmVDdZ?=
 =?utf-8?B?TjdlczZjaTlWMXVFYk1ZaEdMZGxqdzlhQXpzS2pmVXN6L1dPYWZncW14NGZh?=
 =?utf-8?B?SHkxdjF2eXUxdS82MUo1U3NpTHY5S1NaaHkxdCtFUDBXeTJhYVVrNzBBZ0Qx?=
 =?utf-8?B?QjV1NmJkVklPZ0xBTldiaE1BRHFSQ2xnY2Y5czRObjFpTDVWSXZLWmhHNFhI?=
 =?utf-8?B?V3haRU41TEE3SXcxMDI3dllBUjZNeXZ0VXdvQkxvakNZMHpLUEdVMFEyalNy?=
 =?utf-8?B?TU0rSmlKSnNIeERKM1dkMTdCcmsxbEdnaGV5dmwybE1vc1lkSExhd2FQSFBw?=
 =?utf-8?B?cEsyQUlvc2dYa1F5dlEvK3YxdG4ydWpVVDI5eiszQmRHNWZyNnFuRHVOUjY0?=
 =?utf-8?B?a1o5Wm50TWpjRUhDOWUvOWlWSWpkdVNOanYwcHhkRDZ3VFJYLyszaTBOeTNa?=
 =?utf-8?B?TTREckJEWG1kU2JMQTFLaHhocVFTMzkxQkovMjl3ellobHpuemxGNkZoSUxR?=
 =?utf-8?B?RXVudjNzVGNSWTE2SHllY202ZnpSZTZHc2NKUll4WEhia2Y3RGNKZ0wzZTNE?=
 =?utf-8?B?b2RSK2RzSnoybDdTK3UrSUJEcXprQ3dDMmFMZWp6SHFUTXRQcnBhVnkyWjVj?=
 =?utf-8?B?TWJZRi9vTVhuTWRScnpLRFVONWtVZGdNeC93RHY3WWVzc201VU1PZVk4NUVW?=
 =?utf-8?B?azhYYTFoNDNzcXp6eU5mNE5EOXZIT1FQSnBnZm9GbkNMMGRIalpzdGtmWVVt?=
 =?utf-8?B?ZDVZZmJPSWZuWGtoN0FkdWM2TjEzUCtvVDJMSjdZaEdwUGY3OE1RTndtbDVY?=
 =?utf-8?B?NGFwR1BQWE50UHdaL016UmlqSk80bWc1KzVBZ1BjdStOK290U0JzOFc1MUVJ?=
 =?utf-8?B?MjBzTm5QNmY0dlJjeGFlNmJDMnNWOEo3bmxpVlZyeVBWL2VhMDRhYmhGQklF?=
 =?utf-8?B?aEFOWUEzZ1RrQ1JOWXlvVjEySFVNRnRGRGdublh1VXFLYnlDazFjZVc5N2VS?=
 =?utf-8?B?WkhUQnRVaGdCUVlIZjVTVDJuQ2xiWUkrL05icWhkRW0yWXM1MmsrdEhQWmlj?=
 =?utf-8?Q?GbaXnV8yXZyOg3fbbEhoXVfnv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fff57d28-edbf-4ed3-e445-08dae3f64fca
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 08:27:06.7909
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UiIpMwyOri6HxhtmdSZdJVRjdqxFDY1Wd35MHXX2XawijRC2sYUTl29efom4t3bR41DloPK/YYxtHZhhRy8dnQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7136

On 21.12.2022 19:58, Andrew Cooper wrote:
> On 21/12/2022 1:27 pm, Jan Beulich wrote:
>> Drop the SH_type_none entry - there are no allocation attempts with
>> this type, and there also shouldn't be any. Adjust the shadow_size()
>> alternative path to match that change. Also generalize two related
>> assertions.
>>
>> While there move the entire table and the respective part of the comment
>> there to hvm.c, resulting in one less #ifdef. In the course of the
>> movement switch to using designated initializers.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although ...

Thanks.

>> --- a/xen/arch/x86/mm/shadow/hvm.c
>> +++ b/xen/arch/x86/mm/shadow/hvm.c
>> @@ -33,6 +33,37 @@
>>  
>>  #include "private.h"
>>  
>> +/*
>> + * This table shows the allocation behaviour of the different modes:
>> + *
>> + * Xen paging      64b  64b  64b
>> + * Guest paging    32b  pae  64b
>> + * PV or HVM       HVM  HVM   *
>> + * Shadow paging   pae  pae  64b
>> + *
>> + * sl1 size         8k   4k   4k
>> + * sl2 size        16k   4k   4k
>> + * sl3 size         -    -    4k
>> + * sl4 size         -    -    4k
>> + */
>> +const uint8_t sh_type_to_size[] = {
>> +    [SH_type_l1_32_shadow]   = 2,
>> +    [SH_type_fl1_32_shadow]  = 2,
>> +    [SH_type_l2_32_shadow]   = 4,
>> +    [SH_type_l1_pae_shadow]  = 1,
>> +    [SH_type_fl1_pae_shadow] = 1,
>> +    [SH_type_l2_pae_shadow]  = 1,
>> +    [SH_type_l1_64_shadow]   = 1,
>> +    [SH_type_fl1_64_shadow]  = 1,
>> +    [SH_type_l2_64_shadow]   = 1,
>> +    [SH_type_l2h_64_shadow]  = 1,
>> +    [SH_type_l3_64_shadow]   = 1,
>> +    [SH_type_l4_64_shadow]   = 1,
>> +    [SH_type_p2m_table]      = 1,
>> +    [SH_type_monitor_table]  = 1,
>> +    [SH_type_oos_snapshot]   = 1,
> 
> ... this feels like it's wanting to turn into a (1 + ...) expression.  I
> can't see anything that prevents us from reordering the SH_type
> constants, but
> 
> 1 + (idx == 1 /* l1 */ || idx == /* fl1 */) + 2 * (idx == 3 /* l2 */);
> 
> doesn't obviously simplify further.

But that would then undermine the cases where the function returns 0,
which the two (generalized in this change) assertions actually check
for not having got back. This would also become relevant for the l2h
slot, which - if not right here (see the respective remark) - will
become zero in a subsequent patch when !PV32.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 08:30:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 08:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468283.727341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Gxw-0007OQ-H7; Thu, 22 Dec 2022 08:30:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468283.727341; Thu, 22 Dec 2022 08:30:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Gxw-0007OJ-Dg; Thu, 22 Dec 2022 08:30:12 +0000
Received: by outflank-mailman (input) for mailman id 468283;
 Thu, 22 Dec 2022 08:30:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=+oFi=4U=linux.intel.com=ville.syrjala@srs-se1.protection.inumbo.net>)
 id 1p8Gxu-0007OB-HG
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 08:30:10 +0000
Received: from mga04.intel.com (mga04.intel.com [192.55.52.120])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7343e44-81d2-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 09:30:08 +0100 (CET)
Received: from fmsmga008.fm.intel.com ([10.253.24.58])
 by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 22 Dec 2022 00:30:05 -0800
Received: from stinkpipe.fi.intel.com (HELO stinkbox) ([10.237.72.191])
 by fmsmga008.fm.intel.com with SMTP; 22 Dec 2022 00:29:58 -0800
Received: by stinkbox (sSMTP sendmail emulation);
 Thu, 22 Dec 2022 10:29:57 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7343e44-81d2-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1671697809; x=1703233809;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=Rf9ZNz0+k7YDP5f695EjMvDqSxQgEwLSpAmEJPlt22M=;
  b=SKVugw5lGim4nHGRXPAB6Q9SseZAfj4SJ+OJCyC4bYyQt2VAMVEapjyb
   4FIAqvVQGh16hY6raN7POc/IB+Gl5WOZIf1g7hiOk0LhWS7s97MILF8yU
   UoiOxJzYs1anfnneaE+dX7p/C5StRyWOzNSgdA5VGk7iKSP4L+foyyJu/
   T9dS/SxdSoIoYhSOpTLj9nXh1ChS0BPSyIHbYzbOKeKVDOMPAECIK2qvY
   zOZyQY12oVNERCieXSI0WELvC/VG+ZPYLkj77PvmB4tGtswPpH59vB5JL
   p6JtWJGihkSz6W7Jk72gMC7/KHrd0Y9eXO+aTz5BDvUpSMaqNRbUch2l+
   Q==;
X-IronPort-AV: E=McAfee;i="6500,9779,10568"; a="318771212"
X-IronPort-AV: E=Sophos;i="5.96,265,1665471600"; 
   d="scan'208";a="318771212"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10568"; a="715081283"
X-IronPort-AV: E=Sophos;i="5.96,265,1665471600"; 
   d="scan'208";a="715081283"
Date: Thu, 22 Dec 2022 10:29:57 +0200
From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= <ville.syrjala@linux.intel.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
	"intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>,
	the arch/x86 maintainers <x86@kernel.org>,
	Lucas De Marchi <lucas.demarchi@intel.com>,
	Daniel Vetter <daniel@ffwll.ch>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>,
	"Demi M. Obenour" <demi@invisiblethingslab.com>,
	xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [Intel-gfx] [cache coherency bug] i915 and PAT attributes
Message-ID: <Y6QVhRP+voSLi9xm@intel.com>
References: <Y5Hst0bCxQDTN7lK@mail-itl>
 <1c326e0c-5812-083a-0739-aa20fab3efc4@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1c326e0c-5812-083a-0739-aa20fab3efc4@citrix.com>
X-Patchwork-Hint: comment

On Fri, Dec 16, 2022 at 03:30:13PM +0000, Andrew Cooper wrote:
> On 08/12/2022 1:55 pm, Marek Marczykowski-Grecki wrote:
> > Hi,
> >
> > There is an issue with i915 on Xen PV (dom0). The end result is a lot of
> > glitches, like here: https://openqa.qubes-os.org/tests/54748#step/startup/8
> > (this one is on ADL, Linux 6.1-rc7 as a Xen PV dom0). It's using Xorg
> > with "modesetting" driver.
> >
> > After some iterations of debugging, we narrowed it down to i915 handling
> > caching. The main difference is that PAT is setup differently on Xen PV
> > than on native Linux. Normally, Linux does have appropriate abstraction
> > for that, but apparently something related to i915 doesn't play well
> > with it. The specific difference is:
> > native linux:
> > x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT
> > xen pv:
> > x86/PAT: Configuration [0-7]: WB  WT  UC- UC  WC  WP  UC  UC
> >                                   ~~          ~~      ~~  ~~
> >
> > The specific impact depends on kernel version and the hardware. The most
> > severe issues I see on >=ADL, but some older hardware is affected too -
> > sometimes only if composition is disabled in the window manager.
> > Some more information is collected at
> > https://github.com/QubesOS/qubes-issues/issues/4782 (and few linked
> > duplicates...).
> >
> > Kind-of related commit is here:
> > https://github.com/torvalds/linux/commit/bdd8b6c98239cad ("drm/i915:
> > replace X86_FEATURE_PAT with pat_enabled()") - it is the place where
> > i915 explicitly checks for PAT support, so I'm cc-ing people mentioned
> > there too.
> >
> > Any ideas?
> >
> > The issue can be easily reproduced without Xen too, by adjusting PAT in
> > Linux:
> > -----8<-----
> > diff --git a/arch/x86/mm/pat/memtype.c b/arch/x86/mm/pat/memtype.c
> > index 66a209f7eb86..319ab60c8d8c 100644
> > --- a/arch/x86/mm/pat/memtype.c
> > +++ b/arch/x86/mm/pat/memtype.c
> > @@ -400,8 +400,8 @@ void pat_init(void)
> >  		 * The reserved slots are unused, but mapped to their
> >  		 * corresponding types in the presence of PAT errata.
> >  		 */
> > -		pat = PAT(0, WB) | PAT(1, WC) | PAT(2, UC_MINUS) | PAT(3, UC) |
> > -		      PAT(4, WB) | PAT(5, WP) | PAT(6, UC_MINUS) | PAT(7, WT);
> > +		pat = PAT(0, WB) | PAT(1, WT) | PAT(2, UC_MINUS) | PAT(3, UC) |
> > +		      PAT(4, WC) | PAT(5, WP) | PAT(6, UC)       | PAT(7, UC);
> >  	}
> >  
> >  	if (!pat_bp_initialized) {
> > -----8<-----
> >
> 
> Hello, can anyone help please?
> 
> Intel's CI has taken this reproducer of the bug, and confirmed the
> regression.
> https://lore.kernel.org/intel-gfx/Y5Hst0bCxQDTN7lK@mail-itl/T/#m4480c15a0d117dce6210562eb542875e757647fb
> 
> We're reasonably confident that it is an i915 bug (given the repro with
> no Xen in the mix), but we're out of any further ideas.

I don't think we have any code that assumes anything about the PAT,
apart from WC being available (which seems like it should still be
the case with your modified PAT). I suppose you'll just have to 
start digging from pgprot_writecombine()/noncached() and make sure
everything ends up using the correct PAT entry.

-- 
Ville Syrjl
Intel


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 08:31:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 08:31:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468291.727351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8GzF-00081F-Ve; Thu, 22 Dec 2022 08:31:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468291.727351; Thu, 22 Dec 2022 08:31:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8GzF-000818-T8; Thu, 22 Dec 2022 08:31:33 +0000
Received: by outflank-mailman (input) for mailman id 468291;
 Thu, 22 Dec 2022 08:31:33 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=obCC=4U=redhat.com=pbonzini@srs-se1.protection.inumbo.net>)
 id 1p8GzE-000812-Uj
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 08:31:33 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0925590a-81d3-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 09:31:32 +0100 (CET)
Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com
 [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id
 us-mta-575-NCtM2xvdNiuJUrLzVln4zA-1; Thu, 22 Dec 2022 03:31:23 -0500
Received: by mail-ed1-f69.google.com with SMTP id
 v4-20020a056402348400b0046cbbc786bdso1033148edc.7
 for <xen-devel@lists.xenproject.org>; Thu, 22 Dec 2022 00:31:23 -0800 (PST)
Received: from avogadro.local ([2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e])
 by smtp.gmail.com with ESMTPSA id
 a1-20020a170906244100b007b2a58e31dasm8256467ejb.145.2022.12.22.00.31.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 22 Dec 2022 00:31:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0925590a-81d3-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1671697890;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=cyh9GNwkSeiWX8VVWJet6cmrStrv1Y1BhHYKMAKCy08=;
	b=H3xH+MtukyCyGSyvDWcAyuyw1FCiAQPWtpErq5NpbCaPh6wNQR/IbiaWKpYWFMWMl4kzps
	BGj6dKmgPWPo4LPfX/TCHwNJ3yLhs2W1Mtbm58n68KjdBFwJRG1TQPI6gxnR79E1iuLq65
	Z9BLQbctDExxXrxFFbrk1M/+eKe7W9o=
X-MC-Unique: NCtM2xvdNiuJUrLzVln4zA-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=cyh9GNwkSeiWX8VVWJet6cmrStrv1Y1BhHYKMAKCy08=;
        b=ZbxEpijTxZgk9nuoE1jLHFrfOwsQNvXzAWl/uCn/mHWv4jxMN5gyQwrSIjZ6/m2knj
         7x1BMAuCxCc+6gordktUUGHR/hupbO5oKAr+ShZcsj/x58lA0BtyIIRmchBlHSSnlWwd
         7dlnFTmr+TpybQ3Vq3HMQh8cQ5VWrvIjIuWSRqr+Wx0THBxNmQlTisYSWQ237Bbidq18
         W8ViuELK64ERGYwTXS8Hertt/6B7p+87yIrd2/iIBTKHnntKNYy6F8LkshLOLF3QXoW1
         fDLoPrr0qbgKYQgP+RGmZ1DpSqOo5UEhWVaHvxZfIH89CWaTtM5aLTiSDHOwfL9HgD3b
         YCIg==
X-Gm-Message-State: AFqh2kpkkF+vQyiLNgTKhTwEBKsM2Q7FatB0vemrdEOEweBg2fhqVJLp
	vRIPcFc4tD2fkFedwgLEEhwO6obHJV0Mp/ePlkjaeKLupvvw8BOLIkVI7Z1y4PJJKXvGAsC4iPq
	lClTsUH979SqF9vEhlKLQY/bri4s=
X-Received: by 2002:a05:6402:1592:b0:462:7b87:c6d with SMTP id c18-20020a056402159200b004627b870c6dmr4000363edv.2.1671697882819;
        Thu, 22 Dec 2022 00:31:22 -0800 (PST)
X-Google-Smtp-Source: AMrXdXuwZkeFL8OUz6ZUFNTs1DiHZ5yLUmzSas8pfZy4kn1qQLxx2bSmeMBGwO1lgmt+9zSvqFM8Ow==
X-Received: by 2002:a05:6402:1592:b0:462:7b87:c6d with SMTP id c18-20020a056402159200b004627b870c6dmr4000340edv.2.1671697882646;
        Thu, 22 Dec 2022 00:31:22 -0800 (PST)
From: Paolo Bonzini <pbonzini@redhat.com>
To: =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>
Cc: qemu-devel@nongnu.org,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	Laurent Vivier <lvivier@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	virtio-fs@redhat.com,
	Michael Roth <michael.roth@amd.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-block@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	John Snow <jsnow@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Greg Kurz <groug@kaod.org>,
	Thomas Huth <thuth@redhat.com>
Subject: Re: [PATCH 0/6] enforce use of G_GNUC_PRINTF annotations
Date: Thu, 22 Dec 2022 09:31:19 +0100
Message-Id: <20221222083119.860606-1-pbonzini@redhat.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20221219130205.687815-1-berrange@redhat.com>
References: 
MIME-Version: 1.0
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="US-ASCII"; x-default=true

Queued, thanks.

Paolo



From xen-devel-bounces@lists.xenproject.org Thu Dec 22 08:56:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 08:56:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468299.727363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8HMl-00027m-Tr; Thu, 22 Dec 2022 08:55:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468299.727363; Thu, 22 Dec 2022 08:55:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8HMl-00027f-Q7; Thu, 22 Dec 2022 08:55:51 +0000
Received: by outflank-mailman (input) for mailman id 468299;
 Thu, 22 Dec 2022 08:55:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8HMk-00027Z-VK
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 08:55:51 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2089.outbound.protection.outlook.com [40.107.22.89])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6e8a2adb-81d6-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 09:55:49 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AM9PR04MB8113.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec
 2022 08:55:48 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 08:55:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e8a2adb-81d6-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UwvRYFMOg+KXNxz638g5bouqwo53De0Sx8i+S6mwHudMofzuP/AT+Hk3SISd5wmHaAkEu1gBZ1T1fkfS5sEProKxkay8kIQlz7uDePW7JLDXNfegw5kdn74R3/DVbVOpBz6oDVbBsE6B8jB2or7dTw6ORm2GegqxLfaNCfxNUpfXd9XHnYphzMg7OHErOWKpoWdhwPuWUpgAUtMI5n1yc4BDSLpMfTOgB09R7ZuGhEcgwIPoMzRDeQhvP56ZB3ZRiyCO2e4iOF/aoA4tr48lpchcs/YVJuE42k34QWRPEzxUmPMagn6Ug88TtQYp53jWQGf5jCUP33FuXF/tP+jS/w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w0c50J5W2cXgLWG7IlQjtG36wAIqVwS7VEqUDMHpHMw=;
 b=gzD0NiI6C2/bQQHI/ARux6uJpWXYbzBkiAemnMaAkmkvLTdpJmxyxtHg2B+xCxGtKS/EwRg9i8bcTjA2Hl3pVJZJ3J7hmnLgy2J22dlR5k6/zUERDTjzer01V0aTRAijPpPT1mwgFX0h6zpO0Gp9/hxiMVp4wCBt44FxOCyyAzFXWdQ5PRZ/LdonPzq6kkIu20G31YeTjqipM8/4AIpGMO2qqSH5JrWi5i1Tl2TZIoH4uyIrgqC8CiTyI0WYebGTVuMJup2ECVT8RDma2q8pOPMqFQRjib3Ey44o8vLVobiV/dIIlPoBoDVvYlAttyKb3gW/i35F/AQQAqYTGQvbcg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w0c50J5W2cXgLWG7IlQjtG36wAIqVwS7VEqUDMHpHMw=;
 b=U4HHMESGRs5r0yjr17lYeS8gAnXUE7xjcGHtK8UW+LZeown7hfFoiWF39TqsSwjvPBEs6AQx7NMQ3oV/XU1dK+QtSbXE9rbsG34RAQCIs7SWS0QxffuuPF9IRR/YDzmPzGXZv7vDsmKN0iu10WiTAHnVdjpgI0CPDKITIkGyX8s/frVlHADprks9rUZiyxtLPdlL+EOGW0pu6zBOm6d5YMV6/eVL/1163vjEamGPmcLal9Gdj9cwpnekRRqzH3DIUZMfSYwpQaOfrOMsnY37L1UfHptq0KB/SfOC6ncvbV585mcJVYQA9N0yOlPRylq3jFX7E1MVQHFD2hFFuBppww==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ea8e423c-4a74-bf09-f7de-93849e801dd9@suse.com>
Date: Thu, 22 Dec 2022 09:55:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [RFC PATCH 01/18] arm: cppcheck: misra rule 20.7 deviations for
 alternative.h
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org,
 wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221220085100.22848-1-luca.fancellu@arm.com>
 <20221220085100.22848-2-luca.fancellu@arm.com>
 <072a9427-57aa-81ef-1f7e-7f0b5f26e5c6@xen.org>
 <alpine.DEB.2.22.394.2212211731450.4079@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2212211731450.4079@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0037.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::21) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AM9PR04MB8113:EE_
X-MS-Office365-Filtering-Correlation-Id: d06e520d-1150-480d-8755-08dae3fa5212
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	N6Te7s1Ta23P9VPBI/MubZvXGzZ5DYJX9djmCX545T4XfjahjuqCba0Zuz7UQLngit641v4BKuhbdV3sMJYf4K8rjcZ+WYgjuxDc5/2vNJ7mB++7kxr4wD7GCOfrLy7gF6DOEfXGHd1WNrxcKZSBNTKx8HdQEUeYxqhZ9RcOurqtaH7Ia90+ho0CQjruh0YfKxksCTEWa91PRzVhxI6UgAw7CAvz1NJEpnt7+kyCffGFjwjrd8BzoTWIWYRjgb8cxUE73j1ZrAF9FRyCCl4LYYNG5QdmKusqiSf95OkyFlbcGGjFRR5MYydtcDpC55pCyR6NrHKx+xHSryG2M0dw5ZDZgUfperwzd93VppOLEHJPGOZg7WL5MelGmdztZIAierLmcKFwSXnTHuta/HCPBUlNxx0tVEpZmmFBfT0M/Y3NEHm4AwnGvgt7FF4c3BYcMNr/1AxspMcuRz2xVnglMFDEpe/wzfQHxkRdBtjPw2HNqyRU5qwhrXI0KpU98QhCsdRaMo5oCo883SdDZu/VME79WsD63tYkD4woWKEd7oQqHVP+HJFPhcvFi3raufBGkzYTuVGGHI+gt6Z04Y18IDCKaV93g+x8yYSthKTFxYq/vYcm8/3Bu4CqRot0T8RQAhVseHfo06IQ7hbiW6/qqzoNwUwXPYpzt53q6h8vQ+mZn9uzmGgiSQxOPwO50QGISWHDrC11RozgkkZLRsEY3GJ0N6pr3ALKQbQ9stqVyc8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(39860400002)(346002)(366004)(136003)(376002)(451199015)(31686004)(2616005)(86362001)(2906002)(38100700002)(186003)(6512007)(6506007)(36756003)(53546011)(26005)(478600001)(6486002)(8936002)(54906003)(316002)(6916009)(8676002)(66946007)(4326008)(41300700001)(66476007)(66556008)(7416002)(4744005)(31696002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SitXOU0rYjIzUm1jOFZYbGZzR3FOWk5xY2VlWkllOGV4NGcyV2ExMzBGc0ZI?=
 =?utf-8?B?OXo2SHkza3dYa1JkU25vUVhkWEN1eXM0ZzZnNW9XTmlhR1JaR1FhbUlXSXVt?=
 =?utf-8?B?QnRWTXVuVU5ZaWY2eE55ellreldEODc4K3pjaUJldGh4dGZ1VnRrNFkyM3cy?=
 =?utf-8?B?MEtPbTdlbUlrQ25DVkQ3eXlVb0JrL3EzQitSZmxVeWRMbE9VUVgxTm9hMGcy?=
 =?utf-8?B?OEV6bXRCckZCMDF6L1NJMFhaZEhubnFRSEpnVjhxWjFhUGpQRHJnNUVZdito?=
 =?utf-8?B?V3h0WDBPYkxqWFZncVZTem5pTDZsTDFPV1pwODYxQ283V3kwaTZrbk5NdHlK?=
 =?utf-8?B?c2JUNjRpeXFSekN5eTF6R2JFc2xYdTFPdzYvdGE0SWpwTGZVYVNHUFQ5VWtK?=
 =?utf-8?B?Y0pCR21GdUk2VHExUXFsYmlQQ2N5NWNsenZEU1ljekxpS25yektSOWc2azFs?=
 =?utf-8?B?emhscGQyYUhLMHlja2VTQ2pacEdpZlMvS1Y0TW1SVkZoYmszZUZ4SzJ3TUVw?=
 =?utf-8?B?ZkhOWlFUMWExb3loaTJ6VHFHQTJwckZLRDV6TU9JZ0ErMEd2aXBPUzNsY1lS?=
 =?utf-8?B?dll4a2txWXMzbkpHT1lkSTJ1Z2RJdExqYU9wblduTzJLRE9ZRTArM3RFU1hV?=
 =?utf-8?B?d1FpcHhJVldlTEdHUnE3WVZSZjBoNnVqUE1KRlprUk5PNmZGa24wY0xya2h5?=
 =?utf-8?B?dURNR0xva1dqQ2JnL0gzdVc2ZVd3aGdaSmZOR2ZQMlFQOWlWUmxzV1dmZU5p?=
 =?utf-8?B?UU5zeldvUlMyMnU3d1Uvc0xsQmJOTnVBZFpjeHNQaU41ZGIvNWpkQzJibnlF?=
 =?utf-8?B?UlFyTWk0N2lxMTRJdzJ1NDhEMWV4a3VxS2c1bkJDVm1vWkJSS01ZNnIzQ2h1?=
 =?utf-8?B?YzZzTjhRR1FRa2hRbUtUK0JLd205VjkxUFVLNmUzZnFUdnVLZ2pXZnloSjNr?=
 =?utf-8?B?S0dXaVNkd1pvL04zcnFya3FBKzh4cktTVVFZcUJBNnBKaDFRTGpNZVBNWGto?=
 =?utf-8?B?ZUx1Z3h3TlhObDlHM1dKL2tYTnFKUWE0S2xVZ2hOZW5PT01PSzQwaXMxa1RQ?=
 =?utf-8?B?NVBxaWZzYlYxZHFHYnc3WjVzTUdTdStVdHNjak1IMmtKUTN3L1h6dFVSekVR?=
 =?utf-8?B?dlpMWWhOWU9KeEtWK01rZDkxUzV6ODdNQytEakFuRVErWDduVVJhU2Frb3p4?=
 =?utf-8?B?cU5nU2h3d21Ib0N2NFQyN0U1akNhNjFPdzFoNFRxNVYzMUtpeStZM0N1WWdE?=
 =?utf-8?B?NDNHV0FmdDl4eUVMTzY0SnZkbll6ZGxxUFZNOUQzRzJPWFBDYjRjU1dCVWEr?=
 =?utf-8?B?WjNKNVpHVnlQcUQ0bHpDWmI2eCtoT1JaejJueDM4SllGNXVDOWYwaWxaY01T?=
 =?utf-8?B?UThRaEV0NTFOMkk0OVFzQmFzMXlDYUFCMm0wdEhDN0lnc1VDRHdmRG53WEE1?=
 =?utf-8?B?dEpaSzJxb01JU1pBV3BaWU5laFhJK3NKazhFdHZucG9XZFZmYW1SNG5ZVWdi?=
 =?utf-8?B?bXRqOFgvVzhrSkI2V0ZhUnVJRzdjS3E4dC9BZTMrS2JOU2g5dGYzb3V4OXZD?=
 =?utf-8?B?RnBBQ1l0RXNPU2R0VCtqMDUrMkwyci9ibmkrbCs4NmcyeXFFVjE1a2o5MXJU?=
 =?utf-8?B?VnJieWl2U1lncTMrSHpmczR0ZzJpSlVCaVdrRmI4bFlqelhvQjVsRXoyVGFJ?=
 =?utf-8?B?MnFucjdBOWpBRUJ1RmpLU2txZ3N1WkI0ckdsVmhKN0lKNUczeXhuRUZVc1Vn?=
 =?utf-8?B?NnVYMU5qdEhOelEwVW9NalMxT3ZSMElnWll0eDB0WC9odEVHRy9KTnJ2TThP?=
 =?utf-8?B?OW1SVEgzbEZHMFQwbmZ6TmQ2aHp6eTJ0Vlh1bW80OXFlVWxZbU9UUGlkdEN2?=
 =?utf-8?B?blFlTlhScXdwQ0dSWnlVMGlFRHhvK0JudHdObk5wZEpGbld6Ymhld0t6N2Nv?=
 =?utf-8?B?WHg2c3MxQWVrdXVuMURCUDhEOUhCQW1wVFlIUWNscGthTzVOWTluUW01Uy9q?=
 =?utf-8?B?NVJXQldIdlJQT0NjdU9SbjFISDc4RUNaOFJRdmdGSHo1ck0yNXFWS0NaNHdB?=
 =?utf-8?B?OENPYVU2ay9vRWo3RnpZaWdkdC8wMlUxaFlTZXBkRGMrZnZpcjVhWEV1SHFJ?=
 =?utf-8?Q?6u4KRanUDhvxIK++2FKh1/uew?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d06e520d-1150-480d-8755-08dae3fa5212
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 08:55:48.5871
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9dW+tnFogPYxumBiXteHaZzyjVdyQyeNscIiTlqa7fbkWkdQT1OlG736/Zk3t4pAZOrujMxe+ah0/lvLhMpyBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8113

On 22.12.2022 03:01, Stefano Stabellini wrote:
> What do you guys think? Nice automatic 20.7 scans for all patches and
> for staging, but with the undesirable false-positive comments, or
> no-20.7 scans but no comments in the tree?

Anything automatic which then also bugs submitters about issues should
have as few false positives as possible. Otherwise people may quickly
get into the habit of ignoring such reports.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 08:56:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 08:56:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468300.727374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8HMr-0002Nb-4M; Thu, 22 Dec 2022 08:55:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468300.727374; Thu, 22 Dec 2022 08:55:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8HMr-0002NQ-1d; Thu, 22 Dec 2022 08:55:57 +0000
Received: by outflank-mailman (input) for mailman id 468300;
 Thu, 22 Dec 2022 08:55:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8HMp-0002N0-Gi; Thu, 22 Dec 2022 08:55:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8HMp-0006ue-F4; Thu, 22 Dec 2022 08:55:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8HMp-0004wH-51; Thu, 22 Dec 2022 08:55:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8HMp-0001R4-4d; Thu, 22 Dec 2022 08:55:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=9aFQdxW3yeNBrgutGZmSsk7j7Qm+LrUAXN1mA5l1q3E=; b=zkiahlI8X2G70XK1clwVwilSyI
	FH6IXEDWvOF4ilXlZCv2UD2KRzYHj2HRXDIIU/ZCS3xjvUV95Io5qXX4EV9ztP+VfUkSTk/MUJtIz
	b2iFrIATrsOjO+4GLfnRXjGs1M9nfNmwIuGInRhefz+01yzpJoPyaHL+BEgmxCGsnuEU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175452-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175452: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=ec87305f90d90096aac2a4d91e3f6556e2ecd6b9
X-Osstest-Versions-That:
    ovmf=129404f6e4395008ac0045e7e627edbba2a1e064
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 08:55:55 +0000

flight 175452 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175452/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 ec87305f90d90096aac2a4d91e3f6556e2ecd6b9
baseline version:
 ovmf                 129404f6e4395008ac0045e7e627edbba2a1e064

Last test of basis   175448  2022-12-22 01:42:28 Z    0 days
Testing same since   175452  2022-12-22 07:10:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  KasimX Liu <kasimx.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   129404f6e4..ec87305f90  ec87305f90d90096aac2a4d91e3f6556e2ecd6b9 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 09:32:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 09:32:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468319.727385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Hvc-0006vQ-RN; Thu, 22 Dec 2022 09:31:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468319.727385; Thu, 22 Dec 2022 09:31:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Hvc-0006vJ-Oj; Thu, 22 Dec 2022 09:31:52 +0000
Received: by outflank-mailman (input) for mailman id 468319;
 Thu, 22 Dec 2022 09:31:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p8Hvb-0006vD-Hu
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 09:31:51 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8HvY-0007il-OV; Thu, 22 Dec 2022 09:31:48 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8HvY-0004Ke-F9; Thu, 22 Dec 2022 09:31:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=QGQrN1O7xS47CHUa4uUGh8c+JqFnaDHXyZLhVsFdlAI=; b=jBIBtslqKpyHda5uc80KK/txK/
	baO+9yx2HQvA4oDgqJ6k+DRQR4SBwdfxHh1oIAlHcABAV54yT55VvRirRowVGnYaVgbLi3r996VKe
	ieK+xqbEDsg3IMP1CNnfnhPfirYbjD0o9+368CdS2hu7Jhdn9ueX+0JTC8UtyQlASOVs=;
Message-ID: <af62bf3c-1046-3ed2-8662-e79375fe4794@xen.org>
Date: Thu, 22 Dec 2022 09:31:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: "Smith, Jackson" <rsmith@riversideresearch.org>,
 "Brookes, Scott" <sbrookes@riversideresearch.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
 <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
 <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop>
 <7a7a7156-138d-a53c-fb65-a210e14bd8c1@xen.org>
 <BN0P110MB16429FF1A9FF3507A684C5B2CFEA9@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <Y6I3oqYdTKa/57I/@itl-email>
 <alpine.DEB.2.22.394.2212211639070.4079@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2212211639070.4079@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Stefano,

On 22/12/2022 00:53, Stefano Stabellini wrote:
> On Tue, 20 Dec 2022, Demi Marie Obenour wrote:
>> On Tue, Dec 20, 2022 at 10:17:24PM +0000, Smith, Jackson wrote:
>>>> Hi Stefano,
>>>>
>>>> On 16/12/2022 01:46, Stefano Stabellini wrote:
>>>>> On Thu, 15 Dec 2022, Julien Grall wrote:
>>>>>>>> On 13/12/2022 19:48, Smith, Jackson wrote:
>>>>>>> Yes, we are familiar with the "secret-free hypervisor" work. As
>>> you
>>>>>>> point out, both our work and the secret-free hypervisor remove the
>>>>>>> directmap region to mitigate the risk of leaking sensitive guest
>>>>>>> secrets. However, our work is slightly different because it
>>>>>>> additionally prevents attackers from tricking Xen into remapping a
>>>> guest.
>>>>>>
>>>>>> I understand your goal, but I don't think this is achieved (see
>>>>>> above). You would need an entity to prevent write to TTBR0_EL2 in
>>>>>> order to fully protect it.
>>>>>
>>>>> Without a way to stop Xen from reading/writing TTBR0_EL2, we
>>>> cannot
>>>>> claim that the guest's secrets are 100% safe.
>>>>>
>>>>> But the attacker would have to follow the sequence you outlines
>>>> above
>>>>> to change Xen's pagetables and remap guest memory before
>>>> accessing it.
>>>>> It is an additional obstacle for attackers that want to steal other
>>>> guests'
>>>>> secrets. The size of the code that the attacker would need to inject
>>>>> in Xen would need to be bigger and more complex.
>>>>
>>>> Right, that's why I wrote with a bit more work. However, the nuance
>>>> you mention doesn't seem to be present in the cover letter:
>>>>
>>>> "This creates what we call "Software Enclaves", ensuring that an
>>>> adversary with arbitrary code execution in the hypervisor STILL cannot
>>>> read/write guest memory."
>>>>
>>>> So if the end goal if really to protect against *all* sort of
>>> arbitrary
>>>> code,
>>>> then I think we should have a rough idea how this will look like in
>>> Xen.
>>>>
>>>>   From a brief look, it doesn't look like it would be possible to
>>> prevent
>>>> modification to TTBR0_EL2 (even from EL3). We would need to
>>>> investigate if there are other bits in the architecture to help us.
>>>>
>>>>>
>>>>> Every little helps :-)
>>>>
>>>> I can see how making the life of the attacker more difficult is
>>>> appealing.
>>>> Yet, the goal needs to be clarified and the risk with the approach
>>>> acknowledged (see above).
>>>>
>>>
>>> You're right, we should have mentioned this weakness in our first email.
>>> Sorry about the oversight! This is definitely still a limitation that we
>>> have not yet overcome. However, we do think that the increase in
>>> attacker workload that you and Stefano are discussing could still be
>>> valuable to security conscious Xen users.
>>>
>>> It would nice to find additional architecture features that we can use
>>> to close this hole on arm, but there aren't any that stand out to me
>>> either.
>>>
>>> With this limitation in mind, what are the next steps we should take to
>>> support this feature for the xen community? Is this increase in attacker
>>> workload meaningful enough to justify the inclusion of VMF in Xen?
>>
>> Personally, I don’t think so.  The kinds of workloads VMF is usable
>> for (no hypercalls) are likely easily portable to other hypervisors,
>> including formally verified microkernels such as seL4 that provide...
> 
> What other hypervisors might or might not do should not be a factor in
> this discussion and it would be best to leave it aside.

To be honest, Demi has a point. At the moment, VMF is a very niche 
use-case (see more below). So you would end up to use less than 10% of 
the normal Xen on Arm code. A lot of people will likely wonder why using 
Xen in this case?

> 
>  From an AMD/Xilinx point of view, most of our customers using Xen in
> productions today don't use any hypercalls in one or more of their VMs.
This suggests a mix of guests are running (some using hypercalls and 
other not). It would not be possible if you were using VMF.

> Xen is great for these use-cases and it is rather common in embedded.
> It is certainly a different configuration from what most are come to
> expect from Xen on the server/desktop x86 side. There is no question
> that guests without hypercalls are important for Xen on ARM. >
> As a Xen community we have a long history and strong interest in making
> Xen more secure and also, more recently, safer (in the ISO 26262
> safety-certification sense). The VMF work is very well aligned with both
> of these efforts and any additional burder to attackers is certainly
> good for Xen.

I agree that we have a strong focus on making Xen more secure. However, 
we also need to look at the use cases for it. As it stands, there will no:
   - IOREQ use (don't think about emulating TPM)
   - GICv3 ITS
   - stage-1 SMMUv3
   - decoding of instructions when there is no syndrome
   - hypercalls (including event channels)
   - dom0

That's a lot of Xen features that can't be used. Effectively you will 
make Xen more "secure" for a very few users.

> 
> Now the question is what changes are necessary and how to make them to
> the codebase. And if it turns out that some of the changes are not
> applicable or too complex to accept, the decision will be made purely
> from a code maintenance point of view and will have nothing to do with
> VMs making no hypercalls being unimportant (i.e. if we don't accept one
> or more patches is not going to have anything to do with the use-case
> being unimportant or what other hypervisors might or might not do).
I disagree, I think this is also about use cases. On the paper VMF look 
very great, but so far it still has a big flaw (the TTBR can be changed) 
and it would restrict a lot what you can do.

To me, if you can't secure the TTBR, then there are other way to improve 
the security of Xen for the same setup and more.

The biggest attack surface of Xen on Arm today are the hypercalls. So if 
you remove hypercalls access to the guest (or even compile out), then 
there is a lot less chance for an attacker to compromise Xen.

This is not exactly the same guarantee as VMF. But as I wrote before, if 
the attacker has access to Xen, then you are already doomed because you 
have to assume they can switch the TTBR.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 09:35:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 09:35:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468326.727396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Hyt-0007XH-9v; Thu, 22 Dec 2022 09:35:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468326.727396; Thu, 22 Dec 2022 09:35:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Hyt-0007XA-6z; Thu, 22 Dec 2022 09:35:15 +0000
Received: by outflank-mailman (input) for mailman id 468326;
 Thu, 22 Dec 2022 09:35:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8Hyr-0007X0-QH
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 09:35:13 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2088.outbound.protection.outlook.com [40.107.21.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eeaf17f9-81db-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 10:35:12 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS8PR04MB7815.eurprd04.prod.outlook.com (2603:10a6:20b:28a::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.6; Thu, 22 Dec
 2022 09:35:10 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 09:35:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eeaf17f9-81db-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TAH7Zl051i+weEJzPIS7tXC/cod9WM91RcjVeqfHQlTPkdXVA954CFgN9acLseCo7EWpO+YCp1D5nq7fqxEvbykdIgntfXpuDslgGzFsFZ+EbIVHxTQKXese15JTTjdzNRntMsuQc5CVTitxJRKTBe7TqgXGOmwxpcPVSaBHCzTRX3zXu0nGTG5X29EZIM3yEZG8KUjiaUyqSP6ZwJtYPdtEe6y5o2X4MwFzMdW7ywnV4zD6gEyopgwjRiX2LJxlPfJMFTVm2ne8JLSdBUSn0Frj2Hh0tRaJDKP1VeCgVN8BjLirTm99ZDeSrjHlAhpBkFwsYa5FJk9hyKMi3afBwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nmu9w9IAkIiFH7rlxqiKkWTppf6yqvQZiccCxmvvVFU=;
 b=iH+Xq3BcaJR+MP5QDtM2zXqWQqtWU7d32teAua7PhrbGuFVv0wWpze6nK3bIK34/C/zWEoCBTlxHS0LoV9QZxQWV0gGsjWgC1e6mnMb/lk7u29O3qOwHsgvBDFuOou95jxrPBA3sxAMd2EaSussFvy4d5jEybQToZStHRr4P1o+cnz+FKgwT0LMWsqdJ0A9Jz1ZByRje6A5okdu5awUrKBgrABIX7Llo/grikDQgwttlMX8k90K4tAEk0XWL6OoyyOlULkXT0T8HDkGwonV3a3U2RwevSDxepr0DNoi4JqSOawGC5w519ie3G9l6wnhm5H5wnohp0+PxvlB9mFK1Cw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nmu9w9IAkIiFH7rlxqiKkWTppf6yqvQZiccCxmvvVFU=;
 b=As2MJQ4vj6vaGjaKpaaxQmBPXSVSjxvWC0iN3Ml+s5Qu8ausj30z4gBGuwG1bA3/V6LlPfQdqDYwdSAn2xXFZn7L5cYLX0oITAnnGbtceGFPlNVwbfg4VnNFUSY8XwHwfXqCl9PDH2IuNla9lkZXxcVCd6sgX3IDjT2DXURJ+h0C8f5XmVOFn5yM3f+rPrQtVVnG/p7I/S8inOnidSOWK8P1KdRBWTjahWW5hvyD3l/Cvs5wazBiQaeN7d7RDBDj1mTYG1OLzyZRRFRCGRZ2zu0t29VoORsFvvjBRuLvgL82/4R9KTuQ8Szhl5DRyUBaaiA6X7fzcRWiMFUjWyTw3g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <06dff83a-b120-a2b4-c61f-7864935d4c3e@suse.com>
Date: Thu, 22 Dec 2022 10:35:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v5 08/10] x86/mm: make code robust to future PAT changes
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <a8920eef3254cbf470a0d35a887dbaf0e4907a6d.1671497984.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a8920eef3254cbf470a0d35a887dbaf0e4907a6d.1671497984.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::13) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AS8PR04MB7815:EE_
X-MS-Office365-Filtering-Correlation-Id: 58d0771b-13ce-4387-48cd-08dae3ffd1fe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	utgmbBjJJjnr3dE50RSG2JK9iMkpBWGWgerapqfdXK2JgvGlUWpn0j/yB9uO5pyrRRNe0b7QaftKLYGXh1vf9+HfJ0LFtAy3m0/Xtut3B09+GqiKjTDa87LKzhaIDRwGcBzsEddo0UfXahHkMHTFXK/DXExBYCAXuR+6JRnXBsC6BP+nYKGlj4AD6G1Os7VjdcEuV3BxlDFPxjoD55anC9QaoGI76IQONYppdn5k/f5UXf5x4vpagjaG+/8B8j87NxrJm7GRApUMfS5xR+YDE40o8p61VH6jNnSRIfUPCFFFegG/hwQjTWnsp6jJJYAUR+hH/xFw5L4asmFZSlgn5uJTtScvIVuZiwNWWLuX0R8VDQfqC7gVA1+MvLFJ2ZqwJqnQlWx18Uj6KPRCUe5Z046/6fSt21crecqDfVuG3W7ifsXld+egBwF0HtQB2dQocq2qqbg5V+xGhqlB27xLHz62D7XPDWc6tjwg5v0UeMtUacjZPO0SPrUgGthVdUQcOTCHX8aHdNqebqAlNxWwzN4zcYzKiiPs5CscWzYvhX8DoFqYK/xiuKiADTJUwodchEZhDSXXgIXeNJAfLM+TVuNYZC5lKAx2VcydxC6U35MAPjyQ5ORp9TaYgyMzeWMGA9mqmOLixAGZTJNoQa/zEiaDKrd87hWSG1MRtb4EzeFGrs4OV3knRKBkCZ5oZJcCbIEDrwLuOTS3y2VU0XqZ8HP12ktlCzz99psXrMxLRUc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(376002)(396003)(366004)(346002)(39860400002)(451199015)(31696002)(83380400001)(86362001)(38100700002)(2906002)(7416002)(41300700001)(5660300002)(8936002)(4326008)(6486002)(6506007)(478600001)(53546011)(2616005)(6512007)(26005)(66946007)(186003)(66476007)(54906003)(8676002)(6916009)(316002)(66556008)(31686004)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a2JPdXJlTzBmNFhoQ0gzM3ltV3lVaEtNSEUxU0ZhbFZ4T0lYekFtdTJwTCt1?=
 =?utf-8?B?cFRGaVJjOTBjck4vSklBOEdXSC9hVXNIL0J4Sk1pbUorOS9mRm1Hck50YVJQ?=
 =?utf-8?B?amlSZlpodlBQVysxdW9XRjFzMzQzZ2VMUDVkRWFZRDQ5Z0VZeE1xOWxJREpU?=
 =?utf-8?B?OE1XSjhNT0pJdUhjWTUxcUhVanZGUWpKaDdtTU01TE5jc2h5bFVUSk5Jazg2?=
 =?utf-8?B?YVBybG5zVVRlbmhxdDI4clc2c0tJbXUxckcxc01RaEY2eGhlazF3WEVaUk91?=
 =?utf-8?B?cElEamcxSStMY2VPTEVFUFh3bFdkRlo0SFlwb3BuRm9jL2JCbmF6WnM2OXhH?=
 =?utf-8?B?TGR3dy9wd3duQXNsVE5xVmdWc0h3V1ZDOUJLbHNCeDJzcFNtQjExMW9lakZh?=
 =?utf-8?B?ZHlsY3ZpMTRoMzNIQzNFWlprYS9PREVOdVRzMEpueC9LY2E1M2Q0KzNGVDNi?=
 =?utf-8?B?MkFMbEd2Tm43cmwzTGdnQkswajdkam8vaUlqTHkzNXFjUmpBMEFud3RKTXJM?=
 =?utf-8?B?UlZ0V0hTWGxvU0xaRnkxeFIwSzEvZDBqVmtHZE5udWdIOGcyZ05ERE10cUw3?=
 =?utf-8?B?dHQ3NlJWT2dsbU1qVGV1Z29xb1V5VTJYUHo0UXdLemZmSGdtQ3MrdFM2MU53?=
 =?utf-8?B?NkdlRU50TlUxN2UzNmhiT3lGOGFUOXpxczV0WkRYWFZwR1lHMmh5WVU5Y0la?=
 =?utf-8?B?d1ZOSXMzTnJGOTR6NDlMSHkrODRoY1g1Nk5UMGN3YkFLdFFlL1g3NWFpL2dr?=
 =?utf-8?B?Sjh2V1NxK3BoakF6VGlSOHkvVEoyeXpXbk1ZN2FIWTVlTmwvVUJqZjFHc2J3?=
 =?utf-8?B?aVZpbm01Ny9tTmpucWZ1TENYKzVybHdzU2xWM09vQWZkVUVXTHVqZ2lBOVo1?=
 =?utf-8?B?eVRLWEs5TzlSMWxGSHI0T3ovcFRyS3l5aFZPVDhOeDNPRHpJMkJTRXZEUUNN?=
 =?utf-8?B?SlZ1R1ozckZ3SkhYeEZGa05lcVNZNVZQOFlLLzFJb3RwREplYndndW9RNCtv?=
 =?utf-8?B?aUxkMXF6dUtSSUNBbnZoMStobW9LOENwTFU4RTRYVzNaSEdkM2VWNkloYWxU?=
 =?utf-8?B?NXBVWDI4OW1rRDhJc3hVZ1paWE84UjczSjA1MXZlaW00SnNKTHFWQlp1bjhQ?=
 =?utf-8?B?aE95TjYrK3BhYmkrZFgyMTEyWUFqQWVnUlYzUll2TWpMQi92aHNDRnhWVWhO?=
 =?utf-8?B?M3VjSVJaaWQ2N0pleDVuVGZKRWJjKytQeDFQcElkZTFrM2x6dFFuWmt0QlZ3?=
 =?utf-8?B?VlFZb2lTRFpkNlMvZ0lFZVBkc1FiUHVLVFdXV3JYR05mSWFUaUI1UlpTbWJV?=
 =?utf-8?B?emVjN2ZqMHRPeEJyc1EzWldpYWpMNm5ER21keG1qcVlGMUVLVEVuTE9VUXk1?=
 =?utf-8?B?ZmVtbnZxU09RRFNHeFViVHNrSnRUa1ZsUkhOakMzYUhubkYxVDlBTUhEc1lp?=
 =?utf-8?B?VVFOdys4aDg4YjNoZVhOci85QS85ZHl5blY2d2hqdzhMZ3lHclZwc2J5U1dv?=
 =?utf-8?B?Rmk4cms2eFFaVXBIVGd2Qlo1eHVYNFBhaUNJOTk4MElnYjF5c2lSVHVacVV5?=
 =?utf-8?B?SjBNVHowMWlHdU0zV2U0TXpzUFRNdStTc2s2dkRDalpXUzEzOFhvU1dpVVlp?=
 =?utf-8?B?a3UxNTVXNVRKT0JaOWJvVDNxRUFBekxXL3dLQjN1VmdFTElUWVlrZzZaRkR4?=
 =?utf-8?B?RFYrZFJOeFhrY2JuanJONjhmNGZ6V0toK1NxQXVyZSsxYXJlaUVoMzZCSzdk?=
 =?utf-8?B?LzRzYXlEU2RZQ3hlS1dCZXZ0MHpKcUFjclYzQXVDakdpRXpabzhJUGo5cXRE?=
 =?utf-8?B?Z0FvbGxYbEVaU3VjVXhSalZrYjhiTEhrQUdhMkVxUFJodFpMTlBSTGZGTENB?=
 =?utf-8?B?eTllWGdLYXdIODZBbENoa1NWbVVyVmovbWx6QW1NZTU0RWhVekRkWVpMVExm?=
 =?utf-8?B?SUpObkNxdzYzeVdXM2hQTTFPL3ZQalo3Y2FwZDZadFNIbk0weCtlaitmeHJp?=
 =?utf-8?B?ZE9NbTZEaG5Ob2VvMU9WckxscWRNSWVBU0tvUE5NOGxpbmNjUmJYUzUrSGNS?=
 =?utf-8?B?TWx1L0RGMGIyYmdicktGUWxnaVFhT2N0SG5tQlVRMTNOTmI2aW9ISGVTMWJE?=
 =?utf-8?Q?P+T42s+uFgo5z5f08mZxkuGIw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 58d0771b-13ce-4387-48cd-08dae3ffd1fe
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 09:35:10.6552
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qxc+CCOROnIj/dpnlcSYiP30vA+l/850dmExTkdJo+2yo+E4dVcQpusuf7Rg9v9a9sbuStZV5oUvoehIBoAp9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7815

On 20.12.2022 02:07, Demi Marie Obenour wrote:
> It may be desirable to change Xen's PAT for various reasons.  This
> requires changes to several _PAGE_* macros as well.  Add static
> assertions to check that XEN_MSR_PAT is consistent with the _PAGE_*
> macros, and that _PAGE_WB is 0 as required by Linux.

In line with the code comment, perhaps add (not just)"?

> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -6352,6 +6352,11 @@ unsigned long get_upper_mfn_bound(void)
>      return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1;
>  }
>  
> +
> +/*
> + * A bunch of static assertions to check that the XEN_MSR_PAT is valid
> + * and consistent with the _PAGE_* macros, and that _PAGE_WB is zero.
> + */
>  static void __init __maybe_unused build_assertions(void)
>  {
>      /*
> @@ -6361,6 +6366,72 @@ static void __init __maybe_unused build_assertions(void)
>       * using different PATs will not work.
>       */
>      BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL);
> +
> +    /*
> +     * _PAGE_WB must be zero for several reasons, not least because Linux
> +     * assumes it.
> +     */
> +    BUILD_BUG_ON(_PAGE_WB);

Strictly speaking this is a requirement only for PV guests. We may not
want to go as far as putting "#ifdef CONFIG_PV" around it, but at least
the code comment (and then also the part of the description referring
to this) will imo want to say so.

> +    /* A macro to convert from cache attributes to actual cacheability */
> +#define PAT_ENTRY(v) (0xFF & (XEN_MSR_PAT >> (8 * (v))))

I don't think the comment is appropriate here. All you do is extract a
slot from the hard-coded PAT value we use.

> +    /* Validate at compile-time that v is a valid value for a PAT entry */
> +#define CHECK_PAT_ENTRY_VALUE(v)                                               \
> +    BUILD_BUG_ON((v) < 0 || (v) > 7 ||                                         \

PAT_ENTRY() won't produce negative values, so I don't think "(v) < 0" is
really needed here. And the "(v) > 7" will imo want replacing by
"(v) >= X86_NUM_MT".

> +                 (v) == X86_MT_RSVD_2 || (v) == X86_MT_RSVD_3)
> +
> +    /* Validate at compile-time that PAT entry v is valid */
> +#define CHECK_PAT_ENTRY(v) do {                                                \
> +    BUILD_BUG_ON((v) < 0 || (v) > 7);                                          \

I think this would better be part of PAT_ENTRY(), as the validity of the
shift there depends on it. If this check is needed in the first place,
seeing that the macro is #undef-ed right after use below, and hence the
checks only cover the eight invocations of the macro right here.

> +    CHECK_PAT_ENTRY_VALUE(PAT_ENTRY(v));                                       \
> +} while (0);

Nit (style): Missing blanks around 0 and perhaps better nowadays to use
"false" in such constructs. (Because of other comments this may go away
here anyway, but there's another similar instance below).

> +    /*
> +     * If one of these trips, the corresponding entry in XEN_MSR_PAT is invalid.
> +     * This would cause Xen to crash (with #GP) at startup.
> +     */
> +    CHECK_PAT_ENTRY(0);
> +    CHECK_PAT_ENTRY(1);
> +    CHECK_PAT_ENTRY(2);
> +    CHECK_PAT_ENTRY(3);
> +    CHECK_PAT_ENTRY(4);
> +    CHECK_PAT_ENTRY(5);
> +    CHECK_PAT_ENTRY(6);
> +    CHECK_PAT_ENTRY(7);
> +
> +#undef CHECK_PAT_ENTRY
> +#undef CHECK_PAT_ENTRY_VALUE
> +
> +    /* Macro version of page_flags_to_cacheattr(), for use in BUILD_BUG_ON()s */

DYM pte_flags_to_cacheattr()? At which point the macro name wants to
match and its parameter may also better be named "pte_value"?

> +#define PAGE_FLAGS_TO_CACHEATTR(page_value)                                    \
> +    ((((page_value) >> 5) & 4) | (((page_value) >> 3) & 3))

Hmm, yet more uses of magic literal numbers.

> +    /* Check that a PAT-related _PAGE_* macro is correct */
> +#define CHECK_PAGE_VALUE(page_value) do {                                      \
> +    /* Check that the _PAGE_* macros only use bits from PAGE_CACHE_ATTRS */    \
> +    BUILD_BUG_ON(((_PAGE_##page_value) & PAGE_CACHE_ATTRS) !=                  \
> +                  (_PAGE_##page_value));                                       \

Nit (style): One too many blanks used for indentation.

> +    /* Check that the _PAGE_* are consistent with XEN_MSR_PAT */               \
> +    BUILD_BUG_ON(PAT_ENTRY(PAGE_FLAGS_TO_CACHEATTR(_PAGE_##page_value)) !=     \
> +                 (X86_MT_##page_value));                                       \

Nit (style): Nowadays we tend to consider ## a binary operator just like
e.g. +, and hence it wants to be surrounded by blanks.

> +} while (0)
> +
> +    /*
> +     * If one of these trips, the corresponding _PAGE_* macro is inconsistent
> +     * with XEN_MSR_PAT.  This would cause Xen to use incorrect cacheability
> +     * flags, with results that are undefined and probably harmful.

Why "undefined"? They may be wrong / broken, but the result is still well-
defined afaict.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 09:42:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 09:42:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468335.727407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8I5p-0000bV-6A; Thu, 22 Dec 2022 09:42:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468335.727407; Thu, 22 Dec 2022 09:42:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8I5p-0000bO-2n; Thu, 22 Dec 2022 09:42:25 +0000
Received: by outflank-mailman (input) for mailman id 468335;
 Thu, 22 Dec 2022 09:42:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8I5n-0000bE-VX; Thu, 22 Dec 2022 09:42:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8I5n-0007uK-Sy; Thu, 22 Dec 2022 09:42:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8I5n-0006mO-Cx; Thu, 22 Dec 2022 09:42:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8I5n-0002oL-CT; Thu, 22 Dec 2022 09:42:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5bFDeJtqvp2Duau0dsrcZJjvDN3ASoD6j3KyxCZ/MGc=; b=BBwgeOELeWkVLIn2tNDCDE0tpD
	e3CLtNMPJrJUG0ujPkCmUaFILJwj6KRO6wylH+zx4XHTTSuhBL93t9vCm/x0iiks6acZvvE5jsDVC
	+dM5Od/20GeB5b3Kp7F/KpAw+ecprJ/GGo8xOEpGUHZnNbvU7YcZgzkeywmmuasRuQlk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175442-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 175442: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:host-install(5):broken:regression
    xen-4.16-testing:test-amd64-i386-xl-xsm:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-freebsd10-amd64:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-xl-vhd:<job status>:broken:regression
    xen-4.16-testing:test-amd64-i386-xl-vhd:host-install(5):broken:heisenbug
    xen-4.16-testing:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:heisenbug
    xen-4.16-testing:test-amd64-i386-xl-xsm:host-install(5):broken:heisenbug
    xen-4.16-testing:test-amd64-i386-freebsd10-amd64:host-install(5):broken:heisenbug
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ovmf-amd64:host-install(5):broken:heisenbug
    xen-4.16-testing:test-amd64-i386-livepatch:xen-install:fail:heisenbug
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:debian-di-install:fail:heisenbug
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=65bf12135f618614bbf44626fba1c20ca8d1a127
X-Osstest-Versions-That:
    xen=03a43f548e9095448db72c829db575097910f84f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 09:42:23 +0000

flight 175442 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175442/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm    <job status>             broken
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 5 host-install(5) broken REGR. vs. 175155
 test-amd64-i386-xl-xsm          <job status>                 broken  in 175427
 test-amd64-i386-freebsd10-amd64    <job status>               broken in 175427
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm <job status> broken in 175427
 test-amd64-i386-xl-qemuu-ovmf-amd64    <job status>           broken in 175427
 test-amd64-i386-xl-vhd          <job status>                 broken  in 175427

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-vhd       5 host-install(5) broken in 175427 pass in 175442
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken in 175427 pass in 175442
 test-amd64-i386-xl-xsm       5 host-install(5) broken in 175427 pass in 175442
 test-amd64-i386-freebsd10-amd64 5 host-install(5) broken in 175427 pass in 175442
 test-amd64-i386-xl-qemuu-ovmf-amd64 5 host-install(5) broken in 175427 pass in 175442
 test-amd64-i386-livepatch     7 xen-install      fail in 175427 pass in 175442
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175427
 test-arm64-arm64-libvirt-raw 12 debian-di-install          fail pass in 175427

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw 14 migrate-support-check fail in 175427 never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check fail in 175427 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175155
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175155
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175155
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175155
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175155
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175155
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175155
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175155
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175155
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  65bf12135f618614bbf44626fba1c20ca8d1a127
baseline version:
 xen                  03a43f548e9095448db72c829db575097910f84f

Last test of basis   175155  2022-12-12 16:08:43 Z    9 days
Failing since        175403  2022-12-19 08:37:45 Z    3 days    4 attempts
Testing same since   175427  2022-12-20 15:35:42 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Neowutran <xen@neowutran.ovh>
  Per Bilse <per.bilse@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  broken  
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-xl-qemut-debianhvm-i386-xsm broken
broken-step test-amd64-i386-xl-qemut-debianhvm-i386-xsm host-install(5)
broken-job test-amd64-i386-xl-xsm broken
broken-job test-amd64-i386-freebsd10-amd64 broken
broken-job test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm broken
broken-job test-amd64-i386-xl-qemuu-ovmf-amd64 broken
broken-job test-amd64-i386-xl-qemut-debianhvm-i386-xsm broken
broken-job test-amd64-i386-xl-vhd broken

Not pushing.

------------------------------------------------------------
commit 65bf12135f618614bbf44626fba1c20ca8d1a127
Author: Neowutran <xen@neowutran.ovh>
Date:   Tue Dec 20 13:51:42 2022 +0100

    x86/time: prevent overflow with high frequency TSCs
    
    Make sure tsc_khz is promoted to a 64-bit type before multiplying by
    1000 to avoid an 'overflow before widen' bug. Otherwise just above
    4.294GHz the value will overflow. Processors with clocks this high are
    now in production and require this to work correctly.
    
    Signed-off-by: Neowutran <xen@neowutran.ovh>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    master commit: ad15a0a8ca2515d8ac58edfc0bc1d3719219cb77
    master date: 2022-12-19 11:34:16 +0100

commit f2edbd79f5d5ce3b633885469852e1215dc0d4b5
Author: Per Bilse <per.bilse@citrix.com>
Date:   Tue Dec 20 13:50:47 2022 +0100

    ioreq_broadcast(): accept partial broadcast success
    
    Avoid incorrectly triggering an error when a broadcast buffered ioreq
    is not handled by all registered clients, as long as the failure is
    strictly because the client doesn't handle buffered ioreqs.
    
    Signed-off-by: Per Bilse <per.bilse@citrix.com>
    Reviewed-by: Paul Durrant <paul@xen.org>
    master commit: a44734df6c24fadbdb001f051cc5580c467caf7d
    master date: 2022-12-07 12:17:30 +0100

commit e3396cd8be5ee99d363a23f30c680e42fb2757bd
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Dec 20 13:50:16 2022 +0100

    update Xen version to 4.16.4-pre

commit 556c2e817c9cf23b675eb4eaa2dc091f7bb3039f
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Dec 19 09:08:32 2022 +0100

    update Xen version to 4.16.3
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 09:48:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 09:48:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468345.727418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IBN-0001HK-Py; Thu, 22 Dec 2022 09:48:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468345.727418; Thu, 22 Dec 2022 09:48:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IBN-0001HD-NF; Thu, 22 Dec 2022 09:48:09 +0000
Received: by outflank-mailman (input) for mailman id 468345;
 Thu, 22 Dec 2022 09:48:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8IBM-0001H7-Vr
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 09:48:09 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2040.outbound.protection.outlook.com [40.107.21.40])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb7926de-81dd-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 10:48:05 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AM8PR04MB8001.eurprd04.prod.outlook.com (2603:10a6:20b:24f::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec
 2022 09:48:04 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 09:48:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb7926de-81dd-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QzR6vkq/IXCtQhuFKYg4uzUyQtwyAbW3JUHFdf/BILj63sy01qePoEGsH7raNsguEt0KhOeNqtT9qxrmZr/hVlcBuAF/wOPPybgD8epXsnODzt/spyNpPsdnruGt6GU/dcAUgij21CoiHIAMS4ARRx72HBsJoB2hzaqXyWRfNh3vuqZzFVslyy2whiiuAWWJ5BTYg1215ADREzzUKLVqRNEKXdzMmBaBwgQVwZqQpeY0/9c3nK5XCk9v3eZ9p6vZbBUqb7jb1N0ECtJztdVXbym1ZRFdFJQrFOH2tHG7VYetgI4ABNrdF/enpSHCl+2Ofp+0f7AzrnnklAWMFMQuHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J2Dnmj2ede293bKV9+YmA9k6BsZjsAX014k6k4a6u0A=;
 b=O8GYxMBWhkZjM9EFIwAM/NIzTHUj/lGCzHemAvLIcu9qOjMn9Ur5dWRph0qmlSb36nUFzT9dWDzXUeKS1PZww0Ms0rIYy9lAZNcSLaY8hQiGRDqaN1HEG7QFpq9GnNktPn+M/ObYJKO4Vgfihd/6zsIygAuyZhOzdVmFhfYfxD9BgOHQjdo2TG3AvxirE0ylChtjeFneZo4ERBvVTwjbV28GaXfSLjofId5ma3o0KkYSTx5O1NlTvJ/XehnyjRGbcvbG8vr+fnNagXTG8sffN4+No8l9Ii5UOWVrDwvia9e7PZQxoOXlMTmLabsgUi1UHqDgHvC9w6HhGXUC8YwH0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J2Dnmj2ede293bKV9+YmA9k6BsZjsAX014k6k4a6u0A=;
 b=OE4KITFd2T7DcdnjaWy/TViLlYN5Q8QGayJ4eON4tOobCP1C2LgT+7Y2vkDze3+P7Z6SMeZV9siK3NKYuAb2MSLeJFVFp81AFBaj7G2UOrxtMq2JsfSO9bwureRKTMIL6g5/hahH402TJXqFn7iB9nsJ0wuTPIrSApGYkwTYYQ6UH7Lwl4/c0uCXMszA7WuoShulI+iVOpau7TMFuYudiC4PrC8xH7fGFCZvOsPqqjqEXHjGryMmZ4gxW7mTCG+yXnKuj3HiLrxB6uGOsufiFYNWiRnmienheFtnqM4WBVLoe8Fk4tyAVmmir6gP8guZLpnZyoiuMYNo49PoGt++UQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a73a6829-5924-a98a-704b-c0111c16a3f1@suse.com>
Date: Thu, 22 Dec 2022 10:48:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v5 09/10] x86/mm: Reject invalid cacheability in PV guests
 by default
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <64d81a49e5e00527ae01b707080f6f0e14ee667c.1671497984.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <64d81a49e5e00527ae01b707080f6f0e14ee667c.1671497984.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0011.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::17) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AM8PR04MB8001:EE_
X-MS-Office365-Filtering-Correlation-Id: a56e8230-3ab9-4b7e-580e-08dae4019f06
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8+3X+x6jLRcRgdLRTrHxMvbLwzH4nXi1DvCfiHJTnpDFg2Dn0SMaPaSRkZhWggfaO01MH406FQbn9tkbZx7cxseYkYpJNj6kmToMkOjvAMlHLfOfq5oIXU2qS0ImXuYnP8yvMHd7i+6iq77PDXz9aOPWJ8/UT3DOoR69VLlCfIDEMbhCYW2G5/iMnDW8Z36zLw+LV37jfy62lDxoMYr8YbmMPqP5VzoCUZeNHHM9pqjJV6mQxaTWO6PQEnSpmZ22r2WZDwbDG3gjf3c8NB2IiZFkKTB5xEeqVasv+c5vkXQt/fDrhAUko5TUO1HgU42KLncVd956EWVRCpXbVK9+wDTI3qu/Cd+VMzvNdIDUWcSD+emjqmPhiFiEzdKOWtGSOpURQA8CJs1medFvhpeAWqdMwBvKDJf0+0dwt88o/kc74VIuUdP0910zFC2NKCwe96edkXwF5inOFCrSl2HNRmC5xQQivZjM/0I452rxGxwBlvDOztlWJTVC9/fcbBuiTc2lYckduzPU1ELWYOpV1bpdHboFEnfDfPlDY6sLq5GElIHplvChPxvVi47Cgu20RsdaCzGIproL1wyhWhJg/Y7BSUawXyrCjADmDCRL7/YVyz9tXouNA1qDsrsxhhdZaSm5Te/ZpGsIqsvyNiWMzwBechPXV+SzVw0aMk0rAwhw0SijSsBbMrenQKqWS6oe26+ukS9tJ815NUaK1SCcZVNRBwTMiq+pMv8ooM9Aetw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(136003)(346002)(376002)(366004)(396003)(451199015)(5660300002)(2906002)(8936002)(83380400001)(31686004)(6512007)(26005)(186003)(41300700001)(6486002)(36756003)(53546011)(6506007)(478600001)(316002)(66946007)(54906003)(8676002)(6916009)(2616005)(7416002)(4326008)(66556008)(66476007)(86362001)(38100700002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VzBRcUo2WmhVWlNtbXZVV1FaMHROTlVWOXp1MU9DNFJQK01nOEE4N1JUNlFn?=
 =?utf-8?B?d2lFbHk5SFhkZHpOdnRxMExkU2xjZ1RFc2ZtSjBGTG40dWxIY3ZqZHhOdDNt?=
 =?utf-8?B?Vnk0OWgvaGlsTTVLdFhuNEdRaTc0MkNQY3FXbmJZbVpCbFFqTnhjdW1wdVVr?=
 =?utf-8?B?endjYzU5TjVoLzIyN3JhaXloak1BMUlJNTNDUGlZbytnNWZuNjAyUmtmVlFr?=
 =?utf-8?B?R0JGZlVsTWs1NVJtR21iWUlNOWhMT240dlc5c29jT2JMT0JURWx2RkhSNEJk?=
 =?utf-8?B?VEc4cEMwbUtjbHhhbTBiNk5WK2FVRFpJRTlGenRtMUZRalhZbHZJK05QMW84?=
 =?utf-8?B?RkNsTHhLUitrVFhrc1dpQXl3dUNSZDhveWpOb1ZacjI0eWRCaXgwMzFWcmxK?=
 =?utf-8?B?TXZPdnFrSE8xK241Z0FYSjUzZ04rVXM3Y2YreGxBZEs2dXloSzVYMkFyQmk0?=
 =?utf-8?B?U0NSREVWZ1E0WXJTTlp2cUpuRnVyaDYyb3NBUDU3bXUvRWpjNWNaUWxMcFpW?=
 =?utf-8?B?QjlaS0tVWmhvLzRFaDk5eEJCM2VhNkNvSUFRMlRpQlprUCt5V2diUExEb25p?=
 =?utf-8?B?R281NmlxWkV3UFdOeDZVZ1M2eDJEL3V4T0x6aE5mVEtQSDJBMUttQW42SnRV?=
 =?utf-8?B?ZjFGL25DSm1zSEFnMHhNT3VjTmx3eUM5YngyeTYzcndjZ0VVdEl4cTJDV0pJ?=
 =?utf-8?B?TENiZXFZR1NqUFF4d2hZVWVLeU13QzNxbnJPWDlydDJCT1Zzc1JCcUgyMy9j?=
 =?utf-8?B?VnZ3ZUxQc3VycGc2dmQ1Uzc3RzlKekcvNC9PT2doMWUwRmhvVDFxaVRZQSt5?=
 =?utf-8?B?NG1teFBQRmNHYzJJU0pwajZDS2hwZ2tBT2J0TmZoeDBBVnVYMS8vZ0M2UHh1?=
 =?utf-8?B?ZTRRT1dqMjBDbHVueUk0UnRGRmxGMzRlSzJ3WDdSRGdoWE8zSFZ0VXd1OHZG?=
 =?utf-8?B?ZnQ2WUNCRkxwMkFvUTEveDVvRXp6a0NOcW15bFduZnhEajZ1VExqWWlPSHhV?=
 =?utf-8?B?Z0dHem9CQWtCU2ZUOGhaQTFvaXdKZXZPSDZWUnVoYS9meWNJRmQ4MG4rUDhO?=
 =?utf-8?B?K0wzd28zckovS1AvS2NKOENrdXpHa2ZQS2NrNk9rbG0rQlo2aDkzUm5BSmt2?=
 =?utf-8?B?di9IK01RRWRsZmFueHExT244NFlmTEZPZFhjZTFiU2NhSFJXNlRTZ2M0OXRF?=
 =?utf-8?B?OGxSeWVnRXlXc2xUbEFEOTl5ZTJqTHhOVjFwSEhKL24xOGw0Y0Z6U3VRb3JJ?=
 =?utf-8?B?SDc1aGJIUStIYzBNTlVnUXRGdCtTaFFVWmNaUmpJdHRSSUVDUURUdjJCQ0Fh?=
 =?utf-8?B?Q3JXQTYycGtnSmh2MHZCRGV3eFN2YVBVUWZ4TXJYTFJRVTROc2pueVV4RjQ0?=
 =?utf-8?B?ZWVKVWplaWlkN3pCZU1MMVMyUFdwMmQ3eWg5QXBZcWJFNnIwSHQvUDlJdHVB?=
 =?utf-8?B?c2dHSFJuSFdzVnloSUNPeGF2aktCQWJoaURaLzZrc3Q2bTloeWU4bjYxS09U?=
 =?utf-8?B?bld6MGF4amt3akRtT3RscmdzQnNvLzRBNVZFeWxuLzBuZU9iemxNeHhFekw5?=
 =?utf-8?B?VFFuQ1hHa2MxeThGZUpIUkM4NEg5bVFnZmdCL3FKY1J3YU1YNjhFNkdpRW9x?=
 =?utf-8?B?RkxuU1pEWTlYdmwyQ0N3dTB3cWg3aW5SMXd3UnZHcXc5Z3RyeVJNd04wR0VC?=
 =?utf-8?B?S09JS0VrSzhQS3FYcWhFK0lERzIzWXBBSE5zVEZVOG4yM212WGJRQVJaRXFo?=
 =?utf-8?B?SlNNaVNUeFBwd2d0QjRWalNUNkpuQVU3L3dhSXpodVE5d09OLzhJeXBxUFk2?=
 =?utf-8?B?UDlaNW9rckpKeWE5U2VDNER3MG40cUw3NDZpZllkYzhxWlRZRnlZVjU4WnN6?=
 =?utf-8?B?R0NsWmRSZ0ttTm9Wdm5oWFpxaGFCZ0pKMlp2Smw5ek9qcG8rSzBwVno1RElm?=
 =?utf-8?B?N3grR1RVcjE3QVJkVFdvdHVmc2FiS1ZDaHVadFVudndCbkRkR1NsUXNtcWVJ?=
 =?utf-8?B?eDMrajA5VkV1bjRMU2JlWGRkMjMxRDhDM1Nra2x5RUdJbWRSVjlsQmFnZlZZ?=
 =?utf-8?B?bHNwbzVMdmV5Nm9HaUY3bk5vendWNys3TWkrTFVUemJxTVAraGlveWpSMllQ?=
 =?utf-8?Q?paTs/ERN6Nx4Q+kjXuzawIGmP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a56e8230-3ab9-4b7e-580e-08dae4019f06
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 09:48:04.1533
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MK4cccHeCJCpf6avyULyBMYiokvrFcEF1f2ypSWvJ9HHG8AWcCHS5MMmkQA4hFurG/YeMICQktj7wzPvgESqHw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8001

On 20.12.2022 02:07, Demi Marie Obenour wrote:
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -145,6 +145,8 @@
>  
>  #ifdef CONFIG_PV
>  #include "pv/mm.h"
> +bool allow_invalid_cacheability;

static and __ro_after_init please (the former not the least with Misra
in mind).

> +boolean_param("allow_invalid_cacheability", allow_invalid_cacheability);
>  #endif

Any new command line option will need to come with an entry in
docs/misc/xen-command-line.pandoc. Furthermore we're trying to avoid
underscores in command line option names, when dashes serve the
purpose quite fine.

Also please add a blank line at least between #include and your
addition. Personally I would find it more natural if such a single-use
control was defined next to the place it is used, i.e. 

> @@ -1343,7 +1345,33 @@ static int promote_l1_table(struct page_info *page)
>          }
>          else
>          {

... here.

> -            switch ( ret = get_page_from_l1e(pl1e[i], d, d) )
> +            l1_pgentry_t l1e = pl1e[i];
> +
> +            if ( !allow_invalid_cacheability )
> +            {
> +                switch ( l1e.l1 & PAGE_CACHE_ATTRS )
> +                {
> +                case _PAGE_WB:
> +                case _PAGE_UC:
> +                case _PAGE_UCM:
> +                case _PAGE_WC:
> +                case _PAGE_WT:
> +                case _PAGE_WP:
> +                    break;
> +                default:

Nit (style): Blank line please between non-fall-through case blocks.

> +                    /*
> +                     * If we get here, a PV guest tried to use one of the
> +                     * reserved values in Xen's PAT.  This indicates a bug in
> +                     * the guest, so inject #GP to cause the guest to log a
> +                     * stack trace.
> +                     */

And likely make it die. Which, yes, ...

> +                    pv_inject_hw_exception(TRAP_gp_fault, 0);
> +                    ret = -EINVAL;

... also may or may not be the result of returning failure here (if the
guest "checks" for errors by using a BUG()-like construct), but that's
then more of its own fault than not coping with a non-architectural #GP.

Also wasn't there talk of having this behavior in debug hypervisors
only? Without that restriction I'm yet less happy with the change ...

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 09:50:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 09:50:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468354.727428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IE2-0002iF-BM; Thu, 22 Dec 2022 09:50:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468354.727428; Thu, 22 Dec 2022 09:50:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IE2-0002i8-8i; Thu, 22 Dec 2022 09:50:54 +0000
Received: by outflank-mailman (input) for mailman id 468354;
 Thu, 22 Dec 2022 09:50:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s9VX=4U=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p8IE0-0002i2-O1
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 09:50:52 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1dafd2cc-81de-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 10:50:51 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 22CB8320092F;
 Thu, 22 Dec 2022 04:50:48 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Thu, 22 Dec 2022 04:50:48 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 22 Dec 2022 04:50:46 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1dafd2cc-81de-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm2; t=1671702647; x=
	1671789047; bh=ngdDRXnKaFXjnVTp24diWAqAjMSAS+n6u4dJT1Ftod4=; b=y
	OXGAMMbHy8SyBQa4hfQjXzMPUq9uDIGVDT9GqdQcuiSeIzo9oV41cNLgdBCD4Ij8
	du+FGZmWyrNQDJnfEOzLzdJawEYzVhNoFpKAhzILiz50GT6+9EOmuC/5FWmyMOMm
	OuZD2fBp2xlT+dNptcYmcevVRZ2ehFlNenrPNKxwpjWSLnDDoyAxmhDBz7M0Ly/K
	qlKef7F+S6HulvkeDTPnJr4RmHl7DjZ6la7C8OQmD4MhAEcThvNrJ9FZbUwjfPXg
	+Dn84FjBEmRHvxUCcvWUKRhOK7h1MLV/r6p+0rHmNhYOS16v4GRjy6O+O8pCGxZV
	UOWI3HV4T9X27mGCBJUXg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671702647; x=1671789047; bh=ngdDRXnKaFXjnVTp24diWAqAjMSA
	S+n6u4dJT1Ftod4=; b=oMh38cQtF7pMQa96RHqXOBXM95yDySCrBx4+04m+OuHH
	pMsThk6345k3c92/3ZUpJcdnrbv38vFvYqWx/9WX80Ithm+vhXqI2a4uA0c8jB1O
	VpdyVs7VpNuLzPP+jXRtIrmiANzwV3cm76ZUPqkeP+qPX38ZBkmG53MZZotwCLp+
	gMbuGRnr5UALt/cNJF70Mp5tZBvoTYg6IBaQt48ok+9xye5CK0evfQB7DzLYubkU
	PS2Jv31EuV0Y3unxqaYOEPlLtt4V2csCBZ5oWd7+4GDt5/dLfciZluKVZbEQ1l+Y
	bCSngt6rR4fmXFge4IxywvHvE2I2/CxLcCRgkbFyQA==
X-ME-Sender: <xms:dyikY8DcJxeWk07p38gRa84wBf99CNhTQAkUrmV8zEVCB6BjdakWdg>
    <xme:dyikY-iZQ_XyiL6jQI8UYFcxcJ1LtFWbvOlMWxvgaFaQZSQjWE0wWYLyBjYz5bDfO
    6Yo4uqMGLGWd7E>
X-ME-Received: <xmr:dyikY_lPTzOf5eQxWW2Q7pNtjIrae8levSqEqgUJggMLztruY3_uLSFnAuti>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrhedtgddtkecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffegfffg
    uddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:dyikYywvDgePuRkxvxawiM4LCBKyHB-S9n50egTWL8sZptgaBtI5sQ>
    <xmx:dyikYxRiP6DToeopE07OkeJFz7nmmwntB4qnfLlhLqS8VoKs6agLwA>
    <xmx:dyikY9ZWcXBzk2Ey2aPNoa-qEAAnNDYboYdHSoLQaiO7EMHuaaFrcQ>
    <xmx:dyikYyRu53ysYg8vlWwuKNEhlL_es6fCFZr0kwU1QUKACMMvutGqzQ>
Feedback-ID: iac594737:Fastmail
Date: Thu, 22 Dec 2022 04:50:41 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 08/10] x86/mm: make code robust to future PAT changes
Message-ID: <Y6QodBfEc828o988@itl-email>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <a8920eef3254cbf470a0d35a887dbaf0e4907a6d.1671497984.git.demi@invisiblethingslab.com>
 <06dff83a-b120-a2b4-c61f-7864935d4c3e@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="nYhzebOp/rqxkOaF"
Content-Disposition: inline
In-Reply-To: <06dff83a-b120-a2b4-c61f-7864935d4c3e@suse.com>


--nYhzebOp/rqxkOaF
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 22 Dec 2022 04:50:41 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 08/10] x86/mm: make code robust to future PAT changes

On Thu, Dec 22, 2022 at 10:35:08AM +0100, Jan Beulich wrote:
> On 20.12.2022 02:07, Demi Marie Obenour wrote:
> > It may be desirable to change Xen's PAT for various reasons.  This
> > requires changes to several _PAGE_* macros as well.  Add static
> > assertions to check that XEN_MSR_PAT is consistent with the _PAGE_*
> > macros, and that _PAGE_WB is 0 as required by Linux.
>=20
> In line with the code comment, perhaps add (not just)"?

Will reword in v6.

> > --- a/xen/arch/x86/mm.c
> > +++ b/xen/arch/x86/mm.c
> > @@ -6352,6 +6352,11 @@ unsigned long get_upper_mfn_bound(void)
> >      return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1;
> >  }
> > =20
> > +
> > +/*
> > + * A bunch of static assertions to check that the XEN_MSR_PAT is valid
> > + * and consistent with the _PAGE_* macros, and that _PAGE_WB is zero.
> > + */
> >  static void __init __maybe_unused build_assertions(void)
> >  {
> >      /*
> > @@ -6361,6 +6366,72 @@ static void __init __maybe_unused build_assertio=
ns(void)
> >       * using different PATs will not work.
> >       */
> >      BUILD_BUG_ON(XEN_MSR_PAT !=3D 0x050100070406ULL);
> > +
> > +    /*
> > +     * _PAGE_WB must be zero for several reasons, not least because Li=
nux
> > +     * assumes it.
> > +     */
> > +    BUILD_BUG_ON(_PAGE_WB);
>=20
> Strictly speaking this is a requirement only for PV guests. We may not
> want to go as far as putting "#ifdef CONFIG_PV" around it, but at least
> the code comment (and then also the part of the description referring
> to this) will imo want to say so.

Does Xen itself depend on this?

> > +    /* A macro to convert from cache attributes to actual cacheability=
 */
> > +#define PAT_ENTRY(v) (0xFF & (XEN_MSR_PAT >> (8 * (v))))
>=20
> I don't think the comment is appropriate here. All you do is extract a
> slot from the hard-coded PAT value we use.

Will drop in v6.

> > +    /* Validate at compile-time that v is a valid value for a PAT entr=
y */
> > +#define CHECK_PAT_ENTRY_VALUE(v)                                      =
         \
> > +    BUILD_BUG_ON((v) < 0 || (v) > 7 ||                                =
         \
>=20
> PAT_ENTRY() won't produce negative values, so I don't think "(v) < 0" is
> really needed here. And the "(v) > 7" will imo want replacing by
> "(v) >=3D X86_NUM_MT".

Will fix in v6.

> > +                 (v) =3D=3D X86_MT_RSVD_2 || (v) =3D=3D X86_MT_RSVD_3)
> > +
> > +    /* Validate at compile-time that PAT entry v is valid */
> > +#define CHECK_PAT_ENTRY(v) do {                                       =
         \
> > +    BUILD_BUG_ON((v) < 0 || (v) > 7);                                 =
         \
>=20
> I think this would better be part of PAT_ENTRY(), as the validity of the
> shift there depends on it. If this check is needed in the first place,
> seeing that the macro is #undef-ed right after use below, and hence the
> checks only cover the eight invocations of the macro right here.
>=20
> > +    CHECK_PAT_ENTRY_VALUE(PAT_ENTRY(v));                              =
         \
> > +} while (0);
>=20
> Nit (style): Missing blanks around 0 and perhaps better nowadays to use
> "false" in such constructs. (Because of other comments this may go away
> here anyway, but there's another similar instance below).

Will fix in v6.

> > +    /*
> > +     * If one of these trips, the corresponding entry in XEN_MSR_PAT i=
s invalid.
> > +     * This would cause Xen to crash (with #GP) at startup.
> > +     */
> > +    CHECK_PAT_ENTRY(0);
> > +    CHECK_PAT_ENTRY(1);
> > +    CHECK_PAT_ENTRY(2);
> > +    CHECK_PAT_ENTRY(3);
> > +    CHECK_PAT_ENTRY(4);
> > +    CHECK_PAT_ENTRY(5);
> > +    CHECK_PAT_ENTRY(6);
> > +    CHECK_PAT_ENTRY(7);
> > +
> > +#undef CHECK_PAT_ENTRY
> > +#undef CHECK_PAT_ENTRY_VALUE
> > +
> > +    /* Macro version of page_flags_to_cacheattr(), for use in BUILD_BU=
G_ON()s */
>=20
> DYM pte_flags_to_cacheattr()? At which point the macro name wants to
> match and its parameter may also better be named "pte_value"?

Indeed so.

> > +#define PAGE_FLAGS_TO_CACHEATTR(page_value)                           =
         \
> > +    ((((page_value) >> 5) & 4) | (((page_value) >> 3) & 3))
>=20
> Hmm, yet more uses of magic literal numbers.

I wanted to keep the definition as close to that of
pte_flags_to_cacheattr() as possible.

> > +    /* Check that a PAT-related _PAGE_* macro is correct */
> > +#define CHECK_PAGE_VALUE(page_value) do {                             =
         \
> > +    /* Check that the _PAGE_* macros only use bits from PAGE_CACHE_ATT=
RS */    \
> > +    BUILD_BUG_ON(((_PAGE_##page_value) & PAGE_CACHE_ATTRS) !=3D       =
           \
> > +                  (_PAGE_##page_value));                              =
         \
>=20
> Nit (style): One too many blanks used for indentation.

Will fix in v6.

> > +    /* Check that the _PAGE_* are consistent with XEN_MSR_PAT */      =
         \
> > +    BUILD_BUG_ON(PAT_ENTRY(PAGE_FLAGS_TO_CACHEATTR(_PAGE_##page_value)=
) !=3D     \
> > +                 (X86_MT_##page_value));                              =
         \
>=20
> Nit (style): Nowadays we tend to consider ## a binary operator just like
> e.g. +, and hence it wants to be surrounded by blanks.

Will fix in v6.

> > +} while (0)
> > +
> > +    /*
> > +     * If one of these trips, the corresponding _PAGE_* macro is incon=
sistent
> > +     * with XEN_MSR_PAT.  This would cause Xen to use incorrect cachea=
bility
> > +     * flags, with results that are undefined and probably harmful.
>=20
> Why "undefined"? They may be wrong / broken, but the result is still well-
> defined afaict.

=E2=80=9Cundefined=E2=80=9D is meant as =E2=80=9Cone has violated a core as=
sumption that
higher-level stuff depends on, so things can go arbitrarily wrong,
including e.g. corrupting memory or data=E2=80=9D.  Is this accurate?  Shou=
ld I
drop the dependent clause, or do you have a suggestion for something
better?
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--nYhzebOp/rqxkOaF
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOkKHQACgkQsoi1X/+c
IsHaQw/+LglwgxfQRA2bEf4EMrYuvvZYozVta2wBVKkjvsER7FgYA6LGKL9psK6s
J/JqK8E+OuZT+IQgBCFzcbZUbY1TethyXzC77EAs8bmhHtK8it9xi/UgM0JhegtU
Szd4jZvMN6FZJlML+GVr5tXNsP7h6VoTr4H4eg8mZCQ/OphSUKfxhxOQxHhPcJnQ
a0OzoA5dKHn1UUXtVcjINGaqNRVKsBIeSbY0xWUlAqE0uWy/10t6O4GNPIanY82N
eXWnUzVjbcuWH1lfcn8mJrSA6VbVUbNIS9dGWaX5jJ0VK6szpMHM0y96D71uHseN
Rve+xbeDBgzHV7NHqdInEpFpPQJR5dLYDsYdPuz9UOgJUu//VIMUUwuxVv5buVTJ
tgSEuGTctVC2jHb5NcG4pnJK5I4q6Ivr1gzC3j3ff8luGY96fOhyWpx+TixIUGFo
QT0rMx4fmRg7mRyVZXTauwLyyFlPDUnRSYagg5uLOK5zlrMQ2cDRAUdvhG09eXSI
II5jutiwduHhydITJuSb/+Pe1VXLRRQv3V3F9j4zuqCDo5yn5SwrQjU80b/xueEC
vRTRNk5AMDZ+ZTtGaLCufc8UEd7pF54UzAst0fZ4oMhOWZacBJkIhBjdiixcvhEj
BUG/TGgp4F8BSpODC7nYvS+ImMOMT6lh8iB1F5lG8oy5gxPTnNU=
=KXlY
-----END PGP SIGNATURE-----

--nYhzebOp/rqxkOaF--


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 09:51:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 09:51:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468360.727440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IEQ-0003Bs-JQ; Thu, 22 Dec 2022 09:51:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468360.727440; Thu, 22 Dec 2022 09:51:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IEQ-0003Bl-GX; Thu, 22 Dec 2022 09:51:18 +0000
Received: by outflank-mailman (input) for mailman id 468360;
 Thu, 22 Dec 2022 09:51:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8IEO-0002i2-RL
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 09:51:17 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060.outbound.protection.outlook.com [40.107.20.60])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c257829-81de-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 10:51:14 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS8PR04MB7528.eurprd04.prod.outlook.com (2603:10a6:20b:297::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec
 2022 09:51:10 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 09:51:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c257829-81de-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hzf7AkF0JzIO/GDqsdPSv97N6sB8DKJObjOpDtNcq+SUv6mt4kHRzqB5IHGDfBHRgoVzulRIcwuuqcyklPrxgtklPRpKtPJQKiGbyPnv/u5/ouKJ3rmWVCjqtGLki3MVyMv4o0FW+A4iFxgXYYQbGYrmn+rjP0300waaLc7cpT26kG95a4fp0VKrho9CUYgEG0cPQwSc4FbkL7owPJcl3VJ7h9YgG+ufRa7b9k8pC8b+eJ3ck9XPnT0jaa6oW+WefwAzJZOKIXrRvQw49k0o7hyjqzhTp/KXQ1Imz/exci7ZRUz5q90WTLidSW4VjlSLQ5eRE15/ZIis988G89+Ojg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VAyTzXQqFMNMZCdfoumhwOeRrE0P3+BapCgzp3OSt6U=;
 b=hx/xCqvtBV8LkmM/cOhsV7zI7Q8sjiZ3Myv6+yOhhABMAjvTxI3LFSlvF2usVi0oTEuM3NVpfbe9GM3GpItXaLrFp97V1CoKX53KIW6pZwuNYTPcvV+bKZ+Y+5Wuw1XndFTrWdPwKPBid8hsVgZongzEG2zCOUNacgUM1mKDKXWBEEw/ktFvpccnBiFhh0B4cWjX7/Fi8V0XOkjXN0Hvug+euKBMAtTFHvGnkOKeyhM3Dkk66rL6Fm2bbUsY1k+L2LLi5/DpZXiyCqM54i+M69C0ZLYndvRFVZWDRntfjnCCEvYQFuDiccqevu8TRvCZNQnR/sLxudJKjss1XlYeuw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VAyTzXQqFMNMZCdfoumhwOeRrE0P3+BapCgzp3OSt6U=;
 b=gP3ehFQjOWpvOLmPyIziAgLOi5Ts890YxWUQJzU1ERN7R01eduM3j4SSB9hmGNCiQun6FttM/FZzmZ4gkxmUnoz+HowvG3tDy8MGvPpi3wwCVllVRI5DsYukI6DUlD8lqFnG2ck1u1KhFWB2XkTHcazZqbaGtHmH7aD1jUe8uT63cvp7abX/7mtmPxWBQ8RZ7wc13egKkmuBKusFwaVdEfhS6OKBZA4iEKnsK9ZUTiW2+kAcFcufAkHQAwiYLF8GJIysCOxPIInVHZvK7yE+A/UZXI8QybTA2EHx0omHVXQJUS//Kg34r55lONog00Ui/b4uM/0za7bAk0pNFAQKMA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b033f8bd-3f5d-b4a7-5197-8d098546b25b@suse.com>
Date: Thu, 22 Dec 2022 10:51:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v5 02/10] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <0026e56a0c91cb0dde9fe19200f473d720a9a950.1671497984.git.demi@invisiblethingslab.com>
 <98839620-d058-5088-da3d-4d200d70b003@suse.com>
In-Reply-To: <98839620-d058-5088-da3d-4d200d70b003@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0091.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::11) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AS8PR04MB7528:EE_
X-MS-Office365-Filtering-Correlation-Id: e4c5b83d-9609-4fbc-911f-08dae4020e30
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sb4r5mrlT7WNsD7ZCEJzB+UxwPXkHuk85OlXl4UxUvouSwsWNUb0CkUq6ZV5cdf+aZENA+ebBBdW2nv90gRplcbrNEwyzvkDEmY7wqctFqp3OfL7/drqG6NRElIwu4sxmERctkMB7vctn2PSk5mk+5TpXJwZ4BNCTYxjijh4v028XBQsm5vdhjlVYDtxFJ2XKcT6Vg0KyN4ndp5vVl9QMThtbJ2ZHJZo7EOJ7IAQ3SSMCfqo/QgbBTrlp+m+oFZvVD6sdU/LubDS7igDtqBUZUHt4DGV0WCL1W9pngU1D7Cr8fhSHZNWzb2esG4FWzVt/3rt0qOHCfIEZbIBTevFUUrYBbu2isgM4Zg5RpkoiKOsm5IeR3NrB6+uP+qV75UhtKPBZbEfnKlweOZhWECiqIF14tWfciXiogI4xCqrg+SFR54FRKIzb4FSZEdqM4XehllAjGDTh++HQ/EiUmn8TF7ExMGj3Axejc1aYhKruW/RAKnupkmQnP/vwKpGaWCxnvIj3cHDRJpIGr43GFEIPT4R41MvQQ0BS16ovCLllo7gKbyXmE3cAwjgsaUqFJnO4Spht+sPlUkyg7NFxfC02A2da//S/pmcIJ8QKwCoxpM4JNbvvL7XycKJkYiiapPpfwYQ8nmKYeBui/6aMka8iuVi4hfTdE4c6jN1eqJMu6s3J2hJ30sApRWbK2tabEYc11X0ZvB+L5rhZhR1CUmmYa8luVq2OrIWH2nwzKbxtGQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(366004)(39860400002)(136003)(376002)(346002)(451199015)(38100700002)(41300700001)(8936002)(31686004)(7416002)(66946007)(66476007)(4326008)(5660300002)(8676002)(66556008)(53546011)(478600001)(6486002)(83380400001)(54906003)(6916009)(36756003)(2906002)(316002)(6512007)(186003)(6506007)(86362001)(26005)(31696002)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NmdxaW9wWS9TRzBPQWdZQXpkU0hPeVFPUGN0bkdReDE1SXExRjJJTkhhY3ho?=
 =?utf-8?B?d0lJUEhKMXQ3eC9YZ0tleE1RUHpXTkVnNTJZOUczN2tMTnk0ME9lRGl1MFBV?=
 =?utf-8?B?eG40SUdGMXBMUkliTVE5bWg2ZGtQWnp0SlhrcVcxQ2w3R2c0OGQvbDBGcXQr?=
 =?utf-8?B?TEZYZ3RoZ3YybWxTSE5JUUx3b2lveWZ5WkNreDg2cmczMHA4cWRvMW9GclhU?=
 =?utf-8?B?WWpuaHNDaDFjeDViZWJnRzF2bENQUHpPeFhnV08wS1hWMmFML241NXhsRVl4?=
 =?utf-8?B?anVLVEM3NWExNzZTNEFxQ2Q1NURxK0dYNkRlQVNlQWlMRVduTS9YRFNtQ21V?=
 =?utf-8?B?QlJOZkRaVngrcDhoVWdONTQwRmxWY3ZxejY0dWF3MzFkekpWTEJTZlExeVVw?=
 =?utf-8?B?UE1VejB1RWM0Y1JxdHdJWlBMeHdVNmQwSVdnY1BNc2I1VWs4SjZWYlJYTjNq?=
 =?utf-8?B?bzhNK0UrL0pQR0tueDRhWWhRYmJ5cFpIUWZvU2kzRU5zZVNmcmVVbXprQldB?=
 =?utf-8?B?VkZndHdOc0V2SDR6OWxNU2pzZHpTRXNxWnE0Um91SkNNUlg0eFMxZXlTbm1z?=
 =?utf-8?B?cFFBOCt2aU8rejBwckd4VElZK0FXZGVoTHBvRlVleFplWXpJQUV3Rzhjdm83?=
 =?utf-8?B?TzhEV2pzNUFraXV3Z0w2SS9PTGwxTXRZWlVBK1JWZGRIbk9mVmdWVlorUFZ0?=
 =?utf-8?B?ejR6emJwbjZlTUZQSGR0RENvSHlhbmNaQjh0ZkxGc01USkVZdU9SOVd5NVVS?=
 =?utf-8?B?REQvTU00UG52QzgxeVg5c3VOUk82Ri8xaUVRTTNSY284bGlxZkxueWQ5czFL?=
 =?utf-8?B?MUZjZ2F5MHlXZlpOVHBPbjcwcHB3OTdJT3RTT0N3a1llYlFPRjg3ekQvMmMw?=
 =?utf-8?B?bll2a2x5OExJNTlDN2FPNlBGTnMwcVlxUVJMc205U2lNM1haLzQxR1ZSSnFB?=
 =?utf-8?B?RHFRV2t3MTYvMkhCVDZCc0dlRnM0UG1Sb3A4bzF0Zzhwd2xjTC94bHprdzBi?=
 =?utf-8?B?TlV5N0NCS3pwbzJ2NnBvMGFPNlIvSERYL1QzK0I4dVU5ZDRhemYySXQ3MGdB?=
 =?utf-8?B?TUJNa2x2dmFFc0ppRVB0WjBLTlM0TVJrZXZvTjhlNm0rNDZpclhHOHFpdXVQ?=
 =?utf-8?B?TzJDaXc0cnViaWN4RzVMd0xhOUFjc0tFdTM0aHNQRHdxdzVwUkEwRFhDSzRI?=
 =?utf-8?B?eVV3bjlEVnhwNS9KOHhEMjZWQXN1WnZzSGpYNWpQTkdGRndYV3JLUlRzN2Nj?=
 =?utf-8?B?d0NsSVozcElENXBUMXdWK1BLSVh3UzZmc0Q4RkZZUEFaYVcrYnFuTG4xd09l?=
 =?utf-8?B?SXV6bFRvWWlya1dRZ09kbzl5ZWdyQWE2bE1oNWozODgzOHUzMkFGV1VMbU9w?=
 =?utf-8?B?amJVVFYyOWtnbDhQVXhCc0tRMGRyTmhLSHJhRUJHQ3hjdEE1QlRaaUpkZGxj?=
 =?utf-8?B?YVlRdW9xU2w2RndEaTRncEtLYWNGTm1YOXlCN1NYeGtpL1U1dytBWFIxYzhX?=
 =?utf-8?B?eEFKcHpQYWxIMS96TEtMQ3piMnczdlB1SGFScFk2NDM3djlHRUJVV2ZNc0Rw?=
 =?utf-8?B?L2kwejA2V1NWSU9HT0dBQlU3UnVUTmMwTEtwaUJBRTY2N3pNYnVwNlRFMHEy?=
 =?utf-8?B?Sy82NXZwaGdTbFhsZHA1UTlJOCtSNithWjZyblpndVBXbjJiWVpJbEloMnY2?=
 =?utf-8?B?WFJVM2FsSE5JRitmdTJZOGtDUlcvTmNpMlpsOGxHL0k0bTFyc2FGRXo5YUQ0?=
 =?utf-8?B?R28wWEFiT0RYN0FRd1ZRSXFVWUd6Z21WeHhTYXAwNmVqV3RBRDg1QzBvUXBV?=
 =?utf-8?B?dVFQWG8yL1RVQTNnRXU4cWc0a2JxNjVzUzVqVUpFKzlSTVU1T2sxckwyVHF1?=
 =?utf-8?B?Mmo5ckF1WDJqZWtZWDZIc2haektZVGttZ2d4Z2c4eXV4UFl1Y2NJMEhVMDdl?=
 =?utf-8?B?N0dPQXVUbmpLWTlGWVNGWEt3QlVaeG13TGd0bGRWek53N053TytyNTNaVS9k?=
 =?utf-8?B?MGg2SGR0UXRVZENmQ0o0ckFJeGNPTlNTQXU3VXJZQmJlVWt4VkNqQnI1QVVD?=
 =?utf-8?B?N2FyNjB2Tk5QakFpdlNqY283OWtyMFdpNnF6U3pXRVJPWGhuQTA2WU5mRW5t?=
 =?utf-8?Q?J5ZCfyabG2t0dzfmIum0Zgc59?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e4c5b83d-9609-4fbc-911f-08dae4020e30
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 09:51:10.6415
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: r196gnzgsXxzqzBjhAogwFOZZDkfmLluf7yEYAvx8e3VU0NeQFc5+wlNmSANFgm37HnYRIcBtO4QANmlcmY0Bw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7528

On 20.12.2022 09:19, Jan Beulich wrote:
> On 20.12.2022 02:07, Demi Marie Obenour wrote:
>> get_page_from_l1e() relied on Xen's choice of PAT, which is brittle in
>> the face of future PAT changes.  Instead, compute the actual cacheability
>> used by the CPU and switch on that, as this will work no matter what PAT
>> Xen uses.
>>
>> No functional change intended.  This code is itself questionable and may
>> be removed in the future, but removing it would be an observable
>> behavior change and so is out of scope for this patch series.
>>
>> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
>> ---
>> Changes since v4:
>> - Do not add new pte_flags_to_cacheability() helper, as this code may be
>>   removed in the near future and so adding a new helper for it is a bad
>>   idea.
>> - Do not BUG() in the event of an unexpected cacheability.  This cannot
>>   happen, but it is simpler to force such types to UC than to prove that
>>   the BUG() is not reachable.
>>
>> Changes since v3:
>> - Compute and use the actual cacheability as seen by the processor.
>>
>> Changes since v2:
>> - Improve commit message.
>> ---
>>  xen/arch/x86/mm.c | 14 ++++++++------
>>  1 file changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
>> index 78b1972e4170cacccc9c37c6e64e76e66a7da87f..dba6c77ef2f7ed7fcb7f7e526583ccadd35e62cc 100644
>> --- a/xen/arch/x86/mm.c
>> +++ b/xen/arch/x86/mm.c
>> @@ -959,14 +959,16 @@ get_page_from_l1e(
>>              flip = _PAGE_RW;
>>          }
>>  
>> -        switch ( l1f & PAGE_CACHE_ATTRS )
>> +        switch ( 0xFF & (XEN_MSR_PAT >> (8 * pte_flags_to_cacheattr(l1f))) )
>>          {
>> -        case 0: /* WB */
>> -            flip |= _PAGE_PWT | _PAGE_PCD;
>> +        case X86_MT_UC:
>> +        case X86_MT_UCM:
>> +        case X86_MT_WC:
>> +            /* not cacheable */
>>              break;
>> -        case _PAGE_PWT: /* WT */
>> -        case _PAGE_PWT | _PAGE_PAT: /* WP */
>> -            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
>> +        default:
>> +            /* cacheable */
>> +            flip |= ((l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC);
>>              break;
> 
> In v4 the comment here was "cacheable, force to UC". The latter aspect is
> quite relevant (and iirc also what Andrew had asked for to have as a
> comment). But with this now being the default case, the comment (in either
> this or the earlier form) would become stale. A forward compatible way of
> wording this would e.g. be "force any other type to UC". With an adjustment
> along these lines (which I think could be done while committing)
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

If you had replied signaling your consent (and perhaps the preferred by you
wording), I would have committed this. Now it's going to be v6 afaic ...

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 09:52:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 09:52:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468369.727450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IFN-0003o7-Ty; Thu, 22 Dec 2022 09:52:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468369.727450; Thu, 22 Dec 2022 09:52:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IFN-0003o0-R3; Thu, 22 Dec 2022 09:52:17 +0000
Received: by outflank-mailman (input) for mailman id 468369;
 Thu, 22 Dec 2022 09:52:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p8IFM-0003ns-Eg
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 09:52:16 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8IFK-0008I3-NC; Thu, 22 Dec 2022 09:52:14 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8IFK-0005Dz-Ew; Thu, 22 Dec 2022 09:52:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=y6SlIRVrsyiNATTgM47pJVH+rp8ITO4g7OQALs/4YmA=; b=wRk2v4I3CSe8BTa8/MtAXTnx+S
	sLSGOW9K7gW9Ki0SqiH+eR0FEaPCTbT15UerdVckYhxplQlDi4nXsD95q3DRlBTmo8C7Ce18aYqvG
	7mbqz4l+EFrl3s3jYydk6f8O8fsV5xSZ/guuG0fasU2LfNbWZ/MpAakaPempIqWYFOUs=;
Message-ID: <6cf27ac5-6371-9a9c-2df4-7f33812993f1@xen.org>
Date: Thu, 22 Dec 2022 09:52:11 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 "Smith, Jackson" <rsmith@RiversideResearch.org>
Cc: "Brookes, Scott" <sbrookes@RiversideResearch.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "demi@invisiblethingslab.com" <demi@invisiblethingslab.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
 <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
 <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop>
 <7a7a7156-138d-a53c-fb65-a210e14bd8c1@xen.org>
 <BN0P110MB16429FF1A9FF3507A684C5B2CFEA9@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <alpine.DEB.2.22.394.2212211638100.4079@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2212211638100.4079@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 22/12/2022 00:38, Stefano Stabellini wrote:
> On Tue, 20 Dec 2022, Smith, Jackson wrote:
>>> Hi Stefano,
>>>
>>> On 16/12/2022 01:46, Stefano Stabellini wrote:
>>>> On Thu, 15 Dec 2022, Julien Grall wrote:
>>>>>>> On 13/12/2022 19:48, Smith, Jackson wrote:
>>>>>> Yes, we are familiar with the "secret-free hypervisor" work. As
>> you
>>>>>> point out, both our work and the secret-free hypervisor remove the
>>>>>> directmap region to mitigate the risk of leaking sensitive guest
>>>>>> secrets. However, our work is slightly different because it
>>>>>> additionally prevents attackers from tricking Xen into remapping a
>>> guest.
>>>>>
>>>>> I understand your goal, but I don't think this is achieved (see
>>>>> above). You would need an entity to prevent write to TTBR0_EL2 in
>>>>> order to fully protect it.
>>>>
>>>> Without a way to stop Xen from reading/writing TTBR0_EL2, we
>>> cannot
>>>> claim that the guest's secrets are 100% safe.
>>>>
>>>> But the attacker would have to follow the sequence you outlines
>>> above
>>>> to change Xen's pagetables and remap guest memory before
>>> accessing it.
>>>> It is an additional obstacle for attackers that want to steal other
>>> guests'
>>>> secrets. The size of the code that the attacker would need to inject
>>>> in Xen would need to be bigger and more complex.
>>>
>>> Right, that's why I wrote with a bit more work. However, the nuance
>>> you mention doesn't seem to be present in the cover letter:
>>>
>>> "This creates what we call "Software Enclaves", ensuring that an
>>> adversary with arbitrary code execution in the hypervisor STILL cannot
>>> read/write guest memory."
>>>
>>> So if the end goal if really to protect against *all* sort of
>> arbitrary
>>> code,
>>> then I think we should have a rough idea how this will look like in
>> Xen.
>>>
>>>   From a brief look, it doesn't look like it would be possible to
>> prevent
>>> modification to TTBR0_EL2 (even from EL3). We would need to
>>> investigate if there are other bits in the architecture to help us.
>>>
>>>>
>>>> Every little helps :-)
>>>
>>> I can see how making the life of the attacker more difficult is
>>> appealing.
>>> Yet, the goal needs to be clarified and the risk with the approach
>>> acknowledged (see above).
>>>
>>
>> You're right, we should have mentioned this weakness in our first email.
>> Sorry about the oversight! This is definitely still a limitation that we
>> have not yet overcome. However, we do think that the increase in
>> attacker workload that you and Stefano are discussing could still be
>> valuable to security conscious Xen users.
>>
>> It would nice to find additional architecture features that we can use
>> to close this hole on arm, but there aren't any that stand out to me
>> either.
>>
>> With this limitation in mind, what are the next steps we should take to
>> support this feature for the xen community? Is this increase in attacker
>> workload meaningful enough to justify the inclusion of VMF in Xen?
> 
> I think it could be valuable as an additional obstacle for the attacker
> to overcome. The next step would be to port your series on top of
> Julien's "Remove the directmap" patch series
> https://marc.info/?l=xen-devel&m=167119090721116
> 
> Julien, what do you think?

If we want Xen to be used in confidential compute, then we need a 
compelling story and prove that we are at least as secure as other 
hypervisors.

So I think we need to investigate a few areas:
    * Can we protect the TTBR? I don't think this can be done with the 
HW. But maybe I overlook it.
    * Can VMF be extended to more use-cases? For instances, for 
hypercalls, we could have bounce buffer.
    * If we can't fully secure VMF, can the attack surface be reduced 
(e.g. disable hypercalls at runtime/compile time)? Could we use a 
different architecture (I am thinking something like pKVM [1])?

Cheers,

[1] https://lwn.net/Articles/836693/

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 09:54:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 09:54:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468378.727462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IHt-0004WY-G9; Thu, 22 Dec 2022 09:54:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468378.727462; Thu, 22 Dec 2022 09:54:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IHt-0004WR-Bu; Thu, 22 Dec 2022 09:54:53 +0000
Received: by outflank-mailman (input) for mailman id 468378;
 Thu, 22 Dec 2022 09:54:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8IHs-0004WL-6h
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 09:54:52 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2082.outbound.protection.outlook.com [40.107.13.82])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ace8bf3d-81de-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 10:54:50 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS1PR04MB9454.eurprd04.prod.outlook.com (2603:10a6:20b:4d9::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec
 2022 09:54:50 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 09:54:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ace8bf3d-81de-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ezJm5EiburevLXVlVL38mDUJlu/U/XHDQ4lk7TV2+mGpHjqlmYv7Axu/tgZhNaCM8WYzqF4X5x60lG9lrtq+s+BWmetU5E7yKxOscOV+9kPYervIOEvznTZXR9st4TRFUdeX63whcSbPep/xYn+O4O3H0iNsq/78We+IxQByCDMDj43/aBlH0TX9CeMYKQzDhhKCoEa0IDCprIMDugz8t+FN2hwT6viCtz3yVTOwYUxhdJzy5r9EaD8VROX/XCi35+db1YKB0gctAVG+o24Jp0O5OSE+qtZeggNElu5cDdyWzvdNupmwAyMg9Bn5JQirklQ18C8v6ZPNzXw9VxudxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3kCIRZyz+4akDPdFSli8KPUeWsLxiwk/RnxHMhE8Ztc=;
 b=mAIUq8RnVHFvQ/+OkMJ9upOld5EiYy+IgxXayzGXmUS4Hjm1W5pWH+larCzxLnks0UGpGMelJX6LG9ntBtf8lF2NMD1F3jR1HfDQuZImwindGonQaRKs0g4qaLMp4R19n9XFKJbvoPobtQ4jDSfyGGHEccomuujW7qXwWYMVtSzeFCz9XrdbUAN3UP1KKcYqMf0maxzMoDOkHb4QUsBgJHzCrv8FuEq/ePDp4YbemaSePAzhn3UhaOqdGCdf00T33SurhEsRbF86VNu+hKBmEOKNiQcAOelheuu158pUCSskv/HvmMnXpyoZD6rb1NS083cUk2Iy+nzxqttEigKIBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3kCIRZyz+4akDPdFSli8KPUeWsLxiwk/RnxHMhE8Ztc=;
 b=LGRI/xWzU5tnfoCleVKrFV2N2hna+30eEjvZqeeTx14GL1q64UXNDJA07ylky3z76lHR0+iuQx/49nCeCJLA/7FtIxE9OKjPv7g3Ndo9Lq0JsAUfx27OkNMkFZ29cpeqAZLqsmS5NumLBszHxMtYwIK/6khR/CrVzfaUZe8mDVJg6CeizVueiKU0k2yZ7axRrjx1kShFaCYapeE18LKWsRMc8V5OSBvZ9DuLLUnF6swVLYKtMQD5Iza8N9p5SoEg1AqhrmR2AksYjWV3PjtOgCyoDVvibErDMDTwhJd10QzRgHD0NqoJWjAf7s1lc8XVri6cJsKjICgQDOU2Z19k6w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <700e86ac-7efc-9d6d-43dd-a06bb541a1fb@suse.com>
Date: Thu, 22 Dec 2022 10:54:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v5 08/10] x86/mm: make code robust to future PAT changes
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <a8920eef3254cbf470a0d35a887dbaf0e4907a6d.1671497984.git.demi@invisiblethingslab.com>
 <06dff83a-b120-a2b4-c61f-7864935d4c3e@suse.com> <Y6QodBfEc828o988@itl-email>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Y6QodBfEc828o988@itl-email>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0159.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::8) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AS1PR04MB9454:EE_
X-MS-Office365-Filtering-Correlation-Id: aa14ded1-0cd8-4f1d-4a3e-08dae40290fc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	spbc7eUwyfmw+medGcicaTTWgXEstWPb1ENcMaxUWaeuk/XmIeQzyKXB4+hAmNNYQmvzelxd2CbvbhPDr7kdexJEPPbkdgilyZEaCdxlEPWGjs74/B3f3459fSKS17tcR//rawQs92AEPw5dEviGgJXha0/d7/rotvMprlnst6S7KRCSG+s8gzekLQIlZODFwd+TSxbIE3URFv+3GzgmudXbJmB9XsAqtB+aEGLPMganZ36FF7MS0Eikd20wBSVWoxcmGiT8zvTjGyrwQXnQ3JE9JOo1rWUDEVD4Bs/rLKu0XjVoYCeanuyCH4X+Q5rh+kysD1eYoxpC5JH5uOqka+a5m5LNK82cbF0U46TbggnPQoiWnUw3lkLYSGC6Mx57M3nFnU4Whqju4rEvy+PLBG2+3Vz2odi99vWo1sZnYf1fcHtfWuXQPWLAPsTjp44OwipNm4nUF/egR3PmYF720Uh7ZQuw/iRkpbkqjTsK16c++gTys7RIbjaIFhQMhuybmN7tgaJsYHcyidv3YmOMeLaHuVw3BV/2x6daMzWfFVDegBWfnpQxXVybwaRKZnE/SFked/WJnJf+QYr5/dGxVJjQvUtQnEN/zLxfqtVPPRMesNxZPKNX/8ZZjvT8vvaq4Na0/RP2WLINngcPfSIPn4ApkY0fENeVlQSe9apip+ZW4yhhF6BcxcMUIyP/Y8QPVGmEZCh0Q4NrYIS6YbAK3DYg2DhEWaGT9uZTCwrCi9U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(396003)(346002)(136003)(39860400002)(376002)(451199015)(31686004)(2906002)(5660300002)(38100700002)(41300700001)(7416002)(66556008)(8676002)(36756003)(4326008)(66946007)(66476007)(316002)(8936002)(53546011)(6512007)(31696002)(6916009)(26005)(86362001)(186003)(54906003)(83380400001)(2616005)(478600001)(6506007)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVcyYVFLNFFVRlNKSDFzREJwSmQ5U2gyaE1PMHFkVDZoYnVoK2dKS2J4YW9P?=
 =?utf-8?B?MElFS3lOZndCK0JQeVpoVjN0TjhId08ySCtLa2NYMHFVMHdHa2J6ODFTWXlC?=
 =?utf-8?B?ZThHQmtjMVY3YnZOaVVrZFhWdTg4U2R0R0tMYndubnd6eG5OL0czYjdnY0xF?=
 =?utf-8?B?alZOYjVBd3pKcENzQXpKQ3JXelR2U1A2bEV1UWVuVmhpQUhIRlIzVVg3QXUy?=
 =?utf-8?B?dS9kTVFMVUZzeUJWcXArTStVN2JNMVRvbjlDZWdKMEZ3ZVN3cE9WR3lYSitV?=
 =?utf-8?B?RXNNajRxOXo4UStwVW42L3psa2crdUZEeXBZSlloNC93L0VSNm81UFdYWWdX?=
 =?utf-8?B?SFhJOWZuTkNVRXBocFlXc25LWmpLditPUlBuWlVxcGgvbVpwVWtoMXVNaEpP?=
 =?utf-8?B?QjB1ai9EMFZ2RElZSnVOMndWMHg0UFNVeTR5bmk1VG1wTkJuQnQzbUR4c0Rh?=
 =?utf-8?B?dWV3SDFpRk9vam13bWFzVG1zdHNncjE5WlhObVlGVDVIbGNKZXJDS1BHNGlD?=
 =?utf-8?B?dkRmL3k2c24yOFVZeDFRY3E1aHJZcVl0eDcrYWovWkNPQU5wMDZwdUNVRW5W?=
 =?utf-8?B?UnprUnc3TGM3clJNMzR2VjZaOVh0TkxVYVVJbUx6amFPdHN5Y3g3djd1VGJW?=
 =?utf-8?B?OWJZWG5YZjVPeWpQM005TlNSbU1haXFlUHVmaG5wYUdBMklsb2NVREFobXVu?=
 =?utf-8?B?d1ZBQ3JJYnRwd2ZFNjZSdDZ3cEJpZTRtdndGTkFlU1VwWEJBMjJMdEMxb3hw?=
 =?utf-8?B?byt5VVBxRkJwSnUrc2ZzOGkwTk5LemZQT0ZsTWtaa2dVV3YvWWhqbWR6SXdF?=
 =?utf-8?B?MmZ6Y1BRMmJDT21ldXovZk5VV0hPa0lXUytUSHVtTUpyeXJibE05ZnY5eHpw?=
 =?utf-8?B?ajBJeERWb0psNHJxVHBEbkZWeDBrWUV2Y0F5R1NpVzAxR3ZyaVhzeHVqR1RZ?=
 =?utf-8?B?Yk91Z25aV0lPc0VXdDBkODJuRXdIYWdMZ25GOFBOS3ZqWWdIdWV0Q05nOU16?=
 =?utf-8?B?NlZ2bWJuMDU3cGlJWUUwOFVlQkl5bHl2YWM5aDRacStvS2RjQkl2ZXIvZlVX?=
 =?utf-8?B?RkNWSE9XczhmK1hBWEhuR25IbmZIUEpocWZ4cVpnUjhPOVdFcDdXSllUQmNV?=
 =?utf-8?B?cGl0SFY2Wm5mRFhTTWphUGN2bExicGdkM3k0L3lJbEYzazlzLzVVQmNQanBH?=
 =?utf-8?B?b1dhUkkvM2Y5VnR0TGxrbHpSaEdNdjl6RzRrU2hyaDg3TmQxMFV1Mk5MTWtW?=
 =?utf-8?B?MVZCRkhVM0F3Y0NGbmthT2hzbG1qSjZQZ2IrbzUrSDlSZTllTld2dlNjQVVp?=
 =?utf-8?B?WXlaOU8rVkdkbWJRRWtFQkhFWVBWOVpyQzFidmQvOEF1VHlVZGhDQU0vNkdI?=
 =?utf-8?B?N05NSEhCSDEyYzdzRmgrMkc5dXhHUFhBSEo5WHRlL2E0S0ZIUmZJS0grWVJy?=
 =?utf-8?B?WWN6dVNNYWk4eU1TVDZOQzhWRXE1N1ZLL1lSYnlKTk5DU1BvR2FwNVpNQWpr?=
 =?utf-8?B?aDREdG50cHo2NkRHOVBOUG90LzJ2N1k0YUxJWXhSVjgyODNOWVU5bXRHdzJE?=
 =?utf-8?B?TnAwZzRheTRyLzJzYTNBN090aHdZN25oWnZYR2JNYWsyNEdtYXI5SUs4a2tX?=
 =?utf-8?B?cGRjNU9YZjByaENxUlNKZTJUU1JZcTRTRFNFNWNiUFhidnVIQVlKSVhRZkJF?=
 =?utf-8?B?TmV6MDdFT2dxTlJZeWU2LzlBRGxPVFFvSWJteTI0UHRUSGcyNE14RFlDem1O?=
 =?utf-8?B?cVJHcjIva2hMTm1WdXRnM1NSa0hJakF5cTVjcTNrL0V0dVpSZER2cmhHTEhS?=
 =?utf-8?B?TkVnN3p0UE1PenFrVFZYNUo4QUZJcjMzNnRSTXQ4K1RHV0hlbXhWbmRUS0p2?=
 =?utf-8?B?ZVFlMXNyWktESkh0UjdDUUprTDYybUhYc1BGZ2NCcWY2dUNncjZBVWJXa0ZM?=
 =?utf-8?B?MW9HWWJTVjRaMldRTU1VZUlDUXlJS0NlVDhNYWJOTGVQZllXU2plT2RjOVBG?=
 =?utf-8?B?em1DWGlrME1RcHlvNERyaE1CSEorazh4SG9kRnpzRmszSittNnBtbmRSZjhB?=
 =?utf-8?B?N3NXblZpS2E2TU5NbnpCeE9zSUxTeU50Q2FDN0tuZUZUSUdvUkp5SHpvVnMw?=
 =?utf-8?Q?NdXIKXsaSGLVoZgclbhzzMEap?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aa14ded1-0cd8-4f1d-4a3e-08dae40290fc
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 09:54:50.0960
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: a9EWsPyCUBRme/Qd5Cf0XgzvtI80+bWIew+/siz5wKJLSSSmmM14zBDmLffvcMqQII5XOaF+fEOEfC2+8ZEfBA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9454

On 22.12.2022 10:50, Demi Marie Obenour wrote:
> On Thu, Dec 22, 2022 at 10:35:08AM +0100, Jan Beulich wrote:
>> On 20.12.2022 02:07, Demi Marie Obenour wrote:
>>> --- a/xen/arch/x86/mm.c
>>> +++ b/xen/arch/x86/mm.c
>>> @@ -6352,6 +6352,11 @@ unsigned long get_upper_mfn_bound(void)
>>>      return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1;
>>>  }
>>>  
>>> +
>>> +/*
>>> + * A bunch of static assertions to check that the XEN_MSR_PAT is valid
>>> + * and consistent with the _PAGE_* macros, and that _PAGE_WB is zero.
>>> + */
>>>  static void __init __maybe_unused build_assertions(void)
>>>  {
>>>      /*
>>> @@ -6361,6 +6366,72 @@ static void __init __maybe_unused build_assertions(void)
>>>       * using different PATs will not work.
>>>       */
>>>      BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL);
>>> +
>>> +    /*
>>> +     * _PAGE_WB must be zero for several reasons, not least because Linux
>>> +     * assumes it.
>>> +     */
>>> +    BUILD_BUG_ON(_PAGE_WB);
>>
>> Strictly speaking this is a requirement only for PV guests. We may not
>> want to go as far as putting "#ifdef CONFIG_PV" around it, but at least
>> the code comment (and then also the part of the description referring
>> to this) will imo want to say so.
> 
> Does Xen itself depend on this?

With the wording in the description I was going from the assumption that
you have audited code and found that we properly use _PAGE_* constants
everywhere.

>>> +} while (0)
>>> +
>>> +    /*
>>> +     * If one of these trips, the corresponding _PAGE_* macro is inconsistent
>>> +     * with XEN_MSR_PAT.  This would cause Xen to use incorrect cacheability
>>> +     * flags, with results that are undefined and probably harmful.
>>
>> Why "undefined"? They may be wrong / broken, but the result is still well-
>> defined afaict.
> 
> “undefined” is meant as “one has violated a core assumption that
> higher-level stuff depends on, so things can go arbitrarily wrong,
> including e.g. corrupting memory or data”.  Is this accurate?  Should I
> drop the dependent clause, or do you have a suggestion for something
> better?

s/undefined/unknown/ ?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 09:56:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 09:56:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468385.727473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IIv-00055x-OE; Thu, 22 Dec 2022 09:55:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468385.727473; Thu, 22 Dec 2022 09:55:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IIv-00055q-LS; Thu, 22 Dec 2022 09:55:57 +0000
Received: by outflank-mailman (input) for mailman id 468385;
 Thu, 22 Dec 2022 09:55:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s9VX=4U=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p8IIu-0004WL-Nd
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 09:55:56 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d2f966b7-81de-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 10:55:55 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id EBCF93200063;
 Thu, 22 Dec 2022 04:55:52 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Thu, 22 Dec 2022 04:55:53 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 22 Dec 2022 04:55:50 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2f966b7-81de-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm2; t=1671702951; x=
	1671789351; bh=ixpX2ofHl7dFVdSOUFxFjuM7VHveX8sb32eS8sxWSAA=; b=E
	VQ0Vc7MovdaGZi2IYIrpIY+0mp7tj/4xdq/Sai8QPqErvGMI0LyQOezhKzwsUMqN
	bTW4rKU0ZJDLiS+WfBWdBj/fJAxa60P6sQWRmtHZCfS42/bxDAlvWbIpSwTziSpk
	wN5Wp4AGuJexEZ3AvYTg2voLsjy5IMZHiuASN90erSQqjvauTMoCSSRW4cQNnCTX
	gX6VJwqRFVeLTV2pSRw2zQWU9k8ScDVS1d5gTlFMo4YgpYBvGKfRKh1lA0o0aJhZ
	D/9D2/iLQyyyCI47BTWkKO0tcHUcYT5MqbSOzG4e8+W1bpUTJnle6dAZ7i+InYxu
	5uvk2wcy3on2NUoKgmn/A==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671702951; x=1671789351; bh=ixpX2ofHl7dFVdSOUFxFjuM7VHve
	X8sb32eS8sxWSAA=; b=kdsi1rCifkLnmok9slTNc96BMBu1AFSP+zpR0aI9Sc79
	xtsPcW8XfNsZr0lsMhk/y2L0XvEgdUX5g4xMewLUNW79nrLPSrSoDMHEwI97Bsdk
	XHC40C9Q6zAWg/7izGocbn+hD/HaAP5KXGkJZDy3lGCalv+AH7h/ssfe3gX0QHB0
	JzMMSVF9AlXL2DBcmF1CG510YSiKbQ713lUz3r8lA8ihBuBhYpmUJLvocYbjdldL
	LVmgdbTsRFQuawI6z9VO1OKSy+xH67KPgGYaog7ouEo4dodryLeOY5XzJcmAYnno
	Xl79oXxXv4jNa9tovaTo3e3WE+FjdzY2tpQzdHxiSw==
X-ME-Sender: <xms:pymkY02p9mXsiVD8fyMTJ_rLlc-x_iz00WWykvn6KtTsE8P8GBWvAQ>
    <xme:pymkY_FfEye_fZuG6iV4vPwkQZK5rUnWQJKptVOH9eS8cdcckeuk-vQJh2Vwsrq9g
    ei7RASlwNRVYJw>
X-ME-Received: <xmr:pymkY863_nJ66tU0UUhnX_0ofYPzC0uA7TVe_Yhc8iXDgmcKvQbCAQiWv7fA>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrhedtgddtlecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeduieelfeeutedvleehueetffejgeej
    geffkeelveeuleeukeejjeduffetjeekteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:pymkY93CYiqOZfA0LqCZRlE2m_1C5GplQa5rJR95M_ijvUHDAD79DA>
    <xmx:pymkY3FKH00gqceDAp8B3tEgMHUtzxwPgF1zf4mhkksUsM_HIlgZqA>
    <xmx:pymkY2_URhI3tBqqTJxbY3XYUXA1xlkWrOLPRpoubuj6lYjM7vS8EA>
    <xmx:pymkY23ISN4xenZ4cBcAwrtgbCere6lNS7SxOttJ0hyZ1MPS6s47Jg>
Feedback-ID: iac594737:Fastmail
Date: Thu, 22 Dec 2022 04:55:45 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 09/10] x86/mm: Reject invalid cacheability in PV
 guests by default
Message-ID: <Y6QppKYFkKqyo3cS@itl-email>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <64d81a49e5e00527ae01b707080f6f0e14ee667c.1671497984.git.demi@invisiblethingslab.com>
 <a73a6829-5924-a98a-704b-c0111c16a3f1@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="T7Pik+wH1fvE3R4Y"
Content-Disposition: inline
In-Reply-To: <a73a6829-5924-a98a-704b-c0111c16a3f1@suse.com>


--T7Pik+wH1fvE3R4Y
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 22 Dec 2022 04:55:45 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 09/10] x86/mm: Reject invalid cacheability in PV
 guests by default

On Thu, Dec 22, 2022 at 10:48:02AM +0100, Jan Beulich wrote:
> On 20.12.2022 02:07, Demi Marie Obenour wrote:
> > --- a/xen/arch/x86/mm.c
> > +++ b/xen/arch/x86/mm.c
> > @@ -145,6 +145,8 @@
> > =20
> >  #ifdef CONFIG_PV
> >  #include "pv/mm.h"
> > +bool allow_invalid_cacheability;
>=20
> static and __ro_after_init please (the former not the least with Misra
> in mind).

Will fix in v6.

> > +boolean_param("allow_invalid_cacheability", allow_invalid_cacheability=
);
> >  #endif
>=20
> Any new command line option will need to come with an entry in
> docs/misc/xen-command-line.pandoc. Furthermore we're trying to avoid
> underscores in command line option names, when dashes serve the
> purpose quite fine.

Will fix in v6.

> Also please add a blank line at least between #include and your
> addition. Personally I would find it more natural if such a single-use
> control was defined next to the place it is used, i.e.=20

Will fix in v6.

> > @@ -1343,7 +1345,33 @@ static int promote_l1_table(struct page_info *pa=
ge)
> >          }
> >          else
> >          {
>=20
> ... here.

Will move in v6.

> > -            switch ( ret =3D get_page_from_l1e(pl1e[i], d, d) )
> > +            l1_pgentry_t l1e =3D pl1e[i];
> > +
> > +            if ( !allow_invalid_cacheability )
> > +            {
> > +                switch ( l1e.l1 & PAGE_CACHE_ATTRS )
> > +                {
> > +                case _PAGE_WB:
> > +                case _PAGE_UC:
> > +                case _PAGE_UCM:
> > +                case _PAGE_WC:
> > +                case _PAGE_WT:
> > +                case _PAGE_WP:
> > +                    break;
> > +                default:
>=20
> Nit (style): Blank line please between non-fall-through case blocks.

Will fix in v6.

> > +                    /*
> > +                     * If we get here, a PV guest tried to use one of =
the
> > +                     * reserved values in Xen's PAT.  This indicates a=
 bug in
> > +                     * the guest, so inject #GP to cause the guest to =
log a
> > +                     * stack trace.
> > +                     */
>=20
> And likely make it die. Which, yes, ...
>=20
> > +                    pv_inject_hw_exception(TRAP_gp_fault, 0);
> > +                    ret =3D -EINVAL;
>=20
> ... also may or may not be the result of returning failure here (if the
> guest "checks" for errors by using a BUG()-like construct), but that's
> then more of its own fault than not coping with a non-architectural #GP.

Is there really any architectural behavior here?

> Also wasn't there talk of having this behavior in debug hypervisors
> only? Without that restriction I'm yet less happy with the change ...

My understanding was that Andrew preferred the behavior to be turned on
in release hypervisors too.  I am inclined to agree with Andrew, if for
no other reason than that those working on guest OSs do not generally
use debug hypervisors if they are not also working on Xen itself.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--T7Pik+wH1fvE3R4Y
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOkKaQACgkQsoi1X/+c
IsH4WxAAnZB7xpmQarYZ4pmmJW2ByOFwf7OL5w3RAIVQmFca+OrxdG94j9C1Ki5/
2f++8fJlgiQpCpgc+DQ6EVrHEXqTx6ztBhFrF8ILOivPYWnASu/0ZwuEKTQhjrSF
wnCcoVdhGckrPsOt7BreuJK5hJujbPozen2OiucOO0bNPIRHHZKhJRjReQMAveY/
s3cglaRLb8b1DoBbbW+OvxcoqOexk1bKrN1+vM9cejVxzieDUmPeLciaVrDnI/uQ
uY3URnTYuzXV3ZemEytPWqUTG4lvKKrYsg5Ey+PzPsQg/1bUZ56aL9pevPGz3SJr
B0sMI/PhlSmanQmOpbvpBSevVrKjP5719FYYMC6mAUeImv/x49hpJtAv3QJUwBGJ
NZfw363aqd4nm9q8z/13XeeQT+uIoOqqkKV7sl4OwVn4tM0J2ViPDq7U791ZZ9UU
BmYfpH0S/i1/RW+hLaxWY0ChmZlVgV5dPdaKANknUbEXo44h9IXzBYC9nZjbjV2T
QsaVAVHCoR/9PLswaqZwAJQiJURZDME8kufMfcg+Ua80+mSUCbZ5aIAQE30pqtjm
TcMhoWWzYZMuqjrpYboCO5cGidtnQON9zMXBzqpHsGtJQ4GNtWdQ8YvYNLs1HUWv
GcpYoktGcJHUaJVP5Iq92l7uhYpEcvE7kgZz6wPgn+sPepzxUuY=
=qp1A
-----END PGP SIGNATURE-----

--T7Pik+wH1fvE3R4Y--


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 09:58:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 09:58:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468394.727484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8ILN-0005iX-4u; Thu, 22 Dec 2022 09:58:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468394.727484; Thu, 22 Dec 2022 09:58:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8ILN-0005iQ-1p; Thu, 22 Dec 2022 09:58:29 +0000
Received: by outflank-mailman (input) for mailman id 468394;
 Thu, 22 Dec 2022 09:58:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s9VX=4U=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p8ILL-0005i4-R9
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 09:58:27 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ce950d3-81df-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 10:58:26 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 7E16F3200931;
 Thu, 22 Dec 2022 04:58:24 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Thu, 22 Dec 2022 04:58:25 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 22 Dec 2022 04:58:23 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ce950d3-81df-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm2; t=1671703104; x=
	1671789504; bh=vIsANOh8A7Pi5td2jYaouv7GsdBldfAzc3JwYRzGP8s=; b=a
	gJk0YWl8tSRpfPdKjpbfX/v4ZPQwcoyYyD3GB1ImvKUALKpsXLEUYWmQS+i1/mMj
	Fds7Tx6g/x2b+dhKEBDhlLo2c9BRLXpt+GcixbjknteecyhMYqypzwebH3a/SXRI
	Q68aideCiJa3JbQ4ebN7SIlKLnODY96J5qbayuIIui+So9LtpZ1cfqGspFtzYpBi
	A2UaRofeDOEkDH09/rhft6toUJP0mLuaLscdCHrUvNlKckMxXfyKvsH6Dadf1j/q
	ZoziTfxA8Q4esjE9Jtyct1D9Uj1pm1VzLtwpmimnD4riHMCNWT8gzySLNtEoGj8u
	OnV+VFxN00EOvHVzrI4lg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671703104; x=1671789504; bh=vIsANOh8A7Pi5td2jYaouv7GsdBl
	dfAzc3JwYRzGP8s=; b=M4KrQWSshHuZb9lf8hgzxdXFeWSLkU9zBluiSxfBW9Og
	nxqj+CO5zSqR8qm/j3YYALWh5hvLZmg5/nFEzQ7VGSYWLK8SrMAvhZDeYFc2iJ8d
	BUtmu0DmpJ1wRPMeNZYrVXf2+xj3JgemfpX+A0M+z+ZUiPgisQB/qnGcJK0bmxeA
	3YS/3TdxYj69C04R/Zk90Bgf9sa+OGrMusG6gRGs0/Vhbqg1R4HONzSpdzmtthiJ
	18gELmHBJ74AWtZTMQj2rPGRGeJUYXC/rn4RfZhzbbj28QDdVYWD5/Zz/c7hgBKZ
	Bf8+xu4I7lC/zs+75+U6GaS/OaKkZdn1+7EboAJH4A==
X-ME-Sender: <xms:PyqkY6Hl-lotRQx737C4BTPfIROHZ2Mswc3gOX6hqN8YqSeyUjUloQ>
    <xme:PyqkY7WHhL3ad2kVaIqgvd32WDYv98_nUA9hG--yvEuyyGUOAAiHI69KHo62aPj8P
    vSdFVAtTjnMmdo>
X-ME-Received: <xmr:PyqkY0K-lssCMaExrVOFQWVS6JmIUtUoaX1VDr7tFIM1PRSA4u1EcDRN5ssP>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrhedtgddtlecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeduieelfeeutedvleehueetffejgeej
    geffkeelveeuleeukeejjeduffetjeekteenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:QCqkY0G62QOiWt_E-NUE6dvDJHPmi6NcRDhyCJDZ1j00n1RymAAGRA>
    <xmx:QCqkYwV4Oo8yvkhSf4nods55AkLRKigHL5p8vn8dlKUICBt3NZYTDg>
    <xmx:QCqkY3M0PP9Fq1WZBz8CwEvoZQMp1neILxD2LCB4vKO83cj03iq28g>
    <xmx:QCqkYzFpI3iCu6lGsA5rtQEW9dbdN8ITT_3Yn-NjJRCKl0rS_K0Cpw>
Feedback-ID: iac594737:Fastmail
Date: Thu, 22 Dec 2022 04:58:20 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 02/10] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()
Message-ID: <Y6QqPWAwKRBXDOOT@itl-email>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <0026e56a0c91cb0dde9fe19200f473d720a9a950.1671497984.git.demi@invisiblethingslab.com>
 <98839620-d058-5088-da3d-4d200d70b003@suse.com>
 <b033f8bd-3f5d-b4a7-5197-8d098546b25b@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="QiIKifiey0D8jw9w"
Content-Disposition: inline
In-Reply-To: <b033f8bd-3f5d-b4a7-5197-8d098546b25b@suse.com>


--QiIKifiey0D8jw9w
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 22 Dec 2022 04:58:20 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 02/10] x86/mm: Avoid hard-coding PAT in
 get_page_from_l1e()

On Thu, Dec 22, 2022 at 10:51:08AM +0100, Jan Beulich wrote:
> On 20.12.2022 09:19, Jan Beulich wrote:
> > On 20.12.2022 02:07, Demi Marie Obenour wrote:
> >> get_page_from_l1e() relied on Xen's choice of PAT, which is brittle in
> >> the face of future PAT changes.  Instead, compute the actual cacheabil=
ity
> >> used by the CPU and switch on that, as this will work no matter what P=
AT
> >> Xen uses.
> >>
> >> No functional change intended.  This code is itself questionable and m=
ay
> >> be removed in the future, but removing it would be an observable
> >> behavior change and so is out of scope for this patch series.
> >>
> >> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> >> ---
> >> Changes since v4:
> >> - Do not add new pte_flags_to_cacheability() helper, as this code may =
be
> >>   removed in the near future and so adding a new helper for it is a bad
> >>   idea.
> >> - Do not BUG() in the event of an unexpected cacheability.  This cannot
> >>   happen, but it is simpler to force such types to UC than to prove th=
at
> >>   the BUG() is not reachable.
> >>
> >> Changes since v3:
> >> - Compute and use the actual cacheability as seen by the processor.
> >>
> >> Changes since v2:
> >> - Improve commit message.
> >> ---
> >>  xen/arch/x86/mm.c | 14 ++++++++------
> >>  1 file changed, 8 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> >> index 78b1972e4170cacccc9c37c6e64e76e66a7da87f..dba6c77ef2f7ed7fcb7f7e=
526583ccadd35e62cc 100644
> >> --- a/xen/arch/x86/mm.c
> >> +++ b/xen/arch/x86/mm.c
> >> @@ -959,14 +959,16 @@ get_page_from_l1e(
> >>              flip =3D _PAGE_RW;
> >>          }
> >> =20
> >> -        switch ( l1f & PAGE_CACHE_ATTRS )
> >> +        switch ( 0xFF & (XEN_MSR_PAT >> (8 * pte_flags_to_cacheattr(l=
1f))) )
> >>          {
> >> -        case 0: /* WB */
> >> -            flip |=3D _PAGE_PWT | _PAGE_PCD;
> >> +        case X86_MT_UC:
> >> +        case X86_MT_UCM:
> >> +        case X86_MT_WC:
> >> +            /* not cacheable */
> >>              break;
> >> -        case _PAGE_PWT: /* WT */
> >> -        case _PAGE_PWT | _PAGE_PAT: /* WP */
> >> -            flip |=3D _PAGE_PCD | (l1f & _PAGE_PAT);
> >> +        default:
> >> +            /* cacheable */
> >> +            flip |=3D ((l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC);
> >>              break;
> >=20
> > In v4 the comment here was "cacheable, force to UC". The latter aspect =
is
> > quite relevant (and iirc also what Andrew had asked for to have as a
> > comment). But with this now being the default case, the comment (in eit=
her
> > this or the earlier form) would become stale. A forward compatible way =
of
> > wording this would e.g. be "force any other type to UC". With an adjust=
ment
> > along these lines (which I think could be done while committing)
> > Reviewed-by: Jan Beulich <jbeulich@suse.com>
>=20
> If you had replied signaling your consent (and perhaps the preferred by y=
ou
> wording), I would have committed this. Now it's going to be v6 afaic ...
>=20
> Jan

Sorry about that.  "potentially cacheable, force to UC" is the wording
I have planned for v6, along with "not cacheable, allow" in the other
case.  Feel free to go ahead and commit if you want.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--QiIKifiey0D8jw9w
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOkKj0ACgkQsoi1X/+c
IsGStRAAoyyENEx0AuL7ebkJ8Lmtdm06zwG6hfumHUqTNIRqvrvfTNiNk34WQc1M
vK032s+MJjcNtizWSHp6+9p4Zaj0IGvfU4+FpBiKuONgiCnS6F6ZQN7JVMwKaXBp
nYZLYnKu4QCZn2ET3ROGetA4ZW7coOaMIF/+lrc57ecXtAPsdsftTNWR//qAyEFG
DFhuAHI00Y/1LUW09x++yIRcZShUGLEyW2oyjmeZDryNHKGRozZaOa/xtfrUXYBd
TW/CSy7th4MwZHmDnT8E1IDXiIp+7envyFeMC9qM83YPQY1HzR8Fa5/zXXdDQbo2
I5ICzebwm9ntfThoMi7nQ9lyYt/vQReLepqYK2zJh/ADxrf1aTwg9rME+l/8k45h
M3gLYbIJOOK5rGfYGwi0cVIne9qpft3SyXsG9MJ9++MGNc0FnP36jcuL45o4SzZg
1iouXe7FO5BA2ZiKJ5wqoUjLSB2Si/vAtR89J8wh3nqoHL6bE80RBfvV/aBjQPeW
CwUizcJwwWX9L/hrdPsey5+BbrjrZNIlciOG8JdF8D7eSoroRlzG4UASNrSVc5rs
GhQUeHEcjUJNE4SybJoivGSGda8U9W9cR3fZN6vborQv/ZcpSJ02lThLFlTXPRqA
JHQZvBRtCR5ez3HrGMZwxYJ4+QLeUCA7Ino/d3F/HA87oasbyRg=
=G5Y4
-----END PGP SIGNATURE-----

--QiIKifiey0D8jw9w--


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 10:00:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 10:00:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468404.727495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8INd-0007EU-MD; Thu, 22 Dec 2022 10:00:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468404.727495; Thu, 22 Dec 2022 10:00:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8INd-0007EN-I3; Thu, 22 Dec 2022 10:00:49 +0000
Received: by outflank-mailman (input) for mailman id 468404;
 Thu, 22 Dec 2022 10:00:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s9VX=4U=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p8INc-0007EH-DI
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 10:00:48 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 811d512b-81df-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 11:00:47 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 1E2D43200063;
 Thu, 22 Dec 2022 05:00:45 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Thu, 22 Dec 2022 05:00:45 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 22 Dec 2022 05:00:43 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 811d512b-81df-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm2; t=1671703244; x=
	1671789644; bh=+w3WSY0c/uMG1tHSVcU8TJZR3ot/GHWuEknsItEmruE=; b=M
	1DP4aFw8pMRTeiVe7KzDeZw+tBTJ1z7vnxO2MAJ2ll5UvwSJDeQP7eHfFNUR8719
	L5ttrEr3NpvC5saHbGcAmG84/SHTmpSqT8ZtX/iqUmnIe8K1myzj1yP702oEZuPp
	BkgyYi5lXUF1GsCIhOAAG6vlmKe+wbV3dfCtNXWTYNvb9dxeTEzlFFZ0kqLaAEPi
	0If0bAhDoe6W1SER/ztXAAaIeJBGcQkiifVTiBzx53rEpAydfr1y+PVnoA8kdesv
	ZPziZbp/Lk721DuK5WtOw1UX8bTOOoFlcG7eiAmSiU0ZOuPJ0Vg/ZLikxeYhl0Em
	w909htdWIaYWOSKaEW6Kw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671703244; x=1671789644; bh=+w3WSY0c/uMG1tHSVcU8TJZR3ot/
	GHWuEknsItEmruE=; b=T6rojTKgd46AliecfXhKe7lPGBhKtBLI0HXyFV+JvWX0
	oEdX37fOk59g/BvdaXrkRAyjBpttS9+YdQCGcWOKwOYI4/Wx2neLihN5A5IwL6J8
	vzqWKijB4iYJNFVxNvMPgArhqb9hbeUnG3E6/Vzdb3U5S0mU/xfmZCyL/avx5nfR
	9Yl9hzJezlAwvmzvO+v0w97yPB0Odeso+n2GJE5QdYTDtUJ1wiMrEYol40LUzO+y
	IG0PvtTU31MAH+2GfKeEG4Uw8K5aNYi9JmldE/KG6hGkeLkWhNUL74yKA2F3CIHV
	en9pIRnLF1tATTMu+aC9i6lMyN449Om/KsddKJ9wJg==
X-ME-Sender: <xms:zCqkY5IjxgH1sGUtlEBwZELOhl9-Kk8C2JqVku4cy2_MTkL-goRLTw>
    <xme:zCqkY1Jt4HOtx8B3bXS37FWcDu-e7MfpdkpuZLbXxBrzxN0ZhPYpC-d9c8o_VYsrq
    V2TKPAHOoaIGvI>
X-ME-Received: <xmr:zCqkYxuQvtNH6FbggIsdl4K27gHqzg85QaywOeeKgPi4nRi3YvRQ2DMAhegr>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrhedtgddutdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvjeetgeekhfetudfhgfetffegfffg
    uddvgffhffeifeeikeektdehgeetheffleenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:zCqkY6YJY-UC_lCKTWIOc51Xo8UFJgcRsl-_8jZs8dKVhlZ4Pgy3pw>
    <xmx:zCqkYwYEIrv4ULwimHCdZ5oM7AqyUn1I2ACXOLz833kr6lOoqyzASw>
    <xmx:zCqkY-C2h6cgOGSiEKC-tDU1ASdGJ5odk7sKNMSWnRGk8i9zGBdKsw>
    <xmx:zCqkYw7wZ2hfF7DCqrzhPPd9F6RJYpXleJYGGv8dxu4MwQy0mE4p1Q>
Feedback-ID: iac594737:Fastmail
Date: Thu, 22 Dec 2022 05:00:40 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 08/10] x86/mm: make code robust to future PAT changes
Message-ID: <Y6QqyTzD4FpPtiqH@itl-email>
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <a8920eef3254cbf470a0d35a887dbaf0e4907a6d.1671497984.git.demi@invisiblethingslab.com>
 <06dff83a-b120-a2b4-c61f-7864935d4c3e@suse.com>
 <Y6QodBfEc828o988@itl-email>
 <700e86ac-7efc-9d6d-43dd-a06bb541a1fb@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="kDiZFmu2A0PiXt8a"
Content-Disposition: inline
In-Reply-To: <700e86ac-7efc-9d6d-43dd-a06bb541a1fb@suse.com>


--kDiZFmu2A0PiXt8a
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 22 Dec 2022 05:00:40 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v5 08/10] x86/mm: make code robust to future PAT changes

On Thu, Dec 22, 2022 at 10:54:48AM +0100, Jan Beulich wrote:
> On 22.12.2022 10:50, Demi Marie Obenour wrote:
> > On Thu, Dec 22, 2022 at 10:35:08AM +0100, Jan Beulich wrote:
> >> On 20.12.2022 02:07, Demi Marie Obenour wrote:
> >>> --- a/xen/arch/x86/mm.c
> >>> +++ b/xen/arch/x86/mm.c
> >>> @@ -6352,6 +6352,11 @@ unsigned long get_upper_mfn_bound(void)
> >>>      return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1;
> >>>  }
> >>> =20
> >>> +
> >>> +/*
> >>> + * A bunch of static assertions to check that the XEN_MSR_PAT is val=
id
> >>> + * and consistent with the _PAGE_* macros, and that _PAGE_WB is zero.
> >>> + */
> >>>  static void __init __maybe_unused build_assertions(void)
> >>>  {
> >>>      /*
> >>> @@ -6361,6 +6366,72 @@ static void __init __maybe_unused build_assert=
ions(void)
> >>>       * using different PATs will not work.
> >>>       */
> >>>      BUILD_BUG_ON(XEN_MSR_PAT !=3D 0x050100070406ULL);
> >>> +
> >>> +    /*
> >>> +     * _PAGE_WB must be zero for several reasons, not least because =
Linux
> >>> +     * assumes it.
> >>> +     */
> >>> +    BUILD_BUG_ON(_PAGE_WB);
> >>
> >> Strictly speaking this is a requirement only for PV guests. We may not
> >> want to go as far as putting "#ifdef CONFIG_PV" around it, but at least
> >> the code comment (and then also the part of the description referring
> >> to this) will imo want to say so.
> >=20
> > Does Xen itself depend on this?
>=20
> With the wording in the description I was going from the assumption that
> you have audited code and found that we properly use _PAGE_* constants
> everywhere.

There could be other hard-coded uses of magic numbers I haven=E2=80=99t fou=
nd,
and _PAGE_WB is currently zero so I would be quite surpised if no code
in Xen omits it.  Linux also has a BUILD_BUG_ON() to check the same
thing.

> >>> +} while (0)
> >>> +
> >>> +    /*
> >>> +     * If one of these trips, the corresponding _PAGE_* macro is inc=
onsistent
> >>> +     * with XEN_MSR_PAT.  This would cause Xen to use incorrect cach=
eability
> >>> +     * flags, with results that are undefined and probably harmful.
> >>
> >> Why "undefined"? They may be wrong / broken, but the result is still w=
ell-
> >> defined afaict.
> >=20
> > =E2=80=9Cundefined=E2=80=9D is meant as =E2=80=9Cone has violated a cor=
e assumption that
> > higher-level stuff depends on, so things can go arbitrarily wrong,
> > including e.g. corrupting memory or data=E2=80=9D.  Is this accurate?  =
Should I
> > drop the dependent clause, or do you have a suggestion for something
> > better?
>=20
> s/undefined/unknown/ ?

Will fix in v6.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--kDiZFmu2A0PiXt8a
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOkKskACgkQsoi1X/+c
IsGFuw/7BD2/akwUPE7gydadNlnI9Ejs9zgE/0C7emD81MXoUQd2/+d2hidDHVer
4wNRfXpvBKSsq9AhxeaH8vIUDQUa3/16dXDyWdRbijJzYs6LhUpC+1bN7GSnTo1Q
nlCRTipz9ihC/H+25RkMy4BRixHpPhw8dRP9Z8gXsf6DOxNQ6IzmFlDP2JOwcTLi
ZAAzZ0qIc6YMvPkGqVNZVilY0muypjTrxNdLBp9LDx5AOUyT7djhRqt4JqneE962
VAY/K6qqu1K/DBALaFurGasAwmJ+z67blPb80FbwLDr1mAkG/Y1YVexFdVEZVARs
He2bUP8zu9DnRgT9kk1C28Jb030W410zXwrFyv+u1bgmFk8Rtvgxi5DQDy0lGiAx
gUWRb7Exgl0Ly+ZykRL3OuNLT8l1AqAEq2LcdneB+dSKMiRlwpcrw+ogUkjqtnU4
/GEq5hs46hMLl1d4ldAouKXOgc1gkphPusZH7+W/cNuZ+SOi5hLfq23suylVqUw+
eHlAFB4owMwVjV5fDP1uh0AVP3ER3lFJMR7GPMy8J5pLKTARYWnHFiFVXvmlQPQu
yME8hSBBpKQHwr0ef8xm//v2VMF6tW/T/TWexDuPff5uOC6g2DC/ww1dAhFmVq5a
j9s2c+3AGGSzCvChDUKcuZBGntW9KdJT0kd1Oam/nDrqJh9DkR0=
=KxSV
-----END PGP SIGNATURE-----

--kDiZFmu2A0PiXt8a--


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 10:03:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 10:03:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468412.727506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IPz-0007pw-29; Thu, 22 Dec 2022 10:03:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468412.727506; Thu, 22 Dec 2022 10:03:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IPy-0007pp-Vf; Thu, 22 Dec 2022 10:03:14 +0000
Received: by outflank-mailman (input) for mailman id 468412;
 Thu, 22 Dec 2022 10:03:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8IPw-0007pj-O7
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 10:03:12 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2064.outbound.protection.outlook.com [40.107.20.64])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7263c6f-81df-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 11:03:10 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS8PR04MB8820.eurprd04.prod.outlook.com (2603:10a6:20b:42f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.12; Thu, 22 Dec
 2022 10:03:09 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 10:03:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7263c6f-81df-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nn7WAwtQKHWJH3hiNUvNI05hMRVtaJ3FsvQILYWTdtcOg2E0MFAPihtEZPDwUx4Avh7s+8QW0FU0d5v8lv/Ov8kiyJ71+ohfCGVDl44K3rGUeDNHwfjsYfE6e0QQql90gwUgWOs2yt2s+7kry4szHWk3CHsOGrBIoX7ig6HDZyVdbtVZBueErmxB1B8fOoRUNEdiZV8flMv/KnzS2E/P/tBTPZ+e7schICNHI8Do/T4VsuBmQQPBlaMSNi7ibKqt/VdXp9xJVlKaiUb/IeEQv+f3uLjxDMK/N5W+RDhfLTweJe/MOa4R05zViM/o6y2yattSRhRMXUky31c5lhW11A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+mgYqquBmVdXPJenKon82tBCG5zaN6dmlRekcDrR1xs=;
 b=k7y54b+qUZQK/kVdwjDHHNBftUHotB/TP3y11byWpYqm9XoYoZ2PKMqB03Db9EU/1J1uPnVXKIOkA3/PuAuwSIBk91/1OmoEhJ/Ha8gU8zUo6FmktjoQpVBb+ABNJQ/XO5UI9pxWBTm0Ope2sU9kZu5T1nJaM5MrCjR8E9P/QQVNnOgD1RKVYhQbkTCX4oRyKeuaRrxSg+stWp/Jdfz+nG/78NmGvvAghKM3z+lfuXigJkP3zgIkAmHkw2XwUwoNBK45WdreXwvydSLxCUlp6ung1l723W8whfI4uTMrGSIV/YC5U8vyy5yK/B26/mlyz/Kyd/LE6DCljiDmv9iiHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+mgYqquBmVdXPJenKon82tBCG5zaN6dmlRekcDrR1xs=;
 b=4Jhx7dZX4D1uQQlXRIE0mU44HhqHrJpfusrTfEJSm8TYXxUqgmADdUAv49wzVrkEDWC4tfptJIwQrpTnxoccxs4I50rJQOVAbIrBEfvp33HIiPp6cabCF3sFTwCXGs54YOaZgZ37ZG48/lKKA6FfKPgUWP58kuPWaMHUDpaG1OI0qxkI8xA/gvLUH8iX9DkKHEZrQ9pFzgQETc1/O5gSzoxGprdEmKlTJpX5RfZ6JuOoB48EPh9JCjNxHmoELKybn20XvUR/2JvAn63Rf6hrWeQPogEBMEwNwWkwNYV0PW12wiuek4Jm9VqKYlwYZG/zqaUQUVmdlCCaPRccUvu4rw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f7d54fcd-431b-8978-4a7d-024c27ee1925@suse.com>
Date: Thu, 22 Dec 2022 11:03:06 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v5 08/10] x86/mm: make code robust to future PAT changes
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <a8920eef3254cbf470a0d35a887dbaf0e4907a6d.1671497984.git.demi@invisiblethingslab.com>
 <06dff83a-b120-a2b4-c61f-7864935d4c3e@suse.com> <Y6QodBfEc828o988@itl-email>
 <700e86ac-7efc-9d6d-43dd-a06bb541a1fb@suse.com> <Y6QqyTzD4FpPtiqH@itl-email>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Y6QqyTzD4FpPtiqH@itl-email>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0185.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::18) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AS8PR04MB8820:EE_
X-MS-Office365-Filtering-Correlation-Id: f1951c8a-19f1-48b4-851a-08dae403ba56
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	O0BcV5u8pkFFxZ6HT5GWVqibq/1WucMASW0HO6iUfCLzDa47+jpgUyoMX6vrq/PR034NKG00FhsupeU+2CLk5k+IrK8R/TosU+OGVvNWBiE58mhWniuoqyUgf4Bb2OQCusy4Turq1iWJnvA+Asw9sJ0AVU82hCbA6k+IiygAdL2ZYm9FDB3ThQF3wW1Izy5cRZGHMaUAYeG4qk9S7Za1xsRlldRGWpnsiWKmReryvPcvObTz4UDUB7VcC0A4sMPGmddaX128ak6Xs8B1AKesGdfR1rgCyR+ikh1Z72+hN1MKuYupKvXqP7PyPvBNA8PTvOB6FnhGmFnAlsqFjfmzIi9hEHOjPWi4//Eu9yKhqayNkDu+EorRMWHjV2AvwACIahCJBfv4H77c24dkTBythfugEBzsEnxxEBbRcSLme7Jw27vsRQ2EhlTZFbzlj6R3m4CBSVCr/9z//uHwjHz46GO1OkyWm1mmygDnOBqVECM7PBZYB0VtkLAgia3eGNIOfpa+hxHPusBAWfJkKfGAJin6N5o4lJY7ajpmghQ9RMFFR85stVUxDw9yGMtf9YlgW+FNKmHtdkJFFHX0HQE5Ktzif5J63udDxD2Q6K8Gi4xQeMKykDPqTv+TEEOKGUuI3UW/7AJG+AAsNr7wS8OsmXV2mlI7q+lWMO+ttl0U91iSEafKwJOdy1uYOtjR0LKE/lxmRJjIrGtXTh+6HDIpc+GVRWkb842w7gItpDR6QIg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(366004)(376002)(346002)(396003)(136003)(451199015)(86362001)(316002)(31696002)(66946007)(8676002)(66556008)(4326008)(66476007)(38100700002)(2616005)(36756003)(54906003)(6916009)(2906002)(8936002)(5660300002)(7416002)(83380400001)(41300700001)(31686004)(6506007)(53546011)(6512007)(478600001)(6486002)(6666004)(26005)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Skh3bFQvaUNtMmFreVltV3VDMFI2ZU1EUGd4bXM0Rk5xUkRVRFJUaithVWxk?=
 =?utf-8?B?Tk5mSUdhSlI0cWlhRnFQdFNDWnE0N0swdlRIVXhvOHBnbDFLcEFqc3VpL2Fn?=
 =?utf-8?B?YmMzNE9OVGtHYUkxSkRLZHVZcjJWRjlvSWRDZWJxekNkdm5CeTYwdUNqb1hG?=
 =?utf-8?B?bFc4L2FGcFNScThsQVZXVVJ3dEE3TlVxcExNQ0dsY05zMXNuYTU3d3JRb1Za?=
 =?utf-8?B?OWFZM2ZzSThGVjR6RHpDOHh0eVovOER4ZTVVYjVwRUlNRGdHc2I4YUxxOVN2?=
 =?utf-8?B?aTJTYzhhV0lwbHlXczVFb1dQNWNoYzJ4QTI4b1Vxem1yT3hVYWl1TFpZY2Jh?=
 =?utf-8?B?cStUSlgzSGczYkhURVAyelgrSTY0OGtXdGFjeG81U3QxUC94WHYxKzhNSVN5?=
 =?utf-8?B?RjJPWURTTXhIem9OMlhBRjlxYmZrak9heGR1T3BiS3JPZGVDMjA0bVdQcmts?=
 =?utf-8?B?ZmxYUzJBZFFBVkVPK3ZkZzM1TmRWN0pkd2tWTEVXaXE1cjU0RVBmaG1HOHl1?=
 =?utf-8?B?bmZLZVdtMW1GYVhzWmVJaEVEbkk3QlRYMEZiUDI1UGp2MGsvL3hDWmlsdVpP?=
 =?utf-8?B?YzNlU1RzQkhuWUpkQm9EbjBXOHA1RGZYV1NEZytjUEpuVlpsRm8xV2hnaHlK?=
 =?utf-8?B?SWEvNHN5c1I2bGdIWDdzaGlNOTRMc3g4QzVuamhVNlZCT3prdis3d1hUYlJU?=
 =?utf-8?B?QUVHV0hwWU9tMm82MWJaK1hhaFoxTGRMdmlRTnBMeWlIS3c3TEJmVkxUZ1Ry?=
 =?utf-8?B?QW5xTEo3RHFoMGZkRTFVRDNTZzRhTmFub2R6RGZMVFhDUE9xeXJtZENQeUlx?=
 =?utf-8?B?QmJ4NnlMMFhmVWhqb2V3cGZTNDFOUjRXZjM1VDBXbkpuZmJhTXQ0eVJSdHI5?=
 =?utf-8?B?R0hqYmRPeW1IZm5VdEczZGNDU0N6Nk9sNWI0cWFHL2xEazlacWdVSXc0anpv?=
 =?utf-8?B?UllBMDAwRUFtOFFOL2d0L0xydnJmQXVXaDJKYWlHNlVaUmFPbUpHdGpoZU5v?=
 =?utf-8?B?aTZjT09kTldoTkxYbWx1TEVSOVY1ZytrOW8zd3ExVThSMmh4RENwVWt4a05G?=
 =?utf-8?B?d3YzU3I3SnFGL0VhT3VVeEt2R0pHQ1NlRndIQmlrRlQ2MVUxYW83NmhWL3Z3?=
 =?utf-8?B?dWRPWU93dzh1eWJzdVdicGVQcG9SaWo0Z3pINjhsa1ZYWlFJcXMyTE10QWxS?=
 =?utf-8?B?dVZJYzQrQWhUMDNHR1YxbXhZWWJYbG05dDhMd24zektadjVXNzcxenVDOFFQ?=
 =?utf-8?B?bmlKeHAvUkJkUjQ4QnlTWExzNEJmUmlsYVlSWUtPenZVMmsrVWd5eGlobjVO?=
 =?utf-8?B?TnJzYUdTVUk3K0ZvaVdPS3dSQWd6bmRJTlJ3cUlTNEw0WUd3YXF5emgzQ3h2?=
 =?utf-8?B?cUJiT3duRGNYZHNtVHRaS05Mc1NOd1VTNDhHSjZZM2cxMzJ5UmE1TVZpUk11?=
 =?utf-8?B?WlNrSHNpYjdwWkk5bi9NbkNZSnF0S2N2NCtOdGMyVFQ2cXJmbEplcjczUmQy?=
 =?utf-8?B?YVp6UDAwWloxQUdYUEtRN3dZeXJhdUlrNHlUMkN6Y1BpanJXamc4NVhzT0xm?=
 =?utf-8?B?bTQ5VHBSUFRBMU9IWitjVjRsSHpwbGgxMk9VMHhpbzEyRmJ3ZjlUZnFPQm5h?=
 =?utf-8?B?b0RpOG1kei85RTlyaDFOYVByQlV0NUhxcllvN3Z4bXdBdWFMczhyNTkrUksr?=
 =?utf-8?B?aFZ6SHA0U040ckwrQTJQZDRUY1ZsY2p3SXZ3cm1rcXo3aUhiRVRpNWxKckh6?=
 =?utf-8?B?aTYzZ2lvc25UT3pxeVQ2bXJhaW02NzY4cHA2RVNnWTc0TVEzU0JseEZXVXlU?=
 =?utf-8?B?TlRqQmc4Q2Jrd095T3FzUEdUaTlzdVlOblRYeDR2b0djcjl2V2lsZld0aDBo?=
 =?utf-8?B?bnB2cDd1ZWo4WjFsbWlMbTVraGd1cnhodWZOVzJ4VlZuTGNiRlZDMDB0Z3JO?=
 =?utf-8?B?eEhOUXVOWmJtTkFSNGZWbXJHYVF0ckVMSEUvNlBjVGd1TzZnUUJMYWxZajd5?=
 =?utf-8?B?Q0NicCtYTDB1TDhLUlNidCt0RlNSQ2hCRWpwSlpQaHAwUVBOWnBWMlEwNmJo?=
 =?utf-8?B?Vmw2MjlpMW1NWTFNRFBTTGVtcThpaEFqSFRpN041aXZwZnZQQTR5Uk1EZjJN?=
 =?utf-8?Q?qEQLvwSgZtTBavbrRAmZSPZnz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1951c8a-19f1-48b4-851a-08dae403ba56
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 10:03:08.9863
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: upjBv4zprwuEo3C9nDpeOWODz+BxgzKs/mBlebAFvWHPMAiuWYzRtI7xUAGzUBxTQuL7MZvM59HX6L+rX20XlA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8820

On 22.12.2022 11:00, Demi Marie Obenour wrote:
> On Thu, Dec 22, 2022 at 10:54:48AM +0100, Jan Beulich wrote:
>> On 22.12.2022 10:50, Demi Marie Obenour wrote:
>>> On Thu, Dec 22, 2022 at 10:35:08AM +0100, Jan Beulich wrote:
>>>> On 20.12.2022 02:07, Demi Marie Obenour wrote:
>>>>> @@ -6361,6 +6366,72 @@ static void __init __maybe_unused build_assertions(void)
>>>>>       * using different PATs will not work.
>>>>>       */
>>>>>      BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL);
>>>>> +
>>>>> +    /*
>>>>> +     * _PAGE_WB must be zero for several reasons, not least because Linux
>>>>> +     * assumes it.
>>>>> +     */
>>>>> +    BUILD_BUG_ON(_PAGE_WB);
>>>>
>>>> Strictly speaking this is a requirement only for PV guests. We may not
>>>> want to go as far as putting "#ifdef CONFIG_PV" around it, but at least
>>>> the code comment (and then also the part of the description referring
>>>> to this) will imo want to say so.
>>>
>>> Does Xen itself depend on this?
>>
>> With the wording in the description I was going from the assumption that
>> you have audited code and found that we properly use _PAGE_* constants
>> everywhere.
> 
> There could be other hard-coded uses of magic numbers I haven’t found,
> and _PAGE_WB is currently zero so I would be quite surpised if no code
> in Xen omits it.  Linux also has a BUILD_BUG_ON() to check the same
> thing.

Fair enough - please adjust description and comment text accordingly then.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 10:07:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 10:07:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468419.727517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8ITd-0008Rw-Iu; Thu, 22 Dec 2022 10:07:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468419.727517; Thu, 22 Dec 2022 10:07:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8ITd-0008Rp-F8; Thu, 22 Dec 2022 10:07:01 +0000
Received: by outflank-mailman (input) for mailman id 468419;
 Thu, 22 Dec 2022 10:07:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8ITd-0008Rj-21
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 10:07:01 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062.outbound.protection.outlook.com [40.107.20.62])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5f4e3396-81e0-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 11:06:59 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS8PR04MB8820.eurprd04.prod.outlook.com (2603:10a6:20b:42f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.12; Thu, 22 Dec
 2022 10:06:58 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 10:06:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f4e3396-81e0-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Mi5S2MMnMsaLftgpsDFAkyOB0Oflllp4PwB41kPKTIf4Dl25CR6ywlBcBJT4UBK40/XqK+zn25yXgLFOlNmSBdMtytIjZuLnxqsauzL9clr42k9x9291TronEn1F/5NCScmwYT5IQTJXOcHcVKej3h+UwnLat087Z3Jlm2kSDg/wpaIW6wXNMFVLQEf55pBfBXBCnNsj64HsknWG9uxcuki510m9zLUfKCbqo8xD2F0QRpJciARq2N1OqvcLUVTQYtSCIGy74MIcL6W/cMOBP/9h3nl8cKRyFb4XNqgh3Kjoz5T+62MQPhfly238UD9E5N+wY+jeqe7c6Y0SMXw4Gg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bHb+wIfCyyIQstZPl7j3VKlivTPMvRbEm1OPJTbXpS8=;
 b=WKpkU0WQhzWRp5NmyIa8g8ZhFBi/aQThKQ4xyrooX7WKOGYct4x551KYOSg6FWlbAfN+hvQz/HCTN3W4oJF3Kl0d9Ul9rvY16NTWcLS7vpaIiQhtWbQkmRi9AVsJyd1rIhq4AT2pFp9CL8H+OKDStua7jrN3AlNw0RDOg+NHuI4KngSSJIF39slR0AsPvLGOYUSzsqgmr41Q7MS5qykmADuOb3s6jzlWhpL3mWhhaT+yCsQ5zQ0dXQiNmtuAs3K+G6QuVp1tlUD7d2N9RR6Qj9aJqWesSOA7d4uThIv/M9fV3I0e0+B7fYcmSFrWWw2ICHKr2Moc1OuT4hs7wyDWig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bHb+wIfCyyIQstZPl7j3VKlivTPMvRbEm1OPJTbXpS8=;
 b=FoLeVR0rQOMCpx5eHXL+Ki0vjo7FGVAxmM1Rl2Jp1A0eSmD6EpjXWqGXhvHCYP9W4A46D1GoJOt1iwSgPKVxERrM2/bEyfs6P8eQcx0XVlvV3e3WmYQnKH1R7dlDnnNgZ1XZ2UqmKLIyNBHUndD0IYWAIMttBejUzyZtclmXscDmlLNd2YPJPqF9ayKXqNkTRtH40DFhWUtpB3+2ADDUlKJcAfDbD4GCDtgSI64J6opeKULEAHW0QeYFl9L1jN2XRc1j2nQ9coctqkgf0MIv0Kr95mLVmqCk7srSSHfHi6G2wxAa62P0Qn9fxpgtKxhowYIa0pqUFtrDnv+xeoy7EA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3762a997-743e-8aae-b183-5b99d49fe957@suse.com>
Date: Thu, 22 Dec 2022 11:06:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH v5 09/10] x86/mm: Reject invalid cacheability in PV guests
 by default
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1671497984.git.demi@invisiblethingslab.com>
 <64d81a49e5e00527ae01b707080f6f0e14ee667c.1671497984.git.demi@invisiblethingslab.com>
 <a73a6829-5924-a98a-704b-c0111c16a3f1@suse.com> <Y6QppKYFkKqyo3cS@itl-email>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <Y6QppKYFkKqyo3cS@itl-email>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0087.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::12) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AS8PR04MB8820:EE_
X-MS-Office365-Filtering-Correlation-Id: 84297049-0fb1-4523-9cf2-08dae4044340
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PWpI/oSNv/veU0ijouHG3MYJU7bFVXJcHKc8DoRoaFwGC3qUqPJjSxuy3f9KNKFHpOWI7SuxVwE1m6XslKzp57HbC2YFnlTHW5CAEmC6oiQF5/XpS3gPBM7Vnf9HZj4FnIt06QHZZDsosznwvPe120kamTzktcR+oVJ8QXY8i/AkVMFt4ICW1LhP0ausaj4yKGnAg22qS13gNv3Pwo8QOcsoV6zA3zxzZ+b3p9bX8NgouWfXnADGfLmuTalvy/2Rlc7DBrm9bvDNssmL24cSmrx9zPQtOvB68+SkCjWz4vSDPJa5criZ3j0I+ee3KRuw13uiLf5L2sx69wt1Kl2gfzh7XiR0bW8XKRGPSDRmC6xBNv8u5dub9Y7gmaPrsjEBhXpQP8HXHJ7x71ZZC1wl4ltW1CFSil0ih6IlOpQvRTYRDOEx+RM0mQCxnog+mOPNh64zmJvIhcw8UfvuBxoS3tPB9dhoDxoIeuY4rNVmMcyOWczo4lF5E+ovQGuQC1ciWEbvmfgyYZZppHZxQgPnUf7KJlUjdjM4Q3scoyJW2sukOpkFd9NLUzaXwHtBGfI27Xl0UrTBdcRz/qqbqMrWrV//eKSoa1SDYsE+XeUweJhK4FapINabSAgocBKXUnqo3b+Vr0xVN0iNrI8Qn/OLW58pFx9gPXZNRnqVDu6VWUsscxhI2XRaZzN1mtWPbvoEP2BhbiVBPnXExfAcVGVNcIZiRnjS++P+WJT/QPQuvKs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(366004)(376002)(346002)(396003)(136003)(451199015)(86362001)(316002)(31696002)(66946007)(8676002)(66556008)(4326008)(66476007)(38100700002)(2616005)(36756003)(54906003)(6916009)(2906002)(8936002)(4744005)(5660300002)(7416002)(41300700001)(31686004)(6506007)(53546011)(6512007)(478600001)(6486002)(26005)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c2xZZHVwVVVZWGZ5Tlh4TTZBRDU5M2lCbHArbXJOVkdEYmRvNHRaQWRiTjFW?=
 =?utf-8?B?RkZ4UXF0MzU3MVVHejdHMzNGcVpNejdHSXRkTy9GTS9HdUhUY1pldkY2QmtE?=
 =?utf-8?B?SEl5RVBTMkdzNTVvR2t2dVU3bmQ1V01WTmJZOC83Ym40cGN4eUJYWFRIV2c2?=
 =?utf-8?B?elZOZHRmbGNtZnZhVmZnZHAxT1o0Wm0rdTR3U3JFaGM3dUFtODZTSGw4aWRu?=
 =?utf-8?B?Y2tSbTlGYUF0eXp4eFNkeEtyY1Z6NkNqUERiR2RZNVlrUGVTMkdndHJZTjB4?=
 =?utf-8?B?Q3IrUXQxL1ZsaVRkazZoZkRDcFhxK3R4K05qd1BGekw3S1JpTTlZYldNTW9m?=
 =?utf-8?B?TVI3V1BJcVBnL1NYUDlFT1dZb1VRV2tzUmd0eFo0Vzk0SUE0YW5NME1oeGU5?=
 =?utf-8?B?Y1lkK0xrTHRCZko0eWovVksyVW45U2owN284Um5FUVZ0UFRwR2UxVDdzdThu?=
 =?utf-8?B?bW41SGxGa1pOVWRDeUMvS2oyNTVlMW13Z2FYUG1Qbkt0WFNlRnJoQXYwdTkz?=
 =?utf-8?B?TTdQV1l3dzA0RXVSWmtHbGRPNVRaa1lKcFhLUm9icW9LS1BzQXVWQmV1RFFx?=
 =?utf-8?B?TzRHYjR4OXNTdVFhR3IxYVpHcEk2b1dic1BURFlFeUVrazg0L2UvSWtueitU?=
 =?utf-8?B?Zkd4N28wS3VZUUdJQ0FWTXdHWjQ4cFloOHpZMkd1RVQxNWp1OHBTQzU0SWFC?=
 =?utf-8?B?NXdiL2FHbElLc1FVNEsrM1JURGdwbkJzUzNuZWtrMDhJL1M1V2k1RGIvY3Mr?=
 =?utf-8?B?Ymh2ZGRqM05vVDR0aFNwVW1JYi9IcDBkN1lLdFdpWEYxUnVHTUZmU2NSTkhi?=
 =?utf-8?B?bUxXOGptdzNJM2U5Z2d5TGt2SUQxdkswZnIzWUVheVUvZEt6UEYrZHFSSGQz?=
 =?utf-8?B?cldHNjBINHJVWnhReVJaODZVV0IveVRmWG1FQzk0dGVpTTFoU1lhbFNSZWhq?=
 =?utf-8?B?bVJlZ0VjNWFmTnpJVFVNUVNMY3d1RWN1MmJxZk5Zd0E5K09QQkkzSzBIdXNs?=
 =?utf-8?B?NEc5R2RGMHFCeW5DeEJ4QnlCTHYwSzllRWRjM1ViYTdadEpadlpINmpkVTdF?=
 =?utf-8?B?RzA1czVHaThuM1hDdHhLVXo1YzZQQWVFWEYvTC9KdXI2YmtvY1cyd3BEVTR5?=
 =?utf-8?B?MU0wVFpqeWwwTEpqdEswVlZ1ZjcwOVJWRWdPeHdpSWhRRUNOQnB5ZlJHbElv?=
 =?utf-8?B?R0V6VXY4N1hMeGdwcHY4ZDlxZm9lMXFteElkS2ZQOC9YU3pEdHcyeE1SbDFG?=
 =?utf-8?B?SGRScVFQTlo5eXdnVkpLVHNWTVB1Yy83dVluUTR5WGZwbzdLbXNpbzZKM2Q0?=
 =?utf-8?B?UkhhYURpcG1DSDF5Tld3a051VGdYekg1aUZ4YjRXbHZjOVhMY1UvYnBPTHRs?=
 =?utf-8?B?ZmZiYzhOeXJPNXJaVUVpRXVtZks0ZmRSd3lHakZrejl4cVlPZFErNEhnUWtv?=
 =?utf-8?B?NjJBdEtNbDFJZnhDazd6VDBzTUNpZXN0MGswS2VjWDFxY00vQTJIZjVldDhI?=
 =?utf-8?B?Ky9OOXN1d09acmR4WCtDZE1QTmplZ0FFVUxFVVBpdnpZbGM2YTRoWGljazVw?=
 =?utf-8?B?R3pPWnYvZ2U2KzNGZHBKVHhQbTQ4Q2NtQjhKcWluZkszb3pRVW9aMExCMk9t?=
 =?utf-8?B?bjU2ZUNQZ1JDSk9IamFnK09PaU11bWpMOFFlUGZSdkdnZUZBQjdOSTBCRmxS?=
 =?utf-8?B?QmFia0VYWXArT2M0LzZHWGZvSlBuNGc1dlQ0SWFySTYxOTMwNWVOeUVmQWRa?=
 =?utf-8?B?YzRMeUpwaWV1ekJHUjVNVFVLb0ZBVzJrZGtNWmNSOEhmQ2oycEs2S21ndWs2?=
 =?utf-8?B?Um9sdTczTUVJQXdMQ3grZEEwNkRubzIrby85amFMb0IzdmhhVElvaVNIc2R5?=
 =?utf-8?B?Mi9nUmowYXBBTFZFM2lsRlZMMnBaYUQ1SVhuTTlQZVkvMHV0bzF0MTZvZThS?=
 =?utf-8?B?a2NtMVhTUGZoUE5UUnhhbFZId3g4R0ZtWm9xbXZPWk1nZDJ0K3diSVd3bjkw?=
 =?utf-8?B?N3BSdEc4c1pUVlg3TmNXWUVZNkYrVDJDNEFHV1hWSVhiUitSdnBMZ3lUQVFC?=
 =?utf-8?B?S2RMUVRtVnU1U2dIOFNTdmlEL1V4YWNYc25SbkRlZVorWHpuNWMrSU5QTlV5?=
 =?utf-8?Q?rk5kg9D3YitMPn1p4Gu9TLIIB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84297049-0fb1-4523-9cf2-08dae4044340
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 10:06:58.6750
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XCLA67/AWW7lvGFdyfqVdWojPd6cLmj3bl3DhGdCo7rSiiReja38pqyeFvIKbQ8N9DNe+ML3rTB7grUGsNr4kA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8820

On 22.12.2022 10:55, Demi Marie Obenour wrote:
> On Thu, Dec 22, 2022 at 10:48:02AM +0100, Jan Beulich wrote:
>> Also wasn't there talk of having this behavior in debug hypervisors
>> only? Without that restriction I'm yet less happy with the change ...
> 
> My understanding was that Andrew preferred the behavior to be turned on
> in release hypervisors too.  I am inclined to agree with Andrew, if for
> no other reason than that those working on guest OSs do not generally
> use debug hypervisors if they are not also working on Xen itself.

That's likely a mistake then, at least for work on PV guest OSes. In
particular PV memory management code is sprinkled with gdprintk(),
in an attempt to help those people understand why some operation has
failed.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 10:14:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 10:14:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468429.727528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IbF-0001Yk-Ff; Thu, 22 Dec 2022 10:14:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468429.727528; Thu, 22 Dec 2022 10:14:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IbF-0001Yd-CH; Thu, 22 Dec 2022 10:14:53 +0000
Received: by outflank-mailman (input) for mailman id 468429;
 Thu, 22 Dec 2022 10:14:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s9VX=4U=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p8IbE-0001YX-46
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 10:14:52 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 771a7347-81e1-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 11:14:50 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 5EE3F32002B6;
 Thu, 22 Dec 2022 05:14:46 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Thu, 22 Dec 2022 05:14:47 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 22 Dec 2022 05:14:44 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 771a7347-81e1-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm2; t=1671704085; x=
	1671790485; bh=d4hQQOKy6iJ8av61TnhqJDsEqSJLdzv2T/PAZ6luOGw=; b=Z
	stogLlCJGcqYzW9thp0CdpCUTrw5V1y+OTeerCf3od5s0JZVDsbpI+U5sqKaDcFj
	0HFbY4aCKGNsiM1aoOrAEd53qr7G6tqvVWaJGXb+06uss6sNXsBsp4QZ7wdp1w5u
	X1B/krXD9roSYOrIVTraxQEi6JldPRcmcRp3MQTSFcANHi+yAZcg7txgBbGzbHi1
	wi6D7sr79oi9eyZqeKgIPz1Pbq/7Iol9zW0pnqLCfEZjiWIVXL+3rRSiH2rQpD7o
	J++Wmo1wJA9nfMN0tWx1VdCLx5qIQaTNKvWMgMVOWEdVXDZ1iUG1s8gCoLBIhezY
	1IZwj3BqtLrWPzhl7tfhA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671704085; x=1671790485; bh=d4hQQOKy6iJ8av61TnhqJDsEqSJL
	dzv2T/PAZ6luOGw=; b=UVeV3hllV4+M/8mJQsTscNH7hR9CXDJ3IpK9/bb780ug
	gsIcTxoccw8U5aj9hR4UJ/vUk6JMFV7sqzNLGG0GYSHTYIpWRVW6823jTumN7YO3
	9pu3Da9cHOoU4KmIRM0f2zK27fqW/fUC0xFi1vMsdXcTUoLEVfojb03gxWObsxzi
	TBFzEMDjb1DOBm1bTBphCCsISSvBkV6pX+WeBn+x7zfON017JOX5srOck0//l8T8
	GV42imGm3KyHkZlmFs/nbMNkAOb0HyvVoLCdl0cisHcZendizui0mbsUaD2z/A9Q
	dKwf9zAYFMubiBJhWPryXGtpVYKMSC2/KbN04eh81g==
X-ME-Sender: <xms:FS6kYzM39aLvu2sKe4fjvkAXHntBWr5I1ttqi1JBEHcA9YkUp936cA>
    <xme:FS6kY99u-hYljtSF_Uf65s-5ItUrWWDpfEtz_xuSzOpA0ilP974BJBiOMiIl4tFFu
    kwi5UDjvKk5Gnc>
X-ME-Received: <xmr:FS6kYyTnMVdF4akLHO50Y6JpIbrclXPd8pBAT9NvGI3CGOSRQAnNlpO5sn1e>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrhedtgdduvdcutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevteeilefhveetgfegueekjedtgfdv
    feelleeigedtheevhfdufedufeeffeejjeenucffohhmrghinhepmhgrrhgtrdhinhhfoh
    dplhifnhdrnhgvthenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhl
    fhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:FS6kY3su_Yd-gl1LRQa538qZBcuCI740UEsbUXtF86U0BRbYyptW1g>
    <xmx:FS6kY7cQNx4yz0lTHq-z2KcP_4LB-dR1sQ0ql-oXv1HNMFb6QU3C6g>
    <xmx:FS6kYz0kEfLgET8QK8uKpNP_vapMj1AKSFBQy6wMeRnhuPMDTft8jg>
    <xmx:FS6kY_7jds5lzap1HBczkfKJpQ6ShthEgHoFeiLAJL4dG7ILGdLP-w>
Feedback-ID: iac594737:Fastmail
Date: Thu, 22 Dec 2022 05:14:38 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Message-ID: <Y6QuEp2cL7XFuon+@itl-email>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
 <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
 <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop>
 <7a7a7156-138d-a53c-fb65-a210e14bd8c1@xen.org>
 <BN0P110MB16429FF1A9FF3507A684C5B2CFEA9@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <alpine.DEB.2.22.394.2212211638100.4079@ubuntu-linux-20-04-desktop>
 <6cf27ac5-6371-9a9c-2df4-7f33812993f1@xen.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="g7zOSGDJOtCNweLt"
Content-Disposition: inline
In-Reply-To: <6cf27ac5-6371-9a9c-2df4-7f33812993f1@xen.org>


--g7zOSGDJOtCNweLt
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 22 Dec 2022 05:14:38 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen

On Thu, Dec 22, 2022 at 09:52:11AM +0000, Julien Grall wrote:
> Hi Stefano,
>=20
> On 22/12/2022 00:38, Stefano Stabellini wrote:
> > On Tue, 20 Dec 2022, Smith, Jackson wrote:
> > > > Hi Stefano,
> > > >=20
> > > > On 16/12/2022 01:46, Stefano Stabellini wrote:
> > > > > On Thu, 15 Dec 2022, Julien Grall wrote:
> > > > > > > > On 13/12/2022 19:48, Smith, Jackson wrote:
> > > > > > > Yes, we are familiar with the "secret-free hypervisor" work. =
As
> > > you
> > > > > > > point out, both our work and the secret-free hypervisor remov=
e the
> > > > > > > directmap region to mitigate the risk of leaking sensitive gu=
est
> > > > > > > secrets. However, our work is slightly different because it
> > > > > > > additionally prevents attackers from tricking Xen into remapp=
ing a
> > > > guest.
> > > > > >=20
> > > > > > I understand your goal, but I don't think this is achieved (see
> > > > > > above). You would need an entity to prevent write to TTBR0_EL2 =
in
> > > > > > order to fully protect it.
> > > > >=20
> > > > > Without a way to stop Xen from reading/writing TTBR0_EL2, we
> > > > cannot
> > > > > claim that the guest's secrets are 100% safe.
> > > > >=20
> > > > > But the attacker would have to follow the sequence you outlines
> > > > above
> > > > > to change Xen's pagetables and remap guest memory before
> > > > accessing it.
> > > > > It is an additional obstacle for attackers that want to steal oth=
er
> > > > guests'
> > > > > secrets. The size of the code that the attacker would need to inj=
ect
> > > > > in Xen would need to be bigger and more complex.
> > > >=20
> > > > Right, that's why I wrote with a bit more work. However, the nuance
> > > > you mention doesn't seem to be present in the cover letter:
> > > >=20
> > > > "This creates what we call "Software Enclaves", ensuring that an
> > > > adversary with arbitrary code execution in the hypervisor STILL can=
not
> > > > read/write guest memory."
> > > >=20
> > > > So if the end goal if really to protect against *all* sort of
> > > arbitrary
> > > > code,
> > > > then I think we should have a rough idea how this will look like in
> > > Xen.
> > > >=20
> > > >   From a brief look, it doesn't look like it would be possible to
> > > prevent
> > > > modification to TTBR0_EL2 (even from EL3). We would need to
> > > > investigate if there are other bits in the architecture to help us.
> > > >=20
> > > > >=20
> > > > > Every little helps :-)
> > > >=20
> > > > I can see how making the life of the attacker more difficult is
> > > > appealing.
> > > > Yet, the goal needs to be clarified and the risk with the approach
> > > > acknowledged (see above).
> > > >=20
> > >=20
> > > You're right, we should have mentioned this weakness in our first ema=
il.
> > > Sorry about the oversight! This is definitely still a limitation that=
 we
> > > have not yet overcome. However, we do think that the increase in
> > > attacker workload that you and Stefano are discussing could still be
> > > valuable to security conscious Xen users.
> > >=20
> > > It would nice to find additional architecture features that we can use
> > > to close this hole on arm, but there aren't any that stand out to me
> > > either.
> > >=20
> > > With this limitation in mind, what are the next steps we should take =
to
> > > support this feature for the xen community? Is this increase in attac=
ker
> > > workload meaningful enough to justify the inclusion of VMF in Xen?
> >=20
> > I think it could be valuable as an additional obstacle for the attacker
> > to overcome. The next step would be to port your series on top of
> > Julien's "Remove the directmap" patch series
> > https://marc.info/?l=3Dxen-devel&m=3D167119090721116
> >=20
> > Julien, what do you think?
>=20
> If we want Xen to be used in confidential compute, then we need a compell=
ing
> story and prove that we are at least as secure as other hypervisors.
>=20
> So I think we need to investigate a few areas:
>    * Can we protect the TTBR? I don't think this can be done with the HW.
> But maybe I overlook it.

This can be done by running most of Xen at a lower EL, and having only a
small trusted (and hopefully formally verified) kernel run at EL2.

>    * Can VMF be extended to more use-cases? For instances, for hypercalls,
> we could have bounce buffer.
>    * If we can't fully secure VMF, can the attack surface be reduced (e.g.
> disable hypercalls at runtime/compile time)? Could we use a different
> architecture (I am thinking something like pKVM [1])?
>=20
> Cheers,
>=20
> [1] https://lwn.net/Articles/836693/

pKVM has been formally verified already, in the form of seKVM.  So there
very much is precident for this.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--g7zOSGDJOtCNweLt
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOkLhMACgkQsoi1X/+c
IsEAaA/7B2XFIv6QNRi5gn6zwBQv6PsOZEslydU3ZIxDZalFzWudnJWhwpVKdQJs
iBueWZ2AaWA0kJOIhSID/2csAb/sr/CulJCWFYVDIkJP7/5G1NBbLB7SNSpg5F8V
Sq1sVne3/LOFCeC+r0+lWN8C5fzJPejMPzZJjTSQ5tf/P4GB+ujJe+maTmb1ylgN
d+Q3JT+XpnG1a+55HtdWyWcWpH0syHXek6QSf8KrZ/94If4W2G627jcXtY9O2lus
71LjasQUK/W8AKnwRYC2TdXcCQS1ZNhuytWdA2NoAcge7rMNLgAOlsGS0Coboz1H
ORQVx9hJr2Xo2Df0JWem6j1WeW3qQHL1KJq4QNsH2AGYDz9rT8fEzjlOzd2lC8AD
w3KyLUiy/xc/RJ2tOevYELWMxITCifQYb11umhAR8nuVyeaMGiOgCfYDfmOxo1xd
cBaEkZHVCBAyjy/EjPGyPTbgOvZDq0ixf0GODYvMhM33bYSB0OgGimCeutGfzWwZ
cOUYFEj1TENbYcmOOkdF3TyBue3+kqin/eJHxBmuc2vvKwYA2UNrn1bWv44AqUzq
Tlj9fvUquQ5BmsweXibhkmQ+2WcQdACIgbgTm+s5inipHeMXp+hoamhG3iB/7fhI
u3fvv+Fr+OFdv8dwAxMGgNwJoOeAf9oyXmEw62TxKjazyvwANFc=
=sY2p
-----END PGP SIGNATURE-----

--g7zOSGDJOtCNweLt--


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 10:22:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 10:22:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468437.727538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IiE-00031j-6x; Thu, 22 Dec 2022 10:22:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468437.727538; Thu, 22 Dec 2022 10:22:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8IiE-00031c-4D; Thu, 22 Dec 2022 10:22:06 +0000
Received: by outflank-mailman (input) for mailman id 468437;
 Thu, 22 Dec 2022 10:22:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p8IiC-00031T-8k
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 10:22:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8Ii7-0000ms-Pc; Thu, 22 Dec 2022 10:21:59 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.240])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8Ii7-0006bx-Ih; Thu, 22 Dec 2022 10:21:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=VkQcMnIDV8PNR23hMjcc56jBr8cgelnlyXp65jXpBKM=; b=bY3SJeSnUPtOIw46Fkoy9/vRBp
	kXIZpkhVMoK9XMPHeQCzhYZxgvumJPdBSB2n98DRf/4r2WXA+mYmlGv7ESxrS4FTxEqBruG7Z5F/R
	QjJMv4kzrH3vh/VScbuafGMcZ+yy3HqmxJKsWJSBBgfO4e4qf823ZhpJs5SRaxgqLTIU=;
Message-ID: <fbc12084-6b2d-d25d-9875-32a44db39c5b@xen.org>
Date: Thu, 22 Dec 2022 10:21:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.0
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
 "jbeulich@suse.com" <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>,
 "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
 <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
 <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop>
 <7a7a7156-138d-a53c-fb65-a210e14bd8c1@xen.org>
 <BN0P110MB16429FF1A9FF3507A684C5B2CFEA9@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <alpine.DEB.2.22.394.2212211638100.4079@ubuntu-linux-20-04-desktop>
 <6cf27ac5-6371-9a9c-2df4-7f33812993f1@xen.org> <Y6QuEp2cL7XFuon+@itl-email>
From: Julien Grall <julien@xen.org>
In-Reply-To: <Y6QuEp2cL7XFuon+@itl-email>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 22/12/2022 10:14, Demi Marie Obenour wrote:
> On Thu, Dec 22, 2022 at 09:52:11AM +0000, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 22/12/2022 00:38, Stefano Stabellini wrote:
>>> On Tue, 20 Dec 2022, Smith, Jackson wrote:
>>>>> Hi Stefano,
>>>>>
>>>>> On 16/12/2022 01:46, Stefano Stabellini wrote:
>>>>>> On Thu, 15 Dec 2022, Julien Grall wrote:
>>>>>>>>> On 13/12/2022 19:48, Smith, Jackson wrote:
>>>>>>>> Yes, we are familiar with the "secret-free hypervisor" work. As
>>>> you
>>>>>>>> point out, both our work and the secret-free hypervisor remove the
>>>>>>>> directmap region to mitigate the risk of leaking sensitive guest
>>>>>>>> secrets. However, our work is slightly different because it
>>>>>>>> additionally prevents attackers from tricking Xen into remapping a
>>>>> guest.
>>>>>>>
>>>>>>> I understand your goal, but I don't think this is achieved (see
>>>>>>> above). You would need an entity to prevent write to TTBR0_EL2 in
>>>>>>> order to fully protect it.
>>>>>>
>>>>>> Without a way to stop Xen from reading/writing TTBR0_EL2, we
>>>>> cannot
>>>>>> claim that the guest's secrets are 100% safe.
>>>>>>
>>>>>> But the attacker would have to follow the sequence you outlines
>>>>> above
>>>>>> to change Xen's pagetables and remap guest memory before
>>>>> accessing it.
>>>>>> It is an additional obstacle for attackers that want to steal other
>>>>> guests'
>>>>>> secrets. The size of the code that the attacker would need to inject
>>>>>> in Xen would need to be bigger and more complex.
>>>>>
>>>>> Right, that's why I wrote with a bit more work. However, the nuance
>>>>> you mention doesn't seem to be present in the cover letter:
>>>>>
>>>>> "This creates what we call "Software Enclaves", ensuring that an
>>>>> adversary with arbitrary code execution in the hypervisor STILL cannot
>>>>> read/write guest memory."
>>>>>
>>>>> So if the end goal if really to protect against *all* sort of
>>>> arbitrary
>>>>> code,
>>>>> then I think we should have a rough idea how this will look like in
>>>> Xen.
>>>>>
>>>>>    From a brief look, it doesn't look like it would be possible to
>>>> prevent
>>>>> modification to TTBR0_EL2 (even from EL3). We would need to
>>>>> investigate if there are other bits in the architecture to help us.
>>>>>
>>>>>>
>>>>>> Every little helps :-)
>>>>>
>>>>> I can see how making the life of the attacker more difficult is
>>>>> appealing.
>>>>> Yet, the goal needs to be clarified and the risk with the approach
>>>>> acknowledged (see above).
>>>>>
>>>>
>>>> You're right, we should have mentioned this weakness in our first email.
>>>> Sorry about the oversight! This is definitely still a limitation that we
>>>> have not yet overcome. However, we do think that the increase in
>>>> attacker workload that you and Stefano are discussing could still be
>>>> valuable to security conscious Xen users.
>>>>
>>>> It would nice to find additional architecture features that we can use
>>>> to close this hole on arm, but there aren't any that stand out to me
>>>> either.
>>>>
>>>> With this limitation in mind, what are the next steps we should take to
>>>> support this feature for the xen community? Is this increase in attacker
>>>> workload meaningful enough to justify the inclusion of VMF in Xen?
>>>
>>> I think it could be valuable as an additional obstacle for the attacker
>>> to overcome. The next step would be to port your series on top of
>>> Julien's "Remove the directmap" patch series
>>> https://marc.info/?l=xen-devel&m=167119090721116
>>>
>>> Julien, what do you think?
>>
>> If we want Xen to be used in confidential compute, then we need a compelling
>> story and prove that we are at least as secure as other hypervisors.
>>
>> So I think we need to investigate a few areas:
>>     * Can we protect the TTBR? I don't think this can be done with the HW.
>> But maybe I overlook it.
> 
> This can be done by running most of Xen at a lower EL, and having only a
> small trusted (and hopefully formally verified) kernel run at EL2.

This is what I hinted in my 3rd bullet. :) I didn't consider this for 
the first bullet because the goal of this question is to figure out 
whether we can leave all Xen running in EL2 and still have the same 
guarantee.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 10:29:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 10:29:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468445.727550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Ip5-0003i9-UP; Thu, 22 Dec 2022 10:29:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468445.727550; Thu, 22 Dec 2022 10:29:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Ip5-0003i2-RS; Thu, 22 Dec 2022 10:29:11 +0000
Received: by outflank-mailman (input) for mailman id 468445;
 Thu, 22 Dec 2022 10:29:10 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s9VX=4U=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p8Ip4-0003hw-CE
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 10:29:10 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 772f1af9-81e3-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 11:29:08 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 8493432003AC;
 Thu, 22 Dec 2022 05:29:05 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Thu, 22 Dec 2022 05:29:06 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 22 Dec 2022 05:29:04 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 772f1af9-81e3-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type:date:date:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to; s=fm2; t=1671704945; x=
	1671791345; bh=L4yI1yZ58K4rc6vHeu1U6m4D7thRdV4nUxEZJZUCj1E=; b=L
	6kqBKnfX1By08bhPTcfGxebfevKXIsSVhHXE1yFUZ5fzyl6hjV7PiSa2RR5F5VDA
	utYfJ2HKJ446j85ObxMPH3n8lgrYr9NLjQ08dHfnTCCEmfSIH0KDnQijD0MuIzF9
	zXQQw7JlJCpuEYmyGQUp4V3x90ABIqPUXIUkeVIbhnCcVkvKurZHEeKLLxGrVSW+
	pXmZG2KwdTTwr/MXfx0ABrXYNpugmLuFNrrVSnuqgmF93scGmW8gig1FBe0+dVqn
	TmW3UH7Dfbz0GFYNY1P15mffptfXJKaUHzdwdeFLq695elf6fqK0mmj1Bh4RmekU
	kG3VQAtstmed34DTT1XRQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type:date:date:feedback-id
	:feedback-id:from:from:in-reply-to:in-reply-to:message-id
	:mime-version:references:reply-to:sender:subject:subject:to:to
	:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=
	fm2; t=1671704945; x=1671791345; bh=L4yI1yZ58K4rc6vHeu1U6m4D7thR
	dV4nUxEZJZUCj1E=; b=rou+Q8ILbr26SKa1q8X/uRL3bxfGlui8MWl+mGESjMwM
	UxwjglIJnLcV94td6IzvqJj5dWOK1ZsPLH6Ar0YoFHo45qSSvXgvayN6TFi6Nw87
	jgAzHwKwPF4VPYQ4KLSgIx6KjTfHYLBd5KKSQDuiKi0LS+z2lau/Fiu7kDkJCuYP
	iWGZV8sLRuiQiTl+hm7dzuLthGEV0r8mlNncrGFFYZG73duzgsvZUQx9e/4PEIqK
	CutbhzRM/E5lNdW+l67jahoGEyk5gkrCXl0xwRkRM77qpuk2XDuZxLwA8eILs1Dk
	CzDJq4HOesMkXOdqZ0DY244D3dSUMmaViYyac3mxwA==
X-ME-Sender: <xms:cDGkYz7vibYT9UOLVXLB0YGqyy2KN_ImtTC8I5OCtTq9iBBTSqWHUg>
    <xme:cDGkY46tyj72-fn_3f16zDplkjhOlvXLxyI-pI4-S3Xuv2RiMN6h2quvEEMyYkGY1
    TJnqnZKIqX_oKw>
X-ME-Received: <xmr:cDGkY6fRge7fHDYk_CjAmfWqkaqOQgyvNZkuyocwXwnRT44_HaOBMp3BjoD7>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrhedtgdduiecutefuodetggdotefrodftvf
    curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
    uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
    fjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefgfefhgfejffeuvdeiudfgfeejleeh
    geetlefhffefhfeuvedtleetkeeiteehffenucffohhmrghinhepmhgrrhgtrdhinhhfoh
    enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeguvghm
    ihesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:cDGkY0K6eYz5h_3yoAnCtWHOkW39Qjqx1J1kwY1GcYe0BdRJQ7YHIw>
    <xmx:cDGkY3JeR1o6AbPQb8ylHmej3KCnxzEYHHTKkEzsBccGXJKt9tHxiA>
    <xmx:cDGkY9w-PP1Ej20TLt7Xfxi8X9pi7HvfDx17khRV5e8MsXdNma_nQw>
    <xmx:cTGkY4XvWeEKV0LUlyGeu8SLPdgEzxt72xiFlwl1-QF98s16LT78OA>
Feedback-ID: iac594737:Fastmail
Date: Thu, 22 Dec 2022 05:28:56 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
Message-ID: <Y6QxbXl31xe9sqR0@itl-email>
References: <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org>
 <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
 <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop>
 <7a7a7156-138d-a53c-fb65-a210e14bd8c1@xen.org>
 <BN0P110MB16429FF1A9FF3507A684C5B2CFEA9@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM>
 <alpine.DEB.2.22.394.2212211638100.4079@ubuntu-linux-20-04-desktop>
 <6cf27ac5-6371-9a9c-2df4-7f33812993f1@xen.org>
 <Y6QuEp2cL7XFuon+@itl-email>
 <fbc12084-6b2d-d25d-9875-32a44db39c5b@xen.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="aPYbfZ5UutsWayr2"
Content-Disposition: inline
In-Reply-To: <fbc12084-6b2d-d25d-9875-32a44db39c5b@xen.org>


--aPYbfZ5UutsWayr2
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 22 Dec 2022 05:28:56 -0500
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Smith, Jackson" <rsmith@riversideresearch.org>
Cc: "Brookes, Scott" <sbrookes@riversideresearch.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	"bertrand.marquis@arm.com" <bertrand.marquis@arm.com>,
	"jbeulich@suse.com" <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	"christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen

On Thu, Dec 22, 2022 at 10:21:57AM +0000, Julien Grall wrote:
>=20
>=20
> On 22/12/2022 10:14, Demi Marie Obenour wrote:
> > On Thu, Dec 22, 2022 at 09:52:11AM +0000, Julien Grall wrote:
> > > Hi Stefano,
> > >=20
> > > On 22/12/2022 00:38, Stefano Stabellini wrote:
> > > > On Tue, 20 Dec 2022, Smith, Jackson wrote:
> > > > > > Hi Stefano,
> > > > > >=20
> > > > > > On 16/12/2022 01:46, Stefano Stabellini wrote:
> > > > > > > On Thu, 15 Dec 2022, Julien Grall wrote:
> > > > > > > > > > On 13/12/2022 19:48, Smith, Jackson wrote:
> > > > > > > > > Yes, we are familiar with the "secret-free hypervisor" wo=
rk. As
> > > > > you
> > > > > > > > > point out, both our work and the secret-free hypervisor r=
emove the
> > > > > > > > > directmap region to mitigate the risk of leaking sensitiv=
e guest
> > > > > > > > > secrets. However, our work is slightly different because =
it
> > > > > > > > > additionally prevents attackers from tricking Xen into re=
mapping a
> > > > > > guest.
> > > > > > > >=20
> > > > > > > > I understand your goal, but I don't think this is achieved =
(see
> > > > > > > > above). You would need an entity to prevent write to TTBR0_=
EL2 in
> > > > > > > > order to fully protect it.
> > > > > > >=20
> > > > > > > Without a way to stop Xen from reading/writing TTBR0_EL2, we
> > > > > > cannot
> > > > > > > claim that the guest's secrets are 100% safe.
> > > > > > >=20
> > > > > > > But the attacker would have to follow the sequence you outlin=
es
> > > > > > above
> > > > > > > to change Xen's pagetables and remap guest memory before
> > > > > > accessing it.
> > > > > > > It is an additional obstacle for attackers that want to steal=
 other
> > > > > > guests'
> > > > > > > secrets. The size of the code that the attacker would need to=
 inject
> > > > > > > in Xen would need to be bigger and more complex.
> > > > > >=20
> > > > > > Right, that's why I wrote with a bit more work. However, the nu=
ance
> > > > > > you mention doesn't seem to be present in the cover letter:
> > > > > >=20
> > > > > > "This creates what we call "Software Enclaves", ensuring that an
> > > > > > adversary with arbitrary code execution in the hypervisor STILL=
 cannot
> > > > > > read/write guest memory."
> > > > > >=20
> > > > > > So if the end goal if really to protect against *all* sort of
> > > > > arbitrary
> > > > > > code,
> > > > > > then I think we should have a rough idea how this will look lik=
e in
> > > > > Xen.
> > > > > >=20
> > > > > >    From a brief look, it doesn't look like it would be possible=
 to
> > > > > prevent
> > > > > > modification to TTBR0_EL2 (even from EL3). We would need to
> > > > > > investigate if there are other bits in the architecture to help=
 us.
> > > > > >=20
> > > > > > >=20
> > > > > > > Every little helps :-)
> > > > > >=20
> > > > > > I can see how making the life of the attacker more difficult is
> > > > > > appealing.
> > > > > > Yet, the goal needs to be clarified and the risk with the appro=
ach
> > > > > > acknowledged (see above).
> > > > > >=20
> > > > >=20
> > > > > You're right, we should have mentioned this weakness in our first=
 email.
> > > > > Sorry about the oversight! This is definitely still a limitation =
that we
> > > > > have not yet overcome. However, we do think that the increase in
> > > > > attacker workload that you and Stefano are discussing could still=
 be
> > > > > valuable to security conscious Xen users.
> > > > >=20
> > > > > It would nice to find additional architecture features that we ca=
n use
> > > > > to close this hole on arm, but there aren't any that stand out to=
 me
> > > > > either.
> > > > >=20
> > > > > With this limitation in mind, what are the next steps we should t=
ake to
> > > > > support this feature for the xen community? Is this increase in a=
ttacker
> > > > > workload meaningful enough to justify the inclusion of VMF in Xen?
> > > >=20
> > > > I think it could be valuable as an additional obstacle for the atta=
cker
> > > > to overcome. The next step would be to port your series on top of
> > > > Julien's "Remove the directmap" patch series
> > > > https://marc.info/?l=3Dxen-devel&m=3D167119090721116
> > > >=20
> > > > Julien, what do you think?
> > >=20
> > > If we want Xen to be used in confidential compute, then we need a com=
pelling
> > > story and prove that we are at least as secure as other hypervisors.
> > >=20
> > > So I think we need to investigate a few areas:
> > >     * Can we protect the TTBR? I don't think this can be done with th=
e HW.
> > > But maybe I overlook it.
> >=20
> > This can be done by running most of Xen at a lower EL, and having only a
> > small trusted (and hopefully formally verified) kernel run at EL2.
>=20
> This is what I hinted in my 3rd bullet. :) I didn't consider this for the
> first bullet because the goal of this question is to figure out whether we
> can leave all Xen running in EL2 and still have the same guarantee.

It should be possible (see Google Native Client) but whether or not it
is useful is questionable.  I expect the complexity of the needed
compiler patches and binary-level static analysis to be greater than
that of running most of Xen at a lower exception level.
--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--aPYbfZ5UutsWayr2
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmOkMW4ACgkQsoi1X/+c
IsHRqhAAnZ7CdZXMEIuEOjzg/klzFwKHJweSvAx/W2qXVNH2wT7WA4Pb5zCzbAl/
Bupmb/UyaM/VOpc/MEXp/ej9KqwlaJVLtTlHpZAhiLK4Q2zN2LgU3y9oteeCm3/w
NHUJKFkyPNZGpWtvCUivP2z+BDsfL4LtL+q8zPKG/G+KWVBfuC+n25g0JIB6U4pG
zm23OmsU53C8IoA6YXmmVqjWt2xeyQR5XZi5+D7aHHO/38dYOmzG5fCjpnkhxG/o
y7EIvhZZpUVvPM+V4OLAMFub3Y74/lE0Q/cqg9CqUYSHwB2Quj9BEEQ+0XkzDw3z
uWUT/F9gSQ+gDYlvOs4Mwaq2GN0TwcI3ryop6qRfOve0DNMt9rWXpxkj5/M1/hfh
nUAZYgEy+lQerMIr+UA95eVmX4tWnC3YVY92exhxBtcJNMXInF7xxk+FXjGXNwO9
1K75BW8G5E4nrRoORnb6MReMz9PbMZ3cz1RnCC0S6wMQDYNGz9PqRyxJ+l+FmGuZ
dlJa8klledV2gAsw+vNIHkSaGd1eIxvnmbRXYzL10RJenbqtYQvBDJzbsBRT6Odx
voVRSkW//Q6ArIOlpSFwNZGvNTlS3KtRxuAE6FErWf7l07WasWn8ynMdEctsqGpt
rWnI6wQHEr80UZZ1MFjqTXf+nN1sMl8CV6zHr4M6NUerssfOqYA=
=tUF4
-----END PGP SIGNATURE-----

--aPYbfZ5UutsWayr2--


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 11:12:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 11:12:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468459.727560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8JV5-0000X7-1c; Thu, 22 Dec 2022 11:12:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468459.727560; Thu, 22 Dec 2022 11:12:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8JV4-0000X0-VB; Thu, 22 Dec 2022 11:12:34 +0000
Received: by outflank-mailman (input) for mailman id 468459;
 Thu, 22 Dec 2022 11:12:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8JV3-0000Ws-NB
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 11:12:33 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on2072.outbound.protection.outlook.com [40.107.6.72])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8714bb79-81e9-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 12:12:31 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by VI1PR04MB6959.eurprd04.prod.outlook.com (2603:10a6:803:139::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec
 2022 11:12:28 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 11:12:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8714bb79-81e9-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Oz6Etr+C1gixNJbnfm2+5GNG3nUlaNzaTUT38C7oS48yUOmwFzX5Uu/PKp6apTaFd7qHsEiLMwuN9z9rVaxCBjK9+1e1ZN+Lr/828VW6O2hYhXwnqsydDqyOTsSPHmX0mZZVFdDdaULYz5CUKRy6An6goOGSebcjEvydovZjDeuboh53ApNLr/pxHRPs9fuqbnCWr83cY+nBD6G3ufRf0Nz+BC96HKkXNJdMUoeCyoYVsluAEC5ZpB/Dpm/CYdK4LL8pjSw742Oz3fCfspV8io76c1LthQkOzscbwXy8O8L1zMwfkxOa7U3iako+yMfu1kUxssBMDQYWBOc5ntvBqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I9tNx9krcrbSUoLjDoEo73RJwG9MuDYhjgjM74lhgOw=;
 b=EekVo9LY5JF3HJA5Sz1DXB4hiTzPgjZnxxATUfgAH48OOtDazWbvYB9FDxYGXeLwH4/alZ5sWlBdjfN5dBcFu/faepHH3bQsbO5NU6r7a0n0ffNJQ739KHS6yBS/cLNrOZTjZnUtdUAUSVw293ACbHejIaAtOpwX05UoMqqVb5khRM8KrXvjoszBsHn7ySkGEToe2jAjIOi/1K7STOd69rlWJL86vWS+wH144L8diSKBeCVzOILvcO7GdqOdieBoqNFFXMBiCusNyBBaB36IXM1GPB6Z5jPkVTryOWEcBxYLI1Yt24wEBk7NYjDpykQjKzI6NgSUa2CPkpr6z7be+A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I9tNx9krcrbSUoLjDoEo73RJwG9MuDYhjgjM74lhgOw=;
 b=CVyXWZGgTiUKprPqs6l7WgCFfQXfANgR7JqebjB/GUm9CNdMDvv/PqBpqTJJhuxh4wr+P8EYAfP5WM1CpyUxGWKipPJqlBKokWJuY22m4hYVC0Wrg5otzPWRz5Qk0HwsTgRUsOmg4u2xQKzEw4r9J6uX2RkQYq5oYHWaxuA7HPYXksDnDKwxiQnxfUVKQJdi1PPod3g2VaHB4oV29yNW9ZmOnP9IUMvbiMNO/EPt2kQ7sLY+pS+M+TyVuIb40QyYL6QHgt+5+l5RH4Z36s2PvCN3ZzviI06lUP7BOVb8/Y4V3eXp8Ll/aHfjC2flw76OsmhV3qNLUEWDmpUqoUoXRg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <478e04bc-6ff7-de01-dfb9-55d579228152@suse.com>
Date: Thu, 22 Dec 2022 12:12:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 06/22] x86: map/unmap pages in restore_all_guests
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Hongyan Xia <hongyxia@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Julien Grall <jgrall@amazon.com>,
 xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-7-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221216114853.8227-7-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0095.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::12) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|VI1PR04MB6959:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f6ca374-dacb-4bbd-b305-08dae40d69ab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	egkVd98frWm8nGn5wnLjgejYrFOSA5hfXbhLZ/+ivaoI+RdVIZvfBXQsx/Nv8KY/BnJBEmx2QwbZoTjcO5TaTJx7gsVTo+D2GdSOEBh8LOmAEW/hKdT/g1W7iiDX0OuUCiBJgvyxmvpfn7ued3fiJtD4O1aLdflQcuxOkkFAeyOZS4oYEIYLPvMkf9eCnLsBff3ROsubR5Wowic8I3j5dZ1WKE0KrKCRIDI6e4tgch/MjDkG8ThaWJA8kItjFWbjxKlolFB7RNdxRDIGLMjLgbZsN92iAiPaYlkn7U16lsOLlA2grMhxeEQpBpjdnqKbXRPEgj5CIztjVNafNwbNfIPklpA/eZoCOauM/wbs8XYplVS0BPCo2/OUsL8ffdctu2K65iPYIGJQ2stY6eU/tn26KpJsplvFyUUsUovRoPBo0YfvnqAKXTmjPwdY8YflEnzXk+T6YucQZL2bvE0ACbHcjwzNvoAgxRVUl8ervbnxVNoFsrYYDPOyNMry0YyqXhOcdrfGXlTVjGj2SUAYXiLc2eFnFIr9QnbsAdSH/ybq6BCOo68+O/pHdBAqXaEy5fusmeKOzdRKEfamKO2H9ajFxld92DzVFpjmwVjsVLR2Wxis6Ub/xrEXzcr6nQYtF5a4A+fBJRPE8d1hBMPKRExz0+cvm6c9bzQ3JB0cisGe5hhRtEelEveJ2MATV7aAU2CofikSj8zLedkgnAAhJU7+IrADkP28WBr6BUkam+o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(376002)(366004)(136003)(39860400002)(346002)(396003)(451199015)(38100700002)(31686004)(2906002)(86362001)(31696002)(36756003)(41300700001)(316002)(26005)(2616005)(6512007)(186003)(5660300002)(66476007)(8936002)(66946007)(54906003)(8676002)(478600001)(83380400001)(66556008)(4326008)(6916009)(6486002)(53546011)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L2hHN1BrL0hETnFYS09ZS2xKYStJOWR6djFGQ25WZ2NzUXRNSFNCNDRrZGlD?=
 =?utf-8?B?N01mQjdGWlpjRDlJOU9jekcrek9lRk03MWFVMzNvOVBEOE5zUi9OdS9PWVRT?=
 =?utf-8?B?TlRjOUQ2eDB0M3pxZ2VYL05ob3ZRbE82WWFRTS9XOExpbmdnellDcFJ1bExS?=
 =?utf-8?B?bUdUMXlRdG1tODVNQWNaTE5QZDdEUjZLdmhiSU95VE9SbnRKdHdrU0R6SWYx?=
 =?utf-8?B?em84cWVvTFljQm41UE5QUWp1YVpQaExHaHVKZXZTWUlPeUJidVRLd1MxZU5K?=
 =?utf-8?B?RW5hejVYNmUvc1ZtZTRoZ2EwT3k0eWVNTmJtK1JlQitNNkl6aHY2ME1PRnNV?=
 =?utf-8?B?cHh4YmlHOWFXS3hxYjYwSzVFTlZUc0N0c1BwRW90d2x2c0UxOGRIdG0wZ2lR?=
 =?utf-8?B?OXFTRm83aUNnbitkQTlvMTRiamJvS0Uzc0p2ZktoQUlyS2M4bS9EL25sSUJJ?=
 =?utf-8?B?TUdYNkI5c0dNWmVnMElrN3VxVWIvNHlSQmV5QjNTRW11VWhWTjhhcFA1RWhm?=
 =?utf-8?B?NHYxN0ZKUmdEaU1VT1RFWENWQkh0ckNiZTVHd04rUlgwc2dXTTdBTUcwbHQ5?=
 =?utf-8?B?bDN4MktCTGFpVVVtRWsxYmczNGdUbldYeHE2SGgwb3kxZzdSdlBLN2lBbDdQ?=
 =?utf-8?B?RCttaVprck1EUmdwZHNnTjIrcnlsVkZRYXdXeWVMU2kvR256V3RVVHM2cE5B?=
 =?utf-8?B?T3FRYXlsbjFsYjlldVpKbTNaOWlpcm5xaHpRK3dtTVlmcEVuTVRpR1VZM2p0?=
 =?utf-8?B?QlRpa0o3S2NFeEVJelRxUjYzb2FKTHRkSWNFNWE3ZExsR2ZYdmhxMGcrYmtE?=
 =?utf-8?B?SG1CalpzdmtUY0tVWHBkRGRoaEozRWJnYW1Gd1NLbzV1a09kMnJKcHB4MXZi?=
 =?utf-8?B?eU80WEYvV1A2WHpVVHhRWURuc0F1RlVyb1ppVGUzMnVzcENjTUlkZjJPbnhO?=
 =?utf-8?B?eVhoOW5QdmlpeXZaRTRrVzdhSVVBQlhtR0ZldktwNjJyWDVCNlB4YkpXVmhs?=
 =?utf-8?B?ZlN2b203VVA1enJVZXVKamtyb3hmMnhlZHB3RzN5UFpiMHFXaUxEOW5hdmNG?=
 =?utf-8?B?K2NHZ3RibUpDdWd2MlJldE9YaTVtR2hUKzRuaW9NYXZRbnhkMzBIUitlYko1?=
 =?utf-8?B?cWlPQ2JkaEUwRzhZN2VnMFhhVXk3ZE5ua1JVK0VkTHRIRE9JUFFuNW5XQ2NV?=
 =?utf-8?B?bXVwNXVzTE5qNUtyZkVKZjRTTGE2eS9qSGpkM3lCM240b2JhTXlLUENpN0Jh?=
 =?utf-8?B?cVQrUkgzcmd4RFdCWGx4Uno4SkwycFlnWFRZcm1IM3hrZkF3RUpMYThsRHdo?=
 =?utf-8?B?UG5SYnZRWEpic2F1dE9xcXpJclg3clBYV1RlWExKQ3lCMlVCZTQ2cGoyVHcw?=
 =?utf-8?B?Uy80RGVwQ2poc2swNHNiMmx5c0I1b00rQTZsbUpjNm5sSi92WmFuSFdTSUZM?=
 =?utf-8?B?SFptL3I1c1FiaUhpei9HSW4yTmFjM1NZUVhsSEptTnlRa0E0djhFQU1rOWlH?=
 =?utf-8?B?NDd1ZUIzNXBtejhINzM1OVAzclFRV3pNSlNHaGMrZm5rV0M2WmJKZitoSDgy?=
 =?utf-8?B?MEI4SDRrK1ZwWk0wQnlnVWh5eE4zczFLK29RNVVPcmpLSHZrMFVUTHdyUnow?=
 =?utf-8?B?c2huVlRUd0NmdHJCdHpramR2YkpvaTZZVDFKVVA4YWIvV3Y4ektuTFFhZk5n?=
 =?utf-8?B?aG0yR3IwTVROQXRGb0orQk9wcmxYQlJkT2JyQlpMY0tJODZEWjJFV2poWmhB?=
 =?utf-8?B?UDh3MU1XMGVWbndCOWw5T29vTnZ1MTI5QVA1bWdveUlOckpKTENJMFVGTHFY?=
 =?utf-8?B?MlpBSEFoVjRzK3hmSzA3bDZTNTJrNDF4R2xyUGQrTzdiODhHeGlZQUYvc2hB?=
 =?utf-8?B?dTdwTHhOcDk1VHMvZWR5dWpGdjdkKzFoU2FmdjhxV3VRMlZGcWNPT285ZjlM?=
 =?utf-8?B?aTNJVEF0ZTI5NkxGYkh4dEJnSkZScGc4V3dCNDJiU0JUSG81ek9wRVAyZHBH?=
 =?utf-8?B?WktwQ0RFVmx0UTZmdFNmWWtra05iY0RTOWtCT2VyVGR0SzJjVnJFNTdqZU1t?=
 =?utf-8?B?WVBBMHV0RGZYWW0rakd1MUprMm5JazZ6Y2FYRnRUeWV1cXpPUitSbUlRRVVE?=
 =?utf-8?Q?9o4VI9G7PsTpoKlHLEwBFLPpd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f6ca374-dacb-4bbd-b305-08dae40d69ab
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 11:12:28.7414
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JEa7u1SxUn0M7Hosb2hIatffd6vk4htMWeQr2PgdrsBsyAAAWr6IcAlDzJtQQ8pv8v4glz2KGIjPxo+HThHpnw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6959

On 16.12.2022 12:48, Julien Grall wrote:
> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -165,7 +165,24 @@ restore_all_guest:
>          and   %rsi, %rdi
>          and   %r9, %rsi
>          add   %rcx, %rdi
> -        add   %rcx, %rsi
> +
> +         /*
> +          * Without a direct map, we have to map first before copying. We only
> +          * need to map the guest root table but not the per-CPU root_pgt,
> +          * because the latter is still a xenheap page.
> +          */
> +        pushq %r9
> +        pushq %rdx
> +        pushq %rax
> +        pushq %rdi
> +        mov   %rsi, %rdi
> +        shr   $PAGE_SHIFT, %rdi
> +        callq map_domain_page
> +        mov   %rax, %rsi
> +        popq  %rdi
> +        /* Stash the pointer for unmapping later. */
> +        pushq %rax
> +
>          mov   $ROOT_PAGETABLE_FIRST_XEN_SLOT, %ecx
>          mov   root_table_offset(SH_LINEAR_PT_VIRT_START)*8(%rsi), %r8
>          mov   %r8, root_table_offset(SH_LINEAR_PT_VIRT_START)*8(%rdi)
> @@ -177,6 +194,14 @@ restore_all_guest:
>          sub   $(ROOT_PAGETABLE_FIRST_XEN_SLOT - \
>                  ROOT_PAGETABLE_LAST_XEN_SLOT - 1) * 8, %rdi
>          rep movsq
> +
> +        /* Unmap the page. */
> +        popq  %rdi
> +        callq unmap_domain_page
> +        popq  %rax
> +        popq  %rdx
> +        popq  %r9

While the PUSH/POP are part of what I dislike here, I think this wants
doing differently: Establish a mapping when putting in place a new guest
page table, and use the pointer here. This could be a new per-domain
mapping, to limit its visibility.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 11:18:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 11:18:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468466.727572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8JbD-0001D5-NH; Thu, 22 Dec 2022 11:18:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468466.727572; Thu, 22 Dec 2022 11:18:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8JbD-0001Cy-KH; Thu, 22 Dec 2022 11:18:55 +0000
Received: by outflank-mailman (input) for mailman id 468466;
 Thu, 22 Dec 2022 11:18:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8JbC-0001Cq-Sl
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 11:18:54 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on2058.outbound.protection.outlook.com [40.107.8.58])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ae123ef-81ea-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 12:18:53 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PAXPR04MB9489.eurprd04.prod.outlook.com (2603:10a6:102:2c1::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec
 2022 11:18:51 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 11:18:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ae123ef-81ea-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E9hsV7XtxLn1zbhT7xnusjA2GcLUpwzx7JYK2z2JtCByXutYhajVZw9Ef8IC/K3GGC1RxA/2XcauecFcY1H3qc7C11ne6Ln93B0Z645W3nX1MtPAdkIOIUf0eGc8ZZPpGFePpdloAALtPUV9LGXZZBEQ+7VuormdbSCk3xgGKAJBUxXd8YuRqnUA0vyGg74DPVunqX2o2B8Z+qkiRaNaXjiwsilTJGGiuEru0Kes3HNa6p9ndPpVBQSphXoT3ZHSqSUpLlCwQ4CzuGnpaHnjm1W0RVjTo2AmQb6AujZQEzrbKlDOc7A8z5mCk01f4exkt2dco+NoaCsc/FHBpwD84g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aP9W60VpTyxZH8ArdFJJbj0zoSjt/ZG7rFAEM0rVdxY=;
 b=nrox0zGJcNDIVBbrtryRJ4+ClUQz43bGq5zdEkBrNBnwyIQvK8opvCjDPjzqPdHilWq+dYyKOe2rC98TN4ahBZGhsRSjeNuYZ0lP5xvK1VhnI//OVaEC446/3n3tcgOlohXoJhPNpT4IFpNkqZJlx9xxm0vm0g5UOr90SpT4ppcylNAAC6Pb2/ozv/MzmctzfC0h4+c9lYk6ElGoS4wSpqvN5/KgWBgVOlPBBX+Q3J4Kq1x+O/gFHDUmA/xrOcvWKjduzHHytTTCFazh1xqEtZzo3vb1NrETjKltvWuiIbeTLEIVPXyqOmyjfuv/F2lNk6eWVuZ7xSIFJeRcIqGTqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aP9W60VpTyxZH8ArdFJJbj0zoSjt/ZG7rFAEM0rVdxY=;
 b=SmC6HK4a4yrOAhvr+NAvcNNobGvQnvNwX1d77QnmoQnvXQ1q2OiC1a54BY9xq+bOz7r+iAUfAWsqkdSTkU08WVGD8hMmd6LzREunCHSVd0nW/w4ZJb7xLEn3DsqDO9oSPcx6GkjG2kE1zEeTAtqFd6pg/yx3Q4Zxkw/rvd+HWXayyPtLF+853w+88wfU1VOAKPeo4fDiO24g2adxMx9wtgLAtli+e7TUp55MAW1Oog4zD9R69RYchLdSr1xtDqPHpbDjoJ6r36nV9xHq7eG6GHPFpn93nbridE6ubBaqwt1F3lft6vwEwN6UFdvMJcldq2tlD8FhmXTlhArg7Cg3Ww==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a1b39940-a8ab-1b1a-8ac9-fcb4762c2d36@suse.com>
Date: Thu, 22 Dec 2022 12:18:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 07/22] x86/pv: domheap pages should be mapped while
 relocating initrd
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Wei Liu <wei.liu2@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Wei Wang <wawei@amazon.de>, Julien Grall <jgrall@amazon.com>,
 xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-8-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221216114853.8227-8-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0119.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::15) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PAXPR04MB9489:EE_
X-MS-Office365-Filtering-Correlation-Id: ae15cdbf-9806-4309-1c69-08dae40e4dde
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	olcIAjnpdOrBa3zWGzhkdIOaRLG/d0smV2v/sQKq0HfE0/lqTPw64Ds/sBXb466booRf4x1EnYpBGHsofn8xInb7sV6tkbs30gARN5M8hjhNQHK4lEudCwr3reQ3OQLABUqsLghgh26TZyp0uvodxVyp9+K8DTLLSDzS2HWquTEJAEcAkEsczYoOrHqe+MqLFGUtUMSRUYSjX+qp47LFiM1cayxnKZdaIVmDk002PbqI0K72nElJboiXPJKevv0uvfd/LmebmLLWHEOs/j7nuKSmsKGM6tixZf59kMaA2eFSllbw3E3jLoA/wa531iwD3wUTVNF4ayoKLs/WFc97VPC2/Gb7Li/UKtLoMzcjd8kg5aSwmbCr2McT/acLDk2ia981QsnKk84ZZV/rTKbUZoKhmyHipC388/gXkPFUiEuYWvJ9SiKqFkkmSEFdrUPSfiX/4cgb8jWkts4bIjVyk4KT9ofsLPZe+t2GrI5MgPe3cKOITldbMHKLv6UVDswN8v6Myck7cwMnoR81q/mg76vgn1tOf24EOFPDqvqUMSZwv77zrXImA/ZHLFUd5tqR1jodFkhxiccj/+u4U+HYTyr1BKSkVfazVyNJ0I3QtjuyahMA65k+NXmZphAJHTORAm9EmnR5dRX+xpGTVy8y8Yd+QE8pxXCqbfF+pmfFUA7ADf4ZV5GS72fuBDMPZUICel83kkry0MLotIeAAH5TlZ215HySxXHsQR3aPqAmfTM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(39860400002)(366004)(376002)(136003)(346002)(451199015)(31686004)(2616005)(66476007)(66556008)(38100700002)(66946007)(4326008)(8676002)(41300700001)(8936002)(2906002)(53546011)(31696002)(86362001)(5660300002)(6916009)(6486002)(83380400001)(316002)(6506007)(36756003)(54906003)(6512007)(478600001)(186003)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OEl2RXN4QWRtekxZU0NlK2toVVBLOC8vU1Fic3ZPNkwvS01YcHZyWStQQ0lT?=
 =?utf-8?B?ejJwVlE5ZVhsNXpFcDJ0Lzhsc0FZN0wyRkhobS85LzNXbW5waVZFU1YxM0Fr?=
 =?utf-8?B?aFJGYmZ3eTM5Z1BhYnZmbDVJcG9ZcG5wdEdvczY2K1FiV1hjYVE4dmVXM2I5?=
 =?utf-8?B?Q2FMdFJyRnJDVVRZaHdnRHdXb2ovek9Ebi9rWFlCMzlzMmczd1owek1STDdp?=
 =?utf-8?B?K0xhcHRPUGJKS1UxMEZYZ0puUjM5Y1lVeEhvUlRVNHlCdXhQZmE1UW9wTGlD?=
 =?utf-8?B?S1liR2VuVmdmY1psSmlJT1dsRWRldjI2SVVuQlp1WXlzaGZ6bStQTkk2WHBK?=
 =?utf-8?B?NkhGSEd5ZWJmanF4bHQrMmFla2hSU1libnMxanBJRHBVdXF4U0RkeU5ReDVr?=
 =?utf-8?B?MDF4b2lWME5Hd05td1hpV243bkFWVTZ2cy9NYVBITkY4YVRGRzN3eDQzMXpw?=
 =?utf-8?B?WVd0QlBldXZ5VnRVZTcybHNhWmw4MGQvb3ZCOWgxRDdseGVMcm1kVklOcU9M?=
 =?utf-8?B?dWZTQzB2Um1ybzltUjNOcHlWVkhSYmN2TGp2SHpwOElMTnJxeGpkRks4WUJv?=
 =?utf-8?B?NkFubkVnTFJ3akpITGVUUXltVXJsVHA2bHNiWDNKMElibmRJMnYvNU9vdnlm?=
 =?utf-8?B?V0ZldUJaamp3U2VyV2FSWFh3TVRSRHp4eXpVanhLUTE5SXBlRWt3RTF0d0dG?=
 =?utf-8?B?bGgrRVVHQnBNdGZWUWVEc29id2ZuNC9ROFJJLzdOVmViRlhhMjVvUHdrMlFO?=
 =?utf-8?B?aG93eWkwM1N4N1d5TEQyUUZhL2xuUHdFcWZLTVlUOCtuemI2M1pkQ1drNzhM?=
 =?utf-8?B?OWZLU0xXQTc5cHVRdEs4VGZmV0dpWVZjL2Q0Rk9kNHA4eklyNXNyUTBVUXg4?=
 =?utf-8?B?THVBWXc5dW9CWnEvdk1tMkg3NWx4MmhHek4raUxiK2U1OVRUaWpkQ1Q0WHhK?=
 =?utf-8?B?b3VqUTd4ZVVsZ1lPUWp4U3RQdDdXNG83VG5pL1l0ZHBRL0xIMWpEL3RtR0o1?=
 =?utf-8?B?VkdpaGl4aDNnaFpkQThTZ1QzUWFkdnRWajVXMXozbVJUZkRyWkRpZnhuQno0?=
 =?utf-8?B?Y1hoTHV6ZFB3Y1FwOUwvczNuTHdtWWl3Wk5iS2JJSWVxWFpZdGJXYVFXS0NR?=
 =?utf-8?B?OHZWbytVdlh3YWVGM1RCbkx6aGFnN1B2TTRoTHExNHhGUDMxdGl6Y2FQa2wy?=
 =?utf-8?B?STlXcGlwUzd1ZUFXM3dadndIKzFRRW1WYy9VM0xCZ1lad3ZmY3NWWStGcS9B?=
 =?utf-8?B?K3hscFc1RE5rekJ5b0t3MCtqUllNSUNhalYrcjFkTXArd1hwN3NOZkQ5UnIv?=
 =?utf-8?B?VVJwSUgzRko5OFBEL2N6dUtYUHFMU0VtTTQ4MGlaYzJGRm9ZeTZ2RnB3VHd3?=
 =?utf-8?B?T09qTy9udXg0eEFtWFFtbXpxL0JXVGFDcXJ3RVVSd1FIU3Q5WVNXYWJVYm5w?=
 =?utf-8?B?YWs2R2UvUzJyblM5VFNjRndBTVBmaFVwNFJ2UzZKNW1IaUF2ZDJLQ25abHRR?=
 =?utf-8?B?YmxPNU5UNWRvd3JLOWFENis5VDFNRGx3WWloWWtmSkd0c1ZsSkhYTmtRaS9y?=
 =?utf-8?B?eHpoY3FDOW92RGpRcjdKbWlVM2puSm9kb0Z6d3RHSldsdWZBdllYTlFQbmI2?=
 =?utf-8?B?bWExRi8vMlFrUWNmc0tZMUpsZ0EwMUE1NjZmWHZzWXczVFhETFdqV2UzZzNp?=
 =?utf-8?B?WG01QU5lWHFkRmIrWHNlSGhTbStkRHNIR2dHZXRWczQwdnQzdWZXK2U4SzNO?=
 =?utf-8?B?cmlvZWJGMzBmQzZvV2w5UzdKdHN5MmpyV014TWRhMnRrZnk0a3FwcEpzUHEy?=
 =?utf-8?B?bHJGZTZnc0hZVnhLUGxBMCthdURXQXM1dWlFZXdjVWduNDVGSG94VnlEVkhD?=
 =?utf-8?B?N0M1WkV4emZtbmlOWHdZKzByVFZJMmtUSE9aMXhxWkZMdHI0Mk0yVEMwUkFN?=
 =?utf-8?B?VzZVcjNlZWl5Yk5YMDJHelNWV0FZZThpbTFhNjBWdWkwV2J0S2dNcnJia2xM?=
 =?utf-8?B?aThqVndxQllySHgySUtTL2czT3VGc05EaS81d2ovcWVlT2ozZStHV3VMUktt?=
 =?utf-8?B?ajBBd2J2RUs2cGgyenN6b3U0SWJWQTBKRjhVZzI0SnFTR24wSUhOM05NT2ta?=
 =?utf-8?Q?6FeIIH6G28TwbVAD8JFWv04tz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae15cdbf-9806-4309-1c69-08dae40e4dde
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 11:18:51.4829
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tbUey7T2bfTZgRZArIip+DAh0vgHxTD9DyscXMaNUDBTQkNjERr8siFDxYzr7JCSDcLM5VZBqbMuWI/Q1fffnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9489

On 16.12.2022 12:48, Julien Grall wrote:
> From: Wei Liu <wei.liu2@citrix.com>
> 
> Xen shouldn't use domheap page as if they were xenheap pages. Map and
> unmap pages accordingly.
> 
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> Signed-off-by: Wei Wang <wawei@amazon.de>
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> ----
> 
>     Changes since Hongyan's version:
>         * Add missing newline after the variable declaration
> ---
>  xen/arch/x86/pv/dom0_build.c | 18 ++++++++++++++++--
>  1 file changed, 16 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/x86/pv/dom0_build.c b/xen/arch/x86/pv/dom0_build.c
> index a62f0fa2ef29..c837b2d96f89 100644
> --- a/xen/arch/x86/pv/dom0_build.c
> +++ b/xen/arch/x86/pv/dom0_build.c
> @@ -611,18 +611,32 @@ int __init dom0_construct_pv(struct domain *d,
>          if ( d->arch.physaddr_bitsize &&
>               ((mfn + count - 1) >> (d->arch.physaddr_bitsize - PAGE_SHIFT)) )
>          {
> +            unsigned long nr_pages;
> +            unsigned long len = initrd_len;
> +
>              order = get_order_from_pages(count);
>              page = alloc_domheap_pages(d, order, MEMF_no_scrub);
>              if ( !page )
>                  panic("Not enough RAM for domain 0 initrd\n");
> +
> +            nr_pages = 1UL << order;

I don't think this needs establishing here and ...

>              for ( count = -count; order--; )
>                  if ( count & (1UL << order) )
>                  {
>                      free_domheap_pages(page, order);
>                      page += 1UL << order;
> +                    nr_pages -= 1UL << order;

... updating here. Doing so just once ...

>                  }
> -            memcpy(page_to_virt(page), mfn_to_virt(initrd->mod_start),
> -                   initrd_len);
> +

... here ought to suffice, assuming this 2nd variable is needed at all
(alongside "len").

> +            for ( i = 0; i < nr_pages; i++, len -= PAGE_SIZE )
> +            {
> +                void *p = __map_domain_page(page + i);
> +
> +                memcpy(p, mfn_to_virt(initrd_mfn + i),
> +                       min(len, (unsigned long)PAGE_SIZE));
> +                unmap_domain_page(p);
> +            }

You're half open-coding copy_domain_page() without saying anywhere why
the remaining mfn_to_virt() is okay to keep. If you used
copy_domain_page(), no such remark would need adding in the description.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 11:25:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 11:25:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468473.727582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Jhm-0002h3-CK; Thu, 22 Dec 2022 11:25:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468473.727582; Thu, 22 Dec 2022 11:25:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Jhm-0002gw-9X; Thu, 22 Dec 2022 11:25:42 +0000
Received: by outflank-mailman (input) for mailman id 468473;
 Thu, 22 Dec 2022 11:25:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Jhl-0002gm-94; Thu, 22 Dec 2022 11:25:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Jhl-0002G1-3I; Thu, 22 Dec 2022 11:25:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Jhk-0004XL-NE; Thu, 22 Dec 2022 11:25:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Jhk-00070E-KW; Thu, 22 Dec 2022 11:25:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BSqaOQRYY24oW6GzkRmhx0tcwv7Y0Z65cjLQOhT1+4c=; b=uWbfnbMb0k3nKjHWotL3CGe5le
	OIev0sxg8Dz7EwdTuipuQxVRuDR5mGn1KEnqvEv7s1JkBtxWNv3tPK4z8UiMKOf4YOS3GAbh6DLFq
	+rvdWHXNpFAbTJ31uQjMVrpqKTaPyXoz6CLBwbsR47wuH6swQVJbu+tRT60rhhhqBYlQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175443-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175443: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=8540a1f69578afb3b37866b1ce5bec46a9f6efbc
X-Osstest-Versions-That:
    qemuu=562d4af32ec2213061f844b3838223fd7711b56a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 11:25:40 +0000

flight 175443 qemu-mainline real [real]
flight 175456 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175443/
http://logs.test-lab.xenproject.org/osstest/logs/175456/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install   fail pass in 175456-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175394
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175394
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175394
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175394
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat    fail  like 175394
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175394
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175394
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175394
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175394
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                8540a1f69578afb3b37866b1ce5bec46a9f6efbc
baseline version:
 qemuu                562d4af32ec2213061f844b3838223fd7711b56a

Last test of basis   175394  2022-12-18 17:07:20 Z    3 days
Failing since        175405  2022-12-19 10:38:52 Z    3 days    4 attempts
Testing same since   175443  2022-12-21 12:28:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alessandro Di Federico <ale@rev.ng>
  Anton Johansson <anjo@rev.ng>
  Guenter Roeck <linux@roeck-us.net>
  Helge Deller <deller@gmx.de>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Niccolò Izzo <nizzo@rev.ng>
  Paolo Montesel <babush@rev.ng>
  Peter Maydell <peter.maydell@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Taylor Simpson <tsimpson@quicinc.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   562d4af32e..8540a1f695  8540a1f69578afb3b37866b1ce5bec46a9f6efbc -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 11:48:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 11:48:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468486.727594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8K3f-0005GA-An; Thu, 22 Dec 2022 11:48:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468486.727594; Thu, 22 Dec 2022 11:48:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8K3f-0005G3-7A; Thu, 22 Dec 2022 11:48:19 +0000
Received: by outflank-mailman (input) for mailman id 468486;
 Thu, 22 Dec 2022 11:48:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8K3e-0005Fx-1d
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 11:48:18 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2050.outbound.protection.outlook.com [40.107.103.50])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85590840-81ee-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 12:48:16 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PA4PR04MB7646.eurprd04.prod.outlook.com (2603:10a6:102:f3::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec
 2022 11:48:14 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 11:48:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85590840-81ee-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TrV0gVuCVWUWYkrRVQj8rX2DeCje3diFpbYQq541LMjj+YPmQ8nwlYw/UYkykXBUC5PLKBizh/acqeXNO4ZhGxKYtjqOj7l2x7A1EItHFQe0LtL5uarZvbNZ5xl/LkciqrabKE2j5vwmjgTUgILKS6MjcdcBpGzmUYH8aHyibAMQu+fKG8ZF1V+0CpujIMDc+ceUoXqZTJBSAk35DxSBuKlpouLnf2jYWC0d7O8GHZQwvyUsXh4b/eSpy+w5Fnv88F3n47AyEMDSw48/UTRWbYcPvsAGbURt/CX/6xUEA15Y23lWi3LmPgbOFth9LOj6hBrfKHtIw9Q2SbZTNuzJhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qtIJ8y7ibX5utN4VuvApPOMtVFRvcNct+ysXOvcUArA=;
 b=WYGi8+u/ZWWzQ8GIkKmv3uAI7LTVJFeGJOZUTfP/u1mOqmk2eoRi6OFfJ6yBggBUFW129gKtsoa0NGoKwEeDMFnF4x3PI2j41LpQtwU1sjVwzpMPEDZiNYsnA43/UcRTJIMlnQDnFwnzFLW/WdxeV9FB7DiTNMrxZLcGK4b8/dDdlvjcNH56ydfRsdz9JuQ44CsV2LxE9tnXfbeoUD+QfTfPyJIYKoCOkYsJ9iIPGzgAwQjxgvkaK9x2YhSaeMNETCmKTYdS6tcmlNgxQcoYevAS2NoYCue1a8erIBxP3IkTs/VBzMfY93dEboWl1Sv77io8T13YqnVouCOR5mJ2Hg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qtIJ8y7ibX5utN4VuvApPOMtVFRvcNct+ysXOvcUArA=;
 b=LyeJYEu93nl/J0mFmSKylLkSGVk48PkUAYfJkwahAhTa/0SlmqO6GAWaCO5hILgpM8is+3gHazKt/OBwpgW2p0YNhnNBkHQBOSOCeFoibs37xGDuTkMZenqjKkvV/S0ZXSL+95NJDv75aX8sW+duf/6muJE2vLonidS6AQ5cwotK35BDHAZ9tkv51q6D4HHdXazp7wzVJvsV0PqpGW+TViMKeMm4O6WasFaZgUVntm5eYHVgLkOjg1zqxh3M9XI650Aot/a3U7FzCot4VLO15FV1x1aAmPz2fj4bnBcammtt4hMWqhlsFe55oi9ZHcL/siScbWVWWL0dhO43SKfN5A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1bd1de52-9f3b-6654-dbda-37001fce31d7@suse.com>
Date: Thu, 22 Dec 2022 12:48:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 08/22] x86/pv: rewrite how building PV dom0 handles
 domheap mappings
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Hongyan Xia <hongyxia@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Julien Grall <jgrall@amazon.com>,
 xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-9-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221216114853.8227-9-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0160.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::15) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PA4PR04MB7646:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c6e85f3-238d-46e5-dd95-08dae412685e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cUMmj3lX5v+3Gi8XrGaWhEvUlCXn5/YFpumPX3uAV6NhKo9HqYn6mXm5BrQZ1XKBfp++aQ5QXa1jPBJYD5iLP/KnyeaVScc8Ec8b1oQ8X5gA4a/vIfMEqkRjYGVOgv9Oeg+RuhqJZkwMtCpNomCdf+Uit538Nl7nDFagov0oaaXqwj8ll0igSHWojd6jeKjaBS7aDnN1rziT6fOnRYDClQG6cA00cmSEIXI9kL5mOQ+b04bvnvEMqYYysf0B+h/Axn1pJHvxdwzCuJI5H9QJu8OY1/VZt3zRlORvzz4Tuxly1PRRhpucDcPYn0yiyRVVluRFpRHtMTqR9+bE8yRkyV9movMMeCCS83ZKKqK+rvTOahRMUD9lskNzCPFyB2FpQOVMl2v+I4EdOvGFl0/76FG/jQyg3javmnqYuUPoU7qSwxnDvSGEyA7WyzwwYRbygwDTniDjJy3ThBxQNcY9IAZxFPVBdITplXuRhwDsgHqZaJysDvepd4Htp0T0tzqQ4feF51NR9c4Py/bDmxoLAilWqzI1nS+OcJR3w5lMofmsATj2TEM4qfsbWzWetklCdrHOCbjvCi3BV2URjffumhY7Eh4fM4Qb10kO1wyVxQHN8aX+c4rhSOuujoYgzABs3fgCYfrDdoqUXI6KJ3np6WlE1z2UdOntChowwxtD1sTYRRaRBZGl/x/3Q58Ky7ZMHT1AjXzOZ3Usw4VuprnqqjnFbuQO52eeDXHCdFAliX0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(136003)(39860400002)(376002)(396003)(366004)(346002)(451199015)(6916009)(54906003)(38100700002)(6486002)(478600001)(2906002)(31686004)(316002)(31696002)(8936002)(66556008)(2616005)(36756003)(66476007)(66946007)(86362001)(4326008)(8676002)(186003)(26005)(5660300002)(6512007)(41300700001)(53546011)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YjlKaHNkbnExZmtsUDBtSjNnZ1lNYytHTURkSktVMWt4eUU5RUNKVHlneEtw?=
 =?utf-8?B?L1AyaEhKZDI4KzNYMTFGYzlxa3BRYUE2S0hDdHY5RFVyLytLK2FObC80UmRh?=
 =?utf-8?B?MVFjcUlxUVp2aGp3SWFwTDRvMWpxNjJ4ZE40cUZqSFA5ZjRoL2VralJXb0Q1?=
 =?utf-8?B?cVkwdnIyQmlwUjRvSS9UWEo2aGNuWkdtc1NEazhKYTMrbDRyYkVpSk9DQjdw?=
 =?utf-8?B?OVQ3RE1WajkzRjlNNmFUS1V2Z1o1cW1ESzJnSzZDZmp1U3FuQzVxV1lKeVVm?=
 =?utf-8?B?Vy9KMzlNZ1pFMHdhRzhjUFRZaFZ0OUxDZGJVS1FSTHBDdklxZEc2b0o4ZDRx?=
 =?utf-8?B?ZDNFMGUzVjd0MEN6RWg3QVZPTkc5Y1BvRzUwUVo3U3lYekhySldOR1dQaWpt?=
 =?utf-8?B?U0xKYTVnVU9XSjlEYVBQemRsT2lKcEk1TTA4RE02Y2tJWjRrcEJWU2dNQU12?=
 =?utf-8?B?Y1ZacjB2dkNxK2dFTVM3RmhPY2hBTXZGeFZLU2dtWk1wbzlJbktuT3hJN3Rk?=
 =?utf-8?B?ZlJVVXZGemhaREFsdC80alBFTVRlOUp6NjlSWUY5OVlkZDhkNlBjWHAraWp6?=
 =?utf-8?B?Zzhsd01WU0JVWVQ0MnRRNUFVc1YwN0pQMmdoME1JODdjb0tBdjVhNnB5SUZO?=
 =?utf-8?B?NXJBT0RlcHhmZXpvdDA5bFlsQmlsRGc0aDJBMDJRSFhMTUhkRklEcTYvSUc4?=
 =?utf-8?B?bkdUa1VLV0JsR0pxWFVYVkFXU05mTkkzaTNWeFI3NmttSERHb084Sk1CdWNH?=
 =?utf-8?B?eGpmZEg3c0JqWC9uZTBGY0JQOVhwSno4YlEvV1dHejl5bWNZbGNHUEJ5a2Fq?=
 =?utf-8?B?ckRnUTdiTmd1QUJVMEFWQ0ZtNDZmbTBYWW5qb2tLNEgxOWYrZHo4a2Q2Qmtv?=
 =?utf-8?B?WkIwaklhaGYyMmpXOUhNL0d3NnlGYVBmbWxNaE12YjhRdGdFaE1iak1mZUIz?=
 =?utf-8?B?NStuck1TSDhscUtWNis5eUdqZ2NuU2Z1N0tNOElzd1diTWlWMG94L3lMWUpV?=
 =?utf-8?B?T2hZeWlyOUx1alFFNG1qNEJ0dlBmczFoSkljOXY5ZThVaWl1V0pwVlh3WXZK?=
 =?utf-8?B?ZTNRdEVyMlRrNG9odUtyTUFXcy9BWWNDa1BBSkZSUHM4TGpKS05GeVFCNUw1?=
 =?utf-8?B?Q3VqZ0VaTjIvQU1wM1YvWG5BZnB6ZFhERzRyK0VIc21jZnhTVWVFOXZteE0y?=
 =?utf-8?B?V2wrdHZWcXZTK2dxTit1SGlFeXVpU3JkbUJRR1J3QTZVdExlU0lUTlBFeUcv?=
 =?utf-8?B?WkErWlUrSGdTY3J2ZEY1eWo0cTZqYzB5Nk9NUUljZStOLzl2Y3B0TzEwOUdo?=
 =?utf-8?B?bk5sVWNmZ2txWVlDREdlUnpOZGplVmJFODloYm8wUkljU3B1SExnL21YL0Fa?=
 =?utf-8?B?MWhqNUNkUncvb1RuZUVpWEpVcG1kNTd1RzZ3b0xRZGFsQndJTTRCRW9TaHR6?=
 =?utf-8?B?R2F0cnRRRld6T0d2YTZkY1NhVkoxQS94YkNkMTdkeGhlWFBWemJwWFN6OGZm?=
 =?utf-8?B?ckFXQTNMc3djK0dFZnFOdU9xV1JOZm1PZWlVUWJDKzhEKytTdTlzNHJBVEZT?=
 =?utf-8?B?NnozSTIwQ3Vkc1lMaE1mdkJiUjA0bWhBRFp1NkNza3dmS2NkMWJGZWszQ2Fv?=
 =?utf-8?B?WGY1VlVCcTEydi9FZXBuWVRxZVFuc0pNSDBYeVhzMkllTi9TcS9VcExxaXp4?=
 =?utf-8?B?NUI0TzhsRWRaWHJhWFQwUXdNTSt4d3JvYzVtVkF6Z05mbUd4N1Naa1F2enFL?=
 =?utf-8?B?cmZoL3pJY1N3ZVlZbVhmdndwVHpXTUF4cERDOFlsWWdnNjFlZWg2aVRWamla?=
 =?utf-8?B?RndNclZaZTl5eTBXNFZnTXlhazBCMzFnL1VJNDduanJCSGRXMm1jYm4wOHYz?=
 =?utf-8?B?c29ZcHdWc3FmM2o3cko1NWgxZnRmK2lHaGNibjVLOGp1Rnd5REdMR1dVbUVS?=
 =?utf-8?B?WXNhYmZ1aXZTcEp6U29LcnRMTWRjUmNFWnBYUW4wb2RLN1hQR3YxZExUYWVw?=
 =?utf-8?B?N3Q2bnJOdEd3VThrc3NOdEp2a2Zud3EzZTRwK3lGY1h1T0xYWmRYQUJMYWto?=
 =?utf-8?B?TWFtVVZtYW1ZTFFQczg5Rmw4YXlBL0tSNHovblJoYTB4dHFpbVNQYTFod3Qz?=
 =?utf-8?Q?Txo4GSsL4DE2mSAeOtuV9ozRe?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c6e85f3-238d-46e5-dd95-08dae412685e
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 11:48:13.9032
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kp7FnG7wsPouyyJMj/FUEXJj1tu7mAvJ1sBRlJ4kjMqu0J5pczxaRupLjvPSAQrC7mbP71gFcx3I/58Sjc+xTw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7646

On 16.12.2022 12:48, Julien Grall wrote:
> From: Hongyan Xia <hongyxia@amazon.com>
> 
> Building a PV dom0 is allocating from the domheap but uses it like the
> xenheap. This is clearly wrong. Fix.

"Clearly wrong" would mean there's a bug here, at lest under certain
conditions. But there isn't: Even on huge systems, due to running on
idle page tables, all memory is mapped at present.

> @@ -711,22 +715,32 @@ int __init dom0_construct_pv(struct domain *d,
>          v->arch.pv.event_callback_cs    = FLAT_COMPAT_KERNEL_CS;
>      }
>  
> +#define UNMAP_MAP_AND_ADVANCE(mfn_var, virt_var, maddr) \
> +do {                                                    \
> +    UNMAP_DOMAIN_PAGE(virt_var);                        \

Not much point using the macro when ...

> +    mfn_var = maddr_to_mfn(maddr);                      \
> +    maddr += PAGE_SIZE;                                 \
> +    virt_var = map_domain_page(mfn_var);                \

... the variable gets reset again to non-NULL unconditionally right
away.

> +} while ( false )

This being a local macro and all use sites passing mpt_alloc as the
last argument, I think that parameter wants dropping, which would
improve readability.

> @@ -792,9 +808,9 @@ int __init dom0_construct_pv(struct domain *d,
>              if ( !l3e_get_intpte(*l3tab) )
>              {
>                  maddr_to_page(mpt_alloc)->u.inuse.type_info = PGT_l2_page_table;
> -                l2tab = __va(mpt_alloc); mpt_alloc += PAGE_SIZE;
> -                clear_page(l2tab);
> -                *l3tab = l3e_from_paddr(__pa(l2tab), L3_PROT);
> +                UNMAP_MAP_AND_ADVANCE(l2start_mfn, l2start, mpt_alloc);
> +                clear_page(l2start);
> +                *l3tab = l3e_from_mfn(l2start_mfn, L3_PROT);

The l2start you map on the last iteration here can be re-used ...

> @@ -805,9 +821,17 @@ int __init dom0_construct_pv(struct domain *d,
>          unmap_domain_page(l2t);
>      }

... in the code the tail of which is visible here, eliminating a
redundant map/unmap pair.

> @@ -977,8 +1001,12 @@ int __init dom0_construct_pv(struct domain *d,
>       * !CONFIG_VIDEO case so the logic here can be simplified.
>       */
>      if ( pv_shim )
> +    {
> +        l4start = map_domain_page(l4start_mfn);
>          pv_shim_setup_dom(d, l4start, v_start, vxenstore_start, vconsole_start,
>                            vphysmap_start, si);
> +        UNMAP_DOMAIN_PAGE(l4start);
> +    }

The, at the first glance, redundant re-mapping of the L4 table here could
do with explaining in the description. However, I further wonder in how
far in shim mode eliminating the direct map is actually useful. Which is
to say that I question the need for this change in the first place. Or
wait - isn't this (unlike the rest of this patch) actually a bug fix? At
this point we're on the domain's page tables, which may not cover the
page the L4 is allocated at (if a truly huge shim was configured). So I
guess the change is needed but wants breaking out, allowing to at least
consider whether to backport it.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 12:31:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 12:31:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468498.727605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8KjW-000241-Gh; Thu, 22 Dec 2022 12:31:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468498.727605; Thu, 22 Dec 2022 12:31:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8KjW-00023u-Dr; Thu, 22 Dec 2022 12:31:34 +0000
Received: by outflank-mailman (input) for mailman id 468498;
 Thu, 22 Dec 2022 12:31:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8KjV-00023k-Mk; Thu, 22 Dec 2022 12:31:33 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8KjV-0003lu-Lg; Thu, 22 Dec 2022 12:31:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8KjV-0000mN-5P; Thu, 22 Dec 2022 12:31:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8KjV-0005DS-4w; Thu, 22 Dec 2022 12:31:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=O0dgVJdHQhpfDg4JkhBisc1eFEEr1q8T72jvAhQJQh4=; b=44cBH/uBZzeXa36psTMAi4Mqam
	gopFhRtebezZXM7sIkpTvQ/qtE3hdMAQQF7UxmzVLSK5oEdzjmOjHD5S7R8YWJ8SIVH4qIdX55tGv
	l8PLkmjb8sgYmH/kEFAYI6PzgK3QCjKoo6Wenh/1UGsLMyMnUyt4grUiC3i4W4h1Shg4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175455-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175455: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=43b5d7b14c569e2deaf6a2863cfa44351061ad80
X-Osstest-Versions-That:
    xen=9c57a297378932249c3edefa5065c838f47cb3fb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 12:31:33 +0000

flight 175455 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175455/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  43b5d7b14c569e2deaf6a2863cfa44351061ad80
baseline version:
 xen                  9c57a297378932249c3edefa5065c838f47cb3fb

Last test of basis   175449  2022-12-22 02:00:30 Z    0 days
Testing same since   175455  2022-12-22 10:00:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Luca Fancellu <luca.fancellu@arm.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   9c57a29737..43b5d7b14c  43b5d7b14c569e2deaf6a2863cfa44351061ad80 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 12:53:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 12:53:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468508.727616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8L55-0004aB-8n; Thu, 22 Dec 2022 12:53:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468508.727616; Thu, 22 Dec 2022 12:53:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8L55-0004a4-5R; Thu, 22 Dec 2022 12:53:51 +0000
Received: by outflank-mailman (input) for mailman id 468508;
 Thu, 22 Dec 2022 12:53:50 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8L53-0004Zy-Ua
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 12:53:50 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2046.outbound.protection.outlook.com [40.107.21.46])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad47372d-81f7-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 13:53:48 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AM0PR04MB6788.eurprd04.prod.outlook.com (2603:10a6:208:18e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.22; Thu, 22 Dec
 2022 12:53:46 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 12:53:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad47372d-81f7-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ku4J4vbUavOAWd4bUiB/AtYyOZWQXlR3+Cap1krEIhAUkKBY9J6POS4gzWkaEFLaSMd5UK2FSCvx6W2sUR0aY4of+7WxORDOGfeutPMskTlLliFob/TWMzqcHDG714dk449vg1RWt/npryjGrNlqT1gPIWOsy4codABcb1Di18mOBgL3uvowDjlZHvPNWChvZ3J68FBRwfxV05pxk9ueZkTh8D7zG2UsREn6VU1nie+Kfw4TW/R51+bsP1GXk8re/uh8ebuYUsDD2fqui3kXPG6HZjnDc5OishiF2PifMb6oXB3PG7d6YbHT9O8yIM2ofNjGdeySqDVD41H6rk4qAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wXHLU0oSfqDANM8rOYB2yY93KdQkBxgXP3czOd1Cjiw=;
 b=YU+YOu+A+/LcWF0jaxAMoRZM5ppY/oxGAs1/0gN63mX3ovxkEU6d1p7L9s7q30MET2DcFw6/RAeoKuLDgaMYxvGl6PxlJoE0QG5Vo3QoaH83frQjdJ06pCcT6XJifuTzB+4puL9EQ9UPhe5krc+yD2jg4SMoJY/0jN36df0pizfTmwKkCLV1dvBaCRrSwB5LbFqZsGAl69JUifE3Y8UWLoOu656bopAofNURzuNoULXe2zlWYhd2m+IVlRhivZ8lCQw1UZodslkd/H25XELv3ZCs22gDgAq5/hJeNnsDmgCBbf4eaCstywyAkUU66R+cnRP+uZlOSRG2Xp97dGxNbg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wXHLU0oSfqDANM8rOYB2yY93KdQkBxgXP3czOd1Cjiw=;
 b=ccYLXcv+Pi1vku3X9JiN9Fb3RxpSnTaoXOXpXl8CRIo1wdlcumnmIrzk85Ty3PVkuicwGoMPKdFL1ZK72R1FTQJ5BJTQ7sNvXwTSzgEfcjzSO55dGOE9JRORZF7xfsc2PeEvAozOKM32koyH74B+mSlPq35EqviwgKbJn4LaE/zPAPnBNrcW6YTUGp120GqcFcX6Vu5x2prgycCjvBWlPy5isrBP+QX5CJpr85QEH82BHl9MaprNum/2rNbufoA3n2C59XdgyJFCvrgSgAp3Rh8VyXHLUn1VIrgrkfSDZKwCZ+bwLuNv7+wBC2/7vo2Z+ffuClacs6/tTrCq0qWgiA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c25266b0-ef99-e23d-da22-49eeaee8af03@suse.com>
Date: Thu, 22 Dec 2022 13:53:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 09/22] x86: lift mapcache variable to the arch level
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Wei Liu <wei.liu2@citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Wei Wang <wawei@amazon.de>, Hongyan Xia <hongyxia@amazon.com>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-10-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221216114853.8227-10-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0189.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::12) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AM0PR04MB6788:EE_
X-MS-Office365-Filtering-Correlation-Id: 33a56ff9-1b91-4153-0036-08dae41b902d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e4rEgDELL2rDQAQbwvFc3xbl5LhMWV0D0LtLhJvk5/RP6Ilaa58Hn1CEFrXCpy16HaD7rgmju1BtD1i1bXi6JlclzaRE8bbWqQWT/hOV4pMRqWrJTOD1xk4fnh1EDa6PDFGGnFep/BmSNIYqh4i+jvPFsqSXvSEITDo2Elf35kGnKXQWV8ApmcsnW7GU2hIqc4pKvJjYX4VLgcZoR4vE4X6Hqo0UuhX7cUhGggVkpvOWbm4yL7cDODSjtGJBMHgsBYF1zWckFrKhpdbliHqfEF9uflbd94Fh9H+CxnG06VtCptbWlpQeVzR1BRKqmywrAdNclVYd2XhDL41Y4YOMGgXkwhyXRlqCUAsV9XX+5eNuIVQ2JUUQZAOZxWmZwRCzvULg3uCjnu3ymnNRTU+O6nBfQEggy12BjSCaoZmUDd7pQih6sRR2nSk1EtuaP7iV9zKxw5HXDRaheu+777MgSYbJiiN5DhfJOV0hebaoKcWHmqJs8/2juxNaqnraDHReG1N8lLt4nnNQfVHKJXsaFCF2u2cRodI52+tL8NArICY0hoVyoRzWiWTAllMVarohg/8//Zye7J4m/PtKfXCcud97qPCP3vJoSx/e0zMAuNP124efaM/x1goZmWAxFwMfDxMovBmOUoPkgwoKtzb/E1luY5A5fjWRrlvYahim53roA16KCt9pz3S/RjCOXadBcnnptakfdLwm/ETdiu5kcy6yWVRSLTO3nMEdlPekElk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(366004)(39860400002)(346002)(376002)(396003)(136003)(451199015)(86362001)(31696002)(2906002)(38100700002)(5660300002)(4744005)(41300700001)(8936002)(6506007)(4326008)(6486002)(2616005)(478600001)(53546011)(26005)(186003)(66946007)(6512007)(66476007)(6916009)(54906003)(316002)(66556008)(8676002)(31686004)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MUpqZjFVRmErcUdMOGNaTnhrdDhqVFNkdXh0bkZIaVIxc1lBUmtldVhsWHNM?=
 =?utf-8?B?a0k4VWFQM0dzU2UraUx2b3djSEhpdi9oUlBlL3EwaW9UR21OT1M3THlMVlFv?=
 =?utf-8?B?Q3Zpb000ZDRIeDhNUUVYcGg1Z2dzV0dTenhubnJ0ekp1WjZuemhnK3FVTlpR?=
 =?utf-8?B?QWNyNDg4WC9OZXQ4RlJtU3VrY2ZVelFCQzlqMzY5alZLbW83V1FUc0c4clFF?=
 =?utf-8?B?ejFkTkxJUThPN1pCWENiWWJaT2hSWFN3dmVnbExhNnhEb2RNM0k2MGFkMEpE?=
 =?utf-8?B?RzUrV1Uwbk5EejhxTFI2OTBVYzdCYUYvZk4yTm51L0c5dUNYMXF2blpsNU81?=
 =?utf-8?B?bldwVm16OG5xVTJ2YTZ0YVRJai92a1BRcGNwVzQwdUxSY1ZOSklpa0lsRnZx?=
 =?utf-8?B?REhueXhaSUMvSjJzaGFIUGhjVXY5Yk1EU1pSTmFmemc1d1VCRmN1Y1ZRRFJL?=
 =?utf-8?B?WmU0QjVkWnZaclBiaTRGa2Q3U1ZpYlZXVXVCcWpmZzZGVFFzc2YxWkM3Rnd3?=
 =?utf-8?B?YnBRdUVFWTZIWDdQQ2Z0QW53T1A2WWROckNvVjZGejVFSmx1RThqUFUrbGdN?=
 =?utf-8?B?T2xRdkNYaWtmRk16azFPNXNWOFFOaGxHNXhVTkx3MVpLVjNiUFJFYXFSNUZH?=
 =?utf-8?B?VVRMVDJZU3daQjRmUGVlVGM2ZiswTCtuTmRNeDVLTllldnpuZEF6bHNoNVdR?=
 =?utf-8?B?TVZxZmtjUWVOeWhUZ2o4L2puME85bGJrNWp0VklEYkhaWVJNSCt5OWdkb1dz?=
 =?utf-8?B?TE44M1ZOV05LcjhObjBRbGgzRUVIYnk1RnQ0UE9FeXN2L3VwRFA4cDRSM053?=
 =?utf-8?B?NEpSTnJ5blgxQ2MvVUdvYUV6UVdKa0l3WllQZHc1SFdQbENiRjQ1U1hFajJV?=
 =?utf-8?B?KzVuRHpzME9WQmVmMTF6T0YwZ0FuTmMxWmdmeTVyMlNaWXlLTG9odG1ZWkpy?=
 =?utf-8?B?Zjg4cHJYUzAvK2tjdWRkU2w5QTJCM0F5amMrcXU2TnlPcU41TDFaUHdYTjZq?=
 =?utf-8?B?MThiR2JPdXQ2YlRTOWlxVGpmWE5DNDd0dUZmMk1nUENvdWJNOGR0OEZiYlZi?=
 =?utf-8?B?TFpTVlc3b3BOSWUzckVsMzE1ZVFVLzZ1Z2lUNVlibHYrSmFkZ2tSN1Q4Qmc2?=
 =?utf-8?B?VXJoME15Wjd0SkYzYkI1K0k4OEpzc2pOVk9RaGt5MEVtU1R2ZGhhYVQ4VGI5?=
 =?utf-8?B?NEtmdnhVc1lKRmhaOVBXWDYvdXM4RkdwNWJsMFVsbFF3RnhpVno1S29mY0Jr?=
 =?utf-8?B?YVRsdWYxOXl4NGF4UzhTdjN3MDJEMTcrUzBsbTJiWFUvcmRYalROUGlhVnNT?=
 =?utf-8?B?bDh1b3dnTGV2MFBZS3RaWHZtR25sWVFTSkR0MkFOWlNSdkR0UHBnQzRUbkpT?=
 =?utf-8?B?QVBTY05GYml1eTltb2VrRDltV21BYTBxblV4emt2WkhDY2JMRFoxclhDREY0?=
 =?utf-8?B?SDF4MGFSS251dFZ4U29Hc0k2NEdKVlJ4Y0pFV0h1cUZkTXdVMWhSeHhCeDQ5?=
 =?utf-8?B?NFYweGMvemRYM1IyTTZSNEl6NzBTRzVtUElobGtuUTlVT3VFZ2dXbG1zWnR5?=
 =?utf-8?B?eUJzVElJYTFWOWJXdFdUb2JEZEhsOHdkTnJ6L0RMTmsxUUZPWUVKWE9HTk9i?=
 =?utf-8?B?ZHp6eGVqdXJzNTJkYWRpWC9JWDVYTFZjVVBZajdjVWtQTXNwUis2ZXJ0UXNG?=
 =?utf-8?B?SmEvL2hoN2J1Z2FTN3JEZlkxWXducDBDUXZ4WEoyM0xZV3dlMlJ1Z0ZaQzdD?=
 =?utf-8?B?cjJnMVh6T3BmWnJVQnlSUEVwZFR6R01DdFQyTHdmL2xZOGRnUk1KelBxS0w3?=
 =?utf-8?B?RlBGck8wMStFNWszUnZyWEJ0YTUzdjA0ZnRqWXl4NS9nWHlEU25XY21PZkUw?=
 =?utf-8?B?aGg0K3RsdWUzbzJ2bENjclJUMHhraEtoOW9JWlVJZ24xTk9tQ2x2R2lrUVAw?=
 =?utf-8?B?NWp3ZUpsbE11WHZUQ0I4SkFwWjZUNGw2ekZrTldwM01Ra3JicjdoNjNiejVS?=
 =?utf-8?B?WjkwSmd5N3FCOEZJOGM4c1poaW9JakpzaEhaZ0hXc2xRMVBOak9HemJvd2s0?=
 =?utf-8?B?emUyTUY4dHg0ZEtjUlg2Um8rY2VkNko3UGFQOGdBZ0dvT21zTGFXTkdocmlY?=
 =?utf-8?Q?HWTvvKUDHHKaBDChr8f9y5rEx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 33a56ff9-1b91-4153-0036-08dae41b902d
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 12:53:46.3901
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Lw7w4XO89JmKgvde+WQMuKlpg+eBLIXMV/eNgdYzGzGEcrL1Wn0JmRgDl49NlmOxuDM1Eb0X/nRecCaHEW3TNA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6788

On 16.12.2022 12:48, Julien Grall wrote:
> From: Wei Liu <wei.liu2@citrix.com>
> 
> It is going to be needed by HVM and idle domain as well, because without
> the direct map, both need a mapcache to map pages.
> 
> This only lifts the mapcache variable up. Whether we populate the
> mapcache for a domain is unchanged in this patch.
> 
> Signed-off-by: Wei Liu <wei.liu2@citrix.com>
> Signed-off-by: Wei Wang <wawei@amazon.de>
> Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Thu Dec 22 13:06:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 13:06:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468516.727627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8LHU-0006Ao-CA; Thu, 22 Dec 2022 13:06:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468516.727627; Thu, 22 Dec 2022 13:06:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8LHU-0006Ah-9B; Thu, 22 Dec 2022 13:06:40 +0000
Received: by outflank-mailman (input) for mailman id 468516;
 Thu, 22 Dec 2022 13:06:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8LHT-0006Ab-Ba
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 13:06:39 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2064.outbound.protection.outlook.com [40.107.249.64])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 781b882f-81f9-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 14:06:38 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS4PR04MB9289.eurprd04.prod.outlook.com (2603:10a6:20b:4e4::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec
 2022 13:06:36 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 13:06:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 781b882f-81f9-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oYwzX+LcrF67ycYCwuuCTpTkEkzG+eehjG1FSn2n0U2OfGf5ECWGo1jF1mEEcdwQV+/u2uAm25pouGjAnHfUMQIjBzX6iTGxSnd8mnk21FCmSg1IRGa4+JQDMxlqN5aBgiiLqmsKDEI6UM9oPa92Iu3O8Pw4mBF4x+DYglOQcQjquoNmTqUO9A0sBimA2fppQsqKtbqCMJbY6WmOgSbhCkmful90AEWHEjWSFt+mvAoRJ9UDLuykd6dsONTMK25jw4MwSVZ9pickylgt6UYr0McYS6FVSjJf4FwEs8Ti82m+a1ncsGyzMj8eVVkG5vVXvsznWLpHXREE9iH33p3X7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TDw3BjNQpD9JfYqN5BmhFNoyfMRTSqoCJgSTmCM6ATM=;
 b=drGVR2BQWGDUPiVzFjNe4Hk01OF62pZH0ASDSDoHGVAC78p1O1ethLQvpu9DehjkKkiJDNhxnP344SmTTdPIHWxcXSXWQbZckOpA76yRiOPPweLGkae/fAvAfTm2YiieWmXUhl9+QMGHgcI23vOEZTxNHwbNl/s0G40qYTNeplpA8HKlQV4Se7ZsMPDMIjOPfwI0kw1f6Hi2Rov5uAX9MswA+kSlAcIaM4N0TR0my4bSRWVIWkwWOPIkTN4oDz8Xa7MFiUIKiSFtLFaqmvyJEHJTbYElF52jKcWsxrcXUE8BF+Ubr/t8P8AGGCDKILybbHfUIgme5sNkCKkl2/yOwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TDw3BjNQpD9JfYqN5BmhFNoyfMRTSqoCJgSTmCM6ATM=;
 b=rSDtiZrTgyIavECBzeogoazmOA4n7qOi5jDaRE2fDF4t5cSZjuaU+itOXHYbzlbsVmlK4OOIZDUQVYCXSkNLfZAZwPjLee30TG92+a4ccO2vGnHVQP08vVD9Tcamuz/UdfdorM3iq4W68tjNBI0BjukrUQyDnkT2pZe/+bewl4QIeUX5Mixdb0bCiEhhYHU6MwBqO3XZWdzSOW1t8g2tGZaBXINBxC0v9Jml4/Usk5al5Rq+Z93A82zcjXfp/V4qa9JuB/HvvewXfvMDjOASQKeVEHEvYvAEsMBXjy2pYlLD9SfTkWc11MjdwvlhZ/sPRSRldTo6BxW7JDByH3+mFw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <751ffdb3-651c-b8e6-dc33-5a6857e3c88d@suse.com>
Date: Thu, 22 Dec 2022 14:06:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 10/22] x86/mapcache: initialise the mapcache for the idle
 domain
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Hongyan Xia <hongyxia@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Wei Wang <wawei@amazon.de>, Julien Grall <jgrall@amazon.com>,
 xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-11-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221216114853.8227-11-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0046.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::20) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AS4PR04MB9289:EE_
X-MS-Office365-Filtering-Correlation-Id: 3f92c687-fdeb-4d74-fcb9-08dae41d5b1e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FCHJwwKvmQQF/ENsKfREEK07Lrf8gMKa5HuMUvnkuoZYE4vIqdy/swKIZnD2GmFs5ooTgFAusMiZI/6y/u/dmHCdAAginc03GznW0ZRDim0jor+Yfi5GPRsUeXCjx91Dt0dInP+eB+iilgPFtLu1cQbRIiX/YghrtXqiVNipscfM922/J4LZsHZqN6/f6Euh6Qa9O0OAUUEnYI0grs/lSkAfblshMVZ9R1q1tDBqSul7/F8u17LQRcdMdrAEHPlvC08WRoZdVKW4QdLqcfarx+35JV9jBhFt4pTRsajl27srjq6HExGL5jpeO/OkeFEbi3jM5t42/VDb6cqWG/Hdtn7mKWH9GxTH2ixtINqhd1gxxlL6cGt6l0bNCk/eAyypvPgOKCdd1/oQvSnwJ7u/V5SnOvt5YL5xkbshF18zkjTmFPQvtgNC8Afe5aofMumewqOAs8L+22Vo2ceNr0VqWX+yXxZXyXrnxJQsC8hgZiGCp8okLsYHAYMMirjfJkbeaA0EUajhOorIO6HKBPOUE/WP2iEvQCzlGc7CHpLkEZZmHftrYu8UODWyWFGiSESbLUKeiY4V8LY7Ovlmp67i82jJbx9MVHcHz6AkEmcCW/ds7C7BC1M5hBrKNNf9XClhqcXM6N6z/3pwQOEsOF2Dr/sb/fj07EUxh3CHIbeND+OiygU/Oi14nO9Y4PbSPGvO2Vjd8hJEuIMG2MauDmLa37d8yLE+E3qSGn15Yz7BMR4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(39860400002)(376002)(346002)(366004)(396003)(136003)(451199015)(31686004)(478600001)(86362001)(316002)(54906003)(31696002)(6486002)(6916009)(36756003)(53546011)(2616005)(6512007)(26005)(186003)(6506007)(38100700002)(2906002)(8936002)(8676002)(5660300002)(4326008)(83380400001)(66476007)(66556008)(41300700001)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a2lRSnhSdzJDNTQ3ZkVOTTZ3Q21aVTJvOElZblFzZllDd1I0Qy9iYkVhbGNW?=
 =?utf-8?B?ZHcrTS9UNFBZcmhBNWdyWmNJR2hnSzRqY0xiSFp3MURna1RKM3BILzZtaUUz?=
 =?utf-8?B?blRTcFliNUFrbTMvNElKbFFSMnBTcDVwU2RHTWpXa25KM0c5UFZGS1BtUzQw?=
 =?utf-8?B?dXRXc1hDWU5xaE9FRFVQdU5GaitHaS94ZHdVNCtQMWdyV2lpbnQ4QXFBR0V5?=
 =?utf-8?B?bHVFNEtvSE9DSytzdHpRdm4vRCtjYzYvcTl1Rmp3UXJ0STc1NndhYUJHMElV?=
 =?utf-8?B?c2hvcGhNSHcvSmx6d0lJQWh0OFoyU2tBUDcraFBoVittLzYzNUJ0Ni9pR2F5?=
 =?utf-8?B?RXd3dEVXV044cDdpbUZNWHFiNFp6dk1GVkVQeDlLZDdHTFMzajk5RGpJRFNZ?=
 =?utf-8?B?K2FKODhIODBRYmxjN2R0RFlIOFFrSFRTYzZ5UW1HS3hxcEcvL0ZWaWxLUWFp?=
 =?utf-8?B?R2oyRDNXOW5qaExrYlE4VTFsM2xYUG9DNDFZNWxTU2llVllRcldhY1gvdkZP?=
 =?utf-8?B?RXNGL3dEcEZoUmI5NUJubEVyVzVRNGxFbktWd05iSHQ2cDlsRmZ4Vkdrb05y?=
 =?utf-8?B?TXpncUl4OTI3YzlER0lhRmxJR3FzSy9YVEh3SEU1TkREakJQVGg5dlZ0Z1dR?=
 =?utf-8?B?SUo2WTdnNGo2Q0l1UFVmL3VvclRrcDJsMzN1M0ZYYUZvN2tqMlJXcmpsV0hP?=
 =?utf-8?B?bW5WdnpCZFY5QzlKcmFHVkpnQ1h1d2djbTlwdUF3eVlBTkt1eHVNRThyODRH?=
 =?utf-8?B?KzhNMUgxbkJLTENpWlhxS2ZlUFRvUG1NZDMyY01XNVN1MitPTFRyRXl0QXgy?=
 =?utf-8?B?ZG1oditpOXZQbkphK2VmMS9JK0NWN0dGaE5jOTZzanRyMW11MVNPdVJ4Vkhq?=
 =?utf-8?B?c2NYdzEzWXlhRHViWS94U01DS25qb25LRllteTVuOWZBS1Nic2F5U2kyTCtD?=
 =?utf-8?B?UHVvNXVleWFRVHRtTkE2enBDU2RyVzJYVFMxSHg2QnFSbmVFMDBtbXRDSDBp?=
 =?utf-8?B?RlByODZXb3RWWjNGdUpDb2lSL1lZaitGMDQ2NmRwSG8yUU5CVFIwUmhHQXRB?=
 =?utf-8?B?QUFwVFlEUUd3d1RFMTBBdHd6QUdPRllPM3pxODNxZEJYYW1yZW9NQVNTekI1?=
 =?utf-8?B?OUtWVnpkdzU4OC9QOFFVanYzcXA3c29PaC84NGpVSHhtMVhkVTE5MTMvRFFt?=
 =?utf-8?B?MDJlcHJJQjBPdTlGZjdDZjlyK3Fha1lQcWg4bFJzNU05ckxYZ1JPWVJFY1NQ?=
 =?utf-8?B?MmZoNnJ4eVcrN09RbHBnZXlVUGJoaFdnN1pjRXNFOExoUk1mS3VaeVNZU1Y0?=
 =?utf-8?B?UTNVWmpicU9iRE1JeGpJTkdUdTZJZVNIaXR3MU01ZWlxcnZUdVhjUXE0VDhZ?=
 =?utf-8?B?UGtLVGpESWFsdEtVMTFFamEyemtjQ2t4K2lhdjE5NXA5SmFadDJ1K0RvdHNi?=
 =?utf-8?B?K1R6VTNQNk5iU28zWDNZb3kvUDFRYmdWZlkyamRyK01zaFBiTzQ1UXNobGRy?=
 =?utf-8?B?N0NqdXVRdGgzUXdvZ1JmY2E1cmZGODlSNlRNRURTRCtZUURPM2lHejlUY3JR?=
 =?utf-8?B?eFpqMzNhZXQ2Ty9XalUzbTBGMFN5QVNCLy9XYm93MDlwaXJWZVYreHEyd21H?=
 =?utf-8?B?MWhvQjhybVYxZmdSUmJJTjBKcUZHLzNZUTM5a0l6SnY4S0YzUzE2SkJQazNo?=
 =?utf-8?B?TktNWDc2Rm5iRkluaGlmc1B4bDlUdkdPa2FGZ29CamtMYUp4K1FORThIcUFX?=
 =?utf-8?B?bGpwakpwOU5QR28rY05VQ3JWbU4yQ3lYWjZ3K2lZaVJ3MHJTMVFHVXNZZmVB?=
 =?utf-8?B?SktsYzdSTkRGeVRTM3hLZWZzVGNHM2t2Wk51OUZsSHowcElva0p1SnVDQ3RK?=
 =?utf-8?B?UG9FYXJoVnY0QkJBS3VqMXF1WFE1dVZzSnRVa2FEckZJcmozUHltNG9vZzdW?=
 =?utf-8?B?YUlqYTJwSERISUpqZWpLZG5kdVR6KzIycHkzUkU4Wm5nNGhCVXNRWUNNNEdk?=
 =?utf-8?B?UC9LUDNuTjB1a0NGZWN3Z3A3WHNsOFhZcVo5SXVoeXNORmw3dmFZenlBRXRN?=
 =?utf-8?B?SDZQeW1RdFBLbVNuU1BDdWpVVDE3MXlFaU5yaXdXaEdkR0RZMmp4Ukw3UjVn?=
 =?utf-8?Q?qXRpa37zu0GN9KdeZnjONKGYu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f92c687-fdeb-4d74-fcb9-08dae41d5b1e
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 13:06:36.1538
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5ao1ycFo5P6gCKoC86N1e2O07bYk57CIDj8uJwncFsE6G9ZASLindKwIYOxDMmyYHLkj0xAdM9Y26M2a0/68Jw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9289

On 16.12.2022 12:48, Julien Grall wrote:
> From: Hongyan Xia <hongyxia@amazon.com>
> 
> In order to use the mapcache in the idle domain, we also have to
> populate its page tables in the PERDOMAIN region, and we need to move
> mapcache_domain_init() earlier in arch_domain_create().
> 
> Note, commit 'x86: lift mapcache variable to the arch level' has
> initialised the mapcache for HVM domains. With this patch, PV, HVM,
> idle domains now all initialise the mapcache.

But they can't use it yet, can they? This needs saying explicitly, or
else one is going to make wrong implications.

> --- a/xen/arch/x86/domain.c
> +++ b/xen/arch/x86/domain.c
> @@ -732,6 +732,8 @@ int arch_domain_create(struct domain *d,
>  
>      spin_lock_init(&d->arch.e820_lock);
>  
> +    mapcache_domain_init(d);
> +
>      /* Minimal initialisation for the idle domain. */
>      if ( unlikely(is_idle_domain(d)) )
>      {
> @@ -829,8 +831,6 @@ int arch_domain_create(struct domain *d,
>  
>      psr_domain_init(d);
>  
> -    mapcache_domain_init(d);

You move this ahead of error paths taking the "goto out" route, so
adjustments to affected error paths are going to be needed to avoid
memory leaks.

> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -5963,6 +5963,9 @@ int create_perdomain_mapping(struct domain *d, unsigned long va,
>          l3tab = __map_domain_page(pg);
>          clear_page(l3tab);
>          d->arch.perdomain_l3_pg = pg;
> +        if ( is_idle_domain(d) )
> +            idle_pg_table[l4_table_offset(PERDOMAIN_VIRT_START)] =
> +                l4e_from_page(pg, __PAGE_HYPERVISOR_RW);

Hmm, having an idle domain check here isn't very nice. I agree putting
it in arch_domain_create()'s respective conditional isn't very neat
either, but personally I'd consider this at least a little less bad.
And the layering violation aspect isn't much worse than that of setting
d->arch.ctxt_switch there as well.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 13:24:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 13:24:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468524.727638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8LYq-00008c-S1; Thu, 22 Dec 2022 13:24:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468524.727638; Thu, 22 Dec 2022 13:24:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8LYq-00008V-P9; Thu, 22 Dec 2022 13:24:36 +0000
Received: by outflank-mailman (input) for mailman id 468524;
 Thu, 22 Dec 2022 13:24:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8LYp-00008P-Ul
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 13:24:35 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2086.outbound.protection.outlook.com [40.107.105.86])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f852f6a7-81fb-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 14:24:32 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS8PR04MB7720.eurprd04.prod.outlook.com (2603:10a6:20b:299::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec
 2022 13:24:33 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 13:24:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f852f6a7-81fb-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kBLzvpA2EmEwRYFlVzUEtiirwum5YzCBcjn3qcI2w/fF2+FMNm/MMxV+GkVzIPsxAIGC1gMZqwsh1FGc6LHgnETKyx+WI+9zBP9tleiG9khPm5JJTP40MfG80UZubw6/QD/O7QH4d0eS5/kM47ONwmmKuUIjogcSOdZ0/hIQQsT+faxmpYVExswpnhCq+pSoa3EUaxfIcXA6Feds96mlF5sj2MyDbfJ4ec7zHSZyltpPmEULFr3S4cwNRuzATDb2uKpgdTrZhx7EYYC+K4YQLnjrWpLNvumtOJESICNgpcEIex9Oqz5j7zrO+mCcq0r2bcenKjQwIKvOiN5aVUvxFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t+01OFubpNaP9bGDH6x8+gYO3b8F4tB3SdImxcaUwjg=;
 b=lXwCtbwQh3P+TeT1BBwm2BN61szkhvFoa+y7FgqEjLO1dlDDlw+eQvXvD2qP5Ad/OciOqmHsVLZrvvoKPq6ILosvF5YZGVw+TjbAilK5OYgKt7zLAyjLhioQoHHCmcxcIGsiyv1n2CuA57GUXYkiTOPPbsxzQllha3bCEmWnid57DEsa6e3oHo+yocAOAKqZn5hXZZUQRjOafmk206UftB/0Kga8+G7JOc27GYaFsgUvmwvnzqQQ1ZZl4tJNNjQ2vQX0mAniHNy7zdIK4f27oAhfdS+N2vhcJiFGYYqm0UNZSpYgoiTiSkBsqyY0ToPhXfx0RQx1GFXTnoVitM1g8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t+01OFubpNaP9bGDH6x8+gYO3b8F4tB3SdImxcaUwjg=;
 b=k0QVHhkEE3YcCK6RTveN67Y4Cy4F6326qI+Mou0o3vjh+HxM959dAood+2SMnCSAi4alpTRF/hOrgTCqtRgbpJ5hhp3NR3h6bbMPy/KyR1oF2SQEAtK6cZo802Nc3KI/SeWFFhK4ab7wuObYzt4n3NDCA67VZmqNICZ8322eF8PxefqnhFMaT85EZL4N4QOiwuU9bCwvMfjIdN6nWdhNUDlvGDNdrjc30tbFe5/o0nty+/O/g03i9xUzFZ567Vy0De65yyjaAcbDXbbJ9+QCVPTBy41X18oIqr80RRsXfOi6tQxMoMUd0sbzbv7407W4u0XR07mLw0LRN3l9HWmRww==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fc70f967-34bb-9569-f514-7a3208e746c6@suse.com>
Date: Thu, 22 Dec 2022 14:24:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 11/22] x86: add a boot option to enable and disable the
 direct map
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Hongyan Xia <hongyxia@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-12-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221216114853.8227-12-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0164.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::14) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AS8PR04MB7720:EE_
X-MS-Office365-Filtering-Correlation-Id: 142e90c8-4302-4702-fa65-08dae41fdce1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n/d1b1zZWKlhlP89AaHXSWLq/U//TsB7NRbrNinsIC6q+aqcLeFJoKWndpwBNgHPJEjNH67p18O7CR/LkkNqv/LjZB6Kme+jDEH+QEc+DNr70whHHx1I3sY51+qZZO0eSJep8Ye/gk0TLm6HStca5o23ypc4kYkTIHUloo6rUDH9cHi9dgMdkypaabCWlFAhxL3e7Mk+TXSvU56QjuhD7h6RITdTBWNALiGivUQ+Xzm92PqmTxw+BPxeeztpa8atTUPU2+9wJdjH4/VFtibFyjO2Pe1VzWRfeMCSyAFHNqmFMPl3+wflxWCwOKNnKiSWFu8kXGD2a5wMa4fbQTimNFUC2h2/NYvRDJdMCJArnaVlm2TynQC8sIEfDmcKnsz32UflOKwk44l/vSUnsXMlco9yRGvjoAjqdNkkCobdzqqAo8XG2SfUxTMCjnYsByk+mfbWh4BLcf8QSmQ2l19L46a1Sbvoo0AaVXPVEUcptIFkNqORwwzVqKZh0wI3+OwuXII/vzXSpjJNtNFnrjgy1CMs3GZi6RbjIxe3R3ORxTliss98rFxgQj2GylpCe5dMU8lFKJ0Ueb6H+HCV5FQHi6JqoMKOfPNCBG+h+AmHBoO3UU7t6iBXemSU5CAACNShI+I0yoQoj5pNvF4B0f4/A2SRkjuljX2g5NIk3lh4OAN546Vp7Nt0iJ9c5T0Jdu+iora67nhWGXEhd3m7MJ5mHvSBqQMn7j3303E6osVPV/k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(346002)(366004)(39860400002)(376002)(136003)(451199015)(31686004)(53546011)(6486002)(6506007)(478600001)(2616005)(186003)(316002)(26005)(6916009)(54906003)(6512007)(8676002)(66946007)(66476007)(4326008)(66556008)(41300700001)(8936002)(5660300002)(7416002)(38100700002)(2906002)(36756003)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OGZ1anNoM1ZUTnNQTE9YZDE2c3FidlBjMFhHd0tsTXhqdEk4aWpxdFgyVWRa?=
 =?utf-8?B?ZVo2Z0NVYnNFemVaczUyWXBPdFB3MlhrOGttM2ttekx4YktJb3ZIUU04bDJ1?=
 =?utf-8?B?bmFzc3owOEZjclkySHc2K2VIYlpQVUhHTHhYbDFhQjMvL01yYWlOZk9UR21t?=
 =?utf-8?B?NU9xTUFkSFNONDFrV24vZ0VQazMyNFFOUmdTeVlFNE1uRHA0eFNUSFRSUXNZ?=
 =?utf-8?B?RGJDTEpZMlhvTGJJbTBDM0hNelRKVTBDclhrQVB4Q0RYUzYwOVdhaHYvNXcv?=
 =?utf-8?B?UjRVaGRqNXZ6d3gyTzJKTXdhV0hHRmZGOHMrTGthY2VHNEcvd3JYSVZ0bUlV?=
 =?utf-8?B?eCtJRGJFbCs3TWVDbE5pd0Y5NzJOWmlXdXZ6eEtVUU9jclg1b21iZEhhb0Z4?=
 =?utf-8?B?NUFwenRYb1FncnEyejR6aGwxenh5T242STh3WlkxL0RpN1QvaGJ3UndnRzdk?=
 =?utf-8?B?Nmg4dmsyQzhSaHRrV1J6ZSsxS1cwYnA1YmdVaGlwOXJaTG5KODRkNlpuTTNF?=
 =?utf-8?B?eVBTQXNRdXA4ZU83YnJGSERqZk05RGc3clpWUjRFNXVnTXR2V3lGQjRTU1dF?=
 =?utf-8?B?aTl6SS9oYlMrcmZiQWN4NEV5L2tnS2JnOStIUkVra0VWUVhjWitoTTk0QnFP?=
 =?utf-8?B?WFBRa1E5blFlK2lHVlJ6bDNFWENOZkpaZWc5NWlrOXdvRkdjR0tzbUpoRXhR?=
 =?utf-8?B?eVlLRDZGL0dzS2JFUmhZV1dpdzNzdkhnd3ZFY0J2enJwUTFudWJCTHFWR1NB?=
 =?utf-8?B?TkJ0MmU4SkI1dEpyRW5XMlhCcE9iSS9td1ZxQVA5eEVLRzF2b2pUdHEvQ2N6?=
 =?utf-8?B?ekZHaHZmRlR6by9SSW00NXNpaU12WDRlWDBRak1FVmVNdFVHMWFjUWcxbFpP?=
 =?utf-8?B?enRXVnlZb0ovekRqbHhVZUZUVlFZVDE3R2RETW5HRzdqOGsyMWJleTJrMllz?=
 =?utf-8?B?K0l4bDlWK1gwdGZJNEpRUFUyVWlIWG9WcEQ0blVXYVpzSUxPKzV6VTR2Yytl?=
 =?utf-8?B?VjdJU1R5a0t5REZVSThuTkVCUEFiTFl3VWVYdUtRNWxxMzVOV0JQNnlMQ2NM?=
 =?utf-8?B?Z2pGMUlRMFVqeE5zR1Z4cnNEdXVlY2I0cHdocTZYL3N3VEh4dWtScVpHZHNE?=
 =?utf-8?B?TVh1VmV4YkQ1L0dvY21lT0JGb0Y0enV0VElrdWdKK3FKaDB0Z011K3JjYXFv?=
 =?utf-8?B?K3pHdlo3aGZHQkhCRjRQbjZqaEtuQVc2NWl1R01Gc2VVUkx5bXdsbm1aL1pV?=
 =?utf-8?B?TCtJbzV3WGxVNmFxeDdTTnFvUEt3MldnZnVRbk52QWZqVFFYeG1DeW55ajhU?=
 =?utf-8?B?c1NkWHE0WmdDcldKQ0VEY0RsUFN6eG5LaWw4Q25QaS9kcVFNQ1R2SmJCNmFY?=
 =?utf-8?B?T1FSSURaRGRTWXJMbDhGTUkrQkRMZVlYOEFZNGZybTVIK0ZZYW9oUzZkbU5v?=
 =?utf-8?B?V0lJRDAzTkJaVUdBbVhXY21Vek0rWk9HK0ZlK3dwUzRyem5MMzkvOWp0bDBm?=
 =?utf-8?B?bjBIcWJwTVJHS3RTd3FjQzVXOE9FYUdFZXI5ajNoYlE3WitQVUoybFBGYzRw?=
 =?utf-8?B?MXIxU2NYQWlvQ1c2TmhzWm1UUThIR1dUTXY4TTM0ODNZcThYMWM5bXBrMzdm?=
 =?utf-8?B?ZDQxSisyNTBnWU1KUm43UHM1MmI4dnZ0bndqd2hBWlBzSDZMTHcyQThBTi9Z?=
 =?utf-8?B?aG02T1U0TGRxWDNnbFozS1BBazc0YktyWHl5Q2w2SVd2YlFpZWRVaWoreFdr?=
 =?utf-8?B?OEg1RFN0THM3MEFWRDdCdnVqcXlVY2oweEtkUlNRSkFBTlVhcGlzenpoNWVQ?=
 =?utf-8?B?TWV4bGttenlyVGdBdVBMMWU1NzJDOTJ0VkhuU3cvLzRKSUVGZDJxQ0xvOXZ5?=
 =?utf-8?B?alRqdVVmZ1FJbmF1Y1BJcENDMmJGTWhSRFlZWUFmOXMrWHhRWExldWNMWklO?=
 =?utf-8?B?VjJBa2hhVi8vN2k5T3hZQXJSS2hHeVZ0dkYxZVE4d2Y1c3llUi9TMXAyOFly?=
 =?utf-8?B?OTN0NzBIM21LYjFjOGlLK2NNZ3VLc25XVjd2dE5xblA2Z3c2MEVwSWw4aHpZ?=
 =?utf-8?B?dlB0amxTdFY1azNwaEtkUVJJc3hvRzNZclBkK0laajNTRkZKaGp2dWZMRHA2?=
 =?utf-8?Q?Iq3mzAyJIsUImcTsZbQ+0NwIB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 142e90c8-4302-4702-fa65-08dae41fdce1
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 13:24:32.8356
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FXkNjXMWC3UwDiOAeO6uq0J6sSBoYIxlFuXPOoCOCjTl3zW6r/uA3lilkHvxD9gQ19RTczWLH8xjhpdCWvdYUw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7720

On 16.12.2022 12:48, Julien Grall wrote:
> From: Hongyan Xia <hongyxia@amazon.com>
> 
> Also add a helper function to retrieve it. Change arch_mfns_in_direct_map
> to check this option before returning.

I think the abstract parts of this want to be generic right away. I can't
see why Arm would not suffer from the same issue that this work is trying
to address.

> This is added as a boot command line option, not a Kconfig to allow
> the user to experiment the feature without rebuild the hypervisor.

I think there wants to be a (generic) Kconfig piece here, to control the
default of the option. Plus a 2nd, prompt-less element which an arch can
select to force the setting to always-on, suppressing the choice of
default. That 2nd control would then be used to compile out the
boolean_param() for Arm for the time being.

That said, I think this change comes too early in the series, or there is
something missing. As said in reply to patch 10, while there the mapcache
is being initialized for the idle domain, I don't think it can be used
just yet. Read through mapcache_current_vcpu() to understand why I think
that way, paying particular attention to the ASSERT() near the end. In
preparation of this patch here I think the mfn_to_virt() uses have to all
disappear from map_domain_page(). Perhaps yet more strongly all
..._to_virt() (except fix_to_virt() and friends) and __va() have to
disappear up front from x86 and any code path which can be taken on x86
(which may simply mean purging all respective x86 #define-s, without
breaking the build in any way).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 13:29:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 13:29:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468534.727649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8LdK-0000rm-Ga; Thu, 22 Dec 2022 13:29:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468534.727649; Thu, 22 Dec 2022 13:29:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8LdK-0000rf-DX; Thu, 22 Dec 2022 13:29:14 +0000
Received: by outflank-mailman (input) for mailman id 468534;
 Thu, 22 Dec 2022 13:29:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TLdZ=4U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1p8LdI-0000rZ-Jq
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 13:29:12 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on2043.outbound.protection.outlook.com [40.107.8.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9d1fc1a9-81fc-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 14:29:09 +0100 (CET)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS8PR04MB7720.eurprd04.prod.outlook.com (2603:10a6:20b:299::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Thu, 22 Dec
 2022 13:29:10 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::8084:fa5b:fe3a:fa24%4]) with mapi id 15.20.5924.016; Thu, 22 Dec 2022
 13:29:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d1fc1a9-81fc-11ed-8fd4-01056ac49cbb
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iyB3ZV7+/kibrxd3JGsZUKMefwb9CZ6m9MlRv1sx/oc8RyEv7jjFMA97E41kTo1GGmr4hWt61B8Tu4rw1bK9Y+r4USnOgiosuKOUgchlCEsheTN4vKS5Sxe1uH3qEU0Uyb9b7nCZvIQQhM9hlCfhMtCY7FWzXhM8LE3h2wMplN6fn/GmyzDD3Qw88F8az5UGJY28yJddUFHP6f42LypuAVXT9vB0yGmh5o0cyt2cEvFeiFSm2ikya7Z8VWoYNWecZpZN0rTC6JcQiuO/7brYk0YCoM+t8/ULg+tA29oee/UqgxPk/M8WWZgR77QblaSPiLs+Umger+mkXj6pCDWX3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xdSO9IcI/EShL/Y5dZ520U7r/P2gmaVkQwGdvlYfG+4=;
 b=mKqLG2RwnW63V8wvXfBuaL3U0iNdzCo/pZOdC5pFgCVkXozwTv01oJ0IWrY1d/9Z0eeZgQXTtmRiRPd4dFnI5osqwT2Mna7c87InpDXM8nkw6DzVAMRaQVW+dZ7Ba26N8s5Gq8uuFUxxeGQZgIjJYZ7CzHXRs9fHHPiaoQcFDS4TTad4DlZoW9Ee2su7ehYXPHed3nmH542m916jZamu+RP08simv9l4FJs3NT1fiFS/qAqiSyLNitxv9DJqRH8RqQYZPhiK0+WyEKIaPObiECoEDmlxMPJM6XfLpU1VCtv/xSPqjJpRacDKU2KnjTTJaEaI2lRMiPTwMwO3Ab6w4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xdSO9IcI/EShL/Y5dZ520U7r/P2gmaVkQwGdvlYfG+4=;
 b=sn5pmOv+30FTfeuPFNg5tbK2ylXqrPzXFQxcxLazFawqWs6sHy/GhC7alEnGkiwMEH4Wrx5xHKSYhv8wLuF7PmTACNOw4UtEgUdKo6PZ5zHj7/uUX3v1YcbDX7rFVVfiwTb20s7JvNbJvrRfnrMnObYwL1IGqyYcZsS1stqGxmqO8OlYh8lt4sKOYoUOLnS/osWUokpNCcQ6N0N6WFlzse3oEb7g6j450zRH4GcEfGz/01BjDTKpAsp9Fq0b6kTfqQSNnyvWWVlbhfxZr0WyERQyRF6yNGbN0zAT4kpUOQ8UiYUj/dpPpTq/JzTTcatuk/qY8fpOdElug7BiNhNVaA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <23815e37-f474-68d5-1315-faf33b8db460@suse.com>
Date: Thu, 22 Dec 2022 14:29:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
Subject: Re: [PATCH 12/22] xen/arm: fixmap: Rename the fixmap slots to follow
 the x86 convention
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Julien Grall <jgrall@amazon.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-13-julien@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20221216114853.8227-13-julien@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0091.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::11) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AS8PR04MB7720:EE_
X-MS-Office365-Filtering-Correlation-Id: 92f00946-dacd-4889-3a19-08dae420822c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	K+H3gmHlpe3cfDYiPOMhWjKVmdqrE/QnOLvu8iXgN2C+ZZ1VRy/VV3QxJnutzBOLTat2Di7MoEojC0YX+Mk8MpYhk7Qgn35cY34nBKXPpqMpld/vgJE6WJIWAXbDQFJBDPugeT0TmdVrr9P/QtYmMD+GQgRS5AaEgcrEnsE2W2h1UnV0483POG8WrFjjHpkSoGTp9WByAi6FTxQw/XzkNdoiDCCHCUCsDHyZ121t+z0p42n2BXOrWESYVm4v82W0MTsftY2K4i5AujJf4ANfdtk8w8jUG6/lqkSVRvNqFOMZUyi6F9pUcs1U9Du5YVyYjTwDXxglcg5qSZhdVsHPI0QrWiRqz4ltyO/bK2uUnmSxzHGmUC3T91jJ9jQ5A4vE5tK4y42YwHx09H657fp5xise1thQCgPGxm61Z2ypRduVHc/yCK7IwHIY1lKosBekiAcZZRCgTiO/z8Oa85HAdyYEN5AsvB8ShIwUaMWf++DawNIN2+495Tx7pyFF/7TxABiH7/cXtdFxD4Dv3H54+U5dtMswp4qbXbqwaydX/aHMQZ+vRvRJvdllX81Fb8QKT7aD8VpUmo6AAtuTZKH/1RYeWbNOVFhUiHnDpZq7WF9W9NawXeri5Y+7pyc3sC/cl0qhvVV4fv8i9oZwo2jKkAZ5Mfu32BGcmYHk4ft4fjXrvacMzG9Z8eY7XE42HyvmfpkRKKqXbQehFw6HdtV5ijtXNFL4EepMxg7jSvt17ww=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(346002)(366004)(39860400002)(376002)(136003)(451199015)(31686004)(53546011)(6486002)(6506007)(478600001)(2616005)(186003)(316002)(26005)(6916009)(54906003)(6512007)(8676002)(66946007)(66476007)(4326008)(66556008)(41300700001)(8936002)(5660300002)(4744005)(38100700002)(2906002)(36756003)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Mm8vTEJBTG81SXJ0a21GQjNKdDNzOUhNK0lFeXZIRTVtTVkrZlN6RGh2L3lt?=
 =?utf-8?B?d3g3Q0k4RmNCczY1eDFYenZodUZHMEhDanU5NXI3RktpSXZycGhXNEN6WmNv?=
 =?utf-8?B?SExOc1kzRUVFVXBmaUtCVTRiSkw2RVBnZkdRRFBJZ3FvN1ZqSU91Vk5MWksy?=
 =?utf-8?B?MmY0b3M4S0xVc2UrN1BZeGlweHFjUjJBSkN5UFo4bTNvYnQ3cVBGbTB0VGRI?=
 =?utf-8?B?RGlkdGJwNmE4R1ljY1haYkJpYXRBQzhjREpteTFXaWFzS1gySjNsdzN1cWRt?=
 =?utf-8?B?ZEVReE13em9xdm8zbWhIL3NrNzgxSXVyN3FXUzJKNHVVVFNwL3BkYzZUVmVF?=
 =?utf-8?B?M1pTdm5kZ2EyOGhSMk1XTnlGRHhqaUJLeFpLOVdvc1RPM29nTXhuZDdBRFp1?=
 =?utf-8?B?MUlaMTU2SWF3MlJsNWRFMmxQUUVNTWYxQ3UrQTZhTHJQZ0tIalA5MVJsT2d3?=
 =?utf-8?B?akQxeG1kaFZJN3pVMHM4dHFNSGcxTFl5cjQ0L21yT1Z3T2dyNU8za2gweTVU?=
 =?utf-8?B?cEVvbUFFWUxVZTg5cldNcUZuNjVHdDZrNzNzaEg4VEozNjNEZENEcUdJbS9a?=
 =?utf-8?B?aFhVOXRienBNd1N1UkZCUXZab3ZEY0FyRHA3ZGR5dlMwYjhXUEFIWmQvZ3hO?=
 =?utf-8?B?KzVndzZROFcrRGMzNjBTYi94cUlpVE9YdUx4dk5OSWlWOXNZazNKbUhsb21O?=
 =?utf-8?B?ejIvK1FTb3F0ZkNGSTliTFpudjBHZTRqQ3ZvU1FQbWFiVDBNTk1nZi9yZHV6?=
 =?utf-8?B?NkVLRWVyNDV4bXc5TUp4cklTa2JDQThtakRLMlM0THpkL0ZZUWFuaGgwRUJC?=
 =?utf-8?B?TUkvRzI1NE55OWd2TWg4WE4yTUZ5MUR6cXRBUFlNamlrcVNybExZdy9FcTFw?=
 =?utf-8?B?VklVSW5Lb0JUY3QxTFM1SkhzTjNRaFdXK1R4NnJxeGlqUVhJZmxkcW0vVVVa?=
 =?utf-8?B?WTNSM2oyT1ZtbXl1V2p3ZXFEWHdHeUYvNHlZeG9LWHZQK2NNSU5CSGNyMUEv?=
 =?utf-8?B?RjU4aDQzd2xwOFRqQ2xsTnZ1djNDdmNRMEk5M2FuUnBzQWF1ZC9UOVNzL2Rs?=
 =?utf-8?B?OHVBNTZ2L2d3dFJnVW5iQTFPYnUvaHRKUFd3UnFUVWRJL3YySVZ3dFp2d0FE?=
 =?utf-8?B?ZTRXdXFqd2xYWXBsVXE5WXdoUmNzRHlFTVIySjRHelVnazQrN016MjVPYjYx?=
 =?utf-8?B?TTcrK0JDM1d0WGJKQVpBVWphc29mWHF5cFFhdVB2Tkdpb21WalR2eTF6TDdh?=
 =?utf-8?B?NkJmVWtYcG1LUTB2YzNkRm9TN1llV3NzMU9SMzh0YmFJU3g2L2xrUEQrdkg0?=
 =?utf-8?B?bnVacTFKbjB1VTZ5WUUycGtoenpvVW91a3RDa2NRY2hBNE83Sm5Sb2FxYTZT?=
 =?utf-8?B?bEFqMHVJTUJWbS9MdXptNm9SWW04ZWxxK2pwcEJkMEk4NDU1SlBWQlhKWWVL?=
 =?utf-8?B?NCtvdmU4NjJMT1REVVhpdWh4UWNQREZnYnAzTFdLUy94RlFVSUtmREVkK210?=
 =?utf-8?B?MHZQY3c2MTNISWpPdm5udzlXMFFnbnJLQlh1UE5YTlhKOUxSQ3FYaFBHQVVm?=
 =?utf-8?B?cHRzelpLNTdCK29wczBmTXlwaGY2YUd0Um95MkFueVZxa2JCZ0lYci9zZW5E?=
 =?utf-8?B?cDZhaHZtSnpUcXlJMUFmRGY2TXFvUC9ZcG1TS1ZyWWlQdWZhanh6OVR3VExr?=
 =?utf-8?B?dzdqU3BPMVlNWlpFOFovQXNoR0RXQU5mNjBFQlFVV1FHdXpXeXAxakVPZUV0?=
 =?utf-8?B?YldWVEpCcURQTWUvT211T0pmVUw0Q3hpbTAzSmt0UmZva2lNam9kNUk3OUFy?=
 =?utf-8?B?dnZ3ZDlXNVNjUElTcWZPSzdIU085RXJsRys0MzM2THo2WXRFSkNjM1pROXow?=
 =?utf-8?B?V3M3Q2Z6S0RSM0FlYUw5TUVVbk4yam5reW1vLzFCUkEzMUY3SWVLY2xnVlJi?=
 =?utf-8?B?QWRzSTRUVFgxTVBibTI5TlUxZU1QYmpRWC9ReDVZMFNsWloxcThLQlM3Vko0?=
 =?utf-8?B?aWh1VE11NUdGUkxsWjhtdnZld0h1ODVjRDZFeUpnZ25Da2dNNUhnZXVKb2xq?=
 =?utf-8?B?VXNXaCtaR0NrVEkwRlRpOVlGNW5JVk1iZ3lUd3BNQmtKTFVCbFE2UnVHb2JN?=
 =?utf-8?Q?Dah4yCfdfqynfZeV8L3G0DTEv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 92f00946-dacd-4889-3a19-08dae420822c
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2022 13:29:10.2088
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DzLWOUTh7IKcBUfn4wMYTBEho/J03QdnJ9BMrPbckY7FHbZusScPYbvT5YnJEBHNrPi04SZXTzQ7QiExnILhVw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7720

On 16.12.2022 12:48, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> At the moment the fixmap slots are prefixed differently between arm and
> x86.
> 
> Some of them (e.g. the PMAP slots) are used in common code. So it would
> be better if they are named the same way to avoid having to create
> aliases.
> 
> I have decided to use the x86 naming because they are less change. So
> all the Arm fixmap slots will now be prefixed with FIX rather than
> FIXMAP.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Thu Dec 22 14:53:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 14:53:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468545.727660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8MwU-0001Wx-GG; Thu, 22 Dec 2022 14:53:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468545.727660; Thu, 22 Dec 2022 14:53:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8MwU-0001Wq-Cu; Thu, 22 Dec 2022 14:53:06 +0000
Received: by outflank-mailman (input) for mailman id 468545;
 Thu, 22 Dec 2022 14:53:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8MwS-0001Wg-Ab; Thu, 22 Dec 2022 14:53:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8MwS-0007On-80; Thu, 22 Dec 2022 14:53:04 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8MwR-0002lg-O6; Thu, 22 Dec 2022 14:53:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8MwR-0005m6-Ne; Thu, 22 Dec 2022 14:53:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7hSehhs1UdQ0aTaxeliFxemTZ0PNqmJFlfus8EWRyjE=; b=AApeqxcmFjoPbI+WMoOmEnunBY
	NMZKmSO7g0YTOiKb+4xj+k362vUiVd178tfX20GUHlhm7VI40Du2nxtFT+ROVkT0jNyI98QIOkfjU
	nizozf1V1tV1AtG+qIXA85C7diILLEoOVp8/L3YcyzMTa3X+kUWwgHuvWxg5dnmFnoMw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175445-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175445: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemuu-ovmf-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-pair:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-ovmf-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-examine:host-install:broken:heisenbug
    linux-5.4:test-amd64-i386-pair:host-install/dst_host(7):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-examine:reboot:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 14:53:03 +0000

flight 175445 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175445/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow <job status> broken in 175433
 test-amd64-amd64-xl-qemuu-debianhvm-amd64    <job status>     broken in 175433
 test-amd64-amd64-xl             <job status>                 broken  in 175433
 test-amd64-amd64-xl-qemuu-ovmf-amd64    <job status>          broken in 175433
 test-amd64-i386-pair            <job status>                 broken  in 175433
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175433

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175445
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175445
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175445
 test-amd64-amd64-xl          5 host-install(5) broken in 175433 pass in 175445
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 5 host-install(5) broken in 175433 pass in 175445
 test-amd64-amd64-xl-qemuu-ovmf-amd64 5 host-install(5) broken in 175433 pass in 175445
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175433 pass in 175445
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 5 host-install(5) broken in 175433 pass in 175445
 test-amd64-i386-examine       5 host-install   broken in 175433 pass in 175445
 test-amd64-i386-pair 7 host-install/dst_host(7) broken in 175433 pass in 175445
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175407 pass in 175445
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 175433 pass in 175407
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 175433 pass in 175445
 test-arm64-arm64-examine      8 reboot                     fail pass in 175433
 test-armhf-armhf-xl          18 guest-start/debian.repeat  fail pass in 175433
 test-armhf-armhf-xl-credit1  14 guest-start                fail pass in 175433
 test-armhf-armhf-xl-vhd      13 guest-start                fail pass in 175433

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 175433 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 175433 never pass
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 175433 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 175433 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z    8 days
Testing same since   175407  2022-12-19 11:42:26 Z    3 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow broken
broken-job test-amd64-amd64-xl-qemuu-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl broken
broken-job test-amd64-amd64-xl-qemuu-ovmf-amd64 broken
broken-job test-amd64-i386-pair broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 15:29:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 15:29:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468560.727671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8NVO-0005BG-C8; Thu, 22 Dec 2022 15:29:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468560.727671; Thu, 22 Dec 2022 15:29:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8NVO-0005B9-8V; Thu, 22 Dec 2022 15:29:10 +0000
Received: by outflank-mailman (input) for mailman id 468560;
 Thu, 22 Dec 2022 15:29:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XT/F=4U=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1p8NVN-0005B1-HW
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 15:29:09 +0000
Received: from mail-ed1-x530.google.com (mail-ed1-x530.google.com
 [2a00:1450:4864:20::530])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ff14006-820d-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 16:29:07 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id r26so3371376edc.10
 for <xen-devel@lists.xenproject.org>; Thu, 22 Dec 2022 07:29:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ff14006-820d-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=JpwE5gAYmj25iRUUytDECz5m6MR4PAtooA0uhdFuniM=;
        b=RgAwp1qEPfe5n+jBz3yTDom2pP1IHh1UCJiiP2A6gDzaZgBYjr6818MiXbiECpm15Q
         SdSVjHyciy0IYgeGBVm2SYCJE2ecdh+c2nv+MfbBXA/rVfSi8JhqBhuUo7AOeLiRYuo6
         9eFZvwWVdFCu2l/yqttjd3a0OIuedbDh6zUAikGC89SK9l+SnJ5jUeD04xp/wceHvP+x
         oF/VYGwO7fKa0RX7AiMk5xp6RfyJL9RFFaMlUb4E+2e+/i0uC2Ikksv4GsBpvnyNSrFC
         kgpWu2iHRcCdHcUpcURGfxyvNBIR/K9TNDoK8W4VntGQ2Muek2d8YKkFrDZyD2Lky1FJ
         I0ow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=JpwE5gAYmj25iRUUytDECz5m6MR4PAtooA0uhdFuniM=;
        b=3mMnJSHmNyDSh6ptNtH1bwQ06XNfb5CsdELHPTsYM8kkH2bjZNl3SUBR6rcS8/utAz
         /Mygsn7ENteQTdFfJVX7Dn6jq3mZfRSzfLfjh+nrdCy+rJWn9SRSY5fxBZvFrAmIsC6U
         HuYtllGumVIzlZ+Hpwlhrb5hlzzQM3CUjzo4RtIt9pxJLzjjYYbBJgqdP9VVBsb/3hQV
         AzJ/cpr7sGbMH9u1YTXC8/rdWX9V22gTAsvv5l6DFDr07IOw+i1C2sbB1DWUMWB8mKUM
         A+RdZifzWklRYauyJsXqoZY8o8WZFBPNskTwwdWEX5ImfAX7pyjEWvV0VBJ5648Qx6w+
         Y2vw==
X-Gm-Message-State: AFqh2kp/G8nq/V+rP649Xr07b8LcFQrd8c8nhRcnU7NnEK6UtG9w31rS
	yST1dy3mA+XhoKu6B/e6tPLCAjMbk3JiNXUpF758EA==
X-Google-Smtp-Source: AMrXdXsJwWU4HcZ0ttkKio4JaHJJSbPZOGjAHbTHYFDgTO/cM2PWqEi4xGlaisMMKBC3wfqhJbTK8DZ1ojrqQYw89Hk=
X-Received: by 2002:aa7:cd08:0:b0:46b:d3b3:669f with SMTP id
 b8-20020aa7cd08000000b0046bd3b3669fmr600122edw.414.1671722947063; Thu, 22 Dec
 2022 07:29:07 -0800 (PST)
MIME-Version: 1.0
References: <20221022155120.7000-1-carlo.nonato@minervasys.tech>
 <20221022155120.7000-5-carlo.nonato@minervasys.tech> <Y3+MDElm8YQ7/2nS@perard.uk.xensource.com>
In-Reply-To: <Y3+MDElm8YQ7/2nS@perard.uk.xensource.com>
From: Carlo Nonato <carlo.nonato@minervasys.tech>
Date: Thu, 22 Dec 2022 16:28:56 +0100
Message-ID: <CAG+AhRUfdnwCYkXw3TR=XrQOWQFt4FTdEsGvcE5kyAmwEyAaeg@mail.gmail.com>
Subject: Re: [PATCH v3 4/9] tools/xl: add support for cache coloring configuration
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, marco.solieri@unimore.it, 
	andrea.bastoni@minervasys.tech, lucmiccio@gmail.com, Wei Liu <wl@xen.org>, 
	Juergen Gross <jgross@suse.com>, Marco Solieri <marco.solieri@minervasys.tech>
Content-Type: text/plain; charset="UTF-8"

Hi Anthony,

On Thu, Nov 24, 2022 at 4:21 PM Anthony PERARD
<anthony.perard@citrix.com> wrote:
>
> On Sat, Oct 22, 2022 at 05:51:15PM +0200, Carlo Nonato wrote:
> > diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> > index b2901e04cf..5f53cec8bf 100644
> > --- a/docs/man/xl.cfg.5.pod.in
> > +++ b/docs/man/xl.cfg.5.pod.in
> > @@ -2880,6 +2880,16 @@ Currently, only the "sbsa_uart" model is supported for ARM.
> >
> >  =back
> >
> > +=over 4
> > +
> > +=item B<colors=[ "COLORS_RANGE", "COLORS_RANGE", ...]>
>
> Instead of COLORS_RANGE, maybe NUMBER_RANGE? Or just RANGE?

RANGE seems good.

> > +Specify the LLC color configuration for the guest. B<COLORS_RANGE> can be either
> > +a single color value or a hypen-separated closed interval of colors
> > +(such as "0-4").
>
> Does "yellow-blue" works? Or "red-violet", to have a rainbow? :-)
>
> So, "colors" as the name of a new configuration option isn't going to
> work. To me, that would refer to VM managment, like maybe help to
> categorise VM in some kind of tools, and not a part of the configuration
> of the domain.
>
> Could you invent a name that is more specific? Maybe "cache_colors" or
> something, or "vcpu_cache_colors".

What about llc_colors? LLC stands for Last Level Cache and I'm trying to use
it everywhere else since it's what is really implemented (not any cache is
colored, just the last level) and it's shorter than cache_colors.

> > +=back
> > +
> >  =head3 x86
> >
> >  =over 4
> > diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
> > index b9dd2deedf..94c511912c 100644
> > --- a/tools/libs/light/libxl_create.c
> > +++ b/tools/libs/light/libxl_create.c
> > @@ -615,6 +615,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
> >      struct xs_permissions rwperm[1];
> >      struct xs_permissions noperm[1];
> >      xs_transaction_t t = 0;
> > +    DECLARE_HYPERCALL_BUFFER(unsigned int, colors);
> >
> >      /* convenience aliases */
> >      libxl_domain_create_info *info = &d_config->c_info;
> > @@ -676,6 +677,16 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
> >              goto out;
> >          }
> >
> > +        if (d_config->b_info.num_colors) {
> > +            size_t bytes = sizeof(unsigned int) * d_config->b_info.num_colors;
> > +            colors = xc_hypercall_buffer_alloc(ctx->xch, colors, bytes);
>
> Hypercall stuff is normally done in another library, libxenctrl (or
> maybe others like libxenguest). Is there a reason to do that here?

I moved this in xc_domain_create().

> > +            memcpy(colors, d_config->b_info.colors, bytes);
> > +            set_xen_guest_handle(create.arch.colors, colors);
> > +            create.arch.num_colors = d_config->b_info.num_colors;
> > +            create.arch.from_guest = 1;
>
> "arch" stuff is better dealt with in libxl__arch_domain_prepare_config().
> (unless it isn't arch specific in the next revision of the series)

Yes, removing arch specific parts is the current way of implementing it.

> > +            LOG(DEBUG, "Setup %u domain colors", d_config->b_info.num_colors);
>
>
>
> > +        }
> > +
> >          for (;;) {
> >              uint32_t local_domid;
> >              bool recent;
> > @@ -922,6 +933,7 @@ retry_transaction:
> >      rc = 0;
> >   out:
> >      if (t) xs_transaction_end(ctx->xsh, t, 1);
> > +    if (colors) xc_hypercall_buffer_free(ctx->xch, colors);
> >      return rc;
> >  }
> >
> > diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> > index d634f304cd..642173af1a 100644
> > --- a/tools/libs/light/libxl_types.idl
> > +++ b/tools/libs/light/libxl_types.idl
> > @@ -557,6 +557,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
> >      ("ioports",          Array(libxl_ioport_range, "num_ioports")),
> >      ("irqs",             Array(uint32, "num_irqs")),
> >      ("iomem",            Array(libxl_iomem_range, "num_iomem")),
> > +    ("colors",           Array(uint32, "num_colors")),
>
> So the colors is added to arch specific config in
> xen_domctl_createdomain, maybe we should do the same here and move it to
> the "arch_arm" struct. Or if that is declared common in hypervisor, then
> it is file to leave it here.

Yes, it will be declared in common.

> Also, "colors" needs to be rename to something more specific.
>
> >      ("claim_mode",        libxl_defbool),
> >      ("event_channels",   uint32),
> >      ("kernel",           string),
> > diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> > index 1b5381cef0..e6b2c7acff 100644
> > --- a/tools/xl/xl_parse.c
> > +++ b/tools/xl/xl_parse.c
> > @@ -1220,8 +1220,9 @@ void parse_config_data(const char *config_source,
> >      XLU_ConfigList *cpus, *vbds, *nics, *pcis, *cvfbs, *cpuids, *vtpms,
> >                     *usbctrls, *usbdevs, *p9devs, *vdispls, *pvcallsifs_devs;
> >      XLU_ConfigList *channels, *ioports, *irqs, *iomem, *viridian, *dtdevs,
> > -                   *mca_caps;
> > -    int num_ioports, num_irqs, num_iomem, num_cpus, num_viridian, num_mca_caps;
> > +                   *mca_caps, *colors;
> > +    int num_ioports, num_irqs, num_iomem, num_cpus, num_viridian, num_mca_caps,
> > +        num_colors;
>
> Please, add a new lines instead of increasing the number of declared
> variable on a single line.
>
> >      int pci_power_mgmt = 0;
> >      int pci_msitranslate = 0;
> >      int pci_permissive = 0;
> > @@ -1370,6 +1371,53 @@ void parse_config_data(const char *config_source,
> >      if (!xlu_cfg_get_long (config, "maxmem", &l, 0))
> >          b_info->max_memkb = l * 1024;
> >
> > +    if (!xlu_cfg_get_list(config, "colors", &colors, &num_colors, 0)) {
> > +        int k, p, cur_index = 0;
> > +
> > +        b_info->num_colors = 0;
> > +        /* Get number of colors based on ranges */
> > +        for (i = 0; i < num_colors; i++) {
> > +            uint32_t start = 0, end = 0;
> > +
> > +            buf = xlu_cfg_get_listitem(colors, i);
> > +            if (!buf) {
> > +                fprintf(stderr,
> > +                    "xl: Unable to get element %d in colors range list\n", i);
> > +                exit(1);
> > +            }
> > +
> > +            if (sscanf(buf, "%u-%u", &start, &end) != 2) {
> > +                if (sscanf(buf, "%u", &start) != 1) {
>
> I think you want %"SCNu32" instead of %u as both start and end are
> uint32_t.

Ok.

> > +                    fprintf(stderr, "xl: Invalid color range: %s\n", buf);
> > +                    exit(1);
> > +                }
> > +                end = start;
> > +            }
> > +            else if (start > end) {
>
> Can you put the "else" on the same line as "}" ?

Yep.

> > +                fprintf(stderr,
> > +                        "xl: Start color is greater than end color: %s\n", buf);
> > +                exit(1);
> > +            }
> > +
> > +            /* Check for overlaps */
> > +            for (k = start; k <= end; k++) {
> > +                for (p = 0; p < b_info->num_colors; p++) {
> > +                    if (b_info->colors[p] == k) {
> > +                        fprintf(stderr, "xl: Overlapped ranges not allowed\n");
>
> Why is that an issue? Could overlap just been ignored?

That requirement comes from the hypervisor. It assumes a sorted array without
repeated elements for simplicity. The hypervisor checks that again indeed
(it does that in v4, at least) so yes, it's a bit useless. I'll drop this.

> > +                        exit(1);
> > +                    }
> > +                }
> > +            }
> > +
> > +            b_info->num_colors += (end - start) + 1;
> > +            b_info->colors = (uint32_t *)realloc(b_info->colors,
> > +                                sizeof(*b_info->colors) * b_info->num_colors);
> > +
> > +            for (k = start; k <= end; k++)
> > +                b_info->colors[cur_index++] = k;
>
> This `b_info->colors` feels like it could be a bitmap like for "vcpus"
> or other config that deal with ranges.
>
> libxl has plenty of functions to deal with bitmap that xl can use,
> starting with libxl_bitmap_alloc(), maybe it would make dealing with
> cache color easier, like no need to check for overlaps, but there
> doesn't seems to be a function to deal with a growing bitmap so one
> would have to find the highest cache value before allocating the bitmap
> are deal with realloc.
>
> I guess using bitmap or not kind of depend of the interface with the
> hypervisor, if it take a list of number, then a list of number is fine
> here too.

I discarded bitmaps because it's not that easy to iterate over the index of
set bits and because they imposed, in the way we used them, a fixed number
of colors. At that time I wasn't really thinking of having a dynamic bitmap.
For now I will leave things as they are (using plain arrays) because it
would require other changes in the hypervisor, but this can be something
to do in the future, at least just for the passage of data between toolstack
and Xen.

> Thanks,
>
> --
> Anthony PERARD

Thank


On Thu, Nov 24, 2022 at 4:21 PM Anthony PERARD
<anthony.perard@citrix.com> wrote:
>
> On Sat, Oct 22, 2022 at 05:51:15PM +0200, Carlo Nonato wrote:
> > diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> > index b2901e04cf..5f53cec8bf 100644
> > --- a/docs/man/xl.cfg.5.pod.in
> > +++ b/docs/man/xl.cfg.5.pod.in
> > @@ -2880,6 +2880,16 @@ Currently, only the "sbsa_uart" model is supported for ARM.
> >
> >  =back
> >
> > +=over 4
> > +
> > +=item B<colors=[ "COLORS_RANGE", "COLORS_RANGE", ...]>
>
> Instead of COLORS_RANGE, maybe NUMBER_RANGE? Or just RANGE?
>
> > +Specify the LLC color configuration for the guest. B<COLORS_RANGE> can be either
> > +a single color value or a hypen-separated closed interval of colors
> > +(such as "0-4").
>
> Does "yellow-blue" works? Or "red-violet", to have a rainbow? :-)
>
> So, "colors" as the name of a new configuration option isn't going to
> work. To me, that would refer to VM managment, like maybe help to
> categorise VM in some kind of tools, and not a part of the configuration
> of the domain.
>
> Could you invent a name that is more specific? Maybe "cache_colors" or
> something, or "vcpu_cache_colors".
>
> > +=back
> > +
> >  =head3 x86
> >
> >  =over 4
> > diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
> > index b9dd2deedf..94c511912c 100644
> > --- a/tools/libs/light/libxl_create.c
> > +++ b/tools/libs/light/libxl_create.c
> > @@ -615,6 +615,7 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
> >      struct xs_permissions rwperm[1];
> >      struct xs_permissions noperm[1];
> >      xs_transaction_t t = 0;
> > +    DECLARE_HYPERCALL_BUFFER(unsigned int, colors);
> >
> >      /* convenience aliases */
> >      libxl_domain_create_info *info = &d_config->c_info;
> > @@ -676,6 +677,16 @@ int libxl__domain_make(libxl__gc *gc, libxl_domain_config *d_config,
> >              goto out;
> >          }
> >
> > +        if (d_config->b_info.num_colors) {
> > +            size_t bytes = sizeof(unsigned int) * d_config->b_info.num_colors;
> > +            colors = xc_hypercall_buffer_alloc(ctx->xch, colors, bytes);
>
> Hypercall stuff is normally done in another library, libxenctrl (or
> maybe others like libxenguest). Is there a reason to do that here?
>
> > +            memcpy(colors, d_config->b_info.colors, bytes);
> > +            set_xen_guest_handle(create.arch.colors, colors);
> > +            create.arch.num_colors = d_config->b_info.num_colors;
> > +            create.arch.from_guest = 1;
>
> "arch" stuff is better dealt with in libxl__arch_domain_prepare_config().
> (unless it isn't arch specific in the next revision of the series)
>
> > +            LOG(DEBUG, "Setup %u domain colors", d_config->b_info.num_colors);
>
>
>
> > +        }
> > +
> >          for (;;) {
> >              uint32_t local_domid;
> >              bool recent;
> > @@ -922,6 +933,7 @@ retry_transaction:
> >      rc = 0;
> >   out:
> >      if (t) xs_transaction_end(ctx->xsh, t, 1);
> > +    if (colors) xc_hypercall_buffer_free(ctx->xch, colors);
> >      return rc;
> >  }
> >
> > diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> > index d634f304cd..642173af1a 100644
> > --- a/tools/libs/light/libxl_types.idl
> > +++ b/tools/libs/light/libxl_types.idl
> > @@ -557,6 +557,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
> >      ("ioports",          Array(libxl_ioport_range, "num_ioports")),
> >      ("irqs",             Array(uint32, "num_irqs")),
> >      ("iomem",            Array(libxl_iomem_range, "num_iomem")),
> > +    ("colors",           Array(uint32, "num_colors")),
>
> So the colors is added to arch specific config in
> xen_domctl_createdomain, maybe we should do the same here and move it to
> the "arch_arm" struct. Or if that is declared common in hypervisor, then
> it is file to leave it here.
>
> Also, "colors" needs to be rename to something more specific.
>
> >      ("claim_mode",        libxl_defbool),
> >      ("event_channels",   uint32),
> >      ("kernel",           string),
> > diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> > index 1b5381cef0..e6b2c7acff 100644
> > --- a/tools/xl/xl_parse.c
> > +++ b/tools/xl/xl_parse.c
> > @@ -1220,8 +1220,9 @@ void parse_config_data(const char *config_source,
> >      XLU_ConfigList *cpus, *vbds, *nics, *pcis, *cvfbs, *cpuids, *vtpms,
> >                     *usbctrls, *usbdevs, *p9devs, *vdispls, *pvcallsifs_devs;
> >      XLU_ConfigList *channels, *ioports, *irqs, *iomem, *viridian, *dtdevs,
> > -                   *mca_caps;
> > -    int num_ioports, num_irqs, num_iomem, num_cpus, num_viridian, num_mca_caps;
> > +                   *mca_caps, *colors;
> > +    int num_ioports, num_irqs, num_iomem, num_cpus, num_viridian, num_mca_caps,
> > +        num_colors;
>
> Please, add a new lines instead of increasing the number of declared
> variable on a single line.
>
> >      int pci_power_mgmt = 0;
> >      int pci_msitranslate = 0;
> >      int pci_permissive = 0;
> > @@ -1370,6 +1371,53 @@ void parse_config_data(const char *config_source,
> >      if (!xlu_cfg_get_long (config, "maxmem", &l, 0))
> >          b_info->max_memkb = l * 1024;
> >
> > +    if (!xlu_cfg_get_list(config, "colors", &colors, &num_colors, 0)) {
> > +        int k, p, cur_index = 0;
> > +
> > +        b_info->num_colors = 0;
> > +        /* Get number of colors based on ranges */
> > +        for (i = 0; i < num_colors; i++) {
> > +            uint32_t start = 0, end = 0;
> > +
> > +            buf = xlu_cfg_get_listitem(colors, i);
> > +            if (!buf) {
> > +                fprintf(stderr,
> > +                    "xl: Unable to get element %d in colors range list\n", i);
> > +                exit(1);
> > +            }
> > +
> > +            if (sscanf(buf, "%u-%u", &start, &end) != 2) {
> > +                if (sscanf(buf, "%u", &start) != 1) {
>
> I think you want %"SCNu32" instead of %u as both start and end are
> uint32_t.
>
> > +                    fprintf(stderr, "xl: Invalid color range: %s\n", buf);
> > +                    exit(1);
> > +                }
> > +                end = start;
> > +            }
> > +            else if (start > end) {
>
> Can you put the "else" on the same line as "}" ?
> > +                fprintf(stderr,
> > +                        "xl: Start color is greater than end color: %s\n", buf);
> > +                exit(1);
> > +            }
> > +
> > +            /* Check for overlaps */
> > +            for (k = start; k <= end; k++) {
> > +                for (p = 0; p < b_info->num_colors; p++) {
> > +                    if (b_info->colors[p] == k) {
> > +                        fprintf(stderr, "xl: Overlapped ranges not allowed\n");
>
> Why is that an issue? Could overlap just been ignored?
>
> > +                        exit(1);
> > +                    }
> > +                }
> > +            }
> > +
> > +            b_info->num_colors += (end - start) + 1;
> > +            b_info->colors = (uint32_t *)realloc(b_info->colors,
> > +                                sizeof(*b_info->colors) * b_info->num_colors);
> > +
> > +            for (k = start; k <= end; k++)
> > +                b_info->colors[cur_index++] = k;
>
> This `b_info->colors` feels like it could be a bitmap like for "vcpus"
> or other config that deal with ranges.
>
> libxl has plenty of functions to deal with bitmap that xl can use,
> starting with libxl_bitmap_alloc(), maybe it would make dealing with
> cache color easier, like no need to check for overlaps, but there
> doesn't seems to be a function to deal with a growing bitmap so one
> would have to find the highest cache value before allocating the bitmap
> are deal with realloc.
>
> I guess using bitmap or not kind of depend of the interface with the
> hypervisor, if it take a list of number, then a list of number is fine
> here too.
>
>
> Thanks,
>
> --
> Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 16:26:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 16:26:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468570.727682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8OOy-0003a1-Kd; Thu, 22 Dec 2022 16:26:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468570.727682; Thu, 22 Dec 2022 16:26:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8OOy-0003Zu-Gl; Thu, 22 Dec 2022 16:26:36 +0000
Received: by outflank-mailman (input) for mailman id 468570;
 Thu, 22 Dec 2022 16:26:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=XT/F=4U=minervasys.tech=carlo.nonato@srs-se1.protection.inumbo.net>)
 id 1p8OOw-0003Zo-S2
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 16:26:34 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5eed4545-8215-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 17:26:21 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id m19so3613230edj.8
 for <xen-devel@lists.xenproject.org>; Thu, 22 Dec 2022 08:26:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5eed4545-8215-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=minervasys-tech.20210112.gappssmtp.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=iq67OOd4GB12XumvXMWdfq1c8+nhWDTdLvSG9nmb+Wg=;
        b=hef6koV9ac5g9cO0USpCc5qAdmqD3dzgxtXQ40ZlVPwiNux6+vYeqXHrPOWTOXF+NI
         0n8jLBHUpJJ9/i6jR1JhKLuhFB1iVAbQ1ckGXWaQQpN1ZSRuTQOoJxWsro5Mwl7oOs+H
         yOLIZxwdTui8B57vypjK2pO/s+lBVjdnQEHHrvJZrOaFHs4s01sGR/y6UGiUKiy+RZFt
         Ln4GIKBvbgiQwPpwcA0XShkaxDlwDN65AnJcQXLvrNLbfL7DbP+3ZAALnAm2NVrNJmea
         LA8TQr0RzBQyEX6aP03IOaMC17Tp/Ee8LKyrt0cnXHl0kB3LkuHm3AskrPycbO2rhDhb
         7pNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=iq67OOd4GB12XumvXMWdfq1c8+nhWDTdLvSG9nmb+Wg=;
        b=KWBsplHhEs6x3MLmT1S84jK+No+qeZspDsREAH70XZPJG0nw5lIWs9RkaL00MH1SU1
         xxXgt3Kpxu0x8ZQpYtumXB5ZhlDlR6PBmSc11CJJdEuLsl8mCGYR/PeDJS5GudSxiMam
         NbV/UxgrQOJQoh+n38N0WRdfAMKKGcFWbnmO3s7X61pDfO3HZria9EY6QOkgNOnLhWXA
         31fWgvtI3ApbjTVuzAgsGdryoqwqaW9VBTUeDXf4G8+uesf3jj4qxkOwqfSdlALRo3Gk
         fN4b3lYHukMCHBqnK1e0E4Bnek4wQlmPLjs3kNA7tJk0ndJws9Q83MBrIcOa8dJJ2mnr
         UL4g==
X-Gm-Message-State: AFqh2kqUKzwe7uy6DZmj9GN4pDsyMWiO9fTtONlwvr9/Zuz2+26BMyw3
	R/HvmnqWD7dmePnQzWv0fge+fPWQ4hvFJGmeKTpKxQ==
X-Google-Smtp-Source: AMrXdXsQ/BJzbLk0JpDNmIAyA0rKn99xok4DWenRVqAoG+gE/RszXghzp2ftz4J7ylG8xOMq/mR5M6zCMTw41S1toko=
X-Received: by 2002:a05:6402:d72:b0:475:de4a:3740 with SMTP id
 ec50-20020a0564020d7200b00475de4a3740mr574925edb.117.1671726392638; Thu, 22
 Dec 2022 08:26:32 -0800 (PST)
MIME-Version: 1.0
References: <20221022160837.8497-1-carlo.nonato@minervasys.tech> <13a149a3-9b7c-bb8b-afed-2805000e9c48@suse.com>
In-Reply-To: <13a149a3-9b7c-bb8b-afed-2805000e9c48@suse.com>
From: Carlo Nonato <carlo.nonato@minervasys.tech>
Date: Thu, 22 Dec 2022 17:26:21 +0100
Message-ID: <CAG+AhRXPwBFkAjxe6HHWqzEcaM7QRsKLvQqJAA4GfDqnrj8gqA@mail.gmail.com>
Subject: Re: [RFC PATCH] xen/common: cache colored buddy allocator for domains
To: Jan Beulich <jbeulich@suse.com>
Cc: marco.solieri@unimore.it, andrea.bastoni@minervasys.tech, 
	lucmiccio@gmail.com, Andrew Cooper <andrew.cooper3@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

Hi Jan

On Wed, Dec 7, 2022 at 12:52 PM Jan Beulich <jbeulich@suse.com> wrote:
>
> On 22.10.2022 18:08, Carlo Nonato wrote:
> > This commit replaces the colored allocator for domains with a simple buddy
> > allocator indexed also by colors, so that it can allocate pages based on
> > some coloring configuration.
> >
> > It applies on top of Arm cache coloring (v3) as sent to the mailing list.
> >
> > This has two benefits:
> >  - order can now be greater than 0 if the color config contains a
> >    sufficient number of adjacent colors starting from an order aligned
> >    one;
>
> But still not large enough to reach the order needed for large page
> mappings, aiui?

Yeah, but that's because it's difficult, AFAIK, to have a platform with that
number of colors (e.g. level-2 mappings requires 512 adjacent colors, so a
32 MiB cache).

Using large pages should be possible only when all colors are selected for a
domain, but this implementation isn't that smart. The maximum order is
determined only by the number of colors of the platform
(e.g. 32 colors := order 5).
Anyway the colored allocator is useless if a domain can use all colors, so
in that situation I would switch to the normal buddy.

> >  - same benefits of the normal buddy: constant time alloc and free
> >    (constant with respect to the number of pages, not for the number of
> >    colors);
> >
> > But also one "big" cons:
> >  - given the way Xen queries the allocator, it can only serve larger pages
> >    first and only when a domain runs out of those, it can go with the smaller
> >    ones. Let's say that domain 0 has 31 colors out of 32 total (0-30 out of
> >    0-31). The order-4 pages (0-15) are allocated first and then the order-3
> >    (16-23, since 0-7 and 8-15 are all already allocated), and then order-2
> >    and so on. The result is... the domain practically uses only one half of
> >    the colors that it should.
>
> What's unclear to me is how big of a con this is, i.e. how reasonable it is
> for someone to configure a domain to use all except one of the colors (and
> not, say, half of them).

Well that was just an extreme example, but many configurations are affected.
Basically the best configuration is one that is "aligned" to a power of 2
(e.g. 0-3, 4-7, 16-31). Everything else that "mixes" powers of 2 (e.g. 0-5,
4-9, 16-18) will see this behavior where bigger chunks are preferred and it
practically makes the domain use less of its cache partitions.

The user could be warned about this in the docs, but it would also require
extensive testing to see if there are any other drawbacks.

> Jan

Thanks.

- Carlo Nonato


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 16:37:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 16:37:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468579.727692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8OZ8-00057E-J3; Thu, 22 Dec 2022 16:37:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468579.727692; Thu, 22 Dec 2022 16:37:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8OZ8-000577-GP; Thu, 22 Dec 2022 16:37:06 +0000
Received: by outflank-mailman (input) for mailman id 468579;
 Thu, 22 Dec 2022 16:37:05 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8OZ7-00056x-6x; Thu, 22 Dec 2022 16:37:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8OZ7-0001sZ-4M; Thu, 22 Dec 2022 16:37:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8OZ6-0007qZ-MY; Thu, 22 Dec 2022 16:37:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8OZ6-0007gP-M6; Thu, 22 Dec 2022 16:37:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Oyf5T47zUfUov7npT1QM+vznot1T6UnApnqWax0KTD8=; b=cSKwC24Un/K/Ye2K3QJnb81onQ
	bIYHPZ82xGz8FVmfZJF0Sf2LPmd8adC6bArbBM9lH47vRyHSAyyt1FQ/IvrL1oZ+w6TRiK4qw5bRU
	Fl3GwDPlFF6z+m3VmMFrRFywD5uznvsmPK7Sqf0qFf6M6r3TEUV04KzgPHr/dxeJXgcs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175446-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175446: FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-migrupgrade:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-pvshim:<job status>:broken:regression
    xen-unstable:test-amd64-i386-libvirt-pair:<job status>:broken:regression
    xen-unstable:test-amd64-i386-xl-pvshim:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-i386-libvirt-pair:host-install/src_host(6):broken:heisenbug
    xen-unstable:test-amd64-i386-migrupgrade:host-install/src_host(6):broken:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-amd64-examine-uefi:host-install:broken:heisenbug
    xen-unstable:test-amd64-i386-freebsd10-i386:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-examine-uefi:memdisk-try-append:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-qemuu-freebsd12-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=dc380df12acfe53ccdcbeecaaee3510a3b0e374e
X-Osstest-Versions-That:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 16:37:04 +0000

flight 175446 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175446/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-migrupgrade     <job status>                 broken  in 175434
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm <job status> broken in 175434
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm    <job status>   broken in 175434
 test-amd64-i386-xl-pvshim       <job status>                 broken  in 175434
 test-amd64-i386-libvirt-pair    <job status>                 broken  in 175434

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-pvshim    5 host-install(5) broken in 175434 pass in 175446
 test-amd64-i386-libvirt-pair 6 host-install/src_host(6) broken in 175434 pass in 175446
 test-amd64-i386-migrupgrade 6 host-install/src_host(6) broken in 175434 pass in 175446
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken in 175434 pass in 175446
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 5 host-install(5) broken in 175434 pass in 175446
 test-amd64-amd64-examine-uefi  5 host-install  broken in 175434 pass in 175446
 test-amd64-i386-freebsd10-i386  7 xen-install    fail in 175434 pass in 175446
 test-amd64-amd64-examine-uefi 4 memdisk-try-append fail in 175434 pass in 175446
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install    fail pass in 175434
 test-amd64-amd64-qemuu-freebsd12-amd64 19 guest-localmigrate/x10 fail pass in 175434
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 175434

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175399
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175399
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175399
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175399
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175399
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175399
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175399
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175399
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175399
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  dc380df12acfe53ccdcbeecaaee3510a3b0e374e
baseline version:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2

Last test of basis   175399  2022-12-19 01:53:26 Z    3 days
Failing since        175408  2022-12-19 15:38:33 Z    3 days    4 attempts
Testing same since   175434  2022-12-21 01:41:00 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Edwin Török <edvin.torok@citrix.com>
  Edwin Török <edwin.torok@cloud.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>
  Neowutran <xen@neowutran.ovh>
  Roger Pau Monné <roger.pau@citrix.com>
  Sergey Dyasli <sergey.dyasli@citrix.com>
  Stewart Hildebrand <stewart.hildebrand@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     fail    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-migrupgrade broken
broken-job test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm broken
broken-job test-amd64-i386-xl-qemut-debianhvm-i386-xsm broken
broken-job test-amd64-i386-xl-pvshim broken
broken-job test-amd64-i386-libvirt-pair broken

Not pushing.

(No revision log; it would be 399 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 18:05:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 18:05:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468597.727704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Pwi-0006HI-1w; Thu, 22 Dec 2022 18:05:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468597.727704; Thu, 22 Dec 2022 18:05:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Pwh-0006HB-VJ; Thu, 22 Dec 2022 18:05:31 +0000
Received: by outflank-mailman (input) for mailman id 468597;
 Thu, 22 Dec 2022 18:05:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Pwg-0006Gz-IL; Thu, 22 Dec 2022 18:05:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Pwg-00042s-GG; Thu, 22 Dec 2022 18:05:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Pwg-0005LZ-5R; Thu, 22 Dec 2022 18:05:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Pwg-0006Li-4z; Thu, 22 Dec 2022 18:05:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=R9Gz7apoIPKFrX9s5+cnopuz0CZf8/4ENUWEhitNd4w=; b=uD9+emw8HuU3Z83PHZDPJZa0N7
	obnCWZPQYWhUL6fDXD3o7aJEfpls0KigUb80JTLV+rJKUSxXnwxCf3+jfIAitdiR+XogPrnwQdBIG
	PpApqtglMpLPM9w+fnBrkfGj+LIHwMs4wsbPp9tEjPwmARcA/IOaxkSWDkY2AuvdZuMM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175458-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175458: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=538ac013d6a673842d780c88b7b3c21730260e8e
X-Osstest-Versions-That:
    ovmf=ec87305f90d90096aac2a4d91e3f6556e2ecd6b9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 18:05:30 +0000

flight 175458 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175458/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 538ac013d6a673842d780c88b7b3c21730260e8e
baseline version:
 ovmf                 ec87305f90d90096aac2a4d91e3f6556e2ecd6b9

Last test of basis   175452  2022-12-22 07:10:57 Z    0 days
Testing same since   175458  2022-12-22 13:44:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Min M Xu <min.m.xu@intel.com>
  Min Xu <min.m.xu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   ec87305f90..538ac013d6  538ac013d6a673842d780c88b7b3c21730260e8e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 20:49:41 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 20:49:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468642.727807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8SVM-0006Xg-PZ; Thu, 22 Dec 2022 20:49:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468642.727807; Thu, 22 Dec 2022 20:49:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8SVM-0006XZ-MU; Thu, 22 Dec 2022 20:49:28 +0000
Received: by outflank-mailman (input) for mailman id 468642;
 Thu, 22 Dec 2022 20:49:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8SVL-0006XP-1x; Thu, 22 Dec 2022 20:49:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8SVK-0007os-U1; Thu, 22 Dec 2022 20:49:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8SVK-0006My-Hu; Thu, 22 Dec 2022 20:49:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8SVK-0007cw-HN; Thu, 22 Dec 2022 20:49:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YjiafGLRoDjuvtieEo2hauFJUzi8bW74xUQgjeNTBjM=; b=Ba2js05npq4Eia55u+JrFGoXbk
	oIhcb59uPKT3hbOxhkNmtrtB9OMDobVBLMfrQMsguWTXGNtNadiVKdaXJjqv/d9qJb8bJgjoHww4O
	K9a9C8O3TmY5hbNwc6/y+MHifJmciKpamXTpO+7H4stHF2fmG3gKlIcC++/mqtuP27E0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175447-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 175447: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=c4972a4272690384b15d5706f2a833aed636895e
X-Osstest-Versions-That:
    xen=11560248ffda3f00f20bbdf3ae088af474f7f2a3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 20:49:26 +0000

flight 175447 xen-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175447/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175096
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175096
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175096
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175096
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175096
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175096
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175096
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175096
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175096
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175096
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175096
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175096
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  c4972a4272690384b15d5706f2a833aed636895e
baseline version:
 xen                  11560248ffda3f00f20bbdf3ae088af474f7f2a3

Last test of basis   175096  2022-12-08 18:07:02 Z   14 days
Failing since        175425  2022-12-20 13:06:46 Z    2 days    3 attempts
Testing same since   175437  2022-12-21 06:46:21 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Edwin Török <edvin.torok@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Neowutran <xen@neowutran.ovh>
  Per Bilse <per.bilse@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   11560248ff..c4972a4272  c4972a4272690384b15d5706f2a833aed636895e -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 21:15:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 21:15:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468653.727817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8SuY-0001VC-P6; Thu, 22 Dec 2022 21:15:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468653.727817; Thu, 22 Dec 2022 21:15:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8SuY-0001V5-MZ; Thu, 22 Dec 2022 21:15:30 +0000
Received: by outflank-mailman (input) for mailman id 468653;
 Thu, 22 Dec 2022 21:15:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8SuX-0001Uv-1K; Thu, 22 Dec 2022 21:15:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8SuW-0008IQ-VJ; Thu, 22 Dec 2022 21:15:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8SuW-0007oV-HB; Thu, 22 Dec 2022 21:15:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8SuW-0000Aq-Gi; Thu, 22 Dec 2022 21:15:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OFRMeKlSSMmLlAZKkIqK1cwFCRNLsmbpD+7YE9xIitg=; b=3mr1+QR0z4mQHwKuaASv6F4oWq
	er0rJWHcxpo6nJBOaG191PW01Qj+swV9oIqtOpMWlMVWmZI60Eg5PJkIon+aeAMK6U2gmVqFgsf19
	zDLvfXEa9V5kcKb4Xsl0VGc+iH3KATUOaD68HDjmyg1ZaseLxDa3DQqG8mOPd84p0EU0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175450-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175450: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=d7d405664599772af6fe00d5a6f6256889617f9d
X-Osstest-Versions-That:
    libvirt=4102acc608819b15658ca3e37ceca7c89efae16b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 21:15:28 +0000

flight 175450 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175450/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175436
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175436
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175436
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 libvirt              d7d405664599772af6fe00d5a6f6256889617f9d
baseline version:
 libvirt              4102acc608819b15658ca3e37ceca7c89efae16b

Last test of basis   175436  2022-12-21 04:20:17 Z    1 days
Testing same since   175450  2022-12-22 04:20:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   4102acc608..d7d4056645  d7d405664599772af6fe00d5a6f6256889617f9d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 21:28:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 21:28:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468665.727829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8T7K-00038y-3w; Thu, 22 Dec 2022 21:28:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468665.727829; Thu, 22 Dec 2022 21:28:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8T7K-00038r-0Q; Thu, 22 Dec 2022 21:28:42 +0000
Received: by outflank-mailman (input) for mailman id 468665;
 Thu, 22 Dec 2022 21:28:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fpfT=4U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p8T7I-00038k-7V
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 21:28:40 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 97e016e5-823f-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 22:28:38 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A5A7161981;
 Thu, 22 Dec 2022 21:28:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 74A9CC433D2;
 Thu, 22 Dec 2022 21:28:33 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97e016e5-823f-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671744515;
	bh=SRfgRPAf3D0iRMLjGcKTGXItPuCQLHvzAFbVKLmvYcI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=J282aAYLKMUPpR3Nb9YBsyyi5VOJEs+OOzjZo1uMVXDXJoFP9sHNJmWL77lH1IlPo
	 YLNKdMrcTOeRpSLMy86n0IgbHunjE7X0DXo4lrJV20JnfGFMYkHPyjgm3UAov3j7kr
	 NdZSsVVvMJ40etlONDzglU6KdolrO5cTOwqTTse4wnM5s+LB0h1DcM6LJ3IR5wsMwr
	 S+ji0oVnN2A4t76glnPfIPd8oRc6uzO/2E+ef+/2zDfNn145utBqOWtbJe+agsZkCl
	 ThU6HrNU5ZF/ByuhcYlv9nobw1XBY8GNekWafR0/Mvg/DaxXto6MDvIKJuU8e240n0
	 T20zj7b0L4foA==
Date: Thu, 22 Dec 2022 13:28:31 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Demi Marie Obenour <demi@invisiblethingslab.com>, 
    "Smith, Jackson" <rsmith@riversideresearch.org>, 
    "Brookes, Scott" <sbrookes@riversideresearch.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    "bertrand.marquis@arm.com" <bertrand.marquis@arm.com>, 
    "jbeulich@suse.com" <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, 
    "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
    "christopher.w.clark@gmail.com" <christopher.w.clark@gmail.com>
Subject: Re: [RFC 0/4] Adding Virtual Memory Fuses to Xen
In-Reply-To: <af62bf3c-1046-3ed2-8662-e79375fe4794@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212221109220.4079@ubuntu-linux-20-04-desktop>
References: <BN0P110MB1642835E0DE845205B5EA59CCFE39@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM> <b7a367d4-a9df-0733-5a11-6ba11043c6b5@xen.org> <BN0P110MB1642A6DCBD15780CD8767B8CCFE19@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM> <513d0cc3-a305-5029-32f7-67993ae83c55@xen.org>
 <alpine.DEB.2.22.394.2212151725090.315094@ubuntu-linux-20-04-desktop> <7a7a7156-138d-a53c-fb65-a210e14bd8c1@xen.org> <BN0P110MB16429FF1A9FF3507A684C5B2CFEA9@BN0P110MB1642.NAMP110.PROD.OUTLOOK.COM> <Y6I3oqYdTKa/57I/@itl-email>
 <alpine.DEB.2.22.394.2212211639070.4079@ubuntu-linux-20-04-desktop> <af62bf3c-1046-3ed2-8662-e79375fe4794@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 22 Dec 2022, Julien Grall wrote:
> > What other hypervisors might or might not do should not be a factor in
> > this discussion and it would be best to leave it aside.
> 
> To be honest, Demi has a point. At the moment, VMF is a very niche use-case
> (see more below). So you would end up to use less than 10% of the normal Xen
> on Arm code. A lot of people will likely wonder why using Xen in this case?

[...]

> >  From an AMD/Xilinx point of view, most of our customers using Xen in
> > productions today don't use any hypercalls in one or more of their VMs.
> This suggests a mix of guests are running (some using hypercalls and other
> not). It would not be possible if you were using VMF.

It is true that the current limitations are very restrictive.

In embedded, we have a few pure static partitioning deployments where no
hypercalls are required (Linux is using hypercalls today but it could do
without), so maybe VMF could be enabled, but admittedly in those cases
the main focus today is safety and fault tolerance, rather than
confidential computing.


> > Xen is great for these use-cases and it is rather common in embedded.
> > It is certainly a different configuration from what most are come to
> > expect from Xen on the server/desktop x86 side. There is no question
> > that guests without hypercalls are important for Xen on ARM. >
> > As a Xen community we have a long history and strong interest in making
> > Xen more secure and also, more recently, safer (in the ISO 26262
> > safety-certification sense). The VMF work is very well aligned with both
> > of these efforts and any additional burder to attackers is certainly
> > good for Xen.
> 
> I agree that we have a strong focus on making Xen more secure. However, we
> also need to look at the use cases for it. As it stands, there will no:
>   - IOREQ use (don't think about emulating TPM)
>   - GICv3 ITS
>   - stage-1 SMMUv3
>   - decoding of instructions when there is no syndrome
>   - hypercalls (including event channels)
>   - dom0
> 
> That's a lot of Xen features that can't be used. Effectively you will make Xen
> more "secure" for a very few users.

Among these, the main problems affecting AMD/Xilinx users today would be:
- decoding of instructions
- hypercalls, especially event channels

Decoding of instructions would affect all our deployments. For
hypercalls, even in static partitioning deployments, sometimes event
channels are used for VM-to-VM notifications.


> > Now the question is what changes are necessary and how to make them to
> > the codebase. And if it turns out that some of the changes are not
> > applicable or too complex to accept, the decision will be made purely
> > from a code maintenance point of view and will have nothing to do with
> > VMs making no hypercalls being unimportant (i.e. if we don't accept one
> > or more patches is not going to have anything to do with the use-case
> > being unimportant or what other hypervisors might or might not do).
> I disagree, I think this is also about use cases. On the paper VMF look very
> great, but so far it still has a big flaw (the TTBR can be changed) and it
> would restrict a lot what you can do.

We would need to be very clear in the commit messages and documentation
that with the current version of VMF we do *not* achieve confidential
computing and we do *not* offer protections comparable to AMD SEV. It is
still possible for Xen to access guest data, it is just a bit harder.

>From an implementation perspective, if we can find a way to implement it
that would be easy to maintain, then it might still be worth it. It
would probably take only a small amount of changes on top of the "Remove
the directmap" series to make it so "map_domain_page" doesn't work
anymore after boot.

That might be worth exploring if you and Jackson agree?


One thing that would make it much more widely applicable is your idea of
hypercalls bounce buffers. VMF might work with hypercalls if the guest
always uses the same buffer to pass hypercalls parameters to Xen. That
one buffer could remain mapped in Xen for the lifetime of the VM and the
VM would know to use it only to pass parameters to Xen.


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 21:29:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 21:29:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468672.727839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8T8O-0003fu-Cr; Thu, 22 Dec 2022 21:29:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468672.727839; Thu, 22 Dec 2022 21:29:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8T8O-0003fn-A8; Thu, 22 Dec 2022 21:29:48 +0000
Received: by outflank-mailman (input) for mailman id 468672;
 Thu, 22 Dec 2022 21:29:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fpfT=4U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p8T8N-0003fh-Dt
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 21:29:47 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c14e7543-823f-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 22:29:46 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 4584861D99;
 Thu, 22 Dec 2022 21:29:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 43F2CC433EF;
 Thu, 22 Dec 2022 21:29:43 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c14e7543-823f-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671744584;
	bh=Rsq/zzXAD3bztJfKIQJlCJ/HVNr2CUXR1plDDKW3qHQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=do74xxuJaKSSghM01/WdAQZqfi64ub8sdF77VGhRZHAZkIjn2dKo9foW2StU/mhdE
	 6CCOI0dihNUZzeeHWeSrejGLCgnF74NzmhCzgJlWZvNS9patt3bYKvegrsuBwFCgt5
	 ECBBQNLWMuHpnP6T6EpeQ3lt+fsuFAemTodDS8gUaCoXyrntsHVCl24sm6fHTkbQzA
	 VndYxVXLbKhIjE8DS9CB3wG6i3KJk0KL5HxKqSl7YQjamsVUgTqnNG70s1d+X8U6wp
	 cLpoNjnksnn+vnr5p5enw8s2oVGBrnAWtscy5rgO1lqgost167yZBQrgb7HwWEg68x
	 TimIkbOMRa1iA==
Date: Thu, 22 Dec 2022 13:29:41 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Luca Fancellu <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org, 
    wei.chen@arm.com, Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [RFC PATCH 01/18] arm: cppcheck: misra rule 20.7 deviations for
 alternative.h
In-Reply-To: <ea8e423c-4a74-bf09-f7de-93849e801dd9@suse.com>
Message-ID: <alpine.DEB.2.22.394.2212221105400.4079@ubuntu-linux-20-04-desktop>
References: <20221220085100.22848-1-luca.fancellu@arm.com> <20221220085100.22848-2-luca.fancellu@arm.com> <072a9427-57aa-81ef-1f7e-7f0b5f26e5c6@xen.org> <alpine.DEB.2.22.394.2212211731450.4079@ubuntu-linux-20-04-desktop>
 <ea8e423c-4a74-bf09-f7de-93849e801dd9@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 22 Dec 2022, Jan Beulich wrote:
> On 22.12.2022 03:01, Stefano Stabellini wrote:
> > What do you guys think? Nice automatic 20.7 scans for all patches and
> > for staging, but with the undesirable false-positive comments, or
> > no-20.7 scans but no comments in the tree?
> 
> Anything automatic which then also bugs submitters about issues should
> have as few false positives as possible. Otherwise people may quickly
> get into the habit of ignoring such reports.

You have a point. That said, it would be easy to spot false positives in
new patches once we start from a clean slate, but then if we merge the
patch we would also have to add a deviation comment for the false
positive.

All in all, maybe it is best to skip checking for 20.7 for now in
gitlab-ci.


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 22:11:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 22:11:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468681.727851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8TmS-0000TY-HE; Thu, 22 Dec 2022 22:11:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468681.727851; Thu, 22 Dec 2022 22:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8TmS-0000TR-DZ; Thu, 22 Dec 2022 22:11:12 +0000
Received: by outflank-mailman (input) for mailman id 468681;
 Thu, 22 Dec 2022 22:11:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8TmR-0000TH-JM; Thu, 22 Dec 2022 22:11:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8TmR-00016c-HW; Thu, 22 Dec 2022 22:11:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8TmR-0003Nd-5L; Thu, 22 Dec 2022 22:11:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8TmR-0004jL-4q; Thu, 22 Dec 2022 22:11:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5PZIs3doRYpcAuPEnW1yfWXw64b1e+vGmKb4YjaPics=; b=JbWlR2pYadbolkaEARPXbokxOA
	mwYipOIl1sGP13odp5Hjc4IVXzGltRadCfAHGftNMQERz8RLFKIDL9M5pKf6r4oj7k+Csdl13nV4S
	gOQIaU5Jg+1ncVz3dj0YxeFcOG/W8W7KMn1tmbALypf75JY90BGKa67CAJttNVzPSRHQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175461-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175461: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=d8d4abdff9096a69ff59d96ac4a8dd0e19e5cbcc
X-Osstest-Versions-That:
    ovmf=538ac013d6a673842d780c88b7b3c21730260e8e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 22 Dec 2022 22:11:11 +0000

flight 175461 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175461/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 d8d4abdff9096a69ff59d96ac4a8dd0e19e5cbcc
baseline version:
 ovmf                 538ac013d6a673842d780c88b7b3c21730260e8e

Last test of basis   175458  2022-12-22 13:44:17 Z    0 days
Testing same since   175461  2022-12-22 18:12:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Guo Dong <guo.dong@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   538ac013d6..d8d4abdff9  d8d4abdff9096a69ff59d96ac4a8dd0e19e5cbcc -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 22:32:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 22:32:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468692.727862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8U6b-00036z-6Q; Thu, 22 Dec 2022 22:32:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468692.727862; Thu, 22 Dec 2022 22:32:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8U6b-00036s-3p; Thu, 22 Dec 2022 22:32:01 +0000
Received: by outflank-mailman (input) for mailman id 468692;
 Thu, 22 Dec 2022 22:32:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s9VX=4U=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p8U6Z-00036m-Nf
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 22:31:59 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 707f292b-8248-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 23:31:57 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 2ED535C005C;
 Thu, 22 Dec 2022 17:31:55 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Thu, 22 Dec 2022 17:31:55 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 22 Dec 2022 17:31:54 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 707f292b-8248-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671748315; x=1671834715; bh=Mgo9vyvq27x7kZrzIpUg0LyZtvhD7v1wK9V
	7XY9I8bg=; b=CEg95zLGA8hlh1RlG8WAGCR/8RX89TgdQjBTl877IueDUMcrxz7
	DDm2lPr2z2o8DU9XE2Ut8fcJV3iyquWD06ya94jIjm7kWEtnj2nmOdfQ1AKDQbzj
	nQit/rvyr+ysBz+HQ1HL7wrE5B4m4o7DDCFTyv7yvzh1LJT26w5GFeBWRGBA933q
	RapLzcTyNDRoQYGSHrw8HsiTWHlejVGfXXlDjll/3Q+E8Sf6wZZUfPV6S/RUwpjM
	RJwGmbb8pEGdJ1ZCkUOdKkLntlvm1yedagW5rt+uQiutaS7GD86RDhgf03gCdXIj
	q1eThSXPeFmov+8d3hFX3UJuWPWT+eOxhMQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671748315; x=1671834715; bh=Mgo9vyvq27x7k
	ZrzIpUg0LyZtvhD7v1wK9V7XY9I8bg=; b=hilg0SZROLXbV3O45coTbqpU/7geg
	PYw/SctwTwIkieZyVWEK8q1VmsR0IE4gxEHUfUVeqkZE27uBOynaSHSsUlK5hTC5
	1YEQVOqZ/2aV8GyJW7EQKVgS/RsmcXEXXTfKYn9n6Ig8Ob2Bb/BFqoqBibFsXRQq
	SGmchNljI5lvCLmAvwKptHYHh8hN2T+3lyj9TUYfEbO7Y6dyLgwC4XQAge3x6NtO
	SDmLadqQIib0iPcZGi53hq4Sdv/hFVaiAxi4ErdPCuTOc61Nqd3ZwqF20AS7UpF+
	EJG8lCv1ou1X0uIGsQde9m/R+IfOVMweQVunYbZuiOeBfpqURomdZpxUg==
X-ME-Sender: <xms:2tqkYwK2SXYeUCD6Vy5PiFv_2a4zFQjZg-NnzgUgSG7s5RzuXbSrsg>
    <xme:2tqkYwJntmQrqSj2O9HGqhTRyt5DjpFO_0CtcndYG9NeMXqvQjkBrYi9z77ThNN_3
    l-hn7pCyXKB-zA>
X-ME-Received: <xmr:2tqkYwsAbmtAKTA_8u6vrMhS87UqNJMHREt6fvHwM_vsIbP76cxzMJLAn2LMuC0oGGuIyfFcxCk_>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrhedtgdduieefucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofggtgfgsehtkeertdertdejnecuhfhrohhmpeffvghmihcu
    ofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefhgefgieeitdeijeeguddtkefgteeg
    heehgeetkeevhfefgfduhedtveelgeeugeenucevlhhushhtvghrufhiiigvpedtnecurf
    grrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhgshhl
    rggsrdgtohhm
X-ME-Proxy: <xmx:2tqkY9ZS52o0cHOfZRGG37u1F5pmBcW0aMvvfAf2zR3Ee-C-9Iwmmg>
    <xmx:2tqkY3ZNdoYuQQSU4x2CWitjQBVkm7s0tfTAJ7G447uGSlVgGCzwYw>
    <xmx:2tqkY5CbpccR03jMrpNHBdvh6eZgkdbPLuCpt9B8RoDoc6wv43-QTQ>
    <xmx:29qkY8OfeIAKnnFNwSRIxbH_gI8cZiQ_CewMeOHbbVYFMlMldhEHsg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Tim Deegan <tim@xen.org>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [PATCH v6 0/5] Make PAT handling less brittle
Date: Thu, 22 Dec 2022 17:31:45 -0500
Message-Id: <cover.1671744225.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

While working on Qubes OS Marek found out that there were some PAT hacks
in the Linux i195 driver.  I decided to make Xen use Linux’s PAT to see
if it solved the graphics glitches that were observed; it did.  This
required a substantial amount of preliminary work that is useful even
without using Linux’s PAT.

Patches 1 through 4 are the preliminary work and I would like them to be
accepted into upstream Xen.  Patch 4 does break ABI by rejecting the
unused PAT entries, but this will only impact buggy PV guests and can be
disabled with a Xen command-line option.  Patch 5 actually switches to
Linux’s PAT and is NOT intended to be merged (at least for now) as it
would at a minimum break migration of PV guests from hosts that do not
have the patch.

Only patches 4 and 5 actually change Xen’s observable behavior.
Patch 1 is a prerequisite that removes the last place where Xen
hard-codes its current PAT value.  Patch 2 is strictly cleanup.  Patch 3
makes changing the PAT much less error-prone, as problems with the PAT
or with the associated _PAGE_* constants will be detected at compile
time.

Demi Marie Obenour (5):
  x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
  x86: Remove MEMORY_NUM_TYPES and NO_HARDCODE_MEM_TYPE
  x86/mm: make code robust to future PAT changes
  x86/mm: Reject invalid cacheability in PV guests by default
  x86: Use Linux's PAT

 docs/misc/xen-command-line.pandoc    |  11 ++
 xen/arch/x86/hvm/mtrr.c              |  18 ++--
 xen/arch/x86/include/asm/mtrr.h      |   2 -
 xen/arch/x86/include/asm/page.h      |   4 +-
 xen/arch/x86/include/asm/processor.h |  10 +-
 xen/arch/x86/mm.c                    | 146 ++++++++++++++++++++++++---
 xen/arch/x86/mm/shadow/multi.c       |   2 +-
 7 files changed, 162 insertions(+), 31 deletions(-)

-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 22:32:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 22:32:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468693.727873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8U6e-0003MQ-FK; Thu, 22 Dec 2022 22:32:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468693.727873; Thu, 22 Dec 2022 22:32:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8U6e-0003MJ-B6; Thu, 22 Dec 2022 22:32:04 +0000
Received: by outflank-mailman (input) for mailman id 468693;
 Thu, 22 Dec 2022 22:32:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s9VX=4U=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p8U6d-00036m-7u
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 22:32:03 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 743f9127-8248-11ed-91b6-6bf2151ebd3b;
 Thu, 22 Dec 2022 23:32:02 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.nyi.internal (Postfix) with ESMTP id 9AAC75C0058;
 Thu, 22 Dec 2022 17:32:01 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Thu, 22 Dec 2022 17:32:01 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 22 Dec 2022 17:32:00 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 743f9127-8248-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671748321; x=1671834721; bh=stsAj8efjAH+7X41vqsLyccjvQ6YH6z+WS4
	jsBqOFS8=; b=FAZy1rGfenZ3yjipjxRdTMMozI2Y+P98wYbKYQVl0OOvfrtK8I5
	rJd0t8dwEbS8Yf3ai4T0l/oAMnDyK9MX95eQO2gTAD7Og9IvnZfs2pXRoVVWrGCb
	Wb48x0dQjzFfhRpo1RDzBb9AxeJEmUib4tF7ZaV2Pef9r+CG9mfVVlqVh2waz2y1
	IBp/b6Ml19zoc8JC0xnadBazGuEukGnU1A9xfmrW1HX+i3zl0g9jYfagNm5roOo8
	wFE9pxhQLbtfzhEoJa5wTxqsckv59CK6NlmulTq5H8nERMB2T2Ns5Z43HgjFYQZX
	JDhgpaLuUF5wWSMZyZ/fT4vcmG7B1NFoVmQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671748321; x=1671834721; bh=stsAj8efjAH+7
	X41vqsLyccjvQ6YH6z+WS4jsBqOFS8=; b=lxGN5nUtk0sn4ectbnYe9qMTWO+m2
	Pnu4yq0ATH/pUnTZ0ouolgvQygPiFymPO4BQn3xpaCxeRoYUr+79gu0CpZZuYCST
	00HD0WhTYusb9x2LJvHtMqtf3VfQKs17BXJh4fRaASllXpstfnve7kvb1SCyxASZ
	3w4YtfLeFQa8g5rl7fQF78L3Lno1wMIaNzvaSnREizgtEQ6kowhW/2sMwAO3WkDV
	9HpJb9WdpxYQzm5I1eM04U5GSvD6N//dEzW/Ec+seY5L9t8RILNhtzlPGcW69IVi
	1wTpD3qn62HdbnSXl3zA1Q9+BXDMOkz3Yw4ORx3TwCheWGWvASyIJ7vvA==
X-ME-Sender: <xms:4dqkY4Hpjr_qIy7QDodaaHDiDxp3Uw80EnjSvYPXOdtZWfbNZTJzaw>
    <xme:4dqkYxVuhV53JQWQPBW1DfU8N_-1EJ_JMCKrDOKC5PxOpYMa2zF4r-4DhImCcDMPV
    Uc1dp5su5S-3-0>
X-ME-Received: <xmr:4dqkYyIVc8go0GCANOxNWlerpH8u-tqZSMSzsUi3QAWnbB8oF2ShITs2uBlrnWnXw_9TSA3Bfz48>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrheduucetufdoteggodetrfdotffvucfrrh
    hofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgenuceurghi
    lhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurh
    ephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepffgvmhhiucforghr
    ihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgrsg
    drtghomheqnecuggftrfgrthhtvghrnhepjeffjefggfeugeduvedvjeekgfehgffhhfff
    jeetkeelueefffetfffhtdduheetnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrg
    hmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgrsgdr
    tghomh
X-ME-Proxy: <xmx:4dqkY6H3N_qcZHyOobxR5PyxYvHGs7gzYxtPsYDMPxGy8cpkV1Lu3g>
    <xmx:4dqkY-XZ_vRUU8tZIDCvxsORKAMCPaz3l1GV17p-l65cgbZMNu09ew>
    <xmx:4dqkY9MgST7wJwbnStmH1ej2aA8nnI-27Lw0GVFH5lhrZDYz1EdeBg>
    <xmx:4dqkYwKx_ZrL6uAEjU7LCr1HujsC6Xk1yVABw3OCdHm7Na-tY-48iw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Tim Deegan <tim@xen.org>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [PATCH v6 1/5] x86/mm: Avoid hard-coding PAT in get_page_from_l1e()
Date: Thu, 22 Dec 2022 17:31:46 -0500
Message-Id: <42da0d18476a3fbb01199f1d84ec0ebd845920ed.1671744225.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671744225.git.demi@invisiblethingslab.com>
References: <cover.1671744225.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

get_page_from_l1e() relied on Xen's choice of PAT, which is brittle in
the face of future PAT changes.  Instead, compute the actual cacheability
used by the CPU and switch on that, as this will work no matter what PAT
Xen uses.

No functional change intended.  This code is itself questionable and may
be removed in the future, but removing it would be an observable
behavior change and so is out of scope for this patch series.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes since v5:
- Make comment in get_page_from_l1e() future-proof.
- Explicitly state how known-uncacheable and potentially-cacheable types
  are handled.

Changes since v4:
- Do not add new pte_flags_to_cacheability() helper, as this code may be
  removed in the near future and so adding a new helper for it is a bad
  idea.
- Do not BUG() in the event of an unexpected cacheability.  This cannot
  happen, but it is simpler to force such types to UC than to prove that
  the BUG() is not reachable.

Changes since v3:
- Compute and use the actual cacheability as seen by the processor.

Changes since v2:
- Improve commit message.
---
 xen/arch/x86/mm.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 1bda1ba697b434b6c884f17e599aa9b6d3b3dd76..3558ca215b02a517d55d75329d645ae5905424e4 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -959,14 +959,16 @@ get_page_from_l1e(
             flip = _PAGE_RW;
         }
 
-        switch ( l1f & PAGE_CACHE_ATTRS )
+        switch ( 0xFF & (XEN_MSR_PAT >> (8 * pte_flags_to_cacheattr(l1f))) )
         {
-        case 0: /* WB */
-            flip |= _PAGE_PWT | _PAGE_PCD;
+        case X86_MT_UC:
+        case X86_MT_UCM:
+        case X86_MT_WC:
+            /* not cacheable, allow */
             break;
-        case _PAGE_PWT: /* WT */
-        case _PAGE_PWT | _PAGE_PAT: /* WP */
-            flip |= _PAGE_PCD | (l1f & _PAGE_PAT);
+        default:
+            /* potentially cacheable, force to UC */
+            flip |= ((l1f & PAGE_CACHE_ATTRS) ^ _PAGE_UC);
             break;
         }
 
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 22:32:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 22:32:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468694.727884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8U6j-0003fz-RZ; Thu, 22 Dec 2022 22:32:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468694.727884; Thu, 22 Dec 2022 22:32:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8U6j-0003fp-NP; Thu, 22 Dec 2022 22:32:09 +0000
Received: by outflank-mailman (input) for mailman id 468694;
 Thu, 22 Dec 2022 22:32:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s9VX=4U=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p8U6i-0003ch-3O
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 22:32:08 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74bb5547-8248-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 23:32:04 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 7521E5C00BE;
 Thu, 22 Dec 2022 17:32:02 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Thu, 22 Dec 2022 17:32:02 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 22 Dec 2022 17:32:01 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74bb5547-8248-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671748322; x=1671834722; bh=lFRjAyz2V8QJ7yU1YRzmTT1WULJJ6rEk/i2
	CB/Rdt1o=; b=CmjweiydWEPzaPijrx7yD0axzlmqvWGg7p6Xy5g7F+6ZBN9b1j5
	oSoz5BSyld6drG6klTB2aPG0nGAABBhNrWG82WoMm8QTPkeOO0fi8CnB5TlmAWxL
	DgK+3jvl64jvb8oZ3aw8e+G9U/m7hu8W1NmJNstH6TJXXGt4MIqcdt7RMFoiUk+7
	Yq5WqkQtsmhIMQdB5H5UHZyAnOj1BnObo6wf3RCyoO8DrddTtBlg3oWCSMvLnMjo
	X1h/n2fyorTyLJewMry+odjTXHvR3rv7ghINeFOfMB4sSgn6eSX5Oq3QJyMMKV8a
	j/aSs4AyE4otbI/yS5GVlrgGrRHf3fMNHjw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671748322; x=1671834722; bh=lFRjAyz2V8QJ7
	yU1YRzmTT1WULJJ6rEk/i2CB/Rdt1o=; b=rQY+7/wZda7tED0EbKq0qrQyOV0C3
	ZZQQVSiTlkdLHtwRuYw5qyOebCgCwgWb63tNUxykPKPPKVsLfDdGIuwIpeCFk0O0
	X65hDIT2Z1jiV1pk0ETVV+dCkdshzg350xgcDzP/OwU9L5vJ14aRwRsq0plj7VtL
	K+PDWzZaL42iYwLtL8Tz1hVQ0L3mxBI3LE1S3yd3O/KtZJSnST9tqYbNLN9xM+OX
	zUPNwvtIzn5E4BMZLked7aQoVeHO/Yzl3+yqADzFcvaRw5UpzIo8pPvAy/aGxh1U
	BCHABYmFQ7JcsWB4ELKxY6h5EVOq6StI6+vDRG0lZ5fyE9Ue2xtLh+1tg==
X-ME-Sender: <xms:4tqkY0G1llwccp0AsoskvFY1S7Q3Ex1pXWaOCpo0sffHd6WvbMhQow>
    <xme:4tqkY9Wu5ZCWWwctCIan2_C03mFw8kPjJiMjQH1aNsb0Qk6LMvejftKr8q49ylu12
    xieuOuP5p7F7Kg>
X-ME-Received: <xmr:4tqkY-Imm-aTnMbjZ2S1YxvaTde0oMbYmLD-Um1ADowFG0ZmbsYYH84Gp3h_mfuW35GAwJjWkREp>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrhedtgdduieefucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepjeffjefggfeugeduvedvjeekgfeh
    gffhhfffjeetkeelueefffetfffhtdduheetnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:4tqkY2EGOq4C87cg52F_67V2-7LcnKORxXjo-JvL4E-v_bHHI9LvMw>
    <xmx:4tqkY6WhH4wBD8uR7PiaiJPL0UptGkCZbeD9ObNaKrILiizMdjj9Jw>
    <xmx:4tqkY5OttK9nqxvQCFNuXknH-e0nNZfVdu0b3sIkabwT21GNkKwgog>
    <xmx:4tqkY8Lsj9wgkYgcnQhpiCTV91BMO0MOTNF13FZeAjwu-1aHT8etDA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Tim Deegan <tim@xen.org>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [PATCH v6 2/5] x86: Remove MEMORY_NUM_TYPES and NO_HARDCODE_MEM_TYPE
Date: Thu, 22 Dec 2022 17:31:47 -0500
Message-Id: <dda75fd1ad51d041b7ff2fd934395040352fd6aa.1671744225.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671744225.git.demi@invisiblethingslab.com>
References: <cover.1671744225.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No functional change intended.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v2:

- Keep MTRR_NUM_TYPES and adjust commit message accordingly
---
 xen/arch/x86/hvm/mtrr.c         | 18 +++++++++---------
 xen/arch/x86/include/asm/mtrr.h |  2 --
 xen/arch/x86/mm/shadow/multi.c  |  2 +-
 3 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 093103f6c768cf64f880d1b20e1c14f5918c1250..05e978041d62fd0d559462de181a04bef8a5bca9 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -38,7 +38,7 @@ static const uint8_t pat_entry_2_pte_flags[8] = {
 
 /* Effective mm type lookup table, according to MTRR and PAT. */
 static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
-#define RS MEMORY_NUM_TYPES
+#define RS MTRR_NUM_TYPES
 #define UC X86_MT_UC
 #define WB X86_MT_WB
 #define WC X86_MT_WC
@@ -66,9 +66,9 @@ static const uint8_t mm_type_tbl[MTRR_NUM_TYPES][X86_NUM_MT] = {
  * Reverse lookup table, to find a pat type according to MTRR and effective
  * memory type. This table is dynamically generated.
  */
-static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MEMORY_NUM_TYPES] =
-    { [0 ... MTRR_NUM_TYPES-1] =
-        { [0 ... MEMORY_NUM_TYPES-1] = INVALID_MEM_TYPE }
+static uint8_t __read_mostly mtrr_epat_tbl[MTRR_NUM_TYPES][MTRR_NUM_TYPES] =
+    { [0 ... MTRR_NUM_TYPES - 1] =
+        { [0 ... MTRR_NUM_TYPES - 1] = INVALID_MEM_TYPE }
     };
 
 /* Lookup table for PAT entry of a given PAT value in host PAT. */
@@ -85,7 +85,7 @@ static int __init cf_check hvm_mtrr_pat_init(void)
         {
             unsigned int tmp = mm_type_tbl[i][j];
 
-            if ( tmp < MEMORY_NUM_TYPES )
+            if ( tmp < MTRR_NUM_TYPES )
                 mtrr_epat_tbl[i][tmp] = j;
         }
     }
@@ -317,11 +317,11 @@ static uint8_t effective_mm_type(struct mtrr_state *m,
                                  uint8_t gmtrr_mtype)
 {
     uint8_t mtrr_mtype, pat_value;
-   
+
     /* if get_pat_flags() gives a dedicated MTRR type,
      * just use it
-     */ 
-    if ( gmtrr_mtype == NO_HARDCODE_MEM_TYPE )
+     */
+    if ( gmtrr_mtype == MTRR_NUM_TYPES )
         mtrr_mtype = mtrr_get_type(m, gpa, 0);
     else
         mtrr_mtype = gmtrr_mtype;
@@ -346,7 +346,7 @@ uint32_t get_pat_flags(struct vcpu *v,
     /* 1. Get the effective memory type of guest physical address,
      * with the pair of guest MTRR and PAT
      */
-    guest_eff_mm_type = effective_mm_type(g, pat, gpaddr, 
+    guest_eff_mm_type = effective_mm_type(g, pat, gpaddr,
                                           gl1e_flags, gmtrr_mtype);
     /* 2. Get the memory type of host physical address, with MTRR */
     shadow_mtrr_type = mtrr_get_type(&mtrr_state, spaddr, 0);
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index e4f6ca6048334b2094a1836cc2f298453641232f..4b7f840a965954cc4b59698327a37e47026893a4 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -4,8 +4,6 @@
 #include <xen/mm.h>
 
 #define MTRR_NUM_TYPES       X86_MT_UCM
-#define MEMORY_NUM_TYPES     MTRR_NUM_TYPES
-#define NO_HARDCODE_MEM_TYPE MTRR_NUM_TYPES
 
 #define NORMAL_CACHE_MODE          0
 #define NO_FILL_CACHE_MODE         2
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index f5f7ff021bd9e057c5b6f6329de7acb5ef05d58f..1faf9940db6b0afefc5977c00c00fb6a39cd27d2 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -578,7 +578,7 @@ _sh_propagate(struct vcpu *v,
                             gflags,
                             gfn_to_paddr(target_gfn),
                             mfn_to_maddr(target_mfn),
-                            NO_HARDCODE_MEM_TYPE);
+                            MTRR_NUM_TYPES);
             }
     }
 
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 22:32:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 22:32:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468695.727889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8U6k-0003jS-5w; Thu, 22 Dec 2022 22:32:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468695.727889; Thu, 22 Dec 2022 22:32:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8U6j-0003hT-Uw; Thu, 22 Dec 2022 22:32:09 +0000
Received: by outflank-mailman (input) for mailman id 468695;
 Thu, 22 Dec 2022 22:32:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s9VX=4U=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p8U6i-0003ch-KI
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 22:32:08 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7543d582-8248-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 23:32:04 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 5B9335C00C2;
 Thu, 22 Dec 2022 17:32:03 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Thu, 22 Dec 2022 17:32:03 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 22 Dec 2022 17:32:02 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7543d582-8248-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671748323; x=1671834723; bh=0nRr0i7/1Be3waop69DyVG4xMKlizVzYIQX
	QdZSs51s=; b=QWqG5LU14CB3fBZ8e/nMgyGfh4Imy407zcYrUfzC+pBe+sBydqA
	TTurJzo0KMgDUjWvz5gxgzD63tY2+c89VTA28vAmtqUSquCSRMEJoYYSLDzQ5tbf
	kkOpEK9xwDuHd4dr437omHjL137aS3LW3NzGJomjRujSX+RaOw/pYa4yCk0oideK
	hmPk8PN6HDpMoVnVAJXK4wM7JlU6B3nzoUBNaEMcZKu+eCFd05/yJ00qHp3h8tfa
	ox1tgDfc/VOkQrUl6MtkZabpb89NyJfA1Bvk89lhwRLIXaBFYb3RNcOLyN3mFL95
	kPyC8Z5NkYcgxbrRju8X6inGbzYxRZkTBRg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671748323; x=1671834723; bh=0nRr0i7/1Be3w
	aop69DyVG4xMKlizVzYIQXQdZSs51s=; b=VZZfJRpfMiOI0d1skqasFEgxQg9AD
	0g+7pPPkD2KkHQPqCR+ZMgPG+7nO3nVjaNqvnzoY6gOhkDOgPGPII4bqBp5JRAOu
	U3BNW7WnLThLvp4V1TBIlarTZ1+hx3OAlO0qwGyGuRYlE9QSw5YM2kA8S++Bib8U
	NEYpkoABGeflH6vwCDYjRNH5IrBsfUoabRh56DCpt76oTzl6LyXnzbxJCd0/PeIH
	lzbaiApa7RtqAYv161+LRA/F4nHWmWDOZYm4ptkTwY44BR7DV1aX/loVvl6oqw0w
	G4lnE3llAqruSXLfV96N1esgLsqx7gwkArRWeO49VM1Q/nBiYwY93/P0A==
X-ME-Sender: <xms:49qkYyzSvEy68-SfTYdECuEy_YqoOXj_J5yLK2SP6x-nK4jEJFcMRg>
    <xme:49qkY-Qgv4E3DY8oMNcWuZz8ulaBgOnH5bQ86aw6Q83kA2EY-tht8SMxkRV-_m69x
    tBi5_y5eQmONg4>
X-ME-Received: <xmr:49qkY0UxfvfYwOQmVIFTQAgXegigKxD1SPxT6DrISW_jSJZ6NhKdxeEpbMas3B2oBXXFIFZjuDZt>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrhedtgdduieefucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepjeffjefggfeugeduvedvjeekgfeh
    gffhhfffjeetkeelueefffetfffhtdduheetnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:49qkY4hkfkdKvh1-PZDFCe9WcoaMf9UAhOajFYhT1sy4unCLGb0X8Q>
    <xmx:49qkY0DCxtiy8ezGMMqLfwadF9FxuvbCk3LNWimJIvsAWCF--X4DAQ>
    <xmx:49qkY5LRDPNeBzjems5vO07JNi2n9VkGOGJ8yLktQXiaXAo2d22UdA>
    <xmx:49qkY20a81wlMW0kTIXzE2h-2KNn--PDOavr21mTl77meEBPwyXUrg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Tim Deegan <tim@xen.org>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [PATCH v6 3/5] x86/mm: make code robust to future PAT changes
Date: Thu, 22 Dec 2022 17:31:48 -0500
Message-Id: <00505454afa89b759122008852502a5ef7b1b1ee.1671744225.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671744225.git.demi@invisiblethingslab.com>
References: <cover.1671744225.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It may be desirable to change Xen's PAT for various reasons.  This
requires changes to several _PAGE_* macros as well.  Add static
assertions to check that XEN_MSR_PAT is consistent with the _PAGE_*
macros, and that _PAGE_WB is 0 as required by Linux.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v5:
- Remove unhelpful comment.
- Move a BUILD_BUG_ON.
- Use fewer hardcoded constants in PTE_FLAGS_TO_CACHEATTR.
- Fix coding style.

Changes since v4:
- Add lots of comments explaining what the various BUILD_BUG_ON()s mean.

Changes since v3:
- Refactor some macros
- Avoid including a string literal in BUILD_BUG_ON
---
 xen/arch/x86/mm.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 3558ca215b02a517d55d75329d645ae5905424e4..65ba0f58ed8c26ac0343528303851739981c03bd 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6352,6 +6352,11 @@ unsigned long get_upper_mfn_bound(void)
     return min(max_mfn, 1UL << (paddr_bits - PAGE_SHIFT)) - 1;
 }
 
+
+/*
+ * A bunch of static assertions to check that the XEN_MSR_PAT is valid
+ * and consistent with the _PAGE_* macros, and that _PAGE_WB is zero.
+ */
 static void __init __maybe_unused build_assertions(void)
 {
     /*
@@ -6361,6 +6366,71 @@ static void __init __maybe_unused build_assertions(void)
      * using different PATs will not work.
      */
     BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL);
+
+    /*
+     * _PAGE_WB must be zero for several reasons, not least because Linux
+     * PV guests assume it.
+     */
+    BUILD_BUG_ON(_PAGE_WB);
+
+#define PAT_ENTRY(v)                                                           \
+    (BUILD_BUG_ON_ZERO(((v) < 0) || ((v) > 7)) +                               \
+     (0xFF & (XEN_MSR_PAT >> (8 * (v)))))
+
+    /* Validate at compile-time that v is a valid value for a PAT entry */
+#define CHECK_PAT_ENTRY_VALUE(v)                                               \
+    BUILD_BUG_ON((v) < 0 || (v) > 7 ||                                         \
+                 (v) == X86_MT_RSVD_2 || (v) == X86_MT_RSVD_3)
+
+    /* Validate at compile-time that PAT entry v is valid */
+#define CHECK_PAT_ENTRY(v) CHECK_PAT_ENTRY_VALUE(PAT_ENTRY(v))
+
+    /*
+     * If one of these trips, the corresponding entry in XEN_MSR_PAT is invalid.
+     * This would cause Xen to crash (with #GP) at startup.
+     */
+    CHECK_PAT_ENTRY(0);
+    CHECK_PAT_ENTRY(1);
+    CHECK_PAT_ENTRY(2);
+    CHECK_PAT_ENTRY(3);
+    CHECK_PAT_ENTRY(4);
+    CHECK_PAT_ENTRY(5);
+    CHECK_PAT_ENTRY(6);
+    CHECK_PAT_ENTRY(7);
+
+#undef CHECK_PAT_ENTRY
+#undef CHECK_PAT_ENTRY_VALUE
+
+    /* Macro version of pte_flags_to_cacheattr(), for use in BUILD_BUG_ON()s */
+#define PTE_FLAGS_TO_CACHEATTR(pte_value)                                      \
+    ((((pte_value) & _PAGE_PAT) >> 5) |                                        \
+     (((pte_value) & (_PAGE_PCD | _PAGE_PWT)) >> 3))
+
+    /* Check that a PAT-related _PAGE_* macro is correct */
+#define CHECK_PAGE_VALUE(page_value) do {                                      \
+    /* Check that the _PAGE_* macros only use bits from PAGE_CACHE_ATTRS */    \
+    BUILD_BUG_ON(((_PAGE_ ## page_value) & PAGE_CACHE_ATTRS) !=                \
+                 (_PAGE_ ## page_value));                                      \
+    /* Check that the _PAGE_* are consistent with XEN_MSR_PAT */               \
+    BUILD_BUG_ON(PAT_ENTRY(PTE_FLAGS_TO_CACHEATTR(_PAGE_ ## page_value)) !=    \
+                 (X86_MT_ ## page_value));                                     \
+} while ( false )
+
+    /*
+     * If one of these trips, the corresponding _PAGE_* macro is inconsistent
+     * with XEN_MSR_PAT.  This would cause Xen to use incorrect cacheability
+     * flags, with results that are unknown and possibly harmful.
+     */
+    CHECK_PAGE_VALUE(WT);
+    CHECK_PAGE_VALUE(WB);
+    CHECK_PAGE_VALUE(WC);
+    CHECK_PAGE_VALUE(UC);
+    CHECK_PAGE_VALUE(UCM);
+    CHECK_PAGE_VALUE(WP);
+
+#undef CHECK_PAGE_VALUE
+#undef PAGE_FLAGS_TO_CACHEATTR
+#undef PAT_ENTRY
 }
 
 /*
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 22:32:10 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 22:32:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468696.727894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8U6k-0003ql-GB; Thu, 22 Dec 2022 22:32:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468696.727894; Thu, 22 Dec 2022 22:32:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8U6k-0003po-Bl; Thu, 22 Dec 2022 22:32:10 +0000
Received: by outflank-mailman (input) for mailman id 468696;
 Thu, 22 Dec 2022 22:32:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s9VX=4U=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p8U6j-0003ch-1g
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 22:32:09 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75c10f6f-8248-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 23:32:04 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 2E8C25C00B4;
 Thu, 22 Dec 2022 17:32:04 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Thu, 22 Dec 2022 17:32:04 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 22 Dec 2022 17:32:03 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75c10f6f-8248-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to; s=fm2; t=1671748324; x=1671834724; bh=fT0Z3+eeo9
	6n0/JAYUaHTtOcrsYp5CyVIPq9wgQhDIc=; b=ETfPuXBXhPoqGmpfPCKjDF037W
	/36r9T54OE7tKKn3PVsyzVvE7OVNR9zfBT2kFMbK6Z6+XJeg2KmkiV99JeZLGdL0
	32w5MhyX5Ap1WdRYCEegsd5hHSE6DKk4B4eUC7JQu8hC0RWTL2qd27Jwug4RW4lb
	ZjYMXyWKIAEs0WIVrBcDB+8fkf9cOVlH+XM3D24wNTGdRw5dMas5+PQA6GPANh8I
	lDEGNK+V7pTusg2Fwy+pCCOFkgOIoKN+/WTz3W77D1qXhDibeCfS5gq6j7qVlZy3
	315GijRh5ieUQM/hhmEBQ5qpgSrE+i1k6QESiovLl7YNXEvWnDNNl/cwZKzA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:in-reply-to:message-id:mime-version:references
	:reply-to:sender:subject:subject:to:to:x-me-proxy:x-me-proxy
	:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1671748324; x=
	1671834724; bh=fT0Z3+eeo96n0/JAYUaHTtOcrsYp5CyVIPq9wgQhDIc=; b=X
	9lZy4FShFs0Uya4r95r1XzycYPqHXWxof8BIHQZlCGaGZ4mRBIZFsEkka+7p93HO
	zy7hocws79htKhJUE5OGCOq3cnWuEQZ34dJD6frXqhhC/jPP1KNuL/rLfW3vWUYn
	oOw0e2Zd9l6SNTaD/s8uHYs6yCfs6+Tc79b9cadIRXJ3hvV0LbVuzNUIt55hgd6q
	GG8nn8/25WF1cIS2zvitifny//zKZcEzl2fT2Afd9oMgRzTRyELJ6vv8Ywcej/BU
	7eEG9APo0AkARsUrOJjGOEsh43mjTnF2808NXhRXmA4OwfOgnsIJNu1C3Q7V234P
	OWVj6H84sY3o/gq7Pea3g==
X-ME-Sender: <xms:49qkYxdm-n8liaAzYZMjw0jMQgYdZxDzhuZPAoFeUovhXhE-hcVaSQ>
    <xme:49qkY_M9gMxh7MuUhpGp59ORbrMEGCTHexx64jvwvF32h96-TJwy4rCtT91gQWPHo
    mRqeeMfYm8_fYc>
X-ME-Received: <xmr:49qkY6gKpxfNK0IXsAIvMTtl4ncNBOSOBntn0_xZs5GFrOfjrSK3eLA3scYpB4Y-X6dnEuuITrxc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrhedtgdduieefucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeffvghm
    ihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeeludekleeljeekveekfeeghfff
    gedvieegleeigeejffefieeviedvjeegveetieenucevlhhushhtvghrufhiiigvpedtne
    curfgrrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhg
    shhlrggsrdgtohhm
X-ME-Proxy: <xmx:5NqkY6_lde0no-KA0rH9j3iQTH5y_J6eRjiaqs0vrmYqPNrU8x_p0A>
    <xmx:5NqkY9vJJcNpVeo7LzATcD2PgYaloFgUXDnYyFSjFz4IDiHqVKpqmg>
    <xmx:5NqkY5FQPIus0HSpGO-GRsm3UAkJW80SbkKe-zTrC2fVCa6x-AFgsQ>
    <xmx:5NqkYxh_OQFDv48zhuICc4IXY2_aqL-hj7Vezd7ODQDBJMS1IxoiBg>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Tim Deegan <tim@xen.org>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [PATCH v6 4/5] x86/mm: Reject invalid cacheability in PV guests by default
Date: Thu, 22 Dec 2022 17:31:49 -0500
Message-Id: <2236399f561d348937f2ff7777fe47ad4236dbda.1671744225.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671744225.git.demi@invisiblethingslab.com>
References: <cover.1671744225.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Setting cacheability flags that are not ones specified by Xen is a bug
in the guest.  By default, return -EINVAL if a guests attempts to do
this.  The invalid-cacheability= Xen command-line flag allows the
administrator to allow such attempts or to produce

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
Changes since v5:
- Make parameters static and __ro_after_init.
- Replace boolean parameter allow_invalid_cacheability with string
  parameter invalid-cacheability.
- Move parameter definitions to near where they are used.
- Add documentation.

Changes since v4:
- Remove pointless BUILD_BUG_ON().
- Add comment explaining why an exception is being injected.

Changes since v3:
- Add Andrew Cooper’s Suggested-by
---
 docs/misc/xen-command-line.pandoc | 11 ++++++
 xen/arch/x86/mm.c                 | 60 ++++++++++++++++++++++++++++++-
 2 files changed, 70 insertions(+), 1 deletion(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 424b12cfb27d6ade2ec63eacb8afe5df82465451..0230a7bc17cbd4362a42ea64cea695f31f5e0f86 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1417,6 +1417,17 @@ detection of systems known to misbehave upon accesses to that port.
 ### idle_latency_factor (x86)
 > `= <integer>`
 
+### invalid-cacheability (x86)
+> `= allow | deny | trap`
+
+> Default: `deny` in release builds, otherwise `trap`
+
+Specify what happens when a PV guest tries to use one of the reserved entries in
+the PAT.  `deny` causes the attempt to be rejected with -EINVAL, `allow` allows
+the attempt, and `trap` causes a general protection fault to be raised.
+Currently, the reserved entries are marked as uncacheable in Xen's PAT, but this
+will change if new memory types are added, so guests must not rely on it.
+
 ### ioapic_ack (x86)
 > `= old | new`
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 65ba0f58ed8c26ac0343528303851739981c03bd..bacfb776d688f68dcbf79d83723fff329b75fd18 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1324,6 +1324,37 @@ static int put_page_from_l4e(l4_pgentry_t l4e, mfn_t l4mfn, unsigned int flags)
     return put_pt_page(l4e_get_page(l4e), mfn_to_page(l4mfn), flags);
 }
 
+enum {
+    INVALID_CACHEABILITY_ALLOW,
+    INVALID_CACHEABILITY_DENY,
+    INVALID_CACHEABILITY_TRAP,
+};
+
+#ifdef NDEBUG
+#define INVALID_CACHEABILITY_DEFAULT INVALID_CACHEABILITY_DENY
+#else
+#define INVALID_CACHEABILITY_DEFAULT INVALID_CACHEABILITY_TRAP
+#endif
+
+static __ro_after_init uint8_t invalid_cacheability =
+    INVALID_CACHEABILITY_DEFAULT;
+
+static int __init cf_check set_invalid_cacheability(const char *str)
+{
+    if (strcmp("allow", str) == 0)
+        invalid_cacheability = INVALID_CACHEABILITY_ALLOW;
+    else if (strcmp("deny", str) == 0)
+        invalid_cacheability = INVALID_CACHEABILITY_DENY;
+    else if (strcmp("trap", str) == 0)
+        invalid_cacheability = INVALID_CACHEABILITY_TRAP;
+    else
+        return -EINVAL;
+
+    return 0;
+}
+
+custom_param("invalid-cacheability", set_invalid_cacheability);
+
 static int promote_l1_table(struct page_info *page)
 {
     struct domain *d = page_get_owner(page);
@@ -1343,7 +1374,34 @@ static int promote_l1_table(struct page_info *page)
         }
         else
         {
-            switch ( ret = get_page_from_l1e(pl1e[i], d, d) )
+            l1_pgentry_t l1e = pl1e[i];
+
+            if ( invalid_cacheability != INVALID_CACHEABILITY_ALLOW )
+            {
+                switch ( l1e.l1 & PAGE_CACHE_ATTRS )
+                {
+                case _PAGE_WB:
+                case _PAGE_UC:
+                case _PAGE_UCM:
+                case _PAGE_WC:
+                case _PAGE_WT:
+                case _PAGE_WP:
+                    break;
+                default:
+                    /*
+                     * If we get here, a PV guest tried to use one of the
+                     * reserved values in Xen's PAT.  This indicates a bug
+                     * in the guest.  If requested by the user, inject #GP
+                     * to cause the guest to log a stack trace.
+                     */
+                    if ( invalid_cacheability == INVALID_CACHEABILITY_TRAP )
+                        pv_inject_hw_exception(TRAP_gp_fault, 0);
+                    ret = -EINVAL;
+                    goto fail;
+                }
+            }
+
+            switch ( ret = get_page_from_l1e(l1e, d, d) )
             {
             default:
                 goto fail;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 22:32:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 22:32:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468697.727903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8U6l-0003zl-4R; Thu, 22 Dec 2022 22:32:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468697.727903; Thu, 22 Dec 2022 22:32:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8U6k-0003xA-NR; Thu, 22 Dec 2022 22:32:10 +0000
Received: by outflank-mailman (input) for mailman id 468697;
 Thu, 22 Dec 2022 22:32:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=s9VX=4U=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1p8U6j-0003ch-KJ
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 22:32:09 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 766a577a-8248-11ed-8fd4-01056ac49cbb;
 Thu, 22 Dec 2022 23:32:06 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 4A6215C00B5;
 Thu, 22 Dec 2022 17:32:05 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Thu, 22 Dec 2022 17:32:05 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 22 Dec 2022 17:32:04 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 766a577a-8248-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding:date
	:date:from:from:in-reply-to:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm2; t=
	1671748325; x=1671834725; bh=kKaU/1YcOP49Pa0usx3kzomk84Pzq50qwNn
	cPbt/vjc=; b=rnQbH9ZEgpFfLtFYkGswwYseUOgzB5L8n5DX/tTYll4ZwOedCGx
	/qWnu4t8Vhnxfe1DmU+4yD2XqwRekBg3jYxmJ4Ol49WRd7H/SBCJmwY98bms7Miy
	c9BMPqRvcPE3Po2O6vZ6joRbOth2inENmfoXDR2O1BFHNG9UYzvT4YXT7qu8iBXv
	Iyk4wkZQ2iJdA929gFvX5PeUdM3q4MsrUvSNS3nVmFQaLVrv4Dtn2GtOE+0qnGIK
	3zLQ09Mpe2xeafOBpUqgmvk3zkuEH4x72UaCXv3h6wt/VOT/FnHCiZjkxu6b6wKo
	CXLCx4R/91l0EmWJlHTgwEpWcxqRNmLisXA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding:date:date
	:feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
	:message-id:mime-version:references:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1671748325; x=1671834725; bh=kKaU/1YcOP49P
	a0usx3kzomk84Pzq50qwNncPbt/vjc=; b=SRx1InZwqLV8nsYM8yOBvnv9deE0K
	eKKFlRHNNUTjoiO5bMfHj9alQUpCsAGwAO/MU/qPzZJH6u9jLQ/RqeTvhHRvGNlW
	Ie8Ft2QV4r0LL/vT45ZTKmUkSO8pI4PqwT0q+vHmY6V/AqltXe3X3B/OC3u2RGXS
	uf86KwCzOOJsEkLokxq8apVs30+mAOLb7XOtKaD7OND19gPCmf7gBfB49uOfRKoN
	8BgYinYc85jPYlJORQpQYEwxfT7R1EpdgGaqDgL1B1XDu2Udp8Iar/Ev4lB4xjNr
	geRVoxRGv5ssDuHVHPltI7Qho27r+0Z0PC0W8Q+WvR8dacNNtME9XHB/w==
X-ME-Sender: <xms:5NqkY8_o-uKawLamOWpsYNNRhDItH2oC_k13mXY2fB-EHjNtWhjFpA>
    <xme:5NqkY0s2yXqqNhiNHogL9Vl3TKhiMK2wA-xcMVhlOi9VTivVGbXNRYrNUhRry8Y2y
    zu9NvFcFwIL1PU>
X-ME-Received: <xmr:5NqkYyDY9xzTUghS8NoxYwB_iFYwecKNocfWNv-_0WvNZo5xPMXC2J7B8BN2UQWqpthUA5l59GiY>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrhedtgdduieegucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepffgvmhhi
    ucforghrihgvucfqsggvnhhouhhruceouggvmhhisehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepjeffjefggfeugeduvedvjeekgfeh
    gffhhfffjeetkeelueefffetfffhtdduheetnecuvehluhhsthgvrhfuihiivgeptdenuc
    frrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhs
    lhgrsgdrtghomh
X-ME-Proxy: <xmx:5NqkY8cxF0RrxRVhyZjWnvpLc1qhKxJV2QboTPaAuRDHE-lbTkDLiw>
    <xmx:5NqkYxPAUIa83HRYhMEe50YMyw3kIcYyLPSXCP_V074EduIf4uaJNw>
    <xmx:5NqkY2l2XcmBMJMR42bp1b8fGQ9LNu4RHgAu3V4F87xD3B5HrzWqBQ>
    <xmx:5dqkY9AfwGBhbXf2OB3vlvusCJtjVFruROgKkEOa7xiaZ3owQNW_PQ>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Tim Deegan <tim@xen.org>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [PATCH v6 5/5] x86: Use Linux's PAT
Date: Thu, 22 Dec 2022 17:31:50 -0500
Message-Id: <793bce119c7625000b3fe0a386f4145c842da37b.1671744225.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671744225.git.demi@invisiblethingslab.com>
References: <cover.1671744225.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is purely for testing, to see if it works around a bug in i915.  It
is not intended to be merged.

NOT-signed-off-by: DO NOT MERGE
---
 xen/arch/x86/include/asm/page.h      |  4 ++--
 xen/arch/x86/include/asm/processor.h | 10 +++++-----
 xen/arch/x86/mm.c                    |  8 --------
 3 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/include/asm/page.h b/xen/arch/x86/include/asm/page.h
index b585235d064a567082582c8e92a4e8283fd949ca..ab9b46f1d0901e50a83fd035ff28d1bda0b781a2 100644
--- a/xen/arch/x86/include/asm/page.h
+++ b/xen/arch/x86/include/asm/page.h
@@ -333,11 +333,11 @@ void efi_update_l4_pgtable(unsigned int l4idx, l4_pgentry_t);
 
 /* Memory types, encoded under Xen's choice of MSR_PAT. */
 #define _PAGE_WB         (                                0)
-#define _PAGE_WT         (                        _PAGE_PWT)
+#define _PAGE_WC         (                        _PAGE_PWT)
 #define _PAGE_UCM        (            _PAGE_PCD            )
 #define _PAGE_UC         (            _PAGE_PCD | _PAGE_PWT)
-#define _PAGE_WC         (_PAGE_PAT                        )
 #define _PAGE_WP         (_PAGE_PAT |             _PAGE_PWT)
+#define _PAGE_WT         (_PAGE_PAT | _PAGE_PCD | _PAGE_PWT)
 
 /*
  * Debug option: Ensure that granted mappings are not implicitly unmapped.
diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index 60b902060914584957db8afa5c7c1e6abdad4d13..3993d5638626f0948bb7ac8192d2eda187eb1bdb 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -94,16 +94,16 @@
 
 /*
  * Host IA32_CR_PAT value to cover all memory types.  This is not the default
- * MSR_PAT value, and is an ABI with PV guests.
+ * MSR_PAT value, and is needed by the Linux i915 driver.
  */
 #define XEN_MSR_PAT ((_AC(X86_MT_WB,  ULL) << 0x00) | \
-                     (_AC(X86_MT_WT,  ULL) << 0x08) | \
+                     (_AC(X86_MT_WC,  ULL) << 0x08) | \
                      (_AC(X86_MT_UCM, ULL) << 0x10) | \
                      (_AC(X86_MT_UC,  ULL) << 0x18) | \
-                     (_AC(X86_MT_WC,  ULL) << 0x20) | \
+                     (_AC(X86_MT_WB,  ULL) << 0x20) | \
                      (_AC(X86_MT_WP,  ULL) << 0x28) | \
-                     (_AC(X86_MT_UC,  ULL) << 0x30) | \
-                     (_AC(X86_MT_UC,  ULL) << 0x38))
+                     (_AC(X86_MT_UCM, ULL) << 0x30) | \
+                     (_AC(X86_MT_WT,  ULL) << 0x38))
 
 #ifndef __ASSEMBLY__
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index bacfb776d688f68dcbf79d83723fff329b75fd18..ea8c69e66c48419031add2e02da0a8eb6af8e49a 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -6417,14 +6417,6 @@ unsigned long get_upper_mfn_bound(void)
  */
 static void __init __maybe_unused build_assertions(void)
 {
-    /*
-     * If this trips, any guests that blindly rely on the public API in xen.h
-     * (instead of reading the PAT from Xen, as Linux 3.19+ does) will be
-     * broken.  Furthermore, live migration of PV guests between Xen versions
-     * using different PATs will not work.
-     */
-    BUILD_BUG_ON(XEN_MSR_PAT != 0x050100070406ULL);
-
     /*
      * _PAGE_WB must be zero for several reasons, not least because Linux
      * PV guests assume it.
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 23:15:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 23:15:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468744.727928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Um9-0002Ey-FE; Thu, 22 Dec 2022 23:14:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468744.727928; Thu, 22 Dec 2022 23:14:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Um9-0002Er-CN; Thu, 22 Dec 2022 23:14:57 +0000
Received: by outflank-mailman (input) for mailman id 468744;
 Thu, 22 Dec 2022 23:14:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fpfT=4U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p8Um8-0002Ei-8i
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 23:14:56 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7170ba42-824e-11ed-91b6-6bf2151ebd3b;
 Fri, 23 Dec 2022 00:14:55 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A202061D66;
 Thu, 22 Dec 2022 23:14:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 33E24C433EF;
 Thu, 22 Dec 2022 23:14:52 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7170ba42-824e-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671750893;
	bh=JA2bLvlEnV7mEWPSobqdn6WnIG1Hk0vKA9vXUhZr3r0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=CmZ7q4WO0WV2j2CrZbQTU1MyVtB46zbwFfCmEE0gcJ2FYIX3EE8F8NweOSA5d62I4
	 OWJrQWeRRoK5b8544OUZYaSUkcEwqhd4vouoYgbCoMR4+X4Exi1iV5jGU38QAQKAHt
	 Je5eBnJgvRqnsaL/P7h8sGzeblmhexLBCvbVCIv0+d8/Udw0A40gJE3BXv7zA+lhf1
	 TFdkd773qTpa8Jch8TL355+ESbXVqO6q+Nc1aZsMVCgxlw5eYjUBB5lE2lXVldPy4g
	 Cnx/ev3Ix1Xdd4xdqndxGUVRGl7hHoKzoPxHZwQRlH5/SozEnCQYYe6IAGcDQxiQpq
	 aKV+XNRPjJIRg==
Date: Thu, 22 Dec 2022 15:14:50 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksii Moisieiev <Oleksii_Moisieiev@epam.com>
cc: "sstabellini@kernel.org" <sstabellini@kernel.org>, 
    Juergen Gross <jgross@suse.com>, 
    Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v1] xen/pvcalls: free active map buffer on
 pvcalls_front_free_map
In-Reply-To: <6a762ee32dd655cbb09a4aa0e2307e8919761311.1671531297.git.oleksii_moisieiev@epam.com>
Message-ID: <alpine.DEB.2.22.394.2212221514360.4079@ubuntu-linux-20-04-desktop>
References: <6a762ee32dd655cbb09a4aa0e2307e8919761311.1671531297.git.oleksii_moisieiev@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 20 Dec 2022, Oleksii Moisieiev wrote:
> Data buffer for active map is allocated in alloc_active_ring and freed
> in free_active_ring function, which is used only for the error
> cleanup. pvcalls_front_release is calling pvcalls_front_free_map which
> ends foreign access for this buffer, but doesn't free allocated pages.
> Call free_active_ring to clean all allocated resources.
> 
> Signed-off-by: Oleksii Moisieiev <oleksii_moisieiev@epam.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  drivers/xen/pvcalls-front.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c
> index 1826e8e67125..9b569278788a 100644
> --- a/drivers/xen/pvcalls-front.c
> +++ b/drivers/xen/pvcalls-front.c
> @@ -225,6 +225,8 @@ static irqreturn_t pvcalls_front_event_handler(int irq, void *dev_id)
>  	return IRQ_HANDLED;
>  }
>  
> +static void free_active_ring(struct sock_mapping *map);
> +
>  static void pvcalls_front_free_map(struct pvcalls_bedata *bedata,
>  				   struct sock_mapping *map)
>  {
> @@ -240,7 +242,7 @@ static void pvcalls_front_free_map(struct pvcalls_bedata *bedata,
>  	for (i = 0; i < (1 << PVCALLS_RING_ORDER); i++)
>  		gnttab_end_foreign_access(map->active.ring->ref[i], NULL);
>  	gnttab_end_foreign_access(map->active.ref, NULL);
> -	free_page((unsigned long)map->active.ring);
> +	free_active_ring(map);
>  
>  	kfree(map);
>  }
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Dec 22 23:21:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 23:21:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468751.727939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Us4-0003i7-4g; Thu, 22 Dec 2022 23:21:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468751.727939; Thu, 22 Dec 2022 23:21:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Us4-0003i0-1U; Thu, 22 Dec 2022 23:21:04 +0000
Received: by outflank-mailman (input) for mailman id 468751;
 Thu, 22 Dec 2022 23:21:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fpfT=4U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p8Us3-0003hs-8q
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 23:21:03 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org
 [2604:1380:4641:c500::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4bf6ae07-824f-11ed-8fd4-01056ac49cbb;
 Fri, 23 Dec 2022 00:21:01 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 4D4FD61D9F;
 Thu, 22 Dec 2022 23:21:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B0520C433D2;
 Thu, 22 Dec 2022 23:20:58 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4bf6ae07-824f-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671751259;
	bh=oD+2N+jdsoivCuS/+DRIwP80/xnVfRrOBr7Jd4x977g=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MnEnlGKw/HvpxATku5JKjfkORqr71BrhB0gP/Se468/9bL2MxNMzwcSl4EBgTsD47
	 3P077XJnNrbrlUnbHs9ubORhkhBVCn3VLIW1D6dgHyGn26TZq7UyOw/Unl4DIfImud
	 aIdaEGvOe/vaTXYQLwXwX7GLA9hCFSWdPNdbkLClrk9O27jf9yNjrVy1xKRhow3NOj
	 aYCDMIHlOtdSPDdpkDZUZL8iiGPhM4NfNVlzThEpS1EBk2dwqfwYh1zpLxe948qRKZ
	 QUtHHUPa5LsXbIMXGP7wLudB1w6T7Xg1I90HL0lyGpxYBBhUtb7g1amum0lJ/HCmsH
	 WXyTsprGEjofA==
Date: Thu, 22 Dec 2022 15:20:57 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Ayan Kumar Halder <ayan.kumar.halder@amd.com>, 
    xen-devel@lists.xenproject.org, stefano.stabellini@amd.com, 
    Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
Subject: Re: [XEN v1 2/9] xen/arm: Define translate_dt_address_size() for
 the translation between u64 and paddr_t
In-Reply-To: <74786a57-d99a-6cfe-f475-df11c0d93afa@xen.org>
Message-ID: <alpine.DEB.2.22.394.2212221520020.4079@ubuntu-linux-20-04-desktop>
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com> <20221215193245.48314-3-ayan.kumar.halder@amd.com> <b58c6548-9e70-0ed9-07a9-e35084620c36@xen.org> <alpine.DEB.2.22.394.2212161643400.315094@ubuntu-linux-20-04-desktop>
 <74786a57-d99a-6cfe-f475-df11c0d93afa@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sat, 17 Dec 2022, Julien Grall wrote:
> On 17/12/2022 00:46, Stefano Stabellini wrote:
> > On Fri, 16 Dec 2022, Julien Grall wrote:
> > > Hi Ayan,
> > > 
> > > On 15/12/2022 19:32, Ayan Kumar Halder wrote:
> > > > paddr_t may be u64 or u32 depending of the type of architecture.
> > > > Thus, while translating between u64 and paddr_t, one should check that
> > > > the
> > > > truncated bits are 0. If not, then raise an appropriate error.
> > > 
> > > I am not entirely convinced this extra helper is worth it. If the user
> > > can't
> > > provide 32-bit address in the DT, then there are also a lot of other part
> > > that
> > > can go wrong.
> > > 
> > > Bertrand, Stefano, what do you think?
> > 
> > In general, it is not Xen's job to protect itself against bugs in device
> > tree. However, if Xen spots a problem in DT and prints a helpful message
> > that is better than just crashing because it gives a hint to the
> > developer about what the problem is.
> 
> I agree with the principle. In practice this needs to be weight out with the
> long-term maintenance.
> 
> > 
> > In this case, I think a BUG_ON would be sufficient.
> 
> BUG_ON() is the same as panic(). They both should be used only when there are
> no way to recover (see CODING_STYLE).
> 
> If we parse the device-tree at boot, then BUG_ON() is ok. However, if we need
> to parse it after boot (e.g. the DT overlay from Vikram), then we should
> definitely not call BUG_ON() for checking DT input.

yeah, I wasn't thinking of that series


> The correct way is like Ayan did by checking returning an error and let
> the caller deciding what to do.
> 
> My concern with his approach is the extra amount of code in each caller to
> check it (even with a new helper).
> 
> I am not fully convinced that checking the addresses in the DT is that useful.

I am also happy not to do it to be honest


> However, if you both want to do it, then I think it would be best to introduce
> wrappers over the Device-Tree ones that will check the truncation.
> 
> For example, we could introduce dt_device_get_address_checked()
> that will call dt_device_get_address() and then check for 32-bit truncation.
> 
> For the function device_tree_get_reg(), this helper was aimed to deal with
> just Physical address 'reg' very early. So we can modify the prototype and
> update the function to check for 32-bit truncation.
> 
> Note that I am suggesting a different approach for the two helpers because the
> former is generic and it is not clear to me whether this could be used in
> another context than physical address.



From xen-devel-bounces@lists.xenproject.org Thu Dec 22 23:43:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 22 Dec 2022 23:43:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468761.727950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8VDR-0006FH-WD; Thu, 22 Dec 2022 23:43:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468761.727950; Thu, 22 Dec 2022 23:43:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8VDR-0006FA-RZ; Thu, 22 Dec 2022 23:43:09 +0000
Received: by outflank-mailman (input) for mailman id 468761;
 Thu, 22 Dec 2022 23:43:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fpfT=4U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1p8VDP-0006F4-FQ
 for xen-devel@lists.xenproject.org; Thu, 22 Dec 2022 23:43:08 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5f14e10e-8252-11ed-8fd4-01056ac49cbb;
 Fri, 23 Dec 2022 00:43:01 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 35709B81F99;
 Thu, 22 Dec 2022 23:43:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EC6D3C433EF;
 Thu, 22 Dec 2022 23:42:56 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f14e10e-8252-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1671752578;
	bh=oBtXAqVhoWYy6rUTjAIxPhUtQmrCV5X9WGqQ9o2OQHs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=eJ1o//7uBhv/yZLkxK6Vq40kETHwbBLh5T2rntRNzPV4G4zknXNokDLrlluVJfGXn
	 dA+/xPfnoYzFuiaxGNp2omocqFd8qQmBoZR9n980BmipXbHhAWe05crfT9Mnn3aF0D
	 mgBKbjCxeQWtZP+Ekfe2WaazgDP6oqe1H9ZiBpIWaUp4CEhKbdco0/pyoa6tDU2xEi
	 K8E049aj37FOm0CGFaQxJWcdHJDlHQ8b6QbT+dT1N1sY3BOomIFHzFhSNoWNb4X6rL
	 1906bcMPJm2aBaJyXsJFrKjnNhB3ZneesYHcA7FltLRUuRPgBegGhyHnOxcDKvtDhQ
	 Of5OtJUOt1uEQ==
Date: Thu, 22 Dec 2022 15:42:55 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Vipul Suneja <vsuneja63@gmail.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, oleksandr_andrushchenko@epam.com, 
    oleksandr_tyshchenko@epam.com, jgross@suse.com, boris.ostrovsky@oracle.com, 
    Bertrand.Marquis@arm.com, Stewart.Hildebrand@amd.com, michal.orzel@amd.com, 
    vikram.garhwal@amd.com
Subject: Re: Porting Xen in raspberry pi4B
In-Reply-To: <CALAP8f8yOdG_g0GpWG5ZPZ0BKiaKCyM2N4V6x_8Fr08f7QjpvA@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2212221523390.4079@ubuntu-linux-20-04-desktop>
References: <CALAP8f--jyG=ufJ9WGtL6qoeGdsykjNK85G3q50SzJm5+wOzhQ@mail.gmail.com> <CALAP8f_n2okQ-Ss_kGACAq3BVYXS_D2P_8AyhOzUxqgWpz9f4g@mail.gmail.com> <alpine.DEB.2.22.394.2211101702250.50442@ubuntu-linux-20-04-desktop> <CALAP8f8zGfNA_CZU4UQXy7-rPT6dqih9XpzuKM3vvkoBvy6usg@mail.gmail.com>
 <alpine.DEB.2.22.394.2211221605470.1049131@ubuntu-linux-20-04-desktop> <CALAP8f_QiHN4dP3z+LQgKdGeo8-=9DMyk0W7+x6P2eHvnOD_wQ@mail.gmail.com> <alpine.DEB.2.22.394.2212011128430.4039@ubuntu-linux-20-04-desktop> <CALAP8f_b=0m0dqj9a50UYXYfw9X873i07sG9eyxFSqxF0yEneQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2212121406270.3075842@ubuntu-linux-20-04-desktop> <CALAP8f9JY23ZyDGnku4iWf5YCamSQKsZtdZj3MhX9TrF7wgEpw@mail.gmail.com> <alpine.DEB.2.22.394.2212131518180.315094@ubuntu-linux-20-04-desktop> <CALAP8f-fka4jicvLhzS8NFyyqD_NnffMxrZmqpz-x9JnL7Oy7w@mail.gmail.com>
 <alpine.DEB.2.22.394.2212141443130.315094@ubuntu-linux-20-04-desktop> <CALAP8f8yOdG_g0GpWG5ZPZ0BKiaKCyM2N4V6x_8Fr08f7QjpvA@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1586963452-1671751428=:4079"
Content-ID: <alpine.DEB.2.22.394.2212221528030.4079@ubuntu-linux-20-04-desktop>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323329-1586963452-1671751428=:4079
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2212221528031.4079@ubuntu-linux-20-04-desktop>

Hi Vipul,

Great that you managed to setup a debugging environment. The logs look
very promising: it looks like xenfb.c is handling events as expected.
So it would apparently seem that xen-fbfront.c -> xenfb.c connection is
working.

So the next step is the xenfb.c -> ./ui/vnc.c is working.

It could be that the pixels and mouse events arrive just fine in
xenfb.c, but then there is an issue with exporting them to the vncserver
implementation inside QEMU, which is ./ui/vnc.c. The interesting
functions there are qemu_create_displaysurface,
qemu_create_displaysurface_from, dpy_gfx_replace_surface,
dpy_gfx_update, and dpy_gfx_check_format.

Specifically dpy_gfx_update should cause VNC to render the new area.

qemu_create_displaysurface_from let VNC use the xenfb buffer directly
with VNC, rather than using a secondary buffer and memory copies.
Interestingly, dpy_gfx_check_format should be used to check if it is
appropriate to share the buffer (qemu_create_displaysurface_from) or not
(qemu_create_displaysurface) but we don't call it.

I think it would be good to add a call to dpy_gfx_check_format in
xenfb_update where we call qemu_create_displaysurface_from and also add
a printk.

You can try to disable the buffer sharing by replacing
qemu_create_displaysurface_from with qemu_create_displaysurface. You can
also try to use another QEMU UI like SDL to see if the problem is
specific to VNC only.

Cheers,

Stefano


On Mon, 19 Dec 2022, Vipul Suneja wrote:
> Hi Stefano,
> 
> Thanks!
> 
> I could prepare a patch for adding debug printf logs in xenfb.c & re-compile QEMU in yocto image. Just for reference, I have included logs
> in all the functions.
> Attaching qemu log file, could see the entry & exit logs coming up for "xenfb_handle_events" & "xenfb_map_fb" also after the host machine
> boots up. Can you please further assist, which parameters has to be cross checked or any other input as per logs?  
> 
> Thanks & Regards,
> Vipul Kumar
> 
> On Thu, Dec 15, 2022 at 4:17 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       Hi Vipul,
> 
>       For QEMU you actually need to follow the Yocto build process to update
>       the QEMU binary. That is because QEMU is a userspace application with
>       lots of library dependencies so we cannot just do "make" with a
>       cross-compiler like in the case of Xen.
> 
>       So you need to make changes to QEMU and then add those changes as a
>       patch to the Yocto QEMU build recipe, or configure Yocto to your local
>       tree to build QEMU. I am not a Yocto expert and the Yocto community
>       would be a better place to ask for advice there. You can see from here
>       some instructions on how to build Xen using a local tree, see the usage
>       of EXTERNALSRC (note that this is *not* what you need: you need to build
>       QEMU with a local tree, not Xen. But I thought that the wikipage might
>       still be a starting point)
> 
>       https://wiki.xenproject.org/wiki/Xen_on_ARM_and_Yocto
> 
>       Cheers,
> 
>       Stefano
> 
> 
>       On Thu, 15 Dec 2022, Vipul Suneja wrote:
>       > Hi Stefano,
>       >
>       > Thanks!
>       >
>       > I could see QEMU 6.2.0 compiled & installed in the host image xen-image-minimal. I could find xenfb.c source file also &
>       modified the same
>       > with debug logs.
>       > I have set up a cross compile environment, did 'make clean' & 'make all' to recompile but it's failing. In case i am doing
>       wrong, Can you
>       > please assist me
>       > with the correct steps to compile qemu? Below are the error logs:
>       >
>       >
>       agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/build$
>       make
>       > all
>       > [1/3864] Compiling C object libslirp.a.p/slirp_src_arp_table.c.o
>       > [2/3864] Compiling C object subprojects/libvhost-user/libvhost-user.a.p/libvhost-user.c.o
>       > [3/3864] Linking static target subprojects/libvhost-user/libvhost-user.a
>       > [4/3864] Compiling C object libslirp.a.p/slirp_src_vmstate.c.o
>       > [5/3864] Compiling C object libslirp.a.p/slirp_src_dhcpv6.c.o
>       > [6/3864] Compiling C object libslirp.a.p/slirp_src_dnssearch.c.o
>       > [7/3864] Compiling C object libslirp.a.p/slirp_src_bootp.c.o
>       > [8/3864] Compiling C object libslirp.a.p/slirp_src_cksum.c.o
>       > [9/3864] Compiling C object libslirp.a.p/slirp_src_if.c.o
>       > [10/3864] Compiling C object libslirp.a.p/slirp_src_ip6_icmp.c.o
>       > [11/3864] Compiling C object libslirp.a.p/slirp_src_ip6_input.c.o
>       > [12/3864] Compiling C object libslirp.a.p/slirp_src_ip6_output.c.o
>       > [13/3864] Compiling C object libslirp.a.p/slirp_src_ip_icmp.c.o
>       > [14/3864] Compiling C object libslirp.a.p/slirp_src_ip_input.c.o
>       > [15/3864] Compiling C object libslirp.a.p/slirp_src_ip_output.c.o
>       > [16/3864] Compiling C object libslirp.a.p/slirp_src_mbuf.c.o
>       > [17/3864] Compiling C object libslirp.a.p/slirp_src_misc.c.o
>       > [18/3864] Compiling C object libslirp.a.p/slirp_src_ncsi.c.o
>       > [19/3864] Compiling C object libslirp.a.p/slirp_src_ndp_table.c.o
>       > [20/3864] Compiling C object libslirp.a.p/slirp_src_sbuf.c.o
>       > [21/3864] Compiling C object libslirp.a.p/slirp_src_slirp.c.o
>       > [22/3864] Compiling C object libslirp.a.p/slirp_src_socket.c.o
>       > [23/3864] Compiling C object libslirp.a.p/slirp_src_state.c.o
>       > [24/3864] Compiling C object libslirp.a.p/slirp_src_stream.c.o
>       > [25/3864] Compiling C object libslirp.a.p/slirp_src_tcp_input.c.o
>       > [26/3864] Compiling C object libslirp.a.p/slirp_src_tcp_output.c.o
>       > [27/3864] Compiling C object libslirp.a.p/slirp_src_tcp_subr.c.o
>       > [28/3864] Compiling C object libslirp.a.p/slirp_src_tcp_timer.c.o
>       > [29/3864] Compiling C object libslirp.a.p/slirp_src_tftp.c.o
>       > [30/3864] Compiling C object libslirp.a.p/slirp_src_udp.c.o
>       > [31/3864] Compiling C object libslirp.a.p/slirp_src_udp6.c.o
>       > [32/3864] Compiling C object libslirp.a.p/slirp_src_util.c.o
>       > [33/3864] Compiling C object libslirp.a.p/slirp_src_version.c.o
>       > [34/3864] Linking static target libslirp.a
>       > [35/3864] Generating qemu-version.h with a custom command (wrapped by meson to capture output)
>       > FAILED: qemu-version.h
>       >/home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/recipe-sysroot-native/usr
>       
>       > /bin/meson --internal exe --capture qemu-version.h--/home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/qemu-6.2.0/scripts/qemu
>       -v
>       > ersion.sh
>       /home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/qemu-6.2.0 ''
>       > 6.2.0
>       > /usr/bin/env: ‘nativepython3’: No such file or directory
>       > ninja: build stopped: subcommand failed.
>       > make: *** [Makefile:162: run-ninja] Error 1
>       >
>       > Thanks & Regards,
>       > Vipul Kumar
>       >
>       > On Wed, Dec 14, 2022 at 4:55 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       Hi Vipul,
>       >
>       >       Good progress! The main function we should check is "xenfb_refresh" but
>       >       from the logs it looks like it is called several times. Which means that
>       >       everything seems to be working as expected on the Linux side.
>       >
>       >       It is time to investigate the QEMU side:
>       >       ./hw/display/xenfb.c:xenfb_handle_events
>       >       ./hw/display/xenfb.c:xenfb_map_fb
>       >
>       >       I wonder if the issue is internal to QEMU. You might want to use an
>       >       older QEMU version to check if it works, maybe 6.0 or 5.0 or even 4.0.
>       >       I also wonder if it is a problem between xenfb.c and the rest of QEMU. I
>       >       would investigate how xenfb->pixels is rendered by the rest of QEMU.
>       >       Specifically you might want to look at the call to
>       >       qemu_create_displaysurface, qemu_create_displaysurface_from and
>       >       dpy_gfx_replace_surface in xenfb_update.
>       >
>       >       I hope this helps.
>       >
>       >       Cheers,
>       >
>       >       Stefano
>       >
>       >
>       >       On Tue, 13 Dec 2022, Vipul Suneja wrote:
>       >       > Hi Stefano,
>       >       >
>       >       > Thanks!
>       >       >
>       >       > I modified xen-fbfront.c source file, included printk debug logs & cross compiled it. I included the printk debug log
>       at the
>       >       entry & exit
>       >       > of all functions of xen-fbfront.c file.
>       >       > Generated kernel module & loaded in guest machine at bootup. I could see lots of logs coming up, and could see
>       multiple
>       >       functions being
>       >       > invoked even if I have not used vncviewer in the host. Attaching the log file for reference. Any specific function or
>       >       parameters that have
>       >       > to be checked or any other suggestion as per logs?
>       >       >
>       >       > Thanks & Regards,
>       >       > Vipul Kumar
>       >       >
>       >       > On Tue, Dec 13, 2022 at 3:44 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       Hi Vipul,
>       >       >
>       >       >       I am online on IRC OFTC #xendevel (https://www.oftc.net/, you need a
>       >       >       registered nickname to join #xendevel).
>       >       >
>       >       >       For development and debugging I find that it is a lot easier to
>       >       >       crosscompile the kernel "by hand", and do a monolithic build, rather
>       >       >       than going through Yocto.
>       >       >
>       >       >       For instance the following builds for me:
>       >       >
>       >       >       cd linux.git
>       >       >       export ARCH=arm64
>       >       >       export CROSS_COMPILE=/path/to/cross-compiler
>       >       >       make defconfig
>       >       >       [add printks to drivers/video/fbdev/xen-fbfront.c]
>       >       >       make -j8 Image.gz
>       >       >
>       >       >       And Image.gz boots on Xen as DomU kernel without issues.
>       >       >
>       >       >       Cheers,
>       >       >
>       >       >       Stefano
>       >       >
>       >       >       On Sat, 10 Dec 2022, Vipul Suneja wrote:
>       >       >       > Hi Stefano,
>       >       >       >
>       >       >       > Thanks!
>       >       >       >
>       >       >       > I have included printk debug logs in the xen-fbfront.c source file. While cross compiling to generate .ko
>       with
>       >       >       "xen-guest-image-minimal"
>       >       >       > toolchain it's throwing a modpost
>       >       >       > not found error. I could see the modpost.c source file but the final script is missing. Any input on this,
>       Below are
>       >       the
>       >       >       logs:
>       >       >       >
>       >       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ make
>       >       >       > make ARCH=arm64 -I/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/usr/include/asm -C
>       >       >       > /opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build
>       >       >       > M=/home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer modules
>       >       >       > make[1]: Entering directory
>       '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build'
>       >       >       > arch/arm64/Makefile:36: Detected assembler with broken .inst; disassembly will be unreliable
>       >       >       > warning: the compiler differs from the one used to build the kernel
>       >       >       >   The kernel was built by: gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0
>       >       >       >   You are using:           aarch64-poky-linux-gcc (GCC) 11.3.0
>       >       >       >   CC [M]  /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/xen-fbfront.o
>       >       >       >   MODPOST /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/Module.symvers
>       >       >       > /bin/sh: 1: scripts/mod/modpost: not found
>       >       >       > make[2]: *** [scripts/Makefile.modpost:133:
>       >       >       /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer/Module.symvers]
>       >       >       > Error 127
>       >       >       > make[1]: *** [Makefile:1813: modules] Error 2
>       >       >       > make[1]: Leaving directory
>       '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-standard/build'
>       >       >       > make: *** [Makefile:5: all] Error 2
>       >       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ ls -l
>       >       >       > total 324
>       >       >       > -rwxrwxrwx 1 agl agl    359 Dec 10 22:41 Makefile
>       >       >       > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 modules.order
>       >       >       > -rw-r--r-- 1 agl agl  18331 Dec  1 20:32 xen-fbfront.c
>       >       >       > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49 xen-fbfront.mod
>       >       >       > -rw-rw-r-- 1 agl agl 297832 Dec 10 22:49 xen-fbfront.o
>       >       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$ file xen-fbfront.o
>       >       >       > xen-fbfront.o: ELF 64-bit LSB relocatable, ARM aarch64, version 1 (SYSV), with debug_info, not stripped
>       >       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$
>       >       >       >
>       >       >       > I have connected a HDMI based 1980x1024 resolution display screen to raspberrypi4 for testing purposes. I
>       hope
>       >       connecting
>       >       >       this display to
>       >       >       > rpi4 should be ok.
>       >       >       >
>       >       >       > Is there any other way we can connect also for detailed discussion on the display bringup issue? This will
>       really
>       >       help to
>       >       >       resolve this
>       >       >       > issue.
>       >       >       >
>       >       >       > Thanks & Regards,
>       >       >       > Vipul Kumar
>       >       >       >
>       >       >       > On Fri, Dec 2, 2022 at 1:02 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       On Thu, 1 Dec 2022, Vipul Suneja wrote:
>       >       >       >       > Hi Stefano,
>       >       >       >       > Thanks!
>       >       >       >       >
>       >       >       >       > I am exploring both options here, modification of framebuffer source file & setting up x11vnc server
>       in
>       >       guest.
>       >       >       >       > Other than these I would like to share a few findings with you.
>       >       >       >       >
>       >       >       >       > 1. If i keep "CONFIG_XEN_FBDEV_FRONTEND=y" then xen-fbfront.ko is not generating but if i keep
>       >       >       "CONFIG_XEN_FBDEV_FRONTEND=m"
>       >       >       >       > then could see xen-fbfront.ko & its loading also. Same things with other frontend/backend drivers
>       also. Do we
>       >       need to
>       >       >       >       configure these
>       >       >       >       > drivers as a module(m) only?
>       >       >       >
>       >       >       >       xen-fbfront should work both as a module (xen-fbfront.ko) or built-in
>       >       >       >       (CONFIG_XEN_FBDEV_FRONTEND=y).
>       >       >       >
>       >       >       >
>       >       >       >
>       >       >       >       > 2. I could see xenstored service is running for the host but it's always failing for the
>       guest machine. I
>       >       could see
>       >       >       it in
>       >       >       >       bootup logs & via
>       >       >       >       > systemctl status also.
>       >       >       >
>       >       >       >       That is normal. xenstored is only meant to be run in Dom0, not in the
>       >       >       >       domUs. If you use the same rootfs for Dom0 and DomU then xenstored will
>       >       >       >       fail starting in the DomU (but should succeed in Dom0), which is what we
>       >       >       >       want.
>       >       >       >
>       >       >       >       If you run "xenstore-ls" in Dom0, you'll see a bunch of entries,
>       >       >       >       including some of them related to "vfb" which is the virtual framebuffer
>       >       >       >       protocol. You should also see an entry called "state" set to "4" which
>       >       >       >       means "connected". state = 4 is usually when everything works. Normally
>       >       >       >       when things don't work state != 4.
>       >       >       >
>       >       >       >
>       >       >       >
>       >       >       >       > Below are the logs:
>       >       >       >       > [  OK  ] Reached target Basic System.
>       >       >       >       > [  OK  ] Started Kernel Logging Service.
>       >       >       >       > [  OK  ] Started System Logging Service.
>       >       >       >       >          Starting D-Bus System Message Bus...
>       >       >       >       >          Starting User Login Management...
>       >       >       >       >          Starting Permit User Sessions...
>       >       >       >       >          Starting The Xen xenstore...
>       >       >       >       >          Starting OpenSSH Key Generation...
>       >       >       >       > [FAILED] Failed to start The Xen xenstore.
>       >       >       >       > See 'systemctl status xenstored.service' for details.
>       >       >       >       > [DEPEND] Dependency failed for qemu for xen dom0 disk backend.
>       >       >       >       > [DEPEND] Dependency failed for Xend…p guests on boot and shutdown.
>       >       >       >       > [DEPEND] Dependency failed for xen-…des, JSON configuration stub).
>       >       >       >       > [DEPEND] Dependency failed for Xenc…guest consoles and hypervisor.
>       >       >       >       > [  OK  ] Finished Permit User Sessions.
>       >       >       >       > [  OK  ] Started Getty on tty1.
>       >       >       >       > [  OK  ] Started Serial Getty on hvc0.
>       >       >       >       > [  OK  ] Started Serial Getty on ttyS0.
>       >       >       >       > [  OK  ] Reached target Login Prompts.
>       >       >       >       >          Starting Xen-watchdog - run xen watchdog daemon...
>       >       >       >       > [  OK  ] Started D-Bus System Message Bus.
>       >       >       >       > [  OK  ] Started Xen-watchdog - run xen watchdog daemon.
>       >       >       >       > [  OK  ] Finished OpenSSH Key Generation.
>       >       >       >       > [  OK  ] Started User Login Management.
>       >       >       >       > [  OK  ] Reached target Multi-User System.
>       >       >       >       >          Starting Record Runlevel Change in UTMP...
>       >       >       >       > [  OK  ] Finished Record Runlevel Change in UTMP.
>       >       >       >       > fbcon: Taking over console
>       >       >       >       >
>       >       >       >       > Poky (Yocto Project Reference Distro) 4.0.4 raspberrypi4-64 hvc0
>       >       >       >       >
>       >       >       >       > raspberrypi4-64 login: root
>       >       >       >       > root@raspberrypi4-64:~#
>       >       >       >       > root@raspberrypi4-64:~#
>       >       >       >       > root@raspberrypi4-64:~# systemctl status xenstored.service
>       >       >       >       > x xenstored.service - The Xen xenstore
>       >       >       >       >      Loaded: loaded (/lib/systemd/system/xenstored.service; enabled; vendor preset: enabled)
>       >       >       >       >      Active: failed (Result: exit-code) since Thu 2022-12-01 06:12:05 UTC; 26s ago
>       >       >       >       >     Process: 195 ExecStartPre=/bin/grep -q control_d /proc/xen/capabilities (code=exited,
>       status=1/FAILURE)
>       >       >       >       >
>       >       >       >       > Dec 01 06:12:04 raspberrypi4-64 systemd[1]: Starting The Xen xenstore...
>       >       >       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service: Control pro...URE
>       >       >       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: xenstored.service: Failed with...e'.
>       >       >       >       > Dec 01 06:12:05 raspberrypi4-64 systemd[1]: Failed to start The Xen xenstore.
>       >       >       >       > Hint: Some lines were ellipsized, use -l to show in full.
>       >       >       >       > root@raspberrypi4-64:~# 
>       >       >       >       >
>       >       >       >       > Any input on these?
>       >       >       >       >
>       >       >       >       > Thanks & Regards,
>       >       >       >       > Vipul Kumar
>       >       >       >       >
>       >       >       >       > On Wed, Nov 23, 2022 at 5:41 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       >       Hi Vipul,
>       >       >       >       >
>       >       >       >       >       I cannot spot any issue in the configuration, in particual you have:
>       >       >       >       >
>       >       >       >       >       CONFIG_XEN_FBDEV_FRONTEND=y
>       >       >       >       >
>       >       >       >       >       which is what you need.
>       >       >       >       >
>       >       >       >       >       The only thing I can suggest is to add printks to the Linux frontend
>       >       >       >       >       driver (the one running in the domU) which is
>       >       >       >       >       drivers/video/fbdev/xen-fbfront.c and printfs to the QEMU backend
>       >       >       >       >       (running in Dom0) which is hw/display/xenfb.c to figure out what is
>       >       >       >       >       going on.
>       >       >       >       >
>       >       >       >       >
>       >       >       >       >       Alternatively, you can setup PV network with the domU, such as:
>       >       >       >       >
>       >       >       >       >         vif=['']
>       >       >       >       >
>       >       >       >       >       and then run x11 and a x11vnc server in your domU. You should be able to
>       >       >       >       >       connect to it using vncviewer at the network IP of your domU.
>       >       >       >       >
>       >       >       >       >       Basically you are skipping the problem because instead of using the PV
>       >       >       >       >       framebuffer protocol, you just use VNC over the network with the domU.
>       >       >       >       >
>       >       >       >       >
>       >       >       >       >       Cheers,
>       >       >       >       >
>       >       >       >       >       Stefano
>       >       >       >       >
>       >       >       >       >
>       >       >       >       >       On Tue, 22 Nov 2022, Vipul Suneja wrote:
>       >       >       >       >       > Hi Stefano,
>       >       >       >       >       > Thanks for the support!
>       >       >       >       >       >
>       >       >       >       >       > Looks like I have tried all the combinations & possible ways to get display up but failed. Is
>       there
>       >       any
>       >       >       document or
>       >       >       >       pdf for
>       >       >       >       >       porting xen on
>       >       >       >       >       > raspberrypi4.
>       >       >       >       >       > I could find lot's of links telling the same but couldn't see any official user guide or
>       document
>       >       from the
>       >       >       xen
>       >       >       >       community on
>       >       >       >       >       the same. If
>       >       >       >       >       > there is something to refer 
>       >       >       >       >       > to please share with me.
>       >       >       >       >       > I am attaching the kernel configuration file also, just take a look if i have missed
>       anything.
>       >       >       >       >       > Any other suggestions or input from your end could be really helpful?
>       >       >       >       >       >
>       >       >       >       >       > Regards,
>       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >
>       >       >       >       >       > On Fri, Nov 11, 2022 at 6:40 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       >       >       Hi Vipul,
>       >       >       >       >       >
>       >       >       >       >       >       Sorry for the late reply. From the earlier logs that you sent, it looks
>       >       >       >       >       >       like everything should be working correctly. Specifically:
>       >       >       >       >       >
>       >       >       >       >       >            vfb = ""
>       >       >       >       >       >             1 = ""
>       >       >       >       >       >              0 = ""
>       >       >       >       >       >               frontend = "/local/domain/1/device/vfb/0"
>       >       >       >       >       >               frontend-id = "1"
>       >       >       >       >       >               online = "1"
>       >       >       >       >       >               state = "4"
>       >       >       >       >       >               vnc = "1"
>       >       >       >       >       >               vnclisten = "127.0.0.1"
>       >       >       >       >       >               vncdisplay = "0"
>       >       >       >       >       >               vncunused = "1"
>       >       >       >       >       >               sdl = "0"
>       >       >       >       >       >               opengl = "0"
>       >       >       >       >       >               feature-resize = "1"
>       >       >       >       >       >               hotplug-status = "connected"
>       >       >       >       >       >               request-update = "1"
>       >       >       >       >       >
>       >       >       >       >       >       state "4" means "connected". So I would expect that you should be able
>       >       >       >       >       >       to connect to the vnc server using vncviewer. You might not see anything
>       >       >       >       >       >       (black screen) but you should definitely be able to connect.
>       >       >       >       >       >
>       >       >       >       >       >       I wouldn't try to launch x11 in the guest just yet. fbcon in Linux is
>       >       >       >       >       >       enough to render something on the screen. You should be able to see the
>       >       >       >       >       >       Linux text-based console rendered graphically, connecting to it via vnc.
>       >       >       >       >       >
>       >       >       >       >       >       Sorry for the basic question, but have you tried all the following?
>       >       >       >       >       >
>       >       >       >       >       >       vncviewer 127.0.0.1:0
>       >       >       >       >       >       vncviewer 127.0.0.1:1
>       >       >       >       >       >       vncviewer 127.0.0.1:2
>       >       >       >       >       >       vncviewer 127.0.0.1:5900
>       >       >       >       >       >       vncviewer 127.0.0.1:5901
>       >       >       >       >       >       vncviewer 127.0.0.1:5902
>       >       >       >       >       >
>       >       >       >       >       >       Given that from the xenstore-ls logs everything seems to work correctly
>       >       >       >       >       >       I am not sure what else to suggest. You might have to add printf to QEMU
>       >       >       >       >       >       ui/vnc.c and hw/display/xenfb.c to see what is going wrong.
>       >       >       >       >       >
>       >       >       >       >       >       Cheers,
>       >       >       >       >       >
>       >       >       >       >       >       Stefano
>       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >       >       On Mon, 7 Nov 2022, Vipul Suneja wrote:
>       >       >       >       >       >       > Hi Stefano,
>       >       >       >       >       >       > Thanks!
>       >       >       >       >       >       >
>       >       >       >       >       >       > Any input further on "xenstore-ls" logs?
>       >       >       >       >       >       >
>       >       >       >       >       >       > I am trying to run the x0vncserver & x11vnc server manually on guest
>       >       machine(xen_guest_image_minimal)
>       >       >       image
>       >       >       >       but it's
>       >       >       >       >       failing
>       >       >       >       >       >       with the below
>       >       >       >       >       >       > error.
>       >       >       >       >       >       >
>       >       >       >       >       >       > root@raspberrypi4-64:/usr/bin# x0vncserver
>       >       >       >       >       >       > x0vncserver: unable to open display ""
>       >       >       >       >       >       > root@raspberrypi4-64:/usr/bin#
>       >       >       >       >       >       > root@raspberrypi4-64:/usr/bin# x11vnc
>       >       >       >       >       >       > ###############################################################
>       >       >       >       >       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@  **  WARNING  **  WARNING  **  WARNING  **  WARNING  **   @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@        YOU ARE RUNNING X11VNC WITHOUT A PASSWORD!!        @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@  This means anyone with network access to this computer   @#
>       >       >       >       >       >       > #@  may be able to view and control your desktop.            @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@ >>> If you did not mean to do this Press CTRL-C now!! <<< @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@  You can create an x11vnc password file by running:       @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@       x11vnc -storepasswd password /path/to/passfile      @#
>       >       >       >       >       >       > #@  or   x11vnc -storepasswd /path/to/passfile               @#
>       >       >       >       >       >       > #@  or   x11vnc -storepasswd                                 @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@  (the last one will use ~/.vnc/passwd)                    @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@  and then starting x11vnc via:                            @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@      x11vnc -rfbauth /path/to/passfile                    @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@  an existing ~/.vnc/passwd file from another VNC          @#
>       >       >       >       >       >       > #@  application will work fine too.                          @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@  You can also use the -passwdfile or -passwd options.     @#
>       >       >       >       >       >       > #@  (note -passwd is unsafe if local users are not trusted)  @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@  Make sure any -rfbauth and -passwdfile password files    @#
>       >       >       >       >       >       > #@  cannot be read by untrusted users.                       @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@  Use x11vnc -usepw to automatically use your              @#
>       >       >       >       >       >       > #@  ~/.vnc/passwd or ~/.vnc/passwdfile password files.       @#
>       >       >       >       >       >       > #@  (and prompt you to create ~/.vnc/passwd if neither       @#
>       >       >       >       >       >       > #@  file exists.)  Under -usepw, x11vnc will exit if it      @#
>       >       >       >       >       >       > #@  cannot find a password to use.                           @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@  Even with a password, the subsequent VNC traffic is      @#
>       >       >       >       >       >       > #@  sent in the clear.  Consider tunnelling via ssh(1):      @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@    http://www.karlrunge.com/x11vnc/#tunnelling            @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@  Or using the x11vnc SSL options: -ssl and -stunnel       @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@  Please Read the documentation for more info about        @#
>       >       >       >       >       >       > #@  passwords, security, and encryption.                     @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@    http://www.karlrunge.com/x11vnc/faq.html#faq-passwd    @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@  To disable this warning use the -nopw option, or put     @#
>       >       >       >       >       >       > #@  'nopw' on a line in your ~/.x11vncrc file.               @#
>       >       >       >       >       >       > #@                                                           @#
>       >       >       >       >       >       > #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
>       >       >       >       >       >       > ###############################################################
>       >       >       >       >       >       > 09/03/2018 12:58:41 x11vnc version: 0.9.16 lastmod: 2019-01-05  pid: 424
>       >       >       >       >       >       > 09/03/2018 12:58:41 XOpenDisplay("") failed.
>       >       >       >       >       >       > 09/03/2018 12:58:41 Trying again with XAUTHLOCALHOSTNAME=localhost ...
>       >       >       >       >       >       > 09/03/2018 12:58:41
>       >       >       >       >       >       > 09/03/2018 12:58:41 *** XOpenDisplay failed. No -display or DISPLAY.
>       >       >       >       >       >       > 09/03/2018 12:58:41 *** Trying ":0" in 4 seconds.  Press Ctrl-C to abort.
>       >       >       >       >       >       > 09/03/2018 12:58:41 *** 1 2 3 4
>       >       >       >       >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
>       >       >       >       >       >       > 09/03/2018 12:58:45 Trying again with XAUTHLOCALHOSTNAME=localhost ...
>       >       >       >       >       >       > 09/03/2018 12:58:45 XOpenDisplay(":0") failed.
>       >       >       >       >       >       > 09/03/2018 12:58:45 Trying again with unset XAUTHLOCALHOSTNAME ...
>       >       >       >       >       >       > 09/03/2018 12:58:45
>       >       >       >       >       >       >
>       >       >       >       >       >       > 09/03/2018 12:58:45 ***************************************
>       >       >       >       >       >       > 09/03/2018 12:58:45 *** XOpenDisplay failed (:0)
>       >       >       >       >       >       >
>       >       >       >       >       >       > *** x11vnc was unable to open the X DISPLAY: ":0", it cannot continue.
>       >       >       >       >       >       > *** There may be "Xlib:" error messages above with details about the failure.
>       >       >       >       >       >       >
>       >       >       >       >       >       > Some tips and guidelines:
>       >       >       >       >       >       >
>       >       >       >       >       >       > ** An X server (the one you wish to view) must be running before x11vnc is
>       >       >       >       >       >       >    started: x11vnc does not start the X server.  (however, see the -create
>       >       >       >       >       >       >    option if that is what you really want).
>       >       >       >       >       >       >
>       >       >       >       >       >       > ** You must use -display <disp>, -OR- set and export your $DISPLAY
>       >       >       >       >       >       >    environment variable to refer to the display of the desired X server.
>       >       >       >       >       >       >  - Usually the display is simply ":0" (in fact x11vnc uses this if you forget
>       >       >       >       >       >       >    to specify it), but in some multi-user situations it could be ":1", ":2",
>       >       >       >       >       >       >    or even ":137".  Ask your administrator or a guru if you are having
>       >       >       >       >       >       >    difficulty determining what your X DISPLAY is.
>       >       >       >       >       >       >
>       >       >       >       >       >       > ** Next, you need to have sufficient permissions (Xauthority)
>       >       >       >       >       >       >    to connect to the X DISPLAY.   Here are some Tips:
>       >       >       >       >       >       >
>       >       >       >       >       >       >  - Often, you just need to run x11vnc as the user logged into the X session.
>       >       >       >       >       >       >    So make sure to be that user when you type x11vnc.
>       >       >       >       >       >       >  - Being root is usually not enough because the incorrect MIT-MAGIC-COOKIE
>       >       >       >       >       >       >    file may be accessed.  The cookie file contains the secret key that
>       >       >       >       >       >       >    allows x11vnc to connect to the desired X DISPLAY.
>       >       >       >       >       >       >  - You can explicitly indicate which MIT-MAGIC-COOKIE file should be used
>       >       >       >       >       >       >    by the -auth option, e.g.:
>       >       >       >       >       >       >        x11vnc -auth /home/someuser/.Xauthority -display :0
>       >       >       >       >       >       >        x11vnc -auth /tmp/.gdmzndVlR -display :0
>       >       >       >       >       >       >    you must have read permission for the auth file.
>       >       >       >       >       >       >    See also '-auth guess' and '-findauth' discussed below.
>       >       >       >       >       >       >
>       >       >       >       >       >       > ** If NO ONE is logged into an X session yet, but there is a greeter login
>       >       >       >       >       >       >    program like "gdm", "kdm", "xdm", or "dtlogin" running, you will need
>       >       >       >       >       >       >    to find and use the raw display manager MIT-MAGIC-COOKIE file.
>       >       >       >       >       >       >    Some examples for various display managers:
>       >       >       >       >       >       >
>       >       >       >       >       >       >      gdm:     -auth /var/gdm/:0.Xauth
>       >       >       >       >       >       >               -auth /var/lib/gdm/:0.Xauth
>       >       >       >       >       >       >      kdm:     -auth /var/lib/kdm/A:0-crWk72
>       >       >       >       >       >       >               -auth /var/run/xauth/A:0-crWk72
>       >       >       >       >       >       >      xdm:     -auth /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
>       >       >       >       >       >       >      dtlogin: -auth /var/dt/A:0-UgaaXa
>       >       >       >       >       >       >
>       >       >       >       >       >       >    Sometimes the command "ps wwwwaux | grep auth" can reveal the file location.
>       >       >       >       >       >       >
>       >       >       >       >       >       >    Starting with x11vnc 0.9.9 you can have it try to guess by using:
>       >       >       >       >       >       >
>       >       >       >       >       >       >               -auth guess
>       >       >       >       >       >       >
>       >       >       >       >       >       >    (see also the x11vnc -findauth option.)
>       >       >       >       >       >       >
>       >       >       >       >       >       >    Only root will have read permission for the file, and so x11vnc must be run
>       >       >       >       >       >       >    as root (or copy it).  The random characters in the filenames will of course
>       >       >       >       >       >       >    change and the directory the cookie file resides in is system dependent.
>       >       >       >       >       >       >
>       >       >       >       >       >       > See also: http://www.karlrunge.com/x11vnc/faq.html
>       >       >       >       >       >       >
>       >       >       >       >       >       > Regards,
>       >       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >       >
>       >       >       >       >       >       > On Thu, Nov 3, 2022 at 10:27 PM Vipul Suneja <vsuneja63@gmail.com> wrote:
>       >       >       >       >       >       >       Hi Stefano,
>       >       >       >       >       >       > Thanks!
>       >       >       >       >       >       >
>       >       >       >       >       >       > I used xen-guest-image-minimal(simple console based image) as a guest with fbcon &
>       fbdev
>       >       enabled in
>       >       >       kernel
>       >       >       >       >       configurations but
>       >       >       >       >       >       still
>       >       >       >       >       >       > the same error can't open the display.
>       >       >       >       >       >       > below are the outcome of "xenstore-ls":
>       >       >       >       >       >       >
>       >       >       >       >       >       > root@raspberrypi4-64:~/guest1# xenstore-ls
>       >       >       >       >       >       > tool = ""
>       >       >       >       >       >       >  xenstored = ""
>       >       >       >       >       >       > local = ""
>       >       >       >       >       >       >  domain = ""
>       >       >       >       >       >       >   0 = ""
>       >       >       >       >       >       >    control = ""
>       >       >       >       >       >       >     feature-poweroff = "1"
>       >       >       >       >       >       >     feature-reboot = "1"
>       >       >       >       >       >       >    domid = "0"
>       >       >       >       >       >       >    name = "Domain-0"
>       >       >       >       >       >       >    device-model = ""
>       >       >       >       >       >       >     0 = ""
>       >       >       >       >       >       >      backends = ""
>       >       >       >       >       >       >       console = ""
>       >       >       >       >       >       >       vkbd = ""
>       >       >       >       >       >       >       vfb = ""
>       >       >       >       >       >       >       qnic = ""
>       >       >       >       >       >       >      state = "running"
>       >       >       >       >       >       >     1 = ""
>       >       >       >       >       >       >      backends = ""
>       >       >       >       >       >       >       console = ""
>       >       >       >       >       >       >       vkbd = ""
>       >       >       >       >       >       >       vfb = ""
>       >       >       >       >       >       >       qnic = ""
>       >       >       >       >       >       >      state = "running"
>       >       >       >       >       >       >    backend = ""
>       >       >       >       >       >       >     vbd = ""
>       >       >       >       >       >       >      1 = ""
>       >       >       >       >       >       >       51712 = ""
>       >       >       >       >       >       >        frontend = "/local/domain/1/device/vbd/51712"
>       >       >       >       >       >       >        params = "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
>       >       >       >       >       >       >        script = "/etc/xen/scripts/block"
>       >       >       >       >       >       >        frontend-id = "1"
>       >       >       >       >       >       >        online = "1"
>       >       >       >       >       >       >        removable = "0"
>       >       >       >       >       >       >        bootable = "1"
>       >       >       >       >       >       >        state = "4"
>       >       >       >       >       >       >        dev = "xvda"
>       >       >       >       >       >       >        type = "phy"
>       >       >       >       >       >       >        mode = "w"
>       >       >       >       >       >       >        device-type = "disk"
>       >       >       >       >       >       >        discard-enable = "1"
>       >       >       >       >       >       >        feature-max-indirect-segments = "256"
>       >       >       >       >       >       >        multi-queue-max-queues = "4"
>       >       >       >       >       >       >        max-ring-page-order = "4"
>       >       >       >       >       >       >        node = "/dev/loop0"
>       >       >       >       >       >       >        physical-device = "7:0"
>       >       >       >       >       >       >        physical-device-path = "/dev/loop0"
>       >       >       >       >       >       >        hotplug-status = "connected"
>       >       >       >       >       >       >        feature-flush-cache = "1"
>       >       >       >       >       >       >        discard-granularity = "4096"
>       >       >       >       >       >       >        discard-alignment = "0"
>       >       >       >       >       >       >        discard-secure = "0"
>       >       >       >       >       >       >        feature-discard = "1"
>       >       >       >       >       >       >        feature-barrier = "1"
>       >       >       >       >       >       >        feature-persistent = "1"
>       >       >       >       >       >       >        sectors = "1794048"
>       >       >       >       >       >       >        info = "0"
>       >       >       >       >       >       >        sector-size = "512"
>       >       >       >       >       >       >        physical-sector-size = "512"
>       >       >       >       >       >       >     vfb = ""
>       >       >       >       >       >       >      1 = ""
>       >       >       >       >       >       >       0 = ""
>       >       >       >       >       >       >        frontend = "/local/domain/1/device/vfb/0"
>       >       >       >       >       >       >        frontend-id = "1"
>       >       >       >       >       >       >        online = "1"
>       >       >       >       >       >       >        state = "4"
>       >       >       >       >       >       >        vnc = "1"
>       >       >       >       >       >       >        vnclisten = "127.0.0.1"
>       >       >       >       >       >       >        vncdisplay = "0"
>       >       >       >       >       >       >        vncunused = "1"
>       >       >       >       >       >       >        sdl = "0"
>       >       >       >       >       >       >        opengl = "0"
>       >       >       >       >       >       >        feature-resize = "1"
>       >       >       >       >       >       >        hotplug-status = "connected"
>       >       >       >       >       >       >        request-update = "1"
>       >       >       >       >       >       >     vkbd = ""
>       >       >       >       >       >       >      1 = ""
>       >       >       >       >       >       >       0 = ""
>       >       >       >       >       >       >        frontend = "/local/domain/1/device/vkbd/0"
>       >       >       >       >       >       >        frontend-id = "1"
>       >       >       >       >       >       >        online = "1"
>       >       >       >       >       >       >        state = "4"
>       >       >       >       >       >       >        feature-abs-pointer = "1"
>       >       >       >       >       >       >        feature-raw-pointer = "1"
>       >       >       >       >       >       >        hotplug-status = "connected"
>       >       >       >       >       >       >     console = ""
>       >       >       >       >       >       >      1 = ""
>       >       >       >       >       >       >       0 = ""
>       >       >       >       >       >       >        frontend = "/local/domain/1/console"
>       >       >       >       >       >       >        frontend-id = "1"
>       >       >       >       >       >       >        online = "1"
>       >       >       >       >       >       >        state = "1"
>       >       >       >       >       >       >        protocol = "vt100"
>       >       >       >       >       >       >     vif = ""
>       >       >       >       >       >       >      1 = ""
>       >       >       >       >       >       >       0 = ""
>       >       >       >       >       >       >        frontend = "/local/domain/1/device/vif/0"
>       >       >       >       >       >       >        frontend-id = "1"
>       >       >       >       >       >       >        online = "1"
>       >       >       >       >       >       >        state = "4"
>       >       >       >       >       >       >        script = "/etc/xen/scripts/vif-bridge"
>       >       >       >       >       >       >        mac = "e4:5f:01:cd:7b:dd"
>       >       >       >       >       >       >        bridge = "xenbr0"
>       >       >       >       >       >       >        handle = "0"
>       >       >       >       >       >       >        type = "vif"
>       >       >       >       >       >       >        hotplug-status = "connected"
>       >       >       >       >       >       >        feature-sg = "1"
>       >       >       >       >       >       >        feature-gso-tcpv4 = "1"
>       >       >       >       >       >       >        feature-gso-tcpv6 = "1"
>       >       >       >       >       >       >        feature-ipv6-csum-offload = "1"
>       >       >       >       >       >       >        feature-rx-copy = "1"
>       >       >       >       >       >       >        feature-xdp-headroom = "1"
>       >       >       >       >       >       >        feature-rx-flip = "0"
>       >       >       >       >       >       >        feature-multicast-control = "1"
>       >       >       >       >       >       >        feature-dynamic-multicast-control = "1"
>       >       >       >       >       >       >        feature-split-event-channels = "1"
>       >       >       >       >       >       >        multi-queue-max-queues = "4"
>       >       >       >       >       >       >        feature-ctrl-ring = "1"
>       >       >       >       >       >       >   1 = ""
>       >       >       >       >       >       >    vm = "/vm/d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
>       >       >       >       >       >       >    name = "guest2"
>       >       >       >       >       >       >    cpu = ""
>       >       >       >       >       >       >     0 = ""
>       >       >       >       >       >       >      availability = "online"
>       >       >       >       >       >       >     1 = ""
>       >       >       >       >       >       >      availability = "online"
>       >       >       >       >       >       >    memory = ""
>       >       >       >       >       >       >     static-max = "2097152"
>       >       >       >       >       >       >     target = "2097152"
>       >       >       >       >       >       >     videoram = "0"
>       >       >       >       >       >       >    device = ""
>       >       >       >       >       >       >     suspend = ""
>       >       >       >       >       >       >      event-channel = ""
>       >       >       >       >       >       >     vbd = ""
>       >       >       >       >       >       >      51712 = ""
>       >       >       >       >       >       >       backend = "/local/domain/0/backend/vbd/1/51712"
>       >       >       >       >       >       >       backend-id = "0"
>       >       >       >       >       >       >       state = "4"
>       >       >       >       >       >       >       virtual-device = "51712"
>       >       >       >       >       >       >       device-type = "disk"
>       >       >       >       >       >       >       multi-queue-num-queues = "2"
>       >       >       >       >       >       >       queue-0 = ""
>       >       >       >       >       >       >        ring-ref = "8"
>       >       >       >       >       >       >        event-channel = "4"
>       >       >       >       >       >       >       queue-1 = ""
>       >       >       >       >       >       >        ring-ref = "9"
>       >       >       >       >       >       >        event-channel = "5"
>       >       >       >       >       >       >       protocol = "arm-abi"
>       >       >       >       >       >       >       feature-persistent = "1"
>       >       >       >       >       >       >     vfb = ""
>       >       >       >       >       >       >      0 = ""
>       >       >       >       >       >       >       backend = "/local/domain/0/backend/vfb/1/0"
>       >       >       >       >       >       >       backend-id = "0"
>       >       >       >       >       >       >       state = "4"
>       >       >       >       >       >       >       page-ref = "275022"
>       >       >       >       >       >       >       event-channel = "3"
>       >       >       >       >       >       >       protocol = "arm-abi"
>       >       >       >       >       >       >       feature-update = "1"
>       >       >       >       >       >       >     vkbd = ""
>       >       >       >       >       >       >      0 = ""
>       >       >       >       >       >       >       backend = "/local/domain/0/backend/vkbd/1/0"
>       >       >       >       >       >       >       backend-id = "0"
>       >       >       >       >       >       >       state = "4"
>       >       >       >       >       >       >       request-abs-pointer = "1"
>       >       >       >       >       >       >       page-ref = "275322"
>       >       >       >       >       >       >       page-gref = "1284"
>       >       >       >       >       >       >       event-channel = "10"
>       >       >       >       >       >       >     vif = ""
>       >       >       >       >       >       >      0 = ""
>       >       >       >       >       >       >       backend = "/local/domain/0/backend/vif/1/0"
>       >       >       >       >       >       >       backend-id = "0"
>       >       >       >       >       >       >       state = "4"
>       >       >       >       >       >       >       handle = "0"
>       >       >       >       >       >       >       mac = "e4:5f:01:cd:7b:dd"
>       >       >       >       >       >       >       mtu = "1500"
>       >       >       >       >       >       >       xdp-headroom = "0"
>       >       >       >       >       >       >       multi-queue-num-queues = "2"
>       >       >       >       >       >       >       queue-0 = ""
>       >       >       >       >       >       >        tx-ring-ref = "1280"
>       >       >       >       >       >       >        rx-ring-ref = "1281"
>       >       >       >       >       >       >        event-channel-tx = "6"
>       >       >       >       >       >       >        event-channel-rx = "7"
>       >       >       >       >       >       >       queue-1 = ""
>       >       >       >       >       >       >        tx-ring-ref = "1282"
>       >       >       >       >       >       >        rx-ring-ref = "1283"
>       >       >       >       >       >       >        event-channel-tx = "8"
>       >       >       >       >       >       >        event-channel-rx = "9"
>       >       >       >       >       >       >       request-rx-copy = "1"
>       >       >       >       >       >       >       feature-rx-notify = "1"
>       >       >       >       >       >       >       feature-sg = "1"
>       >       >       >       >       >       >       feature-gso-tcpv4 = "1"
>       >       >       >       >       >       >       feature-gso-tcpv6 = "1"
>       >       >       >       >       >       >       feature-ipv6-csum-offload = "1"
>       >       >       >       >       >       >    control = ""
>       >       >       >       >       >       >     shutdown = ""
>       >       >       >       >       >       >     feature-poweroff = "1"
>       >       >       >       >       >       >     feature-reboot = "1"
>       >       >       >       >       >       >     feature-suspend = ""
>       >       >       >       >       >       >     sysrq = ""
>       >       >       >       >       >       >     platform-feature-multiprocessor-suspend = "1"
>       >       >       >       >       >       >     platform-feature-xs_reset_watches = "1"
>       >       >       >       >       >       >    data = ""
>       >       >       >       >       >       >    drivers = ""
>       >       >       >       >       >       >    feature = ""
>       >       >       >       >       >       >    attr = ""
>       >       >       >       >       >       >    error = ""
>       >       >       >       >       >       >    domid = "1"
>       >       >       >       >       >       >    store = ""
>       >       >       >       >       >       >     port = "1"
>       >       >       >       >       >       >     ring-ref = "233473"
>       >       >       >       >       >       >    console = ""
>       >       >       >       >       >       >     backend = "/local/domain/0/backend/console/1/0"
>       >       >       >       >       >       >     backend-id = "0"
>       >       >       >       >       >       >     limit = "1048576"
>       >       >       >       >       >       >     type = "xenconsoled"
>       >       >       >       >       >       >     output = "pty"
>       >       >       >       >       >       >     tty = "/dev/pts/1"
>       >       >       >       >       >       >     port = "2"
>       >       >       >       >       >       >     ring-ref = "233472"
>       >       >       >       >       >       >     vnc-listen = "127.0.0.1"
>       >       >       >       >       >       >     vnc-port = "5900"
>       >       >       >       >       >       >    image = ""
>       >       >       >       >       >       >     device-model-pid = "788"
>       >       >       >       >       >       > vm = ""
>       >       >       >       >       >       >  d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f = ""
>       >       >       >       >       >       >   name = "guest2"
>       >       >       >       >       >       >   uuid = "d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
>       >       >       >       >       >       >   start_time = "1520600274.27"
>       >       >       >       >       >       > libxl = ""
>       >       >       >       >       >       >  1 = ""
>       >       >       >       >       >       >   device = ""
>       >       >       >       >       >       >    vbd = ""
>       >       >       >       >       >       >     51712 = ""
>       >       >       >       >       >       >      frontend = "/local/domain/1/device/vbd/51712"
>       >       >       >       >       >       >      backend = "/local/domain/0/backend/vbd/1/51712"
>       >       >       >       >       >       >      params = "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
>       >       >       >       >       >       >      script = "/etc/xen/scripts/block"
>       >       >       >       >       >       >      frontend-id = "1"
>       >       >       >       >       >       >      online = "1"
>       >       >       >       >       >       >      removable = "0"
>       >       >       >       >       >       >      bootable = "1"
>       >       >       >       >       >       >      state = "1"
>       >       >       >       >       >       >      dev = "xvda"
>       >       >       >       >       >       >      type = "phy"
>       >       >       >       >       >       >      mode = "w"
>       >       >       >       >       >       >      device-type = "disk"
>       >       >       >       >       >       >      discard-enable = "1"
>       >       >       >       >       >       >    vfb = ""
>       >       >       >       >       >       >     0 = ""
>       >       >       >       >       >       >      frontend = "/local/domain/1/device/vfb/0"
>       >       >       >       >       >       >      backend = "/local/domain/0/backend/vfb/1/0"
>       >       >       >       >       >       >      frontend-id = "1"
>       >       >       >       >       >       >      online = "1"
>       >       >       >       >       >       >      state = "1"
>       >       >       >       >       >       >      vnc = "1"
>       >       >       >       >       >       >      vnclisten = "127.0.0.1"
>       >       >       >       >       >       >      vncdisplay = "0"
>       >       >       >       >       >       >      vncunused = "1"
>       >       >       >       >       >       >      sdl = "0"
>       >       >       >       >       >       >      opengl = "0"
>       >       >       >       >       >       >    vkbd = ""
>       >       >       >       >       >       >     0 = ""
>       >       >       >       >       >       >      frontend = "/local/domain/1/device/vkbd/0"
>       >       >       >       >       >       >      backend = "/local/domain/0/backend/vkbd/1/0"
>       >       >       >       >       >       >      frontend-id = "1"
>       >       >       >       >       >       >      online = "1"
>       >       >       >       >       >       >      state = "1"
>       >       >       >       >       >       >    console = ""
>       >       >       >       >       >       >     0 = ""
>       >       >       >       >       >       >      frontend = "/local/domain/1/console"
>       >       >       >       >       >       >      backend = "/local/domain/0/backend/console/1/0"
>       >       >       >       >       >       >      frontend-id = "1"
>       >       >       >       >       >       >      online = "1"
>       >       >       >       >       >       >      state = "1"
>       >       >       >       >       >       >      protocol = "vt100"
>       >       >       >       >       >       >    vif = ""
>       >       >       >       >       >       >     0 = ""
>       >       >       >       >       >       >      frontend = "/local/domain/1/device/vif/0"
>       >       >       >       >       >       >      backend = "/local/domain/0/backend/vif/1/0"
>       >       >       >       >       >       >      frontend-id = "1"
>       >       >       >       >       >       >      online = "1"
>       >       >       >       >       >       >      state = "1"
>       >       >       >       >       >       >      script = "/etc/xen/scripts/vif-bridge"
>       >       >       >       >       >       >      mac = "e4:5f:01:cd:7b:dd"
>       >       >       >       >       >       >      bridge = "xenbr0"
>       >       >       >       >       >       >      handle = "0"
>       >       >       >       >       >       >      type = "vif"
>       >       >       >       >       >       >      hotplug-status = ""
>       >       >       >       >       >       >   type = "pvh"
>       >       >       >       >       >       >   dm-version = "qemu_xen"
>       >       >       >       >       >       > root@raspberrypi4-64:~/guest1#
>       >       >       >       >       >       >
>       >       >       >       >       >       > Any input as per above? Looking forward to hearing from you.
>       >       >       >       >       >       >
>       >       >       >       >       >       > Regards,
>       >       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >       >
>       >       >       >       >       >       > On Wed, Oct 26, 2022 at 5:21 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       >       >       >       >       >       >       Hi Vipul,
>       >       >       >       >       >       >
>       >       >       >       >       >       >       If you look at the QEMU logs, it says:
>       >       >       >       >       >       >
>       >       >       >       >       >       >       VNC server running on 127.0.0.1:5900
>       >       >       >       >       >       >
>       >       >       >       >       >       >       That is the VNC server you need to connect to. So in theory:
>       >       >       >       >       >       >
>       >       >       >       >       >       >         vncviewer 127.0.0.1:5900
>       >       >       >       >       >       >
>       >       >       >       >       >       >       should work correctly.
>       >       >       >       >       >       >
>       >       >       >       >       >       >
>       >       >       >       >       >       >       If you have:
>       >       >       >       >       >       >
>       >       >       >       >       >       >         vfb = ["type=vnc"]
>       >       >       >       >       >       >
>       >       >       >       >       >       >       in your xl config file and you have "fbdev" in your Linux guest, it
>       >       >       >       >       >       >       should work.
>       >       >       >       >       >       >
>       >       >       >       >       >       >       If you connect to the VNC server but you get a black screen, it might be
>       >       >       >       >       >       >       a guest configuration issue. I would try with a simpler guest, text only
>       >       >       >       >       >       >       (no X11, no Wayland) and enable the fbdev console (fbcon). See
>       >       >       >       >       >       >       Documentation/fb/fbcon.rst in Linux. You should be able to see a
>       >       >       >       >       >       >       graphical console over VNC.
>       >       >       >       >       >       >
>       >       >       >       >       >       >       If that works, then you know that the fbdev kernel driver (xen-fbfront)
>       >       >       >       >       >       >       works correctly.
>       >       >       >       >       >       >
>       >       >       >       >       >       >       If it doesn't work, the output of "xenstore-ls" would be interesting.
>       >       >       >       >       >       >
>       >       >       >       >       >       >       Cheers,
>       >       >       >       >       >       >
>       >       >       >       >       >       >       Stefano
>       >       >       >       >       >       >
>       >       >       >       >       >       >
>       >       >       >       >       >       >       On Wed, 19 Oct 2022, Vipul Suneja wrote:
>       >       >       >       >       >       >       > Hi Stefano,
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > Thanks for the response!
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > I am following the same link you shared from the beginning. Tried the command
>       >       "vncviewer
>       >       >       localhost:0"
>       >       >       >       in DOM0
>       >       >       >       >       but
>       >       >       >       >       >       same
>       >       >       >       >       >       >       issue "Can't open
>       >       >       >       >       >       >       > display", below are the logs:
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > root@raspberrypi4-64:~# vncviewer localhost:0
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > TigerVNC Viewer 64-bit v1.11.0
>       >       >       >       >       >       >       > Built on: 2020-09-08 12:16
>       >       >       >       >       >       >       > Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst)
>       >       >       >       >       >       >       > See https://www.tigervnc.org for information on TigerVNC.
>       >       >       >       >       >       >       > Can't open display:
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > Below are the netstat logs, i couldn't see anything running at port 5900 or
>       5901:
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > root@raspberrypi4-64:~# netstat -tuwx
>       >       >       >       >       >       >       > Active Internet connections (w/o servers)
>       >       >       >       >       >       >       > Proto Recv-Q Send-Q Local Address           Foreign Address         State    
>        
>       >       >       >       >       >       >       > tcp        0    164 192.168.1.39:ssh        192.168.1.38:37472    
>        ESTABLISHED
>       >       >       >       >       >       >       > Active UNIX domain sockets (w/o servers)
>       >       >       >       >       >       >       > Proto RefCnt Flags       Type       State         I-Node Path
>       >       >       >       >       >       >       > unix  8      [ ]         DGRAM      CONNECTED      10565 /dev/log
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10891
>       /var/run/xenstored/socket
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13791
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10843
>       /var/run/xenstored/socket
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10573
>       /var/run/xenstored/socket
>       >       >       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14510
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13249
>       >       >       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      13887
>       >       >       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      10599
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14005
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13258
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13248
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14003
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10572
>       /var/run/xenstored/socket
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10786
>       /var/run/xenstored/socket
>       >       >       >       >       >       >       > unix  3      [ ]         DGRAM      CONNECTED      13186
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10864
>       /var/run/xenstored/socket
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10812
>       /var/run/xenstored/socket
>       >       >       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14083
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10813
>       /var/run/xenstored/socket
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14068
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13256
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10571
>       /var/run/xenstored/socket
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      10842
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      13985
>       >       >       >       >       >       >       > unix  3      [ ]         DGRAM      CONNECTED      13185
>       >       >       >       >       >       >       > unix  2      [ ]         STREAM     CONNECTED      13884
>       >       >       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      14528
>       >       >       >       >       >       >       > unix  2      [ ]         DGRAM      CONNECTED      13785
>       >       >       >       >       >       >       > unix  3      [ ]         STREAM     CONNECTED      14034
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > Attaching xen log files of /var/log/xen.
>       >       >       >       >       >       >       > I didn't get the role of QEMU here because as mentioned earlier, I am porting
>       in
>       >       raspberrypi
>       >       >       4B.
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > Regards,
>       >       >       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       > On Wed, Oct 19, 2022 at 12:43 AM Stefano Stabellini <sstabellini@kernel.org>
>       wrote:
>       >       >       >       >       >       >       >       It usually works the way it is described in the guide:
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >     
>       >       >       >       >       >       >     
>       >       >       >       >       >     
>       >       >       >       >     
>       >       >       >     
>       >       >     
>       >     
>              https://www.virtuatopia.com/index.php?title=Configuring_a_VNC_based_Graphical_Console_for_a_Xen_Paravirtualized_domainU_Guest
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       You don't need to install any VNC-related server software because it is
>       >       >       >       >       >       >       >       already provided by Xen (to be precise it is provided by QEMU working
>       >       >       >       >       >       >       >       together with Xen.)
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       You only need the vnc client in dom0 so that you can connect, but you
>       >       >       >       >       >       >       >       could also run the vnc client outside from another host. So basically
>       >       >       >       >       >       >       >       the following should work when executed in Dom0 after creating DomU:
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >         vncviewer localhost:0
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       Can you attach the Xen and QEMU logs (/var/log/xen/*)? And also use
>       >       >       >       >       >       >       >       netstat -taunp to check if there is anything running at port 5900 or
>       >       >       >       >       >       >       >       5901?
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       Cheers,
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       Stefano
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       On Tue, 18 Oct 2022, Vipul Suneja wrote:
>       >       >       >       >       >       >       >       > Hi Stefano,
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       > Thanks for the response!
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       > I could install tigerVNC, x11vnc & libvncserver in Dom0
>       xen-image-minimal but
>       >       only
>       >       >       manage to
>       >       >       >       install
>       >       >       >       >       >       >       libvncserver(couldn't
>       >       >       >       >       >       >       >       install tigervnc
>       >       >       >       >       >       >       >       > & x11vnc because of x11
>       >       >       >       >       >       >       >       > support missing, it's wayland) in DOMU custom graphical image. I
>       tried
>       >       running
>       >       >       vncviewer with
>       >       >       >       IP
>       >       >       >       >       address &
>       >       >       >       >       >       port
>       >       >       >       >       >       >       in dom0 to
>       >       >       >       >       >       >       >       access the domu
>       >       >       >       >       >       >       >       > graphical image display as per below commands.
>       >       >       >       >       >       >       >       >  
>       >       >       >       >       >       >       >       >  vncviewer 192.168.1.42:5901
>       >       >       >       >       >       >       >       >  
>       >       >       >       >       >       >       >       >  But it showing can't open display, below are the logs:
>       >       >       >       >       >       >       >       >  
>       >       >       >       >       >       >       >       > root@raspberrypi4-64:~/guest1# vncviewer 192.168.1.42:5901
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       > TigerVNC Viewer 64-bit v1.11.0
>       >       >       >       >       >       >       >       > Built on: 2020-09-08 12:16
>       >       >       >       >       >       >       >       > Copyright (C) 1999-2020 TigerVNC Team and many others (see
>       README.rst)
>       >       >       >       >       >       >       >       > See https://www.tigervnc.org for information on TigerVNC.
>       >       >       >       >       >       >       >       > Can't open display:
>       >       >       >       >       >       >       >       > root@raspberrypi4-64:~/guest1#
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       > I am not exactly sure what the issue is but I thought only
>       libvncserver in
>       >       DOMU could
>       >       >       work to
>       >       >       >       get
>       >       >       >       >       access but
>       >       >       >       >       >       it
>       >       >       >       >       >       >       did not
>       >       >       >       >       >       >       >       work. 
>       >       >       >       >       >       >       >       > If TigerVNC is the issue here then is there any other VNC source
>       which could
>       >       be
>       >       >       installed for
>       >       >       >       both
>       >       >       >       >       x11 &
>       >       >       >       >       >       >       wayland supported
>       >       >       >       >       >       >       >       images?
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       > Regards,
>       >       >       >       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       > On Tue, Oct 18, 2022 at 2:40 AM Stefano Stabellini
>       <sstabellini@kernel.org>
>       >       wrote:
>       >       >       >       >       >       >       >       >       VNC is typically easier to setup, because SDL needs extra
>       libraries at
>       >       >       >       >       >       >       >       >       build time and runtime. If QEMU is built without SDL support it
>       won't
>       >       >       >       >       >       >       >       >       start when you ask for SDL.
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >       VNC should work with both x11 and wayland in your domU. It
>       doesn't work
>       >       >       >       >       >       >       >       >       at the x11 level, it exposes a special fbdev device in your
>       domU that
>       >       >       >       >       >       >       >       >       should work with:
>       >       >       >       >       >       >       >       >       - a graphical console in Linux domU
>       >       >       >       >       >       >       >       >       - x11
>       >       >       >       >       >       >       >       >       - wayland (but I haven't tested this so I am not 100% sure
>       about it)
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >       When you say "it doesn't work", what do you mean? Do you get a
>       black
>       >       >       >       >       >       >       >       >       window?
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >       You need CONFIG_XEN_FBDEV_FRONTEND in Linux domU
>       >       >       >       >       >       >       >       >       (drivers/video/fbdev/xen-fbfront.c). I would try to get a
>       graphical
>       >       text
>       >       >       >       >       >       >       >       >       console up and running in your domU before attempting
>       x11/wayland.
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >       Cheers,
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >       Stefano
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >       On Mon, 17 Oct 2022, Vipul Suneja wrote:
>       >       >       >       >       >       >       >       >       > Hi,
>       >       >       >       >       >       >       >       >       > Thanks!
>       >       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >       > I have ported xen minimal image as DOM0 & custom wayland GUI
>       based
>       >       image as
>       >       >       DOMU in
>       >       >       >       raspberry
>       >       >       >       >       pi4B. I
>       >       >       >       >       >       >       am trying to
>       >       >       >       >       >       >       >       make GUI
>       >       >       >       >       >       >       >       >       display up
>       >       >       >       >       >       >       >       >       > for guest machine. I tried using sdl, included below line in
>       >       guest.conf file
>       >       >       >       >       >       >       >       >       > vfb= [ 'sdl=1' ]
>       >       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >       > But it is throwing below error:
>       >       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >       > root@raspberrypi4-64:~/guest1# xl create -c guest1.cfg
>       >       >       >       >       >       >       >       >       > Parsing config from guest1.cfg
>       >       >       >       >       >       >       >       >       > libxl: error: libxl_qmp.c:1400:qmp_ev_fd_callback: Domain
>       3:error on
>       >       QMP
>       >       >       socket:
>       >       >       >       Connection
>       >       >       >       >       reset by
>       >       >       >       >       >       >       peer
>       >       >       >       >       >       >       >       >       > libxl: error: libxl_qmp.c:1439:qmp_ev_fd_callback: Domain
>       3:Error
>       >       happened
>       >       >       with the
>       >       >       >       QMP
>       >       >       >       >       connection to
>       >       >       >       >       >       >       QEMU
>       >       >       >       >       >       >       >       >       > libxl: error: libxl_dm.c:3351:device_model_postconfig_done:
>       Domain
>       >       3:Post DM
>       >       >       startup
>       >       >       >       configs
>       >       >       >       >       failed,
>       >       >       >       >       >       >       rc=-26
>       >       >       >       >       >       >       >       >       > libxl: error: libxl_create.c:1867:domcreate_devmodel_started:
>       Domain
>       >       3:device
>       >       >       model
>       >       >       >       did not
>       >       >       >       >       start:
>       >       >       >       >       >       -26
>       >       >       >       >       >       >       >       >       > libxl: error: libxl_aoutils.c:646:libxl__kill_xs_path: Device
>       Model
>       >       already
>       >       >       exited
>       >       >       >       >       >       >       >       >       > libxl: error: libxl_domain.c:1183:libxl__destroy_domid:
>       Domain
>       >       3:Non-existant
>       >       >       domain
>       >       >       >       >       >       >       >       >       > libxl: error: libxl_domain.c:1137:domain_destroy_callback:
>       Domain
>       >       3:Unable to
>       >       >       destroy
>       >       >       >       guest
>       >       >       >       >       >       >       >       >       > libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain
>       >       3:Destruction of
>       >       >       domain
>       >       >       >       failed
>       >       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >       > Another way is VNC, i could install tigervnc in DOM0 but same
>       i
>       >       couldn't in
>       >       >       guest
>       >       >       >       machine
>       >       >       >       >       because it
>       >       >       >       >       >       >       doesn't support
>       >       >       >       >       >       >       >       >       x11(supports wayland
>       >       >       >       >       >       >       >       >       > only). I am completely blocked here, Need your support to
>       enable the
>       >       display
>       >       >       up.
>       >       >       >       >       >       >       >       >       > Any alternative of VNC which could work in both x11 & wayland
>       >       supported
>       >       >       images?
>       >       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >       > Any input on VNC, SDL or any other way to proceed on this?
>       Looking
>       >       forward to
>       >       >       hearing
>       >       >       >       from
>       >       >       >       >       you.
>       >       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >       > Regards,
>       >       >       >       >       >       >       >       >       > Vipul Kumar
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >       >
>       >       >       >       >       >       >
>       >       >       >       >       >       >
>       >       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >       >
>       >       >       >       >
>       >       >       >       >
>       >       >       >       >
>       >       >       >
>       >       >       >
>       >       >       >
>       >       >
>       >       >
>       >       >
>       >
>       >
>       >
> 
> 
> 
--8323329-1586963452-1671751428=:4079--


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 03:52:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 03:52:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468781.727961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Z6r-0004mU-VV; Fri, 23 Dec 2022 03:52:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468781.727961; Fri, 23 Dec 2022 03:52:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8Z6r-0004mA-Pj; Fri, 23 Dec 2022 03:52:37 +0000
Received: by outflank-mailman (input) for mailman id 468781;
 Fri, 23 Dec 2022 03:52:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Z6r-0004m0-4Z; Fri, 23 Dec 2022 03:52:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Z6r-0008OC-2e; Fri, 23 Dec 2022 03:52:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Z6q-0006AW-Ny; Fri, 23 Dec 2022 03:52:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8Z6q-0003v1-NX; Fri, 23 Dec 2022 03:52:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ne+O0BOOBWaqpwsSuynfD2hYYPC3aeNC+a9P6V2VjCI=; b=5yvNY3qe2KxhHsfll8uYSHkrmr
	uLxdvI7gSUpuavWsLv+pmqRWNF+jXSn+S5zIhYTWuBmVOKDsvTuYvbhQqxN6J6lGQ4OOnNjldnXa/
	BdYkyYwWro2HMak1iX6XhaiiHvERj4OrLx2aLBiH+whoQMNdMIS036ycsZg5Y9vChtxw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175451-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175451: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=9d2f6060fe4c3b49d0cdc1dce1c99296f33379c8
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 23 Dec 2022 03:52:36 +0000

flight 175451 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175451/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                9d2f6060fe4c3b49d0cdc1dce1c99296f33379c8
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   76 days
Failing since        173470  2022-10-08 06:21:34 Z   75 days  152 attempts
Testing same since   175451  2022-12-22 06:04:08 Z    0 days    1 attempts

------------------------------------------------------------
3222 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 488398 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 05:12:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 05:12:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468794.727976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8aLa-0004rI-Oy; Fri, 23 Dec 2022 05:11:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468794.727976; Fri, 23 Dec 2022 05:11:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8aLa-0004rB-Lz; Fri, 23 Dec 2022 05:11:54 +0000
Received: by outflank-mailman (input) for mailman id 468794;
 Fri, 23 Dec 2022 05:11:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8aLZ-0004r1-97; Fri, 23 Dec 2022 05:11:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8aLZ-0002Cc-6p; Fri, 23 Dec 2022 05:11:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8aLY-0008Dm-ON; Fri, 23 Dec 2022 05:11:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8aLY-0004St-Ns; Fri, 23 Dec 2022 05:11:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=otj0dU9xoOdWh1thF9nWtBotsXQ9SToCFdar0BCa7pM=; b=ByxWXRxH7ovyQdpFgQgP25aQVE
	7qQ7PGxpXJfG3BvACGEZ5vLRG+zhEZZB4CDG1ZWuaAhX2IfE9pur6PlloYpHHn2Ahqn2vaTHqHzwI
	DFrhitWj9m+8zLNyyEjkAUt9fLKW7mT+TrYBj7tCt/4mVms3g+wNIqeiheTVN7cISy2Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175453-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.13-testing test] 175453: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.13-testing:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    xen-4.13-testing:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.13-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=708e83f0e7d1e32295fee58c71c1e972d4e61f56
X-Osstest-Versions-That:
    xen=1151d260d7a0186978b80b708fcb712eb1470f49
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 23 Dec 2022 05:11:52 +0000

flight 175453 xen-4.13-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175453/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175440 pass in 175453
 test-amd64-i386-pair         11 xen-install/dst_host       fail pass in 175440
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 175440

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 174675
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 174675
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 174675
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 174675
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 174675
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 174675
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 174675
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 174675
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 174675
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 174675
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 174675
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 174675
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  708e83f0e7d1e32295fee58c71c1e972d4e61f56
baseline version:
 xen                  1151d260d7a0186978b80b708fcb712eb1470f49

Last test of basis   174675  2022-11-08 18:06:48 Z   44 days
Testing same since   175402  2022-12-19 08:37:45 Z    3 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   1151d260d7..708e83f0e7  708e83f0e7d1e32295fee58c71c1e972d4e61f56 -> stable-4.13


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 09:03:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 09:03:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468827.728003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8dxL-0002aK-Q3; Fri, 23 Dec 2022 09:03:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468827.728003; Fri, 23 Dec 2022 09:03:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8dxL-0002aD-MV; Fri, 23 Dec 2022 09:03:07 +0000
Received: by outflank-mailman (input) for mailman id 468827;
 Fri, 23 Dec 2022 09:03:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8dxK-0002a3-Cg; Fri, 23 Dec 2022 09:03:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8dxK-0007yx-92; Fri, 23 Dec 2022 09:03:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8dxJ-0005z2-Oy; Fri, 23 Dec 2022 09:03:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8dxJ-0001Jh-OV; Fri, 23 Dec 2022 09:03:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ozRBXD835nVu4dtuZGOOqy71V8EqCWZk6NSp3qibZGw=; b=IXfJpjLryi8CBOAJYjBbY5fPZ7
	VKZ1BPKDCfkHwelZ2d9/ZUEKR+LML72ToQKshWseayEiaQNLZLTTYsq0H7FH3pLlu76bBvN9bdpbh
	hiqKxXFH67JF4R1eb+wVDQyTdHxXo7gvBQhWQfHL1v2dGgHnkEVUiWocqIngjxeBFTMI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175454-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 175454: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=65bf12135f618614bbf44626fba1c20ca8d1a127
X-Osstest-Versions-That:
    xen=03a43f548e9095448db72c829db575097910f84f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 23 Dec 2022 09:03:05 +0000

flight 175454 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175454/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175155
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175155
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175155
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175155
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175155
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175155
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175155
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175155
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175155
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175155
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  65bf12135f618614bbf44626fba1c20ca8d1a127
baseline version:
 xen                  03a43f548e9095448db72c829db575097910f84f

Last test of basis   175155  2022-12-12 16:08:43 Z   10 days
Failing since        175403  2022-12-19 08:37:45 Z    4 days    5 attempts
Testing same since   175427  2022-12-20 15:35:42 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Neowutran <xen@neowutran.ovh>
  Per Bilse <per.bilse@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   03a43f548e..65bf12135f  65bf12135f618614bbf44626fba1c20ca8d1a127 -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 09:29:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 09:29:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468838.728014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8eMX-00055W-Pd; Fri, 23 Dec 2022 09:29:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468838.728014; Fri, 23 Dec 2022 09:29:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8eMX-00055P-Mr; Fri, 23 Dec 2022 09:29:09 +0000
Received: by outflank-mailman (input) for mailman id 468838;
 Fri, 23 Dec 2022 09:29:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p8eMW-00055J-4b
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 09:29:08 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8eMS-000069-K9; Fri, 23 Dec 2022 09:29:04 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.3.230]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8eMS-0003wb-BG; Fri, 23 Dec 2022 09:29:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=XZqbrR+O9WOeXjntOUCZ/6Dw94oqaco4EzP72D90lGw=; b=C7EKjftPY2vm4yobRzG+mORITV
	VCfRN6BWLebrHRvlsIOnj+ewKmuP+3q27gji38LC0xvVxggXHnvUl1BReSRMXCepweONpaU2Sankq
	EAudl0njiT/dpFmavJo4YHMfDWq4Yt2+S2NQR8+7Rt5Fbz0mCeC938sIBKcZjtb+omkk=;
Message-ID: <434e701f-6114-121d-cb1c-929abaeffc74@xen.org>
Date: Fri, 23 Dec 2022 09:29:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.1
Subject: Re: [PATCH 01/22] xen/common: page_alloc: Re-order includes
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <jgrall@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-2-julien@xen.org>
 <c59193e7-4fee-6435-4698-385363df1bab@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <c59193e7-4fee-6435-4698-385363df1bab@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 16/12/2022 12:03, Jan Beulich wrote:
> On 16.12.2022 12:48, Julien Grall wrote:
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Order the includes with the xen headers first, then asm headers and
>> last public headers. Within each category, they are sorted alphabetically.
>>
>> Note that the includes in protected by CONFIG_X86 hasn't been sorted
>> to avoid adding multiple #ifdef.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks!

> 
>> ----
>>
>>      I am open to add sort the includes protected by CONFIG_X86
>>      and add multiple #ifdef if this is preferred.
> 
> I, for one, prefer it the way you've done it.

Ok. I have committed the patch as-is .

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 09:40:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 09:40:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468845.728025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8eXS-0007MQ-PJ; Fri, 23 Dec 2022 09:40:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468845.728025; Fri, 23 Dec 2022 09:40:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8eXS-0007MJ-Lf; Fri, 23 Dec 2022 09:40:26 +0000
Received: by outflank-mailman (input) for mailman id 468845;
 Fri, 23 Dec 2022 09:40:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8eXQ-0007M9-T8; Fri, 23 Dec 2022 09:40:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8eXQ-0000Hz-Qd; Fri, 23 Dec 2022 09:40:24 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8eXQ-0006zI-9W; Fri, 23 Dec 2022 09:40:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8eXQ-0004RC-91; Fri, 23 Dec 2022 09:40:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=p5v3RUCQKIQP+JzNMZXPGH7Igcq5nlR+JKf8KS/48X4=; b=mgihKBMmdbnBoDQqorLlGY4L/m
	faRd/8H/itudpJUC6MBTLEzcXFldWnrFqe6BYpWaS+YX2kRROIiTCwPmMOSJXLnPJH4zaB4czaGM8
	qOQBQltWXlshKHoSW/9dsPvEQ3akme8L/w393ugQOH29UsBWgGFFHcvLvcHa/IP4E8rE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175457-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 175457: tolerable FAIL - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    qemuu=222059a0fccf4af3be776fe35a5ea2d6a68f9a0b
X-Osstest-Versions-That:
    qemuu=8540a1f69578afb3b37866b1ce5bec46a9f6efbc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 23 Dec 2022 09:40:24 +0000

flight 175457 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175457/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175443
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175443
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175443
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175443
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175443
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175443
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175443
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175443
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 qemuu                222059a0fccf4af3be776fe35a5ea2d6a68f9a0b
baseline version:
 qemuu                8540a1f69578afb3b37866b1ce5bec46a9f6efbc

Last test of basis   175443  2022-12-21 12:28:35 Z    1 days
Testing same since   175457  2022-12-22 11:29:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Bennée <alex.bennee@linaro.org>
  Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
  Ani Sinha <ani@anisinha.ca>
  Bernhard Beschow <shentey@gmail.com>
  Brad Smith <brad@comstyle.com>
  Cornelia Huck <cohuck@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Igor Mammedov <imammedo@redhat.com>
  Ira Weiny <ira.weiny@intel.com>
  Jason Wang <jasonwang@redhat.com>
  Jason Wang <jasowang@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Khem Raj <raj.khem@gmail.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Lei Yang <leiyang@redhat.com>
  Longpeng <longpeng2@huawei.com>
  Marcel Holtmann <marcel@holtmann.org>
  Michael S. Tsirkin <mst@redhat.com>
  Nicholas Miehlbradt <nicholas@linux.ibm.com>
  Parav Pandit <parav@nvidia.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <a class="moz-txt-link-rfc2396E" href="mailto:philmd@linaro.org">&lt;philmd@linaro.org&gt;</a>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>
  Warner Losh <imp@bsdimp.com>
  Yajun Wu <yajunw@nvidia.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   8540a1f695..222059a0fc  222059a0fccf4af3be776fe35a5ea2d6a68f9a0b -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 09:51:50 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 09:51:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468856.728036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8eiP-0000VY-0j; Fri, 23 Dec 2022 09:51:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468856.728036; Fri, 23 Dec 2022 09:51:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8eiO-0000VR-TC; Fri, 23 Dec 2022 09:51:44 +0000
Received: by outflank-mailman (input) for mailman id 468856;
 Fri, 23 Dec 2022 09:51:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p8eiO-0000VL-4F
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 09:51:44 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8eiJ-0000eH-6L; Fri, 23 Dec 2022 09:51:39 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.3.230]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8eiI-0004me-V2; Fri, 23 Dec 2022 09:51:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=i9aPbCSwORvQJ98S0zvt9Pe84hwz4CqiEDfLULfZUlU=; b=sp9gk/QYhvBmLthKs4hYeVIhU3
	w6hf5AGl2KxbT5MQdRlcQnyqJT6sCy7Y85wuSahW9eVR5dAawHdr6vUAFI8UXRQVLj8PZTTZTIezn
	oTCJSEZR2pUp6XB7Dhkf2zKsvjwbssaJSV3XVwz9dWgkMxm5BDAE86rZ610JiIt7x99U=;
Message-ID: <9b7d8ea3-110a-44e0-7b06-c27a1278eb17@xen.org>
Date: Fri, 23 Dec 2022 09:51:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.1
Subject: Re: [PATCH 02/22] x86/setup: move vm_init() before acpi calls
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 David Woodhouse <dwmw2@amazon.com>, Hongyan Xia <hongyxia@amazon.com>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-3-julien@xen.org>
 <92d82899-4e74-8638-4a60-09104ba16c9a@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <92d82899-4e74-8638-4a60-09104ba16c9a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 20/12/2022 15:08, Jan Beulich wrote:
> On 16.12.2022 12:48, Julien Grall wrote:
>> From: Wei Liu <wei.liu2@citrix.com>
>>
>> After the direct map removal, pages from the boot allocator are not
>> mapped at all in the direct map. Although we have map_domain_page, they
> 
> Nit: "will not be mapped" or "are not going to be mapped", or else this
> sounds like there's a bug somewhere.
> 
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -870,6 +870,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>>       unsigned long eb_start, eb_end;
>>       bool acpi_boot_table_init_done = false, relocated = false;
>>       int ret;
>> +    bool vm_init_done = false;
> 
> Can this please be grouped with the other bool-s (even visible in context)?

This can't fit on the same line. So I went with:

bool acpi_boot_table_init_done = false, relocated = false;
bool vm_init_done = false;

I prefer this over the below:

bool acpi_boot_table_init_done = false, relocated false,
      vm_init_done = false;

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 09:52:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 09:52:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468857.728047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8eij-0000tx-7V; Fri, 23 Dec 2022 09:52:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468857.728047; Fri, 23 Dec 2022 09:52:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8eij-0000tq-4b; Fri, 23 Dec 2022 09:52:05 +0000
Received: by outflank-mailman (input) for mailman id 468857;
 Fri, 23 Dec 2022 09:52:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p8eii-0000tP-AO
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 09:52:04 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8eic-0000el-K3; Fri, 23 Dec 2022 09:51:58 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.3.230]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8eic-0004nA-E2; Fri, 23 Dec 2022 09:51:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=WmDURkBldAcLXhd12WAKRaQ+0GKb6icmtoJd/nLbCI8=; b=hAg8/IFLqTADXLmOQkCIuo9TuV
	Z5NJ1TNSKiTPjPZIO2a/weaDsWl92soEbhIZGyxIBD9ffxUhKD3lUqmYBllnHrO0fISeEa28NajAs
	9RCC+hQvruXttyr1GhshKjrbJamFJlSxjBel8DxBMPazv8d2/OiPfvFi92N7jn0LgYFk=;
Message-ID: <53bf8fd2-24f6-7be3-934d-58f245a72c82@xen.org>
Date: Fri, 23 Dec 2022 09:51:56 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.1
Subject: Re: [PATCH 02/22] x86/setup: move vm_init() before acpi calls
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu2@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 David Woodhouse <dwmw2@amazon.com>, Hongyan Xia <hongyxia@amazon.com>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-3-julien@xen.org>
 <92d82899-4e74-8638-4a60-09104ba16c9a@suse.com>
 <3c641a2b-01ef-335f-59e8-b65b2108c9eb@xen.org>
 <d2edcb99-7b1f-a9b4-67b4-8818dea9dbe4@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <d2edcb99-7b1f-a9b4-67b4-8818dea9dbe4@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 21/12/2022 10:22, Jan Beulich wrote:
> On 21.12.2022 11:18, Julien Grall wrote:
>> On 20/12/2022 15:08, Jan Beulich wrote:
>>> On 16.12.2022 12:48, Julien Grall wrote:
>>>> --- a/xen/common/vmap.c
>>>> +++ b/xen/common/vmap.c
>>>> @@ -34,9 +34,20 @@ void __init vm_init_type(enum vmap_region type, void *start, void *end)
>>>>    
>>>>        for ( i = 0, va = (unsigned long)vm_bitmap(type); i < nr; ++i, va += PAGE_SIZE )
>>>>        {
>>>> -        struct page_info *pg = alloc_domheap_page(NULL, 0);
>>>> +        mfn_t mfn;
>>>> +        int rc;
>>>>    
>>>> -        map_pages_to_xen(va, page_to_mfn(pg), 1, PAGE_HYPERVISOR);
>>>> +        if ( system_state == SYS_STATE_early_boot )
>>>> +            mfn = alloc_boot_pages(1, 1);
>>>> +        else
>>>> +        {
>>>> +            struct page_info *pg = alloc_domheap_page(NULL, 0);
>>>> +
>>>> +            BUG_ON(!pg);
>>>> +            mfn = page_to_mfn(pg);
>>>> +        }
>>>> +        rc = map_pages_to_xen(va, mfn, 1, PAGE_HYPERVISOR);
>>>> +        BUG_ON(rc);
>>>
>>> The adding of a return value check is unrelated and not overly useful:
>>>
>>>>            clear_page((void *)va);
>>>
>>> This will fault anyway if the mapping attempt failed.
>>
>> Not always. At least on Arm, map_pages_to_xen() could fail if the VA was
>> mapped to another physical address.
> 
> Oh, okay.
> 
>> This seems unlikely, yet I think that relying on clear_page() to always
>> fail when map_pages_to_xen() return an error is bogus.
> 
> Fair enough, but then please at least call out the change (and the reason)
> in the description. Even better might be to make this a separate change,
> but I wouldn't insist (quite likely I wouldn't have made this a separate
> change either).

I have moved the change in a separate patch.

Cheers,

> 
> Jan

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 10:02:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 10:02:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468872.728058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8esX-0002d2-5D; Fri, 23 Dec 2022 10:02:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468872.728058; Fri, 23 Dec 2022 10:02:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8esX-0002cv-1w; Fri, 23 Dec 2022 10:02:13 +0000
Received: by outflank-mailman (input) for mailman id 468872;
 Fri, 23 Dec 2022 10:02:11 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jPxz=4V=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1p8esV-0002cp-Fl
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 10:02:11 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dc888965-82a8-11ed-91b6-6bf2151ebd3b;
 Fri, 23 Dec 2022 11:02:09 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by DS0PR12MB7536.namprd12.prod.outlook.com (2603:10b6:8:11c::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Fri, 23 Dec
 2022 10:02:06 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::9856:da7:1ff1:d55c%5]) with mapi id 15.20.5944.013; Fri, 23 Dec 2022
 10:02:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc888965-82a8-11ed-91b6-6bf2151ebd3b
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oW59o+MEk2FZBvK0FXKovR5QjJTMLIxgl1bfuCvC3atNbhJID9N/brO1AeuTAscjyhN7g17Eiyo2iJGY7mxjyv6sHmL0AuY7Hh5XAg4XATMKcyN4hN+Rw4T87KxI6GosNvEPM8fyN+y4n5kKvm5PXDVQIpysIfoeNpDTWZWTJlnLWjDxio7hDqu+mqgB234AuvrA/ikSiu8ewtRbFwghqs+ZdqZ/OQBoN4sOsuNF5x7U3NqHliL65jbn5g5qbounbBj8zqY/4SMmySEoqGI9xtSLiS3NQGLzXusDlp70pj6xs1xkqFjRXpCI72av3DW9DRAuCMY2c9DEYlQbPpl7Bw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jnFFRmEi5FA9iOd1fQdkBDOYWvByRObDw5lwSWuvvaA=;
 b=g8c06IH5X2RPqwb+fe5EmsN2GGANIYlgMj52zjR3xfXLTiYShxQmjooMyuJ3ZHlm6ooyJzxPmpl34wfrfbGPdzQw6hSRobeetQdCWuXVd4pBY4peQkcIBxir0FTvfieq0LBkXhoX8EkFtddZ+eQnKOEogF9Oye1jP/qC1Wx6Bsi/SCcA0es60kzJ+nJoFaOLMnCItsq2hxulWIstbyW07Crl0/3/5U+FhaoiyIOaGcTPcYD3K5RychPX7oel5aRAXijB1e4PaQrooH2ngRmwECPbd8p0SuIom41nd718eeWXNwMz/2Tzkr5gahLu0LDdLBHxanOIbwjixNwH0RLn7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass
 header.d=amd.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jnFFRmEi5FA9iOd1fQdkBDOYWvByRObDw5lwSWuvvaA=;
 b=mE/2eRZhWt0+CatDJikU98zlw5VgCyjBjoStq/qbpF6kdSyIfraIN+yHNmOJ+Zfn3k1P7NAxbrVpmAyYbypN3pAk3XzBNBpVYfPN+OvOfCS6eCEDliC2dEnCOjAmer0Nca9jKRg91SS/LCnKb52QOepSLe5CV7TqjdyhHb01pmA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <5bc9435e-aee9-006c-a35a-ee9c7f946f91@amd.com>
Date: Fri, 23 Dec 2022 10:01:54 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.1
Subject: Re: [XEN v1 2/9] xen/arm: Define translate_dt_address_size() for the
 translation between u64 and paddr_t
To: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Cc: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-3-ayan.kumar.halder@amd.com>
 <b58c6548-9e70-0ed9-07a9-e35084620c36@xen.org>
 <alpine.DEB.2.22.394.2212161643400.315094@ubuntu-linux-20-04-desktop>
 <74786a57-d99a-6cfe-f475-df11c0d93afa@xen.org>
 <alpine.DEB.2.22.394.2212221520020.4079@ubuntu-linux-20-04-desktop>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2212221520020.4079@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0438.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:e::18) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|DS0PR12MB7536:EE_
X-MS-Office365-Filtering-Correlation-Id: aa9bba83-55bf-4951-15e1-08dae4ccbbcf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GB03CzcQ9bfT797/qLnsMOzhjJwKrHMjz3sl86xQ/bU/q87laloqqxgWTARXNgNKp+beWV+upyXu0LxrZ0I7DxTREu6b1Rw1ZkkMhY6kG/qzvbvRvh3dnX7Dkt1XOfmiPzSTbAb5dUpgJfN2y6wy/Tt7I/5Ce2uA/LIP2TnqQvHv8CSyS7nzZW8obh35J7YG31BZGFOkxArxqWNW9fPG10VOBYZLSxe9gIXw3AZJJpr7gXW9JV6rCETVyqwqIFkaOkOt+1+SD8nG169xhFjaZDTwv4kwScLI0hGDg4ZS1uDrTXbgQPVIwaqNYL1qxIs6R8ouDj7Mj8eq6jCSgGMh5rGdZkMPM5kzd2SW2OHAxkBxxKCrxRbvoCoBJMwV84v8kFvH+KTb9VAmNjB52lynIvoDoQOTUeiT5SbdNnGhrjwMqDl2V2mnzI97AKM9a7eT0L3Uvqwf+GP/ZfPP4ojg9JTaQxZr3n4AUyPtolKpOHFTIyc4YSu6BGMR9Lj2H0/PTGSZxRzQUe8gNNSLj3bS9djfVwHlCF3KYUzDP3/FFSVTxziImVLXvHuuw2i5BE5+pl1G2f2RWBgciFJ+GywpG1YWl79ZNppJuaAO7NtGdiX1g0oBvJNBPbCmEQ9e85lhU5ddyx4fjXpSnaZiQcUdZD4m6drlBl7T+MsfSXCNwSekYbqsFYZlbeFOsO11sqdU326K/1Jez9pXtW8NVQ+1fcMK6oI/TF5RC5iQHpzWUZc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2621.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(346002)(366004)(396003)(136003)(39860400002)(451199015)(8676002)(31686004)(5660300002)(110136005)(2906002)(4326008)(66556008)(66946007)(66476007)(6512007)(6486002)(478600001)(53546011)(41300700001)(26005)(6506007)(6666004)(186003)(8936002)(31696002)(83380400001)(2616005)(36756003)(316002)(66899015)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UDFTa0lXM3RBZEJqRlFLZ1hOU2E0amEyN3J5aGZ2eStkYnpGY3BlZnZ5THpT?=
 =?utf-8?B?V2ZpTlNLSWx1aERzSkpybmsvdnp6SFlNUWpEN2xHNFh4VmVyUHlNQ0dIVzlT?=
 =?utf-8?B?UERJcHBXb0k2bUhyVmpvcHdjNWxTZks0aWRmQk92WlNjbUZjeWFTRXpTTjFD?=
 =?utf-8?B?QU90MjcyT0hhYzFnZnc3TG9kTW5GVTJxbS9oWDFkWW9UMmVNREJ1cmVGT2gx?=
 =?utf-8?B?OEpDZEdVKzVOd2tiQmVvOEtzU2g5bUlYSytFNTR5R1ZFeHczKzNUbDRSZGNj?=
 =?utf-8?B?QzVUUlNTU1V6N2xtb0g3enpkdWtpalE5REdTdVJTVHBuT2tUd1gzQzFiWjY2?=
 =?utf-8?B?ZlRyelpDVTVERW1XM0NqaWtEYXdTcW83T1B5Tmx2cFlubk96Z0hldHVIY2hx?=
 =?utf-8?B?OVZQMGlXbDlqRHNMd0dtVUR1anVoaTJiZlBrMjMxVlg2LzRqYU52OU4yQyt5?=
 =?utf-8?B?OCtMRUFjTW9jZnpPUFFwNUkweFd3bGQzWjdRTnZTOFVYOVZXUlYwUnJHZGRZ?=
 =?utf-8?B?aE9FUDlpdGp1Z2Jqc2FCYkhQN25RSDFUdjU1VUZYT2tPczdIcGFDTU8yUWZz?=
 =?utf-8?B?NkJKRVQ1amJzd25BbUcyWE1ZY2cwR2pwZXUzMTVmWGZDNlozOTU2MnEwdWVB?=
 =?utf-8?B?dS8vcGhjTk8vV0NTQTd3THdwMlREbTc4c1ZScHQrN1BYVXRkYjVpQ01jNmhX?=
 =?utf-8?B?NlYyNkJHbEs4bjR0RVNHenhwVTB6NThlbFFOVjczTUtMVGZLYmtrcFppVmNC?=
 =?utf-8?B?ajhhcm1qV2wwTlN5amsra1hOclVVVGhMQStlTlpJWGFjYzZRSUU1emdHNWxG?=
 =?utf-8?B?WFpQYWIzN2ZEbUtyMyt4Zmw2OTNjL0tHc1cwM1FtU0dWcHNLRTJsR29JNHlr?=
 =?utf-8?B?QkxNZHYwOU9kRmpoU215enhrN2RHOHVLa0tGVVlQQW1USHE4cks4ak4xeVN5?=
 =?utf-8?B?cXNENUcyQlVpeWhjWklXNjFHMGo4eHQ2LzY5WjhQcXo5TVdxMlltR0EyMWhE?=
 =?utf-8?B?clB3UnJkMXg2eDNQTDZxZmFSU0E1RXdOczJtaVBTSXN4Yzkwc2ZnM3M4UHZ3?=
 =?utf-8?B?cXNyMmtDM0dTTm80K2hBL2JYaEhkdjl1SWpnMnh3blNlbkc5NDFPaUlKZnhZ?=
 =?utf-8?B?c3gxZ1phOVA2aStPZlI1ZER2b0hTTDU4K3EySG1NS1dIMGlNZDlGQ2RUcWpJ?=
 =?utf-8?B?OGtid3RxRkFOTHJDZ3hDbUE0d2ZiVHRLVGN2SHFtaXJxczFJVmQ0RC9Bd2xt?=
 =?utf-8?B?b0NEK0ZiUjBoREcyMnlpRGc0emx0L2FOejhDTXptcThvbUhiTDFpNFZEdG1C?=
 =?utf-8?B?Zmt0SDlkUVhGR1FhczE2ODZYc0VqUUVtcnBsaFBKKzJKdkRpQVVzaDJvc2hN?=
 =?utf-8?B?TG9CTTdPZHE2UndYTW1PMWljL01rL2o3dnQ0UXhNOURHMWk4cGw4eCtjRTRy?=
 =?utf-8?B?YnhwNHdNQ1FiZ01lN1ZXZWdyTmZlT1B6eUd5RTVhUkRFSkw1NUZZT1JyVHZP?=
 =?utf-8?B?M1pPcUZDeDF0VmZkMmk2RkY5bkNVRDRRZ29uaERNSzQvcXk5aCtGQ1lTUXdN?=
 =?utf-8?B?eEhZNEZONStkUmtLeDdTU2R4Y0paY3FCa2FtSjlMeG5jenY0UUJBMWpwTElE?=
 =?utf-8?B?bmFEbjFoaG5yVmpvcWcxWEtrZ0FBVkNhdmZSV0grNjQ4ZUx0N2xIK2ZMcjRG?=
 =?utf-8?B?NlNOejNSeVQ4MjBoajY1aExIMnBjQTkrVVdtTmJSMlV4NTlYSEZlV05KbFdX?=
 =?utf-8?B?a2s5N0hyS1cyVXpreTJxaG9xa3pkTEdUOHVOeVBNSHRrd3A0UllwUGRqTHpm?=
 =?utf-8?B?bmZCVzh1cGo1akI0MUE1S3Z0UjJ3NGkzR0VVMHZQQmdIN1d2bVExMWNDUk5M?=
 =?utf-8?B?b2Z3WE5FWEtZMm5SOGRacXVoS3FEYWlBQmJDaGN2WmhvVkRZVXFZdWJRa0tN?=
 =?utf-8?B?aDBJNzJSUG1jRFFvNlJJQ3RLRjJqbHQ0SS9sRGFmYVBhU3IrS3g4Ui84ZnVK?=
 =?utf-8?B?RlRjWndESjV3VnJpcmdSNGV1YVFmbC9EdHJDVHhOT1o0KzY3Ti91bXc0bzdk?=
 =?utf-8?B?MXdKVW9rNFg4eHBkQldoOE1BNndDOXVocnRITmFyb3NCZXZXSWJ5bkx5OXlv?=
 =?utf-8?Q?cF3J+EKwmvfsUjO1nHGpM/+FF?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aa9bba83-55bf-4951-15e1-08dae4ccbbcf
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Dec 2022 10:02:00.3749
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vX9nwZCHdee7sAdnryTxPKzK4cv8t5xu+kyx8expBg2n31yefmhdyiokADRNNNiS4Ja8WWQF3rKQwSZ1pOFPAA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7536

Hi Julien/Stefano,

I want to make sure I understand correctly.

On 22/12/2022 23:20, Stefano Stabellini wrote:
> On Sat, 17 Dec 2022, Julien Grall wrote:
>> On 17/12/2022 00:46, Stefano Stabellini wrote:
>>> On Fri, 16 Dec 2022, Julien Grall wrote:
>>>> Hi Ayan,
>>>>
>>>> On 15/12/2022 19:32, Ayan Kumar Halder wrote:
>>>>> paddr_t may be u64 or u32 depending of the type of architecture.
>>>>> Thus, while translating between u64 and paddr_t, one should check that
>>>>> the
>>>>> truncated bits are 0. If not, then raise an appropriate error.
>>>> I am not entirely convinced this extra helper is worth it. If the user
>>>> can't
>>>> provide 32-bit address in the DT, then there are also a lot of other part
>>>> that
>>>> can go wrong.
>>>>
>>>> Bertrand, Stefano, what do you think?
>>> In general, it is not Xen's job to protect itself against bugs in device
>>> tree. However, if Xen spots a problem in DT and prints a helpful message
>>> that is better than just crashing because it gives a hint to the
>>> developer about what the problem is.
>> I agree with the principle. In practice this needs to be weight out with the
>> long-term maintenance.
>>
>>> In this case, I think a BUG_ON would be sufficient.
>> BUG_ON() is the same as panic(). They both should be used only when there are
>> no way to recover (see CODING_STYLE).
>>
>> If we parse the device-tree at boot, then BUG_ON() is ok. However, if we need
>> to parse it after boot (e.g. the DT overlay from Vikram), then we should
>> definitely not call BUG_ON() for checking DT input.
> yeah, I wasn't thinking of that series
>
>
>> The correct way is like Ayan did by checking returning an error and let
>> the caller deciding what to do.
>>
>> My concern with his approach is the extra amount of code in each caller to
>> check it (even with a new helper).
>>
>> I am not fully convinced that checking the addresses in the DT is that useful.
> I am also happy not to do it to be honest

So are you suggesting that we do the truncation, but do not check if any 
non zero bits have been truncated.

As an example, currently with this patch :-

-        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
-        psize = dt_read_number(cells, size_cells);
+        device_tree_get_reg(&cells, addr_cells, addr_cells, &dt_pbase, &dt_gbase);
+        ret = translate_dt_address_size(&dt_pbase, &dt_gbase, &pbase, &gbase);
+        if ( ret )
+            return ret;
+        dt_psize = dt_read_number(cells, size_cells);
+        ret = translate_dt_address_size(NULL, &dt_psize, NULL, &psize);


With your proposed change, it should be

-        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
-        psize = dt_read_number(cells, size_cells);
+        device_tree_get_reg(&cells, addr_cells, addr_cells, &dt_pbase, &dt_gbase);
+        dt_psize = dt_read_number(cells, size_cells);
+        pbase = (paddr_t) dt_pbase;
+        gbase = (paddr_t) dt_gbase;
+        psize = (paddr_t) dt_psize;

Because, we still need some way to convert u64 dt address/size to 
paddr_t (u64/u32) address/size.

Please correct me if I misunderstand something.

- Ayan

>
>
>> However, if you both want to do it, then I think it would be best to introduce
>> wrappers over the Device-Tree ones that will check the truncation.
>>
>> For example, we could introduce dt_device_get_address_checked()
>> that will call dt_device_get_address() and then check for 32-bit truncation.
>>
>> For the function device_tree_get_reg(), this helper was aimed to deal with
>> just Physical address 'reg' very early. So we can modify the prototype and
>> update the function to check for 32-bit truncation.
>>
>> Note that I am suggesting a different approach for the two helpers because the
>> former is generic and it is not clear to me whether this could be used in
>> another context than physical address.


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 10:17:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 10:17:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468879.728069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8f7Q-0004Al-Em; Fri, 23 Dec 2022 10:17:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468879.728069; Fri, 23 Dec 2022 10:17:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8f7Q-0004Ae-Bs; Fri, 23 Dec 2022 10:17:36 +0000
Received: by outflank-mailman (input) for mailman id 468879;
 Fri, 23 Dec 2022 10:17:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p8f7O-0004AY-SC
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 10:17:34 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8f7O-0001KP-IC; Fri, 23 Dec 2022 10:17:34 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.3.230]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8f7O-00064t-Bg; Fri, 23 Dec 2022 10:17:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=mP5Zatn0GhS00G365a127hXliLkJQRwx/hNEjClqEIs=; b=xWIqk/8RaBNUZS4i4k6+7Es86p
	sEJAE56fK5wfzg0O/3RLzgViqTMedVBEeud+uxCdfLDKPWbu/xXyO7So8yq68NKYkq60EOLexf7il
	/Eyc80aSssSEZx9khUN+BL5pGET72Pyf2JkFEemxgcl3uUG53NbYUliOLNiojcbM/L4g=;
Message-ID: <5898da03-9947-1540-f424-d76c715619f4@xen.org>
Date: Fri, 23 Dec 2022 10:17:32 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.1
Subject: Re: [XEN v1 2/9] xen/arm: Define translate_dt_address_size() for the
 translation between u64 and paddr_t
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com
References: <20221215193245.48314-1-ayan.kumar.halder@amd.com>
 <20221215193245.48314-3-ayan.kumar.halder@amd.com>
 <b58c6548-9e70-0ed9-07a9-e35084620c36@xen.org>
 <alpine.DEB.2.22.394.2212161643400.315094@ubuntu-linux-20-04-desktop>
 <74786a57-d99a-6cfe-f475-df11c0d93afa@xen.org>
 <alpine.DEB.2.22.394.2212221520020.4079@ubuntu-linux-20-04-desktop>
 <5bc9435e-aee9-006c-a35a-ee9c7f946f91@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5bc9435e-aee9-006c-a35a-ee9c7f946f91@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 23/12/2022 10:01, Ayan Kumar Halder wrote:
> Hi Julien/Stefano,
> 
> I want to make sure I understand correctly.
> 
> On 22/12/2022 23:20, Stefano Stabellini wrote:
>> On Sat, 17 Dec 2022, Julien Grall wrote:
>>> On 17/12/2022 00:46, Stefano Stabellini wrote:
>>>> On Fri, 16 Dec 2022, Julien Grall wrote:
>>>>> Hi Ayan,
>>>>>
>>>>> On 15/12/2022 19:32, Ayan Kumar Halder wrote:
>>>>>> paddr_t may be u64 or u32 depending of the type of architecture.
>>>>>> Thus, while translating between u64 and paddr_t, one should check 
>>>>>> that
>>>>>> the
>>>>>> truncated bits are 0. If not, then raise an appropriate error.
>>>>> I am not entirely convinced this extra helper is worth it. If the user
>>>>> can't
>>>>> provide 32-bit address in the DT, then there are also a lot of 
>>>>> other part
>>>>> that
>>>>> can go wrong.
>>>>>
>>>>> Bertrand, Stefano, what do you think?
>>>> In general, it is not Xen's job to protect itself against bugs in 
>>>> device
>>>> tree. However, if Xen spots a problem in DT and prints a helpful 
>>>> message
>>>> that is better than just crashing because it gives a hint to the
>>>> developer about what the problem is.
>>> I agree with the principle. In practice this needs to be weight out 
>>> with the
>>> long-term maintenance.
>>>
>>>> In this case, I think a BUG_ON would be sufficient.
>>> BUG_ON() is the same as panic(). They both should be used only when 
>>> there are
>>> no way to recover (see CODING_STYLE).
>>>
>>> If we parse the device-tree at boot, then BUG_ON() is ok. However, if 
>>> we need
>>> to parse it after boot (e.g. the DT overlay from Vikram), then we should
>>> definitely not call BUG_ON() for checking DT input.
>> yeah, I wasn't thinking of that series
>>
>>
>>> The correct way is like Ayan did by checking returning an error and let
>>> the caller deciding what to do.
>>>
>>> My concern with his approach is the extra amount of code in each 
>>> caller to
>>> check it (even with a new helper).
>>>
>>> I am not fully convinced that checking the addresses in the DT is 
>>> that useful.
>> I am also happy not to do it to be honest
> 
> So are you suggesting that we do the truncation, but do not check if any 
> non zero bits have been truncated.
> 
> As an example, currently with this patch :-
> 
> -        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, 
> &gbase);
> -        psize = dt_read_number(cells, size_cells);
> +        device_tree_get_reg(&cells, addr_cells, addr_cells, &dt_pbase, 
> &dt_gbase);
> +        ret = translate_dt_address_size(&dt_pbase, &dt_gbase, &pbase, 
> &gbase);
> +        if ( ret )
> +            return ret;
> +        dt_psize = dt_read_number(cells, size_cells);
> +        ret = translate_dt_address_size(NULL, &dt_psize, NULL, &psize);
> 
> 
> With your proposed change, it should be
> 
> -        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, 
> &gbase);
> -        psize = dt_read_number(cells, size_cells);
> +        device_tree_get_reg(&cells, addr_cells, addr_cells, &dt_pbase, 
> &dt_gbase);
> +        dt_psize = dt_read_number(cells, size_cells);
> +        pbase = (paddr_t) dt_pbase;
> +        gbase = (paddr_t) dt_gbase;
> +        psize = (paddr_t) dt_psize;

-ETOOMANY cast and lines (the more if this is expected to be 
duplicated). But the last one seems unnecessary as the only reason you 
need separate variable for pbase and gbase is because the function are 
taking a reference rather than returning the value.

> 
> Because, we still need some way to convert u64 dt address/size to 
> paddr_t (u64/u32) address/size. 
How about following the approach I suggested in my previous e-mail to 
Stefano:
   - Convert device_tree_get_reg() to use paddr_t.
   - Introduce dt_device_get_address_checked() (Assuming you want to 
still add the check)

We may need an helper to wrap around dt_read_number() but I don't have a 
good idea for a name. There are only a couple of use. So I think it is 
fine to open-code. But you would not need a separate local variable. For 
the cast, I am in two mind. In one way, I don't like unnecessary 
explicit cast, but on the other way it serves as documentation.

Stefano, any opinions?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 11:16:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 11:16:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468886.728079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8g2V-0001vv-SM; Fri, 23 Dec 2022 11:16:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468886.728079; Fri, 23 Dec 2022 11:16:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8g2V-0001vo-PQ; Fri, 23 Dec 2022 11:16:35 +0000
Received: by outflank-mailman (input) for mailman id 468886;
 Fri, 23 Dec 2022 11:16:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2p1Y=4V=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1p8g2T-0001vi-En
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 11:16:33 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4055fcf3-82b3-11ed-8fd4-01056ac49cbb;
 Fri, 23 Dec 2022 12:16:31 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id h12so2109008wmq.0
 for <xen-devel@lists.xenproject.org>; Fri, 23 Dec 2022 03:16:31 -0800 (PST)
Received: from fedora.. ([195.234.76.149]) by smtp.gmail.com with ESMTPSA id
 bi20-20020a05600c3d9400b003c6c5a5a651sm4015400wmb.28.2022.12.23.03.16.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 23 Dec 2022 03:16:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4055fcf3-82b3-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=8p7FkEFHFM6Vf85oycH+J0C9gdLXBTWR3FE9O8T6i+o=;
        b=hnhWxG4Zc0VM1yUBQyVDX9KdnSJxKY3eR9sNH8+ldbO4Nf3zCxT/9CbMmc+3h/Gfuu
         3hCEGMhXVjABmUVyWcN3CKEi+IMcRgO2uuPea0hUJw7V55l0b3ZOVUOFRQKyQyE1uhXv
         ML3Raqsm96TX2rYpX5ktwP4xshEKrMynzvuFXT3lHLCsHHhjiRsusXmA2WjHwIw55FSn
         6wYy14SxU9G0PPEpsgBhsWvVO4DJnZaJLjJtyW6u11WtvohyLFj3B3WvbIPrHGHnQVIZ
         2yYCWAJHzJkPbVO2Jb0kgwiYM2joAXXJLaS+a5A2AM5YRXOuhzICmyNCqd/OGypbiA3N
         oCpg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=8p7FkEFHFM6Vf85oycH+J0C9gdLXBTWR3FE9O8T6i+o=;
        b=WbPKDOzIbMBNHPPURG1dMGwWutq0iUl299GKI8vbBIonRKaybOBSPGw1Q2H/zr0aaS
         xUqk97XqGzNc5FJXj77f8ofJ5hYzkciMu+hmXqRXVTY63ZAnoAYqthmWHPznU0g5110U
         T9xq6mt9eyQm1CZCfEyZcGLLVX/0hSwb+Y3PADlzJsmacGRFdtm6xC7Gaab/mKfIMR/P
         Q11SWSAUKGvcCcbHESiyqWLpR/PJMEOrI8uKKUwpyaQCwWVpxN0XOV2P4IyoqpAjO47B
         cW/3gulnKvi3eZeoAw7bheR6swlOZOn7dun+BU5VVHl5OR7svxLUTJq80jFryumTnxYl
         dtNg==
X-Gm-Message-State: AFqh2kobIZSzkksrQP6f03RsPiFDqHCKONFnSmuGJBXuzIEa/D+aPPU7
	46437nGFnvd3JSbltkvPKEUr8skZn05BUxfX
X-Google-Smtp-Source: AMrXdXuHoc1lQNz6cqhEbB68jWgtp+gqi4wJdIW8Vr5Y7GxMsuCxl0k1liV51sygYxcqeawd5HnP9g==
X-Received: by 2002:a05:600c:54eb:b0:3c6:e63e:89aa with SMTP id jb11-20020a05600c54eb00b003c6e63e89aamr6882566wmb.6.1671794190230;
        Fri, 23 Dec 2022 03:16:30 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH v1 0/4] Add minimal RISC-V Xen build and build testing
Date: Fri, 23 Dec 2022 13:16:19 +0200
Message-Id: <cover.1671789736.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The patch series introduces the following:
- provide a minimal amount of changes to add initial RISC-V support
  to make Xen binary buildable and runnable for RISC-V architecture
   which can be used for future development and testing.
- add RISC-V 64 cross-compile build jobs to check if any new changes
  break RISC-V build.
- minor fixes to make automation build script work with cross-compilers.

Oleksii Kurochko (4):
  arch/riscv: initial RISC-V support to build/run minimal Xen
  automation: add cross-compiler support for the build script
  automation: add python3 package for riscv64.dockerfile
  automation: add RISC-V 64 cross-build tests for Xen

 automation/build/archlinux/riscv64.dockerfile |  3 +-
 automation/gitlab-ci/build.yaml               | 43 ++++++++++++
 automation/scripts/build                      | 10 +--
 xen/arch/riscv/Makefile                       | 30 ++++++++
 xen/arch/riscv/arch.mk                        | 10 +++
 xen/arch/riscv/include/asm/config.h           | 26 ++++++-
 xen/arch/riscv/include/asm/types.h            | 11 +++
 xen/arch/riscv/riscv64/Makefile               |  2 +-
 xen/arch/riscv/riscv64/head.S                 |  2 +-
 xen/arch/riscv/xen.lds.S                      | 69 +++++++++++++++++++
 10 files changed, 197 insertions(+), 9 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/types.h
 create mode 100644 xen/arch/riscv/xen.lds.S

-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 23 11:16:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 11:16:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468888.728102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8g2c-0002TA-G1; Fri, 23 Dec 2022 11:16:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468888.728102; Fri, 23 Dec 2022 11:16:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8g2c-0002T3-CL; Fri, 23 Dec 2022 11:16:42 +0000
Received: by outflank-mailman (input) for mailman id 468888;
 Fri, 23 Dec 2022 11:16:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2p1Y=4V=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1p8g2a-0001vi-Qj
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 11:16:40 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45bb3902-82b3-11ed-8fd4-01056ac49cbb;
 Fri, 23 Dec 2022 12:16:40 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 f13-20020a1cc90d000000b003d08c4cf679so3302598wmb.5
 for <xen-devel@lists.xenproject.org>; Fri, 23 Dec 2022 03:16:40 -0800 (PST)
Received: from fedora.. ([195.234.76.149]) by smtp.gmail.com with ESMTPSA id
 bi20-20020a05600c3d9400b003c6c5a5a651sm4015400wmb.28.2022.12.23.03.16.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 23 Dec 2022 03:16:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45bb3902-82b3-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nMA9GaAKAwvSkcExFphr9K3QaVLSpIpDAhw9a6cKCNM=;
        b=gvDJniLm2Mwmt9UtGRo1qDm1eyfvbRTxTF7X14YgiSadYAvDfwBaHIvL7jIj9rGYM3
         /hfMut0w2TTznEBZkRQX3+ZRP1yyDl0eORZUiXTLlekq9MPzU3KvWpIZH8oNa1bfUkoB
         6IiI4VpsQhqXr96ceeDacK+Poc5JgMn1xwSYCY8T6Kibd66sId8nL+MqMXNPAaKEmZtU
         0RwHXZUKqA0z5OlGdLw2tcxJzGWTRHfMf4ATwiU0cAlO6DLdlgVZyUHNUD70ItvLlaW4
         jYRz3Tyd9I7yOtFrsHVTotAQBAvd6PXrdm1IKRadrI0pFrwicLEckMm+kce43jpgUZ2e
         CiXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nMA9GaAKAwvSkcExFphr9K3QaVLSpIpDAhw9a6cKCNM=;
        b=Ce/Ujh8uB0c7PxxckbFvh06arHCFsmmvYXOjYTDFGnyROdUi/g+L4ql6UlU3lknmEl
         Audmh0k1S0145XecJCbLfHIZ+YjzQ+l7cRd3fZkVaHCxULJLbcM5BFfjQrdLQOSpSqBJ
         Y7dj5HA9jTtlionH7WrkYatyp8o8rm31OoixZ5GJ8j27y1RuY2+bm+GsmzIkdB17GjtD
         w6xTXM1XLUxRZ7IvXm4jxXv3no3aad8QZ52InNpYllePPprpT9tFMrA94jcMGY2sVuH+
         LXNK03ohZ/kawgRQJNGwwSBDQ2nULwRNTv87D8BQyjf++3EY7/MKdV7zNkdZkTGZXZbt
         tnlQ==
X-Gm-Message-State: AFqh2krTUWeuSKpdtuoNXuanmfPV3Ak/sz/P+yvh2Pl6fP/wY6CXcEbz
	x3iXSzdQWBTFvb7GTlH1hBpfGME1MBYo0v72
X-Google-Smtp-Source: AMrXdXuuVKaWn+IuwicpenQafiKLQF6LsbpNCUjVJGrjAmGfmmCVzkEE+PMkHdhowPaYOp1MkAtpzw==
X-Received: by 2002:a1c:6a16:0:b0:3c6:f732:bf6f with SMTP id f22-20020a1c6a16000000b003c6f732bf6fmr6821962wmc.13.1671794199369;
        Fri, 23 Dec 2022 03:16:39 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH v1 2/4] automation: add cross-compiler support for the build script
Date: Fri, 23 Dec 2022 13:16:21 +0200
Message-Id: <3c926f637c4738bd14db10e8fe8f72a6eae2dfd4.1671789736.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671789736.git.oleksii.kurochko@gmail.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Docker images that are currently available and used for
cross-compilation is additionally installed GCC/Binutils
which is why the build script doesn't crash.

RISC-V docker image doesn't have native GCC only          
cross-compiler which will lead to the fact  that the build
script will fail.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/scripts/build | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/automation/scripts/build b/automation/scripts/build
index a593419063..026f480e76 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -2,12 +2,12 @@
 
 test -f /etc/os-release && cat "$_"
 
-$CC --version
+${CROSS_COMPILE}${CC} --version
 
 # Express the compiler version as an integer.  e.g. GCC 4.9.2 => 0x040902
 cc-ver()
 {
-    $CC -dumpversion | awk -F. '{ printf "0x%02x%02x%02x", $1, $2, $3 }'
+    ${CROSS_COMPILE}${CC} -dumpversion | awk -F. '{ printf "0x%02x%02x%02x", $1, $2, $3 }'
 }
 
 # random config or default config
@@ -66,7 +66,7 @@ if ! type python3 || python3 -c "import sys; res = sys.version_info < (3, 5); ex
 fi
 
 # SeaBIOS requires GCC 4.6 or later
-if [[ "${CC}" == "gcc" && `cc-ver` -lt 0x040600 ]]; then
+if [[ "${CROSS_COMPILE}${CC}" == "gcc" && `cc-ver` -lt 0x040600 ]]; then
     cfgargs+=("--with-system-seabios=/bin/false")
 fi
 
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 23 11:16:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 11:16:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468887.728091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8g2Y-0002BS-73; Fri, 23 Dec 2022 11:16:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468887.728091; Fri, 23 Dec 2022 11:16:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8g2Y-0002BL-3p; Fri, 23 Dec 2022 11:16:38 +0000
Received: by outflank-mailman (input) for mailman id 468887;
 Fri, 23 Dec 2022 11:16:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2p1Y=4V=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1p8g2W-0001vi-HA
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 11:16:36 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43000505-82b3-11ed-8fd4-01056ac49cbb;
 Fri, 23 Dec 2022 12:16:35 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 ay2-20020a05600c1e0200b003d22e3e796dso3337155wmb.0
 for <xen-devel@lists.xenproject.org>; Fri, 23 Dec 2022 03:16:35 -0800 (PST)
Received: from fedora.. ([195.234.76.149]) by smtp.gmail.com with ESMTPSA id
 bi20-20020a05600c3d9400b003c6c5a5a651sm4015400wmb.28.2022.12.23.03.16.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 23 Dec 2022 03:16:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43000505-82b3-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bojZ+BqHhvZXTf8zMnMZHqyICjgS2oNaXrHozMSW7ig=;
        b=f2n4vVRroXeruv0VuASOOKa2qpZxgN5ilRx0aaJoeT25SEHd4WmSYNyfJsunZgg56j
         tVshykRLVO7o0UcD1xL7augBxAWpZB4ToHutWC29Jsly7u/U/VLRQu2KMJwLJGge5EQn
         PHl6mz0OV7US5Js4FMg4ZgfZbnNIwbgMSsQOB8k3gTepAwBzIIeiw89QALf4Aojo1jMv
         3inu7aHNyU01VXE3IZlEenmylgWRBP7c4KOV30pAzKkPlWxYrPLv5nXn/G5chXKpTk7E
         QVVvDnu4n7Nfr+TxMq3rYP9tFvrAAyxWkqcqqhhMV17X0js4w5OjiC5hXZvUeLyiyW8d
         oU1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bojZ+BqHhvZXTf8zMnMZHqyICjgS2oNaXrHozMSW7ig=;
        b=2sUvYDZV6MrX1lFRnf04wECNEy0V/vMFor/tkYfA1FAGs/ThJrbP5PD/KDc84Ra0Pp
         4GELb9ifMzfuMjLbkVCqxu4QYUaeJpnZQkqelsgPz8SKyQ1QKqzfUSLQZJvOSTST6vQV
         drOeJuYNXuqcFof2RDhu/3tTPQt88AqtGopGYlmeLItzDBNrnsm2/jFkXcyCT+db0dbK
         XUBvx7G1LChBmn1VSropZAJm+6fIWNAnSbLJaBEXOvURW6gy+IxMILpYwoVlx2lHmYsp
         9ws6bagtt5n5RdapZeS2zMgjdi+hhjeTj3t/9s6zRGxII99nEHd14BsN29MQy/2kqAna
         j0vA==
X-Gm-Message-State: AFqh2kprP5o4RAPrQJi+micO7wO7kWnFZezFE7dCAeutFS5TSV8t0CaL
	usrLeOqwIc4NMe+HfZr0lkVsTIvHhGoY3Rnp
X-Google-Smtp-Source: AMrXdXuxrsI9MU6JO2oUl7oA4afGts0iNNIcb2VO9yFEPV394cXXLAv973aMjjqgo8tAZqQXONU1Yw==
X-Received: by 2002:a05:600c:4e11:b0:3d3:4012:8da8 with SMTP id b17-20020a05600c4e1100b003d340128da8mr6727895wmq.40.1671794194743;
        Fri, 23 Dec 2022 03:16:34 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [XEN PATCH v1 1/4] arch/riscv: initial RISC-V support to build/run minimal Xen
Date: Fri, 23 Dec 2022 13:16:20 +0200
Message-Id: <5d5ec5fbd8787ed8f86bf84a5ac291d07a20b307.1671789736.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671789736.git.oleksii.kurochko@gmail.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch provides a minimal amount of changes to start
build and run minimal Xen binary at GitLab CI&CD that will
allow continuous checking of the build status of RISC-V Xen.

RISC-V Xen can be built by the following instructions:
  $ CONTAINER=riscv64 ./automation/scripts/containerize \
       make XEN_TARGET_ARCH=riscv64 tiny64_defconfig
  $ CONTAINER=riscv64 ./automation/scripts/containerize \
       make XEN_TARGET_ARCH=riscv64 -C xen build

RISC-V Xen can be run as:
  $ qemu-system-riscv64 -M virt -smp 1 -nographic -m 2g \
       -kernel xen/xen

To run in debug mode should be done the following instructions:
 $ qemu-system-riscv64 -M virt -smp 1 -nographic -m 2g \
        -kernel xen/xen -s -S
 # In separate terminal:
 $ riscv64-buildroot-linux-gnu-gdb
 $ target remote :1234
 $ add-symbol-file <xen_src>/xen/xen-syms 0x80200000
 $ hb *0x80200000
 $ c # it should stop at instruction j 0x80200000 <start>

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/Makefile             | 30 +++++++++++++
 xen/arch/riscv/arch.mk              | 10 +++++
 xen/arch/riscv/include/asm/config.h | 26 ++++++++++-
 xen/arch/riscv/include/asm/types.h  | 11 +++++
 xen/arch/riscv/riscv64/Makefile     |  2 +-
 xen/arch/riscv/riscv64/head.S       |  2 +-
 xen/arch/riscv/xen.lds.S            | 69 +++++++++++++++++++++++++++++
 7 files changed, 147 insertions(+), 3 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/types.h
 create mode 100644 xen/arch/riscv/xen.lds.S

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 942e4ffbc1..893dd19ea6 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,2 +1,32 @@
+obj-$(CONFIG_RISCV_64) += riscv64/
+
+$(TARGET): $(TARGET)-syms
+	$(OBJCOPY) -O binary -S $< $@
+
+$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+		$(SYMBOLS_DUMMY_OBJ) -o $(@D)/.$(@F).0
+	$(NM) -pa --format=sysv $(@D)/.$(@F).0 \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).0.S
+	$(MAKE) $(build)=$(@D) $(@D)/.$(@F).0.o
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+		$(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
+	$(NM) -pa --format=sysv $(@D)/.$(@F).1 \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).1.S
+	$(MAKE) $(build)=$(@D) $(@D)/.$(@F).1.o
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
+		$(@D)/.$(@F).1.o -o $@
+	$(NM) -pa --format=sysv $(@D)/$(@F) \
+		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
+		>$(@D)/$(@F).map
+	rm -f $(@D)/.$(@F).[0-9]*
+
+$(obj)/xen.lds: $(src)/xen.lds.S FORCE
+	        $(call if_changed_dep,cpp_lds_S)
+
+.PHONY: clean
+clean::
+	rm -f $(objtree)/.xen-syms.[0-9]*
+
 .PHONY: include
 include:
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index ae8fe9dec7..9292b72718 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -11,3 +11,13 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
 # -mcmodel=medlow would force Xen into the lower half.
 
 CFLAGS += -march=$(riscv-march-y) -mstrict-align -mcmodel=medany
+
+# TODO: Drop override and SYMBOLS_DUMMY_OBJ when more
+# of the build is working
+override ALL_OBJS-y = arch/$(TARGET_ARCH)/built_in.o
+override ALL_LIBS-y =
+ifneq ($(wildcard $(objtree)/common/symbols-dummy.o),)
+SYMBOLS_DUMMY_OBJ=$(objtree)/common/symbols-dummy.o
+else
+SYMBOLS_DUMMY_OBJ=
+endif
diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index e2ae21de61..756607a4a2 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -28,7 +28,7 @@
 
 /* Linkage for RISCV */
 #ifdef __ASSEMBLY__
-#define ALIGN .align 2
+#define ALIGN .align 4
 
 #define ENTRY(name)                                \
   .globl name;                                     \
@@ -36,6 +36,30 @@
   name:
 #endif
 
+/*
+ * Definition of XEN_VIRT_START should look like:
+ *   define XEN_VIRT_START _AT(vaddr_t,0x00200000)
+ * It requires including of additional headers which
+ * will increase an amount of files unnecessary for
+ * minimal RISC-V Xen build so set value of
+ * XEN_VIRT_START explicitly.
+ *
+ * TODO: change it to _AT(vaddr_t,0x00200000) when
+ *       necessary header will be pushed.
+ */
+#define XEN_VIRT_START  0x80200000
+/*
+ * PAGE_SIZE is defined in <{asm,xen}/page-*.h> but to
+ * remove unnecessary headers for minimal
+ * build headers it will be better to set PAGE_SIZE
+ * explicitly.
+ *
+ * TODO: remove it when <asm/page-*.h> will be needed
+ *       defintion of PAGE_SIZE should be remove from
+ *       this header.
+ */
+#define PAGE_SIZE       4096
+
 #endif /* __RISCV_CONFIG_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/riscv/include/asm/types.h b/xen/arch/riscv/include/asm/types.h
new file mode 100644
index 0000000000..afbca6b15c
--- /dev/null
+++ b/xen/arch/riscv/include/asm/types.h
@@ -0,0 +1,11 @@
+#ifndef __TYPES_H__
+#define __TYPES_H__
+
+/*
+ *
+ * asm/types.h is required for xen-syms.S file which
+ * is produced by tools/symbols.
+ *
+ */
+
+#endif
diff --git a/xen/arch/riscv/riscv64/Makefile b/xen/arch/riscv/riscv64/Makefile
index 15a4a65f66..3340058c08 100644
--- a/xen/arch/riscv/riscv64/Makefile
+++ b/xen/arch/riscv/riscv64/Makefile
@@ -1 +1 @@
-extra-y += head.o
+obj-y += head.o
diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index 0dbc27ba75..0330b29c01 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -1,6 +1,6 @@
 #include <asm/config.h>
 
-        .text
+        .section .text.header, "ax", %progbits
 
 ENTRY(start)
         j  start
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
new file mode 100644
index 0000000000..60628b3856
--- /dev/null
+++ b/xen/arch/riscv/xen.lds.S
@@ -0,0 +1,69 @@
+#include <xen/xen.lds.h>
+
+#undef ENTRY
+#undef ALIGN
+
+OUTPUT_ARCH(riscv)
+ENTRY(start)
+
+PHDRS
+{
+  text PT_LOAD ;
+#if defined(BUILD_ID)
+  note PT_NOTE ;
+#endif
+}
+
+SECTIONS
+{
+  . = XEN_VIRT_START;
+  _start = .;
+  .text : {
+        _stext = .;
+       *(.text.header)
+       *(.text)
+       *(.gnu.warning)
+       . = ALIGN(POINTER_ALIGN);
+       _etext = .;
+  } :text
+
+    . = ALIGN(PAGE_SIZE);
+  .rodata : {
+        _srodata = .;
+       *(.rodata)
+       *(.rodata.*)
+       *(.data.rel.ro)
+       *(.data.rel.ro.*)
+  } :text
+
+#if defined(BUILD_ID)
+  . = ALIGN(4);
+  .note.gnu.build-id : {
+       __note_gnu_build_id_start = .;
+       *(.note.gnu.build-id)
+       __note_gnu_build_id_end = .;
+  } :note :text
+#endif
+
+  . = ALIGN(PAGE_SIZE);
+  .data : { /* Data */
+       *(.data .data.*)
+  } :text
+
+  . = ALIGN(PAGE_SIZE);
+  .bss : {
+       __bss_start = .;
+       *(.bss .bss.*)
+       . = ALIGN(POINTER_ALIGN);
+       __bss_end = .;
+  } :text
+  _end = . ;
+
+  DWARF2_DEBUG_SECTIONS
+
+  DISCARD_SECTIONS
+
+  STABS_DEBUG_SECTIONS
+
+  ELF_DETAILS_SECTIONS
+}
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 23 11:16:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 11:16:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468889.728113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8g2f-0002me-OU; Fri, 23 Dec 2022 11:16:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468889.728113; Fri, 23 Dec 2022 11:16:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8g2f-0002mT-LB; Fri, 23 Dec 2022 11:16:45 +0000
Received: by outflank-mailman (input) for mailman id 468889;
 Fri, 23 Dec 2022 11:16:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2p1Y=4V=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1p8g2d-0001vi-Qn
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 11:16:43 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47b28286-82b3-11ed-8fd4-01056ac49cbb;
 Fri, 23 Dec 2022 12:16:43 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id h12so2109487wmq.0
 for <xen-devel@lists.xenproject.org>; Fri, 23 Dec 2022 03:16:43 -0800 (PST)
Received: from fedora.. ([195.234.76.149]) by smtp.gmail.com with ESMTPSA id
 bi20-20020a05600c3d9400b003c6c5a5a651sm4015400wmb.28.2022.12.23.03.16.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 23 Dec 2022 03:16:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47b28286-82b3-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4piGybnIUpDzfW0IXQY8Y5SgBUwXtFTXUdrpnAUYp18=;
        b=Kd/g0bPlVd0qUtUIOoA5ZldHfcNjR1qtiYUpSmnzlVpQB63q+EGiuz0ssJ0uvkzTVp
         5psm8UfVxZs/xMWjhR61vOxHyS1DS95C83yYEqMFSuS1TfwE+76e0NI6rndBZ7adsx/R
         TGup8LWOPYWIAjLXaWvD3Uw+fD6Q0JFa78EcucaKdx22rK+FmOIeR6Xk5DCGsv5ma93I
         PAGWolweh/J4zHTd9UzGN3rlboFwaKJhvNTTkj0ljamhbYnlQRBAJCKom2ulGSxNv1Ev
         3RikbwXcdG+3qCDghB8uNrHI9eu8iKCgw2Pct3pSEMoIOn/9z1EHk4/PAfLyGWDk2qvW
         iUBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4piGybnIUpDzfW0IXQY8Y5SgBUwXtFTXUdrpnAUYp18=;
        b=h6EGXKQ5wcO7WnpTdjqPycYAUQEmk5H7eBzSX/ecDcboaDltBI+ju11TjVZNowcB9B
         pP7jBdVsCXWS0+qNV820d78BeiLbXKxa6GAvDLGEE9IKJsKjRV/X7l4qOxJNRyJtK8g4
         20YgFBsYtJREiueYadW3gtef0w5sDXU9QbhnuSyh27mcCpAJ4+HqQrayD0FCyTZkQyRW
         BJBxsOseyrIhJhLuLjrmAmjnBrZAyZbz/JvvHZ7S1ucbVSYJUJy5GsFqsPy+LgvFqnab
         WlzdLfViqZVKhByuMg+fwlfU73eO9NGt2SizeUGc5vlnIo9ywWLHxrwfy07F9FSxV/GB
         bVrQ==
X-Gm-Message-State: AFqh2kr2PiqZAcwpeLxZzaLfYdOnkSO+sZF0Btd+soRaDEewwN2g/O3D
	xQ/OQXPwtQ/7bZFdVn1v9npZrWf+VyUrlFFb
X-Google-Smtp-Source: AMrXdXseWLwF9FPYLaJ367T4eEMth/pZMqMJL8iiU/RgleLUarqwjEsLgJs/DLE8e0ova0LkXXel9A==
X-Received: by 2002:a05:600c:4e11:b0:3d3:4012:8da8 with SMTP id b17-20020a05600c4e1100b003d340128da8mr6728223wmq.40.1671794202758;
        Fri, 23 Dec 2022 03:16:42 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH v1 3/4] automation: add python3 package for riscv64.dockerfile
Date: Fri, 23 Dec 2022 13:16:22 +0200
Message-Id: <55e2c865a0c2ab3ef405c427c0b1bcaf0abff2ab.1671789736.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671789736.git.oleksii.kurochko@gmail.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Pyhton3 package is requited by automation/scripts/build
script so it shoud be installed to riscv64 docker image

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/build/archlinux/riscv64.dockerfile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/automation/build/archlinux/riscv64.dockerfile b/automation/build/archlinux/riscv64.dockerfile
index ff8b2b955d..a52852c2f7 100644
--- a/automation/build/archlinux/riscv64.dockerfile
+++ b/automation/build/archlinux/riscv64.dockerfile
@@ -9,7 +9,8 @@ RUN pacman --noconfirm --needed -Syu \
     inetutils \
     riscv64-linux-gnu-binutils \
     riscv64-linux-gnu-gcc \
-    riscv64-linux-gnu-glibc
+    riscv64-linux-gnu-glibc \
+    python3
 
 # Add compiler path
 ENV CROSS_COMPILE=riscv64-linux-gnu-
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 23 11:16:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 11:16:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468890.728124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8g2h-00033t-3L; Fri, 23 Dec 2022 11:16:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468890.728124; Fri, 23 Dec 2022 11:16:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8g2h-00033k-0A; Fri, 23 Dec 2022 11:16:47 +0000
Received: by outflank-mailman (input) for mailman id 468890;
 Fri, 23 Dec 2022 11:16:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2p1Y=4V=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1p8g2g-0001vi-BA
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 11:16:46 +0000
Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com
 [2a00:1450:4864:20::32d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 48fdefe1-82b3-11ed-8fd4-01056ac49cbb;
 Fri, 23 Dec 2022 12:16:45 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 bg13-20020a05600c3c8d00b003d9712b29d2so303838wmb.2
 for <xen-devel@lists.xenproject.org>; Fri, 23 Dec 2022 03:16:45 -0800 (PST)
Received: from fedora.. ([195.234.76.149]) by smtp.gmail.com with ESMTPSA id
 bi20-20020a05600c3d9400b003c6c5a5a651sm4015400wmb.28.2022.12.23.03.16.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 23 Dec 2022 03:16:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48fdefe1-82b3-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fVyGLZWjJ9kbK2S5/NmxoXvE/MItjsZJIic+Vk1nkXc=;
        b=BYq17mjcOlyfPQg4benY4Uz7Kb1cvBW+qS541FQAZjzUk64U19IKpIZEUXkuZhav3x
         VZxxfRHDK6agxW3YiHCWbgasGQUbjI9IwfukBBF6BfCtARb/tTAwO2QCejyMpPb+UfwT
         bBQor/imfNBAYPVz0iGyW7PVPZTgfllbSsIWMn2hYwgzu1LQw0fUQv2/gRU5sy/LnDg1
         VcgbMB8oIWAkRF4ofE2NY+R7ic+T4VrW3zYimzF6OIqMacsyCAyr7ayz/LqvC1bWT2Wu
         qW+CeeKwkbwyyCHQxjA9dm3uI0/xom18MxsSRfp0LcIctbEcv7B+cmK4qZlGbLnUp1by
         tHUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fVyGLZWjJ9kbK2S5/NmxoXvE/MItjsZJIic+Vk1nkXc=;
        b=1rSfcBwbEO0U9sWg+eZdicmhKLYgbIkJW1Bn+REe6WPpv1Tqkpo30wJT+UQ5BBY0sc
         QlS2nO55HpG/cmgUh6g/WNqz1eKSujETeDXp1NjGW8skIu1tsZtKm9bvm99ibzuwqf69
         v6ocme9pp2upeYOcWeeISO68w6ozKMr9o3vLA2M026he5arnUeeMCn3rzZ1f4QVAgARP
         c4DHVxf3pXdHdeIEpM+6vnKh4SpxFDAUki6M/PBt6paE9CoJQ1YSIf0+B+TtJmtXM1IL
         Y59F+3s60rchI5Qo3IAkR9pufzkpl4NX1ID5eD4kBtB+mtrQHMcOeh89DvAD0Dlaj6Qg
         oJWw==
X-Gm-Message-State: AFqh2ko1m9rWT881hJUVusXWGTm5KP2MgwumuCuG7uHsuuluf9aqFULT
	OcW02vHhVTC5jmGJw0YuniPLW+Vkc0rdnTcZ
X-Google-Smtp-Source: AMrXdXtvhTIgBi0ObNo2e+NrFKzemWZGmn4EFBa4HZLVmgbpn8vnvHkFFkFWBmqS3zydtBfN/xQBAQ==
X-Received: by 2002:a05:600c:d1:b0:3d3:4d21:704d with SMTP id u17-20020a05600c00d100b003d34d21704dmr6827553wmm.14.1671794204919;
        Fri, 23 Dec 2022 03:16:44 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH v1 4/4] automation: add RISC-V 64 cross-build tests for Xen
Date: Fri, 23 Dec 2022 13:16:23 +0200
Message-Id: <c16097445ce25700b3464d3813c7cbc69d998dd7.1671789736.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1671789736.git.oleksii.kurochko@gmail.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add build jobs to cross-compile Xen-only for RISC-V 64.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/gitlab-ci/build.yaml | 43 +++++++++++++++++++++++++++++++++
 automation/scripts/build        |  4 +--
 2 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 93d9ff69a9..d97b2aa788 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -172,6 +172,33 @@
   variables:
     <<: *gcc
 
+.riscv64-cross-build-tmpl:
+  <<: *build
+  variables:
+    XEN_TARGET_ARCH: riscv64
+  tags:
+    - x86_64
+
+.riscv64-cross-build:
+  extends: .riscv64-cross-build-tmpl
+  variables:
+    debug: n
+
+.riscv64-cross-build-debug:
+  extends: .riscv64-cross-build-tmpl
+  variables:
+    debug: y
+
+.gcc-riscv64-cross-build:
+  extends: .riscv64-cross-build
+  variables:
+    <<: *gcc
+
+.gcc-riscv64-cross-build-debug:
+  extends: .riscv64-cross-build-debug
+  variables:
+    <<: *gcc
+
 # Jobs below this line
 
 archlinux-gcc:
@@ -615,6 +642,19 @@ alpine-3.12-gcc-debug-arm64-boot-cpupools:
     EXTRA_XEN_CONFIG: |
       CONFIG_BOOT_TIME_CPUPOOLS=y
 
+# RISC-V 64 cross-build
+riscv64-cross-gcc:
+  extends: .gcc-riscv64-cross-build
+  variables:
+    CONTAINER: archlinux:riscv64
+    KBUILD_DEFCONFIG: tiny64_defconfig
+
+riscv64-cross-gcc-debug:
+  extends: .gcc-riscv64-cross-build-debug
+  variables:
+    CONTAINER: archlinux:riscv64
+    KBUILD_DEFCONFIG: tiny64_defconfig
+
 ## Test artifacts common
 
 .test-jobs-artifact-common:
@@ -690,3 +730,6 @@ kernel-5.10.74-export:
       - binaries/bzImage
   tags:
     - x86_64
+
+# # RISC-V 64 test artificats
+# # TODO: add RISC-V 64 test artitifacts
diff --git a/automation/scripts/build b/automation/scripts/build
index 026f480e76..d0632a2bd5 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -34,8 +34,8 @@ fi
 # to exit early -- bash is invoked with -e.
 cp xen/.config xen-config
 
-# arm32 only cross-compiles the hypervisor
-if [[ "${XEN_TARGET_ARCH}" = "arm32" ]]; then
+# arm32 & riscv64 only cross-compiles the hypervisor
+if [[ "${XEN_TARGET_ARCH}" = "arm32" ]] || [[ "${XEN_TARGET_ARCH}" = "riscv64" ]]; then
     hypervisor_only="y"
 fi
 
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 23 11:31:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 11:31:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468922.728135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8gGd-0006Zq-De; Fri, 23 Dec 2022 11:31:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468922.728135; Fri, 23 Dec 2022 11:31:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8gGd-0006Zj-A7; Fri, 23 Dec 2022 11:31:11 +0000
Received: by outflank-mailman (input) for mailman id 468922;
 Fri, 23 Dec 2022 11:31:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p8gGc-0006Zd-7p
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 11:31:10 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8gGZ-0002q0-FS; Fri, 23 Dec 2022 11:31:07 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.3.230]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8gGZ-0000Yu-7t; Fri, 23 Dec 2022 11:31:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=OU2iTC+poI4DnGlpFAvFZ9OP7ZgB6pw6Ls0YXBPEM5g=; b=uZ3718xJt37jkJQx7af2NdTFKz
	CEcMVGAr5NWgid/k+rHquvAKmMgaUDGXQ0Cm2wCUj91Hd6vJF5+9d+xg+OHHdr2hf+Y/iJSGfQ2+t
	ieiatn01Z5Rk3P0Amhuv/vsFQiril9nBsEvvzx/+lyA6HkN5GBvKabQ6JySSTpsqrXEk=;
Message-ID: <965e3faa-472d-9a79-83ca-fef57cda81c5@xen.org>
Date: Fri, 23 Dec 2022 11:31:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.1
Subject: Re: [PATCH 05/22] x86/srat: vmap the pages for acpi_slit
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Hongyan Xia <hongyxia@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org,
 Julien Grall <jgrall@amazon.com>
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-6-julien@xen.org>
 <ca02a313-0fa2-8041-3e8f-d467c3e99fb6@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <ca02a313-0fa2-8041-3e8f-d467c3e99fb6@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 20/12/2022 15:30, Jan Beulich wrote:
> On 16.12.2022 12:48, Julien Grall wrote:
>> From: Hongyan Xia <hongyxia@amazon.com>
>>
>> This avoids the assumption that boot pages are in the direct map.
>>
>> Signed-off-by: Hongyan Xia <hongyxia@amazon.com>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> However, ...
> 
>> --- a/xen/arch/x86/srat.c
>> +++ b/xen/arch/x86/srat.c
>> @@ -139,7 +139,8 @@ void __init acpi_numa_slit_init(struct acpi_table_slit *slit)
>>   		return;
>>   	}
>>   	mfn = alloc_boot_pages(PFN_UP(slit->header.length), 1);
>> -	acpi_slit = mfn_to_virt(mfn_x(mfn));
>> +	acpi_slit = vmap_contig_pages(mfn, PFN_UP(slit->header.length));
> 
> ... with the increased use of vmap space the VA range used will need
> growing. And that's perhaps better done ahead of time than late.

I will have a look to increase the vmap().

> 
>> +	BUG_ON(!acpi_slit);
> 
> Similarly relevant for the earlier patch: It would be nice if boot
> failure for optional things like NUMA data could be avoided.

If you can't map (or allocate the memory), then you are probably in a 
very bad situation because both should really not fail at boot.

So I think this is correct to crash early because the admin will be able 
to look what went wrong. Otherwise, it may be missed in the noise.

>  But I
> understand this is somewhat orthogonal to this series (the more that
> alloc_boot_pages() itself is also affected). Yet not entirely so,
> since previously there was no mapping failure possible here.

See above. I don't see the problem of adding a potential mapping failure 
here and before.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 12:22:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 12:22:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468932.728145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8h4a-0003RI-Fg; Fri, 23 Dec 2022 12:22:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468932.728145; Fri, 23 Dec 2022 12:22:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8h4a-0003RB-D4; Fri, 23 Dec 2022 12:22:48 +0000
Received: by outflank-mailman (input) for mailman id 468932;
 Fri, 23 Dec 2022 12:22:47 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p8h4Z-0003R5-31
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 12:22:47 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8h4W-00048y-0s; Fri, 23 Dec 2022 12:22:44 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.3.230]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8h4V-0002nV-Pi; Fri, 23 Dec 2022 12:22:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=2vy4MA9pgVOUDMvlpG1zptZaUm68AlCvHnLI/b1NpFk=; b=V2qdrGydADw/D1aVwi7IjPUZgP
	eZcQpqtTNW6V+EK9J3xtH3irKmQJVpb33IK7w/zfHB4T2l8FJoW10MlZSbwClSkAKy5OhAWpa01ii
	/ZJw+whmQ7TYA8P3+vxLQ9Z8fluiafLDKp01oEJGtbyQlievTp+hyIifQRhuMI2hpbts=;
Message-ID: <f84d30cb-e743-60f8-a496-603323b79f37@xen.org>
Date: Fri, 23 Dec 2022 12:22:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.1
Subject: Re: [PATCH 06/22] x86: map/unmap pages in restore_all_guests
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Hongyan Xia <hongyxia@amazon.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Julien Grall <jgrall@amazon.com>,
 xen-devel@lists.xenproject.org
References: <20221216114853.8227-1-julien@xen.org>
 <20221216114853.8227-7-julien@xen.org>
 <478e04bc-6ff7-de01-dfb9-55d579228152@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <478e04bc-6ff7-de01-dfb9-55d579228152@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 22/12/2022 11:12, Jan Beulich wrote:
> On 16.12.2022 12:48, Julien Grall wrote:
>> --- a/xen/arch/x86/x86_64/entry.S
>> +++ b/xen/arch/x86/x86_64/entry.S
>> @@ -165,7 +165,24 @@ restore_all_guest:
>>           and   %rsi, %rdi
>>           and   %r9, %rsi
>>           add   %rcx, %rdi
>> -        add   %rcx, %rsi
>> +
>> +         /*
>> +          * Without a direct map, we have to map first before copying. We only
>> +          * need to map the guest root table but not the per-CPU root_pgt,
>> +          * because the latter is still a xenheap page.
>> +          */
>> +        pushq %r9
>> +        pushq %rdx
>> +        pushq %rax
>> +        pushq %rdi
>> +        mov   %rsi, %rdi
>> +        shr   $PAGE_SHIFT, %rdi
>> +        callq map_domain_page
>> +        mov   %rax, %rsi
>> +        popq  %rdi
>> +        /* Stash the pointer for unmapping later. */
>> +        pushq %rax
>> +
>>           mov   $ROOT_PAGETABLE_FIRST_XEN_SLOT, %ecx
>>           mov   root_table_offset(SH_LINEAR_PT_VIRT_START)*8(%rsi), %r8
>>           mov   %r8, root_table_offset(SH_LINEAR_PT_VIRT_START)*8(%rdi)
>> @@ -177,6 +194,14 @@ restore_all_guest:
>>           sub   $(ROOT_PAGETABLE_FIRST_XEN_SLOT - \
>>                   ROOT_PAGETABLE_LAST_XEN_SLOT - 1) * 8, %rdi
>>           rep movsq
>> +
>> +        /* Unmap the page. */
>> +        popq  %rdi
>> +        callq unmap_domain_page
>> +        popq  %rax
>> +        popq  %rdx
>> +        popq  %r9
> 
> While the PUSH/POP are part of what I dislike here, I think this wants
> doing differently: Establish a mapping when putting in place a new guest
> page table, and use the pointer here. This could be a new per-domain
> mapping, to limit its visibility.

I have looked at a per-domain approach and this looks way more complex 
than the few concise lines here (not mentioning the extra amount of 
memory).

So I am not convinced this is worth the effort here.

I don't have an other approach in mind. So are you disliking this 
approach to the point this will be nacked?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 12:52:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 12:52:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468939.728156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8hXC-0006kt-Rm; Fri, 23 Dec 2022 12:52:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468939.728156; Fri, 23 Dec 2022 12:52:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8hXC-0006km-PE; Fri, 23 Dec 2022 12:52:22 +0000
Received: by outflank-mailman (input) for mailman id 468939;
 Fri, 23 Dec 2022 12:52:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8hXB-0006kc-Iy; Fri, 23 Dec 2022 12:52:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8hXB-0004v7-BA; Fri, 23 Dec 2022 12:52:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8hXA-0003cC-Pa; Fri, 23 Dec 2022 12:52:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8hXA-0000Cl-P7; Fri, 23 Dec 2022 12:52:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qM7s7klQiDQBRXnBITVyS3OJEdkK5ihyoVZe0m9pQCc=; b=uNXyS01jB+yTovXrO9Z7i8643o
	HfNaAxhdgAsDlFZPhM0FgE0qgxbVqIUYhc3rRXBFID6sHALXI/mwuYBdoq/Sg8AM0eFhBwPPdvZsr
	gtD/zGtBKiDAw71ruyskOr8TOu8FgC94CCcri6OqdMeUG1rwLcW3u1PZcuD1Wg/TWdL8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175459-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175459: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-examine:reboot:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-examine:reboot:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 23 Dec 2022 12:52:20 +0000

flight 175459 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175459/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175459
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175459
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175459
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175459
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175407 pass in 175459
 test-arm64-arm64-examine      8 reboot           fail in 175445 pass in 175459
 test-armhf-armhf-xl 18 guest-start/debian.repeat fail in 175445 pass in 175459
 test-armhf-armhf-xl-credit1  14 guest-start      fail in 175445 pass in 175459
 test-armhf-armhf-xl-vhd      13 guest-start      fail in 175445 pass in 175459
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-amd64-amd64-examine      8 reboot                     fail pass in 175445
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  7 xen-install fail pass in 175445
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 175445

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-arndale 18 guest-start/debian.repeat fail blocked in 175197
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z    9 days
Testing same since   175407  2022-12-19 11:42:26 Z    4 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 13:26:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 13:26:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468948.728168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8i3w-0001le-Gu; Fri, 23 Dec 2022 13:26:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468948.728168; Fri, 23 Dec 2022 13:26:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8i3w-0001lX-Ch; Fri, 23 Dec 2022 13:26:12 +0000
Received: by outflank-mailman (input) for mailman id 468948;
 Fri, 23 Dec 2022 13:26:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8i3v-0001lM-HP; Fri, 23 Dec 2022 13:26:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8i3v-0005iS-EA; Fri, 23 Dec 2022 13:26:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8i3u-0004bV-VQ; Fri, 23 Dec 2022 13:26:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8i3u-0005vG-Uy; Fri, 23 Dec 2022 13:26:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UpnMT80zebJHJgqv1oMHE7KhooB1vUE0gNPFtexZZtM=; b=ahbsNb/2G4k+XFY5l8/uY6f7Yx
	wBxv4qFCvN4Qn+VYnXWFoWYGwj+GejY5ZAE4adbBUTrgfiUnYQaP41zq2DfFc4BIRtXuYDcKMqwtI
	dKdX1ngS9Z6m+KgBPGNIGeWx6DxltUOy+Pvd3w6BwGP0H6AS58HKwM8D6+/Th6VZRD+k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175464-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175464: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=03697629bc1d05742098038bf3e93f519b0a7711
X-Osstest-Versions-That:
    xen=43b5d7b14c569e2deaf6a2863cfa44351061ad80
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 23 Dec 2022 13:26:10 +0000

flight 175464 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175464/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  03697629bc1d05742098038bf3e93f519b0a7711
baseline version:
 xen                  43b5d7b14c569e2deaf6a2863cfa44351061ad80

Last test of basis   175455  2022-12-22 10:00:28 Z    1 days
Testing same since   175464  2022-12-23 10:03:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   43b5d7b14c..03697629bc  03697629bc1d05742098038bf3e93f519b0a7711 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 13:50:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 13:50:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468959.728179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8iRL-0005A4-JD; Fri, 23 Dec 2022 13:50:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468959.728179; Fri, 23 Dec 2022 13:50:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8iRL-00059x-GV; Fri, 23 Dec 2022 13:50:23 +0000
Received: by outflank-mailman (input) for mailman id 468959;
 Fri, 23 Dec 2022 13:50:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p8iRJ-00059r-Uz
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 13:50:21 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8iRJ-0006G5-G2; Fri, 23 Dec 2022 13:50:21 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.3.230]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8iRJ-0006DH-5K; Fri, 23 Dec 2022 13:50:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=zk0hESTuJ1pSguZZ4wmRnKwDN8uHhE2RK1592n9wHAc=; b=JemsAzkp2CMNiZOgCnBOTF/M8O
	DYgwO1BFLXDJsuhQ74lo0hkfhVMr327GLIk/yPL+ISZE9HMlFdRKH8SjgZKeGjaFjmxxUf0E6KlZh
	0oupkKOkPUoEGfTHrZMtDzwesRm0Owh+7KKqRfyhiZn6g/xM2I9oRQrKgtNZNf/zoV6U=;
Message-ID: <3343c927-0f27-e285-5b6e-281c61939bb4@xen.org>
Date: Fri, 23 Dec 2022 13:50:18 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.1
Subject: Re: [XEN PATCH v1 1/4] arch/riscv: initial RISC-V support to
 build/run minimal Xen
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
 <5d5ec5fbd8787ed8f86bf84a5ac291d07a20b307.1671789736.git.oleksii.kurochko@gmail.com>
Content-Language: en-US
From: Julien Grall <julien@xen.org>
In-Reply-To: <5d5ec5fbd8787ed8f86bf84a5ac291d07a20b307.1671789736.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

+ Anthony for the Makefile changes.

On 23/12/2022 11:16, Oleksii Kurochko wrote:
> The patch provides a minimal amount of changes to start
> build and run minimal Xen binary at GitLab CI&CD that will
> allow continuous checking of the build status of RISC-V Xen.
> 
> RISC-V Xen can be built by the following instructions:
>    $ CONTAINER=riscv64 ./automation/scripts/containerize \
>         make XEN_TARGET_ARCH=riscv64 tiny64_defconfig
>    $ CONTAINER=riscv64 ./automation/scripts/containerize \
>         make XEN_TARGET_ARCH=riscv64 -C xen build
> 
> RISC-V Xen can be run as:
>    $ qemu-system-riscv64 -M virt -smp 1 -nographic -m 2g \
>         -kernel xen/xen
> 
> To run in debug mode should be done the following instructions:
>   $ qemu-system-riscv64 -M virt -smp 1 -nographic -m 2g \
>          -kernel xen/xen -s -S
>   # In separate terminal:
>   $ riscv64-buildroot-linux-gnu-gdb
>   $ target remote :1234
>   $ add-symbol-file <xen_src>/xen/xen-syms 0x80200000
>   $ hb *0x80200000
>   $ c # it should stop at instruction j 0x80200000 <start>
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>   xen/arch/riscv/Makefile             | 30 +++++++++++++
>   xen/arch/riscv/arch.mk              | 10 +++++
>   xen/arch/riscv/include/asm/config.h | 26 ++++++++++-
>   xen/arch/riscv/include/asm/types.h  | 11 +++++
>   xen/arch/riscv/riscv64/Makefile     |  2 +-
>   xen/arch/riscv/riscv64/head.S       |  2 +-
>   xen/arch/riscv/xen.lds.S            | 69 +++++++++++++++++++++++++++++
>   7 files changed, 147 insertions(+), 3 deletions(-)
>   create mode 100644 xen/arch/riscv/include/asm/types.h
>   create mode 100644 xen/arch/riscv/xen.lds.S
> 
> diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
> index 942e4ffbc1..893dd19ea6 100644
> --- a/xen/arch/riscv/Makefile
> +++ b/xen/arch/riscv/Makefile
> @@ -1,2 +1,32 @@
> +obj-$(CONFIG_RISCV_64) += riscv64/
> +
> +$(TARGET): $(TARGET)-syms
> +	$(OBJCOPY) -O binary -S $< $@
> +
> +$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
> +		$(SYMBOLS_DUMMY_OBJ) -o $(@D)/.$(@F).0
> +	$(NM) -pa --format=sysv $(@D)/.$(@F).0 \
> +		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).0.S
> +	$(MAKE) $(build)=$(@D) $(@D)/.$(@F).0.o
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
> +		$(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
> +	$(NM) -pa --format=sysv $(@D)/.$(@F).1 \
> +		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort >$(@D)/.$(@F).1.S
> +	$(MAKE) $(build)=$(@D) $(@D)/.$(@F).1.o
> +	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
> +		$(@D)/.$(@F).1.o -o $@
> +	$(NM) -pa --format=sysv $(@D)/$(@F) \
> +		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
> +		>$(@D)/$(@F).map
> +	rm -f $(@D)/.$(@F).[0-9]*
> +
> +$(obj)/xen.lds: $(src)/xen.lds.S FORCE
> +	        $(call if_changed_dep,cpp_lds_S)
> +
> +.PHONY: clean
> +clean::
> +	rm -f $(objtree)/.xen-syms.[0-9]*

Any reason to not use the variable clean-files as this is done for the 
other architectures?

> +
>   .PHONY: include
>   include:
> diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
> index ae8fe9dec7..9292b72718 100644
> --- a/xen/arch/riscv/arch.mk
> +++ b/xen/arch/riscv/arch.mk
> @@ -11,3 +11,13 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
>   # -mcmodel=medlow would force Xen into the lower half.
>   
>   CFLAGS += -march=$(riscv-march-y) -mstrict-align -mcmodel=medany
> +
> +# TODO: Drop override and SYMBOLS_DUMMY_OBJ when more
> +# of the build is working
> +override ALL_OBJS-y = arch/$(TARGET_ARCH)/built_in.o
> +override ALL_LIBS-y =
> +ifneq ($(wildcard $(objtree)/common/symbols-dummy.o),)
> +SYMBOLS_DUMMY_OBJ=$(objtree)/common/symbols-dummy.o
> +else
> +SYMBOLS_DUMMY_OBJ=
> +endif

Why do you need the ifneq here?

> diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
> index e2ae21de61..756607a4a2 100644
> --- a/xen/arch/riscv/include/asm/config.h
> +++ b/xen/arch/riscv/include/asm/config.h
> @@ -28,7 +28,7 @@
>   
>   /* Linkage for RISCV */
>   #ifdef __ASSEMBLY__
> -#define ALIGN .align 2
> +#define ALIGN .align 4

Can you explain in the commit message why you need to change this? But 
ideally, this change should be part of a separate one.

>   
>   #define ENTRY(name)                                \
>     .globl name;                                     \
> @@ -36,6 +36,30 @@
>     name:
>   #endif
>   
> +/*
> + * Definition of XEN_VIRT_START should look like:
> + *   define XEN_VIRT_START _AT(vaddr_t,0x00200000)
> + * It requires including of additional headers which
> + * will increase an amount of files unnecessary for
> + * minimal RISC-V Xen build so set value of
> + * XEN_VIRT_START explicitly.
> + *
> + * TODO: change it to _AT(vaddr_t,0x00200000) when
> + *       necessary header will be pushed.

The address here doesn't match the one below. I know this is an example 
but this is fairly confusing.

> + */
> +#define XEN_VIRT_START  0x80200000

I think you at least want to use _AT(unsigned long, ...) here to make 
clear this value should be interpreted as an unsigned value.

You could even define vaddr_t now as you introduce a dummy types.h below.

> +/*
> + * PAGE_SIZE is defined in <{asm,xen}/page-*.h> but to
> + * remove unnecessary headers for minimal
> + * build headers it will be better to set PAGE_SIZE
> + * explicitly.

TBH, I think this is a shortcut that is unnecessary and will only 
introduce extra churn in the future (for instance, you will need to 
modify the include in xen.lds.S).

But I am not the maintainer, so I will leave that decision to them 
whether this is acceptable.

> + *
> + * TODO: remove it when <asm/page-*.h> will be needed
> + *       defintion of PAGE_SIZE should be remove from

s/defintion/definition/

> + *       this header.
> + */
> +#define PAGE_SIZE       4096 > +
>   #endif /* __RISCV_CONFIG_H__ */
>   /*
>    * Local variables:
> diff --git a/xen/arch/riscv/include/asm/types.h b/xen/arch/riscv/include/asm/types.h
> new file mode 100644
> index 0000000000..afbca6b15c
> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/types.h
> @@ -0,0 +1,11 @@
> +#ifndef __TYPES_H__
> +#define __TYPES_H__
> +
> +/*
> + *
> + * asm/types.h is required for xen-syms.S file which
> + * is produced by tools/symbols.
> + *
> + */
> +
> +#endif
> diff --git a/xen/arch/riscv/riscv64/Makefile b/xen/arch/riscv/riscv64/Makefile
> index 15a4a65f66..3340058c08 100644
> --- a/xen/arch/riscv/riscv64/Makefile
> +++ b/xen/arch/riscv/riscv64/Makefile
> @@ -1 +1 @@
> -extra-y += head.o
> +obj-y += head.o

This changes want to be explained. So does...

> diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
> index 0dbc27ba75..0330b29c01 100644
> --- a/xen/arch/riscv/riscv64/head.S
> +++ b/xen/arch/riscv/riscv64/head.S
> @@ -1,6 +1,6 @@
>   #include <asm/config.h>
>   
> -        .text
> +        .section .text.header, "ax", %progbits

... AFAICT this is to match the recent change in the build system.

>   
>   ENTRY(start)
>           j  start
> diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
> new file mode 100644
> index 0000000000..60628b3856
> --- /dev/null
> +++ b/xen/arch/riscv/xen.lds.S
> @@ -0,0 +1,69 @@
> +#include <xen/xen.lds.h>
> +
> +#undef ENTRY
> +#undef ALIGN
> +
> +OUTPUT_ARCH(riscv)
> +ENTRY(start)
> +
> +PHDRS
> +{
> +  text PT_LOAD ;
> +#if defined(BUILD_ID)
> +  note PT_NOTE ;
> +#endif
> +}
> +
> +SECTIONS
> +{
> +  . = XEN_VIRT_START;
> +  _start = .;
> +  .text : {
> +        _stext = .;
> +       *(.text.header)
> +       *(.text)

You are missing some sections here such as .text.cold, .text.unlikely...

I understand they are probably not used yet. But it will avoid any nasty 
surprise if they are forgotten.

> +       *(.gnu.warning)
> +       . = ALIGN(POINTER_ALIGN);
> +       _etext = .;
> +  } :text
> +
> +    . = ALIGN(PAGE_SIZE);
> +  .rodata : {
> +        _srodata = .;

You introduce _srodata but I can't find the matching _erodata.

> +       *(.rodata)
> +       *(.rodata.*)
> +       *(.data.rel.ro)
> +       *(.data.rel.ro.*)
> +  } :text
> +
> +#if defined(BUILD_ID)
> +  . = ALIGN(4);
> +  .note.gnu.build-id : {
> +       __note_gnu_build_id_start = .;
> +       *(.note.gnu.build-id)
> +       __note_gnu_build_id_end = .;
> +  } :note :text
> +#endif
> +
> +  . = ALIGN(PAGE_SIZE);
> +  .data : { /* Data */
> +       *(.data .data.*)

It would be better if you introduce .data.read_mostly right now separately.

You also want *.data.page_aligned in .data.

Lastly you are missing CONSTRUCTORS

> +  } :text
> +

I am assuming you are going to add .init.* afterwards?

> +  . = ALIGN(PAGE_SIZE);
> +  .bss : {
> +       __bss_start = .;
> +       *(.bss .bss.*)
> +       . = ALIGN(POINTER_ALIGN);
> +       __bss_end = .;

Same as .data, I would recommend to properly populate it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 14:09:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 14:09:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468966.728189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8ijO-0006qM-61; Fri, 23 Dec 2022 14:09:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468966.728189; Fri, 23 Dec 2022 14:09:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8ijO-0006qF-2f; Fri, 23 Dec 2022 14:09:02 +0000
Received: by outflank-mailman (input) for mailman id 468966;
 Fri, 23 Dec 2022 14:09:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8ijM-0006q5-A3; Fri, 23 Dec 2022 14:09:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8ijM-0006h7-8G; Fri, 23 Dec 2022 14:09:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8ijL-0006II-Q1; Fri, 23 Dec 2022 14:08:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8ijL-00069B-Pc; Fri, 23 Dec 2022 14:08:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=l6kmM0KOWMVGBCuDRpXc6KsDwQyUbf1yRC/thQB7P+s=; b=rnDPTbqitFzMmGX39WZ3pF8Zut
	k6CBBBCkXDNtmj8k5wS0PDc0MGfAzWnxG36xc3Pn7/KPI6orDC7WjmJFaml67g1CzeOP38xxv2SgG
	DUAJc/6MkRNw/pfb5iMOfWkS4aRiAThGHJsYTgwHv1mEp8XTemGMb2N1qZ710Ah/w0pQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175465-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175465: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=bf65d7ee8842a93116534f727abcad235dd3e233
X-Osstest-Versions-That:
    ovmf=d8d4abdff9096a69ff59d96ac4a8dd0e19e5cbcc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 23 Dec 2022 14:08:59 +0000

flight 175465 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175465/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 bf65d7ee8842a93116534f727abcad235dd3e233
baseline version:
 ovmf                 d8d4abdff9096a69ff59d96ac4a8dd0e19e5cbcc

Last test of basis   175461  2022-12-22 18:12:21 Z    0 days
Testing same since   175465  2022-12-23 12:10:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   d8d4abdff9..bf65d7ee88  bf65d7ee8842a93116534f727abcad235dd3e233 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 17:14:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 17:14:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468977.728200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8lcH-0000FT-7i; Fri, 23 Dec 2022 17:13:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468977.728200; Fri, 23 Dec 2022 17:13:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8lcH-0000FM-58; Fri, 23 Dec 2022 17:13:53 +0000
Received: by outflank-mailman (input) for mailman id 468977;
 Fri, 23 Dec 2022 17:13:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8lcF-0000FC-Gh; Fri, 23 Dec 2022 17:13:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8lcF-0002xn-Dn; Fri, 23 Dec 2022 17:13:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8lcE-0007hk-SM; Fri, 23 Dec 2022 17:13:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8lcE-00043t-Rv; Fri, 23 Dec 2022 17:13:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fSyD7l+xqbRtABIKtMMZvhD7JJHH2b5PEmqkiaQzuGc=; b=pdjJvvW1q55SbB0FR90yrPRwLw
	AVGkzxnNqxxP7zBCX251ADEHycp3Hrqcd0Puq0HFV91ohCUNdLkWeeQOhmttpRFA1vQMc7nBo8SvC
	xO0mwr4phhXsdTll1MdRrA07oUFTF6LeUfSUam1joHRmYA+o2NasP91DNhihKDh6qLMM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175467-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175467: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a086f4a63bc0295b0b02f8ee76381c6b437122bf
X-Osstest-Versions-That:
    ovmf=bf65d7ee8842a93116534f727abcad235dd3e233
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 23 Dec 2022 17:13:50 +0000

flight 175467 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175467/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a086f4a63bc0295b0b02f8ee76381c6b437122bf
baseline version:
 ovmf                 bf65d7ee8842a93116534f727abcad235dd3e233

Last test of basis   175465  2022-12-23 12:10:49 Z    0 days
Testing same since   175467  2022-12-23 15:12:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Laszlo Ersek <lersek@redhat.com>
  Michael Brown <mcb30@ipxe.org>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   bf65d7ee88..a086f4a63b  a086f4a63bc0295b0b02f8ee76381c6b437122bf -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 17:31:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 17:31:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468986.728211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8ltL-0002fg-Mh; Fri, 23 Dec 2022 17:31:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468986.728211; Fri, 23 Dec 2022 17:31:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8ltL-0002fZ-Jx; Fri, 23 Dec 2022 17:31:31 +0000
Received: by outflank-mailman (input) for mailman id 468986;
 Fri, 23 Dec 2022 17:31:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8ltJ-0002fP-N1; Fri, 23 Dec 2022 17:31:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8ltJ-0003Rs-Jd; Fri, 23 Dec 2022 17:31:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8ltJ-0008IU-5A; Fri, 23 Dec 2022 17:31:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8ltJ-0002wx-4f; Fri, 23 Dec 2022 17:31:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=djRXrbsoCmKF8RnVlx7QThje4HgkfDv0FZ5Q7iqZoQY=; b=mHHAR2+SmqY3Ah0in+/evBEaRg
	VF3SINGT9eMIwDdR10sro4gBb0C4ujSuxGz8yfFmsDI6vIZVEidlam+PArLmUdQ6HsGmDpmk0DdBE
	d6AgyfQeC26boAK+dbRWsBbEsBiYrRV2nEyVv3ge5XxbP2R9QZNN94YiUrObUkY03juM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175460-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175460: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=43b5d7b14c569e2deaf6a2863cfa44351061ad80
X-Osstest-Versions-That:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 23 Dec 2022 17:31:29 +0000

flight 175460 xen-unstable real [real]
flight 175468 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175460/
http://logs.test-lab.xenproject.org/osstest/logs/175468/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 175399

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-debianhvm-amd64 7 xen-install fail pass in 175468-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175399
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175399
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175399
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175399
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175399
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175399
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175399
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175399
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175399
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  43b5d7b14c569e2deaf6a2863cfa44351061ad80
baseline version:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2

Last test of basis   175399  2022-12-19 01:53:26 Z    4 days
Failing since        175408  2022-12-19 15:38:33 Z    4 days    5 attempts
Testing same since   175460  2022-12-22 16:39:57 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Edwin Török <edvin.torok@citrix.com>
  Edwin Török <edwin.torok@cloud.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Neowutran <xen@neowutran.ovh>
  Roger Pau Monné <roger.pau@citrix.com>
  Sergey Dyasli <sergey.dyasli@citrix.com>
  Stewart Hildebrand <stewart.hildebrand@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     fail    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 523 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 17:56:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 17:56:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.468998.728226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8mHn-0005Ex-TM; Fri, 23 Dec 2022 17:56:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 468998.728226; Fri, 23 Dec 2022 17:56:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8mHn-0005Eq-Pf; Fri, 23 Dec 2022 17:56:47 +0000
Received: by outflank-mailman (input) for mailman id 468998;
 Fri, 23 Dec 2022 17:56:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1p8mHm-0005Ek-66
 for xen-devel@lists.xenproject.org; Fri, 23 Dec 2022 17:56:46 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8mHl-00042W-Rm; Fri, 23 Dec 2022 17:56:45 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.3.230]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1p8mHl-0003oo-M0; Fri, 23 Dec 2022 17:56:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=bt61lqVJ2EW8ganxxeyBXG4uFMwk60qF7HYvxm5i8gI=; b=PR1LVzAEBckfuzrjru362lpUnR
	rWziROpKGe1h3rFVqXF0sGMpt6dQvUOVKupGIe8OwHFzP7Rg0K3AWUyozEkRf/go05lKk+pCdivJo
	NT95AnMqtroWcMK7DsZiU7Tyo7bCjyNB6P69qnGUqJRe62qMhye/5sQUpSxjGbhGZsDQ=;
Message-ID: <3e0ba92c-1aae-4d2e-5346-16a96a482d03@xen.org>
Date: Fri, 23 Dec 2022 17:56:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.6.1
Subject: Re: [PATCH v5 0/2] xen/arm: refine vpl011
Content-Language: en-US
To: Jiamei Xie <jiamei.xie@arm.com>, xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20221205072640.2092473-1-jiamei.xie@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20221205072640.2092473-1-jiamei.xie@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jiamei,

On 05/12/2022 07:26, Jiamei Xie wrote:
> This patch is the version 5 for "xen/arm: vpl011: Make access to DMACR
> write-ignore" [1].
> 
> [1] https://patchwork.kernel.org/project/xen-devel/patch/20221122054644.1092173-1-jiamei.xie@arm.com/

Sorry, it looks like I forgot to commit this series.

It is now committed. @Stefano, I think we should consider at least patch 
#1 for backport to stable branches.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 20:36:07 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 20:36:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469008.728246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8olm-0004A9-4V; Fri, 23 Dec 2022 20:35:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469008.728246; Fri, 23 Dec 2022 20:35:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8olm-0004A2-1M; Fri, 23 Dec 2022 20:35:54 +0000
Received: by outflank-mailman (input) for mailman id 469008;
 Fri, 23 Dec 2022 20:35:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8oll-00049s-Av; Fri, 23 Dec 2022 20:35:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8oll-0007js-8Q; Fri, 23 Dec 2022 20:35:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8olk-0008Tb-Pf; Fri, 23 Dec 2022 20:35:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8olk-0002cs-PD; Fri, 23 Dec 2022 20:35:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BaLfaZSdns1NbGuw8obBm9xHTSj00IybFqruhLlYaQM=; b=1C4a4hg++F2+xX0DzlN0Z5CBVR
	rGBMD38Zx/XBI7rsCn7BkXr6UGpZVmABrl0cg+RCm3IuYV65JKAOO23EWE9dlxSMRPHj05rJwtkk0
	EF22OApNZaRY764UaD0hyQnh6KP0M0QMXI9RncHEdlY1UZEa1cOIETDimtnAXFAO1AFg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175463-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175463: regressions - FAIL
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:regression
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=9e3cc0ff5e81ed2056a6a528893fd2cb5609d70b
X-Osstest-Versions-That:
    libvirt=d7d405664599772af6fe00d5a6f6256889617f9d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 23 Dec 2022 20:35:52 +0000

flight 175463 libvirt real [real]
flight 175473 libvirt real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175463/
http://logs.test-lab.xenproject.org/osstest/logs/175473/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail REGR. vs. 175450

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175450
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175450
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175450
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 libvirt              9e3cc0ff5e81ed2056a6a528893fd2cb5609d70b
baseline version:
 libvirt              d7d405664599772af6fe00d5a6f6256889617f9d

Last test of basis   175450  2022-12-22 04:20:19 Z    1 days
Testing same since   175463  2022-12-23 04:18:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 9e3cc0ff5e81ed2056a6a528893fd2cb5609d70b
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Tue Dec 20 09:04:48 2022 +0100

    secret: Inhibit shutdown for ephemeral secrets
    
    Our secret driver divides secrets into two groups: ephemeral
    (stored only in memory) and persistent (stored on disk). Now, the
    aim of ephemeral secrets is to define them shortly before being
    used and then undefine them. But 'shortly before being used' is a
    very vague time frame. And since we default to socket activation
    and thus pass '--timeout 120' to every daemon it may happen that
    just defined ephemeral secret is gone among with the virtsecretd.
    
    This is no problem for persistent secrets as their definition
    (and value) is restored when the virtsecretd starts again, but
    ephemeral secrets can't be restored.
    
    Therefore, we could view ephemeral secrets as active objects that
    the daemon manages and thus inhibit automatic shutdown (just like
    hypervisor daemons do when a guest is running).
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 20:57:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 20:57:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469018.728260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8p6p-0006cM-UK; Fri, 23 Dec 2022 20:57:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469018.728260; Fri, 23 Dec 2022 20:57:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8p6p-0006cF-Qz; Fri, 23 Dec 2022 20:57:39 +0000
Received: by outflank-mailman (input) for mailman id 469018;
 Fri, 23 Dec 2022 20:57:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8p6p-0006c5-5h; Fri, 23 Dec 2022 20:57:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8p6o-0008Fo-Qr; Fri, 23 Dec 2022 20:57:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8p6o-00011a-9v; Fri, 23 Dec 2022 20:57:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8p6o-0002o8-9R; Fri, 23 Dec 2022 20:57:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MjewtR19hvsm/1N7Uk4mWmW5plXLcWONhTrNrNq4YRQ=; b=NNiNgw+vJKQ/B2JxK8oMefQLrR
	7EQVwG1YkJIEbyZL8iUqcruikbl8KanQsUnRL5ck7aSzVqsS/j1vi/3I61F4ksLTdNU4aSbgOn8jw
	/VPvB1/6wN503Ofqi8pjv8bL5FKLNUkwQc/JMC0TRTHBJz0w5YBadadm8q4cXXRUpUuk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175472-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175472: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=84ece04e7f11fe30c2f83753d72f481610357ed0
X-Osstest-Versions-That:
    xen=03697629bc1d05742098038bf3e93f519b0a7711
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 23 Dec 2022 20:57:38 +0000

flight 175472 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175472/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  84ece04e7f11fe30c2f83753d72f481610357ed0
baseline version:
 xen                  03697629bc1d05742098038bf3e93f519b0a7711

Last test of basis   175464  2022-12-23 10:03:30 Z    0 days
Testing same since   175472  2022-12-23 18:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   03697629bc..84ece04e7f  84ece04e7f11fe30c2f83753d72f481610357ed0 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 21:50:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 21:50:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469027.728271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8pvi-0004Ib-Qy; Fri, 23 Dec 2022 21:50:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469027.728271; Fri, 23 Dec 2022 21:50:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8pvi-0004IU-OE; Fri, 23 Dec 2022 21:50:14 +0000
Received: by outflank-mailman (input) for mailman id 469027;
 Fri, 23 Dec 2022 21:50:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8pvh-0004IK-Rg; Fri, 23 Dec 2022 21:50:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8pvh-00010t-P7; Fri, 23 Dec 2022 21:50:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8pvg-0003ZP-KF; Fri, 23 Dec 2022 21:50:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8pvg-0005xq-Js; Fri, 23 Dec 2022 21:50:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=twJpT9Mh+mnn75MXNHmdbHJwAY6bJELJonaJQX6Kl8Y=; b=UhNzudecqVM+3SXZNZNo75KjQa
	xBUbZ4nppsXgS0XLHn4/nix4JZo55+Jqz5bPgJnRnZICB8nXGxtzbiJ8XqKiRS8ItDSqP91gpBBlk
	dcy3t5E6rbojRrg7VnOvYRjxc0lpd3mL1yGl58OjSLDltpyrE82TytAMZI0DuxzMq1qs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175462-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175462: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-xl-seattle:<job status>:broken:regression
    linux-linus:test-arm64-arm64-xl-seattle:host-install(5):broken:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=8395ae05cb5a2e31d36106e8c85efa11cda849be
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 23 Dec 2022 21:50:12 +0000

flight 175462 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175462/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-xl-seattle     <job status>                 broken
 test-arm64-arm64-xl-seattle   5 host-install(5)        broken REGR. vs. 173462
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                8395ae05cb5a2e31d36106e8c85efa11cda849be
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   77 days
Failing since        173470  2022-10-08 06:21:34 Z   76 days  153 attempts
Testing same since   175462  2022-12-23 03:57:17 Z    0 days    1 attempts

------------------------------------------------------------
3224 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  broken  
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-arm64-arm64-xl-seattle broken
broken-step test-arm64-arm64-xl-seattle host-install(5)

Not pushing.

(No revision log; it would be 491085 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 23 23:10:27 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 23 Dec 2022 23:10:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469038.728282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8rB6-0003vx-P0; Fri, 23 Dec 2022 23:10:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469038.728282; Fri, 23 Dec 2022 23:10:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8rB6-0003vq-Lc; Fri, 23 Dec 2022 23:10:12 +0000
Received: by outflank-mailman (input) for mailman id 469038;
 Fri, 23 Dec 2022 23:10:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8rB5-0003vg-EE; Fri, 23 Dec 2022 23:10:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8rB5-0002fK-9A; Fri, 23 Dec 2022 23:10:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8rB4-000682-TR; Fri, 23 Dec 2022 23:10:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8rB4-0007Uc-SV; Fri, 23 Dec 2022 23:10:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ph+5/70ndviGxoek5cUIMErW+Zu0AV+KvG0I3v09tag=; b=y5Asj4pLnXBBVez+fFBeU34Znc
	xSA5+hnGAJ9X2T253uJskPLPEbgB/TibPLQ0HAPGtsHWIEhC9vrG8eddizveBhkwPEhBLJtHO9lNR
	UdERtcavuje37Hd/NzH6G7B1u8LhlJSK9/20FFxA3S4V33nVkoirOhdYJXzPNKmqmrmQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175466-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175466: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-examine:reboot:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-examine:reboot:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:xen-boot:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 23 Dec 2022 23:10:10 +0000

flight 175466 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175466/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175466
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175466
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175466
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175466
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175407 pass in 175466
 test-armhf-armhf-xl-credit1  14 guest-start      fail in 175445 pass in 175459
 test-arm64-arm64-examine      8 reboot           fail in 175445 pass in 175466
 test-armhf-armhf-xl 18 guest-start/debian.repeat fail in 175445 pass in 175466
 test-armhf-armhf-xl-vhd      13 guest-start      fail in 175445 pass in 175466
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 175459 pass in 175407
 test-amd64-amd64-examine      8 reboot           fail in 175459 pass in 175466
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail in 175459 pass in 175466
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 175445
 test-armhf-armhf-xl-credit1   8 xen-boot                   fail pass in 175459
 test-armhf-armhf-libvirt-raw 13 guest-start                fail pass in 175459
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat  fail pass in 175459

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-arndale 18 guest-start/debian.repeat fail in 175459 blocked in 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 175459 like 175197
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 175459 never pass
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 175459 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 175459 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z    9 days
Testing same since   175407  2022-12-19 11:42:26 Z    4 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 24 02:05:26 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 24 Dec 2022 02:05:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469049.728299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8tuR-0002uH-DJ; Sat, 24 Dec 2022 02:05:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469049.728299; Sat, 24 Dec 2022 02:05:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p8tuR-0002uA-9R; Sat, 24 Dec 2022 02:05:11 +0000
Received: by outflank-mailman (input) for mailman id 469049;
 Sat, 24 Dec 2022 02:05:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8tuQ-0002u0-Bv; Sat, 24 Dec 2022 02:05:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8tuQ-0005rB-8O; Sat, 24 Dec 2022 02:05:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p8tuP-0004q6-Rn; Sat, 24 Dec 2022 02:05:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p8tuP-0003ds-Q9; Sat, 24 Dec 2022 02:05:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tkza5FLs3tCQQwSu/7TVVZud6fWr21ACn8AaGzBYP7k=; b=aP8ygCM+ux6bTNJW4QUNymRi1d
	I2Cqcv/DBNbVn5ruwxvL/lKuKxarOaEsJtvr9Oo2YRUmrChoSdcHj/upuzwCbgXLJ97yAEBo7X996
	R0KSpVwBofNCnRWKtilt4F0aNEbLWr+fYXXp0G75oXPrpFsxN+9YqMbKYWxHJvVZom8Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175470-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175470: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    xen-unstable:test-amd64-i386-xl-shadow:xen-install:fail:nonblocking
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=03697629bc1d05742098038bf3e93f519b0a7711
X-Osstest-Versions-That:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 24 Dec 2022 02:05:09 +0000

flight 175470 xen-unstable real [real]
flight 175479 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175470/
http://logs.test-lab.xenproject.org/osstest/logs/175479/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 175399

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-shadow     7 xen-install                  fail  like 175383
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install             fail like 175383
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175399
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175399
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175399
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175399
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175399
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175399
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175399
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175399
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175399
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  03697629bc1d05742098038bf3e93f519b0a7711
baseline version:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2

Last test of basis   175399  2022-12-19 01:53:26 Z    5 days
Failing since        175408  2022-12-19 15:38:33 Z    4 days    6 attempts
Testing same since   175470  2022-12-23 17:35:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Edwin Török <edvin.torok@citrix.com>
  Edwin Török <edwin.torok@cloud.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Neowutran <xen@neowutran.ovh>
  Roger Pau Monné <roger.pau@citrix.com>
  Sergey Dyasli <sergey.dyasli@citrix.com>
  Stewart Hildebrand <stewart.hildebrand@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 538 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 24 09:08:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 24 Dec 2022 09:08:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469066.728319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p90WC-00032x-CN; Sat, 24 Dec 2022 09:08:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469066.728319; Sat, 24 Dec 2022 09:08:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p90WC-00032q-8s; Sat, 24 Dec 2022 09:08:36 +0000
Received: by outflank-mailman (input) for mailman id 469066;
 Sat, 24 Dec 2022 09:08:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p90WA-00032c-Q5; Sat, 24 Dec 2022 09:08:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p90WA-0000gu-Mu; Sat, 24 Dec 2022 09:08:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p90WA-0002B3-7E; Sat, 24 Dec 2022 09:08:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p90WA-00016E-6s; Sat, 24 Dec 2022 09:08:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sC1GarFBK+U3lRvcUx6/wqV5Ux/HJjp2uxqoejbYTtA=; b=sG7bLBG13wmfED5L2rEs/adAUP
	mvD7/5hIaZG1Y4xJQ03+J4dfuS8bJA8YzdhxOembzNQPbxiTs3zazs9LruWCI2xVGUGHgmxo4gFav
	FctV33nczKSUOxT1jCaNC4dgDpDz5mG9nEkjPUOlvgRbNspTVhgIMGVBYbMBf6VNnnRk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175476-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175476: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=51094a24b85e29138b7fa82ef1e1b4fe19c90046
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 24 Dec 2022 09:08:34 +0000

flight 175476 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175476/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                51094a24b85e29138b7fa82ef1e1b4fe19c90046
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   77 days
Failing since        173470  2022-10-08 06:21:34 Z   77 days  154 attempts
Testing same since   175476  2022-12-23 22:12:03 Z    0 days    1 attempts

------------------------------------------------------------
3240 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 493933 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 24 09:50:17 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 24 Dec 2022 09:50:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469077.728330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p91AR-00084P-DV; Sat, 24 Dec 2022 09:50:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469077.728330; Sat, 24 Dec 2022 09:50:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p91AR-00084I-AY; Sat, 24 Dec 2022 09:50:11 +0000
Received: by outflank-mailman (input) for mailman id 469077;
 Sat, 24 Dec 2022 09:50:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p91AQ-000848-94; Sat, 24 Dec 2022 09:50:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p91AQ-0001dy-6S; Sat, 24 Dec 2022 09:50:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p91AP-0003NG-OU; Sat, 24 Dec 2022 09:50:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p91AP-0000HL-O5; Sat, 24 Dec 2022 09:50:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uLSyLO/rbQxdf2ACbLmUzhQ+sSA62Zh62a8kGjrqjx8=; b=O8H3IRbxnldXcfsZMTbksBL0hl
	45Yn18ESmXDs72nvtAdQ4wOW0Ga5Z/yzCGjJF3FJMQMf6ODgracr/lTWJY08v6uCXEn3oig+8LpAR
	hqJgEtKp4V9H7AFv+yaFEWSrheKeGINNy9S1pTgeEC3BZXC549w0EAJFlE5p65NxoHW4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175477-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175477: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-examine:reboot:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-examine:reboot:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:xen-boot:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 24 Dec 2022 09:50:09 +0000

flight 175477 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175477/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175477
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175477
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175477
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175477
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175407 pass in 175477
 test-arm64-arm64-examine      8 reboot           fail in 175445 pass in 175477
 test-armhf-armhf-xl 18 guest-start/debian.repeat fail in 175445 pass in 175477
 test-armhf-armhf-xl-vhd      13 guest-start      fail in 175445 pass in 175477
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 175459 pass in 175407
 test-amd64-amd64-examine      8 reboot           fail in 175459 pass in 175477
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail in 175459 pass in 175477
 test-armhf-armhf-xl-credit1   8 xen-boot         fail in 175466 pass in 175477
 test-armhf-armhf-libvirt-raw 13 guest-start      fail in 175466 pass in 175477
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 175466 pass in 175477
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 175445
 test-armhf-armhf-xl-credit1  14 guest-start                fail pass in 175459
 test-armhf-armhf-xl-credit2  14 guest-start                fail pass in 175466
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 175466

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-arndale 18 guest-start/debian.repeat fail in 175459 blocked in 175197
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 175459 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 175459 never pass
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 175466 like 175197
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 175466 like 175197
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 175466 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 175466 never pass
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 175466 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 175466 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z    9 days
Testing same since   175407  2022-12-19 11:42:26 Z    4 days    7 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 24 13:35:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 24 Dec 2022 13:35:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469091.728341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p94fe-00046s-HB; Sat, 24 Dec 2022 13:34:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469091.728341; Sat, 24 Dec 2022 13:34:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p94fe-00046l-Dv; Sat, 24 Dec 2022 13:34:38 +0000
Received: by outflank-mailman (input) for mailman id 469091;
 Sat, 24 Dec 2022 13:34:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p94fc-00046b-JI; Sat, 24 Dec 2022 13:34:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p94fc-00072E-Fx; Sat, 24 Dec 2022 13:34:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p94fc-0005nk-4n; Sat, 24 Dec 2022 13:34:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p94fc-0002Jh-3x; Sat, 24 Dec 2022 13:34:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2nAsDIBv+6JBUirUXlZfbFJPOW48QeSHfTLrs4rHgDA=; b=owUde6a2i62DfmVVspbLUDSN8y
	Kwz7BGVzxig3OqOJERo00N0XnZTcS8uY9mE7+Uw1OlW9GFVlQv6I/Krz5S7ANFgmQo/iRbhWzAHz+
	BV6lpG1wkFbZ4CFkEJsqaCo0Poquwe33Aa61avE1SniQtU7o9WRpsj7edZQecbKmcDak=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175482-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 175482: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=0f2396751fccdc9f742230763880f70dbd977f3b
X-Osstest-Versions-That:
    libvirt=d7d405664599772af6fe00d5a6f6256889617f9d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 24 Dec 2022 13:34:36 +0000

flight 175482 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175482/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175450
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175450
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175450
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-support-check    fail never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 libvirt              0f2396751fccdc9f742230763880f70dbd977f3b
baseline version:
 libvirt              d7d405664599772af6fe00d5a6f6256889617f9d

Last test of basis   175450  2022-12-22 04:20:19 Z    2 days
Failing since        175463  2022-12-23 04:18:46 Z    1 days    2 attempts
Testing same since   175482  2022-12-24 04:20:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   d7d4056645..0f2396751f  0f2396751fccdc9f742230763880f70dbd977f3b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Dec 24 14:07:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 24 Dec 2022 14:07:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469100.728352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p95Av-0007VZ-1C; Sat, 24 Dec 2022 14:06:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469100.728352; Sat, 24 Dec 2022 14:06:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p95Au-0007VS-Sb; Sat, 24 Dec 2022 14:06:56 +0000
Received: by outflank-mailman (input) for mailman id 469100;
 Sat, 24 Dec 2022 14:06:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p95At-0007VI-Ll; Sat, 24 Dec 2022 14:06:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p95At-0007tr-Hl; Sat, 24 Dec 2022 14:06:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p95At-00078P-2b; Sat, 24 Dec 2022 14:06:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p95At-0001Uo-23; Sat, 24 Dec 2022 14:06:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Qsjxwi2+iGLUA1Iv3LACY70We/cFYeFQeZgkrwVcz34=; b=Hv5Yix2I07osSISUf9p4iUjA2a
	9bp/fu24EBHDMWNBYjlXBfLarnGUF9cKNPjrYadSlbL1frO1OzBg2wkqYsWByY/vAh29/Y/VZ0Q/S
	Y5+nfG9Sji6tth4qeX+8GHVA7fiOzLL3ZOk8/grYaUxXRykvU50uzmWQKJKZcaqKLEg8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175480-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175480: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=84ece04e7f11fe30c2f83753d72f481610357ed0
X-Osstest-Versions-That:
    xen=12b593ca0d61ef884c2f2de15ed36b4900fc92b2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 24 Dec 2022 14:06:55 +0000

flight 175480 xen-unstable real [real]
flight 175485 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/175480/
http://logs.test-lab.xenproject.org/osstest/logs/175485/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175485-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175399
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175399
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175399
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175399
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175399
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175399
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175399
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175399
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175399
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175399
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  84ece04e7f11fe30c2f83753d72f481610357ed0
baseline version:
 xen                  12b593ca0d61ef884c2f2de15ed36b4900fc92b2

Last test of basis   175399  2022-12-19 01:53:26 Z    5 days
Failing since        175408  2022-12-19 15:38:33 Z    4 days    7 attempts
Testing same since   175480  2022-12-24 02:11:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Edwin Török <edvin.torok@citrix.com>
  Edwin Török <edwin.torok@cloud.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Jiamei Xie <jiamei.xie@arm.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Neowutran <xen@neowutran.ovh>
  Roger Pau Monné <roger.pau@citrix.com>
  Sergey Dyasli <sergey.dyasli@citrix.com>
  Stewart Hildebrand <stewart.hildebrand@amd.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   12b593ca0d..84ece04e7f  84ece04e7f11fe30c2f83753d72f481610357ed0 -> master


From xen-devel-bounces@lists.xenproject.org Sat Dec 24 18:45:39 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 24 Dec 2022 18:45:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469144.728494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p99WJ-00037N-Kr; Sat, 24 Dec 2022 18:45:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469144.728494; Sat, 24 Dec 2022 18:45:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p99WJ-00037G-IC; Sat, 24 Dec 2022 18:45:19 +0000
Received: by outflank-mailman (input) for mailman id 469144;
 Sat, 24 Dec 2022 18:45:18 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p99WI-000376-AU; Sat, 24 Dec 2022 18:45:18 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p99WI-0006BS-6V; Sat, 24 Dec 2022 18:45:18 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p99WH-0005xi-L6; Sat, 24 Dec 2022 18:45:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p99WH-0007Bm-Kg; Sat, 24 Dec 2022 18:45:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4V7VKW5wJJ/yz+cYc/HnkgWvkzMdsnasa4WlTgoYc9s=; b=Sofay1eO1CaI8SLcPTCnTqXzxP
	7TVVDuIDC9asn6qwqWBYMQSLq0/r14gcmbNPq5v2rxohSXdIrsveormaPtip9rHPNgRk18YgyZaiE
	ItMo6WiS8rr80eIinFdw2tBtZUIQaXnU1pnleZ4Q7tIZG+TNTQghG19l58liBb8+Y/co=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175484-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175484: trouble: fail/pass/starved
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-examine:reboot:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 24 Dec 2022 18:45:17 +0000

flight 175484 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175484/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175484
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175484
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175484
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175484
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175407 pass in 175484
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 175459 pass in 175407
 test-amd64-amd64-examine      8 reboot           fail in 175459 pass in 175484
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail in 175459 pass in 175484
 test-armhf-armhf-xl-credit2  14 guest-start      fail in 175477 pass in 175484
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 175477 pass in 175484
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 175477 pass in 175484
 test-armhf-armhf-xl-credit1  14 guest-start                fail pass in 175459
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175477
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 175477

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-arndale 18 guest-start/debian.repeat fail in 175459 blocked in 175197
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 175459 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 175459 never pass
 test-arm64-arm64-xl-seattle 15 migrate-support-check fail in 175477 never pass
 test-arm64-arm64-xl-seattle 16 saverestore-support-check fail in 175477 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle   3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   10 days
Testing same since   175407  2022-12-19 11:42:26 Z    5 days    8 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 24 20:38:18 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 24 Dec 2022 20:38:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469153.728506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9BHQ-0005q2-Gn; Sat, 24 Dec 2022 20:38:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469153.728506; Sat, 24 Dec 2022 20:38:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9BHQ-0005pv-Dh; Sat, 24 Dec 2022 20:38:04 +0000
Received: by outflank-mailman (input) for mailman id 469153;
 Sat, 24 Dec 2022 20:38:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9BHO-0005pf-GH; Sat, 24 Dec 2022 20:38:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9BHO-0000Oi-Ce; Sat, 24 Dec 2022 20:38:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9BHN-0008Nr-Uv; Sat, 24 Dec 2022 20:38:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9BHN-0007X2-US; Sat, 24 Dec 2022 20:38:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KNyk+O3EJXfPTAo3fWhY2xkKd8zIMj3cJ0PU6j3JVtc=; b=rPAXILh6nFGimzCWWs+FFgSyxZ
	Vwbv6iwmEasqZ/OJdkojqrODilSPYXHwetc0qp+sUY7DlNXOzaWVCHrX7YFJjhTHH/R8cYtIaljS/
	/SHhqCzTwMlA2oIAZNPrbxaI5Nkcl3xUnlAUgJ5CrlAysUj+kfkS7lHXT8hVSDntPPjA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175483-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175483: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=72a85e2b0a1e1e6fb4ee51ae902730212b2de25c
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 24 Dec 2022 20:38:01 +0000

flight 175483 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175483/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                72a85e2b0a1e1e6fb4ee51ae902730212b2de25c
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   78 days
Failing since        173470  2022-10-08 06:21:34 Z   77 days  155 attempts
Testing same since   175483  2022-12-24 09:13:21 Z    0 days    1 attempts

------------------------------------------------------------
3241 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 494094 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 25 01:13:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 25 Dec 2022 01:13:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469166.728517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9FZx-0001oH-3R; Sun, 25 Dec 2022 01:13:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469166.728517; Sun, 25 Dec 2022 01:13:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9FZx-0001oA-0N; Sun, 25 Dec 2022 01:13:29 +0000
Received: by outflank-mailman (input) for mailman id 469166;
 Sun, 25 Dec 2022 01:13:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9FZu-0001o0-T1; Sun, 25 Dec 2022 01:13:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9FZu-0000XP-QV; Sun, 25 Dec 2022 01:13:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9FZu-0004gu-4v; Sun, 25 Dec 2022 01:13:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9FZu-0001yp-46; Sun, 25 Dec 2022 01:13:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Zpfnop/M4K4WKCNK/P5zK/G5Hh0tRhmJe/MdxflGLOQ=; b=4h6LqicPiq5HFsVN8NNJTh0wUM
	yVS+2t8pMZsgtvJ+uJXs1gVkO6bBixyDTGSGQF1zuRJiAja4AOkBqWWeElwKJG6CU+fmoKr/0ioB7
	I224YS5+tR93Mxt1ArGSi2OG/7ym2MMm+0VRoB0XgotjTzSRUgBkc58jHRArZoOln35A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175486-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175486: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 25 Dec 2022 01:13:26 +0000

flight 175486 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175486/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175486
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175486
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175486
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175486
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175407 pass in 175486
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175484 pass in 175486
 test-armhf-armhf-xl-credit1  14 guest-start      fail in 175484 pass in 175486
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 175484 pass in 175486
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-amd64-amd64-qemuu-freebsd12-amd64 21 guest-start/freebsd.repeat fail pass in 175484
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 175484

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 175484 like 175197
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-seattle   3 hosts-allocate           starved in 175484 n/a

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   10 days
Testing same since   175407  2022-12-19 11:42:26 Z    5 days    9 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 25 07:49:45 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 25 Dec 2022 07:49:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469175.728527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9LlB-0006ov-Ed; Sun, 25 Dec 2022 07:49:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469175.728527; Sun, 25 Dec 2022 07:49:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9LlB-0006ol-Bb; Sun, 25 Dec 2022 07:49:29 +0000
Received: by outflank-mailman (input) for mailman id 469175;
 Sun, 25 Dec 2022 07:49:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9LlA-0006ob-2e; Sun, 25 Dec 2022 07:49:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9LlA-0002Kw-07; Sun, 25 Dec 2022 07:49:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9Ll9-0001bZ-G4; Sun, 25 Dec 2022 07:49:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9Ll9-0003Xt-Ff; Sun, 25 Dec 2022 07:49:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KRCDDydWs9dBKUFgl9+XoMw9LMdSHar1wYsixmNTrK8=; b=yrZ7yZ5MOTCbh5Rv45dpLe9+Ge
	JHAthhnx3RtxeukP5jMndhVXZO3WfFDUSBXWW5x75oo+n5NLp/Jf6SkXQh5m+E+gaF+NZHb1zmU8W
	vYgBIFLzfkf4rgTHzfgNZA6zWB4JGnxuBaSZLJgE0oGWoe0Y+wtLzHNrLR0sIp6sKfv4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175487-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175487: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:<job status>:broken:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=72a85e2b0a1e1e6fb4ee51ae902730212b2de25c
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 25 Dec 2022 07:49:27 +0000

flight 175487 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175487/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-amd64    <job status>               broken
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 8 xen-boot fail in 175483 REGR. vs. 173462

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 5 host-install(5) broken pass in 175483

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                72a85e2b0a1e1e6fb4ee51ae902730212b2de25c
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   78 days
Failing since        173470  2022-10-08 06:21:34 Z   78 days  156 attempts
Testing same since   175483  2022-12-24 09:13:21 Z    0 days    2 attempts

------------------------------------------------------------
3241 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    broken  
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemuu-debianhvm-amd64 broken
broken-step test-amd64-amd64-xl-qemuu-debianhvm-amd64 host-install(5)

Not pushing.

(No revision log; it would be 494094 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 25 08:29:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 25 Dec 2022 08:29:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469188.728539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9MO0-0003SU-0y; Sun, 25 Dec 2022 08:29:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469188.728539; Sun, 25 Dec 2022 08:29:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9MNz-0003SN-UT; Sun, 25 Dec 2022 08:29:35 +0000
Received: by outflank-mailman (input) for mailman id 469188;
 Sun, 25 Dec 2022 08:29:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9MNy-0003SD-9L; Sun, 25 Dec 2022 08:29:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9MNy-0003fR-64; Sun, 25 Dec 2022 08:29:34 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9MNx-00038R-15; Sun, 25 Dec 2022 08:29:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9MNx-0000rM-0b; Sun, 25 Dec 2022 08:29:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+GZs0IzB2s/lxC9oZIA/p09YQA/MlMIrNcr4OZvtRbU=; b=AqoWXzopDW3KBq5xlD2bRycvLd
	AjGBmXqW6ESGrn+zHi1riHS6SyxfNQaUt8xsKtbDppkm1lYt9gyPaeNYsX3sS6EClBJNG7V7qraB4
	nKtA8gRGhESHy5SkVPkGW4REJ058QmkxnzDIZD3K2Cze8gksgsM31uGxUJ5eimdf85uA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175488-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175488: trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:capture-logs(24):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 25 Dec 2022 08:29:33 +0000

flight 175488 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175488/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm    <job status>            broken
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175488
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175488
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175488
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175488
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 24 capture-logs(24) broken pass in 175486
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175407 pass in 175488
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 175486 pass in 175407
 test-amd64-amd64-qemuu-freebsd12-amd64 21 guest-start/freebsd.repeat fail in 175486 pass in 175488
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 175486 pass in 175488
 test-armhf-armhf-xl-credit2  14 guest-start                fail pass in 175486
 test-armhf-armhf-xl-credit1  14 guest-start                fail pass in 175486

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-armhf-armhf-libvirt-qcow2 17 guest-start/debian.repeat fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 175486 like 175197
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 175486 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 175486 never pass
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 175486 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 175486 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   10 days
Testing same since   175407  2022-12-19 11:42:26 Z    5 days   10 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 broken  
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm broken
broken-step test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm capture-logs(24)
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 25 10:51:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 25 Dec 2022 10:51:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469197.728550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9Oak-0001GW-5k; Sun, 25 Dec 2022 10:50:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469197.728550; Sun, 25 Dec 2022 10:50:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9Oak-0001GP-2y; Sun, 25 Dec 2022 10:50:54 +0000
Received: by outflank-mailman (input) for mailman id 469197;
 Sun, 25 Dec 2022 10:50:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9Oai-0001GF-OE; Sun, 25 Dec 2022 10:50:52 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9Oai-0006zh-KO; Sun, 25 Dec 2022 10:50:52 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9Oai-0007cn-7M; Sun, 25 Dec 2022 10:50:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9Oai-0003Ba-6q; Sun, 25 Dec 2022 10:50:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PWyXIZZbUpkuYUMZOHAKG5vTCk2ZSgMox7wcUFtSmF0=; b=HRic2CAxqa82DZZ/Xl9R3ws65+
	TVSw4t1XNuZV0m9cXzLXPkWJ5CABhz90C3z0IWokfTG6EcDu/G7pfa6I485oycqrwRx3yXSZ1LWxA
	aV8ccdZN4LTS39rkbcZQECrI+qmvjXH6a3guJ5YRdv8aEktt3Vwmtgmchnwf+ewWEPuY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175489-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175489: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=84ece04e7f11fe30c2f83753d72f481610357ed0
X-Osstest-Versions-That:
    xen=84ece04e7f11fe30c2f83753d72f481610357ed0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 25 Dec 2022 10:50:52 +0000

flight 175489 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175489/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 175480 pass in 175489
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175480

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175480
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175480
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175480
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175480
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175480
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175480
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175480
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175480
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175480
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175480
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175480
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175480
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  84ece04e7f11fe30c2f83753d72f481610357ed0
baseline version:
 xen                  84ece04e7f11fe30c2f83753d72f481610357ed0

Last test of basis   175489  2022-12-25 01:51:59 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Dec 25 15:21:01 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 25 Dec 2022 15:21:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469208.728561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9Sno-0002OT-9M; Sun, 25 Dec 2022 15:20:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469208.728561; Sun, 25 Dec 2022 15:20:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9Sno-0002OM-6M; Sun, 25 Dec 2022 15:20:40 +0000
Received: by outflank-mailman (input) for mailman id 469208;
 Sun, 25 Dec 2022 15:20:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9Snn-0002OC-8q; Sun, 25 Dec 2022 15:20:39 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9Snn-0004OU-5O; Sun, 25 Dec 2022 15:20:39 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9Snm-0002wK-KK; Sun, 25 Dec 2022 15:20:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9Snm-0000oS-Jr; Sun, 25 Dec 2022 15:20:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lvVxa3qB0A+vQS3E3DkXsZcqEPfTFeE5xOfmS9tSMHI=; b=e9UCnS02PMVHFx7HvwleXhTHaD
	cUOl+1lZkQV6HgQKwbqL08eLT1TxPaw7dVueSvxrZMclwwkO20umtpsj5WhZCQL9hJ6ojEubJwoPV
	Mn7Ftsw1NIf0RBWL63W8tu1nuX7dPLs5A405qRcz+PrRavh+h+nKKyteh48AZV4P1tVQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175491-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175491: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:kernel-build:fail:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:capture-logs(24):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 25 Dec 2022 15:20:38 +0000

flight 175491 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175491/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm    <job status>  broken in 175488
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 175197

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175491
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175491
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175491
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175491
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 24 capture-logs(24) broken in 175488 pass in 175491
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175407 pass in 175491
 test-armhf-armhf-xl-credit2  14 guest-start      fail in 175488 pass in 175491
 test-armhf-armhf-xl-credit1  14 guest-start      fail in 175488 pass in 175491
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175488

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-libvirt-qcow2 17 guest-start/debian.repeat fail in 175488 blocked in 175197
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 175488 like 175197
 test-arm64-arm64-xl-seattle 15 migrate-support-check fail in 175488 never pass
 test-arm64-arm64-xl-seattle 16 saverestore-support-check fail in 175488 never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check fail in 175488 never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check fail in 175488 never pass
 test-arm64-arm64-xl         15 migrate-support-check fail in 175488 never pass
 test-arm64-arm64-xl     16 saverestore-support-check fail in 175488 never pass
 test-arm64-arm64-xl-credit2 15 migrate-support-check fail in 175488 never pass
 test-arm64-arm64-xl-credit2 16 saverestore-support-check fail in 175488 never pass
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 175488 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 175488 never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 175488 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 175488 never pass
 test-arm64-arm64-xl-credit1 15 migrate-support-check fail in 175488 never pass
 test-arm64-arm64-xl-credit1 16 saverestore-support-check fail in 175488 never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check fail in 175488 never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check fail in 175488 never pass
 test-arm64-arm64-xl-vhd     14 migrate-support-check fail in 175488 never pass
 test-arm64-arm64-xl-vhd 15 saverestore-support-check fail in 175488 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   11 days
Testing same since   175407  2022-12-19 11:42:26 Z    6 days   11 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 25 18:15:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 25 Dec 2022 18:15:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469217.728571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9VXB-0002zy-Nn; Sun, 25 Dec 2022 18:15:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469217.728571; Sun, 25 Dec 2022 18:15:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9VXB-0002zr-L5; Sun, 25 Dec 2022 18:15:41 +0000
Received: by outflank-mailman (input) for mailman id 469217;
 Sun, 25 Dec 2022 18:15:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9VXA-0002zh-BE; Sun, 25 Dec 2022 18:15:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9VXA-0000VE-8g; Sun, 25 Dec 2022 18:15:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9VX9-0001wA-S6; Sun, 25 Dec 2022 18:15:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9VX9-0003St-Rb; Sun, 25 Dec 2022 18:15:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=oJYZasPcCx3jKqsTChrEX4m4gBBFiq7kQOET//lM+O4=; b=FkwAuHP6SxBpNWSddROc8VQ8CX
	Dbm7Z9FXqxk+MYsJ5+3rz044rug2OnLfLbFbaCZeljICKJQhY+P5TDW9/CmivINi/3UexVXLXtxAd
	KLRdarLhOf2LVDL2m8aQ9f1no9NeZuosYEwqlIlbvBa1iNYzqWOwXy54bu80Lm+pFWT0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175490-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175490: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=72a85e2b0a1e1e6fb4ee51ae902730212b2de25c
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 25 Dec 2022 18:15:39 +0000

flight 175490 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175490/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                72a85e2b0a1e1e6fb4ee51ae902730212b2de25c
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   78 days
Failing since        173470  2022-10-08 06:21:34 Z   78 days  157 attempts
Testing same since   175483  2022-12-24 09:13:21 Z    1 days    3 attempts

------------------------------------------------------------
3241 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 494094 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Dec 25 21:44:49 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 25 Dec 2022 21:44:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469228.728583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9YnJ-0006o2-Jz; Sun, 25 Dec 2022 21:44:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469228.728583; Sun, 25 Dec 2022 21:44:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9YnJ-0006nv-G1; Sun, 25 Dec 2022 21:44:33 +0000
Received: by outflank-mailman (input) for mailman id 469228;
 Sun, 25 Dec 2022 21:44:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9YnI-0006nj-35; Sun, 25 Dec 2022 21:44:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9YnI-0005Fo-1H; Sun, 25 Dec 2022 21:44:32 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9YnH-0001DJ-H7; Sun, 25 Dec 2022 21:44:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9YnH-0001Qs-Gb; Sun, 25 Dec 2022 21:44:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VoufsVyXJR6fZ2c2LnC1EV8uJYIhBZ2wm8Sk23VboWE=; b=qrGZ1dtSvqIa0AaA5LPSF3qsZW
	cbnfW+E53hsAka3PDLn6zP3xaxt7F8B3otsktPe1nD42OqTu/Zzg5FTOJEeasugTzCSKmEglyjt/8
	CUC49c7Mn08oBS0MYn7T3m/ebEFcKSAXyiwe+tz2sOIyH3iyz1Ltf6Z2EPGRbMa6vzp4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175492-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175492: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:kernel-build:fail:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 25 Dec 2022 21:44:31 +0000

flight 175492 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175492/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 175197

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175492
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175492
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175492
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175492
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175407 pass in 175492
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 175491 pass in 175492
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail pass in 175491
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat  fail pass in 175491

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds     19 guest-start.2           fail blocked in 175197
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-arm64-arm64-xl-seattle 15 migrate-support-check fail in 175407 never pass
 test-arm64-arm64-xl-seattle 16 saverestore-support-check fail in 175407 never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check fail in 175407 never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check fail in 175407 never pass
 test-arm64-arm64-xl         15 migrate-support-check fail in 175407 never pass
 test-arm64-arm64-xl     16 saverestore-support-check fail in 175407 never pass
 test-arm64-arm64-xl-credit2 15 migrate-support-check fail in 175407 never pass
 test-arm64-arm64-xl-credit2 16 saverestore-support-check fail in 175407 never pass
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 175407 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 175407 never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 175407 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 175407 never pass
 test-arm64-arm64-xl-credit1 15 migrate-support-check fail in 175407 never pass
 test-arm64-arm64-xl-credit1 16 saverestore-support-check fail in 175407 never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check fail in 175407 never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check fail in 175407 never pass
 test-arm64-arm64-xl-vhd     14 migrate-support-check fail in 175407 never pass
 test-arm64-arm64-xl-vhd 15 saverestore-support-check fail in 175407 never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail in 175491 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   11 days
Testing same since   175407  2022-12-19 11:42:26 Z    6 days   12 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 26 02:36:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 26 Dec 2022 02:36:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469240.728594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9dLh-0004Gq-DN; Mon, 26 Dec 2022 02:36:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469240.728594; Mon, 26 Dec 2022 02:36:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9dLh-0004Gf-7J; Mon, 26 Dec 2022 02:36:21 +0000
Received: by outflank-mailman (input) for mailman id 469240;
 Mon, 26 Dec 2022 02:36:20 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9dLg-0004GV-9u; Mon, 26 Dec 2022 02:36:20 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9dLg-0006aV-79; Mon, 26 Dec 2022 02:36:20 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9dLf-0005lm-M1; Mon, 26 Dec 2022 02:36:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9dLf-0005iT-LM; Mon, 26 Dec 2022 02:36:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=UDHCQcRjuoQFkIkCwWiaVgkx9HRyKRfK30EjzpD9EtA=; b=GVVHPrgifQke068qp6QxEIM3nG
	JgRzGPKR6V3hAKpaQjFb24y2nnMfuNTsWzWueD29ED+OGcyAqC+I8kXzXjyKaHHHm3O/CHuA3XTMf
	oJOkefsM23910g5ehUtu6uacO0OfMTnSbco6la5Tg2wYk68zhknTTs6sTq6u4PM29kRI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175493-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175493: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=72a85e2b0a1e1e6fb4ee51ae902730212b2de25c
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 26 Dec 2022 02:36:19 +0000

flight 175493 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175493/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                72a85e2b0a1e1e6fb4ee51ae902730212b2de25c
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   79 days
Failing since        173470  2022-10-08 06:21:34 Z   78 days  158 attempts
Testing same since   175483  2022-12-24 09:13:21 Z    1 days    4 attempts

------------------------------------------------------------
3241 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 494094 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 26 04:52:46 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 26 Dec 2022 04:52:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469251.728605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9fTS-0001wp-8L; Mon, 26 Dec 2022 04:52:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469251.728605; Mon, 26 Dec 2022 04:52:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9fTS-0001wi-4M; Mon, 26 Dec 2022 04:52:30 +0000
Received: by outflank-mailman (input) for mailman id 469251;
 Mon, 26 Dec 2022 04:52:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9fTR-0001wY-EP; Mon, 26 Dec 2022 04:52:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9fTR-0001vu-AV; Mon, 26 Dec 2022 04:52:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9fTQ-0004aX-U2; Mon, 26 Dec 2022 04:52:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9fTQ-0006O7-Sy; Mon, 26 Dec 2022 04:52:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=xQclDq6RnfoejCKidH/tKoOXRhvQ03UjmwmK1vWlzik=; b=QsEeCWwUR4YmRGLoogeKlZlycO
	YcmYXB0wyjqxWOhujGuWRZN0Ii8TOQZsOcyFkAUx/H1p5GgzdH8D82bhA/ET37lQNYeGmyj7aPGHw
	hwlsW8ASuD348sec1uvAAWPgU3heXvu2X+NTI+9b+LdIL9/puXtR54nFLuoiu9VXhxDQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175494-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175494: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:kernel-build:fail:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 26 Dec 2022 04:52:28 +0000

flight 175494 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175494/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 build-arm64-pvops             6 kernel-build   fail in 175492 REGR. vs. 175197

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175494
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175494
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175494
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175494
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 7 xen-install fail in 175492 pass in 175494
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 175492 pass in 175494
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 175492

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 175492 n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)           blocked in 175492 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 175492 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 175492 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 175492 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 175492 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 175492 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 175492 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 175492 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 175492 n/a
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-rtds     19 guest-start.2 fail in 175492 blocked in 175197
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 175492 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 175492 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   11 days
Testing same since   175407  2022-12-19 11:42:26 Z    6 days   13 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-amd64-xl-credit2 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 26 08:00:35 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 26 Dec 2022 08:00:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469264.728616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9iPH-0004zz-MF; Mon, 26 Dec 2022 08:00:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469264.728616; Mon, 26 Dec 2022 08:00:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9iPH-0004zs-Gm; Mon, 26 Dec 2022 08:00:23 +0000
Received: by outflank-mailman (input) for mailman id 469264;
 Mon, 26 Dec 2022 08:00:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9iPG-0004wm-Bh; Mon, 26 Dec 2022 08:00:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9iPG-0006qO-7d; Mon, 26 Dec 2022 08:00:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9iPF-00067i-Mm; Mon, 26 Dec 2022 08:00:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9iPF-0007GH-K7; Mon, 26 Dec 2022 08:00:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bJ8WAFDycPTWCT981F7FwvCJOv35rrgwBtN36EnewAo=; b=1uqB6x23qRUJ769UfJ0jbf9+Iq
	1sFj/1B+B7EsVAWK8qEw1uTyy14qOkIcAK3IEhGDcfYQTPrptjxg4xSyKNL6QsvTJgRzIFhEh02Zs
	2B2UnSut7/b76RJpwOOtFQkKwRTfyBS3vVmby4LMAmBFrCCgFn4WrSJ3XbBQGao9Xgmw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175495-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175495: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=84ece04e7f11fe30c2f83753d72f481610357ed0
X-Osstest-Versions-That:
    xen=84ece04e7f11fe30c2f83753d72f481610357ed0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 26 Dec 2022 08:00:21 +0000

flight 175495 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175495/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 175489 pass in 175495
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 175489

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175489
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175489
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175489
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175489
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175489
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175489
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175489
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175489
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175489
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175489
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175489
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175489
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  84ece04e7f11fe30c2f83753d72f481610357ed0
baseline version:
 xen                  84ece04e7f11fe30c2f83753d72f481610357ed0

Last test of basis   175495  2022-12-26 01:53:37 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Dec 26 11:14:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 26 Dec 2022 11:14:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469275.728627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9lQq-0007E0-A0; Mon, 26 Dec 2022 11:14:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469275.728627; Mon, 26 Dec 2022 11:14:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9lQq-0007Dt-75; Mon, 26 Dec 2022 11:14:12 +0000
Received: by outflank-mailman (input) for mailman id 469275;
 Mon, 26 Dec 2022 11:14:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=T6Sp=4Y=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1p9lQo-0007Dn-V1
 for xen-devel@lists.xenproject.org; Mon, 26 Dec 2022 11:14:11 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a1ef314-850e-11ed-8fd4-01056ac49cbb;
 Mon, 26 Dec 2022 12:14:09 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id 1so15588536lfz.4
 for <xen-devel@lists.xenproject.org>; Mon, 26 Dec 2022 03:14:07 -0800 (PST)
Received: from 2a02.2378.104b.7439.ip.kyivstar.net
 ([2a02:2378:104b:7439:bef4:5f:98f5:beea])
 by smtp.gmail.com with ESMTPSA id
 y26-20020a0565123f1a00b00494603953b6sm1764562lfa.6.2022.12.26.03.14.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 26 Dec 2022 03:14:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a1ef314-850e-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=z28nug8gZ0u7AA8p92zZ9yeGRdKVMNwxMy6m1c5r7Qg=;
        b=CEgcyEymsl/XfQUHhuG1AD//oHxvGezElXDc7JJ8d6HyzGoT7H6L2vA+RXGqwVTapU
         ZdY24WQo5evWPXmcBcCzyg9bYIhrdP/qEdzTpInJ/rfmImdbQ9r11k1wjxpK6dG8T38A
         jVffNLDn7rWzXa7KviLBbBo920ih16Qsko4B4r0BKBdUn73WDdhicB66i0+XonxxqU1+
         8aCbuBvqIsr+/kxi5pbfaUDK5BAuyv4CyLxiF+YG8Hf+/Pmr6yRAXLoORHgcdzhGdbDl
         vaKLAiEmocKY+ujXrzH7Qv80FXdQU9/TcMVsu2JelKFeVUZK60gk7BdXfO8SHFx9BBNn
         AxVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=z28nug8gZ0u7AA8p92zZ9yeGRdKVMNwxMy6m1c5r7Qg=;
        b=nK9ufCUn9UjXBSroX+oG4BN8C74CjyIBohWNzHJ2u/y8SDVg5IYRtkvWjL0OJh8K7w
         WBjCjOZDvO5Kc1cmiIEc58wU3Py79y2zPCDg/l2X2D+1w3FfCqAY28yqrmSVtTNQlVBD
         I2I0W15yYSojN518+Ym65GPmiLi3C4EL+pByLbFOcBz5AMGfonavfEKOaBHYYhf0pZkC
         XLNLk7t/JGqoonrgiG84SahCT/unKStBpllg8Y+86DENSKxMYjgy+K/fC3VlW3A6a508
         jeUr/9vBe6kgbmhH4w1kKNL1vAthfvcnvpVBYPA825MFNZfswxhxODj/JOT4CQl5uAqQ
         t+eg==
X-Gm-Message-State: AFqh2kpRAUj5G4HwG1uvZKhLWFyDrEEtaegW1KFofKWiWuT8CyHrdlBx
	BzbhCkpQ3EYnOTuc6r1zdSg=
X-Google-Smtp-Source: AMrXdXsGHXQHDLWOUB5k8CeDSMxNXrE5Vx05pwdoJiVAtvBdjDI2xQCECD23EOJ0vm0Tt8f+wFbT1g==
X-Received: by 2002:ac2:4898:0:b0:4b3:d6e1:26bb with SMTP id x24-20020ac24898000000b004b3d6e126bbmr4744048lfc.29.1672053246856;
        Mon, 26 Dec 2022 03:14:06 -0800 (PST)
Message-ID: <43d726761900ba3d8b4919fc29fe7cb1991ac656.camel@gmail.com>
Subject: Re: [XEN PATCH v1 1/4] arch/riscv: initial RISC-V support to
 build/run minimal Xen
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>, Anthony
 PERARD <anthony.perard@citrix.com>
Date: Mon, 26 Dec 2022 13:14:04 +0200
In-Reply-To: <3343c927-0f27-e285-5b6e-281c61939bb4@xen.org>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
	 <5d5ec5fbd8787ed8f86bf84a5ac291d07a20b307.1671789736.git.oleksii.kurochko@gmail.com>
	 <3343c927-0f27-e285-5b6e-281c61939bb4@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.1 (3.46.1-1.fc37) 
MIME-Version: 1.0

Hi Julien,

Thanks for your comments.

On Fri, 2022-12-23 at 13:50 +0000, Julien Grall wrote:
> Hi Oleksii,
>=20
> + Anthony for the Makefile changes.
>=20
> On 23/12/2022 11:16, Oleksii Kurochko wrote:
> > The patch provides a minimal amount of changes to start
> > build and run minimal Xen binary at GitLab CI&CD that will
> > allow continuous checking of the build status of RISC-V Xen.
> >=20
> > RISC-V Xen can be built by the following instructions:
> > =C2=A0=C2=A0 $ CONTAINER=3Driscv64 ./automation/scripts/containerize \
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 make XEN_TARGET_ARCH=3Driscv=
64 tiny64_defconfig
> > =C2=A0=C2=A0 $ CONTAINER=3Driscv64 ./automation/scripts/containerize \
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 make XEN_TARGET_ARCH=3Driscv=
64 -C xen build
> >=20
> > RISC-V Xen can be run as:
> > =C2=A0=C2=A0 $ qemu-system-riscv64 -M virt -smp 1 -nographic -m 2g \
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 -kernel xen/xen
> >=20
> > To run in debug mode should be done the following instructions:
> > =C2=A0 $ qemu-system-riscv64 -M virt -smp 1 -nographic -m 2g \
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 -kernel xen/xen -s -S
> > =C2=A0 # In separate terminal:
> > =C2=A0 $ riscv64-buildroot-linux-gnu-gdb
> > =C2=A0 $ target remote :1234
> > =C2=A0 $ add-symbol-file <xen_src>/xen/xen-syms 0x80200000
> > =C2=A0 $ hb *0x80200000
> > =C2=A0 $ c # it should stop at instruction j 0x80200000 <start>
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > =C2=A0 xen/arch/riscv/Makefile=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 30 +++++++++++++
> > =C2=A0 xen/arch/riscv/arch.mk=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 10 +++++
> > =C2=A0 xen/arch/riscv/include/asm/config.h | 26 ++++++++++-
> > =C2=A0 xen/arch/riscv/include/asm/types.h=C2=A0 | 11 +++++
> > =C2=A0 xen/arch/riscv/riscv64/Makefile=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 =
2 +-
> > =C2=A0 xen/arch/riscv/riscv64/head.S=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 |=C2=A0 2 +-
> > =C2=A0 xen/arch/riscv/xen.lds.S=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 69
> > +++++++++++++++++++++++++++++
> > =C2=A0 7 files changed, 147 insertions(+), 3 deletions(-)
> > =C2=A0 create mode 100644 xen/arch/riscv/include/asm/types.h
> > =C2=A0 create mode 100644 xen/arch/riscv/xen.lds.S
> >=20
> > diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
> > index 942e4ffbc1..893dd19ea6 100644
> > --- a/xen/arch/riscv/Makefile
> > +++ b/xen/arch/riscv/Makefile
> > @@ -1,2 +1,32 @@
> > +obj-$(CONFIG_RISCV_64) +=3D riscv64/
> > +
> > +$(TARGET): $(TARGET)-syms
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(OBJCOPY) -O binary -S $< $=
@
> > +
> > +$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(LD) $(XEN_LDFLAGS) -T $(ob=
j)/xen.lds -N $< \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0$(SYMBOLS_DUMMY_OBJ) -o $(@D)/.$(@F).0
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(NM) -pa --format=3Dsysv $(=
@D)/.$(@F).0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0| $(objtree)/tools/symbols $(all_symbols) --sysv --
> > sort >$(@D)/.$(@F).0.S
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(MAKE) $(build)=3D$(@D) $(@=
D)/.$(@F).0.o
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(LD) $(XEN_LDFLAGS) -T $(ob=
j)/xen.lds -N $< \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0$(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(NM) -pa --format=3Dsysv $(=
@D)/.$(@F).1 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0| $(objtree)/tools/symbols $(all_symbols) --sysv --
> > sort >$(@D)/.$(@F).1.S
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(MAKE) $(build)=3D$(@D) $(@=
D)/.$(@F).1.o
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(LD) $(XEN_LDFLAGS) -T $(ob=
j)/xen.lds -N $<
> > $(build_id_linker) \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0$(@D)/.$(@F).1.o -o $@
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(NM) -pa --format=3Dsysv $(=
@D)/$(@F) \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0| $(objtree)/tools/symbols --all-symbols --xensyms
> > --sysv --sort \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0>$(@D)/$(@F).map
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0rm -f $(@D)/.$(@F).[0-9]*
> > +
> > +$(obj)/xen.lds: $(src)/xen.lds.S FORCE
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 $(call if_changed_dep,cpp_lds_S)
> > +
> > +.PHONY: clean
> > +clean::
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0rm -f $(objtree)/.xen-syms.[=
0-9]*
>=20
> Any reason to not use the variable clean-files as this is done for
> the=20
> other architectures?

There is no reason not use the variable clean-files. I missed the
vairable clean-files so the patch will be updated to use the
variable clean-files instead of the variable clean.

>=20
> > +
> > =C2=A0 .PHONY: include
> > =C2=A0 include:
> > diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
> > index ae8fe9dec7..9292b72718 100644
> > --- a/xen/arch/riscv/arch.mk
> > +++ b/xen/arch/riscv/arch.mk
> > @@ -11,3 +11,13 @@ riscv-march-$(CONFIG_RISCV_ISA_C)=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 :=3D
> > $(riscv-march-y)c
> > =C2=A0 # -mcmodel=3Dmedlow would force Xen into the lower half.
> > =C2=A0=20
> > =C2=A0 CFLAGS +=3D -march=3D$(riscv-march-y) -mstrict-align -mcmodel=3D=
medany
> > +
> > +# TODO: Drop override and SYMBOLS_DUMMY_OBJ when more
> > +# of the build is working
> > +override ALL_OBJS-y =3D arch/$(TARGET_ARCH)/built_in.o
> > +override ALL_LIBS-y =3D
> > +ifneq ($(wildcard $(objtree)/common/symbols-dummy.o),)
> > +SYMBOLS_DUMMY_OBJ=3D$(objtree)/common/symbols-dummy.o
> > +else
> > +SYMBOLS_DUMMY_OBJ=3D
> > +endif
>=20
> Why do you need the ifneq here?

The only reason for the ifneq here is to skip common
stuff from the build of minimal RISC-V Xen binary as it
requires pushing from the start a big amount of headers and function
stubs which at least will lead to a huge patch and complicate a code
review.

It is possible to remove <common/symbols-dummy.o> from xen-syms
target in <xen/arch/riscv/Makefile> but an intention here was
to remain processing of xen-syms target similar to the original
one and it is the second reason why the ifneq was introduced and
added the comment "TODO: Drop ... SYMBOLS_DUMMY_OBJ when more
of the build is working".

>=20
> > diff --git a/xen/arch/riscv/include/asm/config.h
> > b/xen/arch/riscv/include/asm/config.h
> > index e2ae21de61..756607a4a2 100644
> > --- a/xen/arch/riscv/include/asm/config.h
> > +++ b/xen/arch/riscv/include/asm/config.h
> > @@ -28,7 +28,7 @@
> > =C2=A0=20
> > =C2=A0 /* Linkage for RISCV */
> > =C2=A0 #ifdef __ASSEMBLY__
> > -#define ALIGN .align 2
> > +#define ALIGN .align 4
>=20
> Can you explain in the commit message why you need to change this?
> But=20
> ideally, this change should be part of a separate one.

ALIGN was changed to equal the implementation-enforced instruction
address alignment (4-bytes), in order to ensure that entry points are
properly aligned.
If to be honest I haven't verified that and took these changes from
the initial patch series pushed by Bobby Eshleman.

>=20
> > =C2=A0=20
> > =C2=A0 #define ENTRY(name)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > =C2=A0=C2=A0=C2=A0 .globl name;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > @@ -36,6 +36,30 @@
> > =C2=A0=C2=A0=C2=A0 name:
> > =C2=A0 #endif
> > =C2=A0=20
> > +/*
> > + * Definition of XEN_VIRT_START should look like:
> > + *=C2=A0=C2=A0 define XEN_VIRT_START _AT(vaddr_t,0x00200000)
> > + * It requires including of additional headers which
> > + * will increase an amount of files unnecessary for
> > + * minimal RISC-V Xen build so set value of
> > + * XEN_VIRT_START explicitly.
> > + *
> > + * TODO: change it to _AT(vaddr_t,0x00200000) when
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 necessary header will be pushed=
.
>=20
> The address here doesn't match the one below. I know this is an
> example=20
> but this is fairly confusing.

This was done only as an example.

>=20
> > + */
> > +#define XEN_VIRT_START=C2=A0 0x80200000
>=20
> I think you at least want to use _AT(unsigned long, ...) here to make
> clear this value should be interpreted as an unsigned value.
>=20
> You could even define vaddr_t now as you introduce a dummy types.h
> below.

It makes sense to push the definition of vaddr_t and use <xen/const.h>
to be able to use _AT() macros.

Probably it would be nice to introduce others from types.h from the
start, wouldn't it? Or would it be better to leave the patch minimal
and introduce only types necessary for vaddr_t?

>=20
> > +/*
> > + * PAGE_SIZE is defined in <{asm,xen}/page-*.h> but to
> > + * remove unnecessary headers for minimal
> > + * build headers it will be better to set PAGE_SIZE
> > + * explicitly.
>=20
> TBH, I think this is a shortcut that is unnecessary and will only=20
> introduce extra churn in the future (for instance, you will need to=20
> modify the include in xen.lds.S).
>=20
> But I am not the maintainer, so I will leave that decision to them=20
> whether this is acceptable.

I didn't get what you mean by a shortcut here.

The idea was to introduce PAGE_SIZE in the config.h directly for now
to keep build of RISC-V Xen minimal as much as possible otherwise
it would be required to push dummy <asm/page-bits.h> to get only one
needed definition of PAGE_SIZE to have buildable Xen.
Thereby it was decided to define PAGE_SIZE directly in <asm/config.h>
and remove it after all definitions from <{asm,xen}/page-*.h> will be
needed.

>=20
> > + *
> > + * TODO: remove it when <asm/page-*.h> will be needed
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 defintion of PAGE_SIZE should b=
e remove from
>=20
> s/defintion/definition/

Thanks for finding the typo. Will update it in the next version of
the patch.

>=20
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 this header.
> > + */
> > +#define PAGE_SIZE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 4096 > +
> > =C2=A0 #endif /* __RISCV_CONFIG_H__ */
> > =C2=A0 /*
> > =C2=A0=C2=A0 * Local variables:
> > diff --git a/xen/arch/riscv/include/asm/types.h
> > b/xen/arch/riscv/include/asm/types.h
> > new file mode 100644
> > index 0000000000..afbca6b15c
> > --- /dev/null
> > +++ b/xen/arch/riscv/include/asm/types.h
> > @@ -0,0 +1,11 @@
> > +#ifndef __TYPES_H__
> > +#define __TYPES_H__
> > +
> > +/*
> > + *
> > + * asm/types.h is required for xen-syms.S file which
> > + * is produced by tools/symbols.
> > + *
> > + */
> > +
> > +#endif
> > diff --git a/xen/arch/riscv/riscv64/Makefile
> > b/xen/arch/riscv/riscv64/Makefile
> > index 15a4a65f66..3340058c08 100644
> > --- a/xen/arch/riscv/riscv64/Makefile
> > +++ b/xen/arch/riscv/riscv64/Makefile
> > @@ -1 +1 @@
> > -extra-y +=3D head.o
> > +obj-y +=3D head.o
>=20
> This changes want to be explained. So does...

RISC-V 64 would be supported now and minimal build is built
now only obj-y stuff.

>=20
> > diff --git a/xen/arch/riscv/riscv64/head.S
> > b/xen/arch/riscv/riscv64/head.S
> > index 0dbc27ba75..0330b29c01 100644
> > --- a/xen/arch/riscv/riscv64/head.S
> > +++ b/xen/arch/riscv/riscv64/head.S
> > @@ -1,6 +1,6 @@
> > =C2=A0 #include <asm/config.h>
> > =C2=A0=20
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .text
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .section .text.header, "ax"=
, %progbits
>=20
> ... AFAICT this is to match the recent change in the build system.

I am not sure that I get you here but it was done to make 'start'
instructions to be the first instructions that will be executed and
to make 'start' symbol to be the first in xen-syms.map file otherwise
gdb shows that Xen starts from the wrong instructions, fails to find
correct source file and goes crazy.

>=20
> > =C2=A0=20
> > =C2=A0 ENTRY(start)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 j=C2=A0 start
> > diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
> > new file mode 100644
> > index 0000000000..60628b3856
> > --- /dev/null
> > +++ b/xen/arch/riscv/xen.lds.S
> > @@ -0,0 +1,69 @@
> > +#include <xen/xen.lds.h>
> > +
> > +#undef ENTRY
> > +#undef ALIGN
> > +
> > +OUTPUT_ARCH(riscv)
> > +ENTRY(start)
> > +
> > +PHDRS
> > +{
> > +=C2=A0 text PT_LOAD ;
> > +#if defined(BUILD_ID)
> > +=C2=A0 note PT_NOTE ;
> > +#endif
> > +}
> > +
> > +SECTIONS
> > +{
> > +=C2=A0 . =3D XEN_VIRT_START;
> > +=C2=A0 _start =3D .;
> > +=C2=A0 .text : {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _stext =3D .;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.text.header)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.text)
>=20
> You are missing some sections here such as .text.cold,
> .text.unlikely...
>=20
> I understand they are probably not used yet. But it will avoid any
> nasty=20
> surprise if they are forgotten.

They were skipped because they aren't use for now. Will add it in
the next version of the patch.

>=20
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.gnu.warning)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 . =3D ALIGN(POINTER_ALIGN);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _etext =3D .;
> > +=C2=A0 } :text
> > +
> > +=C2=A0=C2=A0=C2=A0 . =3D ALIGN(PAGE_SIZE);
> > +=C2=A0 .rodata : {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _srodata =3D .;
>=20
> You introduce _srodata but I can't find the matching _erodata.

My fault. Thanks. Will add it in the the next version of the patch.

>=20
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.rodata)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.rodata.*)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.data.rel.ro)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.data.rel.ro.*)
> > +=C2=A0 } :text
> > +
> > +#if defined(BUILD_ID)
> > +=C2=A0 . =3D ALIGN(4);
> > +=C2=A0 .note.gnu.build-id : {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __note_gnu_build_id_start =3D .;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.note.gnu.build-id)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __note_gnu_build_id_end =3D .;
> > +=C2=A0 } :note :text
> > +#endif
> > +
> > +=C2=A0 . =3D ALIGN(PAGE_SIZE);
> > +=C2=A0 .data : { /* Data */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.data .data.*)
>=20
> It would be better if you introduce .data.read_mostly right now
> separately.
>=20
> You also want *.data.page_aligned in .data.
>=20
> Lastly you are missing CONSTRUCTORS

I will add offred sections and CONSTUCTORS in the next version of
the patch

>=20
> > +=C2=A0 } :text
> > +
>=20
> I am assuming you are going to add .init.* afterwards?
>=20
> > +=C2=A0 . =3D ALIGN(PAGE_SIZE);
> > +=C2=A0 .bss : {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __bss_start =3D .;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.bss .bss.*)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 . =3D ALIGN(POINTER_ALIGN);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __bss_end =3D .;
>=20
> Same as .data, I would recommend to properly populate it.

Do you mean to add .bss.stack_aligned, .bss.page_aligned, .bss.percpu*?
One of the reasons they were skipped is they aren't used now and one
more reason if to believe xen.lds.S file from ARM
.bss.percpu.read_mostly should be aligned by SMP_CACHE_BYTES which
requires dummy <asm/cache.h> (or not ?) which will increase the patch
with unneeded stuff for now.=20

>=20
> Cheers,
>=20

Best regards,
 Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Dec 26 12:54:06 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 26 Dec 2022 12:54:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469284.728638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9mzG-0000R0-PM; Mon, 26 Dec 2022 12:53:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469284.728638; Mon, 26 Dec 2022 12:53:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9mzG-0000Qt-KV; Mon, 26 Dec 2022 12:53:50 +0000
Received: by outflank-mailman (input) for mailman id 469284;
 Mon, 26 Dec 2022 12:53:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9mzF-0000Qj-Um; Mon, 26 Dec 2022 12:53:49 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9mzF-0004jZ-PX; Mon, 26 Dec 2022 12:53:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9mzF-0001Eb-7z; Mon, 26 Dec 2022 12:53:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9mzF-0005Ri-7Z; Mon, 26 Dec 2022 12:53:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=b2vJiXP7NCt0R5l51/zjXEXCGfZpMrxP4bfJlfyjVpE=; b=A44HEi+e7dSRQbLFHA2DTUV8vq
	3CMqxqrigeZd9kxtR+/zQvXNVNYRjQxER1J+5ZRsTd4vAYInguvi8T7dgPrVNNhgT81T1HFqmxCky
	3yQM+WvSAPhk9iDuggd5N/bE1sBxY2h/U4y0tjnxt1Kyq/NCa8jlN4Vmsp7dl/mQUO0U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175496-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175496: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1b929c02afd37871d5afb9d498426f83432e71c2
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 26 Dec 2022 12:53:49 +0000

flight 175496 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175496/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                1b929c02afd37871d5afb9d498426f83432e71c2
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   79 days
Failing since        173470  2022-10-08 06:21:34 Z   79 days  159 attempts
Testing same since   175496  2022-12-26 02:42:28 Z    0 days    1 attempts

------------------------------------------------------------
3244 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 494152 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 26 13:34:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 26 Dec 2022 13:34:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469293.728649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9ncG-0004v1-NX; Mon, 26 Dec 2022 13:34:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469293.728649; Mon, 26 Dec 2022 13:34:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9ncG-0004uu-J6; Mon, 26 Dec 2022 13:34:08 +0000
Received: by outflank-mailman (input) for mailman id 469293;
 Mon, 26 Dec 2022 13:34:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9ncF-0004uk-Uv; Mon, 26 Dec 2022 13:34:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9ncF-0005at-Sb; Mon, 26 Dec 2022 13:34:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9ncF-0002Cr-FD; Mon, 26 Dec 2022 13:34:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9ncF-0000Ox-El; Mon, 26 Dec 2022 13:34:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ybnQuldb6gSoFVlAZ3xcOwp+Ip5WY1rFadvg6TAd2hU=; b=B0Nza/9ilkjuIL67t13nd5MeN1
	uXJQiihETFQrMQwwi59uYauKG0Tbj5ixYsLKtV8aK92cbzpsfb0L3sSqrzoZ6YqRYbZInv8ouH2tN
	/65DFyMCpYTyH6U1mf5n30EqEFZFmGLTamADyhpLS4zMROTbkwbT6y97tHzhizfHZdwQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175497-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175497: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 26 Dec 2022 13:34:07 +0000

flight 175497 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175497/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175497
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175497
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175497
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175497
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175494 pass in 175497
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail pass in 175494
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 175494

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-arndale  19 guest-start.2           fail blocked in 175197
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   12 days
Testing same since   175407  2022-12-19 11:42:26 Z    7 days   14 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 26 21:03:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 26 Dec 2022 21:03:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469309.728660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9uce-0008Ip-Kt; Mon, 26 Dec 2022 21:03:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469309.728660; Mon, 26 Dec 2022 21:03:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9uce-0008Ii-I4; Mon, 26 Dec 2022 21:03:00 +0000
Received: by outflank-mailman (input) for mailman id 469309;
 Mon, 26 Dec 2022 21:02:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9ucd-0008IY-TP; Mon, 26 Dec 2022 21:02:59 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9ucd-0007wn-OH; Mon, 26 Dec 2022 21:02:59 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9ucd-00025K-54; Mon, 26 Dec 2022 21:02:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9ucd-0000Zv-4d; Mon, 26 Dec 2022 21:02:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/pIg/3Q2vbBYFJhD+5pQDStbsBN4vlDiW9CLimtrt38=; b=pTF+PB5JRti707r+wJSZXGH14C
	knqDhWLnR4rjKoRCfIlytrVQ0l8rBIORb3J+Agi977GWWT+wgPsu6lDtFlqt+yiT67xAmpvYac2DM
	XOFLngz483EdCJO5P9T4QPF+dkkt4mZWvwiYCVh51A9MBfMBjBNUXZsste/NJi6Gl0LY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175498-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175498: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1b929c02afd37871d5afb9d498426f83432e71c2
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 26 Dec 2022 21:02:59 +0000

flight 175498 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175498/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                1b929c02afd37871d5afb9d498426f83432e71c2
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   80 days
Failing since        173470  2022-10-08 06:21:34 Z   79 days  160 attempts
Testing same since   175496  2022-12-26 02:42:28 Z    0 days    2 attempts

------------------------------------------------------------
3244 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 494152 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Dec 26 21:43:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 26 Dec 2022 21:43:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469318.728671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9vFi-0004Sg-QX; Mon, 26 Dec 2022 21:43:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469318.728671; Mon, 26 Dec 2022 21:43:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1p9vFi-0004SZ-NT; Mon, 26 Dec 2022 21:43:22 +0000
Received: by outflank-mailman (input) for mailman id 469318;
 Mon, 26 Dec 2022 21:43:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9vFh-0004SM-CB; Mon, 26 Dec 2022 21:43:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9vFh-0000IN-8A; Mon, 26 Dec 2022 21:43:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1p9vFg-0002z7-Qd; Mon, 26 Dec 2022 21:43:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1p9vFg-0003nU-Q7; Mon, 26 Dec 2022 21:43:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JA/Y+Da5/0TZIQyv2ie4JKOhaS9RcXoza/VhmgknfDk=; b=s88VWwcGXNX+o4gKGD0ihYSEH3
	on292JHYxMP3lduOloeNEOHtDBuQjCjjnRymcJU2rrcOoRrxyyuOtWIeheUpNy8/o8Yk+DShsRkkn
	3ODt00yBA25elSgWUqV4oxnXgJElzivC+g4z0tnkj7OChyq1SrVUdli2h9k4GFrTGy7E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175499-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175499: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 26 Dec 2022 21:43:20 +0000

flight 175499 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175499/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175499
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175499
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175499
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175499
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail in 175497 pass in 175499
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 175494
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 175497
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 175497
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat  fail pass in 175497
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat  fail pass in 175497

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-arndale  19 guest-start.2 fail in 175497 blocked in 175197
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 175497 like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 175497 like 175197
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 175497 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 175497 never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 175497 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 175497 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   12 days
Testing same since   175407  2022-12-19 11:42:26 Z    7 days   15 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-amd64-xl-credit2 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 27 05:23:22 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Dec 2022 05:23:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469305.728682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pA2QY-0000MS-2r; Tue, 27 Dec 2022 05:23:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469305.728682; Tue, 27 Dec 2022 05:23:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pA2QX-0000ML-RW; Tue, 27 Dec 2022 05:23:01 +0000
Received: by outflank-mailman (input) for mailman id 469305;
 Mon, 26 Dec 2022 18:01:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ovQr=4Y=gmail.com=vsuneja63@srs-se1.protection.inumbo.net>)
 id 1p9rmY-0007qx-BO
 for xen-devel@lists.xenproject.org; Mon, 26 Dec 2022 18:01:03 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3ea844a9-8547-11ed-91b6-6bf2151ebd3b;
 Mon, 26 Dec 2022 19:00:59 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id jo4so27206595ejb.7
 for <xen-devel@lists.xenproject.org>; Mon, 26 Dec 2022 10:00:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ea844a9-8547-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=L1PTW6g9reUacX+v9VHi6vdGyxXNEvkaXszELEDNvlU=;
        b=kMM0g9mOMhafP7L8eohckY6OwsGsm/1aAat3OfUTJ0lY5QrQnomidlLKObTBwpFLDA
         GwKHaKYAjjUbtuj24yWrLHS/radB2C6r9NYuNYZmC6VdE911o9NU9b8tbU/9ohoVWFu7
         cJXfY79QA3A7cb/mdAZ/JJ6NYw82aA3iKNKvhvlbTGdiis5KVJfI61IQfgo4STH6rM3s
         L0MAQAvbzdsPUSg0efGIlzCKQeD8b62vGxjLwa+oNCqS3B26lMZM0Ky5amochREuavCk
         XEPUUgbIwKmeqG/StqTmR0+BtErI9YEiis2wM52bDRqWHS2D4PAYG3h/4Z1wmhbPKuSB
         /fSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=L1PTW6g9reUacX+v9VHi6vdGyxXNEvkaXszELEDNvlU=;
        b=3R02Xg/6AP5s2SUVO+r7BcG3Ga6tTEeJvBVlMrRJn75m2WoyWbxjutRv5m2Ce5g1pE
         obncfb+a3/9XxRcaL0OOKphYW6piN7ySWBJQDKzYyY4ny17woClCIpru1SFpfVsm19yM
         xTLicJql/NqDGcMeObfmzPhlN6Hd2gcYOE0XLkf2tbQfw3e8HTR3z+o0qgc1yIySkfkm
         ejREOIRoZVaAVR6XsBx2g77jLAuCqcAf+RVAg/rYoFh6imZVcvUieSZoaGyhl+Ba2gJa
         nJy5OKs7Me2X6MhgVAfe0lpFkN972ALr1RVvMf6uL019dK4Kug82KLZ1umr+oTYFM2Wm
         P4UQ==
X-Gm-Message-State: AFqh2krjirB4xIJmsicDO9zeTYMtuHgceLVaZp/Z9PfP0JJSih1saCPI
	wpNRg4rl8Rx2honIQpRaxxTaUyB6k5hGZO7xVMc=
X-Google-Smtp-Source: AMrXdXttgvyGpq+DE9zotXu0ReHM9tjy6wwTjc7Fr27P8H9UHQsnWGV56xiHeZzU9oSjlK4wryLyQkDC2pW9nmPKSik=
X-Received: by 2002:a17:906:d0c4:b0:847:dc26:fb5a with SMTP id
 bq4-20020a170906d0c400b00847dc26fb5amr824960ejb.329.1672077655163; Mon, 26
 Dec 2022 10:00:55 -0800 (PST)
MIME-Version: 1.0
References: <CALAP8f--jyG=ufJ9WGtL6qoeGdsykjNK85G3q50SzJm5+wOzhQ@mail.gmail.com>
 <CALAP8f_n2okQ-Ss_kGACAq3BVYXS_D2P_8AyhOzUxqgWpz9f4g@mail.gmail.com>
 <alpine.DEB.2.22.394.2211101702250.50442@ubuntu-linux-20-04-desktop>
 <CALAP8f8zGfNA_CZU4UQXy7-rPT6dqih9XpzuKM3vvkoBvy6usg@mail.gmail.com>
 <alpine.DEB.2.22.394.2211221605470.1049131@ubuntu-linux-20-04-desktop>
 <CALAP8f_QiHN4dP3z+LQgKdGeo8-=9DMyk0W7+x6P2eHvnOD_wQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2212011128430.4039@ubuntu-linux-20-04-desktop>
 <CALAP8f_b=0m0dqj9a50UYXYfw9X873i07sG9eyxFSqxF0yEneQ@mail.gmail.com>
 <alpine.DEB.2.22.394.2212121406270.3075842@ubuntu-linux-20-04-desktop>
 <CALAP8f9JY23ZyDGnku4iWf5YCamSQKsZtdZj3MhX9TrF7wgEpw@mail.gmail.com>
 <alpine.DEB.2.22.394.2212131518180.315094@ubuntu-linux-20-04-desktop>
 <CALAP8f-fka4jicvLhzS8NFyyqD_NnffMxrZmqpz-x9JnL7Oy7w@mail.gmail.com>
 <alpine.DEB.2.22.394.2212141443130.315094@ubuntu-linux-20-04-desktop>
 <CALAP8f8yOdG_g0GpWG5ZPZ0BKiaKCyM2N4V6x_8Fr08f7QjpvA@mail.gmail.com> <alpine.DEB.2.22.394.2212221523390.4079@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2212221523390.4079@ubuntu-linux-20-04-desktop>
From: Vipul Suneja <vsuneja63@gmail.com>
Date: Mon, 26 Dec 2022 23:30:43 +0530
Message-ID: <CALAP8f8yvZUKJEXXL8qcoy9=nJ1G97OtiWSv7tk1LDerEWUqiw@mail.gmail.com>
Subject: Re: Porting Xen in raspberry pi4B
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, oleksandr_andrushchenko@epam.com, 
	oleksandr_tyshchenko@epam.com, jgross@suse.com, boris.ostrovsky@oracle.com, 
	Bertrand.Marquis@arm.com, Stewart.Hildebrand@amd.com, michal.orzel@amd.com, 
	vikram.garhwal@amd.com
Content-Type: multipart/mixed; boundary="000000000000ac63be05f0beea57"

--000000000000ac63be05f0beea57
Content-Type: multipart/alternative; boundary="000000000000ac63b505f0beea55"

--000000000000ac63b505f0beea55
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Stefano,

Thanks!

As you have mention function call qemu_create_displaysurface,
qemu_create_displaysurface_from, dpy_gfx_replace_surface, dpy_gfx_update
and dpy_gfx_check_format, i found that
these functions are not part of /ui/vnc.c source but they are defined in
/ui/console.c source. Even none of these functions have been called from
the vnc.c source. I have included debug logs for
all of these functions in console.c but could see in the logs that only
qemu_create_displaysurface &  dpy_gfx_replace_surface functions are
invoked. Even i tried vncviewer
on the host machine but other functions are not invoked. Attaching the log
file, any other suggestion as per log file or any input for debugging vnc
source file.

*You can also try to use another QEMU UI like SDL to see if the problem is
specific to VNC only.*
I already tried with SDL, by adding "vfb=3D[ 'type=3Dsdl' ]" in the guest
configuration file but it failed & didn't start the guest machine. Correct
me if I am wrong with configuration or steps to use SDL?

Thanks & Regards,
Vipul Kumar

On Fri, Dec 23, 2022 at 5:13 AM Stefano Stabellini <sstabellini@kernel.org>
wrote:

> Hi Vipul,
>
> Great that you managed to setup a debugging environment. The logs look
> very promising: it looks like xenfb.c is handling events as expected.
> So it would apparently seem that xen-fbfront.c -> xenfb.c connection is
> working.
>
> So the next step is the xenfb.c -> ./ui/vnc.c is working.
>
> It could be that the pixels and mouse events arrive just fine in
> xenfb.c, but then there is an issue with exporting them to the vncserver
> implementation inside QEMU, which is ./ui/vnc.c. The interesting
> functions there are qemu_create_displaysurface,
> qemu_create_displaysurface_from, dpy_gfx_replace_surface,
> dpy_gfx_update, and dpy_gfx_check_format.
>
> Specifically dpy_gfx_update should cause VNC to render the new area.
>
> qemu_create_displaysurface_from let VNC use the xenfb buffer directly
> with VNC, rather than using a secondary buffer and memory copies.
> Interestingly, dpy_gfx_check_format should be used to check if it is
> appropriate to share the buffer (qemu_create_displaysurface_from) or not
> (qemu_create_displaysurface) but we don't call it.
>
> I think it would be good to add a call to dpy_gfx_check_format in
> xenfb_update where we call qemu_create_displaysurface_from and also add
> a printk.
>
> You can try to disable the buffer sharing by replacing
> qemu_create_displaysurface_from with qemu_create_displaysurface. You can
> also try to use another QEMU UI like SDL to see if the problem is
> specific to VNC only.
>
> Cheers,
>
> Stefano
>
>
> On Mon, 19 Dec 2022, Vipul Suneja wrote:
> > Hi Stefano,
> >
> > Thanks!
> >
> > I could prepare a patch for adding debug printf logs in xenfb.c &
> re-compile QEMU in yocto image. Just for reference, I have included logs
> > in all the functions.
> > Attaching qemu log file, could see the entry & exit logs coming up for
> "xenfb_handle_events" & "xenfb_map_fb" also after the host machine
> > boots up. Can you please further assist, which parameters has to be
> cross checked or any other input as per logs?
> >
> > Thanks & Regards,
> > Vipul Kumar
> >
> > On Thu, Dec 15, 2022 at 4:17 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       Hi Vipul,
> >
> >       For QEMU you actually need to follow the Yocto build process to
> update
> >       the QEMU binary. That is because QEMU is a userspace application
> with
> >       lots of library dependencies so we cannot just do "make" with a
> >       cross-compiler like in the case of Xen.
> >
> >       So you need to make changes to QEMU and then add those changes as=
 a
> >       patch to the Yocto QEMU build recipe, or configure Yocto to your
> local
> >       tree to build QEMU. I am not a Yocto expert and the Yocto communi=
ty
> >       would be a better place to ask for advice there. You can see from
> here
> >       some instructions on how to build Xen using a local tree, see the
> usage
> >       of EXTERNALSRC (note that this is *not* what you need: you need t=
o
> build
> >       QEMU with a local tree, not Xen. But I thought that the wikipage
> might
> >       still be a starting point)
> >
> >       https://wiki.xenproject.org/wiki/Xen_on_ARM_and_Yocto
> >
> >       Cheers,
> >
> >       Stefano
> >
> >
> >       On Thu, 15 Dec 2022, Vipul Suneja wrote:
> >       > Hi Stefano,
> >       >
> >       > Thanks!
> >       >
> >       > I could see QEMU 6.2.0 compiled & installed in the host image
> xen-image-minimal. I could find xenfb.c source file also &
> >       modified the same
> >       > with debug logs.
> >       > I have set up a cross compile environment, did 'make clean' &
> 'make all' to recompile but it's failing. In case i am doing
> >       wrong, Can you
> >       > please assist me
> >       > with the correct steps to compile qemu? Below are the error log=
s:
> >       >
> >       >
> >       agl@agl-OptiPlex-7010
> :~/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp/work/co=
rtexa72-poky-linux/qemu/6.2.0-r0/build$
> >       make
> >       > all
> >       > [1/3864] Compiling C object libslirp.a.p/slirp_src_arp_table.c.=
o
> >       > [2/3864] Compiling C object
> subprojects/libvhost-user/libvhost-user.a.p/libvhost-user.c.o
> >       > [3/3864] Linking static target
> subprojects/libvhost-user/libvhost-user.a
> >       > [4/3864] Compiling C object libslirp.a.p/slirp_src_vmstate.c.o
> >       > [5/3864] Compiling C object libslirp.a.p/slirp_src_dhcpv6.c.o
> >       > [6/3864] Compiling C object libslirp.a.p/slirp_src_dnssearch.c.=
o
> >       > [7/3864] Compiling C object libslirp.a.p/slirp_src_bootp.c.o
> >       > [8/3864] Compiling C object libslirp.a.p/slirp_src_cksum.c.o
> >       > [9/3864] Compiling C object libslirp.a.p/slirp_src_if.c.o
> >       > [10/3864] Compiling C object libslirp.a.p/slirp_src_ip6_icmp.c.=
o
> >       > [11/3864] Compiling C object libslirp.a.p/slirp_src_ip6_input.c=
.o
> >       > [12/3864] Compiling C object
> libslirp.a.p/slirp_src_ip6_output.c.o
> >       > [13/3864] Compiling C object libslirp.a.p/slirp_src_ip_icmp.c.o
> >       > [14/3864] Compiling C object libslirp.a.p/slirp_src_ip_input.c.=
o
> >       > [15/3864] Compiling C object libslirp.a.p/slirp_src_ip_output.c=
.o
> >       > [16/3864] Compiling C object libslirp.a.p/slirp_src_mbuf.c.o
> >       > [17/3864] Compiling C object libslirp.a.p/slirp_src_misc.c.o
> >       > [18/3864] Compiling C object libslirp.a.p/slirp_src_ncsi.c.o
> >       > [19/3864] Compiling C object libslirp.a.p/slirp_src_ndp_table.c=
.o
> >       > [20/3864] Compiling C object libslirp.a.p/slirp_src_sbuf.c.o
> >       > [21/3864] Compiling C object libslirp.a.p/slirp_src_slirp.c.o
> >       > [22/3864] Compiling C object libslirp.a.p/slirp_src_socket.c.o
> >       > [23/3864] Compiling C object libslirp.a.p/slirp_src_state.c.o
> >       > [24/3864] Compiling C object libslirp.a.p/slirp_src_stream.c.o
> >       > [25/3864] Compiling C object libslirp.a.p/slirp_src_tcp_input.c=
.o
> >       > [26/3864] Compiling C object
> libslirp.a.p/slirp_src_tcp_output.c.o
> >       > [27/3864] Compiling C object libslirp.a.p/slirp_src_tcp_subr.c.=
o
> >       > [28/3864] Compiling C object libslirp.a.p/slirp_src_tcp_timer.c=
.o
> >       > [29/3864] Compiling C object libslirp.a.p/slirp_src_tftp.c.o
> >       > [30/3864] Compiling C object libslirp.a.p/slirp_src_udp.c.o
> >       > [31/3864] Compiling C object libslirp.a.p/slirp_src_udp6.c.o
> >       > [32/3864] Compiling C object libslirp.a.p/slirp_src_util.c.o
> >       > [33/3864] Compiling C object libslirp.a.p/slirp_src_version.c.o
> >       > [34/3864] Linking static target libslirp.a
> >       > [35/3864] Generating qemu-version.h with a custom command
> (wrapped by meson to capture output)
> >       > FAILED: qemu-version.h
> >
>  >/home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tm=
p/work/cortexa72-poky-linux/qemu/6.2.0-r0/recipe-sysroot-native/usr
> >
> >       > /bin/meson --internal exe --capture
> qemu-version.h--/home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirk=
stone/build/tmp/work/cortexa72-poky-linux/qemu/6.2.0-r0/qemu-6.2.0/scripts/=
qemu
> >       -v
> >       > ersion.sh
> >
>  /home/agl/Automotive/ADAS_Infotainment/Platform/Poky_Kirkstone/build/tmp=
/work/cortexa72-poky-linux/qemu/6.2.0-r0/qemu-6.2.0
> ''
> >       > 6.2.0
> >       > /usr/bin/env: =E2=80=98nativepython3=E2=80=99: No such file or =
directory
> >       > ninja: build stopped: subcommand failed.
> >       > make: *** [Makefile:162: run-ninja] Error 1
> >       >
> >       > Thanks & Regards,
> >       > Vipul Kumar
> >       >
> >       > On Wed, Dec 14, 2022 at 4:55 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       >       Hi Vipul,
> >       >
> >       >       Good progress! The main function we should check is
> "xenfb_refresh" but
> >       >       from the logs it looks like it is called several times.
> Which means that
> >       >       everything seems to be working as expected on the Linux
> side.
> >       >
> >       >       It is time to investigate the QEMU side:
> >       >       ./hw/display/xenfb.c:xenfb_handle_events
> >       >       ./hw/display/xenfb.c:xenfb_map_fb
> >       >
> >       >       I wonder if the issue is internal to QEMU. You might want
> to use an
> >       >       older QEMU version to check if it works, maybe 6.0 or 5.0
> or even 4.0.
> >       >       I also wonder if it is a problem between xenfb.c and the
> rest of QEMU. I
> >       >       would investigate how xenfb->pixels is rendered by the
> rest of QEMU.
> >       >       Specifically you might want to look at the call to
> >       >       qemu_create_displaysurface,
> qemu_create_displaysurface_from and
> >       >       dpy_gfx_replace_surface in xenfb_update.
> >       >
> >       >       I hope this helps.
> >       >
> >       >       Cheers,
> >       >
> >       >       Stefano
> >       >
> >       >
> >       >       On Tue, 13 Dec 2022, Vipul Suneja wrote:
> >       >       > Hi Stefano,
> >       >       >
> >       >       > Thanks!
> >       >       >
> >       >       > I modified xen-fbfront.c source file, included printk
> debug logs & cross compiled it. I included the printk debug log
> >       at the
> >       >       entry & exit
> >       >       > of all functions of xen-fbfront.c file.
> >       >       > Generated kernel module & loaded in guest machine at
> bootup. I could see lots of logs coming up, and could see
> >       multiple
> >       >       functions being
> >       >       > invoked even if I have not used vncviewer in the host.
> Attaching the log file for reference. Any specific function or
> >       >       parameters that have
> >       >       > to be checked or any other suggestion as per logs?
> >       >       >
> >       >       > Thanks & Regards,
> >       >       > Vipul Kumar
> >       >       >
> >       >       > On Tue, Dec 13, 2022 at 3:44 AM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       >       >       Hi Vipul,
> >       >       >
> >       >       >       I am online on IRC OFTC #xendevel (
> https://www.oftc.net/, you need a
> >       >       >       registered nickname to join #xendevel).
> >       >       >
> >       >       >       For development and debugging I find that it is a
> lot easier to
> >       >       >       crosscompile the kernel "by hand", and do a
> monolithic build, rather
> >       >       >       than going through Yocto.
> >       >       >
> >       >       >       For instance the following builds for me:
> >       >       >
> >       >       >       cd linux.git
> >       >       >       export ARCH=3Darm64
> >       >       >       export CROSS_COMPILE=3D/path/to/cross-compiler
> >       >       >       make defconfig
> >       >       >       [add printks to drivers/video/fbdev/xen-fbfront.c=
]
> >       >       >       make -j8 Image.gz
> >       >       >
> >       >       >       And Image.gz boots on Xen as DomU kernel without
> issues.
> >       >       >
> >       >       >       Cheers,
> >       >       >
> >       >       >       Stefano
> >       >       >
> >       >       >       On Sat, 10 Dec 2022, Vipul Suneja wrote:
> >       >       >       > Hi Stefano,
> >       >       >       >
> >       >       >       > Thanks!
> >       >       >       >
> >       >       >       > I have included printk debug logs in the
> xen-fbfront.c source file. While cross compiling to generate .ko
> >       with
> >       >       >       "xen-guest-image-minimal"
> >       >       >       > toolchain it's throwing a modpost
> >       >       >       > not found error. I could see the modpost.c
> source file but the final script is missing. Any input on this,
> >       Below are
> >       >       the
> >       >       >       logs:
> >       >       >       >
> >       >       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotai=
nment/project/Application/Xen/Framebuffer$
> make
> >       >       >       > make ARCH=3Darm64
> -I/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/usr/include/asm -C
> >       >       >       >
> /opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto-s=
tandard/build
> >       >       >       >
> M=3D/home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Frameb=
uffer
> modules
> >       >       >       > make[1]: Entering directory
> >
>  '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto=
-standard/build'
> >       >       >       > arch/arm64/Makefile:36: Detected assembler with
> broken .inst; disassembly will be unreliable
> >       >       >       > warning: the compiler differs from the one used
> to build the kernel
> >       >       >       >   The kernel was built by: gcc (Ubuntu
> 9.4.0-1ubuntu1~20.04.1) 9.4.0
> >       >       >       >   You are using:
> aarch64-poky-linux-gcc (GCC) 11.3.0
> >       >       >       >   CC [M]
>  /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuff=
er/xen-fbfront.o
> >       >       >       >   MODPOST
> /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffe=
r/Module.symvers
> >       >       >       > /bin/sh: 1: scripts/mod/modpost: not found
> >       >       >       > make[2]: *** [scripts/Makefile.modpost:133:
> >       >       >
>  /home/agl/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuff=
er/Module.symvers]
> >       >       >       > Error 127
> >       >       >       > make[1]: *** [Makefile:1813: modules] Error 2
> >       >       >       > make[1]: Leaving directory
> >
>  '/opt/poky/4.0.5/sysroots/cortexa72-poky-linux/lib/modules/5.15.72-yocto=
-standard/build'
> >       >       >       > make: *** [Makefile:5: all] Error 2
> >       >       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotai=
nment/project/Application/Xen/Framebuffer$
> ls -l
> >       >       >       > total 324
> >       >       >       > -rwxrwxrwx 1 agl agl    359 Dec 10 22:41 Makefi=
le
> >       >       >       > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49
> modules.order
> >       >       >       > -rw-r--r-- 1 agl agl  18331 Dec  1 20:32
> xen-fbfront.c
> >       >       >       > -rw-rw-r-- 1 agl agl     90 Dec 10 22:49
> xen-fbfront.mod
> >       >       >       > -rw-rw-r-- 1 agl agl 297832 Dec 10 22:49
> xen-fbfront.o
> >       >       >       > agl@agl-OptiPlex-7010:~/Automotive/ADAS_Infotai=
nment/project/Application/Xen/Framebuffer$
> file xen-fbfront.o
> >       >       >       > xen-fbfront.o: ELF 64-bit LSB relocatable, ARM
> aarch64, version 1 (SYSV), with debug_info, not stripped
> >       >       >       > agl@agl-OptiPlex-7010
> :~/Automotive/ADAS_Infotainment/project/Application/Xen/Framebuffer$
> >       >       >       >
> >       >       >       > I have connected a HDMI based 1980x1024
> resolution display screen to raspberrypi4 for testing purposes. I
> >       hope
> >       >       connecting
> >       >       >       this display to
> >       >       >       > rpi4 should be ok.
> >       >       >       >
> >       >       >       > Is there any other way we can connect also for
> detailed discussion on the display bringup issue? This will
> >       really
> >       >       help to
> >       >       >       resolve this
> >       >       >       > issue.
> >       >       >       >
> >       >       >       > Thanks & Regards,
> >       >       >       > Vipul Kumar
> >       >       >       >
> >       >       >       > On Fri, Dec 2, 2022 at 1:02 AM Stefano
> Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       On Thu, 1 Dec 2022, Vipul Suneja wrote:
> >       >       >       >       > Hi Stefano,
> >       >       >       >       > Thanks!
> >       >       >       >       >
> >       >       >       >       > I am exploring both options here,
> modification of framebuffer source file & setting up x11vnc server
> >       in
> >       >       guest.
> >       >       >       >       > Other than these I would like to share =
a
> few findings with you.
> >       >       >       >       >
> >       >       >       >       > 1. If i keep
> "CONFIG_XEN_FBDEV_FRONTEND=3Dy" then xen-fbfront.ko is not generating but=
 if
> i keep
> >       >       >       "CONFIG_XEN_FBDEV_FRONTEND=3Dm"
> >       >       >       >       > then could see xen-fbfront.ko & its
> loading also. Same things with other frontend/backend drivers
> >       also. Do we
> >       >       need to
> >       >       >       >       configure these
> >       >       >       >       > drivers as a module(m) only?
> >       >       >       >
> >       >       >       >       xen-fbfront should work both as a module
> (xen-fbfront.ko) or built-in
> >       >       >       >       (CONFIG_XEN_FBDEV_FRONTEND=3Dy).
> >       >       >       >
> >       >       >       >
> >       >       >       >
> >       >       >       >       > 2. I could see xenstored service is
> running for the host but it's always failing for the
> >       guest machine. I
> >       >       could see
> >       >       >       it in
> >       >       >       >       bootup logs & via
> >       >       >       >       > systemctl status also.
> >       >       >       >
> >       >       >       >       That is normal. xenstored is only meant t=
o
> be run in Dom0, not in the
> >       >       >       >       domUs. If you use the same rootfs for Dom=
0
> and DomU then xenstored will
> >       >       >       >       fail starting in the DomU (but should
> succeed in Dom0), which is what we
> >       >       >       >       want.
> >       >       >       >
> >       >       >       >       If you run "xenstore-ls" in Dom0, you'll
> see a bunch of entries,
> >       >       >       >       including some of them related to "vfb"
> which is the virtual framebuffer
> >       >       >       >       protocol. You should also see an entry
> called "state" set to "4" which
> >       >       >       >       means "connected". state =3D 4 is usually
> when everything works. Normally
> >       >       >       >       when things don't work state !=3D 4.
> >       >       >       >
> >       >       >       >
> >       >       >       >
> >       >       >       >       > Below are the logs:
> >       >       >       >       > [  OK  ] Reached target Basic System.
> >       >       >       >       > [  OK  ] Started Kernel Logging Service=
.
> >       >       >       >       > [  OK  ] Started System Logging Service=
.
> >       >       >       >       >          Starting D-Bus System Message
> Bus...
> >       >       >       >       >          Starting User Login
> Management...
> >       >       >       >       >          Starting Permit User Sessions.=
..
> >       >       >       >       >          Starting The Xen xenstore...
> >       >       >       >       >          Starting OpenSSH Key
> Generation...
> >       >       >       >       > [FAILED] Failed to start The Xen
> xenstore.
> >       >       >       >       > See 'systemctl status xenstored.service=
'
> for details.
> >       >       >       >       > [DEPEND] Dependency failed for qemu for
> xen dom0 disk backend.
> >       >       >       >       > [DEPEND] Dependency failed for Xend=E2=
=80=A6p
> guests on boot and shutdown.
> >       >       >       >       > [DEPEND] Dependency failed for xen-=E2=
=80=A6des,
> JSON configuration stub).
> >       >       >       >       > [DEPEND] Dependency failed for
> Xenc=E2=80=A6guest consoles and hypervisor.
> >       >       >       >       > [  OK  ] Finished Permit User Sessions.
> >       >       >       >       > [  OK  ] Started Getty on tty1.
> >       >       >       >       > [  OK  ] Started Serial Getty on hvc0.
> >       >       >       >       > [  OK  ] Started Serial Getty on ttyS0.
> >       >       >       >       > [  OK  ] Reached target Login Prompts.
> >       >       >       >       >          Starting Xen-watchdog - run xe=
n
> watchdog daemon...
> >       >       >       >       > [  OK  ] Started D-Bus System Message
> Bus.
> >       >       >       >       > [  OK  ] Started Xen-watchdog - run xen
> watchdog daemon.
> >       >       >       >       > [  OK  ] Finished OpenSSH Key Generatio=
n.
> >       >       >       >       > [  OK  ] Started User Login Management.
> >       >       >       >       > [  OK  ] Reached target Multi-User
> System.
> >       >       >       >       >          Starting Record Runlevel Chang=
e
> in UTMP...
> >       >       >       >       > [  OK  ] Finished Record Runlevel Chang=
e
> in UTMP.
> >       >       >       >       > fbcon: Taking over console
> >       >       >       >       >
> >       >       >       >       > Poky (Yocto Project Reference Distro)
> 4.0.4 raspberrypi4-64 hvc0
> >       >       >       >       >
> >       >       >       >       > raspberrypi4-64 login: root
> >       >       >       >       > root@raspberrypi4-64:~#
> >       >       >       >       > root@raspberrypi4-64:~#
> >       >       >       >       > root@raspberrypi4-64:~# systemctl
> status xenstored.service
> >       >       >       >       > x xenstored.service - The Xen xenstore
> >       >       >       >       >      Loaded: loaded
> (/lib/systemd/system/xenstored.service; enabled; vendor preset: enabled)
> >       >       >       >       >      Active: failed (Result: exit-code)
> since Thu 2022-12-01 06:12:05 UTC; 26s ago
> >       >       >       >       >     Process: 195 ExecStartPre=3D/bin/gr=
ep
> -q control_d /proc/xen/capabilities (code=3Dexited,
> >       status=3D1/FAILURE)
> >       >       >       >       >
> >       >       >       >       > Dec 01 06:12:04 raspberrypi4-64
> systemd[1]: Starting The Xen xenstore...
> >       >       >       >       > Dec 01 06:12:05 raspberrypi4-64
> systemd[1]: xenstored.service: Control pro...URE
> >       >       >       >       > Dec 01 06:12:05 raspberrypi4-64
> systemd[1]: xenstored.service: Failed with...e'.
> >       >       >       >       > Dec 01 06:12:05 raspberrypi4-64
> systemd[1]: Failed to start The Xen xenstore.
> >       >       >       >       > Hint: Some lines were ellipsized, use -=
l
> to show in full.
> >       >       >       >       > root@raspberrypi4-64:~#
> >       >       >       >       >
> >       >       >       >       > Any input on these?
> >       >       >       >       >
> >       >       >       >       > Thanks & Regards,
> >       >       >       >       > Vipul Kumar
> >       >       >       >       >
> >       >       >       >       > On Wed, Nov 23, 2022 at 5:41 AM Stefano
> Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       >       Hi Vipul,
> >       >       >       >       >
> >       >       >       >       >       I cannot spot any issue in the
> configuration, in particual you have:
> >       >       >       >       >
> >       >       >       >       >       CONFIG_XEN_FBDEV_FRONTEND=3Dy
> >       >       >       >       >
> >       >       >       >       >       which is what you need.
> >       >       >       >       >
> >       >       >       >       >       The only thing I can suggest is t=
o
> add printks to the Linux frontend
> >       >       >       >       >       driver (the one running in the
> domU) which is
> >       >       >       >       >       drivers/video/fbdev/xen-fbfront.c
> and printfs to the QEMU backend
> >       >       >       >       >       (running in Dom0) which is
> hw/display/xenfb.c to figure out what is
> >       >       >       >       >       going on.
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >       Alternatively, you can setup PV
> network with the domU, such as:
> >       >       >       >       >
> >       >       >       >       >         vif=3D['']
> >       >       >       >       >
> >       >       >       >       >       and then run x11 and a x11vnc
> server in your domU. You should be able to
> >       >       >       >       >       connect to it using vncviewer at
> the network IP of your domU.
> >       >       >       >       >
> >       >       >       >       >       Basically you are skipping the
> problem because instead of using the PV
> >       >       >       >       >       framebuffer protocol, you just us=
e
> VNC over the network with the domU.
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >       Cheers,
> >       >       >       >       >
> >       >       >       >       >       Stefano
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >       On Tue, 22 Nov 2022, Vipul Suneja
> wrote:
> >       >       >       >       >       > Hi Stefano,
> >       >       >       >       >       > Thanks for the support!
> >       >       >       >       >       >
> >       >       >       >       >       > Looks like I have tried all the
> combinations & possible ways to get display up but failed. Is
> >       there
> >       >       any
> >       >       >       document or
> >       >       >       >       pdf for
> >       >       >       >       >       porting xen on
> >       >       >       >       >       > raspberrypi4.
> >       >       >       >       >       > I could find lot's of links
> telling the same but couldn't see any official user guide or
> >       document
> >       >       from the
> >       >       >       xen
> >       >       >       >       community on
> >       >       >       >       >       the same. If
> >       >       >       >       >       > there is something to refer
> >       >       >       >       >       > to please share with me.
> >       >       >       >       >       > I am attaching the kernel
> configuration file also, just take a look if i have missed
> >       anything.
> >       >       >       >       >       > Any other suggestions or input
> from your end could be really helpful?
> >       >       >       >       >       >
> >       >       >       >       >       > Regards,
> >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >       >
> >       >       >       >       >       > On Fri, Nov 11, 2022 at 6:40 AM
> Stefano Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       >       >       Hi Vipul,
> >       >       >       >       >       >
> >       >       >       >       >       >       Sorry for the late reply.
> From the earlier logs that you sent, it looks
> >       >       >       >       >       >       like everything should be
> working correctly. Specifically:
> >       >       >       >       >       >
> >       >       >       >       >       >            vfb =3D ""
> >       >       >       >       >       >             1 =3D ""
> >       >       >       >       >       >              0 =3D ""
> >       >       >       >       >       >               frontend =3D
> "/local/domain/1/device/vfb/0"
> >       >       >       >       >       >               frontend-id =3D "=
1"
> >       >       >       >       >       >               online =3D "1"
> >       >       >       >       >       >               state =3D "4"
> >       >       >       >       >       >               vnc =3D "1"
> >       >       >       >       >       >               vnclisten =3D
> "127.0.0.1"
> >       >       >       >       >       >               vncdisplay =3D "0=
"
> >       >       >       >       >       >               vncunused =3D "1"
> >       >       >       >       >       >               sdl =3D "0"
> >       >       >       >       >       >               opengl =3D "0"
> >       >       >       >       >       >               feature-resize =
=3D
> "1"
> >       >       >       >       >       >               hotplug-status =
=3D
> "connected"
> >       >       >       >       >       >               request-update =
=3D
> "1"
> >       >       >       >       >       >
> >       >       >       >       >       >       state "4" means
> "connected". So I would expect that you should be able
> >       >       >       >       >       >       to connect to the vnc
> server using vncviewer. You might not see anything
> >       >       >       >       >       >       (black screen) but you
> should definitely be able to connect.
> >       >       >       >       >       >
> >       >       >       >       >       >       I wouldn't try to launch
> x11 in the guest just yet. fbcon in Linux is
> >       >       >       >       >       >       enough to render somethin=
g
> on the screen. You should be able to see the
> >       >       >       >       >       >       Linux text-based console
> rendered graphically, connecting to it via vnc.
> >       >       >       >       >       >
> >       >       >       >       >       >       Sorry for the basic
> question, but have you tried all the following?
> >       >       >       >       >       >
> >       >       >       >       >       >       vncviewer 127.0.0.1:0
> >       >       >       >       >       >       vncviewer 127.0.0.1:1
> >       >       >       >       >       >       vncviewer 127.0.0.1:2
> >       >       >       >       >       >       vncviewer 127.0.0.1:5900
> >       >       >       >       >       >       vncviewer 127.0.0.1:5901
> >       >       >       >       >       >       vncviewer 127.0.0.1:5902
> >       >       >       >       >       >
> >       >       >       >       >       >       Given that from the
> xenstore-ls logs everything seems to work correctly
> >       >       >       >       >       >       I am not sure what else t=
o
> suggest. You might have to add printf to QEMU
> >       >       >       >       >       >       ui/vnc.c and
> hw/display/xenfb.c to see what is going wrong.
> >       >       >       >       >       >
> >       >       >       >       >       >       Cheers,
> >       >       >       >       >       >
> >       >       >       >       >       >       Stefano
> >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >       >       On Mon, 7 Nov 2022, Vipul
> Suneja wrote:
> >       >       >       >       >       >       > Hi Stefano,
> >       >       >       >       >       >       > Thanks!
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Any input further on
> "xenstore-ls" logs?
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > I am trying to run the
> x0vncserver & x11vnc server manually on guest
> >       >       machine(xen_guest_image_minimal)
> >       >       >       image
> >       >       >       >       but it's
> >       >       >       >       >       failing
> >       >       >       >       >       >       with the below
> >       >       >       >       >       >       > error.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > root@raspberrypi4-64:/u=
sr/bin#
> x0vncserver
> >       >       >       >       >       >       > x0vncserver: unable to
> open display ""
> >       >       >       >       >       >       > root@raspberrypi4-64
> :/usr/bin#
> >       >       >       >       >       >       > root@raspberrypi4-64:/u=
sr/bin#
> x11vnc
> >       >       >       >       >       >       >
> ###############################################################
> >       >       >       >       >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@  **  WARNING  **
>  WARNING  **  WARNING  **  WARNING  **   @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@        YOU ARE
> RUNNING X11VNC WITHOUT A PASSWORD!!        @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@  This means anyone
> with network access to this computer   @#
> >       >       >       >       >       >       > #@  may be able to view
> and control your desktop.            @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@ >>> If you did not
> mean to do this Press CTRL-C now!! <<< @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@  You can create an
> x11vnc password file by running:       @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@       x11vnc
> -storepasswd password /path/to/passfile      @#
> >       >       >       >       >       >       > #@  or   x11vnc
> -storepasswd /path/to/passfile               @#
> >       >       >       >       >       >       > #@  or   x11vnc
> -storepasswd                                 @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@  (the last one will
> use ~/.vnc/passwd)                    @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@  and then starting
> x11vnc via:                            @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@      x11vnc -rfbauth
> /path/to/passfile                    @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@  an existing
> ~/.vnc/passwd file from another VNC          @#
> >       >       >       >       >       >       > #@  application will
> work fine too.                          @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@  You can also use th=
e
> -passwdfile or -passwd options.     @#
> >       >       >       >       >       >       > #@  (note -passwd is
> unsafe if local users are not trusted)  @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@  Make sure any
> -rfbauth and -passwdfile password files    @#
> >       >       >       >       >       >       > #@  cannot be read by
> untrusted users.                       @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@  Use x11vnc -usepw t=
o
> automatically use your              @#
> >       >       >       >       >       >       > #@  ~/.vnc/passwd or
> ~/.vnc/passwdfile password files.       @#
> >       >       >       >       >       >       > #@  (and prompt you to
> create ~/.vnc/passwd if neither       @#
> >       >       >       >       >       >       > #@  file exists.)  Unde=
r
> -usepw, x11vnc will exit if it      @#
> >       >       >       >       >       >       > #@  cannot find a
> password to use.                           @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@  Even with a
> password, the subsequent VNC traffic is      @#
> >       >       >       >       >       >       > #@  sent in the clear.
> Consider tunnelling via ssh(1):      @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@
> http://www.karlrunge.com/x11vnc/#tunnelling            @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@  Or using the x11vnc
> SSL options: -ssl and -stunnel       @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@  Please Read the
> documentation for more info about        @#
> >       >       >       >       >       >       > #@  passwords, security=
,
> and encryption.                     @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@
> http://www.karlrunge.com/x11vnc/faq.html#faq-passwd    @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       > #@  To disable this
> warning use the -nopw option, or put     @#
> >       >       >       >       >       >       > #@  'nopw' on a line in
> your ~/.x11vncrc file.               @#
> >       >       >       >       >       >       > #@
>                                     @#
> >       >       >       >       >       >       >
> #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#
> >       >       >       >       >       >       >
> ###############################################################
> >       >       >       >       >       >       > 09/03/2018 12:58:41
> x11vnc version: 0.9.16 lastmod: 2019-01-05  pid: 424
> >       >       >       >       >       >       > 09/03/2018 12:58:41
> XOpenDisplay("") failed.
> >       >       >       >       >       >       > 09/03/2018 12:58:41
> Trying again with XAUTHLOCALHOSTNAME=3Dlocalhost ...
> >       >       >       >       >       >       > 09/03/2018 12:58:41
> >       >       >       >       >       >       > 09/03/2018 12:58:41 ***
> XOpenDisplay failed. No -display or DISPLAY.
> >       >       >       >       >       >       > 09/03/2018 12:58:41 ***
> Trying ":0" in 4 seconds.  Press Ctrl-C to abort.
> >       >       >       >       >       >       > 09/03/2018 12:58:41 ***
> 1 2 3 4
> >       >       >       >       >       >       > 09/03/2018 12:58:45
> XOpenDisplay(":0") failed.
> >       >       >       >       >       >       > 09/03/2018 12:58:45
> Trying again with XAUTHLOCALHOSTNAME=3Dlocalhost ...
> >       >       >       >       >       >       > 09/03/2018 12:58:45
> XOpenDisplay(":0") failed.
> >       >       >       >       >       >       > 09/03/2018 12:58:45
> Trying again with unset XAUTHLOCALHOSTNAME ...
> >       >       >       >       >       >       > 09/03/2018 12:58:45
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > 09/03/2018 12:58:45
> ***************************************
> >       >       >       >       >       >       > 09/03/2018 12:58:45 ***
> XOpenDisplay failed (:0)
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > *** x11vnc was unable t=
o
> open the X DISPLAY: ":0", it cannot continue.
> >       >       >       >       >       >       > *** There may be "Xlib:=
"
> error messages above with details about the failure.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Some tips and guideline=
s:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > ** An X server (the one
> you wish to view) must be running before x11vnc is
> >       >       >       >       >       >       >    started: x11vnc does
> not start the X server.  (however, see the -create
> >       >       >       >       >       >       >    option if that is
> what you really want).
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > ** You must use -displa=
y
> <disp>, -OR- set and export your $DISPLAY
> >       >       >       >       >       >       >    environment variable
> to refer to the display of the desired X server.
> >       >       >       >       >       >       >  - Usually the display
> is simply ":0" (in fact x11vnc uses this if you forget
> >       >       >       >       >       >       >    to specify it), but
> in some multi-user situations it could be ":1", ":2",
> >       >       >       >       >       >       >    or even ":137".  Ask
> your administrator or a guru if you are having
> >       >       >       >       >       >       >    difficulty
> determining what your X DISPLAY is.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > ** Next, you need to
> have sufficient permissions (Xauthority)
> >       >       >       >       >       >       >    to connect to the X
> DISPLAY.   Here are some Tips:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >  - Often, you just need
> to run x11vnc as the user logged into the X session.
> >       >       >       >       >       >       >    So make sure to be
> that user when you type x11vnc.
> >       >       >       >       >       >       >  - Being root is usuall=
y
> not enough because the incorrect MIT-MAGIC-COOKIE
> >       >       >       >       >       >       >    file may be
> accessed.  The cookie file contains the secret key that
> >       >       >       >       >       >       >    allows x11vnc to
> connect to the desired X DISPLAY.
> >       >       >       >       >       >       >  - You can explicitly
> indicate which MIT-MAGIC-COOKIE file should be used
> >       >       >       >       >       >       >    by the -auth option,
> e.g.:
> >       >       >       >       >       >       >        x11vnc -auth
> /home/someuser/.Xauthority -display :0
> >       >       >       >       >       >       >        x11vnc -auth
> /tmp/.gdmzndVlR -display :0
> >       >       >       >       >       >       >    you must have read
> permission for the auth file.
> >       >       >       >       >       >       >    See also '-auth
> guess' and '-findauth' discussed below.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > ** If NO ONE is logged
> into an X session yet, but there is a greeter login
> >       >       >       >       >       >       >    program like "gdm",
> "kdm", "xdm", or "dtlogin" running, you will need
> >       >       >       >       >       >       >    to find and use the
> raw display manager MIT-MAGIC-COOKIE file.
> >       >       >       >       >       >       >    Some examples for
> various display managers:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >      gdm:     -auth
> /var/gdm/:0.Xauth
> >       >       >       >       >       >       >               -auth
> /var/lib/gdm/:0.Xauth
> >       >       >       >       >       >       >      kdm:     -auth
> /var/lib/kdm/A:0-crWk72
> >       >       >       >       >       >       >               -auth
> /var/run/xauth/A:0-crWk72
> >       >       >       >       >       >       >      xdm:     -auth
> /var/lib/xdm/authdir/authfiles/A:0-XQvaJk
> >       >       >       >       >       >       >      dtlogin: -auth
> /var/dt/A:0-UgaaXa
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >    Sometimes the comman=
d
> "ps wwwwaux | grep auth" can reveal the file location.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >    Starting with x11vnc
> 0.9.9 you can have it try to guess by using:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >               -auth gue=
ss
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >    (see also the x11vnc
> -findauth option.)
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >    Only root will have
> read permission for the file, and so x11vnc must be run
> >       >       >       >       >       >       >    as root (or copy
> it).  The random characters in the filenames will of course
> >       >       >       >       >       >       >    change and the
> directory the cookie file resides in is system dependent.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > See also:
> http://www.karlrunge.com/x11vnc/faq.html
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Regards,
> >       >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > On Thu, Nov 3, 2022 at
> 10:27 PM Vipul Suneja <vsuneja63@gmail.com> wrote:
> >       >       >       >       >       >       >       Hi Stefano,
> >       >       >       >       >       >       > Thanks!
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > I used
> xen-guest-image-minimal(simple console based image) as a guest with fbcon=
 &
> >       fbdev
> >       >       enabled in
> >       >       >       kernel
> >       >       >       >       >       configurations but
> >       >       >       >       >       >       still
> >       >       >       >       >       >       > the same error can't
> open the display.
> >       >       >       >       >       >       > below are the outcome o=
f
> "xenstore-ls":
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > root@raspberrypi4-64:~/=
guest1#
> xenstore-ls
> >       >       >       >       >       >       > tool =3D ""
> >       >       >       >       >       >       >  xenstored =3D ""
> >       >       >       >       >       >       > local =3D ""
> >       >       >       >       >       >       >  domain =3D ""
> >       >       >       >       >       >       >   0 =3D ""
> >       >       >       >       >       >       >    control =3D ""
> >       >       >       >       >       >       >     feature-poweroff =
=3D
> "1"
> >       >       >       >       >       >       >     feature-reboot =3D =
"1"
> >       >       >       >       >       >       >    domid =3D "0"
> >       >       >       >       >       >       >    name =3D "Domain-0"
> >       >       >       >       >       >       >    device-model =3D ""
> >       >       >       >       >       >       >     0 =3D ""
> >       >       >       >       >       >       >      backends =3D ""
> >       >       >       >       >       >       >       console =3D ""
> >       >       >       >       >       >       >       vkbd =3D ""
> >       >       >       >       >       >       >       vfb =3D ""
> >       >       >       >       >       >       >       qnic =3D ""
> >       >       >       >       >       >       >      state =3D "running=
"
> >       >       >       >       >       >       >     1 =3D ""
> >       >       >       >       >       >       >      backends =3D ""
> >       >       >       >       >       >       >       console =3D ""
> >       >       >       >       >       >       >       vkbd =3D ""
> >       >       >       >       >       >       >       vfb =3D ""
> >       >       >       >       >       >       >       qnic =3D ""
> >       >       >       >       >       >       >      state =3D "running=
"
> >       >       >       >       >       >       >    backend =3D ""
> >       >       >       >       >       >       >     vbd =3D ""
> >       >       >       >       >       >       >      1 =3D ""
> >       >       >       >       >       >       >       51712 =3D ""
> >       >       >       >       >       >       >        frontend =3D
> "/local/domain/1/device/vbd/51712"
> >       >       >       >       >       >       >        params =3D
> "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
> >       >       >       >       >       >       >        script =3D
> "/etc/xen/scripts/block"
> >       >       >       >       >       >       >        frontend-id =3D =
"1"
> >       >       >       >       >       >       >        online =3D "1"
> >       >       >       >       >       >       >        removable =3D "0=
"
> >       >       >       >       >       >       >        bootable =3D "1"
> >       >       >       >       >       >       >        state =3D "4"
> >       >       >       >       >       >       >        dev =3D "xvda"
> >       >       >       >       >       >       >        type =3D "phy"
> >       >       >       >       >       >       >        mode =3D "w"
> >       >       >       >       >       >       >        device-type =3D
> "disk"
> >       >       >       >       >       >       >        discard-enable =
=3D
> "1"
> >       >       >       >       >       >       >
>  feature-max-indirect-segments =3D "256"
> >       >       >       >       >       >       >
>  multi-queue-max-queues =3D "4"
> >       >       >       >       >       >       >
>  max-ring-page-order =3D "4"
> >       >       >       >       >       >       >        node =3D
> "/dev/loop0"
> >       >       >       >       >       >       >        physical-device =
=3D
> "7:0"
> >       >       >       >       >       >       >
>  physical-device-path =3D "/dev/loop0"
> >       >       >       >       >       >       >        hotplug-status =
=3D
> "connected"
> >       >       >       >       >       >       >
>  feature-flush-cache =3D "1"
> >       >       >       >       >       >       >
>  discard-granularity =3D "4096"
> >       >       >       >       >       >       >        discard-alignmen=
t
> =3D "0"
> >       >       >       >       >       >       >        discard-secure =
=3D
> "0"
> >       >       >       >       >       >       >        feature-discard =
=3D
> "1"
> >       >       >       >       >       >       >        feature-barrier =
=3D
> "1"
> >       >       >       >       >       >       >
>  feature-persistent =3D "1"
> >       >       >       >       >       >       >        sectors =3D
> "1794048"
> >       >       >       >       >       >       >        info =3D "0"
> >       >       >       >       >       >       >        sector-size =3D
> "512"
> >       >       >       >       >       >       >
>  physical-sector-size =3D "512"
> >       >       >       >       >       >       >     vfb =3D ""
> >       >       >       >       >       >       >      1 =3D ""
> >       >       >       >       >       >       >       0 =3D ""
> >       >       >       >       >       >       >        frontend =3D
> "/local/domain/1/device/vfb/0"
> >       >       >       >       >       >       >        frontend-id =3D =
"1"
> >       >       >       >       >       >       >        online =3D "1"
> >       >       >       >       >       >       >        state =3D "4"
> >       >       >       >       >       >       >        vnc =3D "1"
> >       >       >       >       >       >       >        vnclisten =3D
> "127.0.0.1"
> >       >       >       >       >       >       >        vncdisplay =3D "=
0"
> >       >       >       >       >       >       >        vncunused =3D "1=
"
> >       >       >       >       >       >       >        sdl =3D "0"
> >       >       >       >       >       >       >        opengl =3D "0"
> >       >       >       >       >       >       >        feature-resize =
=3D
> "1"
> >       >       >       >       >       >       >        hotplug-status =
=3D
> "connected"
> >       >       >       >       >       >       >        request-update =
=3D
> "1"
> >       >       >       >       >       >       >     vkbd =3D ""
> >       >       >       >       >       >       >      1 =3D ""
> >       >       >       >       >       >       >       0 =3D ""
> >       >       >       >       >       >       >        frontend =3D
> "/local/domain/1/device/vkbd/0"
> >       >       >       >       >       >       >        frontend-id =3D =
"1"
> >       >       >       >       >       >       >        online =3D "1"
> >       >       >       >       >       >       >        state =3D "4"
> >       >       >       >       >       >       >
>  feature-abs-pointer =3D "1"
> >       >       >       >       >       >       >
>  feature-raw-pointer =3D "1"
> >       >       >       >       >       >       >        hotplug-status =
=3D
> "connected"
> >       >       >       >       >       >       >     console =3D ""
> >       >       >       >       >       >       >      1 =3D ""
> >       >       >       >       >       >       >       0 =3D ""
> >       >       >       >       >       >       >        frontend =3D
> "/local/domain/1/console"
> >       >       >       >       >       >       >        frontend-id =3D =
"1"
> >       >       >       >       >       >       >        online =3D "1"
> >       >       >       >       >       >       >        state =3D "1"
> >       >       >       >       >       >       >        protocol =3D "vt=
100"
> >       >       >       >       >       >       >     vif =3D ""
> >       >       >       >       >       >       >      1 =3D ""
> >       >       >       >       >       >       >       0 =3D ""
> >       >       >       >       >       >       >        frontend =3D
> "/local/domain/1/device/vif/0"
> >       >       >       >       >       >       >        frontend-id =3D =
"1"
> >       >       >       >       >       >       >        online =3D "1"
> >       >       >       >       >       >       >        state =3D "4"
> >       >       >       >       >       >       >        script =3D
> "/etc/xen/scripts/vif-bridge"
> >       >       >       >       >       >       >        mac =3D
> "e4:5f:01:cd:7b:dd"
> >       >       >       >       >       >       >        bridge =3D "xenb=
r0"
> >       >       >       >       >       >       >        handle =3D "0"
> >       >       >       >       >       >       >        type =3D "vif"
> >       >       >       >       >       >       >        hotplug-status =
=3D
> "connected"
> >       >       >       >       >       >       >        feature-sg =3D "=
1"
> >       >       >       >       >       >       >        feature-gso-tcpv=
4
> =3D "1"
> >       >       >       >       >       >       >        feature-gso-tcpv=
6
> =3D "1"
> >       >       >       >       >       >       >
>  feature-ipv6-csum-offload =3D "1"
> >       >       >       >       >       >       >        feature-rx-copy =
=3D
> "1"
> >       >       >       >       >       >       >
>  feature-xdp-headroom =3D "1"
> >       >       >       >       >       >       >        feature-rx-flip =
=3D
> "0"
> >       >       >       >       >       >       >
>  feature-multicast-control =3D "1"
> >       >       >       >       >       >       >
>  feature-dynamic-multicast-control =3D "1"
> >       >       >       >       >       >       >
>  feature-split-event-channels =3D "1"
> >       >       >       >       >       >       >
>  multi-queue-max-queues =3D "4"
> >       >       >       >       >       >       >        feature-ctrl-rin=
g
> =3D "1"
> >       >       >       >       >       >       >   1 =3D ""
> >       >       >       >       >       >       >    vm =3D
> "/vm/d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
> >       >       >       >       >       >       >    name =3D "guest2"
> >       >       >       >       >       >       >    cpu =3D ""
> >       >       >       >       >       >       >     0 =3D ""
> >       >       >       >       >       >       >      availability =3D
> "online"
> >       >       >       >       >       >       >     1 =3D ""
> >       >       >       >       >       >       >      availability =3D
> "online"
> >       >       >       >       >       >       >    memory =3D ""
> >       >       >       >       >       >       >     static-max =3D
> "2097152"
> >       >       >       >       >       >       >     target =3D "2097152=
"
> >       >       >       >       >       >       >     videoram =3D "0"
> >       >       >       >       >       >       >    device =3D ""
> >       >       >       >       >       >       >     suspend =3D ""
> >       >       >       >       >       >       >      event-channel =3D =
""
> >       >       >       >       >       >       >     vbd =3D ""
> >       >       >       >       >       >       >      51712 =3D ""
> >       >       >       >       >       >       >       backend =3D
> "/local/domain/0/backend/vbd/1/51712"
> >       >       >       >       >       >       >       backend-id =3D "0=
"
> >       >       >       >       >       >       >       state =3D "4"
> >       >       >       >       >       >       >       virtual-device =
=3D
> "51712"
> >       >       >       >       >       >       >       device-type =3D
> "disk"
> >       >       >       >       >       >       >
> multi-queue-num-queues =3D "2"
> >       >       >       >       >       >       >       queue-0 =3D ""
> >       >       >       >       >       >       >        ring-ref =3D "8"
> >       >       >       >       >       >       >        event-channel =
=3D
> "4"
> >       >       >       >       >       >       >       queue-1 =3D ""
> >       >       >       >       >       >       >        ring-ref =3D "9"
> >       >       >       >       >       >       >        event-channel =
=3D
> "5"
> >       >       >       >       >       >       >       protocol =3D
> "arm-abi"
> >       >       >       >       >       >       >       feature-persisten=
t
> =3D "1"
> >       >       >       >       >       >       >     vfb =3D ""
> >       >       >       >       >       >       >      0 =3D ""
> >       >       >       >       >       >       >       backend =3D
> "/local/domain/0/backend/vfb/1/0"
> >       >       >       >       >       >       >       backend-id =3D "0=
"
> >       >       >       >       >       >       >       state =3D "4"
> >       >       >       >       >       >       >       page-ref =3D "275=
022"
> >       >       >       >       >       >       >       event-channel =3D=
 "3"
> >       >       >       >       >       >       >       protocol =3D
> "arm-abi"
> >       >       >       >       >       >       >       feature-update =
=3D
> "1"
> >       >       >       >       >       >       >     vkbd =3D ""
> >       >       >       >       >       >       >      0 =3D ""
> >       >       >       >       >       >       >       backend =3D
> "/local/domain/0/backend/vkbd/1/0"
> >       >       >       >       >       >       >       backend-id =3D "0=
"
> >       >       >       >       >       >       >       state =3D "4"
> >       >       >       >       >       >       >
> request-abs-pointer =3D "1"
> >       >       >       >       >       >       >       page-ref =3D "275=
322"
> >       >       >       >       >       >       >       page-gref =3D "12=
84"
> >       >       >       >       >       >       >       event-channel =3D
> "10"
> >       >       >       >       >       >       >     vif =3D ""
> >       >       >       >       >       >       >      0 =3D ""
> >       >       >       >       >       >       >       backend =3D
> "/local/domain/0/backend/vif/1/0"
> >       >       >       >       >       >       >       backend-id =3D "0=
"
> >       >       >       >       >       >       >       state =3D "4"
> >       >       >       >       >       >       >       handle =3D "0"
> >       >       >       >       >       >       >       mac =3D
> "e4:5f:01:cd:7b:dd"
> >       >       >       >       >       >       >       mtu =3D "1500"
> >       >       >       >       >       >       >       xdp-headroom =3D =
"0"
> >       >       >       >       >       >       >
> multi-queue-num-queues =3D "2"
> >       >       >       >       >       >       >       queue-0 =3D ""
> >       >       >       >       >       >       >        tx-ring-ref =3D
> "1280"
> >       >       >       >       >       >       >        rx-ring-ref =3D
> "1281"
> >       >       >       >       >       >       >        event-channel-tx
> =3D "6"
> >       >       >       >       >       >       >        event-channel-rx
> =3D "7"
> >       >       >       >       >       >       >       queue-1 =3D ""
> >       >       >       >       >       >       >        tx-ring-ref =3D
> "1282"
> >       >       >       >       >       >       >        rx-ring-ref =3D
> "1283"
> >       >       >       >       >       >       >        event-channel-tx
> =3D "8"
> >       >       >       >       >       >       >        event-channel-rx
> =3D "9"
> >       >       >       >       >       >       >       request-rx-copy =
=3D
> "1"
> >       >       >       >       >       >       >       feature-rx-notify
> =3D "1"
> >       >       >       >       >       >       >       feature-sg =3D "1=
"
> >       >       >       >       >       >       >       feature-gso-tcpv4
> =3D "1"
> >       >       >       >       >       >       >       feature-gso-tcpv6
> =3D "1"
> >       >       >       >       >       >       >
> feature-ipv6-csum-offload =3D "1"
> >       >       >       >       >       >       >    control =3D ""
> >       >       >       >       >       >       >     shutdown =3D ""
> >       >       >       >       >       >       >     feature-poweroff =
=3D
> "1"
> >       >       >       >       >       >       >     feature-reboot =3D =
"1"
> >       >       >       >       >       >       >     feature-suspend =3D=
 ""
> >       >       >       >       >       >       >     sysrq =3D ""
> >       >       >       >       >       >       >
> platform-feature-multiprocessor-suspend =3D "1"
> >       >       >       >       >       >       >
> platform-feature-xs_reset_watches =3D "1"
> >       >       >       >       >       >       >    data =3D ""
> >       >       >       >       >       >       >    drivers =3D ""
> >       >       >       >       >       >       >    feature =3D ""
> >       >       >       >       >       >       >    attr =3D ""
> >       >       >       >       >       >       >    error =3D ""
> >       >       >       >       >       >       >    domid =3D "1"
> >       >       >       >       >       >       >    store =3D ""
> >       >       >       >       >       >       >     port =3D "1"
> >       >       >       >       >       >       >     ring-ref =3D "23347=
3"
> >       >       >       >       >       >       >    console =3D ""
> >       >       >       >       >       >       >     backend =3D
> "/local/domain/0/backend/console/1/0"
> >       >       >       >       >       >       >     backend-id =3D "0"
> >       >       >       >       >       >       >     limit =3D "1048576"
> >       >       >       >       >       >       >     type =3D "xenconsol=
ed"
> >       >       >       >       >       >       >     output =3D "pty"
> >       >       >       >       >       >       >     tty =3D "/dev/pts/1=
"
> >       >       >       >       >       >       >     port =3D "2"
> >       >       >       >       >       >       >     ring-ref =3D "23347=
2"
> >       >       >       >       >       >       >     vnc-listen =3D
> "127.0.0.1"
> >       >       >       >       >       >       >     vnc-port =3D "5900"
> >       >       >       >       >       >       >    image =3D ""
> >       >       >       >       >       >       >     device-model-pid =
=3D
> "788"
> >       >       >       >       >       >       > vm =3D ""
> >       >       >       >       >       >       >
>  d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f =3D ""
> >       >       >       >       >       >       >   name =3D "guest2"
> >       >       >       >       >       >       >   uuid =3D
> "d81ec5a9-5bf9-4f2b-89e8-0f60d6da948f"
> >       >       >       >       >       >       >   start_time =3D
> "1520600274.27"
> >       >       >       >       >       >       > libxl =3D ""
> >       >       >       >       >       >       >  1 =3D ""
> >       >       >       >       >       >       >   device =3D ""
> >       >       >       >       >       >       >    vbd =3D ""
> >       >       >       >       >       >       >     51712 =3D ""
> >       >       >       >       >       >       >      frontend =3D
> "/local/domain/1/device/vbd/51712"
> >       >       >       >       >       >       >      backend =3D
> "/local/domain/0/backend/vbd/1/51712"
> >       >       >       >       >       >       >      params =3D
> "/home/root/guest2/xen-guest-image-minimal-raspberrypi4-64.ext3"
> >       >       >       >       >       >       >      script =3D
> "/etc/xen/scripts/block"
> >       >       >       >       >       >       >      frontend-id =3D "1=
"
> >       >       >       >       >       >       >      online =3D "1"
> >       >       >       >       >       >       >      removable =3D "0"
> >       >       >       >       >       >       >      bootable =3D "1"
> >       >       >       >       >       >       >      state =3D "1"
> >       >       >       >       >       >       >      dev =3D "xvda"
> >       >       >       >       >       >       >      type =3D "phy"
> >       >       >       >       >       >       >      mode =3D "w"
> >       >       >       >       >       >       >      device-type =3D "d=
isk"
> >       >       >       >       >       >       >      discard-enable =3D=
 "1"
> >       >       >       >       >       >       >    vfb =3D ""
> >       >       >       >       >       >       >     0 =3D ""
> >       >       >       >       >       >       >      frontend =3D
> "/local/domain/1/device/vfb/0"
> >       >       >       >       >       >       >      backend =3D
> "/local/domain/0/backend/vfb/1/0"
> >       >       >       >       >       >       >      frontend-id =3D "1=
"
> >       >       >       >       >       >       >      online =3D "1"
> >       >       >       >       >       >       >      state =3D "1"
> >       >       >       >       >       >       >      vnc =3D "1"
> >       >       >       >       >       >       >      vnclisten =3D
> "127.0.0.1"
> >       >       >       >       >       >       >      vncdisplay =3D "0"
> >       >       >       >       >       >       >      vncunused =3D "1"
> >       >       >       >       >       >       >      sdl =3D "0"
> >       >       >       >       >       >       >      opengl =3D "0"
> >       >       >       >       >       >       >    vkbd =3D ""
> >       >       >       >       >       >       >     0 =3D ""
> >       >       >       >       >       >       >      frontend =3D
> "/local/domain/1/device/vkbd/0"
> >       >       >       >       >       >       >      backend =3D
> "/local/domain/0/backend/vkbd/1/0"
> >       >       >       >       >       >       >      frontend-id =3D "1=
"
> >       >       >       >       >       >       >      online =3D "1"
> >       >       >       >       >       >       >      state =3D "1"
> >       >       >       >       >       >       >    console =3D ""
> >       >       >       >       >       >       >     0 =3D ""
> >       >       >       >       >       >       >      frontend =3D
> "/local/domain/1/console"
> >       >       >       >       >       >       >      backend =3D
> "/local/domain/0/backend/console/1/0"
> >       >       >       >       >       >       >      frontend-id =3D "1=
"
> >       >       >       >       >       >       >      online =3D "1"
> >       >       >       >       >       >       >      state =3D "1"
> >       >       >       >       >       >       >      protocol =3D "vt10=
0"
> >       >       >       >       >       >       >    vif =3D ""
> >       >       >       >       >       >       >     0 =3D ""
> >       >       >       >       >       >       >      frontend =3D
> "/local/domain/1/device/vif/0"
> >       >       >       >       >       >       >      backend =3D
> "/local/domain/0/backend/vif/1/0"
> >       >       >       >       >       >       >      frontend-id =3D "1=
"
> >       >       >       >       >       >       >      online =3D "1"
> >       >       >       >       >       >       >      state =3D "1"
> >       >       >       >       >       >       >      script =3D
> "/etc/xen/scripts/vif-bridge"
> >       >       >       >       >       >       >      mac =3D
> "e4:5f:01:cd:7b:dd"
> >       >       >       >       >       >       >      bridge =3D "xenbr0=
"
> >       >       >       >       >       >       >      handle =3D "0"
> >       >       >       >       >       >       >      type =3D "vif"
> >       >       >       >       >       >       >      hotplug-status =3D=
 ""
> >       >       >       >       >       >       >   type =3D "pvh"
> >       >       >       >       >       >       >   dm-version =3D "qemu_=
xen"
> >       >       >       >       >       >       > root@raspberrypi4-64
> :~/guest1#
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Any input as per above?
> Looking forward to hearing from you.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > Regards,
> >       >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >       >       >
> >       >       >       >       >       >       > On Wed, Oct 26, 2022 at
> 5:21 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
> >       >       >       >       >       >       >       Hi Vipul,
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       If you look at th=
e
> QEMU logs, it says:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       VNC server runnin=
g
> on 127.0.0.1:5900
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       That is the VNC
> server you need to connect to. So in theory:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >         vncviewer
> 127.0.0.1:5900
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       should work
> correctly.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       If you have:
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >         vfb =3D
> ["type=3Dvnc"]
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       in your xl config
> file and you have "fbdev" in your Linux guest, it
> >       >       >       >       >       >       >       should work.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       If you connect to
> the VNC server but you get a black screen, it might be
> >       >       >       >       >       >       >       a guest
> configuration issue. I would try with a simpler guest, text only
> >       >       >       >       >       >       >       (no X11, no
> Wayland) and enable the fbdev console (fbcon). See
> >       >       >       >       >       >       >
>  Documentation/fb/fbcon.rst in Linux. You should be able to see a
> >       >       >       >       >       >       >       graphical console
> over VNC.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       If that works,
> then you know that the fbdev kernel driver (xen-fbfront)
> >       >       >       >       >       >       >       works correctly.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       If it doesn't
> work, the output of "xenstore-ls" would be interesting.
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       Cheers,
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       Stefano
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >       On Wed, 19 Oct
> 2022, Vipul Suneja wrote:
> >       >       >       >       >       >       >       > Hi Stefano,
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > Thanks for the
> response!
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > I am following
> the same link you shared from the beginning. Tried the command
> >       >       "vncviewer
> >       >       >       localhost:0"
> >       >       >       >       in DOM0
> >       >       >       >       >       but
> >       >       >       >       >       >       same
> >       >       >       >       >       >       >       issue "Can't open
> >       >       >       >       >       >       >       > display", below
> are the logs:
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >
> root@raspberrypi4-64:~# vncviewer localhost:0
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > TigerVNC Viewer
> 64-bit v1.11.0
> >       >       >       >       >       >       >       > Built on:
> 2020-09-08 12:16
> >       >       >       >       >       >       >       > Copyright (C)
> 1999-2020 TigerVNC Team and many others (see README.rst)
> >       >       >       >       >       >       >       > See
> https://www.tigervnc.org for information on TigerVNC.
> >       >       >       >       >       >       >       > Can't open
> display:
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > Below are the
> netstat logs, i couldn't see anything running at port 5900 or
> >       5901:
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >
> root@raspberrypi4-64:~# netstat -tuwx
> >       >       >       >       >       >       >       > Active Internet
> connections (w/o servers)
> >       >       >       >       >       >       >       > Proto Recv-Q
> Send-Q Local Address           Foreign Address         State
> >
> >       >       >       >       >       >       >       > tcp        0
>  164 192.168.1.39:ssh        192.168.1.38:37472
> >        ESTABLISHED
> >       >       >       >       >       >       >       > Active UNIX
> domain sockets (w/o servers)
> >       >       >       >       >       >       >       > Proto RefCnt
> Flags       Type       State         I-Node Path
> >       >       >       >       >       >       >       > unix  8      [ =
]
>         DGRAM      CONNECTED      10565 /dev/log
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      10891
> >       /var/run/xenstored/socket
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      13791
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      10843
> >       /var/run/xenstored/socket
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      10573
> >       /var/run/xenstored/socket
> >       >       >       >       >       >       >       > unix  2      [ =
]
>         DGRAM      CONNECTED      14510
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      13249
> >       >       >       >       >       >       >       > unix  2      [ =
]
>         DGRAM      CONNECTED      13887
> >       >       >       >       >       >       >       > unix  2      [ =
]
>         DGRAM      CONNECTED      10599
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      14005
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      13258
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      13248
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      14003
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      10572
> >       /var/run/xenstored/socket
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      10786
> >       /var/run/xenstored/socket
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         DGRAM      CONNECTED      13186
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      10864
> >       /var/run/xenstored/socket
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      10812
> >       /var/run/xenstored/socket
> >       >       >       >       >       >       >       > unix  2      [ =
]
>         DGRAM      CONNECTED      14083
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      10813
> >       /var/run/xenstored/socket
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      14068
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      13256
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      10571
> >       /var/run/xenstored/socket
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      10842
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      13985
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         DGRAM      CONNECTED      13185
> >       >       >       >       >       >       >       > unix  2      [ =
]
>         STREAM     CONNECTED      13884
> >       >       >       >       >       >       >       > unix  2      [ =
]
>         DGRAM      CONNECTED      14528
> >       >       >       >       >       >       >       > unix  2      [ =
]
>         DGRAM      CONNECTED      13785
> >       >       >       >       >       >       >       > unix  3      [ =
]
>         STREAM     CONNECTED      14034
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > Attaching xen
> log files of /var/log/xen.
> >       >       >       >       >       >       >       > I didn't get th=
e
> role of QEMU here because as mentioned earlier, I am porting
> >       in
> >       >       raspberrypi
> >       >       >       4B.
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > Regards,
> >       >       >       >       >       >       >       > Vipul Kumar
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       > On Wed, Oct 19,
> 2022 at 12:43 AM Stefano Stabellini <sstabellini@kernel.org>
> >       wrote:
> >       >       >       >       >       >       >       >       It usuall=
y
> works the way it is described in the guide:
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >
> >       >       >       >
> >       >       >
> >       >
> >
> https://www.virtuatopia.com/index.php?title=3DConfiguring_a_VNC_based_Gra=
phical_Console_for_a_Xen_Paravirtualized_domainU_Guest
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       You don't
> need to install any VNC-related server software because it is
> >       >       >       >       >       >       >       >       already
> provided by Xen (to be precise it is provided by QEMU working
> >       >       >       >       >       >       >       >       together
> with Xen.)
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       You only
> need the vnc client in dom0 so that you can connect, but you
> >       >       >       >       >       >       >       >       could als=
o
> run the vnc client outside from another host. So basically
> >       >       >       >       >       >       >       >       the
> following should work when executed in Dom0 after creating DomU:
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >
> vncviewer localhost:0
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       Can you
> attach the Xen and QEMU logs (/var/log/xen/*)? And also use
> >       >       >       >       >       >       >       >       netstat
> -taunp to check if there is anything running at port 5900 or
> >       >       >       >       >       >       >       >       5901?
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       Cheers,
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       Stefano
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       On Tue, 1=
8
> Oct 2022, Vipul Suneja wrote:
> >       >       >       >       >       >       >       >       > Hi
> Stefano,
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       > Thanks
> for the response!
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       > I could
> install tigerVNC, x11vnc & libvncserver in Dom0
> >       xen-image-minimal but
> >       >       only
> >       >       >       manage to
> >       >       >       >       install
> >       >       >       >       >       >       >
>  libvncserver(couldn't
> >       >       >       >       >       >       >       >       install
> tigervnc
> >       >       >       >       >       >       >       >       > & x11vn=
c
> because of x11
> >       >       >       >       >       >       >       >       > support
> missing, it's wayland) in DOMU custom graphical image. I
> >       tried
> >       >       running
> >       >       >       vncviewer with
> >       >       >       >       IP
> >       >       >       >       >       address &
> >       >       >       >       >       >       port
> >       >       >       >       >       >       >       in dom0 to
> >       >       >       >       >       >       >       >       access th=
e
> domu
> >       >       >       >       >       >       >       >       >
> graphical image display as per below commands.
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >
>  vncviewer 192.168.1.42:5901
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >  But it
> showing can't open display, below are the logs:
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >
> root@raspberrypi4-64:~/guest1# vncviewer 192.168.1.42:5901
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       > TigerVN=
C
> Viewer 64-bit v1.11.0
> >       >       >       >       >       >       >       >       > Built
> on: 2020-09-08 12:16
> >       >       >       >       >       >       >       >       >
> Copyright (C) 1999-2020 TigerVNC Team and many others (see
> >       README.rst)
> >       >       >       >       >       >       >       >       > See
> https://www.tigervnc.org for information on TigerVNC.
> >       >       >       >       >       >       >       >       > Can't
> open display:
> >       >       >       >       >       >       >       >       >
> root@raspberrypi4-64:~/guest1#
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       > I am no=
t
> exactly sure what the issue is but I thought only
> >       libvncserver in
> >       >       DOMU could
> >       >       >       work to
> >       >       >       >       get
> >       >       >       >       >       access but
> >       >       >       >       >       >       it
> >       >       >       >       >       >       >       did not
> >       >       >       >       >       >       >       >       work.
> >       >       >       >       >       >       >       >       > If
> TigerVNC is the issue here then is there any other VNC source
> >       which could
> >       >       be
> >       >       >       installed for
> >       >       >       >       both
> >       >       >       >       >       x11 &
> >       >       >       >       >       >       >       wayland supported
> >       >       >       >       >       >       >       >       images?
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       > Regards=
,
> >       >       >       >       >       >       >       >       > Vipul
> Kumar
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       > On Tue,
> Oct 18, 2022 at 2:40 AM Stefano Stabellini
> >       <sstabellini@kernel.org>
> >       >       wrote:
> >       >       >       >       >       >       >       >       >
>  VNC is typically easier to setup, because SDL needs extra
> >       libraries at
> >       >       >       >       >       >       >       >       >
>  build time and runtime. If QEMU is built without SDL support it
> >       won't
> >       >       >       >       >       >       >       >       >
>  start when you ask for SDL.
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >
>  VNC should work with both x11 and wayland in your domU. It
> >       doesn't work
> >       >       >       >       >       >       >       >       >       a=
t
> the x11 level, it exposes a special fbdev device in your
> >       domU that
> >       >       >       >       >       >       >       >       >
>  should work with:
> >       >       >       >       >       >       >       >       >       -
> a graphical console in Linux domU
> >       >       >       >       >       >       >       >       >       -
> x11
> >       >       >       >       >       >       >       >       >       -
> wayland (but I haven't tested this so I am not 100% sure
> >       about it)
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >
>  When you say "it doesn't work", what do you mean? Do you get a
> >       black
> >       >       >       >       >       >       >       >       >
>  window?
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >
>  You need CONFIG_XEN_FBDEV_FRONTEND in Linux domU
> >       >       >       >       >       >       >       >       >
>  (drivers/video/fbdev/xen-fbfront.c). I would try to get a
> >       graphical
> >       >       text
> >       >       >       >       >       >       >       >       >
>  console up and running in your domU before attempting
> >       x11/wayland.
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >
>  Cheers,
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >
>  Stefano
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >       O=
n
> Mon, 17 Oct 2022, Vipul Suneja wrote:
> >       >       >       >       >       >       >       >       >       >
> Hi,
> >       >       >       >       >       >       >       >       >       >
> Thanks!
> >       >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >       >
> I have ported xen minimal image as DOM0 & custom wayland GUI
> >       based
> >       >       image as
> >       >       >       DOMU in
> >       >       >       >       raspberry
> >       >       >       >       >       pi4B. I
> >       >       >       >       >       >       >       am trying to
> >       >       >       >       >       >       >       >       make GUI
> >       >       >       >       >       >       >       >       >
>  display up
> >       >       >       >       >       >       >       >       >       >
> for guest machine. I tried using sdl, included below line in
> >       >       guest.conf file
> >       >       >       >       >       >       >       >       >       >
> vfb=3D [ 'sdl=3D1' ]
> >       >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >       >
> But it is throwing below error:
> >       >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >       >
> root@raspberrypi4-64:~/guest1# xl create -c guest1.cfg
> >       >       >       >       >       >       >       >       >       >
> Parsing config from guest1.cfg
> >       >       >       >       >       >       >       >       >       >
> libxl: error: libxl_qmp.c:1400:qmp_ev_fd_callback: Domain
> >       3:error on
> >       >       QMP
> >       >       >       socket:
> >       >       >       >       Connection
> >       >       >       >       >       reset by
> >       >       >       >       >       >       >       peer
> >       >       >       >       >       >       >       >       >       >
> libxl: error: libxl_qmp.c:1439:qmp_ev_fd_callback: Domain
> >       3:Error
> >       >       happened
> >       >       >       with the
> >       >       >       >       QMP
> >       >       >       >       >       connection to
> >       >       >       >       >       >       >       QEMU
> >       >       >       >       >       >       >       >       >       >
> libxl: error: libxl_dm.c:3351:device_model_postconfig_done:
> >       Domain
> >       >       3:Post DM
> >       >       >       startup
> >       >       >       >       configs
> >       >       >       >       >       failed,
> >       >       >       >       >       >       >       rc=3D-26
> >       >       >       >       >       >       >       >       >       >
> libxl: error: libxl_create.c:1867:domcreate_devmodel_started:
> >       Domain
> >       >       3:device
> >       >       >       model
> >       >       >       >       did not
> >       >       >       >       >       start:
> >       >       >       >       >       >       -26
> >       >       >       >       >       >       >       >       >       >
> libxl: error: libxl_aoutils.c:646:libxl__kill_xs_path: Device
> >       Model
> >       >       already
> >       >       >       exited
> >       >       >       >       >       >       >       >       >       >
> libxl: error: libxl_domain.c:1183:libxl__destroy_domid:
> >       Domain
> >       >       3:Non-existant
> >       >       >       domain
> >       >       >       >       >       >       >       >       >       >
> libxl: error: libxl_domain.c:1137:domain_destroy_callback:
> >       Domain
> >       >       3:Unable to
> >       >       >       destroy
> >       >       >       >       guest
> >       >       >       >       >       >       >       >       >       >
> libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain
> >       >       3:Destruction of
> >       >       >       domain
> >       >       >       >       failed
> >       >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >       >
> Another way is VNC, i could install tigervnc in DOM0 but same
> >       i
> >       >       couldn't in
> >       >       >       guest
> >       >       >       >       machine
> >       >       >       >       >       because it
> >       >       >       >       >       >       >       doesn't support
> >       >       >       >       >       >       >       >       >
>  x11(supports wayland
> >       >       >       >       >       >       >       >       >       >
> only). I am completely blocked here, Need your support to
> >       enable the
> >       >       display
> >       >       >       up.
> >       >       >       >       >       >       >       >       >       >
> Any alternative of VNC which could work in both x11 & wayland
> >       >       supported
> >       >       >       images?
> >       >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >       >
> Any input on VNC, SDL or any other way to proceed on this?
> >       Looking
> >       >       forward to
> >       >       >       hearing
> >       >       >       >       from
> >       >       >       >       >       you.
> >       >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >       >
> Regards,
> >       >       >       >       >       >       >       >       >       >
> Vipul Kumar
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >       >
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >
> >       >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >       >
> >       >       >       >
> >       >       >       >
> >       >       >       >
> >       >       >
> >       >       >
> >       >       >
> >       >
> >       >
> >       >
> >
> >
> >

--000000000000ac63b505f0beea55
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+SGkgU3RlZmFubyw8YnI+PGJyPlRoYW5rcyE8YnI+PGJyPkFzIHlvdSBo
YXZlIG1lbnRpb24gZnVuY3Rpb24gY2FsbCBxZW11X2NyZWF0ZV9kaXNwbGF5c3VyZmFjZSwgcWVt
dV9jcmVhdGVfZGlzcGxheXN1cmZhY2VfZnJvbSwgZHB5X2dmeF9yZXBsYWNlX3N1cmZhY2UsIGRw
eV9nZnhfdXBkYXRlIGFuZCBkcHlfZ2Z4X2NoZWNrX2Zvcm1hdCwgaSBmb3VuZCB0aGF0IDxicj50
aGVzZSBmdW5jdGlvbnMgYXJlIG5vdCBwYXJ0IG9mIC91aS92bmMuYyBzb3VyY2UgYnV0IHRoZXkg
YXJlIGRlZmluZWQgaW4gL3VpL2NvbnNvbGUuYyBzb3VyY2UuIEV2ZW4gbm9uZSBvZiB0aGVzZSBm
dW5jdGlvbnMgaGF2ZSBiZWVuIGNhbGxlZCBmcm9tIHRoZSB2bmMuYyBzb3VyY2UuIEkgaGF2ZSBp
bmNsdWRlZCBkZWJ1ZyBsb2dzIGZvciA8YnI+YWxsIG9mIHRoZXNlIGZ1bmN0aW9ucyBpbiBjb25z
b2xlLmMgYnV0IGNvdWxkIHNlZSBpbiB0aGUgbG9ncyB0aGF0IG9ubHkgcWVtdV9jcmVhdGVfZGlz
cGxheXN1cmZhY2UgJmFtcDvCoA0KDQpkcHlfZ2Z4X3JlcGxhY2Vfc3VyZmFjZcKgZnVuY3Rpb25z
IGFyZSBpbnZva2VkLiBFdmVuIGkgdHJpZWQgdm5jdmlld2VyPGJyPm9uIHRoZSBob3N0IG1hY2hp
bmUgYnV0IG90aGVyIGZ1bmN0aW9ucyBhcmUgbm90IGludm9rZWQuIEF0dGFjaGluZyB0aGUgbG9n
IGZpbGUsIGFueSBvdGhlciBzdWdnZXN0aW9uIGFzIHBlciBsb2cgZmlsZSBvciBhbnkgaW5wdXQg
Zm9yIGRlYnVnZ2luZyB2bmMgc291cmNlIGZpbGUuPGRpdj7CoDwvZGl2PjxkaXY+PGI+PGk+WW91
IGNhbiBhbHNvIHRyeSB0byB1c2UgYW5vdGhlciBRRU1VIFVJIGxpa2UgU0RMIHRvIHNlZSBpZiB0
aGUgcHJvYmxlbSBpcyBzcGVjaWZpYyB0byBWTkMgb25seS48L2k+PC9iPjwvZGl2PjxkaXY+SSBh
bHJlYWR5IHRyaWVkIHdpdGggU0RMLCBieSBhZGRpbmcgJnF1b3Q7dmZiPVsgJiMzOTt0eXBlPXNk
bCYjMzk7IF0mcXVvdDsgaW4gdGhlIGd1ZXN0IGNvbmZpZ3VyYXRpb24gZmlsZSBidXQgaXQgZmFp
bGVkICZhbXA7IGRpZG4mIzM5O3Qgc3RhcnQgdGhlIGd1ZXN0wqBtYWNoaW5lLiBDb3JyZWN0IG1l
IGlmIEkgYW0gd3Jvbmcgd2l0aCBjb25maWd1cmF0aW9uIG9yIHN0ZXBzIHRvIHVzZSBTREw/PC9k
aXY+PGRpdj48YnI+VGhhbmtzICZhbXA7IFJlZ2FyZHMsPGJyPlZpcHVsIEt1bWFyPGJyPjwvZGl2
PjwvZGl2Pjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+PGRpdiBkaXI9Imx0ciIgY2xhc3M9
ImdtYWlsX2F0dHIiPk9uIEZyaSwgRGVjIDIzLCAyMDIyIGF0IDU6MTMgQU0gU3RlZmFubyBTdGFi
ZWxsaW5pICZsdDs8YSBocmVmPSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyI+c3N0YWJl
bGxpbmlAa2VybmVsLm9yZzwvYT4mZ3Q7IHdyb3RlOjxicj48L2Rpdj48YmxvY2txdW90ZSBjbGFz
cz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxl
ZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+SGkgVmlwdWws
PGJyPg0KPGJyPg0KR3JlYXQgdGhhdCB5b3UgbWFuYWdlZCB0byBzZXR1cCBhIGRlYnVnZ2luZyBl
bnZpcm9ubWVudC4gVGhlIGxvZ3MgbG9vazxicj4NCnZlcnkgcHJvbWlzaW5nOiBpdCBsb29rcyBs
aWtlIHhlbmZiLmMgaXMgaGFuZGxpbmcgZXZlbnRzIGFzIGV4cGVjdGVkLjxicj4NClNvIGl0IHdv
dWxkIGFwcGFyZW50bHkgc2VlbSB0aGF0IHhlbi1mYmZyb250LmMgLSZndDsgeGVuZmIuYyBjb25u
ZWN0aW9uIGlzPGJyPg0Kd29ya2luZy48YnI+DQo8YnI+DQpTbyB0aGUgbmV4dCBzdGVwIGlzIHRo
ZSB4ZW5mYi5jIC0mZ3Q7IC4vdWkvdm5jLmMgaXMgd29ya2luZy48YnI+DQo8YnI+DQpJdCBjb3Vs
ZCBiZSB0aGF0IHRoZSBwaXhlbHMgYW5kIG1vdXNlIGV2ZW50cyBhcnJpdmUganVzdCBmaW5lIGlu
PGJyPg0KeGVuZmIuYywgYnV0IHRoZW4gdGhlcmUgaXMgYW4gaXNzdWUgd2l0aCBleHBvcnRpbmcg
dGhlbSB0byB0aGUgdm5jc2VydmVyPGJyPg0KaW1wbGVtZW50YXRpb24gaW5zaWRlIFFFTVUsIHdo
aWNoIGlzIC4vdWkvdm5jLmMuIFRoZSBpbnRlcmVzdGluZzxicj4NCmZ1bmN0aW9ucyB0aGVyZSBh
cmUgcWVtdV9jcmVhdGVfZGlzcGxheXN1cmZhY2UsPGJyPg0KcWVtdV9jcmVhdGVfZGlzcGxheXN1
cmZhY2VfZnJvbSwgZHB5X2dmeF9yZXBsYWNlX3N1cmZhY2UsPGJyPg0KZHB5X2dmeF91cGRhdGUs
IGFuZCBkcHlfZ2Z4X2NoZWNrX2Zvcm1hdC48YnI+DQo8YnI+DQpTcGVjaWZpY2FsbHkgZHB5X2dm
eF91cGRhdGUgc2hvdWxkIGNhdXNlIFZOQyB0byByZW5kZXIgdGhlIG5ldyBhcmVhLjxicj4NCjxi
cj4NCnFlbXVfY3JlYXRlX2Rpc3BsYXlzdXJmYWNlX2Zyb20gbGV0IFZOQyB1c2UgdGhlIHhlbmZi
IGJ1ZmZlciBkaXJlY3RseTxicj4NCndpdGggVk5DLCByYXRoZXIgdGhhbiB1c2luZyBhIHNlY29u
ZGFyeSBidWZmZXIgYW5kIG1lbW9yeSBjb3BpZXMuPGJyPg0KSW50ZXJlc3RpbmdseSwgZHB5X2dm
eF9jaGVja19mb3JtYXQgc2hvdWxkIGJlIHVzZWQgdG8gY2hlY2sgaWYgaXQgaXM8YnI+DQphcHBy
b3ByaWF0ZSB0byBzaGFyZSB0aGUgYnVmZmVyIChxZW11X2NyZWF0ZV9kaXNwbGF5c3VyZmFjZV9m
cm9tKSBvciBub3Q8YnI+DQoocWVtdV9jcmVhdGVfZGlzcGxheXN1cmZhY2UpIGJ1dCB3ZSBkb24m
IzM5O3QgY2FsbCBpdC48YnI+DQo8YnI+DQpJIHRoaW5rIGl0IHdvdWxkIGJlIGdvb2QgdG8gYWRk
IGEgY2FsbCB0byBkcHlfZ2Z4X2NoZWNrX2Zvcm1hdCBpbjxicj4NCnhlbmZiX3VwZGF0ZSB3aGVy
ZSB3ZSBjYWxsIHFlbXVfY3JlYXRlX2Rpc3BsYXlzdXJmYWNlX2Zyb20gYW5kIGFsc28gYWRkPGJy
Pg0KYSBwcmludGsuPGJyPg0KPGJyPg0KWW91IGNhbiB0cnkgdG8gZGlzYWJsZSB0aGUgYnVmZmVy
IHNoYXJpbmcgYnkgcmVwbGFjaW5nPGJyPg0KcWVtdV9jcmVhdGVfZGlzcGxheXN1cmZhY2VfZnJv
bSB3aXRoIHFlbXVfY3JlYXRlX2Rpc3BsYXlzdXJmYWNlLiBZb3UgY2FuPGJyPg0KYWxzbyB0cnkg
dG8gdXNlIGFub3RoZXIgUUVNVSBVSSBsaWtlIFNETCB0byBzZWUgaWYgdGhlIHByb2JsZW0gaXM8
YnI+DQpzcGVjaWZpYyB0byBWTkMgb25seS48YnI+DQo8YnI+DQpDaGVlcnMsPGJyPg0KPGJyPg0K
U3RlZmFubzxicj4NCjxicj4NCjxicj4NCk9uIE1vbiwgMTkgRGVjIDIwMjIsIFZpcHVsIFN1bmVq
YSB3cm90ZTo8YnI+DQomZ3Q7IEhpIFN0ZWZhbm8sPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IFRoYW5r
cyE8YnI+DQomZ3Q7IDxicj4NCiZndDsgSSBjb3VsZCBwcmVwYXJlIGEgcGF0Y2ggZm9yIGFkZGlu
ZyBkZWJ1ZyBwcmludGYgbG9ncyBpbiB4ZW5mYi5jICZhbXA7IHJlLWNvbXBpbGUgUUVNVSBpbiB5
b2N0byBpbWFnZS4gSnVzdCBmb3IgcmVmZXJlbmNlLCBJIGhhdmUgaW5jbHVkZWQgbG9nczxicj4N
CiZndDsgaW4gYWxsIHRoZSBmdW5jdGlvbnMuPGJyPg0KJmd0OyBBdHRhY2hpbmcgcWVtdSBsb2cg
ZmlsZSwgY291bGQgc2VlIHRoZSBlbnRyeSAmYW1wOyBleGl0IGxvZ3MgY29taW5nIHVwIGZvciAm
cXVvdDt4ZW5mYl9oYW5kbGVfZXZlbnRzJnF1b3Q7ICZhbXA7ICZxdW90O3hlbmZiX21hcF9mYiZx
dW90OyBhbHNvIGFmdGVyIHRoZSBob3N0wqBtYWNoaW5lPGJyPg0KJmd0OyBib290c8KgdXAuIENh
biB5b3XCoHBsZWFzZSBmdXJ0aGVyIGFzc2lzdCwgd2hpY2ggcGFyYW1ldGVycyBoYXMgdG8gYmUg
Y3Jvc3MgY2hlY2tlZCBvciBhbnkgb3RoZXIgaW5wdXQgYXMgcGVyIGxvZ3M/wqDCoDxicj4NCiZn
dDsgPGJyPg0KJmd0OyBUaGFua3MgJmFtcDsgUmVnYXJkcyw8YnI+DQomZ3Q7IFZpcHVsIEt1bWFy
PGJyPg0KJmd0OyA8YnI+DQomZ3Q7IE9uIFRodSwgRGVjIDE1LCAyMDIyIGF0IDQ6MTcgQU0gU3Rl
ZmFubyBTdGFiZWxsaW5pICZsdDs8YSBocmVmPSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9y
ZyIgdGFyZ2V0PSJfYmxhbmsiPnNzdGFiZWxsaW5pQGtlcm5lbC5vcmc8L2E+Jmd0OyB3cm90ZTo8
YnI+DQomZ3Q7wqAgwqAgwqAgwqBIaSBWaXB1bCw8YnI+DQomZ3Q7IDxicj4NCiZndDvCoCDCoCDC
oCDCoEZvciBRRU1VIHlvdSBhY3R1YWxseSBuZWVkIHRvIGZvbGxvdyB0aGUgWW9jdG8gYnVpbGQg
cHJvY2VzcyB0byB1cGRhdGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqB0aGUgUUVNVSBiaW5hcnkuIFRo
YXQgaXMgYmVjYXVzZSBRRU1VIGlzIGEgdXNlcnNwYWNlIGFwcGxpY2F0aW9uIHdpdGg8YnI+DQom
Z3Q7wqAgwqAgwqAgwqBsb3RzIG9mIGxpYnJhcnkgZGVwZW5kZW5jaWVzIHNvIHdlIGNhbm5vdCBq
dXN0IGRvICZxdW90O21ha2UmcXVvdDsgd2l0aCBhPGJyPg0KJmd0O8KgIMKgIMKgIMKgY3Jvc3Mt
Y29tcGlsZXIgbGlrZSBpbiB0aGUgY2FzZSBvZiBYZW4uPGJyPg0KJmd0OyA8YnI+DQomZ3Q7wqAg
wqAgwqAgwqBTbyB5b3UgbmVlZCB0byBtYWtlIGNoYW5nZXMgdG8gUUVNVSBhbmQgdGhlbiBhZGQg
dGhvc2UgY2hhbmdlcyBhcyBhPGJyPg0KJmd0O8KgIMKgIMKgIMKgcGF0Y2ggdG8gdGhlIFlvY3Rv
IFFFTVUgYnVpbGQgcmVjaXBlLCBvciBjb25maWd1cmUgWW9jdG8gdG8geW91ciBsb2NhbDxicj4N
CiZndDvCoCDCoCDCoCDCoHRyZWUgdG8gYnVpbGQgUUVNVS4gSSBhbSBub3QgYSBZb2N0byBleHBl
cnQgYW5kIHRoZSBZb2N0byBjb21tdW5pdHk8YnI+DQomZ3Q7wqAgwqAgwqAgwqB3b3VsZCBiZSBh
IGJldHRlciBwbGFjZSB0byBhc2sgZm9yIGFkdmljZSB0aGVyZS4gWW91IGNhbiBzZWUgZnJvbSBo
ZXJlPGJyPg0KJmd0O8KgIMKgIMKgIMKgc29tZSBpbnN0cnVjdGlvbnMgb24gaG93IHRvIGJ1aWxk
IFhlbiB1c2luZyBhIGxvY2FsIHRyZWUsIHNlZSB0aGUgdXNhZ2U8YnI+DQomZ3Q7wqAgwqAgwqAg
wqBvZiBFWFRFUk5BTFNSQyAobm90ZSB0aGF0IHRoaXMgaXMgKm5vdCogd2hhdCB5b3UgbmVlZDog
eW91IG5lZWQgdG8gYnVpbGQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqBRRU1VIHdpdGggYSBsb2NhbCB0
cmVlLCBub3QgWGVuLiBCdXQgSSB0aG91Z2h0IHRoYXQgdGhlIHdpa2lwYWdlIG1pZ2h0PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgc3RpbGwgYmUgYSBzdGFydGluZyBwb2ludCk8YnI+DQomZ3Q7IDxicj4N
CiZndDvCoCDCoCDCoCDCoDxhIGhyZWY9Imh0dHBzOi8vd2lraS54ZW5wcm9qZWN0Lm9yZy93aWtp
L1hlbl9vbl9BUk1fYW5kX1lvY3RvIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5o
dHRwczovL3dpa2kueGVucHJvamVjdC5vcmcvd2lraS9YZW5fb25fQVJNX2FuZF9Zb2N0bzwvYT48
YnI+DQomZ3Q7IDxicj4NCiZndDvCoCDCoCDCoCDCoENoZWVycyw8YnI+DQomZ3Q7IDxicj4NCiZn
dDvCoCDCoCDCoCDCoFN0ZWZhbm88YnI+DQomZ3Q7IDxicj4NCiZndDsgPGJyPg0KJmd0O8KgIMKg
IMKgIMKgT24gVGh1LCAxNSBEZWMgMjAyMiwgVmlwdWwgU3VuZWphIHdyb3RlOjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDsgSGkgU3RlZmFubyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFua3MhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDsgSSBjb3VsZCBzZWUgUUVNVSA2LjIuMCBjb21waWxlZCAmYW1w
OyBpbnN0YWxsZWQgaW4gdGhlIGhvc3QgaW1hZ2UgeGVuLWltYWdlLW1pbmltYWwuIEkgY291bGQg
ZmluZCB4ZW5mYi5jIHNvdXJjZSBmaWxlIGFsc28gJmFtcDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqBt
b2RpZmllZCB0aGUgc2FtZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgd2l0aCBkZWJ1ZyBsb2dz
Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgSSBoYXZlIHNldCB1cCBhIGNyb3NzIGNvbXBpbGUg
ZW52aXJvbm1lbnQsIGRpZCAmIzM5O21ha2UgY2xlYW4mIzM5OyAmYW1wOyAmIzM5O21ha2UgYWxs
JiMzOTsgdG8gcmVjb21waWxlIGJ1dCBpdCYjMzk7cyBmYWlsaW5nLiBJbiBjYXNlIGkgYW0gZG9p
bmc8YnI+DQomZ3Q7wqAgwqAgwqAgwqB3cm9uZywgQ2FuIHlvdTxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgcGxlYXNlIGFzc2lzdCBtZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgd2l0aCB0aGUg
Y29ycmVjdCBzdGVwcyB0byBjb21waWxlIHFlbXU/wqBCZWxvdyBhcmUgdGhlIGVycm9yIGxvZ3M6
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqBhZ2xAYWdsLU9wdGlQbGV4LTcwMTA6fi9BdXRvbW90aXZlL0FEQVNfSW5m
b3RhaW5tZW50L1BsYXRmb3JtL1Bva3lfS2lya3N0b25lL2J1aWxkL3RtcC93b3JrL2NvcnRleGE3
Mi1wb2t5LWxpbnV4L3FlbXUvNi4yLjAtcjAvYnVpbGQkPGJyPg0KJmd0O8KgIMKgIMKgIMKgbWFr
ZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgYWxsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBb
MS8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19hcnBfdGFi
bGUuYy5vPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbMi8zODY0XSBDb21waWxpbmcgQyBvYmpl
Y3Qgc3VicHJvamVjdHMvbGlidmhvc3QtdXNlci9saWJ2aG9zdC11c2VyLmEucC9saWJ2aG9zdC11
c2VyLmMubzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgWzMvMzg2NF0gTGlua2luZyBzdGF0aWMg
dGFyZ2V0IHN1YnByb2plY3RzL2xpYnZob3N0LXVzZXIvbGlidmhvc3QtdXNlci5hPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0OyBbNC8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5w
L3NsaXJwX3NyY192bXN0YXRlLmMubzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgWzUvMzg2NF0g
Q29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfZGhjcHY2LmMubzxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDsgWzYvMzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJw
LmEucC9zbGlycF9zcmNfZG5zc2VhcmNoLmMubzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgWzcv
Mzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfYm9vdHAuYy5v
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbOC8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGli
c2xpcnAuYS5wL3NsaXJwX3NyY19ja3N1bS5jLm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFs5
LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3JjX2lmLmMubzxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDsgWzEwLzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJz
bGlycC5hLnAvc2xpcnBfc3JjX2lwNl9pY21wLmMubzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsg
WzExLzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3JjX2lwNl9p
bnB1dC5jLm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsxMi8zODY0XSBDb21waWxpbmcgQyBv
YmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19pcDZfb3V0cHV0LmMubzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgWzEzLzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xp
cnBfc3JjX2lwX2ljbXAuYy5vPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbMTQvMzg2NF0gQ29t
cGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfaXBfaW5wdXQuYy5vPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0OyBbMTUvMzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJw
LmEucC9zbGlycF9zcmNfaXBfb3V0cHV0LmMubzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgWzE2
LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3JjX21idWYuYy5v
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbMTcvMzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxp
YnNsaXJwLmEucC9zbGlycF9zcmNfbWlzYy5jLm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsx
OC8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19uY3NpLmMu
bzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgWzE5LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBs
aWJzbGlycC5hLnAvc2xpcnBfc3JjX25kcF90YWJsZS5jLm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IFsyMC8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19z
YnVmLmMubzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgWzIxLzM4NjRdIENvbXBpbGluZyBDIG9i
amVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3JjX3NsaXJwLmMubzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgWzIyLzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3Jj
X3NvY2tldC5jLm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsyMy8zODY0XSBDb21waWxpbmcg
QyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3NyY19zdGF0ZS5jLm88YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IFsyNC8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJw
X3NyY19zdHJlYW0uYy5vPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbMjUvMzg2NF0gQ29tcGls
aW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfdGNwX2lucHV0LmMubzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDsgWzI2LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5h
LnAvc2xpcnBfc3JjX3RjcF9vdXRwdXQuYy5vPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbMjcv
Mzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfdGNwX3N1YnIu
Yy5vPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbMjgvMzg2NF0gQ29tcGlsaW5nIEMgb2JqZWN0
IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfdGNwX3RpbWVyLmMubzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgWzI5LzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3Jj
X3RmdHAuYy5vPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbMzAvMzg2NF0gQ29tcGlsaW5nIEMg
b2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfdWRwLmMubzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDsgWzMxLzM4NjRdIENvbXBpbGluZyBDIG9iamVjdCBsaWJzbGlycC5hLnAvc2xpcnBfc3Jj
X3VkcDYuYy5vPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbMzIvMzg2NF0gQ29tcGlsaW5nIEMg
b2JqZWN0IGxpYnNsaXJwLmEucC9zbGlycF9zcmNfdXRpbC5jLm88YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IFszMy8zODY0XSBDb21waWxpbmcgQyBvYmplY3QgbGlic2xpcnAuYS5wL3NsaXJwX3Ny
Y192ZXJzaW9uLmMubzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDsgWzM0LzM4NjRdIExpbmtpbmcg
c3RhdGljIHRhcmdldCBsaWJzbGlycC5hPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBbMzUvMzg2
NF0gR2VuZXJhdGluZyBxZW11LXZlcnNpb24uaCB3aXRoIGEgY3VzdG9tIGNvbW1hbmQgKHdyYXBw
ZWQgYnkgbWVzb24gdG8gY2FwdHVyZSBvdXRwdXQpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBG
QUlMRUQ6IHFlbXUtdmVyc2lvbi5oPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Oy9ob21lL2FnbC9B
dXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L1BsYXRmb3JtL1Bva3lfS2lya3N0b25lL2J1aWxk
L3RtcC93b3JrL2NvcnRleGE3Mi1wb2t5LWxpbnV4L3FlbXUvNi4yLjAtcjAvcmVjaXBlLXN5c3Jv
b3QtbmF0aXZlL3Vzcjxicj4NCiZndDvCoCDCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDsgL2Jpbi9tZXNvbiAtLWludGVybmFsIGV4ZSAtLWNhcHR1cmUgcWVtdS12ZXJzaW9uLmgtLS9o
b21lL2FnbC9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L1BsYXRmb3JtL1Bva3lfS2lya3N0
b25lL2J1aWxkL3RtcC93b3JrL2NvcnRleGE3Mi1wb2t5LWxpbnV4L3FlbXUvNi4yLjAtcjAvcWVt
dS02LjIuMC9zY3JpcHRzL3FlbXU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAtdjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDsgZXJzaW9uLnNoPGJyPg0KJmd0O8KgIMKgIMKgIMKgL2hvbWUvYWdsL0F1dG9t
b3RpdmUvQURBU19JbmZvdGFpbm1lbnQvUGxhdGZvcm0vUG9reV9LaXJrc3RvbmUvYnVpbGQvdG1w
L3dvcmsvY29ydGV4YTcyLXBva3ktbGludXgvcWVtdS82LjIuMC1yMC9xZW11LTYuMi4wICYjMzk7
JiMzOTs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDYuMi4wPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0OyAvdXNyL2Jpbi9lbnY6IOKAmG5hdGl2ZXB5dGhvbjPigJk6IE5vIHN1Y2ggZmlsZSBvciBk
aXJlY3Rvcnk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IG5pbmphOiBidWlsZCBzdG9wcGVkOiBz
dWJjb21tYW5kIGZhaWxlZC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7IG1ha2U6ICoqKiBbTWFr
ZWZpbGU6MTYyOiBydW4tbmluamFdIEVycm9yIDE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFua3MgJmFtcDsgUmVnYXJkcyw8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IFZpcHVsIEt1bWFyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDsgT24gV2VkLCBEZWMgMTQsIDIwMjIgYXQgNDo1NSBBTSBTdGVmYW5v
IFN0YWJlbGxpbmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwub3JnIiB0
YXJnZXQ9Il9ibGFuayI+c3N0YWJlbGxpbmlAa2VybmVsLm9yZzwvYT4mZ3Q7IHdyb3RlOjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoEhpIFZpcHVsLDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBHb29kIHByb2dyZXNz
ISBUaGUgbWFpbiBmdW5jdGlvbiB3ZSBzaG91bGQgY2hlY2sgaXMgJnF1b3Q7eGVuZmJfcmVmcmVz
aCZxdW90OyBidXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBmcm9tIHRoZSBs
b2dzIGl0IGxvb2tzIGxpa2UgaXQgaXMgY2FsbGVkIHNldmVyYWwgdGltZXMuIFdoaWNoIG1lYW5z
IHRoYXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBldmVyeXRoaW5nIHNlZW1z
IHRvIGJlIHdvcmtpbmcgYXMgZXhwZWN0ZWQgb24gdGhlIExpbnV4IHNpZGUuPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoEl0IGlzIHRp
bWUgdG8gaW52ZXN0aWdhdGUgdGhlIFFFTVUgc2lkZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAuL2h3L2Rpc3BsYXkveGVuZmIuYzp4ZW5mYl9oYW5kbGVfZXZlbnRzPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgLi9ody9kaXNwbGF5L3hlbmZiLmM6eGVuZmJf
bWFwX2ZiPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoEkgd29uZGVyIGlmIHRoZSBpc3N1ZSBpcyBpbnRlcm5hbCB0byBRRU1VLiBZb3Ug
bWlnaHQgd2FudCB0byB1c2UgYW48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBv
bGRlciBRRU1VIHZlcnNpb24gdG8gY2hlY2sgaWYgaXQgd29ya3MsIG1heWJlIDYuMCBvciA1LjAg
b3IgZXZlbiA0LjAuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSSBhbHNvIHdv
bmRlciBpZiBpdCBpcyBhIHByb2JsZW0gYmV0d2VlbiB4ZW5mYi5jIGFuZCB0aGUgcmVzdCBvZiBR
RU1VLiBJPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgd291bGQgaW52ZXN0aWdh
dGUgaG93IHhlbmZiLSZndDtwaXhlbHMgaXMgcmVuZGVyZWQgYnkgdGhlIHJlc3Qgb2YgUUVNVS48
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBTcGVjaWZpY2FsbHkgeW91IG1pZ2h0
IHdhbnQgdG8gbG9vayBhdCB0aGUgY2FsbCB0bzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoHFlbXVfY3JlYXRlX2Rpc3BsYXlzdXJmYWNlLCBxZW11X2NyZWF0ZV9kaXNwbGF5c3Vy
ZmFjZV9mcm9tIGFuZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGRweV9nZnhf
cmVwbGFjZV9zdXJmYWNlIGluIHhlbmZiX3VwZGF0ZS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSSBob3BlIHRoaXMgaGVscHMuPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oENoZWVycyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgU3RlZmFubzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgT24gVHVlLCAx
MyBEZWMgMjAyMiwgVmlwdWwgU3VuZWphIHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgSGkgU3RlZmFubyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFua3Mh
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSSBtb2RpZmllZCB4ZW4tZmJmcm9udC5jIHNvdXJjZSBm
aWxlLCBpbmNsdWRlZCBwcmludGsgZGVidWcgbG9ncyAmYW1wOyBjcm9zcyBjb21waWxlZCBpdC4g
SSBpbmNsdWRlZCB0aGUgcHJpbnRrIGRlYnVnIGxvZzxicj4NCiZndDvCoCDCoCDCoCDCoGF0IHRo
ZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGVudHJ5ICZhbXA7IGV4aXQ8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IG9mIGFsbCBmdW5jdGlvbnMgb2Yg
eGVuLWZiZnJvbnQuYyBmaWxlLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgR2VuZXJhdGVkIGtlcm5lbCBtb2R1bGUgJmFtcDsgbG9hZGVkIGluIGd1ZXN0IG1hY2hpbmUg
YXQgYm9vdHVwLiBJIGNvdWxkIHNlZSBsb3RzIG9mIGxvZ3MgY29taW5nIHVwLCBhbmQgY291bGQg
c2VlPGJyPg0KJmd0O8KgIMKgIMKgIMKgbXVsdGlwbGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqBmdW5jdGlvbnMgYmVpbmc8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IGludm9rZWQgZXZlbiBpZiBJIGhhdmXCoG5vdCB1c2VkwqB2bmN2aWV3ZXIgaW4g
dGhlIGhvc3QuIEF0dGFjaGluZyB0aGUgbG9nIGZpbGUgZm9yIHJlZmVyZW5jZS4gQW55IHNwZWNp
ZmljIGZ1bmN0aW9uIG9yPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgcGFyYW1l
dGVycyB0aGF0IGhhdmU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHRv
IGJlIGNoZWNrZWQgb3IgYW55IG90aGVyIHN1Z2dlc3Rpb24gYXMgcGVyIGxvZ3M/PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgVGhhbmtzICZhbXA7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9u
IFR1ZSwgRGVjIDEzLCAyMDIyIGF0IDM6NDQgQU0gU3RlZmFubyBTdGFiZWxsaW5pICZsdDs8YSBo
cmVmPSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNzdGFi
ZWxsaW5pQGtlcm5lbC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBIaSBWaXB1bCw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgSSBhbSBvbmxpbmUgb24gSVJDIE9GVEMgI3hlbmRldmVsICg8YSBocmVmPSJo
dHRwczovL3d3dy5vZnRjLm5ldC8iIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0
dHBzOi8vd3d3Lm9mdGMubmV0LzwvYT4sIHlvdSBuZWVkIGE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqByZWdpc3RlcmVkIG5pY2tuYW1lIHRvIGpvaW4g
I3hlbmRldmVsKS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgRm9yIGRldmVsb3Bt
ZW50IGFuZCBkZWJ1Z2dpbmcgSSBmaW5kIHRoYXQgaXQgaXMgYSBsb3QgZWFzaWVyIHRvPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgY3Jvc3Njb21waWxl
IHRoZSBrZXJuZWwgJnF1b3Q7YnkgaGFuZCZxdW90OywgYW5kIGRvIGEgbW9ub2xpdGhpYyBidWls
ZCwgcmF0aGVyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgdGhhbiBnb2luZyB0aHJvdWdoIFlvY3RvLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqBGb3IgaW5zdGFuY2UgdGhlIGZvbGxvd2luZyBidWlsZHMgZm9yIG1lOjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBjZCBsaW51eC5naXQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBleHBvcnQgQVJDSD1hcm02NDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGV4cG9ydCBDUk9TU19DT01Q
SUxFPS9wYXRoL3RvL2Nyb3NzLWNvbXBpbGVyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgbWFrZSBkZWZjb25maWc8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBbYWRkIHByaW50a3MgdG8gZHJpdmVycy92aWRl
by9mYmRldi94ZW4tZmJmcm9udC5jXTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoG1ha2UgLWo4IEltYWdlLmd6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoEFuZCBJbWFnZS5neiBib290cyBvbiBYZW4gYXMgRG9tVSBrZXJuZWwgd2l0aG91
dCBpc3N1ZXMuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoENoZWVycyw8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgU3RlZmFubzxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqBPbiBTYXQsIDEwIERlYyAyMDIyLCBWaXB1bCBTdW5lamEgd3JvdGU6PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBIaSBTdGVm
YW5vLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IFRoYW5rcyE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyBJIGhhdmUgaW5jbHVkZWQgcHJpbnRrIGRlYnVnIGxvZ3MgaW4gdGhlIHhlbi1mYmZyb250
LmMgc291cmNlIGZpbGUuIFdoaWxlIGNyb3NzIGNvbXBpbGluZyB0byBnZW5lcmF0ZSAua288YnI+
DQomZ3Q7wqAgwqAgwqAgwqB3aXRoPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJnF1b3Q7eGVuLWd1ZXN0LWltYWdlLW1pbmltYWwmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHRvb2xjaGFp
biBpdCYjMzk7cyB0aHJvd2luZyBhIG1vZHBvc3Q8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IG5vdCBmb3VuZCBlcnJvci4gSSBjb3VsZCBzZWUg
dGhlIG1vZHBvc3QuYyBzb3VyY2UgZmlsZSBidXQgdGhlIGZpbmFsIHNjcmlwdCBpcyBtaXNzaW5n
LiBBbnkgaW5wdXQgb24gdGhpcyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqBCZWxvdyBhcmU8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBsb2dzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGFnbEBhZ2wtT3B0aVBsZXgtNzAxMDp+L0F1dG9t
b3RpdmUvQURBU19JbmZvdGFpbm1lbnQvcHJvamVjdC9BcHBsaWNhdGlvbi9YZW4vRnJhbWVidWZm
ZXIkIG1ha2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IG1ha2UgQVJDSD1hcm02NCAtSS9vcHQvcG9reS80LjAuNS9zeXNyb290cy9jb3J0ZXhh
NzItcG9reS1saW51eC91c3IvaW5jbHVkZS9hc20gLUM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IC9vcHQvcG9reS80LjAuNS9zeXNyb290cy9j
b3J0ZXhhNzItcG9reS1saW51eC9saWIvbW9kdWxlcy81LjE1LjcyLXlvY3RvLXN0YW5kYXJkL2J1
aWxkPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyBNPS9ob21lL2FnbC9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L3Byb2plY3QvQXBwbGlj
YXRpb24vWGVuL0ZyYW1lYnVmZmVyIG1vZHVsZXM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IG1ha2VbMV06IEVudGVyaW5nIGRpcmVjdG9yeTxi
cj4NCiZndDvCoCDCoCDCoCDCoCYjMzk7L29wdC9wb2t5LzQuMC41L3N5c3Jvb3RzL2NvcnRleGE3
Mi1wb2t5LWxpbnV4L2xpYi9tb2R1bGVzLzUuMTUuNzIteW9jdG8tc3RhbmRhcmQvYnVpbGQmIzM5
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
YXJjaC9hcm02NC9NYWtlZmlsZTozNjogRGV0ZWN0ZWQgYXNzZW1ibGVyIHdpdGggYnJva2VuIC5p
bnN0OyBkaXNhc3NlbWJseSB3aWxsIGJlIHVucmVsaWFibGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHdhcm5pbmc6IHRoZSBjb21waWxlciBk
aWZmZXJzIGZyb20gdGhlIG9uZSB1c2VkIHRvIGJ1aWxkIHRoZSBrZXJuZWw8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIFRoZSBrZXJuZWwg
d2FzIGJ1aWx0IGJ5OiBnY2MgKFVidW50dSA5LjQuMC0xdWJ1bnR1MX4yMC4wNC4xKSA5LjQuMDxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
WW91IGFyZSB1c2luZzogwqAgwqAgwqAgwqAgwqAgYWFyY2g2NC1wb2t5LWxpbnV4LWdjYyAoR0ND
KSAxMS4zLjA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIENDIFtNXSDCoC9ob21lL2FnbC9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50
L3Byb2plY3QvQXBwbGljYXRpb24vWGVuL0ZyYW1lYnVmZmVyL3hlbi1mYmZyb250Lm88YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIE1PRFBP
U1QgL2hvbWUvYWdsL0F1dG9tb3RpdmUvQURBU19JbmZvdGFpbm1lbnQvcHJvamVjdC9BcHBsaWNh
dGlvbi9YZW4vRnJhbWVidWZmZXIvTW9kdWxlLnN5bXZlcnM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IC9iaW4vc2g6IDE6IHNjcmlwdHMvbW9k
L21vZHBvc3Q6IG5vdCBmb3VuZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgbWFrZVsyXTogKioqIFtzY3JpcHRzL01ha2VmaWxlLm1vZHBvc3Q6
MTMzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoC9o
b21lL2FnbC9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L3Byb2plY3QvQXBwbGljYXRpb24v
WGVuL0ZyYW1lYnVmZmVyL01vZHVsZS5zeW12ZXJzXTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgRXJyb3IgMTI3PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBtYWtlWzFdOiAqKiogW01ha2Vm
aWxlOjE4MTM6IG1vZHVsZXNdIEVycm9yIDI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IG1ha2VbMV06IExlYXZpbmcgZGlyZWN0b3J5PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJiMzOTsvb3B0L3Bva3kvNC4wLjUvc3lzcm9vdHMvY29ydGV4YTcyLXBv
a3ktbGludXgvbGliL21vZHVsZXMvNS4xNS43Mi15b2N0by1zdGFuZGFyZC9idWlsZCYjMzk7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBtYWtl
OiAqKiogW01ha2VmaWxlOjU6IGFsbF0gRXJyb3IgMjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgYWdsQGFnbC1PcHRpUGxleC03MDEwOn4vQXV0
b21vdGl2ZS9BREFTX0luZm90YWlubWVudC9wcm9qZWN0L0FwcGxpY2F0aW9uL1hlbi9GcmFtZWJ1
ZmZlciQgbHMgLWw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IHRvdGFsIDMyNDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgLXJ3eHJ3eHJ3eCAxIGFnbCBhZ2wgwqAgwqAzNTkgRGVjIDEwIDIy
OjQxIE1ha2VmaWxlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyAtcnctcnctci0tIDEgYWdsIGFnbCDCoCDCoCA5MCBEZWMgMTAgMjI6NDkgbW9k
dWxlcy5vcmRlcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgLXJ3LXItLXItLSAxIGFnbCBhZ2wgwqAxODMzMSBEZWMgwqAxIDIwOjMyIHhlbi1m
YmZyb250LmM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IC1ydy1ydy1yLS0gMSBhZ2wgYWdsIMKgIMKgIDkwIERlYyAxMCAyMjo0OSB4ZW4tZmJm
cm9udC5tb2Q8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IC1ydy1ydy1yLS0gMSBhZ2wgYWdsIDI5NzgzMiBEZWMgMTAgMjI6NDkgeGVuLWZiZnJv
bnQubzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgYWdsQGFnbC1PcHRpUGxleC03MDEwOn4vQXV0b21vdGl2ZS9BREFTX0luZm90YWlubWVudC9w
cm9qZWN0L0FwcGxpY2F0aW9uL1hlbi9GcmFtZWJ1ZmZlciQgZmlsZSB4ZW4tZmJmcm9udC5vPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB4ZW4t
ZmJmcm9udC5vOiBFTEYgNjQtYml0IExTQiByZWxvY2F0YWJsZSwgQVJNIGFhcmNoNjQsIHZlcnNp
b24gMSAoU1lTViksIHdpdGggZGVidWdfaW5mbywgbm90IHN0cmlwcGVkPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBhZ2xAYWdsLU9wdGlQbGV4
LTcwMTA6fi9BdXRvbW90aXZlL0FEQVNfSW5mb3RhaW5tZW50L3Byb2plY3QvQXBwbGljYXRpb24v
WGVuL0ZyYW1lYnVmZmVyJDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IEkgaGF2ZSBjb25uZWN0ZWQgYSBIRE1JIGJhc2VkIDE5ODB4MTAyNCByZXNv
bHV0aW9uIGRpc3BsYXkgc2NyZWVuIHRvIHJhc3BiZXJyeXBpNCBmb3IgdGVzdGluZyBwdXJwb3Nl
cy4gSTxicj4NCiZndDvCoCDCoCDCoCDCoGhvcGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqBjb25uZWN0aW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgdGhpcyBkaXNwbGF5IHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBycGk0IHNob3VsZCBiZSBvay48YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJcyB0aGVyZSBhbnkgb3Ro
ZXIgd2F5IHdlIGNhbiBjb25uZWN0IGFsc28gZm9yIGRldGFpbGVkIGRpc2N1c3Npb24gb24gdGhl
IGRpc3BsYXkgYnJpbmd1cCBpc3N1ZT8gVGhpcyB3aWxsPGJyPg0KJmd0O8KgIMKgIMKgIMKgcmVh
bGx5PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgaGVscCB0bzxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHJlc29sdmUgdGhpczxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgaXNzdWUu
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVGhh
bmtzICZhbXA7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIEZyaSwgRGVjIDIsIDIwMjIgYXQgMTowMiBBTSBT
dGVmYW5vIFN0YWJlbGxpbmkgJmx0OzxhIGhyZWY9Im1haWx0bzpzc3RhYmVsbGluaUBrZXJuZWwu
b3JnIiB0YXJnZXQ9Il9ibGFuayI+c3N0YWJlbGxpbmlAa2VybmVsLm9yZzwvYT4mZ3Q7IHdyb3Rl
Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoE9uIFRodSwgMSBEZWMgMjAyMiwgVmlwdWwgU3VuZWphIHdyb3RlOjxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgSGkgU3RlZmFubyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFRoYW5rcyE8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyBJIGFtIGV4cGxvcmluZyBib3RoIG9wdGlvbnMgaGVyZSwgbW9kaWZpY2F0aW9uIG9m
IGZyYW1lYnVmZmVyIHNvdXJjZSBmaWxlICZhbXA7IHNldHRpbmcgdXAgeDExdm5jIHNlcnZlcjxi
cj4NCiZndDvCoCDCoCDCoCDCoGluPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Z3Vlc3QuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBPdGhlciB0aGFuIHRoZXNlIEkgd291bGQgbGlrZSB0byBzaGFy
ZSBhIGZldyBmaW5kaW5ncyB3aXRoIHlvdS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAxLiBJ
ZiBpIGtlZXAgJnF1b3Q7Q09ORklHX1hFTl9GQkRFVl9GUk9OVEVORD15JnF1b3Q7IHRoZW4geGVu
LWZiZnJvbnQua28gaXMgbm90IGdlbmVyYXRpbmcgYnV0IGlmIGkga2VlcDxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZxdW90O0NPTkZJR19YRU5fRkJE
RVZfRlJPTlRFTkQ9bSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdGhlbiBjb3VsZCBzZWUgeGVuLWZiZnJv
bnQua28gJmFtcDsgaXRzIGxvYWRpbmcgYWxzby4gU2FtZSB0aGluZ3Mgd2l0aCBvdGhlciBmcm9u
dGVuZC9iYWNrZW5kIGRyaXZlcnM8YnI+DQomZ3Q7wqAgwqAgwqAgwqBhbHNvLiBEbyB3ZTxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoG5lZWQgdG88YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBjb25maWd1cmXC
oHRoZXNlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBkcml2ZXJzIGFzIGEgbW9kdWxlKG0pIG9ubHk/PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHhl
bi1mYmZyb250IHNob3VsZCB3b3JrIGJvdGggYXMgYSBtb2R1bGUgKHhlbi1mYmZyb250LmtvKSBv
ciBidWlsdC1pbjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoChDT05GSUdfWEVOX0ZCREVWX0ZST05URU5EPXkpLjxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
Mi4gSSBjb3VsZCBzZWUgeGVuc3RvcmVkIHNlcnZpY2UgaXMgcnVubmluZyBmb3IgdGhlIGhvc3Qg
YnV0IGl0JiMzOTtzIGFsd2F5cyBmYWlsaW5nIGZvciB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAgwqBn
dWVzdMKgbWFjaGluZS4gSTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGNvdWxk
IHNlZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGl0
IGluPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgYm9vdHVwIGxvZ3MgJmFtcDsgdmlhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBzeXN0ZW1jdGwg
c3RhdHVzIGFsc28uPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoFRoYXQgaXMgbm9ybWFsLiB4ZW5zdG9yZWQgaXMgb25seSBtZWFu
dCB0byBiZSBydW4gaW4gRG9tMCwgbm90IGluIHRoZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGRvbVVzLiBJZiB5b3UgdXNl
IHRoZSBzYW1lIHJvb3RmcyBmb3IgRG9tMCBhbmQgRG9tVSB0aGVuIHhlbnN0b3JlZCB3aWxsPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgZmFpbCBzdGFydGluZyBpbiB0aGUgRG9tVSAoYnV0IHNob3VsZCBzdWNjZWVkIGluIERv
bTApLCB3aGljaCBpcyB3aGF0IHdlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgd2FudC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSWYgeW91IHJ1biAmcXVv
dDt4ZW5zdG9yZS1scyZxdW90OyBpbiBEb20wLCB5b3UmIzM5O2xsIHNlZSBhIGJ1bmNoIG9mIGVu
dHJpZXMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgaW5jbHVkaW5nIHNvbWUgb2YgdGhlbSByZWxhdGVkIHRvICZxdW90O3Zm
YiZxdW90OyB3aGljaCBpcyB0aGUgdmlydHVhbCBmcmFtZWJ1ZmZlcjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHByb3RvY29s
LiBZb3Ugc2hvdWxkIGFsc28gc2VlIGFuIGVudHJ5IGNhbGxlZCAmcXVvdDtzdGF0ZSZxdW90OyBz
ZXQgdG8gJnF1b3Q7NCZxdW90OyB3aGljaDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoG1lYW5zICZxdW90O2Nvbm5lY3RlZCZx
dW90Oy4gc3RhdGUgPSA0IGlzIHVzdWFsbHkgd2hlbiBldmVyeXRoaW5nIHdvcmtzLiBOb3JtYWxs
eTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoHdoZW4gdGhpbmdzIGRvbiYjMzk7dCB3b3JrIHN0YXRlICE9IDQuPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBC
ZWxvdyBhcmUgdGhlIGxvZ3M6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbIMKgT0sgwqBdIFJlYWNoZWQgdGFyZ2V0
IEJhc2ljIFN5c3RlbS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0gU3RhcnRlZCBLZXJuZWwgTG9n
Z2luZyBTZXJ2aWNlLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgWyDCoE9LIMKgXSBTdGFydGVkIFN5c3RlbSBMb2dn
aW5nIFNlcnZpY2UuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoCDCoFN0YXJ0aW5nIEQtQnVzIFN5
c3RlbSBNZXNzYWdlIEJ1cy4uLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqAgwqBTdGFydGluZyBV
c2VyIExvZ2luIE1hbmFnZW1lbnQuLi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgIMKgU3RhcnRp
bmcgUGVybWl0IFVzZXIgU2Vzc2lvbnMuLi48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgIMKgU3Rh
cnRpbmcgVGhlIFhlbiB4ZW5zdG9yZS4uLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqAgwqBTdGFy
dGluZyBPcGVuU1NIIEtleSBHZW5lcmF0aW9uLi4uPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbRkFJTEVEXSBGYWls
ZWQgdG8gc3RhcnQgVGhlIFhlbiB4ZW5zdG9yZS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFNlZSAmIzM5O3N5c3Rl
bWN0bCBzdGF0dXMgeGVuc3RvcmVkLnNlcnZpY2UmIzM5OyBmb3IgZGV0YWlscy48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IFtERVBFTkRdIERlcGVuZGVuY3kgZmFpbGVkIGZvciBxZW11IGZvciB4ZW4gZG9tMCBkaXNr
IGJhY2tlbmQuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbREVQRU5EXSBEZXBlbmRlbmN5IGZhaWxlZCBmb3IgWGVu
ZOKApnAgZ3Vlc3RzIG9uIGJvb3QgYW5kIHNodXRkb3duLjxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgW0RFUEVORF0g
RGVwZW5kZW5jeSBmYWlsZWQgZm9yIHhlbi3igKZkZXMsIEpTT04gY29uZmlndXJhdGlvbiBzdHVi
KS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IFtERVBFTkRdIERlcGVuZGVuY3kgZmFpbGVkIGZvciBYZW5j4oCmZ3Vl
c3QgY29uc29sZXMgYW5kIGh5cGVydmlzb3IuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbIMKgT0sgwqBdIEZpbmlz
aGVkIFBlcm1pdCBVc2VyIFNlc3Npb25zLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgWyDCoE9LIMKgXSBTdGFydGVk
IEdldHR5IG9uIHR0eTEuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbIMKgT0sgwqBdIFN0YXJ0ZWQgU2VyaWFsIEdl
dHR5IG9uIGh2YzAuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBbIMKgT0sgwqBdIFN0YXJ0ZWQgU2VyaWFsIEdldHR5
IG9uIHR0eVMwLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgWyDCoE9LIMKgXSBSZWFjaGVkIHRhcmdldCBMb2dpbiBQ
cm9tcHRzLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqAgwqBTdGFydGluZyBYZW4td2F0Y2hkb2cg
LSBydW4geGVuIHdhdGNoZG9nIGRhZW1vbi4uLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgWyDCoE9LIMKgXSBTdGFy
dGVkIEQtQnVzIFN5c3RlbSBNZXNzYWdlIEJ1cy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0gU3Rh
cnRlZCBYZW4td2F0Y2hkb2cgLSBydW4geGVuIHdhdGNoZG9nIGRhZW1vbi48YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IFsgwqBPSyDCoF0gRmluaXNoZWQgT3BlblNTSCBLZXkgR2VuZXJhdGlvbi48YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IFsgwqBPSyDCoF0gU3RhcnRlZCBVc2VyIExvZ2luIE1hbmFnZW1lbnQuPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBb
IMKgT0sgwqBdIFJlYWNoZWQgdGFyZ2V0IE11bHRpLVVzZXIgU3lzdGVtLjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqAgwqBTdGFydGluZyBSZWNvcmQgUnVubGV2ZWwgQ2hhbmdlIGluIFVUTVAuLi48
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IFsgwqBPSyDCoF0gRmluaXNoZWQgUmVjb3JkIFJ1bmxldmVsIENoYW5nZSBp
biBVVE1QLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgZmJjb246IFRha2luZyBvdmVyIGNvbnNvbGU8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyBQb2t5IChZb2N0byBQcm9qZWN0IFJlZmVyZW5jZSBEaXN0cm8pIDQu
MC40IHJhc3BiZXJyeXBpNC02NCBodmMwPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgcmFzcGJl
cnJ5cGk0LTY0IGxvZ2luOiByb290PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDp+
Izxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVycnlwaTQtNjQ6fiM8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RA
cmFzcGJlcnJ5cGk0LTY0On4jIHN5c3RlbWN0bCBzdGF0dXMgeGVuc3RvcmVkLnNlcnZpY2U8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IHggeGVuc3RvcmVkLnNlcnZpY2UgLSBUaGUgWGVuIHhlbnN0b3JlPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoExvYWRlZDogbG9hZGVkICgvbGliL3N5c3RlbWQvc3lzdGVtL3hlbnN0b3Jl
ZC5zZXJ2aWNlOyBlbmFibGVkOyB2ZW5kb3IgcHJlc2V0OiBlbmFibGVkKTxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqBBY3RpdmU6IGZhaWxlZCAoUmVzdWx0OiBleGl0LWNvZGUpIHNpbmNlIFRodSAyMDIy
LTEyLTAxIDA2OjEyOjA1IFVUQzsgMjZzIGFnbzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgUHJvY2Vzczog
MTk1IEV4ZWNTdGFydFByZT0vYmluL2dyZXAgLXEgY29udHJvbF9kIC9wcm9jL3hlbi9jYXBhYmls
aXRpZXMgKGNvZGU9ZXhpdGVkLDxicj4NCiZndDvCoCDCoCDCoCDCoHN0YXR1cz0xL0ZBSUxVUkUp
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgRGVjIDAxIDA2OjEyOjA0IHJhc3BiZXJyeXBpNC02
NCBzeXN0ZW1kWzFdOiBTdGFydGluZyBUaGUgWGVuIHhlbnN0b3JlLi4uPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBE
ZWMgMDEgMDY6MTI6MDUgcmFzcGJlcnJ5cGk0LTY0IHN5c3RlbWRbMV06IHhlbnN0b3JlZC5zZXJ2
aWNlOiBDb250cm9sIHByby4uLlVSRTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgRGVjIDAxIDA2OjEyOjA1IHJhc3Bi
ZXJyeXBpNC02NCBzeXN0ZW1kWzFdOiB4ZW5zdG9yZWQuc2VydmljZTogRmFpbGVkIHdpdGguLi5l
JiMzOTsuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBEZWMgMDEgMDY6MTI6MDUgcmFzcGJlcnJ5cGk0LTY0IHN5c3Rl
bWRbMV06IEZhaWxlZCB0byBzdGFydCBUaGUgWGVuIHhlbnN0b3JlLjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSGlu
dDogU29tZSBsaW5lcyB3ZXJlIGVsbGlwc2l6ZWQsIHVzZSAtbCB0byBzaG93IGluIGZ1bGwuPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDp+I8KgPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgQW55IGlucHV0IG9uIHRoZXNlPzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFRoYW5r
cyAmYW1wOyBSZWdhcmRzLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyBPbiBXZWQsIE5vdiAyMywgMjAyMiBhdCA1OjQxIEFNIFN0ZWZhbm8gU3RhYmVs
bGluaSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnNzdGFiZWxsaW5pQGtlcm5lbC5vcmciIHRhcmdldD0i
X2JsYW5rIj5zc3RhYmVsbGluaUBrZXJuZWwub3JnPC9hPiZndDsgd3JvdGU6PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgSGkgVmlwdWwsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oEkgY2Fubm90IHNwb3QgYW55IGlzc3VlIGluIHRoZSBjb25maWd1cmF0aW9uLCBpbiBwYXJ0aWN1
YWwgeW91IGhhdmU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoENPTkZJR19Y
RU5fRkJERVZfRlJPTlRFTkQ9eTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB3
aGljaCBpcyB3aGF0IHlvdSBuZWVkLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBUaGUgb25seSB0aGluZyBJIGNhbiBzdWdnZXN0IGlzIHRvIGFkZCBwcmludGtzIHRvIHRoZSBM
aW51eCBmcm9udGVuZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGRyaXZlciAodGhlIG9uZSBydW5u
aW5nIGluIHRoZSBkb21VKSB3aGljaCBpczxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGRyaXZlcnMv
dmlkZW8vZmJkZXYveGVuLWZiZnJvbnQuYyBhbmQgcHJpbnRmcyB0byB0aGUgUUVNVSBiYWNrZW5k
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgKHJ1bm5pbmcgaW4gRG9tMCkgd2hpY2ggaXMgaHcvZGlz
cGxheS94ZW5mYi5jIHRvIGZpZ3VyZSBvdXQgd2hhdCBpczxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oGdvaW5nIG9uLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBzZXR1cCBQViBuZXR3b3JrIHdpdGggdGhlIGRvbVUs
IHN1Y2ggYXM6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgIHZpZj1bJiMz
OTsmIzM5O108YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYW5kIHRoZW4gcnVu
IHgxMSBhbmQgYSB4MTF2bmMgc2VydmVyIGluIHlvdXIgZG9tVS4gWW91IHNob3VsZCBiZSBhYmxl
IHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgY29ubmVjdCB0byBpdCB1c2luZyB2bmN2aWV3ZXIg
YXQgdGhlIG5ldHdvcmsgSVAgb2YgeW91ciBkb21VLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqBCYXNpY2FsbHkgeW91IGFyZSBza2lwcGluZyB0aGUgcHJvYmxlbSBiZWNhdXNl
IGluc3RlYWQgb2YgdXNpbmcgdGhlIFBWPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZnJhbWVidWZm
ZXIgcHJvdG9jb2wsIHlvdSBqdXN0IHVzZSBWTkMgb3ZlciB0aGUgbmV0d29yayB3aXRoIHRoZSBk
b21VLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgQ2hl
ZXJzLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBTdGVmYW5vPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBPbiBUdWUsIDIyIE5vdiAy
MDIyLCBWaXB1bCBTdW5lamEgd3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBIaSBT
dGVmYW5vLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVGhhbmtzIGZvciB0aGXCoHN1cHBv
cnQhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgTG9va3MgbGlrZSBJIGhhdmUgdHJpZWQgYWxsIHRoZSBjb21iaW5hdGlvbnPCoCZhbXA7IHBv
c3NpYmxlIHdheXMgdG8gZ2V0IGRpc3BsYXkgdXAgYnV0IGZhaWxlZC4gSXM8YnI+DQomZ3Q7wqAg
wqAgwqAgwqB0aGVyZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGFueTxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGRvY3VtZW50IG9y
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgcGRmIGZvcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHBvcnRpbmcgeGVuIG9uPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByYXNwYmVycnlwaTQuPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyBJIGNvdWxkIGZpbmQgbG90JiMzOTtzIG9mIGxpbmtzIHRlbGxpbmcgdGhlIHNh
bWUgYnV0IGNvdWxkbiYjMzk7dCBzZWUgYW55IG9mZmljaWFsIHVzZXIgZ3VpZGUgb3I8YnI+DQom
Z3Q7wqAgwqAgwqAgwqBkb2N1bWVudDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oGZyb20gdGhlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgeGVuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgY29tbXVuaXR5IG9uPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgdGhlIHNh
bWUuIElmPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB0aGVyZSBpcyBzb21ldGhpbmcgdG8g
cmVmZXLCoDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdG8gcGxlYXNlIHNoYXJlIHdpdGgg
bWUuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJIGFtIGF0dGFjaGluZyB0aGUga2VybmVs
IGNvbmZpZ3VyYXRpb24gZmlsZSBhbHNvLCBqdXN0IHRha2UgYSBsb29rIGlmIGkgaGF2ZSBtaXNz
ZWQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqBhbnl0aGluZy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IEFueSBvdGhlciBzdWdnZXN0aW9ucyBvciBpbnB1dCBmcm9tIHlvdXIgZW5kIGNvdWxkIGJl
IHJlYWxseSBoZWxwZnVsPzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1
bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IE9uIEZyaSwgTm92IDExLCAyMDIyIGF0IDY6NDAgQU0gU3RlZmFubyBTdGFiZWxsaW5p
ICZsdDs8YSBocmVmPSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIgdGFyZ2V0PSJfYmxh
bmsiPnNzdGFiZWxsaW5pQGtlcm5lbC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBIaSBWaXB1bCw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgU29ycnkgZm9yIHRoZSBs
YXRlIHJlcGx5LiBGcm9tIHRoZSBlYXJsaWVyIGxvZ3MgdGhhdCB5b3Ugc2VudCwgaXQgbG9va3M8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBsaWtlIGV2ZXJ5dGhpbmcgc2hv
dWxkIGJlIHdvcmtpbmcgY29ycmVjdGx5LiBTcGVjaWZpY2FsbHk6PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAgwqAg
dmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
wqDCoCDCoCDCoDEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqDCoMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9t
YWluLzEvZGV2aWNlL3ZmYi8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgwqDCoCDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsx
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCDC
oHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoMKgwqAgwqAgwqAgwqB2bmMgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCDCoHZuY2xpc3RlbiA9ICZxdW90OzEyNy4wLjAu
MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoMKgwqAgwqAgwqAg
wqB2bmNkaXNwbGF5ID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoMKgwqAgwqAgwqAgwqB2bmN1bnVzZWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgwqDCoCDCoCDCoCDCoHNkbCA9ICZxdW90OzAm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKg
b3BlbmdsID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoMKgwqAgwqAgwqAgwqBmZWF0dXJlLXJlc2l6ZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDCoMKgIMKgIMKgIMKgaG90cGx1Zy1zdGF0dXMg
PSAmcXVvdDtjb25uZWN0ZWQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqDCoMKgIMKgIMKgIMKgcmVxdWVzdC11cGRhdGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oHN0YXRlICZxdW90OzQmcXVvdDsgbWVhbnMgJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7LiBTbyBJIHdv
dWxkIGV4cGVjdCB0aGF0IHlvdSBzaG91bGQgYmUgYWJsZTxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoHRvIGNvbm5lY3QgdG8gdGhlIHZuYyBzZXJ2ZXIgdXNpbmcgdm5jdmll
d2VyLiBZb3UgbWlnaHQgbm90IHNlZSBhbnl0aGluZzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoChibGFjayBzY3JlZW4pIGJ1dCB5b3Ugc2hvdWxkIGRlZmluaXRlbHkgYmUg
YWJsZSB0byBjb25uZWN0Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJIHdvdWxkbiYjMzk7dCB0cnkgdG8gbGF1bmNoIHgx
MSBpbiB0aGUgZ3Vlc3QganVzdCB5ZXQuIGZiY29uIGluIExpbnV4IGlzPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZW5vdWdoIHRvIHJlbmRlciBzb21ldGhpbmcgb24gdGhl
IHNjcmVlbi4gWW91IHNob3VsZCBiZSBhYmxlIHRvIHNlZSB0aGU8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqBMaW51eCB0ZXh0LWJhc2VkIGNvbnNvbGUgcmVuZGVyZWQgZ3Jh
cGhpY2FsbHksIGNvbm5lY3RpbmcgdG8gaXQgdmlhIHZuYy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgU29ycnkgZm9yIHRo
ZSBiYXNpYyBxdWVzdGlvbiwgYnV0IGhhdmUgeW91IHRyaWVkIGFsbCB0aGUgZm9sbG93aW5nPzxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTowIiByZWw9Im5vcmVm
ZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6MDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTox
IiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6MTwvYT48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDov
LzEyNy4wLjAuMToyIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6
MjwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEg
aHJlZj0iaHR0cDovLzEyNy4wLjAuMTo1OTAwIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2Js
YW5rIj4xMjcuMC4wLjE6NTkwMDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo1OTAxIiByZWw9Im5vcmVm
ZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6NTkwMTwvYT48YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAu
MTo1OTAyIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6NTkwMjwv
YT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgR2l2ZW4gdGhhdCBmcm9tIHRoZSB4ZW5zdG9yZS1scyBsb2dzIGV2ZXJ5dGhp
bmcgc2VlbXMgdG8gd29yayBjb3JyZWN0bHk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqBJIGFtIG5vdCBzdXJlIHdoYXQgZWxzZSB0byBzdWdnZXN0LiBZb3UgbWlnaHQgaGF2
ZSB0byBhZGQgcHJpbnRmIHRvIFFFTVU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqB1aS92bmMuYyBhbmQgaHcvZGlzcGxheS94ZW5mYi5jIHRvIHNlZSB3aGF0IGlzIGdvaW5n
IHdyb25nLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFN0ZWZhbm88YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoE9uIE1vbiwgNyBOb3YgMjAyMiwgVmlwdWwgU3VuZWphIHdy
b3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSGkgU3RlZmFu
byw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFRoYW5rcyE8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBBbnkgaW5wdXQgZnVydGhlciBvbiAmcXVvdDt4ZW5z
dG9yZS1scyZxdW90OyBsb2dzPzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEkgYW0gdHJ5
aW5nIHRvIHJ1biB0aGUgeDB2bmNzZXJ2ZXIgJmFtcDsgeDExdm5jIHNlcnZlciBtYW51YWxseSBv
biBndWVzdDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoG1hY2hpbmUoeGVuX2d1
ZXN0X2ltYWdlX21pbmltYWwpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgaW1hZ2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBidXQgaXQmIzM5O3M8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqBmYWlsaW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgd2l0aCB0
aGUgYmVsb3c8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGVycm9y
Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0Oi91c3Iv
YmluIyB4MHZuY3NlcnZlcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgeDB2bmNzZXJ2ZXI6IHVuYWJsZSB0byBvcGVuIGRpc3BsYXkgJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02
NDovdXNyL2JpbiM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJv
b3RAcmFzcGJlcnJ5cGk0LTY0Oi91c3IvYmluIyB4MTF2bmM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgI0BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAqKiDCoFdBUk5JTkcgwqAqKiDCoFdB
Uk5JTkcgwqAqKiDCoFdBUk5JTkcgwqAqKiDCoFdBUk5JTkcgwqAqKiDCoCBAIzxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNA
IMKgIMKgIMKgIMKgWU9VIEFSRSBSVU5OSU5HIFgxMVZOQyBXSVRIT1VUIEEgUEFTU1dPUkQhISDC
oCDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAj
QCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBUaGlzIG1lYW5zIGFueW9uZSB3aXRoIG5ldHdvcmsg
YWNjZXNzIHRvIHRoaXMgY29tcHV0ZXIgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgbWF5IGJlIGFibGUgdG8gdmlldyBhbmQgY29udHJvbCB5b3Vy
IGRlc2t0b3AuIMKgIMKgIMKgIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCAmZ3Q7Jmd0OyZndDsgSWYg
eW91IGRpZCBub3QgbWVhbiB0byBkbyB0aGlzIFByZXNzIENUUkwtQyBub3chISAmbHQ7Jmx0OyZs
dDsgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyAjQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoFlvdSBjYW4gY3JlYXRlIGFuIHgxMXZu
YyBwYXNzd29yZCBmaWxlIGJ5IHJ1bm5pbmc6IMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAg
wqAgeDExdm5jIC1zdG9yZXBhc3N3ZCBwYXNzd29yZCAvcGF0aC90by9wYXNzZmlsZSDCoCDCoCDC
oEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoG9yIMKg
IHgxMXZuYyAtc3RvcmVwYXNzd2QgL3BhdGgvdG8vcGFzc2ZpbGUgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgb3Ig
wqAgeDExdm5jIC1zdG9yZXBhc3N3ZCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgKHRoZSBsYXN0IG9uZSB3aWxsIHVzZSB+Ly52
bmMvcGFzc3dkKSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBh
bmQgdGhlbiBzdGFydGluZyB4MTF2bmMgdmlhOiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqB4MTF2bmMgLXJmYmF1dGggL3BhdGgv
dG8vcGFzc2ZpbGUgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKg
YW4gZXhpc3Rpbmcgfi8udm5jL3Bhc3N3ZCBmaWxlIGZyb20gYW5vdGhlciBWTkMgwqAgwqAgwqAg
wqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBh
cHBsaWNhdGlvbiB3aWxsIHdvcmsgZmluZSB0b28uIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoFlvdSBjYW4gYWxzbyB1c2UgdGhlIC1wYXNzd2Rm
aWxlIG9yIC1wYXNzd2Qgb3B0aW9ucy4gwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgKG5vdGUgLXBhc3N3ZCBpcyB1bnNhZmUgaWYgbG9jYWwg
dXNlcnMgYXJlIG5vdCB0cnVzdGVkKSDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqBNYWtlIHN1cmUgYW55IC1y
ZmJhdXRoIGFuZCAtcGFzc3dkZmlsZSBwYXNzd29yZCBmaWxlcyDCoCDCoEAjPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoGNhbm5vdCBiZSByZWFkIGJ5IHVu
dHJ1c3RlZCB1c2Vycy4gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyAjQCDCoFVzZSB4MTF2bmMgLXVzZXB3IHRvIGF1dG9tYXRpY2FsbHkgdXNlIHlvdXIgwqAgwqAg
wqAgwqAgwqAgwqAgwqBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgI0AgwqB+Ly52bmMvcGFzc3dkIG9yIH4vLnZuYy9wYXNzd2RmaWxlIHBhc3N3b3JkIGZpbGVz
LiDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
I0AgwqAoYW5kIHByb21wdCB5b3UgdG8gY3JlYXRlIH4vLnZuYy9wYXNzd2QgaWYgbmVpdGhlciDC
oCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0Ag
wqBmaWxlIGV4aXN0cy4pIMKgVW5kZXIgLXVzZXB3LCB4MTF2bmMgd2lsbCBleGl0IGlmIGl0IMKg
IMKgIMKgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKg
Y2Fubm90IGZpbmQgYSBwYXNzd29yZCB0byB1c2UuIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyAjQCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
QCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgRXZlbiB3
aXRoIGEgcGFzc3dvcmQsIHRoZSBzdWJzZXF1ZW50IFZOQyB0cmFmZmljIGlzIMKgIMKgIMKgQCM8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgc2VudCBpbiB0
aGUgY2xlYXIuwqAgQ29uc2lkZXIgdHVubmVsbGluZyB2aWEgc3NoKDEpOiDCoCDCoCDCoEAjPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgI0AgwqAgwqA8YSBocmVmPSJodHRwOi8vd3d3LmthcmxydW5nZS5jb20veDExdm5jLyN0
dW5uZWxsaW5nIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3Lmth
cmxydW5nZS5jb20veDExdm5jLyN0dW5uZWxsaW5nPC9hPiDCoCDCoCDCoCDCoCDCoCDCoEAjPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgI0AgwqBPciB1c2luZyB0aGUgeDExdm5jIFNTTCBvcHRpb25zOiAtc3NsIGFuZCAtc3R1
bm5lbCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgUGxlYXNlIFJlYWQgdGhlIGRvY3VtZW50YXRp
b24gZm9yIG1vcmUgaW5mbyBhYm91dCDCoCDCoCDCoCDCoEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDCoHBhc3N3b3Jkcywgc2VjdXJpdHksIGFuZCBlbmNy
eXB0aW9uLiDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBAIzxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgI0AgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKg
PGEgaHJlZj0iaHR0cDovL3d3dy5rYXJscnVuZ2UuY29tL3gxMXZuYy9mYXEuaHRtbCNmYXEtcGFz
c3dkIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vd3d3LmthcmxydW5n
ZS5jb20veDExdm5jL2ZhcS5odG1sI2ZhcS1wYXNzd2Q8L2E+IMKgIMKgQCM8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQCDC
oFRvIGRpc2FibGUgdGhpcyB3YXJuaW5nIHVzZSB0aGUgLW5vcHcgb3B0aW9uLCBvciBwdXQgwqAg
wqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICNAIMKgJiMz
OTtub3B3JiMzOTsgb24gYSBsaW5lIGluIHlvdXIgfi8ueDExdm5jcmMgZmlsZS4gwqAgwqAgwqAg
wqAgwqAgwqAgwqAgQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
ICNAIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIEAjPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAjQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBA
QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQCM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0MSB4MTF2bmMgdmVyc2lvbjogMC45LjE2IGxhc3Rt
b2Q6IDIwMTktMDEtMDUgwqBwaWQ6IDQyNDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0MSBYT3BlbkRpc3BsYXkoJnF1b3Q7JnF1b3Q7
KSBmYWlsZWQuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8w
My8yMDE4IDEyOjU4OjQxIFRyeWluZyBhZ2FpbiB3aXRoIFhBVVRITE9DQUxIT1NUTkFNRT1sb2Nh
bGhvc3QgLi4uPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8w
My8yMDE4IDEyOjU4OjQxPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyAwOS8wMy8yMDE4IDEyOjU4OjQxICoqKiBYT3BlbkRpc3BsYXkgZmFpbGVkLiBObyAtZGlzcGxh
eSBvciBESVNQTEFZLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
MDkvMDMvMjAxOCAxMjo1ODo0MSAqKiogVHJ5aW5nICZxdW90OzowJnF1b3Q7IGluIDQgc2Vjb25k
cy7CoCBQcmVzcyBDdHJsLUMgdG8gYWJvcnQuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQxICoqKiAxIDIgMyA0PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQ1IFhPcGVu
RGlzcGxheSgmcXVvdDs6MCZxdW90OykgZmFpbGVkLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0NSBUcnlpbmcgYWdhaW4gd2l0aCBY
QVVUSExPQ0FMSE9TVE5BTUU9bG9jYWxob3N0IC4uLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgMDkvMDMvMjAxOCAxMjo1ODo0NSBYT3BlbkRpc3BsYXkoJnF1b3Q7
OjAmcXVvdDspIGZhaWxlZC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IDA5LzAzLzIwMTggMTI6NTg6NDUgVHJ5aW5nIGFnYWluIHdpdGggdW5zZXQgWEFVVEhMT0NB
TEhPU1ROQU1FIC4uLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
MDkvMDMvMjAxOCAxMjo1ODo0NTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IDA5LzAzLzIw
MTggMTI6NTg6NDUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyAwOS8wMy8yMDE4IDEyOjU4OjQ1
ICoqKiBYT3BlbkRpc3BsYXkgZmFpbGVkICg6MCk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyAqKiogeDExdm5jIHdhcyB1bmFibGUgdG8gb3BlbiB0aGUgWCBESVNQTEFZOiAmcXVvdDs6MCZx
dW90OywgaXQgY2Fubm90IGNvbnRpbnVlLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgKioqIFRoZXJlIG1heSBiZSAmcXVvdDtYbGliOiZxdW90OyBlcnJvciBtZXNz
YWdlcyBhYm92ZSB3aXRoIGRldGFpbHMgYWJvdXQgdGhlIGZhaWx1cmUuPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgU29tZSB0aXBzIGFuZCBndWlkZWxpbmVzOjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7ICoqIEFuIFggc2VydmVyICh0aGUgb25lIHlvdSB3aXNoIHRvIHZpZXcpIG11
c3QgYmUgcnVubmluZyBiZWZvcmUgeDExdm5jIGlzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoHN0YXJ0ZWQ6IHgxMXZuYyBkb2VzIG5vdCBzdGFydCB0aGUg
WCBzZXJ2ZXIuIMKgKGhvd2V2ZXIsIHNlZSB0aGUgLWNyZWF0ZTxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBvcHRpb24gaWYgdGhhdCBpcyB3aGF0IHlvdSBy
ZWFsbHkgd2FudCkuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgKiogWW91IG11c3QgdXNl
IC1kaXNwbGF5ICZsdDtkaXNwJmd0OywgLU9SLSBzZXQgYW5kIGV4cG9ydCB5b3VyICRESVNQTEFZ
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGVudmlyb25t
ZW50IHZhcmlhYmxlIHRvIHJlZmVyIHRvIHRoZSBkaXNwbGF5IG9mIHRoZSBkZXNpcmVkIFggc2Vy
dmVyLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAtIFVzdWFs
bHkgdGhlIGRpc3BsYXkgaXMgc2ltcGx5ICZxdW90OzowJnF1b3Q7IChpbiBmYWN0IHgxMXZuYyB1
c2VzIHRoaXMgaWYgeW91IGZvcmdldDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqB0byBzcGVjaWZ5IGl0KSwgYnV0IGluIHNvbWUgbXVsdGktdXNlciBzaXR1
YXRpb25zIGl0IGNvdWxkIGJlICZxdW90OzoxJnF1b3Q7LCAmcXVvdDs6MiZxdW90Oyw8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgb3IgZXZlbiAmcXVvdDs6
MTM3JnF1b3Q7LsKgIEFzayB5b3VyIGFkbWluaXN0cmF0b3Igb3IgYSBndXJ1IGlmIHlvdSBhcmUg
aGF2aW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRp
ZmZpY3VsdHkgZGV0ZXJtaW5pbmcgd2hhdCB5b3VyIFggRElTUExBWSBpcy48YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyAqKiBOZXh0LCB5b3UgbmVlZCB0byBoYXZlIHN1ZmZpY2llbnQgcGVy
bWlzc2lvbnMgKFhhdXRob3JpdHkpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoHRvIGNvbm5lY3QgdG8gdGhlIFggRElTUExBWS4gwqAgSGVyZSBhcmUgc29t
ZSBUaXBzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgLSBPZnRlbiwgeW91IGp1c3Qg
bmVlZCB0byBydW4geDExdm5jIGFzIHRoZSB1c2VyIGxvZ2dlZCBpbnRvIHRoZSBYIHNlc3Npb24u
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoFNvIG1ha2Ug
c3VyZSB0byBiZSB0aGF0IHVzZXIgd2hlbiB5b3UgdHlwZSB4MTF2bmMuPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoC0gQmVpbmcgcm9vdCBpcyB1c3VhbGx5IG5v
dCBlbm91Z2ggYmVjYXVzZSB0aGUgaW5jb3JyZWN0IE1JVC1NQUdJQy1DT09LSUU8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgZmlsZSBtYXkgYmUgYWNjZXNz
ZWQuwqAgVGhlIGNvb2tpZSBmaWxlIGNvbnRhaW5zIHRoZSBzZWNyZXQga2V5IHRoYXQ8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgYWxsb3dzIHgxMXZuYyB0
byBjb25uZWN0IHRvIHRoZSBkZXNpcmVkIFggRElTUExBWS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgLSBZb3UgY2FuIGV4cGxpY2l0bHkgaW5kaWNhdGUgd2hp
Y2ggTUlULU1BR0lDLUNPT0tJRSBmaWxlIHNob3VsZCBiZSB1c2VkPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGJ5IHRoZSAtYXV0aCBvcHRpb24sIGUuZy46
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHgx
MXZuYyAtYXV0aCAvaG9tZS9zb21ldXNlci8uWGF1dGhvcml0eSAtZGlzcGxheSA6MDxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB4MTF2bmMgLWF1
dGggL3RtcC8uZ2Rtem5kVmxSIC1kaXNwbGF5IDowPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoHlvdSBtdXN0IGhhdmUgcmVhZCBwZXJtaXNzaW9uIGZvciB0
aGUgYXV0aCBmaWxlLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqBTZWUgYWxzbyAmIzM5Oy1hdXRoIGd1ZXNzJiMzOTsgYW5kICYjMzk7LWZpbmRhdXRoJiMz
OTsgZGlzY3Vzc2VkIGJlbG93Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICoqIElmIE5P
IE9ORSBpcyBsb2dnZWQgaW50byBhbiBYIHNlc3Npb24geWV0LCBidXQgdGhlcmUgaXMgYSBncmVl
dGVyIGxvZ2luPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oHByb2dyYW0gbGlrZSAmcXVvdDtnZG0mcXVvdDssICZxdW90O2tkbSZxdW90OywgJnF1b3Q7eGRt
JnF1b3Q7LCBvciAmcXVvdDtkdGxvZ2luJnF1b3Q7IHJ1bm5pbmcsIHlvdSB3aWxsIG5lZWQ8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdG8gZmluZCBhbmQg
dXNlIHRoZSByYXcgZGlzcGxheSBtYW5hZ2VyIE1JVC1NQUdJQy1DT09LSUUgZmlsZS48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgU29tZSBleGFtcGxlcyBm
b3IgdmFyaW91cyBkaXNwbGF5IG1hbmFnZXJzOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgZ2RtOiDCoCDCoCAtYXV0aCAvdmFyL2dkbS86MC5YYXV0aDxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgLWF1dGgg
L3Zhci9saWIvZ2RtLzowLlhhdXRoPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoGtkbTogwqAgwqAgLWF1dGggL3Zhci9saWIva2RtL0E6MC1jcldrNzI8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgIMKg
IMKgIMKgIC1hdXRoIC92YXIvcnVuL3hhdXRoL0E6MC1jcldrNzI8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgeGRtOiDCoCDCoCAtYXV0aCAvdmFyL2xp
Yi94ZG0vYXV0aGRpci9hdXRoZmlsZXMvQTowLVhRdmFKazxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBkdGxvZ2luOiAtYXV0aCAvdmFyL2R0L0E6MC1V
Z2FhWGE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoFNvbWV0aW1lcyB0aGUgY29t
bWFuZCAmcXVvdDtwcyB3d3d3YXV4IHwgZ3JlcCBhdXRoJnF1b3Q7IGNhbiByZXZlYWwgdGhlIGZp
bGUgbG9jYXRpb24uPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBTdGFydGluZyB3
aXRoIHgxMXZuYyAwLjkuOSB5b3UgY2FuIGhhdmUgaXQgdHJ5IHRvIGd1ZXNzIGJ5IHVzaW5nOjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgIMKgIMKgIMKgIC1hdXRoIGd1
ZXNzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAoc2VlIGFsc28gdGhlIHgxMXZu
YyAtZmluZGF1dGggb3B0aW9uLik8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoE9u
bHkgcm9vdCB3aWxsIGhhdmUgcmVhZCBwZXJtaXNzaW9uIGZvciB0aGUgZmlsZSwgYW5kIHNvIHgx
MXZuYyBtdXN0IGJlIHJ1bjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqBhcyByb290IChvciBjb3B5IGl0KS7CoCBUaGUgcmFuZG9tIGNoYXJhY3RlcnMgaW4g
dGhlIGZpbGVuYW1lcyB3aWxsIG9mIGNvdXJzZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqBjaGFuZ2UgYW5kIHRoZSBkaXJlY3RvcnkgdGhlIGNvb2tpZSBm
aWxlIHJlc2lkZXMgaW4gaXMgc3lzdGVtIGRlcGVuZGVudC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyBTZWUgYWxzbzogPGEgaHJlZj0iaHR0cDovL3d3dy5rYXJscnVuZ2UuY29tL3gxMXZu
Yy9mYXEuaHRtbCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL3d3dy5r
YXJscnVuZ2UuY29tL3gxMXZuYy9mYXEuaHRtbDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyBSZWdhcmRzLDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
VmlwdWwgS3VtYXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBPbiBUaHUsIE5vdiAzLCAy
MDIyIGF0IDEwOjI3IFBNIFZpcHVsIFN1bmVqYSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnZzdW5lamE2
M0BnbWFpbC5jb20iIHRhcmdldD0iX2JsYW5rIj52c3VuZWphNjNAZ21haWwuY29tPC9hPiZndDsg
d3JvdGU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgSGkgU3RlZmFubyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IFRoYW5rcyE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJIHVzZWQgeGVuLWd1ZXN0LWlt
YWdlLW1pbmltYWwoc2ltcGxlIGNvbnNvbGUgYmFzZWQgaW1hZ2UpIGFzIGEgZ3Vlc3Qgd2l0aCBm
YmNvbiAmYW1wOzxicj4NCiZndDvCoCDCoCDCoCDCoGZiZGV2PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgZW5hYmxlZCBpbjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoGtlcm5lbDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGNvbmZpZ3Vy
YXRpb25zIGJ1dDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHN0aWxsPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB0aGUgc2FtZSBlcnJvciBj
YW4mIzM5O3Qgb3BlbiB0aGUgZGlzcGxheS48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IGJlbG93IGFyZSB0aGUgb3V0Y29tZSBvZiAmcXVvdDt4ZW5zdG9yZS1scyZx
dW90Ozo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDp+
L2d1ZXN0MSMgeGVuc3RvcmUtbHM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IHRvb2wgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgeGVuc3RvcmVkID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBsb2NhbCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqBkb21haW4gPSAmcXVvdDsmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIDAgPSAmcXVvdDsm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgY29u
dHJvbCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgZmVhdHVyZS1wb3dlcm9mZiA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIGZlYXR1cmUtcmVib290ID0gJnF1
b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqBkb21pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgbmFtZSA9ICZxdW90O0RvbWFpbi0wJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRldmljZS1tb2RlbCA9ICZxdW90OyZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMCA9
ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqBiYWNrZW5kcyA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgY29uc29sZSA9ICZxdW90OyZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmtiZCA9ICZxdW90
OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqAgdmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCBxbmljID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7cnVubmluZyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMSA9ICZx
dW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqBiYWNrZW5kcyA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgY29uc29sZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmtiZCA9ICZxdW90OyZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
dmZiID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCBxbmljID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7cnVubmluZyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBiYWNrZW5kID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCB2YmQgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgMSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgNTE3MTIgPSAmcXVvdDsmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJvbnRlbmQg
PSAmcXVvdDsvbG9jYWwvZG9tYWluLzEvZGV2aWNlL3ZiZC81MTcxMiZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBwYXJhbXMgPSAmcXVv
dDsvaG9tZS9yb290L2d1ZXN0Mi94ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbC1yYXNwYmVycnlwaTQt
NjQuZXh0MyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqBzY3JpcHQgPSAmcXVvdDsvZXRjL3hlbi9zY3JpcHRzL2Jsb2NrJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250
ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHJlbW92YWJsZSA9ICZxdW90
OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgYm9vdGFibGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBkZXYgPSAmcXVv
dDt4dmRhJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoCDCoHR5cGUgPSAmcXVvdDtwaHkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgbW9kZSA9ICZxdW90O3cmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZGV2aWNlLXR5
cGUgPSAmcXVvdDtkaXNrJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCDCoGRpc2NhcmQtZW5hYmxlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLW1h
eC1pbmRpcmVjdC1zZWdtZW50cyA9ICZxdW90OzI1NiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBtdWx0aS1xdWV1ZS1tYXgtcXVldWVz
ID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqAgwqBtYXgtcmluZy1wYWdlLW9yZGVyID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBub2RlID0gJnF1
b3Q7L2Rldi9sb29wMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgwqBwaHlzaWNhbC1kZXZpY2UgPSAmcXVvdDs3OjAmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcGh5c2ljYWwt
ZGV2aWNlLXBhdGggPSAmcXVvdDsvZGV2L2xvb3AwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7
Y29ubmVjdGVkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCDCoGZlYXR1cmUtZmx1c2gtY2FjaGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGRpc2NhcmQtZ3Jh
bnVsYXJpdHkgPSAmcXVvdDs0MDk2JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGRpc2NhcmQtYWxpZ25tZW50ID0gJnF1b3Q7MCZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBk
aXNjYXJkLXNlY3VyZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1kaXNjYXJkID0gJnF1b3Q7MSZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBm
ZWF0dXJlLWJhcnJpZXIgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtcGVyc2lzdGVudCA9ICZxdW90OzEm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IMKgc2VjdG9ycyA9ICZxdW90OzE3OTQwNDgmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgaW5mbyA9ICZxdW90OzAmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgc2VjdG9yLXNp
emUgPSAmcXVvdDs1MTImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIMKgcGh5c2ljYWwtc2VjdG9yLXNpemUgPSAmcXVvdDs1MTImcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHZmYiA9ICZx
dW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2Rv
bWFpbi8xL2RldmljZS92ZmIvMCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmcm9udGVuZC1pZCA9ICZxdW90OzEmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgb25saW5lID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqBzdGF0ZSA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdm5jID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB2bmNsaXN0ZW4g
PSAmcXVvdDsxMjcuMC4wLjEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdm5jZGlzcGxheSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdm5jdW51c2VkID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgwqBzZGwgPSAmcXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoG9wZW5nbCA9ICZxdW90OzAmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1y
ZXNpemUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCDCoGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoHJl
cXVlc3QtdXBkYXRlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCAwID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8xL2RldmljZS92a2JkLzAmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJv
bnRlbmQtaWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoCDCoG9ubGluZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgc3RhdGUgPSAmcXVvdDs0
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oCDCoGZlYXR1cmUtYWJzLXBvaW50ZXIgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtcmF3LXBvaW50ZXIg
PSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoCDCoGhvdHBsdWctc3RhdHVzID0gJnF1b3Q7Y29ubmVjdGVkJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBjb25zb2xlID0gJnF1
b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoDEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9t
YWluLzEvY29uc29sZSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgwqBmcm9udGVuZC1pZCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgb25saW5lID0gJnF1b3Q7
MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqAgwqBzdGF0ZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcHJvdG9jb2wgPSAmcXVvdDt2dDEwMCZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmlmID0gJnF1b3Q7
JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDC
oDEgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWlu
LzEvZGV2aWNlL3ZpZi8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBvbmxpbmUgPSAmcXVv
dDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCDCoHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBzY3JpcHQgPSAmcXVvdDsvZXRjL3hlbi9zY3JpcHRz
L3ZpZi1icmlkZ2UmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIMKgbWFjID0gJnF1b3Q7ZTQ6NWY6MDE6Y2Q6N2I6ZGQmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgYnJpZGdlID0g
JnF1b3Q7eGVuYnIwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoGhhbmRsZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgdHlwZSA9ICZxdW90O3ZpZiZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBo
b3RwbHVnLXN0YXR1cyA9ICZxdW90O2Nvbm5lY3RlZCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLXNnID0gJnF1b3Q7MSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
wqBmZWF0dXJlLWdzby10Y3B2NCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1nc28tdGNwdjYgPSAmcXVv
dDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCDCoGZlYXR1cmUtaXB2Ni1jc3VtLW9mZmxvYWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1cmUtcngt
Y29weSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS14ZHAtaGVhZHJvb20gPSAmcXVvdDsxJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGZlYXR1
cmUtcngtZmxpcCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZmVhdHVyZS1tdWx0aWNhc3QtY29udHJvbCA9ICZxdW90
OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgZmVhdHVyZS1keW5hbWljLW11bHRpY2FzdC1jb250cm9sID0gJnF1b3Q7MSZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBmZWF0
dXJlLXNwbGl0LWV2ZW50LWNoYW5uZWxzID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqBtdWx0aS1xdWV1ZS1tYXgtcXVl
dWVzID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqAgwqBmZWF0dXJlLWN0cmwtcmluZyA9ICZxdW90OzEmcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIDEgPSAmcXVvdDsmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdm0gPSAmcXVv
dDsvdm0vZDgxZWM1YTktNWJmOS00ZjJiLTg5ZTgtMGY2MGQ2ZGE5NDhmJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoG5hbWUgPSAmcXVvdDtndWVz
dDImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
Y3B1ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoGF2YWlsYWJpbGl0eSA9ICZxdW90O29ubGluZSZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMSA9ICZxdW90
OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAg
wqBhdmFpbGFiaWxpdHkgPSAmcXVvdDtvbmxpbmUmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgbWVtb3J5ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBzdGF0aWMtbWF4ID0gJnF1
b3Q7MjA5NzE1MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgdGFyZ2V0ID0gJnF1b3Q7MjA5NzE1MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmlkZW9yYW0gPSAmcXVvdDswJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRldmljZSA9ICZx
dW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgc3VzcGVuZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqBldmVudC1jaGFubmVsID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCB2YmQgPSAmcXVvdDsmcXVv
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgNTE3
MTIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzAvYmFja2VuZC92YmQv
MS81MTcxMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqAgYmFja2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgdmlydHVhbC1k
ZXZpY2UgPSAmcXVvdDs1MTcxMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgwqAgZGV2aWNlLXR5cGUgPSAmcXVvdDtkaXNrJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBtdWx0aS1xdWV1
ZS1udW0tcXVldWVzID0gJnF1b3Q7MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgcXVldWUtMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqByaW5nLXJlZiA9ICZx
dW90OzgmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIMKgZXZlbnQtY2hhbm5lbCA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHF1ZXVlLTEgPSAmcXVvdDsmcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgcmlu
Zy1yZWYgPSAmcXVvdDs5JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCDCoCDCoGV2ZW50LWNoYW5uZWwgPSAmcXVvdDs1JnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBwcm90b2NvbCA9ICZx
dW90O2FybS1hYmkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIGZlYXR1cmUtcGVyc2lzdGVudCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHZmYiA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAwID0g
JnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoCBiYWNrZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8wL2JhY2tlbmQvdmZiLzEvMCZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
YmFja2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHN0YXRlID0gJnF1b3Q7NCZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgcGFnZS1yZWYgPSAmcXVvdDsy
NzUwMjImcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIGV2ZW50LWNoYW5uZWwgPSAmcXVvdDszJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBwcm90b2NvbCA9ICZxdW90O2FybS1hYmkm
cXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKg
IGZlYXR1cmUtdXBkYXRlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdmtiZCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAwID0gJnF1b3Q7JnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBiYWNrZW5k
ID0gJnF1b3Q7L2xvY2FsL2RvbWFpbi8wL2JhY2tlbmQvdmtiZC8xLzAmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGJhY2tlbmQtaWQgPSAm
cXVvdDswJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDC
oCDCoCDCoCBzdGF0ZSA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIHJlcXVlc3QtYWJzLXBvaW50ZXIgPSAmcXVvdDsxJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBw
YWdlLXJlZiA9ICZxdW90OzI3NTMyMiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgcGFnZS1ncmVmID0gJnF1b3Q7MTI4NCZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgZXZlbnQtY2hh
bm5lbCA9ICZxdW90OzEwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyDCoCDCoCB2aWYgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgYmFja2VuZCA9ICZxdW90Oy9s
b2NhbC9kb21haW4vMC9iYWNrZW5kL3ZpZi8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGJhY2tlbmQtaWQgPSAmcXVvdDswJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBzdGF0
ZSA9ICZxdW90OzQmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIGhhbmRsZSA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIG1hYyA9ICZxdW90O2U0OjVmOjAxOmNkOjdi
OmRkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCBtdHUgPSAmcXVvdDsxNTAwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoCB4ZHAtaGVhZHJvb20gPSAmcXVvdDswJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBtdWx0aS1xdWV1
ZS1udW0tcXVldWVzID0gJnF1b3Q7MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgcXVldWUtMCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqB0eC1yaW5nLXJlZiA9
ICZxdW90OzEyODAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgIMKgcngtcmluZy1yZWYgPSAmcXVvdDsxMjgxJnF1b3Q7PGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCDCoGV2ZW50LWNoYW5uZWwt
dHggPSAmcXVvdDs2JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0OyDCoCDCoCDCoCDCoGV2ZW50LWNoYW5uZWwtcnggPSAmcXVvdDs3JnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBxdWV1ZS0xID0gJnF1
b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCDCoCDCoHR4LXJpbmctcmVmID0gJnF1b3Q7MTI4MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAgwqByeC1yaW5nLXJlZiA9ICZxdW90OzEy
ODMmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgIMKgZXZlbnQtY2hhbm5lbC10eCA9ICZxdW90OzgmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIMKgZXZlbnQtY2hhbm5lbC1yeCA9ICZx
dW90OzkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIMKgIHJlcXVlc3QtcngtY29weSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtcngtbm90aWZ5ID0gJnF1
b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAg
wqAgwqAgZmVhdHVyZS1zZyA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgIGZlYXR1cmUtZ3NvLXRjcHY0ID0gJnF1b3Q7MSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqAg
ZmVhdHVyZS1nc28tdGNwdjYgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoCBmZWF0dXJlLWlwdjYtY3N1bS1vZmZsb2FkID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqBjb250cm9sID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCBzaHV0ZG93biA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgZmVhdHVyZS1wb3dlcm9mZiA9ICZx
dW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIGZlYXR1cmUtcmVib290ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgZmVhdHVyZS1zdXNwZW5kID0gJnF1b3Q7JnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCBzeXNycSA9
ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgcGxhdGZvcm0tZmVhdHVyZS1tdWx0aXByb2Nlc3Nvci1zdXNwZW5kID0gJnF1b3Q7MSZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgcGxh
dGZvcm0tZmVhdHVyZS14c19yZXNldF93YXRjaGVzID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBkYXRhID0gJnF1b3Q7JnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRyaXZlcnMg
PSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgZmVhdHVyZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDsgwqAgwqBhdHRyID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGVycm9yID0gJnF1b3Q7JnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGRvbWlkID0gJnF1b3Q7
MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqBz
dG9yZSA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgcG9ydCA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHJpbmctcmVmID0gJnF1b3Q7MjMzNDczJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoGNvbnNvbGUgPSAm
cXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKg
IMKgIGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzAvYmFja2VuZC9jb25zb2xlLzEvMCZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgYmFj
a2VuZC1pZCA9ICZxdW90OzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIGxpbWl0ID0gJnF1b3Q7MTA0ODU3NiZxdW90Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdHlwZSA9ICZxdW90O3hlbmNvbnNv
bGVkJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDC
oCBvdXRwdXQgPSAmcXVvdDtwdHkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIHR0eSA9ICZxdW90Oy9kZXYvcHRzLzEmcXVvdDs8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIHBvcnQgPSAmcXVvdDsyJnF1
b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCByaW5n
LXJlZiA9ICZxdW90OzIzMzQ3MiZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgwqAgwqAgdm5jLWxpc3RlbiA9ICZxdW90OzEyNy4wLjAuMSZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgdm5jLXBvcnQgPSAm
cXVvdDs1OTAwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoGltYWdlID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCBkZXZpY2UtbW9kZWwtcGlkID0gJnF1b3Q7Nzg4JnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB2bSA9ICZxdW90OyZxdW90
Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqBkODFlYzVhOS01
YmY5LTRmMmItODllOC0wZjYwZDZkYTk0OGYgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIG5hbWUgPSAmcXVvdDtndWVzdDImcXVvdDs8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIHV1aWQgPSAmcXVv
dDtkODFlYzVhOS01YmY5LTRmMmItODllOC0wZjYwZDZkYTk0OGYmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIHN0YXJ0X3RpbWUgPSAmcXVvdDsxNTIw
NjAwMjc0LjI3JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyBsaWJ4bCA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgwqAxID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCBkZXZpY2UgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgdmJkID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCA1MTcxMiA9ICZxdW90OyZx
dW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBm
cm9udGVuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMS9kZXZpY2UvdmJkLzUxNzEyJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGJhY2tlbmQg
PSAmcXVvdDsvbG9jYWwvZG9tYWluLzAvYmFja2VuZC92YmQvMS81MTcxMiZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBwYXJhbXMgPSAmcXVv
dDsvaG9tZS9yb290L2d1ZXN0Mi94ZW4tZ3Vlc3QtaW1hZ2UtbWluaW1hbC1yYXNwYmVycnlwaTQt
NjQuZXh0MyZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqBzY3JpcHQgPSAmcXVvdDsvZXRjL3hlbi9zY3JpcHRzL2Jsb2NrJnF1b3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kLWlk
ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHJlbW92YWJsZSA9ICZxdW90OzAmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgYm9vdGFibGUg
PSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoHN0YXRlID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBkZXYgPSAmcXVvdDt4dmRhJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHR5cGUgPSAmcXVvdDtw
aHkmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKg
IMKgbW9kZSA9ICZxdW90O3cmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgZGV2aWNlLXR5cGUgPSAmcXVvdDtkaXNrJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGRpc2NhcmQtZW5hYmxl
ID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDsgwqAgwqB2ZmIgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7IMKgIMKgIDAgPSAmcXVvdDsmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZnJvbnRlbmQgPSAmcXVvdDsvbG9jYWwvZG9t
YWluLzEvZGV2aWNlL3ZmYi8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCDCoGJhY2tlbmQgPSAmcXVvdDsvbG9jYWwvZG9tYWluLzAvYmFja2Vu
ZC92ZmIvMS8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqB2bmMgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCDCoHZuY2xpc3RlbiA9ICZxdW90OzEyNy4wLjAuMSZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB2bmNkaXNw
bGF5ID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqB2bmN1bnVzZWQgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHNkbCA9ICZxdW90OzAmcXVvdDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgb3BlbmdsID0g
JnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqB2a2JkID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2RvbWFp
bi8xL2RldmljZS92a2JkLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7IMKgIMKgIMKgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5k
L3ZrYmQvMS8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqBjb25zb2xlID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCDCoCAwID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGZyb250ZW5kID0gJnF1b3Q7L2xvY2FsL2Rv
bWFpbi8xL2NvbnNvbGUmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IMKgIMKgIMKgYmFja2VuZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMC9iYWNrZW5kL2Nv
bnNvbGUvMS8wJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCDCoCDCoGZyb250ZW5kLWlkID0gJnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBvbmxpbmUgPSAmcXVvdDsxJnF1b3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHN0YXRlID0g
JnF1b3Q7MSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
wqAgwqAgwqBwcm90b2NvbCA9ICZxdW90O3Z0MTAwJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoHZpZiA9ICZxdW90OyZxdW90Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgMCA9ICZxdW90OyZxdW90Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBmcm9udGVu
ZCA9ICZxdW90Oy9sb2NhbC9kb21haW4vMS9kZXZpY2UvdmlmLzAmcXVvdDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgYmFja2VuZCA9ICZxdW90Oy9s
b2NhbC9kb21haW4vMC9iYWNrZW5kL3ZpZi8xLzAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgIMKgIMKgZnJvbnRlbmQtaWQgPSAmcXVvdDsxJnF1b3Q7
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoG9ubGlu
ZSA9ICZxdW90OzEmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7IMKgIMKgIMKgc3RhdGUgPSAmcXVvdDsxJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoHNjcmlwdCA9ICZxdW90Oy9ldGMveGVuL3Njcmlw
dHMvdmlmLWJyaWRnZSZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDsgwqAgwqAgwqBtYWMgPSAmcXVvdDtlNDo1ZjowMTpjZDo3YjpkZCZxdW90Ozxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqBicmlkZ2UgPSAmcXVv
dDt4ZW5icjAmcXVvdDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IMKgIMKgIMKgaGFuZGxlID0gJnF1b3Q7MCZxdW90Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgwqAgwqAgwqB0eXBlID0gJnF1b3Q7dmlmJnF1b3Q7PGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoCDCoCDCoGhvdHBsdWctc3RhdHVz
ID0gJnF1b3Q7JnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyDCoCB0eXBlID0gJnF1b3Q7cHZoJnF1b3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoCBkbS12ZXJzaW9uID0gJnF1b3Q7cWVtdV94ZW4mcXVvdDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHJvb3RAcmFzcGJlcnJ5cGk0LTY0
On4vZ3Vlc3QxIzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFueSBpbnB1dCBhcyBwZXIg
YWJvdmU/IExvb2tpbmcgZm9yd2FyZCB0byBoZWFyaW5nIGZyb20geW91Ljxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIFdl
ZCwgT2N0IDI2LCAyMDIyIGF0IDU6MjEgQU0gU3RlZmFubyBTdGFiZWxsaW5pICZsdDs8YSBocmVm
PSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnNzdGFiZWxs
aW5pQGtlcm5lbC5vcmc8L2E+Jmd0OyB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBIaSBWaXB1bCw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgSWYgeW91IGxvb2sgYXQgdGhlIFFFTVUgbG9ncywgaXQgc2F5czo8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgVk5DIHNlcnZlciBydW5uaW5n
IG9uIDxhIGhyZWY9Imh0dHA6Ly8xMjcuMC4wLjE6NTkwMCIgcmVsPSJub3JlZmVycmVyIiB0YXJn
ZXQ9Il9ibGFuayI+MTI3LjAuMC4xOjU5MDA8L2E+PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoFRoYXQgaXMgdGhlIFZOQyBzZXJ2ZXIgeW91IG5lZWQgdG8gY29ubmVjdCB0
by4gU28gaW4gdGhlb3J5Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqDC
oCB2bmN2aWV3ZXIgPGEgaHJlZj0iaHR0cDovLzEyNy4wLjAuMTo1OTAwIiByZWw9Im5vcmVmZXJy
ZXIiIHRhcmdldD0iX2JsYW5rIj4xMjcuMC4wLjE6NTkwMDwvYT48YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgc2hvdWxkIHdvcmsgY29ycmVjdGx5Ljxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgSWYgeW91IGhhdmU6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoMKgIHZmYiA9IFsmcXVvdDt0eXBlPXZuYyZxdW90O108YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgaW4geW91ciB4bCBjb25maWcgZmlsZSBhbmQgeW91IGhhdmUg
JnF1b3Q7ZmJkZXYmcXVvdDsgaW4geW91ciBMaW51eCBndWVzdCwgaXQ8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBzaG91bGQgd29yay48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgSWYgeW91IGNvbm5lY3QgdG8gdGhlIFZO
QyBzZXJ2ZXIgYnV0IHlvdSBnZXQgYSBibGFjayBzY3JlZW4sIGl0IG1pZ2h0IGJlPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYSBndWVzdCBjb25m
aWd1cmF0aW9uIGlzc3VlLiBJIHdvdWxkIHRyeSB3aXRoIGEgc2ltcGxlciBndWVzdCwgdGV4dCBv
bmx5PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
KG5vIFgxMSwgbm8gV2F5bGFuZCkgYW5kIGVuYWJsZSB0aGUgZmJkZXYgY29uc29sZSAoZmJjb24p
LiBTZWU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBEb2N1bWVudGF0aW9uL2ZiL2ZiY29uLnJzdCBpbiBMaW51eC4gWW91IHNob3VsZCBiZSBhYmxl
IHRvIHNlZSBhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgZ3JhcGhpY2FsIGNvbnNvbGUgb3ZlciBWTkMuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoElmIHRoYXQgd29ya3MsIHRoZW4geW91IGtub3cgdGhhdCB0aGUgZmJk
ZXYga2VybmVsIGRyaXZlciAoeGVuLWZiZnJvbnQpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgd29ya3MgY29ycmVjdGx5Ljxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJZiBpdCBkb2VzbiYjMzk7dCB3b3JrLCB0aGUgb3V0
cHV0IG9mICZxdW90O3hlbnN0b3JlLWxzJnF1b3Q7IHdvdWxkIGJlIGludGVyZXN0aW5nLjxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBDaGVlcnMsPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFN0ZWZhbm88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oE9uIFdlZCwgMTkgT2N0IDIwMjIsIFZpcHVsIFN1bmVqYSB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEhpIFN0ZWZhbm8sPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
VGhhbmtzIGZvciB0aGUgcmVzcG9uc2UhPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSSBhbSBmb2xsb3dpbmcgdGhlIHNhbWUgbGluayB5
b3Ugc2hhcmVkIGZyb20gdGhlIGJlZ2lubmluZy4gVHJpZWQgdGhlIGNvbW1hbmQ8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmcXVvdDt2bmN2aWV3ZXI8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBsb2NhbGhvc3Q6MCZxdW90Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoGluIERPTTA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBidXQ8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqBzYW1lPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgaXNzdWUgJnF1b3Q7Q2FuJiMzOTt0IG9wZW48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGRpc3BsYXkm
cXVvdDssIGJlbG93IGFyZSB0aGUgbG9nczo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDp+IyB2bmN2
aWV3ZXIgbG9jYWxob3N0OjA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyBUaWdlclZOQyBWaWV3ZXIgNjQtYml0IHYxLjExLjA8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEJ1aWx0
IG9uOiAyMDIwLTA5LTA4IDEyOjE2PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBDb3B5cmlnaHQgKEMpIDE5OTktMjAyMCBUaWdlclZOQyBU
ZWFtIGFuZCBtYW55IG90aGVycyAoc2VlIFJFQURNRS5yc3QpPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBTZWUgPGEgaHJlZj0iaHR0cHM6
Ly93d3cudGlnZXJ2bmMub3JnIiByZWw9Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRw
czovL3d3dy50aWdlcnZuYy5vcmc8L2E+IGZvciBpbmZvcm1hdGlvbiBvbiBUaWdlclZOQy48YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IENh
biYjMzk7dCBvcGVuIGRpc3BsYXk6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgQmVsb3cgYXJlIHRoZSBuZXRzdGF0IGxvZ3MsIGkgY291
bGRuJiMzOTt0IHNlZSBhbnl0aGluZyBydW5uaW5nIGF0IHBvcnQgNTkwMCBvcjxicj4NCiZndDvC
oCDCoCDCoCDCoDU5MDE6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVycnlwaTQtNjQ6fiMgbmV0c3RhdCAtdHV3eDxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
QWN0aXZlIEludGVybmV0IGNvbm5lY3Rpb25zICh3L28gc2VydmVycyk8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFByb3RvIFJlY3YtUSBT
ZW5kLVEgTG9jYWwgQWRkcmVzcyDCoCDCoCDCoCDCoCDCoCBGb3JlaWduIEFkZHJlc3MgwqAgwqAg
wqAgwqAgU3RhdGUgwqAgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqDCoDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdGNwIMKgIMKgIMKgIMKg
MCDCoCDCoDE2NCAxOTIuMTY4LjEuMzk6c3NoIMKgIMKgIMKgIMKgPGEgaHJlZj0iaHR0cDovLzE5
Mi4xNjguMS4zODozNzQ3MiIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+MTkyLjE2
OC4xLjM4OjM3NDcyPC9hPiDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDCoMKgRVNUQUJMSVNIRUQ8
YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
IEFjdGl2ZSBVTklYIGRvbWFpbiBzb2NrZXRzICh3L28gc2VydmVycyk8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFByb3RvIFJlZkNudCBG
bGFncyDCoCDCoCDCoCBUeXBlIMKgIMKgIMKgIFN0YXRlIMKgIMKgIMKgIMKgIEktTm9kZSBQYXRo
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
OyB1bml4IMKgOCDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBER1JBTSDCoCDCoCDCoENPTk5FQ1RF
RCDCoCDCoCDCoDEwNTY1IC9kZXYvbG9nPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDC
oCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA4OTE8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAvdmFyL3J1bi94ZW5zdG9yZWQvc29ja2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDC
oCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTM3OTE8YnI+DQomZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKg
IMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMDg0Mzxi
cj4NCiZndDvCoCDCoCDCoCDCoC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKg
IMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMDU3
Mzxicj4NCiZndDvCoCDCoCDCoCDCoC92YXIvcnVuL3hlbnN0b3JlZC9zb2NrZXQ8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAy
IMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKg
MTQ1MTA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05O
RUNURUQgwqAgwqAgwqAxMzI0OTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDIgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgREdS
QU0gwqAgwqAgwqBDT05ORUNURUQgwqAgwqAgwqAxMzg4Nzxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDIgwqAgwqAgwqBbIF0g
wqAgwqAgwqAgwqAgREdSQU0gwqAgwqAgwqBDT05ORUNURUQgwqAgwqAgwqAxMDU5OTxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDC
oDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDC
oDE0MDA1PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09O
TkVDVEVEIMKgIMKgIMKgMTMyNTg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNU
UkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAgwqAxMzI0ODxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0g
wqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDE0MDAzPGJyPg0KJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKg
MyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKg
MTA1NzI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAvdmFyL3J1bi94ZW5zdG9yZWQvc29ja2V0PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4
IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKg
IMKgMTA3ODY8YnI+DQomZ3Q7wqAgwqAgwqAgwqAvdmFyL3J1bi94ZW5zdG9yZWQvc29ja2V0PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1
bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBER1JBTSDCoCDCoCDCoENPTk5FQ1RFRCDC
oCDCoCDCoDEzMTg2PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAg
wqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA4NjQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAvdmFyL3J1bi94
ZW5zdG9yZWQvc29ja2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBTVFJFQU0g
wqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA4MTI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAvdmFyL3J1
bi94ZW5zdG9yZWQvc29ja2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMiDCoCDCoCDCoFsgXSDCoCDCoCDCoCDCoCBER1JB
TSDCoCDCoCDCoENPTk5FQ1RFRCDCoCDCoCDCoDE0MDgzPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDC
oCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTA4MTM8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAvdmFyL3J1bi94ZW5zdG9yZWQvc29ja2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsg
XSDCoCDCoCDCoCDCoCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTQwNjg8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXgg
wqAzIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAgwqAg
wqAxMzI1Njxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENP
Tk5FQ1RFRCDCoCDCoCDCoDEwNTcxPGJyPg0KJmd0O8KgIMKgIMKgIMKgL3Zhci9ydW4veGVuc3Rv
cmVkL3NvY2tldDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKg
IENPTk5FQ1RFRCDCoCDCoCDCoDEwODQyPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyB1bml4IMKgMyDCoCDCoCDCoFsgXSDCoCDCoCDCoCDC
oCBTVFJFQU0gwqAgwqAgQ09OTkVDVEVEIMKgIMKgIMKgMTM5ODU8YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVuaXggwqAzIMKgIMKgIMKg
WyBdIMKgIMKgIMKgIMKgIERHUkFNIMKgIMKgIMKgQ09OTkVDVEVEIMKgIMKgIMKgMTMxODU8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IHVu
aXggwqAyIMKgIMKgIMKgWyBdIMKgIMKgIMKgIMKgIFNUUkVBTSDCoCDCoCBDT05ORUNURUQgwqAg
wqAgwqAxMzg4NDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgdW5peCDCoDIgwqAgwqAgwqBbIF0gwqAgwqAgwqAgwqAgREdSQU0gwqAgwqAg
wqBDT05ORUNURUQgwqAgwqAgwqAxNDUyODxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDIgwqAgwqAgwqBbIF0gwqAgwqAgwqAg
wqAgREdSQU0gwqAgwqAgwqBDT05ORUNURUQgwqAgwqAgwqAxMzc4NTxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgdW5peCDCoDMgwqAgwqAg
wqBbIF0gwqAgwqAgwqAgwqAgU1RSRUFNIMKgIMKgIENPTk5FQ1RFRCDCoCDCoCDCoDE0MDM0PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsg
QXR0YWNoaW5nIHhlbiBsb2cgZmlsZXMgb2YgL3Zhci9sb2cveGVuLjxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSSBkaWRuJiMzOTt0IGdl
dCB0aGUgcm9sZSBvZiBRRU1VIGhlcmUgYmVjYXVzZSBhcyBtZW50aW9uZWQgZWFybGllciwgSSBh
bSBwb3J0aW5nPGJyPg0KJmd0O8KgIMKgIMKgIMKgaW48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqByYXNwYmVycnlwaTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoDRCLjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IE9uIFdlZCwgT2N0
IDE5LCAyMDIyIGF0IDEyOjQzIEFNIFN0ZWZhbm8gU3RhYmVsbGluaSAmbHQ7PGEgaHJlZj0ibWFp
bHRvOnNzdGFiZWxsaW5pQGtlcm5lbC5vcmciIHRhcmdldD0iX2JsYW5rIj5zc3RhYmVsbGluaUBr
ZXJuZWwub3JnPC9hPiZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqB3cm90ZTo8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBJ
dCB1c3VhbGx5IHdvcmtzIHRoZSB3YXkgaXQgaXMgZGVzY3JpYmVkIGluIHRoZSBndWlkZTo8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgPGJyPg0KJmd0O8KgIMKgIMKgIMKgwqDCoMKg
wqDCoMKgwqA8YSBocmVmPSJodHRwczovL3d3dy52aXJ0dWF0b3BpYS5jb20vaW5kZXgucGhwP3Rp
dGxlPUNvbmZpZ3VyaW5nX2FfVk5DX2Jhc2VkX0dyYXBoaWNhbF9Db25zb2xlX2Zvcl9hX1hlbl9Q
YXJhdmlydHVhbGl6ZWRfZG9tYWluVV9HdWVzdCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9i
bGFuayI+aHR0cHM6Ly93d3cudmlydHVhdG9waWEuY29tL2luZGV4LnBocD90aXRsZT1Db25maWd1
cmluZ19hX1ZOQ19iYXNlZF9HcmFwaGljYWxfQ29uc29sZV9mb3JfYV9YZW5fUGFyYXZpcnR1YWxp
emVkX2RvbWFpblVfR3Vlc3Q8L2E+PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoFlvdSBkb24mIzM5O3QgbmVlZCB0byBp
bnN0YWxsIGFueSBWTkMtcmVsYXRlZCBzZXJ2ZXIgc29mdHdhcmUgYmVjYXVzZSBpdCBpczxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoGFscmVhZHkgcHJvdmlkZWQgYnkgWGVuICh0byBiZSBwcmVjaXNlIGl0IGlzIHByb3Zp
ZGVkIGJ5IFFFTVUgd29ya2luZzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHRvZ2V0aGVyIHdpdGggWGVuLik8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgWW91IG9ubHkgbmVlZCB0aGUgdm5jIGNsaWVudCBpbiBkb20wIHNvIHRoYXQgeW91IGNh
biBjb25uZWN0LCBidXQgeW91PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgY291bGQgYWxzbyBydW4gdGhlIHZuYyBjbGll
bnQgb3V0c2lkZSBmcm9tIGFub3RoZXIgaG9zdC4gU28gYmFzaWNhbGx5PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgdGhl
IGZvbGxvd2luZyBzaG91bGQgd29yayB3aGVuIGV4ZWN1dGVkIGluIERvbTAgYWZ0ZXIgY3JlYXRp
bmcgRG9tVTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgwqAgdm5jdmlld2VyIGxvY2FsaG9zdDowPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oENhbiB5b3UgYXR0YWNoIHRoZSBYZW4gYW5kIFFFTVUgbG9ncyAoL3Zhci9sb2cveGVuLyopPyBB
bmQgYWxzbyB1c2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBuZXRzdGF0IC10YXVucCB0byBjaGVjayBpZiB0aGVyZSBp
cyBhbnl0aGluZyBydW5uaW5nIGF0IHBvcnQgNTkwMCBvcjxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoDU5MDE/PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoENoZWVycyw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgU3RlZmFubzxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgT24gVHVlLCAx
OCBPY3QgMjAyMiwgVmlwdWwgU3VuZWphIHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgSGkgU3RlZmFu
byw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBUaGFua3MgZm9yIHRoZSByZXNwb25z
ZSE8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJIGNvdWxkIGluc3RhbGwgdGlnZXJW
TkMsIHgxMXZuYyAmYW1wOyBsaWJ2bmNzZXJ2ZXIgaW4gRG9tMDxicj4NCiZndDvCoCDCoCDCoCDC
oHhlbi1pbWFnZS1taW5pbWFsIGJ1dDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oG9ubHk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBt
YW5hZ2UgdG88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqBpbnN0YWxsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgbGlidm5jc2VydmVyKGNvdWxkbiYjMzk7dDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oGluc3RhbGwgdGlnZXJ2bmM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7ICZhbXA7IHgxMXZuYyBiZWNhdXNlIG9m
IHgxMTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgc3VwcG9ydCBtaXNzaW5nLCBpdCYjMzk7cyB3YXlsYW5kKSBp
biBET01VIGN1c3RvbSBncmFwaGljYWwgaW1hZ2UuIEk8YnI+DQomZ3Q7wqAgwqAgwqAgwqB0cmll
ZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHJ1bm5pbmc8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB2bmN2aWV3ZXIgd2l0aDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoElQPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYWRkcmVzcyAmYW1wOzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHBvcnQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBpbiBkb20wIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYWNjZXNzIHRo
ZSBkb211PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBncmFwaGljYWwgaW1hZ2UgZGlzcGxheSBhcyBwZXIgYmVs
b3cgY29tbWFuZHMuPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgwqB2bmN2aWV3
ZXIgPGEgaHJlZj0iaHR0cDovLzE5Mi4xNjguMS40Mjo1OTAxIiByZWw9Im5vcmVmZXJyZXIiIHRh
cmdldD0iX2JsYW5rIj4xOTIuMTY4LjEuNDI6NTkwMTwvYT48YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyDCoEJ1dCBpdCBzaG93aW5nIGNhbiYjMzk7dCBvcGVuIGRpc3BsYXksIGJl
bG93IGFyZSB0aGUgbG9nczo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IMKgPGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290
QHJhc3BiZXJyeXBpNC02NDp+L2d1ZXN0MSMgdm5jdmlld2VyIDxhIGhyZWY9Imh0dHA6Ly8xOTIu
MTY4LjEuNDI6NTkwMSIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFuayI+MTkyLjE2OC4x
LjQyOjU5MDE8L2E+PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVGlnZXJWTkMgVmll
d2VyIDY0LWJpdCB2MS4xMS4wPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBCdWlsdCBvbjogMjAyMC0wOS0wOCAx
MjoxNjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgQ29weXJpZ2h0IChDKSAxOTk5LTIwMjAgVGlnZXJWTkMgVGVh
bSBhbmQgbWFueSBvdGhlcnMgKHNlZTxicj4NCiZndDvCoCDCoCDCoCDCoFJFQURNRS5yc3QpPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyBTZWUgPGEgaHJlZj0iaHR0cHM6Ly93d3cudGlnZXJ2bmMub3JnIiByZWw9
Im5vcmVmZXJyZXIiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL3d3dy50aWdlcnZuYy5vcmc8L2E+
IGZvciBpbmZvcm1hdGlvbiBvbiBUaWdlclZOQy48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IENhbiYjMzk7dCBv
cGVuIGRpc3BsYXk6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyByb290QHJhc3BiZXJyeXBpNC02NDp+L2d1ZXN0
MSM8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBJIGFtIG5vdCBleGFjdGx5wqBzdXJl
IHdoYXQgdGhlIGlzc3VlIGlzIGJ1dCBJIHRob3VnaHQgb25seTxicj4NCiZndDvCoCDCoCDCoCDC
oGxpYnZuY3NlcnZlciBpbjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoERPTVUg
Y291bGQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB3
b3JrIHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgZ2V0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYWNjZXNzIGJ1dDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGl0PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZGlkIG5vdDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHdvcmsu
wqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7IElmIFRpZ2VyVk5DIGlzIHRoZSBpc3N1ZSBoZXJlIHRoZW4gaXMg
dGhlcmUgYW55IG90aGVyIFZOQyBzb3VyY2U8YnI+DQomZ3Q7wqAgwqAgwqAgwqB3aGljaCBjb3Vs
ZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGJlPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgaW5zdGFsbGVkIGZvcjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGJv
dGg8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB4MTEgJmFtcDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB3YXlsYW5kIHN1cHBvcnRlZDxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoGltYWdlcz88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBSZWdhcmRzLDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDsgVmlwdWwgS3VtYXI8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBP
biBUdWUsIE9jdCAxOCwgMjAyMiBhdCAyOjQwIEFNIFN0ZWZhbm8gU3RhYmVsbGluaTxicj4NCiZn
dDvCoCDCoCDCoCDCoCZsdDs8YSBocmVmPSJtYWlsdG86c3N0YWJlbGxpbmlAa2VybmVsLm9yZyIg
dGFyZ2V0PSJfYmxhbmsiPnNzdGFiZWxsaW5pQGtlcm5lbC5vcmc8L2E+Jmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHdyb3RlOjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oFZOQyBpcyB0eXBpY2FsbHkgZWFzaWVyIHRvIHNldHVwLCBiZWNhdXNlIFNETCBuZWVkcyBleHRy
YTxicj4NCiZndDvCoCDCoCDCoCDCoGxpYnJhcmllcyBhdDxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoGJ1aWxkIHRpbWUgYW5kIHJ1bnRpbWUuIElmIFFFTVUgaXMgYnVpbHQgd2l0aG91dCBTREwg
c3VwcG9ydCBpdDxicj4NCiZndDvCoCDCoCDCoCDCoHdvbiYjMzk7dDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoHN0YXJ0IHdoZW4geW91IGFzayBmb3IgU0RMLjxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBWTkMgc2hvdWxkIHdvcmsgd2l0aCBib3RoIHgxMSBhbmQg
d2F5bGFuZCBpbiB5b3VyIGRvbVUuIEl0PGJyPg0KJmd0O8KgIMKgIMKgIMKgZG9lc24mIzM5O3Qg
d29yazxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGF0IHRoZSB4MTEgbGV2ZWwsIGl0IGV4cG9z
ZXMgYSBzcGVjaWFsIGZiZGV2IGRldmljZSBpbiB5b3VyPGJyPg0KJmd0O8KgIMKgIMKgIMKgZG9t
VSB0aGF0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgc2hvdWxkIHdvcmsgd2l0aDo8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAtIGEgZ3JhcGhpY2FsIGNvbnNvbGUgaW4gTGludXggZG9tVTxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoC0geDExPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
LSB3YXlsYW5kIChidXQgSSBoYXZlbiYjMzk7dCB0ZXN0ZWQgdGhpcyBzbyBJIGFtIG5vdCAxMDAl
IHN1cmU8YnI+DQomZ3Q7wqAgwqAgwqAgwqBhYm91dCBpdCk8YnI+DQomZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgV2hlbiB5b3Ugc2F5ICZxdW90O2l0IGRvZXNuJiMzOTt0IHdv
cmsmcXVvdDssIHdoYXQgZG8geW91IG1lYW4/IERvIHlvdSBnZXQgYTxicj4NCiZndDvCoCDCoCDC
oCDCoGJsYWNrPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgd2luZG93Pzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBZb3UgbmVlZCBDT05GSUdfWEVOX0ZCREVWX0ZS
T05URU5EIGluIExpbnV4IGRvbVU8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAoZHJpdmVycy92
aWRlby9mYmRldi94ZW4tZmJmcm9udC5jKS4gSSB3b3VsZCB0cnkgdG8gZ2V0IGE8YnI+DQomZ3Q7
wqAgwqAgwqAgwqBncmFwaGljYWw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB0
ZXh0PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgY29uc29sZSB1cCBhbmQgcnVubmluZyBpbiB5
b3VyIGRvbVUgYmVmb3JlIGF0dGVtcHRpbmc8YnI+DQomZ3Q7wqAgwqAgwqAgwqB4MTEvd2F5bGFu
ZC48YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgQ2hlZXJzLDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBTdGVmYW5vPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoE9uIE1vbiwgMTcgT2N0IDIwMjIsIFZpcHVs
IFN1bmVqYSB3cm90ZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEhpLDxicj4NCiZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDsgVGhhbmtzITxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEkgaGF2ZSBwb3J0ZWQgeGVuIG1p
bmltYWwgaW1hZ2UgYXMgRE9NMCAmYW1wOyBjdXN0b20gd2F5bGFuZCBHVUk8YnI+DQomZ3Q7wqAg
wqAgwqAgwqBiYXNlZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGltYWdlIGFz
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgRE9NVSBp
bjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoHJhc3BiZXJyeTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHBpNEIuIEk8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBhbSB0cnlpbmcg
dG88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqBtYWtlIEdVSTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGRpc3BsYXkg
dXA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGZvcsKgZ3Vlc3QgbWFjaGluZS4gSSB0
cmllZCB1c2luZ8Kgc2RsLCBpbmNsdWRlZCBiZWxvdyBsaW5lIGluPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgZ3Vlc3QuY29uZiBmaWxlPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0OyB2ZmI9IFsgJiMzOTtzZGw9MSYjMzk7IF08YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBCdXQgaXQgaXMgdGhyb3dpbmcg
YmVsb3cgZXJyb3I6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDsgcm9vdEByYXNwYmVycnlwaTQtNjQ6fi9ndWVzdDEjIHhsIGNyZWF0
ZSAtYyBndWVzdDEuY2ZnPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0OyBQYXJzaW5nIGNv
bmZpZyBmcm9tIGd1ZXN0MS5jZmc8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxpYnhs
OiBlcnJvcjogbGlieGxfcW1wLmM6MTQwMDpxbXBfZXZfZmRfY2FsbGJhY2s6IERvbWFpbjxicj4N
CiZndDvCoCDCoCDCoCDCoDM6ZXJyb3Igb248YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqBRTVA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqBzb2NrZXQ6PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgQ29ubmVjdGlvbjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoHJlc2V0
IGJ5PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
cGVlcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9x
bXAuYzoxNDM5OnFtcF9ldl9mZF9jYWxsYmFjazogRG9tYWluPGJyPg0KJmd0O8KgIMKgIMKgIMKg
MzpFcnJvcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGhhcHBlbmVkPGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgd2l0aCB0aGU8YnI+
DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqBRTVA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBjb25uZWN0aW9uIHRvPGJyPg0KJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgUUVNVTxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9kbS5jOjMzNTE6ZGV2aWNl
X21vZGVsX3Bvc3Rjb25maWdfZG9uZTo8YnI+DQomZ3Q7wqAgwqAgwqAgwqBEb21haW48YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAzOlBvc3QgRE08YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBzdGFydHVwPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgY29uZmlnczxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoGZhaWxlZCw8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqByYz0tMjY8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7IGxpYnhsOiBlcnJvcjogbGlieGxfY3JlYXRlLmM6MTg2Nzpkb21jcmVhdGVfZGV2bW9k
ZWxfc3RhcnRlZDo8YnI+DQomZ3Q7wqAgwqAgwqAgwqBEb21haW48YnI+DQomZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAzOmRldmljZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoG1vZGVsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZGlkIG5vdDxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoHN0YXJ0Ojxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoC0yNjxi
cj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9hb3V0aWxz
LmM6NjQ2OmxpYnhsX19raWxsX3hzX3BhdGg6IERldmljZTxicj4NCiZndDvCoCDCoCDCoCDCoE1v
ZGVsPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYWxyZWFkeTxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGV4aXRlZDxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDsgbGlieGw6IGVycm9yOiBsaWJ4bF9kb21haW4uYzoxMTgzOmxp
YnhsX19kZXN0cm95X2RvbWlkOjxicj4NCiZndDvCoCDCoCDCoCDCoERvbWFpbjxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoDM6Tm9uLWV4aXN0YW50PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZG9tYWluPGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0OyBsaWJ4bDogZXJyb3I6IGxpYnhsX2RvbWFpbi5jOjExMzc6ZG9tYWluX2Rl
c3Ryb3lfY2FsbGJhY2s6PGJyPg0KJmd0O8KgIMKgIMKgIMKgRG9tYWluPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgMzpVbmFibGUgdG88YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBkZXN0cm95PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZ3Vlc3Q8YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IGxpYnhsOiBlcnJvcjogbGlieGxfZG9tYWluLmM6MTA2NDpk
b21haW5fZGVzdHJveV9jYjogRG9tYWluPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgMzpEZXN0cnVjdGlvbiBvZjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoGRvbWFpbjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGZhaWxlZDxicj4NCiZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFub3RoZXIgd2F5IGlzIFZO
QywgaSBjb3VsZCBpbnN0YWxsIHRpZ2Vydm5jIGluIERPTTAgYnV0IHNhbWU8YnI+DQomZ3Q7wqAg
wqAgwqAgwqBpPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgY291bGRuJiMzOTt0
IGluPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZ3Vl
c3Q8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqBtYWNoaW5lPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgYmVjYXVzZSBpdDxicj4N
CiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGRvZXNuJiMz
OTt0IHN1cHBvcnQ8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB4MTEoc3VwcG9ydHMgd2F5bGFu
ZDxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDsgb25seSkuIEkgYW0gY29tcGxldGVseSBi
bG9ja2VkIGhlcmUsIE5lZWQgeW91ciBzdXBwb3J0IHRvPGJyPg0KJmd0O8KgIMKgIMKgIMKgZW5h
YmxlIHRoZTxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGRpc3BsYXk8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqB1cC48YnI+DQomZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFueSBhbHRlcm5hdGl2ZSBvZiBWTkMgd2hpY2ggY291bGQg
d29yayBpbiBib3RoIHgxMSAmYW1wOyB3YXlsYW5kPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgc3VwcG9ydGVkPGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgaW1hZ2VzPzxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQom
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAg
wqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IEFueSBpbnB1dCBvbiBWTkMsIFNETCBvciBhbnkgb3Ro
ZXIgd2F5IHRvIHByb2NlZWQgb24gdGhpcz88YnI+DQomZ3Q7wqAgwqAgwqAgwqBMb29raW5nPGJy
Pg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgZm9yd2FyZCB0bzxicj4NCiZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoGhlYXJpbmc8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqBmcm9t
PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgeW91Ljxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7IFJlZ2FyZHMsPGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8Kg
IMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0OyBWaXB1bCBLdW1hcjxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDC
oCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7
wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZn
dDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0K
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDC
oCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKg
Jmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKg
IMKgJmd0Ozxicj4NCiZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDC
oCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAm
Z3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0
O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAg
wqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKg
IMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvCoCDCoCDC
oCDCoCZndDvCoCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7wqAgwqAgwqAg
wqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKgIMKgJmd0O8KgIMKgIMKgIMKgJmd0Ozxicj4NCiZndDvC
oCDCoCDCoCDCoCZndDs8YnI+DQomZ3Q7wqAgwqAgwqAgwqAmZ3Q7PGJyPg0KJmd0O8KgIMKgIMKg
IMKgJmd0Ozxicj4NCiZndDsgPGJyPg0KJmd0OyA8YnI+DQomZ3Q7IDwvYmxvY2txdW90ZT48L2Rp
dj4NCg==
--000000000000ac63b505f0beea55--
--000000000000ac63be05f0beea57
Content-Type: application/octet-stream; name="qemu-dm-guest2.log"
Content-Disposition: attachment; filename="qemu-dm-guest2.log"
Content-Transfer-Encoding: base64
Content-ID: <f_lc53fket0>
X-Attachment-Id: f_lc53fket0

UUVNVSoqKioqKioqaW5wdXRfaW5pdCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqaW5wdXRfaW5p
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9pbml0KioqKioqKioKUUVNVV9jb25zb2xlKioq
KioqKioqKipxZW11X2NyZWF0ZV9kaXNwbGF5c3VyZmFjZSoqKioqKioqKioqZW50cnkKUUVNVV9j
b25zb2xlKioqKioqKioqKipxZW11X2NyZWF0ZV9kaXNwbGF5c3VyZmFjZSoqKioqKioqKioqZXhp
dApWTkMgc2VydmVyIHJ1bm5pbmcgb24gMTI3LjAuMC4xOjU5MDAKUUVNVSoqKioqKioqaW5wdXRf
aW5pdGlhbGlzZSoqKioqKioqZW50cnkKUUVNVSoqKioqKioqY29tbW9uX2JpbmQqKioqKioqKmVu
dHJ5ClFFTVUqKioqKioqKmNvbW1vbl9iaW5kKioqKioqKipleGl0ClFFTVUqKioqKioqKmlucHV0
X2luaXRpYWxpc2UqKioqKioqKmV4aXQKUUVNVSoqKioqKioqaW5wdXRfZXZlbnQqKioqKioqKmVu
dHJ5ClFFTVUqKioqKioqKmlucHV0X2Nvbm5lY3RlZCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
aW5wdXRfY29ubmVjdGVkKioqKioqKipleGl0ClFFTVUqKioqKioqKmZiX2Zyb250ZW5kX2NoYW5n
ZWQqKioqKioqKmVudHJ5ClFFTVUqKioqKioqKmZiX2Zyb250ZW5kX2NoYW5nZWQqKioqKioqKmV4
aXQKUUVNVSoqKioqKioqZmJfZnJvbnRlbmRfY2hhbmdlZCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqZmJfZnJvbnRlbmRfY2hhbmdlZCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9mcm9udGVu
ZF9jaGFuZ2VkKioqKioqKiplbnRyeQpRRU1VKioqKioqKipmYl9mcm9udGVuZF9jaGFuZ2VkKioq
KioqKipleGl0ClFFTVUqKioqKioqKmZiX2Zyb250ZW5kX2NoYW5nZWQqKioqKioqKmVudHJ5ClFF
TVUqKioqKioqKmZiX2Zyb250ZW5kX2NoYW5nZWQqKioqKioqKmV4aXQKUUVNVSoqKioqKioqZmJf
ZnJvbnRlbmRfY2hhbmdlZCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqZmJfZnJvbnRlbmRfY2hh
bmdlZCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9pbml0aWFsaXNlKioqKioqKiplbnRyeQpR
RU1VKioqKioqKipjb21tb25fYmluZCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqY29tbW9uX2Jp
bmQqKioqKioqKmV4aXQKUUVNVSoqKioqKioqeGVuZmJfY29uZmlndXJlX2ZiKioqKioqKiplbnRy
eQpRRU1VKioqKioqKip4ZW5mYl9jb25maWd1cmVfZmIqKioqKioqKmV4aXQKUUVNVSoqKioqKioq
eGVuZmJfbWFwX2ZiKioqKioqKiplbnRyeQpRRU1VKioqKioqKip4ZW5mYl9tYXBfZmIqKioqKioq
KmV4aXQKUUVNVV9jb25zb2xlKioqKioqKioqKipxZW11X2NyZWF0ZV9kaXNwbGF5c3VyZmFjZSoq
KioqKioqKioqZW50cnkKUUVNVV9jb25zb2xlKioqKioqKioqKipxZW11X2NyZWF0ZV9kaXNwbGF5
c3VyZmFjZSoqKioqKioqKioqZXhpdApRRU1VX2NvbnNvbGUqKioqKioqKioqKmRweV9nZnhfcmVw
bGFjZV9zdXJmYWNlKioqKioqKioqKiplbnRyeQpRRU1VX2NvbnNvbGUqKioqKioqKioqKmRweV9n
ZnhfcmVwbGFjZV9zdXJmYWNlKioqKioqKioqKipleGl0ClFFTVUqKioqKioqKmZiX2luaXRpYWxp
c2UqKioqKioqKmV4aXQKUUVNVSoqKioqKioqZmJfZXZlbnQqKioqKioqKmVudHJ5ClFFTVUqKioq
KioqKnhlbmZiX2hhbmRsZV9ldmVudHMqKioqKioqKmVudHJ5ClFFTVUqKioqKioqKnhlbmZiX2hh
bmRsZV9ldmVudHMqKioqKioqKmV4aXQKUUVNVSoqKioqKioqZmJfZXZlbnQqKioqKioqKmV4aXQK
UUVNVSoqKioqKioqZmJfZXZlbnQqKioqKioqKmVudHJ5ClFFTVUqKioqKioqKnhlbmZiX2hhbmRs
ZV9ldmVudHMqKioqKioqKmVudHJ5ClFFTVUqKioqKioqKnhlbmZiX2NvbmZpZ3VyZV9mYioqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfY29uZmlndXJlX2ZiKioqKioqKipleGl0ClFFTVUq
KioqKioqKnhlbmZiX3VwZGF0ZV9pbnRlcnZhbCoqKioqKioqClFFTVUqKioqKioqKnhlbmZiX2hh
bmRsZV9ldmVudHMqKioqKioqKmV4aXQKUUVNVSoqKioqKioqZmJfZXZlbnQqKioqKioqKmV4aXQK
UUVNVSoqKioqKioqZmJfZnJvbnRlbmRfY2hhbmdlZCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
ZmJfZnJvbnRlbmRfY2hhbmdlZCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioq
KioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxl
X2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVu
dCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50
cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioq
eGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2
ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioq
KioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkK
UUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVu
ZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioq
ZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50
cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioq
KipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApR
RU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVN
VSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9l
dmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoq
KioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJf
aGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhp
dApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFu
ZGxlX2V2ZW50cyoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoq
KioqKioqZXhpdApRRU1VKioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdApRRU1VKioqKioqKipm
Yl9ldmVudCoqKioqKioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioq
KioqZW50cnkKUUVNVSoqKioqKioqeGVuZmJfaGFuZGxlX2V2ZW50cyoqKioqKioqZXhpdApRRU1V
KioqKioqKipmYl9ldmVudCoqKioqKioqZXhpdAo=
--000000000000ac63be05f0beea57--


From xen-devel-bounces@lists.xenproject.org Tue Dec 27 05:23:28 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Dec 2022 05:23:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469307.728693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pA2Qy-0000hO-Ns; Tue, 27 Dec 2022 05:23:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469307.728693; Tue, 27 Dec 2022 05:23:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pA2Qy-0000hF-Kk; Tue, 27 Dec 2022 05:23:28 +0000
Received: by outflank-mailman (input) for mailman id 469307;
 Mon, 26 Dec 2022 19:58:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gpDW=4Y=gmail.com=andrzejhochul1990@srs-se1.protection.inumbo.net>)
 id 1p9tcJ-0001hk-Pf
 for xen-devel@lists.xen.org; Mon, 26 Dec 2022 19:58:36 +0000
Received: from mail-ed1-x542.google.com (mail-ed1-x542.google.com
 [2a00:1450:4864:20::542])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac1aca4b-8557-11ed-91b6-6bf2151ebd3b;
 Mon, 26 Dec 2022 20:58:33 +0100 (CET)
Received: by mail-ed1-x542.google.com with SMTP id l29so9501019edj.7
 for <xen-devel@lists.xen.org>; Mon, 26 Dec 2022 11:58:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac1aca4b-8557-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=YhT0wZgtYkRY0xJNVj5i4pw2O4qOe0HKSMyJxgnhxhE=;
        b=MPBk/6p1Qw5Fc50IM6U55PQBo5oHaV4h7rIvKZ51gMgGu2jvTFOawpVN6UEso+ITqn
         nk0+wcK3ym/sHxSv1d98zN4zv2WQv4IFS4V40MG4fVf8BXpbtNfeWXGjILTa9lnm6zFS
         NnTIv4GL67iA6Ysrp3vJCvRgYTB6k2qYC6/oRuJM0e2B7yb8PFormVH3vcwcstNU7A5U
         ACgONGvP46VpvemGWHdAhKyuZIl8k+JXIGEu3kGvc9iD4DhQPXYNyf0VhQk/TI+8Cowk
         5S5gtyPueWtMeHKuah30P60TrkmFUUII0ZtqXE4tee1UUYP6ddSenEYSEcuXkSL/KjzZ
         MpWQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=YhT0wZgtYkRY0xJNVj5i4pw2O4qOe0HKSMyJxgnhxhE=;
        b=kaXmsyKqXfTEv3eAz0BONo9PGLmOWS6yPgMXtmPnwD8GR3CLRNQHSl1EB/iq+z3UIv
         gQ2QK0KA1HzG4TzqYLJwhV6c0fRZWSl//KBMzme8iT1D8kAt2qiVgUgIlroFCJirk9Cc
         le+9CkTdl1DGKR5h80biDVRw0HIhz32X7n/78tmFVHXp0B3L4IrW6GY93s1KAJTv3tIj
         1Uqlb0AF3rj2XqJzfdvxPwtLyg1hgGtCHIrh9CzMVeUkkDne+hvEFCYIyLsi9OIgR1sA
         PFI9TXmWNFjoYW5TPOCJut9u6sJSVloWbvi+XcmBgXbP8YfADz1l4vzePMVfk4rq9NX6
         E8Sw==
X-Gm-Message-State: AFqh2kr6EHLMIvajhrqwayngKyoDt46r+S+5fASg2e3eCxM2yNFsYvE1
	LfDvIxc82iO97wBlWCz9Tg4L81o1ArA2uyyjH+/0qSnnZKZaKQ==
X-Google-Smtp-Source: AMrXdXtj9tDh+lYak8lDcakAKHIUClrpTRrGuAh1OFhT4yQqd6m/Mc86fdSXTn+wSbMw4QtjWvJrOw2T9yuklEDCXyw=
X-Received: by 2002:a50:ee0d:0:b0:462:2c1c:8791 with SMTP id
 g13-20020a50ee0d000000b004622c1c8791mr1782259eds.29.1672084710806; Mon, 26
 Dec 2022 11:58:30 -0800 (PST)
MIME-Version: 1.0
From: Andrzej Hochul <andrzejhochul1990@gmail.com>
Date: Mon, 26 Dec 2022 20:58:18 +0100
Message-ID: <CANeVx3RNrtAaRpNArWuTA5j1J0RufWzPHh2kUE12FVC3Gt6Mew@mail.gmail.com>
Subject: [BUG] Error compiling whlist compiling stubdom (xen 4.17)
To: xen-devel@lists.xen.org
Content-Type: multipart/alternative; boundary="00000000000038d92f05f0c08f77"

--00000000000038d92f05f0c08f77
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

I find it appropriate to foremention that the stubdom feature is not
necessary to me at the moment.
However since when provided with "some" dependencies said feature is
automatically enabled by ./configure script. Yes the compilation works fine
with --disable-stubdom, however if my eyes didn't play tricks one me before
mentioned switch is not present in --help print.
[root@localhost xen]# uname -r
6.1.1-arch1-1
[code]
Libraries have been installed in:
   /home/pk/Pobrane/xen-4.17.0/stubdom/cross-root-x86_64/x86_64-xen-elf/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
test -z
"/home/pk/Pobrane/xen-4.17.0/stubdom/cross-root-x86_64/x86_64-xen-elf/inclu=
de"
|| mkdir -p -- .
"/home/pk/Pobrane/xen-4.17.0/stubdom/cross-root-x86_64/x86_64-xen-elf/inclu=
de"
 /usr/bin/install -c -m 644 'gmp.h'
'/home/pk/Pobrane/xen-4.17.0/stubdom/cross-root-x86_64/x86_64-xen-elf/inclu=
de/gmp.h'
test -z
"/home/pk/Pobrane/xen-4.17.0/stubdom/cross-root-x86_64/x86_64-xen-elf/inclu=
de"
|| mkdir -p -- .
"/home/pk/Pobrane/xen-4.17.0/stubdom/cross-root-x86_64/x86_64-xen-elf/inclu=
de"
make  install-data-hook
make[7]: Wej=C5=9Bcie do katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/gmp-x86_64'

+-------------------------------------------------------------+
| CAUTION:                                                    |
|                                                             |
| If you have not already run "make check", then we strongly  |
| recommend you do so.                                        |
|                                                             |
| GMP has been carefully tested by its authors, but compilers |
| are all too often released with serious bugs.  GMP tends to |
| explore interesting corners in compilers and has hit bugs   |
| on quite a few occasions.                                   |
|                                                             |
+-------------------------------------------------------------+

make[7]: Opuszczenie katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/gmp-x86_64'
make[6]: Opuszczenie katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/gmp-x86_64'
make[5]: Opuszczenie katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/gmp-x86_64'
make[4]: Opuszczenie katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/gmp-x86_64'
make[3]: Opuszczenie katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/gmp-x86_64'
( cd tpm_emulator-x86_64/build && make VERBOSE=3D1 tpm_crypto tpm  )
make[3]: Wej=C5=9Bcie do katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build'
/usr/bin/cmake -S/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64
-B/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build
--check-build-system CMakeFiles/Makefile.cmake 0
make  -f CMakeFiles/Makefile2 tpm_crypto
make[4]: Wej=C5=9Bcie do katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build'
/usr/bin/cmake -S/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64
-B/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build
--check-build-system CMakeFiles/Makefile.cmake 0
/usr/bin/cmake -E cmake_progress_start
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build/CMakeFiles 6
make  -f CMakeFiles/Makefile2 crypto/CMakeFiles/tpm_crypto.dir/all
make[5]: Wej=C5=9Bcie do katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build'
make  -f crypto/CMakeFiles/tpm_crypto.dir/build.make
crypto/CMakeFiles/tpm_crypto.dir/depend
make[6]: Wej=C5=9Bcie do katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build'
cd /home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build &&
/usr/bin/cmake -E cmake_depends "Unix Makefiles"
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build/crypto
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build/crypto/CMakeF=
iles/tpm_crypto.dir/DependInfo.cmake
--color=3D
make[6]: Opuszczenie katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build'
make  -f crypto/CMakeFiles/tpm_crypto.dir/build.make
crypto/CMakeFiles/tpm_crypto.dir/build
make[6]: Wej=C5=9Bcie do katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build'
[ 16%] Building C object crypto/CMakeFiles/tpm_crypto.dir/hmac.o
cd /home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build/crypto &&
/usr/bin/gcc  -I/opt/local/include
-I/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64
-I/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build -std=3Dc99
-DTPM_NO_EXTERN -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include -D__MINIOS__
-DHAVE_LIBC -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/posix
-isystem /home/pk/Pobrane/xen-4.17.0/stubdom/../tools/include  -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/x86 -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/x86/x86_64 -U
__linux__ -U __FreeBSD__ -U __sun__ -nostdinc -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/posix
-isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/cross-root-x86_64/x86_64-xen-elf/includ=
e
-isystem /usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/lwip-x86_64/src/include -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/lwip-x86_64/src/include/ipv4
-I/home/pk/Pobrane/xen-4.17.0/stubdom/include
-I/home/pk/Pobrane/xen-4.17.0/stubdom/../xen/include -mno-red-zone -O1
-fno-omit-frame-pointer -O1 -fno-omit-frame-pointer  -m64 -mno-red-zone
-fno-reorder-blocks -fno-asynchronous-unwind-tables -m64 -DBUILD_ID
-fno-strict-aliasing -std=3Dgnu99 -Wall -Wstrict-prototypes
-Wdeclaration-after-statement -Wno-unused-but-set-variable
-Wno-unused-local-typedefs   -fno-pie -fno-stack-protector -fno-exceptions
-fno-asynchronous-unwind-tables -Wno-declaration-after-statement   -Wall
-Werror -Wextra -Wno-unused-parameter -Wpointer-arith -Wcast-align
-Wwrite-strings -MD -MT crypto/CMakeFiles/tpm_crypto.dir/hmac.o -MF
CMakeFiles/tpm_crypto.dir/hmac.o.d -o CMakeFiles/tpm_crypto.dir/hmac.o -c
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/hmac.c
[ 33%] Building C object crypto/CMakeFiles/tpm_crypto.dir/rc4.o
cd /home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build/crypto &&
/usr/bin/gcc  -I/opt/local/include
-I/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64
-I/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build -std=3Dc99
-DTPM_NO_EXTERN -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include -D__MINIOS__
-DHAVE_LIBC -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/posix
-isystem /home/pk/Pobrane/xen-4.17.0/stubdom/../tools/include  -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/x86 -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/x86/x86_64 -U
__linux__ -U __FreeBSD__ -U __sun__ -nostdinc -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/posix
-isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/cross-root-x86_64/x86_64-xen-elf/includ=
e
-isystem /usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/lwip-x86_64/src/include -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/lwip-x86_64/src/include/ipv4
-I/home/pk/Pobrane/xen-4.17.0/stubdom/include
-I/home/pk/Pobrane/xen-4.17.0/stubdom/../xen/include -mno-red-zone -O1
-fno-omit-frame-pointer -O1 -fno-omit-frame-pointer  -m64 -mno-red-zone
-fno-reorder-blocks -fno-asynchronous-unwind-tables -m64 -DBUILD_ID
-fno-strict-aliasing -std=3Dgnu99 -Wall -Wstrict-prototypes
-Wdeclaration-after-statement -Wno-unused-but-set-variable
-Wno-unused-local-typedefs   -fno-pie -fno-stack-protector -fno-exceptions
-fno-asynchronous-unwind-tables -Wno-declaration-after-statement   -Wall
-Werror -Wextra -Wno-unused-parameter -Wpointer-arith -Wcast-align
-Wwrite-strings -MD -MT crypto/CMakeFiles/tpm_crypto.dir/rc4.o -MF
CMakeFiles/tpm_crypto.dir/rc4.o.d -o CMakeFiles/tpm_crypto.dir/rc4.o -c
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rc4.c
[ 50%] Building C object crypto/CMakeFiles/tpm_crypto.dir/rsa.o
cd /home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build/crypto &&
/usr/bin/gcc  -I/opt/local/include
-I/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64
-I/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build -std=3Dc99
-DTPM_NO_EXTERN -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include -D__MINIOS__
-DHAVE_LIBC -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/posix
-isystem /home/pk/Pobrane/xen-4.17.0/stubdom/../tools/include  -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/x86 -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/x86/x86_64 -U
__linux__ -U __FreeBSD__ -U __sun__ -nostdinc -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/posix
-isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/cross-root-x86_64/x86_64-xen-elf/includ=
e
-isystem /usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/lwip-x86_64/src/include -isystem
/home/pk/Pobrane/xen-4.17.0/stubdom/lwip-x86_64/src/include/ipv4
-I/home/pk/Pobrane/xen-4.17.0/stubdom/include
-I/home/pk/Pobrane/xen-4.17.0/stubdom/../xen/include -mno-red-zone -O1
-fno-omit-frame-pointer -O1 -fno-omit-frame-pointer  -m64 -mno-red-zone
-fno-reorder-blocks -fno-asynchronous-unwind-tables -m64 -DBUILD_ID
-fno-strict-aliasing -std=3Dgnu99 -Wall -Wstrict-prototypes
-Wdeclaration-after-statement -Wno-unused-but-set-variable
-Wno-unused-local-typedefs   -fno-pie -fno-stack-protector -fno-exceptions
-fno-asynchronous-unwind-tables -Wno-declaration-after-statement   -Wall
-Werror -Wextra -Wno-unused-parameter -Wpointer-arith -Wcast-align
-Wwrite-strings -MD -MT crypto/CMakeFiles/tpm_crypto.dir/rsa.o -MF
CMakeFiles/tpm_crypto.dir/rsa.o.d -o CMakeFiles/tpm_crypto.dir/rsa.o -c
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.c
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.c: In
function =E2=80=98rsa_private=E2=80=99:
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56:7:
error: the comparison will always evaluate as =E2=80=98true=E2=80=99 for th=
e address of =E2=80=98p=E2=80=99
will never be NULL [-Werror=3Daddress]
   56 |   if (!key->p || !key->q || !key->u) {
      |       ^
In file included from
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.c:17:
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.h:28:12:
note: =E2=80=98p=E2=80=99 declared here
   28 |   tpm_bn_t p;
      |            ^
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56:18:
error: the comparison will always evaluate as =E2=80=98true=E2=80=99 for th=
e address of =E2=80=98q=E2=80=99
will never be NULL [-Werror=3Daddress]
   56 |   if (!key->p || !key->q || !key->u) {
      |                  ^
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.h:29:12:
note: =E2=80=98q=E2=80=99 declared here
   29 |   tpm_bn_t q;
      |            ^
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56:29:
error: the comparison will always evaluate as =E2=80=98true=E2=80=99 for th=
e address of =E2=80=98u=E2=80=99
will never be NULL [-Werror=3Daddress]
   56 |   if (!key->p || !key->q || !key->u) {
      |                             ^
/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.h:30:12:
note: =E2=80=98u=E2=80=99 declared here
   30 |   tpm_bn_t u;
      |            ^
cc1: all warnings being treated as errors
make[6]: *** [crypto/CMakeFiles/tpm_crypto.dir/build.make:104:
crypto/CMakeFiles/tpm_crypto.dir/rsa.o] B=C5=82=C4=85d 1
make[6]: Opuszczenie katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build'
make[5]: *** [CMakeFiles/Makefile2:259:
crypto/CMakeFiles/tpm_crypto.dir/all] B=C5=82=C4=85d 2
make[5]: Opuszczenie katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build'
make[4]: *** [CMakeFiles/Makefile2:266:
crypto/CMakeFiles/tpm_crypto.dir/rule] B=C5=82=C4=85d 2
make[4]: Opuszczenie katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build'
make[3]: *** [Makefile:215: tpm_crypto] B=C5=82=C4=85d 2
make[3]: Opuszczenie katalogu
'/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build'
make[2]: *** [Makefile:250: cross-root-x86_64/x86_64-xen-elf/lib/libtpm.a]
B=C5=82=C4=85d 2
make[2]: Opuszczenie katalogu '/home/pk/Pobrane/xen-4.17.0/stubdom'
make[1]: *** [Makefile:151: install-stubdom] B=C5=82=C4=85d 2
make[1]: Opuszczenie katalogu '/home/pk/Pobrane/xen-4.17.0'
make: *** [Makefile:183: world] B=C5=82=C4=85d 2
[pk@localhost xen-4.17.0]$
[/code]

I am not sure, if this perhaps could be easily "fixed" or overcame by not
setting the treat warnings as errors flag, but I don't know how to do it
with configure files .

Thanks

PomyloneKodowanie

--00000000000038d92f05f0c08f77
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">I find it appropriate=C2=A0to foremention that the stubdom=
 feature is not necessary to me at the moment.<div>However since when provi=
ded with &quot;some&quot; dependencies said=C2=A0feature is automatically e=
nabled by ./configure script. Yes the compilation works fine with --disable=
-stubdom, however if my eyes didn&#39;t=C2=A0play tricks one me before ment=
ioned switch is not present in --help print.</div><div>[root@localhost xen]=
# uname -r<br>6.1.1-arch1-1<br></div><div>[code]</div><div>Libraries have b=
een installed in:<br>=C2=A0 =C2=A0/home/pk/Pobrane/xen-4.17.0/stubdom/cross=
-root-x86_64/x86_64-xen-elf/lib<br><br>If you ever happen to want to link a=
gainst installed libraries<br>in a given directory, LIBDIR, you must either=
 use libtool, and<br>specify the full pathname of the library, or use the `=
-LLIBDIR&#39;<br>flag during linking and do at least one of the following:<=
br>=C2=A0 =C2=A0- add LIBDIR to the `LD_RUN_PATH&#39; environment variable<=
br>=C2=A0 =C2=A0 =C2=A0during linking<br>=C2=A0 =C2=A0- use the `-Wl,--rpat=
h -Wl,LIBDIR&#39; linker flag<br>=C2=A0 =C2=A0- have your system administra=
tor add LIBDIR to `/etc/ld.so.conf&#39;<br><br>See any operating system doc=
umentation about shared libraries for<br>more information, such as the ld(1=
) and ld.so(8) manual pages.<br>-------------------------------------------=
---------------------------<br>test -z &quot;/home/pk/Pobrane/xen-4.17.0/st=
ubdom/cross-root-x86_64/x86_64-xen-elf/include&quot; || mkdir -p -- . &quot=
;/home/pk/Pobrane/xen-4.17.0/stubdom/cross-root-x86_64/x86_64-xen-elf/inclu=
de&quot;<br>=C2=A0/usr/bin/install -c -m 644 &#39;gmp.h&#39; &#39;/home/pk/=
Pobrane/xen-4.17.0/stubdom/cross-root-x86_64/x86_64-xen-elf/include/gmp.h&#=
39;<br>test -z &quot;/home/pk/Pobrane/xen-4.17.0/stubdom/cross-root-x86_64/=
x86_64-xen-elf/include&quot; || mkdir -p -- . &quot;/home/pk/Pobrane/xen-4.=
17.0/stubdom/cross-root-x86_64/x86_64-xen-elf/include&quot;<br>make =C2=A0i=
nstall-data-hook<br>make[7]: Wej=C5=9Bcie do katalogu &#39;/home/pk/Pobrane=
/xen-4.17.0/stubdom/gmp-x86_64&#39;<br><br>+-------------------------------=
------------------------------+<br>| CAUTION: =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0|<br>| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=
<br>| If you have not already run &quot;make check&quot;, then we strongly =
=C2=A0|<br>| recommend you do so. =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0|<br>| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 |<br>| GMP has been carefully tested by its authors, b=
ut compilers |<br>| are all too often released with serious bugs.=C2=A0 GMP=
 tends to |<br>| explore interesting corners in compilers and has hit bugs =
=C2=A0 |<br>| on quite a few occasions. =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 |<br>| =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 |<br>+-------------------------------------------------------------+=
<br><br>make[7]: Opuszczenie katalogu &#39;/home/pk/Pobrane/xen-4.17.0/stub=
dom/gmp-x86_64&#39;<br>make[6]: Opuszczenie katalogu &#39;/home/pk/Pobrane/=
xen-4.17.0/stubdom/gmp-x86_64&#39;<br>make[5]: Opuszczenie katalogu &#39;/h=
ome/pk/Pobrane/xen-4.17.0/stubdom/gmp-x86_64&#39;<br>make[4]: Opuszczenie k=
atalogu &#39;/home/pk/Pobrane/xen-4.17.0/stubdom/gmp-x86_64&#39;<br>make[3]=
: Opuszczenie katalogu &#39;/home/pk/Pobrane/xen-4.17.0/stubdom/gmp-x86_64&=
#39;<br>( cd tpm_emulator-x86_64/build &amp;&amp; make VERBOSE=3D1 tpm_cryp=
to tpm =C2=A0)<br>make[3]: Wej=C5=9Bcie do katalogu &#39;/home/pk/Pobrane/x=
en-4.17.0/stubdom/tpm_emulator-x86_64/build&#39;<br>/usr/bin/cmake -S/home/=
pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64 -B/home/pk/Pobrane/xen-4.=
17.0/stubdom/tpm_emulator-x86_64/build --check-build-system CMakeFiles/Make=
file.cmake 0<br>make =C2=A0-f CMakeFiles/Makefile2 tpm_crypto<br>make[4]: W=
ej=C5=9Bcie do katalogu &#39;/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulat=
or-x86_64/build&#39;<br>/usr/bin/cmake -S/home/pk/Pobrane/xen-4.17.0/stubdo=
m/tpm_emulator-x86_64 -B/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x8=
6_64/build --check-build-system CMakeFiles/Makefile.cmake 0<br>/usr/bin/cma=
ke -E cmake_progress_start /home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator=
-x86_64/build/CMakeFiles 6<br>make =C2=A0-f CMakeFiles/Makefile2 crypto/CMa=
keFiles/tpm_crypto.dir/all<br>make[5]: Wej=C5=9Bcie do katalogu &#39;/home/=
pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build&#39;<br>make =C2=A0=
-f crypto/CMakeFiles/tpm_crypto.dir/build.make crypto/CMakeFiles/tpm_crypto=
.dir/depend<br>make[6]: Wej=C5=9Bcie do katalogu &#39;/home/pk/Pobrane/xen-=
4.17.0/stubdom/tpm_emulator-x86_64/build&#39;<br>cd /home/pk/Pobrane/xen-4.=
17.0/stubdom/tpm_emulator-x86_64/build &amp;&amp; /usr/bin/cmake -E cmake_d=
epends &quot;Unix Makefiles&quot; /home/pk/Pobrane/xen-4.17.0/stubdom/tpm_e=
mulator-x86_64 /home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/cryp=
to /home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build /home/pk/P=
obrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build/crypto /home/pk/Pobrane=
/xen-4.17.0/stubdom/tpm_emulator-x86_64/build/crypto/CMakeFiles/tpm_crypto.=
dir/DependInfo.cmake --color=3D<br>make[6]: Opuszczenie katalogu &#39;/home=
/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build&#39;<br>make =C2=
=A0-f crypto/CMakeFiles/tpm_crypto.dir/build.make crypto/CMakeFiles/tpm_cry=
pto.dir/build<br>make[6]: Wej=C5=9Bcie do katalogu &#39;/home/pk/Pobrane/xe=
n-4.17.0/stubdom/tpm_emulator-x86_64/build&#39;<br>[ 16%] Building C object=
 crypto/CMakeFiles/tpm_crypto.dir/hmac.o<br>cd /home/pk/Pobrane/xen-4.17.0/=
stubdom/tpm_emulator-x86_64/build/crypto &amp;&amp; /usr/bin/gcc =C2=A0-I/o=
pt/local/include -I/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64 =
-I/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build -std=3Dc99 =
-DTPM_NO_EXTERN -isystem /home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini=
-os/include -D__MINIOS__ -DHAVE_LIBC -isystem /home/pk/Pobrane/xen-4.17.0/s=
tubdom/../extras/mini-os/include/posix -isystem /home/pk/Pobrane/xen-4.17.0=
/stubdom/../tools/include =C2=A0-isystem /home/pk/Pobrane/xen-4.17.0/stubdo=
m/../extras/mini-os/include/x86 -isystem /home/pk/Pobrane/xen-4.17.0/stubdo=
m/../extras/mini-os/include/x86/x86_64 -U __linux__ -U __FreeBSD__ -U __sun=
__ -nostdinc -isystem /home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os=
/include/posix -isystem /home/pk/Pobrane/xen-4.17.0/stubdom/cross-root-x86_=
64/x86_64-xen-elf/include -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/12.2.0/=
include -isystem /home/pk/Pobrane/xen-4.17.0/stubdom/lwip-x86_64/src/includ=
e -isystem /home/pk/Pobrane/xen-4.17.0/stubdom/lwip-x86_64/src/include/ipv4=
 -I/home/pk/Pobrane/xen-4.17.0/stubdom/include -I/home/pk/Pobrane/xen-4.17.=
0/stubdom/../xen/include -mno-red-zone -O1 -fno-omit-frame-pointer -O1 -fno=
-omit-frame-pointer =C2=A0-m64 -mno-red-zone -fno-reorder-blocks -fno-async=
hronous-unwind-tables -m64 -DBUILD_ID -fno-strict-aliasing -std=3Dgnu99 -Wa=
ll -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-va=
riable -Wno-unused-local-typedefs =C2=A0 -fno-pie -fno-stack-protector -fno=
-exceptions -fno-asynchronous-unwind-tables -Wno-declaration-after-statemen=
t =C2=A0 -Wall -Werror -Wextra -Wno-unused-parameter -Wpointer-arith -Wcast=
-align -Wwrite-strings -MD -MT crypto/CMakeFiles/tpm_crypto.dir/hmac.o -MF =
CMakeFiles/tpm_crypto.dir/hmac.o.d -o CMakeFiles/tpm_crypto.dir/hmac.o -c /=
home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/hmac.c<br>[ 3=
3%] Building C object crypto/CMakeFiles/tpm_crypto.dir/rc4.o<br>cd /home/pk=
/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build/crypto &amp;&amp; /us=
r/bin/gcc =C2=A0-I/opt/local/include -I/home/pk/Pobrane/xen-4.17.0/stubdom/=
tpm_emulator-x86_64 -I/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_=
64/build -std=3Dc99 -DTPM_NO_EXTERN -isystem /home/pk/Pobrane/xen-4.17.0/st=
ubdom/../extras/mini-os/include -D__MINIOS__ -DHAVE_LIBC -isystem /home/pk/=
Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/posix -isystem /home/p=
k/Pobrane/xen-4.17.0/stubdom/../tools/include =C2=A0-isystem /home/pk/Pobra=
ne/xen-4.17.0/stubdom/../extras/mini-os/include/x86 -isystem /home/pk/Pobra=
ne/xen-4.17.0/stubdom/../extras/mini-os/include/x86/x86_64 -U __linux__ -U =
__FreeBSD__ -U __sun__ -nostdinc -isystem /home/pk/Pobrane/xen-4.17.0/stubd=
om/../extras/mini-os/include/posix -isystem /home/pk/Pobrane/xen-4.17.0/stu=
bdom/cross-root-x86_64/x86_64-xen-elf/include -isystem /usr/lib/gcc/x86_64-=
pc-linux-gnu/12.2.0/include -isystem /home/pk/Pobrane/xen-4.17.0/stubdom/lw=
ip-x86_64/src/include -isystem /home/pk/Pobrane/xen-4.17.0/stubdom/lwip-x86=
_64/src/include/ipv4 -I/home/pk/Pobrane/xen-4.17.0/stubdom/include -I/home/=
pk/Pobrane/xen-4.17.0/stubdom/../xen/include -mno-red-zone -O1 -fno-omit-fr=
ame-pointer -O1 -fno-omit-frame-pointer =C2=A0-m64 -mno-red-zone -fno-reord=
er-blocks -fno-asynchronous-unwind-tables -m64 -DBUILD_ID -fno-strict-alias=
ing -std=3Dgnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -W=
no-unused-but-set-variable -Wno-unused-local-typedefs =C2=A0 -fno-pie -fno-=
stack-protector -fno-exceptions -fno-asynchronous-unwind-tables -Wno-declar=
ation-after-statement =C2=A0 -Wall -Werror -Wextra -Wno-unused-parameter -W=
pointer-arith -Wcast-align -Wwrite-strings -MD -MT crypto/CMakeFiles/tpm_cr=
ypto.dir/rc4.o -MF CMakeFiles/tpm_crypto.dir/rc4.o.d -o CMakeFiles/tpm_cryp=
to.dir/rc4.o -c /home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/cry=
pto/rc4.c<br>[ 50%] Building C object crypto/CMakeFiles/tpm_crypto.dir/rsa.=
o<br>cd /home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build/crypt=
o &amp;&amp; /usr/bin/gcc =C2=A0-I/opt/local/include -I/home/pk/Pobrane/xen=
-4.17.0/stubdom/tpm_emulator-x86_64 -I/home/pk/Pobrane/xen-4.17.0/stubdom/t=
pm_emulator-x86_64/build -std=3Dc99 -DTPM_NO_EXTERN -isystem /home/pk/Pobra=
ne/xen-4.17.0/stubdom/../extras/mini-os/include -D__MINIOS__ -DHAVE_LIBC -i=
system /home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/posix =
-isystem /home/pk/Pobrane/xen-4.17.0/stubdom/../tools/include =C2=A0-isyste=
m /home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/x86 -isyste=
m /home/pk/Pobrane/xen-4.17.0/stubdom/../extras/mini-os/include/x86/x86_64 =
-U __linux__ -U __FreeBSD__ -U __sun__ -nostdinc -isystem /home/pk/Pobrane/=
xen-4.17.0/stubdom/../extras/mini-os/include/posix -isystem /home/pk/Pobran=
e/xen-4.17.0/stubdom/cross-root-x86_64/x86_64-xen-elf/include -isystem /usr=
/lib/gcc/x86_64-pc-linux-gnu/12.2.0/include -isystem /home/pk/Pobrane/xen-4=
.17.0/stubdom/lwip-x86_64/src/include -isystem /home/pk/Pobrane/xen-4.17.0/=
stubdom/lwip-x86_64/src/include/ipv4 -I/home/pk/Pobrane/xen-4.17.0/stubdom/=
include -I/home/pk/Pobrane/xen-4.17.0/stubdom/../xen/include -mno-red-zone =
-O1 -fno-omit-frame-pointer -O1 -fno-omit-frame-pointer =C2=A0-m64 -mno-red=
-zone -fno-reorder-blocks -fno-asynchronous-unwind-tables -m64 -DBUILD_ID -=
fno-strict-aliasing -std=3Dgnu99 -Wall -Wstrict-prototypes -Wdeclaration-af=
ter-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs =C2=
=A0 -fno-pie -fno-stack-protector -fno-exceptions -fno-asynchronous-unwind-=
tables -Wno-declaration-after-statement =C2=A0 -Wall -Werror -Wextra -Wno-u=
nused-parameter -Wpointer-arith -Wcast-align -Wwrite-strings -MD -MT crypto=
/CMakeFiles/tpm_crypto.dir/rsa.o -MF CMakeFiles/tpm_crypto.dir/rsa.o.d -o C=
MakeFiles/tpm_crypto.dir/rsa.o -c /home/pk/Pobrane/xen-4.17.0/stubdom/tpm_e=
mulator-x86_64/crypto/rsa.c<br>/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emul=
ator-x86_64/crypto/rsa.c: In function =E2=80=98rsa_private=E2=80=99:<br>/ho=
me/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56:7: err=
or: the comparison will always evaluate as =E2=80=98true=E2=80=99 for the a=
ddress of =E2=80=98p=E2=80=99 will never be NULL [-Werror=3Daddress]<br>=C2=
=A0 =C2=A056 | =C2=A0 if (!key-&gt;p || !key-&gt;q || !key-&gt;u) {<br>=C2=
=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 ^<br>In file included from /home/p=
k/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.c:17:<br>/home/=
pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.h:28:12: note:=
 =E2=80=98p=E2=80=99 declared here<br>=C2=A0 =C2=A028 | =C2=A0 tpm_bn_t p;<=
br>=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^<br>/ho=
me/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.c:56:18: er=
ror: the comparison will always evaluate as =E2=80=98true=E2=80=99 for the =
address of =E2=80=98q=E2=80=99 will never be NULL [-Werror=3Daddress]<br>=
=C2=A0 =C2=A056 | =C2=A0 if (!key-&gt;p || !key-&gt;q || !key-&gt;u) {<br>=
=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0^<br>/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/cryp=
to/rsa.h:29:12: note: =E2=80=98q=E2=80=99 declared here<br>=C2=A0 =C2=A029 =
| =C2=A0 tpm_bn_t q;<br>=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0^<br>/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/c=
rypto/rsa.c:56:29: error: the comparison will always evaluate as =E2=80=98t=
rue=E2=80=99 for the address of =E2=80=98u=E2=80=99 will never be NULL [-We=
rror=3Daddress]<br>=C2=A0 =C2=A056 | =C2=A0 if (!key-&gt;p || !key-&gt;q ||=
 !key-&gt;u) {<br>=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0=
 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ^<br>/home/=
pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/crypto/rsa.h:30:12: note:=
 =E2=80=98u=E2=80=99 declared here<br>=C2=A0 =C2=A030 | =C2=A0 tpm_bn_t u;<=
br>=C2=A0 =C2=A0 =C2=A0 | =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0^<br>cc1=
: all warnings being treated as errors<br>make[6]: *** [crypto/CMakeFiles/t=
pm_crypto.dir/build.make:104: crypto/CMakeFiles/tpm_crypto.dir/rsa.o] B=C5=
=82=C4=85d 1<br>make[6]: Opuszczenie katalogu &#39;/home/pk/Pobrane/xen-4.1=
7.0/stubdom/tpm_emulator-x86_64/build&#39;<br>make[5]: *** [CMakeFiles/Make=
file2:259: crypto/CMakeFiles/tpm_crypto.dir/all] B=C5=82=C4=85d 2<br>make[5=
]: Opuszczenie katalogu &#39;/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulat=
or-x86_64/build&#39;<br>make[4]: *** [CMakeFiles/Makefile2:266: crypto/CMak=
eFiles/tpm_crypto.dir/rule] B=C5=82=C4=85d 2<br>make[4]: Opuszczenie katalo=
gu &#39;/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86_64/build&#39;<=
br>make[3]: *** [Makefile:215: tpm_crypto] B=C5=82=C4=85d 2<br>make[3]: Opu=
szczenie katalogu &#39;/home/pk/Pobrane/xen-4.17.0/stubdom/tpm_emulator-x86=
_64/build&#39;<br>make[2]: *** [Makefile:250: cross-root-x86_64/x86_64-xen-=
elf/lib/libtpm.a] B=C5=82=C4=85d 2<br>make[2]: Opuszczenie katalogu &#39;/h=
ome/pk/Pobrane/xen-4.17.0/stubdom&#39;<br>make[1]: *** [Makefile:151: insta=
ll-stubdom] B=C5=82=C4=85d 2<br>make[1]: Opuszczenie katalogu &#39;/home/pk=
/Pobrane/xen-4.17.0&#39;<br>make: *** [Makefile:183: world] B=C5=82=C4=85d =
2<br>[pk@localhost xen-4.17.0]$</div><div>[/code]</div><div><br></div><div>=
I am not sure, if this perhaps could be easily &quot;fixed&quot; or overcam=
e by not setting the treat warnings as errors flag, but I don&#39;t know ho=
w to do it with configure files .</div><div><br></div><div>Thanks</div><div=
><br></div><div>PomyloneKodowanie</div><div>=C2=A0<br></div></div>

--00000000000038d92f05f0c08f77--


From xen-devel-bounces@lists.xenproject.org Tue Dec 27 05:32:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Dec 2022 05:32:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469345.728704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pA2ZR-0002WL-Mn; Tue, 27 Dec 2022 05:32:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469345.728704; Tue, 27 Dec 2022 05:32:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pA2ZR-0002WE-JI; Tue, 27 Dec 2022 05:32:13 +0000
Received: by outflank-mailman (input) for mailman id 469345;
 Tue, 27 Dec 2022 05:32:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pA2ZQ-0002W4-MA; Tue, 27 Dec 2022 05:32:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pA2ZQ-0005tF-79; Tue, 27 Dec 2022 05:32:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pA2ZP-0007uL-Oy; Tue, 27 Dec 2022 05:32:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pA2ZP-0005mJ-Nq; Tue, 27 Dec 2022 05:32:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0ALAfu+mRVpXDCbNOvBfSc5Q21nWcBgat/4bSltnJ3U=; b=rs+vp8lpmMNhQp33iNKtpqQKxD
	nSj6Ig3GRrEgv7Mwn0rCJXCLNqXGddZIgMju1Jau/MebwOOIIPUwpJLBD56rhLy+eqgxaTt9hwCpA
	XFHJQdgeJHoLiKkufSG642EoN+jDHJwJYQ1VdrnA8YRzmjptVSPmGqHuBwKMYgdZhK88=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175500-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175500: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1b929c02afd37871d5afb9d498426f83432e71c2
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 27 Dec 2022 05:32:11 +0000

flight 175500 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175500/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                1b929c02afd37871d5afb9d498426f83432e71c2
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   80 days
Failing since        173470  2022-10-08 06:21:34 Z   79 days  161 attempts
Testing same since   175496  2022-12-26 02:42:28 Z    1 days    3 attempts

------------------------------------------------------------
3244 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 494152 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 27 06:13:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Dec 2022 06:13:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469354.728715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pA3D8-00072t-Qn; Tue, 27 Dec 2022 06:13:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469354.728715; Tue, 27 Dec 2022 06:13:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pA3D8-00072m-Ld; Tue, 27 Dec 2022 06:13:14 +0000
Received: by outflank-mailman (input) for mailman id 469354;
 Tue, 27 Dec 2022 06:13:13 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pA3D7-00072c-NA; Tue, 27 Dec 2022 06:13:13 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pA3D7-0006le-K5; Tue, 27 Dec 2022 06:13:13 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pA3D7-0001Ce-4V; Tue, 27 Dec 2022 06:13:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pA3D7-0006iV-47; Tue, 27 Dec 2022 06:13:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HxxvnWap0njGzvv7CE7DCd9sVzHAOh/kEmhSLN1LqPM=; b=XNeYPZUQQP5H1PbrNzMizhUCHK
	jP09DmbKdyA46ZqCHDgfvli8UMPTupAC6ez3R88/3zg/Zu/mvHD2ulTxDRWFk0AUzMfBRi9ojZGGF
	sPF40jcEVPWVTrvUfZbzJDTRoyG3B7DuEp1zofYDxZoA+zleiPm0o5h7+q3oMsxFH6Rw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175501-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175501: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 27 Dec 2022 06:13:13 +0000

flight 175501 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175501/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175501
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175501
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175501
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175501
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail in 175497 pass in 175501
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175499 pass in 175501
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail in 175499 pass in 175501
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 175499 pass in 175501
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 175499 pass in 175501
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 175497
 test-armhf-armhf-xl-credit2  14 guest-start                fail pass in 175499

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-arndale  19 guest-start.2 fail in 175497 blocked in 175197
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 175497 like 175197
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 175497 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 175497 never pass
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 175499 like 175197
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 175499 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 175499 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   12 days
Testing same since   175407  2022-12-19 11:42:26 Z    7 days   16 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 27 08:21:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Dec 2022 08:21:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469369.728726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pA5DL-0003Wt-By; Tue, 27 Dec 2022 08:21:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469369.728726; Tue, 27 Dec 2022 08:21:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pA5DL-0003Wm-9L; Tue, 27 Dec 2022 08:21:35 +0000
Received: by outflank-mailman (input) for mailman id 469369;
 Tue, 27 Dec 2022 08:21:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=1K7I=4Z=linux.alibaba.com=jiapeng.chong@srs-se1.protection.inumbo.net>)
 id 1pA5DK-0003Wg-7T
 for xen-devel@lists.xenproject.org; Tue, 27 Dec 2022 08:21:34 +0000
Received: from out30-1.freemail.mail.aliyun.com
 (out30-1.freemail.mail.aliyun.com [115.124.30.1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 755d36ca-85bf-11ed-91b6-6bf2151ebd3b;
 Tue, 27 Dec 2022 09:21:31 +0100 (CET)
Received: from localhost(mailfrom:jiapeng.chong@linux.alibaba.com
 fp:SMTPD_---0VYCusZ4_1672129277) by smtp.aliyun-inc.com;
 Tue, 27 Dec 2022 16:21:25 +0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 755d36ca-85bf-11ed-91b6-6bf2151ebd3b
X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R191e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018045170;MF=jiapeng.chong@linux.alibaba.com;NM=1;PH=DS;RN=12;SR=0;TI=SMTPD_---0VYCusZ4_1672129277;
From: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
To: jgross@suse.com
Cc: boris.ostrovsky@oracle.com,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	dave.hansen@linux.intel.com,
	x86@kernel.org,
	hpa@zytor.com,
	xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	Jiapeng Chong <jiapeng.chong@linux.alibaba.com>,
	Abaci Robot <abaci@linux.alibaba.com>
Subject: [PATCH] x86/xen: Remove the unused function p2m_top_mfn_init()
Date: Tue, 27 Dec 2022 16:21:15 +0800
Message-Id: <20221227082115.59000-1-jiapeng.chong@linux.alibaba.com>
X-Mailer: git-send-email 2.20.1.7.g153144c
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function p2m_top_mfn_init is defined in the p2m.c file,
but not called elsewhere, so remove this unused function.

arch/x86/xen/p2m.c:137:24: warning: unused function 'p2m_index'.

Link: https://bugzilla.openanolis.cn/show_bug.cgi?id=3557
Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
---
 arch/x86/xen/p2m.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/arch/x86/xen/p2m.c b/arch/x86/xen/p2m.c
index 58db86f7b384..9bdc3b656b2c 100644
--- a/arch/x86/xen/p2m.c
+++ b/arch/x86/xen/p2m.c
@@ -134,11 +134,6 @@ static inline unsigned p2m_mid_index(unsigned long pfn)
 	return (pfn / P2M_PER_PAGE) % P2M_MID_PER_PAGE;
 }
 
-static inline unsigned p2m_index(unsigned long pfn)
-{
-	return pfn % P2M_PER_PAGE;
-}
-
 static void p2m_top_mfn_init(unsigned long *top)
 {
 	unsigned i;
-- 
2.20.1.7.g153144c



From xen-devel-bounces@lists.xenproject.org Tue Dec 27 09:21:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Dec 2022 09:21:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469377.728738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pA69K-0001Ez-Qu; Tue, 27 Dec 2022 09:21:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469377.728738; Tue, 27 Dec 2022 09:21:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pA69K-0001Es-Mn; Tue, 27 Dec 2022 09:21:30 +0000
Received: by outflank-mailman (input) for mailman id 469377;
 Tue, 27 Dec 2022 09:21:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pA69J-0001Ei-8o; Tue, 27 Dec 2022 09:21:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pA69J-0003C4-4h; Tue, 27 Dec 2022 09:21:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pA69I-000172-Gm; Tue, 27 Dec 2022 09:21:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pA69I-0005EY-G3; Tue, 27 Dec 2022 09:21:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wo3z+CuaaeWpmrRTsql+GjEL2+wGLHxHojYh2kxF1os=; b=hhTr0CnuFOcAPDuGTJSmIRKamY
	c5jdAc9eFuYim7RTkk2Ms8x2/qS4OQUH/M4eydtgaFasfEaa8Bg2Atk4I5lLTVHjErI+kozeFJ65e
	mbf0KggRJpnGLqT5QYUSwiom1jOaoUegqly4/Ox4zWPsJPhQCey9Q0IsYeTMOj/598/U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175502-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175502: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-arm64-pvops:kernel-build:fail:regression
    xen-unstable:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=84ece04e7f11fe30c2f83753d72f481610357ed0
X-Osstest-Versions-That:
    xen=84ece04e7f11fe30c2f83753d72f481610357ed0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 27 Dec 2022 09:21:28 +0000

flight 175502 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175502/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 175495

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 175495 pass in 175502
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat  fail pass in 175495

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle 15 migrate-support-check fail in 175495 never pass
 test-arm64-arm64-xl-seattle 16 saverestore-support-check fail in 175495 never pass
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 175495 never pass
 test-arm64-arm64-xl-credit2 15 migrate-support-check fail in 175495 never pass
 test-arm64-arm64-xl         15 migrate-support-check fail in 175495 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 175495 never pass
 test-arm64-arm64-xl-credit2 16 saverestore-support-check fail in 175495 never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check fail in 175495 never pass
 test-arm64-arm64-xl     16 saverestore-support-check fail in 175495 never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check fail in 175495 never pass
 test-arm64-arm64-xl-credit1 15 migrate-support-check fail in 175495 never pass
 test-arm64-arm64-xl-credit1 16 saverestore-support-check fail in 175495 never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 175495 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 175495 never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check fail in 175495 never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check fail in 175495 never pass
 test-arm64-arm64-xl-vhd     14 migrate-support-check fail in 175495 never pass
 test-arm64-arm64-xl-vhd 15 saverestore-support-check fail in 175495 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175495
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175495
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175495
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175495
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175495
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175495
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175495
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175495
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175495
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175495
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175495
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175495
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  84ece04e7f11fe30c2f83753d72f481610357ed0
baseline version:
 xen                  84ece04e7f11fe30c2f83753d72f481610357ed0

Last test of basis   175502  2022-12-27 01:53:44 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Dec 27 14:11:00 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Dec 2022 14:11:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469389.728752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAAfE-0003yd-2O; Tue, 27 Dec 2022 14:10:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469389.728752; Tue, 27 Dec 2022 14:10:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAAfD-0003yW-Uj; Tue, 27 Dec 2022 14:10:43 +0000
Received: by outflank-mailman (input) for mailman id 469389;
 Tue, 27 Dec 2022 14:10:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAAfC-0003yM-8B; Tue, 27 Dec 2022 14:10:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAAfC-0001AC-3z; Tue, 27 Dec 2022 14:10:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAAfB-00042r-MF; Tue, 27 Dec 2022 14:10:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAAfB-0008Hf-Lq; Tue, 27 Dec 2022 14:10:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bOzh5XQTfX/Ohj45Oe2hfGTpBca0S9cVnd9mfksN5dk=; b=U2BqHWsGtMIEn0CccZ7CdTbOYv
	Fk3Wp/AxxTVvjA4zU40inKTVx7cIM8gxxPgPzjwjDRDQLaISAL6GuEmgdgbP6weZpSmB9lyMwN3fJ
	Vv06c8nOPAin2+ChZGde638/NOU/qTssMmHyhb1GIREanvOyV3w/Vf1EZdKoiVmDn9Bg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175503-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175503: regressions - trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-rtds:<job status>:broken:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:host-install(5):broken:heisenbug
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1b929c02afd37871d5afb9d498426f83432e71c2
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 27 Dec 2022 14:10:41 +0000

flight 175503 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175503/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-rtds        <job status>                 broken
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-rtds      5 host-install(5)          broken pass in 175500

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot       fail in 175500 REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                1b929c02afd37871d5afb9d498426f83432e71c2
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   80 days
Failing since        173470  2022-10-08 06:21:34 Z   80 days  162 attempts
Testing same since   175496  2022-12-26 02:42:28 Z    1 days    4 attempts

------------------------------------------------------------
3244 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     broken  
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-rtds broken
broken-step test-amd64-amd64-xl-rtds host-install(5)

Not pushing.

(No revision log; it would be 494152 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 27 15:31:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Dec 2022 15:31:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469398.728763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pABut-0003iB-R4; Tue, 27 Dec 2022 15:30:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469398.728763; Tue, 27 Dec 2022 15:30:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pABut-0003i4-NM; Tue, 27 Dec 2022 15:30:59 +0000
Received: by outflank-mailman (input) for mailman id 469398;
 Tue, 27 Dec 2022 15:30:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pABus-0003hu-Q6; Tue, 27 Dec 2022 15:30:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pABus-0002vB-Lx; Tue, 27 Dec 2022 15:30:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pABus-00060K-1v; Tue, 27 Dec 2022 15:30:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pABus-0000wl-1Q; Tue, 27 Dec 2022 15:30:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6StWOz8ZclRJYjpGrUI5DAIePH0HlTpXqqBidTob2gY=; b=DFCWz9ARMXC4uD/ypouSlWeGnB
	eyhizlf0Fxy3buBZ604It816SeXzp+Xmcetw46VApRSpV9qz40H0Wla+Ew98etoZE9g0d4HSfwWPM
	u2W0okle2qKcV2cMOWyTqs+4a1Jve5okjxYWXI7EXVApvfJ7KTffrEqx7WKLh93c2+IY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175504-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175504: trouble: broken/fail/pass
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 27 Dec 2022 15:30:58 +0000

flight 175504 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175504/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-credit2     <job status>                 broken
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175504
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175504
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175504
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175504
 test-armhf-armhf-xl-credit2   5 host-install(5)          broken pass in 175501
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail in 175499 pass in 175504
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 175499 pass in 175504
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 175499 pass in 175504
 test-armhf-armhf-xl-credit2  14 guest-start      fail in 175501 pass in 175499
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 175501 pass in 175504
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 175501
 test-armhf-armhf-xl          18 guest-start/debian.repeat  fail pass in 175501
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 175501

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 175499 like 175197
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 175499 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 175499 never pass
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 175501 blocked in 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 175501 like 175197
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 175501 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 175501 never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 175501 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-qcow2 13 guest-start                 fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   13 days
Testing same since   175407  2022-12-19 11:42:26 Z    8 days   17 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  broken  
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-armhf-armhf-xl-credit2 broken
broken-step test-armhf-armhf-xl-credit2 host-install(5)
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 27 21:23:58 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Dec 2022 21:23:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469409.728773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAHQB-0003zO-SO; Tue, 27 Dec 2022 21:23:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469409.728773; Tue, 27 Dec 2022 21:23:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAHQB-0003zH-Pd; Tue, 27 Dec 2022 21:23:39 +0000
Received: by outflank-mailman (input) for mailman id 469409;
 Tue, 27 Dec 2022 21:23:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAHQA-0003z7-MV; Tue, 27 Dec 2022 21:23:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAHQA-0002xX-Iy; Tue, 27 Dec 2022 21:23:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAHQ9-00032f-MM; Tue, 27 Dec 2022 21:23:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAHQ9-0000SA-Lv; Tue, 27 Dec 2022 21:23:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zJck4t6RQFcSSvsyki8yZJGeWiduOnr8Ko/l4iBnHF0=; b=nF3uRLoWSLahL0WCfkp2Qu85Tm
	xF4B4idQeYU9CuvxB/I8AgEESDv9m9ITwLQHegATzk56rN319gdZr15hTMPPXMpnkF8Y6Hfom/wiS
	u7oQb1BTE5znZYws1iF8whkKohH/UgNyBQUAwdyyjXAVAZjs5sI0Qh2iuo/LdnRrmJv0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175508-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xtf test] 175508: all pass - PUSHED
X-Osstest-Versions-This:
    xtf=d1b8b7c312d2cf0e501ed43e88e45bba2c6986b5
X-Osstest-Versions-That:
    xtf=5e770502e81e6bde08f55db6b0f66fbc1013850d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 27 Dec 2022 21:23:37 +0000

flight 175508 xtf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175508/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 xtf                  d1b8b7c312d2cf0e501ed43e88e45bba2c6986b5
baseline version:
 xtf                  5e770502e81e6bde08f55db6b0f66fbc1013850d

Last test of basis   173404  2022-10-03 12:13:14 Z   85 days
Testing same since   175508  2022-12-27 20:12:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-amd64-pvops                                            pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xtf.git
   5e77050..d1b8b7c  d1b8b7c312d2cf0e501ed43e88e45bba2c6986b5 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Dec 27 22:31:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Dec 2022 22:31:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469418.728785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAITU-0002Vk-Q6; Tue, 27 Dec 2022 22:31:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469418.728785; Tue, 27 Dec 2022 22:31:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAITU-0002Vd-MX; Tue, 27 Dec 2022 22:31:08 +0000
Received: by outflank-mailman (input) for mailman id 469418;
 Tue, 27 Dec 2022 22:31:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAITT-0002VT-J6; Tue, 27 Dec 2022 22:31:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAITT-0004V9-Fl; Tue, 27 Dec 2022 22:31:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAITS-0004gk-Rn; Tue, 27 Dec 2022 22:31:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAITS-0002HI-RM; Tue, 27 Dec 2022 22:31:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=f2wRsJLz2YJsPRzj7V0n/kMqp8Smq/XVyUq7rhyDpJ4=; b=HnCqtfEO6+CIHCIEaJh+l9Kwj7
	/7CdK0S3Q5nw1wMrUkTX0l6C9ITroT/wCX9bQTF4sc+n/qO4274U+LTvvX5Y2S3J4LS0GCtruBazI
	xq0WeYYzIAjIdlmV0LC18Dldjafde7cuxy51twcS/2wJM4ExiTfJwU5YfagjxAh1qqfA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175506-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175506: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1b929c02afd37871d5afb9d498426f83432e71c2
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 27 Dec 2022 22:31:06 +0000

flight 175506 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175506/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                1b929c02afd37871d5afb9d498426f83432e71c2
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   81 days
Failing since        173470  2022-10-08 06:21:34 Z   80 days  163 attempts
Testing same since   175496  2022-12-26 02:42:28 Z    1 days    5 attempts

------------------------------------------------------------
3244 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 494152 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Dec 27 23:57:36 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 27 Dec 2022 23:57:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469427.728796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAJoy-00024m-2E; Tue, 27 Dec 2022 23:57:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469427.728796; Tue, 27 Dec 2022 23:57:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAJox-00024f-VS; Tue, 27 Dec 2022 23:57:23 +0000
Received: by outflank-mailman (input) for mailman id 469427;
 Tue, 27 Dec 2022 23:57:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAJow-00024U-7U; Tue, 27 Dec 2022 23:57:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAJow-0006Kd-4H; Tue, 27 Dec 2022 23:57:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAJov-0007Or-LF; Tue, 27 Dec 2022 23:57:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAJov-000799-Kl; Tue, 27 Dec 2022 23:57:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3TA1i1QdtZgZLW7SqhQ28dQaOJVynxkR7MXw3IUk8o8=; b=S/iAJ65yIhMk2bmN1Ygrdd2PQE
	/IRndL3yvdmN/oXefzBeA2epSZF0HfHaoOZ3T1KvWlrf9QJPs/b+iUA2jci7CeFNegdUp+lhcPw8R
	/gnZDAD+0+L6ojuayEIPNngBNXyDvubqSN9tD3UawroUPTIFj48yL5nwQIcnZSPjS4/s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175507-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175507: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 27 Dec 2022 23:57:21 +0000

flight 175507 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175507/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175507
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175507
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175507
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175507
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 175499 pass in 175507
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175499 pass in 175507
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail in 175499 pass in 175507
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 175499 pass in 175507
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 175499 pass in 175507
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-armhf-armhf-xl-credit2  14 guest-start                fail pass in 175499

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 175499 like 175197
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 175499 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 175499 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   13 days
Testing same since   175407  2022-12-19 11:42:26 Z    8 days   18 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-amd64-xl-credit2 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 04:52:23 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 04:52:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469440.728807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAOQD-0008FK-7b; Wed, 28 Dec 2022 04:52:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469440.728807; Wed, 28 Dec 2022 04:52:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAOQD-0008FC-0Q; Wed, 28 Dec 2022 04:52:09 +0000
Received: by outflank-mailman (input) for mailman id 469440;
 Wed, 28 Dec 2022 04:52:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8Lbo=42=gmail.com=alistair23@srs-se1.protection.inumbo.net>)
 id 1pAOQB-0008F6-Iu
 for xen-devel@lists.xenproject.org; Wed, 28 Dec 2022 04:52:07 +0000
Received: from mail-vk1-xa2b.google.com (mail-vk1-xa2b.google.com
 [2607:f8b0:4864:20::a2b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 601b975e-866b-11ed-8fd4-01056ac49cbb;
 Wed, 28 Dec 2022 05:52:05 +0100 (CET)
Received: by mail-vk1-xa2b.google.com with SMTP id 6so7017592vkz.0
 for <xen-devel@lists.xenproject.org>; Tue, 27 Dec 2022 20:52:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 601b975e-866b-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=Wk+91qCpE/cR8piAuuFfnNvgxdIV9CiddMwOOFabXNI=;
        b=LB0NvY4ePCQ93iXU13aXamHXuhhjRftMGv4oUC7itpA4oL8IjAcPUQyVT5xpE+3vbo
         tMe5z/5xaX/DnrFxE1MWRQ8CYV2hl5klcyT5wD+jDHBBpbTgT3RyEUnGG5EwSLjeyJ/+
         LKbkUe9Nkam9/muK2kbVE8j8CZhpq0toya/zk3nTDZ28eufT8bZt30h4Z7GQHDmVwcEv
         4570NDoIItLfM4DLubaeekACMgyhBEst2vNAE0KqE56pcYXLfwfRHh9Ef36iwOgxNXta
         k1fSrQoJP53tZBPseHvvkGCjYyKAfPX5mIkFdPuGf2ObaxySSCteU8tmXEhVwK/s4sDZ
         GXKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Wk+91qCpE/cR8piAuuFfnNvgxdIV9CiddMwOOFabXNI=;
        b=vJz770Zk2AR7s5EKOaCKDuG5i91rZV2g3b3fIb3SYeZfEZ8dROnYsXHQx8tHMyC9Lo
         MoWe/SBmbC5aRWp64LaZD/rsPgJd0tdGPDPKxjzNxKFDKbNlVaOY9c/3mwM+pTkjyEXR
         s5tn5wJpYZyCTmwohtxClUhDTWgzBIxajV/JmZOo07Vl5kxr87WkHfnNI4i9KUA6BhTP
         C046U5J4M3pw2NfGHW81Xvmm4iEseDUNPrIrT34d7OO0KjKK6P5FDOlcqnQhneHjunJ8
         upYeQm/VVpxSXCwrSmbPCA7h88XqgUzTzbHCojJPzzNqmw1u4J/PKuUi0xcFZ0/RQIJo
         br7w==
X-Gm-Message-State: AFqh2koQ2HJKVaaopuKfOAcHA46CARGV+81lOJAuw/Iy+tp4BbW0ziSF
	317A8HQ82vDKKAfuqk8Quqz84CXh8h2OClcygfI=
X-Google-Smtp-Source: AMrXdXv41iqDphK9+yvfL/lV4G7O2wdojoIvZJS1QPAvIv0Jq1m74GFayQFAb1XvYI8NiyA05MH9Jhp5q9g6ZsmdnIY=
X-Received: by 2002:a1f:a954:0:b0:3b8:ba98:bd43 with SMTP id
 s81-20020a1fa954000000b003b8ba98bd43mr2649476vke.34.1672203124441; Tue, 27
 Dec 2022 20:52:04 -0800 (PST)
MIME-Version: 1.0
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
 <5d5ec5fbd8787ed8f86bf84a5ac291d07a20b307.1671789736.git.oleksii.kurochko@gmail.com>
 <3343c927-0f27-e285-5b6e-281c61939bb4@xen.org> <43d726761900ba3d8b4919fc29fe7cb1991ac656.camel@gmail.com>
In-Reply-To: <43d726761900ba3d8b4919fc29fe7cb1991ac656.camel@gmail.com>
From: Alistair Francis <alistair23@gmail.com>
Date: Wed, 28 Dec 2022 14:51:38 +1000
Message-ID: <CAKmqyKMmW7rRXymMD6dNeLTLbUaSwO5nw=hJTk_xNvsZ3pg7jA@mail.gmail.com>
Subject: Re: [XEN PATCH v1 1/4] arch/riscv: initial RISC-V support to
 build/run minimal Xen
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, 
	Alistair Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"

On Mon, Dec 26, 2022 at 9:14 PM Oleksii <oleksii.kurochko@gmail.com> wrote:
>
> Hi Julien,
>
> Thanks for your comments.
>
> On Fri, 2022-12-23 at 13:50 +0000, Julien Grall wrote:
> > Hi Oleksii,
> >
> > + Anthony for the Makefile changes.
> >
> > On 23/12/2022 11:16, Oleksii Kurochko wrote:
> > > The patch provides a minimal amount of changes to start
> > > build and run minimal Xen binary at GitLab CI&CD that will
> > > allow continuous checking of the build status of RISC-V Xen.
> > >
> > > RISC-V Xen can be built by the following instructions:
> > >    $ CONTAINER=riscv64 ./automation/scripts/containerize \
> > >         make XEN_TARGET_ARCH=riscv64 tiny64_defconfig
> > >    $ CONTAINER=riscv64 ./automation/scripts/containerize \
> > >         make XEN_TARGET_ARCH=riscv64 -C xen build
> > >
> > > RISC-V Xen can be run as:
> > >    $ qemu-system-riscv64 -M virt -smp 1 -nographic -m 2g \
> > >         -kernel xen/xen
> > >
> > > To run in debug mode should be done the following instructions:
> > >   $ qemu-system-riscv64 -M virt -smp 1 -nographic -m 2g \
> > >          -kernel xen/xen -s -S
> > >   # In separate terminal:
> > >   $ riscv64-buildroot-linux-gnu-gdb
> > >   $ target remote :1234
> > >   $ add-symbol-file <xen_src>/xen/xen-syms 0x80200000
> > >   $ hb *0x80200000
> > >   $ c # it should stop at instruction j 0x80200000 <start>
> > >
> > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > > ---
> > >   xen/arch/riscv/Makefile             | 30 +++++++++++++
> > >   xen/arch/riscv/arch.mk              | 10 +++++
> > >   xen/arch/riscv/include/asm/config.h | 26 ++++++++++-
> > >   xen/arch/riscv/include/asm/types.h  | 11 +++++
> > >   xen/arch/riscv/riscv64/Makefile     |  2 +-
> > >   xen/arch/riscv/riscv64/head.S       |  2 +-
> > >   xen/arch/riscv/xen.lds.S            | 69
> > > +++++++++++++++++++++++++++++
> > >   7 files changed, 147 insertions(+), 3 deletions(-)
> > >   create mode 100644 xen/arch/riscv/include/asm/types.h
> > >   create mode 100644 xen/arch/riscv/xen.lds.S
> > >
> > > diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
> > > index 942e4ffbc1..893dd19ea6 100644
> > > --- a/xen/arch/riscv/Makefile
> > > +++ b/xen/arch/riscv/Makefile
> > > @@ -1,2 +1,32 @@
> > > +obj-$(CONFIG_RISCV_64) += riscv64/
> > > +
> > > +$(TARGET): $(TARGET)-syms
> > > +       $(OBJCOPY) -O binary -S $< $@
> > > +
> > > +$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
> > > +       $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
> > > +               $(SYMBOLS_DUMMY_OBJ) -o $(@D)/.$(@F).0
> > > +       $(NM) -pa --format=sysv $(@D)/.$(@F).0 \
> > > +               | $(objtree)/tools/symbols $(all_symbols) --sysv --
> > > sort >$(@D)/.$(@F).0.S
> > > +       $(MAKE) $(build)=$(@D) $(@D)/.$(@F).0.o
> > > +       $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
> > > +               $(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
> > > +       $(NM) -pa --format=sysv $(@D)/.$(@F).1 \
> > > +               | $(objtree)/tools/symbols $(all_symbols) --sysv --
> > > sort >$(@D)/.$(@F).1.S
> > > +       $(MAKE) $(build)=$(@D) $(@D)/.$(@F).1.o
> > > +       $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $<
> > > $(build_id_linker) \
> > > +               $(@D)/.$(@F).1.o -o $@
> > > +       $(NM) -pa --format=sysv $(@D)/$(@F) \
> > > +               | $(objtree)/tools/symbols --all-symbols --xensyms
> > > --sysv --sort \
> > > +               >$(@D)/$(@F).map
> > > +       rm -f $(@D)/.$(@F).[0-9]*
> > > +
> > > +$(obj)/xen.lds: $(src)/xen.lds.S FORCE
> > > +               $(call if_changed_dep,cpp_lds_S)
> > > +
> > > +.PHONY: clean
> > > +clean::
> > > +       rm -f $(objtree)/.xen-syms.[0-9]*
> >
> > Any reason to not use the variable clean-files as this is done for
> > the
> > other architectures?
>
> There is no reason not use the variable clean-files. I missed the
> vairable clean-files so the patch will be updated to use the
> variable clean-files instead of the variable clean.
>
> >
> > > +
> > >   .PHONY: include
> > >   include:
> > > diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
> > > index ae8fe9dec7..9292b72718 100644
> > > --- a/xen/arch/riscv/arch.mk
> > > +++ b/xen/arch/riscv/arch.mk
> > > @@ -11,3 +11,13 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       :=
> > > $(riscv-march-y)c
> > >   # -mcmodel=medlow would force Xen into the lower half.
> > >
> > >   CFLAGS += -march=$(riscv-march-y) -mstrict-align -mcmodel=medany
> > > +
> > > +# TODO: Drop override and SYMBOLS_DUMMY_OBJ when more
> > > +# of the build is working
> > > +override ALL_OBJS-y = arch/$(TARGET_ARCH)/built_in.o
> > > +override ALL_LIBS-y =
> > > +ifneq ($(wildcard $(objtree)/common/symbols-dummy.o),)
> > > +SYMBOLS_DUMMY_OBJ=$(objtree)/common/symbols-dummy.o
> > > +else
> > > +SYMBOLS_DUMMY_OBJ=
> > > +endif
> >
> > Why do you need the ifneq here?
>
> The only reason for the ifneq here is to skip common
> stuff from the build of minimal RISC-V Xen binary as it
> requires pushing from the start a big amount of headers and function
> stubs which at least will lead to a huge patch and complicate a code
> review.
>
> It is possible to remove <common/symbols-dummy.o> from xen-syms
> target in <xen/arch/riscv/Makefile> but an intention here was
> to remain processing of xen-syms target similar to the original
> one and it is the second reason why the ifneq was introduced and
> added the comment "TODO: Drop ... SYMBOLS_DUMMY_OBJ when more
> of the build is working".
>
> >
> > > diff --git a/xen/arch/riscv/include/asm/config.h
> > > b/xen/arch/riscv/include/asm/config.h
> > > index e2ae21de61..756607a4a2 100644
> > > --- a/xen/arch/riscv/include/asm/config.h
> > > +++ b/xen/arch/riscv/include/asm/config.h
> > > @@ -28,7 +28,7 @@
> > >
> > >   /* Linkage for RISCV */
> > >   #ifdef __ASSEMBLY__
> > > -#define ALIGN .align 2
> > > +#define ALIGN .align 4
> >
> > Can you explain in the commit message why you need to change this?
> > But
> > ideally, this change should be part of a separate one.
>
> ALIGN was changed to equal the implementation-enforced instruction
> address alignment (4-bytes), in order to ensure that entry points are
> properly aligned.
> If to be honest I haven't verified that and took these changes from
> the initial patch series pushed by Bobby Eshleman.
>
> >
> > >
> > >   #define ENTRY(name)                                \
> > >     .globl name;                                     \
> > > @@ -36,6 +36,30 @@
> > >     name:
> > >   #endif
> > >
> > > +/*
> > > + * Definition of XEN_VIRT_START should look like:
> > > + *   define XEN_VIRT_START _AT(vaddr_t,0x00200000)
> > > + * It requires including of additional headers which
> > > + * will increase an amount of files unnecessary for
> > > + * minimal RISC-V Xen build so set value of
> > > + * XEN_VIRT_START explicitly.
> > > + *
> > > + * TODO: change it to _AT(vaddr_t,0x00200000) when
> > > + *       necessary header will be pushed.
> >
> > The address here doesn't match the one below. I know this is an
> > example
> > but this is fairly confusing.
>
> This was done only as an example.
>
> >
> > > + */
> > > +#define XEN_VIRT_START  0x80200000
> >
> > I think you at least want to use _AT(unsigned long, ...) here to make
> > clear this value should be interpreted as an unsigned value.
> >
> > You could even define vaddr_t now as you introduce a dummy types.h
> > below.
>
> It makes sense to push the definition of vaddr_t and use <xen/const.h>
> to be able to use _AT() macros.
>
> Probably it would be nice to introduce others from types.h from the
> start, wouldn't it? Or would it be better to leave the patch minimal
> and introduce only types necessary for vaddr_t?

It would be best to add types.h early. I don't really see a reason not to

>
> >
> > > +/*
> > > + * PAGE_SIZE is defined in <{asm,xen}/page-*.h> but to
> > > + * remove unnecessary headers for minimal
> > > + * build headers it will be better to set PAGE_SIZE
> > > + * explicitly.
> >
> > TBH, I think this is a shortcut that is unnecessary and will only
> > introduce extra churn in the future (for instance, you will need to
> > modify the include in xen.lds.S).
> >
> > But I am not the maintainer, so I will leave that decision to them
> > whether this is acceptable.
>
> I didn't get what you mean by a shortcut here.
>
> The idea was to introduce PAGE_SIZE in the config.h directly for now
> to keep build of RISC-V Xen minimal as much as possible otherwise
> it would be required to push dummy <asm/page-bits.h> to get only one
> needed definition of PAGE_SIZE to have buildable Xen.
> Thereby it was decided to define PAGE_SIZE directly in <asm/config.h>
> and remove it after all definitions from <{asm,xen}/page-*.h> will be
> needed.
>
> >
> > > + *
> > > + * TODO: remove it when <asm/page-*.h> will be needed
> > > + *       defintion of PAGE_SIZE should be remove from
> >
> > s/defintion/definition/
>
> Thanks for finding the typo. Will update it in the next version of
> the patch.
>
> >
> > > + *       this header.
> > > + */
> > > +#define PAGE_SIZE       4096 > +
> > >   #endif /* __RISCV_CONFIG_H__ */
> > >   /*
> > >    * Local variables:
> > > diff --git a/xen/arch/riscv/include/asm/types.h
> > > b/xen/arch/riscv/include/asm/types.h
> > > new file mode 100644
> > > index 0000000000..afbca6b15c
> > > --- /dev/null
> > > +++ b/xen/arch/riscv/include/asm/types.h
> > > @@ -0,0 +1,11 @@
> > > +#ifndef __TYPES_H__
> > > +#define __TYPES_H__
> > > +
> > > +/*
> > > + *
> > > + * asm/types.h is required for xen-syms.S file which
> > > + * is produced by tools/symbols.
> > > + *
> > > + */
> > > +
> > > +#endif
> > > diff --git a/xen/arch/riscv/riscv64/Makefile
> > > b/xen/arch/riscv/riscv64/Makefile
> > > index 15a4a65f66..3340058c08 100644
> > > --- a/xen/arch/riscv/riscv64/Makefile
> > > +++ b/xen/arch/riscv/riscv64/Makefile
> > > @@ -1 +1 @@
> > > -extra-y += head.o
> > > +obj-y += head.o
> >
> > This changes want to be explained. So does...
>
> RISC-V 64 would be supported now and minimal build is built
> now only obj-y stuff.
>
> >
> > > diff --git a/xen/arch/riscv/riscv64/head.S
> > > b/xen/arch/riscv/riscv64/head.S
> > > index 0dbc27ba75..0330b29c01 100644
> > > --- a/xen/arch/riscv/riscv64/head.S
> > > +++ b/xen/arch/riscv/riscv64/head.S
> > > @@ -1,6 +1,6 @@
> > >   #include <asm/config.h>
> > >
> > > -        .text
> > > +        .section .text.header, "ax", %progbits
> >
> > ... AFAICT this is to match the recent change in the build system.
>
> I am not sure that I get you here but it was done to make 'start'
> instructions to be the first instructions that will be executed and
> to make 'start' symbol to be the first in xen-syms.map file otherwise
> gdb shows that Xen starts from the wrong instructions, fails to find
> correct source file and goes crazy.
>
> >
> > >
> > >   ENTRY(start)
> > >           j  start
> > > diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
> > > new file mode 100644
> > > index 0000000000..60628b3856
> > > --- /dev/null
> > > +++ b/xen/arch/riscv/xen.lds.S
> > > @@ -0,0 +1,69 @@
> > > +#include <xen/xen.lds.h>
> > > +
> > > +#undef ENTRY
> > > +#undef ALIGN
> > > +
> > > +OUTPUT_ARCH(riscv)
> > > +ENTRY(start)
> > > +
> > > +PHDRS
> > > +{
> > > +  text PT_LOAD ;
> > > +#if defined(BUILD_ID)
> > > +  note PT_NOTE ;
> > > +#endif
> > > +}
> > > +
> > > +SECTIONS
> > > +{
> > > +  . = XEN_VIRT_START;
> > > +  _start = .;
> > > +  .text : {
> > > +        _stext = .;
> > > +       *(.text.header)
> > > +       *(.text)
> >
> > You are missing some sections here such as .text.cold,
> > .text.unlikely...
> >
> > I understand they are probably not used yet. But it will avoid any
> > nasty
> > surprise if they are forgotten.
>
> They were skipped because they aren't use for now. Will add it in
> the next version of the patch.
>
> >
> > > +       *(.gnu.warning)
> > > +       . = ALIGN(POINTER_ALIGN);
> > > +       _etext = .;
> > > +  } :text
> > > +
> > > +    . = ALIGN(PAGE_SIZE);
> > > +  .rodata : {
> > > +        _srodata = .;
> >
> > You introduce _srodata but I can't find the matching _erodata.
>
> My fault. Thanks. Will add it in the the next version of the patch.
>
> >
> > > +       *(.rodata)
> > > +       *(.rodata.*)
> > > +       *(.data.rel.ro)
> > > +       *(.data.rel.ro.*)
> > > +  } :text
> > > +
> > > +#if defined(BUILD_ID)
> > > +  . = ALIGN(4);
> > > +  .note.gnu.build-id : {
> > > +       __note_gnu_build_id_start = .;
> > > +       *(.note.gnu.build-id)
> > > +       __note_gnu_build_id_end = .;
> > > +  } :note :text
> > > +#endif
> > > +
> > > +  . = ALIGN(PAGE_SIZE);
> > > +  .data : { /* Data */
> > > +       *(.data .data.*)
> >
> > It would be better if you introduce .data.read_mostly right now
> > separately.
> >
> > You also want *.data.page_aligned in .data.
> >
> > Lastly you are missing CONSTRUCTORS
>
> I will add offred sections and CONSTUCTORS in the next version of
> the patch
>
> >
> > > +  } :text
> > > +
> >
> > I am assuming you are going to add .init.* afterwards?
> >
> > > +  . = ALIGN(PAGE_SIZE);
> > > +  .bss : {
> > > +       __bss_start = .;
> > > +       *(.bss .bss.*)
> > > +       . = ALIGN(POINTER_ALIGN);
> > > +       __bss_end = .;
> >
> > Same as .data, I would recommend to properly populate it.
>
> Do you mean to add .bss.stack_aligned, .bss.page_aligned, .bss.percpu*?
> One of the reasons they were skipped is they aren't used now and one
> more reason if to believe xen.lds.S file from ARM
> .bss.percpu.read_mostly should be aligned by SMP_CACHE_BYTES which
> requires dummy <asm/cache.h> (or not ?) which will increase the patch
> with unneeded stuff for now.

I think we should aim to get the linker file sorted right from the
start. Otherwise someone is going to hit a nasty bug at some point in
the future.

Alistair

>
> >
> > Cheers,
> >
>
> Best regards,
>  Oleksii
>


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 04:55:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 04:55:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469447.728818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAOTZ-0000Oy-JQ; Wed, 28 Dec 2022 04:55:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469447.728818; Wed, 28 Dec 2022 04:55:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAOTZ-0000Or-Gj; Wed, 28 Dec 2022 04:55:37 +0000
Received: by outflank-mailman (input) for mailman id 469447;
 Wed, 28 Dec 2022 04:55:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8Lbo=42=gmail.com=alistair23@srs-se1.protection.inumbo.net>)
 id 1pAOTY-0000Ol-0C
 for xen-devel@lists.xenproject.org; Wed, 28 Dec 2022 04:55:36 +0000
Received: from mail-vk1-xa32.google.com (mail-vk1-xa32.google.com
 [2607:f8b0:4864:20::a32])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dcd01e16-866b-11ed-8fd4-01056ac49cbb;
 Wed, 28 Dec 2022 05:55:35 +0100 (CET)
Received: by mail-vk1-xa32.google.com with SMTP id i84so120508vke.7
 for <xen-devel@lists.xenproject.org>; Tue, 27 Dec 2022 20:55:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dcd01e16-866b-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=xyaZqgnWEWqsnaCpRBxvnVywkzHqhPIlI8PTDj6813g=;
        b=j7xeOOMvgyTtIyjH5sqOW389Q5kpJ1a+j7HyEWd9sOJzusc+f7kskdlLdIeZAc8T7r
         btQqTKMYl7ztZ0A0hq3JStpkqi2GKjGcP0bWgNPPBGie5jFn3JuiJ9TPDjd8nzOWqntc
         V0KHnBW8AsgJLhGOCuED+LWqesFOpWEhfLuyrHWMx5/kwEBNYe5UsakbUhhtjAfZ+zj0
         183Jo2uncR7hcSTcBxO+tJOdAa5DyWoADYW/l2DUsdGxvJyJyxGGF+lRwrNrnMY2poAC
         T5NIqS6hDk9K3m5fzWRAt1FjyVlee9Ii37xmP53emyWcSZYsIWeQZs+LpWXc6aT7Pvj9
         Emjg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=xyaZqgnWEWqsnaCpRBxvnVywkzHqhPIlI8PTDj6813g=;
        b=Ej0ArRZBmvWr1mc2RjA1xRdXzrmxlVYRm4bWRQEIQGm+75sR5eLwjIf5e/Ye0d6pcp
         UM9BdmOo077oaL1w3KTXpejPLddhfV4kglaj+T6Tq6465iJ67KUFn+sc1yAM6NEDYdmL
         IQ9PeE0IAmT9metcFxNt4fTkxGhZrV1nx32lEzikCPqcDT/YWueoYopmHWGpX3dXgyDa
         yjVCtd7nbLrtaf3X92ZzbssSya0x0LbeR0jCVWpYbkf22cZH6U7TNXR+HXY8JxuuVc8s
         dSiuZVBZMjNxUb80mtvmvEF7ceUNJXpuJyHZq2/T7xCkllyu0od7BWlbLMXSyeXWEI+g
         C2CA==
X-Gm-Message-State: AFqh2kpqFX/E/yfEZkjXfWBR3JmluH28Zws/Ql4BM+zIB7hHUwR+rODc
	A2lSiRWgkPBFQotddYRWHL+w3/3qkJsZu3atMDM=
X-Google-Smtp-Source: AMrXdXuKbF6Mtrvj6Q6Uk/TyUzH0HKLL1Fobur6v2W+w/pStaOm0JjS+E6RuaWTk3xaoLzKCUbi75QwMt0dP5TTTW7E=
X-Received: by 2002:a1f:ab86:0:b0:3d5:5f93:53f with SMTP id
 u128-20020a1fab86000000b003d55f93053fmr887543vke.7.1672203333783; Tue, 27 Dec
 2022 20:55:33 -0800 (PST)
MIME-Version: 1.0
References: <cover.1671789736.git.oleksii.kurochko@gmail.com> <c16097445ce25700b3464d3813c7cbc69d998dd7.1671789736.git.oleksii.kurochko@gmail.com>
In-Reply-To: <c16097445ce25700b3464d3813c7cbc69d998dd7.1671789736.git.oleksii.kurochko@gmail.com>
From: Alistair Francis <alistair23@gmail.com>
Date: Wed, 28 Dec 2022 14:55:07 +1000
Message-ID: <CAKmqyKP4=-m2+PK2v+tTsSRPFkV8z=aQSJQqAZsOSw2WELNR5A@mail.gmail.com>
Subject: Re: [XEN PATCH v1 4/4] automation: add RISC-V 64 cross-build tests
 for Xen
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, 
	Doug Goldstein <cardoe@cardoe.com>
Content-Type: text/plain; charset="UTF-8"

On Fri, Dec 23, 2022 at 9:17 PM Oleksii Kurochko
<oleksii.kurochko@gmail.com> wrote:
>
> Add build jobs to cross-compile Xen-only for RISC-V 64.
>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  automation/gitlab-ci/build.yaml | 43 +++++++++++++++++++++++++++++++++
>  automation/scripts/build        |  4 +--
>  2 files changed, 45 insertions(+), 2 deletions(-)
>
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 93d9ff69a9..d97b2aa788 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -172,6 +172,33 @@
>    variables:
>      <<: *gcc
>
> +.riscv64-cross-build-tmpl:
> +  <<: *build
> +  variables:
> +    XEN_TARGET_ARCH: riscv64
> +  tags:
> +    - x86_64
> +
> +.riscv64-cross-build:
> +  extends: .riscv64-cross-build-tmpl
> +  variables:
> +    debug: n
> +
> +.riscv64-cross-build-debug:
> +  extends: .riscv64-cross-build-tmpl
> +  variables:
> +    debug: y
> +
> +.gcc-riscv64-cross-build:
> +  extends: .riscv64-cross-build
> +  variables:
> +    <<: *gcc
> +
> +.gcc-riscv64-cross-build-debug:
> +  extends: .riscv64-cross-build-debug
> +  variables:
> +    <<: *gcc
> +
>  # Jobs below this line
>
>  archlinux-gcc:
> @@ -615,6 +642,19 @@ alpine-3.12-gcc-debug-arm64-boot-cpupools:
>      EXTRA_XEN_CONFIG: |
>        CONFIG_BOOT_TIME_CPUPOOLS=y
>
> +# RISC-V 64 cross-build
> +riscv64-cross-gcc:
> +  extends: .gcc-riscv64-cross-build
> +  variables:
> +    CONTAINER: archlinux:riscv64
> +    KBUILD_DEFCONFIG: tiny64_defconfig
> +
> +riscv64-cross-gcc-debug:
> +  extends: .gcc-riscv64-cross-build-debug
> +  variables:
> +    CONTAINER: archlinux:riscv64
> +    KBUILD_DEFCONFIG: tiny64_defconfig
> +
>  ## Test artifacts common
>
>  .test-jobs-artifact-common:
> @@ -690,3 +730,6 @@ kernel-5.10.74-export:
>        - binaries/bzImage
>    tags:
>      - x86_64
> +
> +# # RISC-V 64 test artificats
> +# # TODO: add RISC-V 64 test artitifacts
> diff --git a/automation/scripts/build b/automation/scripts/build
> index 026f480e76..d0632a2bd5 100755
> --- a/automation/scripts/build
> +++ b/automation/scripts/build
> @@ -34,8 +34,8 @@ fi
>  # to exit early -- bash is invoked with -e.
>  cp xen/.config xen-config
>
> -# arm32 only cross-compiles the hypervisor
> -if [[ "${XEN_TARGET_ARCH}" = "arm32" ]]; then
> +# arm32 & riscv64 only cross-compiles the hypervisor
> +if [[ "${XEN_TARGET_ARCH}" = "arm32" ]] || [[ "${XEN_TARGET_ARCH}" = "riscv64" ]]; then
>      hypervisor_only="y"
>  fi
>
> --
> 2.38.1
>
>


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 05:33:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 05:33:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469454.728828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAP41-0004yY-Ct; Wed, 28 Dec 2022 05:33:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469454.728828; Wed, 28 Dec 2022 05:33:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAP41-0004yR-AA; Wed, 28 Dec 2022 05:33:17 +0000
Received: by outflank-mailman (input) for mailman id 469454;
 Wed, 28 Dec 2022 05:21:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Siob=42=opensource.wdc.com=prvs=354542e4c=alistair.francis@srs-se1.protection.inumbo.net>)
 id 1pAOsJ-000418-1x
 for xen-devel@lists.xenproject.org; Wed, 28 Dec 2022 05:21:11 +0000
Received: from esa1.hgst.iphmx.com (esa1.hgst.iphmx.com [68.232.141.245])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a6b9845-866f-11ed-8fd4-01056ac49cbb;
 Wed, 28 Dec 2022 06:21:02 +0100 (CET)
Received: from uls-op-cesaip01.wdc.com (HELO uls-op-cesaep01.wdc.com)
 ([199.255.45.14])
 by ob1.hgst.iphmx.com with ESMTP; 28 Dec 2022 13:20:59 +0800
Received: from uls-op-cesaip01.wdc.com ([10.248.3.36])
 by uls-op-cesaep01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 27 Dec 2022 20:39:05 -0800
Received: from usg-ed-osssrv.wdc.com ([10.3.10.180])
 by uls-op-cesaip01.wdc.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 27 Dec 2022 21:21:00 -0800
Received: from usg-ed-osssrv.wdc.com (usg-ed-osssrv.wdc.com [127.0.0.1])
 by usg-ed-osssrv.wdc.com (Postfix) with ESMTP id 4Nhfxl2cm8z1RwtC
 for <xen-devel@lists.xenproject.org>; Tue, 27 Dec 2022 21:20:59 -0800 (PST)
Received: from usg-ed-osssrv.wdc.com ([127.0.0.1])
 by usg-ed-osssrv.wdc.com (usg-ed-osssrv.wdc.com [127.0.0.1]) (amavisd-new,
 port 10026)
 with ESMTP id MNGdOAOUF-w6 for <xen-devel@lists.xenproject.org>;
 Tue, 27 Dec 2022 21:20:58 -0800 (PST)
Received: from toolbox.wdc.com (unknown [10.225.167.13])
 by usg-ed-osssrv.wdc.com (Postfix) with ESMTPSA id 4Nhfxg69Wdz1RvLy;
 Tue, 27 Dec 2022 21:20:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a6b9845-866f-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com;
  t=1672204862; x=1703740862;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=250uAQsDV16o/PqwGfmk5JGUTH9YnirGcQ3w6ZQnE8w=;
  b=cJAdCXiHzQtvwYMc5jkfbp7J7j+mJgZZePxHfgkr1r8Lzd23cKfYU4ZV
   0L1B5/6yJWJB4gz0LK0e9wbhQQNecFOOTouhyjm3+E6SEG1R0NdLW3XrY
   yejltxWnHoMn9FUaXXc/7oG7HqRROooHU+o6YFMfgXjopBjIaUxPxy8V3
   jmNUKvae/OVQ21zFT3kdDAvUC+5p4HrVvxCcKBvqgUj8dGgNo4Ah6C2H4
   HB6DBkgpL6TEGQrG4o5BTH7qbZbiETTChoi13/iCogRHUczqbamwTxOHR
   9YdY+FCmkKwuzVOmV9GmR40VKlsVa/XP0Z8tEorHq2tPkkPh4FIYYDouv
   w==;
X-IronPort-AV: E=Sophos;i="5.96,280,1665417600"; 
   d="scan'208";a="331619909"
IronPort-SDR: JzNqxlhlN6tR3WCOu6/EIJXGTSwIZBSSj9Na8fTilzNdl84PPhhR5MSRvXWVd+Ma+xM8/+0TZ3
 biHi6dkx1Re+5Z8rDqD4QPdy/+XAzxxVHpJHoIJQAGgNB0QyOXbI+CuWteYu3UoC6erdbsO3by
 LvaD+rGwpKQrV+Jxyo8IGz+7fE7Ff2VN9prdUWN/z/GRQI2gXgrB6xnoEAVmGlpFR0QIxdCtGi
 OJLqEE5ZXKTt80VwuQWxubmAc+VrzgTP5L+in24B8sg1+DaBQMpd8b7++e1XkIuH/Q7E9TXcN1
 mgs=
IronPort-SDR: 1JPXX0mbwmAVcAhhxc8/Sb5iyOZAvN/xD7STLfhKWpq8H1BNAmcRglGJSbI78YkbIyMB59WUa+
 jRrFlsaf2Mp5NyLQ+yDxK6jiewGRDtbAUewWBtghl1BkDC/nrXz26I+aLJpbiDcplMWO+bRdtu
 aLBn2kK8S6/hQ7E75NyLMk1rult1kbLSi5GIBRj4kjKKh7w4iA92pJkVNie/aXXtUX2JHsxyvG
 sFI6iVAoMOsKdPm9qTjEHLCPCwF11S9u1NS2BKMLJeFBlt5KKNHcJxl/SK5gY8+iY3xEV0gVXX
 d9Y=
WDCIronportException: Internal
Authentication-Results: usg-ed-osssrv.wdc.com (amavisd-new); dkim=pass
	reason="pass (just generated, assumed good)"
	header.d=opensource.wdc.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=
	opensource.wdc.com; h=content-transfer-encoding:mime-version
	:x-mailer:message-id:date:subject:to:from; s=dkim; t=1672204858;
	 x=1674796859; bh=250uAQsDV16o/PqwGfmk5JGUTH9YnirGcQ3w6ZQnE8w=; b=
	sSfPZZMOQ4ds6fZBjsvTM6PTirmil34mrffUhFCcMKAoJ9Jl5NIn8Tcm9uGY5/Vd
	Tk1lN839VSxoT+SMKqCQ1PfKU3BCvqcdxXn+dL1GlowUBoQn1kDjjJDI/LMkBONj
	JPVRNtCnRyU+JuqRrHBrNALlmE2rMJY3+aGA+SgXpyGF8Fguvhib90+MC5kqAE0I
	cLOuV7YmnG37p2/vfOavi4FsHSCq/OzfhrArPyf8vbCN4ojbBvjLN46uOybaXrS1
	Nd0wmSNCwn1o6BPokAYyLpuXMI6plGVNs9g4N/i7XEF/YGoa5k7geOYijpQrp8Ak
	jn6tGFMX2PKLO2jyWjiSNw==
X-Virus-Scanned: amavisd-new at usg-ed-osssrv.wdc.com
From: Alistair Francis <alistair.francis@opensource.wdc.com>
To: xen-devel@lists.xenproject.org
Cc: bobbyeshleman@gmail.com,
	ayankuma@amd.com,
	Andrew.Cooper3@citrix.com,
	alistair23@gmail.com,
	Alistair Francis <alistair.francis@wdc.com>
Subject: [PATCH] xen: define PADDR_BITS for riscv
Date: Wed, 28 Dec 2022 15:20:18 +1000
Message-Id: <20221228052018.730671-1-alistair.francis@opensource.wdc.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

From: Alistair Francis <alistair.francis@wdc.com>

Define PADDR_BITS and PAGE_SHIFT for the RISC-V 64-bit architecture.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
---
 xen/arch/riscv/include/asm/page-bits.h | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/page-bits.h

diff --git a/xen/arch/riscv/include/asm/page-bits.h b/xen/arch/riscv/incl=
ude/asm/page-bits.h
new file mode 100644
index 0000000000..d7bd7be098
--- /dev/null
+++ b/xen/arch/riscv/include/asm/page-bits.h
@@ -0,0 +1,7 @@
+#ifndef __RISCV_PAGE_SHIFT_H__
+#define __RISCV_PAGE_SHIFT_H__
+
+#define PAGE_SHIFT              12 /* 4 KiB Pages */
+#define PADDR_BITS              56 /* 44-bit PPN */
+
+#endif /* __RISCV_PAGE_SHIFT_H__ */
--=20
2.38.1



From xen-devel-bounces@lists.xenproject.org Wed Dec 28 07:02:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 07:02:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469463.728840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAQSF-0005ey-VY; Wed, 28 Dec 2022 07:02:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469463.728840; Wed, 28 Dec 2022 07:02:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAQSF-0005er-Ru; Wed, 28 Dec 2022 07:02:23 +0000
Received: by outflank-mailman (input) for mailman id 469463;
 Wed, 28 Dec 2022 07:02:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAQSE-0005eh-M3; Wed, 28 Dec 2022 07:02:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAQSE-0002fr-Go; Wed, 28 Dec 2022 07:02:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAQSE-0002sD-1e; Wed, 28 Dec 2022 07:02:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAQSE-0001Dv-1F; Wed, 28 Dec 2022 07:02:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=seuhHyEkqgcOdsqwohF97Ok+4ktYwWJ6di14s8mdVXU=; b=xY9HP92VNthBcxp+6SA3vo+3vJ
	CKWsX/VnDGjhTjKaqmFqtjpudUa2lFYSDZ4X7XAOOR4akSNINKERAJ5pujgmH51/qPLvZrAj/ChXS
	VtIS2SBghypCQ5mV3hMBf28JciML3oOFLoFNkocWspQsjtytg4pqN6VH89tbRM1GcIl4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175509-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175509: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1b929c02afd37871d5afb9d498426f83432e71c2
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 28 Dec 2022 07:02:22 +0000

flight 175509 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175509/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                1b929c02afd37871d5afb9d498426f83432e71c2
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   81 days
Failing since        173470  2022-10-08 06:21:34 Z   81 days  164 attempts
Testing same since   175496  2022-12-26 02:42:28 Z    2 days    6 attempts

------------------------------------------------------------
3244 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 494152 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 07:42:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 07:42:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469474.728850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAR5K-0001Xa-3F; Wed, 28 Dec 2022 07:42:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469474.728850; Wed, 28 Dec 2022 07:42:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAR5K-0001XT-0d; Wed, 28 Dec 2022 07:42:46 +0000
Received: by outflank-mailman (input) for mailman id 469474;
 Wed, 28 Dec 2022 07:42:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAR5I-0001XJ-QQ; Wed, 28 Dec 2022 07:42:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAR5I-0003W4-Mn; Wed, 28 Dec 2022 07:42:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAR5I-0005Uw-BO; Wed, 28 Dec 2022 07:42:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAR5I-0001IP-89; Wed, 28 Dec 2022 07:42:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jqMlmyXddvG1bD/PqSuwJqK/TSjbYijTZKY2GDOcHuc=; b=uakN8rEoyvOaqSJe5l6cNvrrJp
	wr6eLrcgyTs2HEeGkt7jtQw2X5cneVniydsvNVMhGnkzSQLPyNvvQk2ShbFY2NnEYkwr3k2wTK7l8
	JO4OK1NfbZsATG2XgZNcvG0d1DLOO79bKHCDIhPiSuvgieKldjOvrTXeXx9V0iThLbaQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175510-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175510: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 28 Dec 2022 07:42:44 +0000

flight 175510 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175510/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175510
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175510
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175510
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175510
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 175499 pass in 175507
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 175499 pass in 175510
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175499 pass in 175510
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail in 175499 pass in 175510
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 175499 pass in 175510
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-armhf-armhf-xl-credit2  14 guest-start                fail pass in 175499
 test-amd64-i386-xl-vhd        7 xen-install                fail pass in 175507
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175507
 test-armhf-armhf-libvirt-raw 13 guest-start                fail pass in 175507

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 175499 like 175197
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 175499 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 175499 never pass
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 175507 like 175197
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 175507 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   13 days
Testing same since   175407  2022-12-19 11:42:26 Z    8 days   19 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 09:55:44 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 09:55:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469500.728862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAT9k-0006hA-7T; Wed, 28 Dec 2022 09:55:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469500.728862; Wed, 28 Dec 2022 09:55:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAT9k-0006h3-4n; Wed, 28 Dec 2022 09:55:28 +0000
Received: by outflank-mailman (input) for mailman id 469500;
 Wed, 28 Dec 2022 09:55:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAT9j-0006gt-7Y; Wed, 28 Dec 2022 09:55:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAT9j-0007FB-50; Wed, 28 Dec 2022 09:55:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAT9i-0003AY-KX; Wed, 28 Dec 2022 09:55:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAT9i-0007vm-Jo; Wed, 28 Dec 2022 09:55:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=WgeVx5bffhLKXhsR0V8JXDLJqW17G+IQxeMyHQVmaas=; b=FqCynsKRU86jl4Fk1akUM20Lsc
	HkBloVDpVldf41u7JzYXpvK4pQLTBxkAFD4yoJr2tv8jdPEAAtHHLN/gWVUKwVEtaeRZdneBYetua
	6emoHB8Cng/pWhNFIJBjmzNsdwZOVByDdv+vBEKeHn2k/h1FKzPupD3e8o7LxUptvbmo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175511-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175511: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=84ece04e7f11fe30c2f83753d72f481610357ed0
X-Osstest-Versions-That:
    xen=84ece04e7f11fe30c2f83753d72f481610357ed0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 28 Dec 2022 09:55:26 +0000

flight 175511 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175511/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175502
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175502
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175502
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175502
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175502
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175502
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175502
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175502
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175502
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175502
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175502
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175502
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  84ece04e7f11fe30c2f83753d72f481610357ed0
baseline version:
 xen                  84ece04e7f11fe30c2f83753d72f481610357ed0

Last test of basis   175511  2022-12-28 01:53:55 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Wed Dec 28 14:34:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 14:34:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469511.728873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAXVD-0007x2-1W; Wed, 28 Dec 2022 14:33:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469511.728873; Wed, 28 Dec 2022 14:33:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAXVC-0007wv-Uu; Wed, 28 Dec 2022 14:33:54 +0000
Received: by outflank-mailman (input) for mailman id 469511;
 Wed, 28 Dec 2022 14:33:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vay5=42=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pAXVA-0007wp-Vv
 for xen-devel@lists.xenproject.org; Wed, 28 Dec 2022 14:33:53 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4eca4de-86bc-11ed-8fd4-01056ac49cbb;
 Wed, 28 Dec 2022 15:33:50 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id bg10so11353722wmb.1
 for <xen-devel@lists.xenproject.org>; Wed, 28 Dec 2022 06:33:49 -0800 (PST)
Received: from 2a02.2378.1075.5dbb.ip.kyivstar.net
 ([2a02:2378:1075:5dbb:3d04:b321:fa08:657])
 by smtp.gmail.com with ESMTPSA id
 q20-20020a1ce914000000b003b4935f04a4sm24526514wmc.5.2022.12.28.06.33.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 28 Dec 2022 06:33:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4eca4de-86bc-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=szJt7ggbHEuy1C56XvPF9RoYPzJTXU+24nrgO9O4SHk=;
        b=LpHnxs9hUJDoVl4VFKB1BH5fQsa9imhMpNL6ZY1ZiT4v+VRAcCuYTL5Q+t1yvq86MJ
         mWnBvPi+w5YLzybWh9xxMF6yAjUTXtA9s37e2SuzlS4IJAmksurgsKFZgb6s7wriKjuN
         cfCTUR7PPo+PBNqRAaKg5dNNikDxUw3RL8Xmy46DYrLc3CdwuRmGBUlPp2Q2kbtY/GD1
         A4ULteCxXMhFs2+qz+tM+J2VrtPgZdK1AMuohkBBooWu15iF4VJFs6upSKhXiwUA0Qkd
         BdY3Zi1iOTJYeZ8EPjOvHkC3X1mwBQxD0YjWfqIZqQnj5JNsRBQF9IWtTaO2B9Tsfky1
         28rg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=szJt7ggbHEuy1C56XvPF9RoYPzJTXU+24nrgO9O4SHk=;
        b=Ufg6cZC/3SdmG4azwf+d+YrtLuOujSdEcQZltRom4KvF/TmNKIpBsPCrpw5ccwzi/i
         AhROc+81LqDI007Q2E+SK8D6g6ug2YHNR1BhVH8uK9jDZ6cAUg1P3VfoybzLCcoX3k+L
         K7UCEW0UtLSMEt6r1Mi2i8WRu/n/+neoqOb8pD2VpYb3bv2A0sIu4NrtvJMeM97+LzoZ
         qliKO5VRBmicum/a5U5wmrptQKDdnEbo4eM6Z73jfIbPWL3wWo6lq9hddMsSF8hRVWU6
         rIzUc27vLjyw64ypow+5XownLNcazQItaoTkRnte1qsTuqE7JjV70chjKnjlg41YaKUN
         K+jg==
X-Gm-Message-State: AFqh2kqrcfq/hn+pgaKTUNWuWvpjZkmCLTytnLj9wDqnGqPJCQcQPtfn
	vFKkoiQij5jr7Z0FXqWGvw4=
X-Google-Smtp-Source: AMrXdXtJsLN9Azljcz/5a0qMNftUKnunrqImZHjRypqpDrj3P3u/H1/ulYXT5mVJbjmW+fCK4PFqaA==
X-Received: by 2002:a05:600c:5c8:b0:3d1:4145:b3b with SMTP id p8-20020a05600c05c800b003d141450b3bmr18337186wmd.9.1672238029238;
        Wed, 28 Dec 2022 06:33:49 -0800 (PST)
Message-ID: <fa182d75f8c092ab203beb52bd9124353754dd3d.camel@gmail.com>
Subject: Re: [XEN PATCH v1 1/4] arch/riscv: initial RISC-V support to
 build/run minimal Xen
From: Oleksii <oleksii.kurochko@gmail.com>
To: Alistair Francis <alistair23@gmail.com>
Cc: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org, Andrew
 Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>, Anthony
 PERARD <anthony.perard@citrix.com>
Date: Wed, 28 Dec 2022 16:33:46 +0200
In-Reply-To: <CAKmqyKMmW7rRXymMD6dNeLTLbUaSwO5nw=hJTk_xNvsZ3pg7jA@mail.gmail.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
	 <5d5ec5fbd8787ed8f86bf84a5ac291d07a20b307.1671789736.git.oleksii.kurochko@gmail.com>
	 <3343c927-0f27-e285-5b6e-281c61939bb4@xen.org>
	 <43d726761900ba3d8b4919fc29fe7cb1991ac656.camel@gmail.com>
	 <CAKmqyKMmW7rRXymMD6dNeLTLbUaSwO5nw=hJTk_xNvsZ3pg7jA@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.1 (3.46.1-1.fc37) 
MIME-Version: 1.0

Alistair,

Thanks for your comments!

On Wed, 2022-12-28 at 14:51 +1000, Alistair Francis wrote:
> On Mon, Dec 26, 2022 at 9:14 PM Oleksii <oleksii.kurochko@gmail.com>
> wrote:
> >=20
> > Hi Julien,
> >=20
> > Thanks for your comments.
> >=20
> > On Fri, 2022-12-23 at 13:50 +0000, Julien Grall wrote:
> > > Hi Oleksii,
> > >=20
> > > + Anthony for the Makefile changes.
> > >=20
> > > On 23/12/2022 11:16, Oleksii Kurochko wrote:
> > > > The patch provides a minimal amount of changes to start
> > > > build and run minimal Xen binary at GitLab CI&CD that will
> > > > allow continuous checking of the build status of RISC-V Xen.
> > > >=20
> > > > RISC-V Xen can be built by the following instructions:
> > > > =C2=A0=C2=A0 $ CONTAINER=3Driscv64 ./automation/scripts/containeriz=
e \
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 make XEN_TARGET_ARCH=3Dr=
iscv64 tiny64_defconfig
> > > > =C2=A0=C2=A0 $ CONTAINER=3Driscv64 ./automation/scripts/containeriz=
e \
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 make XEN_TARGET_ARCH=3Dr=
iscv64 -C xen build
> > > >=20
> > > > RISC-V Xen can be run as:
> > > > =C2=A0=C2=A0 $ qemu-system-riscv64 -M virt -smp 1 -nographic -m 2g =
\
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 -kernel xen/xen
> > > >=20
> > > > To run in debug mode should be done the following instructions:
> > > > =C2=A0 $ qemu-system-riscv64 -M virt -smp 1 -nographic -m 2g \
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 -kernel xen/xen -s=
 -S
> > > > =C2=A0 # In separate terminal:
> > > > =C2=A0 $ riscv64-buildroot-linux-gnu-gdb
> > > > =C2=A0 $ target remote :1234
> > > > =C2=A0 $ add-symbol-file <xen_src>/xen/xen-syms 0x80200000
> > > > =C2=A0 $ hb *0x80200000
> > > > =C2=A0 $ c # it should stop at instruction j 0x80200000 <start>
> > > >=20
> > > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > > > ---
> > > > =C2=A0 xen/arch/riscv/Makefile=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 30 +++++++++++++
> > > > =C2=A0 xen/arch/riscv/arch.mk=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 10 +++++
> > > > =C2=A0 xen/arch/riscv/include/asm/config.h | 26 ++++++++++-
> > > > =C2=A0 xen/arch/riscv/include/asm/types.h=C2=A0 | 11 +++++
> > > > =C2=A0 xen/arch/riscv/riscv64/Makefile=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=
=A0 2 +-
> > > > =C2=A0 xen/arch/riscv/riscv64/head.S=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 |=C2=A0 2 +-
> > > > =C2=A0 xen/arch/riscv/xen.lds.S=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 69
> > > > +++++++++++++++++++++++++++++
> > > > =C2=A0 7 files changed, 147 insertions(+), 3 deletions(-)
> > > > =C2=A0 create mode 100644 xen/arch/riscv/include/asm/types.h
> > > > =C2=A0 create mode 100644 xen/arch/riscv/xen.lds.S
> > > >=20
> > > > diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
> > > > index 942e4ffbc1..893dd19ea6 100644
> > > > --- a/xen/arch/riscv/Makefile
> > > > +++ b/xen/arch/riscv/Makefile
> > > > @@ -1,2 +1,32 @@
> > > > +obj-$(CONFIG_RISCV_64) +=3D riscv64/
> > > > +
> > > > +$(TARGET): $(TARGET)-syms
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(OBJCOPY) -O binary -S $< $@
> > > > +
> > > > +$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(LD) $(XEN_LDFLAGS) -T $(obj=
)/xen.lds -N $< \
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 $(SYMBOLS_DUMMY_OBJ) -o $(@D)/.$(@F).0
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(NM) -pa --format=3Dsysv $(@=
D)/.$(@F).0 \
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 | $(objtree)/tools/symbols $(all_symbols) --
> > > > sysv --
> > > > sort >$(@D)/.$(@F).0.S
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(MAKE) $(build)=3D$(@D) $(@D=
)/.$(@F).0.o
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(LD) $(XEN_LDFLAGS) -T $(obj=
)/xen.lds -N $< \
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 $(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(NM) -pa --format=3Dsysv $(@=
D)/.$(@F).1 \
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 | $(objtree)/tools/symbols $(all_symbols) --
> > > > sysv --
> > > > sort >$(@D)/.$(@F).1.S
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(MAKE) $(build)=3D$(@D) $(@D=
)/.$(@F).1.o
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(LD) $(XEN_LDFLAGS) -T $(obj=
)/xen.lds -N $<
> > > > $(build_id_linker) \
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 $(@D)/.$(@F).1.o -o $@
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 $(NM) -pa --format=3Dsysv $(@=
D)/$(@F) \
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 | $(objtree)/tools/symbols --all-symbols --
> > > > xensyms
> > > > --sysv --sort \
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 >$(@D)/$(@F).map
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rm -f $(@D)/.$(@F).[0-9]*
> > > > +
> > > > +$(obj)/xen.lds: $(src)/xen.lds.S FORCE
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 $(call if_changed_dep,cpp_lds_S)
> > > > +
> > > > +.PHONY: clean
> > > > +clean::
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rm -f $(objtree)/.xen-syms.[0=
-9]*
> > >=20
> > > Any reason to not use the variable clean-files as this is done
> > > for
> > > the
> > > other architectures?
> >=20
> > There is no reason not use the variable clean-files. I missed the
> > vairable clean-files so the patch will be updated to use the
> > variable clean-files instead of the variable clean.
> >=20
> > >=20
> > > > +
> > > > =C2=A0 .PHONY: include
> > > > =C2=A0 include:
> > > > diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
> > > > index ae8fe9dec7..9292b72718 100644
> > > > --- a/xen/arch/riscv/arch.mk
> > > > +++ b/xen/arch/riscv/arch.mk
> > > > @@ -11,3 +11,13 @@ riscv-march-$(CONFIG_RISCV_ISA_C)=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 :=3D
> > > > $(riscv-march-y)c
> > > > =C2=A0 # -mcmodel=3Dmedlow would force Xen into the lower half.
> > > >=20
> > > > =C2=A0 CFLAGS +=3D -march=3D$(riscv-march-y) -mstrict-align -
> > > > mcmodel=3Dmedany
> > > > +
> > > > +# TODO: Drop override and SYMBOLS_DUMMY_OBJ when more
> > > > +# of the build is working
> > > > +override ALL_OBJS-y =3D arch/$(TARGET_ARCH)/built_in.o
> > > > +override ALL_LIBS-y =3D
> > > > +ifneq ($(wildcard $(objtree)/common/symbols-dummy.o),)
> > > > +SYMBOLS_DUMMY_OBJ=3D$(objtree)/common/symbols-dummy.o
> > > > +else
> > > > +SYMBOLS_DUMMY_OBJ=3D
> > > > +endif
> > >=20
> > > Why do you need the ifneq here?
> >=20
> > The only reason for the ifneq here is to skip common
> > stuff from the build of minimal RISC-V Xen binary as it
> > requires pushing from the start a big amount of headers and
> > function
> > stubs which at least will lead to a huge patch and complicate a
> > code
> > review.
> >=20
> > It is possible to remove <common/symbols-dummy.o> from xen-syms
> > target in <xen/arch/riscv/Makefile> but an intention here was
> > to remain processing of xen-syms target similar to the original
> > one and it is the second reason why the ifneq was introduced and
> > added the comment "TODO: Drop ... SYMBOLS_DUMMY_OBJ when more
> > of the build is working".
> >=20
> > >=20
> > > > diff --git a/xen/arch/riscv/include/asm/config.h
> > > > b/xen/arch/riscv/include/asm/config.h
> > > > index e2ae21de61..756607a4a2 100644
> > > > --- a/xen/arch/riscv/include/asm/config.h
> > > > +++ b/xen/arch/riscv/include/asm/config.h
> > > > @@ -28,7 +28,7 @@
> > > >=20
> > > > =C2=A0 /* Linkage for RISCV */
> > > > =C2=A0 #ifdef __ASSEMBLY__
> > > > -#define ALIGN .align 2
> > > > +#define ALIGN .align 4
> > >=20
> > > Can you explain in the commit message why you need to change
> > > this?
> > > But
> > > ideally, this change should be part of a separate one.
> >=20
> > ALIGN was changed to equal the implementation-enforced instruction
> > address alignment (4-bytes), in order to ensure that entry points
> > are
> > properly aligned.
> > If to be honest I haven't verified that and took these changes from
> > the initial patch series pushed by Bobby Eshleman.
> >=20
> > >=20
> > > >=20
> > > > =C2=A0 #define ENTRY(name)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > > > =C2=A0=C2=A0=C2=A0 .globl name;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > > > @@ -36,6 +36,30 @@
> > > > =C2=A0=C2=A0=C2=A0 name:
> > > > =C2=A0 #endif
> > > >=20
> > > > +/*
> > > > + * Definition of XEN_VIRT_START should look like:
> > > > + *=C2=A0=C2=A0 define XEN_VIRT_START _AT(vaddr_t,0x00200000)
> > > > + * It requires including of additional headers which
> > > > + * will increase an amount of files unnecessary for
> > > > + * minimal RISC-V Xen build so set value of
> > > > + * XEN_VIRT_START explicitly.
> > > > + *
> > > > + * TODO: change it to _AT(vaddr_t,0x00200000) when
> > > > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 necessary header will be pu=
shed.
> > >=20
> > > The address here doesn't match the one below. I know this is an
> > > example
> > > but this is fairly confusing.
> >=20
> > This was done only as an example.
> >=20
> > >=20
> > > > + */
> > > > +#define XEN_VIRT_START=C2=A0 0x80200000
> > >=20
> > > I think you at least want to use _AT(unsigned long, ...) here to
> > > make
> > > clear this value should be interpreted as an unsigned value.
> > >=20
> > > You could even define vaddr_t now as you introduce a dummy
> > > types.h
> > > below.
> >=20
> > It makes sense to push the definition of vaddr_t and use
> > <xen/const.h>
> > to be able to use _AT() macros.
> >=20
> > Probably it would be nice to introduce others from types.h from the
> > start, wouldn't it? Or would it be better to leave the patch
> > minimal
> > and introduce only types necessary for vaddr_t?
>=20
> It would be best to add types.h early. I don't really see a reason
> not to
>=20
> >=20
> > >=20
> > > > +/*
> > > > + * PAGE_SIZE is defined in <{asm,xen}/page-*.h> but to
> > > > + * remove unnecessary headers for minimal
> > > > + * build headers it will be better to set PAGE_SIZE
> > > > + * explicitly.
> > >=20
> > > TBH, I think this is a shortcut that is unnecessary and will only
> > > introduce extra churn in the future (for instance, you will need
> > > to
> > > modify the include in xen.lds.S).
> > >=20
> > > But I am not the maintainer, so I will leave that decision to
> > > them
> > > whether this is acceptable.
> >=20
> > I didn't get what you mean by a shortcut here.
> >=20
> > The idea was to introduce PAGE_SIZE in the config.h directly for
> > now
> > to keep build of RISC-V Xen minimal as much as possible otherwise
> > it would be required to push dummy <asm/page-bits.h> to get only
> > one
> > needed definition of PAGE_SIZE to have buildable Xen.
> > Thereby it was decided to define PAGE_SIZE directly in
> > <asm/config.h>
> > and remove it after all definitions from <{asm,xen}/page-*.h> will
> > be
> > needed.
> >=20
> > >=20
> > > > + *
> > > > + * TODO: remove it when <asm/page-*.h> will be needed
> > > > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 defintion of PAGE_SIZE shou=
ld be remove from
> > >=20
> > > s/defintion/definition/
> >=20
> > Thanks for finding the typo. Will update it in the next version of
> > the patch.
> >=20
> > >=20
> > > > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 this header.
> > > > + */
> > > > +#define PAGE_SIZE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 4096 > +
> > > > =C2=A0 #endif /* __RISCV_CONFIG_H__ */
> > > > =C2=A0 /*
> > > > =C2=A0=C2=A0 * Local variables:
> > > > diff --git a/xen/arch/riscv/include/asm/types.h
> > > > b/xen/arch/riscv/include/asm/types.h
> > > > new file mode 100644
> > > > index 0000000000..afbca6b15c
> > > > --- /dev/null
> > > > +++ b/xen/arch/riscv/include/asm/types.h
> > > > @@ -0,0 +1,11 @@
> > > > +#ifndef __TYPES_H__
> > > > +#define __TYPES_H__
> > > > +
> > > > +/*
> > > > + *
> > > > + * asm/types.h is required for xen-syms.S file which
> > > > + * is produced by tools/symbols.
> > > > + *
> > > > + */
> > > > +
> > > > +#endif
> > > > diff --git a/xen/arch/riscv/riscv64/Makefile
> > > > b/xen/arch/riscv/riscv64/Makefile
> > > > index 15a4a65f66..3340058c08 100644
> > > > --- a/xen/arch/riscv/riscv64/Makefile
> > > > +++ b/xen/arch/riscv/riscv64/Makefile
> > > > @@ -1 +1 @@
> > > > -extra-y +=3D head.o
> > > > +obj-y +=3D head.o
> > >=20
> > > This changes want to be explained. So does...
> >=20
> > RISC-V 64 would be supported now and minimal build is built
> > now only obj-y stuff.
> >=20
> > >=20
> > > > diff --git a/xen/arch/riscv/riscv64/head.S
> > > > b/xen/arch/riscv/riscv64/head.S
> > > > index 0dbc27ba75..0330b29c01 100644
> > > > --- a/xen/arch/riscv/riscv64/head.S
> > > > +++ b/xen/arch/riscv/riscv64/head.S
> > > > @@ -1,6 +1,6 @@
> > > > =C2=A0 #include <asm/config.h>
> > > >=20
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .text
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .section .text.header, =
"ax", %progbits
> > >=20
> > > ... AFAICT this is to match the recent change in the build
> > > system.
> >=20
> > I am not sure that I get you here but it was done to make 'start'
> > instructions to be the first instructions that will be executed and
> > to make 'start' symbol to be the first in xen-syms.map file
> > otherwise
> > gdb shows that Xen starts from the wrong instructions, fails to
> > find
> > correct source file and goes crazy.
> >=20
> > >=20
> > > >=20
> > > > =C2=A0 ENTRY(start)
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 j=C2=A0 star=
t
> > > > diff --git a/xen/arch/riscv/xen.lds.S
> > > > b/xen/arch/riscv/xen.lds.S
> > > > new file mode 100644
> > > > index 0000000000..60628b3856
> > > > --- /dev/null
> > > > +++ b/xen/arch/riscv/xen.lds.S
> > > > @@ -0,0 +1,69 @@
> > > > +#include <xen/xen.lds.h>
> > > > +
> > > > +#undef ENTRY
> > > > +#undef ALIGN
> > > > +
> > > > +OUTPUT_ARCH(riscv)
> > > > +ENTRY(start)
> > > > +
> > > > +PHDRS
> > > > +{
> > > > +=C2=A0 text PT_LOAD ;
> > > > +#if defined(BUILD_ID)
> > > > +=C2=A0 note PT_NOTE ;
> > > > +#endif
> > > > +}
> > > > +
> > > > +SECTIONS
> > > > +{
> > > > +=C2=A0 . =3D XEN_VIRT_START;
> > > > +=C2=A0 _start =3D .;
> > > > +=C2=A0 .text : {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _stext =3D .;
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.text.header)
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.text)
> > >=20
> > > You are missing some sections here such as .text.cold,
> > > .text.unlikely...
> > >=20
> > > I understand they are probably not used yet. But it will avoid
> > > any
> > > nasty
> > > surprise if they are forgotten.
> >=20
> > They were skipped because they aren't use for now. Will add it in
> > the next version of the patch.
> >=20
> > >=20
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.gnu.warning)
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 . =3D ALIGN(POINTER_ALIGN);
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _etext =3D .;
> > > > +=C2=A0 } :text
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 . =3D ALIGN(PAGE_SIZE);
> > > > +=C2=A0 .rodata : {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _srodata =3D .;
> > >=20
> > > You introduce _srodata but I can't find the matching _erodata.
> >=20
> > My fault. Thanks. Will add it in the the next version of the patch.
> >=20
> > >=20
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.rodata)
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.rodata.*)
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.data.rel.ro)
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.data.rel.ro.*)
> > > > +=C2=A0 } :text
> > > > +
> > > > +#if defined(BUILD_ID)
> > > > +=C2=A0 . =3D ALIGN(4);
> > > > +=C2=A0 .note.gnu.build-id : {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __note_gnu_build_id_start =3D=
 .;
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.note.gnu.build-id)
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __note_gnu_build_id_end =3D .=
;
> > > > +=C2=A0 } :note :text
> > > > +#endif
> > > > +
> > > > +=C2=A0 . =3D ALIGN(PAGE_SIZE);
> > > > +=C2=A0 .data : { /* Data */
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.data .data.*)
> > >=20
> > > It would be better if you introduce .data.read_mostly right now
> > > separately.
> > >=20
> > > You also want *.data.page_aligned in .data.
> > >=20
> > > Lastly you are missing CONSTRUCTORS
> >=20
> > I will add offred sections and CONSTUCTORS in the next version of
> > the patch
> >=20
> > >=20
> > > > +=C2=A0 } :text
> > > > +
> > >=20
> > > I am assuming you are going to add .init.* afterwards?
> > >=20
> > > > +=C2=A0 . =3D ALIGN(PAGE_SIZE);
> > > > +=C2=A0 .bss : {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __bss_start =3D .;
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.bss .bss.*)
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 . =3D ALIGN(POINTER_ALIGN);
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __bss_end =3D .;
> > >=20
> > > Same as .data, I would recommend to properly populate it.
> >=20
> > Do you mean to add .bss.stack_aligned, .bss.page_aligned,
> > .bss.percpu*?
> > One of the reasons they were skipped is they aren't used now and
> > one
> > more reason if to believe xen.lds.S file from ARM
> > .bss.percpu.read_mostly should be aligned by SMP_CACHE_BYTES which
> > requires dummy <asm/cache.h> (or not ?) which will increase the
> > patch
> > with unneeded stuff for now.
>=20
> I think we should aim to get the linker file sorted right from the
> start. Otherwise someone is going to hit a nasty bug at some point in
> the future.

Probably I am not correct here but if I understand correcly the
sections that are mentioned in riscv/xen.lds.S now they are "default"
sections.

All other sections such as *(.bss.percpu.*) *(.bss.*algined) etc are
sections defined by user using __section directive or .section.
Thereby it will be hard to get a nasty bug because if a section is
needed and isn't defined then linker will produce an error about unkown
section.

Am i wrong?

Best regards,
 Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 17:26:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 17:26:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469518.728884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAaCL-0007sU-UL; Wed, 28 Dec 2022 17:26:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469518.728884; Wed, 28 Dec 2022 17:26:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAaCL-0007sN-Qz; Wed, 28 Dec 2022 17:26:37 +0000
Received: by outflank-mailman (input) for mailman id 469518;
 Wed, 28 Dec 2022 17:26:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAaCJ-0007sB-Uh; Wed, 28 Dec 2022 17:26:35 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAaCJ-000149-RN; Wed, 28 Dec 2022 17:26:35 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAaCJ-00053x-7e; Wed, 28 Dec 2022 17:26:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAaCJ-0002Qn-7B; Wed, 28 Dec 2022 17:26:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TMEb4U7GhTsvnCW0hwxgSTtSNo8X4PyNkmfgEJ+6ap0=; b=foTLF1Jlmk7ZIkWIlQgyIBBINc
	Ruem0nwvDOqQxPDIYpNnXEbcD5hgIiT+7nRdWlC8cp4P9SOFUio3wEiIYhw8WPWtZWk5lao7VFmVC
	w27OhTzjGPhBwLP4GhK23MeqIapl6ZhhvqF81Sii69yvdn/FPvflzA1VS62IAZ7LcjIA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175512-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175512: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1b929c02afd37871d5afb9d498426f83432e71c2
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 28 Dec 2022 17:26:35 +0000

flight 175512 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175512/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                1b929c02afd37871d5afb9d498426f83432e71c2
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   81 days
Failing since        173470  2022-10-08 06:21:34 Z   81 days  165 attempts
Testing same since   175496  2022-12-26 02:42:28 Z    2 days    7 attempts

------------------------------------------------------------
3244 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 494152 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 18:07:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 18:07:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469529.728894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAapO-0003xQ-3T; Wed, 28 Dec 2022 18:06:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469529.728894; Wed, 28 Dec 2022 18:06:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAapO-0003xJ-0V; Wed, 28 Dec 2022 18:06:58 +0000
Received: by outflank-mailman (input) for mailman id 469529;
 Wed, 28 Dec 2022 18:06:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAapM-0003x8-Dv; Wed, 28 Dec 2022 18:06:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAapM-0001wn-BE; Wed, 28 Dec 2022 18:06:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAapL-0005xi-QB; Wed, 28 Dec 2022 18:06:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAapL-0007iq-Pk; Wed, 28 Dec 2022 18:06:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=a6WNa8ArthivfI8cBmQBVFCJEtJfTfa2O/gHYRopXZA=; b=IPYNKoLJtUWz513JogObJcW3Ar
	cwEN3kIE9foWE/4yTUnY2BV9aBJR3lcKYPL5U+z9bUrVotFJsBiYNnCMRwSonZOth18kSUujtSOJQ
	No9LIACWtrg4fNQQ53AnMiaprf3krIs+crU+tFrFsmhuQbOSCn0h/MnXTOIlFk8AEhqM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175513-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175513: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start.2:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:windows-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 28 Dec 2022 18:06:55 +0000

flight 175513 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175513/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175513
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175513
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175513
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175513
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 175499 pass in 175407
 test-armhf-armhf-xl-rtds     14 guest-start      fail in 175499 pass in 175513
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175499 pass in 175513
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail in 175499 pass in 175513
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 175499 pass in 175513
 test-amd64-i386-xl-vhd        7 xen-install      fail in 175510 pass in 175513
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175510 pass in 175513
 test-armhf-armhf-xl-credit2  14 guest-start                fail pass in 175499
 test-armhf-armhf-libvirt-raw 13 guest-start                fail pass in 175507
 test-armhf-armhf-xl-credit1  14 guest-start                fail pass in 175510
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat  fail pass in 175510
 test-amd64-amd64-xl-qcow2    22 guest-start.2              fail pass in 175510
 test-amd64-i386-xl-qemuu-ws16-amd64 12 windows-install     fail pass in 175510

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 175499 like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 175499 like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop   fail in 175499 like 175197
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 175499 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 175499 never pass
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 175499 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 175499 never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 175499 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   14 days
Testing same since   175407  2022-12-19 11:42:26 Z    9 days   20 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 18:40:15 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 18:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469538.728906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAbLN-0007Ow-MP; Wed, 28 Dec 2022 18:40:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469538.728906; Wed, 28 Dec 2022 18:40:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAbLN-0007OJ-Ja; Wed, 28 Dec 2022 18:40:01 +0000
Received: by outflank-mailman (input) for mailman id 469538;
 Wed, 28 Dec 2022 18:39:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xfAD=42=citrix.com=prvs=354503da8=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pAbLL-0007JC-7x
 for xen-devel@lists.xenproject.org; Wed, 28 Dec 2022 18:39:59 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 057efd2a-86df-11ed-8fd4-01056ac49cbb;
 Wed, 28 Dec 2022 19:39:56 +0100 (CET)
Received: from mail-dm6nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Dec 2022 13:39:45 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB6011.namprd03.prod.outlook.com (2603:10b6:408:134::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.16; Wed, 28 Dec
 2022 18:39:41 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5944.016; Wed, 28 Dec 2022
 18:39:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 057efd2a-86df-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672252796;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=m+CXL6G/EmOmFOxDU/95JtL7r4RCACbzAxBvN6hwFm8=;
  b=FPcESGOnL6GPjYnct2gRtdcsaaAwApk6W4RWigLZCi3y/DmmPyLYlVvk
   3AQsAu7/7SWWPycEP899eC5WTjGhZ6MquY3YVcfLBpUUufbN61HmnlVzD
   0kqabK1wRyV1DsiRcaY+WYzvDxAzRZTvNEeODMw+kLiYOc+7E8whR0SK4
   k=;
X-IronPort-RemoteIP: 104.47.58.105
X-IronPort-MID: 92856419
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:FMHqJK4ia+2iCbdFRTT3RAxRtLXGchMFZxGqfqrLsTDasY5as4F+v
 mAYUD3UaP7YYGb0LYp1a420/U1XsZXSx99mT1Nu/iBkHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoR7AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5mx
 6IXeDMyaz+43/O5+L+nRNVCm8MjI5y+VG8fkikIITDxK98DGMiGb4CUoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OnEooiOWF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNNIRODmqqc76LGV7jQUMQQ2BQbhneaaoWS8WM0cJ
 HQS5SV7+MDe82TuFLERRSaQqXqFpQIVWsAWHfcz7gqM0YLT+wufHW8ZVDVMLsMqv4k9QjlC/
 k+EmZblCCJitJWRSGmB7fGEoDWqIy8XIGQeIygeQmMt6d7pqpA+lRLLQ9NqFoa6i9T0HXf7x
 DXihCEvjrMQkMsC/6y+8RbMhDfEjpHNTxUp7wTNBDmN4QZwZYrjbIutgXDS6fdbMI+YVB+Pp
 nECkMmFxP8CBteGkynlfQkWNLSg5vLAPDiCh1dqRsEl7270oyPlep1M6jZjIksvKtwDZTLif
 E7Uv0VW+YNXO3ypK6RwZupdFvgX8EQpLvy9Pti8UzaESsEZmNOvlM22WXOt4g==
IronPort-HdrOrdr: A9a23:92a5YKAF0enyjiflHelW55DYdb4zR+YMi2TDGXofdfU1SL3/qy
 nKpp4mPHDP+VIssR0b6LW90cq7L080l6QFg7X5VI3KNGKKhILCFuBfBOXZrwHIKmnd+uJF76
 tmbsFFaOEZdDNB/KHHCXGDYrUd6ejCybuvg+jGyXdrUEVFV4FMhj0JcjqzIwlOXw9BCoM+FJ
 2Aoux9hxTlV0g2Q62AdwA4t86qnaywqHsjW298OyIa
X-IronPort-AV: E=Sophos;i="5.96,281,1665460800"; 
   d="scan'208";a="92856419"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h0wlFs1EqnVVcMaUrqMkdtzSq76Gx24map1dB0Xj2KkXtl8aeR2Q550lb0Pj+iwqx8Kzdrd0Ij7+AMxWLToPooizljlBaV6t7IWvB5hBmxJ80n9zusWQNM7l6oF9B0JrXt2Icn+0W+b7XXl7urnxNoRBw1TbFv1TlEcYUZr5Zs4KtxCE9GnVZJR61bE1Sxd8C/Y1Cji1xoQjNq/Wa+utXnRo6Yr1EAoI/sbzMyWfzQLsgT+6/PlY8iNiPeJ0Z23FB+r9jGSEbPHQJ0dBAnLKNfQzGYev9TkWppeR6YUBnLEGArdVOKErI5i5IVlaS+KthJSLjL9TzOK23il/fD+3Pw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m+CXL6G/EmOmFOxDU/95JtL7r4RCACbzAxBvN6hwFm8=;
 b=Fbvj1PsyRP699omInAnXRhXAF6kb1wQCf79aeowQIOYg3+5s6vByhmlPrYpFlXEvZ1LpFVeK7e4EA4Yq3dGmVntPj64e55hsxdCdK2FX4RMgxXVLzd0XUs6C+KMyNBQ2bTDpKF3SIWTiOLX8B3Xu+J/8d+LQnFgOBiZSGMVwrwlJf0iyIPoxOarSAXpmqJB+/4E+tAo2QxiBJGtSsrNPlZLL4O/5TUXtsS6ADWNNvXWuzsGVWgANDMjz47CDAdoKqN1e7VR/1QjLYE221qKMrCWG0PajN2sS4ClPtiAE99rvbKkG5Fk5tEMeipMmCxo0fp+5nUt+1JD5WO34BdEQNw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m+CXL6G/EmOmFOxDU/95JtL7r4RCACbzAxBvN6hwFm8=;
 b=KrUbIkdKj9kgv2tp6TDtex8Leeka154hJYniwbX5YQ7jeWmqyWunYz5xxM2xv0E0CPhVxyt57k3s+vl9274aQr+lMahNRRGuJbRspToZql+l14o+drJrows0/y0wkq2Y4U4pPecJzJbISOYn6JkbuFk5v6h5BHSPuvda8BgemXo=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Alistair Francis <alistair.francis@opensource.wdc.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "bobbyeshleman@gmail.com" <bobbyeshleman@gmail.com>, "ayankuma@amd.com"
	<ayankuma@amd.com>, "alistair23@gmail.com" <alistair23@gmail.com>, Alistair
 Francis <alistair.francis@wdc.com>
Subject: Re: [PATCH] xen: define PADDR_BITS for riscv
Thread-Topic: [PATCH] xen: define PADDR_BITS for riscv
Thread-Index: AQHZGnwwBZOwIuQeZkyhq2axN9VynK6DooQA
Date: Wed, 28 Dec 2022 18:39:40 +0000
Message-ID: <20fba707-5438-f4d9-fa71-b616cebeba27@citrix.com>
References: <20221228052018.730671-1-alistair.francis@opensource.wdc.com>
In-Reply-To: <20221228052018.730671-1-alistair.francis@opensource.wdc.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BN9PR03MB6011:EE_
x-ms-office365-filtering-correlation-id: 833a70f5-dfec-4a68-1375-08dae902e17e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 HOCkCnGN//zXaOHZ7efSg2J313hTmuKJJuf6DmFQu7IEs27miA83+16GKVadakLrntm8P7jUgFjy97pksRer+JAFcUlYscw3WEZMR51fBzI95Z/3B9eSJINCOAHzL28jqVzloI2LkZ3MM/nQNzXFetHq6Urq9FgCkDquAUzh6Qeup9lar+RAH8LuOCWuMyjPww7Cb8Wyl9dKklXT5BduC5gGsgOdBA+r4XKoirRT2q9ps7ryZHuEsjcHdhG3c+bstT6GuIJi4oW1M6oGibvKddY8Digwk8GmocYjQy1NQftN8cdM9qRYUHQlZRfQICUWKogZDxMGv5thDM24pT6rIxj92xaQYYg/DAKQmBlok0+UHinpzEUAwO7/r4JZmBZZcq3E6jNFkaCII9J3lvUQ/w++5AoTjNZcmj0Z7bEDpuAVcHLNkE8mafNxYICNmahD09Ss0xGiHUs7z2Zg9oWWqJi0nvy/jACkE6lvGS6QC8EbKT0f3OtUTo3V/NX/ZiVZPu0xCBA0HG2SMSjUjjFYRDa+bp7GaeWDLvmi6VnuCBZ5b1yKEN1MvRJFJVQL6kvvS03LKQjYbTCVeJEz2/MIVDgRDUqtaCWHDnRgXLmm8VHzkQtBFpKpfleU2SeeTASFtymNKaisUf7S7Ic/mNqtq4gH5ZYZJCEG0Mx9Dek8VTnto3J9gBgPb2TfC8WhRte968xl0d9uKikXZu4zwWD485/yYrDh8w7seQy1XZxcEu+uWySxsJSVrl2d+yBLBDxARWgu9bNBi0G2wF2lOXpkRA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(346002)(376002)(136003)(39860400002)(451199015)(38070700005)(478600001)(6486002)(41300700001)(36756003)(6506007)(53546011)(186003)(26005)(6512007)(316002)(110136005)(54906003)(86362001)(31696002)(71200400001)(31686004)(2906002)(8936002)(4744005)(5660300002)(8676002)(4326008)(76116006)(64756008)(66556008)(66476007)(66446008)(2616005)(66946007)(38100700002)(122000001)(91956017)(82960400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?T1J2YVpLYVM0bkZBTmdnS3pGQUdFaTh4QUtJOHJ5R2JBSHlybjFBT1RtZHdh?=
 =?utf-8?B?NjcxKzFsUU1LS1RDRUpmYVNlZHp0K1BhV1dPT0JwMzNTWWZLRjZmOGNTVE04?=
 =?utf-8?B?elZhNE44ak1GTkhuVHN2WW00WGJ0WEFYeStyeEZuVkk3Q3BqL2lTNmpVd3hq?=
 =?utf-8?B?UzB2VzBnMzhJZXJpZlI1TmlNVGRvZkk0ODdBZzc3QmJyLzREM0ptNnl4TnY0?=
 =?utf-8?B?TGVNd3ovZDYrZ1ZTTlNoNzBEemJhdUh0T0xsYlg2ajJEU09NZE5IL21XZVdZ?=
 =?utf-8?B?VDlFa2RyWlFOd3FVQ1ZHbVcwbUsxeGdmYVQ5RVB4cmJ3ZnVjSk9xY0hIUDZJ?=
 =?utf-8?B?aGVMb2dkNTk4Q0crYXdTWGZvT2dHL1d6a2phNFp6YWRBbWVSWVc3WEs2UXBE?=
 =?utf-8?B?bVRZdm9Vbk10b1ppZXVuU0FWOGE1V2hHVDQwbHBxaFg1WmZtT096bkpkd3lL?=
 =?utf-8?B?RVZaSTByNmR0bzdkKzU1cUpnajcxMmlDWHAybzgxU1BPcmgxT29ud25YMFdK?=
 =?utf-8?B?Tmo5TENaaWxHQkJmcFF2cWhVOHJVR0dYTFBSMlh3WDZNSm9NUmVpSFNERnFH?=
 =?utf-8?B?aGs0d1AvUXVaNFBZd3lMdjhmSHJCVHBmSHBWdk9IU2E2YXFMM2NIUldyZDU4?=
 =?utf-8?B?NFJnVS9aZ0pqTk80QU9WZnVkREIvam5oOTJ0aHl3WW5iK1l2eEhNYUxrRGlG?=
 =?utf-8?B?ck01V3hDTitDMjJWbDF3UG9mM1hXcXExQnAwOEh5RWZLQTYrWTdiVEJ6ZnE0?=
 =?utf-8?B?V1hXMUx1RDhSVFNOQ3NWdk1FMW0xbW16L3hrK1VmcVZ0a0gyWklySE1CVjR0?=
 =?utf-8?B?VStOWXAydnpSRGdIRzRpamlxNE51VUtFVTVYdU8xY25VQnJqVWFncC9LVzZl?=
 =?utf-8?B?QmU1eVpzM1RVdG5DSkJmVjR6ZS9jZDliZ3hOZHZDYmRiSTZlK3g0VHlHZlJp?=
 =?utf-8?B?Ry9YOW1iZThmTzB6NjFtREFFZGU1QjQwZVBJRUVDZldBZkV6enBUUzRkYWVr?=
 =?utf-8?B?czJScWhvYis5WVpKQ3dwUS9aSGNRV1ByaUV3N2c5TGJ2enMyWjFPREpWWnBY?=
 =?utf-8?B?bENCbDRPQ1dTOXBiV01SL2dHVlhiYmtsN0srSWlvamllL1NZM0dFTUpRWG1T?=
 =?utf-8?B?NFh5YWdnUXV3VXQ4UVpLZWZlT3N2M1JvMlZjZitWd28rcmZOaWNzZHNPekdh?=
 =?utf-8?B?SkxWNkN6MGNDdGdOWDY3dDA5SzdoeVNvdlJzeWRrL0VxVmgxYVYvdG9vOWhq?=
 =?utf-8?B?TlFjY0lWeFE5bEFMYndKME9TaldLYzA3cmxRNW1yZDNrREJiZSt6Ry95eTJF?=
 =?utf-8?B?cGFoV1FreTU4eGNZMFY1TWtWczYyanNzZHRMSjdXN2VuNWVBN01iSjZqM2NF?=
 =?utf-8?B?MjFWQzB5S1ByRlNldmVxWkcxcXZNSU1RK3ZrYW00cmlTUmZmd09RZHhPbVBP?=
 =?utf-8?B?Z2pkSDYrU1Vta0pDLzFMbktvbjkzWG9SWkFGOXZDenNKR2FkV2ZHUURwanp3?=
 =?utf-8?B?czBMVzFEV0U4YVFJZTZHb1lBcFV6YmdXNlk0ek1zbEp3UXVhTS9HNmxXblRh?=
 =?utf-8?B?QjFkSUZFZXdkSkhtdW9IVVVFWlY0enhrSHE5eVViWURTTEZ0MGJqVmhKZUtP?=
 =?utf-8?B?bURFbmxZTDVPZjVKOVRsbXZLVmdRY0hZdG11VnpFUTFXYnVkSWxlTUF1dDMv?=
 =?utf-8?B?SWd4REUyNWN1MGZFdytLbGtBWmRxa2xXRGgxMm5wMW9TQnVLLzh1QTBpdUZU?=
 =?utf-8?B?Z1A3T0gzdmdud2lzTUdIMzlPN2JjaXBCM2xHWi90QUxMeVZWbzdwZVNOVVRF?=
 =?utf-8?B?V0IvblgxVFRaUlZ3ODdmc2Y3ekNTRGNSa1kycTRnK28wK0xobDd0N3dKbDF2?=
 =?utf-8?B?cmV2QkFzS3lzWk45S2N2M0h0VWxjMmtGWERYeXFONWtIc3B2YzVtS0xCN3N3?=
 =?utf-8?B?UWFLYzdSUWJTRFFZUC9rNzZrc0RVS21UN3k3OGJUSFlwdnlkMnhCRnlzOFJo?=
 =?utf-8?B?eVlyd3F6NzF1SmpNMEU5cWlVTGlLZCtsUitGbGFreHFEUG14ZEdZZzRhN0h6?=
 =?utf-8?B?RFg2VUp5b3I1SWM1SDNpMlY4akNUU2tMNE5sSEhFdkV0RkZpRktjVXVGWG1o?=
 =?utf-8?Q?TNnQQn2Qy3IqIRM7FUxA+NNTE?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <FDFB8DCBE8919F4086EF12B8B93CEC34@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 833a70f5-dfec-4a68-1375-08dae902e17e
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Dec 2022 18:39:40.8064
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: w71XXFJHmvj3H1R5nIPXSzoC81VwsAMzlD+BWKXUc1F+UReMtM6ZySp/ZPIitNsLqK8gKz24AJogQNDZzxnqPRJFoDlH5hYqtCWixhtghsM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6011

T24gMjgvMTIvMjAyMiA1OjIwIGFtLCBBbGlzdGFpciBGcmFuY2lzIHdyb3RlOg0KPiBGcm9tOiBB
bGlzdGFpciBGcmFuY2lzIDxhbGlzdGFpci5mcmFuY2lzQHdkYy5jb20+DQo+DQo+IERlZmluZSBQ
QUREUl9CSVRTIGFuZCBQQUdFX1NISUZUIGZvciB0aGUgUklTQy1WIDY0LWJpdCBhcmNoaXRlY3R1
cmUuDQo+DQo+IFNpZ25lZC1vZmYtYnk6IEFsaXN0YWlyIEZyYW5jaXMgPGFsaXN0YWlyLmZyYW5j
aXNAd2RjLmNvbT4NCg0KVGhhbmtzLsKgIEkndmUgY29tbWl0dGVkIHRoaXMgd2l0aCBhIHR3ZWFr
IHRvIHRoZSBzdWJqZWN0IChpdHMgbm90IGp1c3QNClBBRERSX0JJVFMgeW91ciBhZGRpbmcpLCBh
bmQgYSB0d2VhayB0byB0aGUgaW5jbHVkZSBndWFyZHMgKFNISUZULT5CSVRTDQp0byBtYXRjaCB0
aGUgbmFtZSBvZiB0aGUgZmlsZSkuDQoNCn5BbmRyZXcNCg0KPiAtLS0NCj4gIHhlbi9hcmNoL3Jp
c2N2L2luY2x1ZGUvYXNtL3BhZ2UtYml0cy5oIHwgNyArKysrKysrDQo+ICAxIGZpbGUgY2hhbmdl
ZCwgNyBpbnNlcnRpb25zKCspDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gvcmlzY3Yv
aW5jbHVkZS9hc20vcGFnZS1iaXRzLmgNCj4NCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3Jpc2N2
L2luY2x1ZGUvYXNtL3BhZ2UtYml0cy5oIGIveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcGFn
ZS1iaXRzLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZDdi
ZDdiZTA5OA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL3hlbi9hcmNoL3Jpc2N2L2luY2x1ZGUv
YXNtL3BhZ2UtYml0cy5oDQo+IEBAIC0wLDAgKzEsNyBAQA0KPiArI2lmbmRlZiBfX1JJU0NWX1BB
R0VfU0hJRlRfSF9fDQo+ICsjZGVmaW5lIF9fUklTQ1ZfUEFHRV9TSElGVF9IX18NCj4gKw0KPiAr
I2RlZmluZSBQQUdFX1NISUZUICAgICAgICAgICAgICAxMiAvKiA0IEtpQiBQYWdlcyAqLw0KPiAr
I2RlZmluZSBQQUREUl9CSVRTICAgICAgICAgICAgICA1NiAvKiA0NC1iaXQgUFBOICovDQo+ICsN
Cj4gKyNlbmRpZiAvKiBfX1JJU0NWX1BBR0VfU0hJRlRfSF9fICovDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 18:56:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 18:56:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469546.728917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAbbL-0001Gz-7H; Wed, 28 Dec 2022 18:56:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469546.728917; Wed, 28 Dec 2022 18:56:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAbbL-0001Gs-3n; Wed, 28 Dec 2022 18:56:31 +0000
Received: by outflank-mailman (input) for mailman id 469546;
 Wed, 28 Dec 2022 18:56:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xfAD=42=citrix.com=prvs=354503da8=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pAbbJ-0001Gm-Nr
 for xen-devel@lists.xenproject.org; Wed, 28 Dec 2022 18:56:29 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 530bd805-86e1-11ed-91b6-6bf2151ebd3b;
 Wed, 28 Dec 2022 19:56:27 +0100 (CET)
Received: from mail-bn8nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Dec 2022 13:56:22 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH2PR03MB5350.namprd03.prod.outlook.com (2603:10b6:610:99::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.16; Wed, 28 Dec
 2022 18:56:18 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5944.016; Wed, 28 Dec 2022
 18:56:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 530bd805-86e1-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672253787;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=W+uRrA/iDxo85Xl86a9zay2C0pqsoRdEUq8wtq3Mzmg=;
  b=NHJ5glpFn7eed4/oz0CJvo5jnR+WQZcxeWLtUsJuzwZPl7s3s7St7mBF
   RGxnU3rYbG6HeCFTb+vZ51quXzSiC3kpYRsAdxlcT+KBt2HO3KMNO6uNC
   LQh6LP0lPRtsElY2AcYuJoojWjp9l+NsnV7/OyjmPepN0JvnEpXLXZC8K
   s=;
X-IronPort-RemoteIP: 104.47.55.174
X-IronPort-MID: 90788945
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:FespD6D/QTILHRVW/7Hiw5YqxClBgxIJ4kV8jS/XYbTApGl032dVm
 zAZDz+Cb6uNYzb0eowkO4jk/RxT6JTVzt9lQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nNHuCnYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFtcpvlDs15K6o4WlC7gRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwxrZ1H0Zc9
 OUiNxNcUzyIpduGx5SgY7w57igjBJGD0II3nFhFlGucJ9B2BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI+OxuvDS7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prr6XwnOrCd5PfFG+3u5xrESYyE4/MkIPBHai8NidiVWXR/sKf
 iT4/QJr98De7neDSd3wXAa5oTiHowQbUNpTFMU17QiMzuzf5APxLngJSHtNZcIrsOcyRCc2z
 RmZktXxHzttvbaJD3WH+d+8tiiuMCIYKWsDYy4sTgYf5dTn5oYpgXrnQddqFqqohdTdAzDux
 CuLqiN4jLIW5eYB0K+x7F3cgzaho5HPZgEw7wTTGGmi62tRbYqkfJCh6EKd4+xJKo2YVXGes
 HNCkM+bhMgFCpeLky6BSfsMB5mm4v+ENHvXhlsHInU63zGk+nrmd4YA5jh7fR1tKpxdJmOvZ
 1LPswRM4pMVJGGtcaJ8f4O2DYIt0LTkEtPmEPvTa7Kif6RMSeNOxwk2DWb44ownuBFEfX0XU
 XtDTfuRMA==
IronPort-HdrOrdr: A9a23:2Qf1mqCozG86SajlHenP55DYdb4zR+YMi2TDtnoQdfUxSKelfq
 +V8cjzuSWftN9zYhAdcK67V5VoKEm0naKdirN8AV7NZmfbhFc=
X-IronPort-AV: E=Sophos;i="5.96,281,1665460800"; 
   d="scan'208";a="90788945"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GQ4s2eFthkrCd5pUqrsvvsoyCSIE34lf1h6GivDRBScKJ45fUjpVmX43APZeZDDDsOdprKuzKQ3L+UqmxmD71ycVPUEgP9v0ivCD3E9Tt36UEHHJ7RtqaxpAcN1UgWl0rMirtkoK4pAR3bpoxiKqSf74IHba01iBbvaQJi3XUshkteBAAVIyl1WQ4RCULvz7uOgAEWwwuZ5LeltwDZzwlvUWVe756n6aJXEjmw5hTRS/MWV2EnQCFJbDSM+gvNBBiTt04rqnOBE0Wg2NA66HW0LrMHX1oZOu0UteZ/mygPlHZ4KXBeI373vUZ69xw31vVww+CRS6AFY7k9tqr8Zp9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W+uRrA/iDxo85Xl86a9zay2C0pqsoRdEUq8wtq3Mzmg=;
 b=IxbRG3i//01tMyX2VNMp0NLGE7RedYTM1hoR39ES/+KOGo5uTKNlWbdmVfThCiGFEmL/fbs/s28S6FX69bMH/RZICRu+qa52erJjSzj0eb/G3pj7GJjz3A9XZsTseNlgLNxsMEzv84BJ0w7FWs88O1FC1m6+R7WgL7UtPYtiGqSXkJxteVUKugiEQBvQLVsvuo7TgvGQuNs5+ShTCzCnTHWq5YF6bs8fs9mE+amrjv+1Fkb+tEhouvDSABWOQpiBjarOPeoUdWHomhroaoIML/gY072aNEEZSdRlJ15u/LG5VWNkNKi3lzJMz1JhFbBtajd0gelxiUpBk6bL0R6W/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=W+uRrA/iDxo85Xl86a9zay2C0pqsoRdEUq8wtq3Mzmg=;
 b=KLpieGdeIkBSX2WaQiCKnNlq8/Ryoi10MELtjlq0uRvAO4ZjXDYtYP1RxCUDNVzy6gQ3h4buD0eiJz197KQZv03ZVhW0VKOKKL47CCPvR7teO5hKduSdYQaw7lLCOjzsMvDXZ4P3U/XQ2J+xS2KpyhDk07lENuVHkK5LwomvuxU=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
	<gianluca@rivosinc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Alistair
 Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>,
	Anthony Perard <anthony.perard@citrix.com>
Subject: Re: [XEN PATCH v1 1/4] arch/riscv: initial RISC-V support to
 build/run minimal Xen
Thread-Topic: [XEN PATCH v1 1/4] arch/riscv: initial RISC-V support to
 build/run minimal Xen
Thread-Index: AQHZFsAJYhXYxlPpRkqmFf35I9Ktpq6DrqGA
Date: Wed, 28 Dec 2022 18:56:18 +0000
Message-ID: <8a32eace-6a7f-8f14-3784-39461db0db0d@citrix.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
 <5d5ec5fbd8787ed8f86bf84a5ac291d07a20b307.1671789736.git.oleksii.kurochko@gmail.com>
In-Reply-To:
 <5d5ec5fbd8787ed8f86bf84a5ac291d07a20b307.1671789736.git.oleksii.kurochko@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|CH2PR03MB5350:EE_
x-ms-office365-filtering-correlation-id: 60113ac6-bbc4-473e-ae88-08dae90533e9
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 oR4LJmLry0kGfL24d+UhpFsnzAeejfV9H3uuT9SZoAKEMGYbxTkza6Pdw0o+6erZavw6JB63IerIHCClssIkkpg4fCK5se9E8ngeAORGmY/6uFCxfCv2o2qlBQ3R9qT+AdFEiAVU0wGy15/utg8Pfi/q9C9C6Xi69JZ0LpcZZN5LFTTUs/GC53SBdxY7oZVkqj7nCXZ1pzUG4E8xYNe3PZgSbnTnjgOQ3Klcwf52nHiQdBnT4+9R8/SOQj9lwRoHFGLcOsjfoB3B0XEGM1vIgTkqIZ60CsY9Pjam6oA8QK1CN6jxPSKOoac+jzd72OjD2Ek9h4XFTuDcnmNPoRI2Sz8l4E/gZzfmUoEaQlTFWRWuoS7fsSIGl8DoMIZ6b7oHFEX2j07mofYSHAjKod+p268T/+596sMtvwdKbqp8OflqgGcDhFq40DI2x9A7SyK0Nks19BuYIarZdxwj3lc1Z39QeWEi6FR3H0Yp6g96ogXYJ9rEg+2lnSj3raLSQYzVII5OFkhde7EXwryxdXR3yTPQp1CKdHdwOWTkVazulQBeJiF3BsYEKdwQsm+DLqoK3UbN7EJJgvD4fv0x0XWXC3L/27s7xF7DEvQGNdRYMm9kVl0sQ74gwj4Hk/AwMYdqqH/q2BNfFsXFbsHcwbUKCwUbfFyl8sieFPNdW4NJ9xpiDQ6YUshxN7ySuAyTBpc/PfVhpc1sD7O2wXVeWjpEuRemyILCbfj0ID0pDZp6AS/8tG3kwYeKI14BBs4134wVu8Ilyc7775MvMVSFEuvE1A==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(136003)(39860400002)(366004)(346002)(376002)(451199015)(122000001)(38100700002)(82960400001)(64756008)(76116006)(31696002)(4326008)(8676002)(86362001)(66946007)(91956017)(66446008)(316002)(66556008)(66476007)(41300700001)(71200400001)(54906003)(2906002)(8936002)(5660300002)(2616005)(26005)(186003)(6512007)(478600001)(6486002)(53546011)(107886003)(6506007)(38070700005)(31686004)(110136005)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UUNFbk80K3VIaWZRVExnNk1GeTRkcmFoSFYyYVZTSzF0YlphK01kYSs3cktn?=
 =?utf-8?B?Q2MwbmZJRlJNdmJvQVEvV0dqZ0JvTlk0dndKVThyMm1HUDFNM25uMVZ5YkV0?=
 =?utf-8?B?NUlyTWtDSHBCNzdYdE4wZ1N4ckZHZW1OWlVDTlRka3VIVUNDRUFBUUhYNjVN?=
 =?utf-8?B?QlVOMFdHWDRaL0hndzk5OEpTSjNYSzhhK01LVlEzeEthOTFKVW1IK2FiTGZu?=
 =?utf-8?B?QmQ1SEs0T2QxTGVzQWw4VmdrcTRFME5oRWpvSXRPNWwwWEYxNUdjT21hdFVF?=
 =?utf-8?B?OW5lVnJSdlZEcFVZSHZScXNqWnY1d3Q4YUtHbW0xMytlcjAwb0MwTUdmUThx?=
 =?utf-8?B?S2I4blpPZmt3VS9vQnNwaDJ3YzJuSXJxWHRJODA3RC9sbmxRSkIycFRXZXNI?=
 =?utf-8?B?TkFobkRlMlpmQy9oK3Y1SFVmMTBOdmhNTGVERUVLUmw1dmE0WjVQdFBHUGM3?=
 =?utf-8?B?RjFudUJVYUxzeEd1T3B6WHhndC9YeHVzUHFmanZLTEt5T0k3K3FWNmpic3NH?=
 =?utf-8?B?NyszNVYwNUE4a001SFVsdFpYUXNIK0ZpU2NyNXRLRDA0b25CYU1sYnpydzQv?=
 =?utf-8?B?Z3I4dFpPS0xabVJhc3JVS2JEZGdKMExpZEh6NFE1Zmd4Z1pDNnRvcmdScTd6?=
 =?utf-8?B?M2JHWlEvUmRhN0ZIUzF0WXR3dWwyWGVCdVF0bDhQWGxmOG5WREVyOWlJNHZa?=
 =?utf-8?B?Si83MGROTjhQWWtXcEV0amNpM0RmOHovaFQ3WXpFZ0p0bVBHOHRpeXUvMllH?=
 =?utf-8?B?TDlLdkNSWnRnR1lTN1BqY0hGOUYzcjIyZEJlV1ZOOWhLZUNVcENyS1NGMmpJ?=
 =?utf-8?B?NVk5WjVJUG9NNDNDbDM4L2I4TXRFbW0zcnpkc0xmZHBKYWw1UThCQTIrRHBK?=
 =?utf-8?B?RFpQenVyV3MvR1FlY2JidlVjWjNNTmVJRkpaQU9aNUs5NVdPL0NuM0o5Ukwy?=
 =?utf-8?B?bjdYSUg3alIrMHFiV2djbVhNaTQ5MVNTd0RVVGlKNzNka2p1b2g0bnBjUE8x?=
 =?utf-8?B?b1VXVlR4T01XbVNsMzl1c0ovSnJGVkE3Rk9LZlZid1JlZzFKeGN1RjRFQmFI?=
 =?utf-8?B?Ry9oVTRqNEJCRE43WEU4eHNpaGY4M2h1eTFzWUJWZ0lFU2d1WTdZdlYyamhv?=
 =?utf-8?B?Z2FreVAwL3kyMTZSK0F6WW90ZDJYTXJPU0V2d0Zsb3pXZlk4VVF3cTB5aEJV?=
 =?utf-8?B?bWZwQTdmYnVOVDNCSVplUyt1aXdXN1h1d09CdVUrTEZvTTFRRi9SVW1LY0Nj?=
 =?utf-8?B?QkhweC9HUFd1bVFiTGtBb3RhYUQ4WHlIMHQ5OFF5SmpQTm53UXZXQmdBNnkw?=
 =?utf-8?B?VXh6NmZHSzRrSnlMcFF4VGRDNlF5RlBGK1NiQ1NrM05TMnV3N1prR0tjeVFL?=
 =?utf-8?B?MDh0QUVOMUY3T3MzUjF4Znc0YVp5djQvV2RweWs0NllyV0U4K2l5RnZTYVZW?=
 =?utf-8?B?MVdkbDVUR2VBcXRjbGpIT2xxQTU5aU1RMWlTTWp5VzI5bFZza0haZnNRai9k?=
 =?utf-8?B?OEljVE9VSHcwV0ttWll4QkMyQ3g2TmZWQnJzVG5RTnE4ZXZvdnZ4LzZabUYy?=
 =?utf-8?B?NFNiUW1PaGxtRjVhRUFuVVVuYnlQUWowVTlQOHlGUDVBQXpxdzJ2NzBpczFS?=
 =?utf-8?B?QTd1ZHVoNFdIcFBheFZHQjVOUE9CZTcvTERDMDhTMlgxYm1aUkpPRys5MXlO?=
 =?utf-8?B?cGJSQlNiTjE0TjE3Y0YxdGNuVWMzMzR3N3U1dkhsK2pzWE1nZ0k4NE9DZ0tl?=
 =?utf-8?B?d1JVOGhFaFJxU0JLY3dlQit1aXF0MEJiSmZvSkp4eHlOVHNiSGY1VEVESUZH?=
 =?utf-8?B?Sk9hZ3l0ajd1a3c1bTY0ZVdNeWp4QXhpSlc3aEZjRmxEZTZ5S0dlV3ErU2Jr?=
 =?utf-8?B?Ulk4dmhKVHhhZ3JYUDQwV2kwcnVTaVdsWmR1ZHFCYnBTZXZvYTBvWXdHbDJM?=
 =?utf-8?B?WmJzc2J0UE1UWi9WL2pVenppRnF6UTZUZy92eFFKUEcvakNvcTZUZXE2aTM1?=
 =?utf-8?B?dTh1d0ViditkaE0yV2hQS2EzUDZCOUF0alQyQ2NJclFudTg3WDk0RUJoaW1h?=
 =?utf-8?B?L2dvbEJGOFV3cFZDQjJOQTBnVWgrNEtFVUk0emUxeW9EUngwam1abWJHNnF5?=
 =?utf-8?Q?/zOcrWGyNyUW502ICaISNfKVJ?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <76138B7AE772E64B83E1FAC66EA554EB@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 60113ac6-bbc4-473e-ae88-08dae90533e9
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Dec 2022 18:56:18.0938
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: sdxHmpDYo5TT7I5CAXT5o5JECmyb7HmtwU0IAnYROn0mbMCk+SAhBCWba7M/vT7/2Q2Z/TNfwA3KQjZ8fWJ1vcJD1W72Dmd5EeDDDqErA4A=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5350

T24gMjMvMTIvMjAyMiAxMToxNiBhbSwgT2xla3NpaSBLdXJvY2hrbyB3cm90ZToNCj4gZGlmZiAt
LWdpdCBhL3hlbi9hcmNoL3Jpc2N2L01ha2VmaWxlIGIveGVuL2FyY2gvcmlzY3YvTWFrZWZpbGUN
Cj4gaW5kZXggOTQyZTRmZmJjMS4uODkzZGQxOWVhNiAxMDA2NDQNCj4gLS0tIGEveGVuL2FyY2gv
cmlzY3YvTWFrZWZpbGUNCj4gKysrIGIveGVuL2FyY2gvcmlzY3YvTWFrZWZpbGUNCj4gQEAgLTEs
MiArMSwzMiBAQA0KPiArb2JqLSQoQ09ORklHX1JJU0NWXzY0KSArPSByaXNjdjY0Lw0KPiArDQo+
ICskKFRBUkdFVCk6ICQoVEFSR0VUKS1zeW1zDQo+ICsJJChPQkpDT1BZKSAtTyBiaW5hcnkgLVMg
JDwgJEANCj4gKw0KPiArJChUQVJHRVQpLXN5bXM6ICQob2JqdHJlZSkvcHJlbGluay5vICQob2Jq
KS94ZW4ubGRzDQo+ICsJJChMRCkgJChYRU5fTERGTEFHUykgLVQgJChvYmopL3hlbi5sZHMgLU4g
JDwgXA0KPiArCQkkKFNZTUJPTFNfRFVNTVlfT0JKKSAtbyAkKEBEKS8uJChARikuMA0KPiArCSQo
Tk0pIC1wYSAtLWZvcm1hdD1zeXN2ICQoQEQpLy4kKEBGKS4wIFwNCj4gKwkJfCAkKG9ianRyZWUp
L3Rvb2xzL3N5bWJvbHMgJChhbGxfc3ltYm9scykgLS1zeXN2IC0tc29ydCA+JChARCkvLiQoQEYp
LjAuUw0KPiArCSQoTUFLRSkgJChidWlsZCk9JChARCkgJChARCkvLiQoQEYpLjAubw0KPiArCSQo
TEQpICQoWEVOX0xERkxBR1MpIC1UICQob2JqKS94ZW4ubGRzIC1OICQ8IFwNCj4gKwkJJChARCkv
LiQoQEYpLjAubyAtbyAkKEBEKS8uJChARikuMQ0KPiArCSQoTk0pIC1wYSAtLWZvcm1hdD1zeXN2
ICQoQEQpLy4kKEBGKS4xIFwNCj4gKwkJfCAkKG9ianRyZWUpL3Rvb2xzL3N5bWJvbHMgJChhbGxf
c3ltYm9scykgLS1zeXN2IC0tc29ydCA+JChARCkvLiQoQEYpLjEuUw0KPiArCSQoTUFLRSkgJChi
dWlsZCk9JChARCkgJChARCkvLiQoQEYpLjEubw0KPiArCSQoTEQpICQoWEVOX0xERkxBR1MpIC1U
ICQob2JqKS94ZW4ubGRzIC1OICQ8ICQoYnVpbGRfaWRfbGlua2VyKSBcDQo+ICsJCSQoQEQpLy4k
KEBGKS4xLm8gLW8gJEANCg0KVGhlIGNvbmRpdGlvbmFsIGVtcHR5aW5nIG9mIFNZTUJPTFNfRFVN
TVlfT0JKIGluIGFyY2gubWsgd2lsbCBicmVhayB0aGlzDQpsb2dpYyBpZiBpdCBhY3R1YWxseSBn
ZXRzIGVtcHRpZWQsIGJ1dCB5b3UgY2FuIGRyb3AgYWxtb3N0IGFsbCBvZiBpdC4NCg0KVGhpcyBz
aG91bGQgYmUganVzdA0KDQokKFRBUkdFVCktc3ltczogJChvYmp0cmVlKS9wcmVsaW5rLm8gJChv
YmopL3hlbi5sZHMNCsKgwqDCoCAkKExEKSAkKFhFTl9MREZMQUdTKSAtVCAkKG9iaikveGVuLmxk
cyAtTiAkPCAkKGJ1aWxkX2lkX2xpbmtlcikgLW8gJEANCg0KaW4gdGhlIHNob3J0IHRlcm0sIEkg
dGhpbmsuDQoNCj4gKwkkKE5NKSAtcGEgLS1mb3JtYXQ9c3lzdiAkKEBEKS8kKEBGKSBcDQo+ICsJ
CXwgJChvYmp0cmVlKS90b29scy9zeW1ib2xzIC0tYWxsLXN5bWJvbHMgLS14ZW5zeW1zIC0tc3lz
diAtLXNvcnQgXA0KPiArCQk+JChARCkvJChARikubWFwDQo+ICsJcm0gLWYgJChARCkvLiQoQEYp
LlswLTldKg0KPiArDQo+ICskKG9iaikveGVuLmxkczogJChzcmMpL3hlbi5sZHMuUyBGT1JDRQ0K
PiArCSAgICAgICAgJChjYWxsIGlmX2NoYW5nZWRfZGVwLGNwcF9sZHNfUykNCg0KWW91J3ZlIGdv
dCBhIHRhYiBhbmQgc29tZSBzcGFjZXMgaGVyZS7CoCBJdCB3YW50cyB0byBiZSBqdXN0IG9uZSB0
YWIuDQoNCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2NvbmZpZy5o
IGIveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vY29uZmlnLmgNCj4gaW5kZXggZTJhZTIxZGU2
MS4uNzU2NjA3YTRhMiAxMDA2NDQNCj4gLS0tIGEveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20v
Y29uZmlnLmgNCj4gKysrIGIveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vY29uZmlnLmgNCj4g
QEAgLTM2LDYgKzM2LDMwIEBADQo+ICAgIG5hbWU6DQo+ICAjZW5kaWYNCj4gIA0KPiArLyoNCj4g
KyAqIERlZmluaXRpb24gb2YgWEVOX1ZJUlRfU1RBUlQgc2hvdWxkIGxvb2sgbGlrZToNCj4gKyAq
ICAgZGVmaW5lIFhFTl9WSVJUX1NUQVJUIF9BVCh2YWRkcl90LDB4MDAyMDAwMDApDQo+ICsgKiBJ
dCByZXF1aXJlcyBpbmNsdWRpbmcgb2YgYWRkaXRpb25hbCBoZWFkZXJzIHdoaWNoDQo+ICsgKiB3
aWxsIGluY3JlYXNlIGFuIGFtb3VudCBvZiBmaWxlcyB1bm5lY2Vzc2FyeSBmb3INCj4gKyAqIG1p
bmltYWwgUklTQy1WIFhlbiBidWlsZCBzbyBzZXQgdmFsdWUgb2YNCj4gKyAqIFhFTl9WSVJUX1NU
QVJUIGV4cGxpY2l0bHkuDQo+ICsgKg0KPiArICogVE9ETzogY2hhbmdlIGl0IHRvIF9BVCh2YWRk
cl90LDB4MDAyMDAwMDApIHdoZW4NCj4gKyAqICAgICAgIG5lY2Vzc2FyeSBoZWFkZXIgd2lsbCBi
ZSBwdXNoZWQuDQo+ICsgKi8NCj4gKyNkZWZpbmUgWEVOX1ZJUlRfU1RBUlQgIDB4ODAyMDAwMDAN
Cj4gKy8qDQo+ICsgKiBQQUdFX1NJWkUgaXMgZGVmaW5lZCBpbiA8e2FzbSx4ZW59L3BhZ2UtKi5o
PiBidXQgdG8NCj4gKyAqIHJlbW92ZSB1bm5lY2Vzc2FyeSBoZWFkZXJzIGZvciBtaW5pbWFsDQo+
ICsgKiBidWlsZCBoZWFkZXJzIGl0IHdpbGwgYmUgYmV0dGVyIHRvIHNldCBQQUdFX1NJWkUNCj4g
KyAqIGV4cGxpY2l0bHkuDQo+ICsgKg0KPiArICogVE9ETzogcmVtb3ZlIGl0IHdoZW4gPGFzbS9w
YWdlLSouaD4gd2lsbCBiZSBuZWVkZWQNCj4gKyAqICAgICAgIGRlZmludGlvbiBvZiBQQUdFX1NJ
WkUgc2hvdWxkIGJlIHJlbW92ZSBmcm9tDQo+ICsgKiAgICAgICB0aGlzIGhlYWRlci4NCj4gKyAq
Lw0KPiArI2RlZmluZSBQQUdFX1NJWkUgICAgICAgNDA5Ng0KDQpJJ3ZlIGNvbW1pdHRlZCBBbGlz
dGFpcidzIHBhdGNoIHdoaWNoIGFkZHMgcGFnZS1iaXRzLmgsIHNvIHRoaXMgc2VjdGlvbg0KY2Fu
IGdvIGF3YXkuDQoNCldlIHN0aWxsIG5lZWQgWEVOX1ZJUlRfU1RBUlQsIGJ1dCB3ZSBkb24ndCBy
ZWFsbHkgbmVlZCB0aGUgY29tbWVudGFyeQ0KZXhwbGFpbmluZyB0aGF0IGl0J3MgdGVtcG9yYXJ5
IC0gdGhhdCBpcyB2ZXJ5IGNsZWFyIGZyb20gdGhlIHN1YmplY3Qgb2YNCnRoZSBwYXRjaC4NCg0K
PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vdHlwZXMuaCBiL3hlbi9h
cmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3R5cGVzLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g
aW5kZXggMDAwMDAwMDAwMC4uYWZiY2E2YjE1Yw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL3hl
bi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3R5cGVzLmgNCj4gQEAgLTAsMCArMSwxMSBAQA0KPiAr
I2lmbmRlZiBfX1RZUEVTX0hfXw0KPiArI2RlZmluZSBfX1RZUEVTX0hfXw0KPiArDQo+ICsvKg0K
PiArICoNCj4gKyAqIGFzbS90eXBlcy5oIGlzIHJlcXVpcmVkIGZvciB4ZW4tc3ltcy5TIGZpbGUg
d2hpY2gNCj4gKyAqIGlzIHByb2R1Y2VkIGJ5IHRvb2xzL3N5bWJvbHMuDQo+ICsgKg0KPiArICov
DQoNCkFnYWluLCBubyBuZWVkIGZvciB0aGlzIGNvbW1lbnQuDQoNCkhvd2V2ZXIsIEkgdGhpbmsg
d2Ugd2FudCB0byByZWFycmFuZ2UgdGhlIGJ1aWxkIHN5c3RlbSB0byBoYXZlIGEgZmluYWwNCi1J
IG9wdGlvbiBmb3IgeGVuL2luY2x1ZGUvc3R1Yi9hc20vIG9yIHNvLCBzbyB3ZSBjYW4gcHV0IHNv
bWUgZW1wdHkNCmZpbGVzIHRoZXJlIGFuZCBhdm9pZCBoYXZpbmcgYXJjaGl0ZWN0dXJlcyBuZWVk
aW5nIHRvIHByb3ZpZGUgZW1wdHkgZmlsZXMuDQoNCklmIHRoaXMgZmlsZSBpcyBuZWVkZWQsIHRo
ZW4gaXQgbmVlZHMgYSBtb3JlIHNwZWNpZmljIGhlYWRlciBndWFyZCB0aGFuDQpfX1RZUEVTX0hf
Xy7CoCBUaGF0J3MgdGhlIGdlbmVyYWwgZ3VhcmQgZm9yIHhlbi90eXBlcy5oIG1lYW5pbmcgdGhh
dA0Kbm90aGluZyBpbnNpZGUgdGhpcyBmaWxlIHdpbGwgYWN0dWFsbHkgc3Vydml2ZSBwcmVwcm9j
ZXNzaW5nLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 19:02:08 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 19:02:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469554.728928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAbgi-0002id-RX; Wed, 28 Dec 2022 19:02:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469554.728928; Wed, 28 Dec 2022 19:02:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAbgi-0002iW-NI; Wed, 28 Dec 2022 19:02:04 +0000
Received: by outflank-mailman (input) for mailman id 469554;
 Wed, 28 Dec 2022 19:02:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xfAD=42=citrix.com=prvs=354503da8=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pAbgh-0002iN-MT
 for xen-devel@lists.xenproject.org; Wed, 28 Dec 2022 19:02:03 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1b74f1eb-86e2-11ed-8fd4-01056ac49cbb;
 Wed, 28 Dec 2022 20:02:02 +0100 (CET)
Received: from mail-co1nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Dec 2022 14:01:58 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB5180.namprd03.prod.outlook.com (2603:10b6:5:1::10) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.5944.16; Wed, 28 Dec 2022 19:01:56 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5944.016; Wed, 28 Dec 2022
 19:01:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b74f1eb-86e2-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672254122;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=1soFpZrWdYNL4VKp39xcpFQ6p6KHCzOyo35X7acf83Y=;
  b=LhNaTyGO4TvfLF/w9Tn87U2DXxaDzwNn6Z190yMlQ/P7pU85qSKe+jKj
   o65miTRJP1/xph7MeVnKItnpH+kYFEllKmADOwGB7MnJZloD1GI0crn/u
   REqTmlO9d7qgb2p8xn/VfP5A8ecY3/LG9+gzAManASczLK8ahxc0QconY
   U=;
X-IronPort-RemoteIP: 104.47.56.176
X-IronPort-MID: 90372584
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ftpJVKKVI567K3CuFE+Rl5UlxSXFcZb7ZxGr2PjKsXjdYENS0DIPz
 mUWD2rTP/zfZTf0LtB2Ptuy/EsPuJLdxtU1TwplqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHv+kUrWs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPdwP9TlK6q4mlB5AZuPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c54Rmxo7
 f5IBAxUf02pv9qM2Z2lWsBz05FLwMnDZOvzu1lG5BSAVLMNZsmGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dppTGMkmSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnzHugB9hPROHQGvhCnwGOzWUaBxMtDla68ce7uHKuHPBfN
 BlBksYphe1onKCxdfH0WxyjvHeFpERHc9VVGuw+rgqKz8L85AKUBXMFT3hCdcYhv881QhQl0
 1aIm5XiAjkHmL+ITXOQ8J+EoDX0PjIaRUcSaClBQQYb7t3LpIAokgmJXttlCLSyjND+BXf32
 T/ihDMlm7wZgMoP1qO61VPKmTShot7OVAFdzgrWV2Sh8whwTJSkeYuz6F7Qq/1HKe6xRF6Lt
 mkJgMia4eUHC7mCkSWMRKMGG7TBz/+BMSbAiF91WZc7/jKm+mWLYoxbpjp5IS9BOcECfzjrb
 EbNuBh565paPX/sZqhyC79dEOwvxKnkUN/iD/bda4MXZoArLVDZuiZzeUSXwmbh1lA2lr0yM
 ouadsDqCmsGDaNgz3y9QOJ1PaIX+x3SDFj7HfjTpylLG5LFDJJJYd/p6GezU90=
IronPort-HdrOrdr: A9a23:51PI96lLGDrOkpnytFMgtyY1rSbpDfId3DAbv31ZSRFFG/Fw9v
 re+sjzsCWetN9/YgBEpTntAsm9qArnm6KduLN/AV7AZniAhILLFvAB0WKK+VSJdxEWndQtsZ
 uIHZIOa+EZajBB5/oTQmSDfuoI8Z24/KuzhfrTi1dhJDsKV51d
X-IronPort-AV: E=Sophos;i="5.96,281,1665460800"; 
   d="scan'208";a="90372584"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VWcCfx6GsQUxOfbNcZnkz+Kt5ADdtfm9EnnjkUbO5MQO2Br890EmDqc4X+5d15KyDrxRjTwll9rrsown9+dlPShU1bjL42xB91qz0XXEjyk33fqB5beQZRltxnZVubJL2SGE/d4xtQh8oxy60pW2vWWF8sk3ght3qyR5cGiIDqcBDVDLGxHWKh0jYzObQ1Zl97xcFTcwm1wxTyQIYOwHq784HqjalJvmksF//w6qC9H9cwZZBePshx4SC7sMfRrxKUA06Jbq+JRfpKyPu1aNtofmRt8WJa0FJ2s0de/VR02XfMkti7rzWY0BkgsSQfyPoG8/AC6tNAdr/reU6N24tQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1soFpZrWdYNL4VKp39xcpFQ6p6KHCzOyo35X7acf83Y=;
 b=RN2ANYUS+TVqst6NAOeGLI/m9kn8/ni1up2fyi2Ar8cLFn8creY8TR9+PoxG0KNjPcSAXiNI1ypt11QeA7ZMeIhZKD+Gv7tOazGoSEHV3oQl+UpYkdJxyEVixuQKJjm0K/5y5CyKf+Q5JaEEoWP3e+AXaQAyT6m6tDZnExVOU9pIIJkqmpMnmAcIa0B74XjvsK4eJrJkapAQBFFfKO7VkwiVX/8v4RZ58zqJWMdvRSat57B2L+i4P4Z73pake+myCaAwzFb5xovmkNi1jesV55zitZ9G2XnChixp8CSggdEIRn+INeUqvlXfM+6h3r/ZizfUWJLzZQ6ppPahSd4c4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1soFpZrWdYNL4VKp39xcpFQ6p6KHCzOyo35X7acf83Y=;
 b=ujU7p+wwXzm4grdW0sInbdmJ8sd2FGAb30XqMB1yxZNttA7kUHI0iDoDRSXL/BdiVlhXqhZmwDQ6wPHCReWszRe4SzDCMLMYlhKOaainxuFcESV6J/rSRWB0NeZM87ZBI2Mkc+9ak8rnOKmagaAfS9E1uhw9wp/QUN3855auEnY=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Alistair Francis <alistair23@gmail.com>, Oleksii
	<oleksii.kurochko@gmail.com>
CC: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
	<alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>, Anthony
 Perard <anthony.perard@citrix.com>
Subject: Re: [XEN PATCH v1 1/4] arch/riscv: initial RISC-V support to
 build/run minimal Xen
Thread-Topic: [XEN PATCH v1 1/4] arch/riscv: initial RISC-V support to
 build/run minimal Xen
Thread-Index: AQHZFsAJYhXYxlPpRkqmFf35I9Ktpq57fXsAgASLWACAArnQAIAA7ZIA
Date: Wed, 28 Dec 2022 19:01:56 +0000
Message-ID: <0a60dc57-080f-4210-d9f8-4688308cc5f5@citrix.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
 <5d5ec5fbd8787ed8f86bf84a5ac291d07a20b307.1671789736.git.oleksii.kurochko@gmail.com>
 <3343c927-0f27-e285-5b6e-281c61939bb4@xen.org>
 <43d726761900ba3d8b4919fc29fe7cb1991ac656.camel@gmail.com>
 <CAKmqyKMmW7rRXymMD6dNeLTLbUaSwO5nw=hJTk_xNvsZ3pg7jA@mail.gmail.com>
In-Reply-To:
 <CAKmqyKMmW7rRXymMD6dNeLTLbUaSwO5nw=hJTk_xNvsZ3pg7jA@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|DM6PR03MB5180:EE_
x-ms-office365-filtering-correlation-id: cf5b6526-e522-48d8-d902-08dae905fd95
x-ld-processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 tULF4fU5D3YbBc1h48d34rW63EJIgB96jA0m/al9Dr8exPANd3z+Sam76Bcc3lAIukHqoc2Y+VG+2GSZOUmTZfBpPd3PO2Tf+KxdFraAxduuNom1eCCJvJnfrq37aV32VJ3rhJHkP60bEqrz1jiU0j1cRmNGaouoFYgdt0NZTU6hpnUpI2HPf7Diuvly/OXzyCbcRyPHF/Ls7myV7M0WMqkrjSrhkbT0mmByyz3EERuLBw+qgDXTcgXIaY3frgITIO0/5341l+9e7rgRPf7sOvcq/hJNklWo6hkLTbOax7R0EzfB6u05lg68ChJWpk88B2z523D94oSAsZmqzejlD2u4lWyhXoT2SZikh0dxoN+3Vwgk0vWO/nWwu0XjVR2YnxkUwI9iYKt2KmJXslkGmWxEDAmqJdCdvbfinAPbdkxLONWd3jjErM8jNxYIBqBqc7Ek4UMGUDaa+5GGuQ7qMaTVLmmylSHGRoLlxtq5zzqjKADAt8HO5N1rTgcc3HlvgzbXwlNvaiqJB0EkXVCsWJzpkjstkVlhnUtzrcQhBBca2inJZjCR+izZaDmYMj9aCYdrOHqVJy5e2k6ExNiO2EiwoOFwvyTnZggRQoI1j/CFwvGMNPgsYbsFJXmwR/V57aya72WT7OLE8LKZaLVsEjoFQtxoSMCkvvLuZnpax4hGuVakGEpIzGuJuyHVRWKD2yMd5xgW165AMIlChBDyMqppypA7ITz9NJR9IaRds81dUIw2iS2zpAm8IhlEk7Dx5k3ZsaJqS5AbbMg9OR0lHA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(366004)(396003)(346002)(376002)(136003)(39860400002)(451199015)(38070700005)(478600001)(6486002)(41300700001)(36756003)(6506007)(53546011)(186003)(26005)(6512007)(316002)(110136005)(54906003)(86362001)(31696002)(71200400001)(31686004)(2906002)(4001150100001)(8936002)(5660300002)(83380400001)(107886003)(7416002)(8676002)(4326008)(76116006)(64756008)(66556008)(66476007)(66446008)(2616005)(66946007)(38100700002)(122000001)(91956017)(82960400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aVZFQjAreHp5Mys3YjRBTlc3NnQrUzJkNVQ5MG45aTI0bzZSSXpRSm1kb1RF?=
 =?utf-8?B?QW5XUTh4eUVxUEYwTit4ZVNTWnVCbFRaOHZNcUVEWmxRL1lDTTUvWjJFZE93?=
 =?utf-8?B?YlU0Tis2bDIyRWM0QS9TMGFuT29IM00yVmU1RWFPQ0lDaUlYQlVsVW91TTkr?=
 =?utf-8?B?Mm13UXRQNnRydlplSG96UkVNN0ttc0tnd25NTkswdENHT3hTamdFZjhMYmJm?=
 =?utf-8?B?MzVRZ01BQThjQUxBbWVDK2lKbFlkNVluOGFKQXFNMU1rWjl5WHJrVFUrOGww?=
 =?utf-8?B?My9rSFJoQWxrWjNTOUJtYkdVU3d1a2c5bUttOGJvQzNWNWZxOWE3cVdjODBm?=
 =?utf-8?B?STJPWGF5QjlhWWZOSWhhMDg5Mm1WaU9YdzRENCtJY2lJczFtdDlHc1hHdWRm?=
 =?utf-8?B?WEtHbmtHakZzaGU5Y0dNazZaUEFpT0FJbkQ0RUV3T1JOOVo3Mm16bEhYcFJJ?=
 =?utf-8?B?NGxzS2hPL3IvZThtVE40eEY0SGNxeUNLUVNacm5icHA3aWlvU01jYmozYXJ4?=
 =?utf-8?B?TmRsV0hFcDlzaHN0b3J1TkU5SElEenpTWnpmeGVjZGNodXkrckxUTGRqZk16?=
 =?utf-8?B?aVhwNHVYUmVBS2c1a3dJbUtsWHlQMWpDK3ZrMG1BOGJQdmJzREZ0cHg5WTFG?=
 =?utf-8?B?UjNRSVR0Q1UzU3hIOUxJZTVHR05wc1J3ZFNyVFBKR1B4RXllbzFpOFBBcVV1?=
 =?utf-8?B?WHRZZWZLVVkzcGFYWmhtY2xZVjdrSEk1M0R2SkZabkQ2ZkM3Rm0yeDZFcHVi?=
 =?utf-8?B?ZHFST3VheEJjQ1hyU2VCMDlDVkFlQ1c1UTAzZzR4TGFJdEVybTM1SERpc080?=
 =?utf-8?B?V2pIOTdVaklCcExSK0U0MXFvMXFKeCtiYVRYOUlmZmZvSGFCOE9NRnNTWEpp?=
 =?utf-8?B?bzI3NHBlQ2YxM3greVNjdWRmVHFYYlJxYTEzaUJhZmx2VVVFMTNLaEJuZFBJ?=
 =?utf-8?B?Ty9sc3haV1RBOGtNNHl2ekJLcHpqOW1RZGdlS3htcGkrSlQvand1azQvQkcw?=
 =?utf-8?B?OEV0OHVETFUzY3RlV2VEYWFZd3R6WEZsTkhIYVd5aGdidzRvZGgyaDZTa2dl?=
 =?utf-8?B?VTlLczBPY1BOTTlHZ0U3R1U2MWM3anl2Z2lQWnFJSEM1WnhkWVF3ZG92a3hY?=
 =?utf-8?B?eE1jSWJ0cGRzN3k1RUdkSmFWRlh2VlZsOG9ORjlXakkrUmVrOVlPRTZDTG9T?=
 =?utf-8?B?ZGROL3cyeEtlTlhDWHZBZDdLd3VsbDRXU2gxZVcyZTFieVJxREZ1MGx0cUZD?=
 =?utf-8?B?YXd0SHhodWVvR2xFQ1lrMHNVY2NvajJ0RWptcXZ3c1F0NFJKK1NBVmpZZGFM?=
 =?utf-8?B?Z09xY1pyeE9adm9FaVlGQWhBRUZ5TjNNODBBVWo0S1R3WmowVnBZdTdaRWk5?=
 =?utf-8?B?T20xOGVDeVBpdEEramduNTlXdGIzV1RhUThmbGpUNVpjRGd3YTZacncwcDBI?=
 =?utf-8?B?cjJJZjl5WUN4VUhhZHlVd0l4MnI5ajEyNUJxUjF4WlJvOHhDdEt0SW5qWlhG?=
 =?utf-8?B?enRNK3lzMGthTFBVVWE2a3ZCaTYwRVU3elhCaFZQNXNZS0luang2cHpOWlJ1?=
 =?utf-8?B?K1lpakdaVlpvYytXNTRqRjJIVTAzenNScmQzMlFOVk1HYnRkVnNDQ0RrTDJ6?=
 =?utf-8?B?eExhUUdBUVZxSGFWdnowaUN3WUZ2ODU3SDBkWVlJR01EMThpWjFxMFAyM1B1?=
 =?utf-8?B?Mlk0MU1WcUl2SmlNbG9JaXkxNTVlV3ZLZ3YzeG1WRkZtNk42MlNvaC85Wlk0?=
 =?utf-8?B?VTMwUnN4ZDV1MlNKWXgxanRKZHVLamxnWGRNcktQYmpMYkp6MEExMFZDbHJS?=
 =?utf-8?B?WTdaVDEwWVdzN3NLa1R3cTQ2ZDJveEtlWDQ3QktBQy9wYkE2VG15MHU5SW9x?=
 =?utf-8?B?Lys2SmF0SVk0d3l5RzlDWHA2OEdLWmdyWmpJQk8veWxrMDZwZlBxRDRNZ2Ju?=
 =?utf-8?B?YzRnd3gzRk5YLzZ0WlVoZWxVNlNIR1pMQ21Tc2tGcUxIdDgzRGdRUHJ4b3lq?=
 =?utf-8?B?NEl2V0ZIMndFU3QvTWZTUFErQmVGL01vb0hRV0l2STlIQjl3T3g2NE8wZGY0?=
 =?utf-8?B?Qlp3L1FRZkxnZVJ1V3c4aUJWc1VPWTFXUmF2d2RneHRQT2JiRGJaQnZOOG5D?=
 =?utf-8?Q?QFdVd2enY86kK2L5j3LfdEed2?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <413489D61E830C4180D148121AA152B4@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf5b6526-e522-48d8-d902-08dae905fd95
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Dec 2022 19:01:56.4442
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 5XLRYpLnFU5wr1I+SHTmgNcj7xVOtoYglG4miAOGSZPhqX6MOEKW9JcgrDfK+7HbG+ztFnTrhA08F0IIWVQMUlOtiw6vWB7xeIa7niaDb5E=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5180

T24gMjgvMTIvMjAyMiA0OjUxIGFtLCBBbGlzdGFpciBGcmFuY2lzIHdyb3RlOg0KPiBPbiBNb24s
IERlYyAyNiwgMjAyMiBhdCA5OjE0IFBNIE9sZWtzaWkgPG9sZWtzaWkua3Vyb2Noa29AZ21haWwu
Y29tPiB3cm90ZToNCj4+IE9uIEZyaSwgMjAyMi0xMi0yMyBhdCAxMzo1MCArMDAwMCwgSnVsaWVu
IEdyYWxsIHdyb3RlOg0KPj4+IE9uIDIzLzEyLzIwMjIgMTE6MTYsIE9sZWtzaWkgS3Vyb2Noa28g
d3JvdGU6DQo+Pj4+ICsgIC4gPSBBTElHTihQQUdFX1NJWkUpOw0KPj4+PiArICAuYnNzIDogew0K
Pj4+PiArICAgICAgIF9fYnNzX3N0YXJ0ID0gLjsNCj4+Pj4gKyAgICAgICAqKC5ic3MgLmJzcy4q
KQ0KPj4+PiArICAgICAgIC4gPSBBTElHTihQT0lOVEVSX0FMSUdOKTsNCj4+Pj4gKyAgICAgICBf
X2Jzc19lbmQgPSAuOw0KPj4+IFNhbWUgYXMgLmRhdGEsIEkgd291bGQgcmVjb21tZW5kIHRvIHBy
b3Blcmx5IHBvcHVsYXRlIGl0Lg0KPj4gRG8geW91IG1lYW4gdG8gYWRkIC5ic3Muc3RhY2tfYWxp
Z25lZCwgLmJzcy5wYWdlX2FsaWduZWQsIC5ic3MucGVyY3B1Kj8NCj4+IE9uZSBvZiB0aGUgcmVh
c29ucyB0aGV5IHdlcmUgc2tpcHBlZCBpcyB0aGV5IGFyZW4ndCB1c2VkIG5vdyBhbmQgb25lDQo+
PiBtb3JlIHJlYXNvbiBpZiB0byBiZWxpZXZlIHhlbi5sZHMuUyBmaWxlIGZyb20gQVJNDQo+PiAu
YnNzLnBlcmNwdS5yZWFkX21vc3RseSBzaG91bGQgYmUgYWxpZ25lZCBieSBTTVBfQ0FDSEVfQllU
RVMgd2hpY2gNCj4+IHJlcXVpcmVzIGR1bW15IDxhc20vY2FjaGUuaD4gKG9yIG5vdCA/KSB3aGlj
aCB3aWxsIGluY3JlYXNlIHRoZSBwYXRjaA0KPj4gd2l0aCB1bm5lZWRlZCBzdHVmZiBmb3Igbm93
Lg0KPiBJIHRoaW5rIHdlIHNob3VsZCBhaW0gdG8gZ2V0IHRoZSBsaW5rZXIgZmlsZSBzb3J0ZWQg
cmlnaHQgZnJvbSB0aGUNCj4gc3RhcnQuIE90aGVyd2lzZSBzb21lb25lIGlzIGdvaW5nIHRvIGhp
dCBhIG5hc3R5IGJ1ZyBhdCBzb21lIHBvaW50IGluDQo+IHRoZSBmdXR1cmUuDQoNCldoYXQgbmVl
ZHMgdG8gaGFwcGVuIGlzIGFjdHVhbGx5IGZvciBYZW4gdG8gc3RhcnQgdXNpbmcgYSBjb21tb24g
bGlua2VyDQpzY3JpcHQsIHJhdGhlciB0aGFuIGEgcGVyLWFyY2ggbGlua2VyIHNjcmlwdC4NCg0K
VGhlIHZhc3QgbWFqb3JpdHkgb2YgdGhlIGxpbmtlciBzY3JpcHQgaXMgbm90IGFyY2hpdGVjdHVy
ZSBzcGVjaWZpYyB0bw0KYmVnaW4gd2l0aCwgYW5kIHRoZSByZXN0IGlzIGVhc3kgdG8gcGFyYW1l
dHJpc2UuDQoNCkJ1dCBpbiB0aGUgc2hvcnQgdGVybSwgaXQncyBtb3JlIGltcG9ydGFudCB0byBn
ZXQgc29tZXRoaW5nIHdvcmtpbmcgYW5kDQpwcm9wZXJseSBpbnRvIENJLCByYXRoZXIgdGhhbiB0
byBibG9jayB0aGlzIGNoYW5nZSB3YWl0aW5nIGZvciBmZWF0dXJlDQpwYXJpdHkgd2l0aCBhIHdo
b2xlIGxvYWQgb2YgZmVhdHVyZXMgbm90IGN1cnJlbnRseSB1c2VkLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 22:31:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 22:31:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469566.728938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAewa-0005wq-OO; Wed, 28 Dec 2022 22:30:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469566.728938; Wed, 28 Dec 2022 22:30:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAewa-0005wj-Lf; Wed, 28 Dec 2022 22:30:40 +0000
Received: by outflank-mailman (input) for mailman id 469566;
 Wed, 28 Dec 2022 22:30:38 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAewY-0005wZ-SA; Wed, 28 Dec 2022 22:30:38 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAewY-0008TI-Lh; Wed, 28 Dec 2022 22:30:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAewY-0006wa-7C; Wed, 28 Dec 2022 22:30:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAewY-0000sB-6l; Wed, 28 Dec 2022 22:30:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ae7EhsOGsyAEMDhiT7cj87smIWRtLZysjQ6oUKv+h4g=; b=isxriMNYrByAyH8AM0xBw6xUO5
	3nP7NDLXYb2DaL+6PART8eIxJeCOsSdeTnLQa/acc1ZS8hmYCqbOg988Fjy9qtm6hnaJEwaW9ARpo
	auzqEbwp0eHgLq6bXwHrpIYWEFn4xkHimMYV8MH2ZB8zoH16/aYVBjVSXCj2cyjqLPKw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175516-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 175516: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7eef80e06ed2282bbcec3619d860c6aacb0515d8
X-Osstest-Versions-That:
    xen=84ece04e7f11fe30c2f83753d72f481610357ed0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 28 Dec 2022 22:30:38 +0000

flight 175516 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175516/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass

version targeted for testing:
 xen                  7eef80e06ed2282bbcec3619d860c6aacb0515d8
baseline version:
 xen                  84ece04e7f11fe30c2f83753d72f481610357ed0

Last test of basis   175472  2022-12-23 18:00:27 Z    5 days
Testing same since   175516  2022-12-28 19:00:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alistair Francis <alistair.francis@wdc.com>
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  pass    
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   84ece04e7f..7eef80e06e  7eef80e06ed2282bbcec3619d860c6aacb0515d8 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 22:32:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 22:32:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469575.728949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAeyG-0006U2-4D; Wed, 28 Dec 2022 22:32:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469575.728949; Wed, 28 Dec 2022 22:32:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAeyG-0006Tv-1O; Wed, 28 Dec 2022 22:32:24 +0000
Received: by outflank-mailman (input) for mailman id 469575;
 Wed, 28 Dec 2022 22:32:22 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=8kIe=42=gmail.com=julien.grall@srs-se1.protection.inumbo.net>)
 id 1pAeyE-0006Tn-Ee
 for xen-devel@lists.xenproject.org; Wed, 28 Dec 2022 22:32:22 +0000
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com
 [2a00:1450:4864:20::536])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e07971a-86ff-11ed-8fd4-01056ac49cbb;
 Wed, 28 Dec 2022 23:32:21 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id i15so24585513edf.2
 for <xen-devel@lists.xenproject.org>; Wed, 28 Dec 2022 14:32:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e07971a-86ff-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=L6Oe9gh+QCMLZ80pgdkjv0IZjE/LDgrYSjhGU+VbuqQ=;
        b=n/Osieg8TAs42R8BZf58Os5c7XjBa8ga1IE0+JV9YuF/gptXVe8L/J6JrRFBxwYBr/
         cYhJCCfuMmrhCfypXGTerCxRWg16qcUHYGim5MRu6sLK30MGa6ORu4zbee4kNaxZWyHk
         NP+u/dOrWvtP5SKxkqn37J6IAfH1S8DrYS+DYE9Kfic6lzrItNccRFV3v2piH01gc55t
         y6YDzRA4B6B7XdE+wm8QP21vPt1Z44jWhlD2uKVwqpGQXgPs+9+J9Q6vSG8kLjS6Qtit
         UnonNnGxP8FGfHu4SgfIpao5t6BzN/Aab3BLt/JYr4zOxUcxmx3+Py1dKCxVKHlYe5TU
         Pdug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=L6Oe9gh+QCMLZ80pgdkjv0IZjE/LDgrYSjhGU+VbuqQ=;
        b=n5NE+f4fzVCIg4t/vuouvd/A06PTIuJJ9SD99W9Oh+eflVUigha0ESgimQ1X9lsbdE
         U5WYkYy1iz9iBGyZG3a2c+W+xs3vK6iblJW/xlwMLOH5GN8Nncac3YJ6w78NE3CQ5jEP
         yRWbTdDZaBPImeiN/j71ffy8XdhCECTvjxKt9nZS7+hzY6pqEu8rwW60tbeCQq1ekP8n
         jIX7WGaGb0YFkk8i1k3XVpIWtiq/zkTCuJZ3loH68Ua2V5DuITki8uln5XIPqmffDGFf
         8VnlMVYJw2r/PtnlQj2CaEyYa0f9VeREQA2H/HMz36y/ovibmGRbsNpau0pDSpD2Eexi
         Tkfg==
X-Gm-Message-State: AFqh2kpfbhcyXMViCl+J2g1pRoa2zezNogG5wMRdjS/pq3Ii0/XNiiSv
	x27zixEKCYBr549AkYgdDCq+fdNPgPDJTsHCwDk=
X-Google-Smtp-Source: AMrXdXuYj891U9GSowLcMIBKpQ0NpCwZ0yFkWKB6u7wS/Xc+rWFnlVPn166cUMsjCchw+YIaxP2QMT1Voj3RgKvNLAQ=
X-Received: by 2002:a05:6402:895:b0:46b:2979:7397 with SMTP id
 e21-20020a056402089500b0046b29797397mr3416500edy.332.1672266740246; Wed, 28
 Dec 2022 14:32:20 -0800 (PST)
MIME-Version: 1.0
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
 <5d5ec5fbd8787ed8f86bf84a5ac291d07a20b307.1671789736.git.oleksii.kurochko@gmail.com>
 <3343c927-0f27-e285-5b6e-281c61939bb4@xen.org> <43d726761900ba3d8b4919fc29fe7cb1991ac656.camel@gmail.com>
In-Reply-To: <43d726761900ba3d8b4919fc29fe7cb1991ac656.camel@gmail.com>
From: Julien Grall <julien.grall@gmail.com>
Date: Wed, 28 Dec 2022 22:22:44 +0000
Message-ID: <CAF3u54A+Qqn+7dyBqh8utnN04b-DYkHbtL5DEEWuw9HQ2EQzTQ@mail.gmail.com>
Subject: Re: [XEN PATCH v1 1/4] arch/riscv: initial RISC-V support to
 build/run minimal Xen
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	Anthony PERARD <anthony.perard@citrix.com>, Bob Eshleman <bobbyeshleman@gmail.com>, 
	Connor Davis <connojdavis@gmail.com>, Gianluca Guida <gianluca@rivosinc.com>, 
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="00000000000005ae3905f0eaf1a7"

--00000000000005ae3905f0eaf1a7
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, 26 Dec 2022 at 12:14, Oleksii <oleksii.kurochko@gmail.com> wrote:

> >
> > > +/*
> > > + * PAGE_SIZE is defined in <{asm,xen}/page-*.h> but to
> > > + * remove unnecessary headers for minimal
> > > + * build headers it will be better to set PAGE_SIZE
> > > + * explicitly.
> >
> > TBH, I think this is a shortcut that is unnecessary and will only
> > introduce extra churn in the future (for instance, you will need to
> > modify the include in xen.lds.S).
> >
> > But I am not the maintainer, so I will leave that decision to them
> > whether this is acceptable.
>
> I didn't get what you mean by a shortcut here.


config.h is automatically included everywhere. So anything defined in the
header will also be available everywhere. Once you move the definition in a
separate header, then you will have have to chase where the definition is
used.

An alternative would be to include the new header in config.h. However,
this is not always wanted (we are trying to limit the scope of some
definitions).

So maybe you are saving a few minutes now. But you will spend a lot more to
chase the places where the new header needs to be included.


> >
> > > + *
> > > + * TODO: remove it when <asm/page-*.h> will be needed
> > > + *       defintion of PAGE_SIZE should be remove from
> >
> > s/defintion/definition/
>
> Thanks for finding the typo. Will update it in the next version of
> the patch.
>
> >
> > > + *       this header.
> > > + */
> > > +#define PAGE_SIZE       4096 > +
> > >   #endif /* __RISCV_CONFIG_H__ */
> > >   /*
> > >    * Local variables:
> > > diff --git a/xen/arch/riscv/include/asm/types.h
> > > b/xen/arch/riscv/include/asm/types.h
> > > new file mode 100644
> > > index 0000000000..afbca6b15c
> > > --- /dev/null
> > > +++ b/xen/arch/riscv/include/asm/types.h
> > > @@ -0,0 +1,11 @@
> > > +#ifndef __TYPES_H__
> > > +#define __TYPES_H__
> > > +
> > > +/*
> > > + *
> > > + * asm/types.h is required for xen-syms.S file which
> > > + * is produced by tools/symbols.
> > > + *
> > > + */
> > > +
> > > +#endif
> > > diff --git a/xen/arch/riscv/riscv64/Makefile
> > > b/xen/arch/riscv/riscv64/Makefile
> > > index 15a4a65f66..3340058c08 100644
> > > --- a/xen/arch/riscv/riscv64/Makefile
> > > +++ b/xen/arch/riscv/riscv64/Makefile
> > > @@ -1 +1 @@
> > > -extra-y +=3D head.o
> > > +obj-y +=3D head.o
> >
> > This changes want to be explained. So does...
>
> RISC-V 64 would be supported now and minimal build is built
> now only obj-y stuff.


I am a bit confused. It thought what was checked in was meant to work. Did
I misremembered?

>
>
> >
> > > diff --git a/xen/arch/riscv/riscv64/head.S
> > > b/xen/arch/riscv/riscv64/head.S
> > > index 0dbc27ba75..0330b29c01 100644
> > > --- a/xen/arch/riscv/riscv64/head.S
> > > +++ b/xen/arch/riscv/riscv64/head.S
> > > @@ -1,6 +1,6 @@
> > >   #include <asm/config.h>
> > >
> > > -        .text
> > > +        .section .text.header, "ax", %progbits
> >
> > ... AFAICT this is to match the recent change in the build system.
>
> I am not sure that I get you here but it was done to make 'start'
> instructions to be the first instructions that will be executed and
> to make 'start' symbol to be the first in xen-syms.map file otherwise
> gdb shows that Xen starts from the wrong instructions, fails to find
> correct source file and goes crazy.


When the file head.S was originally created, there was no section
.text.header. Instead head.S was included at the top with some different
runes.

>
> >
> > > +  } :text
> > > +
> >
> > I am assuming you are going to add .init.* afterwards?
> >
> > > +  . =3D ALIGN(PAGE_SIZE);
> > > +  .bss : {
> > > +       __bss_start =3D .;
> > > +       *(.bss .bss.*)
> > > +       . =3D ALIGN(POINTER_ALIGN);
> > > +       __bss_end =3D .;
> >
> > Same as .data, I would recommend to properly populate it.
>
> Do you mean to add .bss.stack_aligned, .bss.page_aligned, .bss.percpu*?
> One of the reasons they were skipped is they aren't used now and one
> more reason if to believe xen.lds.S file from ARM
> .bss.percpu.read_mostly should be aligned by SMP_CACHE_BYTES which
> requires dummy <asm/cache.h> (or not ?) which will increase the patch
> with unneeded stuff for now.


I will answer your reply to Alistair here at the same time.

The problem is .bss.* will include any section start with .bss.. IOW
section like .bss.page_aligned will also be covered and therefore you will
not get a linker failure.

Instead , the linker will fold the section wherever it wants. Therefore,
there is no guarantee, the content will be page aligned. When using the
binary, you could end up with weird behavior that will be hard to debug.

I understand you are trying to get a basic build. But, I feel the linker is
not something you want to quickly rush. 1h may turn into hours lost in a
few months because not everyone may remember that you didn=E2=80=99t specia=
l case
.bss.page_aligned.

Short of suggesting to have a common linker script,  you could simply not
use * (IOW explictly list the section).  With that, you should get a
linking warning/error if the section is not listed.

Cheers,
--=20
Julien Grall

--00000000000005ae3905f0eaf1a7
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div><br></div><div style=3D"background-color:rgba(0,0,0,0)!important;borde=
r-color:rgb(255,255,255)!important;color:rgb(255,255,255)!important"><br><d=
iv class=3D"gmail_quote" style=3D"background-color:rgba(0,0,0,0)!important;=
border-color:rgb(255,255,255)!important;color:rgb(255,255,255)!important"><=
div dir=3D"ltr" class=3D"gmail_attr">On Mon, 26 Dec 2022 at 12:14, Oleksii =
&lt;<a href=3D"mailto:oleksii.kurochko@gmail.com">oleksii.kurochko@gmail.co=
m</a>&gt; wrote:</div><blockquote class=3D"gmail_quote" style=3D"margin:0px=
 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1=
ex;border-left-color:rgb(204,204,204)" dir=3D"auto">
&gt; <br>
&gt; &gt; +/*<br>
&gt; &gt; + * PAGE_SIZE is defined in &lt;{asm,xen}/page-*.h&gt; but to<br>
&gt; &gt; + * remove unnecessary headers for minimal<br>
&gt; &gt; + * build headers it will be better to set PAGE_SIZE<br>
&gt; &gt; + * explicitly.<br>
&gt; <br>
&gt; TBH, I think this is a shortcut that is unnecessary and will only <br>
&gt; introduce extra churn in the future (for instance, you will need to <b=
r>
&gt; modify the include in xen.lds.S).<br>
&gt; <br>
&gt; But I am not the maintainer, so I will leave that decision to them <br=
>
&gt; whether this is acceptable.<br>
<br>
I didn&#39;t get what you mean by a shortcut here.</blockquote><div dir=3D"=
auto"><br></div><div dir=3D"auto">config.h is automatically included everyw=
here. So anything defined in the header will also be available everywhere. =
Once you move the definition in a separate header, then you will have have =
to chase where the definition is used.</div><div dir=3D"auto"><br></div><di=
v dir=3D"auto">An alternative would be to include the new header in config.=
h. However, this is not always wanted (we are trying to limit the scope of =
some definitions).</div><div dir=3D"auto"><br></div><div dir=3D"auto">So ma=
ybe you are saving a few minutes now. But you will spend a lot more to chas=
e the places where the new header needs to be included.</div><div dir=3D"au=
to"><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px=
 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;borde=
r-left-color:rgb(204,204,204)" dir=3D"auto">
<br>
&gt; <br>
&gt; &gt; + *<br>
&gt; &gt; + * TODO: remove it when &lt;asm/page-*.h&gt; will be needed<br>
&gt; &gt; + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 defintion of PAGE_SIZE sh=
ould be remove from<br>
&gt; <br>
&gt; s/defintion/definition/<br>
<br>
Thanks for finding the typo. Will update it in the next version of<br>
the patch.<br>
<br>
&gt; <br>
&gt; &gt; + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 this header.<br>
&gt; &gt; + */<br>
&gt; &gt; +#define PAGE_SIZE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 4096 &gt; =
+<br>
&gt; &gt; =C2=A0 #endif /* __RISCV_CONFIG_H__ */<br>
&gt; &gt; =C2=A0 /*<br>
&gt; &gt; =C2=A0=C2=A0 * Local variables:<br>
&gt; &gt; diff --git a/xen/arch/riscv/include/asm/types.h<br>
&gt; &gt; b/xen/arch/riscv/include/asm/types.h<br>
&gt; &gt; new file mode 100644<br>
&gt; &gt; index 0000000000..afbca6b15c<br>
&gt; &gt; --- /dev/null<br>
&gt; &gt; +++ b/xen/arch/riscv/include/asm/types.h<br>
&gt; &gt; @@ -0,0 +1,11 @@<br>
&gt; &gt; +#ifndef __TYPES_H__<br>
&gt; &gt; +#define __TYPES_H__<br>
&gt; &gt; +<br>
&gt; &gt; +/*<br>
&gt; &gt; + *<br>
&gt; &gt; + * asm/types.h is required for xen-syms.S file which<br>
&gt; &gt; + * is produced by tools/symbols.<br>
&gt; &gt; + *<br>
&gt; &gt; + */<br>
&gt; &gt; +<br>
&gt; &gt; +#endif<br>
&gt; &gt; diff --git a/xen/arch/riscv/riscv64/Makefile<br>
&gt; &gt; b/xen/arch/riscv/riscv64/Makefile<br>
&gt; &gt; index 15a4a65f66..3340058c08 100644<br>
&gt; &gt; --- a/xen/arch/riscv/riscv64/Makefile<br>
&gt; &gt; +++ b/xen/arch/riscv/riscv64/Makefile<br>
&gt; &gt; @@ -1 +1 @@<br>
&gt; &gt; -extra-y +=3D head.o<br>
&gt; &gt; +obj-y +=3D head.o<br>
&gt; <br>
&gt; This changes want to be explained. So does...<br>
<br>
RISC-V 64 would be supported now and minimal build is built<br>
now only obj-y stuff.</blockquote><div dir=3D"auto"><br></div><div dir=3D"a=
uto">I am a bit confused. It thought what was checked in was meant to work.=
 Did I misremembered?</div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-l=
eft:1ex;border-left-color:rgb(204,204,204)" dir=3D"auto"><br>
<br>
&gt; <br>
&gt; &gt; diff --git a/xen/arch/riscv/riscv64/head.S<br>
&gt; &gt; b/xen/arch/riscv/riscv64/head.S<br>
&gt; &gt; index 0dbc27ba75..0330b29c01 100644<br>
&gt; &gt; --- a/xen/arch/riscv/riscv64/head.S<br>
&gt; &gt; +++ b/xen/arch/riscv/riscv64/head.S<br>
&gt; &gt; @@ -1,6 +1,6 @@<br>
&gt; &gt; =C2=A0 #include &lt;asm/config.h&gt;<br>
&gt; &gt; =C2=A0 <br>
&gt; &gt; -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .text<br>
&gt; &gt; +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .section .text.header=
, &quot;ax&quot;, %progbits<br>
&gt; <br>
&gt; ... AFAICT this is to match the recent change in the build system.<br>
<br>
I am not sure that I get you here but it was done to make &#39;start&#39;<b=
r>
instructions to be the first instructions that will be executed and<br>
to make &#39;start&#39; symbol to be the first in xen-syms.map file otherwi=
se<br>
gdb shows that Xen starts from the wrong instructions, fails to find<br>
correct source file and goes crazy.</blockquote><div dir=3D"auto"><br></div=
><div dir=3D"auto">When the file head.S was originally created, there was n=
o section .text.header. Instead head.S was included at the top with some di=
fferent runes.</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0=
px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex=
;border-left-color:rgb(204,204,204)" dir=3D"auto"><br>
&gt; <br>
&gt; &gt; +=C2=A0 } :text<br>
&gt; &gt; +<br>
&gt; <br>
&gt; I am assuming you are going to add .init.* afterwards?<br>
&gt; <br>
&gt; &gt; +=C2=A0 . =3D ALIGN(PAGE_SIZE);<br>
&gt; &gt; +=C2=A0 .bss : {<br>
&gt; &gt; +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __bss_start =3D .;<br>
&gt; &gt; +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.bss .bss.*)<br>
&gt; &gt; +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 . =3D ALIGN(POINTER_ALIGN);=
<br>
&gt; &gt; +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __bss_end =3D .;<br>
&gt; <br>
&gt; Same as .data, I would recommend to properly populate it.<br>
<br>
Do you mean to add .bss.stack_aligned, .bss.page_aligned, .bss.percpu*?<br>
One of the reasons they were skipped is they aren&#39;t used now and one<br=
>
more reason if to believe xen.lds.S file from ARM<br>
.bss.percpu.read_mostly should be aligned by SMP_CACHE_BYTES which<br>
requires dummy &lt;asm/cache.h&gt; (or not ?) which will increase the patch=
<br>
with unneeded stuff for now. </blockquote><div dir=3D"auto"><br></div><div =
dir=3D"auto">I will answer your reply to Alistair here at the same time.</d=
iv><div dir=3D"auto"><br></div><div dir=3D"auto">The problem is .bss.* will=
 include any section start with .bss.. IOW section like .bss.page_aligned w=
ill also be covered and therefore you will not get a linker failure.</div><=
div dir=3D"auto"><br></div><div dir=3D"auto">Instead , the linker will fold=
 the section wherever it wants. Therefore, there is no guarantee, the conte=
nt will be page aligned. When using the binary, you could end up with weird=
 behavior that will be hard to debug.</div><div dir=3D"auto"><br></div><div=
 dir=3D"auto">I understand you are trying to get a basic build. But, I feel=
 the linker is not something you want to quickly rush. 1h may turn into hou=
rs lost in a few months because not everyone may remember that you didn=E2=
=80=99t special case .bss.page_aligned.</div><div dir=3D"auto"><br></div><d=
iv dir=3D"auto">Short of suggesting to have a common linker script, =C2=A0y=
ou could simply not use * (IOW explictly list the section).=C2=A0 With that=
, you should get a linking warning/error if the section is not listed.</div=
><div dir=3D"auto"><br></div><div dir=3D"auto" style=3D"background-color:rg=
ba(0,0,0,0)!important;border-color:rgb(255,255,255)!important;color:rgb(255=
,255,255)!important"><font style=3D"border-left-color:rgb(204,204,204);colo=
r:rgb(0,0,0)">Cheers,</font></div></div></div>-- <br><div dir=3D"ltr" class=
=3D"gmail_signature" data-smartmail=3D"gmail_signature">Julien Grall</div>

--00000000000005ae3905f0eaf1a7--


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 23:24:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 23:24:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469582.728961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAfmd-0003IH-35; Wed, 28 Dec 2022 23:24:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469582.728961; Wed, 28 Dec 2022 23:24:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAfmd-0003IA-0C; Wed, 28 Dec 2022 23:24:27 +0000
Received: by outflank-mailman (input) for mailman id 469582;
 Wed, 28 Dec 2022 23:24:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xfAD=42=citrix.com=prvs=354503da8=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pAfmb-0003I4-Ru
 for xen-devel@lists.xenproject.org; Wed, 28 Dec 2022 23:24:26 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c226275d-8706-11ed-91b6-6bf2151ebd3b;
 Thu, 29 Dec 2022 00:24:23 +0100 (CET)
Received: from mail-bn7nam10lp2102.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.102])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Dec 2022 18:24:18 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH0PR03MB5972.namprd03.prod.outlook.com (2603:10b6:610:e3::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.17; Wed, 28 Dec
 2022 23:24:13 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5944.016; Wed, 28 Dec 2022
 23:24:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c226275d-8706-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672269863;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=Lxy5aIf+V6oxW/7pQpxkJRh0iDWgDWC4OgwyQSpsaUI=;
  b=dIn1iiMQZRVQdYXe0VZWWiESMeHji7QEsjhugzOl2hD71ePlYOXnA4XI
   b8WXpJWgTC236bBvQ8O2q8Lxm4U9z+ljSG556y24HgYLbAJPg4B3Mytr0
   WAgWFIho46POiSoOcX7JhRiLWhIDy1GDKAOb+GDx1WgjBKxaX4RlnKSJ0
   A=;
X-IronPort-RemoteIP: 104.47.70.102
X-IronPort-MID: 92880165
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:07apo6ualgid2tvjxUJFQbzxwOfnVLVfMUV32f8akzHdYApBsoF/q
 tZmKWmCbP2OYTPzLotwao3kpEhT68TQmNU2HQNupXo8RCgX+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg0HVU/IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj5lv0gnRkPaoR5QWExyFOZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwJnMsTwyZlaGK76/4eLlXpZgnL/S6M9ZK0p1g5Wmx4fcOZ7nmGv2Pz/kHmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0ouiP60aIC9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOzipq4y2QPOroAVIB0qDQKxo/adsE+RWfNCA
 UEzwSs0joFnoSRHSfG4BXVUukWsuRoRWMFREqs59RuKwarX5C6WA2EFSnhKb9lOnN87Q3km2
 0GEm/vtBCdzq/uFRHSF7LCWoDiufy8PIgcqfjQYRAEI593ipoAbjR/VSNtnVqmvgbXdFjD5x
 TSXpyEWnbQNitUK0a799lfC6xqnr4LFSQMd7QzNUmWoqAh+YeaYi5eA7FHa6bNKKtmfR1zY5
 HwcwZHGtqYJEI2HkzGLTKMVBra16v2ZMTrax1lyA50m8Dfr8HmmFWxN3AxDyI5SGp5sUVfUj
 IX742u9OLc70KOWUJJK
IronPort-HdrOrdr: A9a23:PCTAOagE79RetO5pp/FZODurd3BQXssji2hC6mlwRA09TyX4ra
 2TdZEgvnXJYVkqKRIdcK+7Scu9qB/nm6KdgrN8AV7BZmnbUQKTRelfBODZrAEIdReeygdV79
 YET5RD
X-IronPort-AV: E=Sophos;i="5.96,282,1665460800"; 
   d="scan'208";a="92880165"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cLtLpasxifUF7N1EH7rXTjahe23BIuC4p4g2KM9zwmWqnrhTa/+2h12FG/J/mJS+Irges7SWyixnHDZbUqcCNPqfL11NERQPzIkQ73zqI65uZGQsoGgaqtQce60+75gmhfI+A8UM/7SNknz5aY0OWF12QgtqQh8Uqf+dLJ1qmNgc8ignK/0TrRdU3ifEREiB1YDKXJw4C8kInwnd/4ISeo5RwT8w5H0FvGi4s8pxpndzR2na1zIThjy3ru89xRe49VmFPTSRjwmEovD0LmuaX0fpSEKK8F90i4B2J6VxPZ9y2TTUA/3/gwNie49zim/gDcTCmIeCQppPF19WKYhtLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Lxy5aIf+V6oxW/7pQpxkJRh0iDWgDWC4OgwyQSpsaUI=;
 b=d+7Jzjnwc1vCeBnIXu0Qr8LSXe2xjxc30oq48sLIJlQVbKz3nm6AAtj5V6JshPbH0eOEgunnGmvlv4gbcIyxPe6feFLIylx0zJLiILk3byJi6ZSR+U0Hf6z0y1yIOZB4jfZ+JBMvxYx+g7HqKMZkHEtD3BJXHRrvc8yB1vXDTWCxODe/zOIigKr+mLfEDw1K5xAoIKnVAZUAoVIrFkTbBrhpqEdSTXa9TF8zeafoGyn0w5qtcFP9jGAFMALB5lt/hYQFlx8VPwVzw9Bz8wcj7XaLdcOviA200LYJg8X7MLkCu/fJ54rODWfAIzsn7WZXZ19Ln886vcH1dAE0pPExsA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Lxy5aIf+V6oxW/7pQpxkJRh0iDWgDWC4OgwyQSpsaUI=;
 b=YKAdsX508XTCINJAOS4jj74r7H2v9UkKnq7aAKNew1VHvhEnYVoljKkkiFvdTi+MEju0pMSSqorUto8KUfxZnksN168KHslHokAgD1Bg7pm/bpLOPkIqRSTKjEMpwEWoMdIY37SUo3PwjNmXTMcorF+5Xy7rTnjpP9aHg4F/RpQ=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
	<gianluca@rivosinc.com>, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH v1 2/4] automation: add cross-compiler support for the
 build script
Thread-Topic: [XEN PATCH v1 2/4] automation: add cross-compiler support for
 the build script
Thread-Index: AQHZFsAK4cT7u1aq80+VSFJtEw0nw66D+XwA
Date: Wed, 28 Dec 2022 23:24:12 +0000
Message-ID: <8f8c26d5-934d-0dd1-1d51-b04e134fcf6e@citrix.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
 <3c926f637c4738bd14db10e8fe8f72a6eae2dfd4.1671789736.git.oleksii.kurochko@gmail.com>
In-Reply-To:
 <3c926f637c4738bd14db10e8fe8f72a6eae2dfd4.1671789736.git.oleksii.kurochko@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|CH0PR03MB5972:EE_
x-ms-office365-filtering-correlation-id: eec5afb3-e4d3-4716-4be6-08dae92aa126
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 4AmYwjQpfqaHSjZ9INVryGcfwRH2K1FpGgRsYycCfLIA+LJiLlI7K4h611L9fVIAjmc5PbvjzTihbQtbW4Y3CTXLCZoS46FKwB/7WioBaDYDbKOgNKKklb1OMdjX8ujImXB6dtIULbuyptkTBRwegZ2NIlUYyNpcBRsz/XWxAGPMPRfHbe8PxjOAtt6G6MIaAbXXJ4rN6RuNezn81VuqEnvUaOPGhhaR7SHGwwAeSGVpKv7QlCWj7l+jHoZpbBaMMexEHThE8tYCn5IWXNk/XW9a3mo7+8bqu7HbBo8bxKUKaWnI3aybBFL8vO/DGV1P7XdZ1Xu+zNukCsjoN2TSon6xbYhnEh8knHc3go1cHydrvpgORLuo0adpRg6yvnxS7n7Ya8B5zjSYHRWP0PCnojkwpLxxWot5EG29l/UkJv3cQvPdFNFLn29YIqXX1BBcnML2cKweUzXLOpi6Jp9GM4lyhALSEKte+HoBuXOeZqIG/j6YLyydRnodgBpwS2kv6LUn95BvJclaeHK/sEvvFrYVP3OmWbzdOMGE/JH3R2zHC7lU3Ydc1HWBuwi6v8bYQN57cWDigcWD/fBVyczfd46VSEXhP3iOe3bk8vv3NfiRqkKH0xpXBEsfliDyg0x9lQFOy2f8ROrGf+929yuEmgDoh9HFhMzSZ/tJcLYI+sp2hf2WkBEDtcgsHyiVyylH6itVXCTl3JfBHCPvxDZIecmhk372YUfSzJA6QvOkQtNCXf5UVvxWup5ZlYLTXJDs7vIQNLhk6IPiC6+57h+l3g==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(136003)(346002)(396003)(366004)(376002)(39860400002)(451199015)(31696002)(86362001)(76116006)(91956017)(66446008)(4326008)(8676002)(66946007)(66556008)(66476007)(64756008)(2906002)(5660300002)(8936002)(41300700001)(26005)(83380400001)(6486002)(478600001)(2616005)(6512007)(53546011)(186003)(6506007)(316002)(38070700005)(110136005)(82960400001)(54906003)(71200400001)(38100700002)(122000001)(31686004)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?SzhVMVFhcElVQ09HQnp2bTFwQkQ2Vm5WL0dmVFYxYVEyQVI2S0tEOGErTzV4?=
 =?utf-8?B?Z01UbVFrek9FS0tmcVVjM0h5cHNiMzVCM2h6THRDeVN1K1lTeVRwT2FFL3JH?=
 =?utf-8?B?MGRqNFhIM3VPQzBFcm05bU5LdGV0OWxhSWlGWVVVeVhJUGdlcVNwa2FFVEUx?=
 =?utf-8?B?OXNMTzJ5TVpobk16OGhZeFdHUXR1MHN5NFhqVzloMzFvbFJFK1NHeWpsVjJL?=
 =?utf-8?B?eGR5dFQrc1JPcVAzcGthdTczRElxQnc4cEIwM202aHhzR1hKV1VxVEo2WEVi?=
 =?utf-8?B?aEh6OGNHUlRrQ3NYZFhLWmQwMWpYTm9ud0dsNVI0VUV1SGVETm83cCtaV212?=
 =?utf-8?B?cXZPZVVxcnFTc2N6TUMxZVBmVkRqb1p5WVVRWmE3Q3U5WEFFcytvdXVoS04v?=
 =?utf-8?B?bFdaZlBaR29kdlJYSXdRdk5FMjhEZ1doY1Uxb3hhRS9RSDl5blpBVEQyNUR6?=
 =?utf-8?B?Z0llV2VKVVZtanVTTnp0dDNmbWo1VENVaHRBd0U5ME1XdmNLVUVqQVlWV3ox?=
 =?utf-8?B?VHZuN1AxcjA3c21mditDR1NndTc2dmZzbG1BeE4xdXhNK01GSHJ3RG9YN21z?=
 =?utf-8?B?dDVxMEVudTBYNnJHQWxmL1c1R0hNUHUwWVo4Q0orNGtmSHErLzBZNDg0QndS?=
 =?utf-8?B?T2hLc1oxejlYZlJTSE1oL2hvVlp1K2J2RzJuYzNwVThxMHFDazdjb3RLbWgr?=
 =?utf-8?B?cUpvSThNSzNWeWVNVTlkYmtGcVg0ZXk1YlhKcW1uK0MvSThkOGxHTnlRV0xw?=
 =?utf-8?B?QTFGanFkdXdBRDU1aHAyY1pEZWM3MWQ0YVdlcnYrOG0xamttdTEvY1lvU3Nj?=
 =?utf-8?B?Rm16NXRTeWZoZkdHMGhycFJKVjdpRnhkVi9iRWNvQXlBa01RZFFGUlRxN29V?=
 =?utf-8?B?RUJHbi91ajlmL0luTDU0YkFKbEFuY0lSN2UyZzc1R2J3Sk96SWFhblN4eXh3?=
 =?utf-8?B?UXY1NUpkTWlBVFNFR1hDTDdZMmVNNy9CNG10WHJOYW0zQjRsaXF0cjhHYWtP?=
 =?utf-8?B?ZEF1QlY2blN3MzV3SVlvRkQwa0pUaEFaRlpZTVBRVCtWa2RvWmdCUHJ2Z1o5?=
 =?utf-8?B?a0dNbllOQnZxY2pkSkdaOC96TmdHeWl6YWxYa3YzUGVCRmQ3b3VVY0UvRFJr?=
 =?utf-8?B?QUlBQUxObkpwMm5qY2JtdjR3bnU1b2ovMi9SYnBVWTVBNzFKdUdyUWtXNERH?=
 =?utf-8?B?REZCdlkveWJvbEhOMkR3a0swWlFnZlIvZ1F2b1BjVmgzYjlKczFpUi9LV05O?=
 =?utf-8?B?YmFXTW9hblljVkJwOEtVVEIxWWFGMWZQM0VWclpCdzVPMGdXRGl5T0ZmOU9F?=
 =?utf-8?B?WldjSnI2NHBZU3M0cmMwRzZvQmJRWEprMkZoZmdCTVpjTnRUMWRLYXJKbEZN?=
 =?utf-8?B?dDZiMURjQlU5OFFzdEMveitJamV2RGJ2cCtpbENYSFRaYW9TdCt6OFZzRFFS?=
 =?utf-8?B?V1NSQnY2VDUrWDlPVDVqaGZtWmFPWFZPZ0VTam44eS9OWm1aME9aM3paYVMx?=
 =?utf-8?B?a0JXamhPa2Q3Nzl1c2lIR2Vmd3FrUjA3V2R6M21DTUlhY0pnWGpINUs4a0No?=
 =?utf-8?B?TGtXUUlqRHdDeldnandCbXlEMmV3SWVCelRhM2FHckk0TEp4STUwNGw4bFUx?=
 =?utf-8?B?cStHdTBRSU1US3FLK2poYWtPbmF1RVlQbmNQSVNHNE5qdUR3YkVSNEl2MlVR?=
 =?utf-8?B?VEZhVmF3cGRGM2YyM2JNYmhqcjVZOFY3dDU5RUhDbnhxMW90SW1yWXdVb0s3?=
 =?utf-8?B?UzNYc0ZDTlRrdTFnQk9oSzFadzYrTkRzc1lyQllsZHBNRXZ0bVM5Wm50WUZY?=
 =?utf-8?B?dHhkMGhEaFN6NU9SZTFTVWFVbFdzWEFyZWtmSzhPYUZRdittbVpZS3ZnNkV5?=
 =?utf-8?B?dmZ0UmZZcWpGcmIxWjJsaDlYNDl2MGM0U2xyT2FrQWcwTktpQ3JvZVJIVUxw?=
 =?utf-8?B?d2hMZ1pabGM4dE5QUzVRK2NRYjBOR1NNSnltdEFwU3VrTWFPN1JERncwZVVh?=
 =?utf-8?B?TTVBUmhIU2ZTbW9jWmx3ZEZBZktwTitkYU1ERnNLZmtvS0hyUDR1V21qYWZr?=
 =?utf-8?B?U212K2dZRmxtUTBSVmxGUVhVUXhsOC9hNC9Ma0p2dGxuZkROdHJCMnp6amVT?=
 =?utf-8?Q?AHNy9n5AE+LM0lsVMHyTUr7Rf?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <E2A27D485E75084C8488229BB14DE27A@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eec5afb3-e4d3-4716-4be6-08dae92aa126
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Dec 2022 23:24:12.7573
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ekQg5zapt8I+X6nUU53vdTGaa+Bg7MuE8ZPg07te6y2RQS+10VPp6gR4Fcd1hkdW+qhBsjmcCu7vcszQ6dBhwD3BdONWP6nIht/RIYcdT0M=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB5972

T24gMjMvMTIvMjAyMiAxMToxNiBhbSwgT2xla3NpaSBLdXJvY2hrbyB3cm90ZToNCj4gZGlmZiAt
LWdpdCBhL2F1dG9tYXRpb24vc2NyaXB0cy9idWlsZCBiL2F1dG9tYXRpb24vc2NyaXB0cy9idWls
ZA0KPiBpbmRleCBhNTkzNDE5MDYzLi4wMjZmNDgwZTc2IDEwMDc1NQ0KPiAtLS0gYS9hdXRvbWF0
aW9uL3NjcmlwdHMvYnVpbGQNCj4gKysrIGIvYXV0b21hdGlvbi9zY3JpcHRzL2J1aWxkDQo+IEBA
IC0yLDEyICsyLDEyIEBADQo+ICANCj4gIHRlc3QgLWYgL2V0Yy9vcy1yZWxlYXNlICYmIGNhdCAi
JF8iDQo+ICANCj4gLSRDQyAtLXZlcnNpb24NCj4gKyR7Q1JPU1NfQ09NUElMRX0ke0NDfSAtLXZl
cnNpb24NCj4gIA0KPiAgIyBFeHByZXNzIHRoZSBjb21waWxlciB2ZXJzaW9uIGFzIGFuIGludGVn
ZXIuICBlLmcuIEdDQyA0LjkuMiA9PiAweDA0MDkwMg0KPiAgY2MtdmVyKCkNCj4gIHsNCj4gLSAg
ICAkQ0MgLWR1bXB2ZXJzaW9uIHwgYXdrIC1GLiAneyBwcmludGYgIjB4JTAyeCUwMnglMDJ4Iiwg
JDEsICQyLCAkMyB9Jw0KPiArICAgICR7Q1JPU1NfQ09NUElMRX0ke0NDfSAtZHVtcHZlcnNpb24g
fCBhd2sgLUYuICd7IHByaW50ZiAiMHglMDJ4JTAyeCUwMngiLCAkMSwgJDIsICQzIH0nDQo+ICB9
DQo+ICANCj4gICMgcmFuZG9tIGNvbmZpZyBvciBkZWZhdWx0IGNvbmZpZw0KPiBAQCAtNjYsNyAr
NjYsNyBAQCBpZiAhIHR5cGUgcHl0aG9uMyB8fCBweXRob24zIC1jICJpbXBvcnQgc3lzOyByZXMg
PSBzeXMudmVyc2lvbl9pbmZvIDwgKDMsIDUpOyBleA0KPiAgZmkNCj4gIA0KPiAgIyBTZWFCSU9T
IHJlcXVpcmVzIEdDQyA0LjYgb3IgbGF0ZXINCj4gLWlmIFtbICIke0NDfSIgPT0gImdjYyIgJiYg
YGNjLXZlcmAgLWx0IDB4MDQwNjAwIF1dOyB0aGVuDQo+ICtpZiBbWyAiJHtDUk9TU19DT01QSUxF
fSR7Q0N9IiA9PSAiZ2NjIiAmJiBgY2MtdmVyYCAtbHQgMHgwNDA2MDAgXV07IHRoZW4NCg0KVGhp
cyBjaGFuZ2Ugd29uJ3Qgd29yaywgYmVjYXVzZSBpdCdzIG5vIGxvbmdlciBhIHBsYWluICJnY2Mi
Lg0KDQpBbHNvLCBwcmVwcmVkaW5nIENST1NTX0NPTVBJTEUgaXNuJ3QgY29tcGF0aWJsZSB3aXRo
IExMVk0gdG9vbGNoYWlucywNCmJ1dCB0aGF0J3Mgbm90IHNvbWV0aGluZyB5b3UndmUgbWFkZSBh
bnkgd29yc2Ugd2l0aCB5b3VyIGNoYW5nZSAoanVzdA0KbW9yZSBvYnZpb3VzKS4NCg0KV2UgcHJv
YmFibHkgd2FudCBhIHN0YW56YSBuZWFyIHRoZSB0b3Agd2hpY2ggc2V0cw0KQ0M9IiR7Q1JPU1Nf
Q09NUElMRX0ke0NDfSIgd2hpY2ggY2FuIGJlIGFkanVzdGVkIHRvIHN1cHBvcnQgTExWTSBpbiBk
dWUNCmNvdXJzZSwgYW5kIHdlJ2xsIG5lZWQgdG8gZGV0ZWN0IEdDQyB1c2luZyAtLXZlcnNpb24g
fCBncmVwIGFzIGl0cyBkb25lDQplbHNld2hlcmUuDQoNCkJ1dCB0aGUgb3RoZXIgbG9naWMgd2Fu
dHMgcmV3b3JraW5nIHRvbyBzbyB3ZSBkb24ndCBwbGF5IGFyb3VuZCB3aXRoDQpiaXRzIG9mIHRo
ZSB0b29scyBidWlsZCB3aGVuIHdlJ3JlIGRvaW5nIGEgaHlwZXJ2aXNvci1vbmx5IGJ1aWxkIGFu
eXdheS4uLg0KDQp+QW5kcmV3DQo=


From xen-devel-bounces@lists.xenproject.org Wed Dec 28 23:26:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 28 Dec 2022 23:26:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469591.728972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAfp1-0003vz-JG; Wed, 28 Dec 2022 23:26:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469591.728972; Wed, 28 Dec 2022 23:26:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAfp1-0003vs-GW; Wed, 28 Dec 2022 23:26:55 +0000
Received: by outflank-mailman (input) for mailman id 469591;
 Wed, 28 Dec 2022 23:26:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xfAD=42=citrix.com=prvs=354503da8=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pAfp0-0003vm-1M
 for xen-devel@lists.xenproject.org; Wed, 28 Dec 2022 23:26:54 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b0a42fc-8707-11ed-91b6-6bf2151ebd3b;
 Thu, 29 Dec 2022 00:26:52 +0100 (CET)
Received: from mail-dm6nam11lp2173.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Dec 2022 18:26:47 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB5029.namprd03.prod.outlook.com (2603:10b6:a03:1e2::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 28 Dec
 2022 23:26:45 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5944.016; Wed, 28 Dec 2022
 23:26:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b0a42fc-8707-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672270012;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=QtHSCxox2pSebo+U5GFg5RXuH3h2ocwnkfWBCCf4CFE=;
  b=Df1C+i/1sAyRjXGSO6GMLbPN+Nsuy5dCJl/VH2TDyI2JPVDJiY1V+gxi
   SYgyeApgH36H+mi/OB5Z1ud5IQWkFJhywPyjZKSV4UhBEkoft6KGaaIVH
   fvGFldfaYfWNJFrxKEH97hNnwN2JHwjRHE05eGv8A8VCEUW8soR6OZCYg
   s=;
X-IronPort-RemoteIP: 104.47.57.173
X-IronPort-MID: 89353970
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:2MkeaqoHyN5YtVxM9OyiTmwGe6JeBmL7ZBIvgKrLsJaIsI4StFCzt
 garIBmBP6rbZGD1LdFxYIW28BxS7JbdmN8xSApr+CBjRX9E9JuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzSlNV/rzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAHMuQxeTje+w+umca+xUneksKuD1HoxK7xmMzRmBZRonabbqZvyToPN9gnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeeraYWOEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXop6U32wzMngT/DjUIVUOlpb6hh3WkdOJ0A
 XNL5zopvLU9oRnDot7VGkfQTGS/lhkYVtlLEux86xyXzaHU4AGxCW0NTzoHY9sj3OcmSDpv2
 lKXktfBAT10rKbTWX+b7q2Trz65JW4SN2BqTTQfUQIP7t3noYcyphHCVNBuFOiylNKdMT7xy
 jaOsSM3r68Sk8kQ1qOwu1vAhlqErZHTQgk4zg7eRG6i40VyY4vNWmCzwV3S7PIFIIPHSFCE5
 SEAg5LHs7tICoyRniuQRulLBKuu+/uOLDzbhxhoAoUl8DOuvXWkeOi8/Q1DGaugCe5cEReBX
 aMZkVk5CEN7VJdyUZJKXg==
IronPort-HdrOrdr: A9a23:0AAiDaBd0qFHFr7lHenL55DYdb4zR+YMi2TDtnoRdfU7SKalfq
 yV8cjztiWbtN9yYh0dcLm7UcHqfZq2z/FICU17B8bAYOEg01HJEL1f
X-IronPort-AV: E=Sophos;i="5.96,282,1665460800"; 
   d="scan'208";a="89353970"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HDzhkaeANM5BV1pyl688sCKaiDK3VOUXnDQmG2PyYfo+3zCtFHjWE8pUfeIR2pV6+nkDgU775e1lpyVtA2IfpYTA8VyDbMUsV1rCN3XYrysPY09/Wti621dlrTE/2M9xPJTGRfNdWDBKhNdxcdSNDXwEzw55T2uHxPG/htP5jvA6UyRi33t5PLA79wAGK58sPDaj17gq08/YJc3pmQsd278LKkYH4nbOVh0YQTGQe5f9oFQVn2a9/72R2ARC6WJzgrYeckkZiV5nigfiyQdO+db1rXioyAIuI+KyRTda+Mn3V4GpRHPKCaJrtfhbVqMam3qqWWEPEp0Pm3C16s/mAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QtHSCxox2pSebo+U5GFg5RXuH3h2ocwnkfWBCCf4CFE=;
 b=SzCTZl4IRGJImt6xltzn0LA2/+Ple/Byh9AqYjkt2BWVG649UxtN5t512HjGydNXO9C6SlYzxCriWEVe5F3O7++UYDucTwQ+/SOsQuTKHNbNl0tzaAB9mAI0mLB7PKZjYI9fsQf96gRbjxtEfUZz0F9gBCryMRniD600IfvUdXLt+8sple+mgopnvF5c268W2gO2IhRk16AYxCnQs6Oi+E591Sb9UYS/0IolzpROISh9rpcyjJ4nEfDTFo9RhXI4MDlZczcbPK7mI/LVHVBx6asBlMba/efJ/ghAjrA67FBfrAU1NAYo9xNMwzeYWmdG8oZkZasfNIaf8PhPjahcgg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QtHSCxox2pSebo+U5GFg5RXuH3h2ocwnkfWBCCf4CFE=;
 b=AD2nN6oc7UqI+HKbST1f4QZB9VFRPHnm5zw6oAgGVAmIm9pcITG1OqKc3TLQW1R1xzdnBathR1siReUwXzZZ2ujP7CYxyoQna/ZX+ndr1B/D+bZfP1PcbGRyW+HM5SrnwAM/bjKEGplFEOvgjsgpUTpLUUHyElW23ZPz8Ns04jc=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
	<gianluca@rivosinc.com>, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH v1 3/4] automation: add python3 package for
 riscv64.dockerfile
Thread-Topic: [XEN PATCH v1 3/4] automation: add python3 package for
 riscv64.dockerfile
Thread-Index: AQHZFsAO4W4uDI5cTkyDumFs2/flgK6D+jEA
Date: Wed, 28 Dec 2022 23:26:45 +0000
Message-ID: <24efc48f-5149-b055-7178-d21dae999f02@citrix.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
 <55e2c865a0c2ab3ef405c427c0b1bcaf0abff2ab.1671789736.git.oleksii.kurochko@gmail.com>
In-Reply-To:
 <55e2c865a0c2ab3ef405c427c0b1bcaf0abff2ab.1671789736.git.oleksii.kurochko@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|BY5PR03MB5029:EE_
x-ms-office365-filtering-correlation-id: c7e0a599-16c3-41e9-90e9-08dae92afc18
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 qhYfYToLqhMdfUJ7pra7i46mrkd6QPNKZH3VqgAexhmR74MNXctwJy7np8OmE4FKoefriGQyMxtHCpm3NOI+i0E60Q1zo6UNNmi0fqvfp4udcjhgAZMDfh5vTqifUpLyFbx6vp2gl42aeJ2FxN/mvBDdA6zFoUADij6LB8HzoivVXO37rzquoE26E3598hM2EBgKGdIwhwTGi9o2LmW6OIhwDQ4SHVFf09Cvvg6jGkBwucxhIMsttvd/NhC/ozTu5ySdzl6y2mXwQBvPCL9HQV5QuUn+fyXckeOGHpGCBOYPSbNWFGvJ/XzxCJXA9QdpGfhG4JxZzvVsHG6PnDt76wrAXDqYjMfyfNogX/uKVFtywbsa5chPAJZoN9x8Q5IS22Fh03PMFvPyvX59UFPHnS61TKDRLuaGeChmH4nBfWa2zHw2dYO39SZFXNcpQFFm2eQfoEpfNqlftQVPSuKFSwvTWLEXW/q20f4rZPMxlOnxWc2QvCWyZeREMZL2awUCwRM/vCjSP77R56cUifv0QP/56AZghn8+7Cbjqafohx5cUjK4+Y00WOGBNnGA9eRz682u133UtjiHm6eMeZVpcO3yr75mUYCpHycGdDLTQrBaWYs5AEEZumoBkn/ATpYWK0+LRD8gKG4ZgUBeSudqS2EvUonBXPxgiyvykWoGBp3gLOCkkvyOJmek7Ys2zNiw5tgBrhNnCZm2bFWtk0z75GulrsBpHHgb89I3JUh5ZTiaMwLuKXUe0MBHeXTv28lW2lHQ4ENejpFHlr8AiPCV2w==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(39860400002)(136003)(346002)(366004)(451199015)(2906002)(4744005)(54906003)(110136005)(5660300002)(8936002)(2616005)(76116006)(38070700005)(41300700001)(122000001)(6486002)(478600001)(31686004)(26005)(53546011)(186003)(71200400001)(91956017)(8676002)(4326008)(64756008)(38100700002)(36756003)(66946007)(66556008)(66476007)(66446008)(316002)(86362001)(6512007)(6506007)(31696002)(82960400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?T2dvYnQxL3BiZHBVeWxnSnl2a2orakwwbnk5QlM5cE1JR2d2VDZHOGxEWUR0?=
 =?utf-8?B?WmVSQy9DaE4xdjJ1WGVoUnhOR1VUZjY4RHBPejFockExa1J2Y0pzRlIwMUVj?=
 =?utf-8?B?S3o4Q3JxZTBuMDhra25CRkNjaTVua0M5amRneDFXdE5yS1Y0aGxjVmlCbUYy?=
 =?utf-8?B?SCt3dzFMSU5XUmdGSjBEbVM1clVOVnZmQ280dHA5VTc1VkZ3eFlkbjFYVDNl?=
 =?utf-8?B?NWNaalVhQlliQ1VvWS90Ri9kYWpmeVhSaW1UVGRhNkxpeTRQYStrUU9EeWVW?=
 =?utf-8?B?bk4rUmxjRWY3YnJOMGxvY3ZPT1hHZ3VVRzZRWG1sMmNoa201TjBQbW9lSGhW?=
 =?utf-8?B?OVg3RVFvQ0t4eE9iT3d0Z0ZldmNmS0d4N0tlTWpwZXNGM281am9CRUZCT0xT?=
 =?utf-8?B?M1g5N0kxTU93MkdodldPNnZNejJ6d3MvaFhNZEkyR1VzR0VsVDhrYjJVaUw3?=
 =?utf-8?B?dmw2VnVLT3puL1d5QnhLWlhseDhOOFlKN1psem9GalpOM2lUVS9ZREptUC9N?=
 =?utf-8?B?cGFFSkFuUnczd0UxRG9DUW9QeFdsWnZNMmNkbVE3ZUFQMkZhbHdRVmdZeTBU?=
 =?utf-8?B?bnljUDNFWHhyVVpFWXBuZmczNHlhb2VzZXBwMXJqbk1ROUtsMUFKVTZQWG8x?=
 =?utf-8?B?YmUzRUJjYnZOZ2xrdnNucG0zU1Q5T1BXYTZtM2FOaHRvWEp1Y01pbmtTQnlX?=
 =?utf-8?B?Zmxqd082eE4wNkhvRVAzOHhlb3FYS2RFLzNZUUNLVVpQelRUTm9YRXZwZkF2?=
 =?utf-8?B?dTRSUnVLbGVPUys0Y21xRTdjWU05RGVCVDVwM0FPQm5Eak9XSDdaMnVvUW8z?=
 =?utf-8?B?WTZYVE93eDQzb0VKUUhoUDc0T3hkeHprb1oyNlBvU1IyT1BQODRzYkN5aDdT?=
 =?utf-8?B?ak11NmE5NWpxS1F4Z3lRSk80d2hCOWg5SnRXdFR0eGs4a2lNRWh6VXNheHo3?=
 =?utf-8?B?VFlJeHRtMVNNUm83VElZS2Y1Nlh4eHd4SVIzWjJwSGRjSm9yRVlhbE1TbnA2?=
 =?utf-8?B?cWlmaS9sMlRIUGg3L0NlYUtzcmhyeUhMRjFCai9DQlFQTk53THM3U2IrVDRr?=
 =?utf-8?B?M3FlNHpQNlFtOUgvZVBpSXZ3bU05L1kwQkR2cUhLdzBkdHZhc2tZVlNCWmpW?=
 =?utf-8?B?STZzNVg3ZWo0M2J3NUtGNHNSdktJMW5KcThZVW5TVU5hSWdDRmRpcnp5dkJ6?=
 =?utf-8?B?WTQ2U2xPNGV5VGw0ZnhpZXlseDNCanRXdWY0bURvMnJWbUV2a3puQm16QUNF?=
 =?utf-8?B?UlJWSzdnUlZobTlnc0daNEthcDdLMnV0MzNSWUQ4aTNSOVVrenVsR1pXdlBN?=
 =?utf-8?B?bXlNMVVEcUpEWExnZVg3aTZpcUhQaEhZb1A1dlhsOUFBb1VVK05tbjRnZlFH?=
 =?utf-8?B?ZGZBZDlBRzhyckdDbWFPSzJiM0hQZFRKTktRN3VYdldwaXo2d3ZiREJKUTFO?=
 =?utf-8?B?QUNMbUZLRDE0bFFvZHB1QkY5S2pGaHNxSEVMUGhHMlV3cGdjVE9wK1FYd08z?=
 =?utf-8?B?aHNhOG9vUmNUdEJuTEdNT3ZBMUhxeW9md1dDSjdyeis1TjdleVB1SjJuOE1O?=
 =?utf-8?B?T2psSlFtd0FIQitub2RHUnp2NXU5ODZOM2U1N0M3VXFDcHZKUkRhdnFEOEZi?=
 =?utf-8?B?SnhVNndmVUJxcEp5YWFxQnB1dWd4R2h0R0ViZ0g5cWRMNzdtTWJEa2tVVE5j?=
 =?utf-8?B?Q3ByeTJUUlZaODFuQTNaazBoSHhmcEhjTmt4N2RIdFBLQ0lhd3VOeEFXWi84?=
 =?utf-8?B?akxZQjFEdVVsRnlVOGUvMHFkODJKa3FFNkpwbkUxODhhcTFVK2JudWxYbVcy?=
 =?utf-8?B?RjMzSHRvT1c4d3NKRnI4czdabFpMTlVhUTVldTg3bjlXdFdYNmp6S0xuc0Fx?=
 =?utf-8?B?OWwzeEdSTGs2ZUk0ZnV2aE1qRjlqdi9UOGJhZkEyb2pDQWtIWkNhc1hVclll?=
 =?utf-8?B?Wlo5cTBaSHVxNEVocStjVGRTREZEeC9VTXNBczhKVVBiRk1RMDVtWDhDUU5h?=
 =?utf-8?B?aEZtRmh2WHk3dHVOdEZCZUhZekx4RHBqYTRiN0tEUVdacm54U1RycGZGNVVt?=
 =?utf-8?B?N25YdzZwVFVYQWxkbVphcjQrUjV0NXhLUjd4WXcyeWU1K1JXYk5SZFE1Rnh2?=
 =?utf-8?Q?+ZLCwpAwJUVBUkqNnXTFjDyr7?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7F616586066CC94B9110C54D0F6D841D@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c7e0a599-16c3-41e9-90e9-08dae92afc18
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Dec 2022 23:26:45.3244
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: k27itoTWl/j26xBWUdZCw8/1QwS2+id74HSXD+4W+g3OCzmtHgTsoNwAaQA6ZanzM9vQ4SrNUkc0eoB5XeLbkl/LJIXCsOYCiZ35nspigu4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5029

T24gMjMvMTIvMjAyMiAxMToxNiBhbSwgT2xla3NpaSBLdXJvY2hrbyB3cm90ZToNCj4gUHlodG9u
MyBwYWNrYWdlIGlzIHJlcXVpdGVkIGJ5IGF1dG9tYXRpb24vc2NyaXB0cy9idWlsZA0KPiBzY3Jp
cHQgc28gaXQgc2hvdWQgYmUgaW5zdGFsbGVkIHRvIHJpc2N2NjQgZG9ja2VyIGltYWdlDQoNCklz
IGl0P8KgIFRoaXMgc2VyaWVzIHJ1bnMgZmluZSB3aXRob3V0IGl0Lg0KDQpXaGVuIHdlIGdldCBh
cm91bmQgdG8gY29tcGlsaW5nIHVzZXJzcGFjZSwgdGhlbiB3ZSBkbyBuZWVkIGEgcHl0aG9uDQpp
bnRlcnByZXRlciBmb3IgdGhlIGJ1aWxkLCBidXQgd2UgbmVlZCBhIGxvYWQgb2Ygb3RoZXIgdGhp
bmdzIHRvby4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Thu Dec 29 02:06:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 02:06:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469600.728983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAiJQ-0005bY-Nk; Thu, 29 Dec 2022 02:06:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469600.728983; Thu, 29 Dec 2022 02:06:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAiJQ-0005bR-L3; Thu, 29 Dec 2022 02:06:28 +0000
Received: by outflank-mailman (input) for mailman id 469600;
 Thu, 29 Dec 2022 02:06:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAiJO-0005bH-NL; Thu, 29 Dec 2022 02:06:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAiJO-0007mu-Kl; Thu, 29 Dec 2022 02:06:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAiJO-0002Zc-1i; Thu, 29 Dec 2022 02:06:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAiJO-0001ev-0y; Thu, 29 Dec 2022 02:06:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=U+dsBSQLAYd9FB0sIRS/25SB+ZSR0aarmo4F5lLkf2A=; b=62f81IwnPukOh77cU+PCvfOoo4
	TOR/BCa0htW9f0l+Zm2RMXnLn6CroxzZzyajpISWd/6ZcwDPP6I67PfopKp03QeS3Z3CevWpHXI6H
	DgJmmMurkwnQiz/a1EY62LKeJHF0k1uucIzm2CEGNQsPAP0TRxp7EczXL0AooHxaZPyM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175514-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175514: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1b929c02afd37871d5afb9d498426f83432e71c2
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 29 Dec 2022 02:06:26 +0000

flight 175514 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175514/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                1b929c02afd37871d5afb9d498426f83432e71c2
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   82 days
Failing since        173470  2022-10-08 06:21:34 Z   81 days  166 attempts
Testing same since   175496  2022-12-26 02:42:28 Z    2 days    8 attempts

------------------------------------------------------------
3244 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 494152 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 29 02:40:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 02:40:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469611.728993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAiqG-0001Za-HB; Thu, 29 Dec 2022 02:40:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469611.728993; Thu, 29 Dec 2022 02:40:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAiqG-0001ZT-EM; Thu, 29 Dec 2022 02:40:24 +0000
Received: by outflank-mailman (input) for mailman id 469611;
 Thu, 29 Dec 2022 02:40:23 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAiqF-0001ZJ-PP; Thu, 29 Dec 2022 02:40:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAiqF-0008Rw-L7; Thu, 29 Dec 2022 02:40:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAiqF-0004Jr-9X; Thu, 29 Dec 2022 02:40:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAiqF-0005M3-91; Thu, 29 Dec 2022 02:40:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SJYlKVow+krxB+PK/s7MOJvFvu5UppcMmUcRuP8Gx6c=; b=5TLdIQTxMTpXG7z29nb2HYC32S
	jOqQ7UOJoQXc12Dncti31iITkxy1tDs63mTSxZrnxUGr4Yq9jmAbTH/RyfuaqCh7vFgofjbrZeg+5
	hA5wJqh9BOmwTyh9nN0hMdMP5MP/GFE7sboI8Sp4QP7H/8q3zQlSUPjA5MYODyWen/rc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175515-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175515: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:kernel-build:fail:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start.2:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:windows-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 29 Dec 2022 02:40:23 +0000

flight 175515 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175515/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 175197

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175515
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175515
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175515
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175515
 test-amd64-i386-xl-vhd        7 xen-install      fail in 175510 pass in 175515
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175510 pass in 175515
 test-amd64-amd64-xl-qcow2    22 guest-start.2    fail in 175513 pass in 175510
 test-armhf-armhf-xl-credit2  14 guest-start      fail in 175513 pass in 175515
 test-armhf-armhf-xl-credit1  14 guest-start      fail in 175513 pass in 175515
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 175513 pass in 175515
 test-amd64-i386-xl-qemuu-ws16-amd64 12 windows-install fail in 175513 pass in 175515
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-armhf-armhf-libvirt-raw 13 guest-start                fail pass in 175507
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install          fail pass in 175513
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 175513
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 175513

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 175507 like 175197
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 175507 never pass
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 175513 like 175197
 test-arm64-arm64-xl-seattle 15 migrate-support-check fail in 175513 never pass
 test-arm64-arm64-xl-seattle 16 saverestore-support-check fail in 175513 never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check fail in 175513 never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check fail in 175513 never pass
 test-arm64-arm64-xl         15 migrate-support-check fail in 175513 never pass
 test-arm64-arm64-xl     16 saverestore-support-check fail in 175513 never pass
 test-arm64-arm64-xl-credit2 15 migrate-support-check fail in 175513 never pass
 test-arm64-arm64-xl-credit2 16 saverestore-support-check fail in 175513 never pass
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 175513 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 175513 never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 175513 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 175513 never pass
 test-arm64-arm64-xl-credit1 15 migrate-support-check fail in 175513 never pass
 test-arm64-arm64-xl-credit1 16 saverestore-support-check fail in 175513 never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check fail in 175513 never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check fail in 175513 never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 175513 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 175513 never pass
 test-arm64-arm64-xl-vhd     14 migrate-support-check fail in 175513 never pass
 test-arm64-arm64-xl-vhd 15 saverestore-support-check fail in 175513 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   14 days
Testing same since   175407  2022-12-19 11:42:26 Z    9 days   21 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 29 07:29:21 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 07:29:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469622.729004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAnLc-0003u8-KO; Thu, 29 Dec 2022 07:29:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469622.729004; Thu, 29 Dec 2022 07:29:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAnLc-0003u1-HO; Thu, 29 Dec 2022 07:29:04 +0000
Received: by outflank-mailman (input) for mailman id 469622;
 Thu, 29 Dec 2022 07:29:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAnLa-0003tr-Ud; Thu, 29 Dec 2022 07:29:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAnLa-0007Hc-Rf; Thu, 29 Dec 2022 07:29:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAnLa-0001HN-40; Thu, 29 Dec 2022 07:29:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAnLa-0001TM-3e; Thu, 29 Dec 2022 07:29:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=VuVEB8kDC2WXWYtlP56SBc/3DBohMwVFn+OcKzBDA1Y=; b=KceApVcEhQveljwxAt+FEYqTpf
	MS7ieqc87JRlmb9JGqFViTicMhJ6xywK6GOA82mKqjjMQhJ38kr9/l7T1G8MdSL9GkofxvwGyK3Z5
	fnBmYOLJ+mYIJLZyger1vJTPrzBnSZfUBfrRaQ/F30gOxG46l7mxBBFPP4fHY98W9z8w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175517-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175517: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7eef80e06ed2282bbcec3619d860c6aacb0515d8
X-Osstest-Versions-That:
    xen=84ece04e7f11fe30c2f83753d72f481610357ed0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 29 Dec 2022 07:29:02 +0000

flight 175517 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175517/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175511
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175511
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175511
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175511
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175511
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175511
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175511
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175511
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175511
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175511
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175511
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175511
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  7eef80e06ed2282bbcec3619d860c6aacb0515d8
baseline version:
 xen                  84ece04e7f11fe30c2f83753d72f481610357ed0

Last test of basis   175511  2022-12-28 01:53:55 Z    1 days
Testing same since   175517  2022-12-28 22:40:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alistair Francis <alistair.francis@wdc.com>
  Andrew Cooper <andrew.cooper3@citrix.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   84ece04e7f..7eef80e06e  7eef80e06ed2282bbcec3619d860c6aacb0515d8 -> master


From xen-devel-bounces@lists.xenproject.org Thu Dec 29 07:45:30 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 07:45:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469634.729020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAnbQ-0006Ml-7x; Thu, 29 Dec 2022 07:45:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469634.729020; Thu, 29 Dec 2022 07:45:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAnbQ-0006Me-55; Thu, 29 Dec 2022 07:45:24 +0000
Received: by outflank-mailman (input) for mailman id 469634;
 Thu, 29 Dec 2022 07:45:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=huHg=43=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pAnbP-0006MY-Gv
 for xen-devel@lists.xenproject.org; Thu, 29 Dec 2022 07:45:23 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id beb56056-874c-11ed-91b6-6bf2151ebd3b;
 Thu, 29 Dec 2022 08:45:22 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id ay40so12641297wmb.2
 for <xen-devel@lists.xenproject.org>; Wed, 28 Dec 2022 23:45:20 -0800 (PST)
Received: from [192.168.0.145] ([195.234.76.149])
 by smtp.gmail.com with ESMTPSA id
 fc7-20020a05600c524700b003a3442f1229sm31815915wmb.29.2022.12.28.23.45.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 28 Dec 2022 23:45:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: beb56056-874c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=XAy9BQkkT1cQqUyqIPw6VFfoAZJBebfAsbWVQqU50ps=;
        b=kItfTiEOq7iHWO9um9ENw8XLkWBUtwd+jcCMZaMDv6xWj5yXWpWuwXtYOn8E923U5f
         FI4X+SPlBNpAclDLzZNIhaVCHAl5RP8JN+uhR9uqFHqzWfbeo7r3Axbkuq4+Kukd42er
         XFZDXDNDm2XN06AJt4v0aXILQorn6h9iWrRo33MBSen2ub9/HsCDB8H4eFhSPXT7nCVk
         N6KZ2rZ4u9mP7eVTunOs4ARIVFwArvA5ZERjNwCGSeYNRtYerYfOtnZ0hq68wQk33uQ5
         KFqjcQlxW6MtxnSus3mLoH9e8oohnXr2gbDchrgRFcaPbNbCi/QbSlM4cfCJ0pF/98mW
         qLvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=XAy9BQkkT1cQqUyqIPw6VFfoAZJBebfAsbWVQqU50ps=;
        b=FwEKRq9XJTJoyPOhOEQ+KtGFAy/HkYva5/SxCt9sM3A36Y38b2MfJtuwHz9qcX/Lmd
         H6lbusjMPiKvRQfcnN8tKmZNBi4+JtGiaPPL1fKfvlI7+ILR72rPxtGhw3WRU3ptrVZ5
         ArZEc9iyyto0sOuGyeCoaENgkDveLZ23brAvHpUzrjGRfP3b9tpTesjmjAZNsEOiQ+vs
         9t50QlC88fVhqYjD0gtYJ9Ch4PuSVgNnY/el3xu4I4lWvqVolH3yMOBe4+v+DwrqSQoj
         BldJYiqSBLQd1R1KKJ99s096ROfHRbjM8UNbtd5YIxfDXy4gudrE6oYs333bILHn/XVW
         vJzQ==
X-Gm-Message-State: AFqh2konR5sklkErx69iAcbAmtIcW486C+CEUw4AMmwj1f8hUsEayJ6U
	ytj2V5+hUJbCqSjhUps6/Uc=
X-Google-Smtp-Source: AMrXdXvzdokX5yl7fjDNb3mzgOvmGIxkNuSYAz9l5jr37Lu3dlryIt7vg8PDLJiB9ZdF88H/zXQ9Lw==
X-Received: by 2002:a1c:4b04:0:b0:3c6:f0b8:74e6 with SMTP id y4-20020a1c4b04000000b003c6f0b874e6mr19952354wma.4.1672299920299;
        Wed, 28 Dec 2022 23:45:20 -0800 (PST)
Message-ID: <b84bd12cdc343abf317a25476713b236a2403cba.camel@gmail.com>
Subject: Re: [XEN PATCH v1 3/4] automation: add python3 package for
 riscv64.dockerfile
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, 
	"xen-devel@lists.xenproject.org"
	 <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
	 <gianluca@rivosinc.com>, Doug Goldstein <cardoe@cardoe.com>
Date: Thu, 29 Dec 2022 09:45:18 +0200
In-Reply-To: <24efc48f-5149-b055-7178-d21dae999f02@citrix.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
	 <55e2c865a0c2ab3ef405c427c0b1bcaf0abff2ab.1671789736.git.oleksii.kurochko@gmail.com>
	 <24efc48f-5149-b055-7178-d21dae999f02@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.1 (3.46.1-1.fc37) 
MIME-Version: 1.0

On Wed, 2022-12-28 at 23:26 +0000, Andrew Cooper wrote:
> On 23/12/2022 11:16 am, Oleksii Kurochko wrote:
> > Pyhton3 package is requited by automation/scripts/build
> > script so it shoud be installed to riscv64 docker image
>=20
> Is it?=C2=A0 This series runs fine without it.
>=20

It is used by automation/scripts/build here:
https://gitlab.com/xen-project/people/olkur/xen/-/blob/staging/automation/s=
cripts/build#L63

It looks like this patch can be skipped for now as it doesn't affect
results of RISC-V cross-build test.

> When we get around to compiling userspace, then we do need a python
> interpreter for the build, but we need a load of other things too.
>=20
> ~Andrew

~Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Dec 29 08:11:38 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 08:11:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469644.729031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAo0h-0001kt-JI; Thu, 29 Dec 2022 08:11:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469644.729031; Thu, 29 Dec 2022 08:11:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAo0h-0001km-GX; Thu, 29 Dec 2022 08:11:31 +0000
Received: by outflank-mailman (input) for mailman id 469644;
 Thu, 29 Dec 2022 08:11:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=huHg=43=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pAo0f-0001kg-R3
 for xen-devel@lists.xenproject.org; Thu, 29 Dec 2022 08:11:29 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 65470cc4-8750-11ed-91b6-6bf2151ebd3b;
 Thu, 29 Dec 2022 09:11:28 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id w1so4639254wrt.8
 for <xen-devel@lists.xenproject.org>; Thu, 29 Dec 2022 00:11:28 -0800 (PST)
Received: from [192.168.0.145] ([195.234.76.149])
 by smtp.gmail.com with ESMTPSA id
 u13-20020a5d468d000000b00275970a85f4sm15089200wrq.74.2022.12.29.00.11.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 29 Dec 2022 00:11:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65470cc4-8750-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=rRkw30Hjx2YfokI5B+W3DTvMqHqCDLpYHbeuHRHE5To=;
        b=Q+vQ68txPQn8STwCJhN3Dt9k+2ZXcHLmoqmZX4+ZSjMtSmERgt3IZjMHrg0EfEaN28
         +/Lsgn4tQn9v1a46k/y8oxQxQNFhGMohl0yK8SMry14yRizTIiuAdiuNQjhoUG/WC8TT
         KTWRc1BU1RJcNebWH2vLk8g/Z0rchWqHR0tnMz8wsyZfyBL0bxRcByK8aZHat9v21O9Y
         bb0Gn7ojAanwo4ljW75grfq1ApwnqfjUGg8ssFsLnYy5XO/LcVL7wLoajoESCFyBsUw5
         LDyt0e/aSKYISnS09prPI7mdjmE7fMf/9DR1EkvdS42bgY2PCHdvFQx8bE85WXgYgtw/
         bGVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=rRkw30Hjx2YfokI5B+W3DTvMqHqCDLpYHbeuHRHE5To=;
        b=wwn4gMsegG0fcTBrlrjHNomNvwdspsihXMu/mpAxUARzYVdTpwRTQUjdKklQaPNvux
         2tlCQFSNlOaCSHparbugosBw1Ttos2pzeMuBJDFnyUHaTZLn1ogmdKjrl1MUKqjPrlfV
         ZEv55dS1/MSvXQbsipRFeyFbCZbqxblaPXe/GrrrtMbisFs9Jmt2K9ArAavLxatn8EVL
         jbGxf7tdyXOSiQ6H31PiUDubMHXyBuF5XtWe/pLnWuv5MT16qkhDvlm3Uh6pjSMipo2V
         PCICMb8UDlIEoj8Tx7syklCTJ8rlKJAcGIMNlcNTsU38NTIsPTz7gWaxp51Q521V+txD
         T8rg==
X-Gm-Message-State: AFqh2kofofaiNQwWvKArcwDjM+NRPETjYdoO/OWMemHRCP0m/eQK553R
	B5Xf1MVErEDhP3v82XtaOu4=
X-Google-Smtp-Source: AMrXdXsgn8eNToAKXRU/Wo5owzVG4e2RKBnJZZLqaIqnA0mZ2Yq29KMeFSlVsjJ/ZLw0/CBq0z92ZQ==
X-Received: by 2002:a5d:4403:0:b0:268:f9de:d551 with SMTP id z3-20020a5d4403000000b00268f9ded551mr17993844wrq.40.1672301488099;
        Thu, 29 Dec 2022 00:11:28 -0800 (PST)
Message-ID: <bd9ac5481578ce7ac557973815df47c358e006d0.camel@gmail.com>
Subject: Re: [XEN PATCH v1 1/4] arch/riscv: initial RISC-V support to
 build/run minimal Xen
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, Alistair Francis
	 <alistair23@gmail.com>
Cc: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
 <xen-devel@lists.xenproject.org>, Stefano Stabellini
 <sstabellini@kernel.org>,  Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>, Anthony
 Perard <anthony.perard@citrix.com>
Date: Thu, 29 Dec 2022 10:11:26 +0200
In-Reply-To: <0a60dc57-080f-4210-d9f8-4688308cc5f5@citrix.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
	 <5d5ec5fbd8787ed8f86bf84a5ac291d07a20b307.1671789736.git.oleksii.kurochko@gmail.com>
	 <3343c927-0f27-e285-5b6e-281c61939bb4@xen.org>
	 <43d726761900ba3d8b4919fc29fe7cb1991ac656.camel@gmail.com>
	 <CAKmqyKMmW7rRXymMD6dNeLTLbUaSwO5nw=hJTk_xNvsZ3pg7jA@mail.gmail.com>
	 <0a60dc57-080f-4210-d9f8-4688308cc5f5@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.1 (3.46.1-1.fc37) 
MIME-Version: 1.0

On Wed, 2022-12-28 at 19:01 +0000, Andrew Cooper wrote:
> On 28/12/2022 4:51 am, Alistair Francis wrote:
> > On Mon, Dec 26, 2022 at 9:14 PM Oleksii
> > <oleksii.kurochko@gmail.com> wrote:
> > > On Fri, 2022-12-23 at 13:50 +0000, Julien Grall wrote:
> > > > On 23/12/2022 11:16, Oleksii Kurochko wrote:
> > > > > +  . =3D ALIGN(PAGE_SIZE);
> > > > > +  .bss : {
> > > > > +       __bss_start =3D .;
> > > > > +       *(.bss .bss.*)
> > > > > +       . =3D ALIGN(POINTER_ALIGN);
> > > > > +       __bss_end =3D .;
> > > > Same as .data, I would recommend to properly populate it.
> > > Do you mean to add .bss.stack_aligned, .bss.page_aligned,
> > > .bss.percpu*?
> > > One of the reasons they were skipped is they aren't used now and
> > > one
> > > more reason if to believe xen.lds.S file from ARM
> > > .bss.percpu.read_mostly should be aligned by SMP_CACHE_BYTES
> > > which
> > > requires dummy <asm/cache.h> (or not ?) which will increase the
> > > patch
> > > with unneeded stuff for now.
> > I think we should aim to get the linker file sorted right from the
> > start. Otherwise someone is going to hit a nasty bug at some point
> > in
> > the future.
>=20
> What needs to happen is actually for Xen to start using a common
> linker
> script, rather than a per-arch linker script.
>=20

Do you expect to see common linker script as a part of this patch
series?

> The vast majority of the linker script is not architecture specific
> to
> begin with, and the rest is easy to parametrise.
>=20

I reworked xen.lds.S file.

I took xen.lds.S from ARM as a basis and
remove all arch specific sections such as *(.proc.info), *(.ex_table),
*(.ex_table.pre), *(.altinstructions), *(.teemediator.info),
*(.adev.info), *(.dev.info), *(.arch.info), *(.bug_frames.*).

So it would be possible to use xen.lds.S as a common linker script.

> But in the short term, it's more important to get something working
> and
> properly into CI, rather than to block this change waiting for
> feature
> parity with a whole load of features not currently used.
>
> ~Andrew

~Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Dec 29 08:13:52 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 08:13:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469651.729041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAo2w-0002Kw-Vb; Thu, 29 Dec 2022 08:13:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469651.729041; Thu, 29 Dec 2022 08:13:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAo2w-0002Kp-T0; Thu, 29 Dec 2022 08:13:50 +0000
Received: by outflank-mailman (input) for mailman id 469651;
 Thu, 29 Dec 2022 08:13:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=huHg=43=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pAo2v-0002Kd-Db
 for xen-devel@lists.xenproject.org; Thu, 29 Dec 2022 08:13:49 +0000
Received: from mail-wm1-x331.google.com (mail-wm1-x331.google.com
 [2a00:1450:4864:20::331])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b899f8e6-8750-11ed-91b6-6bf2151ebd3b;
 Thu, 29 Dec 2022 09:13:48 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 k26-20020a05600c1c9a00b003d972646a7dso9589163wms.5
 for <xen-devel@lists.xenproject.org>; Thu, 29 Dec 2022 00:13:48 -0800 (PST)
Received: from [192.168.0.145] ([195.234.76.149])
 by smtp.gmail.com with ESMTPSA id
 m22-20020a05600c161600b003cfa622a18asm26771900wmn.3.2022.12.29.00.13.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 29 Dec 2022 00:13:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b899f8e6-8750-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=dTkvZKoxQz0bzD4v0mZCkEzByc+bKG0W26iPxWsn9Qs=;
        b=O080TurVg9A0F+Q383YdHqpgIz177lXAY7Iy6FnCCXsHFRK97rCUTfqQJ+jZqKhCKi
         orvQEqAUiu7cok0BqPkcuSFkdYgGdaPp4bVW12M30fjGyK64wpkMXr9FSC8C2Ie+xSnP
         1rotXsGztziXBO72Ba6aQ6hTKTFbJazVeyuxJsilk6h9fle4LOl5qzaMAE9rAuHovkPK
         h7Xht/2Sgr3TPpWs50Xj+cH/Gu4An60V+8E99Pp6IV+noNDcUxWapyoQUVCy/vBrz1gi
         KKvJMjGRVSL1yq+bL26rmAGxBlNcDL55FUN/2MrabqihIoyJMHE/UndGzkJYWdt8h2st
         tKWA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=dTkvZKoxQz0bzD4v0mZCkEzByc+bKG0W26iPxWsn9Qs=;
        b=49PvI49DOoP5/UNjYzIoi9VEGlnXF0zw9ykHlCp8c7Ypx9NA4Lm+SJLRFhGD9KDcrP
         amvt2LXlGssqbC+V0RC+mAI24gNmKCbw0YcwTdljozOU1lSQPCoUfbkNYprgbydXUtHE
         6r8+BZv7aKt8Oy/u3wZt1NjyPIZAT0U0KjLYCKcZjxOEESFrx3ImBPWviREhOvzvGKc3
         L6gz3nJBwL2lt6YTDLNnn9Zgy0DgKv/KbkAeNgg/0O7lcFzrKhstFqZ7Yhf3tZCCAkxI
         hEs5o7acJ1F7H/B5qnyZvLcWahmfElw7I/k4okQtycynp1bwvrrPmjgXTZctLmX8pjg4
         pMDw==
X-Gm-Message-State: AFqh2kq/jQ2OpBKtf65fI9Cu0UGRWbnmNZj2WwWoPkhMRb9X2txL82Dz
	+PE4Jh+dNQTulS62T3yVE/A=
X-Google-Smtp-Source: AMrXdXtn6DpYJ0g6EQv18GD+VWoxe3MGBAqwB9oI0HC3X//sOT2IfxM9MgRKOzmQ+tjiZYDpp7c38Q==
X-Received: by 2002:a05:600c:21d9:b0:3d0:8d48:2993 with SMTP id x25-20020a05600c21d900b003d08d482993mr19238893wmj.36.1672301627983;
        Thu, 29 Dec 2022 00:13:47 -0800 (PST)
Message-ID: <661c2a359f5bc409821b16802e596ace90b67abe.camel@gmail.com>
Subject: Re: [XEN PATCH v1 2/4] automation: add cross-compiler support for
 the build script
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, 
	"xen-devel@lists.xenproject.org"
	 <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
	 <gianluca@rivosinc.com>, Doug Goldstein <cardoe@cardoe.com>
Date: Thu, 29 Dec 2022 10:13:46 +0200
In-Reply-To: <8f8c26d5-934d-0dd1-1d51-b04e134fcf6e@citrix.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
	 <3c926f637c4738bd14db10e8fe8f72a6eae2dfd4.1671789736.git.oleksii.kurochko@gmail.com>
	 <8f8c26d5-934d-0dd1-1d51-b04e134fcf6e@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.1 (3.46.1-1.fc37) 
MIME-Version: 1.0

On Wed, 2022-12-28 at 23:24 +0000, Andrew Cooper wrote:
> On 23/12/2022 11:16 am, Oleksii Kurochko wrote:
> > diff --git a/automation/scripts/build b/automation/scripts/build
> > index a593419063..026f480e76 100755
> > --- a/automation/scripts/build
> > +++ b/automation/scripts/build
> > @@ -2,12 +2,12 @@
> > =20
> >  test -f /etc/os-release && cat "$_"
> > =20
> > -$CC --version
> > +${CROSS_COMPILE}${CC} --version
> > =20
> >  # Express the compiler version as an integer.  e.g. GCC 4.9.2 =3D>
> > 0x040902
> >  cc-ver()
> >  {
> > -    $CC -dumpversion | awk -F. '{ printf "0x%02x%02x%02x", $1, $2,
> > $3 }'
> > +    ${CROSS_COMPILE}${CC} -dumpversion | awk -F. '{ printf
> > "0x%02x%02x%02x", $1, $2, $3 }'
> >  }
> > =20
> >  # random config or default config
> > @@ -66,7 +66,7 @@ if ! type python3 || python3 -c "import sys; res
> > =3D sys.version_info < (3, 5); ex
> >  fi
> > =20
> >  # SeaBIOS requires GCC 4.6 or later
> > -if [[ "${CC}" =3D=3D "gcc" && `cc-ver` -lt 0x040600 ]]; then
> > +if [[ "${CROSS_COMPILE}${CC}" =3D=3D "gcc" && `cc-ver` -lt 0x040600
> > ]]; then
>=20
> This change won't work, because it's no longer a plain "gcc".
>=20

If look at tests on GitLab CI&CD these changes don't break anything.

> Also, prepreding CROSS_COMPILE isn't compatible with LLVM toolchains,
> but that's not something you've made any worse with your change (just
> more obvious).
>=20

CROSS_COMPILE isn't use with LLVM toolchain. I mean that in case of
LLVM toolchain CROSS_COMPILE would be equal to empty string plus
CC=3Dclang or something similar.

> We probably want a stanza near the top which sets
> CC=3D"${CROSS_COMPILE}${CC}" which can be adjusted to support LLVM in
> due
> course, and we'll need to detect GCC using --version | grep as its
> done
> elsewhere.
>=20
> But the other logic wants reworking too so we don't play around with
> bits of the tools build when we're doing a hypervisor-only build
> anyway...
>=20

I think that I can get rid of CROSS_COMPILE variable at all and use
CC=3Driscv64-linux-gnu-gcc direcly for RISC-V 64 targers in build.yaml.
Would this be a better solution?

> ~Andrew

~Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Dec 29 08:45:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 08:45:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469658.729053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAoXm-0005hH-FN; Thu, 29 Dec 2022 08:45:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469658.729053; Thu, 29 Dec 2022 08:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAoXm-0005hA-CI; Thu, 29 Dec 2022 08:45:42 +0000
Received: by outflank-mailman (input) for mailman id 469658;
 Thu, 29 Dec 2022 08:45:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=huHg=43=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pAoXl-0005h4-P2
 for xen-devel@lists.xenproject.org; Thu, 29 Dec 2022 08:45:41 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c27a200-8755-11ed-91b6-6bf2151ebd3b;
 Thu, 29 Dec 2022 09:45:40 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id bx10so16852247wrb.0
 for <xen-devel@lists.xenproject.org>; Thu, 29 Dec 2022 00:45:40 -0800 (PST)
Received: from [192.168.0.145] ([195.234.76.149])
 by smtp.gmail.com with ESMTPSA id
 t4-20020a5d42c4000000b002876ab9debcsm4657607wrr.36.2022.12.29.00.45.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 29 Dec 2022 00:45:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c27a200-8755-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=dgwR7gOszcPEX0FH1lurSFggxSFvTU4sEabij0oL3T8=;
        b=cyLiOIyFh0fISg34fymN5QLbc8B+atg7TN8P6El8cxbEc9vZQOXbAnEtWRTbuVMPO1
         Tj8DI+3YX2JCgOSrVmj2FKFcNUJiZGayRUiN5SOF1Oqycj3Toan+Wb84ApGocfcpspuP
         FseZsSetQPL85CtsoFWcgCdDcymN6bj9br8qrJ1lDg9LwPB4cjP1s0KqzJlg0KTdW3Kw
         ezfS9dKpAWxs0Qbozk4i1ZDesKVinBlAfSl9uGG7/myxZO3DkT9mlyzhZopG9gZ8wvGs
         dmRQu4ulUZu//0ym2+iro4OrKFaN1GV6e1OmuyPgDZMQVBXFbGYrPwMx9fxXzGR5554s
         XBxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=dgwR7gOszcPEX0FH1lurSFggxSFvTU4sEabij0oL3T8=;
        b=6oqZKaIXBzNAVfdCh65cJupwg97Ukq4UYylIVCtCoxE6ZGN4qqdezK1995iVkxVtC2
         3RFJYCeK5PA22obJqk08hEKm1ZIfRgvRmfnxrVlzAHOc7qwVi+dHTNdSL/LjNI6rq+Z/
         KUw0ccEEt0oUim4ahnJ0zQqZejTXqO3huCybiOi6Gedw2F88haP0cc/2beQX0bRC/Utd
         HWEHDQAGvNgKASAhDHXZBacI40BoEP2lIAyB40VGsN+kTcDTYWjZ4m9tY+5NWK/B7vwy
         gLFaDDHggBzbLg2VeNSHvqrGjQnp+OUNAMChep6/R74M4TafNsQt6n9EnwLdLywejhzE
         vINQ==
X-Gm-Message-State: AFqh2kpG62zu1BlnmYJpN54ZriAqLvJIr7U3xU/XXgmeTIlBJPa7UwKh
	RQ/Y53JcARG539awGXinejg=
X-Google-Smtp-Source: AMrXdXus80TP9ooL8GwE40LXv7NoTf8FmcrIHi2YoZ47C6g8VChQdwRtmhwATYbDbTtHbo6NQ7+a4Q==
X-Received: by 2002:a5d:4d8c:0:b0:241:fb7d:2f15 with SMTP id b12-20020a5d4d8c000000b00241fb7d2f15mr14091578wru.29.1672303539766;
        Thu, 29 Dec 2022 00:45:39 -0800 (PST)
Message-ID: <540787f539e2620951ebbc7d0aa6767588e0e3ab.camel@gmail.com>
Subject: Re: [XEN PATCH v1 1/4] arch/riscv: initial RISC-V support to
 build/run minimal Xen
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien.grall@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@citrix.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>, Connor Davis
 <connojdavis@gmail.com>, Gianluca Guida <gianluca@rivosinc.com>, Julien
 Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Date: Thu, 29 Dec 2022 10:45:38 +0200
In-Reply-To: <CAF3u54A+Qqn+7dyBqh8utnN04b-DYkHbtL5DEEWuw9HQ2EQzTQ@mail.gmail.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
	 <5d5ec5fbd8787ed8f86bf84a5ac291d07a20b307.1671789736.git.oleksii.kurochko@gmail.com>
	 <3343c927-0f27-e285-5b6e-281c61939bb4@xen.org>
	 <43d726761900ba3d8b4919fc29fe7cb1991ac656.camel@gmail.com>
	 <CAF3u54A+Qqn+7dyBqh8utnN04b-DYkHbtL5DEEWuw9HQ2EQzTQ@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.1 (3.46.1-1.fc37) 
MIME-Version: 1.0

On Wed, 2022-12-28 at 22:22 +0000, Julien Grall wrote:
>=20
>=20
> On Mon, 26 Dec 2022 at 12:14, Oleksii <oleksii.kurochko@gmail.com>
> wrote:
> > >=20
> > > > +/*
> > > > + * PAGE_SIZE is defined in <{asm,xen}/page-*.h> but to
> > > > + * remove unnecessary headers for minimal
> > > > + * build headers it will be better to set PAGE_SIZE
> > > > + * explicitly.
> > >=20
> > > TBH, I think this is a shortcut that is unnecessary and will only
> > > introduce extra churn in the future (for instance, you will need
> > > to=20
> > > modify the include in xen.lds.S).
> > >=20
> > > But I am not the maintainer, so I will leave that decision to
> > > them=20
> > > whether this is acceptable.
> >=20
> > I didn't get what you mean by a shortcut here.
> >=20
>=20
>=20
> config.h is automatically included everywhere. So anything defined in
> the header will also be available everywhere. Once you move the
> definition in a separate header, then you will have have to chase
> where the definition is used.
>=20
> An alternative would be to include the new header in config.h.
> However, this is not always wanted (we are trying to limit the scope
> of some definitions).
>=20
> So maybe you are saving a few minutes now. But you will spend a lot
> more to chase the places where the new header needs to be included.
>=20

Thanks for clarification.

> >=20
> > >=20
> > > > + *
> > > > + * TODO: remove it when <asm/page-*.h> will be needed
> > > > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 defintion of PAGE_SIZE shou=
ld be remove from
> > >=20
> > > s/defintion/definition/
> >=20
> > Thanks for finding the typo. Will update it in the next version of
> > the patch.
> >=20
> > >=20
> > > > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 this header.
> > > > + */
> > > > +#define PAGE_SIZE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 4096 > +
> > > > =C2=A0 #endif /* __RISCV_CONFIG_H__ */
> > > > =C2=A0 /*
> > > > =C2=A0=C2=A0 * Local variables:
> > > > diff --git a/xen/arch/riscv/include/asm/types.h
> > > > b/xen/arch/riscv/include/asm/types.h
> > > > new file mode 100644
> > > > index 0000000000..afbca6b15c
> > > > --- /dev/null
> > > > +++ b/xen/arch/riscv/include/asm/types.h
> > > > @@ -0,0 +1,11 @@
> > > > +#ifndef __TYPES_H__
> > > > +#define __TYPES_H__
> > > > +
> > > > +/*
> > > > + *
> > > > + * asm/types.h is required for xen-syms.S file which
> > > > + * is produced by tools/symbols.
> > > > + *
> > > > + */
> > > > +
> > > > +#endif
> > > > diff --git a/xen/arch/riscv/riscv64/Makefile
> > > > b/xen/arch/riscv/riscv64/Makefile
> > > > index 15a4a65f66..3340058c08 100644
> > > > --- a/xen/arch/riscv/riscv64/Makefile
> > > > +++ b/xen/arch/riscv/riscv64/Makefile
> > > > @@ -1 +1 @@
> > > > -extra-y +=3D head.o
> > > > +obj-y +=3D head.o
> > >=20
> > > This changes want to be explained. So does...
> >=20
> > RISC-V 64 would be supported now and minimal build is built
> > now only obj-y stuff.
> >=20
>=20
>=20
> I am a bit confused. It thought what was checked in was meant to
> work. Did I misremembered?

The current mainline Xen can only build head.o directly using the
following command:
make XEN_TARGET_ARCH=3Driscv64 CROSS_COMPILE=3Driscv64-linux-gnu-
KBUILD_DEFCONFIG=3Dtiny64_defconfig arch/riscv/riscv64/head.o

Comments can be found in the commit: 2a04f396a34c5a43b9a09d72e8c4f

> >=20
> >=20
> > >=20
> > > > diff --git a/xen/arch/riscv/riscv64/head.S
> > > > b/xen/arch/riscv/riscv64/head.S
> > > > index 0dbc27ba75..0330b29c01 100644
> > > > --- a/xen/arch/riscv/riscv64/head.S
> > > > +++ b/xen/arch/riscv/riscv64/head.S
> > > > @@ -1,6 +1,6 @@
> > > > =C2=A0 #include <asm/config.h>
> > > > =C2=A0=20
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .text
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .section .text.header, =
"ax", %progbits
> > >=20
> > > ... AFAICT this is to match the recent change in the build
> > > system.
> >=20
> > I am not sure that I get you here but it was done to make 'start'
> > instructions to be the first instructions that will be executed and
> > to make 'start' symbol to be the first in xen-syms.map file
> > otherwise
> > gdb shows that Xen starts from the wrong instructions, fails to
> > find
> > correct source file and goes crazy.
> >=20
>=20
>=20
> When the file head.S was originally created, there was no section
> .text.header. Instead head.S was included at the top with some
> different runes.
> >=20
> > >=20
> > > > +=C2=A0 } :text
> > > > +
> > >=20
> > > I am assuming you are going to add .init.* afterwards?
> > >=20
> > > > +=C2=A0 . =3D ALIGN(PAGE_SIZE);
> > > > +=C2=A0 .bss : {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __bss_start =3D .;
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.bss .bss.*)
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 . =3D ALIGN(POINTER_ALIGN);
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __bss_end =3D .;
> > >=20
> > > Same as .data, I would recommend to properly populate it.
> >=20
> > Do you mean to add .bss.stack_aligned, .bss.page_aligned,
> > .bss.percpu*?
> > One of the reasons they were skipped is they aren't used now and
> > one
> > more reason if to believe xen.lds.S file from ARM
> > .bss.percpu.read_mostly should be aligned by SMP_CACHE_BYTES which
> > requires dummy <asm/cache.h> (or not ?) which will increase the
> > patch
> > with unneeded stuff for now.=20
> >=20
>=20
>=20
> I will answer your reply to Alistair here at the same time.
>=20
> The problem is .bss.* will include any section start with .bss.. IOW
> section like .bss.page_aligned will also be covered and therefore you
> will not get a linker failure.
>=20
> Instead , the linker will fold the section wherever it wants.
> Therefore, there is no guarantee, the content will be page aligned.
> When using the binary, you could end up with weird behavior that will
> be hard to debug.
>=20
> I understand you are trying to get a basic build. But, I feel the
> linker is not something you want to quickly rush. 1h may turn into
> hours lost in a few months because not everyone may remember that you
> didn=E2=80=99t special case .bss.page_aligned.
>=20
> Short of suggesting to have a common linker script, =C2=A0you could simpl=
y
> not use * (IOW explictly list the section).=C2=A0 With that, you should
> get a linking warning/error if the section is not listed.
>=20
Totally agree then.
I missed that there is .bss.*.
Actually I reworked a little bit xen.lds.S. As a basis I took xen.lds.S
from ARM and removed all arch specific sections. So xen.lds.S contains
stuff which isn't used for now (for example, *(.data.schedulers)) but
will be used in future.
Would it be better to go with the reworked linker script or remove
unneeded sections for now and make it get a linking warning/error when
sections will be used?=20

> Cheers,

BR,
 Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Dec 29 08:49:57 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 08:49:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469665.729064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAobt-0006Is-0N; Thu, 29 Dec 2022 08:49:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469665.729064; Thu, 29 Dec 2022 08:49:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAobs-0006Il-To; Thu, 29 Dec 2022 08:49:56 +0000
Received: by outflank-mailman (input) for mailman id 469665;
 Thu, 29 Dec 2022 08:49:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=huHg=43=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pAobs-0006Ia-4V
 for xen-devel@lists.xenproject.org; Thu, 29 Dec 2022 08:49:56 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c2702ce3-8755-11ed-8fd4-01056ac49cbb;
 Thu, 29 Dec 2022 09:49:54 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 g25-20020a7bc4d9000000b003d97c8d4941so7260279wmk.4
 for <xen-devel@lists.xenproject.org>; Thu, 29 Dec 2022 00:49:52 -0800 (PST)
Received: from [192.168.0.145] ([195.234.76.149])
 by smtp.gmail.com with ESMTPSA id
 r13-20020a05600c458d00b003d34f170487sm35830230wmo.0.2022.12.29.00.49.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 29 Dec 2022 00:49:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2702ce3-8755-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=pYNly2KTscfEUVAVxL+q/sHx4GYFg24smFay7iM1sSQ=;
        b=Lb29auvBTCgvi8ucFV7sNUdvXXM+YtFTJZcPJ4vgt1OhbYcWXeJP/FihUr8l6bhV/4
         SAjjMbCibX0EtrrPTaIByAC2xKa97V4BjR8IapIB9Fr0L0vdELCILtahtRn56GNcaPe+
         YcO4WJZopWIiEEVCw1QM45d05ac2CWjMcLcLWRVZ4Jh9JfyeejBVgRQ1BICyl8OjEVnn
         nWVuVAOHb+dZznpuKEbGUDIGn+i8Spw5UstMZsMw7vOdBdFIspbgAP1YLI0vvWzKRs2c
         r6Y6x6melyL1AZ920zX0H9wtClRhH6tJXiaOZS8LcYlFjT9m6QTE2k6dcBsbuWCg/b4n
         q8Ag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=pYNly2KTscfEUVAVxL+q/sHx4GYFg24smFay7iM1sSQ=;
        b=DjKu3h6++z8SLGfbRAj8bw4aoFK87h/FQhSCe3939OjE1qa8f+W9rQLMadUXUWc7qv
         VdFBC3QN5Gh4BxW3AS/VGne8/Y9YiYQhiyn4QxCQK+fkyOwAyU4viOj9pTspFVyh/Zbx
         SdClX0ALdWdSMvIrHwF0yEDdbtBJKa9UxZ9le/Q3HhuWaGLv/V60mCdVlGZ+otSqrAk2
         GuQS7Ipu21+UVJ3RLesPh8KqPKQo4R6ptH0BHJC+Bgs0Cfo1ElV4et3M35Yi0UJeeE+t
         TZRDvUZVwhWWCdSGwPP34vaxq04vz12o4YaU8nYopo4TsnqviWasBxdu8UCZKvxdXeoa
         fUWA==
X-Gm-Message-State: AFqh2koXG0xFXreEuI5iLjFoIu03krc/mEy89H29is6N2QFljZn0yoJx
	qcmXsTjGEMyOfw30DS/uffE=
X-Google-Smtp-Source: AMrXdXv4A5zZxthA6vG29OZg63sOyVbe9VCLy0JJARaxUpIL+ArSMJdZ31DQDVZXwIiPPQpWj+3kIA==
X-Received: by 2002:a05:600c:4e51:b0:3d1:e1f4:21d1 with SMTP id e17-20020a05600c4e5100b003d1e1f421d1mr25127809wmq.26.1672303791741;
        Thu, 29 Dec 2022 00:49:51 -0800 (PST)
Message-ID: <a9f62f65b53ea9d382c7eec6e5a6bc463f712c78.camel@gmail.com>
Subject: Re: [XEN PATCH v1 1/4] arch/riscv: initial RISC-V support to
 build/run minimal Xen
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, 
	"xen-devel@lists.xenproject.org"
	 <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
 <gianluca@rivosinc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Alistair
 Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>,
 Anthony Perard <anthony.perard@citrix.com>
Date: Thu, 29 Dec 2022 10:49:50 +0200
In-Reply-To: <8a32eace-6a7f-8f14-3784-39461db0db0d@citrix.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
	 <5d5ec5fbd8787ed8f86bf84a5ac291d07a20b307.1671789736.git.oleksii.kurochko@gmail.com>
	 <8a32eace-6a7f-8f14-3784-39461db0db0d@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.1 (3.46.1-1.fc37) 
MIME-Version: 1.0

On Wed, 2022-12-28 at 18:56 +0000, Andrew Cooper wrote:
> On 23/12/2022 11:16 am, Oleksii Kurochko wrote:
> > diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
> > index 942e4ffbc1..893dd19ea6 100644
> > --- a/xen/arch/riscv/Makefile
> > +++ b/xen/arch/riscv/Makefile
> > @@ -1,2 +1,32 @@
> > +obj-$(CONFIG_RISCV_64) +=3D riscv64/
> > +
> > +$(TARGET): $(TARGET)-syms
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(OBJCOPY) -O binary -S $< $=
@
> > +
> > +$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(LD) $(XEN_LDFLAGS) -T $(ob=
j)/xen.lds -N $< \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0$(SYMBOLS_DUMMY_OBJ) -o $(@D)/.$(@F).0
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(NM) -pa --format=3Dsysv $(=
@D)/.$(@F).0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0| $(objtree)/tools/symbols $(all_symbols) --sysv --
> > sort >$(@D)/.$(@F).0.S
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(MAKE) $(build)=3D$(@D) $(@=
D)/.$(@F).0.o
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(LD) $(XEN_LDFLAGS) -T $(ob=
j)/xen.lds -N $< \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0$(@D)/.$(@F).0.o -o $(@D)/.$(@F).1
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(NM) -pa --format=3Dsysv $(=
@D)/.$(@F).1 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0| $(objtree)/tools/symbols $(all_symbols) --sysv --
> > sort >$(@D)/.$(@F).1.S
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(MAKE) $(build)=3D$(@D) $(@=
D)/.$(@F).1.o
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(LD) $(XEN_LDFLAGS) -T $(ob=
j)/xen.lds -N $<
> > $(build_id_linker) \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0$(@D)/.$(@F).1.o -o $@
>=20
> The conditional emptying of SYMBOLS_DUMMY_OBJ in arch.mk will break
> this
> logic if it actually gets emptied, but you can drop almost all of it.
>=20
> This should be just
>=20
> $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
> =C2=A0=C2=A0=C2=A0 $(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_i=
d_linker) -
> o $@
>=20
> in the short term, I think.
>=20
Originally it was made in the same way but I decided to create
addiotional variable SYMBOLS_DUMMY_OBJ.
I will back the previous solution.
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(NM) -pa --format=3Dsysv $(=
@D)/$(@F) \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0| $(objtree)/tools/symbols --all-symbols --xensyms
> > --sysv --sort \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0>$(@D)/$(@F).map
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0rm -f $(@D)/.$(@F).[0-9]*
> > +
> > +$(obj)/xen.lds: $(src)/xen.lds.S FORCE
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 $(call if_changed_dep,cpp_lds_S)
>=20
> You've got a tab and some spaces here.=C2=A0 It wants to be just one tab.
>=20
Thanks. Will re-check.

> > diff --git a/xen/arch/riscv/include/asm/config.h
> > b/xen/arch/riscv/include/asm/config.h
> > index e2ae21de61..756607a4a2 100644
> > --- a/xen/arch/riscv/include/asm/config.h
> > +++ b/xen/arch/riscv/include/asm/config.h
> > @@ -36,6 +36,30 @@
> > =C2=A0=C2=A0 name:
> > =C2=A0#endif
> > =C2=A0
> > +/*
> > + * Definition of XEN_VIRT_START should look like:
> > + *=C2=A0=C2=A0 define XEN_VIRT_START _AT(vaddr_t,0x00200000)
> > + * It requires including of additional headers which
> > + * will increase an amount of files unnecessary for
> > + * minimal RISC-V Xen build so set value of
> > + * XEN_VIRT_START explicitly.
> > + *
> > + * TODO: change it to _AT(vaddr_t,0x00200000) when
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 necessary header will be pushed=
.
> > + */
> > +#define XEN_VIRT_START=C2=A0 0x80200000
> > +/*
> > + * PAGE_SIZE is defined in <{asm,xen}/page-*.h> but to
> > + * remove unnecessary headers for minimal
> > + * build headers it will be better to set PAGE_SIZE
> > + * explicitly.
> > + *
> > + * TODO: remove it when <asm/page-*.h> will be needed
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 defintion of PAGE_SIZE should b=
e remove from
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 this header.
> > + */
> > +#define PAGE_SIZE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 4096
>=20
> I've committed Alistair's patch which adds page-bits.h, so this
> section
> can go away.
>=20
Nice. Thanks a lot.
>=20
> We still need XEN_VIRT_START, but we don't really need the commentary
> explaining that it's temporary - that is very clear from the subject
> of
> the patch.
>=20
> > diff --git a/xen/arch/riscv/include/asm/types.h
> > b/xen/arch/riscv/include/asm/types.h
> > new file mode 100644
> > index 0000000000..afbca6b15c
> > --- /dev/null
> > +++ b/xen/arch/riscv/include/asm/types.h
> > @@ -0,0 +1,11 @@
> > +#ifndef __TYPES_H__
> > +#define __TYPES_H__
> > +
> > +/*
> > + *
> > + * asm/types.h is required for xen-syms.S file which
> > + * is produced by tools/symbols.
> > + *
> > + */
>=20
> Again, no need for this comment.
>=20
> However, I think we want to rearrange the build system to have a
> final
> -I option for xen/include/stub/asm/ or so, so we can put some empty
> files there and avoid having architectures needing to provide empty
> files.
>=20
Agree.
And do you expect to see these changes as a part of this patch series
or it someting that should be done in future?

> If this file is needed, then it needs a more specific header guard
> than
> __TYPES_H__.=C2=A0 That's the general guard for xen/types.h meaning that
> nothing inside this file will actually survive preprocessing.
>=20
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Dec 29 08:55:42 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 08:55:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469674.729075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAohO-0007nn-NO; Thu, 29 Dec 2022 08:55:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469674.729075; Thu, 29 Dec 2022 08:55:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAohO-0007ng-Kh; Thu, 29 Dec 2022 08:55:38 +0000
Received: by outflank-mailman (input) for mailman id 469674;
 Thu, 29 Dec 2022 08:55:37 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAohN-0007nW-Pj; Thu, 29 Dec 2022 08:55:37 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAohN-0001Ze-Ld; Thu, 29 Dec 2022 08:55:37 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAohN-00048f-1b; Thu, 29 Dec 2022 08:55:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAohN-00051X-17; Thu, 29 Dec 2022 08:55:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/QqwSNPd4MkKARheV3dgF5AmSuSUxBQNfLvn1qrXqC4=; b=2AeOs77UkvjGKvVlM5EwGti2Ao
	4GoSTJQKbXul7hKFbD9TtnnS8Fph2WWQPJspsM0Zola5U/pOReCxQV+jYr0TxXc6vsk3mw0T0+Rlk
	WYLNwyNDetSKa5wl9gEdmdbdPtpWJR4gB5JPBm5R/GfZWkO0XOgdb6wJdPpS3+dRU0Ro=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175518-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175518: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1b929c02afd37871d5afb9d498426f83432e71c2
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 29 Dec 2022 08:55:37 +0000

flight 175518 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175518/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                1b929c02afd37871d5afb9d498426f83432e71c2
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   82 days
Failing since        173470  2022-10-08 06:21:34 Z   82 days  167 attempts
Testing same since   175496  2022-12-26 02:42:28 Z    3 days    9 attempts

------------------------------------------------------------
3244 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 494152 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 29 09:29:20 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 09:29:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469683.729085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pApDt-0002mq-7t; Thu, 29 Dec 2022 09:29:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469683.729085; Thu, 29 Dec 2022 09:29:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pApDt-0002mj-5D; Thu, 29 Dec 2022 09:29:13 +0000
Received: by outflank-mailman (input) for mailman id 469683;
 Thu, 29 Dec 2022 09:29:11 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=4oVf=43=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pApDr-0002md-9U
 for xen-devel@lists.xenproject.org; Thu, 29 Dec 2022 09:29:11 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.133.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3efdcaf8-875b-11ed-8fd4-01056ac49cbb;
 Thu, 29 Dec 2022 10:29:10 +0100 (CET)
Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com
 [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id
 us-mta-612-rMzQXtXnMiWFSc0mHzngng-1; Thu, 29 Dec 2022 04:29:07 -0500
Received: by mail-wm1-f69.google.com with SMTP id
 g9-20020a7bc4c9000000b003d214cffa4eso4556599wmk.5
 for <xen-devel@lists.xenproject.org>; Thu, 29 Dec 2022 01:29:06 -0800 (PST)
Received: from [192.168.0.5] (ip-109-42-113-203.web.vodafone.de.
 [109.42.113.203]) by smtp.gmail.com with ESMTPSA id
 f8-20020adff8c8000000b00282194eaf7bsm7531081wrq.71.2022.12.29.01.29.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 29 Dec 2022 01:29:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3efdcaf8-875b-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1672306148;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=b2G2HBi7RmxjXnaOAY9mntq61IebxaL6Lb+V6cYPCWk=;
	b=K1i3Vo9i5iV/jhIyDuf3NdqUI8neXkPaIl+JOebG/kqdlS1bCgzKHpuy7tiw/FIlAU1wqa
	pqgoVj9POAy1lpaXPtoV+PSx+/ltrIJ7+4p7M2wJRZrI5kTiZo0fiECrAGB2pUMiijJSP8
	VGDOcIH4otSYAsOAnqL3wFr08YheQdQ=
X-MC-Unique: rMzQXtXnMiWFSc0mHzngng-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=b2G2HBi7RmxjXnaOAY9mntq61IebxaL6Lb+V6cYPCWk=;
        b=mC4iu8GjhqfA6m7OrAovKYB0UAZBPOiYHUDTIEM3aQ3nyQh6lNY9mT1pz5eN7TVItf
         wAVPnyxksLb3C/TEuzEtILDC0PqpVyFOTHsd/5BOEIHWHa6dQC9v6/Mi/aGifKydhw3I
         CIiljDqUMt9zwGufQONIr3FqxWzhTyEDcJdyNAxRhLKVuoyN98DLOhBZSXlOslu58jaE
         fIDcwNs2PCB5khXBy4T6kMReDj5pXbmWnJzYCiuUsEA9GvyHLUxegWUvLyftxo/8KEBX
         wSPxVcqtYVSxiE/s7qXQMCY02WgzQq2oaLeWLNMUD7idb5tKzI5zjUURt9UkxhGSdOVg
         WoFA==
X-Gm-Message-State: AFqh2kqyHYBDguukFS28/bjdB1soBAXNa/A2cUfWehf1xu0hhv7moTIg
	bbIEiBKLomR18jhZ6xS8Hgjm882FMTQp1dJgytkZe4AogcRQkzTiUarlsDqv3kp2oWOBx/Oij/a
	d4kpcHzPn/V/PCW2LTtFw0YUXojQ=
X-Received: by 2002:a5d:46c3:0:b0:242:7676:689d with SMTP id g3-20020a5d46c3000000b002427676689dmr16793800wrs.19.1672306145926;
        Thu, 29 Dec 2022 01:29:05 -0800 (PST)
X-Google-Smtp-Source: AMrXdXtvjWFBbb03W7bVXUDXS3S/VxZUjupIzmYbFuMIRxk+FI9eyNYhfuauEmH9uHEbJaq7Qg4B3A==
X-Received: by 2002:a5d:46c3:0:b0:242:7676:689d with SMTP id g3-20020a5d46c3000000b002427676689dmr16793782wrs.19.1672306145747;
        Thu, 29 Dec 2022 01:29:05 -0800 (PST)
Message-ID: <20f8ff01-8240-5c53-99ad-c75d37f6639c@redhat.com>
Date: Thu, 29 Dec 2022 10:29:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH 4/6] util/error: add G_GNUC_PRINTF for various functions
To: =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>,
 qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>, qemu-ppc@nongnu.org,
 xen-devel@lists.xenproject.org, Laurent Vivier <lvivier@redhat.com>,
 Markus Armbruster <armbru@redhat.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, virtio-fs@redhat.com,
 Michael Roth <michael.roth@amd.com>, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, qemu-block@nongnu.org,
 Peter Maydell <peter.maydell@linaro.org>, qemu-arm@nongnu.org,
 Paul Durrant <paul@xen.org>, Anthony Perard <anthony.perard@citrix.com>,
 David Gibson <david@gibson.dropbear.id.au>, =?UTF-8?Q?C=c3=a9dric_Le_Goater?=
 <clg@kaod.org>, John Snow <jsnow@redhat.com>,
 Stefan Hajnoczi <stefanha@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gerd Hoffmann <kraxel@redhat.com>, Greg Kurz <groug@kaod.org>
References: <20221219130205.687815-1-berrange@redhat.com>
 <20221219130205.687815-5-berrange@redhat.com>
From: Thomas Huth <thuth@redhat.com>
In-Reply-To: <20221219130205.687815-5-berrange@redhat.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 19/12/2022 14.02, Daniel P. Berrangé wrote:
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>   util/error-report.c | 1 +
>   util/error.c        | 1 +
>   2 files changed, 2 insertions(+)
> 
> diff --git a/util/error-report.c b/util/error-report.c
> index 5edb2e6040..6e44a55732 100644
> --- a/util/error-report.c
> +++ b/util/error-report.c
> @@ -193,6 +193,7 @@ real_time_iso8601(void)
>    * a single phrase, with no newline or trailing punctuation.
>    * Prepend the current location and append a newline.
>    */
> +G_GNUC_PRINTF(2, 0)
>   static void vreport(report_type type, const char *fmt, va_list ap)
>   {
>       gchar *timestr;
> diff --git a/util/error.c b/util/error.c
> index b6c89d1412..1e7af665b8 100644
> --- a/util/error.c
> +++ b/util/error.c
> @@ -45,6 +45,7 @@ static void error_handle_fatal(Error **errp, Error *err)
>       }
>   }
>   
> +G_GNUC_PRINTF(6, 0)
>   static void error_setv(Error **errp,
>                          const char *src, int line, const char *func,
>                          ErrorClass err_class, const char *fmt, va_list ap,

Reviewed-by: Thomas Huth <thuth@redhat.com>



From xen-devel-bounces@lists.xenproject.org Thu Dec 29 09:35:09 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 09:35:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469690.729097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pApJY-0004Dg-UX; Thu, 29 Dec 2022 09:35:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469690.729097; Thu, 29 Dec 2022 09:35:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pApJY-0004DZ-QP; Thu, 29 Dec 2022 09:35:04 +0000
Received: by outflank-mailman (input) for mailman id 469690;
 Thu, 29 Dec 2022 09:35:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=4oVf=43=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pApJX-0004DN-5t
 for xen-devel@lists.xenproject.org; Thu, 29 Dec 2022 09:35:03 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 111ff439-875c-11ed-91b6-6bf2151ebd3b;
 Thu, 29 Dec 2022 10:35:02 +0100 (CET)
Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com
 [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id
 us-mta-637-isnhInbeOISEfblQAbzqug-1; Thu, 29 Dec 2022 04:34:59 -0500
Received: by mail-wm1-f69.google.com with SMTP id
 p34-20020a05600c1da200b003d990064285so3265825wms.8
 for <xen-devel@lists.xenproject.org>; Thu, 29 Dec 2022 01:34:59 -0800 (PST)
Received: from [192.168.0.5] (ip-109-42-113-203.web.vodafone.de.
 [109.42.113.203]) by smtp.gmail.com with ESMTPSA id
 m185-20020a1c26c2000000b003c6f1732f65sm28144375wmm.38.2022.12.29.01.34.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 29 Dec 2022 01:34:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 111ff439-875c-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1672306501;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=GcdrvCqNGjGHU9f/3dmKHzhrW9q3ylvLAkxtIJNUh5k=;
	b=evdJoGFknbkEDR44YzS8Uqd34y4CJwDbAaa6Q8tPxoaaUUZlXKDzK2WktUWPbOaaeXC1La
	nm5nRfdQMydTYM5rFA03GsoiqhEKaISXf7CnWT9fod8dXlFaOIYKRI6q/+n2CljaNbWRcm
	HZ7uQpIUIbU5HDLJ4f+jL/Y3nlE930Y=
X-MC-Unique: isnhInbeOISEfblQAbzqug-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=GcdrvCqNGjGHU9f/3dmKHzhrW9q3ylvLAkxtIJNUh5k=;
        b=7WwWDXOsYZEB0XdBnIuTI80F0DAFSxg8F2eLnqgnDBPAbgZ1u4wJmS08ePwqUUTu9h
         MxzQPzONWLKHHVuymOtOthkrWeNtEZiY/eEQMkF+KXKRawkk3x07rzyBjOZG6eL26tzT
         V9HvM4S5sCoWnu89GxkyTVEQqzispzx/f9P7f0LDaNenVf4JqUbpD3Vst2cQvtLB7Cce
         OTtAkAnz7VDAJtrVDBQz9u1fba0BmaSDNJPkrnfZBlYyKz9Cw0jrYaLvFRC7GQhwVmD6
         GSsmUnUd6IPrdE7oYKM+HPXPL+ovzdmVqGtcQp4iqvUuVB0IgkI1O3fRAJ0WGwQUtd6U
         859Q==
X-Gm-Message-State: AFqh2kouovE1lLK/IfhtBehbwAtQwIz8p5O77V4iDvqxC+WiknuR6nWQ
	FO/GLBKHmEGsq7Q9rGoKn5SrBm/IEYkdGxsR1YlT2bHl64BEuN9H/Xmo7702bG2TV5hrYV0Nq+w
	CQndF4+nXRHEWHuQkkxKBaguBHXM=
X-Received: by 2002:a05:600c:41d1:b0:3d2:3d7b:6118 with SMTP id t17-20020a05600c41d100b003d23d7b6118mr19542860wmh.24.1672306498380;
        Thu, 29 Dec 2022 01:34:58 -0800 (PST)
X-Google-Smtp-Source: AMrXdXt/4j8QTHWJSp160KylJKNWsBz1Vjettg8tniYVzZJu5Uz2eF3E4HoK9vYXUf1BDQV84SkA2g==
X-Received: by 2002:a05:600c:41d1:b0:3d2:3d7b:6118 with SMTP id t17-20020a05600c41d100b003d23d7b6118mr19542844wmh.24.1672306498196;
        Thu, 29 Dec 2022 01:34:58 -0800 (PST)
Message-ID: <27da4d93-38e6-1c40-4a60-92f3343f380f@redhat.com>
Date: Thu, 29 Dec 2022 10:34:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH 5/6] tests: add G_GNUC_PRINTF for various functions
To: =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>,
 qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>, qemu-ppc@nongnu.org,
 xen-devel@lists.xenproject.org, Laurent Vivier <lvivier@redhat.com>,
 Markus Armbruster <armbru@redhat.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>, virtio-fs@redhat.com,
 Michael Roth <michael.roth@amd.com>, =?UTF-8?Q?Alex_Benn=c3=a9e?=
 <alex.bennee@linaro.org>, qemu-block@nongnu.org,
 Peter Maydell <peter.maydell@linaro.org>, qemu-arm@nongnu.org,
 Paul Durrant <paul@xen.org>, Anthony Perard <anthony.perard@citrix.com>,
 David Gibson <david@gibson.dropbear.id.au>, =?UTF-8?Q?C=c3=a9dric_Le_Goater?=
 <clg@kaod.org>, John Snow <jsnow@redhat.com>,
 Stefan Hajnoczi <stefanha@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gerd Hoffmann <kraxel@redhat.com>, Greg Kurz <groug@kaod.org>
References: <20221219130205.687815-1-berrange@redhat.com>
 <20221219130205.687815-6-berrange@redhat.com>
From: Thomas Huth <thuth@redhat.com>
In-Reply-To: <20221219130205.687815-6-berrange@redhat.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 19/12/2022 14.02, Daniel P. Berrangé wrote:
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>   tests/qtest/ahci-test.c           |  3 +++
>   tests/qtest/arm-cpu-features.c    |  1 +
>   tests/qtest/erst-test.c           |  2 +-
>   tests/qtest/ide-test.c            |  3 ++-
>   tests/qtest/ivshmem-test.c        |  4 ++--
>   tests/qtest/libqmp.c              |  2 +-
>   tests/qtest/libqos/libqos-pc.h    |  6 ++++--
>   tests/qtest/libqos/libqos-spapr.h |  6 ++++--
>   tests/qtest/libqos/libqos.h       |  6 ++++--
>   tests/qtest/libqos/virtio-9p.c    |  1 +
>   tests/qtest/migration-helpers.h   |  1 +
>   tests/qtest/rtas-test.c           |  2 +-
>   tests/qtest/usb-hcd-uhci-test.c   |  4 ++--
>   tests/unit/test-qmp-cmds.c        | 13 +++++++++----
>   14 files changed, 36 insertions(+), 18 deletions(-)
...
> diff --git a/tests/unit/test-qmp-cmds.c b/tests/unit/test-qmp-cmds.c
> index 2373cd64cb..6d52b4e5d8 100644
> --- a/tests/unit/test-qmp-cmds.c
> +++ b/tests/unit/test-qmp-cmds.c
> @@ -138,6 +138,7 @@ void qmp___org_qemu_x_command(__org_qemu_x_EnumList *a,
>   }
>   
>   
> +G_GNUC_PRINTF(2, 3)
>   static QObject *do_qmp_dispatch(bool allow_oob, const char *template, ...)
>   {
>       va_list ap;
> @@ -160,6 +161,7 @@ static QObject *do_qmp_dispatch(bool allow_oob, const char *template, ...)
>       return ret;
>   }
>   
> +G_GNUC_PRINTF(3, 4)
>   static void do_qmp_dispatch_error(bool allow_oob, ErrorClass cls,
>                                     const char *template, ...)
>   {
> @@ -269,7 +271,7 @@ static void test_dispatch_cmd_io(void)
>   
>   static void test_dispatch_cmd_deprecated(void)
>   {
> -    const char *cmd = "{ 'execute': 'test-command-features1' }";
> +    #define cmd "{ 'execute': 'test-command-features1' }"
>       QDict *ret;

That looks weird, why is this required?

  Thomas



From xen-devel-bounces@lists.xenproject.org Thu Dec 29 11:23:13 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 11:23:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469700.729108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAqzw-00074U-Mr; Thu, 29 Dec 2022 11:22:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469700.729108; Thu, 29 Dec 2022 11:22:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAqzw-00074N-Iq; Thu, 29 Dec 2022 11:22:56 +0000
Received: by outflank-mailman (input) for mailman id 469700;
 Thu, 29 Dec 2022 11:22:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAqzv-00074D-JW; Thu, 29 Dec 2022 11:22:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAqzv-0005Ht-EP; Thu, 29 Dec 2022 11:22:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAqzu-0006dP-SN; Thu, 29 Dec 2022 11:22:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAqzu-0003SU-Rt; Thu, 29 Dec 2022 11:22:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=48I+KKjAaJ6lCx+QfMBvXLdgmcGPlUSLgMGuIWu7uP4=; b=lNGtpOrgHYlGSvNyOib0VzsYOy
	VKOF1tquQ8YdtMskJLjfVcC1rtJf5ivNAkmGYZHuTPtRRQMIOZEPM8cC4TJIcXkKXacttXx93td+/
	Upr8PoeyXgRrM02u5kf2o51hlQ9VmCW7TfnkTB/dqa2BCqKkFJsEtz0caX4+LDyJd8ug=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175519-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175519: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:kernel-build:fail:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start.2:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:windows-install:fail:heisenbug
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 29 Dec 2022 11:22:54 +0000

flight 175519 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175519/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 build-arm64-pvops             6 kernel-build   fail in 175515 REGR. vs. 175197

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175519
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175519
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175519
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175519
 test-armhf-armhf-xl-credit2  14 guest-start      fail in 175513 pass in 175519
 test-armhf-armhf-xl-credit1  14 guest-start      fail in 175513 pass in 175519
 test-armhf-armhf-libvirt-raw 13 guest-start      fail in 175513 pass in 175519
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 175513 pass in 175519
 test-amd64-amd64-xl-qcow2    22 guest-start.2    fail in 175513 pass in 175519
 test-amd64-i386-xl-qemuu-ws16-amd64 12 windows-install fail in 175513 pass in 175519
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 175515 pass in 175519
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 175515 pass in 175519
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 175513
 test-armhf-armhf-xl-vhd      13 guest-start                fail pass in 175515
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 175515

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-examine      1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 175515 n/a
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 175513 like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 175513 like 175197
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 175513 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 175513 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 175513 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 175513 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   15 days
Testing same since   175407  2022-12-19 11:42:26 Z    9 days   22 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 29 13:05:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 13:05:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469711.729119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAsbM-0000Gq-98; Thu, 29 Dec 2022 13:05:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469711.729119; Thu, 29 Dec 2022 13:05:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAsbM-0000Gj-6M; Thu, 29 Dec 2022 13:05:40 +0000
Received: by outflank-mailman (input) for mailman id 469711;
 Thu, 29 Dec 2022 13:05:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=WAJa=43=citrix.com=prvs=3553fb73c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pAsbK-0000Gb-Kb
 for xen-devel@lists.xenproject.org; Thu, 29 Dec 2022 13:05:38 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 79f6b099-8779-11ed-8fd4-01056ac49cbb;
 Thu, 29 Dec 2022 14:05:34 +0100 (CET)
Received: from mail-co1nam11lp2175.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Dec 2022 08:05:21 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO1PR03MB5732.namprd03.prod.outlook.com (2603:10b6:303:97::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.16; Thu, 29 Dec
 2022 13:05:18 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::c679:226f:52fa:4c19%6]) with mapi id 15.20.5944.016; Thu, 29 Dec 2022
 13:05:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79f6b099-8779-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672319134;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=jF26Rs/Axd8uVU6tvE9dsxepvZ9dAY/EuJSHHHbTo3Y=;
  b=LWc79w56Cq8XoZWQg7vU3xMf5D7oMKrR7uAiwSpi1/dOYmjfAlGYs9QC
   5lwBSHnlJtnHcrT/93QUO2qDO+RnngTfrSdczflqviWcQYmVqomWsY2It
   Sshp1wEgK04fMGZ6ir/vrZZHnXvFBwNp1sfm3o/PVhTcXT0AQ7iyRfjiS
   k=;
X-IronPort-RemoteIP: 104.47.56.175
X-IronPort-MID: 92941448
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:3vhmEq3b4lwaRag8VfbD5TBwkn2cJEfYwER7XKvMYLTBsI5bp2ZTz
 mtJXj/QO/jYa2L9L412OYW18UsG7MCEnIRhSgU+pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZkNKgR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfIjhP+
 8wqdWoxVw2cu+ft5KjlU+dpr5F2RCXrFNt3VnBI6xj8VK9jareaBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvS6Kk1EZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXKhCd5LSOHonhJsqAWx7EEiKgAEbgOQ4vzou1GGBP5kK
 GVBr0LCqoB3riRHVOLVWBm1o2WFv1gfRsBXGO057ymCz6PV50CSAW1sZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluaIjMJJGUPYSsFSwot4NT5pow3yBXVQb5LH6+8iNnoEjjY2
 TGUqzM/gb5VhskOv42w9ErLhD+ErZHTQgk4oA7QWwqYAhhRYYekY8mj7gHd5PMZdYKBFADe4
 T4DhtSU6/0IAdeVjiuRTe4RHbavofGYLDnbhl0pFJ4kn9iwx0OekUlryGkWDC9U3gwsI1cFv
 Ge7Vdtt2aJu
IronPort-HdrOrdr: A9a23:1zYI1qDxocGTpdLlHemq55DYdb4zR+YMi2TDtnoBLyC9F/byqy
 nAppsmPHPP5gr5O0tQ+uxoWpPgfZq0z/cci+R8AV7FZniFhILCFuFfBOXZslndMhy72ulB1b
 pxN4hSYeeAamSSVPyKhTWFLw==
X-IronPort-AV: E=Sophos;i="5.96,284,1665460800"; 
   d="scan'208";a="92941448"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gFCzEiz16YAKUYTMy5UaEPmEDD7l2Mg1o8CoLDE8YYwC2fgQZLX9pYmbBNVne0wDpSYuf7EFURGyKCcaIv4FWhC8sma7NfF/oquJEDbVcoOEe3LqlkpGy13ieliijw4xtTYL7AIkdwmd9zpsJnVzt7WnEj6ZVclMIjN4K6oXF4WncrRiR596ZcXyK3TehVh9283cE7efux9RMNMT8T00RrZzh59Xlm6v3UWbfArC1ahAlh39uO2NdHECKicp4mCmTSTpc1mzl4phiJfw+2ChKRMlkPchAaIE3A5ITApgCQ/rC8vG6DNdtAA80cFrc3SOiYDQQnSD5cOWWBraHpEspQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jF26Rs/Axd8uVU6tvE9dsxepvZ9dAY/EuJSHHHbTo3Y=;
 b=GOVnJ2SibG2xEFgIaNU7GMVx3mjt3um1+dScpbd61Pt9e01YKuiZP3ihKfoROoJhSofFPCkSgYLfhtMQIDi4wD2v5qEk3tVXWmbATb1/EgrJOZ3XCSkR/oexyAckhRjXG1q/VEb5/La9Qq7miv89bXa6jGYFmm4wjMw+EsbNRGkB+wwUemb0lDTSdcXzAtATVIdGfKrJs4rKPqDnqAoEvGDDgJ/mZisW3n4zNt9Zuf0etxUzSaHVcSvciEeQprlD0gr/HY3snQ2zBFYaIEAIypnbhDwEAmf939yhX/C/iLGzJJ61J+yLvU8EvfywSFPDUSB2mpc7CAoh/HbLrQ+4gA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jF26Rs/Axd8uVU6tvE9dsxepvZ9dAY/EuJSHHHbTo3Y=;
 b=ZxL8uHdOz+zqoLH8PlKhOfOqRp2rS+bd6D3x8CfHu76EKCFSnBAypVZHnW+8TMMpDjKr3VeDw0c/oCrTUhCX7YvNk5lFKRST8kiQ2nlM4dibUTGyQ4Qyfbd6fFcv8bBf2TkeQyV6+X0Th58x5BsNe3TT6zC07UhOqab0z4tHrBI=
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
To: Oleksii <oleksii.kurochko@gmail.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
	<gianluca@rivosinc.com>, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH v1 3/4] automation: add python3 package for
 riscv64.dockerfile
Thread-Topic: [XEN PATCH v1 3/4] automation: add python3 package for
 riscv64.dockerfile
Thread-Index: AQHZFsAO4W4uDI5cTkyDumFs2/flgK6D+jEAgACLTACAAFlngA==
Date: Thu, 29 Dec 2022 13:05:17 +0000
Message-ID: <29a98857-d575-66b5-171e-99014e92917e@citrix.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
 <55e2c865a0c2ab3ef405c427c0b1bcaf0abff2ab.1671789736.git.oleksii.kurochko@gmail.com>
 <24efc48f-5149-b055-7178-d21dae999f02@citrix.com>
 <b84bd12cdc343abf317a25476713b236a2403cba.camel@gmail.com>
In-Reply-To: <b84bd12cdc343abf317a25476713b236a2403cba.camel@gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.6.0
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR03MB3623:EE_|CO1PR03MB5732:EE_
x-ms-office365-filtering-correlation-id: d58ca0ee-743c-4026-b77f-08dae99d5563
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 CFf2V0y0VS4h7IFS430fUammzCPW2FjCZjgsOKALU1Wc8Ri+iLtWmgFMMbsm18vifXRhSPrgImpBTNXj8A6LnK3DC4ExdN/3R4LYpF48WcfbZ9TY/IwTbDfUJD1UwzRNAS+xSsPrh+QRPAGxbruZrBXAovhF+f+HjRq7y9mFLAukBZTjS6bIy+jELkGhL/bga9MSp82jSbI6JQ6gHi6GBlInJ5CSGSjeAeZ2BDeYQavqiZUs6pBtjul2K/cGD8Q/bMF7yDn7eLp413XIzsJW/qbZQ4P2NTpDCWmP9EBEt1UFBtLpVS+KQHDEGRPsut5BJmhcHIsgexNfTwO9SVFwettSlnwA1lbuvP5+RydYrvEweabhX7E4+HN/jYpkEaiqnMjVzJ3o3ZXv7lavFx4W8u7WA6YO9DPKDhl+uiNWoJWZUnCJ7EHgiu6mjBLYqmJNGc213hA7bCyK61uS+QeRSyEKSDmzJ8Zl5UTtdcaEJS1d7I0Nic6mb+F++H94+XnhNE1xY7TjBhgY0u2Y+1X6D/ZVcijNeyGI6eYp/8PVvtSwC+1yohJPsKTTpsm5NFDI+kA5ypAeJRXUy2cTDu4+GAKQb9vniYyN7urgHhB8fFYqm9xTwSt76y23YlzE0cdM0cuf3B6+/WcGMQDkBvQ92wqWvc8bz0Yg6PMoSOyY6h6U/ipefmIhc8K/+Atb0dQ5jzCfWMnYvAp2TED7rT/pWECoFq8p2Fgd3YS1U7WxQcVjQsJVaaDkBLx+54/4p7dulofl+goiFJNB8xmWDpnWpow4psXlZJla3fOgcknhojI=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(376002)(346002)(136003)(366004)(39860400002)(451199015)(82960400001)(36756003)(4001150100001)(31686004)(5660300002)(38100700002)(122000001)(8936002)(4744005)(41300700001)(2906002)(31696002)(86362001)(38070700005)(966005)(66446008)(54906003)(316002)(71200400001)(66946007)(64756008)(110136005)(66556008)(66476007)(478600001)(6506007)(76116006)(6512007)(91956017)(4326008)(8676002)(6486002)(186003)(53546011)(26005)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?bnZUWDZSbHhnRHBQZ2xOMlJVZmRnb29sUlVuK0NIS2FkYW9mUHkwaTFoYW9q?=
 =?utf-8?B?T0RLc0FGVXczM1RtL1k2a1BraGFTYUR0SGovWlJURGhJeFNiMm0vM1JsNHZI?=
 =?utf-8?B?a1lRVDQ1THUydkQvdmxVUGJwd0M1TkpjWUEya0M4MEMxZEI5bVVlMDlQUUJV?=
 =?utf-8?B?aTdLZHM0bVIwVTB2ZERwZGlLbGh3ZXQxU2taMVFlS3V3VE5nM3lpWmJqc3Rw?=
 =?utf-8?B?dkd3ejFXWiswclYzYlc0dWp5Yk5mWjJVZHhKYkpKaHpjbUVuWWduNmVTVDZ6?=
 =?utf-8?B?Z2x4NDNtY0JHZExNelB0bUxmUGZpSGtYcW9MZ3Bxa2VCekVoQ1dpQzNsQnBX?=
 =?utf-8?B?K0taMnlZQzROWkk1QVRXcXNqQUNGcmRzRTJ0cy9mMUNJUHArbEFaR3gzNEVm?=
 =?utf-8?B?UnhDZGNTbGxGSTFZSDlRTWoxbE5ub1VUazIzZTFaMUxYL3BMMm94U3dDbEhN?=
 =?utf-8?B?T09YR2xQay92U2JMS093WEl1MCtrYkxVdUtZNlNIYUlpYWRyQzNLaGF2MENi?=
 =?utf-8?B?TkdMZVNxZGFVdU9zK3VmeDdUd2huVmZMaGZuYUt2a2h1d2tWQkV1VFoycStm?=
 =?utf-8?B?VFkvb0x5QXQwWFZ5cnJmVHY0OHhFMnRhOTV1VHljTGtNK1l0NG9oUVZSZHJU?=
 =?utf-8?B?SHVwNS9GZGQ0bUhQd1F1TWtQWWhvaUVaYi9WRk9rNWRqc1dwS1FudmVFc3Bu?=
 =?utf-8?B?YmVkTXlYWXR2Y0N0ampabEJrb1N6TC83WUJ0Snkvbm1FL3RxaEUzN2s1VjNU?=
 =?utf-8?B?MGtpL1lqcklncHFPQm00WWZQNk12Tk1rOVpuazdyU3BPSnZUL2kxSHlZV05K?=
 =?utf-8?B?TXZ5bVFUeVlFcThoSTlGMThhT1NNaDE2T3AvNVZrOHBlVUlIeDJ6bFhnTHN2?=
 =?utf-8?B?MTRHUXJKR0ZtUEVueVlrTWxkN1J4aS9Jb295cHFKVnFtTUtUaGR4eTQ3RjFT?=
 =?utf-8?B?bjdjTGtBYmkrNnVGSnEvWGEwcStpdUZkSDUyV1krM081Ujh3U2dobWo1VDJC?=
 =?utf-8?B?ejBMRnJkQ3g5MEE3NmRxaFpXVjNQMFBTOU9UZEs3RytwbjdZckNFa2JESGJi?=
 =?utf-8?B?NDExMlBmOTlXSkNGREFYZ0d2aU4vRnpLL3JWMW93RzRPYlB0SitQUHlYUlIy?=
 =?utf-8?B?L3l3VTV1KzlTTUFOcXNxbXRFWlkzd0JkMVFpVDhuZFhYNmw0dXF1V0JjN0FC?=
 =?utf-8?B?dWk4ZXI5Tlkvelk1QzRvajREWG9sOW5rekh1MENFTWFDTE9sY2d2VmtEUS9Y?=
 =?utf-8?B?ZFFpNXN2cEZBL0FmUFY2T3l2QjRhdVM5Z1hwUnpoRy9MUU9mR0FoMVZ5L2Vu?=
 =?utf-8?B?MzlSZlF5ZERRbWJtM2pYUE5rcGg0MDAvMFJhRkZCOUVScEEya3FxS3VsZTZF?=
 =?utf-8?B?K0p1VkhMYVVmY05sUURqZGU5bWhTLzFLWmFIQ2pPWEpaN3JJcHVEbWN3ZVlj?=
 =?utf-8?B?VVE2cnhoVjV1QmVLQlhqbHpNZzlDRDRFNHFINHZaWEorbEt2SnpFaEkwb09Z?=
 =?utf-8?B?ZUNHMVUxQXorRUpFMGlYSmxRRi9tUnNUb1gvZGpiVFd6MHhoZ2ZkSWtCVmdJ?=
 =?utf-8?B?cXhac3FRTTJyclZpY3NQQXg2L1ozeHVnSlVOTmlHSFYxN2hKTXBSZ3packxN?=
 =?utf-8?B?alpDK1czNDM2aCtYOTNCTDFLVThjclFKSnd1MC9aZVpBdGlVTDk1emUrcUpG?=
 =?utf-8?B?NmgxNUdDbkRUL3cvR09Dc3BWQ2R1eEFnMDFaU1FEWTF6c083Y2xpUnlrQ0Q3?=
 =?utf-8?B?QkROdjY0RG1XaVZqR2hTS0RRNVBoaGphZFZuYmxrN09xSHVYNnQzSVMweVgx?=
 =?utf-8?B?aHU4UmZoVGNaL3F4MHVteEdqKzUvT3RwMHdvYklzb1ZzSGhLenRiUC9aSXQv?=
 =?utf-8?B?a2xBQjNHcTBNR0F0Tzk4SjBTanBlWnZSaWppc2hlTVFvQk5pa3QxUldHWjFn?=
 =?utf-8?B?Z0VROFMvWjl0eFJoaVhuUWxzWjZQbU5LRysrSDYzaktPYnRndUdOU1ZGMTU3?=
 =?utf-8?B?REl1V2xGamR2QUJFcDJaV1lKRlJJNG5YeEdKSWhoN1VJKzN5RUFBcjlRbXZr?=
 =?utf-8?B?TStOTUd1OXd2MXVNK05jajNsR2ZaeUlQbTh5dmVsTytsaUI4WE9FMERXVno3?=
 =?utf-8?Q?tg/eHttJZML0BnsNa/5hBj17J?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <EE2C530C00E38B4099C425FC176AEA95@namprd03.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d58ca0ee-743c-4026-b77f-08dae99d5563
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Dec 2022 13:05:17.7769
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Ml0no2Fr/8ASay0JA+2/J7yhzONtJNhM61KEL2tmGcF1zmwV8enw/cgVJBr1JdS9BebhH21y52vKNJfHEz08eXdQKOIuGTdfxtdTOuos7Pg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5732

T24gMjkvMTIvMjAyMiA3OjQ1IGFtLCBPbGVrc2lpIHdyb3RlOg0KPiBPbiBXZWQsIDIwMjItMTIt
MjggYXQgMjM6MjYgKzAwMDAsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+PiBPbiAyMy8xMi8yMDIy
IDExOjE2IGFtLCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOg0KPj4+IFB5aHRvbjMgcGFja2FnZSBp
cyByZXF1aXRlZCBieSBhdXRvbWF0aW9uL3NjcmlwdHMvYnVpbGQNCj4+PiBzY3JpcHQgc28gaXQg
c2hvdWQgYmUgaW5zdGFsbGVkIHRvIHJpc2N2NjQgZG9ja2VyIGltYWdlDQo+PiBJcyBpdD/CoCBU
aGlzIHNlcmllcyBydW5zIGZpbmUgd2l0aG91dCBpdC4NCj4+DQo+IEl0IGlzIHVzZWQgYnkgYXV0
b21hdGlvbi9zY3JpcHRzL2J1aWxkIGhlcmU6DQo+IGh0dHBzOi8vZ2l0bGFiLmNvbS94ZW4tcHJv
amVjdC9wZW9wbGUvb2xrdXIveGVuLy0vYmxvYi9zdGFnaW5nL2F1dG9tYXRpb24vc2NyaXB0cy9i
dWlsZCNMNjMNCg0KVGhhdCBsb2dpYyByZWFkcyAiaWYgKCAhcHkzIHx8ICEocHkzLnZlciA+IDMu
NSkgKSBza2lwIiBzbyBpcyBmaW5lIHdpdGgNCm5vIHB5My7CoCBTb21lIG9mIHRoZSBvbGRlciBi
dWlsZCBjb250YWluZXJzIG9ubHkgaGF2ZSBweTIuDQoNCj4NCj4gSXQgbG9va3MgbGlrZSB0aGlz
IHBhdGNoIGNhbiBiZSBza2lwcGVkIGZvciBub3cgYXMgaXQgZG9lc24ndCBhZmZlY3QNCj4gcmVz
dWx0cyBvZiBSSVNDLVYgY3Jvc3MtYnVpbGQgdGVzdC4NCg0KWWVhaCwgaXQgY2FuIGJlIGRyb3Bw
ZWQgZm9yIG5vdy4NCg0KfkFuZHJldw0K


From xen-devel-bounces@lists.xenproject.org Thu Dec 29 13:45:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 13:45:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469718.729130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAtDM-0004io-8w; Thu, 29 Dec 2022 13:44:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469718.729130; Thu, 29 Dec 2022 13:44:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAtDM-0004ih-5s; Thu, 29 Dec 2022 13:44:56 +0000
Received: by outflank-mailman (input) for mailman id 469718;
 Thu, 29 Dec 2022 13:44:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=huHg=43=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pAtDK-0004ib-RZ
 for xen-devel@lists.xenproject.org; Thu, 29 Dec 2022 13:44:54 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f8808d57-877e-11ed-8fd4-01056ac49cbb;
 Thu, 29 Dec 2022 14:44:52 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id bk16so4210631wrb.11
 for <xen-devel@lists.xenproject.org>; Thu, 29 Dec 2022 05:44:52 -0800 (PST)
Received: from [192.168.0.145] ([195.234.76.149])
 by smtp.gmail.com with ESMTPSA id
 k1-20020a5d5181000000b0024207478de3sm17958313wrv.93.2022.12.29.05.44.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 29 Dec 2022 05:44:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8808d57-877e-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=s+iTuRzGaeX4GHA2/HfjeY/Hy3VmrUCqbJUQwr3T4U0=;
        b=QZ1nEk+8W6bdulqbxy4S0dr61F3vAqWaCAKku3NX9AYygyFNtPqVjwRyAePLTScofP
         hFy9PfWSCrfEPGzDD4TyYmN5MPPouq9H3WUqvHPcsgpyJRh5k/DgGRXh3+0+1g40V0b8
         XbIKPSJ1GPY5KQlBrOpNBbwWKQrZ6T0CYVGWtLhKllsQQAfC9L1e8Ph03NH+1g6JhrNy
         H7U6EOrs8Xqy8GkvMpI7WMK+WvO1ZItJ6KdqL+lX6zSM9aCdxXLf7csqRazsjCNP2wZ+
         NG0ogmpzePBHqWax04GS81jJ2MX9zyovfY2XZm2TX/fMF+cPAL/baWBs3XX42u5PUHCn
         aNiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=s+iTuRzGaeX4GHA2/HfjeY/Hy3VmrUCqbJUQwr3T4U0=;
        b=OUhrP9hs2NKsiVpQXxhxDsdSy+s69clUJRBivcO0yzqX7M71XnwpbP0dBRaBlRBMZz
         NfGilfb8qxOgpLX8veEYSMbPC97DXRo+QnFhj39bzHlOXVtHrus9tEM+3FlAqCifsLiN
         Wx+78TG6wbQ0sM4GWq1J9lXG6F3NMs0sr3O4MK0zNyjcZtzJXf0WAoKaZ6kHotM9pU6C
         yP8Ydy1aXZju07cFdOf1IZQwhgpujReCkqpZCvpStndGUInLkddEgi1RcoDu/VdYlmoh
         TBY2kpObHKomCegq6nAFyQLGLOGNd1FMPPkSltKWMdc5xbiEDMgnZHp5pc9I3nvxZM0T
         NAeQ==
X-Gm-Message-State: AFqh2kqBS7yptNucaf+W/Ey97wA8Du1k41leYAy4Jg+fFa4Kk1ullUqi
	ar5StdZdEBWEEkz5trZIqB8=
X-Google-Smtp-Source: AMrXdXtBFC8oT9YKslYV4F2JUKeQfLACVQ0mRh3WJ3PqyhMsLFCEa4C8bwtJuibYbW6NnLW45uleWw==
X-Received: by 2002:a5d:634c:0:b0:242:51cb:45e9 with SMTP id b12-20020a5d634c000000b0024251cb45e9mr6636883wrw.0.1672321491892;
        Thu, 29 Dec 2022 05:44:51 -0800 (PST)
Message-ID: <e0bd480f8dcdc5bf5bb4eb68a0d2c02f476138a8.camel@gmail.com>
Subject: Re: [XEN PATCH v1 2/4] automation: add cross-compiler support for
 the build script
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>, 
	"xen-devel@lists.xenproject.org"
	 <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
	 <gianluca@rivosinc.com>, Doug Goldstein <cardoe@cardoe.com>
Date: Thu, 29 Dec 2022 15:44:50 +0200
In-Reply-To: <661c2a359f5bc409821b16802e596ace90b67abe.camel@gmail.com>
References: <cover.1671789736.git.oleksii.kurochko@gmail.com>
	 <3c926f637c4738bd14db10e8fe8f72a6eae2dfd4.1671789736.git.oleksii.kurochko@gmail.com>
	 <8f8c26d5-934d-0dd1-1d51-b04e134fcf6e@citrix.com>
	 <661c2a359f5bc409821b16802e596ace90b67abe.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.1 (3.46.1-1.fc37) 
MIME-Version: 1.0

On Thu, 2022-12-29 at 10:13 +0200, Oleksii wrote:
> On Wed, 2022-12-28 at 23:24 +0000, Andrew Cooper wrote:
> > On 23/12/2022 11:16 am, Oleksii Kurochko wrote:
> > > diff --git a/automation/scripts/build b/automation/scripts/build
> > > index a593419063..026f480e76 100755
> > > --- a/automation/scripts/build
> > > +++ b/automation/scripts/build
> > > @@ -2,12 +2,12 @@
> > > =C2=A0
> > > =C2=A0test -f /etc/os-release && cat "$_"
> > > =C2=A0
> > > -$CC --version
> > > +${CROSS_COMPILE}${CC} --version
> > > =C2=A0
> > > =C2=A0# Express the compiler version as an integer.=C2=A0 e.g. GCC 4.=
9.2 =3D>
> > > 0x040902
> > > =C2=A0cc-ver()
> > > =C2=A0{
> > > -=C2=A0=C2=A0=C2=A0 $CC -dumpversion | awk -F. '{ printf "0x%02x%02x%=
02x", $1,
> > > $2,
> > > $3 }'
> > > +=C2=A0=C2=A0=C2=A0 ${CROSS_COMPILE}${CC} -dumpversion | awk -F. '{ p=
rintf
> > > "0x%02x%02x%02x", $1, $2, $3 }'
> > > =C2=A0}
> > > =C2=A0
> > > =C2=A0# random config or default config
> > > @@ -66,7 +66,7 @@ if ! type python3 || python3 -c "import sys;
> > > res
> > > =3D sys.version_info < (3, 5); ex
> > > =C2=A0fi
> > > =C2=A0
> > > =C2=A0# SeaBIOS requires GCC 4.6 or later
> > > -if [[ "${CC}" =3D=3D "gcc" && `cc-ver` -lt 0x040600 ]]; then
> > > +if [[ "${CROSS_COMPILE}${CC}" =3D=3D "gcc" && `cc-ver` -lt 0x040600
> > > ]]; then
> >=20
> > This change won't work, because it's no longer a plain "gcc".
> >=20
>=20
> If look at tests on GitLab CI&CD these changes don't break anything.
>=20
> > Also, prepreding CROSS_COMPILE isn't compatible with LLVM
> > toolchains,
> > but that's not something you've made any worse with your change
> > (just
> > more obvious).
> >=20
>=20
> CROSS_COMPILE isn't use with LLVM toolchain. I mean that in case of
> LLVM toolchain CROSS_COMPILE would be equal to empty string plus
> CC=3Dclang or something similar.
>=20
> > We probably want a stanza near the top which sets
> > CC=3D"${CROSS_COMPILE}${CC}" which can be adjusted to support LLVM in
> > due
> > course, and we'll need to detect GCC using --version | grep as its
> > done
> > elsewhere.
> >=20
> > But the other logic wants reworking too so we don't play around
> > with
> > bits of the tools build when we're doing a hypervisor-only build
> > anyway...
> >=20
>=20
> I think that I can get rid of CROSS_COMPILE variable at all and use
> CC=3Driscv64-linux-gnu-gcc direcly for RISC-V 64 targers in build.yaml.
> Would this be a better solution?
>=20
It will not work.
At least that CROSS_COMPILE variable is set in riscv64.dockerfile.
So it will definitely mess the hypervisor build.
> > ~Andrew
>=20
> ~Oleksii
>=20



From xen-devel-bounces@lists.xenproject.org Thu Dec 29 16:55:29 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 16:55:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469725.729140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAwBV-000743-Rp; Thu, 29 Dec 2022 16:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469725.729140; Thu, 29 Dec 2022 16:55:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAwBV-00073w-Ov; Thu, 29 Dec 2022 16:55:13 +0000
Received: by outflank-mailman (input) for mailman id 469725;
 Thu, 29 Dec 2022 16:55:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAwBU-00073m-Bg; Thu, 29 Dec 2022 16:55:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAwBU-0004nB-8O; Thu, 29 Dec 2022 16:55:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAwBT-0006Tv-TY; Thu, 29 Dec 2022 16:55:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAwBT-0006oQ-TB; Thu, 29 Dec 2022 16:55:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=lyXhfPnK01s41DI5tLBhR41CFKwtadaDyB+MF5mAhUc=; b=DRQmyUU+Ig34EMVrLpDaFNlh6B
	egSyZC1wgleuEahnyyWKLW1xGB71gOxsb24aYUc0jwKU39vKBR1She2d4R1Lyr3kS4HmtyU1SFZnr
	pElddHbHJzBO1R2DicfZhOHSAkRqEvoCiLGVcuL1hbyPN9Z78TIAmYg+zbobDouvlelg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175520-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175520: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-arndale:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7eef80e06ed2282bbcec3619d860c6aacb0515d8
X-Osstest-Versions-That:
    xen=7eef80e06ed2282bbcec3619d860c6aacb0515d8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 29 Dec 2022 16:55:11 +0000

flight 175520 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175520/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail pass in 175517
 test-armhf-armhf-xl-arndale   8 xen-boot                   fail pass in 175517
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 175517
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install    fail pass in 175517

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop fail in 175517 blocked in 175520
 test-armhf-armhf-xl-arndale 15 migrate-support-check fail in 175517 never pass
 test-armhf-armhf-xl-arndale 16 saverestore-support-check fail in 175517 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175517
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175517
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175517
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175517
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175517
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175517
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175517
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175517
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175517
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175517
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175517
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  7eef80e06ed2282bbcec3619d860c6aacb0515d8
baseline version:
 xen                  7eef80e06ed2282bbcec3619d860c6aacb0515d8

Last test of basis   175520  2022-12-29 07:32:58 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Thu Dec 29 19:01:37 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 19:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469738.729152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAy9c-0003fZ-4T; Thu, 29 Dec 2022 19:01:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469738.729152; Thu, 29 Dec 2022 19:01:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pAy9c-0003fS-1c; Thu, 29 Dec 2022 19:01:24 +0000
Received: by outflank-mailman (input) for mailman id 469738;
 Thu, 29 Dec 2022 19:01:22 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAy9a-0003ez-53; Thu, 29 Dec 2022 19:01:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAy9Z-0007YE-Th; Thu, 29 Dec 2022 19:01:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pAy9Z-0001kd-D7; Thu, 29 Dec 2022 19:01:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pAy9Z-0001ba-Ce; Thu, 29 Dec 2022 19:01:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=alyVU5sO4uzV0ZHsFBr/AJmW/RbTk66DDUPccS/EB8Y=; b=stM7gdNLVY+89+A/ZrrMipIC+L
	FlzcWjyGYkjS+fLgZNd+gIqQYV24+lvh5O3LM0ptt9f3s05M8pcU1DDXow4xfCtYGV2I/hKcyuYd1
	vYWcjM15jlKuXDkZIhQBj+W5ESl9Ybh/hiZFqrDx+BLynwYpOrNQbhOyG6MhHgoWZpDc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175521-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175521: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1b929c02afd37871d5afb9d498426f83432e71c2
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 29 Dec 2022 19:01:21 +0000

flight 175521 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175521/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                1b929c02afd37871d5afb9d498426f83432e71c2
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   83 days
Failing since        173470  2022-10-08 06:21:34 Z   82 days  168 attempts
Testing same since   175496  2022-12-26 02:42:28 Z    3 days   10 attempts

------------------------------------------------------------
3244 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 494152 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Dec 29 21:03:19 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 29 Dec 2022 21:03:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469747.729163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB03N-0007C3-NK; Thu, 29 Dec 2022 21:03:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469747.729163; Thu, 29 Dec 2022 21:03:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB03N-0007Bw-Jq; Thu, 29 Dec 2022 21:03:05 +0000
Received: by outflank-mailman (input) for mailman id 469747;
 Thu, 29 Dec 2022 21:03:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pB03L-0007Bm-Vq; Thu, 29 Dec 2022 21:03:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pB03L-0001ye-RD; Thu, 29 Dec 2022 21:03:03 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pB03L-0005Cb-Al; Thu, 29 Dec 2022 21:03:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pB03L-0008NR-AF; Thu, 29 Dec 2022 21:03:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ddmMY+QIvg6LgqpycOq9h/bcilEBgazE6ModFrORihs=; b=hJdrZl+jLKgGC1jXHzggRH+cGK
	LqecGF8q1edVfDxFwPPqh8Pb4tDHe9sJ1drwaTo/p1D4VCujK4P34eobeax/zLsh3l8vypitiRG3Y
	lHlYAfvzHUN6qf6rkmOBa2EXGNdzCpr/fOyzad3r7o7+RUe3nH/evYp61/CTSH5TJGVc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175522-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175522: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:build-arm64-pvops:kernel-build:fail:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 29 Dec 2022 21:03:03 +0000

flight 175522 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175522/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 build-arm64-pvops             6 kernel-build   fail in 175515 REGR. vs. 175197

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175522
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175522
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175522
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175522
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 175515 pass in 175522
 test-armhf-armhf-libvirt-raw 13 guest-start      fail in 175515 pass in 175522
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 175515 pass in 175522
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175519 pass in 175522
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 175519 pass in 175522
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-armhf-armhf-xl-vhd      13 guest-start                fail pass in 175515
 test-armhf-armhf-xl-credit2  14 guest-start                fail pass in 175519

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl           1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 175515 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 175515 n/a
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 175407 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 175407 never pass
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 175515 like 175197
 test-armhf-armhf-xl-credit2 18 guest-start/debian.repeat fail in 175519 like 175197
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 175519 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 175519 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   15 days
Testing same since   175407  2022-12-19 11:42:26 Z   10 days   23 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 30 00:39:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 00:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469766.729201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QM-0003L0-ME; Fri, 30 Dec 2022 00:39:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469766.729201; Fri, 30 Dec 2022 00:39:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QM-0003Jf-CH; Fri, 30 Dec 2022 00:39:02 +0000
Received: by outflank-mailman (input) for mailman id 469766;
 Fri, 30 Dec 2022 00:39:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3dJX=44=citrix.com=prvs=35664f79d=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pB3QL-0002si-AQ
 for xen-devel@lists.xenproject.org; Fri, 30 Dec 2022 00:39:01 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5876866a-87da-11ed-91b6-6bf2151ebd3b;
 Fri, 30 Dec 2022 01:38:57 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5876866a-87da-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672360737;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=3uvwBZDagvMzDqVYqDkSVs+tyCn4o/+n0Up/1fWJMJA=;
  b=RJ3IvMhoOmGh9XVXK50pNezjxw34z9Od4E3VRtlsBIOlBHEE8/qV2ajL
   Gt5gSsvxKR28g80xlyie807NdVpvjO4sqwQHPrW7WsNnVGHWzRwW7yYyx
   1jNqqF6JFoakmAG91+Cd5fpHXsiKuh0aKuI1EEE5d8ciR10Z3tAqfp/7E
   o=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 90529779
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:0jPNZ6/m/rYZNxCqjT4jDrUDTX6TJUtcMsCJ2f8bNWPcYEJGY0x3z
 DYYDGnTOamMNmv9eIt0Oom/phgBvJLUnNFmHgNu+Cs8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6oa5AS2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkkS/
 /gBDT1cXyuhhuGM3beeZLh015sseZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGM0Yn1lQ/UfrSmM+BgHXlfiIeg1WSvactuEDYzRBr0airO93QEjCPbZQNwxzJ+
 T2Xl4j/Khs6O+KR6iSCznmDpf7Bhz72ca0bSoTto5aGh3XMnzdOWXX6T2CTpPiyike6HdVFO
 UEQ0iMroe4580nDZt75Uh6joX/CvQMGXNFQEOoS5wSEy66S6AGcbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8hTi7IyQSIEcJbDUISgZD6N7myKkolQ7GRNtnFK+zj/X2FCv2z
 jTMqzIx74j/luZSif/9pwqexWvx+N6ZFWbZ+zk7QEr55AdgQYP0VreK6Fvh8PNlAteBHwaO6
 S1sd9el0MgCCpSElSqoSeoLHa206/vtDAAwkWKDDLF6qW3zpifLkZR4pWgneRw3appslSrBO
 he7hO9H2HNE0JJGh4dTapn5NcklxLOI+T/NBqGNNYomjnScmWa6EMBSiay4hTuFfKsEy/tX1
 XKnnSGEUx4n5VxPlmbeegvk+eZDKtoC7W3SX4vn6B+szKCTYnWYIZ9cbgTUNbtpvP3V+lSOm
 zq6Cydt40wFONASnwGNqdJDRbz0BSNT6W/KRzx/KbfYf1sO9JAJAP7N27IxE7FYc1Buvr6Qp
 BmVAxYIoGcTcFWbcW1mnFg/MuKwNXu+xFpnVRER0aGAgSl+PNj+tPdEH3b1FJF+nNFeITdPZ
 6FtU6297j5nE1wrJxx1gUHBkbFf
IronPort-HdrOrdr: A9a23:TZcQsqpl7CA6urnqftXFdEIaV5oleYIsimQD101hICG9E/b1qy
 nKpp8mPHDP5wr5NEtPpTnjAsm9qALnlKKdiLN5Vd3OYOCMghrKEGgN1/qG/xTQXwH46+5Bxe
 NBXsFFebnN5IFB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.96,285,1665460800"; 
   d="scan'208";a="90529779"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Doug Goldstein
	<cardoe@cardoe.com>, Stefano Stabellini <sstabellini@kernel.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 3/6] CI: Only calculate ./configure args if needed
Date: Fri, 30 Dec 2022 00:38:45 +0000
Message-ID: <20221230003848.3241-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20221230003848.3241-1-andrew.cooper3@citrix.com>
References: <20221230003848.3241-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

This is purely code motion of the cfgargs construction, into the case where it
is used.

No practical change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/scripts/build | 63 ++++++++++++++++++++++++------------------------
 1 file changed, 31 insertions(+), 32 deletions(-)

diff --git a/automation/scripts/build b/automation/scripts/build
index 8dee1cbbc251..f2301d08789d 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -39,37 +39,6 @@ if [[ "${XEN_TARGET_ARCH}" = "arm32" ]]; then
     hypervisor_only="y"
 fi
 
-# build up our configure options
-cfgargs=()
-cfgargs+=("--enable-docs")
-
-if [[ "${CC}" == "clang"* ]]; then
-    # SeaBIOS cannot be built with clang
-    cfgargs+=("--with-system-seabios=/usr/share/seabios/bios.bin")
-    # iPXE cannot be built with clang
-    cfgargs+=("--with-system-ipxe=/usr/lib/ipxe/ipxe.pxe")
-    # newlib cannot be built with clang so we cannot build stubdoms
-    cfgargs+=("--disable-stubdom")
-fi
-
-if ! test -z "$(ldd /bin/ls|grep musl|head -1)"; then
-    # disable --disable-werror for QEMUU when building with MUSL
-    cfgargs+=("--with-extra-qemuu-configure-args=\"--disable-werror\"")
-    # SeaBIOS doesn't build on MUSL systems
-    cfgargs+=("--with-system-seabios=/bin/false")
-fi
-
-# Qemu requires Python 3.5 or later, and ninja
-if ! type python3 || python3 -c "import sys; res = sys.version_info < (3, 5); exit(not(res))" \
-        || ! type ninja; then
-    cfgargs+=("--with-system-qemu=/bin/false")
-fi
-
-# SeaBIOS requires GCC 4.6 or later
-if [[ "${CC}" == "gcc" && `cc-ver` -lt 0x040600 ]]; then
-    cfgargs+=("--with-system-seabios=/bin/false")
-fi
-
 # Directory for the artefacts to be dumped into
 mkdir binaries
 
@@ -80,7 +49,37 @@ if [[ "${hypervisor_only}" == "y" ]]; then
     # Preserve artefacts
     cp xen/xen binaries/xen
 else
-    # Full build
+    # Full build.  Figure out our ./configure options
+    cfgargs=()
+    cfgargs+=("--enable-docs")
+
+    if [[ "${CC}" == "clang"* ]]; then
+        # SeaBIOS cannot be built with clang
+        cfgargs+=("--with-system-seabios=/usr/share/seabios/bios.bin")
+        # iPXE cannot be built with clang
+        cfgargs+=("--with-system-ipxe=/usr/lib/ipxe/ipxe.pxe")
+        # newlib cannot be built with clang so we cannot build stubdoms
+        cfgargs+=("--disable-stubdom")
+    fi
+
+    if  ! test -z "$(ldd /bin/ls|grep musl|head -1)"; then
+        # disable --disable-werror for QEMUU when building with MUSL
+        cfgargs+=("--with-extra-qemuu-configure-args=\"--disable-werror\"")
+        # SeaBIOS doesn't build on MUSL systems
+        cfgargs+=("--with-system-seabios=/bin/false")
+    fi
+
+    # Qemu requires Python 3.5 or later, and ninja
+    if ! type python3 || python3 -c "import sys; res = sys.version_info < (3, 5); exit(not(res))" \
+            || ! type ninja; then
+        cfgargs+=("--with-system-qemu=/bin/false")
+    fi
+
+    # SeaBIOS requires GCC 4.6 or later
+    if [[ "${CC}" == "gcc" && `cc-ver` -lt 0x040600 ]]; then
+        cfgargs+=("--with-system-seabios=/bin/false")
+    fi
+
     ./configure "${cfgargs[@]}"
     make -j$(nproc) dist
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 30 00:39:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 00:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469762.729174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QL-0002tD-44; Fri, 30 Dec 2022 00:39:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469762.729174; Fri, 30 Dec 2022 00:39:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QL-0002t6-00; Fri, 30 Dec 2022 00:39:01 +0000
Received: by outflank-mailman (input) for mailman id 469762;
 Fri, 30 Dec 2022 00:38:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3dJX=44=citrix.com=prvs=35664f79d=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pB3QJ-0002si-Rc
 for xen-devel@lists.xenproject.org; Fri, 30 Dec 2022 00:38:59 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 562ad4f8-87da-11ed-91b6-6bf2151ebd3b;
 Fri, 30 Dec 2022 01:38:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 562ad4f8-87da-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672360736;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=pkxRRRetPio8a77CxP8/YrVtKJVztJ6HmHdZ5d/IS/Q=;
  b=FtfToC06rLDoJ07FxqMsLU0QfVX3r73hzqnU8HT8iML04Zy3BhfyGog6
   O8MsoEgtG63lDfflAvC7RaL8T+UZOGXbvvTGvS2v616mZAS7XzXIbJjzV
   sjPs4bcuA3PUXyBoJKyCwL4u0pRNcnKhxZl6kD2wujwdHfB8j9eGxin0A
   U=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 90529778
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:ewpw8q7/6mMJ3CvY8I1j4gxRtPXHchMFZxGqfqrLsTDasY5as4F+v
 jEbCj+BPfbeZWT3f9AjbYTg8B8BsJ+Bn99lQQRu/C0wHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoR7QeF/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5mq
 fYcMRUAPyG4peO1+q++b8c9npV8I5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJU0UUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0ExhvC9
 z2ZrwwVBDkZFPqVlX3a/Eie2LfynBvEeYQzGpmRo6sCbFq7mTVIVUx+uUGAify4gU63X5RYM
 V4Z/gInqKR0/0uuJvH6WxC7u3+F+B0BQd1bE+49wA6Iw6vQpQ2eAwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxRu5MDIZKmIqbiYeQQwIpdLkpekblQnTR9xuFKq0iNzdGjzqx
 T2O6i8kiN0uYdUjjvvhuwqd2nT1+8aPHlVdChjrsnyNsgl9fauoNr2Ty1nY1+tFCajIVgjes
 y1R8ySB19wmAZaInS2LZewCGrC1+vqIWAHhbU5T84oJrGr0pSP6FWxEyHQnfRoybJ5YEdP8S
 BWL0T698qO/K5dDgUVfR4uqQ/onwqH7fTgOfqCFN4EeCnSdmeLuwc2PWaJy9zq2+KTPuftlU
 Xt+TSpLJShyNEif5GDqL9rxKJdyrszE+UvdRIrg0zOs2qeEaXieRN8taQXRNLtivPPa8V+Eq
 L6z0vdmLD0GCoXDjtT/q9ZPfTjm01BgbXwJlyCnXrHaeVc3cI3QI/TQ3akga+RYokihrc+Rp
 ivVchYBmDLCaYjvdV3ihoZLNOm+Av6SbBsTYUQRALpf8yJyPNvxvf9PLPPav9APrYRe8BK9d
 NFdE+3oPxiFYm2vF+g1BXUlkLFfSQ==
IronPort-HdrOrdr: A9a23:OJjypK6DBsyy4wSKKAPXwMbXdLJyesId70hD6qkRc3Bom6mj/P
 xG88516faZslgssRMb+exoSZPgfZq0z/cci+Qs1NyZLWrbUQWTXeRfxLqn7zr8GzDvss5xvJ
 0QF5SW0eeAb2RHsQ==
X-IronPort-AV: E=Sophos;i="5.96,285,1665460800"; 
   d="scan'208";a="90529778"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Doug Goldstein
	<cardoe@cardoe.com>, Stefano Stabellini <sstabellini@kernel.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 0/6] CI: Fixes/cleanup in preparation for RISCV
Date: Fri, 30 Dec 2022 00:38:42 +0000
Message-ID: <20221230003848.3241-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain

This series is intended to avoid the need for any editing of
automation/scripts/build in the main RISCV series.

https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/734584203
https://gitlab.com/xen-project/people/andyhhp/xen/-/commits/auto-build

The two Ubuntu Bionic failures are known and preexisting.

Andrew Cooper (6):
  CI: Drop automation/configs/
  CI: Remove guesswork about which artefacts to preserve
  CI: Only calculate ./configure args if needed
  CI: Express HYPERVISOR_ONLY in build.yml
  CI: Fix build script when CROSS_COMPILE is in use
  CI: Simplify the MUSL check

 automation/configs/x86/hvm_only_config  |   3 -
 automation/configs/x86/no_hvm_pv_config |   3 -
 automation/configs/x86/pv_only_config   |   3 -
 automation/gitlab-ci/build.yaml         |   2 +
 automation/scripts/build                | 127 ++++++++++++++------------------
 5 files changed, 59 insertions(+), 79 deletions(-)
 delete mode 100644 automation/configs/x86/hvm_only_config
 delete mode 100644 automation/configs/x86/no_hvm_pv_config
 delete mode 100644 automation/configs/x86/pv_only_config

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 30 00:39:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 00:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469764.729184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QL-00030h-NA; Fri, 30 Dec 2022 00:39:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469764.729184; Fri, 30 Dec 2022 00:39:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QL-0002z3-H2; Fri, 30 Dec 2022 00:39:01 +0000
Received: by outflank-mailman (input) for mailman id 469764;
 Fri, 30 Dec 2022 00:39:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3dJX=44=citrix.com=prvs=35664f79d=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pB3QK-0002sj-7N
 for xen-devel@lists.xenproject.org; Fri, 30 Dec 2022 00:39:00 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 56aa338d-87da-11ed-8fd4-01056ac49cbb;
 Fri, 30 Dec 2022 01:38:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56aa338d-87da-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672360736;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=/JrA1G1Iz+UOsLcqQHfI+gI6VWbapffSwB8uk3ns4wY=;
  b=IfaRiEz9dF/5dtTtpHtLlQR/mrDf4oT3dXXpFMDhdd1JpEdr8zritt5Z
   KWQpts5e2jCnZgjiA4cYrd5yktRvaadhV2cf/OAGejG/K884qVJ/LFwEZ
   b2GccBCeILUnqaIpghiNFHXuLj4e7uBQhfOksKu7qZWoddXonRxTbEdPU
   8=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 89488867
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:btm2CK+fsJfu4HD5LxeiDrUDTX6TJUtcMsCJ2f8bNWPcYEJGY0x3n
 TZJWGvVPfrZNmr1KtpzPdvi9EgHuJaAmtFjTldv/Cs8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKucYHsZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kIx1BjOkGlA5AZnP6oa5AS2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklu2
 PI7IR1WaCucvPzqxZiZFuJLmcMseZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGM0Yn1lQ/UfrSmM+BgHXlfiIeg1WSvactuEDYzRBr0airO93QEjCPbZUEwhbI9
 jyZl4j/KggWaeSj7wvYyW6ThOLsniamVt0yPbLto5aGh3XMnzdOWXX6T2CTpPiyike6HdVFO
 UEQ0iMroe4580nDZt75Uh6joX/CvQMGXNFQEOoS5wSEy66S6AGcbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8hTi7IyQSIEcJbDUISgZD6N7myKkolQ7GRNtnFK+zj/X2FCv2z
 jTMqzIx74j/luZSif/9pwqexWvx+N6ZFWbZ+zk7QEqFww1abaP+Ybe30kaH6NxicI2+UV6O6
 S1sd9el0MgCCpSElSqoSeoLHa206/vtDAAwkWKDDLF6qW3zpifLkZR4pWgneRw3appslSrBO
 he7hO9H2HNE0JJGh4dTapn5NcklxLOI+T/NBqGNNYomjnScmWa6EMBSiay4hTuFfKsEy/tX1
 XKnnSGEUx4n5VxPlmbeegvk+eZDKtoC7W3SX4vn6B+szKCTYnWYIZ9cbgTUNbtpvP3V+lSOm
 zq6Cydt40wFONASnwGNqdJDRbz0BSNT6W/KRzx/KbfYf1sO9JAJAP7N27IxE7FYc1Buvr6Qp
 BmVAxYIoGcTcFWbcW1mnFg/MuKwNXu+xFpnVRER0aGAgSl+PNj+tPdEH3b1FJF+nNFeITdPZ
 6FtU6297j5nE1wrJxx1gUHBkbFf
IronPort-HdrOrdr: A9a23:B7UAIqs8whK6NebbrNsU00Y+7skDZ9V00zEX/kB9WHVpm62j+v
 xG+c5xvyMc5wxhO03I5urwWpVoLUmzyXcX2+Us1NWZPDUO0VHARL2KhrGM/9SPIUzDH+dmpM
 JdT5Q=
X-IronPort-AV: E=Sophos;i="5.96,285,1665460800"; 
   d="scan'208";a="89488867"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Doug Goldstein
	<cardoe@cardoe.com>, Stefano Stabellini <sstabellini@kernel.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 4/6] CI: Express HYPERVISOR_ONLY in build.yml
Date: Fri, 30 Dec 2022 00:38:46 +0000
Message-ID: <20221230003848.3241-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20221230003848.3241-1-andrew.cooper3@citrix.com>
References: <20221230003848.3241-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

Whether to build only Xen, or everything, is a property of container,
toolchain and/or testcase.  It is not a property of XEN_TARGET_ARCH.

Capitalise HYPERVISOR_ONLY and have it set by the debian-unstable-gcc-arm32-*
testcases at the point that arm32 get matched with a container that can only
build Xen.

For simplicity, retain the RANDCONFIG -> HYPERVISOR_ONLY implication.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/gitlab-ci/build.yaml |  2 ++
 automation/scripts/build        | 11 ++++-------
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 93d9ff69a9f2..e6a9357de3ef 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -516,11 +516,13 @@ debian-unstable-gcc-arm32:
   extends: .gcc-arm32-cross-build
   variables:
     CONTAINER: debian:unstable-arm32-gcc
+    HYPERVISOR_ONLY: y
 
 debian-unstable-gcc-arm32-debug:
   extends: .gcc-arm32-cross-build-debug
   variables:
     CONTAINER: debian:unstable-arm32-gcc
+    HYPERVISOR_ONLY: y
 
 debian-unstable-gcc-arm32-randconfig:
   extends: .gcc-arm32-cross-build
diff --git a/automation/scripts/build b/automation/scripts/build
index f2301d08789d..4c6d1f3b70bc 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -19,7 +19,9 @@ if [[ "${RANDCONFIG}" == "y" ]]; then
     fi
 
     make -j$(nproc) -C xen KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
-    hypervisor_only="y"
+
+    # RANDCONFIG implies HYPERVISOR_ONLY
+    HYPERVISOR_ONLY="y"
 else
     echo "CONFIG_DEBUG=${debug}" > xen/.config
 
@@ -34,15 +36,10 @@ fi
 # to exit early -- bash is invoked with -e.
 cp xen/.config xen-config
 
-# arm32 only cross-compiles the hypervisor
-if [[ "${XEN_TARGET_ARCH}" = "arm32" ]]; then
-    hypervisor_only="y"
-fi
-
 # Directory for the artefacts to be dumped into
 mkdir binaries
 
-if [[ "${hypervisor_only}" == "y" ]]; then
+if [[ "${HYPERVISOR_ONLY}" == "y" ]]; then
     # Xen-only build
     make -j$(nproc) xen
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 30 00:39:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 00:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469767.729225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QO-0003wo-5V; Fri, 30 Dec 2022 00:39:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469767.729225; Fri, 30 Dec 2022 00:39:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QN-0003vp-UZ; Fri, 30 Dec 2022 00:39:03 +0000
Received: by outflank-mailman (input) for mailman id 469767;
 Fri, 30 Dec 2022 00:39:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3dJX=44=citrix.com=prvs=35664f79d=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pB3QM-0002si-Aa
 for xen-devel@lists.xenproject.org; Fri, 30 Dec 2022 00:39:02 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5928b429-87da-11ed-91b6-6bf2151ebd3b;
 Fri, 30 Dec 2022 01:38:59 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5928b429-87da-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672360738;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=6ChiBmSNHgKbogktQk+KonGj57CWHhflhgZJDwsSg2o=;
  b=fDWV09SJAXQmiUEfbcxAoWGKkLduDFgHLo3OfknqyW2bm8+AX2/7pT+x
   EdFerQhxwLAMsqoxdpsdoalgzKmNttXD4SyK38Mg3ymyH+hGtkfxYVahE
   p2JfkeiopOsAL8CwNskz8UJ6kQlPf64jaAYI+9mik3Y8zYTFCUpgj7r0n
   M=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 90529782
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:uMcI2K5QRpgW4/pm6gvCBgxRtPXHchMFZxGqfqrLsTDasY5as4F+v
 mIcUGyDPf6KMWGgLtxza9i09RlT6sfTyN5nSANoqy4xHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoR7QeF/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m/
 9YcCT8TXkG6jeuG/5Tqe65SgsICM5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJU0UUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0ExhvC9
 z2WpQwVBDk3H4CZk2ClqU6MuevkpynjUosMSOKRo6sCbFq7mTVIVUx+uUGAify4gU63X5RYM
 V4Z/gInqKR0/0uuJvH6WxC7u3+F+B0BQd1bE+49wA6Iw6vQpQ2eAwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxRu5MDIZKmIqbiYeQQwIpdLkpekblQnTR9xuFKq0iNzdGjzqx
 T2O6i8kiN0uYdUjjvvhuwqd2nT1+8aPHlVdChjrsnyN5Cl9RYG7V92R41Hr0tARHcGnSl+go
 y1R8ySB19wmAZaInS2LZewCGrC1+vqIWAHhbU5T84oJrGr0pSP6FWxEyHQnfRoybJ5YEdP8S
 BWL0T698qO/K5dDgUVfR4uqQ/onwqH7fTgOfqCFN4EeCnSdmeLuwc2PWaJy9zq2+KTPuftlU
 Xt+TSpLJShyNEif5GDqL9rxKJdyrszE+UvdRIrg0zOs2qeEaXieRN8taQXRNLtivPPa8V+Eq
 L6z0vdmLD0GCoXDjtT/q9ZPfTjm01BgbXwJlyCnXrHaeVc3cI3QI/TQ3akga+RYokihrc+Rp
 ivVchYBmDLCaYjvdV3ihoZLNOm+Av6SbBsTYUQRALpf8yJyPNvxvf9PLPPav9APrYRe8BK9d
 NFdE+3oPxiFYm+vF+g1BXUlkLFfSQ==
IronPort-HdrOrdr: A9a23:AH0k6KElWSnR5vf7pLqE5seALOsnbusQ8zAXPiFKJSC9F/byqy
 nAppsmPHPP5gr5OktBpTnwAsi9qBrnnPYejLX5Vo3SPzUO1lHYSb1K3M/PxCDhBj271sM179
 YFT0GmMqyTMWRH
X-IronPort-AV: E=Sophos;i="5.96,285,1665460800"; 
   d="scan'208";a="90529782"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Doug Goldstein
	<cardoe@cardoe.com>, Stefano Stabellini <sstabellini@kernel.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 6/6] CI: Simplify the MUSL check
Date: Fri, 30 Dec 2022 00:38:48 +0000
Message-ID: <20221230003848.3241-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20221230003848.3241-1-andrew.cooper3@citrix.com>
References: <20221230003848.3241-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

There's no need to do ad-hoc string parsing.  Use grep -q instead.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/scripts/build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/automation/scripts/build b/automation/scripts/build
index 206312ecc7d0..f2f5e55bc04f 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -65,7 +65,7 @@ else
         cfgargs+=("--disable-stubdom")
     fi
 
-    if  ! test -z "$(ldd /bin/ls|grep musl|head -1)"; then
+    if ldd /bin/ls | grep -q musl; then
         # disable --disable-werror for QEMUU when building with MUSL
         cfgargs+=("--with-extra-qemuu-configure-args=\"--disable-werror\"")
         # SeaBIOS doesn't build on MUSL systems
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 30 00:39:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 00:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469765.729195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QM-0003C6-Az; Fri, 30 Dec 2022 00:39:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469765.729195; Fri, 30 Dec 2022 00:39:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QL-0003BF-Vk; Fri, 30 Dec 2022 00:39:01 +0000
Received: by outflank-mailman (input) for mailman id 469765;
 Fri, 30 Dec 2022 00:39:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3dJX=44=citrix.com=prvs=35664f79d=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pB3QK-0002si-OW
 for xen-devel@lists.xenproject.org; Fri, 30 Dec 2022 00:39:00 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56e116d6-87da-11ed-91b6-6bf2151ebd3b;
 Fri, 30 Dec 2022 01:38:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56e116d6-87da-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672360736;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=VB66xEr6Tey5l6eg89k3VvaKnsgW9wbDO6YnR8fWeZo=;
  b=TkRbML7LkYEnXGLKnewbTZoONxncHFJIi7zcgmqt8IeLzbKKlNXnJLxA
   wuRGchchwj6rvqmtkFYnLmUh2tbraFFXBme7T+dGSJosLBYk6T7i8MmGx
   bEWJhIY+C8g+cThULjuZ5ZGMtAiC9sikaiNiGqKI1na9BhbnWdtq/HdsP
   0=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 90033202
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:m51u/a357TjtsQUWHfbD5Qdxkn2cJEfYwER7XKvMYLTBsI5bpzYBz
 WpKUGrVbvrcZzP0Ko8lPou19UxTvpbdytBnS1Y9pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK5ULSfUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS9nuDgNyo4GlC5wZkNKgQ1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfH010r
 aYqMy0xbCuRhOH1kb2edfBgv5F2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKkSbC/FMEg5/5JYWteGknHTgNRZfr0qYv/Ef6GnP1g1hlrPqNbI5f/TbHZ0OxRzA/
 Aoq+UzGEDNAH8KyjgHdsUi0muiQ3iPfSLArQejQGvlC3wTImz175ActfV66qvmwjgi5QcBSL
 2Qd/yZopq83nGSsStT+RBy55n2ZpBkXW9lXO+I/4QCJjKHT5m6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnp+fpCm+PiU9JmYYaSgJCwAC5rHLu5ovhxjCStJiFq+djdDvHzz0h
 TeQo0ADa6471JBRkf/hpBae3mzq9sOhohMJChv/QE6ftllLf5OZZbe66luYvPllE5+VdwzU1
 JQboPS24OcLBJCLsSWCRuQRAb2kj8q43C3gbU1HRMd4qWn0k5K3VcUJuWwleh81WioRUWWxC
 HI/rz+983O60JGCSaZsK7y8BM0xpUQLPYS0D6uEBjaij3UYSeNmwM2MTRTLt4wOuBJ2+U3aB
 Xt8WZjEMJriIf47pAdavds1374x3TwZzmjOX539xBnP+ePAOyTOEudVbgrUP7tRAEa4TOL9q
 ow3Cid3408HDL2Wjtf/qub/0mzm3VBkXMur+qS7h8aIIxZ8GXFJNsI9NYgJItQ/94wMz7egw
 51IchMAoHLlm2b9IBmHAlg6LuuHsWBX8ShqYkTB/D+AhxAeXGpYxP1OKsZpLOF3r4SOD5dcF
 pE4RilJOdwXIhyvxtjXRcCVQFBKHPhzuT+zAg==
IronPort-HdrOrdr: A9a23:LEBoLa3k6H1BEqxEg7juOAqjBLwkLtp133Aq2lEZdPU1SKClfq
 WV98jzuiWatN98Yh8dcLK7WJVoMEm8yXcd2+B4V9qftWLdyQiVxe9ZnO7f6gylNyri9vNMkY
 dMGpIObOEY1GIK7/rH3A==
X-IronPort-AV: E=Sophos;i="5.96,285,1665460800"; 
   d="scan'208";a="90033202"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Doug Goldstein
	<cardoe@cardoe.com>, Stefano Stabellini <sstabellini@kernel.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 5/6] CI: Fix build script when CROSS_COMPILE is in use
Date: Fri, 30 Dec 2022 00:38:47 +0000
Message-ID: <20221230003848.3241-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20221230003848.3241-1-andrew.cooper3@citrix.com>
References: <20221230003848.3241-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

Some testcases use a cross compiler.  Presently it's only arm32 and due to
previous cleanup the only thing which is now wrong is printing the compiler
version at the start of day.

Construct $cc to match what `make` will eventually choose given CROSS_COMPILE,
taking care not to modify $CC.  Use $cc throughout the rest of the script.

Also correct the compiler detection logic.  Plain "gcc" was wrong, and
"clang"* was a bodge highlighting the issue, but neither survive the
CROSS_COMPILE correction.  Instead, construct cc_is_{gcc,clang} booleans like
we do elsewhere in the build system, by querying the --version text for gcc or
clang.

While making this change, adjust cc_ver to be calculated once at the same time
as cc_is_* are calculated.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/scripts/build | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/automation/scripts/build b/automation/scripts/build
index 4c6d1f3b70bc..206312ecc7d0 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -2,13 +2,12 @@
 
 test -f /etc/os-release && cat "$_"
 
-$CC --version
+# Construct $cc such that it matches what `make` will chose when taking
+# CROSS_COMPILE into account.  Do not modify $CC directly, as that will cause
+# `make` to double-account CROSS_COMPILE.
+cc="${CROSS_COMPILE}${CC}"
 
-# Express the compiler version as an integer.  e.g. GCC 4.9.2 => 0x040902
-cc-ver()
-{
-    $CC -dumpversion | awk -F. '{ printf "0x%02x%02x%02x", $1, $2, $3 }'
-}
+$cc --version
 
 # random config or default config
 if [[ "${RANDCONFIG}" == "y" ]]; then
@@ -50,7 +49,14 @@ else
     cfgargs=()
     cfgargs+=("--enable-docs")
 
-    if [[ "${CC}" == "clang"* ]]; then
+    # booleans for which compiler is in use
+    cc_is_gcc="$($cc --version | grep -q gcc && echo "y" || :)"
+    cc_is_clang="$($cc --version | grep -q clang && echo "y" || :)"
+
+    # The compiler version as an integer.  e.g. GCC 4.9.2 => 0x040902
+    cc_ver="$($cc -dumpversion | awk -F. '{ printf "0x%02x%02x%02x", $1, $2, $3 }')"
+
+    if [[ "${cc_is_clang}" == "y" ]]; then
         # SeaBIOS cannot be built with clang
         cfgargs+=("--with-system-seabios=/usr/share/seabios/bios.bin")
         # iPXE cannot be built with clang
@@ -73,7 +79,7 @@ else
     fi
 
     # SeaBIOS requires GCC 4.6 or later
-    if [[ "${CC}" == "gcc" && `cc-ver` -lt 0x040600 ]]; then
+    if [[ "${cc_is_gcc}" == "y" && "${cc_ver}" -lt 0x040600 ]]; then
         cfgargs+=("--with-system-seabios=/bin/false")
     fi
 
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 30 00:39:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 00:39:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469763.729179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QL-0002w0-EX; Fri, 30 Dec 2022 00:39:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469763.729179; Fri, 30 Dec 2022 00:39:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QL-0002vU-7e; Fri, 30 Dec 2022 00:39:01 +0000
Received: by outflank-mailman (input) for mailman id 469763;
 Fri, 30 Dec 2022 00:39:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3dJX=44=citrix.com=prvs=35664f79d=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pB3QK-0002si-AO
 for xen-devel@lists.xenproject.org; Fri, 30 Dec 2022 00:39:00 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 562fe20d-87da-11ed-91b6-6bf2151ebd3b;
 Fri, 30 Dec 2022 01:38:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 562fe20d-87da-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672360736;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=UrorcfN+X/i2NxjKMCMKXsJRYNP4k03KIG8MCGJilaU=;
  b=AIeGbsk8P8/h3En9R/Pnub3XET9vTCVxR94tzwOPOkqSgqVRWh9n/VQ7
   26dGWNQ5EwFrBWQWxZr+i1TFKkv5Tl3VABilRkp5mURt5iOjXgRrcZiPS
   in/mCsInOP/UXe1qrpr/q0Kj/fNi4NJ54KwdP7QSpAkPcSnJIa9ymaGJY
   Y=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 90945510
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:6BM59q5Uc0cGsL5qgQETNgxRtPXHchMFZxGqfqrLsTDasY5as4F+v
 mUYUG+OP/+IY2Pxfd4kPYvk9B8E6sSDyNExGQtr/iFjHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraBYnoqLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+4pwehBtC5gZkPKoR7QeF/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m/
 tMFBWkMUSC6o/uU4Kq0ctVLwc8NI5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJU0UUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0ExhfE+
 z+fpwwVBDkaae3HwBnazUuTxejUrBvmYK8tE+KBo6sCbFq7mTVIVUx+uUGAify4gU63X5RYM
 V4Z/gInqKR0/0uuJvH6WxC7u3+F+B0BQd1bE+49wA6Iw6vQpQ2eAwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxRu5MDIZKmIqbiYeQQwIpdLkpekblQnTR9xuFKq0iNzdGjzqx
 T2O6i8kiN0uYdUjjvvhuwqd2nT1+8aPHlVdChjrsnyN5SxkSdekWLyRzUH5ze5PFLq+CVKvs
 y1R8ySB19wmAZaInS2LZewCGrC1+vqIWAHhbU5T84oJrGr0pSP6FWxEyHQnfRoybJ5YEdP8S
 BWL0T698qO/K5dDgUVfR4uqQ/onwqH7fTgOfqCFN4EeCnSdmeLuwc2PWaJy9zq2+KTPuftlU
 Xt+TSpLJShyNEif5GDqL9rxKJdyrszE+UvdRIrg0zOs2qeEaXieRN8taQXRNLtivPPa8V+Eq
 L6z0vdmLD0GCoXDjtT/q9ZPfTjm01BgbXwJlyCnXrHaeVc3cI3QI/TQ3akga+RYokihrc+Rp
 ivVchYBmDLCaYjvdV3ihoZLNOm+Av6SbBsTYUQRALpf8yJyPNvxvf9PLPPav9APrYRe8BK9d
 NFdE+3oPxiFYm6vF+g1BXUlkLFfSQ==
IronPort-HdrOrdr: A9a23:ZR39Nq6jJhsmlfRlbgPXwMbXdLJyesId70hD6qkRc3Bom6mj/P
 xG88516faZslgssRMb+exoSZPgfZq0z/cci+Qs1NyZLWrbUQWTXeRfxLqn7zr8GzDvss5xvJ
 0QF5SW0eeAb2RHsQ==
X-IronPort-AV: E=Sophos;i="5.96,285,1665460800"; 
   d="scan'208";a="90945510"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Doug Goldstein
	<cardoe@cardoe.com>, Stefano Stabellini <sstabellini@kernel.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 2/6] CI: Remove guesswork about which artefacts to preserve
Date: Fri, 30 Dec 2022 00:38:44 +0000
Message-ID: <20221230003848.3241-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20221230003848.3241-1-andrew.cooper3@citrix.com>
References: <20221230003848.3241-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

Preserve the artefacts based on the `make` rune we actually ran, rather than
guesswork about which rune we would have run based on other settings.

Note that the ARM qemu smoke tests depend on finding binaries/xen even from
full builds.  Also that the Jessie-32 containers build tools but not Xen.

This means the x86_32 builds now store relevant artefacts.  No change in other
configurations.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/scripts/build | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/automation/scripts/build b/automation/scripts/build
index 5dafa72ba540..8dee1cbbc251 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -70,18 +70,24 @@ if [[ "${CC}" == "gcc" && `cc-ver` -lt 0x040600 ]]; then
     cfgargs+=("--with-system-seabios=/bin/false")
 fi
 
+# Directory for the artefacts to be dumped into
+mkdir binaries
+
 if [[ "${hypervisor_only}" == "y" ]]; then
+    # Xen-only build
     make -j$(nproc) xen
+
+    # Preserve artefacts
+    cp xen/xen binaries/xen
 else
+    # Full build
     ./configure "${cfgargs[@]}"
     make -j$(nproc) dist
-fi
 
-# Extract artifacts to avoid getting rewritten by customised builds
-mkdir binaries
-if [[ "${XEN_TARGET_ARCH}" != "x86_32" ]]; then
-    cp xen/xen binaries/xen
-    if [[ "${hypervisor_only}" != "y" ]]; then
-        cp -r dist binaries/
-    fi
+    # Preserve artefacts
+    # Note: Some smoke tests depending on finding binaries/xen on a full build
+    # even though dist/ contains everything, while some containers don't even
+    # build Xen
+    cp -r dist binaries/
+    if [[ -f xen/xen ]] ; then cp xen/xen binaries/xen; fi
 fi
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 30 00:39:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 00:39:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469768.729240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QW-0004dO-FR; Fri, 30 Dec 2022 00:39:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469768.729240; Fri, 30 Dec 2022 00:39:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB3QW-0004cy-9Z; Fri, 30 Dec 2022 00:39:12 +0000
Received: by outflank-mailman (input) for mailman id 469768;
 Fri, 30 Dec 2022 00:39:10 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3dJX=44=citrix.com=prvs=35664f79d=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pB3QU-0002si-3V
 for xen-devel@lists.xenproject.org; Fri, 30 Dec 2022 00:39:10 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e4a6674-87da-11ed-91b6-6bf2151ebd3b;
 Fri, 30 Dec 2022 01:39:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e4a6674-87da-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672360748;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=aKBSwtrERlqBbqeZ2HPJFw1NuINA10Vqqd2ET7c3vXU=;
  b=fgvlXL5U14S7BcM5AqAA+dn3U5jK6YqZizM6NCOH8vP7tJfMjJCCoUvw
   /x0k/u5KvczWWfKLERmxyH0adizFXFpfDWNTTDiZJ8nMsb4nfCYnX7FAr
   pXUe0yxBnt9C30jjz4jW9xSSxpZAyGX+/OpSWm8A5Xz3HLXBVL3aSCWHe
   8=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 93013913
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:d2vpd6q3hVBABqR93SnWUaJyJPNeBmLUZRIvgKrLsJaIsI4StFCzt
 garIBmGM/mCamb1eY8kbYW0oU4Pv5fQn4UxTAdu/H8zECwbpZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpAFc+E0/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06W1wUmAWP6gR5gaEzShNV/rzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXADkKahSMvbiq+bD4b9Zxnv4pb/jhHpxK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFHU/rSn8/x7pX7WxRepEiYuuwc5G/LwRYq+LPsLMDUapqBQsA9ckOw9
 zmepj+oW0py2Nq3+wKs/zGMvM/2pCLdW4gPV5Sjq99jqQjGroAUIEJPDgbqyRWjsWa7WtlfI
 khS/TA8oKwa/UmnCNL6WnWQp3qJvQUdWpxTDvc94wGOzYLb5g+YAi4PSTspQMwrsoo6SCIn0
 neNnsj1Hnp/vbuNU3Wf+7yI6zSoNkA9JmYYaSgJZQAM+dXkrcc4iRenZs14DKe/g9nxGDfx6
 zOHti4zg/MUl8Fj6kmg1QmZ2XT2/MGPF1NroFWMNo640u9nTIeiY4in0wLH1PQDCbmEVmOL/
 0kOudfLuYjiEqqxvCCKRewMGpSg6PCELCDQjDZTInUxy9i+0yX9JN4NuVmSMG8sa59ZImGxP
 Cc/rCsLvPdu0G2Wgbibim5bI+Aj1uDeGNvsTZg4hfIeM8EqJGdrEMyDDHN8PlwBcmB2ysnT2
 r/BK65A6Er27ow5pAdav89HjdcWKtkWnAs/v6zTwRW9yqa5b3WIU7oDO1bmRrlns/nf+1WFr
 YcFZpDiJ/BjvArWO3O/zGLuBQpScShT6W7e8KS7idJv0iI5QTp8Wpc9MJsqepB/nrQ9q9okC
 kqVAxcCoHKm3C2vFOl/Qiw7AF8Zdcol/C1T0O1FFQrA5kXPlq71vfpCKcpvLeJPGS4K5accc
 sTpsv6oWpxnIgkrMRxEMPERcKQKmMyXuD+z
IronPort-HdrOrdr: A9a23:zATn666erD3MrE5NVgPXwMrXdLJyesId70hD6qhwISY6TiX4rb
 HWoB1173/JYVoqNE3I3OrwXZVoIkmsk6Kdg7NhXotKNTOO0ADDQb2Kr7GSpwEIcxeOkdK1vp
 0AT0ERMrLN5CBB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.96,285,1665460800"; 
   d="scan'208";a="93013913"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Doug Goldstein
	<cardoe@cardoe.com>, Stefano Stabellini <sstabellini@kernel.org>, Anthony
 PERARD <anthony.perard@citrix.com>, Michal Orzel <michal.orzel@amd.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH 1/6] CI: Drop automation/configs/
Date: Fri, 30 Dec 2022 00:38:43 +0000
Message-ID: <20221230003848.3241-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20221230003848.3241-1-andrew.cooper3@citrix.com>
References: <20221230003848.3241-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

Having 3 extra hypervisor builds on the end of a full build is deeply
confusing to debug if one of them fails, because the .config file presented in
the artefacts is not the one which caused a build failure.  Also, the log
tends to be truncated in the UI.

PV-only is tested as part of PV-Shim in a full build anyway, so doesn't need
repeating.  HVM-only and neither will come up frequently in randconfig, so
drop all the logic here to simplify things.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Doug Goldstein <cardoe@cardoe.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 automation/configs/x86/hvm_only_config  |  3 ---
 automation/configs/x86/no_hvm_pv_config |  3 ---
 automation/configs/x86/pv_only_config   |  3 ---
 automation/scripts/build                | 21 ---------------------
 4 files changed, 30 deletions(-)
 delete mode 100644 automation/configs/x86/hvm_only_config
 delete mode 100644 automation/configs/x86/no_hvm_pv_config
 delete mode 100644 automation/configs/x86/pv_only_config

diff --git a/automation/configs/x86/hvm_only_config b/automation/configs/x86/hvm_only_config
deleted file mode 100644
index 9efbddd5353b..000000000000
--- a/automation/configs/x86/hvm_only_config
+++ /dev/null
@@ -1,3 +0,0 @@
-CONFIG_HVM=y
-# CONFIG_PV is not set
-# CONFIG_DEBUG is not set
diff --git a/automation/configs/x86/no_hvm_pv_config b/automation/configs/x86/no_hvm_pv_config
deleted file mode 100644
index 0bf6a8e46818..000000000000
--- a/automation/configs/x86/no_hvm_pv_config
+++ /dev/null
@@ -1,3 +0,0 @@
-# CONFIG_HVM is not set
-# CONFIG_PV is not set
-# CONFIG_DEBUG is not set
diff --git a/automation/configs/x86/pv_only_config b/automation/configs/x86/pv_only_config
deleted file mode 100644
index e9d8b4a7c753..000000000000
--- a/automation/configs/x86/pv_only_config
+++ /dev/null
@@ -1,3 +0,0 @@
-CONFIG_PV=y
-# CONFIG_HVM is not set
-# CONFIG_DEBUG is not set
diff --git a/automation/scripts/build b/automation/scripts/build
index a5934190634b..5dafa72ba540 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -85,24 +85,3 @@ if [[ "${XEN_TARGET_ARCH}" != "x86_32" ]]; then
         cp -r dist binaries/
     fi
 fi
-
-if [[ "${hypervisor_only}" == "y" ]]; then
-    # If we are build testing a specific Kconfig exit now, there's no point in
-    # testing all the possible configs.
-    exit 0
-fi
-
-# Build all the configs we care about
-case ${XEN_TARGET_ARCH} in
-    x86_64) arch=x86 ;;
-    *) exit 0 ;;
-esac
-
-cfg_dir="automation/configs/${arch}"
-for cfg in `ls ${cfg_dir}`; do
-    echo "Building $cfg"
-    make -j$(nproc) -C xen clean
-    rm -f xen/.config
-    make -C xen KBUILD_DEFCONFIG=../../../../${cfg_dir}/${cfg} defconfig
-    make -j$(nproc) -C xen
-done
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Fri Dec 30 01:20:48 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 01:20:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469813.729251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB44g-00055L-KW; Fri, 30 Dec 2022 01:20:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469813.729251; Fri, 30 Dec 2022 01:20:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB44g-00055E-Gv; Fri, 30 Dec 2022 01:20:42 +0000
Received: by outflank-mailman (input) for mailman id 469813;
 Fri, 30 Dec 2022 01:20:41 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pB44f-000554-OU; Fri, 30 Dec 2022 01:20:41 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pB44f-0002Cj-Lv; Fri, 30 Dec 2022 01:20:41 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pB44f-000890-3U; Fri, 30 Dec 2022 01:20:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pB44f-000113-2z; Fri, 30 Dec 2022 01:20:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=A2FTvJnqkgGhFIJLOAC8Tqb1u+gyZ0UL9CLCECqRFis=; b=hFpO6m0UYzuR/iYazUN8QNFFmY
	ZNT8zx2E0BafDPide22GHJB3G5HlBiEazNk/eCISkL5H9ggKYPIOarB/iFJ+27hGGQn+TVd8ohWRr
	AQJ6v+SRYHPuH1tpFgkhgWCN7O1BRFZ36ZQfQkskstcleuCozVqjN3VMpmS50qNIFub4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175523-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175523: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:build-arm64:xen-build:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=2258c2dc850b8605cb66b3383e50b9dddd1c6580
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 30 Dec 2022 01:20:41 +0000

flight 175523 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175523/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 build-arm64                   6 xen-build                fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                2258c2dc850b8605cb66b3383e50b9dddd1c6580
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   83 days
Failing since        173470  2022-10-08 06:21:34 Z   82 days  169 attempts
Testing same since   175523  2022-12-29 19:13:31 Z    0 days    1 attempts

------------------------------------------------------------
3246 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  fail    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 495222 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 30 05:15:04 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 05:15:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469831.729262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB7jH-0002nQ-33; Fri, 30 Dec 2022 05:14:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469831.729262; Fri, 30 Dec 2022 05:14:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB7jG-0002nD-T9; Fri, 30 Dec 2022 05:14:50 +0000
Received: by outflank-mailman (input) for mailman id 469831;
 Fri, 30 Dec 2022 05:14:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pB7jG-0002n1-50; Fri, 30 Dec 2022 05:14:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pB7jG-0008KM-0G; Fri, 30 Dec 2022 05:14:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pB7jF-0007NF-Az; Fri, 30 Dec 2022 05:14:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pB7jF-0007av-9m; Fri, 30 Dec 2022 05:14:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4OqrWvPmBhRyYMzyxEfFHGXYMfI91+rMD5Wao0t7cbk=; b=WyEwmVtWazYn2kE+mcP6k5QKi1
	SBO0HvstauI2c2DP0Z9afa14Qh3/+X+S+ec+1xtExAHVSSkDXk70L10+X92eGY6Dg21xOIqd7v4Hh
	7VL3WSvbZrH5NXUa9DvNp9SCxTT9B/jK12LROhGsVB5U/Ohnh0vB4vnsUok840azg9X0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175524-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175524: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 30 Dec 2022 05:14:49 +0000

flight 175524 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175524/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175524
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175524
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175524
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175524
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175407 pass in 175524
 test-armhf-armhf-xl-credit2  14 guest-start      fail in 175522 pass in 175524
 test-armhf-armhf-xl-vhd      13 guest-start      fail in 175522 pass in 175524
 test-armhf-armhf-xl-credit1  18 guest-start/debian.repeat  fail pass in 175407
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install          fail pass in 175522
 test-arm64-arm64-xl-vhd      17 guest-start/debian.repeat  fail pass in 175522
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat  fail pass in 175522

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-credit2  19 guest-start.2           fail blocked in 175197
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   15 days
Testing same since   175407  2022-12-19 11:42:26 Z   10 days   24 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 30 07:12:24 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 07:12:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469848.729273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB9Yn-0006By-JU; Fri, 30 Dec 2022 07:12:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469848.729273; Fri, 30 Dec 2022 07:12:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pB9Yn-0006Br-Gd; Fri, 30 Dec 2022 07:12:09 +0000
Received: by outflank-mailman (input) for mailman id 469848;
 Fri, 30 Dec 2022 07:12:08 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pB9Ym-0006Bh-DS; Fri, 30 Dec 2022 07:12:08 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pB9Ym-0002ds-As; Fri, 30 Dec 2022 07:12:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pB9Ym-0005rZ-1n; Fri, 30 Dec 2022 07:12:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pB9Ym-0005Lz-1K; Fri, 30 Dec 2022 07:12:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mxxCk7G9QjOs+B4zMjOXN3WFG7W/R8BXrVRRuY5ru8Q=; b=bGbndCJoligEoq2F4UafUud0wi
	tsoaST41hFEbQXfa4snwIuE6/NJQxyyGpOZUiy6t21Rbt/Xk4uwdun+FlVSlDWiimJmyG7gSTDSdk
	hLcr56j5kwVsxcpCXcIE0VGJQNKs9KJl7LMk9QzQlcjGg5BY7wLwspzqst8coRJWm+6Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175527-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175527: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=c5d68ef6e7553ab2894f541eba4e982428ecbd53
X-Osstest-Versions-That:
    ovmf=a086f4a63bc0295b0b02f8ee76381c6b437122bf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 30 Dec 2022 07:12:08 +0000

flight 175527 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175527/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 c5d68ef6e7553ab2894f541eba4e982428ecbd53
baseline version:
 ovmf                 a086f4a63bc0295b0b02f8ee76381c6b437122bf

Last test of basis   175467  2022-12-23 15:12:13 Z    6 days
Testing same since   175527  2022-12-30 03:42:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Pedro Falcato <pedro.falcato@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   a086f4a63b..c5d68ef6e7  c5d68ef6e7553ab2894f541eba4e982428ecbd53 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Dec 30 09:20:03 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 09:20:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469860.729284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBBYH-0001is-3R; Fri, 30 Dec 2022 09:19:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469860.729284; Fri, 30 Dec 2022 09:19:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBBYG-0001il-Uq; Fri, 30 Dec 2022 09:19:44 +0000
Received: by outflank-mailman (input) for mailman id 469860;
 Fri, 30 Dec 2022 09:19:43 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBBYF-0001ib-Kj; Fri, 30 Dec 2022 09:19:43 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBBYF-0006BQ-Gw; Fri, 30 Dec 2022 09:19:43 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBBYE-00059t-Ul; Fri, 30 Dec 2022 09:19:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pBBYE-0008Fz-UM; Fri, 30 Dec 2022 09:19:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1x5/SuXjuwLfa7gRXfxA0xWRncBApkPUUOpq8sJ/ey4=; b=fn96nKqyKTbEpEoOgg4Yd1s8Am
	4re9TeSAXUg9/s8opclhX4hKjIAjS0UJtc9nPi84p2z0Ccge0/dz62vaZ1g0oGTDmwZv5yBaYUIxD
	uWyU49SD9Hbj4AEGBlgX8TLcetWaWVmzD+1H4eSeJzjWaidDwPDULUciU/BFMQ1ixhTw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175525-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175525: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=bff687b3dad6e0e56b27f4d3ed8a9695f35c7b1a
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 30 Dec 2022 09:19:42 +0000

flight 175525 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175525/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                bff687b3dad6e0e56b27f4d3ed8a9695f35c7b1a
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   83 days
Failing since        173470  2022-10-08 06:21:34 Z   83 days  170 attempts
Testing same since   175525  2022-12-30 01:44:19 Z    0 days    1 attempts

------------------------------------------------------------
3248 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 495765 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 30 09:44:14 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 09:44:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469871.729294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBBvs-00050c-1s; Fri, 30 Dec 2022 09:44:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469871.729294; Fri, 30 Dec 2022 09:44:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBBvr-00050V-VP; Fri, 30 Dec 2022 09:44:07 +0000
Received: by outflank-mailman (input) for mailman id 469871;
 Fri, 30 Dec 2022 09:44:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBBvq-00050L-TT; Fri, 30 Dec 2022 09:44:06 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBBvq-0006ck-RC; Fri, 30 Dec 2022 09:44:06 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBBvq-0006s9-Ft; Fri, 30 Dec 2022 09:44:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pBBvq-0005sv-FS; Fri, 30 Dec 2022 09:44:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PNiQZwDxIpWfgE1gd4oftNjl8vXvZSrmcRFqNZU2KJY=; b=pUzXfuhcp2RM65Xlo6vnwtIf7f
	EA56eo1HBuimSArxbGQ282C8N7Xxpbh1GiGg1GbaEF+PK5nhFjplelklE16uTBjcdWxf3ZMQNiKhD
	RdoX1MQYKcP2ybtuxZVA2gcrj4NUxV+zxJnXiqZgKGvTLu3x1EqKgTL98uSPHNgXfXiU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175529-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 175529: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=bbd30066e137c036db140b6e58e6e172e2827eb3
X-Osstest-Versions-That:
    ovmf=c5d68ef6e7553ab2894f541eba4e982428ecbd53
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 30 Dec 2022 09:44:06 +0000

flight 175529 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175529/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 bbd30066e137c036db140b6e58e6e172e2827eb3
baseline version:
 ovmf                 c5d68ef6e7553ab2894f541eba4e982428ecbd53

Last test of basis   175527  2022-12-30 03:42:19 Z    0 days
Testing same since   175529  2022-12-30 07:40:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jake Garver <jake@nvidia.com>
  Jake Garver via groups.io <jake=nvidia.com@groups.io>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   c5d68ef6e7..bbd30066e1  bbd30066e137c036db140b6e58e6e172e2827eb3 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Dec 30 10:04:40 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 10:04:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469880.729306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBCFe-0007TT-Nl; Fri, 30 Dec 2022 10:04:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469880.729306; Fri, 30 Dec 2022 10:04:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBCFe-0007TM-Ky; Fri, 30 Dec 2022 10:04:34 +0000
Received: by outflank-mailman (input) for mailman id 469880;
 Fri, 30 Dec 2022 10:04:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Dm99=44=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pBCFe-0007TG-6q
 for xen-devel@lists.xenproject.org; Fri, 30 Dec 2022 10:04:34 +0000
Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com
 [2a00:1450:4864:20::32f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b7be362-8829-11ed-91b6-6bf2151ebd3b;
 Fri, 30 Dec 2022 11:04:33 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id ja17so14850398wmb.3
 for <xen-devel@lists.xenproject.org>; Fri, 30 Dec 2022 02:04:32 -0800 (PST)
Received: from 2a02.2378.1095.81ae.ip.kyivstar.net
 ([2a02:2378:1095:81ae:47a5:8075:cea7:c577])
 by smtp.gmail.com with ESMTPSA id
 a1-20020a05600c348100b003b47b80cec3sm31897853wmq.42.2022.12.30.02.04.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 30 Dec 2022 02:04:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b7be362-8829-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=ABrz2Y5UC1+XupLDc4r/e+qIhm6iJGhIw1hnIJA3Cv8=;
        b=R70PlP5qgbrmpA1J+umynbTF8qcikr7eUZ6c+AIIKS80v7ufcmbSUvOYdsTasaf4sa
         qfGCqtHjbr6GymF71gGNFYt4V+G9cZF6RWstmDsCDzEoOoQuVsjBifBS5zPXmAB5Vgb7
         3zvHr5fiqVGsKnQKIAYKWLV0qHrl7tM7BCc6bYo8BE2pZ0l7lzc966Fflo3oNr+PMwBV
         YsJu1uEXtbTBN4h/PgPp5dVAHQ2ngN5BuFxNbO4EJjVC0TV5IFKPqZGewD5UJQmwody4
         6GTG67pPpqc8hfEhbjdkLpObO6bvT7DihKD/d0Ia2bLGHaS+CBLhxzsvWFlUzX1drua5
         yWKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ABrz2Y5UC1+XupLDc4r/e+qIhm6iJGhIw1hnIJA3Cv8=;
        b=IbAOIvkqkYYl/BqjLkPgnpvZjIrzGfozVcEXKZVoqMU8Ay2no96CJU4yP+p/ZGDtrE
         ZW7rDZlXwDoUUyPQCOWHJ2LU8rqzQABhktFjLovgULrlcJxaF1MHHphoGSvfrt+3DxdY
         R0JAbR6GipqFLIvyodrHMWJlGFuMMP7mLSWdDAyYQJinuISuUCdjLWydwUoQIE/InVL8
         p2JfuTSbWfvDifwHdt4ZhgmLYBQLnFWzFZdK7phbvDuqS/eoSKrN+MtJwZTIFIqicLTl
         f9GucIzi5qnbjRE+dLH2dAZlYqtGvwJb+7xnkkRZuD0gXbjW8+s6+pLDGXCa40w6LHJ6
         Ifcw==
X-Gm-Message-State: AFqh2kq5crOblFtRs5v88Bx8YFG0fSBmLbof8q1KqXv2V54/Q/Gkk2ME
	rMCkOmV0HWQep4J8hkg1lvY=
X-Google-Smtp-Source: AMrXdXtSIpTn+AAOZbaz4vTVrBJWdZxBX9BW7emAD6xLnw1VoYR+S0P/kpJn0pNBRewsAvtmtKjmFg==
X-Received: by 2002:a05:600c:358f:b0:3d1:cdf7:debf with SMTP id p15-20020a05600c358f00b003d1cdf7debfmr22725284wmq.26.1672394672392;
        Fri, 30 Dec 2022 02:04:32 -0800 (PST)
Message-ID: <7adaa5b830b6c19e61288b6271b118839e501b76.camel@gmail.com>
Subject: Re: [PATCH 4/6] CI: Express HYPERVISOR_ONLY in build.yml
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Xen-devel
	 <xen-devel@lists.xenproject.org>
Cc: Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Michal Orzel <michal.orzel@amd.com>
Date: Fri, 30 Dec 2022 12:04:30 +0200
In-Reply-To: <20221230003848.3241-5-andrew.cooper3@citrix.com>
References: <20221230003848.3241-1-andrew.cooper3@citrix.com>
	 <20221230003848.3241-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.1 (3.46.1-1.fc37) 
MIME-Version: 1.0

Hi Andrew,

This is not something critical but I would like to see HYPERVISOR_ONLY
set explicitly for all debian-unstable-gcc-arm32-* jobs as it is not
clear for end-user of build.yaml that  "the RANDCONFIG ->
HYPERVISOR_ONLY implication."

~Oleksii

On Fri, 2022-12-30 at 00:38 +0000, Andrew Cooper wrote:
> Whether to build only Xen, or everything, is a property of container,
> toolchain and/or testcase.=C2=A0 It is not a property of XEN_TARGET_ARCH.
>=20
> Capitalise HYPERVISOR_ONLY and have it set by the debian-unstable-
> gcc-arm32-*
> testcases at the point that arm32 get matched with a container that
> can only
> build Xen.
>=20
> For simplicity, retain the RANDCONFIG -> HYPERVISOR_ONLY implication.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Doug Goldstein <cardoe@cardoe.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> =C2=A0automation/gitlab-ci/build.yaml |=C2=A0 2 ++
> =C2=A0automation/scripts/build=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
| 11 ++++-------
> =C2=A02 files changed, 6 insertions(+), 7 deletions(-)
>=20
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-
> ci/build.yaml
> index 93d9ff69a9f2..e6a9357de3ef 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -516,11 +516,13 @@ debian-unstable-gcc-arm32:
> =C2=A0=C2=A0 extends: .gcc-arm32-cross-build
> =C2=A0=C2=A0 variables:
> =C2=A0=C2=A0=C2=A0=C2=A0 CONTAINER: debian:unstable-arm32-gcc
> +=C2=A0=C2=A0=C2=A0 HYPERVISOR_ONLY: y
> =C2=A0
> =C2=A0debian-unstable-gcc-arm32-debug:
> =C2=A0=C2=A0 extends: .gcc-arm32-cross-build-debug
> =C2=A0=C2=A0 variables:
> =C2=A0=C2=A0=C2=A0=C2=A0 CONTAINER: debian:unstable-arm32-gcc
> +=C2=A0=C2=A0=C2=A0 HYPERVISOR_ONLY: y
> =C2=A0
> =C2=A0debian-unstable-gcc-arm32-randconfig:
> =C2=A0=C2=A0 extends: .gcc-arm32-cross-build
> diff --git a/automation/scripts/build b/automation/scripts/build
> index f2301d08789d..4c6d1f3b70bc 100755
> --- a/automation/scripts/build
> +++ b/automation/scripts/build
> @@ -19,7 +19,9 @@ if [[ "${RANDCONFIG}" =3D=3D "y" ]]; then
> =C2=A0=C2=A0=C2=A0=C2=A0 fi
> =C2=A0
> =C2=A0=C2=A0=C2=A0=C2=A0 make -j$(nproc) -C xen
> KCONFIG_ALLCONFIG=3Dtools/kconfig/allrandom.config randconfig
> -=C2=A0=C2=A0=C2=A0 hypervisor_only=3D"y"
> +
> +=C2=A0=C2=A0=C2=A0 # RANDCONFIG implies HYPERVISOR_ONLY
> +=C2=A0=C2=A0=C2=A0 HYPERVISOR_ONLY=3D"y"
> =C2=A0else
> =C2=A0=C2=A0=C2=A0=C2=A0 echo "CONFIG_DEBUG=3D${debug}" > xen/.config
> =C2=A0
> @@ -34,15 +36,10 @@ fi
> =C2=A0# to exit early -- bash is invoked with -e.
> =C2=A0cp xen/.config xen-config
> =C2=A0
> -# arm32 only cross-compiles the hypervisor
> -if [[ "${XEN_TARGET_ARCH}" =3D "arm32" ]]; then
> -=C2=A0=C2=A0=C2=A0 hypervisor_only=3D"y"
> -fi
> -
> =C2=A0# Directory for the artefacts to be dumped into
> =C2=A0mkdir binaries
> =C2=A0
> -if [[ "${hypervisor_only}" =3D=3D "y" ]]; then
> +if [[ "${HYPERVISOR_ONLY}" =3D=3D "y" ]]; then
> =C2=A0=C2=A0=C2=A0=C2=A0 # Xen-only build
> =C2=A0=C2=A0=C2=A0=C2=A0 make -j$(nproc) xen
> =C2=A0



From xen-devel-bounces@lists.xenproject.org Fri Dec 30 11:56:12 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 11:56:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469887.729317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBDzT-0001Jk-Nk; Fri, 30 Dec 2022 11:55:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469887.729317; Fri, 30 Dec 2022 11:55:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBDzT-0001Jd-L0; Fri, 30 Dec 2022 11:55:59 +0000
Received: by outflank-mailman (input) for mailman id 469887;
 Fri, 30 Dec 2022 11:55:58 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBDzS-0001JT-Qc; Fri, 30 Dec 2022 11:55:58 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBDzS-0001CO-MX; Fri, 30 Dec 2022 11:55:58 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBDzS-0003ox-9e; Fri, 30 Dec 2022 11:55:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pBDzS-0003Ae-9D; Fri, 30 Dec 2022 11:55:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=t0BUh8AU442yX49/u+Cnohf8OCLfYkl5y6mwdHae7bM=; b=jRmQfpYD8KeTxKVTmLqfaDcoGY
	2c2AvZ7AO/8eNvHseHIK23LepKwALmVrFT+Nq9bvXMNNo8vAxtUftGqx4aOEV5MZEH7zQCdtLYoHJ
	L6s+NrHz41exuwocK1oTyYHSQORzQD2yTCESr9NrWnDlh8CENUr5Hb/WsvL/k/P+0Y1g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175526-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175526: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-arndale:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-shadow:guest-start.2:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7eef80e06ed2282bbcec3619d860c6aacb0515d8
X-Osstest-Versions-That:
    xen=7eef80e06ed2282bbcec3619d860c6aacb0515d8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 30 Dec 2022 11:55:58 +0000

flight 175526 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175526/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail in 175520 pass in 175526
 test-armhf-armhf-xl-arndale   8 xen-boot         fail in 175520 pass in 175526
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 175520 pass in 175526
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail in 175520 pass in 175526
 test-amd64-i386-xl-shadow    23 guest-start.2              fail pass in 175520

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175517
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175520
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175520
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175520
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175520
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175520
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175520
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175520
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175520
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175520
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175520
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175520
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  7eef80e06ed2282bbcec3619d860c6aacb0515d8
baseline version:
 xen                  7eef80e06ed2282bbcec3619d860c6aacb0515d8

Last test of basis   175526  2022-12-30 01:52:08 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Fri Dec 30 13:01:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 13:01:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469898.729328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBF14-0008US-I4; Fri, 30 Dec 2022 13:01:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469898.729328; Fri, 30 Dec 2022 13:01:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBF14-0008UL-FN; Fri, 30 Dec 2022 13:01:42 +0000
Received: by outflank-mailman (input) for mailman id 469898;
 Fri, 30 Dec 2022 13:01:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Dm99=44=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pBF13-0008U7-FH
 for xen-devel@lists.xenproject.org; Fri, 30 Dec 2022 13:01:41 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18686548-8842-11ed-8fd4-01056ac49cbb;
 Fri, 30 Dec 2022 14:01:37 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id co23so19870103wrb.4
 for <xen-devel@lists.xenproject.org>; Fri, 30 Dec 2022 05:01:37 -0800 (PST)
Received: from fedora.. ([195.234.76.149]) by smtp.gmail.com with ESMTPSA id
 z3-20020adff1c3000000b00273cd321a1bsm19309548wro.107.2022.12.30.05.01.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 30 Dec 2022 05:01:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18686548-8842-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Y0w1WXhENrTHSsk90yxf4HRg4bGLEGBPWs6UxuKZ0Zw=;
        b=Ht4htnfXIqaFf3fRYAY+hUt2gKN18eTp8EY1+KhN/jqu8jLG2TPMrfpCpywpTxCUDE
         FPKlQFrqPUGqpwTOxSfukKTQrXQ9OTrLte/0bCLLOQvevRDZ4fk3KfZaUmKzETytbIdo
         fOsqKdflKvj0CMGZiP32j62M9VVnyJq84piEN/Bo4+PLODwF4Pwb+v4cTxlbEZyudY5+
         CQmiVQMCpoI75CDBcM3rk2I6wQIIvjVwxRYVhI4lX8F4Dh4ceg5W6ORzza0cQNbBOdPk
         lSWmFTTPduZpwuD5JBy1TS3UyFpW6OsEw53qh0Dpf2Wn76yf1lO3Uect4FSuk7/5Hh2l
         XZkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Y0w1WXhENrTHSsk90yxf4HRg4bGLEGBPWs6UxuKZ0Zw=;
        b=n7+t8PN8MMeKTvP+c4TGdYhz10dibpCkSjfOoEBTXhLsbezzBSJ0YxCzAIjSWDed6E
         G3RTYezfqFAr1ewVcAtyB4SJiG6IEAciJwbb0A0Tg5AnxQkfxhXgK0uvVArWt30W/ZkP
         xA+iLhAQuA/s989S0qnPiQYGmw4aDa6ieP4wWKboUSbkaPHFP+p+TwGFqQ7S4lAoevGT
         I4q5zMwkbgpVEn69nf6+HD3+j5DoGUu+0Eqb54JDKcgdFgWwgtEGYazLJDQVB45YfnOD
         KbB4SewsAabs68pRsqFHzwko/woYaVJhNlGM9akLuSvY52p7Vo5dVm6KR7v0HyWsqT+k
         a7Ng==
X-Gm-Message-State: AFqh2kpxs5FXzdt2Y6c45BDQSrjfQKAUXCcZqXiL8XxocdilzlRHS/y5
	hPcoZ7rFO2Ryvnww0Kx089K5KkGNtZWzp3lS
X-Google-Smtp-Source: AMrXdXt+fefo/AfbdDdAzF2kBMe0w6jpIkWQqNeoCpBUCT/Abm6Wjrc1+lvDikpHxh8ihZcSVNpfog==
X-Received: by 2002:a05:6000:614:b0:242:17a6:8bad with SMTP id bn20-20020a056000061400b0024217a68badmr25960680wrb.60.1672405297078;
        Fri, 30 Dec 2022 05:01:37 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Gianluca Guida <gianluca@rivosinc.com>
Subject: [XEN PATCH v2 0/2] Add minimal RISC-V Xen build and build testing
Date: Fri, 30 Dec 2022 15:01:30 +0200
Message-Id: <cover.1672401599.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.38.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch series introduces the following:
- provide a minimal amount of changes to add initial RISC-V support
  to make Xen binary buildable and runnable for RISC-V architecture
  which can be used for future development and testing.
- add RISC-V 64 cross-compile build jobs to check if any new changes
  break RISC-V build.

The patch series is based on "CI: Fixes/cleanup in preparation for
RISCV" patch series which can be found at
https://lists.xenproject.org/archives/html/xen-devel/2022-12/msg01761.html

Changes in V2:
- Remove the patch "automation: add cross-compiler support
  for the build script" because it was reworked as a part of the patch
  series "CI: Fixes/cleanup in preparation for RISCV".
- Remove the patch "automation: add python3 package for riscv64.dockerfile"
  because it is not necessary for RISCV Xen binary build now.
- Rework the patch "arch/riscv: initial RISC-V support to build/run
  minimal Xen" according to the comments about v1 of the patch series.
- Add HYPERVISOR_ONLY to RISCV jobs in build.yaml after rebasing on
  "CI: Fixes/cleanup in preparation for RISCV" patch series.

Oleksii Kurochko (2):
  arch/riscv: initial RISC-V support to build/run minimal Xen
  automation: add RISC-V 64 cross-build tests for Xen

 automation/gitlab-ci/build.yaml     |  45 ++++++++
 xen/arch/riscv/Makefile             |  16 +++
 xen/arch/riscv/arch.mk              |   4 +
 xen/arch/riscv/include/asm/config.h |   9 +-
 xen/arch/riscv/riscv64/Makefile     |   2 +-
 xen/arch/riscv/riscv64/head.S       |   2 +-
 xen/arch/riscv/xen.lds.S            | 158 ++++++++++++++++++++++++++++
 7 files changed, 233 insertions(+), 3 deletions(-)
 create mode 100644 xen/arch/riscv/xen.lds.S

-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 30 13:01:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 13:01:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469899.729339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBF16-0000J2-P1; Fri, 30 Dec 2022 13:01:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469899.729339; Fri, 30 Dec 2022 13:01:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBF16-0000Iv-MF; Fri, 30 Dec 2022 13:01:44 +0000
Received: by outflank-mailman (input) for mailman id 469899;
 Fri, 30 Dec 2022 13:01:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Dm99=44=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pBF15-0008U7-2m
 for xen-devel@lists.xenproject.org; Fri, 30 Dec 2022 13:01:43 +0000
Received: from mail-wr1-x433.google.com (mail-wr1-x433.google.com
 [2a00:1450:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a355790-8842-11ed-8fd4-01056ac49cbb;
 Fri, 30 Dec 2022 14:01:40 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id d17so104379wrs.2
 for <xen-devel@lists.xenproject.org>; Fri, 30 Dec 2022 05:01:40 -0800 (PST)
Received: from fedora.. ([195.234.76.149]) by smtp.gmail.com with ESMTPSA id
 z3-20020adff1c3000000b00273cd321a1bsm19309548wro.107.2022.12.30.05.01.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 30 Dec 2022 05:01:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a355790-8842-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QS3/QfbJNKR71JWT41z6Z+TL8PoSzokx9tAeOtm/jfo=;
        b=b3eWXREDw0T8f9zOvXoM2lvhxI4kxU/3YiLGK+layVtdx+LxUOA5afPXiyfqL6XVEO
         jrvtB2cfzFu5ZOJ+4u5T/K+4sdeAssDPkhhIAEKMr0oy3srUEBhpJEknvMFvqoJ1OXA+
         q7BdnItx9AkD5q/QWbi/o+3oE5VUfII/z4eD3WG3+jXOFzTXCYUm+u5EwadCwt/Ap8Rw
         FXxbqo4Nyxj3jfbv8hUOXE+VHNjA+WiW5Vhu4Zyzggm7JdJkyhVsVNPlZi5a8ASqtBCn
         zeUxdTH/46aKTTB5nxsbzyMg72KZsE4kSt4wyDvRfGVx/XTMz7pcqUwQsnsE0em6jnX4
         e53g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=QS3/QfbJNKR71JWT41z6Z+TL8PoSzokx9tAeOtm/jfo=;
        b=2FdyN9KzLXekaozmjmIxBG7tOInoN9WLyeilyAStNI5fHhmPgi1tiQVcvrwovaguXS
         i57kGIrR6M7ygk9QduY/SoThJd4FV3CXQpFbHq1ozByfHNCFRHY+3upgj/B2XoU1KFd1
         VO+Ok2mMIMRZfRnlk/xeASYATDs2s/da6lVJTh8mRBvYEMSXf3FYMbpAAdYIpEZyH1Ot
         UJ2RuEmbWMdPzzTpU8ns9Xv2oTmBpAaWiD/t5havWyJsVWoHDZsjOHvq4eTjjkFNzj4b
         2Tzlq33oeRUHxlYx7VmdTRWhUqC46zdg3/cgWVON6LfJWSgfs01qUnRO/T619aRePo3v
         yxeg==
X-Gm-Message-State: AFqh2krICkCzTc8+M8GWdsmyGA9h/C40v9QTHQupDge4cpwlNuEWGWdE
	IN1FP5jbhUcgQrij5xaKOTarkY3JKUwRWAnT
X-Google-Smtp-Source: AMrXdXtIQEPb8hRKIfTDFDRvizwiRTjsp2KAOmGK4LvvuUtP9yhjLIlDuaGrw+J4bEMez5tMh26lOQ==
X-Received: by 2002:adf:e703:0:b0:242:43f3:8948 with SMTP id c3-20020adfe703000000b0024243f38948mr20699117wrm.26.1672405300199;
        Fri, 30 Dec 2022 05:01:40 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>
Subject: [XEN PATCH v2 1/2] arch/riscv: initial RISC-V support to build/run minimal Xen
Date: Fri, 30 Dec 2022 15:01:31 +0200
Message-Id: <4702cb223dbd7629fe3d3e494eb363f4b2534e96.1672401599.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1672401599.git.oleksii.kurochko@gmail.com>
References: <cover.1672401599.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch provides a minimal amount of changes to start
build and run minimal Xen binary at GitLab CI&CD that will
allow continuous checking of the build status of RISC-V Xen.

Except introduction of new files the following changes were done:
* Redefinition of ALIGN define from '.algin 2' to '.align 4' as
  RISC-V implementations (except for with C extension) enforce 32-bit
  instruction address alignment.  With C extension, 16-bit and 32-bit
  are both allowed.
* ALL_OBJ-y and ALL_LIBS-y were temporary overwritted to produce
  a minimal hypervisor image otherwise it will be required to push
  huge amount of headers and stubs for common, drivers, libs etc which
  aren't necessary for now.
* Section changed from .text to .text.header for start function
  to make it the first one executed.
* Rework riscv64/Makefile logic to rebase over changes since the first
  RISC-V commit.

RISC-V Xen can be built by the following instructions:
  $ CONTAINER=riscv64 ./automation/scripts/containerize \
       make XEN_TARGET_ARCH=riscv64 tiny64_defconfig
  $ CONTAINER=riscv64 ./automation/scripts/containerize \
       make XEN_TARGET_ARCH=riscv64 -C xen build

RISC-V Xen can be run as:
  $ qemu-system-riscv64 -M virt -smp 1 -nographic -m 2g \
       -kernel xen/xen

To run in debug mode should be done the following instructions:
 $ qemu-system-riscv64 -M virt -smp 1 -nographic -m 2g \
        -kernel xen/xen -s -S
 # In separate terminal:
 $ riscv64-buildroot-linux-gnu-gdb
 $ target remote :1234
 $ add-symbol-file <xen_src>/xen/xen-syms 0x80200000
 $ hb *0x80200000
 $ c # it should stop at instruction j 0x80200000 <start>

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
- Update commit message:
  - Add explanation why ALIGN define was changed.
  - Add explanation why section of 'start' function was changed.
- Rework xen.lds.S linker script. It is mostly based on ARM except
  ARM-specific sections which have been removed.
- Rework in riscv64/Makefile rule $(TARGET)-syms
- Remove asm/types.h header as after reworking of riscv64/Makefile
  it is not needed now.
- Remove unneeded define SYMBOLS_DUMMY_OBJ.
---
 xen/arch/riscv/Makefile             |  16 +++
 xen/arch/riscv/arch.mk              |   4 +
 xen/arch/riscv/include/asm/config.h |   9 +-
 xen/arch/riscv/riscv64/Makefile     |   2 +-
 xen/arch/riscv/riscv64/head.S       |   2 +-
 xen/arch/riscv/xen.lds.S            | 158 ++++++++++++++++++++++++++++
 6 files changed, 188 insertions(+), 3 deletions(-)
 create mode 100644 xen/arch/riscv/xen.lds.S

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 942e4ffbc1..74386beb85 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,2 +1,18 @@
+obj-$(CONFIG_RISCV_64) += riscv64/
+
+$(TARGET): $(TARGET)-syms
+	$(OBJCOPY) -O binary -S $< $@
+
+$(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) -o $@
+	$(NM) -pa --format=sysv $(@D)/$(@F) \
+		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
+		>$(@D)/$(@F).map
+
+$(obj)/xen.lds: $(src)/xen.lds.S FORCE
+	$(call if_changed_dep,cpp_lds_S)
+
+clean-files := $(objtree)/.xen-syms.[0-9]*
+
 .PHONY: include
 include:
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index ae8fe9dec7..012dc677c3 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -11,3 +11,7 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
 # -mcmodel=medlow would force Xen into the lower half.
 
 CFLAGS += -march=$(riscv-march-y) -mstrict-align -mcmodel=medany
+
+# TODO: Drop override when more of the build is working
+override ALL_OBJS-y = arch/$(TARGET_ARCH)/built_in.o
+override ALL_LIBS-y =
diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index e2ae21de61..e10e13ba53 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -1,6 +1,9 @@
 #ifndef __RISCV_CONFIG_H__
 #define __RISCV_CONFIG_H__
 
+#include <xen/const.h>
+#include <xen/page-size.h>
+
 #if defined(CONFIG_RISCV_64)
 # define LONG_BYTEORDER 3
 # define ELFSIZE 64
@@ -28,7 +31,7 @@
 
 /* Linkage for RISCV */
 #ifdef __ASSEMBLY__
-#define ALIGN .align 2
+#define ALIGN .align 4
 
 #define ENTRY(name)                                \
   .globl name;                                     \
@@ -36,6 +39,10 @@
   name:
 #endif
 
+#define XEN_VIRT_START  _AT(UL,0x00200000)
+
+#define SMP_CACHE_BYTES (1 << 6)
+
 #endif /* __RISCV_CONFIG_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/riscv/riscv64/Makefile b/xen/arch/riscv/riscv64/Makefile
index 15a4a65f66..3340058c08 100644
--- a/xen/arch/riscv/riscv64/Makefile
+++ b/xen/arch/riscv/riscv64/Makefile
@@ -1 +1 @@
-extra-y += head.o
+obj-y += head.o
diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index 0dbc27ba75..0330b29c01 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -1,6 +1,6 @@
 #include <asm/config.h>
 
-        .text
+        .section .text.header, "ax", %progbits
 
 ENTRY(start)
         j  start
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
new file mode 100644
index 0000000000..ca57cce75c
--- /dev/null
+++ b/xen/arch/riscv/xen.lds.S
@@ -0,0 +1,158 @@
+#include <xen/xen.lds.h>
+
+#undef ENTRY
+#undef ALIGN
+
+OUTPUT_ARCH(riscv)
+ENTRY(start)
+
+PHDRS
+{
+    text PT_LOAD ;
+#if defined(BUILD_ID)
+    note PT_NOTE ;
+#endif
+}
+
+SECTIONS
+{
+    . = XEN_VIRT_START;
+    _start = .;
+    .text : {
+        _stext = .;            /* Text section */
+        *(.text.header)
+
+        *(.text.cold)
+        *(.text.unlikely .text.*_unlikely .text.unlikely.*)
+
+        *(.text)
+#ifdef CONFIG_CC_SPLIT_SECTIONS
+        *(.text.*)
+#endif
+
+        *(.fixup)
+        *(.gnu.warning)
+        . = ALIGN(POINTER_ALIGN);
+        _etext = .;             /* End of text section */
+    } :text
+
+    . = ALIGN(PAGE_SIZE);
+    .rodata : {
+        _srodata = .;          /* Read-only data */
+        *(.rodata)
+        *(.rodata.*)
+        *(.data.rel.ro)
+        *(.data.rel.ro.*)
+
+        VPCI_ARRAY
+
+        . = ALIGN(POINTER_ALIGN);
+        _erodata = .;        /* End of read-only data */
+    } :text
+
+    #if defined(BUILD_ID)
+    . = ALIGN(4);
+    .note.gnu.build-id : {
+        __note_gnu_build_id_start = .;
+        *(.note.gnu.build-id)
+        __note_gnu_build_id_end = .;
+    } :note :text
+    #endif
+    _erodata = .;                /* End of read-only data */
+
+    . = ALIGN(PAGE_SIZE);
+    .data.ro_after_init : {
+        __ro_after_init_start = .;
+        *(.data.ro_after_init)
+        . = ALIGN(PAGE_SIZE);
+        __ro_after_init_end = .;
+    } : text
+
+    .data.read_mostly : {
+        *(.data.read_mostly)
+    } :text
+
+    . = ALIGN(PAGE_SIZE);
+    .data : {                    /* Data */
+        *(.data.page_aligned)
+        . = ALIGN(8);
+        __start_schedulers_array = .;
+        *(.data.schedulers)
+        __end_schedulers_array = .;
+
+        HYPFS_PARAM
+
+        *(.data .data.*)
+        CONSTRUCTORS
+    } :text
+
+    . = ALIGN(PAGE_SIZE);             /* Init code and data */
+    __init_begin = .;
+    .init.text : {
+        _sinittext = .;
+        *(.init.text)
+        _einittext = .;
+        . = ALIGN(PAGE_SIZE);        /* Avoid mapping alt insns executable */
+    } :text
+    . = ALIGN(PAGE_SIZE);
+    .init.data : {
+        *(.init.rodata)
+        *(.init.rodata.*)
+
+        . = ALIGN(POINTER_ALIGN);
+        __setup_start = .;
+        *(.init.setup)
+        __setup_end = .;
+
+        __initcall_start = .;
+        *(.initcallpresmp.init)
+        __presmp_initcall_end = .;
+        *(.initcall1.init)
+        __initcall_end = .;
+
+        LOCK_PROFILE_DATA
+
+        *(.init.data)
+        *(.init.data.rel)
+        *(.init.data.rel.*)
+
+        . = ALIGN(8);
+        __ctors_start = .;
+        *(.ctors)
+        *(.init_array)
+        *(SORT(.init_array.*))
+        __ctors_end = .;
+    } :text
+    . = ALIGN(POINTER_ALIGN);
+    __init_end = .;
+
+    .bss : {                     /* BSS */
+        __bss_start = .;
+        *(.bss.stack_aligned)
+        . = ALIGN(PAGE_SIZE);
+        *(.bss.page_aligned)
+        . = ALIGN(PAGE_SIZE);
+        __per_cpu_start = .;
+        *(.bss.percpu.page_aligned)
+        *(.bss.percpu)
+        . = ALIGN(SMP_CACHE_BYTES);
+        *(.bss.percpu.read_mostly)
+        . = ALIGN(SMP_CACHE_BYTES);
+        __per_cpu_data_end = .;
+        *(.bss .bss.*)
+        . = ALIGN(POINTER_ALIGN);
+        __bss_end = .;
+    } :text
+    _end = . ;
+
+    /* Section for the device tree blob (if any). */
+    .dtb : { *(.dtb) } :text
+
+    DWARF2_DEBUG_SECTIONS
+
+    DISCARD_SECTIONS
+
+    STABS_DEBUG_SECTIONS
+
+    ELF_DETAILS_SECTIONS
+}
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 30 13:01:53 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 13:01:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469900.729350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBF19-0000Yp-1X; Fri, 30 Dec 2022 13:01:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469900.729350; Fri, 30 Dec 2022 13:01:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBF18-0000Yg-TS; Fri, 30 Dec 2022 13:01:46 +0000
Received: by outflank-mailman (input) for mailman id 469900;
 Fri, 30 Dec 2022 13:01:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Dm99=44=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pBF17-0000Iu-Bj
 for xen-devel@lists.xenproject.org; Fri, 30 Dec 2022 13:01:45 +0000
Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com
 [2a00:1450:4864:20::434])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b2b97e4-8842-11ed-91b6-6bf2151ebd3b;
 Fri, 30 Dec 2022 14:01:43 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id bs20so17757017wrb.3
 for <xen-devel@lists.xenproject.org>; Fri, 30 Dec 2022 05:01:42 -0800 (PST)
Received: from fedora.. ([195.234.76.149]) by smtp.gmail.com with ESMTPSA id
 z3-20020adff1c3000000b00273cd321a1bsm19309548wro.107.2022.12.30.05.01.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 30 Dec 2022 05:01:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b2b97e4-8842-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=aehIhiOSPO0UY1yboaOg5tDnKtSx7l5gzqO3ILXdJfA=;
        b=VzFOkqzAYFkBZjsI1vQb22bLSefA1AJk00aGoJ4x6smSoPhI4DRt+4te5XxBHVK4O/
         vL+4HnlXQhv7syvfllpSbOYaDkuI2vhwcxzCS/o1y/Bfh0k5tG40Hw1TXMIxhJaAs5Eq
         0oqIBLgWqdJKASL9vy8kcuK5uDwzZbRhEUZVNKcVRMetwb2waCuPgMNjqs9ATkBxlw2F
         4AEe6OcVUTnbCwLwdilncNx7OPyTB1BEd46F9+66qhalSrupEccH52cxRO59zgsqxp9N
         KkVcBnIMxGQ3yTJWK84iZQEc3lzqdIWc6/PWanRkfIaeMoFgMMAdq6A8QUF9niJ8OXT5
         lx2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=aehIhiOSPO0UY1yboaOg5tDnKtSx7l5gzqO3ILXdJfA=;
        b=1IyEO0o4JuqcOFPqvsYbcDNdUiWoxCQNDKIiWvRf8cAjV6uAgu36sLijvHVFuFHkRN
         oBMZOZ6CHXpoT+npAwjymfdDmrbJxB5lCkMbYPaZcmqP3+R03HNDe8f0qQ9Yyjfu5PRO
         ul60fuGTBaU5bchShiVt7kJmJoOst2WwKRLPQ0RCyDEG27HMMllOiuuTlcAh0SKXL+Yf
         qmNX1e55vFXZoglWnZV4OatIVsL4h70WrVeW0vhLtviAEtsrFdsF2iokBzCBYcFYNijW
         CbsYkriY/8OH09/NZH5m19QnYv6hJ45gQGaSzPzSO08w3sprdyKSpfATA+pOCgeBdmyr
         iuTg==
X-Gm-Message-State: AFqh2ko3g2uY8kiX4PUxrkTO3NkhMelwqQXC27HoU2jMk5BqVlXonZtq
	AbeaIiKIcX7XNQyPBz/dTTBHXqIdyHHh0ABL
X-Google-Smtp-Source: AMrXdXs6A6ybWocujd9fgMOhNk95Gw/OBPhLTk2ARoc/1tdpCbcY2EjXmUed8NhdVmUZX807QqzzOg==
X-Received: by 2002:a05:6000:1373:b0:242:30b3:3ca7 with SMTP id q19-20020a056000137300b0024230b33ca7mr19036403wrz.11.1672405301816;
        Fri, 30 Dec 2022 05:01:41 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>
Subject: [XEN PATCH v2 2/2] automation: add RISC-V 64 cross-build tests for Xen
Date: Fri, 30 Dec 2022 15:01:32 +0200
Message-Id: <855e05a0459d44282679f08c8f67e38d35635eb6.1672401599.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <cover.1672401599.git.oleksii.kurochko@gmail.com>
References: <cover.1672401599.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add build jobs to cross-compile Xen-only for RISC-V 64.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
---
Changes in V2:
- Add HYPERVISOR_ONLY to RISCV jobs because after rebase on
  top of the patch series "CI: Fixes/cleanup in preparation for RISCV"
  it is required to set HYPERVISOR_ONLY in build.yaml
---
 automation/gitlab-ci/build.yaml | 45 +++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index e6a9357de3..11eb1c6b82 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -172,6 +172,33 @@
   variables:
     <<: *gcc
 
+.riscv64-cross-build-tmpl:
+  <<: *build
+  variables:
+    XEN_TARGET_ARCH: riscv64
+  tags:
+    - x86_64
+
+.riscv64-cross-build:
+  extends: .riscv64-cross-build-tmpl
+  variables:
+    debug: n
+
+.riscv64-cross-build-debug:
+  extends: .riscv64-cross-build-tmpl
+  variables:
+    debug: y
+
+.gcc-riscv64-cross-build:
+  extends: .riscv64-cross-build
+  variables:
+    <<: *gcc
+
+.gcc-riscv64-cross-build-debug:
+  extends: .riscv64-cross-build-debug
+  variables:
+    <<: *gcc
+
 # Jobs below this line
 
 archlinux-gcc:
@@ -617,6 +644,21 @@ alpine-3.12-gcc-debug-arm64-boot-cpupools:
     EXTRA_XEN_CONFIG: |
       CONFIG_BOOT_TIME_CPUPOOLS=y
 
+# RISC-V 64 cross-build
+riscv64-cross-gcc:
+  extends: .gcc-riscv64-cross-build
+  variables:
+    CONTAINER: archlinux:riscv64
+    KBUILD_DEFCONFIG: tiny64_defconfig
+    HYPERVISOR_ONLY: y
+
+riscv64-cross-gcc-debug:
+  extends: .gcc-riscv64-cross-build-debug
+  variables:
+    CONTAINER: archlinux:riscv64
+    KBUILD_DEFCONFIG: tiny64_defconfig
+    HYPERVISOR_ONLY: y
+
 ## Test artifacts common
 
 .test-jobs-artifact-common:
@@ -692,3 +734,6 @@ kernel-5.10.74-export:
       - binaries/bzImage
   tags:
     - x86_64
+
+# # RISC-V 64 test artificats
+# # TODO: add RISC-V 64 test artitifacts
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Fri Dec 30 13:34:05 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 13:34:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469919.729361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBFWH-0004Wo-DL; Fri, 30 Dec 2022 13:33:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469919.729361; Fri, 30 Dec 2022 13:33:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBFWH-0004Wh-9d; Fri, 30 Dec 2022 13:33:57 +0000
Received: by outflank-mailman (input) for mailman id 469919;
 Fri, 30 Dec 2022 13:33:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBFWG-0004WX-KS; Fri, 30 Dec 2022 13:33:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBFWG-0003QT-HH; Fri, 30 Dec 2022 13:33:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBFWF-0006zr-Pb; Fri, 30 Dec 2022 13:33:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pBFWF-00070F-P8; Fri, 30 Dec 2022 13:33:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fv3JOOE20KQbWWzR0wh877SCIAafPo/KX66JrgHXdOE=; b=CTlPO17uf19GcTkOQJUVYHqfC+
	v6da0OLomeLvLRj6FRxKu+RwpVQsIbi9V4IgLUpC+Xajf7vWcWz1JH56dp+PfiU9mUZLSfiEQxUIM
	jHS8DF9VhmX3iADo4P2G5SZLvg2QW5g0i0s5/jl3pHP/GNuH8z0glwIvnTQ2gMEvoIIs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175528-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175528: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl:guest-start.2:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 30 Dec 2022 13:33:55 +0000

flight 175528 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175528/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175528
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175528
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175528
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175528
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175407 pass in 175528
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 175524 pass in 175407
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 175524 pass in 175528
 test-arm64-arm64-xl-vhd 17 guest-start/debian.repeat fail in 175524 pass in 175528
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 175524 pass in 175528
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail pass in 175524
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 175524
 test-armhf-armhf-xl-credit2  14 guest-start                fail pass in 175524
 test-armhf-armhf-xl-credit1  14 guest-start                fail pass in 175524
 test-armhf-armhf-xl          19 guest-start.2              fail pass in 175524
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 175524
 test-armhf-armhf-xl-vhd      17 guest-start/debian.repeat  fail pass in 175524

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-arndale 18 guest-start/debian.repeat fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 175524 blocked in 175197
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 175524 blocked in 175197
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 175524 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 175524 never pass
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 175524 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 175524 never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 175524 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-qcow2 13 guest-start                 fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   16 days
Testing same since   175407  2022-12-19 11:42:26 Z   11 days   25 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          fail    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      fail    
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 30 20:26:16 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 20:26:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469930.729372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBLx0-0001pa-8L; Fri, 30 Dec 2022 20:25:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469930.729372; Fri, 30 Dec 2022 20:25:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBLx0-0001pT-5Z; Fri, 30 Dec 2022 20:25:58 +0000
Received: by outflank-mailman (input) for mailman id 469930;
 Fri, 30 Dec 2022 20:25:56 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBLwy-0001pJ-Rx; Fri, 30 Dec 2022 20:25:56 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBLwy-0004zu-PX; Fri, 30 Dec 2022 20:25:56 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBLwy-0005ge-8S; Fri, 30 Dec 2022 20:25:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pBLwy-0007SY-80; Fri, 30 Dec 2022 20:25:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DUYuFSqmr7wDhXgaOpTVBt4nI5mM5bT8pG76drX97s4=; b=LJsk0BX9sMkno8/zNS3Ti2EzcQ
	RthKpxYy6+FQjeGSs5kINn3UmpHzCx/xtJ9uMqne9k2lIk2qrouYEPhzOfP6W2wuRjbcVCIEB3uGH
	rfCMR4gABoFKmxt6obmGAfqu/rDZpUEmIFYk5GGbY3x7dwive00I22gguVeZRbnnmUn8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175530-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175530: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=bff687b3dad6e0e56b27f4d3ed8a9695f35c7b1a
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 30 Dec 2022 20:25:56 +0000

flight 175530 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175530/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                bff687b3dad6e0e56b27f4d3ed8a9695f35c7b1a
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   84 days
Failing since        173470  2022-10-08 06:21:34 Z   83 days  171 attempts
Testing same since   175525  2022-12-30 01:44:19 Z    0 days    2 attempts

------------------------------------------------------------
3248 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 495765 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Dec 30 21:05:55 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 30 Dec 2022 21:05:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469939.729383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBMZY-0006Eu-6v; Fri, 30 Dec 2022 21:05:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469939.729383; Fri, 30 Dec 2022 21:05:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBMZY-0006En-3S; Fri, 30 Dec 2022 21:05:48 +0000
Received: by outflank-mailman (input) for mailman id 469939;
 Fri, 30 Dec 2022 21:05:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBMZW-0006Eb-E7; Fri, 30 Dec 2022 21:05:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBMZW-0005qQ-A1; Fri, 30 Dec 2022 21:05:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBMZV-0006a6-LK; Fri, 30 Dec 2022 21:05:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pBMZV-0002hT-Kv; Fri, 30 Dec 2022 21:05:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ClWpK2heb50smo/pXqY70vV3KavMlYkBg7lBIDJbNz8=; b=eRQ3UtRqO5+8WQs0oPqKcOUqlM
	UOrsh2mywolyW1WOhZJQP4dVTq6DYnRVDcgVpQPFQ7ztinwvXo3VI+RiPYDmGZtwCCGEBd/IWv56S
	BQC6/0auTe+LiTsg1nCdh/ZGUHLttEAE+3Rzs644v3E8CX6EN8wqLpsg5lqycZe/nySM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175531-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175531: trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    linux-5.4:build-armhf-pvops:<job status>:broken:regression
    linux-5.4:build-armhf-pvops:host-install(4):broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl:guest-start.2:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:guest-start:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 30 Dec 2022 21:05:45 +0000

flight 175531 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175531/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-pvops               <job status>                 broken
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 175197
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175531
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175531
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175531
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175531
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175407 pass in 175528
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 175524 pass in 175407
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 175524 pass in 175531
 test-arm64-arm64-xl-vhd 17 guest-start/debian.repeat fail in 175524 pass in 175531
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 175524 pass in 175531
 test-armhf-armhf-xl-credit2  14 guest-start      fail in 175528 pass in 175524
 test-armhf-armhf-xl-credit1  14 guest-start      fail in 175528 pass in 175524
 test-armhf-armhf-xl          19 guest-start.2    fail in 175528 pass in 175524
 test-armhf-armhf-xl-vhd 17 guest-start/debian.repeat fail in 175528 pass in 175524
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail in 175528 pass in 175531
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 175528 pass in 175531
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 175528 pass in 175531
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  7 xen-install fail pass in 175528
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 175528

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-examine      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 175524 blocked in 175197
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 175524 blocked in 175197
 test-armhf-armhf-xl-credit2 15 migrate-support-check fail in 175524 never pass
 test-armhf-armhf-xl-credit2 16 saverestore-support-check fail in 175524 never pass
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 175524 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 175524 never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 175524 never pass
 test-armhf-armhf-xl-arndale 18 guest-start/debian.repeat fail in 175528 blocked in 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 175528 like 175197
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 175528 like 175197
 test-armhf-armhf-libvirt-qcow2 13 guest-start       fail in 175528 like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 175528 like 175197
 test-armhf-armhf-xl-arndale 15 migrate-support-check fail in 175528 never pass
 test-armhf-armhf-xl-arndale 16 saverestore-support-check fail in 175528 never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 175528 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 175528 never pass
 test-armhf-armhf-xl         15 migrate-support-check fail in 175528 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 175528 never pass
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 175528 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 175528 never pass
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 175528 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 175528 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 175528 never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 175528 never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check fail in 175528 never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check fail in 175528 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   16 days
Testing same since   175407  2022-12-19 11:42:26 Z   11 days   26 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            broken  
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  blocked 
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  blocked 
 test-armhf-armhf-xl-cubietruck                               blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     blocked 
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     blocked 
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      blocked 
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job build-armhf-pvops broken
broken-step build-armhf-pvops host-install(4)
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 31 00:30:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 31 Dec 2022 00:30:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469951.729405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBPlY-0001it-JN; Sat, 31 Dec 2022 00:30:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469951.729405; Sat, 31 Dec 2022 00:30:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBPlY-0001im-GL; Sat, 31 Dec 2022 00:30:24 +0000
Received: by outflank-mailman (input) for mailman id 469951;
 Sat, 31 Dec 2022 00:30:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cPaP=45=citrix.com=prvs=3576bb3e1=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pBPlX-0001TX-4y
 for xen-devel@lists.xenproject.org; Sat, 31 Dec 2022 00:30:23 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4db5038e-88a2-11ed-91b6-6bf2151ebd3b;
 Sat, 31 Dec 2022 01:30:20 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4db5038e-88a2-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672446620;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=OgocD+ObouQq8QNH5GDFFIUKa/VfXCi8dkLMnUgQGhc=;
  b=b8LtxGuw0+VGReQ+AV4hYdCMs+TJzlgTF/GyotjqpgD/R7Mbbc3WPIux
   5leYJ/uTiN60WbtLjN3bmBMB9syQlfDhbkr6GcEvRLC/72uj9Vg7L0Esy
   mXYJKd2+EP0oDN0DQH26+ZyvgTelQi1tWdxxduXlO22W5pXQ3WgZG7ewB
   k=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 90645874
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:eE0waKMgBvY1NFjvrR2rl8FynXyQoLVcMsEvi/4bfWQNrUojgjQHx
 mQWCjuCP/rYZ2X9KYp+Oo3l9R8O7JbWydY2Swto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5QRmOZingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0utWWWpRp
 fUFEgocTwzcofyxxK6jFfY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w/N3wsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9K4TUGZgFwRrwS
 mTu1DiiIB8wG+Ok7zej72OngM7EoCXaV9dHfFG/3qEz2wDCroAJMzUJUXOrrP//jVSxM/pPJ
 kpR9icwoKwa8E2wUsK7TxC+uGSDvBMXR5xXCeJSwCOnx7fQ4g2ZLnMZVTMHY9sj3PLaXhRzi
 AXPxYmwQ2Uy7vvFEhpx64t4sxu/GHAeMj8LeBU+XCoZvP/9p4Uvlk3QG4ML/LGOsvX5HjT5w
 javpSc4hqkOgcNj65hX7WwrkBr3+MGXE1ddChH/Gzv8s1gnPNLNi5mAswCz0BpWEGqOorBtV
 lAgktPW0u0BBIrleMelELRUR+HBCxpo3VThbb9T83sJrW/FF52LJ9o4DNRCyKBBbK45lcfBO
 hO7hO+ozMY70IGWRaF2eZmtLM8h0LLtE9/oPtiNMIUUPsIsLlPXrHszDaJ144wKuBF2+ZzTx
 L/BKZr8ZZrkIf8PIMWKqxc1juZwm3FWKZL7TpHn1RW3uYejiIquYe5dajOmN7lphJ5oVS2Jq
 76zwePWkUQAOAA/CwGLmbMuwacidylqXsCq8ZIGL4Zu4GNOQQkcNhMY+pt5E6QNokifvr6gE
 q2VMqOA9GfCuA==
IronPort-HdrOrdr: A9a23:xkUxF6wxsB1ktMO6h/tJKrPwEr1zdoMgy1knxilNoHtuH/Bw9v
 rDoB1/73XJYVkqOU3I9erwWpVoa0msjKKdmLNhW4tKPzOHhILLFu9fBOLZqlXd8kvFh4lgPM
 xbAstD4bPLYmSTtqzBkWyF+twbsb26GfCT7tvj8w==
X-IronPort-AV: E=Sophos;i="5.96,288,1665460800"; 
   d="scan'208";a="90645874"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 2/2] x86/shskt: Disable CET-SS on parts succeptable to fractured updates
Date: Sat, 31 Dec 2022 00:30:07 +0000
Message-ID: <20221231003007.26916-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20221231003007.26916-1-andrew.cooper3@citrix.com>
References: <20221231003007.26916-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Refer to Intel SDM Rev 70 (Dec 2022), Vol3 17.2.3 "Supervisor Shadow Stack
Token".

Architecturally, an event delivery which starts in CPL>3 and switches shadow
stack will first validate the Supervisor Shstk Token and set the busy bit,
then pushes LIP/CS/SSP.  One example of this is an NMI interrupting Xen.

Some CPUs suffer from an issue called fracturing, whereby a fault/vmexit/etc
between setting the busy bit and completing the event injection renders the
action non-restartable, because when it comes time to restart, the busy bit is
found to be already set.

This is far more easily encountered under virt, yet it is not the fault of the
hypervisor, nor the fault of the guest kernel.  The fault lies somewhere
between the architectural specification, and the uarch behaviour.

Intel have allocated CPUID.7[1].ecx[18] CET_SSS to enumerate that supervisor
shadow stacks are safe to use.  Because of how Xen lays out its shadow stacks,
fracturing is not expected to be a problem on native.

Detect this case on boot and default to not using shstk if virtualised.
Specifying `cet=shstk` on the command line will override this heurstic and
enable shadow stacks irrespective.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

I've got a query out with AMD, but so far it is only Intel CPUs known to be
impacted.

This ideally wants backporting to Xen 4.14.  I have no idea how likely it is
to need to backport the prerequisite patch for new feature words, but we've
already had to do that once for security patches...
---
 docs/misc/xen-command-line.pandoc           |  7 +++++-
 tools/libs/light/libxl_cpuid.c              |  2 ++
 tools/misc/xen-cpuid.c                      |  1 +
 xen/arch/x86/cpu/common.c                   | 11 +++++++--
 xen/arch/x86/setup.c                        | 37 ++++++++++++++++++++++++++---
 xen/include/public/arch-x86/cpufeatureset.h |  1 +
 6 files changed, 53 insertions(+), 6 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 923910f553c5..19d4d815bdee 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -287,10 +287,15 @@ can be maintained with the pv-shim mechanism.
     protection.
 
     The option is available when `CONFIG_XEN_SHSTK` is compiled in, and
-    defaults to `true` on hardware supporting CET-SS.  Specifying
+    generally defaults to `true` on hardware supporting CET-SS.  Specifying
     `cet=no-shstk` will cause Xen not to use Shadow Stacks even when support
     is available in hardware.
 
+    Some hardware suffers from an issue known as Supervisor Shadow Stack
+    Fracturing.  On such hardware, Xen will default to not using Shadow Stacks
+    when virtualised.  Specifying `cet=shstk` will override this heuristic and
+    enable Shadow Stacks unilaterally.
+
 *   The `ibt=` boolean controls whether Xen uses Indirect Branch Tracking for
     its own protection.
 
diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index 2aa23225f42c..d97a2f3338bc 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -235,6 +235,8 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str)
         {"fsrs",         0x00000007,  1, CPUID_REG_EAX, 11,  1},
         {"fsrcs",        0x00000007,  1, CPUID_REG_EAX, 12,  1},
 
+        {"cet-sss",      0x00000007,  1, CPUID_REG_EDX, 18,  1},
+
         {"intel-psfd",   0x00000007,  2, CPUID_REG_EDX,  0,  1},
         {"mcdt-no",      0x00000007,  2, CPUID_REG_EDX,  5,  1},
 
diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 0091a11a67bc..ea33b587665d 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -208,6 +208,7 @@ static const char *const str_7c1[32] =
 
 static const char *const str_7d1[32] =
 {
+    [18] = "cet-sss",
 };
 
 static const char *const str_7d2[32] =
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index b3fcf4680f3a..d962f384a995 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -346,11 +346,18 @@ void __init early_cpu_init(void)
 	       x86_cpuid_vendor_to_str(c->x86_vendor), c->x86, c->x86,
 	       c->x86_model, c->x86_model, c->x86_mask, eax);
 
-	if (c->cpuid_level >= 7)
-		cpuid_count(7, 0, &eax, &ebx,
+	if (c->cpuid_level >= 7) {
+		uint32_t max_subleaf;
+
+		cpuid_count(7, 0, &max_subleaf, &ebx,
 			    &c->x86_capability[FEATURESET_7c0],
 			    &c->x86_capability[FEATURESET_7d0]);
 
+                if (max_subleaf >= 1)
+			cpuid_count(7, 1, &eax, &ebx, &ecx,
+				    &c->x86_capability[FEATURESET_7d1]);
+        }
+
 	eax = cpuid_eax(0x80000000);
 	if ((eax >> 16) == 0x8000 && eax >= 0x80000008) {
 		ebx = eax >= 0x8000001f ? cpuid_ebx(0x8000001f) : 0;
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 566422600d94..e052b7b748fa 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -96,7 +96,7 @@ size_param("highmem-start", highmem_start);
 #endif
 
 #ifdef CONFIG_XEN_SHSTK
-static bool __initdata opt_xen_shstk = true;
+static int8_t __initdata opt_xen_shstk = -1;
 #else
 #define opt_xen_shstk false
 #endif
@@ -1101,9 +1101,40 @@ void __init noreturn __start_xen(unsigned long mbi_p)
     /* Choose shadow stack early, to set infrastructure up appropriately. */
     if ( opt_xen_shstk && boot_cpu_has(X86_FEATURE_CET_SS) )
     {
-        printk("Enabling Supervisor Shadow Stacks\n");
+        /*
+         * Some CPUs suffer from Shadow Stack Fracturing, an issue whereby a
+         * fault/VMExit/etc between setting a Supervisor Busy bit and the
+         * event delivery completing renders the operation non-restartable.
+         * On restart, event delivery will find the Busy bit already set.
+         *
+         * This is a problem on native, but outside of synthetic cases, only
+         * with #MC against a stack access (in which case we're dead anyway).
+         * It is a much bigger problem under virt, because we can VMExit for a
+         * number of legitimate reasons and tickle this bug.
+         *
+         * CPUs with this addressed enumerate CET-SSS to indicate that
+         * supervisor shadow stacks are now safe to use.
+         */
+        bool cpu_has_bug_shstk_fracture =
+            boot_cpu_data.x86_vendor == X86_VENDOR_INTEL &&
+            !boot_cpu_has(X86_FEATURE_CET_SSS);
+
+        /*
+         * On native, assume that Xen won't be impacted by shstk fracturing
+         * problems.  Under virt, be more conservative and disable shstk by
+         * default.
+         */
+        if ( opt_xen_shstk == -1 )
+            opt_xen_shstk =
+                cpu_has_hypervisor ? !cpu_has_bug_shstk_fracture
+                                   : true;
+
+        if ( opt_xen_shstk )
+        {
+            printk("Enabling Supervisor Shadow Stacks\n");
 
-        setup_force_cpu_cap(X86_FEATURE_XEN_SHSTK);
+            setup_force_cpu_cap(X86_FEATURE_XEN_SHSTK);
+        }
     }
 
     if ( opt_xen_ibt && boot_cpu_has(X86_FEATURE_CET_IBT) )
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 7a896f0e2d92..f6a46f62a549 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -290,6 +290,7 @@ XEN_CPUFEATURE(INTEL_PPIN,         12*32+ 0) /*   Protected Processor Inventory
 
 /* Intel-defined CPU features, CPUID level 0x00000007:1.ecx, word 14 */
 /* Intel-defined CPU features, CPUID level 0x00000007:1.edx, word 15 */
+XEN_CPUFEATURE(CET_SSS,            15*32+18) /*   CET Supervisor Shadow Stacks safe to use */
 
 /* Intel-defined CPU features, CPUID level 0x00000007:2.edx, word 13 */
 XEN_CPUFEATURE(INTEL_PSFD,         13*32+ 0) /*A  MSR_SPEC_CTRL.PSFD */
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Sat Dec 31 00:30:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 31 Dec 2022 00:30:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469950.729394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBPlX-0001Tr-CW; Sat, 31 Dec 2022 00:30:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469950.729394; Sat, 31 Dec 2022 00:30:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBPlX-0001Tg-98; Sat, 31 Dec 2022 00:30:23 +0000
Received: by outflank-mailman (input) for mailman id 469950;
 Sat, 31 Dec 2022 00:30:22 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cPaP=45=citrix.com=prvs=3576bb3e1=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pBPlW-0001TX-MT
 for xen-devel@lists.xenproject.org; Sat, 31 Dec 2022 00:30:22 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4cf220cc-88a2-11ed-91b6-6bf2151ebd3b;
 Sat, 31 Dec 2022 01:30:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cf220cc-88a2-11ed-91b6-6bf2151ebd3b
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672446619;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=4Jr6WMkTLkViA/t6hJz3F9sb2wbIUJEomL2S4AmQ8Ms=;
  b=bOsQaPL4YEDBIZqQCpnTyVqKAfHHEDTLrWTWJgniImq7mfyhG5ulohWo
   PtURLSBGny4tAvtlaT/C8S+UwZHBqnRG2XfCIIkRxxW4iFjoVpIzmKGn3
   Dsw1tCfmFd8y/rC21Z5UlGRZf0cJFy0xl9C1qEoyWFE4THXYENpj/pmmg
   o=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 90146726
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:94KyA6iC32qBHn1c75yQ/VrGX161bhAKZh0ujC45NGQN5FlHY01je
 htvUD+Ab62JYTT0fY8laNy0oR8A6JCGzYBkHAdrryBhFiIb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmUpH1QMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWs0N8klgZmP6oS5gSGzyV94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQoD29SVwyNqdvog6uLcrNGjf4qFMLSadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJagx/5JEWxY9EglHWdTFCpU3Tjq0w+2XJlyR60aT3McqTcduPLSlQthfA/
 z6YoD6nav0cHN/EkmCBrEKjuu7Wmg+lQbgvG6Hn69c/1TV/wURMUUZLBDNXu8KRlUqWS99Zb
 UsO9UIGvaU0sUCmUNT5dxm5u2Kf+A4RXcJKFO834x3LzbDbiy67LGUZSj9KaPQ9qdQ7Azct0
 ze0c8jBXGI19ufPEDTEq+nS/Wja1TUpwXEqVQhbEjIZ7ffa/sIqviqVZN1ZGZa+t4igcd3v+
 AyioC87jrQVqMcE0aSn4FzK6w6RSoj1oh0dvVuOAD/8hu9tTMv8PtHztwCHhRpVBNzBJmRtq
 kTojCR3AAomKZiW3BKAT+wWdF1Cz6bUaWaM6bKD8nRIythMx5JBVdoLiN2dDB0zWirhRdMOS
 BG7hO+pzMUPVEZGlIcuC25LN+wkzLL7CfPuXe3OY9xFb/BZLVHYpn00OBTMjzC3zSDAdJ3T3
 r/CK66R4YsyU/w7nFJauc9GuVPU+szO7TyKHs2qp/hW+bGfeGSUWd84Dbd6VchgtPnsiFyMo
 75i2z6il003vBvWPnOGrub+7DkicRAGOHwBg5YGJ7XTflA4SThJ5j246epJRrGJVp99zo/gl
 kxRkGcBoLYjrRUr8Tm3V00=
IronPort-HdrOrdr: A9a23:Ry/xEK/q9q6tFP8cJiluk+D/I+orL9Y04lQ7vn2ZLiYlD/Bw9v
 re5sjzsCWetN9/YhAdcLy7Scu9qArnhPhICPcqTMyftXjd2FdARbsKheffKlvbalTDH8Fmu5
 uIGJIOa+EYY2IK6PoT/WKDfOrJiLG8mpxBz4/lokuEzGpRGsVdB24SMHf9LqWXLDM2faYEKA
 ==
X-IronPort-AV: E=Sophos;i="5.96,288,1665460800"; 
   d="scan'208";a="90146726"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 0/2] x86: Work around Shstk fracturing
Date: Sat, 31 Dec 2022 00:30:05 +0000
Message-ID: <20221231003007.26916-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

See patch 2 for details.

Andrew Cooper (2):
  x86/cpuid: Infrastructure for leaves 7:1{ecx,edx}
  x86/shskt: Disable CET-SS on parts succeptable to fractured updates

 docs/misc/xen-command-line.pandoc           |  7 +++++-
 tools/libs/light/libxl_cpuid.c              |  2 ++
 tools/misc/xen-cpuid.c                      | 11 +++++++++
 xen/arch/x86/cpu/common.c                   | 14 ++++++++---
 xen/arch/x86/setup.c                        | 37 ++++++++++++++++++++++++++---
 xen/include/public/arch-x86/cpufeatureset.h |  4 ++++
 xen/include/xen/lib/x86/cpuid.h             | 15 +++++++++++-
 7 files changed, 82 insertions(+), 8 deletions(-)

-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Sat Dec 31 00:30:33 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 31 Dec 2022 00:30:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469952.729416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBPlZ-0001y9-Sa; Sat, 31 Dec 2022 00:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469952.729416; Sat, 31 Dec 2022 00:30:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBPlZ-0001xy-Os; Sat, 31 Dec 2022 00:30:25 +0000
Received: by outflank-mailman (input) for mailman id 469952;
 Sat, 31 Dec 2022 00:30:24 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cPaP=45=citrix.com=prvs=3576bb3e1=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pBPlY-0001Tf-IL
 for xen-devel@lists.xenproject.org; Sat, 31 Dec 2022 00:30:24 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e3d10c4-88a2-11ed-8fd4-01056ac49cbb;
 Sat, 31 Dec 2022 01:30:21 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e3d10c4-88a2-11ed-8fd4-01056ac49cbb
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1672446621;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=H4aei8fxCJmeHTiWvlRflD56P4is8vavRwFfFPdiM2k=;
  b=CkckY2QgR/zJsXod0NJJMuKJYg6JjTa7xN7KEbhAkgnF7Xm0YIPi026z
   KtKkrbHn/Kdpn/ID85BRyxWH2SNRoMbIeDp9/mEIETSQHTy5GbDBXUfw4
   qAGrJGQ17HLWjW+r51GdCL1qrrSgrBZ9ELKJSHtNfQoYzYu1rgLQaEKAa
   o=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 90146733
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.83
X-Policy: $RELAYED
IronPort-Data: A9a23:uI0LSqM0u8XvmHnvrR2rl8FynXyQoLVcMsEvi/4bfWQNrUpxhWRSy
 TAcWGjVafmMN2T2edh2a4i+pkhT6p+EzdZrSQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQA+KmU4YoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvzrRC9H5qyo4mpC5QRmOZingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0t5pPFNO1
 tECESEAdjaYrM2T+5S3V8A506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w/N3wsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9K4TTGZsKxR3wS
 mTu0GXeLzwDboamkyOdq02Pj76SgAzZYddHfFG/3qEz2wDCroAJMzUJUXOrrP//jVSxM/p9A
 UEJ/islrYAp6VemCNL6WnWQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3PLaXhRzi
 AXPxYmwQ2Uy7vvFEhpx64t4sxuKJxUnLUwvfxYVQBMj+PLMhboVgg/mG4ML/LGOsvX5HjT5w
 javpSc4hqkOgcNj65hX7WwrkBr3+MGXE1ddChH/Gzv8s1gnPNLNi5mAswCz0BpWEGqOorBtV
 lAgktPW0u0BBIrleMelELRUR+HBCxpo3VThbb9T83sJrW/FF52LJ9o4DNRCyKBBbK45lcfBO
 hO7hO+ozMY70IGWRaF2eZmtLM8h0LLtE9/oPtiNMIUUPsIsLlPXrHszDaJ144wKuBF2+ZzTx
 L/BKZr8ZZrkIf8PIMWKqxc1juZwm3FWKZL7TpHn1RW3uYejiIquYe5dajOmN7lphJ5oVS2Jq
 76zwePWkUQAOAA/CwGLmbMuwacidylqXsCq8ZIGL4Zu4GNOQQkcNhMY+pt5E6QNokifvr2gE
 q2VMqOA9GfCuA==
IronPort-HdrOrdr: A9a23:XCjnkKioi15Ys+BqMYs39cmDzHBQXv0ji2hC6mlwRA09TyX+rb
 HSoB17726PtN91YhodcL+7WZVoLUmsl6KdmLNhW4tKIjOWw1dAXbsD0WKK+VSJdxEWkNQtrJ
 uIXJIRNDSaNykYsS+V2njcLz48q+PpzEjh7d21858mJTsGV0nghD0JbjpyeydNNW577XpQLu
 vl2vZ6
X-IronPort-AV: E=Sophos;i="5.96,288,1665460800"; 
   d="scan'208";a="90146733"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 1/2] x86/cpuid: Infrastructure for leaves 7:1{ecx,edx}
Date: Sat, 31 Dec 2022 00:30:06 +0000
Message-ID: <20221231003007.26916-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20221231003007.26916-1-andrew.cooper3@citrix.com>
References: <20221231003007.26916-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

We don't actually need ecx yet, but adding it in now will reduce the amount to
which leaf 7 is out of order in a featureset.

cpufeatureset.h remains in leaf architectrual order for the sanity of anyone
trying to locate where to insert new rows.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/misc/xen-cpuid.c                      | 10 ++++++++++
 xen/arch/x86/cpu/common.c                   |  3 ++-
 xen/include/public/arch-x86/cpufeatureset.h |  3 +++
 xen/include/xen/lib/x86/cpuid.h             | 15 ++++++++++++++-
 4 files changed, 29 insertions(+), 2 deletions(-)

diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index d5833e9ce879..0091a11a67bc 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -202,6 +202,14 @@ static const char *const str_7b1[32] =
     [ 0] = "ppin",
 };
 
+static const char *const str_7c1[32] =
+{
+};
+
+static const char *const str_7d1[32] =
+{
+};
+
 static const char *const str_7d2[32] =
 {
     [ 0] = "intel-psfd",
@@ -229,6 +237,8 @@ static const struct {
     { "0x80000021.eax",  "e21a", str_e21a },
     { "0x00000007:1.ebx", "7b1", str_7b1 },
     { "0x00000007:2.edx", "7d2", str_7d2 },
+    { "0x00000007:1.ecx", "7b1", str_7c1 },
+    { "0x00000007:1.edx", "7b1", str_7d1 },
 };
 
 #define COL_ALIGN "18"
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 0412dbc915e5..b3fcf4680f3a 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -450,7 +450,8 @@ static void generic_identify(struct cpuinfo_x86 *c)
 			cpuid_count(7, 1,
 				    &c->x86_capability[FEATURESET_7a1],
 				    &c->x86_capability[FEATURESET_7b1],
-				    &tmp, &tmp);
+				    &c->x86_capability[FEATURESET_7c1],
+				    &c->x86_capability[FEATURESET_7d1]);
 		if (max_subleaf >= 2)
 			cpuid_count(7, 2,
 				    &tmp, &tmp, &tmp,
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 7915f5826f57..7a896f0e2d92 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -288,6 +288,9 @@ XEN_CPUFEATURE(NSCB,               11*32+ 6) /*A  Null Selector Clears Base (and
 /* Intel-defined CPU features, CPUID level 0x00000007:1.ebx, word 12 */
 XEN_CPUFEATURE(INTEL_PPIN,         12*32+ 0) /*   Protected Processor Inventory Number */
 
+/* Intel-defined CPU features, CPUID level 0x00000007:1.ecx, word 14 */
+/* Intel-defined CPU features, CPUID level 0x00000007:1.edx, word 15 */
+
 /* Intel-defined CPU features, CPUID level 0x00000007:2.edx, word 13 */
 XEN_CPUFEATURE(INTEL_PSFD,         13*32+ 0) /*A  MSR_SPEC_CTRL.PSFD */
 XEN_CPUFEATURE(IPRED_CTRL,         13*32+ 1) /*   MSR_SPEC_CTRL.IPRED_DIS_* */
diff --git a/xen/include/xen/lib/x86/cpuid.h b/xen/include/xen/lib/x86/cpuid.h
index 73a5c330365e..fa98b371eef4 100644
--- a/xen/include/xen/lib/x86/cpuid.h
+++ b/xen/include/xen/lib/x86/cpuid.h
@@ -18,6 +18,8 @@
 #define FEATURESET_e21a  11 /* 0x80000021.eax      */
 #define FEATURESET_7b1   12 /* 0x00000007:1.ebx    */
 #define FEATURESET_7d2   13 /* 0x00000007:2.edx    */
+#define FEATURESET_7c1   14 /* 0x00000007:1.ecx    */
+#define FEATURESET_7d1   15 /* 0x00000007:1.edx    */
 
 struct cpuid_leaf
 {
@@ -194,7 +196,14 @@ struct cpuid_policy
                 uint32_t _7b1;
                 struct { DECL_BITFIELD(7b1); };
             };
-            uint32_t /* c */:32, /* d */:32;
+            union {
+                uint32_t _7c1;
+                struct { DECL_BITFIELD(7c1); };
+            };
+            union {
+                uint32_t _7d1;
+                struct { DECL_BITFIELD(7d1); };
+            };
 
             /* Subleaf 2. */
             uint32_t /* a */:32, /* b */:32, /* c */:32;
@@ -343,6 +352,8 @@ static inline void cpuid_policy_to_featureset(
     fs[FEATURESET_e21a] = p->extd.e21a;
     fs[FEATURESET_7b1] = p->feat._7b1;
     fs[FEATURESET_7d2] = p->feat._7d2;
+    fs[FEATURESET_7c1] = p->feat._7c1;
+    fs[FEATURESET_7d1] = p->feat._7d1;
 }
 
 /* Fill in a CPUID policy from a featureset bitmap. */
@@ -363,6 +374,8 @@ static inline void cpuid_featureset_to_policy(
     p->extd.e21a  = fs[FEATURESET_e21a];
     p->feat._7b1  = fs[FEATURESET_7b1];
     p->feat._7d2  = fs[FEATURESET_7d2];
+    p->feat._7c1  = fs[FEATURESET_7c1];
+    p->feat._7d1  = fs[FEATURESET_7d1];
 }
 
 static inline uint64_t cpuid_policy_xcr0_max(const struct cpuid_policy *p)
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Sat Dec 31 05:55:43 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 31 Dec 2022 05:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469976.729427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBUq3-0002F2-Hm; Sat, 31 Dec 2022 05:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469976.729427; Sat, 31 Dec 2022 05:55:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBUq3-0002Ev-EA; Sat, 31 Dec 2022 05:55:23 +0000
Received: by outflank-mailman (input) for mailman id 469976;
 Sat, 31 Dec 2022 05:55:21 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBUq1-0002El-HR; Sat, 31 Dec 2022 05:55:21 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBUq1-0004QL-Ej; Sat, 31 Dec 2022 05:55:21 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBUq0-0006h9-RV; Sat, 31 Dec 2022 05:55:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pBUq0-0001YZ-Qr; Sat, 31 Dec 2022 05:55:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+pJ7+jDvE+We+488JBnddbnLnQWyEJHOC95ISKABVMY=; b=2MMaY0bcPZjRD24qinAHuqyirp
	dJYaOKQrkifDiowlH+5dY4wKKpKmH1sMCvnFtAlNU2CPj9H23lVVv6sb83+IEMUaRqBKZhk520VuC
	A4hUAYyWZKNh/WGOPGrzmOHn/LKNw4ynZICSuuODYq4Dc0SnT2Ww9KIY4GVFMQVEWXhY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175532-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175532: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c8451c141e07a8d05693f6c8d0e418fbb4b68bb7
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 31 Dec 2022 05:55:20 +0000

flight 175532 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175532/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                c8451c141e07a8d05693f6c8d0e418fbb4b68bb7
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   84 days
Failing since        173470  2022-10-08 06:21:34 Z   83 days  172 attempts
Testing same since   175532  2022-12-30 20:43:08 Z    0 days    1 attempts

------------------------------------------------------------
3252 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 496156 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 31 06:36:11 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 31 Dec 2022 06:36:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.469987.729438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBVTP-0006c7-Qn; Sat, 31 Dec 2022 06:36:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 469987.729438; Sat, 31 Dec 2022 06:36:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBVTP-0006c0-Lx; Sat, 31 Dec 2022 06:36:03 +0000
Received: by outflank-mailman (input) for mailman id 469987;
 Sat, 31 Dec 2022 06:36:03 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBVTP-0006bq-3X; Sat, 31 Dec 2022 06:36:03 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBVTO-0005Kw-UP; Sat, 31 Dec 2022 06:36:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBVTO-0001KT-HB; Sat, 31 Dec 2022 06:36:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pBVTO-0004Cq-Gc; Sat, 31 Dec 2022 06:36:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8asfwpifgDNgLgUkRklnpir4MZE/VsGUY+3RSQwl3+0=; b=Tn7qoA8+j9ZDCPgz4ghQTiIjKy
	CcObsUEljTOdumvbPbIMVOZWWCmIUZKMq/r+0Y9hv1mWKW61Gs8aAOevhEA1kGSchdOob/pdI7ORz
	fTURM1DaP+AGtRcaCSXAIX0kg8bbHPhqWbwrLcBP/qNzkQtRtOtOR/crYPKGb0Wr6Lz8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175533-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175533: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:build-armhf-pvops:<job status>:broken:regression
    linux-5.4:build-armhf-pvops:host-install(4):broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl:guest-start.2:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 31 Dec 2022 06:36:02 +0000

flight 175533 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175533/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 build-armhf-pvops               <job status>                 broken  in 175531
 build-armhf-pvops          4 host-install(4) broken in 175531 REGR. vs. 175197

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175533
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175533
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175533
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175533
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 175524 pass in 175407
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 175524 pass in 175533
 test-arm64-arm64-xl-vhd 17 guest-start/debian.repeat fail in 175524 pass in 175533
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail in 175528 pass in 175533
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 175528 pass in 175533
 test-armhf-armhf-xl-credit2  14 guest-start      fail in 175528 pass in 175533
 test-armhf-armhf-xl          19 guest-start.2    fail in 175528 pass in 175533
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 175528 pass in 175533
 test-armhf-armhf-xl-vhd 17 guest-start/debian.repeat fail in 175528 pass in 175533
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail in 175531 pass in 175533
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 175531 pass in 175533
 test-armhf-armhf-xl-credit1  14 guest-start                fail pass in 175524
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 175528
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat  fail pass in 175531

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-examine      1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-libvirt      1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)         blocked in 175531 n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-xl           1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)         blocked in 175531 n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)          blocked in 175531 n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 175524 blocked in 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 175524 like 175197
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 175524 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 175524 never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 175524 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 175524 never pass
 test-armhf-armhf-xl-arndale 18 guest-start/debian.repeat fail in 175528 blocked in 175197
 test-armhf-armhf-libvirt-qcow2 13 guest-start       fail in 175528 like 175197
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   16 days
Testing same since   175407  2022-12-19 11:42:26 Z   11 days   27 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job build-armhf-pvops broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 31 08:58:56 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 31 Dec 2022 08:58:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.470000.729449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBXhS-0003n8-4E; Sat, 31 Dec 2022 08:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 470000.729449; Sat, 31 Dec 2022 08:58:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBXhS-0003n1-14; Sat, 31 Dec 2022 08:58:42 +0000
Received: by outflank-mailman (input) for mailman id 470000;
 Sat, 31 Dec 2022 08:58:40 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBXhQ-0003mr-Ju; Sat, 31 Dec 2022 08:58:40 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBXhQ-0000Ya-GN; Sat, 31 Dec 2022 08:58:40 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBXhP-0007bG-S9; Sat, 31 Dec 2022 08:58:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pBXhP-0000ww-Rf; Sat, 31 Dec 2022 08:58:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=05Afy34iet0sn65AJArI8hrXNaY7ZnIIV97I6eirt5A=; b=ikVcj7dvSD/EJcPjRqOTmcZtfp
	ijkifnNrOx5CD3UIR90DKYSMg88XBvwkkgnYMlCYAnlJCn0MMXGI7Ywuc34jZbJ0VSiyfBUY1RORI
	Vi6dkTEyYAlML/MK6T8Iekt7hHULuUFK11EVEcC0JpeaKmGEvKruNdmx5rxdpFojA7/U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175534-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 175534: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-shadow:guest-start.2:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7eef80e06ed2282bbcec3619d860c6aacb0515d8
X-Osstest-Versions-That:
    xen=7eef80e06ed2282bbcec3619d860c6aacb0515d8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 31 Dec 2022 08:58:39 +0000

flight 175534 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175534/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-shadow    23 guest-start.2    fail in 175526 pass in 175534
 test-amd64-i386-xl-qemuu-ws16-amd64 12 windows-install     fail pass in 175526

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop   fail in 175526 like 175520
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175526
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175526
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175526
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175526
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175526
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175526
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175526
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 175526
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175526
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175526
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175526
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  7eef80e06ed2282bbcec3619d860c6aacb0515d8
baseline version:
 xen                  7eef80e06ed2282bbcec3619d860c6aacb0515d8

Last test of basis   175534  2022-12-31 01:53:42 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-xtf-amd64-amd64-1                                       pass    
 test-xtf-amd64-amd64-2                                       pass    
 test-xtf-amd64-amd64-3                                       pass    
 test-xtf-amd64-amd64-4                                       pass    
 test-xtf-amd64-amd64-5                                       pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Dec 31 11:08:54 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 31 Dec 2022 11:08:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.470011.729459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBZjB-0007xa-J7; Sat, 31 Dec 2022 11:08:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 470011.729459; Sat, 31 Dec 2022 11:08:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBZjB-0007xT-GM; Sat, 31 Dec 2022 11:08:37 +0000
Received: by outflank-mailman (input) for mailman id 470011;
 Sat, 31 Dec 2022 11:08:36 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBZjA-0007xJ-6F; Sat, 31 Dec 2022 11:08:36 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBZjA-0003RF-4D; Sat, 31 Dec 2022 11:08:36 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBZj9-0006Zq-MG; Sat, 31 Dec 2022 11:08:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pBZj9-0005fW-Lk; Sat, 31 Dec 2022 11:08:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ySKN2C5g6MSOgbsKp5O2LouK8V2iNNJy/YLoWn2VTn8=; b=5ZjYt5/UGXTCEliE301Rc+yZhO
	rp2cknbVnZJMpgZaSCIlZZAxsQLdweF0Ev1GU02jwxXvD6tvnfAca3X9rMel3cCvpHJxWVHy8H38+
	8FqRfuinQb97gVRaKI5o6mxCw+B+TSoYI965z8jnN6SIprFfholIWHJzjy1jxkTY9StA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175535-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175535: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-seattle:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c8451c141e07a8d05693f6c8d0e418fbb4b68bb7
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 31 Dec 2022 11:08:35 +0000

flight 175535 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175535/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-seattle   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                c8451c141e07a8d05693f6c8d0e418fbb4b68bb7
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   84 days
Failing since        173470  2022-10-08 06:21:34 Z   84 days  173 attempts
Testing same since   175532  2022-12-30 20:43:08 Z    0 days    2 attempts

------------------------------------------------------------
3252 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 496156 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 31 14:39:47 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 31 Dec 2022 14:39:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.470023.729471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBd1I-0002x4-MP; Sat, 31 Dec 2022 14:39:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 470023.729471; Sat, 31 Dec 2022 14:39:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBd1I-0002wx-J7; Sat, 31 Dec 2022 14:39:32 +0000
Received: by outflank-mailman (input) for mailman id 470023;
 Sat, 31 Dec 2022 14:39:32 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBd1I-0002wn-1T; Sat, 31 Dec 2022 14:39:32 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBd1H-0008Gj-U3; Sat, 31 Dec 2022 14:39:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBd1H-00045v-GO; Sat, 31 Dec 2022 14:39:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pBd1H-0000p7-FY; Sat, 31 Dec 2022 14:39:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sfmp39FGChr5CCs/Hu3ohtYfuPlAhyyjI9I6jFuJHio=; b=nxpcceIJrID/SaX6G7GblesdvG
	LMjbN2eKON5yPqGeuaDaI7vqhFIhIk7QjYvI7AV7IlWAMl8V+cO9GHF10vAYcmdYgp0RciIjJCbA5
	I+cmW3hq2opFnfPU2hb8Hnn7kYXxw1lYwil7XwDsQeU5j5griMnS6wPO7nXBJF8JqfJA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175536-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175536: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:build-armhf-pvops:<job status>:broken:regression
    linux-5.4:build-armhf-pvops:host-install(4):broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl:guest-start.2:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start.2:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 31 Dec 2022 14:39:31 +0000

flight 175536 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175536/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 build-armhf-pvops               <job status>                 broken  in 175531
 build-armhf-pvops          4 host-install(4) broken in 175531 REGR. vs. 175197

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175536
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175536
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175536
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175536
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 175524 pass in 175407
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 175524 pass in 175536
 test-arm64-arm64-xl-vhd 17 guest-start/debian.repeat fail in 175524 pass in 175536
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 175524 pass in 175536
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail in 175528 pass in 175536
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 175528 pass in 175536
 test-armhf-armhf-xl-credit2  14 guest-start      fail in 175528 pass in 175536
 test-armhf-armhf-xl          19 guest-start.2    fail in 175528 pass in 175536
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 175528 pass in 175536
 test-armhf-armhf-xl-vhd 17 guest-start/debian.repeat fail in 175528 pass in 175536
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 7 xen-install fail in 175531 pass in 175536
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 175531 pass in 175536
 test-armhf-armhf-xl-credit1  14 guest-start                fail pass in 175524
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 175528
 test-amd64-amd64-libvirt-vhd 20 guest-start.2              fail pass in 175531

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-rtds      1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)          blocked in 175531 n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)         blocked in 175531 n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-examine      1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-libvirt      1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)         blocked in 175531 n/a
 test-armhf-armhf-xl           1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)           blocked in 175531 n/a
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 175197
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 175524 blocked in 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 175524 like 175197
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 175524 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 175524 never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 175524 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 175524 never pass
 test-armhf-armhf-xl-arndale 18 guest-start/debian.repeat fail in 175528 blocked in 175197
 test-armhf-armhf-libvirt-qcow2 13 guest-start       fail in 175528 like 175197
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   17 days
Testing same since   175407  2022-12-19 11:42:26 Z   12 days   28 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-amd64-xl-credit2 broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job build-armhf-pvops broken

Not pushing.

(No revision log; it would be 410 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 31 19:33:25 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 31 Dec 2022 19:33:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.470035.729482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBhbT-00079p-8s; Sat, 31 Dec 2022 19:33:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 470035.729482; Sat, 31 Dec 2022 19:33:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBhbT-00079i-5H; Sat, 31 Dec 2022 19:33:11 +0000
Received: by outflank-mailman (input) for mailman id 470035;
 Sat, 31 Dec 2022 19:33:09 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBhbR-00079Y-Jg; Sat, 31 Dec 2022 19:33:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBhbR-0007E1-H6; Sat, 31 Dec 2022 19:33:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBhbR-0007zp-1z; Sat, 31 Dec 2022 19:33:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pBhbR-0006iK-01; Sat, 31 Dec 2022 19:33:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=4pbnmXhks7pM3hw2WiygQ7PcxfPDPnaR9ILH6s9BMDE=; b=4vVzvut3WCc3MgAmZxEkmQQuLc
	TDr5uOpS87fDzJRqv+hcSICoGD6UfH9AJWCl+SCKmG00KAjGzd3gNkqeAX7xe5OPO9RccStgTOh26
	O1cuQ+uStZO4shl2FdTCmcjBGMDc9ccu3vNEoZU/acC6qJR9mcsDrkEH4Pl5J5WT96rw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175537-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 175537: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-seattle:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit1:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-credit2:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c8451c141e07a8d05693f6c8d0e418fbb4b68bb7
X-Osstest-Versions-That:
    linux=9d84bb40bcb30a7fa16f33baa967aeb9953dda78
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 31 Dec 2022 19:33:09 +0000

flight 175537 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175537/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 173462
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 173462
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 173462
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 173462
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 173462
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 173462
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 173462
 test-arm64-arm64-xl-seattle   8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-multivcpu  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 173462
 test-armhf-armhf-libvirt-raw  8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 173462
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 173462
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 173462
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 173462
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 173462
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 173462
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 173462
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 173462
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-examine      8 reboot                   fail REGR. vs. 173462
 test-armhf-armhf-xl-credit1   8 xen-boot                 fail REGR. vs. 173462
 test-armhf-armhf-xl-credit2   8 xen-boot                 fail REGR. vs. 173462

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds      8 xen-boot                 fail REGR. vs. 173462
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 173462

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                c8451c141e07a8d05693f6c8d0e418fbb4b68bb7
baseline version:
 linux                9d84bb40bcb30a7fa16f33baa967aeb9953dda78

Last test of basis   173462  2022-10-07 18:41:45 Z   85 days
Failing since        173470  2022-10-08 06:21:34 Z   84 days  174 attempts
Testing same since   175532  2022-12-30 20:43:08 Z    0 days    3 attempts

------------------------------------------------------------
3252 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          fail    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-armhf-armhf-xl-arndale                                  fail    
 test-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  fail    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     fail    
 test-armhf-armhf-examine                                     fail    
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     fail    
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                fail    
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 496156 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Dec 31 22:06:31 2022
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 31 Dec 2022 22:06:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.470048.729492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBjzb-0004tC-8n; Sat, 31 Dec 2022 22:06:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 470048.729492; Sat, 31 Dec 2022 22:06:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pBjzb-0004t5-5W; Sat, 31 Dec 2022 22:06:15 +0000
Received: by outflank-mailman (input) for mailman id 470048;
 Sat, 31 Dec 2022 22:06:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBjza-0004sv-F7; Sat, 31 Dec 2022 22:06:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBjza-0002Dw-BW; Sat, 31 Dec 2022 22:06:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pBjzZ-0003x6-Tm; Sat, 31 Dec 2022 22:06:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pBjzZ-00034q-TM; Sat, 31 Dec 2022 22:06:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=T+YEqt54U0ITJdYa1v732g3gq0Cqqfez4TlEm24L5/k=; b=CfJfDQxeENMVOy9GpyprsHDj5Z
	lUEqB+5MDB3iXy5Z0FRkRqUScpx+5uDfqLImgOj6Nm5sv1aDAKpeyqx0iKN7LS8Mu5I0klxbW+a49
	vIDHaiWLtuhTlAVHkyI5QjB5wkY2TXA5YfStnYL21KgfSPOCkt1Asw4h8Ioe1V4dYghg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-175538-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 175538: FAIL
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:<job status>:broken:regression
    linux-5.4:test-amd64-amd64-xl-credit2:<job status>:broken:regression
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-credit2:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-intel:host-install(5):broken:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start.2:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-amd64-i386-pair:xen-install/src_host:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start.2:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-seattle:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=851c2b5fb7936d54e1147f76f88e2675f9f82b52
X-Osstest-Versions-That:
    linux=66bb2e2b24ce52819a7070d3a3255726cb946b69
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 31 Dec 2022 22:06:13 +0000

flight 175538 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/175538/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-qemuu-rhel6hvm-intel    <job status>          broken in 175407
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>     broken in 175407
 test-amd64-i386-xl-qemuu-ws16-amd64    <job status>           broken in 175407
 test-amd64-amd64-xl-credit2     <job status>                 broken  in 175407

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ws16-amd64 5 host-install(5) broken in 175407 pass in 175538
 test-amd64-amd64-xl-credit2  5 host-install(5) broken in 175407 pass in 175538
 test-amd64-i386-qemuu-rhel6hvm-intel 5 host-install(5) broken in 175407 pass in 175538
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken in 175407 pass in 175538
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 175524 pass in 175407
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 175524 pass in 175538
 test-arm64-arm64-xl-vhd 17 guest-start/debian.repeat fail in 175524 pass in 175538
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 175524 pass in 175538
 test-armhf-armhf-xl-multivcpu 14 guest-start     fail in 175536 pass in 175538
 test-amd64-amd64-libvirt-vhd 20 guest-start.2    fail in 175536 pass in 175538
 test-armhf-armhf-xl-credit1  14 guest-start                fail pass in 175524
 test-amd64-i386-pair         10 xen-install/src_host       fail pass in 175536
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 175536

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 175407 like 175197
 test-armhf-armhf-xl-credit2  19 guest-start.2 fail in 175524 blocked in 175197
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 175524 like 175197
 test-armhf-armhf-xl-credit1 15 migrate-support-check fail in 175524 never pass
 test-armhf-armhf-xl-credit1 16 saverestore-support-check fail in 175524 never pass
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 175536 blocked in 175197
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 175536 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175197
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175197
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175197
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 175197
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-xl-rtds     18 guest-start/debian.repeat    fail  like 175197
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 175197
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175197
 test-armhf-armhf-libvirt-qcow2 13 guest-start                 fail like 175197
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-seattle  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-seattle  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-cubietruck 15 migrate-support-check        fail never pass
 test-armhf-armhf-xl-cubietruck 16 saverestore-support-check    fail never pass

version targeted for testing:
 linux                851c2b5fb7936d54e1147f76f88e2675f9f82b52
baseline version:
 linux                66bb2e2b24ce52819a7070d3a3255726cb946b69

Last test of basis   175197  2022-12-14 10:43:17 Z   17 days
Testing same since   175407  2022-12-19 11:42:26 Z   12 days   29 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexei Starovoitov <ast@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Baolin Wang <baolin.wang@linux.alibaba.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Schocher <hs@denx.de>
  Hulk Robot <hulkrobot@huawei.com>
  Jakub Kicinski <kuba@kernel.org>
  Jialiang Wang <wangjialiang0806@163.com>
  Jon Hunter <jonathanh@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenzo Colitti <lorenzo@google.com>
  Maciej Żenczykowski <maze@google.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Ming Lei <ming.lei@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Ricardo Ribalda <ribalda@chromium.org>
  Samuel Mendoza-Jonas <samjonas@amazon.com>
  Sasha Levin <sashal@kernel.org>
  Shiwei Cui <cuishw@inspur.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Yasushi SHOJI <yashi@spacecubics.com>
  Yasushi SHOJI <yasushi.shoji@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-armhf-armhf-xl-arndale                                  pass    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  fail    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  pass    
 test-armhf-armhf-xl-cubietruck                               pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     pass    
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                pass    
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     fail    
 test-arm64-arm64-xl-seattle                                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      pass    
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary

broken-job test-amd64-i386-qemuu-rhel6hvm-intel broken
broken-job test-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-job test-amd64-i386-xl-qemuu-ws16-amd64 broken
broken-job test-amd64-amd64-xl-credit2 broken

Not pushing.

(No revision log; it would be 410 lines long.)


